From 46e33887c4cbed922cfb0d06c2d9ad19f2b215d0 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Thu, 8 Oct 2015 14:32:49 +0900 Subject: [PATCH 01/82] Ensure only one client can connect when `--once` is given Using a mutex --- app/app.go | 19 +++++++++++++++++++ app/client_context.go | 7 ------- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/app/app.go b/app/app.go index 6ed108c..04142a2 100644 --- a/app/app.go +++ b/app/app.go @@ -25,6 +25,7 @@ import ( "github.com/gorilla/websocket" "github.com/hashicorp/hcl" "github.com/kr/pty" + "github.com/yudai/umutex" ) type InitMessage struct { @@ -40,6 +41,8 @@ type App struct { server *manners.GracefulServer titleTemplate *template.Template + + onceMutex *umutex.UnblockingMutex } type Options struct { @@ -104,6 +107,8 @@ func New(command []string, options *Options) (*App, error) { }, titleTemplate: titleTemplate, + + onceMutex: umutex.New(), }, nil } @@ -314,6 +319,20 @@ func (app *App) handleWS(w http.ResponseWriter, r *http.Request) { argv = append(argv, params...) } } + + app.server.StartRoutine() + + if app.options.Once { + if app.onceMutex.TryLock() { // no unlock required, it will die soon + log.Printf("Last client accepted, closing the listener.") + app.server.Close() + } else { + log.Printf("Server is already closing.") + conn.Close() + return + } + } + cmd := exec.Command(app.command[0], argv...) ptyIo, err := pty.Start(cmd) if err != nil { diff --git a/app/client_context.go b/app/client_context.go index ca38d23..38188e4 100644 --- a/app/client_context.go +++ b/app/client_context.go @@ -65,13 +65,6 @@ func (context *clientContext) goHandleClient() { context.processReceive() }() - context.app.server.StartRoutine() - - if context.app.options.Once { - log.Printf("Last client accepted, closing the listener.") - context.app.server.Close() - } - go func() { defer context.app.server.FinishRoutine() From f72b18052abb4394fa8db48006dd2a923e76b45a Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Thu, 8 Oct 2015 14:40:20 +0900 Subject: [PATCH 02/82] Simplify title format output procedure --- Godeps/Godeps.json | 4 +- .../yudai/{utf8reader => umutex}/LICENSE | 0 .../src/github.com/yudai/umutex/README.md | 53 ++++++++++ .../src/github.com/yudai/umutex/umutex.go | 38 ++++++++ .../github.com/yudai/umutex/umutex_test.go | 50 ++++++++++ .../src/github.com/yudai/utf8reader/README.md | 69 ------------- .../github.com/yudai/utf8reader/utf8reader.go | 56 ----------- .../yudai/utf8reader/utf8reader_test.go | 97 ------------------- app/client_context.go | 12 +-- 9 files changed, 147 insertions(+), 232 deletions(-) rename Godeps/_workspace/src/github.com/yudai/{utf8reader => umutex}/LICENSE (100%) create mode 100644 Godeps/_workspace/src/github.com/yudai/umutex/README.md create mode 100644 Godeps/_workspace/src/github.com/yudai/umutex/umutex.go create mode 100644 Godeps/_workspace/src/github.com/yudai/umutex/umutex_test.go delete mode 100644 Godeps/_workspace/src/github.com/yudai/utf8reader/README.md delete mode 100644 Godeps/_workspace/src/github.com/yudai/utf8reader/utf8reader.go delete mode 100644 Godeps/_workspace/src/github.com/yudai/utf8reader/utf8reader_test.go diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 4233934..4f470b4 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -38,8 +38,8 @@ "Rev": "5cf931ef8f76dccd0910001d74a58a7fca84a83d" }, { - "ImportPath": "github.com/yudai/utf8reader", - "Rev": "0ccad3e5e2d8dc2493179319c4c8d1172f583ea4" + "ImportPath": "github.com/yudai/umutex", + "Rev": "18216d265c6bc72c3bb0ad9c8103d47d530b7003" } ] } diff --git a/Godeps/_workspace/src/github.com/yudai/utf8reader/LICENSE b/Godeps/_workspace/src/github.com/yudai/umutex/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/yudai/utf8reader/LICENSE rename to Godeps/_workspace/src/github.com/yudai/umutex/LICENSE diff --git a/Godeps/_workspace/src/github.com/yudai/umutex/README.md b/Godeps/_workspace/src/github.com/yudai/umutex/README.md new file mode 100644 index 0000000..e307341 --- /dev/null +++ b/Godeps/_workspace/src/github.com/yudai/umutex/README.md @@ -0,0 +1,53 @@ +# Unblocking Mutex + +This simple package provides unblocking mutexes for those who don't want to write many `select` clauses or get confused by numerous channels. + +## Usage Example + +```go +package main + +import ( + "fmt" + "github.com/yudai/umutex" +) + +func main() { + // Create mutex + mutex := umutex.New() + + // First time, try should succeed + if mutex.TryLock() { + fmt.Println("SUCCESS") + } else { + fmt.Println("FAILURE") + } + + // Second time, try should fail as it's locked + if mutex.TryLock() { + fmt.Println("SUCCESS") + } else { + fmt.Println("FAILURE") + } + + // Unclock mutex + mutex.Unlock() + + // Third time, try should succeed again + if mutex.TryLock() { + fmt.Println("SUCCESS") + } else { + fmt.Println("FAILURE") + } +} +``` + +The output is; + +```sh +SUCCESS +FAILURE +SUCCESS +``` + +`ForceLock()` method is also availale for normal blocking lock. diff --git a/Godeps/_workspace/src/github.com/yudai/umutex/umutex.go b/Godeps/_workspace/src/github.com/yudai/umutex/umutex.go new file mode 100644 index 0000000..3883c07 --- /dev/null +++ b/Godeps/_workspace/src/github.com/yudai/umutex/umutex.go @@ -0,0 +1,38 @@ +// Package umutex provides unblocking mutex +package umutex + +// UnblockingMutex represents an unblocking mutex. +type UnblockingMutex struct { + // Raw channel + C chan bool +} + +// New returnes a new unblocking mutex instance. +func New() *UnblockingMutex { + return &UnblockingMutex{ + C: make(chan bool, 1), + } +} + +// TryLock tries to lock the mutex. +// When the mutex is free at the time, the function locks the mutex and return +// true. Otherwise false will be returned. In the both cases, this function +// doens't block and return the result immediately. +func (m UnblockingMutex) TryLock() (result bool) { + select { + case m.C <- true: + return true + default: + return false + } +} + +// Unlock unclocks the mutex. +func (m UnblockingMutex) Unlock() { + <-m.C +} + +// ForceLock surely locks the mutex, however, this function blocks when the mutex is locked at the time. +func (m UnblockingMutex) ForceLock() { + m.C <- false +} diff --git a/Godeps/_workspace/src/github.com/yudai/umutex/umutex_test.go b/Godeps/_workspace/src/github.com/yudai/umutex/umutex_test.go new file mode 100644 index 0000000..c3b7f65 --- /dev/null +++ b/Godeps/_workspace/src/github.com/yudai/umutex/umutex_test.go @@ -0,0 +1,50 @@ +package umutex + +import ( + "sync" + "testing" +) + +func TestTryLock(t *testing.T) { + var result bool + + mutex := New() + + result = mutex.TryLock() + if result != true { + t.Error() + } + + result = mutex.TryLock() + if result != false { + t.Error() + } + + mutex.Unlock() + + result = mutex.TryLock() + if result != true { + t.Error() + } +} + +func TestForceLock(t *testing.T) { + var result bool + + mutex := New() + + result = mutex.TryLock() + if result != true { + t.Error() + } + + var wg sync.WaitGroup + wg.Add(1) + go func() { + defer wg.Done() + mutex.ForceLock() + }() + + mutex.Unlock() + wg.Wait() +} diff --git a/Godeps/_workspace/src/github.com/yudai/utf8reader/README.md b/Godeps/_workspace/src/github.com/yudai/utf8reader/README.md deleted file mode 100644 index 8cd2a26..0000000 --- a/Godeps/_workspace/src/github.com/yudai/utf8reader/README.md +++ /dev/null @@ -1,69 +0,0 @@ -# UTF8Reader for Go - -UTF8Reader is a simple wrapper Reader that fills the given buffer with a "tail-safe" UTF8 byte sequence. - -## Tail-Safe? - -Let's say you have a buffer of 7 bytes and your Reader is going to fill your buffer with a UTF8 byte sequence. - -```go -buf := make([]byte, 7) -reader := strings.NewReader("いろは") - -reader.Read(buf) -``` - -The byte length of UTF8 characters is not fixed and some characters like the examples above have 3 byte length. There are others which have a single byte, 2 byte and 4 byte length as well. This means your buffer will be sometimes filled with incomplete bytes as an Unicode character at the tail. - -By `reader.Read(buf)`, your `buf` will be like below: - -```go -[]byte{ - // い - byte(0xe3), // 1 - byte(0x81), // 2 - byte(0x84), // 3 - // ろ - byte(0xe3), // 4 - byte(0x82), // 5 - byte(0x8d), // 6 - // は (incomplete) - byte(0xe3), // 7 -} -``` - -The last character `は` is incomplete and the buffer is now invalid as a UTF8 string. - -UTF8Reader detects incomplete bytes like above and aborts filling up the buffer in such cases. - -```go -buf := make([]byte, 7) -reader := strings.NewReader("いろは") -utfReader := utf8reader.New(reader) - -utfReader.Read(buf) -``` - -Then you will get: - -```go -[]byte{ - // い - byte(0xe3), // 1 - byte(0x81), // 2 - byte(0x84), // 3 - // ろ - byte(0xe3), // 4 - byte(0x82), // 5 - byte(0x8d), // 6 -} -``` -Of course, bytes left behind will be used to fill up the buffer on next `Read()`. - -## Note - -UTF8Reader just checks incomplete bytes at the tail of the buffer. Even if the original byte sequence given to UTF8Reader is broken, UTF8Reader reports no errors and just fills up the buffer. - -## License - -The MIT License diff --git a/Godeps/_workspace/src/github.com/yudai/utf8reader/utf8reader.go b/Godeps/_workspace/src/github.com/yudai/utf8reader/utf8reader.go deleted file mode 100644 index 745edbc..0000000 --- a/Godeps/_workspace/src/github.com/yudai/utf8reader/utf8reader.go +++ /dev/null @@ -1,56 +0,0 @@ -package utf8reader - -import ( - "bytes" - "errors" - "io" - "unicode/utf8" -) - -var SmallBufferError = errors.New("Buffer size must be larger than utf8.UTFMax.") - -type UTF8Reader struct { - reader io.Reader - buffer *bytes.Buffer -} - -func New(reader io.Reader) *UTF8Reader { - return &UTF8Reader{ - reader: reader, - buffer: bytes.NewBuffer(make([]byte, 0)), - } -} - -func (r *UTF8Reader) Read(p []byte) (n int, err error) { - size := 0 - - if cap(p) < utf8.UTFMax { - return size, SmallBufferError - } - - if r.buffer.Len() > 0 { - n, err = r.buffer.Read(p) - size += n - if err != nil { - return size, err - } - } - - n, err = r.reader.Read(p[size:]) - size += n - if err != nil { - return size, err - } - - leftOver := 0 - for ; leftOver < utf8.UTFMax && size-leftOver > 0; leftOver++ { - rune, _ := utf8.DecodeLastRune(p[:size-leftOver]) - if rune != utf8.RuneError { - break - } - } - - r.buffer.Write(p[size-leftOver : size]) - - return size - leftOver, nil -} diff --git a/Godeps/_workspace/src/github.com/yudai/utf8reader/utf8reader_test.go b/Godeps/_workspace/src/github.com/yudai/utf8reader/utf8reader_test.go deleted file mode 100644 index c5cfa20..0000000 --- a/Godeps/_workspace/src/github.com/yudai/utf8reader/utf8reader_test.go +++ /dev/null @@ -1,97 +0,0 @@ -package utf8reader - -import ( - "testing" - - "bytes" - "strings" -) - -func TestRead(t *testing.T) { - str := "日本語" - or := strings.NewReader(str) - r := New(or) - - buf := make([]byte, 512) - n, err := r.Read(buf) - if err != nil { - t.Errorf("Unexpected error") - } - if bytes.Compare(buf[:n], []byte(str)) != 0 { - t.Errorf("Failed to read bytes") - } - - n, err = r.Read(buf) - if err.Error() != "EOF" { - t.Errorf("Unexpected error") - } - - // 3 byte runes - str = "いろはにほ" - or = strings.NewReader(str) - r = New(or) - buf = make([]byte, 7) // 7 % 3 = 1 - - n, err = r.Read(buf) - if err != nil { - t.Errorf("Unexpected error") - } - if n != 6 { - t.Errorf("Read length error") - } - if bytes.Compare(buf[:n], []byte(str)[:6]) != 0 { - t.Errorf("Failed to read bytes") - } - - n, err = r.Read(buf) - if err != nil { - t.Errorf("Unexpected error") - } - if n != 6 { - t.Errorf("Read length error") - } - if bytes.Compare(buf[:n], []byte(str)[6:12]) != 0 { - t.Errorf("Failed to read bytes") - } - - n, err = r.Read(buf) - if err != nil { - t.Errorf("Unexpected error") - } - if n != 3 { - t.Errorf("Read length error") - } - if bytes.Compare(buf[:n], []byte(str)[12:15]) != 0 { - t.Errorf("Failed to read bytes") - } -} - -func TestReadWithSmallBuffer(t *testing.T) { - str := "日本語" - or := strings.NewReader(str) - r := New(or) - - buf := make([]byte, 2) // too small - _, err := r.Read(buf) - if err != SmallBufferError { - t.Errorf("Expected error were not returned") - } -} - -func TestReadWithSmallRead(t *testing.T) { - input := []byte("いろは") - or := bytes.NewBuffer(input[0:2]) // small read - r := New(or) - buf := make([]byte, 512) - - _, err := r.Read(buf) - if err != nil { - t.Errorf("Unexpected error") - } - - or.Write(input[2:6]) - _, err = r.Read(buf) - if err != nil { - t.Errorf("Unexpected error") - } -} diff --git a/app/client_context.go b/app/client_context.go index 38188e4..681a132 100644 --- a/app/client_context.go +++ b/app/client_context.go @@ -1,6 +1,7 @@ package app import ( + "bytes" "encoding/base64" "encoding/json" "log" @@ -118,19 +119,14 @@ func (context *clientContext) sendInitialize() error { RemoteAddr: context.request.RemoteAddr, } - context.writeMutex.Lock() - writer, err := context.connection.NextWriter(websocket.TextMessage) - if err != nil { + titleBuffer := new(bytes.Buffer) + if err := context.app.titleTemplate.Execute(titleBuffer, titleVars); err != nil { context.writeMutex.Unlock() return err } - writer.Write([]byte{SetWindowTitle}) - if err = context.app.titleTemplate.Execute(writer, titleVars); err != nil { - context.writeMutex.Unlock() + if err := context.write(append([]byte{SetWindowTitle}, titleBuffer.Bytes()...)); err != nil { return err } - writer.Close() - context.writeMutex.Unlock() htermPrefs := make(map[string]interface{}) for key, value := range context.app.options.Preferences { From eb200ce5792a422182482d3e85c01e2cba799141 Mon Sep 17 00:00:00 2001 From: Richard Metzler Date: Fri, 9 Oct 2015 11:15:18 +0200 Subject: [PATCH 03/82] fix typo --- README.md | 2 +- main.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index de41195..127db28 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ By default, GoTTY starts a web server at port 8080. Open the URL on your web bro --once Accept only one client and exit on disconnection [$GOTTY_ONCE] --config "~/.gotty" Config file path [$GOTTY_CONFIG] --version, -v print the version ---permit-arguments Allow to send arguments like this http://exemple.com:8080/?arg=AAA&arg=BBB +--permit-arguments Allow to send arguments like this http://example.com:8080/?arg=AAA&arg=BBB ``` diff --git a/main.go b/main.go index 50b8141..62ed399 100644 --- a/main.go +++ b/main.go @@ -34,7 +34,7 @@ func main() { flag{"reconnect", "", "Enable reconnection"}, flag{"reconnect-time", "", "Time to reconnect"}, flag{"once", "", "Accept only one client and exit on disconnection"}, - flag{"permit-arguments", "", "Allow to send arguments like this http://exemple.com:8080/?arg=AAA&arg=BBB"}, + flag{"permit-arguments", "", "Allow to send arguments like this http://example.com:8080/?arg=AAA&arg=BBB"}, } mappingHint := map[string]string{ From 23804fa2ff8c86c227afdd0ad9efcd2826bef2ce Mon Sep 17 00:00:00 2001 From: The Gitter Badger Date: Fri, 9 Oct 2015 22:08:51 +0000 Subject: [PATCH 04/82] Add Gitter badge --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 127db28..f056aa3 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # ![](https://raw.githubusercontent.com/yudai/gotty/master/resources/favicon.png) GoTTY - Share your terminal as a web application +[![Join the chat at https://gitter.im/yudai/gotty](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/yudai/gotty?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + [![GitHub release](http://img.shields.io/github/release/yudai/gotty.svg?style=flat-square)][release] [![Wercker](http://img.shields.io/wercker/ci/55d0eeff7331453f0801982c.svg?style=flat-square)][wercker] [![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)][license] From 589ec6b50a645a3414bbeda560ac8fde2bccd3df Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Mon, 12 Oct 2015 10:24:46 +0900 Subject: [PATCH 05/82] Handle hterm preferences with better care --- .gotty | 246 +++++- Godeps/Godeps.json | 8 +- .../hashicorp/hcl/hcl/test-fixtures/list.hcl | 1 - .../src/github.com/hashicorp/hcl/hcl/y.go | 611 -------------- .../{hashicorp => yudai}/hcl/.gitignore | 0 .../{hashicorp => yudai}/hcl/LICENSE | 0 .../{hashicorp => yudai}/hcl/Makefile | 0 .../{hashicorp => yudai}/hcl/README.md | 0 .../{hashicorp => yudai}/hcl/decoder.go | 23 +- .../{hashicorp => yudai}/hcl/decoder_test.go | 0 .../{hashicorp => yudai}/hcl/hcl.go | 0 .../src/github.com/yudai/hcl/hcl/hcl.test | Bin 0 -> 3678144 bytes .../{hashicorp => yudai}/hcl/hcl/hcl_test.go | 0 .../{hashicorp => yudai}/hcl/hcl/lex.go | 25 +- .../{hashicorp => yudai}/hcl/hcl/lex_test.go | 20 +- .../{hashicorp => yudai}/hcl/hcl/object.go | 0 .../{hashicorp => yudai}/hcl/hcl/parse.go | 0 .../{hashicorp => yudai}/hcl/hcl/parse.y | 32 +- .../hcl/hcl/parse_test.go | 8 + .../hcl/hcl/test-fixtures/array_comment.hcl | 4 + .../hcl/hcl/test-fixtures/assign_colon.hcl | 0 .../hcl/hcl/test-fixtures/assign_deep.hcl | 0 .../hcl/hcl/test-fixtures/comment.hcl | 0 .../hcl/hcl/test-fixtures/comment_single.hcl | 0 .../hcl/hcl/test-fixtures/complex.hcl | 0 .../hcl/hcl/test-fixtures/complex_key.hcl | 0 .../hcl/hcl/test-fixtures/empty.hcl | 0 .../yudai/hcl/hcl/test-fixtures/list.hcl | 1 + .../hcl/hcl/test-fixtures/list_comma.hcl | 0 .../hcl/hcl/test-fixtures/multiple.hcl | 0 .../yudai/hcl/hcl/test-fixtures/null.hcl | 5 + .../hcl/hcl/test-fixtures/old.hcl | 0 .../hcl/hcl/test-fixtures/structure.hcl | 0 .../hcl/hcl/test-fixtures/structure_basic.hcl | 0 .../hcl/hcl/test-fixtures/structure_empty.hcl | 0 .../hcl/hcl/test-fixtures/types.hcl | 1 + .../hcl/hcl/valuetype_string.go | 0 .../src/github.com/yudai/hcl/hcl/y.go | 790 ++++++++++++++++++ .../{hashicorp => yudai}/hcl/hcl_test.go | 0 .../hcl/json/json_test.go | 0 .../{hashicorp => yudai}/hcl/json/lex.go | 0 .../{hashicorp => yudai}/hcl/json/lex_test.go | 0 .../{hashicorp => yudai}/hcl/json/parse.go | 2 +- .../{hashicorp => yudai}/hcl/json/parse.y | 0 .../hcl/json/parse_test.go | 0 .../hcl/json/test-fixtures/array.json | 0 .../hcl/json/test-fixtures/basic.json | 0 .../hcl/json/test-fixtures/object.json | 0 .../hcl/json/test-fixtures/types.json | 0 .../{hashicorp => yudai}/hcl/json/y.go | 275 ++++-- .../{hashicorp => yudai}/hcl/lex.go | 0 .../{hashicorp => yudai}/hcl/lex_test.go | 0 .../{hashicorp => yudai}/hcl/parse.go | 4 +- .../hcl/test-fixtures/basic.hcl | 0 .../hcl/test-fixtures/basic.json | 0 .../hcl/test-fixtures/basic_int_string.hcl | 0 .../hcl/test-fixtures/basic_squish.hcl | 0 .../hcl/test-fixtures/decode_policy.hcl | 0 .../hcl/test-fixtures/decode_policy.json | 0 .../hcl/test-fixtures/decode_tf_variable.hcl | 0 .../hcl/test-fixtures/decode_tf_variable.json | 0 .../hcl/test-fixtures/empty.hcl | 0 .../hcl/test-fixtures/escape.hcl | 0 .../hcl/test-fixtures/flat.hcl | 0 .../hcl/test-fixtures/float.hcl | 0 .../hcl/test-fixtures/float.json | 0 .../hcl/test-fixtures/multiline.json | 0 .../hcl/test-fixtures/multiline_bad.hcl | 0 .../test-fixtures/nested_block_comment.hcl | 0 .../yudai/hcl/test-fixtures/null.hcl | 1 + .../hcl/test-fixtures/scientific.hcl | 0 .../hcl/test-fixtures/scientific.json | 0 .../hcl/test-fixtures/structure.hcl | 0 .../hcl/test-fixtures/structure.json | 0 .../hcl/test-fixtures/structure2.hcl | 0 .../hcl/test-fixtures/structure2.json | 0 .../hcl/test-fixtures/structure_flat.json | 0 .../hcl/test-fixtures/structure_flatmap.hcl | 0 .../hcl/test-fixtures/structure_list.hcl | 0 .../hcl/test-fixtures/structure_list.json | 0 .../test-fixtures/structure_list_deep.json | 0 .../hcl/test-fixtures/structure_multi.hcl | 0 .../hcl/test-fixtures/structure_multi.json | 0 .../hcl/test-fixtures/terraform_heroku.hcl | 0 .../hcl/test-fixtures/terraform_heroku.json | 0 .../unterminated_block_comment.hcl | 0 app/app.go | 7 +- app/client_context.go | 16 +- app/hterm_preferences.go | 58 ++ 89 files changed, 1396 insertions(+), 742 deletions(-) delete mode 100644 Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/list.hcl delete mode 100644 Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/y.go rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/.gitignore (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/LICENSE (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/Makefile (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/README.md (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/decoder.go (97%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/decoder_test.go (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl.go (100%) create mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/hcl.test rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/hcl_test.go (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/lex.go (96%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/lex_test.go (78%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/object.go (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/parse.go (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/parse.y (89%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/parse_test.go (92%) create mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/array_comment.hcl rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/test-fixtures/assign_colon.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/test-fixtures/assign_deep.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/test-fixtures/comment.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/test-fixtures/comment_single.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/test-fixtures/complex.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/test-fixtures/complex_key.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/test-fixtures/empty.hcl (100%) create mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/list.hcl rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/test-fixtures/list_comma.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/test-fixtures/multiple.hcl (100%) create mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/null.hcl rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/test-fixtures/old.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/test-fixtures/structure.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/test-fixtures/structure_basic.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/test-fixtures/structure_empty.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/test-fixtures/types.hcl (81%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl/valuetype_string.go (100%) create mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/y.go rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/hcl_test.go (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/json/json_test.go (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/json/lex.go (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/json/lex_test.go (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/json/parse.go (95%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/json/parse.y (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/json/parse_test.go (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/json/test-fixtures/array.json (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/json/test-fixtures/basic.json (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/json/test-fixtures/object.json (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/json/test-fixtures/types.json (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/json/y.go (57%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/lex.go (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/lex_test.go (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/parse.go (84%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/basic.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/basic.json (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/basic_int_string.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/basic_squish.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/decode_policy.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/decode_policy.json (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/decode_tf_variable.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/decode_tf_variable.json (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/empty.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/escape.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/flat.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/float.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/float.json (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/multiline.json (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/multiline_bad.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/nested_block_comment.hcl (100%) create mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/null.hcl rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/scientific.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/scientific.json (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/structure.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/structure.json (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/structure2.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/structure2.json (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/structure_flat.json (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/structure_flatmap.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/structure_list.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/structure_list.json (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/structure_list_deep.json (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/structure_multi.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/structure_multi.json (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/terraform_heroku.hcl (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/terraform_heroku.json (100%) rename Godeps/_workspace/src/github.com/{hashicorp => yudai}/hcl/test-fixtures/unterminated_block_comment.hcl (100%) create mode 100644 app/hterm_preferences.go diff --git a/.gotty b/.gotty index 2c8c985..73afd2f 100644 --- a/.gotty +++ b/.gotty @@ -57,23 +57,237 @@ // [bool] Accept only one client and exit gotty once the client exits // once = false - +// [bool] Allow clients to send command line arguments +// permit_arguments = false // [object] Client terminal (hterm) preferences -// Examples below are some of commonly used options. -// See hterm's documentation for the complete list of preferences. -// https://chromium.googlesource.com/apps/libapps/+/master/hterm/js/hterm_preference_manager.js -// (Note that fihens `-` in preference names must be replaced by underscores `_`) // preferences { -// background_color = "rgb(16, 16, 16)" -// background_image = "" -// cursor_blink = false -// cursor_color = "rgba(255, 0, 0, 0.5)" -// ctrl_c_copy = false -// ctrl_v_paste = false -// east_asian_ambiguous_as_two_column = false -// font_family = "'DejaVu Sans Mono', 'Everson Mono', 'FreeMono', 'Menlo', 'Terminal', monospace" -// font_size = 15 -// foreground_color = "rgb(240, 240, 240)" -// user_css = "" + + // [enum(null, "none", "ctrl-alt", "left-alt", "right-alt")] + // Select an AltGr detection hack^Wheuristic. + // null: Autodetect based on navigator.language: "en-us" => "none", else => "right-alt" + // "none": Disable any AltGr related munging. + // "ctrl-alt": Assume Ctrl+Alt means AltGr. + // "left-alt": Assume left Alt means AltGr. + // "right-alt": Assume right Alt means AltGr. + // alt_gr_mode = null + + // [bool] If set, alt-backspace indeed is alt-backspace. + // alt_backspace_is_meta_backspace = false + + // [bool] Set whether the alt key acts as a meta key or as a distinct alt key. + // alt_is_meta = false + + // [enum("escape", "8-bit", "browser-key")] + // Controls how the alt key is handled. + // "escape"....... Send an ESC prefix. + // "8-bit"........ Add 128 to the unshifted character as in xterm. + // "browser-key".. Wait for the keypress event and see what the browser + // says. (This won't work well on platforms where the + // browser performs a default action for some alt sequences.) + // alt_sends_what = "escape" + + // [string] URL of the terminal bell sound. Empty string for no audible bell. + // audible_bell_sound = "lib-resource:hterm/audio/bell" + + // [bool] If true, terminal bells in the background will create a Web Notification. http://www.w3.org/TR/notifications/ + // Displaying notifications requires permission from the user. + // When this option is set to true, hterm will attempt to ask the user for + // permission if necessary. + // Note browsers may not show this permission request + // if it did not originate from a user action. + // desktop_notification_bell = false + + // [string] The background color for text with no other color attributes. + // background_color = "rgb(16, 16, 16)" + + // [string] CSS value of the background image. Empty string for no image. + // For example: + // "url(https://goo.gl/anedTK) linear-gradient(top bottom, blue, red)" + // background_image = "" + + // [string] CSS value of the background image size. Defaults to none. + // background_size = "" + + // [string] CSS value of the background image position. + // For example: + // "10% 10% center" + // background_position = "" + + // [bool] If true, the backspace should send BS ('\x08', aka ^H). Otherwise the backspace key should send '\x7f'. + // backspace_sends_backspace = false + + // [map[string]map[string]string] + // A nested map where each property is the character set code and the value is a map that is a sparse array itself. In that sparse array, each property is the received character and the value is the displayed character. + // For example: + // {"0" = {"+" = "\u2192" + // "," = "\u2190" + // "-" = "\u2191" + // "." = "\u2193" + // "0" = "\u2588"}} + // character_map_overrides = null + + // [bool] Whether or not to close the window when the command exits. + // close_on_exit = true + + // [bool] Whether or not to blink the cursor by default. + // cursor_blink = false + + // [2[int]] The cursor blink rate in milliseconds. + // A two element array, the first of which is how long the cursor should be on, second is how long it should be off. + // cursor_blink_cycle = [1000, 500] + + // [string] The color of the visible cursor. + // cursor_color = "rgba(255, 0, 0, 0.5)" + + // [[]string] + // Override colors in the default palette. + // This can be specified as an array or an object. + // Values can be specified as almost any css color value. + // This includes #RGB, #RRGGBB, rgb(...), rgba(...), and any color names that are also part of the stock X11 rgb.txt file. + // You can use 'null' to specify that the default value should be not be changed. + // This is useful for skipping a small number of indicies when the value is specified as an array. + // color_palette_overrides = null + + // [bool] Automatically copy mouse selection to the clipboard. + // copy_on_select = true + + // [bool] Whether to use the default window copy behaviour + // use_default_window_copy = false + + // [bool] Whether to clear the selection after copying. + // clear_selection_after_copy = true + + // [bool] If true, Ctrl-Plus/Minus/Zero controls zoom. + // If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_, Ctrl-Plus/Zero do nothing. + // ctrl_plus_minus_zero_zoom = true + + // [bool] Ctrl+C copies if true, send ^C to host if false. + // Ctrl+Shift+C sends ^C to host if true, copies if false. + // ctrl_c_copy = false + + // [bool] Ctrl+V pastes if true, send ^V to host if false. + // Ctrl+Shift+V sends ^V to host if true, pastes if false. + // ctrl_v_paste = false + + // [bool] Set whether East Asian Ambiguous characters have two column width. + // east_asian_ambiguous_as_two_column = false + + // [bool] True to enable 8-bit control characters, false to ignore them. + // We'll respect the two-byte versions of these control characters regardless of this setting. + // enable_8_bit_control = false + + // [enum(null, true, false)] + // True if we should use bold weight font for text with the bold/bright attribute. + // False to use the normal weight font. + // Null to autodetect. + // enable_bold = null + + // [bool] True if we should use bright colors (8-15 on a 16 color palette) for any text with the bold attribute. + // False otherwise. + // enable_bold_as_bright = true + + // [bool] Show a message in the terminal when the host writes to the clipboard. + // enable_clipboard_notice = true + + // [bool] Allow the host to write directly to the system clipboard. + // enable_clipboard_write = true + + // [bool] Respect the host's attempt to change the cursor blink status using DEC Private Mode 12. + // enable_dec12 = false + + // [map[string]string] The default environment variables, as an object. + // environment = {"TERM" = "xterm-256color"} + + // [string] Default font family for the terminal text. + // font_family = "'DejaVu Sans Mono', 'Everson Mono', FreeMono, 'Menlo', 'Terminal', monospace" + + // [int] The default font size in pixels. + // font_size = 15 + + // [string] CSS font-smoothing property. + // font_smoothing = "antialiased" + + // [string] The foreground color for text with no other color attributes. + // foreground_color = "rgb(240, 240, 240)" + + // [bool] If true, home/end will control the terminal scrollbar and shift home/end will send the VT keycodes. If false then home/end sends VT codes and shift home/end scrolls. + // home_keys_scroll = false + + // [map[string]string] + // A map of key sequence to key actions. + // Key sequences include zero or more modifier keys followed by a key code. + // Key codes can be decimal or hexadecimal numbers, or a key identifier. + // Key actions can be specified a string to send to the host, or an action identifier. + // For a full list of key code and action identifiers, see https://goo.gl/8AoD09. + // Sample keybindings: + // {"Ctrl-Alt-K" = "clearScrollback" + // "Ctrl-Shift-L"= "PASS" + // "Ctrl-H" = "'HELLO\n'"} + // keybindings = null + + // [int] Max length of a DCS, OSC, PM, or APS sequence before we give up and ignore the code. + // max_string_sequence = 100000 + + // [bool] If true, convert media keys to their Fkey equivalent. + // If false, let the browser handle the keys. + // media_keys_are_fkeys = false + + // [bool] Set whether the meta key sends a leading escape or not. + // meta_sends_escape = true + + // [enum(null, 0, 1, 2, 3, 4, 5, 6] + // Mouse paste button, or null to autodetect. + // For autodetect, we'll try to enable middle button paste for non-X11 platforms. + // On X11 we move it to button 3. + // mouse_paste_button = null + + // [bool] If true, page up/down will control the terminal scrollbar and shift page up/down will send the VT keycodes. + // If false then page up/down sends VT codes and shift page up/down scrolls. + // page_keys_scroll = false + + // [enum(null, true, false)] + // Set whether we should pass Alt-1..9 to the browser. + // This is handy when running hterm in a browser tab, so that you don't lose Chrome's "switch to tab" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs. + // If true, Alt-1..9 will be handled by the browser. + // If false, Alt-1..9 will be sent to the host. + // If null, autodetect based on browser platform and window type. + // pass_alt_number = null + + // [enum(null, true, false)] + // Set whether we should pass Ctrl-1..9 to the browser. + // This is handy when running hterm in a browser tab, so that you don't lose Chrome's "switch to tab" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs. + // If true, Ctrl-1..9 will be handled by the browser. + // If false, Ctrl-1..9 will be sent to the host. + // If null, autodetect based on browser platform and window type. + // pass_ctrl_number = null + + // [enum(null, true, false)] + // Set whether we should pass Meta-1..9 to the browser. + // This is handy when running hterm in a browser tab, so that you don't lose Chrome's "switch to tab" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs. + // If true, Meta-1..9 will be handled by the browser. + // If false, Meta-1..9 will be sent to the host. If null, autodetect based on browser platform and window type. + // pass_meta_number = null + + // [bool] Set whether meta-V gets passed to host. + // pass_meta_v = true + + // [bool] If true, scroll to the bottom on any keystroke. + // scroll_on_keystroke = true + + // [bool] If true, scroll to the bottom on terminal output. + // scroll_on_output = false + + // [bool] The vertical scrollbar mode. + // scrollbar_visible = true + + // [int] The multiplier for the pixel delta in mousewheel event caused by the scroll wheel. Alters how fast the page scrolls. + // scroll_wheel_move_multiplier = 1 + + // [bool] Shift + Insert pastes if true, sent to host if false. + // shift_insert_paste = true + + // [string] URL of user stylesheet to include in the terminal document. + // user_css = "" + // } diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 4f470b4..c2bab58 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -28,15 +28,15 @@ "ImportPath": "github.com/hashicorp/go-multierror", "Rev": "56912fb08d85084aa318edcf2bba735b97cf35c5" }, - { - "ImportPath": "github.com/hashicorp/hcl", - "Rev": "54864211433d45cb780682431585b3e573b49e4a" - }, { "ImportPath": "github.com/kr/pty", "Comment": "release.r56-28-g5cf931e", "Rev": "5cf931ef8f76dccd0910001d74a58a7fca84a83d" }, + { + "ImportPath": "github.com/yudai/hcl", + "Rev": "7227a719113b77a78318a43dba44951556ff9e3d" + }, { "ImportPath": "github.com/yudai/umutex", "Rev": "18216d265c6bc72c3bb0ad9c8103d47d530b7003" diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/list.hcl b/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/list.hcl deleted file mode 100644 index 059d4ce..0000000 --- a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/list.hcl +++ /dev/null @@ -1 +0,0 @@ -foo = [1, 2, "foo"] diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/y.go b/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/y.go deleted file mode 100644 index f139a24..0000000 --- a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/y.go +++ /dev/null @@ -1,611 +0,0 @@ -//line parse.y:4 -package hcl - -import __yyfmt__ "fmt" - -//line parse.y:4 -import ( - "fmt" - "strconv" -) - -//line parse.y:13 -type hclSymType struct { - yys int - b bool - f float64 - num int - str string - obj *Object - objlist []*Object -} - -const BOOL = 57346 -const FLOAT = 57347 -const NUMBER = 57348 -const COMMA = 57349 -const COMMAEND = 57350 -const IDENTIFIER = 57351 -const EQUAL = 57352 -const NEWLINE = 57353 -const STRING = 57354 -const MINUS = 57355 -const LEFTBRACE = 57356 -const RIGHTBRACE = 57357 -const LEFTBRACKET = 57358 -const RIGHTBRACKET = 57359 -const PERIOD = 57360 -const EPLUS = 57361 -const EMINUS = 57362 - -var hclToknames = []string{ - "BOOL", - "FLOAT", - "NUMBER", - "COMMA", - "COMMAEND", - "IDENTIFIER", - "EQUAL", - "NEWLINE", - "STRING", - "MINUS", - "LEFTBRACE", - "RIGHTBRACE", - "LEFTBRACKET", - "RIGHTBRACKET", - "PERIOD", - "EPLUS", - "EMINUS", -} -var hclStatenames = []string{} - -const hclEofCode = 1 -const hclErrCode = 2 -const hclMaxDepth = 200 - -//line parse.y:259 - -//line yacctab:1 -var hclExca = []int{ - -1, 1, - 1, -1, - -2, 0, - -1, 6, - 10, 7, - -2, 17, - -1, 7, - 10, 8, - -2, 18, -} - -const hclNprod = 36 -const hclPrivate = 57344 - -var hclTokenNames []string -var hclStates []string - -const hclLast = 62 - -var hclAct = []int{ - - 35, 3, 21, 22, 9, 30, 31, 29, 17, 26, - 25, 26, 25, 10, 26, 25, 18, 24, 13, 24, - 23, 37, 24, 44, 45, 42, 34, 38, 39, 9, - 32, 6, 6, 43, 7, 7, 2, 40, 28, 26, - 25, 6, 41, 11, 7, 46, 37, 24, 14, 36, - 27, 15, 5, 13, 19, 1, 4, 8, 33, 20, - 16, 12, -} -var hclPact = []int{ - - 32, -1000, 32, -1000, 3, -1000, -1000, -1000, 39, -1000, - 4, -1000, -1000, 23, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -14, -14, 9, 6, -1000, -1000, 22, -1000, -1000, - 36, 19, -1000, 16, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 34, -1000, -1000, -} -var hclPgo = []int{ - - 0, 3, 2, 59, 58, 36, 52, 49, 43, 1, - 0, 57, 7, 56, 55, -} -var hclR1 = []int{ - - 0, 14, 14, 5, 5, 8, 8, 13, 13, 9, - 9, 9, 9, 9, 9, 6, 6, 11, 11, 3, - 3, 4, 4, 4, 10, 10, 7, 7, 7, 7, - 2, 2, 1, 1, 12, 12, -} -var hclR2 = []int{ - - 0, 0, 1, 1, 2, 3, 2, 1, 1, 3, - 3, 3, 3, 3, 1, 2, 2, 1, 1, 3, - 2, 1, 3, 2, 1, 1, 1, 1, 2, 2, - 2, 1, 2, 1, 2, 2, -} -var hclChk = []int{ - - -1000, -14, -5, -9, -13, -6, 9, 12, -11, -9, - 10, -8, -6, 14, 9, 12, -7, 4, 12, -8, - -3, -2, -1, 16, 13, 6, 5, -5, 15, -12, - 19, 20, -12, -4, 17, -10, -7, 12, -2, -1, - 15, 6, 6, 17, 7, 8, -10, -} -var hclDef = []int{ - - 1, -2, 2, 3, 0, 14, -2, -2, 0, 4, - 0, 15, 16, 0, 17, 18, 9, 10, 11, 12, - 13, 26, 27, 0, 0, 31, 33, 0, 6, 28, - 0, 0, 29, 0, 20, 21, 24, 25, 30, 32, - 5, 34, 35, 19, 0, 23, 22, -} -var hclTok1 = []int{ - - 1, -} -var hclTok2 = []int{ - - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, -} -var hclTok3 = []int{ - 0, -} - -//line yaccpar:1 - -/* parser for yacc output */ - -var hclDebug = 0 - -type hclLexer interface { - Lex(lval *hclSymType) int - Error(s string) -} - -const hclFlag = -1000 - -func hclTokname(c int) string { - // 4 is TOKSTART above - if c >= 4 && c-4 < len(hclToknames) { - if hclToknames[c-4] != "" { - return hclToknames[c-4] - } - } - return __yyfmt__.Sprintf("tok-%v", c) -} - -func hclStatname(s int) string { - if s >= 0 && s < len(hclStatenames) { - if hclStatenames[s] != "" { - return hclStatenames[s] - } - } - return __yyfmt__.Sprintf("state-%v", s) -} - -func hcllex1(lex hclLexer, lval *hclSymType) int { - c := 0 - char := lex.Lex(lval) - if char <= 0 { - c = hclTok1[0] - goto out - } - if char < len(hclTok1) { - c = hclTok1[char] - goto out - } - if char >= hclPrivate { - if char < hclPrivate+len(hclTok2) { - c = hclTok2[char-hclPrivate] - goto out - } - } - for i := 0; i < len(hclTok3); i += 2 { - c = hclTok3[i+0] - if c == char { - c = hclTok3[i+1] - goto out - } - } - -out: - if c == 0 { - c = hclTok2[1] /* unknown char */ - } - if hclDebug >= 3 { - __yyfmt__.Printf("lex %s(%d)\n", hclTokname(c), uint(char)) - } - return c -} - -func hclParse(hcllex hclLexer) int { - var hcln int - var hcllval hclSymType - var hclVAL hclSymType - hclS := make([]hclSymType, hclMaxDepth) - - Nerrs := 0 /* number of errors */ - Errflag := 0 /* error recovery flag */ - hclstate := 0 - hclchar := -1 - hclp := -1 - goto hclstack - -ret0: - return 0 - -ret1: - return 1 - -hclstack: - /* put a state and value onto the stack */ - if hclDebug >= 4 { - __yyfmt__.Printf("char %v in %v\n", hclTokname(hclchar), hclStatname(hclstate)) - } - - hclp++ - if hclp >= len(hclS) { - nyys := make([]hclSymType, len(hclS)*2) - copy(nyys, hclS) - hclS = nyys - } - hclS[hclp] = hclVAL - hclS[hclp].yys = hclstate - -hclnewstate: - hcln = hclPact[hclstate] - if hcln <= hclFlag { - goto hcldefault /* simple state */ - } - if hclchar < 0 { - hclchar = hcllex1(hcllex, &hcllval) - } - hcln += hclchar - if hcln < 0 || hcln >= hclLast { - goto hcldefault - } - hcln = hclAct[hcln] - if hclChk[hcln] == hclchar { /* valid shift */ - hclchar = -1 - hclVAL = hcllval - hclstate = hcln - if Errflag > 0 { - Errflag-- - } - goto hclstack - } - -hcldefault: - /* default state action */ - hcln = hclDef[hclstate] - if hcln == -2 { - if hclchar < 0 { - hclchar = hcllex1(hcllex, &hcllval) - } - - /* look through exception table */ - xi := 0 - for { - if hclExca[xi+0] == -1 && hclExca[xi+1] == hclstate { - break - } - xi += 2 - } - for xi += 2; ; xi += 2 { - hcln = hclExca[xi+0] - if hcln < 0 || hcln == hclchar { - break - } - } - hcln = hclExca[xi+1] - if hcln < 0 { - goto ret0 - } - } - if hcln == 0 { - /* error ... attempt to resume parsing */ - switch Errflag { - case 0: /* brand new error */ - hcllex.Error("syntax error") - Nerrs++ - if hclDebug >= 1 { - __yyfmt__.Printf("%s", hclStatname(hclstate)) - __yyfmt__.Printf(" saw %s\n", hclTokname(hclchar)) - } - fallthrough - - case 1, 2: /* incompletely recovered error ... try again */ - Errflag = 3 - - /* find a state where "error" is a legal shift action */ - for hclp >= 0 { - hcln = hclPact[hclS[hclp].yys] + hclErrCode - if hcln >= 0 && hcln < hclLast { - hclstate = hclAct[hcln] /* simulate a shift of "error" */ - if hclChk[hclstate] == hclErrCode { - goto hclstack - } - } - - /* the current p has no shift on "error", pop stack */ - if hclDebug >= 2 { - __yyfmt__.Printf("error recovery pops state %d\n", hclS[hclp].yys) - } - hclp-- - } - /* there is no state on the stack with an error shift ... abort */ - goto ret1 - - case 3: /* no shift yet; clobber input char */ - if hclDebug >= 2 { - __yyfmt__.Printf("error recovery discards %s\n", hclTokname(hclchar)) - } - if hclchar == hclEofCode { - goto ret1 - } - hclchar = -1 - goto hclnewstate /* try again in the same state */ - } - } - - /* reduction by production hcln */ - if hclDebug >= 2 { - __yyfmt__.Printf("reduce %v in:\n\t%v\n", hcln, hclStatname(hclstate)) - } - - hclnt := hcln - hclpt := hclp - _ = hclpt // guard against "declared and not used" - - hclp -= hclR2[hcln] - hclVAL = hclS[hclp+1] - - /* consult goto table to find next state */ - hcln = hclR1[hcln] - hclg := hclPgo[hcln] - hclj := hclg + hclS[hclp].yys + 1 - - if hclj >= hclLast { - hclstate = hclAct[hclg] - } else { - hclstate = hclAct[hclj] - if hclChk[hclstate] != -hcln { - hclstate = hclAct[hclg] - } - } - // dummy call; replaced with literal code - switch hclnt { - - case 1: - //line parse.y:39 - { - hclResult = &Object{Type: ValueTypeObject} - } - case 2: - //line parse.y:43 - { - hclResult = &Object{ - Type: ValueTypeObject, - Value: ObjectList(hclS[hclpt-0].objlist).Flat(), - } - } - case 3: - //line parse.y:52 - { - hclVAL.objlist = []*Object{hclS[hclpt-0].obj} - } - case 4: - //line parse.y:56 - { - hclVAL.objlist = append(hclS[hclpt-1].objlist, hclS[hclpt-0].obj) - } - case 5: - //line parse.y:62 - { - hclVAL.obj = &Object{ - Type: ValueTypeObject, - Value: ObjectList(hclS[hclpt-1].objlist).Flat(), - } - } - case 6: - //line parse.y:69 - { - hclVAL.obj = &Object{ - Type: ValueTypeObject, - } - } - case 7: - //line parse.y:77 - { - hclVAL.str = hclS[hclpt-0].str - } - case 8: - //line parse.y:81 - { - hclVAL.str = hclS[hclpt-0].str - } - case 9: - //line parse.y:87 - { - hclVAL.obj = hclS[hclpt-0].obj - hclVAL.obj.Key = hclS[hclpt-2].str - } - case 10: - //line parse.y:92 - { - hclVAL.obj = &Object{ - Key: hclS[hclpt-2].str, - Type: ValueTypeBool, - Value: hclS[hclpt-0].b, - } - } - case 11: - //line parse.y:100 - { - hclVAL.obj = &Object{ - Key: hclS[hclpt-2].str, - Type: ValueTypeString, - Value: hclS[hclpt-0].str, - } - } - case 12: - //line parse.y:108 - { - hclS[hclpt-0].obj.Key = hclS[hclpt-2].str - hclVAL.obj = hclS[hclpt-0].obj - } - case 13: - //line parse.y:113 - { - hclVAL.obj = &Object{ - Key: hclS[hclpt-2].str, - Type: ValueTypeList, - Value: hclS[hclpt-0].objlist, - } - } - case 14: - //line parse.y:121 - { - hclVAL.obj = hclS[hclpt-0].obj - } - case 15: - //line parse.y:127 - { - hclS[hclpt-0].obj.Key = hclS[hclpt-1].str - hclVAL.obj = hclS[hclpt-0].obj - } - case 16: - //line parse.y:132 - { - hclVAL.obj = &Object{ - Key: hclS[hclpt-1].str, - Type: ValueTypeObject, - Value: []*Object{hclS[hclpt-0].obj}, - } - } - case 17: - //line parse.y:142 - { - hclVAL.str = hclS[hclpt-0].str - } - case 18: - //line parse.y:146 - { - hclVAL.str = hclS[hclpt-0].str - } - case 19: - //line parse.y:152 - { - hclVAL.objlist = hclS[hclpt-1].objlist - } - case 20: - //line parse.y:156 - { - hclVAL.objlist = nil - } - case 21: - //line parse.y:162 - { - hclVAL.objlist = []*Object{hclS[hclpt-0].obj} - } - case 22: - //line parse.y:166 - { - hclVAL.objlist = append(hclS[hclpt-2].objlist, hclS[hclpt-0].obj) - } - case 23: - //line parse.y:170 - { - hclVAL.objlist = hclS[hclpt-1].objlist - } - case 24: - //line parse.y:176 - { - hclVAL.obj = hclS[hclpt-0].obj - } - case 25: - //line parse.y:180 - { - hclVAL.obj = &Object{ - Type: ValueTypeString, - Value: hclS[hclpt-0].str, - } - } - case 26: - //line parse.y:189 - { - hclVAL.obj = &Object{ - Type: ValueTypeInt, - Value: hclS[hclpt-0].num, - } - } - case 27: - //line parse.y:196 - { - hclVAL.obj = &Object{ - Type: ValueTypeFloat, - Value: hclS[hclpt-0].f, - } - } - case 28: - //line parse.y:203 - { - fs := fmt.Sprintf("%d%s", hclS[hclpt-1].num, hclS[hclpt-0].str) - f, err := strconv.ParseFloat(fs, 64) - if err != nil { - panic(err) - } - - hclVAL.obj = &Object{ - Type: ValueTypeFloat, - Value: f, - } - } - case 29: - //line parse.y:216 - { - fs := fmt.Sprintf("%f%s", hclS[hclpt-1].f, hclS[hclpt-0].str) - f, err := strconv.ParseFloat(fs, 64) - if err != nil { - panic(err) - } - - hclVAL.obj = &Object{ - Type: ValueTypeFloat, - Value: f, - } - } - case 30: - //line parse.y:231 - { - hclVAL.num = hclS[hclpt-0].num * -1 - } - case 31: - //line parse.y:235 - { - hclVAL.num = hclS[hclpt-0].num - } - case 32: - //line parse.y:241 - { - hclVAL.f = hclS[hclpt-0].f * -1 - } - case 33: - //line parse.y:245 - { - hclVAL.f = hclS[hclpt-0].f - } - case 34: - //line parse.y:251 - { - hclVAL.str = "e" + strconv.FormatInt(int64(hclS[hclpt-0].num), 10) - } - case 35: - //line parse.y:255 - { - hclVAL.str = "e-" + strconv.FormatInt(int64(hclS[hclpt-0].num), 10) - } - } - goto hclstack /* stack new state and value */ -} diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/.gitignore b/Godeps/_workspace/src/github.com/yudai/hcl/.gitignore similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/.gitignore rename to Godeps/_workspace/src/github.com/yudai/hcl/.gitignore diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/LICENSE b/Godeps/_workspace/src/github.com/yudai/hcl/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/LICENSE rename to Godeps/_workspace/src/github.com/yudai/hcl/LICENSE diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/Makefile b/Godeps/_workspace/src/github.com/yudai/hcl/Makefile similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/Makefile rename to Godeps/_workspace/src/github.com/yudai/hcl/Makefile diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/README.md b/Godeps/_workspace/src/github.com/yudai/hcl/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/README.md rename to Godeps/_workspace/src/github.com/yudai/hcl/README.md diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/decoder.go b/Godeps/_workspace/src/github.com/yudai/hcl/decoder.go similarity index 97% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/decoder.go rename to Godeps/_workspace/src/github.com/yudai/hcl/decoder.go index 4241d7d..72f14c6 100644 --- a/Godeps/_workspace/src/github.com/hashicorp/hcl/decoder.go +++ b/Godeps/_workspace/src/github.com/yudai/hcl/decoder.go @@ -8,7 +8,7 @@ import ( "strconv" "strings" - "github.com/hashicorp/hcl/hcl" + "github.com/yudai/hcl/hcl" ) // This is the tag to use with structures to have settings for HCL @@ -173,6 +173,8 @@ func (d *decoder) decodeInterface(name string, o *hcl.Object, result reflect.Val set = reflect.Indirect(reflect.New(reflect.TypeOf(result))) case hcl.ValueTypeString: set = reflect.Indirect(reflect.New(reflect.TypeOf(""))) + case hcl.ValueTypeNil: + return nil default: return fmt.Errorf( "%s: cannot decode into interface: %T", @@ -259,14 +261,19 @@ func (d *decoder) decodeMap(name string, o *hcl.Object, result reflect.Value) er func (d *decoder) decodePtr(name string, o *hcl.Object, result reflect.Value) error { // Create an element of the concrete (non pointer) type and decode // into that. Then set the value of the pointer to this type. - resultType := result.Type() - resultElemType := resultType.Elem() - val := reflect.New(resultElemType) - if err := d.decode(name, o, reflect.Indirect(val)); err != nil { - return err - } + switch o.Type { + case hcl.ValueTypeNil: + // NIL + default: + resultType := result.Type() + resultElemType := resultType.Elem() + val := reflect.New(resultElemType) + if err := d.decode(name, o, reflect.Indirect(val)); err != nil { + return err + } - result.Set(val) + result.Set(val) + } return nil } diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/decoder_test.go b/Godeps/_workspace/src/github.com/yudai/hcl/decoder_test.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/decoder_test.go rename to Godeps/_workspace/src/github.com/yudai/hcl/decoder_test.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl.go b/Godeps/_workspace/src/github.com/yudai/hcl/hcl.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl.go rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl.go diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/hcl.test b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/hcl.test new file mode 100644 index 0000000000000000000000000000000000000000..71c818e49cf25ab9037088458c7d7b255e5b0ea2 GIT binary patch literal 3678144 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

Efpb)8Jm@fGB4bQa`f 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≦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�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

9l4NB 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%0ABG0R1a)eY>@&IM9YvVibg-17Qot9h8(+!oGp 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%0DZ}Xb>Qkz7Y=;AAxm<(06xb7~ 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�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%0D@ zD2xzx9VqpS=*mJZj&DjN5+1`&DaW1)D5E3q*4zZix)Z5Sp&IP!(M(;jrg}aI@!}Fr zFyG`7(DNFqum-SFplQ~@JBoZL(5-7A1e4F#5dc3=UCS&p6oW+gr52ku;0WYhWu6ao z1K@Zhz!LxoMI|ZH+~b}Wb(aWNeHxUseS})!Nkg+s+HlmLS<-UXvQGEXg<#B&tsbWi z6&2>z@8F3m79lXe34{9llNe_6rOYGwG+zogZ*3wfz)E?148F<7)v(g+_mB|{%g=a{ z{%Q(d4f(vX>@#GaHt9QtJYN~VRNAc}o7XTuL86GYf`e)+kv|~RH~_bm@w4(P{1$5b2Meg84K-4NocM3?|8dy9u`<+jt5nO( z1+=A6Uql`NU$h6r0wanTPEp`CuKNyTO+yCgSxb|%kc%=W$(Azc8NddnaL;F`FDw{X z6V^_8*WKx3%HI5<7B*#Y>HheUhebM7*_$P1SCinV`F}VsGB2orxVzu&^d!kWG}bBk zB3`=_7J%%7GU%f!>J#6%i*DH!oDjccgwh{dJ4+~?ZhanT3Q@`jb5sdYi{4`Z*0a5un=+~0uV%EC#htq4ll3=J^s5-?n-9Y?Vtjb`?-Sz=GIb|s^ ziDVj_e#g6BKig)w>aBvpEn#lkLr^q7j`j4dwV(+>W2nzs|dkf$>0RY|J^TB1VRWA4}z#qekOnx1S zh12{xOrF15FlRO(n)wgAzaGyGlZ<>@nI!ONC?2ITNjl0yBD`?!n&?y zTGj%0K1MN$BPI@Ye5Osfci=JRyCq~BoBzebg;&=%vbn~qt0r?@r?#)l-TWAE!W|jt zkC^XbpB-EBb5^9WY@l9XGlEveiX`{6F+5EEXb`2~B z^GtE+ug^~%!MBURw>kyBB8BgW4&V!Ag>Ts^!WUX_iNoDf2EM`$;lp^jQI+Ay&g85O zqJY5P6mRNMv)X|xbw_ByP}qFyF~Np%+q83N+9dL$L|{Y-d3>m&x&(?D(-zgqVNaK| zu#Bk+T+FsaT@*uIjF=Tr7tGZ|b+Ni_CGC>Yp1Qc_1z%n4i7!-LGxrDpj$11?~IcB{xHj5#@QHPt``VkM&^pF5a!|-71vFF>=O3VGEUN3 zg5+Y3weP&8W3Aj9Xx){3Xp`ODJr}+2m8u?7$J>bNpRZZvlnr9B2JH0WK>yda?>{|@ zHw^9#V2ovLJd4Gw4e_#vS`=8rJ4M8nZi6Q`BNnb%9>fAC3xWlrq`=%@3OU;x2Mu3| z>o8da>MA7F#5e+e{)y;p+9K9iVsG3zd^lw(d%DD(@(}RDBWeJ!_m{#S20vfnZ3g@l zq87s+%U;clpFwY`3KAk2{2ajA65+Lnbcmn(e#(ZQvzGlle%$*p6ZEhl#?8Z+fP@wp zbr--3d*RN&ORg5 zL|B7S(FZAh9zWQ}kG!TR_$s<_Yc~8GzBGs*3b9Jj*TN->)XoP=^4;4IG){Z3fqWvP zuYuZ);0^H6p!i_Nmbj<=75Lbi9UtNklcn0|1{mR(+HpL#J?)Y!wb92EIxUs;sNgir&`hTUgm)Y7ZK+&7=<4H@H}^M{O2Z?szaw_DH$ zH5=Tk|3;|YuO9?{AO0Eqa#{(S6J3GNNTEjGFubH4fMgLWKqCM`PzG#2?M=RRD{T_X= z`tN?#fA@g;Kd1lRAW>!g4EkL4A0&`ILu9S0-ve6Zpr_b07p^dzR7>7Hu3O=KCwYJS zOWEFcmiH4<-peAHd=IPCJ>^R#bB05Zpa)mhE`M4p)lsTDfy97Q%6|$tT!4gJS=;N- zz?upMC$pvk;JJkN)!jfqc6(LE*HbtmTm4@JP^#&_sSz_{qkGcxwE6t|a@^}$#LoN< z-UC^S=qfe=2T8|w08)$TT106T62}l|S&LZ1&X}_rjmwX&=X6h=UFR!Me;)_h^di>T zCtB7xP51GJS+(ocDb2lq^Mul7Bq_v5^0({e)I>C8oZz=5TA zf|!L7<=|>)^5hC}PS3)V^jCM{mG9zbT}y_v!f7vUm(p56ibI589l^$gAmZXb7PoNm zJC*ShN1!zLe{NBPwS()Su8{SRYb9Vkgd5|q&EEXlKWvj}cpASVoZ`zr3BLU2Lrp9A z06xKL_2pNA!l(dzKGz(q;W_f3ZdFHqN|%9Ec)-+=A8NctYDW-l74|s+8zim4#zV`& zq2iKmCB*b+(Ix%3fS<;ZwpX%1hK`9p8qC8D)pSPpVl%0nnQ?6_gELwtMcMch==U5* zX98||gY4p$-8!X7@Mt#+-=dT2&;|FZ7j@Fb8_NgoSUkic4>^F#6GCV90>anz^`-z* ziwKIR`UWudX(xD0eZWGWsqe)X%G5g{fh#@L#g?f{T7;>$wR)`6ybP{p+a^~&x`WN# zJSoSOk0bW3cKRKp!FHEQEUBU zr2bJ_ekgKOg~5mW)G2sff)B5+v*6vwpp#JJS`h{;AuU1f(NJP3 zZz)M4B#D07=;27?C*_t&lC76Q(Ytw@=y#yNv`?t1*?c!`GJfy?u-FRbIb(b#kgzH= zP2zR>zf&2=&WO=Mkg%c^->}td50j=P&!%m99~|XOcw|G6eK-auE(6JmXY7$)Ik{_c z0jO=7WP8Gu5OOF7iKY+2@&ub}4~rNNRk7t_Cu&CpLIetK|u^adOO4la)Gac z|Kw{fQ-m-TxHA_~O{6f5uOMC|SL*18fExTLB}94dDLXQ9MKaQI;DlBwEyM=})s7f-`JUgRc9R#nclz7dMaoz(*1{ za5n4UD8S|2lX-(&obl73F6?66caM5u`9HZzk3z)VM-ABB2N3B}iACcI@}o`dZ|JlyCzmVH3K; zQc_oI#!`h;Dy#V_5q@QnW}R@C@1ai3JaR(auf44+E1nZEF{v*Zqh@z9rv-XNmo_j0 zVL9m`mIXF_FJvR4hhtr^Dh4KY;L~!v`0_z5wI&>Fj1#9_?#>_ zyQqaV;5r9a@rQ?+K4fKf!B^iKGs-U3;7W6f5|t;{X3Y%=7pVF}6^nofjO$7Zb_Lrq z0S;#~#stkNN$7{N%FF%9Ga{nEubki!xo636BuYX*Qeg$vll_m3J0VKnBZPAA2$9_06IlTQD=Q(i)H)_pt$)Cvgnkh(m6153`_rjxHMR6IOw9?tM~8$Kh^@bE&ZhYlT{G=8+=}i-{ea~_=p-uwdPuDuChBiVcv_hywFqYAl|T! zqb8v(aJ>;VM9MF_MgnpFz>lE*P?o&QKOnBQn{gswCY&eF>5L7@F(%cSq<^ZvRaq!GN7_R?@bBIJ+72Afo>c(UzF-$YU!DYYS@k3f%W0P-$O4? z$cJ~NfTG+YWr12D3TAKSnkU!!W_$j8lZ9Zemj$Fi-b2-y>q6Fp`0FkP?SNb`szL^j zf&20+ifu0&g5(@p&+mZb7G9&Rg=SNq^bLJ!J`@5JS)?o(YCKzIi>!-KBa;{zh@|Sn z&f)8s3t?hL5E3?0UZi?V(e)Ic0=NGh0;Ls!TjQMj+KH68Qf;1Q#CV24YukmrPD%I% z`~_3P@of~)LTDrbMbqUcCUC|o0##=45vOr~=ck_0q60;~ls5_<%&`(}^3TTqh8mxN zlf?^7`>Wj82o5to$e`S4#t6~6h(05w;(JiRHcO?nN%I*a+W3OJGCDpHp5NIgqOhn> z#2zmjA~LQ%x-~a+;~DtYBT$pDk4G39xZq#{&nnzi-%+U+UnP}60A@oj)*J)BDF@PXM^lt6_&NndmO%nj6l?5?n zgi&Mmdr3>UDHUZS^=N%3CI&3$d_vezp3Atj#RfO$yLHd%$TLqWh1!toTmy8Q%%{jD z*m=Q96i8??L8Cz%L|xH_5mC?zZ6(*4`W&Bf%C~mXV8SP_68#o?wnOY7GcF+4lnI{P z)|y-=VTuEn))PbM0jxEQsB{m)A_QijTHWrz42>{@2^g2afHY>?fnW$|9IOFS+f;YS z3^CR)I7Pr+W^fw&1nsT)nn%NoTkhK6h&5%YC4)o2)q>>LmSfKwsX*g6F_ zi4-klcT7H^V$+A80cR(G zLrNR9evkbet)yv$e?On55pLMo@K-CFHp-c!TmUPl1?uxLogF)WxM$h&CN!k#fsc^}|0EoWO>WXjJpO~NZI-`l2<{!6~MW;m3S0B%o|u*&C1HZ8B{j$ekM zv5@om#9S|{5=bzfcKN_lp6mud2Nb!xVGC07B5v(Z418-s2b$>GbscCTZPdb}a3*n3 zC~N(wwtcO_0@QB@NUf8p-{?&M@uA;VJKK=rYIE{d2(gh1!f0|Y(VXnfE*Jt+~a-I|9B$8nDAC_&v1>fu}%8#ek| zYb?|ax0{7ZB5Sx6s@d%eC30M{AUDsN@6KG7Z4no}oFv7*WAX|HuyE z?96U_las{KDkeFEa6AV2n|B61E=P)Bycx_(=j3b1?cnY>9n+Fa@C(rDU&{QXl(?4p z$uP3YlntZ^*A+$(CQO!unW6VS(`GjOFA!!4@@}8k%*NNmzyhdSCw34AVij!ed^;T* z3wiZ@8|u0r;2{u6l5;^p`ar1~3h3N}rjs#;A~7Vh9lEodz;U-g?9dMX ze0~#urFauGg(!fiCM1ad9s`GynDwLy!ecNe5S>%Oe#=p;bjqTvS;fl`0fH4*jt*Gj z_D2woE57rryyiidwAjf%ks#p@QP^-iLDwRhhgYc(fHBxy6K}S%>fNg=cj~8~A*(#H(X$ z9nwkx#V(I<|4{_R2!0JW^{DKF2t*OfP0DAYKV1>=Z0 ziIl%`u^_)dKE;Mx^zUd)d_oHb9`@@UaXkRJEfF@z#UR)gd!X z5xN3bvN=FU2)$xXKBOd8L&X%UDdmtsHjk7KBPjLtc<6YIq9Z`}FrmlNuRVGUDd~tF zTR7WDgufkZ1fXrW=CbX89@tXu_*=@a*+JJboa6*(F`Twq?7uq)?~<=WZ$sPhlsIVd z>3Vk+E~bVkQ6cA)m=&B6w)?TY2(MiB(3a$0RcE~knPX^ z?%Z2AN(1doKUO&hwD~(o8W_K1JpP=ZM>kY((8CyP z@OeNd?Ve`q7^vO*v-R!*ZzXB?yl71}eD>4s#g=d|alIT8AMdZ78_9-6C_o}uv*@a$ zjCB(RRqHKN9H0aV;*~fLykK!q4IES~fjhD~x9!^?D#qMmQPJr&LB*EIK*je&h5Y@_ ziTBzMvjf<{=OK^HGQ|f3ImlmU<_5{l!$v^vKOj~?TFSs*XROYKk6yP3xzq9S`hJR! z0qkEov1=YhgLqC=gS;DmA;!{4UU#$Y=N@aNpS!T1dwO<@_LlXCC21E&cafdN$cx}r zolh+0=d^9oFMRy?_Ra?!*R8$d?-N{)FG35>3QVwemE4CeYqHi)WenbYtTi+0f*DTv zl18PNMybvsBsaYeB(97-KjeAFDKT~je&Mt5jBx-Bx&fKizeXpWW}=fYOQ?eNgYzh( zzr{;0WamA`3{>k3<5X{kp`)vHFWX?InL7Hy29NF#tb@#_UMM}RwJLrbP>NXu23!nf zgV`^;fPF3A{5H=i`&Xz5c|yeZ!TE=3U$ap{_eR3!h8L_OpDt@1g=pVDb35&OK+VvG z2AT0~gz&9BS8Mw)p`_ zg&~PYFWUJ-z(u@o5s5hWW7<^&!zkc4qtozJ^@kf6j=-@x$32eqpeniyvlG zHUELrmcu(U6LCT?ksdWOLI9)KE3c_xLXCGyjT#dYYNQ}qFU|GAhQMoxE%X|4yoN@w zAqbvn$aWFEM;C)?FZOOwjg`Gyk7cM`F*MVP!!RM{f?m^&QXNo?^70)G z)1Wnv8chfRh*03(y1&U6hN;1kIdzr%PDcT>)9+;uBpO>m5OU>}44-^eCi$7!eTx}` zjhwbGhP1ZbFTHLOXEEsS9`c;6IJ%{CsOb*VL9gM{m)Q3|i;H3@ngJK}Ckm@!5~6s3 zHP`_j{7iV$|mi6c&mpM~-1(&{0tRb}h0#i7AH)HN!WX8al`sjFCD zwH$*ghhHc9t-z$Xs%(`<6pzDjPzz&UP}AfEY^H8vW&EldG*gQv8ek+bZ0jqWH*@VV zPJ9R(szU>3)l{Jb8fictl?kOzq8}FWf8~^Y(?J8PCqI)e+-^l3hlyCHwz(K1+M3)F zbDw0u0EZ23CdhzI7;>|qxg`3Ub|2!*0v2G30?F_-a)o~ZT7W9p11^(&s*aJ*dmL$; znpSnFY7eN6{!-L9j#YJVQV-X0QyV!I)sds+JF7Zo$qTw>U^cYK4ehaW_6e$vP-8nz zPdvNbV4W{TGl0c>>)Q{~s=c?L(}%Psj|Yi>N@Qm4%IQ2&`Q|eLn5E+umD2H`9(Y8G z{;#F8@6W;v5c`H2$11Q`H6F!PZ<_Dw&jNten6rbo#dt#mNm()jGqV_%F!3HUV^|6N zr|ip60?shdeKPG4)+GL?3puNapN=7(^)g2dB3`#TWv_&y$MTh3VR%y;m2dWyZzkZI z)6F+?P0-#qzMpO@c}PssvNuA}B%8K%tz$wp*gQNE`F?U)e0QCQHQvKwo^3Q!;1zSR zzfLhE;i?!&Cqc(^vT9AI2KiF+CJB?DDIeD{`tDHJAqcKwOSDIb%o_d!Hm7e6{}i|< z-pD0T!HqPCx~)MPYV0YMkIs|qdW2duR(!OXKQ^wSq#^^4>BS=6q9tg!OJJaJZnRiR z5Ihg?8uRK-d1Z_~is!ZRxxlCv6hIWPr89K|TMbQxe8vqOKt4n&ADs`#A^UBaxMg&K z%!YkpjJD?DYeE|{X%01t?l#>j&~CjTB?!CUE%WL@c@-eYRKfpt6XeN6)^61yo@;a= zpf1eZrEM5V49_?Bg1o1z^mKJgQ}k2_9j}9M&Gh~(sB*sl4X&BqN6-%6pM$I0`*ImF zIw$`{7vZ+c%-u}hT{#XW?U7i=1UkIGfIW-2Jj%bUPv&<8BTd;rN4>6@7Yl35Hb-4y ztsM96xs41BFiWd(>QJ#uz~B0j2q8?6g=mgeW~*GSKv?&$_59A%rCO{HRHGa|FhRzU z5-10gw*p*Hqe=vbhEdQKN(>blp?_O+#L2XP<8ZWKjR2lzDueY>ol&Ex)|GpELKdP8 za8FPF3d(Onp_cWn3a3BT=-+V`Z#f#9C!AQDvt|oL0@6QUBU^LvUOY&PidtA}*_Kdr z8MRd6(085qAoweaE8`ISUPYC02Um&{>_v5%V_i|Rr(M)cmeVSHgvun9v!l4Q$RJMk zFfo?(W4{TP02YUu83Cj~F|C$`V^b(`D*?iAVh2~)(3?Wh0)dVu3EcBzixp`<3Jwq9 zJggSV6@bG3QC0RrJuputCSK)sVBh%1OkfMJ0NZM@x?SmO4gl871d-Uma@`n0C+KFs znz%g6co&jGv!aHk%@(9C4o$nsyp+!Le~DV4j@ydRWjhAw@^uvmEOlb20ZS|?Ab||e zXzujtR0e8(7LwyZ0yY(12V|CQOUV1UZxy(d_hGzJIF`6uE~Sj6gMB|g0dc0y#t%}| zfL+;tWhK16guE9R?n?r@kv#){uV?k(D+S&Lnm3weVQAX0rn$<%xk;x#l8JB5x$bnh zNB6BT3mjOl(n*fQ^2k_Y)&e=)kWmWVGoE0W$Re!=9+6^Vq=X{6T7bYRFshuF4<~7? zpIB>x3ox!+bGKH;Kv7dIaxF}Igr7ker^%>_eMbG)RmQ&Jm`qr_F25;}E!=EWK*onC zn8i|%sE`H%05M15;Yo>m)OXz1X%&oFskM{=G%lN!Fri7sm|gN??YoU&urd7_|0bE) z+{#NxG4~j~93dC1$84pJe5r=-5Zsdd3XT}}8M(#Fhj>?V5ftdE)D@Q${psgtU#aou z>xFa7i7Mdijkpia_oG{Osbij*2mZo6;)e4OMn;Y^`2pfz7`i6RYam7!QPKAtcg&O7 zJl{J<*cBQEZm97kluZrB!6bpSWK0dt+ZI!y1@~SAjlXo;BdHtMwbcPE1XdK(gNEQJ zWntO`g>Juple5NvkhVLPvqXv#;io_Eus_WUv-Rhg>)9WUbfcg?IKXJONpGA;g!kIj zEZRLVkc)N*C>LO7tGdN~4(S2FWMY{J4}R0Y5)c2l3qK`lfoIjuaE-W$2>=H@fN8-X z;?E?&{0Ib>gLO}bZ8IDu%&~>!^IEBTX4;8z7~|ymA`R&QF}|#;0m18~Ij+|Vq;vIi zL;y9gI5<8cSMxa_uaRnOB7S?aABIdSZjeJ_1VM=c-rG#>iEwY*&aP}H5#GA9!O)?D zwhKeO*LfIvOFnIfp>bEGU}$jUh zw~@84kF)J1jK`lld$&2cuxvzA&XE#O?+{!V`ZV3p%sP3>;Ft4+lzfM#1WBf#vJtn^j>49lmR134107DoaEH?_zLQ}8ChmrE$ z$4dmqNm9%3LbNhIb|9eXHIoU{_QX+IZjHBD@KIY zTfKu3THn5E6eHjON8nR-)cz>o4>zYqRbyeK{C=&jlT;VJ5mlix8+YywI6?9i@3Ei= zplrP|m;=|1W}H^r=zZjQ#& zNO>PEa+qQW1DV~R_%mZ>Jbc97JbePjF+Yum4>h-~dOOhEuGHK8&FyNv-OJprlUwTo zv~}4tMqp^0_d2-2rZe}dvCtddquVmr;VShd!qscM!D?WyOvAa8Fl~V|3*4PJwkN`$ z^)y3bZm|xDB1d*00q$(8GQ^sp6=6M?x*>pqYSW$e2{txJJWprY-;jF7#3gu31h;}X z$ty66M^H~f8XbV|AtUYy{Jssdkkn|Q5^N}xdk9`sp zIp}Urj0)O`(F3(Xkpnh!+|FO97(wP_%Gr?^y)hKRfo0iP&*VaJ6k52h`xtQDk4NZ8 zq2dQtzI!nqTa}iaMN|61u{7pF3u^k3j)L(iFGT=H#q^rK$$At)pMOFQW?bHvU~*N6 zh?N+Z8$S@r@5An3=lVg`*9VU~82wUk@-?tXzmS{_TSL<%P%n0Aer2NHkmZOUp@+V{ zDt=lX%A+i^tEn{6**Z7gc31O{hX~qf6`H>KbUUA zK|!U6@v+c-b`EJ^w+3U3;gU6U&v-gcCu2@V@XulQP`rVCMAw|yHBj|BU5u0;SwYhD zsEVDKm+X!axGHfBc3gDP_S|lCKC(ns{-%z|aN9fi!>~P+sv`bPmyG%bc?BCgIdx>a%`*g%+3x zkJWOuC|6T}@ADUb);azeicUBZ#Rh{0m9fw8TpsPiNAWy^^J?I{s>kcZc`Hh2yhp0?v6Hk0hk8U%9L1^xQX-O4-)5eF#*HH2G`u+z-jsjf(~3)2(AHo zjJ=s$F)C z(R#0+V?jcjJJ)~BYE}Yp8b`Lq#h-VMeGVr<^f+=2G$IQ?qKD;x!j^Lmph^W_W@4X) zboRL*EBhSNo_%0a^c!3mTj_DoFmh0Aagd3U!_Yr>#VBE-R=I#=w}Of8gnlA9=~Ic*OFka%ov z0Eq`ut4;@YGvo2UDTc?UiDB|v3`=g)nS#OV7z?1dZBsj>4)ReSUUjX2|*Br z;9|pMB=~<*+D=FVDLEDHNVo4uA$7i7jI@1oS_h;)qeV%rK>t!wultQp>h{uh&D$AB z&4xT_b1yz!;H{Pmw$Pml9)OCi=m_L{?^2MJ6@Dqm`vpLL6=LpN=p3zAyp;iDHk5n- zWr0vCh(4jl17MIQcjd_-(Jg%^?T&wU3pMU+?n8}veEl7*)##RjP~&F(h1GPNR}0N2 z5qp^Ib1c>sa*V~Yh=nNIXIK~`U$qmbKLECE-S1OZ$L%TyR>_TXfT;jYq8h}R92Z>W z4h-?}QH9v2WF>qAxnPO#u*lgc=V4V97%K;|@6m zW=j=5KySQ1f}6*K5os)>eF**8Y9c)14I=`HF|h2!n6Z;| zw+Oqf9Xu~+wEDi=&_@}MX&iJMo^|n4hF?r0RmMnE zKp>}Su{-!}A{_CnlwCv^DsYkFNo*WUm4t1=1{bpV;;j`rchdx@GS5qdFZ`F^)lq3( zExS8gSHHZNv?kk?uobm01?f1WP;dt4#2+Q637r%65kIKlKk^8l(o??HY~=%$*&#A; zZKV9+L#QfFcVb+Owa-xmi{z2=8S-);hg&}dCw^qn2*+YBiik}oMpJb>BsKiT#%*nD zu%~VjW|%Uu5jfnge0~R>HwVyF2RF2B6M_C{aZhOx{?T!HN%|-KN?3X8zc73KEgqwu z)&8gbBjukQY&71nc@li(f5++nbbc4s@7B6IRDp3`hu+A3j7!AtIfT<$Fd?ZkU2d4YH7w1c3yl#o;qbx<`WU_ESDUm?Ze$>2Bn zbiqh3pr25}-JQVH8BLLHdk`039HoZB7VAKe(DpLBga6fMG5hDL<-&e7diL*)SdeQqH!+PO__ftfKP61uFD( zUXklx!2T8XtDp^fhW)9mM1L4!2mn*@8=5K`Jfa(F`9TAx$f2eP`%%vk-1MW`>qiY5 zZ>u+ufAE5~Bal0Uuf{@N9Vu@dOvs@NpusEh*)qPp(G3DVG!5{b4B$@Ni=4+ob5d?X zjdKamM-V_K-m8d!LTb7cnJO23s+_5kB-#_?1bfL!<}kv z+8Z>gAl*ix^vA1x{R`b?C6$f3Pu`wQ|6XyvkRpoX6Wz5Z0PEa6z;FD&G=A!%<4rsK ze@8c5M*NSfGx$GWl9&)1=wUnjcNvrc|DjKV_+NZpD&zc#o6vyXjQIbZ0Ms7;N4ED; zX2$>N&F%1CjZ7pe89;C<{x5tbJO0aV%ZC3itF=c<0z+S@N%-eJxF9p}&*YD{lYe%Z zrz#u#jNx?;P}FUaG#W-VrNV#z%h}<-`qpgl4_5eve{MPs{PVIMc02}3Ga`TnF*R;n7Nmi(s(yIM2emkj)nAs)%$cmJ#&ZSLDl^byMXkgyh8k#V z4R4YSk#deR&Vn5YsZze6NOJR?``9paaG+63nfo_!Ao`Y176D*Ts=$062HYI?A|76c z$Axex@&L0ERGGiTJr`BB{nM+9Khp5!;t}dJM~^`{7(1?kwLxo`MzFy=$IUg3K>pFe zZ~n|C{V_vKChA<-b>!uh6zh3Qp6qfhtPP@jKQ^5R$6w5j?sIR+#uH!77#YBmXqZ>Jj493k+{bRYCs?e0;?z4bY_c`0!7^03TfiA0w{F zfREp=%8rjyWbbw+_UkI^4TRp-6#M^`Yl~I0s`g=6d@Jsr;XGQk@CK`)M zX@p2TZ9P*^Am0yt^01t1<%)GBxnfmGu2`P z$q4TeJGLI3;2&+GDIey@go9?$>$~yU%p(1+xk$gmG=$%Q>^0H?O;JB^&=^I9tZVTW z%$vY3?vt#@>x79LT+bGPV;IIZBa3J}&99_pHY438KTDZ5%dmi!OTESX7Wr3j=z=hM z!e6CTGY#*Nd;ibblwI*?QFhUvdW4!j?vtrEiSX}kRgS={2Bt1K!d-K&<`62JKBnkQ zVqhKNh=Ijc%p${?@J4hB8WYkInOt-x@OU22*@|ISaAh+lkkIhhSPCoxdklEZLmUuN zNyC0@ZQoIoDPbY9=XcQ2*q^d>^k`X-I0;$f*}~s5v@n=m!1<3Iw{Sq#7TytuJzBVq zErd3`x`Ge7l_~=!ubxL9H#};o}+fM!p7>C!ix6psK`3O1< zU=#~zx98wu(~AJ$>GG7LByMKN&1}=Ke&%HStU;bm=4XpERx`1v2r*OOsx3}*8@Tiq zmPj1dD|g2ncdr`6$;;eSj!t2oNEDT`i|~7%{f)3Z0MR0_BO;VkiY`G5u-LE`Mg1Hp zA5(~VTBxZnYuA)%0yO8pOG<1}b}CXnM2pG+KUy>*U$N*2Ta+D%ly}pjaZ!K=dDCS~ z6wx$DEFB|~a6@pZ4-4Fl%awhF@(Wovcmi_ivF|HL%hZ9QYiZ8LzGukFfP5-Giv5?M zBvb}*lN?K*NsI#(-4{KBullCE+W1`Ht2N+%#5HhBcdUEzd|X(e@Fq8St_(FNF=bU9 z-*hSbKkTbFA~a29`3$-~)OZxiRssM0SFz{nVe`MFz~s3LZqVlREdvlx7o^8TwZ_QS z$PX>#5#|@Bhm5!{j#ab@jw^&U42~Uh1FC~#?o_!?_4- zI3e3;IrIRfS=T5-NpRk5iH+fcMIcf1-J(9EezR8tZ>h}fIEbjuD(p*+hI<2c(Ito~ z;C?J@)rud7YG-Ohm+AIuzuP913w)RF-g72Eg9iE9=!1yd*tYaD0V1CMnW_<^4@4rf=z}p^d*`^J-~9*r zK!6G8144@YXZ^NYAMC9~1NuNzjHnJzAE=i3{#R1#FVqL?pZgho@a#W3)CV)BXVVAA zpQ4T$EA+cP8<6Z&eX!-3z^hb!us--IlRlVjQp78zMZhe(iGbloRNx%ZlT?8Z?-dYF zwMMK842tJUBc4)%stXL<%4fEEDPXH#DO}3o6~$CK#5)Y}HgAgELyuy^M*bLu;|pl> zx#D}9ZN_)#B-1)=RLb-Wb8ii=S#nQ@E-FfdcMlsXiTW2=oO(SeE3#+?dZ`P7SxlV| zO@n|6)()|swim2xgxOHLh=~__6P0%P4UHwny{S#dJwVVlh&LBBP(9(zdbttXz<>>$ zi0li@xIufcD5MxS2!$7u+NP^;DSNhf6;FV@ArBy#6T}j84RJ-wjYoTlfmi&RKw;ry z!9N)nr&c^6t7V;@@?Qu;pGpXNhjVHq>7a4^^<(Xg<6dYnUFDO;w4Is;5YF=2>gu=_S}QEINGF+GDiVre z^MX7#-viKM+y~R4Nc7E4u#9L|m9Q|^7#cTq<>+!k9_*jKqM2UfgO~(eSA)pt6}HZh z0l5w{rLaW&THc~=(ReMfZ&Bf4jYOOn_e22?Pc(mZvavOpM&32>@j{xIZz_;38|P$V|BNH z1Kcab3K1nl89{?B0xcv0S4Dpplg{p&b=XgUb*84NjAe=~MyzcglDE1t<~q5qvu$N1 z{)>X|_ii=4iwGiTD{&zO)poOo=>Wu+unF+sD{#wfFK0EqOf!D3GaU6YVU~t=?ViOd z8itJ~Bp>YPK7O{MAfG(|PnMEY`GOaTm>dI#6P^fW%<^}rvC)urwbTu8REx|sFu|~L zhd)J)Fb2Sbsu7mcpaih=_@F-`&@s%>61^`Fons`HMkmo-E8xe5CLhYe*~7XK3NEhMuH zW(6YPy@mJ4J&X(1hl3zdp^*CSsR9iB^H~4dt=*V$+SO_efKN@cKu{rXq)ps_Bj9#2 zD3D5#wM7>ODTyc1m`BrA4-3BwF`$aw3#MCr2c||FjpoD}H3Cb8t40@chKSO_5LMW^ zv~88g^_cexmtfErEGfG6!`oZXj-4e&S5*+ud4@O{N|RnDSGoG;78)$KnyZy_d2X?Z z;R+Jg#=4~(o=Y3Jm-4t5YJous4#y{A4kO!yhQO$%ZIM4QAL6KX>tHjgtzTe8flXuw zpB!$$C%&a5w|NPAjC&X1L7X$Wa|f!g4Z+a^Xvh};qDcAjoxthb5RjjY(D;av3Rv86 zFM9%^5trc+f~ZzIF-j~ZZAh7U=y5iG;#*UYP^Bj_q0Zv^3BDB5z&(Ut_QNB@hsnxH z>>C>fQ&(k%4Bd3MII=mXzD(k^aj=IOHsXUL}>Tbm&K!u&; z+86yWQvO4}=}T$y4)3eU`08$c^+){*eSy@OzRbD369ywn*^bf|zH?8XtH=jZRC>VW{|veY&(PGnn~H*p66S?;Vl^;F}}}5fA0{I#N=#{ z94n9{mmrIJaw|9yapPy^B#--yxZ>h}g{*Ty(sPqjlYF=`c^$6q?~CE0zsR-g>c4Yr z{?Wv+qD|_Y@52#t%7*D8A&X4FmdWp62MZv)1@BFa)?T3n*uTg~VIJ1Yk%ccM;Zm7< z)kt7`*SRFd7z|?YH;)*|w~6qx^K9q&f=ZNc^YJprz3KPadR}>q&;S8i@lzcf>O2BV zchHt*bklPpYvo*EVFnx=`XIT)o}Bv@4Fa(ZLXEOd)c0UMx}2KAf+5Q!*xUeRS_egq zc+8(PBu1C8;aJac-+5A%da3peN*ub8OMHp&2ajg&+=6Seb#DAnWiagLC5~)9o~ATN zyLJre{+|YYt9ujDL$X6!+5x1!vO@Y?g+hu1LR>}@OEv*kAhx`oB9rcRi9rf;9QrTBkow*Ax8}Q zu^mUO`bSodSp9Hzj<~NO8%LaVw6Z%=TR<^~k%A5VGG?U2ttv8;k3b1Pf4}GMet>+C z2)E41Aalbz0AjDKK)ikw>vWGQg7SDCp&&q?{-x-Tm8w66i>`2;+RFJljrd!KZU92t}KMq z-GpDL*Oxbmw|<>4MmH35mH<9yI4KOI3XJwnbUl{oHtkdomWD@X>D9{Wz!}*(y0jQZ z!ls>Z=osFLZAy&hyH#tn9KOQB@8v&!Ddb80s&D;{vb7XAFf~E#n&3>1lX)kZ5W8)R zv<5r~#T|I>cn(SZofSj#BwiN)7dkPx3lial&vwNt&|ie|(!)j7tlbNp-Z2g(EzQt5^BFTE?4Mo=1^HXM!u5DoW?)xloR+Jat3mliH@ zPX-We&C;;>Ck_9P<1t_;AnJjC%<4mDw(=|}#eS%MpKn6>JK_JzF5iUCdhYAcPEbYo zwOD?^Mq64yI^@^y@pULaS6}1T(7fP#m^6XV*S`%n*uA^O$L@vWJnYggAv-|W1iNQF z6U1(>GQn>Bp1>}T!b|IqiQk9blf89Sly4j%!daYA47L2#;P4=OVKCTyyFm$Q2|;H? zYDOOvcuPP!21j#^oyMa~= zfxT6P3!NSi^L6Ci8h#4EBnB7JTfxjeu{X^fCr1^bnae67%#`IspRXXyNKkhvT3+eI ze!yAN*y@{`yi69&UM5sAC>^`p>wd-2k=P)e^QoE&l8(&DkyBdW?2ZJN1@fe#K(dts z-redimFoT3T4x-|s^xcMlC>%ie5$o5zz0Z>t4|7@=*tz(l$RqwQE0(fFRy(M#ZRKplYMHORsFnM^hMSE|{gr$_9~DiYz5_xZM$5r1#0QG5lklMt6xPbK+qumpf{ z-#v^d;DjpfKqe|i=u~5s6MG%0pC?qqgw(_5k(BdvobKjtJ|<&+gLtF$Y+f1FW~n6e ztt_P0LUl+OPnXA=L|Zx|S1fT)3JVRE?*ST2!H^Nq|Cq0>Q+o@CBXPbqN08;`+it}@ ztF>Nn>&7z)#iBpt)?dNVdLF-{`o(Xt*+3lWKX}~O57=iv@klc=7r2`k#svj|K2TyI z2*9Y#DrlVT7@0S+-YH877S3PqrxP6Qd$qi` zjxU`EP;#(Z%s0SW1x>&ia`PGarGjQy;z=?m-U7|ol2}DEWjqE*>YW=7mv>Yc@Q`S) z5x5{V7{e4M+H|?M?2DYW)8s1yAxsQ6T*EGqZ-Iq;wfXQ|r8@3KwPx!h5e>NrH4T!A z`5`O>&NuU2o^fqgY$g12&3nq%y3y$f!iM;(-OWGIeULfHEXY^f_de z#=*0OaLp%(y`-Ugtlkw^ka~(&!%;~%gSNR3_l01%Y8v5X&^~~C%ux9#B66o};MXb- zg@Wzb8Uh3PDB(T&?D?5J7A=2?eYZ(qR7S)@FPO#)nS$ab-+gQxiei={Op`!91@}ON zpobQ~GlhmR_|#pSUQ>?1L7I7u(@;;Csd9$wK=I*VvQzTi?*yO5=77y7v4u0ux_`6j zSfh4q%2M`x2_>dEtweK53HRLHfX%0<-56vJ146*cvuR4xrya0zAefGODm;@$>dBZX+MXO#nLMh zf!+>F3U0HZor#vfLBgobU@5hP!I~-Imh}OaJ~CMH@gw&5UkFild$4zX2*#hW^Q`f= zV|~as{`6t0#kX*%86_WOJhy0@#K5)ZwHqbD8Zt`O%ny!|dkmH#B)Ti0J{d9t2m^m< z@K5DXBIEgF$R)%S5^5%S)ueTr5xB;QzK@Z8GY(a_3za(YE09w|9e(#7n_(1wdA6^u zFlMA^t9vfarmaQ|Qf+k#AnK2t9Lt>C<-y4^$J(_iV=X}yyQT;{B3g+j^!h5>R?XE88B zS7MA>SpoRseI`D&n~bP6L~pG%xPe)pVQJQNKiV+tPdE7td(64*7`E6j>_7eqwieZ&uCYTA;9}i$}FE_ycnepI8IV@l10n43Mm~`h8g(zN?0_#r)3aqei z?QTKr%_xBm!e*e;07hFRwf)o3K995!O)!E2jQOFRed9-k(bHpSYhftEqC`QiTg;{b zS)oD>*1@NAI7PX=@-yUAYNH`1e<|&Srhdl}Qt~NruRByxHS4HR0ARc6;OZgch9eC! zni$b-kkMnThYapZ3LxX?M}vg>sy~r|h{xKTy7P1q1>BEuo9h=NzgBftLG#u5E$c~y zw;@NK6*<#&Pvq8~pG`}|q#ZWkZ%3&64XUfSBH;4W)d!izkEB}?wv+oTmVk9S1Wc3= z6ELqxJI<~!&yEo+*tnyd*Z^_rRMY&0J;_CB{FCnj6+#N25oQ^ChuyI-i0k0R7q)D` zlms7`#gr&gNX2s7K6GO3r^6pyLKM?p0j2R7>+|S=?>Yu#>9d|uNyY$h4Kz<8>;YSK z*Y<`Ke335xf%y;jH&;;}lo?70Mk&E4c49EpXu@G3&@HvW9eM>Tx~dQNZmnjtKm>{<_{2Sg)FoKB%zc& zgS!XbA@P@02y=Pf0B(!I8{swhCm;E=y?@fz<%K}cigX}1^8KmrT8cLw_9HJbM=J95pxgj@|k0NG>UdT@&Ha6jo ziy!eChrQ61Pdr6_#NXf@2mxB!r8&|6rgFT&7k-q8G~&fAT|~ABz){1S>C&14I75CL z0JU$NV?FYer!@lQ0Uj{ zJd@ec6JYTg#{ygs0(K9aDE2{NXh8#9aG&l4_vSXI#~Ylfj|jLHLo*q7Q3q$ASxRxw zixUn58~7SMQ#EHE)e_P9?%!r^WHgkT*>nNo6L?BjR?xwb3UFfz!2Ae1Qf!o+?bV`` zLQcX`ew`#*1_U*-t=_#V4=k5RSFk?+VZLY9^Sb)$dCG+A1dVBaB~Wm+JV!sNe1!?O z{*wf=E*t}5{1Ra%V9$4Istr#ogx0WdQZHfEl~N};LFIp; zixA3%IO@;OKiCKF8p2Rj)wi2=iMTiF+riW%F) zwyHo~MfUun^=umhv&*Yl=5iA~sGyAFQNw?bGAPt29`_iIefuBAkXt4kVf$9YzKP6$ zFUf@a!FW{KsuUt9TADM81)adRM&xjV?@bBZU>sXj!3VSW2{7FvR}8J}2C>8ttzk9* zBVi)5(JqKX11B-?`yRA>uuN4hcAG`njYq2_mpa>)OCnjfJdgb)q-J%pfelC4AlRdp z#~I-bWXR|ud1FAb&^WR0s>+s6ILHHNJf|`NXlg7pk7C!JEC;yDy0cyPsIHKiHv{gb z^zrU99q&M6nL1-BPGPNP1Hc-fR(jKPUq8f*O>azPKXq(+`!sKCqWKcAR{wNgaA-Pq zFBzJ|$!yJxP}3HC5}a#_St!2F_)zd1?RD-%c`Z{h!Bvb>H-?fV2%&dovuroE{Yi02 z{&cWf#X2tRPk0mIWV3G-7i&F`)qK3nasPQHdYa()LXQpGvaa?Cduo3+!Z4_Y`on=W zgm&?VJupp{4pK3!BRXFot^grt13Jy;B1n{nP$$9%rGRAS#%FW@(t%k)S})FbImOdk z-eFc_ECduJAH@%MP-pPN=AaJs^{4oQ{zjCTIh!2j!!sqKCDoKEOZ z8O#$BOaA=+U_3DSSb2&rjFMIqkf3c`Rd;OU6UgHxb0yix?%L_E2ANK~h_bfqe&j#A zPN&UO@3}kJ>5;mA08tiw80fbd+O=(aDv}9pwnv6ySfFBBFL05uaU*&ZT%PaNa9Rat zYc0Kz1@0Y#)f-s@Z=^LGI;WddbH?_8Xf(Kpyfd^lQMn88^sCaeTQcR(+R9x(?g}#Firr;2 zDB1Qc&c8_|NE-f@vYz(%>unI@;Z6{uty8(~v{1}6vXd9X5bq-CN zC-2~pJH<)RgkmUPXJ_&H&d!R(6?})&o3O4L-CQxDKhk;zp7K$?vlfRTe#U91BF0&~ z_2{e!HpMc ztm1?X&bv_KG5V`psIe5k+T!kjt-#B_eI7`|hX}Os7o^~$M`+r7#Ygx0lYSN-2V}$t zG;07Kz{Cdp4+L(?t9uy#_NaTX9ZoLmZ*cOv>wKJ)KIY*>bZ~(0!?S}pd1W_)lO2#8 zSTWHP8-DdyuTUeCqyZ-dKLRJ;C{EJwAqOl-{x^DFUsvpdzEieZf6 z>`cO>&Yhg!;fA?XA&|cM<9!>LX}PtNCdVBQqy- zm?02!X)D6@zH5cOU62on@cK2!jS0d+NhM#&#b08OCM}prkN@nWhyQBtdzA?Mrf8@uLbqml3ME%=~=2&i`up zwa{P$V#~>;ojfi*@c`x0YRX}a;nF9r_qkLc350RPn5r`)mma;7a;bIkz{@a3dTvEY z4boYL1wag2lC(~QUl~Sa#cl(XLX8F^cgM#$WZ8hXug|_Dtnv0KmCX!WD#sgqVQ2p4 zYWJXE1FZE=l2D2ng)9<;j7&&q^4%2=1UMCFL}79&KZSgu1bKE2ii2kh+~-$+DbWLk zU{19$kU!E%SR8nMuTgDL_uB73J13w;)AZ4gghAGugb#qwxIt({pu>Y79#U?q!QMQx z@>1WG+*?ifI+8$O{EnOG=&%^aVvJx_I#n!;?>@9QpPAZ9Sr*I$KLRTk919>8w>VeC zGQVI5iU|1PV0k)?J+7o+V9BZ5mk%2vx8*Z~LpEd6S`@I&?jkIE2N zB3)l4jACMdiZNHj$c%p}QQjg{sD8Jv5uN=_XeWf`oV6I&p@`AcmAL%+o`}WX3IA8- zwS5){bf5y=b5COe_L+dr3j-zw_IS`U0nsN2vpoa(i3jYxTKRpoEd<6KevHm+x8V7aNiE^@og}-xsm+3pS z;q2VD;N_S=~33kWPQaegJMU)$~>(fv2>GxsWUU`WTv z5JSUr<%x-=#i9Y;WXUoI9KLc-&|VY&1t1!cVRiOGyd+H_TgDE;4K$uzq%pQc3p<53 zf*mpIWXv}rk9f{hlhUf%@%*d}Bj6;pHXz|8tfMki#*`5C0HXM_VZi_J% z!$61M3k7|~_1bD~^4)i46CpAu36vK!1FTVE?78cT(7Xxzl^G9VnjpBXBTU&5cIVyg z5Qb`jF!h244BSJZstv;0uOAs~iGhmm!4ERHvo{7+hka>KHF=^k9l-LjR5#9IsCql` zvh4Ps#|y!&7Gu)AXx{*a%p9tkT1}@@qmmcEvT!4xL5iLZu3oj%2QQK`DdT5c@SH_o z_n0&h+Om6!zRolH8V)E`uAii-?&NMpb*~?%Y?X%z)FE=xe~!t3E;PjWFYFZgUcSX4)%sjDIQmTlSCT6OYAC3})nAcdK~H zo#;OL!`#xl^l_mC?CkHvfsIJ{2d@Mymi&N47lSR()`p0pf4MuN^$zxrO&kkc2io7O zUHdd3+=X}A_R%sVTCGcfaBembx(NvGjV_u`u-o2WO8-Ms|3_741n;>MLpgk|S;?Jm z=JRIXEq3*D&ZSE|D%)1Bt%|ebIO2gnrCz|8?H{5dDb%aX!8El*Z^IC_n+X4-)*l;c z)6DMp5nz&xW5du+!U?fWPW*c48*BiAFakYwTvEWf)6EjaUA89F++ARq44b2DbLhs+ z+UP!Qy4LTGmOwVKs3vo0w#f@byhU4xjzw}#e%SvdIi&%PYWW2wUCUI5jEK5n3JZXn zFq~or9j^xhPXW=Uy+9DN_G^?U{XM}!G>ryT$s!#YBT z?8fG_NDvdU!X5LkIWaqp%ZDk{c7LSYk!CQ-D{Z?)-%iFvp#0Y+oXa{SvjbkkQ*_axwc5Pfyy&K4>e^ zlUFtd_2j-%rQ7@w^j~*h=cmd4U7bjn4GI4shdfjv+*<`-tpw}P zvHql$#(;<5zazpHJUvMSf0vsTTMh+(#KDTKXU6;3a?%9<&%eorE$1h}R{SJ@eVIso z3DeC$j*w`!xd+=X`zh2cK?7x9hnoM*#>!p@-6+wUiEuG=lOXoo3yD}^TgwvkpMcH4 zH^OUlB!C4YtRcJPUv~|^Daj)BPd-oHJ3*wL-T_EuiXBrUY5ITAFj8e;+J7%y@y*__x0(mJQ%qlL-JgY*0p(vCLY(vF8kf=F}Ggu5L%r z4QJw+kaCzz9U^AvrKZZN-(RAl`#Fq?HUUc#v1zs$vK#`V*OTtGf=D{j=T%Kc;-I=cCTL#OlI5PCGjdZ3KF(={b;Y7)i8m&h4u8lxdT6ev49wW z%f8?j3czd2^`l((hmZLYm&L3D;Ahs4o_`NeXIwv;I2pPN0%~2LoOsE?*3`cQ0dsy1 zFxCJXb>RQcb$4;MiI=(5U)U-kV6-xUH2asvpFL?`;e0b?NgZvho7|*Dv>Q2I?P+A? z`D$NQJ|F1Gin!S1U4zkTdq(zVyfgYkH&;xY}y(TP@v8HQmX$tfl zezHRUU6Tj>3*Y&`uT%>=-0ig(1*{h&OoRgF3e7-cUenDLe2c1b-G*MhRCe* z&5_jkSZL};#D|HOK!;>)b+u952$|qqMkbu?_H^ad_YN(9t`>7z9iKh8|LPyXXFzHo zKIFVSBXFa}vhV5uoqb@cz(G*~sWLe2^!uR1E%{E6#Cd41wEbm0+iyARRsRPWN-TKp zw{HOv+c09HN5Q`|{jmz~fR9qLXN9^}7&-btcLVwzV|>up%m!4ZrcJ@c9%eVkb7ES7NMSXx=^xw)(MOLuSW%W{eE(DVI% zRiyQ+Pu6~|`bO#gL(aAI-X3`akxp9?+RE8WYyR}S>@`0c$&g zk5N%O1~n?WC}RH4`_@}C-90_iJ+i-lJ|F0Lx~t!MuX^jP>gwv>{hv7GfRo7~N%tzo z+KqKec3*vTBWPEYw4)raMD4=97}%K)b3w*51S{IAcLDL1#PAlqj7sM~*c^2VRe?;4 zQfA$|==WTBDhI3TjU+8B=G5y@RD{7a_P>0F67eIAB(E*DIg#G66pJ-fB90c2K9Q?; z=Hs#fC})aE^p>DqX5MfHvh91>EfIofL(j9m*&NIFA*I=WAKJ{x?EN-ef1qtK1L!;a z{}-x~*GJ(o6(tSQd}8zqZRn>!gKQduR)s|;^dB`Xtb~F_@oGxNQBB+OW&=Yx88wna z4#5f1M0sNLzE6_^t}>E+f5#_z{VDk_*-CA?gRD$8-PtL-=?)~+wduDuOW0v&d3J}L zZ)t~}hhgBy8i^%Z+l7S9Jc;ui$lG~70)zSPo6yszIx;%+Gn#U1em;zBSm`HD+}F~7 zb?6!bJlLEtOtl@AVQ}WuTJe|Da;=ixPNmt zE513kuzsH(R!F~Be#QDtE+yTVS>248qI83qbFG`LPaxe$XyMI$s?;+|DZm;=hoJ4l zB{42}0lOZMGNolBtstFx=yTqeTAxSm!Oi#3*P*vpvU(%0p}(Aewq~D4Emo7NJY9$Y zl}0hjm)mh9mz^t1&-MNodcC~uh0)_E=B=bVljL;PRpk^^=*(iiN`n>zfv|bU)+8p0 z1|3DH8ZH0;XO{_D+_hTMM1D&gsWy1m$#k=N*@zZ;g=i-Ze3E>&%!GZMK~bx>_eXyE zJ~`>E?3|g&)bu9Y3)EWx`mv2faaAKl@m)`#8u7gYCah`v6fvb9tqcq|^<=b+I0NSVB~(>?cEqX0Z#6P_xK~ZF?=7Q(^ zFEX;b0qsw(<+Y(`Vsz%Qa)i^-M)Fv8E%h-vl8LxS|8X20P};5-^#wTnJgYkU*>37a zjz-tk^(Y=4Ttn68OtnzDzk2Fdb%%r=Fv}#OU%AZsL4P;mJuYy98^=U& z{$lZu5196NW*akGjDW#lX6t z8H?e9Gq>Q&8~Oxi@;3X88+tcv2jw5rNGs^&HP>m&sCG<^ZrH5;6a3$&{(Xweq!X=% zGPC=5a?^$C47v_tG~1aF$rXRgCu!X@uWy)bv_- zojyJp&%0G(3Yw#sns$|F1&c(f?Z6-KzaU|F2Ho ziLPkQ_2ozCJp+!QxCHf+I)D?>ab z^}UV%x2S)$^EO3k0Be8CdIWcg}k z^Ke|T%Nb;1mF~nsAT~%53)QaxF>Ijr4P4Gn0uKGvj}S838z2;IHiS+T3}f9OLj9!f z&UmoK6M8Z+Gzpa7*-vI!Ep zAOxk2y(b=u|9dt3ws~u7SIjS5fnb=on4k>+Xu$}2LeBFrQsbHajlCOQJU6*@*YhCJ z2dl!~Ob*8ajmC{-4UZZ){h&E>DFpg0+CZK>w{4m{S7FUNFD9=dfglz4se3RV2g*Wh zv=z&?z#ow2u+=F&$E7`9`gc>}sAZx@ydqOs!wM|hF6&xizVIBlAH&?|@y{=UW$hta zfl-i-^Sqw22Ob}|+vAxr%s-MF67l%27LJ<<&D+FROP4RHzyp-c-QM^iVzpDBL9dto1*bfEwR?cxTW*M?)7d#b3jq++!enQW<4a954Q05$FT0WM%<4l8KXksQcc9Ta zAX{sl(G1JbwI%AKo0lJMnm&ky1ThUYRhc`#h}SYyN3_$cCd{|Emv(GtaU2a?c-%un9)A4y%hO=? zBnf41_WYInF8WCMnO}Z)_sQ?kUi@;)E?vLN@sbE4u2aF^8o|9*XKjHf#nVAqE!R;> zfB=V3MGwXibP%dsv^?i2X!%&BWk-8?;@A1Zwu)a4s}_gAMjrz=Tskmt+365w$T#@) zZSd3=Ns4!jr`f!iCN=i!DlF11$TED0#3Z{Go6kH6$%Ys4pI>Q@yRENAXZ;vwod_EyCMHZtbD4?nn6J*qrq^SUoZ4F^=|dtKv7R@>vOu z=%f>L9`Oy4QH98u!-vi9Zf2IzTXO1zHc4?&A|;##)A{(nnvz1@faw>9;IR2SVIQry z8m$;j8My&%V1|G>DLb{hFIh-<|&Y`w!)$|m$@e*=M*m!+^4(@a&b(K-kMctH9#}<8js1M_xQF7WH6_W)%i{|8AvqNs znS2pFI6N8sj=9-UN)ec6cQtgK_GPLKE-6!u31*QJ-$T~9=t7oJV<%sZ#JM$eHF*Df z5iI_5Hj@J({5kBM!KqEr$NR4nQ`z)Cs|ry7R3QoonP*lj1(drg;3(({yH>EKb^4t4y(2T3mjCm}834diwH$|*p2t{nBT;C!8Ci?^SsrhyOaQ)Gn=nudBwnTsU z=F$K6{_ygvzWw1kX%L(24<~)66ye(+%ts3P!^^5YxaS9G$ubs=8%Y%)YAhptzDCU- zZpqERiawW>dmpR*FY1{UM!V*}M$p8JBs$q-KSIrg!wqglpJ4tnnu(Z%k zWn(BNXI3MOp^>Nrie_ta$tlGU9s+E57{YFwjr$J&{~J9%!TKK6A0zDOhL&5?UZ-WP zwaJR6jakPp_a_EvFav(UAdhIYYH*5$fwmxw+RbPdk9lc^3Fpvw`5`L}jquA>(`s0P zCM@fTEbZQaM?KrGZN-7yc5@TE7efTizKqEX0|$6t(xI&K@|HS31x8X zuSeLQ6~Y>UI2kMnwa8kv$6nNnUB++Di(O7=hmp>pQ0=hK{>nbTy1#k=Z;sz)NXat2qKRH0X7h-9`k)RIxPCCGobx>ivJ zQR|FP)Ib}^_L5MS?j(f4yuR;ndj111sLI-LWIk8f_2cOK`aT4OwnL$+ku|O#GO-*} z%3C+|gByl=VTNq|kotA>n;x>R->%-o|J&Dp+_e^NXZ^F;W5V$?wkIA8qxED6I*7lc zH);vqbb}rs7TK8Ru!vWl2sZ1kn{!&jQAIay>4dn!)%GOyTaU5~kD@1J|jsZ)RKF;8v{1i<*d zv>4>#QMqUR`1U!mlU)gNNH2s2WVW!qVw00N9;jvEexCKl$cF~N5>pQm*vBqx+o z&I?blFT=mp$uOP7j&@iKIp;oXsI(;$*ZToZjlZtXrbFz=u8|f1s!$^WdIHueD zB{<_5ANpmy8pfzx%*2uJ0M24u%lNA5_fsEFQ3szY9$5MuXx%ytke?3KM z=jH(1EZEkhG}Mgm+41t4TtKkQT|>Ad?}u=O_W$_R_8IIVUtp!xK3K>>F1`ONR{7XI z>*wd$XZqS-ir8o7eeU*|Fcoc&V=ICKblrGRWuX2{vIIheZanmko_W{P0?4qUVp z-pgq0Q#m9XR8(`@pY9mMcSwvt+`#8llYMBdPoQg+{&9o(<-OpnHk%FP#fR5XKA*>6 z(?fJV$7kc@$}%iuLnOeuI|NbY`QQ`OzF^eX@b;)9K?-a*M8G#~NCXG5`rjIj@Vp^R zjs^Pmcz1G$JtJweot%8nYx(YyAD#aP3H5Ip%A4QMhuk6jV)|g4r9lM00GhwBvaEA< z*DpNdooi3l2!I!+^=Gts;v4~dDG|xj-!zrVnQY~pJp4Sdr4;@$pXBp5`z;s#?s?zJAGeuhcUkz` zljAdl=g?VZo;V(cU{1&115Rt0Q*eeq2frohGvdPUnm1keoq3Q7Y$^tCg=)>gdHkBw zvRpoPcOiY2#9!OT`T88=#^12DYF($|FGT#+&vWY2JmWO2#qHeqE9k%Q`cp#MV?yG` zq3@RkKWFI+@fuyOB_KM{D{y;Nl4FNCgqc^K!dxK*nRXXa5DFaDKRf;X&{n{X zg+6vS%F#!Hpy-?5E2?En%{__g<5`lwlHP90wxIW)d4=f(XWW8{e7EQJOul{3e!=R0 zeTiIaMeqZ4QrVXh19SEr%D%3BC~fJ95rw%6FZh!fFKvBC@ZWiOwguVr5uEW{QT}cD z48lju5uiT&FkhhSZJnkFbncT@fjB@dz1@dEACMW4*Ta!=>45X`JObM9?}U&;Nl1r$ zbBoI75GUj!&N4}7RE{I!oSrYvx|9!bzJ@qF+Cqje=9zp4I6oq59w+~sW}iQ?AK8<( z@0Pnb-0~-^_8}?FUHu4ju}}NlczXf+Y?^$hbH8GjZ;+dO``8*3%XjE)J`8rNPx%(5 z3dmQI|FylB-<-zS#t7nn2Rv>y7srSCTa`GJeqa@CJ!TyCM08ZKJU7P_yn(j(SH6eW z8s0U3zOAVL$$A`r`AP?;A$D^#Epu_Vsf(@rb3U-}7CZmD+4)aVJD#>7fkSY%O@z12 zQ6xfv^*Eo=ef)l!r4PZ|+t%?~9d%5Y_K+zLbXDrTFdn!4{BFKY+LyY>^v}nvGI5B@ z%+)T2!08X!51LWqiU7kzfMY7-C3N>tWOy@h} z$tLS#?K}DUNImDGkLzXc4AqCx;Lz;&=O*i8oPT}%<`y6N7|@ITqsEqF#I63JSMcbC zLVDE`rnPdT`?pr-Yvu1tT(mOKHacc6dEy^hEAgUU!XCk1!Vb$`0?-f&#`5e(tt#g(WIsPF&jQPMz@B}~ z&QI2({AArwqTF{gMERZ0XdLovT7Q2D4~Fd0?fQ(1L9Vh%$Ia~6n|v7LDt0LEd~^96 z$mo`D%6^UTSxbKtwZ;?5qS0tM=A*$Q5zJZdnm0%myL^W}?IPa^Hu>1$F27OBhqhj% zvoWala&y_0s$)SIv94VLZ~U@8y{ONRhu*shl5VH1=@|b7XKZqRGWYd-kz-G}h`j$g zbyCHM0caOy;s!19ukK$*PxjrvzIG!t;nlysrP?b@V6nepw?B9C9L?*<{)WZ=ujMP_ zP#J631|Yxx&Z-RBw%)vawpNBw)c)*!+>NjchRu_&QYt_6Px^pe`}RL2v*F?uh;VX^8bY*wWt5jF6#explXlt zzb!sL(2+0U8IsN0BwYBARYGpz*IuV3EYc6_b<6bF;-{-^f(ke^l9 zm*uWbDPcdgagIJQ>$;s0y!@0ib6a4py`Jf9)! z;|kZ1_GY_s8)y`0~4c6XB|$s2*wIEtR2@yO$ZYkXMacD6?L2{*zY_@Gx- zIYWEB4T5>Dk9)LeJh08D*`=HPQoeM?zg%qfByR$)r5i}0Z_?F1q&xO+3wMX#LGu!-XI_?prTARM_xzDO^ zj;~EEe*DEHzHUjJ7mTl)oX@_*)8BTP5)Zq`^!is;naZdgxBp$s^sDpPacChlVU7Un zHDATS*(3-+W2Z;o=msf>yrmu1lm16AsUnwsKoKrku0QRZJKlQ zFpRG*Ylh%n$SP(+g(=saV)Bw;lqBxnfdm+e`YcJEi9!!PVhXt zo&OPT{BLeE7Y_%|p6<;*kCSNb3hQY2x52-|=1iE3^4cm{iH9eQZ_I#L`{s4m&i;CS zDe|d#bGv-UN!M(%&jB|3aL(7%RGNI|cOnz5E|iouKr$U@m&q|cyt@>6I(Ww0E>Dwm z-8Ok9eqr@Dp1xSv=q(Qo2zY2vZVrLx>9vv~&2Ohen$dP?^5&~bk|*FI&q9ghHhCWF zw93Qdr!{{oNuJ~L#k zHH*W)URM5vKEg6zW|=QlBPO1+lxb7)fn3Typ69mhB5my^(rlYZobnz#O`E824{Yw$ zOd;+%Z+XZDQEqIz|6RM{8OtvRQ~6KfATWbAG4!7+t0&Ud)zdokUdJ0r;aDe z?ebK*$+O*V*7ch#&v93J+rvYiURfipm|RGn`%B4}Qan{|m*+TfC7XYpxW;OqEl`Kq z^jB|r3g)*bW+mBpB_tV{b2q2ImA3we=f>^wG^Jep?WRwx^00jtUQwDn=2=-8Mv)8! z*8h~0AB9}_Uv`@d{|DS+<)4T1>n3^gpYt#CoGkZO{uSI8%#TXqKgP4+cK!EpX zj0|d7E7rkt-FE()#8qtV`5s;ftmp96_-BIV|JTm_5i@lZgOOax8{+6n=T;_21e}hV zF=aHY73)VrV}I(r=Yb{pTZZSB?efkR*RsjG-9N1M;{I`2gO=A%e{X&|OLve*O)O@w zlK2n1@c)LmmW}^mA6oh6_}iy6{)e<`{#zy#a^*`8+|A`-1`RDn$ zG4-YBpFD~OVPSJs))Gq^Ajv_Nz5~2F`wy@24ml>Lr>^TErt-wOUBLatmuv>weU4Q? zexP*LaFp_i;M=F!6)dLSs{o#*NyzSnr?GiA>L@k5RFxY153u>N#1 zPnX+O5V=`NYg56VH(6D{eNy}~t%6@0Q_S(#C}qGQy`CpLayj(j^*rHMKOe2JFxJzRfdo*rs0)p{r#Ys~%mRpdg?N8h{*!nr&j-PHMuTX;I%F4kYfk~XoPvWdkZ zbXuJj3&YO>E56JHELI8g7hRV^(t`6BdcP`Lf0&)Gp)g^YoJsT4x?Q+>k;5k3=Qmhw z#=_0J#9O#*R4S)mJU_(aT})5V+UYYOIt{TR7-Grf%vL1aaBIkNjCX&vf4;%<(so&! zMJ$`FgKV<$T*cyxwXDC|KYv%}?w=*~handkmd$pFHJ8Xq%jD9!i+sp%+w~Mp?CV{w zyab&8kMduhJGa}Qj~oA=^CEVge{p|4!VmvnyYTs>4}{&QSezFo#~C)ly=9@Yh@X(u zd|(Y{C#kdD^kPeP{}F6@PFQ`3dj#)663=c#Vo-V;B9UYCU%6R>)e_Wk^5?ReZe~i^ z>KYjy3r!!&!9waghfiOQ(?`K2R|cma!4)1y!-m1AP>7ca5A{?beLw;Km7AYq(L%1m zfl{GR=C4J!90eD+yvic>J5UaI!0BVFxI*;-bKWzUzRo~vVDKL*q{J2fp+erQx*iqY zy#v{)9x6nlKS@_zf2EQ9#%TN{P=B$}xCFO%@TZ{18;$9R(Sj9GsHm&qV6+!#x)yD= zt6>BHWUfWC>1r5;Pp2FBx|#t{KX7?dWdc0HeetPZ0kkhc7N{%uhV*U8eqC4FiYGVY z$#@)k!!ewfX2V5ri9YA%MMEM^;=+Phd3z>Us`LS-F4Um_R|K8Q3oau!SNV!#D*v_2aY{`;<|El z2;%jMC|S#(O?aeM^WW!!?IVfp?4N^w?f@ItR`GBNAHTo~)N<;D)g#1F=9E*3oiKk! zcBQc-y_xakvu9oNmZSo`z}=YhtOPx~6Zuv;s%jl1B*6qWt}6BBtz zNR)cgn)c**FUT~@TK<6I#0)?WUtOY;b8VV z2b%c?iVPIm?_=IQrR?{ik~ex7sD||H{cuBSL)?&fLzMcyof|<`Hv`hWvwmCQzCS(I~H6&T?{;JCUXb^LZh8J^W|?@(VvISl%`M)qm_>-XU*xKdL^rm(o9>zoyO!e;)od9%OCJ+EKqPp2nSpLBCk} zXo=UK|fYv`G`yTLh-KBr7Y>Qn7kpEdpz_%#n~l$l)uGUz8F7gXJPPPNZt|m zBv!f~9~iF|hLiOI6nR{xz1;xs-q0+I3QS9p9ft`6BWCc9-tW7T>3; z`x7LmOTE*aeHWEe`Y0IR$3JY5Emyu^e%ShmqkJ)YCafJJ5yxM#^4%qtk6SxZMZPHg z4wv#C`Wfx)bBpoc_J%__;HhA|ekZ>yiBPEgI+wnqSot^pQ;@!Ee4qWEdwJXVae~Kq z+l8pXbAId|%I_?zopzaEHBFj?wypX(J{i8Dl@+kkbvwSgqW}Jn= zPa%69=aQTF;QwjoZ8?3L=AW<-&qd$;@3yFl%Ioo4(7pUS&hol{{}4;%iuCVGT&6#4 z{rhd|{shVC!sqQS(+OVvd#U-_19|yTk?~mSev9IWY5Wzlf5w@Z1C z{(ZbPxAWq^{iS?);lE)wW378Nzbw%&RDSU5rIlY-xV&rpTj-LT5I?2$?_b?jLjR6E z&jaQ`$NK5tw~ZC(-|1nVdImtd0Pzg(opcIOGot2oTM1_S`7gnst#=|1g_xbrNCg;z&}H@-Lq+dqkUxafj6!# zEg$eXUf%mUhg&)7x8(y7XJJxpk@g=dv3&G;2Qwb@!zGpvxRfu{zpQiN9qbg9H{)_o zG5ut2bdlGR4?Kevdb$3o+kB94em?Mym5enXxC-SVpFJNq&z;D^Ir+ShydM2~E7DZk ze2Yi<2b|@L>8Hb482l8n*BF;v%m@DuIB(18+cfvZia-~A|9FcuAaCwWp=!Z%y-|fOrq5fr!OIff}RNfAkdy46& z<7yXqE&0HMSOk}g|J~-Tg!AM63sy2zUQY#FjPj7ro)4VlPGnwNJ})G%M}IH{X=*9? zz%9=5#q^VQ76w0s>@~tA7xTgYEza9=`Zmp7u-wl@-<>yDWTx_Ze&Fl#UCTf2p0Ana zvnXFAAGrM{OFbkD{aN{&s_swl`Fy{a=9c1l^mpT(DVT@-Tl4a%BKbhVWzMab{kuyn zAD^4AuwwK(T*`asXS6jJWW5)Wx9zEXehT&PZ!F0#OY{qsU-w*T<=&;6fDtryb-nEM}>n-h2kOxbdPh@SE1 z-6O^u)p%l2H8y|lAGXL%@;`)0{*-wUF)}GTn$PPWvg7$ae=Dv3uJPA@j|W*>{4M71 zac5yDyjb~YiRJ4W9n5&pkCj+H;!?g)e^BXC7VH$2H{^0pG5v&Qy2xwkzrQ-$-hY2U zI6qGJx012;-w&cZ$?FlnpGI0~^B<4$?>oyE(~n#JSIA!VF1eEr z{@-`rX6+wOKg(6$!=3q(?!WhSFaM*nyq@3hIkRa0{n0fJ-I6?3{+?C$C-{86Uo3G; z$vpa}y!^_;o-gO+KSlbpw99;2G5bem=PRIC`BaJJL)Ju$l!!kM{Y-J*Qj8zB^#SnT zu-kZk@Dus65Tc`g0-KI85E_s)d#VjEUKdNy8ph!z5FQm{0h(i zQNGCdd#GDVW#zBuWWGN^a=MtbmorzQavuFtUVi1Fzk$vvuwwQM%(5tsn89DM@^vMa z&y-j`)|$_chkl-R-cpSJkn>?a$`sn)H@32^J{y)oN*HOC?9Gljed8D{B*dKFBI>Vxs-LW zk4@fomwO!cw3nacBCn-?y7~lr|8y1M{Ql`)D;aD5bTrCCKKuA`lsl0omt2D6^@va7 zon5j=`6@|3DzAk<6KgD^QM|`Sia#Z6X@3`rX^2OwhT01^s9)HEk zx0hHxZ0#r&`J(jOT*`asXQT6$V*JPMaVQ5o6^h5R7vz^E5ek)G=+ZY7D?j_eg7jVE z_i=8E_fbJf<1bbYPmA{5hlW*nIhWeEWg#`c&y06A^+IZM)~jD}3@H9S^P)Xm$6vu2 ze*=r^edg-y`^@rMto_C1OYuJQSS;&~;TXl+6XizFVK`^Ifjr{Eg+hM||7+drMhrUoP}su+nq6{%>3#Xvi+Lwi32$7A4mC2Ul1#an8T1Z~ezpuO)-{N=az;0${A74fKw z-sc#J*Jv?2S-vB?5p5Ax`u+rc^7kh=`6bezpZy6EyMfE%`xCsP_^nZ_R%uq%{sh<2 zMUFuT;&Bx%Zsc>cH374hiyO5ZHzuep3e>eh*gvFvnXu*y%JInp;%0RIe#v^vkz^c(n>qiQ5RtD z5WpN_Jo44xcT<{{xSHXF%ZG;65uS z4#pQRXkUByK^3vXgi)gJ0+jeRc+zv~ix_>o(2{An`#WjE)maHY>wLY?%53g_v#>* zGK|r$Z0PBkvIpxB+T$Ce{C}B=1&r!rj?e@?QlexrM$`SltFMJNAlDKl@ydyZ7%S3X zD?rL4L3cMqwcS&xrm!d#MiQk8IbEu!Yc(j4X$nxN5(+SCK?=AuWWTou1dP$We}-5C zuyxJ|I``>YIQJwG2l<3Cbd`~O$4D+UrY&V+#@ z8cR0(i7Yt$9plv>jn;}Ew?Uc49}mC$1i1Pt;*$yuUuCrJ{Q+OvaQNjTjMfX^C(7gS z-$_ew*HXT;{_xAU!CgyH_hz(l3F??Ucd7ZqZ@%dXZfSn44yHPs5r#a@{K6*Bgb~3- z6>sz_4^U4q7{6EY@7@i)mYSbb63OL#7vfYe^Lr?0dEfc?-FvB72Etv7AR_*3^nx>} zQ9JvG!|5D<0t5ZSN$g8T@;M{vwSUb>2>QB_v~6B9enp|q;U2Z~i)>!A%sgusNPimK zg}BW987-5ksbT*p>Jpw~-bQsy!3&T*f%@O0#uaQ3+Qf+>(Q=?IDbh8B{<;+@d{oEe zHxQxAd(q}F<$33k)soyb{e-mEiwv z`kQbx#a|v*VDG*pGWFUrV?|U&R%kGc6A@BnRbur1eeniFLw}qZ$w9TcH9E37NgLo? zNbgh5|GKB^bMv&FVJZ4%LH5sHAMFQMu2L{mMsHi7CqymSwQX12LLmvtqWm3Q2TD-B zPLb5?ON8zF!L^R5OdAIt91703mV)ZEwP~i%RJjsIs$*_t2c5xjHDAF(kd1-*U1)cv zU9kPEw6p6}(!h zB35M#e^E*BTyW-4DvIoGZ1Rn9$)z|A1tHynP~mad8g1rJ#PFyk!I|IC4{V1tcKFJ% z!(SLnuh;e&*E)C$Be_uIoyVe9L+46Lwb4*@a&~1KOZ^%tU=IJBRhi;rb!A<3a$aSE zL537lJ8o2F%4XHcG^II{RGPyZ8uRvO@DB6FYMSXHS)rzpIi1x)u9xAW5CCqCFWw|Z zU)j4HemfK=Vd~jpc2<@6h1eAST$c0azIRjpjS9M6G|$_agWZ{Y(9NT;bC{!4`D1oO zKp5u;@6a>5_<87NPXe>=lMhI01O<>CIQ6&y67Ypw`+>i&RQ^7V`r~P9S;H;!*x#$M zar$b${V5T#sWJ_$zEC^2(xhv!N;e%>G*xDBq(68oIDv0~lTjOkt^KGep@GmBK&Su6 zegS1N>dQzwxKx`w8x1xobt(r}j8wxN3p#k3Yvz_u+YTx(r;mA4V$;OmK!qd6$%t^o z+QjHZ0W#uQM$$ldn9JOgc}H?KuQ8KS4Z9kxh}AKwYvS(JEwflhka6tr)nicydF_Dh z(O}{33kF^@9@euEHOz=_dPs;6Ka^D*tgy<&V5oUsB|sL!KLEle~emc!{)ceE}2KvSoFql|t~ z?@GH5);GKIhB4vrTqH$a;DHlqKEoFoX*f{d> z2yD7ZS45k;7%d18P-ON##1B+`A#F3t<*aJ$6KuVYXoDGZ-hX>~vP}ONd*dDRB!9AANx+Ei4im8hWXuk6K2Gi$d~ z_8$!U4}iVEZ1&G#|NW@{Xk1%sv^-UrKp_&UPPHXU0H}3QD<=Dt@VA@)!)iM}JT5ZqZHWPZVyhsK|3^u|Lp_zGn0N62;@jMc z1vZCm1J8PdQ>C0gA>Zj%`OaROLBrG5vIC)~BC!!xdZ-InOv=YGO-JN4?KsjOX+)(h z&j2ZxMr)#=(OR+cRx%A5X=_cyty!YEa@lfoE9`Vn=HhCkYFc^*hq#c+Aj2dFLu0`} zp9ZzZQdg292B`HDpni@(i0qH)d(QD4Ux1!11B6*3kLrz$Y0F6DrTe``3Uw^v>%1e4z}`#&YW&F7p=2U z+e0Hm=0SN*0!)*~W3Z!kSf_@F$fk7x#cL(CoWkmm9G(nI>V$T&sE52iLIER9r)k6! z&RQIU=Z0;Jo+UYkXZ@KnGqB#UI|f8Eo}dAd8iW8&708rCTJ{jigWxDglE`t4B!>T_ z!d{r#nJcHn_^2`1bOm=-dzTTpQC~OI8_9zpi)ayAhQasldYq~zwYTj3x%@6SKTXp- z!ff_kb|7*VY{q;(^l~z1-(=D~IYywjMOkv6tOV>nq6uv+9^oqgS68~$n9pp@apdi- zs6BCNl50<#kNlaM680y@+{+=~Z^!d6<@o)3{@uHwF9Lpesd?fcBD1{j&N$u6yyAkN zddv~K{uljN#mnz+0qI~t1n{yjbY>p){CegVZdS4HV#p58%M+vf;8qMFo~QmGS+O%+ zXs!5n-rWN&clXNOy?hQFmXb?p|uW zdkEcqt>x~!a(5r8?tYqjqGZKvb@z~yw#>=BFWr5t#RPTtc6VCt zj?mphEO(!jyZe>zSZ>}?JXv9=yRT@p$X!8qzr8dk_l8ATx!cs;|3VRP{smoVtvKZl zOWg<1-8WnAz9o0}F?4qWCJ-yy)SW|Lu-thd-Fdp@&RuhNmh+v1aObu-xxDY^-)opr>EjHf9(%f4zyi4hpu3YOZep8 zTidQ2MOUzLkFLD^FKgZV(Upk0GR1afJG!zO{SWSGv|ZVF1Fj_0m6L2&KA|gBxMH5S zC0g5T83;Jq+fn32ln=F5yf&y8yO24&l{yt_-~7CoXJ62qYM^0GjN<$Q>WWb*Bp}y! z(3O_P)qH5l&;dJFBV8Z$^2BN*c|TvE;Pt$5!Iwx*x~O}qF_IS`AaU%!0MQ6fj}xOW z`i6{*$g(HwgTx_;rc8m$91L-~y1?eDuZTLG)&ofjvgkB09cW&B60%uDXoO6fnnMmb zQt?QySe;1qQ>MiO31LdO#Z!jF=efaQPEEX^LUYz^HSuCl4N=}G z1<$bW!o#T5u$;NEKXi@v8nZd5L*FkceM4zHkboHK`wR2=e4omZ=6}Zi1Q947Talo? znf_?j3^`5Bt|!XZ8374#mM_!FGl`sEwNm{$jK93jco7( z$>K(ahi%D~7dP@f*C`{%T#YR24LhsJ-~-BF@a=L2ci8(3W$%%}MU$zeaQ;I&rIs~| zj6>RuEBKMXS_NNYNEuvm4{05L{tAi}RE77GaFUIzv&wgA_CA62faKvi4KSRYZl8K@i zREm6YB;A036Qjx62!mJII=sVwfQabym3M#o9h2S9X!#4wbsmxs1XB8MBuxSFXc9-0 ztC?L{#`I>ZSx{6PV!WV|8ngMxsBcJnSMETc-a*rV7*sxBK7J@Jz$hSzq56{tbFsPB zVn{Rs=5;7$en~_yj}W0`kE_L~LHXfau7(Ut)$WI6yGa~?u$u5x<3IfC~DV6n-}n;V6^!{Y7|Xk1)5u3Pb3@D zBh`ScgYS@;V=$H>j1f7;l4aF+q`|YB&)}Bo7R>pZd6S!Te>KD)Yf`dL_m8ES$;p-R zvAw#DR`m#`y5*=4KS;QcNR3(^oOu@095i-#_t@dzWG762OE=L~mR^%JrqJTxu!(Qmp#a=Cl5|^3}_T~0_4<9gn-3v_M@Hoie z(-O;&v!G)=7YB1*Z#3~;B#A-&`Y+esdHnD_&a3$y%1k(a`462!;Ao+2gL_>HF3@Iz zF7U_~pjkjUB@$@ddm+IfHQ}pL^w5ik)L7F&AsmXFrEVUzs{Sf+{04-{zOOByM0d#R zbfD?Z)77ZHhN_55ljp`yodBE$@wnoHetp3L8gnbpwArHGWycqadR6=+fD@#y*-+5V z2yn}!irk6Z zu^IcqlL5$4@cVUB;5OhN^-sq9hMEw?#6fV;NmYpr{p-gk(AflN{n1J|IQ4dc`ooMB z&zF(dE1u&6bs#DLGfx!EzzKLl4oLsO12!1Lza#m>=F^J3*iy_=KL%$gC!gYBC{5}f zj9hlT(X$ef9TztC1e>_izS;QiMq0u^XM+#n5gN_c5XIGW_mtyc`03YB3)6kzR>WRw zMO$;>KJaYXmk?f(-v{o%)BUPntaxA?jVRc`EAExwFkr=9@*B592FwojtYY?vrHwuH zgAK(qOl7`EeLPP_|93ShD%`c!pkGTn_ar~tvFE#<&U3SVmh&(4x6y2Wy8|uEnYNbt zO$s~I+UXG>b+`1~sFu&qt*oIV*o~08;J*b}A&N7jx`M5vspEwGf=w&>5s^9E8MHL3 zo>^tQ=pxIQg7jT*LAcc{)l-dnIoLRzZq-8$Jdi%B3}3y1J}|G=_z9j(pyR(`Oyw}@ zom6a{CC}s+s>gHao4LbBUmJyu!0RmO^l4;)yQ;W)OyMej2LmIS`xEFqWSXR6&<}kH z9*D}(FH#;{O?G3t_4S9HG&|kK0VT z*21F+qvd`|M<^@eJD`LN<0h3);5mHbTO@t!PA?iQm@z`zq8X)O&2V0GZ$$7MQ_3+! zPfN?m6GV|coP9>^TAg(thoAY%1;}Ag48Agb7+YZpx+6&(+L$TcwRg-Voyn(*5HEz_>;LJ8IH)!1O z)#HZ0qwsAumglroSF<^HBN6K~ zUI57fW)ydm` zafyw92?CJYBqQ97r)|{FJ5Xw!zx4$^MEn9`tBOVc78fT`g$7i%~wAEh*# zOO1N&@;%XLFq%+}hSyV>Kf9Qr^F_*tw)vSY@eKVwmw%h5^8us(Zm59U@+3CMrnKdK ziGrmqE4I$DvBkkfTow!aIBGKs*#7=j<9&IUBF@u21=Z)U`kLkrNqpcB7FXJ=+X{*gRVo z_$}JE`PP5Yi7tT-t>e`(l^trZx;egLjLx$ivQi{i$w!@b>lFg`vVsv^V`HIm^qd`3 zj6O3rhvGL6J|Ck#wB=^L((>?XrgLwG4v5}t0+>XZ1~X#|m32mS2OB5Sjk@22JIYf; zbYDoLkt)e^KHSpG)V||GQL>;)Jdeq0k)=om~b`O*Ag^~rk z$auD*)_57CUJN!~N;fKzt6Q+ROFbttTCQ}6{FI2i0U}q^inaZ5V>OngC0`yp>c?PX zg_X`AiuQ3LGA6j_*wC0}eirv5#;{?dS7-I8cdjZMn_NYGeUvhRTJDgqp>K;GoWLTv z=`Y}y(Sx<2BIvB`;9k)L7Gq*D1qa?T&I-y7+wVV0GcAivR-Xz1E$!=BPn|p&`+aa` znxVSby3@a_lRK)Yr4=nhBQh98G0uw1%@cXrM|&Wd5Vi^%Ef2E~_PkQvGL7oN(0Sr1 zMv~8xQ_{#V=a;i;iHf^hAWdN>MU{B}iW{HR{?nGVgFL=(`(J8o$dq@-A|4~T6H=7P zYFq(E>-8k?d53-r&muRmd(>nK=e&}I-UFkd!FfiqlM<8~o)K1BNs7uaX^|NH!Mik5 ziOE9NYUc}R(ABL8(y*H3Lha^Xulib7hkGc$s zo8$O5;)Vg`biPQZ{-93v>O6!Z`-1NfDc;VlkpB_N7%sd@=AL-U;8G{x`tBn+-5t)9k`XO@|n2`4qZ1o3cY(Wm%xE2!Q zbZ#*BKD6R-Z6IgtJ#U0ZKxSW^_mldN25eG#zDzke;=(k;fBgf zT!?*Eg_5R&ss!I$B`=A*k9ldtcQDPh>s0(#hhM&dwcddhA(Z+fe?ZQUrj*#Qdqdgs zY1Fh1T$_}0B2Xq zr$tg?2JVULe?w_8`dYA$p&za2oKNiQhX;-La5TL0T~PUB{VM$5(*O!sakLG@AhW`4 zIMU#W8HT?1>UtW#>@5{_-C*`3x&MOLWbe<`tN!d(a*}Cln^CLLvXFDQ;3Bm=B-;F7 znorMIO$QoE-^!7oMOFeon4$B!1A+(D@lzaHafGG6jRz5F>8O$)8Z8g9Gs6K5{MODG z3ohbXWMDr|ZN4BxPh_Mnt|lwTC7`gN zGDS>JTSgKuMYwtlDX9uq=n$#(@hJcv|SiGQr^ z*%ejtXVAc0YGU*s-l7X4dVEF=Cfil#w24PYG0SbD9KWh}bW2anXx<3Fr6 zqd5@{_wSCCPtel*2qF}phQqR{5ycM*)E_{_aZ1tup8M4ZE@^+akO zJjI-;^(pyhi1#^M0?L5IW%RqXZ|{5YiV##^X4Zb&-9tv2ekA24tvU-=s=L2T%|w-x zV#1iG2!I6Zr?u~j`I^LTAVCX_s2(Qu4LL^3ZQR^w8s+MraV5Cuwv{;0+L5iv56wTK z=THGHDwp$wfz3(}UE#E!4$ThZb#rHWOHA4~5% zQP$M*kfqr_w3taC84WIaD2?A9&HljWzOQIigo_rTc}$dgA*(b0gX8=O#XRBqnLDfnD|z(vk!_Wgkx@Z!s z4JIN(j7@$^3Cr{iP)!%kE8`35)|+Vroa@#x&YZ(Uv)wx! zG~2yT%69M4KY(a67sre*J@lbY-sBO`%fXrTJUDgf=yc@Q@LL3% zR-slw1A`RwNiIS&ZjL6Cz^P!mvPDevc^@O zDaIwgRmOe%J5>pLw%D-ET#AW3q%71TmzvvtLCsyi7KJGFudl%nIl_SRC}ya(L(KE| zGuX5pIX4<+2kNIk`c2`G{>V?r$+LZ|e#(A7l`vXl2~O5R+mrA~bD z;fHwUlQj3f72+Re*tC{3{owR%L3C`($@EYm%oCwaeWV&pslK~^ZmRVy`Hh^q;x+kQ zZjStfra}}eo&5L(n&$k*tfOQUYW4A{ry z)~yxo7}^wM{L%fbjLR$wB93bKc0nj3KHDaM&WJVZyD{qsaocqcqPcMDmATJ*2`i>^ z`f*lc<^Mm(U63NrG4K71Q{>*C(*Y3~4gF$F>2Z{9Ivc+_w?!3zy9Z~kf%y1^)_;^L zvU_m)dJq!t=%u{lGfs<&1a#hYfdYCf=y|pI43+T+=+A$x+I%^;Ewtki-E@Ly26VW| zg?sjFJg+G;M`Nw8R#)e~VB6gAsi@(gU=w{N4AS-lrw{g$h~ACmE{fi0`Cmx%-B%8Y z&SVj1S-L2RZ5a1b%jEHEJ-P&uH`jp~$cQklU551!&`MU^D9zgrU~zRnjcrGQ)2nda zNOo{Hj5#h+K*QEzU{%RxbXn@jhVSI_)uYlAuQV_{J>h?$fN#Il7PLr$O0y`~*n0}#m#Y7D`)+9JqgtU`Db#!*5xni{vB}!qJyY9wi z#!|CA1I{j>S%utRE}ta+MqzFEm=$WBIK8hwl7I92`unrtmiMj1sb1#sqp?Oj^!*Qb zX@3w-;HCXzLA>i>%X|gV8v}Wn-6|sq`FK8U7_lG84fVDLGv<&_)V4O|EC2>};p}u- zhq?YkkiJ{-Z0GlE7y3t7=&R5A?ZsnMu4nu#zaQ{frKjuK%}G@M443+YGn8`e`_)iE zN>fYUuSRER)EAAx03H98nd%`ejqx$l5SHaZM0@f)HPJ0w5-c%0K7f5svD=r%BXFn5 zv>(BKKhWyMW2=)d@(|}_8sc!3Ul_?Bd0OPq?5R$pWe1~WIFh7>D!j4)5}5D;*fF^1 zWK5Ku7edo*P&*cMPkw+NVr6$M*u3j;8syxr6jtK@@jo8Mcf=+c>Uhmx_?TH=&BxIF zN2%j3NAfYeSe0uJD_nP_!h!!&bUOZh1efdHMIAeKROLD<)G=yjZ^>Isyoa&_OU^YL?3 zx%OR^9@>6Z^kOr|DLK22=40whbqv)j`Qmlz82MTF`B5F?-wIx*j*(u6^Zo6cse0SS z2%kHvV|ZJ24DBv>A9ai@i}8J#-znVIPaRX+DEZQZ)Uj=dI>zr({?KuNsyDD+$)?A}vdZ|g1m{h-cg{vGI#?aUhp1!f59-*yR^1=%Be<_RMmAH&bf>zW_>01s zqt!8dq&l`ArH+wt>X`aQ`03V1@w;!;G4!1}hS#ZMVwBvszt9`1j-lVm@q0xleyFlj z`+@3w_x8#@?K`StW+!#*7CpE9MwLtKtj>4rE%#j^{`EVBBfnAp89PGJ569H`%$ZXD zWOYmrR>#B{f=^Y)*l2aEJ5C)l6BPZ-xvE`c-ca?2uU7Qq<*L5+ug9_-D9d;K;l#SuL{S`Rs4h{K1C%yg(W_PB|f!JR^`JI zpW4Q&`$7_*xP}bZW5=jtMB-Cg^c&?V{^*`V%Etyjm6Z`85vJ9P{PRD4SHR`muXKGjty z+%`lV6T1oCTaHUre2PhY3P^kkNPNo3v3;Nwdpt|@hKqjDJJo$Za+n@eVwAyafq^COyW~m;!{}SQ%vGh zo5ZJx#HUn+vSWNNMK3P#DKx-H zTqd|(a7gfC!R3O}g2RGW3a%2|Avhvjl>c4&0#ljtedm zTq`&vxK41n;7NkRf)j$P1UCzg2yPQRQt%wXQNby}hT!>vV}jcS*9cxLI4(FXxK{8= z!F7T=1WyvYT5v*eMsTxWQ*fK$ZozW|uNRyW9Jp5OFStx_yWo)E#e&NPrv--vuM}J* zxI=J6@M^&$1!n|D1)G8m!QFymg4YYK5gfQt>@T=XaIN5w;5xzOf+q#?Seys7Yi;IoE97wyi#zL;10nN!K($26r2$p6>JJN1a}LL z30^O_MsVOJvA^Il!L@=zg6jmA3!Wr6EI1*!N^rB_h~PHCBL&Y992J}rYzUq&I3~DV zaE;)_g5!eIf@=k@6kI2`L+~WQs|6J9f@=kb1lI{J z7d%ODSa3pcmEdN<5y5SOM+%-JI4U?L*bqEla7=K!;2Ob;1;+)a1=k8*DY#B>hu}$q zR|`%E&IoQ6Yzl4@+%0&H;Prx2f&#Qz65Js;B6zjn zk%BXVqk>JrhTv|&F~REv*9Z>WEcO>%Cb(8`NN}Cta>0`XhXp4DR|#$w91+|mc%;hg42Ryf;$Aq1!n};3GNo05FA*j_-GRx5}Xno z7Thj4A~-ELD!4;%OmIeUTyVGGI>CVjBER5};5NZw!70HJ!R>;hg42Ryf;$Aq1!n}; z3GNo05FGfI$S*h~I3+kNxLt5Wa9VIwaEIWS;Edq7;BLWnf&&kT{DMP*+XRONrvyg? zw+oI6P796+?hqUooDp0nxLa^SaA1+hFE}JPB{(d&U2sHjT5wcwhv1mtjNrK7Zozee z0}qP)fjVedMSj5{!EJ)Wf>VMcg4+d01*Zka z1a}CI3(g3x6WlF0Avo~3$S*h~I3+kNxLt5Wa9VIwaEIWS;Edq7;BLWnf&&kW{DMP* z+XRONrvyg?w+oI6P796+?hqUooDp0nxLa^SaNr4%UvNlpN^n?kyWoi6wBV@V4#6?O z8NqSE-Gb``2Obgm1&0K;2@VTR362PE7aSFw7911YAvi8LBe+g*x8Q`}z>^}s;E>>y z;IQC!!4bh}!BN2-f@6X+g5!d_1=k4<=zdsmNN}6ru;7&7h~Rd?QNd}!F~J>z zQvEEc&UynGhr&RIm{dYL-AQ3nnLhT5)gtBPmoec-_4 z`}C*jbt{;~KRPfix28W`UTG_bd$aa(n3n%p%MWm1TK8wY9(G__ENH#Hvx3?BX~m-T zdRW2iby`G6f0|!<=hup34t%NuSE}OK`)eK7>mB&74m`twXE|_{gMORi`budan*TYD z>k@vl{O#eOH_urf*Xfj|mv&r_IPRBlkS!m;f=l|-_m5C8i_09>1LDBCe8_RV+<|}Z zpci&ruX11sKiT@Dj_dQK0qFXrxo68CvL7mX`H9N{5>?prp z78&XC5`MD$9pWfI+d(hoz*Ibhf12K6$Mt0nY&ht5IIh3tz&|-K?L0+)x;}Zzn8h)5 zIg7)N^3A)b0{Z?y*p3f!lt0cv?_|eyx=bu;dNq#n{T=vZ2VUTy7nkeNzaPfG&URp( zZ|Lhf-_Tg+8(EC|DduXd^9_w_9rSg+p|9(FLt~w9Xsq)Mjq4orbiSdl>wH7wNsjV5 z-_X|+j_W$#(ATFquIqe5U)TAD#ya27SmzrW>wH6Foo{HY^9_yL9QEsbLtoeVhQ>PI z(0GpHew}aV>pI`iSmzrWryTd+;lMiI(B*NNBe2Hv9p!btp|9(FLt~w9XqwH6Foo{HY^9_x4zM-+sH#FAyhQ>PI(3pIm{xt4ZFpG7*p|9(FLt~|_-2FP= z(ARaop|Q?4G}ifs#$ncej-Jjp^mUzYXsq)Mjl&N9qYipH-_YfCzM-+sH#FAyhQ>PI z&{*di8tZ&RW1Vkktn&?xb-tmo&NnpH`G&?i-_Tg+8yf3;Lt~w9XiVxMm1vxH=qKXP zpUyXQ`GE8{8tZ&RW1Vkktn&?xb-tmo&NnpH`G&?}M}0cq(AP&g_>DTs>wH6(*ZGFV zI^WP(=NlU9d_!ZMZ)hBK)UWdmeO>1p8XxQ^uk#IkUFRDbAL1yl^9_AH<&c+(hwx8d z*ZGFVI^WP(=NlU9d_!ZMZ)mLZ4UKiap|Q?4G>$p=*ZGFNuJa9z17UT8#ya27SmzrW z>wH6Fx|>v@ag8FE#X8^6*LA+3vCcO%j?4XJj^p|#pS~ziR`&ajpU>qhRlQE*W2#D1 zlpEv_|E*mAOw9w?uj*EkJN9Z{bE_Nub`ScAsV6!~Gj{U-r@pTbbfcg4qQBiqzUcqo zT_<1dM!&;@exUa;zUaUC-TtH9=qH93*MIm6fBJcI$8G=UMnB`hf2N;5{=YI#-^z`C zw+H=H$RGV}K6!I{H~Ik&{RFo5M}PhDhrV{BAM&6d9^#Mw!j%;XH~L`@`hnIHeEH9j zAHI8`8~um}{nSqW_+R(l`|rEak9yD#?COvHA3nM9FgN-!FZ#p%(Z8ry?=Rix$35tW zxAmw058gWC5jXmE9`rLS{k7k74!mu(8~rv9`ssuH>F24tdQWqspYos|KExmWXV#n* zb)(NB^cp|83=Zg(`NEBU!h?Ri(I5RQZaTEqjeeU4{j^W|5B6Np znM! z>AgGe=SDx{MgJOq^lv}wz02L`cYDy!wE3g|>}KcN@?ZuFxb^rN%=>8Io0Mm zAM>D}@=5=_1q)7hqaXL6AD`oo|M2)Hdb`oD^PnI7hd=tpkq;m2MnB;}KQY%I{jdIb z+D>lt+dSxJeA2&p%?nq#(NB5MkKW>s|C&oan(juw-GhGoR)6$Q>3epa8~wBg{mgCt z=pWuZe1IGM4iEZ?JN(gad25HW-RNgL=tuALM?ZDnz0bJO@Ajad@=5=h%lE$2jecOS z;_*K{&maE-&fVo8H~JwD`r*6$(LbZ7m+SZ?>_I=_lm6K7_4~TD}y4N55&AXCky3vn&&=1__kA8dkFOR#?uk)ZEeaIjE zLw3r1??yl2K|ke_{uX<7y2hV25Bh<2fBc^{X5#s7{HHwVryuo4fA@DMyY`Rm9`wTt z{n5X8x1(=!<3H^|KjD-9Z_=x}-RO6C(9ig!-~Gf}88`YF5Bljv{`51rd2iSG;cgH5 ziO2lW&y=5cfgAsUy^F{Hz~lbtAMxlXx4Y2~dC(6(;g9|;e~NDHMnCL9KmDvf`VHH? z_=_9;hzI>}+8_Ntb`IU#jegXFe&9KO^gE6pGuw@R%!7X1C;dF53N z|NHsd1>NY^dC(86^hf`bm3Izuqo44gANNUr;r2(m&JVYF&`AW4j0a%uD|0kN8*L#cuqkJ?N)j@kjsL?O%S@jeds*{qVp2(Lec|%D=eL z&v?)eyy}mB@{FSfyV39VpdWwRAN_ZJp8S>@{lGrO<9}kcKl(R({_!8&=!ZP$r{3{L z|AE+_>F z5Bh1J^t;RZz3HZ(ln4FrU;OcZ`XwRP=Tq$-^bJ9`pmp`s07c{f=pN zqu=2{KXtr6`lnuX(XMXvGamE z=x2P=f9tZX4s@d*^Pr!;)F1z^b`QMRjegvNe#Z1if1kg%FLa~d=0QK+>5u-~d(Lxh zzbOy;8K3mGK7Wa8|K9FFKmLV3{@;7>z8W|Eq`l}*J>J*)v<)Ngbe-Sm_Mo5f$^ZV_ z4?M$-|3JhZe=_<#Us=Bzi1}N8wZ|`0U7ufv9rU#_^!nJ$<^I->U3U96eckwvc+d~b z@JIhIpZ&6n8~wBg{rK1Z{AbVuCp_Uszr%xm#wY!gKmF6GZuB!A^aBZh{&~~r(_Z-h zI6L|g42aa zvRz^dIi*C%PO8ZzM<{pi?Ahx%uk)N|&3ewSKYGkFXTIxmp0(Dq)?RzZU zzjNk>^C*4on&kG0+mF?W*FHOL*fN~b4=D7Fr+D$H8`#^P($^LG`k%b^c}v-^ub}jU z3VoN!KkKQA*HQYWLf>cxJMN)oe2e#=mu$O%+@EPF^sVu{`2SFQ=5C5VqR@A5;l;mN z<6p*8`caksx4ibbe9-XMD1AqvZ!dr+B#Mv!8Zz|F`%0lk;1>N%8tFQ@`GZ0p#^pP@!*+;qgDQ<=IA5d_oF+;~!r8`E%bT4Jdt6 zp>M`{<5#t{{cK7L1+o&3%-E~iLvNb&8O0w{=<6qW`e&cJU?-*TD)b$u z{+2Jskn@wcLf<^aSU-wiySDiJrk&>LpN+R$PU-6kef=+9eyg--{s~GysM6od z(|_dC&c`TyL#4lur=MN=0s8t~rN5u2f9t)|B=r>dXv%*tMvco=}%eE z=4VRZQt2P$>6aWg`Bh3kqSBA^^l$j^cJlcqTcv-9r+-cUYI6P@Rq6l3({F1nAfG>V zRQiW``n#J|Uq{71rqVyc(+@oKOaZ0us`QWY^uPXc1KIxLD*b5u-*A;|zd0KprJqkx=-Zun{O#-SqW51Z^v$un`fb1Ag+HnI#})eeNuGYi zpPwbyuk5CZ`OoXT_`J02%p{6Gs?fJ8@#^=1e%nt``Z0yRnak6!e|Imk{RgivK0eNy zy!bEJmhlnAZz%NbnLPc8<6DvYL&6Gu{S;6C$z{#S_8C#=TW|67^GntmL&e8d=$miw z+NYVby91@~sPtnz{ehhxy@%3|DfG3wdHNUs^kG{{Uu#x;`_xbK;$LxXyIGXJuFyAU z@$`EgDX2{82Nn9x3|@TZI%UZ9!;nJXuzCFb=3YqVx3EHAKg-kq?c+De>pNSe|29wG zc;WN&srW}#`Wi3(1MA&N?r({!^h@&eKl$Xy28v&Aj@tin|2!DD|D~7W>EBhhGP%Do zi1o!XFzCDQ@Zvvoz|$8}{H8+Rna$H5@_jk-`97^JiVx;zu8+NX+4N^A{-8qNJj`1k zYuUaQ`TUEi(07^o|F!B>n&OWr^sRS!@jrA|?KYHtRH1Lq<>|L6TZ>%ZuodmcTEUzD zSkqR|q4;A8eLa(>fAP0ZJWlDm3VpjiPk;8YKVG2p;|hK2Ena@;)@{^6N?*I7`2J4y~hE>pk8fbWJ<`j$f9Ji^OwlghtAK7SWc=<8*9?K7{{b>#joTcw}D(~qplChxyH zD*bXi{TW%)`cv_bDfFH9dF|)zXDe@}^j(F%aW9X5aJ&)ye5*p={(#4C*PlQ>AE&h_ zKL1!B^7J?T{x>;(1r++`e4hS^;kW!w#a~zGYme~q+w{*G&7kyy3Vm}6uYR37UI|h9 zhC<(|%;O)pWiPq^Kcvt%7VzRYJN$B(vK?i_3}LaM%t%OQ2LHS-!ORmHJdKEhSHBI z^!4+3{0ASolYBnQRp~F}wa+hZs=A%xk1O=8UOfKbcUjj{`r3`j`C0!GU7z;g@ef~J z_BTpDfb=b-Z#UtcFIw`xvgG}>AkxS4Lzg-KX?WXfe^LA)l|C~*E6SAZL+OVV`u01# z`u(otw`BXb6#80}SHEKig@2{^BMN=9DzE?Un0oddNJpK6;3Da~m%{l{!Dw zjM5J)^!0mq`MKWkdY@AImO|fY%j;jy9-4YFr5{n~n;m%iH$LBVDWz{K^qta()L_(YJty&`%3uYJI)-)GvNCGS7lNFRa#>$fg*{#NV7CSOzhQH8#FJCA?( z+5P1H97mzARp;qV=o=<4|6jko19|^6q|mqS=jjjb zpYt2VZz}Y)C@=oKww5E;pDl&H)0f9T;m{}K{5hh~x0(6*;}V_kqvB&L^o?%3{6GB8 zuH^bsRH3g|;>D+)y^wsqz)|QsOL*=7+INSL>q{}L?<9{edVt6OZoP}h=cin(F9sMG zU$i+q{r7*KKtF%2(6^WJ;`8w5^!lOJs`&h7ea_S0dU9J0s(l6&`sOm8euXAm$?GFs zp|5B1;=gE1mqiqRP@!*p!Q*e9bw_7P-%#kgO?de&>)Q|CrSwAzeSJBP|C2wju0-jZ z3VpW}PrvG^xvePuutML_dGVR==92l@Qs~1Tlev2F*BMN=JGOvA(dh{&0zui{o zn>%>=b7m}SO2t2>(07^R%gz6^{*2O(EA(xL*M6d_zb4OL(v0N%W}^IWt>o!Xeds_( zia&t#@%4rIE-(K7Y?-@^(l=E4t9blB)musL|5WM!%Uj=eYFu*_#cwL~^(wsh)Z3VG zh|&)$^zDYc{yU-LoChg=OQCP9=EeVWt@30_-%;s5#EZ|hqq~snlQD(9-HXTn{+ckk ze&Q3VppgPk-unuf0dLSv^^Q{fVTHcS)VB}Kq4&=y^zBD@{BM-FnT&r#p>J&E=~s8Eko*MHZ2(w@9OWh?rZ zIi1(PmcMybRVx0jg5Uj_7ytMZ50Ue$xI*6^%+s$sq25A@Kcb3Hlo$WM3;u3E>1($X zKmO`r9{*dTN?c9p2UPl(@c37>*#0`DuPgMO?L7V?^&Tbn=L8k{_70x@Pj}3mPw|Hp z`Y!YOuFRw{BPjj2LSL`Xi~sm%za`hN0=E|5ezYfe{dZc^-Q@LAP@!-B$6Nmy_STM{ zsQB0leQg*oKFjA+%%t?A3VrKSo_@J2g3~E|N1^Zj%4?sG*8FA*r5{u1>kWDQRet@I ze7@LK=sUZ4{G%U!ja+{=75aJ>k3XK}WoF`b_k`sQ&Se_q3FZ&3U?(zjM7-@kU5`hC87fy{3~r0*hq^8}Co z{{A^LDSiX#^hez#lzvF1ei{-&mDg zzxvfY{jpcpCfDCAq@NQ19=z+9ea+5ZN%2P%`sVMv@#VMOt(#E#wnE>Pw9lI2i^4v~ zmk(^ZzEHnLR*r~p?|rnc=`ynh_$&l;aR zu$R(z75b*+{j*sAjjXH2Q2KF&zU=*mSpVJux-S&0m>k~?r0*hq+57vj z{ueC@N>KbEq;I&%@v$WD*Tec9e}49HNTtdRYI|{(g%oeMg~hO5Pub_2VlxKS}AwRQi(li(&oXwawn7^j(F%?EPg}fA#fG zlGiVBg}&_lI9PvjzvJZfo%STk|Gy^Z2if~^uzvL`IuE1b6F~YV)|b3r2J26s{6sFL zuOt1G_RrMsTYEJ*{|qYhW$&-S{Nb1PHm3Lug}&_lHCVr4UQQ)SKcv!^oUe}czc{ey z1f_2(^!1^<^^FgQzWElVA6Dqg&fmuTJNrGop3=7z`m*!4vHp8ag5LRiDfu&^(3hRR zjrAWcQQmw1ONzd&(3hRRjrA|O;n+z^KdRD~oWG6rdrsbYGo|k+^kwHuWBo%fU-ucM zA5-Yd&VR=Gt9n08<{ww3FFF4i>kqB+(4y~hvhzi; ze(8^E|3~SY3Vqr6qF8_b?th=B^ur2$+4-MXzr(yM$?H2yp)WiC6YH0aY$!+ZM^yTf z^Et8pti3PCDSca^FFQXI>z6zJ>sU%Zs?e96Z;ADPt^I>{e?KMvI0}8)`HEP-k2BLd z-#bM=rqY+3uZZ<~^qzY;rSGcrCFiGM{hD9(^q${L;g2iyUCH@NSij4-zU2KcZFKSD zi|l+Mtlwxy{c#k3K%wux-UCuzlEwOUZY|~Q|4)gJuF#jAuY&cz9y86`pOB&-ROw63 z_rUsS|APlza(yPG(3d^`j`iQ)vBNw6AtgShLSOcLG}b?}A^at! zA6Dp_lILf!e&?zqy#2i?{FX{z^86##Kd~e@kJ67Q^z~}I`N{C?Y;ymAt+5xzY^UPmAbm&zFn^Xke}VNcj}IA0>BkiMvga?b{;Sir zyhrJ~3Vqr07g&GiR}254^y3PB+4C1z|L`Lkxjv?;=KqrCBe4F~L%rKj`~ii&Z2v#j z@B8w9wJCjFp)cE?kM%P@UGX)gA5`f}_UB{$npb~YgVHw?`m+7`SpVR4yXgF{(3kDc z$NE2gesUAVZz}YyFfYHo*}riwN+c%ds5!+SLi)yUX#OMFzm4^mUF-Cw z^i8C1BYoNaZLI%C$2Yz6i&EydVWf}aBip}?^;^}cK=xltr7zjPjrDgtu$)|9ji~e` z`?suXz~FWdi&_1m@l^I|IgQLMiQwI9j;XV~`)_P0A8da6*rN$gbe{%1$A zzuIW+-#;n=6)!C4f?blmYbU9nTYP?V#r^A23jHZ}uOC9`#}xW-|5T-a-**L@DScO= z5BCRE`Y*oqf;T@*iGN(757$RnAB9VMX6ArBh5Az>sD48aDdG?N-#XL#M4+6{fBJ8} zR=RYGzKQg0^!$Pe_kX(;uYX(5%Wv}dHMBoJjP!vAuJ7RfqtT;y{k6>(b@22Lh~;(Qp{J{{o6Skb`CpHobvA3^#i(ueu8F`#(|23Vi+T_JQj^ZCt z=;QeNvolQ_fb_Q+Y6{{J7Aq$%BocQQ(O@p0!Q>qn8kjoZI?zoB^_ zBo_++yN9&)Q{{c%DpRoAA5~N@I%7%SB{V388q^bXy(7y^mgsuOd-N9==7Mefk zNZ&;5#}xZZt*(Cj&lh@8Ve^FTcyqhUz5E;z`U}MKp+ThYAbpsh!~78R+X!7S1xH&v z=EWzB;$t9v_`EFspuYvhUn@E5BTqk$^h0Utj}!nWkpBC_|LyDPYbbx3Y3h%IF9>;B zSo?}=y!&^VkpJzH{`?`V(1+)ztd4&DTA+U({KL1W@2uLtsQsY)W-0Vx|AQ{Z--Ld1 zU-wuu-`=xYP7pyd{Ef+BR{>NsQsh)xvA2R`?}EnFA#dyA^l!G@+W!m51{!^ zSf!8Fmq0%z^z(%+d+)6iy!bmJ{yRkfvXH)!pWJ_O{{sEyBK}#z4lLQ$_4H#xzqH72 z5u|S;eb_%>^!MWg`nRL_ygokiidVln%0D*Jhd+b*#r+HP--Hhen_ckh<6itDsQpJ( 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%0DlwwpF;W>%J07ey#f9RaPQMz9*nm> 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%0DnK|0g$z)XQi?CT0Vba{5;RL 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

9gjEC|_EUkku)a2C_PA-^~kf`nFp*#Gs>wQKz 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%0D&Lr1MC+avC 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

uCMR$Ra8as{*fjTZ?yi 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%0A)JAEdb?#t~)MCrl|_6L+LDa`XC6 zQtH}oBn+Gx_6d8Bke@Z345iU2Q!&VBgqbJtL68Lta0_^B5-7OV3<(8x>U`H=y<7Z`fov>%)6K2@a zTllk7;H+c?s1@YzDL?DtL?}CY=Q0LRzlBBhH^jfbO|jdL#Y+y=OpxB5~0#3e1U}ClnkZ9T6(2~-jM_yk@w>LPC_5` z?Sv8-VI%DSRzl~Jp;QGuJ1A8_-VVy;Y6WG>>i@<@*HMmpvx8EnnYV*dr`ZyPXB+|=qh7M?Vwz)c2L&U3Mw7w|FqGS9q67Nlv}JFlv}J7l)d8q9X7hM ztJ|}KvJKclxm>NFym{UKm5r{v`q;CBvJKclxm<0a!yNnA|D}bl!*WT{4$3xQ2W4HY zpd5PG{|_5oIrOk+2W4IDpkyv7J1Ch;|AdXMGDy%4$|H;&ly$X&%F*x_HoD5u&<@JF z+Ch0Vw1bkl^nY%ntBldJgVG?Mw}X zZFH4aDcC{jv+`C@9yn8WP_nH4Pi%DML$5t6DDOt*?Vwz)c2F|y{*P^Rjl8Y&JP%^@l9hCclA6n=- z#F11zD=6=8uLq%!KnXD z8(rnPwjGppwS%&~T0wa*>fdUkt33Q}2c^QwTS0kdl(K`;2-CmCMpt*A5-tyL0MNTC=W&{J1CdyF&kaw*&RD5>uLvOd$oe{ft>!=ZFH6A zx$U5AuU1e#I+L=4a=CuZMpwDdZ3kstt)RU4m$HMht~cB0%4ei|c2L&U2Abi)C}js_ zUB7CfYepVXwu6!p=B=PS7^Uo>tm{{7bmgtvo*k6imKBt@!culn?z6sZqbncr=-EMe z+_HmmKVSuw?n2n;nwG<{l~mq~>wm`Lv(g)AeV}ItiFT)DT)5w$^l+2}X(_qr_#O0^tXU!ZBhj7d`s-<0YgZ5P) zl8~$8AwVo7B6fBGnNNmv0BI&e=sn}PWC#%XM8uBzoI}ry(Myc`5|P{RO3QwrCKFL~ z{e6SVXuA=1QK3~SbSjN{Zpx|Rxl?{UW|a|sVZAb2aZ0%zC8tqt6`FGpe%Fnr3Yd0U zwMxBE%}wIv#ZH&=L4qY?f~m%AC%3tQH!Haa%s7%vS>IsFdT*gr!6T`_95-Sv=r-sP zD}4K|LW@fCm=UVp(ac>uhw91kYZt&bSHyc)WX~C)dpfA}+=Weg8>P^ud(yYBfZc_M z8vz?%0k)GakXItdR>1DqoWuJJQz+flAJT7{XalbdLioZMss_x>ZpH7g|FSZ&S~W}Hr?2=Hnncz2^-oGajg zO+1ep%wX|@CY##XD3eX)_Owb!v}L~N;BI?vUrURoG|zdX`-urQMexUs`0a;KVbp0HGeeyD+~x}2I|XXVh>|t# zv;f*?1Z}Pqisn#1}^Xg=O^U zvOJfK{pWP0HP`JFAm~H_W)@acrULCJfY8(mWG%*MyHb7T_|%2G|j+ny;P_>JPys7QRta-Q+Vs%sgr7XGq6&h zD^%$d#}Y8*I=vZ+m)?L&C*VpYS?mL5%v|9>h3zqwglQE@q|+KRrqFGnGr=QnfUQb^ z)u^>`hQf&2OOH`N&I#jawAZ;DjUSM{5i;2>RB5c5EX-B$jldo?W9J$UvXljJeFCgd zZbKks^~|6`7oAc)x4poAassYeJA^mN$ma72sJX(yx!iWRrS!S`jKDp3E2n;lOW%xX zRTv@6h-xV}-EHmX;=ju{uN64WfAU6K$R$) zNi(2QpnS&706dIGgLZCv1^+5n;exf1U~J_C6I~eM0cv#V1Tfym%$;A^U)bLzMF$d) zPRFTWI&_Fm=^rE)r7s zi$r%BXF5CJo1yQo(uh`*O>o%=-d<@H%E|>dgPfU`a}X7B#0)9GVIospOn}t8^#+;a z^+}j=mt6T?5(NBfjr?uhR;|0AjqGp&=yFWDc)oR&8KhR)77`GJdPlZVGo}GkARn-4 zhTut3j5TuVHfM%8jaFG&Ro)2Ng4`NS&T!HUs?HSJTwUAEnDQZ*a{=yOU|h3bm;wQRwr$TS% z0<~;L(Q}4WkNpIQT68^bhM)!G1#B9%k0yY4NL)$+?61+#aKsELbg=+P^|uj~U6*Fl zOMokP@!A9kdQ%oS(`aD{2&=o$;II+DsXJGpMVo~L1f<9b=e!xzDxjLFz?w;zxf+ca zb7n}R*{C)6RmZ#;gh?$NYzUe(W8kFHit+XYM7v$cT~y$e+5}XsOBOelfT+5~lQx1j z9>7!G+~@|(m{tvwLI$N0K$!oKeXlV?>R56lpE%SftTv~ZYtT2YG6F6kXLsDVq;*M? zO32J63rw5Y;0_qMQ#2G!8mI14r1*9-n`~g*%%+lDZDxbJY@EAJQlTuF*`)XpGn?#p z(afF&`&u)bTH0YVn_Bc$W;T8Hf|(8Oq>;OueFNicVK@5)W;SbPW+Ur)BbT=mx0~5i zC~M4Yu52?KiBA}vI^KjlW@gjab=1seTQIZ9h!@RlD$?uCY;f~N?gUxs31iEiAkB`M z*<^-`W;PY+^=3A>R~fm1N2R~2?$WyPec^p%+92E0n&G{SyxML4d1Uc^0w{j#m_9e9 zVC%md78cwdTx0BYb~@PNq~(hRW5MzZ)?Sw5D$AEevTW+R599Zh8yY`|z})Scbi_$= zAFOX<4QgB6c74u5#tIbx)L!Rx#2A#0o|FjGjd&xIROWqE&R8v5Ai)$|AYh-`E^*m^!X&4 z1S3eWpzaXbXp>+V3HE(MUObhzNic*2J#}s3-`gbM5TBD#iGpV)PevsQOWA%B2{`s{ z{A3bPO^=;S0*Y-rd=jO^XQ~!XCIQuS`ean1nr@y<4ph_4lQ2FG6C6K@n&#{5CQl{@ zs_B7~_-Kx}Penqe%q@=3i=|E`2dans3dLGPw1Rx~>|?U=zsb;W7)Xs?*Z?W({t*j_ zRP{?XKyKVNKx)(rHb9PqvjI}oj#~h!mri|r<&UN&D=csvg=$gSR4YpsII5JM1&-=u z!2(BBlDEK7jf`91IOuhSat`=Oi;>aW)O^w#I6yC-kt6g^4My${x=6s)ei8}zCfd}n z%;BE5tu%(>u0H z@uz<>3CQ01L-zF`Z=OGy1k^(ECzF6|DP^BvOuiyx|IuR{0=%?BJyh!L&YtG(LXCre z##I;emQT8->N?lKRz#6L@S7tJ_ISj>cD>@Qh<2Ugy#;*s^~M+@326g!#E2nL69}a$ zH(G}P>=}UyB;%T{jlhDRgw6VC3f6AAiKxu{W}{J^sAAK#+mutDRAhd{xI(o$ z2`JgY_~T^x{>Ure0Ag1cm=hOQ__Kfbao21Kb2gUw5W9dWVWZ_-h~Ueitju&EHq!{a z*=Y@8w%5*K2qCF<-fmm~dl>RgK9oZIdo0ztl?U;wxiyVlo7} zHw!IiW4$zWu+XH!jnO!Nk|JW1pF9Z>@!v5Xk=*3R0naiZ*EfROhuIQ}q zyKORxBX3q%;K-ZJ-znwoPLRh_jNh+}Bdf?MWmBjJ^9}ToUy1aQ zEbGcf-Pv4eQ7*w4K?K?3NZI-4bJF3Z>21tbvf;qr+=XUN)6F?+G1K z2H5aNfqow$a(2*Cad+NMWwq~E~QSS(TwO`BWQ9e2*lzVa34+0qmaO8U} zDTnh5W*lEI)>mED`0W9CrNW{1CI_3FG|1)E3tD*(bNVb=%TQ@#Xl!P7))_993eF56 z=bjwy#uRb}?^_McI-_H=rJ)k(*Nh;!XuF*v$_@OUvX%uePv&!xDa7Mt<=pFs0nN*e ztytib<$ff-+~Fd1cJb(PSotVl4$6QZu+zb&Wxb3h31ybz?Vvq}1<=ifL#{Ko^hs&q zA)BirBuqms#G_c)E`Ve@9Gp@@!!E~SWL$9ts}!RVFXh-uNg^qhj48TpCxSi} z<3Gs~(JFU@4`nW>{=FV4yud*5#mGS6eq`=SL{y*_?ozJoOT7&P7tyYi5vxG9()+8l zg>64}Ey=~8uD9&iebGj8?wgV7)=?X`ZQQXNsC*)7_ns}gr-52XLN$1VTX>-C|0)rs zCTNh8Jz&~s8BYBG`cc}AZmOZ@b(%9TOTE}=9s*8^8cPzTMzK{&)T6vn$18&R0d93_ za^ZK88UVU1s|njbdmmM445Gd5Zs5#Jx#hG;$Wml02%tc8pKpm$byv<)VxG|sLdM!ixU1bATuFwSPpb!P^P zjoR6BILA;aHd@WI%Z;bj5EP9_E}9-g%H#@CTFxw;2_@)a6zXSj2;rlZv*(Ic`rqJS zxzXlr#6cP_#D>UcnGyyn{of*$u6I8{4J2PE6cr>6={o|)?N)%bq$1ePjEYe%8$_I(4P*3t_ z2{C+k3NwT2k}~)0dvIkKKJAFILw`XuDcNr4pv-_tLo~ZPEA0+K*yv*vY|861 zTo{!hAr=(kKO%zQPqsQ6tA$ogZ)aB-RU?V;%pr4L$$b3@x8B`c!EbguSk440Z`7^k z)G#xmSpi^^M%WA%&h{(dUi5YVuU6oH_69UJXB`aSDx*}K-6=X$e?VPjL=~G|U&S#a z%>NRl;69^**nFFYp|$nGo--FV;B}`Z&E;AntcjC7I50q=t#ihlaai2hGGBlxyuHoTG*2=E;Uc9T@apuRQ}jPLc_SW27&{%>ZC+zkp;qV= z`K*LOL>q3galmQqb!Y~yS47jCD<$xabs$+Xv`eW)=+8%*@4&iEsL*a5!!MhauE3;G zff+14%;B8!{#{N@?zW4__j?tqb)H_G9yQh}njv*|P}Y9}A3>jwAYCib=H+P_5u)a8FZ*R! zRW7M%^rOi7E;Z&xJ5jEMY5_BbIlTh*87n|bAe&)60#&V6wOPFpiU`*IFt1+K$Su@D znLl#7NOXhbk5bw9aioa;p71O8!cTxZL@})Cja3Mh2F~ zJ`nN1l)O-U%7P)BWzdg!$(ta4!QfKXVSL1rDsw+b&h5EW<`@%HOnxM;X)LkMJkZ?>RlSI(zEQ zWP#VG_o?pa!M}D@b3a@~9l0kh4cC0F&zLjxXz9=Py%}Z%aK$euXCIF8l+UUJ;5QDd18o;CPw3&B#de zrGoI4gc}5T%?JuZ>P|9b+4mobOq9VdR~s|>Sh5rcn(AOKL!SG9Dy^sf&MhtXyFJMD zssr&?mXHg$a)L0HBtSwI4FdR%hjdbUMl7oxut5IU_{Ilxo9r*BZI0>RyWikimG>>Y zRW?X^^S|)nS4B(_+(4)Fo=B$z#K1b5Pplo(_OPyx6tJ89IwYW}4-J@)(&!*inPJS$k)Smv24J5N9^`NSU<9Lgq*YvIm-tZ7SzUy zAJGF8YI!TFr9Hb_N`l5OtCL#ODNMXCFTmyl^b>2JU_{xPi+c+P` zwIS=U(xBp%iz|z28@FoCL6#P)c`TAQV1VGhrCO!kmbWc7BcCNfh|AnEFP-AN0pjw< z4g4MT133Ck)jb(OP)+d$U@uZX`bR0734Yh{$ai5=ZkGMR@lC;DN}O6NwD*(gj&BTe zFvhas<3^AABu7s?B?vj?R2NcjMMk*cs=xw)@O5g<>sT5kbpdwD99~CSCKJ3%9k;;dCY)gQn z_H3k5*xvYrWeE^?(nc!ze5q}gQVBe6A(bKr7sl*_5_Z`_Ce^91lu6jWg-ojcrDxdb zN!Vi+GP&|CWfFGDLMD~_!Z~(&5_Zu-Ce1^HrA)%6jWV}25af>qWJj&R$RTh(>Xxg% zVtTHHRpSZ#rxQ%FU`&$B9VoRMIgGHy{kbwuRl{A)wGYvO_rq#f@^X!4sztUpwbWI32usOYrI?{r-*SCwj^-KjN7-KtYUkSc}9FDS8pjbdjh zl10XG?k#oN6j=GG$daWi84E;}QqC#O19e=XuJ=yAyQqMwWOb?kk^5f7KZRATv=3t6 zr*V)*rn{BEJ8p=g+6}CnR|s`i0;*Xp)TxF4-iYZ`+cdN+;ND#NyTel`S1dQM1;r=! zPdr?1v>f!}z1%M=X0l_>6W+&q)DWV9|I^!^pKNDNESLeEM<-*AxWkSoJ#_-NcUJyItfW4 zU0^;5C_jBvYB`XEL)VrBI@&bF!puS+Fuk#5x;mpWoZ3yW-J>$#P^ z*VAQ3$A*VShDV|?zK7SDS_3OOG@Q+>U!NU|#O|gN(~Yjrq{qf$j@XPRsyQ??GBP|I zbF5}5F}KX^c1eqvr(9B$5xM5`^Im@1PV z9vfL7{jPqpkz|LnW6{qNiJz4n&1Qz9U$u~|-w-T0`cbPB6OE3*iX--vPSkEFyM8qK zMT?2~WJYmrA(~HOnz77==;ur(sy2*6<&j*DCFYVvwMLRmCMLM3C1T-WA$AyrczEt?m(ecb?TAqMC1&HHxkSh z>UbsNK$9j0M~$-|?8P%oj-RWHZWZC$c(R4X9ZM8PFez@eQCwiL_+!fJ_pjq}KLSgP zIJ6^$%^7{PGR+Lclcewe!2bzPLdr#6($5aMA#z5o6f)x?=Z#4C!`*rL!niu+f8pwT z@yx_ubHl_lx8LCdNlOZJV+2&5!jf^fEf-yBn$%ZEGw*#`SRVGqoEA>4ba-Nn`Y2VM z7EKbDjnz?ZlpC`27LA{RNndflY6}uOW-MvcN5`pg3JIOJf#xt*L^y{`(KM&1l$&&s zI4@;h6*;=&+C;09M&n~pa|Mvh@h)R~rY~uASk$CZ6k;{#I!!lp=PI)_YT7c()ke_e zwPwk|nGnu&%$TVQlj4pWE3e#e<}30GQW0S?nj<~p26FKK!(J96F&gfQwOhsxEyIU4 z0=6qFi+Z^nD%N(cfav2&i7$LU+zMxLNgJ(~03;OX$KH8ZH(vs@nyrR9vXC77oH%y%De9u z3nh_+da^{VeP|ekL)7y8oZGn^HGdS^G)`p6VoDjSvq;aY$QNI}Z(IVJJy^mHBs5Ds zM=kR z?d-789CK4VfJxZ3W*9wIMnf&VH7CJW8NukT_`rqI>$*pT3m(m-%dww02**RWlz7Z2 zk@oW>Mi@I5>h@83RK{veW6apMasRxnF-3!&`Wj4{1{rh+I$| z+~|$r;TX8>g*NQGRoDgK4XS(c57oFGOKr}nHp^T(1F3v5Zhk+|Aoo%VCFe*FK ztyD`m)T1`>539>@{kt~Y{84e#=U=6|$9|-FA+~$JY+pI0<#D5ygw55YZpVx$oLDU) zWWoh589xGdXcQgp-t($s{_lu-3PYvn#;G@r0xRg~XIgm75nudCW0h3eg;sG+zVq|( z2#PmE>UiI6_E1h0BJYpnN;p>mxpzf2NjQb_z-x zh0KPL*GG`9nU?4%A?-Ut-U-!^qplctNW6SdEWpHoO{r+m=w@6AZmSa5Hwr9ON_a~I z%?P4yjF^I}98asNq}o0;N<~%Uif5o}_uGvWONjY7wT^&_D+E{yU7^q`AeZ4_9l9H^A!y(7r@m{B78Rj#;{Q5>Ieb79M7Y3!W} zwMBW^Bf|y{r~brKR!qI6qo@Ek}2x{h)FKC(ehuL|j&rHgO#}(CRv+zUly@BaNJ7%P+asXe#(-+`EuNZ;!06RZaKn5f$rB zr`f1hX`|fX7|c~Flq$OS>@;U7a_h0GfkgpI)(-3)b9~%Am8fV_oUL}-c(}3(mlmzI zEx%>X*j-UK)tJpq>W+n)$Ivojs`ytM+}Rt9=uR?b5H?$KfGs0(V9+UT%kZJaP$mbSjdGl;{gT%uDJ43M~nj{@$H zw@`-j$cXQRP|%4vhi)IFDE?_T4Kr2?aX_Z0^u!oHn8%(3xsu8Wsh#JncT+vxjMH-z?a$hk$=Rlik z>0+FgopNdgnZdZRw{ll(CGIMtB6yM*!L99sj?;7pt-KN3?lhY5icA_6VbNp@YL)5B z5j#9c--TrdI;VfSaV)1Hzl`Omddc;qmyEMN9)tHwA7-_&ODY%DGvZhSM%Lr^l7Tue zdQ7;Xa0f%5Fg?fX(}y1yMhvXeg;AGe+g?r$fQSA>I zACB}@E>d^H$W^>59yy#I*`Py#JQ6{=T^pJbEs5vX%0ce)r@LRPGA-$nDAR?ADB0-_ zIbmc!9yv5S8%ACmLAvUdi(4HvEO;k<-8hfgNi4xJ%^6y*e38&~XL*NCe88 zG<3ZMP)Af{{&_JxaL<%^_TN{BZjVRAU|_AH?|153xF@Bu|EaOz?DEe0t5fp%Z#dj% z`=@u@7VF7HFfGonRcXQCh|wr{atg$fS{&X#6fQ=(Fc0rP(%1Hl?h!gK_k_2M#<(W>*a8{4=osIw)zBfD(^l0R+y-U>ZYv{O#T z)5cbYm90WEM_+uk>=;i(RGgy;iEFGqqp{B7URo`1mqb2Dj>kiHg-r$m`6QB1(%yYe zxLgQlPxc*VtV*y z14ea<$0M^$c6xE)bJ&%=D`K^b#I=^Q`XBOM6*7I%1rrD5M+1zPJ+5jZDAZ2*d)+MwvZS zyvg{v>d;G(4!wL+q5SCz#k}~3#*G)9A#FZ#lsuT$z1{=R@fA+7t7G>-F0CLGhgg9+ zyaLL#5J3A8sLP~r30M7 zzAs8eXwE68MkQdDc#%d%7sgK9^%@Pn8`J)z)8yGJu@j?!t5i|Z-mlXz4duiXlI8-v z^Gm|fsQOtc@kxz=V&QWw;z{@RWw^w&I1ob}6JL&@qPU)LpQs3wS0{#y0{c=7nda3` zSmjGW=}7HbI#C^A6Q9?JC?APjb6-EXcNkApH7cq>LT}QD{sA%Zu>1KE+;Wo%sv5_k zsUJcSKdsStItbe8`}-2e5OE`QRwKz5j<6M35{F{RP4Vxsbd=it9^i|Xa(F$YDW)_A zVkDa42ndm9j?~jZ;$9E*#i&RQv7phUBOn$vl7jI}OFZ>Kk@U>Si05k@Lfs^D`|MpR;`V(Y_vCdr!z5mp_(G_I?&HG?!Y>TRm`=6 zSSJ*l*7&&wxy}K+AtXLy3M&t4LMh<%)-} z_0`5z9aGqJr!^X82T)kIXngks+fF$=}kN2}`BF3eId%MKfbRq@MA8f(0&v=3l zrN}pI5uJ#T+T!UcAGU4J-aUJ!MMER0p;>%WqYbQ^!OJ9T2i;H%arP5^8MxD%nW!O; z|GpT0kZ0~a>kg7ZLK2X#`RMuGB8l);Iq0aJ|L{eQK zbff8mxH3pn6_T4pAO?Ji6J{<3$BPC7^7OPA^u;sIj$vn6G_jwS_StBpbnCWwdB&%8 z4mGnohif&!I@l5G&Hhd8!sciWd?~SPWW;S0z_BCP}?fu6Kfb0#4%#15)3fT+#Jt9$Zn^C zd);mzzA9side?InnJqq(rE*{&J#i$yqp@mi54#G@O$eSBqg(w%v=u}|+yXa6d!Mh1 z=k1YZux48{v^AXh7hd&;h;xG9Q8Vk!G~ z$8ep_Gz~T1+GFHxn}B~`7N4K=5$F%f(+ySByC^(u+XX%stwN>wl142TaYl7N_T~ri zKXKY#AJ1Kf3}qCTYjj$sR^&HoA6H!PwR;l`@%X$RWhI%2cV;C%)RKsnB?qt{XygS!4tghe&8Z45xkk)Y-Jv{IB>B~ z#$ggDk2UyL1&J5dF;6IoTSHW$J#=3nIjJZrAzFbRjd*vEh^Hi+7P`SlJS&hMU6OdK zM&b#j7Xc%-T;ii?h^4(!@p6qQJ!&Q|YGhajXjh2prGEM;r?b@!tr7Fj_8CByRR4Bc zfIQEIlaocX`7%F6xyU2#l^Thz?802CC_beT%LsVlQ+dD9h-mk)S``dMmsh%-yJVni zaYR)k$405aiD`8vXrd`Tv=X+3`7mVOwGs}C7*gUnd0(m6+^NL&hGOKz?OG~awco9l za3G;v#uq?M08@wSlR(r-iJxl-gi73V#?O{Z z4753orti{=!x{rBZ*lyzZqUILmAVWGYzr)Wcva^DBu|_%tFzpg)QtxUl`5M9w%@g+ zTPes|h8l|Z2RM{c+_$WQxtA5K0Br)pJ@pf9@vi|owYknVD2=ka6&$|fU0GWW8#3fj zwdjTP2^FgQusJ^~?)B+JY+F1{BbU)7(t#fF+8832vG|6@sdO5J&6NXUL&cYj_gHpM zZEWwF5{ETvxrj4;b+~DN(1g0o`T0?7=_xS`Z{a2e|B)RD)FB zGNo`pXntAE=aq}Q3iBu-?;?Pv4c?>(ylJTLB@y5dcim zs>W1jKjO;T;_(e#`h~o8t9CcqqM|X$vr-HMg}g=Ml#82N*vl1bo4P2bU5J}gtCKX~ z;TGhtMftnM$Q6DfsuJFs7U#8sR5dTy(bmXwctIqK*%Qdfi%6b-8~H zFsQ=4SqF?E-}RGGpX<3HZSi`I6?9SB;#(RIos}OeEgpQp7pOvc#4|J+$Dh)9v5#v+ zoQosphRCNJ^wZa<(dD+(+ufFfc8LPr8R5$Idf6dARmmxJiyfvTrnH1@p>OM4lnf23 z{Hn#om432=Gu>I&sd>3Zrw*FBowb9weO>${meXk++J?71FLyaeagAd*K_sKqW>xGucIpX z_WI{1fF$A*8UmS0;zM5G%SK+3cyW+8+l60uokl}yH77&BC+Ge@8W&{@04JLMdtbUs z`>RG%2aCnbf{zmW3-Qe)e@=RX>_;w2G|^pk2L{gQAR*+>5%p3Z%y*!j}fM5H4H?U2uT zRV-pBEn0|{#+<=k@m75F?HWyfG&{>Lds$cxyRSctB}?VbczIkBO}ENF`2h5m2b_A@ zsnX@!r@q2xNFAmWTf9MMu`DFWVWh#roA^}%a}y11Pyc6MFkF7x8=z%^Uu$HTCx#@K zbImIQ3D6(P_;PW<)jmTe@p&K9c<>_B!i+r7Bp!0uPe^kOH>clfboAnz_#BmZ&Z~Sh zmeHAr-H6V9@o%x5T2uUIEMulAhX2Kv1qn)@$6e!7oh#&>5egDmtS38eiJLIyNt~H=N~K zi+2&IVm}uE?DAux6>3NQ!nVV&T!_cLR+nXf$^o`5=2rmA+`p=!e1YPXuk&+~y^ZK= zB>m&X{%d_~%q7O+sK)oUyQmhhRVXh1S3hwZ?WioiqEV!d)35h2e7r~2)7QgfvPm&| zT?h=P{&I~*?!**==-c9UjY^XZ3<&U9ckxlYfj9V4D8*n_%xEOKVh5!K^{`y^I*mc| z!J3L;gdcN@#_Bc^q>C^I72x>5H~KlqW0ovzLL-NcVTxC3yk-}@Ag3#}IpKFSW(`Zg zq}z^qQ4GDw&&Q>2#%|!%8eN?Xr4L2F`^6}SKI@Q}eX}o0CFv?Z@y}6~cw5hh&(foC za#{R=ZwZmrBKk!doyJ_mu*z2t-=Z^poB(tyC_1DmrtN7e!fdcQ`-P+Gx~1-(}K%`jQ^mVXM9evTCT#T+^)(H5`K zSR`R^NPJNv!6X%HJf;jbqK$MNy-(5P9ZY{6M2`fOF{ z-lS&9Z85FU%MF>`Z92`tnnJlL9`_zUJudJ~wE{WB@XE{5}mX5zVF zDiPlsCeEQ5Er*Fs`N)X)yAOs0V<(puEq@WA^UYRg-VlQGwxxKEM&?pLB!swHBU0F* z_$3I4mUUNjW*pQ69`Z!fdgzV5SZ*o9VnibWN7uKgm7M2joNe+381X`lMrMn3sKF2U zG9^jX*}DP^IYRtaqZNu*bSs!4cS~5^uYK5;(n0_NRy!r*&l-b{ZevN~=^yd2xJ!!f z)e_AZVphB@NL3qcv|T1{)>!ymrr4psXf%%a<_>AcNB#Utn1`!-eZ*mn&ePAD9FIP# z(LusK9}e-L^zYEGb4WsUiXAk&rks80malxd?; zj!#!=9FkKO@6srIkz}h=7Po0c{am_u_$PhI+%LH&*2U8Uoaj+@@mUR^E^QJ&*JuH8 z?n!)6`;?!dys1OHHA2dW?`SkMn=RN9niT)|X+JGmpLUm*xJhHNcUlvpH~DC)=$hyT zDC#7I_^L)NwHnQu_=`rNZj+B(h)b4yd9n#g`qdg8V_{9)2|(zPzqZeBZ#AOTQN!jn9_3?k#!ZB|6H#qfh)Ko=)*oV&j)I$$lE* z<(d`T@++>1N2JAnY77Lyl*P6$`?6sD>`T5eO3R23e8mTrXKAHzIY5CUE+)Pj#Lz<1 zOEj7^mpxN*mMcD^u_BiqieGD7^q2_c5UHDe`RZy$F`?78X!kIRs?NbG#y@Gl;p*d4 zXGP;{zC>yjQ_2#=$5)0enbqsrS2#j#s_AY5*AHDdNwpQIWU4er-zWNzH@){mcj z(?`>MUYzzVpFk(<(VtvF75xg0&K5`Do5Dmw-t*hO1WHZ7g($6!Yr4b}z7xb!`d*mU zLgZfaco2vUIV|Np?7Kdd-ez~^vEhcuTNutifEC!rql%k^FZhW##)Wlsj^bxw7KZ03 zVx0B8kg!sN=~JNN6Dint5E19CI&L_i*Jt0O(TUJ$5LeveHXqKnu~I;m41In9Sg2F- z!#p>YC*2v9LMqABPXc5Y z{dJ8@zO0|%(LePQ46Gx@UhEvN9h7Gjt~7AnGYnq>KhUtI_*_R#+RQzF=F27*pB7jy z)@baBXdSG0tHz`*8dpJ!&ucVn&$e-mh`LT%oc?oPK3@qfwrCWZi(tFHEe>czNF~RN zLfoBS_^Clg7l^q_LwsE$qd+R~JT*Kg4rp+v2P797ucEf5l28 z%ffZhqF`iGWSV%tfsIowEqury6WFNO&A*P%o6f|j{I5xbuns>41j7zeaElbnzEIF` z&pMjTDIQ&% z_dB1;({5gFxGGGgs2!eripTsulz>>gJ91T+!&?X#=qT3le+*1st`X0>GbEIg;vyo7 z!1`{ODHS>851}-y#Je@Bd@w*QqqW8HyZi*&TLR+Oe+<**0_T`X~aH)MvBg&1M4fpY3sF@BHeB0s`8WE>$E8;5}f!0at6twc7Ren-8 zhkAn#1zf4IsCV+8wGnS8mU48lX;ZAW#LqOeJlso%gi(TUtTXrZGnq%{DyjdZQOPl{ z7wAH6Jbv;SjWMupD;9X+i4+csRrmA7_%Fa>?*q4Zi|q-_jCk_>{iGytYl9w_nbW9l zM!WF}iTFSaV+#Vc4~aj-aJFJkdMDoO73Bx`xljrFN;bs}As($;i^o3DPtYvN>nDDu z(TaqslSXSFPFbR(41Vs>><2;UX; zC5?#bXH%3<^HH>(jF}PYR@|hKx$iR&V}OC}b|WXl>~2Gb|8P_PvvjOc|qTR1%B;g1d_ z*eEAro4UC2s3i`B*?Z;Yjbh&zW^+)pc;aKiLYqxGD}P9%d|JyF z4}F54oWFOQfAQ9yFpuhr?Li!hXF=dM!<=msGRfUh#%79KeR3+S!Ne4;1d-i|J@HIV zcx4Qa&-!r6cN(~y^wtQoftXi{M}OQC!`d{YCR?J6EvU-!zEEQ6lBDVP089oCm!y8-W9rf9USU2F4d0Sl`r76uE z67SYnzMR!-{RAEr|7eOU<2V^{r$#0>m>z4mVx2Ff>=M7P5piQHbit$erT2VpKRBx1XzHbVy{E+6z0Ln^Oa{za#SFUgSC$BN9^emZ%w*L|2# zTxw!v#Xp)@Lt@Fq8Wz9QShQeEhe6coTBXfdXVrRvhHMaHnC?)#- zLw?R~<>ES?Obl5ZjS}&er}%RWSv+w#B6mn^i4up!YXZdRmHFb%06;ryqdwu+BYsvY zWT3cT@jf-`^Dy;LrzRBhZjC9=PVgxR#r^GiKdB6u=5A7P(_>*SIWvmc)0r4NXLB-w zSFyjQvBPnv3L-Z6;xP_+-*Z@_b60|Xtf5{?6rT(;$s%Qbra1dF4qsYEGmeaSK^z%ZG-zZBM?=)7 zlJirIgN+Ln8KRi0&-IlHF|*=ajfsNNcD7aOss_;6ywR*MZ(b3T6}RY^;I^`oa_V`$ zp0pK@PMQ~Lu<^`@tk|z1Xn$EHe7i@AY&)D}NbBF*6!djfRS| zU*quD|4$%LcQ`mmS6vKVn!Su8*>DHRPdtuug-+k_jMx;IyT8igXemJd1?cWHWni6l zT~FxppTTh>PF~sbRsb|*U70z#nEDrwi|j+ZeH-IbvZ;#?d0aiE8=<^tv)z>HHy9psqa?6P%r z6!QZfldZrlJau~g{##;_DxL$L3&-_d@-&%L=!0IefKYYhioBuIw#Eq7_zjOACqaDG zV{4zJl8ZC8xv~RkdH+$o$YW|LCF?ei#p$q+hGTW9=ccx%)OP1NsktjtSh^U>rk*dh zZFh5lpcSwm^soVq{0qp$X*)D&ZmDYghQ|*`m`3}>c#2~_?yXwlJ04Q|z!=miP@We*An_5aB)YYdms5V=VHJsfyovY)ws~4cTg zAPjK^v=by=lmPGqG4dW4#fu6ak7nqL0gV}iYV<@8?k*8O^7xv~dEE0Z4y5+_Qx}kO zjmagPlWG=9sY^$PFQd+R3?1^PJrT&@ZxL|bzJLywj;^OJPL2U?wibGP#uEcQ{#GGd zo)yr={d(NE!t(|3Hjl5BrpNuO#|^Yyex^fQa)~QiODb76dMr-oeZ4jU7E|k7WuzZ) zPKtv3_yrOg8>uG7F4c1QTZMeW6Jpe*om%HB(}rbBT~h13@tT7cc=+Zqd)Kp9Q0$~7 z{=kzMEa^rGLBT{4=Ut}d=@p&Nzs}Z&$GwkWcb_`IdbutkKtCFA2bG6S&VV@zEUMCr; zbufO|{PV_17L>t2vK*eld_b_S2*7b;Wi0GL2akxan{{(Gwlz%bQtK|2!|XY!GTMnNxQqr@)T*lK{~M!}YJ+vR zW!&mzW%$Vdt&FZL$A8n5+i8#)$@RQ8Ydku9PKp-)++V1XyFD4YvL_?qd2<0RE*;JI z-o(ksxkts715N&BDKGJ)1lqQ{h$w#Q@sW#LzaDq|a#shVl~6RC9C)d85o7O7lt1Am z){9beDa=WS_XqNI^+IGF?W>4ad2CH-mwAWBH0q4?wsOFlc~V9_j;DOH>S|z6-a^K2 zJsCkw_*}9tnf5W9| zclQ4>kAVX6$+vrC#=A9Fnkip|n7*eqTxnXxDc-9+ULd6#el33M@wK!bcX!j3986s) zV;g^3yvJkfi52tSR|L{xK@=kj9ksp8W6(ExOTo@db}Tc#r%Mj~w`R-euq|2=R!HD-j9ZI??zYk8hB`u@K_B9xPUj z1fAP;^9smP8=g5j0`Nu;qRG(#cYA<<47n@HBA$J~%|#QT@jveIS%T*x&;cTUE=N~L zU}y{U1+hDf0aPRaE<_8io*{ofM$V^3)CYsqEhz^IM$TCQ&O@s=2~-{i45 zJxx7bkmsd|Lz;+KMBYOLON_fknpjasRhOH|-smY^VB(GrqdWSsCj+(O70<~?n7Pu` z)BBdcNzMsR4m1f&#!p6@>T?6yxTUJ@TRG}+H5*jCCp|Ba^3v=Gud~WUh5yC=`KXr< zedqtJT&m9xe2rHlajl7#XIyhZw4gE-7{{+YA-Zv#l!)dF0(!Xhp>82STSYw3EgnXz zl>j39_W>#1*U|NnNb7rofcHTbo0=1a6a2kQ>}V%I`3V^Ys6s@YL{ zu8Zf<4%XFAT6=I>7vo82#Lg(%EX*-XbCXTsP?}dfZRZLM^R13*YUiZ*?4%?qf08MP zesldxihK$I@E(iLr+s=F1icSnX8|Fa_zt?TFpfbt7Gga`TPyJs5pNoo*2blyyh3G# z>M!nx8G3f)`zq{YoRh+wac9g>&QnRZ(B16O_e}kxTYb9G{Qs3lv3*>t|8K6m-7j@3 zPx=I7u0Q+^k3oHuNB)yXmiWxD*So2?#wAy|5-DMnf5hWU2}7O$&Bc7o%XA^Jkmmv7 zT4Nodw%2LDTb*X5wIYSxY7xYg83sZ zhT~?GYagu8n+jLNv&FR<-3u!bpNgX*zK%|QivQ4 zaX7tUR9q1vj%7Av#cM*u%;?bAu=se0I+R^MIwpP?qK=M?;9Z(~{&PsHp-g&xR;&w= zv!mI}@UWN+kw>z_*|9NkAVkjKD@N9jiZ_Pn+4P3>nUSpcT!=o5XXS^|!{S#V`qHjs zJ32NzG%}3Z{C<<2hDvcn8d=ZMFd5uQ) zPbRtC<JljtC2v(6k&k<)aVly0)7cagIizb57#Y5CKX)KSXk+yUgHTV6-f=1RJYZO<-)6uQ+`Kga+Y;2X6#cy>2xft?H z{+et2ToG#V*g|FK+B8y-p zPJNB9M6uRX*nuFGk>`WP2N(x;&|Q(6=-6c)G?}EWQLoWbBQD;Vr(`VSlb(z%S3qBJ zn}(!&eOj=xj1aH&b&_`~rp1#rT3KGIxJ4tmp(vfS*dIsEh*!mtv*M#MWCXg4+ckO# zhn)Dew|l(KSB!{!X!0o<5#>rJBew@h{KC_I&~oG-6l$f>;T(?Wb?3#^Ao68>@6=LI z$f@|EMrhzvl=y{4;I}_#OX7al`ufQ05YN;oV~aOy6x0QdPc3N_(zl9Z#ORB}FLXM}8pl8Gd!4UFqb)o1vosnnB;`;s zg;_)fR62*mvotQ=8Nef7cz#v9094#ofK#m42&9WUF#J?nbab>W+HVN(_DY`kZY)_Q z+4e@21kYd3ah&ejK^d-lwab~3n-u}(_at*idv~LQ<4(A?>#=WQK^33!97%CC<@2^Z zmxg1s`vVeBxE%Riq`SD}&5`ff*b)68m1f$GnCb=*NIi9)AjXZfQb zYhn&XD~8|7_&wAdUo8Kv&Z~V>{hGu1UorBwfY=EpUKb`}oj^R~?E&O8+6V?zM?5!3 zr^{xtXPhvPtz&5r!7YEKob@Vl1vw!spAAUN{T#1h<|ILf9PTKW-reC zpv%TAJIs8E$K)wC*z|ScHjgaRFmdn(uXG2c(On@aZZ{!`AJvKU!E_%!Z{*$MM)h@D zRlThplqI+`j^S3)>!VDrr=Nfx{A{lu6z6@&xbwC3R{Aa z_TP8Z;e3;C*%p6F#3(Dc?Bhv-Xz;)kWXT7?$-w(!tg;yUL|j^K1uu$aVG;o+=#E$( z#f^!fPsT~C6=<#I8J~*d$$N2L7t7-d7jF1;Tr!$!-h5LW2i`~%59Er^E@@m?KP+MG zV5zZ1U7_lH#$zMJBvMRbEeChyJ@~U>1|2*WC7)cuqSssep9Aao4z)c}3Lb^$$8VO+ z0FDYj_j6u0VF9v84w(UbpPKlH8Q|TBvgY%~TyS9uJ*YCf5(2}k_^1!UjS^*NFRp8u z!Zn)W;a~LRlh*ZaQx$`Fq0dp}J3-H`KK`he0E4|VMVG-0?u0+##4}KlH^*_N4#HV| z@|R+SP2nK4c$Uwh+oW8jN?-O8&`TERH(k!Z`<#JwuC=Hp_JFT=sU~D9G2@eb_|67i zw}Aur2A`>N5wH8IC&I_W#T9>zW6dwHD#Witk$)n-5EqOHO&Z z{u>4bLLjFe{ie$yilE_zQ}aB?i?n>l5FCX&((8`5+>`;CD3gwuURyk!G}`vI#i+br zj!`MT-6qD1LCx=2EP<5C?~72VJ2&B7yAdgork;(`IS+Bq_acn>ZtaIrO8?zm@P33* zpHzA}>;r?oeV~N)`V$`IYoe$xyu^oY$}pXv4>j6rFQ~MWKJwBA$OQfEW0&*_k{3nf zeO89{{v=ZC3v?>U`_W0Hd5$qkU;0mE7D~0sr;#e-Q5v7-#s1qxjj#Sf!ywVRw>3wBcC0ORmhzxuQ^c!=4 zmr8u7o$CD_Ia;-}`BdIfO`;B&$R8u~in)3(t@o9dUs%a)dOC7w&8$j|KDEl^EvKEo zw&f+i$;V(b>3Viy6Hgz2RO@({DEc=~}!xv25LW+-=XKf^Z$E@_d&&iszf>T>? zP{nF3<<)HQmCFkj21=OZ%Z)2c_N{iSzcFR#eAgZ>?f@Bnrgzc7f; z8KBoSOk5=_&?dhI%$BmK6nm+m;p6i__y}!WA0AfI4CT__A~gM7aJwDnK(6cQ14HTZIdT7_`pF1&yLf?V0WIl1)L_QbdD|rM4fUy}>T<4AbhJ-d!b^`B@0zI5 zeM@?bxREf`KeJKi?uT!E+$@wO(F?ZyQh_9}I4g^WU4^tTRFZf z&l}kq8y&Wi&FBDb_B^jt)KPLUXPKVWu#uyuiw&D-{K|R;FoAlLE8R;q z9O*j{QET+Y?>wZQ4XIb;tHfhwiB&yijb}BF!+2Rg?e2ps*!Yss zLo`%uoY*?h5ND3lYMvGGzRDPfFS-9@p6D4_AlW4D+Vt>_G@5NH&(W`rT2gn4S zG~6TA9aqWzr7_N}RMZx0c!|7wqR8DeQZ#c9&;VS!6X9eeM{rW1{IO`68_hRe)63jo zP7mmZE{4<>)8C9vpaORDT9F=jk^MBk&oHju2u%TmEq;;Bst$a|f+-vtjSApaP{zsRWxi|ZBpSO{d0p}hd z|IDP@@e7#cgeasNZyb=T8noAh^8>szNN^#2Hwbbe-Fig8v?!#<22oi^|6zm+ z6x$?VL>AIPBV3>tgSaT9BQ^~fVYEPpnqa=hJA#BLq@M&)r;w&MgL$oxru>iVbeHDG z6(Bza*;B0dHoBV7_!%?U$YqOTdb>;fFTNb`-)Z@U{9(J0`ZixIDMlP>js85w$HYNw z!?swgRHghvPLZX-#n!jwXwsI8YkW$+n$Kax`rxe=Hw8x6x=@iHIC60lsBqpnYOxZC zq2Id~PdmU9eTI)-EW13h07p#kvv_K`mo;7ix_9vs$hT$9ts{Mz*~O=dj%u1*QTL>_ zn0gF@F1O8MnVwj}ap_Mjo|XrdH{UkGtn`;#R!x&in9_B3lo%~3%!J&fDZ<{|Y^jm& z;5SlT|AkR%@sQBya5NQL50bl4(9mMr6;8b`D>6q=pblTNBa| zGX0jT_UY+Sdb7VO<;VZWlnGjpiSSW0lCOb6s}igcUdDG?v)PfOiWo|KIK)=X$kA@$ zcc-Vl?OGSj32R#U8q&;`#c@W77eQ<_IC8Z2W}}(QulD+59pl26n$wMn?+&c%Mf(lQ zODlbHrxL8}t@U_)h-bP?Esk!z8O#zv8N8Gchi<1d-0!(oEmM@rbWxaZ=pprjWTL+`i8>chqfp zcpva$rAf>(dPe@u%M-8=lo#P#wUc1QYw`g8##%yN5`*T?z#z^^rFD1qu*rF>SDsHt zYLJ*JJQJNw=n1@2!;AGwmVVHHhCrt6;#uR~J~7QnPPY}kb@vANS@o*Mt~bt0J#sYn z!`3jPc~sLJKFW2_LW+ZQ9??iS?Rx$3o-HwN`%DeMl&v!TQv-PD1pO5le4*`Iy@Vo0 zDt!G38qU*=`vO3Mp4AW>uZm>_1Nkb(qj-J6ixa)%Iww~j^iA?u6wq=-&A@*kgm++; z9s2k%Ml@`4Fb&_a3i>eHH73v2V3N+(!1iJfHl%Hm|Dz`jjO<+9a*CG)-y%9j1LUmx z4>W|At03rH-{z$f<%j;GA!0)I22(xBq;4_CeqTSt^XYF5L9jk=S1)OyyIe2P(;6~~ z4{N1Wrg<6^>KvYHjT#zQ<%@Yi1LTbJ%ychZzkD*MXb?Q*$@|~x5JysKo8hIKgcvI) z^Ixu^a`OBJGd&%qA;E{!bwoO`!YofDRxA8o1GrGpj=OmZabV@a0RTl&L&UrPg$9fq zEy|d)%wvbyo;jED%GrrVS{1dIeWWZk=orgbb_L0R+_p4=KItGMvQ2x0~ZRj}0qm5AC;_7*7X> zu?$_RfwQv<9POik>$q!8{3+C4&$ae8%6)XiT!qRRL(e)tOK241yQX)ZqB)e5b8U!E zOYZJKe9+&1&M)kV0uv$_e&%2t51cl6d=HgOfRlupZt#KQL>`KIaxbMHIa)+Pl$Z)) znfM<)v9}^Ile66Dr*ZqJ-`$NmcId=eWk)!O_?G|B`6U~jv-VZ;0r7FMSC{^i{o50x z^mLaGo;f2D zMVZF!ujJxMiHztBA2vRZr=6$weV|-d+0v&HPsaq)UgzN-?4a}TX`RasI{1SQF0yK? z?U}DuXql3pf3~Ye^Lz;2K?a}qffIQAXor41mfc!I7RpSunE~g`pt(ZC#kip zn`>*I$pk&`Ls7pVB5YsLl~XE>Djn>Dreo119K7ELVsx{DxpYeo=!v~jMQuKUFNb|S z$w8e#HRoo=4p4S5;5G?U^5_Z;-~#!L^V?17WmcnIsw%n5O8;tfY>1JUQ=?}?3}1VV z)~e~3G!9D!3O)oA^5_m90*!ctmAal18wPqqj$Ej$ z$oHJvlo$}#1dk5t*-WlQdm z)4nF6T~?FVm^f8SbsT0eD7i_+YOOAw6%&c7c zO8XoUK)Z@PDS9r1^0M{GM=EU>f1JoGJI=xQ5LWL(` z{7K=ITxO}$C7eV8zKvma$0>#CPW=+ZRa;@NlLLBROX8UjD~61>Iwg=u)oOmV{^74l zP>_%nS?r8}AyJnt2%@Sw`)d$aHQEYi2CR7X49yL4PQ7+%klIPa08{bmw4 zt&1y7q|?Co+C<7W#?BYIxr#T#b>}#bP_KbYy}(o;PG|u}OI37-ZE}jCO`(?(+EsM}q*^e*3{5Y&l!D>b{jj{X9gOQp!MIribND+3- z8GX4wH$*3y#q2Pl>>gxhVC;$jGY$2*O7ygaLaHAu6mLSoOSI;1M&+-B|iPp+c{C z*eo2^f%$0Yf!yXQ*MbDm3rD8}L9{vBOPB!Abag;IP{ckP22iM%x<;u7kX@@>d`o*e zAh*G=`@^8`cY>~Qeq*i5Jaw(J#l^m1V$}7nbFJ%`n@S{_VIWkRs|=LL37zp@dR(=H zJI%er!rqqGxf!{HvbT>%&BN|5lQBye>$$}M4qap9xZ+;tde@+qN*umD%Sf>byKAUa zqRViR^K0a2zSVFvD~4-PLcTFl%H!A#ORD7p&T5ANUREgvoW(qVQz8UHN}oq4WLFq< z-5AV;!wUDe?D3}{BWA2Jhx;uq?a4?CD^k*p z9^W5^P}FJv+oQ6F~S5W_;a{UxoyNZpFvB(9R9_#=x3LUWvaP@%ugAz%!)iCIdy~Caj@dy;^-lAuXuXf&FgC;x)%48n9R^bcbt&mFWsW1+O zcHIZ;2D-5!R(1dnXX6L$BFtUn!yjLG*e+3h#_A(?)+2UhHP1V`O_P1hNZyIxsV zrR=l_rO&d`U-Y-2W%X$~*4Ex^ zwY9|ipxhS{c<$8D?$nK)@$?Wm&o1`#@|q5G;IH<~5ZZ|tVaNFJQ$y*5o9r*uo*lv@ zKM5gMw%7W{5DEB!U^#;){E(4?5U zpz5U`L#&rxT|?#Fpn<#$nlFY3FYWZ~LR2@j-Fv~bo&-Ecz8d{8LWJlnML$G{+KZT+ zS}Y7w?1Nx-HAThg&mm5HUA!2Ax#m%yK-})c3$WvdL9;%M{0zE0TBN>&*8eDMiXY@m zd?z~h+aPh<%C72BsI>06s#sO+e8b7EoUJ}~BMB|NI{v} zKCv4RA?sQQG%xpxyEEjL_>aSgE;$#U2b>3dc+XThEpAkkSc^)R7#MZSJ~U7~wYurk zurV%{bp!79>fUD{<&1)_4NOlJog(GW!ug=0UO=}R2ssyP{m;Wm1fwqLI0HYMXDMJm zOj`d7CoyjvCMNFDJ}&0nIAO4(LZ8|=zO&T!rDH9SQUuN04J=Jc zK)K4S;`~aT27gkT0~$CUQCM5{X9bC0N%xoLGQWrinhAuMw@r+Q9WB2&rZrnuWy4jC82Ty7E<^+@SEAHaQ6m~4cQ(So1bD* zIDO{BW?^<)ono|`RSa$wz!(yO_VV+!9{8VhyK7?BxT{fVfEm+G@1b zl6r!P3%g4Vo`^LK^E$A7w?@`0G;%3Vi%2r)`#Fav&C)$SY+7XjuwOJxRL^;CsMGkR zJ!|4!=mJoySJ4GApBG2h^5fBaNpEOqp7)?{>nWpmy%jqN)Aq}FDR|0p5&b7GYS_rp zSXp1hX?f^)MMrjQSx?Td`y`C=*XcnG)e;n#9ACr))B~6El3^sIkV)ki^3Gj92JmD; z;s-A8*W;%DYXv`q4*tY24-!`^y}3w(M~=qoE?>{tM;a><@kj!lx>CRtf3QEgvImai zDTizR&I7dTlrIL=H8zJ6Uh85`*&+?ao7YbtXnJmqnGoyxV&beCQYr z#$-9{;@5^UT&s2TX3O-JMwapgm85x9&ytppw0F3flq0T>N01^6uCtoav`CHJI&u+o zo=2q6x~kG$J{4*@@$^PDd8Hg=sy;;?1OY8g8~W z9s7b52TFrD&FE}G#n?) z=c~o;NxatK59@h)OfV8yV|@?9j7)T72`6i`=>{Hw@fwVCD$nR`jln#@iFE6Ro|GpJ z(!Lw{fbsO92FM9F;$_`sV^1exep}Dc&^Gq_Um75N6tU>o5nk#88aSG69#+ND{+oE{ zZj91(L8PNHuD!LbjlK*LqBWJ?)H5LOsxTwC(=^US9doa0WFVm<*?BY1c54<#&vf?* z&*>PAXq0=g`0WJ^nNt=j(a-j$%{>zer`#4EhAN|;Me~R5)WEKqsO3=y4%^a`Dikrf zQ$yRZGb~5at+w)%qE4C&K>KKMswXEd)0HkS$Mr?!<+4kRG^SRS67B2KT4IO1+a;aZ z1;V!T*3jCc9NSuAm#w+1FEs~PY?jNN$gV(3?$KjLJJz*X2!01nbtSMMXCC+kpSuEO zL+p?4*X*{nlaDZBP~74wq?JT+9}#3xg|4`bo>(KYE+Nz4Q&XhDQ(xp#oS{anwyk4K zrjaMc3va#KQg=n1+9-Je5)>1(p=wPCswJLr+TY}1Y#ntjJru@f=jYP~V?1dqLJ;Pb zYKZ*eI5y^KIK)b{E$*QL5pVBB8tQ7rC(^eXgNP}2rF<;m8Ij2PNe`J?L8I_w4d_6d zU>eGlm_h$ufDnD}f|;K3Y;Y0*UaEmb-UC*kO=(Yx;Q)DUg1Js(*obWKex{+KlS{NM za~aQyc#n?;pxWJI8uda;6J9es8NNkarDHs+L_bAoWHZUt9@rePhq_DIqZjO4TUpwn zmKI}renR50-51TfcBYOE*x}Ut{c>86kn^I2@lS#rqq4AdY-g}1C^yT?At_*V37s-s zXrPOQwERg`r=N@rPa$dD-k3(bCUmlqY^!nepNFyNHBW#bt!0?n!8Pj;KhE@b%jm-VBy&4_?>;( zdFkY>KEDw zQp<#JX4B*XvNH`7Kl_mrRg$7u^ds&CRUA;Yjpm5m4xVsOoX_H1ifH9b$QQEsY{0=* zlaw((JjQ`>93Ts&xj#6lW^RUfJ)bc!uXRE*v^5oR6Yu z_-}5q@W8NMDv8rOlS{h!&9*e^lt;x5bwdt9pN+s+`TjtGji6S z6DCE+3Y}zQa`Z2UlFDzKpO{mt-ZYvsH*B{JQyl4ThtN)QdeyKKB(L>+51RALxJau=Z?yrl9beL(`tA663t9}GI9^S9A7>hFfjL7Uw zKgKid(0ws0ixcdy7Pqm7G_7ojK}CmKcTXS3hX|~-R}fMKaNWIq1RU$^!t0N7T4+B% zh1W;)!*uTBOMxlaat-$*ew;1UXxV*zVgYt7q?--!LRzjfB!+h1FnR#pW&pcs*nWNk zqN72)FSK;lPrap2ug>%VBsT z;0?P&#tVS=3&TBtFAu|$0ly!H3thlR=R(H2;o;#1n9rd8w*g17#3nwpM!~U!qv)}l z#;7Ja&~~61SEcWLGb=upcIh!%6wT>-6^Chn;;lvZ;L5#@d;o*F;-sk^e30DX{1hLC z84lez$_v}Qe&EB!OWjh`E#keS`94Hm;41q|)uaLL&M090vHUIkD$uv;XS%#v=bRHnZuKv=`?mHMSXngh_MfSx>h{P^7CHxy8>RHkKd4ijxumPtea z<|XLYDFCDBxKmhKU&c^X2iBUa;5S6I~g3xa4X-4TS^xE80C zs)6*eg+LDsqH4|*Q7s_nsu~IA1#$6WqY&R@B#>gcdcYEQ0i&>j%33Hc<@W|TRal2N z0_M1w*64!;0oYlhu+gASV2)>Z@2o5aqUh)YeFRqn?Q$rE%Uz8=^6^!4(_-|+rBJ_^jjg959?I-;}K-4Zjdrhox^5}YOL(XwjH$Bmh>yXZYUmFbcZRf3tjT_p z!_@C`r7nTLC}8AhzEs|{QQ}|ua1qLqXX@VYye=s{!-tCvs%Yi2RKDE9BQA0ug~*K1 z!N&VA(!YJE*h+Bh*?Kl`bmGiOw7(C`c6a9o>hu>MSm_gyVuy3|Cj@sPwg2oVgXuI=+sA%?Ye1Q%ZxVbH#Siwhdiwn_0 zP}tl#z?J7?hOKN{Jb0mQk1tyV8tT1BXSin*iJT(i<3!JUPEmVYER&&wUJR4abqbIV z5U{8rSHDEJ4pb#S-iNb4-0pt;GN~3td5Q=bRhs-q-9)a^4l(`B2jYb1ELJelF_(v> z1={HfiE3@@N)SrWr3zB5RXMsMZk}pqzvc?~RS>saG0j)X3`Co_9Y6F2INH{zkLVf~ z=H|Boe{w<5yUZ~5B%Gh8*;hG6lv=`91FoX?7pu9)3=C8&g(hBign5B{kZ6rw2+<9( z$Brvl=IUU2)v+)$M2HETY*rm~dr6c+_7Z*(CE;aE3$F=gujMjZ%*LlDqcqNJrQ)?g zLs-n>-U!T0E7PKANxL}Kd&BD@?TCpRheT_{EV$1@8d0Z-+oEnh?Q}yhFQE~R%tkkH z6+7?W7?gAkww1A&f~dvCWjzor5gu>yryuF4r9jkvc{FbBwS_}!4Cn@1j4LL1!_ z%whqb+AX+MZVqxH9Zw?4=F~ykyM;6&y-#yzNF(e_u3!un(@^sCT}U8|c!E7{33}oe zh0aQ4Ym&Ad!A>RV@}3xK@VJ7l%Y%PyeRQ2-yTda9**3idrF8D_g#`} z+!0I}dRJ6fJu9RX0rnoiT7bnEBbt5Qw&v^H>CikF7a(gO{Q(r!l@>a9R%@9aA5tYB zWAd({tciPh_mDDiOXGJtj?1COwEwzJc4@w@0QnKf;C1P-LtfV|i-uAOf3F%+Cj8y# zp0G9lDr=_!Qw=R`_`=fm#v-RYXMM4wl+H;LuM+mDd1 z8@jQ?_M+R5$YC#+5#9KVakd*h*)@Xa@qaV1%3qeEo(e|H{!htqM|gR6?f<6{waoV= zm~l!_9s6DJnoEQvir*i`u_9xh0ft!dv|7Vx69hxVvqR@`2o>IB3Jqx{iH`t04331 zHIyf&%U&AUv-12?UW#3DgPbKO>pkt^BS)iq9p@iZL=PQz*U4YhA0e96*E0+EpYD&) zh;^vHdq&Tx$~C{c#ASCQ$1@`@H8EnY+>a(^TuDq+eb$hb=(3djX(pcU3cX}v2Jn#3 zFsacN|1j89_o(9IoLk3To!DwvbeGYR&*{ni67)wX)!Yb`l#Cw~H}ox^P~A|^PSZd2 z+!U?yxW~>Z<4w;SQajIj&_oKK9xySO`_XYSe4u<+Sc>S1AvZFPRjrvVX5ACELAi$b>rv zaTX#JbgahnGD(&9h3|ODa@c3RyIvafvZmH|J-QdYS#7*yH!t*`gZHXh8bs~LH-tXd zbaeo=@q?-&zv4a5LIDA9T6PdE9op{$55_dJVtp>M<|d!2mT%H{jD>L~BIJMbp_fjK zeD`t8Zu!VVMP=8d0yZ74F<3v-H<6FbqP0Kv^y;Jt(Q!Y`-Nvo-b-|m<%{T=roJydinXe0 z+V3k5mY2cHIPVCfC2TWIABS-@NIc=|pdC?@+#iBvaM|jcpxjr7Tx+96(OCCeOJcY7 zI615k>l)q<;j+$}@mkLh&d;$W9abGDLga*zY}q^Z8^Tk2*`ES{kFQF+g3bzdrR%T%g8{FFrHJ^izv;v;~tP-di`eS=agsZZwKS8~(p0N;Y8Uj4+r+RHaKygs(CGl}Ul5s;$4v zCT7c$7VY*kjS|sxf749i4Z#MIO`94_iw69liQ%TzLngv)L2bU7!5~=ClCK&`*_eOE z#Ch%cjW;*h6-iZ-{`V$@+p2%w#0DGo+ihXU#1YBL^x`N9KW*AF!iK2TyG;tGDS3;D z6pg%LTNwALEPmDBJpDirk^2wtO`NA@n*3&H<2d~#GoLiX3ZEZFz9^*+C(s`1vT6op;8NH3kw)iwS z+e#&A__n5G@&jQ%6X$#*+-D(0Ia$BSV3iw0R4_5(`fo8Z-uJ?iV+=OkcK*pG)@kbh zM}ipRTIm`KshVds`q3ij7Gs?>HDk`- zt7tB=DAdFLDUw!IQN7umi!-M7h=mtTl;JJr#LmcC&cbVhYj;^BqJg#SShIcE#>z*r zPBZJ7Xpy*#soOaKY_oQj2ib11 z(9HdAN3&r$UbK&e)kcUOut>Z>g+7w4b~5MUA16B5s&a>l-u6j~PJ=TLNXG8$W#`j) z(d1-JGIF#}tzwmEIvF96s)g(y(CTDG~X| zAXAHyXp!dCD4j3dOm2(F)E{$hjh4EBXQio5tH{@6>c->|(dyja<+WCm%RUO$X$;|9 z5tT^m*ji^-PvFpAuq5er9x-b7t;(3n!z}j}}%7Nc+w)8~4Schb7A}WpE$C8B%OUFmjPW$THAyndG4%jy;C+(x` zE1M88VrHks2*;+2Y$OM#Pi&+cop##KVjBu%eR2fNG3X5&&*Y9-i)|U9PO{Nji2BN= z@x`b;x-1#_gVY0dnH#0n>NZBH{_KE=Q8ky=Vw6KZ4bp2RDO8J38|OS;v0ij4Yvjn$ zZerC$y3fLL3u(o?XI4uo;?g`bC!^ApW>SkuKbRG=byP5B>&BzA&Af_6@0nRI7B%-6 z&8tXsW)!R9&`P~V3r-Z;+f0ks_F6ONM4C#(H`2P&u9rR{%vN4BMy~}i8$U&GgEG~xyZ^R%TKH%2b1mkjkz*)wwaPq z=3O(X#hA%uqh()&xxuXQ$CuSBMnhT~C=Z394aA;u*Z+eqtwk4y+;Bj*u23zylr>(l zUUa!nBeAK6%+GE4taO0Uv}pJ2Vdg}1xysDR=<wXk(oSbdOD- z#h_J>v}7ToP^XQRap?X?+G*#EKFX4XidW)du38L{h(=o-ZLx;naI}r%i1eI|4xxj==7kC*5cDvf3Vp1MW~Z)Du0an&MtGmuy#Gx zm!Y;0%^gU;M3dB9ffr}K)Oi17QWa=gkF(_=+B9caX%TAPvC=Zuq>i^)*MiOQR*{G{ zFI#Ch+%%nF%SOeU!>s}@;JjefsECt3(UyxZd)jWLov3q_RiTBQ zpRFPhccz_ea{{m0bykvJ^Z!~|e$S_zVl(W%=odywko~7oJipC5pK8m4*^8~LeAz#@ z^4i-z=QLXuzSsRetIYqtZ+W`SoYpKk7$U7%B46kc2aT9CqJeR1IKTafGMbDdK=4K) zhtMZ(0yI;GmhXOs&%V=w5%ZPA(nGq-RcP%VjbH1`rA<4G%$}!qIq4sP{+PW+JC?=F z?S0&zeEaeBHsTPq)yPr*D{HgG&Lv;|Pt9RzVC}5`(bdjYo1(n)zcQ%o%|3f^9CV&W zNvwLs8|+Tkl8En_Jp4a3DIZMpIsZ#Hg-tx2zx;2ls#}^o_kZcDGI}+PnqKTKwHeUD z5$?Q{5eFTD7kjPqoCNxdZIvJ8%H?#uggD`bcMW;PWngG8509Vk#iM>PRav~{Vtwu2 z;BZ=1Zxc?yQwM|H=s>NNfkANy+qM@d5suSdI6(J1KY67I_Wgcc|4l#Pmv;SoHOJi3 zbviC|D0WaIt_LB!7}r&!zd1jqiQL}9Pi(PLt%La7;; zf?(b-FyrQ9zjv`_ed~+E7UeOqdF+mCAmv6lU)UI4ctq1K2^$sZc!3e!V`EjLZO2Q) zsogDUK6gp6=x622aDQ=N)0ld;Yk}D7O}l5=Ty7fgd^aOXgw1$yV=s!5wDF$v2mCQ2 zCq6!!hFu<^5YEM@GNfh({bNXtvn~9bD~8IEufIlzTp6L0TX$0bRS_DsW58ddG>w5A z4uzMS_O5+(gfZ+OSFKOPCZ_1=?2i&+d90G%93{hIjs9X8dAH`V(q_yxp{y~70lO*7 zotiHT)80!aU!^s#4O#FcviN@=mSA}A$eTb6ZpFl(v}_T&AbvjAa(wF17snnu&D_$AyOO;2mud{1{5 zcEtQrgCsJ1tY;7+6oxD{YnX!e)S$e|_)r}i=q}+Px-Pn02g?<-t~lSvG}Hw@)4)8d zR@u(;g@2FHe&>Z}yXlB9B;bV_?4cKHXuetz$_F(}LGNi$o^M^LSni`?+k3vaU`zuG zSZ~PpoG*HJ4R>zD!N3Af8Ltqw2&wlEbjIST7W&f=ie`Ebz@ESG2A;_tybY5y?W+l5m`PB-A*d-&j;1$sEF@ZK{KmRa>S5=nbe6Gt+Iox#vQhYwZ_5g{9+cY_nFMb67pj zXqz9Ei_e*;`U!P~=K>XlE!CVa@IQG~eCR<<&;1K69Xzu7p@#DM+R3dnY=Y;9R>ETG zX3E$o95-R4Vl6FkI#HwKCunQ7yBFgc8t!EjOJ-v9hDM>Hn~wKz$%&p@eW)S0^Q?xW z%RDqt=J_Vg(`d9w`v+-IM||5G%60Ud>PBe%+dOJ7$;%;uHu24)T2ZI_QhPgPvcrGzahkIq_=v6& zV%n4nntnL{h=xzr-SO?P$u`G>UX0yVwakuQycGWZSvjkxkPs`)#lG}%^H|O5k0G+1 z+soe5+Iot-f&IMmmDrRs&^VxdLJC>y(J>&LjOB*-3;3H!>@>}e-4WuwZK|1nKg5gl zypK84YqkZ=i{uVHAw-MR`Yz^d<)DyESP9Dh9FhrZ?sn$F-;hR_@@dwa8gyEJH^(;9 zuF--F9ULu4(~Z%B6ull2Xa!=}uHFmde|XMT&P{yuViO{wTD3kMDf~*`Zs>ex4i8DX z2O4yhH7jLK?YG|Kw=Qm~qUcAfjV^t6{(#H7O!F>sbf7%Xli&4TXgEX{%c339+@fjx z-s16kXCL?}--RqS-E+w=^H~U7NE=f5)eYaF5`6Oy32C~tgDL2S5Z$YtGw^bVt&5`q zx)ITEn4H}9o>rX^bfd>P2*8oFh9m>d$rxo&;&ct~Gh-}{SUO9=-nT(B-5tU*^jZi@ z(-JeKNiS`Rwg_QKY71cr>JMRYIxU37==LBsmR<}(E%Z|mYNm~51)R&!xFD3KTo6jp zAA(Slt_wm5dMXIT=?ew9^;&`p##*~cKU_4<=ne|iVnU~a(6X;or^u6ESo#Nrs{s`; zig~@8ye@t}f!|IA%*Phu3>9(03Lg}Mss`P6zo--#UgU-;YIU5HwCQZ=TNmn5iA+#P ztv0Ee&r`Sa6MI1B=?L}9IU0$*yHa5os`VcU!{l>{>@Q+Ns&bELP}BDc#KC1^Qj$bB zY?rQ-D|2z0nZ(8^3`#x%PJ#sw6#Y^XJyD_PHmqhPbd!Sc0VIKEos{@O77fQQ0r>9P zz<|7K;*M?HAw81kWO)aJ@rCW`;|ynivFLCm8sOu^qzjijP`=uY9YM!uotyHcBFe>* zRDP-e9uCfmQ=}xm<{b6N_%mNZEeb-~S=nm7EYW>|x)0@n*6WRCl0K=PpiyRQk3i|`O*Nz96+AiI}<_AtEGOeGheu@wwZNh$VXFn*qv;u8AX6RiDzn67I(CyBPO%ySkbaaXQXM#ppH* zg|31(Y*Y)axTkO-lvli&(l#nX``M^8onWIL))9D(B&fa1_PX)Xa;O00SwW+%+ z-ZD1R5~G(KB;_DKX$i%vmP|;;Hs41j?kcp1UICf}1jS7}Yb7m~3l%C0CAzG-ld|ruR6Kqt1 zDmE%k=Ub@6SbD@pHPaV1DoyL>%pN9^G|5IK=l~lPqYEt*>aD-osAl@gMrCNjyxGHe zil*48B-LzGoG!Ldv9a`+jcTTEY*dCeE|@)xrD&>+N>IZ_#pqHql^WYZPuQpoeP^T6 zv`LTA!_?R$O|wx6T41AM^hXQTGM1jQQO)#&jY`vIy=D(vk~G6c#c9w&HIJn$Y*Y(9 zW1}+kqm9D%ebMY;bCPD+s5l*DqhfTGg+lG{4;z)CpKVl%w%Xt9VJ1PdZB&d7u~4Wu zuCY-W`lpRb)2}uvNu&DA9;V~eVWChv9A=}M={g&grWb5f5^Md;ZlvP0wS__zFxN&k z(-Af*LpRu{6#d&qC27fivxmtzZEK@qw7Z4Eq2Wi_sAl?;jY`u?HY!C+m(3m~5;Vp} z#c59qh1%iwHmaF!woz$%#YQD**^1f2c%0%kDn@%-s8|dA!A3RHpKVl{Ub9h2T7JOn zVJtyO8x^B{%~W#iSUS!|HPdZ2DnoDBs1&VufYHMwDvq>`iqn1;3bn%tHmZg0uu&O$ z%SNSXrK;IOR2!RePE-~w0gtrAwEWSv{4D_wNY_8 z!$P6D`HPKerjKk?hSr#G_Ar&Aoo!T-_P0@SI?G1I=&u$k*+QS#sAgJgf!V`kn#S3v z6qRgLg3hr~F?!HK;XCD18`VtfEHrzVNK>ngN>bTICFndG6{CkO6l$W+ZB#R@H)!?{ zJyR2HREh>{RDv$BQE__ILg72*OB>Zf8ysl%FqWaoHY!C`8AyCrg*HFb>>)b1X4>;X~n2la2@0xr#Ed>jE4Qe>>&nCGBzqhSsRt26Kzz2?zB;H zdfP&wPFeX_vxoSEX|Yim>b6lSI@v}g>24bpr*|zBK4Dfl&g>!Tl|FGvV)DvP>+pD(djlSN%z^PIDKfNVl?~&vxlftcCt~;RJ2iP zI@3la>3$m(r;lw^jMhBS>>=uuU2If_`fOB+&bCnrdca1-=sy+;7022qnLWf{|9Bgf zrhXfhqH}Fjf*!I_ar(?cq2gHgWV46pOq*b%GE}iqDLUUqCFv0xh52bVDn{#{V)QVE zI%SfL%FqEeDoq#KD4fV>qZ0I$jf&BRr%HmaGf zvQcUJhmA_o&o(MSTb*V0FcYWQ77DfbAvP*Q*Vw2e{nJLp=vNDsYNk|D)VTX-M z&|x+zM%P&=RHHB0s0`6LW;c>a+S*3NXs(4qg?NOG!uXes!uXesiqn$knmt6Vx2=sz z)9yAZK}XrB82!mYp^|#ZMx|-#^UNN`k~GFfVf@QXr7(8$dmDxEFB_G@o)JbjQe)$^ z?D=M@rG?@)DnonQD9jJHQ3?99jf&B077BB*mcPL4A$qZrHY!2;S|~)D<7^bhzid>R z-mpOd8h8EeVB)w;&VzlZdW)Bf5ZljX)wT+6=Mpv0Vj5Sl6jY?D9MkVPI8x^O= z%~S&Ijc;vKhDKa%^e};0AG_M9IL)_EXm4C*qcZfQjY`t@HY!e=USswU!C|_M%Fsd^ zm88pURE(asQ22QKuZ>F4=GU4%M9X2Og+j~WKpT~zD{WMYp0!a4`pH6Jp2L>cnLWgJ z%5F9a<6kx^L04NS1c&ErREB=BQ7IaEz1c%7CTX`(F*?*jC7S748 z<5(`(VxbU-y3JH9lctl+R2(ttZX1=PcWo5*H@eN}VGQ%kw=+|5v~BV>3gcfk3hTej zR19_H`xXk}Yqi_W9%2KG9c)yJdTdmjPPb49U-wxkG}=G3P%Rl6euvpZOk3T_M#ZRT zq0sC((?+G~ejAmdk2R`LDdnb@Y2`aT&jdtc0?4!m%??6!Y6PJYog0K`Q2=Qx_vU#+ zj2yiiU?yV~ejlxPm){v)Zd)l+T!ZIkt3@oTt&}_4^QC-u9jp8I)95+nVxgGNb++a5 zm7Z#LpqEb8*bcedVySZ$Z&}w6cIbXh&|WFjJ111I2T+ba&~Z*lE8Ok5H#?gvViP9X zR>O8{RCvKJe4C!F_R;PdrS=u-oY#xX?-Z-Q=~x4=mPp>JQ8VkfX`OQh2C$YsTg%fM zA#OT$gr#K{dCtis(|7@_NRkL~Z4)}NUqZD``7`@(yCV zP(^d>dcP72T_yq7mcTTie}4yi|4|e9=xIK|5h5j`bpo+xrC#iuk?ny;<8-1?&SkOhZJv5`6mL>zJGL~*W244Xb)s1A&6cusn-A+L^PWPy z$@Hr}JeT9kq6aiTdb9J3xZj)mv1&G#r71d=ZB$X%u;~a@d~iQMZ5TL9Lud2qZn{%P z^82Ik(90S$tClVCyFDx0TY?X??1P?HvwACem|(}Y^}$)}_Bbm`vvn}rK%p#mPRTat zKp$S}AH*IWdAihx_GTCKc1}UH(nF7F#LOBtb{Ndkr#e?_hd9qi$PFsLCj`YLpu{yV>*vm;yVoQ7K90UghFVRPI(GWkG5rw?Y! zC1%Cy$sH79VpGurQ6dmFjz0@pvctyT~?dW-aT9mXx{?VMJmPkmrL+sBc8^~XG4cFmT{9E~zQtjGrU(4eVVY;DV7 z^H2?JE7wq&ibesN3D`6Usc^q!5a!Rq9 z?codAO9%5^)%*fFREM$%sAam$2bCM;N`)TrV?B)$edvd1`6oPgCO4}6jXvCyZGGVW zsI*aE&(=ZF(ysfEY`KmyajuS4aI3oM9v#AVM0i)ZYJXdY^Ob53-__-w^xT<<)Rh4! zx6#2;SGES>EFJ3^#N){#d}}ZA5t?8^W1v()bfK$sFpr0gJB+&XDIZ+RS5cXNsbQ_C zdrKTG*LuoxuXS*sTCCtaP94Mc{zcx~iT2Y`-p-|)j`Bg`qvR?bLJ6t#VIQ$4d>}%= zfBXP;DW+AP)*Q(;&_L(wABUS$=G(ZFj~3xP>x1w%hy-1gDw>pKe1n{(@#7o4#T?!0 zL!ja}<3$~;;t+*Wo__XYz5PYn_!-Z?@s)u}e+9eDOwd6zLQnxwua2Qo=%eF(NUfIb zoSW^Xn|)}1qo1DhA-o?p-1}Yw$IZ`U-<>k8|E%ZBxN1Kd1ps&Pfv9i0sauDzoxZ43 zd}Zn^UC~?Vr#m!Y&lY3Fpe9P^wp{+p0UQjhU zOoR2${i`*6TAsHVrpGl%YD= zJM%p_ab`?S?DM4U?G%rr>vVFopoJDj3ec&1ZL}amFGmZ~H0;GFCowN?hiC!z6N(lj z=;CNWoSumm#E4#sauR*v@n}H{bwvxB>5OPWh8~Ud5u0_8+L!`Fb-&pL}a6+^oM)yVvu=@4WXhEDddL!t#?gK{jW=0E=bahqYqvhX;ao_)CfE0LY*EasZpNwwBQO z)DV02ukfz2D0Ts@lxnnf5SiYfnFU%Bmj@)~^JwXt&nVId%#R>5x3Jf?!1Qm?Dh$7%NYG9WTs`(ou!Iu3@vY3))p8f5;sEnP*NZGJ(i8DJ%&n7HWz{EgxX7(pc^0q%le5 z9~z~-m_KN6=Yi;9r1d`c+~lKPvDrNBq+z&M6WeCY9XE|~0d(Btacwi`_y9U%=ENBt zbh96=AOieTgIYNVaEbpx1M}ticrW^BgD*Ufx^Vz4aF(`eFd*^P_xQ0I9qR|^8vMpV zDR}-fDj1XQ!EpmMdP;)YZTZ}l3D0t~iZ~l2I9bEyG%e{9{k^hh>dLbn64uqm5zY3;ajMJHDN+?w| zU*I_|O;lqFV;+sJrtV7rm_ZE36vy;-m-yc%97`hip~vCAH$(}woA_>&PA{Hl+mHA< zB6D4fR{Y+JspZXW&s}V7jGkXyEf%1x`px3`n`%kXw8hrO>Da~9Vt&@ci>*x)eY=?c zHYaF@#nob&%fiLhX6UxX)+XtTC@l))tey&O{$0d1K{Ffkk%y9CK4_F=-|YojU# z<4U8N#NXmb4$-jxcT{2|?Wpu6X{GO@{hW~RYV^?fAyhDh{ga0l;r$#!gh@2tl<{<@0P%Q_$x_h}-$pnX)($aP)tp zF9P>f3cFdT4&EDW4TQe(&@{A+9v>oqoQo_An0L_2%0EWAoU8hx@zf|W#>Q}{3ZG5W zi6av83+Y%^8!nPhOU7vl)qycRm2LYms{%u%xZhk+;=kf=dft-OUsK=)P0KHgyffhO z#hv^q>MHU2=4 zyfyk+M+O>vULuBIXtQ6u%(>NErHLAXIivicus-YM0B2p;rBqJ&PP|? zuc7_G*2Ux5if_M zL8|9Ad*1X0PT?EXG<%LXy^eFb)j)gfTVUN6PY#jEW*`>~c{(4hNz1v#Nqn49vxcCk zDnErwqWnV+xD&hyck-i5Ecgy)wKI1eim zBxrXH89919Zcw9)@Fs4%XYgcA)rF>XFXnaiP0#mpZ{#9y?v2u39(9jC(vqUs@XJ6e zFX{OwE@`}DvqodV$pdiXiF`{+9&{s)uIYA|WFBLO`B+!JC6UQxuxIE=nmw)U8AIFi zE{zhNci=su*ELjJbt#Kt+3Q{KDoc4DY631c+ksN0N|h{N}xYr^$i zjcy0%4{y$yIrL_Tl4X!qSUQx3pFPDxxYNx{dxMgFw^~Jn{V+VZ*H=d+=uaM{e@MLG z!TuC+qGf_^`Fo2g4uNvQdqnXV_Lttv!X)YU76$9PEKHnU@)+&Y<~I*Tr#Q-ZUiLq4 zwXExv!fC1pd5&Vy6ZW44)wNC`B-J}40R_(HPYytY)Bv#_v zNvF#nBS&*~qnbpwFyG@vz-5n(=sOYB0KFl_+6$GyK>9K(2`6w@CgCz`y;#XG5|DFi zMyrP_{-;W(_?!0CRF3BptJQKvwR}&OhIhquHo8vJ^4-Czn_g($R`SbI3kdVE#bKRT zE%KWSB2G+P$d%TnD+_0#lfTEizuU_5G4(A+IUs!H=s-FQf4Y~!&s5$+J>L%?LHH2Q z1d~O}vs!7z-+55E(m5bUa%!EpZQYn9I6&KL0xvKpVwBSee`p4Innrr5uwrnLM)*^K z{6HhMR4ugXDxQ~tR4uflMrx^=sh|;oRG50Aky@$@-K!CSR2lk6BehgGDqvNshiTeb zBehg1>eYxqUN|aPBfV5(={^njCmKs1X`Gh^N7Jola}W1V*2*Zq}$$ zwpQ=2V`xbMZ`P@Q^X{ax&4DF>+#o7XN z0aO;$=m;NLtKcKCSfi_b=s+o39!pPXSiMxk)}a78yL&3=O~B;D71z}Ki6>g}2Q=h( zTrxm#?*c!ay>vX2a`i{~aYufg1{XB>bAH^B|5t~T3D^22Yk6+stV~BfMT2qNFUD^% zvD>+VhJkbvUZ!#WR8IsMC&@P&fi}6D%?4|Gt^s%Cts0Ehy^!Pn@+~a;DNdo7bN!4+ zlu2=#2mK7Ek;Er{LL`wh7S>$Ha||AE5=rdjC!}i`&ZXDS2+ss@nx7C!#I-E)6P!Ze zZ~JkPAjVk?TQ}sDz>^w|NFqON(zK@uPSFt>%!7MaN}g;^#aj}=85WBI!gMmz(i|Hb z4^Er-DxgbbT2je$Djgi&8@-LBHMzsM3j4q9y3o8XNeXPh=ADRM4xofGD2ClMgy|Xh4)nzw+1BfSg5SOACRO&rF@-@ z{N5%)<$G#Cfxr}Smi3f&y}DkdP*d#mU< z$L-0L^3?%aVpGkvN>7Eo-$KL0=Z$*S%yS>=LCh&~Ju2%27cDk%h6e86Kak58@>LjF zWPn-zwubjq@(YWc<8qrj9ig$bIPKf{55>VaAD7M-WS+lhec#AEP&usV#joWLpc6H) zfb|;O{-s+qkb&wzwIZf7y&NQJ^os^zGAepMuuzM;nFjenw%)?a6P?5IF3G|uisD`x zk0uqa$e}ZbzSN*v zz8|AZ7*1JhE6=}NR}Z31jkeP;9;WJCi0;wOAb23aqcsqrw41K<1M}%oKTzYc%LR$+BrCIx}?VC`MX3V6vJwr90)6g0t-tPVP{YG0t_v( zQcwOo58YC@q`p+~J3)D-4T9r-fZ{xWNd`h;4=UUB9rwJO- z-fr*Mky^sz_FLoY@5$-_mXx>spctQ&W0MQ~L)-|M>P^E~&H#GandIe#2J zAK<;d*SN2H@B69IExOF-YZ|ZxO(P4mgeuy+ScoTlW&<^?KbLNoMyL3kLb}2yji5Bv z4@Wo)VHXWX%c3m(E6%{nI8C(cNZVf(m72avHtxndPH~je3Xbuzflt-&x(;3Bp;FUi zcvoMGB&R=myaseTqVSpzwlv_HIdNjtISEC%W3#$}6Q&ykiU)lrS~K)m;YrmVfDAv>Su zc(^2GZx?Q=f-5J%&-A!z5XB*1@1gJ=M=)zp8|fJj?#T9Zb+)zfLR%KwF<*MDY*%9g z?N#D@)Us2twuP;OLp)AnTW=0;;Iy?%smXEJ3p_R#+z(-NwNAf zP`wph-%#H$+782LttZdDjfj7<)Ol7{*Na;!u>3s_#IqX;tn)y|cp-((j)B=86gIli zL+gSp=&*y+f+$}$32j>yE{9jS6k=dP4yF+rhzvHdrg?# z*%Kjoqn*!D8II8$kE`1Z&iE=G!Jh8%q%2l7XJNgqVGhp6R%Y94*}xs1keMMd{)&g= z^(pK_h+6dm{ZZlWzH=ru(ZF249oY0xrk$f4pD2Eg=026`aF1IJneg-uC7Ql zX0xNcKeWW-_|1AD{n>Cz@fM@cqP3ngC>mX~(^zZ1!Ivzg3d1Qa$woQNhEvkm80GvJ z9Mf$y)uUIf$54pw@X)#@$wSWGmp!;STiex+EavwnHa)-@K_0czFb{xrq}M#wpYFlH znkHgyi_=r{V=(Xvn<}_PxpN80hR|q)2Z64qBcedl0?gtl z7X|0hB~d`C<{chZ+tARBrlLMuGe3)`TRe_!WZ*z&eMeUgU6CdIG?PfS`V#j!f5R@4?x4yhPs*Um@GA=fo}Gg)9leYIpFq! z$Fh3Zxk8Gx_0eV(&Mz6f_lcnh%h{BA%0Qu=*XwNWJ>uK+*DZ<(GQXb^)&-yQT7bbdoWMnycu7u$3j}G={Kj#xnM{RH)5@et~FFUvJ8#r!=4%%am=?_=N}&0k^@NF zO>qu!*~JPlm3mlhHph#?JOQR-qBx6VTa@jdmE@>B%$t)8wNv>wkAVT`_$)^77#DBw zV7-Z6zmWDjSgnD&yI845`>8e|YtDevc?p(2D@V%`9311J)d|#$Luk`OT(WW7fHOf@ zYaHRBwQYEvth=_4W&uofmyb!~1g^SXciupfIGWF?{UGFIn(x*9!lEL2KZxT~JyQen z`2Ns1gJY1?!^;aR{y@hWOpfZRHD(U;9D`@gY3$z_#GZY{{(!+a&2#htNRwnTM9}jR z)7$QOsCG;O!&xmlFoMj=690MT7NU*h*Xq7eRCmM1G!CsAF7U}q&lNNe$ox*6$y$IP z;9wE0Kwpffvl+rU0E|lLV*EDl)b#M+;G!Gj$hAON9*@A^s(<3iZ~V$Pnyfg!tqC7L zaJmND_NF8@3>eRPhDALap3!dQnIF_PXvxbVnQx+XQ>t1dDe^LPyz;&NYf0zbyfKMd zF@EIBuL=B%!!Dyr{)r}lJJl?H>z@}gY?2Exmp8m6y_bR$WNb)d?74Jfs-A0f+Os{) zoek6mFb2JuguVo1-B9_x%Pme(4u|l_NIaXF%IN~fd4LJ1xNx5@udywE?^)N_zCMOE z7W!ozxD|kPGwRfH5f*E|4@8yD_4rj?G}jb@U2nA{zHGpRu*&E}{Knb}p0GaO{`v)e zne>yvAw8Ku)&QvYNn~|XwOf*N2B0WX zb9)?_55%gO8g!8-X0V3?*sH#>DPvV!r@yhx1r%XarZMJ$fgIKmFd6JgYiR5roMjEo z1XMlRB*Z*V08hYTzf3%OI}C4phZlc5CwHWJ%zkgc#utYk8ARu?3AvvzgX{KLARYBs zgnAj2G(&kATgWmeoJ1Q^@NeBIB@IiOs3I&_8V3#qU`i2Qe8-N{DGB6KAo-E-ZUTaG z(_7z@IUys?>gzh?nf45hy;hsJs{}kO+h=peC28g)+Vd_QSFKJzjRQ9tKyGf(%TaPI z$iW6jqwjWkV*R4lAbJ+iej{khyi}FBmP8lD#RYNu5GL3+%L+?U!989H(&{u7ph-i6 zofE*W1XgWI?%N=&({<8QlxG%3N(%hS|0BwTy%2R^gqj6PmxhsDJSHyC<9NC^mGcrf z98bT1%vB8+_t!hz%O08*?r2c10MooEc_v7hq4V)S7dZNb;ai7?b9C}Dsxkaa|Lo7$ zjFQ}9xtBCjV5K~jXVkzSeVG(y;oHW9g3u8xp4fs;hP2%@_@$e|Reo)@8(ftH>Zzb7%TxWx9#O-zrS z%LV=n{%JgU)DlqI;UREJ#t4s!L9n}2&S;tS6%)%T+`UsHaO0{4ZwP@awJD4Uo)%*= zB9NF{#V?srtWpSa-(Ja18uKoF<_T_Mc_%0%BbZ!j+5Ar-bYGy=Ha*&e;^-~qU&uKu zwBXc0fxN4Va{WBuIJVcrNo)+TY7_)t9Z7jyTol;V0qkB@$3ecR0fhf9GsY(19skVo z33!~qNIl;TSZNH1!;=dbE{#e9zJp;5*CJMczs~sRSR`S6n@8B07!LWdf|o_@K)#-F z&ST$8$p47((wIMxzmxHpdBCrU`6Ry8qYxhzwGQ!73>PQ8Igatsu~6a74;kmW>U#-0 z%fwC+e}(aw8HjKG7@LV&f%RgBi;`X*6A*`$GZ`+4iNnlNF;kjMgqMVYmdE!V3Y$F+ zLrFVD49BDq?9mLP`G{CycLa~gvpbCAOJoU!)uIrEAwT2^wx1Lq$#^n}k7Bqe7A)L3 zP4Hypxk2z`o~#l)87w^s`z1;IyNt(54!o}t@nq_p!gxGyA^*F88F>G!m`Qs772~nU z!phL67>+dwz-KW&HfiQ0#*1R|2==#(k4hGWXGFd*nF?PqBT&@xo(5hVGlT%D1djy_ zM^9lKXW*ly0SecPLNW%c7%zzx2N?RsGaPWNZo$rQ#*1Rv4*5BZbHC=-3CN$u_~@kl z8^unb33x#aB?B1pEDVi}Wf=k}WV|F+P~cEC<3)ur1{BT~MoBCwpm7^Ba6ml~hgX?V z8jAxgZS@=n9m`A@8pAj~@s}`E&x}#YT>FtI1XBAhX2jc7gz%;cAr=R?wEbV85O3z8 zFplxj$#T@h_^4!R|CsTjF);=LST2mwv5ZCt?=z!hRMMs0R>gYsDmjMP9EQ&TjFD5U z6g`(j5#+vqg{;?S@)z@F)Z$T&8DJO_7CbWqE@2bJV_n|br{n1fPu`(B{mq$n=tvK3 zpy?5+4itKYeB+ReepDJ<09FXU5jfAqFz&)gIH6Z-cXN=jSX_(c)Z)V@sF zkS2lh;;eQ9%;WW#xpk{|aen}@G~Rvv@LuJ>=6dTh!&h_YB_^UrFlkrOI+&92xLO;j z%_yJCGj%+19bJlP-qnx+nlA7f1VotLXHkAaSDxP6?IoWY4hpHj8?OcYcxM$(dgZ7J zXbie339XFj(mTEkUfcGJ&_ST2=Y&sXbevEnI-5>4lGvn^3m`P)Wvy$GZvm-xeo|wU zR({_OFyA^(kAUJz>N?J$fJDD+eS zdj}YYtJcQ#GDaEg@~WN|>vasf?k~#`v42LF=4FOiL0Nyuqb2{_7S^O$FsmVZzn0>p z5jYqE)#$%;HELn92tA;t&j%e%b6TcESV9$7e#X=mX-vD#D#=F>98jq2bq-KXbmz!# zX$GiQeoK*}i~08`E?u;ge~yu#kMmDyCg@!e7If1$fR1&}P2~qPtasDpsillGD5!M@ zL)d!QujHj{79&OW;WqwVqFjEKe`AKk_(vimO&V?gCh$=TFXZ2&6+WGR7n;=VWD28d zo!A#Ki4Gmca9^8>yF2wGQ9|))GbIYGjYwpGHw0I*vHK1Vu)4GRjX&ux~r79$$ zUEsDAGmm-);Qt(a6_rUiBr9JWz10L{k%t(;HYi$`f{A=Kn1;U-MWx~yL9aJ2 zjzrR5pE$zv$g#p9rC>*Ci@ ze2PQGxEWcF1pbgIsdpf@{U@?h9|b^f$gk{R?YfCZ01v>6!tkYlc^8SF%`ebq@cFqO zdM6<-aN&n>>jEEcVKWdB_%~sAc@Uo7MSlas#0k4doIP1uYo!Y;*7+~%hQ-bSrj?Bo zk|5Vu*$BKg3~&39OAsS3aj64Cr;~c6Xi*%v&{HiqzO#;AbP`PNw$@r;as){8lph@g zLcfJWwchV;EyRa)=uE|s-+%LdzoUg3TDoP;af9L+@}Q5!wjrw&iECf{5w?~Hbs{Kf zV^l9Ly&e5J1m0sn)xKi{pxtK=hO7OGJo@*bq=v4ukr)3fVss^FlTspZJOHf4>E;n1 zU1+cCY~y>NbSXFi`1LTnfejmR_h<&~x!zgv;F3>+@N~d#ubq>RH@%m5!UlUjfPEy| z)(f@eKmIe{q;f%y8eIZL)M0_whT&~LchaaQI7rK1g+3&R)&u4B3S%8N{_xRqI^Pr4 z&;v>6ML@iPg?8zEwu5CAP`n+s^%u^CCc5=2pIYfrI2DBMVSNJGdV`lmHF5-zh5|Eg zYUt7=bW=oA&eqbyzLvL4ZwIISZ70KQx`Cvc~N;Y3Lt)#QH96F zEv_up#DQK9XgB)j0<`|Cdn|O7FQ_g=y|tMOTT5*KRE@O}r!A+m^EUSl3N!(b$!m3l z``=r{ksY^m2%iR@I*Io8pr(3kleKbT9Ot3!{MsfRn?QPjShwW77Bc@rPt0J?2e6NT zA=Qn;QmFZ)V;euuwf9!e%_wJXD(6ISIH63EFJYRO3i)?g=k7;g9R4N`hPfDPHk>9)hxxEMXtr}5ERdHk~{1pWvhuOn-}ZwAQ?Mj0(< zhL>WkIFV1=Z0o|!^$0XQ2{i$7S=HNs(a)*Alpw>m^Gpdc5r~ZLkzlhuE=Ie26I1mg zDfq3xJ#Ssdv&r^g$lQ!4=0ic*0Ur;1Gp0yLu`ACsb!DvQP34(-xv|lp_vCYJxS<0x zn#3h_KFQk4o4p$1n;TqFtyw0@Gd&rs+?bGf2GWheXW0(yaulYs0mh(T0gC9-4m-w? zJRn~ARuyt4gS=#_^R|cS;!!g7Q)6YmVr59N<-5eAYvR_thV=fprSpp@P@A;uj==Q8UvjE?C&T=WS2)}3I(-NRfS3D7t z%St7IyQSac9M_su#T1IEaTqrmu((`BrvQ&*%L3SwQ4ALm=;I``)oxzJQnx8-e_$pA z4PBXp?o2>(WaTL~h#iKp_~UA^HnSGYG~Rx@b9~3x_~J_DG`W&F6Aa^y1($}vM?6q& ztH~9Urahd#Lr?S2#N9rcwx`oca=XBl-EZj;E(B%ENT}v9HhlqJNLsc^15#$}fH5T8S2EL?aZ(a$1dVWZFW7XGtpg%DS%NXlMCh3I)Mqp70AY zxud~UXKs9B0_|Ck&#%vLb8ah>T#>}{-Q^j1MmNN0>}_j11bS(_DtsF|#N)7HX@yEt z--^cEp)K}yxo*MPA+R$5a$KO+ubZIG{q>!>S3qVR7>6U(Y&%}A-<$}r<--(%1@cw|KIVreWtC||r z(d$_K@O}p#+N)7IdS&!91N@+uYX)4l(Z>76eUR*=eSjxZfX)fSR{`cT4>~;`VzPLY zH&E}Q4}jUocF{)rIs0AII@G6528G3KZ}fqC`FLoEu49IahDJZr;uzoB05ogpFen7@ zS&Z|hoKa!MP|A`2|e#Y3sA9mhVlV0+xBsVw{4DU7C2+Ly}_d&JuP<7Aw#LcjBP^8GaWeR zS#KM#9@KX5r5s+|0 zP^GV4NTJ_=6?H;0CXGyC)Oid)Vd$u~k2B5|_ z3qBqK-(q7$IK<IMo$Q$mjbnJppx|Pg^61{QG=}sU>kt(Ckln_p9iRT?^VrMNOOko?c zJv>H{yg=-ERvR(7pbi%*F=|s1NRdB{LRza4JhzT-gEZMBH^J%eWpQL35NYVGpsXWh z#-b3}QluuX2LLmRE7;;WMw7PvZRbZD@S%~6HKhSPbv2_5IC=wg{}a6}5Agig)~PE5 zp6h{)EeoZ1(09w7x&aWqIEiY;aem-+P(30$UD1W!WTu7J%Wnp5(pi-ZI{Cl^bSWS{BV;7?@L)OM zSaY05t3%*=&!)bX{k@4U7!Az^#3jQ<*+z;h0>0bHmDBbw9b8RauW~h%|0BhnCwUo% zi^SNzlD(c1;3mQz+&DQ1p9WYZxOIYyabLz;xY0MwCkuWOJqndU3vW3E_T3t%Z;B28 z&+`<6kVXlE&P`)n%hq&7;wt_q)5UXn;H$4JFuG2pBG6t3b2RPXcs!HE#kQ;APJ%DI zwlQ94cbup4-Z}QY^kyF55!}G!-Z^#ROy$stViq zw7@eGVceX?cpQvq^s4gc-4M9(;a>ErXg83?hbrofP^W=%2MdfNCYxUfa$SCuP77&E z{1$^{_M~UYJ~{mwklqT`$X||#Bkx

>^L*S7@-wy~%VA%b0A(n{jxbl#T=%$GU*& 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 ItB;NRFJLe6uK)l5 literal 0 HcmV?d00001 diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/hcl_test.go b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/hcl_test.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/hcl_test.go rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/hcl_test.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/lex.go b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/lex.go similarity index 96% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/lex.go rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/lex.go index c141659..0ef4f2c 100644 --- a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/lex.go +++ b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/lex.go @@ -85,7 +85,7 @@ func (x *hclLex) Lex(yylval *hclSymType) int { case '-': return MINUS case ',': - return x.lexComma() + return COMMA case '=': return EQUAL case '[': @@ -166,27 +166,6 @@ func (x *hclLex) consumeComment(c rune) bool { } } -// lexComma reads the comma -func (x *hclLex) lexComma() int { - for { - c := x.peek() - - // Consume space - if unicode.IsSpace(c) { - x.next() - continue - } - - if c == ']' { - return COMMAEND - } - - break - } - - return COMMA -} - // lexId lexes an identifier func (x *hclLex) lexId(yylval *hclSymType) int { var b bytes.Buffer @@ -224,6 +203,8 @@ func (x *hclLex) lexId(yylval *hclSymType) int { case "false": yylval.b = false return BOOL + case "null": + return NULL } return IDENTIFIER diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/lex_test.go b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/lex_test.go similarity index 78% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/lex_test.go rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/lex_test.go index dcdd9b3..876a459 100644 --- a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/lex_test.go +++ b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/lex_test.go @@ -36,7 +36,7 @@ func TestLex(t *testing.T) { "list.hcl", []int{ IDENTIFIER, EQUAL, LEFTBRACKET, - NUMBER, COMMA, NUMBER, COMMA, STRING, + NUMBER, COMMA, NUMBER, COMMA, STRING, COMMA, BOOL, RIGHTBRACKET, lexEOF, }, }, @@ -63,6 +63,24 @@ func TestLex(t *testing.T) { RIGHTBRACE, lexEOF, }, }, + { + "array_comment.hcl", + []int{ + IDENTIFIER, EQUAL, LEFTBRACKET, + STRING, COMMA, + STRING, COMMA, + RIGHTBRACKET, lexEOF, + }, + }, + { + "null.hcl", + []int{ + IDENTIFIER, EQUAL, NULL, + IDENTIFIER, EQUAL, LEFTBRACKET, NUMBER, COMMA, NULL, COMMA, NUMBER, RIGHTBRACKET, + IDENTIFIER, LEFTBRACE, IDENTIFIER, EQUAL, NULL, RIGHTBRACE, + lexEOF, + }, + }, } for _, tc := range cases { diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/object.go b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/object.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/object.go rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/object.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/parse.go b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/parse.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/parse.go rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/parse.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/parse.y b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/parse.y similarity index 89% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/parse.y rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/parse.y index 4f42d34..1568f30 100644 --- a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/parse.y +++ b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/parse.y @@ -29,9 +29,10 @@ import ( %token BOOL %token FLOAT %token NUMBER -%token COMMA COMMAEND IDENTIFIER EQUAL NEWLINE STRING MINUS +%token COMMA IDENTIFIER EQUAL NEWLINE STRING MINUS %token LEFTBRACE RIGHTBRACE LEFTBRACKET RIGHTBRACKET PERIOD %token EPLUS EMINUS +%token NULL %% @@ -96,6 +97,13 @@ objectitem: Value: $3, } } +| objectkey EQUAL NULL + { + $$ = &Object{ + Key: $1, + Type: ValueTypeNil, + } + } | objectkey EQUAL STRING { $$ = &Object{ @@ -152,6 +160,10 @@ list: { $$ = $2 } +| LEFTBRACKET listitems COMMA RIGHTBRACKET + { + $$ = $2 + } | LEFTBRACKET RIGHTBRACKET { $$ = nil @@ -166,10 +178,6 @@ listitems: { $$ = append($1, $3) } -| listitems COMMAEND - { - $$ = $1 - } listitem: number @@ -183,6 +191,20 @@ listitem: Value: $1, } } +| BOOL + { + $$ = &Object{ + Type: ValueTypeBool, + Value: $1, + } + } +| NULL + { + $$ = &Object{ + Type: ValueTypeNil, + } + } + number: int diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/parse_test.go b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/parse_test.go similarity index 92% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/parse_test.go rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/parse_test.go index ea3047b..81f94be 100644 --- a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/parse_test.go +++ b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/parse_test.go @@ -59,6 +59,14 @@ func TestParse(t *testing.T) { "types.hcl", false, }, + { + "array_comment.hcl", + false, + }, + { + "null.hcl", + false, + }, } for _, tc := range cases { diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/array_comment.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/array_comment.hcl new file mode 100644 index 0000000..78c2675 --- /dev/null +++ b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/array_comment.hcl @@ -0,0 +1,4 @@ +foo = [ + "1", + "2", # comment +] diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/assign_colon.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/assign_colon.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/assign_colon.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/assign_colon.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/assign_deep.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/assign_deep.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/assign_deep.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/assign_deep.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/comment.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/comment.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/comment.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/comment.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/comment_single.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/comment_single.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/comment_single.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/comment_single.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/complex.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/complex.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/complex.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/complex.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/complex_key.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/complex_key.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/complex_key.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/complex_key.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/empty.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/empty.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/empty.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/empty.hcl diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/list.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/list.hcl new file mode 100644 index 0000000..7e159b3 --- /dev/null +++ b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/list.hcl @@ -0,0 +1 @@ +foo = [1, 2, "foo", true] diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/list_comma.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/list_comma.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/list_comma.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/list_comma.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/multiple.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/multiple.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/multiple.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/multiple.hcl diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/null.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/null.hcl new file mode 100644 index 0000000..97797ea --- /dev/null +++ b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/null.hcl @@ -0,0 +1,5 @@ +foo = null +bar = [1, null, 3] +baz { + foo = null +} diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/old.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/old.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/old.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/old.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/structure.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/structure.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/structure.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/structure.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/structure_basic.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/structure_basic.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/structure_basic.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/structure_basic.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/structure_empty.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/structure_empty.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/structure_empty.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/structure_empty.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/types.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/types.hcl similarity index 81% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/types.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/types.hcl index cf2747e..98ea882 100644 --- a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/types.hcl +++ b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/types.hcl @@ -5,3 +5,4 @@ foo = -12 bar = 3.14159 foo = true bar = false +baz = null diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/valuetype_string.go b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/valuetype_string.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/valuetype_string.go rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl/valuetype_string.go diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/y.go b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/y.go new file mode 100644 index 0000000..7f5988b --- /dev/null +++ b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/y.go @@ -0,0 +1,790 @@ +//line parse.y:4 +package hcl + +import __yyfmt__ "fmt" + +//line parse.y:4 +import ( + "fmt" + "strconv" +) + +//line parse.y:13 +type hclSymType struct { + yys int + b bool + f float64 + num int + str string + obj *Object + objlist []*Object +} + +const BOOL = 57346 +const FLOAT = 57347 +const NUMBER = 57348 +const COMMA = 57349 +const IDENTIFIER = 57350 +const EQUAL = 57351 +const NEWLINE = 57352 +const STRING = 57353 +const MINUS = 57354 +const LEFTBRACE = 57355 +const RIGHTBRACE = 57356 +const LEFTBRACKET = 57357 +const RIGHTBRACKET = 57358 +const PERIOD = 57359 +const EPLUS = 57360 +const EMINUS = 57361 +const NULL = 57362 + +var hclToknames = [...]string{ + "$end", + "error", + "$unk", + "BOOL", + "FLOAT", + "NUMBER", + "COMMA", + "IDENTIFIER", + "EQUAL", + "NEWLINE", + "STRING", + "MINUS", + "LEFTBRACE", + "RIGHTBRACE", + "LEFTBRACKET", + "RIGHTBRACKET", + "PERIOD", + "EPLUS", + "EMINUS", + "NULL", +} +var hclStatenames = [...]string{} + +const hclEofCode = 1 +const hclErrCode = 2 +const hclMaxDepth = 200 + +//line parse.y:281 + +//line yacctab:1 +var hclExca = [...]int{ + -1, 1, + 1, -1, + -2, 0, + -1, 6, + 9, 7, + -2, 18, + -1, 7, + 9, 8, + -2, 19, +} + +const hclNprod = 39 +const hclPrivate = 57344 + +var hclTokenNames []string +var hclStates []string + +const hclLast = 69 + +var hclAct = [...]int{ + + 36, 3, 22, 30, 9, 17, 27, 26, 31, 32, + 45, 23, 19, 25, 13, 10, 24, 39, 27, 26, + 6, 18, 47, 7, 38, 25, 43, 33, 41, 48, + 9, 46, 44, 40, 39, 27, 26, 42, 5, 1, + 14, 38, 25, 15, 2, 13, 35, 12, 49, 6, + 40, 4, 7, 27, 26, 29, 11, 37, 28, 6, + 25, 8, 7, 34, 21, 0, 0, 20, 16, +} +var hclPact = [...]int{ + + 51, -1000, 51, -1000, 6, -1000, -1000, -1000, 32, -1000, + 1, -1000, -1000, 41, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -10, -10, 30, 48, -1000, -1000, 12, -1000, + -1000, 26, 4, -1000, 15, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 13, -1000, -1000, +} +var hclPgo = [...]int{ + + 0, 11, 2, 64, 63, 44, 38, 57, 56, 1, + 0, 61, 3, 51, 39, +} +var hclR1 = [...]int{ + + 0, 14, 14, 5, 5, 8, 8, 13, 13, 9, + 9, 9, 9, 9, 9, 9, 6, 6, 11, 11, + 3, 3, 3, 4, 4, 10, 10, 10, 10, 7, + 7, 7, 7, 2, 2, 1, 1, 12, 12, +} +var hclR2 = [...]int{ + + 0, 0, 1, 1, 2, 3, 2, 1, 1, 3, + 3, 3, 3, 3, 3, 1, 2, 2, 1, 1, + 3, 4, 2, 1, 3, 1, 1, 1, 1, 1, + 1, 2, 2, 2, 1, 2, 1, 2, 2, +} +var hclChk = [...]int{ + + -1000, -14, -5, -9, -13, -6, 8, 11, -11, -9, + 9, -8, -6, 13, 8, 11, -7, 4, 20, 11, + -8, -3, -2, -1, 15, 12, 6, 5, -5, 14, + -12, 18, 19, -12, -4, 16, -10, -7, 11, 4, + 20, -2, -1, 14, 6, 6, 16, 7, 16, -10, +} +var hclDef = [...]int{ + + 1, -2, 2, 3, 0, 15, -2, -2, 0, 4, + 0, 16, 17, 0, 18, 19, 9, 10, 11, 12, + 13, 14, 29, 30, 0, 0, 34, 36, 0, 6, + 31, 0, 0, 32, 0, 22, 23, 25, 26, 27, + 28, 33, 35, 5, 37, 38, 20, 0, 21, 24, +} +var hclTok1 = [...]int{ + + 1, +} +var hclTok2 = [...]int{ + + 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, +} +var hclTok3 = [...]int{ + 0, +} + +var hclErrorMessages = [...]struct { + state int + token int + msg string +}{} + +//line yaccpar:1 + +/* parser for yacc output */ + +var ( + hclDebug = 0 + hclErrorVerbose = false +) + +type hclLexer interface { + Lex(lval *hclSymType) int + Error(s string) +} + +type hclParser interface { + Parse(hclLexer) int + Lookahead() int +} + +type hclParserImpl struct { + lookahead func() int +} + +func (p *hclParserImpl) Lookahead() int { + return p.lookahead() +} + +func hclNewParser() hclParser { + p := &hclParserImpl{ + lookahead: func() int { return -1 }, + } + return p +} + +const hclFlag = -1000 + +func hclTokname(c int) string { + if c >= 1 && c-1 < len(hclToknames) { + if hclToknames[c-1] != "" { + return hclToknames[c-1] + } + } + return __yyfmt__.Sprintf("tok-%v", c) +} + +func hclStatname(s int) string { + if s >= 0 && s < len(hclStatenames) { + if hclStatenames[s] != "" { + return hclStatenames[s] + } + } + return __yyfmt__.Sprintf("state-%v", s) +} + +func hclErrorMessage(state, lookAhead int) string { + const TOKSTART = 4 + + if !hclErrorVerbose { + return "syntax error" + } + + for _, e := range hclErrorMessages { + if e.state == state && e.token == lookAhead { + return "syntax error: " + e.msg + } + } + + res := "syntax error: unexpected " + hclTokname(lookAhead) + + // To match Bison, suggest at most four expected tokens. + expected := make([]int, 0, 4) + + // Look for shiftable tokens. + base := hclPact[state] + for tok := TOKSTART; tok-1 < len(hclToknames); tok++ { + if n := base + tok; n >= 0 && n < hclLast && hclChk[hclAct[n]] == tok { + if len(expected) == cap(expected) { + return res + } + expected = append(expected, tok) + } + } + + if hclDef[state] == -2 { + i := 0 + for hclExca[i] != -1 || hclExca[i+1] != state { + i += 2 + } + + // Look for tokens that we accept or reduce. + for i += 2; hclExca[i] >= 0; i += 2 { + tok := hclExca[i] + if tok < TOKSTART || hclExca[i+1] == 0 { + continue + } + if len(expected) == cap(expected) { + return res + } + expected = append(expected, tok) + } + + // If the default action is to accept or reduce, give up. + if hclExca[i+1] != 0 { + return res + } + } + + for i, tok := range expected { + if i == 0 { + res += ", expecting " + } else { + res += " or " + } + res += hclTokname(tok) + } + return res +} + +func hcllex1(lex hclLexer, lval *hclSymType) (char, token int) { + token = 0 + char = lex.Lex(lval) + if char <= 0 { + token = hclTok1[0] + goto out + } + if char < len(hclTok1) { + token = hclTok1[char] + goto out + } + if char >= hclPrivate { + if char < hclPrivate+len(hclTok2) { + token = hclTok2[char-hclPrivate] + goto out + } + } + for i := 0; i < len(hclTok3); i += 2 { + token = hclTok3[i+0] + if token == char { + token = hclTok3[i+1] + goto out + } + } + +out: + if token == 0 { + token = hclTok2[1] /* unknown char */ + } + if hclDebug >= 3 { + __yyfmt__.Printf("lex %s(%d)\n", hclTokname(token), uint(char)) + } + return char, token +} + +func hclParse(hcllex hclLexer) int { + return hclNewParser().Parse(hcllex) +} + +func (hclrcvr *hclParserImpl) Parse(hcllex hclLexer) int { + var hcln int + var hcllval hclSymType + var hclVAL hclSymType + var hclDollar []hclSymType + _ = hclDollar // silence set and not used + hclS := make([]hclSymType, hclMaxDepth) + + Nerrs := 0 /* number of errors */ + Errflag := 0 /* error recovery flag */ + hclstate := 0 + hclchar := -1 + hcltoken := -1 // hclchar translated into internal numbering + hclrcvr.lookahead = func() int { return hclchar } + defer func() { + // Make sure we report no lookahead when not parsing. + hclstate = -1 + hclchar = -1 + hcltoken = -1 + }() + hclp := -1 + goto hclstack + +ret0: + return 0 + +ret1: + return 1 + +hclstack: + /* put a state and value onto the stack */ + if hclDebug >= 4 { + __yyfmt__.Printf("char %v in %v\n", hclTokname(hcltoken), hclStatname(hclstate)) + } + + hclp++ + if hclp >= len(hclS) { + nyys := make([]hclSymType, len(hclS)*2) + copy(nyys, hclS) + hclS = nyys + } + hclS[hclp] = hclVAL + hclS[hclp].yys = hclstate + +hclnewstate: + hcln = hclPact[hclstate] + if hcln <= hclFlag { + goto hcldefault /* simple state */ + } + if hclchar < 0 { + hclchar, hcltoken = hcllex1(hcllex, &hcllval) + } + hcln += hcltoken + if hcln < 0 || hcln >= hclLast { + goto hcldefault + } + hcln = hclAct[hcln] + if hclChk[hcln] == hcltoken { /* valid shift */ + hclchar = -1 + hcltoken = -1 + hclVAL = hcllval + hclstate = hcln + if Errflag > 0 { + Errflag-- + } + goto hclstack + } + +hcldefault: + /* default state action */ + hcln = hclDef[hclstate] + if hcln == -2 { + if hclchar < 0 { + hclchar, hcltoken = hcllex1(hcllex, &hcllval) + } + + /* look through exception table */ + xi := 0 + for { + if hclExca[xi+0] == -1 && hclExca[xi+1] == hclstate { + break + } + xi += 2 + } + for xi += 2; ; xi += 2 { + hcln = hclExca[xi+0] + if hcln < 0 || hcln == hcltoken { + break + } + } + hcln = hclExca[xi+1] + if hcln < 0 { + goto ret0 + } + } + if hcln == 0 { + /* error ... attempt to resume parsing */ + switch Errflag { + case 0: /* brand new error */ + hcllex.Error(hclErrorMessage(hclstate, hcltoken)) + Nerrs++ + if hclDebug >= 1 { + __yyfmt__.Printf("%s", hclStatname(hclstate)) + __yyfmt__.Printf(" saw %s\n", hclTokname(hcltoken)) + } + fallthrough + + case 1, 2: /* incompletely recovered error ... try again */ + Errflag = 3 + + /* find a state where "error" is a legal shift action */ + for hclp >= 0 { + hcln = hclPact[hclS[hclp].yys] + hclErrCode + if hcln >= 0 && hcln < hclLast { + hclstate = hclAct[hcln] /* simulate a shift of "error" */ + if hclChk[hclstate] == hclErrCode { + goto hclstack + } + } + + /* the current p has no shift on "error", pop stack */ + if hclDebug >= 2 { + __yyfmt__.Printf("error recovery pops state %d\n", hclS[hclp].yys) + } + hclp-- + } + /* there is no state on the stack with an error shift ... abort */ + goto ret1 + + case 3: /* no shift yet; clobber input char */ + if hclDebug >= 2 { + __yyfmt__.Printf("error recovery discards %s\n", hclTokname(hcltoken)) + } + if hcltoken == hclEofCode { + goto ret1 + } + hclchar = -1 + hcltoken = -1 + goto hclnewstate /* try again in the same state */ + } + } + + /* reduction by production hcln */ + if hclDebug >= 2 { + __yyfmt__.Printf("reduce %v in:\n\t%v\n", hcln, hclStatname(hclstate)) + } + + hclnt := hcln + hclpt := hclp + _ = hclpt // guard against "declared and not used" + + hclp -= hclR2[hcln] + // hclp is now the index of $0. Perform the default action. Iff the + // reduced production is ε, $1 is possibly out of range. + if hclp+1 >= len(hclS) { + nyys := make([]hclSymType, len(hclS)*2) + copy(nyys, hclS) + hclS = nyys + } + hclVAL = hclS[hclp+1] + + /* consult goto table to find next state */ + hcln = hclR1[hcln] + hclg := hclPgo[hcln] + hclj := hclg + hclS[hclp].yys + 1 + + if hclj >= hclLast { + hclstate = hclAct[hclg] + } else { + hclstate = hclAct[hclj] + if hclChk[hclstate] != -hcln { + hclstate = hclAct[hclg] + } + } + // dummy call; replaced with literal code + switch hclnt { + + case 1: + hclDollar = hclS[hclpt-0 : hclpt+1] + //line parse.y:40 + { + hclResult = &Object{Type: ValueTypeObject} + } + case 2: + hclDollar = hclS[hclpt-1 : hclpt+1] + //line parse.y:44 + { + hclResult = &Object{ + Type: ValueTypeObject, + Value: ObjectList(hclDollar[1].objlist).Flat(), + } + } + case 3: + hclDollar = hclS[hclpt-1 : hclpt+1] + //line parse.y:53 + { + hclVAL.objlist = []*Object{hclDollar[1].obj} + } + case 4: + hclDollar = hclS[hclpt-2 : hclpt+1] + //line parse.y:57 + { + hclVAL.objlist = append(hclDollar[1].objlist, hclDollar[2].obj) + } + case 5: + hclDollar = hclS[hclpt-3 : hclpt+1] + //line parse.y:63 + { + hclVAL.obj = &Object{ + Type: ValueTypeObject, + Value: ObjectList(hclDollar[2].objlist).Flat(), + } + } + case 6: + hclDollar = hclS[hclpt-2 : hclpt+1] + //line parse.y:70 + { + hclVAL.obj = &Object{ + Type: ValueTypeObject, + } + } + case 7: + hclDollar = hclS[hclpt-1 : hclpt+1] + //line parse.y:78 + { + hclVAL.str = hclDollar[1].str + } + case 8: + hclDollar = hclS[hclpt-1 : hclpt+1] + //line parse.y:82 + { + hclVAL.str = hclDollar[1].str + } + case 9: + hclDollar = hclS[hclpt-3 : hclpt+1] + //line parse.y:88 + { + hclVAL.obj = hclDollar[3].obj + hclVAL.obj.Key = hclDollar[1].str + } + case 10: + hclDollar = hclS[hclpt-3 : hclpt+1] + //line parse.y:93 + { + hclVAL.obj = &Object{ + Key: hclDollar[1].str, + Type: ValueTypeBool, + Value: hclDollar[3].b, + } + } + case 11: + hclDollar = hclS[hclpt-3 : hclpt+1] + //line parse.y:101 + { + hclVAL.obj = &Object{ + Key: hclDollar[1].str, + Type: ValueTypeNil, + } + } + case 12: + hclDollar = hclS[hclpt-3 : hclpt+1] + //line parse.y:108 + { + hclVAL.obj = &Object{ + Key: hclDollar[1].str, + Type: ValueTypeString, + Value: hclDollar[3].str, + } + } + case 13: + hclDollar = hclS[hclpt-3 : hclpt+1] + //line parse.y:116 + { + hclDollar[3].obj.Key = hclDollar[1].str + hclVAL.obj = hclDollar[3].obj + } + case 14: + hclDollar = hclS[hclpt-3 : hclpt+1] + //line parse.y:121 + { + hclVAL.obj = &Object{ + Key: hclDollar[1].str, + Type: ValueTypeList, + Value: hclDollar[3].objlist, + } + } + case 15: + hclDollar = hclS[hclpt-1 : hclpt+1] + //line parse.y:129 + { + hclVAL.obj = hclDollar[1].obj + } + case 16: + hclDollar = hclS[hclpt-2 : hclpt+1] + //line parse.y:135 + { + hclDollar[2].obj.Key = hclDollar[1].str + hclVAL.obj = hclDollar[2].obj + } + case 17: + hclDollar = hclS[hclpt-2 : hclpt+1] + //line parse.y:140 + { + hclVAL.obj = &Object{ + Key: hclDollar[1].str, + Type: ValueTypeObject, + Value: []*Object{hclDollar[2].obj}, + } + } + case 18: + hclDollar = hclS[hclpt-1 : hclpt+1] + //line parse.y:150 + { + hclVAL.str = hclDollar[1].str + } + case 19: + hclDollar = hclS[hclpt-1 : hclpt+1] + //line parse.y:154 + { + hclVAL.str = hclDollar[1].str + } + case 20: + hclDollar = hclS[hclpt-3 : hclpt+1] + //line parse.y:160 + { + hclVAL.objlist = hclDollar[2].objlist + } + case 21: + hclDollar = hclS[hclpt-4 : hclpt+1] + //line parse.y:164 + { + hclVAL.objlist = hclDollar[2].objlist + } + case 22: + hclDollar = hclS[hclpt-2 : hclpt+1] + //line parse.y:168 + { + hclVAL.objlist = nil + } + case 23: + hclDollar = hclS[hclpt-1 : hclpt+1] + //line parse.y:174 + { + hclVAL.objlist = []*Object{hclDollar[1].obj} + } + case 24: + hclDollar = hclS[hclpt-3 : hclpt+1] + //line parse.y:178 + { + hclVAL.objlist = append(hclDollar[1].objlist, hclDollar[3].obj) + } + case 25: + hclDollar = hclS[hclpt-1 : hclpt+1] + //line parse.y:184 + { + hclVAL.obj = hclDollar[1].obj + } + case 26: + hclDollar = hclS[hclpt-1 : hclpt+1] + //line parse.y:188 + { + hclVAL.obj = &Object{ + Type: ValueTypeString, + Value: hclDollar[1].str, + } + } + case 27: + hclDollar = hclS[hclpt-1 : hclpt+1] + //line parse.y:195 + { + hclVAL.obj = &Object{ + Type: ValueTypeBool, + Value: hclDollar[1].b, + } + } + case 28: + hclDollar = hclS[hclpt-1 : hclpt+1] + //line parse.y:202 + { + hclVAL.obj = &Object{ + Type: ValueTypeNil, + } + } + case 29: + hclDollar = hclS[hclpt-1 : hclpt+1] + //line parse.y:211 + { + hclVAL.obj = &Object{ + Type: ValueTypeInt, + Value: hclDollar[1].num, + } + } + case 30: + hclDollar = hclS[hclpt-1 : hclpt+1] + //line parse.y:218 + { + hclVAL.obj = &Object{ + Type: ValueTypeFloat, + Value: hclDollar[1].f, + } + } + case 31: + hclDollar = hclS[hclpt-2 : hclpt+1] + //line parse.y:225 + { + fs := fmt.Sprintf("%d%s", hclDollar[1].num, hclDollar[2].str) + f, err := strconv.ParseFloat(fs, 64) + if err != nil { + panic(err) + } + + hclVAL.obj = &Object{ + Type: ValueTypeFloat, + Value: f, + } + } + case 32: + hclDollar = hclS[hclpt-2 : hclpt+1] + //line parse.y:238 + { + fs := fmt.Sprintf("%f%s", hclDollar[1].f, hclDollar[2].str) + f, err := strconv.ParseFloat(fs, 64) + if err != nil { + panic(err) + } + + hclVAL.obj = &Object{ + Type: ValueTypeFloat, + Value: f, + } + } + case 33: + hclDollar = hclS[hclpt-2 : hclpt+1] + //line parse.y:253 + { + hclVAL.num = hclDollar[2].num * -1 + } + case 34: + hclDollar = hclS[hclpt-1 : hclpt+1] + //line parse.y:257 + { + hclVAL.num = hclDollar[1].num + } + case 35: + hclDollar = hclS[hclpt-2 : hclpt+1] + //line parse.y:263 + { + hclVAL.f = hclDollar[2].f * -1 + } + case 36: + hclDollar = hclS[hclpt-1 : hclpt+1] + //line parse.y:267 + { + hclVAL.f = hclDollar[1].f + } + case 37: + hclDollar = hclS[hclpt-2 : hclpt+1] + //line parse.y:273 + { + hclVAL.str = "e" + strconv.FormatInt(int64(hclDollar[2].num), 10) + } + case 38: + hclDollar = hclS[hclpt-2 : hclpt+1] + //line parse.y:277 + { + hclVAL.str = "e-" + strconv.FormatInt(int64(hclDollar[2].num), 10) + } + } + goto hclstack /* stack new state and value */ +} diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl_test.go b/Godeps/_workspace/src/github.com/yudai/hcl/hcl_test.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl_test.go rename to Godeps/_workspace/src/github.com/yudai/hcl/hcl_test.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/json/json_test.go b/Godeps/_workspace/src/github.com/yudai/hcl/json/json_test.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/json/json_test.go rename to Godeps/_workspace/src/github.com/yudai/hcl/json/json_test.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/json/lex.go b/Godeps/_workspace/src/github.com/yudai/hcl/json/lex.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/json/lex.go rename to Godeps/_workspace/src/github.com/yudai/hcl/json/lex.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/json/lex_test.go b/Godeps/_workspace/src/github.com/yudai/hcl/json/lex_test.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/json/lex_test.go rename to Godeps/_workspace/src/github.com/yudai/hcl/json/lex_test.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parse.go b/Godeps/_workspace/src/github.com/yudai/hcl/json/parse.go similarity index 95% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/json/parse.go rename to Godeps/_workspace/src/github.com/yudai/hcl/json/parse.go index 9ab454a..599ea15 100644 --- a/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parse.go +++ b/Godeps/_workspace/src/github.com/yudai/hcl/json/parse.go @@ -3,7 +3,7 @@ package json import ( "sync" - "github.com/hashicorp/hcl/hcl" + "github.com/yudai/hcl/hcl" "github.com/hashicorp/go-multierror" ) diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parse.y b/Godeps/_workspace/src/github.com/yudai/hcl/json/parse.y similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/json/parse.y rename to Godeps/_workspace/src/github.com/yudai/hcl/json/parse.y diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parse_test.go b/Godeps/_workspace/src/github.com/yudai/hcl/json/parse_test.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/json/parse_test.go rename to Godeps/_workspace/src/github.com/yudai/hcl/json/parse_test.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/array.json b/Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/array.json similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/array.json rename to Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/array.json diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/basic.json b/Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/basic.json similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/basic.json rename to Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/basic.json diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/object.json b/Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/object.json similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/object.json rename to Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/object.json diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/types.json b/Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/types.json similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/types.json rename to Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/types.json diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/json/y.go b/Godeps/_workspace/src/github.com/yudai/hcl/json/y.go similarity index 57% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/json/y.go rename to Godeps/_workspace/src/github.com/yudai/hcl/json/y.go index 075270a..edc4438 100644 --- a/Godeps/_workspace/src/github.com/hashicorp/hcl/json/y.go +++ b/Godeps/_workspace/src/github.com/yudai/hcl/json/y.go @@ -8,7 +8,7 @@ import ( "fmt" "strconv" - "github.com/hashicorp/hcl/hcl" + "github.com/yudai/hcl/hcl" ) //line parse.y:15 @@ -41,7 +41,10 @@ const PERIOD = 57362 const EPLUS = 57363 const EMINUS = 57364 -var jsonToknames = []string{ +var jsonToknames = [...]string{ + "$end", + "error", + "$unk", "FLOAT", "NUMBER", "COLON", @@ -62,7 +65,7 @@ var jsonToknames = []string{ "EPLUS", "EMINUS", } -var jsonStatenames = []string{} +var jsonStatenames = [...]string{} const jsonEofCode = 1 const jsonErrCode = 2 @@ -71,7 +74,7 @@ const jsonMaxDepth = 200 //line parse.y:210 //line yacctab:1 -var jsonExca = []int{ +var jsonExca = [...]int{ -1, 1, 1, -1, -2, 0, @@ -85,7 +88,7 @@ var jsonStates []string const jsonLast = 53 -var jsonAct = []int{ +var jsonAct = [...]int{ 12, 25, 24, 3, 20, 27, 28, 7, 13, 3, 21, 22, 30, 17, 18, 19, 23, 25, 24, 26, @@ -94,76 +97,104 @@ var jsonAct = []int{ 5, 29, 6, 8, 37, 15, 2, 1, 4, 31, 16, 14, 11, } -var jsonPact = []int{ +var jsonPact = [...]int{ -9, -1000, -1000, 27, 30, -1000, -1000, 20, -1000, -4, 13, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -16, -16, -3, 16, -1000, -1000, -1000, 28, 17, -1000, -1000, 29, -1000, -1000, -1000, -1000, -1000, -1000, 13, -1000, } -var jsonPgo = []int{ +var jsonPgo = [...]int{ 0, 10, 4, 51, 45, 42, 0, 50, 49, 48, 19, 47, } -var jsonR1 = []int{ +var jsonR1 = [...]int{ 0, 11, 4, 4, 9, 9, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 8, 8, 3, 3, 3, 3, 2, 2, 1, 1, 10, 10, } -var jsonR2 = []int{ +var jsonR2 = [...]int{ 0, 1, 3, 2, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 3, 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, } -var jsonChk = []int{ +var jsonChk = [...]int{ -1000, -11, -4, 12, -9, 13, -5, 11, 13, 7, 6, -5, -6, 11, -3, -4, -7, 16, 17, 18, -2, -1, 14, 19, 5, 4, -10, 21, 22, -10, 15, -8, -6, -2, -1, 5, 5, 15, 7, -6, } -var jsonDef = []int{ +var jsonDef = [...]int{ 0, -2, 1, 0, 0, 3, 4, 0, 2, 0, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 18, 19, 0, 0, 23, 25, 20, 0, 0, 21, 14, 0, 16, 22, 24, 26, 27, 15, 0, 17, } -var jsonTok1 = []int{ +var jsonTok1 = [...]int{ 1, } -var jsonTok2 = []int{ +var jsonTok2 = [...]int{ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, } -var jsonTok3 = []int{ +var jsonTok3 = [...]int{ 0, } +var jsonErrorMessages = [...]struct { + state int + token int + msg string +}{} + //line yaccpar:1 /* parser for yacc output */ -var jsonDebug = 0 +var ( + jsonDebug = 0 + jsonErrorVerbose = false +) type jsonLexer interface { Lex(lval *jsonSymType) int Error(s string) } +type jsonParser interface { + Parse(jsonLexer) int + Lookahead() int +} + +type jsonParserImpl struct { + lookahead func() int +} + +func (p *jsonParserImpl) Lookahead() int { + return p.lookahead() +} + +func jsonNewParser() jsonParser { + p := &jsonParserImpl{ + lookahead: func() int { return -1 }, + } + return p +} + const jsonFlag = -1000 func jsonTokname(c int) string { - // 4 is TOKSTART above - if c >= 4 && c-4 < len(jsonToknames) { - if jsonToknames[c-4] != "" { - return jsonToknames[c-4] + if c >= 1 && c-1 < len(jsonToknames) { + if jsonToknames[c-1] != "" { + return jsonToknames[c-1] } } return __yyfmt__.Sprintf("tok-%v", c) @@ -178,51 +209,129 @@ func jsonStatname(s int) string { return __yyfmt__.Sprintf("state-%v", s) } -func jsonlex1(lex jsonLexer, lval *jsonSymType) int { - c := 0 - char := lex.Lex(lval) +func jsonErrorMessage(state, lookAhead int) string { + const TOKSTART = 4 + + if !jsonErrorVerbose { + return "syntax error" + } + + for _, e := range jsonErrorMessages { + if e.state == state && e.token == lookAhead { + return "syntax error: " + e.msg + } + } + + res := "syntax error: unexpected " + jsonTokname(lookAhead) + + // To match Bison, suggest at most four expected tokens. + expected := make([]int, 0, 4) + + // Look for shiftable tokens. + base := jsonPact[state] + for tok := TOKSTART; tok-1 < len(jsonToknames); tok++ { + if n := base + tok; n >= 0 && n < jsonLast && jsonChk[jsonAct[n]] == tok { + if len(expected) == cap(expected) { + return res + } + expected = append(expected, tok) + } + } + + if jsonDef[state] == -2 { + i := 0 + for jsonExca[i] != -1 || jsonExca[i+1] != state { + i += 2 + } + + // Look for tokens that we accept or reduce. + for i += 2; jsonExca[i] >= 0; i += 2 { + tok := jsonExca[i] + if tok < TOKSTART || jsonExca[i+1] == 0 { + continue + } + if len(expected) == cap(expected) { + return res + } + expected = append(expected, tok) + } + + // If the default action is to accept or reduce, give up. + if jsonExca[i+1] != 0 { + return res + } + } + + for i, tok := range expected { + if i == 0 { + res += ", expecting " + } else { + res += " or " + } + res += jsonTokname(tok) + } + return res +} + +func jsonlex1(lex jsonLexer, lval *jsonSymType) (char, token int) { + token = 0 + char = lex.Lex(lval) if char <= 0 { - c = jsonTok1[0] + token = jsonTok1[0] goto out } if char < len(jsonTok1) { - c = jsonTok1[char] + token = jsonTok1[char] goto out } if char >= jsonPrivate { if char < jsonPrivate+len(jsonTok2) { - c = jsonTok2[char-jsonPrivate] + token = jsonTok2[char-jsonPrivate] goto out } } for i := 0; i < len(jsonTok3); i += 2 { - c = jsonTok3[i+0] - if c == char { - c = jsonTok3[i+1] + token = jsonTok3[i+0] + if token == char { + token = jsonTok3[i+1] goto out } } out: - if c == 0 { - c = jsonTok2[1] /* unknown char */ + if token == 0 { + token = jsonTok2[1] /* unknown char */ } if jsonDebug >= 3 { - __yyfmt__.Printf("lex %s(%d)\n", jsonTokname(c), uint(char)) + __yyfmt__.Printf("lex %s(%d)\n", jsonTokname(token), uint(char)) } - return c + return char, token } func jsonParse(jsonlex jsonLexer) int { + return jsonNewParser().Parse(jsonlex) +} + +func (jsonrcvr *jsonParserImpl) Parse(jsonlex jsonLexer) int { var jsonn int var jsonlval jsonSymType var jsonVAL jsonSymType + var jsonDollar []jsonSymType + _ = jsonDollar // silence set and not used jsonS := make([]jsonSymType, jsonMaxDepth) Nerrs := 0 /* number of errors */ Errflag := 0 /* error recovery flag */ jsonstate := 0 jsonchar := -1 + jsontoken := -1 // jsonchar translated into internal numbering + jsonrcvr.lookahead = func() int { return jsonchar } + defer func() { + // Make sure we report no lookahead when not parsing. + jsonstate = -1 + jsonchar = -1 + jsontoken = -1 + }() jsonp := -1 goto jsonstack @@ -235,7 +344,7 @@ ret1: jsonstack: /* put a state and value onto the stack */ if jsonDebug >= 4 { - __yyfmt__.Printf("char %v in %v\n", jsonTokname(jsonchar), jsonStatname(jsonstate)) + __yyfmt__.Printf("char %v in %v\n", jsonTokname(jsontoken), jsonStatname(jsonstate)) } jsonp++ @@ -253,15 +362,16 @@ jsonnewstate: goto jsondefault /* simple state */ } if jsonchar < 0 { - jsonchar = jsonlex1(jsonlex, &jsonlval) + jsonchar, jsontoken = jsonlex1(jsonlex, &jsonlval) } - jsonn += jsonchar + jsonn += jsontoken if jsonn < 0 || jsonn >= jsonLast { goto jsondefault } jsonn = jsonAct[jsonn] - if jsonChk[jsonn] == jsonchar { /* valid shift */ + if jsonChk[jsonn] == jsontoken { /* valid shift */ jsonchar = -1 + jsontoken = -1 jsonVAL = jsonlval jsonstate = jsonn if Errflag > 0 { @@ -275,7 +385,7 @@ jsondefault: jsonn = jsonDef[jsonstate] if jsonn == -2 { if jsonchar < 0 { - jsonchar = jsonlex1(jsonlex, &jsonlval) + jsonchar, jsontoken = jsonlex1(jsonlex, &jsonlval) } /* look through exception table */ @@ -288,7 +398,7 @@ jsondefault: } for xi += 2; ; xi += 2 { jsonn = jsonExca[xi+0] - if jsonn < 0 || jsonn == jsonchar { + if jsonn < 0 || jsonn == jsontoken { break } } @@ -301,11 +411,11 @@ jsondefault: /* error ... attempt to resume parsing */ switch Errflag { case 0: /* brand new error */ - jsonlex.Error("syntax error") + jsonlex.Error(jsonErrorMessage(jsonstate, jsontoken)) Nerrs++ if jsonDebug >= 1 { __yyfmt__.Printf("%s", jsonStatname(jsonstate)) - __yyfmt__.Printf(" saw %s\n", jsonTokname(jsonchar)) + __yyfmt__.Printf(" saw %s\n", jsonTokname(jsontoken)) } fallthrough @@ -333,12 +443,13 @@ jsondefault: case 3: /* no shift yet; clobber input char */ if jsonDebug >= 2 { - __yyfmt__.Printf("error recovery discards %s\n", jsonTokname(jsonchar)) + __yyfmt__.Printf("error recovery discards %s\n", jsonTokname(jsontoken)) } - if jsonchar == jsonEofCode { + if jsontoken == jsonEofCode { goto ret1 } jsonchar = -1 + jsontoken = -1 goto jsonnewstate /* try again in the same state */ } } @@ -353,6 +464,13 @@ jsondefault: _ = jsonpt // guard against "declared and not used" jsonp -= jsonR2[jsonn] + // jsonp is now the index of $0. Perform the default action. Iff the + // reduced production is ε, $1 is possibly out of range. + if jsonp+1 >= len(jsonS) { + nyys := make([]jsonSymType, len(jsonS)*2) + copy(nyys, jsonS) + jsonS = nyys + } jsonVAL = jsonS[jsonp+1] /* consult goto table to find next state */ @@ -372,66 +490,77 @@ jsondefault: switch jsonnt { case 1: + jsonDollar = jsonS[jsonpt-1 : jsonpt+1] //line parse.y:39 { - jsonResult = jsonS[jsonpt-0].obj + jsonResult = jsonDollar[1].obj } case 2: + jsonDollar = jsonS[jsonpt-3 : jsonpt+1] //line parse.y:45 { jsonVAL.obj = &hcl.Object{ Type: hcl.ValueTypeObject, - Value: hcl.ObjectList(jsonS[jsonpt-1].objlist).Flat(), + Value: hcl.ObjectList(jsonDollar[2].objlist).Flat(), } } case 3: + jsonDollar = jsonS[jsonpt-2 : jsonpt+1] //line parse.y:52 { jsonVAL.obj = &hcl.Object{Type: hcl.ValueTypeObject} } case 4: + jsonDollar = jsonS[jsonpt-1 : jsonpt+1] //line parse.y:58 { - jsonVAL.objlist = []*hcl.Object{jsonS[jsonpt-0].obj} + jsonVAL.objlist = []*hcl.Object{jsonDollar[1].obj} } case 5: + jsonDollar = jsonS[jsonpt-3 : jsonpt+1] //line parse.y:62 { - jsonVAL.objlist = append(jsonS[jsonpt-2].objlist, jsonS[jsonpt-0].obj) + jsonVAL.objlist = append(jsonDollar[1].objlist, jsonDollar[3].obj) } case 6: + jsonDollar = jsonS[jsonpt-3 : jsonpt+1] //line parse.y:68 { - jsonS[jsonpt-0].obj.Key = jsonS[jsonpt-2].str - jsonVAL.obj = jsonS[jsonpt-0].obj + jsonDollar[3].obj.Key = jsonDollar[1].str + jsonVAL.obj = jsonDollar[3].obj } case 7: + jsonDollar = jsonS[jsonpt-1 : jsonpt+1] //line parse.y:75 { jsonVAL.obj = &hcl.Object{ Type: hcl.ValueTypeString, - Value: jsonS[jsonpt-0].str, + Value: jsonDollar[1].str, } } case 8: + jsonDollar = jsonS[jsonpt-1 : jsonpt+1] //line parse.y:82 { - jsonVAL.obj = jsonS[jsonpt-0].obj + jsonVAL.obj = jsonDollar[1].obj } case 9: + jsonDollar = jsonS[jsonpt-1 : jsonpt+1] //line parse.y:86 { - jsonVAL.obj = jsonS[jsonpt-0].obj + jsonVAL.obj = jsonDollar[1].obj } case 10: + jsonDollar = jsonS[jsonpt-1 : jsonpt+1] //line parse.y:90 { jsonVAL.obj = &hcl.Object{ Type: hcl.ValueTypeList, - Value: jsonS[jsonpt-0].objlist, + Value: jsonDollar[1].objlist, } } case 11: + jsonDollar = jsonS[jsonpt-1 : jsonpt+1] //line parse.y:97 { jsonVAL.obj = &hcl.Object{ @@ -440,6 +569,7 @@ jsondefault: } } case 12: + jsonDollar = jsonS[jsonpt-1 : jsonpt+1] //line parse.y:104 { jsonVAL.obj = &hcl.Object{ @@ -448,6 +578,7 @@ jsondefault: } } case 13: + jsonDollar = jsonS[jsonpt-1 : jsonpt+1] //line parse.y:111 { jsonVAL.obj = &hcl.Object{ @@ -456,45 +587,52 @@ jsondefault: } } case 14: + jsonDollar = jsonS[jsonpt-2 : jsonpt+1] //line parse.y:120 { jsonVAL.objlist = nil } case 15: + jsonDollar = jsonS[jsonpt-3 : jsonpt+1] //line parse.y:124 { - jsonVAL.objlist = jsonS[jsonpt-1].objlist + jsonVAL.objlist = jsonDollar[2].objlist } case 16: + jsonDollar = jsonS[jsonpt-1 : jsonpt+1] //line parse.y:130 { - jsonVAL.objlist = []*hcl.Object{jsonS[jsonpt-0].obj} + jsonVAL.objlist = []*hcl.Object{jsonDollar[1].obj} } case 17: + jsonDollar = jsonS[jsonpt-3 : jsonpt+1] //line parse.y:134 { - jsonVAL.objlist = append(jsonS[jsonpt-2].objlist, jsonS[jsonpt-0].obj) + jsonVAL.objlist = append(jsonDollar[1].objlist, jsonDollar[3].obj) } case 18: + jsonDollar = jsonS[jsonpt-1 : jsonpt+1] //line parse.y:140 { jsonVAL.obj = &hcl.Object{ Type: hcl.ValueTypeInt, - Value: jsonS[jsonpt-0].num, + Value: jsonDollar[1].num, } } case 19: + jsonDollar = jsonS[jsonpt-1 : jsonpt+1] //line parse.y:147 { jsonVAL.obj = &hcl.Object{ Type: hcl.ValueTypeFloat, - Value: jsonS[jsonpt-0].f, + Value: jsonDollar[1].f, } } case 20: + jsonDollar = jsonS[jsonpt-2 : jsonpt+1] //line parse.y:154 { - fs := fmt.Sprintf("%d%s", jsonS[jsonpt-1].num, jsonS[jsonpt-0].str) + fs := fmt.Sprintf("%d%s", jsonDollar[1].num, jsonDollar[2].str) f, err := strconv.ParseFloat(fs, 64) if err != nil { panic(err) @@ -506,9 +644,10 @@ jsondefault: } } case 21: + jsonDollar = jsonS[jsonpt-2 : jsonpt+1] //line parse.y:167 { - fs := fmt.Sprintf("%f%s", jsonS[jsonpt-1].f, jsonS[jsonpt-0].str) + fs := fmt.Sprintf("%f%s", jsonDollar[1].f, jsonDollar[2].str) f, err := strconv.ParseFloat(fs, 64) if err != nil { panic(err) @@ -520,34 +659,40 @@ jsondefault: } } case 22: + jsonDollar = jsonS[jsonpt-2 : jsonpt+1] //line parse.y:182 { - jsonVAL.num = jsonS[jsonpt-0].num * -1 + jsonVAL.num = jsonDollar[2].num * -1 } case 23: + jsonDollar = jsonS[jsonpt-1 : jsonpt+1] //line parse.y:186 { - jsonVAL.num = jsonS[jsonpt-0].num + jsonVAL.num = jsonDollar[1].num } case 24: + jsonDollar = jsonS[jsonpt-2 : jsonpt+1] //line parse.y:192 { - jsonVAL.f = jsonS[jsonpt-0].f * -1 + jsonVAL.f = jsonDollar[2].f * -1 } case 25: + jsonDollar = jsonS[jsonpt-1 : jsonpt+1] //line parse.y:196 { - jsonVAL.f = jsonS[jsonpt-0].f + jsonVAL.f = jsonDollar[1].f } case 26: + jsonDollar = jsonS[jsonpt-2 : jsonpt+1] //line parse.y:202 { - jsonVAL.str = "e" + strconv.FormatInt(int64(jsonS[jsonpt-0].num), 10) + jsonVAL.str = "e" + strconv.FormatInt(int64(jsonDollar[2].num), 10) } case 27: + jsonDollar = jsonS[jsonpt-2 : jsonpt+1] //line parse.y:206 { - jsonVAL.str = "e-" + strconv.FormatInt(int64(jsonS[jsonpt-0].num), 10) + jsonVAL.str = "e-" + strconv.FormatInt(int64(jsonDollar[2].num), 10) } } goto jsonstack /* stack new state and value */ diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/lex.go b/Godeps/_workspace/src/github.com/yudai/hcl/lex.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/lex.go rename to Godeps/_workspace/src/github.com/yudai/hcl/lex.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/lex_test.go b/Godeps/_workspace/src/github.com/yudai/hcl/lex_test.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/lex_test.go rename to Godeps/_workspace/src/github.com/yudai/hcl/lex_test.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/parse.go b/Godeps/_workspace/src/github.com/yudai/hcl/parse.go similarity index 84% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/parse.go rename to Godeps/_workspace/src/github.com/yudai/hcl/parse.go index 5237d54..4b76d74 100644 --- a/Godeps/_workspace/src/github.com/hashicorp/hcl/parse.go +++ b/Godeps/_workspace/src/github.com/yudai/hcl/parse.go @@ -3,8 +3,8 @@ package hcl import ( "fmt" - "github.com/hashicorp/hcl/hcl" - "github.com/hashicorp/hcl/json" + "github.com/yudai/hcl/hcl" + "github.com/yudai/hcl/json" ) // Parse parses the given input and returns the root object. diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/basic.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/basic.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/basic.json b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic.json similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/basic.json rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic.json diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/basic_int_string.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic_int_string.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/basic_int_string.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic_int_string.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/basic_squish.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic_squish.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/basic_squish.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic_squish.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/decode_policy.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_policy.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/decode_policy.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_policy.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/decode_policy.json b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_policy.json similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/decode_policy.json rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_policy.json diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/decode_tf_variable.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_tf_variable.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/decode_tf_variable.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_tf_variable.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/decode_tf_variable.json b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_tf_variable.json similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/decode_tf_variable.json rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_tf_variable.json diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/empty.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/empty.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/empty.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/empty.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/escape.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/escape.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/escape.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/escape.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/flat.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/flat.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/flat.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/flat.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/float.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/float.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/float.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/float.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/float.json b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/float.json similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/float.json rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/float.json diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/multiline.json b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/multiline.json similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/multiline.json rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/multiline.json diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/multiline_bad.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/multiline_bad.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/multiline_bad.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/multiline_bad.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/nested_block_comment.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/nested_block_comment.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/nested_block_comment.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/nested_block_comment.hcl diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/null.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/null.hcl new file mode 100644 index 0000000..f236d1b --- /dev/null +++ b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/null.hcl @@ -0,0 +1 @@ +foo = null diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/scientific.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/scientific.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/scientific.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/scientific.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/scientific.json b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/scientific.json similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/scientific.json rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/scientific.json diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure.json b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure.json similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure.json rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure.json diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure2.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure2.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure2.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure2.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure2.json b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure2.json similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure2.json rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure2.json diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure_flat.json b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure_flat.json similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure_flat.json rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure_flat.json diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure_flatmap.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure_flatmap.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure_flatmap.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure_flatmap.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure_list.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure_list.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure_list.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure_list.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure_list.json b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure_list.json similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure_list.json rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure_list.json diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure_list_deep.json b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure_list_deep.json similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure_list_deep.json rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure_list_deep.json diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure_multi.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure_multi.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure_multi.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure_multi.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure_multi.json b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure_multi.json similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/structure_multi.json rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure_multi.json diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/terraform_heroku.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/terraform_heroku.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/terraform_heroku.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/terraform_heroku.hcl diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/terraform_heroku.json b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/terraform_heroku.json similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/terraform_heroku.json rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/terraform_heroku.json diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/unterminated_block_comment.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/unterminated_block_comment.hcl similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/test-fixtures/unterminated_block_comment.hcl rename to Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/unterminated_block_comment.hcl diff --git a/app/app.go b/app/app.go index 04142a2..4bab54a 100644 --- a/app/app.go +++ b/app/app.go @@ -23,8 +23,8 @@ import ( "github.com/braintree/manners" "github.com/elazarl/go-bindata-assetfs" "github.com/gorilla/websocket" - "github.com/hashicorp/hcl" "github.com/kr/pty" + "github.com/yudai/hcl" "github.com/yudai/umutex" ) @@ -64,7 +64,8 @@ type Options struct { ReconnectTime int `hcl:"reconnect_time"` Once bool `hcl:"once"` PermitArguments bool `hcl:"permit_arguments"` - Preferences map[string]interface{} `hcl:"preferences"` + Preferences HtermPrefernces `hcl:"preferences"` + RawPreferences map[string]interface{} `hcl:"preferences"` } var Version = "0.0.11" @@ -87,7 +88,7 @@ var DefaultOptions = Options{ EnableReconnect: false, ReconnectTime: 10, Once: false, - Preferences: make(map[string]interface{}), + Preferences: HtermPrefernces{}, } func New(command []string, options *Options) (*App, error) { diff --git a/app/client_context.go b/app/client_context.go index 681a132..bd4cdd1 100644 --- a/app/client_context.go +++ b/app/client_context.go @@ -13,6 +13,7 @@ import ( "syscall" "unsafe" + "github.com/fatih/structs" "github.com/gorilla/websocket" ) @@ -128,11 +129,20 @@ func (context *clientContext) sendInitialize() error { return err } + prefStruct := structs.New(context.app.options.Preferences) + prefMap := prefStruct.Map() htermPrefs := make(map[string]interface{}) - for key, value := range context.app.options.Preferences { - htermPrefs[strings.Replace(key, "_", "-", -1)] = value + for key, value := range prefMap { + rawKey := prefStruct.Field(key).Tag("hcl") + if _, ok := context.app.options.RawPreferences[rawKey]; ok { + htermPrefs[strings.Replace(rawKey, "_", "-", -1)] = value + } } - prefs, _ := json.Marshal(htermPrefs) + prefs, err := json.Marshal(htermPrefs) + if err != nil { + return err + } + if err := context.write(append([]byte{SetPreferences}, prefs...)); err != nil { return err } diff --git a/app/hterm_preferences.go b/app/hterm_preferences.go new file mode 100644 index 0000000..66637ce --- /dev/null +++ b/app/hterm_preferences.go @@ -0,0 +1,58 @@ +package app + +type HtermPrefernces struct { + AltGrMode *string `hcl:"alt_gr_mode"` + AltBackspaceIsMetaBackspace bool `hcl:"alt_backspace_is_meta_backspace"` + AltIsMeta bool `hcl:"alt_is_meta"` + AltSendsWhat string `hcl:"alt_sends_what"` + AudibleBellSound string `hcl:"audible_bell_sound"` + DesktopNotificationBell bool `hcl:"desktop_notification_bell"` + BackgroundColor string `hcl:"background_color"` + BackgroundImage string `hcl:"background_image"` + BackgroundSize string `hcl:"background_size"` + BackgroundPosition string `hcl:"background_position"` + BackspaceSendsBackspace bool `hcl:"backspace_sends_backspace"` + CharacterMapOverrides map[string]map[string]string `hcl:"character_map_overrides"` + CloseOnExit bool `hcl:"close_on_exit"` + CursorBlink bool `hcl:"cursor_blink"` + CursorBlinkCycle [2]int `hcl:"cursor_blink_cycle"` + CursorColor string `hcl:"cursor_color"` + ColorPaletteOverrides []*string `hcl:"color_palette_overrides"` + CopyOnSelect bool `hcl:"copy_on_select"` + UseDefaultWindowCopy bool `hcl:"use_default_window_copy"` + ClearSelectionAfterCopy bool `hcl:"clear_selection_after_copy"` + CtrlPlusMinusZeroZoom bool `hcl:"ctrl_plus_minus_zero_zoom"` + CtrlCCopy bool `hcl:"ctrl_c_copy"` + CtrlVPaste bool `hcl:"ctrl_v_paste"` + EastAsianAmbiguousAsTwoColumn bool `hcl:"east_asian_ambiguous_as_two_column"` + Enable8BitControl *bool `hcl:"enable_8_bit_control"` + EnableBold *bool `hcl:"enable_bold"` + EnableBoldAsBright bool `hcl:"enable_bold_as_bright"` + EnableClipboardNotice bool `hcl:"enable_clipboard_notice"` + EnableClipboardWrite bool `hcl:"enable_clipboard_write"` + EnableDec12 bool `hcl:"enable_dec12"` + Environment map[string]string `hcl:"environment"` + FontFamily string `hcl:"font_family"` + FontSize int `hcl:"font_size"` + FontSmoothing string `hcl:"font_smoothing"` + ForegroundColor string `hcl:"foreground_color"` + HomeKeysScroll bool `hcl:"home_keys_scroll"` + Keybindings map[string]string `hcl:"keybindings"` + MaxStringSequence int `hcl:"max_string_sequence"` + MediaKeysAreFkeys bool `hcl:"media_keys_are_fkeys"` + MetaSendsEscape bool `hcl:"meta_sends_escape"` + MousePasteButton *int `hcl:"mouse_paste_button"` + PageKeysScroll bool `hcl:"page_keys_scroll"` + PassAltNumber *bool `hcl:"pass_alt_number"` + PassCtrlNumber *bool `hcl:"pass_ctrl_number"` + PassMetaNumber *bool `hcl:"pass_meta_number"` + PassMetaV bool `hcl:"pass_meta_v"` + ReceiveEncoding string `hcl:"receive_encoding"` + ScrollOnKeystroke bool `hcl:"scroll_on_keystroke"` + ScrollOnOutput bool `hcl:"scroll_on_output"` + ScrollbarVisible bool `hcl:"scrollbar_visible"` + ScrollWheelMoveMultiplier int `hcl:"scroll_wheel_move_multiplier"` + SendEncoding string `hcl:"send_encoding"` + ShiftInsertPaste bool `hcl:"shift_insert_paste"` + UserCss string `hcl:"user_css"` +} From 1bcc6bd9cea54a9993a503445f6f05f282ceaa3c Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Mon, 12 Oct 2015 10:29:21 +0900 Subject: [PATCH 06/82] Change description of `--permit-arguments` --- .gotty | 2 +- README.md | 2 +- main.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gotty b/.gotty index 73afd2f..d56d0e1 100644 --- a/.gotty +++ b/.gotty @@ -57,7 +57,7 @@ // [bool] Accept only one client and exit gotty once the client exits // once = false -// [bool] Allow clients to send command line arguments +// [bool] Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB) // permit_arguments = false // [object] Client terminal (hterm) preferences diff --git a/README.md b/README.md index f056aa3..46882d8 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ By default, GoTTY starts a web server at port 8080. Open the URL on your web bro --once Accept only one client and exit on disconnection [$GOTTY_ONCE] --config "~/.gotty" Config file path [$GOTTY_CONFIG] --version, -v print the version ---permit-arguments Allow to send arguments like this http://example.com:8080/?arg=AAA&arg=BBB +--permit-arguments Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB) ``` diff --git a/main.go b/main.go index 62ed399..5e42465 100644 --- a/main.go +++ b/main.go @@ -34,7 +34,7 @@ func main() { flag{"reconnect", "", "Enable reconnection"}, flag{"reconnect-time", "", "Time to reconnect"}, flag{"once", "", "Accept only one client and exit on disconnection"}, - flag{"permit-arguments", "", "Allow to send arguments like this http://example.com:8080/?arg=AAA&arg=BBB"}, + flag{"permit-arguments", "", "Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB)"}, } mappingHint := map[string]string{ From c8fb306521a1aa117edde348b15d44b3f88a3ab2 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Mon, 12 Oct 2015 10:31:48 +0900 Subject: [PATCH 07/82] Move gitter badge to right place --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 46882d8..2a39596 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,14 @@ # ![](https://raw.githubusercontent.com/yudai/gotty/master/resources/favicon.png) GoTTY - Share your terminal as a web application -[![Join the chat at https://gitter.im/yudai/gotty](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/yudai/gotty?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) - [![GitHub release](http://img.shields.io/github/release/yudai/gotty.svg?style=flat-square)][release] [![Wercker](http://img.shields.io/wercker/ci/55d0eeff7331453f0801982c.svg?style=flat-square)][wercker] [![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)][license] +[![Join the chat at https://gitter.im/yudai/gotty](http://img.shields.io/badge/gitter-join%20chat%20%E2%86%92-brightgreen.svg?style=flat-square)][gitter] [release]: https://github.com/yudai/gotty/releases [wercker]: https://app.wercker.com/project/bykey/03b91f441bebeda34f80e09a9f14126f [license]: https://github.com/yudai/gotty/blob/master/LICENSE - +[gitter]: https://gitter.im/yudai/gotty?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge GoTTY is a simple command line tool that turns your CLI tools into web applications. From a9d26bec2ce763c70185f85bcea7635fac85ab21 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Mon, 12 Oct 2015 11:57:14 +0900 Subject: [PATCH 08/82] Run commands in Make on wercker --- .gitignore | 1 + Godeps/Godeps.json | 2 +- Makefile | 23 +++++++++++++++++++++++ wercker.yml | 41 +++++++++++++++++++++++------------------ 4 files changed, 48 insertions(+), 19 deletions(-) diff --git a/.gitignore b/.gitignore index 640e407..452f349 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ gotty bindata +builds diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index c2bab58..d445a4e 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -1,6 +1,6 @@ { "ImportPath": "github.com/yudai/gotty", - "GoVersion": "go1.5", + "GoVersion": "go1.5.1", "Deps": [ { "ImportPath": "github.com/braintree/manners", diff --git a/Makefile b/Makefile index 1017abd..0b91ed1 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,5 @@ +OUTPUT_DIR = ./builds + gotty: app/resource.go main.go app/*.go go build @@ -28,3 +30,24 @@ bindata/static/js/hterm.js: bindata/static/js libapps/hterm/js/*.js bindata/static/js/gotty.js: bindata/static/js resources/gotty.js cp resources/gotty.js bindata/static/js/gotty.js + +tools: + go get github.com/tools/godep + go get github.com/mitchellh/gox + go get github.com/tcnksm/ghr + +deps: + godep restore + +test: + if [ `go fmt ./... | wc -l` -gt 0 ]; then echo "go fmt error"; exit 1; fi + +cross_compile: + GOARM=5 gox -os="darwin linux freebsd netbsd openbsd" -arch="386 amd64 arm" -output "${OUTPUT_DIR}/pkg/{{.OS}}_{{.Arch}}/{{.Dir}}" + +targz: + mkdir -p ${OUTPUT_DIR}/dist + cd ${OUTPUT_DIR}/pkg/; for osarch in *; do (cd $$osarch; tar zcvf ../../dist/gotty_$$osarch.tar.gz ./*); done; + +release: + ghr --delete --prerelease -u yudai -r gotty pre-release ${OUTPUT_DIR}/dist diff --git a/wercker.yml b/wercker.yml index c706c97..3332e1d 100644 --- a/wercker.yml +++ b/wercker.yml @@ -1,27 +1,32 @@ -box: tcnksm/gox +box: golang:1.5.1 build: steps: - setup-go-workspace - script: - name: go get - code: | - go get github.com/tools/godep - godep restore + name: tools + code: make tools - script: - name: check format - code: | - if [ `go fmt ./... | wc -l` -gt 0 ]; then echo "go fmt error"; exit 1; fi - - tcnksm/gox: - os: "darwin linux freebsd netbsd openbsd" - arch: "386 amd64 arm" - - yudai/targz: - input: $WERCKER_OUTPUT_DIR/pkg - output: $WERCKER_OUTPUT_DIR/dist + name: deps + code: make deps + - script: + name: test + code: make test + - script: + name: cross compile + code: make cross_compile OUTPUT_DIR=$WERCKER_OUTPUT_DIR + - script: + name: targz + code: make targz OUTPUT_DIR=$WERCKER_OUTPUT_DIR + - script: + name: store Makefile + code: cp Makefile $WERCKER_OUTPUT_DIR/ deploy: steps: - - tcnksm/ghr: - token: $GITHUB_TOKEN - input: dist - replace: true + - script: + name: tools + code: make tools + - script: + name: release + code: make release OUTPUT_DIR=. From f7b54e9e5a7302195b1f22759d5d1f3bf4c83413 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Mon, 12 Oct 2015 15:54:41 +0900 Subject: [PATCH 09/82] Format .gotty --- .gotty | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/.gotty b/.gotty index d56d0e1..51d6e22 100644 --- a/.gotty +++ b/.gotty @@ -82,9 +82,8 @@ // Controls how the alt key is handled. // "escape"....... Send an ESC prefix. // "8-bit"........ Add 128 to the unshifted character as in xterm. - // "browser-key".. Wait for the keypress event and see what the browser - // says. (This won't work well on platforms where the - // browser performs a default action for some alt sequences.) + // "browser-key".. Wait for the keypress event and see what the browser says. + // (This won't work well on platforms where the browser performs a default action for some alt sequences.) // alt_sends_what = "escape" // [string] URL of the terminal bell sound. Empty string for no audible bell. @@ -92,8 +91,7 @@ // [bool] If true, terminal bells in the background will create a Web Notification. http://www.w3.org/TR/notifications/ // Displaying notifications requires permission from the user. - // When this option is set to true, hterm will attempt to ask the user for - // permission if necessary. + // When this option is set to true, hterm will attempt to ask the user for permission if necessary. // Note browsers may not show this permission request // if it did not originate from a user action. // desktop_notification_bell = false @@ -118,7 +116,8 @@ // backspace_sends_backspace = false // [map[string]map[string]string] - // A nested map where each property is the character set code and the value is a map that is a sparse array itself. In that sparse array, each property is the received character and the value is the displayed character. + // A nested map where each property is the character set code and the value is a map that is a sparse array itself. + // In that sparse array, each property is the received character and the value is the displayed character. // For example: // {"0" = {"+" = "\u2192" // "," = "\u2190" @@ -142,7 +141,7 @@ // [[]string] // Override colors in the default palette. - // This can be specified as an array or an object. + // This can be specified as an array or an object. // Values can be specified as almost any css color value. // This includes #RGB, #RRGGBB, rgb(...), rgba(...), and any color names that are also part of the stock X11 rgb.txt file. // You can use 'null' to specify that the default value should be not be changed. @@ -211,7 +210,8 @@ // [string] The foreground color for text with no other color attributes. // foreground_color = "rgb(240, 240, 240)" - // [bool] If true, home/end will control the terminal scrollbar and shift home/end will send the VT keycodes. If false then home/end sends VT codes and shift home/end scrolls. + // [bool] If true, home/end will control the terminal scrollbar and shift home/end will send the VT keycodes. + // If false then home/end sends VT codes and shift home/end scrolls. // home_keys_scroll = false // [map[string]string] @@ -248,7 +248,8 @@ // [enum(null, true, false)] // Set whether we should pass Alt-1..9 to the browser. - // This is handy when running hterm in a browser tab, so that you don't lose Chrome's "switch to tab" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs. + // This is handy when running hterm in a browser tab, so that you don't lose Chrome's "switch to tab" keyboard accelerators. + // When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs. // If true, Alt-1..9 will be handled by the browser. // If false, Alt-1..9 will be sent to the host. // If null, autodetect based on browser platform and window type. @@ -256,7 +257,8 @@ // [enum(null, true, false)] // Set whether we should pass Ctrl-1..9 to the browser. - // This is handy when running hterm in a browser tab, so that you don't lose Chrome's "switch to tab" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs. + // This is handy when running hterm in a browser tab, so that you don't lose Chrome's "switch to tab" keyboard accelerators. + // When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs. // If true, Ctrl-1..9 will be handled by the browser. // If false, Ctrl-1..9 will be sent to the host. // If null, autodetect based on browser platform and window type. @@ -264,7 +266,8 @@ // [enum(null, true, false)] // Set whether we should pass Meta-1..9 to the browser. - // This is handy when running hterm in a browser tab, so that you don't lose Chrome's "switch to tab" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs. + // This is handy when running hterm in a browser tab, so that you don't lose Chrome's "switch to tab" keyboard accelerators. + // When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs. // If true, Meta-1..9 will be handled by the browser. // If false, Meta-1..9 will be sent to the host. If null, autodetect based on browser platform and window type. // pass_meta_number = null From 04deb4902ffe9b05d55c5364d604b2febb84ff16 Mon Sep 17 00:00:00 2001 From: Quentin Perez Date: Mon, 12 Oct 2015 10:28:36 +0200 Subject: [PATCH 10/82] Remove a mutex unlock --- app/client_context.go | 1 - 1 file changed, 1 deletion(-) diff --git a/app/client_context.go b/app/client_context.go index bd4cdd1..aee31c3 100644 --- a/app/client_context.go +++ b/app/client_context.go @@ -122,7 +122,6 @@ func (context *clientContext) sendInitialize() error { titleBuffer := new(bytes.Buffer) if err := context.app.titleTemplate.Execute(titleBuffer, titleVars); err != nil { - context.writeMutex.Unlock() return err } if err := context.write(append([]byte{SetWindowTitle}, titleBuffer.Bytes()...)); err != nil { From 788c9942ad9fc5fb2270da7c1971ae9a8df6b3f3 Mon Sep 17 00:00:00 2001 From: Manfred Touron Date: Mon, 12 Oct 2015 18:19:42 +0200 Subject: [PATCH 11/82] Log passed arguments i.e: 2015/10/12 18:14:11 127.0.0.1:56983 200 GET /auth_token.js 2015/10/12 18:14:11 New client connected: 127.0.0.1:56984 2015/10/12 18:14:11 127.0.0.1:56984 passed arguments are: "--server_id XXXXXXXXXXXXXXX --type serial --auth_token YYYYYYYYYYYYYYYY" 2015/10/12 18:14:11 Command is running for client 127.0.0.1:56984 with PID 95770 2015/10/12 18:14:11 127.0.0.1:56984 101 GET /ws 2015/10/12 18:14:11 Command exited for: 127.0.0.1:56984 --- app/app.go | 1 + 1 file changed, 1 insertion(+) diff --git a/app/app.go b/app/app.go index 4bab54a..826ff8c 100644 --- a/app/app.go +++ b/app/app.go @@ -317,6 +317,7 @@ func (app *App) handleWS(w http.ResponseWriter, r *http.Request) { } params := query.Query()["arg"] if len(params) != 0 { + log.Printf("%s passed arguments are: %q", r.RemoteAddr, strings.Join(params, " ")) argv = append(argv, params...) } } From d56157f1eec75d0efe957bca5f00787f71fa4169 Mon Sep 17 00:00:00 2001 From: Manfred Touron Date: Tue, 13 Oct 2015 19:04:45 +0200 Subject: [PATCH 12/82] Using already-existing log command to print passed arguments --- app/app.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/app.go b/app/app.go index 826ff8c..978d71a 100644 --- a/app/app.go +++ b/app/app.go @@ -317,7 +317,6 @@ func (app *App) handleWS(w http.ResponseWriter, r *http.Request) { } params := query.Query()["arg"] if len(params) != 0 { - log.Printf("%s passed arguments are: %q", r.RemoteAddr, strings.Join(params, " ")) argv = append(argv, params...) } } @@ -341,7 +340,7 @@ func (app *App) handleWS(w http.ResponseWriter, r *http.Request) { log.Print("Failed to execute command") return } - log.Printf("Command is running for client %s with PID %d", r.RemoteAddr, cmd.Process.Pid) + log.Printf("Command is running for client %s with PID %d (args=%q)", r.RemoteAddr, cmd.Process.Pid, strings.Join(argv, " ")) context := &clientContext{ app: app, From 888fe870dcd26f0d8bba2292675e6417d036229d Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Tue, 13 Oct 2015 18:26:48 +0900 Subject: [PATCH 13/82] Add configuration to modify signal sent to child process when close it --- app/app.go | 2 ++ app/client_context.go | 2 +- main.go | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/app.go b/app/app.go index 978d71a..031f35c 100644 --- a/app/app.go +++ b/app/app.go @@ -64,6 +64,7 @@ type Options struct { ReconnectTime int `hcl:"reconnect_time"` Once bool `hcl:"once"` PermitArguments bool `hcl:"permit_arguments"` + CloseSignal int `hcl:"close_signal"` Preferences HtermPrefernces `hcl:"preferences"` RawPreferences map[string]interface{} `hcl:"preferences"` } @@ -88,6 +89,7 @@ var DefaultOptions = Options{ EnableReconnect: false, ReconnectTime: 10, Once: false, + CloseSignal: 1, // syscall.SIGHUP Preferences: HtermPrefernces{}, } diff --git a/app/client_context.go b/app/client_context.go index aee31c3..d4c2f29 100644 --- a/app/client_context.go +++ b/app/client_context.go @@ -75,7 +75,7 @@ func (context *clientContext) goHandleClient() { // Even if the PTY has been closed, // Read(0 in processSend() keeps blocking and the process doen't exit - context.command.Process.Signal(syscall.SIGHUP) + context.command.Process.Signal(syscall.Signal(context.app.options.CloseSignal)) context.command.Wait() context.connection.Close() diff --git a/main.go b/main.go index 5e42465..20f3600 100644 --- a/main.go +++ b/main.go @@ -35,6 +35,7 @@ func main() { flag{"reconnect-time", "", "Time to reconnect"}, flag{"once", "", "Accept only one client and exit on disconnection"}, flag{"permit-arguments", "", "Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB)"}, + flag{"close-signal", "", "Signal sent to the command process when gotty close it (default: SIGHUP)"}, } mappingHint := map[string]string{ From 6a6d0e13501275fcc664f8b9229cb63fdcb385c8 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Sun, 18 Oct 2015 10:59:07 +0900 Subject: [PATCH 14/82] Add `--close-signal` option to README --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 2a39596..494fa67 100644 --- a/README.md +++ b/README.md @@ -57,18 +57,18 @@ By default, GoTTY starts a web server at port 8080. Open the URL on your web bro --random-url, -r Add a random string to the URL [$GOTTY_RANDOM_URL] --random-url-length "8" Random URL length [$GOTTY_RANDOM_URL_LENGTH] --tls, -t Enable TLS/SSL [$GOTTY_TLS] ---tls-crt "~/.gotty.key" TLS/SSL crt file path [$GOTTY_TLS_CRT] ---tls-key "~/.gotty.crt" TLS/SSL key file path [$GOTTY_TLS_KEY] +--tls-crt "~/.gotty.crt" TLS/SSL certificate file path [$GOTTY_TLS_CRT] +--tls-key "~/.gotty.key" TLS/SSL key file path [$GOTTY_TLS_KEY] --tls-ca-crt "~/.gotty.ca.crt" TLS/SSL CA certificate file for client certifications [$GOTTY_TLS_CA_CRT] ---index Custom index file [$GOTTY_INDEX] +--index Custom index.html file [$GOTTY_INDEX] --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" Title format of browser window [$GOTTY_TITLE_FORMAT] --reconnect Enable reconnection [$GOTTY_RECONNECT] --reconnect-time "10" Time to reconnect [$GOTTY_RECONNECT_TIME] --once Accept only one client and exit on disconnection [$GOTTY_ONCE] +--permit-arguments Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB) [$GOTTY_PERMIT_ARGUMENTS] +--close-signal "1" Signal sent to the command process when gotty close it (default: SIGHUP) [$GOTTY_CLOSE_SIGNAL] --config "~/.gotty" Config file path [$GOTTY_CONFIG] --version, -v print the version ---permit-arguments Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB) - ``` ### Config File From ca66b46fa203c0f9f7a5de8a956e6529b808e7aa Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Sun, 18 Oct 2015 11:13:12 +0900 Subject: [PATCH 15/82] Update dependencies --- Godeps/Godeps.json | 2 +- .../braintree/manners/helpers_test.go | 118 --- .../braintree/manners/server_test.go | 243 ----- .../braintree/manners/transition_test.go | 54 -- .../github.com/codegangsta/cli/app_test.go | 867 ----------------- .../github.com/codegangsta/cli/cli_test.go | 98 -- .../codegangsta/cli/command_test.go | 47 - .../codegangsta/cli/context_test.go | 113 --- .../github.com/codegangsta/cli/flag_test.go | 740 --------------- .../github.com/codegangsta/cli/help_test.go | 36 - .../codegangsta/cli/helpers_test.go | 19 - .../github.com/fatih/structs/field_test.go | 324 ------- .../fatih/structs/structs_example_test.go | 351 ------- .../github.com/fatih/structs/structs_test.go | 898 ------------------ .../src/github.com/fatih/structs/tags_test.go | 46 - .../gorilla/websocket/bench_test.go | 19 - .../gorilla/websocket/client_server_test.go | 323 ------- .../gorilla/websocket/client_test.go | 64 -- .../github.com/gorilla/websocket/conn_test.go | 241 ----- .../github.com/gorilla/websocket/json_test.go | 119 --- .../gorilla/websocket/server_test.go | 33 - .../github.com/gorilla/websocket/util_test.go | 34 - .../hashicorp/go-multierror/append_test.go | 45 - .../hashicorp/go-multierror/flatten_test.go | 48 - .../hashicorp/go-multierror/format_test.go | 23 - .../go-multierror/multierror_test.go | 70 -- .../src/github.com/yudai/hcl/decoder_test.go | 481 ---------- .../src/github.com/yudai/hcl/hcl/hcl.test | Bin 3678144 -> 0 bytes .../src/github.com/yudai/hcl/hcl/hcl_test.go | 4 - .../src/github.com/yudai/hcl/hcl/lex_test.go | 113 --- .../github.com/yudai/hcl/hcl/parse_test.go | 83 -- .../src/github.com/yudai/hcl/hcl_test.go | 19 - .../github.com/yudai/hcl/json/json_test.go | 4 - .../src/github.com/yudai/hcl/json/lex_test.go | 78 -- .../github.com/yudai/hcl/json/parse_test.go | 43 - .../src/github.com/yudai/hcl/lex_test.go | 37 - .../github.com/yudai/umutex/umutex_test.go | 50 - 37 files changed, 1 insertion(+), 5886 deletions(-) delete mode 100644 Godeps/_workspace/src/github.com/braintree/manners/helpers_test.go delete mode 100644 Godeps/_workspace/src/github.com/braintree/manners/server_test.go delete mode 100644 Godeps/_workspace/src/github.com/braintree/manners/transition_test.go delete mode 100644 Godeps/_workspace/src/github.com/codegangsta/cli/app_test.go delete mode 100644 Godeps/_workspace/src/github.com/codegangsta/cli/cli_test.go delete mode 100644 Godeps/_workspace/src/github.com/codegangsta/cli/command_test.go delete mode 100644 Godeps/_workspace/src/github.com/codegangsta/cli/context_test.go delete mode 100644 Godeps/_workspace/src/github.com/codegangsta/cli/flag_test.go delete mode 100644 Godeps/_workspace/src/github.com/codegangsta/cli/help_test.go delete mode 100644 Godeps/_workspace/src/github.com/codegangsta/cli/helpers_test.go delete mode 100644 Godeps/_workspace/src/github.com/fatih/structs/field_test.go delete mode 100644 Godeps/_workspace/src/github.com/fatih/structs/structs_example_test.go delete mode 100644 Godeps/_workspace/src/github.com/fatih/structs/structs_test.go delete mode 100644 Godeps/_workspace/src/github.com/fatih/structs/tags_test.go delete mode 100644 Godeps/_workspace/src/github.com/gorilla/websocket/bench_test.go delete mode 100644 Godeps/_workspace/src/github.com/gorilla/websocket/client_server_test.go delete mode 100644 Godeps/_workspace/src/github.com/gorilla/websocket/client_test.go delete mode 100644 Godeps/_workspace/src/github.com/gorilla/websocket/conn_test.go delete mode 100644 Godeps/_workspace/src/github.com/gorilla/websocket/json_test.go delete mode 100644 Godeps/_workspace/src/github.com/gorilla/websocket/server_test.go delete mode 100644 Godeps/_workspace/src/github.com/gorilla/websocket/util_test.go delete mode 100644 Godeps/_workspace/src/github.com/hashicorp/go-multierror/append_test.go delete mode 100644 Godeps/_workspace/src/github.com/hashicorp/go-multierror/flatten_test.go delete mode 100644 Godeps/_workspace/src/github.com/hashicorp/go-multierror/format_test.go delete mode 100644 Godeps/_workspace/src/github.com/hashicorp/go-multierror/multierror_test.go delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/decoder_test.go delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/hcl.test delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/hcl_test.go delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/lex_test.go delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/parse_test.go delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl_test.go delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/json/json_test.go delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/json/lex_test.go delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/json/parse_test.go delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/lex_test.go delete mode 100644 Godeps/_workspace/src/github.com/yudai/umutex/umutex_test.go diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index d445a4e..256aef7 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -35,7 +35,7 @@ }, { "ImportPath": "github.com/yudai/hcl", - "Rev": "7227a719113b77a78318a43dba44951556ff9e3d" + "Rev": "5fa2393b3552119bf33a69adb1402a1160cba23d" }, { "ImportPath": "github.com/yudai/umutex", diff --git a/Godeps/_workspace/src/github.com/braintree/manners/helpers_test.go b/Godeps/_workspace/src/github.com/braintree/manners/helpers_test.go deleted file mode 100644 index bde3703..0000000 --- a/Godeps/_workspace/src/github.com/braintree/manners/helpers_test.go +++ /dev/null @@ -1,118 +0,0 @@ -package manners - -import ( - "bufio" - "crypto/tls" - "io/ioutil" - "net" - "net/http" - "testing" -) - -func newServer() *GracefulServer { - return NewWithServer(new(http.Server)) -} - -// a simple step-controllable http client -type client struct { - tls bool - addr net.Addr - connected chan error - sendrequest chan bool - idle chan error - idlerelease chan bool - closed chan bool -} - -func (c *client) Run() { - go func() { - var err error - conn, err := net.Dial(c.addr.Network(), c.addr.String()) - if err != nil { - c.connected <- err - return - } - if c.tls { - conn = tls.Client(conn, &tls.Config{InsecureSkipVerify: true}) - } - c.connected <- nil - for <-c.sendrequest { - _, err = conn.Write([]byte("GET / HTTP/1.1\nHost: localhost:8000\n\n")) - if err != nil { - c.idle <- err - } - // Read response; no content - scanner := bufio.NewScanner(conn) - for scanner.Scan() { - // our null handler doesn't send a body, so we know the request is - // done when we reach the blank line after the headers - if scanner.Text() == "" { - break - } - } - c.idle <- scanner.Err() - <-c.idlerelease - } - conn.Close() - ioutil.ReadAll(conn) - c.closed <- true - }() -} - -func newClient(addr net.Addr, tls bool) *client { - return &client{ - addr: addr, - tls: tls, - connected: make(chan error), - sendrequest: make(chan bool), - idle: make(chan error), - idlerelease: make(chan bool), - closed: make(chan bool), - } -} - -// a handler that returns 200 ok with no body -var nullHandler = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {}) - -func startGenericServer(t *testing.T, server *GracefulServer, statechanged chan http.ConnState, runner func() error) (l net.Listener, errc chan error) { - server.Addr = "localhost:0" - server.Handler = nullHandler - if statechanged != nil { - // Wrap the ConnState handler with something that will notify - // the statechanged channel when a state change happens - server.ConnState = func(conn net.Conn, newState http.ConnState) { - statechanged <- newState - } - } - - server.up = make(chan net.Listener) - exitchan := make(chan error) - - go func() { - exitchan <- runner() - }() - - // wait for server socket to be bound - select { - case l = <-server.up: - // all good - - case err := <-exitchan: - // all bad - t.Fatal("Server failed to start", err) - } - return l, exitchan -} - -func startServer(t *testing.T, server *GracefulServer, statechanged chan http.ConnState) ( - l net.Listener, errc chan error) { - return startGenericServer(t, server, statechanged, server.ListenAndServe) -} - -func startTLSServer(t *testing.T, server *GracefulServer, certFile, keyFile string, statechanged chan http.ConnState) (l net.Listener, errc chan error) { - runner := func() error { - return server.ListenAndServeTLS(certFile, keyFile) - } - - return startGenericServer(t, server, statechanged, runner) -} diff --git a/Godeps/_workspace/src/github.com/braintree/manners/server_test.go b/Godeps/_workspace/src/github.com/braintree/manners/server_test.go deleted file mode 100644 index 2f54eaf..0000000 --- a/Godeps/_workspace/src/github.com/braintree/manners/server_test.go +++ /dev/null @@ -1,243 +0,0 @@ -package manners - -import ( - helpers "github.com/braintree/manners/test_helpers" - "net" - "net/http" - "testing" - "time" -) - -// Tests that the server allows in-flight requests to complete -// before shutting down. -func TestGracefulness(t *testing.T) { - server := newServer() - wg := helpers.NewWaitGroup() - server.wg = wg - statechanged := make(chan http.ConnState) - listener, exitchan := startServer(t, server, statechanged) - - client := newClient(listener.Addr(), false) - client.Run() - - // wait for client to connect, but don't let it send the request yet - if err := <-client.connected; err != nil { - t.Fatal("Client failed to connect to server", err) - } - // avoid a race between the client connection and the server accept - if state := <-statechanged; state != http.StateNew { - t.Fatal("Unexpected state", state) - } - - server.Close() - - waiting := <-wg.WaitCalled - if waiting < 1 { - t.Errorf("Expected the waitgroup to equal 1 at shutdown; actually %d", waiting) - } - - // allow the client to finish sending the request and make sure the server exits after - // (client will be in connected but idle state at that point) - client.sendrequest <- true - close(client.sendrequest) - if err := <-exitchan; err != nil { - t.Error("Unexpected error during shutdown", err) - } -} - -// Tests that the server begins to shut down when told to and does not accept -// new requests once shutdown has begun -func TestShutdown(t *testing.T) { - server := newServer() - wg := helpers.NewWaitGroup() - server.wg = wg - statechanged := make(chan http.ConnState) - listener, exitchan := startServer(t, server, statechanged) - - client1 := newClient(listener.Addr(), false) - client1.Run() - - // wait for client1 to connect - if err := <-client1.connected; err != nil { - t.Fatal("Client failed to connect to server", err) - } - // avoid a race between the client connection and the server accept - if state := <-statechanged; state != http.StateNew { - t.Fatal("Unexpected state", state) - } - - // start the shutdown; once it hits waitgroup.Wait() - // the listener should of been closed, though client1 is still connected - if server.Close() != true { - t.Fatal("first call to Close returned false") - } - if server.Close() != false { - t.Fatal("second call to Close returned true") - } - - waiting := <-wg.WaitCalled - if waiting != 1 { - t.Errorf("Waitcount should be one, got %d", waiting) - } - - // should get connection refused at this point - client2 := newClient(listener.Addr(), false) - client2.Run() - - if err := <-client2.connected; err == nil { - t.Fatal("client2 connected when it should of received connection refused") - } - - // let client1 finish so the server can exit - close(client1.sendrequest) // don't bother sending an actual request - - <-exitchan -} - -// Test that a connection is closed upon reaching an idle state if and only if the server -// is shutting down. -func TestCloseOnIdle(t *testing.T) { - server := newServer() - wg := helpers.NewWaitGroup() - server.wg = wg - fl := helpers.NewListener() - runner := func() error { - return server.Serve(fl) - } - - startGenericServer(t, server, nil, runner) - - // Change to idle state while server is not closing; Close should not be called - conn := &helpers.Conn{} - server.ConnState(conn, http.StateIdle) - if conn.CloseCalled { - t.Error("Close was called unexpected") - } - - server.Close() - - // wait until the server calls Close() on the listener - // by that point the atomic closing variable will have been updated, avoiding a race. - <-fl.CloseCalled - - conn = &helpers.Conn{} - server.ConnState(conn, http.StateIdle) - if !conn.CloseCalled { - t.Error("Close was not called") - } -} - -func waitForState(t *testing.T, waiter chan http.ConnState, state http.ConnState, errmsg string) { - for { - select { - case ns := <-waiter: - if ns == state { - return - } - case <-time.After(time.Second): - t.Fatal(errmsg) - } - } -} - -// Test that a request moving from active->idle->active using an actual -// network connection still results in a corect shutdown -func TestStateTransitionActiveIdleActive(t *testing.T) { - server := newServer() - wg := helpers.NewWaitGroup() - statechanged := make(chan http.ConnState) - server.wg = wg - listener, exitchan := startServer(t, server, statechanged) - - client := newClient(listener.Addr(), false) - client.Run() - - // wait for client to connect, but don't let it send the request - if err := <-client.connected; err != nil { - t.Fatal("Client failed to connect to server", err) - } - - for i := 0; i < 2; i++ { - client.sendrequest <- true - waitForState(t, statechanged, http.StateActive, "Client failed to reach active state") - <-client.idle - client.idlerelease <- true - waitForState(t, statechanged, http.StateIdle, "Client failed to reach idle state") - } - - // client is now in an idle state - - server.Close() - waiting := <-wg.WaitCalled - if waiting != 0 { - t.Errorf("Waitcount should be zero, got %d", waiting) - } - - if err := <-exitchan; err != nil { - t.Error("Unexpected error during shutdown", err) - } -} - -// Test state transitions from new->active->-idle->closed using an actual -// network connection and make sure the waitgroup count is correct at the end. -func TestStateTransitionActiveIdleClosed(t *testing.T) { - var ( - listener net.Listener - exitchan chan error - ) - - keyFile, err1 := helpers.NewTempFile(helpers.Key) - certFile, err2 := helpers.NewTempFile(helpers.Cert) - defer keyFile.Unlink() - defer certFile.Unlink() - - if err1 != nil || err2 != nil { - t.Fatal("Failed to create temporary files", err1, err2) - } - - for _, withTLS := range []bool{false, true} { - server := newServer() - wg := helpers.NewWaitGroup() - statechanged := make(chan http.ConnState) - server.wg = wg - if withTLS { - listener, exitchan = startTLSServer(t, server, certFile.Name(), keyFile.Name(), statechanged) - } else { - listener, exitchan = startServer(t, server, statechanged) - } - - client := newClient(listener.Addr(), withTLS) - client.Run() - - // wait for client to connect, but don't let it send the request - if err := <-client.connected; err != nil { - t.Fatal("Client failed to connect to server", err) - } - - client.sendrequest <- true - waitForState(t, statechanged, http.StateActive, "Client failed to reach active state") - - err := <-client.idle - if err != nil { - t.Fatalf("tls=%t unexpected error from client %s", withTLS, err) - } - - client.idlerelease <- true - waitForState(t, statechanged, http.StateIdle, "Client failed to reach idle state") - - // client is now in an idle state - close(client.sendrequest) - <-client.closed - waitForState(t, statechanged, http.StateClosed, "Client failed to reach closed state") - - server.Close() - waiting := <-wg.WaitCalled - if waiting != 0 { - t.Errorf("Waitcount should be zero, got %d", waiting) - } - - if err := <-exitchan; err != nil { - t.Error("Unexpected error during shutdown", err) - } - } -} diff --git a/Godeps/_workspace/src/github.com/braintree/manners/transition_test.go b/Godeps/_workspace/src/github.com/braintree/manners/transition_test.go deleted file mode 100644 index 34fe5c6..0000000 --- a/Godeps/_workspace/src/github.com/braintree/manners/transition_test.go +++ /dev/null @@ -1,54 +0,0 @@ -package manners - -import ( - helpers "github.com/braintree/manners/test_helpers" - "net/http" - "strings" - "testing" -) - -func TestStateTransitions(t *testing.T) { - tests := []transitionTest{ - transitionTest{[]http.ConnState{http.StateNew, http.StateActive}, 1}, - transitionTest{[]http.ConnState{http.StateNew, http.StateClosed}, 0}, - transitionTest{[]http.ConnState{http.StateNew, http.StateActive, http.StateClosed}, 0}, - transitionTest{[]http.ConnState{http.StateNew, http.StateActive, http.StateHijacked}, 0}, - transitionTest{[]http.ConnState{http.StateNew, http.StateActive, http.StateIdle}, 0}, - transitionTest{[]http.ConnState{http.StateNew, http.StateActive, http.StateIdle, http.StateActive}, 1}, - transitionTest{[]http.ConnState{http.StateNew, http.StateActive, http.StateIdle, http.StateActive, http.StateIdle}, 0}, - transitionTest{[]http.ConnState{http.StateNew, http.StateActive, http.StateIdle, http.StateActive, http.StateClosed}, 0}, - transitionTest{[]http.ConnState{http.StateNew, http.StateActive, http.StateIdle, http.StateActive, http.StateIdle, http.StateClosed}, 0}, - } - - for _, test := range tests { - testStateTransition(t, test) - } -} - -type transitionTest struct { - states []http.ConnState - expectedWgCount int -} - -func testStateTransition(t *testing.T, test transitionTest) { - server := newServer() - wg := helpers.NewWaitGroup() - server.wg = wg - startServer(t, server, nil) - - conn := &helpers.Conn{} - for _, newState := range test.states { - server.ConnState(conn, newState) - } - - server.Close() - waiting := <-wg.WaitCalled - if waiting != test.expectedWgCount { - names := make([]string, len(test.states)) - for i, s := range test.states { - names[i] = s.String() - } - transitions := strings.Join(names, " -> ") - t.Errorf("%s - Waitcount should be %d, got %d", transitions, test.expectedWgCount, waiting) - } -} diff --git a/Godeps/_workspace/src/github.com/codegangsta/cli/app_test.go b/Godeps/_workspace/src/github.com/codegangsta/cli/app_test.go deleted file mode 100644 index 4c6787a..0000000 --- a/Godeps/_workspace/src/github.com/codegangsta/cli/app_test.go +++ /dev/null @@ -1,867 +0,0 @@ -package cli - -import ( - "bytes" - "flag" - "fmt" - "io" - "os" - "strings" - "testing" -) - -func ExampleApp() { - // set args for examples sake - os.Args = []string{"greet", "--name", "Jeremy"} - - app := NewApp() - app.Name = "greet" - app.Flags = []Flag{ - StringFlag{Name: "name", Value: "bob", Usage: "a name to say"}, - } - app.Action = func(c *Context) { - fmt.Printf("Hello %v\n", c.String("name")) - } - app.Author = "Harrison" - app.Email = "harrison@lolwut.com" - app.Authors = []Author{Author{Name: "Oliver Allen", Email: "oliver@toyshop.com"}} - app.Run(os.Args) - // Output: - // Hello Jeremy -} - -func ExampleAppSubcommand() { - // set args for examples sake - os.Args = []string{"say", "hi", "english", "--name", "Jeremy"} - app := NewApp() - app.Name = "say" - app.Commands = []Command{ - { - Name: "hello", - Aliases: []string{"hi"}, - Usage: "use it to see a description", - Description: "This is how we describe hello the function", - Subcommands: []Command{ - { - Name: "english", - Aliases: []string{"en"}, - Usage: "sends a greeting in english", - Description: "greets someone in english", - Flags: []Flag{ - StringFlag{ - Name: "name", - Value: "Bob", - Usage: "Name of the person to greet", - }, - }, - Action: func(c *Context) { - fmt.Println("Hello,", c.String("name")) - }, - }, - }, - }, - } - - app.Run(os.Args) - // Output: - // Hello, Jeremy -} - -func ExampleAppHelp() { - // set args for examples sake - os.Args = []string{"greet", "h", "describeit"} - - app := NewApp() - app.Name = "greet" - app.Flags = []Flag{ - StringFlag{Name: "name", Value: "bob", Usage: "a name to say"}, - } - app.Commands = []Command{ - { - Name: "describeit", - Aliases: []string{"d"}, - Usage: "use it to see a description", - Description: "This is how we describe describeit the function", - Action: func(c *Context) { - fmt.Printf("i like to describe things") - }, - }, - } - app.Run(os.Args) - // Output: - // NAME: - // describeit - use it to see a description - // - // USAGE: - // command describeit [arguments...] - // - // DESCRIPTION: - // This is how we describe describeit the function -} - -func ExampleAppBashComplete() { - // set args for examples sake - os.Args = []string{"greet", "--generate-bash-completion"} - - app := NewApp() - app.Name = "greet" - app.EnableBashCompletion = true - app.Commands = []Command{ - { - Name: "describeit", - Aliases: []string{"d"}, - Usage: "use it to see a description", - Description: "This is how we describe describeit the function", - Action: func(c *Context) { - fmt.Printf("i like to describe things") - }, - }, { - Name: "next", - Usage: "next example", - Description: "more stuff to see when generating bash completion", - Action: func(c *Context) { - fmt.Printf("the next example") - }, - }, - } - - app.Run(os.Args) - // Output: - // describeit - // d - // next - // help - // h -} - -func TestApp_Run(t *testing.T) { - s := "" - - app := NewApp() - app.Action = func(c *Context) { - s = s + c.Args().First() - } - - err := app.Run([]string{"command", "foo"}) - expect(t, err, nil) - err = app.Run([]string{"command", "bar"}) - expect(t, err, nil) - expect(t, s, "foobar") -} - -var commandAppTests = []struct { - name string - expected bool -}{ - {"foobar", true}, - {"batbaz", true}, - {"b", true}, - {"f", true}, - {"bat", false}, - {"nothing", false}, -} - -func TestApp_Command(t *testing.T) { - app := NewApp() - fooCommand := Command{Name: "foobar", Aliases: []string{"f"}} - batCommand := Command{Name: "batbaz", Aliases: []string{"b"}} - app.Commands = []Command{ - fooCommand, - batCommand, - } - - for _, test := range commandAppTests { - expect(t, app.Command(test.name) != nil, test.expected) - } -} - -func TestApp_CommandWithArgBeforeFlags(t *testing.T) { - var parsedOption, firstArg string - - app := NewApp() - command := Command{ - Name: "cmd", - Flags: []Flag{ - StringFlag{Name: "option", Value: "", Usage: "some option"}, - }, - Action: func(c *Context) { - parsedOption = c.String("option") - firstArg = c.Args().First() - }, - } - app.Commands = []Command{command} - - app.Run([]string{"", "cmd", "my-arg", "--option", "my-option"}) - - expect(t, parsedOption, "my-option") - expect(t, firstArg, "my-arg") -} - -func TestApp_RunAsSubcommandParseFlags(t *testing.T) { - var context *Context - - a := NewApp() - a.Commands = []Command{ - { - Name: "foo", - Action: func(c *Context) { - context = c - }, - Flags: []Flag{ - StringFlag{ - Name: "lang", - Value: "english", - Usage: "language for the greeting", - }, - }, - Before: func(_ *Context) error { return nil }, - }, - } - a.Run([]string{"", "foo", "--lang", "spanish", "abcd"}) - - expect(t, context.Args().Get(0), "abcd") - expect(t, context.String("lang"), "spanish") -} - -func TestApp_CommandWithFlagBeforeTerminator(t *testing.T) { - var parsedOption string - var args []string - - app := NewApp() - command := Command{ - Name: "cmd", - Flags: []Flag{ - StringFlag{Name: "option", Value: "", Usage: "some option"}, - }, - Action: func(c *Context) { - parsedOption = c.String("option") - args = c.Args() - }, - } - app.Commands = []Command{command} - - app.Run([]string{"", "cmd", "my-arg", "--option", "my-option", "--", "--notARealFlag"}) - - expect(t, parsedOption, "my-option") - expect(t, args[0], "my-arg") - expect(t, args[1], "--") - expect(t, args[2], "--notARealFlag") -} - -func TestApp_CommandWithNoFlagBeforeTerminator(t *testing.T) { - var args []string - - app := NewApp() - command := Command{ - Name: "cmd", - Action: func(c *Context) { - args = c.Args() - }, - } - app.Commands = []Command{command} - - app.Run([]string{"", "cmd", "my-arg", "--", "notAFlagAtAll"}) - - expect(t, args[0], "my-arg") - expect(t, args[1], "--") - expect(t, args[2], "notAFlagAtAll") -} - -func TestApp_Float64Flag(t *testing.T) { - var meters float64 - - app := NewApp() - app.Flags = []Flag{ - Float64Flag{Name: "height", Value: 1.5, Usage: "Set the height, in meters"}, - } - app.Action = func(c *Context) { - meters = c.Float64("height") - } - - app.Run([]string{"", "--height", "1.93"}) - expect(t, meters, 1.93) -} - -func TestApp_ParseSliceFlags(t *testing.T) { - var parsedOption, firstArg string - var parsedIntSlice []int - var parsedStringSlice []string - - app := NewApp() - command := Command{ - Name: "cmd", - Flags: []Flag{ - IntSliceFlag{Name: "p", Value: &IntSlice{}, Usage: "set one or more ip addr"}, - StringSliceFlag{Name: "ip", Value: &StringSlice{}, Usage: "set one or more ports to open"}, - }, - Action: func(c *Context) { - parsedIntSlice = c.IntSlice("p") - parsedStringSlice = c.StringSlice("ip") - parsedOption = c.String("option") - firstArg = c.Args().First() - }, - } - app.Commands = []Command{command} - - app.Run([]string{"", "cmd", "my-arg", "-p", "22", "-p", "80", "-ip", "8.8.8.8", "-ip", "8.8.4.4"}) - - IntsEquals := func(a, b []int) bool { - if len(a) != len(b) { - return false - } - for i, v := range a { - if v != b[i] { - return false - } - } - return true - } - - StrsEquals := func(a, b []string) bool { - if len(a) != len(b) { - return false - } - for i, v := range a { - if v != b[i] { - return false - } - } - return true - } - var expectedIntSlice = []int{22, 80} - var expectedStringSlice = []string{"8.8.8.8", "8.8.4.4"} - - if !IntsEquals(parsedIntSlice, expectedIntSlice) { - t.Errorf("%v does not match %v", parsedIntSlice, expectedIntSlice) - } - - if !StrsEquals(parsedStringSlice, expectedStringSlice) { - t.Errorf("%v does not match %v", parsedStringSlice, expectedStringSlice) - } -} - -func TestApp_ParseSliceFlagsWithMissingValue(t *testing.T) { - var parsedIntSlice []int - var parsedStringSlice []string - - app := NewApp() - command := Command{ - Name: "cmd", - Flags: []Flag{ - IntSliceFlag{Name: "a", Usage: "set numbers"}, - StringSliceFlag{Name: "str", Usage: "set strings"}, - }, - Action: func(c *Context) { - parsedIntSlice = c.IntSlice("a") - parsedStringSlice = c.StringSlice("str") - }, - } - app.Commands = []Command{command} - - app.Run([]string{"", "cmd", "my-arg", "-a", "2", "-str", "A"}) - - var expectedIntSlice = []int{2} - var expectedStringSlice = []string{"A"} - - if parsedIntSlice[0] != expectedIntSlice[0] { - t.Errorf("%v does not match %v", parsedIntSlice[0], expectedIntSlice[0]) - } - - if parsedStringSlice[0] != expectedStringSlice[0] { - t.Errorf("%v does not match %v", parsedIntSlice[0], expectedIntSlice[0]) - } -} - -func TestApp_DefaultStdout(t *testing.T) { - app := NewApp() - - if app.Writer != os.Stdout { - t.Error("Default output writer not set.") - } -} - -type mockWriter struct { - written []byte -} - -func (fw *mockWriter) Write(p []byte) (n int, err error) { - if fw.written == nil { - fw.written = p - } else { - fw.written = append(fw.written, p...) - } - - return len(p), nil -} - -func (fw *mockWriter) GetWritten() (b []byte) { - return fw.written -} - -func TestApp_SetStdout(t *testing.T) { - w := &mockWriter{} - - app := NewApp() - app.Name = "test" - app.Writer = w - - err := app.Run([]string{"help"}) - - if err != nil { - t.Fatalf("Run error: %s", err) - } - - if len(w.written) == 0 { - t.Error("App did not write output to desired writer.") - } -} - -func TestApp_BeforeFunc(t *testing.T) { - beforeRun, subcommandRun := false, false - beforeError := fmt.Errorf("fail") - var err error - - app := NewApp() - - app.Before = func(c *Context) error { - beforeRun = true - s := c.String("opt") - if s == "fail" { - return beforeError - } - - return nil - } - - app.Commands = []Command{ - Command{ - Name: "sub", - Action: func(c *Context) { - subcommandRun = true - }, - }, - } - - app.Flags = []Flag{ - StringFlag{Name: "opt"}, - } - - // run with the Before() func succeeding - err = app.Run([]string{"command", "--opt", "succeed", "sub"}) - - if err != nil { - t.Fatalf("Run error: %s", err) - } - - if beforeRun == false { - t.Errorf("Before() not executed when expected") - } - - if subcommandRun == false { - t.Errorf("Subcommand not executed when expected") - } - - // reset - beforeRun, subcommandRun = false, false - - // run with the Before() func failing - err = app.Run([]string{"command", "--opt", "fail", "sub"}) - - // should be the same error produced by the Before func - if err != beforeError { - t.Errorf("Run error expected, but not received") - } - - if beforeRun == false { - t.Errorf("Before() not executed when expected") - } - - if subcommandRun == true { - t.Errorf("Subcommand executed when NOT expected") - } - -} - -func TestApp_AfterFunc(t *testing.T) { - afterRun, subcommandRun := false, false - afterError := fmt.Errorf("fail") - var err error - - app := NewApp() - - app.After = func(c *Context) error { - afterRun = true - s := c.String("opt") - if s == "fail" { - return afterError - } - - return nil - } - - app.Commands = []Command{ - Command{ - Name: "sub", - Action: func(c *Context) { - subcommandRun = true - }, - }, - } - - app.Flags = []Flag{ - StringFlag{Name: "opt"}, - } - - // run with the After() func succeeding - err = app.Run([]string{"command", "--opt", "succeed", "sub"}) - - if err != nil { - t.Fatalf("Run error: %s", err) - } - - if afterRun == false { - t.Errorf("After() not executed when expected") - } - - if subcommandRun == false { - t.Errorf("Subcommand not executed when expected") - } - - // reset - afterRun, subcommandRun = false, false - - // run with the Before() func failing - err = app.Run([]string{"command", "--opt", "fail", "sub"}) - - // should be the same error produced by the Before func - if err != afterError { - t.Errorf("Run error expected, but not received") - } - - if afterRun == false { - t.Errorf("After() not executed when expected") - } - - if subcommandRun == false { - t.Errorf("Subcommand not executed when expected") - } -} - -func TestAppNoHelpFlag(t *testing.T) { - oldFlag := HelpFlag - defer func() { - HelpFlag = oldFlag - }() - - HelpFlag = BoolFlag{} - - app := NewApp() - err := app.Run([]string{"test", "-h"}) - - if err != flag.ErrHelp { - t.Errorf("expected error about missing help flag, but got: %s (%T)", err, err) - } -} - -func TestAppHelpPrinter(t *testing.T) { - oldPrinter := HelpPrinter - defer func() { - HelpPrinter = oldPrinter - }() - - var wasCalled = false - HelpPrinter = func(w io.Writer, template string, data interface{}) { - wasCalled = true - } - - app := NewApp() - app.Run([]string{"-h"}) - - if wasCalled == false { - t.Errorf("Help printer expected to be called, but was not") - } -} - -func TestAppVersionPrinter(t *testing.T) { - oldPrinter := VersionPrinter - defer func() { - VersionPrinter = oldPrinter - }() - - var wasCalled = false - VersionPrinter = func(c *Context) { - wasCalled = true - } - - app := NewApp() - ctx := NewContext(app, nil, nil) - ShowVersion(ctx) - - if wasCalled == false { - t.Errorf("Version printer expected to be called, but was not") - } -} - -func TestAppCommandNotFound(t *testing.T) { - beforeRun, subcommandRun := false, false - app := NewApp() - - app.CommandNotFound = func(c *Context, command string) { - beforeRun = true - } - - app.Commands = []Command{ - Command{ - Name: "bar", - Action: func(c *Context) { - subcommandRun = true - }, - }, - } - - app.Run([]string{"command", "foo"}) - - expect(t, beforeRun, true) - expect(t, subcommandRun, false) -} - -func TestGlobalFlag(t *testing.T) { - var globalFlag string - var globalFlagSet bool - app := NewApp() - app.Flags = []Flag{ - StringFlag{Name: "global, g", Usage: "global"}, - } - app.Action = func(c *Context) { - globalFlag = c.GlobalString("global") - globalFlagSet = c.GlobalIsSet("global") - } - app.Run([]string{"command", "-g", "foo"}) - expect(t, globalFlag, "foo") - expect(t, globalFlagSet, true) - -} - -func TestGlobalFlagsInSubcommands(t *testing.T) { - subcommandRun := false - parentFlag := false - app := NewApp() - - app.Flags = []Flag{ - BoolFlag{Name: "debug, d", Usage: "Enable debugging"}, - } - - app.Commands = []Command{ - Command{ - Name: "foo", - Flags: []Flag{ - BoolFlag{Name: "parent, p", Usage: "Parent flag"}, - }, - Subcommands: []Command{ - { - Name: "bar", - Action: func(c *Context) { - if c.GlobalBool("debug") { - subcommandRun = true - } - if c.GlobalBool("parent") { - parentFlag = true - } - }, - }, - }, - }, - } - - app.Run([]string{"command", "-d", "foo", "-p", "bar"}) - - expect(t, subcommandRun, true) - expect(t, parentFlag, true) -} - -func TestApp_Run_CommandWithSubcommandHasHelpTopic(t *testing.T) { - var subcommandHelpTopics = [][]string{ - {"command", "foo", "--help"}, - {"command", "foo", "-h"}, - {"command", "foo", "help"}, - } - - for _, flagSet := range subcommandHelpTopics { - t.Logf("==> checking with flags %v", flagSet) - - app := NewApp() - buf := new(bytes.Buffer) - app.Writer = buf - - subCmdBar := Command{ - Name: "bar", - Usage: "does bar things", - } - subCmdBaz := Command{ - Name: "baz", - Usage: "does baz things", - } - cmd := Command{ - Name: "foo", - Description: "descriptive wall of text about how it does foo things", - Subcommands: []Command{subCmdBar, subCmdBaz}, - } - - app.Commands = []Command{cmd} - err := app.Run(flagSet) - - if err != nil { - t.Error(err) - } - - output := buf.String() - t.Logf("output: %q\n", buf.Bytes()) - - if strings.Contains(output, "No help topic for") { - t.Errorf("expect a help topic, got none: \n%q", output) - } - - for _, shouldContain := range []string{ - cmd.Name, cmd.Description, - subCmdBar.Name, subCmdBar.Usage, - subCmdBaz.Name, subCmdBaz.Usage, - } { - if !strings.Contains(output, shouldContain) { - t.Errorf("want help to contain %q, did not: \n%q", shouldContain, output) - } - } - } -} - -func TestApp_Run_SubcommandFullPath(t *testing.T) { - app := NewApp() - buf := new(bytes.Buffer) - app.Writer = buf - - subCmd := Command{ - Name: "bar", - Usage: "does bar things", - } - cmd := Command{ - Name: "foo", - Description: "foo commands", - Subcommands: []Command{subCmd}, - } - app.Commands = []Command{cmd} - - err := app.Run([]string{"command", "foo", "bar", "--help"}) - if err != nil { - t.Error(err) - } - - output := buf.String() - if !strings.Contains(output, "foo bar - does bar things") { - t.Errorf("expected full path to subcommand: %s", output) - } - if !strings.Contains(output, "command foo bar [arguments...]") { - t.Errorf("expected full path to subcommand: %s", output) - } -} - -func TestApp_Run_Help(t *testing.T) { - var helpArguments = [][]string{{"boom", "--help"}, {"boom", "-h"}, {"boom", "help"}} - - for _, args := range helpArguments { - buf := new(bytes.Buffer) - - t.Logf("==> checking with arguments %v", args) - - app := NewApp() - app.Name = "boom" - app.Usage = "make an explosive entrance" - app.Writer = buf - app.Action = func(c *Context) { - buf.WriteString("boom I say!") - } - - err := app.Run(args) - if err != nil { - t.Error(err) - } - - output := buf.String() - t.Logf("output: %q\n", buf.Bytes()) - - if !strings.Contains(output, "boom - make an explosive entrance") { - t.Errorf("want help to contain %q, did not: \n%q", "boom - make an explosive entrance", output) - } - } -} - -func TestApp_Run_Version(t *testing.T) { - var versionArguments = [][]string{{"boom", "--version"}, {"boom", "-v"}} - - for _, args := range versionArguments { - buf := new(bytes.Buffer) - - t.Logf("==> checking with arguments %v", args) - - app := NewApp() - app.Name = "boom" - app.Usage = "make an explosive entrance" - app.Version = "0.1.0" - app.Writer = buf - app.Action = func(c *Context) { - buf.WriteString("boom I say!") - } - - err := app.Run(args) - if err != nil { - t.Error(err) - } - - output := buf.String() - t.Logf("output: %q\n", buf.Bytes()) - - if !strings.Contains(output, "0.1.0") { - t.Errorf("want version to contain %q, did not: \n%q", "0.1.0", output) - } - } -} - -func TestApp_Run_DoesNotOverwriteErrorFromBefore(t *testing.T) { - app := NewApp() - app.Action = func(c *Context) {} - app.Before = func(c *Context) error { return fmt.Errorf("before error") } - app.After = func(c *Context) error { return fmt.Errorf("after error") } - - err := app.Run([]string{"foo"}) - if err == nil { - t.Fatalf("expected to recieve error from Run, got none") - } - - if !strings.Contains(err.Error(), "before error") { - t.Errorf("expected text of error from Before method, but got none in \"%v\"", err) - } - if !strings.Contains(err.Error(), "after error") { - t.Errorf("expected text of error from After method, but got none in \"%v\"", err) - } -} - -func TestApp_Run_SubcommandDoesNotOverwriteErrorFromBefore(t *testing.T) { - app := NewApp() - app.Commands = []Command{ - Command{ - Name: "bar", - Before: func(c *Context) error { return fmt.Errorf("before error") }, - After: func(c *Context) error { return fmt.Errorf("after error") }, - }, - } - - err := app.Run([]string{"foo", "bar"}) - if err == nil { - t.Fatalf("expected to recieve error from Run, got none") - } - - if !strings.Contains(err.Error(), "before error") { - t.Errorf("expected text of error from Before method, but got none in \"%v\"", err) - } - if !strings.Contains(err.Error(), "after error") { - t.Errorf("expected text of error from After method, but got none in \"%v\"", err) - } -} diff --git a/Godeps/_workspace/src/github.com/codegangsta/cli/cli_test.go b/Godeps/_workspace/src/github.com/codegangsta/cli/cli_test.go deleted file mode 100644 index e54f8e2..0000000 --- a/Godeps/_workspace/src/github.com/codegangsta/cli/cli_test.go +++ /dev/null @@ -1,98 +0,0 @@ -package cli - -import ( - "os" -) - -func Example() { - app := NewApp() - app.Name = "todo" - app.Usage = "task list on the command line" - app.Commands = []Command{ - { - Name: "add", - Aliases: []string{"a"}, - Usage: "add a task to the list", - Action: func(c *Context) { - println("added task: ", c.Args().First()) - }, - }, - { - Name: "complete", - Aliases: []string{"c"}, - Usage: "complete a task on the list", - Action: func(c *Context) { - println("completed task: ", c.Args().First()) - }, - }, - } - - app.Run(os.Args) -} - -func ExampleSubcommand() { - app := NewApp() - app.Name = "say" - app.Commands = []Command{ - { - Name: "hello", - Aliases: []string{"hi"}, - Usage: "use it to see a description", - Description: "This is how we describe hello the function", - Subcommands: []Command{ - { - Name: "english", - Aliases: []string{"en"}, - Usage: "sends a greeting in english", - Description: "greets someone in english", - Flags: []Flag{ - StringFlag{ - Name: "name", - Value: "Bob", - Usage: "Name of the person to greet", - }, - }, - Action: func(c *Context) { - println("Hello, ", c.String("name")) - }, - }, { - Name: "spanish", - Aliases: []string{"sp"}, - Usage: "sends a greeting in spanish", - Flags: []Flag{ - StringFlag{ - Name: "surname", - Value: "Jones", - Usage: "Surname of the person to greet", - }, - }, - Action: func(c *Context) { - println("Hola, ", c.String("surname")) - }, - }, { - Name: "french", - Aliases: []string{"fr"}, - Usage: "sends a greeting in french", - Flags: []Flag{ - StringFlag{ - Name: "nickname", - Value: "Stevie", - Usage: "Nickname of the person to greet", - }, - }, - Action: func(c *Context) { - println("Bonjour, ", c.String("nickname")) - }, - }, - }, - }, { - Name: "bye", - Usage: "says goodbye", - Action: func(c *Context) { - println("bye") - }, - }, - } - - app.Run(os.Args) -} diff --git a/Godeps/_workspace/src/github.com/codegangsta/cli/command_test.go b/Godeps/_workspace/src/github.com/codegangsta/cli/command_test.go deleted file mode 100644 index 688d12c..0000000 --- a/Godeps/_workspace/src/github.com/codegangsta/cli/command_test.go +++ /dev/null @@ -1,47 +0,0 @@ -package cli - -import ( - "flag" - "testing" -) - -func TestCommandDoNotIgnoreFlags(t *testing.T) { - app := NewApp() - set := flag.NewFlagSet("test", 0) - test := []string{"blah", "blah", "-break"} - set.Parse(test) - - c := NewContext(app, set, nil) - - command := Command{ - Name: "test-cmd", - Aliases: []string{"tc"}, - Usage: "this is for testing", - Description: "testing", - Action: func(_ *Context) {}, - } - err := command.Run(c) - - expect(t, err.Error(), "flag provided but not defined: -break") -} - -func TestCommandIgnoreFlags(t *testing.T) { - app := NewApp() - set := flag.NewFlagSet("test", 0) - test := []string{"blah", "blah"} - set.Parse(test) - - c := NewContext(app, set, nil) - - command := Command{ - Name: "test-cmd", - Aliases: []string{"tc"}, - Usage: "this is for testing", - Description: "testing", - Action: func(_ *Context) {}, - SkipFlagParsing: true, - } - err := command.Run(c) - - expect(t, err, nil) -} diff --git a/Godeps/_workspace/src/github.com/codegangsta/cli/context_test.go b/Godeps/_workspace/src/github.com/codegangsta/cli/context_test.go deleted file mode 100644 index 7f8e928..0000000 --- a/Godeps/_workspace/src/github.com/codegangsta/cli/context_test.go +++ /dev/null @@ -1,113 +0,0 @@ -package cli - -import ( - "flag" - "testing" - "time" -) - -func TestNewContext(t *testing.T) { - set := flag.NewFlagSet("test", 0) - set.Int("myflag", 12, "doc") - globalSet := flag.NewFlagSet("test", 0) - globalSet.Int("myflag", 42, "doc") - globalCtx := NewContext(nil, globalSet, nil) - command := Command{Name: "mycommand"} - c := NewContext(nil, set, globalCtx) - c.Command = command - expect(t, c.Int("myflag"), 12) - expect(t, c.GlobalInt("myflag"), 42) - expect(t, c.Command.Name, "mycommand") -} - -func TestContext_Int(t *testing.T) { - set := flag.NewFlagSet("test", 0) - set.Int("myflag", 12, "doc") - c := NewContext(nil, set, nil) - expect(t, c.Int("myflag"), 12) -} - -func TestContext_Duration(t *testing.T) { - set := flag.NewFlagSet("test", 0) - set.Duration("myflag", time.Duration(12*time.Second), "doc") - c := NewContext(nil, set, nil) - expect(t, c.Duration("myflag"), time.Duration(12*time.Second)) -} - -func TestContext_String(t *testing.T) { - set := flag.NewFlagSet("test", 0) - set.String("myflag", "hello world", "doc") - c := NewContext(nil, set, nil) - expect(t, c.String("myflag"), "hello world") -} - -func TestContext_Bool(t *testing.T) { - set := flag.NewFlagSet("test", 0) - set.Bool("myflag", false, "doc") - c := NewContext(nil, set, nil) - expect(t, c.Bool("myflag"), false) -} - -func TestContext_BoolT(t *testing.T) { - set := flag.NewFlagSet("test", 0) - set.Bool("myflag", true, "doc") - c := NewContext(nil, set, nil) - expect(t, c.BoolT("myflag"), true) -} - -func TestContext_Args(t *testing.T) { - set := flag.NewFlagSet("test", 0) - set.Bool("myflag", false, "doc") - c := NewContext(nil, set, nil) - set.Parse([]string{"--myflag", "bat", "baz"}) - expect(t, len(c.Args()), 2) - expect(t, c.Bool("myflag"), true) -} - -func TestContext_IsSet(t *testing.T) { - set := flag.NewFlagSet("test", 0) - set.Bool("myflag", false, "doc") - set.String("otherflag", "hello world", "doc") - globalSet := flag.NewFlagSet("test", 0) - globalSet.Bool("myflagGlobal", true, "doc") - globalCtx := NewContext(nil, globalSet, nil) - c := NewContext(nil, set, globalCtx) - set.Parse([]string{"--myflag", "bat", "baz"}) - globalSet.Parse([]string{"--myflagGlobal", "bat", "baz"}) - expect(t, c.IsSet("myflag"), true) - expect(t, c.IsSet("otherflag"), false) - expect(t, c.IsSet("bogusflag"), false) - expect(t, c.IsSet("myflagGlobal"), false) -} - -func TestContext_GlobalIsSet(t *testing.T) { - set := flag.NewFlagSet("test", 0) - set.Bool("myflag", false, "doc") - set.String("otherflag", "hello world", "doc") - globalSet := flag.NewFlagSet("test", 0) - globalSet.Bool("myflagGlobal", true, "doc") - globalSet.Bool("myflagGlobalUnset", true, "doc") - globalCtx := NewContext(nil, globalSet, nil) - c := NewContext(nil, set, globalCtx) - set.Parse([]string{"--myflag", "bat", "baz"}) - globalSet.Parse([]string{"--myflagGlobal", "bat", "baz"}) - expect(t, c.GlobalIsSet("myflag"), false) - expect(t, c.GlobalIsSet("otherflag"), false) - expect(t, c.GlobalIsSet("bogusflag"), false) - expect(t, c.GlobalIsSet("myflagGlobal"), true) - expect(t, c.GlobalIsSet("myflagGlobalUnset"), false) - expect(t, c.GlobalIsSet("bogusGlobal"), false) -} - -func TestContext_NumFlags(t *testing.T) { - set := flag.NewFlagSet("test", 0) - set.Bool("myflag", false, "doc") - set.String("otherflag", "hello world", "doc") - globalSet := flag.NewFlagSet("test", 0) - globalSet.Bool("myflagGlobal", true, "doc") - globalCtx := NewContext(nil, globalSet, nil) - c := NewContext(nil, set, globalCtx) - set.Parse([]string{"--myflag", "--otherflag=foo"}) - globalSet.Parse([]string{"--myflagGlobal"}) - expect(t, c.NumFlags(), 2) -} diff --git a/Godeps/_workspace/src/github.com/codegangsta/cli/flag_test.go b/Godeps/_workspace/src/github.com/codegangsta/cli/flag_test.go deleted file mode 100644 index 3606102..0000000 --- a/Godeps/_workspace/src/github.com/codegangsta/cli/flag_test.go +++ /dev/null @@ -1,740 +0,0 @@ -package cli - -import ( - "fmt" - "os" - "reflect" - "strings" - "testing" -) - -var boolFlagTests = []struct { - name string - expected string -}{ - {"help", "--help\t"}, - {"h", "-h\t"}, -} - -func TestBoolFlagHelpOutput(t *testing.T) { - - for _, test := range boolFlagTests { - flag := BoolFlag{Name: test.name} - output := flag.String() - - if output != test.expected { - t.Errorf("%s does not match %s", output, test.expected) - } - } -} - -var stringFlagTests = []struct { - name string - value string - expected string -}{ - {"help", "", "--help \t"}, - {"h", "", "-h \t"}, - {"h", "", "-h \t"}, - {"test", "Something", "--test \"Something\"\t"}, -} - -func TestStringFlagHelpOutput(t *testing.T) { - - for _, test := range stringFlagTests { - flag := StringFlag{Name: test.name, Value: test.value} - output := flag.String() - - if output != test.expected { - t.Errorf("%s does not match %s", output, test.expected) - } - } -} - -func TestStringFlagWithEnvVarHelpOutput(t *testing.T) { - os.Clearenv() - os.Setenv("APP_FOO", "derp") - for _, test := range stringFlagTests { - flag := StringFlag{Name: test.name, Value: test.value, EnvVar: "APP_FOO"} - output := flag.String() - - if !strings.HasSuffix(output, " [$APP_FOO]") { - t.Errorf("%s does not end with [$APP_FOO]", output) - } - } -} - -var stringSliceFlagTests = []struct { - name string - value *StringSlice - expected string -}{ - {"help", func() *StringSlice { - s := &StringSlice{} - s.Set("") - return s - }(), "--help [--help option --help option]\t"}, - {"h", func() *StringSlice { - s := &StringSlice{} - s.Set("") - return s - }(), "-h [-h option -h option]\t"}, - {"h", func() *StringSlice { - s := &StringSlice{} - s.Set("") - return s - }(), "-h [-h option -h option]\t"}, - {"test", func() *StringSlice { - s := &StringSlice{} - s.Set("Something") - return s - }(), "--test [--test option --test option]\t"}, -} - -func TestStringSliceFlagHelpOutput(t *testing.T) { - - for _, test := range stringSliceFlagTests { - flag := StringSliceFlag{Name: test.name, Value: test.value} - output := flag.String() - - if output != test.expected { - t.Errorf("%q does not match %q", output, test.expected) - } - } -} - -func TestStringSliceFlagWithEnvVarHelpOutput(t *testing.T) { - os.Clearenv() - os.Setenv("APP_QWWX", "11,4") - for _, test := range stringSliceFlagTests { - flag := StringSliceFlag{Name: test.name, Value: test.value, EnvVar: "APP_QWWX"} - output := flag.String() - - if !strings.HasSuffix(output, " [$APP_QWWX]") { - t.Errorf("%q does not end with [$APP_QWWX]", output) - } - } -} - -var intFlagTests = []struct { - name string - expected string -}{ - {"help", "--help \"0\"\t"}, - {"h", "-h \"0\"\t"}, -} - -func TestIntFlagHelpOutput(t *testing.T) { - - for _, test := range intFlagTests { - flag := IntFlag{Name: test.name} - output := flag.String() - - if output != test.expected { - t.Errorf("%s does not match %s", output, test.expected) - } - } -} - -func TestIntFlagWithEnvVarHelpOutput(t *testing.T) { - os.Clearenv() - os.Setenv("APP_BAR", "2") - for _, test := range intFlagTests { - flag := IntFlag{Name: test.name, EnvVar: "APP_BAR"} - output := flag.String() - - if !strings.HasSuffix(output, " [$APP_BAR]") { - t.Errorf("%s does not end with [$APP_BAR]", output) - } - } -} - -var durationFlagTests = []struct { - name string - expected string -}{ - {"help", "--help \"0\"\t"}, - {"h", "-h \"0\"\t"}, -} - -func TestDurationFlagHelpOutput(t *testing.T) { - - for _, test := range durationFlagTests { - flag := DurationFlag{Name: test.name} - output := flag.String() - - if output != test.expected { - t.Errorf("%s does not match %s", output, test.expected) - } - } -} - -func TestDurationFlagWithEnvVarHelpOutput(t *testing.T) { - os.Clearenv() - os.Setenv("APP_BAR", "2h3m6s") - for _, test := range durationFlagTests { - flag := DurationFlag{Name: test.name, EnvVar: "APP_BAR"} - output := flag.String() - - if !strings.HasSuffix(output, " [$APP_BAR]") { - t.Errorf("%s does not end with [$APP_BAR]", output) - } - } -} - -var intSliceFlagTests = []struct { - name string - value *IntSlice - expected string -}{ - {"help", &IntSlice{}, "--help [--help option --help option]\t"}, - {"h", &IntSlice{}, "-h [-h option -h option]\t"}, - {"h", &IntSlice{}, "-h [-h option -h option]\t"}, - {"test", func() *IntSlice { - i := &IntSlice{} - i.Set("9") - return i - }(), "--test [--test option --test option]\t"}, -} - -func TestIntSliceFlagHelpOutput(t *testing.T) { - - for _, test := range intSliceFlagTests { - flag := IntSliceFlag{Name: test.name, Value: test.value} - output := flag.String() - - if output != test.expected { - t.Errorf("%q does not match %q", output, test.expected) - } - } -} - -func TestIntSliceFlagWithEnvVarHelpOutput(t *testing.T) { - os.Clearenv() - os.Setenv("APP_SMURF", "42,3") - for _, test := range intSliceFlagTests { - flag := IntSliceFlag{Name: test.name, Value: test.value, EnvVar: "APP_SMURF"} - output := flag.String() - - if !strings.HasSuffix(output, " [$APP_SMURF]") { - t.Errorf("%q does not end with [$APP_SMURF]", output) - } - } -} - -var float64FlagTests = []struct { - name string - expected string -}{ - {"help", "--help \"0\"\t"}, - {"h", "-h \"0\"\t"}, -} - -func TestFloat64FlagHelpOutput(t *testing.T) { - - for _, test := range float64FlagTests { - flag := Float64Flag{Name: test.name} - output := flag.String() - - if output != test.expected { - t.Errorf("%s does not match %s", output, test.expected) - } - } -} - -func TestFloat64FlagWithEnvVarHelpOutput(t *testing.T) { - os.Clearenv() - os.Setenv("APP_BAZ", "99.4") - for _, test := range float64FlagTests { - flag := Float64Flag{Name: test.name, EnvVar: "APP_BAZ"} - output := flag.String() - - if !strings.HasSuffix(output, " [$APP_BAZ]") { - t.Errorf("%s does not end with [$APP_BAZ]", output) - } - } -} - -var genericFlagTests = []struct { - name string - value Generic - expected string -}{ - {"test", &Parser{"abc", "def"}, "--test \"abc,def\"\ttest flag"}, - {"t", &Parser{"abc", "def"}, "-t \"abc,def\"\ttest flag"}, -} - -func TestGenericFlagHelpOutput(t *testing.T) { - - for _, test := range genericFlagTests { - flag := GenericFlag{Name: test.name, Value: test.value, Usage: "test flag"} - output := flag.String() - - if output != test.expected { - t.Errorf("%q does not match %q", output, test.expected) - } - } -} - -func TestGenericFlagWithEnvVarHelpOutput(t *testing.T) { - os.Clearenv() - os.Setenv("APP_ZAP", "3") - for _, test := range genericFlagTests { - flag := GenericFlag{Name: test.name, EnvVar: "APP_ZAP"} - output := flag.String() - - if !strings.HasSuffix(output, " [$APP_ZAP]") { - t.Errorf("%s does not end with [$APP_ZAP]", output) - } - } -} - -func TestParseMultiString(t *testing.T) { - (&App{ - Flags: []Flag{ - StringFlag{Name: "serve, s"}, - }, - Action: func(ctx *Context) { - if ctx.String("serve") != "10" { - t.Errorf("main name not set") - } - if ctx.String("s") != "10" { - t.Errorf("short name not set") - } - }, - }).Run([]string{"run", "-s", "10"}) -} - -func TestParseMultiStringFromEnv(t *testing.T) { - os.Clearenv() - os.Setenv("APP_COUNT", "20") - (&App{ - Flags: []Flag{ - StringFlag{Name: "count, c", EnvVar: "APP_COUNT"}, - }, - Action: func(ctx *Context) { - if ctx.String("count") != "20" { - t.Errorf("main name not set") - } - if ctx.String("c") != "20" { - t.Errorf("short name not set") - } - }, - }).Run([]string{"run"}) -} - -func TestParseMultiStringFromEnvCascade(t *testing.T) { - os.Clearenv() - os.Setenv("APP_COUNT", "20") - (&App{ - Flags: []Flag{ - StringFlag{Name: "count, c", EnvVar: "COMPAT_COUNT,APP_COUNT"}, - }, - Action: func(ctx *Context) { - if ctx.String("count") != "20" { - t.Errorf("main name not set") - } - if ctx.String("c") != "20" { - t.Errorf("short name not set") - } - }, - }).Run([]string{"run"}) -} - -func TestParseMultiStringSlice(t *testing.T) { - (&App{ - Flags: []Flag{ - StringSliceFlag{Name: "serve, s", Value: &StringSlice{}}, - }, - Action: func(ctx *Context) { - if !reflect.DeepEqual(ctx.StringSlice("serve"), []string{"10", "20"}) { - t.Errorf("main name not set") - } - if !reflect.DeepEqual(ctx.StringSlice("s"), []string{"10", "20"}) { - t.Errorf("short name not set") - } - }, - }).Run([]string{"run", "-s", "10", "-s", "20"}) -} - -func TestParseMultiStringSliceFromEnv(t *testing.T) { - os.Clearenv() - os.Setenv("APP_INTERVALS", "20,30,40") - - (&App{ - Flags: []Flag{ - StringSliceFlag{Name: "intervals, i", Value: &StringSlice{}, EnvVar: "APP_INTERVALS"}, - }, - Action: func(ctx *Context) { - if !reflect.DeepEqual(ctx.StringSlice("intervals"), []string{"20", "30", "40"}) { - t.Errorf("main name not set from env") - } - if !reflect.DeepEqual(ctx.StringSlice("i"), []string{"20", "30", "40"}) { - t.Errorf("short name not set from env") - } - }, - }).Run([]string{"run"}) -} - -func TestParseMultiStringSliceFromEnvCascade(t *testing.T) { - os.Clearenv() - os.Setenv("APP_INTERVALS", "20,30,40") - - (&App{ - Flags: []Flag{ - StringSliceFlag{Name: "intervals, i", Value: &StringSlice{}, EnvVar: "COMPAT_INTERVALS,APP_INTERVALS"}, - }, - Action: func(ctx *Context) { - if !reflect.DeepEqual(ctx.StringSlice("intervals"), []string{"20", "30", "40"}) { - t.Errorf("main name not set from env") - } - if !reflect.DeepEqual(ctx.StringSlice("i"), []string{"20", "30", "40"}) { - t.Errorf("short name not set from env") - } - }, - }).Run([]string{"run"}) -} - -func TestParseMultiInt(t *testing.T) { - a := App{ - Flags: []Flag{ - IntFlag{Name: "serve, s"}, - }, - Action: func(ctx *Context) { - if ctx.Int("serve") != 10 { - t.Errorf("main name not set") - } - if ctx.Int("s") != 10 { - t.Errorf("short name not set") - } - }, - } - a.Run([]string{"run", "-s", "10"}) -} - -func TestParseMultiIntFromEnv(t *testing.T) { - os.Clearenv() - os.Setenv("APP_TIMEOUT_SECONDS", "10") - a := App{ - Flags: []Flag{ - IntFlag{Name: "timeout, t", EnvVar: "APP_TIMEOUT_SECONDS"}, - }, - Action: func(ctx *Context) { - if ctx.Int("timeout") != 10 { - t.Errorf("main name not set") - } - if ctx.Int("t") != 10 { - t.Errorf("short name not set") - } - }, - } - a.Run([]string{"run"}) -} - -func TestParseMultiIntFromEnvCascade(t *testing.T) { - os.Clearenv() - os.Setenv("APP_TIMEOUT_SECONDS", "10") - a := App{ - Flags: []Flag{ - IntFlag{Name: "timeout, t", EnvVar: "COMPAT_TIMEOUT_SECONDS,APP_TIMEOUT_SECONDS"}, - }, - Action: func(ctx *Context) { - if ctx.Int("timeout") != 10 { - t.Errorf("main name not set") - } - if ctx.Int("t") != 10 { - t.Errorf("short name not set") - } - }, - } - a.Run([]string{"run"}) -} - -func TestParseMultiIntSlice(t *testing.T) { - (&App{ - Flags: []Flag{ - IntSliceFlag{Name: "serve, s", Value: &IntSlice{}}, - }, - Action: func(ctx *Context) { - if !reflect.DeepEqual(ctx.IntSlice("serve"), []int{10, 20}) { - t.Errorf("main name not set") - } - if !reflect.DeepEqual(ctx.IntSlice("s"), []int{10, 20}) { - t.Errorf("short name not set") - } - }, - }).Run([]string{"run", "-s", "10", "-s", "20"}) -} - -func TestParseMultiIntSliceFromEnv(t *testing.T) { - os.Clearenv() - os.Setenv("APP_INTERVALS", "20,30,40") - - (&App{ - Flags: []Flag{ - IntSliceFlag{Name: "intervals, i", Value: &IntSlice{}, EnvVar: "APP_INTERVALS"}, - }, - Action: func(ctx *Context) { - if !reflect.DeepEqual(ctx.IntSlice("intervals"), []int{20, 30, 40}) { - t.Errorf("main name not set from env") - } - if !reflect.DeepEqual(ctx.IntSlice("i"), []int{20, 30, 40}) { - t.Errorf("short name not set from env") - } - }, - }).Run([]string{"run"}) -} - -func TestParseMultiIntSliceFromEnvCascade(t *testing.T) { - os.Clearenv() - os.Setenv("APP_INTERVALS", "20,30,40") - - (&App{ - Flags: []Flag{ - IntSliceFlag{Name: "intervals, i", Value: &IntSlice{}, EnvVar: "COMPAT_INTERVALS,APP_INTERVALS"}, - }, - Action: func(ctx *Context) { - if !reflect.DeepEqual(ctx.IntSlice("intervals"), []int{20, 30, 40}) { - t.Errorf("main name not set from env") - } - if !reflect.DeepEqual(ctx.IntSlice("i"), []int{20, 30, 40}) { - t.Errorf("short name not set from env") - } - }, - }).Run([]string{"run"}) -} - -func TestParseMultiFloat64(t *testing.T) { - a := App{ - Flags: []Flag{ - Float64Flag{Name: "serve, s"}, - }, - Action: func(ctx *Context) { - if ctx.Float64("serve") != 10.2 { - t.Errorf("main name not set") - } - if ctx.Float64("s") != 10.2 { - t.Errorf("short name not set") - } - }, - } - a.Run([]string{"run", "-s", "10.2"}) -} - -func TestParseMultiFloat64FromEnv(t *testing.T) { - os.Clearenv() - os.Setenv("APP_TIMEOUT_SECONDS", "15.5") - a := App{ - Flags: []Flag{ - Float64Flag{Name: "timeout, t", EnvVar: "APP_TIMEOUT_SECONDS"}, - }, - Action: func(ctx *Context) { - if ctx.Float64("timeout") != 15.5 { - t.Errorf("main name not set") - } - if ctx.Float64("t") != 15.5 { - t.Errorf("short name not set") - } - }, - } - a.Run([]string{"run"}) -} - -func TestParseMultiFloat64FromEnvCascade(t *testing.T) { - os.Clearenv() - os.Setenv("APP_TIMEOUT_SECONDS", "15.5") - a := App{ - Flags: []Flag{ - Float64Flag{Name: "timeout, t", EnvVar: "COMPAT_TIMEOUT_SECONDS,APP_TIMEOUT_SECONDS"}, - }, - Action: func(ctx *Context) { - if ctx.Float64("timeout") != 15.5 { - t.Errorf("main name not set") - } - if ctx.Float64("t") != 15.5 { - t.Errorf("short name not set") - } - }, - } - a.Run([]string{"run"}) -} - -func TestParseMultiBool(t *testing.T) { - a := App{ - Flags: []Flag{ - BoolFlag{Name: "serve, s"}, - }, - Action: func(ctx *Context) { - if ctx.Bool("serve") != true { - t.Errorf("main name not set") - } - if ctx.Bool("s") != true { - t.Errorf("short name not set") - } - }, - } - a.Run([]string{"run", "--serve"}) -} - -func TestParseMultiBoolFromEnv(t *testing.T) { - os.Clearenv() - os.Setenv("APP_DEBUG", "1") - a := App{ - Flags: []Flag{ - BoolFlag{Name: "debug, d", EnvVar: "APP_DEBUG"}, - }, - Action: func(ctx *Context) { - if ctx.Bool("debug") != true { - t.Errorf("main name not set from env") - } - if ctx.Bool("d") != true { - t.Errorf("short name not set from env") - } - }, - } - a.Run([]string{"run"}) -} - -func TestParseMultiBoolFromEnvCascade(t *testing.T) { - os.Clearenv() - os.Setenv("APP_DEBUG", "1") - a := App{ - Flags: []Flag{ - BoolFlag{Name: "debug, d", EnvVar: "COMPAT_DEBUG,APP_DEBUG"}, - }, - Action: func(ctx *Context) { - if ctx.Bool("debug") != true { - t.Errorf("main name not set from env") - } - if ctx.Bool("d") != true { - t.Errorf("short name not set from env") - } - }, - } - a.Run([]string{"run"}) -} - -func TestParseMultiBoolT(t *testing.T) { - a := App{ - Flags: []Flag{ - BoolTFlag{Name: "serve, s"}, - }, - Action: func(ctx *Context) { - if ctx.BoolT("serve") != true { - t.Errorf("main name not set") - } - if ctx.BoolT("s") != true { - t.Errorf("short name not set") - } - }, - } - a.Run([]string{"run", "--serve"}) -} - -func TestParseMultiBoolTFromEnv(t *testing.T) { - os.Clearenv() - os.Setenv("APP_DEBUG", "0") - a := App{ - Flags: []Flag{ - BoolTFlag{Name: "debug, d", EnvVar: "APP_DEBUG"}, - }, - Action: func(ctx *Context) { - if ctx.BoolT("debug") != false { - t.Errorf("main name not set from env") - } - if ctx.BoolT("d") != false { - t.Errorf("short name not set from env") - } - }, - } - a.Run([]string{"run"}) -} - -func TestParseMultiBoolTFromEnvCascade(t *testing.T) { - os.Clearenv() - os.Setenv("APP_DEBUG", "0") - a := App{ - Flags: []Flag{ - BoolTFlag{Name: "debug, d", EnvVar: "COMPAT_DEBUG,APP_DEBUG"}, - }, - Action: func(ctx *Context) { - if ctx.BoolT("debug") != false { - t.Errorf("main name not set from env") - } - if ctx.BoolT("d") != false { - t.Errorf("short name not set from env") - } - }, - } - a.Run([]string{"run"}) -} - -type Parser [2]string - -func (p *Parser) Set(value string) error { - parts := strings.Split(value, ",") - if len(parts) != 2 { - return fmt.Errorf("invalid format") - } - - (*p)[0] = parts[0] - (*p)[1] = parts[1] - - return nil -} - -func (p *Parser) String() string { - return fmt.Sprintf("%s,%s", p[0], p[1]) -} - -func TestParseGeneric(t *testing.T) { - a := App{ - Flags: []Flag{ - GenericFlag{Name: "serve, s", Value: &Parser{}}, - }, - Action: func(ctx *Context) { - if !reflect.DeepEqual(ctx.Generic("serve"), &Parser{"10", "20"}) { - t.Errorf("main name not set") - } - if !reflect.DeepEqual(ctx.Generic("s"), &Parser{"10", "20"}) { - t.Errorf("short name not set") - } - }, - } - a.Run([]string{"run", "-s", "10,20"}) -} - -func TestParseGenericFromEnv(t *testing.T) { - os.Clearenv() - os.Setenv("APP_SERVE", "20,30") - a := App{ - Flags: []Flag{ - GenericFlag{Name: "serve, s", Value: &Parser{}, EnvVar: "APP_SERVE"}, - }, - Action: func(ctx *Context) { - if !reflect.DeepEqual(ctx.Generic("serve"), &Parser{"20", "30"}) { - t.Errorf("main name not set from env") - } - if !reflect.DeepEqual(ctx.Generic("s"), &Parser{"20", "30"}) { - t.Errorf("short name not set from env") - } - }, - } - a.Run([]string{"run"}) -} - -func TestParseGenericFromEnvCascade(t *testing.T) { - os.Clearenv() - os.Setenv("APP_FOO", "99,2000") - a := App{ - Flags: []Flag{ - GenericFlag{Name: "foos", Value: &Parser{}, EnvVar: "COMPAT_FOO,APP_FOO"}, - }, - Action: func(ctx *Context) { - if !reflect.DeepEqual(ctx.Generic("foos"), &Parser{"99", "2000"}) { - t.Errorf("value not set from env") - } - }, - } - a.Run([]string{"run"}) -} diff --git a/Godeps/_workspace/src/github.com/codegangsta/cli/help_test.go b/Godeps/_workspace/src/github.com/codegangsta/cli/help_test.go deleted file mode 100644 index 42d0284..0000000 --- a/Godeps/_workspace/src/github.com/codegangsta/cli/help_test.go +++ /dev/null @@ -1,36 +0,0 @@ -package cli - -import ( - "bytes" - "testing" -) - -func Test_ShowAppHelp_NoAuthor(t *testing.T) { - output := new(bytes.Buffer) - app := NewApp() - app.Writer = output - - c := NewContext(app, nil, nil) - - ShowAppHelp(c) - - if bytes.Index(output.Bytes(), []byte("AUTHOR(S):")) != -1 { - t.Errorf("expected\n%snot to include %s", output.String(), "AUTHOR(S):") - } -} - -func Test_ShowAppHelp_NoVersion(t *testing.T) { - output := new(bytes.Buffer) - app := NewApp() - app.Writer = output - - app.Version = "" - - c := NewContext(app, nil, nil) - - ShowAppHelp(c) - - if bytes.Index(output.Bytes(), []byte("VERSION:")) != -1 { - t.Errorf("expected\n%snot to include %s", output.String(), "VERSION:") - } -} diff --git a/Godeps/_workspace/src/github.com/codegangsta/cli/helpers_test.go b/Godeps/_workspace/src/github.com/codegangsta/cli/helpers_test.go deleted file mode 100644 index 3ce8e93..0000000 --- a/Godeps/_workspace/src/github.com/codegangsta/cli/helpers_test.go +++ /dev/null @@ -1,19 +0,0 @@ -package cli - -import ( - "reflect" - "testing" -) - -/* Test Helpers */ -func expect(t *testing.T, a interface{}, b interface{}) { - if a != b { - t.Errorf("Expected %v (type %v) - Got %v (type %v)", b, reflect.TypeOf(b), a, reflect.TypeOf(a)) - } -} - -func refute(t *testing.T, a interface{}, b interface{}) { - if a == b { - t.Errorf("Did not expect %v (type %v) - Got %v (type %v)", b, reflect.TypeOf(b), a, reflect.TypeOf(a)) - } -} diff --git a/Godeps/_workspace/src/github.com/fatih/structs/field_test.go b/Godeps/_workspace/src/github.com/fatih/structs/field_test.go deleted file mode 100644 index 46187d6..0000000 --- a/Godeps/_workspace/src/github.com/fatih/structs/field_test.go +++ /dev/null @@ -1,324 +0,0 @@ -package structs - -import ( - "reflect" - "testing" -) - -// A test struct that defines all cases -type Foo struct { - A string - B int `structs:"y"` - C bool `json:"c"` - d string // not exported - E *Baz - x string `xml:"x"` // not exported, with tag - Y []string - Z map[string]interface{} - *Bar // embedded -} - -type Baz struct { - A string - B int -} - -type Bar struct { - E string - F int - g []string -} - -func newStruct() *Struct { - b := &Bar{ - E: "example", - F: 2, - g: []string{"zeynep", "fatih"}, - } - - // B and x is not initialized for testing - f := &Foo{ - A: "gopher", - C: true, - d: "small", - E: nil, - Y: []string{"example"}, - Z: nil, - } - f.Bar = b - - return New(f) -} - -func TestField_Set(t *testing.T) { - s := newStruct() - - f := s.Field("A") - err := f.Set("fatih") - if err != nil { - t.Error(err) - } - - if f.Value().(string) != "fatih" { - t.Errorf("Setted value is wrong: %s want: %s", f.Value().(string), "fatih") - } - - f = s.Field("Y") - err = f.Set([]string{"override", "with", "this"}) - if err != nil { - t.Error(err) - } - - sliceLen := len(f.Value().([]string)) - if sliceLen != 3 { - t.Errorf("Setted values slice length is wrong: %d, want: %d", sliceLen, 3) - } - - f = s.Field("C") - err = f.Set(false) - if err != nil { - t.Error(err) - } - - if f.Value().(bool) { - t.Errorf("Setted value is wrong: %s want: %s", f.Value().(bool), false) - } - - // let's pass a different type - f = s.Field("A") - err = f.Set(123) // Field A is of type string, but we are going to pass an integer - if err == nil { - t.Error("Setting a field's value with a different type than the field's type should return an error") - } - - // old value should be still there :) - if f.Value().(string) != "fatih" { - t.Errorf("Setted value is wrong: %s want: %s", f.Value().(string), "fatih") - } - - // let's access an unexported field, which should give an error - f = s.Field("d") - err = f.Set("large") - if err != errNotExported { - t.Error(err) - } - - // let's set a pointer to struct - b := &Bar{ - E: "gopher", - F: 2, - } - - f = s.Field("Bar") - err = f.Set(b) - if err != nil { - t.Error(err) - } - - baz := &Baz{ - A: "helloWorld", - B: 42, - } - - f = s.Field("E") - err = f.Set(baz) - if err != nil { - t.Error(err) - } - - ba := s.Field("E").Value().(*Baz) - - if ba.A != "helloWorld" { - t.Errorf("could not set baz. Got: %s Want: helloWorld", ba.A) - } -} - -func TestField(t *testing.T) { - s := newStruct() - - defer func() { - err := recover() - if err == nil { - t.Error("Retrieveing a non existing field from the struct should panic") - } - }() - - _ = s.Field("no-field") -} - -func TestField_Kind(t *testing.T) { - s := newStruct() - - f := s.Field("A") - if f.Kind() != reflect.String { - t.Errorf("Field A has wrong kind: %s want: %s", f.Kind(), reflect.String) - } - - f = s.Field("B") - if f.Kind() != reflect.Int { - t.Errorf("Field B has wrong kind: %s want: %s", f.Kind(), reflect.Int) - } - - // unexported - f = s.Field("d") - if f.Kind() != reflect.String { - t.Errorf("Field d has wrong kind: %s want: %s", f.Kind(), reflect.String) - } -} - -func TestField_Tag(t *testing.T) { - s := newStruct() - - v := s.Field("B").Tag("json") - if v != "" { - t.Errorf("Field's tag value of a non existing tag should return empty, got: %s", v) - } - - v = s.Field("C").Tag("json") - if v != "c" { - t.Errorf("Field's tag value of the existing field C should return 'c', got: %s", v) - } - - v = s.Field("d").Tag("json") - if v != "" { - t.Errorf("Field's tag value of a non exported field should return empty, got: %s", v) - } - - v = s.Field("x").Tag("xml") - if v != "x" { - t.Errorf("Field's tag value of a non exported field with a tag should return 'x', got: %s", v) - } - - v = s.Field("A").Tag("json") - if v != "" { - t.Errorf("Field's tag value of a existing field without a tag should return empty, got: %s", v) - } -} - -func TestField_Value(t *testing.T) { - s := newStruct() - - v := s.Field("A").Value() - val, ok := v.(string) - if !ok { - t.Errorf("Field's value of a A should be string") - } - - if val != "gopher" { - t.Errorf("Field's value of a existing tag should return 'gopher', got: %s", val) - } - - defer func() { - err := recover() - if err == nil { - t.Error("Value of a non exported field from the field should panic") - } - }() - - // should panic - _ = s.Field("d").Value() -} - -func TestField_IsEmbedded(t *testing.T) { - s := newStruct() - - if !s.Field("Bar").IsEmbedded() { - t.Errorf("Fields 'Bar' field is an embedded field") - } - - if s.Field("d").IsEmbedded() { - t.Errorf("Fields 'd' field is not an embedded field") - } -} - -func TestField_IsExported(t *testing.T) { - s := newStruct() - - if !s.Field("Bar").IsExported() { - t.Errorf("Fields 'Bar' field is an exported field") - } - - if !s.Field("A").IsExported() { - t.Errorf("Fields 'A' field is an exported field") - } - - if s.Field("d").IsExported() { - t.Errorf("Fields 'd' field is not an exported field") - } -} - -func TestField_IsZero(t *testing.T) { - s := newStruct() - - if s.Field("A").IsZero() { - t.Errorf("Fields 'A' field is an initialized field") - } - - if !s.Field("B").IsZero() { - t.Errorf("Fields 'B' field is not an initialized field") - } -} - -func TestField_Name(t *testing.T) { - s := newStruct() - - if s.Field("A").Name() != "A" { - t.Errorf("Fields 'A' field should have the name 'A'") - } -} - -func TestField_Field(t *testing.T) { - s := newStruct() - - e := s.Field("Bar").Field("E") - - val, ok := e.Value().(string) - if !ok { - t.Error("The value of the field 'e' inside 'Bar' struct should be string") - } - - if val != "example" { - t.Errorf("The value of 'e' should be 'example, got: %s", val) - } - - defer func() { - err := recover() - if err == nil { - t.Error("Field of a non existing nested struct should panic") - } - }() - - _ = s.Field("Bar").Field("e") -} - -func TestField_Fields(t *testing.T) { - s := newStruct() - fields := s.Field("Bar").Fields() - - if len(fields) != 3 { - t.Errorf("We expect 3 fields in embedded struct, was: %d", len(fields)) - } -} - -func TestField_FieldOk(t *testing.T) { - s := newStruct() - - b, ok := s.FieldOk("Bar") - if !ok { - t.Error("The field 'Bar' should exists.") - } - - e, ok := b.FieldOk("E") - if !ok { - t.Error("The field 'E' should exists.") - } - - val, ok := e.Value().(string) - if !ok { - t.Error("The value of the field 'e' inside 'Bar' struct should be string") - } - - if val != "example" { - t.Errorf("The value of 'e' should be 'example, got: %s", val) - } -} diff --git a/Godeps/_workspace/src/github.com/fatih/structs/structs_example_test.go b/Godeps/_workspace/src/github.com/fatih/structs/structs_example_test.go deleted file mode 100644 index 32bb829..0000000 --- a/Godeps/_workspace/src/github.com/fatih/structs/structs_example_test.go +++ /dev/null @@ -1,351 +0,0 @@ -package structs - -import ( - "fmt" - "time" -) - -func ExampleNew() { - type Server struct { - Name string - ID int32 - Enabled bool - } - - server := &Server{ - Name: "Arslan", - ID: 123456, - Enabled: true, - } - - s := New(server) - - fmt.Printf("Name : %v\n", s.Name()) - fmt.Printf("Values : %v\n", s.Values()) - fmt.Printf("Value of ID : %v\n", s.Field("ID").Value()) - // Output: - // Name : Server - // Values : [Arslan 123456 true] - // Value of ID : 123456 - -} - -func ExampleMap() { - type Server struct { - Name string - ID int32 - Enabled bool - } - - s := &Server{ - Name: "Arslan", - ID: 123456, - Enabled: true, - } - - m := Map(s) - - fmt.Printf("%#v\n", m["Name"]) - fmt.Printf("%#v\n", m["ID"]) - fmt.Printf("%#v\n", m["Enabled"]) - // Output: - // "Arslan" - // 123456 - // true - -} - -func ExampleMap_tags() { - // Custom tags can change the map keys instead of using the fields name - type Server struct { - Name string `structs:"server_name"` - ID int32 `structs:"server_id"` - Enabled bool `structs:"enabled"` - } - - s := &Server{ - Name: "Zeynep", - ID: 789012, - } - - m := Map(s) - - // access them by the custom tags defined above - fmt.Printf("%#v\n", m["server_name"]) - fmt.Printf("%#v\n", m["server_id"]) - fmt.Printf("%#v\n", m["enabled"]) - // Output: - // "Zeynep" - // 789012 - // false - -} - -func ExampleMap_nested() { - // By default field with struct types are processed too. We can stop - // processing them via "omitnested" tag option. - type Server struct { - Name string `structs:"server_name"` - ID int32 `structs:"server_id"` - Time time.Time `structs:"time,omitnested"` // do not convert to map[string]interface{} - } - - const shortForm = "2006-Jan-02" - t, _ := time.Parse("2006-Jan-02", "2013-Feb-03") - - s := &Server{ - Name: "Zeynep", - ID: 789012, - Time: t, - } - - m := Map(s) - - // access them by the custom tags defined above - fmt.Printf("%v\n", m["server_name"]) - fmt.Printf("%v\n", m["server_id"]) - fmt.Printf("%v\n", m["time"].(time.Time)) - // Output: - // Zeynep - // 789012 - // 2013-02-03 00:00:00 +0000 UTC -} - -func ExampleMap_omitEmpty() { - // By default field with struct types of zero values are processed too. We - // can stop processing them via "omitempty" tag option. - type Server struct { - Name string `structs:",omitempty"` - ID int32 `structs:"server_id,omitempty"` - Location string - } - - // Only add location - s := &Server{ - Location: "Tokyo", - } - - m := Map(s) - - // map contains only the Location field - fmt.Printf("%v\n", m) - // Output: - // map[Location:Tokyo] -} - -func ExampleValues() { - type Server struct { - Name string - ID int32 - Enabled bool - } - - s := &Server{ - Name: "Fatih", - ID: 135790, - Enabled: false, - } - - m := Values(s) - - fmt.Printf("Values: %+v\n", m) - // Output: - // Values: [Fatih 135790 false] -} - -func ExampleValues_omitEmpty() { - // By default field with struct types of zero values are processed too. We - // can stop processing them via "omitempty" tag option. - type Server struct { - Name string `structs:",omitempty"` - ID int32 `structs:"server_id,omitempty"` - Location string - } - - // Only add location - s := &Server{ - Location: "Ankara", - } - - m := Values(s) - - // values contains only the Location field - fmt.Printf("Values: %+v\n", m) - // Output: - // Values: [Ankara] -} - -func ExampleValues_tags() { - type Location struct { - City string - Country string - } - - type Server struct { - Name string - ID int32 - Enabled bool - Location Location `structs:"-"` // values from location are not included anymore - } - - s := &Server{ - Name: "Fatih", - ID: 135790, - Enabled: false, - Location: Location{City: "Ankara", Country: "Turkey"}, - } - - // Let get all values from the struct s. Note that we don't include values - // from the Location field - m := Values(s) - - fmt.Printf("Values: %+v\n", m) - // Output: - // Values: [Fatih 135790 false] -} - -func ExampleFields() { - type Access struct { - Name string - LastAccessed time.Time - Number int - } - - s := &Access{ - Name: "Fatih", - LastAccessed: time.Now(), - Number: 1234567, - } - - fields := Fields(s) - - for i, field := range fields { - fmt.Printf("[%d] %+v\n", i, field.Name()) - } - - // Output: - // [0] Name - // [1] LastAccessed - // [2] Number -} - -func ExampleFields_nested() { - type Person struct { - Name string - Number int - } - - type Access struct { - Person Person - HasPermission bool - LastAccessed time.Time - } - - s := &Access{ - Person: Person{Name: "fatih", Number: 1234567}, - LastAccessed: time.Now(), - HasPermission: true, - } - - // Let's get all fields from the struct s. - fields := Fields(s) - - for _, field := range fields { - if field.Name() == "Person" { - fmt.Printf("Access.Person.Name: %+v\n", field.Field("Name").Value()) - } - } - - // Output: - // Access.Person.Name: fatih -} - -func ExampleField() { - type Person struct { - Name string - Number int - } - - type Access struct { - Person Person - HasPermission bool - LastAccessed time.Time - } - - access := &Access{ - Person: Person{Name: "fatih", Number: 1234567}, - LastAccessed: time.Now(), - HasPermission: true, - } - - // Create a new Struct type - s := New(access) - - // Get the Field type for "Person" field - p := s.Field("Person") - - // Get the underlying "Name field" and print the value of it - name := p.Field("Name") - - fmt.Printf("Value of Person.Access.Name: %+v\n", name.Value()) - - // Output: - // Value of Person.Access.Name: fatih - -} - -func ExampleIsZero() { - type Server struct { - Name string - ID int32 - Enabled bool - } - - // Nothing is initalized - a := &Server{} - isZeroA := IsZero(a) - - // Name and Enabled is initialized, but not ID - b := &Server{ - Name: "Golang", - Enabled: true, - } - isZeroB := IsZero(b) - - fmt.Printf("%#v\n", isZeroA) - fmt.Printf("%#v\n", isZeroB) - // Output: - // true - // false -} - -func ExampleHasZero() { - // Let's define an Access struct. Note that the "Enabled" field is not - // going to be checked because we added the "structs" tag to the field. - type Access struct { - Name string - LastAccessed time.Time - Number int - Enabled bool `structs:"-"` - } - - // Name and Number is not initialized. - a := &Access{ - LastAccessed: time.Now(), - } - hasZeroA := HasZero(a) - - // Name and Number is initialized. - b := &Access{ - Name: "Fatih", - LastAccessed: time.Now(), - Number: 12345, - } - hasZeroB := HasZero(b) - - fmt.Printf("%#v\n", hasZeroA) - fmt.Printf("%#v\n", hasZeroB) - // Output: - // true - // false -} diff --git a/Godeps/_workspace/src/github.com/fatih/structs/structs_test.go b/Godeps/_workspace/src/github.com/fatih/structs/structs_test.go deleted file mode 100644 index 14e3de7..0000000 --- a/Godeps/_workspace/src/github.com/fatih/structs/structs_test.go +++ /dev/null @@ -1,898 +0,0 @@ -package structs - -import ( - "fmt" - "reflect" - "testing" - "time" -) - -func TestMapNonStruct(t *testing.T) { - foo := []string{"foo"} - - defer func() { - err := recover() - if err == nil { - t.Error("Passing a non struct into Map should panic") - } - }() - - // this should panic. We are going to recover and and test it - _ = Map(foo) -} - -func TestStructIndexes(t *testing.T) { - type C struct { - something int - Props map[string]interface{} - } - - defer func() { - err := recover() - if err != nil { - fmt.Printf("err %+v\n", err) - t.Error("Using mixed indexes should not panic") - } - }() - - // They should not panic - _ = Map(&C{}) - _ = Fields(&C{}) - _ = Values(&C{}) - _ = IsZero(&C{}) - _ = HasZero(&C{}) -} - -func TestMap(t *testing.T) { - var T = struct { - A string - B int - C bool - }{ - A: "a-value", - B: 2, - C: true, - } - - a := Map(T) - - if typ := reflect.TypeOf(a).Kind(); typ != reflect.Map { - t.Errorf("Map should return a map type, got: %v", typ) - } - - // we have three fields - if len(a) != 3 { - t.Errorf("Map should return a map of len 3, got: %d", len(a)) - } - - inMap := func(val interface{}) bool { - for _, v := range a { - if reflect.DeepEqual(v, val) { - return true - } - } - - return false - } - - for _, val := range []interface{}{"a-value", 2, true} { - if !inMap(val) { - t.Errorf("Map should have the value %v", val) - } - } - -} - -func TestMap_Tag(t *testing.T) { - var T = struct { - A string `structs:"x"` - B int `structs:"y"` - C bool `structs:"z"` - }{ - A: "a-value", - B: 2, - C: true, - } - - a := Map(T) - - inMap := func(key interface{}) bool { - for k := range a { - if reflect.DeepEqual(k, key) { - return true - } - } - return false - } - - for _, key := range []string{"x", "y", "z"} { - if !inMap(key) { - t.Errorf("Map should have the key %v", key) - } - } - -} - -func TestMap_CustomTag(t *testing.T) { - var T = struct { - A string `json:"x"` - B int `json:"y"` - C bool `json:"z"` - D struct { - E string `json:"jkl"` - } `json:"nested"` - }{ - A: "a-value", - B: 2, - C: true, - } - T.D.E = "e-value" - - s := New(T) - s.TagName = "json" - - a := s.Map() - - inMap := func(key interface{}) bool { - for k := range a { - if reflect.DeepEqual(k, key) { - return true - } - } - return false - } - - for _, key := range []string{"x", "y", "z"} { - if !inMap(key) { - t.Errorf("Map should have the key %v", key) - } - } - - nested, ok := a["nested"].(map[string]interface{}) - if !ok { - t.Fatalf("Map should contain the D field that is tagged as 'nested'") - } - - e, ok := nested["jkl"].(string) - if !ok { - t.Fatalf("Map should contain the D.E field that is tagged as 'jkl'") - } - - if e != "e-value" { - t.Errorf("D.E field should be equal to 'e-value', got: '%v'", e) - } - -} - -func TestMap_MultipleCustomTag(t *testing.T) { - var A = struct { - X string `aa:"ax"` - }{"a_value"} - - aStruct := New(A) - aStruct.TagName = "aa" - - var B = struct { - X string `bb:"bx"` - }{"b_value"} - - bStruct := New(B) - bStruct.TagName = "bb" - - a, b := aStruct.Map(), bStruct.Map() - if !reflect.DeepEqual(a, map[string]interface{}{"ax": "a_value"}) { - t.Error("Map should have field ax with value a_value") - } - - if !reflect.DeepEqual(b, map[string]interface{}{"bx": "b_value"}) { - t.Error("Map should have field bx with value b_value") - } -} - -func TestMap_OmitEmpty(t *testing.T) { - type A struct { - Name string - Value string `structs:",omitempty"` - Time time.Time `structs:",omitempty"` - } - a := A{} - - m := Map(a) - - _, ok := m["Value"].(map[string]interface{}) - if ok { - t.Error("Map should not contain the Value field that is tagged as omitempty") - } - - _, ok = m["Time"].(map[string]interface{}) - if ok { - t.Error("Map should not contain the Time field that is tagged as omitempty") - } -} - -func TestMap_OmitNested(t *testing.T) { - type A struct { - Name string - Value string - Time time.Time `structs:",omitnested"` - } - a := A{Time: time.Now()} - - type B struct { - Desc string - A A - } - b := &B{A: a} - - m := Map(b) - - in, ok := m["A"].(map[string]interface{}) - if !ok { - t.Error("Map nested structs is not available in the map") - } - - // should not happen - if _, ok := in["Time"].(map[string]interface{}); ok { - t.Error("Map nested struct should omit recursiving parsing of Time") - } - - if _, ok := in["Time"].(time.Time); !ok { - t.Error("Map nested struct should stop parsing of Time at is current value") - } -} - -func TestMap_Nested(t *testing.T) { - type A struct { - Name string - } - a := &A{Name: "example"} - - type B struct { - A *A - } - b := &B{A: a} - - m := Map(b) - - if typ := reflect.TypeOf(m).Kind(); typ != reflect.Map { - t.Errorf("Map should return a map type, got: %v", typ) - } - - in, ok := m["A"].(map[string]interface{}) - if !ok { - t.Error("Map nested structs is not available in the map") - } - - if name := in["Name"].(string); name != "example" { - t.Errorf("Map nested struct's name field should give example, got: %s", name) - } -} - -func TestMap_Anonymous(t *testing.T) { - type A struct { - Name string - } - a := &A{Name: "example"} - - type B struct { - *A - } - b := &B{} - b.A = a - - m := Map(b) - - if typ := reflect.TypeOf(m).Kind(); typ != reflect.Map { - t.Errorf("Map should return a map type, got: %v", typ) - } - - in, ok := m["A"].(map[string]interface{}) - if !ok { - t.Error("Embedded structs is not available in the map") - } - - if name := in["Name"].(string); name != "example" { - t.Errorf("Embedded A struct's Name field should give example, got: %s", name) - } -} - -func TestStruct(t *testing.T) { - var T = struct{}{} - - if !IsStruct(T) { - t.Errorf("T should be a struct, got: %T", T) - } - - if !IsStruct(&T) { - t.Errorf("T should be a struct, got: %T", T) - } - -} - -func TestValues(t *testing.T) { - var T = struct { - A string - B int - C bool - }{ - A: "a-value", - B: 2, - C: true, - } - - s := Values(T) - - if typ := reflect.TypeOf(s).Kind(); typ != reflect.Slice { - t.Errorf("Values should return a slice type, got: %v", typ) - } - - inSlice := func(val interface{}) bool { - for _, v := range s { - if reflect.DeepEqual(v, val) { - return true - } - } - return false - } - - for _, val := range []interface{}{"a-value", 2, true} { - if !inSlice(val) { - t.Errorf("Values should have the value %v", val) - } - } -} - -func TestValues_OmitEmpty(t *testing.T) { - type A struct { - Name string - Value int `structs:",omitempty"` - } - - a := A{Name: "example"} - s := Values(a) - - if len(s) != 1 { - t.Errorf("Values of omitted empty fields should be not counted") - } - - if s[0].(string) != "example" { - t.Errorf("Values of omitted empty fields should left the value example") - } -} - -func TestValues_OmitNested(t *testing.T) { - type A struct { - Name string - Value int - } - - a := A{ - Name: "example", - Value: 123, - } - - type B struct { - A A `structs:",omitnested"` - C int - } - b := &B{A: a, C: 123} - - s := Values(b) - - if len(s) != 2 { - t.Errorf("Values of omitted nested struct should be not counted") - } - - inSlice := func(val interface{}) bool { - for _, v := range s { - if reflect.DeepEqual(v, val) { - return true - } - } - return false - } - - for _, val := range []interface{}{123, a} { - if !inSlice(val) { - t.Errorf("Values should have the value %v", val) - } - } -} - -func TestValues_Nested(t *testing.T) { - type A struct { - Name string - } - a := A{Name: "example"} - - type B struct { - A A - C int - } - b := &B{A: a, C: 123} - - s := Values(b) - - inSlice := func(val interface{}) bool { - for _, v := range s { - if reflect.DeepEqual(v, val) { - return true - } - } - return false - } - - for _, val := range []interface{}{"example", 123} { - if !inSlice(val) { - t.Errorf("Values should have the value %v", val) - } - } -} - -func TestValues_Anonymous(t *testing.T) { - type A struct { - Name string - } - a := A{Name: "example"} - - type B struct { - A - C int - } - b := &B{C: 123} - b.A = a - - s := Values(b) - - inSlice := func(val interface{}) bool { - for _, v := range s { - if reflect.DeepEqual(v, val) { - return true - } - } - return false - } - - for _, val := range []interface{}{"example", 123} { - if !inSlice(val) { - t.Errorf("Values should have the value %v", val) - } - } -} - -func TestNames(t *testing.T) { - var T = struct { - A string - B int - C bool - }{ - A: "a-value", - B: 2, - C: true, - } - - s := Names(T) - - if len(s) != 3 { - t.Errorf("Names should return a slice of len 3, got: %d", len(s)) - } - - inSlice := func(val string) bool { - for _, v := range s { - if reflect.DeepEqual(v, val) { - return true - } - } - return false - } - - for _, val := range []string{"A", "B", "C"} { - if !inSlice(val) { - t.Errorf("Names should have the value %v", val) - } - } -} - -func TestFields(t *testing.T) { - var T = struct { - A string - B int - C bool - }{ - A: "a-value", - B: 2, - C: true, - } - - s := Fields(T) - - if len(s) != 3 { - t.Errorf("Fields should return a slice of len 3, got: %d", len(s)) - } - - inSlice := func(val string) bool { - for _, v := range s { - if reflect.DeepEqual(v.Name(), val) { - return true - } - } - return false - } - - for _, val := range []string{"A", "B", "C"} { - if !inSlice(val) { - t.Errorf("Fields should have the value %v", val) - } - } -} - -func TestFields_OmitNested(t *testing.T) { - type A struct { - Name string - Enabled bool - } - a := A{Name: "example"} - - type B struct { - A A - C int - Value string `structs:"-"` - Number int - } - b := &B{A: a, C: 123} - - s := Fields(b) - - if len(s) != 3 { - t.Errorf("Fields should omit nested struct. Expecting 2 got: %d", len(s)) - } - - inSlice := func(val interface{}) bool { - for _, v := range s { - if reflect.DeepEqual(v.Name(), val) { - return true - } - } - return false - } - - for _, val := range []interface{}{"A", "C"} { - if !inSlice(val) { - t.Errorf("Fields should have the value %v", val) - } - } -} - -func TestFields_Anonymous(t *testing.T) { - type A struct { - Name string - } - a := A{Name: "example"} - - type B struct { - A - C int - } - b := &B{C: 123} - b.A = a - - s := Fields(b) - - inSlice := func(val interface{}) bool { - for _, v := range s { - if reflect.DeepEqual(v.Name(), val) { - return true - } - } - return false - } - - for _, val := range []interface{}{"A", "C"} { - if !inSlice(val) { - t.Errorf("Fields should have the value %v", val) - } - } -} - -func TestIsZero(t *testing.T) { - var T = struct { - A string - B int - C bool `structs:"-"` - D []string - }{} - - ok := IsZero(T) - if !ok { - t.Error("IsZero should return true because none of the fields are initialized.") - } - - var X = struct { - A string - F *bool - }{ - A: "a-value", - } - - ok = IsZero(X) - if ok { - t.Error("IsZero should return false because A is initialized") - } - - var Y = struct { - A string - B int - }{ - A: "a-value", - B: 123, - } - - ok = IsZero(Y) - if ok { - t.Error("IsZero should return false because A and B is initialized") - } -} - -func TestIsZero_OmitNested(t *testing.T) { - type A struct { - Name string - D string - } - a := A{Name: "example"} - - type B struct { - A A `structs:",omitnested"` - C int - } - b := &B{A: a, C: 123} - - ok := IsZero(b) - if ok { - t.Error("IsZero should return false because A, B and C are initialized") - } - - aZero := A{} - bZero := &B{A: aZero} - - ok = IsZero(bZero) - if !ok { - t.Error("IsZero should return true because neither A nor B is initialized") - } - -} - -func TestIsZero_Nested(t *testing.T) { - type A struct { - Name string - D string - } - a := A{Name: "example"} - - type B struct { - A A - C int - } - b := &B{A: a, C: 123} - - ok := IsZero(b) - if ok { - t.Error("IsZero should return false because A, B and C are initialized") - } - - aZero := A{} - bZero := &B{A: aZero} - - ok = IsZero(bZero) - if !ok { - t.Error("IsZero should return true because neither A nor B is initialized") - } - -} - -func TestIsZero_Anonymous(t *testing.T) { - type A struct { - Name string - D string - } - a := A{Name: "example"} - - type B struct { - A - C int - } - b := &B{C: 123} - b.A = a - - ok := IsZero(b) - if ok { - t.Error("IsZero should return false because A, B and C are initialized") - } - - aZero := A{} - bZero := &B{} - bZero.A = aZero - - ok = IsZero(bZero) - if !ok { - t.Error("IsZero should return true because neither A nor B is initialized") - } -} - -func TestHasZero(t *testing.T) { - var T = struct { - A string - B int - C bool `structs:"-"` - D []string - }{ - A: "a-value", - B: 2, - } - - ok := HasZero(T) - if !ok { - t.Error("HasZero should return true because A and B are initialized.") - } - - var X = struct { - A string - F *bool - }{ - A: "a-value", - } - - ok = HasZero(X) - if !ok { - t.Error("HasZero should return true because A is initialized") - } - - var Y = struct { - A string - B int - }{ - A: "a-value", - B: 123, - } - - ok = HasZero(Y) - if ok { - t.Error("HasZero should return false because A and B is initialized") - } -} - -func TestHasZero_OmitNested(t *testing.T) { - type A struct { - Name string - D string - } - a := A{Name: "example"} - - type B struct { - A A `structs:",omitnested"` - C int - } - b := &B{A: a, C: 123} - - // Because the Field A inside B is omitted HasZero should return false - // because it will stop iterating deeper andnot going to lookup for D - ok := HasZero(b) - if ok { - t.Error("HasZero should return false because A and C are initialized") - } -} - -func TestHasZero_Nested(t *testing.T) { - type A struct { - Name string - D string - } - a := A{Name: "example"} - - type B struct { - A A - C int - } - b := &B{A: a, C: 123} - - ok := HasZero(b) - if !ok { - t.Error("HasZero should return true because D is not initialized") - } -} - -func TestHasZero_Anonymous(t *testing.T) { - type A struct { - Name string - D string - } - a := A{Name: "example"} - - type B struct { - A - C int - } - b := &B{C: 123} - b.A = a - - ok := HasZero(b) - if !ok { - t.Error("HasZero should return false because D is not initialized") - } -} - -func TestName(t *testing.T) { - type Foo struct { - A string - B bool - } - f := &Foo{} - - n := Name(f) - if n != "Foo" { - t.Errorf("Name should return Foo, got: %s", n) - } - - unnamed := struct{ Name string }{Name: "Cihangir"} - m := Name(unnamed) - if m != "" { - t.Errorf("Name should return empty string for unnamed struct, got: %s", n) - } - - defer func() { - err := recover() - if err == nil { - t.Error("Name should panic if a non struct is passed") - } - }() - - Name([]string{}) -} - -func TestNestedNilPointer(t *testing.T) { - type Collar struct { - Engraving string - } - - type Dog struct { - Name string - Collar *Collar - } - - type Person struct { - Name string - Dog *Dog - } - - person := &Person{ - Name: "John", - } - - personWithDog := &Person{ - Name: "Ron", - Dog: &Dog{ - Name: "Rover", - }, - } - - personWithDogWithCollar := &Person{ - Name: "Kon", - Dog: &Dog{ - Name: "Ruffles", - Collar: &Collar{ - Engraving: "If lost, call Kon", - }, - }, - } - - defer func() { - err := recover() - if err != nil { - fmt.Printf("err %+v\n", err) - t.Error("Internal nil pointer should not panic") - } - }() - - _ = Map(person) // Panics - _ = Map(personWithDog) // Panics - _ = Map(personWithDogWithCollar) // Doesn't panic -} diff --git a/Godeps/_workspace/src/github.com/fatih/structs/tags_test.go b/Godeps/_workspace/src/github.com/fatih/structs/tags_test.go deleted file mode 100644 index 5d12724..0000000 --- a/Godeps/_workspace/src/github.com/fatih/structs/tags_test.go +++ /dev/null @@ -1,46 +0,0 @@ -package structs - -import "testing" - -func TestParseTag_Name(t *testing.T) { - tags := []struct { - tag string - has bool - }{ - {"", false}, - {"name", true}, - {"name,opt", true}, - {"name , opt, opt2", false}, // has a single whitespace - {", opt, opt2", false}, - } - - for _, tag := range tags { - name, _ := parseTag(tag.tag) - - if (name != "name") && tag.has { - t.Errorf("Parse tag should return name: %#v", tag) - } - } -} - -func TestParseTag_Opts(t *testing.T) { - tags := []struct { - opts string - has bool - }{ - {"name", false}, - {"name,opt", true}, - {"name , opt, opt2", false}, // has a single whitespace - {",opt, opt2", true}, - {", opt3, opt4", false}, - } - - // search for "opt" - for _, tag := range tags { - _, opts := parseTag(tag.opts) - - if opts.Has("opt") != tag.has { - t.Errorf("Tag opts should have opt: %#v", tag) - } - } -} diff --git a/Godeps/_workspace/src/github.com/gorilla/websocket/bench_test.go b/Godeps/_workspace/src/github.com/gorilla/websocket/bench_test.go deleted file mode 100644 index f66fc36..0000000 --- a/Godeps/_workspace/src/github.com/gorilla/websocket/bench_test.go +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2014 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package websocket - -import ( - "testing" -) - -func BenchmarkMaskBytes(b *testing.B) { - var key [4]byte - data := make([]byte, 1024) - pos := 0 - for i := 0; i < b.N; i++ { - pos = maskBytes(key, pos, data) - } - b.SetBytes(int64(len(data))) -} diff --git a/Godeps/_workspace/src/github.com/gorilla/websocket/client_server_test.go b/Godeps/_workspace/src/github.com/gorilla/websocket/client_server_test.go deleted file mode 100644 index 749ef20..0000000 --- a/Godeps/_workspace/src/github.com/gorilla/websocket/client_server_test.go +++ /dev/null @@ -1,323 +0,0 @@ -// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package websocket - -import ( - "crypto/tls" - "crypto/x509" - "io" - "io/ioutil" - "net" - "net/http" - "net/http/httptest" - "net/url" - "reflect" - "strings" - "testing" - "time" -) - -var cstUpgrader = Upgrader{ - Subprotocols: []string{"p0", "p1"}, - ReadBufferSize: 1024, - WriteBufferSize: 1024, - Error: func(w http.ResponseWriter, r *http.Request, status int, reason error) { - http.Error(w, reason.Error(), status) - }, -} - -var cstDialer = Dialer{ - Subprotocols: []string{"p1", "p2"}, - ReadBufferSize: 1024, - WriteBufferSize: 1024, -} - -type cstHandler struct{ *testing.T } - -type cstServer struct { - *httptest.Server - URL string -} - -func newServer(t *testing.T) *cstServer { - var s cstServer - s.Server = httptest.NewServer(cstHandler{t}) - s.URL = makeWsProto(s.Server.URL) - return &s -} - -func newTLSServer(t *testing.T) *cstServer { - var s cstServer - s.Server = httptest.NewTLSServer(cstHandler{t}) - s.URL = makeWsProto(s.Server.URL) - return &s -} - -func (t cstHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { - if r.Method != "GET" { - t.Logf("method %s not allowed", r.Method) - http.Error(w, "method not allowed", 405) - return - } - subprotos := Subprotocols(r) - if !reflect.DeepEqual(subprotos, cstDialer.Subprotocols) { - t.Logf("subprotols=%v, want %v", subprotos, cstDialer.Subprotocols) - http.Error(w, "bad protocol", 400) - return - } - ws, err := cstUpgrader.Upgrade(w, r, http.Header{"Set-Cookie": {"sessionID=1234"}}) - if err != nil { - t.Logf("Upgrade: %v", err) - return - } - defer ws.Close() - - if ws.Subprotocol() != "p1" { - t.Logf("Subprotocol() = %s, want p1", ws.Subprotocol()) - ws.Close() - return - } - op, rd, err := ws.NextReader() - if err != nil { - t.Logf("NextReader: %v", err) - return - } - wr, err := ws.NextWriter(op) - if err != nil { - t.Logf("NextWriter: %v", err) - return - } - if _, err = io.Copy(wr, rd); err != nil { - t.Logf("NextWriter: %v", err) - return - } - if err := wr.Close(); err != nil { - t.Logf("Close: %v", err) - return - } -} - -func makeWsProto(s string) string { - return "ws" + strings.TrimPrefix(s, "http") -} - -func sendRecv(t *testing.T, ws *Conn) { - const message = "Hello World!" - if err := ws.SetWriteDeadline(time.Now().Add(time.Second)); err != nil { - t.Fatalf("SetWriteDeadline: %v", err) - } - if err := ws.WriteMessage(TextMessage, []byte(message)); err != nil { - t.Fatalf("WriteMessage: %v", err) - } - if err := ws.SetReadDeadline(time.Now().Add(time.Second)); err != nil { - t.Fatalf("SetReadDeadline: %v", err) - } - _, p, err := ws.ReadMessage() - if err != nil { - t.Fatalf("ReadMessage: %v", err) - } - if string(p) != message { - t.Fatalf("message=%s, want %s", p, message) - } -} - -func TestDial(t *testing.T) { - s := newServer(t) - defer s.Close() - - ws, _, err := cstDialer.Dial(s.URL, nil) - if err != nil { - t.Fatalf("Dial: %v", err) - } - defer ws.Close() - sendRecv(t, ws) -} - -func TestDialTLS(t *testing.T) { - s := newTLSServer(t) - defer s.Close() - - certs := x509.NewCertPool() - for _, c := range s.TLS.Certificates { - roots, err := x509.ParseCertificates(c.Certificate[len(c.Certificate)-1]) - if err != nil { - t.Fatalf("error parsing server's root cert: %v", err) - } - for _, root := range roots { - certs.AddCert(root) - } - } - - u, _ := url.Parse(s.URL) - d := cstDialer - d.NetDial = func(network, addr string) (net.Conn, error) { return net.Dial(network, u.Host) } - d.TLSClientConfig = &tls.Config{RootCAs: certs} - ws, _, err := d.Dial("wss://example.com/", nil) - if err != nil { - t.Fatalf("Dial: %v", err) - } - defer ws.Close() - sendRecv(t, ws) -} - -func xTestDialTLSBadCert(t *testing.T) { - // This test is deactivated because of noisy logging from the net/http package. - s := newTLSServer(t) - defer s.Close() - - ws, _, err := cstDialer.Dial(s.URL, nil) - if err == nil { - ws.Close() - t.Fatalf("Dial: nil") - } -} - -func xTestDialTLSNoVerify(t *testing.T) { - s := newTLSServer(t) - defer s.Close() - - d := cstDialer - d.TLSClientConfig = &tls.Config{InsecureSkipVerify: true} - ws, _, err := d.Dial(s.URL, nil) - if err != nil { - t.Fatalf("Dial: %v", err) - } - defer ws.Close() - sendRecv(t, ws) -} - -func TestDialTimeout(t *testing.T) { - s := newServer(t) - defer s.Close() - - d := cstDialer - d.HandshakeTimeout = -1 - ws, _, err := d.Dial(s.URL, nil) - if err == nil { - ws.Close() - t.Fatalf("Dial: nil") - } -} - -func TestDialBadScheme(t *testing.T) { - s := newServer(t) - defer s.Close() - - ws, _, err := cstDialer.Dial(s.Server.URL, nil) - if err == nil { - ws.Close() - t.Fatalf("Dial: nil") - } -} - -func TestDialBadOrigin(t *testing.T) { - s := newServer(t) - defer s.Close() - - ws, resp, err := cstDialer.Dial(s.URL, http.Header{"Origin": {"bad"}}) - if err == nil { - ws.Close() - t.Fatalf("Dial: nil") - } - if resp == nil { - t.Fatalf("resp=nil, err=%v", err) - } - if resp.StatusCode != http.StatusForbidden { - t.Fatalf("status=%d, want %d", resp.StatusCode, http.StatusForbidden) - } -} - -func TestHandshake(t *testing.T) { - s := newServer(t) - defer s.Close() - - ws, resp, err := cstDialer.Dial(s.URL, http.Header{"Origin": {s.URL}}) - if err != nil { - t.Fatalf("Dial: %v", err) - } - defer ws.Close() - - var sessionID string - for _, c := range resp.Cookies() { - if c.Name == "sessionID" { - sessionID = c.Value - } - } - if sessionID != "1234" { - t.Error("Set-Cookie not received from the server.") - } - - if ws.Subprotocol() != "p1" { - t.Errorf("ws.Subprotocol() = %s, want p1", ws.Subprotocol()) - } - sendRecv(t, ws) -} - -func TestRespOnBadHandshake(t *testing.T) { - const expectedStatus = http.StatusGone - const expectedBody = "This is the response body." - - s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - w.WriteHeader(expectedStatus) - io.WriteString(w, expectedBody) - })) - defer s.Close() - - ws, resp, err := cstDialer.Dial(makeWsProto(s.URL), nil) - if err == nil { - ws.Close() - t.Fatalf("Dial: nil") - } - - if resp == nil { - t.Fatalf("resp=nil, err=%v", err) - } - - if resp.StatusCode != expectedStatus { - t.Errorf("resp.StatusCode=%d, want %d", resp.StatusCode, expectedStatus) - } - - p, err := ioutil.ReadAll(resp.Body) - if err != nil { - t.Fatalf("ReadFull(resp.Body) returned error %v", err) - } - - if string(p) != expectedBody { - t.Errorf("resp.Body=%s, want %s", p, expectedBody) - } -} - -// If the Host header is specified in `Dial()`, the server must receive it as -// the `Host:` header. -func TestHostHeader(t *testing.T) { - s := newServer(t) - defer s.Close() - - specifiedHost := make(chan string, 1) - origHandler := s.Server.Config.Handler - - // Capture the request Host header. - s.Server.Config.Handler = http.HandlerFunc( - func(w http.ResponseWriter, r *http.Request) { - specifiedHost <- r.Host - origHandler.ServeHTTP(w, r) - }) - - ws, resp, err := cstDialer.Dial(s.URL, http.Header{"Host": {"testhost"}}) - if err != nil { - t.Fatalf("Dial: %v", err) - } - defer ws.Close() - - if resp.StatusCode != http.StatusSwitchingProtocols { - t.Fatalf("resp.StatusCode = %v, want http.StatusSwitchingProtocols", resp.StatusCode) - } - - if gotHost := <-specifiedHost; gotHost != "testhost" { - t.Fatalf("gotHost = %q, want \"testhost\"", gotHost) - } - - sendRecv(t, ws) -} diff --git a/Godeps/_workspace/src/github.com/gorilla/websocket/client_test.go b/Godeps/_workspace/src/github.com/gorilla/websocket/client_test.go deleted file mode 100644 index 07a9cb4..0000000 --- a/Godeps/_workspace/src/github.com/gorilla/websocket/client_test.go +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2014 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package websocket - -import ( - "net/url" - "reflect" - "testing" -) - -var parseURLTests = []struct { - s string - u *url.URL -}{ - {"ws://example.com/", &url.URL{Scheme: "ws", Host: "example.com", Opaque: "/"}}, - {"ws://example.com", &url.URL{Scheme: "ws", Host: "example.com", Opaque: "/"}}, - {"ws://example.com:7777/", &url.URL{Scheme: "ws", Host: "example.com:7777", Opaque: "/"}}, - {"wss://example.com/", &url.URL{Scheme: "wss", Host: "example.com", Opaque: "/"}}, - {"wss://example.com/a/b", &url.URL{Scheme: "wss", Host: "example.com", Opaque: "/a/b"}}, - {"ss://example.com/a/b", nil}, - {"ws://webmaster@example.com/", nil}, -} - -func TestParseURL(t *testing.T) { - for _, tt := range parseURLTests { - u, err := parseURL(tt.s) - if tt.u != nil && err != nil { - t.Errorf("parseURL(%q) returned error %v", tt.s, err) - continue - } - if tt.u == nil && err == nil { - t.Errorf("parseURL(%q) did not return error", tt.s) - continue - } - if !reflect.DeepEqual(u, tt.u) { - t.Errorf("parseURL(%q) returned %v, want %v", tt.s, u, tt.u) - continue - } - } -} - -var hostPortNoPortTests = []struct { - u *url.URL - hostPort, hostNoPort string -}{ - {&url.URL{Scheme: "ws", Host: "example.com"}, "example.com:80", "example.com"}, - {&url.URL{Scheme: "wss", Host: "example.com"}, "example.com:443", "example.com"}, - {&url.URL{Scheme: "ws", Host: "example.com:7777"}, "example.com:7777", "example.com"}, - {&url.URL{Scheme: "wss", Host: "example.com:7777"}, "example.com:7777", "example.com"}, -} - -func TestHostPortNoPort(t *testing.T) { - for _, tt := range hostPortNoPortTests { - hostPort, hostNoPort := hostPortNoPort(tt.u) - if hostPort != tt.hostPort { - t.Errorf("hostPortNoPort(%v) returned hostPort %q, want %q", tt.u, hostPort, tt.hostPort) - } - if hostNoPort != tt.hostNoPort { - t.Errorf("hostPortNoPort(%v) returned hostNoPort %q, want %q", tt.u, hostNoPort, tt.hostNoPort) - } - } -} diff --git a/Godeps/_workspace/src/github.com/gorilla/websocket/conn_test.go b/Godeps/_workspace/src/github.com/gorilla/websocket/conn_test.go deleted file mode 100644 index 929be0e..0000000 --- a/Godeps/_workspace/src/github.com/gorilla/websocket/conn_test.go +++ /dev/null @@ -1,241 +0,0 @@ -// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package websocket - -import ( - "bytes" - "fmt" - "io" - "io/ioutil" - "net" - "reflect" - "testing" - "testing/iotest" - "time" -) - -var _ net.Error = errWriteTimeout - -type fakeNetConn struct { - io.Reader - io.Writer -} - -func (c fakeNetConn) Close() error { return nil } -func (c fakeNetConn) LocalAddr() net.Addr { return nil } -func (c fakeNetConn) RemoteAddr() net.Addr { return nil } -func (c fakeNetConn) SetDeadline(t time.Time) error { return nil } -func (c fakeNetConn) SetReadDeadline(t time.Time) error { return nil } -func (c fakeNetConn) SetWriteDeadline(t time.Time) error { return nil } - -func TestFraming(t *testing.T) { - frameSizes := []int{0, 1, 2, 124, 125, 126, 127, 128, 129, 65534, 65535, 65536, 65537} - var readChunkers = []struct { - name string - f func(io.Reader) io.Reader - }{ - {"half", iotest.HalfReader}, - {"one", iotest.OneByteReader}, - {"asis", func(r io.Reader) io.Reader { return r }}, - } - - writeBuf := make([]byte, 65537) - for i := range writeBuf { - writeBuf[i] = byte(i) - } - - for _, isServer := range []bool{true, false} { - for _, chunker := range readChunkers { - - var connBuf bytes.Buffer - wc := newConn(fakeNetConn{Reader: nil, Writer: &connBuf}, isServer, 1024, 1024) - rc := newConn(fakeNetConn{Reader: chunker.f(&connBuf), Writer: nil}, !isServer, 1024, 1024) - - for _, n := range frameSizes { - for _, iocopy := range []bool{true, false} { - name := fmt.Sprintf("s:%v, r:%s, n:%d c:%v", isServer, chunker.name, n, iocopy) - - w, err := wc.NextWriter(TextMessage) - if err != nil { - t.Errorf("%s: wc.NextWriter() returned %v", name, err) - continue - } - var nn int - if iocopy { - var n64 int64 - n64, err = io.Copy(w, bytes.NewReader(writeBuf[:n])) - nn = int(n64) - } else { - nn, err = w.Write(writeBuf[:n]) - } - if err != nil || nn != n { - t.Errorf("%s: w.Write(writeBuf[:n]) returned %d, %v", name, nn, err) - continue - } - err = w.Close() - if err != nil { - t.Errorf("%s: w.Close() returned %v", name, err) - continue - } - - opCode, r, err := rc.NextReader() - if err != nil || opCode != TextMessage { - t.Errorf("%s: NextReader() returned %d, r, %v", name, opCode, err) - continue - } - rbuf, err := ioutil.ReadAll(r) - if err != nil { - t.Errorf("%s: ReadFull() returned rbuf, %v", name, err) - continue - } - - if len(rbuf) != n { - t.Errorf("%s: len(rbuf) is %d, want %d", name, len(rbuf), n) - continue - } - - for i, b := range rbuf { - if byte(i) != b { - t.Errorf("%s: bad byte at offset %d", name, i) - break - } - } - } - } - } - } -} - -func TestControl(t *testing.T) { - const message = "this is a ping/pong messsage" - for _, isServer := range []bool{true, false} { - for _, isWriteControl := range []bool{true, false} { - name := fmt.Sprintf("s:%v, wc:%v", isServer, isWriteControl) - var connBuf bytes.Buffer - wc := newConn(fakeNetConn{Reader: nil, Writer: &connBuf}, isServer, 1024, 1024) - rc := newConn(fakeNetConn{Reader: &connBuf, Writer: nil}, !isServer, 1024, 1024) - if isWriteControl { - wc.WriteControl(PongMessage, []byte(message), time.Now().Add(time.Second)) - } else { - w, err := wc.NextWriter(PongMessage) - if err != nil { - t.Errorf("%s: wc.NextWriter() returned %v", name, err) - continue - } - if _, err := w.Write([]byte(message)); err != nil { - t.Errorf("%s: w.Write() returned %v", name, err) - continue - } - if err := w.Close(); err != nil { - t.Errorf("%s: w.Close() returned %v", name, err) - continue - } - var actualMessage string - rc.SetPongHandler(func(s string) error { actualMessage = s; return nil }) - rc.NextReader() - if actualMessage != message { - t.Errorf("%s: pong=%q, want %q", name, actualMessage, message) - continue - } - } - } - } -} - -func TestCloseBeforeFinalFrame(t *testing.T) { - const bufSize = 512 - - expectedErr := &CloseError{Code: CloseNormalClosure, Text: "hello"} - - var b1, b2 bytes.Buffer - wc := newConn(fakeNetConn{Reader: nil, Writer: &b1}, false, 1024, bufSize) - rc := newConn(fakeNetConn{Reader: &b1, Writer: &b2}, true, 1024, 1024) - - w, _ := wc.NextWriter(BinaryMessage) - w.Write(make([]byte, bufSize+bufSize/2)) - wc.WriteControl(CloseMessage, FormatCloseMessage(expectedErr.Code, expectedErr.Text), time.Now().Add(10*time.Second)) - w.Close() - - op, r, err := rc.NextReader() - if op != BinaryMessage || err != nil { - t.Fatalf("NextReader() returned %d, %v", op, err) - } - _, err = io.Copy(ioutil.Discard, r) - if !reflect.DeepEqual(err, expectedErr) { - t.Fatalf("io.Copy() returned %v, want %v", err, expectedErr) - } - _, _, err = rc.NextReader() - if !reflect.DeepEqual(err, expectedErr) { - t.Fatalf("NextReader() returned %v, want %v", err, expectedErr) - } -} - -func TestEOFBeforeFinalFrame(t *testing.T) { - const bufSize = 512 - - var b1, b2 bytes.Buffer - wc := newConn(fakeNetConn{Reader: nil, Writer: &b1}, false, 1024, bufSize) - rc := newConn(fakeNetConn{Reader: &b1, Writer: &b2}, true, 1024, 1024) - - w, _ := wc.NextWriter(BinaryMessage) - w.Write(make([]byte, bufSize+bufSize/2)) - - op, r, err := rc.NextReader() - if op != BinaryMessage || err != nil { - t.Fatalf("NextReader() returned %d, %v", op, err) - } - _, err = io.Copy(ioutil.Discard, r) - if err != errUnexpectedEOF { - t.Fatalf("io.Copy() returned %v, want %v", err, errUnexpectedEOF) - } - _, _, err = rc.NextReader() - if err != errUnexpectedEOF { - t.Fatalf("NextReader() returned %v, want %v", err, errUnexpectedEOF) - } -} - -func TestReadLimit(t *testing.T) { - - const readLimit = 512 - message := make([]byte, readLimit+1) - - var b1, b2 bytes.Buffer - wc := newConn(fakeNetConn{Reader: nil, Writer: &b1}, false, 1024, readLimit-2) - rc := newConn(fakeNetConn{Reader: &b1, Writer: &b2}, true, 1024, 1024) - rc.SetReadLimit(readLimit) - - // Send message at the limit with interleaved pong. - w, _ := wc.NextWriter(BinaryMessage) - w.Write(message[:readLimit-1]) - wc.WriteControl(PongMessage, []byte("this is a pong"), time.Now().Add(10*time.Second)) - w.Write(message[:1]) - w.Close() - - // Send message larger than the limit. - wc.WriteMessage(BinaryMessage, message[:readLimit+1]) - - op, _, err := rc.NextReader() - if op != BinaryMessage || err != nil { - t.Fatalf("1: NextReader() returned %d, %v", op, err) - } - op, r, err := rc.NextReader() - if op != BinaryMessage || err != nil { - t.Fatalf("2: NextReader() returned %d, %v", op, err) - } - _, err = io.Copy(ioutil.Discard, r) - if err != ErrReadLimit { - t.Fatalf("io.Copy() returned %v", err) - } -} - -func TestUnderlyingConn(t *testing.T) { - var b1, b2 bytes.Buffer - fc := fakeNetConn{Reader: &b1, Writer: &b2} - c := newConn(fc, true, 1024, 1024) - ul := c.UnderlyingConn() - if ul != fc { - t.Fatalf("Underlying conn is not what it should be.") - } -} diff --git a/Godeps/_workspace/src/github.com/gorilla/websocket/json_test.go b/Godeps/_workspace/src/github.com/gorilla/websocket/json_test.go deleted file mode 100644 index 61100e4..0000000 --- a/Godeps/_workspace/src/github.com/gorilla/websocket/json_test.go +++ /dev/null @@ -1,119 +0,0 @@ -// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package websocket - -import ( - "bytes" - "encoding/json" - "io" - "reflect" - "testing" -) - -func TestJSON(t *testing.T) { - var buf bytes.Buffer - c := fakeNetConn{&buf, &buf} - wc := newConn(c, true, 1024, 1024) - rc := newConn(c, false, 1024, 1024) - - var actual, expect struct { - A int - B string - } - expect.A = 1 - expect.B = "hello" - - if err := wc.WriteJSON(&expect); err != nil { - t.Fatal("write", err) - } - - if err := rc.ReadJSON(&actual); err != nil { - t.Fatal("read", err) - } - - if !reflect.DeepEqual(&actual, &expect) { - t.Fatal("equal", actual, expect) - } -} - -func TestPartialJSONRead(t *testing.T) { - var buf bytes.Buffer - c := fakeNetConn{&buf, &buf} - wc := newConn(c, true, 1024, 1024) - rc := newConn(c, false, 1024, 1024) - - var v struct { - A int - B string - } - v.A = 1 - v.B = "hello" - - messageCount := 0 - - // Partial JSON values. - - data, err := json.Marshal(v) - if err != nil { - t.Fatal(err) - } - for i := len(data) - 1; i >= 0; i-- { - if err := wc.WriteMessage(TextMessage, data[:i]); err != nil { - t.Fatal(err) - } - messageCount++ - } - - // Whitespace. - - if err := wc.WriteMessage(TextMessage, []byte(" ")); err != nil { - t.Fatal(err) - } - messageCount++ - - // Close. - - if err := wc.WriteMessage(CloseMessage, FormatCloseMessage(CloseNormalClosure, "")); err != nil { - t.Fatal(err) - } - - for i := 0; i < messageCount; i++ { - err := rc.ReadJSON(&v) - if err != io.ErrUnexpectedEOF { - t.Error("read", i, err) - } - } - - err = rc.ReadJSON(&v) - if _, ok := err.(*CloseError); !ok { - t.Error("final", err) - } -} - -func TestDeprecatedJSON(t *testing.T) { - var buf bytes.Buffer - c := fakeNetConn{&buf, &buf} - wc := newConn(c, true, 1024, 1024) - rc := newConn(c, false, 1024, 1024) - - var actual, expect struct { - A int - B string - } - expect.A = 1 - expect.B = "hello" - - if err := WriteJSON(wc, &expect); err != nil { - t.Fatal("write", err) - } - - if err := ReadJSON(rc, &actual); err != nil { - t.Fatal("read", err) - } - - if !reflect.DeepEqual(&actual, &expect) { - t.Fatal("equal", actual, expect) - } -} diff --git a/Godeps/_workspace/src/github.com/gorilla/websocket/server_test.go b/Godeps/_workspace/src/github.com/gorilla/websocket/server_test.go deleted file mode 100644 index ead0776..0000000 --- a/Godeps/_workspace/src/github.com/gorilla/websocket/server_test.go +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package websocket - -import ( - "net/http" - "reflect" - "testing" -) - -var subprotocolTests = []struct { - h string - protocols []string -}{ - {"", nil}, - {"foo", []string{"foo"}}, - {"foo,bar", []string{"foo", "bar"}}, - {"foo, bar", []string{"foo", "bar"}}, - {" foo, bar", []string{"foo", "bar"}}, - {" foo, bar ", []string{"foo", "bar"}}, -} - -func TestSubprotocols(t *testing.T) { - for _, st := range subprotocolTests { - r := http.Request{Header: http.Header{"Sec-Websocket-Protocol": {st.h}}} - protocols := Subprotocols(&r) - if !reflect.DeepEqual(st.protocols, protocols) { - t.Errorf("SubProtocols(%q) returned %#v, want %#v", st.h, protocols, st.protocols) - } - } -} diff --git a/Godeps/_workspace/src/github.com/gorilla/websocket/util_test.go b/Godeps/_workspace/src/github.com/gorilla/websocket/util_test.go deleted file mode 100644 index 91f70ce..0000000 --- a/Godeps/_workspace/src/github.com/gorilla/websocket/util_test.go +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2014 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package websocket - -import ( - "net/http" - "testing" -) - -var tokenListContainsValueTests = []struct { - value string - ok bool -}{ - {"WebSocket", true}, - {"WEBSOCKET", true}, - {"websocket", true}, - {"websockets", false}, - {"x websocket", false}, - {"websocket x", false}, - {"other,websocket,more", true}, - {"other, websocket, more", true}, -} - -func TestTokenListContainsValue(t *testing.T) { - for _, tt := range tokenListContainsValueTests { - h := http.Header{"Upgrade": {tt.value}} - ok := tokenListContainsValue(h, "Upgrade", "websocket") - if ok != tt.ok { - t.Errorf("tokenListContainsValue(h, n, %q) = %v, want %v", tt.value, ok, tt.ok) - } - } -} diff --git a/Godeps/_workspace/src/github.com/hashicorp/go-multierror/append_test.go b/Godeps/_workspace/src/github.com/hashicorp/go-multierror/append_test.go deleted file mode 100644 index 1fe8a4c..0000000 --- a/Godeps/_workspace/src/github.com/hashicorp/go-multierror/append_test.go +++ /dev/null @@ -1,45 +0,0 @@ -package multierror - -import ( - "errors" - "testing" -) - -func TestAppend_Error(t *testing.T) { - original := &Error{ - Errors: []error{errors.New("foo")}, - } - - result := Append(original, errors.New("bar")) - if len(result.Errors) != 2 { - t.Fatalf("wrong len: %d", len(result.Errors)) - } - - original = &Error{} - result = Append(original, errors.New("bar")) - if len(result.Errors) != 1 { - t.Fatalf("wrong len: %d", len(result.Errors)) - } - - // Test when a typed nil is passed - var e *Error - result = Append(e, errors.New("baz")) - if len(result.Errors) != 1 { - t.Fatalf("wrong len: %d", len(result.Errors)) - } -} - -func TestAppend_NilError(t *testing.T) { - var err error - result := Append(err, errors.New("bar")) - if len(result.Errors) != 1 { - t.Fatalf("wrong len: %d", len(result.Errors)) - } -} -func TestAppend_NonError(t *testing.T) { - original := errors.New("foo") - result := Append(original, errors.New("bar")) - if len(result.Errors) != 2 { - t.Fatalf("wrong len: %d", len(result.Errors)) - } -} diff --git a/Godeps/_workspace/src/github.com/hashicorp/go-multierror/flatten_test.go b/Godeps/_workspace/src/github.com/hashicorp/go-multierror/flatten_test.go deleted file mode 100644 index 75218f1..0000000 --- a/Godeps/_workspace/src/github.com/hashicorp/go-multierror/flatten_test.go +++ /dev/null @@ -1,48 +0,0 @@ -package multierror - -import ( - "errors" - "fmt" - "reflect" - "strings" - "testing" -) - -func TestFlatten(t *testing.T) { - original := &Error{ - Errors: []error{ - errors.New("one"), - &Error{ - Errors: []error{ - errors.New("two"), - &Error{ - Errors: []error{ - errors.New("three"), - }, - }, - }, - }, - }, - } - - expected := strings.TrimSpace(` -3 error(s) occurred: - -* one -* two -* three - `) - actual := fmt.Sprintf("%s", Flatten(original)) - - if expected != actual { - t.Fatalf("expected: %s, got: %s", expected, actual) - } -} - -func TestFlatten_nonError(t *testing.T) { - err := errors.New("foo") - actual := Flatten(err) - if !reflect.DeepEqual(actual, err) { - t.Fatalf("bad: %#v", actual) - } -} diff --git a/Godeps/_workspace/src/github.com/hashicorp/go-multierror/format_test.go b/Godeps/_workspace/src/github.com/hashicorp/go-multierror/format_test.go deleted file mode 100644 index d7cee5d..0000000 --- a/Godeps/_workspace/src/github.com/hashicorp/go-multierror/format_test.go +++ /dev/null @@ -1,23 +0,0 @@ -package multierror - -import ( - "errors" - "testing" -) - -func TestListFormatFunc(t *testing.T) { - expected := `2 error(s) occurred: - -* foo -* bar` - - errors := []error{ - errors.New("foo"), - errors.New("bar"), - } - - actual := ListFormatFunc(errors) - if actual != expected { - t.Fatalf("bad: %#v", actual) - } -} diff --git a/Godeps/_workspace/src/github.com/hashicorp/go-multierror/multierror_test.go b/Godeps/_workspace/src/github.com/hashicorp/go-multierror/multierror_test.go deleted file mode 100644 index 3e78079..0000000 --- a/Godeps/_workspace/src/github.com/hashicorp/go-multierror/multierror_test.go +++ /dev/null @@ -1,70 +0,0 @@ -package multierror - -import ( - "errors" - "reflect" - "testing" -) - -func TestError_Impl(t *testing.T) { - var _ error = new(Error) -} - -func TestErrorError_custom(t *testing.T) { - errors := []error{ - errors.New("foo"), - errors.New("bar"), - } - - fn := func(es []error) string { - return "foo" - } - - multi := &Error{Errors: errors, ErrorFormat: fn} - if multi.Error() != "foo" { - t.Fatalf("bad: %s", multi.Error()) - } -} - -func TestErrorError_default(t *testing.T) { - expected := `2 error(s) occurred: - -* foo -* bar` - - errors := []error{ - errors.New("foo"), - errors.New("bar"), - } - - multi := &Error{Errors: errors} - if multi.Error() != expected { - t.Fatalf("bad: %s", multi.Error()) - } -} - -func TestErrorErrorOrNil(t *testing.T) { - err := new(Error) - if err.ErrorOrNil() != nil { - t.Fatalf("bad: %#v", err.ErrorOrNil()) - } - - err.Errors = []error{errors.New("foo")} - if v := err.ErrorOrNil(); v == nil { - t.Fatal("should not be nil") - } else if !reflect.DeepEqual(v, err) { - t.Fatalf("bad: %#v", v) - } -} - -func TestErrorWrappedErrors(t *testing.T) { - errors := []error{ - errors.New("foo"), - errors.New("bar"), - } - - multi := &Error{Errors: errors} - if !reflect.DeepEqual(multi.Errors, multi.WrappedErrors()) { - t.Fatalf("bad: %s", multi.WrappedErrors()) - } -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/decoder_test.go b/Godeps/_workspace/src/github.com/yudai/hcl/decoder_test.go deleted file mode 100644 index a71163b..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/decoder_test.go +++ /dev/null @@ -1,481 +0,0 @@ -package hcl - -import ( - "io/ioutil" - "path/filepath" - "reflect" - "testing" -) - -func TestDecode_interface(t *testing.T) { - cases := []struct { - File string - Err bool - Out interface{} - }{ - { - "basic.hcl", - false, - map[string]interface{}{ - "foo": "bar", - "bar": "${file(\"bing/bong.txt\")}", - }, - }, - { - "basic_squish.hcl", - false, - map[string]interface{}{ - "foo": "bar", - "bar": "${file(\"bing/bong.txt\")}", - "foo-bar": "baz", - }, - }, - { - "empty.hcl", - false, - map[string]interface{}{ - "resource": []map[string]interface{}{ - map[string]interface{}{ - "foo": []map[string]interface{}{ - map[string]interface{}{}, - }, - }, - }, - }, - }, - { - "escape.hcl", - false, - map[string]interface{}{ - "foo": "bar\"baz\\n", - }, - }, - { - "float.hcl", - false, - map[string]interface{}{ - "a": 1.02, - }, - }, - { - "multiline_bad.hcl", - false, - map[string]interface{}{"foo": "bar\nbaz\n"}, - }, - { - "multiline.json", - false, - map[string]interface{}{"foo": "bar\nbaz"}, - }, - { - "scientific.json", - false, - map[string]interface{}{ - "a": 1e-10, - "b": 1e+10, - "c": 1e10, - "d": 1.2e-10, - "e": 1.2e+10, - "f": 1.2e10, - }, - }, - { - "scientific.hcl", - false, - map[string]interface{}{ - "a": 1e-10, - "b": 1e+10, - "c": 1e10, - "d": 1.2e-10, - "e": 1.2e+10, - "f": 1.2e10, - }, - }, - { - "terraform_heroku.hcl", - false, - map[string]interface{}{ - "name": "terraform-test-app", - "config_vars": []map[string]interface{}{ - map[string]interface{}{ - "FOO": "bar", - }, - }, - }, - }, - { - "structure_multi.hcl", - false, - map[string]interface{}{ - "foo": []map[string]interface{}{ - map[string]interface{}{ - "baz": []map[string]interface{}{ - map[string]interface{}{"key": 7}, - }, - }, - map[string]interface{}{ - "bar": []map[string]interface{}{ - map[string]interface{}{"key": 12}, - }, - }, - }, - }, - }, - { - "structure_multi.json", - false, - map[string]interface{}{ - "foo": []map[string]interface{}{ - map[string]interface{}{ - "baz": []map[string]interface{}{ - map[string]interface{}{"key": 7}, - }, - "bar": []map[string]interface{}{ - map[string]interface{}{"key": 12}, - }, - }, - }, - }, - }, - { - "structure_list.hcl", - false, - map[string]interface{}{ - "foo": []map[string]interface{}{ - map[string]interface{}{ - "key": 7, - }, - map[string]interface{}{ - "key": 12, - }, - }, - }, - }, - { - "structure_list.json", - false, - map[string]interface{}{ - "foo": []interface{}{ - map[string]interface{}{ - "key": 7, - }, - map[string]interface{}{ - "key": 12, - }, - }, - }, - }, - { - "structure_list_deep.json", - false, - map[string]interface{}{ - "bar": []map[string]interface{}{ - map[string]interface{}{ - "foo": []map[string]interface{}{ - map[string]interface{}{ - "name": "terraform_example", - "ingress": []interface{}{ - map[string]interface{}{ - "from_port": 22, - }, - map[string]interface{}{ - "from_port": 80, - }, - }, - }, - }, - }, - }, - }, - }, - - { - "nested_block_comment.hcl", - false, - map[string]interface{}{ - "bar": "value", - }, - }, - - { - "unterminated_block_comment.hcl", - true, - nil, - }, - } - - for _, tc := range cases { - d, err := ioutil.ReadFile(filepath.Join(fixtureDir, tc.File)) - if err != nil { - t.Fatalf("err: %s", err) - } - - var out interface{} - err = Decode(&out, string(d)) - if (err != nil) != tc.Err { - t.Fatalf("Input: %s\n\nError: %s", tc.File, err) - } - - if !reflect.DeepEqual(out, tc.Out) { - t.Fatalf("Input: %s\n\nActual: %#v\n\nExpected: %#v", tc.File, out, tc.Out) - } - } -} - -func TestDecode_equal(t *testing.T) { - cases := []struct { - One, Two string - }{ - { - "basic.hcl", - "basic.json", - }, - { - "float.hcl", - "float.json", - }, - /* - { - "structure.hcl", - "structure.json", - }, - */ - { - "structure.hcl", - "structure_flat.json", - }, - { - "terraform_heroku.hcl", - "terraform_heroku.json", - }, - } - - for _, tc := range cases { - p1 := filepath.Join(fixtureDir, tc.One) - p2 := filepath.Join(fixtureDir, tc.Two) - - d1, err := ioutil.ReadFile(p1) - if err != nil { - t.Fatalf("err: %s", err) - } - - d2, err := ioutil.ReadFile(p2) - if err != nil { - t.Fatalf("err: %s", err) - } - - var i1, i2 interface{} - err = Decode(&i1, string(d1)) - if err != nil { - t.Fatalf("err: %s", err) - } - - err = Decode(&i2, string(d2)) - if err != nil { - t.Fatalf("err: %s", err) - } - - if !reflect.DeepEqual(i1, i2) { - t.Fatalf( - "%s != %s\n\n%#v\n\n%#v", - tc.One, tc.Two, - i1, i2) - } - } -} - -func TestDecode_flatMap(t *testing.T) { - var val map[string]map[string]string - - err := Decode(&val, testReadFile(t, "structure_flatmap.hcl")) - if err != nil { - t.Fatalf("err: %s", err) - } - - expected := map[string]map[string]string{ - "foo": map[string]string{ - "foo": "bar", - "key": "7", - }, - } - - if !reflect.DeepEqual(val, expected) { - t.Fatalf("Actual: %#v\n\nExpected: %#v", val, expected) - } -} - -func TestDecode_structure(t *testing.T) { - type V struct { - Key int - Foo string - } - - var actual V - - err := Decode(&actual, testReadFile(t, "flat.hcl")) - if err != nil { - t.Fatalf("err: %s", err) - } - - expected := V{ - Key: 7, - Foo: "bar", - } - - if !reflect.DeepEqual(actual, expected) { - t.Fatalf("Actual: %#v\n\nExpected: %#v", actual, expected) - } -} - -func TestDecode_structurePtr(t *testing.T) { - type V struct { - Key int - Foo string - } - - var actual *V - - err := Decode(&actual, testReadFile(t, "flat.hcl")) - if err != nil { - t.Fatalf("err: %s", err) - } - - expected := &V{ - Key: 7, - Foo: "bar", - } - - if !reflect.DeepEqual(actual, expected) { - t.Fatalf("Actual: %#v\n\nExpected: %#v", actual, expected) - } -} - -func TestDecode_structureArray(t *testing.T) { - // This test is extracted from a failure in Consul (consul.io), - // hence the interesting structure naming. - - type KeyPolicyType string - - type KeyPolicy struct { - Prefix string `hcl:",key"` - Policy KeyPolicyType - } - - type Policy struct { - Keys []KeyPolicy `hcl:"key,expand"` - } - - expected := Policy{ - Keys: []KeyPolicy{ - KeyPolicy{ - Prefix: "", - Policy: "read", - }, - KeyPolicy{ - Prefix: "foo/", - Policy: "write", - }, - KeyPolicy{ - Prefix: "foo/bar/", - Policy: "read", - }, - KeyPolicy{ - Prefix: "foo/bar/baz", - Policy: "deny", - }, - }, - } - - files := []string{ - "decode_policy.hcl", - "decode_policy.json", - } - - for _, f := range files { - var actual Policy - - err := Decode(&actual, testReadFile(t, f)) - if err != nil { - t.Fatalf("err: %s", err) - } - - if !reflect.DeepEqual(actual, expected) { - t.Fatalf("Input: %s\n\nActual: %#v\n\nExpected: %#v", f, actual, expected) - } - } -} - -func TestDecode_structureMap(t *testing.T) { - // This test is extracted from a failure in Terraform (terraform.io), - // hence the interesting structure naming. - - type hclVariable struct { - Default interface{} - Description string - Fields []string `hcl:",decodedFields"` - } - - type rawConfig struct { - Variable map[string]hclVariable - } - - expected := rawConfig{ - Variable: map[string]hclVariable{ - "foo": hclVariable{ - Default: "bar", - Description: "bar", - Fields: []string{"Default", "Description"}, - }, - - "amis": hclVariable{ - Default: []map[string]interface{}{ - map[string]interface{}{ - "east": "foo", - }, - }, - Fields: []string{"Default"}, - }, - }, - } - - files := []string{ - "decode_tf_variable.hcl", - "decode_tf_variable.json", - } - - for _, f := range files { - var actual rawConfig - - err := Decode(&actual, testReadFile(t, f)) - if err != nil { - t.Fatalf("Input: %s\n\nerr: %s", f, err) - } - - if !reflect.DeepEqual(actual, expected) { - t.Fatalf("Input: %s\n\nActual: %#v\n\nExpected: %#v", f, actual, expected) - } - } -} - -func TestDecode_interfaceNonPointer(t *testing.T) { - var value interface{} - err := Decode(value, testReadFile(t, "basic_int_string.hcl")) - if err == nil { - t.Fatal("should error") - } -} - -func TestDecode_intString(t *testing.T) { - var value struct { - Count int - } - - err := Decode(&value, testReadFile(t, "basic_int_string.hcl")) - if err != nil { - t.Fatalf("err: %s", err) - } - - if value.Count != 3 { - t.Fatalf("bad: %#v", value.Count) - } -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/hcl.test b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/hcl.test deleted file mode 100644 index 71c818e49cf25ab9037088458c7d7b255e5b0ea2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3678144 zcmeFad3;pW`9D5MK!bueifBYef({a7F}Nnx=pdjsFeob3$fB`sVNp>ghzdG!5@5WH zqIJQAic1wM)}=Pmf=UPwP*IR-5nNED-eC|?s)AJVd%vG^?wvc61o*U{@9+Elqj@R! z-m^aEInREUxpPqH-0Z9@pYxaPJIlwfqNfH)Qc!2iN)_=1eZ{^5@NXyldjRs=;D4uF zP`^3PVY;64^yR4rncQ|S^=93Bs1$Ub-g@lMH%sOFW?d-doae5y4wrA|>8(dteXF~x z@~f{&du|-00NuDHN2O~xFWelyTI#9Peg2!POGG-gxyE^cMFOq<#5(1_rMwAT4L(Dn&O(5jmc}j87k1 zXPVoFOJ}P7yiYxq@mi4n={pSH-ujDQyjDsqe(`vD=2fOwC`kYG<>Q+;b^71f={hN~ zu~QFuE;!4bS@|xIe^dYX@#?KVcla2|oIAXyJc9}xw?cvYrd}?^BfSS*pg{Fs@JEF) zQqk}6zcc@Yn}1i}e+PC+(Ek*?S151yzM$$mdFfw1A4i*+#csW#=G0 zGmS<6c$=!;Urj`1yU(lP)_?CX2UL*a>=ew_!`nR9hSL$Cm_&|9&|76y0 zXr=xqx1K6hp4pLJBmK+gTiZ(g$n~d7{f}Oehx<=v{i;^#U(%J5LCF_+(f?%D{}<9T z(^zzxuCJibm0KyB%Kh)#e=+c14Ez@Z|HZ(6G4Nju{1*fN#Xu$ot~Raq-FG%MHJN8z znP*HZhwWuXw-%b#z(8@o4gEHlu~C6?{!_7hU|^WfwESDz_VD%l#wWpjtT_XBkGL`n0(8#H{X1KkEQcxj0z0%LS;sm7B-l%w&U3u$`?gS69eF? zRNZ36{1-@~-xNUDvVV}gqHX)>D-RGL@>nZh4HIt#GS*1xGt$V>X!++hs^xMsy4z>e zTtr++r|~|YGmC@8uyXBwU;BK?56yU=bq6}h?5H!66O&NOo;#|oFJbLz^7k@EJUX4k zN4&$r!;bNVVy^{eu(jCyz$|$_6PPW}QGp4e*zmyQP;6!(A}Iqo-QhrmiR4N%z9=vk z$^90a(Z=oe)F>t{{mlujn%ne~~^Fy(5__#Vy5Q<%e4@_bxHWDAh17;|8 zabYMH3JeRyh7^T>EPM?pW;Y;+ z1OneqLtqMjpx;RYj5`0?{ylx9sl)N!DDT--Sq=84E3$pY!OPqJ2}xP@HS62@?1Eno z@YzStKhS4S8=31{-gY*!vK#DOBij0s&!I#9kvc%OAQ5_2K3{r&r+`-qSfr4^@&yAT zNXk7}XGwruiG=rC=5 zjcE)~s5V1vb6}uohmm)vap_8<@7q;9ZtHF??Dp&>W1qaC%4ha#FyDCVs(TlX`}QKA zX}t6)2|-P`(f5O@!rP8FW9^ls5b6-@-!rl~wnj{C>$BPbatcjP^GVA#`z2fJ!yZr$ z-Z%?l1`vDxGR8x)P9M+rYCPBePX>g-EsRLb|A^)znla_y8qrOcVnk4 z7fBfG1H>O=nRT154npPNc+ZrAiW?I?Q&UV#7N{mOB znhmC9LYZEcZ(2E$XVlIl9W=HHaA0QKe~GUP6qzHq7>h&kLNh)EIJFKoV}@xB0l*jJ z+FQTQ5t&%1$lF145RKe-!x3l%gNl>z-PYKJea-Xihl-ZXfe)m;5Y*$*6DXIBy339< zqnl_97!TG*cKO1?%-G=pGkRvg7e3RBwt-Cb@WKw&yalPcq-m|1-Gv_JTgQA52gV+2 zBZ1fCLem=I(q3fJ_9Dy&n6VmMCSXT0FmvYsMzyqC@!B4~gT`aaLfw`j0hT_HD)rILarl2E1_tc2cl>{GE_(JffUg!?NFQ)I zy-ZTF6Fvov`|wq!b+Sk%bW<)VLrtrrX$=52>#Kf6feNxY1!6ly7lktc(-op{xN>b^ z`~hKh;mwMs3NQpEgfIsczT`ilRbImXkJt|l0|DPe)s_y=K)_Q-SzcsXhbTFDKKfus zNGzs6h8jZ-1Tr%qkdu%&;zyw~5^!OIU5wU~&#H0%$L$}Db~4&ucR?%d8`Cay>E^m7h60=}L9p2^`U!?SSeEE#p`K0lfKYs%~d4HB<9n7q% z+mU>zO8!2FHU4=LlZPVtZk4?0^q$}{2(?qq#w8Ip)L1VMSVl0LXnPK4v|~7h7@ZsZ zlV@K)Ae+2d)BrKnh)_l;8xul?;I%LK2oa8_k^InlZ*nn`6E{PeA!mGA&N0mCFFF2` zPSXIL2Y?C`K=RltK%blgfGqzHr?T=pSs33Ic~v0(*$xfCG+mdPCVSj@2pCXJSiR`& zc~m#Lge5w}$v3TD;t!^muzT%29|GEOBz6EZ%IOChiJt9Osjd}z0fSDT{UNX)T`I6- z7%0*2kV9DklUT_L*E0G3H`+3RO{}aKHc|i~=?OQ86_ab9h8`eBwVfja)&Hd6O^3Bj z&Ow4E_)N{lQP|2jR{t$E4yO+)ECf4({En1X7Lf{%0SQYBtsLM*ZqkF?%QYaUmh&8B5$Ox~<{x%h5c z7LzBt$%EHKPuGmMUFSPSdd{_%56$+$5UU!ZT`K#*ZF;Z{iRg)%ib(|y@<1-JKGk7C5$d~w7@d)M%A|I@7Juf3$6_clZ_yG{#(WSZR+<-=+Tg%gtZq1o1upk^v zeO_XJd^;eH`#%sLQqQ;_MeL2W+2FT3@Xu*evV9n?M6kBpPA*|>%bCJY*q}9MMh?d) zPU4(d`n>?@v-Nu+-skFf7)W#G>Gxv1zpUSbXmv9A+QeK&1W-r;2i2c_2VicM-Y^Ny z+?a}ezeuP#17PFOyogB!6W$BVn1TuKkd+E1yu;*EFyS3@tYE@>5bpw0bZL15@!tj0 zgpPqrZ@k?vG`h7Y4aG*?oLmftLChYUPK>)8Toat}0+Y?S|LZ0{5QSLjA%hey0g)7| zEVAZsS|RtVx})Il1|KE`AwiSdD6%1@B>DtMeD-$mC8S0V=$%mk^aPXuQJT1KcZoYO zSP}Oa;smga1ajcOj0;9e!@a?9;q%Ox4XY>L4Ja`7Ce{qx5DHj;8a!Q$}1dr#?u79*LXY)ue&BSHdYp7_UFfBEpCn(VFWal617DdQ$`~0V75& zok}yh2a$q;U|p~9ULjLZl8sj&X3e^KoL7VRqD zahZT+TBCsqkjY@!TNT7ctijBBhj2k(VI+McrDjhKuALbx&r2L5(%XTCR>YQfHK>Vf z0Us~%xLiKaFnpaV^ziRd2;+Z(<9|G`03Di*HG#!=9>Mpx|A!S0x9eeqh>3? zp|PvRxrU!I&c8jwT8IQtFk_iA!W^r-K(HN#tbSZI2r49HfdC&5Y-AY{oc&`vxAx4oCbSjyNcUa5Oe{tj-_-5Ob9n7PE%*By1Zvl{W2nAuFKcJTZu*hJgFm`{RkH;{G- zaAU9#-*_jST4dxuT|!0{0M+oYzJqDM<9J!=f&L7dJ(Ge!62FMcjoF?Nf@$q1 zV$He1q4s-47xm9gu|+p%_QaJ`Ls^M3JcI+tyY_*i^Bn@fTqn9pKHeCRFrojCCEwm? z#)iQ`MO5v|Naf#A9v+YtB!?7I+ItH=#ezAB=~B>ZuKZ)EBE-3XFELCtSHwq~?npr_koG6$ zshD3N=F>46N9h=Mm16e1f=3H!NAQe!Vt)nC%V^ym93>U(Q}E12StTjX!O}J*1#3r2 zM;3_SIgE)~QYh&IuGLCH7@OyA(#69pwwMwR$Dlw;JXFB`Q!W2PWRMmQA8_cUUw4&0 z|0p>viU$Z&S3K;h%M=fc)M6{aJ4bL0A|)nfRTC36vUSE$C3m!gu7}1NPjjeEz@9RV zWjxACiKBy^{_G8paa79GXjP#vpMyei|BVl~DhC4fdzAw}SZtsrh5o`tX$qah6Y&sF zw1ISOO(?|D6)bJzr5~_(oM&czhhY{l03jwbN4SyGBigsHAvGky2E!*n3bm~=gsMbG zp#p|pDA5(5Op~Qi^CiHfzG| z6-ZeCDfzUc(vwcv!ze#AA15fC^!xRAPZwYt7lYN$W|6E!4^E2{CA60#hj>yf0+%Q8 z3#0=vR6*G_EK>Samu3QVjU=TB&^IMX3DA#33V8)+1^a)CVyBq^9h3<`O9He&3dx=X zFQ{688UiteEgiIfzQqwK-b#G58-4l`uk)d?v+bX7QLZ=@F3MkbcwLl~Kf(Q9*TY>A zmkfkAPLV6-7BLzsf4mhSdV&9YvClmF&%r$>@I_8f(j=nqyx5J|f*V4(I~F1d$+A7uvHlw8eHGoHFE;h)rl4we>BOev)Yr z7pC2m=Pg}@sgu=4-EP=WL%S8K3G;<8oT8J*_+XkE!ku^>Dkp5379a4rVz9 zhc-dCncZFALU&7OVre$1^Su8HBE#-|5=itqya8DLfk6aKXd7rkCs13OIf8ss&b!@K ziefQ2MbGhpffdSMzeV}$3s?q1Xa$~dWWKGk?FVZxtQ2jAh>;9AX^~l($wBfKiay?Bsj3cZ|5hcPbuXJ z?PYhdmv81Qsdj*qTvYagtk*XXMXf!`_2Iw70-;mKw17-t4=8k7|M4JVyA6DJo8C2K z8xe*1mRN#O`w4KY4S*6+hR~_2S%ULn2LPKa7@M(=`8;&SOu_7o#|6aYay$t;u47i zgUr_^(&Oq0Y=#ljyYL9Aq+d7p#b;v;&!PDVjxP?T1uB46m(^|p6=?d(()30}EM(Qp zCx1o<=q4l|f=_;z!yku&9bH0EJ2FWN;lmUT&VK-%>Lwj&u^B9o^2O%@Ec`;?s~9DebBXUMdAWzWCX?IhK!zN zT?w&HNeCr-GbDsV#!-g_ZiI?Rw=*Z#!OrVX&5@PpiH8U=%zUnWIdZ6yKpiwPvn5j- znefu@Jd7MY-u2QikCcv=q%cP`1-`UN?L#3BT+7jzJWS?fF_$?7x9wt>{kJkh!cHd&*O>2MG+a@VY`++2?r(Xn3 z7)uQkidyx&y_7l8DhaK>;e7n{LoCS@QuV%7~ zbbo!;fRr6j>DU3P1+N`220O-;B z9MS2z?mmhZ&Ekw$I`2<6lWN^@O+undq*`LMNFv}sMC!rFp|XhpC~|sv;$+Fkn|9rM zcA!*Ei+vs;Noi6wN0O9OZQrc_-ve!lA1INUx$bu(D-D2_T=#3Fkapcupla8B5E>S; z5UMJXvWiO*hk2yn9{B7IiXOnbYnM-Zo?kA~yV?IJ<;*+eM1O<~QZo$25>r#HBtNo8 zb*Dd*3IU}26Z-!n;NIksHek7E3nW~s*l;2aaS-1Hp5=+VUIdSS4d>t^!lsz>2Bb;X$vR{_D?&C>I$PQqgUtw7jKIpn zNUVQJ68yIQ8a_gTF0bEfmxkLVY#`5a#82~`ZeInzKAEy{;Az?GB@@zK0F!W&eaW%l zf_g}xO#C$hrNBAx#eM0{QJ_OOlSQ0K-~l@bA&7uLGmrC}sQL{tdIJ9$i@7QnQJw_b zAask(3>X+!z&XFY1N6n%44&;VQ$BlD2`OIsLYt)EJnoUf*(2HSfX?LTD;pn^A1OUQ zmlJic89Rt6m3hf~<&+OSO8fg4hy zwSn&G1*K9D8wYSfaND{9JPFkW&{%Q_NZDyfKhxSXrtKD^g!p492)5SLY@B_?U<%FB z;5mj5;eL$0kgxD(9>#1-KL^whb_NeAx9)kE#)jn|w(@xGK-5;FJ8oGB`uefr0o)5q zKi{kdM&}~aZrG}t$cvN~9w^q#>0-_J4?-(wEXQfAs@T46I5c3~zwtTGmLXmbWZ!`8 zIrd7G`!jGYz};GlmSx_pK5wiz9_Hj|wQc7iGMm-sd8DbWly4xxnsW+Zi|1oaM8Jn{#80Bd`DxnI8~v}Nxn)7m#V^ZozyZ(JxfyC-Yu!vxpN|Rk6|4{cZ$iz zmNwAXSgP;1-@>E`x(^~P5Z%~)vkFq=Px${4coDbLc*sdyt{!Kq$5D8gKdmDg691${ zk&~E@hh2+R8Z`R5e|ctjFnYFUVzZq6waU$Rx_mh5bUDbEI0N;;4QrPJCtz72Gy6f< z^NBh_YWe?y9Izh(Vl@NVz18PAq&QSjQ-m~Uza$+X)R-}|lm=VA~1#}fW`v9ZtY0r)`^UC?xIHb?m@?#U#xx=lb@1Y5)! zs^3AC2-R<`J#Hb#_tD^Mekz+~ZQ@)j(U;ZW0Vqo$fUP0LYt%F=!-A?zBL zvn{h^`_wX=t|Xx(j2edRRm){~8yZ_(7F&abd9-{IzsIa(%R{qPlyMolCu!@h1Y2oZ zjE1JX?rc)LG!#>(r}C*t+ zn*Io5d}JT)yeD2lR=>q%vE8APbyMMlqM@N?d@T1p1}C0r#>X#%Aj77@lARNKl*M~5 zbq)pAo=e(qT8wH_R+`ocf{GIaBD<~&d$M1W2l{)-enwu=cVaW7fc=AfCMdh?cAY`< zhvN;H^3Z#HU|^?;_uomXsopw+n8d6|WERHyEcw0^nidumQ50R0tz7%_P{FFEfHvdL zi*mSX9hffLh#t?T>Nj;1A_PA^LIF>zS36RXn6Z=jHd8d|bqY7RRE@q@t0ezdXh4<^n-&QF^lXRsg`4+fN(g~@qbO)(`pLgk{1 znJDw$2r(qfJ#+D37+z+9)-*S}pG~29VB!Qk?7KS)Ek@O&i+XgD2ZC^M%IB;^75T%b z60;H|{Q4eYXzV=9O1w%Uz4}NH=@ptt*|q-5kk2xM`u-a5v>UlFWoDIbag12CTcw8( z!E6$NY*BA-@9LXUHFEH#7*oSrW}tP@rq)$P%@+WHzGbd``c%9DcSWkndSqDhNdEm7 zpmksWp7y|4gx}T-#T4@tQ+%wL0-kA#HWSbi*!M^sHR;#T<7d3@rzU;v8Lq*KW6SA* z$qTz_2^4^E5BKAD6yKyYWHC^g1*3`w0Z`{cEUPWyY+<#c01v}`-`t?kbP2_m?ST(^q3^{iR=OsK5z-g`v~V}3Q$Y_@JP?W_yPI$5 zRV&M)yPz08N4c{4FFMkO5JW6z#m0IH(h#D{tN95MStn1m7TRwmWiLdd$io-HC!@(6N7t3Mbb5zyji4O=} zO{0*0(ut;3mlPos)WNJia{z*cekcx#lXD>uXY>c(oJ2`j&`BiWt?~fT(!r4P6WPFv z>tW3kza#EHY)W^anKbTW~H5G!I`8$c43tB~uQ`^Cg-aza@ko49ng4!e6LP$3okfO-snC!e2Az(i>`8o;Vv%`(l{bP)|^HbND$>eM0rIkTU?IW;I#FacaEa z|F*C#5TT@@%UdR{vAX={DPn4fy7@^ohy6G(duoP1k8f?@wkmVKr*X+ z1(yUeoeymQ1XP)+NV1o9fF02ElWPY6GxC?R2N<7+xY=4jK4hp2|G=E0c((lA>y!g; zFG3TH0zw+=kY~O&SVJrgp$cOKcc=|Vf61r3_6FORc(Xk@k5>^eraKBz(~^Cd{D-t5Zu z!0iCcA1bHg6G#8H=Gyu1Ae@2@t`fxR5uc1o$u-gsaEZ`7LZc0Yl2OO2_bg(Wk`+c& z!W!`|2gv!;Qls{1-LA>p=}YB{o>s|XqjtLf8m9a%2|R!ZoXsDyVnUkEw}0r>7J(3U zW)TiOT5LV@f;vL?feH4sA$hNY^ z#qCf>`Mtcr1XfJdZSI-Cxc|>WMkIA`T^{L(^?;;-VDq^D+4I#7fI?;$bzt{#_*`+p zJ(ed@_nn>jIAzHwF5Nw@Of7t1J~hzQOE;o2CZ=4BOr!QRks6Mf__;FRI!ofI6IS~X z=RXa4AH7aEfW6{nvb@ATChJ$?#3|N=2INLckNdU|dcF27lnTW#eROuPLIOa!Ve1_f zEMkpZMMUvF9q*%q*gIf9D!UCISJob_yRaF@&OLz5)&aVw(r2@DrE6G8M}1XMDTYcD zSV3%Ja2UK!`wuun#v%n?jDV}sF+#%^>f(G*nHi&X9D-+I+>c&B<&_Q@Bm&5X`S&@f z%Zz7WjaR6c@lzj#18m1nZ4qmN3yrq4fwgr8HdDGxVZ*3-QIMFzNIDwdy;o!8;*5%d zMzCi~XnfeIbPOx)9~!TEV879rlL#p^ZBx2=gV>)3fEO8`$8bDi)jySUZb~@K!n;~U872iSVw6}bO6bV zHF}d-s!pX~t)%*yV4q$h7N~uOM-u}EpM4fgQ~MF-Rxc$u4GK5q99sqC#G8+H0#iY? zqODxE1+A}7uIJnJSJCj+5_%+2R3T;Y0^@6B0dK<-UeiZz@sUS1SWC9`|26lU$~{ZVh zMJ(jo{~GP-+;4w#8d0F*fVOcq`WwOi7ST?2XF|tF-O12SGronmF~ueeD+&h}0YPy| z!|JL!y=2t9em6?rpBlWp3Pm zy0=<3tM$><6r5^;958e3dr6jK(PiRY2p-7ok)Td{WfmmS;aU=<@%wD0|K$L0^;VnE zW1QeFtrzJjLc-6cUcB@~CE-mfc23tYc~KFZAWf#7%z%Ex`5Q5zw&Ocey8G)w>dF3W zDhB+`*B&b3gVd0!C~f&j>1tI}?SPk}D)7jn!^oucVA*Z2wYXq4}v;zg0%6=QLUh^_*@Lqy>e8C^(f@T#w=OTr< zvzUcHRUfFJ&lh)t>ld*HOG~!KC8S#T?DBwt-1LqbgNS~S+2U--{frVNgb`>LpNx$n zz6Ipln5}PEM%L27Y$r1 z4bTmMwS#mvWgTOdyfbmIv}V*yW2JbX2Ny_m|09uyTC)IU>?t{KSjbtdMWN(a%9Wa)(JRJBB`!IHe|k>HYl% z{iVkX5EnhlBkO28+vax^zS0rbub};L^b0Z*yd`AAEl+X(&EwQ5BW3e5F_JQ}N-xn@6X^<8f^N%gD-m72%mf9>CC`>nIK7H>i0Yq8Cs ztNF$w9oIk9;pyXgAmzhEnBpM1GxwH(R!{3w=>Yo=>^9PTgVhUZ^_u|BzFXpAA6m-0 zCHDeF*F;SM_CDImCt+V4$cOzzrZybW>nVZ{!rZUA^h) z>U*<(d3skrIE!V1H7=F`x_wmvo}*j9Q$)0`@_%4J-;3!`dh})xiFIlhJjy^DR;SKP z;6U%9!WtT@NBD4PzZEH*mXV~I;k1kz^Bsu9T%w0J4}Dw~+htm3g!;X2F7(X(=c=xU z_%I)zH?ND6-zSIqy=N};l>AK9{q2vXSKq$m{SBZb)CFN?_PYjX3-x>3T<9sO>A*8x zLI)XjK^Fxw`Y3Nf3L*T_Z#Su&9I!sIfF96=yCADV86FV153-g~IOFx;cpCSQzc*o8s&-uS8@7P)JQ}v zz%QqyGR=4wtZB>-$Ph~xeI@|Tl+v(?(%KzQFOe3MY%>^_#}^#?nZY_$Au+dThXdOa z(y+~_L(fzndC86W&v{u&JUpaNT}icn6g)}2Mh^c%4X4Z^MvS}bWW zYAV^U|_hBrp|^LDg}k4j#RS9^oofm`&JZcfo!h9OxrWc4?3lN>K@uRT-M z7$&fL8XqT(^LiuH7%Po$qo}aPc#BHoQnZ%qd@PE_hdGTeQZ-D-6kgpoiGy5pswcjE zCRdhi5#nc457%JoRK)E!O+gTkjaw>*cLS zTDBkQL&RgBr4S+9g6Pk=cZ}a*8YjGsYvi&2YL(g8kcGNN-HPb0pb;&_hq-nWcO*j+ z8S&%z9sAT=^9__^|LDf7P`hQU{^1Uz`~x(>W;&fd&+pq|T=urnw|)|=M+vt>m7=dZ zAD~#AEcO^K#6JsgN#emxt561Q^$DR*uw}RT_As4pmtVLK*^|EWWJ@ zJ785i6*AHr!yJT^3)BCjb?cjPE_fTGUw&?`&o0F_D3P~T`#{XZRdWai;QYfnih!=% zQIB?cZr9oBYckj4 z@SZjZz_sY`ZpHaY15uI7fPK;F#r9?00TJZw1s+g&iGW>kBEl87V>2PKTx7fx zQYDk({#Q&7;EZ?LC$hp|U7=Vi^k#+WNV0EM-R$-*=XGGMTe0+?l8=dOtiRiT-VT}i zGFGQEQ-u25I$I``2bEa=ma>1g;sBN`xv_V`th*YR+-inI3-9E(X=kj zCpcTeC93S2ZDzOSPQf3z^_Zs#KQroj1tTy^p6>>zK5ue4z@d3R^-L~Nv|g~UC@{5GO0(%(Cad(e%#@qr$Y&ET;nDSk7I zNNg1WEafogk}xCIiAfHlPW^&P)jZ;e2m>a@1&O2zXu=>gp)9B&&!`(&sa)hx(m8=NX?--L_Z4T#DUbvKW)bbRBnCzl+5@+;!(wuMdZnrhiVVp27Mw)-MzlbGCwS>k3}W5Ke$k(t5fu6xoJoIgXVPB=@nMg1R>HI{(v)|aOQjja zm-UfR*H@9<1T^^{lHKtx*>&PuJcI1c{ZGgayD2L{)Bpd`9w=VO`#+>T!p&Wv!G^>y zAToQ>HcfzQ6#>pt1bAYL1ehAM{bmwW81qtL2K}AY0{uaJg5|XQJ3u}ZJMS0$aZ5jp zQMHjL_ z28b1*@hTR(!&XgbUz5VVNj$9xZ3qdii)J2aM}FNBCUs`Z9lu$vHso=Xg2 zLGfigsoN4&qoMVam(xtpt6vB=&qgi{Ph_pW$+1YB#j!M_k&VSLEH1MylXIELs&m=EJQ;*zXF?r;Y<%`V#&Vm4 z8k!J3cCj1)}T@QE6 zdyeU)d(sCqD_G3_xf9WfPX~Z93tP+)P!LdQT7bHSE6grtxJptoN5wzkOBl=e+(v__FR-8&&3!m{V-aDJt!ocFS zM$L3OabieJ;+xKba;>_l-#29l){IrT7wX(HsA(7plTGV20otgWR0(jmqBZWF?ZBcRM+bws-!Rc%g7wFx*~%n4Wu7zaTM90b`0h}u(Dx?|Z&Vgo}+E&1o! zn{H%Tho!+3G=xu-GnYN(Xje}xJk3SZKqW0xz-zyCgM!>lTmx!DJf}>E&dHvuv&$3T zL!Ki0BlX~&ydX7sQGHvga&?IeD@E@Q`@9A^Q@DQ*#d7x1T!QzM^(|RBf z0e(oqMUJ+rYMU5KAJiG3rXx-QTGo@0ny||SV>5L-&Jbu^+3o;HuQ;Gd+n&4diV%i} zfuG7pAe-b)kHVt>U4l_WpazvT|JMU_J;U~oUx`}GP8H7tP{%VG0fWqzjQ$sr^r!$OY20{e?>#@gYHpl>Z4nP4_>C zaeYVmpVa3F&cOdPGqucaiUFl%5WpxhyTOBmr&+GGOm964Bv;NcNE$vjmhtR|;f=FV zPz}=vt7#3(qkmB0_@oIl3u|CIuvoT#9w&9kRRl;Bg{&fLMd5m!C#I|~bjhAP9;cGl z9mPq8$H{<-3a1lU4w>WDT#sw1$XlZMvY^|{$rQY50%xq

Efpb)8Jm@fGB4bQa`f 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≦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�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

9l4NB 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%0ABG0R1a)eY>@&IM9YvVibg-17Qot9h8(+!oGp zyJ)^BVOvUcQrKQVV2{ujsoC3>Ug?{>Vk=9n8U?MVS&%(ngw`v~7L6Ai>tz%v&GA_A zq1w(jp1yDDDJ1apU5gzmp&n=gIQC;zK0q*kqkgLwVlrhG*tQSTEA;CHbk*rC~;&Tn3~+b{N> zHXc?EOi6-XUbBF4+NtHnY+GxJtR-uTMpc8ohCEtK`J z4~%lzaFUQ}oqim7vJvCGt;+K_T#ZGRRW?Jux`zxI^jO^uSysN(YO<6LY?dU$ml=|5 z5+lel9ovzBqOflIn*HC2((dD>-QdVh|6M*j>nTF!^w@XT`K?XBg*MV|P4*ygKfKJ+bf_;6UZ(BlmKct{=~OJ}R{53*Yj{84>1+b!#hw4_`GzxCG6Lwx`>crpC~^ zq3^!{FP@Xdwx5R0S}_^$35~8)md4Oq%raE7pTcwaX}(=l{)^#{|0;3y<#vk zM657}J==plAM3=pma}J8m_0{KYb|>oaBzI~yzKL6_I&bHhdrM?UfA;q{YW^0Zy-yG zHRB%iO$b>ykb=wuMx_svLl4cJxk z5Wp($!gtLtQA4T!W4UP~a#I^$ZXS8ra7QoTJ6dkqh}A$8$k)v z@gZSYT-rTiKO^lk42Di-_Q@;QYCQlSo!W!$*M0DvYZ$SCTOqsBl6V2HfY_g8E0c24nQ7&>nu1y=-;-VHA807{oA@(l@F7hV)f9I z83EN-wkOgRHR@|qdbHa=fPtTOnnVozFaU)2V^~UP)<aC&m%R`{8d=B5; zDl;t2|5cMKi{RYfS8(`?JOIu?R^@4lS`pe7pgprB8zpFI9Eb#ag1MmQ<4&f-pZTCxe(lkwm4hC`ypGnm-%+jfBCgm4Z1c9gZYBVS^XyJLGe+hKMn(g|@EEEnU1 z$m=7hd{Q1j<-z||RNlF_LFLe=T7gQsbQ&LN1u9+socTAm7M0g_iI2*cHbkQ`;duv@ z?RpC;FO~;T+1;wV9qHXdV(f}P<10S9qd{SNS$p1``3WuzyIywv3xe}{FQaaHSTlO! zY)L?Qh&5vt&2;}Z&wrKl_v~fh{@dJEke=J1Ce3XH>1F>*3WO^`ExfU{q%Z0epY*R` z@*`4;+Rb-J-x0^R!*07w9)i@$8JsL}4N3n(g_N6YP}%m0R-iHwsC@n(tw1GqC!$Xi zR9-!?wWv(rJ3cCl-;GA)OE^2lD5TeV3Mx~NG@N>e86?##=BnOxHbKV3WH0oZwnF z$czJFX9OyEZFf^PnVh-NaB^{$qif3MAQT;}s|z1B z$VWBfqn2YGRT7Qe8UYeBI&r2ew{!q;<8_9!a&Jn#5-(|PA8h1El zDKgf_*cDhmr~W3f7_cA4w_16F3iJNgtR(6M_m#9U3hGD z4M%{5d(hQIyCU0^9&C3BRTriDe#fam*v$gT3%&m))IhcXr|y&ow87!ljLbx;)@?Yp z{r}Y4E{jbBumJ?D_7LJpZIg!pR(S-z$3fRbqO0gHL03`)--5d{f3ij_ z0~=!}4KX+84FI^yBLL>x0OBev3)JkZPh7_61N*J7)Yk>2u(yRJl$3_AQ2w5wL#Wy4 z)Ta#!&J!~zhb*X9SXJn=FW`0Ys_ygPYeCP8-CeQQq_kZPJY3mb2=kgefQOz|Wy7i{ z&asX3|7$$Fc||-toZ-d;n5;QGbbER?c-XNLc)0jr!NZICktYve`~umf^v9s00-qc- z(T8)Z+)Husn^;m@#V~e(6=9LFK0G0?)A#$wG`=f-=12$UH%bB91{LjtB+e?~&<4b+ zZx50>ztE45^kaj5tkaKG`cWs3(3cn@s09*^v|DN(f&R>YN0hP4*twCPKU**R11`Y> z^u;!hF>57+rJwJ^Y{E`~?SFWo!?;r*m8?`HTc$Agdf!4ulii>N^Gp=n*;w_D7d=ea zD#$m-p~5_ocQH>6Wd<`WKv2Ss2uK)Zh&6%p;cD&9D(15N_G6>_tGHIknw?%+|I(l7 zEde8HTub&3CJZgKz}JtbB@n&Aj(G9!NVF<;5`(MS%kEi7qP^$$_BAe^ux|Sra-`ZH zNE$~{>vMGIp;5?%OmvqifA#o0lVNrQl6W>C4-G`Lx~m&D<*%!Ye_mU#B8^)__5OLxn_?Kc z1$TX!{qr>Z)dMH#{qtmI^|QQSa#Ke9pXwRi4cIp93-({suwR0@IY)1>r)*)XfrwhN z9R}hW`3?KOMru)0pWSUNN}MUV-~0PPdty0mMpp@O_jyK&4x$6f=&Xa-l4HtQ^*TUB z70cv-?ZQ6Pf zAUA7~hrb@<+1=H&W}DPB9j7OnnwDH-8oYI8xWR)q*bP2iLek(_`LalDmjD=>QDZ{Rc;Lfa?-Ag6rNpm0b5a@{vyR&<9-$ zyV;(V-JxnfU41nR*8K6sC8qilrFxFIsxrDbRO=L`+FoI*wRfnN(N+h6DuxMAO zV{*OrpzIE?vfl+SAJHMK0qfYy0QT^m(Rg`|se=8deE_^XbBf?a4)I*IOdb(<(Ou^5 zs^9sWRFCs??CPtIFx4N{r22hz^>08{)yca0xMYz&ez(GOi?03=?p)HXf2*IV{!v+J z?&gXTrV92y^HWrR5w3LtS9H}Fmq$eFwY9pt*6;dNTHnsD9vj4jtDtD91~oww z^SM!qTB^4V@pLPBU!Zpm;S_l#?=!V)232pB_j$&JGfyAi0NZG>eBTIe-n^cI-v^;j zB!p8Lt1>p}AO(M;4#M`=r}&A9i*Oc7kT6QqP+?J5g+Bh>zXGNidL#}IsAfN!W$1O; zz2sK2$(+3!!ZK`?kpx~?s^n5x$8`WYxLE@u4=)w^deYH&9ydyuU1Hw8OvidafX)1j z7jyuy>dXr=8)Fc~K~?d}Q=n$H6rm5=6FZ}VxwR=-CvjNX%_kZt?_x@BCF#)oQ~-*9 z6873*)We~W1`>15s=kozbvF8=fjZtkk4qfJi&0GZfZ0EL**V=PtO2Jj(vC;B<|CH; zC#Qi&&Sg~4^Wur_5r-&Or(CuiF9eQQ^zwz!@g-gTx-YG#r7{+lGi@4Gr{f?ZXds8j zzQCu%R5`%W{W`9|)Mwu`sxOaaI&Os|JScTDQ`uA#OydRoVla)DRP}f*r`Rjf%9$3K z0S+3Brg0~N5C5?RSmV1^V6>0!FsF6^(tLnrPT#pwAb`Cukb-k%&#rA4ojDQ4klE13 zgEQu{z^XEGMH$beGe>FQpf}F=)aPc`TT>qw^kU~Gt~&{wBsb<%UJSd2$HI*lfM9i- z=R`ayf8~6~`t_goLhDgEP^Xhp2RXAbA6=}KvasQNwjR)WiCoee`Kw&{H%b-E&z0^j zujee50<_^M9X5ox3tue)L`%U00%0ka=zs%}QJoxYA0W06ZzDLLmEm2t%bZrj zvIGcyn2sh%gtHfrX9?cpPr^ug5s@xTX+#9*bVNkLwul5htM1fFfjA7~z`^0{QCf72 z`~$`mfiZ^YjN0m@=-evtdcFhKD%9&L5=w<)$BAUT#%ijcYG3RqZ;twJsE!;izJTsNbSZ|5k)P-AGq19Z{9MV; z*WxoqH4T`%2$dlx?>Z6goBYQwK&UmH>pqMYkfwt<`2<(g@+mC!Jwvx)UgP01_*KQF86t~Vq3J35Z84ECJx0B2{w-Z8Hu&CVbe6+ z4wUT;Y=wTq34_>Nd*SzFIC$n@5QyST;W!og1%j>~IG=h}^qf6Y$DQO^zQ9WC7N^>x zcn_uWs}@ZVN@n$KLvSA3P=p=<^&aLI0DCVAQ39(+#S2$hnYy> zKuRR4z#}r&&)Bnc>^Hwg$6mqMXYm<%&ukJqgt7ZH`JBnmm*CVwWZL<2bdmcqc6pP} zJ7(Z>Vw2Bb^7H7Qq6=Be&!1oqIjTtG-tydb7)GzcW@fM?9)9xaGw*rw*kKeJ;B_V2j~HtenaXv40E zu;A@;J~wh(u9zr}b);vaX@kzwrWnjH@WC8&6&GJNX?tMU;Y z6sxikxq&hf@C4vN!YHkV->_Q%h}+6wv{gB!+E|sHK`*L7Nfpo?A`5lw6PC)C6!m$p zXsfbZ5_SSR8{H^uy}g6WsuX=xMfD0qimJei*Xhn(RwYjtqsgxANgm)!&1R;YL1>0V zp|wG0NQJf;NdTOLX+=pGwQS_K0HLB8Stj;`+lj= zq^jCk+UJd;(50e9_UQfgJuLFI4))igJa<-gxMAe+c*w-PQ5+cY1A07UAA1x`O%$54BT(}#!K8c zNOpD^BhiciIZ+x#yKJ$s27n%EvZ1lq91(P!q05@)lm%?M=~!F{8g6fNcR$^j7Fcfy z4Y$HqOb~n=m*l_*NHs=)Xol*qd3F!3Lq&~_5ildNUw9Tf-{ex2$j|ria~mi{Xw6D? z`bkFstc1|*(2tQRuVKoO_>7dl!~2Mi}QTTk3 zc=K;5WGzPDJ|L((R+JCEPSjesT)uYoRY7F4msypU@m;Q0#Z3TInxGFf;WGxzz!j2TGtGM$@Jpcwo%L{Rg5N?XZoe7wi zi;kgg)Ovcop^V@e!@@G$(P&jXD_=oduMk&|e%X`1?_$-dsJbM&CezH~Vze64UXyjvE3Qq@<_=-Sv&2l_;5S41PR&;23% zpJo&83>V?j5ROV5x={}iMv|tV?Ep>tB81jDzbN`Xj0m173}kwJm79t?bASx>by5ko zMjWntT!1{1Iu0zxtEd`E219FJp240E@JQN$1=Z>B zyCkS-+t7HN)Pw?YJyFgyZ0z4}7S#t|iwc>*|Tv>ZBMO50a>cB8nEJFj$Hf zJ1AOm*EB1+M*<6~!*<}~C!uT&4qtZDxn>e(pFukb~Fp?2N zrlMu$S1mIwXT|C6nP3Tlr1DUS9ct+2q{o2VJn1sP@p2( zS6Yg;Mafd}h_D=qwoD;3mD^*BhICObVN#tQ+>VzawtkEnr{ZV_yKxfr+;0&)28;s)mBy^6<<-SFx-FxF8BmuOyfO7UgO^ z(Nh~aGFl|voMl{woGL@ zaxlPAlSZ;KuZ+!B`J06BiwToP6 z1az-D5!}k+(L$D_FZpKKWshk+>c`Dx=tGvN^*C!XL^D7j)qkSk{fV&QzDNx!J4OK& z_{RO{JQ;>{X0o~hJurJoQpiQsqX~51~@9Q$(05ck52v;)EMXr*uzN)4~`a6l_ zvx$_axg117lMRtTI1=fa{ar)?=Mp$`%{f7?<{?xd*m#mIpQIa4hRFv$LZcCddnZoC zLoNCRnE8=nAAyhE$%8uT{+RuWR{Sn85W$f?CHHqN52;N}Hb?P4sCp8fSn@EJ==M_{ zs9gln(}e<#ewXu1i-BTWx0hVnQjYiT=R#&*vS=P|2gC(c5WCZCBg`drl!R!R0Haj^ zxnqgdf}hcflMn)g_AdgzvE@S?G^9V9M)klXoi323HqY8i{-TWDC^8DfdD#m8!B`gCNF36>SItM=t;fVz#lFj z@Rm#6gtzd_Ms2x-@6eX3y3NV@P&N64@4RN(AHWE@>cZB;%OW=u5HNemP*}2W$!v=m zCnf+!=?WQ8cVu&}MaDqk~cAlB^qDhDLlRa$q zs$NC>XZklO98m;lqs2p6O+*$jb*2b=|^3WbZ=VtLYGs=obmlO?pzq%0C7GMZb>xE z{G$4UpXiRom;=7TH{Q{H!&HP{k#L)mb}-hw_3Gb0u(*}&9>?cI^}*6aj*)J-%Qcw7 zILGm_^cv6pN`L=EN~}cZi$FVXUt}DbTDIP zL`)aPOw%#FBVvBJ0WrM79C>mgVm@TdM$Tm7p6Q5~I>wYEMxCJ`7%-FE;|=t0>vjKj zIC%||pG1Ao^KF5dRH3I0pNs}IfmD7`zx}9372fgz_pkGk+gE6+zfyAuR9NSp_YlAB zj+BQdoeyXUs<3_#W3Aal|8c?2Y<#An2(9vi6+8q5@n+RLeR(Q*acEV)p<xAXZC1= z(JIdaGwiB@CIdJN-Tz3MDeOyg;ixlJp_ZZkWhuU0s~qf9e@+g-91lu|6TE^f*y-+bR^No|I_biFlXh zug2*t&gS}?#)FH}nK0pNaM8=)C)95LqV(%#;#zDvHV0^dr3M3WVuJk9=9>OWy#!Gc z-4OJwt>vUMg{;A-CUirI;}I@h&Hj19ak$4}XrPhTBNZnN3nt+nXY3#0AK-QzSqc71Vk@ymt=Vp{rFwj$ z>5nCIx|*_kV_^4wC;c5?3)|c-j~aEG6Vdnu_@FH~0_}*Pe`zn!9&Mq8VC#J77Og>m z^91GTjyG`$zJNj+mPO{braaEn;%~rgjfM_lE2ACU=!DkQ%XZ4{Y3eSf1Px(K&?vH} zws8)_wiL}ujuV7(2!L|A3IKTGAFmo%qOHMn77s=+1{&Co{=Gm_n(7x>1M&kD@(WX_ zpFal@PH_(%kUR<>)|3;pJQNbr@wz<|sUFIalv5v2W$Ma~Tqm;fP=4}n>v+S(R0o-` zd%Tu^tEB6G?9e4^-_k!{VD-@7Kl24P_?CUw79;$QL-C=P%EdU(zaledS|8u8bxl*h z<69PL%hHP;ag{C$)`H!S<;7iS9$W~z1XMj?ES9c#S$nTvbJ11klR?jMST57XIJpk% zoW)Az%_3ku2+TO334c=6$Wo1FFVQ@aXa>UVm8zIkU1V)gFBjS)d)Xw+#;sjxjuPC*F% z-ZjF?sdy>CSFcLPJx0X4!8RbtBDWM0obdz)qu%8?^{Vb;VDaWil^F@o05UEb47`d+ zPC683N|84#iY4t?p4SLN8T24-pR8A3e=1}ejS3o`X{NoGxbY46*l08(ikqSvOq8o4 zh&~(Xb)%c3Wk7(EXjGD$)TWOBL%@L{+&(DLt=itc86!B@+cijJ`;#^!Oqo&Uxs^|h z?Q7+o5W>l{5ik5PLezwK0MDfLZYSlJ>9XD%Uqm!lSyOg0A?8J_7srBY8|Zpq zj9gZUC+4!OsqZ2U7voFT@Et)gGCJV^G?T%2Bf_?Os`f>4DDDduVk|`)1jdO~aTDuY z^?J&Yd@Pd(BB35=UCvA^XT9316m}M+sBc7?sUs)vU><8~A8DjhY&R)ZmuL6O+_ zcLDSg+M<=hfav(uzpiujLwRJgbo8)^B{|d@;BLZWh6vEt84G`;5kY;z8MH)zsc!hs ze?+h5+r9~_vIuHRXY>Ej23PI4i()AgB1!?w394_?Qg~OiLsGp*Rj3OJlH%r`NC|>6 zi}?vrb@H5PygwV6D*HWa>O=etMv`dQj4}(5A}Xi|f`zu04^VYp40*3Gm$f*YRJlmd zZboM!7QJ8z8J{Jpl&bN*nRVD8*i4J})%=ckVcyBhYw(Kv(9@)fI_7eWBTi!#!Hk~o zMz4t`7o?JMUKL2!9TgA+nuq6*djBPs;G z-on?O@~U3jBx)k-1L&d4w3{d_pIA?3P5GK7!~V2&VpvB&@9k)V)i>aW99jYBd=qM% zzP|sr;l6(8GB40Tbr}@Z64BRh$#D95aw)K!snrmT%6^-WEero~t+%nE)kO!PE+7Kf z-~uLOFbs|m7@Qgm6F;!LFXIS0kS?cnY)dTN2WM6!^W({+vzV-PA4>C==*KY|frXt; z$BQQM7ljWYr3)Y9S)-V7G4Qc#7m=;Loo0n z3JfrL`Lfx>q_Y=V&zGw6k>wy>kBhC4@_`H5!1!6zS~=`|%J~^8UFcdYHlcAnN8y~4 zJsNgwpA?u^G=yPh+l@t&&rkt%PoAUx3w%Lmu6q&*%9(9!d#kz#?4_+*ISW6$4Y8JR z;RZ$j5GD`yJ%|bqvTe`yKm+R4fd?aAy%ePP)Q%&juu3omedUiR2Ax?lOAEI1&!9&H zSXBXVC1(vPUuTTX|B#jN=w`me*ye)K)QF$U?*O`vPux%9v)vrFQpe(c=`w@H{F9j| zDUIBtUj3GSzHmLlqIj=0WR(pHR=p_UTl`BQCY4xd!Zp0`r6?SAbP6n`=Y_y zhRXO>`5r`aJXCgA9z|bwrYYs$0*$o5_z`D{>rL~w4JOgh^a~AttK!l&C?WeNt8xSb zfuBiR@Z>bM5FM)jBz_K#!>JWOR1T3*&ZvMxRPLEmUsY+M>Nposc^ZG1sLuv%qAvKi zA?jlC3{-m#=yTl}Vfsi(RW^OV2q`KjMeE8`ZEj7FoLJY$RqHhAjQeLiWdvgzPVRq1 zSjjw7PM6fCVK5475QEQY{EU4imCrjVA7&`f3Ej5Hw2`~2^C86|pB(haC<|f(0is(J zbrl~hTa+a4Okunlbv8VUP~;Qgsx&>J53LLgj@Qbd8PBDtD}MNWS5u1BsGaa(Nr~#` z_sAd4pd961Kh4pK|M)zt6<=E7MRQ0J6ptP2yDas{v`IE$1~V=+x(z`c#=b zFt>dh*s?}lW5?UPn}W}F_-mRTXElNIjj0Zte|#2(bKmCRT!=kOL?XKPm~egtC!NO2 zMe89c?`z`*#E6oYw}r}E^2u=pS`kWb3L~O1q3kT*fJ!8oG!WSIUq?Ua3jM|M&tOK| zX9){mX4o}%=7>|s;y08vP6k5x+J$zA++H5TNw;vP+eyb&x@06D|Dfxpp@TnO_24Di zYDcr9t)={Wwe=n8wa2`T7I!nlNTskrPIM*)<-~T}r$Jp%1 zU{tahXqt?oafs4XabiMvO7@A2!)O^Y)uzM)AOH57v_m=%;onR+AGAgiU@Hrxnpo*D z)H9!k8EV<0W*GnS!ySeqNSf;fE?xKDQuoEKx-X2ZTh9Hzi6g!$&k$F#ff32nTWdj_ zZy*!~NA)gTF&KrfHTVR4#o^B(K)!dYO~;T4dhXa; zFNW1SF**>USiIS0baT8p{B7aQwQr&MsfIV3w72w6_#+;L(2#6ivQvT44begZf5cgU zAf`Wp`)B?{{a>`O{xxgj*KbWZfZdND>)Xs4pjyGUFg_9WVw$ zYFz_qNb-S@=$`}~w%JpiR?D31n>eqJ9USP06ImhBp_7!66n$k-H7FoFAD43;Y-GurZ)gQ*{~AnTYH_ahXX3l!nQP(gT=+ZbnoEfwz4z@IxN%3t(n-MTd1q%1bF0bI>=cm4^V4$40^^l1Ap}Mgs5@=4A^2I$H3x zIJ4+6gxW9m2uP=gL1H%y-~f+U!gOmT0hor{qU%3~^|QurSUj@Ct+ALjii7N>H&D`I zg27*e{Ksq0IY`)S>HEiM&kfjyW>6fXJ;xD>Chdv9C+J3^qIDNV)Q@HgsLNFwFt zq3BpQc!dslsD|uYvRbU~pyyxDdBJHL8}3%0uK?D#{vGv&e-ZezrtAUyEQ{3}Vu#`H z(JcH$IJ$t@k~Lv%^cwgVt}^g1sua!Np|Ja|u9s1pmcrf4g|~J00diD@Oa>)i-Vb z>oM9N2mix%TYvu;_1}R*F`VW%ssFqf^<%!AHM#t`Ms;XBcbA?;$daszK4L+ zobR&x6fBhh{q*>aJ`6}F>}m0-Met8a7tLXrq&c*gh%t97ST96kaC=W;H#cpKH+%t2ZJ&`6(}<30;Fm zs_Hs4_W-B4k@EBxv==(G_3b^NGcz^Q-rsQG%I?~G%UAxAlWp+ zbP*sGh(P{B$mow>pyMKyt=k?rBMfg0dmx!G#j*#iDUY#c*B%BjxNO@7k|CRt0fk{F zgbEzUMD~QS#%snxtgu+Rdytc&z@4kfbXbqbqul5v)ik8T6bHuIOf0MKhYK z=onW;e-Br5|0B|(ui1itXRuvS8{MLhZ*W?)udAY-%~kYMcVV8#RZq!$5j zR5f+5S?E25HObllejd-yQ;>Re#OD$C9O?kkLQMaNm{S>3fe}1nx?b%r>IlXpB1S#^ z5(Kjpo?^g_UxYkbQy#`A=$Fh^pO^61b~;$mqZ2ve!wP!p{-vF++O89$C+K;>eAN9K zKdSu2&Up!PR13~aSQzOnLywrlz7Zo0ZtwnP3EB|zyo4pq!cX~dZCBqaD>oxy?i35= zs}9#5It?>*ta|Ll2$=mllZsD(Uplq8AO02=V+MTZRmDf(@7~4x%ik3IH4fk$X@%_s z{@xCJr7X6qcZAZ6qK{Uv@#quPzLXg4>-$~|n!Npy{;1nW>Z#?6qT09ncBs6?0ROBA z@FV%FbYgtoih_N3V^e;r{m>1&7=bt+(|pvh^P@_Rf}Je0;6=d3J)KD4{zc(;&-wrN zrtoh4AO^g5HH9~SVFa!r|LXka`G1ka|3n+qKmW+#FU9RbZ(Ns{V5Wo`eu@#l7YDJ+2qkyV+TGll}Y&Y$lhVx(F5p?>fR3 z-oI*t`oG%0`YI;E?B!a;UTq-g1`0&gE!n@?aUohAd;ekiAug<#ezrUq!xLtYh6Q&m^pMm}l1Basg>DBe;rPg}we$ zdf*%0<@(RawvvI;9R)KE?U+#D3#{@5-nW6o&Wh|c69&nKoiG%s+{>zwu~gr7fw``H zAcfb<5H5|nd4f7DoFSg;Rly4!cBm2Z&=u?zg@wJsSU58Yjpw%F(->%qg}uU9*y_SU zBf@4)P{!LGXlL125Ibw!JFUk8fNC8U4rvYx7d|goI8PoL3+p?w$&^Ice2?81V7xf=^&*A-ylMQgDDpjw9oPjguK+kC;o5P4`U zw2i_-+b}O2PVGa9IEaC!SioIYwqB@pVPUQd3s=;;u>h9Bd5h~>j|BkLIxJw@Tzp>e zJttT=O&<0(p}Cy?#2QYmWvU~z3<@&}*{z}-J=6HCl=q{4e5)T{=*LI$fD%2*s=SYA zltcM}^GU~35ARw*e)HeRm|*wbvU@QTmRC6H0(Vq4%wrBvoKh^mbSYRviBn^6?)3-y zAZ%aux=9}VvHTr%_G3`;psY0|$v7n&-^;#W2MJdnr}?sfv}P<~3%|=L#~y^rZ#e*8 zwdzoOa={Vgs|{jyNe86xN(x>w;KM%4ULSLl#Ii3^e0%NS{R+_S=MN3MJ~Z%-5O3Xt z9BhqqcP*LR5J7b30`2VKe7NOJQh>$dfg z(JS52$6HhX$#-M{5vs50a>lkas z-BgDDo&BuJy@Xo2Av7zdvK3*T{erJHukfrYGxK(x5RkhcThn^x51v!-qxEw?*t)wW8niSTkxx^ba>OcmXYSg5#MkQzI zv*+iTrQq7qdf`>KMun*Ye*xBJw68dL9 zW0J1Xzw=leRQG4=-Mcv^>#8g4WLJ2cRSB>5u0LIA=jJMXaIWC>9(jPzhFLQnhbe(j z|G%KUR&!M!uB+~DSAC{cIRoi6i)*8yNZz@R8vQeedNiFb<43aig$y)haTpC;B2EeO z3Z3;}BAo&O)0u;bnq_Vl7o*__EbnNR#jT33q=fKLN0tVep$-9imGJ~@Ap=bTbB%IR zkiwR|R4G;iwyVw!n2d6&u?nJDz>1q{KMcKECwp9k7gr_S^bg^YB6-;4F}+JY6>(JW z!oBC2L^bA+cP5lfw7dPExc~$rR1j94{(2C$b)dFs4%D|F7f@HrgSD3)f-~;Y(P3XA z-S$n=ZF3$M-S(Aur~x|1Ed7`vkI+y+s{D2#!>r0If-bsOGiDihhTTyFV;1lu>3;zO zP3aHD%t8$D9B+Krp($flW7R~n^tUQL7cn7Y>JdknG4T$@eA$+m=VMEZYp{{vV$5V0 zW0poRrVKWI#(IWk0gJ(ytsZQ&YmVBVJu1}xP#!jU3}e<2_!x|tL&n4`3GGn0d5ujP z!-8lvW43P&)Z;a%M;lNz=a4pEQ-H`cAB!Y4agDf!K=GJn--r$y9G0Liz?zKK(x%l7 z#+t+UN@FnYz=3Pz6nTUiv4TV$BjLDGS&UHur1Bch!9DS?p z-N9>bHq^330&?ZITzn#cHsdo(w7o@*v9*b-H>nXq=x$Etzf3oGPQ=()dXrPIa-y}2 z(dym=YpvrmMqfdMIzr<^u+WUp>=#>gHN;k3E}vPs3k%Z_wmbVZ$xVD_Sy+3~S}e5M zX9kCCd@S^QNErN3d1zkHJ~Ilr?pa(uvu~)(s3blSt=2?Iz-LC!5If%S+N^L6_6ueV zjObIuTb6~T7Oic6tG#7h*$~&J==q>-zdUsNb>9_kzsp;;nMh&#|II+to)sOK-Tnf* z{e?FD&uiLsWi4%e`&-?0r8e9C2Xy=85&GaeXo#-*Qz!jsryqaJF=}IU%k|qae}#Ty z=O34Pg#wkjL>{4o3H`748$icfl^yXx)3kX-e9d10C{Lb<3+QVCm0B#1&<)u9rgHVC z!TRy)Y|K?X`L$~XH9Wt<{WxWuDoW-o5!Qv3aq&9NqT@u#)=5L~r|A5lW`ZOT@?|#` zor>2)`iZha#fS2QF#j5_k3O>ohO#~=NiE-Y$qil0x7{?Mi}(e%mMy`qwe&>pT}#J| z!n5}YUp%27UP8x{w82XDF9JSm$`Wb>ecqDX*@F=X}wwbbG_` zQgi4~h2EQhjRvzN2bR8JK8_lNe_+p-VU=msID~lV*-w(D42w?uyRfUZFS(_vgRg1` zrrJ59hCdjst+c8aFk$vqYpS-};SS6VbdsH{1uPdgu49gke^U6G$3LlRB6|98YgmhE zlB{ubrgtvl+&!|$5o|+X?G3{jN%p*wtmDJvpgx&}9HKEXFCHc)FE0nI^{VP#&B?29 z(4XAsC@rq$X%;;5Wj+!ih`a60(I1#Ns>3(zy4zx}x&Fgx`+NEbm>46TR zwX|kVodp8(d~zf)zc77qzJZE3-#`dsP8`Vvp=yyO7ZYFv$yc@1Mf3;~1EP&g5m?7n z!jsZ-$&ih?fp>j@9dNDY@|2P~ND+OiVBeK(Gkk#`eZPOe#cjiJ;}h~G_*M-}=5y7+ z6#crAM~9-kjyIeY^L#UX8X6^_9=xM?E}E}b1NLpBNdF(*ur;4G2FLYJm^KPEFJnL z`EL7cF*!Yq2Qwi{3e#c!lG}4X{cO7kj+9_HLLaRI@IePI7e@&4DJxr9Ot9}MvY-z9 zRL*+2QijKUrl`}ge}S1Na`h`=C2}=v4LtPl2udTmS$!Th8GpSLut2lhojTJQttE)zvh$tvxqND}|y{oI@SF91=qF4f%PxmevQt9oAa3y7$y&KEO)2SOpLmbwA_P|#AGFHzjY(+tRS&>R`c8`Ew-LQdI0 z@59mI9l5ZC#e!%&J_N$h`Q;oT#Mi%-z|r6%4MyGrRQ|&ia!L6n=S95FZtad=k7{oL zyOGT(+Q>qwqK(ueuhp2aUUEDu9i1}cJR`AILSW&9EAjV+*t_c*yJ@w)kL>JfMXpwH z(%pM94XLM>lb}RKcYr2t{i+ zMi;7xO2goRgVtQpbTLHJ=d+Wd3G55eBxAZqG!6Yg-EhY9cr%urDwhfqatW-6V-C-c zod}Kl#4IL5#)uCeWS#S*Okhj6!P?!u$O8^=qMs{~P`x`cyIk^Y3bvfT+(RzqSya0z zL>`bwNROkX5vUV=3!)V|iAN$;2>eE9Qz(Vhe+WVe*a`zUu`&qF0t!-F~dx`801F8nAhuX4*xD*)Tt`qZ~Uxl3n`@p5d$X(Qcv0;6j6eZ&$%djp^k?#XKr4d?fD{kC z$%LOeGP^f_jL$@<8B_<-bPP5U0l-UGzp%(-0tpm$hEcekyKmVDr{lYv6o9uv0Gc&~ zp#M$gG=Wv@t3@E_JUIf4T{e??1SBd?iqtkKoAW`MwT(rCy)poW>UCT$q~ZaYT#RTa zt%mF}o~b$Y9DVP)5_JEh$`ygn8gDUIL8CkYR;i%<0$e}=$ikB#mm~)DdAf)WSaJ!p z)PV_xSQ$N<8fWJs9Yo4HbFpP11vR`(g5Rc~hz&=ZK{%;=p#nk42{(ab;pj#c7`T0by-J29AymUy|m#F#1X`XJaV( zL2zm3vh6p2e8oCD6x|Tq0W}}lc6YOD_nd_}PB8jDKFGih#0#Sv-4CKO^_Tnrc(2{v zIq}T~d(6hcA&AAC_b!Zn6v9AHt|lLb5mJlA_`KFWj$*>j=jDyotXK~=qOrF%D?43c zhgq{eKR{xKSe1v;ZVW;M41%qSMky)5$5iL#Wt!8RpDzVJ9~^B5Ki~2erJ75Wee*Hc zUaD(_pEC)gh$@b{PCfP_xGd~tScR4hI|;IAzswqc2rd)O^HC1R6u9GqOIoSY_iz%)6CIdY<(48(A4@BluP z0cC;Yh5|3ehHxJMP6khaAoZ^era8gdMpM7T?yO@w_|xZXGy4dKa~_OgP7dIM_cJGn z+B>PN%rQN51Z%~xD76BOFgyj9BpVD)1)blr(>?&xp~Br@R`I9;<8e~W2lO4$ETs0^ zrFPQPZ6v2*iB@7510X6E;-}KNE!OYD>Esy#CBO&}BKtW1I{Qt^KAuj7o{845FfD|0 zIy?Gp{85a82)#I;gk!7>zWc`S=KEN`U+=4y_t)>ImWIEf&m3x1KFI|Z2-@+K1EtxJ zY=>GEM<5ZgOsgV8V~1H4T{L#MRqkvAXyqtZJ{;ezZ6Dp zD}}4jZTX?h_|B;>~O1c8c)-RGy?u7i0DWo+BBarm)E2F!ZS5r5~zKRG1r2%+Mb@$o^~}Q z{+f6pwADS%h;!2dy2r@KK04uxYbmf>?|%)8*|}A)>`cm)^~8x1ajgi#?d+8AK?q`U zc}Co)o$}LZZmsU*iSxKjO7(zqp46JkS{Timmf6vrs5RE_&xx;F5gc9dH3bLs_tpWA zW4U{uf&=S)#7x1yYWdUa`>6$jBemyFI*h&6)sSRN7#YvuAsn%OZ81$629v{Dwb}m92^(#aR(KkHTU zSVb1gX|LMkmgiCb386>*zyGP$)g`G#^!xUyOSjNVqdF|si{m6PSgjm^H#+THAV_f+ zRSaeqba62|jF7pfQo>fh&=`(+Fr~RAFXkGPkrvt0(V8Y644mt^$69hd^$&2vwlVWDW5)FRwd5o1tE0aWq0QMD!Al|LpF^*{_8tV z_s+f!;_T~;u27=t?VJt4rI+Vi^4k3RVHj9cgI^2vxhJPlu+@S^WBxPKaH|tuMj8)j ztEblspXtS$oMNq&=M;YP0lYT&ZP%Uc;J3@_mETy-kKngPfh@sqPe0K*zez3MgWoD} z5{L80GU2x~B`_qayjjlZ_{qtFL2`pM#hB1y{y9zlB$--@4aqI1EicU4%r7A}5@|n) z*f{l$c98MzmH!K|;VfvKjNeymyhw+Jjdutc-_&571a>}cRxQN_6*5|mfl%Cc`BD4D z#-&tKwMSQ;hj=iux7(E7&Gn&M6SJ5=ViXto;%YS_z+BZvCdMfc`Mw84wGDtM)^8lv zFWQ`Ou3bUusRgJFed}A@?v&5n2i7bx7w2>HN!z#+$@t67?Z@3=gj6f2?9O;Iky~bn z0zv6>_I%j>g8%g;3;r1)ujKXM7e;rAWv!zaCcGM02&Stg-QW4s`223~{E1cwF$ILu z)uZTT0&U!xwoYB|C(2Hl`a-~IBenj?Z?r$WG$7~G2W~h zEla=Xdz5ZT>2w^nD&GXp!Xnhes{TwcpU^$9mIhzs)YS!AV=E`LW3<}*Qv0p3Ev6Oz z>#z16vn?b#>yNDrRNP$HUJGn*xYjv&C8EkES5Vq&iG^>z9qT9wBl>3h-lvD@0wbl;C^`Y9Q_yBWG9`#8Ij&$)K~k8JvxpQ7nk z+}=+5){JjQBYVI2W9YkQS_}H#@$ipqHp zTiBUHaBtP!ogt*kw}{soW;vNaw@#or?$KtH&9JJ_mQ|?Ai#bcGvSA`E&eVL4$OW@* z=FXX;urJ`gjyc>V<`NQ;1W(oGejSdkm_Y|PCSsNtK=zR)dp7A#n}E-mFctTZ2?5(FRh{ zc@3nCOm+{XYnsRntwE~QCLxtcTneOH1jQF%m0^szn<#Y-BH~=&JiS#o)y!hx6l02k zGrc98$F&Kk)|rHJGtrX*XTHK20G!#1(ndj{xl1W_6)c}h`C0e2hEK7*=^FDwV|!A{ z7n$rHd`{Wh7CyDkB%Cs*1UY95Cw!>Hmsxx4v`Kk~;Qqb)(XX(=A4Z0B0?gHZH%{NM zdARSGZCxn)-QWod>mQ6hcy^FIod3-w0m{lgQbAv)>qMM8*2(8Au~lNk zbgpS6`e4##>!d5=Av@8Z%a^mm*Qp&4TRNTB{>`(ZDg+S?4WcM&t_J3PvD#J`JZe#vyJ9(uu4y_fLqp(R;6$&7ICFqKvQfIHP1j+Rhq@X!LqFoyP<-Ac0nSCLw+o(4AOZr2JKjJF36!Hd4 zfI(7@PI|-6TWiglh8F|g2*ds1#DtDa%PxpdzpE<$!H2*I3aJd4>bFcBM_H~~h7aKa zk0K6si?AwZA`Kp!nRF9%HSUzsR`g1iR%_xYja&>@%wa8DF*k7{Gx2!1ZQ>k<{?=mg z{REeC-58eW{*)`?RDy$^>zwm$mceYk1X^f^+p!SZAp79xjnN5C)_8!Q@|RL_$W!u| zjorixyD@FzN$>-;7LUWwu(dzVXx(bA)m(|Ll6wfM*|mQpI$FjY8`jmaZ`)^wf{ zVl6%b8A^Um%AiQ@wW#u6`!nUTLd35$aTLEi08S%3GXIg47xW0H7O14~gBTY!=X4P< z04p*O!UPcrZfGXXeUew&B+VJYucURHR1@r3XNhccp-F8ZAaMS86LBalsEA5q*_J1@ zE!y(?<>91)+y>9ew{Lmgf{tHmKM}OvOsE)} z@fWg^Ux08XYH+K9kLtwqgjw=Bwq3-Kg!|gRpo!w#Iv1| zQU+uMR^5dKK~Pz2mHjx+W`*${Dy0H3M}2ppDJlrYQXE-cSm)e^D_r9z0)O}*@k_Q3 z`tf`;U-jc@0|0pWmdzM0wMCgwD>;CMTlF@ef{w+?<;G@j+0?5gK{Dm%|VaZ1G#@;tP?(3C?^MU zZA6rH0HJ7AfE1;ifM9KOfwYCNz@)H99srZmi!0CY;NJ`k5K6!nB9zry5?}+M6-pgI zjXKRF0}l{9u6E^}dC2b9nE$;6dW5y}&Bs)(sIZ}+3~4d+UqK`;c?X)vBH{esoEM;) zSt+1Fye`ZlE7;LuAa0?|!@~JDYM!$tPchJn#Y&CK2W(?Fe~4z<%N9k81I(nDC`Pwg zDD4X8_t8vrHAJTV1GeIC0sh-AkV@}*fPhA>6-cnO!LX|Hd3FFN5@4%q$weeQGYMY6 z!gyq6BF1zC`3BGID$Feyz_WA|lAY=0%h|9#Y{U;6! ziC2rfuSW4zWG^T+35ubL{nLnmnBV!cp?K5gc2RupFrm13E8zlW(55BDOEk~@hT=k} z0O%yyTatB{X1`Rk}`$|D0EShTEqQL%Rz{NKnS@F9GM8ZK^4w7IsdTYT}7X zSwSW#5UQU8hN;fVMLe8eKUCU7p=3udC`fz;ViW26;;8Qc_y3Bc)^$s8)XH0u95oG9 zDn~6^b)C zCBWBV^8jLEFfk88R3#+@ne!qt$p!?^kUA$z2D@rA*j2PO*tvZd@Ij;4-DFiv?8MT3 zVsQPBJg90xu44(bW3viS2L;b~vLfQc`7qf$6mfkBEzY2Pi9(=YcXJdcVDR;ezOJ{- z#PJqQW+IU8Y{B+6jsqO(I1b1#u|XbW##f!SSsnzZW6@BMrLvO9gsVA@jL%zFdWWlr zf+!1(oolS>lbO!gGFtbv{KU>+TlmDtMF9-(6X^h(ZNigCQS`Pp6paM#@g3pA7xfa( zF*_|p=Q64p?r&IYB-GXKlS#`sChg=_E~|p4?_kGxWL2Z{WjSC)uTGa1!`vYyj+SPz z^l<*Bf&j;=65=wN1JM^VZbeQfDOju%{U-Yl!E3Nxzljp#XxDFoMl-C%{l+6&Fcae& zH5n9zqD4!oapP$BB31!(DhxVaDhwkPhPUvQRN|_B92Vy#U}w3orpOq|auE-N^N-YT zIa#)&=iq(}|A}q`&e=%JxQ*9_SiPko0J$e(0687ejvDQX=*}Y~wVS=+q_;jSV}n^~=>19ytk7;2d~I-GwT>nR-y@jRSZ`Y}8g zik&k&DJrW)$*B;48Xk3GBRQuC#fD^S7U0ntEm;(^@gvZjXj=SZ5ufLnahSQzL9Y0i z6tUUglucfUA1tqWm{I!><}RZ(>45kzsI{X}(uHNHI-J(+pIi3p2>;aP9RZeGv?i3?AVN4${ z;A{ChXH7z)K-3vYLa5p=N$9k4_nVYS;=b~_NGA*h>?+3fEz*eNp8m!c;N@IG9qk2r zxGDkrOswBuZ==3J`3J)hA@MoIlPCk-mgp^$t}L`FiljiCKtX4_kW_1=Xr!T|OoVCd z=|~xFOPwd8&UsnGB@UE2JC~9EZt-;J9KD+RTgVfxaCD@{V`d_unH|RbC%t0i;;?u2 zAs64E4EM-IEkxxa3x@soOmr`=Tr4%-JINBNuzJo}^rq&IIQAAw4KnE|z>ix?=(ffFKu3FKa0mFOe+!lZ$Q!H7Xux-j+0aTAGuY-s)A`XqGYYcYO) zD=yy9jVm3*U}pV@3Fy+<(uIu)0?+-;^ELnYBS<*rB$EqX=bQ^&mGk?PJDPEu&a-=RXvN1r$b+T@a7m znIXzyijMWMesfA&h{G#xr#N&C4QgXZio=&hhxRX=&B4a3uZnRH((!S=qf~?vK>MK) zjP49h=lI0Ye70PM!U{qb^ADSA1l?7*Mpoq!8^S!TAO=XqdS2UG5pIju%BO(e#zdwT3 zTvzJ7U@WUcv!M8(BSW1nJr-vFag8eWgjK5iH=4%)I46EAO}2TBlSbl<|4{U0o>qdV zVXzx}57q(-<`_lMXs?)rX$OB+bZJhN8l}UlD2l&=HCJb#fa~2K=H>Z!(@q2+eU63Nx`oYCmZ#6j#|J~G_SZG_Z$cCpe#c> z4ITpg0J2^ZA#zHG@kt2*@rgKrVQ)!ymM-=bSwk>Temjaho5d(4wMe0+6nSH^NUm?~ zqr7UfZNQuhHfHr;J1x%r)RS!!$0B|aYZ6Y2ydVVdO*~guqj5e{58O?U73qGZK#6;} zQc?Uravi(h|6K~#9BLkkp7?rXao#^)76DJYK!TGr__+jNOzb)xO*}>RVkhdg8p9^P z9FjY-7u)uZl2~JBVbMkZPO0oK=20rUQ8%=LMLz?EgRAQBAz1WPWyF`|VRf*nHn?gT zsv+BVwx%s)jBLEDBTOukF06}JbSQ@^B*%V&zM=|s#+gDqnjjZB87k|}Gpwt9R4$5; z_p8a>6bwAL08wQQFeQ?}+P$w))^3Y`DMqNt#LvX&=6n|v{C%at7aDAq08KeS&~wlB z6!iSYJPLZwz6qhH76^W@@gMvrQSC&;uA=Ty z(~;(wp5X2-bUV4~rtw2L|5$4al2&W5OoQh&cvb>5x2xdlSKp@K>KgMXxa!R?&B6^LSk>cNMNf<-&3TAq8j>*Ut*~B@vF1$za>XI@!>R zb(J;Eu)K&P+0Ew(mPcuDl?In-aFGNUO*(&*g5SN{^ilBpJoc+P%g>ckUX%d%=^|u# z&E!*A>tE<b*HIU9ub}n0Coh!U62w)NiZ2-`cukHX$8S38T{C)nL%-i+|5ZtMd0ukyfSMergLJ zAMISUj5QLhD*wc3N=Hs?;@f$!_f=ZUcS8vQrl^qKCrd3nMB+Ha;;-_!@5rtrxYc?W z1b&9T#_sGceEp=phOFNqG79tNimiyn=je-oHB080kzKM`dlxhqIS2sHR>g8=9HSYr zS^G^9OyAnIyKs2vGB}+HQ~mm@6kfdDJPI$K%x_&Cl2Uqs6ajY~r$a9`*^JclnT&@3 z2miTbK0IXeVZM2Q0Y0fCzyhDt5u`|WUYgf1=>$3*2tu)tu*+%?E8rjf=DR`nIEQ(T*_M@(pm>#yX_8|ffv)^wSlG}Y{@2zZ9&kjoIn2z4?hKN-BQ0ldQZdgF3um$mX33}2K^<7_vV`{ zP4a7Ss06U^bRfQGaXT*_xXr#4+L!-;yUAfx()^tyDwcS^&%~iP$yy)0I-S9fgNQEg z$n+l%!aLf~HmKu}SP^`LlAQ*?Ls(X^nI?@A}wvkswL zE8nI2v$wDf<-0nQtYbjSjOqkNdrDL>+SSCp82!~_iqY>)$)~up)BsTV2p_8a8>$lZ zz9mtucb$oQ>)rb353F~P*2{geutZA3_XT96p5Xro-f#?vW#o;cth=vO!_Se$ zEqQ}B)%aO>?=1KQdwu*0u!b{O;x0c_{0F9m_z^6me3$NtmHBA-E`hn?9lUnmRBq?) z&PZb?tNH^$iS8nSBn8ioM-#>AnX?h`o3<*RQ&>A$)BeoZs%5aY0zdGd<#ZXzGbKYq zC$ISx52`Rzh874y7aH?JQaPil%#I~}3Hg_>c5z;vV-Bi=vDg`~fXJ4qEnO%OYkd+L zKLQPNBKaa3%On6(p85ru(jDUbCz?kYMdRG>*`{l96Oab`x}5g7X0VKB<-2s-F8e6j z-a*Fcb)Toy@UnT78fLHtj(yXptO0juaT0e(7GL*EfYxhzV;&_t@q+~uvPsbHhcoo&&Rfe z6lOPH{3X6OxK&7>)D&8vu*-rSxqKHl_ga;5)0<~Vl`I1Gc>*?d3M_>M#JIo@!6aBp zY15e$bCa-u3-^)g&!y+>9BjqZP0&baQ7`Y+UI}mWrHF~=Jk-lFra}l!marC!_J|+_ zr7|V2)|zzs%Jbfk7 z7_cgS!I$`?>6nh!`zQ5-AJU5MI<%%H09U1}m(hOd%YW9BA#!toIG+?#3lRI-ym+>ls z?{I;fY!>0IA(j)LSn8#cAbt`4Oa zyZVI=jht@8`pv(9&2?Qwz=1wz*k!sVnk)T8Jxbg)(UNZTf=`Pd%SK@AmZH$=($kX) zZLD9%5iJVcHsZfcDTQ2<7T<)mV2qZXH>V(L?}z#*$a)@GoUB1Iy!s^o!gb&De17dB zyw-e_DKPv0=`CZD$!JYegd5`}7A>etU_5LS;er8oMvw7a5$Ea-I0j6xyN*4bwjm;3 z5xxx;Sr5Wh=TL;7b!7|Oym_f2T*|+FGmH%s@I!-5m{#%ynZD$sR;kk1Y3fCI-O+qa@RGIRMW@nw z-n)VZPdp0SY1Ps@qVyRlEEU_%fv1Sn#^OQgsrpf;iO1rjPGT7uVO8Ei&LMAbCYr3q zd24|Au!~i3I`YIXVaB|*6OOfGePBPPFdt$~%Rnk(Bdr--_`azo{x#+K@8xS}n+9N5m(>I`SZgnh}IX3Got_PL$!r#6n%`-y)f!&ILSXf)<;Ulx-4E`#pF)>GkleL~( zbQQPbVS?*?EN~@MY|(70xWN>l_ve3jKs zGpC$Lt{9HNyBn*@`I7g1t(|fZ)(N}OfK@1J)!MSJ_0yRDkqh-ejUvJ6K>{f+T?n2m zIQ{q}39dX5$Xu+*M3!d!nJGjs!>|o`r~8dJ0;8BiW5E~Sf2yX zU9kBS+}B@MNf3h>b2i_;_^SST*m+;xb&_4xvw8!NT-7TGc`JU|!C(ZPL%>(!R!ou@{zp zD!bgBtn7l?VEC(Z4pf{y-cL{$=nK@nl0Y3n_uwy9kyVU$x}WfVpdb4QsVeYlEDn3T zKPDTY`UvQ-?=Crf$khi2xDQ3wam{EOqQExBV%i`ex31+e&_1lI(ARwWK$LDRJ{j_X z9p9?>G6SwxyRbI=5hC1m3ga}sv!jE-iq(3y2RMeh*oi~DV*{%3IZH3#as8%#0LjYf z1tjJV9Hvg->Ayzc6NBIJT>kHm6#iN^2^+oGcE}!6J>jk#z>CCCLRF{cF!(;v-wF$SK zL1!f0c8)-SWUmY-Q0BVrJZ48bfmCB5F#5{2H?2NiLY^h+DmKzh5hxF%iTr(QWpvKm z)C=K37#mFUrA1I3i5Ov&Kj15C@loO3C-MF#vQDL&g1$Ng4s)7X?53jM_GK!#WxTQv z*v5HBHcz^`0Yw8WRq(E1Ju*!M6387CbY^^@^-Ji3StY@eMhs!hL;vdL^p`2Bw1U$? z&QZ-nz4o+LjE$Fm}2E)Ye2n9nfgAOBy&59eXwjew^o>AcW5x+p)e$Z-DV zo`IJ9aOHs>elXjQJzXKm55_#`c7&LJz)J~!I6gPY58Y6p@f>(a?J(%FB=h|WdwSpv>fHn|if+d6&P}eYw z`N!-sOmOz&tuTR@PK;1sk>UJ}-2*L|;FmpqC=;CcVuA^d9+YH)&L~isp!?)jnBdT- zn=?Ulot?v53VnASMN!~?kD}m;+8eFxdKC%0UktCOegs3XbziOSK&(8UZK5b{))j|E zzXuhv7q>-)LKM#);ELv=1Qj+IDr{CNeAZ~F@WNxQP=TMhqM1d8^Dpbx3KiBOQGG5U zn!i_9{PXh(Dm*waNrkB>P^nNku@x%JezF-A(EIXgr<_1rTjWEUlVg1j)Vae+qK!kw zK7(Y{hyKD06obuipZBpB_eT*yW;7-&&BWlsXWPR4+-A6+pTPYB7Kt9PNO3=UhrxZp zqpjecpSieak>UJz(_6v)h^{{r_b2=_f%~IQP2#>I3RK*8Eo}w&y%sjZJ&``+BKl6k zYl`R6V`&^Ir!ggGO)v`ch&ew1QhuRGH7@0=q=UPoH1h>HR{&Dsz6Z=va8>?)zO2&# zd^X4E9CBL73x=!9aGJn>ezl{8$`rzYQba3im}qXMH;G}G$`gjiQ{en+RSJ(M$HGq2 zy-a`|3&I2nrD1{s0hx+&%>UW1sK&84DAD~fVvFjOOVz2sseeX!#O4?`oGO#6I?a?K zlKpcwo>fYw%bR)XERX#I-x(h1^T$?rgrB)Q!Xm@@|L78EDJAk!A@HQeZ zV@SdcQQunEAa(_lPjt8~I}P&zSO&oU%`v}X+CDJ9W(+|b`pnoJV-}j^><}DPcm_KBEE0_<6hT_3I z$Ay_}kRlR{B~OCTx9C!rlqV(S`#|VTPql^6CCw08lR#*;yqTxluVVhJZwx|rKhz2< z^D`HrEHa!wr$Z|UwSeUx#>$^PlR)TuCngd4FVvz4U4Ba|2z_0Y4KG4rsEXFbw_$$c z9CM^h@_S3byS6c$#4dp8nUQHnBjP*^?>?)$)2P8c5_oX#3-1Hx+p({}%#V1~hDRvZ z3$l_-ycW;O#F_F2<^zT?|DvxA&S%VP1?T+C#W{-%=LgbS!TEzo{9!o1?e7Vk-`F>a z^Yc-l;(YkHR&ai$C>b7{J6H4(EdHMc7f2wR0O77edZ=ANG2k_mxKr!!u731ZxmNt= zaKhFxGOO9+F=pa~t*<%gbFhzZfjgEnOe@>eTdKbNa2RsVM!MI2!}HgM!#10)^Bi=l zsRuhxZYR~SUMiYcWO;g>^ME8_x-Qe9gh-px%}$OsFekxQ#oSvmapW2uw9T)Xy=@MX zQD-hk>H?g<8X##Jur?9%pZ&OAuBt$xZ@XN z=;X8K*9`v8@k-ZYXsWEb+6(`m75-d8SdhbvG5?eElkn#fsUG;t$Fv3i=?Xs(UT8=A zWI5;2&W0y6kA_ynpyhx_(zpw?aT7iv<)Hsi>tYK}ra2WI4?7o|BjPaRWww)%tq6#) zlZbFJ@`Q8DVZg|qRO??e{;{SX!A>amaTBG4^+DMTXJE}Ru#$K&e^Ip_SmQi5*Ysyl zpT;K`Ap}eunZbjdcnT2CZo+@?2^ZkxB`ub*egog=g`PfW52g)PWtd2oqo8=SUCjT| zqrf)J%Qq^bqJ=1EL{@G%zcW859b`v`qgXO)0wwSYCU10-ZIomtptuk?DM;XC6VAag z$K!C}=nkXH1RDMk^)>tsF9UiO1g%+DyD#I#;3a3%A;95kFAh`qX<`Vt1N)A}O_{OI zX@EYIx1zK+6SCc*O^jqK>vzH~wmcL1#EDrn-lm6QJrA0}Ygu4wcP61HKu(WGZ4G|_ zPCUP4eO0$**yVdS!G+$cxE+ftb_~`v2n;)Co1MP^4zbqsE16urWdZt^ilZ9DsL$1# zaBbqv29vUxA%^Ki@(i9te2K)pyzW}Qo!B69GTLi~241O%X-A=afz4M8F=s3>2L`uR zKZg>n9jBWi|7@r61YoCpIl%^k#*z`iH9%k{5MjqUPky}@S^=av7ahK{iS{G)ZNYh_ z!(nw^RqF#9w%dQzHWvvj^RnQ=Cv6|k5Mlgh@SPR zDJ8!({ap5z@-1P)0Lm;tsJ(0vQ@{$eR-zB0&rjhsAjpo4M$bnTGM*E9?1#XTHP*1Pu=;!@={Qm>-~}f&z3%tqX3c{Gxn$7y)d=uuR=Oot-45I#WKSE_=gV zenJ_`zC2$Zuq@}Cdk$fdI=KRX4C6@v^ikT4DPd+cFteDyRx=j!pRz9cP=iXz6N47(TK+ukcdUWn^{u%$_PJXU6@SnA=cIq$obkjeRaY*%i?y z3bXlaaGo=17(1hoD`!P8rzS{(;DE~>X;?iCMVIla8zN}d9q2bLxx%HC^Xr2|iM{tg zaOXn_M+4Ns9~%tJkQ8~fQ~TggX$Hhh28U1_W%e*IREPD%Twg;YgS3Wk^gH)&%J*2h zZ}$DX{eRCcDI*&6SZ~!(*%MW}wKeM>6FJNQT6he;0^Mfw?_i0G?Cvq)2)p)^PP{3& z>S`qmB49^oCv{Hu48cZ4PjtAyH!p7>%8U7z{1)W^Bwp}$z=XrS7Xnh7l54%jvaFXZ zDJz#{Emjy69E^0OJ&8sRd1y$0I1B)X&HMKY_zE(?CIyOw2d#?xm=^Qj{vx1&(W#=6 z&mhxq?;%iejv@ z*M8o&`rRYIFjM83P7c&xl~?H#fxejT{AVz$q?kgz1^Q*fa%OV6%PWk|s-X?;0j~Oa zQsy<2Ut$G7`+!&U+R4NbIhEDo4?2Ca*iD?V%(;Wa+^NV zZTcnBbeeUs75i%8gkqNyP<0{Daw!B8yh|u`T0@UnyAln5n6F`JGc>(^rc$PWxI#&6 z7GjyEZCI9Wm=8KFI$0%GF>x>+I-;-P_kzop&fxdN<-yc;w{-(9p9gJ_!~Lb;Q}kV_ z%(kO_vQX7<)QRpR6CHp6F3U`F3eC>90O2U&TZmW#8$>MePW{{oqrSHFU5=-@;LZKj z=W`q$n1fnOeNuK7%Wl!X+EZSdGuMmYtxgLK2jAdKpSyl z__p-@=nvNP`P2s@TM7wdksTEni(MGU3yjJGBg_sxp~+;^B#x8#Q1Afe7j2RQXxoK3 z?}HsfRX1b}4Kc+R=CHbxpht)6RiG=9^H?I^cN%m5laQ#alL^K%|v*#ovxo zv7u=dX8~dKC(&3dxfLqd^a?#kCflo44djbN2JGUg__Jii@dA}kAQplFy0-BwJF>ZB zD7uk`)W|3BNJGFynQj0L$==K9%surXxu?Fx<#ZqL@KMe$D(j^1wm(hxT=zD5<7}xY z@%0=y>BF5ax?6T+x-0A?FNVL;8-tPm`pdxRdpl0SVJP2#R!4<$K591($+QHr%#Xhv zrXI$I>&{PL43i!}4sd`^oSJU75yZzrfWdwJSCnJfUBJiZsHTx3zpUwO_5S+UyR@M~ z@Mi{>Ja>Nd_AbLtTITIsIKFQqyPkF~JL&|Nb}rj~^T$`LgHVhM7rkxQ?(L>*gp>2P z;{!SGPkN(#5S^(%{U8`!8%%R>5o>325o-ueki72Pd{B~Az+Q^tWp>D}I;=CA7(ip2 zwT~zI@2`D3xq-U9?Q0JXya-4N7(oDTmGuaiS)Bm&`G6WwnqM>cIlCgD_?;rq9%V-U09m`aK6xhU-~afzpa+mH(pY<0kq&tubwD+A zAoc!|^okA5s#oX1hR*oDe2Yxa;MY)t{8X~$$r1ky*CK_t&lC=*aqJUd6j)UoV3KUY z@LBVgg?IU8j>tMo4eI&yCbiJ>kpoU4F)A04odNi7G9}ih`^t_J#9IU&-Ee>QcRify zjj0XtfwhTzC|^#H>g;?6I*%237>V!&0ix-7+)w2B*KgSd= zCMXo|+)QkvOPvOMb|PI$3r&JFGMyd9|FtjgHE`kOivD%fCiQW zDV=XlJkH11?p&#v{@sCji9p-VFF4x*y`(^BtiwS))Lw5l)$@G;238>RuS|5?wj$9s z?Dpadw|!`j&Syi>m28N}7lcYO)3Defi_ZZIt*Qlop(59W;E>Q^CgsJabR+;Uc@al; zlp7?n26uPW>3%tu383%4^YT3^@JWuta0%> zklFbvO)&O_1gV6b>S2E2rkf-o!K|_g24@kistpK;?y=M4SL17>(54tg$geYC zJD@&bSp5o)=eXlwx)0bgETO0bOGLz`8tc<>Wyf*KBXUp$OsbF{?9b@}Ja--{@L!VF zN>J_9vjt=tB)~PT!oMw{V;j-@9k;Y3;a|fl*g0Fm&r!bC>C6sjO)sDx?-6bjij@yA z8%C$aa+(3UWGK&*McQ?hi!`Tw(N{$Dz->DW!A($?*sk38ZNTG=1+ylYr z_5rJh4S3_iyf3HR99*)-xY^s$#soq;VywePfkr6M@c1je4J7o@5fG~hhtpxI>9tVa zrU{o~x8p!MPeoSrFPPakxHP3GFv&Z1?bjWHP0LVI+3)zVWxo6wzg*ezBoYiWkTO_z zoV)f4N+wAFGy`kChM4okZZz;18Q7b(?;dF%d%ZS|l#cEI(R`(SP>-FrcS29pbIQt& zr~>x$I;XdmjT{rVnjAKBcp=At56IuLYqtUkTe}4@m80I&S|c^ z?g&VGkYP76po2C*r{dVmT?siK(0L}|Me~;NqB*43B5~}5A5CGcICdI1fH(Q2z~j%~ zQ@r=ok#HY$|&P3bR(=54lQ<_gOJ zyFVM)|H8bl%1*_f(i4W|y>HFq#5My)O8te|laTRw^ez6T>hpk_h7D%o+3-3Z77{=6 z68O2-e9fSl{5X+vIkIKE>c`YZpgE~BVlGbsOwcP}SkYOv+E&~J6`Fu+nSfTA45= zik;vFJ8ipMHCczR7h(dSUl*T!&+jASp3$#W`M~h{Eo}?6pLEb~_%M3oKRBacji*0+ z+o46<55Fl{V_Lnv4hATPvdB|!8Z09GavVX1Vhm_r9CFWB-?E=@|C@3HWC-Rc8NO0F z9o15Q!-UTmv)J-x#;n0o*!rX~3)zjxYt5LY;$Aen%I}DM4q)Bi`P2CPZtwibhJ@1r zOrW0vP@5eYpphM#HOJ&OfFFN>}TF70}BMaJ3bM^^|oFg~uefsNY6PC6Pm!~o{Y zv3_00^+BKB-E+c4P}?5z*`uxoEbrNQ@4|kCy?mMt+!&w(SdN^JhNo;^D)!n~e%jbm zrU4OqR9|e7Ygpra@tq9onnvN?C@kwvb>%YXWI+%pLqtkAh%2HC1QFFD1J7NMgg`*&n{ zMx9ghE&4<=e-#d0ooDd_^g3`2nvF;X8_eF+U$qiKra#GldHeIH^nYu*Xza!xtxy|Q zgu04Z@pxI!65q7X!(QJsw?XXpQxIsT4t;qi4$y5^z>9b7UqGpr$Y(Bawim3?`%}64GZL ztfhB_GUxrYn>;7K>@LsA4|@!q34jP_Pb}l#=q>ZWp)G)c;bp2jNV z%2*Xi|4v7LE#D%J>5xTq3sAUi_Gd_%;S6zQdVhI-)|`4?VeW5zLHAu@oz6i;WP;5M zX`zq>J>awM8amS(p$02-4Ki?uRvrcaQ4q)c^J)y*Cm82*L3Ay)7Uw{%6#h3iTMX|?K=qj_B ztq86{VyWVWK-r(0hE3gs5ci)BByY`A0g9$lqH|1DjH-~<+m?~}uVxpqGmY-vR592o zrNR8pZ7_u~?!Q~tyutI3l4!8#&4)0X)o{a8^efH_ za4ftv{c&c(nmNv=5qlI49G_k-X)AE*%s3x>lhW<34f?LLHGQula-B;Iv`FQLA} zSvT@sX5t-=Nk3NK;qV-J7f8J809&uV!;xk3E<5oK#}t1+RikNzdDS1UlxzQm^dZ*b zY`~Yx#OM(m?O-5^G^ShA?&nvLhIBi!75}*u5{%S11SF|X)6R2 zwA^ht02#nH3P|l|87>&TkV-IWKg;ae5FLps3=lZ2^P7$W1nx-MivI=(Cg$NZYn$S00F=S1jiwrlK=8_z?_0mRNIi$)M*}c5{SF1YJ&dS(@m&Vmiht1lD&Xs6;*i4W!~vwZ!oU(1ipmtu4=N1* zVg^>ibzHgi&KO)+qI(sn?x5mTpa<($x5-Pn3iN0f^jra5+Dvg;)$iwz3;cleIK<3- zcfB>r`|b|XXsh?#@nBjmY&8lA^d3+)(2nXopxXqGm9GdMYa~;(XoUfXx)|K`F`yf*Gi4;=mkQry zwD0MNTc|(+29!(rWG3L?e+oIk4PzbvWGvJ9j(2bX5P(E;qzDL6JH(iG0IF@cuVsDK z^hR=i!ah42Svb&(4uEhzo>gE`UE!NW3{frGwGWf+&)*?5Tx+FDRV^RoXZ#$JDfVc4 z3V<~H^eNq|smry;;Vb7hm>AebU>t^(#J*0n6-bxm15A^sY-KoIChMwwCSjIV0p>uW zX?OsR+H7A0hFE}bbcs$W)B(OfKv2pQ5apbI)tFtw&hL#AdU|611?o{G!hb28pSOzL z{MVlO*K-%-G zi2XNpNHTLP^{p}W!RWU#v#s`R=Uk}0?R!3%xt01}#qp1xg}<*n!RolJhw3X&=Yz#HLRR>vEIpr&K4h}y=Zy8;r9_AS;XAHz4;L6BTvM0Q8Y!nABkc+8E~#mBkPW$|8av@ZTW_T@WIzl8yy8)9gW z`8Cs*cwY|ZG@=R%Y9WjT+uWiC6c*xt5hGCH_TWShs&Iv>(o>t~^u><$%5wGl40W4a z%x(&5VJZOid8n3IhLK^%CKlTc&n|Hz8j1z#ALm8X+jY2+DVNN+z^@87on)MZlguWk z{7qns`+HnmF>Hpf75^K2ao;e{KN~Li0^&dds>(>prj0Ibqa3&OM*uVg`&ZypxMKqm znc}mw4}Yxxr-)Pt>EN8R^8dfo{_Pu}_L0q~O|Iok6(T19DrCSzR5XzzaLp=68(OpABhIU?Np*A3X% zux7`GXkEh-sN3tA2e&jwmu6dYmfT~6d1+~@-fZiF#tAb>C(L>rQ`S^+j(vY{2ecMg z;ghhtFOM-V*F)e-+edvR>+;%=_$ipm0@9CFv^Bg)2jbdzz#hF?GD9EYQ|;!!^T^m_ zADt)$J}YGX_4Mz?@S3-N0*0Jgdlb|?$Q(Gd)M*08AUXqKQ`+t{ILocu?0GKTHsC+Q z25jWOn+^N$q;514Blhj>$C^uZ^%anxvmIVZC>ULBB5GPK2ZUlz$ItA%9i=^Os1}fY z{o~hzXY6&@MsDGB-bvyl?);X}@q{xejaP;1S`E)6s2s#{tI3x%*Fb>jXU?0i!(;@=4^^F)OE-3)6z&78hlI$q zrgxBG?r>CZ&EmZ!p{mRA!Q~iDZ_RB6|A3kx83V#4KhXN|ZJAS@~*3D6ig%#FAfGi^l*3ak`L{ zlmbm)#LHn9y*0o?;q%^_FcPJAX6dxe1Pwy~ar{aUH^xQW7)4y7nhCuUfC(2B33Z&B z*Qw)xhn{i%q0s{xW;jns6v9Fde{vo)k7ZEhqJy&>S;KV|J1{49Q&jwkji|Z?0G|th zZvo!l;wik53T<2h=n3rrx;a}_-69me>v;IlfLP~(Sht8iIkBf*m6K!#=iAprV-u-_ zzB84aUfl2rniqB6mUq!E@n7PNQ!h`>kXJFHyb5&Ks^LJ85F3k>Ag|FP;2q|>2}pO*#0;lv9UPYcbXYsXK2VmzNFW_+wR2 z?a;z6k-~#Gz!JBaL?TE}ExWW^QbftLz0o)2d8~|8{W{amYn(Dz#Ktqnxd03?CU?Np!r%HU@*H(r8I+aa?a8@(O1>R9%36H3t34-9-qg z<8I*DlQ^d)?{zEkI6pCR0v!N7odx|y3hEAwf$NN?2>smpNWEs4T9ivr<{AXZOUb!J z+9Qt6u7e48@lE`4H<|%>*$D!|r0betfQ>7Xb34pJrp&duetU(WMj9)d61lV^qb0^6 zG!f$yOU;I(^?AggX+n+kyHnN74VNU`L{?hFsSG(7v{olSE*U`zRvTA8bW`W$cr#c_ za#*ZQdpAkP%FdgqzJi9lX*^8~uV7DEl^{~}l~g2LDx#01Qqi$uy6lOu(aojEr+l%i zCV+~UHlrfckZ0AdguOZ-s7!C!Q&;elBo#5>k&0s9t2$Uvkf36`^iF;n<`;sEWZU;e z!Dk&}1+cml#Pl3kDaIfKAUS=EI%pzrsY}u`mEl_=2#6pngPW>-R9Ot>;Lpb^hMcQb z>lhQ?1?(X)PlH>zvRUB1ql2IG_m$}IQ<{lmPk)sCVY25H`i#uG2)|j~D^R@#%!6K4 zn2v*Erkn%|HHDBefyjBx$~3y;F`$nl{l2+oxoz*N8(`n*xS0*nn; z4Jq0Q=lRhnaqMu|f!8?I^~9G`slgvs04F=WLa^ERRLou>d$ggW!J!nEOtY#c6-%7~ zgApsXlyBR@3M?u0ke{8V97AYPm_gW>Opn?(g3`PILbTC0@h03QRQn04ScAv3iI=3f zuSjBtiKk(oUDDe{vv!=AiBxgbfl~`G0Wmy+*NNenlzywE`NwN;lm?j+7y?bY%@C(Q zi32?k3z%NwT(D2#?0JI3!3+(=NvwQg>Yf`*KV4KkL48h3iB z;T?wMD5kmr=&TGC_6b#2lD_YbWlQl}i%oEE^{#EMxp~ z;g)zUn%oQQl-k}{MHXbPxi4utcQL`m9sSi^3a;TQ1jeL#Nn>oXNeP>9CPEBUvbKS7 zXue67Y$f3!PsJ)>1I5(R*FpwV#h%8&;EFf3%4#6t$Y zCBtEb-L!wE31zK8hZ8F{0lsT(;z5KbCwb7NO#8JEXlVuyQfs6!1Cwjy5}0IWs&HA; zd!T%|oy~{YGTvCzw;yU!PQf;ANqNsrIkn^z+zMvVBd@A+1_LOfONa&hSiW*og>Vzb zRa@Uh!F<$>h(9{p;zmR(Hl0PsT(*RcJ6;qytbKrV>C_{7uu~GS ziDLw?NetQn7)uqfBD=a+k*^M6J$=?!!JLKZ>RQ8>W?oi-32lTx#Bh0>qaJ(!TeDT`O&kDQ zvsZ|7r1W0o7YxdW9=OS%nE7gD0RwBc3Hy6tE;wlaFcX7X2tom|TK!T1Qnox-80UV3 zeD*-HB*B9n6`EoL#ds4=_CnJU0;f$3N*8VQb5DKRbxq52O&tX$w7qrtu*0a$x(vUw zv01P$s91Zz#W!3)WUJ=+I~7J^fN3?y1u zbymHBL<$8YYw>I?*3l4RN91ACjUsk@H?>#n_{S|x2M_hh;*3rE0nH1Z2ke*bqIv@q z-FbQ?4#Zu+t`hxWo@}V3n5@p?1%M30R#4JtP~j6I&(j-* z+)-sNj=yP7FVjNiWcj4&)rlJe(+w*0+M=~4c_rkUJ-CO*)eBB5PF3i%6m9x`WeU@Lg&hqusSQ9 zf{uVNG~I-Gs5nbEVMab=ILCsGJvv;Q4Cy0yu4$tp%O`k+SqdG8s$MvMObpvF5+dN<%fMH1< zG?D$;^NRcQt= z(t$eIf}uIV+I0>#yPu={KInSk_tP1)li#&vSR5hE*)r+=lj-W9ixLnGLwSS-bSmT! zVTGh(JMTLyaz3-g`kag%BH*Dis&LO-Cm=k_;75V*1zgs+R$gr22=Xf3SCEL4-?1-f z9BeXJ!2mJ<%6cod5O2tGt+!`}6b4%q@EC#|P8Pb(ij2a`i({SAVNCZ82{*dkyQ?Yu z6)QG)pM@W03g^(1TKH-!vK^#trSNWTG3a_ail80BWHjGZE(ens`HC1cq4^p-qQM^# zco#p^K?VjlW=o<3jOmzXDH2~%zA%dbBHj(%?(J-|w`S`=x_PqCq5N$E*9#hA70aqP z2{ofLaih(+_h@i*Gc7cuC5?>>%_ViPZzIlO4EG=2FGAoQJjj^k`A}Ou1}2DwrqN?^ z87ISp^ZV$BGxWpkM2!G%2`K2CD0WYsE7?^T_<=Ipr4#NqM82>z!|nHREA}uGAfI&n zhIzuRj%*EAOw8s`-Gwwzq$7f*kxp2?kt3Ty0~<7$iZzru33-E?tn0w*B{#_T+%#vv zPbq3~TI)rf#6@*{AYkUjt?KJABT~Mq5%DuGWzr`T$BOGw7zG27MAin>3eSak=s5XO z)kmE!#71GR#}*gZFQQQXu#8rmzz?xAQ?LU^BVjRfqF7$T6s)?S*dSI`64iKWcoSa* zYdtlfOeI-M9Fpe@4j~(dVT}=!;fe~Wmutfdv$m0;t9VxIMPi(r|;4K8NG5BS)5@C zUn%h7MC8dS)1cIS_j~5NNfV1CfO~v)DB1~}HWtMXM)C0*Asdoj^GrUD$%i5tyMA7g zp{?I3PjhHH5vr+f=acW*sVA%1L%KK01Qsx!IivRCP73ry8O&5d$RfXp2l4gy$_5Zp z`Vl@DPpZ13pL~dC@=1Ix%vH{Ve-oqD90}qFGHIqJm21);=($#^Nw;WllLkc+*irVf z5E@y4lUL(?d9m2Jn&Dy1P}TF?D`l`bk3l;J8_}U6FNluhn+OvqOa*b*lW#LNEIA)7 z@|Zxa8C75)F&$TD6_Y2R=8TsRlXiw41OHX~v>`8@L;eYf4S9}yOMYRQ91B=x+(P|H z!>FB0meM`p4X-$V5xAT`YH+3ml2aFwGo?vMl|Bnr-dy(&|snj#@cMnh$KS3H2sY^T&bbQKS#5$fnP32{u!OjG zhhe+HdhT8?^7t*mVwnVsWyT+;0+;~nTm|dtrvzyWBuHTE!6deF$%p`}Kth;q7<#}O zyH9Kd1S~9xWKan5TXyYY2zNfSY(9%k0?(|2&y(>!{)ex<;QszJVDWj!r{L~y3p%+*c$>5Z8mPFc40#W=aTt zVc2f4&Pf4_-x4gANw8REd`E*9tT(V@4Pc$AU=3^&tZl>&z-p8bmQ05225aFgFShtC z!D5*Ni)F?ae(444Oa<%FzY4Y<(qNDVCu@+c!O;@5hRGU&2$1U~#F7KUc7we0?j*?i zEkR|ORMJ>xe4yh6dFCmC$#0$zkiV1wGo*V)$e?vEgLVvBtu-V-7C=L?C4>oyVY?gB z-_wve@-1=CGT9)O86Wkzw;?YLkcMPyLyp$qjK{HDb=hZTg)X^17aN+jP5oaEC2GpI zQ2nKbDpLgvXAAI5j4hH-=P8NBET%!Y)H5V<5b}p{u9J25D~!<}v!RpRV_k>im?@=l zKDdx;(B^DutP=0RLJ$uK<5F+2t3*Lzfy#s>pxhT*ECGG6YB&5D_YGsh!H0h|NWNC?(rSiYP%k=5{$A$E*22`D>UlE!?9 ztB*LZB#9w*>HdF+Ku@_2&wBT!nF6rl!;S_$N#bYiemd&ArZ{JOJ zK7Cv|!=6XMJoV69QL_9z{DVG4P4>(o8P@cF>Uw7lc@ym5AmmS{E!&t1W@$v&GR2#p z<5<1qhE9q2T8UF_fA(Isfj9?Fpc3mOfDZw;Xnr77i8Bq&olIe+q*~%_)s=y!^~6NF zmgnxujrj}TS6b>`IT#D10ELH@dH@Q5^f}LK_H2^AKl%{raczEBJ-5;C)7i7YDFsfa z({%|H^CB9Ek#QRVL|7ytWT^=`o-3BfPHbE@!~c)GH;<2^%HD^QuoxArs5nL>7&U4T z&@gU^7!44xBT=J*1VxR@Fkw-nB!~`ZLlU6vG%_P9Dl_7!BaWGILtF-Df?-o!aF5%F z;!;geaYqsJKF>L~x~jT6A*kQ^{qg4WfvT>$b?@2Fx#w}*p!y-S$VxK4~wC7TH@hIV;s$|&TeeqCC3=gR+LGEP{CJCgC`IZ; z5=O3zoCI{56|?Jmk|iPM-bK2>o7RIXUXR3p%fRMd%r^yU+b`{NS zhP`+*yU4}VRM)=mJSV}PO6_x7H;|R+h!6&7in7#joi12d>owFZq9>SACoJW}^~-qY z+L-5-?+FgWqS0t%VBE3;8)M%vNR0+WM%#s zv=2ToiP7L^0b?{+Ww3C0eLF_usM$%4hBjwLdw0rc9Q3HqXly(-W;9wJaE%7xQKRwn z7s-vrv$=6bgCjMqOc&94yP34s8G|U^MWV|MCbg(3EG!IyxQ>RIz_&BEmyJwK!!dWH zjmx;B_SZwwlyR~q8djo3q!i9U*CT-58@*1UXB>a?y*{MK{yZ<d%P4u4r?u<)JQcKCZ%T~hvPb7p_Oo#OA%M|}M4 za!icBTmRwmm+&ZmKlnU3e>WW($6v0r;Pk^EVDN6kKD4gEYjO=9768$jlnXuK9p#GI z9=z6WgTd>EFDWS|!|BwSY0XO4IuV|Jn#rm460gFDBI=Mj*&E?^YfYWfvk-$f7W`(N zlQE^nsj!bVYcL)I$UdmBkGH};roy?V!iA>7`Me5{&qB_y(x2jNaPDi(`X`5cYg_xG zy1w4(`kLx8MJ6#oC|8VN^D5O9n(8*is>`-!9jMi1qdFYJ&=f;A+f-L&pbHx4rp2Ip zP)3SNkd||xJKUPJ01pA(;i&F#Z*|Cg3H8>S>Nc3_TC_Uo-$xj`Rq9poM6cRr>^JZ{ zX8KxlR&rFgcH0rwtS9BJ^$65{gtvD5cqb709E%+Bsh*vN?@Lo(Ddob|*KlG22cPCt z^K%^+4Xr4F%XNoFY1=6=`EqSAK7XkWyCY&R4c)Dy?pR61{hp3Jk<;(7>SnMu zSf{zP5fbLa8MCQlb@vlBW_^s6N-$=(G)J79v+)9=R1g>8YIEpHv!2w1j# z!fb{#7&PDj5oMl?c zG1#mjY8Q0x8&F;rs(pjE*jsTthoa5iid^66Sl9HD(3{l1X~ufZHP$N_vtHkzM}~T# z93t0T-*Tk4^4``g4m+dr-Y^fny_MsKRBj8<7*vugx{JJuX*@?NFD+=X>fb_(YJgx- zzrn%d)|_Lc-fb|x{j~*Sd|mMS680tXC5M7A{Zim(pa)m+xcq=N+ml60%)~2%sjvx{ zFG4UN2-yr!()j~pjrC{BN9@^C9K1F`)-KpDEz^ZB6|UkRz)zs~%GgF_Z0$Dqpr24H z4T!MV_@Wr?9Y++978`W}EpRB~Zz0cIe9llFj`R@V_>z- zePyNPWVC2@6}PXe)g*x1g<5Omv&oUq_;`EVLpu>~A8=@U@phhRN0>t|f!`XBHPI@9 zR%>~UWW7^qOxPp)Br#$9%rRlCGFVu8O*blJ_dC3*&OR`!1uND}LD zz3h1te|bXsq6cO_GCM6BHzSSWac^V##bl%OudZwm9+iz_KTIwgC+;678}_0bh3Ho{7D$TMlad&HQbJ@Wx@`>ui-uwhi=9;1XgL` zt)$p;wO zwbwL=m^A6-3B5cl7c5cki6ZmuyB51x*}u6S!(0b)jMN?9lJ%bRNcY;!OgKOJ4|awT z;vjL$Ffhg5a@S9YXk;W{6vz0Oc}9d>6pP2}??*9)0vtwQS0Ix0s5UchD5g)WB~|_l}Psx^$lq2DNxyu^n%z#vcCQs z>(6?P<<@k285eX|fWpd3?t}0YN<1xiWIduK9>fI^mzI!b-ogJ}YL3$}MfN-*18^*uE>awR=!%4HkZQDa-}7`47oJU^?nfBn=`!(hQq9IRkQ+?Wwk?tQEU~ znvoQQ05w-aj=n5Z_K-f03n&y8z||x_s1^}3FEP{J=e=(|OE;e)YDhxl!&9Wmk&89J z&0V^82uZ95C$)J*y;cVjyUo!_68gkK|sZe`5eD935bKW zo9n;#Q?KpEf;g$f;SPqET<&DsoA!;j{mN`imy%YT1A%m10jX}rm#RR-f1G2ie%&sl zv`~?!NgNe85GAs05*$+}SP(`vdwt;?G2F(KOP)!j<)IMp7z=BGA$)Y&jHCw&Fd zMzR)0$qr+AF&dd-j~GmrP*FlzZ}Ds|+-C+0+a`)nY@z~&vYwGczp~!?i|1<$A*R^r zp0Ag?U$4-wEA{L9_3L+R&(|6J`q|^%w&%HD*Xq|9`t=O`dXMcUQ9_@Ak71Kx5S^P$ z-q^QANNZTfVBtwx$HSD$P*&=|EaqHrBFT&kX}5ngb%nD&89-C14rSeFj)kwnRR2tq zC*ib|N6k~XqkPY+%s?%enqj|wtMWIWYj4rO^gHm)o}YUh9HF(XKhwdL(jFP#24mLk zp(ELPX--kFaNYzV_$MeF2=$!L7m=)jJkNH^c%Ne5Qs9zoFbgTW%Jl0Ssin4q7CH+3qPp@7&Uu? zrvJdh)!p95?=%rT_?_EWE;K+rv^~8Crck|$$G0Ehef&E-j-F3<6&ZM6>B?^W-x72WZ?>vjeIkZ+BRV(v~7WC zTb#a4oeEvcCINB-A?Qo(2{|d%V+}#r@P7|ezJsB@G6Mp&U8zhm%1k3fF~uN4iv44) zN+%*4vDYiJn?qd>!5d5xc5eP+za9igSAYod@zW|4)cqeA(7<(Ab&QFyftv1e!*vGo zbe=rL-Zxk(h8+Q?aUdi=ATy<0=8qy?5^otmGwtW@WE>)H4<^xxys8n6jRlfePEgQV zy&KkXRR9d^17R&23;TnO=kk4zS%4dB1e)EVh!iIQBV10y#s2C#pxBov`u^PbgXd*n z8Gi!(4|C}+WX1Rx&X1hcE?L*xbJ0}m-?SNj{g))EUp7%fKtOX)I~``GdVt%`r~TFM za-*>t(jlL8$R?WkL^ugIAGFii{_JG!Uzeo)i{kLZaAJzRYNiSreC3V>O>E7L@&(Lz z2ZDB!ed)E}LZycbX^0W59-zqu1wW=eB-Y&t?P_qSIhOc54LZB|T^;A_o( z1W$o;9=^>E)W2QblP5Cd2MPw)bP0qGR%Z^=G!9k?i00E5x7G}YaccOt$C%2?d~am2%CfKGX!lTUuE*=rOZs)vgYqF66J<;16g_!PPLESI^M#s?eFGm_zR)Ivql zgU{A$9DIt}#fQzovXlR~E8|_Z{lI66BRWN*@QiR^qbh(Sj#0gEI&kdckp*%v4qvlh zPq`1@3NOCqPz(fv5_RIbm^1_O9ZxXI=! zW7t;-_Ix&tcfj5(TEh=Wq8Zo4k9>QeNC798LJuH=GPls#InGRzMI0z7)vhdWwg=!m z#18iBd5pNXEAIr!BjZbC0;HcRKmH{NRc`o`mn!U#+8<6+s-QwTfa*e=auS}BE?bfT ziz0L_fet01V8wO&(k1Ls@Va$J(_99=6mcA@{*_q{)Vc}V`~Am0;~JngpksO1Dg4$x zNwEF+^+|@`$v*rYM(OkVA*JZ2`rXY!&X_>3~YNlR>nR6r-W0f#K$Tg_Wm8h|BT90yZ%Bwpcw8l*6i^Z*FTns z&3|u8f=%@AUTlOLtE(Ms+V>dtAi-ubJ%$V@O7cwn#ALdXQS>5yk8$Kw@Tzx=SHLaa zUp%Dvw&U-Kq1XN`OT_TUTa#dT#|>T#={@Zar#KjPz^^+5LrxNabNlE1I_Ud0ve=?K6KiPyM z?lxiw&a6axHtNbw@Z&`sMHjC>Z%_Hv;4fdANdLxLlE~ATh*zFe|F7r-{1+sFfB#<( z{)LYu!oT_EB=A3GkW%@KpLI&m=bf@o=}GVzcT*C6TzAuoUy#OlE8=hP zNCtqhojt;D09=<76zsUY@M{x53GR;`hyO~&A2j#ij~#;)e<8SwY`JuV{QPY+p`H)f zTZ|L;#NP{k?;s0Ww}ULR<7L>0EYp5n@S02pGp7#h(Bt7y5ys!aZ*2L>E(VBDEc+*8 z7+fM%}!9I+?FOj`Z8t3i9xMyO-``7V4`%sMoMD`ZbFo`Gb zgu5NSgroTAE%`f3Fwn2thZ371#3qhkI|={amL$UeLs%uz2mg8XUh$L&>x18Q4F5&< zwh#aK-?sz*j{55qYic%_oS5Tnxi=A;0m-mAvet_YMm$sOUIrW3x(*+H#X?$uWyyPF@F6jHKDJMTWi*M@sr_+ zqc8Du3!CWo4|89;VHs3lyJi=N+++8UWwa9PmP69svX}o3D4gu-O`N>_r$hJ?Pj&KO zb9fSLt_>;RK5SO_qI-#k$6xGN3s|*wtc5*uit-4ivBT`co0kB^9D`yUe%#!l{dggc zKjrr%%3tH$Bp4lL(Dd5Bi~Rh_352@{e~`b!P83h2?0VT;%+G8yW8^Uowb;E0{&0sw zaq!DvWxMfC9Q+IKPK1B+oMiC7pbr&(k*`-T^us^MlYhkOX&?N~v2J!eGVAP9F9tIC z4l*Eq96lc?Kics}jHX~8_@5dGeIU-TO0?H?R`=hPh-};JB*^w&FYwzpLPXK_~FP^4ed3 z|Aqhe_{-p*-wh+QI)9#Rreeu!A4v9?4MN_ZctBV&A?V=b+rF_~4_tM1Du{!3F07%?{&( zUxe>k8SC@o>+~~xEWYkKFTN7pb=^694+(V!-^~F>rpV-t4#C2#jHap?o zalm7!cqyNMnmVJ?vBH2P@K(t9Ssc9U{^NyL%unSxet0LFfX%iD7jjTeXB`;(;In4S z9MF#A0c%W?>m}=D_|Z?+CuCqO4$S9fc)^tZ>x!{nFi|az>?(QUkp-_GYVUr;p4dpT zP~WxzW8h4EJI3f{bin`ghYGWMy; z=#}!NH5T{fE55Y$bmCci%Q+xVtDDOJdE)6q%I$!MKKlGlhBy86xmAYM;^@=o>IC}S zS)PnOS%upxe>&Yf^0qX%gXrD|&tmI^R zW-Q3`p&?V8{B-Lue`0>0ENGucpqK5+U-52WSQ;F5tn09Ksxgy zFliiVmLb?t=g5+i=f?o64&v`69qLB{J|krG(vQzI)4ll6QUJ`Su1UaW*628VB3akH zE6D7!BV^``6=YI~%wV56jMsOWKwrBVF**}xAwbGGr&it91Pjk{>1)#M@!P+FJCI3w z{&G!14>R`^g)#TkE@-dt98(w#$w)X0_efs2dNgOWB3BtJxberNAXFdBg5YGV;FD62 z>IKmAz}?K)jMrD48LxjeH_=N$9q0aN&plItcGGCkZ=GMnUv52vF3iFMGEr_(qY0yGaq+@Jm#U6 zBXLwLb|YBD2S}%ZNxCJ05EptN^K`38F3|{#ZraEB8VpNSu?FSH-SCub)Qrpzdzymw z7=;6mhhY-u3akDEX|Qv%fLCJzgo|OCzroESi)SGw8ix2J*5C{BcnThm#Dq>@D04kK ziQ#BZgVi%)+^fC}2Z0u$Mq#L6Ry_vP#iL=!`mU&fpmh$TuQ4sc!AK`CC(ci9y$30# zd6>gm0U1IT8eSiY%C;9vi__=bN?`ut2fjuswl z430p{Fa>b1*}**!f*HYA`TQ^4?){R6k`P7K#NG6@?&)`{$kpO>PY_~-T}D991?mLU z{Ke^8e~L!!=1K)M*8vq0hjV;d@D1C9NR%?~&9j!j;xm9ajcY9ASQ8xJ&1vkfNMZ8~ z`!iAa$H()y-0mqrWvXC ze)x5${^FVjdwUs3`nbo0#nJQE=D(b-?&tq)X5WZT@SniO@t>y_r1SL2j6p94)~ptW z7koLRqBNw3yZ)YMnacqxh^4p6+3aPpM|NyZdCf7PF;2{=OvlQBnq2(gxzoGy$Nu=S z8xNu8k39lyPX`LVoW2;^gqh|19|utH(%LvAl-jxg4Cn;?IBVFE@txJ5B=p<#4IQ6Z z#M7bvWSpKzzc_fsXx45nH~Qm%s`~RM0zzLP(i8OM zier&AQAyW3F~MQ?IKAD4IiB@SACCk~$<{mFi#p=sxdMh%p|ULg19GH)YMuJ!Jkaqejt(9!F;o1_MLS4dG^U!qv-SR zhr_#c&OTM0vP1dr>-X;ts4D;K2zZ=-|5%VQ{$1cR{(ZF+cGp$L{QKYJi+KMYlBY4A zR(00D_rUy+n1&orvKBc!%`Z`&CUfb>(6Dvn(yLGaF8wTCx6B!?^?!_o7TPwu3MX=M$q#| zOwtiSWx!+h+G0I)DrWt|(=IyhBw>nWI zkdO7DM1VyCsVnI5v=CpVhf_eY3~4}q2g0C@K1pm3J$YUG!y~W@22+aYkES;5IhNJZQW5a_`bM3}7d{A>{sCmUU z-c`qeR((7Om5y@j(ola7yN4I1J}{B}Q|+~=o}eIV#@+|GNpLKLE{%Xcpp_)7sgw=|29^JKtls3oiD12_-P%aZCW<~6$7<1YT5 z5m5is7}2A%K>`Q0x1!TLzZN*Dj6ry4rw)f+{b>4qgr0wK_M*4SgY>J5VnADU-=Zkx z0m9T~+gPj2!5l6M$_O>LfobG&4JkOFi&8LG;4>5)^Snzzcx@jA`!8&dg72SC3dRJX zlETr2?VJz(MZ4BMlP0MP2>{AsRNaOXuLQUlX%BXbSxUq)7ePR{=FlOV9ZqxFsafcI zbFV|fpGd-g4+9CG!JW`93H=UG`oUCsm&san+fbHmr`v=NFVk^MXwB~P?afHdp}}ln zw;Rz|bx+|7`!u1nNxNlmIdF!F!LgKHoMEI}@1OP->yd6}2T&KRSS~jYnSkZ8B-T)h zqxrOYB=-x*NCzjSSC2}#c>#9d-@e_cEQHU~>3w0_ekM<;FeAQ@z zkK@zqU5nH_#MdA2$h+!6SIm=K z_XFjLZZnot8=1{sPTQ(L!Sh$4zlk#uxnD9v3q74tAdz?ukPIdyH3LvAU8?~SY6(Ob zbM0%$W9h_nJ%kd~YU8N6bm#Dtbovx0?-4kLKG20~|LL>Yv*$K0V2`$V+OS`nAx>u4{s zvPW}$UsVVVGGt z+-q+gBI*7=%EjRoht;va%X0GOyA#2iD}^_4{7BXOb(u3$t%A5#l458nMzI%#YqVyk zey7?2R1p_wISv^EZ~KZ9$O?RfSDE&W@(ZR2sRpEj=Y1f!2q%brYO^@&7UbO8th(Q` zfm;LLeILM%!e|^y&g4T0AA|0NMMJF=tM(}Vobc&`tVy?&1y^D~?rMO{wbKPinG+jh ztJNS=wI%E3vNk|i^9^gUj2^5FC$P4{VJ(jCRn}hYXDzHOr3u@t0e_P@sX+&Wb8*qX zlhNer1I_Qzpc-tfLnu^E_Xsdxp0JmW!_`Lnpd#VwzfR)Cl_Tsz&&G~6qKn!{&bFrL z&ET)|_1lgVaJ1K+CRLyt!P7Lc_0Mf?$>d%^K8bA|6v z4MY0sO9@iCJqYI^a>5s0oAsQK+q6Kz3sa8f6h7+bVcd{;=1*kjlwN*Tg5@hSo9*XL zlpr9b^|e5#SB^cxo0y zMS+WH`5J&nvhI`L5Np@h{_|VMO)dpDXq4(lphkN(YrxqsK~xzCBh3{a16(aldlkGs zr4S?e%qCYuKw}7Jc@fr40Os58oFVbRv}XI|Lcu(>^|?U!0G)wwQXss~q)iy}3wN6= zm!6mM0%G!jT5PN@;YTRzbUuyrc{*75)Pdp$W%w>M*x3%zetn>Jx447dHODz_rC8lc z5p7C_eb5}@gno-k6vQ%@Vp-+xUJz5Y5YdJ;svuMOb>-A6`5Wi?Y+=I2ECq-ONT~=2 zB^_-+-0ic!a#RIM5?}(Pl4rmsrO=aQ4uu{(K`3PG-u?Ds?{C@cMPw37I@0axm2gZy zLb$O-kBzx6fzSXLrZ`864z0azu9ua5hYCUixiYa-S(|Ke*p=r!8flTyI6W^ZmL@z z@lvqHs=bO0MEYzqXD(s8yzu$RYOS;8tr8|zLkhy!;89{q+T@e?0cKUq{9cVR$6&mI z-9q0CkHGNf+)N2aL`buCVBEO>qV73e_4^ZVKA%%-yRWIGeSDICABNk18r+! zL~3|jxR$lDP_@GT*ArwIZ8BU?^-yfW`02+yU;$XJ>9)z-1`9{^HN4My7SCY2s*nsB z_;22eq*2PZtUx69Ap)o;;fT`!iTzoDNN|_vlW5i6AiwOf$AR}<@qmr^_&;?&N9uA2_pp#xHY_y9UTP_n2ka zW{*7@h_W^oH_0Bsqi%N2_fypXhJPkLG!hU^}OI!7n5o|>Oo=+I10pi!<7o3JWQPgSunX@!KsMtAO@k9hP!R; zotVsp)N`c1R+G8cn(Zt>pBsyrGA3CfS^vR@yw9+=%l>|FHLXwCcm5WjOb1Y;ne*p| z2Yau>egOs;B3Q2*n5(H>3G4MceA~()_zugz7b|~^Q=asMX@;m~OHjFS7uxBX?nEO4 z?ixFBuY&iOj33x9_Z@%z*6iIi9yIcVFRi*SXmT)*p;oK1>Yo=I#180kc|`_>y5xS2QUBmkx2IftPN=ou70JSVyv^GPc59@Bzw|`=joee$UL)sfBR`~AH$04bWJ<(+ ztT224j#8;6O4E|Hc5w%-9oKGapPoXL0&6%8E(KA*00zz23)QDi=s{DR{&*U)$SBhG zj44?2#(aCx2nnHFy+QVBZtPh~v=FKy;<78Yo$VSu0zV-aU!gOUj$8ZPBO${ro*b!P z9mY(O5MI zvY1ym52(y@pHR%00^t0cXm;osq(!lx5!3NSo+KhowCNa#qV~df%!qR1K&$S0HUTsO ztW)z5S13_`ETxU2s|xQg5f2$W=6e;VJetIO?6yjAn)R3~PGV9#2J>ughnQ4mdz1)+ z39Mt#W=FH=0#c%T;^N^ABP7F{cgUL|M}RktxKqmN|33OoJrR4+uJ5J$()PmrO1V#~ zNo}^9f6InfcY6?zQtd|<{m^DF{uZ?&Vb!*}+iiH7)@=WGAh_4)t)H|2A^D$f#<)9E zsOh=UM?Q|Ztya!RGk@)tztK)w-Vgs6gtKZNLtnnMN$3wz!30&ab5&?vcvAo!qa5TK zb0z1|68g$y-_ygDU18@kn~@olt3CfnqKtTRx!sM3-3S={?Onu3Is;ZKlOjc38ytG! zrO&vLd-af#@O~xXA?YRI2^rzf*lMn)Rg9WQ&c8=E&^0uzD@AZsb2yM5nwH-BnEe}R znR8^Gw67n4rrV3}n0qTGiHngV$P{RXi2W``-z>X%2&`sJ_hOJgySX^@R_KkFJ|}Ee z9k&H%QWagrsS(aOIu{Fah4g z3~DHq^PbiW%Z9VVuV-;EE(5$lZ=<>*{3{NGkv|`fEIEFR3N_<@BmmJqSL5QcSUz*N z^Ol4goC6gp5e%`<1rgVPcobLOK=}7d^bbT93YiX%77$sHFOcKqXaRf8f;v6 zk=e7IzWNOi97Qrvqyp6I1^;nLAi_-m)--WFtq_95M(!8RXS7mgT<8@%D(^I9oTH8# za)PK+Yf46$H~IEgr%ba2%G68-xk#0AKu*&%j!5BpNr*HtB88BSZ~HS!vfpNmC1eZl zk4UBh6-W;d!iV#_0cxU%@}wcWXm-aACWFXnkD#|(hfeU-zoDaOC*3mcD*79LngzTH zqCP+*Cz_o~DS|(%l)MWih=Qe?Vg?J}-h+5z0AqBD^rB-e*)t!ea+u9C5hhk@qH}mk z>p%UFmZM;F1zmV#;B)(Q0PF)(lLAZQ);VC0@BsT2$9){K*snem59}*=A0n`B?&AR| z1a*)0=gZV+FI?8sG0Ub!%Wc;h59*OV-**=7b^%75i@l3x6w+sGzcU>+-(k0WyM{bbt$G(Onq#fbmOR z#xIi+%Btw)j9F8o<&2329s=Goas@*2cS#`J;}DDmK$dYlI9{j-WFut-5eU*wQYGYy z6Af?`d$tfaV9g?2tYwE61-I{N&6$ANhPdl$&G{`B)Zi}7nllOoaF<%s8zV%|;J7#W zut7cqU0Hv#l$2hRRJ|5(q3Y*wQQw2gw9&=-=5D@;d7wo(Tqpn`T4WC8!_7E_t^yYd zknZTeD5uK&o`x&@P`UhEkh6s{>-ZtCK>SdPlOn&BttGRz{9OHzG$($DEgBiq##F}G zAS5cAeu%&X3rFupG2;Ab?^CB5%F45w>a}D^mJ8Wb)gfSK-N9G0Hn|uIRC{F!Ub~5O|bCqyAo8D!|x~{F&k7S(S()@;A}}& z5q%X!D2+>CI$k`B{eVSsZZ1bqvVqlsq-P|n`hJ29rxG!*q4k~)!EkKHO0NP}qGMOF zc{1B1X%Cs{V%1kMS_x0Y@&TN*UcUy-iv%^H3ADOWILGM4NDzz*TB-KR4)a4IJ4{Z> z$2%uG^YPjLT6XqJ_sR|dhwKOj$+(N*|}_&_GG6QV4!75 zr)ng~&Y*8`vMdj=34Mo~uH;RVFgnzj6BLr0E0=A2EPTfJ9A1=!no4-21=0_7BUuo; zG}(Ax8a^feR4nqDb0i*OblsYBC~v}N=9ctpD(Q!_pwWZrdTONCEE-XsXIlioN;%+D ziYfx~0~w-Hn6NVW!GSL8v59Hp5d~%2A00+C{Du+^Cl>~K0AoqQAc>|kfx#C12z`zl z!LTleqivzpXoiTA7{o+YaJX1D$aws6H4ICA_LC5!38@T9gj?1FN$=sbg*XkhOEbke zz3faH_jq8@r{n3=_!51}K8EVi%itO8mII|=86FBXABvhwl_HKGsPo~0n!8(bmVy|#>sE87xU+E9#7d5d&^m;( z#+!TORI)BI_nG67WXML=^}^1zP>(HAV8j4>IP0_DyLE3e_pJM4b04d_TW9Lt#j4+* z;tcefKu1iw8=fjQh2aAX(gIu)@*dDQO{oBjs7HVZ!SxZOIiYrQ8WwQGw7 z)K1#9o6}so_NdP%o&XpU?Ao6kp9sNDcZFmFnuL&?oF*&|f-PWq9k~P2@ugQtDj+Bb z)|~F;qMT9`5FrWR=4S}WdN%Ms7LxN*y+T63fhiH8kO;<|7Lt=Y7Lt{H+7Xi5?>0iR zS9%9R@=aw@AyJxjQb?{yX-`P@1q>Yu$*xxYQ^+&Yk~|3NKuCsl6&63JLP8@+A>m7} zki_L67Udj`0wN@NxcM1El0tj-KNgaLHcSJKSrP&cOo<4EL@@5OkPPcsNbcy}j*v|K zs}Yh&GV*5~Z16NGb?^vgo?>CnBrSwcnC_d8c1USVh!pNqSmydZdf9+})Z} zj64*q%Wkf9c^u^-I769?(!)(~Vakkx!vH$3*8Z)w;Cc9fYJ9TV_H6rs3aoiU%Ki#e?aIws1)JmXNbyHHuFCgm1SGKqC&tSDnx{$B6xRNR7P|xDt&sjBPw5E*_&9BiEXdKcG8_q(9_eK_$%dQ<0=2avm>9Z9!; zhh=rhon}BD%1OO(7&Jj%&QNf!h!;l`aQYVSWgX5w7s8xVK-Qrk>%9Y_RvCQi!c#Cpg#RZnVJ1+8gi9T-RW3j{^_^f@){(qBr zf9FdYJ16l@z+u@1kxnL0&%GITnThw8zwf{T~k;7`22 zaZ?f(9!tDS@^mX%#^mXbWLoHz((q7NfHQrD6**NTI%!UMod!6V>!hhI4Lwbb<|A(6 zGlB0jSPsJ^C=%pz&X5={nkpvvk&mFape5}bw_8CnkuV^c*vo+eDMziuso`l%rEc;x zH2oHQB`Kf845u3UQ_)H?eS!THjMX#~XPRc$)-wNTY%TJim@Vc3m3dDCD)XNFSk7*M za_?=`AA^ZdLeWehEfnoTLJ2wj1{E93pcN%&T^u<*SZ=Z+qDUyK)W{`ug`^=QC54#d zKWrCG0YlLwARVCj5cD?=O@3_ByZo5BW`)53P}>BKcv!#5Y8b`Q#iU%ZH>6`Q@n0L= z!9-9FDJnCbi1To*+1Iiaj3eTWfP$-7l!dr~;aDWk5i6R>B*iiqT!bR%Z{S}A6B?EL zPltuAWqMpE4l%$GDq~Dk8#i_2D(tPqF)ZJ-5lpevk>GJU5?q0(EPw<(s^t(JhJJN? z4kO0F!pA?OjW|eBnVj*Wy=Md!#SX|Axdh~KBf>-e1k3OOEW_j9bYK~7KRc;qm@AY} z%is(O2YhBhmS1KGXlfJoKfZh-0CxG+maUU>)6iolLycMuID=A};prb~td2CYKe_`(Hdd;wl< zF)9)D*STbY@TDkzUbcB7>$F>E;4Epa8uMB`Z!m}t8IpKtd5)NIBSZFC-AzYMrnLJ9 zCJvj22}1$08t2M?(ScN5%LNcWPpZ0XqQt9IH9%5ask$%XlPZ}G!s#M*b{E=j&*Wtg z#+4_YXMQo)hM)(KCxVg>VL1V2Fqc!v3pj`VX#5%wV$Vue2w>S3dSet%d*y3zn{R_h z90ENWy`6kKJ^_=CGjVb+Zrz{ut!bF>N!90{+dkxZy-r41uJX*>x5%?6N(Gae@R(CT zIR?5G_fT#Yz^~`@mqfEOSMu{_Q^qOZq$N!Gm5JqP{~pKVLC@?+RW$K|#^<9rCq0PS z#C5UxO`(~K_(*=rS3LQjSct=z$xsbE7p;LmirBkr?# zPe_7=AABMzq?;gN+KEvi@Pa4g6yx70+?P@AiLp^9t4?-x^Qn}xJQE%khaqA74&P4W zAl}8Uk~Ilf1WXm3h$6m2{- z%CBhuz8;EpkSf}5KkGoz_BlPNqE$FX#BsspaV{9q!EGPAigu1q(TdPIwYQSyyIhtI zs0)6q?FWD*ik3{itJ;_E|AqV|nC-KYo9$mHe;0iu^7kHPi_@M;VKs{3ma%jba#x%n zcmEV2tbrhohIDhN*pa)hxK6q%9Hsa{?p~X6osqlXa*?)_>M@WzmB94STC`C1(gw6K zD#TSdu6P^a6S1W5&Bsoo9SdKq+OAHuwQEyb@3zlQab)t81erX1E@W~KmC3)fb|8~8 zWhq76)KMLwu6$ z^~|znwoeX7lLyq(aXlK>9$d+kk4|HT-3Jnnr;?VH_#`i8fMj8F4>a3)8x+C(`Siie zkN$x6afk7BYuw zAz^1Zo0@x^sD(`33JGj~|1-p=Yc)Q-ysOBA#xxDOZX{f17C%5kZBk-U&Sr88TRAlG zx@I+!P`>`xk#uw-%cGD~g_=vOy8xx|Ekiguz{TcD;_^3x+M>BjP0%@=p$F=jVVq_S z=T|X;Dfr5o(}yWv>5OgT2FJP}j0pgmgUNJz~oY_R%p{GV2HqBi*xYQr)sY=uEsX4?YQ zs;=mb7PQv%Ufms)G^pq-SJ9cdk`l&^aMG|lkbq6)3h&1TvSr5@R-{KFH+K#1KNAxj zGqBWib@yFcAI1k=Ya034)Jgiu9p;m%qXM-oUb}7Any@}gn_7Tp>3oLC0#g{ga6_7{ zU8eTN^BzvsR(&~Mt?s^?o^@OH9ktso(aTW14A#rhdKsvfL-lfiTu7&x8-GH63Ji+= z3;Jhw*Y|DTvO?EVV9d;Z``T~YJp74cOLTXBzDB;IyITZv?|zTYhJ8D}XDZUm%;<0w zgYjv5-!VSqE+iNF!vp9bYT5P&Luq{cA94YAE{#VXHx|ifHy9eI#%PSBAh~44N$yh} zr*pTtF>e`TG$SQ?sm!DufW$A_w71V7bST71Vb}c4MT@wM2YvUu?MuFbal-D`n$?3C zm_MJtveiC)fp_p%VnfiMU5uZ)C~FB{7%QT4rvJky;oUG!2vel}x)3HIOF5_Ssusi9 z8whjxGxyvR)xh1#4hX-I!m?h6bEFYuSMk4W6l~j7PbtY|!8|%h%pcC+{9%yJH-9*i zHKn(f4X`XHYoyo}v&jJ_*#NV^jvo~<1ZJ)zhRvb0=<$$Bd+3*-(5DawJaqqn6+QxU zWo-c>0%2}*tbj{D$zRvu1#=+u4cUQkAe$R2MXRyJErv$9oma5%`W7`@l8uYzDgj?4PK=%iWgY8|Wlk2DvTiiyn z3YPW+Ik9%TYKlHi$Ew)sFM!Pjz$*r+-uU31dX=-@JX_WR<0TgOmWGD|%#Cjl%o9sP z!+-~oht;T-O$YIEwY)^~2&TOj%hI7T+3t>lm4AS9{silSUkXG}AO?0BpFfP}3+>mo z06gwF?1RUeUCuFx+Radk;+$#LGOQ-Y(vW+yWUZSaR8Pq5MEvm#`5?EC> zI};y$RB^spP*0CXF`Ls+=??4Df75;SZ8 zwQ!t5_b!3(WdMA8sx_+{L0B^)4;PFQVaNFr>#^Lx%#Uc_#)mFTBk`f#XQ4q(a~KH? zarTBh7W9WUa38K?UMII8oJYl6AX}nX&?KeXuU<{r09>vAg~*J5hK7spuwX&9vLK?O zeA#wC+2RmIX;VNBs2+t4Do02t24%8?9TGvh-y@nOSU8O$SlIZQF;!=!M=u0_AsJ@- zMzmy~=0L%!1FX6zIvAxO6OHzrUx+(6UM>#r&lIOGyoV$d%ddFe?}2!#6TII51LEQR zR^fd)5RA!Dnl*c=6rw9@SC+aMS(>Hw^$-ti)h}Uvoe-g7e5Rp8%A{1t3IrY0)!?8` z$Jq%~8Hf(yRv|=m2YZYCXkp~7*2TRy`#rdAsWz>BWa4y-S@B`$H$~nG+M5 zZxH%c#W!Cq&7&1*z5<29ecAM*kXe-qktNx4&#F_u(V-$utx8ZLbUsysCJGFl)}Sl< zCTdUZ^Qh~xv}hBTub%R`h}Fi=c)>0ZluAds3Pc7R%OZ!p7|TKnqLu|zf^@+r@5r_s z&&pie@-B(f33=f7vC6}iN-_kPLna^(KOt$*A{0I!3^@(*0Gr{FhnP{5E|Y|01kdB|<2)R$Y~0L+H9g>W z)zt!z=t&4T>U3s!9%>xlIEQsNX8qOq)Pg*Cq_ z9c8r~csY&Mxsr-i6)1Scs+AM+B7Odg)2OXw`vtdQ(c;0VN#qsx`?6N+v9X*om5Q56 z+869-J3kn+C1H!p$$he_8cmDKse;%~1t`rq!^T zHRJqDSuDuCiUPH(!Bnd0pZROe3Vei16F7l_PWXEYS}-&V4FzI~P_S?oTdKk416Ss< z%IcE>;Zs0~q2SL%m>%@I4mCa1P(QG`QKkxx4^2!n5}4{ppq;)+6fCXvsnW>MT#du% z^EX^UpAS;B{w35sI*xueP0p4V$IJbPf!=xmTZ*&XWRYV;AZMJ>pkj~hacT4gz{|8iKuW_F;6gW)%^<(OhA8iPYvkz zm4JRN378FDPRcSyH7eg5kGAdzJu#PMo)pfPxm4&g3Cs96@OEP_%7YF9wy zu=aGcb2!zSr&Zjl5v7Hy@K26CDubY5EHzlzhd|<(sSx}z%|8OrB82NjhMWjI>?ba# zn4r1VcfpiE|*ag&q*>T>cC6n^Esrqi))yyfW#WOtRD z10Xl-6y&i}AR+^}z+=Ki*8Q8yGVmyaHW0}1WIODM%Vrj;TO5CqnxFbt35%Dm)axw;vLCHSp*0@@T>aGFki zvcWvDaRn}iliY{m2I--VMKbrd?lP#JY`!!vf>b9>6SIf%WOfiwtY!NLx1D6wUyl1y z99)b}oi*!R7HwNc`_0nQJL!U6NlEBU0wAEm)yX?*+o6Hlud*3u;)a`%$X;lnb*25* ziEr4*I#5>=uP9Zn{l`ewqnTz?lOC6-vS3e}ffe1jT>+94Md=602jYFXJ0Ew3rP5;m z`?X{;b}Qz7vGTs#OV9K*XWR@(Bp0~}w`5j;!*Oh2&9y71@$8$=XYs%rFh7#@;g`D! zgn%O}hzbd9hW*0P3SDOFJ(ZOh1S5y z)l2Rt)GP#Pw&v*CUm?VFxYS5iI{_6c>8}56JEZ&L1Rv?Xe4nJ_49mITIR?uPDG8sV`7TTXVW0{V zm9M7m=2gJJsxQOSQyDU7-pi`X#{*;XPV25F?-1iEp@s8BmL>$Kkqh;{OuXlzVhTeq zAOOqO0L+FH46J!t12B!lplz^-+~#m4UkVdLWf1sM@-+YkgSWxLZ7T(|YAI8du3uch zU*WQJ7;d-%Zu2a{z(F6F4OUTU%|1#BK>~t>%e0d389jtBO~;6nM2hdwuI)gu9^!`( ztYG0}tx2c%q7R_d4Q|`BMplIgNou#H&A@@4CKBc^jNz!cq~%x-QgPpjr25s1IY`dudsvTZiuMO z5rh0aqbuG(yXi3tqSwk>e9a?N@b+3vsg!_~2X@>=0n!6Ih7f8SREP@Ov1SK=>RCFAT+w{KZTsR5J$QSVzH|RxQG17?%O? zT9+b-5@$7KS9AKzbr0h!e0hrY|75qD@R{jxo7_BI8d|}LS7qGbrbyc1mN-8Er$7i` z;Z=Yvv+5V)5vXz;5*@}DR9Ex0@dNYzLv=5fZlf9dILfjADQf?Z6Z=n9Vu1UuY)2~r zu9?lno$nFjKI88@esd8uTawhERqJ0N=?C3zBz^2Td?zGCm94i?QDvtdHh~xky&8a= zy_cOL3m}Bsh8tvNx?P?W2>Xk-L`62~rB*Jm1((t^eDelapMkqLey7uC)NTg9+hys0 zJHgUNI?vLXD2jcHI$-JRey-{vI21N8bl$OS31hj4u|cQ+qvYECwRI$^F!%wPwNK^) zByx(#f`H;CrF}AiT|$$|#5GT~D-*~6^n;9t`DNl6Svj<0nRveRN)yTx~@+n>No(ip)E_ypsmq>$LtS|}J%IgIQ%xwlv8<$Sq7NcN|YtbdL6 z0j3;EKPgb59=gf0Rd)c3V)yD?dl<&` zIr%^$2Ji+Zg5%R*P^QK>pURgM!w|+A5HAD)0|KLb(gB0cAN)%KqkE+olfs%NuQ>;S z5q<^o@C11(4!%uCnQ(9PA8HVm_(oJPzo48INOs!HFW3*>J%n+(5Go8+=C4laj!YJj zV~RZwqhdfy7y87v(>>PCb&2iBxL|Bz0#0M_0fM2OCn=@QEQJI}yI8aTqy=Kr6>1V7 z?dC#Sj-(-=?bnKa(eDdF%#40RPvHh7@) zFAX*EcYve&6@k>P6vwhazqMldOJUU-{O#tgI9B0xGDMBDSD4 zdzKJjFj&MJ6}V|t#|;L&In@_2;hz#yrg9Iz2bh>ez3LoHy)YVY61CudH2`9W96Ae) z$$&mGtMo;|!keC;lJ^LNu*tJwwwu#~aN0*B9Fen2mfN=?xWGtF_vlkllGgQhKlyDR zq?i5m(n~Kr_0nA~h^0(gi#2{Qjw-GS5Is@Dryjg?Jp>F%iN3}#=hT;>f((uLh<_ga ztIL^2mp*t1)};lQXPCKJ!W)Fz*&-=8VR0Y>Z?2LH)Gn8&DN}K#FM5ZKvPmOwy4xOfxW4R%#?iuGhn!+G?A!RohSCFIq1iYp)$7_V??u_#EpAw*q$_(nmo|AwDvsTPJ(Z z1q)w)Oh9>)gWDnQ6<()EBO4^701150mi* z0~nE0XeUt7Viv*q*AScvM39_uMp_l+V~}GCJK$o21^Dyi=g4&AuVL9Zwd=BUlDvxiKuwb(hp1ULd2V%r0!_^3KsreU&&Ha3@5~-0>+yi+{I{Eg@-exM2NhS z)UXU%?xgK8C$ z4Nkk(?7vEBOd{eCqr(yic#zL2ELilak%Thin@0c-1M?!-3k)wD3;!>VFyU|r7(g&U z`FtX0Y?^;ir+N(R_ZtYzSNoIC8uirZDqQ?+Z@^o&&DeqrtBl^lqAAfSxVWt` zKl&&u;(2KH{sNNS%YkeWhOia?q;qg&X8@#bFbC(Mhe<<7=uy#A2nz*`7Q!xP<;U?+ zBy00Mjtv>bVACBSoeZ1tKyOZ1gWY4S22J(Oybj%DyzJnoiQ0*zb zEa4?JdJQgqa$h0!!+k|@4iRx(95K=M8>MU+ov$dCQDJ}3XW?{jL`nfb`~2-(Fj)O< z-~B0Qn{|#(Lrx~lg67J(+W;jo&s>?iqJ0os!Bkite@QnBrKGg;HuhD6ZWA+eC97{9 zKImoc-%8PzeO%>=KGA}l0B$*_p_olHN~QFkb+W4qUHh zWZ8md>xSo1Sn;To&lbtvF2rY=X=?=AO8hdC-kUGrUJbs2A%J4l98+ggIMUFnZP^b6 zBYj#igJ96xGH+ln%peX|(zK*pd$i6-ffXr=S&{hy3gS;*VH@bD=i=U)UC+A0sb=;; z-B|n_KIoZKLu*SzFAhSWs@|WDQ@#Ik@zi|&Ain37X!8Bz=30eo0NVpJnX8};Ef^tV zq5OYxPO;2qICoEpatgN0K>nyf=~S?GMlp#%UIhxaShY==xQXm6l|IPfViZ2-)E3y>#aFa+;AEP;4EUz4#((S4D*t(WZqGfR+KFh zT#V4+ce(lPa9Js)J|oBnjf$}d!ld_skc7G$sreD+8NXW~(yp5s$UWD45k zpDR12MC2N5Rg@?=NN4+`<~<9gRBD9Vm}fZ&j}T^pD6E_r*{D@FfVF|I>4GD=oxqo` z>4tG0+mmcd@Y5nrKFzB8YFEA@Q0lX*5+I#-Gz?K7yj1B4HVPd&XaD=lMm8OneNttrV|jzsO2FPiZ8sd0cqZ)w9FV!6^Mba7tfBc zq)Fm8q{UJl5P{Is^5gW)8JAG47V}4FD?4#$7OOZSv*a~YWj?+vi44GI9ZnW7t)^19 zzb>IFO~Ct+aqr<})=)%E8`Bq26BXo;lyGLiiZKZ(#QSD_bSUPbyK6Wb{L5X^tQ-}v7Cx^7;4?_`MNJEv)y zTkWMYXsuAlxlkC#E&mIB@&HXa8lQ~Qf+*A3_WpY_jyK@PM!gLh@M&<<2&5_X`36b{ zK;W#fE6rpnojq%xL%whCBl!?b^k>olGP@>vQY?fa8E-n39^3&%p=f;t zwCnR{hjyc4@yv9GcJJ-Uc*g&g32lUClM`vyXaH73qNAZJcJ3tDm0NFUVSzchSmo>bqc&sNK`;d!UxH1^1ie1=V; zJU}*_OM71cUR|yq_;`h`Dw553InsFvo2MpZ6jKQfs{zA7QewdCShs)}xc|LimQ}w2 zYEl~NB0xS*l@TBvdGD@;WV$nCK8|{;gnDTEclx0MM*G0ACsJ^@z95S1Vx`;NhN20m zP9Ra-7nqn$M!BH3Y5Fa_4$b6xHYN!hNnpZgY{e6dv1A7eFZi3_5`i7io*9oRn1)}$ z!eV`;TR&h#9ie==kGh;zF9h6&RwUBLLBhTbyWS;2Iho`JbQ=iH&RUgr^k(rrF}=YN zLLR+2xg^n=M7y#`WZ=4m9q7%xp1+FTywM~^c)eUOXENLEb~XkGS`tP^Z-rhXb3aqm z+q)X)YWc*Z&=9W(N0U}Dm{p`i_r=9NOJOM0%W%24mgSIk!8o0r)ZfI4Gu4xBe|vHQ z)YKAqYZ}Dpw@h_@@E<|?ZN0oIm*^zES*wp$=;cYhJffFIz1$-g%x#4*r9}6~=&zY= z5#7#x$93jK^gY}UdO5lp7ki3+0q4k>%{BYd?pK-MS5u79&EHTcWWgyc7mC54i~J#| zq^i3S>eC4IRWM)i8FVKaaonBbah+%ZE;;7zJki1~cf|zrcT|&@LI39n^m@q@8uM(isG!^K6vUnJ{@0*Z`}}{a!8R!y9hwH>Fxj^dKlDa!0-UCsN3aYjB$MXS zqsgjWrFIcxCTfD_mSXK7hGomc*D5 z0jpsGi9zo0d&b}FWX=(jTd>KRvmd_W%m}f}{a!2Sx4y(lMZV<4gMGoEm@y${qaInJ zxk{wye3q?SC5?!SV z1ZU1>B*S3R$H6|(2=>t^I+j2`rV_%N!DfWw5E_8IREgDn5GPdscGtv@LHA@pxHB)~R z2zPfn?j>7bg`1*7aj`#rf)GTH<^B6|Zy&EfL6m}&4%lV{Ejn3=@>MBvWpXTt-K*sH zQpt?4AH?v(NsejKhSO<_qpM|KXW8Nj-A0%t%}xF9jQVf?923<6K2dqI2%@qdA4LXU zI^U54u|tx6jT!a4Za+s!RZz#C)JBCCiPkU03*WfjB0MlQ zYRJ24qlVH(X-DLU^>8k5acVJ-LLp z{cJ{>vS6oJ`fU`<1^We|z|H`qLB0j63U zt+Zk4!^rXt(x-+<mg-4$p(y|d+c4mHuyFs|h1$KP@LA}sb96l>oN&C7+yIh_ zTyoc2;d)QFUeoD`xn8j+_HW5()b4Y;o)6)6=fvD@{cQr(#je|}5Vz|njcqkBfln_O zgEol=#(1FL1IxIe}o%_~N%z zx`!AKyjB`mWVTq~;9_zQ43jRbZcz`6wOs0fFfuUY|76uYkm)W)8GUTJd2O~9{6%Ray_up+ws6(UGIP>9#|}IspEl{wQa?R zzA>-%J@Bs53QoKNeH;&b%oO8+C(G>hm|LZ5gahXZxxL}Qbd+^Xqni0>KPi^A_)2H|Ymm1Pfja;t>@o$R zL@qG%<+7}^6nhY0^)cd*X)t3g(VK7(ynTok?JJk)Nt}-Rrw1^K_7paL1{vHxcRWqz z^EaU6XVB%U^k|o78~!W-j5?y;|z;UqC&FcmB1;*v+ zN*G1Ls^`K12N7%D;bKN%j|1u6Xer1FIG;vGwJ*}PKIiZ%@diL)FSLQ;rjH`86t!NPh$lCRlj)0x>M-$`ccs)tpD= zXc4Hmb0#NCX`*MUmhOtuZldRN@n7fat7b82O!Q2Uk-VA%SEr_NBHaX-20RK8D$}i; zxss%VRotFhjou13&3H{3UCWuA;WL0o3GhIFA%=&4_*33c1^C2eajid@vBg#Jp0@nUTCZB)b#=RS@+v@wBO z7GEF3swB2CB%RAd(Wn1V0HTHb^`86^9l~OA&M2Xwfx*cyEqL0R^PxN_%VjUV-%GJ0 zPX9zZ0d`w;%TYj=mpfae=+Zj&2iRXM4Phu<7mzdDpabJoA}l;#BENM;UP(dIj4qh% z$Uw7*k=tUt41|cz0`=1nEr@or8!!&R!UJXkHn1c*Sw*tTOTmh(4#ccgn9IsM4sq9X zS)GDN*-SMvs$dUSI;2DkA!zn-^2;v!J516aVBk@q^XJ+l*w3ls#dd1Ps%AHi!)CHz zv$3T^920cyamj2c2BmfEJk9&9bUd5wvl>Nwfj-u%uD%beO6yp)+dk}}*^lWfnm65# z$y&BRC#iuBB&TB!?-#SChTWR?XZ*s@B_{bGzFv%C{^ufeY#pklR*QB4Y24L^^RcdVYsCIMWdp~xoThqxb#-+XyPCH-79M=3>#!779zsOSo7 zj!wJ^zzQnOU`|uSoK`~S@Q4dIQ5A(6^PMQbVoqx|aq$I&Qr3ofrcg-x4n55j3OuuB z-^w>(5lHfj4q!2_pf7AFW?G32MRtug^zwPeh7O6@&~fqzCgqgu=tRh_Yd{c2*gr{N zp$JAt#%$<>Y<9ggHT<>|VeS$E_`+t%e$3ZlZc0!~}e7T6vHPmj?AjguBBoY;)L!O((cO$Q^{La2bAK{6k;KX45i5P3M#%LwGXQo;dq%T|hd+$Fj1$ z_(jdpo-TLw!KSX4#gA#InDfHfy{(cE3^&tQ4BA(XIPB(O z?6Qc-jf6QX-r2)zZ=`4Q&?lW0#>6M|@i^lVQgx4X=$M{~>n(Ab z;M_0STOvLDT_%#Vg50adFh8aTG8&L+fvgamlXKk`!>#7LAV&q_i9v))b%P!olSy_yXBD(1aGY&5koxqY%w#)F4EI<7gs814QjWl&GjtQKK>#0Tm$) z5dt)JLg=^Cpd;>%pyPtexQr++I0mAC;sUO?%!s3ow+*hiungw^Jm=J1x)UPk`~JQU zf9Br4w{F#`v(>3nr%oNrSQMyJEuJYb>ShAyt!ap@lSsrZfbf*aIvQ0eEJ6__HpUH& z^rtzsm_2|8i~TQ+&=sgF0EqvbC-QgFKJo&b27{e7pe7xBU>eGA1n996ncQr|odUFh z&(I@2k#}={z{Xwc$-}YL=m@Lf4Qv&_U4N_L1x(Ozmt)nR1MDGmwrOQY9=l|4=rpT8p&oaTX2(9YP*&%R^}x$Dfv9vY<)fRliC2hS+& z*C3_LwZ-%!mqA;q5QOXvPkSAs+CY8@l!{Ei_~$YIt3585(jl=6c*~ZwHZl^ru$Gbyq)eZ4wu&aQ) z!>xKIo(V+W#l|32dS~OeDm}bB6hEk(kwFQ@5mV0eVsUPVeOrcFqn=1@>X2#J)0NJN zVg^V8i^R+rxy(`^?bOniF-s}1X}|{>xXkH`7#)+O7$++ju#0KL2kdbPJt^bJ&u}8( zw30}xqJ~dq+GM0TLta~?DPYDS1|${>1ZEt7F0GQ^FLPWK!U19hG9JH*eoXr>BsY*b zKz8^~v*NEqzVRE`dS1jG@t2{An$LHOV*kDtI>M@d18i+XJe{LR_34iAbhU4L(oe+Q zl$STS-Jn$3bZYEkm-=dKc?e*R!72*kng!sx?^N-e*G7RHbh2Nxc2|J}0LiW>5CNxN z5F*x)IZw2U!L-Tn zg6e=OnF)#a&d6VhxvGD#jnAjExy$W_#KXLrd)lo_e^bpzv*rhHGc^yl>bsE9*vV_Y z7va(9Zk>RbfMd*WUNt!5q4jG3ia%au$98Sn9rlL6}S%-rO$3}ggq|w zYe(3MLU)8c<$iC3jiVVIVUKOu$q0M=K}jR5efzCM2P9@{=hEm^l1}F!GM*hYD_g*1|wN9bZf*7Pv zrx+j^j*5Y_?-K(70l&!^D#&F2Gw$kuoa2#)Fp>SoW_j%IAgJX!kSVN0ljV_7H&EHx z0l9#7#jwdr6FiDpsK)u6u8A7XX_bGC9fzaR=rB3@Of$)z(8vEpVqw;h9!J~>jg!-? zdQSCp&SDeo=<_#nHFhhiefz0B@f=blmK;@^{Xd7Mf%MA_6efKxs0>L3s$+Lc4Vxj| z7{-KMnf5obLySe=_^R!y$U4$$);c3>-w6?g{p?O!tz`q4I5ETik%yk6O~|xQ1&Go6 z;NlMGw32aPg$s#wda(c5Ph*{GW4)tdB_i*={WXn?xHc0$_~^xHBX1>2phsNb-LSE z{I=TvieyXn{tEu%e`YV@lTknVa6z!f@8<9f)IIEN54PK*)Loh`4PuK+q$#Ht-Rvd4 z8pS}JVb!k#@6nFli>7`+RDy^A?Gj!@Ph=;q-w_WC4B~&{)q>ELnq4+8i@0Th3hby)#e1|Y-QrP*?j{= za@|`*r_o}!usSopD}ly*tN-RQ?AmKkp}bvo22sz^ii2$a{zYR5)?`rEsH^3_uepXG zCj5}yjts%pYAV8HSIeNOzt#{Ob);(umMroN!Hq%35Io}Jofv|D%w!jQt`__HYl$xs z!JAfMGMypIhnyN>?4;uw8)ZPeYDC~c6>O0%GZid;q!3NeT>-4`_^Bs517s~orjLjX zryT33@A*8cljhvc^fA%j!FH4zz3C%a&UGV#Ts89BXkzHK5PruCHi=x-A~XRaKqj__ z?nzd4{A&Ln_%7~-R<-*s5bd>eJ};-lhUTk@G7&@IwZGH7gv2ssiU@W9jxYEEAO9SM z|9cN?ut5p^=lQ=S9%nmo5#9u1$pRS`z6N~&v96I}$UV9oVpqw}Ip|c#jjWFST|UMj zGxu+}ll<_|47c+s^)wE1x@I1K&^duqqI|wnm>R`_NIwiK6KQjxGjz<9^G}Aom2*h= z6QIt;so=Q7$ancv1znJnuRuZoe7DxzeHN- zP|4B{n2+60l@{zpG1U=h&HjVlI~}`|=t%C^hCn3Fe!5_7PnlY+Deh(>=QYuY0jV{9 z3I5RfZG!`e!hx^G{vq9mgGy2dIub6yHaNgZjf49D=(=eAemG-mHd;A zPG=mC=Ik4AW;n-<3Qp00FPb7^{v0ISc(l&`?0=j~(EOf1f={KqhF9{-{_S+eS#ghL z6+Lfs{KD>@j^DDz)$v&AKy?xpqo#=COD8fyMF(8zQ}9x%%Ndg#?T)0Wkb!oZcffWnerNYDDp) z`nH1a#G=^2dDJ&xF-#FVgZdnvzO|5o=O#?CxTnoNLrU0Xa#1ae2}u^^S|%hqK$r;$ zPDlLOXn!-GFjI}=sppCz(=)%ZT+qKJE&za4Y6WJ<1SPS&~%}Q_Q<1v zRzZWuPk!{@EUB};;|s^-36Z;23YzGlSl0Sy3@7Jy^*DL?eQpxtgQU38HTtc373bjv z&c7JnhM7N~@Ee#p?GTrle_H4<^Yy4xnfc>)cEZedFTbv_OXtd{%5h*bTqEys4f}ZD zGk7SmwOD%9&oFu3A~Lz5S)~%wDK##FN#kX2i!<}_Vg?U0nd%&PCrTG=N( zH_E&|PhMXhMB1vgIG62fjI(Z2sS*Sk-Zlj`CyMFE>Au$o;HllWUPkhzb#nQeUJktm z!}e*I3i`%tvFBvAZ_W#m7$#W(sQ`20m<^SAU>gQHyg*D%Op9IFUo~ujXjrww?#$LW zeT{cvY}g6mEf-e59Nv;&yMK5~;p~0P{@Wob!6$$X(+ZE$=n~#??yQf)TP~_i4{w=n z-O<$Y!Jwv=cUg$0RdKUDb`E-Q0tf)A`Tu$LhxF%83KoV%NH2zTu}uq%Z3+#Co@nGw zwhZ=lV?_*UkY0>CG5PYXYfg2ap6EO+v>FQZX-oK$QSEN939fLX%L zpDaYASv&VX0NHU>7fwsX0Qowz3DABh)9Ri>2?b#Car%U$ktc=I0J>uzOGQccv6_)v zQi4mBKp<8=P*;Ehv)*J1K%^ZhgWSNgjs!%#19N^(`S^z}wGs}>-~uRh>}#6vL3g~K z(k~Dj*v)$Ka_qZmfuaTF<>c9H?Cxo4vM;zsxN4bR9@R^!UWVyquwIVVOP*Ys?L+kE z0eZP1t`@ng$6x_&&qzMJY z+0^bhm-bC-At>K$KR$<`0u7ldE#Knf&cQ2y0DfL*Bat??p9P|b1LIb-!f&RG48;01 zMEe%LIr}g<5DS?R82@Dsn=1Ty%E2h`I1AKvWt|{lxCy}@Qk^8y&P0~X6QoVMz-zi0 zEq4j-5#H9_x`ANfXV>6oT7!M8_+!f5 zPyz0*AS`8?HVgp?itQt%&`|muJM&g-sPtD7#`!WWU)mXHzh%DDay#u?bN8YJ9^O<# zwN>i~kbo%88F zh9E_cz!|`Opsvs5p+Z$@$e<;2qMGJaDV-4x$-viKMi;@5SA$_Rt-R4X4}{4g67Ng5 zD>Fg7ml$BaF1O}h#fA>Yn@nv3cm3?;#}QU|Bd9e1v8>t{YZfyzWOSt5vjW7Ri5|q1 zVmQJAmnx&&jURlk*(K|mTk>LK2Xneid-Vm!B=dVsFxN=eMW8|>E30Q6BjCZIrhmmt`~FX$8v%*E2_?Lnq1YXYkUSilG7CMRadKSB7a_rKlZylqsaAMX zCHqh%QD`_s+iLtbH3G9se+8Y1oh#Uf#N8%=!gs82D^*Nv;ASVqPiXrbtNt_IB9jVLpnEmyy9**euh#`FJMpk@ZZUOmdze>zO_|-Fbqn zXOb(euF$j_{<@PcT;@vENg(v(LrF>Fg76(DCP^T?foF*z@N`yr;(~Ca^TY+=Nl`e` zby+%H#NWwC2=k#p01wqlDhGt|ebGsgdo`%Y?Ns!JVdMzV$66jJ+=jeA`Wa$*0XR|< zACBBfQ%~oV9OnW;rR6e8F>E8T4+ht(fp=%0l~h&Bs;CK>LTEGjGS+W3Kg$diRbL>Q zu!&D22ny~avn$lc+0}gv9#M|q{0Y#?cx~1Fj}(`!FhjEu|H(>%=Q^?S)nz#UO&%So z%f;+v>l%)F*vuhE{xPm;cm{^KNwgCyo9%wnDTs+nvp1(=Vz~kv1|CfeT@T?o!78S( z6|^*B>Ukv;8i!XITkH#^0E3*MSu^8@;-!7w)oj2Xt(Q~eg7D#Up~ax55#Mr868-4w zY(u~6T>1?logk5`1L3bB97&u;yHx2c<+3?P%~lT~q(o0_-O{PH+&Epp1T7%m2BF_+ z$@JrJ=+f^erQb@)zcMh#9*%W4mqr;rroyI9uHXx0g(t4^vzPD$L#_+Iv%)uMo$nG# zoGMf~hUB~qTYpJ4+Q^s_oRzqNPZ-Mw*pwsDT>yn{hKdf93VNXekHShF`U_UH{?OX; zAN%ELGA5-mNS%b^t9$Xv>r6|?zQ+`b%L?C3@{4ssS&?hz$^(10Q>u*AG)aM|@dB&4 ze=#Lq>boC+`#~SXds88vcBKJTa*RQas z&hsk_#)m{lh8%R98 z_gVj6hq%1$260PwBq46_xxa+CtM+ygH!kcUE)5?l;>uragE%q9c_LVa&^36VquJB# zv^mbKqEgwA^jVbxX?+nrh9(K%cP*u`Va(^mT@6+VoE%pL%>t= zp?#WOM(E|Qa*01lb+Bv_=eM|PGrv729f-jBIo`U+5~2pqJUaT+9d)yLvY1!L(hqZc zK_7mt+Y3T`NwZMncPDaw;s{^;1AH0FYP#2O-o7S6o+3M7sp}9t48`Ou6Oe(}rPDsz zde_%(g)t>^q^ekpJ3&4=!Krfrhg{NGDN9yX@ui+P09#Yd4~9<+V>&I=qJS zj0S>4bkx5-3^O!p2($}$XlfAqq*|`g29A5wEXQ)&(?K0WNQlBaj)C_TavR=pl(m3I z!i0C^TlFuYPm!;}U*#isKpdjx1itXLPBSkT{=1Zabr+=Z&YY=FLikjk96N1zWb=wo zpbFrC7zdX{Y75*Zk$<`VS$GPzq)tAu{l&jlIDxixs=Z#~0#PNGmKNixnD+CAVAd|W zO017}CduV>y{wT-c*h{C{&eaf3J!LJ5%9tIZ2#Ni~r`XnrINKFcel2guOsm%r?tLQ&^F` zzY0vJ3^(V@{{@CyxTni-ky#$Y9fG=*;ifdX441gFHT@@j5r|KqaDQ;6ptf2sm&=7* zQ+E$+f;l^g2`jc5_mMBaL$$-h+X`o6m0=~&%00_g{eyhxY*F?$k1xjiolrHrjULc# z=gxX6yp0~vZSa7uZ29}3H(DMJ?>Kt)zTq8zu<8y)wfF_^3T|W(F1+K9R-Gk}kFn%L zdpRRJyyFUMK|NXv@3?68QQ;lOT6JGwnu=dINCG`H(t-t3U?veh;j!?Jalvd;NCx%x z3teH=e}%S9LCz$1Qd{-xQ^PwZyH)n;prloQn^z@P^>l2~|&DiLKfv5m5EqRbIDwkyhJE20_(Q4qQI1OQWf3QECg zz}VmnRtB6mW%^&8Q~ZAf(@eOj#VyrC+BPRBbgXW|Tk~s+!&?hy4-UukISXif4Mr;z z29@QCPdcZrHCj$j#GpSq8o7xB6@+Fb-0PV>F+qh&UC!)P;a-v!F_FTaD(DtK8t1$T|E?C@&8i7 zfiXNhi4Tdf_~&>iAH@HOJNwWHqO?w^g5B{y&e4`YUmN@5eX^yTZ;5#U2iHo^5|I%Q z1Z96zQ-yFx+hiWE98c=s<6SIk+#N>!KNt7Zf2ybcb(f%cuyjQ^lQTN3D4%jF)&F!y z{TIXDxMq~2{*UIkUkstCK`ZTn0B%(vjoJ$HsLfc`&FQZ0kJWg(zdtHg-9POaNB93F zQTNaKR$mmyC3B7pnUA7v86d}C?66=y^vDUaVc+t(NL&D4 zNDb9s2z78M7sR=PfngPaI-`Br|5U7WAc^FTdQEE5->A95)s`(8b|_1p05(&FlAY z#y@A%Vzvyrli|6p!=5YsmEH^wBnPD9s!zUQNj%viC3%+sC4Sp1A#O0qX(a-6B$^X} zI?t-_BhChRg19Pb@rPM0JD1xaliMc zR0(cjml*4=T_h<1(M)p1V!VN6jx{{C*qm0zgt%2~lnb6nNUu*LFUpGmUnB*Omw{MP zFNh`WfGsM?B~^f_{zI3M(|Y(A8EhnsEOAm8xa^*HB{1>^;v9YjKOKDj+waqa;bos2* zQO>1g?F!|C_Nd;LL#P0ihZ;4HfrIr})_>Amjs3x7Ph(F*YpStdT&mz_w#-Y^*sqwa zXch5uAOfB!t5`P)_+$%6vg#@BeZY@(=1rz6(IU+GR3`w!i0Kef1?Gr<3(EK`u@i`@a{<%OCV|MI~gpP#g(>pZ`30 zmi6+5A|_mKA>UyfnM5+xILow3lqL9%!s>u6+-fa50Qx#rk{;A^ft^?qK7)Fid9hkt z&Y%~F8THx0`qec#tb?i%5EM`c7Q2ZXFeGZ@CP0i%*WGU+`=B;0wBSgWE6TB}uvk}z z1J3GjIR!19(^ZTe;&lAw9yCe)?!G;AqnKk%m5wo-II~jJd`5t5gNjGu2PUzhqTq=l zKA#JwhnvqhkcEfjzR~Dp{7@2GQ|+RN@>xItZeNMaE)9HvMgXw0~%gGm;og z{w|q(DN;?wnd=`t_y63d#Y&GCf5H*>;A(*}HE3eNQx#3DNj081bT-9i}WE?|MS0gY|OIs5S= zQ4sM3ik*eB(+gY!yyRi z$r4<{TV_~wQ@gSVf{BpU7%{(<^3&x}bmL?`k#1lq(Fua^%$yAp=nl7(MAsv%1jPl} z7X%T-JO(DyPZFO3xguWR>a@9#+-|%)dZO@|-IUPFgcF}32xYVwVvhHPhJx8Y1A*aC zxX%>Y3e*RnL?-MHtbf;PTE3g{gDWN3Tt2SrAr3{WVk)wm=RTGxb;htGkVmOaS(zEsw9eV$l4J8 z#%QvUsESU2dLCXp=ttU1O?aY8W2qUQu{_M(J32g*F4S!Hy$AA3na+#rm)m>I=YdFP zP!+k6S-I+X6Xp&GL>emDr%e0ecIt3|l1amS(GgBf)agz|ROvU@rq-+wUTv!G_YWO1`fGH;_=NM(-aL%s+YI?smK*h&#WaxYd zNR|>`kKrM4@YsS~W%0jqeCZUQfQxDb;AU0{(Jj~{x^b^|l`-%Ht)R7GnyX;k5*yh@ z{b3-Fe<{`NdL94FZd=FwQirE)s3;&w2fgN+_@h!>6W=j($cx~ir&v~4`rsQWV#b8W zC?~am4uG~V8Md6l(^4Hk&1+tDYu?cc{Uh@nu)La3GJh~R{=o8?_DeUgW~r$MxvV^X z8r^WQtdLjFtGiIo9IqaMs6rvCpfPzZ`{6(x%R1Dn`4X>YXFkMH39_VpCxnN2H4B6l zapZo+84rVAirB!GXb6nWj~cE1nTbv3m~l=@`&wN9;KCUsoIoJ| z<=}R;`r;w~CtCf^A6%_|CtAJXU;4smb&R=YGtW!tMk&*$AUs(f zB1sSjd|6QB{C5qPb)C)A%X2~~&y;TS58L(C_LJkby{3?d|9wlG${oRATo!rtU`jSQ|wdWdPHOwvLDW5!L zo;2|ab@eE(vUGbsE6}CeCHl}=x&^i!97u*Zr}K+Z3?VAxJ0oN^o1%z3Dqmvt#Idh5 zmCAn$gyrtR3(X8_QmNqRVkec#Qbg-nPfpAkk5nrBn8YG*a+Q(r9DWUavq@|d&m9+; zfG7y#zNA#u<+EWo0YzW_GBw~d&(*6i;Ip47xD`uA++{J3os7)LXM@+uJrA|0lg+cC zqLU2NQg}GxN5DELggO{%B;3Zkxie8fe1;cT_1v%|1=W6rfz51Iqge&*#Dr{C?V=Q1 zM?j3HvNNXu!C_7};BkS)jChsk48Uni9-+b=Rzne1m`sYxxvM*2qJm%MkcEfM?*vqK zMS0jeNTgDyd8eYp!E#MF6(tUq%7$W4b^=1y(8>B22^H=T8YP|n0KcWvc|nYSiBL;6 zrC=U*3{6Nu3_MX#m&GZBllW#f=TgR}cD_}gig#>^4WwD~KT6l8thpcKP8xwz?j=5T zDpT5`{D~e4>Np5v99k?`km)-tROjA|YXQmv|aqN^BgsIfifBaI>Qw zzzKpXBe^16Q-H7+Lq$IxEm}aF>5&OwWT%X4q-L;Y7^%7T7i1S86vn6+%%mESJ&E!= z^ElF1C>CKTO`}o`W(KVEIwc**oMCq{Mjk%(RzdtK`mMoDK`P$fmE36;?16tq+je^ z{2SX_q*iQiyitbX5RD%c651cx{6R6{k6e4oXQ~cV+?VGFH7WM8a7IK_uq;FwSb0cK z(RHx0QLw^rAoShl5A>~^#c9ADn$VY@Se3%?6)PeH@#|q_vYU_MTjE7bQ+A1Uh*qoR z=}}@Qg0bYO>CU6(N4EXgzh&VMoQkD6wzAlORY2+%6Liqf%=XZT5(xmdOQbquJ|t=( z7_Ad=sv^26c%ss7+!t;NRV_R#331z@?Rn7be2S%ZNu#%wGj3Pw*L}vHj!s!G?=V8@ zzH5yalcSZq-W$~d#|Y%yr_)KoonYgy9}6}nqU*qjaWyGMn9Kv{QA&#wH32ib#=gYl zI^y2wXY3}A?Zw{!Ny%rHUCicK300yAMxw;BUYKnx`Mzt_)}%Kk!u1#^*X#e;e&uE{CYSn08 zdz)jlFG^hbc;gMeFez5XLw(u#BdME`O$2f2BZLxoQn}QbvxyQ0-(>T%;Z-uUuDEI3gg@^+%fEyVu-{2tWF@&8_0`tVfSv-{Y;+(Q8UY zN3W1e{A|uBpU_7S%Y~xgaJ3kXXOJdpG(zV}mofO6P|Al)@@+Z~Z#O;^4nyB<<-C(x zfxF-zQubz$+|T4V+G)JHpO|W5S;x&ZoOsQk{b_5l0IiI6xz1uzfQ=tER}Xma?9~P_y!xLZnfV$S-Lb)E}nJ3#g2f~k_d9V zV6*tIQg}&;{|gD_aCwQBPVvRObd68MC2p0&S|e*H9wYfo&J zm`aZyfRgq>3h>|(Ol6Px)>(KN8;JHi1RK9GkG&|vn!A+Dh5S9#Sz|a{Nqh?ehw%Ws zUCamBa6}(6&@h)(H;SK#l?Tc}1JL~{{#Y1=cG1Ip$qzvrtFE7vg-RNpUdA{KEOE@l zVFP7s363eIeL@^Llku2y8O+qNaMjF7%mUiFS_1Q5BRXRJo{kO<6t1$us?z&CR>F;Q zZ{vKV0M76Y-=>A`kM?bCE-74Fd%pWlcJtzS;r5wGH)cMNjV1R-1_#2caQf}4+H1=S z-4_&&=SrNBU>EBLg?c$k zF9Y8{V`M!)XcH0za8#KU$gkkV4TNiQ^$?PNqO-jafe>} z|0UBG??_*@qr`p!>B_BS{x}fl^+11YxC8TH ze_B{NW4(DG-yYM6j`kzU?E0hIca!-+}snL=ifd=f$sE>MFi z72vzM4GltT#P16faP5r3c}xQ%JplQ%|`o zEEOU#Tv6PJCS9P5Q7d~+?)24+a$^Y^#<#IJIekGK4Ru(t5yc_6_On|UzKbTZNjvbo z$qWEIiwzD{j+-G7>;}6CyQ$eU3i;@ej%J5obH`Yx8(;@d+zX@)2~S2f9kx-xHg-JI zK^wu_(fc8-O{Sys_Z5D2_@B)x)!IUWww3NXWFFc^`6ScbKCuW)$xYfx{P+%W3x1^2 zsFL<9kipHcKuZPDA}g$BF)So>P*a1sGSkx&rrR>ssND-)$v-07QX_Dia(F z`6IBo1U6qKDG*)(F4<}|P6XYHT3a(xW*7ZpE7Wo0-$|x+dmqT7%a#w$-O)qUqr9-H7Lk z_HS4M5Nt75@tDBaxA|KP%41j+%s?2F@Xlw@DbU21=u;K0_}W`zt#mv*yh@Ai@?b<(@tKu3#rZ7$^m`a0L#Bl9A4l;P|I7s^#rYpX{TDE~tMn^VS%Rb`c zvmzf^%l^rC6(Civ@zEKXKv_0WmP?c^Nk-XXK^=!Cpz3D%vD~Z+`K#BxzrNX* zRmbJkXs43s@Xpa0=|D z3yc?F$*=^XS&{@O9+h*PO|@}QVW;?72n{YYnt&2+B3`gJ?suy}jtl+lFEKrZ+6uI7 zkBcD1Xzva*l#787mu8p>_JCs`wP)cDoyEWQsZS zTp2|6y`hv|zBp?rTh}3VfgC66E2#nB0^OJsLOBYyNHi?$61=D;(rS2D!n+|u8K+nO z14{k|#AVUP(FSoPia6;&c-KUoxjA$|+ztAOL()QnF!c!;{y=ndes z1i@|#BomTy&KbMIIlyDN;hs#iPA$UyY%om|*eJ55wW%a^Ma#92=h3Q0zJhe4b%xq4 zxSf*z>sl`}t>222^lY6Q4{@gHPFt^s4gnC^R4VTbf>L=5Mx9Teh<}M^PpQ2{R|6C` z`h)pjo4Mbh)oZD;j0)?+x z;Scrs-{H+MPNUbYaFafKrX=!e>#ImP0zXel>@?>y1UfnWt{Z4Euv=dE5m8%bpFG)&Bcecj6b6eat?vA&7Pt=P%rXmiI(vH@x!C zulX8t0vK`j&9k>qX=9L(fea=;t*`=V56-B_`j+eMv40R#YsXP?`B5)l>&4c~MfpH_ zBX|H^aQ}JwT<|ZRGgO|g%2+&S@R~X16SPxCVEumxNM>ODzs0*2LtW_WV+ccok84IC zHt@RWFq%N?-PyoKR(#X2f)+U^aJ;fRk8#qU5uohwc zpxN%P;2$Ix1S4dpw0vRr(TBawDkq!HZQT zYSomhi5Owj)ln_eUW(68A1Gd|^sA zJijwCxYty?msX4SHEG7oh2IqG|XMK-14j+~FVZg+Icmq;vsk?e68o?p%RoIrHhN+J4#1Dfr16 zIo2$9-1UeqA8_Gq>T?XcmOL>C9l|ZRfQC70X8hblW(zv14?Xwi>Ux{J?{eur&Ju?t zgUMDP@o_QaE|*(B|MHr8@S!k-T^mv;GFzTYTuuuw(-+x1+=!4A+SC5P znRz~ac}|oYYO%|3WHu2~&rP?9=mHS-14jzMng;^^^M48d;|%_teU?nw0me1Xu>kL( zF~yV9FNZh45E$MLe&oYFXjAOq|6LdVuPXl6UTpAx(8C`7e|+|r@&EVU#Qzn3{C~c; zgMVR|Y>b!1Xhp2SF)%^}T95;MfbHSXWRF)}n*2P(qsgtPj9+Bf_AG}c_b1Zi>n99N z;?u#>E?M&0l0_UdTm~`@U&W$8VDEQ?5ag%IoloHZk``m-${FAaPook=gZqo)8YKSo2SiU-|r1XwB!=AgwQ+hudU*EOT(=2UHACB8F=q#y_5_t0DH~4?0W> zwnDc$ix5ErHs47SwMXbcMjjCn{}TAknk&8};Rz~IAh&u}fJsqL!kBhNMl{Yvr9TBGe3?t$ z!hGe)%+U6(!Mtby`-M^Xk8KJMN-kXerhJqZ>}5U*u8nkUL7G0U=K$_z`iC!o}co|X9?Ch_WiAfYQVBOeH%nO=p2&LGsn1$H$+lR?WQGwWv6Pp2+rqC=iv zTtAV&Vp$KB8BRL*e&r;La$t0rCAvZUKEJ*!9ciH z(;;#yHX)nBUP(49=h(oSE2bVL$w$*|dkO(_yosvE^P>|wEpra!@%hygwszi zi}vn_)2m!ghdpaJy+%3xnrD>Lfk5%UWAQg0B*;(a5@ZLWCctS^Dv8Vwxfr!H<4~FPoqSq;1?wP z9&bXwwk)!*ly|nB1Neud>&fs>&BI&=>;NM_5b2kLYp(F`VbUvZObKsqW#Z?2j7%6B z7NMe+=kU_|mxPa3)jklM7XU9XbQt9Rh_L!(3^OCp+<3G$5sL?mWvQ1*GUg)?1I>w+ zJ@u++*TU6$eoTNZq4E4?Cbe^xdWV73eV|+IE@@OX$~ZKGtt87vpEii8kIxzKP!oE%q>r z)n;)BqG^w*m*2V%NI#tE+^ygkh$PC%BJO*o>$jE_zC81sGVD?4zs{+m|AxT&ErC?| zz5bIx;o2#u!!ExA>oSGgXAffw>pzo;%&SxK0H*?gkrJKL){tDabtNjUy)UW9XB@&F zmqu2!%(G9Hd%IXKg>s3c#YaGm*$*BB=J}m#h9uFOX`{eH1rRZ+BFw+x#fzSpJ_Mh3#+?_k=5!{$jcQ zJ6%sQqtr}E{{RVe$0lkMWA9|Zl!cwur+Muo_mmV8>O#Y+r%hc1!nc1sXcVxy}&=im)`&v+H3TVqa0o)ARr zhdc@}L2YGHF=bPg*nfJ2Z0W8G#Z25UVq~Iu@sE0=_yF8}E_axjMe{z@TQE=F$9jv} zbcY%GiFt!AM94kNn8l{~O5}I|AE6teqU$9+f%( zw*5JLrU~UC;~)&@Gy~C{KukoQuor#kz&=>+2)n_x$xXR>1rZ<$8~9c@MSnO46vC<@ zLul)qvRo#ub3~(C-7s9^0@|VOMqj9ZV&1;|URupsZ+t&mdutD%yvw;Z_Jwi}kJDxN z*k0cka`GW62R!b-gz;_a2^ib5)ws=Pe+$s@T!9^wOy_PYJ9;U(l7xmKl1Yw0NePH} z0dtkh(MAhHww!-n{V~WL`yl)CKHU>InX_pP=tq$>ss!w$EXk`FN?6X~Nu&(j-hiuj z!U)2jVgIFC4ZjDs;|_%WA0RqW99!oLGLOK16Tm_(4K$l1GawObgH*HdR++t+ z!a@e8u;_^xCI$jR-eQ+g@9-G)Hjhznb{I99cZ1$$gGK(Vx4F1optt$BZPeQWGV%rh zh$TH?>W$7llY*NxIFQ9Pd>w8^7sz3{s2(bMB!w;@WM_l$nCN=C4w^v`Eymu2isnf% zxW-WoRkAY?GLR7hHcw)U5NtF*GVOmO#(|3`D2_lGmgjWnzkgMRTZeMU&+b0|)c0JH zvynQ%=M6nHUTYWWL1rbrAjd{1@k5B`&_mKYMf1x4qXBjnrFoCNH43P+)l{ z>MiLpOm9h#6ZDq!7^1hojUETKW`Q2leu*AierBKjBrgy*}6j`?MRh%{}$!coTrNml`Bb+zFRR~zPS(_0ecC%q*> zzSmn4KB1oXlgU6)6ZnIG|huR#7P7QBbKB3Mi#~xnQ32-NRaqL zARJ_|o7FG^3Lke}f-vHou%SH5ZLimFZtq~Whmb?I*VU@$60A|idq9z>T`9vjn%8|t zv}b0%VSENjOPZrkf`^oZ0iwY%gg!tq79+Xy z+fE14S(HP)-^gepN=e7a? zB&wf`HF~`R|LJl^_>C>nuAxl(LM;?MNaXEY7lj|c z>45N&+zARl)LWwPJ-z)6C_M0|U&Gs1BcLPxXGYJtynW-Xe%|(;&+=*rdMu3Y6Ernf|Ej^6$TrXKPAuVL!DzXSrFBXhV+z2YW60>HA}kv|?K%&;_B zq}ks~TO^&@W86ANbjQk_i0(yt%U)ifx4)s6V>kbrUjAbfdigHN_~$@xYn!*9VBz-0JZymmGWJ6UyPwbZIxgc7_(vbKe|#fl+k!UZkW z8LQMMg7078_sx3Hf5<c*kh0E^+z zvUx`5#aw5JmILf!4{WgH;R3d-n0j5>1z3+rgmtg>V12)bIH2E@3joZRwjcglR^2%| zG0ni1Rounj(s67r941H%wF^I}P!Ry3aaer|x6D_R;|I<%``_=`Xw2(;R5%vEwV^_a z_H1i+b`X8)jgTXP9-Rc_!U%0&!X^R3O$sohi|h-#LHTt@bLg7+ z=hJ_6ISg1)6Vx2Ut?jHcUqe1FfLNQozyMcz^z;6Hn50J&@GW=sU;`tr zic&pT;k3$}&LD z9J&Xw(AhJ^uIbrMlWuJ*Bn-dJ^~Qh{lY#w7Ge(00oRV1tLZ zBNk?eA_Y_T0KbV|kk9GTiYe8lfIO;&Ga1bKzS@U&kumE) zxp4gt48T>tgM=|x$XX;$d5@lr4uXo@cW!bZAR{FLW4u>w`YxNe%+@C4$O$iS5HJAU zADz&B2o!{>EWE=2oGkz=Pon$WK{R@&-QRnZbU(31fA`-=C(RuWCs^$MUhMv1ou&KP zdf87ez2yQ8)OFff_}eAu$kb)O^DCWh#Ql#af!XJ|&L_IPi~x>JC=89BV!y<~=NZo! z&jnO56vjN|RJ_9mcA4RN?{fIvAig_T-(kWePEl1F(+=}P1Tjdl$Fh+h;T{6$u#P{0 zZp2*=t09WFxa%IQP$i_cr{o)VIvCo=U!8PtA66&F+FS792TDYf+*=2|N8-FqMBqR*wn}Wsf+{{;Zr|< zxdP9a(Yo&ZHg-W}J7bZ3Skjl2vEzx=hdH!j=}86`_}r{I>|w`~Q_=&`6En)9CuWvm zpwM|7R`B>vqVMX&F>1}7E2aDE0l8__rzL`SyQvrYdrYzwy|X%}VvP$%I1TCROqwIV zX6R3-w{ST90&nf(Q_1MaAG6s0gWlrI$RdaUhL*3*AjHn*^0O8Ej2pg$h3emB^@6$u zRJ75v(C3pfFpy&CH;dnfqo=St}`j-X3WtwewJnzp}OF}UZ->naX7sn&c+=AkUs zeQ!TSvFe#(FBr~-J$=r5)~QR?*U5%V-`iN$o(Xk;;wkn>QwK?ixKZ@YnszmN7(Cry zHL-9w%Rh_Z(j_@^bJ7UOmQyL}Zc1v9-<-g28aTvWjkl~lh&T=pD3%$(GMAuC%e^R& z5$u~>Kq?u=0`(|>8Nv)uA-T{D){-UA8ODiDz)TKi+=kKwGtSq#-(pKAMb@Dbj$|43 zABM4?b;bbTM5Btcj_S*k+a1Vu?~!5OR~n->5@bZHFwq1AXZ;!o9veys5>YjijTNA= zc#UCCLYr>iLvQ~d@yMR=^N(cduJQ4(HHc1Ux>as|TXiSlE}jWbsUWkCa~s@Y_VTmz zo`W}d*_*La*3>B6CHZZ>v5mHHeBT z%xJ^V|0quEGP}Q6zJQ0(ZW3RkhY(oRMG18XLr<4FjG+qxKE>~i)ron`%J@h!4`oU) zH$f`Z;w`TO4*>GN;|_FH047}Mv=o(qleK2GL9`gcA+$RZDKFEqmIiyv)~(3Lj&i8Y zn_tQPp`FCD9dn?GXZza>`sBbtL3@XDgSc@x1-`{XO;q{r<1x_aBNeaL5t9Q5w$7K-$th@BbZ6$O@vj%WJsveJ!cy^%3@guPa-!W%z+wdPhb+< zn_*{NufA|Nc#v)NAS8hun?n60`+y{ZxKgNe4@bx_54?6>v6?X?@BiRc%c}?qwHDj} z1`TiP=8o^(4)jX^Kuxii7nzE}+xBoLs{6Jrw-Du8-a)Nyq4y7HQ`wa)^w^wjoYh&e z`KVv`9_Kl=EjyeIU&39W4iYj5Prnj(F@OsTKpR9sLh`nz28$AUo6qvMm!KMyg6qKG zh&SLYSt2L{O5Yy>?X@3du;oJoO=SW!GO|5^LhV2^f4FLLh$MrL+$I1~F~JfxhSH}3 zpUf)U60xjnj`QP3RK+NQ!aZQ&Z9QC~JYy#6>J<>89L93vq?~7*UEH=@>tK{SUdq8X ztHX`y;Yn@FzR9w^QN%8USsE{a5(fT~nVPJcoP+RKuV< z!hqC3pd7|di0l_cqo^o^!^N^@eAyLT%y1;5wKD9$Q0j=$WC%x5xSyLIb6G*y7JoAM zDcA-0usKs?Sz*u$-T_gB0e2`uK-eeyhVRjtVstAB{%;iiasmi_g55v8f>eN%f@YJT@XSz=D?vfkfuhhWwLx^MigzHbNw=11>)c+xVIDD$uB;B887ei9 zbSg<|{V2M3-ew?UGsuDtdH9Ic#xn^?3McO>#8 zdQ%JJ2b`YbvBIF-6MBWE*0DlP5jce650LHnt#*c2lqM2%o;F)xF~@HRp~uM+;b@X4mi5+BQ^ky# zx@ty50ELk%5EZk7NL2x71vw;}Fb0zFu!R$0shQ{$^c|U#hG$|6oz?IoKr55&0AH8E z(9J|qCJz#iD}HASzE&}>P_EoI%3(8Qk#&5uksSn{#0W{X1O3;C9djN4jjna%(XoW8 z8Cq->>uEZYCYeNawtf5wTaeMnGy&g(8a35aDk6i<8AKdEVp;i@D-Oz#zcFNk zQe)w(R>J}4P$|sLhJDzx{%@bse_bh)?Iy zs%6_|z5vO{w+Dz2I_GxXZqDCvx{mX-Hd_t13x<%Bd7(+VVt9nEy1E*JzAe)AkjC=Je_ttPe-1)Di4`ZoJMn!iLTsH<4ir(toqsC z!WHExI~lO3*5*M0a|Mpcr!eOi2`__nf?f9z*)bH1MEu(id?ORMRM}H4YO(H8Y9;W# zpH6tQm({SXyC_Vop>e+(pJA(4^qc_oOmGD5%H^&YRJ`U2+D!JplSM zy!sn^@IKpGSET~V#FntwgCkar3cdyn2BJg3kDdz77bZ431d5s!P>EP`Pm$8lSWvBR z&;jPC)@vyo4zEYgCzP#L{ad2Pj08l_*It~os&mesWGRsgru|Y};)&EELn*B73{;td z^{JiU)z=#9O%1YML}%?{y-UUS+77*d+1y7AW-q)V5wlj^cIYO9-GA;)>>~N7$*1H@ zO+|yhf^wcdU&dd6jB`Ctor`w4fv;R8jkzhRQ~Xn`lm?-q8{ZJ^a+(xIDmI{}oajkF z0#CQ$h8qlA^S_aoPJ~Z;>IUKCp1L98Lq+*)C5RqD-OyUolxO8Fw|F|_RcuIW`4~7F z`(g(=f4F^Jd0q31*eda3i^W4l zX#!?n!IrcAB~kP}wA~21p=ATmmiIyjX#1vM*U(nkuIin<&O_VjZP3<7EEiApR>qGo zX!BGrl$pJ03RJITHR==}i#ZI`>oC3K@sb+~q#CC9YOM*@sr{MzTE!vzc-!rO}9D_13oUuE18KOZrXzf zmPi9;2bZ_wJG>GGIro3x%CBB>_t7pi=CuxsRMV=mF{U;nKPXNzA4ERp7>nO92*fTn zRyui24OSzKu)V5a_q|L6sv^Gc6=Akl2o;nu(pzI4HrDS8mI&ctsHk2`XkJICYqL&( z_u3RxJMK9tfZ~EIJ|s&<%&Pj(-d$dlEMxz^Z&{FvIlx#k%0WiUxvBH-~)p6fsZ z+X~e&Ld7=iWiho3`Cm8V@N$x_q_*<}{VVd90 zOGOY8;6%TkXcrjCDLs*Drcob#H$ymM?;l*5WSyCRQQr&#-$fUWuQce?t7> z`Q*#+rb*V5jIpwojn0`)lYO3WXk8A;C0-n)W1*N*yx;+u1P?`Kalz)`L6Xi#g6gW= zpt{78;^wG68|gOq!6>wGjx3QeKbeWbJ1!8t3I_CPkU3;S!NdR>iHA!;b&!t(*4%3- zh{!X8+zzPSP4PR4DYTxs+c3trmn1TVRR>?KqpYsnLk|(GDW2CKFigyuJ}!bdK-8su zHJgz|TXkh?uI~C4eTK$!cDRfNV4^P}T!2&aM)`V-%1EiCSaI1Tglyp4Pa8 zzi)#|*!E0K>_el0ND6S&w1ej?Mzn>T`)9#;o#5-mHV_{7cfsnv%Rk{?W!(ct;$MCwQoUWgI&^?nqnVWguC&W z)q$*?&ZQU7tUsXZSXwc28s22`iEVxHy-cC9Lq$tb75oQt5aAYxWSuk*$IiyGR(Dkw zx5k)()lKHF0y_PQ`6s|X<*cy)Lfehmep-{-~igusjT5XI8N}vG1v#kM-?s{qdSD-#vcTZcf0I9 zK0ffl@vaY!H+^uN?ZNTN+>Y?Er^3-~ci=GiIKv0WC?6aneQ>;fwu_IF4&j*lz2M{X z&byC~mRyfNJ~#K|k59}!`Qu~{j^*_o;p1nVFhu^?9XJd=F7d%}p%0Gpd~iH}mWz+0 zJA`AZ!m+?94|zzZgta4cxBUko!;*o_6*r5_ZN};#WbXYs^fZ>Wz1)vecnNkv=9V4i z;q-BHPncL>M-e53d{W%uzh z$_K|t9~>w9;27z_v1U$3_()SYwkN=`Yxwv)$HT`b=AQWY$lMbj&8NHgDDDuB>0c{8 z%61>57y&Gz_X zZ*xyLEOSqMTtCXiM@ENmj8HhPFWr57EI81EBWmsmM}xU196dZZ=FRK~A1hlF9|>^m z8a@v5!Evw;jstyggim$xkz@q9lIAJ3Y5;$xY) zCq6zH>EffJLpc6yD?Sq7*fo5d?StbC9~`56aGc@6vF_@Q@X=l2xcX0k9W;I@$qb_i;sd1;h3y&Y)^oLvmk%8XZt>bX+Ain_~5wG2ge^gI37hF z?w!wHzW7Y>G2D-jU!aSbzkI!)hmRI>PkelC?um~F11>&tJA~t6g=2dH9KSG+GCq_B z9~@yH9J76J9PGidcxp%Zc>hzy$1p!W5G~LVT?{^2Gd+B4H}}NHPv)NZxb0*YADJD( zaXR2w)n)L~tQ7b!;l+Y$?eie(r?(xGQTyAo;jrC?t?hX8V#1qu`DP+A0NCfh3fI{h z?2-rk@-NAMwh9m7KZA4roa{jT2i3i}{RA7T1_wI@A_sHcT|kFwOYlU19_U4s7#CSr zei_T^SEXpm5HA_o1`iuL>BDS3%*D!3irr`J_Xr!73b{iI?y$&f>%U@fMDpIRocAxO zzp~wJSNmJhvu%F|UfNE7e=`0Q?Jt%bQ|z3Vz5Wg$$=GF~8*X^buvgsiGd8d=8}PEV z0G(^V{&+s|m*0ZAc9}j)dbEYNc3eB~9`=1NQ3whzDQQ=~^o#Ib2Y3N|rg$&~?$(z9 z_lN|PC*k|04&jHULxnyL`%m|_Jviud1y(uCu-%tmw&}s&*SI~vJ{nft>!#oJO)0jX z{3r4lPwoSsIu53Qn;c}|S{Qo(*_?nfIICcy7X6Zk6=b-F6@XKRr?+U>815#0CycLGmm&`wS?oy1blr}pTV z0Q#r|&_S9cew%tZcn$Ty+ZKpG&cj1;QmV`OJ6BcCKdyvs#5x|<4id^790+r<7pT1-z+ycGu6=t+94VQR@gY0J zn!-}QX|B3D5CuOl@DC8w2%^u&+9MtzuYKW);BYnq|30%>2y2-}fCtk^zBV%4*GP3Q zgPVu=Or&Da359y1#Q@x!Id-wgKL0D-7Y~4#`jFETxG&GN{shJ>}GZdzR7(-dRdaL7s4y(muYkl$vnD2Vz^OU*BCL;=4{R z$bS8q{h~hkhg?jYK+9|P!}|C>xd7Y46zMrcdhb<0dQ6ZGP@R8C{CXRn@3Ow$BFhqq zS^P>;GLA`MS-yQ$Ndj z}l%6{^lT2jJof?mObM6$EN#)$B06EKd?$jXPxl;$AkaO--4?TBE8EWn- zVW`=9snN?-dKs^mOY|~EFK5aH9K|48TzZqEnwmk38HpT~#80va8{U-5cu`~o5+jSY zD3@%Zf9#oKs9m6~vG0FPU`11>z_ZU^vf$YXU!RT)6_0F?+;yUWVP_3?hP4P-4qriQ zQB{9&8Fe}%H=x+FO`J08uDx4TS{SD`fq7Qg8HAT1Mh^4fngs7_gbnMl3TmzcYOd_d z(TGrpITf0SJb|e33UmfJGbT|FSMZpCNq`=A={TAwPlHe(uDf0x%VhO zF^RzHKS%a4+%N&`>23}jjFy%5o(fk5nWK`%C%S+`_L4w4yB(06RN@3JpMMbh4Ze_s z8 z3-*C%ATyA<9(#d6l@-$vArnXkatfO5Lj-7Guk2b)NTN&jv{3NyCugqctoKO-Zw8yS z*Y1s|4?KrKkd!`h&ijIhFP;Y?{^%egfu2*dAsdi036nE=Un=d2;s6ZCt2~6STVCcv z{pWojE6LfYn|n@RnD(4ai&26xl;oX2w8r4!Bc8gBc3M+{{RK0eVjUQWbk?1ftkq@^ zmN~i7`Md(32LPJcC5zLP3fEfmnI2TRPACpjhM@-7+{9c1CefF>_oCQZu$-V^vs!o+ zj7MfQxSJ1FuPm0!3b{zMXFVT~>jDvE!vdErE^@C)o>qLZ|}$~>_nkL z=ON-UN+GgPLcD;8DvBS@6ncZghw}j%b3#%QV$YK?E6XAq_$F{l;f9%=$|6nd5HtbJ zPKgkb@H-ghc8{;NCiYP=wR#$2_<`+hIGs=SuGgcfsda=_)2bGR=8fa+S z=}GN%`gdQtotDi^WGpBiu&VNRd@iDg?EL51YTM%g>UqChK#EFG8A?QRmYZKhep*g^*N z)kO6LBS_TOxPJ)kW>Giqax z#MwohpU3`JIsKP@J2L3&e~qvIh;?-PUzN~*?ow*E|CsX#5-{x`CMx)+nCO_q*1^m& zv_f*R&$A5@ARQ{pz=n&26TWbfpj1;lB)}hjp|aUNYq{Xz%BO*cZ3zaY$Ilo)Ht6^< zRL74c#0>=GQCuC=tm8AFW&^K?{9l7B|GA@X)M#6b4vpV4n3KxY3E#1?7Y%4L8!Kfz z!SLKa9+6u4}Qi3v?)6Cx#5Bo2? zaU1Xyl59RsIJD4e;4aa2wJ;l(hNV#`VIq{^bzkGo5XW)0X!Hp1rs#bpA{TP8tw)@%0#sQ9*7^t6PQ5|nyL)4OJ%62?2atP z8FJ@YS%hTB6mnosvgmc-n0uQW3i%!hHX9h&E}dRi+JC((oxM4_RJs;k6)Q&z(k)nc z4EJn8y+kqZpW=P=yzJIDy$;CEZc(nas>+LHr+ezlI=-N3vDG-7W490ahVk^NICsZ6 z^dqnGBDk*$zvB6TuFs^F)?eO9d_w~e_ruIR@=I57W>QNbVtIp0$5T_ize+;_%g%X$ zT#fzR{6H)aN%@9>SBouI&NjvD1D+PS*;g)PWg;fszNwgYf|4#i5AtOH@RSt%N-pu= za|B6y62kVE#8&X zrN9}OquC#((iZ3B4~iw5rE`fms1NcKs4Pmfl7)-;r|Me!y|t(|3{(AD`!(m*E_njb z|B^q@n)?9Q3Hq~!*a!i$j-FVIds3Fzrk>!q&42CbiP$Bq#Am1jR8TWXT90)Y*G@QQ z^p_czLhCRt1z8!F+x~@RLh?wscQkQDYY99Bgw;X~6uvZz1A5n#y->xp2_=TEgfPoB& z(X81QPz;=n?^!kGr&}&j*{)}L7=CV_{Uo`wWutw?#O$MCqFBR@+>?-7CdKJAGnLHL&Yq@ryX_JYLhd1_ z+{&StnrcR!C>=*hpfe+$fKJ_Lfx58Fw6Zz@>UgTQnyRe*7 ztj#hbI43=Xf3}{TO1$!FuT52PI1x2Kn2&SJjWg&=(V1}Q3pc#JOp~sj6Z~c&rs#SgiOjl!N;DYGzT=8j?f`l^2ssD597#IaK)H@BAD$Z z`8(|Dx@Ra_ABuhg{@rl|rcF|d6{%nnT(B*Rx(=UJzv?Zadc-_XeH{!3gz>M5y@)SJ z9|Xi^`C6WGT$^+|#j8BaYaKWLMC&+o=JjF6nYd^S>UWYGDYlPU|Dsc>&9hs>*5%WUPPLik;NVY=9DCB>c z=5bug0!wGaR>QOq3*>zl%pUT_0gRv-Ncp%5HjkPw!k#}*4*73D=8x)#)5LymRPwgs zjf%YpHDQs-Km^JC>49qY@1X+SK1|iB#gwK|go~bb%J2U=u>>NQU{`srG|V_gAxM>wgN4~&h)>F^k07+(yuvKygyFK-you= zKNzhGEqv8ECBItesxY2?QmIk}>Uu;_Y<;CwpFMWM-MIVqS8ag0ZR{y9X%Y; zOVN>&oY71V7!IOaNqVJZIgm)IM040{kl?b^_ItOIpH!86Q|DSZvWikyR3&6}(dn-a zz@wnAuDO8)N@r7GOy(Ix!yVM|?7vanVoa9sa{zBZyjC_R$(Bx-vD32@f`*c0uUG-8 z>g+YFyM{<=YNYR>6icnWelCV28((V!kuhzN&ObDNC1a7~f^yF>Z`{2b+Cyf`I!CCJ>WvGqz# zD;MBuL38QrV$U0~@or-D!R)!6(g$RRB#H4`sdFT0kzOBbyhGF8q|cFoCPkkkvxkF5 zNwyycKz&(eCT0xL)FCWsOBo20Yq_f$l7gzP=nv08PX79ps2o5IoH+XxeU6-k367D8 zJ&};Rk0~^QtH+#~GF(eAfEq~>1coB43Y;O|eEKyJ(qrl{4?7wszO-cp=9<=b(w~le z*%8%PD~c$|m1CSw3k5W zunYdjL{v5|dyf$KLl1u#2UMB79b7fuzKat1)l7X?J6}Y#wXh*hYm|pPM7;+JH3%$uh-{_k`TaFPIH%1zD z#&UKbF^z(yW>VGVg$P?S`!j^Wwqw~d^mD6Y-$QIOad3Qyp%MG3sm-oQ#nQ z{pTq^P$R?lpaE;HBT;Al^%yx<>#u?GxQKj3>zi>o-Mn| z8&;xkGH-nzGV9+o0(s~kJsR@Mqgo5FTS#zi)pguo0A87Cbg0{)v(mGZkDsIVpiqKLSQvVb@p#FVnp;*?lRaY|nhXoQ?{q;Ef|aPS+7 zM_<4EZcdiS*v)=k;&()6=?*j(Jp(D$J1LLH9s@Poc~~A^=wQ<*k91nGDgav#$bZ7O~o#p%>KfW}&1?d<0g(`f?F%1n}~! z5>rC8H&}jw=&$u8fG9*6h(&&Qu zCuuM5{-?MlGV6=v-sJAYU*N`O@hnL51GhAr$aC}{#Ht)5cRDmw^;0ETJ_&I_wCsRX zSDFh!*x>_e))}K&*Qlg`||=1{LEL>@8|}3dP%a#NMD81mIkhX;8M#1M$#xUloufE;2|+WI5H}$ zJYy{;fk**4=1j3hUKEq`0b#94OSbWH%p2roh6p``l#&PpHF-5tBA}$w77%V=(kF6j zT*xsy2%P>}8^{@(5>9)zSP`gMr_poF)iSd}jb-u8u|zFkbRH|)Y4eK-{G1Yo?J^@hiBr@@)kM*lS6IfI$-w zHy^Mhfjb8Q54pk5rOPwvZLm-)U$aUIO#4oZh@Dd)2|TUka6HU;tdVbG{(2S6q9K(C zQMkw^(=sPfD{4wpzPOH@KP<@TY$P%S^@)+c#K>Rc2P&BrK2D{Ab{473F{kRuF3==% zoOF{%kW1eJjpBOHKAKfhVm{1YCC1zkSsIKHOo33Efd~&KJ@G`U26~`&Ag{!+4D>K~ z^-hMZ3-RNF$lj&cic7V%!WQIZRRg6m47+q)v|>+{Tb$SiqfV#~s5#ak3FSdez)c2b zq3To&MwIF`9fb__oJt=cVI_@37E9;XO3X7JM?ky_Q-7dZ{nsQu$@h*TTT$QYSw1i+ zgddE%?Qa`+;77c~GT0NDR?&l}h7ncnF@PQe`oyz1U;;{q@V_iGgR@519irY>w+d#sMHcfOX6PWQG7~If`!TE$==<&!q@m7KL z7G9@vkXmI@@1hpvoxd~QM$m9E4+jy+Fkgf25Q^FN)|8$JiXNGMM*)lTM*nSKQPquV z8uw2|>@XwRAs3&r6Jy9wUay|%X+48Qi10x?hz)}I+~pbOi3_a`7}!=|7K53Pwf`|` z)&HUncRvbAl|nf}TvPf2H4+YWo6lg_hrCEAjRSowO9PP)@RB{_{4}=UvoJjwG)OB? zT4DGoAJ!SLRct*NU0s520ANIXl={E`dil`_qv{Ck-`%w>M9TL0aqQEk+!^ZFbx_Fl zW@lS4xSAu4Je;7-J765!yns1PSQTXv*W8_r7H-l^Q#|jTArjcB4oP*m{SgR)_G<}3 zA3gp&x)S;tK#B&ER_IHQ3l;OMl-IC4BD-|wAwoY+7tdv1K5ZqQJ?uW+fzP(8SP(il z5z$$a*-2KNOXKbkrSD6@2>RB{zbK1BHd{L#G!Azu3om-;3)D!*8EK3U!t0xG$O&;Z z2seN1pN5Z|;aCBCls45TEI^D7?66LPY%jD-s)^ar)zL+)0}&j7f#{=m+&1%actO|Sr&LcxDxJ?%qlICCF<%gzrZe(VtWYM+|TuU0!AqAo6cTV2eN z#*eJmT=t+^|HFAsO<04=KqBM}N-U3-S(uC*IUix)hTZ2SCWH3^&Xmb>j$*kJ8ck;VvpV!+1s@PXH|gnnq_7h>~#|L!ob#yP`7_P&l$g=j-ulH$>-K z9}-R6pbl57Lw`9yFX`0FM{(%oE>DndV$Y9|p+D z(f?U}bQ*;Q=gu&HZOw5Rq!t*fQV*KXPeZ;j+lzk>@biFQAov)G#QqYe9E~?kBi{8i zjGo}r^bXPL+2MbeN18q}NSv7jMw zuMRc1-K>6MXDVod$*|8Bl);m9&FTN)C$uLi64!^H@ZJE@XMT);D6(J|W_xRS8dr45 z8%$`OuLNcBD?x8tE7uSJhQ~niwKmCK`CaAF&zKV+zu_l));0TPP36%|7C zYoe&VQ=usCY|TGUdHMsRZkrf$O=M4p31>w1w4ZQnWKX*a@|VZucUg6~R=z{*L;pOa z{6BcOd{gqr$ex@D9U^-UEnkbX@_!~b6iq@|<#k1~d03SE7-WuHPmy{97{vN3_#)vQ1R3t`KcmUVdGf#>k>P?%kyhOG9$%(PF9;J&H~1IvW+ z5ryo|8LSaX|2)LN^iwFfy6g^YWYI?YMmGTNn4!VCF$J|(ePb84>KnTu1Jm)2 z>=UdVm6^Z2$7g+Z@3Kn@uAuP00Bq%}mhd@MAo-X%PD(X*O@#scT!Rl{ zMGYp%;9n`{`~|AN!sU`!4_0KwC0IvV61x{EoD318p)XCii>V(@dD$hcj~57}EGw|^ zh8Dq9l_#raETXB*;TVcaFU!nEvTemQj?53NlSziRmBg;dLP0qtvA@C3(LyZd|D*fH zjt;JxfLVVsRk{-@H1>isLX$M)_~n=%OWY&Ds23Mf(Tiuz(kS)N2j8ukX%4o|6J2Sh zt7{-7(|xc!qYVNW-I zw$3HlGlxuqu%B`X8@s&v~f7MV-s*LeRvbPdkOye*BlSFwzI#Fw7NY8vp9!I;( z_yciGZkrwPG4aGAuQED~M-!2-cRBB5jPwixp^XW=~Le!}@MVb$56Rm}d@TnOSGX zt7%5)yEE63Q-ng)X&J$W@^)ZfJ%f;8UaQ2A0Ws?rua*~$=*q;gjD!8;r}^PTm{bA} zrW<2*cYrBw*z z##hAB;j;+F>>|Wj9?!DOD85UL=l|mY#E1w1uW;X{MBZ8_bGmMn63bOrUKmNQp&v!;LE;%^B)x%CZ2LDMa%F-7hs+Pc#SXM%?fb7 z2T;4-a2Mbgzt}9d@&!Ch0e<8G)D&Le0<3WW-`0Drr#73#j|j`7QvvS%$nlh34&bf6 zfFl&(-KhZAy8yr2WwYGT7w{MbSnUDSGF<2ae8d5))!V73W_jgwVfj7}pqAli7vKdB z;9q?K?^S?TrUEQ-0q)povwW;CV4ec(mRjpU;0?cv%`}qQ1t^h}RDAaa%n+vf1XPf0;j`uU{1L(B} z%a?lqwH@|!0giS6U+@KdLjiu63b3OK@FWNDN?*Xi3h<>=fDMZrrTptBo8@$0z(W+^ z;8cJUT!0Y=aK7HAKDF7rkDh$U@HS61s+H2l#d1#v@Md4YVG1y1y}Z~(;kVmtmJjm< z%u;|mQU!-{7vMt<;9|WKeQK8LrwPk*QURXk0zBUV9N`N%S^);E=Q#k#tUN`Y{?r7N zt@8BZ!IGy>KS%QPQ&~bh`-ZqXVsUH=Y4uI-I+pU)7%tt^b!>Q^Bsr63Mf;G9p~fD{}6BQC&& zNt@+XzJNbX6_zJ>C~T_$|Kb81>Hxm2_oPoP!>1MCMX4y<@wUVAkq+RkzJMVG_-o9~ zG6qY?@*Ef7vL9`hJNg3dj|$80$XK4G<#r12W*1E@i!}8ar&GKo!fJZ98(^IkhrVB9c0Dh@Ak5A3= zvdO~o>ZqG#ZHJ{Uz}^mE)EBT!0scPJ9c}P6KN|KaF2LjuHp_*+fF~%xG7p7XDPPZb zWcZ{5Xzf#qPL;}}nyubx`xC3~zFJOrR?CGIUE9Gt%;F9lbmJjm<+!GO&uSiAVSuVhl4&Y*JkACnT zzE>3Bng%z^{B#36CHaOU!{Z!4?zet$z-txYvmQXr@>?#zPqx@BAL9$yS^@rat2^3s zQWOqz0aiJHE06S}@SXcbhW%^YENd<2xB$C3fcN?W-lhP1r(*ewxsD7s{>NrH&lm7; z1^7WKvw6$~IMo6CqLUxXOC}1-<2-;`%l%z|K?ktL7jUEkjCy3KgF`D9p!u!MaxY)N z;}l@A2T&{JgV!AyKJEa1cZ46ypM-_w-ILr}*0tU!7vMz>;3K|(RSK{sm6r2efWL0G zS-!v*u$uzxmkMz6YYxjVI)FP4_hWe@+Z*xhP9Byqn}WXlxC`(q2XMA8;8X>;s@g3> zt>w#HfGr%r%Y6ZZ3h;gppw@D07vP)U*fKoO(T`Y-4#M#s1SS8cLc&hiCpp#YONxmoV4 zSU%kaIL-mA5BRbCW~In*rH5s$l%X#DKFJp_ zpa2JY0JW#w-~ycN0RHPRKbAkdPgvf)+)bfo`EVED*$!aD7w~QcxF8ka$1giF{C=a& za!+5tt_rZi1E?#hunX`}2k_fN{a9W#PFT*J=w?}00q3{?FLVGO@&z2H05^u+fLhBx zz2vaG^GloM^L+vH72xz`Zb0pNFS!7pa{zzp;K%a%dxhmIJQV6G;C2__00;1CU%<%< zFw+C5Wq6DWuyKRUa>y6(Yz6qm1UJiChM&FY$nftD;QmAWSpI&ju>6b%P*eD@3-Cq< z@HJn+M-||Wb#4l^rx-544i4b;zJM1hz^ne? z3-B%naAA8t89t`~|KkDFN_pA^*u?=H>I*nP0X~rm@M;%e!xuKoNBRObjuw_nm%3Tj zN;$#>IK}~7*3OURzbn8~Jb>EuRzB}2+ZXU;1$cfcz$aaR&p3d|HhwIBUM4KxQ|qQs8}=10!2S;4lfHn} z3UKj#Za`h9WVir-UuUyi;tP1D0<81^YESv-Sx1JiJAivy`?36=QNr?tsQ^d200%jM zulNE!tN<_h$j!2rVJ{b8I|uMuU%+AonC}6UC1SDcU!HMTe(y6|hOK=8fBu`WTszK9 zp;pT4F2Fk-z;{~t$?zEk__GI4SEJ)xfSnz{+k650E5HRGx+&BVyN3&K`C6Oh!+imN zA1N$XcmQ>@F`ss1SndEWY3axE>k9BJ51mzGalU}<6yWoV-7?e^9_j*|=m37w!jI+m{wgxO#RI7AaM>(Jh6N5_l`r6(3b5d+ z6fEE80{rGvo8@l4fSncKr;Ads+|vd4fCIQO-H+wv_Xx{pk97lT!%jTquw3K-PW1&W zSAg5bxB+$en(YGI`iaeQ&=>GT1z71}S=Yvq&l8ReZ+8ISJm4q8rxakdM~2#LK5_vb;Q$Wt1-wK7UgZJQN*V0}T)N6; zIp7Pp_by?1qdGVDEDQUhDuq z>I*nt0nRIT18SCgx&VKxw^_c>7qGhmyeJigi5U*dFFAla_xiE?)lgx%bt=HwF2JiD zz~_7cV+wFtnVV%DV6SrlwsZgo_yYb#0p6Di@GuwPTPtiCHtz9bIdO-u+|vW7m9qR% zM~1gJfPeP|oT&hJjB>NA0jphrnGWEMzJM1iz&Rd3-CjP|1^Cf&o8=C^fWO@?EZ^w? z)Sj~Q5r^e_9Ka8D`^oSn1$fwdZkDyDyy^nXb^!141-x1Te*ZT&pr&w$3-F)IY?izD z0=86ua~HY+HHAmH0Pk}E8-DX+`K{YTh8sN;>c->0r#mt{)d3vi3wVnHZ10hwuB2wT z05{axET8NPn5h8Y^iZg0`(Et=oZ~1$Hs*+J*HW9yLSLdzRYbLX*$t@crI%fR&pUuW{Nl&uhFgTo zeYd*-wYRmN=1_Qr1NfLP;1mV;oQFc4!7Xx8nC1ZX^94Ld0gm(l>bgDR0-U$Rmf;E6+Q;4I*7NUvp6Y0MxC1zUr=JX;SAfZ4H=yn%ec1(gv;%mvFW?ml zu>Bl2%Q_z1=mPxsBb(*Jd;!xGV7^Bw+EaSF0LMCji+A|3Jntrv;XscJxr;SM(I0UE zp5g$G@CCd{0sfE*u%}DQ|NhWs`50foLlxj}9zfj}-p2(v$pKus-H+u(Hww!$I;t6h3Q#6GaxBxG603Y!MoTLEn@ldE`*wF>}#|Jjc7x)66 zr2wnWcSjo?z8a=DGMwuG?%3wX@|Hou^59eye&GVV!2z7@3piZ?9^;AFI)i(_1=!vJ zyxbSCj{>~k1E^aPH@X1-@xCp?16%!A-hREXoOs=B*gC+DZ~>M&fN%H$KC1wYR8>I4 z1$dMLIM^5PG6i^!2T=R+T`s^C|FBs;#24_7fx>bd51^jYo$msyZ~)&=`pIyv0<6$G z#Ho0wWoS-z>@e2>9Oesng97~JJ;5!<$f zwqj541Q!lTT!6D2z_kfKme*Y?EYI}->c+#(F2GA2z_2gi{R;5yRDhjb zfcqBMET7>E*h2x{l?rh6Bu9p?I)GoBek^Zhn=x*hV2{~C&4-7+adq`;b?q2q$Pgy+acI+INp67E*a5o z*ye|OuRY!H3%(tK%kOwD*WhyEHEvWL@BW(S&IsP=#xJqPyU+C8xsrEoXplQMdF~YQ z&J&BU4akQ@*#Dy)&X7&0KhORvftt_YWY`~Ni25+rtlTi3GOW*TVf&F%wYMQQA;IoW zd(tbh0nMKDz@#}62e@~UZ2Hapo8sMHt)g#W!yPW{%c5S*Pj2QulH45;2-v^Q+EMbs zI|<+dtbx{K8&@~r{Og(lRviqm9{~VZfvs7a&=tL^8BFJ!+;qtfNMUS-*A<&gjn!Xi z^GHH=08fp6VRQ8NZag@8y7~rOb97;xMPQdM#Qd5E# z+~C||%HB|cPVW;a`vr~UO@0z_(YN|Le2*-q{Zex%85;$Tz%E73ClPy{Ao2bSF$cMe z&AISRJUmtqE;>rxeOm6~3!Jg;GsFN(b8tExr{SVsj;BxDftRpLixkkh$BEXL{Enkd z$V=AX2KMl>ZX9pjNL)&x+1K0I*E{h#bx>^S0M?|8yW3686tVV(RB8@P z;@)KkL3yCG8A|LRD1YNN#+Fe8CS?)SWf;B3HACtHB*!ow#QTZ=5Cq>97Qby3m~=S2 z(n7IWTkC;hM~vBdu$wiP->#*~0hmHUhf5T;++Sek4RXUcwC!S~ON}z3Im)nupu9m8 zEg|ssoBVWKXWzYU2?;&N0m-4_ZoH7FRiv~|!B8KMXEPfyzrH>-L(8yJ8yHH3a$<9o znFm1`PZZ5i>%gRwnlLnRsGA|7=Q1EU44sGf6F=iWbHzD``yH`yy?6hxKn?eMwf9Se zJ6B@=DC~`uX#@|H>s=drd}ai9R$Y((%5Eu%cRie+vx_E*!+-P{6$tMgG^RZ_Gv~*z zv2|8(U)kAs2H)t$Gp0OqSZ{fxPCc@|aEXP>4uP~enzl30QTET?tG*kA?Mu1SVa>aEA+X?7kWvzud?tS2 z?6kln*~BZ#4F|DBIAY4;5M{}Iq*zypad7`)OO_SAY4Zal0O16#g324OU8WbqtJfH2 zP40hZzs9dDfs*=K)_$NAHj!3&n(-cf;cxo{YB!J9xqH>lKxRwD1sUQVrFhkPv@y93 zly`4Vd89ezj14vk2ci7M=9GVn;9$SjI?;#0uf7)lHy(uYLQQ$$pP;;?IpyEp>6STr z^39vvBpihDm3l_9k~up~%~Ra3wN6ZCZ1k0Rv8KHEe^D+&*p1**RW;W)de{E=jhIsI&Lh(peTCoq-? zSX2LfoOzQtEVfY0phINAcyh3*U5{C2 z+~FwxZmjLm*pJ@cfZg!;)IK_!_0;KsNne4X;&5YHIZ*2B$sNC38mL~3QzQ0T4nd-? z)b~8R}zZ z>2)RbOYs<43`C?-vrxdCBrWn_ATHm`=0oz?1?!=L!2K^+Z$HHo>qamzc`APQXasQ8 z75J}gjD4?QR535yY+neDIm4LPn0ZQCS`|KWyC3^{w&w%q;G?$?^xbLPYBrL@c6Hxq zvgaAGw?tY|1gCjF8tK?sT*Q~ig43A~pCtw`RUIO7s59?VKg;Dn{Nro_5FL)9(>B&Z z9Q4~n260N%8yBd#@Fr}5KInkxW&HEeZQdM zL?ia3SVRP$X6X#`PX*|-;1=|T#6Z5)UA=X( zIvl4CS?bVH4um?{hJuK{U^Q$*(Ze9{#1dRJzv(G7tXGFC3gEdR+jCJg{+hJ6zMzX) zuA2#?K9!%i&*y)6vO7x-U+ULmTL`&q7PqRjeRziQ&K8yr59aU2+I~Gg?$_fxdh$l? z%xB}JK;&%uaa7GeA>W0$c&dAFteU3hE*Z)lHw!+K~gPpnd5 zn2%aFrnzqf$4uz)8%Y&!9pSv7ycN5=YP!W+4_My1%ktK4@K!M9^471lK;~g9WVq>9 zq4aen(J$5Z!ao&=!hcYQ&2p$S*Q=jv|fz*ID^~WA#NwKY}WY#=3;GN{b~9MI&YBjhFQh5j{nr{+$+1$8|( zCKLF#9{=X{>rtDW(PLxccB(lxQ=;C){bz&d@jb`|U>p`8eMNrku1wj9{2Q{Lp5Vt+ z0rnpUU;#8!b%+u};urkDDauDvTor*RJAMc@pMB?EbT8>^!ByCCm~LOcO!zyf>@v{zY+Bn|Ewj|5Sjiy-o$NH*=+r(|*W zNzatr<&ZnRtG?xtr?&DYSLpa~E`eC-ywL7mJ7;tv`vHVcsnT=>3&~|H28(XG@Q5$yyvA>ai_xmdhL=omltC7}?yonulOr*UguI9LNXlE2UG;sRb zF~$5M-p1q7ytiQ zc^-)o9X6H=foXzOS9YvJ8Ms}!GjLM_5b^yEjaaM@DX*o8PZ>it%69GME2ltlSK>mm z{6u|F-m97g}HURY%}oztp*D z>nqpNmvl5n_H+z9$o>o5Z!h{-34K|(&=*ImQ8x62JBNO~ zv11z5bv}P=kRM80RSI%E4_aFhJkwGkQ3{YP=rX^{Q`-7Uj<&Xbb7`xG!s;nlN?SHv znJafeTOdeji-^+|BBix7u~unIzRtJzBxvhu(Ux0Z@#@@>3;^f$$qdwBhr2Xm;?_*` zWWdR+-uwdmG|-!0$YX4lbabdbjaj)la*tyY(VrR{VUhGt>%-Qk>k=0788D7uh@#sb3@dQ-G_=q%6kbX`H z<(^$}C#$1kBYKu}>!NQOeY;bx&OHbJGR=!5GV(tAtpf{iJ+J_8K~?C^Az)Y5?I->T z7La43QwCi<7@)vsu7((K`Bj}eo2iP_Fy#neC_WQKXMwgZ=mB8%*x$N zit4L#O&rzi3rnT5a_93N3RY^JmHQrl$Fo;|th@VPd`b0+gOlpqIr8va0aBg*a|JwH zRMcMj{eNV^QB-Sl6_9lO&y_;LMP1Z0ugEjf`#w1$PTQTr)v{INzq<)Wit%1(pxQwbmv0#Axh9m`* zn!#y}Q)nTou#e$lZ+rZ!P>~;-WhnrtW zp+f>$IwW|w=-v#`;ct!(1xV|Vg@lW)QO~^X=y2U?TZe0K8ZPR|M=J3Bp;CRz)TXIl3Xs+* z3kerZRL{8l^5<2yPPgJTTyzs3Y37$R+gdvPGk&?R!Peuv0!NQm0YvHX2`(c}<(IQx zb?LFWUru!2_WI>e_bvLR`Q5Ro6o1BtePO}wKPUf;SLc@6^&__bWBo{vb=8kjFCqdJ zQ{J|clykG<6X!OE{m`s_JP~=8GIUipdVnS_V=<^33&K)2uG4j6jvzKg-?)vo#~~P0 zWj=LdylLH7Xw{9y-ntRHwFqD#0r6oEt8SDkUKJp9AF$HeW@D{)L1Tf^{G^Wt8SE9S$p6Bl`w0OyQ{_`*?MS} zs>$GjjDVI4DtYUw5ZYB5os}zLHlF>~Qtg7#XIw5gU;K5hiqkS4uByp!(FrY^x}X4Q z7kp1#@IVWB#^r(|8f+IFhSPA-Mn2-WpenERk*z!~C|51RguKPRv|S;3j9G5GV7Km$ z3$6i$$^~V8aw-?hep$I73rJBl9*``dS}OX4*9Et@Z&_92NL@9a+ecN6Bb#NHbSul1 zGR@QBO3kXqdu7|6SyCl3jHba)n(9z$FdJ%C?i#8op8Zp;*5UG5DRf96D~z(5MEpw^ z{kW<|0n$2TA>pFGsApVN<9jP?9lncG%zxk`PSq&dinYE1nsrr;ybAlZ-Hd*t;>0u+ za2$QUQfKRP@M(@d(*UUSc@bA4i$0rFjs0JA>9cv&c)I(xw`x4XeaosEmHy({LnD@7 z_TJj0YGmh*q5abE_@%36e0jX88KokFO4(Rws#2-ITq@nHRC>%uTBSRmOrcT&St=!X zxG2`x6>^^RBPs!%u?mn@DGLb~-Km~&x#j1}Y?Xe7({NE=KGMuB$ER5;m6}l$eQ>wj zyu?=HjC@CpL4YVVP8e>fu}Q{SBUymG&V}(3e^;Q_+X1@NDrcQ z_vOSPPVrJR7w|z;=e2u4hH6?mucds&>_nuiwz zRjRB@q5R=Ug7H~iBic>o5ESr(#*ORv9$His7`g$0RS99B$uO4Vf#|0XRP(cfM!eT@ zbP1UQ`yxuR=dQXPuVUswsZ5&1$w)PO7R@jz`wu*`iD!Twf|(RTB?{u~nt1p3o@s+S z-Ez(IpQAnT5mfc~UVUAG_5I)h;i6H$i(^Ct245f3kD&*p z?;IRi&*~1LXg@HZH zM7bd}`#6OngupUej%cIcXv7xfat?^qGa@5SAbAb0Vc0AbeKfZgrzPwv3}6(Y7(YS? z*u?7b8$Py}9*F0PF=W41%g`|^S0G~9FX*2{LX9-|eI35ee9Q`8@$L&{DpH$$2NXGS4`B24ecmQG-sMeqF@2cyb zYHb1Ry6eg#5 zTh#T|4K=ea(%1qYcBHf-jk$pbf96?K$sbqR2PVDAEAKz~g#2|0MVIIy5{Mt&@Y8r# zhDl1IUxo15?KnH;c@nt`w=m!6Onbf&hRSx}W^W9XB}8WIwuKk0FD|Ud@I0!XT3qHI zx?;C~=+Rt4|D@&;ePDAX!Ouq7@4zr2h3vWBcV2S8b12?1@LA8myp@3k>y7kP7!etD zb||=IOb?70(ne}oaN`QnKJ8ops&M5tK3g%GR9$Q@Z?UJli+v2<(EFBANA(^z<_OjA zc?*0RBY*1?ZSZ>UKDaf=x`i(|s#{4C>y^jm#U6QV&_6{UJ=o9Rcmz8+(QAA+Uyd|p zRs@Xq!4m&6#Xt3gA!LCt7lOsQ*H8b)tYy3)<*`e3o3fjo5ptwMK_9D z)jW)Q7+;aQW6Lkn*GG@Gt_>{b8)>6YvH*_2WRwiPRKEh|kd~Ou&cOP5<`>DG=A}Y2 z-e_5MBJ}tBA`g$h>Yu`6e>M;6>oXNr3%>uBd5FAkwo->b4yOc+XzyHe)QvQv5ThcR zDR!`oX9x8n0}S-xhV1ne)stCKFQQth&V7hQz*Te1-p@07V)iRhV5s;EE&m(Hr^5QF zAvBZ0tX5ey#j`WMR~~DA!>>}|J=6q!Ro~|jl?);Jqy7II!$KLeAa%QSBd(~7^mLY4 z%dRP&-s!$pn1$lcfEuJnvny-)Ki&B5r>IGl!yzTzVlf3;#a zifP@&)>1yTG(g%wv}}Pvx03KYP4R41ukq|r3vC6Ra-5@}RiIEQs3TV~!&qO5aot98KpGtd=+&kY)a{8@;))M`fyb z2sT2;3M{D1J)a}6IsD*pFa3$p7K^k?Cy+Eymjt^ zcBo>O2PQqs7KY@G5AZB@8FY6oJnB(ZkAhYS-!T;tCbTV4DH(?cmJ+lLkiQqbfN78ci=Q!^aUSbq*4hCouJb$D^zu- z6Bq_qg+K<-IMReI%Ml)J>IlQ$u^r*qu8t!t1(nJXGPp=t9N|T;BLrqx#?EitdmUld zqt-os#MyC#jrR4HxGr+9E_chlM$Kx>e(SHQ4LpZ}fZXTfXvuwS2yBIU1Nxb-MV~&c zsp$ENC3?byi=N&t!cEEzSoz%Cu$(ICj|~@9ss~)s|M6X0`aj?_Ty#Aj@k;+OC`45h zTKc>3J>)+p{p4G=^k*OKNWU)-mGq}_@o*~XKg=&_;>LhPbLm&u_q@`-(Y~H0T3I9W zQ(GFl5lGN;1U;w}%TrJ2n2A{tpR&e})+tuu`ZsWmO+GomgpWxRDav^Fy?0Y_ryKPb zWl&$up5ObXJYNwEMK8+=7q$PH;>-#~uSHUzXuw;j&{RVx6u(H;pwQj0{%blKL!ebR zju3c;cR}Dmw97O*V*3E*8qU4T?R&q%gz;VIHi_Y^ozeE=D~MZ%c9TaibYXrbkC?Bw zmy89WZuGelhcR>ONz}j$(djxEkHUnO6oEJ~3eTB$34qyB9e!^|IJ2THD)M5q=AHT* z{RyLQ#$2vKRX6Kd@tF4!DeYJwK!m=nmxNK@Zb^1NR8l*K%^y4;$7RX zXjx!1E@4GDK(2qsup`$`m+Q>%^aP&Wn~e0;m>S0(iGfD&kHF;ld>GZ$E+lM7H@NJ4u4Cd|~c3+n>;ibm9I;J{=F^Y!(-=Fstp5mjV36jZB)Vj%S)A#WvB zEVUaNnX~0mCDSr1HkzcW6tq;el!SvVX2@`?8b7(3_Qr}^wAsBE7x+k1SwgGEvNu5C@lItEx9anGtqx<< zVWb=^8;Q*k>2apoNi-1DMT3)ZtM%9Nb8*r6dn- zBw}iok(~Jd10$*KK`E$U-^^iE6jIR}E*yK6j5jpD6MICykp$f%%Y^N=Z_g($ltWSHf-axzO z>fB6@z5d$>uBqx|1hRT1Y`(H126kzDu|!cq2(4@a$S> z{CP%fiYOEL^~AkAE9+~-yJZ9x+=%JW1r^7l22uC1azmXtZ%x?BytW;PpbNR7gA^%GS7CDd=h=>oPtB|utBg+elr<`U)cd{=o zT5p4ndEKa&tUwCIJn+T_HexIL8L@{&2ov{-gl>g|I%@1aS!E$8qouPvMXXC&v-(Ux zsy;v)4NJDuCDNc`H3v!$*|MCvXnJz9`DB_1?h$pErVgzSK#a9`&dGOV{N^&o z^2pW<+O1?7nLR%1(MVf?y6QsFkJ0gkF4P=8hN-k@Tw}bU;xZ%ljPMg&7kF?3y%$_o zAYHBDRbf7|ECaQ-2jo>g=zz2{xV)foX>xriR-<_N98;xB^370G{dNj@;0b^lN_tp* zMxc1N&a^S<7)9>6+@|#`DF*X<5%)G>9>0B~lib(>CQ71pCHWgwt9-X0He>KRT!YAAh;5iyZ5!Dt=s?_{$9+>gGC%UE4xNH^rVZASD*kOAA$ zWR#6%S2RheMe>66UM#q(KWQnyQ2#7DlQhsCT{P5+xKPrV$BgKQBK_!Dx#nQDKqzeU z`2)X7N}v1(r#g>bZLcx+6s}bKE(HZ`xv-|VFj-!}ySc8r@Fx3iU^)OW|Md^b!;Hy+ zwRv!R<+H>_a2c)c{Z$>zeW3U%6=RzC$71Cl$Qmj+D#ni0Sazu)^Mr@tU_}221?vM5 z&NMZKZ_DB$j2I#Vwl!#)j^55k;1Tspl=AG+KWX1EXd&Y=_+O?G>(z?jvF@#5s&Tk+7T?kJbYu#CTo!M296HXi7&BQA zf*D8tKzJy{4Q1BIaN&{e(7K+Xb;*y&L)I~_hN5c>*ge)^OgzBy1M$Q7vW#v10pqYP zM`ZXV-VI~MmMfM-Z93xvp{){{`Sng&fR-@6)>x82ajRU#F;ZJ4R#mdJ@=>~^G6rK$ zDJuy)<`pA0PYDS9VRB|@!6|W6qPm*Q2lx-qGJ=KD`K*d%=;5zL`xd@Apw4WwUwpG| zaw=m*`BS!U&J*8^ncweI4tR#-Zob<0y(co%-;5+6F!$m@n(j}_07q7#HxDLdSF>q6D(|_;=!u5v6fY8ELpmM zge=2E#@3h^1Sy%P>;{h~hyyqA-%G`~$RB!pRi7@D8<=)FuRCG&c)bl8Yi5AJ>3%OSdmawxqM8cLtV` znGfud7&uuDSXdU39O4B1-VxS&Wa5$9#I2O&4e~59i7(9o`n5y}O_4;Ji!l)-F%!lH z8s*O;@6mr@E@2x(CQGY4-pcWUtHvK`L{+vJZIx?2_p6{HPmucSRzN4`d+-7^OHl}O zPBG97$|NxD4Y{VQG*}mSKnAyUrZtpB2C5@`L@-sd^9~V8ltN+Ykq;)j;Db(;qNiA zGwJ7lQZOR>JB`O;FK~>f8|!*}j9e_HZUyVc_qA3$;~bq165VMG0kX3VUiHHf6ou7OY<0CaYbU z>cb7#Mz!2Pt>zCVD@F$vJZZT=C&vXaT!Wq`)O9Mnz|dDXA-ar)-qW^dkD((U(Dv^b z`aJWcUqwyN$N`4_G~Kw|ZRqlzHuOq})*L0zMq9wp@6@j)ZsU#X71n1vp|k!jQwMj= z@|k?r$%vnlSFiz{#qK=wWw<44UxXY9sn@}Dm!5CL2CAip>&BmK#75$Lg^~YnBX$O7 z_aOL04xlbwLyKVEc$$&EllNj=g?c`UMt1?GHlVuzPrYD0^^*}hP99luo;>m~@=RT8 zsMLLwJo&wGyjlncxv#+UuH}S*h#`;2lEOB!q!1Y{C`CgjADJr>8UxR})-`t2kZN7y zw9ip67nbrV*Wy}P&o9$1j2Ol)kr+k4l+;cY4-80-jf=@VQxED@xC5~YcMZ~GS%qtO zR^bkGt-^&+u^RFMzROj(m?42wC$Qk=OorPNP)sORoDoX5W`oGnney~Hc~n9g(&DZ7 z_deI%zJSVg6ifhz3vlofTIN|Rd5+v4keN7Lp66Q0gb8E8t8enKO?DB%;ac@89|v>7 zc9_)rc3lj>w*H56STZK7hdsYm4I6i?wm@Idg6ApfAO zU8m$Rz{2(d<=I8lqtu4Wa!qz+fSiKsDh3;|JbI~qiz4i&4G!~(NRtsOFk%Bx97;lq zkB>_}TZ$AFSu3v>PZ`19L3XO4vva@{B*qv8NiHnms@VLm(On+PGS+TkjR>U}LNJF2 zFaaU3U|{AH^v{=g7fIhh#elr-aD(*nQxw9IEiGhZf%~5b&&d|V011LojFrWOF&F~ve3Q=?Ia*9UhHjOY=w)h)W!4cizqY!p7`YXauFW5Sq3WyWf=Lw z6wvX+B^h-jiir&LkBrKQWg@T6fsw-Fqq~hIKj&bre)Mbh!UyJIkAVgpJ`JIg2+aG2 z&b(wB)-A&eSKDV<(RKKho(!SR3(WgTUtf%3!bbWgDS+=F^U4$Pqh%p2oJbvXKTrs2 zQlG6+@vx9&8kFq-(prp>3&i?7EYrL`4Lh)arbrz`Awx9{vb`?ONdaet^`?Fwpz{I3_Z-cR9F9iB+TfP_B(pF>% zAE6~-e}h0=#xLrZA3>QS%*C^Jj_ZPe^hYP`TSEtu^~q>??h4dQ;%`Vh-u)AKW-p%M z%rPTAVl{5uod)5dl@B*TR`WXCTlJ)JTqoXZe=9cREIK2n@x9@?5hs0fhe-qOGMLNd z(CKB+_T`zT?5+UGW?sM;!PgiGR0u|!1hvEk zFjNy&(9IbJD)I;8zA`?(Se@%>t8dZYr@2K4+c6uFqh6VNuca1nIP~Zs~ue@ z;1SeGsI%2lcT_ZdZ=Hb!^})I-q8*g0;Hs^FmVZN${eD~ zx?TSp<$K$ji2^&JQBi^eN@6()gi|#sfK>lxw zjBub>>=^sBE!hG`tP@XDTO}YF<#161v$f4GTSaAut3xaS;jOSkZWH;*HcBEt%c8me z8Own`NW~$!KeY>U2kmpyo6uhICupz7I5aUqrGVT?5d6-8Y_2Qo_9qY~5ka^+H!0km zr4DbH;4TjehZf||;Sb}<+tqmTaU9;9xRvce4l!`th9kVQ<=6!@q*df02xj3ox~hwF zcnmBUhDx?HZ-p8MOvi{W--m-@p({@0E$l{<{nSTlXZun%8b?1zC;i*zR!6;e@AkN%X`OS<7JrI@T8y7-ItKm@b z?nhNHwC_jQ9?E;%sUj4sNb4Kj)i=7n$7j2D^@-NuM_}Ii=&$*kkmH=i&NZV)tvU5D z3=7q-$bsPcM!!M7(dgcbIcyN!v-|t#nk8n-XdODWqWdsZfDR@|)j;}^6Nv0)b%fD^ z=;sj`D~Q(P-7(9!H%w$tPSqWp+nT?#B=S2Nt4r~0Nvvyb2^tI;CEx^Az+64vIhe!B zi*my#ADbfvA`dEDwA@Fqs68mELN1MHorV#FerbKDNM(ULmFQ)v&Ebpr+e_f;$TB&c zi4M#3e!S2V(IWV3#3Fd-zm5k zqJ-H+T|Qh62s>w?sI-LaMh&}x4ibf^fI;5@R4Jf-1BWjks4G$d_fzBn*iw&=ZHaz?X$$2XREJ0s1h-)iz2_or^I6qTH?Qc zr^=blr#CIMn_Xy`WLPS%;-mRZAKgb1#5V&q-|;+lfo-K|lb~m`dWBrZPBUy0VOJ^c z{r0+0uD5#(R&>G*yard}p#fnitqM^D|6f3ia%BIQ6Lo=lAD2hxNPpP{vWGX`&5;ha zySVjv;+TQwl!X z3xR<3GF$LtS-FStqXc<1EA^9&`aZf+?~{Y;T(WQ%YV~2P)mgJrQzPrpX3pUA*m9Vf zL`4y(u9F#2$D#QzUCEnx1F3sS>@KA5m|DnvLD;1%tbu?mqH1-NKZ{l6i^N4Lt3o4F8fy&Nt(CukVwC(x5U7%y&+$Ty&)W z*KGT(C6&U)`&I)llx$jJ%^Z6ahdAd z%17K`L$8Ku4J$g_!eddWnMUQjay0!}y2GqjLe?v|#aCch(N4MS(!mLGMe|Bo_ivfG zMaVn3VRDQLGmFs@Qp^)?&SO_4L&6y$bkvlvRiJXg4H#Gih5wdVY~_NO4UAkc5sK=& zZ^~Ue7yL5B9;h=)@_!1&5bCjsen~8^B>!jZW7#YZ#HP{6139=_5?$V-F@y{-9)P)p z&~b_QhrS@>f5WZ(uNMna`QIJL=(hBYHZcD~HYR=(;BCtHA_x!FG}5F}vN@0<8Demx z_j_f^=USN^Kmzl=?32&rw@++?&C&usC%FeUd<+G5mHiEwkBI6X$;6PIZbK#pUF8Ue zFdufS-IFJcG?jQ@2`IA<7%oI3qAEK@n%~UcP)+55+%%K(Dwv2AOwsu|g9@6|m`zbn zaZKBRFc*s60~@xAPFb!Ro(iF-X!y4FGR}`GB>J<>(IzThXKO!(kl%!2okLbaLrFO+ z0Q$4m;HcQ84Ael>=@|&nB9KfClOhyXmH#t|UNqxc! znPc_P4HU?%29AVg023N?f^P)!KUOA*7jQPv z#k%slI0sy&kp*l^wtpi_R{WUvY=B%65H=r>zb5jL-IOC+2dMei5)19gxoSl&$%1>L zU5}F?R5oa_mKn=h@sYAZJd4^Ni;m|UHZ;R1ObmlRq$0=00F#`ai^-R& zT-|clGcHkeV_^S{^v%h06cLk^Fz=yEw=$DA>_Re74`8MOM&GccoR!Cocunt<*e5UpJq)M-^sRICEshnq zM}WG@b=ldH-F;trM@j;bU%3Jg!4J{*cnocQ!#-)jaE%YGw4Z^62PSb+7Z{c7M+TVU z*|UG^ARHHy!}?k#CZXtV%sL67eO$_m(1pQc`jSxe#oUoN4ds8!>UjJOU^%?LH6DRw zpanfd9*1XfBV5Ut{W_G zR<6(}#wV3$FRX8%`s8ukrhX0RSy7urxAGVi@Tey1(OgqtE#+eAA%9O?HV20~Gj9W3 zrVmH8Fb^yHV7rX{0oz3L6aVa`$GE36eVsG_ZE3OSm zaFrSPx94W|g?~UUmAN@=@S-Y0L&?1UIMU9(0*_NDlBa2V#13RGlEX#S=U}g*iXmQj zW*1p~r=S(hf{tfFc`OKGMsP5>X@P3Qp&*0aH-O&fSCDdzv08dzeVn3?59#Af98o#W z#sR~8Qq|Aun>!A}5#x|yvcHG}6nae@j%j>;np)!*cP&tL%9?ED=wI~nd!Q@d^BdJi~^OogDYmY8^|n1;so0e>I>sX)i42H>eV zyb)g{tJcs%Wn#LW5uc?Nv9T3V{T7p$`XxDhPWJ!-LdggX6d?+09(aUhDyHBhz);UH zg5t+~z7LDWxQEpb2;(r5J2}Nn^L+3KMmacfO!r{vc*eArvLQz~m~RWi{y$pEMKJpR zqou&yFAhw;7RBPMUtm%%;UBS`$HtW~fZ)pUEe$SV`J_)61A$0qn0HvN!O8jS`K-SU z&t+OI9T9)phP~xbDC1y8@RPyV8WI|^w35RgN`15>{7`nzFohq=*d-;0zJyYkQec6y zdw{``92N%94F{S}YnK~B-!7%gjr?COCxV=`fdL2lWT}aN;s-9@5vYDmoeixxiP23+ zLevv#@_+QmIPti8^v?4464P*seL5~i8U>i4f$IBk0W%_`sLAYb!x?lIBv+U>64@IF zJa`?SfoX0QJ7?tpbN9~owr`7H{31^*XHtT`WI5P=F;@!~3oTHFiYg6!5KpYZ5q`H` zerijOF4Eg!XfJ24_i8H?$l#CKTtf#0{WhpopiSKkF)-6yg3YY{KlH3Dcvhk(L<-5a zMusB7oWwcc41g7F^>zo2QS3;(fSY&>dVEZs-C4da!8xVg`W>4+qi%1k)7ZJFx%vhrJxL7agYoP; zs@YdJ3wxPUS=G4%aV+4&@$B{k+u)Xxpxl;P*Y332c*4Ot?H*1@&b#juq-@vxrc*Xg zzV;9@ca^W*LpPqdbvq8q7(6@jfiQy+2vIl;qFAM1KTl5bqQ&tNY3CMhLMWV5hC)cF zdG4nar~B?)wZml$)0*Hbvbh;Y4-t6G%l^%W-;w>U=um`I^e`J@Ar1PtMjvGtEL`7= z-!NK}m)W#MeK!I1-2~JRb0|}`_1$#whZHRlA3xNtn~eDF5F@z%jqsz1k=er4jHVc_ z$w49Lz~KSaYe_677h)f98X4mcw=WFuNA%@BY2p2FmxITlchB0_i^`3jbG$q!7Wp(9ctI=7gncFBa3A%$C{w!Mv3 z<`(yzQY`}Ni@gXXII7*i(4TBkjba9x_flSnjEIp}Ge*jG7u9<2wMW(7Yba1GV&XEI zOdYwM#QA=xOcGsi4DW|iwU?8j_>v74aOLlV*#wue%2|WSZ;4%Sv+({q%U4T#s1Ka> zd0epw5%F=T7vih9Mzn_pu$oM6~&gYMPXR4T}by-x)t#-SK=ync=% zDlj(U2@UKJ($?;zoktz(f}ERu+flXr5tI)u6VY&pKD7SX|en8HXF!l=v8 z8kVD8@QE(mhwz*J#SqWl+gds5ZJN-9rE3=)P2RzAJC1$AjWFh`k!InnU&V+}w1Zkd z&4ds+p!C?Fi-xTX*rGHekl)G>IjddR8f>iZlu8)awA2;wW+`r(E*ASx@^@s}SbRlfBME0dX#RIF^BNzGO_rNq^H28TSE|cwoJGd?o z%PgTD&3yhUez|EK%@G|i|7U(M(Z{?3-^Zql45W(;p~sXmmpCXZq@HB_zbMY3TTd!u z*HEPH4$O|EIn#>qiw(x7LqwM zv?#m6~LVnw{Fm4yK{r$<>_hWXb2!`!>T=RMy4 z|49#|wEM(44k4&DrKM#^Ml5x_L%PMBikcWB)S;84E$boeowU8BH#SAL8O3I{Ic{Dj-eQeFKRYEx0E?+8T~(B@9X;9hvZJ$ntgx&`_blezOMK6K40(aeO=cR`eeRu zD>{RcwOpJ&tFa7QKt*U3VzFU+d?rGgvl`Vsvr+!aFlhaOuIO|;^_s$V1T0V$q29y;P^J z$*|T~$(Ue%r|fzr4ct+|%_CA;_*J5c<=Y2w>!H|eEKtW>ARARYGwTI8Z8bh`oT2|3 zKW$&-49|K^V@AAIX!+iWS1KM2+B6G8VUVEp4bF7u6`@#IgL~X09Y)9IKU`h$UeK!C zB73{-SN7Ipyj5NCK`={0MDC-S%yfWU=tH%o; zix)f_=Ph9md3_O|v%gvfmsi|_w51=pU9?g^#F&o$OX@rwp0*TYpZ#L9T*7;o$&Ur)<<#@;5= z`AcUMfiIW8BnDq7^odpM=%%bYr*w_(z@v(v=vc%Nvve1?3z~LeX*+bR6fD#tuX4_E zB7mB1Yx;F0A>qTVBfCPSz;;ax`k^{>C9$$24zG?-g?_563?XN=sUeu%NNK^M;mS-t zTyCC$rz#!9rrx9Z^=S}3H)&#??@sU;A8N!9?l)_%PUGe8T2s=c$)GJX2%eGYywy%u zL=CzyQ<_!~0BRLP`aXrwaqUohtaX)(W%-uZRCWZ(Q9QJ~7{-F|Lxo|rk;SBfIoqm0 z1Y^z+P9&y=jc)5+)Fj^0G8z-*?bb&vw-p;ASTleEev4qya80Z*R2$~%dbskE3Z|bx z|LSPQo}Gqd+|8DSaT*z)1^cCF)~&%O=nnIRT@4z*!iM>Hsa3!Q_S5z7RLB%W85=kP zCqD|)YfPs&+?;6^!i#|c>K6(e)Fa>#CVecJv$;&ULd;W@3-yHRimAjp>1e}mWjLcY zYBx;QH;pD)pTa24{P!A$hr5+E{hkdjD}_<<3>++Cjc-6V2BO2ERv>OPC}QX4el81o zoZ{0#@@Bpj%a63weN8M)^DItC#Iv0dmx+D7*z9h#z5vgXKIC~ezIHQGnpG)gL9>R( z4?QZUz)!euF^EXed+U)t8Gi@#;MgQ|ndNdp8^E7)!Z1Eb8qLmEN zJPxhM;I97opL73CE=@;Qe{R}hNx_{=hhLh54|pU`iQSQ&2a!i?2qOE7xhk^|DYWI| zu%(O-%gr{XJ3_dfjcEe64?frjZg(Br3vN-ZpLVtL`Ha3k|NG|p+-7vcowaH1L`G^f zH|^8Z&#;OT(Y;djoKfCB>GCpOeVWmKV&z#;=FG$B2rUW*m1H??6!6ZUqxR$};8+Tf zc0;k5xE!Ar7Yqz;@!Hf;%9PvTAq!(|We3XqSzl#-zF8VaJ&QYD?t60N$$b^@Kwkwc zCDa%0`Jg!?$&p+1RZde>j#}u{Kn6RX67&nde?N}MG|ph)%rD0uS>rkz_eq7%TrG|SAnw1%}jYvf3(5Otx(~xe7-=#E23=-U;5r` zZ!1cvtQuA?OKMvNWc(;t(h*k(ts_Z7{?OD~)$2&zIsIGK+v9!po9^SNhaEb?S}k@w zUS1fPfVIj}dr-H`Nbe=5)a>z<_FA9#n0#24#*_t?Hp&8d-dK7C!mZHs~0r%u7V5&M~<5BwC86?&RYf|&3%Ex}! z7N=UAS}V~Rcn@56C1*MOHfg+gP0VHe>G4CS=v?LnL!dwKhVQMF=nTqGU79lr!mo+a zU=zW$WDUO(_!Prmc;(%!=x{mc%=+clPyc;2;bNGxPauq{>H4La(_}3OFQfF{VHhkJ z^osxG)?ZEiWv=Q`Y8zZJo}Nkq6d(shl7sMQQIIx*3o#dr&#MaO$60YJyzLK^|J$ha zY3wZR zX5YFevh%s=dA%mlV|G(4seWYqi!nibf~3dRKU2(gvrGUs?iWMTu>59?cN^m^_aCm| z!@b;xIOU8**t-VP_L@21iq~6Ts7=h}L0RFUtpz-ye6~@1oX2yH)#FE&szt27SPO2C zGU;wr^n@V}TW@p#D(qkKwK{lBedxRNdU|-rEsv^L!z$gETjqmVd}8)o0TI8y$8d81 zrjrg{TKNabuB74~uPjV`DoPDAz!CDh=6~@qT=IbT3v5{{9}Zb)K=^QoDHrtZN`t_c zmmIOP^T9GnH%K3vIedpn2?99hGxVr~R`HR^D8!Z0;E{1~vA0&&N2fK$EHjrZr^3$g zl|RUyk4Y4ymMcp5q+KFUVR{XC2r7~yNbw~oz=?(mEqK>v&1CNm)Z=^jD+BF7^PU>;<7 zg0>BWtqS#MP32P;*ZC=Uo?*?_z_3cp*p&?A&xbZ%!sOXwnu3Cw!jN=pn;wv`oL7QI z@paXWC%E+H8s>|UG<#P!R&Hd~n4S7Z(!(&u(8g^k@YBYiU~J)XUtnq%soQN`8v;9! ziv8FH6#9iZ{HZ1$U;#MnfGi{LsdFYMe`rnI}&86 zD-V#J&H5U^RR?Dm%>2BCzf%uNznnnlL`4au;df3~QF3-%^c9GlVH)o|fjYrnN3~4c zY{F@qiS4JBwgx$HiRU#<%?2&Pv0d+wqO4>@`GR2C=$#;C(OLY=S16yw(gGY zn6fq^>zh!*g>=cC_Yu&j#!PjZY^8Mxiyysdu`E=FT zjc2`n&*xPe%=%Ljjy)txt(zFaaR`dHXfu~cNaZ;X_?=h?YJ+E3$AT2*K4B8VbJj@K zY|R_5x2igACsE-A6rY{=`G+Lsmek^_LXTdoJ~o)ciiKxN>)xX$LuY(gQSEdF`!5K|w)$?f9T| z9qAFcHhy;7k&_PTD0uN@Rzp>2}lYc~zr{tm<&qfkD+bpsU2u^$PZFQri4 zxVMKwx%>J23T5(cLRh3soHj7^zFb^7B^8%NT=X09NqlY5#y55I4QcAxAAaekZr-!0 z%b)vlOlgK)>dVi5xu)K(Sy-!n?V4H^BrO)O z5f*X(TQ;DnSHAzHoBFH&>Cx2p|CYb0!JJ>1%~+2`{Gl^Z*%t96XQ3{+cB3rfDr9~A z7Ey83?iSHm{gH$6*4K+goSa{uz0F7i`s|Kh_My+VF!blODn0dC*!U|m1?Ss=qK``# zoyQa`dQX&9W+{H*CdEvV1lDlD`zZ6YtEG#m7jwf zcBRg9-LQ_EGfdZ_$Ih1Kx?wxMo0sXVXl!$ZY_pY(8)k)M+_2)idobO!r^R$WZqMi5 z4I`jvO9wd3>0mKG$~5O10XBsUU{cQ927U9Yl*X-$c+%<^Vxy#5I!tA5DS>Bjxl_1K zu`|8vbOql*f>rZ#7?U*s&1?C@do3)I;oNQ3eP(et=O@*$rkaiQU3HUV4c{?UTvHy4 z+|07@<9~f@;cjA0-S~sT@j4>@uqtU-*LC4>H;X?Of3{0X@%HeSb~%&4L?O#!9-yFH zw)$8PB|pA#11NdyJ71cT&)wC7l6SB8PbjIiDs0l&yhg3knxPt8E>f3rWb+^BMIjX+@E=}FzdQnxK zq;}RJ>7$brwEo1r9AZKierdIpO&)oe@Hk;7hR!MmM zu})UYC~H74$I?@i=c{P#sJ*3XA~HcVOoHReX11HE(x{#M1VS|yV6b4bSqW-4ktT-k4!$J|}0ap$+kz3`1%~nICT&!#^h;#VDvLek61B$^Q z(8XcvqmDY6Z-_lOI4#T^^_p7LxSqYHu`FE@wp?dKVjJ!^)Y<-_yX>Eu##QQmIM(!z zOP_93s@WL^>ZPEvOfK3AAp^<;ee&C>7v+!7Z59b z{;g>EICuPb(lLx@mAmn*YI#14%Nb+9=#D9%H^X!eP^1lOZ&pq ze#EG_U)+6xL$!REYx&iwUR%!AA*`VHTAee^2~pJlFWFPsbgwgZm; z-_Y;VtJg=raex2M>9=Ibe?q@y*BJd?y{d2e1+(vitQs>HgJ5-(uAuoHm%Awyx@Rg_ z_c0RePkJQQ8nN@VI-mQMsmW)l8(q%!aOog6R){2a@<7?jeT%AfBzQI7f}~bZ8Kdm1 za?A}aZs%{rSwl03uNl;obFaSXz4)3LLEE{=9jk7=ceNU&kC?@xvHAivZ!aE3%*m0* zTdQ+kta}z|O{|Q6HfrkD@imn*f4Lks3kVQU4Nm z*84d?gsE1FaC&qBGLBP?>|&>sBnEd)`9*+%S+-T3JzuD9`E-2KiJCVPUsHJTkv5YF z3KO{QZ;L*?C0Hj715OIDGEsh-q6ZT5l=<{k#*=$l(JFFADMLq7tF->FYHu%{;?I?C zQo#Tg3GHkQK6?y~7$E}&*BHok;PeY-4b|Pa){l2Eu^Kx$$BHQYYfQ`91A{qt;>~fk zZ!kxbl{gzV`TP9ct-11uip5Q;yCAFXe;@4NaCI~I`vO3j5~n@#{RENTd*TLGHU95%<=k?+Cx z)Q0$Ho6b0M@!$IoVp&>yRlDbWpn@+x!Xe>vBTN<&W_~KMn67$Dvg+MBr(Q8bYCE|% z^M4}h@N(Bd8G^j&&mB_2VtWT9j1F3N<|EGb4O+M6%(hD4@*9)4=kI294Jv^~L@-c&3xb(_20G`Wf*E_ClJDJylA zdvLM4#aLQFs>Qz>w6*&pSaYi&b*{VJ9JHsLF;V!d;Y?uwA$w{C>zOaC<9O(KoIHqC?m*aIlC-} zLNm;gJME3~sOZ$ntwVNjHSD-?HITB&%vI%uPgaRaL6~)c&NQEu<(bn~;6-A; z2iFH}HyE6LMw^)>hY|A|;KSnju+9L+K56h%pv^eY8sEZUBN~rKZYT$phElFOta681 zSCT`UPcrvtV_Aqp58kcm;Dd)*?S-!Pej8UiByqLN@^)+DX5j^9xU-sg-2v9bUvT&` zO;krOYM$@wjSq{cMBNRwS~^Jh4B8%*K}_R@4^aT7q7I#l!xKJZkE2BQ?jI+4s-g~U z`E0jlvUmNS$~0Eo+B-^HJ{#8j%~(RyYpE@qesBgd=Z&bBUAeq@+nJxb)Rp&@x+1gQ z7IJ3EK3Y@f2>u_*e}=;!Cmm6FK0mq4``Ks@=@g_OU!Kn~&&t_mYC3NykX)hxiUxI` z%B0{)SH?A!uY-)UZp!63={pIbiSZ$8I@K44BUngA#n?oNDST_|46^G(6Xj)`WQwm) z@%3Wwaq^j)_RL4$`Cfh>$dzBSHw1AUC$Sy6w)F66A5|^1B$#)2KYTn*jXsDIb$<_+ z&;_k~=<<=JQrupDOQ$T*rM1RKd2q?_!RNb7Ltrch1H``$;Wg}08D$awdRj)5_!mVh z{&l}Dzv}qcTu;R)WF>S9X;?M|Dgdi29A-59YU5w`s{iEJLb76Ads>dimK_HR<~(GW zdsTV6Eu1>;kwdDb@Bwj(7mH!dEU3+}x{3oI^gM_olRAKbO9f&b>rt#6>R8 zJ?z*)$vCxQG|N_-=ky!Ozi%N7pPwremmpAAh0zX|yUYHzn=4B1Fp->OC1#5&r(e5U zGb;P4bG!Xa>BBTjZwomh%>SGtnvHNWEeiQOe6Yg&&%fo$8@}wC;#7TQ zroH5A-s@{}HPLIGRX6f?>Q3&x zZK`hPD!AIc6TRX;kyB%zXcoY{d8nW&8C#_-UyY3QEf0TcrKW4(&ItT>_`|NO$7G25>xxzk0C_^gm%1LF#dJYHxo zxPkKY3m0E3Nv$_U&IuqY*l1ddGvI))L#^_lda-e?-f1lEudiV8U19RWR2%=#2WIjN zyJ0;%rd5m<(W~pt?qmq}v=_qN?EnGxe9{Q8mmT&W!2vov`-BbypW_f~uX*(pMU-EQ}QUm%G zOzpwhtS~-O3@V&Yag@qTw}M!il<8s`xr(A3=iH4xQ<_=}chZ#G&y@n@c8e&7d0NFQ z`AB!=to4xYB6}fhaEI4speILwD~e11GV*Qn)Ber_#s7jurDvbLlN^pF9G=os?7Uy| zKo@8`$??pfdeJ~Y)i@s>*#2zLB+8|>HNK9BITP_4dSbU z=CimtM>mtDu|R`~{!6kb3&L%)zC17U<&!_qms|1WY1~{k@L{g|8Aw>EqxGIyDTE|E zYtV=5y4dz@X^eAH$4ic9b>8lH&|}u*>-oUSo>itIJP)w ztI@R+wQrc=ulLet0%`7=%?OhcTyy;z7P12o=AUYD{;cW{8!nG4rewpaukR(h-N@}@ z)FBAk{;V5lT`%sw@S=>kt9}EbB%G5|Vcd$6^r;uxM2Tgw_Qvuw3{9s|H@A)>)U&+# zFpqT2m5jpJD%zAhq_fG7(yQOy`-60=nueejTc}5o=7vsx0cN>K^zXWX|8u+DOzjM5 zSmm#PL-$8l;g#`dlAN<+rb5OeIiqxbIrN)^Bd%C{G-pk`*fdPnqns%~)Qb1*kH8F^ z;n=4{_bW^!BCc5xhCjlRi?e%_e^#FIkIE`Pj`vj1G{VyOt)8*v4k_wlW(VwXnS2yJ zs`jzyo``kT-)O2YRLvt;?x0G)>%=^()Hdvh$Ug_ zXBlm)p7rrp1uoh%CaM|c z8oRT^Gas^kox@y9!s8}^tncMAmjQyxl>=-1^{~N4mz6E%;3T$9-{}$dm*{Vi2bOf- zX&G0WpB?PIyt(*N$2cpd{w;@bHtAXk^DLui`*q`=eE3l0Jd%lN8;Osry5Zx3oi-F7 zhc#~qJ`6VSv6tave=soTg9snHb2Xc*&2!Q5Y&Ueg06HG=*yv_&^UD+c&kR2PbN%z8 zR^`ddBHi`RsHUFs)Qx`s6l|K~Z>q990u_B821#>f;muL1uAZ@X{5!Iqwu? z01{1wiYkP?x`x z?vc^z=3V-DFU~GY!qgOFY5H+3ROsCQVIzdZXiYnH1BBbl$Ek9h=PSOWlVs_t^9J&P zjE|X0|2`MR;jbQ4nzJiYOYIS*CT=X_Ql^e^y(-4AYT&#>%gPZIk^y6GD*ZuI`gG-! zN0^gtVTqS(D_;oajO2zwZ&Pw|FBI#D)h6WeT4?!vtl&R}>dg!QRyWnk!~;(?gapjy&gov{T7mT9zLtl+&kTg==kAb%$-56TU-s zIitud^G1YaRIKpx+RB%MIflr}wbwUc zEr|u_ma^qs<7sK=EPd*@2)aEDx;=nSYnF=zqxEY!L;)8QvV*OSE z8*3Vs9>$`A7ZenBkr{#OQ@Lj9tD5Xu@JD+^Bh4%mS!P)kZgJSA{=uD3B_0dze1TBr zQ}%quDn!2ohTW+%9PGesy9lTzBB#0VOq1pT9++wL$1yeo^qZaTmJQUg09BX)%5r6= zz49MHHR*?jynkH?RObPeq00W`z!%IO0pFrOjq#^Q{2H`QR12>P@`+5{r=&|o zZ9+qQv?m-^uIK8kBaqP3d0|WHEiUAxGGsj{Kie~Ador|ra_#-T)BY3GjB6`wVe zG4rtDfBDpZC{mU#A-sR0fqsu2_-y(X%0Jd~{m_imLN~TXfA(|g7w)&Xq<|wHctw`J zO@AyJyN`R6W-43~beDO?Q-y=$H83)7XbWGdohYJF9Jl5;!ZFtJX?tX7$YNOkD^+Bx z0%tMT@~JP$gRiEP0$Ao7==@QY?*wf(>*dO)f;l#)y7DhU+mCez9f6o1Y)BsGlqO%G zf6oWg*0#$p*C-AUBGBK+fie?+I8sFctZ7T@4fAQW+&LwB{2Nft{n*I^U|Wi}%dIK= zK*>U^pXdh8-{VCbihUp$K#X8<#o>~e>}EWyS9nO_ow4DJj&}v~?$AAVNmwG zx~-(>t8~HwuUR=A^lKh(zC=o_E>hC89wn`^vs-^w0$Pzg4& zol_5os~8n+Him2g3Hq6x=XPQ9{;uV4q28Lb3&Nu{)r!NN;AX*GA~|b`z6r0sK;W{! zf&}5=ND$C{LL6Lq$1NWYu)NNx_rhx14SsRf=X zVna-&Wz?cJxRom}cE-NyO(C6o1h@Q7TC!5o$mN_Mk0Vd3!iB0FC=$yyd~1pXy6-zd2;${&&+R zzXX?{`3$q{5%;46Jojfe^Cy?}-c0d-b-JxvnE(Pp7RLyVdE1E8-N_#QW`eQ)q3&>y zJIr^7k?wFy16;p_jBYo6|J?C=z4#rq>GyVRQG2;V#1)nwqI8|Kg72H%r^y~g?4JH6 zyyd+0v-`z~?(CjxG`!yTJdG8}VRyZo^(bQZkqoPf-7B;vqHC6tA7vZ6b9^lEWbN=* zWieU!5oNn(YA)|T)`R!;(zGnz58C8*$qb-T(Za~V75ZrS=h+NXQCsfZR8l4ftZ6%0 zo^mwRxXM&B;T&ZmTbXzy^`6zMJHyAw97t&uKOo|l13&X$5NYxUU?%}ytQB^=3ri9K zE}iFuif5WP5qxFj5IFz!H900Co zq45t+nT@96rE0L+^zJBUaWCA7?uBxz8{_!8lnUpwj&=1FsJ~ju{jNn`f zl+|Cz8~}Rv%hgv?(X}zjyphaeSKbGLh;=c6&k3Yrh+Jp&IxE&0_>z+?rKN&(QZDTk zo@#jt8Y!g>71Dy$qB0yo{)S|+MX$#h-w9hz2f7J-#GUAufe-z5rOO}sL{1Ky@9~b9 zca0tA+pZ!`UukJf>9cYj|29{Ie>FV) z45K1~;uhhwoaW%p7s%3*x4vT99=2lGQuUVNM+-{N-|Z8MVuggX^b&pAWa+^ANFxys z5Gsnpr+=$NI07TWQJJt+F6TXiBNAbxDK#tDv#cumlJ1ukh1Io73q#{1Y)f@1VSC-BwuE<+W zyo0`kUq2JPuQD)i^D9t0QBeFQvM}S72<0S3OP*n4t7G)*lQ$aO6s)sY^9Q~tS6AZ$n zjtd1c`JJ{LW}3i$vUVaAi9ln@wq;T6qcZtPvRHCz`Qy=el6AB#aBhkcKSakK@Um)K zVFuopS@k##FS{3R0K8J0G!}e(Nl0&}k1KvdIwMF|s>C{RVvJol2vIFd6KLM)QnArW zaC`xCnkMi{!YPAH#!^XGWvkDa@x0E7Mokug2TIVSLEN>87UTh)4~iF+jl;m5{l5<9G8^A=76`mZ&d zD-2X%fhX@Obw3K;%Gh7)dWtLIT1|`onFI9hQvmdPxylUSy21OrgSXn%2py$K0gk$z zu0`p3T?^-@;XTm=T@=E}qJa+bf~hmmFO4(2Q`z!a%f%OpSIf;#ub6yFj}C$uxi&EX z23GszF@&2BksxG>#%ECZ<*`D#TPw6&xet$9; z7~Bm5IqfIj%-lxTc57a}+74k{+l>HbXABF)VIcN{I}M^T$s|ovP*pVHPxiaYk;#3R z8ZhTT&4k2l1Y3`Ib1?g#o*o$tFnU6y(e0fh>jtM3xSF{gw{Tr@C)R@8D-rqyI&lS2FJM#>6c?-UC8BbfNCIUM?j6=WqgIq>08*EeE(KZ;&#`$k z!Qx0ECM}bhq3(Hg;9W*o+iog61*Hm4HA?;L6gzA+4h*b!JWOL6qLE-g9jq;w-lz)8 zR2RN!YBCw7(%!HRq!WXiUeqzICJv`ZkSAx5*Jo zRnADNAyJnL;#Ig79D5Qi(AXX@rhmEoH8!IQfKg%vieVMUUvRu+D_Q!`mRmqmq$@nl zLfF|H#&@!ZCfcu_NDoY1(#$WXzF_vRC77&1;A0-gYrihMJO%seY`vsbw}SsVhEi*I z*Y3@(;Ed^=J0h_`{0UhEw%uW>b1+Mz7+73}l`J{UPn30EUCT4RVu@I=KcYs%UW_$p zgA$rjtpV;}_WACe9js(|335>4>nM3OZLpFVJtNu0m+ZdM8kCg0XCh?vWR;2}T6%vS zQLxr;fO5tpHc333Se|$a?3CLSlW9ZaYsXC8CBF8Q89O8%i+7$8?;1nQu2p+Wqh-f| zmnEY*;g1oC!9&9(Ow!DUB;=q7jv7%JHjUy~PRdR>(h$yH@B7Uw-1|YRL_bqw_?wfA z;ror#!EN0)75?0#&nN_yMmTPj3{p~^y!+u&_pzM$&ddi+tQbpQ#@GVP*QMU1 zzVK#O%farjzdKxRhg$eeeZr#f4rcmklny?GA*j>KJoVuLbxqz&^;P85CxnenbgDXN z%Y0>CP3@u@N4q*6JyGqdsa)Iq^>jtHNs9tuCE?G>i?ArwTsiI{fuW}B!*Gk^k)MOp zBY}>mbNG2uCAqsdeADIeZq4~scHXbKurs{M(79~j3~m*M%?+Qi-ViieHt<4j^y>`o zJ`P#=eRq3Tj8m*OqN%6ScsOy|cG9Yv%w>HBK>>iHm`z~}ywZsV$|bCB`MjlZ+hEa3 z*t^VLhM(=_f=-@wH0G9+c}Pk9x>XZBECjKtiD}{INOWylID^QlE0|TqEtMR^_v7r~ zRgE?3ZpL3{c;ThRuM@Fhs`x*@Md0}DL0tkW{@IKfy#hfq%PGYJOr8DL15>|X_Wwv? zS$hj9XYAMkbs6^@P%WGt%p~JDr8>a0+VJAn2WJ7c_@A2$A{zrCj{u$d**dteS2)#< znV%J`WV*#Jy!vV%uNn;?Xr@U6*3+c^!R#dhHs0Can)HrqlH&WWNt(cL@R~;U^AMhy zvQBfh%xTWxoaXrEeU#HYcxn2Mt{qxnaYkT(5)|`*<}h5u2?d=ScRT#BQLIJ?%P_PB`=whG7r=8((~b0 zDla9Gy!5Pxez`E~}H@>59!&lv5+}K{^Wm1)VFZp=5cFxDc zeUp#JEqoYxcoRsU6+a*%zUyeLZ+E4zZzUt;fhDRX1+}02- z&YoNd&b-(78EufQgw2;+s3q}UO;)spU|%hc zp7|@*vowcEe~QDSa9@NZa5T|%Ub(`=EAb3hh(s@PRJxjSQIKwuwJY53+hPgVo?zYy z>gCX;StB?J?;UIGa+f;{KL&QuHe)oWyFW74;olr|bJgo=6Hlb^KQ6+5y*{Ph>TLXP z=J1b^68^_!?u^v51RnZ1F z!f*HPWhE}2=S@14$g*d9b%y0KXJI?j;B*75)#1|GY;2!n*nT&db%?NCW6#1v-QoTk zuziikw)Ja^G_tdq*s_?{*Re{{j2Z4ym2_5_JK}Cg-*;A-^T8@l@;$P?s}cqM4QWxn zly!G+NL!iBaCLCye%<8l9?=X39F2hU4Km6SOM!>^%gEfM!E^fwOogVHzx%^u)Mf*3 za*aJdII&dwuFibCgBPmj?x|U_bkio4;y047fQ!Ym7JEigqxbhZ!*VMq+|`!{(36_) zGuBe2XR6S_e7GvN(8H}z)t6hY)!A>-&hiWMR%*Bj?>^dO;5K*ol^qPT7Y}C32T&W# zo&q(r{e#Xm*+Xp%W-DqTkhTOQMaZ+-Il+T8I6p{7IFNb)xxazjKQG8ey|BQ+y0*q3 zf8QOt+~KUFV5@!7Yz18I*Nwi5xhs8Ys#JuoC;yejaHhiM7N1vS{%XDCQdH1(jXNkV z@8+57CF1kEKGC#{RFcznK7@ASM(es$EnQpnOS>CLX_aS+F0ry}X7~fw$}eKp^vOrk z*xjH=H+?nfbhB@8R!psz99s;dOlM~4%F)!EW7M4aL#fLAnbsX+%K%FLrKSVD7lWW? zsk+$ei>_h#`4QNvb`|b_IryDKh%;J0(#)w@&~COi98|Q@#kSd+V=cGZ( zL-mXUye}4e@Th!>1J99&XdM}MZlFr5a%4F%@ zCo6Fp5>tYPevK9Q1P?^*tk;>T`39Ypgl{WRET}Oh)szz+MTkj~QkDfX?^iPzEVR(jbRf4DaC+arFF*gp+UZTp@Fh!6TbkjY z@?3Dj-(S-g|2%W({{jCzxPkn$iGkV||NN~yn}6OpapU;sjq5g&fA;umZ~XJ~F**G6 zmGH}U`))A5>_qkd0l(b7q<4OqIlnJ{xw-oPfM34$(1z)o=dKc{eeugLzn;x64<5g9 z{IUp*o+Z2M*Eb*ir8j<=@U5?&Uxw|u!ThrNkpGBZrY-NCUyl7rU;NUjivQd8=@r|s z-f810PW|PzPq+Mdef-iiG@D;8|L(@|%j^Xk$uCPE>5X3ws`~2r<&$9>%r6fd{2%el zy9rYlI75qbS@;5WE^* z_f5#utG|1G#$Uoq@)4?P8=xDT_F9xoM3JL#Uv}>7on78fX0eMo&SkDh4S+NC?ar_m zSW-W-Zbsz3{g?gW3vHYD_3N7h4EDb4(}1#U{`q+9#_`X#>@BcS{BuHQZ~XIEMIZc= z<$s#9OaIT@Scd^4vFosy+uK3DFY~c2LStj>L=f~r#rwe){pI*l1_PTLG|ce?@eW0*Y!%TNm=|!=W0BiTB|S9KYDrQW(8J#9&Y(@ zqAzZ_d;dKA`Ayna;@W4tH_Gvt>KnoSmiwwyI^(q~dCk%WwB#gy zRKZvc4s6QPn#HRI)DlWJA;)4AGv#`iMsW}0IfF1DuFW?Xl$Y}NdzK4S^$ zR&}m;E*AQW;_#e>U(l#l_c&QvvbncX8T|fpMjF40j6}$7Q4tYxEi{o%&5!0SMD@5u zdo?gI&*h|p+iE3c-fCbxCEH9+1JU51(xkMcAy$r=|Zhrv1b6vRT z8;T>6NV%0lHn+Mfmh=28(Ov>M_j3rh+!sZ3dwSvx)##UzFUzM)a0{8GeOQki@20&0 z=ZL8v$FbV<3|c4V4V$)QLF}hq*xr}|z2$_rj17NFubQ$scaec)Y4}i)y`V_e;e6^O z;ptZ4664o(e@umgVAMl{QKbSEP}UiqJ{pj<-h+W^e{$fp@juj}_tDDm(LgoMT1(a6 zwi5vcaYy#ESm7>)+7#}Rb2jOI(Dr7yZWJn}kMX}?_D>u>8dS%`So;LD0J3zB&vEyP z%hWQQLK|eRVZD0&iD@AQf_eG_Xqp$!JPyDsQ)2M}4qGgx#H&`UB4CJy<;V$<6k8sP zcNE3eS<1A&n#$mk_E$L)z*ENxF**3?2`}{m@4ZYyRq6lF;Js#_yzox?F1%KuhQ`DR ztTs@3@UOh?0O8dR;SkK@NcmI7WBe%z7hjkbMvL!>&}0klNnKr1RQAi@hxr5@&Uk#? z8IKNLaK=N!9+J5=I-*rq*wN>=CrfX&tw80KL`qtGU|@MI1qp%7XO$apt&IW>uTHsG zL?}nl{dY8>!H1tGwp3lcwZ!LaAAWwmDQl_5V%41f$|BI$ zd5vsx7_F|ZIP~@C6UWEYHA<@cU40Fv4AnE2ba2@%6#e48$mV5eEn7_(G@}e;{}gDC zwT}hj3&3YI=|D~6!cZdvE4tK+>BTbRV(llFDWNv)Vso=jEQB&M!H|}tflH(TY=S}t%VCP zYp<-Z^ZcA3rGw6pAS6q7k1CJKZJ$u)m@tdXSbXbmK#1_^LqAxThrKg6XLwoqP-f)p zMIWq7U4T9T?HXFwQqWft^ABI%3&FiF%V=ce$?Qdkz&9E8^+FntU0d$2POJ2=7Yi%4 zHy&)OJl6rlSc0D%uKiTO=F}IKeL6B_qU4RL5IQ17hu`iqRLRsGg~z zZ7=A%M>=`c7R)ULvxuum++NP)WEDfG2NPQb7 zcaXLn#%Yg2r?0j`oA+UBOo4YWde>%pCrdle=~?C`D)Un)HM*ngZ=+vIO{Gi@L{HaM zopepNO|3!|buagqzU4p20MjH?PHpH}C}LZX>QA9n2Osm&>Y!~6?sbm> z8{c+-!dV`b&3C1q;7xG#!RVK|u4j41)VJiAuPv7tkd%;GieDMNWtV#TOI@D&b(GWD zoKY#i9Q`zDALpyfQAF{pzxTiUi8t|wG$l~Npa{Y+?b&P|^$<$yy5AL*r@ZYc4|`hr z%HwkB=@%x&CGjOio#8Wk@a0ok_2W-1cmC9J#1JKU9|cPFxz3P|QkR;E-eJd6ip`B_ z(^9_9$-xv${@Ty8u0_yxkG(grY)I6-U~%4UE;d;FhUn5|PW#B0&WODE-DXcp`yDNc zMIue=v#+d7H&GL$C4`$y7hqApoOWunB1BnDQ0L{j3F*$uUUz3YFLMS*otJH7`rp%s=o@=QS&s;jhAGah1S_N zXqi5t;WO#4&9C@K7(*}K%25KF;~qxJH(C0|ZQdnBWf#T#kdHb(u{cP}%AvS@a(Cx& zq223Vy9El{&L5de}8#435KWyknKuRScMA#>-!KRH$7q5?f8UOMd=Ag!IU^Ewmea?bkFnBw3_kz46R-QNL5fAo;yixintIp zpK24e#dYQ^wx4I_q9Jt!x5KX8khg7-OJEXM_$)|-cLRM8iBdb=<1Bf=ADZ-iIlH`0 z)BrXh2XpFS%w}aK;ak(bDGS_QL$~fQdOQ=Vbt!B7aO3vrS;N+i!7q0Ke>%Xg43%nd z995#$aPMdU>=Gx~PqvH-CsddV)hS-LJ8(x6yUt7)W%r{OR5mr!1=WbaDoV)FC&BDH zxrGj>lgXPR7p#6R^%C%ccefuDiRCG(1Eh)UmbK!0xu_g<<@i&qH;f;s(oZfoy0@qT z8d5GMFn;D@RJaFBf}W|9@NK_O6oV|?dl*WT7sOOQD~brZpeYi*CO9Fi+!cyxk`hJd zwrA20X-hTVzTtOK4nM!ieG1CP3sPEOt>cf~f+eImcu4c`qJ@Y0xyG};Jpk_8Gb((@ z_{clybkb~oWEs#*^3ZgL=Xl@&m8H{{JN>G%pofvr;GuF=Sx1$IID-Pj`5d3}a3@OE zC3F=)=D$`@WtWyx>fZifwn>)d$7zbR=ow2uB}dSPP5*lYJ)Sv^5kZSy7ZpJ@`8RuH z2%6d?BIqL)R+D5JK^t}fh5I=a=J4mFi#{8ZZH~v`xgKf>>|7v|j6U+n0an5<{PxZ!m|dU$X?Uo&WRCnuejty>QZ8t;DKN;)@mJPk->N_V?_u|F z^>#gW7d)HB?${kO*j@bZ2)p+-H|`BPa$cr)+D|Rl$caElbu3pgTomhKg)Wk%zyHXQF}(Ha z2@*;*^;4)>CkWbh;!D)f>7ZK-x+lX_U7u^IVn)qxA+~vh>Ml zb5RN`C85z*#s-TAw{_Z3-cAmYju3EVU_F9J$ly=?p29bLr15ZBM zRi$7)04#QBZ;m~2tY+SwN0cfzV&32Y;AGj@a^x?A0 zjXp!p`lBSvhZdbj;5TPAr-0%ifNwq*6Lrx6xUL#Zq_>XA^r-6IDtP_Kz4@m;gqF;U z+@`ZO7`c_77;&Y?Cmj`on+}9C#GX>{jbl&-cF~5B64x~_V5%E3`nFrh^ipf$28q?TJ~GNb9#KA7IyR~$KY@16Uv|6` zrIbf(U;U8sePA|Odd8bWpaOiQ;p%Nv=LWJ>*x=ZzyU3x~us+u+Mkm9>;IS0E)jn7;y`yw?MscNsK!J9J{ z&iHrmmfCJgXt}>I1@CO2X^V_{DhvN~P8PS+3C*V9k#Xl;IL&LQk7X2mlO(Bq;QkQM zD|nOf_95}Roq}(%sx7b_t%FHy*%gLXm-q^oI(D*tGOPm}d zcq8xpJv6Hf*{q>`o8Rf&lGx%58;W_u<*%<>*Y$3!osURv>v|)cLuFmRvI;WgCt()> zc+i;QVD_cB7_jUL8b!56di0=XV=6>PhvUo)ed7qJ@IQPm_k z6<&Ng%dFP0)CYjpP@7g+Wi`$OZzPVYZmH`3FL5DDetl=u`deF@JPAFtwO@s7E)&nX z9u42y%*L6SkZ%yMCi9$UivdY17Oqf^l@?ANP-I&wEmKMd-qLMDTLiTwV4WQJv)R}3 z8SBNd>E+0v_0aU~OVYQig4VrsJF9)ctSxn?&o=Jz4sB#>SN8O^b{;}n zbXHQIcA_?Dh|lBASd>vy6||kB>rAE$2{PZ-oo)#-a`7!^WgJOBN3qe-@?g#`_9cmy z7h(10xmM%fO!aocbqelry#!XogfR1b=LE|iUUQ6OY`*&peUh8?H&FUF{^@|`OEj7Y zR!6uX62tY$3XPPWPkC6r5+xRdFAh`klPgOd4DFKJ^erh9Nr9A4cn)?rVgjNybMKPM zL~rPMd+AJnX(AG_zg9i|W{>LcI54|4_bL5N0qJfDbYD)HRyS=wB~Y;WIis}E!0-lkn|2GI~|QamGuV?_8s_l-4E-w ztfKgqs#m)tBR_JQI)g9j*yDM1U!rn%6ENw5ys8$IrmFQsVCteg{GCiNBt?5LYL>=2 z)f>7|8`*fy^@IYZ#o6Y|sB0xOIfNBi+1I(Hhm)n}S%3+X0vp7fq+O=Lv*c-IvE)?Q zVOq%Q4NB0J$d*)(baaf+CGqY#+Ycd@tYc{6=$%eU&m)%IPVvjrw2hDt+lNcc3&{3#8VoC)5Gju&U9EESO43V11CtCVp+i+M6l#kIPv{8i*`hwHCLvt9_{WvMA8O%AjvT}JNrpWGwY(gi< ztDeF`u#^vQW+R57VCbbLgnV->PUeJAp z$80MA@GbV56I=&Zi*Y(*4gPqgKQ7P_S+wVd!)D#_vWP}V%c7lUWO1)3M#snHR#>FP z`KBQJ_jfl~78n1shpa3x_?@gQv~$VIf>T_X_^ZBG;AO?Eeh(QuSLNoFm4E#v+v@Pv z2FuF+?|*q&`RUxevNB7zB`ffQR!4LCyls0_yX7d!$Gd!UuAEau+EQ)%m}g8R4=q2i;*0Ii+ygjJja+(Yrczg!b7qG)!YkaUukcX5y~=ZI&|gBh{n_1+lf!AW11VFtYWUD-d_>E7@r}aVe>`52i3+OQH`;B-^pETHFJ{0TK zG-lP&6So?hVe9)@oO%aHmsL6tcX3b6wI-B;skK1YkKq7Z-u4=>ACiD zf=>PWtKBksXjdC_B#NL!;u7VXXpph_Z!)#fW+lGrI14rS`X*TCv6&4!Y{fLUeH~9R z;M`;r7dckp_zMWVUB=CR&8;@%W7#aX91DvkrO&$$1f5^(2ZFNV+7&IJUTH7kgCBvX zoO~An!)_H5N^CpU&RqOW(t0N`LKHjStRUgYU36flp^L{xy9^Ed_f5JLZ8Bsl3YOOW zLh%i^Z#Q7z-1^zHesXrT{D+e8Sb3W$BYv5n`w?)`@aUI`H!7Za3GkHQkZ*F6 z&mVYsl2ee>@TAb)bR4t#FCxFrryJP>wsS$#`C16(qL(BS+r<)WSj3%CoIrDBM8{dd z07c_h*i-Pn{|v8syZ)9a?D|a@{}A9bW)MN{HUe?fGPwVrFQm!1#>*4j%qyHOOc(gD}7Q_s!Eh=zi~?T>Pp z%P1);1UxrnCanJB1>xg|F7z|xke^c~&O3rh|GQlr6 z%5|Xz=wej(_%X=P^1s4pGnXvnZnyaS&eM<#&4LPteq`39f9hZ2%4BJ4Wjaj%LQ5u0 zzdvMD$;Dyk5o)C<&1GHcXM7f({ysc%3TM>he;NKrw%U$sj${Q&&z-q?oM_V_M|&af z>v*d_MqwE93))YCzv+)UeYnD2p(mfy74g{3t;Gdn3iq0Ws8RxWZ?xo(y zfU0`kqU@q*mdSBeMwEjv)>@fuaI6em{0@V{f_ck1ZK>LFr76mPTgHfmPUiL(+3;!9 zVW*=4i9HO$pe`a42dnsK5>Lv)?P~R|h{@$dogpe>*)+iD-+s$vjI`7PT9-#nQZx4q zZLxYRaN>zmuL8aeY!Lqfh47O4m&xyq>S0;_&?$UpcKn`a zA1R7ite9ilFZ7}2%$!?x#OMyz*3d-C3yNx!16STXNNa5bZH;flzHbd>WT+d_6c%^5kW6yn_)zi!?-m$SN*tkfkzEk$3O}*c zT8tw-ec%=o3I?p5?ynQk$7RNIZH&2n;16hzw-ZmPxb`7;UoGREncv2TQRagADfjpZ z`14&KD_Q!7t%U$TBnnkRa6nOhY_GzAyv{9$!do$aU8f^dwdY3Fqjkqq)nZDVkK&%4 zXO!1t&7P`!{I1YVyRy3V*Hv#YEzfwyXnDUCVhZb`tg=`2EW0{?*}j+8VIO2E#6p$d zd`vVB4I%wEiCNr0e0~6hh*BSUeUBAi=u#V+kiq%#XG`iDSvOn#c zwq(Jj8A~<+=!CoCaP1*NSw^slp`|{sL>`y@Qx^?Ak4t@S{ju!O?f*7Y;YW;bMad&K z=)8YwJcs;pz0mOF+-k5H zFU0r$l5%~@5kT_Q$n`E$WdM50b!vC8n@jlPnPZnaLWCc%2aPB&KL$G71`~|#Nd1`T zP3moRjyFl|tVj+X_(Z28BE{2}0erAH+c;s|3c~o0vW-*fdt}9=)-m>$3)Y`mRweZw zIWG}dH|o59>O>CV!Vq`qrH`}SrQH5UFuU5wx|;FX()myBXw&bR<5xP@&igeF#Cv9n z<*(nC^R{f@L~a*`FPu?W5Vn5)>AG;2hBfQLPl>6AADzk4Wy#V*2C3`oJ(8`}jCt^@ zgt9o6D1G-Q@xZz$XZ%iYoCxF7(+P+UP%GT((3Dr@t6K?w^zFn`|cZTP_rPlMbLSUvpI+Ulj@p-uXP4IlPb4xS+sP&IuRU_1= z0@Sit0?fn@9*P%mzctQ#U`62pm%mSIykn95-W>aWfY4`4N?=&SLHS>9VlvSHRg!*j z#g%zWZQ5Ngj>>xR-lSeMBFPn0XU+2yoioSpT{lG>X3L^@A*hsV|Ccvtz9t_7Yj^${ zE<+yIe3*1@QlMMy``G|4cYQzUeKDf8?nOC}iP83~u5kkC*MB3svx3=;Nv;ebb!tON zc;BX(B~60XpIb@k>e}q`xME5+D){=&vD=N@KBh$BsRQiZ<9 zR1zMQQ(@pM^d+w~(kevUh+~Pvu-$IsXL|}qWNQdUZJ|Eut^zu zO|)>6Yu`^V+7h(Jttek|6InBjc$3Fes4|10=`?m_vVAN$p+5Eq)`s7*BZ~Mxi2s|h5WR1&6j`8DQp z`D~N<^qn!&H>Kw^hO*Q#u>MhdBihC$;`wnM?Xj(qTCH)|!JD?;Pfeo341P{m0KtvL ztjl+Zs=<=AA4!knLgYHi(0@W5fd#4$=U|~7AJMHAPE~M2Z6O8wWE4lA=_g>|etlu& zp(%P!MQDwwQW%8&1a4Wl$37pky(lFp&~7!Dn*;N~g?^lx3lxnHK~V?^q$3V7`^J-c zvy1|wIGnqMGO&El9?ZD%&ZqFgE>>M)UuBjNZb07m_vV9~gGb+B72)pczjhh*q# zFI~}m8ublR&$JAs9JVjO2UBCUk7>yfqyI8Cv79~2Mt?l|X;J_uL?Twxept4M)ec`F z>6$*;HWr(Q3FPHdC0;@6bgpXKhg>|*^jRZ^SbJ5I4vA%>pVn}%aMn8nrY+_2*6nQ)WstNYKflFgffn` zi4NUT?^e*?r&biM(NpV+4_|I5JQV@BWkMtX_xPbmYlR#rh~#Bp*AbEdUj<@d<>iQh z)dVd~46F_yTSK)+Cr7ZmDehsU2don;84G{(H75-AI*+XZAQXQ93ir2 zb3`lw`5*8cG2hKPE40G9bHw~}^KgXMifN7r_H-PvLKuT19PQNq1G}T73wz~=jBfOk z|3nI>9?xaofz)Gnj<8yshGcy$(~#qOa>GFniyOA_+@Np3Sr4*3%UrdtSHeSHiO8mz znBjL`LJxilo%zcDvg}{0ZGP_b;cuNjbPb;G;=+LJ1iaOxFRcf6&e4O~fz|6l`Ned? z!iM=-DzNy=slZ7&DzL$+z>DS>|4rlo|NT&hNChsWeNqlCg7AQ;A*ntgOh<{Io{Q;p z?BFQYS>=z*?U>vX{IHlqiXl>%}`low(Z@)3hB;YrT1%$FsGb z*h|nEs{nPeU3ci#y9VG?8C7`RFTd$k-Z)g=-DhVQTzcLs?p&3(_b|ucjull{j=r-x zVD$=ty~YZ;$Bafs-$j<+L?^tQi3wtDdlziDa?_UIEvT4J(+R?ss?#45Z(o$<0CY!} zX|=SnOH(9A*@?75yD7U4e__hb5mm}=AW;saM*N+n>~3JXSXXOU^im`>=VvLqzqcB* zz0Lt<`-cvu>@Ii8uG2kU;vO&M;FR4(X=Qi((1|sP<&FogG_WGYoYr%Dc^=5tbK(JU zW;PFaJtz7|r%W-wuO|=Oc~%}C=&t1U+{3wkQ^ci?VA&e3S02b{IQ1+u>g_T*yZLxv ziueBLU-r~(p8kIp{n@|T9Kb22*t(JE-(+ley%zr9g@{CtOR-IQ4#hT_a9X$imDaB+ zQ=p`rWVcZTP5Z_Y^qt#FKi*l?LnCwkzCVXuO5gG4CE?$cY#S$-<-a(qH1kEhKi3!I z{dq}v6JK=wHSBs8Q1Y!`l{|dtLZ@736hYCMt5=D79_O_vt!cZNDu zB{l7*Vhl-R_*xB4Qgad9s{)uEIqKK)!4*~TBo!@b(^Q#_6ZTj2$G;J<*&|^H`?}+zxsh) zJDqpcFT@h>+OD>2(EC5`&3?6& z?*;K2?P5f5c(CY*g2U(bmr*hod;0KL;9YPKqjH1R$GEAhb3}*MKkF57z`VP4rd>;m3xX?d;o|T_ zSAyZ%tG*+n?6^!_6I8$O(++_&hUn%k$m+_fiE9!s>9g?(**SvM>Mf!&n)IP2269=X zrsIot^oyU@8Vi}3B&TT2a$=_@k+a% zKXjoT@eW;wxwi7zX)sABuXF*ATtCjwNpg`kb#8yxPwK6ShB>5Z5ZDkf`~zu}x>#a) zZ1}s1*u{63<~BN6EJ?QprEkIB;E4XBL!=faW*XJsRk7b5`l%XvfSOY_xKJ%xZr~2a zr;1WW>GrBUYPxxrS(GC35{{nRD}^;45)&D#V}+?$<=V!x;it`(^&jSe`5fk+e2fER zY$68`r4dEI;M`?HQ=AP=N%&)>)Osxy-t&wUb~x4@ZgGcixkH6J{Ma2XvxB9kg*)51 z*jmbl1!Xhh)i~IRz+R~}^ghE6pH}&L(-cwb>*|vBe7h|5sNP;?Z-)=L!+q}Xdw2M) z9ndYsL7TQIcLLjZl&Y&ud|ng(Vl(Y)zI3x-(FJI#rG!x5K0^wrXKkZW1612MSMag! zaI`xd<_-tD!~X8Dw;iMsn@0mdQ7~&~jG9w~jU_-}PMh$x~`PPTvsR3P&hl8z*aG)JTZWj}| znc*&7xya1b{_6YEg>7@V!g`|nxw`xkt}sY-rd*p#^pSY0`D;3JymO*HSohb|x9!8j z>T25A1OqL&M))iw?D<)-d)-U}d&PJ3)5oUYw~Vf&hsn5zcWmlvnv|~T{HUhp??dS^ z!R3!>id?dE*Cz*nD1}(ODlHD**j5iG8xwZu`x1Y@L(%B6{>q#9N3x{j`& zjvp6i%0lS)$&@st4}rO4~+$jPLp2} zv_7IYOaTgXPUy2@KElS?RPNM_`W)^5A8%g*U+0wmpKb)@z0?xRCAcM)l8!B*A+2g( z#0ZL@M(7~bA~b0`w3@m}leoE6qbSOB45LPk8da?+(!I5{_F_=mc&`*SwWOu`|9+q6 zyxYx9n$B-N|9t4X+_OCUdCqg5bKZ-}?83!XQY>p?I0_-sZR&9@?N%&c`W08C@B+f5 zO=A8*Uk&eJf3M*>Cr(c1h=a&DOyoYgyo=*vaqu>PLryyay!pW9O3^19RK6_BMBE~QJ75Isg;2wG$W4c!#8m59T*BjJHYA+YMB z0ce1RSWFI*g3AP2$oP`H#m+M?BSL>CIt}$_O}YTy0Q$rbjx}qaEN!M@5 zs(XUnNT~ZSybGXX)m>%Y)Bp=cG;W8^eh(9FvI|g5~mQi|fb4z#Tw_>|;{4-?j zu3vUIL&!@eW5W>khmm=6 zJWkP*n=xmIByw(P>|gHkzn$rrB8uLwxd=XX;ht47;Nno5F#^FO{} zIu?f)Iz<2%PXqu8nv0)%nxBy)i3Lmk?94CIOq&9d8qyKK43z+`G4h}n2dw+P5_*lr zJ_8R0@n*4quRZYp-G_AGnm)S7X}Q1sk|m*%k`V7yECoA8LFoW(8b3ZDe(`k`Y#dC% zNg7II7z{IlQOE_n8<2;%d{KWPh-5cFx+Nlyf3iuVa{d!(d>J)!oX?L|&gHUY2o6_w zp$nh^sEl&xU_3VJk`1mIW z#^!1K z0VG#hN8$T8U0Ib&-nV~;xCnpislUBs-P7DJtLg%4?nScJf0i&4DQnpzVzS5Pu@UqG z|JC_y`S(HW3>a8bB?yeB5LG<@CP9MWy`m&Sb_u z@QZjPJ6jj71ibHA@yEe3ycI|O27UYT7zp_+6aRmc#JjOncgdWNfDu9?RozbK47?}C zV&yUC(2!7*;S7F3NN2^G2`)q)-%I;s%a$olV$JuQ)lzuyeSsz7L?-&%=m3P>PvAI; zdv`8W#Tv^7Yov|EBuqs~A{%R8_;X;g=>6H`10sO1j zA5)q-1kw$|^yY7S050_;05yGVbqnBEI~PP~qB7ImcnaKZgZToC7(#uV8dd#H+$y@y z0E%C0ZoC;Ydc-$sik3afz$~H-JEbmQ_in$=wb%g124SDMQKX$NQwO3FGEp9M&RVPl z8*XDRa)DTQcQA1GjI@y2fBi$5sSToSX?7mbcA}2RQmKSA9ZBhUPflHJpFSWs383xcFZ5a!m1^aPQnH<YoWxyaR|8bSSfx7Isd|JvoWE+{ zr|6|XE;s|b2JVmZx92g0orXIQIBonMeKyAKJUU27omz;&3S7HbJkq}We2(3?dkic= z&{f8vY^Ye|N*QD6yyO<6yt9rm0ZutFLuh%;DMDv0_u~im&mS+jzi-?7J1wohapC@6 zUGP8d4`&xL4B+91we=u=mu^FU5DFwsZiSv#r}a0T>%Klczy4?E@#|E7_zYSIzazu_ zjqkWWem@%WVnQkDvT+5;mP5|_^m~O1qY{!hh)oB+AKf{5*kE1Up8VyaBWI-BzRKV8 z&vl+&8Rb2_zkvKnf4}HDo-6NX{jd8A$e;Ar6z=cC`JKlvqdcVJ7mz>cZ@+MV*Z!~j z3&@}JHwzp21M6w*FAMeJy7DP!qI|e>qoi+eeF-zu;faU8pw2 z+Aas%TxU%Zv5eA5*kv4c9;u1D8sa9+9x*eHGx z##d%R(JwmR^NZfL>IcJz7N1QH^V4`#S_{_P;lt>d4#Lfqyg3bhmD1U=iBKs4#%zcg z0P)tr*6qKAryXxS&8kZ>fVg~-s^3K#^}T`b68$mc^u&+@qR3!lln;K0CM}ROH_J&p zE^-Vs$m;W>;?DpG`2AO!c-e5oRR|5dT#^B+>%07#1GF^siQMh&`G|aN^OnvIkxX*{ z={~lfHb%#t=@c^ALd;-|Jh$@IJlt}ep22IEW=0g6acdujSQ>IMnMio)sp?8{k#IJD zV>%=qZ!p748(Y&&vub9r0HXKORVcBBJyEm@2z)ai-1fYbT0h=v(#C#+Z4;a~NpX-^ zTQzyW;k2>xVA>eLtSRa~oo=a{HZ}wAKsmEGXE$<=j#<6);3<+ew*5T1Mm)De4)Ax6 zW*9z9rfFAtToUPRMOzR7SB%MFekc{!fHY112VC)Z>y_5+cc6H@^@{2f!lDzf1tIb2 zC+G60_@ow?M(UoXV;>U9suS9Zqw#%0?XCM3HI1&NMzWd4)h#RHtyfi-Y`sBa>_ZLS zA8c@6zrm}mx}6nDwdWlJ=Ex+V57?z86=eWCzZfMymgRO%TJL~PwO7#&&wBW zr59tzL%pp1CP0gFua{(WOtCBFBHc2#l$aRjmYcf#$ceqnZ&$M=XGkWM4E8{_by9g@ zn@J_M)<9`6sl4G{nJL+g$D~f9w=GhL4xOALZv!MIm2LV;(Kp9z@)2jkKj13g*G@j8 ztY4iEGXtBBD3=-v3O;pC=1Bk&i?<9W9?D|eV}yM41oF`}3@TrHlZf7OdSNg~Cbhnc zLv1g04Z~m;uTM$8epRldQThL$r>CcXqq4~?!>XgCR0 zVWsok(_$66rQSej(dqUSXg?WuXd&?Dk9QgA&;CgN8N3RV|0DV@DcTzS2mJcKqW?^6 zC)j5C$M4QW|0$q@(mzC*F#WSn6#C!rk0AZyPj-g>Z;{UUej)pyO5z`cYPb?=_Rfj4 zYk1|=F<8by*az!(9FWVsFqEkl*Uw8{+|Q*n93tw4JM_^we7KoJmZbxU0CUk(x?_L| zSWp&f+KIR+^wDT1CF#j934)#DoHC39npt*- z#2`)0?gCI-#$3z9rgAwBDL~Tm7!t2x|BdHCl#Ly29D%SWlG|#ER{fE5jg~ZaQytC7 z)y&_7)5};0P$6ngKJ5@X*<`yNSmk`2P2GeR&sqOR}57sWXx`TO-y9y@n;*}z!c?SBLAJBE}#g#YO4Ie#OXAR|6{G;wnl=0&$~S2_X! ze6zeb2bl7RjmC;R{GTs(pm#+v{33$Z02M37jG;;G} zfM{$0A|bRj_py0GP{&R@rb06^7HI$>0RYY*Hc@*QU4Nc$&d9}cMg&AWGEKI!h2>Ick-Vb=yM_w^->s8OMehn=)d#`Zg{)Opz zEa(aDNJbI70q#Yw+KaovBY2ljsyGRzZ!uBY-T1xMab{u;JXc%v+k-te=VLudv!Ul> zxqjJdl%`*>hF92VAsSbQYHwy?iXRkRNrlmiDGNejylj@L7~FJ>v&pPd@(E(c2999^ z2?zwu9Bua;<7DZ+IL`8>NfWKqH&`1O3N!nw;d?XtI~M|R*>SG@7CR`;ad_(Y;Sbbh zni|aeX!gU--dNHS(&jD+u^G?Lb5p0ptU0Hy(dnMR05r8RPHlCrS7!V?$gRJL5?=Mb zlc|~N=K+qsZ`iPwD+mc}os!vP%bF9obhLoRIWzi-pRvQ=#Lvh|EmN~|3(d~%k3!Io z#vNJ;{`veB`|}}wgUl4Wd~M(}&?WRvDZTuJYCnj88&CsyP`Pkd&O7kg_$fKOtK_>} z-i_s5p3@WS4r(HiKU8%sPDa9kP~+IZPQg>&#jQD88iOoAbkTy1Z?eg0?QGFy0p7z7 z7>5`S`7X4q0U%*N?uf> zS_RZOUlKc%^&qjb9-J|(2hxW1A_Rh}pbu1y5ac<#;`9&is4a|=`Ai|Jx?(FL;CxlU z1wP?9If^?loXHNj11MndJOR$k!p8D_u?sk8WRvgrIlUeR*1LFo2cGhm#{a#KG0-6i4HLkQ6DH(Q> zc7VRh=4>yJVyY1Bhw8#SXTXm}N?M*321`KctUd}&0W|0Jhd{ws(o9Gi{azvwJo_P9 zZzQM}7d|>~JTM~W@+9s9vz*itY8t&N%FESTkr%Qb6wYKa%-l)DN5ll;V-yjUKsk_q zq^{41vAE0m2*>NB_6`b7r|~_Q3nklzZx`a*#o4&{|0BLQ5y>--cRAn8*b2TfXv=&w z%|hUy%;62LBq9#H^UJmxMo2i#MhWeh_^@Wk5ZhjE6vi0KT;~B}{_<%4@~H=4%McDD z%y)uli+JezUnlgr(M+i{Q522g%?>2 zu131Fw5HLI2}7`VpaMGNBoH#|raz)aaaLc<=EubfN(xtxlU42lkd$_<7&9YAMdCR7 zMd*SOR`O{QocoNP=Zyq%xG&AR^*;B92ZBEoTJ;n8+}JPX@H}DzKo#2cpl~;XVQ(8& zi86K%4j0%XKG@MNd~H-A{Mp~=&X}+Bi>@+;BHQ(vJ&>EuLcfBA)Avs@ zX+B&p2kT`z7T8nEeIonxOV-AUSy#Sy_Ery|F>zfn$%)~!lvfDgT4IOiGV|=nbFDdL z)oh~XEa5I>wOMtVjb5u~RLJDvHdd6`NA%OrbS~ja9aX%#dS0@8Oi0Zfu*Q7@_L{j=oKb3 z%v;SEbUrJ^`G`3q15*-aum-0j)6JO%VhN_}?sd04Z(`!^{f6r5+~iU0R^TFvfCTbt ztFv^~FT4~5)pw^SvjohVqCZTe58^IG5knAe;*w(A1cJ`J;K$$ugK-a-$w)I~05Op3 zap45fCL+S3H@FlD7D2iOpQ0?NF)UEKBKiUKhmz3`3WV>h`kh%hV+b$QM!3VS+974Q z+?O_5I9Jk)kt-*Vuy_&YndfL;xIzd;&*eb0Mqum?_PL3l_mUL+X0!}*GOuik%|J0l zYPM7`*@;lOa$UM8A~cC(O1!0uIdWP9g-6(875?-hX4KgC6F0i`@D*(WGI-1HF;=47-_ zZgKU&5!ufm0`H|RI_kqr-geFmMpl13e>}H?A03c5YB|pGpF_FSr%)p&_de0BZnCb5a))xgG8z2?KE~}eOLj*L;~C)p z<%^6kmkG=W@H?48)PT8mJYmLQ+bcCiRvKxz2=);{uuD^;@FPRi1P8ay^t)mIxA&L$ zLiV2@$yNKmfScJTuA{y-!r+ z^WGIz6AGbIl{7jct7HpB)w|gV=H|}QbP=feTJ%Z@7e5PACWJI`>R8=il*VywjVs7P zm|<~%#W#{AO>CLdNT$7k% z4tZK&#^EM2{>sS4L5{|$0nM6`t(Xl2EKuu#t^m$4HY`J=ZPce~f!Gd%ZKVQ5&;rSD z3UgGz(OCKbWMZ%aBO9?3r&LF_SFwM9BbyWlyS3He0;^TOR;sMA(R6Xp0_p9HOotvfMJ0v!f(zk+$-WrD@2qdT-8uJS%zT!xbz?wBraz(Tf|K+u3640 zXe21Fl*z;R!y(eHcF5@dh#fHCmIL0!jae--eB1C~6t=;JRyp18Hn!m)4!DpY44^%} z1a2Z-RXd7Ho%*v{jH~;3M;iBgf^#a4f63@P6xZSJkbk?ef#ukWTEJR~3h>3a3<*Zx zXPLuCcrKK>3Zgl8EyQV4R_#E_zOO%}ph-dco@JH35)34RaOwfgV2*n8kYajmcDusP zb$JnXntkO}`fzLVmYxwY3k|pAJ0)7=4P8-o%y28>gW+}>d)MK%j12^YeWwF_VHc+c z3q$H=1%}&6AFHsdNSpRT!>tOc5q9ars9|up)j^HSk>PgjLKSu?4q?~UXBlX9xP3wB zCc<7C6n27IQ}p*SBJ7i-kPNrPG!p?c2>TshW)Suhg|TggU3q(UgtG1meIEMCa$drL z+^Ov#QV``uz9_%B4@CJIigMwdMwACql+~HvV~slVIpjv7Xcs;vqLz7^hqsEvYQfB` zOF#=S;o_QtI3bDrl0-2~o~|i$LJD%(S!OBd5$%K&)O;A00%>pCr9g1@ov!y^%q#^8 zt>lzoom3qIj$dMOdadAC0we)OYflrQn)uf``4X^?l7MH)AU8=OvX5W z0Ft-K)4-oU-eY}X^tqfX!()Q04OcY2sfwpXVg!?gDXda^onIrm<-Wxta^Ly<-j9eFSZ`i1tBWT3mF1SqBXWj4UYS^msyO zfv}{Z#Y@QUYk3-x?MIxwrwAjuq|Si0GGTfr@{G2izB>nPIyB)f zy`6_|gZ$l&S3olOmnMI=;y1`2#163~Ywk>UN&Ez6FqIZJ$O}6ADq}dwgfa%t4T8sU zFeqpUm_?r$--eDS0yy#Y*yIVt4Ue-A*cD_n7-;|I{MZO+F9$8!iI2j5VC(>Vy6pdz zffUCp(;HJD6EkPCVGy~XW>Z$fkk|>;d)v!v_)_i2QW#gP;cFZ2RAwdz=!TNm@eK_x zN_7|2F&?TIw=$o+A}|_42q3&a-bEqKMN&hQ8t0P+ z5G6f6n#R8u)9i;B+JcPsgA)}_82M!)kiE!FAX_((DID1&&Vl z{cziM<=Ji9wI39jo7%R$J=)G_KU^H{hW2H&AMJJM+7EWPL)#ATehTfiXFu9& z)3qOL^O>945NH6~%w#_{W!(t-fhl<;YYgm%+q`Q($fHRMQ8&$g82X-sgl^Y}7B3=w(6m)R6q467gM;_Qa$f2x<56}O9YHUz1%;SX&vsF{rxUJsg;_-2@@T{~>k zHC3d_pW3#0B-jhE&*cj1_GLgkzG={eiuk6} zst@xCxrb=(2H92Ntb0kM-FIR>MV0D9{L(mZ2qw*xKI&x%?`l^CzhEiRnPtfIZkZR~ zG`QWGZ?WdxUQGa4z0mI@1k&EGfCTu6hi9z;(p3}s#W!8qE*5iFq6+;Aw*ywOYLCa8 z)P?vbzUk_A>%IgEq&9+Qfx4rs-bfvQdd~P-(7pjbf|l~vKK;3`N0xRvM}OVb;;iFW z&4Ny3X8N1bM=j4x|3Qc_wL^bX^DWlg3jIydy;pRe{-(-Yj_2D-e^d7*P@rA=UG-$k7Zl8%5X`E-;I8VymbV~iRrg>TQ2mnMTW*`)=oMTI zadK`!k1b8E;JxeYLUcQ^o}UX@1C}Cj1;AH^wY;t13wi@zp?U=P<~ZewZ>~3{rs2E( ztN#PO!QOyxj^O(ZL@S8z{u8%?uda`+%TxcKITng7GBD$tZ?JB!0~P7#5Ac1kqlDaM zwF+#7o&9N)+HT#)OAG8&%@bbddAP4cdrWI{{hK}0nsIKO57=LEdG!fP%7Fe-3h(E{ zH;?MD_U`cVS|)q7;oMeVWzC)D4o-dij`vRQcn5TxDup$2Ys&#U>TtFxJPR&X>fm5u z8IyjCH+~lxNVI!f5}kwjZE8)xFs^j2n*e@Y6flPYe>90zK>VWd@&k9nxHNHH4c#vs z+At4S9L+IP9&vc4ToI$i70P1OuE#JI-}HMN8Y?$o?2lyZrZOC1=W*n>N*Dx^rm(&^ zop_jL9QwvAhTV_@fl9d< zBBz9exJk4~CZCqT?wm}L-W=eLBVt6CCXQ%TsvJMXH;uw4y%Csi012c8wAKlXoy-3l zh{n+iO9hzh#5ci*xiTa#_{^=E?7zds%%j>5vZ{7(6GSMKG!4GTXYL3*ANLoL>2``J63TGC? z%H-M#X&7?b(XFx>9Y9g5=nD2nf+iI zTgLh4S1_37u8b2nkk6=tNSYY5jXh*#{EAyl{OoyZHN%=9%si3FV`FwA<7#q^HVKqw z3+Px)<`u9?MOkI~K`;+RxXBTcT@XTqn;bC_ZlM!6)4+B#wwcb6!|<(Hh2BswQ-u5B z70MB%nQ5Zl~t|mo5w8SKj1mn$} z;7Kdn$;^|xw(A5>BFn=(k@mKoCxW(&2EvnTuw^0>PZU~-H)9=H__0Q$IbBN%FQb<1 zWlfinT4K0p;R9zkF%GS>z3+{ zS)5w6Be(b1x5JCdzFbj^qON>QM7x={`5yb$8umGceKQHYuy4(FWPE73pcCxNV}F_1 z_fGdtuKKYOG+I9G>+FfLTkL*(6&{ZTDmwa0Mg#J3xJ^Q z3&7uy{+~&I66UMW8TQYJrXAo9%xW)SNEQ51WHe|Xn zO%OTDIc^0OnDHKdHGSw*H+`rEpmA%)H!jMI;-shI z+^{G^Dvrt0UTE**b!|`3S~+ z1Q-00jv)4oGUMoJEyICf8p@<9z-Q;zDl>qb!r?_T#7@gq3gjCK6!;Wa-5v!F4N`z- z;-BZ9bu>6+hj1-Z6Ns*EcS)Nr!mP3wur7C6q;O1aG`g1x_WIEfe zWwuY0xRg-^Nu7)6uk*<$L!1K<&2}A7ha_lh*8!~ru@v_ihI})5g*Hk>aX`mVFT)v) zrFgX!2Xrjk$!siVZgxr9fdhK*3t?j^?QOfUB!U44bUd~UbTnEj)H+(qy^fYj#q`m# z_yRGS$4M7rG+8ABIhiNJG==UgiHtJ@)CbwB_cE^Ga$tL}8ooqV|X@_k8_=!s25!svru0=TMImE7ks`>Nd>xd`ON@zUk z47$q`*NIKUe7b;SLfe8fd^aH*hLuvh$8@X=7Z7)Fm-xotBT)d}aeQN$RreHb_!5KjJLK zCp#&NIUGcD=>g0ZJP^Hv#?9n?XohaGEs>e2^41`w5pa=`L(#98#-ZXzhEgqaq|XH= zb-&3dwnR&^@e?Bxl_pdYVNnw*DTC5ZX?3N~NC7A2k{T8WmFzU1c99vR;H#*9$SAT8 z+l`Y*2S#CSFHRzXJ1r7UQsP0C3P>O0;*^RM|vrNMloEc8@U)bAXzfrU~C zHV{d#nJ8wG*`V-btmHr*gf&SrNo2wNkO%TQJID`BMo8fEi1DmjNX!~n$n2o@2|nm- ze$!Jr8_>bNXagS;(eKUMwP=w51-33yZpzglUnbNFO$5n54sAjQ$VQ$#H}jRy7O@qX z2J6rkWFgNZd-cZ*EKE<l_z@u@ynsp9eg2Zze|0GSHHjWAM#V%mE~w z*`LHKAFIx$Svtu~;)!88)zVlcJpA2@;Niq2`JfTpYIh><{O3PdU31PEVf+zh2q2HC zL`;59XdFZUb_Hw7FMNn7KhBtNYyKTIQ_s@V+g&SnOFaNj597s7xG?lxcL!Oa|_Ql}-doqiGLMvi$su6>-w(5NCSrh{|mcu%TproKr@2Cn8=7C(swC`OK4Y(sl@vRxrdQ< zPMXY-t4W)LbRYmSlEWBRQefKGiX_i5!?C*w!Tlncd%V4yF#EpQs=23Cw_JJ%4bqht z`dx9N&yAT@?SoR#*xkVXyDMg?&QZIt|Lzh#;`@u{Ep4Uh+)RPc4Y7MVmtp^1ne?>4 z>;`Ny`#)spwDA*7FpZTNJxf_Su+VTWj>ad=NtI%0DZ}Xb>Qkz7Y=;AAxm<(06xb7~ zTR=M@eYov;18AH5cZW_@os;6=p0=8C|6NGu2xd*u#?z^D?kWQz1K}nvp)3WA>YZOh z?LKmTxzebegiyQ4{yUr?&d&qlb8M6xAvef?`zdlyDXJdNYBGE_8>6>?o>sD=Jo70* z;I~-T{T^2?=LuPg_TXb8x~F+tpumDs>6W!ZEo&(|30qcjnXD8dVSufWXBl9H_84IE z*_m2aA!&fiBfrhS<@5pe%O{n~$_LY4$g;M}<=_A-IQy2h{~t4RS)o;D=^{FWI>=T8 zt*dg{vc*|CPzuR}k##c+P2intLdZrGA{frMT#kkNEWe5ESVg}}Id$%1%Bcv6mnb@u zkBMlBd7JBXG|%W`vs^t_=oYrL&78_%XPG&*=<7~!s_5@wPDy*)&MCp!=hQt@GIL6y zRZfZbkii{NPF*=jICVDB(-Rt5S2-0Tpvx&Y{}Wrm+*h`4OpA~j}GUvJnI4DpTGZ6O*F%L3sE5TXLt|Jp_dz@b~79V zID3bSpWr%$_p;n7_LchL;u?XqZ{KqzoZ<2w3nSQu8%e`VC*ntDVE>oN; z1OqXMu#LqkwkvSUF>N)k$>`$iw#OrAoV+O0W;Q$N?wE%k;N1OB4M?st2S=gb3uFlQ|WDW|Whdi{L%X-Nk zU+?O+{4!)pTIARMh{jr8Q92(R?2bRx-C%b*qX+q<{#gElmUSnlz~FZwj#;J96+Q&W z!V|8hIR8d8%jE`W|K;1>K_^4s@((&$F~HrQH|g)BH%vrJ!xZPSKxIs$_JGql#hDs- zY0bTlk|o~SRUmr?GnI^vy4L0Q#qIH14IBCW*ZGSjV_JK;tV z-_(`jbVi0?@@SPYPU~h;kcW zkXU(B?PT=WPt3rRbbUn@#wbWt&vJUq0uDf_z4gMi?6Yyd7)W508N%ewZZH*c-U7N) zoLjE*c{;_Z3_L+`dO&fM&Nk_cEvwN7M|6hHQXJn;o|~o=Lg$Y$R%MWTrE}-ye(26F zolhK^M(0wO&UPp0{L052()oeE{U7N(5{#JQ?0IdF&e?&d#;!tVT(&S`1Lde)hnv(q zc^YNaek3=TV>3e}z7ccmSNQuh{NtQ*0fzFg+@Tyj1LQNBqA zjP`wi4!Ssk(LUxL<|}%bxzBOFtwOZn8P^ysM^{$e?F1I~V}$^zM@FiFpDAy2VvRRY zEGZ*_>2p~t;T=toC5@=Jpq15&IF8Tr>LD(vJt<5$Uv{%M7Dul0_sTb+2ALIcHvN@q&#`z3_R2pBFDBkv zS&cEC$is_v?j6Ul2}eACfdRJ31(rE36+$g>xtrw33UysTyRq^MT1O4aCA!RY4*ho~ zfod`VX!bi*&h9b&KaDX2hP3F-lNZgl>PN$SELyNn&r+-Y1&l^TKTmk*D676Zh9d~; zkfNpAZRuszO#;ynf<2W?x%XAW6o8N|;E0S)H(k(j~*>h&#|!okBb8 z;>x$DaGq9 z512k~KQx)h_D6ftY5<;yGyGN9n-SzbfKr6bayOnMLI5+e7@*C-W7s3(@JvIeh;!2S z>eez?Ru%EgiE9SX#1tv3lR;V_u>sDooBqdALu_2I@|?F|!bq0<29sNA01_Ga_?Dvz zthzTK18NKk4ARBsYV(?m=AOHCKDg^Ql#MBmr^&{sAUk-k9U1Y`-Y8!9MY^Pf;ocBB zm%y3RLGy#y6*zNOZ`ooB#(y4VO;sbFx*JwNMZYc=daB5k8l=k1wOo<=>^yTu2HMG% zpA1+k0V4Ho0FcN%jgixpGplwXdP+x5J2I_kZw5K(G7Y&PLU~T_oinqmsHto3KUnn# z0zl#1WdlyWs`^G~?f^3AZfiYGd z*%5ji80#5?aUblIOHF4$fadL}WZy~Eqd72Cpfuq+@x9IvsX~Ezb!JCIvN4=V!4Q$= zF987i0)V0|_n&gNc3x&WFM7Q*otJ6nrCaS>3WhrW54NZXen6gg+Cw(93%s442&|A~KE^?9z` zUOQx;r>(ksK@~OhwK4~SZPw2}0MK45whpL2|H*L<2CNwM+8Kyo`@Jq8KJqvXy~}72 z@x>>{c^R9!QkP=AM?tRp61R{Z+c5B#PSMZI5N?O7;L}gmsL++GV)n41W}Ca;KgJI@ zkEsvg^NRTX@!d0?ubyBp*YzO-!`OE_Lz)JZRyJk>j1Xy#3bIk|P1yh+BhGi+Bzztq zDLS-yyH~15!OHZf0&VOR3Hoc_O^>AYePpO_>xH2)DH-bdgy+%odq}}i391_gAi#qX zgMVwM`~l?JQHFN{06q`)MoU2epukct)O~9+y1$s+&l$R9tyMq3mD=6L%zIn)d8`5D z+Bdh(3W?Mbl$wXrXc4lwG$vySa|o7^gypp#U0CYM0G5tpYlLSe*pZBW)(OkvF8dLf z4SxyJr3;!3(uMchff>KnN^cmyd|AzLZpWrrGk=P=j;e}a8sv?=`v7L+{d7s~j0chD z*J|EgS6zJ-m^o04ai5nvL%)H_%3^>VlH)X4dU0q>N`?s7@*D`5`~d`PW-j#iCy5YQ^th)Pg%b}>!NY9fiI|Bix7KC5` zAn*mbluZSV38Y5~hLHbeJ^;Y+F*)V zn25e=-pJKivlTSL=R99*6xm^DR}M{pg-P5xjVB!ASvk>&(QlKGsS zS4r~6=)qFL(q=l(1GIsp7Q$NG?^7mM+8aRUka& zI#b_iTY;0=Yx3~FQ8f?cM}N~*CSRIBafIlFn>3&fvgishl*y#)Ek~ShP%%I&a8OW? zkj{sK3=ht3JQJN_YFktE!eJ7xdR%@wRVGO;&ZtYxbNk345O|0j0n~+BW^69hoUxgna#_ReDbFcIU0N{CLD`9`z9q?14aKP7&%J`>y#bhxBf7F5 zE~(@3k8|t*SfUAVX3<9QFJO;qW2-s3%X!ni`?L9Vv$w|uHfJ8LV6TG~(0_eqpVA}+?3G=G)Cn2bJsn$8!UO@Nmg%RXrCq$JGU3V8-l zQgcph23vy(DCof}Hgn7K)L5}RW5z1awJ}?sks&ULv^}l*5?MoN?P1mHX*{i6t@=N6 zH9?lC)(azB?f4d8^)Ehf`9B$rAJ09+*f@&X*z3C&Fjv2!g4P;8RLT`WRJW!@HF`i5C(7AC_7d0{lB>@VpVF@)G zFs?xlAWu){jM>nsLC`6*(zW{Jv{ridp~ZoHBvsrdWC6}^BjU(;MqSwka_Is`MQ}WG zHvSnMe4$`=tNIhV>0Wg&{_Rn9XUi&Fv&Wo|f48fu!@t|N0pOA=Is?G@&!7)(hi7|L z3sMM_^LEEEyW-y+svhTk)g!4(_4Q6w_u)m)s;Q|GebLLRU$X}YA8)m+`d>t8T6ebU zJ`sUn4xC5T>AwqEV8}amL_uokO5xN}>QLfd8buxqj^lzwRE=^YvMfps(M9gY&)usB z+KopB8$UX)D`udGN`|QYAM0X9RMOaX>a)O@2d<^H(Q;_!Hp2BIPJABfpUwL5)?KXH zJ(LiZRaZzVa&^K-`q4}OXGmvPW7kLs>BFM}Fm|5+b(}I26f~f|NKwb#LNB&sWH;iR zOn>$^hK9mzzO!FPZTiQy_%fX1e9E>?W?S*rU9I{ty+j@&RxM9ely`Oe3%Nt2X&Oq> zz#peADif0>nU_fNlLvF97NavQa7n3mYCOX7Tp`IILo`M#rm~WaaIDByd+lLRBUQ9K zKv^TDIW*y6t*NRn`&4`Z-?y;Es{6gXM+!Kvq#z_#%8I2*^f`qEagXu5&q?M!$GK?T zcbw(1JAeMMH=0mmI8O{aMo4pAAu52Vt$D`j0ss@SX!9H~&pO`0Kj1S09MeDm{;{mQ z10v!j;J4ZOll&&{_=OStULYfu8%H)drKr#HnSN&utiAI!0rbQ(bS%qJuH0(0HCL`v#d@quN z_j!B}(ZYi`bZg0WJQO(1kYH2IM7=qhq^{Wr`Neye0l8@mz;`Kx2rdKi@r>Bc1bN8^ zd*Wv`Bn#clyP7e6Oh5|L1h^NgI!~n)O)PoeSx$AQ*&&eK_m!R;>5G zEjL`)#|=#mHN%?wz#;%EDHE%D0(o{Ol5GN{@dXknh15OFpW_G^fJUM->WeEaR!AMA zS?X$2SHHM`NCYRD8B8vxFJa4!6d_u1Sm@cj!t!wD%s;ht1!6d-$BM;}x{xv}z7>b* zq#d%q72lbZkY2ht;!042jqiLO{P#O?EV11PBwb%O)8?;TMD7-J%4Y_vq&v60fbXnG zlZX)Mh*N>x4O|v)B}m{)HfiiZtLd^`h_Cw2kl@5$Kg8h6IZvjrA?Lh8gk}+P$T=T5gS*`3lmSx&BZ}*B1>%C; z8eI9ObR28Mvc`y|HcYWRhi!(x{m==qWKVWxvHa!5PKf208k)mSi=}jzK`aGvjC4jU zU%w)=SSqx#lj(OxB!vKNrgJlLIGxi^uOg~JBtc%1vMm`?vH!qWiT*J!ulE8>##TC$ zkCn+-x717w9VRa)Wt(BdHD6S}W{<+lLx!05V$4W%Fw}+UT(_c}^0i`gwiwr3z%~Kyj1U1+}w&9zuqD zV@B(Ioo^I$JqoxAdJ7ACaG^INpu9qKy2>LaIJiywB{6uacQjN!5KavS*${a8n@g?HOK8_8$%m07DZ}qm56M>BVw?L)NTBLQ!;wv{0@lt!%Z29s6YpZ zm`5x!5wU8wc8IvI$@(R&>He~Xc8KVk#F^{{BR#JHV)2p0x)pEDxjhYR7E(S%nl~9- zTO}47@Q4*`B6TUw+y${tgQ|OiAYPtXd!odx_(MiwDbSrE*5F;+A=Wo@7#sH`F0Wl; zC8G~L+X0BZGlMu*=o$c#BAt<+4@W!@=W&%lMs_O2nQ0)3Qrv|iL8a*DRiU}bL6y|u zSb%kIIntP$E?8rAHK=q0+7D<-s{pwm#%qB2d?fRm@YbASl4mp}-)M@|+$!_gfXDn` z6RB^xs-KM7b335y%VRP!UxDrnWzVoY%3i~uqDR^9{t;$=`{o9xgfN`lPhw`xwEr>~ zf`;z&PUd~?^e#AJI6M6lVZ1R8I>wIis^?PI;5cF2?rGIO3%GE%JF;74s0qdKs^BoV zD?>I`8xVnoDrn3BBlI-RFmSDqE8@E5S}9k=cg=MyuiV&T7OmIdIe2`@m*gZDWH6zmaTOVbeLttIDZTdQnkw0XGvp={^t05Eo(_t*fjPtq1Z4yXi5wTb#Ep(VD-KG+N zD_#d<-16MaSK`#beOk?0=A;91E3oAAucuvEGj2|%!$dEv(j^~tY)pHhC7-tLlX07Z z`*8(Xb(?^`^AvUqaN3&gHYv0^Z9QGgt1S5l5!$#-<9b4B@PSGxC(Axk9Tu4+ZHJs9 zv6wot60AJ0Q1ll>?{T;d9_jc_yjC6G2&EBzuzAeU$5G}nmyh7!da@6H+T}FE!5M~w z+EqI+TP>}wv^^AQrT z7H#lPC7{emK)I0s?drdm0O>Td1mw)_gaq7KxlIxv-DQvfA%!miU!R*<0u051AfF&x1q5-gVm2O?Vb(A4FP_cgDA z*$xhrBK5{6GBWL9)qN?+_oy21UQHEExy`RbE3443kza3{vgmwgA*78-hILsAT>syTKb_3=U%6S zfEoBsdHXp z^X`-@m?64~xm@GPW5}gahJTz8B-h$ljk)GQr@89X6wBopjjK($L5&=Fex1QRdBugO zIg}2RDJ43xRrqC=O5hyIa}b>zE-r1UG%&|3%psvvx|(VNJyT;-WcgK|(p%eWKLdT$A#+Y2h zhwgNlKrx=rnB227!q7?B@DLP{m|RxsEhZ9p^RY&hP7S~-=i3}JfbWgnXE+aNsbs-6;aD`netU zj{Z{y0(y~tm3ufiM=`9KjOKL&VRn{r4vGbn|K5$x;;4|>IaoEr<$edw!5No_odaoa+nobJ+jkBgJ~gv*pwNcg zXdyrw$6(Y(%9iU!vszp7rOx9nBu^2u9uPNr_#Oc_T0*gPZ*#bB3fSPMX2@u)-pEY3H{Qr>^AK@vmt?TCKJvwl zHJN(_<^hf~)L$N^$D{#Q%mPKQ0GHy7KtkWb~{1JK)H*mv+bzr9)>p^7;4ea3nG9zvl>!3;vh5%%0Zl zZPis_KNNYiLexaB0Uq%+c{IuA(F$@CTC0>TZ)k@{U*5f~Jc_sG;B@kMD>!sB6(7$y`iRJcN0Cbp=P2Uk zd4l-TMuWAwHOl9>DuG$X2xG`hi)VBIbG+ zXks-VQN39P1RZ)-$i1;`tIb2i(fnr*FjUTxks-8igx;u^fNECo)(_;}{ z(W~?>gW};#stkXD#lfJrl~ud7G$EN+?GC~El8)mYtlIs#OdXZ=9A9B&rM-}&qQTao zfwi9ut9C>%5U~CEM0HdmB%Now{iG*_TB8|9Fb1bdr$UT?(~^bi*#Ed55@^*q5@?fX z2CHWvCsYg>=h-(y2c5^t!G0tuh(m!{wm1`*Evp|fH8xuqw>#!02;s`Tk*H>Q;KJ2t z5kup|R1iUUG`TX8@&SGTS`+iD>KD>M7?*b4B0rF%kWbd0T+DO0fnbfK%jJs|Qs{7;UgL z9}1&&LICsGUuFS(u4b-&4M+ASi&o;3>2!c%?!C38Ph#_H6|3 zv~NW4_KbWV)&Ax?<(!88kdy8=q2d^CKtqPF_|AZ*B(nY zAorWkV&&v?zmN<+$pKbmc)F>FtvsS_3#6XX+csjWOoMMGwK&16kO6vI#dZdJ$Sk(s z{IL^aI~=nl?wwdK>b4*z?QOf*3ZlN)E-3-^oF*B|X#61P{H*Z#R@qJ%<$| zXZUtz{(A>=P_t5JP%FH0A0$!k14gU*yXF3&(W>7uWYiv^ZwHZbl`(4!q1XC^p4}-z zvki~X!B$dNGN6`>9so#(#jgsU3(cpG*KmcygLcRN^|S)>(q;pif3w~JZ>^6QsuT|cVliVR$fuc)_7u(C5`NA$-VI?0iH*tyIB=_6Sn!9h!&zBQ||_;t>mms8tGBo5WwSPMGfQ@lu{!ui=%z3svc)wy=#>-H9W zJ9j--de9OG0B{IO7X_tp1L@;)1EdQ8ib?>o=@N!8yfSSOaxO&rsmT56hb=uFD8@HuRdqir*&Xv3tYqt{F*NCt;y(~zu~U%@II&pumd(hZ8Jwu9K9KIL zafdRA6XNKM$6>tR*ph;w*rlfYe8Q_N5pC%QK@#cBu_ z%R2XEkvOKDTf#JFitHstoGF_@zn9yiUlNl5js$W(iE{v&$9csZZNb@Eb0Vzqu`vm0 zpbdjNb0Fw| zu&t89s-5jE%iS8|Ub73|wI@@7I4vzhd#5)#I)KfS#xaeSD-u}%IQeJQJ|kcGg|!(AJ7J?k zWZ<$ngk#i=L{@`5xAIk)+|JT3$7m{Bxpa<{jn=GN`2DrB8ePLZCsr!Os~8QCxwh=M z;BMm;r>lb|78_Gg=?b!zN2ce~r;(oU0Nr(WW1IE@yLgDBOl)QO-#O?=I%rePxd0#= zS8!dnY8Ni(@Ye7(?x&)xFW#C^M7%Zq8aF|&DO&r9cx%I@oJ=wZaR!>YlF@VuCd~K< zM5)X(`f&CP2F)ZLfJ~*#Dff~&H7F)i!_ED5YA8c!qUc9HCZa!?xA~~4-OV&Cl+hpj zUE{H^nRD-OE)rQtArPc7i6#q8GMTb)K`f6jbpcnKlwN@hi`(imurNKtqKB<4RJxk> zI>*9bGMRb~oQ+E|*=2_ZSy%#!L7TLTSq5Zf-4ae(lyyRhHmvKtR#;an<%D&_I0G$R z{uC~>l09XX4Ud|{X?&G-tdbf=29}^e{3tfJ@C%HsEq3Av9$8dIQ^4(mxG$G`2rsWP zqna;ou)~QBio$)tIf#dgDGxcXAdm4Z?cll66E^Xs@rM2ga7dc6(npiba=eqq zb>5+i4T^4o5uIXI{+gTK>$c-u8N=KPT0;H3$=d<1oi*uxC&))Jk!b9RkribHA@8Jd zM0D(g=r;D+dC)qh!}YuZ9~r6z)_NguDDknBv_;D*m@17%R#kj4(_}j;tCZwm;^RlP zzN}X8w@lgZ7oDcEDqXeGknd{By$i|iiJ28CAV zgBr*Y3nN4b%m)c=P0=kMikP17hcQ@P`4%Q)P>2p-aR?DSk28w2a4YQrBqU3K6jyv2 zUuBpKTJ^sbO1XJEBV%WHzIdn^ASHs^sIdeUQxiE;8AV6|qh#85lwSH1J%^y#gU7^Z z+8b@OLG(in;amOG5U!U(MX&NP5q-_P%>u-VDB^U2Xhg2Mc~DjBN~swNHjv0$F@&wG zmDvzZbX{u*1I09>aQ!kMYzU>jkZ`GBWEjhW!X;??!G;TZt8kUGTkt^z6vsjcv?^TJ z39Ci88if0PRxP2eDLU{25w2sToY+8C&p<{@Gb-&Z3q7X6)HQu?CdVQHV!A$;AxEUn zmM>yWH|KUw*E0YbMe0_xBX!~LV%aKj6PMHg(#7x__L%4@a)z1kG|-qHDExz9$U(Z| zgzt1&UK|NuH5_kn0835LKJSAJ)$(<$8k@2#DKAUL>r{_r#HCIlD$PuYr!i66gATkD z<^F?vQ8e{D+)QW74;$c`qQF#*G!)|^zW{^tYC6E+o&Fgy5EUf`I1|^Q-<=tQviFDq z#+Y8IaNf?Aap_1Lrb#=q0pt6OF?dM4g`%nZ83s8~k?5AXkt~Mk<#r8xYl(D{@d5rR zJSV=@zd*5gn+0*|62EfTreWN%sI`NChwF;VU}6Ib)8y>BK$IN+auHU4aB%oGTg z?>8^9;*+K7e!Z-@N8r0;2V3<=;RWt;t-9^`lk3kv_B_b}2uyS1p7Qj9gJ6PwoG7a4 zLL5MRvUGsIe0#2=pF%Lh}E?jRV zciasH3R|uC)x1gW*G1+Hhg)^u?aD3|n<+XRT-R4o3q8|7fI%6H9_9f~J?3uC)NcvN z5PHRCC;@(ea^_5+%kSCe6*tVBCz2pOIMBqtI=&EJR=$FwminvX)lz2*8bzP+F%kXT zyv@N|GbD-K!H`6o1uJ8xOf#ozJm@YN93~3I9u*PS0T|X4UGuh>?RWWw9gPvQ zdIp*%rjd8_G{+xcCxnsqPahhVdh$H;ITWI^_a?Z#VM$q;Z z=H~r6p)d-%D$D@xmQsb80qV9@n8G(iVK(`@hge+|CP>r1DvW$X$2W6418AZWX8Xf;rkkuhVCj2JpA8cfAxP?$$2^85RLML!ylf};d`FZ+ntahG=`$_Iy`B;MNFsyj&Z-)w{0#Yhh3 zdZ+g`*vRjY47rNeT|>p-Ny6MUP>La64>Edt%%LW45OMO6vD3YIUQVEi)WLdW#UHC( zDUgsIVWj6kw=~z;;{-ae0WvW*?E2#ne-0%A1ijgdj5k~1`QwPHVG^bO_-(I|Nf`8w zNe%P-Y;@`Lz0qTZmZe8o;Sx=brG|h07i228fFTI8ouihPegQ%m>Yc1RT8(W1-zJK_ z;A0~CZ}ZmnM$!gDfhls;4g9KJT60_Hk;UvUvw9U)xrFV&JDGEASiPjZZC5V=-dC?( z_R2huRA`}5FI)BfMMh;Fxtd}W2vU>+shXnqUJ?7cos^S#B&(||hR6sRXdoG&To^P< z2!^wuAII5X^devjFFR71)y$?7MP+!`DF%M=vmKOP$TsfW^K;r|2E|oN`fa&?4Tq-3=s8x(`srIxp0+qu;K7n z<$JO6y}xN$mGL^$=|spo9=mzh&vU)KpvRU94Wl(e_)oD#HsPA%HC6Y8m;htyN3 z(MCOMmj~68)s$mFTBaI53%V-1j%cf%*M8QKdVYM3tDdL1<(7zgnz#Wx)xZMBQY$W| z#9iPx$xe)dJ3$rJoPbJvZ>V~ZHTPa-DPZi?FR(ur`o{WWi|`wY{4-R9Pu`65v4wn+ z6@>+{3i29@Kkx_U=r#z1@FVbra<~ASi;`K+*hUIz!1+j3;vflU*H4MNbB$a$=%^L@ zYBLw z*L#HfqWt-whv-bs22=Iy{mM@S*5Ap+hxOz(u=d2qf1G=y7+`(po6N8-D{co?GSG!p zqd9<8z7PI0rrv>wPHhXGbv~b3i(6;$T0$tHvAP}cbruf`;cx0Ic+L3nh-xH&n3eCx z$ko*A`a_@K56|(3dHO@XRrgPN++M9_{&+uLIi=Di&^!!JaO-wwIggJARiue~>Lzmi zX1CHn9Pi;=t5020udKz>mXC$XV?RV*z=n?{ufor#NDhoOXfnVhTtAt(t`&f2GJsGD zAu58#*+>M23=a2cjGHjmrZ0sQQjtXiCx&fTU4kjor(ZZAwHuan@#oR5-F4Q%pFb_iGo^^Y0?xlUEd^w z3vtIwE8e2vYAISPhc9boF$8FivTqg*`B_1dOFmDmzq_9!HXjkhVj(-@qVig~>Z0Kq z-Y2Hbz{NjsKgXKdT(dytFj>_*^~3kw7uS;EnatWFYfo8736$d86 zWL)IZq0e9B8e}Fv!3IECVJT(KrLq`&JSZnJu5dZEkW(Wjl1PNe?P;3KgjEzUxoH(# zB4EeQhGtb=8b(RTp(qXBQK{WP3W3^F?r3e-$-FA2f5IlI4?0s+?%t zsr$VeSxnDRD>Yo#PUb_G59FLK86DUWEX(sU!cs1<;InS+!E(01A`2nCIVTreL2!N? z76K=m^Y(5na{Nw*^&9?}jLy5&Ti!@+*a4it#09T+Kyltj zoH0kTc`k1($48PDV+ifroI06qZ}J0L9Q3mpODniITw!Tl1N#%l9r)tgAIb0ggdC2q zv-^IKF3id39V2#;{t7tq6(56=S|*P`0*TZg6``YC8dmDKrB3L-c^6ON25uTTY-#0Y(j3`Z_6&O_J8zeF~f zHMgt)o=Wwuxam)qrFWw2$oS7YR!8B$7$1|?ywjKLHeU-20Kj-3Ey zL0$Bm&#q~o^X$Y$xw@687@lP|oEDpaKx+Vq$O?UsT!v7}No5%+Fh(YZD=x$H8*ez$ z^wsA=c3$XIf2-uA_9pra5Qy~SASavq9H(EycNoTp#&U_wi|n%48(K#cv^?S5{0?Y8 z2?{_Gg4iGtS}QBFC;p7b;%bX@j_@apa5=CWi3-pk-SDx?;xu{vJDU)Gu_Maf5onqe z2cE!~ej1*DCq)!PW7SOny}m~A!LlY+!2~Jr2E@ZG6F*n*XLgDE-2p@nC;WPRS;Nk)dTr89#eF$Z|bxZXj z1{V$o(cJ_x%2pz}i@A?Dl4}`XlC#*^4gIvt2(@obdPeC5{Z_#OS<3akfG>)nM`wsm zv5P85O6C+@DU9=;`>IZr3Q0u0DOJVfeLsp8NXmUuSiQ3omx??>hn5!~DMS;sK^9X* zeh?bS9JHLA%1%@q*;tX+vZ^tw<$LGUw?MX|T(SWT{R`nYdKhIPWR<{to0tIr3ciRz zGP>+B*M#sFywsFjHtF1VD3D5Woiu@UVYmp1Gof20u;QiPi2FAGO%S#|Q~%Z^ITbm+ z4%XcD0Z3Fl=nx8E6gm)w85h{UJX0ZY&O2XeiM}Y4v=y$+EUqc~VLoi8RW}#C+G;mZ zq{sEoxpwn9+D%{r@)FiE?WLT(RPZhOqbGu&z&fUAC!>o@&%{*<254~iA??wiSYY&$?jA|l@#fbu@#eA-(P%8|?kwH%D%d^J?x=jj(hM!W&O&h_j;h@aM^ z_lPj^%@rTvAFP2Vw7?D1Km9RyA1Fxl%e`-kW5qEi?ZPLjoS_eF9Q45h^77>Z||Lhh<=ZEaDlqN zi%Z{?NckIotZ2%yw)JeD-S{mo62<7x0=@{-XeNhLA71m?sU z|3sYgl0TDcd5fL-tH8B^hHGi?lPI78l+zeL=S-%k@QIwI5m!*qW-Q*ibM-M|A(PQr zKe~A<9RBE+JD-SHX-$zko)cKrwPhy0WmjE*=}19Vl{RM0y?6kAtDbBcd-phg>(RAp zNYco1hQQqu@EfsX;vV{ygh|-Tny_@c$DCDwwdD!H&3O|anNIB=l1;P|=C?KJWxOK3 zs)9Bz3pI zT<3q0en5p-z`pLIu1*M_o-t<&I%xT;81Z<&7~(;8ygT-L4@FfF$Ei60IX%|`MRPzy z%Ub8dSAlg-0P7HcM^^$@bZ5qteBKGV1)O+_**56%7g$Q#!dg49mUA-_r+hG+ajyWM6WYONG)O?*F+_AMgNrK5ma5(S zpJHehXbL(YbQ)d}NB4&qEUX9Ms0ozLFE7Ie@mm7sFGSDLSD}B1pO|gX@^);K!b3LZ zO4S9hyJwF!b|Miiky}d9#l~NN-AnTqa%IiIZ?2LD7{!<5E_Ox}idupY?!PdEKWiEx z!ksWpyNvG2eZki!tGg;4%PY0Sh^rOd*^6~hiT}WQc$UqTh6{J>_(+y zWk7Nt$61AlC5Zn5g6DVwyldg>)l0DNWj0!(2#m$tY-nt#v@z^`X~Fp&PjbUs?Cc%K zG2x@lc6?d39bXP#V940r15=1qU>8M)H6W^k^H;6)dsTgTv-Bl&q0z;O(hkhJl_MGIp`^$x4Xk0?!jc zLHvdIV@--nyod8cVTfzjeiS2bUO6+xyqYHzRB9%pYj@;HuA~MK;hI0OyJUl6CzIYh zB=BcB1%QFv&8KDdbl7ZDB7L17C2y}JR;-#n$hv(`Fgo6vA1oek?W>Qv$tm7C$g2B- zox+Vl$6db*jyQzIx!#DC9!N_U*TWMPhX2y00%Ht>R7NI{%HWK`pZ8E)m6Ou?uED}5 z1Pj;y(5B_j5ybFX&O`&KYH;tOV#QZ}8DrYVIS>!GcD-^(w3OOvppL zwaThJ5q2|m5dLwFTMk(*2SL;1b0hJTIgpOXWu%WNcQJbdgIr;}dA$Ow!brIT*S^`P zF9X8(I2{MbYpK!3BMwlC$Og1>zJv^7L@S$cbiDQa>Vu^$=kI9l+xb0(L0WcCfelk& z6s}s+@_oGZ3hZcP(?%7FjiPIDzHC_)Z@u0WQr|s#|Ng=L`LgA2@z$|b^(}vK4p;`N zeD(i``x5x5sx#h%bx?6a-GVYYYS5sd!8K7LQBf}%Fz!K7BU+7uZIlF1K_{IA7?aUd zQBkpC-B7WjBGMK$5H@#QP!Jca+Zlt(A_`K-`~Sal&fGgo7TUh|@`JhCS-$;z=Q~@1 z1}D*nQ3uc`p~neVr6i;33bI{V5~Ykb%af4?kusVU>aRK-QlQ81R9o;B&70f$j`A zwXlfT_e0eEdyEMb`NJ~Y_Q5xvFYhjo$YJ63!Lds~pMgKb3Q4B-n?R<| z5`+mAB+<*Xuke4hz5x+(6x7QT++g27@frn?H$(a0yI59NNvoD`lg}!L~tW0LjH_Gydg!1I2rSU~ z)QopQ-c11dgI(Y*@YmwJbrjcyZR;W5CNo_V>m=+~N%Ar}>aY0=GkD-Y#!Ej=pRsE~ z#@{Dr1W*+O3YI~}k3bJrGZ^k6&R-Xl*zbVG<}&;P&4vpAuNut*dZo;ytq>WRT?EwC zW6y5~jVg(2C3{%Xxsg8Y`ScSROkytvWx90Kg+Zgx-{DXxvLmM%eDfHJ&Dv0i3z}>w z#!eI?vAOc9xB*1}e6&~35eds6$iRaBJ??-8XsYtgZA_&vSBJ0oJ@ZR7m4db*|uoLOvQ zfrgK0i1C0l8(9;nn;frqLvsl2=hdmIv-qPF)mex`x?)w3XH47i*N&kM zd5np=%Qzk#(TXFf6$dVWR;&}P0EXr-sl6^^`y%_7pv6jTvJosap+Td{nH#;bB&s}I z{04+3DTKP0^b{&GJ*qihrDO;sXQ-TL5TDYr{%`TKY>z_)*oVCFlKK6DlCPH+_!Gg2sY@_@$SVr!`dP+x);q)>(1%)`B22LR>UOzt7iLz@iF?#R6iS)(k`8T z6C%R+BJLTmnqVk(;M-org%hu$As0%qZ6pOGt?G`t>9S1VE7%Vc_Q8WRbGqOZeUBxS zFZzC&Eua2c?Q4e98lbvB-YB=@-rwA3sp~i?GHN3sAnyeB-uyK;Gk3J@9^8*-c}QGF z=yPeL%U#s^yS{>ms+AIHu3Yaw zs7}H*A2b@dim6kCd4UxI*+LeC+^f08j5 z+yBtj`Y&p9B2ZO8VS}bVxXD=+s7Zas3F=s0Db*rOs+nNsnE@t*%drfg{s4+SoaQ{) z<7gLos-(+tjJV<80NrqS=AidO+gmpJvygS8zZW`z?4}0k3P2Jn>3YjR!EYIrW3XgW z#wshjICYm`7;C_s%erHlMzgx=KVg4@9>k&-B>E@hD|_@!@hew zONYpKg!#k@fSCS;2P@nrVfD$S2CMspwH~Yvj6)OgV)gn1z^V$~O{*9!`=UkD*a3~v zVFOtCB6Olh7d}ID=3XaC4-g)POT9!nD$_T7@#rdNTi55`(0qD+kv3;09_+O zrMiHxJ~ucPrC_3deF5^{DV_XZPEiQ26Vp>}Bp=kN5Z^c&cy)koSai_PN9sfa1)pm( zAhA3h!5#;-prMfn_P!`bU^Z@I6@RB((EkUHkh)CyZ5#+2l~fiQc>_XV{jA&A{JY9fFwHyLpAA= zHDf*DZW5cx1jsL5&AAvTLOmjNi(QBZE3B6StCw#~5=K1?GieA)aPa0Lm4* z$$96h#~jdmT6%idXn(}amoan!LS;?_fub+il*gZ{SMv$l4vP37Q^$n29^|jB661+k zP8=Tf*T{@$86rg@wST6!fUHl@H#YGWslepfSD4OWRkRRPWA$x@q|6I%8Civ84i=tw z0YPd3m05aBmKmQ##^$IUi~TOV1rXlC-k2pMOco+H^hX{Nk!jl>x$IOBHcH(}9^2gW zAWm;|&AHLUq9i+YP#k!2O4#Ki_n=X1>`nqjm;$^tk_6sT;KPec5wVVq1nBnkgipXh zd;b9L!&}Szwf7K-2&OK~UB!}$!5okQ5$a=_{d2AqJzI^z_>=v2 za>rKO9dp|m_#Jo~b~)UZSM@t?s~K+26D?w#k+Xfa4Xjj*=4AmWj=yszWq8|Bl^@{u z=*qY8dralBX0+Mcj=ybB{2p8Rcl;h#`6Ay`KHJRH`IV33x1jQ2{GMEexwNRJX%|#= za$;4d-*z}soO;{t_&ud^74IwGZ?495NaY*&J*{#veowD_RrC?JR|@1;RPF5+c|~H8 zqbk2q*7A#w0Yr5tvz-U zP7rezaun7*gMSj0Vz7hAMB&bls)x7qQuFaz;TBqTZ8|=JUbwWG~F!*SsHvrokiB)G{ zkfy&zm)mP>r1OLM`|WgmHlGx?;BIFP^fS1yR19GKos2?>Tv@w@5M!Cb)Z&~ov^v40 zit7L#(H}~;KHl2Vk=Zt+!Rz?H;j&Ea`!t5 z%bjK#tG{N8ys6h;(2dI#kYQ)px66|Uv>Pa*2oQmD*({F5Td;N2mzcT6K{6;;3yd@s zbpz_oMIRK6!)5FxYKqXOuQ%Hjpw-5#@2i;zem-2x0i(=)wkjLJ8Q>-*g51na6_UB` zyJME-ZA@C%Gb9(o1!1(U$siK6h^WF3z`^Rp^_#Rw8Vv)YJEa-&QJXK4m+tf z`kS7Fo*ny$yazDCCjg^aRByIR)IH#ogN>dj80fB&dR!rtPe4#e5w4Ku ztiqqZc;j;al*_PhP2oA;?l{0dr6+bbDV(r%O_qPkO^B5helTWfM%6HMHXpsIGwAre zzxG_bW@}#NENenB8L%gn{hi359CRLaFffR>>OAQwqakwYpm32T*gDAIEyY(2N11m{ zFl9E&CZzSU;LGjBV))OLS{E1;wIumXx(QM+j@l7Xz%C3t#&(rFpdAKx*UCM8vR&TI zM6VUda>*v3K_9djw3;tGSztDyotwio{d}*?b*lNk-dr2xIyYyFxlWhsCWq&Fg}3dk zqb0h(IFaJZp7iBQGeK_eAuwf$*h)5AW(V!+Q!!^=7MJ z*}b+#pUDCH7gPsvON=O6Aw7pbams)zovPqHR|b;+zHD-42Bb!d%Uokt#*k_fl#nUs zv(2^#vvXz&GN8M;&XOx=Z?1FXy4(q`1&Oxw@K0GlF${0%;-9jbpTb)@`KQd&cbQe# zHSd_52xzA!z)O_Y)tH$TQjRuLx-Mg;bVX>qF;zKREqpFBBPLT_S#a%rLazSW>}vP( z-No(mV?-XALB)+5E*UX41_+!5kJPc!cQHcPK76{{Qt~1I{6%7wSp4Wgs!{F@QWQk7 zy(*XjZi#%;;^XkXP4OvuHQ5iLW|T`ADdO`LHvH(2`26+`!fJWMBD|%uzvh10CGxc9 zPTc9`cHu4E#`ng{u84x_&)xhr95j_hSoqLAEqn4{Puf$Lj2`ua+d#=DvAhC-W z90+gm`D@rRAj`{+e?%gZIHu z0WDi1;G>|`iPD@QWYpTL9iI^;36>wtPnjo;X&`2TP)tTPRArtZ$#xN3r zNR@%MTA=M_MxSoj*_CO-gv`wApb2^TjYN6(uu84L5Dan6qUifb4QW7OxU%G7Mvjm! zqMHLvQc)E6iL~v=NO+wpu@x%t-_^4uW=Lf(8N@0v7^!GL|%Ba`G9GCmh8EOU54Q zMEe|$9YyKOW~+u5SU#)cIpHp}_2<$~aq5@4^kD|CV}H~dh%@%Cpm5uU_-yXP1@fc9 zov@{?HZc{_{>l8Y8u8p9P9S8g7a(EmqD-FG#GXcy!Y!3Y?vIF0binO@G)|(#sv!q6 zk<8>!H2W)_oK z7Zmf-_f8WGpYcXYF#OsTZUoj}^JkU~en}S%QmdPQm)<0V?pt-$yGbvO{(>*0dqSts zlh&(&A{P}@47w#Uohyh6)m~^oVC7^CK@V$f^k3Y#$=|DUtP0bUViow|v2?_kf8YYw zrSa8FdBHwp>>-Fn;djjk_4Q9-*RAm5!yh}i>OxR%UN1vAJt3eNkv_LGaBQ4rWJm}Z z)ns%A5>4;O9FE28f&XXuV%Q4B)Khy50gDcJX-Y@`rqej5Q{fj5wI?+HlsMb~t&&Pe%HmgGW$RPG`8nNos>;6b3P zKK&56tQeQG+Za0UnKj5FT2yY56TT*v#RWabo zyUqyAgLqBymblVV>8fm9p!+0iC0_B$bBTjy;c5V&ORt?zSfT@Nx>lnrDpKUZbvnO$ zaTOK0&Rb*=2)L)9gq}S>pB%eH1Q;q$a?w=Yk6F~SVpm~e+Dtu<|_+DrM*E+YOXe(ttx z7&$@%(mD25c=oY}@Kboi&v*Ukul)(PU}VG9nvtil+z>K*c=;BSczG$r{fn!8IxJ1% z4q;M=Bun5QMD!KHQy~vJoyWeUtF_6y(-n?{WqQDi9^yP~IIR1R$%ENS#6pf7rfp}d5gRN(z_FAjxr}2HHC!Kw`0FP;V*>%( z2}B7kANxz^a|~Ff0Sx%39KkV$F42IO&3(3d=~T})Bqve+1d}@W#|}3w$I9_g;mip% z-&m$P+9$(I#nDrJ?hKDp`oM;Bn2A6Gd=S<`?^CDEmaQQE_GhrP0L%rb`Y(x}PiTHZ z*}NuE$Mp8E1Iq)WDTl^q*w}92AqO7CS{`#Zc*f~odQY2)WAcatK;?Up}6fw`6J)X znV&e`>NEkpT_R|)DIQGrfG5sKx!UPAt}lY zx-A%}_m=X@yp&SD`n$=JC@A$GGb>Av9ZlOpLTw?SP$PiVzo4nIPrPJx66=MAablT; ziC!aw0xXQh#-lKDFOz)C)UP8eoJ>VqSMrQ^ z*t;7~vGy+i&zo?7GW&sb6VYg4JS&8v#P}7kejb7e1BNNMFm)hR5sb=h*VA^vY;AT5 zHu|UR!gT#s4&%PuMm=G-24PcZw4MC%#jRMD+JYExYJJp?dOrUT4_1T?6%kBEILZ))B|Aj6kI-G@f|U~e!S zb{$ySH_z)34~ z0zsZ2W=fV)$8(KGkjF&%*z?eboo`A}GIBxJdQmSRryGGP>CXVY%l4xbtYTWqJ+0#tx60i1~_ zFmo98f-`?~V%wmkk?zeusXx_;9n|v7!tUJY% zlNMX;;>mfdo3lxB!YT!Bz)Lml;Tp^@y1+P03@_6dLc�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%0D@ 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%0D*Jhd+b*#r+HP--Hhen_ckh<6itDsQpJ( z`l$Vb{ypgWdc^KkV?F)|;&)W~Xno@)!5b2B2fMvjv}pd|iul(T@sDBsuaoN+_OBX! z{P^vS@tS89g|?h#!qFra~Xi|2H4<`xmSZ7*LL|ol7tItw|5 zx1bLeiur6z)AnBbanbz|OQnzI&!B69u&_B#UVE|Ee(?M-qR_|f2lO4Jf2Y|i=EWz7 z>ep83qxJ*(r%-+#wf^2+9)A>#?@^UL%Fpi$?yBhe!npk8b)LS4@`ID6{sN(Y>{zv; ze}OGI_uZEZ$KN}2ksk~(4#beYiSj?3uVQ!b+h^Ss{)KM@#ebo7QGaj#6GZvPMf&h( zkpFRht1Lb+5I!jE=wP^LeAH2V;tGA-en9^KaFyhw+;7sWMp^U$Z&>f2O zS68mO-K*aa;tweFF+b>M2z{{coZVNhkpCKd|5``-4ys=`|H{49uU|-OpbPf(;I>OB z{UFkZuMP2m^O1CMjsob{MEp0ld$@I>er6oyA48#^IG-Uz^8?TPMIU$d>KDf+q|nFh z6Zj!dfDKK#*IPf&jEjDCg_u8^NMHXZd42`=$Mx>X{JH=K{UvouE<86rpdUv1@O>fv z`2H{Ehx%Q!q_4OCCsTVP`TEF0`WE8H^MB9>e$YR4%eCI~#hC%5A3^#q(ue(H#-QZ* zKwRMaj(zx#Ckyqb=t$p2`o{X?_{07&8|kC;tX=Tl)S~%=gW6{l>Dx#jkG~Kfhzsy% z{@v^=j~};B2kC1YlKD+B{_5iXBj|$#{cEoOCc_)wZNwkL`r;3u{owf_=wkji?w`Dh z;&&DLczq1?(ei`#{q&r{UjB5@^>19EkMk$!!#WDYXZMGfy-+kiMEO~Jr1<=g=l`H@ zgRrnAuD<)Q7oR8^Ujhn!oPVkcJ*+?RhKVyNeO;xG+7IZ1g|879oA*r7^#z(=1r_?Z z{eUjMK6;_el%neke0^jn^l|-yejLDsEgvs`$g5u$@rP9UXnqL#a9y1(D!ga8{VfXP zpBWVSrxiIVW7d~%c=3s$_}B`4 z93RkM0>Z-n{@l~v{t1O&vm44A$@%RNP_`Phk|^2y8Hf9UVKc{ z{)0&0Mf$pUe#a9034P!f#SAEa{$rj#@WcHz1L*@5w0}JRN$A7(5P$I2%xKa5uK-$~ z2`Th({sH|A!4LM%CX2oO&zY8pza`>tB7NiAe*KKvQP2j{m7#Rp)09zOp}sh0lwHj0m>(nsUtMM7`{n!vTWFI2RC5<~nEl|EWO zsVd?V6*f=UQwt8=Rn-1P`|KsgFB|FGDE@f-y;$(S1A!4XzCK#C|Ik7FQKS!lCW}Al zw-wy*`LY#mGrauip!ho~eH4Gt&jVp$N5q=GTQt5P{+LQ1#lM!&gZU2>vtUk8^Y~+k z-&N@&e$dZ@fmjqU`B2N5o_-Y1|5f_p{Cq>~|GY%Ry%&mq^MB$~Jbf4OYlDi<|9Jji zTkyj5DcEbDJ{|JfC#5BbVppVkCRwJiVKQBHO&i_c?MErPv5$Gq=Yg&WTColB)BS_ys`VP{E^Xp)K zCDSjc6MNj#hxo(z5<>bSJX#_?=>9C|pu#8yng`nar=Mn*!AyI?bAW}#&^l}i|0Qw{b}<)^Pb;HY5y^#Z)1J&{1oiZ2YtML za#7Rij~C5PQ2ud|K8`=0pMXBJOZfble{-4_wI4kHSLvhi1@v=J{*TR`w$Rhp=K1l3 z{Gbg^FaOsOz@G!Su;D7VT;#<^NBjYmJ{o_;V+Gn{h<{nxXTJCN1BhQ&>7)37KFo8$ z{(Y#kcYh}n=Ff4_zk&*Vcz*$$)2xelSi*vNt?TmM9)AS29|P-ukJ>-VpE?MNiasXd zG;8{C?|kD-N94D#m>-6azKQg4egl25P~4k6&*pj8r#6~Dm`EQ!5915IzDVez`fX-* zEb#g-#2?ycSfP)vPeI=S5Mj@BKU3FhpFz|Hk<}-3U+LK>Cq1_3H`U zNhm(|Kh^OXul*RP{o5*i)c!%g2ijlPtYya6p1zCPXH=n&*EhNe?$;3iz8{TSJ$(!D zI|_X~|GY%R$3O${yc=6g^5P#s@sFwWQT{On_Z-B(?dNOOd;C$v@2d1s{4W*!ux|{S zQG?YtH}l$m81=8XLO=2RzSzIlKnVTEq|KVrlAwZXAS#owNVnPG0<76n|HtkK+&ep6t0Hnmu%-mw%?%X#ZOr>AR@^CeANS zJb$OblvX>p4;=1srFVYalo;CIrG=C8zwtwI{xQY*q7I=C*Bah;**C3GQGD$8ldmrV zNZ-c#;`u(`gj9ku@; z*7slv|AYB0uHP&DUuzjizw7heKKAs3NZ&|P|0Hv;zXEj`%^x^wL{BipSecV1Ljma!pKg8`buF%KxAJ7L2JQLc~tW}gh(fX}6Bsu?E zI6mn9GU)0cEbPFR)$4fmi`NGNNFV+z5g#=F0sV8wF7IzHn>u1xQT);Pt1I+zeg^#@ zfC&5iqUp~U+6O7G&H`fvzmYD>03zOOjBPxE~~9U`g_V(t?KDJNI#sW{*8hk=2>8^gF`>` z@*B(#TZ{Z)DfIFB9xR)HE?DpT7}Q z>7)D)`Z1K>N?lW9ucz;#{AQ%758O*cK~Z53&X_RYt6xLZZ$RwN2_bzO)i0dyt&8^% z-XsDJ`VjxTalMPqM+ymjSf4kMzP2^F{lNLvws^i3^q)lIW0})?F7)bGN9`w!^#u^L zA6&n!#P3f5xUkI^44vueYpDHL3Vk@g(H!FEH_(rrOfKL|wVqYH_OGM*jVSbS`v+Yk zSzar9=0HPFAJ3odH1!j@sD1wO5c|=;QSV(9cE-^mjL1>ph<}C5-ZO z2k7t5$C^wKIX60 zxuf@d+>{974BITKDc@3+cn>q5Yfa`4O3Z$$nRK zrt~8!eRTZ``a0@g7yRwq>*?NKEq=E>>_;^wNHG14fJt*{#w6Sf3@kirJK&6l7&!8Vf?Z4gj`^S6niK6_VBYorN(5gnC_jW$`Y1oZu@YFnch~ja^U*2#ra~WI|AKy4@Pl2u-ELW^pXrGDohtfQ z80p)ne)07$*3S{;?7EXZAa|~tq+6#6)670ei|{!t6v+np9t0$ zeuc?c=kI%MK{ZNWQ|P;^{1#)2_9=_c@cCcePU#y8eW$h0ZHo0_nSO<<5BcX$iv9)d zGo;YR>(8L?h=v>$_WP>0ANBZQ|M^^zKTUp#={f};G7^}`B%IQPfC zvv~b|TV5?Xp8@Mz3Vk>?Q@g8p{f|B>@ZMja5}$}dANHM_NFVA!gkKvryXl2qe#ZA7 zZI!-wzlMYK4G6d={Fs)Y`Zr<#Pz7ka&N6&*b)Lh~XD(nJ$C8_ituK#rne$!LL10eEx^`*PBQmZ_=s$RlSLxzV@a+ z-t8Cq0i>_*NSQ{p4uKW_F))`xn9&&RX$ zwch*<;t%a#SLnn0gz9V!Y|KB@!^aY-NQ0PPc4z^)Z~^EQLN^{{ellP|VH8gP&6QIfC?U z6dyc)23^em{KOTtirNplzP6D*@IZX<`T*z$;e*1qyRrOqul?ionW#b^U;l!>iS%nv z98t@wUwnRoqtZv$FQA`=*9Y<@R`K{Pbp0Ds>7)Jay#%*`^zZm}emuDJgQ`e4P!wGP2rCA|LSpzBjzrH}S6fiCQG z0sZ{t3ub%uYohuMD)e#t2mOE$2K#4syJlg0s#@axR`7gu_-Jzc&3JPBHP;`vfKz5K z{_tP#eA?F|Xn&V}-M!?WK>SUKKJ+uNk7um;rI5d=f!@z$oJr<~!ayIc@8CL8|I5Fg zcMtp5O@*5RwFnIM@W+J~$^~1>?N@~=KcpxhuK(aYbNXJteCsHbUqb7_DF6F9o0e1M zo6Pc|pX&Sk^7a3qeBSr(-d2B$DnG0!AFdzaI!52`m+u^d@@r}VIFzH9_< zO8r}k@?ri9*E#wDzkKtAUw)u)mpVRc!NY)h2Ya&R+dHW8BZ~52ehl+i{cpc~?G%)s zrNtQEf311YTmMY?{e|6V4-u;u5@}r9K zA%DX6PDS%{|`w zT}t_JX8EuVqaX3hcgjHdUjI|qf1_AiGXHC5i_ibi{$QO(KkAonmQAnx-?!)AMt%PP zv;0K<{nsyFD+lHC+TRyTO)~%M%<^HKLI2M$-!7kC`4?PX)w{o(QvX3_`Ifj2){pt+ z8x^2@U5ha4U;qBh%T)P>s(kT$Pa^*v_se%L@XIfJsh`%I$UnG6es$hiZ-3QOHk#i! z&-m>x>o0$vWbR3xKf&*dl1<_NLgI7qv&=%?gWtd0J|; z&%Xj!`S&|w%<^I02;~pzdeJ9^ z7xmvLx%|LO==+P$$-X!EartLr_lznme{vMne+a(6&@~z-m+y+-C%*sxSpI7TpPZ(? zzX{*}faw3h zo07|q{g37ESvt@=AN)C7z75|W&LO=nxqJte9}=H~?`G ze1Di6M9W zS6F_^_~#rE`A_IteMc5S>isCi^_-JL-`@N zp9Btx#r0pZ_55Xp_5Tb$AIpXBFLaHA$=@G-55>fo<>UCDozZG~Vf<6_e;mI5KcfGm z^5OSTen@-{ewJB0{$1vrx1n(Sdm7Kb0!KytgDzUXg5N_qG58!fBo>$deWMQ9h2`hs z^5aeY{E~H8jDMxXIMBqOZ$&!!d@&gR#pfi&CfvCF?R#&V_kQK)ar@J+_sh={x)v%w z-X*#G7_)r*{qv`-9!7otkSIUvi2uD^RDQ5$a`_?gxx^Qh`~$bY=8vC!fa?EdE%E(@ zu9=Y>f8$xdd>7`w|6}=QVsn>LF;|Mw985PUB2 zP3eE&@Bho-atEpJAG}o5ztGjMNG{(M<1dsSW0sHSKcDtG>&?GX=05>3zsdT~FIQ`v zTt56BzGVnL2M&qF`M*J?b&SgYW;5~qg|6N*xqNG!U;n|Y#q}Svd>sGE!|lK92uQ1-E(c zznX~0Ukkp!xX+`(ekqav;rCE}2tEf6iN*16^x`$oQtdwi-(TpOsC@W66cb~XkMsY1 zZEo&I<^L#rfAJgvtoOt9C;T4D4~fsg&oYa@|J0vu^VYvo@=pxDztGj&B)32KJ(Lqm zvwYy#xTe>|h2^)v`7e62$bTpOa-FuxsP*P5yfXP`ScPrANYX_Y~sBi=P;f7Pv8Rk zKJWtvC5c>(Ldr$KC>(x zKkx$=Sh$WmCuB+ggt&p-yKL|oicfosIseO``844NF0k6X^!kVXUBP^cFTmupC4Arq zF0k;v-K3zM^8>^UY~!PQf2R0!CZAD`jvx4e3#{HXz4(>in|qAn3o`j!2_N`@3#`^H zJ-()=FES}UgUM%=r{f2H-~#J*Pmgc>Zzq4C_(DuR{d}4a{J;g)68nkIX>v*bgmwq^ zmxmwq&c{s|e@!NzBjE!-aDj#Wm`PCQ`~X~F|NLjuRTN*C$!Aue;|G4=0t@>!&p}H1 zCvbtS(slg^iqB&5X&2CZ;0G?Su%9Ri>YN{d3+x+B4wLH#5hkB4;R8Q#fpr!8e1Hq= zo8z~T*GD#!&!|Yp5B$Id)*N^DInhe}CvbtidShL0|3OOsh%)(H2_N`@3oM-5kV@uz zfD7#J&)(qOA4uVIn0!_xI)2~>F0inlkjwYg(lI*47i0420h$l|zy&sOZjb~J;s*Bq z(NiK6pUdQPBz)ipF0im4Qi7MV|M}8SYkBVnOR3*Dlh4eg;|G4=0t@@rxqK5|&go9^ zX|tH~zsfY9Cj7t!);yJ7|2;eZ8*lwOC4K=WpDp17KX8H7Mx-~tpH$=N!xW#+R7$|CYXx;?MD4_si)9_iI@{KIwMQhYHcpMDX|2Y%oJtCvYHe&v=v zMy_AEOg=}#2Y%oJYqU-;KhGU#dgmvk)Nh>0XI@Ol5B$Id)=4vdyIVDCO7UsT`{P%irEdCWfVeAtxs7i99e5PWs&R^7HOXdNw5a-r?~%625#1A3TqXx#4Gs z8`$!*&LhWGmBxiY={{8z2Ig^%*4_K*0xy!dJLXub^L2d;z_`>YZ_ zqkll$zy@0CJt#h7E|1Ta@a0MPjNR$AzeQX7zf18&=JEK9OX&Dz3qJ~vW*4N#XYO4= z?r*Z+De0u9cO}n?;NAVfUd3@MFGo_t#Z>rTvo>pShC9XG{3eX8oF1(DBO=ejGn@VtVTbUzD0d?k{$keA<;XUxx5wKBr}R{o~-$ zb*riPMOX9MpDp3blkgcYq!+(Fr+d|)_+m^x<0?9S*}{+Gm+t=9>07Il`#0iDK3Bq5 zAmKA|)2rVG3&xZAIk<*bzt+`s{BngK$Isc99$%!!YZ_I*CX-KZMDt|{Kjw2Qr#Jro z*YN3^C_b0T=ScYSC4AcW^zz@nZ;q1t6N6vz>ep;c$1g|tas2d2>Gj_q-}rDc6~7RZ zPYcp~8N!eG(%qlk>y_qY{l=JlwuCQF##bx7_LtLk7`Z+fUdyXr;~F}C*}{+Gm+t=J zXP4{r`U{iKmGBiv_{=HkwZD;(E#CPIDf0uD$!9g8E*w2^9G)z_(JP= z^{Zb?^JNJ?=1X^f_8Z^bSdrqhn0$_eFJHoEu1PO`Hw@2xoZ^e;^WtY-N5?Nm_;LL7 zm(y#1`tgB#DZaqhJU*={&6gqkn9uzxz4$#hWeYj~3o`j^316Os&s>)t->hSE=27u8 zn0&_dbo{b~AIDEi^Z9^kH+)0xud|tau7s~Z!e@SyUi>b3{_H?1eh!n*YDUK|SNL)K zj2F}6yKj9t@BEC^{LJLjo6~$*!jJjVeg5OE)y>bN_~J}HN5Ypc;d5R|FTZr^{K;sF zFZ3-hznC}B@yii@96x({dVJ;j@Ab~-NU2|o$)~lT`7(qb^I4PAYkwz()^SL_O}zNo z623eMpAk!Met-Jm(>BFt#CUwhjdc97g&)Vyy)eD{t@r3d>v6~G+&nRV?Ohx^!TdOSYMiIf3eNQ zw?DWK?MV3YC473C&(Acur3tw|Eciq5d=MA&W;%X3!VjMVYu}yT_1nEu9`xS-o09(w zCZE=d=F1R%;7ZsupO1Rs=aHo-K8ML?OZf66eCa-aG;h>_&nQ0QM_&CJ1|7d_;ZMX( z{3G4xk7AeXev{%exA6E}315MPFWu*lnq?pViQ;pZd{%2Ze!0Sr`K$>&J;@@0H!J|A^&jmyaWS79cfc?%uC9O1|D zOZWMxHA@D)LDg@B$)~lY`7(q*g->ygDC~Oyd&ipVyHb1(lh2m$51td4a2a)lq_1~%R2^A=TaNA7>Ick%f2 zPBdSZ@B?8J3TzohuWzw_d!-$CH)PUG)*}KQ2Gr z=gVGSIs0{rFT&(=C42=EKGpMO`1?H6?$qOj=VPb5|1>1d$2Ud3cQ5wW#o&Bk@MFDj z>Ev_sa~0zS{`(5ZVa+KyzwrF>Ddued{UGrE?{Gc89IcyQe^$L@KIn(={=8B`H=dQu zmnHrl6)XJ_+8umg!u+S!czpPLZA_Wp_sx{y*HG=x66dE|J^c7-==}7=b+)+Q z0`1S7&P=zzmx2-*BzBUrTAh@KJ$J$e&7c#u)xR7FUNo0vxMRcGtb}9`ucn@{{x#L@oVk<{Y_lH zWkG}7e`+!LYzar6#Gl}kyzdd_RbZc(a&RRTKZnU@JmAL<>JMy4_;LSC@JY^51TL^c zb`K$+FAFfwFL4D2)GOEmi671{fq5$C2QIMI=}$IM@za@n)`N8W%a!uX8XHqV?O!(w87+aBpmq?Kk#wKj|Cq--G{2*2$Rq3NB57g@Z_PR4RiQu_bUyj5NeBAhbW;TDG;?tRY+7OyAL*lot zNiTla#SC))WRS^cOE~f*e&FNA@0O=#k>}@xn0&@iI)2#_zuhFg_yu;(A+O&|CZ8+e zD3JJpj~l;*OD-EvwLgo=XAPs{mn-o**QOUg>-Epc=ieesKK(J8FH7PFK5qP$Jij|i z#V^X_b0i%362E(0dhzR4{-^a6pTp!cAE)D&Bk=n0zDmR{fmf3oy^O z)ko5NLE)G39isP5K-|FATDWN^#b+@290^}c#rH3dZ%Fjm4-{W0kC$J}C+YZwg&)Tc z&IeBH|3DvrxPg7!?N6Sc7-sTmqiDW>@T1}r=NEJDPha@p26BIFl*wmH_@W9vxDSl^ zA#PxQYWZe_s^9Q?y!tgp`|*SO3ShG(emGy5yMABho(|n9K8wlcN;nE6{sbSh|E~P$ zS~7kSCZ9Eij$f|C4}9GDL4K_}$>&#NOg?=q-9LiDkK0#*uYi|dv~C;7@lAW5*Zv#{ zUrfQrZGXRgxQg6g5@7O~g#w!cZ$?jhGFBTPP9!jUKOC-|82mxkvrCHHs6n0&^we*9qF z0BlJ3Q^pVR{t9mYczVUPC#m{%nS8F`fN=wCfy8e;@AnUG{l4_+O|vOJjhUaV=jisA zEAi`p`}_R4e0yKmL*D-gGWqmenlDS@w-5S!-1UtqlP(~iKX;gXj)Ws$;@1|Xw}0)C zrKPG<^&4aIna|Vl%aQnjkJ~>6w|I!$Kj||0w23rdhQtqivgf#9UIlh}|DUH(@w4Xh z<_ETfBTwRYEPsB$ZGVgIUr5fcB1}Hx1v-A&5>oCh z&v=E7U$(@bct7Gi-ug?mp}7O7_7`RHxe|^7i9f;DjmP)sk!|Guc8AGlO{e3REAa!L zD>=s)`UP0~i~GK(;umA`>95j!SrR|+arYlAtu=?--|jN`90^Ch#1DMj>m%pYC+kx2 zi!=Gm*Xa1=Nc;&t$vLf1uV7p0x86qaY0USVYOm9L84`bjkGcP#bl*mMD82xb&z5lH zN&LXaT_4(b-7xb0htA|P-k{@`E%5^%_x^dsUzdMP#V^R@b0r)F59=cl#yH6X8l z4JMy8gN|RW#1DM3a{!@VfUQ`m%UUXaAts;xCe4>6@dKZkOP_-eTwt?Ht$2*$Gnssj zgd<<#2R`oph<7f$v=qe`X7ZUc>Gd@dGZf5#g8dapzYLR)2v!-!bqJ@A^o8 zo8}7&zl@JNzdHPJPx5@YAd}CL@WoVo%=y*F*B2fnMXc|Jn0)3tbo|1?FO45_e${zj zr)m_R#pKgw(|iHpm+^7uSKCjPKSuF6Og>w}7gg|a=U3<5b@AmCUyR9T%%S5K5`J0y zxbv4`!&f$<_yQmE`mZbDi!1oJ^Mmi|UP|6S3NiVtcj@>=gkKgv?)<=bXwwZ;{31*~ zeJ;%x6n+^WcYbjE!d@FGKAXwsNcdt3KJNJ2V0R1h{eDp%Vcr7vj}zlgQG78bpDp3YllT*S1^zlO zh6FCKe;(*XKELHM`Hc7I_+?A{z{i~*l-xR@1QowHlh2iK6iEEQ#~t4)ZFIX*eA*|x z{A|5X$1hjn2R{4s-MDJW_BZQ6r!B=7VDjl7(0o}EKk#wKx5ab1d`R)>Og=}#kuUKB zANTsaS6zd={~KiTnIF>e%aQnjk2}7-{=jxJeg>0In@{s)Nc_OZ-T%_5aC`;?jg7Si#{mH2^=JAO32dKr1XZGg$AM`^w+i68j5IieH?`=SnyV zBz|qYKX2x?zX?x0My?M97BTbRr+)lkTmu^semuUV%co7ejohE3Gx_vIbp2*Y{MM=T z#JB^(73Kk#wKx9$1vQi?Ca9^K*^7oAW5XFq6+%PRB1>;s-u%e!lvX zO62}Yi^=CoI0__w;N#}!p+_5&>uV7vpY9^YeyCl^In0jL&%a*>vdm~Fbo{ak_Q6TXHA2&ZY{^_Y{B9lvaeANaWW`NNm0 zkn?AY$>&Nq3M78u7?V$1 zPxEC+{J_V}&(5XeS5fgZm-6znE#b(M_+ecGEM7l{eJ^0YxN`fe6knLhXKbM3mo4!F zm&MG_7lk*G`G}v2zX+4h+DOMQSK ze@pXaN&LXa&CeN|&yxG^qf9tIYW20xEtHCZF{^9lu9^Yh%MUwuHu&t>x25{^8HANaWW`7`U5iz&W1lh4>f$1hvr z2R?3o{^ioq&J4yO2`Og=}#kuUKBA2&a58#&XU_#7smxs8rrj>Hdq-26Om z`t=(rz8I5F`Zi+9?U>Z8@)hXuD{>42d83xbN3Jy6STB{JH>>&z5lHN&LXa9e>x|_|z7v zesw0F;nMNTmiU2>+dukUK7~9#BFN-(B^(73Kk#w;$NohRRiWY+V)9wP`tgH(&tN0M zkMmoCkJ&$-|9m$2es*&OuYc&f>H5u*_|0YFd_Cs-KYD$1@IfkmQ6`@w;mDWx-7nJP zE0_0>M)7G5FMj54bo_E8e)G%p_=emwU^~SZX7Xu!==K*7e%$^bFPkNK=d09SF`b;h zM3{WGgfFV#bC`UOejg*BA9R>}#_x3eLc%YNUz``e1s7~2&!5y+^4gy(IN-T+umuvo zyTWgOy5>Jei232Z5!ff+X*rc@e*q?+^#|QQawUG?}`ciQjnI?;qUx%SZo>Aop)*-|+gcE#b(M_{~b`ogcBiMb}HH_yw4J#$Gyp z*%H4VNRO|^?e)m~qBHqi2}gm%Z?5#~mpgvEb>v%e|E|I0v-Z*P%a!k#OWo{BD}<@A$~3Wc@~&eC7c1BLQoWEgS09Jpv1-U=lX7bq*jy#DU__*yaWBiJn zsrDCV@)-yH_`!7>*pTq!_$2t44#{(EQufZxbwgF)>iqH;xm|hj)Ws$ z;s-wN{AK&3Xc>ynWb&E+(DBQW_!E3{dDkCyg-@nad?6;Ec9`bNkobX*n_rr(T|%Dk z7-90+f&=mj*r@R1{t0~C{&DHUjqai1=P>z-VLxge_~lCcz{kxml^&Wxo}V3N^6CH5d|47d z@NwVYll}VOdQ|*uCZ8iXpkIKE2|uns;N#Zs%o!!g{V&=^Ui&lu^Wz6xV8g;Mn zyko~54^i=pGx@Y*bp2*X{8kHpe!v|+Uhn<~`F_9PDqj3-2}hp9Z)b|@%SUG)+!{LV9e{G2j8zKKomBG0!CG5K5xM}fo-eBANv`n+W)srZ>pKI;S> zzg&qQ__+6{kH58v9N#P^pMH|&%aZu*8~yrqneFfP=)^-*{31*~N5YXW@hAA0?*|J< z=I*EXY$l(1ijH57#BWwkum65?;7Xn1i!%AN(==a(#BWYaZ~dxFliznzd@&}UE#b(M z_??!b{W0&q4KE)c_fKl8dHLBmL&q;$;&*TI`LqmP{yQ&Ho@+E%Y1F8p4GKT5-*ow&pYqWWDt;j*pCdS+Ucu%|{B9M$e>j=E@oo7NCCK&DFq6+b zkFMVwiC=3a<_Ao^-xr_BrQ&BX`Lwch{RV^|*KfLfzm{4+o?l`!`E0=f^$Ipm;!ac6eALDt=KWpOHb=Z??p*jZbfX#QRM)&ZGDoCZ8+eD3JIQd{cc+T>r4{2X^fK zCglE&7?aN`N5?N$;!p4~?;pL=>_kZ_eu1xeBfB&pULEN z1PAmBu=x_dR>RMGy2yi=ALxu-VB^A%<7d|P`CMjxDcQ3$xj!P#9+ z0qD12j~*^XJ|Cs6W#+$1J|DylY*6@7@mjikZ=TBTN!4$F$>&J;ViG?4B{BbN$m_o+ z2Og#O-!u8l0A0U162JA0Kkhm@k8g6#FUjX?4JMzKN%Lh${J_V3zm;=Al@?U}hM0V| z;DB}qHY)tM{iVxyw#4Gv6raW9Gb+>lBP9GOd=W9eG1s4O9QM*p6kmkN=SukE3O?@p z^U7_#W-`TRGx@A4bo?U1kK<=nOD}%2Z|y~{|HYVmdR4lAWJ&ybb)S#Bel^gzy*?E` zeH|}9I}(n3iC;JT>r023|Kf-5|Bm7dGWpDEbp3{fAJ=cXd>i{Z>nT2i$){DP>o-H< zcSZd=6UB8p`T{WSg5C4lmlG&HlgVcb4#<08qr#7h*MN(Af4WD<_T=?tXaTSN88ztm zWlQ|-DnD*qzF8CZlIt5Llh2iK6iEEQ$G!i%G4yh2s(!;vKC33(KO(}9>lgUA?`Qwv z^V8!fKAXv>Ur5()mc(zgPOpBaH_9XL|Hhbnj)Ws$;y2r*$2YpgPV#(tZ6U9Jm>1FU z%aQnvsbYL%J|9(Q^CI&3GM&k%T}<<3Nc`HQ^x}8j(WR%T_7~>nKM6;k#BZ)ikFUkJ z7Go$rhskHuqT`n>@!K`T{NP{S{Jvc4?)3bH$>&Nq3M785saT(6@*TXeRTdRLm&s?< zrsJ0@@dF?C`s2qlTOOtOw0vIw)$90tFz$j43O~-z2|i~3ef@&dvnW2D$>&J;Vk$o7 z`w@FK8(Wd$Gnss5UAlgAB!2rU(flO)>tS;k>MCxe~vdFXA_iSHI;4 zyg|;d!c0E>QkpMI;s-wN{PfBN&n=+p*JAQHf&=OmY)trZ{ie%Te&+QNiZ8oZMp+ zpTXp_E~Dd@EAiXY)0;n^eE8Ti6knLhr)SZ8SrWhXs^DX;@4o)s_vH0?sBqgh^`F_K zPmMnfW5#d5YvBU2ewlpQ6*OOl#1DLC z4?m7cl~MQu%=^H0U4Af+;)^KwV4i0S4#<08qr#8N2R^+!FF$`b?vptbpRM47a*Zqf z_yHH#knqFjzyhDs!r%7`ey|X?|6}dUm>d02MrYzlrP7=3$ zB;596`-sTMb|>nH4|mqFlp7y9NyyGJu8poGc^2GvQF@aAzKRM{m`*-8`A|+qYozE{vK5~H~ zKkfCI8;4C}pN}di`P`j(zBKvZf|mG{$B!3J?!=aFQOOq(2igm?N$~w2==i%t*FM&~ z;0E^kn^VyB&wdZSf2kAv5}&gF+kVXb1+M<3lzdK4p07&qOMJ@m-T%oorf__&k}niE z8U^3&M(1zJ@n7``9j0=8X(gYR=JTr&{FwN(_mA(!lod&z`{Y#E~^ea&CX^(F!wmEAg#}_2<;rrZPJYSl8d=3ge?e(L57c~v% z_(COLL>$Ny+9de#*viWH=UZQTm*a~P_`u=s%IB9QAGtxnr!C)c=Wlu($5%+;!}mG6 z@q8)rOP{0v0iU*fZ~oz_UpT(J^86zt4&(`K6nuZYDPQgL=g$qe^k9xJR`Pkf^Z8}S zxAOy^_W7uthu$}yJ>|ydlxkBp&Kb~FL_~oYB z+$CIo&bzwti@PV!S1tG@KIQo3p2e52^J^(3UnFoe34V!BIeu9+< zo!~o5O!=17YCt$If(}gIbREa%Dfyf}JYSXIgG)Pp*{H`@_WDsq$rlP7je-w8?fKh= z_dKvZm!GfX^Y-HNs}X$gX^$TZ)<5-XjxVd^iv^Bm!3Uq$&#XgkRlipA8$b3sb}+{m zD*1xF`TXhyKis&o`M;&@4|$B^%PaZZeR#fV!S^?*jIXY)nO$GNouliYBY~qy@T0+0 zuIOj10!F_A{b1@YH*)!qi7izQE)2s~3FmY5V7^dhc@;mtRiF=l0|Iss$f>kutxwAKlMh z9}Jazk-*U;_~6stKeTPl*X;8P-g~106q<*Jpkmc?f&_^_6_i{yblm z;Jcevc6__>ja}LCUtY-<5(lm;K=b6=?bD&_(%SpmhdsOPEnNF>-q)3{cL1MXjo^nv z&AcVm3+a0e17$U4?gz--T3s@ zYl{oG^35sv+=F<&YQc}`x*Ig9d`GT1=NXPKujGpajwZp!x|rJep+%=JU5Dd~m3;mH zKEFD_FU<=L(OsYUX`@M_IKHBi&#B@0sstZ=sE0}Ad*`Biw&VDm4|M%YC~!0iKKP(X zd(D%rRlqoIKuC==-9#;4_cK?q^)I93a}MMAssz8pr+hyC+wV4I zj~}6uFBCW$1t0xNe4y_5aocY_mvi+mujKO%=ku!(eDG=8$HLz}VegM9DEVUIK)Zz& z$+z1t_@MUR(XT-Ncw!NIec$;=*M5UReE*Uo-~N7ZY1ao%zqk$ie2=T-b2EJTRttXo zovC-=wE2-6^ukq#{>jxpPstY%2g(&%Am9Fe@M-fq&8o`f=Pn%yG|BL%MzF5f@69;mG7Rk5s1D`g(Yq!g@>tm+oD*L}9`Sy_` z-{y0_HS;f8zFYmT+4pk>N3mvYtPTmzV7V{xbn>@`67X%N$~ytG=HTW z9}GKfACKb;m3;nDe13I;AOA9Rb&+ewf7#*pu+Q)3m3+?8JYSXI$Cp$6Q{G?q`Q-oZ z!R6tb9|nX&pnpss}_9lL6h=3 z=guNKKa^4OMFK~Y;Dakx-k85@Gf_9cG5Mnf(>T7YlFvDw z=c^KY@M-7Ar);<18601rCkM!^T4U$2|L&u;$iw;W$i$>*KG=T{^6;M0x|c3Zxb zy}vlGZmr`mcl7{x7fOb57>Vw@UDF-l08z>$~!@UR-{Wk}niE8U-JGI8RT?uTVAcIgYQO zaxYahWWeEZ0eZ>HX$e9ABv9bBFWgTP^r8jjPn{j?Y!{g#uqbiBFl| zV-xP1$?IENs+WzJ2&$io>%P&y!xo7Zv)q)Q`?e*#2|EoTh<4b+6Yrm1e(IoiZ z0-C?N(v-7ZKQXR??)-htJ{+H`H_3z}CNS!|{bm zJ}1lbRSABH?+sg<`INJ&_G!oQ6_tGM zg*;!i;FtL5I)4)1xSzLvpW}1p>5gxaz|kc5;M1PJUGsSp`}}1}$>(3h=T|5A;KO-v zQhpO>?{EN@pR43^F6Q~F1Rs1j4^HCS_ugC2+ULu1cYL%7mtUadiv*4)!7uSC=U)ywd@9@j<&=E>rF?#M zf)Bn}$+u3QVeIo!k&@53%<$p53^YZ)UH`%7D93*d>kfRIE8kej7Ycm&1U~Kf>Vi`* zX3IAf>yE$PNIt&|`BHw`@zt&?UizKOFRkQ@1-@bupK^Tl`@tK}=J+y7zTk2`za05u ze#-Gx{(yVg^)Uk_pL+$*mnL80(~hsa$9i7E<(F6TMFL+TiBCB{K4`tZF~=7x`TS9Q zep&LR{Iui0z31=02FF)a@;O)Xd@1rJKJECb?#u_@iU;Z;L9iQmHKJx2VmY0 zdg+_9(i~q_$>#-pei`zuuXn(u9lyM}%czkYUtY-<3w*@{KJEDBx3%A4um46$zThf8 zza05ue#-H|u%6#c=khBk`P|Wl57&*L)q?NMF!T38v+n-2o%#=EpRb6Oe38J>B>3K? zmGOL@zuc+knujccs6a3&Z!>8?Ep6>k{+yAA$()BOSHGKU`k#E<(O8G{2@A4g& zpR42xi39Zx+9>$p%*x7l*?G78#POw-eBQNu`PK-2bYNwC|JnS}tvNnV$rlS8&4M2f zHTO+w+i#D{I>1}1db-bcWNrj?|;2c`-tNUlze_YpI@Eey9Zasx7XXRKF;ywm3+<^p07&qqw$7M zJHDU2-ZAX@+2Oak{y7vl8U-Ks?fR3=b$+}5#<&l9Ty~vv+5D7z-VJ3Kh%G&SK(~o_UE8n8BfAMeP^Q#m5 z_&QVnwB>tAhaWfK_)=f%@^i-Vd{u()w=sNCC*Aem4coSYcKs$#$>)vd^Q#g3c!C)pXy^YrjD4POA4y?&7=c4zEH{M-fZ|VFAhzUZ|4I(UwM8$YI?toIlf5A7ZC@}i=a({ zA5!}WH`2A=_rH8)2*(#I`TPld`PK=(*Uq%xa8n)MJ<}R*?rl6@wcz`2 zRmS(~b%WRE_+lkrBycndKE_qyg28szy?PtxMbP#8T+Tk9S5)%(xAXbc34V!>*2%OX z!3A}ntzp*(alX-&uhYQuRS7=$u#RF9-;OKV1YG&1lzgGU(J1)f(~hrh=zlAF|BI{S z^Ct57)d)WLwD*s98#Z(cF2A&rFBUkO1;50nd_J#TD|I znfx$rhGxmPzaL!M_aB{p{rg{W2vfymGYfCd%b}ipT9uYKZgQe zK7lW$b;N9b95fLSF>w`HZpBwUg)q-E*)2`2O+#GiP zAXM^20!NeJhxKNBuPxtKmUTFkYafx4&%ck)uTJpsUR|uimQ?@75AV+2e^5~JIrsB? zRf1pQ)3)DxhWwYyFIMt}0!O3Zm-v+RZ@}{(vFl3}m3-atjk`yJ|>Fo?^~ z`A&EIhy{*j!7uSC@2~sgwuvssms0Wt5Ayld3x0`DS^v(xe#xI4pR43^C-HpMf?wiO z*1toZ{gQqDD6Qm+1db-b2cP!+DaBX**q_VKQ}X$f`TXhxAMc&f_Rl@1d9QGMc_p9o z5YJa7_@&&G?~fY(@9%qZe36nb6gV0MAAH*J!OuH9{0GNZQ1W?=e10{84?gYu+JIGq z*z?O+$rlS8&4Ld;?fs`O-!bMGuU_y=e9Hdim%htS=J=e2y5ooY2+vn7 z_~1i7lQe$WW9>I?=J--dzDVF`5`6HXpGo37?cO!n@^zJb{-b<;b%GB*XcAwSi(gsF z<(F3SIsfJPsstZg+V@)>cf-UDIX+Lx7YZDWf)76J{kv~;J$P-7ub|}f9^>ux1M9HYe{)JcKhNivB_F>FS}EUo=Z$)ctACM_&zZ{erN{>t6nxtG ztAp!1*K&MCC0|G!C|78s;K#J?r1tv4?jKKL?;mo%*R@~o3BLW-2tMwM(AK|)|NMx( zex6qH#R5mO;FtK6_rF}wvd(Zi#AmG&3@+%YKmGn2SH7{5FBbUVgA0oO#a5|& zho3om5z80q+HWwE?_YA{<9G*k2GISJ!f_6{K|kE>vPU>R=RO^u`?TT1_d~16$9NFx zPOgma=WpL%@A zmv5GQph^$&wGx~FGD_ZgMttD4<+%vJ9tJXjxVd^iv_-70w3xf z`fI8F9hUCLuJ4#r@&(WH`Q^w*ZcyY0F8e+<)H`VZhYoy@%P&&$xi1(#93P;)$ww|w zo6o)v0bI}t{eRhy;|m_t)xU^1(EmaUB{&9pEP6& zSN}XEpErxoFGD_Zg9f`)#`o_|byp7x;q%LqkKCZ((~hs2(#v~ud|4%*^Qz&)aShs)d>q%H-dARP zk8v}O!}vRLgVx{iE<3)@DfvQyZ)O6Y^qy02LHE5Q<8b+fNkqZ?0N$)uY z7j(`c2e#w*oQHJnBNq5pCh^hz&nRc`gA01!2&X^Cmsauxuk-CAM?TsG6#1dvK_$M1 zZd2L$U0=!PHu2@#n|ypPv{Js&D|hS6<(F0RMZ|%8piSgsJO~Y&>HM75m&bV$_))IV zhB;~W`SU=@=f7d{0~fT8d~iX*S33W&*1-oCbemz`SR^bK5~JA54l0{ zcW^=P$gT4RSH7{5FBJG@D*14nllTt#_4v;?zM_)Po6YA}OFq6ATFQ^s*GuBt^1+Vm z^-HHw+5ZWAD--y%{qys$?RXEDUrNar{EyGCfqdi!MSecrpO}nV@uih~5pkgZfELI{e**=dwtqQv=b#(M7byAsxB2`=kdNG; z;EU=0&ZPXdd}>|?jxVR=bKc?kx{?nrDEP4ca}wX{18(1j;=m>zF5iU75MyW$wzKbf5~Ew&v{ta zKL_vf`8AM_+@Q!0_aP)5fA2l`(Nj3Sl##@wrOAh&a%{ zL7T`&e+Z5GnE7#S|99)gD;9Em86}_pp2-hf&^q$L1qC142Ne0DT|h6{By~Q==PUV~ z_j$f5^1%fy@zM3Sr24nT?K9ZxAMPW%_7Mskd4U^zrSi3&6F_dzo3Lv+grSZqO5VIN)`TFQ?=SKIHqC2J%tw zp>}>a4&(3Og3fKc{S1yTujF$-;>$NpKFSpeKD67U^4<01>lbi*k&-VG_zFrsv=b@6 z3paYAisSPh)wN%LE}vhPeB=fVuB7=>oSz?9z77n^6?*pa>BnuBC^x+&|q~r?)zI*~7j=M?q@1AX+x`yK`D*3!m`1~^DBR6O; zhMvE?oL^@Jxj{dfoMz|$^8eMI?_eVqmUqRq= z_oQ;Ac8lu_QvdhnzVmxIr9Fh2TkJo3{kH{(coG%O? zz8_jeKE^Z9V7M7S1`N{d7=?@4yef*^%ROr|R;H1-@buAI(oDmG8)(9_63!QSt>bpI?rA@RM{t%a+ujF&T(=cyICb)B=8jy_%QBE;+xr{ z^RHZfc_p9!6`x<0eB=g2emK4*mG753JiqMw306-4qVrV zt|TAd3$2uI+M^8ta9&uQlQQsjdRYV#%Kw{+RS|8V7-Q}TrZUtY%G$?>ozCmZmamd8 zSjgv>BOkdz!KZB>{l;}afa435eC{HiFHJtUpf+Dp`#59V_U!#vc_m*Y@D-GNN$umr z>-)3MZ$(Nz|9d{aEcwU{TFOt^KKc*ueFIm%`RTg$;rzh!rN{>tG+0$x`xx@x-D`4u z1tni7@Z}TuwC!WOJA)nn#Y#SJF`r+CeB=g2e&9=LAG=(>?*uNtqLMEb_=-xtr1mlD zr}4XTe9lw4`WGzW^UINs+@PiWlp4GrIQS{>t;E$p;q{eA@QmtvrH#{@hjaMFL+z$(PhVW`FVndw*D3$>;yZ z=a(fPxk2sxlG?{XM_^ER)n zeH?b#v1f7pi>u`Ge&_SckdNG;;M2B`FK+wk5sojdUsC(%cldwa>C$e1!zQ(sSKI{{H^rsjI4Ia(sc3&u`D?mn9#$L6IN$ zlJZL*{WkmlyquEHS(E2Wkq<7Y%?D1Yd{6#pd$#?CO1@Cw%PaYk+Q)uhP2PwrU+)E7 z`|#G{^UIKr+@Q!0{R>peug$MtAH?xxlzg$kS4`lGelx!-ss2^Jz2g#&&sXvVReXLq z@{t=9`GGH~eAgH~iS7RaC7-)C&zB}2Tu|_#e@@EpiM2Z(%;lF;@UzU922DS4`D&JS%Y-H#E@=88u9iA^mKDeN*_!6Fv+U%Q6*!5%G z7j^whNF2Ct4LXy2lpECRU4DOiQvY(w8!N|i^)IXB^E&eRWynWvQ2$xt!#E~keT#c8 zowp{(7b^K;fv=dvhvx&9{{8r%bK7;F? zc)m3G;DVO;l=->KYCCfIr6OJXhy=cZz~{eES$-R=aS3~U%Tx0C>+|_#$wzL`5}z`^ zOD`FHIhS9ke36nb z68H)NAKpuX_mm`!ucnW=o?Txm^^&gs`JGLE7`H%2kdJW-)VrF>m-@e?{Kj@@m*euw zys6`JHss4UMLxd8lLPa*i^`UH_-QKmOKib=RpJU!df3yYlTLO+LyS3O;C3`Obap$_F^UP{|hw ze1!x)aDh`Q-(_>s?EGI|$>(?D^UIQt+@Rn=yT!J|H*>=9SGfFQC7-h~&zB+}T+n!= z8UKOHeh(Mg1$6t`#q9M<=YP8P5ej_y1iqNg+miSipQ_!Q%P*zm^ETo0%aD)Upr!mA zTK{0OQK@|Q3;FwBJSAT&@D&sIFg{4i@7&J2rn&rbO1@xIKEE9K$PMazSYH2752gGL zt6$cZ;|t%?)jxMLo-a*4xS-&Rsb5awyK>XF+4V6aC0``)6$C!Nk2!wW$2lp#L$4jh zzrS0_=WlNE!?+JRf_!{0)aFAy#NW}cK+j)x#!9YyQ*Z0a*V%&S>q!*N*3@5xj@_W6%k$rlTJMTxHyap65?3Gzd}^K~V^ z#6|xTj;H>mpQ(S*c2p1P@5l}6KX~J9T>1J+zK}T3??LnAquxQoZ7XZPN7ueLmE(() zeBQQv`^b@D&BVV2tTs;`1m+dLOXF_wtG} z-r@LCuj}exupOUYj(p?>1s{&P?nZwc3yCWrEB=F4@_`H6G4_r`*@93WQv-ckqm3)3RpWg`b@x4&Le`S2* z4%&h}zNNJ5U+uuxzZChXcTjHvwO?GHp>_g(lq>Y}BVIm-YaeMPUnub91wQA-^8C<_ zCBA5vfj@J686}^$BVWF?h+-flxa>GLi9iAm!UJq9J_$y z%PIN1o_zbrkdN|)2IEZsg6q>s>tnWGI-(QD7r*oO?HAt{69?v9pexBoE>N#f-hPwT z=YQm|VQ+DKxq^-_NSpk?1#KW7T+rz5%J{~{d$7-c#7aJQ7oM*-`QU=aV=Lo3^2I&b z@+~UsUnKC&75Mz|hOborsGk8p+6A=syUFbHc}_z8!~XnUeEZ0fk9rCPANu8_^X@MeqK7{R5w~tKq}!&tJ{a<>&3j=T}2Ma)Tm2j1Q9d9_z4Z2G_sjm3**0PAGtx1ALgKs~75m&xhC7;*F<^%P&y!dHb3CaNY*3B_Fv!!H0eiioavr z41Hk2?d<*cp^`5q4wN6XnSAui(BOp1=7+91e76jjUqQ(i^fmc`3tCS;xS;6owB_qP z@(4RV$b6t{zplr(k2LwA)> ze4)UXSMo&(d~bJ~aX!bFSMquL^Z8}SM{ZC%KPTb&b9a~O_5o9_P(J3e*h>iC=ieEmz2kMf2Fhnn*@JpYk2zS?cmsR38MStVa6 za5M_sc<&6>r9pX1`Q_Hh-^B4nNd8lLP~=yte+l#V_iw(*RxIDgy7u87!ncn!`Dho= z5+89T)xY+ci#(3c`9#MT348@5UsC&B@OqoB9A8Sw=MUub%aV`Wpmu&Zj!5nI)M1;j z^W$kHpL3|;L%$5|N=92d+*piIKD{97YyO+Uygj_2?by2IGiwkUfD2$J-^I+ zp(|haNS-fEKDeOqAC#Z+{OyP3Z7$^U3zU43z|kadV>|^-Y9CLY_xaZxUw)o0KYu8n zUzU921_c-9Pq8ia&wExMz^`AT9NF_my>*Z^7l~Dfwc7ub9NAe8291!+Wvo z!}&_Spq9@sM?P|cB0tP?U|XtxyZ!z|p35(*e{b=ET3PNeB=g2URbvn+fsg$x@XwulT%7Q=Qy4( zMLxKo;DILPH{gqTA9MM+O1@Cw%PaZ7Ddm^izsO#n&M5i3<4t~;H-OfXkMD(o$5#9u z<7Vi4M_kyO%gfdue-uOMom-|ZBe%%v!zBKvZf?~Ze^nXcw3)VWTf#Zvnd=YV=-a+S*k8*=X<7xh$ z<|o04zoXtkpSWwly&Rv@tjo_oiO(-fK5~QNei!71ZHe#o9Xhi2*QJzvj?eR@$Ojh` zJhn=FA1&Yb1uj2V$rlQId4Uh>HEGwk_~GNb+4A+2eBQ|>Kh!&DE&0d=YV+YfK>Qu` z4tjI-0(O0xtdcJl_*M#h-h|59$9aACa?Z%u1L{Nr2IbZ z^4%b={sl@t_Y|HlO+L7wF|8+1x;~vSe;UrLeVgOUDfuFSub|~iSpVSF$uqv>_=3-M z9Eha@=Yn{ zhhpMDzYJYTK5{9k#fKd6cjN~Bv*SW`emp&2*FJ*N`TEyDKE4;~zg3=J65j^zOk&4Z zo|4b4#<1-`}v zKJEQ42Xr`dCyuY6cjvLV4 z(MH{4(StHz;^8E=amRd*QKL*K>TKk}nqcib}p<@ZaCx z9{qd`dwnafBeeI&(>Um_)+djZdvCLdf-n=hv8NK*alvAn?6 zzx21d{y7r(3JH8A&V=z*!=n49arMtr^7$9?`DMvRZcuR9D&==Z?P2Wt@|o{+`8gLE zK72p4ihLYTpm;7B$G4>M!O+Y|c6~Ts$rlQIjR}0{U!YQc$8Yh-XI%N_lziUBe10|L zBR44WL-{80xxrla`LfJHUHQfWM^WGgpLYF&D>px7XEr}2U+{0fedNeTeT0G!`9Y=f z{qO$Au-ErPC7*i<&zB}2Tu|`gx%kpH0b<+-{We-WhRZLnN#)yl%!cgy7cxpd?=q7g&WoV6NA z+T-u#n=d_)W$ z&5#c+DELZhT^~$QkkHvDrdsab?VP3Z-I2=InPA$-T>75)oAUlI628B9XnDJex(qSj zNc%%MI)SMdrEQA~d|QlP(eiw9D?a}=^F1SIKS6UjpHDt=fo3x0e9n<(9>XW!>u&0I zsN|cq;JmpUUzYf~US)n~Z1FkdgA3{mF6TpjDe}SR(Z5g1&--}x2OM9H_-4|6!tcuS z3kAOX3FUmjLFV@r$Om7n;A84O;Ze`H-J`vhl$e z(7#X0Z*uXfmh;P2e9rA=e=BJ}?xJ$OSm4W@V)3nO+DE+cajQ|l=U&aX5A=J`S6=SD z=3jiR`e#2Z{~r8KdwdYm_pCu5fJVai`}583#PJv7KWu{wdg|k+x*T6l$>&{TazMWa z%?Q3TfM0(S;{(0j^Q8qJe5h|2UrFU#AKd;4mtRrI7ZC^g7ibgtI3Iz! zlTH28mhS=A-1j@j=ijGmzy9@nep$f>Uuk@wQ2+Yg{@|?~U#R4B>UqAD;Db+_-{;pY z=G%voFBCZPf)74z`}paNciH=!A|;aEm2wo0AKpnd z1GxM$59s=rh&V7VfX3uwTmg-CGV9q&>#QI*=-%Fx(Hvixz=wX=ztQA}{ueree0&aC z;-m9(`#uD4LGQZ0!`&R8^Pnz2=O&)7EBWAp+I&gnd)1kv+3RodBpqK!94J?4L_W$D z>e6`(xN!Xq+sF<2^^RlM_iH$lb$s49zI|i_-?_rvZ=gNCwST)EJAdFR`C@^iDEQz* zUPU?(m5-R!J9M9*G z4=!lfZ1~V_OXnXn&jBvz^!{({&E=O@@9AElj9iKD7@ZtNRRpg_;hDLqN@dLS`-bs98x-b5U z~dAFGSQ174_!AE{*AIMP}|Lu78F-;s_q~wbQ zj-ud$Puo78cxnpUev3-J;8wnUG?0(_2n8SNo4t-5+6DCCQ}XQdN9jj&?Zf>KU%qL< z2Vbl9OXC@EK`%OW&}Cft`bxftIM6qi@kpCJgRFSUIU+BE&0d|iu_vf3GJi$h9A!2@=GcCVu5d^k`Mhe#?iE z+3QCcC0{U+&#!@e!3F(evk#`Q`TbW{zV017UvKik1q~L{Jo}e44^8W{ zO7-uR4sX52@wrOAh&V8AhQ{P$TnYsr@++0EQ2*{9{qRp5pQq&W?=<;=3mT9QE@-&K zn!l%h54=))Zctl;=ENM>pa65PY*mlJ&OA-BL?Np@4s8U!S;VyC7&Pi`DFzkeA@Q$$D8##a``z^b@k7=kLODX zelVQoPiZ~_>v2fOx3g}%oxT4#r{oKX1LX>xNj}OI3cgag()lkqQSYD|WOrfDf88f^ z`FZ!7{J;gRB_CW+@PP-pLBRz*VQurQ?eQj-ud$Pg}k}-1-Fj{D-UL3mW2cNclyARodo&U=y`P|2O zzO>-md`acoedF)h^&OpObooUBM?vs|E|rz<&+`UGT=`~{eEt+ZzpUVcPg}k>uJHl8 zzLc-zbMic2O7LyIr1E{^t5?|dhf>e#$~P1^@`CSeURn8We&_>la^>qQ`Mjxoei^|B zpSFBEZ@TgljxVd^iv^CN;M;sj<-1PPrl)dz?sK~G4W8ih%L%@-ZDr*r(5~cT-U{j;Z0aBGkFXW<2GFJcp!pnMLCF^id^44N_IpIZ z1-i{!-XjVw=(9)M^gfqgLCNRNgu2K4A0k|(X~8e?;l5MrK2&f)kKUhO zpTD5wi--fcLFbZ>+@SGumF4%@RWqLD@{5&x{tJA5S-~&yDf3(7;{UMsuep)3|9g>d zzg@{kZczV)%JRG7rFq|T`K6V7A#tGILGyxN;#20g`P>g)=J;YIpBM4@)sm0gpz#R0 z{^3xL#3}WE9q(MwiQ~)6(v@#4@U4{iUL-EGTikyoTwne8jDEXue9lWczF-!gUjzBb z4eDK8o*Vi-DZfK@PH)TcW#82Cxi9g2y~zg`6zd|D?tf0mZ`Pt0*!SnfO1_9V&@P|_ z!N+?cO6&a0GI?Sf{WA2D0mHg+`4wmD^7CKj^BX}va)ZVrP5W?;qW4eJdnWO|4RAr{ ze|Hsoe(wHH$LGAl^K~U3Tu|_V2lWoy;DTQI+*9oHZ)qi8DDcfx@_`EqF6hb5o_BEN z8z}j_S51DXchHRBJ0DX2hxdkBx(M+V&cHK0J@TVlq=NcL;1SI3odBG zP2O2tevy(dc#W@r4djChYV)E0llWdg>jQTEje?TTeVym)O+L7wCBB;S_UqC%a)Zvl z{)}t6{9+|vB=F5u^2OGBY{3ORVE)iv9A8n%=Qr{BjUXSnL6IN&zhDx*?}ge4xS+EJ z-25ZQmwHRt|GmNUbtNBMQ1F$GZwdMNw?xA@K3B;X3Vbsw0~ZqO?RcHpmnDEYiM zO@8S2pc%nOemEb8O81|ha?xkEaQPLKd@*sL--E6sALR=5`|6BM~YFT8mB z12{hCZC(8fX7ly0fqZa5gS{#n|E;~@e(d~dRyjU(|HqeaTJWQ5iI3J{E0r&e^N|~L z&BbG5F2CF>y8I&IK)FKal8@Y=PG7?(y+;aM&__ETx;@9|zN+K%-!l1O-US+vk9n7p zjyB^1tXpR*xS)M{+{KPxJSCs=HqYmhU*e+wac`vlxQjWyxf_^mD7c^xZy3JH=>12+I)LDUu2p^eRve%6x~_b^clh>OOFnp^!5CBj;`3;HfObOj zf#8DHFJJ3ajxYDPjxQGYRtkLaOVoZ>ncs!+mDE4~^2}xXaeR3tUr^xlYak!FLA`#& zhxv_!`GXlvLuYe*v69bym*?wEKDeNM|H}Ag9h?4~$N6-{y;FoBj{wiuLcYjdF$7HTX+7zF5iU%r$&y zpU^7u(ceI$!RG!KJ3nlL3;O8e-R|S~ib}pv;A>R!x$S8@D4c)HYTPu-@ulYI%Gdjt z&##7jy?x#GTN50MH_bcZ?xgtk!L4SS!%yl`w!Uwwi zB7rX!_)w0e`Kx+5-xS)%4f{XUo#Ts@eEw%9KOA?VS-}Ti>A8L4l8zrgwmsmUrZc0u0fm0N52dO59%Sdp~wxo{rRu- zBzoX>UT>wd%Yr3D{+sBb7=X?$?- zF`u#bKNsie_#%O$Ao%EqQQz!s)H~?auigDCmtQW{@%an*_A!Edvs7P&M-;x&Z^L*HP}FY{mP@{5QA;{s?* zeyj1p1UlbUULXAJzy(io`DK;I4}TG#-w5)N8`L|bvi$s;8b0RuLM5N`JVSd>JKQNF1pD(3#|;-a(Nc+AFs4UN~?;9~|AUj^oQJ`Mjlk`=})!Tu|^} zeiGYwZwa`dzui>Jo?jM}e6hf{GJy~0AK=5f!Qg_fyV>PebNM;n>iU=9CqBOh@{t=9 zJUH*gHr5RW7qow{=hhrwO3CLg!*w}uL3ivil70Ryr{oI-zL^Pp_H{R0mjf4cLc2UWzRG^5YrozKlOOVd z){u|-2*o@z`WIWl1)cS04Lg4jDEVT6uUW~Lbp8D5hx@SW*M&;HU?rblJ^9EDiu_Oy zOZm}!FLHyvdc&ZZT>J1B>dM#sg>N6d$wzrZ!H4kyII#^b=(g{i%Fb`37wPyS;=s5C z8k65@{6hDcx?9rx3yn{mPG%dw1OKji@wOeDHf`#|Rpsv&cYZW{)tHA}i|(`NW!}$R zr1$9h^uFc{eGdDFO78=Xhnn?my$fnqqZF%*;=R+*ZL1${xqrOX`+wu*hHoW(Z&alB z5)fZ3@Px-%x%V~YpFZCBS^7QhZ^lPXP;fzCnzvue{6QbDuKhm^-07KfM1Exj~T|bjxW6 zy~FXPh;J@>y9@CC#9@{P$y`8vPr%J-cu$1dXdT;dx+`|*~Rm#{}&Kn^`9mecinP6@8oj641Er{L1XKE_gF6{975$z`Gp0ZZ{m|1 zZN~AX_Auq!1in-`pL3YuD^U3s1wN^KqcJAG)Pn<8muo!okkyLcwR+>P|E#;9X)bsC z@QAO@FN|4@m~8Eg352Mk}azfqJg^wDSDY&rjE)jwx8Gx_yyWB9yv z>AEc)KV0&`0ZrXvxMRxIUuFKCYy0%?krNd44%>~VzPj;Wd^g(d!`s~OHPU`!dJYHg zk9QZBa})$#uansic)d1e9wWHP1Urk$+AD+7c zU#3{jm!;1kN2tvgI)=|3XZV6gju z7Z4xX1@xi!rnNl3->Q9hTbX=n*C4L#%G-xWK5~Le?KRW0Jnw-1J=y`(u74xf9X^rE zFWB1buZi{(Z&aRN+^_umiUO})zD|2;9}`UZ78aZQ;t%_=^{?-=^)~#AuhsF_-OGG` z9o?TCZd}gi9&Or(zq1)n=je0D5h~>wPonm*q3M@B|6rDH>2G_z&++-hSGA_$ayKpK z%g}fPd};a|xS$eW^k2i5*~swaEIyQT=VgVK>-&4y{a>M{$tO?Wi~51~;qGsE;X~(2 zoQInI;d4CHT&Kf+p%>@7-kb&rC7=Q0&iEa6?CS+3Q7)-`Sn&Kb<#WKj4ps@b#yb zJ`ZkaJjU!VN8`q5UBev{zx%G?hvNHe1vm7n^@cyj@dw0T6!@j{%dT`D25zX-euG=g z?APLVovF!;kYsDE4P-iJSiL z<9d@z~4ZhNA6JRJTm^w9A}G^I~3n%tIa>A-Fhw0pSQ}ti2A=? zc{>Hab7#4a@2REFgBvQf-*~dgKebh6^)8^;pRG3kYwaF8hvQG}LH)nL9}E0l*Ehcl z+|cxBvp>w2xI+xL`*Z$UlCeyj<}2xdMM?`*QxE#_&5E7=CA%XLbQKTdn?U^Z&A0 z|NA+9*Q5GR^Dcf)UN-fd8Q3b{+MTi3iyuA-|wis+j9JFKa+n^;CDOo`FHKg z*MDjJ5N%@kQ%4`V8X2nP?{mbHdvW}^{i*&F5B7)ry?N#3g1^rd_&w|V-9OOOe}7BE z@9${FKTzz?Ry+Tm>tFT^$6q{<>VLO#&JzDceEtpedDI(dhOV!cc-E)>r>Ef$FCDP@ zPtelmtpBn34;wP+SdQO0$nd9W-V(b3e{eC+UrV0{H?&Ceo!C#%(eOva?;mRTq4=Dw zHvizQ?@Dp}8R9Pr{J8JM-hbCkg!*rde=vXO>}~Q7XdV`7?-$!P|3S6;9>Vea#GfY~ z{CngdPv`TWEAdh6NYVYK{@ec^{P6wFOnqrj2DF}hd=47zMC+@} zH^)QVKV;v}i_hC?^M5vN3cvn`x7f$&c9mKf9C;Z{df8LQ%^p=7mECGKW>TNzF!yrz*3w4&9`1+*N;sp`Q0sf z{u=VFuXn(Y`*p!@-_L9RJ8awhFJHT9%k|Ax`MXN~Sm3YP>hJ46?&k%+eZMbwZMFGV zuDIkvjz6vB4~Y}?9@><^kNbVWZ{H7Wb7R})zv9cyZ{YazN`8N9lk*z%1<-(e9KWEY z`h)sT_s^Gp2OSr{Ypcz_{_p8g9DhN{?{35Md*p)~+KS)m_i$)3 z^2Y+dv#t4E;D*}#cE69~0(fn;`G0xn;gu zD0pqP`S)ylN>8r-xDV;-Pq-7Ge-ruk_k$n(eyRRj;|TlTVcX_k=O=d|#~&&A{q8(} zJ^A=vXxMD(e<^pY=VYx@h|k+<^RNA{9xcybv^xHVjk^5Zoee+w9jHe>`h6()lh%2% zxv_2Y-_r4#wK)EQl0O#sogU_Qfg1{bJg<)a2K65E5a6}d=6~k>XSU$@)yry}bV^ z^`q80q~NvH=HK<-Q`q^RjFLaxh0lK``N$m#ew(|reWke`Y;$AV=ASiVPRsKpt^3cZ zy8QiKLj5Nn^&T1w|NHf&(Jz75R-1o#|F5^@`28nz{O+zizehf}q2NdTm(~HXxv_2Y z@A1@-WgLH`eE)PzoEUdPt9CQL3*QUHdv#0v=h1!rRR6Kg1wL=9&7Z$&Dm(s6E8ia* z5+{zk(1?8G4#oS6U3$ML-s|{Jk6*oJu43O$=_%ho(lMilaD}EZkp*~?92=Ll!^VjF*{g30%D*0o9bEWXR zY<{ed1I6#Kxv_2YZ#{m>6-nacj9Dh-{e!km>=l945Hx%pVgVR>54**_UZT_~a zrm)u^vmfZ{Pb}~|dzs$_ZYa*XYz>E+;{be{8{0Pj!TU`+nakh(P{$trX&Fa)*Ks{Lp`z|GHhaV#oi1lHc8juP4>y zqdcHE??Udlj{@6J)E8Ur`t#63eOvCIY?Xf)>*`M|a60?)zYF6_aN3H$+uYc;`CmJ9 z{?iy~rm#-()mSi`sHopik9@RSD8@Ia_qO8icDu!PSNb2c<0&7W z)bf0Mmz=f!Mv>MJ$PJZDb9U)DLDUx;#-;t^a|PO;{W*IZ z{LqdYy>M;|f0pv!v5k2iJ$1X`uRFlh?_g2+{o5Y-;D#1&Hvi7U`WV7|RFQrsK9{5Y z*}V2Pa)%!G;^=>K?KgVfaM=GI`NMY)G`|n?CeRx4@w=dyKfyT8)}(P9xS=O>8pNJI zy4v|4fxqe?^Si(ewfRxM(2kSF(cp$&UNfNO`QKLKx3rQ!Bu?ZGZK{wTzoXLp$4u!p zo8$K*UH$O~@b#yjeB=&|N0|BNe>#ta+@U9b@%_;pe^JTr*6{o_@p!5E9R3{?+|Y%;Uv)gkpH|La zg~W+*4>V6cj>k}Y{tE3DigqB4L%|K*$URKtB;za#`I)|Fyh57__ z*EaP!r03#dyr0|}KWppHUC|PD{>@YJhs23~AKFAd`Wv|A{0hZc)nzvJ@H zy{pULKa8(GBLv@BV#ckgHn)#qx5&`k5KQS$Q}Ccs%Lt${L1%x`5BWl_@MRVBX=m)EwyvU?|`BlzzqdA zbmXMXujBZ$+VkJRLj5Nn^&X1zTjUMie_H>4nf5Dt|68bBA2=2`og?_)h5N<8jo*Ry zp}QNJ{t1fQp~xM2^Unve_iyBt{2_6o-awnkN4%XSDnt6okBZ>Q2Q?B55$Oktx>|y?0MEq!{Hjlr|{7!r>L;JHoXK!QP0r{W4 z{k^#setZ5TP5jN^f1#W|Qu3ppv^fHcKQ+|kWPi@y1~+v1?qgfV|9$NB>vFXIX(R17 z9%;_|kbgiva)(B=&I8tM#e2YP4*v#|KR#Db^4t4)vPadpzt(S^n6v7Szlo^_bw`<8 zqHD|Z_s9n~G`F_-cQNXJ%%4Z)X+1l9E=T*b`C4t`i|7xRwvDd%EB}e9$!314n&z)^ z#9w_h)&GBy()ync`PdyaWk2Wp2+yCU&w)Qf`)kE(8K^g~U;W~WLt65;>yNjo$+4OC z>uyla9|`>7-sSlRpYr_SwWj`nKUHh?4=zbt@n3Q0wJrJE{4uSs+erHjQ--5d|H()0 z&|qRY7sm58PwI#A&lUb5|3MpHe-6i=ruA*>jxo7Joyz$=^1%&t+L!0=x8ZY5S?l-a zXn*$aw6~EzbjH3XXSx0-+QM*DA8Wqf>sHS1kPmLC&5wU)b9imae`kjFXMfJ#PTR&y zUq057fBaB+`z;cGGws*kxST%{_)~q$xuV(T-`QVVwD?oU@#SRyJLC@kqGQkgf~!9s zt?%1N`wccJ=MTt7?$FeV@_H@Rf45!v?=1X7{%;pA-jd_@iNEf6sy~~S^Lylj8>;0m ztXa;Vqx~UQN%1}Sd()ST{?*cd+V8K()B3>GCs4U|FXwm2$Nr$%{mZ#xdcFnU2hCZZ z%iw$P0YNeT!Jn5O=H20}vBt#MI{rq)-%R`UE&fR04|3)8CwiK%|Dna7I#E~u!4JLc z#4}pvpSyv72Ri=xwB9p*C$!Z6)AwOs3Ys5K&M(#f!jvOcm;Cu#%lfgc_@e}V$NzhN zj0>dvbJv&W?{_J$XIlOpQ;WKC{BZ(*^nc{{Z?yQ^|1% z|8M!H$CvYm9sU{rQ_p$Q5<2?%a9Glg_`O}q`GevAxBSyTmDhjVM+2@Te)Ru^9s9BMKeG6-U*zwd`hVjO zXr8E4f0X?X=6}HdKlk_ZTIx?k`Q!LowD?0Sf9JHn=g%k9AHSXH-|#tmo<+*vr69pS z_L|z&{b!NJKj05{`TPDeO5l$Y_}y-1|M;9e&n5BO`LFlXUJtkAU$pWsSo~2htNx$< z_xXcMI{w=H+We6_boizR-OcqsvBlr2{@4BA_yartd8Yrs_elAJ8+z6@i+XYVsa}6y zf1ES^o*(T}%0EZ^_?+ASpB;baOiQ=iKi{hV4-@#K|092XXOj>3?R7)6`5$!Q?Jeu) zwBpa({JUHA|IEM7AN`7yKhD$eIot=GRDY`J18B#i9=c#|3qSgw?sWcAu=st8-#d%v z_m42gC2-j7625;-`RDBGU8vvqJQUn0pLL!Z{CEq0=DzadZ*1{L7Qb^g&mUUrG)nvh zYdt~xdW)8S%0<&}Y~jyZ{LZfB?Kjw?y#7Q2zZaNX@!lGVKf2oboOQi4i67-~@JA1{ zyg$8LK>RyX{c$b+*y0b);qwO<>b0FK>VaMVu^s{bj{1RZsO^s&bVv7=`3HOcHf!)#niJE3IYM%b3W&MY45#?W?`~!Rn!c zob!18j8on(Mkko-9{7G}!CH?ye!0B=FXDriqFzBS>i+L8tJ^PKf5iAFXYpe<$UhSJ z1A4Dn5#ygP%r_o2g%>|B^T#}=cdy>Ho@cGvwQJYjyT}{x?B^df*?;r%=i6hZ|DxBJ&c*&N|5eVo zGsyh;mfj0jHxDvV`-5Fi^`Ube;y3u#-@JXW|Jbzm|25ui?Rfhv<>l|}{21oH${F_r zlauXt9KTp#`}5ZA-&>q+_D!`{3pgGXIOMzl=kBx9VE^H1^RF5+oPQp_*7z}R7;LGW zxPW!@=ed8Rzd?VFa%kW;__ANkIk?LI_6+?mYy5A#&UoQBi2wiUJS_YM|8mx!ep}^# zHpBVnx%^y30)b0Zj&30H&;QkV-1rTiwDMO5@Bf{aKiLfDpQo>{&YzCT(H+EZ`bEsc zB40|)J1;ap9fUuAgFk%3#+B>ux-;B=Af9jjGw%wVt8&h3ko^bh=3$MRM~2_voi}~? zh${Vy8Twz!PtIGgadvh7kMf`XHaz%Tr~fbaz3QGS|Fap+AI{|``hs1R6Ay4We^~b` zv^V4t{?^R{MR#z&{WjmK%K!GQVLJ|g+W+C_H&o}(#VUsnIP_Eg^VuWqroaB-H~7>Y zE~?!BJe#5a@j2!{_ZwiMa@I3|_~~`0+#~ToFZ>?jL+5_IO8?#r=iip{le`BTZ>-M$ z^by-9!TZT)o_Dh^DEoEP`G3aWuOGa>bz1vb=su(?KcaiW{sZ;pHGVFtDUXk_eiZu0 zM_Qh?)PGpQ@i>4(`aNK8tG5mAU#9hcVm%*epKCg%&i_Q^wjY3QU1(6-}G{B4?p5J z_=jS*!TV>Y`5&)k{r|4&i+6DSf0d&<*ndIj|8V}Wo0pi5OaHf|@>UEZ}$;Ivlo}Dqr-oo9|ub|Frfe znc@DK@dd_@>nk`{<+S@C`)3Z@OV)d_ey|3)4tW2MTlGhOtMWgW9*%zGufL`Iq~8qA zzR-Bl?*x7S`Je5FdjB7I<8@b8`hT;_V-fNG=kk;57T8lcc?D*dX&gX0)6XFu9(_N; z`~QV0pr@5$ctgdh0H8$b47 zW&F0a>-)TmjaTOSC$Y+j8(7;vao7F)Fzv^7YIq)(r-(PtNp+p;=y;xw|4iH{|Jkj3 z_LuRy&_BOw?rHp%s^0vnFn;v=nmT?%>$`{>h#kix9?8)bkKT22C%ocasFWuYX*HOE|@8MV0v}cQD4==EeUpy;pXJ~Kg_{G~9 zzgX=Ih=1?`zxlF{55_O1@$2jTyX|*W$FJOYoGJrcAbWU$J>BQf-f|w6JDR`E*C&(p zfT?@mZMm7+qwgE`&oX-uC*TEs`>aMFW%4M*SggBB{zikr{%(Ge)DAyFEDwN z)i>m)_Y0SL&vWC>11DV^;)JvRyu~@b+4wbO57zN}>-l>P_CKD+uO)uX%c|p-&kD<_ ze_ZzP0{#1M%M~nc+3MzZ<1V`ng85d~expaWlk##6v+us`pvgmm9G|#>U)b!t!TxB| z_(l7hevNmAJUIW7r-bFyKPG#4fu3Ld6!SM))BJ7!!T5omU)(hNT=pID135mtz?D9> z;-yvmV)5(O@T+^SKD%SQ;RR-whWS>=-()T0*SyN&0VeB&@rw^KyKHmI&(4)*57zO! zb-|8<{k^8eudDZC_vA0XCw|das^d3N!>{l2P4CAp);7QUrzVq!0Ats_#D`h@(sj(f zls$-l#0|XU=44hCzf%0V?+SUquec#Br~W0fCvIT(f-rv3wdQBBh1$c{S$_6~#bu#A z?QOcV@$AeudywP93p{!J?2lCOOLw>WJC}z%hWx%6mQ(*?*~1I0>z9@r8qdzD&zr0Q zjOxbI=9nJIX=V>{e0YIpe|+I1Rs52Jj9>eTkO%y-Uxww>zd-iz0_(=r%3UoUt(Tg= zVBL5d_HEgN93NibtXoeR-2Y8G|1$AwT^aI#U;3-Cocia>9$sJ_zhZae*Vx+L&kfe` z!#>`|>_LtXFK~~oAKIsiUr+p+?+$suFKbu#KgVScFR+eZzNhg^67zS6b>pS7Z_6I6 z$-WrNyFln%ircZ=T24u#x6h06U;u|(b~_3>_LuC+`!k~ zbl710Y+C%XLoI&Y1tAak<-ZQgseg&=i5u8I(dxsl_^`zx9@F*jg@;Xk)fX1-`oK6< zd7%BSDLasQWBmcX@Q8<>wv69!eqK}a^SaE_TxdL!^E9rl@ughl_z$Lf-Z?y;o`>=o zY9efKfpEq`hjBy{EGM4{m-tpa#X2r_9^nOk{<`yT z9K?_H>FjUZ7r*xV#p{vq{ykPXyujvuiaUO9VDGc?eq_%M?Mk-}9Da>=g*q(IaeaM! zj`aup=I!>|EvB|F@Qa>q$8UYW_!W*{q;hzHo?o$uo? zgco?^=GnKZ;@1+t<_C>m_O~#8WevYb^K!{2zitSBI_rk<^LFryH4a04 z_^Jo5|Hgn{%kM9~f$7^_gVXg>kjy3x<1f;_QkKK`bx(yQ#riA*3(RvLi~6>@BJW;v8$UW+LaF2O^o1| z=s->3*|+X@$ABN#hiB{ho@#%#?uSjU@`kYglByhDpy!btTYaC=cm2`gmEm<{jw(tt zPY8ZXbX7yL=TS{=Xm z;?S<{`jGDx=KBI2*Yn~t{LtsY^(Q9ZU(nV0$NJ4k`|q_rrueNTWdApn!wc*`H*7z% zzgM>}9oN71{W$cef8EphJYUC!k4O0N`)?ez!pEk@kM<=KzveZ@D_JpYKg$|^(Ke!h79k646Zoa4ejGf)M{K3v6zoY!X9rt=h)%wF+{2Kpd{Bp;y&~b4BP)e@yrLY;t`2n=lRx`y!Fe-5wj+Mlqm`m&Y7_~j~x z7s&pcrTi`q4BHL-$^7#n&2!;<{EIT_J13{Qv2c$uYW3s7s$RRL%(arCt7YF!sL&ZKe$UA3a7&Y9Tz)~{0_Wi?svNb ze#DRKdr$mYpHzNoe<=7xDu)-?aP2{*J>7XDNQoPboiF5A(CE;n#NjSjWWiz-)va`Pp^+#_@-W9D06Fi}Ty6`1QrF@ju2d zb^Hn)hq!@lmrwq@!kx_7c^%+aIDTXDhk87&;R^QI*fgk;k+DSNY_4@X^O_trz_L`l|R9;@4AsxKLhmBR~cYJ7?K z#p~PeydOS4{WuNr%haExzQy?CE7a#y*b-iod}FfzN&Mcz_`LSlZGXo26^>u5a(ID^ z58_XD(zuQkLeK4^k)ImsFjwaJ17Z9Y=(u5R|M(RDPm3yukb~p+DtU6n}Tz?g%^btLN$tAE;YWT)!9$1beR);;(iFeuXU)IT z@hfZi`Td=JyU%fZYlr>ty7r}X_Zj2zhk87Ee*gR8b)HehFV_CUjq8kG?DkJCbR6Oa zMjFo}KkKf4{e44z-j4Gx)pI)P8}?xfs2>%8}`q*{&mH#55JAW_9a(2 zyg)xs(6<}-k-Ph-y7=`q-Uz?hpR3My>TT%{aEqrdK4ZYI`3bwe)4ue?uc!J-$1hVk zyug{ZFKyQ^@%_|c`{MF=Vgx_#8;Iix2j!FZf2|LO_kWE|Eq}V7H@)&r!uX{shZoq@ zx(W17YwrI>-Di+rtvO*HFVS&{mq&Pk>+b%n-%ZU=?jKs>*I8`*vhP?sPy3mu9A03g z@j>{-n}+Q^{xn?w)8{e#dXC>>9hZ7Ml9%9;AFh01Ret8;*ZzXyw^KUnc&rjNkP8Kk;jR$>JAp5%Mc*_~j3V*LUA8a@_uX z%eNyx)9pjO#^n$7c=Y@p*y@dER`KhLU*pR<{~W(U$02TD=J~B)zxRHm8V4qRUI+LU zj^CL4@%8c9^E>B@_Yd}0oEE>vW~N(T^(9+|@yk^XFR-Kc2G{wGANdG7__g%DBkG%d zeYIZH3qO9p!!941od3f33)lCi`1Po7tB_x&a(ID$eAl;&_%YM*-KL)3!fyh9sK_Dw zD8AtG^#|?ewD@(zudDuXrg_y|A5xXW3w*r$XZ^jy^KVH_e;q!a-`R7QU5G09<>J@T zJnM9Q%M17=Du)+1Q+|yR{Z#TRa_{q5tmDGRBm9QHZ++>YW&Eb~KMV0|7viOP23~eBH`}_;LTv^XXFjnqO0U zwN2Q*ly&_6aiGb+(vOALZN6??6vjDo`&%|OfYx{X#_@-W9Fm{lmbY#;x&ODH9}?^R zCylQgzryh=bR6OaGCzd&Zq)n`>_*KG!EQ|cI9kJx^vj6?VO-zoeg4282>tm9(m(Vu@S-f+Yk%i^~|$GzXP zsr`8x-!lIatt%ow^A}lpDINNH-aaOK_=0{u9sBmASBC44$^&hkPTl&W_{BEggmp)K z>_rrQoPXc{-p1Dr&cD>Xe;`u7uXU60$af6emq_LK5As~Sp>^?f^Fx}tf5*#slH*KzUdIeu|7j9>QM+l;en+3X;+!geiF<#J=a+o{vGJSf`=fXt za9uu(;AHQ@2zxd`ShF{A)hw;~&QT*m~U$V_){M`8$`S;hj_wPivJT`vi zieW#e?)_h}d(XGvF7w_mf2K{YdeyVgD@t z$>Yl}zN4C7L(eJTH!6PQCwS5&pKT8KHN|gd-5)g_zht+NU-Z+*#&4A0#Lve$adGB6 z(`gs+8QkHL?-v7p^k24P{gLCx?}yjF5&X&#_YW=iT-LWk@Ei3WVt@X@3tWHubnyIP z$dC537{Raj+4AEziXZQf!mjT6;GYxves~=};<4~!QNE1d!c_Um^Rd3;7rXakd* zAD;gW?P}I{unw!vu8tq&o1A{x6;tz*`@hx*e(9~%{QUdD>fVn;|BU>sTmRtm)9VEf zbmP3^^ZV|5!(e~Rg{KkP^-p8tk$&EswDC@#A-Vzw3r8&#hYjmumm{#%;zc zx-#Tf{K`HvZVeK@nDO13`E^b0_lBL%W7Y?xT8E6?82&)Op}*h#!prt}v}*lBTm1T} zFP$Co%T*39koT_PPhI?o3wE9#aftO^2kd5-(%bRkqmSn)$twRj;OFPRxk|M|u*(fPbs$HmSgyucM#80%H>YiQkh``5~M z_kO-uC6*A5To56XBR}y8}NpdH=xp#Pf82)Y81D)^C)T3&Q-2 zR1PmNa_iq?*PiRJQF|R-*Jx*d8$QP-KV#)*D!chQF7Tq2Z!xTS;LQhCI0yFprJonXNH}>{*hnI1Hx`x{tWAJe{fx)_@z5NbVoF6*22O) zfA8#X`Zn%V+zt-Uze2|$ZeZ^3XI#IM<0gs=pHpW?eVv7tpKZl&O#bjYkHihUV#&{* zvn+ml^&G!kyc{&Ghl*=~3o)NBy{dO?{>IFTk#Nnw_V~ z%WS-@^}r#MRfDuk;A-dZGMN84?fnS(Rd)RHck=HK*8hfIrgHKD>^;wZH{^4i`H>$V zmgmQtpQ)~I*i)Xl^5_7YSCB6oZW#Paq|2&HtM#KkkHnSouO7b9V1KRY`|oSr(>&_m zBRoHIt>4e&M@M!%#|Fz2Lf*yE+K=Nm;&YDnJ$({MP9&7#+pR*r^{UqX) z>i!YC*xAk17ai?~fgS$x`C|QHXK56H+pKiUV1CrF|8SZ3_Z|P}e#ie0k1zky@v7rr z{v_0?jz9jwzokEjJ9zSk-nY?I{$COQ=#en~spo&!zlVSF)0y$dU-%RMh8kk<+kd%y zu>a~X{_D*;dGaR>$G`CW?|yvw=RXR0)x|%aVf^tI{;P_2%i&X>bK~UvEBapti+}9+ z$A5PDf6wE~KmFOv_-BqkarNgv{=$E*c=sGeH+SDKHU9I(zv=jAp8vg%FaKhO{Np8| zPIdh87ydVi_iTqJKfJ|`Q~9qU{)yvXdj5ZWeEDaNS6%-5_K&>w@yB2IbH4Xf0KRYE zKLz}ka{uA@Cl9#%??1l$qg%tc*6~k&5ZcwnAAjM0lj9BlXI!w~0aN1-|J3o%J^w%b zd-xYKhk}Ae-Hm+hWzo@^QYYdPnvi7tEck+joSaNj6dJ!p${TJx%-c0&IO;tC zvFu{i$2eg8u=&gJK=fKw1?Rl=gbz$@|A>D><0%uWr*!Wx&r}X?Fw=Zf{HPnB&YxoA z!`S(G)3fDY;p+2tF?Je{qrUi&YW~yaRpA7gj|7AzTzp4GpCsa@D_Giyj4sVcs zPr4cxjI{1WZVsWjrtz<{BR=fcft}ySojl34&lYy^-1GZ!tLTwl@F{?ogV|L|8mncx3ihTAus_wF>cuWX@qAw5aYMfx_*N_l*nJs08q6qFY$+qiyH^9v}C^q%6D z+t)l^p_+dzf8l@U>#pB#kpCUUpY_i%{8dl+WtaadC+;B6Rq?NQ*!)I+FxUEg?ELdd z{OhTm#Ll1poX2g?e^xbr?D6CD_ul=2W&9WB;!pdRz+d&`KK?3)H#pPxA9OAZi@>v9q*gk{=vTuf9i4X56DywZ?LWT4(OYo5Vlv8xAYv3 z&z?VVO5HpXZx^eAmilW${wvOm|8E}t+~oQl-~UaufBS^$$=>AhU*+%yJ^$#$Cx(Bi z{$Ee+OYHW8M`xbX@%iQ(&yAMNf4am!zc0jpp6W^W3i+37*ma5Hb!3MQU{iUHUHWvj z2fsH=KYaM4E1d)F{d(+Qf_-+6wTE$P_C;>?x!xbxbAA-}ntdVr?uX32q52!T4}$+e z=cR-7%L`j>|IOAjjNin{#yelzuBXHHU*+%wQ~&;&n)!Rh2s_SC`~+Fo&u7m6_F>kZ zl*E6P>ip-t0>8A%1s@%p|MY*Ezu(sW%@eApaQmlcDu*{1-xK-~&8qH)ByQi8v}XNw zruiH2Djy2ZC-~>O?qV0OTFrl4!nK6I`}8K0>$|&d|HlmeswZ~)t7j^QH%Na4KkD|E zo$3CMUESAEpYKn>qoH{q*u_t+=HFmqjQIZ|dFx>Rp@qpJ8{eS)&*86nGS6S-@CN<< z`QBghw(WVjdCKI!-=8k|Mos+PzWwoP)%?kO@@CWB7ftRj+;;Cr=xG1z3Dr}qX~!L& z|0;(!IMek3)6SE%LtaDvZvSLI4;CJUJ5S=(tNCM396qzhN8dh}zvbtLcHysjGQa<~ z%Ha*hx(_1{(=UX)IBu!=X+t|Ve+&Nc>edbq?Yd!otEs}|>ag93*Qn-C{PAOAuXR=& zas~p}S_rJueZu}!rzrN0n_>X#@1N<5PpuTv`YW{N+ zc<^mU-txeJf2{pS_hS4{`%_O)&qj{F%Ha(bE4X;oykDdJV3@CU;%}ti!5i$l{jvP~Rs2ib zK4E^JDcZkj``)fy9e>sp;Kxe)@Au8Y`iI={kF-DEgz72X{;iqH;SElEKSE9ax1;f2 zbn^R3aG&DeqY%A2Z2!@z@Ai3(*Qw?oi#T}B{6qGf%zyD`f5JBWRZq6HJO5Pc)9q?~z{}rD9bT!U4 zp?dNS-2I=*;SF}({Pnu{x7@gfw}aPApZ~N~UqkcU#r8(k2?7{~JCw{-xW8xo-TY>-L|@Yu-bbx&E&|PvA@3!83pK z-i1^7@238LcNG7Pme0T7IgcB!LdVjL*Jt z{e!Y+J~sY^@BjZMj2H25=(z^`^Jj)S4f&rR-cS1d-0Jv$>QkTEcPjs#l>hBf{GavM z_>XGW;XkTfhySSS3H+N%z&XO5zy8_5`!ICY$8l;*BK-Y6VRijP&J*hMcCl&)(c>9=ZS>v&|5*En(Ei76f1A?nFO_YweE#HX z9e;nlN^Ypmf4^UczyBfr{=G#0ehR+u2Y0^f7n9Gw>Hl#4Cyu}5`^WV!er){xxSqeR z5r3c8*;hiH;GbO*p8u(9PdtBq_x{;u965-8NAaism$>~o@;zPtZ(7a&@gD!~y8Xd@ zKN%i{>nHg81kay%zGU8yf4q$U!oJ%-r*Qnsy&V6|s`+>Qc&!`P=D0m?=f+8hf3AHR zIG=o8!@uk8Tz&BOxah@~eRdFko`17{LZee<^>li?^)iPrdl@^c701H$*LnTq{U7abC&>sp=NsxplA{1-caT_aC2&40iy-lm#=ta_<` zuWNR>V-Wwg1p1;cB4SN3mxfX}_{JkC1R7yWj z(CLXz=?SLikpK48{QdK<-}b+?!65$r{q8CJRZnt|i@(a@4SN2*zgEZJ+ri88_jbg; z?fLIe&3{Y|#KJSz-t~D?+yCM7FZipT-1ApCyunC*z%y@$*EPx;&Mta&XvcY7=(@)5 zd^^$97n$e3V>N&D0*}4wS&NqO-^2HRT21AXtB31fc~|H!{w=f#ZKIz@n`Ye_`x`1{1M6Wdei`~tCuuh-s2Gge{d$3NQT=ge=SpA^ah0o{$uJGkg zonNI-Tl#dH)%uh*`Ye$>x`1{1B(Ku-U=~Jryw(14Z!y~$Y z-+OfKV14D#xu*W({3>honZ2voqYGH4Pa*%aU6l{QI(^cwTK+U- z2iED6o@x3tcC-4yshp<%jV|EJ-t+siN}pW%G64sg z`ZRYkzF?g`x%BDoX!c;8KBellpBMJ@e-hPSoM-kR{(3|g@V(b8*uP4j&Yq@EXDrl#{3(ABmUEoNvPT!N&^)g~ z`V?nteax4%?q%geC#xugseA8Rd5Y;0uP*ypvIn;gpEt#-zxblr_g6A|5PvBicchcn5wV_#=i%71jwpGS^wByZ z))UpOBPwOjIwBB09?=E->4U%gNR>XN^y%##<_Y>FmxtvXXF~Sq0@l61GyAKZUyVgt z2PKT$I7O~?q|tXxpUyQ}mnF>HxGedWZEW^E)eGXUM|1(-{p+g+``=INA9ltpfBO4` zI-pPd{;-_m%-+|^(FJU{b%}}YzmkVdpJMFUlU0E62>Vj@pno4~xw_SxKcx0;FRMQS zao8ccfS+7tBB|1+xtHnFaPPZ9pXm5%ea2*uE@1A~52YH9&bBrG`!6|g(o?YQo;Nb? z9{)}DFP6QqaPMjM^_ORuJ?LZ^enb~=)=3Xl=1*JtH1`j6K%er*VL1mFmp!_Gk@le| z)jmg&@hrr*v#rG!^z&P?S!SO;Y8cBNOf=t+`pKW@?>f#l%1A{osnK0M; z4$!CA&UDFE)^$(y$3m|QpV0+8d+jw&uF|KIm_F^KTA%nE;ru%4Um$yQ0W-heZAJ4x zSq6@f2C)&J9pXTm%yv~8u z`XtW{%Q?K= z@cz|l*RMqSbeB!9pZbsUD?L0c$7YG_(FLs2C)v>SX`gI-!8(0%>64{qKg62rdntY5 zQ_LR3UytYlUZ4KvHC6ib>Hp}tGWDQO-Sg`S*`o_s_nbN1O8V$IGtZmro--F)D&O>+ zndi-Q&zZ63IWq_!kLUt^EIsPRpnV)N(FCsz3^)dT9|5R%u7PyXH3em8vK_ua|I!||lK zGVDBHx^~qsSfJyw%>dZn&-B4A` zOP|hjOrN3=>XWD(T|j?4^yxT#Sie5xvq3n25q;Xauf=Y$j*Bi}oj%c9q|c7hN9g_J zGrEA^-{|+(4)jT#K0WEvovZxWIMgRqIl6!x2SlIzU(~0sb&Ke;M8`!Juuh-kt)@?V z57Vb3#6ORz3ee|k*POQDKp%g8MdH&t%=C%24E4!WjxL}-9{O~hKD{f#^CmvN`us|E z3(uPg9T#1|I(+|yWoVI?IJ`L&9RX-BeR#n#eWvX%mTA3K`$)AvzqkBEpYjMRUs?5mxqoi1 z_oDP&dHgxcn~rk`jouf>L*zG?VsT^IvrkgLoxJ2aUktQ2if2QHe<8`du&*Nh}*}uP)airXz zUm9O(yZ87kmfv0%J}3GEod3=nKeJ4qVf*|-^?$k=k0_p}cIG+Ok0F0zl{1e7?CU-; zQoPdhE$$p2WFJrL{63z9yeoT1F zjo;p9pkGV-yB;n5`d2ESk2d}CJHzuYZCN?Gfj%$%d`#Tyy7S1}p{u;b28 z&jbH**FKdGhWS#bUw&KIkKlUMcjr0&ay;_1)H>=^`ppwR>_%ZC1MtuTvI@>0h|H*m)L3y+vLjDDrl#m6HSpHb`3$(KaW6*|&yk@%^akw6?c z?zX=@=hT6IJ?Y2##8~?i7sr@>yhn}vi&c(pV5WX2{`vL_2bsr;o!5o_VNc_9Lpxok zsE7P(Y8^XvejP7-OXuHG@u0p@NF31dg{SZHiGhCQe_8vspYpGx`=97V%D+cl`}aaC zM>mlD*t&{u-TDUh?ZPf!Gi=w;FL(Rf`goA19j%w6zWB`WeiNO$uD&_qH%d3Y=eiNA z;Qrrj)fwo={SoscJK7&JIo5PaHXNV)1^JijxabD)k)tpKQaP#xIW4`I~Eh%HlZbc1d{sh*gemV5ae^QvUgN4gX5_e9zm#H}U&Dxpf?| zDr~y--o8Haw5#hr{w);`{2GNEkNkVZ8@HUyzexN0k$(;CZy23m`W1R^%=w$@`6;@A zyq6mPe7@ix>%g#!PYCmryc)F+AUfv<+WA6#b?YFCH(5SoH%I*NYZRgzc3a$e^Wgfi zFp++Ye-zR$Inne>RzS&nbb`P&^)A3C?3F8;cO&VBdX zZJzky*C@F={aD`$k7BFvdWn9l zZ>_UKzqZ>i!?(NeP24ik8&RQeUCn||@8VgAJ`M>nwP{PVhS+<1f?^)*J=kq42tbNNS}md2@~%do*#3>ZUs{>5&8z+CzzFEO3+ z?ZW)abzF11Ul{gx{XQO?zb)6FOx!+p#ADRHSm=Tu9>-LGj!O>SKiJkzFNO_VtGn^jHBTf`ZYB_8N2-Mus-xlHLi|be024B zPW>Ly4ZQEgJI|V$e`C_G<@N`o9`wuqWBK}(Gt>{e;^2@6`N#MlcD_G}eyt0_JoR?y z*Vnk*us+wniXmEq=mwtkjy2ykRlj|>e;c7+`SQo6->CBl{T}cA<#_)U`W0@!#(!47 zyH-DV@2UFjA^qAT_9u&9@!0fBHBJo=pD*aw9$`oRWh3m!zut&_4F6gEdJ8+NOx2J5 z{jw4IrLTN!`gPp>Lf!dWx^WtBhkiU~AI75}wg>3v$A=2n?vB!LuFmT*;m=?9;0go% zc>Zye@~<;Ozx-9p*RL4S{^imSJHL-O`RDgX^!*|98@1o!9P#!0DEj)Eva5rxz91f- zT;uXJr|QT4>Rs*EmA%?@Dz6O3U&^+X)9(YzhFvdXUBCVFZv1L%Tok+b*f3wv1$!|4 zRoEX#m!7WY)K^{*)`u>|nxTJ-#E<$%VJrjiy&G@#x2gKk|7-85e#4ojQ+Aml*WXy> z=mz@Zd%k?%)4t11>0I6(@+JRTE0`bHrEd!LL+75xv#~4R7|v%PUs6}!Qt`mAQAiw! z+wIqWIoRL-0G+=*-A_hmNxyxKANr-Qsm?z?U&=qn!N0b9zgc=`s2{pyhgrXb-<7`& z?a(E6_4(t*svwhHqPWcwKk6TaEg2-j&2IYBe^1T7=S#m>`=ceVHJ#!O!}B-SamhQd z^LOKmfBF4k9^hX}{o;}RXQ&JL*Vc0l>MLFz+Qq6c*M9TZ#jZZu`^F1H|K^DwevLwo zhky5s?=rc+tRFvZieL6R)30>;l{zlEf$cwr{`q~w@vp)BB^Dfi z2ke*Vm!ECr%-;q%4#@g|mRlb%)Ac1?J+Eb6kiSoXN2Kus>=OCS`T?+R9YJ!T>D_y} zjXU&(@Ble4`23bFp7+;f`c2zkwW0Y}H_4Ca!Z81OnxBflec6$BAn%95E?w8=FPHMS zeWNMR-`KEJKLq>eaI?=YGJcJ3O0g~UJ7>@Q@#F~mUHUDvYi*_9Y21~Jw?@B*!+r$%&X+y9 zfpz=Y6qj26CjXN8J4EJrtK#_6mVf2f4fC(aUfA{arCQWt~Qm znSK09vj?N2oxS#9PE~&?d$8^FE>=~&)ZbS9Li|8C@X#gQXI1G}D*t+#H=cai+Evcq zq-NgwgzV7`%-sC=_(uV6 z)-td(~mV+z$zKL)I8|I)XcKlEcj_>p(ujt69e^^Mc?Ywe--PuE?3PyS_Gm-#|C zU-sw*)?J6wYt3J-!(iQYIQp#Fa~%fzb=To7%%1Bo7}Z^eWzTgOgeJOyzkbn?J67ta z{dqbURp(#v&aj;N7t0>qz`FA#TdH`kZ|7GjtXuyWebvt2&eP2vENj-mrCTdLv(3IO ztlKZ5T-WMvZyo(SqvxGH-9KgX&5z`3hUp=)7s3zS z!2jK6os+8aFH`nwRt{>^Mj8~-noBCTGJn15s>HZME6OHHP z+CMAW%IrbEZfv-o@IgCHuKK~2);kQx`~PnJv0}pPTN_&aAby}5_`q4eo?E3~SNkKi z-de3+GLJh!YBroNdvpW)8ZRCCo0y+vWY^#L=wz}2Fw=Mx_Sp(%S8QVW(KyEJ!9?q2 zhxTh&{fX)?US#%QQ{zO~C##!%uKko+<7N*|I=AdUbOT$LonE#SDsg` z-(uOL8<@KJq1-p6+ne9%i3d))I7Hna!mn7v^oust`F^U|w}gfE3&h^n-#@|Z!OXo+ z$J>|3nmt&j-<5aH`gv9UHMPG|PxG$$J?C$v`B#*K6S7A)u`3W@($eR z);T|@(yuH18gH-8zv#xA_D}XJ>VROYX8*Tb`n7(cd=jQ3?8{q~AHu$ye^oxm;u1ey z=e_I-Vf3(FAJNa-_hbjw={IkaHxK6TPV4`*cUS-K9X0yBD=eq}`Lahhu(toQk@$_< z{Zb*U>%SyFu>6QlH2WdC>vcMA^~T$nefv1G2kZJTh3s3$n>`3W@(#RU_hlRSROnY6 zWcqb34RzxDjmzr%TP%BY1Iy=FefTkqxAtRd?EBowufUeSUi1E(J$1hCZ}y3>>F#HT z?St$y*@2Pf=f#YZuWa>ZTbSEmi!+5ikj!96S7A) zuyahPAN;bt% zKP~wK!hg2@K)P+2~mQCAzObKjt;}HnMiRP(O4`_UH!Ip1&6> z-rRSbcBpyi^k)CmbgA^v{YOLgb@w0T5f&frJNmM(JAadtb-r`|fj`pC>v!}8-#VpA zzeM}9v}otluAyJ~D(i1{wm1Fy(r>=((G9HAFM7A~MD1Sk@KMXvFTUIO(eCvgk$p}3 zSG-tysQqiH{yP2AmzX{6UKf8{-jRRr+~}&?mg%=w&(Gi0Jh_`LxBScYHblQ%~Z7o~1~n9QR@{eSHGs*mR=V4d#CJ52ZP{&t@Q)?Ih<-UgTz_f$XF zb~^6;iSG{HuRfeVG+e)+=dO#cG~MEBtiOzYs$fj%R*{?w3}*%5+Tb2=z_gU9E3Z^XU`m8-FwOAIFFTc9DCIU{`}EO7y%L zJ0Aylq-u}q?96+P{try{48KYBRZIM-uPGh=@yqJJ@Ebhlr5`?Kpl>OC&y&7Q&4-%z z9@DYB(~$hlbv*JG9JQ|mUNNt?qd1iAIekNhy!RYCKkhqQc5Tfo!Y(;5+&>|fU8!~r zJ3qf{Om_V%EYGp)NC$mg3+PHcJN@Rg-%o8H4wt@>?$2&oV7kV8hWbV-M^~`FhMo60 zy1Dh}I7a?r=jZvMZ&&lvvGe&mM-_IQou8l7lwI!Ze0_=Rk_pq76$zoK7UCUS~-YIdFAmS=SQU0# zVSm-{|AD?uw{N@Gm;B4s|LrPITG9dk>yUVZFM8nU;|BV&K4o9@)${#}-)lOSe+%_3 zbUbtgBhAahugvYMiC=}*onYtZJ*+CjT;o1f^n@_!aAqrt%lN zu5`ez4$+l*j=q1-)>M6Wm%e@JyYzjgZ}Im~-&p173ex`Km!DURUro(pt+PX4=38Uu zp5_`tn{(>hp0$m!{hnv+;h@0sreTrXwnYtZ~CB} z&+x<#>Or@@_IJk4?6YX6dCMO#1JmcH{oY&u43hWh3@9=d`Zw+@Zp zP4h?lRl(ESp>M#pVFXqT@)czMu*>#kc4W1ji{YZ9}UFr78=%E7yYLL7I=RLgX z+b7!x?T>M&^0&F8_0xPc=$rhv>CV3C;7s?&XudN%?{n?{$MI+%8X700UG;Y4`M>Kr zh`%7Zf~S3C(dtw6JxuyGM(kgZfAX>E+jsq`-0c^FzR}ad`wMS}zKs!fv?H;`DTeWK z$BiXaV}u>;2)crlbG$2edF_`5`Zhjf;}7glSGxSob`ARv(f>R)eH(5+wB!amK7OKa z>aK(3?6Cbs-^llC-TfeZN9`*Z%Yl~bxA^;Lo;TqyNZxY1AD#5pTc_qP`nE=_-%tPd zvFST%zZ>-R{baw-&QM?XenHt#!nlr$sl+OZ4p?7`6}Ij{Dw7&jae}i#f2a+t~U3 z-uAK^wJ#TWO0^(y=815;<`#~;Y^Y=j;0YUzD19Jg_;@yGu<^!lEjzvP@MeGBP3 z_p?@S@$T^cBGd8E6@0Sj8);qu`nIJ*ovxG&Dmpao3cC9k)+IPdW_!ulb{; z^0~sdeg4tG{NfE;()X40f3-e-)z7P4ct)7N$>*#bUBRAPx8eeFY#>OQ0?9r#@xrut%B_^P)Z^2lWWOwTVamcE6q z7s+DNG5VwZg8PeH$76mN=#R_#@8n-x|J~C%ldkT!{qr~SC3DXs{q-Kc&5P{(qP}_J z$73_FZk>33fz7)rH&%agldxZzNr1NSdFMT=H_(^y2lfY#^?Wn`g6W$*66zbN99_XW zeN(3|`-8*N_b)lW*dH9b{LrwUfxc}$m#DLwC&zkshx* znzwwGz5ldy=dZVKu50$$Ys|iPY}nrOzOm?|R)2eK%|kxZ>>F;Kxv#&mj@kERU$?F+ zSN+|F*(Wcz`q3BcTz$p~%k-T#zrNU0asHCp2L%Lu^A~8IF@X{;kv;l?4fX#E&U3B* z$!|Bklk;s}F4)v~820H&rdPU#jdyi2vj=nC=V2e;X7v`Un|(|5gY1ujeX+8}(Y|ch zlRel}zZv`JFtf{L-#X9y0i7(vkLV7r^ry4-uhPFK{hQZU>mRQWmUDn{*`qsHr+;#X z>6Be){)2V;=T9@0ipedx7~6qK8Lx2mkv62My*= zOw0e0{QpX*Gx?t$Q>mPl%TK{p`qdVBszF4?bKF|D4 z3&Y0RwjLPlJNqoP_9t4$>=W68k-IJw+TS9VeOvZmUArCKY3E}udoa^}M?IcPXuWUx zTeI)U9)zbybO&Get=D8#`X^f7-2G~`{@Jl%ImcNddvpiu^v|{4yM4ILTL)S(cLfdJgU%ozxJQZ9`y4{hwGy^u;V1M z2iqrx{i5P9(>XsKiG5Yzal;NN^h}zDE?yhpx2$x=nnqmoI3{l+fCEIaiID? z->B9<{eD1{eNZlg%CYFqC0ryAy?c`rGM)n)4%!6P-pT#e|1g!FMD(c zYuDH9CccN*{YWZ|H9m*`!}V{n&twNSz5Q&fH;ye1x$MEj+iU$}ruuub2W!{k$-Xap z5WhX5JNS_u4j9b;n3n&k^zVMFTL1LSYW-5Jymp$lp=QFy4_ip*V*H!7ClmFi~{o}7HKN%n2Jd6wVkINq2 zLBC&8srOswn^}H#cCh^DgE1$PB`&<}nzXrxzef{xHW)C*j49Dm5l`Ib; z`IGFd`&MB*!amx??1zXT4$&Q4;fP0etJ1$q{_D8})zJPFpRU$_iR{rGtjqs&593{q zng3v2{$tlmDgS)!*Cf!MgmX{;ui=>+&D_VlS&7L@$r%4&KzfZ?M1dwDzZY zsM`PUg*u~ur12bI|G4bY9jqJYiT1F3W}FAC8|T5EaUQU4oF`ZPjPrnX<2=;QI1gCY zUrqKj{~6~2y)Jy7tv}HJ*5iNr{$=`4Tc6$B*3Qqa`Z=lkHRwMaw?0+x+l|o}XJkqOSi_XnisLo`&q}`ak(g!~Re2dsctldhYajc0SVYDQ-3Uy8ch3 z`sw#{@gKn*#_sdtJ7*2{ms;4?`YxV7H{YZD?^*trcZKbLa*LI(top#@0E=6~eWIJc z#Ni9gAFi`w9Je>ZZk8&{wO)bx{JJgjt*P}2b#@Ka*VFUyIy>^XuX(W8jY}_hdTgoy zJm-v+7B16&_iI~f@%!!%Oy}g$Q2#>5L3fb(gN&p5bwcDv|9k|! zMy+E)ua4$>QeWxjxx{iX)BfIdc5`Is-~YWtdco7%{YidUo&Qbk+fy*k{3f&Wek9tj3A?&{jor9){=)G23HrDGZ09TW#Zh=% z^osr(+9fB1^^M8V%)M91zh}H9yN1@abKG(1<@xd%-RG*{!3)Yert1Hn(!aZh+W#Mm z$4~8-=wIkKq7XQ_ak@fc)T6@)2@`n^Uqw(apV!be5@u%U}IlA?F=rC=)h5Q)S!yj)7kL%}$!ME7o z&TI0++dWhD`gdFS0DQKN7%)3u{m|6*pZ;e~{{O=C&opnD_9ywj>innwi9dDy&qU)Xb#~}a{}VgE zt`+_Lb;8@BKmE^PeNI>Or~g@JhyL_Gu^X3OUUxo^=@0Z@#SGslf=-+em{=FUg`*j+{OKe<#;|=v6v93JU z5B&R&{dtFeJ`#}etqaXq3xc-4=NnS4KIru9WfNdJ5%)1TiLJB9iuzp}WjA_H)y z>tFnO!Q|I=f5-9AKXU5_qP4?z82v}RuM+)dI=?;j{WEtTPyYLMG`lzCL7d=)?vx+- z+0CCf$p6kF`yK0Jx^DhEzo-2vZhLI{_uTs6;x4O?;26`yCu@g z$v*rDFYwtr-S_fk`cHfQ)nNY5@09})m`5GI)9UZZ9?W?z zB?3H;E@U6ybI9a3AUuf+xYrw&4E8Uc7N1n}LwifZI1r!s(dzjT6S5~RVD9D*md9KF zJ)LFGuR7P-e&1l%*=H{^yYgDY-gRaV*6E%6()4S7+U&vZco=`?f91b0`>yH-{eFSW z|Dyh~YxRS5>jNUy-;+I97oYEb=D`nE#V6DJ#kR(a)9bB&OMHqZS0ZXQTp)Ym0=AzU z>XENzIz)ZLV!q}-fo^~ETz2^e7N6o&*$bO4p6H$Y$?7j(ujiJ+mOCGcNA3ER{?Y6^ zZ!mkX?)h`Yfv?Kpm6`y1u)3b4R&H1xN zSWf+8vL`NJ?E34>*NS#9e-piL04(+1N%~dZzV-71Cl3imZaj$gGkuDkrybP~_TBx> z@O?BZntgkT)erjjO%yLMzjN95e`@w%;r37Q_2)k`dl3DI3wZdt_YBsTPix;g+TXr= zPZ$TzpLD$X{8=J<;sT~~!}EvsyWGL_$i8Fqufg^R`~2Hx4`%NCq5a8rwECOhGy5UB z_Raf~e9P>?+Ve;Cr{6Vuun}3mAkn-C*6}3b8{cI1U|oFfS$NxlRq;tQKc=OAF~281 z<*&oI@%?<+6Bn?KU$K|zmwdq14}sk)EuQqFI3Kbx#q%R(p9wi1uut?phEnradha)T zu=#LUfBZbVp2m95K`wv5#M#q+#`3@Xkkt>ioPC^F{pArt`CSUpFV!Ejh3Wf#vdXgf z4Da80ei3W_#_VO&n+E@iy==c`;uHPJ%2!c6V7!s?M$g-dhwXYHvmr2kmGE57z3-EL zaiRO;p`9CNoTD0>jqtdsvtwTX_9+_H*AMTTxUcAF+#WlBpUHj5kdXc;Zw~V|QF+(R z^GKwt|9wjZ{O*?9@85E2d|ssc%hsPPzZTzb$BQ*?MtpMBPh7wr_l@Z8_~TC@{;BLd zf7;*SeG7Jf4D}?AO+62#K7U_DKIU4dhMm9vjpbnG>dVd#bsxsj*_DTc{t?GqdJc~( zUC{%iUhtX^e;#1Br zKHlz$iq9pVTJ52#_APbsNnQJv|NY4kpX7m=wQt_;iHgrNZft$ADn4x&ANuXIZ^;Vd zlSSP3fd9X{|CwQYa%cBM#b<>hH&~-8KG}%)l(U{3@rnL2v-8K>JyG#F{`c>ET2*{H zBjS^-_~eLBI>Y#QyC*6>hpqnHovPxKkBCpa@{=Pz#SG))?VhOkJm*utKeZ}8T^FCi z^$&_wo*eOs|2nhw&D%Xu@!9>*h3izsr*QG{{e$$WPmcIxGmMY7d!piV_APe>^9Q;A z>5Yg_wEB}HKIIJKdw{&lJSoteMe)%z(ItYh`0D`|ch?>|!g#0B*4eem-D zaHQD5<_nZOw|47OSid@Iy$jb? zN7%7%M{k53am+{9F^{Nlc7FXc@$QVU<9T^G!j5*J@75uw(iJ_xG5rw>e|7Iomk;^} ztbf{x_D%0^T(Z8!p>*$WEL1;n0Y~LKevHa@bc*i@^Dded&MSt0L+_&^FZ}cU**b8? zt^Y{fzW3S24HOIP#&IX=9ued!-I8Js_b-fy^#&Yx84XJ>C{@rm8~ z*=V+v6Blr%>!+rj7j9i9=TFb^^4DK@jJlq!jqYxpn{VG}|1-B9(c2O4*yWkGV?Tg$ zw=h15bR{kzyumx3zU`}*#b?_5-bDK=cU(Qg=L;{g=Red7E|xv<0`s?7J5{JZz-FIIjyor}?4$ZqomA*AeQ=*RZ@D+PQur=Rv9cIEHq=4%?|% z4)hk9e|2_qa8&azvCCc()dVxQQeXN=c>mCnUHQDQzNOM1w?<(i z1MpSf+Wz7}`Krq%Hs)$hT-hSskR`MP}O{N*}^9exb!(I2ta2h`aSkG8uH zD_wkJ)z_OH_GkS1U*eIu{*fP#;5;g|UtXPmV>)iz^`kD9{`z_(SX812{C?v*iw5!S zX#dWW72k&D!_V8oEQ`|&iEp&IeP;eRm_9$e{`zq*9L)b}b}8+%yRLE`aleC|Zx3dx z!c_a>)!D_ei!TX}>+2(KiQ4FZj69|j*g=vU`2i~mCQFJpYC(D>WDtt`%k8-I(otd4*8U8ZkIKiZu?9JlSRfBw8! z6+`udhV{91J&dz-w9jIl9r={I{Wkn@x&LX8up{rX5q8}FG)J@pvG`_gzZmb|7P2ec zcwR?wLbf`br!T+{y!`OV_ZKogK9BZ&b8Fw`&9OL_+lK9Xv~_j-n|{2@o!9u)b^R%S z-6Q_R2s`4M=zXEYKlyQZeI#B@XBYh>w2S3nSL=tV&+lJ4M|Mp&e&p>E*|l8zo;&|c z%_xeU9pkF1CQA9k*>w~rzOKW$`T{)aijDRdwEv0TAAF(WU%35a^4(ngw=s`bQ+?n} z_pch&k0<__>reZB9`SFu>$@K(Vf@3tcRRW?9FHVVB9|wATq73m!nZrW3G<0ODb!w* zPvyGdak-wbuWy~*n2y_a?S$W7D3P6qHoq4>|IgpM>4{MY`;^R~A*mv1*5UjMhV z&s_JxY?ieftQ)R-&j9zM*kx|tquKJWb%k9|u=8<6x32aNs+X>d#W2-?zoojG~6)k-WyvI}SHbez!}*VC>f0XV1`h+{R`f z%N}gH{Viho5$|dKCzo3NU|-{14XwA&b}+xw9~-vLF?+E2Uh^OOLk@Q;ln5=g({M zrm69*I=f-Jqw6qsY0Y|a#(S{y=iwab(o#PLyZFqS^Izkl*m)kD|D~QE)!A{?=(_du z@fXAMpHD5tXIS5r;rU2=QtEjTc8hEFjUhj{KFm|WuU~O{FhBVv%8xettM6h*irJ@z z_xtQzogdBP!t<`I*>9pb=1LT6W_ipKmH$kZyqMcRo(qxn@u*08*s27ECpB~%M0yYHeO1*WNRsF@gmu% zS~IPgu|_k+Eb_=eC;|krcUX*V0x8TU0)Yl>BEUcaHW&g)CnR9@GFuEG&@47$3HX4d_nv!iZAYBHYhrv6oh@-dLyV8~J=Ok<-_L<( zzfaB8cp=@4^I6Exy$R%VXhXH%VvX?GlO&(__X$r8YWR3gcxtnT?}Dd>iqCOA&cL6} zez8vt)c8XC-+=#A-}7a z`qcVx^})?|zT;cwsH1Lbs_Q2T#7}U6SY+H#b^Q3=Z=mC+_;@wW*v`!V&-mf}(ku^O{OJ3N z1N=b8kLLbg{76Ba^Ut?e?hj!96V${{e9`~m`1#)d+4$l8ban9)sQYVt@uRu_TjR%Y zz<`21{F!I$wf)ac2JbiE`MC_&&s@1&;v_h(I={+7`JCe(YN)QWjn#Dytj}DXXVx6u zjIjIzIcoW(~*lczt!= zE&O_Q-o*HBs`oR+uc~qx3OZ2NcgAm490rvL{gDP(p$)>W~7Q@}psh8n2%4;8r!Fued>oRma zvL5^Te36Pr)?=pZ>G%BvIFLkLhoX;z{ZxSai3Z1^%7x>khT?)dq}*9Ye+gCir6%I`qP0KkMSBK>WM{@e@Bq+TY!)v4;~R4mf@eR>|j# z8>)WKQhE(Nqz9rLC(&PBKRo^;uGdlTL5pCP<3yi5dZDkM()*2R5A%S5J=OoP{0enF zmY(;G!Cs=)f%JLKYr*wv?Ck*;tMk&jy^Mp)@t)Gbaj5h46X2phRr_zVh9w37vOwu; zkN@liHhzv+|4E)D_9A76@sn@#tp9-LypY;hr{;6V$$Cz(OSHFH#ygA1|arsDK|18_;reiwu5zNmT};peOQoO!FO-lv%zs&cH4 zux7spP;WsE*8$h8;cf&MDK7m&)xV7UHPvzBU5F19N3Fz)IOW-AxaW`D)W`V`j?X)Y zzhI-pS+KC0AH((Y$6ul9L)Y(M_j=r|)@2xfd5t~BU+?B>9O(Tr{vvgqjphP4nAC8L zzp#d5{KYlgQtUTBzFNQ9zYtte!>t9^t>GeYy&6tx+m6Ro{H;ZNz)Y>gAXt85=YH?r zvj6+T?(&;+Ild319I{CE9IN{abL^M>9<_`2akC$aABjAnJnOus8ZUZY#rO-<{e_z2 zetWpyi2KzXU2zzz+Qx4+q zq1EHi_h&Nx>h7mx{AFssc^BdXZq-T-;vn?C-~CPH`B*n2{&K`$utoNqK3VmDm&xa> zf2zKpoxjtL)y;bte<`jXW4!48fN^DXT&Z#JLO4+OUeN$tq1Q1~|GXGngzG&9{;BuB zHokLxew($`n#T}#37J`8gD zx|4&nhwG-v1&gcp7%vg-6CkJOyLZ7}gzLY_g`2C#+XI&%?#b!rncNGmz&wTAU5F2S zT`LKQQRw|Uv)f(#HSzosu8$;-lYaZ~6%u#m*y{bO;pOr<*F~t>fpA*56!Ua`&-IZm z=1=Jf)$7yN0_6ILkBh)@eZSRWy$>zC!n^${PZ*GGJuULWysdVPdk z-TDYQJ&xe|NE7FC$OU-66t5GY`raECzf{Iq{byj_`%F<3=Rg(@{*ph=-}RL1-TdQ- z`*+aq9JoqqF2;MU2J0*EkJkxMlPhFg$KB|5&d+(AkYJdy%^>1oD zZ6Ua*h6`v9`{nh~U6cdQGf;i+^-A9+^}+XfHBMerTK2uyi#*@w)mtLG@4a5ZEn=VV z^Xi->d{bR#%=dcHKHulnJxO@qbv?At_jyI|-}hdxA`^f3KCeFPqc{h$0D*iMpX_<~ zPb=3C-_88HQ2M{MSl=z?5QoUW;SSk;Bx|%;2e>v7S$?3Rf{PDd=-=8&7anio zIZpt5AZzg#b@`_^zRl(5-g~4!eF@^TkNX?%-6je z*Etq&#OVm6j#eIr2)5ISgRUfQxa!c_CuWu{3F0Jl655YB*e~nn;i1vKS z{qXx&jD7YC?)hqbeizpdBX$2BdB$go{XGg_PV1ZT=K?)leiz>_Jhg%Q24c>y zVzC>1T{QW&@YG!Knesn{eQM{h_)q(M-)H&~@uydaeQKt8b-eu_2v6Lp@2v6m6I(WPp&(ETM8}|uM?c%uPZ#1ia$Jv2dwRbCxSrzl zeYNZ#3dQMh;#$}V9NBxW2Zh*8d`MSZAfZ;+NHNg0wDUBAhoMr^n;$UE;H< z<9q#_tQh-ksPUve-Z^l*e|fOq?^MUJ&j+W+r?F=|&ikuqZz3tq&q+M zQa8U3aDJQPgU%D>xO>;4Bwi-tXvS}b{V;B+O~hNl_*LuN-1!mbPj*zxf%)Nx=QXKu zF5|p|cEkPZb$G^kjC%5M0UXrh=J@(*94!V{sPn?bEt-33N%r-5f3=>w81<6q^Y1F} zH^HSfcaYq$XRiW-h_9xG1!$9_LloIc*Ou-{G%cMiC$hFc0Q zui?%I*Q?sSY5$(Oa+K=humFTgs+V33V4Q7rMtj}inruT`DzSG4opYQNijDNd0KhVJWrLZS^ zWdB=WKkRp@dWYGPfv1(P>dqr1pgR~}a-Cj}^X9;%iqq#CQgHE0q+DsQxTiX9IRGwt znc`F)&%hPu%Q$ObPmPxjg6r`L z%3To&Mx8tz_jA>PM6@K4$6bH6p*VQ_3;w6_%ThOdthwqI&6{?{*e@f+d%D%Wqj zIKO&uR^pH6KN-In_QQ2sD%Wp$o=&$rI>hx`AGZJ?$D!nO-fe(OUMTT4;8eK|#t&G( z^Ko3i&9Hv!;~t0oa{boF>GfN3fvJwG7Q!CaZ^`-AZyV2&c0 z81re`V}0|7OYsNSZ^`NW71AEAyCK&@9PvCY)px!&`zx8L26slK#Sq$oeag-kExO5# zf1B@+^A8;VhUZH89Kw0A{MpsRKGunx0>_TjJLFg z3wa!hGb%5!ziX;;)|^CzJs)^!^*A&)iv2cJ`4#W4w(B`?omlKOnZFR1bf3z&q2BY{ zU%%1D_Yv#EW-09Lr^jM}{d2Ls`Z?`i37-8mwU6^HIoB=rNnVd%1U+kYX(ER5x_0vM zPq03GoZOcX2jHOv)`!U#7mD3%jc9(n@KpW2fB^3aNWYKu+r`57pj}*FP5WlCaKR5m zi>C@tZK(64e7;8xzV{T^ho<^`?lp3p`KLsiPZyq=B7YD3xdi=LL-=f=@YIgtvr*x5 z@W~T|r)HYJS@`(TV!!iv;i-BZG*kZfFA$#EJWcvf`X8^AdI}I1#S-DE-3zLGaF+1J zYSHi*;i-&At&Dr>*6siH-udD`TZ#C8el^Y+|G_rdueN_Bc*Z@|;CVego{!imB=Xs}OsY7^uC0k8Zq z&lP^4Ixw-_SD!CV?;dmGn~qwaHdr6YUnKD#9;mKQhcA@R2jdIajnw%~ou9e;0`t6r z`9S4yw$D^OKU&-4{>`hUz547eq<`u@8Er2Bm#BHW<`#qN)f@-MBT3D1EQLMu%j$9H zabF0oQFFX&!Nq#NKd+7-B5;W=7sW|!8euKGE5JO`fZG1OSyx5M}O zm}Ah-9Ia(}WKf2v6NpO7OBH9fSJ#U=;5s!N`}^J!nHTUl z@=L1utp|I#I`6CV`MvZH>&mpJ0Bc1kpAb7k^U!8 z>lW-+BlS7$r)s^+94~en8>{xy9pX=*KBxap^?AHf_)vWwT#NjtKVO5qby;=4^wX&I zw%}^?<6EjckGG>f=W%7~^Z2oHynXdKk1M;pYQNYn`|YaF(=qX1KNmPh-bvLu;K07; z^RDOf-1B*)p8Gr~pY2uu>5pEgi=TvYz&h0+uHZkPhu`IV;1AM{z3aDFrzGEFJE38Z zGA~fSbJ^&U`Nns_YB{dvtI+;nkL}NQ-t0>7Y~NIUePno{lt*!f)ORr@*UwR-4b^fj z-Yi_!lsJf|g{O8E&-`yLko`mx!c+4azB4I2wWoNtgAo4rVV_zkULUWS5&P7>;`Q;S z;HllM)$-Byi|2}cYOZ)~KSKFa6SdB)?FX}BpPDLOmw&iVcxtA2?N0{#)UM)n`8Tf< z`&3>x#q)N&o;5ua@rL>>sOtRe5&oloLujhrbD{YTj+e^j$aY7KZa;d#eC;n=PZz%$ zFA)3G0?$jPeeF*l+;xnx0hwwie7oHj@KD|_q zGyJM(yjOTC+XveN+u!|PxW+x-{qbG3{+D6>uk(7eGpt*%{e}1(kL4LW_A*lI82bD& z{m5{=1;^QX9!3B9zmPa4cL@9Cx(U_0e$qj_V7}jZ(6Z76-}*`T6DdEgn zgmTCFNd)`e^^;w~bKRu#V6pF8KcPQdH_0C^yl?%4Jl9Pc;Jxc7@Q3RrjfaSR@A}DW z(5|=+h2!~r0u!TR#7p9CAx4`SVWCy`5rrR#eLOw%J$b#>yrAqxP`FS*XIF_s-DLV=wQwJ6Bm=iICJ2iYJaDIYpUnw z#)@M*NHDJ$*i-HF4A{$mRqelY|8OS#!*vEeduM@b;CcricQ!eFyvo0Gzy&qjx!^kL z`gUD!OTqOpULE+S){{eUQB54I1=qxLd1z1Xm+iiJa&>)Gw?DKF6D!UZ@es&74r{>1Q~>RS(@{S5p- z)%p(CgXn(>p6XigR~{MhAh-XHM?Z)e{eI~|-cy|J7ujzcJh!f{-|qjZx?gRNy!^8!=H|$$_Yi0<1=p;}qX)nRYCNg!b;#A&yAfQc=6Ex3 zY0dE-1Q*tDU2wdP-xmjmz~%q-!1b1ci!Q9zTd}qp&v((Dia&iHdjYPixOi99ULTzK zS=B%Dp6Ym%&#UUG;UgnepXT^FBUA>)ehqoU@M@E@A(sQSa_;}?G=>u2fh!c%j_7qR%A z@%i|$+lBTNZ=NT1%_~H^pB4L5-}?Z91K@835A7@a!AEes^#4=vA8OS512XuN!Jp)F z!c+T-=lCUivK)8w{lZgy&zTERzcJ$mn&|sL@P19kLyY>RrbE^G;`;y$;vxAA{D*dG z_0{)Rh0sMG zJhb$Gj<3=OEGGE#qX8RdA|_#f4e>zsrh}Z=DX~F13kZ2>k526 zk$x_9_@HW@X`mpw`ub&MZy~r0_kS_}>hl+aV5;*3rsct@_iTh+APK& z%~x0Lg`ceE)h4)5am6R9+(B^NpI7ba>zEEcM8Ld;>w*jLTs|JJE|){#!W!;&a1G7< zP4zf(a7J-Pm2-|8F(P#wdfodjaIxZa{Pn>jw3D zY#$5h5$-SMe#6_UadjA6sK!lt{dvJ-q<$mC>2hg+OB7f9x_TV!H+pJZ7d)c6o)W-b z2lqknICQ)$1=p*&KJx-_e6A?%-HZMS;a)EoALbyBI`oqdxc;y4E?FPGf!DV_RoZKQ ztMqeuAmuRV|GM+{e?~nAUbi;++_XLRYgrA)eyv->1#mF0;n-jGYB=^+ zMGd!<`>iRL5L{Eml`faH;F2195xBI5liD_>sNrJRi)*-1a9ItPfD3DmcMe?L`x#Sk zv7Y~`b?yV;jGmvXeAxll#CV47Qm_BN4qW(Vm5-FYH-PKB@PWA-!1eWfS{=uY;9}M9 z>Uhb(8TI@v%^d{SRnJ}0To+uR&d2aQpxoUd{E?~S4b*!Ba&YNw(F^iQ-`rwag3 zSKjukGv}S(o+afU-Nwk5AF}@oe^kv!-0vKCuD4M$eZ4W>&lVn#`AjcgRhpo76`x)! zKT-=m;Nk1YywV~#dIj)yBZYIPE{2Lz?p4w6KJzf66$Azc*=92~Dv-p(o1I7Jc9n25)@#gmlPmOT> z40-KO=bOS)`*>c5kMDn5c&fqtlRVdJSUv{!sZGV}cuT$}_Nk%bkBGN-3m-!buJ@on zI^H_p!SO;1T;E4t```SQ@Km;Qt-&4g$wKIhf4uVj<@oV$W&D^fkoj{L=O?01N&i_a ztd1YEkICmx#tx|e+xat}SHOImzDVrTU-s{X%0I!ca?+TJL*w1!K-MK#?mEZz>eTK4kBe*Qp2qU*QwzmaA^(4))A<2 zqdwjk_QD!&lw3`HAYGWKhMR-EpoUAqHEXy7;JWJmO?|u_aJ`y%xe;8buZvOrdj`&^ z`vmoV4}$Be`yMsd1s839;CMa+E>v9hmTLc*gKO4t3k2+_aQ_0X(DnP7>hazUF2Vhx%qs=^MU=-tu)cXWKKSj|FMF~ZpYr;dyRg35 z$N8P`i&vIp_>^k@8r~_N2e3o^-;PgvdVO8R8LG$hRsPWDPgtCRz79j3FIoscn>8HI z+r(y5v3~UVr^WCuRO2Qck42g_1d#Zl*b)yluy7Ms-WyW;$xKovL411Xx@9O=Ig45@1@@G`rRRS(h=h3vi zIdJ;CT%gXkrQixRpV9Sp5L`!{*VN_wK5(hx3Uz&a7hJ#QeB~kfr#WRWr@fl_!d>9v z6RYcyL30bf5$RzoRh&NFyTK)j)5lwYYpC}{X?ypAGm0xzT=l`#JwM_wxJ;ct9!3Aj z-PP#=0MtX#KklDz{WZBr@?}ri=lW~$5A(0T9tO{Tj;h!3^CwC@r43mZ>wj=X=^0h8 z(`!EXknmK!{;&B6JXN39(tOet`&4~?OY<3csy@%9`5t(xKHsHzgYu#3^In>7f~V^9 zUz(4>Q;j+=r1=2;Q}y{o&4=Kr`uvpUv-eB+Q}uZ?&F3Ewo|@M9--CUsJ`bkt8`!7j zHTGlh)S`xOf~V$qKPK~e{vc^D#c|SJQut5p;ri$Sui96R`laggbozKZ;Hmn2=Mg;o z??CnWLe2NVQOz@}{dl@rjyHI;9B+>HOKsHfeel#~4Ih43;%A^Wd;p%BsPkg_cr*Az z?bProcq;pK_S@8Fe&K?L%-4UXc)mdg&+X^$*?*^aem_5_9sbw7h$J>PeRNwt4 zJl+UA)p!31?RVi1)p!31?f1Y_3w{0!_e-#R%!yL|1HDGgj}_m48tNAsD?Y^an>pg4 zu>ti9jn(==CC1{zZWDf%aLA{z*~6s&rhUGbx^(VA%9xw5eo+R-QKSTVdri$0`6T=^> z?|vcr(?fkxQ(VtMe{^|vFA;yJ>|fb$Q#arG!^89S-}y=@|LCh%@~5S;|Bk;>z21$` z9QY^U18M{34|+VG`$w#|{2Kl14R{_fG*o)Pm!y)+I zo5lV>6`w1Anr{$(ps%mm&(0S=vd@WzZx@~#A>Qdv{B!g-PZYlQS@;8u6>m-uF30n; zJD(JOpt!%4_S3auzqnsCd%5sbgY_Qr!DV7U_yYFxV&QXW7xxR3Pb1;dyTHE;JXP`8 zE2UjzI9~I7;i-J@Iqe_8zXCk8!1+M(`L*x^{x|+y;(^*%d=bigF}p;xcnGdXhZ;Ob zllINe#C~?R@bQ0(Kh%ce$nkb&vV`TRs-hL~522B+otK&@?;y<;ccx}J)bFoj& zv97`T((NmJ0ge}1U_L`WT!`|#Q#86mcxqqq1$e{u{wdgpHZcF8{p`gk&zFk!5XaQ6 z=JCFT5bd{%_A*ec`_Vq1k7iK*;jiHjl>M>RwY=d9U)(nGt`ltke^V3JZ}9wM1MB1F zd(!{sPpGbs$KR6Ax&BM#do4H*)aOI!Pxsl?`IhFGpNexHm}}6WS})f27J_TkZ~?eP zug9wO`^B_Z^E~q=xU7a-3NEPOLU7F*ZY{X9hKs<(HJsG8h4I`nU;W0g*Qnt}!3F9$ z2)f=9aLpQSj+{QPq3SIK7uIkGz$NN>AMIZUT&C_D(AMlv>5$6s=roHt%iF0qjpTr zH-CsumwM_b`shEhTn`#z{xF#DJXOXYjaO_a?NM`#?+5&MknfjB zKF+~YgB!(P^63h(8(#`*oNVwom(cW#sQ#*<;z~|r-@YGE4!MCNpip5f2 z&5z)CpwE#4_SwXgUb@tK_@@!5S3{D<;=PlNs>ka9_9MMLyI z1HDhx@At&-;AF)AjbgtE<^6)R&*!xUXz%%}g{Ss0?jWzrv-djTsTtRo(BFo5KDS}{ zWWpCvKChMb!<|x&@#oM#yb|`I^LGCBL*^A~{_@wpY`*-GAiwnQ9gIv%lguyKY1PlU zzlA@R&zV=Ky-ia78>X+JAeEt^U9rWYs59Sr> zME}|D`NT)QANCw+|IyE@d4%~T{D=AHFLU6Ziv3c3@2!d7BmU=4xvcyJ)%QM|{9Y-a z{)xgUQTPfgTy>|9@F{TldB?I@n_2V#9Cuut{9 zHz-5A1%Vtd)%W}@)>j7m16A)6;(LY))K>xfRPXzTQ2qhppX$Az8S$Bcr~2MkME`s6 zpPF4+jR!u@jJ!epQho0?BHzXFQho0|BHx64s_%VBjGq`hHBsYXz9*?b`6MVGYP_?0 zyo3A6-zV)oMth|Cp6^BbP4HCT`Lv+D0@C30>_2sYZCsIBUc&aadv3v@Y57n2y;vb9s6!xjU{1v=Q@=+H&)tA2t6%d?9(p!)Jxi1=y#xs)f>m%muQeZ&LRm%mtFG3--)`Kv&@H5Q6LRA2sLeRW`; z>U&R~K|J(epX$qB={u#q8aQ66FMkCelKAX^r~2|2{m_rX(r`HOsp|m%n1U;eD=Uoeff+2 z8`Kxom%qq2!Bc(ti+q9dr26s~`55-8zWl}b>42yD@)ye|L-|mB^REo$*+G9r_2nZ^9U;YZwe>UJhmHA35^A`2Tw;wn#U;avw zzd8@Ps$zochxw}c^VcEp%v)4n{t9lF^6WIEeNlb$ui%%`|Cm1$p6bhAv>(Gh)tA3= z_)|Pu>{EUDEB!d~3;cL%wS~R*skI%U>+d-todyefcZ>g_KVO`_x3`7v?Y4 zZv*~Qeff*^mBK#NH~)%1A@$ow`43e2!}T=QR~PoFzWfy;9-3d;RJLQPFMoxoukM$H zr~2|&hWPBFy-dRlWZ@^Q1`78XG*pJ{3)tA2*{{eWaFMrW~hVr5M@>c zD@o^nY%p(8kNt}uzhu7r)kXe_j-5Y$72B%wGVWpyJo6USm%s8)OL_L5iT(%b%U|Jr z$X}-lZ=k;XMf(}-QhoU={*3rjoFw+CzWf!y{}_Hyeff+2H^EbV`78UZ_!BM>f2h9v zWqytP1wMiL@)yg;EJk@kefcZL_#uN`sxN=#??wIs--G({SNeCtH%=CRsJ{Hg^6Z@= zJk^)KGL%mQ`&3{4V*NJYH`SNFSYIjZQ+@f%pnjVycWB>}zgS;g*r)pPSNto9hd%8> zefcXueKisPRA2rI?~wTHf~WfO7yU2bKh>AN$Tv{GRA2rgpW`?O>N&qgK7@U$FMlz9 z67U1{hZKOweCZeff*_L+}H|_0RhJRDt~1LHP{SbN(w}{{}vW`tld; zXDA=4FMp-E#83Yj(tfGTCt8`es88#EdRm8VQG)~S;A9&`HS{r*r)pPm$^&)$xavhRA2teKPP-}w(wM6{-XbV_)qoa zukZ_E-<%=#slNOb{6@;B37+c9Uo4*-iKt1`3^_9Rr z)tA50`z0Q_O*!6yUS7R^ARUu(H>j^Zc&aad6^PFSU)tA3$KSudbefcXu|Jgka@d?#=i`&dw)USTw%azxv2uy%QvVWw(oc zt{;Ze^UuEygJ<5N`tq0gGW!1y%X&os_2sYh_tG94ec`FT{6+iu2Zg8l@>d3b@{fau z`tn!&CGo%UOZWrzdRj&pC-zEpz8X- zc%|4izlHrz!#>oPztRs#znFbSc&aadh3^+W|E%y-U;biw=05`u_2sVu<dRl@SHz$AJmhPrFMk>MU%(HlFMrYhE_kXhf2IE> z{^an3>dRm8e@prF!Bc(ti{+D|e5g%N{tEse_Ji}Ke5k(s6@O6jQ3QUV%092354ys4 zz*Bwsi{%+H4xqmLWe`6-*r)pP7wfl!@*JqnFUO-_Kz*5KOZiZJ`Kv&@by5CQU;bi! zHDRCX%U?O_D_JW3P<{C;NBMWbQ+@d>_;)$(Cd!BE%U|?AhW}Jw{vzK2Pxa+5@*(`E z`tld~9QLWc{Kfd`gQxoP7t6<>e5k(sm7_fS=SY1GR6Vbc*XPrI4xZ}EUpew)1LZ^Y zJf2z(~+-BaQo<13FoG*Wc$Y0T-`SVw>ZvOl= z2cCJ0>dRl@-Qs`$Lev-4bNyj{l=N@ma^b1I{6+gY>{5OCtAIZy6#Gr{4{%7!q z>dRmBKLJnm<*(oyVn2pIRA2r|jg(LCD>D9}`tldcC%8zCm+H%3;h!XbWnUHhRA2rI zKP>(os+3s3dsFP3KmdRlOuRiQkefg_EeKjtY`lb5vSBCPBz*BwsD@T0xz*Bwsi~a}85N}Xl z{vscNqx$j}`2yuh_2n<}DeO~y`HS(>1yA+mFP2Y+@}c_jSNu(hhYtEHs&D>9`!RT` zFMq{f75iP357n2y82>4FsxN=heu46#`tp}S|Ji{5ROTzK%v;n`vhBru`K!^C`B&o< zPyYJz`PUDZf`1xzOwCk2GS88IFuq+hx>WAJrgjyd9V_J?jEENCsU7tmpx_tM4;D|u z{pst)egVxi|6=e@6utqD8teBF{aX0!8N%mRihXLL`LBWxaR2)i!uO$pdVf+5|FfqH zAA_Sd6(77B_Maqt=W?-64L4WMcLaD|LG}scqy55X(2nBcUyA+sM6uu9C_FV&y!n;z z!6M<)NO)>j@x{&Hp91@vU>}+*J_H{>S@>du@YMd+>hXp*$Z;ARZ+a2@p8nKhC>Lr^@$n^MH@p`1FMxfh?r%f1mjdySY!jZ^Q11ye|1N$Mh=*{i z@YF)Re=xmI`1qNKhs%U7pnb&$_X{83`C#2G!c)yqwZ5`%fMmaY=xe1=iJeM3Lf5p&Szy7j& zZGIcPzwMNx<^96_C&_bRJLe(4J-YgQT63m+z66G;@hR2k$)+EZ`sMzqJ;mwwtTq4^ zHQYjS`u+9~t-g;d0M}JqjQ4)xYqJ=Cq`#N?E>Pdul>kznjSvCGNmxBv5cYpOb?gH0Q^`_r{cQ?2c??)e$%e_^51-L|) zpW^NTm(|$&9=Pyls+^U*?}LkKxF3Ma&r{{6?EMg2Q@!sf{$=%ee+15`IMvUI{SRv6!z~2BK+R^vZ<9RCa(`1|xzXi_^gGOpR zn0^a(Pm_G!eY5b?jvC+b{Q^0jA7*Y6p6YvEWB9Lf9NC+Mr*=~*A3mQfxDnh}p|^mC zHeXcb(50Ld4t6un%qAP_@tVC*}phn-2+3)z9E#4*esSU+v$HDLCi}nzo1N~*y|1cIV{fg9A@oCtnDqbIN?=!+v8xNBH zlm2UevKxh`=6DYSdCm{m-UGA~Y7ftmCtnmO7qs_2cxo5Vrzd|zdwd)GfyR%i`mc|- z@k!ySIo{Js`^BwNj_F^EU(w$QPwgo_jfKzuO*DLm@YF)_W~0~*-zXYm zXz_mGsTsx{JYGKUJVSeo-zq#c#q;~ghnTM$w6ExIg{Kbkocd!SwyEYxD|0tLjc<|l z{FCv1@$h_!r-jQU|K^v8^7_qenQT7@_NaZ7Lwu^tbM^dy?sW0KGjg#SUvPZT`>nKl za^~mNyw7>8K|UoH!tZBbhty(?*rOleJEdN;eNs=2qvSm_+042U>1!VCHd`kBc=#aU zlYPQB)Vgu-ZnTf<#D4#m!gY2+6(6qN%Mq z+If!kr_LXQ?~hbaNcZQ_6Y8~Fbl;hIDEo#MG}nbWV|2^S8F=4xG9mrwWC!Zl*i zNUbvup5u-B>h)p2K>4WWbmdnfPfUydy@yMEnODLe#cTiL{}!${Dq1K$+#&XZ8PwPB zg=@A&^?A(re3a*`@ZE=sKl$^7Pt|!zuDi0F()-{C$|uq5%uf)1iocWn^dBPjJG8I) zhoXGmC4BZU#PjoIKb>vW_Hsmd9xHtG0^zed{t?1AUL}0Dj(?=^;cJEOsrx2$eFcAn z-(#YIS|`sQFUK3AeA3?v*GD|(ir4nDKf#Y{MH~7(o~l2|j}!m1n}j!N9b4Nk;C~GJ zdL4U^*WV-cWf1@QcP0KKwT_*EE71SMN29)G#h*mYLv(-GdzA3Wjl$=eSMk&ylGN#Bd|L3`|={|VaFc-G~gAC}|H5D(27 zJ~HBef%*y+A3sOpEl2+lFA%vn3B@5%ST4 z#eROB@P*2sIp(nj`Ng0=FJPZ}m-?1#h7Zm+KTpqqVX-O%U@7a#TVxb7pxY|-!42g+gP<9td;UjA0qv*xmkE>SMm9BaQ`5h zeq4BJuJ{0a{1N=_6R;2MDc)edntoLH_>;m@3&rP?!i9%K^G^v+?JGV`ge$ zQ?-1w{rFD!18pciT?RjH6AeBs{6H12%P0Gc@YJT_(=}3G#e>Cu_-5e;s`z+B`1oPM z$8UxI(5Qw_J|;XhRy@Zc>9O$VZ{QC!QG9WO_>(PwKW~9Q&{Xm1n}iRK5kCEh@YIgt zkFfty*oS7C$NAq7mFA<(vDBg@pc^Z^|AO27qYFxqjc7gKmyjbj0d!G9x^Y5a+zaGa6 zP1XCv!w~g)t7z}9g{O8DUw{wLzQQ*MPt6ps?MJT{p4wG>f%EUd$HbrLufRj|8or0} zAE@F3^j8`B&-i6xpW0XJr@BAPKPNoZH!g|`DgR_j_<`zi5w7P+zaxAP^+ZjuzM1oR z+I=aP_)N(!;SFMcps$hslYFrWd23eGtP-A@WBrbNyivGpMznZ`@YMd#s`dlC@45K4 z_}{-ycq-qoMEm&)^gn2i%{K~9E$}>5^64V6Ywi(^_X|&L;{6xo1LWU$mH3|=5T43G z0LK;7Q_uV2Gv*s#B&+3k8=L1JUxZkHpk3-x@EliAee?eC9I02%`>Eb}|57ocB{Zo_T-#b@7MueyVTYPy2&;Kj;6Rd4KvfvCnxwwNUeT&ijMAh3{jWI8eoN z9GzZ>yv2Dx)Hm;^|D5+zee?e8Z1IQlerllRz6f-}W_j(G{yyH0SH@LVUL`ql}G3*@-DPC)go6PQqVt`ksGm7hbb6NIqO zbpon)oq*+ud0P+aT_+%qb%Gw$yG}qJ>jXWj%ICVixK1!oHSgy-L3}aF6YB(AFYv7s zF#fqtK=rK?u>avY0oAuoK>J)Lp!)J*ei7OM)(N;?;9Dn1&y{%NIsw(UPC);;PC)go z6ENPmPC)go69n*|>jYHaIstjE6Hp_yuAuve;zgJ*L*p90`5NJ=Nev(WweVEmxK7N`9&Ak-$hT6^BY$V%lLxVukidvx?MiM7m zb-jbW&H}jU9VPY)UeBnmN8|XXiE$%2eSJ&_gMGZ8jGVqMXDzs}FXJY1+P{eQ)b%mx z$Ew%caP=ls?~T^n9QUi<%gp&4zBV`Fj{xgeKL0Xs$pLj7M@yX0-a-74tM`$I52|v! z4la5~wLUa=2==01RrjmUOXc9Y>iR{^-9b)W@1?oBz;*QXXzF^o9=M*m?n>J$z%`as zk5_ZN9xZt710V0bw1@ct>rLDHDY!1qyZg94xa8!jfBL$$UxVwswCbPc?gQ7m?}54d z$?0~auB-bE{loRhJPzG14};5b-2ge=E_r=hS9AJ&C$6W;_4SK8s`1?3raG~P#e(wes)o|Ye zmtp;25C^wZ&!ZRM%!8}-tJ~WGoak@j{mQgg{I*&j$AIf-|I~Gk4RC#RonxW6h2Rox zPwh7VmntsqSN&TIuBWco)W_Qdm#OPwb$y&gPWSifIF^FzAFjr8{Pk*mgy0%Df5URt z@sfZGYPdOYMsfOj>y-Od$E*E20ItAwO7t)Mxm-uWe&`Umo{E?F)@r|&)1K;~vR ziv0}QQ0q(CDjE0Z-w`eTNqA~d!}tGLcxqGe+W+{=!c)T#$|rB*bVOyjs9JDYE$tB@em*$!mkQHP|e>gcFhlA|7);MReZKpxU2ww zH+X16T{jdzO3E|6Q8fHI{DC$%Kk)IIZwOD-_owo@h8*$G2T$!O`$a?ih;J56z9sgl zh2qnP375Y?H2OA<7aDr58)AD8z9T#}uHg&t)J*Yw|B`vL_>+BC>{ETuKVW-_3iuCA z)cLx2pVVvqebL4}!c$Yl8=TKE=&yqB;dr6?`3gFo&G&_;>gOvM6`$Q72v7ArFM-F~ z{ULa&=lmi0KK!93S5@OP+a%=@e^)g5k=UoEiqAI-XV_l;L-+{VQGAB$V+*wR;9lXW znc~9_i2V%hw-270Zm;^!_vHp}MO^<_?B~!(pFhO;+%BCUc%oCPwgl^elE%#{cZCP!c#NF z^L^>si}ihXMIV(Cx1ynpy-Ql8lvD9=9$ zA4B^utMXmA<`4{1-;cu$E&UfZ6@X!M5pY+FED*oqaFCjQ;U-3tb55f1jAFLnI zzUDJ<)Kt9>!8{rMpuY{jApTR$pUJ$R_Oq2zE@>v3{HO5L{u8Qve2mzS-zb`XNqB1X zj4B^oE_QRYm+-&f542ExdJ*jZE$sJUAIfp+Lj2Ky-u{F~L~i}R_f8oPFTwo{8IJcb z=3$)gaekKKb4)i4wRvInI8r>Xn)|1Q`u((O9f0#k^3?SD>N)_ABS-sS{RGo8f8_j- z>YFEWJY_gPTrB11nTd15T~ee=XYJY(LM zgZIr7$#Z_#Yl(f|JTaI>d}5whfcMQ4*JTX9j#d%`4 z4gb}3BS+LP=4HjG@Vt}oF~S6VZVmw{IGwm@Vo6&=Y5=iaDEu=6F#irIZw>y;E&=tPt30u|2aR*_X{5@p7X>2Jm-hO^};8L z=R7NWzS!sdu=7IUQ^j+h7(Y*V&JW|~3*S*Z=ZOaPIZtf9K=@4am?su55c`}T_Q7`* zul?uzu=f{YKUX~KDMx$fJTXdz?<=13MDrr?hx5bEON95$6LZW*2lK<13h$dI#;Mrn z{4jel{8#fn&J&9tO8j$v*nxfDJTbnYI#2Ap9LMWRZKWx5Uc;7rRxUf1; zEN&LwH&4v}Lynj8Lvxz&zIh_^ox!{;Jxb;uzIkH$7gArGA9lfe=ZPF2!hUo#&VTvl ziQqXuG~j*n!~*^8V1D=%IbPp9F+@Cbe%P2nd3xrF>7*Pl=ZC!|!u#fl0m`5A!~*@Z zZ=RU$hkeWs!{>?pAPCB-RuG)JXxjc21Z%J@&wmR7aOJ1=`$bQmbAJYlmoHm+lG6># zPde7=^iXReFu{_=^81tJ2f?Wq1@5olf>NwrcwxDHA+|%eWxrp$bF2HpY7072>W1aP zn6qnlQ*s-YpAtAu+%m!Ct?}8m-7fVa6I_Ac%e2%4t>NJ*Yba<<441!aO*^sMGorgD zhxfbhhbCsq{S8eHx6AFxS@%gWG&47IzWaW5$~hDa?;o46e+0WHr<{RccjA6#f|1Fw zVfXzg_CLB){2$#ZcHKcZZVdb1Q~t~Z|m zXn7oyup_%SL2~Lv4hfQ>5)6_V@oTERJ8<@LB<1^r9j6$)f2~7deBArq5qAY=66GUts?iS}n1` z^YRv7eCpowPdv$3oj(6Gr{!TeE#qYI#nA=s7mF_*E5BHLafzA5wlo}YQsBOIDuH+s z3cCEU`&`1oEw}9UqNkT0Em<-h-) zm@}uIDu12YJXbz%p4)7?@15Gete)>aIQ63PYjZ00e=7Fx_UZnWJ9mnOn$xZyOWfzr za{saao;4=wY`cHuPMn@zZW@R={fx8A4^BV(obs>J&pZ1}_t_cErY%)t@U|HRac)3^x1c1*Z;;wkE9F zICDi%HcG1~4#VqaFTPm*3hj69-?9zR;j%fIWy8ZOTQhB^HhS#$yJy<&k7c8id&}+d zu@So)vuxaUAWkRtyN}JXq{N+$x%gW))!H>?fn`%8^8M6E8OO_}r%MCNX2!(cEWV!| znVq(gxols1dd42e^72>4EZ?+gz58={YwxW4!SdEj%Qg7rZQBvr{&#tMVx%=bW|oi5 zl=hd8@3B2j+bl2pH~YObhf*(ZO_}9WtP*`iTw(w3{;k-wVZ$<~t#NmFRwv3Lvbv>h{a(>3!^rB?n5%~su5cVzwgRi8Teg3Lzm19$Od)WTheZF_n`LSYj@;X<}E8KC2PFuIkib?yQQit89-5xJP z)oK}{b`y)L!f@5+|c`^xsN*^xCX%*wVL@XGdh39f8Ux2J5utZYjMx)Oe` zoSZ0sziPv}joY>uvucwx#8uIHw`o>gwr!cK@KxixTGO^5SBtK zrre%aJ$JU{Dq_`?#GTa%w+pMT+Y_~AUvAsuSv8l~Ok8UD12liLdfB=%zE&?=zh#yE z-Rkw5$}8tr+wicP#_7h%>q>3g->+_sm-VpPmWKmMwfkA^D$Q-TcZrU*$K6M($83<5 zD*0;l*u=1HJ7)EGs|^iE6shrY4fH{_Nz56h~0MC z3an1fjJkMPGu5&qfR@#E+r{CUDO(u!-&z;sq9e1mAnf++#N?#a8T$*n-EJjr&uiPe zrrP!wYtgT+ot!Pp->LI!?fzu6ZTWRuHeKQNuujZc9k$VHKc5&Y9a~q{uG>y#-3RL? zTyG(|Y<#BN-Z+_*YQw~;9FJ9(*4(yh{$|~@Yi&+9mKD5i+796CF|V86-k!1nbP0~j z>TJtK+9mGb>_4kzz+W;e4q7ei_0rauEhu9yZB0zHhFj*+wzP{&NB5TP>(bH5YxlVC zZM{1?>)n6szx6F?5bImhGp;7qw`Rti<@K%olkNc5yFzi>?ZkHMPHplox65I$SwFUS z*R0zfn`pZZz^Us1){jlQkIi~<+pI5JkKIQ5TR%Be#;sLXo%ZvgJP+dU3l{e|`ppfqw%?l=GaF_nO3NGU-rNyv*x#}rOqq=(ZOld_#Eq-2Sif%LDzgzC z!NzUt%h1@kZNu_an=RLpUu@?B*}Y|XTP-^Xt7Vh4y2-`mrd`*zhn%|q z*nd_hci8~iw0rlo>q0h-NMhSm_I`GIVyN`rwaJp78r$y@$)@SOtqJ>AY1D1c&Xf&1 zDk)>4Wm~qmKO+nTq7^ctiB@f1w`ryQ9Dx?Krpo@fR9iMttE?WYv(xR3(Ak@l0KkVx6w8Xg<6Epv0rwmbXVQtfXy4@&~w z+-{Xe;B=WSXQyt&;MBF>&F!JGVmG%(+Ha^7|y;v>XvuY2*?H75;YB`j%y27Tt94epX-pejE?Pg$Gv52c-Tee7CZWEjR#Qo`NU{z-16n9&u*8!qEnd{ zICc5osS6dSi5&=R86PVHyVNu7=VdfmMcizew1Y0kC*x%T+cMKCJKR!j0b4BrtHN2` zY5#KDt|GR~>@5ehTV`xhE4OWew_j|LX_?tFE8`5S)|&ks^=P&1r?y-t{o9uPG7i|X z-;PUd-NR>S`)URTP<7G)=^0qTgP^_-T1!jY~6lsr|S}) zQa+DX^tau`<2Wgn}~TVpOCn=b43 z3Of#P+gG?jVyW#t&YvsBhRY7=im9=(UQ4wNxKw+PrCL*0?%bKQhMVRp+fLl?ovyUM zzY6^ls>N)_yth<4Ikj5Od$*&%-;VM1_A+XW*^Yi`hcjyb?Ku66a-m?y>1RUEhAxGk z2Q9_yIHM`s@-wsJOnfiP4ra&M_+HGI9p}K#Ir#m#(52UuD-%29YqLYlm>t*1!o?2x z+HSYY5j>VN?6$2S+Ygp%E3DL|_BgJYb&DD~o&DCXe z+3)9`C-$!|#T;uFLW5(BRcwoxV~?>P+JDC$BMWh|Wy~?dZ988L%rX01AYN#&3}CLo z!oW3HAJ_>yJ6G&1%L(CSc9y?4X6J61AnY6w(nep|;qR1TwXs^R|LmNR2DNi`!Y0&V zvvY25+0(_akK!^dER3|ykS|&&{}v3ic3Ow+SFK&PW3+Z!yQJV+LqqMvmYvnI1Y1Kh zV=iA=Ehl(3%asPLx*@KyT9$lkcwfs6En4F;Zf#**!u4tHpVeX46s(pbAgdE@sARQV zwEj9mx`^*@6eBzlSOA|V!wQEdwrLgT3FApTBZ!ErM(l`s&*{)J%&xIk>Bp|Ik+aI*kIj_+?i!mZ{k1CJm!lGE z->I#qT^J|3Y2h#m*ru%&&GB+aI@Qq`+-yU1E=l>Lm1}_wI$Go+IB(0Mz)=#l`{>i zWe?%>f>SMzbsg(vng55dzB7dNouN@#z#c;XJv81bOVF;ul!;(ye6pb_OyiP%;aucwL{lQTn=IVNVbd_-Z@i_AcoQYhwZwF z`<>OYKFh(1+uk)&rqp4KbBEo!(#Vh*ZV!#^wdFgEb*16BN=j@Yp^(Wpm%}D;L~`CnF2YnBhqo zxr*+#+cGX5Mw|~%$#`rS{iN0Mo8j5LqV6<}^{YHMr#1%MzxFDs7;5iyfwSMVckV7% ze%d?j@XqePy)zk|uyZk|u3+0cr?EYaZRwEPyQHDDQK0SJt#UkSvqL%KYKvLZ#`>Al z(!N_q3#>m*onI5JUE{W%G3<7_!VaOWO1X-cmYW>5<1OnS*4=EDE)U4+`R){j)rm=G z7wd1O+L*CwGl|tQ+N|!gR@~?N#>x)ARJZLWE%u+)vg@^4c1c#t9U=Xi-K$H?*u$N1 z3w^t>PUqAfM!D_S-B_pF-LeyNw~c_@?aIY%yY)G{-*OUHZjak>=`OonHeaXZFRYgF zzI)6bhvVeurP`lcm36vO?Kq`WJ5Je+^*Vd{#Zs2Dr(xXRI2}`}t3kWnoOAqMncr9~ z2dq|iu5$LA%J)0hV0#U=ciAz8`+f-9ZG7Lx_HJzN#`XxdN3i`|@oVREZD;E2l*i-L z8ZNh;eJKvJTf*L|U4OLgrc`@qRx3|Xp7WZc=a5j*f0nM}%5D5DO`+4CB%%0{qGJA!hQQHcHA zoqn;$UoPrf&ZenhS3Xup+&E)Yy8lvL(TpOYjUqu=b<;ch`MCXN%8a7Fwpun|r)Rj| zwa2kNp4e{OZrdM~pU=5dE5_A%xoxLKu7QtYoH2^^;ZfA{D8|Xa&Dc8m9j0?;Y*^OU z$I$vc7Ef|0C)>6?` zC3UsSa=xs}RAshudCJJF#dbr04age=U_fS@HyddFi|?D^Lo?VoFw7t}6YS*$^K65W z*&OV}%m8zi-|xN`hy1$r>KEtSbI&>V+~wWvopL$*R#1XvCT36RW}i$yTEDfqBhe?y zZ|>Z+IJUu$%8{2~eUaWAowEte&CzII8z7m^-PZ!%gg^W(wJ1Kn>mx;ZYPBuiz`V0O ziEZ5UhOTmnpf}K-ZM~@6MX@CVQ>}bpKwF|RH9M7~=75|3K<^-pR6 zpZ1C%SeqOD-DYO=srLBuHlEw|H2IjvmbnV6a`Lo!#VyQdZ(%-LhEZ;}2A|5;YAa6+ z|BG#j7FAtlDUA=|DY&vJ26k4!&VoU!?9dy1mltM_CIK;*98vx>Tn z0qZsfUfaIBRmkkeZM6$wi|44=-thOGZB(#r1pKxHs(MPE2Wq!Ibwsrd2X8}ReO3~I zGRUzh7kOHF$ReSQpSEQcRm;;yFOuG(N1xt8Zfmoq^1WFrd{#=ZST8>p+j!sI#yZJ1 z=D)XPHTR6_gL&}nd$&gFYIG;X&dZuwFy^=QsqN5?51)%2>HUrF&0eu{>$XLR1fva@ zy?2)M7@+N}yS_W?)uzq>?X2ImALMB-p7!#m`N^PH<656;zz*8m9W=bMe6HCRJ6o4V z=Oq)F4stmN9GT3wH^?0n#Ln)`&l^Ady0cr^`=UHu&aS`U$?gX8yFR4}E_Qqwt=Oq_ z)k5;qr}$n<)jF7+$_sj@+Orz5ql>A^hw|CM{Jk_&R$+EVTkASyx`XnPW@}w5jyx?c zbsLYRM}MhfOvgUoFIb!DV&|?;WWlULo>o=0Z1hi_Bh_Trr0UaNLyKL^_sjFJ_7(E9 zDj`pEggmVru$)rJu)5MW9k@xJt1{pedGeZ_G#`0dez13Ubl8?sS@>^xAXm41#97_iGW#kSH>iRY=D($`ZtD7# zJZ(W6VNg`)$mD6`1&?y!lW0Gx>9KAhPg9|i@u$g^=c`Ib!&YHEqr!WHiFQ z_YCkez*q2;L881<7qVz>^?z^G$BTQb_dNZokDK;xR*o^@vUd}7eF>1iy<2z8)V*8y z{T6=LLR9+Nrlh zr@mL{Qzh!0mHx?dOBW7hm@fl-#Xch4Td!oIL2+dbuRLw#WDo0A^0XH?G=IY9<0uKg zO&w6}*?VrnQ?NyyJU8JlU&bl+Y``G;?|O@Y*Vkfi1iy@Ygt<3DIgUNF}seM>K)8`TSL7!)&U)879FnL-Rq)+qP!H&8~f8W=2=aHn*Kd+7Qyb8R! zV(sYYrnf`7+x3#v3w>Ue@ySRAwOYjX6hDq+0!K$6qg!{(6X+fadD?p02<^;heai}F zw6436BpoII^r?#JQ_F88V?q71M&F++;#ll}uzwKQY>~=2V~RCV6_``)rQjknJv@i4c@~R?F8#2k$ zOp;-l4UFX}wNm+fUD2LumtygVJgtM&r^}P4n4(yF3K=fAK0aI!{Kid{IFj{8^N&yO z3f_}Ix}#5f0hZ^1PUMXCWkOf;KUlMde{|oqcWM z>}6Zi-ydC7Rpn{#5vH{KzVFj=1zv;X>2b4<`5zfo?H`sFNS~^hKGpx2b}IJqUWj2( zAx~+!guWrgBO$(TyQuZ)`z`dT<3D|>W9@l)$DTTnkxXoUdVfoE5&Cwe)xFr4_YQp{ z-QRuVN!>dvPaDXH8*M&Ip7x3@vjdgx=n(f=T*}iHYGqFFc^zN*Y`i|bK=-Y66?|vK zhJ5n0sx41x5N{RIg}5F*EHAXVIxTA>2e0_=zFJlk`qZrn`qUR#eadu@Jx>X%V(E+R zDQ$G2+W@ql%Ai|@tUL0wWuU@G7s8KqQu)>54{8=R*b{m3)M0@>%}{%a%kFqHQQTQu zSv?TlO8gVR+N=1;ais$TLzK(yf0%K=>@E#x2MGWon4uqkdYOZ z-3kn6?Wu90Sc+SoZk)=A{_N}T@&YV9$z25cT?7z{v$!X9RR8WBafW->fw#A% zc#aeng!0pU(C_=}fAPJxo2@9m7xUNOFL~+T_e0(n92Q@|dg0If8UNvD{*1@-&;F!8 zf8(cr$_VL@xL@Z|)5qU@Tz=``JC0?zd~1D8|E+)Nki@OLf#Y~Up)W-`L!fJ7`X}cq z%8`6Q@MnJ<0@CUzX^bZ&%3s2QRhF*{ zMk8GVTi4?ea*jd<`s-`yb=e=86x%weuNerGa}>9uo4m7>K-szxO&S2=DVQ-Y|mn7#l)()gEmtapu-$^cC zk@D{(sdGFgU|6=YCmnn%ho1M4cUf+$cWgWCHMP)X0_Tu7@{g+q2@@(*5E!RGgf8bo za1_PU>v<9HbS;U}eQpEx_My(TmUPtl4zVg_(Tl3fREH*a-{RJWR^Nl4p{0Lr>w% zkn!s{dW)x#l)j_Q!&=e>c;&w<`*hRuXA@pblQz)OhtNMCOQ&@rKu+a++}fXyCG2e1 zU+#Rc_*lB2D;6F4Mc?6!Up|(wLpI}=Y-WKeK9*jVZcOq=27+~mC85a2j>Vk*>V2kF z`#yf8zm|4JPjSBF<42AjKJt3|%g2u#lao&!d}{3ja<(bgug5jOI|2Q~6Z+zG_yU%* ziYK0sS)0S$-6`jNp1>R1VSn=x>~AWEeM3i!eH_+epQ&!K&mgwghM6K?M}UX9tF7eqhbq&>0!J#oYK8QGk>{-T&;P-2d0x|kB4xN$_!3E8e89p@M}BO9Gy_ zarBt$?;L`k?q(pkYo6!>41tQ5^*L(!ck=6aOYJ{q{$PO^?g$VZ+}bC2$-ZuC^#?YpxjBkE z+(z#fr_#IT6Ej@p9G`BCIn3>Wf^|G|_zbqq5bH~fPR|riV8h3eqi!*AF2CjKF6RMR z{jb`@vg21VN*8%X*Iho|M6}p>97_QriDNY>(`8|t-ZOcEsf}V;5WirDS!{vK@bkM@ z?X^-~B@F93-&KEM%~&@RtG${Yv<}vnQe!Z>_|P^Pkzdj%ul^Zbuv({$q+y*@@o8mX zynHKtxq0kjIdUQAFO_blU(;z!$MTykmNLC#*H8K7|3jS~5Q{9m;H&qyO@N-yT;J10 z&Gda=(DV`vSER7r`Y!epKSr0iCh{oG!GrXUeP^xEb;0p4_scxN33lPtKjKSRA0_7b z2*oeT(E_;3_;ura7hmE_iz0#TF!$V9b7f(38c^?PVa`%LT zH5uaoNXA|qMaGO*c5fQzl3}J}0WM=q{AG+6PQf~n$?i(i8|Ho)Vy-6>bKRDh>x{&l zzb5u!k?M!;_kzz8WQ+}+E%qG{Ew+`7Ha+%ZW;!Apdt#lDdtV{9;Jv2PS;v2PG)u`g_9jD`Oe`wUUWSeVXO<_s*p=ua%jwshY& z&|+VBZLu$~wpeHSI^~0f(w6QsIW6`D(TuS$n6VF!TK{38s-^qFRK}S2ZLv>$w%8{$ zTkI2t9c&YQE%ph#j4=V$VxQ>B7!xWPW1=EsOiVnX6RC$Uu~C!rD z8*%P0z|V7tq$}1AnbF4gDMA0GRB7RC#0I#+|%A++sgU`CQc8ZLH!^;tCKJypZKLf#{sQOzZU4&nEHeb zZqH#xL*?mUSIb6cIEZ<=j`*4|QJ(TEws1juJu>P$NL?N_LrN0Ioc-$JYvMw=2SJA_ zd9)>TOmrT$Svq-URX^X3QTHPP=+u%jfJUGb!jH+@nq9m?3IAZ!ld$>5JCy`xIx zIQ*0b%#*TKEYl#e0``;)G@gw@5C`cEG_e(L10qkiGS(c{OD9QP|3 zOysfti6c*+;B5?YU&E;*$4@@<^ijW+p(u_&ee%??r;nUCb<{ICe(Dq?xke|C^pBn3 zWf1by(LCim28HhOq}lvX^@xc6aV??{Zl{?t#$r5)_MfUOO={vHpqtMyq-UsP-Wlb1Ru$=c@d3BZh808)a z*;+5ty;pp}_{`?o=E_;w!o-KQ_}RY)%ULbgjT{1?OPYeSi|vyDV&lhjP59efZdR-c4dgR=?oVSrPfVgg;I47qGW$7XdJa+-%t^Xy&-zDqgX?uF>cH=Gr|Ap19^&dG64-(jdYGn;-pYyR%%zbZW^ z2HkOoPGLsBx4za^N56mKFdKQm(O1H1kYc-cIEWh^Jh+bBwB<^=gz-; z?b3xydN+XnU0Pe;mA&4TUDBagkNfBe53~@Mc3v5+cM8aGN1;nQ(g4Y;70XBO*|;im z>!b8!l9M-bU&d(v^w$1M*w$uP4qj_#?)eMd#>zP0s{Fh&#q<-L6RUoLuSlC@i8~m} zk(ti>gyc=36MdQ<(;*O$@i{+GWLTC5&fi;APdLBeYcdMaB$q~deB9@<9Lvc2Kz2b> zp4C#2;NzW?y)RcY@!?f<7`9N6toUXX0x=#g~_&2f2*Rm-36>6LKD>djw0{ zvbwi&8tlXv%^N+>)hN%4zVCV{(;&8`yd8A3su$Z@{Xtf8WlPc48Ce3d z`+tBxef9Fo;5Yg;89o8aE~rj`S}byM%;X8Z6Oc}q0F}|V3NYMhKwnyy6HJ>cat(>! zQ}ELIwhw_UH{oC3?$kEJI+d0CYoT|fDP62vd13R7)i(~*DL!r0b|~^Dr0pBsA@_>N zK)CWdXf(^0S8qxLW_JnRkz;N0PJ#k!v8(X%`rQ>fyYJggikIyik5qW*FZY5hjR$0P z%DPmL^bYa$lYCjT~?v^ zl3c08`lnd$=m>a3k0|}xf$XtBeZ9Od?O7+@46j@|w<4vWd-xo`xO;bfPmXe~14}7m z0O|BsWYh|}46kH4=u+P=TH zo*O`!_mvUkx^FfY34*1)#-?22P6-&DnUl`UiJ7_Kb}m++-ism)=+4Sj?6;ED#+9?u zq+ML~4g9wHs2iT}XZYH#l*r2#K*J50Ctn%bUO|($u`AG_M@1~Fqah&Fb<){c+0Dr<#9 zc5=UoV^%oDybDWt6nCn-;ckUgy39}O-Z~SZczv&xa7DK1$z;6LdC#%MJ|QbuCb-%r zL0&`F_uJ_Tzi;K7-|1%h=wx@x`Zq_!)l1KxK6B;Tv&jzB z7lq&#F1;wP^LpS%k_i6HE0=_hjnG$D<>g40W?4RRU(12)z~*#DadlM&=+a;9p@ch2 zFQ$Op$FkpTAY|2Osl5}-sseslTJfWi#7j-O@L$GOebQyhm^lot#S2x7n z(zkQSs?%P&zTs~Jl73T$0h_P4_Q^g^>7s0prV6~e`}+RMxm~Fg9`bTu%j(KisqAu} zpwV@jw9}tSGjdDbEpK6)m)yf5xYOQPGb1l;tU!i4<*)a+bRh0=Y2P5-xIEkjougOL z*Y;VqO|WC$&LVVceA`z}y9cH-fVp~qYj=Nh<>l4e{st$i-;xF>$CF69xhmT;%-QlE z?JMN&7Ix2uU)}UGD9Uq9P6LR`tS@#v+P5}Jf&9sRFMD<&i^JmDrc9r$-sbDNV5w*_ zVFt3?_aaS=RUiN5+McX)$m=KRuV_z^NBg|LrS+HI-=ck9=GR-dIwOWxh%sWw7$b&P z+K7o5-bOVuG7^@Rv_VU~g$AB?;Ogh%0RL8tjc9zKeA!@%l$Om`f1qjooVL_zw7eL=P$i{;j$6sKe9bTrkrJpA5->W`-aj-*g|Yc z1nZ1!UN8pEGqhp*hTLP*+03E&5hI1*qsKc->@9W%!LP}d2hG!N>I&OGMBdW&3cWXH zX+uHAIlrUNyp|U|ZY#gtaKrrvx_zW;uwu=;r5{@|NVbnGZJ-c*vej1YwflQoe=Tn} z5qj5pWv@6nK`-;-{b%vfZ?qU0i($(C&0RWiUk=~ZK z+&k1wp!X0h`D=Omi`-Kb{JFdxM(D?v%LCDo?O%!(@fR=^x^eWx$))mD+)>cz9R&qH z-SSr=Z+X88x8Jn+cXzjF{>%GG9C!S`98Suwx#QM3OW)BhW11uPI4x(Ocqu*wcg!(< z#T0Pk*l}lo0XL34ZTz|ZTX^Q;mh>ThmZDqqI~MeJO!ttU1%jXI6gQ6dpXo-h;AQ=f z%l@H`hy2>?EMC$F{g$^YDZP_g^mUvC0Jrh%^j1H+A1kxVy;+)HHV3#zY&Cc=mf% zw{{M;d2hI3+40`Rqg$Js9eh)6mU^RuW%K*qRtK-?LQx0XbYut1+w=Nf2g^~>oi2YR zBfKt_jTE=mJNyUwGTyCG!L?nJ0M3Jh|s?DSQ=o!&kA4n5_%89X%av?=u~28+1F^ zcANUh#lE3Sad!h(#@MhW81D7`%*)oPe%PR)6Wux< zT^(j44mBsoXr8IH$gcrUccT#?&p(<1v$GY>(cfikkz%%%Z(4RDFAO^azCFgUyjz(y1fL+ zRPWxlpYU*bTU$28$`w+17u~(JqGj&-8rHiRWJW??+67Am;_U~DbvmnkK@@Dd+2sq8 zgWTIEtLr;k8QXfa?+sD~N4gJ1iGj$V(OXhd4eG@X>&ewOFP*v?y@xgWX4{2X%2RxnV6X z-s__G72d`k1=Uco?mw|ZIl!_+X?L-czUfs*q468LSfD0qdYLi6X+y_$Wd^3Om5vi* zHs_;Q1IAPk0fu$X1_~IyFQ;B5C?&RxuE8$%!R7oVf^Vje8x;E9-lp7`%@r8EZ}BDE z`Jx;**U!Ix;r8=9{wNsx5j=T|J-l%*Bfo|q>FvHoo$>Q2E63Q(rSgs5mjBJ$Izx9> zj>q{u2XeSni0yod;8$fkl6?!o^t1aO0}WxJ-&vwd_3O@WwL8Dv0L9%60)pje zs!TFCxwxsj8Fmt{rI7m^_5R1U0^lCVyx^c%4|@77TcXeMc6Y%ev>eD^?t|o=Mf%H4 zIliSwd34RvFgFG}dvQ~i>bonT+Oo8}!z8`7H0^eJV4VZ<9eYOCscBSrI~vxRA2)2p z;TanKE*!R$pA1_gM!L-Q@9{PerSHfVkXvtX0Zy>)29im#wWKL-tuF5$xwSevc|7r! zJEf0qx3ycbG|WT4!`0It+}_xiHb#N`$@MuJ=XxfP7$>g0iPLMok`}U2g%+}5fUbDH@PQsYqe_k59zi^6q=d zuR7=;!&3cTKW~>)k@gzqDjDf(>E``p9M0e7xF$>WFP^Ke9>~Rc%Aj>s z&r2G!V&5s2C(P~muC`fVFs$2sBbJ6mf5JVXS7mqe^M>XA&(+&pJ+ym3c~!hgkbc1M zQA0xCJ%4ZgmR+&sbiXguWShL*{Wbd^`NRGvp5l}u2?Ew7}hv?mTahZ`<9Ji1=~rF zoZrscd0Da0qcz}{4;t;^5>)wRT`t_hl|rD)_;7?vB$QrB17Mer8rknDz1Z#_vr%fU z4Z^RZRxT!Kdf!)q)xBJly>kz=%<-StcuO`dq_Hizir{}<>IrLjFfcJNI6FSlE zSsN9ht22JK);DNnoaOJ>341{0U(=H&ypKchrbH;4N1@AosoEb(C#*lpE|X4gC|H{2 z_Vj57%fg@LVRTj&;?AJN=$%1{Vd<}Q(~#aYK}->b^%V?1;B9h;4s5Z%|Fqa!fEFK9 z^+diMXQO!HWqBu$3+~7>+>vLvBkv3@;imk~213h^A44#@T#(g?PrGjxch#AG%g5{V zKG(zDJ#lt?PQpiqFxJTt<9MC%lSX-7J-m-p{?73_F_*1J^iLR;)zXjeAUU+7K<7`=1CP_Wdv-2JNjrS)XNo!V~szhdE|!sSos zvZUB<5EQ(k;l>>|if`rK-uUH0BO4Pi{mSb%+xL6rfBj}hpWQ9lteand?=C7M45(Zqvo?7&kdj&;WTmJ>i8Zx_M+{c@2Qc1m_ZO5U<6F>LR zVkrdmTBb|0s9~P5)?t|i1~%VF>(UW#PDk#UuDP24$X9HI z+`%TGgKZMWFb|zR4ta*FN}%iOhfqfu+nHiTpyP~jhwl2x4<;WIavi$rC;3bKs6Fbf z$9+`aViWIl?b4J?dFD-(2KnaAV@I=mc(=t`>9vw0Kg;BC6JY;T(Rj&dvHVE+MwkDH z2V1%qc*dp;^buA$C)4UH{}k=aK=Qk`E&s{m9eeT_S?HU+34Sl#R)571VDe41jy%QY zZBO5Q|51LuibBuQ=%3>5cBAy8J*j=&e$8j9;Vb5SMH;hA^3_^W8X1t_fgwT zXfE&eEqf!9O%FaI_Is*Z2EV7;LeUb)bvH7vwr4{w{Q=kCB+d^>QzNZ6Z@*W%;yW@% z@G9oc5lU@ayug`Jy^uB9-UyxCW|G?{XK-T-Mmu4jNertP&W_n^w z+1=jVT{~@aZjiSt$NuCEXgvkY^m;vyp00v{w^3Fg+dbG@>%OH?2YE6#f&RjWe2TeO zR?{p^zAs_l^Qd$i93Ti3%l~;C+|oPt{uFfELL0uXILihW$#~mTpIs3_8DFcjVBqMk9uVmVVbh z9%l|UEboZYXx0*v=&6HA2K4q2JW?jH9m6kN@3H*z1hV7brlqPXcrwc5^kcSbaZub9(K zWy2kf<<(tkpX|zoLDsV5(WJ`fNYxnxcUCuy?zm0w7fn)VE7Js|`zlDrxxoq77s!3*xXu7uEERXRJm#iZh09;Y zm@?noeadeza5C;sKg{b4q*)OdF84k(>1-1-S3~eyJtIqZ7ijOCS<7ht#{7@Def*H zDAw?yeu}TjZB48IiuIMYrR#S?U%)N!a-X@~*N(y$CaG9DvBcxX#5p3j)?eQj5BcQ_ z#(!shD;*V^WT8d0(0AvpbnL&ux?-XMAah@`6;3y^`4W_1ovX_G2?bx&%iM6iyYhF< zRh)HEo3>uJxgos+8*D%Hxa*9hN_%$AFgX*{)fywoA zc6B4f$^H2<{F1ZVp6_=O=Q9p^Z@!(CX8yZt2XddF%+mM|LKn^QE^A+662*?S4r=#lb|x>{5vtl7exh$u$(5+d9|ht^{YEE*Aan z?vB*=&TiiWIOA)4_KRLRdZ}{&NwIu4fWu?sUm5vXGnapFUuVuZLAs*@{5Cua`O2t& zXodL!+oh-So2<(uowKz|Ex*OFwSd~;DqX%uAmfj`e|@KIYD{AHIz;_pM*_w#^fR)2 zZy?F;=zP3Zu`YHVY|AlC{UWSl3)$pK3mzTZ+K>iBKGY-%5Ua~{&9}4k;`uL6#|mA# z{;vJIqx<+II{5dOI%r+|vf&`ci}F1LX$jg8lhkUr;rH(syu>01*C#2xdwr7PcJWtKP~6?JFSvW1lG2x^ba(YURHwa=!GZ2pmu7R< z_Uy}XFFW7l)`@)JK7JtPgpv%a*Y{*VMgPlp6j=2vh2RxwB377Q@XhZ0o~_kiy=&ik z)CAI+$!MnSj|}hb@N->G$5~(71yI9$&q-;dDiy7Kj0@*Rlv zTk^szE5!arAy{V)WdsFzj`M&>=&#F_A3oUA{Ox6%tv|6(5o`bM^maksaci+)+s@>< z8ULM@>e%0J-37vbM`l;n*D(p2F+8MLUN}ZCL!j;UlL?4cz6_Sy;fClZ*hXH?q3x!q zB+Gdk5t_eEhVb)Nz@7TAx4XY9i`INUlh*Xw?zN3g7FZSfd%HJG;#C_d&GAh+U)Sz7 zlJ5*i*CC5TyEwjGNL#BLYPM~EjHFPU7gr^{VtsvL4FS&Q;}oy&*{u|2pkuj9$&ja) z`367iZ}M~i*LqyH5(rk0o4$gz$;tPf0JFIfeT;seTOhcbPipthIhjT$#&vKRa{xy= zmX|V}Z%CxG2#IywNKGP^!n5y+5z9E)L}cvb%&+C9+a5^I-;wa|VI1BUqTbU^I^n@H z;kGq$`ci!nem^tjb99p4R=7R2@xLjr*HlmC*>%uex@_pk@25hyuEVC_B?^EKclecl z_<|I-{zf{#@0_v5LziwHZHM1q`r7mwkR5)0|CjQ7P}HX9cUwv4cSwo(9mtGD9bGf- zVx2`HW`mlsUnkho@x8^CE~8|5jm;R}No=w132OD__Y6trcL_7rdl5SJ^Sgwk^E-nX zvpvA>V88vi&5z&3BR{{7N1WSB?k>i6PmrsF$L#JIjN%a&A!TZv65)Aeo=-JIYJDZE4%G zK03sGv*Ry*e}d`tC0VyH5%W6`8RI(;#QY8f@KZJ}Yvn(iY#}&No=idru}k;QmbY|# zzyb2)eaF{ufUm(F&+ zqUJCB=iB4FhPxA(O22}+6!O0!Wo?O({=IgU#Sx~_BG>UcgC2tTRK1TgOKOV4uWlr_=^t>O4 zm=`1x>)MU}5kKRQ_&5~?{WujSJ{tIge#e7;$Af;ygMP<@e#e7;$Af++f_^80ekX!{ zCxU(_f_^80ekX!{CxU(_f_^80ekX%|Cxd<`gMKH2e!kfRw4{bW;Xuy z=>x+u!ItMwb(k?~j~58tzIT@2fPwMaEBQHngzN-&XDfxiCzna??DO?kzl*lqf9$W= z6jx3!&CN#M4J+xxdY#o&d3ls+aZBP@zmn}Y06A`(Ajf%ogvgVc4%=0L;TPNe$A)w7 z2)c}9TKyz_XG4SW>)S65%ox5cHxRCQM77u>%CNl4Ey)|T3j{`&Z^m(j+%b0#n?BNB zsy!YgLhoKzqxS6WclO&mZfEcecXs3&?#!ndmZ>j^3A@zDu#OI(uwluX9yPozZ*#V4 zD&OJLeTeqOG*2LB$>g+xoDRtT!PU4~UcM^Vev!=`HnIU({#aFFo``1_rKV8_^|igO0ebw6?r-~t+gf~ccT0~q_zyyNlTqXCu&LG`woiIjNPGRa zeE&~yd;PcL&VELtx7U9=UB`krL}K*LB&Ol^`fumgA29&v{L>T`EZ2eO=12K6)=3%1 z`MU6oIYb0K?}r7>>jxcd2abSwT{z`Qi{b-x(687ui)aWeE7*Q)1z76962DDLYYzar zULs?IHfbnqKeyFK>2d_?`5;~=p7B*1XSDRIQcvYN@l3~c;u-UM85!au~ zcOvDkIXzE$cHK5rWQ_5q-ZgdD4)sA^#xjX2KecpyBLucXG#!4~!RLtd>VO@hr5904 zSQc$$2~?(G!7ruB_SN|1C2UEa4T?MYsVX8ve=&YGzQEF8@w#`TE4F)tJM@<{vHWRz zrQ^EyjITL4W8G4rm%xEvm(08A^Afs_gp3F z4Zd7Eu!QBUlekT9-*=TIAzR)Mx??urz*JZ0@-EKJn`*D!kCs1|AXoxxO}5lv$HGA+ zm0=y11q=Tj-AR14Jr5%IU>&(9r^^@J+wrS>2X<-vFIbj~+5>NPTS0sMfPNo#X*>ev zJRq@kme1%17$q~!Z+GkTj-1F~{nwtPGyP)UjqMDV47a_He7{xr#UmqLfT>vLTwJ=- z6|+kqoiYt)Z#lok@VcMSQ+hY16(7j?i3A zW$G(0&&qdgWqZoqq^n7{b&^Nt9S`fFj`S_hC3z(=Y@0583yfpcqQz1@^MOI@Twl~H z^j!nP`E;wu)6Tb3pS?4d!59?2C(DnW;ddd&?QVB*r|Gm5gYoC=`6Wm{`?HR}0(cJm zmB0<~*O31F4g1$O051Z40s7a1Uc9?3zX$x)peJC;???WNo*(7)fxiyvhrrZl5Yi8W z{P7RCK3|UXCFmaju7bQO(8s`NK8xmm`)*756w*(Eev`mo1JmDA;IBgZS-|55ZvSrv zeG2(s4?G8dF0UYe0sIK~i~l2(2Qbs8KyMDaeII9jA^#fsJqmgs=~oB-3F=0CgsoX_e*KJ}Shea$p;ugLwofnEps73hq&X`s&n zo&3hJme;)E%0DlwwpF;W>%J07ey#f9RaPQMz9*nm> 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%0DnK|0g$z)XQi?CT0Vba{5;RL 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

9gjEC|_EUkku)a2C_PA-^~kf`nFp*#Gs>wQKz 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%0D&Lr1MC+avC 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

uCMR$Ra8as{*fjTZ?yi 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%0A)JAEdb?#t~)MCrl|_6L+LDa`XC6 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

>^L*S7@-wy~%VA%b0A(n{jxbl#T=%$GU*& zaE#c=GZN6H4w@&AhdveuUIT!ErrP9}wtz;?w00CQHxA?g7>D%W^E@Y`k>v?wl~Xej zm+kY9fxB31^@+2r7qX`=pX{NQAbLg&tyDL-uMfk2iorZZ!Mt;u%4mQZ&IgPeceC(y zBaKW;@D*RbnGMiqo}5CSKhl{~$cG-n)7p8o-yA2Ska0k)YYLhT2$`aG zC#Fc(jcx|Zgl?_-QeP|5$t`1!)t2hhPv82kZ%4gx`#(oH7Zq}F0y!3lb($x*yzNMf zJUI(43xQ9?^?48by_h6p`+wg#!zLL!5SR^|SE1D_P1qd65lEaM$a*>f_J{qmcRCu@ zu@|Un1?7P>Wkf-!sFOor4M3E99%u5P;8eC_G;6rR(a$_Jg;Z8M>k2s@h*hh@K{h(g zlM&#zao~>t^r40_TJ0NvzLfM&JQahze~b&;U_<75q2nWkU9=|<6AJ+zjst&Z9Yj3e z8y-69C4s3t7+xj_1&@GzTb(+*uPxo&sXkRGw8zZK4l7*$5-= zIAS>AHe8{sf#>d+lJ9xEkCNLA2h88EGD?O+gCl7A%Evdr@kN6NTqtR0?qiOx{e4yN%V%CHV+C(_iTy@Uo2t)I-?uI!6KYMgkdRw%6>MMW&6OhStn=O5WpG) z5JQQY!hyyPNOYORgqa$s$nZ*c1bNh#KrRF#H_^B>(^62@8?&lIkNGH8GW8f5;O{yBr@vi-0OIn!rCz z#fz*_*MWltR^11j1}c<*9atDtrg;4g`}{{#MrqVB>~a{9p2~W>YGEm!g<#oc&IAo1 zC5~+k2L!=xd9~Mx-jpKB?MJbx*Qii2O*{{S9)g=x1b09iV#%wxT(yR_I{W@1T&P%IEK=}J61O3xF%W$_^c8h4{gKi zj13uiS_={Tc8BL;Q@!kWjRmI4h;^^0RbCgw7D=S-)WzqFud8sEA1V%siE&y5G#(;d z+!+9G1Zd;sPRBk1IFv5<{DG@YDw3##crrpi52p%&w8g5_B@TJ%b@u6vjW|2viRb*r zZDp6|6^fJks^)7zU92?t-FX3UGC&(EeRQtI$GFkNQUEOi7>Xx1D_$RbAL}}U{C*uK z2&+?+?J}vPL%rI)#F}sy&ah>>vGv9+1*(ZlNi&4tN2!}|G=tsaHCA3yt?J}0J5|io z5e}zk4|QTsq@y8-t7Tbk08mB`%z5czmFXBC=FJ)G!_oqPCbbQAcK~}XiQ(gtG_oh5 z&hTM?O(Tcop$^ch8;ewjMD?I+2P?P=f}t!84B47pipj8&cZ_jz)^#YHlXg7F8G=tb zg0FX~uI>$olr&pgk2kY)p2o8s*^)os%NE_b@v1RjcQ_n8lMOM};&j$^zC}E}I!hj% zrsQ@fj(2yKe~Bp7g$gwsw)Hm0)HTxu6ov31GSn>;(Jr2wM)kL_=Qh84s|l zPjF!e*r$MP6D`2M8hq!SpH82F6U-KGJnb6gL_3ai5J9`hvR|GEpMp%f7pzdAa-vGz zp+iF%ANHnrgn^81N>yKjpwBr;g68(Kj4lTe3al%|UL;r;+x28GZIQ7^JH*~X`N@a1~?IE}HxX%XA zyDO{@Vho4^h>x(PlqU2P{*Y#m(>Xm%PHG!82B;bV<6Op(AVQurxRRxIdXeBuQe-1# z7(d5V}AA{js)y&M8RO9=pvhoBJHks99jb|lg_ zdlpjBtvz|6u~!+k^U8s)S}Hp%y?kJbgXnbYOU1(v@v>S@Stx)LyRp&`0f+xvkFg z%-Z`Z!y>4@moO2ai4D##;xZ3!&72iPuZ$U}?^%d1yLh7LVg&mrfNgoc?^8=t3vTez z{s2wrP!{aG0Csgu84oGqUR@785S2CX-4{g68u+h(ZE81mp@8>fi)gJUY{7>wbQUc5 z8bIvN7>66X7GjE9L|a|t%POokfGq;1cOCF@)6bbwht5FV#T0JX8QTln+r{>qo*jd2 z{bLuN!S)BHZKI=`!jxX=0@=i*I=+sjpR+;PRFI89S!KKmunFCvF9y-|z6tfAQpviV zE_OCNcv={4@nGCUwKs>aO2O|3ZXNd(UWqXbc;v=&B9(L)L8EJV7Gc;(&2Pwc;!`7Nqdo*|a?zo8Ulu}F z0mU|B@z~O_qsJ8Ec|4<-ZEGA|TG`i5UqPZ@fdhW#3|p;7Lf{(!BY~+|**AV34MCwr zKoi1fc%}!W0iVj^5$BK0cH>qBEde8hPr5ve*8-0kn#{{oC&$GFz55q2BZ961YHlBw z(Rxr^cuLDg;cdW(E0g*7*`}j(R)9LZo0&G&wV?a_V*d) z-pKd}sMaw#H)|L-?U-LZy^}7BS;pO6zQQ+U_ebxF7&3ck850`=@Xky_#vJJ6edN!? zx__3|$PPkz+^x8t!t1YhLn3bCG)whMT!>v*w z-6-Kurfp0@_XDCcSl(4hy$173Hf9Fa18%i6|KeRE);SmYatHaY%_Q{mNY-5L(1bLy)EdtT!?8@a6iJ?2=WgM4>kAuC}5 z{`FsZxI;7p7xDiZ@#FvW;{b>K){k{4DH;3!*Ua(Ss+o$QU&M{n|C`s$H@S{WoxC@T z=7aVSGWlrLSiyr2gdNQ+JXKby-quj(S$hG-u^R)}N?_GsycdTn)yn+lH^s#D!TzBhuC7ZQ=ppJZ z#2iNCB5?sG;Cx@b6G#MjH4c1Yfo@ziz%`G}Zgvj%4=e8P;o`t_^>`yq21Ca$f?t<{ zuVh2!`RM0Cs0{{W&hU)EvB@AEq265BXX#+1ra{Vf2i}anWucy+V=1yJ+h7Ax$6%OL zfnn(V3`|&>)_~G6LvNX_Y-_2{(x_Vk;BPAv2LA@c00XMhd`#w)^-$n;}Sp@fqIRFNk(u@8=uRCT>AZAiv}Ba9T?^H!v& zNex||*b0qf#=s`%c*uPn=jONMT6$*kg`!|4V79|ok7M2k6Bq{(RS}hV$_7K z6}DOiUQr6O9L!L1ce~_NW_UNbt1Sar^k|sH;!v;pjpSLLYQ$BPO$Qy41nK zeaeF3&~u>J3lq1!?g^W;5#g*h)~y=Mo()Bbow0NU02a^zy_I6vcowy*lwkIVKWeku zOoO61_PvG$0-H7G3TfV7zCu%~JD^)Z>W6b6`m8YR!_99qsoD^E82BrXc0JV(U@+1 zD0vS^X)ZmLJbEFBt^=yRsWAt)6xA0xw!I%Ufj@TPpeae{SU}kQ)-A)ypwLAY@Kr7I z)e}`8Q0h)v(GPP8nE9-VW#NS83auI9Eqp*(4e@>ko)}f{(IxCI*Saa}f(Mo96!t8z zG1;^6>t$Nb$-8X69GFdilg;MZ_q|}sr3PKMSNp>H#`}67GX|>oX8SG=AvpO6g9~mP zFkTjm6v;UZnsQ=`n0}6ak!ZvU>`#0Rd1qe^Fw(6e9E;);45oewp}D>dUs$KlAT*H7 zij@P)ya$(i{ZIWHGjhKlq}PN4*H7^2R#h`29#=p)Bu(a=O=le z7^K`6kmHf5Dn|o*IsVUyIy0cp+dlI3bq;|}p#BXQ)>%5NXvG^)ZRskCsZc{b z9#HOd$oWG2v^hS6+1)j=sdGd-Mm{ZB-UlmCOC*1Qw3o;I3vc__*AO26HH4>hcDL8| zOyNTXi~lpVhoI)iy05pPwq+!$HUBNZ-x;;txI8fxw{GZ@Xb}C0mOUPcaet!CgA%1n z2Pd`yVs;dhmi%)EsW7`x(|zA4gNAH!XhCMbdo_DGQpP98vF*EQ(O)D~eyM z&30FH(p53~PG5RTcV|02lR(}9VwZ#Ms_u|y#ot2w(F4jof$;er3rt`DyMlTpxn?5H z+Vs%zKx5EJY|CKg8)KKToSDMNHYU%HaEb>Ph)nIT$DJ-!Q$Ar6$-s7c&aUc1k@%;n?b-5{iN~lSiNZb!dGPT1;GspXEX%}c&!$AGh+aZ@Ep&J0%TI&sbYBOf_ ztvs_(S7r==Hu*cmJG*p!|fvKQbCkV|6BWwTSn0 z<8b->f+Kp{RayCz?Z&~1mjmEY0Q2RwE$ni(GGX)@aQhi=KhjyAn!!E@V4J*x=A_Ja zt$84=EeT*MA7h>3!#F!XrL7ZNsCA5*H@|v)5gnpR)}MeAb5AkeO=E2KDxA`v>nNjP zpsY`A*~XrUIP%v+lNnYU?UIbvtp>%Ar!k|PGlYZhw40>6TmXC`*TmxY0;rGZiLMLp zS+Gnw#OulGMTyTs;Eu0Jy3{rm@D`p73~2-~KC#jPmQgpaDO%qR2f|5@mCz*L6gEa4JBQ1Vm4#tdeasvJvz| zE8L*J@~EVLZlt5|Er7A=BG!3Jjs6WFzQE|QzkH)#_TF#8RZn~j)3HTIk9`c->D-;x z^v4|oZfNPlMWsgT#}+x9z*7SWtcL(ETsW28-_qsOVR;`U z>-Uu8{)i!tSuRJv z!f*Yv;2-v9h5d;axM^jCdR|k!=`q6kR|I`NY9E|EfixS8o8sUd_@HG~y ziP1fv^IZX2?2%l8mN1Rx6eFXh{FB>J{9eJoRkSz)e+6l_0r@`l-XD4`5H#%Cyxu2Z znW6t0SY`%f^br+S$ueo$q7<_iXtTT%k|J{WN3P9E5$S=5-*BafU8ybU)+U!PCQ$U0ryCqX3I0^{x8J23pfUdy9|b+V!0Y@*n6q|W8fS;~2~K?$pT#>i z1wR2em&;f_1BPHl?Yaw zH-)C?v$$U|fjJ3*y1t2h^=+7$-H^_D3@jeoMykVG3`Wx^QvA36oR#FoE|;#u7>p`K z684BBKNf@eNeLT;%a~`gT^18$DS@9;;umr-YSfQ_$R}H5qf@`n^E^~rI!Cs2_V%>2 z6*Oe$AAy6r^iMXJgtz(vFcuD)NAh`1{!!3YyQmL^i$;JI=KLy^vm6{Wq}8V1l7nP& z-i|&5D*{vDzvIZkKukLvkyR$>%YNDWg6%i10SnW#1>Ix@B$f{-u?7+-K@nZr<|_d? z3urig+n!rJU8;sahk;?#eEixJ{2>pYmhEZoY@nhI&V+`h0*VDk^`6*7yr(>=rJEK2 zld6njh2o>PUvqx1fmIa1f$k{bfi)W zrUFfXH-*55Sw9pboNYE1%tM)o6C}@4s=GMmKhXIJbgaXs(P7y>+Y%~78`@!O-{(3#$XdvIRCer#@D60L>S9?6 zMMFrlg&tFA7eLzt2+k1BXI5x}a03`Iyfde2`(M*ppGZjjnVZOTNG2n@Z6lpQh&2T) zX=By2uRy(LQ^%+o))vUy@h2!q-C@ul@A!$2neUSY_9r z6?BX+T(X}GTDu*Q)Cv9p2h|UM$DOpZA>~KFREZqo{sUa)qUtd!XvduyVc*hEsHl@C z6*LpF+ApO(d|;iwK*vO8&`R6wqGLE{jn&Xl(H^wQ&bykl;2Kp@TtQ<6arsmYTE|z3 z=nT3KxQSDQ@iG`vj3Vd--!#5O;2Qu(^WteiIDGfDCwG9hf;QgG`lDkRmOBx0#=m|A zuZN)c+pkpX?#BOq#V&(bG(LY6M8!u%y@K8V7A-?+wTRPy#vTE`jbaYWsIP`I^jiu4 z4C@fEqCT|?!ahlz{SnBhI|8p`lL36kJ)=&D@CtyDvM1=@fvTWo@wcpkHrk63mmGkG z0n))Jso^R$!1^&*#)UZVHt1%*~a zC=#8Z)Mop|qcTDei3*RL3wRr?f@TAa#lYh}0B+oIkNq~-e(7H zILA*l5SSTM(B^qIO1`vi4n*Wch?uyf$y@^&iA0(}ZNBk7O=2-5l-qXPDN~sWx?MOb zWAw_5p4C*)>)`3a6IB~-Nh^EocU?p*SHcJgUj$)^(SVY(hnuJkD0&t|RUFO8%1*T^ zXqhlMno*`2cfSR$j%bvPY1;58q7<4(xY$PdX&S$RhD3RA;w=Rx-h-200(qJ7j8iRo z1syhW6Os?kS>#k8`B9;t0g{i|S)sl{4w#otEc9bQN)5%Ug361GVIkW=YO6w@4qE98 zd0erzC-i*K)|gj;hLw0$J-i;cGw(4@1H*>n;mxIffF9#)FjUBL3bhJzvI-hK$^`3y z9RPKh9(pcN6`%*UkG7$C=whHMC^bbZ8Dm0GbR%dTfC5eeplmC;y3CqY0O8MY{N0Fu z&}Q;4ZFi9T|MV%_D?0Y?H%2yhVn0>gP$+1c-;S#+Is7du7&Q{tmq(f=PX9lmsiCf* ItB;NRFJLe6uK)l5 diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/hcl_test.go b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/hcl_test.go deleted file mode 100644 index dfefd28..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/hcl_test.go +++ /dev/null @@ -1,4 +0,0 @@ -package hcl - -// This is the directory where our test fixtures are. -const fixtureDir = "./test-fixtures" diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/lex_test.go b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/lex_test.go deleted file mode 100644 index 876a459..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/lex_test.go +++ /dev/null @@ -1,113 +0,0 @@ -package hcl - -import ( - "io/ioutil" - "path/filepath" - "reflect" - "testing" -) - -func TestLex(t *testing.T) { - cases := []struct { - Input string - Output []int - }{ - { - "comment.hcl", - []int{IDENTIFIER, EQUAL, STRING, lexEOF}, - }, - { - "comment_single.hcl", - []int{lexEOF}, - }, - { - "complex_key.hcl", - []int{IDENTIFIER, EQUAL, STRING, lexEOF}, - }, - { - "multiple.hcl", - []int{ - IDENTIFIER, EQUAL, STRING, - IDENTIFIER, EQUAL, NUMBER, - lexEOF, - }, - }, - { - "list.hcl", - []int{ - IDENTIFIER, EQUAL, LEFTBRACKET, - NUMBER, COMMA, NUMBER, COMMA, STRING, COMMA, BOOL, - RIGHTBRACKET, lexEOF, - }, - }, - { - "old.hcl", - []int{IDENTIFIER, EQUAL, LEFTBRACE, STRING, lexEOF}, - }, - { - "structure_basic.hcl", - []int{ - IDENTIFIER, LEFTBRACE, - IDENTIFIER, EQUAL, NUMBER, - STRING, EQUAL, NUMBER, - STRING, EQUAL, NUMBER, - RIGHTBRACE, lexEOF, - }, - }, - { - "structure.hcl", - []int{ - IDENTIFIER, IDENTIFIER, STRING, LEFTBRACE, - IDENTIFIER, EQUAL, NUMBER, - IDENTIFIER, EQUAL, STRING, - RIGHTBRACE, lexEOF, - }, - }, - { - "array_comment.hcl", - []int{ - IDENTIFIER, EQUAL, LEFTBRACKET, - STRING, COMMA, - STRING, COMMA, - RIGHTBRACKET, lexEOF, - }, - }, - { - "null.hcl", - []int{ - IDENTIFIER, EQUAL, NULL, - IDENTIFIER, EQUAL, LEFTBRACKET, NUMBER, COMMA, NULL, COMMA, NUMBER, RIGHTBRACKET, - IDENTIFIER, LEFTBRACE, IDENTIFIER, EQUAL, NULL, RIGHTBRACE, - lexEOF, - }, - }, - } - - for _, tc := range cases { - d, err := ioutil.ReadFile(filepath.Join(fixtureDir, tc.Input)) - if err != nil { - t.Fatalf("err: %s", err) - } - - l := &hclLex{Input: string(d)} - var actual []int - for { - token := l.Lex(new(hclSymType)) - actual = append(actual, token) - - if token == lexEOF { - break - } - - if len(actual) > 500 { - t.Fatalf("Input:%s\n\nExausted.", tc.Input) - } - } - - if !reflect.DeepEqual(actual, tc.Output) { - t.Fatalf( - "Input: %s\n\nBad: %#v\n\nExpected: %#v", - tc.Input, actual, tc.Output) - } - } -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/parse_test.go b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/parse_test.go deleted file mode 100644 index 81f94be..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/parse_test.go +++ /dev/null @@ -1,83 +0,0 @@ -package hcl - -import ( - "io/ioutil" - "path/filepath" - "testing" -) - -func TestParse(t *testing.T) { - cases := []struct { - Name string - Err bool - }{ - { - "assign_colon.hcl", - true, - }, - { - "comment.hcl", - false, - }, - { - "comment_single.hcl", - false, - }, - { - "empty.hcl", - false, - }, - { - "list_comma.hcl", - false, - }, - { - "multiple.hcl", - false, - }, - { - "structure.hcl", - false, - }, - { - "structure_basic.hcl", - false, - }, - { - "structure_empty.hcl", - false, - }, - { - "complex.hcl", - false, - }, - { - "assign_deep.hcl", - true, - }, - { - "types.hcl", - false, - }, - { - "array_comment.hcl", - false, - }, - { - "null.hcl", - false, - }, - } - - for _, tc := range cases { - d, err := ioutil.ReadFile(filepath.Join(fixtureDir, tc.Name)) - if err != nil { - t.Fatalf("err: %s", err) - } - - _, err = Parse(string(d)) - if (err != nil) != tc.Err { - t.Fatalf("Input: %s\n\nError: %s", tc.Name, err) - } - } -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl_test.go b/Godeps/_workspace/src/github.com/yudai/hcl/hcl_test.go deleted file mode 100644 index 31dff7c..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/hcl_test.go +++ /dev/null @@ -1,19 +0,0 @@ -package hcl - -import ( - "io/ioutil" - "path/filepath" - "testing" -) - -// This is the directory where our test fixtures are. -const fixtureDir = "./test-fixtures" - -func testReadFile(t *testing.T, n string) string { - d, err := ioutil.ReadFile(filepath.Join(fixtureDir, n)) - if err != nil { - t.Fatalf("err: %s", err) - } - - return string(d) -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/json/json_test.go b/Godeps/_workspace/src/github.com/yudai/hcl/json/json_test.go deleted file mode 100644 index 418582b..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/json/json_test.go +++ /dev/null @@ -1,4 +0,0 @@ -package json - -// This is the directory where our test fixtures are. -const fixtureDir = "./test-fixtures" diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/json/lex_test.go b/Godeps/_workspace/src/github.com/yudai/hcl/json/lex_test.go deleted file mode 100644 index f573fba..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/json/lex_test.go +++ /dev/null @@ -1,78 +0,0 @@ -package json - -import ( - "io/ioutil" - "path/filepath" - "reflect" - "testing" -) - -func TestLexJson(t *testing.T) { - cases := []struct { - Input string - Output []int - }{ - { - "basic.json", - []int{ - LEFTBRACE, - STRING, COLON, STRING, - RIGHTBRACE, - lexEOF, - }, - }, - { - "array.json", - []int{ - LEFTBRACE, - STRING, COLON, LEFTBRACKET, - NUMBER, COMMA, NUMBER, COMMA, STRING, - RIGHTBRACKET, COMMA, - STRING, COLON, STRING, - RIGHTBRACE, - lexEOF, - }, - }, - { - "object.json", - []int{ - LEFTBRACE, - STRING, COLON, LEFTBRACE, - STRING, COLON, LEFTBRACKET, - NUMBER, COMMA, NUMBER, - RIGHTBRACKET, - RIGHTBRACE, - RIGHTBRACE, - lexEOF, - }, - }, - } - - for _, tc := range cases { - d, err := ioutil.ReadFile(filepath.Join(fixtureDir, tc.Input)) - if err != nil { - t.Fatalf("err: %s", err) - } - - l := &jsonLex{Input: string(d)} - var actual []int - for { - token := l.Lex(new(jsonSymType)) - actual = append(actual, token) - - if token == lexEOF { - break - } - - if len(actual) > 500 { - t.Fatalf("Input:%s\n\nExausted.", tc.Input) - } - } - - if !reflect.DeepEqual(actual, tc.Output) { - t.Fatalf( - "Input: %s\n\nBad: %#v\n\nExpected: %#v", - tc.Input, actual, tc.Output) - } - } -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/json/parse_test.go b/Godeps/_workspace/src/github.com/yudai/hcl/json/parse_test.go deleted file mode 100644 index 806acb9..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/json/parse_test.go +++ /dev/null @@ -1,43 +0,0 @@ -package json - -import ( - "io/ioutil" - "path/filepath" - "testing" -) - -func TestParse(t *testing.T) { - cases := []struct { - Name string - Err bool - }{ - { - "basic.json", - false, - }, - { - "object.json", - false, - }, - { - "array.json", - false, - }, - { - "types.json", - false, - }, - } - - for _, tc := range cases { - d, err := ioutil.ReadFile(filepath.Join(fixtureDir, tc.Name)) - if err != nil { - t.Fatalf("err: %s", err) - } - - _, err = Parse(string(d)) - if (err != nil) != tc.Err { - t.Fatalf("Input: %s\n\nError: %s", tc.Name, err) - } - } -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/lex_test.go b/Godeps/_workspace/src/github.com/yudai/hcl/lex_test.go deleted file mode 100644 index f7ee378..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/lex_test.go +++ /dev/null @@ -1,37 +0,0 @@ -package hcl - -import ( - "testing" -) - -func TestLexMode(t *testing.T) { - cases := []struct { - Input string - Mode lexModeValue - }{ - { - "", - lexModeHcl, - }, - { - "foo", - lexModeHcl, - }, - { - "{}", - lexModeJson, - }, - { - " {}", - lexModeJson, - }, - } - - for i, tc := range cases { - actual := lexMode(tc.Input) - - if actual != tc.Mode { - t.Fatalf("%d: %#v", i, actual) - } - } -} diff --git a/Godeps/_workspace/src/github.com/yudai/umutex/umutex_test.go b/Godeps/_workspace/src/github.com/yudai/umutex/umutex_test.go deleted file mode 100644 index c3b7f65..0000000 --- a/Godeps/_workspace/src/github.com/yudai/umutex/umutex_test.go +++ /dev/null @@ -1,50 +0,0 @@ -package umutex - -import ( - "sync" - "testing" -) - -func TestTryLock(t *testing.T) { - var result bool - - mutex := New() - - result = mutex.TryLock() - if result != true { - t.Error() - } - - result = mutex.TryLock() - if result != false { - t.Error() - } - - mutex.Unlock() - - result = mutex.TryLock() - if result != true { - t.Error() - } -} - -func TestForceLock(t *testing.T) { - var result bool - - mutex := New() - - result = mutex.TryLock() - if result != true { - t.Error() - } - - var wg sync.WaitGroup - wg.Add(1) - go func() { - defer wg.Done() - mutex.ForceLock() - }() - - mutex.Unlock() - wg.Wait() -} From 84f098fe4ced4cbe9aa8640a681315f93e54b3f6 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Sun, 18 Oct 2015 11:38:12 +0900 Subject: [PATCH 16/82] Generate shasums --- Makefile | 3 +++ wercker.yml | 3 +++ 2 files changed, 6 insertions(+) diff --git a/Makefile b/Makefile index 0b91ed1..77c173a 100644 --- a/Makefile +++ b/Makefile @@ -49,5 +49,8 @@ targz: mkdir -p ${OUTPUT_DIR}/dist cd ${OUTPUT_DIR}/pkg/; for osarch in *; do (cd $$osarch; tar zcvf ../../dist/gotty_$$osarch.tar.gz ./*); done; +shasums: + cd ${OUTPUT_DIR}/dist; shasum * > ./SHASUMS + release: ghr --delete --prerelease -u yudai -r gotty pre-release ${OUTPUT_DIR}/dist diff --git a/wercker.yml b/wercker.yml index 3332e1d..cf88ca5 100644 --- a/wercker.yml +++ b/wercker.yml @@ -18,6 +18,9 @@ build: - script: name: targz code: make targz OUTPUT_DIR=$WERCKER_OUTPUT_DIR + - script: + name: shasums + code: make shasums OUTPUT_DIR=$WERCKER_OUTPUT_DIR - script: name: store Makefile code: cp Makefile $WERCKER_OUTPUT_DIR/ From db45d0febc597e32be8357e2be650d7589ef3887 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Sun, 18 Oct 2015 11:57:30 +0900 Subject: [PATCH 17/82] Generates tar balls on release --- wercker.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/wercker.yml b/wercker.yml index cf88ca5..d8ed29a 100644 --- a/wercker.yml +++ b/wercker.yml @@ -15,12 +15,6 @@ build: - script: name: cross compile code: make cross_compile OUTPUT_DIR=$WERCKER_OUTPUT_DIR - - script: - name: targz - code: make targz OUTPUT_DIR=$WERCKER_OUTPUT_DIR - - script: - name: shasums - code: make shasums OUTPUT_DIR=$WERCKER_OUTPUT_DIR - script: name: store Makefile code: cp Makefile $WERCKER_OUTPUT_DIR/ @@ -30,6 +24,12 @@ deploy: - script: name: tools code: make tools + - script: + name: targz + code: make targz OUTPUT_DIR=. + - script: + name: shasums + code: make shasums OUTPUT_DIR=. - script: name: release code: make release OUTPUT_DIR=. From b1c52268758e62c25764351ecc2f88adcbda6caa Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Sun, 18 Oct 2015 10:50:14 +0900 Subject: [PATCH 18/82] Release v0.0.12 * Bug fixes * New option `--close-signal` to choose a signal sent to child processes --- app/app.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/app.go b/app/app.go index 031f35c..3fb332d 100644 --- a/app/app.go +++ b/app/app.go @@ -69,7 +69,7 @@ type Options struct { RawPreferences map[string]interface{} `hcl:"preferences"` } -var Version = "0.0.11" +var Version = "0.0.12" var DefaultOptions = Options{ Address: "", From a350994aa2a3328ecb70755f46ad3358adb2b37e Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Wed, 13 Apr 2016 16:01:14 +0900 Subject: [PATCH 19/82] Change to go1.6.1 and vendoring --- Godeps/Godeps.json | 14 +- Godeps/_workspace/.gitignore | 2 - .../braintree/manners/test_helpers/certs.go | 29 --- .../braintree/manners/test_helpers/conn.go | 13 - .../manners/test_helpers/listener.go | 34 --- .../manners/test_helpers/temp_file.go | 27 -- .../manners/test_helpers/wait_group.go | 33 --- .../cli/autocomplete/bash_autocomplete | 13 - .../cli/autocomplete/zsh_autocomplete | 5 - .../go-bindata-assetfs/main.go | 97 ------- .../websocket/examples/autobahn/README.md | 13 - .../examples/autobahn/fuzzingclient.json | 14 - .../websocket/examples/autobahn/server.go | 246 ------------------ .../gorilla/websocket/examples/chat/README.md | 20 -- .../gorilla/websocket/examples/chat/conn.go | 106 -------- .../gorilla/websocket/examples/chat/home.html | 92 ------- .../gorilla/websocket/examples/chat/hub.go | 51 ---- .../gorilla/websocket/examples/chat/main.go | 39 --- .../websocket/examples/filewatch/README.md | 9 - .../websocket/examples/filewatch/main.go | 193 -------------- .../hcl/hcl/test-fixtures/array_comment.hcl | 4 - .../hcl/hcl/test-fixtures/assign_colon.hcl | 6 - .../hcl/hcl/test-fixtures/assign_deep.hcl | 5 - .../yudai/hcl/hcl/test-fixtures/comment.hcl | 15 -- .../hcl/hcl/test-fixtures/comment_single.hcl | 1 - .../yudai/hcl/hcl/test-fixtures/complex.hcl | 42 --- .../hcl/hcl/test-fixtures/complex_key.hcl | 1 - .../yudai/hcl/hcl/test-fixtures/empty.hcl | 0 .../yudai/hcl/hcl/test-fixtures/list.hcl | 1 - .../hcl/hcl/test-fixtures/list_comma.hcl | 1 - .../yudai/hcl/hcl/test-fixtures/multiple.hcl | 2 - .../yudai/hcl/hcl/test-fixtures/null.hcl | 5 - .../yudai/hcl/hcl/test-fixtures/old.hcl | 3 - .../yudai/hcl/hcl/test-fixtures/structure.hcl | 5 - .../hcl/hcl/test-fixtures/structure_basic.hcl | 5 - .../hcl/hcl/test-fixtures/structure_empty.hcl | 1 - .../yudai/hcl/hcl/test-fixtures/types.hcl | 8 - .../yudai/hcl/json/test-fixtures/array.json | 4 - .../yudai/hcl/json/test-fixtures/basic.json | 3 - .../yudai/hcl/json/test-fixtures/object.json | 5 - .../yudai/hcl/json/test-fixtures/types.json | 10 - .../yudai/hcl/test-fixtures/basic.hcl | 2 - .../yudai/hcl/test-fixtures/basic.json | 4 - .../hcl/test-fixtures/basic_int_string.hcl | 1 - .../yudai/hcl/test-fixtures/basic_squish.hcl | 3 - .../yudai/hcl/test-fixtures/decode_policy.hcl | 15 -- .../hcl/test-fixtures/decode_policy.json | 19 -- .../hcl/test-fixtures/decode_tf_variable.hcl | 10 - .../hcl/test-fixtures/decode_tf_variable.json | 14 - .../yudai/hcl/test-fixtures/empty.hcl | 1 - .../yudai/hcl/test-fixtures/escape.hcl | 1 - .../yudai/hcl/test-fixtures/flat.hcl | 2 - .../yudai/hcl/test-fixtures/float.hcl | 1 - .../yudai/hcl/test-fixtures/float.json | 3 - .../yudai/hcl/test-fixtures/multiline.json | 3 - .../yudai/hcl/test-fixtures/multiline_bad.hcl | 4 - .../test-fixtures/nested_block_comment.hcl | 5 - .../yudai/hcl/test-fixtures/null.hcl | 1 - .../yudai/hcl/test-fixtures/scientific.hcl | 6 - .../yudai/hcl/test-fixtures/scientific.json | 8 - .../yudai/hcl/test-fixtures/structure.hcl | 5 - .../yudai/hcl/test-fixtures/structure.json | 8 - .../yudai/hcl/test-fixtures/structure2.hcl | 9 - .../yudai/hcl/test-fixtures/structure2.json | 10 - .../hcl/test-fixtures/structure_flat.json | 8 - .../hcl/test-fixtures/structure_flatmap.hcl | 7 - .../hcl/test-fixtures/structure_list.hcl | 6 - .../hcl/test-fixtures/structure_list.json | 7 - .../test-fixtures/structure_list_deep.json | 16 -- .../hcl/test-fixtures/structure_multi.hcl | 7 - .../hcl/test-fixtures/structure_multi.json | 11 - .../hcl/test-fixtures/terraform_heroku.hcl | 5 - .../hcl/test-fixtures/terraform_heroku.json | 6 - .../unterminated_block_comment.hcl | 2 - Makefile | 8 +- .../github.com/braintree/manners/LICENSE | 0 .../github.com/braintree/manners/README.md | 0 .../braintree/manners/interfaces.go | 0 .../github.com/braintree/manners/server.go | 0 .../github.com/braintree/manners/static.go | 0 .../github.com/codegangsta/cli/.travis.yml | 0 .../github.com/codegangsta/cli/LICENSE | 0 .../github.com/codegangsta/cli/README.md | 0 .../github.com/codegangsta/cli/app.go | 0 .../github.com/codegangsta/cli/cli.go | 0 .../github.com/codegangsta/cli/command.go | 0 .../github.com/codegangsta/cli/context.go | 0 .../github.com/codegangsta/cli/flag.go | 0 .../github.com/codegangsta/cli/help.go | 0 .../elazarl/go-bindata-assetfs/LICENSE | 0 .../elazarl/go-bindata-assetfs/README.md | 0 .../elazarl/go-bindata-assetfs/assetfs.go | 0 .../elazarl/go-bindata-assetfs/doc.go | 0 .../github.com/fatih/structs/.gitignore | 0 .../github.com/fatih/structs/.travis.yml | 0 .../github.com/fatih/structs/LICENSE | 0 .../github.com/fatih/structs/README.md | 0 .../github.com/fatih/structs/field.go | 0 .../github.com/fatih/structs/structs.go | 0 .../github.com/fatih/structs/tags.go | 0 .../github.com/gorilla/websocket/.gitignore | 0 .../github.com/gorilla/websocket/.travis.yml | 0 .../github.com/gorilla/websocket/AUTHORS | 0 .../github.com/gorilla/websocket/LICENSE | 0 .../github.com/gorilla/websocket/README.md | 0 .../github.com/gorilla/websocket/client.go | 0 .../github.com/gorilla/websocket/conn.go | 0 .../github.com/gorilla/websocket/doc.go | 0 .../github.com/gorilla/websocket/json.go | 0 .../github.com/gorilla/websocket/server.go | 0 .../github.com/gorilla/websocket/util.go | 0 .../hashicorp/go-multierror/LICENSE | 0 .../hashicorp/go-multierror/README.md | 0 .../hashicorp/go-multierror/append.go | 0 .../hashicorp/go-multierror/flatten.go | 0 .../hashicorp/go-multierror/format.go | 0 .../hashicorp/go-multierror/multierror.go | 0 .../github.com/kr/pty/.gitignore | 0 .../src => vendor}/github.com/kr/pty/License | 0 .../github.com/kr/pty/README.md | 0 .../src => vendor}/github.com/kr/pty/doc.go | 0 .../src => vendor}/github.com/kr/pty/ioctl.go | 0 .../github.com/kr/pty/ioctl_bsd.go | 0 .../github.com/kr/pty/mktypes.bash | 0 .../github.com/kr/pty/pty_darwin.go | 0 .../github.com/kr/pty/pty_freebsd.go | 0 .../github.com/kr/pty/pty_linux.go | 0 .../github.com/kr/pty/pty_unsupported.go | 0 .../src => vendor}/github.com/kr/pty/run.go | 0 .../src => vendor}/github.com/kr/pty/types.go | 0 .../github.com/kr/pty/types_freebsd.go | 0 .../src => vendor}/github.com/kr/pty/util.go | 0 .../github.com/kr/pty/ztypes_386.go | 0 .../github.com/kr/pty/ztypes_amd64.go | 0 .../github.com/kr/pty/ztypes_arm.go | 0 .../github.com/kr/pty/ztypes_arm64.go | 0 .../github.com/kr/pty/ztypes_freebsd_386.go | 0 .../github.com/kr/pty/ztypes_freebsd_amd64.go | 0 .../github.com/kr/pty/ztypes_freebsd_arm.go | 0 .../github.com/kr/pty/ztypes_ppc64.go | 0 .../github.com/kr/pty/ztypes_ppc64le.go | 0 .../github.com/kr/pty/ztypes_s390x.go | 0 .../github.com/yudai/hcl/.gitignore | 0 .../github.com/yudai/hcl/LICENSE | 0 .../github.com/yudai/hcl/Makefile | 0 .../github.com/yudai/hcl/README.md | 0 .../github.com/yudai/hcl/decoder.go | 0 .../github.com/yudai/hcl/hcl.go | 0 .../github.com/yudai/hcl/hcl/lex.go | 0 .../github.com/yudai/hcl/hcl/object.go | 0 .../github.com/yudai/hcl/hcl/parse.go | 0 .../github.com/yudai/hcl/hcl/parse.y | 0 .../yudai/hcl/hcl/valuetype_string.go | 0 .../github.com/yudai/hcl/hcl/y.go | 0 .../github.com/yudai/hcl/json/lex.go | 0 .../github.com/yudai/hcl/json/parse.go | 0 .../github.com/yudai/hcl/json/parse.y | 0 .../github.com/yudai/hcl/json/y.go | 0 .../github.com/yudai/hcl/lex.go | 0 .../github.com/yudai/hcl/parse.go | 0 .../github.com/yudai/umutex/LICENSE | 0 .../github.com/yudai/umutex/README.md | 0 .../github.com/yudai/umutex/umutex.go | 0 wercker.yml | 5 +- 164 files changed, 17 insertions(+), 1383 deletions(-) delete mode 100644 Godeps/_workspace/.gitignore delete mode 100644 Godeps/_workspace/src/github.com/braintree/manners/test_helpers/certs.go delete mode 100644 Godeps/_workspace/src/github.com/braintree/manners/test_helpers/conn.go delete mode 100644 Godeps/_workspace/src/github.com/braintree/manners/test_helpers/listener.go delete mode 100644 Godeps/_workspace/src/github.com/braintree/manners/test_helpers/temp_file.go delete mode 100644 Godeps/_workspace/src/github.com/braintree/manners/test_helpers/wait_group.go delete mode 100644 Godeps/_workspace/src/github.com/codegangsta/cli/autocomplete/bash_autocomplete delete mode 100644 Godeps/_workspace/src/github.com/codegangsta/cli/autocomplete/zsh_autocomplete delete mode 100644 Godeps/_workspace/src/github.com/elazarl/go-bindata-assetfs/go-bindata-assetfs/main.go delete mode 100644 Godeps/_workspace/src/github.com/gorilla/websocket/examples/autobahn/README.md delete mode 100644 Godeps/_workspace/src/github.com/gorilla/websocket/examples/autobahn/fuzzingclient.json delete mode 100644 Godeps/_workspace/src/github.com/gorilla/websocket/examples/autobahn/server.go delete mode 100644 Godeps/_workspace/src/github.com/gorilla/websocket/examples/chat/README.md delete mode 100644 Godeps/_workspace/src/github.com/gorilla/websocket/examples/chat/conn.go delete mode 100644 Godeps/_workspace/src/github.com/gorilla/websocket/examples/chat/home.html delete mode 100644 Godeps/_workspace/src/github.com/gorilla/websocket/examples/chat/hub.go delete mode 100644 Godeps/_workspace/src/github.com/gorilla/websocket/examples/chat/main.go delete mode 100644 Godeps/_workspace/src/github.com/gorilla/websocket/examples/filewatch/README.md delete mode 100644 Godeps/_workspace/src/github.com/gorilla/websocket/examples/filewatch/main.go delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/array_comment.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/assign_colon.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/assign_deep.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/comment.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/comment_single.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/complex.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/complex_key.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/empty.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/list.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/list_comma.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/multiple.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/null.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/old.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/structure.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/structure_basic.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/structure_empty.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/types.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/array.json delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/basic.json delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/object.json delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/types.json delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic.json delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic_int_string.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic_squish.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_policy.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_policy.json delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_tf_variable.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_tf_variable.json delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/empty.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/escape.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/flat.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/float.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/float.json delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/multiline.json delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/multiline_bad.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/nested_block_comment.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/null.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/scientific.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/scientific.json delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure.json delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure2.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure2.json delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure_flat.json delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure_flatmap.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure_list.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure_list.json delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure_list_deep.json delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure_multi.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/structure_multi.json delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/terraform_heroku.hcl delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/terraform_heroku.json delete mode 100644 Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/unterminated_block_comment.hcl rename {Godeps/_workspace/src => vendor}/github.com/braintree/manners/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/braintree/manners/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/braintree/manners/interfaces.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/braintree/manners/server.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/braintree/manners/static.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/codegangsta/cli/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/codegangsta/cli/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/codegangsta/cli/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/codegangsta/cli/app.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/codegangsta/cli/cli.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/codegangsta/cli/command.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/codegangsta/cli/context.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/codegangsta/cli/flag.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/codegangsta/cli/help.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/elazarl/go-bindata-assetfs/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/elazarl/go-bindata-assetfs/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/elazarl/go-bindata-assetfs/assetfs.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/elazarl/go-bindata-assetfs/doc.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/fatih/structs/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/fatih/structs/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/fatih/structs/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/fatih/structs/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/fatih/structs/field.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/fatih/structs/structs.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/fatih/structs/tags.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/gorilla/websocket/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/gorilla/websocket/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/gorilla/websocket/AUTHORS (100%) rename {Godeps/_workspace/src => vendor}/github.com/gorilla/websocket/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/gorilla/websocket/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/gorilla/websocket/client.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/gorilla/websocket/conn.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/gorilla/websocket/doc.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/gorilla/websocket/json.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/gorilla/websocket/server.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/gorilla/websocket/util.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/go-multierror/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/go-multierror/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/go-multierror/append.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/go-multierror/flatten.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/go-multierror/format.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/go-multierror/multierror.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/License (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/doc.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/ioctl.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/ioctl_bsd.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/mktypes.bash (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/pty_darwin.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/pty_freebsd.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/pty_linux.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/pty_unsupported.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/run.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/types.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/types_freebsd.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/util.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/ztypes_386.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/ztypes_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/ztypes_arm.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/ztypes_arm64.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/ztypes_freebsd_386.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/ztypes_freebsd_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/ztypes_freebsd_arm.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/ztypes_ppc64.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/ztypes_ppc64le.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/pty/ztypes_s390x.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/yudai/hcl/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/yudai/hcl/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/yudai/hcl/Makefile (100%) rename {Godeps/_workspace/src => vendor}/github.com/yudai/hcl/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/yudai/hcl/decoder.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/yudai/hcl/hcl.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/yudai/hcl/hcl/lex.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/yudai/hcl/hcl/object.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/yudai/hcl/hcl/parse.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/yudai/hcl/hcl/parse.y (100%) rename {Godeps/_workspace/src => vendor}/github.com/yudai/hcl/hcl/valuetype_string.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/yudai/hcl/hcl/y.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/yudai/hcl/json/lex.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/yudai/hcl/json/parse.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/yudai/hcl/json/parse.y (100%) rename {Godeps/_workspace/src => vendor}/github.com/yudai/hcl/json/y.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/yudai/hcl/lex.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/yudai/hcl/parse.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/yudai/umutex/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/yudai/umutex/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/yudai/umutex/umutex.go (100%) diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 256aef7..a472bae 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -1,6 +1,10 @@ { "ImportPath": "github.com/yudai/gotty", - "GoVersion": "go1.5.1", + "GoVersion": "go1.6", + "GodepVersion": "v62", + "Packages": [ + "./..." + ], "Deps": [ { "ImportPath": "github.com/braintree/manners", @@ -37,6 +41,14 @@ "ImportPath": "github.com/yudai/hcl", "Rev": "5fa2393b3552119bf33a69adb1402a1160cba23d" }, + { + "ImportPath": "github.com/yudai/hcl/hcl", + "Rev": "5fa2393b3552119bf33a69adb1402a1160cba23d" + }, + { + "ImportPath": "github.com/yudai/hcl/json", + "Rev": "5fa2393b3552119bf33a69adb1402a1160cba23d" + }, { "ImportPath": "github.com/yudai/umutex", "Rev": "18216d265c6bc72c3bb0ad9c8103d47d530b7003" diff --git a/Godeps/_workspace/.gitignore b/Godeps/_workspace/.gitignore deleted file mode 100644 index f037d68..0000000 --- a/Godeps/_workspace/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/pkg -/bin diff --git a/Godeps/_workspace/src/github.com/braintree/manners/test_helpers/certs.go b/Godeps/_workspace/src/github.com/braintree/manners/test_helpers/certs.go deleted file mode 100644 index ede248b..0000000 --- a/Godeps/_workspace/src/github.com/braintree/manners/test_helpers/certs.go +++ /dev/null @@ -1,29 +0,0 @@ -package test_helpers - -// A PEM-encoded TLS cert with SAN IPs "127.0.0.1" and "[::1]", expiring at the -// last second of 2049 (the end of ASN.1 time). - -// generated from src/pkg/crypto/tls: -// go run generate_cert.go --rsa-bits 512 --host 127.0.0.1,::1,example.com --ca --start-date "Jan 1 00:00:00 1970" --duration=1000000h -var ( - Cert = []byte(`-----BEGIN CERTIFICATE----- -MIIBdzCCASOgAwIBAgIBADALBgkqhkiG9w0BAQUwEjEQMA4GA1UEChMHQWNtZSBD -bzAeFw03MDAxMDEwMDAwMDBaFw00OTEyMzEyMzU5NTlaMBIxEDAOBgNVBAoTB0Fj -bWUgQ28wWjALBgkqhkiG9w0BAQEDSwAwSAJBAN55NcYKZeInyTuhcCwFMhDHCmwa -IUSdtXdcbItRB/yfXGBhiex00IaLXQnSU+QZPRZWYqeTEbFSgihqi1PUDy8CAwEA -AaNoMGYwDgYDVR0PAQH/BAQDAgCkMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1Ud -EwEB/wQFMAMBAf8wLgYDVR0RBCcwJYILZXhhbXBsZS5jb22HBH8AAAGHEAAAAAAA -AAAAAAAAAAAAAAEwCwYJKoZIhvcNAQEFA0EAAoQn/ytgqpiLcZu9XKbCJsJcvkgk -Se6AbGXgSlq+ZCEVo0qIwSgeBqmsJxUu7NCSOwVJLYNEBO2DtIxoYVk+MA== ------END CERTIFICATE-----`) - - Key = []byte(`-----BEGIN RSA PRIVATE KEY----- -MIIBPAIBAAJBAN55NcYKZeInyTuhcCwFMhDHCmwaIUSdtXdcbItRB/yfXGBhiex0 -0IaLXQnSU+QZPRZWYqeTEbFSgihqi1PUDy8CAwEAAQJBAQdUx66rfh8sYsgfdcvV -NoafYpnEcB5s4m/vSVe6SU7dCK6eYec9f9wpT353ljhDUHq3EbmE4foNzJngh35d -AekCIQDhRQG5Li0Wj8TM4obOnnXUXf1jRv0UkzE9AHWLG5q3AwIhAPzSjpYUDjVW -MCUXgckTpKCuGwbJk7424Nb8bLzf3kllAiA5mUBgjfr/WtFSJdWcPQ4Zt9KTMNKD -EUO0ukpTwEIl6wIhAMbGqZK3zAAFdq8DD2jPx+UJXnh0rnOkZBzDtJ6/iN69AiEA -1Aq8MJgTaYsDQWyU/hDq5YkDJc9e9DSCvUIzqxQWMQE= ------END RSA PRIVATE KEY-----`) -) diff --git a/Godeps/_workspace/src/github.com/braintree/manners/test_helpers/conn.go b/Godeps/_workspace/src/github.com/braintree/manners/test_helpers/conn.go deleted file mode 100644 index 8c610f5..0000000 --- a/Godeps/_workspace/src/github.com/braintree/manners/test_helpers/conn.go +++ /dev/null @@ -1,13 +0,0 @@ -package test_helpers - -import "net" - -type Conn struct { - net.Conn - CloseCalled bool -} - -func (c *Conn) Close() error { - c.CloseCalled = true - return nil -} diff --git a/Godeps/_workspace/src/github.com/braintree/manners/test_helpers/listener.go b/Godeps/_workspace/src/github.com/braintree/manners/test_helpers/listener.go deleted file mode 100644 index a74ac11..0000000 --- a/Godeps/_workspace/src/github.com/braintree/manners/test_helpers/listener.go +++ /dev/null @@ -1,34 +0,0 @@ -package test_helpers - -import ( - "net" - "errors" -) - -type Listener struct { - AcceptRelease chan bool - CloseCalled chan bool -} - -func NewListener() *Listener { - return &Listener{ - make(chan bool, 1), - make(chan bool, 1), - } -} - -func (l *Listener) Addr() net.Addr { - addr, _ := net.ResolveTCPAddr("tcp", "127.0.0.1:8080") - return addr -} - -func (l *Listener) Close() error { - l.CloseCalled <- true - l.AcceptRelease <- true - return nil -} - -func (l *Listener) Accept() (net.Conn, error) { - <-l.AcceptRelease - return nil, errors.New("connection closed") -} diff --git a/Godeps/_workspace/src/github.com/braintree/manners/test_helpers/temp_file.go b/Godeps/_workspace/src/github.com/braintree/manners/test_helpers/temp_file.go deleted file mode 100644 index c4aa263..0000000 --- a/Godeps/_workspace/src/github.com/braintree/manners/test_helpers/temp_file.go +++ /dev/null @@ -1,27 +0,0 @@ -package test_helpers - -import ( - "io/ioutil" - "os" -) - -type TempFile struct { - *os.File -} - -func NewTempFile(content []byte) (*TempFile, error) { - f, err := ioutil.TempFile("", "graceful-test") - if err != nil { - return nil, err - } - - f.Write(content) - return &TempFile{f}, nil -} - -func (tf *TempFile) Unlink() { - if tf.File != nil { - os.Remove(tf.Name()) - tf.File = nil - } -} diff --git a/Godeps/_workspace/src/github.com/braintree/manners/test_helpers/wait_group.go b/Godeps/_workspace/src/github.com/braintree/manners/test_helpers/wait_group.go deleted file mode 100644 index 1df590d..0000000 --- a/Godeps/_workspace/src/github.com/braintree/manners/test_helpers/wait_group.go +++ /dev/null @@ -1,33 +0,0 @@ -package test_helpers - -import "sync" - -type WaitGroup struct { - sync.Mutex - Count int - WaitCalled chan int -} - -func NewWaitGroup() *WaitGroup { - return &WaitGroup{ - WaitCalled: make(chan int, 1), - } -} - -func (wg *WaitGroup) Add(delta int) { - wg.Lock() - wg.Count++ - wg.Unlock() -} - -func (wg *WaitGroup) Done() { - wg.Lock() - wg.Count-- - wg.Unlock() -} - -func (wg *WaitGroup) Wait() { - wg.Lock() - wg.WaitCalled <- wg.Count - wg.Unlock() -} diff --git a/Godeps/_workspace/src/github.com/codegangsta/cli/autocomplete/bash_autocomplete b/Godeps/_workspace/src/github.com/codegangsta/cli/autocomplete/bash_autocomplete deleted file mode 100644 index 9b55dd9..0000000 --- a/Godeps/_workspace/src/github.com/codegangsta/cli/autocomplete/bash_autocomplete +++ /dev/null @@ -1,13 +0,0 @@ -#! /bin/bash - -_cli_bash_autocomplete() { - local cur prev opts base - COMPREPLY=() - cur="${COMP_WORDS[COMP_CWORD]}" - prev="${COMP_WORDS[COMP_CWORD-1]}" - opts=$( ${COMP_WORDS[@]:0:$COMP_CWORD} --generate-bash-completion ) - COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) - return 0 - } - - complete -F _cli_bash_autocomplete $PROG \ No newline at end of file diff --git a/Godeps/_workspace/src/github.com/codegangsta/cli/autocomplete/zsh_autocomplete b/Godeps/_workspace/src/github.com/codegangsta/cli/autocomplete/zsh_autocomplete deleted file mode 100644 index 5430a18..0000000 --- a/Godeps/_workspace/src/github.com/codegangsta/cli/autocomplete/zsh_autocomplete +++ /dev/null @@ -1,5 +0,0 @@ -autoload -U compinit && compinit -autoload -U bashcompinit && bashcompinit - -script_dir=$(dirname $0) -source ${script_dir}/bash_autocomplete diff --git a/Godeps/_workspace/src/github.com/elazarl/go-bindata-assetfs/go-bindata-assetfs/main.go b/Godeps/_workspace/src/github.com/elazarl/go-bindata-assetfs/go-bindata-assetfs/main.go deleted file mode 100644 index a5b2b5e..0000000 --- a/Godeps/_workspace/src/github.com/elazarl/go-bindata-assetfs/go-bindata-assetfs/main.go +++ /dev/null @@ -1,97 +0,0 @@ -package main - -import ( - "bufio" - "bytes" - "flag" - "fmt" - "os" - "os/exec" - "strings" -) - -const bindatafile = "bindata.go" - -func isDebug(args []string) bool { - flagset := flag.NewFlagSet("", flag.ContinueOnError) - debug := flagset.Bool("debug", false, "") - debugArgs := make([]string, 0) - for _, arg := range args { - if strings.HasPrefix(arg, "-debug") { - debugArgs = append(debugArgs, arg) - } - } - flagset.Parse(debugArgs) - if debug == nil { - return false - } - return *debug -} - -func main() { - if _, err := exec.LookPath("go-bindata"); err != nil { - fmt.Println("Cannot find go-bindata executable in path") - fmt.Println("Maybe you need: go get github.com/elazarl/go-bindata-assetfs/...") - os.Exit(1) - } - cmd := exec.Command("go-bindata", os.Args[1:]...) - cmd.Stdin = os.Stdin - cmd.Stdout = os.Stdout - cmd.Stderr = os.Stderr - if err := cmd.Run(); err != nil { - os.Exit(1) - } - in, err := os.Open(bindatafile) - if err != nil { - fmt.Fprintln(os.Stderr, "Cannot read", bindatafile, err) - return - } - out, err := os.Create("bindata_assetfs.go") - if err != nil { - fmt.Fprintln(os.Stderr, "Cannot write 'bindata_assetfs.go'", err) - return - } - debug := isDebug(os.Args[1:]) - r := bufio.NewReader(in) - done := false - for line, isPrefix, err := r.ReadLine(); err == nil; line, isPrefix, err = r.ReadLine() { - if !isPrefix { - line = append(line, '\n') - } - if _, err := out.Write(line); err != nil { - fmt.Fprintln(os.Stderr, "Cannot write to 'bindata_assetfs.go'", err) - return - } - if !done && !isPrefix && bytes.HasPrefix(line, []byte("import (")) { - if debug { - fmt.Fprintln(out, "\t\"net/http\"") - } else { - fmt.Fprintln(out, "\t\"github.com/elazarl/go-bindata-assetfs\"") - } - done = true - } - } - if debug { - fmt.Fprintln(out, ` -func assetFS() http.FileSystem { - for k := range _bintree.Children { - return http.Dir(k) - } - panic("unreachable") -}`) - } else { - fmt.Fprintln(out, ` -func assetFS() *assetfs.AssetFS { - for k := range _bintree.Children { - return &assetfs.AssetFS{Asset: Asset, AssetDir: AssetDir, Prefix: k} - } - panic("unreachable") -}`) - } - // Close files BEFORE remove calls (don't use defer). - in.Close() - out.Close() - if err := os.Remove(bindatafile); err != nil { - fmt.Fprintln(os.Stderr, "Cannot remove", bindatafile, err) - } -} diff --git a/Godeps/_workspace/src/github.com/gorilla/websocket/examples/autobahn/README.md b/Godeps/_workspace/src/github.com/gorilla/websocket/examples/autobahn/README.md deleted file mode 100644 index 075ac15..0000000 --- a/Godeps/_workspace/src/github.com/gorilla/websocket/examples/autobahn/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# Test Server - -This package contains a server for the [Autobahn WebSockets Test Suite](http://autobahn.ws/testsuite). - -To test the server, run - - go run server.go - -and start the client test driver - - wstest -m fuzzingclient -s fuzzingclient.json - -When the client completes, it writes a report to reports/clients/index.html. diff --git a/Godeps/_workspace/src/github.com/gorilla/websocket/examples/autobahn/fuzzingclient.json b/Godeps/_workspace/src/github.com/gorilla/websocket/examples/autobahn/fuzzingclient.json deleted file mode 100644 index 27d5a5b..0000000 --- a/Godeps/_workspace/src/github.com/gorilla/websocket/examples/autobahn/fuzzingclient.json +++ /dev/null @@ -1,14 +0,0 @@ - -{ - "options": {"failByDrop": false}, - "outdir": "./reports/clients", - "servers": [ - {"agent": "ReadAllWriteMessage", "url": "ws://localhost:9000/m", "options": {"version": 18}}, - {"agent": "ReadAllWrite", "url": "ws://localhost:9000/r", "options": {"version": 18}}, - {"agent": "CopyFull", "url": "ws://localhost:9000/f", "options": {"version": 18}}, - {"agent": "CopyWriterOnly", "url": "ws://localhost:9000/c", "options": {"version": 18}} - ], - "cases": ["*"], - "exclude-cases": [], - "exclude-agent-cases": {} -} diff --git a/Godeps/_workspace/src/github.com/gorilla/websocket/examples/autobahn/server.go b/Godeps/_workspace/src/github.com/gorilla/websocket/examples/autobahn/server.go deleted file mode 100644 index d96ac84..0000000 --- a/Godeps/_workspace/src/github.com/gorilla/websocket/examples/autobahn/server.go +++ /dev/null @@ -1,246 +0,0 @@ -// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Command server is a test server for the Autobahn WebSockets Test Suite. -package main - -import ( - "errors" - "flag" - "github.com/gorilla/websocket" - "io" - "log" - "net/http" - "time" - "unicode/utf8" -) - -var upgrader = websocket.Upgrader{ - ReadBufferSize: 4096, - WriteBufferSize: 4096, - CheckOrigin: func(r *http.Request) bool { - return true - }, -} - -// echoCopy echoes messages from the client using io.Copy. -func echoCopy(w http.ResponseWriter, r *http.Request, writerOnly bool) { - conn, err := upgrader.Upgrade(w, r, nil) - if err != nil { - log.Println("Upgrade:", err) - return - } - defer conn.Close() - for { - mt, r, err := conn.NextReader() - if err != nil { - if err != io.EOF { - log.Println("NextReader:", err) - } - return - } - if mt == websocket.TextMessage { - r = &validator{r: r} - } - w, err := conn.NextWriter(mt) - if err != nil { - log.Println("NextWriter:", err) - return - } - if mt == websocket.TextMessage { - r = &validator{r: r} - } - if writerOnly { - _, err = io.Copy(struct{ io.Writer }{w}, r) - } else { - _, err = io.Copy(w, r) - } - if err != nil { - if err == errInvalidUTF8 { - conn.WriteControl(websocket.CloseMessage, - websocket.FormatCloseMessage(websocket.CloseInvalidFramePayloadData, ""), - time.Time{}) - } - log.Println("Copy:", err) - return - } - err = w.Close() - if err != nil { - log.Println("Close:", err) - return - } - } -} - -func echoCopyWriterOnly(w http.ResponseWriter, r *http.Request) { - echoCopy(w, r, true) -} - -func echoCopyFull(w http.ResponseWriter, r *http.Request) { - echoCopy(w, r, false) -} - -// echoReadAll echoes messages from the client by reading the entire message -// with ioutil.ReadAll. -func echoReadAll(w http.ResponseWriter, r *http.Request, writeMessage bool) { - conn, err := upgrader.Upgrade(w, r, nil) - if err != nil { - log.Println("Upgrade:", err) - return - } - defer conn.Close() - for { - mt, b, err := conn.ReadMessage() - if err != nil { - if err != io.EOF { - log.Println("NextReader:", err) - } - return - } - if mt == websocket.TextMessage { - if !utf8.Valid(b) { - conn.WriteControl(websocket.CloseMessage, - websocket.FormatCloseMessage(websocket.CloseInvalidFramePayloadData, ""), - time.Time{}) - log.Println("ReadAll: invalid utf8") - } - } - if writeMessage { - err = conn.WriteMessage(mt, b) - if err != nil { - log.Println("WriteMessage:", err) - } - } else { - w, err := conn.NextWriter(mt) - if err != nil { - log.Println("NextWriter:", err) - return - } - if _, err := w.Write(b); err != nil { - log.Println("Writer:", err) - return - } - if err := w.Close(); err != nil { - log.Println("Close:", err) - return - } - } - } -} - -func echoReadAllWriter(w http.ResponseWriter, r *http.Request) { - echoReadAll(w, r, false) -} - -func echoReadAllWriteMessage(w http.ResponseWriter, r *http.Request) { - echoReadAll(w, r, true) -} - -func serveHome(w http.ResponseWriter, r *http.Request) { - if r.URL.Path != "/" { - http.Error(w, "Not found.", 404) - return - } - if r.Method != "GET" { - http.Error(w, "Method not allowed", 405) - return - } - w.Header().Set("Content-Type", "text/html; charset=utf-8") - io.WriteString(w, "Echo Server") -} - -var addr = flag.String("addr", ":9000", "http service address") - -func main() { - flag.Parse() - http.HandleFunc("/", serveHome) - http.HandleFunc("/c", echoCopyWriterOnly) - http.HandleFunc("/f", echoCopyFull) - http.HandleFunc("/r", echoReadAllWriter) - http.HandleFunc("/m", echoReadAllWriteMessage) - err := http.ListenAndServe(*addr, nil) - if err != nil { - log.Fatal("ListenAndServe: ", err) - } -} - -type validator struct { - state int - x rune - r io.Reader -} - -var errInvalidUTF8 = errors.New("invalid utf8") - -func (r *validator) Read(p []byte) (int, error) { - n, err := r.r.Read(p) - state := r.state - x := r.x - for _, b := range p[:n] { - state, x = decode(state, x, b) - if state == utf8Reject { - break - } - } - r.state = state - r.x = x - if state == utf8Reject || (err == io.EOF && state != utf8Accept) { - return n, errInvalidUTF8 - } - return n, err -} - -// UTF-8 decoder from http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ -// -// Copyright (c) 2008-2009 Bjoern Hoehrmann -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to -// deal in the Software without restriction, including without limitation the -// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -// sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -// IN THE SOFTWARE. -var utf8d = [...]byte{ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 00..1f - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20..3f - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 40..5f - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 60..7f - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, // 80..9f - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // a0..bf - 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // c0..df - 0xa, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x4, 0x3, 0x3, // e0..ef - 0xb, 0x6, 0x6, 0x6, 0x5, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, // f0..ff - 0x0, 0x1, 0x2, 0x3, 0x5, 0x8, 0x7, 0x1, 0x1, 0x1, 0x4, 0x6, 0x1, 0x1, 0x1, 0x1, // s0..s0 - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, // s1..s2 - 1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, // s3..s4 - 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, // s5..s6 - 1, 3, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // s7..s8 -} - -const ( - utf8Accept = 0 - utf8Reject = 1 -) - -func decode(state int, x rune, b byte) (int, rune) { - t := utf8d[b] - if state != utf8Accept { - x = rune(b&0x3f) | (x << 6) - } else { - x = rune((0xff >> t) & b) - } - state = int(utf8d[256+state*16+int(t)]) - return state, x -} diff --git a/Godeps/_workspace/src/github.com/gorilla/websocket/examples/chat/README.md b/Godeps/_workspace/src/github.com/gorilla/websocket/examples/chat/README.md deleted file mode 100644 index 5df3cf1..0000000 --- a/Godeps/_workspace/src/github.com/gorilla/websocket/examples/chat/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# Chat Example - -This application shows how to use use the -[websocket](https://github.com/gorilla/websocket) package and -[jQuery](http://jquery.com) to implement a simple web chat application. - -## Running the example - -The example requires a working Go development environment. The [Getting -Started](http://golang.org/doc/install) page describes how to install the -development environment. - -Once you have Go up and running, you can download, build and run the example -using the following commands. - - $ go get github.com/gorilla/websocket - $ cd `go list -f '{{.Dir}}' github.com/gorilla/websocket/examples/chat` - $ go run *.go - -To use the chat example, open http://localhost:8080/ in your browser. diff --git a/Godeps/_workspace/src/github.com/gorilla/websocket/examples/chat/conn.go b/Godeps/_workspace/src/github.com/gorilla/websocket/examples/chat/conn.go deleted file mode 100644 index 7cc0496..0000000 --- a/Godeps/_workspace/src/github.com/gorilla/websocket/examples/chat/conn.go +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package main - -import ( - "github.com/gorilla/websocket" - "log" - "net/http" - "time" -) - -const ( - // Time allowed to write a message to the peer. - writeWait = 10 * time.Second - - // Time allowed to read the next pong message from the peer. - pongWait = 60 * time.Second - - // Send pings to peer with this period. Must be less than pongWait. - pingPeriod = (pongWait * 9) / 10 - - // Maximum message size allowed from peer. - maxMessageSize = 512 -) - -var upgrader = websocket.Upgrader{ - ReadBufferSize: 1024, - WriteBufferSize: 1024, -} - -// connection is an middleman between the websocket connection and the hub. -type connection struct { - // The websocket connection. - ws *websocket.Conn - - // Buffered channel of outbound messages. - send chan []byte -} - -// readPump pumps messages from the websocket connection to the hub. -func (c *connection) readPump() { - defer func() { - h.unregister <- c - c.ws.Close() - }() - c.ws.SetReadLimit(maxMessageSize) - c.ws.SetReadDeadline(time.Now().Add(pongWait)) - c.ws.SetPongHandler(func(string) error { c.ws.SetReadDeadline(time.Now().Add(pongWait)); return nil }) - for { - _, message, err := c.ws.ReadMessage() - if err != nil { - break - } - h.broadcast <- message - } -} - -// write writes a message with the given message type and payload. -func (c *connection) write(mt int, payload []byte) error { - c.ws.SetWriteDeadline(time.Now().Add(writeWait)) - return c.ws.WriteMessage(mt, payload) -} - -// writePump pumps messages from the hub to the websocket connection. -func (c *connection) writePump() { - ticker := time.NewTicker(pingPeriod) - defer func() { - ticker.Stop() - c.ws.Close() - }() - for { - select { - case message, ok := <-c.send: - if !ok { - c.write(websocket.CloseMessage, []byte{}) - return - } - if err := c.write(websocket.TextMessage, message); err != nil { - return - } - case <-ticker.C: - if err := c.write(websocket.PingMessage, []byte{}); err != nil { - return - } - } - } -} - -// serverWs handles websocket requests from the peer. -func serveWs(w http.ResponseWriter, r *http.Request) { - if r.Method != "GET" { - http.Error(w, "Method not allowed", 405) - return - } - ws, err := upgrader.Upgrade(w, r, nil) - if err != nil { - log.Println(err) - return - } - c := &connection{send: make(chan []byte, 256), ws: ws} - h.register <- c - go c.writePump() - c.readPump() -} diff --git a/Godeps/_workspace/src/github.com/gorilla/websocket/examples/chat/home.html b/Godeps/_workspace/src/github.com/gorilla/websocket/examples/chat/home.html deleted file mode 100644 index 2959922..0000000 --- a/Godeps/_workspace/src/github.com/gorilla/websocket/examples/chat/home.html +++ /dev/null @@ -1,92 +0,0 @@ - - - -Chat Example - - - - - -

-
- - -
- - diff --git a/Godeps/_workspace/src/github.com/gorilla/websocket/examples/chat/hub.go b/Godeps/_workspace/src/github.com/gorilla/websocket/examples/chat/hub.go deleted file mode 100644 index 449ba75..0000000 --- a/Godeps/_workspace/src/github.com/gorilla/websocket/examples/chat/hub.go +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package main - -// hub maintains the set of active connections and broadcasts messages to the -// connections. -type hub struct { - // Registered connections. - connections map[*connection]bool - - // Inbound messages from the connections. - broadcast chan []byte - - // Register requests from the connections. - register chan *connection - - // Unregister requests from connections. - unregister chan *connection -} - -var h = hub{ - broadcast: make(chan []byte), - register: make(chan *connection), - unregister: make(chan *connection), - connections: make(map[*connection]bool), -} - -func (h *hub) run() { - for { - select { - case c := <-h.register: - h.connections[c] = true - case c := <-h.unregister: - if _, ok := h.connections[c]; ok { - delete(h.connections, c) - close(c.send) - } - case m := <-h.broadcast: - for c := range h.connections { - select { - case c.send <- m: - default: - close(c.send) - delete(h.connections, c) - } - } - } - } -} diff --git a/Godeps/_workspace/src/github.com/gorilla/websocket/examples/chat/main.go b/Godeps/_workspace/src/github.com/gorilla/websocket/examples/chat/main.go deleted file mode 100644 index 3c4448d..0000000 --- a/Godeps/_workspace/src/github.com/gorilla/websocket/examples/chat/main.go +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package main - -import ( - "flag" - "log" - "net/http" - "text/template" -) - -var addr = flag.String("addr", ":8080", "http service address") -var homeTempl = template.Must(template.ParseFiles("home.html")) - -func serveHome(w http.ResponseWriter, r *http.Request) { - if r.URL.Path != "/" { - http.Error(w, "Not found", 404) - return - } - if r.Method != "GET" { - http.Error(w, "Method not allowed", 405) - return - } - w.Header().Set("Content-Type", "text/html; charset=utf-8") - homeTempl.Execute(w, r.Host) -} - -func main() { - flag.Parse() - go h.run() - http.HandleFunc("/", serveHome) - http.HandleFunc("/ws", serveWs) - err := http.ListenAndServe(*addr, nil) - if err != nil { - log.Fatal("ListenAndServe: ", err) - } -} diff --git a/Godeps/_workspace/src/github.com/gorilla/websocket/examples/filewatch/README.md b/Godeps/_workspace/src/github.com/gorilla/websocket/examples/filewatch/README.md deleted file mode 100644 index ca4931f..0000000 --- a/Godeps/_workspace/src/github.com/gorilla/websocket/examples/filewatch/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# File Watch example. - -This example sends a file to the browser client for display whenever the file is modified. - - $ go get github.com/gorilla/websocket - $ cd `go list -f '{{.Dir}}' github.com/gorilla/websocket/examples/filewatch` - $ go run main.go - # Open http://localhost:8080/ . - # Modify the file to see it update in the browser. diff --git a/Godeps/_workspace/src/github.com/gorilla/websocket/examples/filewatch/main.go b/Godeps/_workspace/src/github.com/gorilla/websocket/examples/filewatch/main.go deleted file mode 100644 index a2c7b85..0000000 --- a/Godeps/_workspace/src/github.com/gorilla/websocket/examples/filewatch/main.go +++ /dev/null @@ -1,193 +0,0 @@ -// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package main - -import ( - "flag" - "io/ioutil" - "log" - "net/http" - "os" - "strconv" - "text/template" - "time" - - "github.com/gorilla/websocket" -) - -const ( - // Time allowed to write the file to the client. - writeWait = 10 * time.Second - - // Time allowed to read the next pong message from the client. - pongWait = 60 * time.Second - - // Send pings to client with this period. Must be less than pongWait. - pingPeriod = (pongWait * 9) / 10 - - // Poll file for changes with this period. - filePeriod = 10 * time.Second -) - -var ( - addr = flag.String("addr", ":8080", "http service address") - homeTempl = template.Must(template.New("").Parse(homeHTML)) - filename string - upgrader = websocket.Upgrader{ - ReadBufferSize: 1024, - WriteBufferSize: 1024, - } -) - -func readFileIfModified(lastMod time.Time) ([]byte, time.Time, error) { - fi, err := os.Stat(filename) - if err != nil { - return nil, lastMod, err - } - if !fi.ModTime().After(lastMod) { - return nil, lastMod, nil - } - p, err := ioutil.ReadFile(filename) - if err != nil { - return nil, fi.ModTime(), err - } - return p, fi.ModTime(), nil -} - -func reader(ws *websocket.Conn) { - defer ws.Close() - ws.SetReadLimit(512) - ws.SetReadDeadline(time.Now().Add(pongWait)) - ws.SetPongHandler(func(string) error { ws.SetReadDeadline(time.Now().Add(pongWait)); return nil }) - for { - _, _, err := ws.ReadMessage() - if err != nil { - break - } - } -} - -func writer(ws *websocket.Conn, lastMod time.Time) { - lastError := "" - pingTicker := time.NewTicker(pingPeriod) - fileTicker := time.NewTicker(filePeriod) - defer func() { - pingTicker.Stop() - fileTicker.Stop() - ws.Close() - }() - for { - select { - case <-fileTicker.C: - var p []byte - var err error - - p, lastMod, err = readFileIfModified(lastMod) - - if err != nil { - if s := err.Error(); s != lastError { - lastError = s - p = []byte(lastError) - } - } else { - lastError = "" - } - - if p != nil { - ws.SetWriteDeadline(time.Now().Add(writeWait)) - if err := ws.WriteMessage(websocket.TextMessage, p); err != nil { - return - } - } - case <-pingTicker.C: - ws.SetWriteDeadline(time.Now().Add(writeWait)) - if err := ws.WriteMessage(websocket.PingMessage, []byte{}); err != nil { - return - } - } - } -} - -func serveWs(w http.ResponseWriter, r *http.Request) { - ws, err := upgrader.Upgrade(w, r, nil) - if err != nil { - if _, ok := err.(websocket.HandshakeError); !ok { - log.Println(err) - } - return - } - - var lastMod time.Time - if n, err := strconv.ParseInt(r.FormValue("lastMod"), 16, 64); err != nil { - lastMod = time.Unix(0, n) - } - - go writer(ws, lastMod) - reader(ws) -} - -func serveHome(w http.ResponseWriter, r *http.Request) { - if r.URL.Path != "/" { - http.Error(w, "Not found", 404) - return - } - if r.Method != "GET" { - http.Error(w, "Method not allowed", 405) - return - } - w.Header().Set("Content-Type", "text/html; charset=utf-8") - p, lastMod, err := readFileIfModified(time.Time{}) - if err != nil { - p = []byte(err.Error()) - lastMod = time.Unix(0, 0) - } - var v = struct { - Host string - Data string - LastMod string - }{ - r.Host, - string(p), - strconv.FormatInt(lastMod.UnixNano(), 16), - } - homeTempl.Execute(w, &v) -} - -func main() { - flag.Parse() - if flag.NArg() != 1 { - log.Fatal("filename not specified") - } - filename = flag.Args()[0] - http.HandleFunc("/", serveHome) - http.HandleFunc("/ws", serveWs) - if err := http.ListenAndServe(*addr, nil); err != nil { - log.Fatal(err) - } -} - -const homeHTML = ` - - - WebSocket Example - - -
{{.Data}}
- - - -` diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/array_comment.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/array_comment.hcl deleted file mode 100644 index 78c2675..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/array_comment.hcl +++ /dev/null @@ -1,4 +0,0 @@ -foo = [ - "1", - "2", # comment -] diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/assign_colon.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/assign_colon.hcl deleted file mode 100644 index eb5a99a..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/assign_colon.hcl +++ /dev/null @@ -1,6 +0,0 @@ -resource = [{ - "foo": { - "bar": {}, - "baz": [1, 2, "foo"], - } -}] diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/assign_deep.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/assign_deep.hcl deleted file mode 100644 index dd3151c..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/assign_deep.hcl +++ /dev/null @@ -1,5 +0,0 @@ -resource = [{ - foo = [{ - bar = {} - }] -}] diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/comment.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/comment.hcl deleted file mode 100644 index 1ff7f29..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/comment.hcl +++ /dev/null @@ -1,15 +0,0 @@ -// Foo - -/* Bar */ - -/* -/* -Baz -*/ - -# Another - -# Multiple -# Lines - -foo = "bar" diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/comment_single.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/comment_single.hcl deleted file mode 100644 index fec5601..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/comment_single.hcl +++ /dev/null @@ -1 +0,0 @@ -# Hello diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/complex.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/complex.hcl deleted file mode 100644 index cccb5b0..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/complex.hcl +++ /dev/null @@ -1,42 +0,0 @@ -// This comes from Terraform, as a test -variable "foo" { - default = "bar" - description = "bar" -} - -provider "aws" { - access_key = "foo" - secret_key = "bar" -} - -provider "do" { - api_key = "${var.foo}" -} - -resource "aws_security_group" "firewall" { - count = 5 -} - -resource aws_instance "web" { - ami = "${var.foo}" - security_groups = [ - "foo", - "${aws_security_group.firewall.foo}" - ] - - network_interface { - device_index = 0 - description = "Main network interface" - } -} - -resource "aws_instance" "db" { - security_groups = "${aws_security_group.firewall.*.id}" - VPC = "foo" - - depends_on = ["aws_instance.web"] -} - -output "web_ip" { - value = "${aws_instance.web.private_ip}" -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/complex_key.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/complex_key.hcl deleted file mode 100644 index 0007aaf..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/complex_key.hcl +++ /dev/null @@ -1 +0,0 @@ -foo.bar = "baz" diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/empty.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/empty.hcl deleted file mode 100644 index e69de29..0000000 diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/list.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/list.hcl deleted file mode 100644 index 7e159b3..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/list.hcl +++ /dev/null @@ -1 +0,0 @@ -foo = [1, 2, "foo", true] diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/list_comma.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/list_comma.hcl deleted file mode 100644 index 50f4218..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/list_comma.hcl +++ /dev/null @@ -1 +0,0 @@ -foo = [1, 2, "foo",] diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/multiple.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/multiple.hcl deleted file mode 100644 index 029c54b..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/multiple.hcl +++ /dev/null @@ -1,2 +0,0 @@ -foo = "bar" -key = 7 diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/null.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/null.hcl deleted file mode 100644 index 97797ea..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/null.hcl +++ /dev/null @@ -1,5 +0,0 @@ -foo = null -bar = [1, null, 3] -baz { - foo = null -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/old.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/old.hcl deleted file mode 100644 index e9f77ca..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/old.hcl +++ /dev/null @@ -1,3 +0,0 @@ -default = { - "eu-west-1": "ami-b1cf19c6", -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/structure.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/structure.hcl deleted file mode 100644 index 92592fb..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/structure.hcl +++ /dev/null @@ -1,5 +0,0 @@ -// This is a test structure for the lexer -foo bar "baz" { - key = 7 - foo = "bar" -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/structure_basic.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/structure_basic.hcl deleted file mode 100644 index 7229a1f..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/structure_basic.hcl +++ /dev/null @@ -1,5 +0,0 @@ -foo { - value = 7 - "value" = 8 - "complex::value" = 9 -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/structure_empty.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/structure_empty.hcl deleted file mode 100644 index 4d156dd..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/structure_empty.hcl +++ /dev/null @@ -1 +0,0 @@ -resource "foo" "bar" {} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/types.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/types.hcl deleted file mode 100644 index 98ea882..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/hcl/test-fixtures/types.hcl +++ /dev/null @@ -1,8 +0,0 @@ -foo = "bar" -bar = 7 -baz = [1,2,3] -foo = -12 -bar = 3.14159 -foo = true -bar = false -baz = null diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/array.json b/Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/array.json deleted file mode 100644 index e320f17..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/array.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "foo": [1, 2, "bar"], - "bar": "baz" -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/basic.json b/Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/basic.json deleted file mode 100644 index b54bde9..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/basic.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "foo": "bar" -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/object.json b/Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/object.json deleted file mode 100644 index 72168a3..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/object.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "foo": { - "bar": [1,2] - } -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/types.json b/Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/types.json deleted file mode 100644 index 9a142a6..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/json/test-fixtures/types.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "foo": "bar", - "bar": 7, - "baz": [1,2,3], - "foo": -12, - "bar": 3.14159, - "foo": true, - "bar": false, - "foo": null -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic.hcl deleted file mode 100644 index 9499944..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic.hcl +++ /dev/null @@ -1,2 +0,0 @@ -foo = "bar" -bar = "${file("bing/bong.txt")}" diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic.json b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic.json deleted file mode 100644 index 7bdddc8..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "foo": "bar", - "bar": "${file(\"bing/bong.txt\")}" -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic_int_string.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic_int_string.hcl deleted file mode 100644 index 4e415da..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic_int_string.hcl +++ /dev/null @@ -1 +0,0 @@ -count = "3" diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic_squish.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic_squish.hcl deleted file mode 100644 index 363697b..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/basic_squish.hcl +++ /dev/null @@ -1,3 +0,0 @@ -foo="bar" -bar="${file("bing/bong.txt")}" -foo-bar="baz" diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_policy.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_policy.hcl deleted file mode 100644 index 5b185cc..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_policy.hcl +++ /dev/null @@ -1,15 +0,0 @@ -key "" { - policy = "read" -} - -key "foo/" { - policy = "write" -} - -key "foo/bar/" { - policy = "read" -} - -key "foo/bar/baz" { - policy = "deny" -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_policy.json b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_policy.json deleted file mode 100644 index 151864e..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_policy.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "key": { - "": { - "policy": "read" - }, - - "foo/": { - "policy": "write" - }, - - "foo/bar/": { - "policy": "read" - }, - - "foo/bar/baz": { - "policy": "deny" - } - } -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_tf_variable.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_tf_variable.hcl deleted file mode 100644 index 52dcaa1..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_tf_variable.hcl +++ /dev/null @@ -1,10 +0,0 @@ -variable "foo" { - default = "bar" - description = "bar" -} - -variable "amis" { - default = { - east = "foo" - } -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_tf_variable.json b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_tf_variable.json deleted file mode 100644 index 49f921e..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/decode_tf_variable.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "variable": { - "foo": { - "default": "bar", - "description": "bar" - }, - - "amis": { - "default": { - "east": "foo" - } - } - } -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/empty.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/empty.hcl deleted file mode 100644 index 5be1b23..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/empty.hcl +++ /dev/null @@ -1 +0,0 @@ -resource "foo" {} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/escape.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/escape.hcl deleted file mode 100644 index ead1b8b..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/escape.hcl +++ /dev/null @@ -1 +0,0 @@ -foo = "bar\"baz\\n" diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/flat.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/flat.hcl deleted file mode 100644 index 9bca551..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/flat.hcl +++ /dev/null @@ -1,2 +0,0 @@ -foo = "bar" -Key = 7 diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/float.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/float.hcl deleted file mode 100644 index eed44e5..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/float.hcl +++ /dev/null @@ -1 +0,0 @@ -a = 1.02 diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/float.json b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/float.json deleted file mode 100644 index a9d1ab4..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/float.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "a": 1.02 -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/multiline.json b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/multiline.json deleted file mode 100644 index 93f7cc5..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/multiline.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "foo": "bar\nbaz" -} diff --git a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/multiline_bad.hcl b/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/multiline_bad.hcl deleted file mode 100644 index f883bd7..0000000 --- a/Godeps/_workspace/src/github.com/yudai/hcl/test-fixtures/multiline_bad.hcl +++ /dev/null @@ -1,4 +0,0 @@ -foo = < Date: Wed, 13 Apr 2016 16:08:23 +0900 Subject: [PATCH 20/82] Release v0.0.13 * No functional changes * Updated golang to 1.6.1 * Fixed `go get` broken binary --- app/app.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/app.go b/app/app.go index 3fb332d..60722cc 100644 --- a/app/app.go +++ b/app/app.go @@ -69,7 +69,7 @@ type Options struct { RawPreferences map[string]interface{} `hcl:"preferences"` } -var Version = "0.0.12" +var Version = "0.0.13" var DefaultOptions = Options{ Address: "", From ac491530717cf3ed646aa12e5a7fbc1b48cafaff Mon Sep 17 00:00:00 2001 From: Andy Skelton Date: Fri, 24 Jun 2016 19:36:04 +0000 Subject: [PATCH 21/82] Set content-type on auth_token.js --- app/app.go | 1 + 1 file changed, 1 insertion(+) diff --git a/app/app.go b/app/app.go index 60722cc..ef788fa 100644 --- a/app/app.go +++ b/app/app.go @@ -361,6 +361,7 @@ func (app *App) handleCustomIndex(w http.ResponseWriter, r *http.Request) { } func (app *App) handleAuthToken(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/javascript") w.Write([]byte("var gotty_auth_token = '" + app.options.Credential + "';")) } From 49f2051c93c20c02c7a9cbac04c00c8d9d3bf445 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Fri, 29 Jul 2016 16:52:37 +0900 Subject: [PATCH 22/82] Exclude darwin/arm from cross compile targets --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 1a379c8..2298746 100644 --- a/Makefile +++ b/Makefile @@ -41,7 +41,7 @@ test: if [ `go fmt $(go list ./... | grep -v /vendor/) | wc -l` -gt 0 ]; then echo "go fmt error"; exit 1; fi cross_compile: - GOARM=5 gox -os="darwin linux freebsd netbsd openbsd" -arch="386 amd64 arm" -output "${OUTPUT_DIR}/pkg/{{.OS}}_{{.Arch}}/{{.Dir}}" + GOARM=5 gox -os="darwin linux freebsd netbsd openbsd" -arch="386 amd64 arm" -osarch="!darwin/arm" -output "${OUTPUT_DIR}/pkg/{{.OS}}_{{.Arch}}/{{.Dir}}" targz: mkdir -p ${OUTPUT_DIR}/dist From 54597c0ba689060c7449e8e1fd79846113e120c2 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Thu, 11 Aug 2016 16:48:03 +0900 Subject: [PATCH 23/82] Use SHA256SUM --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 2298746..7b7d01a 100644 --- a/Makefile +++ b/Makefile @@ -48,7 +48,7 @@ targz: cd ${OUTPUT_DIR}/pkg/; for osarch in *; do (cd $$osarch; tar zcvf ../../dist/gotty_$$osarch.tar.gz ./*); done; shasums: - cd ${OUTPUT_DIR}/dist; shasum * > ./SHASUMS + cd ${OUTPUT_DIR}/dist; sha256sum * > ./SHA256SUMS release: ghr --delete --prerelease -u yudai -r gotty pre-release ${OUTPUT_DIR}/dist From be07d420dd91586251e2efbc226e8f055c08392f Mon Sep 17 00:00:00 2001 From: Yifa Zhang Date: Sat, 13 Aug 2016 15:29:21 +0800 Subject: [PATCH 24/82] add option for max connection (#112) add option for max connection --- .gotty | 3 +++ app/app.go | 20 +++++++++++++++++++- app/client_context.go | 9 ++++++++- main.go | 1 + 4 files changed, 31 insertions(+), 2 deletions(-) diff --git a/.gotty b/.gotty index 51d6e22..a3c89a2 100644 --- a/.gotty +++ b/.gotty @@ -54,6 +54,9 @@ // To enable reconnection, set `true` to `enable_reconnect` // reconnect_time = false +// [int] Maximum connection to gotty, 0(default) means no limit. +// max_connection = 0 + // [bool] Accept only one client and exit gotty once the client exits // once = false diff --git a/app/app.go b/app/app.go index 60722cc..335c19b 100644 --- a/app/app.go +++ b/app/app.go @@ -43,6 +43,8 @@ type App struct { titleTemplate *template.Template onceMutex *umutex.UnblockingMutex + + connections int } type Options struct { @@ -62,6 +64,7 @@ type Options struct { TitleFormat string `hcl:"title_format"` EnableReconnect bool `hcl:"enable_reconnect"` ReconnectTime int `hcl:"reconnect_time"` + MaxConnection int `hcl:"max_connection"` Once bool `hcl:"once"` PermitArguments bool `hcl:"permit_arguments"` CloseSignal int `hcl:"close_signal"` @@ -88,6 +91,7 @@ var DefaultOptions = Options{ TitleFormat: "GoTTY - {{ .Command }} ({{ .Hostname }})", EnableReconnect: false, ReconnectTime: 10, + MaxConnection: 0, Once: false, CloseSignal: 1, // syscall.SIGHUP Preferences: HtermPrefernces{}, @@ -274,6 +278,12 @@ func (app *App) makeServer(addr string, handler *http.Handler) (*http.Server, er } func (app *App) handleWS(w http.ResponseWriter, r *http.Request) { + if app.options.MaxConnection != 0 { + if app.connections >= app.options.MaxConnection { + log.Printf("Reached max connection: %d", app.options.MaxConnection) + return + } + } log.Printf("New client connected: %s", r.RemoteAddr) if r.Method != "GET" { @@ -342,7 +352,15 @@ func (app *App) handleWS(w http.ResponseWriter, r *http.Request) { log.Print("Failed to execute command") return } - log.Printf("Command is running for client %s with PID %d (args=%q)", r.RemoteAddr, cmd.Process.Pid, strings.Join(argv, " ")) + + app.connections++ + if app.options.MaxConnection != 0 { + log.Printf("Command is running for client %s with PID %d (args=%q), connections: %d/%d", + r.RemoteAddr, cmd.Process.Pid, strings.Join(argv, " "), app.connections, app.options.MaxConnection) + } else { + log.Printf("Command is running for client %s with PID %d (args=%q), connections: %d", + r.RemoteAddr, cmd.Process.Pid, strings.Join(argv, " "), app.connections) + } context := &clientContext{ app: app, diff --git a/app/client_context.go b/app/client_context.go index d4c2f29..3a3b27a 100644 --- a/app/client_context.go +++ b/app/client_context.go @@ -79,7 +79,14 @@ func (context *clientContext) goHandleClient() { context.command.Wait() context.connection.Close() - log.Printf("Connection closed: %s", context.request.RemoteAddr) + context.app.connections-- + if context.app.options.MaxConnection != 0 { + log.Printf("Connection closed: %s, connections: %d/%d", + context.request.RemoteAddr, context.app.connections, context.app.options.MaxConnection) + } else { + log.Printf("Connection closed: %s, connections: %d", + context.request.RemoteAddr, context.app.connections) + } }() } diff --git a/main.go b/main.go index 20f3600..7d14198 100644 --- a/main.go +++ b/main.go @@ -33,6 +33,7 @@ func main() { flag{"title-format", "", "Title format of browser window"}, flag{"reconnect", "", "Enable reconnection"}, flag{"reconnect-time", "", "Time to reconnect"}, + flag{"max-connection", "", "Maximum connection to gotty, 0(default) means no limit"}, flag{"once", "", "Accept only one client and exit on disconnection"}, flag{"permit-arguments", "", "Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB)"}, flag{"close-signal", "", "Signal sent to the command process when gotty close it (default: SIGHUP)"}, From 8fd09cd9ecfad9801217e1b75325656f95117af1 Mon Sep 17 00:00:00 2001 From: Robert Bittle Date: Wed, 7 Sep 2016 15:18:33 -0400 Subject: [PATCH 25/82] Add an option to disable client window resizes This goes great with tmux when you are sharing your terminal for presentations and you don't want to give viewers the ability to resize your terminal --- app/app.go | 4 ++++ app/client_context.go | 14 ++++++++++++-- main.go | 2 ++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/app/app.go b/app/app.go index a7f8aa7..9246c4d 100644 --- a/app/app.go +++ b/app/app.go @@ -70,6 +70,8 @@ type Options struct { CloseSignal int `hcl:"close_signal"` Preferences HtermPrefernces `hcl:"preferences"` RawPreferences map[string]interface{} `hcl:"preferences"` + Width int `hcl:"width"` + Height int `hcl:"height"` } var Version = "0.0.13" @@ -95,6 +97,8 @@ var DefaultOptions = Options{ Once: false, CloseSignal: 1, // syscall.SIGHUP Preferences: HtermPrefernces{}, + Width: 0, + Height: 0, } func New(command []string, options *Options) (*App, error) { diff --git a/app/client_context.go b/app/client_context.go index 3a3b27a..3662ac2 100644 --- a/app/client_context.go +++ b/app/client_context.go @@ -197,14 +197,24 @@ func (context *clientContext) processReceive() { return } + rows := uint16(context.app.options.Height) + if rows == 0 { + rows = uint16(args.Rows) + } + + columns := uint16(context.app.options.Width) + if columns == 0 { + columns = uint16(args.Columns) + } + window := struct { row uint16 col uint16 x uint16 y uint16 }{ - uint16(args.Rows), - uint16(args.Columns), + rows, + columns, 0, 0, } diff --git a/main.go b/main.go index 7d14198..e5d43d4 100644 --- a/main.go +++ b/main.go @@ -37,6 +37,8 @@ func main() { flag{"once", "", "Accept only one client and exit on disconnection"}, flag{"permit-arguments", "", "Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB)"}, flag{"close-signal", "", "Signal sent to the command process when gotty close it (default: SIGHUP)"}, + flag{"width", "", "Static width of the screen, 0(default) means dynamically resize"}, + flag{"height", "", "Static height of the screen, 0(default) means dynamically resize"}, } mappingHint := map[string]string{ From 8c9433ff21ab2b6c8a24367d16a2b97b4acddb52 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Mon, 9 Jan 2017 12:01:30 +0900 Subject: [PATCH 26/82] Add timeout option --- .gotty | 5 ++++- README.md | 1 + app/app.go | 45 ++++++++++++++++++++++++++++++++++++------- app/client_context.go | 24 +++++++++++++++-------- main.go | 1 + 5 files changed, 60 insertions(+), 16 deletions(-) diff --git a/.gotty b/.gotty index a3c89a2..c97448f 100644 --- a/.gotty +++ b/.gotty @@ -52,7 +52,10 @@ // [int] Interval time to try reconnection (seconds) // To enable reconnection, set `true` to `enable_reconnect` -// reconnect_time = false +// reconnect_time = 10 + +// [int] Timeout seconds for waiting a client (0 to disable) +// timeout = 60 // [int] Maximum connection to gotty, 0(default) means no limit. // max_connection = 0 diff --git a/README.md b/README.md index 494fa67..dc18134 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,7 @@ By default, GoTTY starts a web server at port 8080. Open the URL on your web bro --title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" Title format of browser window [$GOTTY_TITLE_FORMAT] --reconnect Enable reconnection [$GOTTY_RECONNECT] --reconnect-time "10" Time to reconnect [$GOTTY_RECONNECT_TIME] +--timeout "0" Timeout seconds for waiting a client (0 to disable) [$GOTTY_TIMEOUT] --once Accept only one client and exit on disconnection [$GOTTY_ONCE] --permit-arguments Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB) [$GOTTY_PERMIT_ARGUMENTS] --close-signal "1" Signal sent to the command process when gotty close it (default: SIGHUP) [$GOTTY_CLOSE_SIGNAL] diff --git a/app/app.go b/app/app.go index 9246c4d..af6f7cb 100644 --- a/app/app.go +++ b/app/app.go @@ -18,7 +18,9 @@ import ( "strconv" "strings" "sync" + "sync/atomic" "text/template" + "time" "github.com/braintree/manners" "github.com/elazarl/go-bindata-assetfs" @@ -43,8 +45,11 @@ type App struct { titleTemplate *template.Template onceMutex *umutex.UnblockingMutex + timer *time.Timer - connections int + // clientContext writes concurrently + // Use atomic operations. + connections *int64 } type Options struct { @@ -66,6 +71,7 @@ type Options struct { ReconnectTime int `hcl:"reconnect_time"` MaxConnection int `hcl:"max_connection"` Once bool `hcl:"once"` + Timeout int `hcl:"timeout"` PermitArguments bool `hcl:"permit_arguments"` CloseSignal int `hcl:"close_signal"` Preferences HtermPrefernces `hcl:"preferences"` @@ -107,6 +113,8 @@ func New(command []string, options *Options) (*App, error) { return nil, errors.New("Title format string syntax error") } + connections := int64(0) + return &App{ command: command, options: options, @@ -119,7 +127,8 @@ func New(command []string, options *Options) (*App, error) { titleTemplate: titleTemplate, - onceMutex: umutex.New(), + onceMutex: umutex.New(), + connections: &connections, }, nil } @@ -235,6 +244,14 @@ func (app *App) Run() error { server, ) + if app.options.Timeout > 0 { + app.timer = time.NewTimer(time.Duration(app.options.Timeout) * time.Second) + go func() { + <-app.timer.C + app.Exit() + }() + } + if app.options.EnableTLS { crtFile := ExpandHomeDir(app.options.TLSCrtFile) keyFile := ExpandHomeDir(app.options.TLSKeyFile) @@ -281,9 +298,24 @@ func (app *App) makeServer(addr string, handler *http.Handler) (*http.Server, er return server, nil } +func (app *App) stopTimer() { + if app.options.Timeout > 0 { + app.timer.Stop() + } +} + +func (app *App) restartTimer() { + if app.options.Timeout > 0 { + app.timer.Reset(time.Duration(app.options.Timeout) * time.Second) + } +} + func (app *App) handleWS(w http.ResponseWriter, r *http.Request) { - if app.options.MaxConnection != 0 { - if app.connections >= app.options.MaxConnection { + app.stopTimer() + + connections := atomic.AddInt64(app.connections, 1) + if int64(app.options.MaxConnection) != 0 { + if connections >= int64(app.options.MaxConnection) { log.Printf("Reached max connection: %d", app.options.MaxConnection) return } @@ -357,13 +389,12 @@ func (app *App) handleWS(w http.ResponseWriter, r *http.Request) { return } - app.connections++ if app.options.MaxConnection != 0 { log.Printf("Command is running for client %s with PID %d (args=%q), connections: %d/%d", - r.RemoteAddr, cmd.Process.Pid, strings.Join(argv, " "), app.connections, app.options.MaxConnection) + r.RemoteAddr, cmd.Process.Pid, strings.Join(argv, " "), connections, app.options.MaxConnection) } else { log.Printf("Command is running for client %s with PID %d (args=%q), connections: %d", - r.RemoteAddr, cmd.Process.Pid, strings.Join(argv, " "), app.connections) + r.RemoteAddr, cmd.Process.Pid, strings.Join(argv, " "), connections) } context := &clientContext{ diff --git a/app/client_context.go b/app/client_context.go index 3662ac2..b17a56b 100644 --- a/app/client_context.go +++ b/app/client_context.go @@ -10,6 +10,7 @@ import ( "os/exec" "strings" "sync" + "sync/atomic" "syscall" "unsafe" @@ -69,6 +70,21 @@ func (context *clientContext) goHandleClient() { go func() { defer context.app.server.FinishRoutine() + defer func() { + connections := atomic.AddInt64(context.app.connections, -1) + + if context.app.options.MaxConnection != 0 { + log.Printf("Connection closed: %s, connections: %d/%d", + context.request.RemoteAddr, connections, context.app.options.MaxConnection) + } else { + log.Printf("Connection closed: %s, connections: %d", + context.request.RemoteAddr, connections) + } + + if connections == 0 { + context.app.restartTimer() + } + }() <-exit context.pty.Close() @@ -79,14 +95,6 @@ func (context *clientContext) goHandleClient() { context.command.Wait() context.connection.Close() - context.app.connections-- - if context.app.options.MaxConnection != 0 { - log.Printf("Connection closed: %s, connections: %d/%d", - context.request.RemoteAddr, context.app.connections, context.app.options.MaxConnection) - } else { - log.Printf("Connection closed: %s, connections: %d", - context.request.RemoteAddr, context.app.connections) - } }() } diff --git a/main.go b/main.go index e5d43d4..cffd38c 100644 --- a/main.go +++ b/main.go @@ -33,6 +33,7 @@ func main() { flag{"title-format", "", "Title format of browser window"}, flag{"reconnect", "", "Enable reconnection"}, flag{"reconnect-time", "", "Time to reconnect"}, + flag{"timeout", "", "Timeout seconds for waiting a client (0 to disable)"}, flag{"max-connection", "", "Maximum connection to gotty, 0(default) means no limit"}, flag{"once", "", "Accept only one client and exit on disconnection"}, flag{"permit-arguments", "", "Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB)"}, From 92d8d62ae1f52bdfcefb8985f2a1c27c6cfe2228 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Mon, 9 Jan 2017 12:19:43 +0900 Subject: [PATCH 27/82] Bump to go1.7.3 --- Godeps/Godeps.json | 2 +- wercker.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index a472bae..c828d0f 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -1,6 +1,6 @@ { "ImportPath": "github.com/yudai/gotty", - "GoVersion": "go1.6", + "GoVersion": "go1.7", "GodepVersion": "v62", "Packages": [ "./..." diff --git a/wercker.yml b/wercker.yml index 2987dad..ba1c985 100644 --- a/wercker.yml +++ b/wercker.yml @@ -1,4 +1,4 @@ -box: golang:1.6.1 +box: golang:1.7.3 build: steps: From fd25f802570ddd041f6d723f15b13ab14f0de82d Mon Sep 17 00:00:00 2001 From: Massimiliano Stucchi Date: Tue, 7 Mar 2017 11:14:51 +0100 Subject: [PATCH 28/82] Add --max-connection to the documentation --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dc18134..371e017 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,7 @@ By default, GoTTY starts a web server at port 8080. Open the URL on your web bro --reconnect Enable reconnection [$GOTTY_RECONNECT] --reconnect-time "10" Time to reconnect [$GOTTY_RECONNECT_TIME] --timeout "0" Timeout seconds for waiting a client (0 to disable) [$GOTTY_TIMEOUT] +--max-connection "0" Set the maximum number of simultaneous connections (0 to disable) --once Accept only one client and exit on disconnection [$GOTTY_ONCE] --permit-arguments Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB) [$GOTTY_PERMIT_ARGUMENTS] --close-signal "1" Signal sent to the command process when gotty close it (default: SIGHUP) [$GOTTY_CLOSE_SIGNAL] From 456aa65d17cf5a94a1c56bfb6ac1561692f2e7ef Mon Sep 17 00:00:00 2001 From: Artem Medvedev Date: Sun, 19 Mar 2017 05:21:42 +0200 Subject: [PATCH 29/82] Update README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index dc18134..bb72867 100644 --- a/README.md +++ b/README.md @@ -25,8 +25,7 @@ Download the latest binary file from the [Releases](https://github.com/yudai/got You can install GoTTY with [Homebrew](http://brew.sh/) as well. ```sh -$ brew tap yudai/gotty -$ brew install gotty +$ brew install yudai/gotty/gotty ``` ## `go get` Installation From 7496404438e466ff730ea6294a1b86d5bbb79565 Mon Sep 17 00:00:00 2001 From: Xinyun Zhou Date: Fri, 24 Mar 2017 22:25:06 +1100 Subject: [PATCH 30/82] removed comma in sample config file --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bb72867..00437f0 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ enable_tls = true // hterm preferences // Smaller font and a little bit bluer background color preferences { - font_size = 5, + font_size = 5 background_color = "rgb(16, 16, 32)" } ``` From 798d2ac1d904ac7d632f49102616df448dba2f59 Mon Sep 17 00:00:00 2001 From: Shuanglei Tao Date: Fri, 24 Mar 2017 23:29:18 +0800 Subject: [PATCH 31/82] README: add ttyd to Alternatives --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bb72867..e0c59f7 100644 --- a/README.md +++ b/README.md @@ -178,6 +178,7 @@ GoTTY uses [hterm](https://groups.google.com/a/chromium.org/forum/#!forum/chromi * [Secure Shell (Chrome App)](https://chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo): If you are a chrome user and need a "real" SSH client on your web browser, perhaps the Secure Shell app is what you want * [Wetty](https://github.com/krishnasrinivas/wetty): Node based web terminal (SSH/login) +* [ttyd](https://tsl0922.github.io/ttyd): C port of GoTTY with CJK and IME support ### Terminal Sharing From 1aa392f29b76a3e0953c981c1f30b7a3335ef3b4 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Sun, 21 May 2017 14:38:03 +0900 Subject: [PATCH 32/82] Release 1.0.0 --- app/app.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/app.go b/app/app.go index af6f7cb..5618bd0 100644 --- a/app/app.go +++ b/app/app.go @@ -80,7 +80,7 @@ type Options struct { Height int `hcl:"height"` } -var Version = "0.0.13" +var Version = "1.0.0" var DefaultOptions = Options{ Address: "", From b61b7841877b2702c12626eea21f19fdbcf1e6d9 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Mon, 22 May 2017 08:16:24 +0900 Subject: [PATCH 33/82] Add comments for stable releases --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c05b745..a382e7b 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ GoTTY is a simple command line tool that turns your CLI tools into web applicati # Installation -Download the latest binary file from the [Releases](https://github.com/yudai/gotty/releases) page. +Download the latest stable binary file from the [Releases](https://github.com/yudai/gotty/releases) page. Note that the release marked `Pre-release` is built automatically when new code is pushed to the repository, which can include unstable or breaking changes. Download a release marked `Latest release` for a stabale build. (`darwin_amd64.tar.gz` is for Mac OS X users) @@ -28,9 +28,9 @@ You can install GoTTY with [Homebrew](http://brew.sh/) as well. $ brew install yudai/gotty/gotty ``` -## `go get` Installation +## `go get` Installation (Development) -If you have a Go language environment, you can install GoTTY with the `go get` command. +If you have a Go language environment, you can install GoTTY with the `go get` command. However, this command builds a binary file from the latest master branch, which can include unstable or breaking changes. ```sh $ go get github.com/yudai/gotty From b1e5d95841ab2ebc9072b33dc4dd4fb58e87f26a Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Tue, 8 Aug 2017 16:21:59 +0900 Subject: [PATCH 34/82] Update codegangsta/cli To fix #122. IsSet() doesn't return true even when env variables are set. --- Godeps/Godeps.json | 6 +- vendor/github.com/codegangsta/cli/.gitignore | 2 + vendor/github.com/codegangsta/cli/.travis.yml | 38 +- .../github.com/codegangsta/cli/CHANGELOG.md | 392 +++++ vendor/github.com/codegangsta/cli/LICENSE | 28 +- vendor/github.com/codegangsta/cli/README.md | 1342 +++++++++++++++-- vendor/github.com/codegangsta/cli/app.go | 300 +++- .../github.com/codegangsta/cli/appveyor.yml | 24 + vendor/github.com/codegangsta/cli/category.go | 44 + vendor/github.com/codegangsta/cli/cli.go | 23 +- vendor/github.com/codegangsta/cli/command.go | 188 ++- vendor/github.com/codegangsta/cli/context.go | 364 ++--- vendor/github.com/codegangsta/cli/errors.go | 110 ++ .../codegangsta/cli/flag-types.json | 93 ++ vendor/github.com/codegangsta/cli/flag.go | 722 ++++++--- .../codegangsta/cli/flag_generated.go | 627 ++++++++ vendor/github.com/codegangsta/cli/funcs.go | 28 + .../codegangsta/cli/generate-flag-types | 255 ++++ vendor/github.com/codegangsta/cli/help.go | 220 ++- vendor/github.com/codegangsta/cli/runtests | 122 ++ 20 files changed, 4102 insertions(+), 826 deletions(-) create mode 100644 vendor/github.com/codegangsta/cli/.gitignore create mode 100644 vendor/github.com/codegangsta/cli/CHANGELOG.md create mode 100644 vendor/github.com/codegangsta/cli/appveyor.yml create mode 100644 vendor/github.com/codegangsta/cli/category.go create mode 100644 vendor/github.com/codegangsta/cli/errors.go create mode 100644 vendor/github.com/codegangsta/cli/flag-types.json create mode 100644 vendor/github.com/codegangsta/cli/flag_generated.go create mode 100644 vendor/github.com/codegangsta/cli/funcs.go create mode 100755 vendor/github.com/codegangsta/cli/generate-flag-types create mode 100755 vendor/github.com/codegangsta/cli/runtests diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index c828d0f..830f2dd 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -1,7 +1,7 @@ { "ImportPath": "github.com/yudai/gotty", "GoVersion": "go1.7", - "GodepVersion": "v62", + "GodepVersion": "v79", "Packages": [ "./..." ], @@ -13,8 +13,8 @@ }, { "ImportPath": "github.com/codegangsta/cli", - "Comment": "1.2.0-139-g142e6cd", - "Rev": "142e6cd241a4dfbf7f07a018f1f8225180018da4" + "Comment": "v1.19.1", + "Rev": "0bdeddeeb0f650497d603c4ad7b20cfe685682f6" }, { "ImportPath": "github.com/elazarl/go-bindata-assetfs", diff --git a/vendor/github.com/codegangsta/cli/.gitignore b/vendor/github.com/codegangsta/cli/.gitignore new file mode 100644 index 0000000..faf70c4 --- /dev/null +++ b/vendor/github.com/codegangsta/cli/.gitignore @@ -0,0 +1,2 @@ +*.coverprofile +node_modules/ diff --git a/vendor/github.com/codegangsta/cli/.travis.yml b/vendor/github.com/codegangsta/cli/.travis.yml index 34d39c8..94836d7 100644 --- a/vendor/github.com/codegangsta/cli/.travis.yml +++ b/vendor/github.com/codegangsta/cli/.travis.yml @@ -1,13 +1,39 @@ language: go + sudo: false +cache: + directories: + - node_modules + go: -- 1.0.3 -- 1.1.2 -- 1.2.2 -- 1.3.3 +- 1.2.x +- 1.3.x - 1.4.2 +- 1.5.x +- 1.6.x +- 1.7.x +- master + +matrix: + allow_failures: + - go: master + include: + - go: 1.6.x + os: osx + - go: 1.7.x + os: osx + +before_script: +- go get github.com/urfave/gfmrun/... || true +- go get golang.org/x/tools/... || true +- if [ ! -f node_modules/.bin/markdown-toc ] ; then + npm install markdown-toc ; + fi script: -- go vet ./... -- go test -v ./... +- ./runtests gen +- ./runtests vet +- ./runtests test +- ./runtests gfmrun +- ./runtests toc diff --git a/vendor/github.com/codegangsta/cli/CHANGELOG.md b/vendor/github.com/codegangsta/cli/CHANGELOG.md new file mode 100644 index 0000000..07f7546 --- /dev/null +++ b/vendor/github.com/codegangsta/cli/CHANGELOG.md @@ -0,0 +1,392 @@ +# Change Log + +**ATTN**: This project uses [semantic versioning](http://semver.org/). + +## [Unreleased] + +## [1.19.1] - 2016-11-21 + +### Fixed + +- Fixes regression introduced in 1.19.0 where using an `ActionFunc` as + the `Action` for a command would cause it to error rather than calling the + function. Should not have a affected declarative cases using `func(c + *cli.Context) err)`. +- Shell completion now handles the case where the user specifies + `--generate-bash-completion` immediately after a flag that takes an argument. + Previously it call the application with `--generate-bash-completion` as the + flag value. + +## [1.19.0] - 2016-11-19 +### Added +- `FlagsByName` was added to make it easy to sort flags (e.g. `sort.Sort(cli.FlagsByName(app.Flags))`) +- A `Description` field was added to `App` for a more detailed description of + the application (similar to the existing `Description` field on `Command`) +- Flag type code generation via `go generate` +- Write to stderr and exit 1 if action returns non-nil error +- Added support for TOML to the `altsrc` loader +- `SkipArgReorder` was added to allow users to skip the argument reordering. + This is useful if you want to consider all "flags" after an argument as + arguments rather than flags (the default behavior of the stdlib `flag` + library). This is backported functionality from the [removal of the flag + reordering](https://github.com/urfave/cli/pull/398) in the unreleased version + 2 +- For formatted errors (those implementing `ErrorFormatter`), the errors will + be formatted during output. Compatible with `pkg/errors`. + +### Changed +- Raise minimum tested/supported Go version to 1.2+ + +### Fixed +- Consider empty environment variables as set (previously environment variables + with the equivalent of `""` would be skipped rather than their value used). +- Return an error if the value in a given environment variable cannot be parsed + as the flag type. Previously these errors were silently swallowed. +- Print full error when an invalid flag is specified (which includes the invalid flag) +- `App.Writer` defaults to `stdout` when `nil` +- If no action is specified on a command or app, the help is now printed instead of `panic`ing +- `App.Metadata` is initialized automatically now (previously was `nil` unless initialized) +- Correctly show help message if `-h` is provided to a subcommand +- `context.(Global)IsSet` now respects environment variables. Previously it + would return `false` if a flag was specified in the environment rather than + as an argument +- Removed deprecation warnings to STDERR to avoid them leaking to the end-user +- `altsrc`s import paths were updated to use `gopkg.in/urfave/cli.v1`. This + fixes issues that occurred when `gopkg.in/urfave/cli.v1` was imported as well + as `altsrc` where Go would complain that the types didn't match + +## [1.18.1] - 2016-08-28 +### Fixed +- Removed deprecation warnings to STDERR to avoid them leaking to the end-user (backported) + +## [1.18.0] - 2016-06-27 +### Added +- `./runtests` test runner with coverage tracking by default +- testing on OS X +- testing on Windows +- `UintFlag`, `Uint64Flag`, and `Int64Flag` types and supporting code + +### Changed +- Use spaces for alignment in help/usage output instead of tabs, making the + output alignment consistent regardless of tab width + +### Fixed +- Printing of command aliases in help text +- Printing of visible flags for both struct and struct pointer flags +- Display the `help` subcommand when using `CommandCategories` +- No longer swallows `panic`s that occur within the `Action`s themselves when + detecting the signature of the `Action` field + +## [1.17.1] - 2016-08-28 +### Fixed +- Removed deprecation warnings to STDERR to avoid them leaking to the end-user + +## [1.17.0] - 2016-05-09 +### Added +- Pluggable flag-level help text rendering via `cli.DefaultFlagStringFunc` +- `context.GlobalBoolT` was added as an analogue to `context.GlobalBool` +- Support for hiding commands by setting `Hidden: true` -- this will hide the + commands in help output + +### Changed +- `Float64Flag`, `IntFlag`, and `DurationFlag` default values are no longer + quoted in help text output. +- All flag types now include `(default: {value})` strings following usage when a + default value can be (reasonably) detected. +- `IntSliceFlag` and `StringSliceFlag` usage strings are now more consistent + with non-slice flag types +- Apps now exit with a code of 3 if an unknown subcommand is specified + (previously they printed "No help topic for...", but still exited 0. This + makes it easier to script around apps built using `cli` since they can trust + that a 0 exit code indicated a successful execution. +- cleanups based on [Go Report Card + feedback](https://goreportcard.com/report/github.com/urfave/cli) + +## [1.16.1] - 2016-08-28 +### Fixed +- Removed deprecation warnings to STDERR to avoid them leaking to the end-user + +## [1.16.0] - 2016-05-02 +### Added +- `Hidden` field on all flag struct types to omit from generated help text + +### Changed +- `BashCompletionFlag` (`--enable-bash-completion`) is now omitted from +generated help text via the `Hidden` field + +### Fixed +- handling of error values in `HandleAction` and `HandleExitCoder` + +## [1.15.0] - 2016-04-30 +### Added +- This file! +- Support for placeholders in flag usage strings +- `App.Metadata` map for arbitrary data/state management +- `Set` and `GlobalSet` methods on `*cli.Context` for altering values after +parsing. +- Support for nested lookup of dot-delimited keys in structures loaded from +YAML. + +### Changed +- The `App.Action` and `Command.Action` now prefer a return signature of +`func(*cli.Context) error`, as defined by `cli.ActionFunc`. If a non-nil +`error` is returned, there may be two outcomes: + - If the error fulfills `cli.ExitCoder`, then `os.Exit` will be called + automatically + - Else the error is bubbled up and returned from `App.Run` +- Specifying an `Action` with the legacy return signature of +`func(*cli.Context)` will produce a deprecation message to stderr +- Specifying an `Action` that is not a `func` type will produce a non-zero exit +from `App.Run` +- Specifying an `Action` func that has an invalid (input) signature will +produce a non-zero exit from `App.Run` + +### Deprecated +-
+`cli.App.RunAndExitOnError`, which should now be done by returning an error +that fulfills `cli.ExitCoder` to `cli.App.Run`. +- the legacy signature for +`cli.App.Action` of `func(*cli.Context)`, which should now have a return +signature of `func(*cli.Context) error`, as defined by `cli.ActionFunc`. + +### Fixed +- Added missing `*cli.Context.GlobalFloat64` method + +## [1.14.0] - 2016-04-03 (backfilled 2016-04-25) +### Added +- Codebeat badge +- Support for categorization via `CategorizedHelp` and `Categories` on app. + +### Changed +- Use `filepath.Base` instead of `path.Base` in `Name` and `HelpName`. + +### Fixed +- Ensure version is not shown in help text when `HideVersion` set. + +## [1.13.0] - 2016-03-06 (backfilled 2016-04-25) +### Added +- YAML file input support. +- `NArg` method on context. + +## [1.12.0] - 2016-02-17 (backfilled 2016-04-25) +### Added +- Custom usage error handling. +- Custom text support in `USAGE` section of help output. +- Improved help messages for empty strings. +- AppVeyor CI configuration. + +### Changed +- Removed `panic` from default help printer func. +- De-duping and optimizations. + +### Fixed +- Correctly handle `Before`/`After` at command level when no subcommands. +- Case of literal `-` argument causing flag reordering. +- Environment variable hints on Windows. +- Docs updates. + +## [1.11.1] - 2015-12-21 (backfilled 2016-04-25) +### Changed +- Use `path.Base` in `Name` and `HelpName` +- Export `GetName` on flag types. + +### Fixed +- Flag parsing when skipping is enabled. +- Test output cleanup. +- Move completion check to account for empty input case. + +## [1.11.0] - 2015-11-15 (backfilled 2016-04-25) +### Added +- Destination scan support for flags. +- Testing against `tip` in Travis CI config. + +### Changed +- Go version in Travis CI config. + +### Fixed +- Removed redundant tests. +- Use correct example naming in tests. + +## [1.10.2] - 2015-10-29 (backfilled 2016-04-25) +### Fixed +- Remove unused var in bash completion. + +## [1.10.1] - 2015-10-21 (backfilled 2016-04-25) +### Added +- Coverage and reference logos in README. + +### Fixed +- Use specified values in help and version parsing. +- Only display app version and help message once. + +## [1.10.0] - 2015-10-06 (backfilled 2016-04-25) +### Added +- More tests for existing functionality. +- `ArgsUsage` at app and command level for help text flexibility. + +### Fixed +- Honor `HideHelp` and `HideVersion` in `App.Run`. +- Remove juvenile word from README. + +## [1.9.0] - 2015-09-08 (backfilled 2016-04-25) +### Added +- `FullName` on command with accompanying help output update. +- Set default `$PROG` in bash completion. + +### Changed +- Docs formatting. + +### Fixed +- Removed self-referential imports in tests. + +## [1.8.0] - 2015-06-30 (backfilled 2016-04-25) +### Added +- Support for `Copyright` at app level. +- `Parent` func at context level to walk up context lineage. + +### Fixed +- Global flag processing at top level. + +## [1.7.1] - 2015-06-11 (backfilled 2016-04-25) +### Added +- Aggregate errors from `Before`/`After` funcs. +- Doc comments on flag structs. +- Include non-global flags when checking version and help. +- Travis CI config updates. + +### Fixed +- Ensure slice type flags have non-nil values. +- Collect global flags from the full command hierarchy. +- Docs prose. + +## [1.7.0] - 2015-05-03 (backfilled 2016-04-25) +### Changed +- `HelpPrinter` signature includes output writer. + +### Fixed +- Specify go 1.1+ in docs. +- Set `Writer` when running command as app. + +## [1.6.0] - 2015-03-23 (backfilled 2016-04-25) +### Added +- Multiple author support. +- `NumFlags` at context level. +- `Aliases` at command level. + +### Deprecated +- `ShortName` at command level. + +### Fixed +- Subcommand help output. +- Backward compatible support for deprecated `Author` and `Email` fields. +- Docs regarding `Names`/`Aliases`. + +## [1.5.0] - 2015-02-20 (backfilled 2016-04-25) +### Added +- `After` hook func support at app and command level. + +### Fixed +- Use parsed context when running command as subcommand. +- Docs prose. + +## [1.4.1] - 2015-01-09 (backfilled 2016-04-25) +### Added +- Support for hiding `-h / --help` flags, but not `help` subcommand. +- Stop flag parsing after `--`. + +### Fixed +- Help text for generic flags to specify single value. +- Use double quotes in output for defaults. +- Use `ParseInt` instead of `ParseUint` for int environment var values. +- Use `0` as base when parsing int environment var values. + +## [1.4.0] - 2014-12-12 (backfilled 2016-04-25) +### Added +- Support for environment variable lookup "cascade". +- Support for `Stdout` on app for output redirection. + +### Fixed +- Print command help instead of app help in `ShowCommandHelp`. + +## [1.3.1] - 2014-11-13 (backfilled 2016-04-25) +### Added +- Docs and example code updates. + +### Changed +- Default `-v / --version` flag made optional. + +## [1.3.0] - 2014-08-10 (backfilled 2016-04-25) +### Added +- `FlagNames` at context level. +- Exposed `VersionPrinter` var for more control over version output. +- Zsh completion hook. +- `AUTHOR` section in default app help template. +- Contribution guidelines. +- `DurationFlag` type. + +## [1.2.0] - 2014-08-02 +### Added +- Support for environment variable defaults on flags plus tests. + +## [1.1.0] - 2014-07-15 +### Added +- Bash completion. +- Optional hiding of built-in help command. +- Optional skipping of flag parsing at command level. +- `Author`, `Email`, and `Compiled` metadata on app. +- `Before` hook func support at app and command level. +- `CommandNotFound` func support at app level. +- Command reference available on context. +- `GenericFlag` type. +- `Float64Flag` type. +- `BoolTFlag` type. +- `IsSet` flag helper on context. +- More flag lookup funcs at context level. +- More tests & docs. + +### Changed +- Help template updates to account for presence/absence of flags. +- Separated subcommand help template. +- Exposed `HelpPrinter` var for more control over help output. + +## [1.0.0] - 2013-11-01 +### Added +- `help` flag in default app flag set and each command flag set. +- Custom handling of argument parsing errors. +- Command lookup by name at app level. +- `StringSliceFlag` type and supporting `StringSlice` type. +- `IntSliceFlag` type and supporting `IntSlice` type. +- Slice type flag lookups by name at context level. +- Export of app and command help functions. +- More tests & docs. + +## 0.1.0 - 2013-07-22 +### Added +- Initial implementation. + +[Unreleased]: https://github.com/urfave/cli/compare/v1.18.0...HEAD +[1.18.0]: https://github.com/urfave/cli/compare/v1.17.0...v1.18.0 +[1.17.0]: https://github.com/urfave/cli/compare/v1.16.0...v1.17.0 +[1.16.0]: https://github.com/urfave/cli/compare/v1.15.0...v1.16.0 +[1.15.0]: https://github.com/urfave/cli/compare/v1.14.0...v1.15.0 +[1.14.0]: https://github.com/urfave/cli/compare/v1.13.0...v1.14.0 +[1.13.0]: https://github.com/urfave/cli/compare/v1.12.0...v1.13.0 +[1.12.0]: https://github.com/urfave/cli/compare/v1.11.1...v1.12.0 +[1.11.1]: https://github.com/urfave/cli/compare/v1.11.0...v1.11.1 +[1.11.0]: https://github.com/urfave/cli/compare/v1.10.2...v1.11.0 +[1.10.2]: https://github.com/urfave/cli/compare/v1.10.1...v1.10.2 +[1.10.1]: https://github.com/urfave/cli/compare/v1.10.0...v1.10.1 +[1.10.0]: https://github.com/urfave/cli/compare/v1.9.0...v1.10.0 +[1.9.0]: https://github.com/urfave/cli/compare/v1.8.0...v1.9.0 +[1.8.0]: https://github.com/urfave/cli/compare/v1.7.1...v1.8.0 +[1.7.1]: https://github.com/urfave/cli/compare/v1.7.0...v1.7.1 +[1.7.0]: https://github.com/urfave/cli/compare/v1.6.0...v1.7.0 +[1.6.0]: https://github.com/urfave/cli/compare/v1.5.0...v1.6.0 +[1.5.0]: https://github.com/urfave/cli/compare/v1.4.1...v1.5.0 +[1.4.1]: https://github.com/urfave/cli/compare/v1.4.0...v1.4.1 +[1.4.0]: https://github.com/urfave/cli/compare/v1.3.1...v1.4.0 +[1.3.1]: https://github.com/urfave/cli/compare/v1.3.0...v1.3.1 +[1.3.0]: https://github.com/urfave/cli/compare/v1.2.0...v1.3.0 +[1.2.0]: https://github.com/urfave/cli/compare/v1.1.0...v1.2.0 +[1.1.0]: https://github.com/urfave/cli/compare/v1.0.0...v1.1.0 +[1.0.0]: https://github.com/urfave/cli/compare/v0.1.0...v1.0.0 diff --git a/vendor/github.com/codegangsta/cli/LICENSE b/vendor/github.com/codegangsta/cli/LICENSE index 5515ccf..42a597e 100644 --- a/vendor/github.com/codegangsta/cli/LICENSE +++ b/vendor/github.com/codegangsta/cli/LICENSE @@ -1,21 +1,21 @@ -Copyright (C) 2013 Jeremy Saenz -All Rights Reserved. +MIT License -MIT LICENSE +Copyright (c) 2016 Jeremy Saenz & Contributors -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/codegangsta/cli/README.md b/vendor/github.com/codegangsta/cli/README.md index 85b9cda..bb5f61e 100644 --- a/vendor/github.com/codegangsta/cli/README.md +++ b/vendor/github.com/codegangsta/cli/README.md @@ -1,38 +1,146 @@ -[![Build Status](https://travis-ci.org/codegangsta/cli.png?branch=master)](https://travis-ci.org/codegangsta/cli) +cli +=== -# cli.go -cli.go is simple, fast, and fun package for building command line apps in Go. The goal is to enable developers to write fast and distributable command line applications in an expressive way. +[![Build Status](https://travis-ci.org/urfave/cli.svg?branch=master)](https://travis-ci.org/urfave/cli) +[![Windows Build Status](https://ci.appveyor.com/api/projects/status/rtgk5xufi932pb2v?svg=true)](https://ci.appveyor.com/project/urfave/cli) +[![GoDoc](https://godoc.org/github.com/urfave/cli?status.svg)](https://godoc.org/github.com/urfave/cli) +[![codebeat](https://codebeat.co/badges/0a8f30aa-f975-404b-b878-5fab3ae1cc5f)](https://codebeat.co/projects/github-com-urfave-cli) +[![Go Report Card](https://goreportcard.com/badge/urfave/cli)](https://goreportcard.com/report/urfave/cli) +[![top level coverage](https://gocover.io/_badge/github.com/urfave/cli?0 "top level coverage")](http://gocover.io/github.com/urfave/cli) / +[![altsrc coverage](https://gocover.io/_badge/github.com/urfave/cli/altsrc?0 "altsrc coverage")](http://gocover.io/github.com/urfave/cli/altsrc) -You can view the API docs here: -http://godoc.org/github.com/codegangsta/cli +**Notice:** This is the library formerly known as +`github.com/codegangsta/cli` -- Github will automatically redirect requests +to this repository, but we recommend updating your references for clarity. + +cli is a simple, fast, and fun package for building command line apps in Go. The +goal is to enable developers to write fast and distributable command line +applications in an expressive way. + + + +- [Overview](#overview) +- [Installation](#installation) + * [Supported platforms](#supported-platforms) + * [Using the `v2` branch](#using-the-v2-branch) + * [Pinning to the `v1` releases](#pinning-to-the-v1-releases) +- [Getting Started](#getting-started) +- [Examples](#examples) + * [Arguments](#arguments) + * [Flags](#flags) + + [Placeholder Values](#placeholder-values) + + [Alternate Names](#alternate-names) + + [Ordering](#ordering) + + [Values from the Environment](#values-from-the-environment) + + [Values from alternate input sources (YAML, TOML, and others)](#values-from-alternate-input-sources-yaml-toml-and-others) + * [Subcommands](#subcommands) + * [Subcommands categories](#subcommands-categories) + * [Exit code](#exit-code) + * [Bash Completion](#bash-completion) + + [Enabling](#enabling) + + [Distribution](#distribution) + + [Customization](#customization) + * [Generated Help Text](#generated-help-text) + + [Customization](#customization-1) + * [Version Flag](#version-flag) + + [Customization](#customization-2) + + [Full API Example](#full-api-example) +- [Contribution Guidelines](#contribution-guidelines) + + ## Overview -Command line apps are usually so tiny that there is absolutely no reason why your code should *not* be self-documenting. Things like generating help text and parsing command flags/options should not hinder productivity when writing a command line app. -**This is where cli.go comes into play.** cli.go makes command line programming fun, organized, and expressive! +Command line apps are usually so tiny that there is absolutely no reason why +your code should *not* be self-documenting. Things like generating help text and +parsing command flags/options should not hinder productivity when writing a +command line app. + +**This is where cli comes into play.** cli makes command line programming fun, +organized, and expressive! ## Installation -Make sure you have a working Go environment (go 1.1+ is *required*). [See the install instructions](http://golang.org/doc/install.html). -To install `cli.go`, simply run: +Make sure you have a working Go environment. Go version 1.2+ is supported. [See +the install instructions for Go](http://golang.org/doc/install.html). + +To install cli, simply run: ``` -$ go get github.com/codegangsta/cli +$ go get github.com/urfave/cli ``` -Make sure your `PATH` includes to the `$GOPATH/bin` directory so your commands can be easily used: +Make sure your `PATH` includes the `$GOPATH/bin` directory so your commands can +be easily used: ``` export PATH=$PATH:$GOPATH/bin ``` -## Getting Started -One of the philosophies behind cli.go is that an API should be playful and full of discovery. So a cli.go app can be as little as one line of code in `main()`. +### Supported platforms +cli is tested against multiple versions of Go on Linux, and against the latest +released version of Go on OS X and Windows. For full details, see +[`./.travis.yml`](./.travis.yml) and [`./appveyor.yml`](./appveyor.yml). + +### Using the `v2` branch + +**Warning**: The `v2` branch is currently unreleased and considered unstable. + +There is currently a long-lived branch named `v2` that is intended to land as +the new `master` branch once development there has settled down. The current +`master` branch (mirrored as `v1`) is being manually merged into `v2` on +an irregular human-based schedule, but generally if one wants to "upgrade" to +`v2` *now* and accept the volatility (read: "awesomeness") that comes along with +that, please use whatever version pinning of your preference, such as via +`gopkg.in`: + +``` +$ go get gopkg.in/urfave/cli.v2 +``` + +``` go +... +import ( + "gopkg.in/urfave/cli.v2" // imports as package "cli" +) +... +``` + +### Pinning to the `v1` releases + +Similarly to the section above describing use of the `v2` branch, if one wants +to avoid any unexpected compatibility pains once `v2` becomes `master`, then +pinning to `v1` is an acceptable option, e.g.: + +``` +$ go get gopkg.in/urfave/cli.v1 +``` + +``` go +... +import ( + "gopkg.in/urfave/cli.v1" // imports as package "cli" +) +... +``` + +This will pull the latest tagged `v1` release (e.g. `v1.18.1` at the time of writing). + +## Getting Started + +One of the philosophies behind cli is that an API should be playful and full of +discovery. So a cli app can be as little as one line of code in `main()`. + + ``` go package main import ( "os" - "github.com/codegangsta/cli" + + "github.com/urfave/cli" ) func main() { @@ -40,50 +148,67 @@ func main() { } ``` -This app will run and show help text, but is not very useful. Let's give an action to execute and some help documentation: +This app will run and show help text, but is not very useful. Let's give an +action to execute and some help documentation: + ``` go package main import ( + "fmt" "os" - "github.com/codegangsta/cli" + + "github.com/urfave/cli" ) func main() { app := cli.NewApp() app.Name = "boom" app.Usage = "make an explosive entrance" - app.Action = func(c *cli.Context) { - println("boom! I say!") + app.Action = func(c *cli.Context) error { + fmt.Println("boom! I say!") + return nil } - + app.Run(os.Args) } ``` -Running this already gives you a ton of functionality, plus support for things like subcommands and flags, which are covered below. +Running this already gives you a ton of functionality, plus support for things +like subcommands and flags, which are covered below. -## Example +## Examples -Being a programmer can be a lonely job. Thankfully by the power of automation that is not the case! Let's create a greeter app to fend off our demons of loneliness! +Being a programmer can be a lonely job. Thankfully by the power of automation +that is not the case! Let's create a greeter app to fend off our demons of +loneliness! -Start by creating a directory named `greet`, and within it, add a file, `greet.go` with the following code in it: +Start by creating a directory named `greet`, and within it, add a file, +`greet.go` with the following code in it: + ``` go package main import ( + "fmt" "os" - "github.com/codegangsta/cli" + + "github.com/urfave/cli" ) func main() { app := cli.NewApp() app.Name = "greet" app.Usage = "fight the loneliness!" - app.Action = func(c *cli.Context) { - println("Hello friend!") + app.Action = func(c *cli.Context) error { + fmt.Println("Hello friend!") + return nil } app.Run(os.Args) @@ -103,7 +228,8 @@ $ greet Hello friend! ``` -cli.go also generates some bitchass help text: +cli also generates neat help text: + ``` $ greet help NAME: @@ -119,136 +245,548 @@ COMMANDS: help, h Shows a list of commands or help for one command GLOBAL OPTIONS - --version Shows version information + --version Shows version information ``` ### Arguments -You can lookup arguments by calling the `Args` function on `cli.Context`. +You can lookup arguments by calling the `Args` function on `cli.Context`, e.g.: + + ``` go -... -app.Action = func(c *cli.Context) { - println("Hello", c.Args()[0]) +package main + +import ( + "fmt" + "os" + + "github.com/urfave/cli" +) + +func main() { + app := cli.NewApp() + + app.Action = func(c *cli.Context) error { + fmt.Printf("Hello %q", c.Args().Get(0)) + return nil + } + + app.Run(os.Args) } -... ``` ### Flags + Setting and querying flags is simple. + + ``` go -... -app.Flags = []cli.Flag { - cli.StringFlag{ - Name: "lang", - Value: "english", - Usage: "language for the greeting", - }, -} -app.Action = func(c *cli.Context) { - name := "someone" - if len(c.Args()) > 0 { - name = c.Args()[0] +package main + +import ( + "fmt" + "os" + + "github.com/urfave/cli" +) + +func main() { + app := cli.NewApp() + + app.Flags = []cli.Flag { + cli.StringFlag{ + Name: "lang", + Value: "english", + Usage: "language for the greeting", + }, } - if c.String("lang") == "spanish" { - println("Hola", name) - } else { - println("Hello", name) + + app.Action = func(c *cli.Context) error { + name := "Nefertiti" + if c.NArg() > 0 { + name = c.Args().Get(0) + } + if c.String("lang") == "spanish" { + fmt.Println("Hola", name) + } else { + fmt.Println("Hello", name) + } + return nil } + + app.Run(os.Args) } -... ``` -See full list of flags at http://godoc.org/github.com/codegangsta/cli +You can also set a destination variable for a flag, to which the content will be +scanned. + + +``` go +package main + +import ( + "os" + "fmt" + + "github.com/urfave/cli" +) + +func main() { + var language string + + app := cli.NewApp() + + app.Flags = []cli.Flag { + cli.StringFlag{ + Name: "lang", + Value: "english", + Usage: "language for the greeting", + Destination: &language, + }, + } + + app.Action = func(c *cli.Context) error { + name := "someone" + if c.NArg() > 0 { + name = c.Args()[0] + } + if language == "spanish" { + fmt.Println("Hola", name) + } else { + fmt.Println("Hello", name) + } + return nil + } + + app.Run(os.Args) +} +``` + +See full list of flags at http://godoc.org/github.com/urfave/cli + +#### Placeholder Values + +Sometimes it's useful to specify a flag's value within the usage string itself. +Such placeholders are indicated with back quotes. + +For example this: + + +```go +package main + +import ( + "os" + + "github.com/urfave/cli" +) + +func main() { + app := cli.NewApp() + + app.Flags = []cli.Flag{ + cli.StringFlag{ + Name: "config, c", + Usage: "Load configuration from `FILE`", + }, + } + + app.Run(os.Args) +} +``` + +Will result in help output like: + +``` +--config FILE, -c FILE Load configuration from FILE +``` + +Note that only the first placeholder is used. Subsequent back-quoted words will +be left as-is. #### Alternate Names -You can set alternate (or short) names for flags by providing a comma-delimited list for the `Name`. e.g. +You can set alternate (or short) names for flags by providing a comma-delimited +list for the `Name`. e.g. + ``` go -app.Flags = []cli.Flag { - cli.StringFlag{ - Name: "lang, l", - Value: "english", - Usage: "language for the greeting", - }, +package main + +import ( + "os" + + "github.com/urfave/cli" +) + +func main() { + app := cli.NewApp() + + app.Flags = []cli.Flag { + cli.StringFlag{ + Name: "lang, l", + Value: "english", + Usage: "language for the greeting", + }, + } + + app.Run(os.Args) } ``` -That flag can then be set with `--lang spanish` or `-l spanish`. Note that giving two different forms of the same flag in the same command invocation is an error. +That flag can then be set with `--lang spanish` or `-l spanish`. Note that +giving two different forms of the same flag in the same command invocation is an +error. + +#### Ordering + +Flags for the application and commands are shown in the order they are defined. +However, it's possible to sort them from outside this library by using `FlagsByName` +with `sort`. + +For example this: + + +``` go +package main + +import ( + "os" + "sort" + + "github.com/urfave/cli" +) + +func main() { + app := cli.NewApp() + + app.Flags = []cli.Flag { + cli.StringFlag{ + Name: "lang, l", + Value: "english", + Usage: "Language for the greeting", + }, + cli.StringFlag{ + Name: "config, c", + Usage: "Load configuration from `FILE`", + }, + } + + sort.Sort(cli.FlagsByName(app.Flags)) + + app.Run(os.Args) +} +``` + +Will result in help output like: + +``` +--config FILE, -c FILE Load configuration from FILE +--lang value, -l value Language for the greeting (default: "english") +``` #### Values from the Environment You can also have the default value set from the environment via `EnvVar`. e.g. + ``` go -app.Flags = []cli.Flag { - cli.StringFlag{ - Name: "lang, l", - Value: "english", - Usage: "language for the greeting", - EnvVar: "APP_LANG", - }, +package main + +import ( + "os" + + "github.com/urfave/cli" +) + +func main() { + app := cli.NewApp() + + app.Flags = []cli.Flag { + cli.StringFlag{ + Name: "lang, l", + Value: "english", + Usage: "language for the greeting", + EnvVar: "APP_LANG", + }, + } + + app.Run(os.Args) } ``` -The `EnvVar` may also be given as a comma-delimited "cascade", where the first environment variable that resolves is used as the default. +The `EnvVar` may also be given as a comma-delimited "cascade", where the first +environment variable that resolves is used as the default. + + +``` go +package main + +import ( + "os" + + "github.com/urfave/cli" +) + +func main() { + app := cli.NewApp() + + app.Flags = []cli.Flag { + cli.StringFlag{ + Name: "lang, l", + Value: "english", + Usage: "language for the greeting", + EnvVar: "LEGACY_COMPAT_LANG,APP_LANG,LANG", + }, + } + + app.Run(os.Args) +} +``` + +#### Values from alternate input sources (YAML, TOML, and others) + +There is a separate package altsrc that adds support for getting flag values +from other file input sources. + +Currently supported input source formats: +* YAML +* TOML + +In order to get values for a flag from an alternate input source the following +code would be added to wrap an existing cli.Flag like below: ``` go -app.Flags = []cli.Flag { - cli.StringFlag{ - Name: "lang, l", - Value: "english", - Usage: "language for the greeting", - EnvVar: "LEGACY_COMPAT_LANG,APP_LANG,LANG", - }, + altsrc.NewIntFlag(cli.IntFlag{Name: "test"}) +``` + +Initialization must also occur for these flags. Below is an example initializing +getting data from a yaml file below. + +``` go + command.Before = altsrc.InitInputSourceWithContext(command.Flags, NewYamlSourceFromFlagFunc("load")) +``` + +The code above will use the "load" string as a flag name to get the file name of +a yaml file from the cli.Context. It will then use that file name to initialize +the yaml input source for any flags that are defined on that command. As a note +the "load" flag used would also have to be defined on the command flags in order +for this code snipped to work. + +Currently only the aboved specified formats are supported but developers can +add support for other input sources by implementing the +altsrc.InputSourceContext for their given sources. + +Here is a more complete sample of a command using YAML support: + + +``` go +package notmain + +import ( + "fmt" + "os" + + "github.com/urfave/cli" + "github.com/urfave/cli/altsrc" +) + +func main() { + app := cli.NewApp() + + flags := []cli.Flag{ + altsrc.NewIntFlag(cli.IntFlag{Name: "test"}), + cli.StringFlag{Name: "load"}, + } + + app.Action = func(c *cli.Context) error { + fmt.Println("yaml ist rad") + return nil + } + + app.Before = altsrc.InitInputSourceWithContext(flags, altsrc.NewYamlSourceFromFlagFunc("load")) + app.Flags = flags + + app.Run(os.Args) } ``` ### Subcommands Subcommands can be defined for a more git-like command line app. + + ```go -... -app.Commands = []cli.Command{ - { - Name: "add", - Aliases: []string{"a"}, - Usage: "add a task to the list", - Action: func(c *cli.Context) { - println("added task: ", c.Args().First()) - }, - }, - { - Name: "complete", - Aliases: []string{"c"}, - Usage: "complete a task on the list", - Action: func(c *cli.Context) { - println("completed task: ", c.Args().First()) - }, - }, - { - Name: "template", - Aliases: []string{"r"}, - Usage: "options for task templates", - Subcommands: []cli.Command{ - { - Name: "add", - Usage: "add a new template", - Action: func(c *cli.Context) { - println("new task template: ", c.Args().First()) - }, +package main + +import ( + "fmt" + "os" + + "github.com/urfave/cli" +) + +func main() { + app := cli.NewApp() + + app.Commands = []cli.Command{ + { + Name: "add", + Aliases: []string{"a"}, + Usage: "add a task to the list", + Action: func(c *cli.Context) error { + fmt.Println("added task: ", c.Args().First()) + return nil }, - { - Name: "remove", - Usage: "remove an existing template", - Action: func(c *cli.Context) { - println("removed task template: ", c.Args().First()) + }, + { + Name: "complete", + Aliases: []string{"c"}, + Usage: "complete a task on the list", + Action: func(c *cli.Context) error { + fmt.Println("completed task: ", c.Args().First()) + return nil + }, + }, + { + Name: "template", + Aliases: []string{"t"}, + Usage: "options for task templates", + Subcommands: []cli.Command{ + { + Name: "add", + Usage: "add a new template", + Action: func(c *cli.Context) error { + fmt.Println("new task template: ", c.Args().First()) + return nil + }, + }, + { + Name: "remove", + Usage: "remove an existing template", + Action: func(c *cli.Context) error { + fmt.Println("removed task template: ", c.Args().First()) + return nil + }, }, }, }, - }, + } + + app.Run(os.Args) +} +``` + +### Subcommands categories + +For additional organization in apps that have many subcommands, you can +associate a category for each command to group them together in the help +output. + +E.g. + +```go +package main + +import ( + "os" + + "github.com/urfave/cli" +) + +func main() { + app := cli.NewApp() + + app.Commands = []cli.Command{ + { + Name: "noop", + }, + { + Name: "add", + Category: "template", + }, + { + Name: "remove", + Category: "template", + }, + } + + app.Run(os.Args) +} +``` + +Will include: + +``` +COMMANDS: + noop + + Template actions: + add + remove +``` + +### Exit code + +Calling `App.Run` will not automatically call `os.Exit`, which means that by +default the exit code will "fall through" to being `0`. An explicit exit code +may be set by returning a non-nil error that fulfills `cli.ExitCoder`, *or* a +`cli.MultiError` that includes an error that fulfills `cli.ExitCoder`, e.g.: + +``` go +package main + +import ( + "os" + + "github.com/urfave/cli" +) + +func main() { + app := cli.NewApp() + app.Flags = []cli.Flag{ + cli.BoolTFlag{ + Name: "ginger-crouton", + Usage: "is it in the soup?", + }, + } + app.Action = func(ctx *cli.Context) error { + if !ctx.Bool("ginger-crouton") { + return cli.NewExitError("it is not in the soup", 86) + } + return nil + } + + app.Run(os.Args) } -... ``` ### Bash Completion @@ -257,52 +795,570 @@ You can enable completion commands by setting the `EnableBashCompletion` flag on the `App` object. By default, this setting will only auto-complete to show an app's subcommands, but you can write your own completion methods for the App or its subcommands. -```go -... -var tasks = []string{"cook", "clean", "laundry", "eat", "sleep", "code"} -app := cli.NewApp() -app.EnableBashCompletion = true -app.Commands = []cli.Command{ - { - Name: "complete", - Aliases: []string{"c"}, - Usage: "complete a task on the list", - Action: func(c *cli.Context) { - println("completed task: ", c.Args().First()) - }, - BashComplete: func(c *cli.Context) { - // This will complete if no args are passed - if len(c.Args()) > 0 { - return - } - for _, t := range tasks { - fmt.Println(t) - } + + +``` go +package main + +import ( + "fmt" + "os" + + "github.com/urfave/cli" +) + +func main() { + tasks := []string{"cook", "clean", "laundry", "eat", "sleep", "code"} + + app := cli.NewApp() + app.EnableBashCompletion = true + app.Commands = []cli.Command{ + { + Name: "complete", + Aliases: []string{"c"}, + Usage: "complete a task on the list", + Action: func(c *cli.Context) error { + fmt.Println("completed task: ", c.Args().First()) + return nil + }, + BashComplete: func(c *cli.Context) { + // This will complete if no args are passed + if c.NArg() > 0 { + return + } + for _, t := range tasks { + fmt.Println(t) + } + }, }, } + + app.Run(os.Args) } -... ``` -#### To Enable +#### Enabling Source the `autocomplete/bash_autocomplete` file in your `.bashrc` file while setting the `PROG` variable to the name of your program: `PROG=myprogram source /.../cli/autocomplete/bash_autocomplete` -#### To Distribute +#### Distribution -Copy and modify `autocomplete/bash_autocomplete` to use your program name -rather than `$PROG` and have the user copy the file into -`/etc/bash_completion.d/` (or automatically install it there if you are -distributing a package). Alternatively you can just document that users should -source the generic `autocomplete/bash_autocomplete` with `$PROG` set to your -program name in their bash configuration. +Copy `autocomplete/bash_autocomplete` into `/etc/bash_completion.d/` and rename +it to the name of the program you wish to add autocomplete support for (or +automatically install it there if you are distributing a package). Don't forget +to source the file to make it active in the current shell. + +``` +sudo cp src/bash_autocomplete /etc/bash_completion.d/ +source /etc/bash_completion.d/ +``` + +Alternatively, you can just document that users should source the generic +`autocomplete/bash_autocomplete` in their bash configuration with `$PROG` set +to the name of their program (as above). + +#### Customization + +The default bash completion flag (`--generate-bash-completion`) is defined as +`cli.BashCompletionFlag`, and may be redefined if desired, e.g.: + + +``` go +package main + +import ( + "os" + + "github.com/urfave/cli" +) + +func main() { + cli.BashCompletionFlag = cli.BoolFlag{ + Name: "compgen", + Hidden: true, + } + + app := cli.NewApp() + app.EnableBashCompletion = true + app.Commands = []cli.Command{ + { + Name: "wat", + }, + } + app.Run(os.Args) +} +``` + +### Generated Help Text + +The default help flag (`-h/--help`) is defined as `cli.HelpFlag` and is checked +by the cli internals in order to print generated help text for the app, command, +or subcommand, and break execution. + +#### Customization + +All of the help text generation may be customized, and at multiple levels. The +templates are exposed as variables `AppHelpTemplate`, `CommandHelpTemplate`, and +`SubcommandHelpTemplate` which may be reassigned or augmented, and full override +is possible by assigning a compatible func to the `cli.HelpPrinter` variable, +e.g.: + + +``` go +package main + +import ( + "fmt" + "io" + "os" + + "github.com/urfave/cli" +) + +func main() { + // EXAMPLE: Append to an existing template + cli.AppHelpTemplate = fmt.Sprintf(`%s + +WEBSITE: http://awesometown.example.com + +SUPPORT: support@awesometown.example.com + +`, cli.AppHelpTemplate) + + // EXAMPLE: Override a template + cli.AppHelpTemplate = `NAME: + {{.Name}} - {{.Usage}} +USAGE: + {{.HelpName}} {{if .VisibleFlags}}[global options]{{end}}{{if .Commands}} command +[command options]{{end}} {{if +.ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]{{end}} + {{if len .Authors}} +AUTHOR(S): + {{range .Authors}}{{ . }}{{end}} + {{end}}{{if .Commands}} +COMMANDS: +{{range .Commands}}{{if not .HideHelp}} {{join .Names ", "}}{{ "\t" +}}{{.Usage}}{{ "\n" }}{{end}}{{end}}{{end}}{{if .VisibleFlags}} +GLOBAL OPTIONS: + {{range .VisibleFlags}}{{.}} + {{end}}{{end}}{{if .Copyright }} +COPYRIGHT: + {{.Copyright}} + {{end}}{{if .Version}} +VERSION: + {{.Version}} + {{end}} +` + + // EXAMPLE: Replace the `HelpPrinter` func + cli.HelpPrinter = func(w io.Writer, templ string, data interface{}) { + fmt.Println("Ha HA. I pwnd the help!!1") + } + + cli.NewApp().Run(os.Args) +} +``` + +The default flag may be customized to something other than `-h/--help` by +setting `cli.HelpFlag`, e.g.: + + +``` go +package main + +import ( + "os" + + "github.com/urfave/cli" +) + +func main() { + cli.HelpFlag = cli.BoolFlag{ + Name: "halp, haaaaalp", + Usage: "HALP", + EnvVar: "SHOW_HALP,HALPPLZ", + } + + cli.NewApp().Run(os.Args) +} +``` + +### Version Flag + +The default version flag (`-v/--version`) is defined as `cli.VersionFlag`, which +is checked by the cli internals in order to print the `App.Version` via +`cli.VersionPrinter` and break execution. + +#### Customization + +The default flag may be customized to something other than `-v/--version` by +setting `cli.VersionFlag`, e.g.: + + +``` go +package main + +import ( + "os" + + "github.com/urfave/cli" +) + +func main() { + cli.VersionFlag = cli.BoolFlag{ + Name: "print-version, V", + Usage: "print only the version", + } + + app := cli.NewApp() + app.Name = "partay" + app.Version = "19.99.0" + app.Run(os.Args) +} +``` + +Alternatively, the version printer at `cli.VersionPrinter` may be overridden, e.g.: + + +``` go +package main + +import ( + "fmt" + "os" + + "github.com/urfave/cli" +) + +var ( + Revision = "fafafaf" +) + +func main() { + cli.VersionPrinter = func(c *cli.Context) { + fmt.Printf("version=%s revision=%s\n", c.App.Version, Revision) + } + + app := cli.NewApp() + app.Name = "partay" + app.Version = "19.99.0" + app.Run(os.Args) +} +``` + +#### Full API Example + +**Notice**: This is a contrived (functioning) example meant strictly for API +demonstration purposes. Use of one's imagination is encouraged. + + +``` go +package main + +import ( + "errors" + "flag" + "fmt" + "io" + "io/ioutil" + "os" + "time" + + "github.com/urfave/cli" +) + +func init() { + cli.AppHelpTemplate += "\nCUSTOMIZED: you bet ur muffins\n" + cli.CommandHelpTemplate += "\nYMMV\n" + cli.SubcommandHelpTemplate += "\nor something\n" + + cli.HelpFlag = cli.BoolFlag{Name: "halp"} + cli.BashCompletionFlag = cli.BoolFlag{Name: "compgen", Hidden: true} + cli.VersionFlag = cli.BoolFlag{Name: "print-version, V"} + + cli.HelpPrinter = func(w io.Writer, templ string, data interface{}) { + fmt.Fprintf(w, "best of luck to you\n") + } + cli.VersionPrinter = func(c *cli.Context) { + fmt.Fprintf(c.App.Writer, "version=%s\n", c.App.Version) + } + cli.OsExiter = func(c int) { + fmt.Fprintf(cli.ErrWriter, "refusing to exit %d\n", c) + } + cli.ErrWriter = ioutil.Discard + cli.FlagStringer = func(fl cli.Flag) string { + return fmt.Sprintf("\t\t%s", fl.GetName()) + } +} + +type hexWriter struct{} + +func (w *hexWriter) Write(p []byte) (int, error) { + for _, b := range p { + fmt.Printf("%x", b) + } + fmt.Printf("\n") + + return len(p), nil +} + +type genericType struct{ + s string +} + +func (g *genericType) Set(value string) error { + g.s = value + return nil +} + +func (g *genericType) String() string { + return g.s +} + +func main() { + app := cli.NewApp() + app.Name = "kənˈtrīv" + app.Version = "19.99.0" + app.Compiled = time.Now() + app.Authors = []cli.Author{ + cli.Author{ + Name: "Example Human", + Email: "human@example.com", + }, + } + app.Copyright = "(c) 1999 Serious Enterprise" + app.HelpName = "contrive" + app.Usage = "demonstrate available API" + app.UsageText = "contrive - demonstrating the available API" + app.ArgsUsage = "[args and such]" + app.Commands = []cli.Command{ + cli.Command{ + Name: "doo", + Aliases: []string{"do"}, + Category: "motion", + Usage: "do the doo", + UsageText: "doo - does the dooing", + Description: "no really, there is a lot of dooing to be done", + ArgsUsage: "[arrgh]", + Flags: []cli.Flag{ + cli.BoolFlag{Name: "forever, forevvarr"}, + }, + Subcommands: cli.Commands{ + cli.Command{ + Name: "wop", + Action: wopAction, + }, + }, + SkipFlagParsing: false, + HideHelp: false, + Hidden: false, + HelpName: "doo!", + BashComplete: func(c *cli.Context) { + fmt.Fprintf(c.App.Writer, "--better\n") + }, + Before: func(c *cli.Context) error { + fmt.Fprintf(c.App.Writer, "brace for impact\n") + return nil + }, + After: func(c *cli.Context) error { + fmt.Fprintf(c.App.Writer, "did we lose anyone?\n") + return nil + }, + Action: func(c *cli.Context) error { + c.Command.FullName() + c.Command.HasName("wop") + c.Command.Names() + c.Command.VisibleFlags() + fmt.Fprintf(c.App.Writer, "dodododododoodododddooooododododooo\n") + if c.Bool("forever") { + c.Command.Run(c) + } + return nil + }, + OnUsageError: func(c *cli.Context, err error, isSubcommand bool) error { + fmt.Fprintf(c.App.Writer, "for shame\n") + return err + }, + }, + } + app.Flags = []cli.Flag{ + cli.BoolFlag{Name: "fancy"}, + cli.BoolTFlag{Name: "fancier"}, + cli.DurationFlag{Name: "howlong, H", Value: time.Second * 3}, + cli.Float64Flag{Name: "howmuch"}, + cli.GenericFlag{Name: "wat", Value: &genericType{}}, + cli.Int64Flag{Name: "longdistance"}, + cli.Int64SliceFlag{Name: "intervals"}, + cli.IntFlag{Name: "distance"}, + cli.IntSliceFlag{Name: "times"}, + cli.StringFlag{Name: "dance-move, d"}, + cli.StringSliceFlag{Name: "names, N"}, + cli.UintFlag{Name: "age"}, + cli.Uint64Flag{Name: "bigage"}, + } + app.EnableBashCompletion = true + app.HideHelp = false + app.HideVersion = false + app.BashComplete = func(c *cli.Context) { + fmt.Fprintf(c.App.Writer, "lipstick\nkiss\nme\nlipstick\nringo\n") + } + app.Before = func(c *cli.Context) error { + fmt.Fprintf(c.App.Writer, "HEEEERE GOES\n") + return nil + } + app.After = func(c *cli.Context) error { + fmt.Fprintf(c.App.Writer, "Phew!\n") + return nil + } + app.CommandNotFound = func(c *cli.Context, command string) { + fmt.Fprintf(c.App.Writer, "Thar be no %q here.\n", command) + } + app.OnUsageError = func(c *cli.Context, err error, isSubcommand bool) error { + if isSubcommand { + return err + } + + fmt.Fprintf(c.App.Writer, "WRONG: %#v\n", err) + return nil + } + app.Action = func(c *cli.Context) error { + cli.DefaultAppComplete(c) + cli.HandleExitCoder(errors.New("not an exit coder, though")) + cli.ShowAppHelp(c) + cli.ShowCommandCompletions(c, "nope") + cli.ShowCommandHelp(c, "also-nope") + cli.ShowCompletions(c) + cli.ShowSubcommandHelp(c) + cli.ShowVersion(c) + + categories := c.App.Categories() + categories.AddCommand("sounds", cli.Command{ + Name: "bloop", + }) + + for _, category := range c.App.Categories() { + fmt.Fprintf(c.App.Writer, "%s\n", category.Name) + fmt.Fprintf(c.App.Writer, "%#v\n", category.Commands) + fmt.Fprintf(c.App.Writer, "%#v\n", category.VisibleCommands()) + } + + fmt.Printf("%#v\n", c.App.Command("doo")) + if c.Bool("infinite") { + c.App.Run([]string{"app", "doo", "wop"}) + } + + if c.Bool("forevar") { + c.App.RunAsSubcommand(c) + } + c.App.Setup() + fmt.Printf("%#v\n", c.App.VisibleCategories()) + fmt.Printf("%#v\n", c.App.VisibleCommands()) + fmt.Printf("%#v\n", c.App.VisibleFlags()) + + fmt.Printf("%#v\n", c.Args().First()) + if len(c.Args()) > 0 { + fmt.Printf("%#v\n", c.Args()[1]) + } + fmt.Printf("%#v\n", c.Args().Present()) + fmt.Printf("%#v\n", c.Args().Tail()) + + set := flag.NewFlagSet("contrive", 0) + nc := cli.NewContext(c.App, set, c) + + fmt.Printf("%#v\n", nc.Args()) + fmt.Printf("%#v\n", nc.Bool("nope")) + fmt.Printf("%#v\n", nc.BoolT("nerp")) + fmt.Printf("%#v\n", nc.Duration("howlong")) + fmt.Printf("%#v\n", nc.Float64("hay")) + fmt.Printf("%#v\n", nc.Generic("bloop")) + fmt.Printf("%#v\n", nc.Int64("bonk")) + fmt.Printf("%#v\n", nc.Int64Slice("burnks")) + fmt.Printf("%#v\n", nc.Int("bips")) + fmt.Printf("%#v\n", nc.IntSlice("blups")) + fmt.Printf("%#v\n", nc.String("snurt")) + fmt.Printf("%#v\n", nc.StringSlice("snurkles")) + fmt.Printf("%#v\n", nc.Uint("flub")) + fmt.Printf("%#v\n", nc.Uint64("florb")) + fmt.Printf("%#v\n", nc.GlobalBool("global-nope")) + fmt.Printf("%#v\n", nc.GlobalBoolT("global-nerp")) + fmt.Printf("%#v\n", nc.GlobalDuration("global-howlong")) + fmt.Printf("%#v\n", nc.GlobalFloat64("global-hay")) + fmt.Printf("%#v\n", nc.GlobalGeneric("global-bloop")) + fmt.Printf("%#v\n", nc.GlobalInt("global-bips")) + fmt.Printf("%#v\n", nc.GlobalIntSlice("global-blups")) + fmt.Printf("%#v\n", nc.GlobalString("global-snurt")) + fmt.Printf("%#v\n", nc.GlobalStringSlice("global-snurkles")) + + fmt.Printf("%#v\n", nc.FlagNames()) + fmt.Printf("%#v\n", nc.GlobalFlagNames()) + fmt.Printf("%#v\n", nc.GlobalIsSet("wat")) + fmt.Printf("%#v\n", nc.GlobalSet("wat", "nope")) + fmt.Printf("%#v\n", nc.NArg()) + fmt.Printf("%#v\n", nc.NumFlags()) + fmt.Printf("%#v\n", nc.Parent()) + + nc.Set("wat", "also-nope") + + ec := cli.NewExitError("ohwell", 86) + fmt.Fprintf(c.App.Writer, "%d", ec.ExitCode()) + fmt.Printf("made it!\n") + return ec + } + + if os.Getenv("HEXY") != "" { + app.Writer = &hexWriter{} + app.ErrWriter = &hexWriter{} + } + + app.Metadata = map[string]interface{}{ + "layers": "many", + "explicable": false, + "whatever-values": 19.99, + } + + app.Run(os.Args) +} + +func wopAction(c *cli.Context) error { + fmt.Fprintf(c.App.Writer, ":wave: over here, eh\n") + return nil +} +``` ## Contribution Guidelines -Feel free to put up a pull request to fix a bug or maybe add a feature. I will give it a code review and make sure that it does not break backwards compatibility. If I or any other collaborators agree that it is in line with the vision of the project, we will work with you to get the code into a mergeable state and merge it into the master branch. -If you have contributed something significant to the project, I will most likely add you as a collaborator. As a collaborator you are given the ability to merge others pull requests. It is very important that new code does not break existing code, so be careful about what code you do choose to merge. If you have any questions feel free to link @codegangsta to the issue in question and we can review it together. +Feel free to put up a pull request to fix a bug or maybe add a feature. I will +give it a code review and make sure that it does not break backwards +compatibility. If I or any other collaborators agree that it is in line with +the vision of the project, we will work with you to get the code into +a mergeable state and merge it into the master branch. -If you feel like you have contributed to the project but have not yet been added as a collaborator, I probably forgot to add you. Hit @codegangsta up over email and we will get it figured out. +If you have contributed something significant to the project, we will most +likely add you as a collaborator. As a collaborator you are given the ability +to merge others pull requests. It is very important that new code does not +break existing code, so be careful about what code you do choose to merge. + +If you feel like you have contributed to the project but have not yet been +added as a collaborator, we probably forgot to add you, please open an issue. diff --git a/vendor/github.com/codegangsta/cli/app.go b/vendor/github.com/codegangsta/cli/app.go index e7caec9..95ffc0b 100644 --- a/vendor/github.com/codegangsta/cli/app.go +++ b/vendor/github.com/codegangsta/cli/app.go @@ -5,18 +5,40 @@ import ( "io" "io/ioutil" "os" + "path/filepath" + "sort" "time" ) -// App is the main structure of a cli application. It is recomended that +var ( + changeLogURL = "https://github.com/urfave/cli/blob/master/CHANGELOG.md" + appActionDeprecationURL = fmt.Sprintf("%s#deprecated-cli-app-action-signature", changeLogURL) + runAndExitOnErrorDeprecationURL = fmt.Sprintf("%s#deprecated-cli-app-runandexitonerror", changeLogURL) + + contactSysadmin = "This is an error in the application. Please contact the distributor of this application if this is not you." + + errInvalidActionType = NewExitError("ERROR invalid Action type. "+ + fmt.Sprintf("Must be `func(*Context`)` or `func(*Context) error). %s", contactSysadmin)+ + fmt.Sprintf("See %s", appActionDeprecationURL), 2) +) + +// App is the main structure of a cli application. It is recommended that // an app be created with the cli.NewApp() function type App struct { - // The name of the program. Defaults to os.Args[0] + // The name of the program. Defaults to path.Base(os.Args[0]) Name string + // Full name of command for help, defaults to Name + HelpName string // Description of the program. Usage string + // Text to override the USAGE section of help + UsageText string + // Description of the program argument format. + ArgsUsage string // Version of the program Version string + // Description of the program + Description string // List of commands to execute Commands []Command // List of flags to parse @@ -25,20 +47,28 @@ type App struct { EnableBashCompletion bool // Boolean to hide built-in help command HideHelp bool - // Boolean to hide built-in version flag + // Boolean to hide built-in version flag and the VERSION section of help HideVersion bool + // Populate on app startup, only gettable through method Categories() + categories CommandCategories // An action to execute when the bash-completion flag is set - BashComplete func(context *Context) + BashComplete BashCompleteFunc // An action to execute before any subcommands are run, but after the context is ready // If a non-nil error is returned, no subcommands are run - Before func(context *Context) error + Before BeforeFunc // An action to execute after any subcommands are run, but after the subcommand has finished // It is run even if Action() panics - After func(context *Context) error + After AfterFunc + // The action to execute when no subcommands are specified - Action func(context *Context) + // Expects a `cli.ActionFunc` but will accept the *deprecated* signature of `func(*cli.Context) {}` + // *Note*: support for the deprecated `Action` signature will be removed in a future version + Action interface{} + // Execute this function if the proper command cannot be found - CommandNotFound func(context *Context, command string) + CommandNotFound CommandNotFoundFunc + // Execute this function if an usage error occurs + OnUsageError OnUsageErrorFunc // Compilation date Compiled time.Time // List of all authors who contributed @@ -51,6 +81,12 @@ type App struct { Email string // Writer writer to write output to Writer io.Writer + // ErrWriter writes error output + ErrWriter io.Writer + // Other custom info + Metadata map[string]interface{} + + didSetup bool } // Tries to find out when this binary was compiled. @@ -63,11 +99,14 @@ func compileTime() time.Time { return info.ModTime() } -// Creates a new cli Application with some reasonable defaults for Name, Usage, Version and Action. +// NewApp creates a new cli Application with some reasonable defaults for Name, +// Usage, Version and Action. func NewApp() *App { return &App{ - Name: os.Args[0], + Name: filepath.Base(os.Args[0]), + HelpName: filepath.Base(os.Args[0]), Usage: "A new cli application", + UsageText: "", Version: "0.0.0", BashComplete: DefaultAppComplete, Action: helpCommand.Action, @@ -76,13 +115,29 @@ func NewApp() *App { } } -// Entry point to the cli app. Parses the arguments slice and routes to the proper flag/args combination -func (a *App) Run(arguments []string) (err error) { +// Setup runs initialization code to ensure all data structures are ready for +// `Run` or inspection prior to `Run`. It is internally called by `Run`, but +// will return early if setup has already happened. +func (a *App) Setup() { + if a.didSetup { + return + } + + a.didSetup = true + if a.Author != "" || a.Email != "" { a.Authors = append(a.Authors, Author{Name: a.Author, Email: a.Email}) } - // append help to commands + newCmds := []Command{} + for _, c := range a.Commands { + if c.HelpName == "" { + c.HelpName = fmt.Sprintf("%s %s", a.HelpName, c.Name) + } + newCmds = append(newCmds, c) + } + a.Commands = newCmds + if a.Command(helpCommand.Name) == nil && !a.HideHelp { a.Commands = append(a.Commands, helpCommand) if (HelpFlag != BoolFlag{}) { @@ -90,51 +145,83 @@ func (a *App) Run(arguments []string) (err error) { } } - //append version/help flags - if a.EnableBashCompletion { - a.appendFlag(BashCompletionFlag) - } - if !a.HideVersion { a.appendFlag(VersionFlag) } + a.categories = CommandCategories{} + for _, command := range a.Commands { + a.categories = a.categories.AddCommand(command.Category, command) + } + sort.Sort(a.categories) + + if a.Metadata == nil { + a.Metadata = make(map[string]interface{}) + } + + if a.Writer == nil { + a.Writer = os.Stdout + } +} + +// Run is the entry point to the cli app. Parses the arguments slice and routes +// to the proper flag/args combination +func (a *App) Run(arguments []string) (err error) { + a.Setup() + + // handle the completion flag separately from the flagset since + // completion could be attempted after a flag, but before its value was put + // on the command line. this causes the flagset to interpret the completion + // flag name as the value of the flag before it which is undesirable + // note that we can only do this because the shell autocomplete function + // always appends the completion flag at the end of the command + shellComplete, arguments := checkShellCompleteFlag(a, arguments) + // parse flags - set := flagSet(a.Name, a.Flags) + set, err := flagSet(a.Name, a.Flags) + if err != nil { + return err + } + set.SetOutput(ioutil.Discard) err = set.Parse(arguments[1:]) nerr := normalizeFlags(a.Flags, set) + context := NewContext(a, set, nil) if nerr != nil { fmt.Fprintln(a.Writer, nerr) - context := NewContext(a, set, nil) ShowAppHelp(context) return nerr } - context := NewContext(a, set, nil) - - if err != nil { - fmt.Fprintln(a.Writer, "Incorrect Usage.") - fmt.Fprintln(a.Writer) - ShowAppHelp(context) - return err - } + context.shellComplete = shellComplete if checkCompletions(context) { return nil } - if checkHelp(context) { + if err != nil { + if a.OnUsageError != nil { + err := a.OnUsageError(context, err, false) + HandleExitCoder(err) + return err + } + fmt.Fprintf(a.Writer, "%s %s\n\n", "Incorrect Usage.", err.Error()) + ShowAppHelp(context) + return err + } + + if !a.HideHelp && checkHelp(context) { + ShowAppHelp(context) return nil } - if checkVersion(context) { + if !a.HideVersion && checkVersion(context) { + ShowVersion(context) return nil } if a.After != nil { defer func() { - afterErr := a.After(context) - if afterErr != nil { + if afterErr := a.After(context); afterErr != nil { if err != nil { err = NewMultiError(err, afterErr) } else { @@ -145,8 +232,12 @@ func (a *App) Run(arguments []string) (err error) { } if a.Before != nil { - err := a.Before(context) - if err != nil { + beforeErr := a.Before(context) + if beforeErr != nil { + fmt.Fprintf(a.Writer, "%v\n\n", beforeErr) + ShowAppHelp(context) + HandleExitCoder(beforeErr) + err = beforeErr return err } } @@ -160,20 +251,31 @@ func (a *App) Run(arguments []string) (err error) { } } + if a.Action == nil { + a.Action = helpCommand.Action + } + // Run default Action - a.Action(context) - return nil + err = HandleAction(a.Action, context) + + HandleExitCoder(err) + return err } -// Another entry point to the cli app, takes care of passing arguments and error handling +// RunAndExitOnError calls .Run() and exits non-zero if an error was returned +// +// Deprecated: instead you should return an error that fulfills cli.ExitCoder +// to cli.App.Run. This will cause the application to exit with the given eror +// code in the cli.ExitCoder func (a *App) RunAndExitOnError() { if err := a.Run(os.Args); err != nil { - fmt.Fprintln(os.Stderr, err) - os.Exit(1) + fmt.Fprintln(a.errWriter(), err) + OsExiter(1) } } -// Invokes the subcommand given the context, parses ctx.Args() to generate command-specific flags +// RunAsSubcommand invokes the subcommand given the context, parses ctx.Args() to +// generate command-specific flags func (a *App) RunAsSubcommand(ctx *Context) (err error) { // append help to commands if len(a.Commands) > 0 { @@ -185,13 +287,21 @@ func (a *App) RunAsSubcommand(ctx *Context) (err error) { } } - // append flags - if a.EnableBashCompletion { - a.appendFlag(BashCompletionFlag) + newCmds := []Command{} + for _, c := range a.Commands { + if c.HelpName == "" { + c.HelpName = fmt.Sprintf("%s %s", a.HelpName, c.Name) + } + newCmds = append(newCmds, c) } + a.Commands = newCmds // parse flags - set := flagSet(a.Name, a.Flags) + set, err := flagSet(a.Name, a.Flags) + if err != nil { + return err + } + set.SetOutput(ioutil.Discard) err = set.Parse(ctx.Args().Tail()) nerr := normalizeFlags(a.Flags, set) @@ -208,17 +318,21 @@ func (a *App) RunAsSubcommand(ctx *Context) (err error) { return nerr } - if err != nil { - fmt.Fprintln(a.Writer, "Incorrect Usage.") - fmt.Fprintln(a.Writer) - ShowSubcommandHelp(context) - return err - } - if checkCompletions(context) { return nil } + if err != nil { + if a.OnUsageError != nil { + err = a.OnUsageError(context, err, true) + HandleExitCoder(err) + return err + } + fmt.Fprintf(a.Writer, "%s %s\n\n", "Incorrect Usage.", err.Error()) + ShowSubcommandHelp(context) + return err + } + if len(a.Commands) > 0 { if checkSubcommandHelp(context) { return nil @@ -233,6 +347,7 @@ func (a *App) RunAsSubcommand(ctx *Context) (err error) { defer func() { afterErr := a.After(context) if afterErr != nil { + HandleExitCoder(err) if err != nil { err = NewMultiError(err, afterErr) } else { @@ -243,8 +358,10 @@ func (a *App) RunAsSubcommand(ctx *Context) (err error) { } if a.Before != nil { - err := a.Before(context) - if err != nil { + beforeErr := a.Before(context) + if beforeErr != nil { + HandleExitCoder(beforeErr) + err = beforeErr return err } } @@ -259,12 +376,13 @@ func (a *App) RunAsSubcommand(ctx *Context) (err error) { } // Run default Action - a.Action(context) + err = HandleAction(a.Action, context) - return nil + HandleExitCoder(err) + return err } -// Returns the named command on App. Returns nil if the command does not exist +// Command returns the named command on App. Returns nil if the command does not exist func (a *App) Command(name string) *Command { for _, c := range a.Commands { if c.HasName(name) { @@ -275,6 +393,46 @@ func (a *App) Command(name string) *Command { return nil } +// Categories returns a slice containing all the categories with the commands they contain +func (a *App) Categories() CommandCategories { + return a.categories +} + +// VisibleCategories returns a slice of categories and commands that are +// Hidden=false +func (a *App) VisibleCategories() []*CommandCategory { + ret := []*CommandCategory{} + for _, category := range a.categories { + if visible := func() *CommandCategory { + for _, command := range category.Commands { + if !command.Hidden { + return category + } + } + return nil + }(); visible != nil { + ret = append(ret, visible) + } + } + return ret +} + +// VisibleCommands returns a slice of the Commands with Hidden=false +func (a *App) VisibleCommands() []Command { + ret := []Command{} + for _, command := range a.Commands { + if !command.Hidden { + ret = append(ret, command) + } + } + return ret +} + +// VisibleFlags returns a slice of the Flags with Hidden=false +func (a *App) VisibleFlags() []Flag { + return visibleFlags(a.Flags) +} + func (a *App) hasFlag(flag Flag) bool { for _, f := range a.Flags { if flag == f { @@ -285,6 +443,16 @@ func (a *App) hasFlag(flag Flag) bool { return false } +func (a *App) errWriter() io.Writer { + + // When the app ErrWriter is nil use the package level one. + if a.ErrWriter == nil { + return ErrWriter + } + + return a.ErrWriter +} + func (a *App) appendFlag(flag Flag) { if !a.hasFlag(flag) { a.Flags = append(a.Flags, flag) @@ -301,8 +469,24 @@ type Author struct { func (a Author) String() string { e := "" if a.Email != "" { - e = "<" + a.Email + "> " + e = " <" + a.Email + ">" } - return fmt.Sprintf("%v %v", a.Name, e) + return fmt.Sprintf("%v%v", a.Name, e) +} + +// HandleAction attempts to figure out which Action signature was used. If +// it's an ActionFunc or a func with the legacy signature for Action, the func +// is run! +func HandleAction(action interface{}, context *Context) (err error) { + if a, ok := action.(ActionFunc); ok { + return a(context) + } else if a, ok := action.(func(*Context) error); ok { + return a(context) + } else if a, ok := action.(func(*Context)); ok { // deprecated function signature + a(context) + return nil + } else { + return errInvalidActionType + } } diff --git a/vendor/github.com/codegangsta/cli/appveyor.yml b/vendor/github.com/codegangsta/cli/appveyor.yml new file mode 100644 index 0000000..698b188 --- /dev/null +++ b/vendor/github.com/codegangsta/cli/appveyor.yml @@ -0,0 +1,24 @@ +version: "{build}" + +os: Windows Server 2012 R2 + +clone_folder: c:\gopath\src\github.com\urfave\cli + +environment: + GOPATH: C:\gopath + GOVERSION: 1.6 + PYTHON: C:\Python27-x64 + PYTHON_VERSION: 2.7.x + PYTHON_ARCH: 64 + +install: +- set PATH=%GOPATH%\bin;C:\go\bin;%PATH% +- go version +- go env +- go get github.com/urfave/gfmrun/... +- go get -v -t ./... + +build_script: +- python runtests vet +- python runtests test +- python runtests gfmrun diff --git a/vendor/github.com/codegangsta/cli/category.go b/vendor/github.com/codegangsta/cli/category.go new file mode 100644 index 0000000..1a60550 --- /dev/null +++ b/vendor/github.com/codegangsta/cli/category.go @@ -0,0 +1,44 @@ +package cli + +// CommandCategories is a slice of *CommandCategory. +type CommandCategories []*CommandCategory + +// CommandCategory is a category containing commands. +type CommandCategory struct { + Name string + Commands Commands +} + +func (c CommandCategories) Less(i, j int) bool { + return c[i].Name < c[j].Name +} + +func (c CommandCategories) Len() int { + return len(c) +} + +func (c CommandCategories) Swap(i, j int) { + c[i], c[j] = c[j], c[i] +} + +// AddCommand adds a command to a category. +func (c CommandCategories) AddCommand(category string, command Command) CommandCategories { + for _, commandCategory := range c { + if commandCategory.Name == category { + commandCategory.Commands = append(commandCategory.Commands, command) + return c + } + } + return append(c, &CommandCategory{Name: category, Commands: []Command{command}}) +} + +// VisibleCommands returns a slice of the Commands with Hidden=false +func (c *CommandCategory) VisibleCommands() []Command { + ret := []Command{} + for _, command := range c.Commands { + if !command.Hidden { + ret = append(ret, command) + } + } + return ret +} diff --git a/vendor/github.com/codegangsta/cli/cli.go b/vendor/github.com/codegangsta/cli/cli.go index 31dc912..74fd101 100644 --- a/vendor/github.com/codegangsta/cli/cli.go +++ b/vendor/github.com/codegangsta/cli/cli.go @@ -10,7 +10,7 @@ // app := cli.NewApp() // app.Name = "greet" // app.Usage = "say a greeting" -// app.Action = func(c *cli.Context) { +// app.Action = func(c *cli.Context) error { // println("Greetings") // } // @@ -18,23 +18,4 @@ // } package cli -import ( - "strings" -) - -type MultiError struct { - Errors []error -} - -func NewMultiError(err ...error) MultiError { - return MultiError{Errors: err} -} - -func (m MultiError) Error() string { - errs := make([]string, len(m.Errors)) - for i, err := range m.Errors { - errs[i] = err.Error() - } - - return strings.Join(errs, "\n") -} +//go:generate python ./generate-flag-types cli -i flag-types.json -o flag_generated.go diff --git a/vendor/github.com/codegangsta/cli/command.go b/vendor/github.com/codegangsta/cli/command.go index 54617af..2628fbf 100644 --- a/vendor/github.com/codegangsta/cli/command.go +++ b/vendor/github.com/codegangsta/cli/command.go @@ -3,6 +3,7 @@ package cli import ( "fmt" "io/ioutil" + "sort" "strings" ) @@ -16,31 +17,51 @@ type Command struct { Aliases []string // A short description of the usage of this command Usage string + // Custom text to show on USAGE section of help + UsageText string // A longer explanation of how the command works Description string + // A short description of the arguments of this command + ArgsUsage string + // The category the command is part of + Category string // The function to call when checking for bash command completions - BashComplete func(context *Context) + BashComplete BashCompleteFunc // An action to execute before any sub-subcommands are run, but after the context is ready // If a non-nil error is returned, no sub-subcommands are run - Before func(context *Context) error + Before BeforeFunc // An action to execute after any subcommands are run, but after the subcommand has finished // It is run even if Action() panics - After func(context *Context) error + After AfterFunc // The function to call when this command is invoked - Action func(context *Context) + Action interface{} + // TODO: replace `Action: interface{}` with `Action: ActionFunc` once some kind + // of deprecation period has passed, maybe? + + // Execute this function if a usage error occurs. + OnUsageError OnUsageErrorFunc // List of child commands - Subcommands []Command + Subcommands Commands // List of flags to parse Flags []Flag // Treat all flags as normal arguments if true SkipFlagParsing bool + // Skip argument reordering which attempts to move flags before arguments, + // but only works if all flags appear after all arguments. This behavior was + // removed n version 2 since it only works under specific conditions so we + // backport here by exposing it as an option for compatibility. + SkipArgReorder bool // Boolean to hide built-in help command HideHelp bool + // Boolean to hide this command from help or completion + Hidden bool + // Full name of command for help, defaults to full command name, including parent commands. + HelpName string commandNamePath []string } -// Returns the full name of the command. +// FullName returns the full name of the command. // For subcommands this ensures that parent commands are part of the command path func (c Command) FullName() string { if c.commandNamePath == nil { @@ -49,9 +70,12 @@ func (c Command) FullName() string { return strings.Join(c.commandNamePath, " ") } -// Invokes the command given the context, parses ctx.Args() to generate command-specific flags -func (c Command) Run(ctx *Context) error { - if len(c.Subcommands) > 0 || c.Before != nil || c.After != nil { +// Commands is a slice of Command +type Commands []Command + +// Run invokes the command given the context, parses ctx.Args() to generate command-specific flags +func (c Command) Run(ctx *Context) (err error) { + if len(c.Subcommands) > 0 { return c.startApp(ctx) } @@ -63,50 +87,50 @@ func (c Command) Run(ctx *Context) error { ) } - if ctx.App.EnableBashCompletion { - c.Flags = append(c.Flags, BashCompletionFlag) + set, err := flagSet(c.Name, c.Flags) + if err != nil { + return err } - - set := flagSet(c.Name, c.Flags) set.SetOutput(ioutil.Discard) - firstFlagIndex := -1 - terminatorIndex := -1 - for index, arg := range ctx.Args() { - if arg == "--" { - terminatorIndex = index - break - } else if strings.HasPrefix(arg, "-") && firstFlagIndex == -1 { - firstFlagIndex = index + if c.SkipFlagParsing { + err = set.Parse(append([]string{"--"}, ctx.Args().Tail()...)) + } else if !c.SkipArgReorder { + firstFlagIndex := -1 + terminatorIndex := -1 + for index, arg := range ctx.Args() { + if arg == "--" { + terminatorIndex = index + break + } else if arg == "-" { + // Do nothing. A dash alone is not really a flag. + continue + } else if strings.HasPrefix(arg, "-") && firstFlagIndex == -1 { + firstFlagIndex = index + } } - } - var err error - if firstFlagIndex > -1 && !c.SkipFlagParsing { - args := ctx.Args() - regularArgs := make([]string, len(args[1:firstFlagIndex])) - copy(regularArgs, args[1:firstFlagIndex]) + if firstFlagIndex > -1 { + args := ctx.Args() + regularArgs := make([]string, len(args[1:firstFlagIndex])) + copy(regularArgs, args[1:firstFlagIndex]) - var flagArgs []string - if terminatorIndex > -1 { - flagArgs = args[firstFlagIndex:terminatorIndex] - regularArgs = append(regularArgs, args[terminatorIndex:]...) + var flagArgs []string + if terminatorIndex > -1 { + flagArgs = args[firstFlagIndex:terminatorIndex] + regularArgs = append(regularArgs, args[terminatorIndex:]...) + } else { + flagArgs = args[firstFlagIndex:] + } + + err = set.Parse(append(flagArgs, regularArgs...)) } else { - flagArgs = args[firstFlagIndex:] + err = set.Parse(ctx.Args().Tail()) } - - err = set.Parse(append(flagArgs, regularArgs...)) } else { err = set.Parse(ctx.Args().Tail()) } - if err != nil { - fmt.Fprintln(ctx.App.Writer, "Incorrect Usage.") - fmt.Fprintln(ctx.App.Writer) - ShowCommandHelp(ctx, c.Name) - return err - } - nerr := normalizeFlags(c.Flags, set) if nerr != nil { fmt.Fprintln(ctx.App.Writer, nerr) @@ -114,20 +138,67 @@ func (c Command) Run(ctx *Context) error { ShowCommandHelp(ctx, c.Name) return nerr } - context := NewContext(ctx.App, set, ctx) + context := NewContext(ctx.App, set, ctx) if checkCommandCompletions(context, c.Name) { return nil } + if err != nil { + if c.OnUsageError != nil { + err := c.OnUsageError(ctx, err, false) + HandleExitCoder(err) + return err + } + fmt.Fprintln(ctx.App.Writer, "Incorrect Usage:", err.Error()) + fmt.Fprintln(ctx.App.Writer) + ShowCommandHelp(ctx, c.Name) + return err + } + if checkCommandHelp(context, c.Name) { return nil } + + if c.After != nil { + defer func() { + afterErr := c.After(context) + if afterErr != nil { + HandleExitCoder(err) + if err != nil { + err = NewMultiError(err, afterErr) + } else { + err = afterErr + } + } + }() + } + + if c.Before != nil { + err = c.Before(context) + if err != nil { + fmt.Fprintln(ctx.App.Writer, err) + fmt.Fprintln(ctx.App.Writer) + ShowCommandHelp(ctx, c.Name) + HandleExitCoder(err) + return err + } + } + + if c.Action == nil { + c.Action = helpSubcommand.Action + } + context.Command = c - c.Action(context) - return nil + err = HandleAction(c.Action, context) + + if err != nil { + HandleExitCoder(err) + } + return err } +// Names returns the names including short names and aliases. func (c Command) Names() []string { names := []string{c.Name} @@ -138,7 +209,7 @@ func (c Command) Names() []string { return append(names, c.Aliases...) } -// Returns true if Command.Name or Command.ShortName matches given name +// HasName returns true if Command.Name or Command.ShortName matches given name func (c Command) HasName(name string) bool { for _, n := range c.Names() { if n == name { @@ -150,9 +221,15 @@ func (c Command) HasName(name string) bool { func (c Command) startApp(ctx *Context) error { app := NewApp() - + app.Metadata = ctx.App.Metadata // set the name and usage app.Name = fmt.Sprintf("%s %s", ctx.App.Name, c.Name) + if c.HelpName == "" { + app.HelpName = c.HelpName + } else { + app.HelpName = app.Name + } + if c.Description != "" { app.Usage = c.Description } else { @@ -174,6 +251,13 @@ func (c Command) startApp(ctx *Context) error { app.Email = ctx.App.Email app.Writer = ctx.App.Writer + app.categories = CommandCategories{} + for _, command := range c.Subcommands { + app.categories = app.categories.AddCommand(command.Category, command) + } + + sort.Sort(app.categories) + // bash completion app.EnableBashCompletion = ctx.App.EnableBashCompletion if c.BashComplete != nil { @@ -189,12 +273,14 @@ func (c Command) startApp(ctx *Context) error { app.Action = helpSubcommand.Action } - var newCmds []Command - for _, cc := range app.Commands { - cc.commandNamePath = []string{c.Name, cc.Name} - newCmds = append(newCmds, cc) + for index, cc := range app.Commands { + app.Commands[index].commandNamePath = []string{c.Name, cc.Name} } - app.Commands = newCmds return app.RunAsSubcommand(ctx) } + +// VisibleFlags returns a slice of the Flags with Hidden=false +func (c Command) VisibleFlags() []Flag { + return visibleFlags(c.Flags) +} diff --git a/vendor/github.com/codegangsta/cli/context.go b/vendor/github.com/codegangsta/cli/context.go index f541f41..cb89e92 100644 --- a/vendor/github.com/codegangsta/cli/context.go +++ b/vendor/github.com/codegangsta/cli/context.go @@ -3,9 +3,9 @@ package cli import ( "errors" "flag" - "strconv" + "reflect" "strings" - "time" + "syscall" ) // Context is a type that is passed through to @@ -13,157 +13,122 @@ import ( // can be used to retrieve context-specific Args and // parsed command-line options. type Context struct { - App *App - Command Command - flagSet *flag.FlagSet - setFlags map[string]bool - globalSetFlags map[string]bool - parentContext *Context + App *App + Command Command + shellComplete bool + flagSet *flag.FlagSet + setFlags map[string]bool + parentContext *Context } -// Creates a new context. For use in when invoking an App or Command action. +// NewContext creates a new context. For use in when invoking an App or Command action. func NewContext(app *App, set *flag.FlagSet, parentCtx *Context) *Context { - return &Context{App: app, flagSet: set, parentContext: parentCtx} -} + c := &Context{App: app, flagSet: set, parentContext: parentCtx} -// Looks up the value of a local int flag, returns 0 if no int flag exists -func (c *Context) Int(name string) int { - return lookupInt(name, c.flagSet) -} - -// Looks up the value of a local time.Duration flag, returns 0 if no time.Duration flag exists -func (c *Context) Duration(name string) time.Duration { - return lookupDuration(name, c.flagSet) -} - -// Looks up the value of a local float64 flag, returns 0 if no float64 flag exists -func (c *Context) Float64(name string) float64 { - return lookupFloat64(name, c.flagSet) -} - -// Looks up the value of a local bool flag, returns false if no bool flag exists -func (c *Context) Bool(name string) bool { - return lookupBool(name, c.flagSet) -} - -// Looks up the value of a local boolT flag, returns false if no bool flag exists -func (c *Context) BoolT(name string) bool { - return lookupBoolT(name, c.flagSet) -} - -// Looks up the value of a local string flag, returns "" if no string flag exists -func (c *Context) String(name string) string { - return lookupString(name, c.flagSet) -} - -// Looks up the value of a local string slice flag, returns nil if no string slice flag exists -func (c *Context) StringSlice(name string) []string { - return lookupStringSlice(name, c.flagSet) -} - -// Looks up the value of a local int slice flag, returns nil if no int slice flag exists -func (c *Context) IntSlice(name string) []int { - return lookupIntSlice(name, c.flagSet) -} - -// Looks up the value of a local generic flag, returns nil if no generic flag exists -func (c *Context) Generic(name string) interface{} { - return lookupGeneric(name, c.flagSet) -} - -// Looks up the value of a global int flag, returns 0 if no int flag exists -func (c *Context) GlobalInt(name string) int { - if fs := lookupGlobalFlagSet(name, c); fs != nil { - return lookupInt(name, fs) + if parentCtx != nil { + c.shellComplete = parentCtx.shellComplete } - return 0 + + return c } -// Looks up the value of a global time.Duration flag, returns 0 if no time.Duration flag exists -func (c *Context) GlobalDuration(name string) time.Duration { - if fs := lookupGlobalFlagSet(name, c); fs != nil { - return lookupDuration(name, fs) - } - return 0 -} - -// Looks up the value of a global bool flag, returns false if no bool flag exists -func (c *Context) GlobalBool(name string) bool { - if fs := lookupGlobalFlagSet(name, c); fs != nil { - return lookupBool(name, fs) - } - return false -} - -// Looks up the value of a global string flag, returns "" if no string flag exists -func (c *Context) GlobalString(name string) string { - if fs := lookupGlobalFlagSet(name, c); fs != nil { - return lookupString(name, fs) - } - return "" -} - -// Looks up the value of a global string slice flag, returns nil if no string slice flag exists -func (c *Context) GlobalStringSlice(name string) []string { - if fs := lookupGlobalFlagSet(name, c); fs != nil { - return lookupStringSlice(name, fs) - } - return nil -} - -// Looks up the value of a global int slice flag, returns nil if no int slice flag exists -func (c *Context) GlobalIntSlice(name string) []int { - if fs := lookupGlobalFlagSet(name, c); fs != nil { - return lookupIntSlice(name, fs) - } - return nil -} - -// Looks up the value of a global generic flag, returns nil if no generic flag exists -func (c *Context) GlobalGeneric(name string) interface{} { - if fs := lookupGlobalFlagSet(name, c); fs != nil { - return lookupGeneric(name, fs) - } - return nil -} - -// Returns the number of flags set +// NumFlags returns the number of flags set func (c *Context) NumFlags() int { return c.flagSet.NFlag() } -// Determines if the flag was actually set +// Set sets a context flag to a value. +func (c *Context) Set(name, value string) error { + return c.flagSet.Set(name, value) +} + +// GlobalSet sets a context flag to a value on the global flagset +func (c *Context) GlobalSet(name, value string) error { + return globalContext(c).flagSet.Set(name, value) +} + +// IsSet determines if the flag was actually set func (c *Context) IsSet(name string) bool { if c.setFlags == nil { c.setFlags = make(map[string]bool) + c.flagSet.Visit(func(f *flag.Flag) { c.setFlags[f.Name] = true }) - } - return c.setFlags[name] == true -} -// Determines if the global flag was actually set -func (c *Context) GlobalIsSet(name string) bool { - if c.globalSetFlags == nil { - c.globalSetFlags = make(map[string]bool) - ctx := c - if ctx.parentContext != nil { - ctx = ctx.parentContext + c.flagSet.VisitAll(func(f *flag.Flag) { + if _, ok := c.setFlags[f.Name]; ok { + return + } + c.setFlags[f.Name] = false + }) + + // XXX hack to support IsSet for flags with EnvVar + // + // There isn't an easy way to do this with the current implementation since + // whether a flag was set via an environment variable is very difficult to + // determine here. Instead, we intend to introduce a backwards incompatible + // change in version 2 to add `IsSet` to the Flag interface to push the + // responsibility closer to where the information required to determine + // whether a flag is set by non-standard means such as environment + // variables is avaliable. + // + // See https://github.com/urfave/cli/issues/294 for additional discussion + flags := c.Command.Flags + if c.Command.Name == "" { // cannot == Command{} since it contains slice types + if c.App != nil { + flags = c.App.Flags + } } - for ; ctx != nil && c.globalSetFlags[name] == false; ctx = ctx.parentContext { - ctx.flagSet.Visit(func(f *flag.Flag) { - c.globalSetFlags[f.Name] = true + for _, f := range flags { + eachName(f.GetName(), func(name string) { + if isSet, ok := c.setFlags[name]; isSet || !ok { + return + } + + val := reflect.ValueOf(f) + if val.Kind() == reflect.Ptr { + val = val.Elem() + } + + envVarValue := val.FieldByName("EnvVar") + if !envVarValue.IsValid() { + return + } + + eachName(envVarValue.String(), func(envVar string) { + envVar = strings.TrimSpace(envVar) + if _, ok := syscall.Getenv(envVar); ok { + c.setFlags[name] = true + return + } + }) }) } } - return c.globalSetFlags[name] + + return c.setFlags[name] } -// Returns a slice of flag names used in this context. +// GlobalIsSet determines if the global flag was actually set +func (c *Context) GlobalIsSet(name string) bool { + ctx := c + if ctx.parentContext != nil { + ctx = ctx.parentContext + } + + for ; ctx != nil; ctx = ctx.parentContext { + if ctx.IsSet(name) { + return true + } + } + return false +} + +// FlagNames returns a slice of flag names used in this context. func (c *Context) FlagNames() (names []string) { for _, flag := range c.Command.Flags { - name := strings.Split(flag.getName(), ",")[0] + name := strings.Split(flag.GetName(), ",")[0] if name == "help" { continue } @@ -172,10 +137,10 @@ func (c *Context) FlagNames() (names []string) { return } -// Returns a slice of global flag names used by the app. +// GlobalFlagNames returns a slice of global flag names used by the app. func (c *Context) GlobalFlagNames() (names []string) { for _, flag := range c.App.Flags { - name := strings.Split(flag.getName(), ",")[0] + name := strings.Split(flag.GetName(), ",")[0] if name == "help" || name == "version" { continue } @@ -184,20 +149,31 @@ func (c *Context) GlobalFlagNames() (names []string) { return } -// Returns the parent context, if any +// Parent returns the parent context, if any func (c *Context) Parent() *Context { return c.parentContext } +// value returns the value of the flag coressponding to `name` +func (c *Context) value(name string) interface{} { + return c.flagSet.Lookup(name).Value.(flag.Getter).Get() +} + +// Args contains apps console arguments type Args []string -// Returns the command line arguments associated with the context. +// Args returns the command line arguments associated with the context. func (c *Context) Args() Args { args := Args(c.flagSet.Args()) return args } -// Returns the nth argument, or else a blank string +// NArg returns the number of the command line arguments. +func (c *Context) NArg() int { + return len(c.Args()) +} + +// Get returns the nth argument, or else a blank string func (a Args) Get(n int) string { if len(a) > n { return a[n] @@ -205,12 +181,12 @@ func (a Args) Get(n int) string { return "" } -// Returns the first argument, or else a blank string +// First returns the first argument, or else a blank string func (a Args) First() string { return a.Get(0) } -// Return the rest of the arguments (not the first one) +// Tail returns the rest of the arguments (not the first one) // or else an empty string slice func (a Args) Tail() []string { if len(a) >= 2 { @@ -219,12 +195,12 @@ func (a Args) Tail() []string { return []string{} } -// Checks if there are any arguments present +// Present checks if there are any arguments present func (a Args) Present() bool { return len(a) != 0 } -// Swaps arguments at the given indexes +// Swap swaps arguments at the given indexes func (a Args) Swap(from, to int) error { if from >= len(a) || to >= len(a) { return errors.New("index out of range") @@ -233,6 +209,19 @@ func (a Args) Swap(from, to int) error { return nil } +func globalContext(ctx *Context) *Context { + if ctx == nil { + return nil + } + + for { + if ctx.parentContext == nil { + return ctx + } + ctx = ctx.parentContext + } +} + func lookupGlobalFlagSet(name string, ctx *Context) *flag.FlagSet { if ctx.parentContext != nil { ctx = ctx.parentContext @@ -245,107 +234,6 @@ func lookupGlobalFlagSet(name string, ctx *Context) *flag.FlagSet { return nil } -func lookupInt(name string, set *flag.FlagSet) int { - f := set.Lookup(name) - if f != nil { - val, err := strconv.Atoi(f.Value.String()) - if err != nil { - return 0 - } - return val - } - - return 0 -} - -func lookupDuration(name string, set *flag.FlagSet) time.Duration { - f := set.Lookup(name) - if f != nil { - val, err := time.ParseDuration(f.Value.String()) - if err == nil { - return val - } - } - - return 0 -} - -func lookupFloat64(name string, set *flag.FlagSet) float64 { - f := set.Lookup(name) - if f != nil { - val, err := strconv.ParseFloat(f.Value.String(), 64) - if err != nil { - return 0 - } - return val - } - - return 0 -} - -func lookupString(name string, set *flag.FlagSet) string { - f := set.Lookup(name) - if f != nil { - return f.Value.String() - } - - return "" -} - -func lookupStringSlice(name string, set *flag.FlagSet) []string { - f := set.Lookup(name) - if f != nil { - return (f.Value.(*StringSlice)).Value() - - } - - return nil -} - -func lookupIntSlice(name string, set *flag.FlagSet) []int { - f := set.Lookup(name) - if f != nil { - return (f.Value.(*IntSlice)).Value() - - } - - return nil -} - -func lookupGeneric(name string, set *flag.FlagSet) interface{} { - f := set.Lookup(name) - if f != nil { - return f.Value - } - return nil -} - -func lookupBool(name string, set *flag.FlagSet) bool { - f := set.Lookup(name) - if f != nil { - val, err := strconv.ParseBool(f.Value.String()) - if err != nil { - return false - } - return val - } - - return false -} - -func lookupBoolT(name string, set *flag.FlagSet) bool { - f := set.Lookup(name) - if f != nil { - val, err := strconv.ParseBool(f.Value.String()) - if err != nil { - return true - } - return val - } - - return false -} - func copyFlag(name string, ff *flag.Flag, set *flag.FlagSet) { switch ff.Value.(type) { case *StringSlice: @@ -360,7 +248,7 @@ func normalizeFlags(flags []Flag, set *flag.FlagSet) error { visited[f.Name] = true }) for _, f := range flags { - parts := strings.Split(f.getName(), ",") + parts := strings.Split(f.GetName(), ",") if len(parts) == 1 { continue } diff --git a/vendor/github.com/codegangsta/cli/errors.go b/vendor/github.com/codegangsta/cli/errors.go new file mode 100644 index 0000000..0206ff4 --- /dev/null +++ b/vendor/github.com/codegangsta/cli/errors.go @@ -0,0 +1,110 @@ +package cli + +import ( + "fmt" + "io" + "os" + "strings" +) + +// OsExiter is the function used when the app exits. If not set defaults to os.Exit. +var OsExiter = os.Exit + +// ErrWriter is used to write errors to the user. This can be anything +// implementing the io.Writer interface and defaults to os.Stderr. +var ErrWriter io.Writer = os.Stderr + +// MultiError is an error that wraps multiple errors. +type MultiError struct { + Errors []error +} + +// NewMultiError creates a new MultiError. Pass in one or more errors. +func NewMultiError(err ...error) MultiError { + return MultiError{Errors: err} +} + +// Error implements the error interface. +func (m MultiError) Error() string { + errs := make([]string, len(m.Errors)) + for i, err := range m.Errors { + errs[i] = err.Error() + } + + return strings.Join(errs, "\n") +} + +type ErrorFormatter interface { + Format(s fmt.State, verb rune) +} + +// ExitCoder is the interface checked by `App` and `Command` for a custom exit +// code +type ExitCoder interface { + error + ExitCode() int +} + +// ExitError fulfills both the builtin `error` interface and `ExitCoder` +type ExitError struct { + exitCode int + message interface{} +} + +// NewExitError makes a new *ExitError +func NewExitError(message interface{}, exitCode int) *ExitError { + return &ExitError{ + exitCode: exitCode, + message: message, + } +} + +// Error returns the string message, fulfilling the interface required by +// `error` +func (ee *ExitError) Error() string { + return fmt.Sprintf("%v", ee.message) +} + +// ExitCode returns the exit code, fulfilling the interface required by +// `ExitCoder` +func (ee *ExitError) ExitCode() int { + return ee.exitCode +} + +// HandleExitCoder checks if the error fulfills the ExitCoder interface, and if +// so prints the error to stderr (if it is non-empty) and calls OsExiter with the +// given exit code. If the given error is a MultiError, then this func is +// called on all members of the Errors slice. +func HandleExitCoder(err error) { + if err == nil { + return + } + + if exitErr, ok := err.(ExitCoder); ok { + if err.Error() != "" { + if _, ok := exitErr.(ErrorFormatter); ok { + fmt.Fprintf(ErrWriter, "%+v\n", err) + } else { + fmt.Fprintln(ErrWriter, err) + } + } + OsExiter(exitErr.ExitCode()) + return + } + + if multiErr, ok := err.(MultiError); ok { + for _, merr := range multiErr.Errors { + HandleExitCoder(merr) + } + return + } + + if err.Error() != "" { + if _, ok := err.(ErrorFormatter); ok { + fmt.Fprintf(ErrWriter, "%+v\n", err) + } else { + fmt.Fprintln(ErrWriter, err) + } + } + OsExiter(1) +} diff --git a/vendor/github.com/codegangsta/cli/flag-types.json b/vendor/github.com/codegangsta/cli/flag-types.json new file mode 100644 index 0000000..1223107 --- /dev/null +++ b/vendor/github.com/codegangsta/cli/flag-types.json @@ -0,0 +1,93 @@ +[ + { + "name": "Bool", + "type": "bool", + "value": false, + "context_default": "false", + "parser": "strconv.ParseBool(f.Value.String())" + }, + { + "name": "BoolT", + "type": "bool", + "value": false, + "doctail": " that is true by default", + "context_default": "false", + "parser": "strconv.ParseBool(f.Value.String())" + }, + { + "name": "Duration", + "type": "time.Duration", + "doctail": " (see https://golang.org/pkg/time/#ParseDuration)", + "context_default": "0", + "parser": "time.ParseDuration(f.Value.String())" + }, + { + "name": "Float64", + "type": "float64", + "context_default": "0", + "parser": "strconv.ParseFloat(f.Value.String(), 64)" + }, + { + "name": "Generic", + "type": "Generic", + "dest": false, + "context_default": "nil", + "context_type": "interface{}" + }, + { + "name": "Int64", + "type": "int64", + "context_default": "0", + "parser": "strconv.ParseInt(f.Value.String(), 0, 64)" + }, + { + "name": "Int", + "type": "int", + "context_default": "0", + "parser": "strconv.ParseInt(f.Value.String(), 0, 64)", + "parser_cast": "int(parsed)" + }, + { + "name": "IntSlice", + "type": "*IntSlice", + "dest": false, + "context_default": "nil", + "context_type": "[]int", + "parser": "(f.Value.(*IntSlice)).Value(), error(nil)" + }, + { + "name": "Int64Slice", + "type": "*Int64Slice", + "dest": false, + "context_default": "nil", + "context_type": "[]int64", + "parser": "(f.Value.(*Int64Slice)).Value(), error(nil)" + }, + { + "name": "String", + "type": "string", + "context_default": "\"\"", + "parser": "f.Value.String(), error(nil)" + }, + { + "name": "StringSlice", + "type": "*StringSlice", + "dest": false, + "context_default": "nil", + "context_type": "[]string", + "parser": "(f.Value.(*StringSlice)).Value(), error(nil)" + }, + { + "name": "Uint64", + "type": "uint64", + "context_default": "0", + "parser": "strconv.ParseUint(f.Value.String(), 0, 64)" + }, + { + "name": "Uint", + "type": "uint", + "context_default": "0", + "parser": "strconv.ParseUint(f.Value.String(), 0, 64)", + "parser_cast": "uint(parsed)" + } +] diff --git a/vendor/github.com/codegangsta/cli/flag.go b/vendor/github.com/codegangsta/cli/flag.go index 531b091..7dd8a2c 100644 --- a/vendor/github.com/codegangsta/cli/flag.go +++ b/vendor/github.com/codegangsta/cli/flag.go @@ -3,24 +3,29 @@ package cli import ( "flag" "fmt" - "os" + "reflect" + "runtime" "strconv" "strings" + "syscall" "time" ) -// This flag enables bash-completion for all commands and subcommands +const defaultPlaceholder = "value" + +// BashCompletionFlag enables bash-completion for all commands and subcommands var BashCompletionFlag = BoolFlag{ - Name: "generate-bash-completion", + Name: "generate-bash-completion", + Hidden: true, } -// This flag prints the version for the application +// VersionFlag prints the version for the application var VersionFlag = BoolFlag{ Name: "version, v", Usage: "print the version", } -// This flag prints the help for all commands and subcommands +// HelpFlag prints the help for all commands and subcommands // Set to the zero value (BoolFlag{}) to disable flag -- keeps subcommand // unless HideHelp is set to true) var HelpFlag = BoolFlag{ @@ -28,23 +33,58 @@ var HelpFlag = BoolFlag{ Usage: "show help", } +// FlagStringer converts a flag definition to a string. This is used by help +// to display a flag. +var FlagStringer FlagStringFunc = stringifyFlag + +// FlagsByName is a slice of Flag. +type FlagsByName []Flag + +func (f FlagsByName) Len() int { + return len(f) +} + +func (f FlagsByName) Less(i, j int) bool { + return f[i].GetName() < f[j].GetName() +} + +func (f FlagsByName) Swap(i, j int) { + f[i], f[j] = f[j], f[i] +} + // Flag is a common interface related to parsing flags in cli. -// For more advanced flag parsing techniques, it is recomended that +// For more advanced flag parsing techniques, it is recommended that // this interface be implemented. type Flag interface { fmt.Stringer // Apply Flag settings to the given flag set Apply(*flag.FlagSet) - getName() string + GetName() string } -func flagSet(name string, flags []Flag) *flag.FlagSet { +// errorableFlag is an interface that allows us to return errors during apply +// it allows flags defined in this library to return errors in a fashion backwards compatible +// TODO remove in v2 and modify the existing Flag interface to return errors +type errorableFlag interface { + Flag + + ApplyWithError(*flag.FlagSet) error +} + +func flagSet(name string, flags []Flag) (*flag.FlagSet, error) { set := flag.NewFlagSet(name, flag.ContinueOnError) for _, f := range flags { - f.Apply(set) + //TODO remove in v2 when errorableFlag is removed + if ef, ok := f.(errorableFlag); ok { + if err := ef.ApplyWithError(set); err != nil { + return nil, err + } + } else { + f.Apply(set) + } } - return set + return set, nil } func eachName(longName string, fn func(string)) { @@ -61,30 +101,24 @@ type Generic interface { String() string } -// GenericFlag is the flag type for types implementing Generic -type GenericFlag struct { - Name string - Value Generic - Usage string - EnvVar string -} - -// String returns the string representation of the generic flag to display the -// help text to the user (uses the String() method of the generic flag to show -// the value) -func (f GenericFlag) String() string { - return withEnvHint(f.EnvVar, fmt.Sprintf("%s%s \"%v\"\t%v", prefixFor(f.Name), f.Name, f.Value, f.Usage)) -} - // Apply takes the flagset and calls Set on the generic flag with the value // provided by the user for parsing by the flag +// Ignores parsing errors func (f GenericFlag) Apply(set *flag.FlagSet) { + f.ApplyWithError(set) +} + +// ApplyWithError takes the flagset and calls Set on the generic flag with the value +// provided by the user for parsing by the flag +func (f GenericFlag) ApplyWithError(set *flag.FlagSet) error { val := f.Value if f.EnvVar != "" { for _, envVar := range strings.Split(f.EnvVar, ",") { envVar = strings.TrimSpace(envVar) - if envVal := os.Getenv(envVar); envVal != "" { - val.Set(envVal) + if envVal, ok := syscall.Getenv(envVar); ok { + if err := val.Set(envVal); err != nil { + return fmt.Errorf("could not parse %s as value for flag %s: %s", envVal, f.Name, err) + } break } } @@ -93,13 +127,11 @@ func (f GenericFlag) Apply(set *flag.FlagSet) { eachName(f.Name, func(name string) { set.Var(f.Value, name, f.Usage) }) + + return nil } -func (f GenericFlag) getName() string { - return f.Name -} - -// StringSlice is an opaque type for []string to satisfy flag.Value +// StringSlice is an opaque type for []string to satisfy flag.Value and flag.Getter type StringSlice []string // Set appends the string value to the list of values @@ -118,32 +150,29 @@ func (f *StringSlice) Value() []string { return *f } -// StringSlice is a string flag that can be specified multiple times on the -// command-line -type StringSliceFlag struct { - Name string - Value *StringSlice - Usage string - EnvVar string -} - -// String returns the usage -func (f StringSliceFlag) String() string { - firstName := strings.Trim(strings.Split(f.Name, ",")[0], " ") - pref := prefixFor(firstName) - return withEnvHint(f.EnvVar, fmt.Sprintf("%s [%v]\t%v", prefixedNames(f.Name), pref+firstName+" option "+pref+firstName+" option", f.Usage)) +// Get returns the slice of strings set by this flag +func (f *StringSlice) Get() interface{} { + return *f } // Apply populates the flag given the flag set and environment +// Ignores errors func (f StringSliceFlag) Apply(set *flag.FlagSet) { + f.ApplyWithError(set) +} + +// ApplyWithError populates the flag given the flag set and environment +func (f StringSliceFlag) ApplyWithError(set *flag.FlagSet) error { if f.EnvVar != "" { for _, envVar := range strings.Split(f.EnvVar, ",") { envVar = strings.TrimSpace(envVar) - if envVal := os.Getenv(envVar); envVal != "" { + if envVal, ok := syscall.Getenv(envVar); ok { newVal := &StringSlice{} for _, s := range strings.Split(envVal, ",") { s = strings.TrimSpace(s) - newVal.Set(s) + if err := newVal.Set(s); err != nil { + return fmt.Errorf("could not parse %s as string value for flag %s: %s", envVal, f.Name, err) + } } f.Value = newVal break @@ -157,13 +186,11 @@ func (f StringSliceFlag) Apply(set *flag.FlagSet) { } set.Var(f.Value, name, f.Usage) }) + + return nil } -func (f StringSliceFlag) getName() string { - return f.Name -} - -// StringSlice is an opaque type for []int to satisfy flag.Value +// IntSlice is an opaque type for []int to satisfy flag.Value and flag.Getter type IntSlice []int // Set parses the value into an integer and appends it to the list of values @@ -171,15 +198,14 @@ func (f *IntSlice) Set(value string) error { tmp, err := strconv.Atoi(value) if err != nil { return err - } else { - *f = append(*f, tmp) } + *f = append(*f, tmp) return nil } // String returns a readable representation of this value (for usage defaults) func (f *IntSlice) String() string { - return fmt.Sprintf("%d", *f) + return fmt.Sprintf("%#v", *f) } // Value returns the slice of ints set by this flag @@ -187,34 +213,28 @@ func (f *IntSlice) Value() []int { return *f } -// IntSliceFlag is an int flag that can be specified multiple times on the -// command-line -type IntSliceFlag struct { - Name string - Value *IntSlice - Usage string - EnvVar string -} - -// String returns the usage -func (f IntSliceFlag) String() string { - firstName := strings.Trim(strings.Split(f.Name, ",")[0], " ") - pref := prefixFor(firstName) - return withEnvHint(f.EnvVar, fmt.Sprintf("%s [%v]\t%v", prefixedNames(f.Name), pref+firstName+" option "+pref+firstName+" option", f.Usage)) +// Get returns the slice of ints set by this flag +func (f *IntSlice) Get() interface{} { + return *f } // Apply populates the flag given the flag set and environment +// Ignores errors func (f IntSliceFlag) Apply(set *flag.FlagSet) { + f.ApplyWithError(set) +} + +// ApplyWithError populates the flag given the flag set and environment +func (f IntSliceFlag) ApplyWithError(set *flag.FlagSet) error { if f.EnvVar != "" { for _, envVar := range strings.Split(f.EnvVar, ",") { envVar = strings.TrimSpace(envVar) - if envVal := os.Getenv(envVar); envVal != "" { + if envVal, ok := syscall.Getenv(envVar); ok { newVal := &IntSlice{} for _, s := range strings.Split(envVal, ",") { s = strings.TrimSpace(s) - err := newVal.Set(s) - if err != nil { - fmt.Fprintf(os.Stderr, err.Error()) + if err := newVal.Set(s); err != nil { + return fmt.Errorf("could not parse %s as int slice value for flag %s: %s", envVal, f.Name, err) } } f.Value = newVal @@ -229,115 +249,164 @@ func (f IntSliceFlag) Apply(set *flag.FlagSet) { } set.Var(f.Value, name, f.Usage) }) + + return nil } -func (f IntSliceFlag) getName() string { - return f.Name -} +// Int64Slice is an opaque type for []int to satisfy flag.Value and flag.Getter +type Int64Slice []int64 -// BoolFlag is a switch that defaults to false -type BoolFlag struct { - Name string - Usage string - EnvVar string +// Set parses the value into an integer and appends it to the list of values +func (f *Int64Slice) Set(value string) error { + tmp, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return err + } + *f = append(*f, tmp) + return nil } // String returns a readable representation of this value (for usage defaults) -func (f BoolFlag) String() string { - return withEnvHint(f.EnvVar, fmt.Sprintf("%s\t%v", prefixedNames(f.Name), f.Usage)) +func (f *Int64Slice) String() string { + return fmt.Sprintf("%#v", *f) +} + +// Value returns the slice of ints set by this flag +func (f *Int64Slice) Value() []int64 { + return *f +} + +// Get returns the slice of ints set by this flag +func (f *Int64Slice) Get() interface{} { + return *f } // Apply populates the flag given the flag set and environment -func (f BoolFlag) Apply(set *flag.FlagSet) { - val := false +// Ignores errors +func (f Int64SliceFlag) Apply(set *flag.FlagSet) { + f.ApplyWithError(set) +} + +// ApplyWithError populates the flag given the flag set and environment +func (f Int64SliceFlag) ApplyWithError(set *flag.FlagSet) error { if f.EnvVar != "" { for _, envVar := range strings.Split(f.EnvVar, ",") { envVar = strings.TrimSpace(envVar) - if envVal := os.Getenv(envVar); envVal != "" { - envValBool, err := strconv.ParseBool(envVal) - if err == nil { - val = envValBool + if envVal, ok := syscall.Getenv(envVar); ok { + newVal := &Int64Slice{} + for _, s := range strings.Split(envVal, ",") { + s = strings.TrimSpace(s) + if err := newVal.Set(s); err != nil { + return fmt.Errorf("could not parse %s as int64 slice value for flag %s: %s", envVal, f.Name, err) + } } + f.Value = newVal break } } } eachName(f.Name, func(name string) { - set.Bool(name, val, f.Usage) + if f.Value == nil { + f.Value = &Int64Slice{} + } + set.Var(f.Value, name, f.Usage) }) -} - -func (f BoolFlag) getName() string { - return f.Name -} - -// BoolTFlag this represents a boolean flag that is true by default, but can -// still be set to false by --some-flag=false -type BoolTFlag struct { - Name string - Usage string - EnvVar string -} - -// String returns a readable representation of this value (for usage defaults) -func (f BoolTFlag) String() string { - return withEnvHint(f.EnvVar, fmt.Sprintf("%s\t%v", prefixedNames(f.Name), f.Usage)) + return nil } // Apply populates the flag given the flag set and environment -func (f BoolTFlag) Apply(set *flag.FlagSet) { - val := true +// Ignores errors +func (f BoolFlag) Apply(set *flag.FlagSet) { + f.ApplyWithError(set) +} + +// ApplyWithError populates the flag given the flag set and environment +func (f BoolFlag) ApplyWithError(set *flag.FlagSet) error { + val := false if f.EnvVar != "" { for _, envVar := range strings.Split(f.EnvVar, ",") { envVar = strings.TrimSpace(envVar) - if envVal := os.Getenv(envVar); envVal != "" { - envValBool, err := strconv.ParseBool(envVal) - if err == nil { - val = envValBool + if envVal, ok := syscall.Getenv(envVar); ok { + if envVal == "" { + val = false break } + + envValBool, err := strconv.ParseBool(envVal) + if err != nil { + return fmt.Errorf("could not parse %s as bool value for flag %s: %s", envVal, f.Name, err) + } + + val = envValBool + break } } } eachName(f.Name, func(name string) { + if f.Destination != nil { + set.BoolVar(f.Destination, name, val, f.Usage) + return + } set.Bool(name, val, f.Usage) }) -} -func (f BoolTFlag) getName() string { - return f.Name -} - -// StringFlag represents a flag that takes as string value -type StringFlag struct { - Name string - Value string - Usage string - EnvVar string -} - -// String returns the usage -func (f StringFlag) String() string { - var fmtString string - fmtString = "%s %v\t%v" - - if len(f.Value) > 0 { - fmtString = "%s \"%v\"\t%v" - } else { - fmtString = "%s %v\t%v" - } - - return withEnvHint(f.EnvVar, fmt.Sprintf(fmtString, prefixedNames(f.Name), f.Value, f.Usage)) + return nil } // Apply populates the flag given the flag set and environment -func (f StringFlag) Apply(set *flag.FlagSet) { +// Ignores errors +func (f BoolTFlag) Apply(set *flag.FlagSet) { + f.ApplyWithError(set) +} + +// ApplyWithError populates the flag given the flag set and environment +func (f BoolTFlag) ApplyWithError(set *flag.FlagSet) error { + val := true if f.EnvVar != "" { for _, envVar := range strings.Split(f.EnvVar, ",") { envVar = strings.TrimSpace(envVar) - if envVal := os.Getenv(envVar); envVal != "" { + if envVal, ok := syscall.Getenv(envVar); ok { + if envVal == "" { + val = false + break + } + + envValBool, err := strconv.ParseBool(envVal) + if err != nil { + return fmt.Errorf("could not parse %s as bool value for flag %s: %s", envVal, f.Name, err) + } + + val = envValBool + break + } + } + } + + eachName(f.Name, func(name string) { + if f.Destination != nil { + set.BoolVar(f.Destination, name, val, f.Usage) + return + } + set.Bool(name, val, f.Usage) + }) + + return nil +} + +// Apply populates the flag given the flag set and environment +// Ignores errors +func (f StringFlag) Apply(set *flag.FlagSet) { + f.ApplyWithError(set) +} + +// ApplyWithError populates the flag given the flag set and environment +func (f StringFlag) ApplyWithError(set *flag.FlagSet) error { + if f.EnvVar != "" { + for _, envVar := range strings.Split(f.EnvVar, ",") { + envVar = strings.TrimSpace(envVar) + if envVal, ok := syscall.Getenv(envVar); ok { f.Value = envVal break } @@ -345,125 +414,227 @@ func (f StringFlag) Apply(set *flag.FlagSet) { } eachName(f.Name, func(name string) { + if f.Destination != nil { + set.StringVar(f.Destination, name, f.Value, f.Usage) + return + } set.String(name, f.Value, f.Usage) }) -} -func (f StringFlag) getName() string { - return f.Name -} - -// IntFlag is a flag that takes an integer -// Errors if the value provided cannot be parsed -type IntFlag struct { - Name string - Value int - Usage string - EnvVar string -} - -// String returns the usage -func (f IntFlag) String() string { - return withEnvHint(f.EnvVar, fmt.Sprintf("%s \"%v\"\t%v", prefixedNames(f.Name), f.Value, f.Usage)) + return nil } // Apply populates the flag given the flag set and environment +// Ignores errors func (f IntFlag) Apply(set *flag.FlagSet) { + f.ApplyWithError(set) +} + +// ApplyWithError populates the flag given the flag set and environment +func (f IntFlag) ApplyWithError(set *flag.FlagSet) error { if f.EnvVar != "" { for _, envVar := range strings.Split(f.EnvVar, ",") { envVar = strings.TrimSpace(envVar) - if envVal := os.Getenv(envVar); envVal != "" { + if envVal, ok := syscall.Getenv(envVar); ok { envValInt, err := strconv.ParseInt(envVal, 0, 64) - if err == nil { - f.Value = int(envValInt) - break + if err != nil { + return fmt.Errorf("could not parse %s as int value for flag %s: %s", envVal, f.Name, err) } + f.Value = int(envValInt) + break } } } eachName(f.Name, func(name string) { + if f.Destination != nil { + set.IntVar(f.Destination, name, f.Value, f.Usage) + return + } set.Int(name, f.Value, f.Usage) }) -} -func (f IntFlag) getName() string { - return f.Name -} - -// DurationFlag is a flag that takes a duration specified in Go's duration -// format: https://golang.org/pkg/time/#ParseDuration -type DurationFlag struct { - Name string - Value time.Duration - Usage string - EnvVar string -} - -// String returns a readable representation of this value (for usage defaults) -func (f DurationFlag) String() string { - return withEnvHint(f.EnvVar, fmt.Sprintf("%s \"%v\"\t%v", prefixedNames(f.Name), f.Value, f.Usage)) + return nil } // Apply populates the flag given the flag set and environment -func (f DurationFlag) Apply(set *flag.FlagSet) { +// Ignores errors +func (f Int64Flag) Apply(set *flag.FlagSet) { + f.ApplyWithError(set) +} + +// ApplyWithError populates the flag given the flag set and environment +func (f Int64Flag) ApplyWithError(set *flag.FlagSet) error { if f.EnvVar != "" { for _, envVar := range strings.Split(f.EnvVar, ",") { envVar = strings.TrimSpace(envVar) - if envVal := os.Getenv(envVar); envVal != "" { - envValDuration, err := time.ParseDuration(envVal) - if err == nil { - f.Value = envValDuration - break + if envVal, ok := syscall.Getenv(envVar); ok { + envValInt, err := strconv.ParseInt(envVal, 0, 64) + if err != nil { + return fmt.Errorf("could not parse %s as int value for flag %s: %s", envVal, f.Name, err) } + + f.Value = envValInt + break } } } eachName(f.Name, func(name string) { + if f.Destination != nil { + set.Int64Var(f.Destination, name, f.Value, f.Usage) + return + } + set.Int64(name, f.Value, f.Usage) + }) + + return nil +} + +// Apply populates the flag given the flag set and environment +// Ignores errors +func (f UintFlag) Apply(set *flag.FlagSet) { + f.ApplyWithError(set) +} + +// ApplyWithError populates the flag given the flag set and environment +func (f UintFlag) ApplyWithError(set *flag.FlagSet) error { + if f.EnvVar != "" { + for _, envVar := range strings.Split(f.EnvVar, ",") { + envVar = strings.TrimSpace(envVar) + if envVal, ok := syscall.Getenv(envVar); ok { + envValInt, err := strconv.ParseUint(envVal, 0, 64) + if err != nil { + return fmt.Errorf("could not parse %s as uint value for flag %s: %s", envVal, f.Name, err) + } + + f.Value = uint(envValInt) + break + } + } + } + + eachName(f.Name, func(name string) { + if f.Destination != nil { + set.UintVar(f.Destination, name, f.Value, f.Usage) + return + } + set.Uint(name, f.Value, f.Usage) + }) + + return nil +} + +// Apply populates the flag given the flag set and environment +// Ignores errors +func (f Uint64Flag) Apply(set *flag.FlagSet) { + f.ApplyWithError(set) +} + +// ApplyWithError populates the flag given the flag set and environment +func (f Uint64Flag) ApplyWithError(set *flag.FlagSet) error { + if f.EnvVar != "" { + for _, envVar := range strings.Split(f.EnvVar, ",") { + envVar = strings.TrimSpace(envVar) + if envVal, ok := syscall.Getenv(envVar); ok { + envValInt, err := strconv.ParseUint(envVal, 0, 64) + if err != nil { + return fmt.Errorf("could not parse %s as uint64 value for flag %s: %s", envVal, f.Name, err) + } + + f.Value = uint64(envValInt) + break + } + } + } + + eachName(f.Name, func(name string) { + if f.Destination != nil { + set.Uint64Var(f.Destination, name, f.Value, f.Usage) + return + } + set.Uint64(name, f.Value, f.Usage) + }) + + return nil +} + +// Apply populates the flag given the flag set and environment +// Ignores errors +func (f DurationFlag) Apply(set *flag.FlagSet) { + f.ApplyWithError(set) +} + +// ApplyWithError populates the flag given the flag set and environment +func (f DurationFlag) ApplyWithError(set *flag.FlagSet) error { + if f.EnvVar != "" { + for _, envVar := range strings.Split(f.EnvVar, ",") { + envVar = strings.TrimSpace(envVar) + if envVal, ok := syscall.Getenv(envVar); ok { + envValDuration, err := time.ParseDuration(envVal) + if err != nil { + return fmt.Errorf("could not parse %s as duration for flag %s: %s", envVal, f.Name, err) + } + + f.Value = envValDuration + break + } + } + } + + eachName(f.Name, func(name string) { + if f.Destination != nil { + set.DurationVar(f.Destination, name, f.Value, f.Usage) + return + } set.Duration(name, f.Value, f.Usage) }) -} -func (f DurationFlag) getName() string { - return f.Name -} - -// Float64Flag is a flag that takes an float value -// Errors if the value provided cannot be parsed -type Float64Flag struct { - Name string - Value float64 - Usage string - EnvVar string -} - -// String returns the usage -func (f Float64Flag) String() string { - return withEnvHint(f.EnvVar, fmt.Sprintf("%s \"%v\"\t%v", prefixedNames(f.Name), f.Value, f.Usage)) + return nil } // Apply populates the flag given the flag set and environment +// Ignores errors func (f Float64Flag) Apply(set *flag.FlagSet) { + f.ApplyWithError(set) +} + +// ApplyWithError populates the flag given the flag set and environment +func (f Float64Flag) ApplyWithError(set *flag.FlagSet) error { if f.EnvVar != "" { for _, envVar := range strings.Split(f.EnvVar, ",") { envVar = strings.TrimSpace(envVar) - if envVal := os.Getenv(envVar); envVal != "" { + if envVal, ok := syscall.Getenv(envVar); ok { envValFloat, err := strconv.ParseFloat(envVal, 10) - if err == nil { - f.Value = float64(envValFloat) + if err != nil { + return fmt.Errorf("could not parse %s as float64 value for flag %s: %s", envVal, f.Name, err) } + + f.Value = float64(envValFloat) + break } } } eachName(f.Name, func(name string) { + if f.Destination != nil { + set.Float64Var(f.Destination, name, f.Value, f.Usage) + return + } set.Float64(name, f.Value, f.Usage) }) + + return nil } -func (f Float64Flag) getName() string { - return f.Name +func visibleFlags(fl []Flag) []Flag { + visible := []Flag{} + for _, flag := range fl { + if !flagValue(flag).FieldByName("Hidden").Bool() { + visible = append(visible, flag) + } + } + return visible } func prefixFor(name string) (prefix string) { @@ -476,22 +647,153 @@ func prefixFor(name string) (prefix string) { return } -func prefixedNames(fullName string) (prefixed string) { +// Returns the placeholder, if any, and the unquoted usage string. +func unquoteUsage(usage string) (string, string) { + for i := 0; i < len(usage); i++ { + if usage[i] == '`' { + for j := i + 1; j < len(usage); j++ { + if usage[j] == '`' { + name := usage[i+1 : j] + usage = usage[:i] + name + usage[j+1:] + return name, usage + } + } + break + } + } + return "", usage +} + +func prefixedNames(fullName, placeholder string) string { + var prefixed string parts := strings.Split(fullName, ",") for i, name := range parts { name = strings.Trim(name, " ") prefixed += prefixFor(name) + name + if placeholder != "" { + prefixed += " " + placeholder + } if i < len(parts)-1 { prefixed += ", " } } - return + return prefixed } func withEnvHint(envVar, str string) string { envText := "" if envVar != "" { - envText = fmt.Sprintf(" [$%s]", strings.Join(strings.Split(envVar, ","), ", $")) + prefix := "$" + suffix := "" + sep := ", $" + if runtime.GOOS == "windows" { + prefix = "%" + suffix = "%" + sep = "%, %" + } + envText = fmt.Sprintf(" [%s%s%s]", prefix, strings.Join(strings.Split(envVar, ","), sep), suffix) } return str + envText } + +func flagValue(f Flag) reflect.Value { + fv := reflect.ValueOf(f) + for fv.Kind() == reflect.Ptr { + fv = reflect.Indirect(fv) + } + return fv +} + +func stringifyFlag(f Flag) string { + fv := flagValue(f) + + switch f.(type) { + case IntSliceFlag: + return withEnvHint(fv.FieldByName("EnvVar").String(), + stringifyIntSliceFlag(f.(IntSliceFlag))) + case Int64SliceFlag: + return withEnvHint(fv.FieldByName("EnvVar").String(), + stringifyInt64SliceFlag(f.(Int64SliceFlag))) + case StringSliceFlag: + return withEnvHint(fv.FieldByName("EnvVar").String(), + stringifyStringSliceFlag(f.(StringSliceFlag))) + } + + placeholder, usage := unquoteUsage(fv.FieldByName("Usage").String()) + + needsPlaceholder := false + defaultValueString := "" + val := fv.FieldByName("Value") + + if val.IsValid() { + needsPlaceholder = true + defaultValueString = fmt.Sprintf(" (default: %v)", val.Interface()) + + if val.Kind() == reflect.String && val.String() != "" { + defaultValueString = fmt.Sprintf(" (default: %q)", val.String()) + } + } + + if defaultValueString == " (default: )" { + defaultValueString = "" + } + + if needsPlaceholder && placeholder == "" { + placeholder = defaultPlaceholder + } + + usageWithDefault := strings.TrimSpace(fmt.Sprintf("%s%s", usage, defaultValueString)) + + return withEnvHint(fv.FieldByName("EnvVar").String(), + fmt.Sprintf("%s\t%s", prefixedNames(fv.FieldByName("Name").String(), placeholder), usageWithDefault)) +} + +func stringifyIntSliceFlag(f IntSliceFlag) string { + defaultVals := []string{} + if f.Value != nil && len(f.Value.Value()) > 0 { + for _, i := range f.Value.Value() { + defaultVals = append(defaultVals, fmt.Sprintf("%d", i)) + } + } + + return stringifySliceFlag(f.Usage, f.Name, defaultVals) +} + +func stringifyInt64SliceFlag(f Int64SliceFlag) string { + defaultVals := []string{} + if f.Value != nil && len(f.Value.Value()) > 0 { + for _, i := range f.Value.Value() { + defaultVals = append(defaultVals, fmt.Sprintf("%d", i)) + } + } + + return stringifySliceFlag(f.Usage, f.Name, defaultVals) +} + +func stringifyStringSliceFlag(f StringSliceFlag) string { + defaultVals := []string{} + if f.Value != nil && len(f.Value.Value()) > 0 { + for _, s := range f.Value.Value() { + if len(s) > 0 { + defaultVals = append(defaultVals, fmt.Sprintf("%q", s)) + } + } + } + + return stringifySliceFlag(f.Usage, f.Name, defaultVals) +} + +func stringifySliceFlag(usage, name string, defaultVals []string) string { + placeholder, usage := unquoteUsage(usage) + if placeholder == "" { + placeholder = defaultPlaceholder + } + + defaultVal := "" + if len(defaultVals) > 0 { + defaultVal = fmt.Sprintf(" (default: %s)", strings.Join(defaultVals, ", ")) + } + + usageWithDefault := strings.TrimSpace(fmt.Sprintf("%s%s", usage, defaultVal)) + return fmt.Sprintf("%s\t%s", prefixedNames(name, placeholder), usageWithDefault) +} diff --git a/vendor/github.com/codegangsta/cli/flag_generated.go b/vendor/github.com/codegangsta/cli/flag_generated.go new file mode 100644 index 0000000..491b619 --- /dev/null +++ b/vendor/github.com/codegangsta/cli/flag_generated.go @@ -0,0 +1,627 @@ +package cli + +import ( + "flag" + "strconv" + "time" +) + +// WARNING: This file is generated! + +// BoolFlag is a flag with type bool +type BoolFlag struct { + Name string + Usage string + EnvVar string + Hidden bool + Destination *bool +} + +// String returns a readable representation of this value +// (for usage defaults) +func (f BoolFlag) String() string { + return FlagStringer(f) +} + +// GetName returns the name of the flag +func (f BoolFlag) GetName() string { + return f.Name +} + +// Bool looks up the value of a local BoolFlag, returns +// false if not found +func (c *Context) Bool(name string) bool { + return lookupBool(name, c.flagSet) +} + +// GlobalBool looks up the value of a global BoolFlag, returns +// false if not found +func (c *Context) GlobalBool(name string) bool { + if fs := lookupGlobalFlagSet(name, c); fs != nil { + return lookupBool(name, fs) + } + return false +} + +func lookupBool(name string, set *flag.FlagSet) bool { + f := set.Lookup(name) + if f != nil { + parsed, err := strconv.ParseBool(f.Value.String()) + if err != nil { + return false + } + return parsed + } + return false +} + +// BoolTFlag is a flag with type bool that is true by default +type BoolTFlag struct { + Name string + Usage string + EnvVar string + Hidden bool + Destination *bool +} + +// String returns a readable representation of this value +// (for usage defaults) +func (f BoolTFlag) String() string { + return FlagStringer(f) +} + +// GetName returns the name of the flag +func (f BoolTFlag) GetName() string { + return f.Name +} + +// BoolT looks up the value of a local BoolTFlag, returns +// false if not found +func (c *Context) BoolT(name string) bool { + return lookupBoolT(name, c.flagSet) +} + +// GlobalBoolT looks up the value of a global BoolTFlag, returns +// false if not found +func (c *Context) GlobalBoolT(name string) bool { + if fs := lookupGlobalFlagSet(name, c); fs != nil { + return lookupBoolT(name, fs) + } + return false +} + +func lookupBoolT(name string, set *flag.FlagSet) bool { + f := set.Lookup(name) + if f != nil { + parsed, err := strconv.ParseBool(f.Value.String()) + if err != nil { + return false + } + return parsed + } + return false +} + +// DurationFlag is a flag with type time.Duration (see https://golang.org/pkg/time/#ParseDuration) +type DurationFlag struct { + Name string + Usage string + EnvVar string + Hidden bool + Value time.Duration + Destination *time.Duration +} + +// String returns a readable representation of this value +// (for usage defaults) +func (f DurationFlag) String() string { + return FlagStringer(f) +} + +// GetName returns the name of the flag +func (f DurationFlag) GetName() string { + return f.Name +} + +// Duration looks up the value of a local DurationFlag, returns +// 0 if not found +func (c *Context) Duration(name string) time.Duration { + return lookupDuration(name, c.flagSet) +} + +// GlobalDuration looks up the value of a global DurationFlag, returns +// 0 if not found +func (c *Context) GlobalDuration(name string) time.Duration { + if fs := lookupGlobalFlagSet(name, c); fs != nil { + return lookupDuration(name, fs) + } + return 0 +} + +func lookupDuration(name string, set *flag.FlagSet) time.Duration { + f := set.Lookup(name) + if f != nil { + parsed, err := time.ParseDuration(f.Value.String()) + if err != nil { + return 0 + } + return parsed + } + return 0 +} + +// Float64Flag is a flag with type float64 +type Float64Flag struct { + Name string + Usage string + EnvVar string + Hidden bool + Value float64 + Destination *float64 +} + +// String returns a readable representation of this value +// (for usage defaults) +func (f Float64Flag) String() string { + return FlagStringer(f) +} + +// GetName returns the name of the flag +func (f Float64Flag) GetName() string { + return f.Name +} + +// Float64 looks up the value of a local Float64Flag, returns +// 0 if not found +func (c *Context) Float64(name string) float64 { + return lookupFloat64(name, c.flagSet) +} + +// GlobalFloat64 looks up the value of a global Float64Flag, returns +// 0 if not found +func (c *Context) GlobalFloat64(name string) float64 { + if fs := lookupGlobalFlagSet(name, c); fs != nil { + return lookupFloat64(name, fs) + } + return 0 +} + +func lookupFloat64(name string, set *flag.FlagSet) float64 { + f := set.Lookup(name) + if f != nil { + parsed, err := strconv.ParseFloat(f.Value.String(), 64) + if err != nil { + return 0 + } + return parsed + } + return 0 +} + +// GenericFlag is a flag with type Generic +type GenericFlag struct { + Name string + Usage string + EnvVar string + Hidden bool + Value Generic +} + +// String returns a readable representation of this value +// (for usage defaults) +func (f GenericFlag) String() string { + return FlagStringer(f) +} + +// GetName returns the name of the flag +func (f GenericFlag) GetName() string { + return f.Name +} + +// Generic looks up the value of a local GenericFlag, returns +// nil if not found +func (c *Context) Generic(name string) interface{} { + return lookupGeneric(name, c.flagSet) +} + +// GlobalGeneric looks up the value of a global GenericFlag, returns +// nil if not found +func (c *Context) GlobalGeneric(name string) interface{} { + if fs := lookupGlobalFlagSet(name, c); fs != nil { + return lookupGeneric(name, fs) + } + return nil +} + +func lookupGeneric(name string, set *flag.FlagSet) interface{} { + f := set.Lookup(name) + if f != nil { + parsed, err := f.Value, error(nil) + if err != nil { + return nil + } + return parsed + } + return nil +} + +// Int64Flag is a flag with type int64 +type Int64Flag struct { + Name string + Usage string + EnvVar string + Hidden bool + Value int64 + Destination *int64 +} + +// String returns a readable representation of this value +// (for usage defaults) +func (f Int64Flag) String() string { + return FlagStringer(f) +} + +// GetName returns the name of the flag +func (f Int64Flag) GetName() string { + return f.Name +} + +// Int64 looks up the value of a local Int64Flag, returns +// 0 if not found +func (c *Context) Int64(name string) int64 { + return lookupInt64(name, c.flagSet) +} + +// GlobalInt64 looks up the value of a global Int64Flag, returns +// 0 if not found +func (c *Context) GlobalInt64(name string) int64 { + if fs := lookupGlobalFlagSet(name, c); fs != nil { + return lookupInt64(name, fs) + } + return 0 +} + +func lookupInt64(name string, set *flag.FlagSet) int64 { + f := set.Lookup(name) + if f != nil { + parsed, err := strconv.ParseInt(f.Value.String(), 0, 64) + if err != nil { + return 0 + } + return parsed + } + return 0 +} + +// IntFlag is a flag with type int +type IntFlag struct { + Name string + Usage string + EnvVar string + Hidden bool + Value int + Destination *int +} + +// String returns a readable representation of this value +// (for usage defaults) +func (f IntFlag) String() string { + return FlagStringer(f) +} + +// GetName returns the name of the flag +func (f IntFlag) GetName() string { + return f.Name +} + +// Int looks up the value of a local IntFlag, returns +// 0 if not found +func (c *Context) Int(name string) int { + return lookupInt(name, c.flagSet) +} + +// GlobalInt looks up the value of a global IntFlag, returns +// 0 if not found +func (c *Context) GlobalInt(name string) int { + if fs := lookupGlobalFlagSet(name, c); fs != nil { + return lookupInt(name, fs) + } + return 0 +} + +func lookupInt(name string, set *flag.FlagSet) int { + f := set.Lookup(name) + if f != nil { + parsed, err := strconv.ParseInt(f.Value.String(), 0, 64) + if err != nil { + return 0 + } + return int(parsed) + } + return 0 +} + +// IntSliceFlag is a flag with type *IntSlice +type IntSliceFlag struct { + Name string + Usage string + EnvVar string + Hidden bool + Value *IntSlice +} + +// String returns a readable representation of this value +// (for usage defaults) +func (f IntSliceFlag) String() string { + return FlagStringer(f) +} + +// GetName returns the name of the flag +func (f IntSliceFlag) GetName() string { + return f.Name +} + +// IntSlice looks up the value of a local IntSliceFlag, returns +// nil if not found +func (c *Context) IntSlice(name string) []int { + return lookupIntSlice(name, c.flagSet) +} + +// GlobalIntSlice looks up the value of a global IntSliceFlag, returns +// nil if not found +func (c *Context) GlobalIntSlice(name string) []int { + if fs := lookupGlobalFlagSet(name, c); fs != nil { + return lookupIntSlice(name, fs) + } + return nil +} + +func lookupIntSlice(name string, set *flag.FlagSet) []int { + f := set.Lookup(name) + if f != nil { + parsed, err := (f.Value.(*IntSlice)).Value(), error(nil) + if err != nil { + return nil + } + return parsed + } + return nil +} + +// Int64SliceFlag is a flag with type *Int64Slice +type Int64SliceFlag struct { + Name string + Usage string + EnvVar string + Hidden bool + Value *Int64Slice +} + +// String returns a readable representation of this value +// (for usage defaults) +func (f Int64SliceFlag) String() string { + return FlagStringer(f) +} + +// GetName returns the name of the flag +func (f Int64SliceFlag) GetName() string { + return f.Name +} + +// Int64Slice looks up the value of a local Int64SliceFlag, returns +// nil if not found +func (c *Context) Int64Slice(name string) []int64 { + return lookupInt64Slice(name, c.flagSet) +} + +// GlobalInt64Slice looks up the value of a global Int64SliceFlag, returns +// nil if not found +func (c *Context) GlobalInt64Slice(name string) []int64 { + if fs := lookupGlobalFlagSet(name, c); fs != nil { + return lookupInt64Slice(name, fs) + } + return nil +} + +func lookupInt64Slice(name string, set *flag.FlagSet) []int64 { + f := set.Lookup(name) + if f != nil { + parsed, err := (f.Value.(*Int64Slice)).Value(), error(nil) + if err != nil { + return nil + } + return parsed + } + return nil +} + +// StringFlag is a flag with type string +type StringFlag struct { + Name string + Usage string + EnvVar string + Hidden bool + Value string + Destination *string +} + +// String returns a readable representation of this value +// (for usage defaults) +func (f StringFlag) String() string { + return FlagStringer(f) +} + +// GetName returns the name of the flag +func (f StringFlag) GetName() string { + return f.Name +} + +// String looks up the value of a local StringFlag, returns +// "" if not found +func (c *Context) String(name string) string { + return lookupString(name, c.flagSet) +} + +// GlobalString looks up the value of a global StringFlag, returns +// "" if not found +func (c *Context) GlobalString(name string) string { + if fs := lookupGlobalFlagSet(name, c); fs != nil { + return lookupString(name, fs) + } + return "" +} + +func lookupString(name string, set *flag.FlagSet) string { + f := set.Lookup(name) + if f != nil { + parsed, err := f.Value.String(), error(nil) + if err != nil { + return "" + } + return parsed + } + return "" +} + +// StringSliceFlag is a flag with type *StringSlice +type StringSliceFlag struct { + Name string + Usage string + EnvVar string + Hidden bool + Value *StringSlice +} + +// String returns a readable representation of this value +// (for usage defaults) +func (f StringSliceFlag) String() string { + return FlagStringer(f) +} + +// GetName returns the name of the flag +func (f StringSliceFlag) GetName() string { + return f.Name +} + +// StringSlice looks up the value of a local StringSliceFlag, returns +// nil if not found +func (c *Context) StringSlice(name string) []string { + return lookupStringSlice(name, c.flagSet) +} + +// GlobalStringSlice looks up the value of a global StringSliceFlag, returns +// nil if not found +func (c *Context) GlobalStringSlice(name string) []string { + if fs := lookupGlobalFlagSet(name, c); fs != nil { + return lookupStringSlice(name, fs) + } + return nil +} + +func lookupStringSlice(name string, set *flag.FlagSet) []string { + f := set.Lookup(name) + if f != nil { + parsed, err := (f.Value.(*StringSlice)).Value(), error(nil) + if err != nil { + return nil + } + return parsed + } + return nil +} + +// Uint64Flag is a flag with type uint64 +type Uint64Flag struct { + Name string + Usage string + EnvVar string + Hidden bool + Value uint64 + Destination *uint64 +} + +// String returns a readable representation of this value +// (for usage defaults) +func (f Uint64Flag) String() string { + return FlagStringer(f) +} + +// GetName returns the name of the flag +func (f Uint64Flag) GetName() string { + return f.Name +} + +// Uint64 looks up the value of a local Uint64Flag, returns +// 0 if not found +func (c *Context) Uint64(name string) uint64 { + return lookupUint64(name, c.flagSet) +} + +// GlobalUint64 looks up the value of a global Uint64Flag, returns +// 0 if not found +func (c *Context) GlobalUint64(name string) uint64 { + if fs := lookupGlobalFlagSet(name, c); fs != nil { + return lookupUint64(name, fs) + } + return 0 +} + +func lookupUint64(name string, set *flag.FlagSet) uint64 { + f := set.Lookup(name) + if f != nil { + parsed, err := strconv.ParseUint(f.Value.String(), 0, 64) + if err != nil { + return 0 + } + return parsed + } + return 0 +} + +// UintFlag is a flag with type uint +type UintFlag struct { + Name string + Usage string + EnvVar string + Hidden bool + Value uint + Destination *uint +} + +// String returns a readable representation of this value +// (for usage defaults) +func (f UintFlag) String() string { + return FlagStringer(f) +} + +// GetName returns the name of the flag +func (f UintFlag) GetName() string { + return f.Name +} + +// Uint looks up the value of a local UintFlag, returns +// 0 if not found +func (c *Context) Uint(name string) uint { + return lookupUint(name, c.flagSet) +} + +// GlobalUint looks up the value of a global UintFlag, returns +// 0 if not found +func (c *Context) GlobalUint(name string) uint { + if fs := lookupGlobalFlagSet(name, c); fs != nil { + return lookupUint(name, fs) + } + return 0 +} + +func lookupUint(name string, set *flag.FlagSet) uint { + f := set.Lookup(name) + if f != nil { + parsed, err := strconv.ParseUint(f.Value.String(), 0, 64) + if err != nil { + return 0 + } + return uint(parsed) + } + return 0 +} diff --git a/vendor/github.com/codegangsta/cli/funcs.go b/vendor/github.com/codegangsta/cli/funcs.go new file mode 100644 index 0000000..cba5e6c --- /dev/null +++ b/vendor/github.com/codegangsta/cli/funcs.go @@ -0,0 +1,28 @@ +package cli + +// BashCompleteFunc is an action to execute when the bash-completion flag is set +type BashCompleteFunc func(*Context) + +// BeforeFunc is an action to execute before any subcommands are run, but after +// the context is ready if a non-nil error is returned, no subcommands are run +type BeforeFunc func(*Context) error + +// AfterFunc is an action to execute after any subcommands are run, but after the +// subcommand has finished it is run even if Action() panics +type AfterFunc func(*Context) error + +// ActionFunc is the action to execute when no subcommands are specified +type ActionFunc func(*Context) error + +// CommandNotFoundFunc is executed if the proper command cannot be found +type CommandNotFoundFunc func(*Context, string) + +// OnUsageErrorFunc is executed if an usage error occurs. This is useful for displaying +// customized usage error messages. This function is able to replace the +// original error messages. If this function is not set, the "Incorrect usage" +// is displayed and the execution is interrupted. +type OnUsageErrorFunc func(context *Context, err error, isSubcommand bool) error + +// FlagStringFunc is used by the help generation to display a flag, which is +// expected to be a single line. +type FlagStringFunc func(Flag) string diff --git a/vendor/github.com/codegangsta/cli/generate-flag-types b/vendor/github.com/codegangsta/cli/generate-flag-types new file mode 100755 index 0000000..7147381 --- /dev/null +++ b/vendor/github.com/codegangsta/cli/generate-flag-types @@ -0,0 +1,255 @@ +#!/usr/bin/env python +""" +The flag types that ship with the cli library have many things in common, and +so we can take advantage of the `go generate` command to create much of the +source code from a list of definitions. These definitions attempt to cover +the parts that vary between flag types, and should evolve as needed. + +An example of the minimum definition needed is: + + { + "name": "SomeType", + "type": "sometype", + "context_default": "nil" + } + +In this example, the code generated for the `cli` package will include a type +named `SomeTypeFlag` that is expected to wrap a value of type `sometype`. +Fetching values by name via `*cli.Context` will default to a value of `nil`. + +A more complete, albeit somewhat redundant, example showing all available +definition keys is: + + { + "name": "VeryMuchType", + "type": "*VeryMuchType", + "value": true, + "dest": false, + "doctail": " which really only wraps a []float64, oh well!", + "context_type": "[]float64", + "context_default": "nil", + "parser": "parseVeryMuchType(f.Value.String())", + "parser_cast": "[]float64(parsed)" + } + +The meaning of each field is as follows: + + name (string) - The type "name", which will be suffixed with + `Flag` when generating the type definition + for `cli` and the wrapper type for `altsrc` + type (string) - The type that the generated `Flag` type for `cli` + is expected to "contain" as its `.Value` member + value (bool) - Should the generated `cli` type have a `Value` + member? + dest (bool) - Should the generated `cli` type support a + destination pointer? + doctail (string) - Additional docs for the `cli` flag type comment + context_type (string) - The literal type used in the `*cli.Context` + reader func signature + context_default (string) - The literal value used as the default by the + `*cli.Context` reader funcs when no value is + present + parser (string) - Literal code used to parse the flag `f`, + expected to have a return signature of + (value, error) + parser_cast (string) - Literal code used to cast the `parsed` value + returned from the `parser` code +""" + +from __future__ import print_function, unicode_literals + +import argparse +import json +import os +import subprocess +import sys +import tempfile +import textwrap + + +class _FancyFormatter(argparse.ArgumentDefaultsHelpFormatter, + argparse.RawDescriptionHelpFormatter): + pass + + +def main(sysargs=sys.argv[:]): + parser = argparse.ArgumentParser( + description='Generate flag type code!', + formatter_class=_FancyFormatter) + parser.add_argument( + 'package', + type=str, default='cli', choices=_WRITEFUNCS.keys(), + help='Package for which flag types will be generated' + ) + parser.add_argument( + '-i', '--in-json', + type=argparse.FileType('r'), + default=sys.stdin, + help='Input JSON file which defines each type to be generated' + ) + parser.add_argument( + '-o', '--out-go', + type=argparse.FileType('w'), + default=sys.stdout, + help='Output file/stream to which generated source will be written' + ) + parser.epilog = __doc__ + + args = parser.parse_args(sysargs[1:]) + _generate_flag_types(_WRITEFUNCS[args.package], args.out_go, args.in_json) + return 0 + + +def _generate_flag_types(writefunc, output_go, input_json): + types = json.load(input_json) + + tmp = tempfile.NamedTemporaryFile(suffix='.go', delete=False) + writefunc(tmp, types) + tmp.close() + + new_content = subprocess.check_output( + ['goimports', tmp.name] + ).decode('utf-8') + + print(new_content, file=output_go, end='') + output_go.flush() + os.remove(tmp.name) + + +def _set_typedef_defaults(typedef): + typedef.setdefault('doctail', '') + typedef.setdefault('context_type', typedef['type']) + typedef.setdefault('dest', True) + typedef.setdefault('value', True) + typedef.setdefault('parser', 'f.Value, error(nil)') + typedef.setdefault('parser_cast', 'parsed') + + +def _write_cli_flag_types(outfile, types): + _fwrite(outfile, """\ + package cli + + // WARNING: This file is generated! + + """) + + for typedef in types: + _set_typedef_defaults(typedef) + + _fwrite(outfile, """\ + // {name}Flag is a flag with type {type}{doctail} + type {name}Flag struct {{ + Name string + Usage string + EnvVar string + Hidden bool + """.format(**typedef)) + + if typedef['value']: + _fwrite(outfile, """\ + Value {type} + """.format(**typedef)) + + if typedef['dest']: + _fwrite(outfile, """\ + Destination *{type} + """.format(**typedef)) + + _fwrite(outfile, "\n}\n\n") + + _fwrite(outfile, """\ + // String returns a readable representation of this value + // (for usage defaults) + func (f {name}Flag) String() string {{ + return FlagStringer(f) + }} + + // GetName returns the name of the flag + func (f {name}Flag) GetName() string {{ + return f.Name + }} + + // {name} looks up the value of a local {name}Flag, returns + // {context_default} if not found + func (c *Context) {name}(name string) {context_type} {{ + return lookup{name}(name, c.flagSet) + }} + + // Global{name} looks up the value of a global {name}Flag, returns + // {context_default} if not found + func (c *Context) Global{name}(name string) {context_type} {{ + if fs := lookupGlobalFlagSet(name, c); fs != nil {{ + return lookup{name}(name, fs) + }} + return {context_default} + }} + + func lookup{name}(name string, set *flag.FlagSet) {context_type} {{ + f := set.Lookup(name) + if f != nil {{ + parsed, err := {parser} + if err != nil {{ + return {context_default} + }} + return {parser_cast} + }} + return {context_default} + }} + """.format(**typedef)) + + +def _write_altsrc_flag_types(outfile, types): + _fwrite(outfile, """\ + package altsrc + + import ( + "gopkg.in/urfave/cli.v1" + ) + + // WARNING: This file is generated! + + """) + + for typedef in types: + _set_typedef_defaults(typedef) + + _fwrite(outfile, """\ + // {name}Flag is the flag type that wraps cli.{name}Flag to allow + // for other values to be specified + type {name}Flag struct {{ + cli.{name}Flag + set *flag.FlagSet + }} + + // New{name}Flag creates a new {name}Flag + func New{name}Flag(fl cli.{name}Flag) *{name}Flag {{ + return &{name}Flag{{{name}Flag: fl, set: nil}} + }} + + // Apply saves the flagSet for later usage calls, then calls the + // wrapped {name}Flag.Apply + func (f *{name}Flag) Apply(set *flag.FlagSet) {{ + f.set = set + f.{name}Flag.Apply(set) + }} + + // ApplyWithError saves the flagSet for later usage calls, then calls the + // wrapped {name}Flag.ApplyWithError + func (f *{name}Flag) ApplyWithError(set *flag.FlagSet) error {{ + f.set = set + return f.{name}Flag.ApplyWithError(set) + }} + """.format(**typedef)) + + +def _fwrite(outfile, text): + print(textwrap.dedent(text), end='', file=outfile) + + +_WRITEFUNCS = { + 'cli': _write_cli_flag_types, + 'altsrc': _write_altsrc_flag_types +} + +if __name__ == '__main__': + sys.exit(main()) diff --git a/vendor/github.com/codegangsta/cli/help.go b/vendor/github.com/codegangsta/cli/help.go index 66ef2fb..c8c1aee 100644 --- a/vendor/github.com/codegangsta/cli/help.go +++ b/vendor/github.com/codegangsta/cli/help.go @@ -3,148 +3,170 @@ package cli import ( "fmt" "io" + "os" "strings" "text/tabwriter" "text/template" ) -// The text template for the Default help topic. +// AppHelpTemplate is the text template for the Default help topic. // cli.go uses text/template to render templates. You can // render custom help text by setting this variable. var AppHelpTemplate = `NAME: - {{.Name}} - {{.Usage}} + {{.Name}}{{if .Usage}} - {{.Usage}}{{end}} USAGE: - {{.Name}} {{if .Flags}}[global options]{{end}}{{if .Commands}} command [command options]{{end}} [arguments...] - {{if .Version}} + {{if .UsageText}}{{.UsageText}}{{else}}{{.HelpName}} {{if .VisibleFlags}}[global options]{{end}}{{if .Commands}} command [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]{{end}}{{end}}{{if .Version}}{{if not .HideVersion}} + VERSION: - {{.Version}} - {{end}}{{if len .Authors}} -AUTHOR(S): - {{range .Authors}}{{ . }}{{end}} - {{end}}{{if .Commands}} -COMMANDS: - {{range .Commands}}{{join .Names ", "}}{{ "\t" }}{{.Usage}} - {{end}}{{end}}{{if .Flags}} + {{.Version}}{{end}}{{end}}{{if .Description}} + +DESCRIPTION: + {{.Description}}{{end}}{{if len .Authors}} + +AUTHOR{{with $length := len .Authors}}{{if ne 1 $length}}S{{end}}{{end}}: + {{range $index, $author := .Authors}}{{if $index}} + {{end}}{{$author}}{{end}}{{end}}{{if .VisibleCommands}} + +COMMANDS:{{range .VisibleCategories}}{{if .Name}} + {{.Name}}:{{end}}{{range .VisibleCommands}} + {{join .Names ", "}}{{"\t"}}{{.Usage}}{{end}}{{end}}{{end}}{{if .VisibleFlags}} + GLOBAL OPTIONS: - {{range .Flags}}{{.}} - {{end}}{{end}}{{if .Copyright }} + {{range $index, $option := .VisibleFlags}}{{if $index}} + {{end}}{{$option}}{{end}}{{end}}{{if .Copyright}} + COPYRIGHT: - {{.Copyright}} - {{end}} + {{.Copyright}}{{end}} ` -// The text template for the command help topic. +// CommandHelpTemplate is the text template for the command help topic. // cli.go uses text/template to render templates. You can // render custom help text by setting this variable. var CommandHelpTemplate = `NAME: - {{.FullName}} - {{.Usage}} + {{.HelpName}} - {{.Usage}} USAGE: - command {{.FullName}}{{if .Flags}} [command options]{{end}} [arguments...]{{if .Description}} + {{.HelpName}}{{if .VisibleFlags}} [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]{{end}}{{if .Category}} + +CATEGORY: + {{.Category}}{{end}}{{if .Description}} DESCRIPTION: - {{.Description}}{{end}}{{if .Flags}} + {{.Description}}{{end}}{{if .VisibleFlags}} OPTIONS: - {{range .Flags}}{{.}} - {{end}}{{ end }} + {{range .VisibleFlags}}{{.}} + {{end}}{{end}} ` -// The text template for the subcommand help topic. +// SubcommandHelpTemplate is the text template for the subcommand help topic. // cli.go uses text/template to render templates. You can // render custom help text by setting this variable. var SubcommandHelpTemplate = `NAME: - {{.Name}} - {{.Usage}} + {{.HelpName}} - {{.Usage}} USAGE: - {{.Name}} command{{if .Flags}} [command options]{{end}} [arguments...] + {{.HelpName}} command{{if .VisibleFlags}} [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]{{end}} -COMMANDS: - {{range .Commands}}{{join .Names ", "}}{{ "\t" }}{{.Usage}} - {{end}}{{if .Flags}} +COMMANDS:{{range .VisibleCategories}}{{if .Name}} + {{.Name}}:{{end}}{{range .VisibleCommands}} + {{join .Names ", "}}{{"\t"}}{{.Usage}}{{end}} +{{end}}{{if .VisibleFlags}} OPTIONS: - {{range .Flags}}{{.}} + {{range .VisibleFlags}}{{.}} {{end}}{{end}} ` var helpCommand = Command{ - Name: "help", - Aliases: []string{"h"}, - Usage: "Shows a list of commands or help for one command", - Action: func(c *Context) { + Name: "help", + Aliases: []string{"h"}, + Usage: "Shows a list of commands or help for one command", + ArgsUsage: "[command]", + Action: func(c *Context) error { args := c.Args() if args.Present() { - ShowCommandHelp(c, args.First()) - } else { - ShowAppHelp(c) + return ShowCommandHelp(c, args.First()) } + + ShowAppHelp(c) + return nil }, } var helpSubcommand = Command{ - Name: "help", - Aliases: []string{"h"}, - Usage: "Shows a list of commands or help for one command", - Action: func(c *Context) { + Name: "help", + Aliases: []string{"h"}, + Usage: "Shows a list of commands or help for one command", + ArgsUsage: "[command]", + Action: func(c *Context) error { args := c.Args() if args.Present() { - ShowCommandHelp(c, args.First()) - } else { - ShowSubcommandHelp(c) + return ShowCommandHelp(c, args.First()) } + + return ShowSubcommandHelp(c) }, } // Prints help for the App or Command type helpPrinter func(w io.Writer, templ string, data interface{}) +// HelpPrinter is a function that writes the help output. If not set a default +// is used. The function signature is: +// func(w io.Writer, templ string, data interface{}) var HelpPrinter helpPrinter = printHelp -// Prints version for the App +// VersionPrinter prints the version for the App var VersionPrinter = printVersion -func ShowAppHelp(c *Context) { +// ShowAppHelp is an action that displays the help. +func ShowAppHelp(c *Context) error { HelpPrinter(c.App.Writer, AppHelpTemplate, c.App) + return nil } -// Prints the list of subcommands as the default app completion method +// DefaultAppComplete prints the list of subcommands as the default app completion method func DefaultAppComplete(c *Context) { for _, command := range c.App.Commands { + if command.Hidden { + continue + } for _, name := range command.Names() { fmt.Fprintln(c.App.Writer, name) } } } -// Prints help for the given command -func ShowCommandHelp(ctx *Context, command string) { +// ShowCommandHelp prints help for the given command +func ShowCommandHelp(ctx *Context, command string) error { // show the subcommand help for a command with subcommands if command == "" { HelpPrinter(ctx.App.Writer, SubcommandHelpTemplate, ctx.App) - return + return nil } for _, c := range ctx.App.Commands { if c.HasName(command) { HelpPrinter(ctx.App.Writer, CommandHelpTemplate, c) - return + return nil } } - if ctx.App.CommandNotFound != nil { - ctx.App.CommandNotFound(ctx, command) - } else { - fmt.Fprintf(ctx.App.Writer, "No help topic for '%v'\n", command) + if ctx.App.CommandNotFound == nil { + return NewExitError(fmt.Sprintf("No help topic for '%v'", command), 3) } + + ctx.App.CommandNotFound(ctx, command) + return nil } -// Prints help for the given subcommand -func ShowSubcommandHelp(c *Context) { - ShowCommandHelp(c, c.Command.Name) +// ShowSubcommandHelp prints help for the given subcommand +func ShowSubcommandHelp(c *Context) error { + return ShowCommandHelp(c, c.Command.Name) } -// Prints the version number of the App +// ShowVersion prints the version number of the App func ShowVersion(c *Context) { VersionPrinter(c) } @@ -153,7 +175,7 @@ func printVersion(c *Context) { fmt.Fprintf(c.App.Writer, "%v version %v\n", c.App.Name, c.App.Version) } -// Prints the lists of commands within a given context +// ShowCompletions prints the lists of commands within a given context func ShowCompletions(c *Context) { a := c.App if a != nil && a.BashComplete != nil { @@ -161,7 +183,7 @@ func ShowCompletions(c *Context) { } } -// Prints the custom completions for a given command +// ShowCommandCompletions prints the custom completions for a given command func ShowCommandCompletions(ctx *Context, command string) { c := ctx.App.Command(command) if c != nil && c.BashComplete != nil { @@ -174,31 +196,42 @@ func printHelp(out io.Writer, templ string, data interface{}) { "join": strings.Join, } - w := tabwriter.NewWriter(out, 0, 8, 1, '\t', 0) + w := tabwriter.NewWriter(out, 1, 8, 2, ' ', 0) t := template.Must(template.New("help").Funcs(funcMap).Parse(templ)) err := t.Execute(w, data) if err != nil { - panic(err) + // If the writer is closed, t.Execute will fail, and there's nothing + // we can do to recover. + if os.Getenv("CLI_TEMPLATE_ERROR_DEBUG") != "" { + fmt.Fprintf(ErrWriter, "CLI TEMPLATE ERROR: %#v\n", err) + } + return } w.Flush() } func checkVersion(c *Context) bool { - if c.GlobalBool("version") || c.GlobalBool("v") || c.Bool("version") || c.Bool("v") { - ShowVersion(c) - return true + found := false + if VersionFlag.Name != "" { + eachName(VersionFlag.Name, func(name string) { + if c.GlobalBool(name) || c.Bool(name) { + found = true + } + }) } - - return false + return found } func checkHelp(c *Context) bool { - if c.GlobalBool("h") || c.GlobalBool("help") || c.Bool("h") || c.Bool("help") { - ShowAppHelp(c) - return true + found := false + if HelpFlag.Name != "" { + eachName(HelpFlag.Name, func(name string) { + if c.GlobalBool(name) || c.Bool(name) { + found = true + } + }) } - - return false + return found } func checkCommandHelp(c *Context, name string) bool { @@ -211,7 +244,7 @@ func checkCommandHelp(c *Context, name string) bool { } func checkSubcommandHelp(c *Context) bool { - if c.GlobalBool("h") || c.GlobalBool("help") { + if c.Bool("h") || c.Bool("help") { ShowSubcommandHelp(c) return true } @@ -219,20 +252,43 @@ func checkSubcommandHelp(c *Context) bool { return false } -func checkCompletions(c *Context) bool { - if (c.GlobalBool(BashCompletionFlag.Name) || c.Bool(BashCompletionFlag.Name)) && c.App.EnableBashCompletion { - ShowCompletions(c) - return true +func checkShellCompleteFlag(a *App, arguments []string) (bool, []string) { + if !a.EnableBashCompletion { + return false, arguments } - return false + pos := len(arguments) - 1 + lastArg := arguments[pos] + + if lastArg != "--"+BashCompletionFlag.Name { + return false, arguments + } + + return true, arguments[:pos] +} + +func checkCompletions(c *Context) bool { + if !c.shellComplete { + return false + } + + if args := c.Args(); args.Present() { + name := args.First() + if cmd := c.App.Command(name); cmd != nil { + // let the command handle the completion + return false + } + } + + ShowCompletions(c) + return true } func checkCommandCompletions(c *Context, name string) bool { - if c.Bool(BashCompletionFlag.Name) && c.App.EnableBashCompletion { - ShowCommandCompletions(c, name) - return true + if !c.shellComplete { + return false } - return false + ShowCommandCompletions(c, name) + return true } diff --git a/vendor/github.com/codegangsta/cli/runtests b/vendor/github.com/codegangsta/cli/runtests new file mode 100755 index 0000000..ee22bde --- /dev/null +++ b/vendor/github.com/codegangsta/cli/runtests @@ -0,0 +1,122 @@ +#!/usr/bin/env python +from __future__ import print_function + +import argparse +import os +import sys +import tempfile + +from subprocess import check_call, check_output + + +PACKAGE_NAME = os.environ.get( + 'CLI_PACKAGE_NAME', 'github.com/urfave/cli' +) + + +def main(sysargs=sys.argv[:]): + targets = { + 'vet': _vet, + 'test': _test, + 'gfmrun': _gfmrun, + 'toc': _toc, + 'gen': _gen, + } + + parser = argparse.ArgumentParser() + parser.add_argument( + 'target', nargs='?', choices=tuple(targets.keys()), default='test' + ) + args = parser.parse_args(sysargs[1:]) + + targets[args.target]() + return 0 + + +def _test(): + if check_output('go version'.split()).split()[2] < 'go1.2': + _run('go test -v .') + return + + coverprofiles = [] + for subpackage in ['', 'altsrc']: + coverprofile = 'cli.coverprofile' + if subpackage != '': + coverprofile = '{}.coverprofile'.format(subpackage) + + coverprofiles.append(coverprofile) + + _run('go test -v'.split() + [ + '-coverprofile={}'.format(coverprofile), + ('{}/{}'.format(PACKAGE_NAME, subpackage)).rstrip('/') + ]) + + combined_name = _combine_coverprofiles(coverprofiles) + _run('go tool cover -func={}'.format(combined_name)) + os.remove(combined_name) + + +def _gfmrun(): + go_version = check_output('go version'.split()).split()[2] + if go_version < 'go1.3': + print('runtests: skip on {}'.format(go_version), file=sys.stderr) + return + _run(['gfmrun', '-c', str(_gfmrun_count()), '-s', 'README.md']) + + +def _vet(): + _run('go vet ./...') + + +def _toc(): + _run('node_modules/.bin/markdown-toc -i README.md') + _run('git diff --exit-code') + + +def _gen(): + go_version = check_output('go version'.split()).split()[2] + if go_version < 'go1.5': + print('runtests: skip on {}'.format(go_version), file=sys.stderr) + return + + _run('go generate ./...') + _run('git diff --exit-code') + + +def _run(command): + if hasattr(command, 'split'): + command = command.split() + print('runtests: {}'.format(' '.join(command)), file=sys.stderr) + check_call(command) + + +def _gfmrun_count(): + with open('README.md') as infile: + lines = infile.read().splitlines() + return len(filter(_is_go_runnable, lines)) + + +def _is_go_runnable(line): + return line.startswith('package main') + + +def _combine_coverprofiles(coverprofiles): + combined = tempfile.NamedTemporaryFile( + suffix='.coverprofile', delete=False + ) + combined.write('mode: set\n') + + for coverprofile in coverprofiles: + with open(coverprofile, 'r') as infile: + for line in infile.readlines(): + if not line.startswith('mode: '): + combined.write(line) + + combined.flush() + name = combined.name + combined.close() + return name + + +if __name__ == '__main__': + sys.exit(main()) From dbcdc904b940a96eeab37aa87335a5bda7cfd1bb Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Tue, 8 Aug 2017 16:44:26 +0900 Subject: [PATCH 35/82] Fix max connection enforcement Closes #136. --- app/app.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/app.go b/app/app.go index 5618bd0..78a7772 100644 --- a/app/app.go +++ b/app/app.go @@ -315,7 +315,7 @@ func (app *App) handleWS(w http.ResponseWriter, r *http.Request) { connections := atomic.AddInt64(app.connections, 1) if int64(app.options.MaxConnection) != 0 { - if connections >= int64(app.options.MaxConnection) { + if connections > int64(app.options.MaxConnection) { log.Printf("Reached max connection: %d", app.options.MaxConnection) return } From 412ffeb06dbc4b687d20b579972cdd395bafa813 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Tue, 8 Aug 2017 16:52:19 +0900 Subject: [PATCH 36/82] Use in memory storage not to clear local storage Closes #118. --- app/resource.go | 14 +++++++------- resources/gotty.js | 3 +-- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/app/resource.go b/app/resource.go index c9d5165..cdcc028 100644 --- a/app/resource.go +++ b/app/resource.go @@ -86,12 +86,12 @@ func staticFaviconPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/favicon.png", size: 863, mode: os.FileMode(436), modTime: time.Unix(1440919501, 0)} + info := bindataFileInfo{name: "static/favicon.png", size: 863, mode: os.FileMode(436), modTime: time.Unix(1460529855, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _staticIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x84\x90\xc1\x52\xc3\x20\x10\x86\xef\x3e\xc5\x8a\xe3\xcd\x09\xf1\xda\x90\x5c\x7d\x81\x5e\x3c\x39\x34\x6c\xc3\xb6\x04\x32\xb0\xad\x66\x1c\xdf\x5d\x28\xe6\xa4\x33\x9e\xf8\x77\xf7\x9b\xe5\x03\x75\x6f\xc2\xc8\xeb\x82\x60\x79\x76\xc3\x9d\xaa\x07\x80\xb2\xa8\x4d\x09\x39\x32\xb1\xc3\xe1\x25\xec\xf7\xaf\x4a\xd6\xa2\x0e\x12\xaf\x39\x1f\x82\x59\x9f\xe0\x81\x31\xce\xe4\xb5\x83\xcf\x25\x24\x62\x0a\x7e\x07\xfa\x90\x82\xbb\x30\x76\x60\x91\x26\xcb\x3b\x78\x6e\xdb\xc7\x0e\xde\xc9\xb0\xdd\x8a\x59\xc7\x89\x32\xdc\x2e\x1f\xdd\x97\x92\x75\x69\xbd\xc0\x91\x3f\x43\x44\xd7\x0b\x1a\x83\x17\x50\x4c\x73\x9e\xf5\x84\x72\xf1\x93\x00\x1b\xf1\xd8\x8b\xa3\xbe\x96\x79\x53\x5a\x37\x79\xb9\xd9\xab\x22\xf7\xb3\xcc\xd0\x15\xc8\xf4\x62\x13\x15\x83\x92\xb9\xb7\xbd\x65\x8c\xb4\x30\xa4\x38\xf6\xa2\x91\xa7\x24\x6d\xe1\x9a\x53\x2a\x58\x1d\xfe\x49\xea\x0b\xdb\x37\x0e\x67\xf4\xff\xb3\x79\xeb\x14\x98\xd7\x5f\xa4\x92\xd5\x33\x8b\xdf\xfe\xff\x3b\x00\x00\xff\xff\x35\xaf\x3e\x6a\x97\x01\x00\x00") +var _staticIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x84\x90\x41\x4f\xf4\x20\x10\x86\xef\xdf\xaf\x98\x0f\xe3\xcd\x94\x7a\x6d\x69\xaf\xfe\x81\xbd\x78\x32\x6c\x99\x2d\xd3\xa5\x40\x60\xb6\xda\x18\xff\xbb\x41\xec\x49\x13\x4f\x30\xbc\x4f\x5e\x1e\x50\xff\x4d\x98\x78\x8f\x08\x96\x57\x37\xfe\x53\x75\x01\x50\x16\xb5\x29\x1b\x00\xc5\xc4\x0e\xc7\xa7\x70\x3a\x3d\x2b\x59\x87\x1a\x64\xde\x1d\x8e\xe7\x60\xf6\x07\xb8\x63\x4c\x2b\x79\xed\xe0\x3d\x86\x4c\x4c\xc1\x77\xa0\xcf\x39\xb8\x1b\x63\x0f\x16\x69\xb6\xdc\xc1\x63\xdb\xde\xf7\xf0\x4a\x86\xed\x31\xac\x3a\xcd\xe4\x3b\x68\xe3\x5b\xff\xa1\x64\x2d\xad\x17\x38\xf2\x57\x48\xe8\x06\x41\x53\xf0\x02\x8a\xe9\x20\x68\xd5\x33\xca\xe8\x67\x01\x36\xe1\x65\x10\x17\xbd\x95\xbc\x29\x47\x5f\xf2\xf2\xb0\x57\x45\xee\xbb\xcc\xd0\x06\x64\x06\x71\x88\x8a\x51\x49\x43\xdb\xf1\x96\x29\x51\x64\xc8\x69\x1a\x44\x23\x97\x2c\x6d\xe1\x9a\x25\x17\xac\x86\xbf\x92\xfa\xc6\xf6\x85\xc3\x15\xfd\xdf\xec\x92\xe5\x1c\x98\xf7\x1f\xa4\x92\xd5\x53\xc9\xfa\xff\x9f\x01\x00\x00\xff\xff\x35\xaf\x3e\x6a\x97\x01\x00\x00") func staticIndexHtmlBytes() ([]byte, error) { return bindataRead( @@ -106,12 +106,12 @@ func staticIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/index.html", size: 407, mode: os.FileMode(436), modTime: time.Unix(1444190539, 0)} + info := bindataFileInfo{name: "static/index.html", size: 407, mode: os.FileMode(436), modTime: time.Unix(1502167632, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _staticJsGottyJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x94\x56\x4f\x6f\xdb\x36\x14\xbf\xe7\x53\x10\xba\x84\xda\x5c\xc5\x6e\x77\x18\x6c\x64\x43\x57\x64\x40\xb7\x61\x29\x6a\x6f\x39\x04\x41\x41\x4b\xcf\x96\x16\x9a\x14\x48\x2a\x82\x57\xe8\xbb\xf7\x3d\x49\x96\x65\x99\xaa\x5b\x1e\x12\x99\xef\xdf\xef\xfd\x27\xdf\x14\x2a\x76\x99\x56\x3c\x64\x9f\xaf\x18\x9e\x17\x61\x58\xea\x5c\x6e\xef\x94\x58\x4b\x48\xd8\x2d\x2b\x33\x95\xe8\x32\x92\x3a\x16\xc4\x1a\xe5\x46\x3b\x1d\x6b\xc9\x6e\x6f\x59\x50\xf3\xce\x83\x45\x27\x2c\xcc\xd6\x7a\x84\x2c\x08\x13\xa7\x47\xb6\xc2\xa0\x3c\xe3\x27\xa6\x7e\x65\xd7\xa5\xb5\xf3\x9b\x9b\x6b\x36\xa7\x4f\xfa\x0a\xd9\x8f\x67\xba\x52\x6d\x9d\xe7\x3a\x17\x2e\x55\x62\x07\x48\x42\xe1\xeb\xa3\xad\x03\x60\xc2\xf5\x18\x6c\xb5\x73\xfb\xe0\xa9\x87\xb8\x70\xfa\x23\xc4\x5a\x29\x88\x1d\xb2\xbc\x9a\x2d\xae\x3a\xa2\xce\x41\x3d\x90\xe0\x59\xa4\x0e\x1c\x25\x51\x15\x94\xec\x01\xd6\x4b\x1d\x3f\x83\xe3\xe8\xdc\xe4\x68\x35\x6c\xd5\x1d\x04\x1c\x98\xdd\xe0\x2a\xcf\xd4\x76\x95\xed\xc0\xf4\xee\x4b\x1b\x69\x45\xe6\xfb\xc6\xe1\x05\x94\xeb\x23\x68\x39\x2d\xa8\x84\xff\xb1\xbc\xff\x3b\xb2\xce\xa0\xb2\x6c\xb3\xe7\x9f\xd9\x5b\xb3\x2d\x76\x28\x60\xe7\x75\x5a\x26\xec\x6d\xe1\xd2\x95\x7e\x06\x35\x67\x75\x18\x3e\xa1\xef\xe9\x27\x47\x37\x93\x2a\x0c\x17\x27\x6a\x3b\x50\x08\xc0\x82\x7b\xaf\x10\xf8\x8b\x90\x9c\x6c\x7d\x40\xda\x84\xbd\x99\xb2\x1f\xd8\x6c\x3a\x9d\x4e\x10\x43\xdf\x4d\x3a\x29\xf9\x19\x25\xb0\x11\x85\x74\x4b\xa7\x8d\xd8\x42\x1b\x29\x99\xad\xa3\xf6\x26\xfa\x0b\xd3\x27\xf9\xc0\xb4\x4f\x36\x8a\x25\xd6\x10\x1f\x9a\x21\xce\x56\x6d\x23\xb5\xc2\x3f\x99\x6a\x74\x9e\x71\x46\x5b\x70\x1f\x0c\x6c\x2c\x0f\x31\x66\x8e\x07\xe4\xcc\x2b\x50\xb1\x4e\xd0\xa3\x60\xc2\x02\x23\xca\xc0\x2b\xa9\xd5\x41\xf3\x47\x10\xc9\x7e\xac\x24\xfa\x69\xcd\x34\x72\xd5\xc2\x99\x8e\xf2\xc2\xa6\x67\x98\xe8\x20\x4d\xab\x7f\x57\x7f\xc2\x1e\x73\x87\xa9\xe8\x6b\xc6\x1b\x9f\xf2\x7e\xd6\x83\x69\x80\x15\x4f\x8c\x8b\x33\xbe\xca\x6f\x8e\xe4\x96\x75\x9d\xa0\xad\xa1\xf9\x31\x84\x47\xef\x6d\xf6\xff\x09\x48\x2c\xf2\x62\xa7\xb0\xbc\x8c\xc6\x32\xb8\x00\xd7\x4b\xa4\x13\xbc\x26\x3f\x06\x35\x3c\xca\x4d\xc7\x6f\xa8\x7f\x5a\x64\xf3\xc3\xc7\xe4\xa2\x04\xb9\x30\xaf\xff\x7e\x9d\xb7\x1a\xa5\x86\x5e\xca\xf9\xad\x2f\x37\x4d\xad\x28\xeb\x84\x94\x98\x90\xb5\x16\x26\x19\xf6\xc6\x50\xae\x6d\x95\x18\x9b\xc4\x01\x4f\x74\x5c\xb7\x3c\x15\xfa\x9d\x04\xfa\xfc\x6d\xff\x1e\xab\xc4\xb5\xe9\x0b\xfa\x6d\x5e\x0d\xe7\xcd\x0e\xac\x6d\xfa\xf4\xeb\x23\x27\x11\x4e\x20\x53\x4d\x8b\xe8\x47\x64\x65\x16\x03\x9f\x0d\xc0\xda\x32\x73\x71\xca\x8f\x7c\x8f\xd3\xa7\xa1\xae\x58\x58\x60\xd7\xd3\xeb\xf9\x48\x38\x74\x54\x9a\xcc\xc1\x3f\xab\xdf\x7f\xe6\xed\xcc\x17\x4e\xaf\x39\xa9\x1b\xce\x2c\x3a\x6b\x03\xe2\x79\xe1\x31\x31\xf3\x98\xb8\xb9\x61\xb9\x56\xdb\x6f\x57\xf2\x7a\x0c\x27\x8e\x93\x87\x1a\xdd\x2a\x73\x12\x1a\x74\xdf\x01\xee\x8d\x47\x6f\x8e\x93\x0a\x0c\x4e\x27\xa0\x1d\x53\xb7\x46\x2e\x8c\x1d\x55\x7e\xbf\xfe\x0f\x57\x58\xf4\x8c\xad\xcc\x7b\xb2\x61\xb4\xd1\xe6\x4e\x60\x1e\xba\xa4\x22\xcb\x58\xa3\xe2\x22\xb4\x5a\x02\xee\xd5\x2d\x0f\x96\xe0\x1c\x8d\x09\x6a\x4d\x94\xc1\xbf\xc1\xbc\xfe\xd1\xc7\xf6\x88\x94\x27\x0f\x9c\x2e\x34\x83\xa1\x8b\xec\x93\x6f\x91\xaf\xbe\x27\x7e\x3f\x79\xe2\x37\xdc\xec\x97\x23\x78\xe2\x7c\xfd\x2e\x21\xef\xcd\x41\x47\xe3\xfb\xa9\x5a\x0c\x09\xae\x47\xfc\x95\xd8\xe0\xbc\xcb\x3d\x78\xab\xf1\xf6\x8b\xa5\xb6\x97\x9b\x2f\xdb\x30\x4e\x71\xf5\x65\xb0\x8e\x77\xa1\x2e\xcc\x90\x8e\x93\x96\x41\xaa\xcb\xfb\x17\x30\x52\xec\x79\xf0\xae\x71\x0a\x4d\xb3\x77\x84\x25\xc1\x95\xa8\x0a\x29\x87\x33\xe8\x34\x01\xb4\x98\xbb\xe7\x41\xf7\x6c\x18\xc8\x10\xea\xd3\xc8\xfd\xc2\xa6\x3e\x17\xb0\x44\x48\x5e\x17\x8e\x37\xaf\xaf\xc9\x20\xe2\xcd\x9b\x63\x14\x52\xd5\x10\xaa\xab\xe3\x2b\xee\xf0\x64\xe9\x87\xf6\x74\x55\x75\xdb\x74\x16\x84\x9d\x3c\xfd\x6b\x20\x50\x00\xab\x90\x87\x57\x5f\x02\x00\x00\xff\xff\x9e\x90\xaa\xec\x32\x0b\x00\x00") +var _staticJsGottyJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x94\x56\x5f\x8f\xdb\x36\x0c\x7f\xbf\x4f\x41\xf8\xe5\xe4\x9d\xeb\xcb\xb5\x7b\x18\x12\x64\x43\x57\xdc\x80\xae\xd8\xae\x68\xb2\xdd\xc3\xe1\x50\x28\x36\x63\x6b\x51\xc4\x40\xa2\xcf\xf0\x8a\x7c\xf7\x42\x76\xfe\x38\x8e\xdd\xb4\x7a\x48\x6c\x91\x3f\xf2\x47\xd2\xa4\x24\x96\x85\x49\x58\x91\x11\x21\x7c\xb9\x02\x00\x78\x91\x16\x72\xe6\x8d\xbb\x37\x72\xa1\x31\x85\x29\x94\xca\xa4\x54\xc6\x9a\x12\xe9\x55\xe3\x8d\x25\xa6\x84\x34\x4c\xa7\x10\xd4\xba\xe3\x60\x72\x00\x4b\x9b\xb9\x1e\x90\x43\x69\x93\xfc\xa8\x56\x58\x0d\x53\x10\x27\xae\x7e\x83\xeb\xd2\xb9\xf1\xed\xed\x35\x8c\xfd\xa3\x7f\x0a\xe1\xe6\xcc\x56\x4e\x8e\x7b\xb6\x37\x92\x73\x23\xd7\x08\x37\x1e\x7c\x7d\xf4\xb5\x27\xec\x79\x3d\x05\x19\x31\x57\xc1\x73\x8b\x71\xc1\xf4\x09\x13\x32\x06\x13\x86\x29\xbc\xba\x9b\x5c\x1d\x84\xb4\x41\xf3\xe8\x81\x67\x99\xda\x6b\x94\x5e\x6a\xb0\x84\x47\x5c\xcc\x28\x59\x21\x8b\xc2\xea\xe8\xe8\x35\xdc\x99\xdb\x03\x18\xed\xba\xb3\xb5\x51\x26\x9b\xab\x35\xda\xd6\x7e\xe9\x62\x32\xde\x7d\xdb\x39\xbe\xa0\xe1\x36\x83\x9d\xa6\x43\x93\x8a\x3f\x67\x0f\x7f\xc7\x8e\xad\x32\x99\x5a\x56\xe2\x0b\xbc\xb5\x59\xb1\x46\xc3\x6e\x5c\x97\x25\x82\xb7\x05\xe7\x73\x5a\xa1\x19\x43\x9d\x86\xcf\xb2\xe0\xfc\x33\xfb\x9d\x68\x1b\x86\x93\x13\xb3\x07\x52\x30\x05\x87\xfc\xde\x30\xda\x17\xa9\x85\xf7\xf5\x51\x99\x2c\x82\x37\x23\xf8\x09\xee\x46\xa3\x51\x04\xe5\x49\x98\x7e\xe5\x3e\xce\x38\xc5\xa5\x2c\x34\xcf\x98\xac\xcc\x70\x97\x29\xad\x16\xf1\x6e\x27\xfe\x0b\xd7\x64\x2b\xd1\x45\x7b\xf0\x4e\xbb\x31\x34\x47\xbb\x56\x46\xea\x5e\xcd\x38\x43\xfe\x68\x71\xe9\x44\x18\x3b\x64\x11\x78\x8e\xaf\xd0\x24\x94\x2a\x93\x05\x11\x04\x56\x96\x41\x2f\x92\xcc\xde\xf2\x27\x94\x69\x35\x54\xe9\x76\xb5\x14\xc1\xb4\x01\x2b\x8a\x37\x85\xcb\xcf\x38\xf9\xa5\x28\x26\xf3\xef\xfc\x03\x56\x8e\x2d\xad\xb0\x6d\xd9\xb1\xed\x33\xde\x2e\x66\x30\x0a\xe0\x06\xbc\xe2\xe4\x4c\x6f\xdb\xef\xce\xe3\x66\x75\xf9\x61\x7a\xe6\x7e\x88\xe1\x31\x7a\xa7\xfe\x3f\x21\x99\x90\x2e\xd6\xc6\x45\x60\xa9\x74\x97\xe8\xf6\x0a\xfd\x0a\x5e\xfb\x38\x3a\x9f\xe6\xa0\xb6\x5f\xfd\x8e\xda\x6b\xc7\x6c\xbc\x7f\x88\x2e\x22\x7c\x08\xe3\xfa\xf7\xdb\xba\xdb\x41\x69\xd8\x2b\x39\xdf\xed\xab\x4d\xf3\xad\x18\xc7\x52\xeb\x0f\x58\x2d\x48\xda\x54\x74\xea\xda\xc5\xed\xba\x27\x21\x2b\x19\x45\x4a\x49\xdd\xc9\xfe\x43\xbf\xd7\xe8\x1f\x7f\xaf\xde\xa7\x22\xe0\x5d\xf9\x82\x76\xf7\x6e\xbb\x63\x64\x8d\xce\x35\xed\xf7\xed\x49\x92\x4a\x96\x30\x85\x5a\x16\xfb\x97\xd8\x69\x95\xa0\xb8\xeb\x90\x75\xa5\xe2\x24\x17\x47\xbd\xa7\xd1\x73\xd7\x56\x22\x1d\xc2\xf5\xe8\x7a\x3c\x90\x0e\x8a\x4b\xab\x18\xff\x99\xff\xf1\x8b\xd8\x8d\x72\xc9\xb4\x10\xde\x5c\x77\x14\xf9\xb5\xb0\x28\x57\x93\x1e\x17\x77\x3d\x2e\x6e\x6f\x61\x43\x26\xfb\x7e\x23\xaf\x87\x78\x3a\xe4\xc7\x9a\xdd\x5c\xb1\xc6\x86\xdd\x0f\x90\x7b\xd3\x63\x77\x63\x71\x89\x16\x4d\x82\xfe\xe8\xa8\x5b\x63\x23\xad\x1b\x34\xfe\xb0\xf8\x0f\x13\x8e\x57\x58\x39\xd1\xc2\x86\xf1\x92\xec\xbd\x4c\xf2\xe3\x29\xbe\xc2\x6a\xa8\x51\x13\x32\x8e\x34\xc6\x9a\x32\x11\xcc\x90\xd9\x8f\x09\xdf\x9a\x2b\xac\xe0\x06\x82\x71\xfd\xd2\xe6\xf6\xb4\xc2\xea\xb9\x87\x0e\x0c\x0c\xdd\x15\x56\xd1\xf7\xe0\xb7\x3f\x92\xbf\x9f\x7b\xf2\xd7\x3d\xb0\x2f\x67\xf0\x24\xf8\xfa\xba\xe1\xa3\xb7\x7b\x1b\x4d\xec\xa7\x66\x6f\x20\x00\xe7\xdf\x52\x17\x9c\x77\x79\x0f\xdf\xed\x70\xfb\x25\x9a\xdc\xe5\xe6\x53\x4b\x10\x3e\xaf\x7d\x15\xac\xf3\x5d\x98\x0b\x33\x04\x5a\xcd\xe5\x72\x2a\x1f\x5e\xd0\x6a\x59\x89\xe0\x5d\x13\x94\x22\x03\xef\x3c\x97\x34\x88\xc0\x14\x5a\x77\x67\xd0\x69\x01\x34\x4a\x7b\x38\xf5\x0f\xb7\x81\x0e\xc6\xb3\x3e\xcd\xdc\xaf\x30\xea\x0b\xc1\x21\x7b\x3c\x15\x2c\x9a\x4b\x55\xd4\xc9\x78\x73\x95\x18\xa4\xb4\x6d\x04\xdb\xab\xe3\xe5\x6c\x7f\x13\x69\xa7\xf6\xf4\xa8\x3a\x9c\xa6\x77\x41\x78\xc0\xfb\xbf\x86\x82\x4f\xe0\x36\x14\xe1\xd5\xd7\x00\x00\x00\xff\xff\xb0\x8f\x56\xa4\x09\x0b\x00\x00") func staticJsGottyJsBytes() ([]byte, error) { return bindataRead( @@ -126,12 +126,12 @@ func staticJsGottyJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/js/gotty.js", size: 2866, mode: os.FileMode(436), modTime: time.Unix(1444190539, 0)} + info := bindataFileInfo{name: "static/js/gotty.js", size: 2825, mode: os.FileMode(436), modTime: time.Unix(1502178502, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _staticJsHtermJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xec\x7d\xfb\x7f\xdb\xc6\x91\xf8\xef\xfe\x2b\x10\x35\x57\x92\x36\x45\x91\x7a\xcb\x8e\x92\x63\x2c\x2b\xe7\xfb\x38\x4e\xbe\xb6\x73\xbd\xfb\xd8\xae\x0f\x24\x97\x12\x62\x12\x60\x01\x50\x12\x9b\xe8\xfe\xf6\xef\x3c\xf6\x31\xbb\x00\x48\x3a\x69\x7b\x6d\x2f\x4e\x4c\x93\xc0\x60\x31\x3b\x3b\xef\x9d\xdd\xdd\xdb\x8b\xde\x5c\x27\x45\x34\x4d\x66\x2a\xba\x8d\x8b\xe8\x4a\xa5\x2a\x8f\x4b\x35\x89\x46\xab\x68\x96\x8c\x26\x59\xb9\x37\x4a\xd2\xbd\x71\x96\x8e\xe3\xb2\x57\x5c\xf7\x1e\xc0\x33\xcf\xcb\xe8\x1a\x80\x47\x4a\xa5\xd1\x3c\xce\x3f\x02\x78\xae\xe2\xc9\x6e\x96\xce\x56\xd1\x34\xcb\xa3\x55\xb6\xcc\xa3\x22\x9e\xaa\x72\xd5\x8b\xa2\x57\x71\x79\xad\x72\x7c\xb0\xbc\x8e\xd3\x48\x4d\x92\x32\x82\xff\x27\x49\xae\xc6\xe5\x6c\xd5\x8d\x16\x33\x15\x17\x2a\x9a\x67\x93\x64\xba\x8a\xb2\x54\x45\xd9\x14\x60\x15\x5c\x2b\xa0\xa5\xb1\xc2\x67\x11\xc7\xa2\xd7\x43\x04\xf0\xa7\x46\xee\xc7\x62\x0f\xbe\xf5\x7e\x2c\x2a\xd7\x3e\x8c\xb3\x59\x96\x17\xb5\xb7\xa6\xb5\x57\xe7\xaa\x28\xe2\x2b\xf5\x61\x1e\xa7\xf0\x4f\x5e\x0b\xb3\xc8\xd5\x54\xe5\x2a\x1d\xaf\x07\xcb\x15\x23\x5e\x7b\xb3\x28\xb3\x1c\x9e\x5c\x77\xef\xc3\xf8\x3a\xcf\xe6\xeb\x41\x66\xd9\x38\x9e\xad\x85\x98\xab\x79\x96\xaf\x6a\x41\x4a\x55\x94\x6b\x7b\xb0\x2c\xa7\xa7\xb5\x37\x6e\xc7\xfa\xf2\x75\xa9\xf2\x39\x5e\xa5\x2f\xb5\x17\x3f\x4c\xf3\xd8\xf6\x22\xb8\xf5\x51\xad\x46\x59\x9c\x4f\xd6\xdf\xfd\x00\xdc\x37\x49\xd2\xab\x62\x03\x18\x7c\x99\xc7\x8b\xcd\x40\x8b\xb8\x84\x6b\x69\x3d\x60\xb6\x28\x93\x2c\x6d\x78\xd5\x22\xce\x0b\x4b\xab\xda\x7b\x1f\x92\x89\x4a\xcb\x64\x9a\xa8\xbc\xa9\x8d\x26\xee\x09\xe1\x96\xa3\x62\x39\xaa\xbf\x57\x8c\x73\x90\xbb\xc6\x7b\xd9\x6c\xb6\xc8\xf2\xb2\xfe\x3e\x7e\x24\xa9\xe5\x9a\x86\xbb\x1f\x92\xac\x09\xe0\xae\xfc\x00\x04\xcc\x93\xd1\x12\x18\xa8\x1e\xe8\xa6\xe1\xdd\x37\x25\x30\x75\x9c\xc7\x63\xf8\xf5\xc1\x8e\xd5\x03\x84\x7c\xfd\xdd\x0f\xaf\x9e\x3e\x8b\x2e\x9f\xbf\x78\xf6\xb8\x56\xb0\x9f\x66\x8b\x55\x9e\x5c\x5d\x97\x51\x7b\xdc\x89\xf6\xfb\x83\x7d\xd0\x5b\x2a\x7a\x8a\x42\x92\x2c\xe7\xd1\x77\xaf\xa3\xe1\xb2\xbc\x46\x71\x8f\x86\xb3\x59\x44\xb0\x05\x28\x25\x18\x95\x1b\x35\x21\xa5\xf5\x43\xa1\xd5\x0a\xe8\x3b\x16\xce\x68\x9c\x4d\x54\x04\x3f\xaf\xb2\x1b\xe0\x09\x56\x7a\x71\xf4\xf5\xeb\x8b\xdd\xa2\x5c\x81\x46\x9c\x25\x63\x95\xc2\x63\xa0\xb6\xca\x68\x0c\xaa\x6b\xc4\x9a\x28\x5b\xa6\x93\x28\x49\x51\x45\x45\x2f\x9e\x3f\x7d\xf6\xf2\xf5\x33\x52\x4f\xbd\x07\x0f\x5a\x4b\x54\x5a\x40\xa1\x71\xd9\x7a\xf2\xe0\x41\x32\x8d\xda\xe5\x6a\xa1\xe0\xc5\xd0\x9b\xe8\xb3\xf3\xa8\x05\xcf\xaa\x69\x02\x6f\x6b\x75\x1e\x44\xd0\x44\x9e\xdd\x46\xa9\xba\x8d\x9e\xe5\x79\x96\xb7\x5b\xdf\xcc\xb2\x51\x3c\x8b\x76\x00\x7c\x27\xca\x46\x3f\x82\x8a\x8c\xe2\x19\xaa\xd7\x55\xa4\xee\x92\xa2\x2c\x7a\xad\x0e\xb4\x7c\x13\xe7\xd4\xe4\x79\xf4\xd3\x3d\xfc\xdc\x7b\xf8\xf0\x41\xf4\x30\xfa\x36\x5e\x60\x27\x77\x26\x6a\xa1\xe0\x3d\xe9\x78\xb5\x13\x95\x59\xf4\x76\x87\x7b\xbc\xd3\x8d\x40\x83\xbe\xef\x01\x28\x42\x3f\x8b\xc7\xd7\x91\x03\x45\x52\xc4\xe6\x9d\x29\x08\x6e\x17\xde\xf0\x51\x11\x2e\xbd\x69\x01\x0f\x9b\x66\x10\x12\x3b\xbf\xcc\x67\x44\x1c\x6c\x0c\xda\x81\x56\x26\x05\xe8\x6f\xba\xc7\xed\xe0\xab\xf6\x1e\x60\x03\xf9\x12\x64\x63\xae\x2e\xcc\xeb\x12\x55\x7c\x08\xb0\x7f\x01\xdd\x43\xf4\xa7\xcb\x74\x4c\x92\xc8\x94\x4f\x15\x0c\x0d\xf4\x62\x04\x83\x95\xde\x64\x68\x6e\x26\xcb\x1c\x94\x02\x12\x20\x8f\x73\x40\x3c\x4d\xca\x24\x9e\x25\x7f\x8e\xf1\x31\xaf\x7b\x6a\xa6\xe6\x20\x95\x66\xb8\x10\xf2\x69\x3c\x9b\x8d\xe2\xf1\x47\x78\x7f\x9c\xe7\x31\xf5\x3b\x29\x0b\x35\x9b\x42\xf7\xcb\xdb\x6c\xd7\x3c\x43\x77\x7b\xd4\x94\xbe\xd2\x67\x1a\x15\xc0\x6a\x25\x0d\x33\x20\x31\x51\x20\x76\xc9\x08\xbf\x52\xbf\x6f\xc1\x84\x6a\x03\x46\xaf\x8b\xf2\x6c\x59\xc2\x80\x77\x23\xe0\x8d\xe9\x72\x86\xed\xa1\x91\x9c\xa8\xd1\xf2\xea\x0a\x1e\x03\x13\x69\xda\x1f\x18\xca\x8e\x35\x8e\x96\x16\x8e\x90\x41\x17\xce\xa3\xb7\xef\x1d\x09\x5f\xa9\x71\x96\x4f\x10\x47\x4d\x6f\x31\xbe\x86\x2e\x64\xf2\x99\x9d\x35\x4a\xd1\xed\x35\x98\x72\xb0\xda\xe0\x04\x00\x16\x40\x6b\x75\x07\xba\xaa\xd0\xed\xec\x06\x0d\x45\x3c\xe2\xe3\x6c\xbe\x40\xc7\x01\xef\x42\x1f\xc0\x2b\x80\x76\xd3\x0c\x69\x5d\x22\xa4\x19\xb4\x18\x3a\x31\x9b\xed\x4e\x67\x6a\x72\x05\x17\xcd\xa0\x15\xab\xa2\x54\xf3\x28\xcb\x35\xf7\x98\xc6\x4b\xd0\x11\x1f\x41\x33\x62\x8b\xad\x22\xfa\x71\x09\x4c\x81\x0e\x84\xc2\xe6\xe6\x31\x30\x24\xd0\x74\x91\x15\x45\x32\x9a\xd1\x35\x22\x24\x82\xe8\x86\x8a\xe8\x36\x01\x65\xb0\x2c\x11\xf7\x14\xc7\x05\xa8\xc5\x54\x05\x81\x37\x54\xf8\xce\xf1\x39\x74\x13\x5a\x2f\x16\x6a\x8c\xca\x7b\x12\x81\x6f\xc3\x63\x0b\xea\x24\xba\x84\xa1\x52\x77\xf1\x1c\x9c\x14\xf4\x3e\xf8\x61\xfc\x43\x4c\x5d\xc2\xfb\xda\x2d\xfc\xca\xee\x46\xab\x1b\xd1\xaf\xef\xad\xa6\xff\x96\x15\x3d\x0a\x6d\xcd\x8b\x89\xb7\x91\x66\x40\xa7\x3c\xcb\xb4\xe7\x85\x4d\xb4\xe0\xdd\xff\x05\x23\x32\x07\x06\x5d\x92\x12\x42\xd6\xc0\xde\x8e\x67\x88\x6e\x1c\x90\x0d\xc4\x2e\x4e\x57\x42\xec\x78\xa8\xa1\xd3\xb3\x04\x59\x6b\x91\x67\x57\x60\x8d\xa9\x3d\xe4\x2e\xc2\x1f\xd4\xdb\x32\x57\xaf\xaa\xa2\xd9\xee\xc0\x20\x03\x15\xe2\xbc\x5c\x2e\x60\x40\xb1\x31\x60\x2c\xe0\x6c\x64\x0e\x7a\x8a\x85\x13\x5b\xaa\xb0\x1a\x34\x00\x1e\xe2\x8d\xd2\x2e\xa2\xb2\xf8\xfc\x2b\x58\x4a\xc0\xe1\x27\x26\xef\x7d\x04\x5a\xec\x43\x9c\x5f\x15\xd1\x77\xe8\xf4\xe5\xe0\x02\xe6\x46\x73\x14\xf5\x03\xe2\xf4\x09\x92\x1e\xb8\xdf\x08\x48\xdb\xb4\xd5\x89\x7e\x02\xc5\x8a\xfa\x91\xb5\x15\x08\x07\xe8\x59\x60\x38\xbc\x5c\xd5\xb8\x38\x2e\xd1\x3d\x90\xa4\x04\x6d\xd1\x56\x77\x1d\x0d\x47\x0d\x94\xc0\x8a\x43\xd2\x11\xe7\xc0\x04\x3d\xfa\xdd\x2b\x16\xb3\xa4\x6c\xb7\xde\xa5\x34\xa6\xf0\x07\x5d\xe2\x34\x7a\x1d\x4f\xe3\x3c\xe9\x12\xa3\x81\xec\x2c\x67\x25\xb2\x9e\x68\xe2\x36\x01\x5a\x91\x8f\x4c\xb4\xd9\x37\xba\x09\xd8\x0f\xec\x09\xf1\x2f\x37\x86\x2e\xcf\x4d\x32\x59\x82\x1d\xd0\xdd\x26\x06\x05\xa5\x31\x47\xf7\x05\xd4\x5f\x32\x25\xee\x02\xef\xb9\x47\x0f\xa1\x9d\x71\x6f\xea\xcd\x54\x7a\x55\x5e\x47\x5f\x9e\x47\x07\xa6\x3b\x91\x31\x7a\xe7\x02\xa5\xb7\xfb\xef\x7b\xb9\x5a\xcc\xe2\xb1\x6a\xef\xfd\xf1\x5d\xf1\x30\x2e\xdf\x15\x8f\xf6\x80\x87\x4d\xd7\xee\x01\x49\x60\xbe\x75\x6d\x0c\x82\x36\xae\xd8\x82\xa1\xac\xfd\xab\xd7\x14\xd2\x19\xc7\x02\x95\x1f\x8e\x56\x94\x40\x43\xfd\x27\xf0\xcf\x17\xd0\xbf\xab\x25\xd1\x42\xe3\x0e\x57\x1f\x3d\x92\x43\x01\x8e\xdb\x35\x80\x5b\xb8\xb7\xc9\xfb\x27\xb6\xeb\x74\x33\x49\x01\x29\x10\x38\x50\xbd\x84\x98\xeb\xb9\x65\x97\x5e\xbc\x58\xcc\x56\x6d\xf8\xdd\xa5\x06\xeb\x3b\x89\xaf\x43\x05\x75\x4e\x32\x57\x6b\xb8\xde\xe2\xd3\x1a\x01\x46\xe1\x33\x78\xa2\xa3\x7f\x47\xdb\x3d\xae\x55\xb7\x7d\xa2\xb7\x58\x16\xd7\x6d\x26\xb1\x47\x33\x61\x22\x9f\x91\xe8\x15\x1b\x64\x0f\xb9\x05\xa4\xae\x8b\x22\x85\x11\xd7\xdd\x58\x91\x6b\xcb\xd6\x05\xf8\xdf\xd9\x48\xf0\x7c\x40\xbf\xa4\x00\x5d\x63\x31\x98\x65\x41\x35\xcd\xb2\xab\x2b\xd6\xe7\xc8\xdd\xff\xfe\x1a\x46\x37\x2d\xb2\x19\xa9\xfd\xa9\x36\x07\x18\xc4\x95\x14\xbd\xf9\x2e\x05\x37\x4e\xea\x8b\x9a\xcb\xe3\x04\x88\x2d\xd1\x72\x42\xdd\xa8\x8f\x3e\x48\x49\x77\x12\xbe\x88\x8b\x02\xf0\x02\x52\xe7\x4b\x16\x74\xcb\x5c\x9a\x27\xa2\x26\xdf\xc3\x93\x73\xa2\x39\xb9\x1f\xe7\x8d\x0f\xc8\x31\xc7\x87\x58\x81\x9f\xd3\x8b\x8c\x4e\x60\xdf\xcc\xe9\x84\x38\x9a\x64\x63\x62\x58\xa4\x18\xfa\xcf\x51\xeb\x16\xc4\x3b\xbb\x6d\x19\x4b\xaf\xc5\x45\xeb\xed\x88\x9f\xba\xcd\x20\xaa\x06\x01\x01\x03\x68\x5a\x43\x9d\x0d\x5d\x6d\xa1\x9f\xd2\xea\x59\x2c\xe0\x39\xc0\xa1\xcd\x8d\x46\x3f\xff\x1c\xe1\x7d\xcd\x3d\x75\x82\x46\x58\xd7\x09\x99\x66\xe3\x36\x01\x80\x74\x21\xed\xa0\xf1\x8e\xbb\x1f\xd9\x51\xbf\x8d\xf3\xb4\xdd\xfa\x36\x01\x1b\x0c\x2a\x6e\xa7\x15\x3d\x62\x72\x3f\x8a\x5a\xe4\x1b\xa2\x55\x23\x4b\x06\xe6\xd0\xd1\xb6\xf3\xc4\x36\x64\xc7\x6d\x1a\x83\xe4\xb9\xeb\x23\x70\x74\x3f\x9a\x9f\xf7\x0f\xf4\x17\xee\x23\x7c\xbe\x35\xc8\xbd\x0f\x54\x0a\xa1\xce\x8d\x76\x6a\xb5\x7c\xeb\x32\x4e\x90\x7c\x35\x3c\x3e\xbe\x56\xe3\x8f\x38\x6e\xf7\xd2\x8d\xba\x02\x84\x15\x49\x8f\xef\x5c\x7a\x0e\x99\x31\xb1\x0d\x20\x2c\x88\xc6\x67\x05\x7a\xe6\xd4\x6c\xce\x50\x6c\x4e\xd1\xf3\x22\xe9\xd1\x9e\x1d\x30\x37\xba\xa3\xfc\x0c\x7a\x86\xe8\xc4\x9a\x06\xb5\x00\xa9\xb1\x4a\x6e\xd0\xaf\x42\xf2\x83\x0f\x44\x46\x55\x01\xba\x5d\x68\x2e\x19\x5f\x63\x7b\xe4\xa7\xda\xe7\x7c\xef\x99\xbc\xbd\xa4\x24\x07\x6e\x06\xcf\x91\xfb\x8b\xad\x94\xd2\x6f\xad\x3a\xd4\xa1\xf5\xc6\xd1\x88\x86\xda\x1b\x66\x37\x18\xe4\x19\x30\xa3\x1b\x35\x2e\xb0\x71\x37\xa7\xec\xf4\xe1\x1f\xe7\x05\xcb\x37\x58\x51\x37\x5f\x3a\xf7\xce\x25\x5e\x43\x71\xec\x68\xae\xc7\x8e\x1b\xcc\x55\xb9\xcc\x53\xd7\xe2\x3d\xfb\x44\xa6\x2d\x4b\x3a\xe1\x58\xe8\xe7\x9f\x23\xe2\x42\xeb\x70\x44\x64\x9e\x64\xb1\xa8\xfa\xe3\xac\xc4\xdf\xfa\xc0\xef\x89\xf5\x35\x2a\xe6\xa2\xc7\x70\xcf\x4d\x7f\x14\x11\x4d\xfb\xc8\x9e\xc7\x4e\x63\x5f\x71\xbd\x34\xb2\x75\xac\xed\x59\x02\x70\x31\x88\x2d\x88\x05\xc8\x53\x14\x8f\x36\xf1\xaf\x79\xff\x73\xff\x3e\xf2\x56\xb1\x4a\x31\x47\x95\x66\x4b\x74\x92\xdf\x38\x9c\x4d\x10\xc0\x21\x2b\xaa\x20\xf4\x5e\x11\x37\x8a\x7c\x28\x44\x4a\x89\xb6\x76\xd0\x04\xc3\x07\x9c\xe6\x54\xfe\xbd\x79\x0a\x5f\x25\x87\x5b\xf7\x88\x79\x3a\xc4\xd3\x70\x99\xe1\xf4\x7a\x26\x7b\x88\xad\x2f\xca\x0f\x60\xe5\x2e\x4d\xcb\xc3\x34\xe2\x74\x10\xe8\x66\xf9\xba\x42\x31\x21\x49\x61\xfa\xaf\xcb\xd5\x8c\x52\xa7\xd0\x4c\xa4\x73\x89\xe8\xb1\xfb\x91\x9b\xe4\x28\xee\x51\x37\x7c\xb7\x33\x6f\xec\x46\x54\x99\x8c\x6c\x0c\x29\x76\xb8\xfc\x12\xad\x4a\xc5\x3a\xb2\x4e\x44\x1e\x62\x5d\xdf\xf1\xdc\x1b\x50\x21\xe4\x4c\xad\x7a\xc5\x75\x32\x2d\xdb\x1d\xe9\xca\x84\xe8\x58\xed\x1c\xdc\x68\xb7\xf0\xf5\x8f\x23\x54\xff\xd0\xe0\xdb\xfe\x7b\xdb\x0c\xfe\x1c\xbc\x6f\x53\xe2\xa0\x17\x43\xbc\x32\x6f\x1b\x54\x3b\xf5\x4e\x17\xd3\xa2\x2d\xfd\x9e\x27\x46\xb3\xeb\x0c\x8a\x66\x00\x4c\xa2\x98\xce\xb6\x1a\xb4\xbd\x31\x4d\x19\x92\xe8\x06\x86\x68\x62\x3d\xc7\xc7\xba\x1d\x6d\xa9\xd7\x7b\x1d\x6d\x06\x2a\x54\xf9\x06\x6e\x81\x12\xb3\xdd\xe8\x46\x7d\x36\x19\x6b\xf3\x57\x7e\x12\xfa\x1f\x36\x8d\xa5\x95\xd4\x4b\xb4\xbe\x0b\x70\xf4\x49\xac\xa9\x6b\x11\xe8\x75\xf0\x7c\x80\x56\x8e\xcd\xb9\xcf\x41\x6e\xe7\x32\xc9\x8b\x12\xbd\x81\x39\x6a\xdf\x34\xa5\x39\x83\xab\x25\xb0\x86\xc9\x35\x90\xc1\xbc\x55\x2d\xd0\x58\x57\x19\x65\x53\x32\x52\x1d\x84\xa1\x9e\xa4\xd0\xfa\xc1\x08\x60\xe3\x9f\xaf\x5f\x0d\x61\x40\xfe\x0b\xc6\xe5\xf5\xb3\x17\x97\xdb\x3c\x01\x7f\xba\xff\x03\x7f\x7a\xdb\x40\xfe\xfc\xe5\x87\x2f\xa2\xff\xf9\x9f\x2d\x40\x0f\xfe\x7b\x77\x77\xb7\xb5\xbb\xb7\x4d\xb3\x07\x8f\xf1\xcf\xbb\x9b\x77\x9b\x61\xcf\xb3\x73\x06\xee\x6e\x01\x1c\xfd\x1c\x69\x60\x82\x5e\xf3\xc0\x9b\x7f\x7b\x16\xbd\x7a\xf6\xcd\x0f\x2f\x86\xaf\xa2\x67\xff\xf9\xfd\xab\x67\xaf\x5f\x3f\xff\xee\xe5\xeb\xcd\xaf\x18\xbe\x7a\x16\x3d\xfd\xee\xdb\xe7\x2f\xbf\x11\x6e\x51\xae\x5a\x68\x0a\xa2\x5b\x88\x7d\xd1\x01\x41\xdf\x0e\x94\x23\x8c\x2c\x40\x03\xd3\xa8\x1c\x9c\x3f\x1c\xde\x7f\x8f\x6f\xe2\xd7\xe4\x3c\x60\xbe\x25\xb9\x63\x4e\xbd\xbd\x5e\x81\xf7\x9c\xb6\x28\xb8\x58\x65\xcb\xaf\xa2\xe8\xbb\x6b\x32\x64\x60\xf9\x8a\x8c\x73\x42\xde\x1b\x6e\x73\x68\x14\xdd\x22\x4e\xcc\x51\x2b\x93\x4c\x15\xd0\x06\xe5\xa4\x72\xe0\x33\x6a\x0d\x5c\x95\x78\xa1\x84\x79\x03\x3b\x18\x4f\xc0\x7b\x42\xa6\xcf\xb2\x05\x07\x3a\xc0\x73\x36\xb2\xed\x44\x28\x0c\x1f\x43\x26\x87\xfb\x94\xc4\x7c\x40\x2e\xfa\xd3\xd7\xaf\xa3\x6b\x75\xc7\x92\xd1\x8d\x7e\xf7\xea\x9b\xaf\xd1\x51\x87\x4b\x83\xe3\xc7\xd1\xde\xef\xda\x6f\xe3\xdd\x69\x7f\xf7\xec\x7d\xa7\xee\xdb\x5e\xd2\x7d\xd0\xd0\xce\xab\x6f\xbe\xf9\xda\x34\xb5\x7f\xe8\x35\xf5\xd3\xfe\x7d\xa7\xf9\x87\xdf\x66\x7e\x35\x32\x6d\xc2\xd7\x76\x9e\xe7\xdd\xab\xab\xab\xee\x68\x34\xea\x60\xe3\x70\xed\x31\x29\x51\xf0\x7e\x9f\xdd\x2d\xda\x5a\x33\xb7\x5b\x7f\xdc\x2b\x1e\xc2\x4d\xf8\xdc\x6b\xc3\x47\x7b\x6f\xf2\xd3\xa0\x7b\x00\xad\x17\x0f\xbb\xe1\x6f\x30\x06\xc6\x5e\xb4\x82\x7b\x7b\xf8\xf1\x79\xcb\xdc\xee\xb8\xb4\xc1\xbb\xbd\xbd\xab\x6e\xd4\x7a\xf7\xae\xd5\x81\x7f\x12\xf8\xdc\x0a\xeb\x6e\x1c\xc7\x06\xf3\x78\x2d\xea\x31\xfc\xe3\x61\xb6\xb1\x1f\xc1\x6f\xf9\x70\xfb\xab\xc7\xfa\xf6\x23\xf8\xba\xd7\x83\x7f\x3b\x5f\x21\x50\xe7\x17\xf4\xf0\x59\x82\x7c\x1c\x01\xab\xa0\xb1\x82\x7f\x86\xba\x43\x77\xeb\x3b\xf4\xd5\xdf\xa6\x47\x5f\xfd\x82\x2e\x81\xeb\xf4\x9f\x83\x41\xb4\x83\xfc\x34\x99\x4c\xf6\xf4\xdf\x1d\xf0\x3c\x66\x4b\x54\xe1\xd1\xdd\x60\x40\xcc\x46\xf9\x22\xfc\xe6\x98\x76\xd0\x3d\xbc\xef\xbc\xdb\xdb\x78\x01\x90\x72\xcc\xfd\x0c\xc2\xa0\xa4\xb8\xd6\x26\x09\x7d\x6f\x7c\x0b\xfe\x0b\xef\x80\x07\xff\xfc\x1e\x3f\xe0\xe9\x77\xc5\xfb\x47\x7b\x5d\xe9\x78\x3f\xcd\x52\xb0\x9a\xe0\x4c\x1b\x5e\x6b\x03\xaa\x5d\xfd\xb7\xa3\x5b\x24\xc4\x51\x85\x64\x18\x10\x62\xe7\xc4\x75\x9b\x50\xa6\x81\xc4\x56\xc4\x4d\x1d\x02\x5e\xa5\x59\xce\xf9\x13\xed\xc0\x17\x31\xf8\x11\xe8\xde\x4d\xe2\x32\x8e\xae\x41\xa9\xcd\x74\x0c\x64\x67\x2e\x5a\x80\x40\x8b\x3c\xd7\x2c\xa5\x19\x0c\x9a\x9d\x81\x20\x6a\xb4\x02\x2d\xc7\x28\xb9\x14\x29\xa8\xd1\x09\x7c\x9f\xc7\xb3\xe6\x5c\x2b\x3e\x41\x0e\x87\x8f\x23\xa2\x35\x66\x32\xf8\x31\x93\x79\x12\x9f\x09\x3a\x8d\xcc\x9a\x2e\xc1\x47\x49\x38\xca\xe3\x8b\xe3\x6c\x39\x33\xe9\x6c\xe7\x7a\x53\xcb\xec\xdb\xfb\xba\xf3\x6a\xf4\x26\xc3\x76\xbd\x24\x2e\xb4\xc3\xbe\xaa\xf5\xba\x41\x59\xcf\x54\xfb\xc6\x26\x6c\x30\xdf\xf1\x2d\x26\x5d\xe6\x09\x3c\xd0\x8d\xf6\x8f\x8e\x3a\xf0\xb2\xfd\xa3\x93\x4e\xaf\xcc\x5e\x13\xd2\xed\xc1\xb1\x76\x25\x21\x22\x06\x1f\xa8\x7d\x63\x92\xa2\x5f\x44\x87\xc6\xa3\xc5\x96\x5a\x7d\x74\x5f\x6f\x74\xd6\x46\xf7\xfc\xe6\x89\x49\x2c\x38\x2f\x9c\xc7\x7a\x8e\x69\xe2\xb6\x6f\x00\xb0\x23\x77\xf4\x36\x3f\x11\xa8\x1b\x43\x32\x51\xf3\xfa\x77\x0b\x19\x1e\x5f\xca\xfd\x02\x70\x70\x95\x3b\x98\x3b\xd9\xf3\xaf\xee\xd7\x5e\x3d\x78\xef\xa7\x2a\x2c\x03\x57\x18\xd3\x32\xac\xe1\xec\x5e\xaf\xd7\xa9\xe3\x5c\x33\xbe\xfc\x14\x4e\x10\x8c\x94\xdf\x1e\x87\xb3\x9c\x4d\x44\x55\xa5\x79\x80\xc7\x1e\xf3\xd2\xd8\x0c\xf6\xeb\x1a\xfe\xec\xd9\x0f\x9d\x1e\x14\x4c\xac\x11\x2b\xa2\x19\xce\x2e\x51\x3d\xc8\x61\x34\x49\xae\x30\x01\x81\x65\x21\x14\xb1\x2d\xe2\x09\xa6\x8f\x70\x06\x07\x3a\x70\x48\x29\x75\xcd\x06\x13\x30\xe8\xb7\x14\x88\x4d\x13\x9a\xd4\xb3\x49\x10\x94\x8a\xcd\xac\x1f\x92\x68\x1b\xd6\x0f\xc5\xe5\x2f\xc0\xfa\xa0\x00\xdf\x64\xd8\xae\x64\xfd\xf5\x6c\x0f\x6a\xee\xfb\x98\x89\xa2\x35\x0b\xce\x72\x09\x3a\x4e\xb1\xe8\x86\x49\x49\x11\x79\x52\x10\x21\xd1\x13\x6a\x2f\xf2\x6c\x14\x8f\x66\x9a\x31\xa1\x29\xe2\x63\x68\xe3\x8e\x6a\x37\xf4\x54\x1b\x4e\x2b\x24\xe3\xe5\x8c\xc8\x5e\xc4\x1c\xbd\xb3\xba\x4a\x52\xf0\xfa\x09\x18\x82\x21\x35\xc7\xb8\xd6\x34\x15\xe7\x39\x65\xa3\x50\x87\xea\x91\x63\x92\xe8\x59\x8d\x34\x5a\xa8\x1c\x79\x44\x3b\xff\xd9\x7c\x94\xa4\x3a\x05\x36\x35\x8d\x5c\xc5\xf3\x39\xf2\x49\x8e\x35\x41\x70\xab\xab\x29\xce\xe1\x46\x99\xc7\x29\xcf\x7e\xd0\x2d\x6c\xf8\x4f\xcb\x18\xc2\x35\x93\x9f\xb2\x01\xaf\x15\xf3\xf3\xf3\x68\xe0\x62\x5e\x0c\xd2\x98\x4d\x34\xaf\x2d\x62\xcb\x5f\x44\xb7\x11\xe6\x43\x16\x2a\x2e\xcd\x34\xae\xad\x55\x00\xe2\xec\x4c\x77\x60\x54\x01\x71\x55\xb8\xf6\x76\xa6\xf0\x67\x07\xee\xbe\x86\x71\xa2\x79\x60\x64\xcc\x98\x1c\x37\x21\x1e\x34\x0a\x54\x73\x82\xef\x00\x1d\x65\xf2\xbe\x05\x88\x94\x6b\x2d\x2e\xa2\xf1\xb2\xa4\xb7\x67\xd3\xa9\x55\xf3\xd0\xfc\x1f\x00\xf4\x63\xb2\xa0\x67\xe6\xc9\x64\x32\x43\x1f\x55\x2d\x88\x08\x34\x37\x3a\xc9\x96\xa3\x99\x68\xca\xc7\xde\x06\xe4\xc4\xd7\x54\xa8\xf2\x3c\x2d\xdb\x37\xa8\xf4\xba\x91\xd5\x92\xf7\xf5\x24\xdc\x0f\x48\x38\x4f\x30\x60\x9b\xa8\x78\x16\xa1\xf7\x0d\xe8\xa1\x40\x01\x31\x0b\x9c\x38\x67\xe2\x1a\xf6\x0c\x49\xea\xda\x21\x03\xd6\xc6\xd1\x45\x16\x8f\x96\x0b\x4d\x9a\x0e\x52\x93\x38\x2d\x08\x03\x19\x0e\x9a\xc6\xf4\x87\x6b\x87\x29\x9e\xae\xc0\xfd\x27\xdf\x1d\x63\x5b\x22\x89\xee\x2d\xe5\x9a\x20\x88\xc6\xa2\x16\xe7\x7c\xd4\x92\x63\x33\x29\x0e\x3c\x52\xbc\xb9\xce\x95\xf2\xfb\x8b\x72\xa1\x13\xad\x5a\x0c\x2a\x4c\x35\x25\x4c\xe8\xa9\x9e\x6b\x4b\xf5\xae\x7a\xd1\xa0\x3f\x35\x3c\x86\xdf\xa7\x3d\x61\xa3\x68\xb0\x7a\xc5\x72\x04\x5a\xa9\xbd\xef\xa3\x89\xc3\x42\xd4\x61\xbd\x78\x8d\xf3\x8a\xce\x41\xe8\x49\x43\x44\x36\x33\xc7\xa8\xbf\x1d\x74\x3c\xda\x23\xf2\xd7\x59\xbd\x7a\x8b\xc7\x0e\x5c\xb3\xcd\x13\xe0\x68\x3a\xde\x64\x60\x34\x40\x95\x91\x19\xa4\xac\xd3\x02\x93\x12\xed\x3e\xbc\x5d\xa6\x46\xc5\x63\x54\x7b\x41\xcf\x0d\x29\x8b\x35\x8f\x17\x6d\x62\x83\x4e\xad\xf9\x2b\xb8\x6c\x50\xcf\x20\xa3\x66\x6d\xe9\xb0\xa9\xe5\xbb\x63\x64\x13\x81\x4c\x49\x6e\x4d\xa2\x2e\xc8\x98\x1b\xeb\x41\xb3\x87\xec\xb8\x59\x0d\x8e\xa6\x86\xfc\xde\x1e\x5b\x34\xad\xf4\xe3\x54\xcf\xdd\x5b\xc0\xae\x33\x63\xda\x53\x9e\xb0\xa2\x46\x93\x51\x6f\x9f\x7e\xe6\x49\xdb\x2f\xf8\xd7\x97\xf7\x98\x52\x67\x65\x25\x4c\x6d\xae\x6b\x55\x40\xa9\xd8\xab\xac\x85\x3d\x5b\x53\x67\xc5\x2a\xed\x53\x06\xdc\xf6\xcc\xbe\x80\xdb\xac\xd8\x2a\x50\x68\x34\x0e\xd2\x56\xc5\xf9\x55\x60\xad\x74\x7b\xed\x6b\x7f\x06\x3d\xc7\xc9\x62\xbc\x28\x24\xe9\xb0\x13\x7d\x65\x73\x8a\x01\x63\x51\xac\x1c\x3d\xae\xb9\xbc\x7f\xe8\xa6\xde\x98\x37\xb1\x55\xe6\xce\x5c\x75\xac\xcc\xca\x89\xd8\xd0\x03\xf3\x7c\xb0\x36\x4f\x5b\x69\x41\x60\x37\x8c\xa5\x01\x9c\xae\x6e\x24\xe2\x23\x1f\x6a\x7f\x2b\xa8\x03\x07\xd5\x69\x3d\x91\xf3\x54\x40\xbb\xc6\xb9\xea\x86\xa9\xf1\xfa\xf9\x3a\xb8\x81\xf3\x74\xe7\x96\xf6\x7c\x41\xa6\x50\x65\x8e\x15\xdf\xeb\xc1\x3a\x79\xd7\x54\x81\x6b\xdb\xc9\x96\x75\x26\x51\x6c\x3c\x99\xaa\x97\x3a\x9b\x68\x99\x46\x57\xe0\x2b\xa0\xd2\xa6\x98\xdd\x35\xc2\x65\x13\xf1\x6c\x71\x1d\x83\x96\x54\xe0\x4a\xd9\xa9\xea\x28\xbe\x8d\x57\x7f\x7f\xb2\x69\x69\x50\x15\x50\xa9\x58\x98\x65\xb5\xb0\xfe\x15\xa5\x94\x82\xa9\x7f\x03\xdf\x63\x2b\x29\x45\xe5\x2d\xa4\xd4\xcd\x33\xe8\xd6\xc6\x58\x83\x85\x3a\xdb\x68\x79\x27\x39\xbf\x43\xb1\xe1\xc4\xfe\x9f\xc1\xce\xb5\xdb\x6d\x8f\xef\xfb\x10\xb4\x7c\xf1\x05\xb1\xfe\xcf\x56\x32\x6a\xff\xb4\x03\xd9\xa3\xe7\xa2\xd3\x4f\x7c\x6e\x5f\x3f\xd7\xef\xf8\xc1\x5f\x37\x3a\xee\xfc\x83\x8a\xdd\x9b\x58\xcf\xd0\xf1\xc4\xc5\x18\x1c\x7c\x16\x26\x2a\x1c\x4d\x68\x20\xc9\xb7\xc6\x87\x29\x0a\xe2\x30\x0f\x13\x65\x19\x99\xb5\xd8\x8f\xef\x5e\xd1\x7b\x8a\x0d\x51\x0b\xfc\x03\x1e\x36\x4e\x41\x56\xe3\x15\x7b\x2b\x88\x59\x00\x23\x26\x0c\x52\x18\x7e\x18\x27\x85\x0c\x3b\xea\x7a\x60\x97\x26\xc7\xc0\xd8\x15\x6a\xc4\xce\xf5\xd4\x84\xd6\x3d\x2c\x56\x27\x28\xaf\x29\xb8\x20\xc3\xea\x5a\x97\x83\x9b\xae\x4d\xf7\x1c\x20\xad\x0e\x23\xaf\xd6\x53\x92\x52\x2b\x27\x16\xc7\x0a\x41\x84\x7b\xe2\x4b\xdc\x4a\xcc\xde\x91\x36\x3b\x97\xb3\x70\xd1\x97\xe8\x47\x7e\x15\xb1\x85\x00\x3b\x37\x78\xe2\x27\x06\x62\xb2\x4a\x2c\x48\xd6\xc2\x44\x2c\x20\xfe\xef\x7d\xf9\x9b\xde\xa4\x4d\x8d\xe8\xed\x77\xd0\x57\x4e\x8a\x3b\xed\x0a\xa1\x41\x9a\xaa\x19\xea\x29\xee\xe8\x1e\x31\x0c\xf5\xab\xd2\xcd\x42\x95\x43\xdd\x0b\xdb\x47\x00\xef\x72\x5b\x75\x13\x95\x4d\x0a\x44\xf7\xf8\x9c\x9f\xdc\xca\xe7\xf3\x47\xee\xdb\xe4\x0e\x03\x4c\x95\x8f\x61\xb8\xe2\x2b\x0a\xaf\xe2\x08\x5c\xeb\x52\x4b\x07\x8f\x1d\x84\x08\x85\x6a\xe8\xcd\x3c\xf1\xd4\x23\x42\x76\xa9\x85\xae\x69\xd7\xeb\xd1\xa0\xa1\x4b\xf8\x1c\xf5\x49\xc3\xed\x37\xc0\x61\xcb\x9d\x27\x4d\x15\x6f\x87\x4f\xa2\x47\x8f\x12\xa9\x85\x31\xfc\xe6\x59\xd9\x7d\x54\x30\xbb\x84\x83\xad\x73\xd3\x3f\x00\xa0\xce\x8f\xd7\x77\xd1\xdf\xa0\x66\x1e\xda\x1e\x85\xda\xa6\x99\xde\x03\x9f\xe0\xaf\xb1\xa4\xa9\xca\x23\x56\x46\xac\xb9\xc3\x78\xda\x66\x78\xac\xad\xff\x2e\x8d\x8a\xe5\x78\xac\x8a\x02\xb8\xa5\x22\x68\xa6\xb0\x8c\x91\xa2\x4a\x97\x4b\xd6\x5d\xda\xc0\x09\x87\x00\x5b\x33\xf0\x85\xa2\x98\x7d\x50\x19\x5b\x43\x75\x39\xc0\x74\xcb\xe9\x27\x66\x0a\xa7\xa1\x0e\x59\x43\x61\xd7\x5a\x55\x6b\xc8\xd0\x4d\xf9\xbe\xb8\xe3\xaa\x0f\xad\xd0\xeb\x61\x0a\xe7\xd4\xad\x9a\x5f\x35\x98\x88\x6d\x5f\xfa\x09\xef\xb4\xe5\x84\x83\xf5\x68\x20\x63\x98\xaa\x2e\xc5\x73\xe7\x4f\xd1\x26\xa4\xef\x5a\x20\x57\x48\x53\x9e\xdf\x67\x52\x0a\xb1\x65\x9f\x7a\x53\x1e\x92\x0a\x81\xb4\x60\x7a\x8e\xa3\x67\x9f\x5e\xba\x1a\x6c\xd0\xb6\x8b\x05\xe6\xfe\xa6\x9c\xfa\xe1\xda\x58\xe7\x06\x41\x4b\xb3\xec\x16\x58\x1b\x64\x90\xb3\x8b\xc8\x26\xfc\x1a\x72\xec\x96\xe9\xc7\x14\x9c\xc6\xae\x36\x76\x85\xe3\x30\x59\x4b\x33\xd3\x2b\x0d\x04\x96\xd0\x32\xb2\x0f\xc4\x99\x0b\x0c\xd7\x01\x68\xa2\x30\xb1\x35\x89\xa6\x79\x36\xe7\x94\x4d\x99\x8d\x3f\x62\xef\x74\xb6\xb3\x57\xde\x95\x72\x5a\xba\xbe\x40\x8a\xfd\x38\xf9\x9e\x8d\x19\x47\xca\x83\x15\x20\x50\x94\xbd\xab\x27\x9c\x6f\x9f\x8d\xc5\x0b\x0b\x96\x1c\xf7\xeb\xa1\xf0\x34\x15\xfe\x43\xc4\x6f\xb2\xd1\x0e\x82\x2a\x9a\xde\x93\x36\xa3\x96\xce\x79\x9a\xa5\xcc\x5e\xe0\x70\x3c\x85\xe1\x68\xdb\x74\xc0\x5f\xe7\x55\x6e\xe2\xa9\x78\x44\x33\x4f\xad\xbf\xc2\x0b\x9b\xb8\xfb\x8d\x1d\x7e\x1e\xca\x45\x3c\x53\x65\x59\x1d\x08\x82\x79\x8a\xdf\xbf\x67\x08\xdf\x36\x18\x9f\x07\xde\xd4\x7e\x4b\x69\x24\x15\xed\x0c\x5f\xbe\x7e\x0e\x0e\xf3\x0e\x2d\x2f\x80\x3f\xad\xdf\xf5\xe9\x0f\x1a\xf7\xdf\x3d\x7d\x6a\xbf\x1e\x3e\x3b\x1b\xf6\x8f\xf9\xea\xe1\x90\xae\x6a\xf8\x83\xc3\xe3\xa3\xe1\x21\xdd\x39\x39\x3a\xea\x9f\x7c\x4d\x5f\xfb\xc7\x67\xa7\x67\x43\xfa\x7a\x71\x70\x71\xf2\xf4\xd2\xc2\x1f\x1d\x1d\x9d\x1c\x1d\xd0\x9d\x67\x97\xfb\x67\xfb\x67\x0c\xdf\xff\x7a\x38\xe0\xab\x97\x4f\x9f\x9d\x1d\x3a\xf8\x93\xfd\xb3\x4b\x7c\x1c\xef\xec\xf7\xfb\x4f\xbf\x36\xf0\x47\x5f\x5f\x70\x2b\xf8\xe7\x69\xab\x6b\x73\x52\xd8\xb1\xe3\xbb\x63\x4d\xad\xf1\x72\xc4\x6b\x37\x2b\xdd\xc3\x2f\x47\x97\xf6\xeb\xe9\x89\xfd\x3a\x74\x57\x2f\xdc\xd5\x4b\x87\x14\x3e\x68\x5b\x39\xba\xb4\xad\x1c\x5d\xda\x56\x8e\x2e\x87\xee\xea\x85\xbb\xea\xb5\x72\x7a\x62\x5b\x39\x3d\xb1\xad\x9c\x9e\xd8\x56\x4e\x4f\x86\xee\xea\x85\xbb\xea\xb5\x32\x74\xb8\x0c\x1d\x2e\x43\x87\xcb\xd0\xe1\x32\x74\xb8\x0c\x7d\x5c\x2e\x1c\x2e\x17\x0e\x97\x0b\x87\xcb\x85\xc3\xe5\xc2\xe1\x72\xe1\xe3\x72\xe9\x70\xb9\x74\xb8\x5c\x3a\x5c\x2e\x1d\x2e\x97\x0e\x97\x4b\xc6\xc5\xf0\xc8\xa5\x1d\x24\xfc\xaa\x9b\xc1\xaf\xba\x19\xfc\x3a\x74\x57\x2f\xdc\x55\x81\x0c\x8e\x8b\x6d\xc5\x0e\x12\x7e\xb1\xad\xd8\x41\xc2\xaf\x17\xee\xaa\xd7\x8a\x1d\x24\xfc\x6a\x5b\xb1\x83\x84\x5f\x87\xee\xea\x85\xbb\xea\xb5\x32\x74\xb8\x0c\x1d\x2e\x43\x87\xcb\xd0\xe1\x32\x74\xb8\x0c\x7d\x5c\x2e\x1c\x2e\x17\x0e\x97\x0b\x87\xcb\x85\xc3\xe5\xc2\xe1\x72\xe1\xe3\x72\xe9\x70\xb9\x74\xb8\x5c\x3a\x5c\x2e\x1d\x2e\x97\x0e\x17\x7f\x90\x90\x2c\xba\x19\xfc\xaa\x9b\xc1\xaf\xba\x19\xfc\x3a\x74\x57\x2f\xdc\x55\x81\x0c\x52\xd4\xb6\x62\x07\x09\xbf\xda\x56\xec\x20\xe1\xd7\x0b\x77\xd5\x6b\xc5\x0e\x12\x7e\xb5\xad\xd8\x41\xc2\x2f\x43\x77\xf5\xc2\x5d\xf5\x5a\x19\x3a\x5c\x86\x0e\x97\xa1\xc3\x65\xe8\x70\x19\x3a\x5c\x86\x3e\x2e\x17\x0e\x97\x0b\x87\xcb\x85\xc3\xe5\xc2\xe1\x72\xe1\x70\xb9\xf0\x71\xb9\x74\xb8\x5c\x3a\x5c\x2e\x1d\x2e\x97\x0e\x97\x4b\x87\x8b\x3f\x48\x43\x27\x49\x43\x27\x49\x43\x27\x49\x43\x27\x49\x43\x27\x49\x43\x5f\x92\x86\x4e\x92\x86\x4e\x92\x86\x4e\x92\x86\x4e\x92\x86\x4e\x92\x86\xbe\x24\x0d\x9d\x24\x0d\x9d\x24\x0d\x9d\x24\x0d\x9d\x24\x0d\x9d\x24\x0d\x7d\x49\x1a\x3a\x49\x1a\x3a\x49\x1a\x3a\x49\x1a\x3a\x49\x1a\x3a\x49\x1a\xfa\x92\x34\x74\x92\x34\x74\x92\x34\x74\x92\x34\x74\x92\x34\x74\x92\x34\xf4\x25\x69\xe8\x24\x69\xe8\x24\x69\xe8\x24\x69\xe8\x24\x69\xe8\x24\x69\x18\x48\xd2\x85\x93\xa4\x0b\x27\x49\x17\x4e\x92\x2e\x9c\x24\x5d\x38\x49\xba\xf0\x25\xe9\xc2\x49\xd2\x85\x93\xa4\x0b\x27\x49\x17\x4e\x92\x2e\x9c\x24\x5d\xf8\x92\x74\xe1\x24\xe9\xc2\x49\xd2\x85\x93\xa4\x0b\x27\x49\x17\x4e\x92\x2e\x7c\x49\xba\x70\x92\x74\xe1\x24\xe9\xc2\x49\xd2\x85\x93\xa4\x0b\x27\x49\x17\xbe\x24\x5d\x38\x49\xba\x70\x92\x74\xe1\x24\xe9\xc2\x49\xd2\x85\x93\xa4\x0b\x5f\x92\x2e\x9c\x24\x5d\x38\x49\xba\x70\x92\x74\xe1\x24\xe9\xc2\x49\xd2\x45\x20\x49\x97\x4e\x92\x2e\x9d\x24\x5d\x3a\x49\xba\x74\x92\x74\xe9\x24\xe9\xd2\x97\xa4\x4b\x27\x49\x97\x4e\x92\x2e\x9d\x24\x5d\x3a\x49\xba\x74\x92\x74\xe9\x4b\xd2\xa5\x93\xa4\x4b\x27\x49\x97\x4e\x92\x2e\x9d\x24\x5d\x3a\x49\xba\xf4\x25\xe9\xd2\x49\xd2\xa5\x93\xa4\x4b\x27\x49\x97\x4e\x92\x2e\x9d\x24\x5d\xfa\x92\x74\xe9\x24\xe9\xd2\x49\xd2\xa5\x93\xa4\x4b\x27\x49\x97\x4e\x92\x2e\x7d\x49\xba\x74\x92\x74\xe9\x24\xe9\xd2\x49\xd2\xa5\x93\xa4\x4b\x27\x49\x97\x9e\x24\x69\xdf\xef\x2a\x57\x2b\x9e\xb5\x85\x80\x68\x21\x5c\xbf\x53\xfc\x8f\x9e\x1b\xec\xe3\x7f\xfc\xf5\x29\xfe\x47\x5f\xf7\x8f\xf1\x3f\xfa\x7a\xd0\xc7\xff\xf8\xeb\x10\xff\xb3\x98\x1e\xd2\x1f\xba\x73\xf8\x0c\xff\x63\xe3\x78\x8a\xff\xd1\x57\x6a\x84\xdb\x3e\x7e\x8a\xff\xd1\xd7\x93\x63\xfc\xcf\xa9\x77\x42\x86\x55\xf6\x10\xff\xa3\xaf\x67\x87\xf8\x1f\x7f\x7d\x86\xff\xb1\xba\x20\x08\xfa\xfa\xf5\x3e\xfe\x67\x5b\xf9\xfa\x29\xfe\x47\x77\xe8\x4d\x8c\xfb\x45\x1f\xff\xe3\xaf\x43\xfc\x8f\xbe\x12\xae\xdc\x36\x79\xcc\xcf\xa8\xae\x0e\x53\xc7\x32\xce\x18\x2f\xf3\x5c\xd9\xb4\x96\x8e\x34\xba\x66\xc9\xf3\x8a\xa7\x2c\x96\x85\xca\x29\x97\x77\x55\x33\x19\x30\x6e\x0c\x40\x2a\xf1\x89\x5f\xdd\x3d\x89\x74\xf1\x76\x3c\xc6\x75\xe4\x7a\xfa\xdd\x8b\x7d\x2b\x81\x6f\xf5\xcd\x2f\xf5\xca\x38\x0c\x3d\x77\x62\x9c\xe9\x1d\x41\xd0\xba\xf3\x98\x4a\x02\xdb\xfb\x87\xfd\x6e\xb4\x7f\x78\xca\x85\x5b\x3b\x5d\x02\x4a\xcb\xe4\x4f\x4b\x75\x7b\x9d\x94\x0e\xee\x08\xe1\x0e\x8e\xe0\x63\x50\x07\x37\x70\x80\x08\x73\x70\x86\x80\x67\x35\x80\xfb\x16\xf0\x00\x5f\xba\x7f\x00\x1f\xfd\xc3\x1a\xc0\x03\x0b\xd8\x87\x16\x07\x67\xfb\xf0\x71\x72\x5c\x03\x78\x68\x00\x07\xf8\xd6\xc1\xc1\x00\x3e\xf6\xfb\x06\xf0\x4f\xcb\x78\x1e\x43\x30\x6f\x7b\x32\xd8\x3f\xa1\xce\x22\x82\xfb\x15\xa8\xc1\x76\x60\xb6\x17\x83\x01\xf6\x02\xbb\x32\x38\x3b\xad\x80\xd9\x3e\x0c\xfa\xfb\xd8\x4f\xec\xc8\x49\x15\x35\xdb\x83\x63\xea\x00\x7e\x0c\x6c\x4f\xff\xbc\xcc\x83\xd1\x22\xa4\xdc\x68\x21\xc0\x60\x23\x84\xa3\xfb\xfe\xa1\xc6\x18\x3e\x24\x84\x43\xf6\xec\x40\x23\x0b\x1f\x12\x42\x50\x7a\x60\x10\x3d\x30\x83\x3c\x52\xc9\x95\x40\x14\x9f\xa6\x0f\x3b\x14\xa3\xa4\xf8\x93\x60\x3c\xc2\x71\x9f\x08\x77\xec\x41\x0c\x36\x83\x04\x4c\x34\x00\x7c\x07\xa7\x07\x1e\x48\xc0\x3e\xa7\x08\x72\x74\xea\x81\x04\x8c\xb3\x8f\x70\xfd\x13\x03\x32\x8b\xc7\x1f\x0d\x00\xd0\x14\xff\x77\xb7\xd2\xf1\xb5\x9a\xc4\xb3\x79\x96\x4e\x02\xc6\xf7\xa8\x26\x25\x8d\xdb\x70\xa3\x82\xf7\x06\xeb\x6e\xee\x07\x37\xed\x68\xe1\xcd\x83\xe0\xa6\xf7\xca\x43\xff\xa6\x18\x23\xb8\x79\x93\x64\xa0\x6b\x5c\xd7\x81\x80\x87\x38\xde\xfb\x96\xc4\x38\xcf\x6b\xef\x1f\x43\x87\x0e\xf7\xf1\xaf\xbc\xed\x8f\xd1\xf1\x21\xfe\x95\xf7\xfd\x01\x3a\x3a\xc3\xbf\xf2\xbe\x3f\x3a\x47\x03\xfc\x2b\xef\xfb\x43\x83\x44\x3d\xb0\x1d\x5c\xe6\xb3\xd5\x6d\x96\x39\xc2\xef\xa3\x6a\x38\x3d\xc4\x8e\x56\x80\x02\x66\x1a\x20\xdf\x1e\x55\xa0\x7c\x74\x07\x67\x20\xfa\x83\xc3\x0a\x54\xc0\x52\x27\x7d\x62\x9a\x10\x2a\xe0\xaa\x01\x80\x9e\x1a\xa0\x71\x3c\x51\xa5\x64\x8a\xb3\x23\x62\x4b\xac\x4e\xe8\x87\x30\x4e\x15\x1d\xed\x1b\x61\x3a\xaa\xb4\xe4\x34\x11\x8e\xd2\xfe\xfe\x99\xe4\x14\x0b\xe5\x64\x9b\x88\x85\x1d\x74\x2c\x63\xa1\x2c\xea\x24\x2d\x07\x87\x92\x75\xb0\x88\xad\xcc\x15\x58\xba\xaa\x86\xec\x57\x60\x6a\xd4\x68\x15\xa8\x46\x89\x56\x81\x6a\x54\x68\x15\xa8\xaa\x40\x1d\x4c\x06\x56\x30\x16\x86\x6c\x80\xc3\x86\xcd\x1c\x54\x60\x7c\x66\x21\xd4\x0f\x8e\x43\xa0\x80\x57\x10\xf5\x83\x83\x10\x28\x60\x15\x42\xfd\x2c\x04\xf2\x39\x85\x50\xb7\x30\x59\x1e\xcf\xaa\xd8\x9c\xf6\xe5\xfd\x00\xdd\x01\x8c\xd7\xe9\xb1\x04\x08\x50\xed\x1f\x87\x2d\xf8\x68\x9e\x0d\x10\x0b\x79\x3f\xc0\x10\xd5\xc0\x89\xbb\x9f\x4e\x29\xfb\x2f\xf9\x79\xd0\x47\xea\x1e\x12\x13\x4a\xc8\x22\x99\x7d\xf4\x25\x91\x5c\x8e\xfd\x7e\x00\x33\xd8\x06\x28\xd0\xfe\x07\xfb\x1e\x33\x6b\x20\xbf\x6b\xfb\x84\xd7\x49\x88\x52\xe8\x3a\x1c\x4b\xd7\x61\xbc\x8a\x53\xa1\x48\x03\xa3\x8a\x77\x07\xeb\x6f\x4b\x05\x1e\x18\x5c\xbc\x2d\x55\x78\x60\x6d\xf1\xb6\x54\xe2\x81\xa9\x9d\xc4\xf9\xc7\xaa\x69\xf1\xef\x07\xd8\xd7\xb4\x70\x95\xcd\x26\x2a\xcd\x9d\x22\xd5\x3a\x14\x3f\x06\x75\x70\x01\xbf\x9d\x92\xee\xaa\x03\x0c\xf8\xee\x04\xb5\xc9\x61\x1d\x60\x20\x26\x87\x64\x86\xeb\x00\x83\x81\xea\x03\xa7\x9e\x4a\xb8\x3c\x5e\x39\x8b\x85\x10\xfa\xc3\x83\x51\xca\xa3\x48\x5f\x98\x74\x0d\xb0\xb1\x91\x8f\xd7\xf1\xc7\xc4\xd1\xeb\xcc\x78\x16\xd6\x6d\x40\xa0\x79\x7c\x85\xb3\xe2\x1e\xca\x95\xf1\xc9\x66\xc9\x8d\xf2\x70\x3a\x65\xff\x43\xc8\x98\x0f\xe7\xc8\x4f\xea\x84\x65\x7e\xbf\x16\xd4\x69\xd6\x53\xeb\x9e\xf6\x0f\x6b\x41\x9d\x7e\x3d\x36\xfa\xf5\xac\x5f\x0b\xe9\xc6\x60\x60\x18\xea\x58\xf2\x09\x28\x8c\xf4\xca\xf7\xef\x06\x87\x01\x8d\x19\xa6\x46\xcf\x56\x81\x6a\xf4\x6c\x15\xa8\x46\xcf\x56\x81\xaa\x7a\xd6\x87\x19\x5f\x27\x4e\x06\x8e\x60\x38\x29\xd6\xf1\xe9\x45\x40\xce\xaa\x91\xaa\xdc\x97\x02\xef\xa0\x1c\xf1\x4f\xd0\xf7\xf1\xe4\xde\x41\x39\xba\x1f\x1d\x9a\x37\x56\xdb\x72\xa8\xf7\x01\xca\xb7\xc8\x08\x95\xab\x49\xc8\x66\xb2\x6f\x05\xb9\xa8\x8e\x90\xe4\x04\x93\xdb\x22\xf9\xa6\x50\xb1\xc7\x88\x83\x43\xf2\xa7\x91\xea\x87\x07\x35\x70\x03\x3f\x50\xa0\x31\x3c\xab\x03\x14\x6c\x68\x54\xe0\xe0\xb4\x5f\x03\x28\x88\x71\x64\xe2\x24\x8f\xb2\x06\x50\xd0\xe3\xc8\x28\x35\x8f\x6c\x05\x1a\x56\xa9\x1b\x4f\xf6\x91\x4d\x43\xba\x11\x98\xd4\x1a\x87\xc0\x83\x27\x67\xf8\xb7\x0e\x4a\xb8\x62\x83\x8a\xaa\xf7\x20\x85\x3b\x36\xa8\x68\x7d\x0f\x52\xb8\x64\x83\x8a\x01\xf0\x20\x9d\x5b\xb6\x5f\xab\xc8\x35\xa0\x5a\xdf\x99\x72\x99\xff\x69\x99\x25\x85\xf2\xcc\xce\x31\x7e\x48\xb0\x20\x3c\x40\x0b\xdc\x27\xc7\xd9\xc0\xa8\x51\x12\xa7\x82\xef\xf6\xd1\xc3\x45\xdf\xc4\x41\x28\x9c\xb5\x0f\xec\x3d\xf9\x05\x27\x01\xc8\x60\x0b\x98\x40\x0f\xe0\xdf\x83\x10\x26\x50\x03\xc7\xa4\x2f\x02\x98\xd0\x84\x08\x5f\x08\x41\x8a\x8f\xab\xc0\xa4\x92\x90\x8b\x61\x76\x40\x83\xad\xa0\xa4\xf9\x27\x55\x20\x18\xc1\x41\x49\x2f\x80\x54\x81\x60\x02\x07\xe5\x39\x03\x7d\x5f\x0d\x24\x73\xcf\xfc\xb1\x22\x3c\xf2\x04\x03\x41\xd4\x7a\x90\x6c\x72\xe5\xbb\x72\x07\x34\x1a\x87\x5e\xe7\x2c\xd0\x60\x2b\x28\x37\x74\xa7\xda\xb1\x10\x24\xb0\x50\x6e\xf0\xc8\xf3\x38\xf6\x48\x60\xa1\xdc\xf0\x01\xc0\xc9\xa9\xa4\xc0\x34\xc9\xd5\x08\x17\x84\x7b\x8a\xf7\x80\x14\x66\x08\xe2\x73\x1c\x72\xf7\xe1\x69\x08\xe3\x73\x1c\x76\xee\xb0\xd2\x8e\xcf\x71\x08\x77\x50\x69\xc7\xe7\xb8\x7d\xec\x98\x71\xcf\xc1\x73\x06\xf7\x3a\xc8\xb0\x91\x56\xa1\x74\x9c\x61\xcc\x69\x96\xab\xa2\xf4\x94\xb3\xb6\x01\xa2\x6f\x57\x71\x92\x16\xa3\x2c\xcf\x5c\x40\xdc\x27\xb7\x59\xfa\xce\x57\xd7\x59\x51\xfa\xef\x23\xe7\xda\xcf\xfc\xa1\xbf\x15\x04\xcc\x22\xde\xc2\xbb\x61\x3c\x1d\xdc\x0e\x5c\x73\xf4\xd3\xe4\xed\x30\x82\x3e\xf0\x6f\x87\xa1\xf3\x89\x7f\xdb\x73\x56\xf7\x49\x13\x60\x76\xe2\x60\x3f\x84\x09\xfc\x0b\xb4\x52\x56\x65\x34\x39\xa9\x68\xa1\x1c\x49\x1b\x1c\x54\xea\xf3\x59\x08\x14\x6a\x16\x52\x65\x06\x48\x8a\xe6\x19\xe9\x0b\xfe\x10\xf7\xfb\xbe\x1f\x2f\x6f\x39\x39\x03\xec\xe0\x7f\x79\xcb\x3e\xc6\x9c\x25\xb8\x8b\x6f\xf7\x03\xce\xf2\x8c\x16\x81\x0c\xa4\x7c\xf2\x5f\x79\xdb\x52\x08\xb3\x7d\xfc\x57\xde\xb6\xb4\x41\xb7\x82\xff\xca\xdb\x96\x2a\x18\x55\xf1\x5f\x79\xfb\xc8\xde\x3e\x0d\xe4\x87\x6e\x1f\x5b\x5b\x06\xef\xe5\xbf\xf2\xf6\x89\xbd\x7d\xc0\xe9\xab\x43\xef\xdd\xa7\xf6\x36\xbc\x97\xff\xca\xdb\x67\xf6\xf6\x69\xa0\x03\x3c\x13\x8e\x99\x29\xf8\x5f\xde\xb2\x34\xe5\x94\x95\x48\x5b\xd1\x6d\x4b\x50\xf2\xe9\xe8\xaf\xbc\xed\x5a\x06\x94\xf8\xaf\xbc\x6d\x09\xca\xf9\x32\x91\x33\xa3\xdb\x2e\xc9\x31\x60\x97\xe6\xd8\x7b\xb7\x25\x28\x67\xe3\x44\x46\x8e\x6e\x5b\x82\x1e\xc3\x7b\xf9\xaf\xbc\x7d\x22\x33\x28\xfc\x57\xde\xb6\x04\x3d\x81\xf7\xf2\x5f\x79\xdb\x12\xf4\x04\xde\xcb\x7f\xc5\x6d\xdb\x2f\xa0\xf4\xa9\x0b\xdc\xe8\x96\x25\xe8\x09\xfa\x2c\xf4\x57\xde\xb6\x04\x65\x77\x46\xb8\x34\x74\x7b\x5f\x7a\x46\xfc\x57\xde\x76\x2f\xc6\xd4\x08\xfd\x95\xb7\x9d\x5f\x85\xee\x0b\xfd\x95\xb7\x2d\x41\x31\xcc\xe3\xbf\xf2\xb6\x25\x28\xce\x4c\xf0\x5f\x79\xdb\x12\xf4\x0c\xde\xcb\x7f\xe5\x6d\x4b\x50\x4c\xc5\xf1\x5f\x79\xdb\x12\xf4\x0c\xde\xcb\x7f\xc5\x6d\xe1\x05\xb3\x27\x33\x90\x3a\xe3\xb0\xef\x6e\xef\xeb\xa0\x08\x3e\x24\xc4\x60\x9d\x2b\x40\x10\xce\x8f\xc5\x88\xd4\x7c\x48\x88\x03\x3f\x1c\xd4\x1f\x12\x42\x04\x8c\xfb\x14\xab\xca\x80\x95\x20\x8e\x1c\xc4\x91\xce\x95\x0e\x06\x1e\x1e\xc7\x0e\xe2\x44\x9b\x04\xf8\x90\x10\x27\xce\x8f\xa6\xc8\xa6\x2f\x73\x38\x04\x71\xea\x20\xf6\x29\xf6\x91\x01\x10\x41\x9c\x39\x88\x23\x33\x13\xb0\x2f\xf1\x70\x88\x52\x66\x14\xff\xca\xbb\x8e\xe2\x18\xcb\x9a\x0f\x09\xe1\x28\x4e\x1e\x93\xfe\x90\x10\x8e\xe2\x14\xa6\xe9\x0f\x09\xe1\x28\x7e\x40\xc1\x0f\x7f\x48\x08\x61\x89\xc8\x43\xe2\x0f\x09\xe1\x3a\x72\xd8\xd7\xf1\xf9\xe0\xd0\xc3\xe3\xd8\x0f\x03\xf5\x87\x84\x70\x14\x3f\xa4\x18\x9f\x3f\x24\xc4\xa9\x17\x3f\x98\x0f\x09\xe1\x28\x4e\xf1\xa8\xfe\x10\x10\x0e\x0d\x32\xbc\x22\xd5\x44\x77\xfb\x5e\xc0\x6e\x3e\x24\x84\x88\xd9\x30\x1e\xd0\x1f\x12\xc2\x51\x9c\x32\xf0\xfa\x43\x42\x88\xe4\x08\x86\x90\xfa\x43\x42\x08\xb7\x14\x51\xd0\x1f\x12\xc2\x51\x1c\xb5\xae\xf9\x90\x10\xae\xab\xc7\xe4\xd3\xf0\x87\x84\x70\x14\x47\xdd\x6b\x3e\x24\x84\xa3\x38\x65\xdb\xf4\x87\x84\x70\x14\x3f\x41\x14\xf4\x87\x80\x70\x2f\x31\x71\x96\xc4\xe1\xc4\x51\x1c\xf5\xb0\xf9\x90\x10\x8e\xe2\xa7\x88\xa0\xfe\x90\x10\x22\x21\x80\x6e\xac\xfe\x90\x10\x8e\xe2\xa7\x88\xa0\xfe\x90\x10\x8e\xe2\x9c\x7e\xe3\x0f\x09\xe1\x28\x8e\xb1\x99\xf9\x90\x10\x8e\xe2\xa8\x99\xcd\x87\x84\x70\xc4\x38\x43\x14\xf4\x87\x84\x70\x14\x3f\xa3\xcc\x3d\x7f\x48\x88\x33\xe7\x3c\x0e\xb4\x33\x0c\x1f\x02\xe2\xd4\x01\x70\xf4\xeb\xe9\xad\x53\xe7\xc0\xf5\x29\x2e\x3c\x94\x59\x29\x82\x10\x29\x41\x9a\xd1\xe1\x0f\x09\xe1\xbc\xdc\xfe\x19\x85\xfa\x32\xde\x27\x08\xe7\xe2\xa2\x82\x36\x1f\x12\xe2\xd0\x41\x20\x0a\xfa\x43\x42\x1c\x39\x08\x44\x41\x7f\x48\x88\x63\x07\xc1\xa5\x01\xb2\x3e\x80\x20\x4e\x5c\xf8\x42\x13\x59\xfc\x21\x21\x1c\xb9\x68\x0a\x5b\x7f\x48\x08\x47\x71\x9a\x76\xd2\x1f\x02\xc2\x01\x60\xe6\x8a\xfe\xca\xbb\x8e\xe2\x34\x8f\xa6\x3f\x24\x84\xa3\x38\x4d\x3b\xe8\x0f\x09\x21\xe2\x0a\x3b\x21\xec\x69\xe9\x33\x47\xf1\x83\x13\x9a\x28\x91\xb3\x25\x04\xe1\x28\xce\xe5\x19\x5e\x50\x48\x10\x8e\xe2\x34\xed\xa7\x3f\x24\x84\xa3\xb8\x9b\x8b\xf7\xb4\xf4\x99\xa3\x38\x26\x8c\xcc\x87\x84\x70\x14\xa7\xb8\x54\x7f\x48\x08\x47\x50\x9a\xa4\xd4\x1f\x16\xc2\x4f\xb9\x7b\xf3\x80\x7e\x2a\xb1\xf6\x6e\x65\x02\xc5\xbb\x5b\x99\x3f\xf1\xee\x56\xa6\x4f\xbc\xbb\x2b\x35\x9b\x65\xb7\x9e\xce\xe4\x84\x80\xeb\xbe\xda\x10\xb7\xa9\xe6\xb8\x4d\x35\xc7\x6d\x6a\x7d\xdc\xa6\x36\xc7\x6d\x6a\x7d\xdc\xa6\xd6\xc7\x6d\x6a\x7d\xdc\xa6\xd6\xc7\x6d\x6a\x7d\xdc\xa6\xd6\xc7\x6d\x6a\x7d\xdc\xa6\xd6\xc7\x6d\x6a\x7d\xdc\xa6\x9a\xe3\x36\xb5\x3e\x6e\x53\xeb\xe3\x36\xb5\x3e\x6e\x53\xeb\xe3\x36\xb5\x3e\x6e\x53\xeb\xe3\x36\xb5\x3e\x6e\x53\xeb\xe3\x36\xb5\x3e\x6e\x53\xeb\xe3\x36\xd5\x1c\xb7\xa9\xf5\x71\x9b\x5a\x1f\xb7\xa9\xf5\x71\x9b\x5a\x1f\xb7\xa9\xf5\x71\x9b\x5a\x1f\xb7\xa9\xf5\x71\x9b\x5a\x1f\xb7\xa9\xf5\x71\x9b\x5a\x1f\xb7\xa9\xb5\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\x5a\x1b\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\xb5\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\x5a\x1b\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\xb5\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\x5a\x1b\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x18\xb7\xa9\x8d\x71\x9b\xda\x10\xb7\x5d\x67\xa9\x5a\x4d\xd4\xad\xdf\x1b\xae\xc8\xeb\x07\x30\x75\x95\xe7\x15\xa0\xba\xe2\x73\xcb\x01\x06\xa8\xa6\xfe\xdc\x95\x95\x18\xa0\xda\x12\xf4\x81\x05\x2a\x2b\x85\x07\xec\x24\x9d\xf6\x7d\x90\xb0\x74\xb2\x5f\x03\x53\x53\x3d\x39\x38\x3e\xf1\x61\x82\x02\x4a\x04\x39\x3c\xf4\x41\xfc\xd9\x41\x34\x56\x76\xa1\x00\x1e\x2d\xe6\xd7\x52\x50\x2b\xd2\x27\xb5\x20\x01\xc6\x84\x4d\xff\x38\x84\xf2\x71\xf6\x1c\x50\x0b\xe3\xe3\x7c\x2a\xeb\x93\x2d\x4c\x15\x69\x6b\x60\x93\x9b\x2c\x5f\xd5\x84\xa8\x76\xd0\x09\x60\xb0\x11\x22\xac\xe2\xf4\x78\x82\x20\xc2\x12\x4e\x8f\x21\x08\x22\xac\xdf\xf4\xb8\xc1\xab\xd5\x63\xee\x3c\xf0\xdc\x26\x02\x08\x2b\x4e\x8f\xa5\xdb\x44\x10\x21\xa2\x7d\xe9\xe0\x11\x44\xb8\x54\xe5\x54\xba\xc3\x04\x11\x22\x8a\xa1\x96\x21\xe8\x2c\xbe\xc1\x33\x2e\x72\xf7\x1a\x83\xaa\x93\x59\x03\x33\x9a\x2d\x8b\xeb\x00\xe3\xbe\x54\x10\x1e\x60\xd8\xb7\x66\xc8\x70\x55\xce\xa1\x54\xa0\x1e\x64\xd8\x57\x74\x58\x6c\x0c\xe4\x41\xd6\xad\xcb\xb1\x33\xec\xb3\xf8\x36\xf5\x8b\xce\xe8\x9d\x47\xa2\x80\x6f\xa6\xe6\x59\x3a\xbe\x4e\xa6\x53\x51\xc2\xe6\x8a\x24\x6c\xdc\x23\xe1\x42\xb6\x6b\x04\x0c\x07\xf5\x40\xfa\x1a\x12\x30\x64\x42\x72\x25\xeb\x5a\x0c\xbb\x7b\x22\xa3\xa6\x19\x1e\x1e\xe2\x15\x4a\x53\xca\x89\x8a\x5d\x6c\x38\x61\x81\xfc\x3a\x43\x5e\x4c\x65\x33\x40\x16\xca\xaf\x33\xe4\x95\x54\x36\x68\xb0\x50\x7e\x9d\x21\x2d\xa3\x12\x14\x31\x50\x7e\x9d\xa1\xd1\xad\x12\xca\xaf\x48\xa7\xf8\x83\xaa\x7a\xf6\xbd\x37\xca\xaa\x63\xe6\x22\x3f\x7d\x65\x81\x06\x5b\x41\x05\x5e\x90\x5f\x4d\x67\xa1\x84\xef\x59\x2d\xa5\xb6\x50\x87\x7e\x34\xe9\x97\xd1\x11\x54\xb5\xc6\x84\x85\x61\x20\x63\x3e\x1f\x32\x5c\xf6\x76\xdc\xdc\x68\x28\x62\xfd\xe6\x56\x43\x19\xeb\x57\x58\xa9\xa9\xf6\x04\x3d\x1f\x1b\x1c\xf8\x90\x7e\xca\x53\x38\x06\x03\x1f\x09\x51\xb0\x42\xcb\x65\xcc\x87\x0f\xe4\x95\x8b\x1a\x9b\xee\x6c\x9f\x81\xda\xdc\x54\xd5\x60\x53\x95\xa3\xd5\xf3\x16\x28\x30\x80\x27\x14\x83\x1c\x85\x50\x81\xd1\x3e\xde\x97\xf1\x94\x85\x0a\xeb\xce\x79\xd1\x42\x08\xe5\xd3\x96\x96\xea\xf4\x3d\xdc\x83\xf2\x5a\xc2\xeb\xd8\x2b\xaf\x15\x60\x83\x2d\xe1\x82\x1e\x50\x4d\xfc\xe0\xb0\x0a\x17\xf4\x01\x47\xfe\xec\xb4\x0a\xe6\x77\x02\xb3\x65\xc7\x1e\x7f\x84\xc5\xbf\x07\x44\x31\x2a\xdb\xf7\xf8\x22\xa8\x8f\x1c\xf0\x42\xb7\x63\xcf\x48\x09\xb8\x81\x17\xb5\xee\x53\x9a\xdb\x97\xef\xb0\x4a\x72\x70\x7c\x68\x38\xc4\x17\xf1\xb0\x50\x92\x2a\x6b\x89\x4b\x02\x29\x0f\x6b\x25\xc9\x1d\xdb\x3f\xa8\x88\x64\xa5\x46\x78\x70\x60\xf2\x5c\x21\x8e\x61\x99\xf0\x60\x60\xd7\x89\x1c\x1d\xd4\x40\xaa\x2d\x20\x4b\xa5\x66\xbe\x29\x30\x91\xea\x7e\xc0\x0f\x06\x32\xa8\xfc\xdf\xaf\x2a\x4b\x0b\x1a\x54\xfe\x0f\xfa\x55\x72\x1a\x50\xbf\xf2\x9f\xc2\xfe\x90\xa0\x06\x34\x28\xfd\xaf\xa1\x69\xa8\x5d\xac\xd3\xb7\x7f\x58\x05\xab\x73\x0e\xeb\xe0\xea\x5c\xc4\x7e\xcd\x6b\xeb\x1c\xc5\xd3\x7e\x15\xae\xce\x5d\x14\x24\x9f\xfb\xeb\x31\x8e\x8c\x31\x11\x0c\x9e\xaa\xd4\xd7\xa0\xda\xad\xd4\x00\xc1\xca\x0f\x9e\xd1\x92\x83\xa5\x01\x06\x1b\x21\xfc\xae\x7b\xa3\xa8\x21\xfc\x4e\x7b\x8e\x8e\x86\xf0\xbb\xeb\xad\x40\x99\xc7\x79\xe6\x34\x17\x71\x20\x26\xfb\x6c\xa6\x84\xef\xfb\x68\x1e\xed\xcb\xcc\x11\x43\x04\xa5\xb2\xa7\x32\x44\x62\x08\x1f\x4d\x12\x5d\x6b\x25\x18\x22\x28\x93\x95\x01\xd2\x5c\x4d\x92\xe5\xbc\x66\x0d\x77\xcd\x72\x6a\x86\xad\x59\x71\xeb\xc8\x42\x10\xc1\x7a\x0f\xcc\x54\x9d\x1e\x49\xb3\x24\xc1\x7c\x37\x65\xd0\xf7\x54\x84\x04\xf4\x3d\x95\xb3\x23\x6f\xc0\x04\x9c\xef\xab\xf8\x4a\x4c\xc2\xf9\xde\xca\xd1\x91\x37\x78\x04\xb7\x58\xe6\x8b\x99\xa3\xc8\xe1\x89\x51\x61\x83\x3a\x38\xa1\x8f\xd9\x9d\xa9\x76\x84\x01\x45\x72\x95\xc4\x63\x50\xed\x09\x03\x8a\xac\x36\x4d\x32\x1c\x56\xbb\xc2\x80\x4e\x1f\x1f\xf0\x1c\x54\xd8\x93\xd0\x04\x91\x69\xa4\x3c\xa5\xcd\xd6\x6b\xc0\x8a\xe2\x26\x4d\xd4\x3f\xac\xe2\x58\x2c\x70\x03\xbf\xea\x04\x34\x57\xd9\x7b\xa0\x95\x85\x11\x27\x34\x2a\x94\x71\xf3\x21\x79\x6d\x84\x5c\x73\x73\x46\xf9\x30\x19\x10\xce\x93\x49\x1a\x3a\xfb\xac\xb0\xa5\x13\x37\x4f\xd2\x72\x9c\xab\x78\xee\x27\x7b\x74\xd0\x62\x81\x8a\x72\x95\x67\x45\xcd\x9a\xf9\x7d\x3b\xcb\x61\x81\x6a\x96\xcd\xd7\x40\xd5\xac\x9c\x77\x0e\xa0\x85\xaa\x5b\x3c\x6f\x33\xc2\x16\xaa\x6e\xfd\xbc\xcd\xcb\xcd\xb3\xf1\x38\x2e\x92\xb4\x8a\x95\x6b\x29\x8d\x6f\xe2\x1f\xb3\x9a\x2a\xf8\x7d\xcf\x6d\x13\x60\x61\x27\x9b\xe0\xc2\x3a\x74\xe4\xd0\xe3\x9a\xd7\x86\x05\xe9\x5e\x50\x20\xe0\xc2\xae\x0e\xc4\xbc\x20\x80\xad\x7c\x95\xe3\x82\x22\xbc\x57\xb3\x52\xd3\xde\x07\xe7\x1c\xb7\x51\x74\xbd\x3a\x30\x29\x3f\x6b\x53\x68\x01\xde\x24\x8f\x47\x4e\xf9\xd1\xf2\xf4\x7d\xb1\x26\xde\xc2\x88\xc8\xd1\xac\x11\x3c\xde\x0f\x81\x44\xe0\x68\xa2\xaa\xa3\xd3\x10\xc8\x8f\x1b\x7d\x3b\x68\x81\x6a\x96\x63\xd9\x08\xbf\x6e\x39\xe0\xb1\xa8\xd2\xa8\x5d\x0a\x58\x05\x08\xdc\x61\x44\xc6\x07\x08\x86\xf0\xe0\x20\x04\x08\xdc\xf8\x7e\x78\x5f\xe6\xdf\x88\x60\x67\x35\x10\x83\xcd\x20\x3e\xa6\xc7\x15\x44\x2b\xa9\xb7\xa3\x4a\x67\x2b\x99\xb7\x83\x13\x09\x22\x0d\x17\xaf\x7f\x60\x85\x7f\xe8\x41\x04\x24\x3d\x18\x48\x9d\x12\x5a\x2b\x22\x2a\xe5\xec\xad\x06\x0b\x0c\xd5\xbe\x9d\x6a\x76\x93\x20\xa1\x8d\x42\x54\x59\xb3\x1b\xe3\x8f\x1b\xe5\x34\xc4\xd3\x1c\x61\xf4\x25\xa0\x17\x4e\x72\x2e\x9a\x36\x6a\xd8\x0f\x81\x06\x3e\x57\x52\x07\xad\x3a\xb7\x50\xfb\xeb\x42\x53\x0b\x75\xe0\xa7\x9e\x38\x8a\xaa\x40\xb9\x62\x03\xb3\xf0\xe6\x54\xc2\x54\x8c\xc7\xe0\xe4\xa8\x92\xa9\xf0\x00\xc5\x6c\xdb\x49\x25\xf3\xe1\x41\x0a\x39\xad\x6e\xd9\xe2\x41\x0a\x61\xad\x66\x40\x3c\xc8\x43\xcf\x85\x0a\xb2\x20\x08\x59\xb1\x71\x34\xe7\xc3\x45\x00\x87\x27\x75\x80\x21\xbf\x91\xf5\x1e\xd4\x41\x86\x6c\x47\x63\x5c\xfb\xf2\x90\xfb\x0e\x43\xde\xb2\x90\x55\x26\xb4\xa9\x83\x45\xbc\x88\x57\x31\xe8\xef\x45\x90\xa5\x21\xa3\x6d\xa1\x54\x3c\xbe\x5e\x2c\xa7\x53\x1f\x88\x27\x52\x8f\x42\xa0\x70\xfd\x53\x3d\x54\x68\x7e\xbc\x59\x5d\x0b\x15\x1a\x9f\x23\x99\x85\xb0\x50\xe1\xa2\xa8\x33\x99\x86\x58\xa8\x7c\x59\xd5\x7f\x76\x22\xbb\x9a\x5c\xe1\xfc\x9f\xbc\x1f\xae\xea\x1f\xc8\x84\x6e\x5d\x4a\x85\x26\x6e\x0f\x05\x40\x98\x4d\x21\xa1\x3c\x15\x00\x81\x06\xa6\x1e\xd8\xfb\xb3\xa5\x73\x82\x88\x23\x8e\x69\xe1\xda\x40\xdc\x0f\x51\x3c\xf1\x44\x06\x00\xc2\x0d\x07\x3c\x87\x10\x01\xc2\x75\x5c\x5e\x5c\x80\x00\xe1\x1a\xae\x7d\x4f\x2e\xb2\xdb\x49\xb0\xcf\x05\x67\x35\x0e\xa5\xa1\x0e\x1c\x72\xec\x06\x4d\x33\x1e\xfa\x00\x42\x85\x1d\x71\xc8\x24\xfa\x12\xb8\xe0\x48\xca\x43\xbf\x33\x81\xef\x8d\x4e\x17\xf3\x98\xdf\x86\x53\x5b\xc8\xa6\x5e\x5a\x32\xb4\x77\xc2\x20\x56\xa4\xd9\xbf\x57\x09\x4a\xc5\xbd\x4a\x38\x2a\xee\x55\x02\x51\x7b\x2f\x2b\x56\xfe\x76\x43\x7a\xd5\x79\x57\x4c\xc2\x58\xa0\x9a\x65\x7d\x2e\x4f\x68\xa1\x6a\xd6\xf5\xb9\x64\x80\x85\xaa\x59\xd8\xe7\x56\x9c\x5b\xa8\x9a\x95\x7d\xae\xde\x2a\xcf\x56\xb1\x97\xc8\x39\xb6\x86\x72\xbf\x02\x33\x90\xc1\x05\xef\x77\x73\x54\x01\xb2\xa8\x1f\x53\x30\xe7\x45\xfd\x16\xc8\x55\x1b\x9e\xea\x40\xb3\x8a\x91\xab\xe1\x3c\x63\x4f\xc4\x8d\x7e\x11\xe3\xa9\x75\x3e\xd1\x2b\xdb\xcf\x84\x89\x4d\x9b\xed\xb7\xae\x46\x6d\x4e\x93\xf2\xa8\x16\x9b\xda\x74\x26\x5a\x07\x1b\xde\xd7\x26\x32\xd1\xd2\x9c\xfa\xaf\x09\x74\x3c\x16\x60\x9e\x58\x80\x74\xe2\xb3\xd0\x3e\x0a\x0c\x25\x13\x6d\x36\x23\x0c\x30\x0f\x8f\x8d\x29\x3f\x09\x20\x06\xd2\xda\x6b\xf7\xe2\x2c\x80\xb1\x3d\x3a\xb1\x7b\x6b\xd8\x1a\xa9\xca\x86\x06\xc7\x27\xd6\xb5\x08\x61\x0e\xd7\xa2\x53\x5c\xab\x99\xbf\x03\x90\x8e\x0b\x4e\x03\x98\x70\x92\xaf\x16\x28\x9c\x7c\x38\x93\xc9\x46\x03\x14\x4e\x3b\x20\x13\xda\x39\x31\x03\x54\x33\x93\xe9\xa6\x31\x8a\x44\xa5\x69\xec\xa9\x40\x4c\x71\xd8\x39\x47\xbe\x5f\xe3\x30\x58\x7f\x81\x21\x6a\x1c\x05\x9b\xb5\x66\x88\x1a\x07\xc1\xf1\x04\x41\x54\x1d\x03\x47\x95\xc6\x5c\xb6\x8d\xa8\x2a\x69\x6c\x91\xef\x0e\x60\x9c\xba\x26\x3d\x4b\x16\x36\x7c\x95\xd8\xc5\x8a\x6c\xa8\xb7\xc8\x3d\xcc\x5b\xd3\xd4\xc6\xc0\xb3\x40\xd5\xcc\x07\xa2\x72\xe6\x99\x31\x0b\x23\x90\x46\x7b\x3a\xf0\x36\x28\xb0\x50\x02\x6d\x2a\x34\xf5\xa6\x0f\x2d\xd4\x81\x17\xe1\x9d\x9e\xd5\xbe\xd0\x61\x8e\x03\xd5\xaf\x20\xee\x67\xd0\xf7\x8d\x32\xb1\x2e\x79\xcd\x3e\x1b\x67\xa7\x95\x59\x83\x9a\x3d\x36\x74\xe2\xae\x82\xb9\xbf\xbf\x06\x25\xb2\xfc\x54\x5b\x75\x6f\x0d\x1e\x18\x3f\xb3\x5d\x93\xd4\xaf\x41\x3e\xad\xe4\xbd\xbd\xa9\x7b\xbc\x5f\x37\x2d\xed\x01\xd4\x4c\x47\xbb\x80\x0c\x01\x6a\xa6\xa1\x5d\x38\x86\x00\x75\xd3\xcf\xd6\x63\x6e\xca\x86\x91\x5e\xaa\x01\xaa\x2c\xcb\xa8\x85\xaa\x2c\xcf\x70\x9b\x6e\x08\xa8\xca\x32\x0d\x57\xd3\x2c\xa0\x2a\xcb\x35\x6c\x1d\x7b\x65\xbe\xe4\xc4\x16\xe2\x5a\xb3\x5e\x9d\x29\x39\x63\x2f\xd5\xe3\x9f\xca\x1c\x09\xef\x29\xea\xcb\x6b\x65\x76\x84\x72\x42\x87\x9e\x8b\x55\x9d\x17\xa1\xb9\xf5\xbe\xc7\xf9\xa5\x98\x09\xd7\xf5\x45\x5d\x51\x7c\x52\xc6\x95\x19\xc1\x23\x51\x26\x5f\xc6\xa1\xe5\xc4\x57\xd8\x18\xa2\x8c\x43\xb3\xe9\xf9\xfd\x65\x9c\x56\xb3\x1e\xd6\xa1\xc2\x73\x70\xcb\x99\xd8\x11\x8f\xd4\x16\x4d\xcd\x1e\xfb\x20\x61\xba\xcd\x8b\x55\x35\x4c\x98\x51\xf4\xbc\x16\x0d\x13\xe6\x13\xbd\xa9\x26\x0d\x13\xa6\xd8\x3c\x49\x2c\xb3\x79\x5c\x66\x1e\x36\x67\x67\xc2\x6c\xf0\xfd\xc1\x26\x80\xa0\x3c\x6a\x5f\x98\x15\x06\xf0\x11\xc5\xa1\xb7\x56\x85\x01\x82\xc2\xa8\x43\x61\x55\x2a\xa9\x80\x63\x5b\xed\xd8\xaf\xc0\x78\x12\xe6\x6f\xed\x58\x8d\xff\xfb\xdd\x70\x63\xc7\x6a\xe4\xdf\xef\x86\xdb\x3a\x56\x63\xfe\x7e\x37\xdc\xd5\xd1\xdf\xed\xc7\xb9\x68\xee\x4d\xd5\x7c\x00\x2a\x4a\xca\xe1\x58\x15\xd8\x90\x0a\xa0\x69\x45\xab\xe6\x1a\xb2\x00\x54\xbd\x7d\x58\x01\x0a\x32\x65\xde\xe2\x80\x86\xd8\x1f\x7b\x66\xd7\x91\xdc\x5e\xab\xd8\xf5\xeb\xd0\x25\x8b\xcf\x24\x40\x58\xbe\x41\x13\xcb\xc7\x12\x22\xe4\x6e\xaa\xbe\x3e\x94\x10\x21\x6f\x1f\xcb\x4e\x13\x44\xc8\xd9\xc7\x52\x07\xd6\xed\x01\xe3\xb1\x03\x01\x14\xf3\xec\x63\xdd\xe6\xba\xd6\xb3\x6a\x9a\x7f\xed\x7b\xf7\x6b\x26\x5e\x7d\x80\x9a\x19\x57\x1f\xa0\x66\xaa\xd5\x07\xa8\x99\x63\xf5\x01\x82\x64\x9f\x4c\x2e\xe3\x19\x3f\x78\x84\xf2\x77\x3f\xbc\x7a\xfa\x2c\xba\x7c\xfe\xe2\x19\x9d\x3d\x3b\xc9\xca\xbd\x1f\x8b\x3d\xf8\xf6\x61\xda\xfb\xb1\x40\x90\xa7\xd9\x62\x95\xe3\x34\x4b\xd4\x1e\x77\xd0\x12\xee\xf3\xe1\xf0\xd7\x79\x36\x4f\x96\xf3\xe8\xbb\xd7\xd1\x70\x59\x5e\xe3\x26\xd8\xd1\x70\x36\x8b\x08\x16\x8f\x9f\x2a\x54\x7e\x83\xc7\x4f\x41\x1b\x3f\x14\xee\x54\xf0\x22\x5b\xe6\x63\x3c\xea\x69\x42\xe7\xe1\x5f\x65\x37\x0a\x8f\xa9\xc2\x43\xa3\xe3\xe8\xeb\xd7\x17\xbb\x45\xb9\x9a\xa9\x08\x77\xcf\x4e\x0b\x3c\xc0\x2f\x2e\xe9\x80\xeb\x91\xc2\x96\xa6\x78\xfc\x1b\x1e\x79\x84\x7b\x73\xbf\x78\xfe\xf4\xd9\xcb\xd7\xcf\xf4\x8e\xdc\x0f\x5a\xcb\x82\x4f\xd2\x1a\x97\x2d\xb7\xbd\xf7\x37\x79\x3c\x8a\x46\x31\x9e\x2f\x1e\x2d\xcb\x64\x96\x94\x2b\x7b\x54\x94\xd8\x41\x1c\x4f\xa0\xfb\x49\x1c\x7c\xf4\x8a\x4f\x5d\xc2\x33\xca\x92\x78\x84\xfb\xb9\xab\xa9\xca\x55\x3a\xa6\xb3\x94\xf1\xf8\x7d\x7b\x40\x22\x82\xff\x87\x06\xe3\xe3\xbc\x32\x3e\x9e\x8b\x0e\x7f\xff\x97\xcb\x1f\x5e\x3e\x7d\xf3\xfc\xbb\x97\xed\xff\x18\xbe\x7a\x39\xfc\xf6\x19\x9e\xf6\x6d\xae\x21\x05\xa0\x6f\xd9\x02\xb1\x89\x67\xd8\x92\x2a\xc6\xf1\x42\xb9\xa3\x4b\xf1\x0c\xb1\xc5\x62\xb6\x32\x1b\x92\x7b\x27\x88\xe1\xd9\x71\xea\x2e\x9e\x2f\x66\xfa\xf0\x7d\x3e\xa0\x54\x1f\x19\x05\x48\x15\xed\x9d\x7f\x69\x23\x1f\xe0\x59\xdc\x9d\x6e\xf4\x2f\xd0\x03\xa0\xfc\x0f\xaf\x9e\x3f\x35\x27\xd7\xf1\x79\x59\xc8\x37\x0f\xa3\xba\x3f\x3f\x45\xe6\x79\xe0\xa4\x7f\x43\xc6\x6a\x86\xe5\x93\xab\x00\xee\x9b\x2c\xbb\x9a\xa9\x47\x3b\xd1\x3d\x1e\x56\x45\xb8\xfe\x01\x8f\xb2\x03\xb6\xc0\x73\xf6\x81\x82\xdc\x54\x37\x62\xc8\x7f\xd9\xff\x7a\x47\x0c\x86\xec\x81\x3c\xda\x0b\x88\xde\xc5\x21\x29\xf8\x7c\x2f\x7d\x6a\x15\x5c\x75\xa7\x64\xfd\x4b\xfb\x6d\xbc\xfb\xe7\xf7\x0f\x3b\xef\xda\xed\xb7\x7f\x7c\xd7\x79\xff\xa8\xf3\xae\xb3\x77\x95\x74\x5d\x2b\x74\xce\x1c\xfc\x4e\xa9\x2d\x77\x5c\x18\xfe\xc1\x63\xb5\xca\xd5\x02\x8f\x4a\xc5\xf7\xbc\xd5\x00\xef\xe9\xc8\x3c\xe0\x3d\x3c\x8a\x54\x4d\x5a\xe6\xa4\xe5\x88\x0f\xeb\x8d\x5a\x3f\xf0\xf9\x6b\x96\x5f\xf8\xf8\x38\xfd\xb4\x3e\x84\x59\x1f\x0d\x4d\x47\x9b\xcb\xb6\xed\x6d\x7c\xf9\x34\x35\x27\x7a\x79\x54\xe8\x59\x9e\x75\xb8\x46\xdc\xd6\x1a\xd8\xb7\xd3\xf4\x7d\x3b\xbf\xb1\x67\xe1\xe9\xe3\xf7\xf8\x3d\xb2\xa1\xa0\x17\x01\x13\x72\x67\xa6\xa9\x6d\xc6\x20\xac\x07\x20\xbf\xd1\x47\xeb\xf9\x27\x29\x5e\x1a\x34\xa4\x14\xe3\x0e\xfe\xfa\xf8\x61\x89\xb2\x66\x92\xa7\xb3\x04\x0f\x53\x24\xd8\x78\x32\x61\xa6\x37\x07\xd7\xc1\x0f\x75\x57\x2a\x50\x00\x55\x36\xef\x34\x70\x8f\xa3\x85\xde\x98\xdf\x0a\xc0\x63\xf7\xb5\x2b\xaf\x5b\xc1\x78\x5c\x73\x8d\x20\x89\x38\xff\xf6\xe6\xdb\x17\x8f\x3d\xce\x94\x67\x29\xce\xe3\x85\x7e\x1f\x9d\x96\xf0\x45\x0b\x48\xf8\xfb\x59\xf9\x44\x1f\x9f\x00\x97\xbe\xa4\x4b\x57\xf2\xd2\xef\xe9\x12\x48\xb3\xb8\xb6\x43\xd7\xc0\xbb\x10\x80\x3b\xad\x1d\xbc\xf8\xbb\x83\xb3\x27\x2d\xa6\xbb\x7f\xca\xb7\x27\x0f\x6f\xbf\xf8\xf2\xf7\xef\x76\xde\xb5\xde\xe3\xd9\x71\x4e\x04\x00\x59\x03\x0e\xb8\xbe\x9d\xbf\x67\x49\x85\xa1\x15\x03\xf8\x0d\x9e\x3a\x79\xad\xec\xb1\x81\xf1\x78\xac\x16\x78\x1c\xe1\x0f\xcf\xa3\x59\x9c\x5e\x2d\xe3\x2b\x77\xc8\xb5\x39\x04\xd0\xbe\x83\x8f\x1a\xbe\x87\xb1\x9c\xcd\x46\xf1\xf8\xa3\xe5\x07\x1c\xc8\x24\xbd\x01\x3b\xcb\x7c\x80\xaf\x60\xc5\x00\x36\x04\xad\x8b\x51\x2f\xd4\xa2\x2a\x55\x4e\x7a\xd2\xa2\x31\xcb\xe8\x84\x0d\x94\x1d\xa9\xc1\x7b\x57\xaa\x1c\x12\x86\x2f\x0c\x6e\xde\xa9\x98\x1a\x0d\x77\x34\xe0\x6d\x92\x4e\xb2\xdb\xde\x18\x4d\x99\x8a\x7e\xff\xfb\x88\xbf\xf5\x92\xc1\xa9\x15\x0e\x71\xa9\xa6\x7d\xd7\x28\xd1\x4e\x1e\x6e\x59\xa8\xf2\x4d\x32\x57\xd9\xb2\x6c\x5b\x14\xa4\xc4\x99\x27\xdb\x6f\xd3\xf8\x26\xb9\x02\x87\x37\xef\x19\x9a\xba\xd1\xdb\xa5\x13\xff\x3e\xb4\x3a\xef\x9d\x0c\xa3\x99\xaf\x0c\xd5\xf7\x78\x22\x2a\xd0\xe8\x4f\x4b\x95\xaf\xb4\x71\x32\x27\x50\x5e\xc7\xc5\xb5\x77\x0c\x64\x19\x7f\x44\x4b\x15\x2d\xf3\x59\xf8\x80\x33\x5c\x2d\xa4\xef\xe0\x9c\xec\xcd\xef\xf1\xfb\x3e\x7f\x6f\xe1\xd1\x94\xd8\xd4\xd8\x1c\x93\x2e\xce\x62\xce\x46\x3f\xaa\x71\xe9\x19\xc0\x9f\x68\xa0\x06\xc0\xb1\xfc\x78\x97\x7e\xef\xdb\xdf\xd1\x7d\x4f\x9f\x91\x1e\xeb\x53\xd2\xe9\x58\x43\x30\x7a\x0a\xb5\xff\x1c\xd8\x22\x01\xfb\x16\x95\xc9\x9c\x6d\x2f\xb6\x2c\xb1\xee\x46\x59\x8a\xf6\x91\xf9\x66\x16\x03\x93\xf0\x29\xcf\x74\x78\x2a\xb7\x63\x9e\x63\x36\x0b\x0e\xe0\x4c\x27\xe6\xa8\x72\x34\xde\x8b\xb8\x40\x0d\x85\x1a\x71\x79\x75\x1d\x4d\x54\xa8\x03\x40\x89\xe1\x6e\x81\xf0\x0f\x92\x0c\xb4\x94\x22\x72\x68\xfb\xac\x2d\x1c\x13\xa2\xe9\x80\x4c\x42\x9f\x0f\xed\xd6\x47\x2c\xe6\xfa\xcc\x11\x3a\xd9\x96\x4f\xf8\x04\xb2\x16\x65\x8c\x04\x26\x29\x89\x8d\x54\xcc\x54\x4c\x27\x94\xb4\xbe\x6a\xf1\x69\xb1\xf0\xc5\x1e\x14\x9b\x5c\xa5\x80\xdb\x44\x8a\x05\x35\xf9\xff\x88\x60\x42\x1c\x04\x0a\x4e\x22\xc4\xc5\xea\x91\xd6\x5f\x69\xab\x27\x91\x3f\x8f\x6a\x1e\x19\xf0\xe9\xbf\xd6\xd8\xfd\x74\x6f\x7f\x2f\xe2\x84\x2c\xba\xf7\x14\x1e\xb8\xdb\x06\xed\x47\x5c\x5d\x77\x66\x30\x3d\x55\x77\x2a\xb9\x69\x12\x40\x09\xe6\x6d\xf2\xde\x34\x77\xde\x32\x07\xb8\xdf\xbc\xad\x8e\x61\x1b\xc1\xf1\xd0\x76\x3c\x58\xb8\xe9\xf6\xe0\x7d\xe5\x14\x61\xb4\x74\xd8\x1b\xab\x70\x7e\x78\xf5\x42\x52\x75\x11\x97\xd7\x9b\x15\x4c\xbe\x4c\x91\x9b\xab\x57\x74\x8b\xde\xd1\x9d\xb5\x10\xfc\x22\x79\x74\x27\x5e\xf0\x0f\xa6\x9d\x81\x25\xb1\x32\x05\x02\xaa\xae\x40\x91\x92\x42\x28\x16\x6a\x9c\x4c\x13\xe0\x72\xaa\x85\x08\xb9\x54\xc3\xde\x47\x37\xc4\x9c\x2c\x4c\xf0\x20\xb0\xd7\x18\x1b\x65\xf6\xaa\x82\xcf\x41\xc8\xf0\x01\xf8\x37\x99\x43\x68\xc0\xe6\x82\xbc\x67\xeb\xb5\xd6\x3c\x15\xdf\xf1\x53\xf1\x5d\xe3\x53\x86\x95\xe9\xf5\x92\xde\x37\x5d\x7c\x5b\x17\x1f\x76\x64\xbf\x01\x96\x81\xab\x1e\x15\xe1\xf7\x13\x7b\xfb\x4b\x82\xf7\x6e\xc7\x77\xe2\x90\xdf\x1b\x8f\x90\x2f\xd4\xb4\x04\xf2\x4e\xac\xd3\xcf\x44\x64\xba\xea\xf3\xcd\x97\x05\xe9\x02\x7d\x11\x8f\x4b\x88\xc7\x60\xb7\x9a\xe4\x1f\xfe\xad\xc8\x7d\x03\x51\xf5\x0b\x10\x7a\xa2\x8a\x04\x64\x5b\x5f\xea\xd5\x35\x0c\x91\xc4\x87\x31\x43\x9b\xa0\x02\x9b\x26\x7d\x61\xb1\xea\xe2\x19\xf2\x31\x9a\x5b\x7c\x73\x2b\x6a\x35\x9f\xc8\xbb\x20\xf5\x56\x39\x0d\x7e\xda\x9b\x21\x41\x42\xcf\x9c\x11\xeb\x6a\x2c\x78\x40\xb0\xab\xe7\x11\x8b\x3a\x79\x49\x48\x67\x8d\xe6\xb9\xf9\xf2\xf3\xcf\x88\x06\xb1\x33\x04\xe1\x30\xf2\x08\x69\xce\x8e\xff\x42\xb7\xcb\x03\xc6\xed\xe9\xe7\x1e\xe1\x4f\x29\x05\xf4\xb3\x7e\xec\xd2\xe5\x7c\x64\x04\xc0\x1b\x3b\xd2\xae\x46\xa9\xfe\x59\xe5\x59\xc5\xa5\xe1\xee\xff\x6c\xc7\x44\x37\x85\x04\x72\xad\xfe\xd2\x11\x5c\x43\x76\xdd\x78\x5c\x78\xf1\xa6\x19\x82\x3f\x07\x43\xc0\xd0\x66\x14\xbc\x08\xc9\x8d\x59\x00\x05\xce\x45\xbf\xe5\x7b\xed\xaf\xf4\x79\xd9\x86\x39\xc1\xcc\x97\x31\x48\xb4\xe0\x6f\x8d\x97\x39\xac\xda\x71\x56\xe1\xb9\x19\xe0\xba\x5d\x67\x13\x90\xad\x84\x5a\xe0\x5e\xc4\x65\x32\x06\xe7\x67\x7c\x6d\xc3\xe4\x59\x9c\x83\x2b\x55\x46\xf1\x1c\x82\x7b\xf2\x1d\x38\x11\x83\x4d\x53\x44\x0c\x5e\x06\x74\x04\x4c\x46\x51\xd2\x89\xe9\xcf\xc1\x30\x5e\xd3\x69\xdd\xad\xd2\x46\x14\x30\x02\x57\x2a\x55\x79\x5c\x2a\x74\x44\xe0\x75\x71\xaa\xc0\x2d\xb8\x5e\x5e\x29\xd7\x34\x9d\xa9\x6e\x5b\x6f\x54\x7c\x35\x43\x56\x87\x5d\xad\x08\x0e\x0d\xe1\xdc\x59\xde\xba\xa3\xb6\x0f\x62\xfc\x85\xef\xfa\x07\xdb\xae\x1c\x55\x39\x9a\xa8\xbd\x34\x6a\x60\x90\xfb\x9e\x06\x6b\xb5\xac\x91\xc5\x5c\x06\x46\x4d\x7e\xa3\x46\xfd\x7d\x36\xed\xb9\x1e\x70\x13\xf2\x0a\x3c\xdb\x72\xe1\xbc\x27\x93\xfa\xd5\x5f\x7a\xf0\x3d\x89\x60\xd0\xd4\xa3\x73\xef\x77\x68\x4c\xbd\x66\x9c\xbb\xa1\x1b\x64\xa6\x8c\x34\x57\x3e\x4b\x8b\x65\xae\xd3\x41\xb1\xcb\x8e\x24\x05\x39\xd2\x3a\xa2\xa4\xc4\xcc\x18\x7c\xd2\x18\xdd\x3d\xb4\xb0\xb3\x64\x9e\x58\x2f\xec\x75\x82\x89\x12\x60\x17\x70\xb1\x21\x88\xc8\x3e\x62\x5c\xf9\x51\x31\xad\x7a\x06\x8a\x84\x25\x57\x57\x10\x6c\xa8\xfc\x79\x0a\xbe\x04\x8f\x50\x0c\x7c\x3a\x6f\x67\x29\x5e\xea\xd8\xac\x06\x31\x3a\x39\x5f\xb3\x0c\x05\xe4\x16\x62\x7a\x71\x7c\x9c\x3e\x63\x1e\x09\xcf\x4f\x42\x0c\x00\x0f\xa4\x59\xa9\x23\x20\x83\x38\xb6\x75\x04\x41\x03\x3c\x30\xb1\x52\x04\x4e\xe0\x2a\x5b\xb6\xd0\x29\x55\x39\x3a\xd3\xd8\x72\x81\xbe\x44\xb6\x40\x4e\xa7\x58\x0a\x29\x32\x8f\x57\xe4\xd4\x03\x12\x29\x59\xf9\x6b\x10\x01\xdb\x1c\x36\x42\x0e\x7b\x9c\x92\x77\x0b\x68\x4e\x96\xfa\xf1\x04\x4d\xe3\x0c\x22\x2b\x0d\x1a\x17\x84\xb7\x35\x1e\x7c\xdd\x45\x62\x3e\x6a\xa6\x39\x13\x3e\x4c\xc0\x77\x42\xc7\x02\xfd\x6d\x20\x5f\x4c\x07\xda\xc7\x2e\x02\x34\xe3\xd6\xa5\x7e\x01\xd1\x80\x43\xd9\xb1\xbd\xcd\xd1\x51\xcf\x8d\x0c\x83\x13\x08\x9f\xd7\xa6\x2b\xf0\x06\x68\x1f\xe8\xa8\xc1\x40\x09\x3c\x03\x15\x42\x0d\x6b\x52\x63\x23\xee\xe1\x5b\x4e\x36\x69\x4d\xc6\x4f\x81\x97\x0f\x1a\x0a\x3b\xad\xe5\xd1\xa2\x75\x4b\x12\x5e\x66\xd8\x06\xbc\x0a\xb4\x19\xfe\xe4\xe8\x8d\x22\x52\x18\x32\xf8\x1f\x5d\x53\x3c\x80\x1f\x06\x1c\x30\x53\x44\x80\xdb\x38\xe5\xc4\x84\xe4\xcf\x12\xcd\x49\x51\x62\x73\xe0\x4e\x32\x0d\x20\x1e\xa4\x93\xf7\xf5\x3b\xa9\x41\xc3\x02\x3a\xa0\x88\xcd\x3b\x23\x75\xb7\x00\x94\x2c\x1f\xb0\x58\x13\x03\xda\x7c\x0f\xb3\x63\x6b\xaa\x4a\xa0\x03\x47\x1b\xe4\xf1\xda\x2c\x60\x96\xf5\xe8\xe6\x77\x74\xaf\x6d\xd8\xf7\xf5\x12\xfc\xab\xa2\xe8\x74\x23\x73\xe5\x32\x4e\x66\x80\xbb\xe3\xe9\x4a\x24\xff\x50\x46\xf1\xa8\x14\x65\x76\x12\x89\x4b\x29\xd1\x94\x5b\x0c\x8d\x20\x3b\x25\xf3\x22\xfa\xce\xf0\x94\x33\x1f\x1e\xeb\x61\x5b\x71\x62\xc3\xab\x3c\x4e\x70\xd0\x4d\xd4\x63\x9b\x8f\xa2\x0b\xf6\x5e\x90\x82\x47\xfd\x7e\x3f\x6a\x5b\x4e\xef\xf8\x26\xd5\xa0\x79\x8f\xec\x6a\x3b\x40\xb9\x04\xd7\x83\x6b\x65\x42\x43\xf6\xfd\x5c\xe8\x38\xb2\x89\x08\xbc\x6f\x98\xc8\xb4\xc3\x41\x9a\xdf\xaa\xf1\xe7\x1a\xdb\x34\x0d\x8e\x94\x8f\x03\xb0\x8c\xb1\x5e\xa0\x1d\xd4\x6d\xe5\x6d\x5e\xa2\xc3\x70\x42\x25\xb7\xd1\xd5\xb4\x66\x6d\x4c\x89\xa8\x42\x7b\x4b\xf0\x05\xbc\xac\x23\x78\xff\x00\x68\xf6\x44\xdf\x06\x7b\x0c\xb8\x1b\x9e\x02\x69\x7c\x8d\x17\x4c\x04\xa7\xd1\xaf\x26\x30\xe8\xb4\x53\xe8\x31\xf0\x2a\x0c\x64\x8d\x36\x4e\xe6\xb8\x8e\x03\x7a\x33\x5b\x91\xc1\x6e\x15\x11\x89\x0c\x8c\xf1\x38\x5e\x94\x4b\xe2\x76\xe8\xa7\x69\xad\x18\x67\x0b\xca\x17\x10\xd9\x8c\x18\x98\x64\x6a\xcf\x3b\x63\xb5\xa5\x6f\xb7\x5c\x72\x1e\xe7\x15\x58\x6a\x47\x2b\x4e\x18\x9a\x26\x9c\xc6\xc1\x30\x9f\xf4\x04\xb7\xe4\x84\x5f\xab\x14\x1b\x50\x9a\x47\xcf\x37\xe4\x70\x10\x96\x52\x15\xe7\x36\x65\x6c\x1b\xc5\x78\x99\x99\xa1\xd5\x89\xbe\x62\xb0\xc7\x8e\x75\x38\x29\xcc\xcd\xe8\x26\xe8\x9f\xaf\xa2\x76\x8b\x93\xad\x9c\x95\x7e\x4c\x66\x5d\x27\x8c\xd8\x94\xf4\xd0\xc2\xb4\x5b\x82\x11\x1e\x07\x6a\x63\xc2\x2d\xb4\x61\xc4\xf7\x68\xb0\x3b\xf0\xab\x55\xd8\x56\xc3\x06\xc1\x70\xb5\x89\x0f\xec\x1d\x47\x81\x74\x39\x9b\xe9\xdc\x2e\x04\x59\x45\x47\x27\x1a\xb1\xeb\x9a\x6e\xdf\x58\x9d\xdb\x98\x6b\x13\x5e\x4a\x6d\x2a\x8c\x72\xee\xfc\x4a\x79\x19\x30\x04\x35\x9a\x9b\x11\x30\x10\x4f\x04\x40\x1d\xa2\x84\xec\x03\x97\x22\xd7\x51\xb4\x21\x3d\x4d\xa6\xb4\x11\x1c\x58\x22\xbf\x5a\xce\x31\xdf\xec\x92\x6b\x5e\x3e\x55\x4c\x06\xd4\x8e\xac\xdf\xb7\x90\x20\x7e\x52\x36\xbc\x1b\xa4\x0e\x3b\xed\x5a\x2f\xbc\x94\xe7\xe2\xa2\xb1\x63\x81\x8d\xa7\x28\x77\xc5\xc7\x04\xcf\x5b\xa9\xf3\xcb\xa7\xb9\x49\x8e\x86\xde\x38\x99\x1d\x4c\xa2\xb3\xcf\x6c\xdc\x67\x14\xbd\x89\x1a\x2d\xaf\xae\xc8\x75\x4d\xb5\xdc\x6a\xec\x31\x49\x86\x0d\xb1\x2d\xf1\x8c\x7b\x1a\x51\x9e\xb7\x0b\x2d\x8d\xe3\x25\xcd\xd8\x39\xb7\x87\x09\x85\x1e\x01\xe6\xd6\x00\xac\x00\x01\xc5\x86\x74\x00\xaa\x85\x32\x46\xfd\x80\x3e\xd1\x2d\x2a\xc2\x5b\x45\x56\xd5\x20\x3f\x8c\x60\x08\x12\xe8\x3c\x13\x60\x4e\x73\x91\xe8\xbd\x91\xf3\x26\xfc\x36\x9f\xa3\x5b\xaf\x33\xec\x31\xf6\xe6\x36\x19\x7f\xa4\x8c\x1e\xba\x6a\xe0\x29\x8d\x81\x36\xad\x6e\xa8\xf3\x3a\xc6\x7a\xa2\x76\x68\xfa\xf3\x32\x83\xf0\xc5\xf4\x71\x3e\x8f\xa3\x3f\x7a\x7e\x20\x06\x25\x11\x96\xda\x70\xde\x1c\x86\x80\x7c\x4d\xed\x0c\xfe\x58\x18\x0c\xbb\x40\x6f\x9c\xa1\xd5\xf3\x9e\x26\x6f\xaa\xa3\x13\x72\x6c\x52\x4e\xb7\x68\xd4\x33\x18\x88\x1b\x05\x34\xe0\x33\x89\x91\x91\x03\x63\xcd\x63\xcf\xc6\x96\x93\x80\x97\xc4\x03\x7e\x2e\x40\x44\x6e\xc4\x48\xcc\x27\xda\xf5\x21\x96\xa7\x47\x39\x0d\x1f\x41\x4c\xb7\x84\x87\x5a\x86\x46\x2d\x1e\x02\x34\x75\xb3\x5b\x1c\xcc\x9a\x6c\xa3\x81\x95\xea\x20\xc4\xc9\x99\x27\x0f\xd3\xf3\x2a\xf2\x5f\x55\x2f\x3d\x8a\xf6\x41\x2f\xee\xdb\x68\x87\x3a\x42\x3c\x48\x97\xca\x7c\xa5\x75\x08\xcf\x69\xa1\x31\x7d\x96\xe7\x20\x70\x3a\x47\x3f\xc6\xd9\xbf\xa8\xad\xee\x8c\xae\x71\x0d\x00\x06\xea\xae\xc7\xe4\xd5\x69\xc4\x77\x69\xcb\x25\x01\xed\xeb\xb4\x1c\x70\x6a\x33\xc8\x59\x4a\x64\x39\x7d\xe9\x5e\x50\x97\xc3\x14\x0d\xbe\x4d\xa2\x5d\xef\x79\xcc\x4e\xba\xa7\x31\xbb\x69\x67\x06\xfe\xf8\xae\x78\x18\x97\xef\x8a\x47\x7b\x10\xc3\xb7\x2a\x89\x4a\xd1\xaa\xa7\x57\x2e\x92\x1b\xf0\xd2\xd9\xc9\x2f\x6f\x33\xcd\x10\x9c\x04\x9f\x82\x54\xe5\x85\x9c\x8e\xe9\x46\xcb\x74\x06\x4c\xac\xaf\x61\x24\x3f\xe1\xd9\x18\xbc\x4a\x59\x6f\x72\xcf\x31\x8e\x18\x03\x23\xd0\x39\xdd\xc5\x1c\x99\x84\x7c\x9e\x2e\x3a\x86\x86\xa3\x71\xe2\xd1\x29\x14\x12\x21\x95\xcc\x74\x52\xc3\x3a\xd9\xa0\x42\xa6\xcb\x19\x7a\xd8\xac\xfd\x4c\x0e\x04\x9d\x87\x1c\x18\x2a\xc6\xf8\x19\x54\x69\x9e\xdd\x25\xf3\x98\x67\xf6\x68\x4e\x08\x03\x1f\x6c\x88\x53\xf9\x6c\xef\x8b\x2c\x9a\x64\xa8\x02\x26\xd0\x6d\x72\xfd\xcd\x84\x53\xa1\x6c\xd7\x57\x89\x9a\x61\xe4\xe3\x26\xa7\x4d\x57\x28\x68\x9a\x65\x85\xe2\xac\xd1\xed\x35\xea\x34\x7e\xac\x49\xfc\xe0\x5f\xd6\xef\x75\x37\x21\x3c\xca\x20\x86\xb3\xb7\x8d\x9f\xaa\xef\x0b\x29\x02\x1a\xe6\xe5\x25\x8e\x07\x0f\x58\x90\xe7\xe1\x57\x74\x23\xd9\xa2\x13\x2a\xa0\x00\x59\x44\x0d\x06\x5e\x80\x00\x33\x9e\x9f\xa6\x3d\x00\x7e\x0b\x81\x56\x0f\x7f\x02\x0b\xcf\x3a\x26\x4d\x60\xee\xef\x52\x73\x5f\x44\x3d\x70\x24\x06\x86\x67\x8d\x51\x65\x98\xca\xdc\x97\xbe\x4d\x0d\x13\x53\xd9\x96\xef\x37\x17\x9e\x68\xa5\xf9\x61\x1e\xa7\xf0\x4f\xfe\x4f\x52\x86\xf2\x2d\xf7\xea\x5b\xee\x14\xe6\xd1\x41\xaa\x40\x76\x26\x33\xc5\x06\x39\x4f\x63\xd6\xd1\xc9\x9f\x6d\xc2\xd5\x1a\x70\x30\x3b\xea\xb1\x9c\x8b\x04\x9c\x31\xf9\x55\x2c\xa7\xd3\x64\x9c\xf0\xa4\x14\x99\x5f\xb6\x87\xa4\xca\x07\x3d\x24\x51\xae\x5a\xc8\xdb\x60\xd9\x11\x5f\x3d\x15\xa1\x93\x06\x38\x0b\x08\x22\xb9\xc4\xe5\xb7\xc9\x8c\x3d\x69\x68\x9a\x8d\xc2\x63\x51\xe4\x71\x5d\x96\x8b\xc7\x7b\x7b\xe3\x1c\x9a\xe9\x81\xe1\xdb\x1b\x1c\xf4\xf7\xfb\x7d\x03\xb1\xdf\xe3\x03\xfc\x69\xf2\x9e\x69\x8a\x19\x09\xb4\xe8\x23\x4c\x66\x8e\x3f\x42\xa7\x27\x5c\x37\xf3\x94\x31\xa0\x89\x7c\x94\x48\x8b\xee\x41\x7d\x23\xd4\x40\xce\xd3\xcf\xc8\x29\x79\x0c\x0a\xde\x6f\x12\x06\x34\x9f\xec\x22\xd4\x4a\xe0\x5c\xf7\x22\x29\x94\xa4\x52\xef\xdd\x3c\x76\xf4\xc2\x4c\x2f\xdb\x2b\x20\xf5\xb3\x2c\x9e\x74\xcd\x48\x67\xf9\x84\x32\x12\xca\xbe\x87\xf3\x90\x88\x24\x02\x52\x76\xf2\xa5\xba\x05\x20\xcd\xc5\x85\x29\x72\x88\x70\x85\x66\x8e\xe9\x00\x9c\xe3\x6e\xa9\xb4\x05\x43\x68\x63\xdb\x25\x95\x3c\xa2\x93\x03\xfa\x93\x73\xbf\x3a\x11\x33\x4d\x72\xc0\xca\xa0\x84\x92\x99\x94\x26\x83\x14\xcf\x72\xf0\xc2\x80\x1a\xc8\xe5\xec\x30\xb1\xfe\x08\x98\x4d\x66\x13\x4d\xdf\x58\x92\x29\xf3\x65\xaf\x7d\xc0\x40\xd0\x4e\xeb\xcf\xe3\x45\x5b\x3b\xb8\xf6\x71\x35\x13\x75\x03\x6a\x56\x33\x4f\x4d\x65\x04\x5a\x85\x04\xad\xf7\xd0\x78\xdc\x7d\x37\x6d\x63\xef\x69\x4a\x71\x77\xd0\xd1\x96\xda\x07\x5c\xa6\xc5\x75\x32\x2d\x19\x90\xad\x3a\x42\x58\x9a\xb2\xdd\x15\x56\x6d\x38\x99\x58\x67\x8b\x4a\x74\x12\x5d\x77\x92\x79\x7e\x98\x51\x29\x35\x73\xe1\xe1\xd4\x75\x81\xe1\x18\xa6\xdc\x62\xcd\x7a\x9a\x9d\x0c\x0e\xa0\x96\xc0\x9a\x90\xc8\x47\xd1\x6b\x45\x99\x82\x2f\x8c\x98\x00\xef\xf6\xae\xa8\xae\x89\x84\x85\x85\x6e\xcf\x72\x62\xb1\x87\x22\xbc\x6b\x9b\xba\x2e\xe7\xb3\x2f\x9b\x46\xaf\x07\x96\xae\xcc\x30\x0a\xe9\x01\x63\x7c\xeb\x48\x60\x07\x05\x3a\xac\x87\xd3\xfa\x21\x1f\xd5\x0a\x79\xd6\xdd\x61\x9d\x0f\xbf\x69\xba\x73\x5a\xbc\x05\x88\xf7\x22\xca\xf9\x0c\x2e\xf6\x68\x2c\xaf\x89\x51\x45\x95\x91\x47\x7a\x7a\x8e\xdb\x30\xd7\x74\x78\x28\xf5\x3f\xb9\xd0\xa6\x82\x6e\xe7\x73\xac\x7a\xfb\x7c\x27\x92\xcd\xb3\x1d\xde\xf9\x7c\xb0\xd3\x8d\x54\x39\xee\x6d\xf9\x2e\xcb\x70\x22\x06\xdc\x7b\xf7\x39\x97\x7c\xbd\x05\x97\xe8\xdd\xe7\x58\xef\xf5\xf9\x5e\x72\xd5\x15\x20\xae\xec\xa5\x1b\xf9\xe5\x5e\x5e\x00\x67\x09\xe3\x51\xe2\x2d\x3e\xd1\x2b\xb3\x17\x78\x02\xf7\x53\xf0\x62\xda\x9d\xf7\x3d\x9c\x14\x01\x91\x93\xb1\xe8\xbd\x0e\x22\xef\xc3\xd2\x8c\x17\xa0\x19\x84\x2c\x3b\x5d\x6b\xa5\xda\xf0\xe7\x68\x89\xf6\xa0\x69\xd2\x70\x11\x97\x68\x26\x20\x20\xc2\xba\x0d\xf3\xcb\x9b\x9e\x41\x82\xea\xe4\x24\xcd\xac\x50\xa1\x8c\xd1\x32\x94\x61\xd0\x0a\xeb\x2a\xeb\x35\xd7\xec\x74\x4d\xe5\x4e\x96\xe2\x8c\xf8\x4c\x95\xca\xab\xdd\x19\x29\x9b\x74\x47\x2f\x0d\x35\x9f\x48\xd4\x61\x12\x48\x3f\xa5\xc3\x08\xf4\x33\x75\xf4\x17\x1b\xcc\xb4\xae\x2d\x38\x1b\x89\x1e\x1f\x79\xa0\x40\x1a\xae\xa6\xc0\x3f\x5e\x9d\x0f\x65\xdb\x1c\x15\xbd\xd2\x20\x3d\x31\xd1\x87\xd1\xcd\xf4\x53\xc0\x61\x40\x05\xd7\x12\x29\xe7\xcd\x22\x06\xaa\x63\x32\x4c\x27\x38\x64\x75\xa2\x46\x03\xac\x29\xdf\x15\xe4\x71\xbe\xd7\x4c\x94\x1e\x85\x6a\x0d\x86\x0a\xdc\x57\x8e\x43\x08\x96\xb0\x02\xc0\xb7\xef\xcd\x25\x26\x80\xbe\xf4\xc0\x71\x2e\xbc\xcb\x14\x1d\x99\x77\x62\xce\xa6\xb4\xac\x8c\x42\xec\x5d\x88\x5c\xf3\x4e\xa7\xb3\x5a\xed\xd4\x8a\xac\x7d\x75\x13\xb8\xd3\x16\x0e\xc2\x9f\xfc\xa1\xe8\xeb\x25\xe8\x39\x83\x6b\xc3\xab\x1c\xe1\xda\x8c\x64\x57\xbf\xdd\x13\x21\x4d\x92\xa0\x49\x39\x1c\x1d\x1b\xe9\x21\xa1\xc5\x98\xb1\xe9\xd1\xca\xe2\x95\xad\xdc\x6d\xdb\xa1\x73\x76\xb0\xeb\x69\x02\xf7\xa7\x4a\xf0\xde\x08\x98\x83\x5a\xee\x62\x28\xa2\x7e\xe1\xa3\xd3\x18\x48\xd1\x61\x6f\xd8\x5d\xef\x98\xe0\x35\x24\x5f\xa8\x48\xac\x11\x9c\x82\x51\x01\x91\xaf\x31\x48\x9b\xd9\x7c\xb6\x8e\xbf\x41\xbb\x20\x6f\xeb\x89\x02\x4e\x29\x67\x29\xc5\xd0\x8e\xcf\xef\xae\xd1\xaf\xc0\xe0\xfa\x3f\xbf\x7d\xf1\x6f\x60\xf7\x5e\xf1\xe4\x66\x9b\x3b\x02\xb7\x7b\x59\x4a\x83\x9b\x4e\xea\x86\x0c\xd9\x08\x81\x90\x67\x97\x45\xf4\xd9\x39\xf8\xf4\x7d\xbf\x0c\x57\xbe\xd7\x52\x5a\x5c\x14\xcf\x77\x9e\xf8\x15\xa9\x1e\xc7\x12\x2f\x08\xdb\xd9\xfe\xf7\xd7\xdf\xbd\xe4\xaa\x28\x6a\x02\xbc\xa7\x05\x18\x65\xf5\x06\x28\xdf\xd1\x1c\x68\xbb\xdf\xae\x1f\x28\xea\xdf\x42\xa5\xed\xd6\x37\xcf\xde\xb4\xba\x48\x33\x02\x24\x94\xa0\xcb\x95\x6c\x1e\xdb\xc2\xcf\x07\xe0\x9f\x7f\x9e\xca\x62\x72\x5b\x01\xa9\x66\x8a\x72\x91\xc6\x03\x89\xf3\x2b\x9d\x34\x6b\x32\x08\xf3\xe2\x4a\x17\x56\x48\x2b\x20\x1d\x1e\xd4\xa9\x26\xc9\x29\x5e\xda\xab\xf1\x83\xe9\x75\x9c\x05\x09\x1a\xb3\x0d\x70\x64\xdd\xc8\x5e\x15\x71\x93\xe3\x0e\xb8\x52\xbe\xd5\xaf\xdc\x86\xab\xce\x87\x04\x3b\xfe\x6e\xf2\xa8\x23\xeb\x54\x23\xb4\xd8\xe4\x36\x56\x32\xc9\xd8\xd6\x5b\xba\x05\x21\xea\xe0\x7d\x6d\x01\xf2\xf7\x2a\xdf\xc5\x5c\x65\x9c\x52\xa8\xb7\x58\x21\x6d\x2b\x68\x6e\x21\x2f\x35\x5d\xa3\xf7\x6d\x43\x05\xbf\x9c\x36\x76\xc6\x7e\x45\x96\xad\x6b\x93\x73\xe0\xfa\xf3\xc3\x64\xcb\x4d\x6a\x1a\x0c\x6e\xb6\x86\x01\xc8\xa8\xd7\x33\x01\xdd\xd2\xcc\x24\x32\x91\x57\xaa\xac\x1b\x7f\x14\x2c\xe2\x01\x3b\x4d\x17\x6f\xc9\x0c\xb5\x45\x48\x26\xc1\x6b\x5b\xb3\x55\x64\x7a\xfc\x12\x8d\x98\xee\x02\x87\x34\xc6\x5e\x53\x7c\x0d\x26\xff\x95\x48\x16\x99\x2e\x10\x38\x10\x4f\xbf\x61\x8b\xd1\xc3\x49\x66\x9f\x15\x2d\xe1\xa9\xcb\x5d\x89\xb1\x98\x3a\x33\xfe\xad\x0e\x67\x2c\xaa\xa9\xef\xa7\x1a\xd6\x34\x08\x9e\x07\x6e\xac\x7e\x8e\x0d\xba\x67\x09\x2b\x35\x82\x5c\x7a\xac\x19\xdd\xb5\x17\x14\x21\xeb\x8e\x1a\x84\x3a\xd2\x8f\xd7\x0f\x39\x71\xf1\xa7\x8d\x4c\x81\xbf\x06\xe3\x99\x22\xd7\x8e\x27\x61\x66\xea\x43\x0e\x67\xb0\x0a\x22\xfa\xca\x0e\xe0\x63\x09\x17\x98\x71\xc2\xcc\x50\xdb\xaf\xbb\x0b\x68\xfc\x59\xdb\xf2\xa1\x11\x5c\xc0\x80\xfd\x51\x7e\xd0\xde\x07\x1f\xc9\x7c\x7f\x2f\x67\x2b\x1b\x4c\xbf\x7e\x93\x1b\xf5\x40\x55\xe4\x19\xaa\xfb\x08\x53\x97\x5a\x66\x76\x90\xde\x3b\x11\x46\x67\x11\xf8\x0d\x79\x32\x5a\xe2\xec\xac\xcd\xfd\x98\x59\x97\x09\xd8\xe1\x69\x1e\x5f\xcd\x95\x9b\xb4\xa0\xea\x04\x4a\xd4\xd8\x27\x8d\xeb\xad\x05\x0a\x1e\x47\x3b\x64\x0a\x85\xd9\x53\x86\xe0\x43\xfb\xc8\x10\x95\xa6\x3a\x2d\x8f\x73\xc5\xb6\x11\x72\x86\xed\x64\xa6\xac\x5b\x96\xf2\x21\x2b\x48\x10\x4c\xbc\x09\xab\xc1\x31\x52\xf8\xb0\x13\xb5\x71\x24\xf3\x62\x9c\xe5\xc0\x2f\xf0\x6a\x50\xb5\x38\x11\xc3\x92\xca\xa9\x58\x93\x87\xa0\x54\x2f\xd8\xc7\xa7\x1c\xf7\x18\x12\x69\x9b\x65\xde\xf6\xad\x44\x81\xd2\x65\x64\x73\x50\xea\x33\x2a\xe6\x10\x64\xe4\xa9\x77\x8e\xb3\x75\x33\x6c\x0b\x79\x82\x68\x01\x4f\x26\x77\x3c\x7b\x83\xc5\xcf\x40\xe5\xd9\x0c\xd3\xef\xc9\x55\x8a\x0b\xa8\xdc\xc2\x27\x39\x03\xf4\x05\xb4\x5d\xe2\x44\xf4\xe4\xbc\x85\x66\x78\x97\x7f\xb7\x1e\x78\xeb\x95\x70\x5c\xce\x5b\x3f\xed\xe0\xec\xf1\x2e\x84\x62\x8a\x76\x7f\xf8\x3c\x99\x40\x30\x0a\x74\x81\xef\xaf\x9f\xbd\xbc\xf8\xf0\xf5\x0f\x6f\xde\x7c\xf7\xf2\xc3\x8b\xe1\xd7\xcf\x5e\xec\xdc\x07\x6d\x7c\xf9\xc5\x1e\xb7\xfd\xa5\x4d\x26\xa0\x72\x34\x0d\xfa\xda\xca\x14\x67\x63\x5c\xb4\x2c\x99\xa8\xde\x3b\x86\xaf\x9e\x0f\xf5\x8b\x7a\x3a\xdf\xc7\xd3\x4c\x71\xa9\x59\x71\xb2\x23\x98\xe0\x16\x87\x70\xb1\xb0\x93\x78\x94\xcc\xc7\x2a\xba\xd2\x01\x75\x4d\x99\xbe\x28\x4a\xd7\x15\xfb\xfc\xd0\x0f\xdf\x7f\xff\xec\xd5\x87\x21\x20\xf1\xc3\xcb\x8b\x67\xaf\x22\x4a\x78\x6e\xa1\x4d\x17\x2c\x29\xcf\x81\x88\x43\x37\x9c\x32\x1f\x91\xcd\x59\xfd\x50\xda\x96\xde\xc8\x9d\xc0\x09\xaf\x7c\x17\xd0\xda\x9d\xe0\x0e\x17\xc5\x4e\xc8\xd7\xb4\x8c\x80\x1f\xdc\x09\xd0\xdb\xb1\xf8\xc9\xb2\x89\x65\xfa\x51\xaf\xbc\xa9\x5d\xfb\x62\xb3\x52\x10\xbe\xff\x80\xb3\xaf\x1c\xbe\xbb\xd8\x22\xcd\x26\x84\x3b\xa0\xdc\xe3\x92\x74\x60\xc5\x71\x99\xe5\xc3\xd9\xac\xdd\x7a\x8b\x8c\xf2\x5e\x67\xa0\xea\xea\xd2\xe9\xf1\xa6\xba\x74\xbc\x89\x2e\x32\xc2\xbc\x4d\xb4\x83\x42\x0d\xa0\x5a\xe0\x1b\xb4\xa4\xc4\xd0\xa0\xdd\xc2\x3b\x2d\x4f\x9d\x4b\x7b\x80\x8a\x23\x49\x97\x66\x35\x99\x9b\xe8\x8a\x4c\x93\xc2\xb1\xa5\x07\x4d\xf0\x55\x99\xf2\x72\x66\x41\x91\x27\xdd\x7a\x1a\xa7\xef\x5a\x25\xaf\x3e\xe0\xfa\x03\xc4\xae\x8c\xaf\x70\x89\x04\x96\x0f\xfc\xce\x5e\x4c\x26\xf8\x9b\x2c\x47\x6d\xfc\x23\xde\x6c\xe6\xe0\xd4\x9d\xe7\x90\x87\x69\x2a\xb9\xde\xc6\x54\xad\x5c\xe9\xb2\x08\xbc\xa7\x93\x55\x2e\x32\xd0\xb7\xab\x4b\x14\x3e\x17\x0b\xf3\x5c\x1b\xcc\x27\x55\x7a\x07\xcd\x0c\x3a\x54\x28\xf1\x01\x7b\x0a\x6f\xec\x78\xab\xf6\xd0\xd7\x76\x55\x95\xed\xd0\x64\x22\x56\xd8\x1b\x44\x02\xb3\xa0\x2e\xbf\xc4\x84\x14\xaa\xf3\x1c\xdb\x0a\x16\xe4\x05\xe0\x85\xc4\x92\x14\x33\x3c\x12\xd6\x28\x6c\x37\x9b\xb2\xb0\x5e\xff\x3f\xd9\x84\x0a\x90\x13\xae\x2d\x51\x58\x89\xa1\x50\x67\x7d\x6f\x3b\x6b\x52\xdf\x6c\xf3\x44\x21\x04\x4e\xfc\xe9\x8b\xe0\x41\x82\x5f\x4a\xe6\x65\x81\x85\x81\x45\xa9\xab\xe4\x53\x9d\xfb\x2f\x78\x15\x42\x01\xaf\x30\xc1\x14\xf8\xa8\xc9\x74\xa5\xb3\x5d\x28\x43\x38\xc9\x56\x70\x1e\x6c\x21\xa2\x3a\x6e\xc5\x5a\xe1\xd2\x2f\xbb\x30\x6a\x1d\xcb\x3f\xa8\xa4\xb3\xc4\x82\xb7\xb1\x99\x4a\x28\x6c\xe5\x42\xe6\x4a\x20\x71\xbd\xe1\x11\x36\xa6\xd1\xe9\x46\xc0\x1d\xd8\x0a\x96\x52\xc1\x5b\x5b\x58\x4c\xb1\x42\x9b\xad\x6b\x14\xf5\x3b\xe6\x19\x59\xe8\x28\x7a\xae\xd7\x76\x2d\x4b\x2e\x54\xd4\xe9\x31\x3d\xc7\x12\x9b\xa9\xa1\x78\x91\x70\xdf\x11\xa5\x62\x95\x8e\x77\x89\x08\xc8\xed\x7b\xec\x19\xd0\x4a\x1b\x76\x41\x6e\x55\x6b\x42\xc5\x1a\x7a\x2a\xb8\xb2\xe0\x09\x47\xe5\x35\x23\xdc\x7b\x78\x6f\x49\xc9\x6b\x1f\xf8\xbb\x76\x4b\xe0\x9d\x88\x3b\x39\x27\x9a\x2e\x76\x92\x05\x71\x69\x8c\x34\xd8\x53\x08\x96\x3c\xf0\xb5\xa0\xbe\x05\x7d\x3b\x37\x48\x32\x2d\xaa\xd7\x1d\x46\xad\xbd\x96\x2b\x66\x17\x93\x3b\xa6\xc2\xbc\x50\x88\x00\x98\xab\x99\xba\x01\xc1\x45\xe6\xbf\x56\x49\x1e\xe7\xe3\xeb\x95\x5d\x14\x9d\xd8\xaa\xdd\xab\x4c\x97\x02\x5f\xc7\x37\x9a\xe5\xa1\x5f\x13\x2d\x33\xe9\x15\x27\x35\xc1\xa0\xe2\x14\xef\x84\x17\x73\x31\xea\xc1\xfc\x12\xad\x03\x33\x9e\x10\x20\xc9\x0f\xe2\x1c\x90\x7b\x38\x29\xfd\x65\x1d\x7b\x2d\x67\xcc\xab\x82\xe1\x2d\xdd\xd0\x0c\xe5\xa8\x29\x66\x87\xcc\x30\x9d\x9b\x01\x7b\x12\xdc\xf9\x6e\x44\x1a\x21\xff\x60\xf4\x63\x96\xea\x11\x7f\x4a\x42\xf0\xa1\x92\xe4\x42\xa0\xa4\x18\xc2\xdb\x6f\x14\x3e\x45\x19\x31\xdb\x6c\x8c\xd7\x81\xc6\x6d\x01\x5d\xe6\xba\x2a\x9e\x21\xb5\xf5\xd6\xa3\x7c\x2e\xd9\x00\x57\x92\xec\xb5\xcc\x24\x36\x5f\x34\x0a\x5e\xff\xd2\xd9\xe2\x5d\x34\x1a\x9f\x9d\x23\x38\x1b\x0d\xdd\xc2\xa3\x73\x6e\xc1\xbc\xdb\xbe\x85\xbf\xf8\x37\x5e\x29\xf0\x9e\x27\x34\x73\xc6\xa5\x20\x6c\x21\x66\xd9\x28\x9e\x19\xc2\xd0\x5d\x9d\xcf\xa5\xdb\xe3\xeb\x64\x36\xb9\x8c\x51\x75\x25\xca\x3e\xcb\x7e\xcf\xb7\xf1\x82\xe6\x20\x41\x1b\xed\x92\xf9\x82\xa1\xfc\x69\xce\x17\xe9\x39\x42\xc3\xcc\x64\x15\xf7\xfc\xd4\x10\xb5\x0b\x39\xc2\xf0\x8b\x2f\x89\x57\xe1\xc4\x26\xbf\xe6\x81\x29\x6e\x6a\x01\xdf\xa0\x7a\xdd\x4d\x26\x05\xd8\x72\x77\x03\x6e\x65\xa9\x82\x4b\x15\x96\xe9\x4a\x98\xf2\x36\xdb\x04\x63\xd0\x21\x63\xd5\x95\x98\xc1\xf3\xd3\x3c\x1b\xd5\xbc\xdb\x7b\x46\x7f\xbb\x7f\x50\xdf\x17\x7f\x06\xf0\x87\x82\x66\x83\x69\x1e\x7d\xc6\xbb\x25\xe0\x11\x5b\x58\x2e\xe2\xf4\xad\xa9\xa4\x63\x3d\xa6\x63\x18\xa7\x11\xb4\xb4\xe9\x98\x8b\x43\x30\xca\xb2\x96\xb4\x0e\x84\x23\x60\x7e\x56\x47\xc0\x2e\x7b\xe7\x5a\xb1\x21\xe0\x9f\x96\x31\xed\x36\x01\xee\x31\x88\x64\x7c\x85\x4b\x60\x4a\x36\x96\xdc\xc8\xb7\x3f\xbc\x7e\x43\x4a\xaf\x75\x7e\x7e\xde\x8a\x40\x43\xb5\x3e\xc3\x2f\xac\xb6\xe2\xf1\x18\x8b\xf4\xd5\x1a\x29\x16\x5e\xf9\xc5\xb3\xcb\xe1\x0f\x2f\xde\x7c\xf8\x8f\xe1\x8b\x1f\x9e\xe9\xcc\xac\x5e\x74\xd5\xd2\xf7\xc8\xb3\x34\x13\xa6\x29\x91\x07\x54\xc7\x32\x9e\xd5\x20\xef\x1b\x4a\x0a\x2f\xe9\x95\xba\xc0\x56\xd5\x0c\x3d\x95\xc3\x23\x05\x69\x59\x4e\xaa\x6c\x45\x3d\x57\x39\xe0\x53\xf3\x68\x92\xe4\xd0\xe2\x6c\xb5\xae\x53\x2c\x53\x5e\xc5\x0b\xa5\x6b\xf4\x08\xfc\x07\xd2\x4e\x28\x28\x51\x3f\x6b\x05\x50\x82\xf2\x0c\xa2\xfd\x69\x61\x34\x33\x18\x18\xba\xe6\x51\xd1\x42\x66\x46\x90\xb5\x1c\xcb\x89\x67\x9e\x6e\xb2\xc9\x45\x24\x8d\x3f\x14\xe8\x24\x94\x7a\x91\x00\x56\x5c\xa0\x9e\xa6\x92\x2a\x68\x70\x94\x15\x6b\x87\x97\x29\xd1\x3c\xca\x36\x07\xb9\x35\x67\xc8\x94\x34\xaf\x70\x91\xcb\x33\x98\xf1\xec\xc2\x14\x2e\xc1\x02\x76\x15\x22\xa2\xdd\xa3\xc6\x45\xff\xba\xec\xcb\xac\xcc\xae\x45\x0e\xec\xb6\xa6\xa8\xb7\x98\xc0\x16\xdb\x9b\xdd\x01\xb8\x02\x55\x2f\xe5\x18\xab\xe4\x86\xe7\x0e\x91\xb5\xf5\x6b\xc2\x34\xa7\x43\xb4\xeb\xd6\x0d\x4c\xa8\xb4\xcb\x74\x40\x87\xcb\x55\x8b\x08\x9e\x87\x9d\x54\x2c\x3e\x69\x54\xe2\xc9\xc4\xe8\x7a\xaf\xea\x51\x5f\x13\xbc\x6a\x39\xa9\xb7\x58\x16\xd7\x0e\xc2\x57\x65\x69\x6e\xc7\x26\x75\xa4\xb2\x15\xcc\x0d\xa4\x17\x54\x1d\x22\x21\x6e\x92\x6c\x59\x50\x4e\x99\x1b\x93\x4b\x17\x3e\xa5\x77\xb9\x9a\x83\x2f\xbf\xb9\x83\x26\x36\x0e\x3a\x6a\x8a\x3e\x44\x5f\xd9\x36\x27\xd1\x97\x76\x0d\x5b\xf0\x0c\xd6\x5e\x42\xfc\x9e\x60\x5c\xe7\xef\x28\x42\xab\x5d\x6c\xe2\xcb\x06\x1f\xbe\x02\xdb\xba\x6b\x41\x62\xd8\x2d\xb2\xab\x51\x10\xe7\x75\x2a\x42\xce\x66\xed\xfd\xb1\xad\xd7\x89\x72\x39\x5f\xe7\xf3\xbd\x1e\xaa\x7e\x93\x46\xad\x28\xa6\x4e\x50\x3f\x5e\x01\xa8\x56\xa1\xd7\x28\x37\xf0\x56\xcc\xea\x1f\x59\x7d\xf1\x07\x65\x97\x26\xd9\x65\x50\x4f\xbf\xfb\xfe\xbf\x8c\xa4\xf8\xe6\xac\xc8\xd8\x48\x82\x31\xca\x29\x71\xe7\x1a\x9a\x67\x13\x88\x78\x74\xee\x1f\x27\x04\x32\x13\x55\x91\xf1\xc3\xea\x7b\xd2\x09\x66\x82\xc0\x6b\xb8\xe7\xf7\x50\xe4\x27\xe8\xab\x29\x0f\x5f\xb5\x6b\x88\xe3\xa5\x0c\x9a\x49\xe4\x97\xbd\x56\x06\xce\x63\x1f\xf0\x4b\x17\x15\x8d\xa6\x5d\x29\x6d\xe9\x73\x11\x92\xa1\xdb\x1b\xe8\xbb\xa7\xb4\xe0\x8c\x4a\x55\xab\x5e\x7e\x71\x8b\x7e\x1a\x10\x04\x17\x7d\xd5\xbd\x01\x63\x90\x94\x63\xba\x22\x33\x21\x13\xd9\xcd\x49\x86\x46\x13\xf9\x91\x22\x4c\x5c\x9a\x1f\x8f\xb0\xa9\x04\xba\x02\xc1\x06\x0e\xa5\x40\x65\xb3\x3f\x00\xb1\xad\xf6\xa3\xeb\x39\xfc\x33\xdf\x0b\x37\x62\xe8\x57\x4c\xb7\x5e\x62\x95\x99\x6e\x67\xd2\xda\xca\x7d\xd7\x84\x0b\xd4\x46\xbb\x36\x62\xe8\x04\xa3\x83\x41\xce\xa6\x11\x30\x0b\x0f\x9d\x82\x73\x5d\x9d\x34\x0d\x2e\x3b\x27\x9c\x90\xb6\x74\x49\xb8\xde\x9e\x3d\x38\xbb\x40\x02\x8c\xce\x7f\xd9\x01\xd1\x5e\x8c\x5e\x67\x88\x40\x31\xd6\x07\x27\x65\x82\x75\x9a\x7a\x01\x66\x82\xce\x49\x4c\xc5\x7c\x94\x3f\xf7\xab\xf9\x74\xa5\x0c\x5b\x17\x9b\x38\x1f\xbb\xec\xc5\x76\xe3\xb9\x7e\x34\xb7\x1a\xcc\xa1\x2e\x17\xdc\x38\xa0\x58\xdc\x50\x19\x4f\x61\xe4\xb6\x19\xcc\x57\x4a\x17\x3d\x8d\x82\xe1\xd4\x6b\xbc\x0a\x29\x21\x76\x70\xff\x4b\xbb\x90\x10\xe6\x4c\xf4\xce\x4f\x19\x0e\x63\x3d\xd5\x69\xd5\x7d\x4e\x5f\x4c\xb1\x13\xaf\x2c\xc7\xa6\xb2\xa9\xe4\x03\x3d\x5b\xc9\x51\x7e\x8d\x68\x92\x93\x31\xcf\xe0\x1d\x7a\x09\x9a\x48\x41\x48\xcc\x35\x33\x76\x51\x63\xae\x1c\xb2\x18\x89\x57\x79\x65\x9e\xf1\x8a\xd0\x94\x3a\xe1\x55\x1d\xda\x1c\x36\x38\x36\xcb\xbc\x00\xc2\x93\xa5\x8e\x27\x85\xf7\x3a\x6c\xca\x45\x7d\x3e\xce\x85\xe6\xb9\x5b\x35\x9b\xd5\xb7\x8d\xec\x8a\x19\x1c\x60\x84\x14\x44\xa5\xab\x75\x96\xc5\x14\xdf\x57\x25\x52\xd7\x2c\x17\x7e\x38\x5f\x16\xe5\x43\x5e\x93\x69\x56\xe6\x6d\x72\x42\xda\x1d\xbd\x07\x85\x71\x29\xed\xfc\xef\xb4\x66\xf3\x27\xb7\x4c\x32\xb6\x45\x5f\x38\x3d\x65\xea\xc7\x26\xdb\xc9\x06\x3e\xfe\xda\xa6\x29\xbc\x55\x27\xfe\x42\x34\x4a\x1a\xa8\x14\xab\xd5\x9e\x22\x55\xa1\x3d\x4a\xe6\x07\x95\x56\x74\xcf\x56\x28\x49\x1b\xbf\xbb\x5b\x79\x1c\x9e\xc7\x7d\x5c\xbc\x97\x69\xab\x27\xaf\xb5\xfd\x55\x24\x34\xd1\x77\xae\xd7\x53\xf5\xf0\x57\xbb\x92\x53\xe8\x6c\x2e\xc1\x95\x09\x8a\x47\x91\x9a\x79\x85\x2a\x41\x21\x2e\xe5\x50\x18\x35\x6f\x9d\xd4\xf7\x22\x6d\x89\x94\xe4\x39\x61\xd1\xb2\xd0\x12\x46\x19\x80\xa1\x7a\x5e\xaa\x79\x81\xc9\xe9\x42\x6c\x2b\x96\xe0\x45\x3f\x95\xcf\x6d\xbc\xd0\xbb\x16\xc8\x76\xcd\xc4\x89\x49\xb3\x57\xa6\x05\xfc\xc6\xec\xda\x06\x0a\xd7\xe8\xa6\x37\x31\xe0\x2d\xc8\x84\x1b\x7e\xd6\xe7\x85\xd9\x54\xc0\x03\x06\x41\x78\x0d\x02\x82\x2b\x38\xbd\xa9\x7d\x99\x6a\xf8\xfd\xef\x6b\xa7\x39\xf0\x4f\xe8\xc5\xdc\x70\x68\xfa\xd9\x79\xe3\x13\x51\x9d\xdf\x23\x07\x9d\xaa\x4d\xdf\x7b\x2e\x4c\xa7\xe3\xa6\x22\x6a\x52\x4f\x35\x4f\xd0\x06\x83\xce\x81\x34\xdc\x6b\xba\xeb\x97\xbf\x06\x1c\xfd\xe8\x91\xb7\xc0\x92\x46\x1d\x9e\x79\x6a\x28\xa2\x83\xf1\x40\x4a\x3a\x72\xed\xa5\xf9\x57\xcc\x8d\x7c\x8a\xd8\x78\x7b\xa7\x79\x00\xda\x25\xf4\x79\x5c\x2e\x6e\xa2\xac\x0c\x78\xba\x75\x09\x8d\xa4\xb0\xa1\x10\xe6\x98\xbd\x9c\x82\x89\x27\x31\x58\xc4\x9e\xa1\x92\xd7\x79\x0b\xed\xb6\xd5\x34\x19\x26\xa3\x89\x83\xde\x34\x46\xa4\x66\x23\x01\x33\x19\xcc\x7c\x49\x19\x95\x07\x62\x99\xb9\x96\x66\x13\xd9\x54\xe3\x54\xbd\x3c\xfe\x36\x4f\xca\x92\x6a\x04\xb4\xe5\x33\xb2\x59\x45\x4d\x07\x24\x3f\x8f\x32\x10\xfa\x38\xfd\x99\xb5\xce\xcf\x54\x55\xf1\x33\xae\x84\xbd\xd7\x62\xf5\xa6\x12\x18\xf0\x8e\x29\x86\x13\xfc\xde\x0c\xd3\x15\xcf\x52\xc8\xdd\x1d\x73\xa5\x57\x23\xf0\xe2\x0c\x2a\x3c\xa0\xa5\xf1\xd0\x5e\x62\x95\x7c\x18\x24\xfc\xf2\x44\x02\x96\x03\xda\xb0\xd7\x96\x0f\xad\xb1\x35\x35\xb9\x8c\xc6\x34\x83\x69\x6f\x73\xb6\xa1\x21\xcd\x60\x1a\xf8\x15\xd9\x06\xe9\xd2\x23\x77\x3b\x88\x4a\xe1\x26\xb3\xb4\x46\x96\x0b\x25\x99\x95\x51\xe0\xb5\xe1\xc9\x4d\x72\xad\x41\x8f\x98\xe8\x9c\xe1\xbc\x02\x5b\x26\x97\xde\x7c\xa1\x2d\x5e\x56\xdd\xfc\x70\xd3\x5b\x22\xa7\x21\xd1\x41\x5d\x17\xae\x57\x5f\x64\xac\x9a\xd7\x43\xf1\x5a\xcf\x55\xf5\x80\xea\x94\x85\xdd\x5f\x70\x11\x16\x65\xda\x4d\x47\x2c\x3b\xa1\x22\x6a\x58\x46\x64\xa7\x5e\x86\xa9\x89\x93\xa7\xd1\xc1\xae\xa9\x6c\xe1\xf2\x77\xb3\x6d\x09\xb8\xe6\xca\x56\xbd\xd8\x44\x15\x3d\x15\x14\x09\x21\x9b\xbd\xa5\x19\x60\x33\xac\xba\x2f\xef\x05\xfb\xb0\x86\x32\xed\x6c\x97\x0b\x69\x66\xab\x70\x6d\x09\x75\x2b\x58\x5f\x22\x6a\x20\x0c\x44\x5d\x19\x84\x09\xd7\xbd\xf6\x6d\x9b\x6f\x93\xf7\x6f\xfb\xef\xdd\x66\x64\xf8\x7b\x10\xfc\xde\x7f\x5f\xdd\xea\xd2\x68\xf9\x94\xd7\x63\xe1\x76\x4a\x7a\x35\x41\xe8\x2a\xbb\xb0\x3d\xbc\x41\x29\xed\x49\x32\xa5\xdf\x25\xc7\xfe\x3f\x82\xbb\x4b\x5a\x94\xea\x2f\xc5\x30\x8a\xea\x29\x8e\xf2\xf4\x8e\x1d\x8a\xb6\xa0\xa1\xa6\x79\x1f\x67\x5b\x6b\x4a\x2b\x86\xaa\x2e\xbb\x31\x01\x73\xd0\xc2\xde\xae\x3c\x5a\x85\xc9\xc9\x67\x91\x9e\xaf\x74\x8b\xd5\x0d\x66\x0b\x68\x33\x20\x52\xad\xb1\x49\xa1\x9a\x9c\x02\xa6\x26\x30\x2e\xc9\xf5\xce\x66\xb8\x2b\x0e\xd8\x0c\xb3\x7f\x5d\x1a\xd9\x3a\xbe\x6a\x88\xe1\x6d\x32\x1d\xda\x39\xa4\x36\x95\x85\x0c\x59\x1b\x9a\xd8\xc0\x1b\x05\x68\xc7\xf6\x16\xe9\xea\xf6\x52\x59\xa6\xc9\x9f\x96\xd6\xd5\x6a\xa2\x92\x72\xaf\xd1\x06\x73\x4c\xb3\xd3\x55\x2e\xe7\x4a\xb2\x5a\x53\x69\xa7\x6d\xcb\x4c\xaf\x3b\x09\x38\xc6\xb4\xa6\x07\x71\xa2\x6d\x01\x2d\x70\x2f\x32\x7e\x1e\x10\x05\x4a\xef\x81\x52\xd9\xe3\x9c\x86\xdb\x7c\x89\x07\x8a\x37\x3d\x5a\x49\x7d\x1f\x92\x82\x2a\xe0\x16\xbc\x39\x99\x5e\xf2\x58\x4d\xdf\x8a\x69\xc1\x15\xd0\xd6\xdf\x1d\xc6\x78\x0d\xe1\x5e\x67\x76\xd2\x59\xb3\x9e\x29\x1f\xc7\x32\x00\x7e\xf9\x44\xd3\x73\xaa\x5b\xb6\xed\x86\x16\xcf\x92\x36\x26\x99\x58\x57\x50\xa1\xcd\x9d\x19\xca\x89\xe5\x01\xd4\xe6\xf4\xde\xea\x38\x7d\x92\x95\x13\xe1\x99\x6f\xe3\x0c\x57\x74\x3d\x72\x69\x03\xb7\xb7\x57\xe7\x02\xd2\x04\x7c\x36\x9b\xd4\x31\x80\x18\xf9\x07\x4d\xfa\xca\xbd\xf2\xed\xfb\xa6\x25\x1f\x26\x85\x9d\x5a\x3f\xb9\x32\xf9\xdd\xb5\xb8\x73\x6e\xb3\x6e\x2a\xf8\xad\x01\x79\x4f\x55\xbf\xae\x83\x4f\x6a\x26\x41\x3d\xe0\x60\x3a\xd4\xce\xee\x20\xe3\x69\xe5\xb2\x79\x16\xe7\xd2\xf2\x22\xcf\x60\x03\x17\xba\xb9\x21\xcb\x85\xd7\x54\x7a\x48\x43\x8e\x5b\xf3\xad\x02\x8b\xc3\x0e\x0f\x2e\x6f\x46\xd7\xd2\xe4\x1c\x44\x3e\x2d\x4b\x7d\x97\x8f\xdd\xd1\x7b\xda\x33\x7b\x18\xe9\xb9\x6e\x39\x2b\xcb\xbb\x95\x8e\xc5\x5e\x48\xfe\x0b\xcc\x4b\x83\xf7\xc4\xe9\xda\x69\xc6\xda\xf9\x1b\xcf\xf8\x31\x11\x70\x73\xd1\x85\x4b\xb5\x69\xca\x40\xec\xa2\x73\xf2\xfa\x02\x56\x12\x98\x27\x5b\x0d\x19\xb8\xe7\x29\xa9\x6a\x36\xdd\x8f\xf5\x93\x45\xcb\x05\xea\x7c\x45\xcc\x89\x84\x95\x04\x3c\x6f\xa4\xc1\x5c\xd5\x34\x62\x28\xf2\xe4\x7e\xc1\xa2\x89\x6c\x6d\x37\x4c\xa9\xb5\x17\xf2\x7a\x99\x07\x13\x8a\x55\x7a\x60\xea\xc7\xdd\xf0\x88\xed\x8a\x9e\x88\xf5\x36\x35\x11\xaa\x74\xcb\x70\xcf\x71\xba\x5a\x63\xde\x93\x62\x11\x9b\x69\x1e\x66\xd4\xc8\xcd\xc0\x9a\xac\x58\x88\x46\x21\x6a\xad\x74\x49\x93\xde\x49\xc2\x4f\xdf\xd2\xc6\x39\x32\x61\x64\x72\x4d\x05\xad\xf2\xd6\x2b\xbc\x29\x39\x4f\xe5\xb4\x0b\x9c\x8a\xe2\x94\x23\x2d\xaf\x43\x20\x8c\x87\xd9\x45\xc4\xf9\x92\x3a\x24\xc8\xee\xc9\xfd\xee\xf5\x6c\x81\x35\xf1\x93\x5a\xff\x80\x26\x0f\xc8\x17\xa1\xca\x6c\x6c\x09\xd7\xbc\xdf\x98\x99\xf8\x2e\x0b\x1d\xd7\x3d\x73\x48\x53\x00\x1e\xe3\x6b\xbb\x29\xad\x73\x69\x74\x8e\x65\x2b\x01\xe0\xaa\x36\xac\xf2\xab\x64\x97\x2b\x5c\x54\x65\x16\xe9\xec\x71\x4b\x5a\xf7\xb5\x6d\x89\xa4\x37\xc0\x2f\x33\x63\x2e\x1b\x86\x57\xd7\xd5\xff\xea\x88\x5b\x07\xa6\x4c\xf0\x4f\xa1\x84\xc6\x3f\x2c\x41\x70\x49\xc4\x6d\xa3\xa8\xcf\x74\x18\x55\xaf\x0e\x36\x0b\x13\x6d\xd4\xe1\x27\x76\x74\x8c\x83\x45\xa8\xcd\x85\xc9\xf5\xba\x43\x7a\xe8\xcd\x2a\x06\xdc\x6e\x1d\x73\x79\x49\xa8\xc6\x77\x69\x84\xdc\xec\x6d\x4d\x20\x10\xc2\xe0\x3b\x64\xeb\x5d\x1d\xbb\xea\x22\xb1\x80\x61\x9e\x82\xbc\x96\x7a\xc3\x38\x6d\xb0\xab\x8e\x89\xf1\x40\xcc\x0e\xcc\x08\x85\x06\x52\x54\xb4\xb8\xfa\xc0\x6b\xdc\xa1\xc9\x3f\x5d\x00\x4f\x61\x89\xd1\x9b\xd1\x09\x18\xde\x85\x41\x57\x0b\xe0\x94\xce\xae\x71\xb9\xc8\xb7\x09\x5d\x1f\x94\x77\x7c\x27\x4f\x1f\xe5\x1a\x01\xe3\x73\xf1\xce\x9b\x58\x5b\x9d\x71\xd1\xa6\x28\xf3\x43\x57\x6a\x49\x7b\xe3\x6c\x74\xb8\x69\x7f\x0c\xdb\x33\xd2\x6c\x4c\x1a\xe3\x7a\xd9\x00\x04\x95\x48\x63\xc5\x24\xf5\xfe\x3b\x8f\x16\x14\x70\x8c\x67\xcb\x89\x32\x45\xb8\xc6\x31\x6a\x6c\x05\xba\x6e\xdb\x48\x88\x52\x58\xf2\x9b\xe3\x66\x35\x34\x0e\x86\x5a\xba\x8d\xcd\xb2\xc7\x7d\xe1\x50\x4d\x6e\x59\x61\xdd\x2f\x83\x7b\xb3\x13\xb6\xe1\x0f\xa3\x2d\xca\x15\x26\x85\x2c\xea\xb6\xfe\xd9\x13\x7b\xff\x89\x4c\x36\x24\x36\x1f\x92\x4c\xcc\x66\x55\x93\x27\xd6\xa0\xa2\x13\x69\xaa\x1d\x10\xf4\x33\xb7\xc1\x45\x8d\xf0\x5f\x2c\xd9\xb2\x68\x4a\xb3\xe4\xdb\x91\x36\x15\xf6\xf0\xa6\x4e\x75\xdd\x18\xf8\xb9\xdf\x27\xb8\x0d\x1c\xee\xdf\x3e\xc9\xe6\x5d\xc3\x8e\x87\xbb\x93\xe4\x2a\x29\xa3\x6b\x75\x27\x37\x63\x95\xde\xb9\x2e\xfc\xe3\x99\x79\xbd\xb1\xef\x67\xd0\x9f\x9f\x7f\x8e\xea\x3b\xe0\x16\x19\x4c\xcc\x66\x41\xbc\xa7\x0f\x7d\x65\x04\xc0\x58\x3c\x8c\xfa\x77\x53\xf8\x03\x38\x0f\x70\xbd\x85\x2e\x3e\x1b\x1c\xbb\x1a\xf9\x89\xdd\x68\x12\xb7\xae\x86\x57\x74\xa3\x43\xaf\x82\xde\x0c\xb0\xcb\x04\x5b\x42\x13\x97\x22\x55\x98\x28\x35\xeb\xc4\x89\x8c\xae\xbc\x75\xbd\x7b\xad\x3d\xf2\x84\x57\x9c\xcb\x47\x6d\xad\xa9\x9b\x34\xa9\x80\x60\x86\xb3\xc4\x25\x22\x9d\xa0\xa8\x33\x74\xcc\xdf\x26\x13\xeb\xc9\xeb\x87\x99\xa3\x26\xba\x02\x48\x23\xc0\x69\x76\xc1\x82\x88\x5a\xe1\x6d\xc2\xe9\xb7\xe1\xb9\xfa\x14\x94\xc6\xd5\x34\x81\x55\x07\x46\xb1\x30\x68\x51\x03\x6b\x3d\x10\xd4\x46\xb4\xed\x62\x41\xe5\xe4\xb2\x35\x8a\xa2\x27\x3c\x33\xb3\x95\xaa\x92\x56\x59\xa8\xad\x60\x45\x29\xdf\x71\x3b\xd0\x71\x90\x5d\xab\x76\x80\x1b\x9c\x0a\x7c\x7e\xb1\xed\xec\x20\xb6\xb7\x46\xad\x48\x8d\x80\xfd\x95\x3a\x81\x1e\xf3\x61\x71\xbc\x08\x2c\x64\x83\xad\x34\x0a\x4e\x5d\xf9\x62\xe6\xea\xa1\x3c\x79\x43\x28\xbf\x0e\xca\x5a\xec\x3a\x46\xd1\x82\x30\x51\xb4\x5b\xc7\x7a\x8e\xac\xdf\xee\xbd\xc9\xb0\x3a\x9b\x22\x7c\x33\xd6\xe9\x0f\xdc\x0a\x43\x31\xbe\x59\x6e\x8d\x87\xd9\xa9\x88\xfd\x9c\xd2\x4e\x7f\xe4\x6e\x77\x4b\x7b\x16\x05\x36\x16\x4c\x3e\xe4\x5a\x6d\x82\xf5\x54\x77\x78\x2a\x04\xcd\x6a\x63\xe1\x7b\x00\x49\x79\x24\x2e\x84\xff\x05\x46\x94\x36\x93\x4c\xd2\x6d\x59\xce\xc2\x3c\xf4\x97\x3a\x7b\x1e\x86\x8f\x5f\x65\xd9\xb3\x97\x23\xd1\x44\xe2\x45\xcf\x5b\xf1\xb4\xe1\xcc\x26\x86\xae\x59\xd1\xcc\x21\x9f\xa5\x42\xcd\x4c\x67\x67\x83\x9b\xea\x88\xe6\x1b\x2b\xe1\xaa\x9a\xc6\x3c\xfd\x1b\xb2\xa0\x75\x8e\xdb\xc9\x84\xf7\x24\xd3\x40\x1d\x19\x9e\x6e\x5e\x7c\xbc\x29\x46\xdd\x09\x2d\xea\x8e\x34\xb5\xc6\xb0\x5a\x05\x1b\x2c\x5f\xbe\x0f\x75\x2f\x62\x58\x91\x9e\xa7\xf1\x6c\xbc\x9c\x19\x17\xcc\x44\x5f\x63\x3c\x1c\xa8\xbc\x55\x98\xf8\xbb\xcd\x08\x87\x22\x4c\x36\xf1\x8e\x00\x24\x4c\x62\x7f\x1c\x09\xc4\xee\x70\x25\x5f\xc7\xe2\xea\x6d\x19\x4a\x7b\x29\x91\xc3\x8a\x2b\x58\x59\xe1\xe1\x57\x54\xe6\x3b\xb8\x4f\x69\x96\xee\xa0\x80\x2c\x54\x5e\x26\xca\x4e\x43\xe8\x2b\x2b\xbd\x13\x59\x1c\xc9\x75\x06\xbb\xec\xd3\xfd\x37\x16\x03\xfd\xb7\xbf\xe2\xb6\xcb\x4a\xc0\xdb\x7a\x35\xc6\xda\xe8\x16\x3f\x79\xd7\xea\x46\xfa\xeb\xaa\xf5\x5e\x03\x8c\x04\x00\x5f\xd5\x37\x90\x68\x36\x6b\x56\xb4\xe3\x6e\x34\xea\x44\xe7\x5f\x1a\xe1\x88\x7e\x62\x57\xfc\x31\x7c\xb1\xed\x3f\xa6\x1a\x25\xdc\x93\x58\x77\x16\xee\xc2\x0f\xee\xaa\x80\x5c\x59\x48\xf4\x15\xdc\x3a\x5d\x6c\x50\x67\x73\x27\x82\x30\x51\x5c\xe0\x82\x2e\x8e\x1b\xff\x3b\xfe\x6f\x94\x4c\xb9\x6e\x40\xc6\x13\xde\xfc\xcf\x5b\x56\x17\xef\xef\x81\x0e\x6f\x68\xd1\x55\x51\x52\x6a\x55\x3f\x54\x19\xfc\xa6\xc7\x47\x38\x7f\xc4\x5b\xc5\x35\x3c\x67\xf6\x8c\x34\x59\xb3\x61\x2a\xcb\x31\xfd\xae\xed\x31\x41\xe4\xd0\xaf\x51\x2f\xfe\x40\x48\xd5\xc2\x63\x62\x83\xdf\x9b\xc8\x1c\x6d\x67\x46\xe6\xbe\xfb\xc0\x99\x6e\x71\xc1\x0e\x08\xfd\xbe\x6f\x8c\x21\xe3\xba\xa0\x11\xb5\xc0\xc8\x5a\xca\x18\x62\xc6\x8a\x4b\x9a\xdf\xf4\xf8\x15\x6f\xf1\xf6\x7b\x51\xbb\x56\x59\x5a\x09\xa0\x84\x6d\x1d\xa4\x11\xf7\x3a\xd4\x46\x4d\xa8\xb5\x47\xd0\x10\xea\x2f\xd3\x72\x07\x7d\x68\x79\x95\x51\xeb\x34\xac\xdf\x05\x00\x4d\xaf\xb7\xa3\x00\xa5\xba\x13\xa7\x4c\x91\xa4\xae\xe7\x4a\xfe\xac\xc4\x89\x78\x0d\xb6\xbb\x10\xd3\x02\x76\xa5\x8a\x66\x66\x6c\x8c\x1e\x77\x6e\x1d\x7b\x35\x0f\xc2\x83\x2d\xb8\x8d\x32\xe1\x93\x55\x56\xd1\x3c\x29\xe8\xb4\x23\x57\x87\x06\x6a\x86\x6a\xc9\x8c\x9c\x54\x6a\xca\xb0\x41\xca\x6b\x99\x22\x05\xaa\x1e\xe0\x4a\x44\x51\xd0\x46\x72\x47\x5b\x78\xd1\x29\x16\xee\xe8\x36\x7f\x6e\x96\xb7\xd1\x1f\x29\xed\xed\xfc\x12\x93\x5f\x38\x32\xd6\x97\x1f\xfc\xa2\x3a\x36\x6c\x55\x18\x75\xbb\x0d\xda\x56\x36\xdd\xab\xb2\x59\x33\xef\x11\x96\xb5\x3d\x58\x53\xd7\x56\x2d\x6b\xd3\x69\xcf\xbf\x7c\x55\x9b\xde\x9c\xbf\xa2\xb5\xf4\xc4\x81\x8a\x1e\xf2\xd4\xf6\x43\x5e\x0c\x19\xcb\xaa\xe8\x9e\x9f\xea\x7a\xde\xe8\x44\xbb\xf7\xe8\x6d\x4c\x2c\x0b\x72\x56\x85\xd7\x49\x9a\x2d\x1c\x81\xa0\x9a\xd1\xcc\xbb\x8a\x92\x19\x9a\x1a\xe7\xc6\x08\x61\xfd\x38\xee\x55\xe5\x16\x7d\x4e\x92\x62\x1c\xe7\xec\x52\x12\x7a\xa0\x97\x19\xb5\x4a\xd9\x5e\xad\x9f\x13\x9c\x82\xb7\x8d\xd2\x6d\x3b\x0a\x74\xf5\xeb\x9a\x13\x6f\x0e\xb6\x69\x0b\x02\x8a\x9e\x1d\x18\xed\x42\x60\x6f\x6a\x9a\x3c\xa7\x2d\x94\xce\xf5\xdb\xc2\xc0\x44\xaf\xb7\x97\xa0\x6e\xd5\x46\x64\x1e\xd2\x71\x8a\x04\xe3\x90\xc5\x4d\x36\xac\x8f\x48\xfc\x92\xc1\x5f\x11\xc9\xdb\xf7\xc9\x36\xbc\x63\x37\x83\xed\x70\x68\x71\x33\xb9\xe7\x7a\x11\xf6\xc6\x64\x8c\x68\x49\xab\x73\xfe\x6d\xeb\xdd\xb6\xc8\x26\xd8\x50\x6e\xfb\xac\x01\x3f\xd4\x58\xac\x17\xe4\x27\xec\xfc\x46\xdb\x97\xfb\x70\x83\xbd\x3a\xbe\xd2\x83\x5a\xc3\x53\x9b\xa3\x4b\x7e\x16\xcd\x99\x57\xaa\xf3\x59\xa8\x60\x6a\x75\x4b\x73\xd9\x9f\x17\xaf\x16\xb4\x8d\x96\x3f\xbf\x9b\xd0\x72\x7e\x0e\x13\x68\x9e\xa6\x6a\xc6\x26\x72\x5e\xa9\x52\xe4\x97\x54\x26\x0f\x38\x72\xe3\x2d\xf0\xf5\x56\xe0\xf5\xb3\xa6\x95\xd9\x08\x1f\x35\xca\x12\x6c\x9b\xaa\x28\xfc\x15\x49\xff\x3b\xb3\x0e\x35\xeb\x38\xb0\xda\xb7\xed\x57\x1b\x3b\x78\x57\x2f\xe6\x57\xa1\x7e\xb6\x76\xcd\x54\xdd\x13\x4d\xcb\x30\x3f\x61\x76\x49\xf3\x87\xb7\xd4\xbf\x88\xcc\xf2\xc6\x12\x97\xeb\x57\x39\x65\xcb\xa1\xa9\x9d\x21\x63\x8d\xc5\x93\x7a\x6e\xdf\x4e\x23\x57\x6b\x03\x6e\xa1\xaa\xb7\x0f\x9d\xa5\xd0\x06\xf1\xb3\xdb\xdd\x45\x06\xac\x5e\x9e\xaa\x5e\xfa\x37\x4e\xee\xd9\x2a\xf2\x4d\x95\xc7\xeb\xc7\x7c\xeb\xf2\xe5\x26\x36\x88\xec\x74\x1e\xa5\x4f\xc5\x1e\x2c\x5e\x2e\x78\xfb\xf2\x7a\xbf\xae\xde\xc4\x0a\xf5\xd5\xf5\xc4\x6b\x95\x02\xfb\x06\x69\xe1\xda\x78\x06\x31\x38\x03\xbd\x31\xf0\x6e\x57\x99\xb9\xb1\xa4\xd9\x9c\x03\x83\x41\x2c\xea\xa8\xdb\xcc\xec\xf9\xe5\x1c\x15\xb4\x69\x09\x97\xb5\x40\xa3\xbb\x0a\x17\x9e\x8b\xf4\xdc\x28\x03\xcf\x5f\x6c\x14\x66\xb7\xdd\x02\xf7\x06\xb7\xd4\x42\xfe\xe6\xbc\x2f\xf8\xab\x08\x40\x0d\xf8\xc9\x07\x6c\xca\x9c\xdc\x40\xeb\xbd\xa2\x36\x26\xe1\x6c\xbe\xa3\xd3\xe5\xbd\x4a\x6e\x93\xc2\x9e\x7a\x85\x38\x7b\x6a\xd8\x6c\x29\x86\x0e\xfd\x8c\x0e\x46\xe4\xad\x8a\x6f\xdd\x5a\xc5\xf1\xb5\xc2\xb3\xb4\x82\xf2\x39\x5a\x13\xe2\xa6\x71\xa3\x57\xe2\x68\x38\x3a\xf6\x8e\x36\xc0\xd2\x2b\x82\x4c\x2f\xd8\xfb\xbe\x33\x3d\x87\x97\x50\x81\x9f\x21\x16\x3e\x33\xa7\x7a\xb9\xcc\x9c\x66\x32\x12\x25\x81\xa1\x92\x7f\x88\xa1\xfd\xd0\xa5\xf3\xf4\x5b\xc2\x7c\xe0\xa8\x01\x66\x8b\xba\x27\x78\x73\x7d\xcc\x0d\x4e\xaa\x4e\xb2\x22\x60\x50\xba\xd8\x8d\xcc\x99\x59\x38\x8a\x66\x63\xf8\xa8\xe0\xa3\x0e\x71\x75\x54\x42\x31\x16\x17\xdd\x70\xe0\xaa\x53\x6b\x71\x87\xa4\xd5\xfc\x1c\x61\xfc\xaa\x05\xe0\x33\x5c\xcd\x6a\x53\x6d\xb6\x70\x5c\xd7\x91\xb3\xc1\x0b\xd7\xb7\xc6\x9d\x4e\x70\x3c\x44\x5d\x38\x1b\xd3\x3b\x47\x7e\x12\x8d\x4d\x71\x75\x59\x6a\x50\x46\x59\xc3\x4c\xf6\xa8\x90\x62\x39\xa2\x33\x15\x30\x30\xad\x59\x2b\x25\x67\x81\x6d\x48\x34\xc9\x94\xd9\x48\xbf\x54\x79\xb4\xc5\x0e\x11\xe6\x3c\x14\xaa\x02\xe5\xad\xf4\xc8\x9b\xc0\xf5\x6a\x5e\x49\x7b\x14\xfd\x81\x83\xc2\xb8\xd4\xf5\x52\x45\xb7\xb6\xe2\x81\xf3\x77\x5c\xdb\x67\x96\x7e\x7e\x5a\xb9\x83\x9d\xc5\x26\xf1\x31\xdb\x0e\x49\xa6\x04\xe3\xff\x1f\xb6\xbe\x1f\x3d\x01\x9f\xca\x66\x76\xf0\x53\x0b\x87\xbd\x7a\xf0\xea\x76\x0d\xe6\xad\x7f\x7b\xff\xc5\x05\x1c\x28\x26\xc6\x35\x91\xcb\x86\x05\x76\xe2\x48\xbb\x0b\x8f\x2c\x30\xb8\x58\x4a\xe6\xf4\x4e\x24\x77\x17\xbe\xff\xe5\x8e\x8f\x39\x3c\x0f\x3b\xa0\x77\x63\xb4\x25\x6e\xba\xca\x9b\x35\x55\x55\x2c\xf4\x9e\x4b\xa8\x00\xb4\x40\x5b\x3f\x2a\xd8\xf2\xc2\xf4\xef\x49\x1d\xde\x9b\x1e\x79\xb0\xce\xdf\xda\x52\x70\xeb\xea\xea\x43\xc6\xae\xad\xfc\x23\xe6\xde\xfd\x32\x12\x9b\x4d\x69\xfa\xac\xec\xce\xb6\x8e\x87\x1f\xc8\x25\x1a\x5b\x96\x98\x7a\x8c\xeb\xef\x52\x6c\x4a\xe4\xc2\xb5\x68\xa2\x76\xae\x66\x2d\x04\x6f\xd1\x16\x2f\x68\x3d\x5a\xd5\x25\x7d\x5d\x13\xb0\x84\x63\xfe\xbf\x10\xaf\x60\xd7\xaa\xe1\x4a\x11\x6c\x0f\xfc\x50\x2e\x0e\xb2\xa6\x0d\xa1\xb6\x5a\x01\x64\xc6\x27\x58\x08\x14\x1e\xed\xbe\x36\x31\x56\x8d\x89\xfe\x37\xb5\x8b\xce\x04\x35\xd6\x63\x05\xda\xc7\x80\x4a\x95\xe3\xc9\xe4\x03\xe1\x5d\x7f\x82\xbe\xaa\x0f\x9f\x7c\xb1\xf7\x5c\xd3\x82\xd7\x6c\xd6\x44\x71\xa2\xf5\x86\x95\x3c\x9f\x14\xa5\x6d\x1b\x39\xba\xc4\xe1\x1f\x94\x5d\x93\x0c\x06\x9b\xf8\x37\xc2\xed\x5b\x6d\xb5\x14\x5b\x46\x5d\x87\x69\xea\xfd\x6d\x75\x03\x6d\x86\x76\xab\x5c\x72\xd0\x2c\xa1\x56\x37\xb4\xab\x2c\x95\x04\x4f\x13\x3e\x73\x54\xb6\x64\x8e\x2c\x04\x95\x8a\x29\x49\xbd\x3e\x5e\x6b\x7c\x6e\x4e\x38\x05\x7a\x24\x0a\xcc\x36\xe8\x46\x0b\xa5\x44\xd1\xa5\x43\x05\x33\x25\xf1\x8a\x56\x56\xf0\xd6\x18\xdc\x98\x47\xc5\x65\x5a\x26\xe6\x3c\x3f\x81\x6e\x57\xab\x0a\xce\xa8\x8b\x73\x54\x75\xed\x6a\x4c\xab\x38\x74\x67\xf9\xc0\x41\x31\x9b\x6e\xb6\x45\x70\xdb\x6f\x98\x5d\xb7\xde\x84\x64\x24\x0a\x8a\x33\x87\xa1\x5f\x7c\xf6\x52\xa1\x8b\xa8\xe3\xf1\x98\x6a\x88\x68\x38\x26\x6a\x41\x03\x92\x72\x6b\x71\x24\x16\x96\x7b\xed\xe2\x3b\x45\x22\x67\x5d\xa8\xa3\x0f\x63\xe9\x46\x7d\xdf\xac\xe0\x3e\xe9\xde\x1e\x2f\xdb\xac\xbe\xac\xd7\x66\x57\xdb\xa6\x5e\xae\xfe\x1e\x12\x2f\x66\xca\xc7\x53\x29\x35\xb5\x1a\x60\x1d\xd2\x2c\xdd\x35\x36\xd7\x5b\xd7\x54\xd8\x8d\xa5\x53\x0a\x7e\x3d\x9f\x99\x4b\xfc\xb8\xb4\x27\xe5\xa3\xe8\xeb\x37\x16\xb0\xbb\x0a\x6c\xa6\x9c\xba\x5b\x64\x79\x39\x2c\xfe\x1d\xcf\x9f\xa8\xcd\x8e\xf0\x84\xe1\x7d\x7d\x55\xfa\xda\x94\x43\xd3\xa2\x6c\x39\x03\x68\x56\x14\xea\x53\x54\xbc\x84\x4a\x30\x93\xe0\x6d\xd9\x5a\x9b\x52\xd7\x0f\xd5\x25\x3f\x4d\xc3\x9c\x54\xd7\x80\x76\x63\x5f\x89\x0b\xe7\x26\x7e\x4a\x26\x8f\xa9\x14\x03\x0f\xe6\x78\x1c\x54\x14\xa5\xa6\x9a\xc8\x23\x5f\xbb\x73\xdf\x09\xd2\xc9\xc1\x2c\xe6\xb6\xdc\x68\x08\x58\xef\x9d\xd6\x39\xa7\x95\x5e\x38\xdb\xe6\xef\xa7\xe3\x25\x5b\xea\x27\x29\x9f\xcf\xb1\x4f\x86\x11\x47\xb3\x6c\xe4\x2f\xe9\x28\xe4\xf6\x2d\xae\x50\x94\xa6\x28\x25\x3d\xaa\x4e\x91\xae\x77\xfd\x4b\xf1\x6e\x42\x88\x5e\xe6\xd9\x3c\xe4\x5e\x1c\xb4\x86\x0a\x78\x77\x6b\x5b\x26\x0d\x13\x7c\xd8\x82\x3f\x56\x8d\xcc\x88\x4f\x6c\xc7\x8d\x9c\xee\x7b\xdf\xd3\x45\xab\xc1\x9b\x91\x0a\x75\x53\x2a\x3a\xc3\x98\xba\xda\x30\xf3\xa8\x9b\x46\x11\xcf\x3a\x36\x89\x9a\xdb\x75\x75\xbc\xc6\x59\xa3\xd3\x96\x5d\xc5\x4d\xdd\xd3\xc1\x58\xb4\xbd\x3e\x11\xc9\xd7\x4b\x86\xad\x8c\xe3\x57\x3a\x12\x37\x1d\xcb\xf5\x54\x1c\x61\xa5\x4f\xe9\x0f\x0a\xd9\x24\xc3\x7e\xd2\xe6\x4b\xd5\x65\x60\x75\x85\x5a\x72\x93\x55\x6f\x87\x05\x31\xe1\xd9\x80\x6f\x6c\xe2\x12\xe9\x3e\x7c\x22\x8a\xfe\x26\xad\x9f\x1a\x05\x79\x09\xe1\xe4\xce\x3f\xb9\x07\x77\xdf\x98\xc5\x45\xf9\x5c\x4f\x26\x0a\x40\x34\xf6\xa8\x81\xfa\x9d\x86\x89\xb4\x7b\x37\x43\x59\xdd\xcb\xa3\xba\x7b\x88\x37\xc9\xb8\x6e\x45\x93\xdc\x1c\x8d\x8e\x86\x4e\xe6\x94\x15\x6c\x81\x56\xa9\xd9\x77\x8b\x0b\x41\x29\xae\x89\x69\x21\xad\x29\x4a\xd0\x39\x31\xb3\xb3\x59\x23\xf2\x9b\xb5\xb4\xeb\xa7\xc9\xcf\x9c\xdb\x20\xb2\xe7\x3b\xf2\xcd\xeb\x40\xaa\xba\x99\x0e\x6f\x0d\xb7\xae\xd3\xd0\xb5\x2a\x3f\x68\xb8\x7d\x93\x81\x52\xe9\x4b\xc2\xba\xd8\x24\x58\xb4\x11\x06\x25\x5e\xe9\x9e\xeb\x56\x70\x68\x88\xd3\x60\xf5\xd1\x45\x1d\xb2\x56\xf8\xc3\x0d\xd3\xb7\x89\x83\xc4\xe4\xec\xba\x79\xa4\xad\x37\x55\x87\xf8\x96\x76\x3b\xff\x27\xd9\x4a\xfd\xb5\xdc\xe0\x2a\x4e\xf1\x55\xa6\x87\xc1\xce\xe9\x28\x0a\xcb\x82\x03\x34\xf4\x40\xff\x3d\xbe\x89\x5f\x8f\xf3\x64\x41\xfb\xda\xa6\x57\x42\x62\xc6\xd9\x0c\x8f\x52\x80\xb6\x26\x4b\x5e\x51\x1f\x8d\x96\xba\xe8\x15\x8c\xf7\x42\xcf\x38\x98\x03\x29\xf0\xe4\x07\x8c\x2a\x14\x4e\xef\x23\x25\x5a\xa8\xc1\x2c\xa1\xe3\xc9\xa4\xdd\xeb\xf5\x3a\x7c\x02\x79\xe1\xce\xdc\xc4\x4e\xee\xfc\xab\x81\xdb\xd1\x1b\xcc\x62\xc6\x9b\xea\x8d\xf4\xb8\x41\xc8\xb1\xc7\xa7\xef\xf5\x8a\x6b\xb1\x99\x15\xf4\x81\x4e\x96\x07\xb2\x50\xc2\x24\x2e\x2a\x49\x66\xbd\xbc\xd3\x6e\x92\xed\x6f\xfc\xa5\x63\xda\x15\x2e\xf9\x31\x48\xe8\xb3\x2c\xb0\x3f\x28\x4a\xd4\x30\x10\x83\xce\x9f\x16\xda\xd9\x82\x9f\xeb\x13\xb1\x34\xc5\x3f\x60\xb9\x5c\x78\xb8\x69\x6c\xef\xaf\x4d\x0e\x07\x2b\xf2\xed\x33\x91\xdc\x59\x4d\xe3\x4c\xac\x66\xca\xee\x09\x53\x81\x26\xfb\x62\x16\x27\x73\xd8\x5c\x71\x1d\xf3\xe2\x69\x3a\x86\xb7\xb6\x60\x9a\xe6\x21\x86\xd1\x9c\x66\x63\xf0\x7b\x88\x0c\xcd\x58\xec\xe4\xf1\xed\x0e\x97\x72\xeb\x14\x9e\x5e\x69\x39\x9a\x55\xd2\xd7\x93\xb8\x8c\x45\xf6\x49\xdb\x69\x49\x0f\x9f\xa0\xc8\x2c\xd5\x84\x11\xe2\xd2\xa5\xb6\x58\x01\x79\x4f\x38\xe2\x5b\xdf\x57\x27\xfb\xe0\xa9\xc7\xfc\x2c\xfd\xc6\xbb\x8f\x39\x69\x42\xbf\xb1\xbd\xc7\xf4\xf9\x80\xea\x1b\xfd\x60\x0d\x78\x99\x4a\x9d\xec\x50\x6b\x65\x25\x26\x23\xec\x2d\xea\x65\x62\x57\x59\xe8\xe3\x71\x76\xf0\xf2\x8e\xab\xd4\xb5\x9d\x47\xb7\x1b\xc1\x46\x32\xc8\xdb\x6a\xc2\xc0\xbe\xb1\xe6\x2c\x30\xbf\xa2\xdd\x4d\x1a\x64\x1b\x4e\xf1\xb2\x6d\x9a\x33\x8d\x71\x56\xc5\x59\x4a\x51\xb6\x9a\xd5\x97\xad\xee\x20\x89\xb1\x78\x19\x31\x35\x95\xcb\x5e\xdf\xbd\xe2\x55\x3b\x70\x35\x61\x7b\xb7\xd2\x05\x59\x00\x6f\x3c\x84\x86\xe1\xdf\x50\x82\x5e\x6b\xcf\xac\x65\xc1\x78\xdf\x46\xf9\xa6\x4d\x17\xe3\x37\x96\x9b\xd7\xee\x64\xba\x96\x3f\xeb\x19\xcd\xe3\xa5\x7f\x20\x9e\x80\x37\x54\x44\xa1\x7e\xac\x2f\x50\x48\xfe\x0f\x8e\x77\x0f\x49\xb2\x61\xd0\x29\xf3\xc3\xfa\x68\x99\x57\xb6\x29\xfa\xfb\x1e\xfe\xa1\x43\x3c\x82\x78\x25\xc3\xa5\xb7\x38\x3b\x4a\xe9\xde\x8d\xfa\x5e\x33\xc6\x0f\xf9\x6c\x5b\xde\x60\x07\xdd\xda\xdf\xb0\xb5\xa6\x67\x9f\xb8\xe1\x6a\x11\xc2\x38\xd4\xf6\x41\xb2\x76\x8f\xa2\x56\xd7\xbb\x6a\x47\x6e\xbd\x4b\x69\x92\xe6\xff\x1c\x1e\x25\x46\xaf\xc5\x22\xd6\x8b\xc6\xa8\x16\x01\xb7\xba\xd2\x9b\xe6\x60\x2e\x88\x0f\xdc\xa1\x7c\xf7\x22\x2b\x8a\x64\x84\x5b\xe5\xce\xb2\xe5\x64\x17\x4b\xb5\x94\x76\x13\xed\x8e\x76\x3c\xe2\x6e\x93\x4f\x4c\xab\xf2\xec\x21\xa6\x48\xb7\x22\xed\x07\x7d\x8a\xe2\x3f\x07\x85\x75\x67\x4c\xec\x3f\x8a\xb1\xb0\x86\x2a\x20\xf4\x3a\x90\x94\xf7\x7e\xe5\x33\x31\xa6\xb1\xd9\x0d\x41\x9f\x43\x94\x73\xb2\x00\xdd\xad\x07\x66\x05\x11\x6f\x4c\xed\x9d\xd8\x13\x0e\x5d\x65\x28\x7a\xfa\x58\xfc\xea\x71\x32\xd5\x23\x64\x30\xc7\x10\x9e\x21\x93\xd5\x9c\x91\xe2\x77\xad\x67\xa6\x3e\x69\x5f\xb7\x17\xc4\x34\x66\x0b\x62\x7b\xab\xb9\x7e\x4a\x67\x4d\xf4\xa9\x15\x86\x5c\x7e\xb7\x44\x01\xbf\xb9\x5f\xf0\xbe\xe7\x89\xdc\x37\xc2\xef\x72\x90\xee\x61\x34\x24\x1d\xec\x56\xc1\xe0\x32\xc7\x6e\x3e\x81\xc2\x73\xaf\x87\x6f\x0d\xc0\x7b\x9b\x9a\x35\x14\x6b\xde\xd4\x25\xdc\xec\x21\xab\xdf\xe6\x41\xce\x59\x67\xde\x16\x0f\x1a\xbd\xba\x02\x4a\x7b\x30\x84\x5c\xeb\x60\x76\x11\x6a\xd8\x96\xbb\xb2\x80\x02\x73\x45\xf7\x6e\xfb\x20\xaf\xf0\xa6\x6e\xe9\x04\x37\x6b\xa6\x8b\x2b\xb9\xac\x46\xe2\x37\x1c\xbe\xe0\x6f\xfc\x1b\x92\x88\x12\xf4\xf5\xf5\xc5\xf2\xf4\x85\xb0\x5a\xe7\x2f\x7a\xf4\x42\x63\x8f\x9a\x0f\x5c\xa8\xee\x66\x5c\x3d\x70\xe1\x83\x2d\xe1\xf7\xb6\x4d\x95\x2b\x8c\xeb\x58\xa2\xf9\xcc\x85\x0b\x2e\xfa\xa6\xad\x9e\x78\xb6\xdf\x6c\xdd\x26\xf4\xf3\x5f\x82\x05\xb8\xba\xdc\x70\x40\xc3\x3e\xd0\x8d\x54\xa3\x45\xeb\xeb\xb7\x7f\xf6\x44\x8b\x1f\x10\x73\xf6\x5b\xd7\xa3\x57\xe6\x2b\x5f\xb9\xf9\xd7\x4a\xfd\x58\xec\x74\x4a\xa9\xe6\x9b\x26\x2f\xf1\x5f\xb3\x20\x79\xb9\x58\xb3\x31\x6a\x67\x7b\xb2\xda\x6a\x26\x43\xd9\x11\xae\x4b\xcd\xb5\xff\xb8\x0d\x69\xf5\x6e\xcf\x92\xb8\x54\xf1\xb2\x8e\xba\xe8\x45\xf9\x40\xec\x04\xd5\x9e\xe3\x51\x78\x05\x43\x92\x60\x15\xfd\xa2\xb7\xdb\xa4\x02\x5f\x4d\xb1\x62\x23\xc9\x28\x6f\xfd\x69\x04\x2b\x68\x99\xd2\x3a\x92\x6d\x45\xb3\x22\x20\x5a\xb1\x15\xd5\x8a\x90\x6c\x7e\x25\x91\x5e\xf3\x9e\x36\x09\x60\x1d\x57\x99\x2c\x8c\xf5\xd6\x47\x4a\xa7\x1a\xb6\xa8\xf6\x71\xb0\x0d\x35\x3f\x98\xb6\xc3\xbd\xf9\x95\x5d\xd3\x4e\x1e\x85\x2d\xfa\x19\xe3\xe2\xfd\x4a\x6e\xe7\x57\x2d\xb6\x33\x2f\xc2\xea\x20\xb9\xd6\x4e\x1e\xdf\xc0\xc7\xee\x65\xfe\x16\xf6\xf8\x80\x2e\xce\x25\xc5\x66\x76\xfd\x32\x0d\x9a\x8d\xf1\x2d\xb5\xba\xb8\x0f\xec\xb8\x72\xc8\x00\x55\xa0\x2e\x26\x34\x73\x29\x8a\x21\xe4\xd9\x56\x8d\xdc\x51\x34\x48\x94\xd8\xbb\xb7\xaa\xeb\xb3\xd1\x8f\x91\x39\x66\x0e\xbe\xd3\x3c\x81\xdb\xe9\x3b\x64\x25\x9c\x0a\x03\xa8\xa0\xb1\x0a\x37\x59\xa9\xd3\x5c\xdf\xcc\x55\xb5\xc5\x7a\x80\xc3\x9e\x7e\x92\xab\xc2\x82\x06\x7e\x1b\x6b\x33\xd6\x9e\x26\xa8\x0e\x4c\x8d\x32\xd8\x62\x04\xcd\xde\x2f\xbc\x59\xbe\xbf\xc4\x76\x3b\x53\x43\x05\x7b\xb4\x0a\xf9\x2f\x3f\x5c\x7a\xbb\xd4\x5f\x39\x62\xa6\x35\xb3\x35\xdf\x5f\x7f\xc4\x5c\xe1\x5a\x45\x40\x37\x8d\x19\x3f\x5a\x03\x5b\x37\x6c\x56\xf6\xc8\xd2\xad\x1d\xbd\x26\xb3\xf7\xdb\xf0\xad\x1b\xbe\x1a\xeb\xbb\xfd\x00\x86\xc0\xdb\x27\x71\x3e\x50\x47\xfe\x49\x12\x0d\xb7\x10\x4e\x64\xb7\x3d\xea\xd2\xeb\x4f\xcf\x36\x60\x13\x41\xc2\xe1\x57\x64\x1b\x5e\x10\x87\x54\x8a\xcc\xea\x53\x09\xd5\xec\x43\x4d\x5f\x10\x4c\x5f\x86\x48\xf2\x19\x56\x60\xda\x1c\x43\x4b\x3f\xda\xea\xea\x37\x98\x9a\x89\xbf\x69\xba\x81\xfa\x5c\x57\xb9\xe1\x65\x1b\x44\x76\xc1\x26\x16\x86\x20\x6a\x9b\x53\x0a\xb8\xbc\xe8\x19\x67\xb3\x8b\xca\x4e\x4b\xee\xc4\x36\x62\x36\xda\xae\x06\x61\xe6\x8b\x72\xa5\xcf\x66\x30\xab\xe3\x31\xee\x35\xd3\xef\x80\xa5\xa9\x90\xfe\x4a\x9e\xfa\xe6\xae\x77\xa2\xc7\xd1\xce\xce\x93\x07\xb6\xb6\xc1\x3d\x6a\xeb\x06\x82\x47\x5d\xc9\xb7\x7c\x34\x73\x3e\xd1\x5b\xd5\xd3\x3e\x11\x67\x3d\xcc\xbb\x1e\x3b\xdc\xf4\x2c\x9e\x6e\xe9\xb1\x7d\xf1\x83\x75\xbb\x93\xfc\xb2\x04\x4b\xf6\x8f\x96\x5a\x09\x19\xed\x1f\x3e\xb3\x12\x76\xe8\xb7\xc4\xca\x16\x89\x95\x90\x68\xbf\xe5\x55\xfe\x52\x79\x95\x90\xb2\xdb\xa5\x55\xe4\xa1\x57\x95\x64\x01\x2d\xae\x80\x87\xc4\x51\x5f\x3c\x87\x79\x63\x27\x2e\x99\x14\xb6\xea\xaa\xcc\x57\xa2\x2c\x95\x9b\x15\x5a\xd6\x1d\xb3\x82\xa5\x56\x63\x5a\x7f\x64\x6c\x0b\xfe\xe1\xb5\xa8\xb7\x54\x3b\xd3\x2a\xf5\x9e\xb6\xc2\x99\xa3\x85\x6b\x66\x22\xb0\x8c\x96\x29\x41\xe8\x6a\x39\x5b\x35\x2c\x18\xc0\x4a\x2f\x59\x54\x2e\x14\x65\x24\x2a\xec\xf0\xcf\x90\x34\xda\x82\x1f\x36\xa6\x8c\x1a\x4b\xea\x13\x2e\x96\x2c\xc4\x09\xf7\x68\xc0\xbe\x64\x43\xb6\xbb\x2b\xf7\x1b\x40\x89\x60\x68\x5b\xc2\xbe\x2d\xa7\x05\xd3\xe5\x8d\xac\xe6\x33\x1b\x15\x96\x6b\xf3\xdc\xc0\x70\xf5\x2c\xf7\x2b\x99\xce\x7f\xf3\x8d\x5f\x14\xc8\xef\xf4\x2a\x0a\x89\x80\xd5\x8d\x37\xb7\xe5\xdd\xfc\xa6\xca\xb8\xbf\x65\xed\xfe\x21\x33\x39\xa1\x7c\x7e\x72\xd2\xae\x92\xce\x31\x42\xd4\x0d\x8f\x01\x64\x29\x68\xb6\x99\xdb\x5a\xcc\xdf\x32\x7a\x7f\x3b\x3e\xd8\x26\xa1\x17\x16\xd0\x03\x98\x17\x31\x6c\xc5\x1c\x26\xd7\xdb\xa9\x1e\x7f\xf6\x4b\x78\xe4\xb7\x9c\xe1\x5f\x81\x27\x7e\x75\xca\xb0\xea\xc9\xfd\xca\xf1\xfd\x2d\xb9\xf8\xd7\x1d\x67\x7f\x83\xd4\xbc\x76\xa0\x6b\xb7\x3a\xcd\x57\x8d\x09\x84\x3a\x9e\x00\x78\xdc\xf9\xf4\x57\x89\xfe\x76\x59\xcb\x39\xbc\x14\x90\xfb\xe7\x48\x5b\x3e\x4f\x77\xb9\x3f\x2e\xab\xf2\x4b\x8a\xa3\x08\x1e\xdb\xfb\x45\xe9\xca\x6f\x19\x83\x5f\x9c\xaf\x6c\x3a\xd4\xeb\xef\x32\x7d\xc4\x9d\xfd\x67\xca\x1f\x55\x7a\xf4\x5b\x02\x69\x8b\x04\x52\x85\x6a\x5b\x64\x90\x90\x60\xca\x26\x72\x43\xaf\xc9\xcf\x5f\x6b\x85\xa9\x4c\x48\xf7\x93\x4b\xf3\x7a\x80\x74\xbf\x2b\x72\xbd\x66\x61\xdb\xbd\xd5\xa5\x75\xf2\xe6\xab\xd3\x40\x70\x7f\x71\x7e\xb8\x36\x43\xec\xad\x3a\x13\x53\x0a\x5d\xb3\xfa\xee\xb7\xf4\xd9\x3a\xbe\xfa\x95\xf9\x33\x7d\x78\xfc\x6f\x79\xb3\x7f\xb4\xbc\x59\x13\x23\xfc\xfd\x25\xce\x34\x8b\xfd\x96\x30\xfb\x2d\x61\xf6\x7f\x21\x51\x52\x11\xcc\x5f\x56\xe6\xe6\xf6\xd6\xaa\x17\xa6\xea\x55\x23\x21\x61\x42\xcd\xee\xd7\xe5\x7c\x8b\x3a\xb7\xa1\xba\x45\xd7\x63\x46\xf1\x1f\xc0\x1d\xf8\x2d\x33\xf8\x77\xc8\xf0\xdb\xa4\x06\x25\x5b\xae\xcf\x14\x7e\xba\xa7\x6b\x32\x86\xf7\x4f\xaa\xb9\x85\x06\x81\xb1\x49\xc6\x27\x35\x7a\xfb\x7f\x85\xed\xff\x62\x99\xb0\xdf\x32\x9d\x7f\x51\x1e\xff\xa4\x54\xa7\x3c\x31\xa0\xde\xf1\xfe\x2d\xcd\xf9\xf7\x3d\xc8\x7f\xe1\x3c\x67\x2d\x43\x70\x8e\xf3\xfd\x5f\x31\xc7\x89\x1b\x55\x7f\xd0\x7b\x84\xfd\x93\x64\x38\xff\x15\xef\xe2\x4b\x6e\x12\x75\x1b\x89\x9d\x58\x96\x29\x30\x13\x76\x18\xdd\xd7\x29\xee\x0e\x7d\x9b\xe5\x1f\x69\x90\xe4\xa6\x8d\x71\x6a\xbd\xd8\x58\x5e\xc7\x27\xfd\x53\xa0\xf0\x45\xe6\xd4\x4e\xde\xf0\x1a\x79\xe7\x0d\xc0\x7d\x2b\x4e\x0d\xcd\xd5\x8c\x58\x8d\xf2\xac\x74\xc8\xdc\x90\xb7\x71\x9c\x67\x73\x7d\xde\x54\x52\xb6\x0a\xda\xbd\xd0\x6d\x0e\x43\x5b\x50\xe2\xae\xdd\xf0\x0a\x7a\x0f\xb3\x32\x41\x02\x97\x17\x19\x9e\xd0\xb2\x8a\x8a\x79\xcc\xa7\x3e\xb5\xcf\xff\x67\xf0\x11\xde\x9f\x2a\x74\x8c\xf0\xbd\xdc\x28\x30\x7e\x19\x01\x7c\xc2\x02\x62\x0e\x33\xc6\x8d\xbd\xa8\x59\xda\x5f\x86\xb6\x69\xc1\xfe\x61\x4b\xd7\x31\x0c\x4f\x41\x3b\xd6\x50\x14\x44\xbb\xa1\xd8\x07\x0b\xdc\x8c\x53\x6e\xd4\x31\x05\x94\xb3\x5b\x24\xa9\xee\x20\xef\xc3\xae\x17\xb4\x8b\xa3\xf0\x42\xda\xec\xf2\xe6\x06\x19\xe0\xc7\x29\x68\x44\x1a\x08\x92\xaf\x16\x19\x1e\x6a\x4b\xbb\xee\xe0\x96\x69\x14\x6d\x28\x8c\xcc\x96\x9c\x4c\xae\x36\xd6\x7b\x91\x5d\x41\x83\xf0\x89\x9b\x8a\x62\x3c\x72\x93\xf0\x92\xf8\x1a\xd8\xd7\x4b\xd0\x89\x00\x3d\x34\xe4\x36\xab\xe9\xcd\x00\xd7\x3c\x83\xdf\xe9\x11\x3d\x24\x08\xbb\x06\xf4\xd5\x32\x05\x68\xbe\xc2\x9c\xa1\xee\xd4\x78\x69\xde\x14\x93\x2e\xdb\xf0\xca\x57\xaa\xc0\x4d\x2c\x83\x97\xa2\x9c\xc1\x65\xbd\xd4\xca\xe8\x7c\x24\xa2\xde\x36\x44\x8b\x8a\x65\xf6\x08\x4f\xf6\x88\xf3\xf1\xf5\x8a\xd9\xe2\xa3\x52\x0b\x3c\x51\x7f\xaa\xd5\xe2\x55\xc3\x5e\x29\x35\x14\x66\x7d\x8f\x8f\x58\x55\x5f\x37\x0e\xae\x3d\x12\x22\xb8\x54\x98\xf3\xc2\x85\x34\xea\x03\x87\x50\xa7\x65\xf3\x79\x52\x7a\x39\x53\xc9\x27\x41\x82\x14\x5e\x2f\x32\xe4\x88\xcc\xb9\x45\xeb\xe7\x9f\x69\x01\x7c\x0d\x52\xb4\x61\x68\xfd\xc1\xe9\x86\xb5\x0c\x01\xed\xb9\xe5\x74\xc3\xe8\xc6\x86\x40\x80\x54\xee\x9d\xd8\xb5\x85\xed\xe6\x02\x25\x81\x4f\x49\xc7\x46\x0a\xe2\x38\x18\xf3\xe5\xa2\xdd\xe9\x1a\xc2\x2c\x00\x8b\x39\x04\xc5\x6d\x2d\xb0\x04\x8a\x5b\x2d\x15\x66\x6b\x28\x87\x06\xe0\x07\x8a\x83\xb4\x8e\x19\xe7\x42\x1f\xcc\x2e\xfc\xf8\xb0\xe3\x0f\x49\xeb\xe2\xe6\xbb\xa8\x0b\xf0\xd8\xeb\x1c\x37\xcc\x5d\x2e\xcc\x78\x08\xec\x6e\x69\xa2\x07\xe0\x4c\x7b\x74\x24\x05\x1f\x42\x56\x1d\x95\xca\xf1\xe4\x86\xeb\xc3\x74\xb6\xde\x01\x4f\x27\x55\xea\x46\x47\x3f\xa9\x77\xbe\xd5\x0f\xad\xd9\xe1\xcf\x8e\x17\xd0\x38\x1b\x27\x6e\x87\xcc\xca\xa0\x59\x57\xc1\xaa\xed\xa7\x7a\x23\xdf\x79\xbc\x92\xa7\xb2\xb3\x8a\x43\xd3\x49\x53\x60\x0b\xdc\x5a\x27\xa7\x73\xfd\x4c\x67\x36\x11\x21\x4b\x75\x37\x9e\x1a\xef\x44\x10\xa2\xe4\x5b\x1d\x8e\x69\xec\x24\x05\x1a\x22\x2e\x7c\x27\x96\x33\xa3\x8f\x9b\x3b\x2f\x96\x15\x79\x14\xfb\x08\xd0\x29\x13\x56\x18\x2f\x8d\xb7\x55\xeb\x7f\x51\xa7\xdc\x21\xd2\xb4\x47\x32\x65\xb9\x99\xc1\x32\xa3\x05\x78\x87\x66\x23\x89\x5d\x7b\x1e\x18\x8a\x95\x3e\x9f\xa4\x9e\x06\x2f\x48\x02\x43\x11\x35\x48\xf9\xa2\x6a\xae\x7e\x70\x32\x6b\xb1\x07\xd9\x75\x5d\x84\xc7\x24\x06\x78\xe1\xde\xa6\x38\xf4\x99\x59\xd8\x48\xab\xe5\xae\xd2\xee\x5d\xb5\x17\x5f\x97\xe0\x10\x99\xd9\xc4\xca\x06\x62\x66\xdb\xaf\x8c\x94\xe1\x1c\x4c\x5f\x7c\xa5\x7c\x43\x9f\xa5\xb4\xcd\xf4\x14\xe4\xae\xf0\xa0\x22\xbb\xad\x1b\x9d\x74\xa9\xb7\xa2\x46\x92\xea\x56\xf1\x38\x83\x65\x71\xdd\x7c\x76\x05\xfc\x6b\xb7\x67\x66\x2c\xe0\x1b\x6d\x29\x0d\x5f\xa7\x4b\x90\x1a\x55\xc1\xab\x76\x10\x04\x33\xe2\x1b\xbf\xe7\xf6\xbc\xfd\x27\x72\x31\x1a\x92\x32\x3c\xb9\x88\xf7\x6b\xa8\x59\x85\xfe\x11\xcc\x73\xbb\xd5\xaa\x0d\x3b\xd8\xaf\xb1\x87\xbc\x22\xd9\x88\x30\x1a\x7d\xdd\xcd\xad\x3a\x91\x2d\xaa\x7d\x68\xec\x40\xb6\x68\xff\x0a\xe4\xff\xdf\x52\xe1\xc6\xe3\x0b\x4f\x30\x40\x03\xf0\xd9\x3b\x46\x42\x1e\xd8\x93\x83\x62\x72\xb4\x28\xb5\xa9\xf7\x46\xd7\x3c\xd9\x35\xd3\x8c\xd4\x08\xde\xa7\xde\xd3\x41\x6c\xd2\x69\x72\x00\x74\xcc\x8a\x3e\x9b\x80\x5f\xa9\xed\x86\x36\xce\xbc\x1b\xfa\x74\x86\x23\xd4\xc1\x1d\xe2\x08\x66\x06\xa4\x20\xc7\xb1\x20\x01\xa7\xcc\x6c\xe0\x8c\xa1\xdc\x17\x0a\xec\x03\xba\x8d\xfa\x88\x64\x72\x28\xc0\x41\x78\xf3\x87\xef\xd8\x55\xd4\xde\x02\x36\x85\x3d\x94\xde\x1a\x0d\x06\xbc\xaa\xdd\xba\x56\xd0\x28\x52\x2c\xbc\x11\x55\x2f\x02\x62\x2d\xf0\xaa\x67\x13\xbe\x85\x77\xff\x70\x8d\x7e\x66\x8c\x9b\xc5\xd1\x9e\x82\xd0\x77\xb0\x7b\xbb\xb3\x84\xce\x27\x42\x5c\xcd\x6e\xed\x06\x3d\x7e\x63\x44\xed\xbc\x4b\xf5\x2a\x23\x74\x59\xb1\x39\x06\x2b\x04\xdc\xbb\xd4\x40\x6e\x12\x32\x37\xb8\xb8\x15\x9e\x3f\xb4\x1b\xf9\x91\xd8\xa1\x4e\x9e\xdc\x96\xaf\x5a\x31\x79\xb5\x2b\x56\x5b\x3d\xc2\x5d\x5e\xe8\xc0\x42\x6f\xa2\x20\x54\x69\x1e\x07\x3f\xb2\x8f\x48\x76\xfd\x9e\x50\xd1\x4c\x28\x78\x05\x9d\x08\xe2\x14\x72\xdb\xdd\x0e\xf9\x7f\x75\xb2\xcc\xd2\x2d\x09\xe3\x7a\xac\x39\xda\x9d\xa9\x22\xcd\x43\xbb\x4a\x84\x60\xea\x8e\x7a\x89\xbb\xb5\xeb\xa6\xa5\x8e\xdc\x06\x6d\x26\x53\x45\xb3\xb8\x33\x2a\x7c\x94\xc5\xb2\xb0\x26\x64\x0d\x7c\x93\x99\xaa\x4c\x40\x17\xda\xff\x44\x3b\x57\xe6\x4b\x3c\xc1\x53\x58\x6e\x3a\x1c\x96\x0f\x65\xbd\x56\x39\x66\x41\x20\xfc\x26\x39\xad\x8b\x66\xcc\x08\xff\x50\x68\x77\xc6\x73\x01\x2a\xde\xae\xf6\x47\xf5\xd1\x50\xe4\x1f\xfa\xa7\xa8\x63\x5b\xbc\xbf\xe0\x0c\xb3\xae\x49\xa9\xa7\x77\xea\x91\xb5\x09\x1a\xd7\x20\xa6\x72\x30\x88\x87\xcb\x94\xa5\x11\xce\x96\x75\x84\x89\x5f\x9d\x13\x0c\xc3\x57\x5e\x67\x93\x82\x76\xbf\x04\xeb\x01\x63\x99\xaf\x08\x86\xb8\xd2\x3a\xc7\xd8\x9c\xe6\x51\xfb\x42\xab\xb6\x30\xd9\xf2\xed\x0a\xe9\x53\xe8\xdd\xb0\x6a\xe9\xd5\x6e\x69\x20\xa7\xa6\x22\xf3\x9c\x9f\xb6\x06\xa3\x20\xcb\x59\xd8\x9d\x7d\x68\x66\x13\x5f\xab\xb2\xd0\x39\x1b\x3c\x78\x1a\x89\x7d\xc7\x5f\xa1\x13\x30\x68\xea\x0e\xb7\x11\xb7\x67\x91\x55\x0e\x03\x1a\xf4\x45\x63\xbc\xeb\xa7\x8d\x9b\xcc\xc6\xdd\xe6\x30\x9d\xf1\x5d\x17\x44\x17\xda\x7e\x0c\x8f\xdd\x1b\xcd\x7b\xbf\x0e\x7f\x43\x5c\xd9\x05\xd6\x9f\xe0\xe0\x85\x5d\xc1\xed\xaa\x28\x1e\x8d\xda\x18\xe3\x03\x71\xc7\x38\x08\x78\x92\x58\x86\x59\x05\x72\x9a\xf1\x88\xb8\x5d\x45\x9e\x10\x33\x1a\xee\xc9\x8d\x9b\xbf\x8a\x96\xc0\xf4\x33\xc7\x01\x01\x46\x6a\x8a\xa7\xc7\x52\x29\x8e\x0c\x9a\x8d\x1c\xf1\xbe\xef\x54\xe5\xc5\x97\x1b\x33\xe8\xd8\x73\x97\x31\x7b\x18\x45\x7e\x2b\x78\xba\xf8\x79\x94\xd8\x76\xee\x2b\xe4\x01\xcc\xbe\x8e\x8b\x64\x1c\x85\x49\x1d\xbb\xbd\xad\xa0\x21\xb0\x1c\x7e\x69\xb7\xc0\xb3\xd8\xe5\x74\x1d\xd8\xa1\xf5\x44\x14\xd8\x58\x87\xe4\xa1\xbb\x69\x8e\xab\x4b\xe8\x38\x7d\xdc\xb9\x13\x45\x27\x4e\x66\xfa\x04\x34\x44\x85\xfc\x7f\x92\xc4\xa2\xcc\x16\x11\x9e\x02\xd8\x73\x2d\xe8\xd0\x9f\x9f\x7e\xf6\xff\xda\xee\x75\x8c\x61\x57\xb0\xe2\x2e\x4f\x38\xfb\xef\x1f\xea\xf0\x08\xa7\xb9\x13\xd0\x4e\x63\x3d\x4a\x58\xb9\xa4\x43\xd6\xd1\x8a\x5c\x07\x1b\x7d\xb2\x50\x56\x91\x40\xf0\x76\xc7\x91\xbb\xe3\x11\xfa\x75\x4c\xc7\xec\x55\xf2\x67\x6b\x49\x4d\xd0\xbb\x9f\x44\x70\x64\x94\x42\xcd\xa6\xda\x6e\xfa\x1d\xa6\x05\xb4\x26\x39\x1d\xaa\x7a\x03\x54\x47\x57\x6c\xd1\xa7\x2b\x5d\xf1\xe8\x5a\x7d\x3c\xa0\x88\xc7\x7b\x9a\xfe\x7f\xc0\x74\xf6\xa0\xdf\x9f\x73\xbc\x49\x67\x3a\xe2\xd0\xc7\x98\x81\x8f\x74\x91\x85\xd5\xa6\x78\x80\xa3\x49\xa2\xaa\x3b\xa2\xa8\x18\x87\x9a\xf2\x81\x2e\xb6\x1d\x8c\xfa\x46\x96\x34\x6c\x40\x16\xc7\x85\xd0\x78\xee\x10\xa6\xe4\xb8\xbe\x73\xdf\xe2\x2c\x8e\x6e\x0f\xf8\x5a\x67\x13\xec\xe1\x81\x10\xc6\xe0\x61\x17\x48\x96\x3d\x64\x73\xbd\xf8\x3b\xed\xea\xa4\xa2\x38\x9d\xd3\xc5\xa7\xd4\x1c\x67\xff\xa1\x73\x74\xd0\x51\x95\xf7\x72\x74\x6b\x0b\xea\x7e\x7b\x5f\xf7\xb8\xc2\x85\xce\x99\xad\xb8\x3d\x68\x01\x5e\xd6\xed\xf7\xe9\x8c\x63\xbd\x0f\xc1\x99\x43\xe9\xea\x98\xa6\x74\xbe\xdf\x58\x44\xb4\x8f\x14\xf6\xeb\x27\x2d\xe3\x9a\x11\x11\xf7\xc8\xe9\x73\x3f\xe5\xd4\xa4\x45\xf4\xdc\x21\xad\x77\x4f\x35\xd6\x01\x0c\x29\xa5\x4b\xf4\x0c\x01\xbe\xb8\xe9\x39\x7d\x57\xcb\x9b\xde\xde\xb3\xea\x4a\xe8\xfb\x16\x7e\x92\x14\x58\xba\xb1\xf6\x19\x01\x63\x9f\xbb\x02\x06\x5d\xf7\x8c\xbe\x1f\xc2\xeb\xa3\x40\xd6\x3e\x83\x30\xf6\xb9\x52\x5f\x70\xe5\xc2\xf6\xf2\xb7\xf1\xe2\x83\xad\x70\xa0\xab\xd6\x36\xe2\xe5\xe8\xc3\x07\xfa\xfd\xe1\xc3\xe3\x86\xf7\x39\x70\x9e\x8d\xae\x87\x32\x6e\x08\x44\xe7\x5c\xa6\x0b\x6f\xf2\x0e\x2e\xc2\x0b\x9e\x07\x48\x9d\x04\xa6\xab\x67\x30\xd7\x5e\xd7\xa4\x73\xf5\x0c\xd7\xb5\x5a\x45\xb7\x4a\xe4\xd7\x9b\xd9\x54\x60\x65\xb6\x90\xf4\xd2\x1e\xc4\xeb\xb4\xb7\xfc\x5a\x8f\xf2\x8d\x33\x02\x2c\xb4\x8b\x84\x03\x54\xf4\xad\xc4\x2b\xcc\x04\xdf\x8a\x37\xb9\x27\x07\x60\x2d\x7a\x8e\x0d\xbd\x3c\xd9\x4b\xde\x94\x1c\xbe\xf9\x29\x24\x8a\x25\x54\x70\x66\xb4\x19\x63\x79\xb0\x54\xeb\x62\x49\x1b\xa6\x97\x5a\x9c\x79\x67\x72\xdc\x7a\xd6\x3c\x6e\xab\x5f\x4a\x7e\x7f\x53\x52\x52\x67\x24\x1b\xb0\xb2\x7e\xbe\x41\xe2\xad\x01\x7c\xaf\x05\xda\x83\x20\x0e\x65\xf6\xc0\x9f\x61\xc1\xf2\x94\xa2\x71\x3c\x32\x8d\x04\x69\x62\x7d\xa5\x26\xf2\xf9\x52\xf9\x8f\x4b\x42\x99\xe5\x6b\x5d\xc8\xde\xbb\x37\xf6\xc0\x07\x9d\x55\x0f\x7e\xf9\x46\x95\x35\xdc\x4b\x14\x31\x47\xe0\xa1\xcd\x41\xec\xff\x62\xdc\x5c\x67\x4f\x2c\x4d\x43\x73\x32\x51\x45\x92\x8b\xb1\x74\x5b\x3b\xd7\x21\x6d\x36\xfb\x26\xdb\xa6\x9f\xa2\xc8\xc1\x6e\xb1\xad\x83\x8a\xdb\xb8\x70\xc7\x03\x44\x3c\x43\xba\x8e\x55\x9c\x22\xae\xb0\x89\x97\x9c\x6f\xe0\xe6\x2a\xcd\x53\xed\xb0\xd4\x28\x30\x8e\xbc\x6a\x33\xf3\x7f\x1b\xb5\xe2\x5b\x91\x20\xbc\x0f\x3b\x4a\x42\x59\x29\x07\x73\x1b\xeb\xe3\x69\x03\xb1\x0c\x99\x0d\x5f\x75\xa3\xc5\xd2\x38\xc9\xca\x9d\x42\xc0\x71\x9d\x89\xd4\xa9\xc0\x3c\x4b\x4b\x75\x57\x7a\xe1\x20\xe7\x69\xb0\x20\x43\xc4\x84\x05\x88\x3e\xa1\x8a\x41\xaf\x8b\x04\x2d\xad\xf4\x12\x9c\x54\xa7\x13\x47\xca\x1e\x19\x6e\x27\x6f\x19\xc7\x56\x61\xe3\x6b\x4d\x5f\xf6\xae\x98\x87\xdc\xb1\xc8\x85\x75\x34\xbd\x49\xa0\x64\x7c\x4d\x81\x1e\xbc\x40\xc7\xec\x13\x1a\x81\x3c\x5b\x5e\x5d\x9b\x5c\xa1\xe9\x95\x9e\xe9\x8b\xa2\x4b\x68\xca\xb8\xa8\x22\x89\xf8\xed\x2a\x30\xa3\x1b\x22\xea\x20\xe4\x2d\x36\xc5\xbc\xda\xef\xf4\xd1\xd1\x47\x07\xb7\xf0\xb1\x96\x1b\x9b\x92\x39\xc9\xc4\x47\xe6\x6c\x69\x2e\x2a\x31\xc3\x65\x03\x73\x1d\xc6\xcb\xd3\xdb\x83\x67\xaf\x48\xfb\xd4\x44\xf4\x4d\x53\x85\xe3\x3b\x12\xf0\x00\x59\x1c\x04\x37\xa7\xd5\xab\x7b\xd0\x72\x88\x9b\x65\xd4\x45\x07\xc8\x80\xa8\x70\xb8\xfc\x50\x9f\x09\xac\x6b\x10\xb3\x54\x52\xb5\x8e\x89\x75\xce\x98\x9f\xc5\x10\x01\xf8\x89\xcf\x9d\xd7\xb4\x61\x0e\x9b\xca\xba\x1d\x3e\x36\xa0\x90\x9b\xd6\x9b\x23\x39\x02\xa6\x58\x23\xa3\x1e\x3b\xd4\x1d\x37\x8c\xc3\x6e\x7a\x1d\x2e\x18\x46\x96\xf7\xef\x71\x0f\xdf\x7e\x44\xbb\xdb\xa6\xfb\xc8\x54\x5f\xc1\x27\x5e\x7b\x6c\xa1\xe1\x57\x25\x95\xfa\x5a\xab\x1a\x5a\xd3\xa6\xe5\x85\x33\xea\x86\x8e\x38\x59\x5a\x09\x0d\x4c\x1e\xdf\x0c\x7f\xb0\x91\x95\x89\xda\x9c\x82\xc3\x03\x56\x77\xb3\x05\xcf\xb2\x05\x12\xcb\x59\xed\x3f\x2d\xc1\x56\x60\xb5\x0c\x10\xf8\x63\x82\x47\x8a\x4e\xf9\xf6\xee\x6d\x32\xd1\x39\x33\x9d\x09\x4f\xb8\xa4\x60\x31\x8b\xf9\x68\x82\x89\x9c\x5e\xa0\xa9\xde\xa9\xce\x0c\x53\xd9\x36\x7c\xa2\x29\xd7\xc3\x54\xab\xcd\x28\xf8\x63\x30\x3d\xf8\xd8\x54\x4c\x09\xa0\x04\x49\x83\x8e\x22\x4e\x24\x92\x7a\x37\xe7\xab\x11\x35\xa8\x47\x98\x89\x75\x13\x98\x22\xa9\xc1\x73\xce\x24\x5e\xee\xbd\xf6\x80\x13\x66\x33\x70\x65\xc6\x71\x4e\xd3\x67\x98\xec\x23\x13\x80\xf5\x29\xe6\xbe\xd6\xfa\xc8\x03\x46\x4e\x73\x35\xd7\xec\x4f\x18\x99\xbe\x0f\x53\xce\x50\x45\x4a\xcf\xd5\x41\xf8\x48\xbf\xcd\x80\xd4\x74\x9e\xb3\x21\xf0\x1a\x80\x9b\x2f\x32\xdc\x7a\x9f\xa4\x50\xa8\xb4\x2e\x0a\x01\x0c\x5a\x8b\xe7\xf9\xf0\xb5\x17\xdf\x7d\x0b\x23\x3a\xd1\xc7\x19\xc1\x08\x8c\x97\x73\xda\xb4\x7f\x8e\x51\x7b\x81\xb3\x76\x38\x7f\x07\xf2\x58\xda\xce\xeb\x08\x5b\xad\x5a\x74\x70\x5a\x69\x27\x8f\x4a\xca\xf3\x44\x5a\x9d\x91\xa9\xeb\x9a\x0a\x39\xb8\x30\x8f\xf2\x98\xa2\x70\xac\xc8\x61\x66\x59\xf2\xba\x85\xb9\x7f\x80\x11\xb6\x39\x06\x6f\xa0\xd4\x63\x9d\xe4\x3c\xa6\xa2\x0e\x4e\x87\x0f\x20\x81\x23\xac\x1f\xa2\x84\xb2\x9a\x62\xff\xaf\x91\xe7\xa8\x26\x0b\x87\x4f\xfb\x1f\xf2\xe0\x27\x24\xae\xdb\x03\xcd\x29\x8a\x78\x84\x61\xbe\x1b\x95\x89\xab\x2e\x91\x6a\xed\xd7\xa8\xc4\xad\x14\x49\x8d\x5d\xd9\x5a\xd0\x27\x34\xed\xba\xcb\xec\x41\x42\xff\x37\x94\x72\xf9\xe6\xed\x64\x9c\x3c\x02\xbd\xf6\x62\xa9\x0b\x4d\xf8\xa4\x2a\x3c\x4c\x2c\x05\x13\x0e\xcd\x8e\x32\x18\xc6\x7c\x81\xc5\x67\xdc\xf2\x5e\xa9\x40\xcc\xf0\x4c\x16\xae\xc5\x4b\x59\x9a\x70\xbe\x52\x3b\x0e\x66\xc8\x8b\xbf\xc2\x98\xd7\x97\x37\xdd\x9b\x69\x3f\xf6\x7d\xe9\xab\x57\x87\x83\xd3\xb2\xe3\x6c\x4e\x47\x45\x6b\x73\x66\xbd\xe9\xbf\x1a\x37\x6d\xcc\x9b\x7f\x12\x63\x65\x45\xc9\xe3\x8b\xf4\xdf\xc5\x01\xf8\x8d\xb9\xfe\x2f\x33\x17\xf0\xc3\xd6\xdc\xc5\xaf\xc7\x5c\x2a\xd6\xd7\xa6\x25\x1f\x18\x28\xeb\x01\x13\x3f\x44\x11\xac\xa5\xcf\x25\x34\xe6\x93\x72\xfc\x79\x69\x2b\xff\xd6\x65\x65\x6c\xf0\x40\xb4\x90\x26\x06\x67\x72\x6c\x79\xb6\x9d\x0d\x24\x7b\x0d\xc6\x03\x0c\x54\x25\x4c\xae\x7d\x91\xce\xc2\x3e\xa5\xc2\xcf\x37\xbe\x5b\xc2\xd5\xa0\xce\xc5\xad\xf8\xb1\xbd\x8d\x51\x38\x57\x7b\xbb\x58\x3c\x11\xd3\x0f\x5d\xb2\x93\x5c\xcf\xaa\x23\x38\x39\xfa\x1a\x09\x93\x35\xa8\xd6\x5f\xd5\xf3\x5a\x57\x0f\x55\xe7\xde\xcb\x71\x78\xeb\x3c\xed\x6b\x6c\x59\xbc\x5f\x6b\x48\xd6\x36\xb2\xf1\x9e\x9e\x91\x89\xa3\x57\xa6\x32\x42\x7b\x2c\x54\x2c\xe8\xb0\x0e\x78\xb2\x1a\x7c\x57\xe4\xa6\xca\xa4\x61\x82\xc0\x8d\x4e\x63\xf6\x86\x7c\x6f\x62\xd3\x48\xab\xb2\x35\x63\xe8\xcf\x4a\xd3\x82\xca\x87\x7b\x0f\x64\x9e\x9b\x59\xe1\x5c\xf0\x05\xef\xc2\x2a\x5f\xd0\x30\xac\x35\x23\x5a\x33\x94\xf2\x8d\x96\x59\xce\xfd\x94\x96\xf7\x36\x7d\xc2\x65\xcd\xeb\x3e\xe5\x55\x26\x77\xe5\x75\x4d\xa4\xe8\x1f\x45\xad\xb7\x32\xb5\x86\x17\xde\xb7\xcc\x0e\xb4\xe1\x32\x61\x2a\xeb\xf1\xb8\xa6\x27\xfb\x24\x0b\xec\xe4\x6f\x2f\xc7\xf1\x8c\x4a\x91\x95\x2f\x4f\x32\xd1\x30\xb6\x9b\xf5\x56\xd3\x6b\x01\x2f\x76\xa5\x5a\xa1\xb2\x81\x86\xf2\xce\x1a\x4f\x15\xbb\x82\x53\xc4\xdb\xa9\x8d\xad\x55\x7a\x73\xe6\x14\xbf\xcb\xb5\x1c\x7e\xb9\x2a\xb7\xa6\x2b\xcc\xec\x7a\x63\x1c\x03\xce\x69\xa1\xf3\x8f\x67\x71\xba\xfa\x2c\xc0\x14\x37\x0f\x58\x9f\xc4\xef\xf9\x93\x3e\x76\x84\x7a\xd8\xd8\x4a\xbf\x95\xf9\x81\x37\xe1\x6d\xfc\xf3\xd6\x18\x09\xfd\x4c\xa9\x29\x3b\xbe\xd3\xab\xd3\xec\x9a\xe7\x3b\x79\x7a\x9f\xba\xb3\xa3\x55\x93\xb0\x63\xb2\xd2\x25\x53\xba\x6a\x0e\xf2\x13\x45\x2f\x6e\x92\xd3\x14\x79\x91\xc2\xc8\xe3\x84\x34\x94\xd8\x1c\x99\xb3\xb6\xea\x4e\x1e\x93\xac\xee\x7a\x45\x69\x17\xc5\x84\x57\x25\x76\xb4\x14\xc9\x3f\x08\xd9\x7b\xad\x79\x46\x97\xf1\xbd\x4b\x5b\x1d\xb1\xe4\xbb\x72\x02\x72\xed\xb3\x9d\x60\xd5\xb6\xd7\x3f\x33\xbf\x89\xdd\xfb\x60\x06\xe7\x72\xf8\xfc\xc5\xb3\x8b\x2e\x04\x46\xf0\x82\xea\xee\xc5\x3f\x68\x27\x69\x7c\x9d\x65\x85\x0a\x8a\xfb\x79\x09\xc8\x32\xe5\x70\x4d\xc6\xe8\xc5\x0c\x17\xce\xcc\x56\xd1\x3c\xa3\x63\x81\xd3\x1b\x95\x62\x75\x72\xd5\xb0\xb2\xc5\x2e\x54\x63\x0d\x50\x43\x31\x76\xbb\xb3\x41\xa8\xee\xe5\xc4\xa3\x55\xe1\x76\xf1\x4a\x4d\x16\xd7\xd8\x1c\x23\xd5\x0d\xae\xd2\xd0\x1a\x25\xaf\x1e\x9e\x16\x9b\x18\x19\x2d\x8c\xa9\x13\xbe\xa6\xb0\x90\x48\xc4\xf5\xc9\x4a\x3c\x41\x2f\x9d\x24\x37\xc9\x64\x19\xcf\x44\x81\x50\xb3\xf0\x07\x05\xea\xa2\xb3\x6e\x82\xd6\x33\x01\x82\x04\xe1\xb2\x04\x9b\x45\xab\x5a\x16\x71\xee\xbf\x12\xf3\xba\xb2\xf1\xd7\xd7\xe0\xe3\x82\x16\xb6\xd5\x76\x7e\xeb\xad\x42\xd7\xdf\xc9\xa6\x79\xad\x83\x68\x12\xaf\x54\xcd\x96\xb1\xf5\x66\x08\xb6\x2b\xff\xf7\x17\x20\x70\x6b\xd7\xd9\xad\x8d\x17\xa8\x00\x9c\x0a\xc5\xec\xc2\x83\x86\x15\x07\x7a\x26\xd4\xc7\x7d\x8c\x65\xbc\xf0\xf1\xf3\xcf\x66\x61\xaf\x6f\xd8\xf5\x7c\xa8\xc3\x80\xb3\x25\x78\xe6\xe5\x32\xe5\xfd\x88\x30\x2d\xb1\xcc\x2b\x2d\x9b\xcb\x91\x3d\x27\x6f\xab\x96\x99\x23\x83\xb6\x16\xde\x74\x69\x48\x57\x3a\xb9\x59\x12\x18\x18\x20\xa7\x62\x79\xe0\x44\xdc\xb4\x41\x67\xf9\xaf\xe3\x02\xd7\x30\xd2\x76\x1d\x1a\x24\x5a\xd1\xe9\xa1\x9e\xd3\x83\x77\x2e\x62\xaa\x27\xc0\x87\x1b\x5e\x08\xee\xfd\x3c\xc1\xd3\xa7\x15\x0c\xe7\xa4\xb0\x49\x24\x87\x45\x89\x9b\x8e\x88\xd2\x0c\x89\x0e\x37\xe6\x70\xb2\xdb\x13\xd5\x20\x34\x59\xe6\x1c\x7a\x36\xe1\x23\xea\xba\x7d\xd3\xeb\x11\xc0\xc3\x4d\xbf\x56\x53\x81\x9b\xc2\x37\x03\x23\xa5\x6e\xd5\xe6\x04\x30\x02\x55\x47\xc1\xa4\x19\x4e\x17\xa9\x92\xaf\x80\x5b\x25\x99\x25\x20\xe6\x0d\xdc\x9c\x5c\xe3\xe1\x71\x1c\x6f\xed\xa3\xfd\x95\xba\x3e\xbd\x5c\xce\x47\x1c\x5a\xce\xe3\xbb\x64\xbe\x9c\x3b\x16\x8b\x7c\x49\x72\x15\x59\xb7\x66\x16\x01\xda\xa3\xa7\x13\x2d\x2b\xa0\x77\xc7\xd7\x2c\x22\xd3\xa8\x8f\x04\x71\x6b\x29\x5c\x22\xd4\x98\x86\x42\xe9\x65\x7e\x3a\xa1\x5a\xe0\x6b\xba\x58\x26\x97\xea\x21\x9b\x72\x18\x8f\x18\x05\x1d\x03\x64\x2f\x1d\xcf\xf7\x83\x71\xca\x97\x8a\x47\x41\xac\x1c\x8a\x78\xda\x08\x48\x38\xc3\x89\x9d\x71\xbc\xe4\xe5\x99\xa0\x77\x97\xa9\xba\x5b\x30\x2a\xc8\x5f\x49\x8d\x77\xbe\x88\xd3\x64\x8c\x6a\x13\xad\x9f\xf1\x4b\x4d\x01\x83\x29\xbf\xf5\xb4\xaf\xd3\x84\x54\x58\x6f\x8f\xb0\x14\x36\x93\x14\x3f\xcf\x3c\x68\xf5\xef\x96\x4c\x31\x71\x20\x04\xa5\x38\x49\x96\x27\xb9\x14\x34\xfb\x91\xd8\x12\xcd\xe1\x30\x35\xd7\x2a\x7e\x61\x24\x87\x2f\x5e\x7c\x78\xf3\xec\xf5\x9b\xd7\x7a\xe6\xfa\x35\x85\x90\xed\xd6\x17\xd0\x3e\x25\x4b\x8a\x2f\xb1\x2e\xd4\xaf\x97\x90\x31\xb7\x54\x9f\x8d\x71\x7f\xf5\xbd\x8c\x67\x18\x6a\x61\x2b\x62\x5d\x83\x23\x5b\xa5\x5a\x60\xdb\x37\x54\xca\x94\xc8\xc3\x91\x21\x1d\x2e\xbe\x59\xc4\xc0\x9d\x79\xea\x76\x5d\xd0\x17\xf4\xda\x1c\xf3\x0b\x34\x36\xe1\x65\x89\xf6\xe4\x81\xad\xbb\x83\x77\x3d\xa5\x7c\x33\xf1\xa1\xab\x08\xd0\xb3\xaf\x22\xde\x11\xd3\xb2\xba\xe8\xdb\xce\xe8\xfc\xc8\x85\x9e\x3f\x62\xa1\xa7\x06\xb1\x0b\xa4\x7f\x74\x0b\xa4\x45\xb5\x81\x01\x7b\xfb\xa3\xde\x44\x08\x18\xf2\x65\x66\x98\xe4\x56\x61\x7e\x7d\x89\xe3\x15\xed\x7c\x76\x7e\xbe\x23\xd3\xe7\x78\x65\x07\x44\x4b\x82\xce\xd1\x6b\xa6\x3c\x03\x37\x85\x43\xeb\x58\x84\x99\xc3\x6a\x3a\xd9\x96\x9d\xf5\xc2\x25\x65\x3a\xad\xe2\xce\xfe\x60\x2f\xd7\x90\x11\x10\x09\xe8\xe8\x7b\xc3\x06\x4e\x38\xc3\xaf\xd4\xff\x27\xef\xdd\xf7\xdb\xb8\x91\x84\xd1\xff\xfd\x14\x6d\xef\xb7\x43\xd2\x26\x29\x92\xba\xcb\x51\xb2\x14\x45\xc5\x9e\xf8\xa2\xb5\x64\x7b\x77\x14\xc7\x69\x91\x2d\xa9\xd7\x24\x9b\xcb\x26\x2d\x6b\x12\xef\xef\xbc\xc6\x79\xbd\xf3\x24\x07\x75\x03\x0a\x7d\xa1\x28\xdb\x99\xd9\x99\xcf\x33\xbf\x48\x42\x03\x05\xa0\x00\x14\x0a\x75\xbd\xec\x7f\x9a\x6a\x6e\x18\xcd\xd3\xb9\x26\x6e\x14\xdc\x1d\xf6\x35\x5b\xab\xa9\x07\x04\x0c\x2c\x9e\xa8\x18\x45\xc4\x1e\x8b\x11\x88\x7b\x02\xdf\xdf\x0f\xbc\xad\x50\xd2\x5c\x33\xcb\xac\xa7\x95\xdd\x2c\x7b\x14\x77\x99\xdb\x15\x8f\x1e\x59\xb3\x34\x56\xbc\xab\x8f\x19\xad\xfb\x88\xd4\x35\x13\xe4\xea\x90\x21\xa6\x73\x6e\x4e\xda\x25\x61\x5c\xfc\x3e\xd8\x23\xd1\x35\x93\x67\x78\x1a\xb2\x01\x33\xb7\x87\x15\x4a\xd0\x67\x1a\x7d\xab\x93\xeb\x32\x0b\x8e\xdf\x09\xd1\x9f\xed\x01\x38\xe6\x9f\x0b\x8f\x20\x79\xce\xba\x48\xe6\x97\x50\x96\xba\xa2\x55\xe1\xcc\x27\x51\xd2\x5c\x9c\x8d\xea\xe4\x5f\x66\x29\x0a\x71\x3e\x9f\xc2\x01\x3e\x0e\x60\x73\x46\x78\x45\x14\xc3\xa0\xc1\x0b\x0c\xec\x50\x36\x34\x82\xa4\xef\xce\x47\xcd\xe2\x40\x6c\x51\x0c\x53\x4e\xa6\x27\x13\x7b\x1f\x82\x92\x8b\x7d\x09\x79\x19\x60\x48\x28\xf5\x23\xae\x26\xb2\x5e\xea\xce\x74\x13\xaf\x1c\xf5\x2e\x58\x9d\x22\x1e\x5b\xc2\x63\x29\x56\x8e\x38\xe5\xa8\xcd\xbd\x62\x5b\xf1\x5b\x2d\xf4\x0a\x62\x2f\x68\xd8\x8f\xf6\xf5\xee\x26\x67\x81\xdb\x60\x9e\xc5\xef\x6e\x79\xba\xf3\x3f\x99\x95\x17\xd0\xe1\xbe\xea\xde\xb3\x11\xf5\x9c\xaa\x5e\x24\x7a\x71\x21\x72\x45\x24\xae\xeb\x03\xf0\xe9\x9c\xc5\x21\x3d\xbd\x73\x7d\xdc\x72\xf6\x9e\x18\xf6\xd1\x80\xa3\x47\x01\x67\x7c\x32\xe7\x70\x36\x33\xc8\x65\x37\x64\xe5\x73\x1b\x2b\xb6\x8d\xa4\x0d\xf6\xe5\x4f\x8e\x19\x48\x56\x51\xc6\xe3\x2c\x27\x2e\x13\xc3\x67\x18\xae\xc3\x3c\x77\x57\xdd\x18\xc9\xe4\x35\xb7\xe8\x0b\xfc\xf7\xb9\x1b\x8d\xfd\x7d\xea\x18\xc9\xa0\x8e\xee\x50\x80\x40\xc6\xab\x78\x03\x49\x70\xd1\x8a\x40\x5c\x45\x06\x52\xa9\x41\x20\xba\x96\xb9\xfd\x78\x61\x73\xd0\x40\xb3\xba\x48\xf7\x98\x6f\x31\xf5\x29\x52\xa9\x12\x1b\x31\xff\x1a\xfa\x06\xe2\x40\xe0\xb8\x00\x98\xbb\x6a\x8d\x65\x7a\x60\x0f\x14\xba\xa0\xab\x41\xf0\x16\x2e\x27\x01\x26\xaa\xe2\xcb\x84\x3d\xb5\x86\x91\x39\x9c\xf8\x2c\x8f\xe7\x59\xd1\xbe\x2f\xc4\xa0\x0e\xdc\xe5\x16\x5a\xb9\x4d\x3c\xc7\x6e\x90\x03\x4b\xc3\x0b\x78\x1b\xa6\xe6\x5d\x37\x1a\xb0\xc5\x16\x6d\x02\xe7\x55\x15\x38\x0b\xaa\x19\xdd\x0c\x6e\x13\xe7\x79\xee\x9c\xe7\x94\x5a\x14\x8c\xf2\x67\xd7\x03\xc5\x9f\xb9\xf6\x4d\xe1\x4c\xfb\x30\x8c\xe7\xd4\xf0\x7d\xcd\x97\xcb\xf1\x93\x0e\x2c\x96\xc0\x62\x1d\x63\xc0\xc0\xe4\x88\xb7\x05\xb9\x22\x48\x32\x9d\x96\x29\x83\x29\x11\xa0\xba\x71\xf2\x9c\x80\xaa\x20\xaf\x6f\xc6\x49\xa7\xa0\xe2\x42\x62\xe6\x87\x4a\x9b\xc1\xe6\x14\xf3\x3f\x1e\xf7\x5f\x1c\x3e\x7d\xf1\x23\xe1\x43\x80\xa2\xa7\x70\xc5\xf3\x28\x73\x87\xdd\x62\xc6\x0d\x1c\x70\x84\x6d\x1f\x99\x5f\x2d\xb7\x8d\x47\xbe\x88\xf4\x14\x0c\x03\xe7\xaa\x2c\x29\x0b\x3a\x96\xd5\x31\x7d\xd4\xb1\x47\x0c\x11\x62\xfe\xda\x83\x3f\xf0\x7c\xb9\x11\xfb\xd0\xfd\x3d\x57\x50\x21\x2b\x44\x73\x94\x89\x1f\x16\x79\x87\x7f\x20\x48\xf6\xbd\xa5\xdf\x94\x7e\x98\xdd\xac\x3d\x21\x3b\x9a\x62\x34\xe3\x06\xc4\x0c\x31\x1b\x1d\x9d\x44\x42\x2f\xda\x4f\xdd\x23\x66\xa3\x68\x2e\x3a\x15\xb0\xed\x30\x0b\x7a\x1e\x83\xcb\x1b\x0a\x46\x52\x90\xd6\x98\x97\xc1\x6c\x8c\x8f\x72\xb0\x2a\xf1\x22\x11\xb1\x97\xd3\x30\x32\x17\xc2\x4c\xe9\x94\x94\x28\xc6\xb9\x4d\x68\x06\xe4\x3c\x49\xcc\xcb\x76\x42\xbe\xfc\xe9\x87\x78\xca\x2e\x1d\x68\x0a\x32\x5b\x44\xec\x19\xc4\x85\xc0\x03\x98\x3a\x53\xb6\x94\xc9\x2a\xae\x90\x3e\x2b\xdc\x78\x2e\xa0\x2c\x6b\x63\xf9\x3b\x32\x0b\xa2\xdf\x45\xd2\x03\xa4\x24\xf6\x4d\xc6\x96\xc7\x3e\x28\xa2\xd9\x5c\x26\x44\x34\x4f\xb1\x33\xd3\x54\x4e\x97\x85\x5f\x9c\x0a\x24\x16\x5e\x04\x8f\x3a\x72\x22\x68\xb7\x82\x4e\xb0\x66\x38\x14\xf5\xc5\x7a\xc4\x34\x9b\x4d\x08\x80\x84\x82\x09\xd3\xe0\xdc\xd2\xd1\x29\x5e\x76\x2c\x42\x81\x85\x46\xf5\xe9\x75\x78\x13\x38\x8f\x4b\xc3\x94\x5d\xa2\xfc\x13\xdf\xe3\x73\x36\xe4\x89\xa4\x55\x34\x19\x0a\x34\x1b\xe2\x68\x8e\xde\x37\xe6\x59\x71\x1d\x61\x32\xc0\x00\x1d\x9b\x53\x8e\xc7\x4d\x4a\x76\x33\xbc\xb9\x39\x4d\xa8\x23\xe7\x0d\x93\x2c\x66\x02\x8a\x66\x08\x72\x8e\xc9\x62\x8a\x36\x94\x81\xe7\xe3\x83\x27\x2a\x8f\x61\x3f\x1c\x62\x1d\x37\x0d\x73\xe2\x19\x8a\x96\x95\xf1\x54\xe1\xe5\x0b\xf2\xa7\x6a\xad\x16\x34\x32\x32\xa9\x0c\x5d\x12\x57\xfc\x6a\x31\xd9\xa8\x7c\x76\x24\x7c\xaa\xb9\x2c\x24\x56\x74\x41\xd6\x97\x52\x2a\x2b\x78\x51\xed\xc8\x0c\x09\xda\x2d\x69\x38\x4e\x4f\x93\x13\x12\x8d\x31\xd5\x91\x29\xd6\x4a\xc6\x5a\x51\x24\x2c\x5d\x8c\xc7\xe6\xc0\xfe\x35\xe2\x37\x69\x86\xfd\x51\x42\xa3\xac\x6c\x37\xbf\x14\xb4\x08\x4b\x92\x5e\x96\x68\xd2\xc4\x18\x4e\x05\x37\xc9\x85\x2d\xf9\x62\x9d\x18\xd9\xf3\x02\xc5\x84\xd0\xb6\x4e\x61\x9c\x0b\x52\x7e\xdb\xc9\xa6\x9e\x8a\x82\x9b\x14\xab\xcd\xb4\x5a\xcb\x59\x3c\x54\xcb\xf4\x54\x45\x57\xa0\x15\x4c\xa9\xc4\x9b\x93\xc0\xc2\x2a\xbd\xfa\x02\xa5\x5a\xfa\x21\xb0\xbf\xee\x81\x52\xaa\xa6\xbc\xab\x44\xae\xe5\xf1\x32\xab\xed\x79\xd9\xf1\x33\xef\xf6\x97\x5b\x33\x3f\xa8\xfc\x56\xe5\x96\x25\x9b\x55\x3b\xc7\x03\x75\xf4\xfb\x31\xbc\x93\xa7\x98\xf2\x90\x68\x4f\x12\x0a\x8f\x78\x71\xd4\xac\xf9\x52\x16\x11\x11\x6d\x70\x4f\x3a\x50\xd6\xd9\x71\xf7\xe4\x24\xd3\xd9\x54\x39\x3d\xa9\xae\xf2\xf1\x0d\x32\x4b\xfb\x61\x02\x44\x90\xb7\xaa\x30\xd2\x0a\xa1\x1e\xab\x82\xfc\x47\xf9\x62\x7b\xc3\xf5\x48\xdf\x6d\xcb\x6c\xee\xcb\x17\xd1\xa7\x39\x73\xc9\xdf\xe4\xe4\xba\xf3\xc6\x0c\xfb\x3d\x25\xa1\x1e\xb2\x4b\xa4\x73\xab\xe4\x2f\x7c\xc7\x6a\x15\xfc\x22\xa5\x88\x20\x2c\xff\x84\x2b\x05\xe3\x86\x9d\x2f\x2e\x2f\x6f\x9c\x69\xa6\x28\x64\xc4\x9e\x93\x7b\xc0\x47\x1b\xd9\x84\xd1\x48\x41\x41\x0b\xef\x04\xe2\x1a\xcc\x70\x2f\x43\x73\x96\xe8\xcd\x31\xf1\xdd\x74\x75\xda\x07\xd2\x55\xe2\x95\x6b\x78\x34\xd4\xe4\xe1\xfb\x22\x4c\x23\xa7\x88\x30\x6f\x60\x0c\x61\xa2\x79\x6a\xac\x81\x72\x66\xb8\x03\xe1\x9e\xa5\xbc\x14\x00\x90\x70\xc4\x97\x2c\x5b\xab\xd9\x8b\x16\xe3\x3a\xd9\x20\x3a\xc4\xd6\x50\xb4\x04\x6b\x1f\x4b\x95\x01\x12\xb1\xf7\x33\x87\x56\x11\xe0\xe3\x1b\x0b\x9e\x01\x29\xbd\x03\xb2\xdc\xb4\x73\xb8\xc6\x1b\x1f\x60\xa1\x87\x2a\xfa\xbd\x1b\x1e\x12\x5c\x1d\xd8\x2d\x5a\x1e\x5e\x39\x8e\xf3\xe9\x04\xad\x9e\xc9\xa2\xc8\x30\x9a\xb2\x96\xee\xbd\xdc\x7d\xf6\xb6\xfb\x9f\x27\x01\x98\xf1\xa6\xe8\xf3\x2a\xda\x4f\x19\xe5\x34\x1e\xe5\x38\xc2\x3f\x82\xc4\xe7\x6c\xa5\x40\xd3\x72\x42\xe7\xfb\xf4\x2a\xe2\x13\x98\x51\x2d\x81\x18\x61\x3c\xe5\x68\x34\x33\x43\xb7\x66\x43\x4f\x03\x8c\xda\xa9\x70\x56\xee\x7c\x54\x7e\x8d\xbc\x8a\x8a\x2e\x12\x75\x6f\xd4\xd5\x08\xfd\x08\x52\x8e\x8a\x3c\x03\xad\x80\xe5\xc0\x25\x82\xd6\x17\x92\x11\xd5\x9d\x68\x38\x7a\xec\x9e\x8c\xab\x3c\x52\x9d\xe1\x33\x52\xd6\x90\x74\x36\xa4\xf8\xc3\x70\x8b\xc3\x64\x61\x2e\xa7\xc6\x14\xc5\xec\x68\x76\x4d\xe0\xf8\xf3\x38\x4e\x17\xa9\xe7\x6f\x0c\x1b\xa6\x7b\xfc\xb4\xc9\x8f\x4e\x94\x2f\xd8\x30\x30\x44\x5f\x45\xe6\xa0\x48\x2c\x26\x47\xc1\xaa\x10\x8c\xbf\x88\x28\x4b\xe4\x79\xa8\xe4\xa2\xcf\x2f\xbf\x23\xfc\xa4\xcc\x64\xb4\x60\xde\xd5\x9f\xe6\xd6\xd4\x10\x0a\xfe\x1b\xb4\x13\xab\xae\xb9\x26\xb2\xc5\xf1\x56\x14\x95\xfe\xfd\xf7\xe0\x7e\x56\x09\x42\x1c\x61\x2d\x47\xd7\xf3\xbc\xb0\xba\x30\x73\x8a\xb2\x3f\xfd\xa9\x98\xd1\xfc\x7e\x3f\xa7\x54\x2b\xe7\x49\x9e\xfb\x6a\x42\xb6\xb5\x67\xcd\x5f\x9d\xec\x56\x75\xb0\xca\x66\xa5\xe0\x3e\x2a\x1e\x37\xdf\x4b\x66\xa3\x1c\x47\xd1\x07\x79\x6a\x80\xc6\x11\x81\xa1\x23\x01\x09\x6b\x24\x72\x2e\xe9\x4b\x67\x94\xb3\x80\xdf\x13\xb4\xc9\xce\xcd\x7b\x81\x60\x11\x41\xad\x2b\x7d\x07\xc7\xd7\x1d\xc6\xa9\x19\xd1\x39\x76\x62\xf6\xa8\x9c\x22\xe6\x3e\x61\x56\x12\x18\x0a\xc0\x30\x75\x66\x08\xe4\xcb\x4f\x1d\x1a\xe8\x68\xdd\x87\xd6\xc3\x9e\x8a\xc6\x5f\xc5\xb3\xd6\x3b\xab\x36\x62\xce\xa3\x40\x49\xfb\x43\x91\x60\x81\xea\xef\x29\x56\xdc\x32\x99\x24\x3d\xc5\xef\xb0\x73\xaa\xbe\x63\x07\x2b\xfd\x95\x75\x61\x2d\x13\x6f\xdb\x5b\xdc\xa7\x12\xe5\x06\x9f\x92\xd0\x46\x39\xa0\x16\x59\xee\x59\x3b\x22\x99\x91\x84\xd7\x51\xb5\xab\xd9\x77\x43\x5d\xcc\x21\x74\x70\xef\x3c\x3f\xcc\x31\x15\x22\x3f\x76\x24\x39\xd6\xb0\xd6\x0a\xd4\xe2\x48\x7b\xac\x48\x10\x10\xc3\x57\xa8\xb3\xb1\x29\xd9\xca\x56\xaa\x2a\x32\x5e\xec\x80\x66\xfc\x65\xec\x73\xb0\x7c\x7b\xe7\xdf\xa3\x76\x19\xb3\xbc\xf5\x69\x54\xe8\xfc\x8b\x8f\xc2\xdf\x2a\x7a\x0c\xd8\xc8\x06\xbb\xab\x9a\x97\x62\xa5\xa6\xe3\x23\xe4\x6c\x00\x0a\xdc\x94\xe9\x23\x3b\x2a\x93\x19\x5e\xa0\xf5\x59\x6c\xbd\xcd\x51\x8a\xf2\x60\xf5\x8a\xba\x9e\x15\x01\x4b\xaf\xe2\x8b\xf9\xd7\xbe\x7c\x24\x20\x28\xec\x08\x19\xcc\x57\xbf\x80\x0a\xde\x39\x85\xaf\x7b\x1f\xa9\xdf\x78\xe1\xfd\xd3\x3e\x03\xab\xb5\x12\x54\x99\x43\xa1\x6b\x89\x2c\x8b\xea\x21\x66\x9c\x2e\x82\x58\x5d\x4e\xf3\x34\x26\xd6\xcb\x33\x20\x72\xb9\x60\x2e\x93\x39\x3a\x1f\x60\x5c\x92\x71\x14\x52\x28\xe7\x19\xea\x0d\xe7\x33\xbc\xce\xe5\xe6\x93\xfb\xda\x06\x8f\x2e\x3b\x5e\xb7\xae\xa1\x99\xc1\x1f\xf0\x80\x2d\xb8\xbd\xad\xaa\x4e\x1b\x42\x59\xc1\x82\x0a\xfa\xe4\x89\xd0\x17\x93\x9c\xb0\x34\xc5\x30\xd1\xa0\x2b\x40\xd7\xb5\x34\x5d\xb0\x39\x14\x89\x1d\xf5\x43\x47\x49\x6d\xad\xed\xb2\xe2\xe2\x0d\x7d\x36\x2c\x75\x1d\x05\x43\x24\x7f\xd3\x16\xce\xe4\x7a\x28\x26\xc8\x30\x71\x6b\xf4\xb3\x5c\xfa\x6b\x81\xa0\x10\x0f\x8c\xe5\xe6\x96\x59\x4e\xb3\x0e\x24\xa0\x08\x40\x77\xb8\xab\x70\x3a\x05\x06\x8e\x79\x73\xb4\xae\x34\x4d\xc5\xb7\x95\x5f\x80\xe5\x76\x80\x66\x42\x07\x37\xd6\x89\x87\x6d\x96\x08\x19\x36\xb0\x41\x9d\x99\x74\xb6\x74\x81\xb8\xe4\x91\x8d\x69\x5e\x10\x12\x19\x2c\x92\xc0\xd6\xea\x7c\x96\x5c\xa7\xe6\x8d\xa4\xdd\x85\xb8\x8c\x9d\x35\x4d\x6f\x60\x3c\x35\x1b\xeb\xc1\xe2\x83\x4c\xec\x54\x28\x70\xf0\xdb\x88\xbc\xc7\x49\xa9\x4b\x7e\x7f\xcc\x09\x24\xf4\x8c\x21\xc1\xa3\xe5\x14\x78\xa9\xe1\x32\x9d\x52\xac\x2f\xeb\x46\x7a\xe1\xbb\x08\x82\x8c\x15\xb1\x16\x85\x1c\xff\x53\x86\x48\x0f\xa7\x0b\x14\xc1\x4e\xc4\x44\x93\x8c\x23\xac\xff\x8f\xb5\xde\x33\xd8\x28\x8e\x5e\x1c\x24\xb3\xfc\x45\xa8\xe3\xe5\x02\x28\xeb\xb0\x85\x6b\x4f\x06\x4e\x19\x23\x39\x62\xcf\xee\xc0\xb6\x96\xc4\x1d\xf5\xce\xf9\x2b\xe6\x7f\xac\xf8\x33\xc7\xb8\x5a\x7d\x0d\x06\xb5\xad\x64\x84\x49\x45\x77\x57\x4e\x08\xc9\xe4\x35\xaf\x10\x55\xc2\x5f\x0b\xd6\x33\x2b\xb4\x12\xde\xc7\x2b\xc8\x3c\x8e\x92\xd9\xd8\xac\xbc\x67\x6d\x18\x42\xe6\x88\x70\xc0\xb6\x00\x5c\xba\x2a\x0e\xb5\xc0\x4b\x23\x73\x9c\x6a\xb5\xfe\x00\xac\xd8\x4c\x59\xb0\x06\xd1\xab\x5a\xb5\xe6\x3c\x39\x8a\x3f\x45\xc3\x6a\x07\x47\x6d\xb5\xd7\x03\x14\xb0\xa5\x7e\x24\xc5\x67\x7c\xca\x25\x8f\x9f\x88\x94\x50\xae\x7b\xb3\xb2\x15\x82\x88\x81\x97\x3c\x50\x32\x0f\x87\x5b\x13\xbe\x64\xea\x17\xa5\x7b\xf1\x76\x12\x89\xf2\xf6\xdc\x4e\x12\x00\x67\xf1\xbb\x02\xd5\x9d\xca\x23\x66\x87\x98\x7f\x34\x95\xf2\x18\xa7\x4e\x9f\x2f\xc4\x74\x6f\xe9\x26\x2e\xbe\xa7\xdc\xce\x46\xaf\x62\x8c\xfa\x65\x9f\x3d\xfe\x75\x44\x02\x04\xa6\xc2\x22\xc1\xb8\xf0\xed\xea\x0a\x7c\xd7\xc4\x0e\xde\x10\x9b\x9c\x31\x42\x1d\xa9\x14\x71\x01\x3a\x69\x08\xba\x60\x73\xb4\xd8\x84\xe3\x63\x28\xa7\xcb\xae\x33\xb2\xb2\x0a\x1c\x72\x57\x72\x3e\x57\x31\x52\x0c\x78\xd8\xf1\xfb\x4b\x54\x61\x28\x70\xe3\xec\x14\x06\x96\xf5\x8f\x1c\x0e\x55\x4c\x68\x65\x1d\x88\xd4\xdf\x09\x50\x78\xf0\x2e\x26\x1a\xfb\x67\x73\x04\x0a\x94\xbb\x48\x6c\x40\x0e\x1b\x69\xe3\x77\x5a\x46\xa2\x61\x76\xae\x19\xf8\xf5\x0c\xae\x2e\x36\x8d\x17\xa9\x1d\x8a\xb2\x78\xb0\xb7\xaa\x0f\xf8\x24\x90\x17\x00\x30\x0c\x70\xc1\x70\xa1\xf2\x36\xf3\xdd\x00\x3c\x15\xa1\x4b\x46\xb0\xd4\xdd\x8f\xbd\xfd\x10\x3e\x49\x9e\x3d\xcf\x30\x11\xc5\x91\xc1\x83\x08\xb0\x46\xce\xb8\xcb\xf6\x24\xd6\x5f\x4b\xa7\x44\xf3\x71\x16\xbc\xf4\x5e\x5a\x0e\x30\x4f\x26\xec\xa3\x21\x1b\xc6\xdd\x7f\x25\xe4\x7d\x06\x6e\x43\x60\x06\x73\x59\xe7\x01\xf2\x51\xe0\xdf\xf2\x46\xd8\xb7\xa0\x6f\xf9\x34\x73\x4e\x77\x62\xa4\x59\xe2\x45\x70\x47\x90\xf2\xf6\x8f\x20\xf6\x55\x0e\x20\xc8\x0b\xaf\x23\x6b\x11\x8f\xfa\xf3\xd1\xc8\x06\x12\x15\xc9\x9f\x32\x25\xbf\x8e\xf0\x4c\x2b\x0b\xf2\x3f\xc2\x86\xfe\x6f\x66\x3f\x2f\x97\x14\x8b\x5b\x3d\xc7\xd4\xc2\xed\x20\x2a\x18\xfa\x8b\xcd\x48\x44\x3e\x69\xc8\x98\x67\x9f\x93\x99\x15\x4a\xe0\x31\x70\x24\xbf\x43\xc0\x92\x32\x32\x3c\x45\x88\x56\x08\x04\xb2\xd0\xc2\xc6\x8e\x5f\x47\x9c\x4e\x38\x0e\x08\xe7\xb9\x13\x0f\x44\x1e\xe2\xb2\x13\xa4\xee\x59\x9e\x01\x98\xbf\xb0\xdd\xb8\xb9\xcd\x6f\x6d\x45\x37\x63\x00\xad\xe8\xd7\x55\x1a\x91\xb2\x0a\x1b\xb1\x81\x96\xf6\x7f\x94\x17\x19\x86\x3b\x9b\x14\xeb\x5e\xc1\x24\xd7\xdc\x09\x10\xe7\xd8\x10\xea\x1a\x52\xf1\x68\x82\x91\x3d\x26\x09\x99\x98\x26\x17\x64\xf2\x26\x9e\xd8\x69\xb9\x31\x78\x81\x89\x59\xa9\x12\x15\xf9\x34\xa1\x3e\xf4\x4b\xb1\xfd\x77\x01\x50\x85\x82\x79\xc2\xa6\xcb\x65\x61\xb0\x2a\x2b\xc0\x53\x5c\x41\xb1\x50\x9d\x19\x83\x4a\xdd\xd3\xe3\xe9\x06\x54\xae\xd3\xaf\x9c\xc0\xb1\x55\x9a\x86\xa5\xf4\x71\x95\x8d\x55\xc8\xad\xe7\x62\xc3\xae\xc8\x22\xe3\x04\x67\x9c\x90\x24\x23\x52\x76\x4a\x51\x7d\x24\x41\xba\xcc\x72\x6b\xb2\xd6\xc8\x44\x80\xf7\xb8\xae\x61\x3c\xe4\xf0\xa8\x14\x6a\x9b\xbd\x20\x40\x5e\xe1\x3e\x61\x0c\x38\xb6\x63\x36\x20\x9b\x9e\xd4\xab\xc0\xd4\xea\x36\x0f\x45\x67\x09\x97\x21\x19\x42\x7f\x88\x12\xa4\x19\x2a\xa1\x4c\xab\x38\x48\x0e\xea\xdf\xc0\x34\xd9\x06\x8d\x77\x06\x9f\xc0\x8e\xa0\x06\xa3\xe4\x5d\x8b\x89\x6f\xcc\x4b\x75\x41\xd1\x27\xb4\xfd\x9f\x4b\x0b\x71\x4f\xdf\x3f\x48\xc4\x30\xa0\xec\x43\x83\x97\x87\x41\xb8\x98\x27\xe6\x8d\xc2\xd6\x5d\xc8\x40\xb1\xc7\x91\x3f\xaf\xd8\x06\xc8\x53\x0e\x64\x2b\xee\x25\xc2\x84\xa6\x88\xe5\x49\x34\xca\xe8\x27\x06\xed\xd7\x4f\x2b\x1b\x17\x36\x9f\xc9\x06\xd6\x37\x95\x38\xb7\x2b\x8c\x2f\x99\xb0\x49\x50\x81\x3a\xc5\xdb\x83\xfa\x1e\xca\x6e\xe0\xfb\xfe\x06\x2e\x0e\x72\xef\xef\x5b\x17\x8f\x57\x3d\x62\x57\xd8\x8a\x0a\x0d\x7e\xac\xe1\x50\xad\x31\x45\x1b\xb6\xfb\x3d\x1b\x69\x18\x1a\x1f\x90\xc6\x41\xb7\x62\x99\x12\xca\xed\x28\x73\x33\x46\x1c\x0e\x15\x7f\xad\xb8\x0a\x7d\xaa\x90\x6e\x73\x47\xc3\x24\x48\x13\xab\xd5\xbd\x90\x1e\x96\xc4\x31\xa6\x91\x88\x65\x1e\x9c\x1d\x8c\xbb\x12\x3b\x6d\x32\xa6\x4e\x84\x66\x14\x77\x23\xb4\x26\x7c\xfc\xaa\xa3\x44\xca\xa4\x56\xb4\x80\x53\x1b\xf1\xca\x74\x6b\x05\x44\xf6\x61\x80\x4f\x89\xf3\x05\x1b\xa9\xa1\x10\x4e\xe2\xb0\x8b\x81\x9c\x7b\x57\x69\x47\x78\x3c\x52\x91\x67\x2b\x8b\x26\xc7\x2a\x8c\x72\xc6\x65\xc2\xc6\x98\xa1\x37\x55\x18\x5c\x80\xe0\x3c\xbc\x31\xaf\x0d\x7c\x54\xf9\xa6\x94\xa0\xbe\x44\xc2\x91\x04\x1c\x27\x50\xbf\xcc\x38\x03\xd1\x15\x66\xf0\x30\xdc\x30\x24\x1f\x43\x50\xf6\x35\x01\xee\xe3\xa9\x41\x10\x4b\x97\xc0\xeb\x74\x94\x18\xd2\x82\xcf\x2f\x1b\xc0\x9b\x4c\xf3\xe0\x69\x57\xb0\x39\xe4\x39\x80\xbe\x0c\xe3\x54\xbb\xf6\x69\xc6\xcf\x06\xd7\x5c\xf5\x5e\x51\x18\x2a\x10\x60\xb8\x97\xb7\x90\x7d\x3c\x47\xe8\xac\xe8\xd9\xed\xd9\xef\xca\x96\xcc\x9d\xd2\x02\x2b\x3f\xfe\xe8\x59\xf7\x8d\xd3\x6c\xc6\x9d\xa9\xc4\xc9\x51\x9a\xe9\x44\x36\x70\x59\xb4\xd2\x34\xa7\xf7\xd7\xa2\x51\x1b\x9f\xbd\xd0\x42\x95\xc2\xc3\xda\x3c\x53\xfc\xcd\x1a\xa9\x40\x2a\x97\xab\x08\x2d\x5b\x80\x85\x76\x21\x4a\xe7\xb4\x33\xae\xb1\x1f\x8f\x07\xb2\x8f\xda\x15\x57\xc4\x23\x38\x3e\x61\x86\xb9\xd4\xdd\x30\x33\x4b\x54\x7c\x73\x7b\xf7\xf4\xea\xc6\x91\xb6\x89\xe5\xd0\x85\xc9\xf1\x35\x40\x20\x66\xca\xda\xce\x39\x79\x5d\xde\x4c\x2a\xdb\xc6\x19\x4a\x88\x7e\xca\x59\x39\x59\xd9\x4f\x38\xbb\xc4\xd8\x73\x56\xa7\xfd\x5d\xd0\x01\x7d\xa8\xc3\x04\x77\x00\x0b\x50\xae\x01\xf3\xd8\xbe\x02\x63\xc6\x2e\xca\x25\x98\x74\x4f\x38\x67\x91\xe4\xa2\x4f\xad\xbf\x92\x39\x31\x20\xe9\x4d\x98\x53\xe0\xc7\x07\x56\xf3\x18\x8a\x45\xca\x89\x11\x15\x9f\x50\xd9\xdf\xdf\xaf\x04\x10\xaf\x33\x9c\xa3\x73\xbf\x33\xcf\xa6\x00\x54\x18\x89\x7b\x90\x44\xb3\x81\x32\x99\x62\xab\xa0\xd2\x9c\x0a\x30\xba\x71\x38\xfb\x20\xa4\x58\xb4\xf7\x14\x6c\x50\xcf\x1a\xfd\x49\x95\xb5\x61\xca\x0f\x84\xec\x51\x7a\xf8\x59\xa6\x8f\x31\x02\xe8\xd7\x71\x14\xc2\xe3\x40\xcd\x55\xd7\xb7\x98\x80\x16\x84\x34\x29\x2a\xb4\xd0\x81\xc5\xc3\xc0\x33\x10\xf3\x53\xce\x1b\x16\x88\xc8\x29\x1e\x82\x38\xff\xe2\x26\xd0\x46\x39\x0e\x09\x4a\x63\x95\x4f\xef\x26\x57\x95\x70\x74\x60\xe6\xbf\x07\xe6\xfd\x02\x47\x1c\x49\x80\x5d\x59\x2a\x1f\x51\x47\x53\xd2\x27\xe4\x6c\x7a\x08\x41\x75\x3b\xe1\xba\x9d\x1d\x4b\x4f\xd6\x82\xd7\xf3\x78\x14\xcf\x6f\x3c\x45\x90\xe1\x09\xe7\xf3\x1b\x89\xbf\xc9\xe1\x10\x74\xce\x19\x73\x61\x70\x3e\x7b\x65\x0f\x00\x43\x31\xa3\x27\x14\x83\x97\x09\x79\xb5\x55\xfc\xa0\x26\xf4\x9d\x8f\x2b\x3e\x14\xe6\x20\x69\x67\x47\x60\x49\x92\x2f\x1f\x21\x24\x2f\x32\x75\x68\x54\x33\xa7\xb8\x23\xcd\x71\x38\xb5\x09\xc0\x83\x2a\x0c\x42\x80\x67\x52\x88\x9b\x4f\x9f\x19\x1a\x9d\xd7\x1b\x6b\x7d\x12\xb4\x9d\x4c\xd8\xe5\x51\x60\xd6\x1a\x54\x5d\xe6\xbc\x62\xa2\xae\x3a\x49\x40\x60\xe1\x92\x8b\x0b\x10\x6b\xc6\xa0\xd4\xba\x9e\x50\x12\x28\x56\xdb\x38\x48\x68\x09\xe2\xd2\xbe\x02\xd9\x44\x0f\x40\xb0\xfb\x83\x27\x17\x1b\x20\x72\x4f\xf8\xec\x92\xae\x9a\x3e\xa6\x60\xb2\xe6\x45\x07\xa3\x76\x41\x57\x58\x04\xed\x47\x5c\x91\x17\x4d\x51\x4d\x8f\x60\xd1\x81\x31\x87\xdd\x6e\x89\x1c\x03\x0a\x68\x9f\x50\xd4\x24\x7b\x14\x7e\xe0\x48\x49\xb6\x00\x23\x25\x05\x7b\x98\x5e\xe9\x9e\xb2\x6d\x82\x54\x22\xb4\x17\xa1\xfa\x44\x1b\x7f\x51\xa5\xcb\x68\x8e\x16\x9e\xb3\x67\xc9\x20\xa4\x24\x4e\x66\x21\x0a\x0d\xc4\x78\x9f\xd1\x98\xb1\x0e\xba\xf2\xa2\x73\x0c\x7d\xb2\x73\x58\x42\x2f\x1d\x9d\x04\x65\xed\x1f\x40\x08\x29\x40\x83\x7a\xa4\xc9\xdd\x4c\x1d\xff\x0a\xdd\xfe\x4a\x71\xb2\xd0\x60\x08\xad\x2e\x1f\x98\xd2\x38\xbd\x7a\xe0\x93\xe7\xbf\x3d\x3d\xb5\x3c\xc6\x9d\xa8\xea\x3f\x3c\xa9\xd4\x84\x52\x68\xa4\x4f\x19\x33\xa7\x05\x9d\x3b\xfe\x90\x93\xf2\xf5\xe7\x84\x49\x27\x9f\x93\x2c\xa7\x2a\x96\x18\x88\x3e\x4c\x27\x80\x64\x0b\x99\x55\x49\x37\x44\x56\x0e\x68\x5a\x91\x3f\x20\x90\x19\x01\xa2\x78\x5f\x91\x6f\xe4\xd3\x39\x6d\xa5\xd4\x8b\x3d\x55\x27\x5b\x10\x7c\x8a\x51\x4a\x5d\x08\xe0\x0b\x34\x4d\xe4\x74\xd4\x87\x8d\x09\x6e\xd7\xce\x37\x0f\x2e\x7c\x55\xe0\xc0\x9e\xa2\xc9\xe5\xa9\x85\x84\x85\xa4\xdf\x81\x29\x9a\x91\xb5\x24\xb8\x26\x7f\x42\xaa\xcc\x2a\x0d\xf6\x6a\xbb\xb2\xae\x6a\xf5\xa0\x8d\x81\xdd\xe7\x1c\x73\x6d\x46\xa3\x36\xd4\x9c\x4f\xb5\x75\xd2\x96\xcd\xde\x15\x92\xcd\x43\x27\x1a\x14\x3c\xf0\xf0\x4a\x57\xde\x83\x15\x37\x63\x7e\x91\xf5\xc6\x74\xd3\xce\xba\x78\x38\x86\x12\xc5\x1f\xa5\x66\x3b\xb0\x41\x09\x19\xfb\xd6\x98\x45\x5f\xa4\x67\x0a\xb3\x8f\x82\xce\xbb\xec\xbd\x4b\x3b\x02\xdd\x9e\xab\x6b\xd5\xb3\x5f\xd6\xde\x3d\xda\xfb\x79\xf8\xa8\x06\xff\xf9\xb9\xf6\xc3\xff\x59\xf3\x8d\x2c\xa1\xd1\x0f\xf0\xdf\xb3\x36\x04\xff\xae\xfc\xf0\xc3\x0f\x95\x9c\x40\xec\x2d\xa7\xc1\xb5\x82\xb0\x44\xeb\x25\x4b\x53\x1f\xe6\x70\x57\x90\xfd\x90\x41\x66\x22\x7a\x00\x57\x5f\xe0\x69\xe9\x9f\x93\xe7\x86\xaa\xfa\xc6\x15\xbc\x89\xe1\xd6\x5f\xcc\x95\xf6\xb4\xf8\x8d\x0f\x1b\x8b\x9e\xc9\xb8\x34\x19\x62\xec\x9f\x13\x8a\x8f\xa1\x75\xe7\x62\x31\x02\x71\x6e\xca\x1e\x8f\x40\x50\x04\x67\xf6\x19\xa8\x90\xb8\x4a\xfe\xc8\x1c\x12\x51\xa8\x92\x49\x21\xec\x61\xb1\xe8\x95\x53\xcb\xcb\x57\x75\x3b\xe5\xa6\x5a\x2e\xa2\x62\x67\xb9\xfc\x0a\x48\x2c\x9a\xbf\xf3\x0a\xac\xb2\x01\x29\x68\x66\x91\x1c\xb0\x60\xe2\xa4\x15\xd1\x13\x87\x5c\x6d\x2f\x5f\xbf\xea\xf5\x83\x23\x83\x13\x4c\x83\x34\x4c\xe6\x6b\xff\x95\xae\x99\xdf\xde\x2f\xe6\x17\x3b\xcd\xff\x4a\xef\xa1\x39\xfc\xf4\x66\x06\x01\xeb\x82\xea\xa0\x16\x74\x5a\xed\x0e\x92\xc1\x9e\x99\xe7\x38\x5e\x8c\x83\x97\x27\x41\x77\x61\x68\xda\x2c\x6d\x06\x5d\x10\x2e\x41\x5d\x14\xe3\x47\xb3\x8f\xf0\xc8\x01\x2e\x3f\x75\x1a\xf7\x34\x59\xcc\x06\x11\x07\x0b\x4e\x83\x4b\x48\x36\x31\x91\xa0\x93\x07\x27\x87\x8d\x74\x7e\x33\x02\xd7\x9b\x41\x34\x11\x6f\x13\xd6\xbb\x83\xb7\x24\xb8\x1d\xc8\xc5\xfd\xec\x69\xaf\xff\xe2\xa4\x8f\x77\x4b\xf3\xde\xbd\x0a\x18\xff\xc0\x86\x1d\xcc\x51\xe9\xb3\x16\x9c\xbe\x3c\x7c\x59\x1d\x86\x1f\xe3\xe1\x79\x34\xa9\xed\x05\x6f\xc5\xa0\x8c\x69\x29\x08\x89\x87\x6c\x87\x8f\xf4\x58\x42\x31\x9b\xb7\xca\x3d\x4c\x68\xc8\x91\x92\x69\x79\x39\xa6\xea\x84\xdc\x72\xe2\x49\x43\x0c\x9e\xfc\x10\xce\x30\x65\x68\x7d\x35\x9f\x4f\xf7\xd6\xd6\xae\xe3\x0f\x71\x13\x92\xac\x5f\x5f\x36\x93\xd9\x25\xfe\xbd\x46\xb7\x66\x9f\xfb\x57\xb5\x87\x1f\x07\x69\xf3\x7a\x1d\x6b\x5e\x5d\xae\xc9\x08\xd7\x66\xe1\x75\x03\xe6\xb9\x36\x8f\xa7\x6b\x2f\x0d\xce\xc0\x98\xac\x79\x35\x1f\x8f\x1c\xe3\x49\x46\x05\x90\xb7\xf1\xf5\xe9\x51\x63\x07\xdc\x92\x0d\x96\x15\x6f\x62\x8a\x77\x0e\xa9\x30\xbf\x77\xd8\xe3\xd6\x05\x03\x39\xbf\x01\x6d\x18\x7a\xdb\x32\xc2\xad\x22\x93\xd3\x0b\x5b\x7d\x22\x56\x7d\x06\x35\x39\x20\x10\x03\x8b\xd1\x66\xe1\xd2\x6c\x86\x94\x56\x7c\x9a\x40\x06\xdb\xf3\x08\x90\x4e\xc3\x1b\x62\x90\x7d\x07\xe0\xfb\xa0\xd5\x74\x3b\x79\x18\x1d\x27\xf1\x24\x0b\x16\x62\xba\xcc\x0c\xa7\x0b\x7b\x21\x99\x28\x39\xa8\xeb\x63\x09\x54\x6c\x7d\x80\x8d\x11\xac\x97\x8f\x69\x80\xb1\xfd\x43\xe2\x93\x19\x8d\xe1\x3c\xac\x83\x04\x12\x0d\xde\xc1\x5e\x30\x1c\x90\xad\x3c\x19\xc6\xa1\x37\x95\x79\xb4\x7e\x8c\x93\x05\x32\x1c\xd0\x80\xb3\x1d\xe3\xb5\x6f\x53\xa8\xd0\x86\x8b\x66\x59\x2a\x7b\xa2\xf2\xf2\x62\x63\x8c\xf3\x00\x55\xeb\x2e\x02\xb4\xb0\xdd\xee\xb9\x20\xfc\xc5\x89\x7a\xcc\x91\xec\x14\xd0\xb0\x98\xc4\xb9\xf8\xd1\x80\x10\x83\xfd\xf9\x35\x04\x73\x69\x7d\x6a\xb5\x54\x06\xbe\xd6\xa7\xa3\x23\x9f\xf7\x90\x61\x01\xca\x71\x58\xbc\x62\x8c\x04\xfd\x70\x01\x4c\xb5\xb7\x5c\x10\xa4\xfc\x86\x53\xb4\x8b\xc0\x14\x6a\x57\xe0\xf6\x37\xdd\x07\x92\xcc\xbd\xc8\xcc\x0a\xde\xe3\x05\xc6\x55\x98\xf5\x91\x9f\xeb\x83\xab\x70\xd6\x33\x7d\x74\xe7\xd5\x58\xbd\xc0\xb3\x7b\x55\x79\xd0\x50\x85\x41\xf0\x9d\x29\xfb\xb4\x7d\xe4\x87\x22\x9d\x73\x0e\x67\x84\xab\x60\x7a\xee\x93\xad\x4f\xbd\x16\x34\x1f\x80\x56\x90\x01\x1d\x7a\x80\x72\x7b\x7a\x10\x34\x02\x68\xf6\xd8\xaf\xa2\x4f\x53\x3b\xf3\xcd\xdf\xbc\x9f\x76\x5a\x85\x23\xe9\xe7\x46\xd2\x5f\x65\x24\xfd\x65\x23\xe9\xdc\x36\x92\xe2\xa1\x1c\xe5\x86\x72\xb4\xbd\xc2\x50\x8e\x96\x0d\x65\x7d\xf9\x50\xc0\x9c\xb0\x64\x30\x3b\xb9\xc1\x1c\xac\x32\x98\x9d\x25\x83\xd9\x58\x3e\x98\x4e\xab\x7c\x34\xbd\xdc\x68\x0e\x57\x19\x4d\x6f\xc9\x68\x36\x97\x8f\x66\xa3\x55\x34\x9c\xdc\x5e\xaf\xfc\xbc\xb8\xb8\xb8\x18\x56\x6c\xbd\x22\xb1\x0f\x4d\x62\x27\xb7\xbe\x07\xf9\xad\x66\x47\xd8\x68\x3c\x2e\x9f\x5e\x35\x53\xf2\xdd\x77\xc1\x16\xbc\x3a\xab\x34\xef\x9d\x56\xcd\x35\xbe\xf5\x38\xc3\x3f\x73\x5d\xfc\x08\xea\xb2\x00\xcc\x16\xdc\xad\x65\x98\x17\x48\xc0\x2a\xbe\x7b\x14\x01\x83\xae\x13\xf4\x1f\xf0\x21\x98\x5b\x17\xdc\xad\x80\x0b\x4c\xcd\xfd\x97\x5c\x92\xee\x2e\x9e\x59\x81\x19\xfc\x43\xea\xa3\xe6\xe2\x4f\xe5\xb1\xaa\x89\x74\xc6\xcd\x31\xbb\x4c\xde\xe3\x3a\x00\x79\xbe\x41\xf2\xa1\x39\x5d\x88\x66\xdb\x0e\xd0\xed\x80\x10\xad\x39\x3a\xaa\xe5\x5b\xbb\x5a\xdf\xe3\xd1\x38\x82\x6a\x1e\x96\x4a\x57\xbd\x70\x87\x30\x56\x90\x75\x01\x61\x91\x90\x7e\xc9\x57\xb9\x98\x4f\x17\xf3\xa6\x57\x3d\x3b\x63\x3e\xa1\xd9\x51\xd8\x71\xd0\xbd\xd3\x84\x7b\xb5\xc7\x84\xdc\xb5\xaf\x3d\xf6\x1a\x15\x8e\x8f\x52\x11\x7b\x8b\xd5\xcc\x54\x70\xe3\x69\xe4\x48\xc6\x0a\xc3\xc9\xd4\x84\xdb\x13\xd7\xc8\x6c\x56\x35\xd5\xef\xbf\xff\x3e\x68\x9b\x79\xfe\xc9\x7c\x5e\x37\x68\xcf\x07\x0b\x33\xcd\x7a\xd4\x4c\x2d\x2d\xd7\xce\xce\xf4\x5e\xd1\xef\x9f\xcb\x4e\x32\xb0\x4a\x49\x82\x0a\x5c\x62\xe4\xc0\x18\xce\xbc\x21\xe2\x06\x32\x01\xee\x30\xbc\x8a\xc0\xf0\x9c\xf9\x15\x0a\x65\xa2\x81\x90\xb7\xc0\x28\x61\xc3\x7a\x74\x0a\x05\x08\xcd\xdb\x68\x46\x19\x6b\x48\xff\x62\x47\x09\x3e\x2b\x49\xb1\x7d\xcd\x9b\x1f\x85\x9c\x99\x63\xc9\x9a\x2a\xd0\x96\x0d\xa2\x3d\x88\xfc\xec\xf4\x64\x70\x81\xef\xb2\xc8\xb2\x66\xb1\xf3\xee\xc6\x80\x04\xff\xd7\xb0\x63\xd4\x00\x98\x32\xcd\x7c\xc1\x63\xcf\xb3\x0f\xab\x8a\xb2\x50\xb1\x6f\xd5\x5a\x8d\x9b\x53\x7d\x3f\xb1\xc0\x44\xd8\x66\xaf\x63\x1a\x18\xae\x98\x7d\x28\x67\x5e\x64\x87\x18\x39\x07\xdd\x8f\x42\xf7\x7c\x31\xcf\x9b\x54\xe7\xc2\x91\x47\xe0\x3d\xeb\xfb\x0f\xb5\xbd\xf3\x1d\xa0\x60\x09\xa9\xd0\x35\x65\x4b\x48\x7f\x30\xef\x3d\x8c\x5e\x08\x8e\x3e\x29\x50\x21\x0c\x8d\xf0\x21\xba\x99\xe2\x83\x84\xbc\x5b\xc9\x84\x09\xcd\x1d\xd8\xb8\x16\xc7\x02\x9c\x5e\x38\x60\xc2\x8f\xa9\xc4\x60\xf7\x1f\x3c\x3f\xfe\x61\xc9\x66\x39\x75\x4f\x4b\x34\x1a\x04\xac\x94\xaf\xa1\x7e\x84\xd2\x6e\x42\x54\xd5\xcb\xf6\x95\xd6\xd9\xd0\x91\xce\x6c\x46\xbb\xcf\x52\x7a\x93\xf0\x8e\xb2\x5b\x89\x36\x01\xf5\x97\xdd\x04\xdf\x82\x03\x87\xeb\x16\x93\x23\x9a\x31\xe0\x58\xd4\x93\x8f\x85\x28\xd0\x72\x55\x6e\x9d\x69\x63\x8e\xa5\xd6\xf7\xd7\x00\xb9\x1a\x53\x74\xe8\x69\xa6\xb8\xf9\x4e\x41\xf3\x03\xdd\x1c\xbd\xe9\x1f\xb5\xbd\x29\xe9\x6b\x09\x46\x39\x2c\x18\xe5\xa3\x76\x86\x15\x71\x63\x1d\x42\x67\xc3\xa2\xb1\x32\x8a\x4e\xae\x31\x28\x69\x6e\x07\xeb\x1b\x6a\xe0\xf8\x58\xba\x52\xec\xa5\x00\x4c\x11\x5c\x29\xa6\x74\x68\x0b\x3d\xf6\x82\xa2\xaf\x96\xdc\x0a\x79\x8c\x2d\xbd\x44\xf2\x95\xbd\x70\xb0\x8e\x0f\x18\xc0\xc9\x93\x93\xce\x88\xb3\x94\xdf\x2d\x69\xc1\xfb\x6a\xd9\xeb\xca\x8f\x45\xab\xd6\xd6\xc2\xc9\x03\x2a\xba\xad\xf1\x69\xf6\x3b\x34\x83\x1b\x79\xcb\xdd\xac\x05\x2f\xad\x7c\x2f\x3e\xc7\xb4\xb4\x9b\xbe\xea\xa6\xdd\x29\xee\xa7\xe3\xf5\xb3\xf6\x50\x77\x25\xec\xd9\xc3\xb5\xd5\xfa\x3b\xd2\xfd\xed\x14\xf7\xb7\xfe\x58\x2f\xd9\xf5\x15\x44\xf6\xab\x7a\x92\x11\x37\xb9\x02\x3e\x7d\x69\xff\x3b\xd8\x3f\x0f\xa0\xba\x05\x06\x70\x02\xa1\x26\x6c\x4f\xcd\x53\x05\xe7\x2e\xf8\xe5\x82\xc8\xeb\x41\x99\x18\x72\xe3\x8b\xc5\x90\x40\x04\xaf\x07\x7f\x43\x41\xa4\x8a\x7c\xae\xee\x68\x33\x8c\x19\xe6\xfc\x4d\x03\x36\x18\xb4\xa9\x81\xaf\x07\xd7\xf1\x70\x7e\x65\xa6\x1e\x8c\x93\xe1\x82\x3c\x43\x21\xeb\xa4\x29\xb1\x4a\xdf\xc4\x4c\x11\x85\x5e\x99\x04\x72\xec\x6c\x4a\x03\x0c\xe7\x7b\x78\x69\xce\xe7\xd3\x74\x6f\x6d\x6d\x32\x1d\x1b\x08\x20\x5b\x9c\x86\x83\x0f\xe1\x65\xb4\xe6\xba\xc2\x0b\x42\x06\xab\xc6\x29\x71\x85\xcc\x10\x40\x4a\xbe\x48\x83\x9f\x16\x57\x13\x78\x37\x51\xd3\x6a\x2d\x33\x02\x65\xcc\x7b\x91\x00\xa9\xc3\x5b\xee\xd3\x74\x14\x4e\x78\x84\x09\x58\xbe\xda\xd9\xda\x89\xf4\x32\x80\xf6\xee\xf9\xb1\x91\xc0\xe2\x2c\x97\x2c\xcf\x8d\x02\x04\xf6\xd7\x83\x54\xfe\xac\xda\xe4\xd9\xc8\x37\x3c\xed\xf7\xfb\x66\x17\x0f\xc1\xd9\xb0\xd3\x6c\x37\xcc\xbb\xbc\x5d\xc3\xdb\xed\x35\xdd\x56\xc2\xa2\x88\xd8\xf6\xfa\xba\x99\x18\xc6\xe1\x72\x96\x2c\xa6\x88\xb2\x64\x02\x3a\xb6\xe9\xe2\x3c\x5d\x6b\xb5\xb6\x77\x5b\x1b\xbb\xdb\x9b\x6b\xd6\xe7\xca\x62\x12\x65\xb2\x5f\x05\x27\xf5\x00\x91\x01\xad\xd9\x5b\x9f\xa2\x61\x03\xbf\xf0\x23\xcb\xf0\x7f\x1f\xcd\xe6\x4c\xeb\xc1\x33\xb0\xc1\x73\x2c\x0b\x86\xbd\x0e\x92\xc1\x60\x31\xbd\xb1\x8e\x76\x00\xe6\xc1\x20\x1a\x8d\x1e\x40\x28\xb5\x58\xd0\x47\x66\x5b\x08\x16\xbc\x95\x23\xc3\x16\xa7\xa0\x37\x4f\x2e\x67\xe1\xf4\x2a\x1e\x04\xbd\x3f\xff\xa4\x20\xa3\x15\x28\x01\x06\x3e\x2b\x5d\x00\x7b\x6b\x80\x9a\x53\xf7\x14\xac\xad\xd1\x74\xe1\x9c\x6c\x7a\x84\xb1\x25\x37\xe5\x70\xd4\x10\xed\x39\x66\x53\x22\x95\x23\xf9\xeb\x57\xe7\xd1\x28\x02\xd1\x20\x9d\xb9\x9a\xe2\xbe\xa4\x71\x1a\x58\xb5\x09\x1a\xb6\xe3\x33\xc0\xca\xef\x6d\x0a\xc4\xf0\x72\x16\xe1\xfe\x00\xb9\x30\x3b\x5f\x5b\x58\x6c\x97\x1a\x0e\x3f\x86\x18\x9e\xe7\xa1\x08\xb5\xd3\x64\x86\xd9\xa8\xcc\xad\x3c\x46\xa7\x68\x33\x23\x8b\x25\x33\xb5\x17\x09\x18\xaa\x86\xe7\xa3\x38\xbd\xa2\x7c\xb4\xe3\x10\xd7\x18\x1c\xbd\x86\xe1\x6c\x98\x52\x86\x6f\x08\xdf\xc2\x1c\x99\xeb\xff\xb5\x30\x43\x6a\x1c\x6e\x7d\x70\xa7\x14\xf7\x0b\x20\x0a\x10\xd1\x64\x37\x49\xb3\x9f\xe6\xa0\xe2\x06\x7f\x49\xc4\x2a\x05\x8b\x91\xf8\x4d\xb0\xb8\x78\x02\x28\xac\x89\x19\xc8\x79\x64\xb8\xdc\x18\xa6\x1a\xa6\x94\xbd\x39\xc5\xe3\x14\xcc\x0c\x85\x49\xed\xc2\x70\xfe\x4a\x78\x60\x4c\x67\x89\xe1\xd4\x9d\x83\xb9\x4c\x05\x42\x24\x01\x55\x58\xd8\xc4\x46\x90\x34\x17\x45\xe6\xbc\x6d\x40\x16\x6f\x37\x4d\xdd\x6b\x2c\x38\x43\x92\x10\x0f\xe2\x39\x7b\xa5\xe3\x69\x4d\x35\xeb\xdd\x40\x7c\xd0\x96\xff\x18\x87\x08\x85\xa6\xe4\x32\x65\x46\x41\x1f\xbc\xde\xbb\x69\x4c\xcf\x83\xa3\xc5\x68\xf4\x16\x5b\x54\xcd\x7b\x3b\x78\x0b\x9c\x7b\xf5\xad\xf9\xed\x49\x38\xba\xe0\xe3\x53\x7d\x52\x23\x7d\xfb\x8b\x70\x06\xda\xba\xea\x8b\xb0\xa6\xd2\xd7\x50\x88\x2f\x7a\x33\xa6\x14\xf4\x8c\xa6\x30\x63\x07\x83\x20\x1c\x9f\xc7\x97\x0b\xd8\xe3\x18\x73\x87\x17\x9a\x80\x87\x64\xb7\x4d\x8b\xc5\x4b\xbd\x80\x88\x6d\x80\x22\x75\x44\xf9\xea\x70\xa3\x0f\xba\x08\x15\xec\xaa\xab\xdd\x1a\x40\x19\x70\x1a\x3e\xb8\x11\x10\xf6\xe0\x2a\x31\x07\xde\xe0\x00\xbc\xa8\xcc\xb5\xb1\xc0\xb4\x3e\x18\x96\x0a\x1c\x29\xcc\x00\xd9\xb7\x15\x0c\xa7\xaf\x0d\x8e\x11\x0a\x98\x80\xcd\x63\x3e\x94\xf4\x2a\x8d\xd1\x08\xcc\x90\xd5\xb9\x21\xbe\x74\xc6\xcd\xe8\xde\x82\x89\xb4\xb9\x9a\xa7\xe8\xf9\x3d\xa0\xa7\x4b\x0f\x92\x5b\xe1\x1e\x42\x32\xc2\x28\xe4\xac\x4c\x69\xe4\x4d\x09\x2d\xcf\x30\x16\x0d\xd8\x1a\x81\xe1\x4d\x68\x2d\x30\xcc\xde\x32\xd4\x61\x06\xee\x3e\x68\xe5\x4d\x51\x75\xd3\x64\xb4\x20\xbd\x28\xc5\x65\xc0\xa1\x48\xff\xec\x67\x35\x8c\xcd\xdb\x2e\xbc\xe1\xd3\xef\x77\x69\x5a\x71\xe0\x2d\xc6\x90\xbb\x5a\x64\x76\x00\x22\x73\x6d\xe0\xbe\x87\xad\x77\x13\x54\x77\x1a\xe7\xf1\xdc\x3e\xc2\x14\x68\xf4\x6c\xe6\xbe\xc9\xa2\xc9\xc3\x00\xec\x9f\xf6\x16\x36\x4e\x60\xdf\xea\x61\x70\x70\x30\x40\xd2\x8f\x86\x1e\x7d\x40\x07\x98\x9e\xe1\x5f\x46\xa6\x57\xf3\x71\x3e\x68\xd2\x75\x85\xc6\xfc\x90\x42\xfb\x66\x6a\x09\xee\x80\xe3\x8f\x85\x9e\x2b\xef\x73\x38\xc1\x23\xd4\xa3\x8d\xd0\xd9\x86\xd0\xc5\x3b\x02\xee\x41\xbd\x2e\x90\x15\x23\x73\x30\xaa\x2f\xa2\xc5\x7c\x06\xa6\x6c\x94\x9d\x2e\xe8\x03\xc5\x02\xa4\x5a\x74\x5b\xcf\x87\xa1\xe1\x5c\x42\xb4\x93\x70\x50\xcd\x30\xd9\x05\x20\xbb\x08\x4d\xb0\xca\xb9\x76\x59\x42\xcd\x77\x1c\x28\x65\xc4\x06\xe6\x09\xf7\x80\x9b\x22\x3a\xf1\x50\x62\xf1\x84\xdc\x42\xe0\xc9\x6e\x29\x1d\xde\x27\x94\x57\xcd\x2e\x06\x10\x30\xa4\x50\xe4\x82\x68\x5d\x6c\xfb\xcf\x83\x93\xe3\xae\x61\x1e\x4d\xe1\x9b\x97\xcf\x5e\x3f\xef\x07\x4f\x5f\x9c\xf6\x7f\x7c\xd5\x7d\xa6\x82\x6f\xc0\x9c\xce\x39\x57\xae\x7a\x31\x0f\xe1\xf2\x83\x20\xc9\x74\x2a\x42\x7f\x81\x2f\x47\x37\xd3\xab\xa6\xcf\xc6\x20\x08\x4b\x77\x1d\xb1\x1f\x47\x78\x12\x0d\x5e\xe3\xcb\x89\x03\xa4\xe8\x17\x4d\x17\xda\x4f\x68\x1d\x3c\xfa\xc8\xc4\x20\x46\x87\x25\x32\x31\x70\x7b\xd4\x09\xba\xac\x6f\x13\x27\xf4\x4a\xcd\x1e\x49\x2f\x0c\x90\xc4\xf0\x91\x1c\xaf\x1a\x96\x01\xbd\x50\x64\x1f\x01\xf9\x46\xc7\x15\x6c\x2a\xd7\x18\x09\xa0\xe8\x26\x73\x24\x99\x83\x71\x18\xee\xd8\x5c\x2a\xa1\xe1\xa4\xc9\xcd\x60\x9c\x50\x8e\x73\x11\xa2\x45\x83\x18\xe5\x33\x84\x60\x7f\xaf\xe9\x8d\xa6\xd6\x4f\x06\x96\x5d\x04\x73\xb3\x78\x07\x18\xb1\x9e\xca\xa2\xdd\x44\x68\xd7\x18\x4e\xd2\x6b\x9a\xc8\x8d\x5c\x53\x37\x92\x10\xd7\xde\x60\x8e\xa1\x94\x9b\x06\xee\xb0\x73\x0c\x48\x49\xb9\x5a\x9a\xc1\x49\x34\x9f\xf3\x32\x2e\xa6\x48\x35\x81\x61\x71\xf3\x97\xe3\x63\xaf\x4a\xb3\x10\xc4\x6a\x14\x5c\xc4\x00\x05\x6d\x3e\x98\xfb\x40\x93\xb6\x19\x0a\xb0\x0c\xa7\x3b\xba\x49\x39\x87\x15\xc6\xdc\x06\x56\x2b\x2c\xe2\x06\x90\x36\x80\x77\x0f\x06\xda\x94\x6a\x8c\xa0\xd0\x9a\x3c\xd7\xf1\x7a\x9d\xdb\xec\x1e\x21\x3e\x76\xec\x71\xf4\x36\x26\x86\xaf\x04\x73\x51\x9b\x8a\x3a\x85\x20\x48\xb3\x02\x0e\x97\x25\x35\xc8\x97\xf2\xef\x6b\x1c\x55\x73\x6d\x3e\x6b\xb7\xd7\x84\xfc\x38\xce\x3f\x68\x34\xcc\xfb\xab\xb5\xdd\x68\x6d\x36\x3a\x5b\x41\x55\x66\xb4\xd9\x6c\xd5\xb8\xf6\x31\xa0\x28\x4d\xd9\x9e\x7b\x01\x81\x32\x07\xe6\xfd\x56\x87\xd7\x8c\xb9\x15\xea\xec\xf4\x08\x4f\xa4\x73\x48\x48\x6a\x5f\x64\x17\xf3\x6b\xe6\x66\x98\xe4\xc0\x1d\x37\xc5\xe4\x8a\x13\x72\x12\x45\x5f\xaa\x08\x2f\x62\xb8\x90\xcd\xf6\x31\x44\x05\x76\x12\x9d\x54\x42\x0b\xdf\x1a\x86\xd0\xc5\x63\x62\x86\x0d\x58\xa8\x16\x47\x6c\xc7\x31\x8b\x2e\x61\xbd\x39\x91\x9d\xea\x5b\x70\x04\x51\x26\xcd\x96\x66\x49\xe4\x9e\xc6\xd9\x60\xd4\x1c\x84\xe3\x66\x38\x68\x2e\x3e\xac\xfd\xcf\xf8\xf2\x43\x67\x73\x6d\x31\x70\x0f\x80\x81\xf7\x92\xf2\x9f\x41\x56\x38\x2d\xec\x0e\x79\xf1\x8c\x16\xe3\x09\x13\x0a\x4a\xcf\xf5\xf4\xe4\xa5\x79\xa8\x6c\x6d\x6c\xb9\x8d\x62\xc9\x1f\xc0\x4a\xe5\x6d\x14\x34\xd8\x6a\x63\xa4\x28\x8a\x59\x94\x47\xa4\x61\xc1\xad\x90\xeb\xa0\xd5\xe4\xa6\x2f\x91\x0f\xe8\xb5\xd6\x7a\x6d\x3c\x24\xb3\x64\xe4\xdd\xae\x06\xe9\x87\xfd\x67\x1c\x58\x29\x0a\x29\xe4\x85\x67\x4a\x0f\xe0\x1a\x6d\x81\xf7\x22\x99\x34\x52\xf3\xb4\xc4\xc3\x09\xf6\x53\x93\xc1\x88\xb8\x07\x73\x31\x9f\x13\x2f\xaa\xe0\x57\xc9\xe5\x14\x02\xf7\xcc\xa3\x4b\x20\x62\xb8\x93\x9e\x4b\x38\x7a\xb3\x07\x9e\xdb\x18\x5c\xd9\x53\x5d\x13\x1f\xb5\xd2\xd9\x9d\xbc\x3c\x3a\x0d\x9e\xfc\xe7\xf1\x93\xfe\x0b\xc2\x48\xf7\xb0\x0c\x23\x6d\x1f\x23\x6c\x5d\x79\xfb\x50\x7b\x17\xa5\xc3\xe3\x39\x00\x1a\xfe\xd2\x7f\xf5\x32\x78\xfb\xf4\xf0\xf4\x09\xdf\x56\x66\x34\xe6\x08\x1d\xdc\x3e\x85\x27\xe1\xe4\xd2\xd0\x93\x3f\x87\xe3\x24\xc0\x98\xfe\xa3\xe0\x63\x72\x1d\x8d\x68\x6d\xc4\xe8\xc5\x70\xe3\x93\x10\x72\x51\x19\xb8\xed\xf6\x56\xab\x01\x3f\x40\x8e\x44\xe0\x79\x24\xe5\x78\xe2\x15\x5b\xca\x9d\x0a\x27\x0d\x8b\xa2\x8a\x81\xdf\x16\xb6\xfa\x48\xe6\x6c\x71\x04\xec\x99\x7d\x85\x5b\x14\x9d\x46\x83\xab\x09\xbe\x11\xd8\x95\xed\x5f\xda\xed\x12\x4c\x30\xc0\x8e\x0c\x35\xcb\x2e\x63\xe0\x62\xb5\x61\xc1\x99\xd1\xb0\x1d\x13\xdf\x4e\x27\x16\x38\x74\xec\x7b\xff\xf5\xc1\xf1\xda\x17\xa3\xf0\x12\x39\xd7\x09\x24\xf2\x27\x32\x72\x53\xb6\x2e\x76\x1c\x28\x62\xc2\x24\xf5\xd9\x2d\xed\x52\x44\x03\xdd\x41\x13\x45\x00\x8c\x27\x7a\x67\x67\x73\xb7\xd1\xc6\xa5\x7b\xfb\xe3\xb3\x0d\xc1\x96\x62\x04\xec\xf5\x90\x3b\x8c\xc2\x36\x96\x8c\xac\xed\x07\x92\xf6\xf9\x5d\x0a\xda\x26\x7a\x14\x1f\x5d\xc2\xf9\xc6\x8a\xe8\x34\x33\x14\xcc\x40\x14\x69\x95\xe1\x3b\x80\x88\xb2\xd5\x15\x87\xb4\xb5\xba\xcb\xee\x5c\xb8\x2e\xbe\xfb\xd2\xc5\x94\x85\x5b\x24\x85\x01\x9c\xd8\xe8\x66\xc1\x71\x32\xba\xb9\x20\x5f\x6e\x53\xb9\x19\x98\xfb\x39\xd2\xe2\xaa\xa1\x61\x27\x47\x70\x43\x37\xc7\xc9\x5f\x0d\x0d\x0a\xf1\x9e\x8a\x26\x8d\xd7\x27\x6b\xc3\xc4\x90\xdc\xb7\xd1\xf9\x9a\x13\x55\xad\xbd\x92\x37\xd0\xda\x8f\x98\xc2\xfb\x3d\x65\xa6\x4d\xd9\xdc\x6e\x4d\x8d\xf3\x5f\xb8\xef\x11\x4e\x15\x03\x8a\xb2\x88\x53\xfb\x1c\xda\xea\x24\x22\xad\x66\x4c\xe6\x82\xc0\x13\xf5\x81\x3c\x1c\x54\x59\x9c\x3c\x8c\xa6\x1e\xfc\x8a\xec\xca\xaf\x6b\xbf\x02\xdf\xfb\x2b\x5d\x3f\xbf\x2e\x26\x7c\x2e\x4c\x39\xd0\xee\x5f\x9d\x52\xc4\x75\xea\xe5\xc5\x62\xa9\x80\xaf\xbb\x40\xed\xd8\x3e\xf9\x7b\xfb\x46\x17\xf0\xae\x3d\x35\x93\x50\x26\xda\x5a\xd2\xcf\xae\x4f\x14\x25\x82\x4d\xf8\xad\x7f\xa2\xad\x40\x91\xb1\x58\x8b\xc8\x0a\x1f\xfe\x6e\xa6\xfa\xeb\x69\x02\x32\x9f\xcb\x68\xf6\xab\x6a\x24\x71\x8c\xad\x90\xe9\x07\x76\xca\x55\x53\xd8\x73\x9a\x60\x17\xcf\xf8\xfe\x3e\xb5\x05\x7f\x2a\x03\xfd\x3c\x82\x74\x56\xc1\xaf\x71\xfa\x22\x7c\xf1\xab\x53\xb6\x30\xf8\x56\x76\x46\x10\x19\x85\x8f\x3b\xf0\x0e\x86\x4f\x68\x24\x17\x0d\x36\xea\x40\x47\xd5\x08\x2e\xcd\x4c\xa7\xdf\x61\xaa\xa7\xc0\x46\x54\x86\x29\x67\x6c\xbf\xe0\xaa\xb3\xcb\x55\xd0\xeb\x8f\x91\x78\x62\xcf\x30\x8c\x08\xeb\xe0\x14\x4a\xe8\x8b\x45\xa4\x56\x24\xe1\x84\x3d\x9c\xa3\xc7\xb2\xc6\x0e\xf4\x31\x70\x06\x2b\xff\xdf\xff\xf3\xff\xa6\xe2\xd2\x30\x93\x50\x5a\x9e\x22\xc9\x0e\x9e\xfa\xfd\x7e\x5f\x8c\x13\xfe\xf4\x27\x2e\xb2\x9a\x30\x28\x02\xdb\xd3\xf8\xf2\xca\x01\xb1\xed\x71\xfd\xbf\x67\xe4\x3c\x0a\xda\x9c\x23\x91\xc4\x20\x21\x99\x02\x64\xe7\xab\x91\x47\x73\x29\x9f\x38\xc0\xcc\xe8\xd1\xb8\x09\x8d\xb9\x47\x63\xe6\x32\xad\x51\x83\x91\x80\x0e\x2d\x3f\x66\x5c\x12\x66\xd6\xcc\x15\x7e\x15\x87\xe9\xf9\xcd\xc4\x3c\x42\x9b\xe7\xd1\x1a\xb8\xd7\xa7\x6b\xff\x65\x08\x46\x8a\x04\xa3\x21\x02\xc4\x7f\xb1\x80\x1a\x70\xf5\x2f\x46\xa1\x86\x28\x6a\x71\x42\x5e\x83\xd1\x59\x33\x84\x0a\x0d\xaa\xcc\x34\x78\x88\x0d\x67\xcf\x91\x33\x29\xf9\x9c\xd9\x39\x92\x03\x09\x60\xb2\x82\xc4\xe9\xc9\x88\x6e\x35\x69\xd3\x1d\xb3\xd7\x8a\x43\x6d\xe1\xe7\x6a\x96\x7e\xd5\x83\x8a\x22\x26\x95\xba\x5a\x99\x0a\xf2\x6e\x95\x3d\x8f\x72\xbb\xaf\x66\x32\x17\xe6\x7a\x9c\xc1\xc5\x65\x2a\x61\x42\x22\xf7\xf5\x7a\x16\xcf\xd5\x17\x99\x57\xb1\x6f\xe0\x32\xa2\x1a\xec\xeb\xfe\x95\x96\xa8\x8a\x7e\x44\x14\xf7\xe6\x1a\x74\x90\x98\x3a\xda\x2c\xec\x5b\xcb\x22\x03\xc9\x73\x57\x59\x93\xab\x36\x4d\x29\xd5\xa1\x54\x81\x7e\x13\xef\x52\xd5\xad\xf8\x43\xa6\xe5\x11\x70\x06\xe2\xd7\xce\xb9\xd9\x31\x30\x7c\xa1\xcc\x4e\xc9\x43\x04\x6c\x01\xb7\xe1\xb2\xe9\x7a\x43\x9b\xdc\x02\xd3\x8d\x54\x01\x93\xe1\x76\x08\xda\x09\xdd\xb3\x12\xee\x75\x62\x58\x71\x50\x69\x8d\xcc\xf5\xc3\xb6\x18\xd1\xec\x23\x08\xd2\xf9\x63\x9a\xe3\xfa\x00\x8a\x04\x81\xc1\x97\xf9\x03\x73\xb0\x21\x71\xf1\x23\xc3\xd0\xed\x1b\x4e\x9c\x7e\x4e\xe8\xa7\x61\x7d\x1b\xc0\x52\x07\xc4\x72\x02\xc3\x19\x20\x57\x1b\x0c\x1e\x38\xc4\x0a\xd7\xbf\x1f\x9c\xe1\xfa\x9e\x81\x55\xc2\x7a\xab\x55\xc7\x9f\x5b\x47\xc1\xbb\x3a\x95\x6d\xec\xac\xd7\xe9\xe7\x96\x2a\xdb\xe1\xb2\xdd\x80\x33\x2d\x62\xf9\xe6\x6e\x1b\xcb\x37\x0f\x0e\x6d\xdd\xcd\x83\x23\x2e\x73\x30\x37\x7b\x5c\xaf\xd7\xf1\xdb\xf7\x36\xb8\x7c\x53\xd5\xdd\xe6\xb2\x6d\x5b\xb6\xc5\xe3\xdc\x6a\xad\x7b\xed\xb7\xda\x5c\xde\x76\xed\xb7\x36\x0e\xa8\x6c\xb3\xef\xca\xb6\xb9\xde\x76\xcb\x6f\x7f\xb8\x45\xe5\xfd\x0d\x57\xb7\xbf\xcd\x65\x3b\xaa\xac\xcb\x65\x87\x5e\xfb\xed\x16\xcd\xd5\xfc\xb4\x75\xb7\xdb\x34\x57\xf3\xd3\x95\xad\x53\xff\xdb\x1b\x5d\xbf\x7d\x97\xfa\xdf\x3e\x68\xb9\xba\x7d\x1a\xff\xf6\xd1\xba\x2d\xdb\x6d\x11\xcc\xdd\x96\x8f\xbf\xdd\xf5\x5e\x9d\x7f\xba\xba\x1b\x5c\x77\x63\x47\x95\x1d\x72\x99\x3f\xfe\xdd\x4d\xae\xbb\xe9\xe6\xbf\xbb\xd5\xa1\xb2\x2d\xd5\xff\x0e\xd7\xdb\x69\xfb\xed\x0f\xb8\xff\x03\xd5\x3f\xaf\xf5\x6e\x4f\xc1\xec\x71\xff\xbd\x4c\xff\x7d\xee\xab\xef\xfa\xea\xf2\x5c\xbb\x38\x57\x2e\xe3\x79\x76\x71\x9e\xae\x7d\x97\xe7\xda\xdd\x50\x75\x37\xb6\xb9\x6c\x47\x95\x1d\x70\x99\xdf\x7f\x97\xf7\x45\x77\xdb\xad\x55\x97\xe7\xda\xdd\x51\x30\x79\x9e\xdd\x83\x4c\xff\x3c\xd7\xae\xda\xbf\x5d\xde\xbf\xdd\x9e\xea\x9f\xe7\xdf\xcd\xcc\xbf\xcb\xf3\xef\xaa\xf9\x1f\xf0\xfc\xcd\x4f\x57\xc6\xf3\x3f\xc8\xcc\xff\x60\xfd\x88\xcb\xdd\xfe\x3b\x60\x9c\x1c\x6c\x28\x98\xbc\xfe\x07\x99\xf9\x1f\x6c\xd2\xfe\x33\x3f\x5d\xdd\x1d\x1a\xd3\x81\x9a\xff\x41\x8f\xf0\x64\x7e\xfa\xed\x79\x5e\x07\x3d\x77\xfe\x7b\xeb\x7d\x2c\xeb\x6d\xb8\x3d\xdd\xdb\xd8\xe2\xb2\x1d\xaf\x7d\x6f\xa3\xcb\xe5\xaa\xfd\xe6\x26\x95\xa9\x31\xf5\x18\xff\xbd\x0c\xfe\x7b\x4c\x6b\x7a\x8a\xd6\xf4\x7a\xdc\x57\x4f\xb5\xef\x71\xfb\x0c\xfe\x7b\x8c\xff\x9e\xc2\xff\x21\xe3\xef\x70\x43\x97\x1d\x72\x99\xdf\xfe\xb0\x47\xe3\x37\x3f\x5d\xdd\x43\x82\x79\x78\xb8\xa1\xca\xb6\xb8\x6c\xcb\x6b\xdf\x5f\xa7\xbe\xcc\x4f\x5b\xb7\xbf\xbe\xc1\x65\x0e\x66\x9f\xf7\x74\x7f\xa3\xef\xb7\x3f\xe0\xf6\x07\xaa\xfd\x01\xb7\x3f\xd8\x55\x65\x07\x5c\xe6\xe3\xaf\xdf\x23\xba\xde\x57\xeb\x77\xd4\xa6\xb2\xa3\xb6\x6b\x7f\xb4\x4e\x6b\x62\x7e\x7a\xed\x8f\xd6\xb7\xb9\x7c\x5b\xd5\xdd\xe5\x32\xd5\x7e\x9b\xc6\x79\xb4\xed\x8f\xff\x68\x87\xf6\xd5\xd1\x8e\xc3\xd5\xd1\xce\x16\x97\x29\x98\xbb\x5c\x6f\x77\xdb\x6f\xbf\xcb\x7d\x29\xfa\x73\xc4\xeb\x7f\xe4\xd6\xbf\xdd\xea\xe0\xfa\xb5\xcd\x85\xa7\xdb\x9b\xbf\x3b\x5c\xde\x71\x75\xd7\xb7\xb8\x6c\x5b\x95\xed\x72\xd9\xae\xdf\x7e\x73\x87\xca\x37\xed\x5c\xe1\x0e\xc6\x32\xb8\x86\xa5\x6c\x7d\x13\xf7\x29\xfc\xf4\xda\x6f\xb7\xa9\xff\xed\xb6\x9d\x7f\x7b\x9b\xc7\xb4\xbd\xae\xca\x36\xb9\x6c\x73\xdd\x6f\xbf\xcd\xe5\xdb\xeb\xae\x2e\xad\xbf\xf9\xb9\xa9\xca\xb6\xb9\xec\xd0\x6f\x4f\xb8\x82\x9f\xae\x6e\x8f\xe6\xba\x7d\xa8\x60\x1e\x1e\x72\x99\xdf\x7e\xa7\x85\xfb\xca\xfc\xb4\xfb\xa7\xbd\xd3\xa5\xf6\xe6\xa7\x2d\xdb\xed\x10\x4e\x76\x3b\xde\xfd\x65\xfe\xde\xe6\xf2\x1d\x57\x97\xe7\xbf\xab\xd6\x64\x97\xf1\xbf\xbb\x7e\xe0\xb5\xef\xb6\xa9\x7d\xb7\xed\xda\x1f\x10\xaf\x60\x7e\xba\xf1\x1f\xd0\x99\x82\x9f\x5e\xfb\x03\x5e\xeb\x03\x77\xd6\xda\x4c\x6b\xdb\x07\xee\x4e\x6d\x1f\x6c\xd0\x98\x0e\x36\xfc\xf1\x1f\x6c\xd1\xfc\x0f\x14\xfe\x0f\x89\x56\xb6\x15\x4d\x68\x1f\x1e\xf5\xa9\xec\xc8\x5b\x7f\x60\xd2\xea\xf4\xd3\xee\x95\x4e\xab\xd3\xa5\xb2\x4e\xdf\x95\xd1\x9e\x32\x3f\xd7\xfd\xf6\x5b\x5c\x77\x4b\xb5\x3f\xe4\xba\x7d\x5b\xb6\xce\x30\xcd\x4f\xaf\xff\xf5\x16\x9d\x1f\xf3\xd3\x8e\xb5\xbb\xd3\x42\x9c\xc0\x4f\x55\x76\xc0\x65\x1e\xfe\xcd\x15\xb9\x49\xe5\x1d\x5b\xf7\xe8\xa0\x8d\x73\x85\x9f\xb6\xac\x4f\x6b\x62\x7e\x7a\xfd\x1f\xf5\x3b\x5c\xde\x59\x77\x75\x8f\x8e\xea\xfc\xd3\x96\x1d\x1d\xe1\x38\xcd\x4f\x7f\xfd\x85\x59\x80\x5f\xdc\x0a\x98\x3f\x36\xa5\x74\x4b\x97\xf6\xa4\xf4\x28\x03\x65\x9d\x8f\x71\x57\xed\x03\xf3\xc7\x91\x94\xba\x93\x7c\xd8\xde\xa2\x2d\x67\x7e\xf1\x69\xc1\xa1\x39\xb1\xfc\xc5\xdd\x9c\xf0\xc7\xa6\x94\x1e\xa8\xd2\x6e\x97\x4b\xbb\xfe\x89\x3a\xec\xf0\x56\x33\xbf\xd8\xf3\x6f\xd0\x47\xf3\xc4\x5f\x54\x29\xa1\xcf\xfc\xb2\xed\xcd\xa8\xdf\x6a\xb7\xf8\x4b\x1b\x76\xc1\xbd\x77\x77\x7f\x99\xdc\xf2\xb6\x2a\x7f\xa2\xa0\x78\xbd\xd1\x0d\x1a\xfc\x56\x69\xf0\x5b\xa5\xc1\x6f\x15\xf7\x28\x09\xd5\x6b\x4c\x3d\x4a\x5a\x5d\xba\x2c\xcc\x4f\x4b\xd4\x0d\xe7\xc6\x65\x1b\xaa\x6c\x9b\xcb\x7c\xa6\xa2\x45\xb8\x85\x9f\xaa\x6e\x9f\xcb\xdc\xa3\xc0\x70\x58\x54\x76\xb0\xe1\xb7\x3f\xd8\xe2\x72\xd5\x9e\x19\x90\x96\x62\x34\x5a\x7c\xd1\xb4\x7a\xfe\xa5\xce\x07\x10\x7e\xba\xba\x87\x3c\xd6\xc3\x1d\x55\xc6\x63\xea\xfb\x4c\x75\xab\xcf\x70\xfb\x8e\x81\x69\xf5\x77\xb8\x4c\x8d\xa9\xcf\x63\xca\x3c\x4a\x5a\x47\xdc\xff\x91\xea\xff\xa8\xc3\x65\xeb\xaa\x8c\xc7\x74\xd4\xcd\xb4\x67\xb8\x47\x3d\x55\x97\xc7\x7a\xe4\xf0\xd7\x66\x46\xb5\xdd\xf2\xc7\xdf\xe6\x07\x50\x5b\x3d\x80\xda\xed\x75\x2e\x5b\x57\x65\x07\x5c\x76\xe0\xb7\xef\xd0\xfc\xdb\x1d\xc7\x00\xb4\x3b\x5c\xb7\x73\xe0\xca\x98\x79\x6a\xaf\xfb\x8f\xc2\x36\x9d\x66\xf8\xa9\xea\x12\xa3\xd8\x56\x0f\x85\xf6\xc6\x06\x97\xf9\xeb\xdf\xde\xe0\xf6\x1b\xaa\x2f\x66\x00\xdb\x8a\x51\x6d\xd3\xa5\x6c\x7e\x66\xfa\xdf\xe2\xf1\x6f\xa9\xf1\x6f\xf1\xf8\xb7\x14\xcc\x1e\xe1\xd4\xfc\xf4\xdb\xf3\xfe\x69\xab\xfd\xd3\x66\xa6\xd2\xfc\x54\x65\x3c\xfe\xc3\xcc\xf8\x99\xd9\x6c\x1f\x6e\xa9\xba\x3c\x27\xb5\xff\xda\x87\x5d\x2e\xeb\x66\xda\xf7\xb8\xdc\xad\x7f\x87\x1f\x8a\xe6\xa7\x2b\xdb\xe2\xb2\x2d\x7f\xfd\x3b\xfc\xa8\xef\xa8\x07\x60\x87\x1f\x45\x1d\xf5\xa8\xef\x10\xa3\x61\x7e\x1e\x64\xda\x1f\x72\xb9\xc3\x75\x87\x71\xd2\x51\x38\xe9\xf0\x9c\x3a\x87\x99\xf6\x87\xdc\xfe\x50\xb7\x3f\xe2\x32\x77\x7e\xd7\x59\x78\xb1\xde\xf5\xc7\xbf\xde\x5d\xe7\x72\xc7\xc0\xae\x33\xa3\xbd\xde\x73\xf3\x5f\xef\x71\xbd\x9e\x2f\x14\xd9\xe0\x73\xb1\xa1\x1e\x70\x1b\x2c\xa8\xd8\xd8\x50\x82\x16\xc6\xe9\xc6\x66\xdb\xbf\xd4\xdb\x7c\x81\xb7\x5b\xee\x52\xa7\xf3\x63\x7e\x6e\xa9\xb2\x1d\x2e\xdb\xcd\xb4\xef\x71\xf9\xa1\x62\x2a\x18\x66\xa7\xa3\xca\x36\xb8\x6c\xdb\x6f\xbf\xce\x75\xd7\x55\xff\xc4\x94\x99\x9f\xeb\xaa\x6c\x93\xcb\x36\x33\xed\x99\xa9\x59\x3f\x50\x75\xfb\x5c\xa6\x98\x9a\x6d\xee\x7f\x7b\xc3\x6f\xbf\x7d\xc4\xe5\x8a\xa9\xa1\x47\xb9\xf9\xb9\xe1\xca\xba\x3c\xcf\xae\xf7\xa8\xe9\x18\x2e\xbd\xce\x3f\x6d\xdd\x36\x71\x04\xf0\x53\x95\xed\x72\x99\x8f\x3f\xa6\x55\x1d\x45\xab\xcc\xef\x5b\x5c\xe6\xf0\xdf\xee\xd0\x98\xda\x3e\x53\xdb\x61\xfa\x05\x3f\x55\xdd\x03\x2e\x73\x38\x31\x74\x83\xca\x36\xfd\xf9\xb7\x37\xb9\xae\x13\x60\x75\xf8\x51\xd1\x51\xf4\xa3\xd3\xde\xe6\xb2\xed\xcc\xf8\x77\xb9\x7c\x77\xd7\xd5\x3d\xa0\xbd\xd2\x3e\x50\x65\x44\x53\x3a\x44\x53\x54\x7b\xa2\x2b\x9d\xb6\x7b\xc0\x76\xda\x24\x14\x83\x9f\xb6\xac\x43\x3c\x06\xfc\xf4\xda\x9b\x0d\xc5\xe5\xeb\xaa\xee\x36\x97\xed\xa8\xb2\x03\x2e\x3b\xc8\xb4\x3f\xe2\x72\xb7\xfe\x1d\xba\x53\xe0\xa7\x2a\xdb\xe4\x32\x7f\xff\x75\xda\x5d\x2e\xef\xaa\xba\x87\x54\xd6\x71\x7b\xba\xd3\x59\xe7\x32\x9f\xa9\xee\x74\x18\x6e\x67\x53\xd5\xe5\xf1\x77\x7a\xaa\xac\xcf\x65\x7d\xbf\x3d\x3d\x36\xcc\x4f\x85\x2b\x7a\x54\x98\x9f\xee\x4c\x76\xe8\x9e\x81\x9f\x7e\xfb\x0d\xae\xbb\xa1\xfa\xda\x64\x9c\x6e\xba\xf3\xdb\xe1\x3d\x91\xa1\xbf\xe6\x6f\xee\x7f\x4b\xf5\xcf\x0f\x85\x8e\xda\x3f\x9d\x2d\x1e\xff\x96\xff\x28\xe9\xec\x70\x5f\x3b\x6a\xfd\xe8\x51\x6e\x7e\x2a\x98\xbb\x8c\xa7\xdd\x0c\xfe\xe9\x51\x01\x3f\x5d\xdd\x2e\xd7\xed\x2a\x9c\x1e\xf0\x3a\x1f\xf8\xfd\xaf\xd3\xa3\x18\x7e\xda\xba\x1b\x3c\xd7\x8d\xbe\x83\xb9\x41\x82\xd2\xce\xe6\x86\xbf\x7f\x36\x37\xa9\xee\xa6\x7b\x94\x75\x36\x77\xb8\x6c\xc7\xed\xa9\xcd\x5d\xea\x67\x33\x33\xfe\xcd\x2e\xd7\x75\xfc\xa7\xf9\x7d\x9d\xcb\x5c\xff\x9b\x07\xdc\xfe\xc0\xdf\x3f\x9b\xc4\x3f\x9a\x9f\xdb\xaa\x6e\x8f\xcb\xdc\xfa\x6f\xf6\xb8\x9f\x9e\xbf\x7e\x9b\x3d\x6e\xef\x04\x88\xe6\x77\x9e\x6b\xef\x40\x95\xd1\xfa\x6d\x1e\x66\xda\xf7\x79\x5c\x7d\x87\xeb\xcd\xfe\x11\x97\xb9\xf9\x6f\x31\x4d\xdc\x6a\x79\xfc\xab\xf9\x7b\x97\xcb\x77\x55\xdd\x3e\x97\xa9\xf6\x6d\xda\x67\x5b\x99\xf3\xb7\xc5\xf7\x8f\xf9\xa9\xea\x72\x7b\xf7\x28\x34\xdb\x94\xe6\xbf\xb5\xe1\xd3\x8f\x2d\x7a\x01\xc1\x4f\x57\x97\xd7\x7f\x6b\xab\xad\xca\xd6\xb9\x2c\xd3\x3f\xbd\xd0\xcc\xcf\xae\xaa\xcb\x63\xda\x3a\x54\x65\x47\x5c\xe6\xef\xbf\xed\x75\xa2\x15\xdb\xea\xac\x6e\x6f\xd3\x9a\x6c\xbb\x3b\x09\xde\x62\x50\x76\xb4\xe3\x3f\xea\xc1\x49\xaf\xce\x3f\xa5\xee\x51\x4b\x2a\xeb\x52\x54\x4c\x92\xb0\xa0\x45\xe5\xf4\x50\x23\x6b\x8f\x83\x78\x02\x76\x1e\x69\x14\xce\x06\x57\x64\x85\xcb\xba\x67\x50\x3a\x5f\xc6\x60\xd8\xbc\xc8\xb9\x34\xa0\x42\x18\x34\x4a\x91\x56\x5a\xe5\xa2\xe9\x45\xb3\xcb\x68\xf6\x39\x58\x0c\xd2\xa0\x5b\x00\x45\xbb\xe1\x58\x97\x59\x1b\x24\xf2\x74\xb6\x88\xfc\x71\x2c\xef\xff\x31\xe9\xda\xc4\x7d\x16\x03\x9f\x5e\xc7\xa9\xca\x60\x6c\x1e\x83\x71\x7a\x82\xad\xb4\x3f\xf4\x20\xb5\x11\x91\xba\x8b\x4f\xf1\x28\x06\x84\x78\x6e\xe5\xe7\x1e\x92\xe2\x89\x7d\xc3\x06\xa8\x19\x95\x9c\xb8\xe3\x18\x22\xc4\x19\x54\x8f\x43\xb0\x59\xc8\x2a\xc5\x24\x1a\x6c\x83\x7c\x0f\xa9\xc5\xd0\xc6\xed\x07\x2c\x7d\x97\x6b\x74\xd6\x7a\x67\xfe\x0f\x46\x0b\xf0\xfd\xfb\xfc\x77\xd3\xd7\xbb\xb3\xf6\x3b\x2f\x71\x32\x2b\x1d\xad\xfb\x1f\x8c\xe7\xfb\x7d\x18\x9f\x28\x95\x4d\xc7\x66\x84\xcf\xc3\xf9\x55\xf3\x62\x94\x24\xb3\x6a\x15\x06\xff\x08\x46\x5e\x0b\xd6\x82\x8e\xf2\xcb\x2d\xeb\x37\x1e\x62\xbf\x56\xf5\x4b\xb3\x07\xc0\x8f\x0a\x9c\x2b\x4b\x66\x87\x50\x5a\x1a\x0a\xa2\x0e\xa0\x34\x32\x50\x7e\xf3\x35\xe9\x2e\x2d\xa9\x0d\x3a\xeb\xcf\x5e\xc7\x68\x2d\x5e\x56\xdc\xea\x28\x92\x58\x61\xb7\x83\xa4\x02\x61\x95\x2b\x6d\xff\xc6\xfb\xbf\x48\x76\x82\x1e\x20\x7a\x44\x6a\xe7\x67\x35\xd3\xb9\x03\x50\xbe\x87\xad\x0c\xe5\x2e\x7b\xd8\x36\x2a\xd9\xc3\xee\xfb\xdf\x76\x0f\xab\x7e\xbf\x62\x0f\x67\xa0\xfc\xe1\x7b\xf8\x50\xf2\x7f\x16\xda\x10\x17\x6c\x92\xa2\xfd\x78\xf7\xed\x68\x5b\x9d\xae\xde\xab\xdd\x73\x50\x2a\x66\x0b\xf9\xed\x06\x28\x2d\x35\x9d\x10\x6c\xf2\x38\xb2\x00\x5f\x61\x03\x5b\x1b\x81\x02\x26\x3d\x3c\x97\xb4\x3d\x8c\xd3\x59\x59\xf3\xaf\xc2\xb8\xb5\x58\x17\xd3\x11\xa0\x2d\xb7\xd2\x8d\x5c\xfa\xbe\xbf\xe7\x42\xe5\x71\x53\x76\x55\x62\xa6\x11\xa0\xa2\xe4\x51\x95\xb7\x60\x6d\x2a\x9a\xb0\x8f\xc1\x9a\x0a\x16\x45\x0c\x78\x1e\x7b\x04\x64\x1d\x13\x1b\xd0\xa9\x45\xc7\xff\x0b\x30\x0c\xa3\x6f\xad\x4f\x61\xab\x56\x04\x4a\x5b\xf5\x48\xf2\x34\x88\x5d\x3a\x06\xb3\x36\x18\x68\xf7\xa4\xf7\xf4\x69\xc9\x00\xbf\xc3\x5e\x3c\xb0\x6d\x01\x72\x90\xbd\xfd\xc9\xc2\xb7\xd4\xae\xa6\xe9\xef\x6d\x66\x39\x10\x79\x5e\x07\x2d\xe9\x80\xf2\x53\x87\xb3\x19\xc4\x99\xa4\x14\xd5\x30\x26\xb6\xa9\x0d\x95\x31\x7d\x52\x6a\xbd\xdf\x74\xb4\xa3\xcd\x21\x9b\x1d\xfe\xda\x6d\x34\xad\x23\xe2\x43\xf3\xa5\xe2\xcd\x0b\x40\xb4\xfe\x67\x86\xa3\x8d\xd0\xc1\xf9\xb2\xa9\x4c\xce\x99\x7e\xd1\x9a\xe2\xf3\xa9\xb3\x2b\x84\x5d\x0a\x42\x53\xc0\xf5\xdc\x10\x3a\xd1\x4e\xcb\x2e\x22\x14\x84\x1b\x83\x0b\x3b\x26\x82\x78\x1f\xca\xd7\x5b\xeb\x17\x35\x7f\x54\x10\x0f\xe0\xcf\x3f\x05\xcd\x66\x33\xf8\xcf\x38\x07\x39\x1c\xb4\x7c\xc8\xc3\xed\x70\x9d\x20\xb8\xc9\x9c\xdc\x8c\x46\xb0\x6a\x69\xae\xf9\xc5\x6e\xa6\xf9\x45\x78\x71\x61\x9b\x43\xbf\x3d\xcf\xa3\xf2\xa9\x38\x4b\x17\x80\x8a\xda\x19\x50\x51\x7b\xd7\x82\x7a\x03\x61\xc8\xc1\x0a\x1e\x4c\x0e\x8b\x1a\xaf\x67\x1b\x6f\x2d\x1b\xc7\x51\x31\x94\x8b\xec\x6c\x2e\xb6\x5a\x16\x0a\x58\xef\x13\x4d\x28\x6b\x1d\x65\x5b\x47\x5b\xb5\xc2\xe5\xc4\x58\x25\xba\x6a\x07\xa2\x41\x15\xd6\x5d\xcf\xd5\x5d\xc7\xba\x14\x29\x82\xe3\xb6\xee\x05\xd1\x38\xf9\xaf\x58\x9b\xab\x2f\xd2\x05\xba\x0e\x8a\xbf\x15\xf1\xfb\x18\xe6\x29\x1e\xfa\x6e\xa1\x23\xa0\xbb\x97\x57\x04\x4e\xf1\x45\x34\x59\x48\x6d\x1d\xa4\xe1\x0d\x9e\x27\x70\xa9\x6a\x06\x27\xe4\xa0\x06\xc7\x6e\x38\xc4\x0a\x31\x3a\x7b\xa4\x36\xe9\x61\x34\xfe\xe1\xeb\x2e\x83\xec\x25\xe0\x7c\x33\xff\xb7\x5f\x02\xaf\x56\xb8\x01\x3c\x02\xa7\x2f\xee\x3c\x9d\x2b\xb3\x65\x7c\xac\xf8\x9d\x95\xef\xe8\x2f\x58\x12\x17\x16\xeb\x5e\x41\xa8\x6b\x08\xe4\xd4\xcd\xd6\xb9\x23\x3e\xb3\x81\xb7\xcc\x4c\x4c\x51\x8e\xf3\xf1\x82\x2e\xb1\xe7\xf0\xec\x23\x5b\xa0\xde\x1a\x7a\xc9\x0b\x7c\xaa\x42\x0f\x62\x28\x1d\x67\x57\x6b\xe3\xe9\x5c\x73\xf7\x59\xd4\xe6\x62\xeb\xc1\x52\x52\xe5\xef\xe4\x92\xb6\xeb\xd2\x60\xfe\xd5\x0c\xf3\xd1\x3e\x81\xe4\x46\xf0\x77\x35\x13\x93\xd0\x1c\x6b\x43\xb2\x7e\x30\x37\xd0\x1e\xc5\xbd\xd1\x2c\xed\xec\xa3\xb7\x7a\x62\x47\x9f\x2e\xce\xd9\x33\x81\xd3\x9a\xf2\x16\x25\x64\x27\x17\x17\xa0\xee\xf5\x77\xaf\x5a\x87\x65\xab\xea\x87\xe7\xba\x8c\xe6\xaa\x2f\x70\x1e\x6d\x16\x9e\x37\xb2\xb3\x3f\x15\x8b\x7b\x72\x66\xd3\x63\xc9\xc2\x2a\x06\x03\x41\xca\x09\xa9\x65\x5b\xc7\x03\xe0\xed\xba\x54\x47\x0d\xd3\xb5\xdc\xee\xc2\xd2\xcc\xde\xe2\xdc\x31\x75\xd7\xb7\x4a\x90\x09\x5f\x30\xf6\x7e\x3d\x88\x26\x43\xfe\xed\xda\x1e\x43\xdc\x7b\xae\x12\x3d\x01\xaf\xad\x81\xb4\x6a\x9f\x89\x07\xe6\x3e\xb8\xc0\x60\xd4\xee\x51\xc1\xd6\xcb\x04\xd6\x72\x8d\x6b\xb9\xbd\xf8\x3d\x81\x96\xfd\x78\x3e\x8b\xc2\x0f\x76\x4b\x41\x35\x87\x61\xc3\x37\x58\x8f\x0d\x2f\x61\xbb\xcc\x94\x12\x77\x59\x04\xb8\x79\xdd\xb3\x3c\x86\xad\xaa\xa7\x07\x97\x96\x9c\x0c\xdb\x9d\x6a\xb4\xf2\x44\x05\x7a\xad\xe6\xd0\x6f\xf0\x95\x9f\xb3\x5b\xba\x7b\xfe\xb8\x24\x42\x93\xe4\xc9\x87\x24\x45\xb2\x35\xaa\x45\xab\x5b\xcb\x9e\x3f\xd7\x44\xe3\x3d\x77\x26\x4b\xce\x23\x1d\x0b\x72\xf2\x1c\xfa\x27\xe2\x6f\x7f\x06\x8b\x5b\xc1\xc0\x4e\x31\xea\xf6\xb0\xb0\xc5\x17\x9d\xb1\x4c\x62\x5d\x7d\xcc\x4c\x3f\x5e\x1c\x45\xaf\x5d\xb6\x66\xd0\xe0\xfd\x8c\x08\x87\xaa\xb3\x88\x42\x52\x35\x0d\x07\x52\xad\x70\x1c\x2c\xb3\x67\x26\x97\xd1\x28\xb9\x5c\x63\x57\xe4\x4a\x3d\xa8\xcc\xa3\x4f\xf3\xb5\xe9\x28\x8c\xcd\x5f\xf7\x2a\xed\xe6\x2e\x24\x65\xa9\x54\xee\xd5\x38\x57\xf0\x2d\x90\x86\xe1\x3c\xca\x83\x81\x98\x5a\xe8\xd3\xbd\xad\xa0\x65\xa3\x73\x5d\xc1\x0d\x0b\xc1\xb9\xf0\x97\x7f\xf4\x14\x01\x88\xab\xf9\x30\x9a\x22\x92\x9a\x27\xf3\x64\x16\x5e\x46\x95\x9a\x3b\x00\xff\x06\x0d\x13\x0e\xb7\x0f\x41\x48\x47\xe1\x8c\xbd\xb6\x09\x03\x0f\x31\x7d\x0e\x71\xa2\x94\xc2\x65\x1c\x41\x80\x9d\x78\x00\xb1\x5f\x20\x66\xc1\x02\x53\x9c\xc5\x92\x8b\x06\xb2\x42\x81\x97\x6a\x92\x04\xe9\x18\xa3\xcc\x40\x70\x51\xc4\x84\xf9\x49\x79\x52\x87\x38\x5e\xce\xae\x0d\xd4\x1a\xfb\xb2\x7e\x30\xce\xb1\x1c\xd3\x41\x61\xf0\x8f\xc9\x30\xb9\x0e\xae\x12\x8a\xe8\x41\x43\xbb\xe7\x47\xcf\x82\xab\x2a\x4c\x83\x29\x7b\x8d\x51\x1d\x78\xce\x55\x6b\xcd\x40\xa5\xa7\x83\xda\x13\xf3\x6b\x6c\x86\x3e\x31\x63\xc7\xf8\x29\x10\x72\xc7\x14\xfd\xd5\x06\xf0\xa2\x5c\xd9\x34\x42\x02\x45\x63\x00\x9f\x43\x97\x80\x56\xb2\xae\x84\x33\x7c\xad\xaa\x84\x21\x1c\x58\xc5\xe5\x60\xe2\x80\x39\x18\xb0\x55\xf2\x2a\xfc\x35\x49\xc6\xda\x37\x97\x67\xf4\x9f\xc9\x02\xd7\x5b\xd2\x33\x60\xa6\x26\x43\x2d\x6f\xcc\xbe\xa1\xd4\x68\xc9\x00\x06\x6b\xf0\xc8\x3d\xea\x71\x02\x50\x1e\x90\xcb\xf3\x5b\xf9\xcb\xcb\x97\xcf\xe1\xde\x30\x0f\xe3\x7f\x55\x41\xdb\x0e\x66\x71\x74\x11\x90\xb5\xda\x8d\x1d\xbf\x8d\x0a\x43\xc3\x85\x73\x04\xc3\x1c\x24\x53\x8e\x9e\x84\xfc\xe7\x28\x9e\x9e\x27\x86\x63\xb5\x89\x6c\x6f\xc0\x19\x3a\x84\x44\x33\xf1\x5c\x02\xb8\x08\x1f\x7f\xf0\xac\xdb\xfb\x29\x38\xe9\x3d\x3d\x39\x79\xf9\xea\x44\x85\x87\xc0\xd8\x10\x37\x34\x63\x0e\x9e\x71\x87\x49\xeb\x0d\x80\x71\x28\xb2\x43\x37\x43\xa8\x10\x7a\x1b\x76\xc0\x0d\xf3\x2a\x32\x67\xab\xa2\x82\x0a\xe1\x26\xf0\x16\x42\xd0\x09\x75\x2f\x6e\x80\x04\x28\x6c\xfe\xbc\xe8\x6c\xb7\x3a\x80\x47\xbb\x5b\x01\x47\xe9\x15\x0c\x34\x86\x08\x29\x66\xcb\x7f\x98\x27\xd3\x00\x9b\x73\x30\x30\x1b\x7e\x43\x76\x03\x86\xc6\x88\x46\x23\xb3\x3f\x0d\xc4\xce\x16\x85\xee\xb5\x38\xeb\x3f\xfd\xf1\xc9\xe9\x93\xe0\xc5\xcb\xd3\x7e\x3d\xf8\xd7\xea\x3c\x9e\x43\xec\x30\x3f\x15\x2f\xe0\xca\xc6\xaf\xb2\xbb\x0c\xab\xea\x59\xf0\x70\x5e\xa8\xd1\x9c\x42\x1d\x9e\x0c\xe8\xf4\x6c\x07\xf4\xb7\xda\x24\xcf\xd8\xb0\x11\x83\x09\xf3\x59\xc5\xe8\x11\xe9\x22\xe6\x43\x82\xaf\x3c\x2a\x34\x2b\x3b\x81\xf0\x38\x1c\x12\x85\x53\xcb\x4b\x12\xff\x1b\x74\x91\xa6\x68\x62\x9c\x6f\x78\xb6\x98\x4c\xec\x5d\x44\xc3\x05\x40\x87\xd1\x14\x2d\x18\x2b\x54\x74\x32\x98\x25\xa3\xd1\x71\x32\xa3\x84\x9e\x29\x10\x78\xfb\x25\x8a\x26\x52\x7a\x2f\xc8\xfd\xe3\x7a\xa7\x8c\x9d\x6c\xfb\x37\xa7\xb7\xb7\x35\x75\x7a\xe1\xc4\x10\x69\xaa\xf9\xce\x27\x53\x84\x12\x20\x22\xf6\xe2\x84\x48\xca\x97\x71\x8a\x09\xba\x69\x23\xd3\xc5\x45\x65\x4f\x89\x2c\x65\x36\x30\xe7\xd1\x1a\x2e\xf0\x12\x86\xfa\xb1\x57\x4f\x18\x00\xe9\xc3\x30\xdd\x13\x80\x44\x31\x38\x44\xd1\xe3\xda\x05\xd7\x18\x34\x61\x81\xc1\x86\x0c\xcd\x4b\x3e\x44\x78\x2a\x44\x63\x98\xa1\x7a\x78\xc2\x5d\xfa\xe1\xb5\x7b\xb9\x11\x13\x32\x0c\xe6\x5c\x4a\x23\x1c\x00\x71\x05\x76\x04\xc9\xe4\x2d\xd2\xca\x2a\x91\x4c\xe1\x50\x0b\xc8\x28\xfd\xd1\x04\x32\x4f\xdc\x9e\x4a\x19\x4c\xa0\xeb\x41\xcb\x31\x76\xaa\x87\xd3\xf0\xbc\x3a\x0f\xcf\xbd\x0c\x99\xe1\x39\xf1\xaf\x08\x13\x92\x38\x8f\x95\xaf\x33\xfd\xcd\xdd\x63\x06\x38\x68\xc0\x7f\x3f\x1d\xd6\x91\xa4\xd7\xed\xd8\x8b\xbd\x3d\x25\xe7\xce\xec\xd2\x54\x0a\x6b\x7b\x76\xe9\x30\xb2\x20\x48\x57\x80\xf3\x59\x4c\x29\xbc\x4b\xf0\xb1\x0d\xb1\x7c\x2a\x29\xc6\x2b\x83\x00\x89\xe6\xe3\x94\x28\x97\x80\x7b\x1e\xde\x9c\x47\x81\x87\x94\xca\x24\x99\x18\xe2\x74\x2d\xa1\x8e\x30\x85\xb5\x0a\x2f\x86\x49\xbf\x6d\xb4\x1c\x81\x55\x80\x5d\x03\x08\xc2\x1f\xd9\x88\xe5\xa5\xc8\xcd\xe4\xb1\xbc\x2f\x34\x03\x89\x39\x73\x0d\xfa\x35\x4e\xf9\xcb\x26\xe1\xc7\xf8\x12\xf2\x38\x36\x0d\xd7\x31\xeb\x5e\x42\x04\x22\xce\x66\xf6\x73\x8a\xcc\x51\xf4\xf3\x5a\xf5\xe7\xe1\xcf\xc3\xda\x9a\x4a\x3a\x2a\xc1\xaf\xf7\x39\xa3\x99\xd9\xd4\x69\xf4\x74\x32\xaf\x52\x6a\x33\xf0\x9e\x97\x47\x38\x3d\x14\xd4\x72\x62\xa0\x63\x5a\xc8\x94\x86\x95\x2f\x69\x42\x06\x6f\x25\x68\xb5\x1d\x7e\x1f\x74\x54\x56\xd2\xa2\x39\xc2\xa4\x38\x34\x38\x97\x34\x69\x1e\xd5\x82\x2e\x8a\x77\xc8\x8a\x60\x21\x25\xdd\xa8\x9a\x45\x3e\xa7\xff\xe1\xce\xcc\xf6\x4c\x25\x73\x53\x36\xd6\x44\xc0\xf1\x4d\x87\xb0\x31\x52\x0e\x38\x64\x0e\xee\x60\x4e\xea\x5d\x02\x66\xee\xce\x0a\xc6\x6d\xd2\xb5\xe9\x8e\x31\x2c\x1b\x90\xff\xf0\x1a\xe3\xe8\x89\x42\x3f\x4e\x8f\xb9\x66\xd7\x54\xdc\x77\x3a\xc9\x65\x2b\x31\x03\x36\xaa\xa8\x04\x0e\xd9\xf3\x70\x12\x5f\x18\x9a\xa9\xb7\xcf\x98\xcb\xc0\x3f\xba\xb4\x41\x55\x6d\x99\xec\xb0\x04\x40\x13\xa6\x63\xba\xd5\x7f\x37\xdd\x59\xf3\x5e\xcf\x1e\x0c\x15\xd1\xfb\x58\x23\x12\x59\x57\x0c\xf2\xa6\x18\x89\xd8\x31\x6c\xb0\x24\xcd\x3c\xa1\x22\x92\x41\x49\xcd\x89\x8c\xfc\x06\x24\x6d\x2f\xa8\x4c\x93\xe9\x62\x5a\xf9\x5c\xb3\x64\x4c\xef\x96\x65\x48\x85\x9e\xbc\x14\xba\xb0\x31\x20\xa3\x21\xa7\xa8\xa2\x3c\x8b\x50\x42\x7c\x16\x10\x3f\xbc\x63\xcd\xea\x3e\xe0\x3c\x56\x20\x4a\xa6\xbb\xf5\x01\x65\x48\xc5\xf8\x66\x02\xd0\xb0\x03\xe3\x04\x2e\x76\x08\x07\x34\xa0\x94\xa2\x86\x20\xfa\xe4\x12\x27\xec\xba\xad\x22\xe1\x2d\xde\xf9\x2b\x62\x84\x69\x92\x43\x89\xec\xff\xcf\xb5\x5c\x62\x4d\x08\xc4\x06\xf1\xdb\x7e\x13\xe1\xe1\x55\x84\xcf\xb0\xcf\x4c\x5f\xe9\xa5\x3e\x34\x4c\xf4\x84\x85\xc3\xc2\x40\xc0\x90\x47\xb1\x19\xf1\x09\xc5\xf8\xb0\x17\x96\xa9\xec\xbd\x61\xcd\xdf\x50\x19\x53\x93\x18\x44\x51\xa3\x57\xe6\x1c\x55\x0b\x53\x7d\xca\x88\x54\xdc\xc0\x55\x46\x91\x93\x8c\xde\x61\x18\x4d\x16\xc2\x94\x0f\x86\xb1\xb2\xf2\x68\x9e\x50\xfd\x2f\x1c\x0e\xf5\xe6\x8d\x07\xb8\xe3\x4c\x02\xb5\x51\x64\xf3\x5d\xa3\xec\xef\xc6\x30\x11\xe3\xfc\x9b\x41\x58\x9a\x27\xa7\xcf\x9f\x1d\x9a\x5d\x08\x31\x7d\x38\x03\x04\xff\xe5\xf2\xd2\x79\x40\x21\xde\x9a\x9e\x1c\xfc\x7d\x22\x15\x4e\x93\x9e\x74\xe4\xcf\x92\x40\x66\x13\x7e\x4a\x79\x33\xfa\x14\x0d\x7a\xc9\xd8\x90\x93\x61\xb5\x02\x10\x2b\x7e\xee\xcf\x8b\xd8\x3c\x18\x92\x4f\x7d\xc9\x76\xa8\xc8\xc8\xd3\xcb\x49\x32\xa3\x4c\x7a\xcd\xe0\xe8\x28\x28\xc8\xe2\xca\xb6\x2d\xc0\x27\x84\xf4\x05\x62\xd7\x70\x2c\x4d\xab\xcf\x09\x38\x0a\x89\x52\xe2\x60\x62\x63\x6d\x27\xd1\xcc\x6a\xee\x8f\xc3\x74\x1e\x15\x22\x9a\x02\x45\x61\x6e\x36\x8a\x98\x44\xf8\xc4\x13\x7f\x87\x45\x80\xb4\xe5\xd8\x07\x80\xd3\x78\xc7\xd2\x23\x88\x9a\xfe\xf5\x18\x47\x58\xff\x28\x28\x87\x18\xc1\xf3\xd9\x02\x62\x53\xf2\xc9\xe3\xd7\x08\x10\x1c\x88\x4e\xe9\x36\xf9\x53\x8e\xe6\x99\x5a\x09\x10\x86\x28\xa5\x50\x57\xd3\xc5\xf9\x28\x1e\x04\x90\xae\x65\xed\x1a\xb3\xb7\x8e\x23\x08\x27\x94\x8a\xe2\x8f\x63\xb1\xd2\xb1\x2b\xd5\x9a\x39\xd1\xbb\x92\xb9\xc7\xa9\x1a\x49\xbe\x0d\xd3\x0d\x7c\xc1\xd0\xaf\xf9\x56\xb2\xce\x59\x3a\xea\x11\x64\x95\x9c\x53\x44\xcd\x56\x72\x8c\xa5\x57\x42\x71\x0a\x88\x47\x77\x88\xc8\x76\x51\x80\xdd\x6c\x0b\xc6\x73\xcb\xe4\x81\xcf\xfa\x22\x04\x40\xc3\x95\x90\xa0\x42\xbd\xcc\xa2\xf4\x0f\xc3\x0a\x93\xf8\x10\x09\x5d\x19\x1e\x44\xb6\xeb\x46\x07\x89\x94\x71\x2a\x6e\xd1\x6c\x2c\x59\x47\x48\x21\x67\xb1\xc5\x35\x06\x24\xb3\x9b\xab\x64\xaa\x83\x91\x79\x93\xe4\x73\x6a\xf2\x00\xfc\x1e\xab\x6e\xca\x75\x3d\x51\xff\x42\x3d\x61\x75\x18\x23\x81\xe2\x5f\xea\x85\xb3\xe3\xb6\xe1\xbc\x25\xb9\xbf\x1a\x61\x66\x47\x68\x44\x20\x37\x84\x89\x04\x30\x9a\x90\x5c\x1a\x56\x0a\x5f\x32\x53\x60\x63\x12\x3d\x53\x80\x53\xb0\x94\x50\xdc\x2c\x59\x4f\xfc\x56\xb0\xa8\x68\x42\x04\x79\x7a\x72\x13\x71\xb3\x05\x29\x14\xc6\xac\x47\xb2\x8d\x62\xad\x15\xa7\x59\x06\xb2\x99\x37\xb7\x54\xd6\x96\xe7\xa6\x9d\xad\xca\x34\xc9\xdf\x24\x6b\x34\x93\xfa\x52\x73\xe3\x42\x5c\xe2\x44\xd2\x62\x64\x8a\x45\xa0\xc2\xa9\x46\x2a\xb0\xc2\x1e\x52\xcb\xb1\x6a\x8f\x0a\x6b\x2f\x6c\xf8\xdd\x70\xae\x93\x2c\x69\x74\x14\x6a\x46\x6c\x0a\x72\xe2\xa3\x29\xb7\x7e\xcc\xd2\xf0\x32\xd2\xe4\x64\x29\x0e\x7a\x09\x36\xe6\xc9\x49\x4e\xbd\xe2\xe1\xa2\x72\xe6\xda\xa9\x64\xf5\xac\x74\x0b\x40\x62\x25\x65\x3c\x08\x4c\x7f\xff\x78\x95\x6b\xe9\x55\x72\xdd\x4b\x46\xdf\xee\x62\xc2\x2c\xd0\x56\x31\xe6\x49\xb2\x08\x06\xc5\x89\x8c\xf0\xd6\xad\x80\x80\xf9\x62\x94\x5c\x57\x02\x30\x9d\xb3\x11\x14\x41\x5b\x81\xa2\x29\x52\x0b\x58\x21\x61\x40\xa2\x60\x89\xf4\x0f\x21\x4d\xcf\x21\xd3\xc2\x38\x1c\x62\x83\x71\xc2\x9b\x94\x73\x1b\xb0\xe6\x4b\xb2\x5b\x93\x4a\x8c\xd5\xce\x00\x28\x25\x09\x61\x20\x09\x92\x21\xb8\x2e\x67\xcd\xba\x8e\x20\xf0\x6b\x21\x38\xd6\x7d\xc3\x87\x51\x88\xa1\xef\xa0\x18\xe0\x89\x42\x1b\xc1\xa2\x00\x3b\x65\x6a\x26\x13\x85\x79\x42\x3a\x7f\xee\x8d\x12\xe9\x32\x78\x18\x3d\x30\x3f\x48\x78\x79\x18\xf4\x2a\x1a\xdd\x90\x38\x1c\x02\x03\xcb\xe4\x81\xf3\x82\x20\x9b\x48\x64\x95\x09\x10\xe4\xd9\xa6\x74\x02\xb3\xb5\x11\xc6\xff\xc4\x50\x6b\xa5\x77\x24\x06\x4c\xbc\x8a\xf0\xe7\x2a\x77\x23\x23\x41\x29\xf3\x97\xb4\xb2\x36\xdc\xa0\xce\xb5\x38\xb0\x89\xd4\xf9\xb3\x2c\xb4\x3d\x63\x80\x31\xda\x98\x72\x8c\x60\xa9\xa5\xbd\x2f\x87\xe7\x0d\xac\xce\x8e\x99\x49\x9d\xc7\x56\xf7\x3a\x56\xd4\x1a\x66\xbb\x0f\x73\xb6\x44\x9a\x27\xb3\xcf\x2d\x6d\xb9\x1d\xf5\x7e\x70\xff\xbe\x86\x56\xc6\xac\xf8\x27\x60\x55\x56\x45\x96\x01\x56\xf3\x0b\x96\x02\x37\xc1\xff\x9e\xe5\x50\xd4\x0d\xcf\xe4\xdf\x79\x75\xbe\x80\x69\xa2\x79\xf8\x6c\x13\x6f\xb5\x12\xc6\x89\xd7\x1d\x60\x39\xe2\x57\x8a\x96\x55\x19\x27\x6a\x58\x15\xb4\xd4\x35\x3a\xea\x3e\x0e\x8a\xf9\xa8\x92\xed\x78\x1b\x17\xc5\x03\x2e\x64\x30\x04\x37\xab\x72\x52\xb9\xc9\xdf\xc6\x4b\xd1\xfa\xe3\xbd\x5e\xb8\x09\xf0\x4b\xf9\x4e\xc0\xcf\x85\x1b\xa1\x98\xd1\xca\xae\xeb\xea\xac\x56\x1e\x13\xe5\x60\xbf\x82\xdd\x32\x48\x58\x93\x25\xbf\x9d\xd9\xca\xa1\x7b\x05\x76\xab\xea\xf0\xee\x10\x6f\x79\x2d\x41\xbc\x87\x79\x2d\x4a\xcf\xad\x41\x66\x11\x0a\x65\x66\x7f\x2c\x63\x56\xbc\xef\x97\xb1\x65\x39\xbc\xdd\xca\x98\x55\x85\x33\xa3\xa6\x8a\x37\x83\xde\x7d\xce\x8c\xc7\x21\x85\xa5\xa8\x43\xd6\xad\x56\x98\x22\xce\x37\x42\x79\x7f\x61\x36\x62\xf4\x4f\x66\x8a\x72\xa1\x8d\x50\x8e\x30\xee\xec\x70\x16\x5e\x58\xc3\x47\xf4\x25\xbb\x00\x3b\x00\x9b\x65\x4b\xeb\xb7\x61\xc1\x21\x5f\x52\x3c\x1b\xa2\xc1\x07\xe8\xfd\xc3\x51\x72\x99\xd5\xa8\xce\x40\xc2\x03\x7c\x18\xe4\xc1\xb6\x37\xb7\x80\x69\x7c\x4f\xad\x02\x90\xf3\xcf\xc0\x48\x24\xb1\x1a\xd0\x00\x95\x6b\x94\x03\x23\xaa\x18\x4c\x62\xfa\x0a\x4e\xe4\x3a\x20\x89\x55\xe3\x7b\x3b\x20\x0b\x01\x10\x84\xe9\x04\xe8\x64\x43\x5e\x8a\x01\xd8\xc7\x60\x0c\xdf\x87\xf9\x96\x76\x0c\x09\xa8\x1c\x66\x40\x5e\x6d\x1d\xfe\x02\x7f\x83\x49\x00\x9e\x1a\xcb\xba\x07\xf1\x38\xbc\x24\x5b\x60\xcb\x73\x63\xc7\x64\x07\x15\x40\xa6\x16\xd4\xf5\xa3\x1e\x80\x8d\x21\x5c\xba\x58\x3f\x04\xba\x7d\x35\x60\xd8\xe3\xeb\x00\xb7\x9c\x35\x57\x20\x91\xb2\x8c\x38\x43\x21\x2d\x0a\x7e\xf3\xb5\xec\x24\x40\x34\x75\x50\x7c\x28\x95\xe8\x06\xd1\xcc\xca\x62\x36\xf2\xd3\xc6\x42\x01\xe4\xad\x48\x42\xbb\xb5\xe8\x04\xa8\x46\xc8\x01\x4c\x29\x8b\xd8\x6f\x14\x2d\xf8\xb3\xe3\x6f\xe4\x8b\x8c\x9f\x9a\x07\x98\xc8\xc5\x46\x8e\xf7\xd9\x99\x23\x9c\xb0\xa6\x9c\x3c\xe2\x3a\x8c\xa7\xae\x3b\x54\xf7\x97\x54\x7a\x0f\x97\x11\xff\x6e\x2f\xaa\x61\xfc\x51\x97\xe3\xdf\xf6\x23\x4c\x72\x1f\x40\xbb\x7b\x8d\x07\xbd\xef\x4d\xee\xf7\xdf\xd1\x26\x8a\xeb\xc4\x38\x93\xf7\xd6\xfe\xc8\xde\x97\x94\xd7\x77\x96\xfb\xc2\x96\x32\xbd\x2b\xb0\x5d\x18\xb9\xcf\x8a\x48\x3f\xa1\x7c\xc3\x5c\x53\xa5\x2d\x8c\x2d\xd6\x3d\x24\x29\xba\x99\x4c\xd8\x24\xe6\xbd\xc6\x5c\xe4\xec\xe5\xa3\x26\x26\xb2\x06\x0b\x32\xb0\x3d\xaa\xc4\xd3\x41\x03\x8c\x0e\x1a\xc9\x87\x8a\x08\x72\xd1\xd5\xc6\x50\x0c\xb3\xd3\xab\x95\xd7\x13\xb2\x31\x11\x43\x24\x1c\x0c\x8e\x63\xcf\x90\x53\x02\x57\xd3\x76\xa1\x56\xc5\x87\xd3\x35\x77\xcb\x50\xf6\xdf\xd3\xc9\x45\xf2\x9e\x94\x88\x45\xa8\x68\x82\x2a\xb5\x6d\xa6\x30\xb6\x56\x3d\xb4\x0c\x32\x27\xd2\x5d\xd9\x98\xf1\xfc\xf1\x99\xd9\x95\x19\xcd\x10\x29\x47\xc0\x76\x02\xf4\xf5\x40\x40\x67\x94\x4e\x39\x4e\xeb\xe6\x98\x5e\x2e\x0c\x3c\x7b\x6a\xe7\x98\x84\x0a\x32\x8e\x4b\xf8\x7c\xcc\x59\x3e\x45\x1a\x9b\xce\x21\xf2\x57\x4a\x6f\xc0\xa7\x95\x31\x6b\x7d\xc5\x7a\x86\x0c\x02\xfc\xac\x53\x20\xdb\x16\xfa\x66\x16\xe6\x3c\x3c\x1f\xdd\x48\x68\x79\x88\xd1\x3f\x8d\xc2\x0f\x4c\x57\x28\x27\x15\x58\x53\xd1\xa1\x4c\x57\x5a\xda\xcc\x9d\x98\xdf\x38\xb4\x4d\x02\x42\x0d\xe5\x9c\x5e\x0e\x18\xea\xbd\xcf\x5f\xb5\x65\xfb\xd5\x50\xa3\xe7\x5e\xe9\x57\xac\xe9\xfb\xa2\x45\x2d\x06\x82\xb6\xab\xaa\x2b\x3e\x7a\x4d\x4e\xb5\xc4\xfa\xcd\x69\x92\xce\x19\xb6\xa4\xcc\xff\x0d\x76\xfb\x9e\xdb\xeb\x66\xdf\x86\xb3\xcb\x8f\x7b\xc1\xd9\x6f\xdc\x13\xd8\x30\xed\x95\xf7\xdd\xf9\xfc\xee\xb3\x58\x22\x9d\x95\xd7\x7a\x57\xb7\x94\xa4\x78\x3f\x8e\xc3\x1b\x7f\x37\xde\xbe\x2c\xe5\x8b\x7d\x82\x09\xf9\xbc\xcb\x33\x36\x07\x4c\x5b\x3c\xae\x46\x33\x72\x47\x34\xbf\x13\x90\x3f\x00\xf5\x63\x77\x00\x6a\x9c\x67\xe0\xd0\x06\xa4\xc9\x65\xa7\x18\x49\x91\xd3\x90\xe3\x04\xf5\x72\x54\xbc\x81\x9a\x55\x38\xfb\xcd\xf1\x62\xa1\x0f\x79\x2f\xb0\x10\x95\x0d\x18\x18\xa7\x91\x21\x81\xe1\xf9\x92\xd9\x5e\x86\xe6\xc3\x08\x8f\xfc\x2a\xd5\x9a\x6a\xee\xec\x10\x4a\x9b\x1f\xf8\x55\xbc\xe6\x24\x2c\x2a\x6d\xda\x73\x9f\xbd\x66\x17\x09\xe9\xbc\x8b\x47\x4b\xdf\x72\x0d\x8e\xc2\x71\x3c\xba\x29\x6b\x42\x5f\x33\x73\x4b\xa3\xd7\xaf\x9e\xed\xb9\xb5\x32\x7f\x55\x2b\x6b\x95\x9a\xe2\x77\x3f\xbf\xb3\x7f\x88\xa2\x5f\x9d\x3f\x7f\xd3\xbe\x06\xeb\x8a\x81\x61\x33\x3f\xb0\x00\x0f\xf2\x2a\x45\x40\x08\xe7\x68\xee\xe5\xee\x71\xd0\x7a\x27\x33\xcb\x0b\x95\x6f\xe8\x1e\x40\xe8\x11\xc8\x32\x7a\x83\xbd\xe4\xe8\x79\x92\x32\x57\x75\xeb\x6e\xa6\x51\xe6\x60\xa3\x11\x55\xf6\x6a\x36\x57\x79\xb6\xac\x49\x94\xf8\x85\xe1\xbe\x7d\x37\xa4\xc7\xf7\xf2\x77\xbb\xaa\xdc\x9c\x45\x20\x6e\xe9\x5d\xc5\x23\xc2\xa6\xaa\xa6\x6f\xab\x9e\x9e\xde\x57\xd2\x87\x5e\xc1\x54\x33\x04\xc2\x30\x8f\x77\xa6\x07\xea\xc8\x6a\xe0\x40\x44\x89\x70\x66\x31\x9a\x21\x86\x84\x37\xca\x07\x03\x77\x05\xe5\x83\xa9\x08\xc8\x01\x55\xb3\x26\x54\xd1\x3c\x58\x4c\x9b\xf8\xf8\x58\x4a\xfe\x35\x25\x61\x8a\xee\x86\xb4\x87\xff\xfd\x9c\x91\xc3\x40\x96\x5b\x4c\x94\xf5\x94\x19\x4f\xbd\x81\xee\xb1\xa5\x28\xdf\x96\xe9\x6c\x20\x43\x02\x3e\x37\x62\x53\x74\x6a\xc4\xa6\x3d\xd6\x20\x74\x29\x39\xbd\x42\x49\x48\x66\xff\x51\xa2\x95\xd1\x05\x5f\x80\x8f\x7d\xdb\xc9\xe9\x9c\xd1\xcb\x56\x6a\x6f\xc0\x2c\x5e\x1b\x52\x22\xbf\x16\x4f\x10\x84\xf0\xa5\x19\x37\x39\xfd\xe9\x0c\xea\xbf\x7b\x7c\x4f\xb1\x65\x1e\x68\xcb\xa3\x15\x0d\x4b\xb2\xfc\xe8\x93\xe2\xc4\x11\x45\x07\x25\xc3\x37\x46\xb4\xe0\xc4\xc0\x87\x23\x50\x57\xdc\x04\x1f\xe3\x34\x86\x0c\x1e\xc5\xbc\x22\x7a\x1c\x98\x7a\xd1\xcc\x5a\xc2\x54\xda\x5b\xd3\x4f\x95\xc7\xf2\xd5\xf0\xea\xac\xf0\x2e\x30\x27\xaa\x5a\xf6\xbe\x66\x1b\x88\x56\x10\x90\x5b\xc1\x3f\xcc\x8d\xb3\xb5\x41\x16\x4e\xd4\x1f\xf7\x84\x35\xe8\x2f\x53\x65\x63\xc7\x55\x19\x51\x3e\xfb\x2a\x77\xce\x7a\x9f\x46\xc0\x9e\x6d\x6b\xe4\x61\x08\x35\xc1\xb0\x5c\x55\x64\xd8\x0d\xab\x77\xc6\xaa\x32\x15\x31\xe1\xd8\xcf\x92\x77\xf9\xf2\xde\xd6\xb5\x08\x97\xca\xde\xcb\xc2\x1a\x6d\x0c\x0c\x92\xe7\x51\x9f\xde\x51\xd5\x8a\x19\x06\x21\xda\xd6\x6e\xa2\xd4\xa0\x39\x48\x53\x34\x8b\x37\x43\xe5\xdd\x53\x91\x1c\x49\xe6\x08\x9d\x63\x6e\xdc\xe8\xb1\x13\x92\x54\xd8\xe6\x6e\x2f\x68\x5c\x47\xe7\x1f\xcc\x3b\xe1\x62\x14\x7d\xd2\x15\x74\x79\x83\xd8\x5a\x04\xc6\x32\x42\x55\xd3\xa0\x68\x2f\x68\xb7\xfe\x55\x97\x01\x82\xf7\x82\x0d\xaf\x0c\x91\xbb\x17\xec\xfa\x35\x09\x91\x7b\xc1\x8e\x5f\x7c\x9e\x7c\x6a\xa4\x57\xa1\xe1\xfc\xf6\x82\x96\xf9\x5f\x67\xfa\xc9\x09\x7e\x96\x33\x06\x20\xef\xf1\x41\xcd\xcc\xfe\xdb\xbb\x2b\x08\x48\x28\x1c\x0f\x1f\x57\xdc\xce\xa3\x8d\xbc\xca\xf2\x50\xcd\xf2\xb5\x59\x19\xfb\x9c\xfc\xb8\xc1\xbc\xf0\x5e\x80\xcb\x61\x2e\x80\x22\x14\xc2\xe4\xbc\xc3\x96\x45\x84\xe5\x81\x0c\x3c\x64\x76\xbe\x10\xa3\x4b\x5b\xe7\x38\xad\x6c\x6b\x60\x83\x1a\x29\x32\x4e\x40\x0a\x72\x9f\x2e\x98\x45\x2a\x1b\x9c\x63\x93\x32\x47\x01\xc5\x2d\x43\xba\xaa\x09\x0f\x35\x4b\xf8\x50\xc6\xab\x2c\x9a\x5e\x60\x32\x51\x2b\xb7\xd0\x3c\x10\xd9\x65\xc2\x82\x33\x4f\xb4\xc2\x82\x07\xd2\xd6\x5c\x7b\xdd\x39\x27\x23\xad\x56\x66\x86\x6c\x82\x70\x92\x3e\x66\xab\x96\xec\x0e\x83\x87\x71\x08\x66\xef\x0d\x3c\x59\x8d\x75\x0f\x47\xee\xeb\x8c\x56\x3d\xf7\x99\xd8\xd9\xbd\x60\x9a\xa0\x68\xef\x71\xa6\x5b\x70\x31\xea\xd1\x76\x62\x97\x94\xb0\x73\x51\xf1\xaa\x84\xc3\x61\x1f\x5e\x97\xcf\xf8\x9d\x5c\xad\x20\xbf\x58\xa9\x7b\xdc\x8e\x30\x7c\x3e\xa7\x09\x60\x78\xfb\xeb\xf5\x20\xc8\x35\xef\x62\xe0\x1b\x7a\x3f\x2b\x71\x29\xc3\x36\xd5\xa0\xe9\x30\xbb\x93\x4c\x46\xf4\x98\x52\x42\x83\xec\xd3\x93\xab\x7e\xfd\x61\x84\x72\xb3\x67\x0b\x68\x1a\xba\x7a\x79\x9d\x79\xdb\xc0\xf0\x20\x15\xef\x0d\x59\x56\x2f\x0a\xc7\x90\xef\x1a\x2a\xcf\x0c\xa3\x50\xbe\xbd\xa9\xb9\xe2\xad\xe0\x8e\xf4\x6a\xd8\x76\x2b\x09\xbe\x3f\x44\x37\x64\x2c\xfa\xcf\x23\xfb\x26\x76\xe2\x27\x99\x98\xf9\xe5\x79\x38\xd5\xb2\x70\xf9\x14\x5c\xa1\x78\xc5\x06\xb5\x02\x09\x2d\xe6\xb8\x4c\x26\xa6\xca\x43\x12\xb4\x50\x96\x54\xf2\xec\x81\x2f\x6f\x4e\xcd\x37\xd3\x2f\x38\xfa\xf0\x9b\x29\x4c\xd3\x64\x00\x5e\x23\x64\xe7\xe5\x89\x68\x95\x34\x96\x58\xf8\x08\xa5\xdc\x7b\xc1\xd9\x7f\x9c\xf6\x5f\x3d\x7f\x07\xee\x94\xd6\x43\x0e\xe7\xfa\x71\x6e\xd6\xa2\x58\x45\xe6\xcb\x7d\x33\x5d\xa8\x61\x88\x36\xd5\x60\xdc\xae\xaf\x62\x70\xed\xfc\x0b\x64\xb1\x2e\x14\x93\x93\x2c\x7f\x9c\x93\xae\x60\x3a\x8b\x28\xbc\x87\x4f\x9d\x3d\xc1\xac\x6b\x6c\x6d\x61\x23\xf0\x8f\x70\xe6\xf2\x83\x70\x3a\x27\xef\x2b\x19\x9b\x20\xda\xd0\x64\x0b\x5c\xbe\x31\x0d\x70\x62\x55\xd5\x01\xb4\x92\x35\x4c\x29\xda\x91\xcb\x7f\x8e\xc8\x24\xa7\x0d\xb3\x46\xb1\xa1\xe9\xb8\x99\x80\xdd\x87\xeb\x30\xad\x07\x69\xf8\x11\x56\x0c\xc0\xa5\xf8\x94\xba\xe1\xad\x07\xce\x81\xa0\xd3\x42\x4f\x31\x4e\xf5\x0c\x6f\x41\x8f\x34\xd6\x49\xde\xcf\x71\x64\x86\x76\xe0\x32\x9e\xf7\x36\x33\x40\x10\x9c\x55\xce\x47\x8b\x99\xa3\xa2\x07\xe6\x2f\x4d\xac\xde\x59\x59\x54\xc5\xcc\xdb\xb0\x3e\x13\x57\xd7\x2c\xd6\xa1\x29\x28\xaf\x0e\xfa\xbe\xd4\xab\x7f\x0c\x25\xe5\x0d\x16\x53\xaf\xf6\xeb\x69\x49\x55\xb8\x2f\x9e\x4e\xa6\x8b\xb9\xab\x7e\x2a\x45\x5e\x13\xd3\x82\x9e\x26\x78\xbe\x02\x7e\x86\x89\x9d\xba\xe9\xd1\xbc\x83\xa7\x78\xb9\x9a\x2d\xe8\xd6\xd7\x9c\x4a\x16\x3e\x16\x9e\x58\xa1\xe3\xd2\x02\x3a\x04\x75\x51\x71\x9b\x03\xfe\xaa\x5a\xd9\xd1\x80\xaf\xd7\x5e\x70\x18\xa7\x18\x62\x0b\x0c\x7f\xba\xa3\xf9\x8f\x33\xc8\x43\x8b\xa7\x65\xbc\x98\x5c\x8a\x97\xd7\xc3\x60\x30\x9f\x8d\x1a\xe1\xc8\x5c\xb0\x5d\x4c\x79\x1b\xf4\x4c\xc1\x23\xd3\xc2\x3c\x1a\xc3\x49\x4a\x6d\xb9\x2e\x70\xbb\x5e\x5d\x7c\x5f\x14\xd7\x45\x52\xe9\x55\x26\x42\x5b\x58\xdb\xe2\x29\x84\xb2\xe7\x40\x3e\xc5\x69\xcd\x9f\xdb\xd3\x0b\x4a\xad\x68\xde\xc6\xb1\x19\xcb\x53\x43\x45\x67\xac\x1d\xbb\x40\xcf\xf0\x2b\xd4\xcf\x89\xb0\x40\x9c\x6c\x30\x81\x35\xda\x82\x37\x2d\x1c\xe4\x94\x30\x41\x3f\xac\x19\x93\x38\x84\x74\x8e\xd2\x70\x6b\xa9\x05\x2e\xe2\x99\x61\xa6\xd0\x3b\x75\x4e\x76\xf2\xfb\x1c\x87\xb0\x70\xac\x57\xc9\x38\x5a\x8b\xd0\x1a\x75\x34\xb2\x61\xc7\x3c\xed\x63\x8a\xae\xa8\xe7\xe0\x08\x07\x1e\xf1\x00\xde\x36\x23\x68\xd8\x16\x44\x9d\xd8\xf0\xcd\x29\x0c\x1a\xee\x99\x14\x64\xf5\x3c\x1b\xf8\x34\x71\xdd\xa5\x28\x61\x35\x55\xb1\x1e\x59\x98\x00\x28\x1f\x3c\xf7\x9d\x66\xa6\x08\x9f\x81\xf4\x93\x93\xac\xca\xc2\xa8\x66\x78\x82\x0f\x64\x03\xf9\xdc\x90\x8b\x3a\xdb\xc8\x23\xaf\x09\x2e\x89\xc1\x62\xba\x86\x3f\xe1\x84\x67\xa0\x43\xf9\x6d\xd0\x2d\xfe\x60\x47\x36\x8e\x47\x8b\x74\xed\x79\x3c\x31\xff\xfd\x4b\x34\x4b\x04\x8d\x29\x7a\xbc\xe7\x56\x15\x9b\xd0\x1e\x59\xda\x90\x6b\xe2\x67\xc6\xd7\x2f\xef\xeb\x04\xcd\x75\x8b\xed\x86\x89\x0d\x7d\xe5\xcf\x05\x4e\x10\x54\x43\x20\x50\xf5\x2f\xe0\x83\x5f\xb4\x23\xf0\x68\xf5\xc8\xe9\x3d\x45\x47\x02\x9c\x1f\xf7\xdb\x83\x0d\x07\x9b\x0d\xbe\x58\x0f\x01\x69\x86\x93\x31\x8d\x8b\x2a\x13\x18\x07\x56\x35\xf6\x46\xd9\x43\xaf\x9a\x42\x64\x63\x1f\x6f\xe8\x8c\xe4\x87\xf6\x66\x85\xa1\xbd\x29\xac\x4c\x60\x1c\xd8\xb2\xa1\xbd\x91\x73\x54\x30\xb6\x3e\xba\xd0\xaf\x0d\x85\xa2\x4d\xa7\x23\x71\x7f\x87\x0b\x21\x1c\x12\x3c\xa1\xc5\x71\xca\x0a\x6b\x36\xb3\x0d\x6f\xcc\x5d\x3a\x8e\x0c\xeb\x84\x07\x1d\xaf\x4d\x3c\xdf\x56\x2f\xa9\xb8\x06\x8f\x18\xb9\x8e\x7e\xc2\x7e\x56\x1a\x1e\xb2\x48\x6a\x88\xd6\x44\x73\x18\xdd\x3a\x4e\xae\xfb\xc5\xc3\x24\x11\xfe\x2d\xc7\x09\x09\x23\xf0\x04\x18\x81\x83\x7d\xea\x91\xb2\x1c\x9c\x04\xd5\xca\xcf\x9f\x5a\x3b\xa0\x61\xfa\x10\x06\xbf\x3c\x81\x38\x17\x2f\xc5\x52\x88\xe0\xf8\xcd\xe1\xba\xd3\x20\x4c\xf3\xed\x8b\x4a\x66\x84\xb6\x3a\xea\x7c\x0e\x6c\xe3\xc2\x71\x52\xf8\x19\x4a\x32\x2c\x82\x4b\x20\x29\xa0\xa8\xbd\x8d\x2e\x5b\x63\xd6\xbe\x00\x30\xd7\xc8\x62\x7e\xd1\xd8\xc9\xdc\x23\x60\xe2\x66\xf3\xd4\x5e\x81\xae\xda\x00\xc7\xb9\xe0\x1e\x0e\xc1\x82\x17\xdb\x47\xa9\x61\xe0\x22\x30\xa5\x80\x74\xeb\x7e\x6f\xd0\x08\x67\xd4\xa7\x4a\x45\x47\x5e\x77\x04\xf5\x1b\x6f\xc8\xc1\x52\x0c\x8b\x93\xa2\x69\xc0\xc7\xe7\xa6\xf2\x9b\x62\x2a\x22\x04\x4c\xc4\xc3\xe6\xd2\xc4\xb1\xa3\x0d\x32\xb0\x63\xde\x81\xe0\x29\x34\xe9\x1f\x4b\xd5\x27\x41\xff\xa4\x87\xc1\x2a\xe2\x4f\x7c\x94\x29\x08\x69\x53\xea\x75\x87\xc3\xa0\xdd\xd9\x11\x64\x2f\x26\x78\x6b\x98\x21\xbb\xf0\x79\x21\x18\x5a\x05\x9f\xe6\x14\x39\x05\x61\xf0\x85\xdb\x30\xc3\x31\x30\xde\x86\xf1\xdc\x8a\x1e\x84\x77\x63\x46\x16\xef\xb9\x08\xa2\x07\xb0\x99\xa8\xdc\xd5\xe0\x2c\x25\xe0\xfc\x7f\x55\x3c\x33\xd7\x09\xe8\xba\xaf\x93\xd9\x07\xc3\x03\x9b\xbb\xc3\x1c\x31\xf3\xac\x9d\x63\x44\x48\x76\x9a\x57\xe0\x0a\x01\x05\xd3\x68\x46\xf5\x43\x1b\x5f\x24\x74\x31\xad\x31\x20\x0d\x20\x35\x35\xdc\x2e\x3c\x54\xd2\x66\x2d\x7b\x72\xcd\x83\x16\xad\x5c\x31\x42\xc8\x18\x2c\xab\x67\x29\xb1\xc8\xd0\xd0\x54\x30\xe4\xc0\x54\x18\xf0\xf1\xc5\xfd\x55\x35\x9f\x9e\xe2\xc2\x06\x71\x4a\xb0\x88\x1c\xd6\x72\x4c\x10\x6e\xab\xb7\x80\x1a\xb3\x81\x69\x01\x6f\xd9\xc1\xb2\x09\xcc\x3c\x52\xe2\x77\x64\x4f\xd7\xd1\x64\xcd\xec\x67\x78\xa6\x4e\x67\xc9\x70\x81\xc1\x56\x71\xb9\x99\x07\xf4\xe2\xae\xda\x79\x82\x7d\xa1\x59\x7e\x8a\x60\x52\x17\x16\x03\x03\xd1\x50\x09\x3c\x51\xa0\x20\x5c\xcc\x13\x72\x15\x77\x36\xa1\xb2\x26\x79\x06\x8f\x51\x70\x0b\x91\x9a\xa1\x35\x5e\xc2\x2e\xe8\xc1\x61\xff\x19\x4e\x8f\xdf\x4e\x36\x28\x10\x62\xd7\x00\x6d\x38\x92\x94\x4c\xf8\x9c\x90\x03\xb4\x79\xc3\x7f\x64\x1b\x94\x10\x81\x5b\x58\xb8\x1d\xf5\x8c\x9d\x48\xcf\x30\xad\x6c\xd8\x05\x6e\xe8\x10\x2e\x68\x16\xc3\x7a\x43\x34\x07\x07\xb8\x9e\xe9\x19\x34\x2d\x20\x9b\x60\x3e\xcb\x8c\xde\x74\x65\x8e\x1c\xd4\x86\x80\x06\xa4\x21\x33\xec\x25\x58\x4c\xdd\xb8\x67\x2b\x99\x67\xa0\x45\xa6\xad\x72\x31\x5b\x18\x9e\x94\x5e\xd9\x44\x76\xc1\x50\x11\x8c\x32\xe2\xf1\x34\x49\x51\x19\x81\xf8\x49\x88\xae\xd8\x51\x34\x11\x89\x57\xd4\x23\x2f\x5e\x4a\xaf\x63\x38\xef\xcc\xdc\x5c\xe3\x77\xc4\x48\x3c\xf8\x80\xa7\x1c\x0e\x93\x8f\x21\x3a\xaf\x79\x14\xef\x59\x1c\x7b\xc5\x75\x80\xca\x7c\x6a\xe4\x6d\xca\xcb\x04\x99\xc0\x3a\x31\xa8\x10\xc2\x2c\x94\x3e\x88\xf1\xd6\x73\x64\xd7\x0d\x59\x64\x3a\x4e\xa0\xd7\xc2\xe1\x18\xe2\x86\x62\x05\x4e\x58\x3f\x98\x9d\x2f\x2e\x21\x18\xfe\x5a\x7b\x7b\x63\xa3\xdd\x0a\xf2\xfb\xcd\xde\x37\xb4\xf1\x6e\xb9\x7e\x5e\x33\x59\xfe\x10\x45\x53\x83\x0c\x53\x59\x0c\x08\xe5\x85\x07\x73\xc6\xab\x62\x8e\x91\x33\xac\xeb\xc9\x24\x1a\x80\x7a\x0f\x22\xe4\x27\x33\x77\x57\x2e\x1b\x81\x8b\x16\x44\x3c\x34\x52\x45\x21\x98\xf6\x2d\x44\xb0\x5c\x5d\x34\x0a\x24\x6b\xc4\x10\xbc\x42\xcc\x9e\xa3\xbd\x44\xd4\x0f\xfc\x61\x44\x29\x02\x36\x44\x66\xd4\xe9\x14\x72\xed\x13\x29\x27\x68\x0f\x20\xf6\x11\xd4\x78\x00\x24\x01\xb3\xe1\xcb\x3c\xed\x31\xcb\xa3\x52\x5e\xdb\xd1\xd0\x46\xdc\x2c\x60\xd7\xed\xb9\x1b\x47\xc3\x38\x24\x6e\x46\x1e\x56\x74\x3e\x78\x28\xf1\x2c\x38\x42\x54\x82\x54\xe1\x63\x38\xb2\x7d\x06\xfd\xe6\x65\x33\x78\x00\x88\x7a\x50\xd0\xf4\xa8\xdd\xd4\xbc\x3e\xf5\xc7\x26\x92\x68\x41\x24\x8f\xba\xdc\x85\x6d\xc6\x03\xcf\x8e\xee\x2c\x3a\x82\x9f\xc5\x5b\xe0\x49\x32\x62\xcb\x14\x83\xf3\x8f\x71\xb2\x50\xe4\xfe\x22\xf0\xa8\x33\x52\xfc\xc3\x7e\xef\xa4\x7f\x1a\x60\xce\x59\x72\x41\x32\x7b\xf4\x2d\x46\xc5\x01\x70\xe6\xf3\xab\x13\xff\x73\xdd\x87\x62\x39\xc1\x21\x72\x56\xd6\x78\x9c\xa4\x39\xb8\xd2\xfc\xb4\x5f\xa0\x90\x26\x59\xe4\x38\x06\x1e\x68\x57\x81\x2d\xb4\xcd\x3b\xe1\x30\xbd\x88\x28\x8c\x20\x48\xfc\x66\x0f\x9f\x88\x18\x67\xca\xca\xa9\x46\xe1\x0d\xf5\x94\x13\xa5\xc1\x2f\xdd\x81\x58\x17\xfe\xe6\x71\x27\xf0\x0c\x87\xe1\x98\xc5\x3c\x94\xbb\x15\xee\xfa\x79\x32\x3d\x36\x3b\x2d\xbc\xd4\x81\xab\x48\x64\xa7\x58\x02\x7e\x62\x11\xac\xc8\x7b\x2b\xf4\xba\x2f\x7a\xfd\x67\x7b\x28\x0e\x21\xeb\xce\x6a\x85\xca\x2a\xb5\x7a\x86\x85\x04\x62\x27\x77\x3c\x2c\xa4\xdc\xf2\xce\xdc\x77\xe0\x85\xcf\x02\x7e\x05\xdf\xd1\x18\xb4\x82\x44\xb0\x04\x4b\xa2\x4b\x48\x0b\x96\xb0\x65\xe4\x06\xd6\x0e\x1d\x05\x0d\xe0\x5c\x85\x6f\x01\xbc\x7d\x2d\x28\x1d\xe4\xbe\x44\xcc\xe0\x8d\x01\xdc\x3c\xf8\x4c\x9a\xd7\x03\xd8\xa7\x33\x59\xa1\xa1\xa4\x75\x5f\x86\x80\x40\x79\xd6\xf8\x85\x46\x6e\x07\x7e\x01\x3d\x57\xf9\xee\xb8\xa9\x59\x02\x4e\xe1\x95\xe3\xb9\xc7\x34\x36\xe4\x16\x61\x20\xc2\x0a\x51\x04\xc6\x94\xe8\x4d\xef\xe4\x29\x8d\xc1\x7e\x95\x89\x85\xe8\xd4\x24\x77\x97\xf9\x87\x3e\x79\xe8\xbe\xe7\xcd\x27\x40\x81\x6f\xc4\xdc\xa4\xd9\x82\x83\x59\x7c\x4e\xb3\x17\x89\xb1\x18\xec\x52\x74\x33\x01\x27\xe1\xe3\xe1\xd3\x83\xe3\x5e\xe3\x04\x05\xeb\x47\x62\x91\x00\x87\xfb\x81\x19\xd6\x80\x8d\x7a\x0a\x26\x26\x72\x18\xe6\x9c\xe1\x7e\xb2\x8b\x0b\x65\x25\x4b\xea\xc2\xcc\xd9\xc1\x48\xab\x85\xa1\x4f\x33\x88\x7f\x6d\xe3\x03\xf1\x00\x1d\xf3\x0c\x42\x9b\x10\xe3\xe5\xb0\x11\xba\x05\xb2\xb5\x11\x54\x29\xba\x7e\xe5\xdf\x2a\x35\x84\xb9\xbb\x69\x8b\xde\x9b\x2d\x4e\x97\xe7\xb2\x8e\x2c\xb0\x5c\x87\x63\x14\x70\x98\x3e\x90\x75\x9d\xcc\xe5\x0a\x01\xd3\xcf\x34\xa8\xfc\xf2\x6f\x15\xfb\x7c\x6b\xb5\x2a\x4e\x54\x64\xfe\x55\x7e\x79\xef\x3e\xb6\xcd\xdb\xce\x30\xe2\x2f\x12\x71\xad\x84\x3d\x7a\x15\x5f\x12\x17\x6a\xfe\x6e\x99\x2a\xd0\x09\x84\x37\x77\x77\xa3\x5b\x37\x5c\x49\xb0\xcd\x77\x18\xa5\x29\x62\x24\x45\x8f\xcf\x76\x4b\xa5\x1e\x38\x77\x5e\x26\xc4\x9a\xd7\x3f\xc5\x6c\x94\x4b\x5d\xe7\x83\x11\xa4\x2d\xa6\xa0\xb1\x31\xaf\x9f\xfc\xce\x19\x13\xf7\xee\xc6\x61\xb6\xd1\x45\x7c\xb9\x98\xd1\xcd\x94\xf2\xeb\x8a\x58\xf6\x3a\xa2\xec\xbc\xe2\x9d\x77\x3b\x16\x8e\x55\x97\x3f\xa9\x8e\x78\x45\xea\xad\x7f\xd8\x3f\xea\xbe\x7e\x76\xea\xd3\x3f\x2e\xcc\x12\xc0\x1e\x79\x72\x7a\xe4\x01\x2c\x75\xa7\x73\xb8\x3b\x30\x96\xa5\xd0\x7f\xef\xc6\x77\x4f\x85\x11\x5d\x78\xea\xc9\xcf\xcf\xb3\x61\x84\xa4\x06\x5c\x8e\xd4\x25\x74\xdc\x3d\x39\xf1\x47\x06\x25\xd9\x61\xb1\xb8\xd6\x6d\x02\x78\x6c\x45\x03\xe0\x4d\xdc\x3a\x38\x2e\xa4\x17\x4e\xeb\xee\x41\x11\x91\xd4\xd5\x9c\xec\xa6\x13\x14\xc0\xc8\x05\xb9\xfc\xf6\x25\xca\xc9\x7a\x04\xd2\x88\x44\x4d\xff\x42\xaa\xd6\xa4\x11\x13\x66\x31\x8a\xb2\x8b\xfd\x74\xce\x57\xf5\xc5\x62\xc4\x4e\xcf\x4c\xb2\x86\xf2\xca\xc2\x88\x7c\xc4\x71\x19\x86\x0b\x98\xa2\x09\x84\xbe\x1b\xdd\xa0\x9a\x6e\x9a\xba\x03\x69\x89\x1d\xa5\xe1\xe1\xb1\x08\xf2\x05\xb1\xc8\x66\xcf\xa2\x90\xe2\x6d\xf1\xa5\xf0\x41\x66\x0b\x48\x3e\x39\x7d\xf5\xf4\xd8\xc7\x32\x16\x55\x6a\xfa\x86\x47\xd1\x47\xe4\x5c\xa4\xc2\x01\xf8\x2a\x2a\x98\x15\xd8\xa4\x0d\x11\xb1\xe8\x90\x95\x85\x57\xbd\x72\x06\x23\xc8\x45\xd1\xd8\x9d\xcd\x55\x5e\x02\x63\x45\x30\x5e\x44\x7b\x4f\xa7\xd6\xfc\x38\x67\xe8\xaf\x4f\x8f\x76\x10\xac\x8e\x6c\x6f\xfe\xf6\xed\x29\x51\xa7\x16\xe5\x34\x6a\xfa\x3a\x55\xea\x41\x56\xcd\x79\x9e\x3c\xee\x5d\xa4\xe4\x6a\x81\x40\xb6\x10\xe1\x89\x39\x20\x3d\x29\x87\xc4\x14\xcf\x18\xf4\x26\x17\x99\x3e\xbe\x4e\xdc\xcd\x1b\xcf\xb2\x62\x05\x48\x80\xb6\x38\xe7\x27\x1b\x79\xfa\xf1\xa8\xac\xee\xf3\xd8\x00\xc5\xf5\xa2\x67\xb5\x8b\xad\x63\xfe\xb0\x1a\x3a\x6f\xbc\x56\x19\x58\x14\x75\x87\x35\x89\x9f\x2d\x20\x4f\x49\x79\x05\x66\x20\x82\xb5\x2b\x09\x0b\x38\xe0\xd9\x43\x38\x40\x71\x77\x93\x37\xbe\x16\x6f\x2e\xd3\xb2\xaa\xfd\xc2\x63\x2e\xd2\xbf\xf2\x40\x94\x5f\x07\x8f\x6c\x7f\xbf\x58\x21\xaa\xf7\x8e\x35\x76\x91\x46\x62\xdd\x57\xdc\x88\xac\x2e\xfc\xb1\x60\x04\xb1\x5a\x69\xca\x00\x5f\xb5\x69\x03\xb5\xc7\x2e\x3e\x3b\xda\x49\x51\x05\xb1\xca\xb0\xf5\xcf\xe2\x77\x2e\xd8\xa0\x37\x53\xf8\x27\xbb\x31\x67\x7c\xc2\xed\xcf\x5a\xef\xea\x02\x1a\x82\x17\x16\x46\x46\x2b\x9c\x6e\xb3\x40\x6f\x7b\x0b\xd4\x7b\xda\xd7\xa5\x40\x09\xcd\x83\xf5\x73\x46\xf0\x4e\xf0\x4f\x9f\x6c\x1e\xef\x94\xe1\xe6\x35\x68\x67\x41\xa5\x8d\x79\x07\x01\x08\x12\x78\x2d\x6b\x99\x8e\x04\x2c\xb8\x65\x57\xd9\xb3\x50\xb4\xaf\x94\x21\x76\xc9\x8a\xe7\xdd\x4d\x94\x9e\x97\x87\x22\x73\x78\x8b\xba\x7c\x4c\x20\x34\x98\x53\x22\x15\xf4\xb1\x61\x11\xc1\x25\xf9\x49\xc3\x1b\x14\xe4\x37\xd7\xa0\xe9\x12\x23\x89\xe7\xe1\x40\x38\x57\x60\xd4\xd0\xe9\x0f\xef\x0a\xdf\xc7\x10\xa2\x0d\x92\xc8\x39\xbd\x99\x98\xca\x73\x56\x52\xe0\xab\x02\xe5\x5f\xf4\xba\xbd\x05\x27\x5a\x55\x5d\xe2\x38\x75\x9f\x5d\x9d\xb2\xe7\x88\x1d\xaa\xd2\xe9\x08\xa2\xb1\x56\x6a\x4d\x73\x1e\xfa\xe1\xe0\xaa\xea\x13\x68\xcf\x12\xc4\x69\xc3\x6d\x85\x5a\x09\x6a\x45\x62\xa0\x30\xbb\x74\x1e\x56\x9f\x5f\x30\x0d\xc9\xda\x61\x0d\x15\x61\xf3\xec\xf3\x5d\xd8\x84\xfb\xb3\xc7\xe9\x02\xaa\x51\x13\x59\x4f\x67\x08\x9b\x5c\x47\xb3\x9f\xb0\x3a\x5c\xa9\xf3\xe4\x19\x14\xf4\x42\xb2\x65\x27\x0c\x99\x46\xa0\x89\x82\x5a\xbf\xff\x6e\xf0\x02\xac\x9e\xf9\xa3\x06\xe4\xa5\xea\x00\x98\xeb\x6c\x50\x81\x1a\x5e\xd1\xc7\x4a\x4d\x59\xdd\xbd\x9c\x50\xf4\xb0\xc8\xc9\x19\x83\x2a\xec\x23\xf8\x13\x58\xc7\x1a\x1f\x1a\xd4\x05\x40\x40\x32\x12\xfb\x80\x0f\xfc\x9a\xd3\x53\x03\xa8\x67\x11\xc6\xbe\xf6\xb4\xdb\xf2\x6a\x95\x4b\x46\xce\xd5\x79\x74\x15\x82\x18\x80\xb4\xea\x59\x1b\x65\x72\x9f\x23\x29\x8e\x25\x99\xbe\xac\xd9\x4c\x44\x49\xf0\x2b\x50\x2b\xb2\x39\x18\x30\x39\x95\x0e\x96\x86\x29\xb7\x2e\xcd\xac\x48\xec\x14\x61\xfc\x10\x94\x01\xc2\xdf\xd1\xa7\x29\xc7\x0e\xcd\x1c\x7d\x96\xd1\x84\x13\x01\xa4\x45\xed\x78\x92\xcc\x7c\x87\xf1\x10\xc4\xfc\xe6\x40\x41\x4c\x59\x7c\xf9\x18\xc0\x63\x34\x21\x38\x8f\x28\xe8\x00\x88\x98\x38\x5d\x9c\x05\x35\x91\x80\xdb\xc1\xd3\xe7\x7d\x0e\x5d\x27\x51\x53\xd0\xd8\x8a\x46\x88\xe8\x14\x59\x0b\x6a\x30\x1a\xa3\x98\xc4\x90\x00\x86\x11\x39\x93\x55\x90\x72\x24\x6a\x12\x60\x05\x67\x8d\xf2\x7f\x14\xb7\x5f\xb0\xa9\x0d\x3c\xad\x6e\xa6\x90\xa5\x6a\x74\x43\xe4\x41\xe9\x27\xe8\xae\x15\x70\x18\x5f\x5e\x2f\x00\x48\xdb\x63\xe4\x0e\x44\xe8\x0f\x9c\x43\x05\x45\xf5\x15\x67\xaf\x39\xb8\x2a\xdd\xf6\x2c\xca\x51\x69\x31\xee\x3b\xc6\x59\x2c\xee\xb1\xfd\xe0\x2a\x7f\x0c\x82\x80\x39\x3c\xf3\x51\xa5\xde\x68\x81\x6d\xab\x79\x0e\xe1\xc1\x53\xc9\x1c\xd5\xde\xf8\x7e\x3f\x58\xef\x58\x43\x7a\x80\xef\x3e\x7a\x3b\x70\x70\xa5\x6e\xe5\x62\xf2\x52\x2d\x9a\x9a\x69\x57\x63\x82\x95\x65\xe6\x1f\x63\x69\x46\xc0\x94\x71\xc1\x39\xa6\x36\xf6\xc8\x78\xf2\x2f\xc8\x41\x87\x76\x30\xf2\x00\xb4\x3e\x87\x78\x0b\x5c\x61\xc2\x1c\xc8\x1f\x27\x06\x52\x2c\x72\x9c\xc2\xf0\x53\x7c\x80\x57\x20\x4e\x2c\x47\x5e\x35\x6f\x86\x11\xc7\x07\x12\x6f\x98\x7e\x3a\x80\x58\xe0\xc4\x32\x72\x50\x6e\xcc\x8a\x0b\xb1\x1b\x84\x28\xe0\x47\xf8\xc3\xbc\x3f\x89\x5c\x62\x13\x38\x3e\xa0\xad\xa3\xd7\xee\x38\x34\x17\x9b\x79\x99\xe0\x15\x0c\x83\x31\xb7\x8c\xeb\x50\x46\x06\xf7\x8a\xc4\xa5\x5e\x4e\x72\x19\x99\xd4\xae\x3b\x9d\xbe\x48\x26\xa0\xd4\x47\x9d\x3e\x63\xb8\xf4\x4a\xf1\x23\xcd\x82\x37\x92\x57\x82\xb1\x74\x0b\x4b\x19\x53\xb5\x0c\x99\xe2\xed\xaa\xa8\x70\x6e\xf3\x16\xad\x3e\x2c\xf3\x92\x2b\x05\xcd\xcf\x0a\xa6\x50\x26\xd4\xbe\x05\x1c\xd9\x90\x95\xba\x27\xf3\x01\x04\x62\xd9\xde\x51\x5b\x3d\xdb\x51\x41\xe1\x9f\x82\xff\xa9\xb6\x83\xef\xbe\x03\x30\x22\x9e\x87\xf4\xa7\x35\x67\xde\xed\xc1\xef\x6c\x2b\xf8\xab\xac\x63\x35\x2a\xbf\xa5\xe1\xb5\x7c\x87\x4b\x1a\x8d\xf4\xfe\x08\x24\xfc\x1e\xfc\x0d\x70\xe0\xf8\x07\x53\x1c\xb8\x27\xc7\xf3\x70\xda\xa4\xc2\xf4\xcc\x76\xf3\xce\x6e\x4d\xfa\x94\x75\x17\xba\x0e\x67\x93\x6a\xe5\x05\xa8\x2a\x2f\x30\xfe\x3d\xcb\x95\xb9\x39\x19\xf8\x67\x29\x73\xe6\x6e\x66\x1b\x4f\x49\x4e\xc2\xaf\x46\xb2\x25\xbd\x4c\xf8\xf1\xbe\x48\x6d\x9a\x6c\x48\x57\x33\xfa\x18\x0d\x49\x08\xef\x67\x10\x29\xf0\x8a\x52\xbe\x5a\xe8\x04\x6b\x1d\xe2\xd4\x75\x2e\xc9\xc4\x9c\x78\x23\x13\xad\x81\x0b\x27\x14\xf9\x40\x44\x73\x56\x64\x15\x0a\x20\x97\xaf\x00\x2c\xce\x31\xe6\x6a\x3c\xcf\xb5\x18\x82\xd0\x21\x95\xd7\xba\x27\x00\xab\x0b\x24\x9e\xa5\xe8\x05\x51\x32\xd5\x14\xa7\xb0\x22\x04\x98\xa1\xb1\xd3\x18\xc6\x94\xa7\x9e\xf6\x79\x9d\xc5\xa9\x4c\x2e\x46\x40\xb6\xc3\x35\xf0\x3e\x32\x72\xeb\x73\x6a\x21\xd0\x2f\x68\x6a\x73\x53\x45\x4f\x35\xda\x2d\xf5\xe0\xcc\x70\xff\x04\xff\x5d\x8d\xfb\x06\xe0\x16\xea\xbe\x08\xee\x80\x99\xb2\x61\x0b\x58\xa9\x90\xeb\xc7\xad\x8e\xad\xe2\x7b\xc1\x51\x4d\xbd\x6f\x9c\x2c\x96\x75\xba\x28\xf5\x9b\x41\x00\x80\x06\x87\xef\xa9\x56\xcc\x38\x2a\xb5\x00\xf4\x7c\x10\x5d\x9f\xd4\xbd\xe9\x9c\x62\x15\x41\x26\x4c\xd2\x58\x52\xcc\xda\x94\x44\x1e\x73\xc8\xf4\x50\x47\x69\x1a\xf8\x15\xb1\x0c\x00\x18\xba\x45\x7a\x05\x17\xd0\xa5\x13\xa2\x72\x75\x92\x61\xe1\x27\x82\x06\xe8\x85\xb8\xf0\xa6\xdb\x91\x17\x71\x47\x78\xa8\x79\x22\x86\xff\xa4\x47\x00\xfc\x9c\xdf\x50\x06\x10\x5c\x43\x52\xf0\x58\xaf\xb9\x02\x05\x54\x93\xaa\x08\xa7\x2f\xd8\x5e\xd6\x82\xeb\x48\x13\x10\x55\x2e\xad\x0f\x15\xa4\x32\x4a\xdc\x96\xd6\xc6\x1a\x9e\x03\xdc\x0c\xa3\xcc\xd9\x8b\x4d\x40\x01\xdf\xbb\x9f\x35\x8b\xf8\x81\xed\x2c\xf6\x02\xe1\xd5\xa5\xfa\x98\xac\x26\x72\xf5\x1d\x53\xef\x3f\x5b\xf6\xdc\x1f\x36\x4b\xee\x44\x8e\x78\x63\x0c\x9b\xf7\x1a\x12\x77\xcd\x28\x8b\x84\x13\xba\x5a\x9e\xc8\x8a\xd3\x51\x33\xf8\xe0\xac\xd9\x6c\xbe\x7b\x70\xcf\x06\xd0\xb7\xc2\xf6\xfd\xe0\x7e\x75\xed\x97\x9f\xcf\x7e\xbe\x7e\xf4\xf3\xbb\xff\xb3\x86\xb9\x56\xaa\x74\x28\x9a\x04\x92\xc9\x77\x6a\x18\x16\x08\xc1\xec\xdb\xfa\x5a\x82\x0a\xcc\x79\x45\x0c\x92\x2b\x7b\xf6\x30\xe9\xbe\x20\x9e\x3d\xa3\xd4\xfc\x6a\xea\x79\x21\xed\xa5\xb1\x1b\x3a\x1b\x1b\x63\x67\x10\xae\x11\x7c\xa0\x22\x33\x7e\x90\x83\x6b\x35\x10\xab\x3c\xdc\x8b\x44\xa4\xb6\xa4\x86\xbd\x06\x53\x26\x14\xf0\x47\x56\x6f\x80\x77\x50\x6c\x51\x3a\xb4\x37\x68\x53\xf8\x6c\xbb\xf6\x36\xeb\x01\x9e\x76\x5c\x77\x55\xf4\x19\xff\xcb\xe9\xf9\x14\x2a\xac\x0d\x75\x39\x2e\x32\xcf\x74\x2b\x99\xcb\x72\x16\x9d\x9a\xca\x5b\xf2\x95\xc3\x12\x33\xf0\xaf\x1f\x55\xfb\x6b\x47\xa5\xbc\xac\x84\x32\xca\x3b\x83\xc0\x09\xfc\x22\x0a\xcb\x55\x2a\x3a\x8d\x02\xd2\x6e\xb7\xa9\x8a\x9a\xc1\xcc\xb3\x4d\xe0\x9c\x2d\x6b\x03\xdf\x2b\xf9\x74\x0d\xcb\xe9\xbe\xa3\xf1\xe6\xea\x34\x67\x39\x4c\x3f\x9c\x30\x33\x8c\xc1\xc7\xe1\xf9\x58\xe5\xd4\x3e\x16\x40\x0d\x5e\xcf\xb4\xe7\x91\xa2\xa2\xad\x37\x29\xcf\xee\xf1\xde\x26\x87\x66\xd0\x0b\x2c\x26\x73\x7e\x88\xf0\x36\x16\xbd\x06\x6e\x79\x6b\x1c\xca\x12\x30\x78\x75\xc7\x18\x4a\xf4\x1e\x5f\xf4\x33\x78\xab\x36\x5d\xb6\x21\xeb\xf5\x82\xcf\x62\xd4\x63\x03\x70\x65\x8d\x7d\x1a\x9e\x8b\x5a\x50\x99\x8d\x12\xbc\x07\xbd\x93\xa7\xc1\x5f\x38\xb1\x04\xfe\xd1\x0e\x1e\x07\x1d\x53\x24\xb7\x01\xcd\x66\x1f\x9e\x05\x1e\x36\x50\x4e\x21\x0f\x05\x8f\xbd\x83\x33\xb9\xcf\xd8\xb6\x0c\x99\x65\xc6\x88\xd3\xc0\x86\x7b\x0a\x42\x1d\x46\x03\x83\xf8\xd5\x76\xfa\x2b\x9b\x41\x81\x95\x0e\x1d\x6f\x20\x35\x7b\xb2\x6b\x09\x10\x7a\x3b\x98\xff\xd0\x5f\xb0\xe6\x7b\xf8\x5f\x58\x49\x3b\x2a\x76\xec\x10\x4a\x2e\x7e\x1e\xe8\x52\x4a\xbf\x57\x79\xe0\x8e\xe5\xe5\x4a\x8a\x5b\xeb\x79\x44\xcc\x6a\x98\xce\x63\x10\xe8\x27\x24\x8b\x04\x01\x0a\x04\xc8\x87\xf0\xb6\x0b\x08\xe0\xa5\x55\xf5\x8e\x5b\xa3\x45\x74\x98\xc0\x50\x99\x72\x16\xe9\xf8\x8d\x3d\x83\xbd\x52\xfe\xcb\xcf\x0e\x64\x37\x37\x8f\xbe\xa9\x4e\xe8\x17\x73\x60\xf0\x76\xae\x92\xcd\x9c\x47\x63\xea\x81\x43\x9a\x92\x36\xc0\xf0\x57\x16\x75\xb9\x71\x30\x83\xa0\xf0\xfd\x96\x4d\x3b\x3d\xa3\x1d\x0f\x02\x59\xbf\x95\x5b\xbc\x5a\x89\xde\xd3\x89\xfd\x52\xf7\x64\x63\x7c\x20\x30\xcc\x9b\x44\xff\xa5\xa6\xf6\xb6\x71\x26\x5c\x78\x94\x5d\x06\x27\x3f\x8b\x7d\x41\x5a\xa9\x9e\xca\x7a\x3d\x76\xe6\x61\xa4\xbe\x82\x18\x74\x94\x86\x71\x04\x32\x31\x08\x03\x37\x68\xfa\x8b\x28\x3c\x90\x43\xad\xe3\x70\x91\x81\x32\xcc\x47\x09\xd7\x7b\x5f\x88\x31\xd4\x81\x15\x31\x3f\x90\x60\xd6\x7c\x69\xa2\x35\x07\x02\x55\xbc\x92\xb3\x2b\xdd\x2e\x67\xa5\x63\x8c\x61\xda\x2a\x4a\x0c\xe8\xa4\x89\x8b\x89\xa7\xa9\xb5\x91\x56\x7d\x8d\x1c\xcb\x14\xa3\x4f\x70\xad\xa3\x42\x50\xbb\xd7\x35\xd5\xa8\xd0\xe6\x32\x9c\x64\xe0\xd6\xa1\xbc\x58\xef\x4c\xf2\x6e\x49\xdf\x25\x90\xc0\xd7\x0e\x4d\x2c\xd1\xc2\x18\xb4\x97\x44\x05\xc9\xfa\x61\xc0\x8b\x1b\xa3\x86\xbc\x50\xec\x78\x6e\x9e\xc3\x1f\x70\xa9\x98\x6d\x86\xe5\x72\x26\x04\xc4\x97\x02\xe7\x55\x77\xb1\x3d\x39\xd0\x20\x2a\xa4\x05\x98\x47\x2f\xd8\xc2\x6c\xf2\x81\xa6\x99\xa0\x3c\x74\x14\xf9\x16\xd9\xbe\x51\x9d\xb3\x9a\x95\x57\xab\xd4\x23\xcb\x6c\x08\xb7\xc6\x2f\x57\x43\x7c\xf8\xe9\x1a\x4b\x62\x8d\x28\xc3\x57\xa1\x44\x57\x80\x89\x0a\x15\xb7\xa2\xbf\x5e\xa5\x12\x6d\xb5\xe5\x10\x05\xf6\x16\x1e\xf9\x84\x4c\xd1\xae\xcc\xbb\xb0\x49\x54\xeb\x1b\x3c\x0c\x95\x18\xe1\xf6\x87\xa1\x3e\x21\x1e\xaf\x2c\x89\x93\x41\xba\x91\xeb\xcf\xaf\xc9\x79\x72\xab\x44\xb7\x29\x69\x78\xab\x56\x37\x7c\x95\xc5\xd1\x1d\xc4\xa5\x79\x8c\xd2\xd3\xaa\x50\xf7\xca\xb5\xee\xfb\x13\xf1\x51\x07\x2f\x5d\x7a\xf5\xe5\x62\xf3\x91\xd0\xe4\x29\x67\x4d\x0d\x39\xe8\x06\x48\x4a\xfe\x7c\xf2\xf2\x45\x93\x5a\xc5\x17\x37\xdc\x4f\xad\x54\x6c\x02\xb2\xe2\xa9\xbf\xa9\x25\x69\x55\xde\x43\xd8\x31\x38\x69\x8c\xe6\x6a\x68\x27\x00\xce\x89\xd0\x86\x00\x5a\x30\x10\xa9\x5a\x98\x25\x8c\x15\xbf\x84\x63\x6a\x32\x56\x8a\xae\x45\x50\x18\x09\xa7\xe9\xb0\x90\xdd\x96\x8a\x99\x2c\x01\x82\x7c\xa7\xb7\xbb\xef\xd0\x98\x18\x50\x6e\x9d\xbd\xce\x33\x87\x49\xb6\x55\xab\x6e\x36\x20\xb6\x06\x2b\xa6\x33\xbc\x23\xab\x4c\xbf\x15\x45\xc7\xcd\xa7\x49\xf9\xa9\x2f\x17\x12\x6b\x28\xa7\xe3\x21\xc3\x6e\xf0\x33\x9f\x23\x23\x6b\x96\xf0\xf2\x12\xd3\x5a\x3a\xcb\x4b\xa4\x07\x68\xd9\x35\x20\x91\x98\xd3\x37\xcb\x0a\xe1\x8d\x0b\xe6\xf2\x78\x7f\x81\x1f\xc2\x68\x2e\xde\x10\x92\xd5\x49\x40\x15\x1a\x1f\x32\xf9\x4c\x39\xdb\x35\x18\x34\x59\xe1\x91\xa9\xa4\x4e\x2d\x1d\x30\xbc\xcb\x7c\x04\xa8\x07\x8c\x69\x01\x3c\xd0\xe3\x4e\xc5\x53\xd9\x2b\x36\xe4\x3e\xc3\x59\xda\x7c\x3d\xdf\xdc\xf6\x2e\x70\x32\x8f\x1b\xd7\x78\x23\xdf\x58\xbd\x96\x55\xff\xf0\xc6\xc9\x37\xdf\x5c\xd2\xb7\x86\xe3\x3d\xbb\xa5\xf1\x56\xe9\xbc\x75\x53\xda\x2d\xb9\xc6\xdb\xb7\xcf\xba\x74\xd2\x3b\xd2\x36\x4b\x65\x15\x25\x5d\xf7\xc4\x04\xe8\x91\xc1\xc2\x2b\x78\x67\x58\x47\x1f\x62\xbe\xfe\x0a\xfe\x9e\xd6\x32\x35\x35\x57\x3f\x44\xab\xb0\x16\x60\xcd\x2c\x51\xa6\xf3\xd1\x06\xea\x05\x63\x7a\x14\xf8\xe7\xa8\x23\x04\xb9\x28\xf9\xe7\x4b\xf2\xfa\x08\x47\xd7\x90\x24\x0a\xbb\x37\x87\xc3\x70\xf7\x29\x19\x57\xda\x61\xe4\x7a\xcd\x1d\x56\x7f\xd2\x20\x34\x97\x01\x71\x53\xd7\x5c\x5a\xe5\x9b\x28\x54\xe6\x32\x0b\xe6\xd9\x3b\x87\xd5\x2f\xb8\xa1\xb8\x65\xc1\x6b\x5d\x0e\xa1\xb3\x63\x2d\x81\xdb\x72\xa8\x95\x36\xac\xc1\xb4\x4d\x7d\x45\xa6\xab\x4b\xdd\x92\xea\x72\x6b\x83\x36\x98\xf9\xeb\xbb\xfd\x60\x77\x53\x8f\x43\x4d\xad\x50\x2f\x09\x8d\x1a\x06\x82\x02\xfd\xf9\x9e\xfe\xa9\xb7\xe5\xb2\xe7\x08\x69\x79\xdd\x43\x44\xed\x5e\x95\x64\x54\x4d\x51\x9e\x44\x45\x8a\xda\x15\x47\x5e\xf3\x4e\x0e\xbc\x73\xc0\x96\x1d\x92\x96\xa1\x66\x7a\x2d\xeb\xe2\x88\x59\xce\x62\x6b\xa1\x09\x9e\x27\xa2\xab\x08\x53\x27\xeb\x15\x68\x74\x8d\x6b\x1f\x52\x4c\x94\x36\xb3\x61\x02\x87\xf4\xaa\xc2\x7e\x2c\x24\xf7\x0a\x72\xf4\x7b\x70\x15\x19\xee\xb7\x60\x48\x4d\x8b\xdc\xe5\xd8\x65\x7d\x7a\xcd\x10\x3f\xbb\x4e\x28\xb6\xb1\x4d\x32\x80\x6b\x05\x7b\x9b\xcd\x79\x1f\x29\x31\x7c\xd6\x88\xaa\x44\xa5\xcd\x6c\xcc\x5d\x62\xd4\xbc\xb7\xa2\x81\x92\x60\x35\x9b\xff\x20\xc1\x6a\x24\xd1\x09\x7a\xf0\xa0\xce\x1d\x44\x29\x79\x01\xfa\x31\xba\x51\x62\x2e\xc6\x70\xe2\x18\x2b\x32\x27\xf3\x1e\xb3\x47\x28\xa0\xbe\xa6\x79\xd8\x48\x19\x32\x13\x5f\xf8\x84\x6e\x70\xa2\x87\x47\xdd\x66\x71\x00\x0e\x33\x60\xe7\x41\x94\x62\x4e\x71\xbe\x21\xce\x17\xf1\x68\xde\x88\x27\x12\xdb\x63\x8a\x8b\x42\xc1\x97\x2b\x68\x38\x39\x89\x07\x78\x67\x91\x89\x0a\x7a\xed\xb1\x79\xfc\x47\xd2\x9c\x9c\x47\x65\x11\x3c\xc8\xc0\xb9\x50\xe5\x7a\xe0\x42\x80\x14\x19\xb8\xc9\xbc\x41\x0d\x0b\x71\x33\xbd\x34\x09\x98\x3b\x05\x8d\x5c\x64\x13\x2d\xeb\xc1\x8b\x3f\x0a\x82\x25\xd7\x63\xb0\x62\x97\xe0\x2f\x4c\x91\xde\x45\xdc\x23\x01\xaa\x2f\xd0\x4b\x8d\x58\x2c\x25\x1a\x91\xd5\x16\x16\x1b\x13\xb8\xa7\x94\xa4\x9f\x1e\xd6\x8e\x46\x08\xac\xe7\xc8\xae\x81\x0b\xd3\x05\x19\xca\x31\x10\xc3\x42\x42\x0c\x6b\xc3\x2f\x0e\xa2\x21\x71\x8c\x88\x78\x34\x73\x25\xd7\xb8\x78\x34\x1c\x98\x29\x43\xb8\x8c\x1f\x41\x9d\x09\xe0\xec\xce\x81\x61\x3d\x40\x29\x65\xf7\x01\x32\xa6\xf4\xc7\x43\xf3\x67\x9d\x33\x03\xd8\xcf\x2c\xe9\x27\xd1\x8d\x94\x2a\x68\x34\x7c\xcc\x5a\x6d\xc9\xa5\x03\x87\x74\x92\xe2\x7d\x0d\x31\x07\x54\x71\xe8\xa3\x82\x63\xf1\x59\xcd\x57\x37\x20\x1a\xfb\xbb\xac\xd7\xef\x65\x8a\xa9\xcf\x7c\xa2\x56\xdc\x07\xe1\x70\x78\x60\x25\x95\x76\xfb\xb9\x21\x08\xbb\xe1\x4c\xf3\x9c\x60\x53\x02\xc6\xa3\xe5\x5d\x9c\xce\xb3\xb2\xce\xf7\x67\x0e\x4e\x4e\xcb\x0e\x0d\x84\xf4\x16\xd9\xe6\xc2\xf7\x22\x8b\x5c\xd7\xfa\x2c\x7e\xd7\x54\x1d\xe0\x52\x38\x3c\xaa\x39\xd4\xf4\x3d\xef\x86\xcf\x30\xdc\x7d\x6e\x95\x0d\xfa\x52\x57\xcf\xa6\x8c\x78\xd6\x97\x77\xda\x8b\x3a\x27\xfd\x77\x3d\xfe\xe6\xc6\xb4\x17\xe4\x71\xbc\xc7\x3f\x3f\xab\x17\xc9\x7d\x8d\xa7\xec\xf1\x2c\xc2\x2f\x04\x68\xe2\x0a\xef\xca\x6d\x8a\x97\x82\x68\x4e\x17\xe9\x95\x9d\xad\x65\xe0\x70\x45\xd2\x64\x36\x77\xe1\xb4\xc3\x7a\x70\xae\x91\xcb\xda\xeb\xd2\xcd\x8d\xcd\x7b\xc9\x18\x42\x70\x55\x15\xeb\x65\xee\xde\xa6\xc6\xc7\xb9\xfa\xcb\x32\x5c\x9f\xfd\xa4\xcf\x3e\x4d\xb2\xc1\xf0\xed\x61\x87\xb7\x27\xf9\x75\x2f\xd8\xe0\x1e\xd8\x18\x43\xeb\xf9\x28\xed\x31\xdb\x52\x0f\x9a\xcd\xe6\x67\x6d\xce\x8c\x4e\x35\x34\x87\x63\x48\x31\x4f\x96\xcc\xf0\x1b\xbd\x2b\xc3\x29\xcb\x2f\x21\x41\xae\x9b\x5c\x6a\xe3\x72\x01\x24\xe8\x0c\x5d\x90\x52\xaa\x97\x3b\xc0\xee\xc4\x66\x69\x83\xa4\xa5\x30\x20\xee\x7c\x8a\xbd\x5b\xc4\x00\x70\xe7\xd6\x0f\x4b\x45\x13\xab\x66\x6c\xe3\x69\x56\x81\x6d\x17\x04\x53\xc8\x55\x1a\xa1\x9a\x57\xa5\x55\x97\x87\x14\xef\x0d\x97\x9e\x37\x70\xaf\xff\x7d\xd3\x16\x91\x66\x06\x7e\xc2\x85\x36\x6f\xbd\x24\xe9\x8d\x3e\x79\x9a\x41\x15\x97\xd7\x7c\x79\xec\x3e\xcc\xe3\xc9\x22\xca\x3d\xff\xee\x4f\x9b\x71\xda\xe3\xbc\x2b\xd5\x5a\x19\xa8\xa9\x84\xfa\xed\xa3\xad\x2a\x18\xfe\x51\x92\x3f\x19\x2b\x49\xa4\xe4\xaf\xda\xf2\x8e\x05\x23\x06\x49\x70\x78\xde\x29\xb4\x78\x9a\x0f\x8d\x14\x4b\x22\x1c\x4a\x58\x0f\xf8\x4f\x80\x10\x62\xc4\xed\x0e\xac\x16\xc7\x3e\x13\xb2\x6c\x81\xda\x9b\xe5\x71\xf6\x3c\xbf\x12\xd7\x21\x7b\x9a\xad\xac\x0f\xcb\xc0\xa4\x85\x2e\x5e\xdf\x72\x49\x14\x81\x94\xb6\x0d\x8d\x2a\x81\x81\x04\xcf\x16\x9b\xcd\x19\x63\x0c\x50\xeb\xb2\x63\x27\x60\xba\x13\x89\x41\x88\xac\x45\x28\x8a\x45\xe7\x49\x0f\xc7\x1d\x85\x08\xe2\x47\x33\x06\xc6\x45\x92\xe4\x71\x35\x08\x70\x61\xbd\x17\x39\x40\xa0\x93\x8e\xa3\x87\x26\x1a\x0f\x0b\x50\x30\x1e\xe2\x2c\x54\xe3\x85\x9d\x29\xf1\x38\x68\x7a\x46\xf2\xb3\x72\x1a\xeb\x60\xaf\x48\x3d\x9c\x4a\x32\xc3\x03\xa0\xa2\xcd\x12\x90\xd2\x2b\x1e\xaa\xe5\xad\xe8\xf0\xe2\x52\xd2\x5c\x67\xb7\x76\x97\xeb\xde\xe7\x38\xbc\x2b\x5b\x5d\xc9\x45\x7c\x00\x8c\xca\x4e\x22\x13\x84\x9c\x9b\x59\xa1\xa8\x37\xc2\x3b\x3c\xdd\xe8\x6d\xfc\x4f\x1d\x65\x94\xcd\x9d\x74\xa4\xd1\x53\xa5\x66\xe3\xb7\x12\xae\xe9\x15\x87\x08\x7a\xc8\x61\x47\xe7\x68\xc3\x1c\xda\xf7\xa0\x99\xd8\x07\x09\x41\x80\xa1\x37\xd0\x02\x33\xa8\x42\x0c\x2a\x80\xe3\x0c\x2b\xd3\x1a\x9d\x0b\x28\x06\x60\xca\xe4\x12\x94\x6b\x44\x07\x32\x61\x3f\x39\x01\x2d\x3c\x17\xad\xf3\xc1\x07\x09\x9e\xa7\xaf\x77\xd6\xbf\x62\x68\xa1\x0b\x0c\xd9\x95\x92\xc7\x00\x5c\xe0\x12\x10\x22\xe7\x60\x9c\xa2\x1f\x10\x2b\x01\x01\x96\xb3\x08\xd2\xda\x5f\xdf\x07\xa1\x9e\x95\xa4\xb0\x57\xf8\xf5\x2c\x01\x41\xf4\x44\x98\x05\xc6\x62\x9d\x4d\x95\x66\x94\xcd\xcb\xaa\x72\x9d\xeb\x5e\xaa\x0c\xd6\x0f\xe3\x0b\x74\xe8\x9c\x73\x04\x07\x08\xfe\xb9\x30\xa4\xc2\xcc\xe1\xf0\x63\x32\x0b\x3f\x78\x33\xf5\x82\xa7\x62\x5f\x38\xd7\x84\x9c\x96\x18\x02\x28\x76\xd8\xa5\x01\x5f\x96\x82\xbf\x20\x24\xe3\xb1\x64\xe2\x7b\x26\xb2\x5b\x06\x5a\x0c\x2e\x66\xe7\xe8\x49\xfc\x50\x24\xf3\x90\x1f\x91\xa6\xac\xf0\x0f\x34\x98\x43\xdf\xc4\x69\x0a\xdc\x11\x0e\x4c\x79\xe9\xc3\xc3\x1e\xcd\xd2\x5e\x9f\xd8\x8e\xd2\x00\x33\xda\x93\x11\x3d\x95\xdc\x93\x40\x32\x28\x67\xf2\x73\x96\xd9\x50\x6a\xe4\x9c\x12\x92\x0e\x1c\xfa\x46\x43\x47\xd2\xc8\x8a\x8f\x88\x19\x0d\x0a\x0b\x38\xeb\x5a\x3c\x41\x0d\x31\x5c\x62\xbc\x2a\x7a\xf4\x4a\x84\xac\x68\xb1\xd5\x68\xc3\x49\x40\x8d\x2d\x8e\xa0\x2c\x18\x2e\xc0\xc2\x78\xb8\x75\x0a\xb3\x40\xaf\x49\xc9\x14\x1a\xb1\x4e\x23\x9e\x83\xb6\xf9\x41\x97\x03\x6b\xa0\x15\x20\x08\x9a\x1e\x94\x45\xea\xa0\xc8\xa3\x9a\x7e\xe3\x27\xf5\xae\xff\xe0\x5c\xe9\xe4\xd7\xc7\xea\x1b\x9e\xc6\x7d\x9d\x36\x8c\x38\x9d\x5a\x81\x04\x00\x58\x6a\x3a\x60\xea\x70\x6a\x44\xa9\x23\x8b\x01\x6c\xae\xc2\xf4\x4a\x8c\x40\xc5\x5b\xe8\x22\x01\x9f\x41\xbe\x13\x53\xc3\x74\x90\xd4\x17\x42\x8c\xb3\x89\x09\x5e\xe2\x56\xaf\x46\x0c\x36\x6a\xc8\xa4\xab\xa0\x21\xd6\x8c\xd8\x0b\x1b\x9f\x72\xa6\xc7\x1b\xe5\xf9\x6e\x4e\x26\x88\x93\xec\xc9\x66\xc7\x57\xe8\xd8\x46\x07\x05\xe7\x46\x75\xd8\xa2\x4f\x21\x25\xbf\xba\x4e\x14\x1d\x28\x58\xb4\x7b\xd9\x70\x0c\x1c\xaf\x81\xfb\x34\x70\x80\x23\x33\xb3\x0a\xbb\x18\x3e\xfd\x00\xfe\xdb\xbe\x5f\xa1\xe9\xec\x3f\xaa\x50\x45\x06\xe3\x99\x64\x96\x0c\x4d\xcc\x39\x69\xff\xa5\xff\xbd\x00\x0f\xe6\x73\x33\x42\x26\x62\xb4\xc9\xcc\xbf\xca\xd9\xd3\x17\x27\xef\xa0\xbf\xb3\x67\xfd\xa3\xd3\x77\xd0\xd5\xc1\x0d\x2c\x04\x3a\xa7\x83\x8e\xd4\xef\x8f\x4f\x2c\x47\x1d\x76\x31\x28\x18\xde\xf9\x82\x0d\x29\x38\x58\x53\xc8\xf7\x88\x84\x0c\xd6\x1e\xd8\x66\x6d\x5e\x90\xc1\x37\x73\x6e\xa2\xae\x83\x63\xeb\xe6\x62\x83\x20\x48\xae\x41\x33\x5b\x36\x0f\xe1\x50\x50\xdc\xb7\xa8\x62\xcf\x9d\xb6\x70\xe2\x58\x29\x33\x31\x08\x18\x75\x1e\x81\x1b\xaa\x30\x86\x9c\x2b\x2d\x12\xdd\x73\xaa\xc6\xc6\x01\xf6\xbe\xd1\xe0\xc2\x51\xa2\x8f\xb1\x10\xb4\x2f\x1e\x5d\x77\x34\xff\x63\x46\xa6\x8d\x5e\xef\x3c\x2a\x8e\x6a\xf7\x07\x0c\x0b\x65\xf4\x5f\x36\x2e\x66\x51\x24\xce\xb5\x8a\xa7\x53\x1e\xce\x08\xc2\xd0\x70\x5c\x7e\x60\xa9\xa0\x23\x72\xdc\xca\xd8\xb1\xa3\xed\x11\x88\xa9\x67\xb3\xf0\xa6\xd0\x1f\x22\x6f\xf8\x4e\x52\x47\x1c\x32\x93\x23\x8e\x59\xa0\xd3\xe9\xcd\xbd\x58\x40\xf3\xac\x2e\x1d\xfb\x0b\x62\x4c\xf5\x1e\x93\xdc\x73\xc2\x12\xe6\x32\x4d\x3b\x5f\xab\xa8\x1d\x27\x36\xd1\x6a\xc0\x3f\x50\x90\x2c\xb9\xc2\x20\x14\x47\x63\x9e\x34\x30\x39\xbd\x78\xd7\x33\xca\xa8\x63\x2d\x9b\x85\x98\x78\x73\x70\xcc\x54\xd4\x8e\xd2\xd2\x67\xa2\x16\x31\x31\x05\x93\x55\x92\xdd\x46\x43\x2f\xac\x8f\x0b\xe7\x63\x43\xf9\x00\xac\x4c\x34\x1f\x7d\x75\x2e\xb9\xea\x7c\xe9\xc7\x4f\xe2\xe2\xa3\xaf\x3f\x34\xfd\x84\x8b\xc8\xf9\x2c\xc9\x13\x8e\x2f\x6d\xb9\xf5\xe8\x79\xe0\x1b\xad\x1c\x2e\x28\xde\x6a\xe4\x7b\xf8\x7c\xb0\xfe\x3d\x99\x9b\xf3\x4c\x49\xe0\x4c\x9f\xb9\x3b\x73\xbc\x20\x01\x55\x86\xd3\xa5\x60\x5c\x7c\x9d\x02\xeb\xe5\xf1\xaa\x56\x3c\x3f\xc7\x08\x3e\x72\x19\xe8\xf6\x06\xdd\xe6\x91\x14\x53\xcc\xdc\xd9\x25\xa5\xec\xc1\xe7\x54\x10\x80\x87\x37\xee\x6a\x29\x8f\x8b\x60\xa8\xe5\x0a\xdd\xe6\x93\x71\x54\x79\x7b\xba\xa1\x24\xc9\x07\x52\xef\x61\x0c\x2f\x68\x03\x47\xee\x3c\xbe\xa4\x4b\xfe\x3a\xa2\x8c\x96\xe8\xd8\x8b\x61\x1d\x91\x85\x17\x74\x3a\x31\x19\x18\xc7\x09\xd9\x30\xc7\x28\x99\xd3\xfb\x19\x78\x50\xe4\x8e\x3f\xa2\x85\x0b\x04\x0b\xa2\x88\x27\x66\x32\xb9\x91\x2b\x5b\xca\x2d\x1b\x6b\x63\x2f\x70\xcb\xff\x81\x03\xcc\x64\x5d\x8f\x1e\x3a\x97\x00\x31\x86\x76\x71\x3c\xd0\x64\xcd\xe9\x2a\x6b\x4c\x8f\x78\xe7\xb9\xfd\xc6\xa4\x09\xe5\x7d\xe6\xc9\xcf\x8f\x1c\x72\xae\xd1\x81\x3f\xee\xb0\x87\x3d\x01\x9e\x59\xd8\xf7\x66\xed\x38\x5b\x61\xd1\xbb\x59\x56\x36\x2d\x7a\x3c\x8b\x64\x86\x20\x57\x6d\x5d\xf3\x84\x86\x40\x11\x9e\x00\x96\xff\xfd\xc6\x08\xdb\x0b\xbc\xda\xed\xe2\xda\x01\xa3\x35\x53\xbb\x53\x56\x9b\x51\x9e\xa9\xbe\x5e\x56\x9d\x0c\xad\x75\xd5\x8d\xb2\xaa\x64\x85\xed\xd5\xdd\x7c\x57\x54\xf5\x73\x5e\xde\x74\x82\xb9\xdd\x3c\xeb\x51\xa2\x6f\x3a\x78\x1d\x05\xfb\x5f\x61\x25\x91\x67\x2e\xd1\xe5\xf9\x4c\xf6\xbd\xe2\xc4\x66\x62\x09\x6a\x0f\x1c\x47\x13\x14\xab\xd8\x07\xe3\x70\x30\x4b\x1e\xd8\xef\x29\x5d\x5f\x98\xcc\x95\x23\x7d\xc5\x6c\xe4\xa6\x23\x88\x8a\xcf\x18\x9a\x56\xd7\x02\x04\x62\xcf\x3b\x93\x07\x54\xc9\xde\x70\xe4\x1a\xac\x01\x7a\x77\x3b\x10\x36\x3a\xab\xca\x89\x81\xe3\xa5\xd3\xbf\xad\x60\x51\xe9\xf9\xb7\x29\x47\x3b\x36\xa4\x7c\x77\xab\x1f\x9c\xa1\x46\xc8\x77\xe6\xa2\x83\x07\x61\x9d\x14\x1d\xe7\x4e\x76\x90\xca\x53\x7c\x86\x91\x37\x17\x8c\x96\x82\xc6\x6c\xb9\x1a\xcf\x2d\xdb\x22\x5c\x8b\x36\x07\xb2\x98\x08\x3f\x78\xba\x0f\x1e\xad\xf3\x92\x55\x88\xc9\x38\x29\x56\x9d\xff\x01\x39\x72\x79\xc1\x28\x0a\x3c\xbc\xb4\x25\x83\xfe\x77\x5f\xfc\x13\xd9\xe7\x26\x1b\xc5\xbc\x16\xfc\x60\xa8\xea\x5e\x70\xfe\xd8\x47\x7d\xe1\x22\xb2\x40\x37\x83\x68\x30\x2a\xa2\x90\xd8\x45\xa1\xce\xbf\x0c\xdf\xdc\xf8\xae\xf8\x1e\xfc\x2f\xc6\x37\x85\x63\xff\x06\xf8\x06\x44\xdb\x30\xbb\x0d\x0c\x18\xd3\xf0\x62\xb0\xfb\xdb\x5c\x23\xe8\x3c\xfd\x52\x04\x65\xe6\x55\x16\xc4\xfd\x9b\x4c\x4e\xad\x45\xf1\x34\xd2\xab\x2f\x9e\x86\x82\x9d\x19\x6b\xc6\x8b\x48\x82\xad\x7f\xdd\x44\x78\xe7\x14\x4f\xc3\x7c\xfc\x8a\x79\x30\xe8\x6f\x80\x71\x6d\x85\x5f\x38\x50\xf3\xfd\x8b\x07\x7a\xe7\x93\xf5\xb5\x27\x04\x14\x5b\x8b\x39\xf0\x8a\xc2\xba\x39\x11\x29\x05\xef\x23\x3d\x90\xe7\x23\x63\xa7\x6a\x1e\x5e\x10\x5d\xc4\x70\x38\xdc\x6d\x71\xf8\x91\x8c\x9d\x1d\x9a\xfc\xb9\x11\x84\x18\x3c\x9b\xd3\x15\x38\x69\x28\xc8\xfd\x30\x10\x15\x45\xd7\x53\x9d\x56\xc7\xaa\x47\x67\x6c\xc3\x78\xd5\x51\xf2\xce\xc6\xef\xb8\xf8\xb3\x5b\x44\xa6\x92\xb4\xe9\xe6\x33\x16\xa4\xbb\x80\xcb\xfe\x62\x46\xc3\xea\xc5\x64\xb5\xa5\x44\x15\x8d\x7f\xf2\x73\x61\x93\xb5\x66\xdf\x0c\xe6\x00\x3d\x53\x80\x22\xd4\x41\x5a\x65\x5e\x49\x43\x62\xe5\x5f\x45\x98\xb5\x8e\xe8\xbf\xe1\x20\x3e\x26\xf1\x30\x98\x84\x1f\x63\xf0\x39\x80\x07\x02\xe4\xbc\x00\x34\x6b\x68\xc8\x8a\x70\xa8\x6d\x48\x13\xd3\xb4\x1f\x79\xe0\x99\xf8\x12\x5b\x5b\xb4\x97\xbc\xb2\xed\x82\xb2\x1d\xb3\xcd\x3c\x02\x7e\x9b\x4b\x79\xb0\xb7\x62\x75\xf1\x8d\xc2\x8d\x59\xbc\x85\x2f\xca\xb6\x2f\x1c\x1d\x88\xee\x22\xc6\x85\x62\x37\x03\x66\xc9\xd6\xf2\x5e\x0a\x4f\x4e\xd6\xa5\xf0\xa5\x4b\x2d\xfb\x0f\xed\x23\xef\x3f\x45\x52\x32\xfe\x20\x27\x02\xc8\x5b\x19\x47\x10\x8b\xdb\xb0\x0d\x7b\xc1\x19\x2b\x1d\xea\x2c\x8a\x94\xa7\x5b\xdd\x3a\x61\xa2\xef\x25\x72\xfc\xef\xee\x29\x38\xce\xc1\xce\xa6\x9c\x67\x50\x41\xcb\x25\x7c\xc0\x53\x03\x0e\xe2\xe0\x31\x05\xd1\x8b\xc5\x35\x04\x3c\xa3\x04\x9a\x8d\xc5\x31\x24\x41\x0d\xa9\xf5\xe8\xb9\x7b\x7e\x63\x5f\x09\xf4\x3e\x00\xc5\xac\x9c\xc5\x20\x38\x6b\xd5\x03\x10\xbb\xbe\x7e\xf1\xd3\x8b\x97\x6f\x5f\x80\xe8\x15\x70\x96\xff\xef\xbb\xba\x1d\xfc\x11\x46\x49\x35\xa3\x67\x10\x9d\xed\x3a\x80\x30\xfb\x05\x9a\x9b\x1f\xf5\xa0\xf8\x1f\xaf\x5e\xdd\xfd\xa2\x4a\xf9\xa9\x74\xd6\x6e\x77\x40\xfc\x7b\xd4\x06\x60\x48\xf1\x61\x7f\x3d\x0a\x2a\xc7\xe6\x6f\xd8\x7f\xf8\x6b\x4d\x01\xa1\xc2\x07\x9d\xf5\xff\x79\x50\xcf\x43\x5b\x47\x68\x9d\x2c\xb4\x7f\x77\xd0\xfe\xbd\x10\xda\x46\x21\xb4\x0d\x84\xb6\x9e\x85\xf6\xca\x41\x7b\x55\x08\x6d\xb3\x10\xda\x26\x42\xdb\xc8\x42\x3b\x71\xd0\x4e\x0a\xa1\x6d\x15\x42\xdb\x42\x68\x9b\x08\x8d\x9b\xb7\x37\xff\xa7\x92\x5d\x8d\x1c\xb4\x9d\x42\x68\xdb\x08\x6d\xcb\x83\xb6\xbd\x02\xb4\xdd\x42\x68\x3b\x08\x6d\xdb\x83\xb6\x73\x3b\xb4\xf5\x76\x21\xb4\x5d\x84\xb6\xe3\x41\xdb\x5d\x01\x5a\xa7\x08\x1a\x84\x84\x36\xd0\x76\x35\xb4\x4e\x6b\x05\x68\x85\xfb\xad\xd3\xa6\xdd\xdb\x7a\xe7\x16\xb1\xd3\x5e\x01\x5a\xe1\x7e\xeb\xf0\x59\x68\x6b\x68\xeb\xb7\x43\xdb\x28\x9e\x29\x9d\x85\x76\x47\x43\xdb\x58\x01\x5a\x66\xa6\x42\x08\x4e\x28\x4a\xb2\xa3\x04\xed\x5d\x18\xef\xaf\x00\xd1\xc2\x30\x3c\x32\xf0\x32\x10\x3f\xbc\x8e\x5c\x4d\xe5\x97\x4a\xad\x56\xf7\x3b\x72\xff\x98\xd6\x20\xb8\x8d\x5d\x20\x2c\xed\xfb\x1a\xdc\xa0\x5a\xa1\xf8\x49\x2f\x16\x63\x8c\x3f\x6e\xfe\x61\x59\x77\x34\x97\x22\xfc\x1b\x64\xff\x54\x20\xe0\x36\x81\xd6\x55\x3a\xff\xf6\xad\xc0\xb5\x01\xdc\xfa\xbf\x7c\x2b\x70\x1d\x00\xb7\xf1\x7f\xbe\x15\xb8\x75\x00\xb7\xf9\xaf\xdf\x0a\xdc\x06\x80\xdb\xfa\xe5\x5b\x81\xdb\x04\x70\xdb\x7f\xfa\x56\xe0\xb6\x00\xdc\xce\xc3\x6f\x05\x0e\x2f\xb4\xdd\xea\x37\x02\xb7\xb1\x03\xe0\x5a\xb5\x1c\x38\x2f\x3f\x1f\x40\xc8\x00\x2c\xac\x64\x4f\xf3\x0e\x50\xc1\xc6\xfb\xdb\xa1\xde\xf2\xdd\x01\x04\x92\xbf\xff\xe8\x5b\x01\x24\x4e\x21\xba\x48\x3e\x05\x8d\xf7\xc8\x79\xef\x3f\xe2\x9e\xb6\xd7\xbf\xed\xd0\xb7\xda\x7f\xd4\xc8\x9f\xce\xc3\x51\x1c\x4e\x82\x47\x0f\x65\xe8\xd0\xd5\xa3\xfc\x4e\xfb\x82\xae\x08\xe2\x0e\x31\x60\x07\x3f\x9d\x1c\x03\x59\x3e\x4f\xab\x94\xad\x0e\xc2\xf4\x9f\x03\x1c\x2c\x39\xc7\xbf\xa1\xbc\x56\xca\x3e\x39\xe6\x12\x42\xf9\x3a\xaa\xbc\x4b\x3d\x9c\x76\x0f\xa0\x03\x43\x8f\x2b\x3f\xcf\xdd\x05\xf0\x17\x80\x88\x9c\x6f\xdd\x12\xe0\xba\x0f\x98\xc6\x89\xe4\xee\xbf\xff\xbd\x52\x2f\xa1\xdc\x01\x51\x77\xe4\xa6\x72\xac\x9e\x85\x82\x47\xeb\xfa\xed\x6d\x50\xde\x2e\x85\xb2\x85\x17\x43\xd4\xbf\x0d\x4a\x7f\xf9\x58\x90\xe2\xce\x5e\xdd\x06\xe5\xd5\x72\x28\x48\x19\xe7\xa7\xb7\x41\x39\x5d\x0e\x05\x67\x74\xf3\x9f\xb7\x41\xf9\xcf\xe5\x50\x90\xac\x2e\x5e\xdf\x06\xe5\xf5\x52\x28\xdb\x78\x75\xc4\x4f\x6f\x83\xf2\x74\x39\x14\x9c\x51\xf2\xf2\x36\x28\x2f\x97\xcf\x08\xef\xec\xe9\xf1\x6d\x50\x8e\x97\x42\xe9\x10\xc7\xf8\xdb\x6d\x50\xce\x96\x43\x41\xde\xee\xdd\xe7\xdb\xa0\xbc\xbb\x05\x0a\xf0\x9b\x3f\xff\xfc\x3b\x82\x29\x87\xf2\xf3\xcf\xde\x51\xcf\x1f\xf3\xa3\x04\x82\xe4\xe0\x39\x0f\xaa\x6f\x23\x0c\x90\xa1\x62\x1a\xfd\x19\xb3\x39\x52\xa4\x23\x0a\x85\x7a\x18\x7d\x3c\x4d\x92\x11\xe7\x0d\x34\x23\x41\xdc\x9e\xf5\xba\xc7\x68\x72\xe3\x4e\xbe\xfd\xa5\xe4\x5f\x19\x89\xd8\xc2\xed\x87\x56\x43\x81\x87\x22\x9c\x50\x97\x6f\xcd\x82\x7f\xa5\xab\x8f\x3b\x31\x3d\x29\x06\x78\x72\x77\x80\x5b\x78\x15\x0f\x0f\x8b\x01\x1e\xde\x1d\xe0\x36\xe2\xf0\xe2\xa8\x18\xe0\xd1\x17\x00\x44\x32\x7b\xf9\x63\x31\xc0\x1f\xbf\x00\x20\x52\xb9\xab\x27\xc5\x00\x9f\x7c\x01\x40\x24\x78\xff\xf5\xe7\x1c\x40\xe1\xf4\xff\x0c\x30\x61\x8f\x64\x40\x97\x02\xc4\x6d\xf3\xe1\xa7\x52\x80\x3f\x59\xe6\x0a\x03\x4c\xbd\x97\xf7\x43\x29\x40\x64\x07\x47\xcf\x4a\x01\x3e\xbb\xe3\x08\xdb\x3b\xf0\xb6\x7e\xbc\x97\x03\xa8\xee\xcd\x3b\xe1\xb0\x83\x0f\xbb\x9f\x2b\x0f\x2a\xf5\x6f\x03\xb0\x8d\x27\xe5\xac\xff\xe2\xb4\xff\x0a\xed\xe7\x7e\x9e\x11\x68\x92\xb1\x95\x43\xb4\xdf\x0b\x08\x8c\x21\x23\x4c\x5f\x38\x98\x1a\x85\xab\x48\xd9\x64\x4c\xa2\xc2\x83\x59\xc3\x6c\x3e\x58\xcc\x41\x52\xf5\x72\x82\x82\x2b\x81\xe1\x82\x8c\x63\x28\x1f\xa4\x4f\xbd\xb5\x37\x98\xb1\x92\x53\x4b\xe2\x07\xe0\x9a\xe1\x03\x05\x43\x64\x19\x17\x45\x1d\x17\x50\xdc\x96\x6a\x8a\x29\x05\xd2\xb8\x4c\x5e\x75\x51\xd1\x91\xff\x04\xa4\xe7\x1d\x45\x62\x47\x11\x70\x40\xf6\xa1\x26\x95\x6f\x08\xe8\xc3\xc6\x1b\x01\xcb\x81\x0f\x8a\xa0\x57\x31\x48\x8b\x40\x22\xe3\x89\x34\x8a\xc6\x6c\xee\x04\xde\x1c\x97\x93\xf8\xaf\x64\x9d\x42\xf8\x99\x27\x49\x4d\x5e\xc8\xb8\x35\xcf\x4e\x9e\x3c\x05\xeb\x46\x5f\xcc\x96\xff\x57\x46\x68\x77\x91\xea\xfc\xf5\x2f\xfe\x15\x82\x5b\xfb\x2f\xf9\x03\x5d\x4a\x5d\x91\x18\x7e\xfa\x8f\x02\x28\xff\xb1\x3a\x94\x2d\xe4\xe8\x06\xbd\x0c\x14\x79\x2e\xf5\xde\x7b\xa0\xfc\x0a\x80\xf6\x9e\xe2\xe3\x77\x10\x3b\x1f\xdf\x94\xc0\x7a\x73\x1b\xac\x37\xfa\x4d\x80\xb0\xd0\x78\xb5\x80\x02\x1c\x64\x28\x80\xae\x60\x7f\xc7\xef\x96\xa8\x20\xb6\x26\x2f\x4a\xc6\xf6\xe2\xb6\xb1\xbd\x50\x63\xdb\x46\x9c\x8d\x9f\x17\x60\xfe\xf9\xea\x98\x6f\xc3\x02\x56\xea\xdf\xf9\x50\x40\x99\xc7\x54\xc4\xa3\x70\xa5\x50\x60\x33\x55\x9a\xdf\x7f\x2d\x14\xe0\x8d\xd6\x7e\x28\xc6\xf6\x7b\x2b\xfb\xf9\x01\x69\xf7\x12\xae\xe6\x24\xfe\x04\xde\x4b\x90\x71\x14\x8d\xf0\x94\x70\x89\xc4\xcc\xbd\xd3\x57\xcf\xca\xd8\x15\xaf\xc8\xa1\x09\xdb\x75\x9f\xe1\x81\x5b\xbd\xdd\x2e\xde\xc4\x67\xcf\xba\xc7\x77\xeb\x6f\x1d\x2f\xdc\xa0\x92\x43\x99\x13\x83\x95\x61\x71\x17\x9b\x9e\xbd\xba\x6b\x97\xbb\x44\xfd\x5f\x3d\xef\xbf\x78\xed\xa8\xca\xd2\x76\xbe\x46\x03\x75\x05\xa2\x12\xd8\xa0\x51\x1c\xbf\x3a\x3d\xe9\xbd\x5a\xaa\x11\x20\xfc\x6e\xa0\x18\xdb\xd4\x7d\xf6\x93\x1a\x75\x69\x75\x7c\x17\x9c\x1d\xbc\xea\x77\x6f\xa9\xee\x29\x4b\x50\x9b\x07\x3e\x7f\xf1\x27\x52\xdd\x51\x6a\x5a\xb6\x01\xa5\x8c\x02\x38\x78\x64\x26\xc0\x8c\xbc\xff\x0a\x17\x1c\x0f\xe0\x4f\xd1\x0d\xa5\x79\xe3\x53\x9a\x5d\x80\xdc\x4a\xac\x13\x9d\x7e\xf2\xf2\x79\x9f\x76\x8d\x80\x79\x62\x2e\x37\x7b\xd4\x6f\x07\x43\x0b\x73\xfc\xe3\xeb\x63\x1f\xcc\x71\x78\x19\xbd\x9e\xae\x3a\x9a\x0d\x1a\xcd\x61\x9f\xb6\x85\x03\x73\x18\x8d\x1c\xdd\xb9\x7d\x34\x9b\xcc\x24\x1c\x66\xc0\xf4\x27\xc3\xbb\x80\xd9\xe0\x49\x1d\xb2\xc6\x48\x4f\x0a\x43\xf0\x17\xed\xf1\xa2\xc3\xde\x85\x95\xb3\x3a\x2e\xb8\xb6\x55\x3c\x43\xb4\xc5\x96\xb0\x2f\xb8\xce\x79\xbb\x1c\xca\x76\x2c\xe0\x5c\x84\x41\x6c\xcb\x97\x38\x66\x3f\x94\x98\x4a\xe2\x5f\x85\xf3\x40\xa5\x84\xac\x0c\x18\xed\xb0\x48\x04\x1e\x30\xac\x8a\xe9\xde\x36\x15\x5a\x1f\x54\x21\x08\x3a\x14\xa4\x03\x07\xe9\x60\x25\x48\xeb\xf8\x50\x7d\xf5\xf4\xc7\x27\xb8\x79\x1d\xa4\x9e\x83\xd4\x5b\x0d\xd2\xb6\xf3\xa2\xf0\xc6\x74\xe8\x20\x1d\xae\xb4\x50\xe6\x84\x6f\x00\xac\x17\xaf\x9f\x3f\x7b\xd9\xfb\x69\x25\x1d\xe1\x5b\xb0\xbe\x9e\x2c\xc6\x7c\x6c\x2f\xac\xd3\x0a\xd8\x04\x5d\x42\x0e\x30\x4e\xa6\xcd\xe1\xd5\xd1\x67\x84\x7c\xb7\x52\x75\xa8\x35\xc3\x56\xd1\x34\xa0\xe2\xab\x48\x49\xb3\x8f\xbe\xb3\x0e\x92\x58\xe2\x9b\x3d\x24\x31\xd4\x0c\x28\x32\x37\x23\xf3\x70\x3b\xc0\x89\x1a\xd3\x62\x12\xff\xf7\x42\x8d\xa8\xd9\x14\x39\x1a\x9d\xc2\x9f\x8e\x51\xb7\x53\x8a\xb6\x3c\x55\xdf\xe6\x76\xed\x3b\xb6\xdb\xe1\x76\x9d\x3b\xb6\xdb\xe5\x76\xeb\x77\x6b\xd7\x6e\xe1\x36\xfe\xe9\x78\xe3\xae\xed\xda\xd4\x6e\xf3\xae\xed\x3a\xd4\x6e\xeb\xae\xed\xd6\xa9\xdd\xf6\x5d\xdb\x6d\x50\xbb\x9d\xbb\xb6\xdb\xa4\x76\xbb\x77\x6d\xb7\x4d\xed\x1e\xbd\xfb\x76\x42\xfa\xd6\x2e\xc1\x6c\x7c\x4b\x98\x5b\x04\xf3\xe1\x1d\xe7\xd7\xe6\x75\x5f\xbb\x6b\x3b\xde\x67\xcd\x95\xdb\xd9\x37\xa0\xcd\xe2\x6e\x9d\x03\xe7\xc9\x54\x33\x89\x5b\x38\x97\x83\x2e\xd1\xa9\x00\xad\x8c\x58\xb5\xfe\x48\x4c\x08\xe0\x97\x5a\x46\xaf\xfe\xa8\xc4\x7e\x60\x8b\xf4\xe0\x6f\xe5\xca\xf4\xe0\xfd\xbb\xc0\xfb\xf7\x22\x78\x85\x1a\xdd\x2d\xbc\x74\x5e\xf5\x9f\xbd\xec\x22\x48\x0f\xde\x2b\x81\xf7\xaa\x08\x5e\xa1\x0d\xc1\x0e\xe9\x74\x99\x53\xcb\x8c\xef\x44\xe0\x9d\x14\xc1\x2b\xb4\x22\xd8\xc1\x33\xf9\x96\xdd\xf0\x08\x9e\x32\x26\xf0\x1e\x27\x19\x78\x45\x76\x04\x1d\xb2\x4a\x38\x78\xf5\xf4\xb4\x41\x66\x0e\x0a\xde\xf6\x72\x78\x45\x96\x04\x1d\xb2\x4b\x00\x78\x8f\x72\xf0\x76\x96\xc2\xf3\x6d\x09\xec\x96\x6a\x6f\xaf\x07\x67\xcf\x5f\x9f\xf6\xdf\xd5\xcd\xef\x1b\xc1\xd9\x9b\x97\xcf\x1a\xef\xf0\x3e\x69\x6f\x6f\xe2\x9f\x8f\xde\xa1\x7f\x21\x1a\xb4\x39\xc3\x76\xbb\x17\x05\x12\xa5\x8f\x0a\xc6\xe1\xc4\xf0\x41\xb3\x3a\x45\x3c\xaf\x60\x24\xeb\x8f\x68\xe7\x83\x7c\xc9\xb8\xa9\x92\xa3\x40\xe7\x20\xa3\x18\xa5\x49\x46\xf3\x54\x49\x41\x6b\xc6\x16\x41\xb0\xb9\x7d\xb7\xd6\x3e\x25\x64\x73\x59\x2c\x49\xd2\x90\xcc\x38\xd9\x33\x5e\x5f\xe2\x70\xb5\x9a\x27\x80\xe6\x92\x4b\x72\x28\x79\x6e\xb9\x64\x4e\x49\x0d\x8e\xb1\x77\x2f\xe0\xbd\x17\x4c\xe1\x36\x0b\xad\x7b\xb6\x26\xd9\x96\x75\xfe\xa7\x52\x34\xdd\x74\x30\x4b\x38\xdd\x2c\xfd\x8a\xc9\xf2\xce\x17\xe0\x59\xfe\xf5\x73\x47\xd6\xbe\x2c\xab\x98\x3f\xf5\x2b\x53\x15\x6c\x0e\x4f\x68\x40\xbf\xe8\x79\x2b\x0f\x03\x4a\x82\x52\x68\x70\xea\xaa\x2b\x03\xee\x4c\x2f\x05\x46\xdb\x62\xe2\xe8\x61\xeb\x89\x1f\x6a\x54\x7f\x7b\x49\xdf\xf2\xe9\x54\x5d\x48\x40\xc2\x24\x4c\x9e\xc2\xbb\xdc\xba\x64\x62\xb6\xf7\xb7\x5e\x1f\x78\xa5\xfc\x01\xcb\x53\x6c\x10\xfc\x2d\xd7\xe7\x68\xc9\xfa\x1c\xad\xb8\x3e\x66\xf2\xff\xcb\x97\x87\x9f\xb4\xab\xad\x10\xd8\xd0\x96\xad\x50\x0e\x49\x67\x9b\xff\x53\x79\x7c\x2b\x86\xa8\xff\xaf\x47\x12\x21\x01\x8c\xee\xcd\x65\xf1\x0c\x3d\x6a\xd3\xc5\x39\x06\x9a\x02\x29\xb1\xf5\x38\x10\x8f\xc3\x97\x13\x77\x15\xd4\x39\xde\xe2\x87\x09\x93\xe5\x70\x24\x79\x4e\x02\x8a\xcf\xc7\x39\x79\x21\x3a\x47\x08\xf0\x39\xc4\x3f\x45\xfa\x7e\x08\x61\x41\xe2\x31\xfb\xa5\x64\xda\x63\x3a\x6f\xf2\x49\xae\x7b\x7d\x00\x14\x0a\x74\x6a\xd3\xf5\x62\x30\xa1\x09\x07\x76\x08\x29\xda\x24\xa5\xb8\x8a\x31\x84\xaa\x9a\x45\x70\x20\xb9\xec\xb9\x1e\x64\x5e\xc7\x0e\xc0\x41\xd9\xcc\x9c\xa3\x87\xf8\x93\xb7\x71\x24\xc0\xd9\xfe\x0e\x9b\x04\x04\x16\x2b\x5d\x2e\x66\x90\xd6\x9b\x83\x92\x4a\x39\xe7\x8e\x3f\xfd\x89\x4f\x59\xae\xc9\x4f\x2a\x8f\xcf\x9f\x9c\x73\x42\x7e\x4b\xa1\x29\xc5\xe3\xec\xb5\xb3\xfe\xf7\xb8\x76\xac\xd4\xe4\x8f\x38\x39\x5b\xab\x9e\x1c\x8c\x3f\xf4\xc5\x67\x87\x12\xbf\x70\x2c\x9a\x71\x38\xbb\x59\x43\xbf\xee\x09\xb8\x25\x52\x0e\xd0\x54\xdc\x68\xf3\x28\x5c\x15\x57\xa4\xfc\xf3\xb0\x24\xc9\x0c\x0a\xa2\x86\xb8\x49\x5e\xc7\xd3\x08\xa2\x27\x80\xa7\xe5\x57\x93\x07\x54\x09\xa1\xee\xa8\xdd\x6c\xee\x66\x95\x43\xb2\x19\x80\xcf\xf3\xdc\xe6\x99\x56\x38\xce\x8f\x40\x38\x4d\xd4\x2e\xa7\xc6\x09\x25\xa7\x37\x25\x5c\x01\x57\x67\x70\xd6\xb7\x71\x5c\xc6\xc8\x83\xa2\xc7\x7e\x42\xdd\x98\x93\x88\xb9\x82\xa1\xf3\xcb\x89\xa1\x43\x0d\x3b\x73\xf2\x74\x9b\x85\x90\x66\x27\x86\xb0\x2e\x08\x19\xfb\xeb\x34\x9b\x3b\x48\x8d\x00\xd4\xb5\xe4\x0b\x09\x70\x52\x94\x86\x80\x89\xda\x1c\xc2\x82\x92\x4c\xe6\xfa\x2a\x19\x09\x38\x1e\xd9\xca\x6b\xc7\x96\x73\x4b\x56\xef\xef\xef\x32\x93\xa7\x42\x16\x93\xb0\xec\x3c\x87\x73\x33\x18\x22\x2e\x5f\xca\xea\x4a\xc2\xb9\x0f\xa5\xc1\xc3\xfd\xe4\x73\xed\xca\x9e\x3d\xd5\x6d\xe6\x25\xe8\x4b\xc7\x7d\x11\xed\x82\xfe\xbc\x9e\xf9\x7c\xe6\x7f\xde\xc8\x7c\x06\x93\x13\xfd\x7d\x33\xf3\xfd\x9d\xff\x79\x2b\xf3\xf9\x17\xff\xf3\x76\xe6\xf3\x7b\xff\xf3\x8e\x9a\x94\xa5\xc6\xf2\x71\x57\x7d\xdc\xad\xe4\x5c\xa0\xf5\x59\xec\x9a\xdb\xec\xae\x47\x71\x95\x1d\xcb\x66\x98\x4b\x36\xec\x2d\xdb\x85\x00\x7c\xfd\x6e\xb9\xb5\x26\x3f\x69\x4b\xa9\x15\x2a\xb7\xff\x08\x14\x89\xa9\xeb\x97\xe3\x88\x21\xfc\x7d\x91\xc4\xd7\xf7\x2f\x3d\x4c\xdc\x64\xee\x89\x99\x61\x81\x6c\xda\x59\x0a\x95\x4e\xd9\xd4\xc1\xe6\x01\x22\x66\x99\x27\x7e\x71\x70\xec\x12\xca\xd7\x5b\x86\x22\x76\xaa\x8f\xc4\x53\xb1\x04\x5d\x86\x63\x3c\xe4\x10\x30\xd5\x1a\xfc\x75\x22\x6d\x54\x96\x9c\xfb\x16\x10\x46\xd6\x1c\x8d\xc2\xa9\xe1\x85\x3c\xa7\x77\x0f\x3a\x3c\x79\x7a\x10\x09\x30\x8b\x7e\x9d\x0c\x82\x0c\x2f\xc4\x34\x02\x71\xa0\x03\x54\x6a\x03\x0b\xc2\x25\x60\x52\x54\x31\x4d\x07\xe7\x98\x13\x29\x89\xf5\x08\x08\x52\x46\xd1\x3c\x97\x8d\x9f\xaf\x22\xea\x96\x4c\x4a\x20\xe8\x9d\x03\xc4\x15\x39\xdb\x9a\x44\x09\x79\x08\x11\xd6\xcd\x5d\x16\x62\xc0\x9a\xe9\x08\x38\xc5\x79\xf4\x69\x2e\x8e\x8f\x83\x51\x3c\x25\x91\xa1\x72\xee\x63\xd7\xbe\xca\x70\x66\x2e\x96\xc6\xf9\x4d\xc5\xdc\x85\xe7\x32\xe6\x25\x9b\x17\x03\x92\xdb\x15\xe8\x5e\x98\x0f\x80\x46\xed\x83\x98\x46\xf3\xd3\x78\x1c\x25\x8b\x79\xd5\xad\xca\x80\xd7\xe4\x34\x31\x0f\x3a\x8c\x4b\xe9\x3e\xd6\xea\xc1\xa6\xcb\x05\x91\x71\xd9\x5b\xc5\xcf\x4f\x87\x56\x5d\xb2\xce\xcb\x96\x99\x0c\x62\xfe\x88\xc5\x36\x67\x06\x19\x1b\x31\x26\xc2\x78\xf8\x10\xeb\x0f\x63\xca\xa4\xb1\x61\x7b\x28\x3c\x04\xe6\x28\x73\x80\x24\xee\x51\x33\xfa\x14\x0d\x7a\x74\xf6\x20\x4b\xe6\xf4\xa6\x52\x23\xd9\xd9\x28\xb9\x76\xe9\x4f\xfe\x57\xac\x59\xd9\x00\x4c\x6f\xb6\xff\xd3\xa4\x27\x1b\xb2\x5a\x7b\xbc\xea\x62\x3b\x97\x49\x15\xed\xdb\x5d\xa3\xad\xf5\xe2\x07\x0c\x53\xb8\x17\x40\xe1\x92\x29\xa4\xb7\xc0\x90\x81\x2c\xb1\x64\xd2\x8f\x8a\x38\x49\x6f\x7e\x27\xc6\xee\xb6\x1b\x20\xbf\xe3\x38\xf9\x3e\x8c\xa5\x6a\x57\xd8\xf6\x7d\x85\x4f\xd0\x4a\x25\x1f\x3d\xa5\x42\xe9\xfa\xf7\x27\x49\x7d\x30\x4a\xd2\x68\xff\x26\x4a\xeb\xe6\xc5\x17\xff\x95\x7e\x95\xc7\xc5\x2c\xc5\x3f\x2b\x5e\x96\x19\x06\x61\x16\x23\x1e\xc7\x7f\x85\x10\x44\x58\xe9\x3a\x1e\xce\xaf\xf6\x21\x5a\x12\x8f\x2a\x9e\x4c\xa2\xd9\x5b\x28\x2d\x6a\x5e\xbf\x8a\xc0\xbf\x32\xd7\xe0\x09\x16\x7b\x29\xc1\x56\x5a\xc8\xec\x12\x46\x4b\x97\xf0\x0d\x46\xf8\xb2\x62\x5f\xa1\x99\x18\x0a\x72\xc9\xcd\x85\xe2\x61\x0a\x23\x64\x6f\xaf\x6c\x70\xd4\xf3\xc8\xbc\x39\x62\xb8\x03\x53\x0a\x21\x0e\x32\x5d\x0e\x06\x2a\x92\x81\x14\x82\x8d\x6b\xd3\x39\xd2\xbc\x52\xba\xd4\x87\x34\xc0\xd2\x26\x6f\x38\x29\x2b\x47\x3e\xbb\x30\xfb\x7f\xaa\xd2\xa0\x51\xf0\x44\xa8\xf8\xb1\x81\x9d\x57\x50\x16\x41\x91\x28\xef\xb2\x1f\xdf\xdc\xb6\x1f\xab\x3a\xfc\x82\x64\x5a\xf1\x88\xe5\x1b\x94\x68\x2b\xe1\x5f\xd5\x6f\x51\x40\x5f\xb9\x49\xc6\xa1\xfd\x76\xba\x9d\x59\xff\xf6\x56\xe1\xfa\xcf\x73\xc9\x22\xbf\xfd\x59\x26\x33\xb5\x7f\xae\xb3\x6c\x48\xf9\xdd\xce\x32\x36\xf8\x16\x67\xf9\x6b\x78\x51\x36\x72\xfd\x92\xa3\x4e\x87\xdc\xe7\x53\xef\x51\xc6\x93\xb9\x8a\x29\xae\xae\x71\x38\xf1\x05\x47\x16\xc7\xc0\xfc\x00\x27\x26\x45\x75\x16\xca\x1e\x66\xe1\x24\x1d\x63\xda\x65\x49\x3f\x54\x35\x30\xb2\x89\x99\xf0\x9a\xaf\x71\xe0\x54\xd2\x9c\x55\x06\x15\xe8\xb0\xd2\xab\x14\x0d\xcc\x63\x2f\xae\x71\xc7\xd3\x8c\x15\x02\x24\x68\x31\x0b\x1f\x51\x52\x29\x79\x87\x6d\x24\x43\xcb\x4f\xa7\x89\x9b\x19\x48\x4c\x53\x14\x76\x44\xa8\x39\x36\xcf\x1e\x4e\xa4\x32\x82\x6a\x09\x4a\x17\xe8\x35\x44\x68\xbc\x0a\x31\x5c\x61\x92\x59\x16\x33\x0d\x74\xc5\xbf\x8a\x1d\xf3\x0a\xc2\xbf\xf0\x32\x8c\xef\x74\xd8\x6e\x7d\x17\xc8\x71\x5a\xf1\x59\xf0\x38\x77\x46\x41\x99\x61\xcf\xa4\xff\x68\x28\x7a\x21\x48\xca\x5b\x3f\x45\xb7\x21\xd6\x30\xcd\xab\x68\x34\xc4\xdd\xa2\xf7\x91\x1d\x61\x86\x2f\x14\x70\x82\x34\x17\x75\x89\xe3\x5f\x43\xa0\x03\x8c\xdb\x18\x0e\x49\x2e\x08\xf1\x26\x8a\xf7\x10\xc8\xe2\xad\x91\x97\x59\x3e\x42\x3e\x47\x40\x1e\x46\x83\x78\x08\xc1\x37\xe7\xd7\x90\x0e\x13\xf6\x17\x5a\x0b\xe1\x06\x73\xa7\xb7\x50\xd6\xe2\x05\xe1\xc1\x24\x70\x5e\x96\x52\x49\x84\x87\x26\x65\x25\xf9\x67\xe1\x0c\x14\x3c\x0d\xbf\x82\x0f\x55\x3c\xa8\x0e\xca\x56\xba\x8c\x1e\x7b\x6a\x6a\x7e\xb6\x2c\xe9\xe7\x55\x88\x11\x5d\x43\x79\x4a\x84\xb1\x35\x12\x17\x96\x03\x97\xf1\x0d\x04\xa8\x9c\x72\x66\xca\x64\x92\xb9\x9f\x31\x76\x24\x19\xdd\x61\x6b\x45\x41\xde\x50\x26\x4c\xa0\x65\x2b\xd1\x31\x62\x26\x88\x05\xb9\xe3\x83\x9b\x0c\xc1\x57\xbf\xc5\xbe\x4c\xd2\x90\x15\xca\x93\x2c\xe3\x8d\x0d\xe6\xb2\x1c\x92\x0d\xe2\x72\xb7\x4b\xe2\x09\xed\xb9\x8b\xc4\x9c\xb7\xbf\x26\xc9\x58\x25\xb4\x52\x11\x45\x2a\xa9\x4b\x0e\x06\xb5\x28\x67\x2c\x64\x61\xa7\x20\xc4\x14\xca\x1c\x32\xce\x0c\xa2\x19\x04\xb8\xa6\x5a\xa3\xe8\x63\x34\xa2\xb8\xab\xdd\x39\x99\xd6\x8d\x43\x8e\x53\x8e\x43\x22\x1b\xbe\x71\x14\x42\xa2\xe8\x61\x40\x57\x27\x65\x41\x05\x33\x4e\x08\x25\x09\xcf\xed\x21\x06\x7a\x4f\xf9\x95\x4d\xf4\x98\xeb\xa2\xe4\x1b\x54\x55\xd1\x27\xd0\x9c\xc6\x10\x5c\xd6\x6c\x77\x99\xc3\x5b\x9b\x5d\x2b\xf2\x8e\x1a\x0e\xef\x03\xc7\xeb\x01\xa2\xcc\x59\xe3\x49\x05\x72\x9c\xcc\xc0\x83\x04\x91\x02\xbc\x03\xe6\xe7\x7b\xc8\x71\x7d\xa0\x1a\x4e\x77\xd5\xdd\xe3\x1b\x49\xdd\xb2\x8b\xee\x17\x88\x53\x3c\x00\x7f\x81\x91\x7b\x2a\x1a\x9f\xd2\x22\xb7\x7b\xfc\xfc\x2f\x22\xef\x4e\x69\xae\x56\x55\xa2\x89\xb0\xd5\xfd\x25\xd6\x25\x06\x9b\x63\xa5\x52\x20\x98\x41\x40\x41\xd1\x5a\x44\x01\xc3\x77\xbb\x59\x19\x0a\xaa\x68\x2d\x66\xad\x14\x9e\x82\xd0\x9a\xc3\x18\x62\xe2\x95\xd0\xac\xf0\x00\xaf\x3e\xe8\xc9\x25\x3b\xf4\x88\x2c\x46\x54\x6c\xbc\xcf\xc6\x52\x04\x76\xe1\xa2\xf2\x18\x3b\xfe\xe5\xbd\x35\xc3\x79\x09\xe2\x80\x5f\xde\xc3\x10\x31\xfb\x32\x6d\xb6\x84\x99\x22\x2f\x11\x2a\x04\x0a\xa3\xf0\xa5\xcd\x2f\xe2\xcf\x96\x90\x66\x43\x5a\x61\xc9\x8e\x0c\x87\x9d\xcc\x0c\x2d\xbd\xaf\xb2\x5c\xd2\x8a\x51\x0e\x71\x8c\x31\x38\x0f\xda\x7b\x6d\xc2\xf5\x05\x36\xa8\xdb\x4b\x02\x5e\x21\xc1\xa3\xb5\xc6\x5a\x8b\xf6\xad\x20\x72\xee\xd2\x08\xeb\xcd\x8d\xb6\x42\xe8\x07\x65\x0e\x57\x4c\xb4\x51\xac\x57\x17\x4c\x2b\x41\x63\x8c\x4a\x33\xf3\x7b\xbb\xd5\xfa\xd7\x15\xe7\xee\xbd\x32\x30\x4d\x27\xc6\xdd\x2f\x57\x3d\x08\x0f\x31\xe0\x15\x6c\x55\x32\xf9\xbc\x0a\xb4\x88\xd1\xfc\xc8\x4c\xf0\xc4\x1c\x3e\x4e\x66\xea\x25\xf1\x42\x01\x27\x1c\xcc\x65\x4c\x8c\x05\xa0\xd3\x92\xcb\x18\x1a\x15\xe0\x63\xf2\xbb\x8b\xec\x20\xdd\xf8\xb0\x97\x86\x59\x33\x16\x90\xf8\xa9\xc4\xf0\xeb\x23\xf7\x55\xe5\x03\x5a\x3e\x27\x68\x58\x5b\x9d\xbd\x57\xca\xc3\x3b\x64\x66\x99\x72\x42\x98\x7f\x96\xb4\x9a\x94\xd6\x08\x06\xe0\x32\x5b\xc7\x73\x52\x03\x7f\xe0\x40\x57\x18\x27\x16\x79\x38\x48\x4e\xc1\x2a\xf4\x4c\xa6\xc6\x53\x1d\xb2\x1b\xb3\x0d\xa1\x31\x5e\x34\x31\xcc\x10\xe5\xb4\xe4\x71\x81\x2f\x40\x3c\x50\x19\xce\x5c\x6a\x21\x80\x63\x33\x16\x49\xf8\x59\x0c\xd0\x6c\x21\xb3\x4c\x02\x59\x4d\xca\x41\x8e\xac\xee\x83\x87\x0f\x80\x73\x05\x63\x10\xa0\x39\xa9\x5c\x68\x3a\x88\x38\x25\x3e\x3a\x8f\x38\x33\xf8\x9c\xdb\x53\x03\x60\x10\xf1\xbb\x21\x19\xf4\xd8\x30\x20\x1d\x2c\xf3\x75\x98\x44\x29\x68\x7e\xc7\x38\xea\xb2\x7b\x4a\x12\x53\xaa\x0b\x09\x54\xb0\x4a\xf1\x2d\xc9\x24\x7b\x90\x0e\x1e\x43\x2e\x2b\x95\x38\x05\x9c\x43\xad\xad\xfc\x89\xe7\x6c\x95\xbc\x4c\x86\x12\x01\xae\x1c\x37\x6a\x3e\xe9\x98\xcd\x67\xe6\xef\x77\x0c\x9c\x7e\x37\x87\xd5\xa6\x71\x77\xf4\x96\xeb\x99\x73\xfb\xd0\x5e\x0a\xf9\x91\x3f\x7a\x84\x27\x8d\xe4\xac\xf0\xb9\xe6\x5b\x3e\xbe\xc1\xdc\xfc\xfe\x8e\xb8\x05\x69\x6e\x2e\x90\x6e\xf0\x1e\xb8\x94\xc3\x95\x08\x6e\xb2\x70\x83\xc2\x4f\x48\xd2\x51\xe7\x84\xf4\xf7\xde\xe9\x7d\x3c\xa0\xfc\x7f\x18\x88\x18\xe9\x2f\x10\xe6\x2e\x86\x1c\x77\x7c\x03\xe6\x19\xac\x79\xbc\x98\x97\xff\x15\x6e\xd6\x94\x3d\x44\x81\x7b\xa2\x5b\x36\x9c\x61\xaa\xac\x59\xb2\xb8\xe4\x6c\x2a\x78\x8c\x20\x61\xd8\x07\xca\x24\x34\x95\x4c\xa2\x17\x10\x73\xad\x4e\xaf\x59\xc8\xc4\x9d\x24\xe6\xbd\x75\x63\xb3\xba\xd8\x7a\x94\xaa\x3b\x80\xe7\x36\x66\x0f\x49\x66\xf1\x1c\xcc\x55\x43\x0c\xf2\x8f\x29\x42\x6c\xe5\x3b\x24\xf9\x0c\x57\xac\x77\x7e\xcb\x42\xa8\x84\x8a\x7a\x27\xbb\x98\x9e\x98\x8f\x3a\xb3\x95\xbf\x0b\xce\xfd\x12\x8f\x65\x6f\xb4\xad\xf6\x2b\xdb\xf0\xfb\xa5\x0d\xdb\x9a\x9d\x6f\x79\x7b\xec\x78\x16\x7f\x04\xd3\x15\x8e\x9c\x29\x64\x4a\x72\x9b\x71\xfa\x9c\xa9\xe4\x8a\x85\x67\x3f\x24\x46\x47\x66\x45\x7d\xc1\x13\x9e\x50\x11\x58\x7f\x91\xad\x57\x0e\xef\x92\xc9\x0d\xb6\x0d\xa7\x70\x9b\xab\xa4\x6f\xb6\x1e\x67\x6a\xfb\x4c\xe4\x88\x0c\xcd\x58\x4f\xc3\xf1\x89\x75\x3e\x59\x43\xfd\x2f\x16\x23\x72\x86\xbe\x49\x16\xb8\x05\x29\x97\x05\xc8\x76\x59\x3b\x03\xf4\x88\x36\x05\xcd\x4d\xa6\x12\x4e\x72\x93\xb9\xed\x8c\xb9\xc3\x80\xa0\x3c\xd6\xd9\xcc\xaa\x4e\xfd\x3c\x87\x6f\x79\xd5\x30\x92\x27\xc3\x6c\x99\x8a\xf2\xa7\xb7\x56\x4c\x4d\x98\x85\x99\x7d\xb4\x51\x71\xbf\x01\x09\x03\x88\xe6\xcf\x37\x90\xfd\x12\x22\x30\x43\x18\xe9\x18\x93\xe9\x41\x04\x58\xf3\x83\xe8\xd6\x5e\x96\xa4\xdd\x37\xc3\x30\x84\xae\x7a\xdf\x4d\x4c\x64\xc9\x1e\xa5\x83\x4a\x5e\xa1\x74\xe6\x33\xc6\x12\x49\x1c\xe6\x66\x7b\xca\x90\x41\xb7\x5f\x67\x1f\x1f\x17\xe5\x20\xe4\x8d\x01\xb4\xc4\x4f\x32\xc8\xfb\x2a\xa6\x04\x67\x2e\x19\xa1\xbf\x95\xff\xef\xcc\x31\x58\xbe\x89\x7f\xe2\x79\x97\xe5\x19\xd4\xb2\x00\xda\xf5\xf2\x9d\x79\x80\xda\x6a\xab\x54\x7e\xdd\xc7\xa9\xcb\xeb\x24\x62\xfd\x90\xb9\x10\x94\xae\x46\xab\x53\xf1\x3b\xcf\xbd\x80\xe7\xf8\xe0\x12\xdd\x2e\xc1\x80\xcd\x8c\x0b\x53\x5d\x29\xbd\x7c\x32\x25\xde\xf9\x1f\x3c\x37\x21\x2f\xf4\xbf\xc1\x57\xe8\xe4\x63\x1c\x5d\x73\x7a\x84\x18\x84\x85\x90\x58\x0b\x33\x3e\x90\x54\x04\xd7\xe2\x25\x4d\x9d\x32\x02\x62\xaa\x0f\xca\xf8\x96\x9a\x17\xa5\x39\x28\x12\x75\x18\xce\x02\x05\x28\x86\xa0\x8b\x9c\x4d\x45\x1e\x89\x9e\xc5\x1f\xec\x0b\x39\xee\x00\x0e\xaf\x2f\xfd\x7a\x37\xac\xc7\x0c\xce\xa0\xf9\x1d\x37\x4d\x34\x07\xd6\xc8\x0a\xe8\xd2\xf0\xa3\xe9\x66\x0d\xdc\x26\x93\x19\x27\x09\x21\x7f\x5b\xce\x43\x22\xbd\xc3\x63\x75\x74\xc3\x09\x52\x12\x38\xaf\x1f\x41\x74\x03\x19\x7f\xc2\xf4\x86\x4d\x30\x60\x88\x20\xc1\x03\x03\xbd\x64\x72\x11\x5f\x2e\x66\x28\x4e\xc2\xbb\x91\x57\x5d\x2c\xa9\xcd\x3a\xa2\xd3\x3f\x2e\x94\x59\x9c\x5e\x32\xbb\x09\x9e\x87\x83\x01\x78\x83\x4e\x58\x86\x63\x6d\x4e\x4d\x4b\xb3\xbf\xe0\xe1\x6d\xf1\x50\x84\x51\xee\x05\x4d\x1f\x43\x92\x5a\x58\x89\x2d\x4f\x48\xe0\x14\x68\x45\xe9\xb5\x11\xa6\x3e\xa1\x99\x4f\xf7\xd6\xd6\xae\xaf\xaf\x9b\x1f\xe7\xe6\x2d\xde\x9c\x44\xf3\xb5\x61\x32\x48\xd7\x3e\xce\x37\xdb\xad\x86\xd9\xd8\x87\xfd\xde\xc9\xe9\x2b\xe2\xb9\x06\xd1\x54\x44\x5f\xf0\x6e\xa1\xd4\x37\x8b\x79\x72\x3d\x33\xcf\xd8\x2a\xfc\x97\xf2\x15\xd6\x6c\xb0\xde\x39\x9b\x60\x52\xb2\xaa\x28\x02\x8b\x70\x14\x6a\x9d\x83\x11\xa6\x29\x23\x83\x4f\x78\x39\x14\x1f\x7f\xc6\xc0\xfe\x67\x98\xfc\x7b\x94\x4d\xbf\xfc\xff\xd9\x7b\xf3\xc7\x36\x6e\x24\x61\xf4\x77\xff\x15\x6d\xed\x7e\x21\x15\x93\x3a\x9c\x63\x12\x39\xce\x3e\x59\x96\x33\xfe\xe2\xeb\x59\x8a\x3d\xbb\xb6\xc7\xaf\x49\xb6\xa4\x1e\x91\x6c\x4e\x77\x53\xc7\x4e\xfc\xfd\xed\xaf\x2e\x00\x05\x34\xba\x49\x29\x9e\x73\xbf\xec\x4e\x42\x91\x40\xa1\x00\x14\x0a\x85\x3a\x65\x15\x6c\xe6\x6f\x52\xa6\xc1\x2f\x2c\x63\xa8\x55\x50\x7c\xc2\xac\xa4\xbe\xcb\x05\xa0\x75\xda\xc4\x03\x08\xe7\xbd\xcc\x47\xcb\x9a\xca\x47\x8b\x6d\x86\x0a\x5c\xe2\xe2\x2d\x96\x23\x38\x59\x8e\xbe\x88\x38\x60\x53\xb1\x0c\x25\xc7\x52\x31\x20\x4b\xc4\xd6\x61\xd9\xad\x0d\x60\x60\x67\xf2\x1f\xf6\xa3\x6e\xb0\x67\xf3\xe4\x4b\x2d\x40\xac\x6a\x97\xbd\x5d\x05\xa1\xd9\x4e\x5d\xf4\x04\xa9\x20\xaa\x7c\xce\x0f\xa8\x18\x08\xd5\x20\xec\x8b\xdb\x7c\x00\xc4\x9b\xa7\xa7\x99\x70\xff\x38\x8c\x48\xc3\x10\x16\x1f\xc1\x37\x39\x97\x48\x89\x83\xf1\xdb\xc4\x21\x3c\x9a\xe6\xf3\xf3\xce\xfe\xdc\x22\xec\x9d\x53\xa4\x57\xc7\x3a\xa8\x06\x61\x5f\x59\xe5\x37\xc0\x1e\x8a\xee\x8d\xe0\x26\x61\x7f\xac\x15\x78\x0e\x6c\x6a\xc2\x81\x66\x71\x08\x41\x23\x0b\x63\xf5\xed\x43\x55\xae\xcb\x7f\x76\xd5\xcb\x4d\x0b\xe3\x06\x67\x3e\xa1\x22\xeb\xf1\x8a\x5b\xd7\xf3\x3a\xbd\xe2\x8b\x04\x59\x2d\x5b\x53\xad\x29\x0f\x64\xb2\x02\x8d\xf0\x96\x99\x1b\xf6\x21\xf5\xe8\x1b\xd5\x85\x08\x81\x04\x51\x40\x79\xc3\x14\x9b\xe7\x17\x90\x2c\x17\x7f\x45\x4a\x4e\x00\x27\x64\x20\xbf\x81\x5c\xcd\x51\x0d\x21\x9c\x39\xb9\x92\x32\x1c\x9b\xad\xbf\xa8\x4c\xb5\x4f\x0d\x0a\xbe\x66\x1d\x49\x2b\x3a\xff\x21\x70\xac\x07\xba\x84\xe4\xac\x00\x0c\x37\xf7\x43\x57\x9a\xd9\x5b\x08\x25\x62\x51\x45\x73\xaf\xf8\x3d\x70\x43\x38\xfb\x9e\x54\x85\x6e\x1d\x87\x5c\xfa\x9c\x00\x24\xdc\x0b\xf0\x40\x7f\x05\x3b\x8d\x7b\x49\x8f\x8b\xbd\x19\x18\x9d\x23\xbb\x8a\xeb\xcd\x7d\xd1\xd2\x1c\x2d\xd0\x43\xbd\xee\xa6\x66\x57\x17\xf4\x46\x39\x29\xee\x4a\x97\xf0\x47\x00\xa9\xf4\x55\x76\x33\xf9\xc3\x03\x7f\x67\xa4\x3d\x3e\x9e\x9c\x22\x8b\xd6\x56\x90\xf1\x75\xd6\xfa\xf1\x4e\x4b\xd5\x0c\xc7\x61\x75\x8e\xfe\x16\x8f\xa3\x3c\x56\xf8\x9d\x52\xd8\xca\xc7\xaa\x14\x89\xbb\xf8\x11\x82\x37\x6f\x29\xdc\x4a\x2f\x0b\xd3\xe1\x67\xd4\xf7\x6b\x8f\x87\xd4\xa6\x92\x00\xe9\xec\xe7\x4c\x64\x0e\x4c\x50\x21\x3a\x47\xb4\xc8\xcd\xeb\xec\x94\x3d\xb2\xf1\x2f\x0b\xd6\x1a\xd1\x5a\x87\x95\x17\x18\xbe\x9a\x9e\xbb\xea\x29\xac\x63\xe5\xda\xd5\xae\xd8\xe5\x9f\x0a\x9c\x08\xc9\x11\xfc\x9c\x98\x50\x95\x5b\x15\x4c\xc1\x8b\x34\x4f\x90\x81\x96\x79\x75\x4e\xca\x4a\x41\xd3\x68\x41\x50\xb1\x45\x85\x06\x6d\x90\xda\x72\xee\x4a\xf2\x79\x3a\x57\xbc\xfd\x8d\xf4\x65\xa0\xab\x12\xb3\x7b\xfc\xa6\xdb\xdf\x4b\xe8\xf5\x9c\x89\x53\x68\xea\xa5\x81\xd9\xd8\xdf\xf0\x51\x84\x1e\xdf\x7e\xb3\x97\x1c\xf1\x53\x88\xf3\x00\xc9\xf7\x3b\x57\x5f\xef\xc6\x7f\x21\xff\xb3\x70\x20\xfe\x52\xb7\x68\x03\x4c\x3f\xae\x80\xce\x86\xee\xe8\x18\xf2\x93\x6e\xfd\xa5\x6e\xc9\x88\x50\x2d\xca\xcb\x0c\xc5\xa9\x4a\x15\x36\xf3\x28\x96\xd6\xdc\xe4\xe1\x63\x70\x09\x32\x04\x78\x5e\x57\xca\xf4\x84\x04\xb0\x6f\xeb\x68\x12\xb3\x97\xb3\x6d\xdf\xf4\xc1\x5b\x9e\x34\xa2\x03\xb2\x28\xaa\x8a\x15\x03\x43\x46\x3c\x94\x7b\xbf\x37\xb9\xbc\x62\x02\x74\x9d\x02\xa5\x1f\x19\xac\x1b\x8c\xc6\x6a\x71\x58\x05\x73\x6e\x4a\x56\x22\xdf\xbc\x43\x85\x48\xee\xa8\x02\x82\xe7\xee\x75\xbf\xe2\xe0\x59\xe7\xbb\x8b\x77\x6b\xb5\x7f\x77\xfe\xe1\x83\xa7\x6f\xc1\x71\xe1\xf9\x05\xf7\x71\xdf\x32\xa3\x1f\x22\x4c\xd0\xab\x59\x58\x9d\xe7\x8b\x23\x8c\x4c\xb4\xc6\x2b\xc4\xba\x2e\xb0\x08\xaa\x70\x50\x5a\x92\x63\xfc\xc6\x38\xfb\x92\xfa\x0b\xbf\xd8\xa2\x4b\x07\x95\x45\xc2\x05\x94\x41\xab\xbc\x50\xca\x7b\x6e\x7d\x81\xaa\x23\x19\x46\x0c\x5c\x31\x50\x76\xc2\x3d\xbf\x8a\x8e\x02\x72\xe3\x55\x55\xda\x32\x5b\x47\x65\xd5\x02\xab\xf1\x3e\x3c\xb0\x50\x10\x13\xd8\x23\xd2\x88\x7d\xf1\x45\x62\x3e\xde\xf5\x6c\x03\xbc\xbe\x25\xb9\xbf\xc1\x12\x66\x7c\x13\xba\x42\xa7\x66\x1c\xbe\xfc\xd4\x40\x9b\x6e\x20\x03\x59\xe9\x0b\xa3\x0b\xb7\x7a\x41\x0c\x3f\xd5\x8b\xe1\x6d\xcf\xca\x9e\xc1\x5a\xf8\xa8\x38\xa0\xcd\x29\xff\x32\x47\xcf\x35\x52\xe6\xb5\xcf\xf5\xd3\x2a\x92\xa8\xae\x67\xa3\x62\xda\x41\x0e\x46\x5f\xe9\x50\x71\x25\x3c\x27\xb7\x22\x16\x26\x97\xc5\xda\xc4\x92\x4f\x14\x8d\x58\x2d\xeb\xbb\xc5\x07\x4d\x12\xb4\xa9\x0b\xdc\x52\x44\xd7\xb5\xff\x74\x93\x05\xe5\x52\xfb\x70\xbd\xf0\xaa\x74\x2d\x6b\x04\x66\x13\xe2\xa1\x81\xa7\x6e\x72\x7d\x06\x9b\x26\xe7\x26\xd3\xb0\x0a\x71\x10\x73\xee\x92\xd5\xdb\x4c\x7b\x54\x66\xe9\xb9\x6a\xa5\xe8\xee\x2e\x0b\x9b\x9b\x1d\x98\xd5\x65\xaa\x85\xf9\x14\x1d\xce\x92\x3a\x2d\xd1\xa3\x00\xc0\xf4\xcc\xf8\x52\xf4\xe8\x02\x95\x03\x7d\xe5\x06\x17\x8c\xf8\x50\x8f\xd8\x1c\xef\x79\x5e\x55\xe4\x14\x19\x0e\x10\x68\xae\x57\xdc\x1d\xfb\x26\x1c\x2a\x56\x98\x34\x5c\xbb\x15\xec\xf6\x4e\x94\xdb\xb2\x94\xdf\xf3\xec\x0c\x21\x8b\x5d\x8f\xb3\xde\x84\x8d\x48\x31\xf0\xc0\x29\x66\x55\xf3\x18\xeb\xe8\xe4\x13\xe2\x23\x1e\xa7\x6b\xc9\x36\xd1\x4a\xc3\x52\x07\xbc\x41\xc2\x9d\xfb\x96\x65\xe7\x1c\x6f\xdb\xfd\xac\x40\x11\x1e\x8b\x85\xf5\x7a\xc6\x2e\x62\xbe\xda\xe8\x75\x13\x06\x0c\xf0\xd4\x09\xc6\x2b\x06\x61\x65\x74\x7f\xfb\x5d\x3a\xfc\xef\x8f\x1f\xb6\xf3\xee\x37\x11\xc1\x96\x83\xbb\x2e\xe0\x9d\xe1\xf7\x1f\xb6\x57\x80\xb5\x54\xd8\x84\xaa\x0f\xbb\xcf\x78\x9d\x6c\x84\x40\xf6\x2c\xe3\x1e\x24\xb4\x83\x7b\x06\x93\x4f\x0f\xda\x4e\xad\x77\xd6\x42\xa7\x27\x7f\x1d\xfb\x9b\x1e\xfd\x9b\x21\xd5\xbe\xfb\xc3\xd2\x94\x74\xf7\x4f\x0f\x1a\xd0\x99\x0c\x5a\x20\xcb\xa9\x8b\x40\x35\xdd\x22\x10\x65\x6f\xda\x90\x15\xb1\x29\x86\xa9\xe9\x88\x40\xa3\x44\xaf\xae\x02\x3a\x26\xbd\x35\xb6\xb4\x8b\x0c\x5d\xf0\x5d\x7c\xa1\xbb\xae\x0e\xff\xb0\x05\xcf\x71\x1c\x58\xec\x2a\x4c\xd6\x40\x80\x1f\x3f\xdc\xdb\xce\x4f\xd7\xc1\xb8\x8d\xb8\x91\xd8\x46\xe8\x45\xff\x30\xd9\xdd\xf1\x17\x5e\x08\x73\xa7\x67\x23\x64\xda\x84\xe1\x64\x98\xec\x06\x49\x39\xfc\x47\xba\x52\x55\xec\xe2\x7b\x9d\x00\x5f\xf5\x82\x50\x19\x83\x69\x3f\x32\xe1\x9d\x2b\x3c\x70\xe9\xf0\x04\x66\x7c\x9a\x6f\x36\xbc\xb1\xba\xfa\xbe\x9f\x40\x9f\xcd\xb8\x92\x40\x2a\xd9\x17\xe8\x6a\xbf\x44\x9d\xe9\x9f\x97\x85\x63\x81\xda\x1e\x10\xaa\x7d\x6c\x06\x72\x78\x54\xd7\x46\x37\x44\x77\x6c\x3a\x65\x28\xea\xd9\x9a\x24\x47\x34\x10\x02\xf3\x46\xa8\xd8\x07\x7e\x24\x79\x16\xe0\xfb\x69\x0e\x1d\xd0\x58\x31\x08\x50\xa2\x86\xb0\xaf\xa4\x37\xcf\xc8\x39\xde\xbe\xee\x8e\x5f\x3e\x7e\xd9\x2f\x4f\xe1\x69\x9e\x6e\xee\x25\x6f\x4c\x81\x7d\xf6\xaf\x2e\xa6\x36\x0a\x48\x5b\x0a\x5e\xf1\xa1\x83\x41\x3f\x25\x0b\xfb\x59\xb7\x30\x6a\x39\x9e\xcd\x7e\x63\xb1\x86\xe1\x34\xbd\x87\xa6\xf4\x5e\xf9\x50\x6c\xbb\x35\x88\x0f\x66\x15\x06\x3c\x59\x85\x1f\x7e\xc7\x83\x3e\x34\x6c\xd0\xf8\x2b\xf2\xd7\x77\xe9\x22\x41\x8a\x75\x7f\xc3\x5d\xd3\x76\xf6\x64\x6c\xc3\x02\xe4\xdc\x35\x58\xaa\xc5\x06\x55\x7b\xd9\x65\xf2\x3a\x3b\x85\x53\xdb\xef\xbd\x7b\x0f\xff\xe0\x0d\xcb\x83\xdd\x4b\x7a\x94\x7b\xff\x54\xe0\xdc\xe4\x21\x59\xc2\x17\xf0\x84\x7f\x3a\x9f\x64\x57\x56\x8a\x29\x2a\xed\x6e\x90\x51\x08\x6c\x5f\xc1\xd8\x6c\x17\xfb\x7e\x99\x8b\x39\x45\x5d\xe8\x42\x5a\x3d\x57\xb5\x9c\x56\xf7\xde\xc3\xc8\x99\x45\x56\x6c\x90\x18\xf8\xd8\x0d\x93\xdd\xa8\xc8\x18\x34\xb2\xd3\x56\xed\xdd\x46\x3d\xb4\x1b\xe5\x89\x05\xef\x43\x6f\xd3\xf0\x66\x6b\x60\x4d\x34\xc4\xb1\x22\x2e\x8e\x16\xfd\x6d\xf3\xb9\x29\x9b\xfc\x29\x36\x38\x4a\x20\x5d\xa3\x07\xc3\x30\xa1\x75\xa0\xd5\x3a\xa4\x1a\x81\x46\x5f\x63\x82\xa6\x48\x2b\x20\x10\x84\xfa\xde\x78\xa3\xe9\xe2\xf3\x99\xde\x5c\xb8\x07\x9b\x24\x28\x45\x54\x4c\xaf\x9d\xf4\xc5\x0e\xad\xf9\x1c\x9b\x21\xb1\x39\x79\xa4\x29\xed\xf8\xfe\x93\xe3\xc3\xd7\xf4\xcb\x34\x4b\x29\x3e\x84\x92\x45\x01\x45\x9c\x61\xc1\x99\x2f\x6f\xc5\x1b\x24\x06\x28\xca\x1b\x66\xe4\xc8\xcc\x6b\x09\xa4\xb4\x87\xff\x62\x97\x76\xdc\xdb\x3d\xfa\xb7\xf9\xfb\x3d\xfd\xfd\xde\xfc\x9d\xd2\x9f\x57\x3b\xbf\x33\x5f\x8c\xe4\x8b\xef\xcc\x17\x19\x7f\xb1\x3b\x32\x5f\x9c\x48\x8b\xb1\xf9\x62\x2e\x5f\xa4\xe6\x8b\x52\xbe\x98\x98\x2f\x6a\xf9\xe2\x7b\xf3\xc5\x85\x7c\x61\x81\x5e\xc1\x17\xc1\xcc\x8c\x04\x28\x4f\xf2\x8e\xcb\xff\xc3\x5f\xee\x7f\xe2\xdb\xdf\x23\x9b\x58\xd2\x1b\x7b\x3b\x12\x54\xb8\x81\xbf\xdd\x34\x2f\x52\xc1\x64\xf9\xdb\x30\xf9\xfa\x33\x60\x62\xf5\x7e\x2a\xb2\x02\xc8\x0f\x53\x8f\xa5\x8b\x56\xe9\xc9\xbc\x79\x98\xa4\xf7\x9c\x65\x64\x7c\xe6\x18\xb7\x99\x02\x00\x7a\x27\x3f\x7e\x78\xd0\xc2\xe8\xe9\xc8\x02\x01\x16\x27\x89\x53\x8b\x98\xa5\x91\x8b\xc4\xc0\xa3\xff\x6e\xa1\x67\x28\xbb\x68\x69\xa9\x4d\x1e\x91\x0d\x99\xc3\x79\xfd\x18\xff\xc1\x0a\x9e\xca\xe4\x96\xd0\x7a\x14\xc3\xab\x9b\xef\x9f\x4f\x16\xc2\xbe\xfd\xe4\xb9\x55\xd5\xda\x7c\x45\x0e\x1e\xd5\x22\x9d\xa3\xa5\xe0\x97\xa3\x63\xd6\xe8\x8a\x2a\x99\x9a\x6e\x9c\x4e\x8b\x51\x3a\xdd\x90\xeb\x2d\x39\x99\xa6\xa7\xb7\xbb\xd2\x23\x8e\x43\x0b\xed\x35\x44\x3b\x6c\x7c\xce\x78\xd4\xb6\xfd\x45\xc9\xb5\x44\xb7\x05\xfa\x7b\x2f\x81\x67\xff\xdc\xb9\xbb\x1a\xcf\x6b\x86\x21\x17\x9b\x01\xdc\x76\x9f\x52\x5d\xf8\x12\x2b\xeb\x9b\x96\x8d\x7b\xd5\xd1\x21\x36\x84\x87\x6a\x13\xe6\x10\x61\xbc\xdb\xf9\x60\x64\xe0\xbb\x6e\x90\x95\x92\xbe\xf5\xc0\x63\x7a\x35\x6b\xe3\x84\x0f\xb6\x81\xc5\x06\xdd\x6d\xa3\x5b\xd9\x23\x46\xca\xe7\xfb\xfb\xdc\x72\x2d\xd2\x32\x26\xd4\x31\xfa\xcb\x76\x6d\xb4\x0c\xaf\xf7\x98\xfa\x28\x35\x0d\x49\xfc\x0f\x19\x94\x6f\xc3\xeb\x78\x23\x34\xec\x79\xbe\x34\x2a\x2e\x2d\x2c\xb1\x01\xe1\x4f\xf3\x8a\x62\xd0\x28\x68\x28\x99\x17\xf3\x21\xdc\x5a\x75\xc6\x89\x02\x3d\xe2\x17\xe7\x57\x73\x59\x26\x3c\x77\x47\xdc\x18\x2f\xd6\x49\xda\x56\xeb\x14\xba\xc3\x30\x32\x8a\xb4\xb7\xdf\x57\xdb\x5b\xe8\xc7\x6d\xb8\x98\xf7\x70\xf5\xe5\x49\x68\x0b\xcf\x93\xd9\x83\x3b\x1d\x32\xa0\xb4\xb7\x16\x53\xb5\x7c\x46\xfc\x35\xd2\xa1\x27\x18\x2a\x5a\xd2\xb0\x1d\x9d\xad\xb7\x19\x32\x44\x38\x55\x4f\xbc\xd9\xca\x11\xf2\xcb\x13\xaf\x15\xb0\xce\xe1\xee\xe6\x3a\x6a\x53\x4c\x56\x09\xbb\x88\xa7\x41\x6d\xef\x3d\xac\xa2\x42\x1e\x10\x74\x50\x04\x8c\x9d\x19\xb1\x78\x27\x1e\xad\xeb\xe7\xf1\x51\x2b\xd8\xfe\xc9\x7d\x3e\xac\x2f\xdc\x54\x02\x82\xc9\xab\x4f\x1b\x90\xe1\xb5\xe6\xd1\x73\x93\xc2\xd5\x72\xa0\x40\xd5\xd0\x25\xb4\x5a\xb9\x59\xfa\x22\xe3\xe6\x9e\x8d\xa9\xb8\xc3\x06\xce\x3d\x13\x5b\x01\x7f\xef\x4f\xf1\x77\x0a\xb1\x80\xbf\x30\x4e\x76\xcf\x84\x5a\xa8\x73\xfe\xb3\x2d\xdc\xb0\x54\xae\xeb\xac\xb8\x16\x1f\x61\x1b\x08\x68\xb8\xd6\x2b\x3c\x86\x9c\x38\x08\xd7\x19\xd3\x44\x4d\x31\xa9\xd4\x49\x8d\xd9\x00\xec\x76\x10\x93\x18\x65\xe3\x74\x69\x6a\x83\xe0\x62\xcf\xb0\x80\x0c\x3b\x7d\x91\x4d\xdc\xe4\x41\xb5\x8e\x2d\x98\xc3\x02\x7d\xf5\x60\x33\x4c\xee\x01\x19\xf7\xe9\x3c\x70\x30\x80\x21\xce\xe1\x06\x25\x43\xee\xe1\xd1\xc1\x06\x87\x2f\x62\x48\xfb\xb8\xc0\x90\x25\xb9\xda\x0d\x2e\xc5\x09\x05\xff\xa8\x85\x4d\x92\xa7\xe4\x9e\x0d\xf0\x72\xe0\x65\x19\x47\x62\x32\xc0\xfb\xbf\xdb\xe0\xc8\x21\x31\x43\xef\x8e\x36\xba\xb7\xd1\x9a\x9c\x64\x8b\xb0\x88\x8e\x4b\x93\x0f\x58\xed\x25\xf7\x7f\x87\x7b\xf1\x64\x77\x2f\xc1\x82\xfb\xf8\xf1\x3e\x7e\xfc\x8a\x3e\x7e\x85\x1f\xbf\xa6\x8f\x5f\xe3\xc7\x6f\xe8\xe3\x37\xf8\xf1\x5b\xfa\xf8\x2d\x7e\x64\x08\xbf\xc3\x8f\xdf\xd1\xc7\xef\xf0\xe3\xf7\xf4\xf1\x7b\xf8\x78\x7f\x87\x87\xd8\xc1\xcf\xbb\xfc\x19\xc7\xbb\xcf\xe3\xed\xe2\x80\xf7\xbf\x1a\x48\xa4\xfd\x6b\x64\x0d\x97\x05\x22\xf8\xf2\x05\x1c\xdd\xaf\x09\xd0\xf1\xdb\x97\x7b\xc9\x37\x04\xe8\xf8\xf7\xaf\x0f\xe1\xfb\x6f\x18\x12\x9c\x72\xf8\xcc\x90\x9e\xbe\xc1\xef\x09\xf5\xa3\xa7\x7f\x80\x8f\x84\xfa\xd1\xe1\x9b\xc3\x17\xf0\x07\x21\x7f\x88\x15\x55\xe0\x0f\x42\xff\xc5\x53\x1c\xe0\x1b\xc2\xff\xbf\x0e\x5f\xc3\x08\x5f\xd3\x04\xb0\x6a\xc0\xd1\xab\xfd\x03\xf8\xf1\x3b\x0f\xad\xb3\x32\xa3\xdc\x56\xc7\xfb\x8f\xf6\x12\xc2\xeb\xff\x85\x26\x84\xc8\x5b\xf8\x40\x80\xa0\xd3\xb7\xf4\x13\xe0\xf5\x1d\xe1\x05\xe3\x7d\x47\x98\xfc\x27\x7c\xa0\x9f\x7e\x81\x0f\x84\xce\xd3\xbd\xe4\x77\x84\x2f\x8c\xfd\x3b\xfa\xe9\x15\xfc\xb4\xa3\x07\x05\x26\x40\xe9\x2d\xb1\x3c\x27\x96\x5d\x81\x2d\xa3\x65\xd8\x87\x71\x08\xc6\x11\xf4\x20\x18\x8f\xe1\x1b\xde\x00\x00\x46\x6d\x7e\x82\x0f\x84\xdd\xef\xe1\x03\xe1\xf2\xbf\xe1\x03\xe1\x02\x70\x7e\x47\xdd\x9f\xc1\x07\x5a\x0d\xaa\x19\x08\x5b\xe1\xed\xc4\x49\x4e\xce\x0d\xc9\x7f\xc1\x7c\x09\x24\x2c\xeb\x77\x34\x08\xd0\xce\xb7\x34\xe1\x37\xf0\x0d\x01\x80\x35\xf9\x96\xd7\x15\x40\x52\x9b\xe7\xf0\xe1\x77\x06\xdc\x61\x3d\x46\x48\xb2\xb0\x5f\x11\x3a\xaf\x5e\x3f\x7d\x71\xfc\xf1\xe8\x00\x76\x14\x3a\x7d\x4d\xdf\xc1\x5f\x2f\x9f\x3d\xfb\xc8\x73\xc5\xa2\x52\x08\x1a\xab\x44\xc1\x5f\xb4\x44\x5c\xd3\x09\x9a\xd3\x4f\x58\x9a\x09\xc0\xd1\xc0\x58\x5f\x09\x3e\xf3\x6a\x1c\xc2\xcc\xbe\x96\x99\xc1\xd2\x7c\xf5\x0d\xb7\xc0\xea\x3c\xf0\x17\x2d\x02\xb5\x26\x4c\xf9\xdb\xaf\x69\x8a\xaf\x99\x46\xbe\xa2\xc1\xb0\x70\x0e\x7c\xa6\x99\x4a\xe1\x1b\xc4\xea\x6b\x33\xab\x9f\xa9\x8c\x0c\x2e\xe8\x2b\xa0\xef\xef\x69\xbc\x9f\x5f\x01\x79\x7f\xff\x3b\xfe\x08\xd4\xfd\xfd\x77\xfc\x11\x8e\xd3\xf7\xdf\xf3\x47\x3c\x4e\x3b\x3b\xfc\x19\xcf\xd3\xce\x2e\x7f\xc6\x03\xb5\x73\x9f\x3f\xe3\x89\xda\xf9\x8a\x3f\xe3\x91\xda\xe1\x8d\x7b\x85\x67\x6a\xe7\x1b\xfe\xfc\xf1\xd5\xb3\x5f\x8e\xf0\x6f\x19\xed\xe3\xf3\xa7\x2f\xf8\x0b\x19\xe8\xe3\xd1\xf1\x3e\xee\xea\x8e\x60\xf6\xf1\xf1\xd3\x37\x4f\x1f\x1f\xe2\x09\xdd\x35\xdf\x1c\x1e\x3c\x7d\xbe\xff\x0c\xbf\xb2\x94\xe7\x0a\x6c\xcc\xb2\x49\x4e\x3c\x0e\x8b\xf0\xbc\xd8\x7f\xf3\xf4\xa7\xfd\xe3\xc3\x8f\x78\x44\xa0\x83\xec\xb7\xf9\xf6\xc9\xcb\xd7\x6f\xf7\x5f\x3f\xc6\x1f\x08\x1f\x2e\x6f\x81\x7f\x32\x5d\xfe\x02\xfb\x6a\x36\x7b\x97\x89\xf6\xed\xd3\x17\xb0\xf6\x1f\x5f\xbe\x39\x7c\xfd\xe6\xe9\xe1\x5b\xfc\xfe\x3e\xef\x38\xee\xc2\x8b\xc3\xa3\xa3\x8f\xb8\x4b\xf7\x99\xe1\xa8\x6f\x79\xc7\xee\xef\xfe\x4e\xdf\x1d\x4f\xd5\x15\x26\x0e\x8a\x78\x7f\x3a\x43\x58\xcc\x61\x25\x62\x67\x33\xfc\xd2\x38\x04\xbe\x2a\x4d\x7a\x6e\x97\x8d\x00\x39\xb1\x73\xc6\xaf\xae\xab\x3a\x9b\x31\x7f\xa7\x94\x20\xe6\xe1\x45\x1d\x9d\x6f\x20\x07\x05\xef\xad\x0c\x1b\x1e\x78\x0e\x89\x6f\xd3\xbc\x96\xcc\xb7\x1b\x18\x23\x8c\x81\xfb\x1b\x0c\x7a\xe0\xc2\xf4\xcd\x2f\x89\xc9\x6c\x1b\x24\xf3\x14\x14\x24\xa3\x44\x17\x0e\xa6\x62\x86\x87\xc4\xb3\x20\xf3\x09\xe7\x9d\xf2\xe7\x2f\xd9\x50\x04\x1b\x37\x26\x86\x9f\x77\x0d\x48\xc5\xa3\xbc\xd1\x8e\x5c\xb2\x6d\xe3\x10\x4e\xd2\x21\xe6\xbd\x4e\x96\x0b\x07\x5a\x67\x7d\x57\xca\x0b\xd3\xc9\x7a\xe8\xb4\x67\x89\xbf\x59\xea\x80\x1b\xa0\x89\xc1\x7e\x31\x44\x31\x32\xe8\x66\xa8\xba\xb4\xdc\x9f\x1b\x59\x21\x91\xba\x68\x2c\xe9\x71\x01\xc2\xc2\xfa\x68\xda\xca\x04\x7f\x25\x0c\x47\x45\x5d\x4b\x92\x09\x0f\xc9\x47\xf4\xfd\xdf\x18\x4f\x97\xe8\xdc\xa2\x49\xf9\xef\x22\x39\xcd\x05\x5d\xce\xf6\x63\x7f\x5f\x07\xdf\x66\xc2\xf2\x1b\x26\xb9\x58\xe3\x25\x64\x13\xf7\x7c\x94\x7a\x35\xff\xec\xa1\x57\xca\xfb\x1d\x3f\x9e\xa0\x21\x06\x3f\x1c\xd5\x45\x09\xf3\xd3\x8e\xef\xaf\xec\xe4\x9f\xf3\xdc\xb1\xcc\x01\xc7\xab\xd0\x62\x20\x5f\x63\x8d\x52\xf2\x22\x3d\x3a\xfa\xbd\x4a\x73\xe4\x2c\x6e\x67\x9c\x79\x56\xf4\x29\x53\x49\x09\x96\x62\x5a\xbe\x49\x56\x92\x21\x8f\x35\x13\xac\x9f\x1c\x17\xf3\xb9\xa4\x24\x5b\x94\x05\x4e\xc1\xbf\x92\x1a\x28\x69\xdd\x19\x77\x78\x2a\x21\xab\x38\xab\x46\x7b\xa7\x85\x1c\x08\x91\x48\x00\x93\xcc\xbf\x99\x7e\xcf\xfb\xa7\xc7\x74\xb1\x6d\x70\xdb\x26\xbd\x94\x1d\xd7\xa8\xcd\x00\x66\xe5\xbc\xb9\x1a\x38\xc8\x90\xee\x07\xd2\xb7\xb1\xc7\x29\xbe\x49\xaa\x3e\x02\xd8\x6c\x86\xe3\x9e\xbb\x6c\x82\xf4\xb2\x67\x9f\x6b\x07\x07\x1b\x0c\x68\xf4\x77\xf0\xe9\xc3\xbb\xdd\x0f\x9b\x2d\x59\x02\xda\x50\x43\x8f\xc1\xd3\x82\xc2\xde\xf8\x8d\xbb\xba\xa1\x3d\x66\x68\x7f\x34\x9f\x7b\x6b\xf5\xdc\x5f\x2c\xe0\xd4\x8b\x7e\xac\xe7\xfe\x5a\xaf\x37\x9e\x41\x13\xe8\xd2\xb3\x7f\xac\xd7\xf7\x08\x4f\x0c\xce\xb1\xc7\x9f\xd6\xec\x45\xfc\x89\xcd\xb0\x3d\xfb\xc7\x7a\x7d\x0f\xe7\x70\xb8\xa5\xab\xf9\xbc\x5e\xcf\xe7\x79\x35\xce\xa6\xd3\x74\x9e\x15\x4b\x42\xd9\xfb\x42\xa9\x37\x9e\xc9\x51\x72\x7d\x07\xf6\x98\x61\xcc\x5c\x5e\x2d\xa6\xe9\x35\x7f\x85\xae\x58\x0b\x4a\xb5\x40\xf7\xc3\x66\xd7\x21\x33\xc8\x60\x5e\x19\x71\x8f\x33\x29\x22\xfe\x02\xaf\xf3\xbd\x56\x42\x8f\x6e\xf5\x40\xb8\xf8\x15\x6a\x3b\x14\x05\xf4\x31\x35\x15\x60\x3c\x2e\xa6\x05\x26\xad\xce\x67\x00\xa3\xda\xec\x91\xed\x65\xed\x71\x2c\x1d\x78\xc3\x70\x4e\xe7\x84\x09\xe4\x66\x00\xcd\x5e\x79\xf0\xec\x06\xde\x0c\x96\x39\x1d\x1e\x2c\x7b\x64\x6e\x06\xcb\x92\x9f\x07\xcc\x11\xe5\x0d\xa1\xd1\x29\xf0\x41\xf1\xc1\xb8\x19\x1c\x8f\x34\x3d\x70\xf8\xcb\x56\xef\x13\x65\x0d\x69\x25\xb4\x26\x67\x94\xa7\x06\xaa\xc5\x86\xa7\xe5\x70\x06\x17\x64\x0f\xb3\xc2\xbd\xbb\xc9\x72\x93\x27\x26\x61\xf3\x8e\x3e\x25\xbd\x39\x08\xa1\x26\xb1\xc9\x50\xb2\x9a\xa0\x3e\xcc\x7c\xa6\xfb\x9a\xfe\xe0\x92\x7a\x3d\x4e\x25\x88\x17\xd7\xfe\xb4\xfe\x09\x59\x7c\x2d\xf7\xd4\x19\x88\x2b\x7f\x7c\x7b\x96\x2d\x4b\x38\x7e\xf9\x78\xeb\xfd\x5c\x74\xb0\x3d\xf5\xa9\x87\xe3\xa2\x79\x15\xa4\x82\x82\xfb\x3a\x4d\xda\x3c\xbd\xc8\x4f\x53\x0c\xac\x85\x85\x3b\x5d\xc2\x34\xf6\x5c\x57\xbe\x78\xde\xf7\xb2\xf9\x70\x59\xbd\xef\x25\x0f\x7f\x84\x3f\x10\xfd\xf7\x80\x27\xb9\xdb\xd2\x37\x16\xe1\xf7\xfe\xb0\xd4\x70\x2f\x79\x9c\x57\x1c\x50\x3b\xbf\x96\x09\x94\xd9\x94\x6c\xe1\xb3\xe5\x1c\x6f\x72\x8d\xb6\x5d\x15\x42\xb8\xaa\x96\x33\x8e\x97\xb8\x07\x3d\x25\x5d\x0f\xc1\xf0\xfa\x98\xd5\x53\x7d\x48\xc1\xd8\xd5\x47\x21\x6d\x3b\xb1\x54\x15\xe9\xc5\xf5\x2d\x7b\x5e\x59\xa6\x61\x5e\x0d\xfd\x8a\x4b\xb7\x20\x0e\x49\x63\xd4\xc3\xf4\x0b\x6c\x72\xee\x3d\x3d\xc1\x84\x7b\x83\x04\x4e\x40\x21\xb1\x7e\xee\xc9\x8f\xa5\x34\x6c\x95\xa5\xe1\x8f\x58\x57\xaa\xcc\x66\xe9\xc2\xe5\x9d\x31\x33\xf4\x70\xc5\x88\xa0\x0c\xfd\xd7\xaa\xa0\xb4\x94\x9e\x99\xcc\xe7\xf3\xcc\xe2\x08\x5e\xa4\x97\x67\x99\x4d\x8c\x6c\xaa\x64\xc1\x2b\xbe\xe2\xe0\x6e\x1c\x8b\xbe\xc2\xb7\x33\x7e\x31\x41\x1a\x9e\x8f\x6b\xd3\xd6\x43\x0e\x5f\xd2\xd5\x10\x23\xab\x6f\x81\x5f\x8f\x4d\xcf\x8c\xda\x3b\xfb\x57\xd2\xfb\x6e\x38\xca\xe9\xcc\xc9\xc3\x79\x88\xbe\xd0\x72\xea\x0e\x4c\xaa\xbe\xb3\x66\xa1\x30\x7e\x4b\x4f\xa2\xe7\x2d\x11\x43\xf7\x16\xff\x93\x1c\x51\x62\xda\x39\x69\x9a\x51\x4a\xcd\xaf\xb6\x74\x63\x42\x61\xcb\x34\xde\x9f\x4c\x92\xdd\xfb\xdf\x99\x87\xd5\x72\x4e\x2a\x7b\xd8\x39\x15\xe3\x58\xd9\x7a\x42\x1e\x20\x35\x05\x00\x64\xd5\x12\x9e\xf6\x81\x55\x25\x9c\x0e\x5c\xe2\xd4\xb5\xda\x20\x3c\xf9\xee\x9f\x2a\xa5\x02\xe0\x7d\x92\xa9\x2f\x8b\xf9\xfb\x5e\x4d\x95\x01\x38\x18\x0a\x25\x66\x38\xd1\x98\xaf\x46\x8a\x03\x10\xd8\x76\x70\x66\x40\x49\x72\x43\xbb\xef\x67\xce\xb6\xb5\xa3\x71\xd5\x9d\x51\x61\xb3\x07\xf0\x0c\x59\x2c\x27\x18\x43\x3d\x1c\x01\x0a\xc3\x0a\x6f\x8c\xb5\x49\x43\xae\x1c\x7a\x7e\x0c\x61\x65\xe8\x05\xb4\xc7\xf2\x35\x82\x2d\xb6\x11\xa8\x90\xf2\xb2\x34\x9f\x7e\x79\xfd\xcc\x04\x20\xda\xb7\x25\x36\x4c\x68\x74\x4c\x58\x36\x5b\xd4\xd7\xc6\xc5\x07\xa7\x30\x2f\x12\x41\x93\x1a\x5a\x92\x9e\x64\xd5\x39\x08\x41\xc3\x79\x51\xdb\xec\x9d\x34\x91\x1b\x4f\x21\xce\x41\x38\x49\x9a\x87\x64\x65\x1e\x69\x78\xfa\x4f\x39\x90\x9e\x1c\x16\xc7\xe4\xd6\x08\x5b\xf0\x36\x1b\x59\xf6\xf1\x42\x21\xb6\xa5\xd3\x29\x5c\x7e\xb5\x55\x94\xa7\xdb\xc7\xaf\xb7\x35\xee\xd5\xb6\x77\x14\xf8\xc3\x63\x16\xfa\x70\x2d\xbc\xb6\xc0\xb2\xfe\xbc\xcc\x31\x73\xc6\x02\x11\xac\x2a\xda\x70\xe3\x59\xb1\xa4\x04\xd2\x54\x6a\x9e\x9e\xa7\x06\x2c\x47\x29\xe2\xe9\xc3\xf8\x55\x3c\x20\x34\x47\x5a\x2a\x49\x53\x5c\xd7\xd9\x6c\x41\xbf\xa5\xd5\xb9\x05\x46\x1b\xa1\x46\x32\x00\xf3\x93\x04\xde\x7b\x18\x90\x5b\x5e\x4b\xc5\x57\x53\xb6\x04\x1e\x99\xd7\x94\x41\xb2\x3a\x13\x73\xa8\x06\x80\xe8\x63\x06\x30\x00\x90\x3b\x86\x3b\x21\xe3\x36\x08\xc1\x9c\x22\xa3\xf6\x4b\xfb\x31\x59\x47\x19\x86\x70\x77\x10\x55\xe0\x7d\xcd\xf5\x35\x24\xdd\x7e\xb2\xe1\xad\xdb\x86\x46\x82\xd2\x88\xa9\xbf\x61\xd2\x0e\x13\x16\xb6\xbd\xce\x96\xf4\xdc\xf6\x0f\x49\xdc\x5d\x9b\xe2\x94\x18\x0d\x42\xca\xe9\xa8\x8f\x85\x83\xf9\x7f\x9b\x24\xcf\x10\x34\x26\xc1\x63\x9f\xce\xe8\x27\x66\x47\x98\x7f\x96\x2b\xbb\x17\x12\x3d\xc9\x3f\xba\xfc\x14\x31\x4c\x49\x20\xbf\x1d\xa6\x88\x9a\x71\x69\xe7\xf5\x3e\x3a\x12\xf7\x20\x39\xcb\x0a\x51\x1a\xa7\xe5\x20\xf3\x6f\xb1\x1d\xd4\x01\xb3\x9a\xe9\x01\xe7\xe8\xe3\xd1\xa9\xe0\xec\x9c\x16\xc5\xd6\xe9\x74\x1b\xa4\xd3\xc9\xf1\xcf\x9b\xba\x15\x88\xcc\x80\x2d\x48\x98\xe9\x24\xc7\x1c\xe1\xf8\x38\xe2\x97\xd1\x20\x19\x91\x0b\x16\x3c\xa2\x36\x23\x8b\x82\x49\x2f\xff\x56\x6b\x42\xa9\x39\x61\x61\x1e\x9b\x9c\x2b\x40\x6f\x28\xe0\xc5\x36\xcb\x38\xae\xfc\xcd\x70\xb3\x9e\x32\x37\xd9\x9c\xdd\x9d\xff\x85\xff\xd3\x5f\x8d\x33\x74\x65\xd2\x33\x62\x39\x8b\x85\x8f\xcf\x2f\xe7\x09\x97\x96\x29\xb1\xa4\x26\xbe\x9c\x64\x39\x78\x74\x94\xf4\x41\xa6\x46\xaf\x47\x94\xb8\xd3\xf3\x34\xf9\xe3\xef\x37\xb1\xde\x92\xcd\x79\x6e\x90\xf7\x81\x90\xdd\x5b\x01\x22\x20\xbf\x3b\x79\xdf\xb3\xdb\x65\xe5\x89\x21\x48\x8f\x43\x93\xd3\xb9\xba\xd5\x96\xc9\xbb\x86\xf6\xc8\xf8\x4d\x1a\xe5\x9b\x0b\x3b\xa7\x88\x69\x09\x68\xde\x12\x53\x7a\x8a\xee\x6e\xe4\xf1\x8a\xd9\x1a\x07\x22\x3b\x64\x98\xf6\x13\xb6\x83\xbd\x49\x7a\x36\xc9\x98\x54\x91\x72\xa2\x10\x5e\x04\xa4\xb6\x34\xd9\x98\x25\xb8\x4b\x8d\xc4\x42\xb1\xbb\x46\x40\x6c\xf0\xc6\x04\x0e\x5e\x65\xd3\x93\x2d\x2e\x58\x80\xb9\x7c\x3c\x84\x08\x95\x10\x01\x0b\xaa\x84\xeb\x23\xbf\xf0\xa5\xb3\x10\x13\x0a\xe2\x67\x86\xac\x1b\x3a\x52\x55\xb4\xda\x42\xac\xb8\x16\x7f\xd9\xd8\xd9\xd8\xfb\xcb\xc6\xbd\x8d\xbd\x8d\xf7\xef\x97\xf7\x77\xbf\xbf\xbf\x31\x80\xff\x33\x7f\xed\xc0\xe7\xa1\xfd\x6b\x17\xfe\xda\xb2\x7f\x7d\xb5\x31\x70\x28\x23\x18\xfa\xfe\x9b\xef\xbe\xdb\xf8\xf4\x49\x89\x53\x54\xe0\x63\x08\x62\x48\x76\x95\xaf\x2f\x64\xfb\x8f\x6e\xa1\x68\x4d\xe6\x6f\xe5\x11\x40\x3c\x94\xee\x66\x1a\x88\xd6\x45\x0a\xa2\x5c\xf2\x5d\x6f\xd3\xc8\x27\x88\x81\xbb\x06\x38\xe3\xcd\x70\x84\x29\x6f\x6e\x45\x9f\x91\xc3\xd7\xc4\x8a\xc0\x1b\xff\x3b\x18\xcf\x66\x7a\x9a\xd6\x51\x4c\x86\xe3\xeb\xf1\xf4\x76\xec\xf7\xdd\xee\xce\xce\x0e\x96\x00\xd8\xf9\xe0\x1f\x9b\xde\xb1\x1a\x9e\xf0\xc1\xf4\xb9\xe4\x5f\x0b\xf2\x0d\x1c\x77\xcc\xec\x55\x45\xb9\xdc\x3e\x7a\x66\xc0\x9b\x9c\x72\x97\x19\xea\x75\x4e\xe0\xc0\x39\xd9\x55\x3c\xe7\xf7\xcc\xb4\x30\xce\xa7\x3c\x9a\xcb\x40\x61\xc5\x2d\xaa\x12\x81\x03\x7a\x7d\xf2\x5a\xb5\x2d\x4e\x4e\xc2\xb5\xf9\x6d\x22\x45\xda\xbf\xff\xcd\x37\x03\xac\xf1\x80\xff\xbf\xf5\xcd\xa6\xac\x4b\x28\x5a\xb0\xc8\x20\xd7\xc1\x85\xe4\x52\x62\x0c\x1c\x42\xd8\x66\xb8\x48\xb1\x7e\x5d\xf6\xd9\x39\x5c\xef\xa5\x49\x83\xcf\x3a\x43\x23\x5c\x9b\x67\x8c\x8c\x1b\xdd\x2b\xe2\x8d\x92\xb2\x23\xe4\x8f\xcc\x94\x38\xc9\x88\xe1\x95\x98\xd4\x3c\x6c\x67\xb7\x49\xd2\xc8\x31\x3b\x25\x35\xc6\x44\xb2\xd8\x76\x30\x57\xcb\xd1\xac\x2c\x8c\xbc\x98\xf2\x35\xe7\x63\x52\x16\x5c\x61\x64\x52\x21\xa7\x12\x17\xbb\x6b\x42\x94\x2b\xb3\x65\x4a\x53\xf4\xf8\x22\xdd\xcf\x18\xcd\xdf\x04\x8b\x9d\xb2\x25\x11\x9e\x45\x41\x52\x66\x24\xff\xf6\xfa\xa7\x47\x03\xf8\xf7\xeb\x9f\x7e\x7a\x04\x1f\x50\xd2\x84\xa7\xf1\x26\x7d\x4a\xe5\x23\x95\x84\x41\x98\x04\x8f\x73\x4e\xbb\xab\x30\xad\x39\x25\x1c\xd6\x8c\x81\x25\xa8\x0d\xa5\x54\x75\x31\x3e\x4f\xfe\xb0\xbb\x8b\xa0\xb6\x6a\x90\x44\xc9\x50\x15\x9b\xd2\x7f\x16\x4b\x9a\x0f\x5a\xb0\x8c\x06\x8d\xdd\xb3\x71\x72\xd7\x89\xcd\xac\x62\x36\x9c\x19\xbe\x3b\x1b\xc8\x56\x0c\xb0\x51\x26\x35\x11\x26\x66\xd2\xb9\x75\xa1\xa3\x87\xee\x79\xbe\x58\x50\xd6\xbb\xa4\x9a\xa5\xf0\x92\x61\x17\x5f\xf2\x13\xc4\x54\x2e\xb9\x9a\x9d\x65\x96\xf6\x86\x89\x92\x90\x3a\x06\x8b\x6b\xe4\xea\x5c\xfc\x65\x6d\xea\x77\xba\xec\x08\x4f\x47\x45\xe2\x0c\x53\x79\x53\xc6\x3e\xae\x1d\x58\x90\xad\xcf\x16\xf5\x31\xb4\x63\x0a\xe8\x59\x7c\xa0\xd9\x50\xd6\x6c\xc8\xfc\x7f\x48\x95\x02\x6f\x81\x58\x07\x5f\x87\xe1\xc5\x91\xd0\x6e\x90\x5c\x36\x5c\xd6\x92\xeb\xa8\x2d\xad\xac\x47\x26\xe0\xa1\x45\x7f\x48\x11\xf8\xb7\x46\xac\xfd\x16\xa4\xeb\xcf\xd8\xa7\xdd\x6a\x71\xc0\x3f\x0e\x87\xea\x50\x8b\x14\xaa\x42\x17\xd3\x65\x35\x9c\x61\xb5\x8a\x21\x26\x42\x1a\x62\x31\x82\x5b\x08\xa0\x4d\x94\xac\xfc\x49\x2e\x8b\x58\x13\x63\x9b\x8a\x62\x6c\x63\x55\x0c\xbf\x50\x85\x3a\x21\xd0\x4b\x96\x5d\xa5\xcd\xe9\xec\x2c\x2d\xe9\x67\x92\x46\xab\xe4\x8f\x1f\xad\x44\xd2\x73\xa3\x53\xd7\x09\x3e\x2b\xe0\xc1\x1d\x2e\xc3\xf8\x66\x9b\xd1\x29\x79\x93\x3e\x19\xdd\x3e\x17\x78\xb0\x72\xb3\x0e\xa6\x56\x26\xec\x11\x7a\xe5\xe0\x0f\xd4\x59\xcd\x9e\x7a\xd2\x9c\xa1\xbf\xcc\xc5\xeb\xc0\x90\x1c\x64\x06\xe0\xcd\xc4\x54\xce\xfb\x7c\x53\x79\xc3\x55\x78\x1a\x53\x79\xb3\xe6\x54\xde\x98\xa9\xbc\x69\x4e\xc5\x41\xf6\xa7\x82\xc9\x8c\x86\x69\x95\xa7\x70\x56\x66\xa3\xfc\x74\x09\xe7\x1f\xfe\x1e\x82\x14\x82\x32\xc0\x72\xb6\xfe\xeb\x6f\x6d\x3d\xf2\x21\x26\x50\xda\xc7\x31\x93\x7d\x33\xa6\x0e\x20\xe0\x7a\x53\x97\x48\x7f\x88\x40\x42\x95\xe6\x1c\xc6\x94\xd6\x73\x48\xfa\xd6\xa1\x50\xe8\xe7\xc1\x91\x92\x7d\xc3\xca\x49\xe2\x50\x1a\xa1\x59\x1e\xdd\xe8\xea\x28\x41\x17\x27\x03\x87\x59\xcd\x82\xdb\xe7\x57\x66\x17\xd9\xfb\x1e\x7a\x6e\x64\xd5\x82\xdf\x30\x34\xaf\xe1\xe8\x1a\xa4\x41\xcc\xc1\x68\xbc\xc8\x6b\xca\xc2\xdc\x1c\xca\x9e\xae\x32\x3b\x05\xac\xa7\xa8\xfb\xb5\xee\x1e\x5c\xcf\x37\x5c\x97\x51\x31\x5d\x5f\x7f\x1a\x91\x8d\x6a\x34\x41\x41\x0b\xbd\x26\x5e\x02\x74\xe4\xc7\x38\x08\x7c\x45\x66\x16\xaa\x06\xe4\xab\x84\xd8\x97\x68\x3a\xd9\x1e\xb1\x25\xc6\xda\x32\x8c\x6e\x08\xae\xcf\x27\x66\x0d\x0d\x7f\x87\x95\x84\x3b\x53\x43\x85\x56\x2f\x96\x53\xf2\x4e\x4a\xad\xc9\x2b\x36\x5f\x24\x58\x1e\xea\x56\x33\x6f\xf2\xd4\x96\x59\xf3\x6c\x44\x50\xec\x7f\x37\xdc\xfd\x06\x55\xe6\x69\xb2\xfb\xad\x2f\x5c\x6d\xda\x19\x93\x43\x21\xc8\x37\xcd\xb5\x49\x9a\x8b\xe1\x8a\xfb\x06\x73\xb4\xb7\x2f\xe9\x99\x6f\xa0\xb8\xe8\xbc\xcb\x8e\xf0\x31\x90\x9a\x54\x86\x46\xf0\xb5\xba\x66\x2b\xa0\x10\x23\xb9\x2c\x31\xd4\xa7\x5d\x1c\x68\x60\x4a\x1d\x3e\x93\x98\x62\x0b\x33\x12\x2a\x80\x03\x01\x87\xe7\x38\x3c\xdc\x29\x5f\xb7\x54\xe2\x64\x07\xc9\x56\xe4\x26\xd9\x78\xf7\xfe\x6d\x5f\xc4\x11\x7e\xf1\x5a\x1d\x6b\xc4\xec\x7d\xaf\xd2\xba\x6b\x55\x3e\xcb\x7b\x0b\xe2\xf1\x5a\xa2\xdc\x88\x92\xa2\x21\x94\xc7\x87\x07\xb6\x16\x02\xe5\x75\xdd\xbd\xaf\xd0\xbf\xc8\xcb\x62\x8e\x2f\xc2\xdb\x62\xff\x97\xde\xf1\xe1\xeb\xe7\x18\x14\x4b\x06\xa7\xe1\xfd\x6f\xbe\xe5\xb7\x18\x47\xa5\x36\x1e\xaf\x46\xd8\x52\x43\xa3\x57\x12\xe5\x3a\xa8\x06\xbe\x0e\xc8\xa0\x89\x47\x76\x78\x92\xc2\x13\x77\xfd\xfb\x3d\x70\xe9\xe8\x6d\x3c\xce\xfe\x94\xbe\x59\x26\x47\x68\xb6\x7d\x5e\xcc\x8b\x8d\x41\xb2\x71\x88\xac\x12\x0e\x9a\xfc\xfd\xa4\xcc\x32\xfc\x08\xbf\x3c\xcf\xe6\x53\x6a\x72\x2c\x54\xeb\x54\x24\xbd\x19\x34\x61\x35\x5f\xa8\x88\x14\xdd\xa7\x70\x2e\x42\xb8\x91\xde\x9b\x4e\xac\x3f\xb5\x5b\xab\x69\x77\xe1\x29\x8c\xa9\x53\x22\xeb\xeb\x4a\xa9\xc1\xf1\x5b\xe4\x57\x58\x16\xce\x1f\x74\x56\xb0\x18\x75\xbb\xb7\x78\x3a\xc7\x24\x19\x39\x7a\x09\x44\xf5\xb1\xfe\x18\xf6\x3d\xa9\x70\x80\x9b\xe7\xb3\x18\x19\xee\x7f\xbd\x33\x48\xcc\xbf\xa2\x76\x06\x37\xd6\x2d\xed\x0c\x67\xc5\x2c\x43\xb3\x69\x35\x64\x27\xd1\xcf\xac\xdf\x45\xf0\xdb\x99\xb5\xb6\xb9\x3a\x63\x8e\x68\x6c\x1d\x5d\xb6\xcd\x52\x35\x38\xdb\xcd\xbe\xfc\xb0\xbb\xf5\x28\x7f\x73\x6c\x6a\x34\x55\xac\x21\x10\xe1\x02\xb9\xaf\xed\xca\x72\x1d\x34\xe5\xa8\xad\x54\x41\x0b\x06\x61\x0c\xdc\x9a\x60\x84\x95\xd4\xc7\xb9\xad\xcf\x8b\xcf\x1d\xf6\x29\x1b\x00\x3a\x5b\x7a\xc9\x32\x0b\x2f\x02\x80\xb2\xaf\xaa\x62\x72\x26\xf6\xd9\xa4\x80\x75\x67\xb4\xf4\x0b\x3c\x75\xe7\x73\xf5\x93\xb9\x62\x39\x52\x94\x18\x14\xbc\xb3\xec\x2a\x35\x5f\xf3\xdb\x9b\xdc\xd7\x04\x90\x8b\x42\x10\x70\x26\x14\xa1\xa1\xf0\xb0\x02\x8b\x31\x1d\xd9\x52\x7d\xce\xdb\x7f\x20\xda\x1d\x31\x74\x7b\xc0\x9f\xd0\x98\x27\x28\xbc\x18\x50\xd6\x47\x55\xa6\xc1\xaa\x8f\xb0\x6f\x35\x20\x8b\x7e\x60\x6c\xfa\x6e\xbf\x78\xbc\xf3\xfd\x56\xc4\x27\xc8\x7e\x3a\x22\x5d\x73\xa2\xb6\x5b\x19\x49\xfe\x22\xf1\x6c\xe8\x75\xf2\xf3\xc6\x5e\xb2\x11\x78\x4a\x6f\x0c\xb4\xf5\x64\x43\xbd\x08\x9f\x61\x6b\x8c\x1c\x88\x35\xf9\x3d\xfe\xf8\xbe\xf7\xfb\xc3\x67\xcf\x5e\xbe\x7f\x3f\x7f\xdf\xdb\x70\x6d\x3e\x19\x02\x9c\xa5\x57\x43\x5e\xc4\xa1\xa1\x87\xb5\x09\xd1\xfa\xcd\x61\x24\x0f\xe9\x5a\x15\x1b\x7d\x9e\x5e\x25\x12\x10\x4e\x95\x16\x1e\x1f\x1c\x0d\x92\x97\x47\x07\x83\xe4\xd5\x73\xda\x9b\xfd\x57\x47\x8e\x40\x47\xd9\x09\x95\xed\xe1\x8c\x00\xc9\x72\xe1\x1d\x22\x27\xc7\x33\xb5\x59\xe4\x31\x32\x87\x59\x4a\x5a\x66\xc3\x13\xfc\xf4\x99\xb9\x0a\xf0\x11\xb8\xde\x6a\x15\x04\x24\x44\x96\x97\xc9\x13\x24\x16\x17\xa6\xb8\x95\xb8\x57\x3b\x96\x3f\xf4\x6c\x46\x7e\xad\x5c\xf1\x16\xa9\xd4\x4c\xea\x54\xec\x5f\xe2\x36\xf3\x39\x74\x0f\xa1\x77\x90\xf5\x05\x62\x86\x95\xda\x04\x25\x92\x06\x85\xd5\xf4\x0e\x29\x54\x36\xf1\x33\x7a\x08\xac\xbc\xbe\x81\xa9\x51\x09\x8c\xa1\x63\x1e\xe6\xa9\x86\x5b\x66\x90\x7c\x35\x48\xbe\x1e\x24\x70\xf9\x7e\x2b\xae\x40\xcf\x49\xb9\xc5\xa5\x6e\x79\x3c\x22\x94\x79\xf3\x91\xd1\x66\x80\x74\x4d\xb0\x68\x36\x3d\xee\xea\xf2\x5a\x3d\x1a\x67\xf9\x04\xd7\x9f\xa1\xcb\x50\x6c\x77\x9e\x0f\x51\x61\x69\x80\x59\x3f\x1b\xb4\x02\xce\x49\x97\x79\x99\x71\x9c\x6c\xce\x76\x0c\x86\xf0\x95\x5d\x2c\x0c\x77\xf9\x2b\xde\x6e\x12\xf4\xb3\x4d\xd5\xb3\x6e\x76\xc3\xd9\x39\x35\x40\xac\x75\xcb\x79\xdd\xec\xb5\xd6\xbc\xf1\x78\x30\xaf\x75\x78\xdb\x61\x71\x60\xf4\x05\x1c\x32\xf3\xbf\xfd\x8d\x17\xbc\x82\x35\x9d\xbb\x37\x21\x8e\x46\x9e\x7c\xbb\x5b\x5b\xdf\x87\xa5\xd3\x5b\x0d\x06\xe2\x76\x76\xcd\x0f\xac\x72\x39\xa7\x98\x6b\x76\x7f\xc9\xf1\x35\x69\xab\x36\xa7\x23\xe7\x0e\x88\x75\xc5\x26\xec\xaf\x65\x6f\x14\x34\xbf\xb1\xd3\x09\xbe\x3c\x36\x2a\x10\x93\xb0\x58\x53\x81\x3d\x37\x5c\x6c\x35\xd6\xff\x98\x62\x10\x19\x45\x92\xb0\x47\x0e\x6a\xb5\xcd\xd0\x4e\x71\x0f\x83\x43\x57\x20\x40\x84\x37\xc2\x97\x6c\xa9\x8b\xd4\x56\x99\xe6\x4f\xfc\x18\xe3\xa2\xef\xd7\xe6\x0a\x35\xb0\xa4\x10\x4e\x72\x91\xcf\xf0\x84\x65\xb3\x74\x1c\xb7\x77\x59\xfa\xb3\xeb\x68\xb2\xb4\x89\x6f\x9e\x49\xa0\xae\x4a\xd2\x5b\x26\x68\xfb\x78\xa2\x15\xde\xe4\x12\xd4\x6d\x23\xf3\xa8\x17\xef\x6d\x1a\xf1\x9e\xb5\x7e\x6c\x72\x2a\x9d\x00\x40\xe2\x1e\x29\x9c\x29\x31\x85\x47\x68\xa4\x06\xfc\xdb\x51\x1a\xdd\xb9\xff\x97\xd4\x7e\x3b\xa9\xb9\x85\xbc\x01\xad\xb9\x4e\x7f\x6b\x62\x13\x6a\xa3\x1b\xfc\x6f\x47\x6d\x54\x51\xfe\xff\x52\xdb\x6f\xa7\x36\xb7\x90\x37\xa0\x36\xd7\xe9\xef\xc3\xda\x88\xd8\x2e\x3e\xbb\x8c\x48\x60\xdf\x60\x81\xed\x8a\xa8\x8c\x6d\xdc\x34\x0d\x33\xbc\xf8\xe2\x0c\x33\x13\x1e\x73\xf3\xc7\x42\x6f\x59\x9f\x0c\xbf\xeb\x0d\x92\x77\xf6\x53\xaf\x4c\x2f\x5d\x18\x06\xab\xec\x6c\x36\x5a\x33\x14\x09\x6a\x93\x14\x44\x58\xeb\x10\x64\xbd\x59\x09\xc7\x16\x9b\x79\x3e\x61\x23\x2e\xd7\xe0\x7a\xcf\x83\xbe\xef\x91\xd0\xf2\x1e\x47\x56\xfe\x5a\x2c\xb1\xa0\x21\x17\x29\x0e\xe4\xab\xf3\xf5\x25\x71\x17\xae\xd3\x65\x06\xac\x24\xbe\x57\x87\xf4\x92\x9a\x7a\x7e\x9d\xd8\x31\x23\xf8\x14\xcb\x7a\xb1\x5c\x5f\xc1\xa8\x90\xe9\x12\x2b\xdb\xb0\x71\x91\xdc\x34\x6c\x80\x0f\xc8\x97\x43\x71\x07\xf9\x3c\xab\x83\xfa\x25\x7c\x66\xa1\xa9\x5b\xc9\xb0\x33\xfd\xd8\x93\xa5\x00\x5a\xcd\xa6\x43\x94\xc4\x87\xb3\xe5\xb4\xce\x17\xd3\xfc\x06\x1c\x57\x61\xb1\xdb\xd0\xfa\x39\x78\x56\xdf\x48\x3a\xbf\x64\x92\x4d\x81\xea\xd0\x3f\x08\x5f\x28\x84\x81\xf8\xf8\x53\x22\x1d\xcb\x2a\xac\x74\xcc\xab\x4a\x0d\x31\x38\x98\xcd\x66\x98\x4c\xc4\xd4\x26\x21\x31\x39\x14\x8f\x91\xdf\xfd\x2d\x0e\x56\xe3\x3c\x19\xa6\xe5\x9d\x74\x92\xe7\x87\x5c\xca\xec\xd6\xb6\xd4\x98\x59\x03\x9f\x09\xf7\x92\xa7\x04\x38\x66\x52\xad\x9b\xf6\x54\xe5\xd5\x50\x0e\xc7\xd5\xed\xbc\x8b\xc8\xe5\xb5\x11\x65\x40\x6e\xe3\x14\x7a\x5d\xc1\x76\xd5\x5c\xd7\x87\xd5\x61\xa1\xc9\x65\x52\x8c\x97\xa8\x6a\x07\x74\x3a\x23\x6c\x6d\xa2\x34\x89\x6c\xfb\xf8\x91\xbe\xf9\xf8\x71\xaf\x25\x62\xd9\x76\x58\x27\x5e\x7d\x39\xaa\x96\xa3\x7f\xf6\x18\x75\x09\x67\xfd\xa5\xce\xa7\x58\x96\x9b\x43\xce\x4d\x5d\xa5\x74\x32\xe1\x52\x89\xd5\xd9\x36\xa6\x61\x1b\x97\xf9\x28\xdb\x5e\xce\xed\x67\x1b\x10\x9e\x52\x6f\xce\x68\x87\xd9\x5c\xaf\x28\xb6\xe9\xd4\x98\x3e\x74\xc4\xeb\x72\x74\xb4\x1c\xb5\x54\x51\x28\x46\xb4\x1e\x65\xf5\x51\x42\xa2\x55\x42\x95\x7d\x87\xcc\x20\xb1\x18\xb0\x6b\x94\x46\x89\x2b\x64\x73\xf1\xd0\x28\x26\x08\xec\x85\x51\x92\xab\xfa\xbf\xe2\x34\x25\x1e\x66\x29\x95\x44\x5f\x8e\xcf\xb2\x89\x08\x61\xe8\x4d\x06\x7b\x31\x2f\x92\x79\x46\xeb\x43\x85\x51\x8b\xb2\xbc\xc6\xca\x4b\xcb\x9a\x16\x4f\xcc\x03\x6c\xa0\xf2\x8b\x13\xc5\xca\x18\xc3\x60\x41\x91\x6d\x5c\x73\x22\x01\xf1\xd9\x41\x01\xac\xb9\x7e\x5b\xd0\xec\x91\x69\xe0\x97\xb5\x76\xe9\x68\x99\x42\x25\x41\xb4\xee\xcd\x19\x1c\x6c\x29\x95\x99\x2a\x0f\xc1\xd0\xed\x39\x30\x21\xf0\x54\x73\xfa\x83\x8b\xb3\x0f\x9a\xc1\x6f\x1c\xf7\xce\x43\x6e\xda\x9c\x0f\x66\xf3\x8e\xec\xf6\xb0\xaf\x1e\x87\x6a\x64\x54\xfc\x55\x0c\xab\x95\xac\x62\x8a\x9b\xab\xf7\x2a\xcc\xfd\x2d\x3f\x73\x69\xbe\xa5\x5d\xb8\x4a\x0d\xe1\x15\x29\xb7\x8b\xc3\x8b\xbe\xf9\xc9\x15\xce\x27\x73\x8a\xfc\xcc\x0c\xe7\x02\x2e\x7d\x51\x44\xe9\x60\x92\xe6\x06\xa8\x24\x8c\x76\x60\x5d\x64\x8e\x11\x1b\xd8\xb1\x54\x2e\x46\xf3\xa3\x29\x4c\xaa\xc8\x5e\x67\x49\x74\xdf\xbe\x93\x0e\xb8\x01\xef\x3e\xb8\x5c\x89\x91\x16\x5b\x8b\x65\x75\xd6\xb7\x83\x7a\x27\xe8\x17\x7d\x70\x39\x56\xe7\x76\x4b\xbd\x0c\x00\xad\xbb\xdc\xfb\xee\xe3\xa2\xcc\xd0\x21\xad\x9a\x5e\x03\x13\x3c\xcd\xb1\xb8\x1b\x50\xc3\x45\x9e\x9a\x0a\x62\x76\x84\xfe\x66\xe7\xea\x6b\x5c\x56\xaf\x3f\x92\x3b\x59\x18\x1e\xb6\xae\xa0\x49\x5f\x79\x17\xdb\xe9\xbc\xa9\xbd\xa7\x73\x4e\xe9\x29\x2d\x39\x53\xaa\xfc\x61\x33\x62\xe6\x00\x1a\x7b\xda\xec\x93\x6a\x2f\x18\x70\x9e\xfc\x90\xec\x78\x80\x5f\x60\xe4\x95\x99\xc5\xa4\x09\x97\xe0\x55\x58\x64\x2a\xeb\xe7\xcd\xea\x82\xcc\x14\x95\x8b\x42\xcb\x41\xb2\x87\x10\xbd\x32\x8c\xe3\xbe\x29\x86\x07\xf7\x03\xd5\x39\xb6\xcb\x85\x0c\x90\xcf\x03\x3a\x5a\x5e\xcf\xc7\x80\xeb\x9c\x76\x6c\xcb\x66\x1b\x61\x5e\xcb\x0f\x36\x49\x07\x23\x06\x04\x90\xa2\x31\xf7\x10\xfa\xd9\x62\x3a\x44\xf4\x9b\x34\x67\xfe\x86\xc4\xb6\x30\xd3\xc3\x49\x6d\xc5\x98\x68\x46\xf5\x01\xcb\x51\x5e\x97\x98\x1b\xd7\x30\xf0\xaa\x2a\xc6\x79\xca\x75\x0a\xc8\xa1\x84\x98\xb7\x0a\xf3\xeb\xa6\x5a\x4c\xfa\x89\xf9\x49\x0f\x2c\xf5\xce\xd5\x62\x29\xa6\x81\x4b\xc6\x1e\x8d\xb6\xfa\x1d\xaa\x74\xd5\x62\x93\xa3\xd6\x28\xe3\x67\xb7\x5d\x83\x56\x92\x36\x33\x8e\x91\xb3\xd4\xad\xd4\x88\x31\x65\x5b\x8c\x68\x88\x6b\xcc\x4f\xd1\xcf\x0d\xfb\x46\x51\x86\x84\x4e\x0c\xd0\xc8\x67\x19\x92\x87\x6c\x14\x6d\xb1\x4d\xcd\x2c\x20\xe9\xc6\xbb\xc4\xac\x51\xf3\x5e\x2d\x7e\x66\x85\x81\x34\x2e\x40\x62\x82\x9d\x06\x11\xa5\xca\xa6\x17\x99\xc4\xef\x71\x55\x69\xe1\x96\x89\x23\x75\x22\x5e\x57\x95\xc3\xd4\x07\xa8\xb2\xfa\x98\x31\xe9\x3b\x8c\xc9\x28\x91\x63\x4d\x0e\x93\x9e\x1f\x7b\xbf\xcb\x3f\xf4\x55\x99\xa0\x1b\x9c\x61\x3a\xc2\x6e\x0d\x28\x35\x05\xce\x73\x4a\x63\x01\xfb\x1d\x63\xa1\x91\xbc\x16\x1f\x94\x4a\xea\x23\x5c\x66\xf0\xbc\x96\x85\x34\x25\x5f\xcd\x90\xef\x3e\x6c\xe1\x02\xa4\x35\x03\xf7\xaa\xd9\xc4\x77\xa6\x89\x8a\x9c\x68\x62\xd5\x8d\x3e\x92\x3f\xd6\x2f\xef\x65\x06\x0f\x5b\x7f\x08\x92\xf1\xdb\x91\xee\x74\xaf\xf1\xce\x5a\x25\xf0\x81\x80\x81\x68\xff\xd9\x45\xdc\xb6\x34\x4c\x97\x26\x71\x3e\xff\x23\x15\x8a\x5f\x17\x97\x07\x54\xda\x48\xfe\x3e\x42\x6f\x16\xfb\xd7\x71\x76\x55\xef\x5b\x8f\x0a\xaf\x74\x71\xb3\xc0\x3e\x0b\xd3\x36\xff\x79\xe5\x8a\xbb\x68\x33\x11\xb2\x05\xb2\x80\xe3\xc2\xa0\x33\x8d\x49\xe8\x5a\x27\xb3\x14\xde\xc5\xf0\xbf\xca\x38\x47\x51\x9e\x6c\x71\x92\xb2\x45\x11\x90\x93\x9f\xa5\x15\xaa\xb2\xf2\xb1\x15\x7f\x8d\x53\x08\x65\x75\xe5\x27\x1e\xa5\x09\x04\x0c\xc9\x2b\x4c\x62\x0a\x26\x13\xa9\xab\x55\x66\xf0\x94\xc7\xcf\xa8\x07\x73\xfa\x1c\x21\x01\x9d\x62\x8a\xa7\x85\x23\x82\x28\x8c\xa9\xa4\xa6\xd9\xe4\xd4\x06\x2b\xc6\xf2\x8e\x7d\x69\x2a\xd6\x38\x3f\x7f\x1a\xa5\x98\xab\x31\x90\x08\x50\x29\x87\x2b\x43\x2a\x39\xb8\x32\xe4\x39\xef\x77\xe3\x72\x0f\xa6\xf4\x31\x1c\x04\xf8\x89\x67\x58\xb9\x20\x0e\xc1\x9b\x94\x7e\xa9\x69\x75\x99\xce\x39\x92\x13\x28\x6a\x89\x97\x94\x2d\xb6\x0f\x3f\x74\x22\x07\xcc\xa2\xee\x55\x62\x6e\x46\x37\x55\xe8\x94\x8f\x72\x79\xf5\xf0\xe2\x09\xbc\x92\x32\xa5\x96\x1c\x78\x82\x7f\x30\x6e\xee\xde\x3b\x76\x53\x26\x8f\x5d\x66\x44\x68\x44\x4c\x89\x2b\x55\x80\x1e\x00\x18\x67\x92\xee\x97\x2f\x5c\x97\xe6\x77\x81\x4e\xaf\x70\x2a\xb6\xb6\xe8\x06\x1b\x12\x40\x43\x9e\x42\x57\xb2\x47\xc5\x14\x1f\x42\x97\x85\xfc\x7c\x24\x0b\x2d\xe5\xf6\xd9\xa6\x9a\x19\x1d\x0b\x02\x83\x97\xcb\x0c\xef\x50\xc1\x8f\x28\xc6\xb5\xc0\xe4\x04\x98\xfa\xbe\x0e\xe9\xc2\xe0\x30\x9b\x9a\x31\x18\x01\xda\xc4\x71\x5a\x52\x5e\x0f\xd8\x31\x5a\x58\x14\x2c\x7e\x7f\xfc\xfc\xd9\x21\x07\x6f\x91\xa1\x73\x6e\x10\x98\x62\x8d\xbe\x92\x96\x03\x3d\x9a\x60\x33\x08\x75\xf4\x2a\xba\xc4\x72\xec\x1c\xe4\x45\x70\xce\xd2\xc5\x22\x9b\xcb\x83\xc2\x85\x1c\x22\xff\x50\x75\x91\x59\xd1\xf4\xaa\x10\xfa\x97\xbb\x4c\xdc\x67\xd0\xf9\x04\x4e\x6b\xb9\x9c\x66\x92\xa5\x83\x4b\x9c\x60\x44\x34\x6c\x9f\xd9\x4e\x93\xd3\xbf\x2c\xa8\xec\x91\x50\x25\x17\x19\xa7\xa9\x24\x75\x7a\x9a\xf4\xae\x86\xd0\xb8\xc7\x07\x8b\x76\x9f\xfa\xd1\x88\x86\x32\x38\x91\xba\x0d\x47\x62\xa6\x06\x4f\x48\xa2\xa8\x89\xd5\xac\x73\x44\x92\x9c\x28\xa6\x21\x71\xba\x98\x9b\x33\xdd\x7a\xdc\x30\xe2\x26\xa3\x64\xa3\xe4\x88\x48\x7c\x07\xe3\xa0\x0c\x4d\x01\xf6\x3e\xb1\x50\xa6\x69\x9b\x89\x9a\xa3\x47\xd9\x79\x95\x75\x01\x46\x38\x08\x68\x48\x23\x44\x9e\x25\xd1\x45\x67\x41\xc7\x26\x05\x37\xa9\x17\xf0\x45\x5a\xf9\xd4\x18\x39\x1e\x52\xbb\x0a\x68\x48\xb8\x0d\xd3\x0f\xf2\x2d\xe0\x8d\x57\xf9\x0c\xae\x1d\xf1\x7d\xa7\x8c\xfe\x88\xc6\x4e\x28\x5e\x4a\x2d\xb6\x4f\x52\x95\x1f\x5b\x1f\x50\x63\xd2\x34\x0a\x14\x77\xf6\xb9\x85\xf0\x4f\x60\x77\x22\xd3\x59\x7e\x72\x94\x65\x72\xa2\x4d\x75\x38\x9f\xaf\xda\x6f\x11\x40\x8e\x8b\x3e\xe3\x64\xe0\x24\xbf\x0a\x34\xca\x44\xc2\xf4\x5b\x89\x03\x71\x51\x60\xa6\xbf\x6b\xed\xd4\x4e\x31\x5d\x93\x09\xe9\x1a\x0a\xa4\xcd\xe2\xd2\x8f\x48\x17\x68\x3b\x78\xed\xa3\x41\x07\xe8\xea\x22\x9f\xf8\xd2\xa5\xec\x57\x50\x1f\x40\xad\x43\x50\xff\x9e\x5e\x13\x63\x8c\xc1\x4f\x27\x43\x2e\x7e\x3d\xa6\xfa\x5e\x42\x9a\xb4\x05\xf2\x70\x75\x5c\x40\x97\x9b\xc7\x16\xfb\x14\xd6\x67\x5f\xab\x98\xed\x9b\x57\xdb\x8b\x55\xb0\x8b\xac\x00\x71\x1a\x7d\x87\xde\x47\xa9\xbc\xae\x77\xee\xd7\x5f\x93\xef\x76\x34\x60\x7b\x35\xa2\xcb\xe3\x80\xfc\xc6\x29\xa1\x50\x56\x62\xb2\x01\x4e\x97\x4e\x3e\xc5\xca\x1b\xd2\x8c\x55\x7b\x57\xba\xa7\x2d\xf1\x6f\xfb\x3e\x5b\x81\xb6\x8c\xf6\x71\xd3\x60\x70\x20\xa3\x53\xbc\x12\x1b\x94\xe4\x8e\x1e\x17\x45\x39\xa1\xe4\x18\x6e\x3c\xfe\xe9\x95\xb9\xbd\xf5\x78\x2c\x7b\xf4\x45\x3e\x73\xd3\x9b\x17\x13\x3e\x6a\x29\x27\x9e\x37\x5c\xc1\xdd\x82\x3c\x1c\xa6\xed\x10\xb8\x74\x83\x06\x63\x02\xf8\x17\x00\x09\x57\x14\xed\x60\xab\x46\xc0\xca\x2c\x46\x28\xb9\xe9\x50\x6d\xe3\x14\x27\x27\x18\xc4\x4e\x17\x9e\xa2\x03\xba\xb6\x75\x4f\x97\x54\x27\x36\x5e\x30\xd8\x4b\x02\xea\x86\x53\x6f\xe3\xd7\xa6\x5e\xa1\xe5\x29\xe4\x44\xcc\x7e\xd9\x4e\xc0\x0b\xb4\x83\xb6\x00\x87\x6b\xf1\xa9\xd9\x3a\x52\xd9\x46\x08\x81\xb9\x89\x79\x0d\x1a\x81\x22\x65\x87\x5d\xe2\x2e\x8d\x03\x14\x9c\x57\xf5\x1a\x3c\xcd\x6a\x1a\xb4\xad\x0a\xa8\x23\x1f\x6c\xd6\x6f\x9c\x9f\x41\x70\x2a\x4d\x95\xb7\xb6\x75\xf2\x27\x61\xb1\x6f\x62\xec\xad\x94\xe5\xb2\x11\x31\xef\x66\x93\xfd\x3d\x07\xb6\x74\x16\x3d\x0d\x27\xb3\xfe\x5c\xda\x37\x60\x9d\xe9\xdc\x6e\xfb\xde\x12\x8d\x77\x57\x71\x55\x1b\xe6\x4d\xc6\xd8\x8a\xda\x2f\x2a\x90\x24\xa4\x8c\x42\xfc\xda\x1b\xaf\x71\xd9\x29\x18\xad\x13\x81\x23\x76\xa0\x78\x70\x47\x91\x9d\x80\x7b\x4b\xb1\x9d\x3b\xba\x38\x8b\xc7\x03\xa5\x43\xf2\xa3\xb4\x55\x3a\x50\x1c\xd4\x6b\x1b\xed\x0f\xa8\x0f\x64\x9e\xc3\x50\x3b\xf6\x9a\x45\xf3\xda\xa6\x06\x20\xf9\xdc\x7f\xde\xd0\xd1\x94\xed\xc8\x9b\x5c\x40\x09\xab\x4c\x10\x0e\xd0\x0d\x08\x81\xcc\x78\x58\xc8\xa0\x93\x10\x4c\xab\xaa\xbf\xbb\x69\xab\x26\xf9\x53\xf1\x1f\x68\x98\x3d\xc7\xc9\x82\xc1\x64\xe0\xdb\x99\x17\x25\xbd\x9a\x48\x82\xb3\x6b\x1f\x37\x7e\x65\x22\x3e\x7c\x3f\xa8\x95\xf9\x91\x97\x86\x63\x7c\xe1\x4a\xc0\xde\x6b\xad\x47\xd5\x42\x4a\xf1\xf3\x2e\x5a\xd0\x1d\xd9\x6f\x7f\xaf\xc5\x94\x49\x92\x92\xa9\x7f\xda\x58\x9f\x70\x0d\x1a\xbb\x4b\x37\x6b\x21\x42\x5e\xe7\x14\x24\x5d\x5d\xb0\xa9\xd0\x5f\x1d\x86\x18\xea\xf0\xff\xd8\x28\x86\x3b\xdf\x14\x6b\xa2\xde\xba\x0b\x66\xeb\x6e\x34\x87\x2a\x98\x44\x15\x9d\x85\xb4\xdf\x02\xe1\x75\x7a\xdd\xf7\x7f\xa4\x69\x55\xad\xe7\x0f\x15\x57\x9f\xe3\xf8\x59\x38\x37\x38\x7d\x8b\x62\xb1\xf2\xec\x71\x9b\xb5\x4f\x9e\x71\xd2\xf8\x67\x3c\x7c\x32\xd5\xdb\x1c\xbd\xe8\x05\x0c\x7c\x97\xfa\xaf\x7d\x2c\x63\x8b\xf7\x19\x4f\x26\xaa\x56\xd7\x3c\x96\xa4\x85\x5d\xe7\x38\xae\x83\xf2\xe7\x38\x91\x82\x7b\xcb\x71\xa4\xad\xc5\x26\x6b\x9f\xc0\xd8\xf2\xbb\x10\x1e\xb9\x7b\xff\x5a\x1b\xc1\x4d\x82\xad\x20\xf5\x06\xf3\xc0\x0e\x46\x29\xad\xd6\x64\x96\x37\x9b\xd1\xe7\xd8\x27\x3b\xb5\x2a\x3e\x37\xd9\x30\x6b\x66\x47\xcb\xe0\xce\x83\x04\x6d\x22\xb4\x89\x22\xba\x26\xf9\xbd\x7b\x5e\xa6\xf9\xf8\x42\x24\xf7\x92\xdc\x2c\x46\xf5\x2e\xff\xd0\xb4\xb1\x0b\x93\x4a\x63\x7c\xb6\x73\x71\x6e\xca\x7f\x35\x9b\xe9\x5c\x21\x66\x5e\xb1\xcd\x5f\x83\xcf\xc8\x42\xfe\x0f\x60\xc6\x76\x99\x62\x84\xb4\x2e\x5b\xf6\x9a\x07\x87\x85\xcc\xd6\xa8\x78\xeb\x30\x23\x78\x2a\xfe\x0a\x1d\x4f\x63\xda\x0a\x58\x04\x56\x4f\xf0\x6b\x16\xc3\xe3\x2a\xaa\x6b\x47\xb9\x6b\x73\xa9\x8c\x8a\x70\xd0\x9f\xcd\xc0\xdc\xe7\x60\x6f\x09\x10\x14\x6b\x04\x26\xb4\x32\x4a\x33\x09\x5f\x25\xe3\x9b\x7a\xf4\x5b\x13\x07\x7a\x4d\xf3\x2c\x10\x1c\x9b\x9b\xd3\x9c\x2b\x47\x17\xa3\x6a\x8c\xca\x7c\x6b\x7f\x5c\x71\x68\xcd\x62\x1c\x84\x7a\x98\x98\x43\x52\xf0\xd0\xc0\x7d\x32\xea\x99\x6e\xd5\x4a\x87\x36\x64\x5d\xdd\x85\x2b\xec\x32\x96\xca\x2b\x86\xbc\x65\x79\x56\x1d\x3f\xda\x9e\x03\x83\x5f\xe7\x0c\x0d\xfe\xb0\x3e\xf3\xac\x24\x95\x36\x57\xb8\x8f\xb7\x62\x8a\xb5\xaa\x31\x34\xac\xcd\x39\xe7\xd8\xc9\xb4\xb8\xec\x85\xab\xe3\x26\xb9\xf3\xa0\x65\x65\x85\x2f\x75\xb4\x30\xd0\x71\x1e\xe8\x8b\x68\x3d\x2e\x90\x76\x1e\xe8\xd7\xa5\xaf\xd1\xdb\xca\x2b\x51\x99\xf6\x37\x5d\x5d\x9b\xab\xda\x4e\xd0\x33\xb5\xca\x2f\x64\x28\xa4\xb7\xbb\x2d\xdd\xda\xd4\xac\x38\xe3\xef\xf6\x76\xf2\xd6\x84\x05\x90\xc5\x1c\x3d\x25\x50\xfd\x8b\x66\x69\x9b\x32\x8d\x14\xbd\xb4\x29\x94\xfb\x0a\x39\x51\x96\x0e\xf0\x48\x50\xf5\x5d\x86\x43\x79\x07\xd0\xfb\x1e\x55\xfa\x1c\xc2\x9d\x95\x68\xa5\xb6\x39\x9c\xb6\x8c\xa7\x89\x40\x7f\x18\xd3\x63\x6e\xc9\xaf\x0f\xe2\x6a\xce\x2d\xd7\x59\x16\x33\xde\x0c\xfd\x3e\x0e\x08\xfb\xbe\xab\x5d\x4d\xca\xc2\xf8\xa8\x9c\x5b\xf9\x80\x15\x89\x59\xd9\xc7\x9f\xdb\xce\xca\x16\xe9\xbf\x27\x07\x70\xea\x27\x7d\x84\x19\x36\xb4\xc7\x06\xfe\xeb\x9c\x9e\x5a\x27\xb2\x62\xc6\xfe\x54\xd4\x39\x7b\x9e\x96\xe7\x1e\x67\x24\x39\x89\xbc\x36\xc8\x36\x2a\x74\x97\xd9\xa8\xe6\x39\xd2\x08\x52\xbc\x36\x59\x90\xa2\xd9\xd2\x28\x05\x8f\x48\xd6\xb3\x89\x6c\x3c\x07\xb0\x72\xda\xb3\x92\x52\x5e\x38\x05\x19\x42\x16\xdb\x2f\x1b\x7e\xcf\xd1\x17\x97\x6a\x22\x73\xb2\x3f\xba\x7d\xc6\xc5\x6c\x84\xc3\xa0\x45\xaf\x40\xaf\xec\x52\x0d\x69\x6d\xca\x16\x24\x02\xb3\x26\x67\x1f\x5f\x0e\x43\xb1\x19\xe8\x75\x99\x6f\x4a\xc0\x91\x21\x9a\x62\xe3\xf1\x27\xb5\x95\x24\xcc\x52\xc8\x08\x65\x7e\xa2\xb4\x6d\x69\x6d\xec\x7c\x0b\xa0\x70\x9e\x69\x1d\xe5\xe7\x12\x37\x39\x9b\xc1\x14\xc9\x34\xe6\xad\x1e\xaa\xee\x29\x85\x0f\x67\xf9\x5b\x60\x94\xc1\xc4\x78\x06\x94\x99\x81\x42\x9b\xa3\x19\x22\x19\x86\xd1\x50\x82\x41\xa4\x01\xd6\x9d\x7c\x92\x10\x79\x06\x28\xbc\x54\x3c\x66\x35\xaf\x04\x9e\xd6\xca\x02\xd9\xe3\x3a\x7c\x0a\xa3\x3d\xb7\xf6\xae\x38\xc2\x97\x42\xad\x89\xea\xac\x8a\xb8\x55\x3e\xc1\x66\x48\x6f\x94\x22\x80\x8d\x0d\x72\x0f\xc4\x64\x19\x62\xaa\x41\x73\x37\x40\xa7\xae\xaf\xf5\x7a\x14\x6d\x1b\x02\x51\x4e\x8d\x71\x25\xb3\x70\x55\xb4\xb1\x17\xd3\x6c\xeb\x32\x2d\xe7\xfd\xde\xbe\xcb\xfd\x42\x19\x6d\x03\xe2\x80\xff\xcf\x38\x1d\x35\xa3\xd5\xf3\xea\x8d\x79\x0e\x37\xb8\x18\x3f\x3e\x6c\x51\x70\x07\x63\x4b\x7d\x67\xbc\x09\xa5\x10\xef\x88\x52\xca\xb3\xbb\x1d\x3f\x31\x68\x18\xda\xfe\xb6\x57\xee\xae\xba\x31\x0c\x06\xe8\xce\xf7\x9b\x06\xdb\xf1\x26\xe5\xb4\xa1\xcd\x1b\x27\x3e\xcc\x81\x08\xf5\xcd\x91\x64\x9b\x1e\x48\x2f\xb9\x63\x9b\x5a\xda\xe6\xc4\xa4\x71\xfb\xdc\x6e\x3a\xa8\x9b\xe4\x8d\x6e\xf7\x92\x4f\x5b\x63\x4b\xde\xc1\xa7\x0f\x0f\xfc\x1b\x49\xda\x6e\x91\x7e\x96\xee\x15\x57\x35\x9f\x2e\x18\x99\x49\xd0\xbc\xb8\x84\xab\xea\xb1\x89\x29\xe0\x2b\x0c\x4d\x7f\xf8\x63\xbf\xd7\x73\x5b\x45\xad\xa3\xb7\x96\x75\x4c\x93\x3b\xe4\x40\xcd\xda\xd1\x2a\x4f\xe4\x61\x8c\x99\x68\x57\xb1\x90\x00\xa2\x92\xd2\x30\x22\x60\x39\xff\x32\x7d\x45\xab\xcb\xf4\x81\xfc\x1c\x62\x79\xc3\x71\x94\xd3\x99\x27\x3b\x45\xe5\x61\x99\x77\xe7\xee\x93\x5c\xad\xf9\x0a\xad\x1a\xbf\x07\xfa\x7a\xe7\x70\x89\xc5\x86\xf8\x30\xb1\x18\x7a\xd3\x79\x60\x1b\x5e\x8a\xdd\x25\x66\xcc\xdd\x42\xa8\x64\x98\x71\x9b\xa8\x28\x65\x0b\xef\xf8\xa3\x7c\x44\x05\xc8\x7e\xfd\x55\x40\xfd\x28\x63\xeb\xfa\xf1\x2d\xd2\x4a\xe3\x67\x27\x03\x33\x0c\xd3\xc4\x71\x35\x59\x9f\x70\x77\xee\x3d\xe4\xd1\x1f\x68\xd2\x0d\x71\x6c\x3a\xdc\x8b\xdd\xc8\xb8\x04\xa8\xe4\x9b\x2e\xd6\x80\x92\xe6\xa2\x7b\x4e\xad\x73\x73\xd6\x5a\x18\x22\x0f\xa9\xe6\x4b\xb1\xfd\xe6\x00\x29\xeb\xc8\xc0\x3a\x20\xd0\xda\x8d\xd5\xfc\x22\x97\x6a\x79\x2d\x2b\x69\x7f\x40\xb2\x9b\xa6\x8b\x2a\xeb\x87\x4b\x3b\x88\x11\x3c\x33\xad\x31\x8a\xcf\x49\x1f\x8e\x7d\x76\x52\x5c\x3d\xa5\x24\x25\x93\x43\xf3\x1e\x54\x0e\xa0\x4f\x9e\x90\x0b\x21\xbb\x5d\x53\x74\x88\xb4\xa1\xb8\x27\x54\xff\x90\x5c\x96\xe3\x4b\xeb\x64\x80\xd9\xa8\x39\x63\x07\x34\xa5\x5a\x8a\xf3\xa2\x36\xa0\xa4\x94\x8b\x35\xfd\x0a\xda\x5b\x8d\x8d\x80\xe7\x79\xed\xc4\x30\xda\x3f\x96\xf7\x2e\x0b\xfa\xcb\x6a\xb0\x50\x0a\x98\x0b\x75\x98\xeb\x5f\xe7\x47\xc7\xbf\x7f\xa2\x36\xd8\xfa\xf1\xcb\xe7\x20\xb6\xa5\xa7\x94\x72\xac\xf7\xc3\x24\xbf\xf8\xf1\x07\xb4\xd8\xff\xf8\xfb\x6c\x3a\x2d\x92\xb7\x45\x39\x9d\xfc\xb0\x4d\xdf\xfc\xb0\x8d\xbf\xf6\xd8\x17\x3e\x41\x7d\x01\xb1\xb6\x8f\xe4\xf0\x95\x56\x95\x67\xf0\xe7\x4c\xc3\xe6\x90\x01\x67\xff\xd6\xe4\xf0\xbd\xa4\xa0\x67\xce\x42\xc4\x1e\x50\x76\x7c\x96\x35\x47\x28\xa0\x66\x7b\x11\x6c\x0c\x22\xf4\xef\x08\x6a\xec\xa7\x67\x70\x20\x3f\xa2\x94\x13\x1e\x3b\x87\x0d\xfc\xf9\x5a\x90\x70\x0e\xd5\x94\x7a\x54\x49\xe6\x97\x32\x8b\x8a\x2a\xf5\x68\x01\xbd\x2e\x86\xa3\x6c\x48\xb3\xe7\x5d\x50\xde\x59\xc6\xf5\x01\xfd\xcb\x4c\xc0\xb5\x81\xc7\xae\x11\xec\x78\x8a\x0b\x36\x4d\xd1\x8b\x8a\xde\x00\xa8\xcc\x68\xc4\x4e\xe0\xe3\x19\x97\xf7\x13\xf7\xb4\xde\x15\x94\x4c\x79\x9a\xd7\x71\x51\x4d\xd6\xdb\xf3\x91\x30\x93\xc2\xde\xce\x21\x82\x67\xc0\x6f\x4d\xeb\x62\x30\x1e\xd3\xbb\xb0\xe3\x5c\xda\x5d\xd7\xe7\x11\x41\x0f\x3c\xa6\x86\x7c\x93\x7c\xd9\x5f\x28\x46\x33\x9e\x16\xf3\x8c\x6e\x43\xba\x9b\x37\xbd\xa7\xb7\x94\x85\x35\x6d\xd5\x57\x78\x38\xc3\xef\xba\xd8\x31\xc6\x27\xd4\xa5\x20\xb5\x63\xf1\x42\x30\x16\xa5\x00\x16\xfb\xf1\x52\x08\x4e\xcd\xaf\x4d\xf9\x4d\xf5\x96\xfb\x37\x0a\x62\xd3\x32\xd5\x2d\xd8\x11\xf8\x82\x1a\xb0\x86\xea\x11\x39\xc8\xbb\x7e\x83\x06\xd7\xb5\x21\x1d\x77\xc3\x69\xc6\xe1\xb2\xda\xc4\x13\x1d\x14\xa7\x38\x64\xa7\x54\x26\x3e\x24\x2f\xf2\xb5\xcd\x41\xdc\x98\xd8\x32\x0b\xce\x1b\x66\x3c\x05\xae\xe0\x28\x5f\xbb\xc1\x75\x12\xc2\x2c\xbd\x1e\x65\x07\x00\x56\xbc\x96\xa2\x9a\xa1\x1b\xdc\x9e\x31\x59\xc6\xae\x39\xc3\xf8\xa1\x43\x92\x55\xee\x53\xc8\x93\xa9\x04\x1c\xba\xb2\x51\x88\x1d\xcd\x9e\x22\x6a\x61\x54\xae\x51\xc4\x5f\xc3\xd4\xad\x5f\xfe\x6a\xa7\x82\xd6\xc1\x6f\xee\x64\x10\x95\x9c\x37\x23\xd7\x7d\x4c\xb0\xc5\x17\xa1\x77\xd1\x07\x2f\x1a\xf4\xc6\x47\x76\x04\x94\xeb\x6b\x6a\x79\x26\x1c\x92\x81\x9c\x88\xf6\x10\x5d\x55\x6b\x8a\xe0\xa8\x13\x2c\x2f\x68\xf5\x42\xeb\x0b\x77\xc6\x33\xeb\xb9\xb1\xd0\xba\x47\x29\xfb\x4b\x90\x2b\xb1\x79\x2e\x7e\xb6\xc5\xe2\x41\x8d\xb9\xc2\x64\x7d\x65\xc5\x41\x5a\x8a\xc7\xa7\x59\x37\x72\x9c\xbb\x39\x2d\x06\x84\x18\x11\xc4\x7e\x10\xa8\x88\x53\x53\x80\xe5\x17\xfe\xcd\x18\xd7\x1d\x13\x4a\xd0\x14\x5d\x76\x62\xd2\x8b\xc4\xb9\xb8\xdd\x37\x4b\x82\x19\xf1\x59\x32\xa0\x3c\xe9\x6e\x67\xb6\xe2\x8f\x22\xff\xf8\x3d\x88\xa8\xe9\xf4\xa4\x3c\xb1\x31\x2e\x66\x9b\xb7\x4e\x84\x61\x75\xbc\x2e\x9a\x02\xa9\x79\xd1\x7a\x14\xf9\x43\x27\x37\x78\xea\xa9\xb8\x2f\x53\x8e\x2e\xca\x3d\x1f\x3e\x97\xa4\xae\xaa\x53\x74\xad\xc7\x1f\xe7\xea\x40\x54\x56\x4a\x73\x32\xeb\x6d\x5c\x8a\x34\xde\x9b\x0d\x5d\x31\xc0\x77\x85\x89\xa6\x59\xca\x39\xc9\x8c\xf3\x86\x71\x54\x90\xd3\x1b\x57\xa6\x85\x64\xd7\xc5\x36\x3e\x45\x8d\xba\x92\x78\xd1\x97\xda\x55\x81\x1e\xab\x56\x71\x8e\xdc\x4a\xb4\xa7\x93\xe7\x39\xc5\x12\x74\xac\x06\x41\xe2\x11\x49\x8c\x91\x2b\x03\xbd\x9e\x89\x36\x73\xa9\x2e\xce\x99\xfe\xf3\x85\x52\x97\x3a\xf8\x73\xe1\xd9\x3e\x25\x9b\x28\x17\x2a\xd2\x09\xcc\x6d\xb9\xb0\x97\x19\x87\x6b\x60\xf0\x1f\x79\xca\x03\x3b\x30\xa1\x30\xbc\xae\x4d\x5d\x2b\xc2\xe2\x19\x7a\xf7\x5e\x44\xb7\xe7\xc7\x93\xb6\x58\x75\xd9\x8b\xdb\x7b\xba\xd4\xa5\xbb\x1b\x1d\xd1\xb7\x3c\xb2\xfd\x46\xc7\x6c\x54\x70\x5f\xf8\x52\xd2\xad\x8d\x2c\xd6\xf2\x80\x57\x23\xc5\x66\xd0\xf2\x30\x5f\xb3\x35\x40\x68\x26\xa3\x6b\xd4\xa3\xa2\xe6\x02\xff\x22\x6b\x1d\x55\xd2\x9b\x9f\x32\x90\x4b\x6b\xe7\xa8\x4c\xf0\x9f\x44\xb9\x93\xde\xb9\x9c\x68\x60\x3c\x40\x7a\x96\xa5\x14\xc0\x8d\x11\x85\x86\x33\x41\x0b\xe3\xee\x68\x64\x33\xf9\x86\x56\xd0\xe0\xfc\x82\x6c\x1e\x88\x30\xba\xc2\x0f\xcc\x89\x26\x6f\x1e\x1b\xc9\x48\x65\x91\x34\x37\xb0\x3e\xc3\x40\x94\x28\xb8\x33\x2c\x5c\x25\x89\x99\x9f\x2d\xc7\x67\x2d\x8e\xd6\x46\x1e\x80\xe7\xb4\xc1\xc8\x20\xf3\x0c\xa3\x6c\x80\xe8\xc6\x67\x59\x60\x61\xb3\x8f\x31\x5f\xf1\x10\xd3\x88\x18\x0e\xce\xd6\x08\x23\xc3\x33\xfa\xf2\xd7\x2c\x4b\x51\xc2\x53\xd9\x72\x30\xaf\x92\xb7\x4f\x5b\x0c\x86\x4a\x43\xe4\x33\x4c\x81\x52\x25\x11\xd7\xeb\xb4\x0e\xbb\xcb\x6f\x24\x71\x9a\x4b\x82\x71\x79\x69\xb0\x5e\x71\x79\x3a\xea\xdc\x84\x3b\xd1\x28\x29\x8c\xf2\xca\x83\xa5\x94\x82\x80\xec\x3e\x50\xca\x69\x5a\x93\x0e\xdb\x9f\x3e\x57\x15\x6e\xf5\x1a\x5f\x98\x24\x2c\x30\x0f\x03\xcc\x4c\xc7\x45\x41\x14\xe2\xe4\x45\x06\x8c\x04\xa8\x1d\x93\x49\x1a\xda\x14\x5b\x32\x79\xc8\x5a\x72\x0e\x08\x7a\xcb\x29\x84\xaa\x16\xd3\xde\xd0\x9b\x9f\x89\x3d\x25\x9f\xf5\xbc\x52\xa0\x54\xbd\x1b\x60\x2c\xf0\x28\xaf\x33\xe0\x4d\xcb\x39\x85\x2a\x62\xb1\x9b\x5f\x4c\xcc\xc1\x40\x55\xed\x33\xc0\x24\x3a\x81\x72\x34\xc2\x06\x9c\x67\xa8\x87\x58\x9e\x9e\xc9\xa3\x76\xe4\x4a\x3b\xa1\x89\xc4\x0e\x3a\x70\x92\x5f\xaf\x46\x83\x92\x5d\xab\xb9\xd0\x2b\xe6\x01\xc3\x67\x6f\xc5\x09\x5b\xa6\x7c\x58\xc5\xa0\x64\xd4\x5a\x51\xdb\xa8\x8b\x91\xf8\xf5\x57\x2b\xbe\xb4\xd8\xcf\x3c\x94\x57\x36\x57\x45\x0b\x57\xb6\xbd\x1c\x13\x2b\x5d\xd9\xae\x06\x41\xe5\x31\xe6\xc9\xb9\xcb\xe6\xf2\x4d\x27\xc8\xc3\x72\x3c\xca\xe8\xc2\xc2\xb5\x18\x67\xf3\xb4\xcc\x8b\x81\x11\x98\x49\x79\x03\xfc\xaf\x36\x79\x36\x99\xd3\xc1\xcf\x65\xa6\x2b\x26\x39\x60\x52\xd5\x74\xaa\xce\x25\xe9\xa9\x6a\x4c\xb7\x01\x74\x74\x0f\x3f\x7a\xa1\xba\x22\xe8\x18\x0e\x8f\x07\xeb\x98\x52\xcf\x3c\x4c\xbe\xf2\xa7\x46\xff\xdc\xd5\x8d\x63\x0b\x20\xff\xe8\x4b\x03\xa6\xbf\x4e\x3b\xa2\x46\x5a\xbb\xc7\xc8\xba\x39\xfc\x68\xad\x3e\x6e\xd3\xc8\x52\xea\xaf\xef\x11\x57\x47\x1b\x99\x65\x1e\x78\x12\xc7\x5c\xe2\x78\x53\xb1\x56\x5a\x32\x0c\x0f\x62\xd2\x72\x0f\xc2\xba\xf6\x83\x2b\x13\x55\x9f\x55\x3c\x20\x1a\xef\xbd\xa2\xb4\x98\x5c\x66\x36\xb2\x6f\xac\x63\xcc\x8c\xe6\xa5\x03\x1b\x66\x0c\x72\x97\x2b\xd4\x3a\xad\x02\x16\xad\x36\x2f\x0a\xa5\x40\x60\xe0\x03\x0d\x3b\xd4\x21\x04\x70\x8c\x9e\xc6\x13\x33\x18\xcc\x1a\x9a\x65\xf8\xe0\xf3\xb3\x07\x8d\x75\x17\x81\xe4\xb2\xf2\x9e\xa3\x2c\x4b\xcc\x41\xa4\xc2\xa8\x5e\xae\xd4\x65\x35\x12\x1c\x13\x2f\x17\x0f\x0b\xb6\x56\xc6\x8c\xdf\x41\x49\xe3\x06\xf2\xed\x5c\xb1\x13\x4e\x8e\x10\x59\xe5\x1c\x08\xd4\xad\xa4\xae\x9c\x63\xd1\xcd\x91\x78\x29\x99\x07\x45\x31\x67\x8b\x5d\xe4\xf3\x38\x52\xcd\xeb\x0c\x4e\xe8\x8e\xa3\xf4\x56\xea\x0c\x89\x33\xca\x01\x8a\x1b\x81\x44\x76\x72\x2f\x00\x1c\x25\xf7\x36\x08\xea\x4c\xaf\x7a\x9d\x3a\x10\x5a\xb9\x26\x75\x32\xf9\x1f\x46\xe7\x26\x80\x94\x8a\xce\x92\x51\xec\xa1\xab\x85\x2e\xa6\x8c\x50\xf3\x71\xec\xef\x95\x11\x9d\x2e\x4b\xac\xc2\xc8\xa9\x00\x4c\x14\xb2\xd9\x79\xd6\x1a\x6b\xc2\x64\x50\xa3\x0c\x58\xf7\x5c\xe2\xda\xe3\x32\xd2\x80\x5f\x8c\xf8\x6d\x3a\xf9\x53\x3a\xf6\x38\x18\x3e\x46\xd2\x3b\xf2\x7e\xc4\x75\xce\x49\x3c\x04\xd1\x79\x42\x6f\x36\xa1\xdf\xc8\x56\xa3\x34\x24\xce\xc2\x0e\x87\xf8\xe0\x70\x7c\xb2\xf1\xb9\xd8\x68\x38\x17\x4e\x52\x31\x4b\x70\x02\x8b\xf9\xc5\x58\xa2\x3c\x06\x15\xfc\xe8\x2c\x58\x61\xaf\x2f\xbe\xf0\x35\x13\xab\xce\x5c\xd0\x5f\xdd\x02\xc1\x2f\x1e\x2d\xf2\x1e\x77\x70\xb3\x28\xbe\x2d\x9c\x2c\x7c\x3b\x74\x0c\xbc\xd9\x61\x49\x23\x35\x48\xe6\xe9\x4a\x56\x38\x2c\xf1\x23\x65\x2d\xbe\x2e\x80\x35\x63\x6f\x76\xb5\x56\xc1\xec\xd2\xb1\xef\xe8\x94\x3b\x0f\x48\x37\xd3\x72\x64\xd7\x41\xed\x8a\xe0\xc8\x78\xd1\x20\x36\x6d\xf2\x7c\xd8\x72\x5b\x39\x22\xd3\xad\x6f\x4a\x60\xfa\xfa\x53\x36\x6b\xf7\x6d\x94\x4d\xb6\xfc\xde\x41\x71\x0d\xc4\xd7\xa4\x36\x47\x04\x7f\x47\xaa\x6a\xca\x08\xab\xc8\x4a\xbc\x10\xd9\xd7\x9b\x6b\x55\xba\x77\x12\x67\x52\x44\x6d\xab\x3c\x94\xf4\xb3\x06\x8d\x4b\x03\x34\x51\x8e\x33\x4a\x74\x61\xc0\x9d\x16\xe2\x07\xe6\xa4\xa9\x86\xca\xca\x2d\xe3\x2a\x3b\x3b\xe3\x1a\xf7\xe6\x69\xc8\x73\xc8\xd4\x51\x4d\xc1\x86\x2f\xb9\xcc\xa5\x6a\x40\x44\xde\x90\x87\x21\x43\x32\xa2\x20\x9b\xca\xf2\xba\x61\x70\xa5\xd4\x31\xec\x85\xbc\xa4\xbd\x74\x06\x40\x1c\x6a\x94\xd5\x97\x3a\x1c\xdd\x19\xcf\xda\x2e\xbf\xdb\x93\xc4\x6d\xd8\x4c\x43\x7e\xec\xa6\x8c\x15\xec\x46\x69\x15\x5f\x3a\x87\x6c\x79\x40\x36\x14\x8b\x71\xaf\xf1\xff\xc1\x0a\xc3\x20\xf3\x43\xab\xce\x70\x96\x5e\x3d\x63\x2f\xb2\xb8\x03\x56\x97\x99\x46\x9e\xf0\x16\xc4\xa6\x3a\x42\xc9\x3b\x18\xe6\x83\x35\xc9\x5e\x76\x6a\xdf\x6e\x20\x79\x37\x8c\x29\x8e\xcd\x77\xd9\x49\xac\x2d\x36\xe2\x9d\xf4\x90\xc8\xce\x93\xe3\xd1\xd5\xc2\x12\x9d\xd5\x83\xa0\x0b\xe7\xb0\x58\x0c\xf8\xe1\x3e\x0b\xcc\x53\x2e\xac\xa3\x95\x19\xf9\x4e\x33\xdd\xea\xc0\xcb\xd6\x5b\x97\xfa\x4d\x32\x54\xf3\x1c\xc0\x63\xa7\xea\x3f\x4f\xeb\xb3\xad\x59\x3e\xef\x4b\xe2\x1e\xb7\x21\xee\x18\x7a\xc9\x41\x78\xd5\xd5\x09\x7b\x52\x94\x97\x58\xf6\x8f\xa1\xb2\x0a\x47\x3c\x79\x75\xe6\x8f\xb5\x0e\xdd\xb1\xf8\x20\x90\xe3\x0a\x05\xcd\x0b\x63\x64\xe0\x13\x0d\x11\x83\x3a\x30\x6e\x13\x93\x0a\x65\x27\x35\x65\xfe\xc1\xdc\x1e\x27\x27\xf0\x5a\xa2\x24\x27\xa1\xca\x0d\xd8\x6f\x3a\xcb\x8c\x33\x74\xf3\x20\x76\x44\xce\x78\xb9\x1d\x30\xcc\xdc\x81\x06\x74\x19\x3b\x57\x19\xda\x38\x31\xc4\x2d\xda\x0c\x84\x0a\x02\x37\x55\xc1\x5b\xed\x41\xfb\x21\x0e\x81\x56\xd1\x66\x25\x94\xb5\xea\x3c\xe2\x8a\x04\x5a\x22\x26\x3b\xec\x6d\x0f\xd6\xd4\x1e\x6b\xd3\x2d\xfd\xb8\x96\x01\x37\x91\x65\x7f\x98\x58\xda\x94\x40\xcc\x18\x8f\x89\xc0\x77\x3e\x0c\x2a\xf6\x5e\x56\x74\xc7\x79\x61\x5e\xb8\x40\x7e\xa3\xe8\x4f\xcb\x9a\x89\x7f\x80\x62\xe7\x33\x49\xc4\x70\xc7\x33\x28\x02\xcf\xd0\x11\x4c\x89\xee\x76\x23\xcf\xbc\xcf\xe0\x47\xa2\x9e\xba\xeb\x75\x95\x1d\xbb\x67\x83\xaa\xb0\xab\x9d\xea\x8d\xd0\x97\xe4\x04\x0f\xbd\xf9\x0f\xf5\xba\x19\xb9\xba\x30\x2a\x76\xdd\x12\x56\xd1\x8d\x0b\x7f\x78\xab\xf8\xd0\xfd\xe6\xe9\xeb\x5e\x14\x9a\xe0\x49\xd5\x69\x18\x83\xa9\x59\x5a\x2a\x8d\x36\x8b\x50\x25\xb9\x0c\x8e\xd2\x11\x96\x0b\x2d\xaf\x8d\x42\x9d\x00\xda\xb3\x4b\x6c\xcb\x4f\xe4\xc3\xe9\x64\xe1\x0f\x75\xca\x9c\x64\x66\x12\xa4\x79\x2a\xd6\x48\x63\x12\x44\x85\xbf\x93\x3e\x07\x85\x37\xca\x2e\x69\x1d\xe8\x1a\xba\x3b\xfa\xe2\x06\x82\x57\x2f\xe9\x59\xe1\xbe\xd3\xf1\xc7\x02\x6e\x71\xfc\x69\x21\x4b\x0e\x2a\x0a\x49\x65\xc7\x2a\xe1\x0c\x25\xec\x46\xde\x14\xac\x5d\x6c\xf1\xef\x64\xfa\x50\x40\x01\x2a\x12\x03\x2d\xdc\xdd\x26\xe3\xf1\xbd\x81\x57\xf8\x21\x31\x2a\xa6\xb1\xbc\x9d\xdc\xd3\xa2\x68\xaa\xf0\x9c\xbf\x42\x43\xfa\x04\x3c\x39\x74\x23\x35\xae\xfc\x18\x91\x41\xa2\x9d\x79\x42\x04\x4e\x19\xe2\x3f\x60\x74\xe6\x77\x51\x67\x0e\x53\xbb\xdb\x25\x69\x68\x9f\xe0\x95\x06\xd9\x24\xd4\xcf\x87\x4a\x8e\x2e\x97\xde\x55\x4a\x97\xdb\xbd\x87\x94\xe2\xad\x03\xaf\x4e\x1b\x83\xa2\xc8\x35\xf1\x5f\xf7\x49\xbc\x13\x55\x43\xe2\x52\xd3\x86\x36\x57\xda\x3e\x5e\xd6\xf3\xa6\x5f\x1d\x11\x66\xc7\xe9\xd2\x90\xdb\x46\x6b\x4d\xa6\xf5\x05\xae\x0f\x44\xa0\xcd\x21\x5a\x97\xfb\xb0\xbc\xf0\x65\xb9\x1c\x53\xf6\x71\x32\x98\x3f\x0c\x5f\xbf\x7c\xcb\x05\x16\xe9\xb1\xa1\x72\x69\xb9\xe0\x6b\x6a\x44\x32\xcb\x2f\x92\x61\xbf\x5a\x2e\x16\x98\x9a\xd0\x7b\xa0\x84\x12\x16\xe2\xc2\x81\x3f\x3c\x0a\x79\x6e\x9f\xc2\xd3\xa6\xca\xd2\x72\xcc\x59\xd4\x5c\x4a\x1a\xc0\xc1\xc4\x7a\x39\xd1\x88\x41\xa0\x5c\x24\x20\x24\xcf\x5f\xda\xa2\xad\x34\x10\x3a\xf3\x1a\xe1\x23\xe9\x08\x6f\x22\x58\xc7\x8f\xd1\x54\x0b\x22\x09\x60\x80\x52\x87\x52\x32\x89\xfc\xbe\x75\x96\x56\xed\xae\x0f\xca\x4f\x89\x23\x0c\x62\xe7\xf2\x93\xda\xb8\xe2\xd2\xdb\xb9\x9f\x28\xbe\xd9\x24\x2e\xe4\xd5\x77\x6b\x40\x17\x8e\x09\xaa\x3a\xe2\x1d\xaa\xd6\xdd\xa2\x27\x3e\x39\x34\xb7\xc2\xa4\xbb\x26\xe9\x5d\x22\x7b\x75\xcb\x95\x4b\x8e\x1d\xe3\xcb\x2d\xae\x61\x62\xdd\xd9\xd8\x78\xe0\x6d\x81\x5a\x34\x63\x5d\xc3\x49\x36\x54\x69\x12\xac\xb2\xde\x0e\xe8\x3d\x68\xf0\x96\x80\x7b\x8c\x80\x17\x9c\xbb\xa3\xe8\xef\x0f\x9b\x3e\x1a\x69\xbc\xaa\x90\x60\x31\x6f\x69\x5d\x58\x9b\x93\xdc\x27\x91\xcd\xa0\x7b\xec\x85\xd8\xff\x60\xe9\x04\x90\x05\x70\xc2\x4f\x99\xf0\x8c\x04\xad\x8a\x13\xd1\xa0\x9a\xfa\x97\x92\x6a\x91\xf2\x0f\xaf\xdc\xae\x3f\xc0\xc9\xd8\x17\x50\x0d\xc7\x6b\xef\x88\xb8\x2f\x44\xbd\x5a\x88\x0d\xf9\x05\x3e\xc2\x1e\xc2\x5d\xdf\x23\xcc\x7a\x9b\xcd\xc5\x9c\x2b\x99\xc1\xdd\xf2\xc1\x11\x98\xd3\x57\x91\xf5\x55\x41\x99\xe4\x67\xc7\x74\xae\x1e\x6d\xc8\x24\xe4\xfe\x97\x26\x66\xd1\x6f\x7c\x38\x64\x71\x6b\x9f\xe1\xb8\x33\xd2\xbd\x81\x2e\x42\xf0\xa4\xd3\x89\xfe\xa5\x72\xa0\xf7\xe8\xa3\xf1\x50\x7c\x75\xfb\xb9\x77\xee\xbb\x81\xfb\x16\xfa\x18\x35\x52\x78\x64\x07\x89\x7e\x65\xa8\x48\x4a\x22\x05\xfd\x0c\x1b\xee\x9a\x47\x97\x21\xcb\xd7\x2e\x46\x31\xa4\x32\x27\xd0\x11\x30\xd5\xa3\x05\xe6\xc2\x85\x78\xee\x28\x86\xa1\x87\xba\xfb\x30\x51\xfc\xc3\x76\xb8\xb7\x52\xc4\x71\x81\x8e\x6b\x31\x15\x14\xf9\x02\x46\x72\x1b\x3e\xe3\x4d\xb1\xc1\x6b\x1c\xfa\x76\x01\xf5\x76\xe5\x73\xbc\xcd\x22\x1b\xb4\xd6\xe1\x91\x0b\x78\x9d\xb3\xf3\xd8\xb8\xba\xdf\x56\x06\xf0\x8e\x04\x43\xbf\xd1\x29\xb2\x0c\xb0\xfb\x18\x29\xbc\xdb\x41\xac\x3c\x59\xeb\x2f\xcc\xda\x07\x8b\x77\x6a\xcd\x53\x15\x30\xc7\x80\xa4\x75\x66\x95\x38\x3d\x04\xfd\xc3\x61\xb4\x15\x7d\x2d\xb2\xf2\x60\xed\x6c\x1a\x66\x1d\x3b\x90\x2d\x09\x84\xb6\xc6\x28\xae\x22\x80\x68\x2a\x21\xa5\x4e\x12\x61\xdd\xef\xf3\x2e\xff\xe0\xbd\x8b\x5c\x43\xbe\x49\x36\xfd\xc3\xa4\x4e\x8d\x8e\x5f\xbc\x01\x2f\x50\x63\x6c\x06\x77\x13\x9e\xd4\xc8\xe1\xb2\xc1\x4f\x94\x60\x99\x89\xc5\x25\xcb\x96\x6c\x32\xb1\xeb\xeb\xaf\x79\x37\x59\x0a\xb7\x03\x47\x2f\x11\xf2\x9b\x85\x55\xc8\x2e\x1a\x73\x88\xe4\x0f\x02\x69\xf0\xb2\x00\x26\x46\xf9\x83\x38\x41\x91\x7e\x41\x84\x8b\x80\x2b\x80\xe1\x92\x17\x19\xe7\x86\xef\x3c\x32\x38\xc3\xfd\xf9\x84\x4f\x73\xf7\x85\x64\xa6\x14\x0a\xef\xc8\x97\xed\x74\x7f\x5c\x87\xe9\x6b\x51\xe6\xb7\xb1\x7d\x3b\xee\xf0\x06\xb7\xcd\xe7\xbb\x2d\xcc\x59\x6e\xac\xa2\x3e\xd0\x76\xdd\x3e\x1f\x19\x9b\xe7\xc7\x5f\xfd\x96\x58\x4d\xcf\x25\x27\x7b\xfb\x47\x25\xe7\x96\x6b\xc0\xa7\xe5\xdb\xf3\xd0\x79\x27\xf3\x34\x2d\x90\x26\xdf\xde\x2a\xdc\xdc\x2e\xfb\x0f\x0f\x7d\x48\xee\x08\xb4\xbc\x07\x8e\x5e\xed\xbf\xe8\xb9\x56\x94\xc3\x3d\x79\x5c\xa2\x73\x3c\x15\x7d\x17\xe9\xd7\x9a\xb6\x29\x81\x0a\x76\xda\xa2\x25\xb6\x8f\xef\xf5\x08\x9d\xef\x3b\x45\xe9\xdc\x3b\x38\x4c\xce\x28\xe9\xb7\xff\x60\xdb\x2b\x4d\x8c\x3e\xda\xde\xd4\xc3\xa7\x4b\x3c\xab\xf7\x3f\xfa\x05\x41\x4a\xfa\x84\x14\x24\xfa\xe9\x22\x31\xe6\x21\x36\x8d\xee\xe8\xca\x73\x08\xff\x5b\xbf\xeb\x6b\xfc\xf5\x93\x34\xa2\x3f\x28\xb7\x14\x06\x6c\xaf\x38\x57\xb0\x70\xd4\xbe\x79\x8c\x68\x12\x64\xe0\x19\x30\x60\xa7\x69\xa0\x9f\x3c\x72\x51\x6f\x92\xf6\x5b\x47\xc1\xb5\xcf\x94\x18\x28\x71\xf1\x0e\xec\xb2\xa4\x81\x9c\x4f\x6e\x3b\x2c\x74\xb5\x83\x36\xc1\xc4\x87\xa4\x69\xe3\x12\xd1\x56\x46\x70\x7d\xb7\xf3\x61\x10\x59\x8d\x77\xbb\x9c\xa4\xd1\xf6\x87\xdd\x6c\x0c\x4a\x7d\x1b\x5f\x52\x4f\x1d\x1a\x7c\xb5\x48\x51\xd7\xe8\xb2\x34\x90\xee\xb0\x64\xff\xfa\x5f\x5e\x3f\x6b\x14\x98\xb4\x39\x18\x3e\xa9\x4e\x47\xba\x7b\x46\x30\xbb\xe9\x82\xdb\xb8\x6e\xed\xa9\x1c\xe8\xb1\xe9\xbe\xf3\x96\xd0\x68\xa6\x88\x22\x1f\xaa\x5c\x0f\xa7\x42\x76\xfb\x75\x7f\xc7\x3d\x59\xb9\xdd\xaf\xbf\xca\xc2\xd5\x85\x29\xa9\xc1\x3e\x0a\xfd\xed\xf7\xd5\xf6\x66\x7c\x04\xef\x59\xec\xa9\x27\xfb\xf1\xc7\xb2\xec\x0d\xb6\xb2\x16\xa2\x4d\x85\x8a\xff\x6a\xb6\x03\x51\x07\x95\x1b\x29\x26\xf1\xfb\x94\xa7\xdf\x07\x6b\xff\x13\xc3\xee\x37\x43\x7a\xe9\xbc\x96\xec\xd1\x73\x53\x79\x08\x82\x50\xcb\x99\xfb\x6b\xcf\x97\x71\x44\xfd\xff\x6f\x99\xab\x85\x12\xcc\xd3\x9b\x40\x73\x96\x6c\xd0\x7a\xce\x4e\x30\xe4\x52\xce\xec\x9b\x74\xc1\xbd\xff\xd3\x43\xfd\x5f\x6f\xab\x67\x9c\xe4\x16\x69\x7d\x86\xd9\x47\xb3\x3f\x2f\x41\xc4\x41\x37\x82\xc2\x84\x5d\xa1\x7b\x05\xc1\x01\xe8\x70\x4b\xbf\xfb\xe3\xfb\xf7\xd5\xfb\xf7\xef\xde\xbf\xff\xd0\xdf\xfc\xcb\xa7\x1f\x7e\xdc\x78\xdf\x7b\xff\xfe\x8f\x77\xff\x9f\x7f\xfb\xf7\xff\xf5\xc5\x97\x83\x07\x7b\xff\xdf\x87\x9e\x59\x64\x72\xe2\x90\xbe\xeb\x74\xfd\x3f\x5b\xaa\x73\x3e\xaf\xf2\x49\xc6\xbd\xdb\x3b\x7f\xf8\xb2\x27\x93\xa5\xa0\x6f\x9e\xa4\x78\x5c\x90\x63\x48\x43\x8d\xac\x8f\x13\xa9\x9e\xad\x9c\xcd\x85\xf8\xe6\xd9\x2f\x8b\xe3\xe2\xb5\x1c\x6e\x2f\x21\x03\x9e\x5a\x01\x44\x86\x78\xb5\x07\x0e\x00\x0c\xfa\x3a\x3b\x5d\x4e\xd3\x12\xb8\x1c\x5c\xdd\x55\x6e\xab\xa2\xc0\xf7\xf0\x5d\xdf\xad\xe8\x3d\x6f\x96\xf7\x92\x8d\x7f\xdf\xb0\x80\x98\x57\x65\x13\xbe\x70\x1f\xfa\x98\x6d\xb1\xa9\xa4\x1f\x1d\xcd\xd1\x88\x0f\x02\xa9\x04\xf9\x90\xff\xf5\x8f\xfe\xe9\x8f\x90\x11\xad\x2c\x45\x1a\x29\xdf\x9c\x2d\xb5\x60\x4f\xca\x62\xb6\x7a\xc1\xbc\x61\xd6\x3e\x0a\xa1\xdf\x97\x80\xdb\xdc\xf4\x88\x6c\xc5\x8a\x6f\xfc\x71\xa3\xb1\xd6\x8e\x38\x2d\x28\x2e\xc2\xf7\xd0\x9f\x93\x70\xe9\xf8\x30\x8e\xb5\x52\xdf\x28\xa7\x91\xd5\x3e\x24\xd0\x3e\x7b\xba\xd7\x98\x1e\x81\x81\x4b\xb4\xb1\x87\xd4\x3d\xdc\x41\xfc\xf2\x07\x8f\x0c\xc3\xdd\x33\x21\xe2\x2c\x0e\x89\xd0\xa0\xf7\x7f\xa0\x81\x19\x99\x08\x07\x77\xd7\x5a\x3a\x99\x50\xf7\xbe\xf9\x71\xad\x4a\x8b\xc5\x74\x8a\xe2\xe8\xbf\x62\xb5\x45\x5d\xe7\x34\xa8\xac\xa8\x2a\x28\xee\x27\x3d\xac\x9d\x88\x8b\xd0\x4b\xa8\x8a\x22\x20\x7f\x92\x5f\x65\x93\xe1\x19\xd7\x84\xc1\xe4\x6f\xcc\x91\xcd\x6b\x98\x62\x94\x5c\xea\xaa\x39\xf9\x90\x8e\x61\xed\x86\x75\x31\x44\xf7\x52\x2a\x7f\x6f\x84\xa3\xde\x1b\x0b\xdf\x94\x0e\xa0\x78\x41\x13\xa7\x8a\x3a\x49\xf4\x8a\xc3\x59\x9a\x50\xcc\xd2\x94\xac\xcb\x6d\xde\x25\xce\xd2\x69\x8b\xb3\xbd\xe2\x14\x5b\x25\x15\x29\xdb\xdd\xd9\x19\xec\xec\xec\x50\x37\x4e\x5b\x82\xad\x54\x11\xba\x5c\xaa\xe2\xdd\xff\xc6\x15\x33\x4c\xa7\x53\x09\x48\x31\x3f\x4d\x8a\x99\xf1\x55\x46\xcf\x40\x32\xa2\x4f\xb8\xb4\x9b\x06\x46\x91\xd0\x69\x75\xce\x8e\x35\xf0\x30\x52\xd8\xb8\x50\x38\x3c\xd8\xde\x74\x60\xa9\x26\xd9\x8c\x32\x3d\x49\x5a\x25\x1c\x85\x69\x30\xc3\x7d\x96\x4c\x9a\x7a\x1d\x30\x57\xad\x97\x3f\xd4\xec\x15\xd7\x6d\xac\xf2\x53\x24\x27\x93\x3c\x89\xf7\x44\xf2\x59\x06\xbb\x01\xc4\x82\x68\x5f\x16\xe5\x79\x35\x40\x70\x19\xe6\xb4\x22\x97\x24\x74\x1e\x46\x47\x47\x17\x91\xa9\x76\x97\x0b\x3d\x30\x8a\x98\x22\xc5\xcf\xec\xfe\xa2\xa8\x4d\xee\x1c\xb4\x72\xef\xee\xc2\xc3\x07\x29\xd3\x0d\x6b\x73\xcb\xe0\xc8\xce\x51\x38\x1c\x98\xf2\x9a\x46\xc6\x56\x43\x26\xe8\x85\x6c\x9d\x55\xe1\x79\x75\x92\x8f\x97\x53\xba\x47\x81\x5e\x99\xb0\x90\x4c\xa5\xe0\x9b\x14\xd9\xc4\x25\x22\xc7\x7c\xb4\xf7\xc2\xf1\xa3\xf0\x79\x7c\xa0\x82\x2c\x51\x4c\x8b\x53\x71\xd9\xa7\x0a\x88\x6a\x68\xa4\xd0\x4a\x27\xb2\xd2\x9b\x2c\xde\x5b\xce\x8c\x5a\xc5\x8b\x14\x62\x7d\xc2\x39\x6a\x0e\xa4\x48\xe1\x96\xdd\x46\x2e\x85\x59\x99\x20\x3f\x3a\xf4\x7f\x5e\xe6\xe3\x73\xf4\x0e\xad\x10\x67\xf1\xc6\x2c\x31\xae\xce\xd4\x59\x4c\xf8\x44\x2a\x3a\x71\x67\x73\x5c\x35\x5e\x23\x0a\xe5\x4f\xde\x91\xd9\xb7\xe9\xe8\xc6\xe9\x82\x42\x47\x61\xe9\x39\x67\x9d\xad\x45\x9a\x5a\x0f\xd1\x32\x95\x90\x3f\x4e\x7e\xcd\x27\x24\xf0\xdc\x34\x47\xc3\x7f\xc8\x9a\x01\xf9\xb1\xd2\x56\x49\x9f\x1e\x09\x9b\xee\x1e\x50\x1d\x25\x93\xa1\xf9\xd3\x08\x8c\x47\x6f\xf7\x7f\xf2\x5d\x4b\xb9\xc0\xd8\x72\x0e\x34\x6e\xd3\xf5\x70\xdc\x3f\xe7\x0a\x13\xff\x13\xd3\x5c\x4a\x7b\x05\x45\xbc\x76\x41\x58\xda\x75\x35\xe0\x30\xd7\x1b\xe9\x39\x28\x9b\x30\xf2\x3c\x37\x9c\x00\x27\x67\x1b\x8b\xf7\x72\xca\x18\xdb\xf2\x6b\x72\xad\xb9\x77\x9c\x1a\xd0\xd5\x6a\xb4\x0f\x3d\xb5\x10\x14\xe0\x3f\x4b\x17\x92\xac\x98\x0b\x58\x3e\xfc\xd1\xa6\xa0\xf1\x4a\x9d\x1a\x2b\xfd\x04\x76\x8a\x92\xb0\x99\x93\x6c\xc2\xe9\x24\xff\x44\x99\x61\x8b\x8f\xfd\x4d\xf2\xdc\x87\xf3\xf4\x42\x4c\xeb\xec\x93\x48\x85\xba\xc3\xc6\xdc\xf4\x8e\x73\xe0\x91\xc8\x02\xc4\xe2\x00\x73\x37\x84\xf5\xe6\x6e\x88\x36\xa6\x9a\x69\xe0\x6d\x63\x0a\x6d\x8c\x5e\x80\xba\xc1\xc7\xfc\x1e\x22\xf4\x97\x4f\x06\x1d\x72\xf9\x99\x2c\x29\x46\x80\xf9\x18\x31\xbe\x5a\x7c\xa2\x6b\x3c\x04\xc6\x2f\x53\x6a\x17\xa2\xfb\x65\xc2\x85\x39\x73\x29\x4e\x0a\xd4\x61\xc7\xc4\x28\x5c\x7e\xb2\x93\x2c\xd4\xc8\x30\xef\x7e\xe7\x9a\x6a\x8d\x82\x7c\xe5\x32\x33\x89\x0f\x61\x8c\x52\x65\x37\x48\xa7\x36\xe3\xb5\xb0\x72\xce\x48\x36\x97\xc0\x10\x4e\x35\x2d\xd9\x2a\xc4\x8f\x1b\x79\x03\x1e\x61\xe7\x5e\x9a\x9c\x15\xe8\x94\x84\x8f\xa4\x0a\xe6\xc9\x0c\x19\x96\xef\xd4\xcc\xdc\x5c\x17\xa6\xd4\x38\xc3\x43\xd1\x79\xb9\x90\xaa\xed\x14\xb4\x83\x34\x49\xd9\xef\x9d\x90\xd5\x20\xea\xc3\x39\x0d\xfe\xd1\x66\xcc\xb9\x63\xe3\x4a\x6d\x41\x0c\x76\xbe\x64\x6e\xe9\x78\x24\xfe\x22\x79\x32\x4b\x2c\x7c\x39\x5c\x14\x8b\xe5\x94\x2a\xc7\xf3\x7e\x31\x24\x4a\x6d\x49\x1b\xc7\xcb\x49\x71\x21\x6e\xa5\x5f\x63\xf1\x46\x29\x79\xe6\x15\xa7\x94\xcd\x86\x45\xc9\xa6\xc9\x02\xe4\x99\x29\xba\xd1\xd6\x69\x32\x83\x3b\x23\xc7\x1c\x1f\xa5\x84\x68\xc1\x15\x5b\x65\xdb\xc0\xd3\xf8\x13\x83\xa8\x1d\x88\x6a\x91\xd1\xdd\x27\x2b\xc9\x10\x79\x29\xb7\xb0\x30\x29\x8a\x95\xf5\x62\x6f\x7b\xfb\xb4\x28\xb6\x4e\xa7\xdb\xd5\x1f\xb2\xe9\xfc\xcf\x76\xa5\x08\xc8\x5b\xec\xf4\xdc\x8e\x8c\xd8\xee\x32\xb6\xa6\x02\xa8\x26\x0b\x5a\x39\x19\x9d\x08\x71\xa2\xf0\xa1\xdb\x1f\x29\xe4\x8c\xce\x90\x49\x18\xc6\xa6\x0b\x5d\x11\x34\xaf\x8e\xe4\xe2\x66\xa1\x3e\xdc\x9f\x31\x96\xc9\x5e\x4e\x6d\xa4\x79\x42\xa5\x68\x0b\x2e\x8a\x5c\x4c\x99\x94\x32\x13\xe1\x90\x9a\x11\x08\xf6\x15\xfc\x71\x50\x55\xaf\xa1\xbb\x4f\xdf\x66\x3a\xfb\xc9\xe9\x12\x93\x89\x07\x31\x15\xa6\x70\x6e\x69\x8a\x30\x93\xa4\x89\x14\xce\xa7\x8c\x77\x57\x4d\x42\x3a\x1e\x99\x7e\x74\xe6\x5e\x5d\xe1\xfa\x7d\xeb\x8f\x08\x4b\x5c\x9f\x99\xbc\x5d\x75\x39\x1d\x5e\x24\xe7\x20\x63\xf9\xd5\xae\xe5\xac\x61\x0e\x94\x2c\x1c\x09\xfa\xbc\x79\x85\x3f\x24\x3a\x1b\x32\x47\xa3\xe4\x17\x8d\x73\x6e\x0a\x92\x86\xe7\xfb\x00\x97\x7c\x6c\x74\xc7\x29\x59\x58\x6c\xf9\xff\x33\x90\xcd\xa6\xba\x0c\x2a\x7f\x5f\x29\xa6\x45\xdf\xbb\xea\xfa\xc1\x0f\x8f\x0f\x1f\xfd\xf2\xd3\x47\x87\xe1\x27\x2b\xc8\xc3\x25\x79\x75\xed\xa2\xb5\x39\x35\x4c\x23\xff\xec\xe5\x59\x0e\xec\x97\x18\x1d\x16\x00\x9e\x60\xb9\x6a\x32\x34\x5d\xa6\xd3\x73\x8a\xed\x62\x99\x16\x2f\x3f\x12\xac\x4c\x0a\x44\x67\x48\x32\x32\x00\xa7\x54\x29\x28\x9c\xcf\x00\xc6\x54\xa4\xe2\x9c\x19\x4a\x23\xe1\xbd\xf7\x49\x88\x81\xe4\x06\xa4\x47\xb6\xcd\x37\x0b\x48\xeb\x52\xc5\x4d\x91\x63\x2b\xae\x27\xb5\xbf\xab\x44\xf2\xee\x4b\x0a\xc5\xb3\x7f\x05\x07\x51\x78\x53\x58\x97\xb5\x8e\x89\xc7\x4c\x43\xa6\x23\xe6\x42\x02\x29\x6d\x94\xe9\x8c\x7a\x25\xd5\x99\xbf\xb6\x95\x69\x58\x8e\x95\x76\xbe\xbc\x0b\xb3\x3c\xc3\x84\xfa\x08\x4d\xf6\xf1\x04\xa8\x4c\x9e\x34\x98\x96\xc9\x5e\xaa\xf8\x9a\x5c\xc2\xc2\xce\x6b\x89\x35\x1d\xa1\x26\xa9\xaa\x86\x98\x36\x77\x58\x94\x43\x60\xff\xe9\x74\x88\x29\x62\x11\x1a\xbf\xb2\x18\x79\x60\xf4\xaf\x0d\xb3\xe0\x5f\xe1\x55\x45\x4f\x20\x0c\x30\xc0\xa9\xe7\x95\xab\xa3\x43\x0f\xa4\x4a\x14\xba\x12\xf6\xf0\x9a\x4a\x22\x3f\xf5\x04\x07\x86\xa4\xe8\xad\x6c\x0a\xf3\x26\x5d\x6f\x04\x2a\x9e\xa0\xe0\x40\xba\x9f\x23\xfc\xa5\x65\x97\x74\x6a\xa7\x7f\xc8\x3d\x3a\xa5\xc7\x61\xb9\xc6\x36\x99\xe9\xff\xe3\x6f\x14\x0f\x14\xdf\x26\xb9\xd5\x2c\x84\xbb\x0f\x3d\xfa\x53\x97\x15\xdd\x8e\x64\x14\xec\x02\xd4\x40\x95\x62\x15\xd3\x64\x51\xe4\x28\x63\xa8\xd4\xd1\x52\xee\xa3\x31\xce\x81\x9d\x5b\xa4\xfa\x0f\x67\x7a\x46\xdf\xe4\x8a\x36\xc2\xbc\x01\x4c\xfd\x73\x95\xb1\xd8\x95\xb8\x72\x2f\x05\xdc\x3f\x04\x93\x1b\x07\xf5\x74\x3c\xa6\x5a\xd4\xa7\x5c\x72\x62\x92\x2d\xea\xb3\x21\xff\xc4\xba\x51\xc3\x25\x8d\x71\xd5\x79\xbb\xce\x5d\xc4\x35\x5a\xc0\xcb\x8c\x2a\xd7\x38\x17\xd8\x2e\x56\xa8\x8c\x49\xc8\xc1\x9f\xd8\xcc\xfc\x9a\x47\x92\x12\x8e\x99\xee\x80\xc7\xd8\x2f\xaf\x1b\x81\x75\xdc\x20\x4c\xee\xdf\xe2\x3f\x6b\xa0\x6c\x51\x5d\xac\x97\x27\xd2\xe0\xae\xd3\xfc\x07\x9e\xb1\xb6\x27\x59\xda\x1b\x7e\x01\x9b\x5e\x0c\x04\x85\xc3\xd1\x2e\xfa\x93\x12\x2b\xb9\x9d\x82\xb1\x7a\x93\x1b\xcc\xc5\xa6\xd5\xe1\xaa\x78\x02\xfc\x53\x62\x80\xb4\x1f\x6f\x2c\x95\x66\x9b\x39\xfc\x08\x04\xd3\xb3\xb2\x98\xe3\x53\x92\x74\x0f\xe6\x86\x25\x01\x5a\xc9\x3c\x48\x1d\x9a\x19\x39\x65\x0e\x3d\x2f\x60\xa3\x87\x97\xc0\x69\x2a\x0b\x8f\x52\x47\x0d\x2c\x65\x05\x27\xd3\x65\xde\xe6\x20\x4e\x1e\x76\x40\x3a\x16\xec\x52\xd0\x11\x40\x88\x69\x79\x43\x5a\x41\x14\x92\x68\x5a\x62\xc0\xe1\x44\x16\x5f\x8b\x90\xa8\x30\x6b\x88\x18\xa8\x90\x9b\x17\x84\x01\x15\xd8\x21\x29\x1c\x85\x03\x3e\x48\x28\x22\xc8\xe9\x40\x95\x97\x11\xb6\x8d\x38\x65\xf2\xae\x99\x6c\x02\x27\xf9\xa9\xcd\x86\x04\x72\x06\x3f\x7e\xd4\x0b\xc8\xe6\x2d\xf4\xca\xfe\xe0\xd3\x86\x1f\x77\x56\x39\xb5\xc1\x9c\x7b\xc3\x66\x9c\x31\x52\x8a\x03\xc1\x2d\x88\xb0\xfa\x9b\x2e\x47\xfe\x89\xbe\x8a\xb8\xcd\x6b\x0c\x6d\xf0\x7f\x16\x7f\x3f\xa5\x90\xa6\x96\x2e\x4c\xc6\x35\xb5\x06\xf4\xb0\xb1\xce\x1c\x45\xcd\x2d\x6b\xa5\x3b\xc6\x1f\x55\xec\xd7\x1e\x18\x6a\x16\x0c\x99\x29\x8b\x7d\xd0\xd2\x8d\xe7\x12\x02\xdd\x68\x4d\x09\x4a\xd7\x92\x52\x83\xee\x15\x8d\x4c\x2d\xbe\xa0\xb1\xc9\xb5\xad\x67\x30\xbd\x70\x39\x63\xbb\x18\x5b\xcf\xe8\x1e\xc6\x17\x34\xdc\x41\x5b\x9c\x44\x2b\x80\x42\x39\x14\x4d\x7c\x26\x6a\x0b\xde\x3e\x58\x75\xde\x6a\x83\x94\x4a\xac\x21\x0a\xc5\x6f\xde\x8e\xbb\x34\x7a\xfd\x39\xd7\x01\x34\xd7\xb8\xa9\xa8\x56\x7e\x2e\x67\xf5\x43\xd4\x42\x6f\x97\xb5\x63\x11\x9d\xa7\xbb\x34\xc5\x88\xc3\x7e\xcf\x48\x4d\x64\x24\xb0\x3f\x5a\x97\x46\x0d\xd9\x7e\x6e\xc4\x5d\xdc\x71\xfe\xf7\xd2\x3f\x5e\x45\xe7\x28\x10\xe7\x58\x32\xaa\x8d\x16\x97\x52\xaf\x98\x67\x0e\x55\xd7\xb9\xd3\x34\xf9\xc5\xe6\x67\x7d\xc5\xe2\xe9\x56\xd8\x7a\xc7\xd4\xde\x4e\xd9\xb2\x40\xb6\x61\x64\x7d\xcc\x6f\x76\x79\x14\x54\xf3\xb1\x75\x71\x6c\xe7\x55\x6b\x43\x0d\x7f\xdb\xd2\xd8\x89\xad\x58\x19\x2a\x15\x60\xb7\xd5\x4a\xd0\x3f\xb8\xd9\x98\xef\x7c\x82\x10\xce\x42\x04\xa8\xa2\x35\x23\xa0\x7e\x6c\x07\xa5\x79\x54\x08\x29\x32\x15\x4a\xa8\x11\xd9\x7c\x2d\x08\xc5\xd9\x02\xc6\x97\xc7\x38\x94\x13\x73\x82\x59\x91\x98\xe2\xfb\xfa\xf9\xc8\x5a\x39\x26\x4c\x91\x7d\xec\xc9\xc9\xc4\x3f\x58\x86\xcd\xf0\xcd\x9f\xfb\xa9\x26\xe4\xed\x52\x61\xa6\x53\xe7\xb7\x98\x52\x62\x1f\x82\x46\xbb\xae\x6a\xa9\xb8\xf4\x55\xc4\xf1\x85\x6d\xc6\x44\x33\x4b\x1d\x76\x4b\x06\xc9\xbb\xd8\xea\x0d\x62\x54\xf3\x61\x53\x89\x88\x77\xed\x58\x46\xa4\xe3\x8a\x32\xa8\x54\x3f\x64\xda\xfd\x05\x04\xb8\x05\x3f\x87\x88\x9a\x49\xa8\x22\xd5\xaf\x85\xdd\xd3\x20\x15\xf6\xdd\x7b\x7a\xdb\x9d\xd1\x29\x4d\x7c\xb6\x1c\x21\xd1\xbb\x0f\x9b\x34\xca\x22\xa7\x91\x39\x8f\x51\x12\x85\x67\x44\x7e\x61\x0a\x95\xc0\xe9\x6c\x88\x76\x71\x81\x4f\x27\xd6\xa0\xfc\xa4\x99\x16\xf5\x00\xa4\xd2\x94\x88\xbe\x0b\xfe\xe3\xee\xa0\xfc\xa4\x04\x72\x91\xaf\xa3\xf1\xc6\x52\x89\xb7\xdf\xe3\xa6\xaa\x20\xa9\xf4\x95\x7c\xa7\xe3\xaa\x12\x2f\x17\x43\x1e\xbd\x11\x65\x27\xda\x4b\x76\x1e\x38\x8e\xd2\x63\xe5\xe3\x1e\x5a\x77\xff\x97\xfe\xde\xf8\x66\xee\x25\xe9\x08\x38\xd7\xb2\xce\xf4\xaf\xa4\x58\xe4\x4e\x2e\x5b\xb7\x29\xcc\xc4\x88\x24\x55\x39\x46\xd9\xf2\xdf\x90\xb0\x9f\x3c\xc1\xb4\x2c\xb5\xc9\x28\x6f\xb5\xe8\x3c\x87\x8a\xfb\x4f\x8b\x74\xc2\x3a\x5f\xa4\xf8\xac\xe2\x8e\x18\x6f\xaf\xaa\xf1\x1a\x3d\x99\x84\x96\xba\xf1\x4c\xe8\x7d\x6f\x56\xfc\xf7\x53\x2c\xf5\xca\xf6\x81\x3f\x10\x2f\xbf\x84\x03\x83\xcc\x18\x87\x11\xf9\x2a\x45\xd8\xf4\xd0\x67\x7b\x69\x7d\x7d\x87\xc9\x5d\x2f\x65\x89\xa2\x7a\xef\xdf\xd8\xb1\x08\xb7\x44\x87\x71\xeb\xa6\x9b\x8d\x3d\xdc\x12\x2c\xdf\xd2\xd0\x68\x8b\x3b\xc4\xa9\x3d\x83\x47\x6f\x46\xc9\x1a\x58\x19\xdb\xbb\xa9\x27\x18\xab\x2e\xe7\xaf\xa9\xf7\xc7\xad\x11\x80\x67\x9b\x96\xab\x5d\x03\x62\xbe\xe1\x14\x5a\x81\x1a\xc3\xce\x50\x17\x52\x11\xb4\xdd\x1a\x15\x93\xeb\x76\x0a\x9a\xa5\xe5\x69\x0e\x24\xb1\xb3\xb8\xf2\x68\x85\xcd\xc0\x8d\xef\xdb\x68\x4b\x51\x8f\xfe\xda\xf8\x29\xef\x25\x67\xf9\x64\x92\xcd\xf5\x6f\xc3\xcb\x6c\x74\x9e\xd7\x43\x34\xe6\x0c\x99\x89\xec\xd1\xfb\xdd\x6b\x04\x5b\x1f\x6b\xb1\xa9\xbc\x1b\xd1\x15\xe4\x21\x4d\x35\x38\x4f\xf4\x13\x1f\x27\x97\x65\x58\xe5\xbe\x20\xeb\x72\xf2\x97\x4f\x3d\xb3\x54\x68\xe4\xf6\xe8\x81\xba\x29\x42\x08\xf4\xf7\xd8\x87\x9a\x1c\x9d\x65\x59\x5d\xbd\xdb\xf9\x80\x4b\x8c\xbf\x56\x54\x07\x3c\xd2\x4b\x76\xc2\x58\xa6\x01\x8b\xd1\xb4\x18\x9f\xf7\xdc\x18\x38\x5b\x68\xfd\x2c\x9f\x9f\x7f\x8c\xcf\x0b\x58\xe1\xb9\xe2\x12\xba\x43\x50\xe6\xb3\xcc\xa6\xe8\xc2\x42\x63\x56\x88\xa3\x3b\xda\xc7\x2f\x1f\xbf\xec\xe3\xde\x4f\xd2\xcd\xbd\xe4\xa8\x28\xcb\x6b\x4e\xc3\x03\xcd\xe9\x98\x7d\xec\xc9\xd5\x66\xaf\x3c\x74\xe4\x3e\xa5\x62\xb3\xca\x01\x97\xa1\x51\x4a\x15\x71\x38\xf8\x53\x85\xca\x33\x9b\xcd\x6f\x91\x8f\xcf\xe1\x68\x8e\x32\xca\xa0\x4f\x76\x7d\xd4\xb6\x3b\x45\xcd\x8c\x94\x3c\x17\x05\xd6\xcb\x36\xcf\x5a\xd4\xa4\xe5\x95\x67\x3a\x63\xa4\xe2\x2b\x72\x35\xe4\x9f\xd5\xaa\x48\xfb\x70\x41\x40\x62\xc3\x15\x41\x4a\x18\x15\x57\x2b\xdb\xd7\xe9\x88\x74\x32\xd8\x67\xb8\x1b\x6b\xde\x76\xb0\x64\x87\xf7\x12\xda\x5f\x4d\xd3\x27\x40\x81\xc3\x93\x74\x96\x4f\xe1\xd7\x59\x31\x2f\x28\x77\x4b\xa3\x05\x32\x03\x38\x51\xdf\xac\x77\x00\xcd\x49\x1b\x02\x4c\x7e\x28\x3d\xb0\x51\x02\xc3\xab\xd8\xf9\xa3\x8c\x8a\x43\x1a\x7b\x0f\x2d\xc6\xeb\x1c\xe7\x65\x8d\xd7\x30\x1f\xc2\xe4\x6e\x3e\x43\xa3\x5a\x3a\x37\x54\x65\xb9\x4d\x83\xa5\xca\x6a\xe9\xa7\x99\xac\x5f\x93\x89\x32\xf6\xbd\x81\x61\x8b\x7c\x17\x07\x6c\x71\x25\x14\x32\x3a\x92\xcd\x31\x84\x44\x36\xc5\x1b\x82\x33\x0b\xf0\xf8\xe5\xf3\xe7\x08\xf8\x28\x8a\xe3\x6d\x20\xf7\xd0\xe3\xc8\x01\x42\x4f\xba\x9b\x42\x20\xab\x9c\x03\x41\xb6\xb8\xe6\x2d\xe2\x36\xa7\x01\xe0\x3c\xbb\xc6\x18\x1c\x07\xe2\x11\xb4\xfb\x39\xbb\x7e\x0c\x5f\x36\x01\x29\x1b\x3a\x65\xb9\xc4\xb4\x85\x2e\x21\xa5\x31\xa4\xb1\x81\xb2\x94\x92\x48\xc6\x41\x85\x94\x94\x2d\x67\x18\xee\x62\x75\xbe\x6c\xe3\xdb\x9c\x30\x27\xe9\x10\x1a\xbf\xe9\x46\xa2\x82\xed\x9d\x37\x12\xb7\x88\xec\x54\x78\x0a\xec\x9c\xdc\x42\xda\x2c\x9f\x26\xed\x3b\x06\x06\xb1\xcd\x95\x7c\x18\xc4\x05\x83\x59\xe2\xe2\x9a\x65\x29\x67\x06\x2d\x16\xfc\xec\x7c\x94\x9e\xb6\x73\x46\x6a\x31\x1c\xa5\xa7\x0a\x47\xaf\xe7\x6d\x96\xb8\x6b\x1d\x9b\x9c\x45\x1d\xfc\x51\x51\xd7\xc5\xcc\x43\x3b\x82\x91\x2b\xe2\xa7\xaa\xb0\x90\x3d\x61\x64\xf2\x2b\x42\x07\xa0\xb6\x29\x97\x9b\x1b\x65\x53\x31\xeb\x33\x7c\xf9\xa5\xcc\x04\x3d\xf6\x46\x24\xd7\xc1\x3b\x52\x8e\x02\x6b\x61\x48\x62\x1b\x5a\x79\x72\xdf\x22\x15\x5d\xea\xd7\x59\x50\x0f\x42\x7c\xef\x91\x8f\x23\xeb\xa8\xa7\xd7\x0c\xcc\xf3\xf4\x33\xb8\x61\x65\x72\xc6\x45\xc0\x58\xaf\x46\x63\x5f\x31\xf3\x7e\x02\xc3\xb7\x6e\x1f\x4e\xc4\xdf\x38\x6a\xde\xd8\xb3\xc6\x5e\x45\x8e\x52\x83\x22\x0d\xb4\xc6\xfe\x18\x94\xfc\x31\xbd\x5d\x59\x0d\x5d\x81\xf2\x59\x07\xef\x09\xbd\xc7\xd0\xd2\xb3\x44\xef\x1a\xc3\x38\xa8\xec\x3c\x96\xb8\xe1\x64\xbf\xec\x64\xe1\xea\x98\xcc\x2b\x10\x6e\xd1\x19\x86\xc1\xa1\x2b\xa4\x75\xe8\x93\xe7\xf9\x68\x79\x72\x82\xb9\x5b\x69\xd5\xaf\x39\x97\x9c\xac\x3d\x19\x28\x7b\x15\xd5\xf1\x61\x17\x91\x2a\xb1\x5e\x53\xce\xc9\x02\xe5\x11\x98\x0c\xe6\x41\x64\x90\x4e\xc0\xe0\x8a\x28\x39\xe7\xf9\x8c\x95\xfb\xc2\x87\xd0\x9d\xc0\x17\x06\x61\xa2\x01\xb5\x20\x67\x67\xa7\x89\xe7\xf4\xb0\xa8\xe1\xe8\x11\x82\xf0\xc8\xad\xaf\xcd\x89\xea\x21\x1a\xe7\x59\xc6\x79\x65\x47\x38\x43\xe4\xaf\x54\x8d\x87\x72\xdd\xa9\x54\xc9\x0c\x2e\xb7\x3e\x4f\x8e\x62\xd9\x61\x94\x3d\xa6\x7a\xe4\xcd\xc4\xbf\x55\xbd\x64\xb9\xc0\xe4\x9e\x55\xd2\xa7\xaf\x89\x97\x17\xec\xcb\x22\xeb\xe1\xdc\x62\xc5\xa9\x26\xd5\xc2\x60\x3e\xcb\x36\x31\x5f\x1e\xbb\x8e\x12\x31\x0c\x82\xc1\x4f\xb3\x5a\x1e\x82\x52\x78\x1b\xd6\x7d\x7c\xae\x45\x3a\x80\xba\x0f\x14\xbf\xd6\x95\xa0\x9a\x37\xa9\x3f\xb2\x7e\xab\x19\xb2\x82\xe8\x13\x68\x75\x71\x6a\x23\x82\x8d\x32\x3f\xe2\xf8\x66\x36\x05\x9a\xfc\x77\x51\xcc\xac\x01\x1c\x6d\xab\x23\xe3\x8b\xc7\x95\x1e\x4c\x45\xb5\x25\x8a\xce\xe8\x68\x66\x9e\x71\xec\x21\x69\xdc\x75\x52\xae\x47\x32\xb2\x3e\xac\x5b\x31\x69\x9d\xcd\xf1\xce\x0f\x9c\xe4\x71\x10\xb8\x2b\xa3\x6a\x9c\x9b\x17\x3b\xf9\x5c\xa3\x1e\x52\xc0\x19\x8e\x25\x33\x31\x13\x40\xec\x93\x29\x5c\x2e\x53\xce\x80\x28\xfe\x3e\x64\x73\x32\xce\x6d\x56\x84\x27\xdd\x81\x27\x9a\x5f\x38\x36\x8e\x2a\x90\x2e\x2d\xc7\x8b\x23\x7b\xb9\x88\xfb\xd7\xe5\xe5\xe5\xd6\xe5\x57\x5b\x45\x79\xba\x7d\x7f\x67\x67\x67\x1b\xa0\xd1\x9b\xe5\x42\xdf\x57\x38\x44\x20\x9a\x5f\xcd\xa6\xf3\x8a\x1d\xf4\x5b\xe1\x74\x02\x40\x3f\x21\x98\x06\x82\xd8\xdd\xda\x6d\xb4\x6d\xbb\x13\xbb\xd5\x28\xc0\x2b\x03\x75\x0c\x46\xf1\x04\x5f\x45\x88\x15\xe9\xef\x8e\xcd\x8a\x8e\xfe\x18\xac\x46\x36\xda\x2a\x43\x8d\x7f\x62\xda\xa2\x02\x64\x29\x3b\x64\x25\x67\x44\xd8\x95\x2a\xbd\xc4\x90\xc6\xe9\xa2\x5e\x4a\x21\x5e\x6a\x39\x71\x19\xab\x4f\x38\xb5\x2f\xf2\x0c\x09\xd0\x84\xbd\x46\xa9\xfe\xf2\xac\xa0\x2a\xdb\x4e\x6e\xa3\xae\xc7\xe8\xe8\x5d\xb7\x9c\x53\x84\x8a\x2e\xf7\x6a\x0d\x75\xa7\x75\xdf\x54\x7e\x9f\xe8\xfa\x77\xad\xbe\x7b\x1b\xa9\x27\x93\x7d\xca\xe8\xef\x64\x4b\xe0\x2b\xab\x89\xef\xf1\x65\xe5\x2b\x3c\x7a\x05\xdc\x41\xb4\x4b\x3b\x6d\x68\x8a\xd2\xe5\x70\x92\xd7\xe4\x11\xae\xfc\x05\xbb\x79\x8f\x86\xd2\x02\xbb\xf5\x19\x82\xeb\xfd\x74\xbe\x58\xd6\x46\x64\x67\xff\xb8\x57\xae\xf3\xb1\x69\xd1\x94\xdf\xf9\xd6\x16\xb7\x41\xdf\x34\x2f\xce\xb3\xe4\x9b\x63\xdf\xa8\x42\x2e\xf8\x22\x9d\x15\x05\xeb\x00\xf8\xb2\xb6\x31\x0e\x0b\x51\x9f\x6a\xbf\x35\x93\x39\x0e\x7b\x3e\x61\x40\x6f\xd2\xe9\xd2\x7a\x67\x1c\x1c\x1d\x79\x4f\x61\xba\xee\xf0\xfa\x31\xb0\x8d\x1f\xbd\x1a\x22\x49\x8e\x9c\xd3\xaf\x7b\x3a\xd3\x18\x5b\xb1\xc1\x8b\x45\xfd\xd1\x61\xfd\x92\xaa\xa7\x83\x68\x71\x41\x88\xe0\x40\x56\xe6\xf7\x27\xc8\x21\x07\xf8\xcf\xe3\xec\x24\x5d\x4e\xd9\xef\xd9\x26\x08\x95\xca\x82\x92\x5d\xcd\xa6\x4c\x5c\xa9\x41\x86\x73\xf0\xc4\x2d\x87\x52\x23\xbb\x45\x1a\xf8\x38\xfb\x6e\x78\x4a\xe3\x70\xe2\xc1\xb1\x7f\x98\xc0\xb2\x08\x90\x28\x18\x9e\x3d\x22\x75\x64\x97\xe9\xa1\x8f\x02\x19\x9b\xb4\xca\x7e\x6d\x30\x9c\x5c\xd6\x69\xf2\xd1\xaa\x70\xa0\x63\x09\x0c\xfd\x75\x2c\xd9\x69\xdb\x92\xf1\xa4\x74\x3e\x88\xb6\x05\x0a\x68\x1c\xf5\xc4\x12\x68\xe2\xf4\x62\xba\xec\x84\x93\xe7\x02\xd2\xd6\xb4\x80\xe6\xe1\x01\xdd\xc1\x9c\x24\xc4\x80\x44\xef\x60\xac\xff\x57\xa4\x13\x12\x07\x70\x3c\xe0\xb1\x58\xab\xcc\x74\x4b\xd0\x0f\xee\x4b\x1a\xc3\x23\x27\x4a\x5b\xc2\x35\x75\xad\x07\x3f\x1e\xbf\x05\xfa\x3e\x4f\xd4\x00\xeb\xd0\xd9\x2f\xac\x14\xd4\x2b\xb6\x2c\xa7\x2e\xfc\xdd\xfe\xb1\x5a\x89\x78\x56\x66\x18\x18\x87\x3d\xb4\x59\xa9\xd9\xcd\x59\x4e\x9d\xa5\x49\x2b\xac\x9b\xfa\xd5\x06\x0c\x5d\xb7\xd6\x9a\xcf\xdb\x06\xd1\xf8\x07\x83\xe8\x1c\xa9\x2d\x83\xac\xa2\x3c\xbe\x7f\x1b\x14\xe7\xa9\xdc\xa9\x4d\xbf\xf9\xf4\xb7\xdf\xaf\x43\xdd\x65\xa6\xaa\xd8\xdd\x84\xc4\xa9\x44\xe3\xca\x31\xaa\xce\x31\x08\x46\x2b\x97\x19\x4b\xf3\xf5\x46\x82\xd9\x3c\xf2\x6b\xf2\xdd\x64\x36\x41\x39\xbf\x75\xe6\xd5\x31\x5a\xf7\xbc\x46\x8d\x8e\x6b\xaf\xa5\x1b\xf3\xe9\x2c\x3d\xf5\x8c\x81\x39\x7e\xb1\xc6\x98\xa6\x23\xb5\xbf\xd9\x98\x12\x81\xe5\x1c\xb6\xe1\xef\x35\x46\x94\x6e\xd8\xfa\x66\xe3\xa9\x34\x0a\x76\x4c\x3f\x59\x51\xe7\xb8\xaa\xbb\xe9\xb5\xce\xf8\x07\x5e\x4c\x81\xdd\x52\xfb\xad\x1a\xd9\x0b\x3f\x70\x7f\x84\x09\x74\x13\x0e\x1b\x22\x11\x8d\x62\xde\x8c\x6a\xc7\xc5\x86\xf8\x11\x9a\xe8\x08\xc0\xd9\xe2\xed\x13\xca\xdc\x0f\xfe\xbb\x9e\x1a\xad\xe4\xc8\xe8\xa1\x44\xf0\xc3\x0d\x54\xbe\x82\xfc\x0b\x03\x81\xf6\x07\xc0\xf5\xe1\x3e\xc5\x6b\x32\xd0\xa1\xdb\x53\xc4\xfc\xcf\x88\xbd\x14\x6e\xc5\x7f\xb0\x05\x52\x44\x5f\xfa\xde\x94\x8f\xe7\x45\x8b\x47\x87\x20\x57\xec\x5a\x38\xbf\x54\x73\xfb\xca\x99\x6a\x78\xf9\xe4\x94\x32\x26\xba\x9a\x18\xb7\x5e\x36\x93\xae\xaa\x83\x9b\x78\x4b\xdc\xdf\x94\x19\x77\xcd\xc7\x45\xe9\xb4\x4e\x68\x3d\xec\x38\xc4\xea\x66\xe8\xf1\xe0\x91\x4c\x51\x89\x76\xeb\x94\xf7\x7d\x31\x9d\x54\x49\x23\xd0\xdb\x84\xcb\xdf\xd8\x93\x41\x79\xcf\x75\x23\x6d\x6f\xd5\xd6\x8c\x56\x46\x31\x66\x1f\xa8\x01\xc2\xbf\x19\x51\x5e\x34\x71\x95\x59\x7d\x99\x78\x88\x1e\x4c\x49\x87\x87\x4a\xdb\xf9\x35\xd7\xcc\x9e\x98\xa0\xca\xd5\x52\x14\xa6\x27\xa8\x29\x36\xb2\x45\x0a\xe8\x0c\xeb\x5c\x23\xd4\x52\x63\x7a\xc6\x19\xb0\x94\xff\xb3\x0a\xe0\xf5\x8e\x16\xf1\x23\x72\x9f\x30\x0b\x2c\xd5\xc0\x29\x7e\x9d\xe2\x2f\x53\x09\xfc\x0c\xdf\x64\x2f\xc9\xd3\xf8\x46\x41\xcd\x66\x0f\xcd\x7b\xc8\xa4\x22\xb8\xf1\x56\x62\x9a\x0a\x35\x6c\x57\xc4\xb3\x79\xa1\xca\xea\xfb\xca\xe6\xd6\x18\x67\x7b\x15\xc1\x26\x2f\xa7\xd9\x6b\x5a\x81\xe0\x85\xfb\x74\x0e\x8f\x3e\xae\x66\xae\x22\xa5\xac\x5f\x2e\x3a\xeb\xa9\xd8\x05\xca\xd7\x80\x2a\x30\x2c\xe3\x84\x72\xbb\xa7\xc7\x47\x78\x36\xdf\x02\x3c\x00\xa6\x05\xec\x60\x89\x6f\xcb\xdc\xe6\x70\x38\x52\xe5\xed\xc4\xba\xae\x8a\x72\xa7\x9c\xc0\xe0\xa4\x39\x37\x4a\x36\xc5\x14\x03\x04\x37\x2f\x2e\x69\x30\x39\x76\xf8\x0c\x9d\xd7\x79\x89\xd5\xbc\x31\x9c\x3f\x73\x25\x8d\x29\x82\x23\xc7\xc0\xf7\x89\x28\x89\x58\x23\x69\xb2\x09\x20\x98\xb9\x8b\xaa\xd1\x18\x78\x3e\x38\xce\x57\xd1\x56\x85\xe7\x54\x13\x4c\x12\x1c\xad\x31\x26\x9a\x9d\x78\xc4\x59\x9d\xe7\x8b\x4a\x16\x8d\xa1\xda\xe4\x01\x04\x16\xe3\x85\x84\x38\xd9\x7b\x4e\x96\x03\xef\xd7\x11\x87\x8c\x53\x20\x88\x64\x12\x48\xb8\xa0\x5e\xc0\x9e\xd1\x53\x7e\x44\x61\x89\x62\x77\xa1\x84\xe7\x56\x2b\xeb\x62\x67\xcf\xd2\x2a\x40\xb4\x93\x44\xf3\x39\x6d\x5e\xe0\xe2\x15\xaf\x99\x64\x6d\x22\x41\xec\x83\x2e\x27\x64\xca\x9c\x68\x3b\x88\x4e\xd6\xe8\x95\xb0\x8c\x05\x52\x78\xc5\x50\x44\xdb\xd6\x56\x0f\xc5\xc4\x63\x44\x42\x31\x3a\x19\x91\xe1\x56\x17\x64\xf7\x58\xbc\xb6\xe1\xe7\xf6\xda\x3a\x76\xdf\xf6\x6d\x36\x1d\x9e\x53\xa4\xf5\x23\xef\x87\xbe\x02\xa9\xd4\x4f\xb8\xff\x6f\xf8\x18\xc1\xaf\xd5\x47\xdd\x6c\x10\xc0\x5e\xfd\x8a\x32\x47\xfe\x69\xc7\xfe\xb9\x4a\x72\x26\x74\x54\x6d\x77\x3c\x6d\x9a\x8e\xdd\x08\xe3\x4e\x7d\x5a\x01\x4e\x75\xcc\xbf\xf4\xad\x07\x7f\xdf\xf9\x40\x4a\x1d\x22\x72\x82\x8f\x41\x30\x81\x37\xd4\xc0\x7d\x6d\xdd\x21\x39\xe7\x72\xa0\xc4\x30\x5a\x3a\x4f\x9c\xbd\x19\x3f\x26\x7d\x4d\x20\x8f\x2e\xae\x3a\x55\x4e\xd2\x7c\x71\x95\xdc\x4b\x7a\x8b\x2b\x65\x63\x69\xd3\xed\x34\x65\x1b\x73\xc1\xfd\x16\xec\x4f\xe3\xd8\x7b\x62\x01\x1c\x9b\x0a\x68\xa2\xee\x77\xcc\xc5\x47\xf2\xb9\xe4\xbe\x20\x7e\x23\x88\x59\x07\x5e\x97\xc5\x02\xb8\x13\x45\xc6\x37\x32\x87\x68\xb5\xe3\x25\xcb\x84\xc7\x66\x9b\xe4\x6f\xcc\x71\xc9\xa3\x10\xd3\xea\xcd\xe1\x3e\x4a\xa7\x3d\xa0\x4f\x73\xc3\x16\xb3\xbc\x96\x1a\x6f\x2e\x53\xad\x4b\xb7\xf1\x29\xd9\x0f\x12\x70\xc8\xfd\xbd\x72\xcd\x64\xdc\x83\x20\x9b\x87\x5d\x3c\x87\xb5\xca\x92\xc8\x57\x13\xa5\xe8\xf0\xf4\x2d\x36\x6b\x47\xa0\x7d\x69\xb3\xe0\x79\xdd\x5a\x8d\x2b\xab\xcc\x2b\x31\x03\x4b\xd4\xc4\x12\x35\xb2\xf8\xbf\x9b\x67\x53\xba\x84\x3d\x71\xbe\x4c\x7e\x23\x79\x42\x35\xda\x18\x4d\x98\x54\xa1\x37\xae\x6e\xe2\xcd\x6a\xd2\x4f\xa4\x68\xc4\x26\xeb\xca\x2c\x3d\x57\x64\x05\xf7\xee\x18\x73\x36\xc0\x34\x0d\x14\x3f\xcd\x0f\xba\xc9\xc2\x05\x7f\x52\x5c\x05\x4b\x77\x04\xf0\x56\xaf\x3a\x8e\xda\x5c\x76\xea\x1b\xf8\x40\xf6\x7b\x7f\x88\xfc\x13\x0f\x4f\x68\xfc\xf3\xaf\xd3\x37\x42\xa2\x4d\xef\x1d\xbb\x86\x66\xf3\xdd\xd7\x8f\x40\x58\x41\xcf\xb8\x9b\x6d\x0d\x13\xcf\x25\xa6\x58\xa2\xfc\x11\x1c\x22\x64\x4c\x72\x68\x5f\x16\xb0\x6d\xa3\x35\x19\x73\x6f\x47\x98\x72\xbc\x7d\xe0\x00\xfb\x87\x40\x41\xaf\xc8\xc4\x41\x7e\x6b\x1e\xb7\x8a\xab\xfd\xfa\x2b\x29\xf7\xef\xac\xf6\x01\x11\xd6\x61\xc4\x06\x1e\x61\x85\xa6\x23\x5c\x69\xa5\x1d\x09\x52\x0f\x59\x70\xf2\xda\xdf\xf6\xb6\x50\x17\x7a\xe5\xc0\xd8\x6e\xcf\x6c\x07\x8d\x79\x83\xb6\x97\x75\x11\x85\x5d\x5f\x76\x35\x46\x00\x66\xe7\x0c\x3d\x04\xfb\xc0\xe9\x9f\x41\xb0\x7a\x10\x0c\xd0\xd0\x5b\x37\x06\x68\xae\x79\xbc\x8f\x6e\x1b\x31\xca\xb7\xf8\x69\x5e\x9c\xaa\x49\xa0\x57\xc0\x13\xb8\x2a\x48\x41\xea\x2c\xe3\xda\x59\xe1\xc1\xaa\x21\x1a\xc8\xc9\x10\xee\x9a\x76\x4a\xc9\x68\x84\x70\x98\xad\xaa\xf9\x16\x2e\xb3\xe1\x4c\x5d\xdc\xb6\x0e\xad\x9f\xe4\x8a\x02\xd1\x27\x64\x3e\x77\x19\x5a\x24\x7d\x1a\xf0\x68\xf6\x05\x27\x4e\x5d\x8f\x57\x2b\xa6\x1a\xe2\x4e\x9b\x8a\x20\x68\x43\x5f\xc6\x2e\xe2\xbe\x23\x75\xdc\x69\xab\x51\x6a\x42\x11\xe2\x0c\x05\xb0\x88\x93\xf9\x99\x01\xe2\x20\x76\x3a\x00\x76\xb5\x0f\xdd\xf6\xba\xba\x34\x8d\xcc\x5a\x00\xe7\x54\x2c\xaa\xae\xf2\x5b\x8e\x92\xed\x51\xc9\xcf\xd1\xf2\xf4\x94\xca\x9a\x65\x98\x89\x2e\x91\x38\x04\x93\xb7\x0d\x49\xca\xe6\x61\xa2\xd7\xa5\x71\x97\x34\xc0\x44\x0d\xc5\xaf\x72\xe3\xf5\x15\x33\x13\xa9\xb0\x08\x19\x04\x8e\x63\xf2\xd0\x32\x88\x95\xcd\xf9\xa1\xa3\x7a\x7c\x45\x46\xbd\xd5\xdb\xf5\xc9\x97\x8b\xd1\xfd\x6b\x02\xaf\x82\x79\x45\x79\xa3\x90\x4e\x95\x96\x4f\x5e\xb2\x68\x7d\x66\x4f\x39\xd2\x4a\xa4\xf2\xa6\x15\x5b\x25\x02\x52\x20\x44\x9c\x76\x4e\x6b\xeb\xa8\xba\x3a\x68\xb8\x35\x97\x50\xc0\xc1\x39\xc9\xa9\xa7\xac\x4e\x86\x4d\x93\xf1\xd8\x35\x7e\xe0\xd9\x86\x8f\xbc\x7c\x55\xde\xd3\x42\x5e\xad\xd5\x63\x3b\xcb\x8f\xea\xc4\xc4\x9e\x6a\x8b\x25\x3c\x82\x2b\x5b\xb8\xd2\xc6\xe6\x24\x7f\x51\x29\x6c\xf6\x58\x27\xf3\xc9\xdc\x0b\xc1\xf4\xf9\x1f\x0e\x98\xa6\x3e\x80\xc6\x71\xc1\x1b\xdf\xa7\xaf\x23\x4a\x1b\xca\xab\xd5\xdf\xb4\xe9\x14\x2c\x80\x50\x2f\xc5\x3f\x7e\x8a\x3f\xed\x6c\x22\x7d\x72\xbf\x53\x8f\x24\x9b\x4a\xd0\x90\xfa\x5a\xbc\x2a\xb2\x7e\x2d\x56\x08\x6d\xa5\x88\x29\xae\xdd\x96\x45\x32\xba\xb9\xde\x5b\xb6\x50\x79\xd0\xd6\x65\x77\x53\x8d\xcf\x1c\xe7\x60\xa1\x88\x12\xac\x59\xd1\x88\x72\x76\xa5\x26\xf3\x0c\x2d\xc1\x28\x93\x54\x73\x5e\x6e\x4b\x78\x80\x61\xe6\x28\x93\x04\x8d\x44\x70\x93\xff\xcd\xb8\x47\x9d\x4c\x0b\x2a\xcb\x7e\x8d\xa1\x6a\x63\xf1\x08\xb1\x27\xcd\x7a\x3d\x5d\x58\xf5\xc4\x81\xd4\xac\xa6\x0c\xb1\x5b\xd5\x0c\xb0\x78\x82\x30\x1e\xe7\xb8\xef\x86\xc0\x1a\xb3\x19\xb4\x33\x03\xe5\x6c\x98\xa1\xf3\xfc\x0c\x1e\x0e\x59\xe2\x27\x0e\x2b\x96\xf8\xd0\xac\xb3\xd3\x12\xd0\x9b\x2f\x67\xa3\xac\x94\xf4\x80\x95\xc9\xce\xec\x50\xac\xfc\xfb\x22\xc4\xbd\x83\x2f\x79\x98\x90\xe5\x41\x34\x8a\x63\x2c\x32\x59\x5f\x66\x99\xe7\xdd\x2a\xf8\xa5\x94\x2f\xba\x96\x85\x93\x2f\xf1\x15\x54\x59\xef\xd1\x11\x86\x06\x4c\xc8\x7d\x90\x38\x56\x45\x4e\xd1\x1c\x6e\xc6\x4e\x86\xe6\xd5\x54\x62\x5c\xe5\x84\x4f\x22\x7b\xe6\xc0\x46\xe5\x92\x5e\x8f\xd3\xfa\xb2\x07\x26\x66\xb9\x2b\x8d\x1f\x26\x6e\xaa\x75\x04\x37\xba\xa2\xc8\xee\x01\x57\x7f\x4e\x83\x26\x52\xa1\x2a\xf8\x9d\x4f\xb3\x6d\xd2\xd8\xc6\x64\xd8\x5c\x67\x77\x06\x02\x77\x6c\x9e\x9e\xb9\x19\xda\x51\x31\x97\xc1\x1d\xa7\x78\x43\x30\x2f\xbd\xc2\xc5\xad\x2a\xc7\x48\xf9\xd0\x48\x62\x19\x1f\xe6\xbd\x06\xb7\x16\x3e\x1b\x51\x21\x16\xf1\xd2\xc1\x9f\x82\xa0\xd0\xe6\x8d\xe3\x59\xa7\x6c\x4c\x48\x33\x00\xc4\x78\x0d\x89\x51\x2f\xe4\x1a\xa1\x68\x13\xf6\xb3\x42\x47\xf3\x00\xdc\x0b\xa7\xdd\x0d\x09\x15\x07\x2a\xbd\x04\x5d\x4f\x2c\x9b\x3f\xc3\x5f\x56\xf4\x46\x82\x8e\x76\x46\x49\x62\xd8\x82\xc9\x2a\x5d\x66\x70\x0f\x36\xb9\x34\x95\xb2\xae\x8c\x70\x6c\x3c\xb3\xe1\x95\xa9\xdc\xd6\x29\x53\x72\xb1\x3c\x3d\xa3\x50\x5b\xde\x88\x0a\x83\x47\xca\x6b\x2f\x1f\x61\x98\x0a\xb2\xcd\x10\x21\x77\x5a\x87\x2b\xb6\xdd\x93\x7e\xbb\x08\xf4\xe5\x3a\x0f\xf4\x08\x5e\x6b\x3d\xec\xdb\xcf\xda\x2d\x7a\x7b\x4c\x61\x3d\xbd\xc2\x82\x82\x09\xf5\x4d\x2e\x17\xbe\xb5\xc6\x51\xa4\x09\x3d\xb9\x60\x7f\xe4\x8d\x43\x2e\x5e\xe6\x49\xf3\x54\xcc\xa4\xb3\x0c\x36\x6f\x42\x69\x8b\xd8\x40\x23\xb9\x37\xd9\xe9\xbe\x32\xee\xbf\x24\x0d\x30\x64\xb4\x88\xb0\x4c\x38\x66\xff\xfd\x2f\xe1\x31\x3b\x57\x49\xcf\xb8\x59\x31\xc6\x7a\xd1\xab\x05\x06\x4f\x54\x59\x4b\x97\xce\x03\xdc\x42\x8f\x5e\x9a\x31\x6e\xa5\x43\xe7\xde\x9e\xfe\xdc\xa6\xbc\x6d\x53\x9e\xcb\xac\xf4\x53\xb1\x91\x3b\x11\x9f\xef\x13\xa3\x85\x69\x26\xe1\x34\xc2\x99\xd9\x38\x7a\xc1\xf0\xc0\xc0\x2b\x07\xf4\x78\xc1\x28\x21\xf8\xd7\xc9\x72\x6a\xf5\x7f\x95\xcd\xc8\x64\x2d\xe3\x9c\x7f\x9c\x73\x24\x52\xdd\x12\xe3\x19\x68\x07\x75\x29\x57\xc8\xcc\x88\xf2\xd0\x92\xec\xd8\xe4\xe7\x7f\x8d\xf9\xa2\xe0\x3a\x7d\x5c\x50\xba\x86\x42\x84\x21\x94\x84\x96\xe5\xc8\x00\xb3\x40\x38\x7a\x05\x8d\xc7\xe4\xb6\x08\x77\x73\x7a\x52\x73\xe6\x37\x23\x47\xb1\x58\x75\x02\x27\x10\x6b\x8b\x50\x01\xa9\xaa\x36\xc9\xea\xf3\xb9\x49\xad\xad\xf0\xa2\x1c\xe5\x15\x7a\xe7\x3e\x9d\x57\x75\x96\x4e\x68\x01\xb8\x92\x53\x62\xb2\x71\x71\x52\x2d\xfc\xb3\xca\x5c\x2a\x6c\x14\x03\x28\xa1\x3a\x2c\x41\x75\xe6\xe3\xca\xcb\xb2\x4d\xa9\x09\x61\xb3\x81\x1d\x85\xd7\x0c\x31\x3d\x56\x9c\xd7\x26\x2f\xbc\xad\x3e\x57\x59\x2b\xa7\x69\x2e\x7e\x9d\x37\xb6\x5c\x9b\x94\xce\xf1\xd7\x11\xd9\xa9\xed\xbb\xb8\xfa\xa8\xb9\xa4\xcd\x8c\x81\xc7\xdd\x4b\x4c\x14\x79\xed\xdc\xe9\xf6\x2a\x90\x6c\xa6\x7f\x73\x33\xdd\xb1\x48\x1d\x41\x13\xd5\xe2\x91\x33\x6f\xf6\x1b\xa6\xbb\xdb\x19\xfc\xd6\x7b\xfa\x75\xda\x35\x5b\xd7\xf2\xc1\x8a\x85\xf6\xd3\x90\x87\xd9\x80\xfb\xee\x3d\x1b\xae\xb9\xa9\xd1\x1b\x4a\xdf\x3f\x3e\x8c\x5c\x6a\x41\xc9\xac\xb9\xcf\x1b\xe6\xad\xb1\x8e\x18\xf6\x21\x65\x10\xac\x27\x81\x77\x7f\x34\x4e\x10\x9e\xdd\x6d\x66\x2e\xaa\x4a\x83\x83\xed\x85\x25\xda\x7a\x02\x11\x17\x8f\xa4\xb6\x6f\x04\x90\x6e\x49\xf5\x86\x7e\xf8\xa4\x53\x53\xd5\x14\xf8\x28\x92\x1c\x82\xd0\xd4\x65\x65\x67\xd1\xe7\x08\x61\xcc\x65\xc7\x01\x8e\xe6\x2d\x0b\xfc\xe9\x3c\xf5\xa4\xdd\x4d\x35\x39\x38\xdb\x03\x1f\x90\x41\xc2\xc1\x53\x8f\x62\xea\x45\xf1\x5b\xe3\x32\xe7\x98\x42\x41\xd0\xdd\xb1\xb6\xcc\xc2\xcc\x2c\x87\x5b\x3d\xe6\x52\xc2\x5b\x11\x98\x65\xaf\xce\xfb\xa6\xc1\xa6\x35\x17\xe4\x0b\xba\xb2\x1e\x66\xc8\x07\x39\xae\xc1\x2e\x9a\x63\x8b\xb3\xd5\xf9\x67\xd4\x69\xd4\xcc\x48\x1f\xcc\xc0\x70\xa7\x38\x90\x49\x85\xf6\xeb\xaf\x77\x94\xc8\xd3\x6c\xa0\x52\x3f\x3d\x4c\x1a\xa0\xe5\x01\xa0\x32\x2b\x5a\x57\x14\x17\x82\x6b\xb6\x67\xc0\xd1\x4a\xfa\xee\xcb\x78\xdf\x70\x15\x12\x1b\x24\xc9\x3b\x47\x79\x28\x59\x55\x67\x05\x0c\x27\x71\xbb\x44\x9a\xd6\xad\xc2\x06\xaf\xea\x09\xb9\x1e\x20\xf1\x66\x65\xfd\x88\xc8\xcf\x8f\x76\x1d\x84\x4d\x1d\x70\x63\xda\x89\xe4\xd9\x0a\x57\x54\xe7\x25\x6a\x5b\x54\xc9\xd9\xba\x7a\x49\x5f\x9a\x4a\x2e\x76\x9f\x72\x7d\xfe\x71\xd1\x82\xa5\x89\xec\x9c\x76\x28\xf9\xed\x8b\xb4\x86\xd4\xbb\x06\x22\x9b\x8d\xf0\x11\x98\x2d\xdc\x18\x67\xce\x77\x6a\xcd\x69\xca\x5a\x76\x4e\xd2\x8a\x8b\x7f\xcd\x69\x36\x11\xd1\x19\xc5\xa4\x58\x41\x3e\x23\xe9\x0c\x35\x38\xe5\x2c\x9b\xe4\xe8\x28\x82\xa4\x52\xf1\xfc\xe4\xbd\xbe\xde\x4e\xde\x59\x85\x4b\xeb\xbc\x9b\xd6\x97\xd5\x9b\xa5\xf2\x6f\x11\x96\x6b\x9c\xc4\x26\x54\xdf\x57\xa0\xc3\x54\x15\x3f\x83\x81\x92\x3c\x7e\x3d\xb6\xc7\xfc\x7f\x96\x1b\xd2\x81\xff\x2b\xdf\x90\x46\x04\xf7\xe7\xd1\x67\x44\xe1\xf1\x3e\x69\xbf\x24\x9d\x67\x59\xf4\x9e\xd4\xf0\xf4\x55\x49\x85\x12\xfe\xc5\x6f\xca\x47\x5e\x1e\x03\x7b\x59\x06\xa2\x66\xeb\x7d\x29\x29\x42\xd7\x65\xec\x3f\x3c\x0c\x85\xd8\x55\xd7\xa5\xe3\x7a\x6a\x97\xd6\xbd\x31\x69\x03\xbb\x2f\x4c\x6c\xe2\x9f\x52\xed\x86\x18\x67\x17\xab\x33\x38\x7c\xb6\x9b\xb1\x29\x6e\x74\x2d\xa1\xbd\x1e\x65\x5b\x72\x7d\xfa\x23\xb7\x86\xc2\x3b\x7a\x61\x34\x18\xe8\xba\xd7\x86\x02\x7c\xeb\x9b\x63\x8d\x2b\xf1\x33\x4d\x2e\xe4\xc6\x7f\xf5\x09\xda\x01\xff\x27\x5d\x88\xcd\x93\xd6\x86\xce\xfa\xb7\xa1\x85\xb9\xfa\x32\x24\xa2\xd1\xa6\x1a\x14\xbf\x29\x27\x8e\xe3\x2b\x55\xf7\xb5\x78\xac\xf8\x7c\x5a\x61\x86\x15\xd1\x4c\x79\x0a\x80\x4d\x82\x1a\xbe\xf8\x37\x39\xe5\x78\x3a\x2d\x81\x93\x5f\x8b\xe6\x91\xf5\x4c\xee\xb2\xa3\x26\xa4\x6c\x47\x1a\x30\xf7\xa9\xbb\x40\xd0\x8a\xd4\x0f\x6e\xe5\x3b\x5c\x29\xc2\x7d\x8b\xe5\xb0\xbd\x89\xd2\xcc\xd4\xfd\x55\x66\xe3\x6b\xb8\x70\x2a\xed\xc2\x4f\xe9\x52\xd0\x9e\xea\x97\xc4\x12\xc7\xf2\x45\x51\x11\x2a\xec\x8b\x6e\x0a\x14\x1a\xb5\x19\x60\x75\xc4\x95\x28\x8d\x06\x0f\xdd\x8f\x18\x30\xc6\x7e\x67\xe3\xac\xaa\xd2\xf2\xfa\x5f\xf5\x0a\xd5\x0a\x9b\x24\xac\x80\xd0\xa5\xc0\xe9\xca\x7f\xff\x33\x66\xb4\x21\xca\xe7\xc0\x69\x98\xb6\x54\x8f\x25\xb7\x0f\xaa\xc9\xc7\xf3\xe4\xf4\xb6\xb6\x38\x5d\x36\x27\x03\x6d\x56\x32\x9c\x9a\xf2\x1c\x50\x8e\x64\xcc\xed\x54\x4a\xa9\xc8\x93\x34\x9f\xc2\xf1\xf0\x92\xa9\xf3\x39\xfb\x05\x01\x51\x44\x85\x07\xdf\xc1\x31\xa7\x54\x58\x91\x6a\x45\x07\xbb\xd1\x4e\x2e\x3f\xd5\xce\xd5\x4c\xe0\x14\xbb\xbd\xc7\x39\x87\x36\x58\xdc\x05\x0c\xcd\xbb\x27\x37\xaa\xd4\x80\x50\xc3\x71\x56\xdd\x93\xd8\x8d\x6d\x41\x1f\x1a\x90\x99\x77\xd2\xad\xbe\x25\x36\x0e\x65\x12\x05\x6a\x91\x68\x2a\x35\xa4\x51\xa1\x7b\x58\xe8\xbf\x9a\xa1\x09\x89\x05\xa5\x62\xb2\x3d\x9e\x66\x7e\x0f\xb9\x28\xca\x44\x67\x40\x6e\x67\x92\x88\x04\xe9\x63\x7e\x5a\x89\x0f\xd0\x69\x21\x0e\x3f\x1c\xc9\x34\x2d\x6c\x35\x62\x4b\xf7\x47\x2e\xaf\x7b\x0b\x13\x7f\x10\x76\x39\x34\x29\xdf\xa3\x0c\xda\x57\x97\xe2\x82\x27\x4d\xa1\x49\x57\x70\x20\x53\x29\xe3\x9b\x5d\xa5\x33\xae\xa4\xa3\x93\xb5\xc9\x51\xcd\x61\x83\x52\x93\x2c\x67\xbd\x18\x12\xa3\xe4\xa5\x0d\x7c\x0c\xc7\xd0\xf8\x1f\x3c\x4f\xeb\xb3\x2d\x18\xaa\x1f\xd3\x32\xae\x71\x59\xaf\x30\xee\xb1\x80\x87\xdb\xd1\x27\x3a\x51\x23\xef\x3c\x50\x7f\xfe\x10\xa2\xa6\x7e\xbc\x77\x4f\x07\xb8\x94\x4a\xed\xac\x54\xd6\xf7\x5c\xfb\xa0\x92\x09\x12\xbe\x7a\xd2\xd8\x73\x46\x3e\x21\xbd\x0b\x4c\xe6\x56\x37\x45\xe6\x4b\xe7\x4a\xc0\xf2\x0c\x50\x0d\x32\x6a\x31\x74\x1a\x6c\xe0\x2b\x2f\xe1\x76\x56\x8f\xcf\x44\xf7\x4b\xa5\x93\x9d\xc6\xda\x1e\x6d\xe9\xa2\x9d\x81\x4c\xd6\xf7\x69\x71\xda\xdf\x38\x40\x06\x8d\x8e\x2a\x04\x8c\x4b\x0b\x21\x94\xbd\x04\x2b\x52\x37\x60\x26\xc9\x08\x2e\xc9\x73\xeb\xf9\x73\x67\x0d\xa1\x4c\x50\x18\x24\xca\x4e\x4f\x58\x00\xbb\x5c\x66\x9e\x98\x65\xeb\xc1\xb8\x75\x7f\xe8\x90\xd0\x8b\x49\xf7\xbd\x89\xee\x12\xb3\x08\xd7\x6f\xa6\x6c\x55\x03\xbe\xa0\x52\x8c\x68\x33\x2b\xa8\x7d\x03\x22\xac\xa0\x15\xa1\xe6\x99\xfd\xe2\x8b\xe6\x41\x5e\x07\xe5\xe6\xb3\xbd\x94\x52\x4e\xbe\xb9\x07\x2f\xf6\x81\xc9\xa4\xc1\x97\x35\xdd\x21\x0e\xd6\x65\xc6\x05\xda\xb8\xc4\x29\xfe\x13\xde\x10\x73\x3f\xb3\xfa\x91\x2f\xd6\xda\xd5\x68\xce\xe3\x56\x4b\x23\xbc\x49\x2f\xcc\x61\xf0\xbe\x5c\x6f\x59\x50\x81\xf1\x37\x5b\x94\x43\xf7\x98\x89\x2d\xc9\x61\x43\x4b\xb6\x16\xf1\x7a\x19\xe5\x8f\x9c\xd2\x3a\x69\xfc\x78\x18\x48\xfa\xec\x38\x96\xa9\x6b\xd1\xea\x53\xb7\x63\xf5\xcd\x44\xe6\xf3\x7c\xcd\xc8\xeb\x48\x80\x5d\x67\x62\xd2\xf4\x38\x0a\x95\xd5\xc3\x0c\x23\xff\x93\x38\x0b\x13\x9a\xa9\x84\x46\xb7\x35\x67\x3d\x02\x29\x37\x1d\x99\xec\x7f\x09\x13\x08\xd7\x73\xeb\x11\x63\x41\x27\x36\x36\x50\xbf\xce\x88\xb5\x18\x70\xb9\x2a\xf8\x64\x22\x57\x6b\x15\x1b\x8b\xa3\xb9\x6a\x09\x37\x59\xe0\xf8\xf2\xfe\x96\xc5\x55\x4b\x1b\x21\xd6\xc6\x50\xb7\xe1\x94\x37\xdd\x27\x3d\x49\xef\xbd\x6a\x25\x33\xf4\xa3\xe6\xa8\xe8\xce\x67\x67\x2c\x80\xb4\x01\xd5\x53\xf6\xb4\x46\xb6\xde\x69\xe7\x19\xea\x4e\xf7\xcd\x9e\x94\xfe\x08\xe9\x67\x84\xea\x0f\x49\x38\x39\x4a\x4f\xd9\x0d\x5a\xd8\x15\xbe\x57\xdc\x43\xce\xb8\x64\xab\x44\x1d\xc6\xa3\x80\xf3\xb8\xda\x00\x2c\xcf\x7d\xd1\xe8\x79\xa3\xa5\x0e\x11\x8e\x84\x0f\xa7\xa6\x78\x70\xc5\x15\xc1\xa8\xb8\x81\x57\x4d\xfd\xd8\xb8\x1a\x9c\xe4\x9c\xf3\x75\x59\x2b\x37\x6c\x49\xe1\x6c\x13\xf5\xae\x91\x62\x40\x39\x0f\x74\xf9\xda\x78\x0e\xfb\x2d\x59\x90\xfc\x46\x41\xb4\x8f\x8e\x0b\x6a\x83\xd6\xd4\x49\x78\x2d\x37\x3d\x52\x50\x24\xb0\x1a\xb5\x46\xbb\x0e\xec\x3a\x60\x36\x11\x0c\x1b\x37\x35\x26\xaf\x90\xf3\x78\x31\xed\xe2\xd8\x43\x69\x13\x80\x18\x8c\x42\xc2\xfa\xa5\x84\x4a\x11\x2c\x69\x49\xce\x54\xc6\x15\x55\x44\x7d\xe3\xda\xf5\x71\xe5\x4e\xd3\x58\x86\x67\x05\xd9\x0f\xdc\x5a\xb5\xfa\x25\xbc\x93\x66\x56\x22\xf8\xc0\xe9\x0f\xf8\xed\xa6\xe6\xfa\x84\x58\x9a\x76\x14\xb7\x99\x75\x4f\xa9\x48\x63\x2e\x7e\xb2\x8d\x20\x9a\x9a\x8b\xa4\x70\x17\x73\xda\x78\x89\x60\xb3\x9d\xa6\x04\x43\xed\xb9\x07\x55\xca\x46\xff\x32\x04\x65\xbb\xbc\x56\x59\x1e\x38\x43\x9e\x32\x4d\xd8\x05\x13\xc9\x13\x16\xe8\xb4\xc4\x82\xc7\x06\x63\x67\x34\x99\x98\x7a\x7d\x2a\xa4\x07\xb1\x59\xb9\xd4\xde\xf5\x10\x2c\x75\xa0\x9f\x98\x17\x52\x4d\xd1\x92\x73\xdc\x9d\x04\x44\x33\x2b\x8a\x49\x06\x8c\x78\x4b\x43\xf2\xfa\x99\x17\x6d\xf8\xce\x6e\x64\x43\x1b\xac\xfb\x46\x9e\x6b\xc4\x57\xbd\x4b\xca\x3f\x90\x31\xf2\xd9\x74\x67\xcb\x23\x44\xc3\xff\xef\x04\xf5\x25\x9b\x49\x21\x31\xff\x45\xa9\x92\x2c\x5f\xe4\xd9\xe5\x62\xbd\x38\x73\xec\xbf\x0f\xdd\xa3\xf1\x06\x64\xf6\xa3\x17\x78\xc0\xec\x1a\x2f\x63\xaf\xe0\xcf\x4e\xa0\xac\xf1\x7b\x05\xce\xcb\xeb\x6b\x83\x5b\x21\x78\xb7\xb5\xc1\x39\x2e\x8f\xec\x6c\x46\x6f\x5d\xef\x4e\x37\x10\x06\x81\xfd\x5a\xf5\xec\x70\x7d\x0a\xe8\x25\x44\xa7\x2d\x35\x85\xad\xa5\x26\x8e\x48\x9e\x4b\x58\xbb\x5e\x20\x19\x62\xcd\x75\xaf\xe7\x83\xc8\x0d\x10\x5d\x37\x6f\xcf\xf4\xb0\xb1\xed\x6b\xb1\x6b\xac\xbf\x7b\x6d\x00\xbc\xcd\x13\x2c\xe2\x7b\xe7\xa1\x18\xdd\x46\x6d\x22\x93\xd6\xcd\x1d\x09\xc6\x58\x67\x81\xbc\x0d\x72\x2f\xba\x46\x38\x71\x58\xea\x50\x57\x8d\x33\x11\xc4\x8a\xbc\x76\x82\x26\xb0\x2a\x80\xbe\xc1\x7c\x60\x30\x8d\x94\x90\x55\x4e\x78\x0d\x37\xc6\x78\x5e\x87\x59\x7a\x95\xcf\x96\x33\xe3\x92\x6e\x23\x98\xbc\x74\x09\x6b\xa4\x7b\x82\xef\x9f\xa7\x57\x1e\xe7\xce\xbc\xc4\x0e\xfd\x78\x24\x03\x23\xab\x52\x7a\x7b\x9e\xdb\x81\xd2\x4c\xc7\x62\x04\x3f\x79\xce\xdf\x43\x05\xa2\x7b\x58\x8a\x77\x0b\x5d\xc0\x69\x25\xdc\xe5\x6b\x8f\x83\x5c\x6c\x54\x27\x80\x85\xd1\x98\x5b\xaa\xce\x2d\x41\xb1\x40\x59\xf9\xc9\xc1\xe0\x7f\x4b\x77\xd1\xf7\xb2\xce\x6b\x95\x7b\xb7\x0d\x65\xa3\x90\xc7\xb6\x0b\xd2\xb2\xa1\x36\x4f\xd5\xb8\x6f\x64\xe9\xf4\x7c\x37\x72\x87\xbc\x63\x03\xd0\x00\x24\x23\x66\x41\x75\x06\x56\xde\xe9\xde\xe0\x00\x32\x90\x96\x1f\xd9\x26\xe4\xc6\x87\x89\xf4\x32\x16\x83\x1f\x5d\x1f\xbe\x41\x35\x72\xf6\x27\x9f\x1b\xda\x3c\x23\xae\xe9\x43\xd7\xaf\xe1\x21\xdf\xd6\xc7\x75\x51\x41\x17\x1d\x99\xad\x56\x92\x9a\x5f\x8b\xe2\xef\x42\x6d\x36\x2e\xea\x5f\x9b\xe0\xba\x39\x0a\xf1\x63\x3b\xe4\xf0\x96\x11\x7b\x3e\x9d\xfe\x00\x7c\xbe\x41\x9f\x3b\x7f\x75\xba\x8c\x5f\x03\x56\x9d\x62\x88\x85\xdd\x3b\x55\x6c\x58\x58\xcc\xdb\x8b\xb6\x08\x6e\x0f\xae\xc3\xdf\xf1\x6c\x60\x1b\x67\xa9\x52\x12\x96\xe4\x3a\x01\x0f\xf9\x2f\x59\x9f\xf4\x25\xbd\x27\x6a\xc3\x70\xd7\xb9\x85\x8e\x3d\x0f\xfb\x78\x7a\xa1\xee\x70\xd0\xf8\xfa\x75\xc7\x84\xae\xb9\x9e\xe4\xfc\xf3\x8f\xb1\x9c\xcc\x54\xd6\x59\xd1\x47\x61\x20\x42\xbb\xfb\xb2\xc9\xea\xe8\x99\x8c\xa2\xa7\x84\x24\x53\xb5\x6a\xbf\xa7\x34\xf8\x5c\x84\x4a\x26\x4e\x7a\x98\x4a\x67\x75\x35\xd5\xba\xbc\xba\x94\xa4\xfd\x71\xb2\x43\xaf\x52\x47\xc9\x14\x93\x94\x98\xfb\x8a\x74\x40\xbc\x4e\xa8\x17\xc0\xc0\xe3\x65\x66\xd8\x2c\x15\x5a\x99\xa5\xf3\x25\xa6\xfc\x53\x86\x7e\x13\x3b\x44\xef\xe7\x94\x57\x3c\x9d\xcd\xd2\x3a\x1f\x0b\xdc\x95\xab\x68\x4b\xa1\x45\x24\xa3\x35\x43\xb7\x2d\xe3\xf0\xe3\x2d\xef\x2a\x0e\xe9\x45\x74\x5b\xef\xad\x66\x58\x6c\xb3\x8f\x44\x76\x6f\xea\x6a\xba\x79\x25\xcb\x8c\x2b\x95\x4e\xab\x82\xd6\x5b\xab\x4f\x28\x92\xb1\x8f\x4a\x63\x2f\xac\x8d\xbe\xa6\xae\x77\x37\xb7\x3c\x78\x52\xed\xa2\x59\x85\x85\x2b\xf2\x78\xab\x8d\x2e\x2f\xba\x92\x13\xc3\xb5\xf0\x9e\x12\x80\x2a\xe3\x64\x83\x64\x49\x34\x21\xe7\xf9\xe9\xbc\xf0\x32\x0f\xca\x3c\x50\x85\x38\xcd\x50\xeb\xc1\x41\x98\x06\x14\x57\x60\x10\x4b\x36\x9f\x32\x63\x5a\x20\xdf\x8c\x39\xbb\x30\x4c\x30\xe6\x8a\x01\xaa\xb4\x16\x97\x65\x41\x21\xeb\x5c\x30\xc6\x46\xfe\x93\x5f\x68\xea\x21\xcd\xaf\x11\x9b\x57\x43\x33\x6d\x2f\x91\x8f\x0e\x82\x63\x25\x84\xa4\x43\x70\xe5\xf5\x62\x79\x10\x36\x83\xf4\xa9\x39\xa5\xd2\xc0\x18\x6c\x4c\xe3\x58\xe6\xa4\xa8\xcf\x2b\x57\x5b\x49\x56\xeb\x2c\xb3\x17\x29\xd5\xdc\x0b\x8e\x9d\x01\x84\x44\x80\x21\x8d\xa2\x1d\xc5\xb7\x10\x16\x2c\xe5\xb4\xfa\xc0\x5d\x43\xb0\xb6\xfa\x91\x4b\xfe\x68\x55\x4d\x44\x4c\xb4\xea\xc6\xe6\xee\xc6\x5c\xeb\x18\x51\xb5\xbe\xf0\x28\x75\x32\x93\x61\x6c\x6e\x9a\xa5\xbc\x75\xbf\x6b\xbe\xe2\xf8\x82\xa1\xd0\xdc\x5f\x2d\x5c\x5c\xcb\x7b\x1b\xa8\x27\xc9\x23\x49\x76\x40\xb7\x29\xd0\x4a\x4d\x15\x84\x6c\x81\xa2\x78\x5c\x9b\xf1\xfe\x91\x52\x7c\x96\xac\x1e\x3f\x7d\x33\xd0\x74\xcd\x28\x18\xdf\x24\xb2\xed\x8c\xae\x93\x09\x6f\x8a\x1f\xd4\x47\xe8\xa1\x2b\x57\x5d\x18\x82\xc7\x4a\x58\xc2\xed\x6e\xb6\xf2\x31\x2e\x46\x94\xea\xb5\xea\x67\x2e\x7b\x0c\x56\x60\x26\xa4\x5e\x31\xdd\x44\x8a\xe9\xf3\x99\x7e\xf2\x64\xe0\x08\x02\xaf\x38\xbf\x6c\x23\x9d\xe1\xc5\xb2\xae\xbc\x0b\x12\x5f\xa8\x18\x65\x5a\xa7\x56\x9b\x8f\xe0\x7a\x93\xac\x4e\xf3\x69\x0f\x56\x31\x9b\x5a\xcb\x01\xd3\x2f\xa5\x56\x65\xa6\x36\xc5\xb4\xa7\xfc\x08\x5e\x2c\x70\x09\xa9\xd8\x55\x3e\x3e\x4b\x26\x79\x69\x8c\x0c\x54\xb0\x2c\x99\x67\xa7\xc0\xf5\xd1\x0c\xcb\x49\x1d\xb8\x8e\x93\x57\x74\xc2\x38\x8b\x30\x3a\x0f\x93\x6c\x0b\xd7\x0f\x05\xb6\xb0\x02\x65\xf2\x1f\x49\x7f\xb8\x0b\xdb\x82\x8b\x83\x88\x6e\x26\x7b\xf0\x99\xf6\xf4\x31\xf6\xfe\x4f\xe4\x00\x0c\xe7\x4b\x17\xab\x6e\x96\xf7\x39\x07\x16\xe7\x59\xf9\x51\x47\x17\x86\x51\xed\x4a\x5e\x65\x58\xe6\x26\xa9\xb5\xf0\x59\x2b\xb1\xf3\x26\xef\xad\x3a\xf6\xd2\xaa\xdb\xde\x58\xf0\xfd\xdd\x36\xf4\xd4\xd5\xf3\x9c\xfd\xcb\x1c\xe6\x52\xed\x2d\xf5\xd8\xf9\x40\x36\xa9\x2e\x73\x34\x97\x89\xc0\x63\x72\x27\xb7\x8a\x71\xec\xd0\xe2\x52\x00\xbe\xe4\x9a\xd3\x9a\x9b\xf1\xc9\xbf\x24\xaf\x15\x10\xf5\x58\x1c\xa8\xe4\xf5\xc2\xf7\x03\x9a\x97\xb2\x9e\x3d\x75\x06\x18\xe6\x3b\x91\x93\xe9\xae\xa3\x45\x2a\x3a\x72\xa6\x69\xf4\x01\xc3\xe8\x7e\x20\xbd\x03\xf8\x38\xa3\xa2\x4f\xa6\xa8\x17\xd3\x2e\x97\x5d\xc3\x1a\x57\x96\xa4\x92\x24\x6b\xf0\xdc\x86\xb1\x44\xb3\x3d\x7d\x0d\x7b\x0c\xcf\x5c\xb9\x62\x08\xa0\x56\x98\xde\x7d\x49\xb6\x07\x27\x6b\x93\xf0\x58\xd5\xe9\x75\xa5\x04\x70\x63\x78\x47\x60\x80\xce\x09\xe7\xf4\x50\x6f\xd4\x92\x33\x71\x61\xbf\x1b\x0a\x9a\xb6\x88\x76\x84\xb9\x50\xde\x84\xa1\x4d\xbe\x59\xe5\x18\x2b\x6f\x3a\x98\xeb\x84\x45\x0b\x9c\xbb\x57\x1a\xcd\x48\x7e\x77\xba\xb2\x9d\x36\x6e\xe7\xdb\x5f\xa5\xae\xd6\xe7\x3f\xea\x1d\x8a\x56\xce\x70\x91\x93\x16\x32\xc2\xd9\x0c\xeb\x62\x38\x06\x2e\x39\x2a\xb0\xea\x98\x3f\x35\x38\x0b\x91\x34\xdb\xac\x76\x94\x22\xb2\x64\x70\x75\x66\x58\x0a\x30\x87\x85\x30\x7e\x5f\x68\x8a\x05\x16\xaa\x1c\x77\x9d\x4b\x74\x24\xd8\xc7\x77\x99\x11\x79\x5e\x6e\xb4\xd2\x65\x97\xa1\xfb\x33\x3f\x11\x3f\xbf\x59\x5e\x55\x1c\x64\xef\x92\x5b\x5b\x1c\xd1\x98\x29\xa5\x21\x71\x32\x70\xdb\x2e\x30\xc1\x67\x56\x71\x9d\x6b\xf2\x2c\x3c\xb3\xa1\x43\x59\xb2\xa1\x6c\xdd\x1b\xce\x15\xc2\x8c\x81\xe0\xd6\xdc\x84\x8e\x7b\x14\x7f\xbe\xe1\x05\x6a\x28\xf8\x46\x21\xed\xb7\x8a\x37\x0d\x23\x68\x86\x8d\x01\x9a\x11\x22\xc9\x7d\xc3\xe1\x03\xa1\xf7\x6f\x15\x15\xdf\x15\x7d\xa9\xd0\x6c\x09\x9b\xad\xe5\x25\x52\xe9\x80\xa0\x66\x90\xb7\xf3\x7b\x81\x35\xc2\x52\x2c\x48\xdd\x62\x24\xa0\x9f\xda\x83\x23\xbb\x71\x20\x2c\x0e\x29\x00\x69\x3d\x1c\x92\x06\x06\x6d\x0e\xb4\x9e\x1d\x23\xb0\x86\x04\x41\x50\x6c\x82\xa8\x22\xf1\xc2\xab\x06\xed\xb4\x0a\x36\xfd\x69\xba\x9c\x21\xda\x6c\x5e\x94\x90\xd8\x65\x23\x5e\xb9\xd7\xf7\x92\xdd\x41\x03\xdf\x35\x0c\x80\x4d\x04\x57\x3b\xf0\xb6\x21\xd3\x34\x75\xad\x61\x40\x6c\xa1\xe6\x46\xc0\xf2\x3a\x61\x6d\xc1\x76\x2a\xe7\x5c\x47\xca\x84\xed\x9a\xc4\x1c\x09\x45\x6f\x41\xa3\x95\xa2\x3b\xb0\x49\x22\xb8\xb4\x3b\x92\x7b\x5b\xbd\x9a\xb8\xa9\x5b\x15\x0f\xee\x5b\x3d\xfc\x5a\x96\x54\x87\x87\xa2\xf5\x15\xde\x35\x6b\x92\x7b\x13\xb3\xc1\x8a\xe3\xbe\x2e\xa9\x87\xf8\xb5\xc0\x6d\x8a\xa3\x4f\xb0\x92\x1a\x5d\xa3\xb4\x9c\x5c\xf0\x54\xcc\x0f\xa8\x23\xa1\x9a\x4f\xc3\x8b\x44\x6a\xd8\x1b\xb1\x3e\xad\x44\x1c\x78\xf2\x04\xdb\xc8\x42\x64\xa6\x4a\xa7\x79\x3a\x4b\xa5\x5e\xae\xb5\x9a\x4d\xb4\x0a\x8a\x47\x5a\xcf\x8d\xcb\xaf\x98\x1f\xb9\x90\xdd\x0d\xa9\x8a\x58\x85\x77\x2f\x1e\x13\x98\x06\x74\x3f\xa2\x3c\xf2\x5b\x28\xa3\xa1\x94\x79\x80\x1e\x1f\xf8\xa8\x83\xa7\x8a\xbd\xc3\x80\xbe\xb3\xf2\x67\x6a\x0e\x9d\x80\x97\x3c\xc3\x2f\x0e\xd2\x4a\x29\xfa\xa0\x13\x8e\x87\xad\x7e\xfd\x35\xc1\x0c\xf0\x75\x0a\x7f\x6c\xa2\x3f\x8b\xeb\xff\x30\xd9\xb8\xd8\x50\x1e\x22\x5e\x0d\x52\xaf\x92\x9d\x27\xdb\xd9\xf2\xb3\xfc\x24\x91\x0d\xc2\xff\xb9\x35\x62\x3d\xaa\x2a\x0f\xb4\xc6\x52\xd2\xe2\xb4\x4a\x35\x71\xe4\xee\x44\x53\x4d\x45\x52\x4a\xa9\x8c\x52\x14\x61\x63\xd5\x62\x04\x97\xb4\x62\x78\x72\xf6\xe4\x57\x3d\x18\xa7\x26\xfc\x64\xdd\x42\xdb\x5a\x38\x5f\x36\x97\x3a\xd4\x2f\x0a\x48\x87\xb7\x91\x97\x8a\x57\xb5\xa2\x8c\x95\x52\xbc\xd5\x5f\x5a\x4d\xfb\x5b\x40\x23\xc5\x82\x15\xf6\x24\xcb\xf3\x63\xaa\x58\xa4\xa8\x5c\x40\xd5\x6a\xe5\x9e\x8f\xd8\x46\xdc\xc0\x69\x0c\x57\x8d\xda\x2c\x36\xbb\xb9\xad\xdc\x9c\x8e\x32\xb3\x91\xfd\xca\x80\x89\x16\x8b\x57\x06\x29\xf6\x57\x88\xa4\x3a\x75\x15\xdf\xad\xda\x76\x56\x4c\x6e\x59\xd3\xe2\xc8\xc0\x90\xe0\x35\x8d\x17\xb0\xb7\xba\xbd\x5a\x1e\x3e\xcb\x4e\xe0\x54\xfc\x27\xea\x1d\xb0\x65\xf2\x1f\x89\xd1\x96\x26\x7b\x49\xcf\x56\x15\x0f\xa6\xe0\xa9\xd1\x66\x56\xa1\xb2\xc5\x8f\x8a\x74\x5a\xa3\x5e\x01\x13\x98\xce\x96\xe2\x99\x27\x47\x82\x3b\x22\x6b\x23\x53\x02\xd5\x5e\x0f\x35\x8c\xeb\x4d\x97\x75\x39\x30\x01\xd1\xe7\xf8\xf5\x95\x1c\x4e\xfe\xdc\x23\x4a\x20\xe8\xe6\x5a\xd3\x4c\xf1\x76\x7b\xf9\xcb\xeb\x83\xc3\xe4\xc9\xd3\x67\x87\x7b\xac\x65\xdc\xfe\x53\xb5\x4d\x1f\x3e\x9a\xe4\xaa\x5b\x7f\xaa\xb0\x29\xbe\x38\x38\x90\xa4\x3f\xde\x4c\xee\xef\xec\xde\x27\x75\x01\xe9\x28\xf2\xe5\x2c\x79\x79\x94\xec\x2f\x81\xd4\xca\x6a\x2b\x41\x97\x30\x6a\x8b\x31\x99\x70\x5f\x50\x6d\x7c\x80\xf1\x4b\x95\xd9\x04\x0b\x15\x87\x5f\x8e\x25\x54\xe5\x14\xf7\x68\x4e\xe5\xff\xe1\x98\x3c\x3a\x7a\x3c\xa4\xad\x4b\xa6\xf9\x18\xc4\x1b\x71\x22\xe7\x8c\xa1\x08\xe9\x84\xc2\x1d\x85\xd6\x9f\x3d\x3d\x38\x7c\x71\x74\x88\x4f\xc5\x6c\xeb\xce\x9d\x1e\xae\x36\xd6\xeb\x18\xd7\x18\x1f\x87\xc6\xbc\xb2\x9e\x64\x8b\x7e\x0f\x3f\x52\x35\x48\x2a\x2e\x8e\x7f\xbd\x22\x25\x05\xa6\x44\x7d\x9e\xce\xd3\xd3\xac\x34\x3f\x00\xde\x84\xa0\xf9\xfb\x72\xdc\xd3\x62\x1c\x7d\x77\xc2\x25\xca\x71\x13\x81\xdb\xd2\xf3\xd7\x7d\xc3\x15\x89\x2b\xf7\x45\x64\x28\x0d\xd0\x12\x03\x66\x75\x1e\xa8\xbf\x0d\xbf\x75\xdf\x51\xb2\xe3\x66\x5f\x3c\xb1\xb6\xb6\xab\x1a\xf8\xcd\x31\xd5\xb4\x30\xea\x0a\x40\xaa\x2e\x97\x94\xfa\xdd\xb8\x8f\x1e\xcb\x56\x27\xe3\x69\x5a\xd9\xb7\xfb\xbe\xfb\x1e\x5e\xbc\x53\x64\x34\xc0\x17\xce\x24\xa1\x45\x88\xdf\x20\xd1\x33\xa0\xf7\xb2\x19\x7e\x77\x67\x07\xe1\x11\xf0\x8c\xf8\x15\x17\x21\x93\xa4\xee\xc5\x6c\x41\x09\x00\x0d\xc1\x59\xf2\x4e\xb1\xc2\x87\xd2\x4d\x95\x9c\x7b\x2f\x55\x39\x73\xe9\xaa\x1b\x52\x79\x7b\x87\x2d\xb3\xbc\x4a\xd3\x8c\xa4\x5b\xbc\x43\xd9\xb4\xb9\x5a\x3e\x47\xfe\xce\x73\x7e\xcd\x27\xe2\x8c\x5a\x15\xe5\x40\x9e\xfc\x72\xfa\xcb\xec\xd4\xa6\xd7\x2b\x78\xfa\x32\x10\xe9\xe0\xed\x82\x6f\x25\xc9\xef\x01\x1b\x20\x63\x56\x51\x2f\xca\x7c\x96\x96\xd7\x2a\xe5\x23\x05\xc8\x83\xf0\x57\xf7\x37\x8d\x76\x92\x0a\xd9\x54\xc9\x9b\x63\x84\x95\x55\xe3\x74\x81\xd2\xee\x9f\x97\x48\x26\xec\x29\x9f\xcf\x2f\x8a\x73\x31\x7e\xa5\x0b\xbc\x07\x4a\x0a\xb0\x0f\x67\xeb\x99\x8a\x69\xa9\xe1\x8a\xa8\x50\xe7\x74\x91\x53\xd9\x91\x93\x29\x41\xa5\x13\x76\x50\x00\x62\xcf\xd3\xf1\x38\x2d\xcb\x62\x8e\x9a\xca\x27\x58\xf5\x76\xb4\xc4\x04\xc1\x3e\x15\x1c\xbf\x7c\xfc\xb2\x8f\xde\x0d\x93\x74\x73\x2f\xa1\xa2\xe5\xac\xf1\x0c\x42\x3a\x8d\xbe\x86\xa2\x93\x4a\x95\xa3\xbf\x92\xa9\xc2\xd6\xf1\xf2\x57\x8b\x69\x7a\x8d\x8d\x2f\xf3\x31\x45\xae\x5f\x22\x29\xc0\x7f\x81\x35\xc3\x28\x25\x65\x03\xc6\x32\x61\x16\x82\x51\xe3\xf0\x65\x27\x23\x10\x31\xff\xef\x9f\x93\x3e\xe9\xfc\xd9\x87\xf9\x5a\x76\x48\x15\x08\xc8\xea\x6a\xb3\xab\x98\x0f\xac\x28\xf2\x8d\xa7\x13\x57\x43\x7c\x61\x4f\x6a\x22\xbf\x26\x73\x58\x1d\x56\xed\x4a\xa9\x35\xfc\x47\xa8\x78\x32\x30\x26\x15\x42\xaf\x27\x7f\x78\xa9\xd9\xed\x6e\x05\x45\x79\xec\xe8\x5a\x0e\x32\xdf\x79\x29\xeb\xd0\x46\x7a\x59\x98\x0b\x06\x43\x95\x30\x23\xa8\x2a\xe5\xcf\xe4\xc6\xc7\xef\xa3\x5f\x4f\x83\xbe\x53\xaa\x1e\xba\xb9\xe6\x40\x45\xdd\xad\xef\xd8\x38\xb4\x0d\xf1\x3c\xde\x70\xf5\x33\xbd\x7b\xd6\xf9\x43\x6b\x24\x34\x84\x69\x81\x62\x00\x2c\x1e\x3e\xa5\x5c\x59\x4e\xba\x2c\xd1\x04\x9a\x24\xdc\xe9\x11\x91\x60\x65\xf4\x97\x54\x31\x9b\xb4\xb8\x44\x44\x77\x24\xf7\xf7\x04\x84\x8a\xda\xda\xdb\x16\x78\xc9\x48\xc1\x29\x8c\xb3\x67\x0b\x34\x97\xe3\x61\xed\xae\xe4\x96\xbb\x2c\x48\xb5\x08\x24\x98\x9e\xc2\x60\x5b\x0c\x6e\x1f\x86\xe2\x06\xb0\x43\x63\xb2\xdf\x30\x66\x28\xe2\x22\x10\x0e\x8d\xe2\xfb\x1e\xe8\x96\xc3\xd6\x73\x32\x3f\x51\x1e\x6c\x3a\x9a\xd4\x91\x01\x46\xd7\xe8\x28\x5a\xe5\x64\x87\x65\x45\xb7\x4e\xd6\xa9\xa3\x44\x3d\x7a\x8f\x3d\xe6\x97\x95\x1c\x32\x39\x3c\x2c\x5b\xa9\x8c\xcc\x5b\xfe\xdd\x8f\xfc\xb8\xb1\xa9\xf2\x3d\x3d\xda\xc2\x74\xbf\xd4\x61\xab\x5a\x8e\xe0\xcf\x7c\x94\xf5\x5d\x4a\x7d\xd1\x37\x8a\xee\x7d\x6b\x04\x6b\xcf\x10\x56\x82\xb0\xd6\x68\xcf\xf4\x77\x23\x10\x46\x72\x17\x08\x2c\xd1\xae\x04\x60\x35\xd8\x4a\x57\xaa\x7b\xe9\xe5\x9e\xe4\x17\x72\x4d\x98\x4c\xca\x2c\x52\x1b\xd9\xe7\x8e\xaa\x81\x12\x9e\xc6\xb3\xb0\x96\xab\x82\x91\x29\x0b\x3c\x92\x24\xb3\x04\x17\xf6\x70\x3a\x2d\x46\x78\x81\x20\x20\x0b\x84\x6e\x38\x5d\x02\xc3\xde\x88\xf8\x12\xb0\x97\x22\xa7\x55\x85\x47\x60\x4e\x65\x10\x31\xda\x6d\xc4\x65\x32\xe8\x6c\xe0\xfb\x9c\xde\x01\x98\x33\xda\x01\xbf\xce\x6a\xb6\xce\x94\xd9\x10\x93\x56\xe7\x68\x54\x1a\x17\x25\x55\xa3\x73\xf3\x34\xde\xc8\x30\xd9\x4b\x58\xb1\xe2\xd2\x7e\xa5\xe7\x5d\xda\x04\xb7\x74\x44\x8d\xf1\x4b\xab\xf1\xa9\x28\x8b\x57\x3e\x33\x9d\x4c\xd0\x13\x29\x95\xb2\x1d\x6a\xdf\xb0\xaa\xf4\x6b\x49\x45\xf1\xee\x83\x19\xe8\x08\x40\xc3\x82\xa5\xa3\x04\x1f\x1b\x8e\xc6\xe1\x1b\x7a\x21\xf9\xad\x29\xf9\x04\xd6\x08\x38\x67\x03\x2d\x4b\x2a\xc2\x8b\x1d\x14\x46\x98\x4a\x4c\x66\x25\x7a\x53\x3d\xb0\xce\x18\xc7\x8f\x0e\x18\x14\xa5\xe5\xa8\xc8\x60\x61\xfb\x29\x1e\x8f\x01\x4b\xbd\x9a\x32\x72\x14\x25\xbb\x63\x19\x3b\x19\x71\x06\x72\xeb\xc8\x5c\xb9\x01\xe9\x78\x2c\x68\x23\x61\x96\xcb\x4c\x2f\x27\x48\x68\x55\xc0\x1b\x83\x4c\x2f\x74\xc8\x13\x14\xa0\x6d\x80\x12\x19\x2b\x50\x70\x20\x94\x49\x72\xb1\x9e\x00\xf4\x4c\x44\x63\x88\x75\x47\x01\x29\x0b\x84\x9d\x89\x5b\xc5\x0b\x79\x60\x1c\x17\x8b\x46\x65\x5b\xf3\x1b\xeb\xcc\x63\x84\xff\xf8\xe9\x1b\xab\x69\x31\x52\xa4\x61\x48\x8c\x8b\x1d\x88\xff\x34\x11\x3b\x21\x20\x1b\xff\xc3\x13\xa8\xce\x50\x02\x32\x6b\x10\x9e\x42\x6e\x74\x84\x6d\x10\x96\x7f\xb5\xea\x5f\xb7\x1e\x3d\x7b\x79\xf0\x73\x74\x1c\x2a\x0a\x2f\x03\x44\x31\xa5\xb2\xf1\x21\xaa\x07\x8c\x1e\xea\xeb\x80\xbe\xe6\xdb\x48\xe8\x94\x91\x06\xcf\xd1\x0c\xa8\x03\x9f\x2f\x97\x25\x96\xf7\x9b\xa3\x80\x85\x22\x04\x3e\xff\xc6\x74\x3b\x5c\xa3\xa4\x34\x2d\xe0\xae\x98\x04\x83\x3d\x42\x80\x07\x08\x88\xa8\x19\x24\xe5\x41\x02\xff\xb2\x54\x0d\x8f\x86\xe1\x88\xde\x3a\xc0\xc7\x5c\x8f\x8f\xc6\xa2\x65\x2a\x5f\x70\xa0\xb3\x71\xe0\x98\x14\xa2\x3d\xc0\xcc\x77\xa9\xb9\x36\x65\x89\x05\x7b\x7c\x96\xe5\xe3\x9c\xd3\x00\x10\x46\xb3\xeb\x97\xfe\x18\x8e\x83\xaa\x6f\xe3\x8c\xb4\xca\x64\xca\x9c\x1c\x9b\xb2\x58\xc7\x30\xc3\x4c\x42\x6c\xa0\x64\x81\x00\x8f\x10\x56\xcc\x47\x33\x19\x03\x43\x7c\x31\xf0\x72\xb1\x64\x7b\xde\x79\x76\x0d\xe2\x1a\x88\xc0\x3a\x3e\x33\x9f\xe7\x58\x2e\x04\xce\x1c\x89\xb3\x2c\x6e\x5b\xa1\x6d\xc6\xef\x2b\x3b\x31\x57\xb4\x3e\xd8\x5b\xf9\x1d\x15\x83\x5d\xbf\xf3\x29\x7a\x39\x7f\x49\x58\xb5\xfe\xfc\xb3\xc1\xb4\x41\xe7\x70\xdc\xd9\xd8\x68\xc2\xa0\xad\x9d\x98\x55\x03\xac\x0b\x2a\x33\xbc\xf5\xe5\xa6\x07\xe6\x53\x5c\x9a\x45\xb2\xaa\x54\xc5\x52\xb2\xb4\x26\x6f\x91\xd7\xd4\x8b\xe3\x4b\x41\x68\x72\x7c\xc5\xdc\x1d\xa3\x0c\xf8\x58\x85\xb3\x73\x0b\x02\x5f\xed\x2f\x27\x79\xb1\xba\xa8\x5d\x8a\xcd\x7a\xee\xa2\x75\x5d\x51\x47\x61\x9f\x9b\x70\x57\x97\x19\x52\x38\x3e\x3b\xb1\xa4\x62\xcf\x52\x07\x2a\x03\x6a\x0f\x19\xe4\x74\x58\x39\x99\x1e\xc8\xea\x1a\x21\xae\x7c\x9a\xcd\x31\xaf\x0a\x6c\x6c\x1f\x85\x2e\x93\x89\x09\xde\x30\x22\x5c\x9d\x15\x97\xf3\x4d\x6f\x2a\x2f\x14\xbc\x67\x79\x55\xfb\x17\xc3\x5b\xb9\x0a\x2e\x33\x1e\x65\x81\xb8\x54\x68\x31\xd1\x12\x95\x87\x93\x5a\xe7\xea\x1c\x38\xb1\x1e\xe0\x51\x26\x6e\x9a\x7a\xb1\x0f\x7c\xf6\xcb\x97\x9f\x7d\x19\x26\x15\xdd\x64\x64\x0a\x7e\x7c\x78\x70\x74\xe0\xae\x3f\xfc\x41\x34\x05\x2a\x13\x78\xc0\xb3\x48\x65\x36\xca\xeb\xca\xb2\xda\x06\x67\x2c\x1c\x0c\x27\xf4\x09\x60\x25\xca\x4b\x76\x7d\xb2\xb1\xdb\xc2\x2e\x54\xa1\x10\xaf\x3c\x77\xc3\x9a\x2c\xfc\x0d\x94\xde\x1c\x87\xaf\x54\xf7\xaa\x55\x27\xee\xa2\xf6\x10\x79\x73\xdc\x94\xbc\xce\x45\x63\x42\x9c\x4c\x75\xb5\xdf\x6b\x00\x46\xbd\xe2\x83\xf9\x89\x48\x65\x9a\x3c\x7d\xc9\x48\x9c\xa4\x63\x4f\x51\x24\xe1\x12\x24\x72\xe5\xe5\x84\x8b\x0c\xa1\xe7\x5e\x8e\x15\x34\xea\x24\xbb\xc2\x0d\x33\x15\x85\xc8\x47\x82\xed\x4d\x96\x5c\x6d\xf9\x55\xc6\x2d\x2f\x3c\xac\xec\xcd\xf3\xf4\x65\x30\x3f\x39\xf0\x74\xba\xd1\x37\x62\x7c\x3e\x9c\x00\x9f\x33\xc7\xbf\x72\x11\x1d\x8d\x9d\xcc\xe6\x28\x20\xd1\xd1\x7e\x0c\x5d\xc4\xaf\x4d\xc9\x0c\x7c\x7b\x80\x4c\xfb\x72\x2e\x01\x9c\x01\x3f\xa2\x51\x49\x56\x7e\xb4\x84\xfb\x7b\x1e\x70\x23\x73\x1e\x24\x0d\x13\x22\x61\xa4\x24\x96\xf8\xd8\x45\x65\x94\xc1\x69\xc9\x8b\xa5\xdb\x19\xc4\x88\x1b\xbe\xa5\x76\xc6\x4f\xc4\x1e\x04\xc6\x0c\x29\xc9\x5a\xcd\xf6\x51\xb6\x32\xe2\xb8\x37\x03\x60\x33\xc8\xbf\xf1\x15\xf4\xb1\xff\x1d\x5c\x7b\xf7\xbf\xd6\xbe\x08\xc6\xed\xc5\x48\x4d\x5e\x8a\xfd\xac\x7e\xc5\x6f\x64\xff\x0d\x4d\xb5\x2b\xcd\xeb\x3b\x66\x74\xd5\xa6\x02\x73\xb7\x99\x4d\x7c\x8d\x39\xee\xe0\x87\x4f\xfe\xfb\x42\xc7\x9a\x4b\x9c\xb4\x27\xab\x54\xb1\x57\xbe\x16\x45\xf0\x08\x01\x2a\x24\x90\xec\x25\x3d\xfa\x2f\x21\xf7\xe8\x70\xff\x39\x7e\x01\xff\xa1\xbf\x7f\x79\xf1\xf8\xf0\xf5\xb3\xa7\x2f\x0e\xe1\x4b\xfb\xb9\x17\xf3\x34\x0a\x2f\x11\x65\x05\x60\x36\x86\xcc\xc6\x78\xa7\xea\x37\x84\xcd\xe3\x87\x7c\x04\xb6\x53\xfb\x7d\xb9\x76\xe6\x6e\x4d\xad\x0f\x81\x2a\x69\xc2\x7a\x30\xc6\x80\x5f\x1e\x89\x32\xaf\xdd\x91\xe8\x96\x46\x9d\x93\xe8\x2a\x69\xd3\x90\xb7\x0d\x41\x60\x86\x76\x3e\x7a\xac\x04\x7a\x62\xa8\x20\xca\x7d\x67\x8b\x3b\x26\x57\x34\x42\xf7\x60\xd0\xf5\xad\x94\x27\xfa\xae\x19\x0c\x1d\xd1\xfe\x34\x43\xea\xf1\xa6\xf3\x57\xd7\xf5\xaa\x82\xa8\x7c\xad\x42\x32\xc5\x36\xd2\xaa\x2a\xc6\xa4\xc6\xc3\xd7\x2e\x71\xd2\x5a\x0f\x2c\x6a\x0b\x95\x48\x05\x98\x4e\x3b\x62\xa1\x5e\x0b\x13\x7d\xe0\x68\xb8\xaf\x34\xac\xc8\xbb\x11\x08\x49\xf2\xa4\x28\x2f\x91\xdf\x56\x58\x17\xc4\xa8\xb6\xb4\xf6\x4e\xc2\xf6\x39\x26\x77\xe2\xb2\x01\x90\x4e\x4c\x0f\x6f\xf6\x8c\x15\x6b\xb8\xf1\x28\x79\x39\xbd\x9a\xfd\x86\xd2\x79\xa1\x5a\xd3\x91\xa9\xe0\x63\xc6\x87\x87\xdc\xdc\xc4\x98\x56\x56\x45\xbc\x62\x63\x1d\x5f\xd0\x04\x64\xd9\xc3\xc0\x43\xab\x4d\xe1\x66\xff\x00\x0e\x45\x79\x6d\xfa\xdb\xef\xb7\xb7\x4f\x41\xac\xe9\x39\x6b\x64\xed\xd4\x79\x6c\x91\xbc\xe3\xe7\x19\x38\xa9\x74\x5c\x3e\x7f\x01\xc2\x04\x29\x89\xa4\xfc\xfb\x1d\xef\x47\xef\x5e\x69\x58\x0a\xfa\x01\x9a\xca\xf7\x9f\x41\xc3\xd3\xfa\xe5\x88\x0c\x2d\x65\xd5\x47\x66\x3f\x10\x5b\x68\x2f\x9d\xd6\xc3\xd3\x72\x88\x22\x44\x6f\xcf\x2d\xca\x85\x9f\xe9\xf0\x82\xd2\xdd\x40\x3f\x9d\xb5\x88\x52\xc2\xc0\x1d\x70\x9a\x82\x90\xbe\x35\x05\x8a\x5c\x02\x32\xbe\x39\x9a\x1c\x97\xb3\xf9\x70\x59\xf5\x74\x57\x58\x25\x34\x96\xce\x51\xb7\xec\x12\x19\x05\xde\x15\xb6\x19\x99\x8a\x86\x80\xa9\x6e\x7b\xc7\xeb\x43\x8b\x0b\x7b\x8c\x19\x3d\x68\x4c\x26\x75\x6f\x50\x84\x75\xd1\xb4\x96\x47\x47\x6e\xa2\x67\x13\x2b\x91\x41\x7f\xfb\x8f\x7d\xfc\xf5\x57\x72\x41\x00\xcc\x7e\xc5\x0c\xa7\xf4\xc1\x22\xbb\xf9\xef\xdb\x5b\x20\xdc\xd5\xb0\x96\x9b\x51\xb8\xf2\xa5\xbd\xe1\x8d\x64\x83\xea\xd7\x9f\xca\xe7\x9c\x0a\xe2\xc2\xd8\x8c\xef\xb8\xfd\x42\xf2\xac\x16\x40\x7a\xc3\xbc\x1a\xa2\x61\xdf\x7d\xd3\xb2\x87\xd1\x31\x1e\x99\x4e\x4f\xab\xe7\x00\xc4\xfe\xd9\x32\xaa\x8c\x75\x93\x11\x18\x70\x0b\xbc\x0a\x7d\x87\x86\x97\x20\x8e\x75\x10\x1e\x2e\x34\x0b\x94\xbf\x7e\x37\x04\x11\xf7\x57\xf1\xcd\x1d\xc2\x30\xed\x0b\xcc\x3d\x56\x2c\xf1\x11\x8e\xff\x16\xa5\xc1\x08\x7e\xf0\x82\x81\x9b\x7c\x88\xaf\x87\x21\xbd\x8d\x5a\x70\xc4\xc3\x8e\x46\x1c\xa4\x2c\xba\x61\xfa\xdb\x7f\x9c\xe6\xa3\xa1\x31\x0f\xee\xf5\xdf\x1f\xdd\xdb\xdc\xf6\x32\x80\x41\x7b\x4d\x96\x16\xb9\xd6\xa7\x53\x55\x8e\xa3\xe2\x4a\xcb\x3f\xda\x3c\x89\xce\x3e\x8f\xd3\x3a\xfd\xa5\x9c\xe2\xb8\xef\x76\x3f\x6c\xb6\x13\xfd\x9a\x98\x24\x17\x0e\x84\xbf\x6c\xf2\x1c\x1a\xea\xc7\x12\xad\x61\x27\x6b\xf9\xe2\x8b\x44\x3f\xa0\xa2\x6b\xd3\xfe\xd0\xf2\xd6\x45\xff\xbe\xa5\x1e\x72\x0f\x91\x25\x9c\xc2\x9d\x01\xef\x46\xc5\x44\xd8\x37\x67\xd5\x18\x3e\xe3\x02\x09\x19\x5a\x64\x7b\xae\x54\x29\xb9\x64\x7b\x23\x4b\x7e\x9c\x57\x0e\x01\x52\xdd\x4a\xe1\x52\x1f\x98\x38\xf1\x63\x17\x0a\x1b\x22\xbd\x53\xea\x12\xf6\xc3\x77\x28\xcf\x60\xa9\x6a\x8e\x24\xe2\xc2\xa5\x49\x9f\x3c\xee\xb1\xf8\xdb\xdc\x07\x58\xcc\xe9\x41\x61\x34\x40\x9b\x2c\x91\xe1\x45\x00\x94\x01\x42\xff\x9c\xcc\x27\x80\x0e\x96\x89\x6b\x54\xa3\x53\x90\x7c\xb0\xfb\x98\xcd\x8d\x54\xa7\x45\x79\x4e\xfa\x43\x93\x52\x18\x85\x1e\x93\xbc\x4d\xbd\x98\x53\xf8\x94\x4e\x8b\x53\x17\x53\xa3\xa0\xd9\x0b\x92\x24\x98\x34\xd9\xe0\x47\x50\x5d\x0c\x65\xed\x86\x6e\xf7\x36\x50\x2d\x5d\xb3\x76\xc3\xfc\x63\x92\xba\x81\x64\x32\xef\xb7\xd3\x1d\x59\x04\xf1\xb1\x65\xf3\xfd\x91\xa5\x86\xde\xf9\xbd\xf6\xea\x7e\xbd\x75\x74\x00\xbd\xcd\xd6\xdb\xe8\x46\x04\x6c\x1e\x48\xd1\x13\xe5\x54\x53\x43\xd2\x4c\xae\xe2\xbe\x70\x5c\x1f\xf9\xda\xac\xfe\xc5\xe6\x83\x56\x98\xf9\x0c\x6e\xec\x95\x30\xb5\xf1\x45\xc3\x7f\x8a\xbd\x3b\xe1\x93\x91\xe8\xb6\xe0\xc9\x00\xd6\x05\xdd\xa8\x53\x6e\x3d\xc2\x2b\x01\x10\x1f\x85\xaf\x58\xbe\xa6\x6e\x7e\xc1\xda\x1e\x74\xcf\x74\x5d\xae\x56\x96\x1e\xce\xd2\xc5\xd0\xbc\xda\xaa\xae\x5b\xd1\x09\x64\xf8\xa6\xbd\xb0\xe6\x5e\x38\x9e\x2f\x49\x25\xb1\x19\x4b\x2f\xc9\x87\xe5\x95\xf7\x8c\x50\x23\x53\xd9\x3e\xab\x76\x33\x46\xcd\x79\xfb\x41\xe9\xb1\xfa\x63\x0f\x5b\xa8\x4b\x41\xbb\xe8\x33\x49\xcb\x07\x9b\x60\x78\x2c\x99\xd8\x2e\x3c\xf1\x0c\x7e\x38\x9d\x02\x22\x56\x73\xff\xe6\x78\xcb\x46\xda\x3c\x4f\x17\x70\xc1\x2e\xaa\x77\xd8\xf7\xc3\x16\x35\x74\x03\x5a\xc8\x65\x36\xce\xf2\x0b\x76\x73\xbb\xe0\xb6\x3e\xfb\xa6\x8e\xef\x4c\x33\x4c\xa5\x26\xcd\xdc\x77\xcd\x63\x9d\xac\x46\x88\x4c\x3a\x7d\x82\xde\x76\x3b\xf2\xa3\x7f\x48\x36\x82\x35\xce\xb1\x52\xaa\xf7\xef\xde\x6d\x50\xa8\x86\x36\x24\x53\x43\x0b\x4c\x73\xcd\x2a\x1a\xd9\x2f\x4b\x60\x67\x5f\x7c\xe1\x6d\xab\x11\x9f\xdf\xed\x7c\x20\x09\x9a\x9d\x68\x7a\xad\xcd\x76\xbd\x66\xfe\x2a\xd7\xbe\xa2\xc3\xb7\x62\x5c\x34\x24\xfe\x86\xf4\x7e\x73\xa0\xef\x2e\x40\x2e\xf9\xd0\xf9\x96\x80\x6b\xe7\x09\xe6\x4f\x60\x23\x8d\x73\x12\x48\xd1\xd4\x57\xb2\x9d\x67\xbd\xb1\x94\x19\xc6\x27\x95\x70\x77\xd6\xe5\xd9\x07\xce\xb2\xd4\xe4\x45\x04\x64\xb8\x48\xe1\x85\x5b\x67\x9f\x89\x3f\x34\xbe\x26\x92\x58\x93\x6b\xc4\xf1\x51\x1c\x23\x25\xfa\x82\x33\xf9\xd9\x58\x87\xf3\xcc\xe3\xff\xbc\xe2\xd1\x93\x87\xfa\x97\xaa\x2e\xc6\xe7\x07\xea\x67\xf8\x61\x0e\x7b\xdc\xdf\xf4\xd2\xed\x7b\x67\xc3\x72\x0e\x74\xbf\x0e\x59\x12\x33\xa5\x1c\x5f\xfd\xe8\x87\xf5\x74\x5e\xf7\xf1\xdd\xf1\x40\x35\x40\x80\x79\xf5\x22\x7d\xd1\xcf\x37\x71\x51\x73\x0c\x8a\xe5\x0f\x3f\x26\xf7\xbf\xf9\xc6\x07\xe7\x67\xa3\xed\x3d\x9d\x5f\xa4\xd3\x7c\x22\xa5\xcf\x31\x1b\x07\xe3\xcd\xcb\x82\x18\xdd\x4b\x7a\xb2\x46\xef\xe0\xcf\x0f\xde\xd0\x61\x42\xd9\x60\xc9\xec\x74\xdf\xe5\x1f\x42\x2c\x88\x55\x9e\x8e\xfc\xe5\x9b\x17\xe5\x8c\x74\xae\x07\x47\x47\xdc\xcb\x1f\x0d\x81\x41\xa7\xcd\x60\x47\x5b\xb6\x06\xfa\x63\x56\x9d\xd3\x91\x8f\x5c\xf8\xe9\x53\xe3\x8d\xe6\xfb\x08\x51\x34\x83\xf3\x5a\x64\x3e\xab\xf7\xb8\xbf\x19\x02\x08\xbd\x97\xd6\x00\xd1\x38\x71\x8b\xeb\x21\x88\x90\x6c\x58\x5b\x75\x7e\x03\x5d\x3b\xf0\xea\x00\x1c\x2a\xf9\x45\xed\x3c\x64\x15\xfa\x10\xfb\xac\x82\xdb\xa2\x4f\x6f\xc2\x27\x95\xfa\xd0\x5a\x01\x87\xe4\xb0\xb0\xd6\x10\xed\xca\xf8\xc8\x28\xa8\xea\x58\x4c\x97\xd5\x10\xfa\xc2\xbf\xff\x3b\x2b\x8b\x21\x86\xc8\xae\x2d\x12\x21\x84\x57\x00\xe0\x39\xf6\xff\x2f\xe8\xfe\x5f\x05\xe5\x84\x8a\x8e\x34\x5e\x6b\x02\x1e\xec\x03\xc1\x3d\x0a\xef\x62\xc8\xde\x42\x37\x01\xc8\xd1\x1a\xfa\xca\x6a\x93\x29\x0f\x6c\xeb\x26\xff\xce\xe0\xeb\x61\x5a\xe5\x29\xec\xcc\x6c\x94\x9f\x2e\xe1\xad\x05\x7f\x0f\xeb\xcb\x02\x2f\x88\xe5\xac\x4d\x80\x65\xbf\x62\xa0\xd7\x53\x40\xe8\xe0\x4f\xe7\xfb\xa6\x77\x64\x8e\x6c\x16\x1a\x92\x92\x64\x88\x7c\x01\xd0\x5b\x35\xd7\x8b\x5a\xac\x49\xdf\x3d\xca\x29\x62\x08\xfa\x44\xb7\x5e\x80\x8f\x8a\x69\x9b\x1e\xc4\xad\x0b\xbc\x27\x1f\x41\xbb\xa3\xf4\x24\x3b\xaa\xd3\xc8\xe1\x52\xc0\x70\x15\x46\xa4\x30\x5b\x05\xb6\x9b\x29\x30\x48\x1c\x76\xbf\x7a\x54\x4a\x35\x7a\x3b\x8d\x1b\xb0\x86\x6e\x40\xe1\x14\x6c\x50\xf3\x10\x3d\x3b\x56\x92\x96\x5d\xee\x03\xd3\xef\x2d\x76\xeb\x1a\x61\x92\x8d\x77\xef\xaf\x0d\xf7\x31\xb6\x8e\x82\x3b\x81\xcd\x1d\x9e\xa4\xb3\x7c\xba\xf2\x44\xe1\x06\x3e\x81\xe6\x4f\xa8\x75\x63\xf7\x08\xd2\x5a\xcf\xba\xac\x46\x30\xf1\x47\x1c\x43\x99\x15\x9c\xfe\xe0\x37\xa3\x64\xdc\x33\xd6\x96\xb7\x9e\xf8\x1e\x1d\x4d\x04\xcf\x8a\x59\x86\x3a\xc6\x6a\x28\x6e\x8a\xeb\xb2\x0d\xec\x88\x8e\x1e\xd6\x2e\x1b\x6e\x05\xb6\x44\xd9\x73\x7e\xda\x26\xc1\x45\xde\x92\xd2\x81\xf9\x75\x20\xce\xc0\xd3\xa0\x21\x3d\x05\xb2\xe0\x7a\xcf\x43\x12\x82\xfb\xbd\x43\xfc\x0f\x0a\x23\x0a\x53\x65\x19\xda\x4b\x0e\xaf\x16\x1c\xf9\xce\x32\x5c\x6f\xb5\xf4\x56\x97\xd7\x31\x9d\x48\x73\x7e\xe9\x64\xf2\x48\x3e\xf7\x95\x96\x31\x19\x93\xf1\xae\xaf\xa3\x3f\x6f\x8e\x37\x8a\x51\x2a\xb7\x7f\x20\xb1\xcf\xd2\xab\x21\x1b\x0d\x86\xc6\x75\x61\x8d\x83\x07\xbd\x38\x62\xef\xc8\xb8\x3b\x34\x77\x9c\x4a\xde\x31\x31\xa5\x65\x36\x3c\xc1\x4f\x6b\x6f\x3d\x75\x46\x82\xda\x2f\xb3\x27\xf8\xdf\xe8\x00\x75\x2a\x7a\x0a\xd1\x7c\xaf\x0f\xbd\x4e\x49\x3f\x71\xc8\x4e\x1b\x11\xd8\xe4\xa2\x40\x57\xe7\x90\xd5\x70\xeb\x9c\xd6\xe7\x81\x8b\x41\xe3\xcc\x2e\xd2\xd3\xdb\x9d\x2f\xec\xd8\x79\xbe\x30\x5d\x0a\x9a\x5f\x86\xf2\x86\xbc\xa1\x51\x0b\x25\xe3\xa2\xba\x72\xee\xad\xce\xc2\x85\xda\xd7\xfd\x53\x8c\x64\x14\x4d\xff\xf3\x74\x8c\x61\x4d\x7f\xd8\x76\x07\x92\x5e\x99\xcf\xb2\x3a\xd9\x07\x0c\x76\xb7\xb6\xbe\x97\xf4\x2d\x92\xe4\x44\x12\x8b\xf4\xd1\xa3\x46\xee\x5b\xf2\x20\xbd\xcc\x01\x20\x25\x3c\x2e\xe6\x1a\xd2\x1c\xa4\x39\x1c\x21\xa9\xae\x61\x2d\xc9\x8f\x90\x32\xab\x93\x3a\xc2\x3c\xb8\x8a\x45\x36\x67\x8d\x07\x3e\xbd\x16\x0b\x83\xb9\x9b\x13\xe6\xcb\xbc\x8b\xb3\xfa\xe2\x0b\xd1\x64\x70\x93\x63\x4c\x2d\x74\x17\xde\xdb\x98\xb3\x62\xd1\xdb\x6c\x1e\x5c\x7b\xff\xc2\x2c\x60\x4a\x2f\x38\xb0\xa6\x65\xd5\x49\xce\xfa\xfb\x2e\x3b\xca\x61\xff\x6a\xeb\x8e\x73\xea\x5e\x78\x62\x00\x7f\xdf\x85\x47\x43\xdf\x67\x58\xf8\xcf\xb4\xe8\xbf\x79\xcd\x71\x3a\x6b\xac\xf9\xc5\x0d\xf8\x16\x03\x7d\x13\x81\x27\x9a\xc7\x21\x16\x30\x9a\xb4\xcb\x43\x72\x9d\x6f\xff\xb1\xbf\xac\x4f\x86\xdf\xfd\x5a\xa6\x97\x9b\xff\xbe\xbd\x69\x6d\xa0\xfa\x8d\xef\x2b\x6f\x7c\x3d\x03\xaa\x3c\x36\xc2\x31\x37\x9a\xaa\x18\xb6\xa5\xd2\x58\xce\x66\xe6\xd4\x0b\xfa\x1a\xb4\x8a\xe4\x43\x01\x17\x99\xa5\x24\xd2\x83\x93\x65\x5d\x76\xd7\x53\xdc\x07\x9e\xb3\xed\x70\xd9\x2b\x78\x5d\xa0\xce\x5b\x37\x0e\x71\x04\x6f\x6a\x71\x59\x5f\x43\xa2\x0c\x83\x8f\x9b\x22\xa5\x4e\x24\x38\x44\x57\x99\xa1\x8b\xb7\x5d\x7b\x80\x66\xb8\x6f\x64\x20\xb8\xd0\xff\xa6\xb4\xe4\x0d\xf8\x1b\x08\xc9\xbd\xbd\xd7\x21\xa7\xb3\xfc\xa4\x1e\x72\x38\xcb\x0d\x9f\xf6\xd4\x95\xab\x7b\x05\x0f\x7c\xad\xb2\x29\x87\xe3\x6a\xa5\x9c\x16\xa8\x01\x7e\x81\x6e\x07\x95\x93\x5d\xa9\xee\x65\xc3\x99\x07\x7d\x1b\x27\x47\xec\xd9\xde\x4c\x4f\xa0\x1b\x92\xc5\xf1\x7a\x7f\x3a\xb5\x32\x3f\xee\x9b\xe7\xa6\x24\x18\xe9\xef\x24\xcf\x4b\xd3\x51\xd1\x4f\x31\x5c\x05\x3e\x5f\x95\x71\x8c\x67\x8f\x3d\x4e\xdf\x35\x3f\xc9\x4f\x4d\x6d\x4b\x3f\xf0\xa9\xcb\xd3\xea\x14\x3d\xad\xd0\xdd\xbf\x2d\x83\xb2\x9a\xa4\x5f\x16\x8a\x1e\xb2\xc8\xf8\x31\x08\x0f\x3f\x8e\x30\x64\x27\xc3\xe7\x06\x27\x41\x40\x4f\xa5\xd5\x7e\x5e\x8f\x4c\x2f\xb3\xc1\xad\x99\x00\x8c\x67\xf4\xd6\x28\xec\x42\x2d\xa3\x69\x0b\x38\x48\xc4\xb8\xf1\xd9\x28\x91\x2f\x25\xa3\xd9\x75\xb1\x54\xe9\x17\x00\x1b\xe3\xb4\xbf\xc8\xca\x2a\xaf\x30\x74\x18\x03\xac\x5c\x2e\x3f\x5e\x88\x41\x52\xa6\x12\x3e\x9d\x72\x5d\x2a\xf6\xee\xb3\xee\x92\xab\xa7\xad\xec\x08\x7a\xce\x84\xaf\x5f\x66\x48\x07\xb2\xd0\xcf\x0f\xee\x34\xe3\x71\x24\x3d\x42\x10\x1f\xb1\x4e\x8f\xa2\x9c\x64\x65\xd0\x3a\x9e\xe3\x3a\x08\xf0\xe1\xa5\x4d\x29\x5b\x23\xa7\x42\x59\x49\x69\x2d\x93\x6e\xd2\x9b\x9e\xf6\x0a\xaa\xe3\xb8\x0b\x4e\xa7\x4d\x45\xc1\x54\x8a\xa1\x79\xe8\x98\xbd\x62\x53\x8e\x5c\xd9\x42\x84\x3d\xe9\xa2\xc6\x36\xef\xee\x76\x5a\x74\x9b\xc3\x6b\xf7\x0f\x41\x87\x8f\x1a\x14\xd3\x4a\x8b\x91\xe0\x9b\x36\x9b\x04\x77\x7d\x70\x27\x1a\xd1\x1c\xaa\xf2\x9c\x8b\x78\xe5\x25\x66\x0f\x83\x79\x06\x71\x34\xda\x83\xa1\xff\x6a\x03\xb5\xba\x29\xb0\x8e\xca\xcc\xbe\xfb\x18\xb9\x48\x9a\x36\xba\xc0\x7c\x48\x13\xe1\xef\x44\xe4\x36\x28\x9e\xf3\x2f\xc4\x43\xc6\x28\x16\x22\x53\x41\x10\x26\x85\x67\xf5\xd1\x45\x41\xac\x38\xa8\x1d\x54\xd1\x3c\xac\xe1\x3a\x45\x89\xdf\xad\xf1\x3f\x10\xf1\x07\xca\xc5\x2e\xe2\x8f\x44\x96\xfd\x5f\xe2\x8f\x29\x68\x6f\x48\xfc\xad\x74\xf1\xf7\x23\xfe\x0e\xaa\x68\x12\x7f\xb8\x7c\x7e\x42\x59\x8a\xc0\x93\xba\xb4\x46\xb5\xcb\x0e\x82\x76\x01\x24\x9c\x97\x6b\x69\x2e\xe7\xb6\xe8\x6a\xca\x41\x07\x14\x63\x50\x9e\x72\xe4\xb7\xbb\x67\xe3\xce\xfa\x02\xeb\x80\x72\x86\x50\xdc\x59\x90\x22\xa6\x39\xee\x56\x2c\xea\x00\x06\x64\x5d\x29\x01\x09\x86\x77\x99\x8e\xa5\xee\x9f\x03\xd4\xb1\xae\x30\xb5\x03\x8d\x9d\x77\xd4\xdc\xf7\x03\x37\xb6\xab\x99\x90\xcd\x2f\xf2\xb2\x98\xcf\x54\x9a\x3c\x91\xba\x61\xb7\xfa\x3d\xf5\x73\xcf\xe5\xab\x66\x27\x15\xdd\x15\x55\x0a\xa2\x08\xa7\x4c\x6b\x1a\xaa\xa8\x5b\xe8\x60\xf8\xc3\x49\xd4\x5c\x24\x73\x99\x84\x6f\xf1\xf6\xb1\xd7\xbf\x9e\x8a\x39\x65\x7f\x71\x53\xda\x53\x2b\x8b\x11\x4e\xca\x57\x38\x2f\xf6\x4c\x64\xda\xd6\x62\x59\x9d\xf5\x37\xdd\x6f\x0a\xa1\x3d\xfd\x87\x6b\x01\x12\xcb\x55\x5e\xef\xe9\x35\xf5\xeb\x16\x4b\x96\x33\x04\x5e\x2c\xfa\x9e\xbb\x00\xfd\xb0\x9c\x13\x79\x4e\xa7\x36\x3e\xaf\xe1\x3b\xc1\xa9\xd4\xd4\xba\x8f\xa7\x70\xd4\xf0\x35\x9f\xc1\xd8\xbd\xcd\xd0\xdb\x40\xd4\x3d\xd4\xaa\x1f\xf3\xc0\xd4\x35\x83\x62\x83\xeb\xf5\x45\xfa\x89\x16\x35\x13\xaf\xd1\xfc\xc4\x63\x2f\x26\xb7\x8a\x79\x38\x71\xfe\x1e\xfe\x76\xc0\x6e\x9c\xae\x72\xec\x0a\xca\xcd\xab\x57\x9a\x83\x77\xb3\x03\x9b\x45\xa5\x25\x8d\x8a\xc2\xff\x29\xcf\x99\x30\xf4\x42\x28\x4d\x46\xe6\xc6\x33\xce\x8f\x5c\x92\xa4\xd2\x9e\xf6\x8e\x22\x7a\xaa\x2c\xe3\xac\x01\xd7\x2e\xe4\x1a\xef\x55\x4e\x35\x5d\x73\x09\xdc\x35\x85\xe2\x60\x63\x9a\x93\xf7\x22\x3d\x1b\xfb\xd8\xb8\x30\xd0\xc9\x5d\x02\x94\xfb\x9b\xf0\xf8\x98\xa0\x8f\xce\x27\xbb\x26\xbf\x18\x32\xbc\xc1\xaa\x74\x60\xdf\xa0\xea\x9b\xe2\x4f\x4c\x41\x23\xe8\xc4\x19\xc9\x52\xd3\xbe\x53\x07\x38\x0d\x6d\x5b\xdd\xd9\xe4\xb8\x79\x94\x66\x84\x77\x9a\x70\x4d\x0b\xce\xdb\x66\x83\xaa\xad\xfb\x90\x90\xe3\xe7\xb5\xc5\x80\xcc\xbb\x4a\x2f\x10\xde\x0c\xac\x68\xfe\x94\x2c\xae\x38\xc7\x49\x56\xe5\x25\x5d\xa9\x32\xda\x20\x5e\xf6\xaf\x4d\x58\xe2\x79\x78\x11\x59\x57\x2e\x75\xe6\xe2\x8a\x9c\xf7\xa5\xce\xc0\xe2\x2a\xc6\xaa\x9d\x4d\x7a\xd3\x2b\x60\xe5\x0b\x14\xb2\x5e\x8b\x2b\xc7\xcd\xb1\xdd\xe5\xf8\xa0\xaa\x5e\x2f\xa7\xae\x80\x6b\xf0\xb5\x3c\x69\x2f\x25\x24\xb0\x01\xdc\xaf\xe8\xc4\xcd\xbe\x4c\xee\x2b\xcf\xb7\xde\xff\xcf\xde\xbb\xf7\x37\x91\x9c\xf9\xe2\xff\xfb\x55\x34\x93\x5f\x22\x09\xe4\x8b\xcc\xc0\x30\x66\xc8\x1c\x63\x0c\xe3\x0d\x60\x8e\x6d\x86\xec\x61\x38\xa4\x2d\xb5\xed\x5e\x24\xb5\x56\x2d\xf9\x92\x0d\xfb\xda\x7f\xf5\xdc\xaa\x9e\xaa\xae\x6e\xb5\x19\x26\xc9\xe6\x73\xf8\xec\x66\x40\x5d\xf7\x7a\xaa\xea\xb9\x7e\x9f\xd9\x35\xea\xbd\x3c\x74\xd3\x17\xa2\x4b\xe0\xcb\xc5\xdb\xac\x55\xac\x44\x75\xcd\xa2\x97\x86\x3e\x20\x76\x01\xfc\xfb\x2e\x3a\x0c\xf2\x14\x68\x37\x10\x32\xca\xdf\x7a\x28\xce\x96\x1f\x61\xeb\x0d\xbf\x9b\x7c\xa3\x7c\x16\xbe\xb9\xf5\x19\xf5\x5d\x06\x6a\x0e\x68\x84\x44\x78\x58\x71\x12\x63\x07\x8a\x5e\x8b\x58\x9c\x1a\x1a\xb5\x1e\x0f\x1a\x9a\x28\xe6\x31\x53\x59\x94\x58\xdc\xb6\x97\xed\xab\x6a\xa8\xc5\x23\xdc\x47\x56\x6f\xb9\x28\x28\x43\x04\x5c\xe1\x90\x99\x99\x51\x13\x56\xed\x71\xcc\x96\x5b\x5d\x4c\xc4\x55\x97\x6f\x95\x99\x47\x2c\xc8\x21\x3f\x25\x95\xab\x9e\xbf\x75\x01\xeb\x54\x83\x9e\xff\x08\x20\x3c\x85\x64\x35\x98\xb2\x7e\xe9\xfe\x79\x30\x78\xfc\x4b\x79\x4f\xc5\x67\xa1\x4a\x1c\x6a\x1a\x26\x0a\x62\xa5\xb6\xc9\xc1\x79\x6f\x7e\x78\xbc\x72\x3c\xdb\xd8\xbd\xf6\x39\xae\x2b\x79\xbf\x72\x13\x44\x74\x9e\x90\xcc\xde\xdb\x5d\xe5\x34\x45\xdb\x5a\xd9\x53\x68\xe9\x36\xdb\xea\x91\x5c\x7c\x4f\x9d\x37\x54\x9c\x41\x76\x4e\x61\x76\xfd\x54\x95\x3b\x81\xb5\xb1\x85\xd8\xea\x75\xe8\xfe\xf1\xd8\xd5\x6f\xef\xc0\x15\x69\x21\x42\x28\x24\x62\xeb\xc4\x69\xfa\x52\xe0\x8c\x21\x91\x74\x1f\x94\x4a\x60\x3c\xba\x55\xcd\x8e\xac\x15\x37\x90\x97\xb2\x09\x40\xac\x76\x24\x1b\xd9\x7f\x2e\x0d\x2f\xd9\x95\xf6\x1d\x71\xba\x0a\xb2\xa8\xbe\x6d\x06\xe7\xad\x42\xb3\x99\x9e\x46\x3b\x09\x8e\x13\x4e\x1a\x94\xb8\xa2\x34\x6e\xe6\xd1\x47\x28\xbd\xa8\x93\x76\x07\x99\x3e\x1a\x14\x06\x81\xdb\x67\xc1\x0c\x7b\x27\x5e\x67\xd5\x5d\xef\xe0\xe7\x6f\x4b\x0b\x6e\xe2\xad\x35\x13\xb5\xf5\xab\x2a\x84\x94\x10\x2d\x8a\xb3\x98\x42\xda\xa6\x4f\x14\x2e\x88\x1f\xb6\xff\xa2\xd3\x85\x09\x09\xc7\x9f\x91\x13\xa2\xbf\xb3\x46\x00\xe0\x7a\x08\x77\x50\x12\xac\x48\xc3\xba\xc5\xa6\x43\x9a\x5e\x66\x8c\x1b\xd3\x46\x38\x60\xed\xb6\x84\x34\x81\x84\x34\xb5\x4f\x49\xd3\x23\xee\xc3\xc2\xb6\xeb\xcb\x5f\xeb\x15\x7d\x94\x4d\x7d\xf8\x2d\x45\x10\x9a\x17\x61\xd5\x58\xdf\xf5\x2a\x21\x2f\x97\xcf\x59\x8a\x3a\x8b\x74\x06\x46\x57\x8b\xb5\x17\xb2\xd8\x76\x87\x85\xd1\x3d\x69\x6e\x6f\x35\x9f\x04\x7e\xce\xcf\xa9\xef\xd6\x7c\x92\xcf\x56\xfe\xd5\xb6\xe0\xab\x82\x10\x07\x82\x66\x91\x2f\xc6\x0e\x3d\x59\xe6\xd4\x29\x9d\x83\xc4\x0a\x4e\x9c\x9c\xcc\x4f\xb0\x19\xbd\x41\xf0\x03\x0d\x35\x00\xfc\xdb\x58\x70\x59\xfc\x6f\xb0\x11\x88\x7d\x47\x68\x19\x98\xcb\x00\x52\x60\x21\xca\x51\xdd\xb1\x62\xe1\xc2\x3f\x55\x5c\x18\x36\xc0\x62\x27\x91\xb4\x03\xcd\xaf\x52\x0e\x51\xa9\xea\x19\xa2\x56\xdd\x3b\x37\xc7\x7c\xed\x94\xd4\x75\x38\x4e\x27\x33\x2e\x01\x69\x0d\xfa\xc9\x56\x5f\x13\xa4\xce\x83\xb9\x9e\x0c\xec\x63\x40\x8e\xdc\xf1\x66\xe8\x5b\xb4\x25\x12\x17\xa4\x21\x8f\xf0\xad\x39\xcf\x46\x29\xe2\x70\xa8\x31\xfb\x26\x78\x5d\x24\x7f\x94\x71\xd8\xd4\x3b\xfe\xf7\x27\x4f\xa4\xc0\x1f\xfe\x20\x9f\x04\xfc\xdc\x7b\xa7\x6b\x2e\x15\x29\x6b\xd1\x7a\x02\x56\x66\x0f\xfc\x53\x95\x51\xd4\x90\x9f\xad\x72\x36\x4e\x57\x19\xf3\xd0\xbd\x95\x26\x7d\xe8\x7a\xaa\x61\xdd\x57\x8c\x8f\xa3\x6a\x7d\x46\xba\x54\x63\x23\x7c\x9e\x96\x26\x55\x81\xea\x71\x86\x3b\xf8\xa1\x62\x52\xb5\xd0\x83\xf8\xd9\x6e\x29\x50\xa2\x91\x21\xa9\x29\x4c\xc3\xf2\x39\x26\x80\xb5\x1c\xd4\x79\xed\xa0\xea\x4c\x9e\x34\xac\x98\xc6\x81\xe8\x2f\xc0\x53\xec\x13\x5e\xa5\xbc\x5b\x6f\x0f\x2c\x7e\x4e\x9b\x5b\x84\xc4\x64\x6d\xf2\x30\xf4\x86\x49\x7b\x9d\x54\xaf\x7e\x0c\x9d\xd2\x08\x57\x2d\xbf\x0c\xe5\xee\xce\x60\x6b\xeb\xf7\x9d\x28\x23\x57\x57\xe5\x55\xba\xb8\xd8\x18\x66\xf9\x38\xcc\xcc\xdc\x2c\xbb\xcb\xc9\x51\x63\xbc\x17\xa9\x4a\x0f\x82\xf5\xfb\xc1\x89\xbf\xb9\xee\x41\xc8\x16\xcb\xfb\x55\x1c\x2b\xd5\x66\xdd\xad\xa2\x2f\x02\x4a\xfa\x7e\x0c\x19\xe7\x3c\x3a\xff\x58\x23\x37\xf3\xbd\xf4\x15\xb7\x93\x12\xfb\x26\x7e\xde\xf6\x60\x33\xe5\x97\x55\x3b\x79\x21\x6d\xdd\x62\x2b\xa5\x4e\xbb\x0d\xe4\xd2\x77\x13\x3b\xa4\xa6\xcd\x88\xde\xc5\x7d\x5b\xf7\x4b\x36\xe2\x59\x26\x90\x06\xd6\x22\xa2\x61\xa6\xf9\xb1\x6b\x7c\xb3\xdc\x00\x6b\x4e\x91\x1a\x61\xf4\x3c\xf9\x29\x32\xdd\xcc\x14\xe0\x10\xf7\x42\x99\x9e\xbd\x13\x6a\x91\x8a\xec\x0a\x46\x9a\x63\x42\xad\xb4\xc7\x59\xa0\xbb\x6a\x05\xd7\x38\x49\xd2\x74\x84\x96\x0c\x7f\x55\xc0\xe4\x33\x5e\x9e\xe7\x53\x05\xa0\xe7\x41\x7d\x95\xd5\x43\xa3\xda\x6e\x5e\x77\x3a\xcc\xfe\xc2\xc7\x14\xa0\x00\x40\x83\x30\x87\x02\x91\x36\x82\xb4\x7d\x55\x78\x34\xaf\x3d\x68\x0b\x10\x02\x51\x48\x5a\x02\x3e\x61\xb2\x2c\x29\x29\xac\x24\x92\x44\xc4\x0f\x65\x4b\x06\xa5\xa8\xc5\xc9\x36\x37\xf5\xa9\x4d\xec\x4b\xc9\x7a\x31\x26\x5e\x27\x36\x04\xb3\x9d\x87\xce\xa1\x52\xef\x46\x72\x88\x9b\x97\xf6\x4c\xab\xe0\x69\xc0\x32\xf1\xa3\x6c\x7c\x83\xb9\x69\xfd\xbc\xd9\x80\x96\x8f\x99\xa9\x31\x0a\x1a\xc1\x40\xbc\xcc\x9f\x9c\xa1\x56\x52\x2e\x16\x80\xe7\x06\xcd\xb1\x0f\xcc\xb0\x98\x43\xae\x04\xce\x99\x72\x93\x2d\xdc\xba\x41\x66\xb2\x0a\x14\xe4\x45\xbe\x58\xa5\x12\xf6\x48\xf3\x56\xef\xc8\x0f\x56\x4b\x0c\x16\xfd\x2b\xa4\xb7\x7d\x0a\x0d\x31\xe2\x42\x36\x99\x2d\x18\x60\x16\xda\x4f\x4e\xd3\x11\xad\x10\xb9\x2b\x56\xce\x80\xcd\xc1\xbb\x87\x5f\xca\xe4\x89\xf7\x20\xac\xfb\x6c\xc8\x39\x3f\x7c\x5d\x5f\x01\xed\x73\x79\x5e\x0b\x51\x76\xcf\x7d\x8e\x1f\x4a\x6f\x40\x7f\x34\xd3\xe5\x9b\xd6\x2a\xb3\x03\x28\xe9\x9e\x77\x6d\x56\x31\x13\xeb\xb8\x51\xdd\x4f\xaf\xa2\xd9\xb2\x21\xd3\xb9\x68\x3e\x2c\xe2\xf6\xc6\x38\x9b\x9e\x13\x43\xfb\x18\x22\xa0\x21\x27\x70\x92\xaf\xaf\xfb\x8e\xe8\x7e\x1d\x08\x14\xfe\xc1\xdb\x00\xab\x59\x38\x35\xbb\xf5\xc9\xa1\x38\xf9\x5d\x29\x93\xe3\x67\xef\xf9\xa8\x59\xd1\xf8\xa5\xb8\xea\x1a\xe1\x27\xe5\xeb\xdd\x23\x7e\x83\xff\x13\x2e\x12\x1a\xf1\xff\xd4\x9b\x84\x1f\xa5\x96\x2c\xcc\xed\x2f\x11\x5a\x1d\xba\x45\xfc\x87\xcf\x5e\x21\x00\x5d\x0f\xb1\xf0\xd2\x49\xf5\xf2\xa0\x41\xd6\xdc\x1e\x96\x6f\x92\x06\x6c\xeb\x43\x11\x6d\xa9\x8a\x55\x18\x75\x83\x2b\x03\x07\xf0\x83\xbb\x2f\xe0\x49\x26\xb3\xf3\xb9\xd9\x88\x72\x02\x10\x9c\x0c\x7f\xe1\xca\xdf\x7d\x92\xac\x73\xba\xc1\xab\x0b\xc0\x4c\x74\x6d\xf9\xf8\x67\xe3\xb4\xc4\x74\xaf\x2e\x97\xea\x11\x0f\xd4\x50\xe7\xba\xa4\x2c\xa4\xe1\x48\xd9\x75\xcd\xca\x59\x78\x7f\xb9\x3e\x40\x4c\xb5\x12\x78\xdd\x75\x60\x6f\x12\xea\x10\xd3\x19\x72\xf3\xbd\xc6\x2b\x44\xd6\x7d\x86\x69\x52\x9d\x13\x81\x9d\xde\xfa\xba\x5c\x2b\x6b\x32\x47\x32\x28\xf8\xd7\x0b\x78\x91\x43\x71\xb5\x2e\x8f\xd7\x02\x2e\xd5\x4d\x0d\xdc\x2f\x36\x40\xf3\x74\xd3\x8d\x7d\x07\x17\x95\x9b\x9e\xcb\x2b\xfe\x2e\x4b\xfe\x03\x32\x14\x0a\xaa\x26\x66\x54\xb0\xd0\x9a\x80\xfe\xef\x25\x49\x81\x14\xfd\xf6\xc0\x2f\x67\x23\x73\x8a\xa4\x25\x25\x5c\x2a\xbe\xdf\xa9\x06\x48\xfb\x81\xb2\xd2\x24\xbd\x56\xaa\x0f\x79\x08\x60\x7c\x94\x86\xc4\x03\x6c\x71\x94\xf2\xc7\x3a\xca\x1a\x43\xa6\x38\x43\x58\xf6\x91\x52\xd4\xf8\xa4\x89\x02\x7c\x02\x73\x65\x58\xce\xe0\xd1\xe6\xd3\xae\x1a\x60\x53\x73\x8f\x55\x6b\x73\x3a\x8d\xd1\xe2\xe5\x0c\xf2\x89\x75\xd7\xa2\x3a\xed\x0a\x99\xae\x87\x23\xeb\x87\x3f\xd8\x8e\x3d\xca\x59\x4e\x1d\xed\xcc\x1d\xd9\xe8\xc3\xb7\xfe\x24\x6c\xea\xb1\xaf\xd0\x81\xfd\xb9\x57\x53\xe8\x73\x64\xc1\x3d\x56\x00\x5f\x96\x11\xce\x25\x20\x5e\xf5\x8a\x66\x8b\x9f\x4f\x48\xba\x3d\xc2\x0c\x57\x8c\x1b\xca\xce\x0b\x4a\xb3\x61\x75\x6c\xa2\x58\xf3\x65\xd3\x2a\x96\xb5\x55\xbc\x7a\x54\xcc\xf3\x48\x28\xc9\xd4\x2a\xd1\x14\xcb\xff\x04\xc8\x79\x2d\x6c\xbb\x34\x0b\x73\x47\x14\x27\x86\x69\xd8\x6a\x3d\xc0\x6c\xa5\x03\x1a\x35\xbd\x3f\xad\xf3\x01\xa9\x19\x06\x25\xce\xe8\x56\xef\xcb\xd5\x43\x03\xae\x02\x82\x60\xcd\x29\x4f\xba\x88\xc4\x81\x3f\x8d\xf3\x69\xd6\x33\xb7\x05\xa4\xc6\x22\xa7\x45\xa5\x05\x47\x77\xc5\x96\x56\x07\x1a\xb0\xe9\xe0\xed\x2c\x6e\x15\xcc\x63\xf6\xae\x58\xba\xed\x55\xfb\x90\xfb\x0f\xa1\x7e\xeb\xee\xa1\x42\xb4\xed\x4a\x60\xf6\xd7\xdf\x74\x2d\x20\xb9\xeb\x6f\xbe\x1a\xf7\x9a\xf5\xcc\x15\x35\x6b\xe8\x80\x56\x66\xc3\x02\xf2\xa3\xb9\x5f\xd2\xe9\xe8\x8b\x4e\xd7\x55\x3e\xcb\x38\x83\x70\xc4\x20\xd4\xf8\x72\x1b\x86\x3f\x36\x59\xc2\xdc\x81\xbc\x1f\xcc\x9b\xbc\x8f\x98\x00\xfb\x71\xcb\xde\x07\x70\x87\xdd\x37\x75\x5d\xac\x14\x4d\x50\x5e\x09\x97\xd7\x3d\x79\x22\xc9\xb5\x3c\xa6\x4a\x6e\x43\x2e\xa4\xde\x2b\x7b\x8d\x91\xad\x87\xae\xc4\xad\x3e\x37\xe7\x5f\xdf\xa8\x9d\x86\x2b\x47\xba\x57\xc2\x87\x1f\x6b\xb5\xa6\x5c\x3b\x22\x0a\xa3\xc8\xfa\xe4\x14\x55\x57\xf5\xfe\x78\xbe\xd4\xe9\x31\x24\x71\xd0\x0a\xb3\x47\xb6\xa8\xd9\x35\x9c\xc2\xee\x78\xac\x51\xf3\xeb\xc5\xc3\x5e\x80\xda\x8f\x73\x8f\xec\x5b\x5b\xaf\x74\xc2\xc8\xab\x6f\x35\xdc\xf8\xf6\x6e\xe8\x95\x96\x2b\xf8\x79\x15\xf7\x05\x0f\x8d\x4f\x6f\xda\xe5\x22\xd2\x5c\x61\x9e\x6b\xf9\x51\x5f\x4b\xe6\xf7\xc8\xee\xc0\xa7\x37\xd9\xdc\x90\xed\x04\xe2\x98\xa0\x50\xd4\x41\x0f\x63\x28\x4b\x82\x65\x1d\x71\xd6\xea\x8b\xc5\x62\xb6\xb3\xb9\x79\x75\x75\x65\x46\x32\xd8\xda\xda\x98\x66\x8b\xcd\x51\x31\x2c\x37\x2f\x17\x0f\x06\x5b\xeb\xf3\xc9\x26\xe4\x08\x39\x39\xfa\xdd\xc9\x83\xf5\xef\x57\x5c\x60\x32\xec\x2a\x39\x18\x46\x8d\xbe\xb8\xeb\x94\x02\xe1\x78\x8c\xf9\x3c\x18\xe5\x2d\x53\x89\xbc\xc3\x5c\x36\x57\x9a\xfb\x84\x1c\xe9\x6e\x29\x00\x91\x95\xe1\x58\x71\x77\x49\x9a\x44\x68\x3e\x14\x02\x2b\xfd\x69\x28\x3e\x04\xb9\x21\x7d\x80\xa4\x22\xd1\x9f\x65\x10\x7f\x86\xb1\x51\xaa\x40\xec\x94\xcd\x3f\xe8\x7f\xcf\x50\x6b\xfe\xa8\xfa\x94\x3b\x0d\xd2\x7f\x9c\x5f\x80\xd3\x3c\x88\xf6\xd3\xce\x82\x9a\x2b\xb3\x6c\x62\x85\x7b\xb2\x81\x66\xe0\x62\x7f\x73\x05\x32\x7a\x4d\xa6\xc5\x96\xe8\x63\xed\xc9\x3c\xac\xbb\x66\x53\xa6\x60\x72\x03\x08\xe2\xa4\x67\x31\xbb\x06\x6e\x36\x5f\xa0\xe9\xf5\x86\x33\xd7\xa1\x93\x2f\xa9\x16\xfc\xa9\x6f\xb4\x64\xfc\x2a\x2b\x0b\xdb\x5c\xd6\xee\x73\x9f\x37\x3a\x2b\x63\x5b\xcd\xeb\xea\xed\xb7\x3d\xba\x12\x49\x0d\x96\x46\xff\xd8\xbd\x92\x14\xfb\xdc\xe3\x19\xa7\x28\xe0\xe3\x85\x1a\x03\xc9\xcc\x86\x28\x02\xfc\x01\xc4\x43\xd6\x34\xa1\xee\x01\xb2\x75\x26\x13\x4c\xfb\x6e\xf3\xbf\x01\x32\xf2\xea\x4b\x96\x7b\xe4\xab\x32\xce\x1a\x58\x93\x70\xa3\x9b\x06\x16\xc2\x65\xf5\xf4\x6a\xa0\x37\x33\x22\x7b\x54\xbd\x66\x3e\xdd\xbb\x57\xd1\xfd\x79\x0a\x35\x31\x04\x07\xef\x9c\x0e\x11\x35\x5f\xab\x15\xed\x8b\xa7\x91\x7c\xac\x7a\xcd\xec\x15\xd1\x98\xdd\xcf\xa1\x35\xf8\x7a\x76\x5e\xa0\x81\x9f\x4e\x60\xe5\xf7\x7e\x3a\xd9\xe0\xf5\xd0\xc6\xe3\x16\x36\xdc\xc7\x15\x82\xd0\x83\x6e\x67\x43\xaf\x37\x0f\xbb\x5e\x1a\xe8\x0a\xd8\x1b\x4d\x58\xe2\xcc\x10\x25\xae\xb3\x7c\x1e\xa1\xae\x4a\x95\xb6\x14\x26\x7d\xff\x76\x24\x76\x3b\xd5\x6d\xb3\xe2\xf6\xeb\xd2\x59\xb4\x8d\x50\x22\xc8\x20\x19\x8b\xac\x6a\xc2\x19\x31\x29\xa5\x0a\x8d\x29\x74\x2d\xc9\xa7\x8b\xcf\xb2\x62\x80\x3e\xc8\x1e\x96\xae\x70\xb3\x29\x34\xb2\x11\x7a\xee\x5f\x7d\x69\xad\xaf\x46\x2f\x58\xaa\xdb\x6f\x87\x1b\x09\x2b\x38\x40\xd8\x18\xa0\x43\x8a\x72\x27\x69\xde\x8e\x4a\x1b\x5b\x7e\xfd\xa8\x17\x48\xb8\x3d\x2b\x7c\xeb\x5e\x17\x49\x66\xc4\x93\xe1\x82\x23\x6f\xe6\x9c\x5b\xf7\x36\xed\xac\x72\x2f\xe1\x6d\xdc\x5d\xd4\xf9\xd6\x7d\xc9\xb9\xaa\xd9\xf7\x1c\xc4\xbf\xc3\xb3\x6e\xe0\xb3\x93\xc3\xde\xae\x0f\x68\x5f\xd5\xae\xd6\xec\x55\x3f\x2e\xfe\x79\xe9\x47\xdb\xcc\x5c\xf1\xfd\x35\xe2\x41\x85\x62\xb5\x38\x57\x4d\x53\x1a\x75\xb1\x01\xbd\x84\xe6\x71\x55\x86\x54\xf3\xce\x53\xfe\x42\xd4\x63\xa6\xd1\xc3\x8a\x96\x15\x64\xd5\xf0\x70\xe3\xa6\x43\xce\xf4\x1b\x31\xf6\x25\xbf\xb7\x63\x45\x93\x5b\x2f\x11\xf7\x2a\x69\x1e\x9a\xb1\x9a\xd2\x72\x96\x0d\x29\xe3\x95\x14\x33\x7b\xbe\xc5\x97\x33\xb7\x98\x97\x36\x55\x37\x99\x5e\x90\xaf\x81\x77\x0c\x0d\x2a\x67\x4b\xb3\x43\x19\x5b\x33\x28\xc3\x38\xf9\x5b\x4c\xcc\x5c\xbd\x71\x47\x9e\xc5\xec\xda\x30\xf7\xe8\x7a\x61\xef\x7f\x7c\x28\xfa\x18\x7e\x1a\xee\xcb\x1a\xe7\xde\x82\x24\x75\xd1\xeb\x0b\x60\x3e\x70\x9e\x2e\x6b\x92\x5d\xd5\xbf\xba\x3b\xcd\xfe\x26\x93\x36\x9d\x9d\x2d\x31\x21\x3d\xfc\x81\x2e\xce\x72\x4a\xfc\x0a\xd6\x27\xcc\x75\xe0\x8d\xb1\x26\x3d\x18\xac\x40\x8b\x08\xe8\x67\x55\x52\xd1\x49\xcd\x71\x74\xee\xb0\xd1\x7c\x9e\xa8\xb9\xfd\xed\x6f\x44\x77\xf0\xf5\x4a\x1d\x2b\xdc\xf0\xc7\x2c\xbd\x60\x74\x2f\x95\x07\x92\xc3\x64\xc6\x01\xcd\x01\xe7\x21\xad\xd3\x7f\xcd\x15\x6c\xfe\xbf\xdb\xb5\xff\xea\x19\x7a\xba\x02\xa7\x1d\xe4\x37\xbc\x4b\x1c\xcb\x28\x36\x2c\x64\x39\xe0\xd3\xbd\x27\x49\xe0\x38\x67\x1f\x8a\x6e\x1e\x68\x54\xeb\xf2\xfc\x7a\xd1\x7b\x0b\xca\x95\x08\x62\xa3\xd8\xba\x8a\x33\x9d\xea\x7e\x4d\x22\x99\x25\xe9\x55\x68\x1b\x23\x06\x83\xf4\x3c\x36\x1b\xb9\x65\x8b\x01\x23\xa6\x2e\x2d\x98\xf9\x6f\x72\x1c\xed\x95\x32\x72\xc9\xd8\x50\x7a\x82\x50\x5d\x8a\x9c\x5f\x19\xec\x27\xf5\x3c\xdc\x0b\x1d\x06\x6f\x44\x6e\x5b\x0a\x3f\x7d\x81\xeb\xcd\x49\xfa\x89\x98\x50\xc5\x07\x40\x16\x62\x89\xf4\x4e\x4b\x9f\x9e\x39\xa9\x47\xb8\x16\x3f\x9d\xbc\x7a\xf9\x2c\xbf\xe4\xfc\xa6\x9f\x31\x01\xf8\x89\x24\x02\x2f\x56\xb5\xd4\xb0\x0c\x92\x4c\x5b\xaf\x82\x69\x54\xad\x02\xe7\x10\x37\xff\x89\x47\xb1\xd9\x74\xdc\x50\x2d\xae\x52\xac\x66\xe7\xa8\xe8\x3d\x2a\xd9\x3f\xea\xd2\xac\x57\x52\x71\x34\x35\x45\xd1\x77\x2d\x5a\xb2\xce\xac\x9a\x3f\xa9\x69\xd4\xe6\xf7\xa8\x6f\x58\x00\x97\x2a\xcd\x58\x00\x27\xad\xda\x41\xc7\xb2\x33\x23\xba\x5b\x03\x10\xfe\x23\x4c\x59\x2c\x07\xd9\x86\xcc\x55\x5a\x57\x11\x87\x7e\x20\x97\x1f\xda\xa6\xda\xaa\xe0\x83\x55\xda\xac\xa2\x8e\xf5\x3c\xed\x5c\x2d\x00\x58\xdd\x4a\x36\x02\x8e\x79\xcb\xa2\x92\xba\xc7\x74\xd9\x2e\xb6\x36\x52\x07\xc3\x6d\x37\x8a\x29\xc0\xfb\x99\x0b\xc6\xfc\xb6\x0c\xb8\x0b\x71\x48\xa5\x00\x69\x17\xf8\x5e\x4c\x31\xb4\x2c\xb1\x69\xa4\xf1\x9f\x7e\x02\x69\x6b\x00\x34\x37\xef\x6b\xca\x88\x16\x1b\xe1\xb1\x2d\x40\xda\x14\x57\x01\x20\x65\xf7\xc1\x01\xe1\x25\xe7\x3e\xe2\x80\x34\xb0\x19\x74\xfa\x32\x86\x96\x95\x96\xb3\x5b\x57\x81\x75\x0f\x2a\x55\x26\x50\x4c\xd5\xde\xc2\x43\x48\x85\x71\xa1\x9a\x7a\xe0\x8d\xef\x20\x11\x77\xfa\xb2\x8c\xcf\xe1\x9f\x14\x19\xa0\x16\xb3\x8f\xaf\x0d\x91\x14\x60\x36\x62\x23\x78\x3b\xda\xf5\x20\x4f\x8d\x52\x5c\x3b\xd4\xaa\x9b\x2b\x2f\x9f\x26\xcf\x9f\x93\xa0\x0b\xed\x53\x2b\x5c\x81\xd0\x32\x4e\x97\xa7\x9c\xba\xbf\xf5\xf2\x57\xc0\xcf\xe0\xf9\x24\x8d\x5e\xb7\xf5\x6c\xaa\xca\xf7\x36\x8b\x76\x3a\x5e\xce\x57\xaf\x19\xd2\x6c\xcf\xf9\x73\xa0\x57\x6a\xb2\x2a\x29\x36\x96\xa2\xa0\x38\x72\x63\x85\x93\xc1\x06\x15\xeb\xcb\xda\xed\xb0\x40\xb1\x3e\x35\x03\x7d\x8f\xab\xfa\xe4\x1b\xec\xf0\x9b\x0f\xc9\x7f\xa9\x08\xab\x4e\x92\x9c\x16\xd7\xeb\xe4\xc3\xbb\x93\x10\xb8\xd6\xba\xf9\xe9\x71\x50\x28\x48\x16\xb5\x43\x69\x32\xcd\xcb\x86\x40\x15\xf9\x04\x32\x81\xa7\xd3\x45\x58\x8d\xda\x63\x6f\xb8\xed\x59\xa5\x59\xfa\x8e\x33\xd9\x49\xca\x62\x9c\x8f\xbc\x12\x9f\xf5\x3f\x36\xae\x86\x38\x9f\x70\x02\xfc\x48\xee\x18\x3a\x02\xf3\xdc\xfa\xe9\xb8\x18\x7e\x0a\x3a\x82\x55\x5a\x4f\xc7\xf9\xf9\x74\x27\x19\x82\x72\x75\x1e\x14\x50\x0e\x7b\x95\x43\x54\x1b\x86\x0d\x1e\xc0\xc1\x78\xdd\x31\x74\x5b\x78\x91\xa5\x23\x36\x8c\xef\x5d\xe4\xe3\x51\x17\xe7\x1b\xec\xfc\xb1\x39\xa1\x8b\xb2\xba\xff\xea\xa3\x0d\x08\xa1\xf0\xf1\x12\x19\x49\xfb\xf5\xbd\xfa\xbb\x52\x0b\x7c\xd8\x90\xe2\x76\x64\x2e\x00\x1d\x1c\x07\xf9\xeb\x7b\xf9\x8b\xae\xab\xec\x29\x0e\x88\x6d\x25\x8d\x9a\xb7\x50\xad\x83\x86\x70\x43\x28\x1c\xcc\x0f\xfb\xc4\x26\xb2\x81\x2d\xed\x44\x4b\x13\x81\x9b\x71\x81\x03\x8e\x22\x6e\x79\xbc\x77\x12\x23\xc5\x19\x29\x64\x91\x79\x9b\x60\x38\xe0\x9d\x64\xfd\xfb\xef\x83\xbd\xb1\x64\x52\xa5\x8f\xdb\x6e\x7e\x75\xe3\xb5\xab\xd6\x8a\x26\xac\x1d\x3a\x6c\x63\xfd\x2a\x3b\xfd\x94\x2f\xd6\x5d\x02\xda\x1d\x23\xb8\xa4\xc3\x7c\x71\xd3\xaf\x1c\x40\xc8\x11\x34\x29\xd1\x1e\x9d\xfa\xb4\x6c\xde\xe3\xbf\x7e\x51\x1b\x31\x1b\x17\x41\x24\xd5\x59\xb8\x08\x13\xdf\xe7\x25\x6e\x6b\x1b\xab\x8d\x63\xa9\x61\x07\xf4\x39\x0a\x29\xa6\xa7\x12\x8d\x4f\x25\xd3\x41\x80\x78\xd7\x01\x71\xb3\x38\x3b\x03\xaf\xa6\x79\xe6\x42\xbf\x40\xc8\xce\x88\x82\xcd\x8d\x02\x1e\x83\x92\xf6\x9f\x7c\x27\x6d\x20\xbc\x68\x86\x30\x15\x0a\x04\x78\x42\x7a\x41\x23\xdc\xa3\x98\x3e\x49\x01\xba\x84\x13\x2f\xda\x54\xcb\x6c\x8b\x70\xf9\x96\xed\xfb\x2d\xcf\x9c\xcd\xb6\xcc\x9c\x15\xd2\x68\x36\x37\xcd\x1e\xe7\x53\x4c\x2d\x2f\x8d\x78\xdf\x31\x45\x76\x32\xcb\x00\x07\x19\x6d\x20\x46\xb0\x32\x0b\xd3\xf3\x7d\x5f\xe0\x6e\xee\xbb\x09\x40\xbf\xc1\x1b\x4b\x9a\x85\x54\x92\xb2\xbb\x6a\xa8\x92\xc0\x7f\x6d\xac\x71\xe2\x46\x53\xef\x60\xd1\x81\x7e\x2f\x0c\x3d\x91\x11\x26\x87\x1f\x50\x7b\x36\xce\xd2\xa9\xd9\x4a\xcc\xe8\x78\x90\x0c\x31\x79\xe3\x59\x8e\xce\x2e\xfa\x60\x3c\xa5\xf1\x7f\xc9\x7d\x52\x6d\xe0\xef\x7e\x51\x0c\xb6\x6a\x8e\x3f\x7d\x88\xbd\x01\x71\xda\xad\xce\xa5\x77\x4b\x1e\xb6\x3d\xc7\x97\x24\xef\x3d\x06\x49\xf1\x9d\x1e\x3f\xd9\x41\x82\x86\xbf\x8c\x4e\xc7\xfc\x77\x98\x68\xc4\x57\x02\xe9\x47\xa1\x36\xd5\xed\x4f\x85\x53\xc2\x8a\x3e\xeb\xea\x1a\xd0\x4f\xc0\xed\x6a\xba\xe5\x6e\x59\xaf\xc6\xb9\xa2\x71\x04\xcd\x5c\x66\x95\xcf\x0c\xe5\x40\xf1\xed\xa8\xf1\xeb\xc8\x16\x47\xa0\x94\x2c\xb3\x9f\xf3\x51\x56\x74\x89\x4b\x8c\x4b\xed\xd8\x72\xad\x0b\x10\x69\x37\x8e\xb2\xd1\x3c\xbd\x8a\x22\x51\xe1\x81\x05\xa5\x84\x35\x39\xa3\x72\x10\xd1\xd4\xd3\x7c\x1a\xa8\x22\x9e\x1d\xbe\x4a\xe0\xa9\x5e\xa5\x0f\x56\x42\x5d\x73\xfc\xa0\xdd\x2c\xdf\x29\x05\x45\xe8\x5b\xa0\xa0\x8a\xcc\xbd\xca\x45\xce\x2e\x56\xc3\x3a\xf0\x8d\xc3\xc8\x73\xa4\xe8\x01\x6f\x48\x54\xb6\x7b\xea\x58\xbc\x77\x09\xb5\xd1\x29\x84\x8f\x8a\xab\x37\xa4\xec\x9d\x93\x4a\xeb\x2c\x1d\x66\xf8\x32\x64\xec\x65\x06\x43\x01\x45\x0f\x6a\x63\x73\xbc\x5d\xcf\x32\xc8\x3f\x82\x9e\xa3\xe0\xef\x9f\x11\xb6\x1e\x2e\xc1\x0d\xd9\xf3\xb0\x26\x3a\x71\x98\xe2\x97\x79\x76\x65\x47\x72\xf8\xec\xb0\x3b\x3f\x37\xa3\x4b\x7b\x3b\x89\x11\x02\x4a\xec\xba\x4c\x2f\x41\xe3\xaa\x3c\xb3\xb0\x75\xd3\x66\x17\x67\x49\xe9\x9b\xfb\x04\x3e\x3b\x24\xd1\xa1\x87\xbe\x6b\x69\x4e\xfa\x38\x80\x7e\x80\x8c\xee\x66\x86\x93\x62\x5e\x51\x64\xc1\xdc\xce\x21\x7a\x1d\xd7\x05\xa7\x87\x19\xbb\x48\x41\x6c\x17\xac\x9f\x30\x54\xc5\x28\x74\x98\x13\x65\x31\xa9\x4a\x6b\xfd\x34\x93\xe4\x70\xba\x4e\x02\x17\x4d\x01\x3d\x0c\xd2\xf1\x15\xb8\x1c\x10\x80\xa2\x6b\x0b\x1d\x82\xcd\xc3\x83\xc9\x17\x73\x22\x53\x17\x6f\x0f\x13\xb7\x8a\x37\x18\x70\xe7\x7a\xdd\x34\xd9\xb1\x4f\x3e\x13\x3d\x9a\x10\x18\x7c\x99\xd3\x05\xd3\x94\x56\x53\xbd\xd9\x7d\x56\x23\x58\x52\xc4\x65\x70\xa1\x00\xb4\x5c\x3f\x68\xda\xac\xb8\x13\x2b\xc3\x4d\xb4\xdc\x7b\x6c\xe4\x83\x93\x1d\x70\x79\xd0\x19\x10\xc0\x28\xf0\xbf\x8d\x1e\xf0\x8f\xd7\xe2\xb8\x0b\xb0\xc0\x98\xa9\xf1\xbd\x6a\xf2\x43\xdd\x71\xd1\xb4\xe3\x1f\x17\x44\x0d\x30\x5b\x0a\xed\xfd\xa6\x47\xc6\x1b\x82\x3b\x3a\xd6\xbc\x40\x19\xad\x29\xb2\x82\xa9\x7a\x86\x48\x64\xf9\x1c\x9a\x72\xa8\xcb\xe2\xc4\x29\xa9\xb3\x6a\xc9\x9d\xc8\xb5\x8e\xdc\x91\x55\xc2\x12\x30\x3b\x47\xfc\x42\xa0\xa1\xd3\xe8\x97\x10\xbf\xb4\x15\x9c\x81\x1a\xe2\x0f\xc7\x0f\x41\x34\x4d\xa3\x87\xef\xc5\xf4\x57\x8f\xdc\x3b\x78\x62\x00\xd8\x4d\xc0\x0c\x34\xce\x04\x93\x53\x9d\x37\x4b\x4f\x84\xfb\xcf\xed\x0a\x21\xd9\x41\x00\x3d\x25\xc9\x4b\x23\xac\xf0\x45\x70\x0a\x76\x87\x2b\x90\x5e\xc0\xbb\x3d\x9f\xe4\xe6\xa8\xf6\x89\x93\x06\xbb\xee\x3c\xcd\xd1\x0a\xc5\x65\x5a\x1d\x60\x66\x20\x3d\x10\x6d\xe0\x9d\xcd\xca\x38\xa3\x12\x05\x6c\xbc\xff\xd0\x64\xd5\x31\x15\x3c\x57\x1a\x02\x04\x72\x4a\x46\x77\x5f\xb0\x2d\x27\x81\x66\x09\x48\x13\xca\x69\xb5\x8e\xf2\x32\xe5\xa6\xd1\xd6\xf4\x87\x3f\x24\x77\xb0\xe8\xb9\x97\x47\x1f\x55\x20\xe2\x82\xe2\x40\x2e\x6d\xeb\x9d\x5f\x18\x24\x0b\xad\x47\xbc\x4d\xf0\xf5\x3f\x8a\x7c\xda\xed\x74\x6a\x5f\xc8\xfa\x23\x5f\x5c\xfd\x8b\x1d\xf4\xe6\x77\x8d\xc2\xb4\x60\x5d\xfe\x19\x0e\x79\xe4\xa0\xb5\x3c\x61\xb4\x30\xb7\x78\xde\xc2\xc3\xa1\x9e\xb7\x26\xfa\xc6\x52\xea\xd9\x09\xe9\xbb\x96\xe0\x8a\x85\xe1\x3b\xc9\x7b\x5a\x5e\x14\x09\xea\x33\x5c\xf9\x1c\xf0\xc8\x00\xd2\x8c\xd7\x0f\x68\x82\xbe\xe2\xae\x87\x6b\x5d\xc1\xaf\xf9\x8d\x68\x16\x6c\xa7\xe6\x20\xd2\x0a\x33\x34\x96\xde\xfc\x79\x05\x0b\xc8\x92\x1d\xb4\x1b\x9b\xee\xad\x92\x63\x1c\x59\xc8\x84\xd5\x70\x40\x15\x1f\xfb\x7b\x35\x3c\x81\xe5\x1d\xaa\x58\xd1\x56\x2e\xc0\x3b\x01\xdc\x76\x89\xdb\x04\x2e\x16\xc5\x5d\x72\x67\x70\x61\x2f\x21\x86\x44\xb8\x0f\xe8\xf1\x37\x1d\xdf\xd8\xc0\x4d\x50\x25\x80\x0d\x7e\x34\x62\x60\x6a\xe9\x92\x6f\x21\x20\xdf\x24\x79\x5d\x2c\x72\x54\x94\xa4\x18\x87\x41\x56\xe9\x2b\x3a\xb5\x25\x0f\xc5\x01\x33\xb1\xbb\x3e\x0f\x05\xbc\xa4\x65\xc9\x29\xb4\x41\xdc\x2d\xa0\x29\xe0\x03\x73\xf4\xd2\xa0\xcd\x81\x13\xd5\x95\x57\x8a\x03\x31\xc0\xcb\x63\x96\xcd\x17\x37\xa8\x7a\xb1\x9e\x79\x9a\x09\x62\xe0\x78\xb3\xc0\xd3\x4f\x0e\x42\x9e\x66\x74\x3a\x4e\xa7\xc8\xa6\x1b\xe6\x7c\x92\x5d\x91\x7b\x12\x83\x2f\xe6\xa3\x91\xa0\x2f\x79\x40\xb8\xfd\x64\x5c\x14\x9f\x48\x2a\x00\xd1\x9d\x02\x0c\x7a\xde\x72\x32\x45\x5b\xe7\x91\x99\x59\x4a\xb8\x29\xa7\x72\x1f\x5e\xb2\xed\xef\xa4\x98\x6d\x52\xe4\x50\x1f\x1e\x6a\xb3\x90\x30\xc2\xf2\x02\xf4\x37\xd0\xda\x29\x5c\xb3\x30\x71\xe9\xc9\xd0\x94\x19\xe0\xd0\xdc\x8c\xe8\xd1\x31\xcf\x48\x60\xb9\x42\x85\xcf\x04\xfa\x98\xbb\x91\x58\x9d\x99\xbc\xdb\xa2\x98\x01\x1f\x67\x71\x6c\x4c\xb6\x64\x3b\xc8\xdd\x91\xf2\xef\x98\x12\x2d\x5e\x6f\x15\x75\xe6\x3b\xd1\xd9\x50\x5c\x17\xd3\x7a\x54\x75\x13\xad\xd2\x39\xab\x60\xce\xce\xc8\xc3\xbd\xf9\xcc\xd8\x76\x2b\x1c\x01\xbb\xda\xe2\x38\x2a\xfc\xc0\xdc\x0d\xa4\x56\xf5\x45\x52\x0a\x73\x00\x40\xe8\x15\x15\x52\x58\x15\x2e\x69\xbc\x77\x3b\x9d\x9e\xaa\x67\x09\xf5\x89\xcc\xea\x5e\x92\xfb\x31\xa5\x14\xb9\x6a\x78\x04\x08\x5d\x85\xe8\x58\xcb\x25\x20\x62\xe3\xb5\xe1\xa8\x8e\xfc\x00\xc7\xe8\xe2\xd5\x86\x5e\x89\x8f\x9a\x6b\x49\x45\xcb\xac\x8c\x84\xb5\xb5\x78\x52\xd4\xa5\x23\x81\x96\x41\xb0\xc2\x49\x55\xf4\x03\x39\xe7\x7d\xcc\x46\xfb\x86\xd9\x5b\xf3\x14\x5a\xec\x28\x82\xdf\x21\x5e\x8b\x43\x6d\x3e\x4b\x24\xb4\x23\xac\x3f\xae\x58\x1c\x6a\xb8\x35\x21\x52\x8c\xb3\xd2\x0d\xed\xb2\x1e\x33\x80\xef\xb2\x0d\x52\x30\xad\xf7\x9e\x8e\x8b\x21\xdc\xd3\x2e\xca\x97\x82\xdb\x1c\x5b\x12\x79\x4b\xe1\xba\x9d\x22\xde\x78\x78\x3b\x63\xfe\x26\x64\x80\x86\x37\xc3\x31\x37\x3b\xa2\x34\x4e\x3f\x9f\xf0\x2b\x57\xc2\xfa\x42\x5a\x83\xab\x8b\xdc\x30\x70\xa0\xc5\x18\xcd\x25\x39\xc0\xe9\x0d\x14\x64\x98\xf4\xd2\x4b\x8a\x01\xdf\x2c\x47\x67\x3e\xe7\xb3\x25\xb0\x53\xcc\xc1\xb8\x17\xb4\x67\x3d\x95\xe8\x75\x84\x6b\x88\x14\xdc\x74\x91\x8e\x51\x48\xf0\x15\x27\xae\x05\x33\x76\x88\x3d\xc0\x61\x4d\xd2\x91\x08\x19\xf8\x62\xe0\x43\x76\xa5\x94\x2e\xe6\xb0\xd0\x8b\x6f\x66\x23\x9c\x58\x3e\xaf\xdc\xfb\x86\x1d\x33\xa3\x98\x83\x27\x1c\x98\x0d\xee\xda\xc7\x02\x3c\xe6\x0a\xd0\xbd\xc0\xf5\x4b\xaa\x95\x33\x51\xb3\x3b\x1e\x62\xc5\xf5\x66\xaf\x77\x7d\xb9\xc1\x5e\x1e\x90\x9e\x65\xc8\xa8\x4f\xc5\x81\xcf\x91\x45\x0e\x14\x05\x7d\xe3\x89\x0a\x1b\xa8\xfa\xb8\xd3\x15\x8c\x85\xb9\x6d\x15\x4b\x6e\xfd\xeb\x50\x3c\x92\xc3\x6d\x1b\x05\x3d\x87\x1e\x8f\x73\x97\xb3\x45\xe8\x34\x66\x18\xe1\xca\x65\x11\x2f\x85\xa3\x8d\x3d\x64\x10\xa9\xcc\xe5\x74\x55\xd7\xa5\xae\xbc\xb6\x16\x0d\xc0\x53\x02\x5d\xa3\xde\xf4\xa0\x2e\x6a\xee\x88\x9b\x8b\x3f\xff\x72\xa6\x1a\x95\x21\x22\x16\x00\xa3\x91\x21\xd7\x4a\x0c\x3d\x52\x64\x45\x82\xe0\x80\x4b\xa4\x1f\x4f\x88\x40\xfe\xff\x48\x31\xc5\x55\x9e\x77\x98\x4e\x09\x0f\x43\xd1\xa3\xb6\x29\x91\x86\x91\xf9\x1c\x7d\x0f\x74\xe1\xf9\x37\xb5\x3b\x0b\x90\xad\x33\xe2\x67\x27\x12\x84\xce\xff\x30\xd2\x59\xaf\xaf\x18\x05\x3c\x20\xd0\x92\x11\xbf\x2d\x42\x88\x2c\x57\xa0\x8e\x5c\x19\x69\xa8\x36\x2d\x2e\x90\xf7\xc9\xab\x53\x85\x6b\x3a\x7d\x98\xb8\x7c\xd2\x3f\xfe\xf6\x37\x8f\xac\x9d\x85\xa5\xc5\xf3\x7e\x1b\x21\x9f\xe3\x43\x9d\x26\x2d\xff\x50\xff\xee\x7a\xe0\x86\x6f\xcc\xfd\xb9\xb0\x79\xc9\xea\xd0\x43\xf1\x0e\x36\x5b\x04\x39\xb2\x6d\x58\x14\x3a\x60\xd0\x41\x45\x82\xba\x9a\xa7\xe6\x72\x47\x0f\xd6\x09\xaa\xeb\xd1\xed\x98\x34\xa7\x23\x82\xca\xc2\xeb\x11\xaf\xbc\x5a\xa6\x5c\x76\x1a\xdd\x78\xcf\xf8\x5b\x31\x0b\xaf\x52\x45\x6b\x12\x97\xa2\x71\xa2\x1d\xb9\xe3\xb4\xcc\xe8\xef\x1a\x5a\x03\x45\xf3\x5c\xd2\x00\xb2\x87\xe9\x90\x87\xfa\x96\xaf\x46\xe7\xb3\xd9\x13\x26\x36\xe7\x5b\x3a\x05\x5b\x23\x42\xe2\x18\xca\xeb\x00\x12\xe8\x99\x62\x36\x49\x96\xf7\xfc\x4e\xd5\x08\x00\x16\x0c\x96\x7a\x05\xf5\x61\x99\xa8\x4f\xa9\xbd\xf4\x0e\x85\x76\xb6\xd4\x65\x38\x17\x88\x42\x40\xea\xbc\x1a\x6e\xc8\x2f\xec\x78\xba\x66\xe1\x4e\x74\x13\x3f\xd8\x8a\x95\xa0\x0d\x1b\x9f\xa8\x36\xf5\x0f\x7f\xf0\xef\xe8\x9a\x38\xa4\x30\x6a\x46\x4a\x9b\x67\x37\x5f\x80\x12\x4d\x50\x30\xbb\x7e\x24\xb2\xa1\x0f\xf8\xea\xe0\x8f\x2c\x77\x36\x64\xa9\xd2\x4e\x73\x5d\xaf\xc4\x63\x5b\x6e\x94\x8f\x0e\x2b\x58\x99\xf2\x11\x6c\xe0\x8b\x79\x18\x68\xd2\x18\x05\x21\xb7\x7a\xc0\x5b\x29\xa0\x25\x3b\x55\xbf\x6b\x81\x11\x45\x8e\x8b\x07\x1f\x6d\x20\x44\xcd\xa9\x09\xc6\x50\xeb\x81\xf8\x17\xaa\x33\xd0\xc5\xd5\xed\x98\x1b\x1e\x58\xce\x59\x19\x40\xe4\x28\x9b\x95\x8d\x58\x0c\x9d\x66\x68\x4e\x57\xdb\x4d\xce\x0a\xc8\xdc\xb0\x6e\x43\x9a\xc2\x88\x43\xa4\xd4\x4c\x21\x73\xcb\x55\x7c\x2a\x3a\xa3\xd2\xa9\x9f\x24\x19\x93\xb4\x00\xf6\xa3\x1d\x95\xa0\x05\xee\x07\x73\x42\x8a\x25\x00\x00\x14\xe6\x19\x98\xb0\x63\x02\x3a\x77\x9e\xde\x98\x57\xe0\xed\xc9\xf3\xf5\xc1\x43\xdf\x69\x9c\x4c\x39\xb8\xb1\x8a\xf4\xf1\xdf\x40\xf8\x7d\x4d\x26\xcc\x6a\x90\x7b\xbc\xc6\xf9\x8e\x56\xb3\x84\x36\xe8\x85\x1b\x29\x1f\x79\x5b\x34\xab\x70\xdb\xc1\x54\x49\x7d\x51\x7c\xca\x10\x97\x4d\x6e\x08\x3f\x31\xd9\x6c\x9c\x03\x26\x5b\x06\xab\x40\xc9\x91\xba\xd4\x03\xb7\x14\x8d\xb6\xc4\x26\x63\x51\x96\x7c\x0e\xf0\x3b\xbc\x18\x57\x43\x10\xdf\x1c\xcc\x90\x47\x9a\x41\xd4\x2e\x95\xb5\xb4\xae\xdb\xf3\xa8\x91\xde\x87\x57\x95\x1c\x4b\x11\x6e\x8f\x27\xe4\xc6\xe3\xe6\x55\x59\xe7\xa0\x01\x20\xe7\xab\x79\xbe\xc8\x9a\xdb\x88\xdd\x4b\x75\xf3\x52\xd7\x07\xef\x8f\x57\x6d\x92\xde\x9c\x66\x7b\xe3\x7c\xb6\x47\x0f\xa1\x02\x5d\xd2\x57\xec\xbd\x27\x31\xc6\x70\x45\x00\xc0\x5a\x45\x50\xb4\x89\x9d\x7b\xde\x48\x7e\x0d\x0a\x0b\xa3\xab\x5a\xc9\x89\x65\x13\xef\xc5\xaf\x04\x99\xfb\x91\x69\xf2\x8a\x8b\x8b\x4b\x82\xe1\x73\x3d\xfb\x9d\x15\x3a\xe1\xe3\x49\xd1\xb6\xa0\x4e\x48\xc9\xe8\x3b\x2a\xa4\xd7\x63\xc9\x68\x58\x11\x99\x24\x1e\x15\x90\x23\xe2\x88\xb0\x74\x93\x60\xf0\x91\x08\x55\xfe\xcc\x12\x2b\x4a\xde\x7d\x7d\x78\x72\x97\x06\x33\x29\x4a\x07\x17\x00\x0e\x49\xa6\xd8\xbb\x0c\x1e\x77\x17\x69\x0e\xcd\x9d\x17\x30\xae\x6f\xcc\x8d\xb8\x0e\x5c\xd0\x37\x84\x60\x27\x30\x75\xf9\x82\xfd\xaf\xfe\x42\xf4\xf1\x17\x64\x88\xfe\xb2\x98\x2c\xaf\xff\xe2\x42\x84\x85\x85\x81\xf6\x40\x36\x1e\x57\x79\x99\x3e\x0b\xae\x04\x2c\xe7\xc9\x9e\xa4\xd9\xa4\x0c\xd1\xb3\xf3\xe5\x6c\x73\x76\x3e\x42\xb1\x16\xd4\xed\xf9\x74\x89\x7c\xfb\x55\x31\xff\x04\x32\x1f\x4e\x0b\x84\xd9\x92\x15\x63\x66\x36\x9c\xd1\x2f\x6e\x60\x14\x5d\x5c\x68\x7b\xa8\xc0\x19\x29\x3a\xa9\x6b\x86\x48\x30\x6c\xc9\x57\x7c\x7a\x8d\xf5\xc5\xf0\x60\xc8\x65\xbc\x2c\x8d\x0c\xb2\x3a\x1c\xcb\x0f\xe7\xf7\x58\x26\x99\x4b\xdf\x1b\x8f\xb3\x86\xbb\xc9\x42\x12\x26\x78\x42\xbd\x71\x3f\xa9\x03\x87\xa5\xb7\x43\xc5\x45\x29\x1d\x26\x22\x47\x18\xe2\x7c\x5c\xfd\x4a\xcd\xea\x02\xd5\x9c\x2a\x41\x4b\x76\x84\x8d\xcd\xe9\x51\x57\x18\x7b\xcf\x9c\x31\x53\x36\xa4\x74\x38\x2c\xe6\x23\xc5\xec\xff\x7c\x52\xcd\x98\xc6\x1a\xfb\xad\x64\x39\x1d\x67\x65\xe0\x90\x73\x61\x08\xec\x94\x94\x35\xe3\x91\x40\xd7\xcf\xf3\xe1\xc2\xb1\xee\xcc\xe3\x83\x4e\x39\x01\x36\x63\xce\xba\x72\x23\x10\x88\x2a\x07\xde\x2a\xfc\x0e\x3a\x19\xff\x62\xa1\x9c\x6c\x23\xbf\x39\xd1\xdb\x34\x5b\x31\xcc\x5c\x91\xf6\x69\xbe\xde\xb8\x3b\x65\x95\x84\x9b\x2d\x1a\x42\x63\x27\xb1\x50\x75\x7b\x45\x7b\x7b\x77\x47\xa7\x47\xd4\x76\x0f\x5d\xea\xb1\x32\x80\x6e\xd5\x19\xa1\xf8\xbc\x7c\xd9\xc6\xc1\xe7\x9a\x6b\x52\xed\x68\xbe\xa8\xec\x25\x69\x90\xc2\xed\xb4\x7b\x79\x61\x9a\x6c\xb7\x99\x6b\x0a\x92\xaa\xb2\x9f\x2d\x37\x93\x96\xe0\xeb\xef\xa7\x1c\xf4\x95\x5b\x2a\x67\x6d\xe5\xae\x72\x41\xbd\xb1\xf5\x77\x88\xc6\xac\x7f\x33\x2f\x40\x6c\x35\x12\x38\x98\xc7\x1d\x7b\xab\x6c\x37\xea\xe5\xcd\x6d\x1c\xcb\x19\x81\xf3\x98\x55\x09\xf7\x77\xe1\xb8\x6a\xb2\x82\xa1\xa1\x07\xf5\x9f\xd6\xd6\xe3\x69\x78\xd4\xd6\xc8\x75\xa1\x96\xbc\x22\x75\x63\x4b\xd6\xdf\x02\xfe\x75\xb8\xe0\xf4\x90\x14\x79\x82\x96\x1a\x8f\x61\x58\xd8\xa8\x64\x0c\xe7\xe5\x11\x63\xe8\xe6\x6a\x0b\x30\xcb\x85\x35\x31\xed\xd8\xc1\xee\x62\x7f\x3a\x3a\x3c\x3b\x16\x0d\x4c\xa3\x6c\x87\xc6\x8f\x27\x8a\x15\x8d\xfc\x59\xa9\x1a\x0f\xb8\xb4\x3a\x7a\x71\x00\x92\xbb\x70\x32\x8e\x3d\x96\x06\x18\xac\x21\x28\xdc\x18\xe7\x12\xc2\x3c\x79\xcb\xc4\x98\xb9\xd1\x4a\x5a\xa5\x19\x45\x09\xd2\x13\x01\x89\xaf\x61\xb4\x01\xa5\x7a\x71\x23\xa3\xc7\xb4\x0f\xe9\xa4\x19\xe7\xc9\xf2\x87\x1b\x9a\x79\x96\x5e\xde\xce\xba\x83\x00\x0e\xb2\xd6\x52\xb0\x62\x06\x02\xc6\xe9\xc1\x71\x46\xb6\xb7\xd5\x8c\x44\x75\x69\x2d\xba\x60\xfb\x3c\x27\x5e\x13\x23\xe3\x97\x0b\x5f\xa4\xad\x10\xea\xd6\xc6\x6f\x33\x2b\x35\xf8\x5d\xc6\x58\xc2\x0f\x7d\x23\x03\x5f\xa6\xac\x1c\x95\xe1\x60\x03\x98\xed\x38\x2b\x25\xa3\x86\x00\x0b\x7c\x85\xc1\x31\x5e\x86\x86\x7c\x6b\xb5\xf4\x2b\x17\xde\xbc\x0d\xbb\xea\xee\xd1\x57\x8e\x55\xf3\x49\x4b\xc8\xd0\x5a\x57\x11\xcb\xa9\x54\xae\x9d\x0d\xc7\x09\x69\xa4\xcf\x41\xaf\xc2\x50\x85\x4b\xab\x94\xd4\x70\x3d\x20\x02\x6d\x78\x45\xa9\xd6\xbf\xca\x72\x7a\xac\xd8\xcb\xfc\x13\xba\x04\x90\x7a\xab\x6f\x78\xf1\x61\x36\x03\x89\x21\x47\x3f\x19\xbd\xe3\xad\x70\x5b\x40\x5b\xf3\x1c\xb4\xdc\xbf\x1e\xe6\x23\xa6\x7b\xab\xc4\xe1\x00\x50\x4d\x0c\x12\xc5\xbc\x4d\x90\xb0\x6f\x2f\x9d\xcf\xf3\xf4\x3c\x63\xde\x85\xa0\x2e\x48\x6d\xa4\x27\x0d\x3b\x21\x23\x27\x67\x81\x66\x28\xaa\x49\x7c\x8a\x55\x15\x43\x75\x0c\x1e\x93\xee\xcd\xad\xca\x79\xbb\x21\x55\xf6\x2d\x44\x4e\x5a\xce\xd0\x82\x89\xa7\xd2\xb0\x36\x10\xcf\x7c\xc3\x0a\x70\xe4\x70\x94\x0d\x30\xe2\x81\xe0\x70\x39\x30\xe4\x05\xc3\x32\x57\xa6\x02\x27\x87\xfc\x97\x8d\x1b\xae\xc4\x99\x44\xc4\x7e\xc5\xb9\xba\xdc\x7e\x43\xab\xaa\x58\x41\x1d\x73\x70\x28\x70\x16\x66\x5b\x49\x09\x26\xde\x12\xd3\x1a\xa0\x83\x64\xec\x40\xc6\x8f\x15\x68\x4c\x54\xe3\xa2\x6a\x0b\x84\x98\xd9\x38\x35\x77\x22\xc0\xc2\xf8\xc0\x0d\xa8\x62\xcc\xce\x16\x35\x09\xee\x5c\x54\xd3\x2c\x25\x0d\x44\x85\xb3\xf2\x7d\xd8\x91\x83\x66\x0d\x26\xa8\x20\x53\xd8\xdb\xbb\x64\xb3\x24\x65\x82\xea\x1f\x23\x9e\x18\xc9\x1a\x07\x08\xed\x71\x2a\x7a\xec\xb0\xe7\xb0\x7e\xc8\xcc\xa5\x6b\xa7\x08\x36\x71\x9a\xdd\x14\x8c\x64\xea\x8f\x7d\xad\x3d\x96\x6b\x36\x37\x92\xf5\x49\xf1\x12\xd6\xa1\x81\x3d\x8a\x63\xa9\xd7\x1c\xf4\xad\xaa\x31\x36\xd4\xae\x51\x36\x30\x48\x0f\x71\x61\x7e\xc4\x09\x07\x29\xbb\x00\xea\xf6\x36\x78\xca\xfb\x30\x11\xeb\xd6\xe9\x3c\xd1\xaa\x7b\x3e\xd7\x32\x8d\xbd\xbb\xc3\xb3\x66\x35\x54\x20\x9f\x4c\xd5\x59\xf3\x59\x6a\x4a\x7e\x67\x63\x13\x19\x44\x91\x4f\x28\x94\x11\xec\x95\x4a\x19\x98\x17\x6d\xba\xa1\x4c\xb6\x81\xe1\x42\x94\x9e\x57\x01\x59\x30\x95\xe6\x69\x39\x35\x37\xdb\x62\x09\x70\x88\x2a\xc7\x01\xa9\xc8\xc4\x6d\x18\xdb\x61\x0e\x9e\x80\xa3\xd0\x83\xd2\x7a\x93\xaa\xc0\x37\xc8\x76\x99\x0f\x11\x1d\x06\xfd\xff\x00\x40\x59\xd1\x22\xfb\xaf\x51\x7c\x37\x38\xa9\xde\x70\xe3\x18\x6d\x83\x8a\x21\xb0\xb3\x9a\x5d\x9d\x09\xc2\x11\xd1\x1a\xbd\xf7\x24\x75\x8f\xec\x65\xc6\xe4\x76\x84\x5b\x00\xf3\x39\x9f\x16\xf3\x4c\x7c\x1f\x13\xca\x0c\x49\x28\x2b\xa9\xc5\x4d\x64\xe5\x97\xac\xc1\x28\xbb\x84\xb8\x44\x02\x05\x02\x9f\x10\xd4\x06\xd2\x94\xd2\x73\xd3\x2b\x2b\xfe\x4d\xd3\x93\x6c\xdd\x0a\x35\xc0\x04\x7d\xa2\xb4\xa0\xfd\xe4\xfa\x6c\x98\x7d\x6b\xbf\x81\x55\x39\xa3\x23\x3e\x3f\x5d\x9e\x83\xa1\x69\x73\xfb\xfe\xf6\xfd\xef\xb7\x50\x2a\x1d\x65\xe6\x8d\x5d\x99\xb4\xdb\x9b\x5a\x80\xec\x33\xf4\xd3\x2a\xb4\xb2\x81\x29\x41\xd1\x5a\xe9\x26\xe9\xf5\xde\x57\x31\x06\x69\x9b\x98\x1d\x60\xf2\xa3\x03\x90\xb7\x3f\xf6\x6d\xa7\xbd\x64\xc7\xfe\xbd\xa2\x61\x8e\x29\xc2\x15\xc9\x3f\x79\x12\xa6\xaa\x8a\x55\x78\xb6\xff\x7c\xf7\xed\xcb\x93\x8f\x7b\x87\x2f\x0f\x8f\xb4\x73\xd5\x6a\x9f\xa3\xf7\x2b\x1e\xa3\x0f\xce\x7b\x2a\x6a\x17\x01\xe7\x19\x32\x77\xda\xbe\x7a\xc9\x0f\x4f\xe2\xb6\x82\x46\x53\x5f\x8d\xf1\x92\xce\x31\x24\xbe\x2d\xbb\xc3\x2a\x06\x7e\x24\xc5\x5f\xb7\x19\x7d\xae\xed\xe5\x7c\x9b\x1b\x18\xc7\xb5\xf2\xd6\x6d\x1e\x72\xe5\x4e\xd6\x37\x65\x0d\x63\x53\x7b\xd9\xae\x3a\x6f\xab\xc4\xfa\x56\x4b\xa3\x26\x62\x6d\x30\x5f\x71\xfe\x01\xe7\xe1\x20\xd8\x02\xf7\x7a\xf6\x5d\x6b\x7e\xce\x21\x69\xdd\x79\x3a\x1f\xa1\x02\xce\xd4\xad\xb1\xbc\xfc\xfa\x95\xdd\x3d\x05\xd6\xf5\xd6\x4b\x2b\x8b\xa3\xf8\x0a\xfe\x39\xea\x5b\x6a\x93\x36\x78\x56\xc5\x15\x42\x54\xee\x24\xce\x95\xfb\xa8\x5d\xa9\x7e\xcb\xcd\xac\x41\x5e\xac\x7a\xa9\xb0\x7f\x3f\xea\x16\xfe\x4e\x5b\xf9\x34\x8b\x26\x0c\xbd\xe5\x56\x1e\xa9\x54\x3c\x1e\xb2\x7c\x93\x96\x32\xd8\xf6\xa1\x4a\xd2\x41\xa0\x9f\x3f\x3c\xe1\x86\xfe\xf9\x09\xe0\x79\x1e\x66\x5a\x60\x1e\x89\xf1\x1a\x2b\xd2\x81\x73\x62\x57\x10\x88\xec\x02\x95\x34\x59\x4e\x43\x00\xba\xe1\x05\xd1\x81\xf5\x93\x60\xc4\x35\x09\xf6\x04\xcc\xc2\x55\xd2\x30\x0c\x5e\x7b\x97\x5f\xdc\x8e\x08\xea\x37\x63\x4b\x36\xc3\xee\x34\xf9\x86\x9b\x23\x0e\x7f\xa9\x82\x04\xb2\x43\x35\x7c\x75\x3b\x6e\x2b\x9b\xc7\x94\x2a\xc3\x5f\x6a\x11\x06\xcd\x47\xed\x84\xb0\x62\x88\x73\x4e\x10\x1c\xe8\x19\x6b\x5e\xc6\xe1\x45\x2f\x78\x6a\x6f\x25\x82\xd0\x71\x5f\x40\xd0\x05\x83\x31\x20\xeb\x69\xc8\xcb\x57\x05\x18\xf6\x99\xd6\x2e\x0e\x95\xa9\xe9\xa4\x91\x48\x34\xbb\xfd\x59\x7b\x0e\x3a\x24\x4c\xfb\xb6\x80\x9f\x67\x8a\xe0\xee\x86\xe5\x65\x34\xca\x52\x2c\xa7\xc1\xdb\xc3\x7a\xb8\x66\xb2\xb2\x99\x0a\x2a\x58\x96\x5f\xe2\xda\xd8\x22\x65\xc5\x9a\x97\xb1\x02\x8c\xaf\x4a\xa5\xb8\x4f\xf2\x89\x73\x3a\x75\x2a\xdb\x8d\x35\x9f\x91\xfa\x5c\xf7\x24\x45\x6e\x23\x1e\x47\x35\xf1\xb4\xba\x87\xb8\x4c\xed\x0d\x54\xdb\xc6\x56\xc5\xeb\xbd\x96\x8c\xe0\xba\x01\x58\x52\xbc\xfa\x55\xf6\xfc\x18\x64\xf0\xca\x77\x23\x59\x49\x6f\x64\xc7\xfb\xe7\x24\xb9\xaf\x48\x6e\xf6\xf6\x93\x2d\x0c\x98\xfb\x71\xe1\x69\x35\xa3\xd9\x4e\x6a\x77\xd7\x3d\x78\x7d\x3f\xe5\xb8\xbf\xe5\x2e\xa6\x80\x10\x45\x51\x19\x40\x81\x00\x71\x64\xe7\x30\x6c\x35\xea\x58\x1b\xfa\xae\xa0\xbb\x35\x84\x9a\x50\x68\x40\xa2\x4c\xc4\xe9\x9c\x5d\x4a\xca\x05\xc8\x74\x18\x0c\x05\x72\x3d\xe6\xaa\x58\xce\x6a\x9d\xb4\x7b\xb5\xee\x20\x24\x51\x9e\x78\x51\x81\x34\x23\x3b\xc3\x95\x00\xa9\x56\x25\xf8\x25\x71\x51\x35\x0a\xc9\x2a\xeb\x52\xb1\xea\xd2\x6e\x0f\xc3\x9c\x6a\x2c\x0e\x73\xe5\x75\xd7\x73\x4f\x27\x9b\x00\x6d\x1f\xc9\xe8\x1c\x0e\x18\x04\x45\xaa\x7c\x74\x73\x09\x6f\xc1\xfc\x73\x9f\x40\x2d\x6c\x1a\x3e\x03\x86\x5f\x12\xd4\xb1\xe9\xa3\x5b\xf6\x38\x74\x73\xa8\x9b\x36\x17\xc3\x82\x0c\x3e\x14\x45\x07\x3f\x4e\x24\xad\x80\x1b\xc8\x93\xc8\x98\xe1\xef\x9c\x09\x7a\x20\xe1\x0f\xb6\x86\x72\x11\x73\xc1\x79\x2a\x4c\xc7\x16\xec\xab\x06\xef\x59\x87\xc4\x0a\xd7\x27\x5e\x93\x51\x94\xf7\x15\x6f\xb7\xee\xe0\x76\x7c\x5f\xed\xf9\xe2\xa0\x80\x96\xe7\xeb\xb5\x8d\x0a\x9d\x63\xb8\x51\x2c\x0e\xb3\xea\x68\x06\xdb\xb9\xc0\x68\x1b\xd4\xee\x42\x8c\x27\x59\xd0\x6d\x53\xe4\x20\x81\x86\x45\x8c\x40\xe4\x4a\xe6\xb0\x91\x82\x0d\x06\x8b\x41\x3b\x08\xc8\xcd\x01\xe4\x8c\xb7\xb7\x12\x53\x17\x26\xd8\xee\xe4\xd4\xb2\x7d\xe4\x4b\x3a\xf3\xb8\xf6\xca\x13\x5d\x7f\x80\xaa\x1a\x2b\x4b\x84\xd0\x2a\x93\x5d\xdd\x21\xb3\x3a\x27\xd7\x90\xa1\xb9\x63\x8e\xa3\x71\xe4\x1c\x92\xf0\x50\x72\x73\xdb\x06\x62\xa4\x8c\x19\x2a\xa4\x27\x69\xb7\x41\x4a\xad\x44\x40\xae\xa0\x59\x37\xd6\xdb\xd2\xec\xd7\x92\x55\x0e\xf0\xee\xa4\x5b\x22\xd4\x88\xb3\x92\xb9\x5d\xea\x81\x1a\x3e\xa2\xbd\xfd\x89\x1d\x73\x91\xa4\x7f\x15\x2d\x62\xf0\x66\xad\xd6\x0a\x5e\xf7\x48\xa2\x13\xcf\x2d\xf8\xaa\xac\x16\xa8\x71\xc2\xfd\x6a\x32\x23\xe5\xc3\x59\x77\x71\x48\x0a\x79\x3f\x6a\xa4\xb0\x10\xf5\x6e\x7f\x22\x16\x9d\xd6\x4f\xae\x6f\xfe\x60\x63\x42\x9b\xdb\x03\x35\x95\x0d\x3b\x46\xa5\x46\xe1\xab\x1b\x57\x73\x72\xca\x4d\xac\x60\xc3\x0d\x6a\x94\xc0\x79\xc9\x5c\x62\xb7\x57\x55\x01\xd7\xe9\xf3\x6e\x99\x12\x87\xc7\x12\x3b\x97\x1e\xc5\xc4\xc8\x4d\xea\xea\xca\xb5\x64\xe2\x4e\xf4\x6a\x5a\x39\x06\x37\x06\x0f\x28\xc2\x7f\x56\x96\x33\x20\xa5\x12\xe2\x4c\xab\x66\x2e\x7c\xcc\xa2\x4f\x96\x0d\x45\x67\x82\x6a\x70\xa2\x45\xd8\x12\xd6\x72\x40\x3b\x97\x29\xb0\x27\x23\x81\xaf\x39\x71\x0c\x09\xdd\x00\x50\x16\x78\x49\x88\xfa\x10\x6b\xa9\xdc\x27\x68\x70\x4a\xdd\xb6\xae\xd5\x66\x08\x47\xec\x47\xb6\x52\xf9\x3c\x26\xcd\x01\xf2\x4e\x8c\x85\x7d\x45\x5f\x0f\x82\x2c\xd1\xa1\x5d\x30\x51\x60\x5e\x5b\x5c\x5b\x98\x6a\x2b\xab\xc7\x4f\x89\x9d\x22\x1c\x88\x46\x93\x6c\x3a\x3f\xce\xb3\xe9\xcb\x2f\xbc\x7a\x7b\x77\xd4\x3c\xaf\x40\x1b\xdd\xd3\xdf\x55\xfc\x58\x4b\x0d\x86\x22\xc1\x53\x54\x1a\x2a\x09\x13\x91\xb0\x57\xd3\x9e\xbf\xc1\x2d\xe4\x92\x36\x34\x5b\xe7\x42\xfe\x3f\x93\x60\x9d\xcc\xe5\xd1\xec\x6f\x47\x89\x61\x9a\xd6\xc0\x24\xf9\xeb\x75\x80\x51\xa2\x14\xc6\xa7\xe2\xdf\xe1\xba\x6f\x45\x9b\x61\xbc\xc9\x6a\x4e\x85\x71\x53\x22\xd1\xc8\xda\x77\x32\x70\x7a\xbd\x48\x51\x2d\xd1\x29\xe6\xf9\xb9\xb9\x7f\x21\xfe\xb4\x93\x10\x0a\xef\x08\xb3\xe3\x84\xcd\x45\xa0\x07\x0a\x71\x63\xad\xdd\x53\x18\x9a\x90\xa5\x8a\x6c\xf0\xc5\x8e\xdb\x56\x6b\x9b\xaa\xcb\xdf\xb5\xc4\x4f\xfd\xdf\xf7\x72\x64\x55\x7d\xa4\x68\x5d\x74\x18\x96\x10\xc5\x11\x2f\x4c\x8d\xd6\x55\x52\x3c\xb5\x70\xe8\xa9\xaf\x8b\x94\xd0\x34\xb7\xf8\x20\x1a\xe7\xd8\xda\xf3\x89\x14\xda\xc4\x0c\x0c\xc7\xe9\x64\xd6\x25\x0b\x46\x19\x86\x89\xe0\x5f\xeb\x64\x22\xd6\x2a\xb0\x6b\x9d\x6e\x4d\xb2\x11\x6d\xf5\x6b\xcd\xfa\x11\xde\xb6\xaa\x6d\xf2\x57\x6d\xd5\x8a\xc5\x97\xbe\x71\xc5\xa2\x0b\x11\x1d\xb7\x97\xa2\xf9\xef\x3e\xed\xf8\x8d\x51\x9b\xfe\x4e\xae\x5b\x1c\xe3\xd7\x3a\x66\x7b\x32\xe5\x68\x5a\xbc\x5f\xeb\x13\x1c\x9b\xae\x8a\xfc\x88\xcf\x38\x1a\x21\xf1\x85\xf3\x3c\xaf\x9f\x67\x14\xb1\xab\xc9\x1f\xa5\x7e\xcb\x3c\x3d\xe7\xff\xb4\xfb\xdd\x9f\x43\x33\xcd\x54\x18\xbd\xe0\x1c\xb6\xa2\x1a\xa4\x8c\xd5\x0b\xbe\x8a\x6a\xd4\xa2\xb7\x25\x99\xd5\x73\xb4\xf4\x52\x37\xb7\x16\xf4\x32\x0f\xf2\x92\x1e\x11\xc8\x6d\x82\xbe\x68\x30\x81\x63\x07\x6c\x37\x47\xec\xe8\x24\x5f\x94\xd9\xf8\x2c\x29\x0b\x9f\x51\xe0\xaf\x3a\xeb\x6f\x0a\x79\x8a\x2e\xe6\xc5\xb4\x58\x96\xe3\x9b\x3e\x56\x61\x9c\x7c\x5c\x1b\xb0\xfc\x1b\xe1\xdc\x70\x79\x57\xf9\x14\x2d\xba\x57\x14\xc2\x28\x19\x87\xb0\x88\x83\xf7\x1c\x16\xe9\x38\x2b\x87\x02\xe1\x93\x0a\x86\x28\x75\xbd\x8a\x22\x3c\x04\xec\x8f\x0d\x3e\xcc\x2e\xd1\x33\x35\x1c\xf5\x1b\xc3\x35\xa0\x07\xce\xde\xa7\x61\x45\xb0\x80\x38\xf4\xef\x08\x36\x38\xeb\x30\xa0\xad\x4a\x65\x31\xac\xe2\xc7\x52\x85\x15\xd3\xe7\x8f\x16\x92\x21\x82\xf1\x54\xbf\x87\xa7\x0a\xcb\xc8\xd3\xb9\x7a\xf8\x1c\x74\xea\xff\x11\x5b\xe9\x98\x70\x2b\x29\x90\x5c\x10\xc4\xdd\x3a\x19\x94\x85\x18\x37\xc7\x3e\xeb\x79\x4b\x65\xae\x84\xc6\x46\x85\x93\x50\x9c\x9b\x80\x8e\x79\x6b\x41\x3d\x8e\xfb\x6f\x47\x41\xa5\x2d\xff\x05\x54\x54\x6a\x51\xe3\x4b\x28\xc9\x35\x50\x4b\x4d\x65\x25\x48\x1d\x8b\x84\x41\xea\x4c\x69\x83\x80\xd4\x22\xce\xf8\x69\x54\x1d\xa7\x11\x8f\x6e\x25\x95\x4d\xfc\x1e\x56\x59\x32\xb1\x50\xad\x9a\x40\x5f\x88\x54\x14\xd6\xa6\xbb\xae\x15\x9e\xcd\x13\x44\x91\xfd\x9f\x60\x8a\xa1\xfc\xa9\x26\x29\x06\x00\x37\x27\xb1\x31\x98\xa6\xc8\xec\x6f\xa3\xf1\x22\xa2\x48\xf2\x63\x9c\x6b\x4f\x76\x58\xf8\x64\x1b\xc4\x17\xb5\x24\x8c\x7b\xb2\xb3\x96\x54\xff\x34\x72\xbc\x6b\x1a\x25\x51\xf3\xbc\x2b\x9e\x37\xb1\xa2\xf5\x63\x3d\xe2\x1f\xbb\x2c\x7d\x37\x2f\xcf\x15\xbf\xaa\x32\x9a\xa3\x89\xb2\x81\x4e\x30\x0a\x22\x4e\x27\xc4\x31\x68\x1c\x50\x0e\x28\x09\xb1\x9a\x80\x21\x63\x6e\x0a\xaf\x34\x76\xe7\xb6\x50\xa2\x58\x7e\xc6\x57\xe8\x1a\xa3\x2b\x88\xee\x65\x4e\xaa\xa6\x29\x58\x47\x51\x91\x82\xae\xe4\x98\x45\x13\xcb\xa9\xbe\x52\x30\xa1\x56\x73\x75\x36\x2b\xc1\x69\x12\x5f\x4a\xbe\x61\x70\xc4\x0a\xf2\xf5\x4c\x51\x3f\x24\xd5\x7c\xc6\x2a\x90\x66\xef\x76\x91\x56\x55\xa9\x9c\x77\xe3\x5d\x05\xb1\xa7\xb5\x9f\x79\x05\xe1\x07\x30\x09\x89\x2e\x72\xab\x89\xa6\x98\x89\x49\x0a\xc1\x2e\x7d\x4c\xb1\xb0\x9c\x64\x18\xca\x44\xd3\x34\x2b\x6b\x0e\x8e\xe1\xb6\x5c\x5b\xb8\x8f\x12\x66\x93\xda\x14\xf0\xe2\x78\x82\x31\x95\x00\x79\x99\x67\x9c\x56\xf7\x0a\x03\x02\xf3\xa9\x50\x98\x6b\x2a\x20\x35\x09\x5d\xc4\xae\xd7\xd7\xdb\xf8\x51\x73\x11\x58\x94\x3b\x43\x67\x17\xf4\x7d\x82\x3c\x18\x1d\xc3\xc0\xb7\x74\x2a\x50\x35\xec\x76\xfa\xdb\xbb\xee\x10\x5c\x68\x0c\xae\xe8\x0f\xce\x81\x29\x71\x7d\xf2\x5f\xd6\xc9\x2e\x6a\x26\x01\x3a\x31\x5c\xe8\xcd\xb8\xa8\xdc\x13\x77\x4b\xd5\xc3\x11\x7a\xdf\x6d\x69\xd0\x1c\xb3\x96\x0c\x9d\x02\xb0\x2c\xb0\xac\xec\xc2\x0a\x07\x70\xcb\xdb\x2d\xe2\xe8\x93\x60\x60\x35\x97\xde\x3d\x29\xf1\xfb\x9a\x12\x32\xb4\xcf\x6e\xa6\x31\xd2\xf7\xd2\x94\xb9\x32\xd5\x56\xaf\x14\x7c\xd2\x5a\xc4\xfe\x63\x45\x22\x32\x2c\xa7\xd7\xbc\x20\xc0\x7e\xf6\x5d\xcb\x44\x19\x9e\x62\x2a\xdc\x49\xdb\x40\x74\x4b\x43\xe3\x6e\x60\x7f\xd2\x1d\xad\x88\x0c\xa4\x13\xd6\xea\x12\xfe\x7b\xdc\x79\x95\x30\x96\xaf\x72\xe9\xc5\xb4\x40\xed\x23\x2b\xea\x1f\x45\xf3\xa7\xa5\x12\xa9\x45\x4c\x2a\xa7\x30\xc2\x15\x3b\x2b\xe6\x19\x87\xb0\xc0\xa3\x16\x06\x71\x95\x8d\x78\xe0\x74\xc5\x89\x40\x00\xe6\x05\x0a\x9a\x32\x4f\x18\x08\x45\x53\x9b\xee\x21\x62\x75\xf0\x23\x0b\x41\x40\xa2\x83\x8b\x59\xd6\x31\xbc\x5a\xde\x61\xe7\xfd\xc5\x20\x1a\xae\x27\x56\x79\x20\x38\x87\xea\xd1\x75\x27\xc5\x50\x6a\xc2\xf8\xaf\x7c\x3a\xcc\x47\x99\x93\x3d\x38\x7c\x0d\x35\x27\xd3\x62\xdd\x56\xed\xf0\x02\x98\xeb\xfc\xd5\x4d\x72\xbe\x04\x1f\x76\xca\x17\x4f\x71\x8f\x46\x9a\x59\xad\xf4\xd0\xc9\xa2\x02\x9c\xcc\x45\xa6\x34\x1e\xe1\x6b\x27\x15\xb0\x9c\xbc\x8b\xaa\x52\x0c\xde\x0a\xd2\x16\xcb\x5e\xd6\x24\x06\x0c\x53\x0c\x76\x7a\x81\x81\xb8\x88\xa6\x6e\xae\x69\xcd\x91\x8e\xd7\x5a\x44\x0b\x7e\xcb\x61\xd6\x34\xfc\x85\xc3\xac\x99\xb4\x1f\x43\xeb\xf2\x30\xb0\x32\xed\x34\x0b\xe4\x5e\x14\x95\x11\xa5\x1d\x3c\x55\x51\x52\xcf\x20\xfa\x70\x39\xca\xe1\x02\x42\x88\xf5\xd4\xc8\xbf\xe0\xad\x36\x03\xa4\xbf\xcc\x30\x11\x2b\x63\x97\x4d\xbf\x4f\x33\xdf\x71\x5d\x91\x05\x5d\x16\x3a\x8b\xde\xa9\x3f\xdb\x24\x0c\x3a\x2b\x54\x6e\xe4\x70\x9d\x7b\x75\x72\x6e\xb3\x2c\x8b\x02\x68\x8b\x91\x50\xc1\xfa\x3c\x94\x56\x6a\xdd\xde\xda\xb2\x0e\x85\xb0\x86\xc7\xff\xb9\xcc\xc6\xc3\x0b\x1e\xc2\x47\x7b\xa1\x9c\x16\x70\x94\x71\x7d\xe1\x6a\x32\x6b\x6f\x9e\x8d\x61\x8a\x6a\x06\xa8\x87\xc8\x1f\x96\x0b\x8c\xb4\x54\xb9\xa2\xbd\xc2\xbb\xd0\xf2\xc7\x20\x3f\x4b\x39\x1f\x76\x7a\xde\x19\x53\x45\x61\xe7\x3d\x6f\x0c\xec\x33\x0b\x86\xbf\x4a\x37\x90\x38\xcc\xde\xf8\xb0\x2d\x2b\xa1\x72\xd0\xf5\x93\x07\x5b\x5b\xd5\xe3\xd5\xa2\xa5\xcf\xde\xc4\x47\x59\xf9\x69\x51\xcc\x5e\xab\xb5\x04\xfa\xfb\xe8\x9c\x56\x54\x62\xdc\xb4\x7c\x4e\x69\xd9\xbc\x3c\x39\xc4\xbd\x25\xba\x89\xae\x9d\x1a\xbd\x7b\x1c\xf1\xfd\x33\xf8\xc8\x10\xed\x47\xfa\x3d\xc9\x17\xe3\xac\xe9\xc5\xfb\xaf\xce\x02\x8a\x74\x76\x50\x89\x65\xb8\x35\x19\xda\x06\xfe\x0e\xef\x72\x07\x5b\xef\x7c\xee\x85\xbb\xa2\x3b\x82\xdc\x80\x1f\x39\x79\x0f\x97\xb3\xf0\x9a\xc7\x14\xcd\x6e\xa4\xb2\xc5\x1c\xe3\x80\xe7\x69\xce\x2f\x23\x75\x8a\x18\x76\x3f\x62\xa5\x29\x24\x3b\x87\x8c\x8b\xc1\x69\xe5\x13\x32\x2e\x30\x10\xc9\xeb\x1a\x52\x3e\x3c\x86\xcc\xe7\xc1\x7d\x23\x46\x00\xa5\xaa\x4f\x4e\xf3\x85\x12\x42\xf5\x17\x7c\x69\x8d\x50\x92\xcd\x11\x0a\xc3\x61\x81\xc5\xf1\xa2\x24\xed\x4d\xb2\x90\x24\x3b\xc0\xfc\x22\x4b\x95\x81\x86\x30\x34\x03\x54\x82\x74\x12\x8d\x56\x44\x8c\x33\x66\xfb\x28\x67\xe6\x46\xd3\xd0\xc4\xca\x6b\xa1\x6a\x4b\x90\xc9\x88\x4b\x3c\xfa\xca\x9f\x9d\x85\x3c\xde\x69\x51\x40\x56\xd2\xcf\xf4\xd6\x25\x27\x73\x02\xe9\x03\x78\x0c\xb5\x06\x9c\x90\x1b\xe3\x82\xa6\xe6\xdb\xea\xa7\xf7\xd0\x29\x3e\xda\x3c\xbc\x85\x2e\x6e\x9f\xdd\x1a\x9e\xbb\x1a\xd2\x20\x1b\xca\x9e\xed\x91\x0d\xd5\x5f\x78\x43\xb3\x6b\x43\x99\xf8\xf2\x00\x43\xe3\x83\x1d\x78\x8e\x3d\xac\xa6\x85\x96\xd8\xdb\x82\xb9\xe9\xd0\xaf\x1a\x4f\x26\xb4\xe6\xef\xa1\xfc\x9a\xd8\x48\x20\xdc\xc5\x74\x7a\xe3\x8f\xe1\xd7\x6f\x99\x9a\xe5\xed\xb7\xec\xc0\xe2\xa0\xb6\xda\xb2\x5c\x17\xe7\x2d\x8b\x6c\x09\x40\x9f\x00\xfa\x3f\x62\x9f\x88\xce\xd1\xdf\x9b\x68\x11\x8b\x23\x06\x1a\x46\xc0\x5a\x39\xcb\x3c\x28\x5f\xd4\x1d\x30\x0e\x36\xb9\xbf\xa4\x25\x61\xf9\x80\xbb\x50\xdf\x99\xd2\x5c\xfe\xdd\x32\xc5\xbc\xc3\xa6\x14\x14\x81\xf6\xd8\x87\x07\x30\x0a\xcc\x3d\x03\xbc\xc3\x69\x91\x8f\x4b\x52\x90\x5f\x21\xcb\x7a\x75\x91\x41\x4b\x60\xc0\x13\xc8\x05\xcf\x8c\xc9\xfc\x71\x9b\x05\xde\xad\x22\xd1\xb4\x59\xe8\x08\x80\x4d\xd3\x82\x87\x7a\x33\x7f\xad\x23\x5a\xb5\xf0\x72\x93\x7b\x8c\x13\x4a\x06\x6e\x5a\x0b\x92\xeb\xd5\x35\xe4\xc5\x19\x9f\x15\x50\x01\x28\x9a\x00\xf8\x3c\xe0\x35\x0d\x12\x87\xc2\x99\xb5\xbb\x40\x73\x15\x8c\x26\xca\x93\xa4\x72\x97\xe1\xd9\x31\x57\x29\x24\xc0\x59\x90\x23\x17\xe1\x3b\x44\x4f\x4e\xc5\x12\xdf\x70\x70\x82\x65\xb9\xfd\xe1\x71\x0a\xb2\x56\x7b\x7a\xa5\x8b\xd7\xef\x25\xcb\x23\xeb\xb7\xdf\x53\x80\xc5\xfe\x35\x9b\xaa\x36\x43\x6b\x59\x5b\xee\x28\x1d\x0d\x68\x6e\xeb\xd7\x5f\x6a\x35\x8b\x70\xfb\x3d\x3a\x0a\x75\x99\xb7\x91\x09\xdf\xad\xda\xb1\x31\x71\xcd\xd9\xe2\x2a\xcb\x04\x6d\x24\x9f\x40\x96\x11\x24\x63\xf0\x0a\x45\x4c\x15\xa2\x6d\xad\xf1\x76\xdf\xf4\x91\xc4\xcb\x33\xa8\xe5\x00\xf9\xf4\x46\xc8\x01\x92\xfe\x2a\x65\xb9\xab\xe3\x2b\x23\x88\x73\xf6\x5b\x18\x02\x9b\x05\x93\x8c\x7c\x0d\x8b\x9a\x18\x2c\xa9\x0e\xe9\xad\xa5\x6d\x01\x06\x2b\xc1\x00\x9e\xc0\x55\x59\xe3\x35\xf7\xe5\xdb\xee\xaf\xca\xed\x77\x7b\x57\xea\x37\xbc\x68\xb7\x03\x72\x90\x8d\x17\x53\x8e\x1d\xe1\x31\x7f\xdf\x49\x58\xfc\xc5\x7d\x38\x56\x19\x35\x2a\xda\xf2\x0a\x62\xe3\x1f\xfe\x10\xc8\x92\x01\xfe\xc8\x96\x4a\x97\x71\xa7\x31\x2b\x87\x0a\x58\x3d\xf0\xae\x53\x0e\xa8\xc0\xcc\x7b\x25\x67\x5b\xb8\x82\xff\x83\xc0\xa3\xab\xf4\xa6\x8f\xe8\xf6\xd2\x4b\x06\x09\xfb\x6f\xa4\xa5\x53\x60\xae\x38\xe9\xdc\x86\x95\x46\xda\x26\x09\xa9\xcf\xb8\x23\xf3\xa3\x52\xb1\xe8\x18\x48\x97\x11\x45\x86\x37\x1f\x1a\x93\x88\x54\x03\xac\xd3\xb1\x99\x39\xa2\xb0\x7c\x8c\xbb\xee\x6b\x68\x0e\x2c\x4c\xf6\xaf\x6a\xe9\x8b\xd0\x2e\xa6\xb5\x22\x37\xd3\x21\x19\xf8\x5c\x58\x71\xa4\x58\xee\x25\xd1\x59\x6b\x15\x10\xe2\x7b\x3e\xc0\x3e\x86\x3e\xfe\x9e\x7b\xd3\xfa\xe9\x18\xf2\xe9\x45\x9e\x0c\xef\xbb\xba\x70\xf8\x30\x10\xc7\x8b\x1f\xd1\x74\x92\x63\x48\xe0\x65\x0e\x78\x72\xde\xd5\x83\x7c\x97\x7c\x70\x66\x61\x76\x62\xc6\x16\xa4\xd7\x7f\x77\xa9\x70\x90\x69\x26\x19\xc9\xbc\x36\xc8\x10\x42\x49\xc9\xa7\x92\x9f\x49\xf6\x12\x82\x34\x87\xc0\x92\xdc\x48\x3f\x25\xe1\x36\xe1\x2b\x65\x53\xb1\x38\x3e\x0f\xea\x98\x61\x9b\xfb\xe4\x93\x19\x13\xdb\xfd\x7f\x35\x67\x50\x59\xc9\xdb\xdf\x44\xb4\x99\x4f\xb1\x85\x36\x2f\xce\xd0\x2b\xcf\x6f\x0d\x5f\x22\x77\x68\x84\x92\xe8\xc4\x79\x37\xa8\x4a\x72\x44\xd0\x56\xe5\xa5\xdb\x8f\x17\x7f\x5c\x51\x66\x44\xcb\x55\xd5\x19\xc1\x88\x7f\x26\x32\xe8\x45\xec\x15\xfc\xa9\x0b\xa9\x18\x1a\x29\x56\x48\xa9\x9e\x66\xa5\x44\x1d\xd5\x66\x31\x3a\x05\x0a\x16\x15\xe2\xd7\x22\x09\x3d\xd4\x2f\x25\x0a\x5e\x97\x5b\x90\x85\xab\x11\x23\x8c\x8a\x75\xb6\x91\x40\x6e\x4b\x22\x2d\x89\x44\xcc\x70\x35\x4a\xd4\x62\x96\x0e\xf3\x05\x3c\x05\x9d\xad\xce\x63\x4f\x49\xe8\x65\xa0\xa8\xcd\x3c\xb1\xba\xdd\x41\xe7\x71\x13\xa1\x7a\x8b\xb0\x62\xa9\x78\xe2\x4a\x8d\x29\xfb\x32\x55\xe7\xfa\x63\x04\xbb\xf3\x9f\x60\x0f\x7c\xad\x17\x3b\xad\xe1\xeb\x0f\xc7\x26\xb8\xb6\x29\xb5\x2b\xe9\xf8\x54\x62\xe8\x30\x90\x05\x9a\xb2\x12\x30\xa2\xbd\xa7\x6c\x58\x6a\x22\xf8\xea\x66\xc6\x01\x83\x16\xc5\xec\xc8\x3d\xe8\x31\xbd\xfa\x89\x2b\xe1\x70\x43\xc9\x6d\x6f\x45\xcd\xa7\x5e\xa1\xae\xea\x4a\xe3\x8f\x92\x53\x4b\xa4\x9d\x6a\x72\xd3\x18\xc7\x16\xb3\xe0\xaf\x05\x99\x30\xa9\xf1\x3f\x06\xa3\x56\x7c\xdb\x9e\x15\xaa\x4a\x95\x6b\xd1\x22\x8f\xa0\xc1\xd5\xdc\x68\xb0\xf3\xf9\xc8\x66\x51\x96\xfd\x34\x82\x71\xba\xd1\x74\x02\x29\xec\x7a\xbd\xb2\x46\x56\xbb\xe2\xdb\xde\x3b\xb3\xeb\xf8\x39\x5d\xf1\x10\x04\x3c\x6d\x75\x1c\x02\x3c\xf2\xe4\x09\x18\xff\xa6\x59\x47\x2d\xc1\x51\xb6\x2e\x9f\x3d\xcb\x90\xc8\x9b\x67\x78\xa5\x1b\x01\xe6\x22\x1f\x8d\x32\x9b\x1d\x73\x52\x00\x70\x91\x35\x44\xb7\xe8\x3b\xe9\x74\x78\x42\xf5\x57\xcb\xc2\xc5\x6f\xe8\xf5\xe2\x05\x47\x7f\xc1\xd9\x2b\x74\x5e\xa9\x10\x45\xf3\xe2\xde\xad\x50\xc5\xba\x3e\x02\x2e\x0d\x94\xec\x41\xcd\x00\xc7\xe4\x42\xb4\xa2\x53\x32\x58\xdf\x6d\x41\xb6\xd6\x30\x4e\xfd\x46\x3b\xf6\x2c\x37\x64\x2b\x68\xb4\xa0\xd3\x3c\xba\x9d\x30\x91\x76\xcc\x4b\x6d\x75\x3b\xfd\x64\x55\x43\x32\x87\xd5\x6d\xf5\x3a\xd6\x22\xf6\x76\x36\x4a\x39\x90\x1a\x52\x96\x72\x32\xff\xc1\xe0\x26\x99\x2d\xe7\xc0\x82\x96\x1b\xce\x8a\xc7\x37\x64\x25\x4f\xb1\xb9\x6b\x8e\xe5\x6b\xd7\x06\x28\xbb\x0a\x90\xce\x45\xfe\xb1\x91\x97\x7b\x66\xbb\xd2\x59\x99\x8d\xfc\xd4\x49\x14\x8d\x02\xc2\x84\x94\xdd\x83\x11\xb9\x76\x7c\x46\x6a\x77\x04\x70\xbf\xac\xe9\x44\x38\x55\x4e\xea\xae\x77\xad\x9a\xa1\x63\xe8\xc7\xe7\x97\x17\xe9\x8c\xb8\xfa\xa9\xd6\xb6\x0e\xc1\x4a\x3a\x32\x8f\xcd\xb4\x84\x83\xbe\x12\x13\x1a\x07\x40\xb7\x58\xcd\x45\x8f\x1d\xc9\xd2\x51\xe7\xc7\xf0\x53\x20\x2f\x6b\x8a\xf3\x6d\x85\x67\x60\x1c\x33\x37\x06\x5c\x1e\xc8\x7c\xe9\xdb\x63\x77\x6c\xe4\xd9\x92\xe0\x65\x00\xf4\xba\x18\x7e\xb2\x5c\x22\x08\x34\x00\x72\x3b\x84\xb4\x20\x74\x47\xc8\x60\x82\x19\xa9\x61\x6d\x3c\x7d\x79\xb8\xf7\x27\x7b\xf3\x51\x4a\xc3\x9b\x71\x30\x03\x75\x24\x71\x1a\x74\x38\xaf\x38\xf1\x61\xab\xd3\xa9\x8e\x5c\x69\x9e\xde\xe1\x85\x21\x1c\x18\x80\x65\xea\x01\xbc\xa9\x69\x9c\xfb\xbb\xaf\xc4\x9f\x94\xba\xbf\x10\xdf\xd4\xdb\xdf\xf7\xd2\x44\xd5\xda\xdc\x59\xcc\xd3\x69\x69\x78\x65\x43\x3b\x61\x61\x43\x60\xd9\x9c\x1e\xdb\x63\x5e\x23\x97\x77\xc8\x2f\x05\xae\x8f\x52\xa6\x53\x16\x46\x1e\xb6\x8d\x9d\x9a\x57\xec\x13\x33\x5c\xab\x26\xfd\xf6\xf5\xb3\xfd\xa3\x97\x07\xaf\xf7\xbf\x6c\xe6\x10\x6a\x82\xf9\x05\x7f\x93\xb9\x07\xf3\x82\x54\x0e\x9c\xbc\x1f\x8f\xaa\x19\x00\xa6\xde\x44\xc0\xe4\x24\xbb\x4e\x11\xb4\x45\x82\xe9\x79\x64\x2b\x96\x4e\x2f\xaf\x5e\x37\xf6\xae\xf9\x3b\xd0\x83\x3a\x04\xf8\xd3\xc7\xaf\x43\x13\x91\x89\xdd\x92\xab\xad\xc4\x61\xc7\x79\x57\x1b\xed\x61\x9a\xfb\xc7\xc4\x7a\x98\x6e\xda\x86\x5d\xb4\x61\xa6\x63\xe1\x17\xb6\xde\x97\x84\x5f\xd8\xca\x2b\x5d\x2c\x28\xac\x22\x2e\xbe\x51\x89\x9a\x00\x0d\x5b\xa5\x2e\x98\xe7\x18\xee\x73\x33\x82\x0b\xe0\x7a\x61\xf9\xff\x0a\x96\xd7\xab\x74\x3e\xa5\xe4\x9d\x76\x1b\xf5\xef\xa8\x08\x4f\x26\x60\x1e\x3f\xcf\xec\x8f\x50\x1b\x53\xa9\x4b\x60\x50\x6e\xa4\x08\x50\x47\x9a\x9f\xb0\xf6\xc4\xbc\xa6\xe4\xdd\x46\xc9\x22\x8a\x64\xb0\xb5\xf5\x7b\xf0\x1f\x46\x2a\x45\xc6\xe0\x42\x7c\xe6\x6c\x00\x3f\xe5\xba\x1e\xdf\xb4\x55\x27\x5c\xb0\x21\x86\x87\xa7\xf4\x08\x38\xc7\x7c\xa5\x26\xc1\x34\xf0\x7f\xcc\x70\xdf\xd1\xb4\xc2\x74\xd0\xa2\x11\x40\x0d\x01\xee\xe8\x5f\x5d\x61\x7c\xad\xb4\x18\xcc\x3a\x84\x5a\x91\x37\xac\x5b\xe5\x7c\x0c\xd7\x62\x5a\xd8\x1f\x67\xf0\xcf\x6e\x67\x94\x5f\x76\xb4\x6f\x48\xd8\x00\x73\xaf\xc3\xb2\x04\xb8\x6c\x08\x9f\xb0\xcc\x5a\x07\xfd\x96\x76\x20\x61\xc5\xf0\xd3\xe3\x8e\x62\xe3\x2a\x2e\x65\x3b\xc9\xef\xce\xce\xb6\xcd\x1f\xbf\xd8\x59\x31\x5d\xac\xc3\xf5\xba\x93\x8c\x0d\x6f\x9e\x05\x8d\xe0\x2e\xae\xcf\xd3\x51\xbe\x2c\x77\x92\x47\xb3\x6b\xff\x3b\x6b\x13\x76\x92\xad\x8d\xef\x1e\xf8\x9f\x66\xe9\x08\x38\x28\xf8\xb4\x9d\x4d\xcc\xff\x3e\xc0\xff\xb5\x7f\xf7\x4b\x1b\x76\x7e\x27\xf6\x3b\xba\x10\xec\x24\x03\xa8\x17\xb4\xcf\x07\x66\xc7\xa6\xad\xf4\xbf\xaf\x5f\x65\xa7\x9f\xf2\xc5\x3a\xf8\x0c\xe0\x04\xd7\x53\xe4\xfd\x76\x12\x10\xa2\xe2\x65\x81\xd4\xd7\x89\x73\x8c\x16\x9b\x14\x7f\x6d\xd7\x1e\x14\x8c\x34\x16\xa0\xd1\x54\x36\x1a\xda\xde\x63\x94\x31\xf2\xcf\x7d\x45\x14\xff\x2a\x9d\x9a\xff\x9d\x8b\xd3\xd2\x51\xc6\x96\xf8\x52\x48\x81\x48\x5f\x35\xc8\x15\x45\xd6\x78\x8f\x09\xb3\x0f\xa6\x8b\xee\x8a\xf7\x0c\x9a\x78\x6e\xfe\x69\xce\xed\x5d\x38\xcb\xbd\x0f\x4a\x9d\x54\x43\x99\x40\x43\xcf\xd3\x49\x3e\xb6\x96\x0b\xdf\x53\xd2\x50\xd8\x19\x7e\xee\x38\xec\xd0\x8a\x22\x2e\x7e\xf0\x36\x88\x81\xd0\xf9\x6c\xe9\x30\xe5\x97\xfa\x1b\xa7\x12\xda\xbb\xc8\xc7\xe4\x8c\x56\x3d\xc1\x4a\xf3\x64\x6f\xfd\xa6\xde\xb4\x7f\x5d\x43\xb9\x0d\x4a\x2d\xb2\xb2\xe7\xca\x05\xed\xc9\xeb\xe0\xf3\x02\x72\x36\xca\x51\x0c\xed\x92\x4e\xd0\x8d\x1b\xe4\x13\x73\xf9\xeb\x7b\xbb\x52\x4d\x72\xb0\x9a\x6b\x37\x9f\x92\x43\xf2\x25\x7a\xe7\xe6\xe0\x17\x82\xe7\x3a\x81\x6d\x00\x6b\xf7\x14\x81\x77\xa0\x29\xa8\xed\x0d\x63\x23\xd1\xf6\x07\xeb\x45\xfc\x29\xcb\x28\xa7\x84\x74\x27\xaf\xc4\xe9\x3c\xcf\xce\x30\xe7\x27\xe6\x87\x25\x1f\x92\xa0\x4b\x14\x91\x20\xc1\xbf\x6d\x0e\x96\xae\xb3\x70\x56\x0b\xf3\x5e\x43\x8c\x0a\x73\x79\x38\xb0\x20\x68\xfc\x2c\x9f\x57\x01\x5a\x04\x96\x79\x52\x9e\xf3\xa2\x98\xbb\x11\x13\xba\xfc\x74\xf2\xea\x65\xcf\x0e\x92\xed\x22\x30\x6e\x0e\xa3\xe1\x69\x78\x18\x1f\xe4\xb2\x4f\x30\xaa\xfc\xd6\x62\xab\xfe\x26\xa0\x0b\x40\x9a\x83\x1f\x14\xf8\xff\x9a\x67\x08\x85\x44\x53\x18\xda\x22\x72\x71\xed\x27\x9e\xf2\x7c\xb0\xf1\x80\xfd\x6d\xc1\x5d\xfb\x4d\x5a\x96\xc8\xb7\xe1\x23\x26\xa0\xc4\x5c\x53\x1a\x33\x67\xe4\x06\x82\xb0\xa0\x2f\xd8\xab\x2e\x84\x4b\x4e\x17\x39\x01\x60\x4f\xc5\x59\xca\xd4\x58\x95\x86\x09\x1e\xc0\x43\xde\x3d\xf5\xf6\x99\xb5\xeb\xeb\x29\x87\xcf\x20\xb7\x5e\x7d\x02\xed\x19\x6c\xd0\xfc\xaa\xba\xb7\x7e\x02\x75\xe5\xa6\xe7\x2f\x78\x9f\x06\x0f\xc2\x07\x4a\x3d\x6f\xd7\xd7\xeb\x91\x17\xee\xab\xbd\x60\x6d\xdf\xa3\x55\x6f\x8c\x3c\x5b\x20\x3d\x71\x83\xa2\xb3\x1f\x3c\xda\x9a\x94\x49\x66\xa4\x9d\xf5\x7c\xda\xee\xc5\xa9\x3e\x5f\xab\xdb\xed\xd5\x6d\xe3\x86\x59\x90\x7d\x73\x35\x2d\xc0\x5b\x35\x9b\x66\xf3\x6e\x07\x35\x89\xc0\xcd\x77\xfa\x8e\xac\x54\x8a\xf0\x0c\x9e\x02\xa8\x62\xe1\xe4\x1e\xdb\x2f\xa5\x79\xf4\xdf\x18\x4e\x30\x3d\x4f\x9d\x0e\x08\x19\x5a\x36\x80\xe9\xb7\x32\x46\x11\x5a\xaa\x6a\xf6\xa6\x7f\xdc\xd0\x4c\x8d\x98\xd6\xec\xec\xdf\xd4\xe0\x6d\x9f\xc3\x6a\x3b\x3e\x1f\x60\x4e\x69\x53\x77\xda\x52\x64\x68\xd8\x19\x75\xaa\x67\xb8\xf2\x9a\xba\xb7\xb4\xf2\x80\x7a\x67\xdf\x8a\x3f\xa6\x2c\xb0\x09\x56\x0b\x04\x80\x12\xe3\xdc\xb4\x09\xbf\x76\xdd\xb5\x20\xa6\x02\x6e\x65\x55\x9d\x6a\x67\x75\xb3\x45\x25\x33\x93\x50\x97\x47\xe3\xa2\x7e\x55\x77\xe2\x7d\x90\x6c\x26\xdb\x4a\x3c\xaf\x6b\x97\x75\xc3\xb6\x49\x09\x5b\xd2\x2d\xf2\x6f\xb5\xba\x6b\x92\x9d\x8f\x05\x70\x00\x7d\x28\xde\x5c\xfb\x23\x88\x89\x91\x9e\x91\x80\xfa\xf3\xc3\x03\xaa\xc6\xaf\xb0\x98\x6d\x44\x3f\x60\x4f\x9e\x54\xd3\xdd\x56\x16\xb7\x75\x4c\x00\xca\xa1\x2b\xe8\xcf\x69\x40\x54\xe1\x5b\x44\x1d\x58\x1d\xf0\x59\x33\xdd\xca\x9f\xa6\x92\x1e\x67\x56\x29\x68\xef\xa1\x86\xd1\x6a\xbd\x4a\xdb\x15\xa0\x13\x28\x35\x6c\x24\x09\xff\x43\xef\x0e\x84\xec\x51\xc0\x84\x62\x0d\x0d\x5f\x60\x04\x5f\x97\x9d\xe6\xc6\xfc\x73\x62\xf6\x3f\x9f\x9d\x16\xe9\x7c\x14\x66\xdf\x5c\xf1\xec\xcf\xb0\xb5\x8a\xd6\x83\xca\xe3\xc7\xe7\xa6\xa7\x3d\x69\xbd\xeb\x3f\xd2\xfe\xc8\xf6\x8a\x19\xc0\x0e\x12\xdb\x65\xbd\x5a\x83\xf1\x59\x1c\xc1\x62\x61\x5e\xdc\x03\xc9\x9d\x87\xba\x05\x7a\x98\xc0\x2d\x1c\x1c\xac\xc2\x24\xd0\x7d\xe0\x1e\x59\xf9\x03\xd4\xbe\x12\xd2\x76\x68\xc6\x43\x00\xa1\x27\x85\x9d\x81\x2f\xd8\xcf\x03\x25\x8f\xbe\x86\x29\x4a\x7e\xdd\x8e\x7c\x1d\x42\x77\x86\x59\xa7\x47\x04\xa6\x08\x95\xce\xb9\x63\xa0\x5c\xc4\x4b\x9f\x57\x12\xa3\x7e\x6e\x60\x81\x44\xea\xc2\x48\x18\x15\x45\x44\x71\x97\x66\xc0\xc5\x72\x3e\xcc\x56\xb2\x43\x66\xa0\x1d\x46\xec\x92\x3a\xc1\x9b\x60\x26\x17\x7c\xaf\xe3\x92\xe2\x8c\x07\xb4\xa6\xb8\x83\x08\xff\x10\x96\x68\xe4\x6f\x48\x7e\x5f\xff\xfe\x7b\x73\xc7\xa9\xfb\xdb\x4d\xf0\xb4\x18\xdd\x78\x6f\x8c\x1b\xb9\x17\xf2\xd5\xde\x58\x84\xbe\x72\xd3\xe1\x05\xd9\x13\x28\xb4\x8b\x8d\x45\xee\x67\xbf\xe0\xa1\x38\xe2\x85\x45\xe9\x83\x14\x46\xa3\x47\xa5\x51\xfb\xab\x57\x2c\xd2\xa4\xfa\x9d\x0c\x14\xf6\x0b\xfd\x6d\x77\x3c\xc6\x25\x30\xf7\x54\x65\x15\x88\x9e\xf0\x57\xa9\xa5\xa8\xbb\x7a\x3e\xd7\xc8\x81\x71\x1f\xbd\xc9\x30\x55\xc0\x72\x36\x03\xd0\x1e\xd7\xa9\xd9\x46\xb3\xe8\x1b\x92\x08\x27\x9d\x96\x56\x99\xe7\x4a\x51\x3b\x94\x6d\x80\x43\x0b\xcc\x2e\x1c\xec\x4b\xf4\x5a\xd8\x9c\x4d\xca\x61\x7f\x1f\xb2\x79\xae\xeb\x16\xbf\xef\x2d\xbb\xa4\xe8\x08\x5a\xea\xda\x75\xed\xeb\x15\x75\xdc\x9f\x22\xf1\x9a\xbb\xdd\x5b\xc4\x46\xbc\x3d\x4d\x45\x7c\x4c\x62\x46\xb7\x90\x0c\xfd\x68\x4e\xfe\xf8\xd8\xdf\xda\x9b\xe9\x50\x65\x46\x69\x30\x5c\xf2\xf2\xd2\xdb\xc2\x1b\x78\xcc\xc1\x01\x48\x4b\x1c\x19\xa5\xd2\x5a\x9d\x66\xe7\xf9\x74\x4a\x8e\x7f\xf8\x03\x27\x70\x63\x03\x9b\xa9\x1b\x21\x43\xf5\xbb\x50\xec\x34\xa4\x69\x2c\x43\x34\xcd\x03\x87\x22\x98\x86\xef\x35\x84\x81\xdc\x31\x2f\xda\x9f\xd7\x8f\x0e\xdf\x75\x22\xee\xb2\x76\x95\x2c\xed\xd1\x2c\x20\x22\x21\xb9\x5e\x07\x0b\xf5\x14\xb7\x75\xc1\xce\x91\xa0\x2b\xc6\x08\x21\x6a\xa7\x2c\x26\x19\x25\x77\xce\xa7\xa5\xa8\xaa\xb1\x1e\xa4\x9d\x1e\x8d\x30\xf4\x27\xcc\xf2\x65\xdd\xec\xc1\x7c\x61\x56\xa4\x94\xd6\x5c\xa6\x69\xb5\x96\x1b\x6b\x56\x64\xf5\x27\x06\xe6\xd0\xdf\xc1\x0d\xd7\x01\x33\x33\x7e\x53\xc4\xe5\x15\x3b\x7e\xb3\xfb\xba\x13\xe2\x73\x4c\xd9\x05\x7d\x21\x8a\x07\xfa\x01\x71\x7e\xe0\x1e\x1e\x01\xbe\xbb\xf8\xa0\x00\x8c\x0a\x8f\xcd\xfc\x48\xbd\x71\x6b\xbc\x23\xc1\x00\xc4\x35\x09\xff\x43\x1e\xc8\x34\x7e\x99\xfd\x31\x4d\x5e\x61\x56\xe8\x76\xfc\x42\xce\x78\xe4\xe8\xe4\x9e\x33\xe2\xd6\xe4\x5f\x84\xbf\xf5\x02\xff\x60\xc8\xed\x83\x01\x0f\x35\x64\xaa\xa2\x21\x34\x81\x66\x90\x78\x9c\xc9\x73\x55\xda\x47\x75\x3b\x4c\x47\xa4\x86\x5b\xf7\x18\x3e\xc7\x89\xb9\x72\xea\xc6\x88\x52\x39\x37\xf5\x55\x68\x1c\xe7\xf8\x9b\x52\xb8\x8b\x0d\xaa\x25\xf1\xcc\xee\xc2\xbf\x1a\x81\x83\x4e\xab\x91\xb8\x55\x01\xab\x48\xb0\xf4\xf5\x65\x64\x8d\x10\x51\x97\x89\x43\x9e\x05\xf7\x35\x68\xa1\x1b\x5c\x94\xe6\x77\xeb\x47\xdf\xec\xc3\xe3\xd1\x9e\xae\x86\x09\x95\xa1\x7f\x7e\x05\x40\xc5\x7f\x35\xdc\x28\x97\xa7\xc4\x57\x77\xe7\x97\x7d\x7d\x52\xfb\xb6\xc4\x82\xc4\x49\x53\x00\x50\x66\x34\xd5\x87\x3c\xba\x36\xe3\x3a\x02\xae\x61\xd8\x99\x76\x29\x9d\x13\x84\x8b\xa1\xcd\x36\xa5\x28\x4e\x60\x24\x46\x19\xab\x4a\x57\xb1\xe2\x11\x7e\xa5\xc6\x79\x91\x1e\x5e\x59\x6d\xef\x41\x76\x7e\x40\x58\xea\x8e\x96\x5f\xc9\x78\x1e\xe3\xfa\xb1\xf0\xaa\xb7\xdf\xd7\x44\xc4\x90\x0c\x14\x8f\x5f\x93\xb3\xc0\x08\xf1\xd7\x81\x43\x95\x1f\xe8\xe0\x25\xff\xb8\x2c\x3e\x99\x73\x72\x7a\x13\xfa\x64\xfc\x29\xbb\xa1\xe5\xb9\xa2\xb8\xcd\x9f\x4f\x92\x4f\x99\xd9\x97\xb9\x29\x9f\x60\x6a\xe5\x05\x0a\x4a\x75\x1a\x6f\x16\xc1\x4e\x38\x2c\x9a\xfe\x35\xcf\x28\x6d\xf3\x42\xcc\xb6\xb6\xc9\x3e\x1c\xdb\xb7\x27\xcf\xd7\x07\x0f\x57\xec\x63\x31\xfd\xf9\xe4\x4f\x76\x24\xbe\x28\x65\x4f\xa4\x0e\xd2\x31\x57\xd5\xe1\xd4\xd6\xf8\xe8\x7b\x66\x35\xe0\x05\xaa\x93\xe6\xf0\x02\x65\x1b\xf2\xc2\x1f\x08\x95\xfe\xc4\x8b\x66\x4e\x14\xa4\xb2\x96\x21\x85\xde\x5d\x23\x4f\xa8\x04\x30\x24\x84\x41\xe3\x7f\x33\x6c\x10\x99\x9f\x17\x79\xc6\xc0\x3c\xe0\x0c\x89\x4a\xca\x12\x4a\xaf\x11\x2c\xda\x14\xd4\xee\x90\xeb\x21\xa1\xd3\x53\x4c\x5f\x41\xc1\x6e\x2f\x66\x89\x59\xdd\x11\x24\x0f\x4a\x59\xe6\xf5\xb0\x92\xd1\x53\xd8\xb9\x59\xd8\x74\x92\x6a\x58\x2b\xb7\x0d\x47\xe6\x59\xb5\x95\x45\x1b\x38\x82\x62\x68\x04\xd3\x6c\xf4\xf4\x46\xaa\xff\x64\x46\x3b\xce\xe6\x1f\xd5\x9b\xf7\x2e\xc3\xd8\xfa\x12\x2e\x00\x08\x71\xc2\xae\x93\x0b\x2a\x28\x71\xc6\xd6\xf7\xb9\x2f\x18\x70\xf0\x5f\x17\x5e\x20\x8d\x09\xf8\x1c\x07\xed\xa3\x6f\x59\x36\x07\x9c\x1a\xbd\xda\x28\x88\x14\x43\x53\x55\x9a\x67\xbf\x13\xd7\x90\xdf\x80\x44\x66\x96\x05\xdb\xbc\xaa\xc3\x82\x04\xe4\x57\xf0\x03\x3c\xd7\x57\x29\xc2\xa2\x49\x63\xbc\x10\x50\xc3\xb0\x2c\x57\x46\xde\xdf\xe0\x4f\x6a\x11\x86\x29\xd4\x04\xd3\x6e\xc2\xba\x6b\xd3\xe6\x29\x3e\x39\x2a\xd5\x3b\x01\xfb\x50\x60\x4d\x82\x8f\x3b\x05\x08\x96\xe0\xfc\x22\xad\xc1\x38\xb2\x61\x31\x17\x67\x49\x6a\xad\x38\xfd\x0f\xf0\x6b\x62\x9f\x1b\xc2\xeb\x01\x32\x01\x03\x95\x59\xfd\x74\x14\x4d\x93\x88\xcf\x54\x06\xc2\x1d\x2e\xe1\x3e\xad\xe0\x13\x6b\x8c\xc9\xce\xb2\x94\x3e\x1d\x61\xa9\xf2\x63\xe0\x59\x7c\xb9\xd8\x98\xb8\xcf\x36\x3c\xce\xfc\xfc\xea\xf0\xed\xf1\xfe\xc7\xa3\xfd\x37\x87\x47\x27\x1f\x9f\x1d\x1c\xef\x3e\x7d\xb9\xff\x8c\x4e\x64\x23\xf1\xc0\x2d\x3e\x5f\x66\x22\x86\x1e\x4e\xc9\x15\x0b\x33\x3f\x6c\xb2\x63\x29\x06\x6a\x8d\x64\x9b\x7c\xa2\x4e\x40\xab\xe1\x0e\xd0\x93\xc4\x1a\xa9\xbb\x90\x61\x10\x54\xc4\xff\xae\x92\xa9\x37\x79\x14\xf7\x92\xcd\xa6\x17\xb9\x95\x13\x57\x4f\x72\x58\xb9\x61\x59\x00\x32\x3b\x32\x19\xd8\x9f\x9b\x3b\x5c\xdd\x27\x23\xc6\xdd\x53\xb8\x5d\xa6\xdf\x9b\x19\x31\x65\xce\xae\x02\xfc\x5b\x65\x40\x7f\xac\x3c\x41\xdc\x9c\x3d\xcd\xaf\xa4\x81\x30\x6b\xe0\x5c\x79\xbe\xdf\xda\x53\x3d\xb9\x53\x21\xc1\x2a\xd7\xec\x82\x9d\xad\xaf\xfd\x74\xc4\xc0\x82\x60\x9f\x35\xaf\x14\x9a\x4d\xbd\x8b\x57\x22\xdc\xa9\xa5\x0b\x48\x81\x68\x4e\x38\xb3\x27\x10\x7f\x49\x27\xd9\x39\x35\x85\xbe\xee\xf8\x98\x5a\x1a\x93\x86\xdc\x58\xc8\xda\x5d\xcc\x04\xfa\x10\xac\xda\x65\xb4\x25\x64\xc3\x11\x36\xe1\x2c\x83\x47\xc6\x9e\x66\x38\xb0\x90\x2c\x70\x4c\x3c\x8c\xe3\xf2\x2c\x13\xee\x13\xf4\x7a\x32\x80\xcd\x5c\xe5\xc7\x6d\x8f\x69\x84\xf2\x5a\x34\xa1\x01\xed\x1d\x9f\xd4\xe4\xca\x8f\x51\x04\xcc\x05\x07\x1e\x11\xb7\x08\x3f\x68\x1d\x34\xa0\x78\xed\x5a\x2a\xd7\xd6\xe5\x0c\x62\x86\xcd\xf3\x0f\x1a\xf2\x7a\x7a\x13\x8a\x33\x2c\x10\x11\x12\x95\x64\x57\x36\x33\x06\x87\x29\x0f\x17\x35\xc1\xaf\xe1\x25\x69\xae\x23\xd8\x4a\xd7\x8a\xe9\x6e\xdd\x0e\x85\x49\xce\xdd\x56\xf4\xe4\xb8\xd0\x6f\xa2\x80\x60\xf3\x6d\xe2\x9f\xea\x2d\x2c\x97\xa4\xbe\x15\x14\xdb\xbb\x4f\x70\xad\x5d\x6b\xf3\x0c\x02\xa4\xe8\x6a\xb5\x21\x7a\xf8\xa4\x9c\xc1\x13\x7d\x35\x35\xcf\xf2\x45\x6e\xd1\x6d\x68\xb4\x16\x2f\xa7\xc5\xb8\xd0\x8b\xce\x1b\x58\x9d\xc2\xd5\xaa\xf7\x4e\x8a\xfd\xe9\xc8\x19\x71\x6b\x67\x83\x4d\x2b\x5b\x6f\xdc\x0a\xec\xd1\x45\xfd\x56\x07\x54\x33\x3a\x1d\x23\xc4\x51\x48\x89\x72\x3e\xb2\x6b\x23\x85\x8e\xdc\xe8\x1b\x67\x66\xc7\x78\x5b\xd5\x2b\x8d\x3f\x36\xbe\xf0\xee\x36\x02\xee\xf0\xc2\x9e\x62\xfc\x8a\x66\x9e\xa7\x4b\xc3\x0c\x4f\x3d\xb7\x26\xb4\xc9\x58\xa8\xd4\x58\xbb\xcb\x59\xd8\xea\xc0\xc6\xb9\xc2\xe0\x0f\xa7\x34\x7c\x7d\xab\x84\xa0\x59\xc1\xde\x6a\x15\xa5\x5d\xd1\x5f\xb9\x1c\x95\x71\x83\xa2\xa0\x03\x27\x3a\x32\xa1\x9e\x1e\xac\x7a\x36\x9f\x12\xd3\x47\x77\x4b\x36\x3d\x4f\xcf\xf5\x08\xcd\xb1\x78\x66\x4e\x04\xfe\xac\x5e\xb8\x75\x61\x15\x49\x94\x05\x74\x5c\x3a\x20\xf6\xad\xd9\x58\x6b\xd5\x53\xf4\x80\x44\x8a\xeb\xe0\xa7\x0e\x99\x40\xd4\x72\xf0\x59\xde\xbc\xeb\xee\xd8\x08\x9d\xdf\xdd\xac\x78\xd7\xb4\x59\x82\x95\xd7\x29\xaf\x93\x85\x39\x0d\x96\x08\x35\x4a\xe8\x51\x08\x4d\xa9\x57\xd6\xba\x7c\x51\x05\x18\xaf\x6e\x0f\x5f\x48\x0b\xea\xb5\xd1\x76\xef\x82\xab\xb0\xdd\x92\x7a\xac\xe0\x83\x5e\xe0\x69\xbf\xaa\x0d\x31\xeb\x3b\xb6\x2d\xd2\x88\x7a\x04\xa3\x64\x1b\xac\xe6\xe1\x85\xf0\x10\xca\x9c\x32\x9a\xa7\xe7\xeb\x92\x05\x21\x75\x0f\x50\xb2\xfb\xfc\x64\xff\x48\x5d\xd0\xf8\xc6\xe8\xe6\x0c\x7f\x46\x67\x19\xe3\x37\x08\x87\xa9\x28\x92\x31\xe7\x24\xae\x25\xf0\x60\xd9\x6f\x7b\x75\x37\xf9\xe6\x7c\xd6\xc7\x99\x38\x42\x96\x7e\x95\x5b\x4e\xc3\xed\x74\xeb\xfb\x06\x43\x19\x51\x54\x20\x89\xa8\x98\x26\xdc\x1e\x2c\x0f\x2f\x0c\xae\x2b\xe0\x1c\x19\x81\x6a\x0e\xde\x35\xde\x73\x0e\x4a\xab\xa4\xfa\x9c\x43\x7c\x3b\x20\xc0\x8e\x0a\x6a\xd9\xb2\x89\x4e\x35\x06\x98\xe9\x94\xb3\xbe\xc0\xbd\xd4\xd2\x1b\x4a\x91\xf9\x64\x92\x8d\x72\xd3\x13\x38\x43\x72\xa2\x3b\x74\x8b\x2f\x43\x36\xa0\xcd\x63\xeb\xb9\x82\x92\x23\x4c\x29\x3e\x97\xc0\xa4\xce\x89\xc3\x05\xe8\x2e\xbc\xb7\x6e\x30\xc6\x0e\x4f\xe5\x14\xd4\x0c\xa7\xe0\x3c\xa0\x79\x67\xad\x90\x20\x09\xd3\xe1\xe8\x49\x40\x45\x6a\x38\xef\xf9\xc4\xf0\x2d\xcf\x0e\x5f\x49\xf8\x27\xc2\x04\x52\x05\x5a\xc0\xd1\x08\x39\xca\x14\x93\xce\x77\x14\x27\xdb\x41\x0e\xbe\xe3\xf3\xa6\x1d\xa5\xde\x68\xa7\xa1\x08\x15\x14\x89\x87\xf7\x0b\x2c\xd6\x15\xe9\x5d\x86\xcb\x92\x71\x58\x56\xb7\x8c\xf0\x8f\x7b\x58\xd8\xd3\x80\x70\xe8\x5a\x1d\x52\x69\x24\x4a\x8e\x0d\x90\x9c\x91\x94\xaf\x6a\x1d\xa3\xe7\xb4\x93\x5c\x10\x3d\x6c\x90\x71\x53\x1a\xca\x5a\x8c\xc5\xb5\xf8\x74\x81\x98\x54\xba\x15\x15\xce\xbc\x72\xee\x54\x2d\x12\xd7\xc2\x97\x62\x6d\x24\x4c\xc3\x68\x40\xb2\x01\x9d\x04\x70\x22\x23\x65\x56\xb3\x23\x5c\x39\x2a\x64\x6e\x62\xda\x28\x74\x20\x4b\x17\xa9\xf9\x44\xfe\x0c\xe2\xcf\xde\xdd\xfc\x65\xba\x39\x39\xef\x27\x9d\x5f\xd8\xb7\x8e\x8b\x45\x55\x7f\xf0\xcd\xe9\x89\x3d\x79\xf5\xd4\x08\xd8\x9f\x00\xea\x0e\xc7\x40\xbb\xc2\x4d\x75\x7e\xb9\x1e\x9c\xbe\xdf\xde\xda\xfa\x6f\xd0\xe0\xe2\x8f\xf7\xec\x8f\x83\xff\xee\x78\x0a\x48\x10\x51\x39\xfb\x2c\xf7\x56\xbf\x77\x14\x1f\x33\x67\x6d\x22\x70\x4c\xca\x7f\xa7\xfd\xaa\x81\xee\xbe\x4e\x85\x47\x1c\x81\xe9\x88\x6f\xea\x77\x08\xfb\x09\x35\xe4\x02\xad\xbb\xcb\x43\x3f\x96\x3a\x86\xce\x83\x71\xdd\x8a\x80\x0f\x37\xd1\x2b\x81\xec\x04\xce\x3f\xf8\x40\xda\x88\x1f\xbe\xdf\x40\xfc\x1f\xe5\x10\xd6\x67\xae\x52\x51\x89\xc2\xa6\xd2\x23\x8a\x58\x51\x24\x94\xa3\xfc\xcd\x57\x11\x45\x03\x85\x20\xdf\xf0\x06\x9b\x3a\x9f\x72\x32\x3b\x62\x2b\x90\x2f\x75\x7a\x5e\x52\xfe\x02\x07\x64\x94\x50\xee\x66\x0f\xae\xa8\x2f\xd7\x3d\xbc\x2c\xc3\x14\xe0\x7a\x93\xec\x3a\x1b\x2e\x81\xec\xbd\x70\x36\xd1\xa0\xe0\x33\x24\xd8\x3a\x66\xeb\xce\xcd\x25\x3b\x31\xc7\x1b\x42\xe1\xa0\x13\xba\xb1\x56\x6e\xf4\x11\xae\x56\x4d\xc0\x2f\x09\xf3\x7b\x3a\x21\x3b\x25\x1e\xa8\x68\x93\xe0\x51\x45\x81\x87\xec\x42\x2b\x14\x60\x01\xa7\xd4\xa0\x90\x32\x2c\xfa\x96\x98\x52\xe7\xac\x9f\x4f\x04\x2c\xbe\x9c\xa4\xf3\xc5\x73\x18\xd0\xb3\x1c\x22\x0c\x1a\x86\x25\xb0\x4e\xcd\x96\xb2\x96\x8a\x39\x1a\xd4\x9a\xc0\xdb\xbb\x35\xfa\xe1\x49\xb2\x05\x5f\xed\x48\xe1\x07\x5f\xa9\x9d\x5e\x16\xf9\x88\x05\x00\x73\xfd\x2d\xe9\x42\xe6\x90\x05\x7c\x5f\x39\x88\x11\xcc\xb5\xe0\x9c\xa7\x98\x04\x21\x36\x69\xce\xcc\x0e\xc8\x1d\xb8\xc2\x91\x3b\xe5\x16\x0f\x04\x60\x9d\x96\x73\xb1\xc0\xe4\x53\x73\xd9\x9a\x27\x77\x5c\xa4\xa3\x3e\xeb\xc0\x48\xbb\x2c\xcd\x8d\x0c\x41\x8a\x1e\x38\x5d\x88\x2e\x9a\x8e\x0e\x90\x24\x2a\xba\x79\x74\x66\xe6\x10\x23\x09\x16\x25\x0a\x3e\xf0\xef\x17\xf8\x38\x5c\x8e\x53\xc2\x93\x77\xfa\x2f\x1b\x9c\x0e\x44\xd7\x47\x8e\x15\xc6\x07\xbc\x4d\x7e\x49\xe6\xa9\x2d\xe0\x29\x2e\x49\x4b\xc7\xb1\xb0\x70\x93\x6d\x19\x12\x18\x2f\xb3\xb2\x56\x1b\x9d\x97\xaf\xb3\x2b\xb6\xa7\x79\x9b\x72\xa7\x2e\x9d\xc4\xdf\xfe\x16\x23\x06\xbb\x77\x91\x7a\xd6\xb2\xb6\x26\xdb\x29\x8c\x1c\xdc\x76\x92\x5e\x10\xc3\x83\x47\xf9\x08\x98\x35\x3a\x85\x7d\x52\xe0\x9b\x69\x9c\x32\x88\x16\x44\x50\xdc\x2c\x2e\x48\x3f\xb4\x26\x9c\x37\x07\x94\xca\x6b\x8f\xf7\x03\x74\xfc\x51\x4f\xa8\x6f\x87\xa8\x40\xc6\x82\x90\xc2\x5b\xc4\x55\x99\x69\x0e\x9c\xab\x90\x5d\x45\xc5\x43\x28\x5b\x65\x08\x7b\x16\x72\x23\xb7\x7c\xe9\x8f\xb3\xf9\x65\x3e\xf4\x72\x5e\x10\x68\x97\x42\x02\x6b\x7e\xa6\x14\x9c\x4f\x3c\x9e\xf6\x4e\x4c\x85\xec\xa1\xf9\xb4\xc4\xe6\xa9\xd3\x4e\xdf\x06\xed\xc0\x91\x5c\x8d\xb2\xd2\xfa\xee\xa2\xfb\xb2\x17\xf5\xb5\x12\x3c\xc9\x96\x8c\x4e\xc2\x77\x77\x26\xdd\xcf\xcd\xa1\xb7\x80\xab\x91\x40\x2a\x77\xa5\xea\x60\xef\x66\x38\xce\x3e\xbe\xdf\xfa\x50\x93\xd2\xa0\x15\xa8\xd4\x3f\x7e\xfc\x83\x0f\x91\x08\xb9\xcc\xcf\xea\xdd\x08\x79\x56\x2d\xa4\x50\xcf\x2e\x41\x40\x41\x85\xad\xb5\x7f\x84\x08\x68\xd0\xcc\x6f\x83\x81\x16\x1f\xfe\xed\x61\xd0\x6c\x48\x41\x0b\x24\xb4\x20\xf5\x44\x58\x95\xcb\x47\xd1\xe5\x44\x7d\x71\x91\x65\x63\xf2\xec\x99\x50\x78\x7e\x8e\xa6\x5b\x7c\x96\x48\x1b\x4e\x58\xa8\x10\xc6\x78\x96\x96\x54\x79\x96\x9e\x13\xf8\x37\x36\xe2\x44\x78\x6a\xcd\x97\x54\xfd\xb8\xb8\x60\x3d\x25\x14\x4f\xf5\xdd\x72\x81\xde\x41\x57\xa0\xeb\x12\x54\x81\xb9\x17\xec\x66\xdb\x5b\xb5\x5a\xd5\x76\x74\x65\xdf\xe3\x06\xa4\x3d\x80\x0a\x36\x2f\xea\xa9\x97\xfe\xc1\xbc\xe0\x73\xd2\x4e\x00\xe8\x92\x4e\xd9\xb1\x4a\xa6\xad\x91\x20\x6b\xa4\xbc\x78\x26\x01\xc3\x21\x00\x12\xad\x8b\xb2\x50\x06\xa2\x29\xf5\x60\x95\xf0\xee\x1d\x89\xb7\xc5\x40\x5e\x80\x35\x0a\x53\x07\x7f\xd5\xc3\xb7\x47\x7b\xfb\xc9\xf3\x83\x97\xfb\x3b\xa4\x29\xde\xfc\x8f\x72\x13\xff\xf2\x51\xa6\xfa\xd1\x88\x51\xff\x51\x42\x69\x90\x53\x08\x0a\xbe\x3b\xec\x25\x46\xd8\xda\x46\x55\xc5\x9e\x61\xb0\x27\xf9\x72\x92\x1c\x1e\x27\xbb\xcb\xc5\x05\xe6\xb1\xd9\x05\x84\x7f\x28\x4b\x78\xe1\xf3\x4b\x10\x2b\x00\x71\xa8\xb4\x48\x3d\x86\x4f\x43\x27\xfa\x21\xbb\xa8\x9d\xc3\x6b\x39\xa5\x75\x4e\x93\xa7\xc7\xcf\xd6\x09\x73\x66\x6c\xde\xb9\xa9\xd8\xea\x89\xc1\x87\x96\xce\x10\x9d\x98\x59\xfa\x97\x07\x7b\xfb\xaf\x8f\xf7\x93\xb3\x1c\xee\x81\xb5\x0e\x28\x29\xc0\xb3\x64\x08\x90\x25\x6b\xc0\xf3\xce\x17\xa3\x6c\xd6\xed\xc0\x5f\x49\xfc\x7c\x7b\xf2\xfc\x11\xfa\xb8\x5b\x3f\x9f\xd9\x72\xb1\x79\xb8\x5c\x20\x36\x09\x5a\x0d\x41\x9f\x8a\xea\x81\xd3\x1b\x87\x29\x8d\xb2\xe1\x64\xb2\x9c\xc2\xda\xaa\xdc\x3e\x8b\x20\x69\xd1\x9e\x54\x18\xe7\x9f\xb2\xe4\x2f\xd3\xb4\x2c\x2f\xfe\x82\xbc\xd9\x5f\x0c\x71\xc2\xdf\x8d\xf8\x94\xe5\xc8\xaf\xa1\xc3\x40\x0a\x7c\xac\xac\xcd\x70\x0c\x81\xa5\x94\x71\x68\xe6\x10\xc7\x73\xb0\xfa\x9e\x5f\xb2\xeb\x81\x9c\x65\x44\xb8\x16\x6f\x08\x01\x0e\x5f\x50\x26\x13\x43\xbb\x8e\xc3\xd5\x60\xa2\x38\x72\x50\x41\x65\xd7\x10\x12\x40\xbc\xee\x84\xaa\x25\xe0\x7f\x34\x0f\x41\x68\xec\x28\xb5\xa2\x8a\x40\x97\x65\x79\xc8\x73\x52\x69\xbf\x20\xad\x9d\xf6\x01\xea\x51\x1e\x09\x27\x96\x43\x80\xaf\x19\x07\xa5\x7a\xf0\x67\x6f\xc1\x27\x20\x55\x06\xaf\x95\xf5\x86\x2a\x6d\x43\x10\xb6\x0b\x7b\x26\x10\x4f\x04\x37\x03\xcd\x8d\x32\x48\x37\x90\x6a\x84\xe6\x83\xb2\x80\x84\x14\x3a\x83\x85\x65\xff\xed\xca\x98\x23\x0c\x42\x11\x09\xb0\xce\x8f\xf3\x34\x9b\x66\x67\xf9\xa2\xdc\x81\x86\xd6\x93\x37\x52\x0a\xe0\x36\x80\x5b\xcd\x4b\xca\x28\x95\x32\x0f\xce\xe8\xb6\xfe\x0a\x04\xf3\xa7\x10\x61\xeb\x9c\x43\xf8\xb3\xe0\x71\x86\x8e\xa3\xcb\x53\x3b\xca\x2e\x24\xaa\xc2\xfb\x19\x72\x8b\xd0\x32\xce\x30\x39\x27\xaf\x1f\xfa\x33\x99\x61\xc1\xa6\xe4\x34\x4b\xb8\xba\x53\x58\x2a\x80\xda\x49\xcb\x9c\x96\x12\xf1\x68\x59\x2b\x07\x6b\x6c\xb7\x17\x47\x46\x71\x07\x76\x64\xb8\x13\x20\x49\x31\xb1\xd0\x8b\xa1\xd7\x8f\xbb\x3d\xa0\x5c\xef\xcf\x97\x0b\x60\xd2\x5d\x7a\x90\xf4\x26\x99\x2f\xd1\x79\x01\x2e\xd6\xab\x62\xfe\x89\xe7\x39\x67\xa1\xed\x8a\x14\xa6\xa0\xdb\x05\xfd\xa6\x79\xda\xa8\x67\xd8\xce\x74\x8c\x49\x0f\xd3\xa4\x42\x82\x89\x24\xb4\x34\xc4\x7a\xf0\x66\xcf\xed\x40\xf8\x0a\xf9\x24\xfc\x39\x76\x63\x1f\x1c\xea\x2b\x59\xa8\x40\x5d\xcd\xf6\x2a\x04\x4d\x16\xff\x5d\x24\x19\x98\xb4\x69\x80\x7d\x81\x90\x52\x65\xd7\xcd\xef\x1b\xb8\x45\x56\x30\x11\x97\xee\x83\x43\x17\x96\xf6\xff\xf0\x04\xfe\x1f\x9e\xc0\xdf\x19\x4f\x00\xe8\x72\x25\xa4\x80\x44\xc0\x55\x60\x05\xfc\x23\xe1\x79\xdb\x46\x2b\x79\x24\x7e\x88\x28\x53\x53\x73\xe9\x82\xdb\x7a\x6e\x9d\x05\xd1\xcb\x59\x3d\x4d\xa0\x17\xed\x9b\x0b\x0e\x1e\xe2\x91\xf3\x4a\xe7\x6c\x8e\xd0\xd2\x72\x6e\x9f\x5a\xb4\xbe\x2e\xcd\x2b\x78\x03\xde\x49\xe3\xb1\x4a\x9c\x97\x31\x02\xfc\xa6\x84\xbd\x6d\xb2\x23\x1f\x5c\x8e\x2c\xdb\x6e\xc8\xf9\x41\x0d\x30\x53\x39\xaa\x6c\xf8\x42\x92\xb4\x8f\x9b\xa4\x20\xa5\x67\x01\x26\x50\x47\x7b\x66\x6c\xd8\xe0\xdb\xa3\x97\x50\x17\x14\x47\x32\x57\x5b\xcf\x56\x3a\xc4\xab\x83\x48\x8c\x47\x64\x96\x89\x0c\x38\xbc\x4e\x32\xd0\x04\x74\xb2\x49\x3e\x99\x51\x80\x61\x8d\x65\xc1\xdb\x5e\x62\x5e\x9f\x63\x33\x6a\x7b\xcd\x08\xfb\xba\x47\x2f\x49\x36\xa4\xf0\xa1\x36\xb1\x5e\xd7\xdf\xf1\x7e\x52\xa9\xec\xb3\xd2\xf8\xb4\xd0\x5b\x35\x17\x80\x1b\xd8\x12\x60\xce\xac\x5b\x6c\xc8\x2e\xf1\x6a\x70\x31\x0c\x6a\xb0\xcb\x09\x4b\x39\xc5\x75\x38\xab\x6b\x16\x5e\x09\xe0\x44\xcc\x5c\x5b\x90\xbc\x11\x87\xf9\xc3\x1b\xae\xaf\x96\x46\x0d\x21\x4e\xf0\xd9\x82\x6b\x79\x45\xfd\x35\xc0\x55\xa7\x0c\x3d\xa1\xdb\xb8\x79\x2d\xec\x2b\x86\x2c\x13\xbc\xc7\xe0\xb2\x4f\x9c\x14\x7b\x27\x9d\x58\x8d\xe5\x5d\x79\x5c\xcc\xd5\x50\x0c\x73\x67\x28\x25\xdb\x62\x85\x27\xcb\x31\x77\x24\xf2\xad\xe0\x15\x00\x17\x0a\x68\xe8\x8d\x40\x54\xb9\x40\xe1\xe1\x3a\x3b\xa3\x27\xd6\x31\x1b\x94\x27\x08\xb9\x25\x7e\xc0\x98\xc7\x10\xf5\xba\xb4\x2d\x4f\x9d\x34\xef\x6c\xb2\xb6\x2d\xe0\x04\x66\xa0\x25\x8a\x0b\x4b\xde\xb6\x00\x67\x13\xd7\xa6\xe7\x90\x9f\x32\xba\x94\x01\x6d\x92\x39\xa9\xb0\xa6\xa6\xbd\x74\x06\xfc\xc8\xe8\x63\x68\x83\xb2\x1f\x48\x7f\x57\x6c\xf8\x0a\x7b\xb6\xb1\xd8\x9f\xb8\x59\xa5\x47\x27\x45\x1e\xff\x5b\x1a\xf1\xdf\xf7\x80\x6e\xf2\xe2\x71\x95\x98\x70\x66\xf0\xc5\x9d\x3e\xf8\x97\x67\xb1\x11\x7b\xba\x23\x8a\x4e\xe9\x02\xe8\x2c\xf3\xd1\x62\x81\x8b\x59\x8d\xf0\x19\x0c\x28\x64\x56\x7c\xda\x26\xed\x35\x6e\x36\x9a\xdf\xe0\x92\x2d\x45\x45\x9b\x4d\x17\x15\xb0\x55\x26\x2b\x11\x8c\x9a\x4c\xe5\x8a\xd5\xf7\x72\x30\x1a\xca\x9d\xb1\xbb\x29\xf4\xd9\x22\xa4\x02\x87\x86\xfa\x9b\x9a\xcc\x98\xc1\x95\x20\x1c\x79\x5d\xbc\x04\x38\x8c\xe8\xa1\x02\x53\x07\xa9\xbb\x0b\xf0\x4e\x29\xce\xbb\x9d\xb7\x53\x62\xe3\x35\x7b\xbf\x83\xb8\xbd\xdc\x4c\xed\x2a\xa6\xee\x44\x36\x06\x90\x7c\xe9\xca\x39\xa1\x49\x73\x8b\xae\x2b\x5c\x2a\xd1\xa6\x91\x74\x3c\xaa\x62\xe7\x76\x60\x5a\xeb\xf8\xd9\xfc\xda\x21\xe3\x99\x5c\xc4\xed\x62\x5c\x4c\x97\x66\x71\xfe\x73\x29\x35\x9a\xf7\xa4\x55\x18\x4b\x8b\x6d\x29\x4e\x51\x01\x31\x1f\x79\x11\x3a\xb4\x35\xff\x76\x7c\xf8\x7a\x83\xda\xcb\xcf\x6e\x82\x68\x94\xe6\xc1\xc9\xef\x11\x3b\x20\x5a\x49\xfa\x89\x58\xbd\xe4\x1a\x33\xe7\x54\x41\x4e\x72\xbc\x9c\xf9\x51\x54\x3a\xe6\xaf\xc1\x3d\xa4\x32\x73\xc3\x47\x75\xff\xe8\x4c\xe0\xd4\x2e\x14\xf0\xce\xac\x07\xbb\x13\x0c\x37\x18\x62\x2d\x69\x5a\xc2\x44\xc6\x27\x17\x77\x8e\x5f\x4d\x92\xc4\x49\xc5\xa9\xe6\x6f\x36\x15\xb7\x62\x08\xcd\x68\x37\x5a\x15\xa5\x19\xb5\xa1\x2e\x7f\x45\x56\xec\x5f\x95\xce\xd4\x8a\xbd\x43\x8d\x4b\x8a\xd1\x59\x8f\xec\x09\x3a\xbd\x59\x64\x01\xce\x46\x0d\xd7\x13\x3b\x2e\x7e\x5b\xae\x99\x99\xf9\x4b\x8b\xe9\xa1\x12\x08\x74\x5c\x2b\xe3\xbf\xbc\xbb\x9f\x4d\x77\x62\xc3\x02\xb7\xf6\xce\x2e\x25\xa5\xb3\x9d\x8b\x63\x3d\x33\x2c\xee\x01\x52\xbe\x17\xaa\x51\xc9\x5b\xd8\x8d\x5d\x83\xb7\x5e\x39\xd6\xc7\xb0\x52\x6e\x3e\xae\x24\xd9\xfa\x8d\x96\x72\x3c\xfd\x67\x5c\x4c\x74\x7d\x99\xff\x32\xed\xd4\xaf\xea\xe0\x61\xf2\x6f\xe9\x65\x7a\x3c\x9c\xe7\xb3\xc5\x97\x93\xe3\xad\x57\x8d\x66\xf7\xa4\x15\x91\x9a\x31\xd6\x2c\x2c\xce\xdf\xd2\x72\xd7\x57\xdf\xc6\x83\x07\xdf\x60\xc7\xed\x27\xef\x51\x94\xcd\xa9\xf9\x9b\x2d\xc9\x78\xda\x66\x51\x90\xdc\xda\x2c\x0b\xd1\x65\xe3\xc2\xac\x54\xf4\x5f\x2f\x3e\xaa\xa4\xf9\xff\x5a\xca\x7e\x4a\xac\xaf\x15\xfd\x7b\x86\x3b\x58\xcc\x97\x68\xc2\x07\x69\xd4\x0b\x32\xe7\xd3\xa7\x19\xa5\xd2\xfe\x68\x44\x35\x80\x6f\x45\x0c\x24\xd2\xfd\x80\xaa\xc5\x2d\x9d\x91\x7b\x86\x17\x10\x47\xe9\x70\xe6\x36\xa1\x11\x87\x4c\x47\x79\xfe\xfb\xc9\x69\x31\x1e\x81\xf9\x30\x07\xdd\x5b\xbe\x48\xcd\xb4\xfb\x64\xc0\x37\xd2\xf5\x74\x94\xcd\x29\xad\x2b\x6a\x64\x4d\xeb\x9f\x32\x56\x77\xda\x61\x79\x63\x16\x19\xb0\x0c\x05\xb4\xa1\x4c\xd5\x0c\x19\x1c\x46\xd9\x53\x0b\x3c\xc6\x45\x87\xc0\x9a\x5e\xcd\xaf\xbb\x09\x61\xd4\x0d\x1c\x97\x0c\xc2\xb8\xa6\x2e\x81\xaf\xdf\xd8\x19\xb9\x65\x81\xa8\x67\x1e\xf8\xd3\x7c\x0c\xb6\xe9\x0a\x14\xb9\x22\x31\x39\x5b\x43\xb7\x15\xfa\xac\x81\xa2\xee\x19\xfb\xe2\x7c\x76\x5e\x39\x27\x68\x9d\xc4\xb6\xec\x6f\x60\x7b\x85\x68\x1a\x0c\x7e\x07\xa1\xdb\x6a\xae\x13\x14\x18\xbd\x81\x06\x32\xa8\xc6\x16\xd0\x07\x4d\x1a\x57\x47\xcd\xfa\x40\x9b\x72\xf2\xf7\xc7\x56\x01\x0c\x6a\xd5\x74\x9e\x83\xaa\xc8\x0f\x10\x66\xa2\x67\xb1\x9b\x70\x0e\x0d\x79\x64\x39\x58\xa9\x77\xa8\xfe\xf1\xd1\xde\xc7\x67\xfb\xcf\x77\xdf\xbe\x3c\x49\x92\x2e\x3a\xf4\x02\x3a\xd4\xf5\x42\x7c\x78\x7a\xae\xdc\xd1\x8b\xa7\x64\xfa\xeb\x5a\x55\x18\x1c\x8a\xce\xfc\xfc\xb4\x9b\x18\xb2\x3a\x37\x44\xd4\xeb\x60\x02\x61\xae\x45\xfa\x4b\x36\xdc\x77\x2b\xc1\xe5\x39\x82\x19\xe0\x13\x44\xa3\x9b\xa5\x46\x58\x27\xeb\x91\x19\x4a\x4f\xe6\xef\x08\xda\x47\xbe\x52\x83\x77\xc6\x47\x4b\xed\x0d\x65\xf5\xda\xe9\xe8\xea\x74\x78\x41\xa2\x2e\xfa\x2c\x59\x05\x21\x8e\x6d\x01\x0b\x4c\x81\xc1\xe1\x78\xd6\x6c\xb0\x72\xa5\x77\xbd\x1f\xe6\x78\x14\x53\xf4\x22\x70\x2e\x51\xc1\xfc\x64\xb4\x3c\xd2\x8f\x7b\x87\x2f\x0f\x8f\x22\x73\xab\x29\xb7\xe6\x7c\xc7\x61\xef\x9e\xeb\x76\x71\x9b\xb6\x1f\x3c\xe8\x27\xf2\x3f\x3d\x07\x65\xc8\x15\x9e\xea\x0e\xb0\x02\xe4\xff\x06\x57\x4e\xc5\x0f\xc0\xed\xa1\x3d\xd1\x69\x0a\x29\xbe\xb7\xc1\xaf\x74\xb7\x54\x7e\x3e\x95\xf4\x7c\xde\xaf\xf6\xe6\xa9\x7c\xf1\x2e\xa1\x6a\x27\x6c\x5b\x88\xfc\xee\xfc\x1c\xbc\x2f\x57\x43\xc6\xe5\xf2\x7f\x5e\x98\x1b\xfd\x19\xb9\xf9\x32\xae\x92\x85\x8b\x30\x04\xf0\x86\x69\xd3\x01\xfa\x89\x37\x55\xb6\xd8\x53\x05\x02\x57\xa9\x83\x33\xea\xa5\x0f\xce\x72\x94\x42\x19\x89\x01\x57\xd1\x5e\x4a\x51\xfd\xd9\x19\x3e\x11\x36\xc2\x1d\xf5\xf1\x29\x55\x84\x19\x23\x1e\x07\x7a\x9e\x82\x11\x50\xf2\x6a\x2f\xac\xbd\xc2\x7c\x23\xba\x63\x9f\xfd\x2b\x82\xb7\xe4\xaa\xf5\x97\x91\x62\x06\x08\xde\xee\x29\x6d\x38\x07\x69\xbb\x79\xc1\x0f\x7d\xbc\x00\x4f\xe9\xad\xa6\xd7\x2e\xe9\x1a\x7e\xd4\xb0\x3d\xf9\x18\x2a\xf7\x70\x1a\x38\x68\x9d\x77\x1d\x27\x6a\x56\x4e\x22\x2d\xe1\x2a\x00\x15\x4b\x36\xb5\xe9\xad\x55\xe7\x5c\xf0\x96\x63\xde\x2d\x9f\xce\x25\xfd\x86\x37\xf6\xdd\x84\x6e\xa1\x6c\x4c\x6f\x14\x84\x2b\x89\x4b\xe3\x37\x57\x66\x49\x33\xb1\x41\x89\x23\x23\x5d\x01\x38\x4e\xb6\x11\xd3\x2d\xf9\x4d\xab\x21\x79\xa7\x94\x75\x89\x6c\x80\xee\x68\xde\x60\xd7\x0d\x87\xb9\x3b\x79\x4a\xe9\xc2\xbd\xa1\xfd\xb6\xcc\x0c\x8f\x29\xb8\xb1\x5b\x0d\x49\xdf\xfb\x10\x0c\x49\x55\xe1\x94\xdf\x72\x30\xfe\x43\x93\xba\x51\xa5\x09\xe6\x5c\x85\xa6\xbc\x07\xc2\xda\x51\xe6\xad\x07\x0a\x0f\x0f\xdd\x47\x1d\xb7\x58\x27\x9e\xcb\x2c\x83\x21\x60\x04\x94\x68\x03\xae\x88\xfc\xe1\x11\x06\xc4\x1e\xdf\x95\x26\xa6\xbd\xbe\x3d\x07\xd0\x6a\x0a\x86\x7a\xa5\xb5\x2f\x7a\xe8\x63\x9a\xfd\x11\x58\x3f\x31\x4a\x40\x58\x5c\xa7\x86\xc5\xa9\xb0\x3a\xf7\xbf\x62\x63\xfb\x6c\x36\xb7\xa9\x81\x95\x33\x1a\x8e\x8b\x69\x04\xff\xc6\x62\x20\x69\x65\xb9\x6e\xa2\x8b\x38\x3c\x78\xb1\xda\xf4\xc3\xa0\x95\xe3\x53\x25\x9a\xa8\xf9\xe5\x7b\xf3\xeb\x07\x7e\xe4\xf0\xef\x56\x9f\x34\xbf\x0c\xaf\xe3\xca\x15\x6d\xfe\x31\x1d\xa6\x1c\xbc\xc0\xeb\x30\xbf\x0c\xd5\xda\x2e\x17\x2a\x63\x1c\xe1\xc5\x53\x65\x13\xf1\xa6\xb2\x69\x76\xd9\x67\x8d\x5c\xd5\xa8\xb7\x04\x25\x8d\xc8\x3b\xc0\xd6\x26\x74\xc9\x36\x17\xe6\x82\xac\x7a\x82\x01\xa6\x5a\x82\x87\x07\xd5\xa0\x7d\x32\x56\x43\x47\x70\x1f\x01\x83\xd9\x6a\x3f\xb0\xf3\x1a\xe5\xfa\x57\x67\x9e\xbe\x36\xd3\xf2\x2f\xcb\x56\xc4\xe9\x2d\x64\x74\xf5\x33\x83\x5e\x95\xed\x77\x7c\xcf\x3f\x08\xb1\xdd\x0f\xce\x8a\x93\x49\xeb\x4f\x0c\xad\x0d\xf8\x80\x63\xc1\x80\x9f\x39\x01\x61\x2c\x3f\xab\x91\xad\xc0\xe9\x69\x68\xfe\x9e\x81\x4f\x2a\x21\xbc\xe9\x57\xdf\xde\x4a\xd6\xdb\x15\xfd\x5c\xbf\xa4\xb9\x95\x2b\x94\x97\xec\xe7\x50\x5d\x19\x1e\x45\xb7\xe6\x7c\x54\x89\x5e\x47\x96\xd7\x1e\x95\x55\xd5\xee\x38\x32\x8f\xfc\x4e\x94\x1e\xf9\xc0\xc4\x1e\x6b\x0a\xe9\x3d\xf2\xc1\x91\x7c\xe4\xa3\x4f\xf5\xb1\x0e\x99\xf0\xe3\x9f\xc2\x74\xa3\xee\x23\x93\x7f\x75\xa9\x1c\x5f\xcd\x40\x6c\xf1\x27\xcd\x97\xea\xbb\x29\xc1\x00\xa2\xeb\x91\xc5\x0e\xec\x71\x8c\x29\x27\x04\x44\x7f\x32\xc8\xdb\xc7\xde\x85\xed\x2e\x73\x36\x27\xa3\xc9\x69\x28\xbd\xcf\xc6\x28\xa6\x39\x90\x42\x31\x56\x53\x20\xa3\xd0\x5f\x9f\x83\xc0\xcc\xc8\x80\x4b\xa0\x31\x06\x65\xa9\x24\x38\xda\x90\x0f\x37\x64\x55\x82\xe1\x4c\x8a\x69\x61\xca\x0f\xc1\x6d\x73\x94\xb9\xa0\x1a\x68\x8f\xf8\x7c\xc3\xd1\x0f\x8d\x2c\x9a\x62\x48\x09\x40\xec\x95\x10\x1c\x7d\xbe\x41\x8a\xaf\x2c\x39\x3c\xee\xa1\x1c\x81\x8e\x25\x9c\xc8\x2e\x33\x42\x6b\xa4\x41\x02\x59\xc4\x15\x3c\x4b\xf6\x8e\x8f\xd9\xab\xb1\x63\xb6\x69\x1d\x26\xd8\x61\x66\x09\x50\x4d\x46\xc5\x12\xb3\xb8\x11\x58\x8c\xb3\x76\x80\xef\x6f\x72\x09\xbe\x34\x66\x3e\x68\xd0\xcc\xc9\x2d\x1e\x1f\x32\x2b\xce\x8b\x1e\x0d\x7b\x93\xfd\xc1\x4c\x6b\xb8\x27\x32\xaa\x3e\x7d\xb3\x63\xc9\x60\x34\xd0\x22\xc7\x05\xe3\xdf\x3f\xfe\x70\x3e\xbe\x99\x5d\xb0\xe6\xe0\x8f\x9d\x3a\x45\x28\xba\xf8\x28\x2c\x6b\xeb\xb2\x82\x9b\x30\xe4\x5f\xc5\xdd\x03\xf8\x11\x4b\x5a\x1b\xde\x4d\x04\xbb\x08\x74\x6b\x78\x22\xbd\xa5\xc5\xdc\xd1\x82\xec\xa8\x47\x6e\x3a\x45\x33\xfc\xf1\x69\x6d\x35\x07\x85\x74\xb7\x67\xc9\x5d\xdd\x51\xc1\xd4\x02\x15\xbf\xbd\xd6\xba\x3d\x0f\x09\xd8\xe7\x1f\xb9\x7d\xe8\x1e\x26\x57\x69\xd3\x81\x65\xc3\x64\x57\x01\x89\x43\xa1\x8e\x45\x46\x95\x5c\x9c\xf0\xab\xca\xbf\x69\x47\xa8\x18\x83\x3b\xb1\x17\x9f\xa1\xd1\xab\xc9\x37\x5c\x45\xbf\x41\xc5\x41\xac\x6c\xb0\x26\x0d\x87\xfb\xd9\x6f\x5a\xc9\x98\x02\x38\x00\x17\xb4\x6e\x11\x4e\xe6\x3b\x49\xe3\xd8\x81\xaf\x41\xc2\x73\xbc\xb9\xb9\x06\x2c\x89\xf0\x2c\x16\xd4\xcc\xed\x1d\x5e\xe5\x61\xe3\x36\x77\x25\x7d\x0e\x5a\x3f\x75\x99\xd1\x57\x54\x11\x54\xcc\x67\xce\xc5\x4c\xb0\x93\x6c\x6b\xf6\x65\xb0\x21\x4a\x7e\x85\x7b\xa6\x86\x53\x01\x73\x70\x0f\xce\x4a\xb3\x51\x02\xbf\xf1\x59\x37\xed\xbd\x2b\x4d\xcd\x43\x23\xeb\x5c\x4e\xf7\x10\xb2\x63\x95\x5e\xbc\xb6\x2c\x76\x38\x81\x7c\x84\xf3\xf6\x7f\xa8\x46\x7f\xd1\x63\x65\x1b\x81\xfe\xf1\x52\x22\x3c\xdb\xa4\x23\xb7\xa4\x1a\x9f\x65\xef\xdc\xc0\x3c\xdb\x9b\xbc\x72\x02\x37\xea\xc2\x47\x4f\x48\x63\x00\x42\x29\x82\x28\x70\x4b\x8b\xa2\xc0\xf0\x61\x73\xa1\xa7\x23\xeb\x66\xe8\x86\x01\x5e\xca\x1b\xb1\xf1\xe1\x32\xe2\x5d\x8c\x57\xa6\xc5\x12\x95\x21\xa8\x41\xc3\x4f\x75\xc3\x0e\x2f\x05\x55\xcb\xcb\x12\x10\x94\xd3\xde\x42\x50\xba\xc2\x1e\x0a\xe4\x84\x78\xb2\x8f\x44\x3c\x67\xc3\x50\xbf\x7a\xc5\xf6\xf0\x1d\x42\x5d\x82\x99\xe0\x1a\x46\x6b\x03\x89\xe3\x8f\x66\xf1\x02\x75\x79\xdc\xed\x6c\x3a\xc2\xa0\x08\x41\xa6\x87\xb6\xc5\x0c\x00\xd1\x35\xae\xba\xdd\x0a\xd3\x8e\x79\x6e\xcd\x00\x25\x9a\x9c\x5e\x4e\x31\xd1\x81\xbb\xf0\xc2\xea\x0f\xa4\xb3\xe7\xfc\xa8\x48\x92\x6a\x2b\x40\x13\x5f\xd1\x77\xe9\x2d\x48\x37\x03\xb0\x8e\x00\x5e\xa8\xd8\x98\x1a\xcf\x03\xf7\x16\x81\x4f\x05\xa8\x1b\x9c\x63\x37\x18\x41\x36\x56\xf3\xd0\x76\xc9\x1d\x27\xa5\x57\xd6\x2e\xeb\x9a\xf5\x0c\x86\xe7\x3c\xbe\xb2\x2b\x1f\x31\x7c\x0c\xb3\x32\xfe\x8a\x89\x63\x09\x1e\x10\x53\xda\xac\x12\x7a\x8a\x40\x92\x5e\x9c\x2e\xe2\x38\x81\xdb\x08\xac\xc8\x09\x03\xc0\xdc\xaf\x3e\x6a\xea\xc5\x73\xcf\x16\x5f\x80\x50\xdd\x3d\x41\x12\xda\xab\x30\x3b\x91\x45\x9a\xd8\xf4\xb0\x0e\x25\x1b\xf9\x23\x3e\x88\xc4\x63\xa2\x3d\x8f\x8c\x1d\x1c\xec\x00\xae\x63\xe8\x5f\x92\xb3\x79\xc7\x3d\xd8\x1b\x4a\x8c\xb8\xa3\xaf\x14\x99\x94\x5c\x30\x3e\xa3\x1c\xbf\x2a\xa4\x8e\x1c\xd6\x5e\x84\x89\xd6\xe2\xf6\x13\xef\xf5\x6c\x92\x4d\x5c\xd9\xf0\x61\xf4\x6a\x35\x3f\x86\xd0\xc8\x9d\x3b\x95\xd7\x30\xd2\x02\x49\x24\x66\x36\xfa\xb9\x0b\xab\xd3\xe3\xe5\xaf\x4b\x28\xb7\x60\x15\x58\x92\x3a\x51\x26\x26\xcb\xd8\x4a\xfe\x53\xe4\x7b\x53\x35\xe8\xe8\xc4\x2d\xde\x83\x7f\x91\x55\xef\x2b\xdb\x8e\xd6\xd8\x45\x2c\x2d\x9a\x8f\x69\xb0\xaf\x04\x3c\x49\xb3\xd8\x4d\xb9\xf2\xb5\x6d\x37\xb0\x37\x69\x3b\x16\xc1\xa7\x82\x30\xc1\xf2\x10\x5e\x8d\x99\xc5\x25\x66\xb8\x59\x51\x36\xc4\xf8\x6b\x71\x4f\x50\x13\x3b\xf1\xbd\x16\xec\xef\x44\x85\xc0\x6a\x83\x29\xc0\x5d\x2d\x22\x47\xe2\xad\xe7\x06\x1a\xf1\xa3\x72\xdd\xa9\x05\xf2\xba\x0b\x6d\xd8\xab\xba\x73\xc3\xe3\x09\xae\x56\xd2\xda\x95\xaf\xea\x0b\x2c\xfe\x88\x79\x0e\xc8\xa4\x80\x30\xec\xdd\x5c\x43\x0b\xe6\xc9\x0f\xc9\xa3\x10\x56\xd2\x69\x7c\x72\x15\xea\x05\xfe\x1e\x70\x2f\x8f\xcf\xc4\xd6\xb1\xfb\xfa\xf8\x20\x19\x3c\xec\x23\x23\xf0\x48\x30\xb9\xc4\x25\xd7\xbc\xef\x8f\x14\x18\x9c\x34\x6e\x75\x85\xb6\xe1\xc1\x43\x5f\xbf\xd4\x17\x8b\x13\x6a\x1d\xe6\xe0\xfb\x68\x9e\x67\x0e\xdc\x93\x96\xf8\x16\x27\xab\x54\x76\x91\x5e\xe6\x00\x9d\x7c\x96\x98\x9a\x13\xc3\xa8\x39\x27\x1d\x35\x22\x0f\xc1\xa1\x4e\xc3\x18\xfe\x2e\x02\x44\x9d\x96\x31\xfc\x5d\xca\xc7\xce\x58\x5c\x91\xa8\x4a\x3f\x6d\x61\x2b\x75\x8c\x39\xd1\x8e\xec\x5e\xdd\x84\x62\x03\x4c\x6a\xa7\x13\x9b\xbe\x8f\x0e\x9d\x4f\xcd\x39\xcc\x45\x2f\xc8\x2f\x4b\xa7\x14\x53\xfd\xf4\x66\x52\x08\x07\x58\xbb\x06\x95\xe9\x3e\xd6\xe5\xab\xab\x50\x69\xa8\xca\xc9\x46\x2c\x68\xfe\x7b\xe0\x88\xbe\xb2\x52\x77\x9a\xb5\x60\x8d\xe5\x8f\x5e\x3c\x75\xe7\x27\xb2\x07\xc1\xe9\x0b\x4b\xc4\xd0\x40\x7d\xad\x55\xc3\xfe\xc6\xb7\xf6\x76\xab\x2e\xe9\x4d\x20\x10\x1e\xba\xd8\x0c\x6f\x2d\x50\x23\x8d\x01\x39\x3c\x1d\x43\x60\xec\x4d\xe2\xf9\x51\x80\x95\xcc\x1a\xc9\xc0\x89\x42\xd2\x26\xb5\x5d\xb4\xaa\x5a\xbe\x5b\xad\x1b\x51\x53\xf6\x92\x1f\xd5\xd3\xea\xfd\xa9\x2e\xc0\x4e\x55\xaf\xfc\x3e\xec\xe4\x43\xaf\x4a\x54\xa2\xdf\x0c\x35\x89\x32\x78\x86\x2d\x2a\xe6\x27\xc5\xab\xf4\x53\xf6\x9c\x85\xe8\x6e\x45\xa7\xf0\x24\xaa\x02\xa8\x9f\x42\x62\x97\xa6\x76\x32\xae\x75\x9d\x3d\xd6\x5b\x49\xa5\x38\x9f\xe4\xd7\xdd\x70\xa4\xfd\xc0\x5b\xc2\xfc\xcf\xc6\x7d\xf3\xc7\x5f\x88\xca\x4d\xd1\xb4\x91\x9e\xdd\xa4\x5b\xad\xfb\x45\x1b\xa9\xee\x83\xd8\x46\x86\x9d\xc4\x30\x35\x16\x88\x55\xc5\x3a\x54\x31\x09\x2f\x94\x55\x20\x90\xfa\x4a\x11\xfb\x4a\x92\xfb\x4a\xd6\xa0\x3a\xf5\x5a\xcf\x85\x1a\x3a\x19\xe5\xef\x2c\x6d\x0d\x40\xfd\x17\x93\xb6\x1a\xea\x6c\x9b\x3a\xc4\x4a\xdd\x5a\x4c\x73\x4e\x61\x75\x73\xaf\x61\x58\x5c\xc5\x57\xa8\x89\xf4\x25\xae\x41\x1f\xc7\x15\x13\xbc\x06\x5a\xf2\xf2\x84\xac\xe6\x7e\x0e\xac\xf4\x85\x2d\xbb\x0c\xa1\xa6\x49\x27\xb9\xdd\x41\x51\x6c\xdb\xfe\xe0\x75\xc0\xe6\xb0\x68\xc5\xaa\xc8\x27\x5a\x33\x2b\xe6\x0d\x48\xce\x1b\x88\xa0\xa7\x3e\x6d\x27\xdc\xaf\x93\x01\x45\x28\xa3\xaa\xa2\x60\x64\x29\x68\x3b\x26\x32\x71\xc9\x8a\xe6\xd0\xd6\x69\x14\x9d\xb8\xb6\xd6\x12\xda\x8a\x75\xc2\x92\xaa\xc3\x9a\x3c\xaf\x4a\x44\x40\xe2\x1a\xa1\x9a\xcb\x56\x0b\x74\x63\x8f\xeb\x4f\xac\x3a\xac\x12\xd2\xed\x1b\x5e\xac\x5a\xbf\x8c\xdb\xf0\xfe\xd1\x07\xb2\xf1\x5c\x71\x05\x65\xb0\x69\x73\x96\x0e\x62\xa6\x42\xab\xc0\x10\xc2\x8c\xeb\x30\xa2\x4a\x8c\xe6\xf5\x3f\x77\xa6\x60\x6b\x6f\x21\xe7\x19\x54\x39\x96\x89\x52\xb6\xc5\x5c\x53\x58\x2f\xff\x99\x0c\x55\x20\x27\xa1\xdd\x22\xa3\x9f\x75\x0f\xb6\x69\xd5\xa2\xc8\x4b\x20\x34\xf8\x2b\x6a\xa3\x59\x4e\x22\x83\x23\x47\xb2\xd8\xf0\x6a\x56\xd7\xa6\xcb\xd2\x8b\x3a\xb5\x4a\x57\x9b\x6c\xcc\xd7\xc4\x06\x19\xad\x24\x5f\x15\x96\xf4\x0d\x18\x01\x56\x95\x04\x0f\x07\x05\x19\x76\x86\x9f\xb1\xd5\x7b\x42\x39\xb4\x6a\x77\x23\x61\xd7\x7b\xc0\x44\x41\xef\x55\xb2\x05\x8e\xa4\x1e\x2d\x57\x4a\x18\x14\xb3\x25\x61\x9f\x56\x0c\x6b\x5f\xbe\xa1\x6e\x78\x8d\x3b\xca\x6d\xdb\x0d\xa5\x01\xdb\xa1\x53\x0e\x48\x4c\x76\x16\x19\x5d\xb5\x3a\xcd\xea\xc4\x12\x14\xf8\x76\x53\x04\x6b\xbc\x7e\x94\xa0\xcc\x78\x51\xf7\x36\xd2\x93\xf8\x12\xa2\x3a\xa6\xea\x01\x55\x71\xc2\xb3\x7e\xa2\x52\x98\xb4\xa3\x31\x6c\xae\x42\x61\x41\x7b\xad\xe9\x8d\x9b\xab\x56\x6e\x4f\x7d\x88\xf6\x42\x2a\x9c\x26\x32\x24\x2d\xb9\xa5\x44\x28\x9c\x61\x98\x02\xfc\xe3\x5f\x8d\x04\x33\xd6\x08\x71\x14\x6e\x53\xd5\x56\xd4\xa7\xd2\xa0\x7e\x21\x01\x06\xc1\xba\x1e\x0d\xda\xdc\xb6\xb7\xa0\x40\xf0\x06\xad\x25\xc2\x8c\x45\x93\x5b\x90\x20\xb4\x17\xd6\x6e\xa2\xc1\x72\x36\x06\x18\x00\xfb\x78\x4f\x29\x82\x63\x91\x9f\x2f\x21\xd0\x7b\xbe\x9c\xe2\x53\x4f\x86\xfd\x75\x5c\x6f\xcf\xbc\x4f\x90\x48\x52\x8c\x5c\x0a\xd6\x2d\xa4\x2d\x97\x69\x88\x6b\x0a\x82\x9a\x70\x38\xfe\x86\xee\xce\xe7\xe9\x0d\xda\xe9\x53\xf8\x5b\x42\xaf\x31\x8a\x18\x14\xb0\xc3\xbe\xf6\x76\xfe\x34\xe0\x05\x78\x1e\x80\x2d\x4d\x88\x14\x3d\x26\x1c\x19\xe4\x12\x12\x81\xde\xab\x8d\x13\x56\x33\x91\xc6\xd0\x76\x10\x9f\xad\x39\xa6\xc0\x2c\x09\x13\xa3\x86\x58\x06\x75\xa4\x31\xe5\x2b\x91\x9b\x59\xb1\x45\xc1\x25\xf6\x42\x97\x69\x64\x87\x0c\xcf\xd3\x40\xa5\xb8\x78\xe6\xe5\x04\x58\xa2\x79\x34\xb0\x3c\x70\xd8\x7c\xff\xc1\x29\xe7\xd0\xe7\xcd\x88\xb1\x1a\xb0\x6d\x4d\x39\x6c\xe6\xf8\x53\x02\xfa\x4e\xd3\x90\x3c\xb0\x9e\x1c\x9f\x60\x6a\xf1\x0d\x08\xb7\x7a\x03\x20\x2a\xbb\x8b\x6e\xce\xa2\x35\xb6\x30\x1d\xce\x33\x76\x87\xed\x0e\x11\x6c\xf7\xfa\xcc\xfc\x31\xf2\x6b\x32\x30\x82\xe9\xf6\x63\xab\x60\x32\x5f\x93\xc1\xf6\x23\xe0\xb2\xf8\xb4\xc0\x94\x88\x29\x20\xd3\xc2\xc0\xe9\x8c\x78\xc4\xf7\x9e\xb8\x1e\x58\x27\xe4\xa7\xc2\x81\x86\xa9\xac\xce\xc9\x30\xbf\x44\x0c\x88\x2e\x10\xe5\x0e\x8e\x9f\xef\x72\x58\x12\x59\x8e\xde\xe7\x20\xbd\x41\x43\xbd\xbc\xef\xc6\x01\x7e\x3b\xb8\x9b\x3b\xb8\x77\xae\x15\x5e\x6f\xd0\xf1\x06\x83\x4e\xbc\x1d\x70\x3d\xe6\x95\x09\x5a\x05\x03\x8f\x71\xed\x76\xd3\x59\xf3\xbd\x64\x57\x45\xec\x5d\x2e\xfe\x35\x83\xf4\xfa\x09\xfe\xeb\x4c\xfe\x02\xa1\x8c\x20\x53\x19\xf1\xa5\xa3\x21\x4a\x3b\x74\xe4\x7e\x3e\xd9\xd8\x93\xe3\xfa\x2a\x9d\x35\xc5\xf8\x2d\x08\x7f\x20\x2b\x0d\xd7\x94\x59\x08\x82\xc4\x86\xd3\x92\x4f\x92\x38\xb5\xab\x9f\x13\x38\xf8\x68\xf7\x29\x3c\x9c\x06\xbe\x52\x4c\x73\x08\x10\x84\xf0\x14\x73\x50\x19\x22\x34\x1a\xa7\x50\xbc\x4b\xe0\x9b\xd4\x04\x00\xe5\xf4\x93\x19\xe8\xaa\xb0\x8c\xbd\xc7\xcc\xeb\xb0\x18\x06\x76\x74\xd7\x3f\xff\x73\x3a\x22\x35\xcf\x69\x66\xc3\xec\xc6\x0c\x3e\x78\x0d\x83\x02\x90\x54\x34\xc1\xe5\xc8\x09\x90\xd1\xa1\x44\x28\x6c\x97\x57\x0a\xd0\x93\xcb\xc2\x14\x37\xcf\x4e\xb0\x14\xf6\x5d\x38\x86\x1a\xf6\x57\xe4\x62\x26\xe9\x1c\x12\xa0\x7e\xf3\x8e\xe1\x54\x5d\xf0\xe0\x37\x0e\x88\x5a\x42\x11\x04\xc7\x0b\x5f\x26\x27\x7b\xce\x0d\x1f\x73\x29\xa9\xdf\x60\xc0\x84\xa3\x9d\xfb\x60\x4d\x10\xf4\x01\x4e\x01\x3e\xc0\x11\x34\x85\xb8\xae\xfe\x70\x00\x0a\x89\xcd\x6b\x80\xed\xee\xea\xd4\x8d\x8a\xac\x3e\x6b\x88\x5b\x91\x17\x73\x08\x52\xcc\xd1\xc3\x0f\x4b\x01\x52\x1d\x85\x4e\x9e\x2d\x11\x7d\xcb\xb6\x98\x60\xc4\x87\x59\x16\x84\xa3\xb2\x0b\x95\x65\xe8\x85\xb7\x43\x4f\xc7\xfb\x9f\x4f\x06\x5b\x5b\x1f\x12\xfc\x0f\x1c\xaa\x79\xf2\x62\x69\x26\x2f\x0f\x0b\xfd\xb9\x58\x2c\x66\x3b\x9b\x9b\x97\x0b\x53\x68\x63\x9a\x2d\x36\x47\xc5\xb0\xa4\x7f\xae\x2f\xcf\x37\x0d\x51\xcc\xcc\xe2\xdc\xdf\xb8\x58\x4c\xc6\xb6\xdd\x07\x03\x6c\xd7\xfc\x27\xf9\x19\xd1\xdb\x24\x6e\x18\x20\x08\x11\xbc\xde\x74\x76\x30\x05\xea\x43\x32\x6b\xd7\xa5\x69\x6e\xdd\x5c\x2a\xec\xa8\xc7\xaf\xe9\xfb\x3f\x9f\xec\x1f\xbd\xfa\x90\xfc\x19\xb7\x68\x8f\x71\x7d\x8e\x85\x1c\xa2\x2d\x5b\x45\xf2\x7a\x5e\x8e\x01\xe7\x05\x3a\x41\xa2\xdc\x1c\x2e\xcc\xa5\xff\x9f\xa5\xfc\x57\x4f\x6b\xef\xe4\xe8\xe5\x87\x24\x79\x97\x7f\xca\x67\x90\x94\x65\x27\xd9\xdb\x42\x9a\xd8\x1b\xd8\x7e\xf7\x40\x37\x19\xed\x33\x9b\x6e\x5c\x49\xcd\x8d\x62\x7e\xbe\x09\xff\xda\xdc\xdb\xfa\x68\x5a\xf8\xb8\x37\xf8\xc8\x88\x44\x1f\x87\xae\x85\xf7\x7b\xc7\x07\xa6\x43\xdd\x23\xda\xfc\xf6\xe9\x20\x40\x5f\xb7\xe9\x8a\x3b\x90\xa5\xf9\x78\x00\xff\x1e\x2d\x87\x44\x60\x09\x84\x0a\x27\x0f\xf8\xbe\x38\x2b\xfa\xf8\x6f\xf8\xdb\x70\x32\xeb\xcb\x5f\x92\xf5\x97\x74\x7a\xd7\xa7\xd9\xd5\x5a\x23\x6e\xa1\xbb\x79\xec\xe6\x4b\xe8\xab\xc4\xd9\x06\x97\x99\x30\x26\x3f\x9f\xd4\xa3\x1b\xe2\x6d\x99\x48\x28\x0f\xa3\xe1\x85\x77\x5c\x14\x76\xea\x32\x9f\x03\xe2\x5a\xe2\x19\x27\xef\x6e\xae\x05\x88\x05\x21\x60\xa2\x2d\xee\x32\xc9\x60\x79\x07\xc6\x41\x29\x70\x55\x1a\x0b\x6b\xc1\xd7\x49\x4f\xb9\x5a\x34\xe1\xa9\x38\xa2\xbc\x81\x54\x9f\x0c\xe6\x8c\xe9\xa3\x10\xd7\xd0\x99\x80\x01\xf0\x18\xd3\x81\xfa\xf0\x86\x94\x16\x36\xa3\x4f\xc0\xa3\x73\x70\xa9\xc5\xec\x02\x44\x2d\xc9\xa8\x72\x03\x09\x76\xb1\x64\x32\x2f\x96\x0b\x0c\xda\x36\x77\xfd\x05\x06\xaf\xa5\x98\xbc\x62\x44\x99\x27\x4d\x0b\x38\x64\xd7\xec\x47\xeb\xf3\xe4\xf0\x21\xd5\x47\x1d\xc3\x63\x5e\xba\x37\xf6\x53\xd7\x15\x7d\x3b\x85\x54\x42\xd3\x8f\x16\x57\x7f\x77\x7a\x93\x7c\x33\xa6\x4e\x01\xa3\x1a\xa3\xbc\xca\x6f\xec\x1b\x18\xdc\xfa\x7d\x1b\xb1\xde\xf9\x11\x1e\xdd\xa4\x43\x11\xdf\x17\x3c\x67\xd2\xad\xdb\x76\x12\x01\x38\xe2\x68\x21\x1a\x84\x39\x57\x1f\xed\x0c\xb8\xef\x57\x5c\xe5\x23\x3b\x40\xaa\xd1\x19\x29\x30\x1f\xfb\xc3\x33\x1b\x70\x0c\xaa\x77\x95\xe4\x20\x03\xba\x03\xc0\xc8\x60\x2e\x7d\x6a\x29\xbb\x1e\x66\xb3\x85\xf8\x95\x01\xe2\x22\x39\x64\x60\xaa\x38\x14\x29\x97\x13\x7c\xe6\xd2\xf9\x39\x7a\xd4\xba\x50\x5f\xe9\x3f\x3e\xc4\x77\x17\x19\xd9\x13\xe6\xf8\xd2\x11\xc8\xd9\x4c\xc2\x84\x78\xf9\xf0\x56\xc1\x35\x95\xf8\xc9\x0a\x50\x0d\xf5\x85\xc0\xbc\x94\x65\x09\x19\x66\x82\xc6\xd3\x69\xa4\xd6\x2c\x88\x68\x80\x28\x49\x69\x56\xe1\x81\x64\x71\x0c\xf1\x25\xed\x3e\x52\xae\x14\x43\x61\x87\xc7\x7b\x1a\x52\x89\x8f\x53\x39\x04\xbc\xf7\x97\xf9\x24\xc7\x48\xb6\xed\x2d\xf3\x47\x3a\xdb\x53\xa0\x00\xf3\xec\x7c\x39\x36\xf2\x40\x76\x0d\x2a\xe7\x92\x13\xcc\x3b\x17\x6b\x24\x2f\xc8\xbd\xb7\x8e\x90\x2c\x02\xf4\x06\x1b\x55\x6e\xac\x39\xd7\x4a\x09\x98\x35\x84\xe1\x11\x26\xb4\xf6\x9f\xcb\x7c\xf8\xc9\xbc\xd0\x25\x66\xc2\x10\x01\xd3\x39\x86\x5f\x2f\xa8\x21\xdd\x38\x49\x6f\x2c\x10\x0d\x87\x60\x80\x20\x98\x44\x00\x70\x2b\xbb\x8e\xff\xdb\x1b\xf4\x36\x26\xe9\xac\x2b\x36\xeb\x20\xe9\x0e\xcb\x07\xc4\x5b\x77\x7e\xf9\x05\xb3\xbe\x53\x0a\x94\xbf\xce\xd2\x11\xa4\x93\x33\xbd\xc1\xdd\x6f\x04\xa4\xde\xc6\xa2\xe0\xa0\xd0\xc1\x43\x23\x2e\x6c\x4b\x4a\xc7\xcf\xbd\x8d\xff\x30\x4f\x3f\x85\x8a\x4a\x58\xcf\x70\xf0\x26\x5d\x98\x71\x4c\xe5\xa8\x1e\x65\xe7\xfb\xd7\x86\xa1\x7d\x0f\x7d\xc0\x98\xef\x25\x9d\x0f\x1d\x7b\x34\x99\x91\xa5\xf5\xcd\x49\x4e\x26\x60\x9a\x11\x7e\xb1\xde\x40\xd4\xfe\x72\x71\x26\xbc\xaf\x74\x10\xb0\xc4\xec\x8c\x67\xef\x70\x21\x5d\x84\x42\x94\xe3\x91\x3c\x5a\x3f\xcd\x17\xd5\xb5\xa5\x6c\x20\x5c\xd3\xc8\xf3\x35\xc5\x08\x81\x5f\x3d\x32\x68\x4b\xb9\x00\xe0\x7e\xa0\x7d\x52\x83\x51\x96\xde\xbb\x92\xb8\x03\x30\x7e\x81\x5b\xfe\x0e\x9b\x94\x93\x51\x52\x9a\x1e\xe0\xc4\x0c\xcf\x47\x26\xb7\xab\x82\x90\x7e\x0c\xf9\xe6\x97\xe9\xd8\xe6\x74\xbc\x9b\xbc\x82\xbc\xc1\x90\x3c\x18\x3c\xff\x81\x49\x44\x7c\x60\xb9\x9a\x4d\x45\xa2\x47\x8e\xa4\xf6\x26\xf3\xce\x06\x79\x07\x73\xc2\x43\x7b\x7a\x63\x83\x74\x13\x4b\xba\x1a\x68\x1a\xb3\xcc\x50\x4b\x79\x59\x2e\x19\xfa\x38\xf9\xc6\x2c\x69\x0e\xb1\xd1\xe9\xf8\x1b\x33\x0e\x40\x01\xe1\x5c\x45\xcc\x3e\x4a\x40\xc8\xa9\xf5\x99\x22\xee\x55\x5e\x57\xdb\x00\x54\x27\xac\x52\xc0\x79\x1e\x5f\x22\xea\xc1\xa2\x83\x2a\x47\x53\x6b\x7e\x23\x00\x77\xfa\x3d\x25\x87\x90\x47\x4f\xf3\x85\xf0\x46\xde\x0d\x12\x23\x01\xb8\x7a\x70\xb5\xe0\x86\x78\xb0\xed\x84\x1e\x8d\x10\x8e\xea\x44\x8c\x73\x81\x34\x72\x9c\x42\x2a\xd6\xb5\x4d\x30\x45\xd0\x42\x3a\x61\xb8\x74\x7e\xa4\x2e\x4a\xd8\xba\x0e\xba\xb5\x0a\xd8\xd1\xd0\xa1\x82\x7a\xf9\x4a\x80\xea\x97\x70\x7b\x70\x82\x66\x82\x22\x79\xb6\xbf\x07\x38\x3e\x00\xe7\x49\x99\x22\x06\xdb\xd1\x61\x99\xa3\x30\xd8\x8e\xaf\x05\xe9\x1c\x67\x08\xa0\x97\x08\x6a\x9d\x68\xdb\xe0\xf6\xc1\x78\x1a\xc6\x27\x53\x49\x80\x60\xe8\x41\x5f\xf6\x38\xec\x4b\x33\xe6\xc9\x30\x07\x74\xfd\x51\xc7\xef\xf3\x55\x7a\x2d\x2a\x03\xba\x9d\x97\x53\x47\x0c\xc9\xb3\xbd\xe3\x3e\xec\x46\x3f\x79\xf3\x0a\x1e\x98\xdd\x37\xee\xea\x16\xe4\xe0\xab\x0c\x4d\x82\xd4\xdc\x72\x86\x1c\xb1\xc2\x2c\x18\x92\xed\xce\x12\x3b\x01\x68\xc0\x89\xca\xa6\x92\x3e\x91\x03\xdb\x85\x51\x04\x11\xb8\x7b\x7c\x02\x39\xd9\xae\xbf\x1f\x9a\x07\x7e\xdf\xd0\x83\xb9\x0a\x3b\x3d\xce\xce\x7f\x37\xe9\x3e\xdd\x7f\x89\xdf\xb7\xbe\x33\xbf\x2a\x15\xd8\x45\xc6\xb9\x95\x92\x6f\xf8\xda\x96\xf1\x7e\x03\xb1\x54\xb9\x64\xaf\x74\x4b\x35\x49\xaf\xa9\x7b\x61\x8c\xcd\x52\x0d\xb6\xb6\xbf\xf5\xd7\xc9\x42\x17\x64\x13\x4c\x07\x89\xa9\x77\x18\xfd\xfc\x8a\x20\x08\x71\xe5\x58\x1f\xe8\x5f\x49\x66\x3e\xf4\x0e\x53\x5b\x8e\xae\xe1\x18\xda\x5c\x8f\x66\x63\x8b\xf3\x29\xe0\xba\x15\xf8\xbc\x8d\xf3\x61\x8e\x72\x22\x2e\x66\x30\x6a\x18\xc1\xdb\xa9\x12\x21\xa3\x04\x7e\xa2\xe2\x44\x5f\x6c\x6d\x6c\x6c\xbc\xb8\xaf\x86\x65\x5e\xa1\x32\x68\xf6\xc5\x16\x00\xf5\xc5\x74\x15\xf0\x66\x95\xef\x3b\x4f\x3b\x1f\xec\x83\xf2\x62\xb0\xa2\xf0\x96\x2e\xbc\x7d\x9b\x96\xef\xb7\x29\x1c\xce\x94\xae\x6f\x89\x36\xf4\x58\x33\x9f\x02\xe9\x0e\x4d\x61\x01\x66\xf8\xb2\x13\xa0\xd9\x29\x72\x64\x82\xc2\x29\xc2\x05\xc6\x96\xb1\x11\xef\xc5\x4b\x68\x8c\x9a\xb1\x6a\x59\x20\xb6\xef\xbf\xc5\x77\x81\xfd\x35\xb7\xae\xb7\x07\x98\xc7\xea\xfa\xbb\x90\xf6\xdd\x76\x60\x53\x30\x0e\x33\x99\x7e\xf2\xf6\x38\xd9\x3d\xde\x3b\x38\x08\xf7\xe3\x25\x1c\xdc\x17\x5b\x9d\xea\x6c\x1f\xfd\xf6\xb3\x3d\x6a\x39\xdb\x94\x67\x7b\x16\x52\xe9\x8b\x23\x6f\xf8\x9b\x86\x69\xbe\x44\x3c\x3b\xb8\x25\x85\xfd\x32\x37\xe7\xf1\x1e\xb1\x66\x3e\x7f\x96\x72\x82\x60\xd0\xec\x23\xa0\x6c\x4a\xe0\x03\x46\x3e\xc4\x16\x40\xe1\x0d\xe5\xee\x1a\xbe\x97\x2e\x61\x86\xa4\xf3\xf9\x12\xc8\x6e\x30\x8a\x8b\x28\x94\x51\xc8\xc9\x28\xbe\x13\xc4\xeb\xa2\x92\xec\xd4\x89\xa8\xca\x0d\x38\x2a\xd3\xb1\x0e\x9c\x9b\x82\x39\xee\x9f\xf0\xc3\x60\x38\x5b\x51\xc9\xb0\x70\xe8\xf2\xf3\x6e\x9a\x1b\x94\xba\x43\x06\xa2\x5d\x9f\x7b\x2f\x0f\xf6\xfe\x04\xd7\x56\x6d\x87\xdb\x8d\x1d\x22\xa6\xb3\x91\x35\x51\x75\x44\x20\x9f\x29\x80\x16\x2d\x28\x45\x2d\x26\xb3\x6d\x37\xf9\xa3\xdd\x17\x09\xfa\x32\x58\x68\x3b\x2b\x04\x26\x0a\x3a\xcb\xd3\x1d\x8a\xad\x03\x12\x68\x96\x89\x87\xaf\xa0\xb3\x2f\x8a\xe0\x7b\xb0\xc0\xe8\x14\x23\x08\x8d\x47\xa5\x30\xe5\x3a\x90\xf7\x74\x09\xa8\x36\x00\xc5\x4e\xf8\xe9\xa2\xdf\x95\xdf\x61\xb6\xb6\x41\xcb\x7f\x87\x56\x26\xf9\xfd\xb3\xf5\x67\x34\x3f\x78\x27\x18\xeb\xcf\xbd\x06\xa2\x21\xa7\xa6\x5f\x17\x6a\xea\x8c\x55\xe4\x89\xee\xcd\x97\x46\x18\x2c\xb5\x5a\x41\x0d\x04\xe2\x06\x05\xff\xee\x4b\x4f\x91\x30\x03\x71\x44\x7f\x92\x04\xbf\x38\x10\x04\x33\xc2\x27\x76\xac\x7f\xfb\x9b\x8f\x56\x64\xd6\x51\xcc\x09\xe4\xe3\x08\x0b\x51\xdf\x98\x91\x5f\x4b\xb6\x0e\x45\xc1\x0c\x82\x65\xeb\x7b\xfb\x22\x7b\x56\xbb\x06\x4d\x00\x16\xd5\x25\xc0\x22\x58\xf9\xb9\xf5\xce\xf7\x51\x98\x9e\x2e\xcf\xba\x6a\xe2\x5a\x5e\xc2\xef\xbb\x22\x8d\x57\xf2\xd6\xd6\xcc\x27\x76\x6c\xeb\x87\xef\x8d\xad\x0e\x8c\x83\xd6\x3b\xb6\xa7\x35\x43\xa2\x15\xf5\x16\xd4\x0e\x2b\x46\xa5\x1e\x85\xc2\x05\x49\x50\x66\x08\xc2\xb4\x3c\xeb\xcb\x56\x23\x3c\x2e\x90\x46\xeb\xe9\x3d\x45\xc2\x6a\xd8\x20\xa2\x3c\xeb\x72\xc8\x1b\xa1\xbd\x0e\x93\x1f\xed\xcf\x3b\x35\x74\x19\x5d\x03\xab\x46\x31\x42\x28\x24\xf8\x69\x98\x3e\xb4\x6f\x8a\x7f\xfc\x6b\x36\x2f\xdc\x3a\x48\x0e\x4d\xb7\x16\x40\xd9\xef\xb7\x3e\xb4\x9e\xbd\xa5\x9d\x70\x0d\xa4\x33\xb5\x10\xd0\xf6\x86\x6f\xbb\xd3\xbe\x98\x7a\x84\x77\x80\x95\x9f\x9a\x3d\xc9\xa7\xd9\xa8\xa3\x72\x37\xf2\xf8\xf8\x28\x4b\x79\x6f\x7d\x5e\x64\x88\x8a\x28\x8b\x83\x1a\xab\x69\xc2\x5e\x0f\xe1\xfa\x48\x26\x11\x53\xda\xfc\x95\x54\x3e\x52\x91\x51\xfa\x50\xdb\xb4\x98\x83\x40\xd2\x66\x59\x72\x53\x5f\x2f\x06\xb5\x6c\x09\xec\x67\x58\x6a\x67\x65\x26\x8f\x1d\x37\x35\x2a\xfd\x41\xd6\xc6\x5a\xa4\xd9\x26\x8d\x97\x01\x9e\xc6\x83\x29\xa2\xcd\xf6\xcd\xcb\xd7\xb3\x11\x14\xbb\x6a\xda\x66\x49\x71\x29\x01\xf1\x99\xf1\x9d\xf8\x2a\x96\xcb\x1d\x77\x9d\xc2\x28\xa0\x2f\x6c\x1c\xf2\xbb\xae\x59\xfd\x8c\xbb\x02\x71\xd8\xd4\x8f\xd8\x44\xb3\x85\x44\x21\xf3\x2f\x7e\x51\xb5\x23\xbb\xa3\xcb\x54\x44\x16\x7a\x91\x0c\x5d\xc7\x1e\x24\xeb\x9a\x82\x92\x06\x65\x98\xa0\x4d\x30\xb3\x21\x76\x0c\x84\x68\x6a\xae\xcd\x66\x70\x51\xbd\x1f\xd8\xb4\xa2\x4a\x38\x62\xf7\x9e\x50\x8f\xc1\x39\xe3\x58\x4b\x00\x31\x02\xe5\x10\x3c\x6a\x98\x86\x89\xc0\xb2\xd5\x2d\x54\xcd\xc3\x64\xa7\x8a\x86\x2d\x75\xe3\x7b\x9e\x1b\x3a\x95\xc6\x8a\x3e\xda\xcc\x76\x96\x65\x9f\x8e\xa4\x99\xe0\x5e\xf2\x7d\x36\xf9\x5e\x12\xd3\xb7\x2c\x44\x78\xff\xdb\x05\xc0\xec\x35\xe4\xf1\xa1\xd5\x50\xd3\xaf\xbd\x08\xd8\x4f\x4d\x07\x6d\x57\x00\x44\xa9\x5b\xcf\xbc\x8f\x49\x63\xbf\x7c\xf2\xf0\x0e\xa5\x21\x99\xeb\x69\xa3\xc2\x0e\x48\xf8\x37\x9d\x3f\xf0\x9f\xe6\xf8\x7f\xd1\x12\xdc\xbb\x57\xbb\x08\xca\x93\x98\xe7\x0b\xce\x41\x93\xd9\xe2\x46\x2c\x13\x8a\x13\xa5\xec\xf6\xa2\x10\x6f\x75\x65\x96\x7b\x9c\x8f\x64\xe5\xa0\x05\x2b\xc7\x06\xd3\xc2\x44\xf8\x4d\xf9\xe1\x89\x3d\xd1\x3a\xb6\xd5\x97\x81\x74\x0f\x97\xfa\x1e\xb8\x44\x9d\xfc\xe5\xe2\xb1\x96\xa9\xba\xbd\xfa\x96\x74\x90\x24\x28\x4e\x6b\x80\xa6\x48\xad\xf6\xc4\x76\x62\xad\x70\x58\x8b\xda\xd3\x69\x88\x17\x21\x02\x6e\xb5\xe2\x39\x64\xca\xf1\xf0\xe3\x7a\x04\x3d\xa7\xdb\x41\xb1\xda\xd6\x7d\xf1\xf2\xb1\x27\xb0\xba\x0f\x0a\x1e\x15\x35\x23\xee\xcb\x96\xaf\x05\x71\x1f\x06\xbe\xc6\xc3\x7d\xd8\xf6\xb5\x1b\xee\xc3\xfd\x56\xcb\x28\x99\x6b\xe2\x2b\xe9\x2d\x01\x17\xe5\xe5\x53\x2b\xad\x56\xc0\x5f\xec\xca\x9a\x45\x56\x5b\x56\x31\x68\xc4\x2d\xa5\x5a\x46\x5a\x3c\xfb\xe1\x28\xa8\x62\x97\x52\x2d\x23\x2d\x9e\xfd\x30\xf0\x3f\xd8\xa5\x54\xcb\x48\x8b\x67\x3f\x84\xcb\xd8\x0e\xe9\xee\x7f\x9a\xc2\x2b\xd4\x0a\x45\x15\x2d\x5f\xa0\xf6\x58\xbb\xb5\xc9\x5a\x5d\x85\x3f\xa1\x91\xd5\x99\x14\x43\xad\x89\x38\x9f\xa0\x5a\x96\xac\xe8\x27\x20\xed\x9b\xab\xfd\x1b\xc8\x24\x27\x2f\xfa\x7b\x74\x2d\x08\x19\xec\x58\x02\x0c\xb2\xb9\xeb\x3d\xcd\x02\xcc\x23\x6f\x22\x4d\x33\xd1\x91\x44\xd6\xba\x69\xee\xef\x62\x0e\x96\x0d\x38\x49\xe9\x39\xf1\xff\x60\x39\x07\xdb\xaa\x79\x47\x32\xb1\xf4\xc9\xbf\xa5\xa6\xd8\x68\x29\x71\x8c\xe8\xa1\xa0\xe4\xa4\x18\x69\xce\x1e\xd2\xd8\xe5\x67\x8b\x3f\x65\x37\x34\x00\xf8\xfc\xb7\x27\xc9\xb7\xee\xfb\x24\x5b\xa4\xe6\x33\xdc\xe6\x7e\xa6\x06\x9b\x12\x6a\x23\x1d\x2f\x0e\xca\x57\xa6\x1c\x04\x49\x66\xf0\x4f\x68\xcf\x6b\xf0\x91\x6b\x70\xb8\x98\x8f\xc3\xfe\x06\x0f\xed\x9c\x0f\x9f\x1d\x76\xe7\xe7\xf9\x74\x94\xf6\x76\xc0\x26\xa5\xd3\xca\x71\x92\x4d\xab\x4f\x7a\x00\x8f\xfa\xa6\x59\x13\xf3\xf7\x87\xc0\x77\x9a\xab\x22\x23\xbd\xca\x1a\x9b\x46\x31\x15\x0f\x3c\x2a\x08\x5f\x86\x2a\x45\x70\xf7\xea\xb3\xc9\x7b\x46\x09\x43\x53\x0a\x2c\xc4\x94\xf9\xa9\x11\xd5\x16\x0b\x00\xcc\x3e\x48\xae\xd2\x12\x5d\xb2\x10\x24\x9b\x13\xda\x81\x37\xf9\x65\x8e\xda\xf1\x49\x3a\x2c\x45\x89\xc2\x8e\xb8\xc4\x11\x96\x64\x7d\x29\x65\xd5\xaf\xcd\x9a\x93\x7a\x7f\x03\x94\x95\x7b\x6c\x3b\xed\x92\x45\x75\x38\x4e\x27\xb3\x6e\x66\x57\x96\x0c\xdf\xc9\xbd\xe4\xfe\x76\x1f\xff\x1f\x10\xaf\x2d\x88\xd5\xcd\xad\xda\x3a\x2a\xae\xaa\x0d\x99\x96\x4a\xc3\x0b\x0e\x2f\x60\x3f\x80\xa6\x45\x82\x19\x82\x4b\x67\xc7\xa5\xad\xee\xec\xb0\xa4\x81\x34\xc5\x80\xf1\xd9\x38\x90\x58\x58\x47\x37\x80\x35\xd9\x4e\x66\xe3\x25\x8a\x73\xe9\x68\x94\xb3\x10\xfb\xf0\x5b\xc1\x05\x38\xc5\x88\xd0\x6c\x03\x9b\x79\x96\x8d\x17\xe9\xbf\x27\x7f\x34\x02\x8d\x91\xaf\xb7\x8c\x64\x3d\xe8\x99\xc1\x7e\xff\xd0\x7a\x98\x02\x6d\x98\x85\x7c\x6c\xe5\x1d\x22\x73\xb8\x65\x7e\xb9\x1e\x9c\xbe\x7f\x05\x26\xe3\xd8\x62\x9c\x42\x43\xd7\xe6\xff\x6f\x1e\xaf\xb9\x29\xfc\x49\x12\x6f\x3a\x30\x08\x50\x1d\x53\x0e\x6c\x42\x69\xc6\x3f\x19\xe6\x03\x32\xf7\x86\x82\x6f\xe1\x11\x99\x59\x7f\xe2\x26\xd5\x62\x81\x6e\x52\xaf\xd5\x53\x5c\x11\x72\xbb\xb3\x79\xa1\xec\x42\xb1\xc0\x84\x0b\x75\x7f\x5b\x3a\x45\x17\x66\x33\xb3\x57\xe9\xe2\x62\xc3\x8c\x0e\x57\x09\x70\xee\xd6\x93\x01\xd8\xd4\x71\x1b\xf5\x6c\x76\x41\x5f\x9a\x5f\x0b\x0b\x3a\x51\x67\xbe\xdc\xa8\xac\xe0\xaf\x5a\xc2\xc6\xc9\x2f\x67\x55\x32\x59\xce\x50\x3d\x3a\x2d\x04\xdb\x88\xef\x56\x9a\x11\xaf\x83\x39\x5d\xe8\xdf\x08\x01\x23\x1b\xb5\xe3\xfb\xe5\x7a\xfb\x7e\xa7\xe5\x50\x40\x7d\x6c\x07\x73\x8b\x4b\x18\x14\xc6\x78\x77\xe1\xf8\xb4\x0b\x04\x58\x0b\x16\xe6\x96\x31\xf7\x9c\x0c\xfb\x34\x5f\xd8\xf5\x25\x8a\xbe\xbf\x6d\xc6\x56\xb7\x6f\x76\xe9\x69\xd3\x46\x23\x28\xbe\xb0\x0b\x93\xf1\x3b\x35\x29\x58\xf4\xb2\xed\xde\x7b\xa2\x37\xbc\xf5\x96\x47\x36\xfd\xd7\x6d\xfb\xe7\xb5\xda\x45\x1f\x8e\xf3\xe1\x27\x5e\x70\xfa\x65\x74\x3a\xd6\x3f\xfa\x95\x58\xfd\x20\x9f\x24\xdd\x58\x36\x9f\x1b\x0e\xb1\xc3\xbe\x2f\xfa\xdd\xa6\x5c\x63\x74\x47\xf5\x93\x2c\x3c\x86\xca\x7f\x5c\x26\xa8\x14\x51\xf6\xa1\xca\x0b\x95\xa6\xce\x95\xf4\xc1\xee\xc5\x09\xd0\x79\xda\x80\x9f\x82\x72\x36\x66\xdb\x94\x48\xcd\xa6\x19\x54\x46\x72\xda\x49\xe7\xec\xb7\x96\xdc\x0d\x5d\x01\xb5\x8f\xb4\x15\xc5\x29\x6b\x1c\xf9\xb0\xc4\xb2\xc6\xb1\x85\xdd\x25\x8e\x0b\xb2\xc6\x45\x79\x13\xeb\xcb\xa8\x99\x12\x5f\xd9\xa9\x7c\xe5\x9c\xf2\x99\xd5\xba\x43\xa4\x00\x53\x9c\xa8\x96\x33\xad\xdd\xa9\xd4\x73\xe2\xa0\xe1\xc4\x95\xf6\x4b\x2b\x89\x75\x79\xf8\xdd\x05\x51\x90\xca\xb4\x52\x08\x85\x42\x7b\x13\xa2\x6e\xa4\x52\xc6\xfc\xcc\xb4\x14\xed\x63\x63\x98\x8e\xc7\x38\x99\x7e\xa5\x80\x1c\x44\x7b\x2d\x84\x95\xe1\x6e\xc0\xff\x0a\x64\x48\x30\x38\xf8\x0e\xff\x51\xe1\xcd\xb1\xf1\x41\x31\xbb\xe2\x54\x08\x13\x58\xbd\x21\x0d\xfd\x28\x1f\x11\x1c\xf7\x58\x5c\xee\x90\x3f\xbb\xd3\xd1\x18\x20\x8a\x30\xc9\x69\xc9\x51\xe5\x57\x22\x14\xf6\x9d\x8a\x85\xd6\xd8\x05\x8a\xb8\x6f\x58\xff\x8d\x08\x82\x67\xa6\xb3\x28\x79\xc1\x19\xe6\xdf\xde\x61\xc3\xf6\x54\x9e\x2d\x99\x5a\x49\x8e\x5d\x15\x4f\xf1\x66\x97\x62\x6a\xa4\x6e\xa2\x2e\xb9\x53\x74\xb2\x2a\x9e\xcd\x4f\x03\xe5\x5f\x0f\x76\x17\xc8\xf3\x4c\x47\x9a\x51\xf7\x2b\x16\x7a\x55\xff\x15\xd7\x35\x39\x8c\x95\x91\x54\x6c\x7f\x15\xdb\x21\x9a\x33\xf1\x7e\x41\xcf\xc1\x85\x0b\x4e\x13\xdf\x41\xcc\xff\x9d\x0c\xaa\xbe\x89\xa4\xd3\xea\xee\x6d\x6d\xee\x0d\x82\x10\x39\xe4\x94\xc8\xfb\xbc\x67\xd8\x68\x70\x49\x55\xc0\xc3\xc3\x02\x03\x38\xd8\x19\x47\x3c\x6e\xe4\x96\xe3\xd0\x01\x9d\x92\x5a\x6e\x48\x38\xa7\x99\x24\xab\x09\x07\x62\x2f\x49\x73\xf5\x22\xd4\x53\xa8\xab\x52\x6a\x45\xcf\x7b\x52\x67\x25\xb6\xa7\x53\xa9\xf4\xb3\xb1\xdc\x2e\x14\x20\x26\xa6\x2f\x1c\xa4\x56\xe9\xa3\x86\xdf\x94\x7e\x0f\xff\x63\x24\xde\x0f\xe6\xff\x45\xfb\x4e\x86\x81\xf0\xab\x23\xfe\x4a\xed\x23\xf3\xfd\xa8\xb6\x36\x7e\xd5\xb5\xf1\x67\xfb\x88\xb9\xa1\xe1\xbb\x67\x5d\x19\xb2\x74\x6e\x78\x0d\xed\x15\xaa\x43\x01\x4f\xc7\x05\x21\x38\xbb\xbd\x12\x99\x84\x6e\xd8\x99\xd2\xf6\x05\xba\xe9\xae\x15\x39\xa6\x1c\xa2\x49\xfe\x73\xa8\x98\xc4\x6e\xbb\xa1\x47\xa7\x03\xd9\xf0\xaa\x80\xc9\xc2\x61\x8a\xbe\xcb\x3a\xe8\x1d\x61\xb8\x60\xf0\x89\xa6\x38\x2c\x3c\x4a\x11\xaf\xa5\x0d\x77\xd9\x0b\x15\x74\x3b\x7b\x7b\x83\x4e\x3f\x51\x0a\xd2\x2d\xd0\x8b\xf6\xd5\x64\x98\x53\x50\xb3\x63\xd5\x6f\x77\xd0\x7b\xec\x89\xda\x8a\x87\x08\xc6\xbc\x3e\xf0\x80\x50\xb3\x39\x79\x4c\x4f\x8b\x88\x57\xa8\xcd\xae\x42\x27\x8d\x46\x4d\x5b\x06\x6f\x41\x65\x34\xf8\xf0\x76\xe3\x43\xb1\xd5\xd4\xec\xd4\xd0\x7a\xce\x36\xdc\xb0\x22\xaa\x42\x74\x6d\x22\x2b\xa3\xa7\x7f\x2f\xd4\x33\x53\x50\x40\x5a\x09\x6d\x49\x5c\xfc\x06\x1d\x79\x50\xb3\xcb\xb8\x92\xdc\x8b\xfa\xa1\x48\x12\x74\xff\x86\xa8\x20\x8e\x18\xca\x5d\x00\x8e\x91\xb1\xc1\x3c\x41\x02\xf4\x90\x05\xe8\x86\xf3\x0e\x1e\xf4\xab\xce\x3a\x22\xcd\x04\x54\x0e\xcc\xae\xa3\x6e\x76\x15\xd0\x2b\x62\x7e\xb1\x94\x6c\x1a\xf8\xa3\x79\xf6\xfe\x57\x07\xf8\x82\x21\xea\xb0\x3b\xff\xdd\x09\x31\x72\xf3\x92\x6f\x56\xe0\xfa\x56\x50\xef\xf1\x41\x87\xd9\x93\x8a\xd7\xbf\xc0\xe1\x56\x7c\xed\xef\x99\x46\x75\x28\x9f\xfc\x69\x22\xf9\xb8\xdf\xc1\x9a\x0d\x2a\xe5\xd9\xc1\xa3\xfe\x58\x4f\xe8\x0d\x98\xfa\x30\x88\x6e\x94\x8d\xf3\x49\x66\x27\xe2\x10\x83\xc3\xf1\x79\xe8\x81\x41\xfd\x1c\x1d\x12\x6d\x84\x41\x25\x8e\x01\x95\x32\x29\xba\xbd\x9a\xd1\x8f\x46\xe6\x63\x47\x84\x99\x36\xb3\x89\x06\xc9\xde\x51\xa6\xec\x40\x9e\x3b\x01\x67\x6a\xf3\x5e\x2d\xf0\x39\xb2\xcf\x21\x1a\x38\x3d\x8c\x7a\x50\x37\x81\xe7\xe3\xc2\x89\x56\xd8\x2a\x06\xa7\xb2\x8f\x06\xf1\x6c\x6b\xb5\x5f\x3f\x57\xd7\x1b\xa8\x69\x4b\x53\xd3\xf7\x7a\xf1\x5f\x23\xe6\xe4\xcd\xc2\xe5\x70\x63\xb7\x9c\x99\xac\xea\xc6\xda\x6d\x36\xe3\x35\x07\x74\xd8\xea\xbf\xd9\x56\xdc\x72\x27\x9c\x9f\xc0\xf0\xc2\xae\xa4\x5f\x9d\x0b\x69\xaf\x04\x23\x54\x7f\x40\x63\xf0\x85\x1f\xcc\x5c\xb3\xce\x89\x5e\xe7\x1f\xe5\x1f\xe0\xbb\xb0\xa3\x17\xdd\xea\x4b\x83\x93\x5b\x3f\xfe\x9a\xe3\xeb\x06\x16\x4c\xa5\xee\x58\xab\x0a\xc1\x0c\xc2\xb7\x75\x03\x80\x84\xcc\xbc\x7a\x6a\xdc\x7b\xb7\x78\x2e\xcd\xfd\xe1\xdf\x16\x6b\xc1\x20\x21\xa6\x79\x6a\x3d\xbf\x3d\x13\xa7\x8b\x7b\x3a\x35\x33\x48\xcc\x25\xbd\xd1\xee\xb2\x91\x27\x2d\xfe\x0e\x6b\xa8\x21\xc3\xd6\x53\xa0\x99\xe2\x57\x97\x86\x8f\x19\x3b\xbe\xa6\xce\x3f\x1b\x1c\xb3\xc5\x2d\xfb\x6e\xf2\x34\x33\x4c\xa3\xe7\x99\xad\xc5\x6f\x87\x9c\x60\x04\xa9\xe5\x64\x39\x4e\x17\x2a\xfc\xc6\x5d\xff\xe0\x61\x93\x24\x80\x92\x67\xae\x81\x79\xc6\x01\x4d\xe4\xd5\x03\x6d\x39\xc7\x9e\x2e\x7a\x8f\x87\x2b\x61\xbd\x6e\x7a\xc2\x14\x5b\xf0\x10\xe7\x46\xc8\xe3\x82\x20\x3a\xe0\xd4\x29\x6d\x7d\x82\xfe\xd8\x50\x80\x44\x0c\x8c\x5b\x46\xcb\x2b\x24\x6e\xbe\xc8\xd0\x60\x91\xd8\x0c\x66\xd6\x8c\x6d\x99\x58\x50\xbc\x71\xb6\x71\x04\x87\x0c\x53\xf5\xc4\xa5\x86\x83\x33\xdf\x83\x7c\x42\x8c\xbc\x19\x56\xd5\x35\x5d\xab\x45\xae\x32\x4c\xdb\x8f\x3d\xad\x71\x14\x82\xe7\xbd\xaf\xe3\x27\x4e\x41\x6f\xb2\x8e\x03\x18\xb9\xd8\x98\x06\x57\xc6\xb5\x28\x6e\x96\x75\x83\xb7\xab\x04\x7a\x98\xf3\x02\xb5\x36\x73\xbb\x60\xe0\xa6\xa9\x72\x18\x76\x2e\x1d\x8e\xc6\xf5\xd0\xdc\xf1\x7c\xfd\x9b\xf9\x25\x81\x97\xfe\x2a\x31\xc3\x90\x25\x2d\x89\xa3\xc5\x95\x8c\xc8\x2d\xf9\x6d\x45\xe5\x1e\xcb\xbd\xd9\x05\xfd\xdd\x2f\xbf\xfc\x0d\x68\xbb\xb7\xd9\x96\x8b\x89\xdd\x62\xee\x06\xee\xb0\xf6\x01\x7f\x19\x7c\x60\x4b\xdd\xb3\x94\x72\x42\x06\x2c\xb2\x1e\x59\xc0\x25\xbf\x2e\x6c\x10\x8f\xf9\x0a\x2c\x73\x9f\x43\x96\x82\x38\x3c\x72\xd8\x60\x5e\xd9\x1b\xcc\x3d\x9c\x2d\x3f\xec\x38\xb1\xd3\x62\xbe\x38\xca\xd2\xb2\x98\x2a\xb1\x4a\xce\x28\x3f\x0b\x7f\x4c\xe2\x51\x14\x22\x6d\xa9\x46\x60\xba\x8b\xa2\x48\xc6\x86\x62\x48\xbf\xe8\xb7\x15\xe9\x04\x81\x89\x0e\xcf\xba\xa8\x3a\x35\x17\xcd\x1d\x9c\x76\xbc\xe9\x6c\x72\x9a\x8d\x80\xb4\x28\xd6\xc2\xef\x21\x68\x48\x75\xe5\xd6\xdb\x3c\x71\xb2\x0d\x3c\x2b\x2f\x2a\xb1\x6e\x46\xa6\x00\xf0\xce\xe6\xfe\xce\xe7\xd9\x88\xba\x8d\x35\xaa\xa7\xe7\x9a\x70\x0f\x9b\x28\x65\xc7\xc5\x79\xb7\xd3\x40\xee\x3b\x34\x82\xdc\x2e\xa2\x6b\x2c\xc6\xa7\xf2\x0a\x58\x9e\xa9\x22\x0b\x85\x05\x7c\x04\x46\xfb\x40\x46\xdf\x12\xe7\x61\xe2\x49\x54\xd5\xbc\x11\x01\xd5\xdc\x0b\x4f\x5a\x2d\x19\x69\xe9\x95\x63\x66\x55\x38\x29\x3e\x59\xee\x89\x5c\x62\x38\x0d\xc5\xdf\x99\xf6\xa6\x9f\x08\xef\x5a\x88\x2e\xfe\x74\x76\xed\x01\x48\x9c\xc4\x18\x2e\x02\x4e\xc4\x3f\x29\x81\x90\xe8\x26\x43\xd4\xd5\xe2\x85\xae\x11\x05\xd5\xb2\xdc\x8b\x6c\xa8\xf9\xd3\x0d\xe4\x4d\x57\x03\x44\x4e\x94\x2b\x90\xce\x93\x1f\x93\x6d\x34\xee\x79\x4a\x41\xda\x1c\xad\x63\x13\xa9\x91\xdf\x2b\xfb\xa0\x71\x0e\x59\xb0\xee\x97\x16\xfa\xd1\x30\x35\x18\x92\x85\xee\x4d\x46\xa4\x82\xff\xfc\x7c\xf2\x60\x5b\x42\xbd\x6a\xb4\x71\xd2\x87\x0e\xed\x47\xe3\xc2\x10\x51\xb0\x62\x17\x37\xf5\x3c\x57\xae\x11\xef\xa1\xca\x87\xf7\x50\xc5\xfa\x81\xde\xe1\x62\x5a\x73\x14\x8f\x91\xea\x05\x27\x0d\x0a\x38\xeb\x07\xa6\x44\x01\x34\xc6\x7b\xe6\xaf\x43\x84\xdd\x81\x9f\xfe\xed\xf8\xf0\xf5\x06\x5d\x98\xf9\xd9\x4d\x17\x3e\xf4\xea\x35\x19\x76\xc8\xca\x9d\x83\x02\xb8\xbe\x74\x78\x07\x58\x7b\xf4\x75\x86\xb7\x60\xb4\x49\xe4\x4c\x91\x27\x07\xcd\xc1\x1f\x81\x5c\xbe\x3b\xeb\x38\xa8\xe5\x4a\xf4\xa6\x3a\x87\x07\x70\xa4\x0c\x2b\xc4\x50\x73\x17\xcc\xe8\xcc\x50\x7f\x60\xf8\x01\x7a\x7c\xcc\x59\xdc\xd8\xd8\xe0\x3a\xb6\xea\x19\x47\x89\x0b\x35\xa0\xf2\x99\x47\x43\x74\x80\xe1\x83\xd0\xc3\x79\xc1\x7e\x72\x5e\xfc\x6e\x5f\x9a\xa2\xb3\xde\x41\xb5\xd0\x82\xfc\x13\x18\x57\x98\xb6\xc0\xc6\xd2\x8e\xb2\xf2\xc7\x24\xf9\x37\x70\x30\xe0\xb0\x44\x11\x2b\xdd\xb8\x50\x91\xc0\x96\x67\x34\xa1\x67\xf3\x39\x40\xbf\x74\x31\x00\x12\xc2\x10\xb7\x3a\xbd\x7e\xd2\xc5\x50\x48\xf8\xe7\x08\xff\xf9\xe6\x15\xfd\x2b\xb3\x91\x89\xd0\x58\x77\xf7\x0d\x97\x3a\x33\xbf\xa3\xf6\x16\x74\x81\xc8\x56\x07\x46\x70\x78\x99\x45\x3d\x0c\xe0\x5d\x22\x03\xd8\xa6\x5c\x14\x24\xf4\x50\x61\xae\xe3\xc4\x02\x2d\x56\x23\x89\x77\x92\x2d\x88\x25\xaf\x5e\x28\x78\x6c\x55\x50\xf9\x96\x1f\x55\x1e\x27\x26\xa6\xf3\x8d\x14\x04\x75\xb6\xfb\xbc\x77\x67\x98\x4e\xf5\x87\x40\xd2\x80\x0c\x7b\xd3\xcc\xcb\x5f\xc0\x6e\xec\xda\x77\xc8\x10\x24\x1b\x7a\xd9\x3e\x78\x59\x7c\x62\xb4\x73\xb1\xa5\x9a\x5d\x3e\x7e\xb5\x79\xf4\x4a\xca\xec\x8b\xec\x44\x49\xd2\x71\x3d\x71\xce\xc4\x76\x6e\x9b\x47\xf8\x4f\xec\x33\x93\xec\xd2\xd5\xf6\x0a\xfa\xe9\xee\xbe\x02\x95\x7a\x15\x26\x68\x83\x2a\x7e\x6b\x2a\x1e\x60\xbe\x1f\x2e\x7f\x70\xf4\xaa\xc7\xdf\x06\xd0\xea\xb1\x79\x87\x36\xd9\x0c\x64\x76\xeb\xa8\xb9\xb9\xed\x2d\x53\x65\x77\xb9\x28\x26\x88\xa3\xf7\x3a\xbb\xc2\x2c\x25\xdd\x97\xaf\x5f\x59\x51\x49\x09\x82\x70\x14\x96\x5e\x8c\x27\x4f\x0f\x94\xa1\x65\x3e\x66\x18\x21\xba\x1f\x6a\x2f\x5e\x10\x89\xcc\x4a\xbf\x0a\x8c\x4e\x43\xc1\x1e\x5c\x28\xcf\x29\xb2\x4c\x99\xeb\xe1\xdb\x8e\x87\x2b\xae\x3d\x05\x69\x3d\x5e\x91\x89\x44\xb4\x5f\x5a\xfe\x97\x36\xb6\xb7\xea\x1b\x81\x45\xd8\x4b\xe7\xf3\x3c\x3d\xcf\xc8\x91\x36\xde\x58\xcd\x45\x29\x4e\x33\xc1\x3d\xae\x97\x0a\xa9\xeb\x95\xbd\x26\xf1\x5e\x24\xea\x0d\x29\x72\xce\xf2\xa5\x22\xcd\x30\x98\x7b\x15\x31\x52\xb4\xdd\xa6\xf9\xcf\xd1\xf1\x49\x4b\xa2\x04\x12\x02\x72\x98\x41\xa0\x2f\x29\x61\xc9\x2f\x0f\x48\xd5\x08\xb7\xa6\xb1\xbd\x3f\x59\x6a\x63\x2a\x7e\x7f\xe7\x43\xf2\x2c\x2b\xcd\x9e\xc3\xd0\xde\x1e\x63\xcc\x28\xb5\xac\x03\x40\xcb\xe4\xc5\xd6\xfa\x8b\xfb\xd8\xc8\xae\x21\x2e\xba\x56\x31\x98\xf3\xae\x3b\xf8\x04\xfc\x34\xe1\x57\x9b\x7e\xbb\x0f\x7a\x9e\xfb\xdb\x09\x7b\x42\x11\xd5\xc3\x50\x0e\x5f\xea\xb1\xc0\xc1\x78\x7f\xfd\x21\x39\x9e\x14\x85\xb9\x9c\xbb\xc7\xe3\xe2\xaa\x97\x1c\xa3\x3b\x0f\x96\x3f\xde\xf3\xca\x3f\x30\xe5\x8f\x32\x4a\xb6\x42\x88\x50\x54\xe8\xb5\x2e\xf4\xd0\x14\x3a\x9c\xe7\xe7\xb9\xea\xf7\x50\x17\xf8\xce\x14\x78\x37\x4f\x67\xec\x34\x66\x0b\xed\xbe\xd3\xa5\x1e\xf1\xd8\x80\xc6\xd6\xe7\xd9\x2c\x33\x3c\x8c\x5d\xd2\xdd\x23\x5d\xf4\x7b\x5e\x52\x38\xc6\xec\x3f\xf3\xe7\xe4\x0f\xc9\xbf\x83\x6f\x01\xfb\x9c\x20\xca\x88\xad\x31\xd8\x92\x89\x5f\x00\x56\x81\x11\x8b\x4f\x0d\x9f\xd2\x9d\x5f\x5f\x2e\x5c\xb3\x74\x33\x20\x76\xe9\x53\x40\x0c\x80\xfb\x98\xb7\xb6\x9b\x2e\x16\x0f\x07\x5b\xaa\xec\x23\x1e\xc2\x1b\xb0\x3d\x60\x0a\x87\xe4\x0c\xb4\xa0\x30\xd8\x37\xcf\x9f\xab\x92\xdf\x4b\xd7\x86\x56\xd1\x52\x41\x4e\x77\x88\x55\x70\xb6\x44\xa3\xe3\x3c\x33\xfc\x19\xd6\xdc\xff\xb3\xab\xb9\x0d\xab\x8f\x03\x96\x51\x98\x12\x27\x7b\xfb\x6a\x25\xee\x6f\xc9\x4a\x40\x31\x72\xcb\x8a\xcc\xec\xfe\x03\x1e\xc3\x3e\xf2\x07\x98\x81\x74\x1d\xfd\x18\xf1\x15\xe3\xbb\xa5\xac\x54\x7b\x64\xab\x01\x81\x9e\x64\x9f\xcc\xab\x34\xcd\xaf\xdd\x0e\x9e\xec\xff\xc9\x15\xff\x16\xaf\x49\x44\x83\x78\xb4\xc5\xf4\xf8\x4a\x53\xe9\xb7\x03\x1e\x2d\xa8\x4a\xba\x86\xe1\x3d\x33\x6d\x75\xcb\x8c\x80\x1a\x32\x84\x0b\xa4\xf4\x1e\xae\x8a\x9c\x1e\x1e\xf9\x6b\x3a\x71\x47\x19\x86\x18\x63\x50\xd0\x9e\x7f\x82\x60\x58\xaf\x8f\xf6\xd4\x22\x7d\xfb\x2d\xb7\x71\x02\x5c\xf4\xa1\xa1\xd2\x14\xfc\x25\x51\xef\xe5\x0a\x29\x52\x5f\xbf\xf2\x89\xd5\x15\x7a\x28\x7b\x89\x54\xf2\xb2\x38\x3f\x27\xdb\x15\x7f\xfe\x8e\x3b\x02\xa4\xc3\x5d\x70\x57\xc0\xe3\x7e\x4c\xfb\xfb\xd4\x46\x3c\xd0\xa9\x79\xc8\x85\xf5\x4d\xf2\x29\xbb\x99\xa5\x44\x44\xaf\xf5\x25\xf2\x10\x5a\x86\x84\x0e\xe6\xee\x35\xcb\x8b\x4e\xaa\x86\xf6\x4b\x54\x22\x51\x9e\x59\xa8\xf3\xd4\xd5\x81\x68\x65\x7e\xe8\x9a\x4e\x08\x01\xb9\x92\x4b\x99\x79\x02\xbb\xd5\xf8\xe4\x9e\x6d\x6f\xa0\x66\xf7\x53\x3e\x06\x74\x0e\xdf\x29\xd8\x75\x0d\xbb\x06\xc5\xf6\x40\xb5\xf8\xaa\xe0\x97\xdb\x2b\x1b\x76\x06\x2e\x65\xae\xaf\xfb\xde\x4a\xd6\xb5\x61\x8b\x7f\xab\x2f\x84\xe7\xc5\x70\x59\x1e\x4c\x37\xf1\xbf\x87\x20\xe2\x5b\x8f\x66\x2a\xfd\xc0\xa7\xa9\xfd\x6b\x46\x3d\xa4\xd6\xd5\x8e\x0f\xb6\xf0\xe2\xe0\xfb\x11\xd4\x71\x85\x59\xba\x09\xba\x30\x2d\x6e\x40\xab\x0b\xdc\xb3\x77\x6a\x4c\x95\x41\x4d\x15\xd8\x35\x5a\xf4\xa0\xc6\x7d\xb9\x96\x9d\x4f\xd5\x37\xe0\x45\xfc\x0d\x54\xe9\x13\x59\x3b\x76\xda\x55\x0b\x4e\x35\x66\x98\x21\x56\x8c\x51\xb4\xe0\x81\x31\x74\x88\x9b\xfc\x7a\x39\x79\x09\xa6\x6d\xf6\x7c\xe3\x26\x1e\x0a\x8d\x80\x4a\x18\x51\x31\xd0\x2d\x99\x9b\x00\xe1\xd1\x94\x77\xc5\xbf\xd3\xeb\xfc\x6c\xff\xa5\x03\x33\xc9\x46\xc8\x12\xaf\x33\x05\x3f\xcb\x50\x01\xeb\x55\xfe\xbe\xd2\x17\x8c\xad\xa6\xab\x6f\xe5\xc6\x46\x17\xd4\xd2\x34\x47\xfc\x1f\xec\x25\xb0\x18\xc0\xa7\x5d\x98\x35\x19\xc3\xba\x10\x1b\x45\xf5\x06\x5c\xef\x2d\x43\xf8\x18\x22\x7e\xf3\xf4\x70\xf7\xe8\x99\x6b\xc4\x15\x0e\x6e\x97\xb7\xf3\xf3\x6c\x3a\xbc\x49\xae\x8c\x94\x64\x8e\xd9\x24\x9d\x1a\x3e\xc7\xc8\xb3\x39\xc6\xd7\x83\x0c\x4d\x8c\xf9\xfa\x0b\x50\xa0\x0a\xa2\x8b\x6b\xee\xbe\xdf\xdc\x3c\xcd\x4b\x05\x3e\xcd\xad\xb6\x69\xa8\xfd\x45\x62\x0a\xc3\x2d\x0d\x00\x0d\x02\x77\x93\x96\x1a\x9e\x81\x0b\x7d\x5f\x5f\x88\x18\xd6\xfa\x9e\x8c\x50\x60\xee\x87\x39\xc2\xe6\x28\x36\x04\x94\x93\x60\x07\xdc\x48\xba\x28\x87\x31\xac\xa5\x11\x11\x53\x74\x53\x38\xbd\x21\xa1\xc9\xdc\x13\x07\xd3\x8b\x1c\xe4\x1a\x77\xbf\x73\x56\x32\xd5\xdc\xb0\x98\x9c\x1a\xae\x9a\xac\xc2\x19\xc6\xdb\x95\xb2\x72\xb8\x22\x30\x4a\x9c\x2d\x71\x76\xbc\xc1\x39\xc1\x26\x79\x4d\x2d\x18\x0b\x71\x9d\x90\xd5\x53\x77\xc1\x96\x1e\x66\x1e\x34\x6d\x1a\x9e\xe8\x03\xff\xc0\xbe\xa8\xd9\xc2\x36\xb4\x09\x7f\x19\xa6\x33\xfb\x54\x02\x99\x07\xf5\x06\xea\x99\x3f\x5e\x4e\x9b\x8a\x6e\xab\xa2\x3f\xbd\x69\x2a\x79\x5f\x37\xba\x77\xd8\x50\xf4\xe1\x96\x2a\x3a\xce\xce\x53\x43\xc6\x12\x6f\x90\x64\x68\xb6\x81\xe3\xd3\xfd\xf3\x60\x70\xf4\xd0\x5d\x3d\x0f\x07\x6a\xba\x3f\x9f\x6c\x1b\x51\xa7\x5a\xcb\x8a\x41\x78\xcf\x42\xc9\x53\xb8\x81\x33\x60\x92\x21\x2e\x2e\xb3\x43\x81\x82\xd0\xda\x7a\x52\x8b\x99\xda\x17\x42\x61\x6b\xed\xd9\x12\x92\x0b\x60\x17\x30\xfc\xf5\x1a\x31\xac\x4e\x46\x32\x14\xbc\x52\x44\x12\xd7\xfd\xa1\x82\x65\x27\xe7\xdb\x41\x67\x87\x20\xd3\x90\x69\x67\x19\xbb\x2e\x68\xc3\x91\xd1\x9e\x04\xc0\x61\x27\xf5\x2e\xd6\xf7\x55\xf3\x86\x11\xe7\x72\x56\x40\xaa\x03\xed\xd3\x46\xdf\x8a\x08\x46\x78\xd8\x04\xb1\xf1\x23\xf2\x58\x3b\x86\xdd\xd2\x4e\xd3\x7e\x15\x3c\xbb\x3f\x15\x93\xcc\xf9\xe4\x47\x5a\xfd\xf9\x84\x5e\xac\xa3\xec\x1c\x11\xee\x0d\x5f\xda\x97\x04\xfe\x54\xe5\x73\xed\x2c\x1f\xb8\x59\x82\x64\x10\x5d\x45\xd3\x05\x33\x57\x28\x46\x28\xa9\x31\xde\xe6\x43\xd7\xe6\x61\x6d\x8b\x24\x74\x04\x22\x6d\xbc\xbd\xef\x5c\x7b\x46\xea\xa8\x6b\xd0\x09\x29\x2b\x1b\x1c\x6c\x73\x8b\x24\x19\x84\x5b\xab\x40\xc3\x7a\xf5\xab\x4e\x74\x84\xc2\xc6\xca\x0e\xb7\xd5\x32\x83\x10\x50\x37\x07\x6a\xf3\x67\xc2\x17\x5a\xd9\xea\xb7\x5b\xdc\xea\xb4\x58\x07\xfe\x21\xda\x6a\x03\xb8\xe4\x8a\x03\xf0\xed\x83\x16\xcd\x3b\xda\xb8\xc5\xfa\x3f\x54\x3b\xfa\x74\xd5\xd1\xb5\x5c\x32\xb0\x1f\xe5\x53\xcb\x33\xaf\x1c\x3f\x70\xd1\xdc\x0f\x87\x43\x14\xe2\x6e\x8f\x4e\xfb\x16\xed\xc7\xf5\xee\x47\xe2\x75\x95\xde\x4e\xce\x6c\x35\x9c\x82\x80\x80\x76\x9a\xa2\xdd\x1a\xc7\xb8\xdd\x3c\x46\xf4\x30\x9b\xa7\xe7\xe5\xaf\x1d\x27\x86\x7d\x7c\xf1\x30\x07\xb2\x94\xc0\xfd\xc6\x29\x01\xef\xa0\xc3\xe9\x21\x31\xd6\x2d\xb6\x67\x30\x68\xdb\x26\xa8\x12\x0c\xcb\xf5\xa9\xd5\xae\xdf\x7f\xd8\x82\x6e\x2d\x79\x01\xaf\x8e\x94\xc5\x08\xcf\x6d\x3a\xf8\x3e\xda\x01\xe1\x63\xd8\x87\xcb\xfd\x78\xa7\xa6\x6b\x50\x7e\xe7\x66\x27\x0d\xeb\x86\x23\x78\x77\x91\x2e\xbc\xf7\xa3\x76\xd0\xd1\x9a\xc9\x13\x55\xb1\xa1\x72\xaa\x2a\x3d\x5e\xdd\x97\x2e\x8e\x26\x5f\x5c\xa7\x8e\xab\x29\x8f\x4b\xa8\x42\xfc\x82\x09\xb7\x1a\xc2\x5a\x8b\x39\x46\x7b\xaa\x7b\x42\x57\x2d\xab\x85\xc0\xd1\xb3\x8d\xdc\x97\xdf\x79\xb1\x41\xc0\xf7\xb6\xbb\x40\x2d\xeb\xde\xea\x35\x04\x36\x9a\xdb\xad\x17\x1c\x5c\x47\x2a\x24\xd9\x22\x08\xf8\xad\x09\x35\x23\xa3\x7e\x8f\xd8\xf4\x7b\x24\x36\x6c\x34\x91\x76\x6d\xf3\xf1\x55\x5e\x31\xd1\x28\xeb\xe3\x5a\xab\xf8\xca\x7d\x49\xe3\x7a\xb0\x1c\xb0\xdf\xad\xfa\x35\x46\x9e\x6f\xc3\x3c\xf3\x22\x3d\x8d\x33\xcf\xf1\x21\xd9\xc2\x6f\xa0\x6c\xc3\xce\x06\xa1\x62\xab\xcd\x95\xcd\x7a\x78\xad\x4a\x8f\xa8\xe3\x55\xef\x81\x6e\xde\xa2\x62\x95\x17\xe9\x9c\xc4\xc0\x88\xf7\x37\x3c\x49\x61\x62\x08\x32\x5b\xa7\x94\xbc\x27\x6e\x1e\x61\x4b\xa0\x8f\x09\xf0\x59\x67\xe3\x18\x8f\x5d\x5c\x7a\xa4\x5f\x86\x9f\x26\x53\x40\x2a\x08\x28\x1a\xc3\x84\x9c\x93\xa7\xc3\xf1\x72\xc4\xc2\x68\x18\xd3\x81\x5a\x05\x9b\x42\x80\x94\x8e\x25\x7a\x6b\x63\xac\x47\xc2\xf0\xa0\x18\x0e\x02\x26\x1f\xf4\xd1\x06\x47\x51\x41\x21\x16\x30\x61\x11\x6f\x4d\x2b\x84\xef\x0b\xa5\xc5\xb2\x46\xe2\x11\x34\x62\x67\x0f\x7a\x93\xa1\x9d\xa1\x76\xd2\x23\x4b\xec\x64\x9a\x01\x56\xea\x10\x4d\xb9\x09\x86\x34\x95\xd6\x37\x20\x15\x47\xb9\x85\x85\x32\xb7\x68\xdb\xac\x8d\xa0\x15\x44\xe1\x9a\xac\xc5\x82\x85\x3c\x72\xde\xfa\x94\xb7\xe5\x0c\xb1\x06\xa7\x14\x98\xa5\x46\x9c\x4e\x6f\x78\x52\xd0\x96\x0d\xaa\x32\xec\x47\x31\xb4\xe8\xe8\x7a\x43\xcd\xb8\xcd\x6e\xd6\x6f\xa1\x05\x60\x26\xf4\xbf\x79\xc6\x23\x76\x44\x63\xbd\x04\xd1\x3b\x6e\x9f\x74\x1e\xaa\x07\x58\xb4\xa6\x1e\xc0\x13\xa2\xdb\xe0\xa4\xdf\xab\x66\x2e\x21\x2c\x5c\x37\x84\xd3\x0c\xd4\xc9\xd8\x3f\xba\x56\xbe\xef\x90\xe1\x06\x04\xdd\x05\x38\x44\x22\x68\x55\xc1\x2e\x82\x1a\x28\xde\x5b\x0a\x33\x90\xa6\x81\x02\xba\x72\xf7\x90\x32\xbc\x98\xe9\x1e\x13\x98\xb2\xb5\xf3\xdf\x7a\x94\x1f\xcc\x28\xcf\x0a\x60\xed\x25\xef\x8e\xf5\x1f\xe1\x78\x6b\x04\x00\x82\xa6\x04\xfd\xd0\xf9\x28\x9a\xf2\x1c\xbf\x7f\x7c\x02\x33\x7b\xba\xff\x32\x98\xce\xe1\x8a\x75\x47\xd7\x93\xca\xa0\xdf\x81\x72\xcc\x0c\x13\xbf\x4e\x50\x90\xa7\xd4\x00\x7e\xa2\x18\x51\x32\x05\x7d\x62\x2d\xbf\xd3\xd7\x60\x61\xe9\xbe\x7e\xfb\xd2\x5a\x6a\x8f\x9b\x2d\xb0\x86\x22\xdf\x83\xa5\x7e\xab\xf3\x41\xdd\x33\x49\x70\xd1\xec\x4f\xff\x73\x99\xcf\x6f\x92\xee\xfe\xeb\xff\xed\xdc\x65\xe7\xe9\xb4\x04\x9c\x61\xf3\x9f\xab\x6c\x8e\xae\xa4\x13\x73\xdb\xa4\xe7\x99\x3e\xac\xe2\xbd\x59\x2d\x05\x33\x47\x2c\x0d\x74\xb7\x9d\x12\x1c\x11\xaf\x7e\x1f\x60\xcd\xaf\x32\x84\x5c\x70\x17\x24\x3d\x18\xf1\x19\x3c\xc0\x19\x04\x77\xa7\x02\x42\x82\x2d\xb5\xbe\xbf\xbd\x9a\x46\xbe\xf3\x96\x41\x43\xb0\xd8\x57\x0a\x46\x07\xed\x04\x50\x8b\x4e\xcc\xea\x3e\x3d\xb6\x6b\xf4\xaa\xb8\xf4\xb0\xb9\xf9\x7a\xa2\xb4\x19\x53\x0d\x46\x25\xe8\x4b\x7d\xc9\xa4\x4e\xa8\xb1\xa9\xf5\x28\xc6\x3a\x13\xb4\xe5\x40\xa2\x13\x0e\x95\xc7\xe7\x76\x5a\x20\xa6\x2c\x50\xda\x10\x3a\xaa\x99\xdc\xa3\xd5\x93\xa3\x61\xbe\x34\x5d\x85\x0e\xd8\x3f\x15\xf3\xfc\xaf\x00\xaf\x3b\x4e\x4e\xd2\xd3\xa4\xfb\xd3\xc9\xaa\x49\xa2\x0f\xe7\xc2\x94\x35\x6c\xc3\x8c\x50\xa6\xe8\x03\x45\x74\xd1\x54\x48\xb9\x6d\x06\x35\x07\xba\x87\xd6\xa4\x06\x91\x3e\x67\xec\x95\x30\x6a\xf0\x44\xa8\x99\xdd\xf7\xab\x67\x77\x56\xcc\xcd\xe3\x3f\x32\xe3\x3f\x36\x1d\x04\x1b\xf8\x12\x9c\x1c\x9e\xa3\x51\xf3\xe5\xf3\x9e\xf7\x3e\xa2\xb3\xc0\x30\x5d\x96\xa8\xb7\x47\x6f\x08\xb4\x7e\x62\x86\x3c\xca\x20\x30\x55\xe9\xa8\x20\xed\x86\x79\x20\xad\x0b\x05\x1e\xcc\xd0\x8b\x22\x32\x83\xb4\xd5\x0c\x26\x30\xc6\x60\xec\x3f\x67\xe6\x51\x18\xca\xd6\xfc\xec\xb6\xc6\x9a\x58\x08\x60\xe2\xe5\xf3\x9a\xae\x4f\xfd\xc3\xa3\x46\xa4\x58\x1d\xb0\xfa\xd2\x02\x3d\x7f\x7e\xeb\x1e\x86\x5f\x3c\x39\xf1\xc0\x10\x2c\xb3\xee\xde\x91\x4f\x7a\x91\xb3\xc5\xc4\x55\xf8\x21\x32\x0d\xd4\x33\x5a\x3d\x3c\xab\x6d\x22\xdd\x50\x77\x2b\xf0\x1b\x02\x03\x73\x02\x06\xb8\xee\xf1\x21\xf8\x32\x7c\x4a\x13\x34\x41\xd1\x87\x2d\xb3\xf5\xc7\x83\x9e\xef\xa2\x91\xbc\x18\x04\xc9\x59\xcc\xa0\x5f\x84\x6f\x8b\x8c\x31\xab\x1d\x23\x43\x2d\x0d\x3a\x91\x11\x1d\x98\x15\x3b\x3e\xa8\x19\xd0\x56\x65\x40\x5b\xb7\x18\xd0\xd9\xaa\x01\x6d\xf9\x03\xb2\x2f\xc6\x21\xa8\xe6\x0f\x5f\xdb\xce\x6b\xd5\xe7\xf6\x18\x7a\xb0\x3f\x07\x52\xe0\xc7\xe8\xb8\x06\x83\xe6\xa7\xc0\x0d\xe3\xec\x0c\xc6\xa1\xa8\xf9\x2b\x0f\xe4\x7e\xf3\x40\xf6\xc0\x99\xd6\x3c\x48\x7b\xbb\x6e\x29\x0e\xce\x12\xbc\xf0\x46\x4b\x8a\x79\xb7\x6c\xbd\x73\x20\xd6\xee\xc4\x98\x66\x63\x32\x81\x88\xf7\x45\x36\xbe\x51\x4c\x0b\x34\x26\x3c\x6b\x76\x9d\x0d\x97\x6a\x16\x07\x0b\x02\x4c\xe2\x3b\x0d\x6d\x50\x00\xb2\xa1\xf6\x9e\xa2\x31\x18\xd4\xa2\x8e\x6d\x18\x04\x4f\x4a\xe8\x1e\x6b\x9d\x29\x21\xa0\x17\xa8\xce\x72\xfa\x15\xca\xef\x53\x01\x78\xf6\x90\x47\xc0\x40\xcf\x62\x8d\x13\x3c\x39\x36\xa2\x02\x21\x6f\x45\x3f\xa0\x39\x3a\x05\x9e\x43\x97\x07\x43\x06\xba\x88\x16\x2e\xcf\xfe\xc1\xa7\x80\xdb\xce\x8f\x9d\xe0\xc0\x83\x67\x73\xbe\x30\xeb\x6a\x0e\xd8\xdb\xa7\x75\x37\xa2\xd9\xdc\x9a\xc5\x4b\xa3\x97\x2e\xac\xa9\xe2\xbc\x48\x6a\xec\x1a\x16\xb6\xe6\xd9\x18\x9c\x36\xef\x81\x0b\x5e\x87\x0f\xa6\x9d\x4a\x89\x78\x20\xac\x02\xa2\xec\xea\x48\x04\x8e\x08\xa5\x08\x05\x96\x8d\x15\x2e\x59\x25\xba\xcc\xf4\x58\x13\x5d\x46\xed\xa9\x2e\x05\x65\x43\x46\x2a\xcd\xb7\x09\x23\x0b\xbd\xd9\x19\x6a\x44\x9a\x0a\xd0\x1a\xd0\x5c\xdf\x7d\x56\xcb\x08\x7e\x77\x56\x77\x72\x37\x93\x47\x49\x3c\xf3\x8f\x40\xb6\xe7\xf3\x68\x06\x9e\xbe\x39\x4f\x46\xfa\x00\x77\x63\x07\x2a\x03\x09\xad\xbb\x07\xaf\x9f\x59\xe2\x79\x99\x7f\x02\xce\x09\x99\x85\x3e\x49\xa4\x9f\x04\x95\xea\xcf\x96\x49\x8c\x8e\xf9\xd1\xb7\x30\x66\x4f\x14\x7c\xdf\x79\xb6\xfa\x5d\x83\xae\x22\xcf\x2e\x06\x9a\x22\x53\xd4\x7d\xbd\xff\xb2\x66\x80\xe0\xdf\x3c\x2a\x32\x40\x41\x03\x40\x2f\x7c\x61\x6b\xd8\xcf\x47\x0f\x22\xc3\xdb\xff\xb2\x67\x37\xce\xb6\x3e\x2b\xae\xa6\xcd\x6c\xab\xd8\x85\xc1\xa8\x6b\x38\xd8\xe3\x9a\xdd\x7f\xf4\x28\x32\xd4\x9f\x5a\x0d\x55\x78\x4b\xff\xc3\x79\x30\x87\x5e\x08\xd2\x4a\x3e\x87\x4c\x0f\x47\x07\x3e\x7f\xb3\x9c\xa1\xac\x50\xcf\xbd\x3c\x1a\x45\xc6\xfb\xaa\x85\x28\x43\xfd\xbe\x8c\x13\xc0\x31\x69\x8b\x88\x5b\xd8\x36\x77\xdc\xf1\xb6\x93\x2a\xd1\xb9\x04\x04\xdb\x17\xdb\xca\x25\x0d\xd6\xd5\x87\x9a\x70\xd9\x65\x14\xb4\x79\xe3\x2b\x1b\x99\x5e\x16\x99\xde\xeb\xe6\xa7\xd5\x1b\xfc\x7d\x18\xfc\xfd\xd8\xe0\xef\xff\xf6\x83\x3f\x8b\x0c\xfe\xb0\x79\xf0\xcf\xb2\xcb\x7c\x98\x39\x2c\x05\xd2\x47\x80\x9b\xbf\x7a\x64\x18\x1d\x2c\x85\xf4\x47\x2e\x30\x91\x44\x0f\x6a\x60\x5d\x1a\x70\x2e\x8f\xe6\xf1\xe5\x54\xa4\x1b\x5f\xc0\xee\xec\x71\xde\x59\x57\x12\xc6\x05\xfe\xc4\xff\xfb\xf8\x98\xf8\x12\x50\x12\x73\xa6\xa0\x32\xcb\x26\xe2\x8d\x72\x3a\xae\x21\xdd\xef\xb7\x22\xcb\xf3\xa6\xf9\x45\xab\x8d\xa5\xad\xc4\x2b\x55\xf0\xa6\xe2\xb1\x6a\x3e\xd9\xa3\xb3\xa3\x21\x8e\x37\xf3\x62\x41\xae\xd1\xbb\xf3\x2c\x35\x24\xf4\x66\xd7\x2e\xff\x4a\xaf\x0d\x99\xde\xc3\xc8\xf4\x7e\x6e\xde\xfd\x7d\x8a\x59\x09\xbb\xdf\xff\x92\xee\xbf\x8b\x74\xff\x6e\xc5\xc9\x91\xf9\x0b\xd9\x1d\x1f\x1e\xdf\xbe\xe3\xd8\x0d\xfa\xe7\x56\x47\xd6\x1d\x48\x05\x1d\xd2\x3d\xde\x3b\xe8\x13\xcf\x6a\xc8\xed\xc0\xbd\x97\x2c\x13\x9e\x48\x60\xc6\xc1\x33\x73\x04\x0e\x4f\x41\xd1\xbf\xc8\xc8\x51\xd9\x4c\x85\xf4\x94\xc9\xb0\x63\x0e\xd1\x6e\xcd\xa5\xff\x7d\x1a\x19\xf2\xff\x59\x7d\x89\xfa\xe8\x71\x84\x9e\xf7\xe3\xe0\xf1\xf6\x30\x60\x17\x9b\x90\x51\xba\x7b\xc7\x07\x5e\x18\x3a\x20\x07\x10\xe6\xcd\x04\x32\xf6\x55\x92\x4a\x27\x0e\x30\xa5\x66\x36\xa7\x91\xd9\xbc\xff\x55\xe7\x2a\x0e\x69\x20\xc1\xc1\x35\x00\x06\xf2\xb9\xe9\x50\x02\x4c\x4b\x70\x04\x23\x81\xfc\x2e\xf6\x84\x23\xa8\xac\xa8\x03\x37\xe0\xe6\xe1\xf1\xde\xe6\x9b\x57\x9b\x90\xfb\x6d\x58\x4c\x26\x29\xb8\x0b\x93\x8a\xcc\xea\xa5\x05\x46\x4c\x6b\xa4\x91\xa8\x25\xb7\x99\xe4\x8d\x95\xe0\x2c\xc3\xe6\x51\x98\x18\x98\x0a\x7d\x0b\x81\xd7\x7f\x21\xba\xab\x70\x83\x10\x7f\xad\xe1\xe2\xe9\x70\xde\xbc\x9a\x3d\x1c\x46\xf6\xf0\x97\x5f\x9a\x4f\x51\x44\x65\x8e\xab\x81\x61\x61\x76\x0d\xf7\x64\x89\xe6\xd9\x98\x4a\xb3\xf6\xa4\xb0\xd5\x29\x7d\x61\xcd\xc8\x62\x0c\xc7\x87\x5f\x41\x5d\x15\x39\xe5\x30\x2a\xa7\x38\xdf\x80\x86\x45\xd5\xf5\x3c\xa8\x13\x85\xef\x60\xc5\x67\xc0\x18\xf5\x03\x6f\x75\x10\x99\xb5\x71\x36\x09\x2a\xb0\xae\xba\x9b\x77\x36\xde\x6f\x04\x6c\x9b\x60\x10\x28\xdc\x8a\x9b\x6c\xd1\xd0\x97\x6d\x02\xaa\x6f\x58\xf9\x0c\x70\x9e\x2b\xf1\xfb\x10\xac\x8c\x59\x65\xbb\x9b\xff\xb7\xfb\xcb\xe8\x5e\xef\x71\x77\xe3\x6e\xef\xff\xdb\x64\xab\x25\xc5\x34\xdf\xb8\xe1\x55\xab\x9b\x36\x4d\x89\xf7\xdb\x1f\x1e\x6b\x9b\xac\x13\xdf\x0e\x51\x7c\x83\x22\x83\x0f\x11\x04\xad\xc0\xca\x1c\xc4\xf9\x4d\x8d\xec\x93\x8f\xc0\x96\x13\x0d\x03\xad\x8e\xa6\x67\x61\x71\x56\x88\x74\x87\x81\x48\x87\xc6\xdb\xe1\x4d\xf2\x8a\x4d\x0b\xdd\x37\xaf\x6e\xff\x68\xc5\xf8\xcc\xff\xfb\x8f\xe4\x45\x74\xb0\x04\xe7\xa4\xb7\xef\x08\x04\x70\xde\x7e\x8a\x31\x6e\xf4\xe3\x3f\x72\x8a\x08\xce\x72\x8d\x31\x87\x6f\xa7\xe8\xc2\x80\x99\x7c\x11\x49\x9a\xa0\x02\x4b\x48\x35\x09\xae\x8f\x29\xfa\xd3\x1a\x19\x18\x9c\xfd\x6e\xac\xf5\x68\x25\x63\xce\xa1\x6c\xb6\xa7\xe7\xe8\xd6\x8b\x32\xc0\x77\x28\xcb\x7b\xe9\xa7\x55\xd0\x5c\x69\xde\x9d\xef\xf6\x06\x27\xe2\x40\x6c\x5b\x78\xe1\x5a\x78\xb4\xb2\x85\x47\xaa\x05\xef\xcf\xeb\xa7\x88\x60\xee\xc6\x9c\x96\xa0\x71\x49\xb0\x4f\xc3\xec\x5c\xa5\x37\x65\xfd\x06\x87\xb3\x7a\xc9\xce\xca\x18\x52\x68\xce\x21\xa2\xa6\xc1\x15\x37\x36\x52\xde\x38\x19\x84\x73\x78\xd5\x5c\x7e\x3b\x2c\xff\xba\xb9\xfc\xfd\xaa\x21\x1a\x08\x6e\x7b\xab\x35\x71\x31\xf5\xd4\x16\x6d\xa5\xa6\x6a\xe7\x0c\xd2\xe4\x0a\x22\x4f\xc3\x0e\x4e\x7d\x0b\xa6\x8e\xbe\x20\x17\x6d\x01\xd4\xf0\xe6\xd2\xda\xa6\xfd\x3d\x62\x40\x7f\xd7\xa9\x5a\x80\x29\x29\x81\x26\xd1\xdf\x61\x68\x20\x54\xe2\xb0\x84\xdd\xb1\x79\xe3\x31\xf6\xeb\x04\x84\x2b\x8c\x0f\x7c\xf9\xba\x4a\x51\xcf\x0d\x89\x94\x41\xe4\x36\x99\xbf\x3b\xc0\x8f\x20\xdb\x34\xce\x4f\xcd\xfb\x0e\x49\x92\x4f\x6f\x92\xcb\x05\x40\x46\x59\x89\x92\xec\xc3\xde\x48\xee\xf3\x48\x46\xc5\xd2\x48\x70\xeb\x17\x18\x96\x93\x90\xea\x67\x51\x00\x86\xf7\xf8\x0c\x07\xf4\xec\xa7\x97\xfa\x90\xfc\x0e\x43\x2f\xeb\x6a\x72\x8c\x50\x7d\xe5\x07\x5c\x99\xfc\x55\xd6\x31\xf7\x3b\xd9\xd8\x30\x1e\xf3\x5d\x50\xfc\xa1\xdf\x57\x50\xfc\xd9\xbb\x8a\x92\x0f\x69\xf3\x77\xff\x18\xc2\x64\xf5\xe9\x23\xab\x3b\x0d\x6c\x60\x66\x13\xbb\x66\xc7\x44\x43\x7a\x6b\x6a\x43\x4a\xfb\xbd\xa2\xb4\x7e\x60\xd0\x61\xc5\xa5\xa1\x88\xd5\xd2\x3f\xda\x00\xf4\xe1\xe8\xaa\xf2\x44\x2f\x3d\x45\x30\xbf\x4f\xfe\x17\x5f\x12\x07\xc7\x87\xc9\xa3\x47\x0f\xbe\x5f\x1f\x54\x14\xf6\xae\xf0\x0b\x2e\x4c\x98\xb9\x95\x72\xf8\x00\x42\x8a\x72\xf4\x88\xa0\xad\xf6\xfd\x22\xb2\xe1\x45\x51\x85\x8c\x5d\x61\xaa\x89\xd1\xc2\xef\xff\x61\xb4\x70\x47\x43\x47\xc2\x3f\x5e\x74\x2c\xbe\xf4\x2d\x91\x41\x68\x51\x45\xba\x89\xe3\x6e\x5c\xf4\xbe\xf4\x16\xf3\xf5\x64\xc7\x36\x42\xcd\x48\xe6\x4e\x3d\x40\x3b\xdb\x4d\xde\x94\xbc\xb5\x15\x73\x62\x17\xc3\xb9\xf5\xf9\xed\xa9\xd2\xa1\x35\xb4\x8b\x31\x3a\xff\x3f\x7b\x6f\xda\xe5\x28\x92\x24\x8a\x7e\xaf\x5f\xa1\xa9\x3b\xe7\x45\x64\x2b\x33\x05\x08\x6d\x9d\x5d\x5d\x0d\x08\x6d\x68\x47\x48\x82\xea\xba\x7d\xd9\x84\x90\x40\x20\x40\xeb\x4c\xcf\x6f\x7f\xbe\x80\x84\xb6\x50\x44\x56\xd5\xdc\x9e\x77\x5e\xe4\xd1\xc9\x08\x64\x98\x9b\x9b\x9b\x9b\x9b\xb9\x9b\x9b\xa5\xa1\xff\x94\x82\xa6\x9e\x42\x67\x53\xd0\xf9\xa7\xd0\x5f\xde\xa6\x24\x7f\x49\xf7\xd7\xb7\x29\xb9\x82\xce\xbd\x4d\x49\x02\x0d\x5f\x18\x9f\x2f\xe2\xf7\x91\x9c\xc7\x33\x8c\x48\x96\x85\xf8\xe2\xe3\x79\x44\xa0\x7b\x87\x76\xea\xab\x81\xba\x43\xae\xdf\x69\xa6\x31\xc8\xae\xb2\xe1\xdc\x15\xc0\x37\x06\xd0\xbb\xaf\xd2\xe9\x16\x33\x7b\xfe\x16\xc9\x02\x30\x57\xe2\xdb\xfa\x09\x04\xd2\xe3\x1b\xe0\x09\xc4\x7f\x73\x30\xe8\x01\xea\xe7\x9a\xbd\x5a\xd9\x61\xf2\x78\x08\x9f\xc0\xe0\xb7\xe4\xc1\xe0\xf4\x00\x9e\x72\xaa\x86\xad\x26\xf7\xaa\x04\xf0\x4d\xdd\x84\xb6\x43\xfc\x40\x86\xe9\x2b\x22\xe0\x28\x9c\x9e\xf0\xb0\x91\x22\xba\x56\x15\xec\x4c\x0b\x7c\x91\xab\xaa\xa9\xd6\x14\xc8\x49\x3f\xfd\xa4\x01\xdf\x80\xd7\x08\xc5\x9d\x69\x9c\x1f\xff\x84\x9e\xd8\x61\x78\xab\x4f\xfe\x20\x4d\xf2\x7a\xc7\xbe\xfe\x74\xe7\xd9\x9f\xee\x3c\xcb\xde\x79\xf6\xe5\xce\xb3\xaf\x77\x9e\xe5\x1e\x69\x30\x9c\xe3\xe4\xbf\x65\x4d\x8b\xb3\x9f\xdd\xf1\x35\x1f\x27\x04\xbd\x21\xea\xf5\x2a\xc3\xd7\x8d\x1b\x0e\xd3\x06\xaf\xde\xa8\x42\xf5\xe9\x22\xbb\xe8\x29\xcf\xc7\xeb\xcb\x4d\x24\xf6\xb3\xaa\x5a\xfa\xfc\xd7\xab\x60\xea\x0b\x8c\x9f\x5e\x60\xd1\xa3\xd3\x9f\x5f\xee\x34\xf0\xa4\x12\xd7\x93\x06\xfe\x74\xd9\xc0\xd7\x3b\x0d\x3c\xa9\xde\xf5\xa4\x81\xec\x65\x03\xb9\x3b\x0d\x3c\xa9\xf8\x95\x6e\xe0\x87\xab\x66\xde\xce\x8a\x72\x95\x49\x2e\xd9\x2a\xb8\xd4\x8c\x50\x07\xfe\x98\x44\x62\xc3\x94\x52\x3f\xfe\xf9\xd2\x18\xbf\xcd\xf9\xf6\xbe\xd5\x0c\x46\xeb\x25\xc7\x6d\xf0\x4a\xd5\x79\xf7\x75\x3c\xa2\x29\x1c\xed\xbc\xf1\x9f\xd9\x48\xd7\x93\xbf\xf8\x64\x83\x1b\x5e\x3e\x48\x25\xb7\xb8\x3d\xd2\x47\x58\x1e\xc7\x20\xde\xbb\x3a\x70\x59\x56\x18\x15\xdf\x7b\xde\xc4\xe3\x48\xc0\x07\x01\xff\xff\xbc\x08\x03\x83\x41\x74\x29\xee\xd5\xd2\xdc\xa3\xc8\xef\xe5\x5e\xe5\x6d\xee\x3d\x48\x1c\xd1\x67\x6e\xe2\xe9\x10\xb6\x9f\x9e\xef\xdc\xdf\xbb\xeb\x2a\x60\xcc\x3f\xdd\xa6\x9f\xeb\x42\x7f\xd7\xb9\x68\xfa\x36\x94\x0f\x35\xfd\xd7\xdf\xd8\x74\x9c\xce\x2f\x6d\x7c\x9d\x22\xdc\x60\xfc\x72\x80\x63\xdc\x74\x2f\x58\xe1\x8a\x62\x38\xa5\xca\xdb\x7b\x41\x3f\x24\xc1\x8c\x76\xbc\x8d\x1d\x98\xba\x67\xad\xec\x23\x0e\x6f\xc6\x71\xb8\xbb\xa4\xd6\xc2\xdc\x6f\xc3\x86\x60\x3b\xec\xc6\x82\xc5\x5c\xd4\xf3\x7d\xf6\x0c\xbe\xcb\x1e\x9b\xe9\xd7\xbd\xaf\xbd\x3d\x8c\x35\x18\xa1\x8c\x0b\x60\xbf\x0e\x9b\x37\x27\xf0\x08\xc5\xe3\x58\xc1\x54\x5e\xfc\xeb\xa3\xec\xf8\x8b\x14\xd7\x3a\xa6\xeb\x05\x07\x94\xd6\x2c\xb7\x59\xc1\xff\xde\xbd\x5d\x86\xc8\x70\xee\xac\xb3\xee\xdb\xbd\x4b\xc5\xd7\x51\x30\xbe\x0e\x5e\x87\x4d\x87\xd7\xa1\xc8\xa7\xeb\x13\x73\x35\xbc\x0d\xb1\x43\x8d\xad\x9e\xc5\xd7\x51\x97\xf1\x75\xa9\xd6\xf3\xb0\xf5\xfc\xbd\xd6\xaf\x8f\xbc\x1f\xb6\xee\x3d\x6b\x3d\xff\xb0\x75\xea\x73\x66\x88\x1c\x7e\x48\xc4\xf0\xbd\x54\x0c\xef\x51\xf1\x9f\x8f\xa9\x18\x7e\x80\x0a\xea\x2e\x15\xf7\x46\xe2\x2e\x15\xff\x7c\x46\xc5\xe3\x91\x20\x53\x54\x90\x77\xa9\x20\xdf\x4b\xc5\x7f\x3d\xa3\xe2\x2a\x00\x14\xdf\x5c\xce\xd8\x3a\xbc\xe4\xa0\xba\xf8\x5a\x49\x9c\x97\x23\xb2\x23\xc7\x4c\x9d\x80\x21\x9d\x80\xd3\x42\xa7\xd3\x77\x9c\xc0\x2e\xef\x3a\xa0\x22\xa2\x6f\xd9\x8f\x77\x2e\xf2\x43\x7c\x23\x88\xee\xde\xbe\xff\x3d\xba\x9f\x91\x40\x5d\xce\xc5\x84\xac\x8b\xc4\x69\xb9\x00\x9e\xa4\xea\x9e\x03\xd4\xa7\xaf\x3a\x66\x14\xdd\x45\x45\x3f\x8d\x63\x64\x60\xfe\x64\x1d\xd6\xa5\x80\x17\x7f\xc2\xf3\x6d\xaa\x17\x94\xb4\x97\xfc\x16\x58\x1a\x99\xf9\xfa\xf5\x6b\xe6\x1b\x7a\xd0\x85\x0f\xba\x2f\xa9\x82\x1f\x38\x39\x6c\x08\xf4\xfd\x29\x9c\x3d\x34\x5d\x1b\xd2\xb6\x8a\x13\x4a\xc2\xb3\x37\xc8\xfe\x00\xd6\xa0\xcc\xe0\xf4\xdd\x76\x70\x2a\x13\x79\x3f\x87\x33\x3c\x03\x42\x58\x5f\x61\x99\x06\xb4\x6f\x84\xaa\x68\x81\x37\x39\x54\x84\x3d\x55\x6f\x3e\x9d\x2a\x3f\x87\x8a\xcf\xc5\x86\x3e\x64\x50\x1f\xf3\x27\xd9\xc1\x4f\x47\x2f\xdd\x16\x2b\x4e\xbd\x90\x20\x49\x36\xbd\x99\x20\x50\xe1\x59\xd5\x2f\x38\x99\x30\x34\xe2\x5e\x13\x8a\xba\xf8\xae\x0d\x2c\x31\x9a\xfe\xfb\x2f\x67\x72\xbf\x65\xb2\xd9\xf3\x37\x17\xde\x08\x6c\x13\x9b\x1d\x57\x5d\xfa\x25\x85\xea\x4f\x19\x2a\xc9\x12\x7c\x7a\x09\xb9\xd4\xe8\xa4\xeb\x06\x16\xde\xdf\x4c\x27\x3d\x4e\x35\xf2\xd7\x9f\x2e\xf8\x92\xa4\x10\x3e\x9b\xaf\x91\xbd\xda\x98\xd7\xef\xc6\x6d\xa1\x7a\x02\x17\xe7\x82\xb0\xbe\x80\x6b\xaa\xab\x10\x65\xff\xc5\x65\x4b\x03\x7c\x23\x1d\xa7\x61\x4f\x45\xaa\x63\x81\x4d\x95\xf7\xcf\x5c\x76\x04\xd6\xa3\x42\x0f\xc0\x92\x68\x69\x23\x6f\x4a\x92\xaf\x69\x5a\x7f\x39\x77\xe3\x9c\x32\xf9\x92\xc4\xf3\xc5\xc8\x8b\x71\xc3\xf5\x29\x52\x5c\xc8\xc2\xea\x1f\xc8\x04\x3f\xbd\x79\xca\xbe\x71\xe6\x41\xca\x18\x7f\x44\xe8\x9e\x24\x47\x1e\x27\x8a\xaf\x17\x98\x1e\x13\xf6\xa8\x3f\x99\x9f\x52\x4d\xe0\xa0\xde\x1f\x2e\x8b\xfc\xe1\x8e\xa4\x87\xeb\x69\xc8\xc6\xaf\x34\xea\xe4\x25\x86\x85\x67\xaf\xd0\xa4\x82\x4c\xc0\xe9\x4c\x6f\x52\x85\xa6\xee\xbd\x84\x73\xd5\x3f\xa9\xd4\x73\x91\x13\xfb\x9c\x31\x35\x8e\xaa\x4e\x72\xc1\xc0\xe8\x94\x1f\xe3\x32\xc7\xf0\xdd\x9f\xf0\x4d\xb4\x1f\x3f\xc7\x87\x5f\xf1\xc5\x34\x6c\x6e\xe1\xc4\x8f\x7f\x3e\xed\xb4\xc1\xed\x20\x16\x1a\x35\xf8\x4f\x98\xd9\xa6\xf9\x85\x35\x55\x17\xff\x8d\x72\x92\x01\x7e\x05\x70\x23\xfc\xca\xfe\x53\xd1\x99\x15\xca\x8b\x6b\x98\x5f\xe0\x5d\x49\x0f\x5e\x2c\xc4\x55\x2c\xe3\x22\xba\xd8\x2c\xb4\xe1\xb1\x1d\xc0\x05\xd5\x93\x10\xfb\x6b\x28\xb4\x01\xa2\xc3\xb5\xd7\x90\x97\x21\x89\xc3\xd4\x45\x02\xe4\xc9\x61\xe2\xe3\x4a\x63\x49\x5d\xf0\xdb\x5b\x42\xb8\x02\xd5\x89\x75\xd7\x8a\xb9\xf0\x64\x9d\x79\x5b\x2d\xc6\x47\xe3\x69\x16\xbf\x7e\xfd\x94\xb3\x91\xdc\x9d\xd2\xde\xdf\x4f\xd4\xc9\xa1\x09\x0a\x8d\x44\x5c\x10\x01\xde\xf0\x2b\x10\xa8\x31\xec\x84\xde\x5d\xc5\x2e\x37\x2e\x90\x64\x26\xf9\x78\xe2\x04\xeb\x37\x29\x79\xee\x9e\x03\x9c\xa2\x5e\x11\xd5\xaf\x98\x29\xa3\xcb\x78\x57\xf4\xd5\x57\x96\x07\x1e\xd0\xe3\xcb\xef\xd4\x6f\x6e\x40\xea\x56\xf9\x61\xbb\xd9\xe5\xdf\x73\x11\xfb\xbb\x7b\xd1\xee\x71\xc2\xdd\xd4\xa7\x78\x05\xc7\xd1\x28\x30\xc5\x87\x8f\x1d\xa7\x1f\x92\xf8\x2f\x18\x28\x15\x5e\x1a\xf3\xf0\x06\xee\x06\xa5\x3c\x0d\x4d\xd0\x88\x1d\xa1\x4b\xd9\x28\x74\x11\xe7\xc5\x82\x05\xea\xc0\x30\xb9\x1e\x0c\xa0\xf4\x7d\x88\x08\x5d\x16\x86\x73\x23\x2e\xe3\xac\xc1\x8c\xa1\xbb\xc0\x8e\x2f\xe3\x22\x22\x62\x91\x3d\x11\x01\xb0\x42\x19\x81\x37\xac\x81\x1e\x84\xc7\x6a\x08\x13\x8c\x35\x42\xa5\x4a\x0e\xb0\x16\x77\x08\xbe\xbe\xba\xbf\x7c\x46\x60\xa8\x91\xfa\x3d\xb5\x3e\x21\xa6\x87\x55\x1c\xf1\xc4\xa1\x7e\x83\x49\x73\x22\xf0\x9b\x56\xa4\xbf\x40\x22\x4f\x86\x4c\xe6\xb2\x07\x18\x93\x9f\x56\x76\x49\x7c\x14\x4e\x40\x17\x07\x61\xc5\x77\xbf\xa7\xe7\x37\xd1\x5d\x6d\xd5\x30\x50\xe6\xd2\x0c\x8c\xfe\xd3\xe3\xaa\xdc\xe7\x84\xd9\xb0\x24\xa0\x15\xc7\x23\xa1\xb3\xcc\x29\x2a\x28\x82\x6a\x4b\x43\x7c\x2e\xd0\x41\xb8\x00\x4c\x08\xda\x7f\x6e\x26\x25\xa1\x32\xbf\xe8\x7e\x48\x90\x54\x9e\x2e\x14\x4b\xbf\xfe\x09\xc5\xcc\xe4\xae\x74\xc2\xc5\x4c\x8e\x11\xa3\xd1\xfa\x29\xb6\x4b\xbf\xaa\x91\xa7\x9d\x26\x75\xf2\x32\x04\xb9\xb7\xe4\xe8\x9e\x7f\x88\x03\x21\x3c\x2e\x61\xc1\x45\x59\x55\xf4\xe6\x75\xd1\x59\x94\xd4\xf9\x55\x73\xd4\xd5\xf2\x53\xfa\xaa\xc1\x6b\x93\x6b\xdc\xc4\x31\x8a\xcd\x5f\x5e\xfe\xf6\x11\xb3\xdc\x46\xf8\x45\x78\x6b\x35\x6d\x93\xdb\xa0\x53\xb8\x64\xde\xa7\x7b\xbb\x10\x92\x9f\x79\xe5\x24\xe9\x6e\xf3\xcc\x47\x9a\xc7\xf3\x5f\xf2\x3f\xd0\x36\x0c\xf1\x87\xad\x57\xef\xb6\xce\x7e\xbc\x75\x74\x67\xe0\xfd\xed\x27\x9b\x5f\x80\x84\xda\x5d\x12\xb8\x8f\x93\x80\xbc\xc3\x0f\xd0\x00\xf7\x2e\x13\x22\xd8\xbb\x44\x54\x3f\x4e\x04\xba\xf2\xfb\x7e\x1a\x52\x97\x43\xb8\x6e\xfb\xd3\xf5\x06\x93\x03\x2f\x89\xa4\x86\xec\x33\xaa\xa8\xe3\x5f\x58\x4b\xb0\x16\xf7\x29\x5f\x03\xba\xad\xbf\x3a\x67\x8f\x84\xc8\xd0\x09\xbe\x0a\xad\x65\x9c\xb8\xf6\xba\x97\xfc\xef\x3c\xda\x1f\xbc\xef\x19\x77\xaf\x0f\x75\x33\x52\xd6\x31\x3b\xfa\x6f\xb3\x43\xf2\xff\x10\x66\xd4\x7e\xd7\x89\xf7\x7d\xac\x38\xef\x62\x30\x30\x00\x1b\x5d\x8c\xe3\x1a\xb7\xf1\xd6\x90\xde\xfa\x07\xb7\x0f\x2e\x9a\xbf\x4b\x36\x4c\xc1\x7c\x7f\x84\xe2\x4b\x53\x70\xbe\xf4\xef\x12\xd3\xf8\x2e\x62\x12\xbc\x8f\xc9\xb9\x57\xe8\xe6\xfa\xe7\xfa\x65\xf2\xcd\xbe\x24\xfa\x27\x75\x97\x09\xb0\x78\x74\xb7\x57\xcd\xe7\x96\xb3\x9e\xde\x1f\xb8\xee\x01\x14\x83\x04\x00\xba\x71\xb3\xaf\xba\xa3\xba\xfe\x2b\x7a\xf6\x19\xee\x6b\xdd\xa4\x1e\x33\xcd\x95\x68\x1f\x81\x05\x0d\x43\x70\x10\x82\x93\xf3\x6f\x63\x9f\xdf\x06\xae\xbe\x8e\xdd\x7c\x3b\x9b\xbd\x9f\x79\xff\xf6\x9a\xfe\x95\x55\xc8\x07\xd0\xb4\x85\xc9\x9b\xf0\xf5\xd4\xcc\x2b\x5f\xfd\x8c\xd3\xdb\xdf\x5f\x18\x5a\x97\x3b\xb9\xe8\xd9\xcf\xad\xf7\x1c\x99\xc6\xf6\xc4\x5d\x73\xe2\xa2\x78\x16\x3c\x49\x43\x80\xa8\x7a\xe3\x55\x21\xc0\x53\xd7\x4c\x48\x39\x0b\xef\x01\xbe\x5e\x17\x11\x48\x5e\x26\x1f\xd4\x23\x40\xaf\x32\x9a\x97\x64\x8c\xba\xf3\x2a\xf5\xe0\xd5\x54\x66\xa8\x3b\x6f\xe5\x2f\x8b\x95\x9a\xf1\x59\x80\xe1\xe9\x21\x30\xab\x0e\x38\x13\x0e\xde\xb8\xf8\x11\x73\x1e\x1d\x12\xe1\xbb\x7e\x3f\x26\xf5\x8c\x5e\x80\x21\x06\x93\x75\xe0\x34\x58\x09\x3a\x74\x73\x37\x1e\xa4\x10\x5a\x78\x99\x25\x30\x76\x4f\xe1\xd0\x71\x06\x77\xe8\x00\x9a\xa6\x1b\x66\x82\x4d\x92\x1b\xea\x71\x07\xee\x0a\x02\x8e\xf6\x82\x65\x47\x90\x14\xdc\x5e\xeb\x84\x23\x2e\xdc\x93\x02\xe1\xbf\x41\x0a\xee\x0c\xe4\xc8\xc3\xcb\xfe\x1b\x52\xf0\xc6\xbb\x68\xb5\xfe\xa8\x14\xa0\x77\xe1\x22\x75\x87\x91\xb1\xa5\xd9\x46\x29\x89\x5f\x9b\xf7\xf9\xd7\xfe\xb8\x6d\x89\x10\xbe\xc7\xae\x88\xaf\xe4\xc6\x04\x54\xef\x13\xd0\xf9\x08\x01\x06\xc2\xf8\x51\x02\xb8\x94\x8d\x5d\x8d\x6d\xec\xd3\x52\x1e\x5f\x2c\xc1\x37\xd5\xc3\x53\x42\x12\xb4\x0d\x86\x6a\xf2\xc0\xf3\xb2\xcf\xe7\x1c\x4d\xea\xc5\x1a\x9f\x5c\xde\xbd\xd7\xb3\x27\x37\xde\xee\xf5\x0c\x52\xfa\xae\x9e\xc5\xc9\xd9\xa1\xd9\x2e\xde\xb7\xda\xc5\x8f\xb4\xbe\x8d\x30\xc2\xf7\xd9\xed\x71\xe3\xd8\x6e\x17\xb1\x76\xce\x30\xf0\x1e\xd7\x4b\x73\x05\xd8\x01\xf7\xbb\x4f\x89\xcd\xe3\x3c\x9e\x51\x9c\xf0\xfe\xe5\x6e\x95\x1a\xac\x8f\x40\xd3\x37\x21\xee\xb0\x2b\xa3\xb7\xbb\x72\x75\x8f\x23\xbd\x1d\xfe\x97\x9f\x32\xe4\x3d\xcf\x2d\xe9\xef\x7b\x3d\x85\xe1\xb9\x4c\x4b\x9c\x02\x6b\x06\xbc\xd5\x0d\x70\x73\x13\x27\x18\x1d\x68\xe0\xbc\xde\xd7\xb5\x37\x93\x1d\xdf\x54\x34\xdd\x2f\x99\xbf\xc2\x38\xb0\xd1\x0f\x99\xd4\x31\xb4\x73\xf8\x9c\xf9\x11\x9d\x79\xfe\x98\x64\x87\x8a\x0b\x4c\xe3\xb6\xbe\xc2\x14\x0f\x90\x4d\x38\x58\x1e\xed\x68\xc4\x70\x89\x45\xa9\x6a\xb0\xa8\xc1\xe1\x5c\xb9\xf4\x44\x26\xca\x61\xe7\xfa\xb8\xf4\xaf\x0a\xde\x9b\xa1\x7d\x86\xe8\x44\x65\x72\x4b\x16\x75\x04\xe2\x72\xe3\xb8\x77\x80\xeb\x22\x24\x1f\xd0\x8d\xcb\xca\xa4\x43\xd8\x3c\x5c\x0b\x0b\xb4\x88\x1d\xe9\x1c\x3a\x9f\x72\x54\x0d\x68\xb2\xcc\x06\xdd\x95\x99\x9b\x7b\x15\xb8\xc5\xb6\xab\x26\x25\x2b\xc8\xf3\x9b\xeb\x8d\x19\x1c\x3e\xf2\x2e\xf5\xce\x56\x51\x1c\x6a\xfc\x4e\xfe\xdd\xed\x9d\xde\x7a\xd7\xc1\x32\x12\xd2\xbf\x8e\x9e\xdc\x00\x45\xcb\x5a\x5a\x15\xf1\x0f\xdc\xfd\xe9\x47\x66\xee\xc5\xc2\xf3\x1d\xfe\xe6\x85\xd1\xc9\xde\x37\x3a\x95\xff\xa9\x46\xa7\x16\xf7\xf2\xb1\xd5\x79\x76\x6f\x4e\x1e\xc5\xd9\xcf\x69\xf4\xef\xfb\x39\xff\xe7\xbf\xc1\xcf\x19\xe2\xea\x41\xe8\xb8\xf0\xe4\x8d\x5a\x81\xea\xcf\x6d\xfd\xa2\xf4\xf3\xc7\xee\xaf\x43\xf2\xb5\x27\x11\x4d\xa8\x30\x06\xbe\xad\x7e\x3e\x1e\xcc\xbc\xf6\x03\x30\xfd\xc0\xa4\xa9\x9e\xaf\x2c\x5f\xc6\x50\x26\x9e\x31\x20\xce\xc0\x9b\x9e\x68\xc3\x30\xae\x13\x9c\x79\xc1\x45\x9f\xd0\x96\x1f\x83\x6b\x4e\x1a\xb8\x22\x13\x44\xd5\xf3\x21\x2f\x5f\xb0\xe5\x69\x47\x49\x86\x7d\xa4\x6b\x75\x2f\x08\x50\x91\xe4\x18\x9d\x1a\xa7\xf9\x3f\xd5\xc1\xf2\xd0\x36\xe3\x9f\xe0\x36\x22\x8c\xb5\xc7\x79\x66\xe0\x1e\xeb\x43\xbe\xbc\xa0\xc5\xe6\x4e\xfe\xc2\x9b\x40\x95\x7b\xab\xcd\xbf\xdd\xb9\x72\x07\x8c\xc4\x7b\x17\xf1\xde\xb0\x19\xdf\xbc\x64\x7c\xb3\x67\x7e\x7f\x50\x44\x13\xe8\x2e\xe3\xb7\x0f\xcb\xcb\x1d\xbe\x43\x54\xef\x62\xfd\x05\xdf\xd1\x88\x5d\x32\x1e\x22\x7a\x1f\xef\xff\xfa\x84\xf9\xcf\x19\xf8\x57\xe2\x1b\x55\x28\x7e\x23\xae\x6f\x6a\xa3\x8d\x9c\x3b\x73\x7c\xfc\x60\x8e\x1b\x1f\x9c\xe3\x09\x46\x3c\xd7\x87\xc0\x17\x7c\xe7\x44\x4f\x25\x33\x81\x66\xe8\x29\xeb\xdb\x79\x87\xa3\x31\xee\x9f\xd3\x5c\xa0\x88\x8f\xf0\xfd\xdb\x20\x57\x39\x6f\x92\xad\x91\x54\xe2\x2c\x55\xcb\x70\xe8\x8a\xde\xeb\x88\xbd\xcd\x47\x04\xe1\xad\x3f\x6e\x46\xc0\x7a\xf6\xf8\x7e\x60\x9c\x21\x10\xda\xd7\xd8\xb6\x7e\xe8\x33\xc6\xda\x9c\x89\xf5\xea\x2b\x0a\xad\xbb\x76\x9c\x1e\xb4\x9c\xbf\x6d\x19\x9d\x36\x24\xf9\x09\x1f\x36\xca\x38\x4e\xdc\x6e\x78\x67\x19\x81\x87\xc6\xb8\xa2\x98\x78\x9b\x09\x10\xb2\x70\xfe\x24\x9f\xd3\x9d\xc5\xed\xbe\x49\x7b\xbb\xda\xa5\xaa\x2c\xde\xf4\xda\xfe\xf5\x33\x0a\x7a\xbc\xa5\xf8\x3a\x39\x32\x4e\x9f\x83\xab\x09\xde\xed\xc1\xcf\x7f\x6c\x17\xe2\x22\x28\x1f\xe8\x41\x07\xe6\x47\xcb\x70\x9e\x7f\xc8\xbc\x76\xb0\xe0\x5e\x3d\xfb\x7c\xbe\x5a\x31\xb3\xf5\x74\x2e\x06\x58\x58\x20\xb9\x2d\x9f\x24\x7d\xc2\x4b\x2d\x3c\x9d\x0a\x1e\x56\xd2\xbc\x66\x8a\x7d\x6f\xf7\xc1\x7e\x92\xb4\x14\x19\xe6\x58\x5a\x86\xf7\xa5\xc5\xf9\xbf\x27\x2d\xa9\xc9\xf4\xa6\xb8\xc4\xd1\x9e\xb8\xee\xe4\x7d\x81\xf9\x63\x7b\xf1\x96\xc0\x3c\xe8\x44\x6a\x2f\x3b\xbd\x84\xd6\xcf\xa9\x27\x9b\x77\xa2\xb5\x1c\x3b\xc4\x71\x15\xc9\x15\xe9\xcf\x28\x01\xce\x21\xd9\xf0\xc2\x09\x88\xf1\xd6\x40\x8c\x15\xad\x9c\xb8\xc2\x48\x06\x17\x70\x8a\x63\xc3\x12\x1c\xb1\x4f\xf8\xf5\xec\x15\x02\x37\x2a\x0e\x46\x7e\x8d\x3d\xb2\xd3\x65\x50\x32\xc3\x7a\x4e\x52\x59\x0b\x38\x3e\x35\xd5\x3e\xd5\x75\x05\x3e\x0d\xba\x66\xa3\x67\x5e\x57\xde\xea\x0b\x72\xd4\x4e\x2f\xd2\xe7\x60\x91\xd3\xeb\x05\x5c\x18\x32\xf3\x0a\xfa\x00\xd4\x5a\x08\x17\x13\x88\xfe\xf4\x52\x09\x06\x7b\xc0\x0c\x52\xc9\x83\x32\x7c\x80\x6b\xb1\x7c\xce\xd8\x5f\xcd\xaf\x9f\x81\x73\x6f\x18\xb0\xdc\xe3\xc5\x8d\xa8\x4c\x25\xc3\x05\x1e\x4a\x4c\x0e\xed\x00\xe0\xde\x74\x98\x2f\x74\x39\xf9\x9a\xa2\x4e\x1d\x5c\xc5\x79\x97\x35\x0f\x05\x63\x04\x60\xbc\x40\x8f\x4e\x80\x79\x64\xce\xda\x8f\xba\x45\xd1\xe8\xfb\xcd\x75\xd7\xa8\x42\x46\x8c\x4c\xd5\x38\xc0\x77\xa2\x8c\x16\xd7\xbf\x3c\xbd\x56\x8a\x57\x4b\x58\x2e\x17\x9f\x43\xa3\x6e\x9e\xbe\x2f\x67\xc6\x97\xbd\xc4\xf5\xd9\xee\xf4\x94\xaa\x60\x83\xfb\x8d\xde\xe6\x89\x24\xf5\x94\x69\xe1\x2a\x8c\x38\xfa\x0b\xd8\x51\xac\xa3\xe2\xa0\x65\x08\x46\x3e\x04\x1b\x9e\x3a\x96\xa7\x1e\x02\xd5\x93\x18\x71\x08\x96\x7f\x08\x26\x9b\x50\x44\x13\x38\xfa\x0d\xd2\x36\xc9\xb0\xe7\x0b\x0f\xa1\x3a\xaa\x05\x44\x58\x4d\x00\x8b\x0f\x01\xb9\xc3\xe9\xf6\x57\xbe\xf4\x10\x6a\x32\xb7\xa3\x53\xab\x95\x87\x60\xc9\x3e\xc5\x6b\x9c\x37\xc0\x39\xdd\x66\xc3\xac\x86\xc6\xec\x5b\xac\xa6\xc9\x87\x60\x67\x56\xd3\xd4\x43\xa0\x34\xab\xe9\xfc\x43\xb0\x0b\x56\xd3\xf4\x1b\xa4\x9d\x58\x4d\x17\x1e\x42\x5d\xb2\x9a\x2e\x3e\x04\x4c\xb1\x9a\x2e\x3d\x84\x4a\xb3\x9a\xae\x3c\x04\xbb\x65\xf5\xc9\xcd\x8c\xe7\x62\xe6\x15\x4f\xcf\x4f\x71\x76\x84\x39\xbc\x05\xe3\xda\x7b\xf3\x14\x6a\x86\x1d\x39\x54\x2e\x3a\x1d\x7b\x06\x23\x70\x20\x26\xb0\x26\xba\xe6\x97\xc4\xc4\xc2\xd1\x38\xfb\x2d\x2e\xf3\xa8\xa2\xcc\xff\xa7\x8b\x0c\xd0\xda\x45\xd9\x09\x60\x43\x40\x8f\x4e\xec\xa5\xed\xc3\x75\x1e\xe2\x79\x9d\x47\x91\xff\xe7\x5c\x0e\x0c\xcd\x2e\x79\xfe\xd5\x0b\xac\x1c\xfc\x2b\x07\x57\xba\x7f\xe0\x34\x0e\xff\x40\x1b\xff\x89\xbe\xad\x81\x8e\x92\xc5\x2f\xb8\xc7\x27\x8a\xaf\xb4\x39\x54\xf2\x67\x05\x5d\x79\x63\x46\xe3\xe4\xd7\x69\x69\xab\x3c\x9e\xd8\x31\xf4\x59\xe8\x2a\x8f\xe7\x77\x0c\x9b\x96\xbd\xca\xe3\x69\x1e\x43\x5f\x88\x60\xe5\x8d\xd9\x9e\x90\x7d\x92\xc4\xca\xe3\x49\x1f\x03\x5f\x0a\x64\xe5\xf1\xdc\x8f\xe1\x53\x72\x59\x79\xac\x02\x62\xe0\x94\x78\xc2\x9d\x82\x87\x53\xe7\x86\xdd\x24\xf1\x78\x72\x5f\xb3\x9b\x24\x1e\xcf\xf1\x5b\x76\x93\xc4\xe3\xa9\x7e\x87\xdd\x24\xf1\xc6\x8c\xbf\x66\x37\x49\x3c\x9e\xf8\xf7\xd8\x4d\x12\x8f\xe7\xff\x0d\xbb\x49\xe2\xb1\x1a\xb8\x66\x77\x32\x23\xca\xe5\x2f\x70\x7f\x1b\xf8\xcf\xef\x9c\x19\xa8\xbe\xf2\x37\x60\x53\x7c\xcb\xf4\x1f\x0e\x6e\x1f\x43\xd2\x97\x90\xf7\xe8\xea\x9f\x66\x1b\xa4\x06\x5a\xfd\xf1\x77\xaf\x14\xfd\x45\xb3\xa3\x4f\xef\x25\x88\x02\x9f\x21\xf8\xd4\xc1\x87\x7d\x48\x58\x60\x69\xaf\xc3\xcf\x99\xfa\xe7\x0c\xfb\xe9\x4c\xe2\xed\xbb\xf7\x48\xbd\x7a\x37\xde\x83\x33\x71\xc4\x21\x4a\xef\x96\xe8\xb6\xf0\x14\xa6\x98\xf9\x11\x1a\x3c\x3f\xc6\xf1\xc2\xe8\x0f\xa4\xef\x34\x34\x1c\x3f\xc2\x8a\x25\x2b\x88\x28\x84\xd1\x7b\xa7\x6a\x23\x38\x7a\x04\xc2\x86\xd0\xc8\x45\x91\xc7\xb0\x80\x2c\x0a\x14\x0c\xf0\x6e\x0e\x50\x91\x18\x09\x74\x5c\x4c\x14\x61\x87\x92\x15\x43\x6c\xb8\x99\x10\xfd\xff\x05\x43\xe1\xe2\x2a\x91\xe7\x61\x25\x8d\x6e\x89\x9c\x6e\x89\xc5\x44\x02\x0b\x1b\x1d\x77\xc1\x50\x42\x58\x78\x63\x16\x6f\x08\xa1\xb3\x2f\x2c\x1c\xe9\x5a\xb4\xd7\xc6\xbf\xfb\xce\xfc\xc5\x96\x19\x01\x71\x7b\xb5\xd3\xc9\xc0\x1e\x9d\xe5\x00\x0f\x21\x0b\x86\xe7\xce\xb6\x82\x8d\x02\xfe\x51\xaa\x85\xc2\x55\xfe\xe2\xb8\x6a\xd5\x0f\xa9\x27\xd7\x1b\x33\x08\xed\xe7\x0c\xf1\xe9\x14\xdd\x9b\x26\x6f\x04\xc4\x90\x83\x1d\xfe\x00\x91\x85\x27\x44\x52\xf7\x89\x84\x0f\xd0\x9d\x8b\x3b\x1b\xe9\x17\x44\x62\x30\xeb\x01\x58\xfe\x12\x4c\x7b\x00\x46\x63\xb0\x34\x67\x5e\xa0\x58\xa3\x90\x79\x18\x1c\x9f\xf9\x0c\x7f\xb5\xce\xbf\x6a\xf0\xd7\x4f\x2f\x27\x36\xa1\x13\x74\xe0\xf3\x84\xef\xb9\x5d\x72\x3e\x52\xbf\xcf\xba\x84\xb9\x08\x61\xfa\x4e\xe0\x4d\xec\xf5\x77\x3a\x8e\x77\xcf\xfb\x31\x37\x52\x9c\x48\x0e\xdd\xff\x02\x4c\xf8\xcb\x5b\xe7\xf1\x51\x3c\x91\xbe\x4f\x7d\x87\xd8\x7b\xc7\xf7\xe4\xed\x3b\x68\x5a\x26\x37\x52\x1f\xbd\x47\xdd\xbe\x87\x5c\xa5\xa7\x2f\xe6\x6f\x5f\x8c\xfd\xa9\x67\x6f\xd2\xb7\x6f\x9e\x3c\xad\xa7\x2f\x17\xee\xf4\x13\x79\x9b\xcf\x5e\x2c\x81\x17\x71\x66\xf9\x93\xef\x79\x49\x3c\x7e\xfc\x14\x4f\x39\x85\x07\x3b\x73\x77\x30\xe1\x2f\x9e\xe2\xaa\xdc\x76\x06\x86\x4b\x2f\xcd\x64\x73\xe0\xe9\xe8\xdd\x19\xbe\x78\xd8\xe3\xdb\xc0\xf7\x87\xf6\xe2\xcb\x3b\x68\xdf\x1a\xdc\x67\xef\x3e\x19\xde\x67\xaf\xbf\x31\xc0\xcf\x5e\x2d\xdd\xa1\xfa\x34\xaa\xcf\x5e\x2e\xdf\x7d\xf9\x34\x90\xcf\x5e\x7f\xc7\x50\x5e\xa2\xc0\xba\xe0\x0a\xd3\x5f\x32\x05\xe2\xe2\xf2\x57\x9c\x2d\x0e\x2e\x8d\xb9\x1b\x23\x01\xd5\x59\x4b\x67\xc5\xf2\x66\xc0\xe5\xb8\xbc\xb5\x78\x46\x95\xbc\x00\x97\x57\xb0\x20\x5e\x82\xa1\x9a\x34\x71\x5d\x3f\xb8\x7d\x81\xaa\xe4\xcf\x0e\x31\x90\x0d\x0b\x75\xa3\x6b\x0a\x09\xb2\xf5\x06\x48\xc3\xcc\x06\xb6\x01\xd4\xe7\xc1\xe7\x8c\x05\x16\xfa\x4f\xe8\x6a\xd2\xd7\x2b\x85\x06\xd4\xdc\x1d\xde\x9e\xad\x25\x11\x5f\x0e\x47\xb7\xec\x32\x5f\x80\x4e\x3c\x5d\x13\xbb\xa3\x74\x2e\x30\x01\x3a\x6a\xb0\xb6\x7a\x46\x9f\x9b\xfa\x12\x87\x17\x9c\x2d\x3a\x54\x70\x2d\x4e\x7b\x1f\xff\x40\xfd\x1c\x25\x8b\x2d\x68\xf1\x6a\xed\x3d\xcf\x16\x94\x87\xe2\x04\xf8\x6f\xb8\x30\x65\xba\xe9\xb7\xba\x81\xbe\x10\x87\xdc\x3f\x86\x75\xf6\xdb\x1b\x6f\xc4\xb3\x1b\xb5\x71\xea\x33\x6a\x3d\x93\x05\x8a\xee\xfc\xea\x4d\x49\x46\x7c\xb4\x70\xea\xf4\x69\x34\x53\x00\xe8\xc4\x1c\x77\x11\x5b\x3f\x69\x4a\xd0\xc5\x39\xc8\x4f\xd4\xad\xd4\x17\x97\x77\x74\x52\xd4\x50\x97\x8f\xd0\xfb\x7f\x4d\xfa\xfa\xc6\x6d\x47\xfc\x73\x75\xe7\xf1\x09\x03\xf5\x54\xcf\xdf\x10\x85\x3b\x33\xee\xcd\xd1\xa8\xf2\x35\x46\x6a\x8f\x1e\x49\xd7\x5f\x80\x6d\x7e\x47\xf5\x9c\xe6\xdc\x95\x98\xd2\x6f\x89\x29\xfd\xaf\x26\xa6\xf7\xba\xf1\xb6\x98\xa6\x94\xcd\xff\x2f\xa6\x77\x19\x78\x21\xa6\x0f\x38\xf0\x0e\xee\x9f\xc4\x32\x41\x75\x6f\x5d\x00\x7d\xa8\x10\x30\xc1\x1b\x92\x54\xf0\x47\x6a\xa9\x7b\xa2\x4f\xc1\x7b\xd9\x4c\xf9\xdb\x23\xb4\x70\x17\xe4\x8c\x17\xb8\xf4\xd7\x88\x1f\xce\x00\xf8\x26\xc2\x9c\x70\x00\x91\x1e\x2f\x7d\x66\x54\xc5\x3b\x7c\xe1\x6d\x49\x8b\xda\x89\x54\x2c\xd1\x9f\xee\xc7\xbb\xdf\xbc\xc7\x9e\x28\x89\xdf\xbb\xbd\x55\x8b\x76\x0e\xbf\x84\xf1\x71\x5c\x26\x49\x97\x82\x03\xcd\x3e\x18\x6c\xf5\x24\x65\x47\x1c\x29\x01\x6d\xfc\x4d\x98\xd4\x14\x7f\xad\x8a\xc3\x07\x47\x82\x30\xf9\xd9\x05\xf0\x57\x78\xc0\x85\xf6\x40\x7b\xc2\x27\xe8\x73\xc3\x2d\x48\x22\x83\xfc\x73\x98\xc4\x2c\x46\x79\x7b\x0c\xdf\x1f\x7e\xca\xfc\x12\x78\xbb\x6f\x3a\x0a\xf7\xf9\xf5\x84\x28\xc6\x11\x64\xbe\x81\x39\x35\xbc\xd3\xa7\xd5\x87\xa3\x1c\x93\x43\xed\xc2\xfb\x03\x4c\x88\xd5\xcb\x3b\x4f\xca\x8b\x2f\x69\xc7\x09\xf4\xe8\x9e\x93\x77\x8e\x76\x80\xd7\xa9\xc9\xb3\xd3\x09\x7a\xff\x18\x3e\x29\x98\x72\x7e\xe5\x79\x5c\x07\xf2\x4a\x01\x11\xa9\x9b\xeb\xf0\xf7\xe1\x9d\x58\x99\x6a\x1c\x13\xe9\xc6\x09\xeb\xd3\x39\xe3\x35\x33\x63\xae\x50\xdd\xcd\xcc\x16\x9e\x14\x27\xc2\xf4\x41\xf1\x5b\xfd\xbe\xe2\x57\xcc\x7c\x44\xa4\x92\x1d\xf1\x9f\x53\xc2\x94\x21\x0b\x67\x14\x7d\x7c\x8a\x8d\x36\x8c\x36\xe1\x19\x9c\x84\x12\x0c\x6f\xd4\xab\xc6\xe1\x53\xc6\x0b\xe2\x73\xbb\xcc\xe9\x6b\x12\x7e\x0d\x7b\x8f\x41\xd0\x8e\x1a\x95\x42\x2c\x55\x85\x1b\xa4\x14\x46\x8a\x73\xf1\xc0\x54\x60\xf0\xd2\x50\xfc\x0d\xc2\x17\x3f\xc7\xc8\x52\x73\x47\x48\xe6\xff\x2d\xc6\x12\xe8\x17\x09\x3e\x04\xfa\x00\x1c\x5d\xf0\xc2\x3c\xc3\xb8\x66\x60\xeb\xea\x2a\x95\x26\x17\xd5\x55\x50\xe1\x76\xdb\xce\x3b\xdf\x58\x0d\xf1\x8e\x20\xdc\x1a\x1b\x8f\x68\xa8\x44\x33\x1b\x1f\x17\xb4\x35\xcc\x15\xdc\xa7\x3b\x29\x1f\xd4\xd3\x13\x3a\x94\x74\x51\x20\x48\x14\xdf\x04\x77\xb7\xb6\x66\xbc\xb1\x58\xc8\x9f\x29\x6f\x7b\x3a\x2a\x60\x70\x4d\x78\x21\x93\x07\xc4\x26\xdf\xaa\x5b\xd5\x76\x54\x7c\x9e\x38\x8b\x83\x6f\x4d\xe3\x8b\xbd\xfa\x7c\x6a\xee\xc4\xaa\x02\xea\x66\xd7\x4b\x5e\xfe\x8c\x4b\x68\xde\x15\xbe\x9f\xbf\x5f\x51\xfc\xcf\x9a\xd3\x4f\x55\x14\xf9\x01\xc5\xf7\xcb\xcf\x24\xf9\x6e\xdd\x47\x7d\x08\x31\xf5\x01\xc4\xc5\x0f\x51\x4c\x7d\x23\xbf\x11\xdf\xde\xaf\xb3\x0b\xf9\x8f\xa0\x2f\x9c\x10\x5f\xd4\x73\x8c\xc3\x05\xd1\x8d\xef\x53\x12\x31\x74\x2a\xa8\xdb\x06\x4a\xe1\x8e\x0e\xef\xc1\x93\x39\xfc\x1b\x85\xcd\x78\x58\xe1\x9c\x8b\xf0\xc7\xf1\xe8\x00\x09\x80\x3c\xf8\xe7\xf5\x7d\x8c\xf2\x48\x6c\xcf\xe9\x50\x71\x42\x9c\x78\xe2\xa6\x42\xca\xbb\xb0\x8e\xd5\x4d\x13\xa9\xc8\xf1\x06\xfc\xca\xc6\xd1\xf7\x97\x77\x0c\x90\x45\x91\x24\x10\x88\xd5\x7d\x2a\x6c\x9c\x41\x49\xd8\xef\xa2\x46\x31\x20\xa8\x78\xed\xc5\xed\x77\x0b\xe8\x81\xd5\xe7\x98\x15\xa7\xea\x8a\xf1\x31\xe9\xe7\x78\x79\x01\x70\xe4\x77\xc5\xe3\xfe\xd5\x7f\x12\x90\xeb\xcd\xce\xc7\x09\x71\x5c\x3f\x8a\xd4\x1a\x0d\xef\x06\xde\xfc\x9b\xff\xf1\x54\x6b\x21\x68\x63\x78\x27\xdd\xda\x10\x66\x54\x0d\xe3\x04\xf1\x38\x66\x09\x95\x86\xea\xbc\xaf\xba\xe6\x35\x69\xff\xfe\xa0\xab\x57\x1a\xee\x11\x58\xda\x9a\xbc\xcd\x56\x8f\x73\x23\xb6\xbf\x8f\xb2\x1f\x9f\x34\xd9\xf6\x54\xb0\x34\xf0\xd5\x10\x35\xd3\x7e\x4f\x2b\x60\x5d\x45\xa9\x24\xae\xd2\x6d\x83\xd9\xb1\xb5\x83\x68\x03\xc6\x12\xe1\x83\x59\x25\x1c\x15\x86\x13\x25\xe7\x2b\xa7\xb1\x06\xd2\xad\xae\x0e\xa8\xa6\xb4\x1a\xdc\xd6\xe0\x83\x74\xaf\xdf\xc1\xa9\x38\x93\x4d\x74\x70\xe2\x64\xeb\x30\xb5\xcb\x67\x54\xa0\x9c\x48\xa5\x79\xc6\xc9\x67\x70\xd4\x0c\x4e\xe1\x92\x9a\x6d\x97\x5f\xdc\x04\x29\x51\xc8\x80\x46\xd1\x37\xe9\x37\xf3\xe9\x37\x4f\x1b\x8d\x49\x04\xc2\xf9\x9d\x8b\xaf\xae\xbb\x98\x59\xbf\x2b\x5d\xcc\xdb\x17\xf9\xce\x17\xf8\xd2\xd7\xf9\x1e\xdd\xcb\xfc\x9e\x1c\x27\x0f\x71\x20\x06\xbc\x9e\x83\x18\xdf\x7f\xbb\xef\x0f\x20\xe3\x6e\xb0\xec\xed\xad\xd1\xdf\x2b\xaf\xcc\x77\xb3\x84\xfe\xef\x25\xe5\x86\x2d\xb8\xed\xfb\x49\xd9\xd3\x13\x0a\xa7\x0d\x02\x54\xdf\x0b\x0a\x46\xdb\xc3\xa9\x72\xf0\xb8\xfa\x1b\xb4\xea\x4f\xa1\x82\xf1\x84\xfc\x48\x19\x38\xa4\xae\xde\x31\xef\xf1\x15\x37\x38\xf3\x86\xa6\x85\x5c\x09\xb4\x68\xb0\xf7\x63\x4e\x83\xef\xcd\xc9\xf4\x2d\xfe\x16\x5f\xfc\x1d\x79\x7e\x92\x93\x0d\x18\x25\x3f\x5f\xa5\x74\x23\x7e\xfd\x9c\x21\x89\x4f\x99\x2f\x64\xe6\xcf\xa7\x43\xcf\xf3\xcb\x2c\xde\x2e\x8f\xdf\x27\x6f\xdf\x27\x93\xf7\x33\x69\x04\x37\x23\x3b\x1e\xe1\xbe\xe3\x7e\xbf\x9e\x28\xfb\x7c\xd1\xce\x5b\x39\x11\x4e\x79\x00\x08\x7c\x36\x78\x27\x23\xef\x4d\x48\x2c\xce\xf1\xfe\xb1\x71\xfc\x39\x78\x52\x4d\x1a\x67\x4d\x4c\xc5\xab\xda\x2b\x40\x81\x1e\x81\xc7\x1b\x07\x30\x0e\xd7\x11\x04\xb4\x70\xcc\x90\xf9\xf4\xa1\xb6\xff\xfd\x49\xdb\x28\xb5\x71\x2c\xeb\xaf\xd0\x00\xf8\x2a\xca\xe2\xa7\x3b\x88\xc2\xef\x4d\x6e\x8c\x5a\xf8\x7d\xf8\x18\xbe\xdd\x17\x9c\xa9\x32\x03\xcc\x05\xdb\x3f\xdd\x77\x43\x27\x2e\x46\x04\xdf\xf9\x9c\xe4\xe1\x80\xff\x9b\xc0\xd0\x5b\xc1\xfc\x4e\xe1\x07\x67\x65\xf4\x2c\xf2\x1b\x9f\x77\xbd\x63\x34\x87\x70\x34\x3f\xd6\xf8\xbf\x3f\x69\x5d\x7c\xff\x0d\xd6\x0f\xee\x86\xbc\xa3\x61\xa8\x40\x81\x26\xfa\xa2\x41\x16\x6f\xa1\xaf\x98\xd4\x7d\x61\xc7\xd7\x96\xc8\xfb\x5a\xcd\x3c\x65\x36\x9e\xa6\x37\x02\x7c\x0f\xd9\xe6\x37\xe4\xce\x86\xdd\x73\x55\x78\xdd\xea\xb6\x77\x9d\xef\xee\xdd\xe6\x89\x5e\x80\x57\x1c\xee\xeb\x81\x21\xf3\x39\xde\xf5\xc0\x29\xbb\x3f\x2a\x46\xdb\x67\x95\x4c\xd1\xe6\x5a\xcd\x86\x07\x92\x09\x09\xb1\x61\xc9\xd7\x86\x1f\x6c\xed\xef\x2f\xbb\x67\xc3\x88\x1d\x90\x64\x89\x3f\xe7\x60\xc4\x96\xf8\x90\x1f\x8c\xfa\xcc\xf0\x3b\xfd\x91\xfd\x33\xc9\x45\x2b\xf8\x69\xbe\x26\xea\x98\x87\x0a\x22\x76\xc2\x18\x8e\xff\x60\x9f\xff\xf4\xa4\x55\x58\xf3\xe9\xfe\xd8\xd6\x80\x52\xf8\x7c\x99\xcd\xfe\x63\x63\xfb\xa4\xe5\x6d\xf4\x8f\x08\x6e\x52\xc1\x94\x68\xaf\xea\x79\x0f\xa0\xcb\xf4\xe6\xf0\xae\x20\x6c\x53\x5a\x75\xcd\xa8\x01\xfe\x42\x31\x73\xaf\xa1\x69\x66\xe2\x18\xdc\x95\x19\x41\x28\x18\x79\xfb\x55\xf7\x5c\x1c\x82\x3b\x4e\xa1\x9c\x25\xaa\xc7\x06\xae\xdb\x29\x69\xf2\xa5\x6b\x34\x53\x03\xac\x8a\x91\xcb\x03\xf0\xa3\xca\xb5\x6a\xc6\x72\x0e\xfe\x1c\x11\x80\xaf\x21\xa2\xbf\xef\xce\xe5\xe3\xf7\x67\x0b\x48\x92\x05\x9c\x03\x8e\xde\xf6\x2d\xae\x5d\x8b\xd4\xdd\x32\xf1\x82\xee\xd7\xb8\x68\x24\x96\x5c\x1c\xbe\x88\xbf\xc1\x19\x35\x3f\xe1\x73\xf9\x37\x69\xa3\xae\x0b\xf3\xdf\x3d\x87\xb9\x49\xea\x0b\xb9\x5f\xc5\x39\xee\xae\xbb\x40\xfe\xfa\xc0\xf8\x26\xd3\x3d\xe1\xcf\xfc\xfe\xfa\xf1\x36\x13\x1b\xed\x32\xc5\x0b\xd6\x21\xc9\x4e\x29\xde\x56\xc5\xe5\xb0\x81\x12\x69\x0f\xbf\x6f\x32\xff\x3d\x1e\xfa\x27\x57\xf0\xef\xce\x2c\x3e\x99\x59\xc4\x77\xce\xac\x27\x4d\xc7\x9a\x24\xe9\x31\xbf\x45\xa1\x9d\x48\x81\xb4\xf9\xef\xed\xee\x7f\xbc\x4f\x75\x26\x8d\x9e\x8f\x14\xd0\x16\x4e\xbb\xff\xbd\xed\xfe\xe7\xdb\xed\xc6\x79\x67\xf0\x8e\x30\xee\x64\x93\xfb\x4d\x7a\x2b\xf3\xcf\x67\xe7\x2d\x28\xcf\x4b\x3f\x13\x5e\xb4\x5a\xfd\x8d\xad\xfe\xd7\xfd\x56\xe1\xec\xee\x49\x43\x8e\xcf\xd4\x9a\x6d\xfe\xcf\x18\x20\xb7\x08\x73\xe8\x97\x7f\x00\x25\x7a\x72\xf9\xfe\xe1\xaa\xfe\xd7\x45\x08\x5f\x81\x2b\x36\x8e\xbe\x7d\xd5\x3f\x65\x28\x82\xa4\xd0\xe1\x05\x37\x07\x46\xa8\xbd\x71\x33\x3d\x31\xc3\x6c\xa2\x39\x4c\xaa\x8c\x2a\x1a\x21\xd8\x10\x6d\xf7\x05\x5b\x38\x12\x00\x87\x04\x2f\x5c\xcf\x70\xb2\x94\xb8\x6c\x83\x1e\x6f\x75\x5a\x70\x1b\x69\x85\xd5\xb5\x9a\x61\xc5\xea\x17\xbc\xdf\xe3\xd8\xba\x09\xef\x69\xa3\xc0\x64\x5d\x5d\x65\x34\x13\x62\x9a\xa1\xe0\x81\x38\x67\x71\xbb\xc9\xf1\x5d\x91\x87\x77\xb8\xcd\xaf\x3f\xfc\xf0\x02\xf7\x52\x61\x7c\x94\x1e\xbd\x00\x1e\xc3\x8c\x0d\x41\x64\x98\xfe\xeb\x0b\x4a\xde\x80\xd2\x91\xdf\xdc\xa8\x03\x1d\xcd\x78\xda\x02\x08\x79\xc2\xe4\xbf\x21\x7d\x97\xf9\x0f\xfc\xf4\x9f\xa8\xb7\xf5\x36\x04\xf4\xe1\x54\x47\xc6\xb7\xbd\xf2\x37\x51\x3a\x07\x66\xe4\xc1\xeb\x54\x97\x0f\x4f\xa7\x3d\x08\xc3\xf0\x84\x21\x49\xb1\xaa\x6e\x80\x33\xa7\xa2\x5b\xd3\x30\xdd\x3d\xcc\x23\x7a\x2b\xb9\xa9\x2a\x37\xe9\xd5\x01\x66\xd0\xff\x0c\x94\x1b\xc0\x19\xa7\x50\x85\x1d\xcb\xc0\x19\x3b\x87\x47\x3d\x28\xc3\x3e\xde\xa6\x86\xb9\x82\xd2\x85\x6c\x3e\xc3\xe5\x71\xb6\x71\xd0\xd7\x86\xa9\x6d\x2c\x2b\x4e\x0a\x0f\x5b\x8e\xd5\x24\x7a\xff\x27\x84\x06\x6d\x45\x9d\xd0\xc3\xbe\x9c\xc2\x8c\x41\xaf\x75\x74\x0d\xd9\x4b\xe2\xb0\x61\x76\x2e\x40\x29\xdc\x8a\x5f\x81\x25\xd0\x81\x07\x96\x60\xb4\x50\x51\x87\x34\x7e\x54\xb5\xe1\x14\xe2\xfc\x5b\xb1\x0f\xaf\xb1\x0f\xd3\xd8\xe1\x0a\x81\x39\x75\x5e\x06\xf0\x86\x32\x7e\x7a\x61\x15\xff\xcb\x8e\xfe\x57\xb8\x0b\xe3\xc1\x33\x09\x4c\x7c\x5a\x1a\xd2\x72\x90\x3b\x65\x02\x8f\x2e\x48\xff\x9a\x30\x07\x01\xc3\xe8\x18\xf8\xff\x29\x9d\xac\xe5\x2c\xcd\x03\xdc\x25\xe9\xe1\xc9\x00\xff\x7a\x3d\xc3\x7f\x82\x25\x96\x5e\x4f\x0d\x82\x6f\xcf\x21\x1d\x49\x10\xf6\xdf\xff\xbe\x87\x7b\x4a\x38\x53\xca\xd1\x57\x0d\x08\xf6\x15\x72\x84\x03\x93\x9d\x89\x5e\x81\x33\x11\x79\xf1\x59\x0e\x59\x3c\x95\x57\xc6\x21\xcc\x71\x5b\x01\x12\x3b\x73\x07\xf7\x7e\xf8\x3d\x98\xbb\xe8\xb4\x0d\x53\x17\xe7\x40\xc7\x29\xd0\x7f\x7d\xf9\x9c\x79\xb1\xe2\x1a\x03\x48\x4f\xb9\xfe\x26\x8a\x7b\x3d\x4c\xf7\x1a\x65\x92\xc3\x87\x43\x49\x76\x5e\x5c\x68\x24\xc9\x7d\x09\x85\x0c\xf5\x1e\x5d\x07\x03\x30\x76\x90\xe9\x88\x6c\x5c\x54\x26\xa6\x2c\xc0\x5c\xfb\x0f\x5c\x09\x3a\x26\x08\x4c\x21\x5e\xd5\xe7\xaf\xa9\x91\xb8\x60\x0d\xe2\x6c\x00\x1e\x81\x37\x71\xc7\xbf\x42\x09\xe2\x62\x9e\x60\xf0\x4b\x16\x65\xfe\x9f\x0c\xb1\x2f\x13\xa7\x98\xa5\x73\xeb\xbf\x20\x4c\xbf\x26\x67\x99\x68\x5c\x7e\x41\x18\xe2\xba\x57\xff\xfc\xaa\xd9\x2b\x9c\xc8\xf7\xd3\xb9\xf6\x02\x7a\xeb\xfe\xc8\x06\x7f\xd0\xc8\x7e\x8e\xab\x39\x5c\x0d\x6e\xf0\x60\x70\x83\xb7\x07\xf7\xac\x30\x4e\x54\x02\x2d\x9f\x50\x19\xd3\x08\x9e\x80\x79\xe1\x3b\x30\x7d\xf0\x49\x94\x1e\xe6\xbc\x3c\x21\xd2\x61\xfc\x7e\x82\x23\xc5\x56\x7d\xfe\xeb\x35\x3b\x2f\xf9\x9b\xa2\x6c\xf8\x51\xca\x82\xef\xa4\x2c\x78\x27\x65\xe9\x64\x03\x69\xbd\x15\x67\xee\x36\xe2\x04\x5c\x28\x11\xe2\x49\x61\x7d\xc6\x5e\x13\x58\x2f\x81\xa3\x82\xf2\xbd\xc6\x57\xbf\x51\x34\x01\xc4\x35\x1e\xdd\xd6\x45\x7d\xa4\xac\x60\x41\xb6\x64\xb6\xc4\xa4\xe0\x34\x3a\xf5\xeb\x54\x40\x70\xa6\x22\x5d\x19\x7b\x63\xdb\x08\x80\x7d\x05\x3e\x59\x0e\x26\x7d\x04\x7f\x52\x14\xf1\x05\xd8\x29\x11\x34\xbd\xa9\x2f\xf4\xd7\x79\xe4\x3a\x4f\x5a\x4e\x2a\xc2\x40\x51\xbb\x0b\xf5\x8a\xd8\xff\x12\xe7\x25\x02\xc2\x96\x48\xfc\xcb\xdf\xf7\x45\xe2\xe5\xcf\x2f\x7f\xdf\x50\x05\xbd\x08\xbe\x80\xda\xe3\xff\x64\xbe\xfc\x15\x30\x4c\x75\xbd\x95\x91\x82\x23\x63\xb8\x0a\x15\xc3\xa9\x10\xce\x0a\xcc\xc3\x17\xcd\xdb\xa7\x00\x29\x0c\x48\x13\x95\x18\x50\x83\x80\xf3\x5c\x94\x82\xc9\x27\x30\x7a\x0c\xa3\x43\x98\x59\x6e\x96\x82\xa1\x13\x18\x23\x86\x31\x20\x8c\x9e\x0b\x52\x30\x85\x04\x46\x8d\x61\x4c\x08\xe3\x5c\xe0\x29\x22\x18\x82\xd0\x88\x18\x66\x86\x3a\x68\x02\xd2\xcd\x14\x58\x29\x01\x23\x63\x30\x0b\x82\x65\x73\x5f\x52\x30\xe5\xb8\x39\x8a\x8e\x61\xe6\x10\x66\x95\x73\x52\x30\x95\x84\x24\x2d\x86\xb1\x21\xcc\xf6\xa2\xfb\x6a\xcc\x4b\xb2\x1c\xc3\x2c\x20\x0c\x0e\x43\xff\x82\x4c\xca\x14\xb0\x96\x00\x27\xf4\x2f\x21\x70\xe4\xf9\x37\x90\x7a\x0c\x79\xe2\xaa\x93\x40\xc2\xec\x88\x29\x40\x23\x41\x99\xf4\xc3\x4d\xb5\x7f\x05\x6b\xc6\xb0\xf9\x04\xe9\x0a\xb1\xd8\x5e\x99\x5f\xd0\xd5\xfa\x14\xe8\x0c\x83\xe6\xb5\x64\x34\x3c\x08\x1a\x02\x7b\x96\x3c\x43\x95\x88\x04\x2a\x61\x90\x9f\x40\xe5\x53\x50\x89\xb8\x11\x49\xaf\xd7\x09\x54\x21\x05\x45\x25\xb8\x12\xe2\x82\x04\xaa\x94\x82\xca\x27\x50\x89\x24\x85\x09\x54\x25\x05\x45\x27\x4c\x49\x70\x45\xa8\xa3\x80\x1b\x5f\xa2\xb4\xa4\x94\x62\xa1\x2b\x9c\xa4\x60\x03\x01\xd1\x60\x5c\x41\x16\x13\xde\x25\x90\xdb\x14\x9f\x2f\x41\x4b\x09\xd2\xa4\xf5\x5d\x32\x76\x97\x70\xe5\x84\x2f\xc9\x34\xdc\x23\xf1\x8a\xf3\x11\x7d\xc1\x25\x47\x4e\xd0\xb1\x30\x52\xc5\x84\x80\x03\xee\x53\x18\x7e\x31\xe1\xfd\x83\x14\xa8\x9a\x80\x16\x62\xd0\x63\x3c\xbf\x81\xa5\x16\xdc\x40\x63\xa1\x24\xf2\x7a\x32\x3c\xff\x01\xa1\x7d\x3b\x05\xa2\x27\x08\x13\x90\xff\x44\x93\xc5\x8b\x6e\x90\x19\xf1\xd4\x53\xf3\x31\xe4\x3f\x11\x9b\x02\xe0\x07\x87\xf3\x2f\x3e\x74\x82\x52\xd0\x66\x32\x51\x4b\x31\xf4\x7f\xa1\xf9\xec\x45\xe7\x25\x38\x29\x35\x89\x31\x7c\xb7\xf6\x2d\xbc\x4f\xfb\x32\xef\xd2\xbe\x71\x77\x2e\xb5\x2f\x05\x44\x33\x73\xd9\xf7\xff\x75\xbf\xef\xe9\x7e\x49\xc0\x09\x85\x95\x82\x61\x77\x60\x02\x8c\x24\x8b\xc9\xb3\x25\x2a\x49\xd3\xff\x8c\xd4\x4d\x08\x68\x41\x01\xe3\x29\xe7\x1d\x56\x22\xfe\x6e\x4e\x16\xdf\xc7\x49\xfa\x5d\xe4\x19\x90\x94\xef\xe1\xe3\x19\x9e\x26\x12\x78\xcd\x8c\xe1\xff\x06\xe1\xf3\x39\x3a\x05\x55\xd0\x62\x28\x32\x9f\xcc\xb6\x5f\x20\xd4\x8b\xbd\x78\x01\x1a\xd0\x42\x27\x33\x99\x57\x1c\x70\x64\x79\x66\x88\xd3\xe6\x41\xb4\xb3\xd9\xcf\x9f\x52\x88\xf4\x53\x73\x89\x0a\xfa\x3b\x44\x44\xe6\xa8\x14\x90\x91\x00\x95\x12\x1d\xf0\x6b\x7a\x6e\x67\x34\x35\xf8\xe1\x72\x0a\xc6\x5d\x2e\xa7\xe7\x20\x0c\xb1\x04\x93\x21\xbc\x9c\x89\x18\xb2\x58\x4c\x4f\xc5\xd9\xe5\x14\x8c\x09\xd4\xd3\x73\x90\x04\xfc\xb8\x98\x79\x31\x10\x9d\x9e\x7a\xaa\xbe\x89\x2f\x49\xa5\x85\x34\xae\x52\xfd\xdd\x22\x53\x7a\x9f\xc8\x70\x57\xb9\x9d\x6e\x21\x0a\xef\x12\xaa\x19\x26\xf7\x52\xac\x4e\x02\x40\xe8\xf4\x85\x00\x30\x2f\x99\x8d\xeb\x00\xa7\xf6\xde\x18\x1b\xc5\xf4\x18\xbf\xf4\xee\xc0\x9e\xd8\xad\x17\xd2\x43\x0d\xf1\x06\x28\xc4\xe8\x04\x79\xe2\xb9\xa1\xa7\x79\xfe\xb2\x39\x61\xbd\xb4\xe5\x30\xb0\x59\x49\x1b\x73\x2f\xe6\x4b\x3c\x48\xf7\xc4\xc7\xa4\xd3\xe2\xf3\xa2\xde\x92\x7b\x16\xa0\xd9\x85\x00\xbd\x78\x77\x60\x4f\x5d\x33\x0b\x69\x49\x82\x78\x2f\xbb\x76\x16\xa7\xd9\xa3\xae\xdd\xc8\x14\x2e\x6b\xfe\xbd\x22\x55\x7e\x9f\x48\x0d\xdf\x27\x30\x88\x96\xdf\x4b\x0d\x99\x44\x5a\x0d\x41\x66\x01\x6b\x7d\x6b\xde\x53\x46\x67\x43\xf6\x17\x6c\x77\x5c\xc8\xcb\x69\xa8\xcc\xd2\x85\x14\xea\x2f\x19\x98\x9e\xd4\x71\xd4\x7b\x62\xa8\x96\xd2\x62\x18\xc6\xe1\x2f\xe1\xc1\xd5\x3c\x98\xea\xca\xdb\xc0\x83\x80\xf0\xd3\x7d\xf9\xa9\x5c\xc8\xcf\x49\xd6\xee\x89\x4f\xe5\x42\x7c\x36\x49\x2f\xef\x49\x4f\xf9\x42\x7a\xcc\x5b\x50\xf3\x46\xff\x21\xf1\x79\x5b\x74\x92\x8a\xf8\xdf\x2d\x43\x95\xf7\xc9\xd0\xe0\x03\x32\x04\x37\x7c\x11\x51\x97\xc2\xf4\x7d\xc2\x61\x5e\xae\x54\x00\x56\xb7\x03\x7d\xe3\xce\x1c\x73\xff\x9b\xc5\xc4\x54\x2f\xb4\x95\xf9\x00\xf9\x69\x64\xcc\x64\x71\xfd\xdf\x78\xd9\xbc\x80\xbf\xa7\xb7\x66\xf4\x85\xde\xf2\x1e\xbc\xf0\x2f\x24\x7c\x33\xed\x5a\x77\x5d\xb1\x24\x2d\x84\x75\x13\x86\xc2\x7e\xb7\xec\x91\xc4\xfb\x84\x4f\x78\xdf\x76\x00\x22\xe6\x91\xcc\x9d\x34\xc2\xdf\xde\xab\x11\xfe\xf8\xc5\xd2\xb8\xb0\x8b\x5e\xa4\x3b\x4b\xe0\x1f\xbf\xac\xcd\x2e\x0c\xa4\xab\xc5\xea\x4a\x38\x8c\x59\x5a\x38\xcc\xf0\x68\x46\xb7\x9a\x09\x65\x06\xfc\x2d\x52\x41\xbe\x4f\x2a\xe4\x77\x49\x85\x8d\xa9\xf9\xbd\xd6\xb5\xdf\x22\x46\x7f\xc0\x3a\x77\x52\x17\xbf\x3e\xb2\x8b\x52\xba\xe8\xd2\x86\xda\xdc\x6a\xdd\x94\xb0\x11\xd7\xc2\x76\xad\x30\xce\xb2\x46\x5d\xcb\xda\xef\xa1\x86\xcc\x4b\x13\xca\x4e\x83\xa6\x85\xad\xeb\x05\x3b\xd3\x02\x03\x9c\xab\xaa\xbf\xc9\x3c\x27\xa9\xf7\x49\x1d\xff\xd4\x3e\x2f\xbe\x4b\x2e\x57\x27\xc2\x0d\xf5\xd6\x50\x3f\x0b\xdc\x49\xf7\xfc\xed\x4a\xf7\xdc\x55\x54\xc5\x4b\x45\xc5\x9f\xdd\xba\xbb\xba\xaa\x7c\xad\xab\xc2\x28\xf0\x96\xe6\xef\x64\xd8\xff\xef\x87\x5a\x2d\x65\xd8\x5f\x2e\x90\xea\xdb\x2a\xb0\x78\x29\x95\xe6\xbd\xee\xa5\x24\xb3\x7c\x2d\x99\xd7\xdd\xfb\x43\x8d\x7b\xd1\xff\x8d\x12\x99\x7f\x9f\x44\x2a\xef\x92\xb7\xd0\xbf\x23\x66\xff\x77\xf4\xa0\x4a\x5e\x48\xe9\xbf\xbd\xe0\xa4\xa8\x91\x69\xdc\x15\x52\xf2\x42\x48\xbb\x2f\x99\xc8\x76\x8c\xbb\x32\xaa\xcd\x2e\x64\xf4\xe7\x14\xe2\x7b\xe2\xa4\x5d\x28\xb9\xab\xf1\x3e\x4b\x11\x79\x21\x45\xab\x9b\xf6\x53\x42\x54\xba\x10\xa2\x2b\xd5\x7d\x21\x1b\x3b\xf0\xc5\x6f\x91\x8d\x77\x1e\xa4\x94\x9e\x6a\xab\xc6\xfb\xa4\x07\xd3\xfb\x50\x49\x55\x2e\x94\x14\x7f\xbb\x0c\xfd\x4b\xee\x3c\xbc\x4b\x41\xfd\x7f\x73\xe7\x41\xdc\xd9\x61\xf8\xfd\xe2\xf7\xce\x9d\xe4\x9f\xde\x29\x5c\x80\x96\x47\x8a\xe9\x64\xb5\xfc\xaf\x47\x56\xcb\x77\xfa\x95\x95\x0b\x31\xbc\x75\xb4\xfe\x15\x5c\xca\x33\xfc\xec\xc6\x86\xfa\xc7\xa5\x0d\xf5\xfb\x78\x9f\xff\x02\x3e\xc6\xbb\x1c\x50\x14\x1d\x66\xe2\x60\xb4\xaf\xaa\x61\xbc\xbe\xe0\x70\x38\x75\x63\xd8\x5e\x0e\x06\xc4\x03\x24\x2f\xf8\x2f\xcf\xb2\xbe\xc1\x74\xe8\xf0\xcc\xe8\x87\x97\x11\x65\xac\xa4\x1d\xc3\x31\xa7\x9f\xea\x7c\x3d\x29\x08\xe8\xd7\x4e\x6d\xcb\x2f\x64\xb6\x61\xd5\x28\x2d\xdf\xb2\xd5\x69\x07\x83\xc8\x5c\xe9\x04\xde\xd0\x59\xfc\x0b\x47\xbf\x64\xb2\x3f\xbc\x30\x52\x65\xa5\x90\x1d\x26\xfd\x43\xab\xce\x46\xb4\x78\xf4\xbb\x19\x36\xf3\x3c\x97\xcf\xdd\xfc\x94\x97\x55\xc3\xad\x1c\x64\xd7\x39\x36\x06\x00\xb0\x36\xf7\x11\x42\xbd\x6e\x6d\x46\xf9\xd6\xaa\x59\xdf\xfb\xb2\xa3\x6c\x75\xb7\xe5\xeb\x07\xb6\xd5\xac\x36\x77\x9d\xea\x72\xd7\x3d\x32\x05\xdc\x0c\x5f\x4b\x10\x08\x52\xab\x3a\x06\x0d\xa2\x6e\x55\x6b\x9d\x66\x67\xc2\x10\x2d\x76\x8c\x29\x64\x18\x80\x9f\xb5\x5a\xdc\xb2\xb7\xa4\x94\x96\xa0\x4e\x24\x4f\x9c\x17\xdc\xd6\xb0\x29\x8a\xae\xe3\x74\xa4\x9d\xad\xd8\x92\xad\x4b\xb2\x4c\xef\xf6\xfb\xf9\x7c\xb1\xa8\x36\xea\xf5\x7a\xaf\xd3\xac\x0e\x97\x35\xf8\x36\x40\x2d\x30\x6e\x0f\x21\xf4\xb2\x4a\x4b\x0d\xe9\x82\xb2\xb7\x56\x8b\x95\x60\xf5\x26\x4e\xaf\x27\xe8\x16\x4b\xfb\x43\xba\xba\x6c\xed\xb6\x92\x2b\x53\x45\x37\x12\x94\x40\x0b\x69\xbf\x35\xb0\xba\x93\x81\x04\xe8\x68\x32\x03\xde\x9a\xcf\x87\x43\x51\xe4\xea\xb5\x5a\x5d\x68\x22\x84\x4d\x19\xfc\x78\xe0\x8b\xfd\xfe\x70\xe0\xea\xab\x55\xa3\x29\x08\x6b\xdb\xb2\x2c\x0f\xfc\xcd\x55\x47\xd5\xb6\xef\xb7\xba\xbd\xde\xc6\xf5\x3c\x9a\x2e\x16\x6d\x9b\x20\xf8\x66\xbb\xad\x8d\x44\x71\xb9\xdb\x93\x63\x65\x11\x04\x44\x7d\x3a\xdd\x1f\x11\xc2\xe3\x62\x05\x90\xf4\x7b\x3d\xd3\xd4\xf5\x32\xdd\x1a\x2c\xbb\x13\xc0\x04\x0b\x32\x6d\x60\xc9\x8a\xc2\xb2\x1c\x07\x29\xa8\x09\x4d\x41\x55\x65\x1d\x36\xd4\xac\x0e\x96\x35\x40\x25\x60\xa2\x85\xf8\xcb\x36\x96\xc3\x61\x0b\x21\x0c\x87\xa3\x76\x38\x3c\x76\x09\x71\xd8\x2f\xdb\xfb\x21\x7f\x9c\x0e\x3b\xc4\x78\x34\xe6\xc9\x31\xfc\x31\xc6\xe4\xd4\x70\xa7\x53\x63\x05\x3f\xa4\xe2\x36\xc7\xda\xa6\x41\x2a\x1b\xf0\x3f\xd5\x1c\x1b\x15\x7a\x3c\xaf\x37\x15\xf4\x41\x08\xe1\x2f\xd9\x46\x7e\x56\xc9\xc3\x0f\x61\x75\xeb\x83\x31\x68\x99\x05\x5c\x5e\xf4\x14\x6d\x21\xa8\x4d\xbb\xbe\x6e\xdb\x3d\xb5\x59\x9d\x37\xd5\x90\xb1\xd8\x25\xa4\x1e\xc0\xb4\x96\x76\xd3\x5f\xae\xbb\x2d\xdf\x55\xd6\x81\xeb\x6a\x08\x61\xe4\xda\x41\xe4\xe6\xdb\xa1\x7d\x6c\x87\xd6\x81\x9f\xaf\x77\x50\x1a\x58\x34\xf8\xf0\x47\x60\x7d\x77\xad\xdc\xff\xb8\x8a\xe2\xb8\xe3\xd3\x07\x21\x4c\x3f\x78\xf4\x19\xd4\x17\x4d\xc1\x02\x6d\x80\xcf\x3e\xcf\xeb\xe0\xb3\x1c\x8e\x9b\xcb\x7d\xbe\x19\xb2\x3b\x3c\xea\x07\xd0\x36\x42\x08\x7b\x27\xd9\xc7\x9a\xbe\x18\x36\xf4\xe3\x08\x7c\x8e\xe0\xb3\x6f\x18\xfc\xa8\xe5\xf0\xc7\x6e\x85\xdf\xf5\x39\x86\x54\x58\x48\xb0\x05\x64\x05\x0f\x02\xd3\x19\x82\x77\x86\xc7\x16\xe4\xbd\x64\xe7\x47\xfa\x62\x3c\xc5\x33\xe5\x98\x9f\xea\x44\x7e\x0a\x99\x3f\xfe\xc8\x8f\xdc\xc0\x23\x0d\x59\xc3\xd5\x0d\xc5\x57\xd6\x08\xa1\xc5\x58\xc7\x65\x9d\xc7\x83\x81\xdb\x97\xbd\xc1\xbc\x5a\x65\x12\x01\x06\x2f\x34\xed\x79\x81\xe3\x54\xa2\x15\x1c\x8f\xa3\x65\xcf\xdd\x4c\xac\xf5\x50\xd4\x88\x72\xbd\x35\x6e\x85\xab\x8d\xea\xca\x6e\xbe\x8f\x67\x0a\x94\x3f\xad\x43\x2b\x74\x61\x7f\x3c\xda\x2b\xc1\xd5\x27\x96\x6b\x70\xaa\x5e\x2e\xb4\xaa\xad\xb5\xe3\xb5\x56\x03\x77\xd5\xef\x99\x43\x41\x63\x8b\x94\x4f\xf8\xfe\xf1\x38\x07\xb2\xcb\x94\xea\xf5\x49\x1d\xc8\x6e\x01\x3c\xf3\x1a\x6b\xc3\x91\x11\x42\x88\x79\x02\x10\x14\xd6\x76\xa1\xd6\x8a\x8e\x47\xcf\x95\xdc\x83\x49\x6e\xc6\xa2\x06\x04\xbd\x50\x80\x0d\xc5\xc2\xbf\x1e\x17\xf5\x63\xc8\x17\x68\x05\x3c\xf3\x56\xaa\x4b\x6d\x0a\xdc\x98\x02\x48\x4b\x05\xa5\x75\xdc\xe0\x99\x32\x58\xcd\x53\x33\x05\x23\xb0\x1c\x6e\x40\xca\x2c\x83\x34\xd8\x70\x4e\xb1\x8b\xfa\x4a\x6e\x5a\x33\x99\xae\xcb\xf3\xc1\xdc\xb7\xeb\xa3\xc6\x4a\xec\x57\xfd\x9e\xd5\xd1\x2d\xdf\x67\x8b\xdd\xc5\x52\x11\x10\xc2\xb5\xdc\x1d\x48\xf3\xe5\xca\x9f\x8a\x1c\x54\x41\x68\x2c\x19\x8e\xe7\x6b\xad\x66\x53\x96\x24\x69\x79\x52\x00\xe0\x47\x68\x36\x55\xd0\xb0\xe5\xad\xd7\x82\x28\xda\x76\x20\x08\xed\x7e\xa7\x13\x82\x9f\xf2\xee\x80\x10\x1e\x8a\xc7\xea\x11\x4c\xef\xb0\xd3\x19\x0c\x76\xbb\x7d\xd4\x6d\x09\xed\x2a\x18\x70\xb7\xd7\x8d\x4c\xf0\x76\x91\x2e\x88\xf5\x8d\x13\x19\x8a\x2a\x14\x27\xa0\x01\xcf\xf7\x45\x86\x50\xd8\x58\xe3\x70\xec\x72\xc9\xf3\xf5\x3a\x68\x1c\x21\x44\x14\xf8\xf3\xc3\xc1\x76\x57\x5e\xb3\x29\x5c\xcb\x5c\x99\x1b\xf5\xf9\x61\x7e\x78\xf5\xe9\x97\x87\x60\xde\xdb\x63\xf0\x01\x73\xdf\x26\x47\x9d\x23\x89\x15\xec\xb8\x36\x06\x93\x9f\x54\x9c\xfc\x54\x8b\xe8\xb1\x41\x35\xa6\x33\x12\xcc\x6b\x92\x26\x67\x35\x5a\x71\x26\xca\xed\x87\x8b\x35\x36\x6a\x91\x6f\x02\xd6\x0c\x10\x6b\x10\xc2\xb9\x32\xb4\x81\x06\x6e\xac\x9a\xdd\xde\xc0\x72\xd9\x13\x1f\xe3\x39\x31\xcc\xf3\xd2\xbe\xc0\xeb\x07\x85\x5f\x8a\xa5\xe6\x72\x64\x34\xc3\xe3\xac\x49\x8c\x72\x1d\x82\x18\x76\x6b\xd2\x68\xd8\x95\xf6\x63\x83\x18\x8e\x49\x84\x90\xd8\x2b\x8e\x74\x54\x0c\xe2\x38\x76\x08\x72\xec\x90\x53\xc5\xa1\x34\x40\x49\xc9\xa8\x4c\x34\xa5\x92\xcf\x19\x97\x9f\x8a\x41\xc6\xaa\xdf\x02\x0c\xb4\x9a\x47\x57\x6c\xda\xe0\xb3\x88\x97\x00\x9a\xb0\x45\xb6\x29\xd6\x03\x40\x92\x82\x66\x29\x67\x09\xcd\x92\xdd\x6b\xd2\x0b\x51\x69\x2e\x27\x4a\xd3\x35\x15\x65\x65\x2b\x6b\xa0\xa5\x4a\xfe\x5a\x6d\x0a\x58\x8d\xa1\x49\xc4\xc7\x4b\xa8\xa5\x36\xd7\x2b\x2c\xd8\xe0\x17\xbb\x19\x80\x0f\xed\xd9\x8a\xe2\x83\x17\xd7\x1b\xb5\x15\x1e\xd6\xa5\x60\xf3\x91\xcf\x92\xf5\xb0\xd8\x70\x1e\x68\x08\x2e\x38\xc6\xa1\x85\x3e\x63\x11\x7c\x0e\x2d\x46\x6f\x56\xc7\xcb\x1a\xd3\xb1\x10\x4b\x77\x55\x5e\x1f\x90\x40\x65\x95\x9a\xe1\x68\xd6\x89\x79\xd8\xa9\x10\xa3\x4e\x65\x3c\x1d\xd6\x6a\x40\x8d\x21\x84\xc9\x0a\x96\x98\x0e\xbb\x16\xd3\x11\x4b\xbc\x7e\x34\xf8\xa5\x34\x6e\x46\xe4\xb8\x49\x82\x4f\x34\x1e\x0f\x2a\xcf\x14\x10\x16\x9b\xd4\x0f\x09\x46\x8c\x38\x8a\x60\xa4\x39\x38\xd2\x90\xa5\x8b\xc1\x40\x56\xe6\x2c\x27\xe8\x3e\xcb\x69\x0b\x52\xe6\xaa\x0d\xb7\xc5\x4c\xe6\xbd\x81\x3a\xdf\xb3\x36\xef\xef\x99\x63\xb5\xba\xec\x36\x57\xe2\x00\x21\x1c\x88\x7a\x65\xd3\x6a\x16\x76\xbb\xe3\x91\xae\x35\xbd\x9a\x34\xec\x58\x34\xe1\x74\x69\xda\xaa\xea\x82\x3b\xe5\x57\x4e\x8f\x99\xc3\xb9\xcd\x33\x35\x1e\x76\x66\x7f\xa8\x36\xf8\x7a\xa3\xdd\x13\x75\xd7\x1a\x76\xe8\x3d\xa7\x50\xd2\xa1\xba\xc4\x83\xe2\x2b\x7d\x11\x2c\xb0\x91\x33\xb7\x8e\x82\x38\x71\x79\xb7\x0f\xd6\x7b\xf0\x4c\x77\x97\x0e\x3b\x6f\xdb\x3e\xb5\xe4\xdd\x5e\x2b\x18\xa0\x49\xde\x80\xf2\xc9\x15\x81\x72\x65\x25\x76\x00\xa7\x54\xbd\xd9\x91\x2c\xcf\x07\xf2\x2c\x62\x6d\x63\xaf\xdc\x65\xad\x2d\x74\x4c\x49\x07\xf3\xb4\xe0\x17\xf6\xa3\xe3\x62\xd9\x6c\xc8\x23\xa1\x33\x50\x0d\x6b\xcf\xf8\xfe\x10\x3c\xb3\x57\x8d\x46\x73\xd4\x19\x98\x13\xdd\xaa\xb0\x2c\x34\xcf\x9a\x1d\x28\x65\x55\x66\x60\x5b\x84\xc2\x4b\x78\x4d\xe1\x39\x9d\xa1\x1b\xcc\xf2\x58\xe8\x10\xe2\x7e\xe0\x88\xfb\x6e\xed\xb8\x1f\x3a\xe4\xbe\xdb\x25\x0b\x12\x71\x1c\x0d\x48\x69\x3c\x1c\x1f\xf6\xdd\x31\x09\xfe\xa7\xf6\x4a\x77\xac\xc9\x0e\x60\x77\x77\x34\x1b\x82\xaf\xba\x35\xf0\x78\x4c\x14\x14\x3c\xca\x63\x6d\x0c\xb4\xea\xd0\xa1\xc0\xd3\xfc\x50\x19\x93\x60\x96\x80\x97\xb2\xe3\x82\x42\xe6\x8f\xdd\xee\x04\x3e\x33\x20\x92\x31\x49\x16\x94\xca\xb4\xa2\x44\x53\xc5\x3a\x35\x34\x1a\x0e\x71\x43\x47\x05\x8f\x32\x59\x92\x49\x69\x3a\x1c\x4b\xe3\xb1\x33\x01\x5f\x4c\xc0\xd4\x9b\xcc\x8c\xf1\xb8\xa2\x54\xc4\x3d\x04\xee\x76\x29\x40\xc1\x58\x53\xc6\xd4\x6c\x1c\x8d\x15\xa5\x42\x03\xf8\xe9\xd8\x70\x28\x00\x07\x1a\xcc\x4e\x2a\x66\x8d\x9e\x29\x15\x3c\xf5\x86\x73\x44\x01\x59\x01\xef\x02\x60\xd9\x50\x1c\x59\x33\xc8\xfc\x61\x0e\x16\x72\x67\xed\xad\xed\xb5\x6b\xdb\xeb\xf5\xda\x5d\x47\x2e\xb5\x0e\xd6\xa4\xe6\x6d\x6c\xf0\x3c\x10\x42\xd7\x04\x7f\x1f\x85\x70\x9d\x0d\x02\xf7\x18\xe0\xa9\x07\x80\x03\xf0\x52\x68\x1f\xd6\x6b\xfb\x10\x84\xeb\x63\x69\x6d\x1f\x83\x08\x3c\xdb\xac\xf3\x42\x18\x70\x5a\xb0\xde\x06\xd1\xa6\xdc\xde\x1d\x8e\xc1\x66\xc5\x01\xf8\x62\x10\x6e\x30\x1c\x80\x09\xf6\xab\x46\xb0\x59\xb0\x65\x2c\x36\xf6\xaa\xed\xaf\xb7\xe0\x65\xb7\xb8\x71\xc1\x9c\x5c\x35\x3a\x91\x4b\xe8\x5e\x11\xa0\xb1\x83\xf6\x2e\xa8\x0a\xe1\x26\x17\x6c\xec\x2c\x61\x88\x35\xd0\xd7\xa9\xe1\xd4\xf2\x8b\x31\x35\x56\x2a\x14\x39\x33\x0a\x05\xad\x42\x4f\x0e\xda\x68\x93\x43\x08\x83\xd9\x56\xd0\xcd\x4d\x91\xd8\x5a\x85\x23\x55\xd6\x37\x9a\x12\x35\xda\xdd\x4d\xbd\x94\x8d\xb2\x65\xed\x28\x1c\x2b\xf3\x5e\xb3\xe8\x28\x85\x35\xa5\xa9\xeb\x75\xa0\x6c\xd6\xeb\xec\xe6\xa0\xd9\xdb\x6a\xd0\x8b\x38\xc0\xfb\xca\x54\x19\x3b\xf9\xa3\x61\xe0\xb9\x3c\x34\x36\xf9\xa3\xd9\x03\x8c\xed\x02\xbe\xac\x37\x80\xaa\x2d\xa4\x6a\xd1\xd0\xf7\x2e\x68\xe0\xc8\xe8\x53\x23\xa4\x16\xce\x76\xba\xd2\x84\x88\xcb\x93\x8b\x43\x5f\x6f\x1d\xa9\xad\x06\xba\x5a\xea\x6d\xfa\x94\xa1\xf6\xb6\x55\x66\xd5\x40\x08\x17\x3b\x38\x03\x78\x34\x03\xf8\xb2\xcf\x78\x22\x1f\x30\x1e\x43\x03\x15\x54\x6f\x9a\xba\x24\xed\x99\xf5\x1e\x4c\x6f\xbe\xd6\x5e\x37\x85\xa1\xd4\x19\xc8\x73\x9d\x28\x08\xfb\xe1\x41\x92\x78\x7f\xdd\x54\x46\x92\x10\xca\xd6\xb8\x59\xc0\x06\xe7\xa1\x75\x18\xf1\x4b\xdf\x13\x94\x91\x28\x59\xe6\xdc\x1f\xb3\x82\x5a\xac\x4b\xa4\xd3\x0a\x42\x55\x93\xe4\x0d\x61\xf9\xac\x22\xa8\x22\x25\x11\x8e\xbf\x5e\xeb\x9a\x34\xf1\x76\x43\x79\xcf\x1c\x0a\xc5\xe1\xf2\xb8\x5c\xb6\x7c\x6d\x30\x11\xdd\x65\x84\x8d\x25\xd0\x5a\xa1\xc8\x2d\x81\x7d\x2e\xf8\xea\x40\x12\x09\x2f\x1a\x87\xfb\xd6\x41\xe5\x16\xc4\xb2\xd6\x5c\xab\x03\x51\x22\x5c\x3f\x42\x0d\x4d\x96\xb5\x65\x24\x74\x34\x59\x9a\x50\xf4\x9e\x9c\xef\x61\x43\x4b\xde\x89\x5a\x82\x2e\xc7\xcb\x28\x45\x44\x7b\xdf\x5b\xec\x6d\x16\xb4\xb6\x6a\xad\x5a\x1d\x11\xb6\xe6\x74\x5b\x6a\x01\xb8\x13\xb0\x21\x57\xee\x01\xfd\xb1\x8e\x1c\xa5\x25\x1e\x41\x8f\x50\x43\x72\xaf\x27\x2e\x97\x7e\xe4\xb7\x84\x91\x00\x7a\xb4\xf4\xb1\xe5\x10\xca\x63\xa0\x63\x80\x35\xef\xef\x45\xad\x3a\x81\xdd\x02\xad\xa9\x00\xe9\x2e\xda\x3b\xbe\x36\x6a\x8f\x49\xbe\xe6\xb5\x71\xb7\xdc\x08\x4c\x95\x40\x5d\xe7\xeb\x80\x7f\x41\x4b\x95\x64\x91\x58\xef\xa3\x21\x70\x39\x16\x0d\x17\xdb\xd8\x4b\xdf\x0f\x40\xb7\x26\xa0\x5b\xfb\x21\x30\xaa\xed\x7c\xdd\x75\xba\x41\x57\xd5\x26\xaa\x4b\xef\x0b\x73\x5f\xd3\x46\xf9\x89\xbb\xea\x0a\x81\xa1\x49\x92\x07\x7b\xe4\x2f\x34\x2d\x3f\x76\x57\xdb\x6d\x53\xc0\xfc\x03\x3d\xb2\x11\x42\x15\x20\x20\x5d\x21\xf2\x94\xd1\x44\xb4\xd7\x7b\xd0\x2d\x55\x03\x5a\x99\x72\xd6\x9d\x1e\x18\x28\x79\x09\x1a\x02\x5d\x5d\x70\xb0\xa1\x28\xdc\xa8\x2a\x68\x68\xb7\x2f\x00\x83\xc4\x2e\x4d\x5d\x6a\xd5\x0d\xbb\x33\x30\x50\xeb\x1d\x1e\x14\xd0\xda\x48\x2c\x4d\x27\x93\x55\xaf\xbf\x99\x8d\x27\xc0\x79\x03\x62\xd4\x61\x06\x4d\xa6\xa5\xa8\xc0\x1f\x69\x49\x0c\x52\xa4\x7c\xbd\x29\x85\x85\x96\x3a\x64\x0f\xc7\xea\x72\xcd\x49\xed\x4e\x4f\x34\x7d\x7d\xb9\xe7\x04\xd1\x19\x1f\x79\x1e\x7b\x52\x2d\x6d\x0a\xb9\xeb\xef\x0d\x19\x18\xa9\x13\xa7\xb6\x0c\xd7\x6d\x7d\x3c\x51\x0f\x80\xe1\x80\x37\x6d\x80\xcb\x8b\x15\x29\xbb\xa4\x5a\xfb\x01\x2f\x80\xd5\xb0\x05\xdc\x22\xf8\x0c\xe8\x6b\x20\x98\x8c\xac\xf8\x43\xbb\x8a\x2d\x07\xd6\x5e\xd6\xea\x9d\x41\x73\x2d\xc9\x50\x84\xfc\xe1\x70\x01\x47\xbb\xde\xe8\xf4\x06\xb6\xa7\xc8\xe5\x02\x2b\x70\x2e\x2f\xf1\xde\x5a\x90\xa5\x01\x18\x59\xc7\x1f\x40\x3b\xc5\xd3\xe1\x0a\xaf\x75\x39\x69\xc2\x1e\x2c\xa2\xc5\xc4\xde\xa8\x04\xfe\x01\x6f\x14\xb6\xd5\x91\x65\xcb\xa8\x0d\x0e\xc2\xbc\xce\x8f\x78\x6f\xb5\x96\xf9\xc1\xc4\xda\x44\x86\xa1\x88\x6a\x71\x5a\x3b\xd6\xfc\x75\xa0\x8d\xe4\x01\x63\x47\x73\x43\x3e\x88\x87\x69\x9d\xac\xf9\x6e\xa0\x8b\xf2\xc4\x0e\xf1\x12\xc0\xf4\x8e\xc0\xa4\xa8\x86\x3b\xbe\xe9\x01\xc3\xdd\x61\x5a\x60\x21\xe2\x81\xe1\xbe\x07\x94\x2e\x9c\x15\x5f\x07\xbc\x32\x2d\xbd\xcb\x58\x60\xc4\x0f\x7c\xd5\x0e\xea\xab\x26\xa0\xde\xb2\xc6\x90\x7a\xe0\x07\xf2\x80\xa7\xd0\x02\x8b\x97\xd1\x8d\xac\xcf\xa1\x83\x28\xd4\xab\x80\xaf\x4d\x1f\x8c\xec\x60\x00\x6c\xc6\x5a\x4b\x28\x8a\xc0\x92\xe5\x9b\xbe\x3f\x1d\x80\x47\xf6\xdc\xa9\x35\xe1\xda\xb4\x46\x7d\x6d\xb3\x43\xa5\xd1\xe3\x96\x2a\x0b\x97\x58\x8e\x69\x2c\x63\x0a\xc1\x3a\x2b\x2e\x96\x0d\x4f\x19\xd6\xc1\xf4\xb1\x9c\x56\x4b\x84\xd4\xf1\xbc\xdf\x5a\x4f\x01\xcb\x6d\x30\x60\x63\xb9\xc0\x82\xf9\xed\xd4\x82\xb0\xd9\x1a\xc1\x89\x40\x1a\x73\x30\x15\xc5\x7c\x7d\xb2\x04\xf2\xa9\x8f\x65\xb5\x48\x63\xfb\xd0\x37\x14\x3b\xa8\x4e\xa7\x64\x6d\xdd\x01\x26\xb0\xaa\x82\xb9\x0c\x66\x48\x70\xd4\x80\x8f\xd8\xdd\xd5\xd8\x1d\xb7\x63\xf6\x51\xad\x6b\xeb\x32\x27\x7a\x84\xc2\x49\xcc\x92\xd1\x19\x8b\xe3\xc0\x60\xf6\x20\xdf\x25\xd9\xf3\xf6\xc0\xd8\xc7\xa3\xcc\x71\xab\x9a\x0b\xbc\x00\x41\x95\x65\xec\x05\x40\x03\x14\xba\x11\x00\x38\xf6\x0c\xf6\xfe\x1c\xb9\x16\x8d\xc4\x5b\xa0\x2f\xdd\x8d\xc4\x83\x40\x08\xb1\x1b\x01\xa8\xe1\xfc\x1d\x5c\xbb\xc3\x5a\x6d\xa9\xd3\xc2\xd0\xe3\xa1\xd9\xdb\x64\xd6\xd0\xde\x66\x6b\x13\xd9\x83\xfb\x0d\x96\xc6\xc5\xfb\x0d\x1d\x30\x8d\xf1\xb3\xf9\x42\x8b\x9f\x21\x84\x1d\x1d\x90\xe6\x5d\x6e\x4e\x74\x74\xf9\x66\xc3\xe2\x3d\xcf\xb0\x72\xa8\x45\x41\xa0\x81\xa9\xe7\x6e\x22\xe8\x3a\xa8\x45\x8a\x24\x01\x0f\x03\x30\x11\xb6\x3b\xaf\xc1\xf4\xcb\x8d\x3a\x89\xc7\x93\x3b\xec\x10\x0f\x79\xa0\xd0\x19\x76\x51\x75\x1b\xbd\x5e\x6f\x20\x1b\xf3\xa6\xec\x17\x05\x91\x47\x08\xa1\x08\x79\x52\x57\xe8\x89\x96\x33\xaf\xb1\x02\x98\x97\xc0\x3f\xf4\x81\xb2\x15\xa5\xc9\x72\xad\xe8\x64\x4b\x14\xec\x89\xe3\x38\x70\x09\x18\x81\x67\x1e\x6a\x98\x3d\x4c\x1c\xa0\xd5\xd7\x90\x98\x9e\x65\x3b\x51\x77\xa8\x62\x6d\x03\x28\xa2\x78\x20\x60\x2a\xa0\xd2\x0b\xc1\x08\xb3\x82\xb8\x06\xcf\xea\x42\xa7\x2b\x2b\xa2\x04\xd6\xf7\xbd\x31\x07\x92\x50\x5f\x12\x4e\x2b\x6c\xc3\x6e\x16\x0f\x73\xa7\x0b\x7a\x73\x84\x5d\x0f\x23\x01\x20\x95\xbd\x03\xf6\x02\xa0\x88\x88\xaa\x4b\x02\x15\xd6\xee\x82\x96\xb9\x5d\xd5\xd2\x56\x60\xe1\xe2\xed\x9d\x2e\xab\x63\xbf\xdd\xe7\x08\x33\x16\x5e\x8e\x07\x6e\xfd\x90\xc3\x52\x00\x3c\x2f\xcb\x9a\x4b\x50\x64\x8a\x1c\x9a\x14\x78\xdf\x46\x1a\x02\x53\x4e\xd6\x0d\xbc\x9d\xc2\x03\xe6\x02\x8f\x0a\x03\xcf\x5b\x0c\x98\x6e\x7b\x82\xc7\xce\xcd\xa0\xb7\xd1\x93\x59\xc5\x4b\xcb\x00\x88\xd1\x00\xc1\x39\x35\x96\x83\xb3\x0a\x9b\x73\x00\xd8\x93\x81\x73\x68\x2f\x0d\x08\x2c\x20\x60\xcf\x6f\xc9\x10\xd8\x75\x1c\x30\x05\x05\x75\xc2\x63\xb8\x01\x80\x03\xcf\x10\xd2\xd8\xef\x53\x06\x22\x46\xda\xc2\x6b\x0a\xdc\xeb\x92\xe0\xc0\x28\xc3\x01\x02\x06\x5f\x40\x4a\x31\x30\x68\xc8\x5a\xce\xd1\x60\xa9\x18\x41\x33\x41\x8a\x1a\x92\xa0\x89\x5c\x65\xe1\x46\x0a\xd7\xc7\x6e\x45\x4b\xe8\x0b\x4d\x77\x47\xd0\xc0\x8b\x90\xea\x8b\xa6\x68\x71\x40\x67\x33\x8c\x6e\xcc\xd7\xc5\xc3\x6a\x72\xe0\xaa\xb5\x55\x53\x9c\x88\xb4\x38\x00\xfd\xb5\xdb\xf3\x9a\x68\x2f\x9c\x46\x38\x19\x37\xeb\xba\x24\x93\xca\x60\x0f\x74\xe8\x48\x72\xb7\x18\xe1\x0a\x8c\xa6\x24\x65\x0d\x99\xf0\xf6\xbb\xe2\x41\x1a\x2f\x3d\x6f\x29\xb7\x45\x7d\x7d\x20\x8d\x70\x07\x37\x1b\x41\x13\xcc\x8e\xe7\xf8\xa3\x25\x81\x39\xc3\x2e\x9a\x90\xaa\x39\x33\xf0\x19\x81\xdb\xed\xba\xcc\x7e\x0a\xbc\x9c\x02\xdb\xc4\xfe\x32\x67\xed\x84\x3d\x3d\x3c\x12\xee\x12\xe8\x78\x8e\x3f\x30\x87\xa1\x5d\xb3\x3a\xfc\xbc\xb7\xb6\xd4\x96\xdd\xb3\x58\x79\x5a\xaf\x36\x59\x9a\xe9\x2c\x64\x8a\xb0\x77\x5b\xaf\x13\x32\xb5\xa9\xb1\x27\x9b\xcd\x81\xc5\x72\xf5\x26\x58\x16\x00\xd7\x38\xac\x1c\x78\xaa\x00\x1c\x08\xb2\xbf\xe9\xf0\xad\xde\x72\xe2\x54\x2d\xec\x86\xd2\x70\x37\x14\x98\xfd\x4b\x8b\xb0\x9a\xb6\xa0\xf6\x64\xba\xb7\xd8\x65\x07\x7c\x8b\x1f\x2e\xe7\xc2\x88\x2f\xc4\x3b\x4f\x6d\xa0\xee\x99\x32\xe8\xc6\xa0\x86\x10\xda\x4d\xbb\xa9\x78\x45\x00\xdb\xa9\x9e\x60\x19\xa0\xb9\x53\x3f\x1c\x13\xb7\xc2\x60\x67\x91\x63\xe6\x7d\x85\x32\x46\x40\xd5\xcb\xbd\x5d\xfc\x4d\xaf\x8e\xb7\x4c\xb5\xa5\x87\xbc\x32\x57\x2f\xd1\xd5\xa1\x75\xe8\x2e\x3a\xc5\xca\x88\x39\xf6\x46\xcb\x12\x6d\xac\xda\x1b\xcd\xdc\x85\x9a\x6a\xb9\x8a\xdd\xf5\x69\x83\x10\xb4\x90\xdf\x8b\x72\xae\x99\x9f\x4a\xa3\x5d\xcb\x5a\x9a\x8a\xb1\x22\x1b\x32\x7d\xf4\x16\x08\x61\x3e\x9f\x5b\x57\xaa\xb5\x68\x9b\x97\x6c\x32\xb7\x70\xf7\x25\xe0\xb0\x47\xfd\x88\x2c\xe7\x42\x79\x56\xe9\x2c\x2d\x26\x64\xea\x43\xd6\xc8\x5b\x9d\x7a\x9f\x0e\xa5\xec\x9a\xeb\xcb\xec\xa1\x32\x0e\x98\xbc\xbc\x6e\x79\xe1\x24\x3f\xa1\x72\xe6\x8c\xb4\xb1\xbf\x9c\xdb\xe4\x75\xab\xac\xd4\x73\x85\xd2\x42\xca\xfa\x7d\x57\xab\xf3\x2d\xc9\x5a\xce\x56\x6a\x33\x5f\xa9\x6a\xfd\xf5\x1e\x2c\x7a\xfe\x5c\xeb\x0c\x5d\x4e\x2f\x04\x82\xb3\x94\x3a\xcb\xc3\xbe\x6c\x37\xbd\x8d\x55\x30\x5a\x5b\xb2\x27\x37\x2a\x6a\xa1\xa2\x67\x31\x85\x75\x73\xbb\xd6\x4b\x0a\x35\xad\x19\xd5\x45\x3b\xb7\x6e\x1c\xa3\xe1\x6c\x31\xe1\x27\xfb\x56\x4e\xb5\xeb\xe6\x71\xe1\xcd\x37\x95\x46\xc8\x29\xc6\x80\x15\x34\xbb\x41\x8c\x23\x29\x97\x77\xcb\x05\xa7\x5a\xa7\x46\xb9\xec\x7e\xa9\xe8\xf2\x6a\x9a\xe5\x31\x42\x75\x7d\xdc\xe6\xf6\x23\xab\xe7\x8d\x6a\xf5\xec\xbe\x24\x76\xd7\x03\xba\x9b\xf5\x80\xc2\x13\xf7\x9b\xf1\x74\x57\x2a\xb5\x8c\x82\xe6\xba\x23\x77\xd3\x52\x97\xd3\x52\x81\xa8\x34\x1a\xc4\xb2\x2e\x0b\x5b\x66\xd8\xf7\x77\xb3\x9e\xc8\xf4\x0f\x62\x9f\xd1\x29\x2c\x36\xcb\x95\x59\xdd\xb1\x54\x03\x8c\x56\xcb\x19\x54\x65\xa1\x50\x28\x17\xbb\xa5\x4a\xbd\xc5\x2d\xf6\x74\xd6\x2f\xaa\x55\xc9\xa0\x4a\x53\x71\x3b\x3c\x4c\xdb\x2d\x20\x6f\x05\x59\x21\x17\xed\x6d\xc1\xf1\x7b\x73\x65\x74\x24\xc2\x6c\xd5\x5d\xd5\x48\x03\x5b\x5f\x7e\x14\xac\x3a\x45\x09\x88\xdf\x84\x24\xa7\xf3\xb2\xde\x18\x19\x44\x4e\x74\x35\xab\xc7\x18\x7b\xfd\x30\xd9\x75\xa0\xc7\x19\x28\xf9\x59\x57\x9c\x29\xc0\x2d\xb0\xe5\x40\xa0\xb3\x51\x7f\x1d\xad\x3a\xe3\x76\xcf\x9c\xf4\xea\xd4\x72\xbc\x95\x64\xdc\x65\x9f\xea\xb7\x72\xf3\x25\xe7\x14\xd4\xda\xb0\x47\x8f\xda\x75\xb9\xaf\xe8\x4d\x29\xbf\x95\x3b\xe4\xdc\x9b\x8b\xf4\xa2\x51\x73\x56\x87\x49\x8e\x1a\x15\x5a\xa5\x65\x3d\x14\xe7\xd3\xc9\xa8\xdc\x25\x0a\xe3\x6c\x9e\xcb\xd5\xfb\xeb\x16\x39\x30\x80\x25\x52\xef\x63\x05\xcb\x1f\x1b\x60\x41\x17\xd9\x7e\xd3\x5e\x4d\xaa\x52\x54\x6a\x9a\xad\x6d\x6e\x56\xe8\x45\x47\x76\xef\x8f\x8e\x8a\x32\xc8\x72\x32\x3f\x6f\x4c\x67\xeb\x3a\xad\x32\xec\xc0\xb1\x4b\x54\xbd\x35\xef\xd2\x5e\x6b\x9b\x9d\x4f\x75\xc6\x67\x5a\xd0\x77\x98\x20\x84\xe5\x3a\x15\xa8\xcc\x94\xee\x4a\x3a\xc3\xae\xc6\x51\xa9\xc4\x1d\x15\x86\xcd\xb6\xc3\x86\x3e\x36\xb3\x03\x7a\x9e\x1d\xb0\xe4\x6e\x9e\x53\x82\xd6\xa8\x0f\x1c\x0c\xa3\x59\x76\xad\x91\xc9\x18\xa3\x70\xd0\xf3\x6a\x12\xbf\x02\xee\x33\x80\xed\xcf\xf7\x08\xa1\x38\x1c\xca\x4b\x61\xa2\xb4\xa6\xbd\x9a\xdc\x2f\x8e\x69\x86\x0f\x6c\xbf\xe5\xf1\x8b\xa9\xc5\x50\xbb\x16\x30\x60\x44\x7e\xef\xb6\xaa\x6e\xb9\x46\x30\x45\x8b\x9f\x86\x56\x41\xa5\x95\x90\x69\x37\xa3\xa0\xc3\x96\xb2\xb3\x79\x49\x12\xda\x5b\x79\x82\x3d\x7a\x23\x0a\xab\xbb\xda\x8c\x74\x8f\xf2\x51\x24\x6b\x65\xaa\x4b\xce\xa9\xde\x21\xa2\xcc\x52\x91\x05\xcc\x11\x09\x91\x09\x81\xcb\xde\xee\x77\x7a\x56\x4b\xac\xb4\x86\x5c\x69\x5e\x9b\x32\xc5\xa5\x14\xb6\x6b\x5d\xa1\x5a\xd0\x99\x82\x3e\x1a\x6e\x2d\x11\xef\xc1\xf6\xf5\x7c\xcd\xa9\x54\xf6\x93\xfc\x60\x64\xe7\x3a\x8d\x61\xb9\xca\xbb\xc5\xc9\x6a\xab\x8e\x07\xcc\x68\x37\x5c\x0f\x85\xc5\x61\x37\xa8\xb0\x41\x30\xdf\x58\x43\x8a\x11\x46\x61\x7f\x60\x0e\xf4\x65\xc0\xf4\xac\x6a\x6f\xae\x8d\x78\xf1\x10\x4c\x07\x05\x82\x43\x08\x97\x5d\x7f\x6a\x44\x93\xc5\xa4\x04\x66\x64\x5e\x5a\x98\xd3\xbc\x54\x29\x58\x4d\x43\x75\x66\x43\xe0\xa3\xb9\x6b\x09\xac\x7f\x7e\x21\x3f\xe7\x0c\x9d\xdb\x39\x16\x5d\x9a\xe9\xda\xec\xe8\xb8\x83\x0e\x63\xa9\xec\x72\x5e\xd2\xb3\x33\xbd\x6a\xd5\xb2\x58\x0e\x67\xbb\xea\x74\x76\x34\x41\x97\xf4\xb6\xdc\x0a\x81\x74\x0f\x98\x60\x34\x5d\xac\xe6\xb9\xcd\xb4\x7e\xc8\x6f\xc9\xc6\x32\xef\x8f\x8b\xb9\x7c\x54\x08\x36\x93\x32\x39\x2b\xfa\xc1\x4c\xeb\x50\x83\xfc\xa4\x3b\x3e\x54\xca\xec\x4e\x8a\x34\x6e\x37\xaf\xcd\xb1\x7d\x38\xd9\xf4\xcd\x6d\xb1\x67\xe6\x68\x45\xad\x0d\x24\xdd\x12\x82\x71\x48\x1b\xe6\xec\x38\x27\x47\x60\x75\x21\xab\xfc\xbc\x00\x7c\x12\xa7\xaa\xf2\xdc\xae\xa0\x65\xb5\xfe\x6c\x29\x78\x61\x3e\x6a\x32\x1b\x33\xbf\x6d\x29\x3d\x7b\x9e\xb7\xd4\xbc\x53\xc4\xda\x26\xdf\x17\x67\xcd\x25\x70\x69\x89\x3e\x23\x96\x8b\xfd\xbe\xd1\x2e\x59\x65\x4f\xa7\x84\xc8\xec\xd6\x04\xe1\x28\x0c\xcd\x79\x6f\x4b\x59\x2d\xaf\xd6\x66\xfb\x53\x57\x9d\x6e\xfb\xec\xa0\xd9\x06\x0f\x56\x84\xa6\x4d\xd8\xf0\x18\xc8\x8a\x2c\xef\xf8\x12\x76\x6f\x1d\x6a\x91\xdd\x8e\x0c\xa9\x34\xf6\x97\x14\xd9\xb6\x25\x62\xa0\x2e\xfa\xcb\x03\x98\xdb\x8d\xb5\x26\x71\x44\x4e\x0e\xe5\x9e\xa1\xd1\x66\x91\xed\xf9\x25\x9e\xd0\x39\x9b\xa0\x19\x2f\x37\xb2\xaa\x65\x65\xcc\x74\x6c\xa3\x38\xcf\x31\xe5\xa6\xc9\x22\x84\xdd\xa5\x5f\xcc\xed\x01\xef\x38\x85\x6f\xf3\x72\x73\x99\x3d\x6c\x9b\xc5\xc1\x91\xec\x76\x8b\x4e\x73\x16\xb1\xb9\x62\xb3\x03\xc6\xac\xd5\xed\xad\xfb\xa3\x8e\x69\x30\xee\x41\x5d\x14\xf9\x90\x18\xb0\x4b\xa7\xe5\xdb\xe2\x64\xd2\x58\x0d\x28\xce\x93\xf1\xf1\x47\x7d\xc2\xb8\x51\x96\xb0\xda\x03\xb6\x26\x70\xec\xca\xa7\x06\x92\x34\x50\x72\x64\x34\x8f\x94\x2a\xdb\x92\x7c\x60\x6c\x96\xa9\x63\x9e\xf6\x74\x2f\x60\x8b\x94\x37\x2d\xad\xd9\xc2\x81\xf0\xfa\x0c\x98\xa1\xde\xbe\x41\x15\x76\x63\xd7\x6a\x36\x66\x58\x7d\xed\x6b\xbd\xa0\xec\x98\x8a\xce\xae\x49\x61\x9f\x57\xb6\xdc\xba\xc2\x5a\x6a\x31\x5f\x61\xf6\x9b\xc6\xa6\xdf\x6d\xe7\x4a\xc0\x4e\xaa\xd1\xfc\x61\xd7\xf2\xd7\x8d\x1a\x33\x05\x1e\x0b\x11\x2e\xc6\xda\x86\xe9\x02\xef\xd1\x68\xeb\xc1\x66\x26\xef\x7a\x1d\xbc\x89\x61\x57\xd5\xa2\xcd\xd0\xc5\x32\x23\x03\x9d\x5a\x74\xbb\x6c\x67\xaa\x5b\xa3\x6a\xb9\x21\x0e\xd7\x2d\x7a\xbb\x2b\x73\x0b\xc6\xe1\xf8\x3e\x58\xeb\x44\x67\x9a\x63\xfa\xbb\x7e\xaf\x25\x38\x95\x3d\x5c\x46\xfb\xee\xca\xdc\x52\xe6\xc4\xcf\xe7\xa7\x16\x5e\xe8\x77\xf9\xea\x76\x76\x2c\xba\x87\xfa\x32\xef\x1d\xfa\x65\x79\x24\x84\x5c\x6f\x7b\x04\x1e\x64\x7b\x60\x13\x1e\xa9\x17\xbb\xc7\x90\xea\x51\x7d\x8b\x9a\xd3\x0c\xd7\x6c\x81\x6f\xea\x7d\x42\xed\xae\x0a\x7b\x82\xad\x5a\xe3\x59\xa3\xb4\xa1\x46\xd1\x61\x86\x17\x7a\x7d\xd8\xdc\xc8\xcc\x61\x30\x67\x6b\x39\x67\x2b\x0e\x99\x28\xb2\x98\xe2\xa8\xaf\x4d\x14\xa6\x62\xa9\x52\xa0\x4c\x18\x09\xac\xc6\xd9\xea\x9e\x2e\x0d\xf2\xb9\xa0\x5c\x6a\xec\x25\x69\xad\xb8\x2c\xc1\xba\xd2\xa6\xe3\x78\x8b\xda\xa2\x11\x91\x56\x15\x1f\x2e\xac\x56\xdb\xcd\xb4\xdc\x69\xba\xe1\x42\x5c\x17\x26\xcb\xa3\x78\xac\x8b\x45\xaa\xc7\x37\x9d\xde\x66\x36\x99\x98\xc7\xfd\xc4\xdf\x16\x6b\xc0\x1b\xb4\x5a\x63\x27\x9a\x4d\x6b\x72\xd4\x65\x98\xd5\x5a\x22\xf6\x03\xaf\x4a\xc8\x6d\x7b\xea\x15\xf4\x5a\x61\x80\x9d\x47\x9a\x5b\xc9\x64\xc4\xb6\x99\xa5\xc2\xf5\x80\x17\x3b\xd7\x96\x39\xa6\x93\xcd\x31\x3b\x91\xe3\x0c\x07\xf8\xcf\x4c\x47\xaf\x2d\xc4\x92\xb7\xd3\xca\xf5\x71\xf5\xb8\x35\xab\xb6\xb2\x3d\xae\xb4\x88\x8a\x6a\xb4\xd6\x2e\x78\x46\x97\x94\x05\xa7\x5c\x1e\x61\xd7\x8c\x07\x26\x92\xb2\xdd\xcc\xd6\x15\x99\x1b\xb1\x51\x67\x37\x66\x06\xa0\x8f\xbb\x7a\xd4\x75\xa2\xa3\xa8\x36\xb6\x4c\x55\xe6\xf2\xa3\x7d\x7b\xbc\x58\xdb\x43\x26\xdb\x53\x98\xce\xfc\xa8\xaf\x79\x6b\xa8\x33\xbd\x9d\xc7\x59\x5b\x63\xb4\x0f\x47\x8d\x36\x76\x1e\xf9\x5a\x31\xeb\xf5\x34\x2a\xdb\x67\x9a\x65\xdd\xee\x0f\xf4\xa9\x55\xf2\x7b\x72\xb6\xbd\xd8\x0f\xc4\x2d\x35\x5b\xb8\xb5\xcd\x22\x4f\x5b\xf5\xdd\x31\x4f\x12\x39\xad\x2e\x14\x8f\xf9\xbd\x35\x2a\x97\x4b\xa6\xe7\x4e\xa4\x36\xaf\x56\x0d\x82\xde\x35\x4c\x7c\xae\x27\xef\x8d\x85\x6e\x8d\x29\x71\xbf\x15\x77\x2b\x62\xec\x29\xd3\xd6\x70\xbd\x1c\x72\x05\x46\x1c\xe4\xdc\xcd\xd8\x63\xa4\x70\x5a\x82\x1b\xf5\x1d\xb6\xab\x8e\xc1\x94\x74\x18\x76\xb8\x1f\xe5\xc8\xbe\x3b\x5b\xb7\xd7\xe2\xb0\x5b\xd5\xe6\x53\x8d\xc0\x73\x59\x33\x03\x9f\xcd\x6b\x15\x7a\xe1\x6f\x26\xbc\xb2\x60\xb9\x2a\xd5\xd3\x8d\x69\xcd\xe7\x04\xde\xe2\xaa\x33\xbd\xd6\xef\xec\xca\xf0\x20\x59\xda\x8d\x68\x67\x25\xb9\x05\xc2\x71\x77\x81\xdf\xe9\xcc\xfb\x83\xa6\xb0\x28\x6e\x08\xbe\x3c\x0b\xa8\x2d\xf6\xa4\xd8\x95\xd5\xe9\x1a\x4d\x27\x50\x42\xdb\x5a\xa8\x73\x67\xb1\x31\x8a\x4c\x6d\x6c\x65\xa3\xe3\x74\x27\xad\xa6\xed\xfc\xa8\xd5\xf6\xd5\x85\x3a\x11\x18\x1a\x6e\x6f\x03\x75\x50\x9b\xad\x5b\x96\xc0\x28\x44\x79\x1a\x44\x62\xde\xd8\x47\x83\xae\xac\x63\x73\xae\xbf\x95\xf9\x7a\x99\x73\xb6\xc1\x60\xd8\xb2\x58\xd3\x9f\xef\x56\xdd\x49\x6b\x11\xd5\xd7\xae\x5f\x1c\xf3\x7d\x71\xcb\x9a\x25\x9e\xb5\xa5\xfc\xda\x6a\x69\x03\x66\x57\xa5\xdb\x66\xb9\xcd\x74\xaa\x9d\x79\x43\x03\x02\xc4\x38\x96\x90\x8d\x6a\x61\x01\xeb\xc3\xac\x7c\x68\xe9\x95\x03\xb7\x6a\xa9\xf9\x60\xdf\xee\x6f\x9c\xfa\x6a\xbf\x0b\xa7\xe3\x4a\x2d\x5c\x52\x4b\xba\x6f\x87\xc0\x5b\xe7\xca\xb5\xe5\x0e\xd8\x65\x15\xab\x85\x76\x49\x56\x87\x65\xb8\x20\x38\xa3\xd6\x51\xda\x6d\xcb\x3b\x96\x3b\xd9\x5a\x7c\xbe\x6c\xef\x64\xd6\x6a\xee\xb3\xc7\x86\xcd\xc1\x23\x5b\xe0\x99\x75\xfd\x1a\x19\xf6\x2a\x2d\x7f\xac\x1f\x78\xbb\xa2\x06\x64\x41\x76\x1a\x56\xb0\x89\x0a\xb3\x7e\x6b\xb5\x34\x5a\xc5\x2d\xbf\x53\xfa\x07\xa6\x31\x60\x9b\x7c\x55\x0a\x9c\x0e\x0c\x25\xc0\x1b\x92\x94\xc0\x88\xc4\x60\x9d\x6d\xed\x86\x21\x4f\x33\x2d\x25\xea\xac\x98\x6a\xb1\xbe\xea\xc9\x3b\xd9\xe9\x35\x95\x6d\x74\x94\xba\xc6\x22\x30\xd9\xd2\xcc\xee\x2c\x27\x4d\x82\x73\x59\xb6\x08\x3c\x01\x41\xcf\x97\x99\x8a\x17\xf2\x35\x67\x24\xd6\x79\x0e\x2b\xd8\xac\xae\x99\xc3\x2a\x47\xa8\x43\xbf\xdd\x58\x77\xfb\xbe\xa3\x0b\xb9\x52\xb1\xbd\x5f\x51\x81\xef\xae\x0f\xd3\x50\x6e\x4d\x86\x76\x0e\x1e\xee\x33\x02\x3b\x58\x56\x3a\x1c\xd3\xb3\xb5\x00\x6e\x37\x55\xb9\x6a\xb8\xf6\x3d\xaf\xbf\x89\x8c\x2c\x81\x3d\x7a\xce\xac\x58\x45\x9b\x37\x6c\x79\x6a\x8d\xdd\x01\xd3\xa4\xb3\xf4\x2e\x5c\xf2\x2c\x6f\xb3\x8e\xd7\x1d\x14\x05\x9b\xc8\x09\xa3\x01\x31\x58\x4c\x66\x8b\xfd\xd1\xce\x32\xe6\x66\x2a\x78\x9d\x05\x3f\x9e\x0d\x7a\xca\x31\x20\x0e\x15\x9a\x5c\xb7\xad\x0e\x15\x4f\xbd\xfd\x56\x53\x7a\x6b\x7d\xaf\x14\x5b\xc5\x65\xe0\x04\x0b\xfa\x40\x2d\x2a\x8c\x61\x09\xd5\x3d\xe8\x7a\x2b\x1c\xb7\xe7\x9a\x4e\x53\x9b\x75\xa1\x4c\x67\xbd\x8d\x68\x74\x59\xdf\xe3\x6c\x6e\xdc\x08\x8e\xd9\xc9\x51\x62\x72\xd5\x6a\x54\x2d\x33\xa3\xf8\xf4\x36\x3f\x27\x1c\xd0\x0d\xe6\xa8\xd7\xb6\x59\x31\x3b\x13\xc5\xee\xd2\x94\x27\xce\xc8\xd7\xf2\xb4\x3b\xa3\x86\x33\x77\xbd\x6e\x99\x1d\x73\xe9\xcc\x1b\xcc\x6c\x53\x02\x73\x87\x67\x38\xe0\xc3\xf8\xc2\x70\x19\xb5\xb3\xc2\x72\x50\x9d\x74\x76\x32\xb6\x1c\x24\x14\xef\xc1\x09\xa1\x5f\x26\xf6\x73\xbf\x42\x4a\x8b\xf5\x80\xdd\xe5\xf7\x74\x41\x37\xa3\xf5\x72\x31\xe0\x0f\x9b\x7c\xbd\xc2\x16\xbb\xd9\x61\xb1\x40\x48\xeb\x72\x6f\x6c\x5b\xa5\x5d\x0f\x18\x2c\x9b\x15\x61\xaa\xb4\x23\x54\xfb\x9e\xaa\xb5\x42\x84\xb0\xa8\xb6\xd7\x96\x36\xef\x1f\xfd\x2d\x2d\x0c\x69\xbb\x57\xb5\x9d\x5d\xb9\xac\xf8\x72\x69\x4d\x36\x7b\x1d\x5d\x63\x44\xa6\xc7\x8c\x23\x57\xe7\x56\x9e\xa6\x07\xcb\x3a\x2d\xd4\xc5\x52\x4e\x59\x85\xcb\xf1\x64\xd8\xad\x55\x5a\xc4\x50\x6a\x08\xbd\x15\x1e\xe5\xc3\xa1\x32\x61\xca\xd5\x6d\xb1\x0d\x9d\xb1\x61\x87\x1b\x48\x0c\x5d\x0f\xec\x68\x36\xee\x50\x8e\xae\xcc\x1a\xf9\x41\x7e\x94\xdb\x2a\x74\xa9\x45\xc9\x8d\xb9\xee\xb2\xea\x71\x31\x33\x0e\x9b\x31\x55\xb0\xda\xcc\x31\xd0\x09\x1d\x7b\x53\xf8\x7c\x99\x9b\x17\xfb\x06\x7c\x50\x3f\x4c\x16\xb5\x09\x7d\x10\x75\x30\x6d\x55\xca\xad\xeb\xde\xac\xb1\x9f\xec\xcd\x9d\xc0\xb4\x2d\x67\xc2\xfa\x6d\x69\xbb\xdb\x2d\xb3\x52\x6f\x5e\x30\xbb\xf5\x83\xd4\x0b\xc9\x1c\x5f\xcb\xfa\x4a\x90\xdd\x18\x85\xde\x11\xbb\xb7\xf5\x9d\x6c\xc0\xed\x3e\xca\x2f\x50\x6d\x5b\xb4\x18\x39\xa7\x8c\x9d\x9e\x6b\x3b\xbc\xd5\x58\x15\xeb\xf9\x9e\xbe\x93\x17\xc7\x66\x69\xdb\x5b\x90\x51\x71\x1f\xee\x69\x31\xef\xb0\x72\xa5\xc8\x4b\x60\x29\x07\x02\xce\x32\x6e\x5f\x6e\xd0\x7d\x0f\x6b\x1b\x99\xf3\x5a\x40\x35\x4d\x4c\xa0\x89\x5b\x8a\x5d\xca\xed\x4b\xc5\xdc\xa1\x51\x6a\x1f\x81\x5f\x56\x98\x1e\x87\xc2\xaa\xd6\x77\xb7\x66\x27\xb4\x9d\x41\x63\x37\x8e\x63\x1f\xf2\xed\x41\xb5\xdc\xe7\xa0\x4f\x59\xb5\x54\x62\xb0\x59\xb0\xed\x78\x19\x3d\x9a\x2d\x5a\x2d\x2a\x39\x7e\x38\x66\x19\xc9\x61\xf8\xea\x1a\x78\xc4\x25\x76\xc0\x32\x1b\xc6\xda\x1c\x6b\xeb\x66\x3b\x72\x17\x8d\xbc\x60\xd0\xbb\x99\xe0\x69\xab\xde\x9c\xc9\x1f\xcb\x85\xf5\xc4\x1b\xf6\xdd\xca\x7c\xe7\xf5\x1a\x5e\x15\x28\x1d\x2c\x36\xda\x0e\xfc\x5e\x28\xd6\x1a\xcc\x66\x3a\x73\x1a\x5e\x7e\x66\x52\x51\x54\xaf\x4c\xa5\xaa\xc9\x54\x64\x57\xe6\xd8\x01\x30\x3b\x82\x1c\x39\xe0\xca\xcd\xed\x86\x83\xfc\xf6\x35\x89\x19\x70\x02\x45\x75\x5c\x3e\xdf\x2b\x95\xc7\x8c\xd6\x18\x8c\xf0\x89\x4f\xbf\xd9\xef\x7a\xa3\xca\xb1\xab\xe7\x1d\xaa\x67\x96\x46\xcc\xb8\xcd\x74\xd9\xcd\x6c\x54\xee\xa0\xe8\x8e\xfa\x71\x44\xf7\xc5\x32\xfc\xdd\xe3\xdb\xf5\x86\x46\x6d\x54\x6e\xb7\xe3\xb7\x24\x3f\x99\xd7\x02\x5b\x5a\x6a\x8c\xca\x28\x54\x29\x37\xc3\x87\x5c\xca\x6a\xa4\x4c\xb5\xc9\x31\xcf\xee\x26\xfe\x42\x52\x3b\x8a\x30\x5c\x94\x0c\x85\x68\xe5\x72\x96\x64\x8e\x0c\x7f\xcc\x03\xaa\x94\x5e\x2d\xec\xee\x05\x66\x31\x00\x03\x97\x65\xd8\xbe\x27\x97\x5b\x8b\xc2\x81\xda\x2d\xcc\x32\xb9\x08\xa7\x7a\x0e\xef\x2c\x8d\x7a\x83\xc9\xa8\x2a\x2b\xac\xcb\x2c\xbb\x55\x7b\x3d\xde\x6d\x18\xaa\xdb\xaa\x40\x8a\x78\x56\x60\x22\xe0\x18\x87\xb3\x30\x07\xbc\x83\x4a\xa7\x57\x21\xc5\x4a\x60\x94\xf9\xc6\x48\x69\xac\x8e\x5c\xa1\x23\xbb\xb3\x01\x98\x87\x87\x5c\x8d\xd5\xe3\x2d\x53\x60\xf6\x16\x74\xda\xb2\xe9\x63\x79\xc8\x74\xc3\x9c\x5b\xac\x75\xa7\x63\xaf\x52\x1d\xd3\xc5\x56\x9d\x64\xd9\xea\x66\xb9\x76\x76\xb9\xb1\x5a\xa8\x97\x06\xda\xa6\x3e\x16\x9b\x59\x4a\x55\x54\xaf\x3d\x6d\x05\xc6\x78\x41\x1d\x1d\xae\xa2\x14\x00\x5e\xec\x8d\xd6\x8e\xb9\xc2\xe0\x68\x8d\x15\x2c\xee\x39\x6f\xaa\xef\x0f\x5c\x71\x32\x1b\x6d\xb2\x44\x65\x6c\xe6\xf4\x52\xb1\xd8\xa2\xc7\x23\xa6\x2e\xd5\x5c\xa6\x40\x66\xc7\x4c\x57\xb0\x73\x83\xbe\xd7\xdf\xc9\x96\xcc\x2c\x99\x12\x59\xe8\x35\x68\x91\xc0\xa7\x15\x05\xa1\xda\xd8\x2e\x2a\x95\x4e\x67\x5d\x1e\xf5\x6b\x7a\x3e\xf0\x04\x65\x55\x07\xfe\x33\xa9\xb9\xcd\xf9\xd8\xd2\x4b\x53\xa6\x83\x83\xc5\x3a\xcc\x84\x1c\x6b\x83\x1d\x30\xd2\xfd\x63\xcf\x6f\x19\x59\xc1\xa0\x66\x3a\x6d\x8b\xbd\x22\x35\xc3\x27\x3e\xdb\x4a\xd6\xf5\xb6\x1b\x9b\xdc\x49\xdd\x3e\xb3\x20\x0a\x95\x6e\xbe\x37\xde\x1f\x97\xb4\x35\x2e\xe5\xfb\x2e\x5f\xae\x35\x19\xaa\x56\x70\x87\xeb\x7c\x89\xdf\x02\x72\xb7\xed\xe9\xac\x46\x07\xd5\x82\xd4\x6a\x31\x3b\xba\x38\x9f\x14\xdb\x0a\xa7\x15\x42\x7c\x94\xd9\x36\xf6\xd9\xe5\x11\xea\x43\x36\x3b\x9f\x1d\x2a\x85\x6c\xa5\x58\x50\xb8\x76\xbf\xc4\xe6\x73\x63\x67\xd4\xe0\xb6\x55\x5e\x88\x06\xf3\x91\x4b\x0b\x36\xd0\x82\x3c\xa3\x01\x3f\x65\x32\xea\x87\x21\x24\x7a\xea\x9b\x26\x19\x8d\x03\xef\x28\x63\xe5\xb0\xa2\xc9\x5d\x95\x54\x4d\x39\x5a\x0a\xb3\x70\xd7\x2d\xe4\xc4\x69\xbf\x47\xb4\xaa\xab\x79\x2f\x47\x3b\xaa\xe4\x05\xd1\x36\x17\xd2\x24\x35\x3b\x68\x66\x6e\xd5\xeb\x1a\x2b\xdd\xe3\x1a\x2b\x76\xec\xd8\x1b\x82\x1b\xd4\xd9\x89\xd3\x97\x73\x05\x61\x87\x95\x83\x4b\xb5\x73\xcb\x60\xd3\xef\x14\x07\x25\xef\x48\x47\xdb\xea\xe0\x90\xd5\x94\x7c\xe3\xd8\xb3\xb3\x56\xb7\xc1\xd0\x55\x85\xb7\x98\x9f\x10\xf0\xcb\x0f\x9f\x92\xbc\x70\x77\x22\xff\x74\x6f\xa5\xab\x51\xce\x50\x23\x18\x50\xf9\x12\x99\xfb\x28\xe7\x3b\xaa\xbd\x82\x41\x7f\xe2\x66\xf5\x39\x93\x27\x32\xcc\xc6\x82\x39\xf0\x0a\x19\xa2\xf4\x67\xaa\xf4\x67\x58\xad\x8c\x00\x3f\xef\x41\x8f\x32\x12\x38\x9e\x95\x83\xc9\x94\x6d\x6f\x75\xdb\x08\xf9\xb5\x50\xfc\x10\xa6\xfb\xb4\x42\xfa\xbe\x10\xc5\x2f\xe4\x7b\x90\x59\x76\x94\x6b\xf0\x4c\xf5\x16\x4d\xc5\xd0\x49\x92\xd4\x0a\x65\xbd\x64\x16\xd4\x59\xb9\xa8\x93\x5a\x5e\x25\x74\x2d\xaf\x11\xb4\x4a\x51\x6a\xd9\xd0\x67\x60\x59\x4d\x35\xf2\xc3\xff\x1b\x00\x00\xff\xff\x57\x48\x8c\x41\xfb\xf8\x07\x00") +var _staticJsHtermJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xec\xbd\xfd\x7b\xdb\x36\x92\x38\xfe\x7b\xfe\x0a\xd4\xdb\xab\xa4\x44\x96\x25\xf9\xdd\xa9\xdb\x53\xe3\xb8\x97\x7b\xd2\xb4\xdf\x24\xdd\xbd\x7b\x1c\x6f\x0e\x22\x21\x89\x35\x45\x6a\x01\xca\xb6\xda\x7a\xff\xf6\xef\x33\x33\x78\x27\x25\xb9\xed\xee\xdd\xee\x7e\x1a\xd7\xaa\x4c\x0e\xc1\xc1\x60\xde\x31\x00\xf6\xf6\xd8\xfb\x59\xa6\xd8\x24\xcb\x05\xbb\xe3\x8a\x4d\x45\x21\x24\xaf\x44\xca\xc6\x2b\x96\x67\xe3\xb4\xac\xf6\xc6\x59\xb1\x97\x94\x45\xc2\xab\x9e\x9a\xf5\x9e\xec\xed\xb1\x57\x15\x9b\x71\xc5\xc6\x42\x14\x6c\xce\xe5\x8d\x48\x99\x14\x3c\xdd\x2d\x8b\x7c\xc5\x26\xa5\x64\xab\x72\x29\x99\xe2\x13\x51\xad\x7a\x8c\xbd\xe5\xd5\x4c\x48\x78\xb0\x9a\xf1\x82\x89\x34\xab\x58\x56\xb1\x34\x93\x22\xa9\xf2\x55\x97\x2d\x72\xc1\x95\x60\xf3\x32\xcd\x26\x2b\x56\x16\x82\x95\x13\x56\xcd\x84\x12\x4c\x95\x4b\x99\x08\x78\x16\x70\x54\xbd\x1e\x20\x00\x7f\x6a\xe4\x7e\x50\x7b\x79\x36\xee\xfd\xa0\x6a\xd7\x3e\x26\x65\x5e\x4a\xd5\x78\x6b\xd2\x78\x75\x2e\x94\xe2\x53\xf1\x71\xce\x0b\x3e\x15\xb2\x11\x66\x21\xc5\x44\x48\x51\x24\x9b\xc1\xa4\x20\xc4\x1b\x6f\xaa\xaa\x94\x7c\xba\xf1\xde\xc7\x64\x26\xcb\xf9\x66\x90\xbc\x4c\x78\xbe\x11\x62\x2e\xe6\xa5\x5c\x35\x82\x54\x42\x55\x1b\x7b\xb0\xac\x26\x27\x8d\x37\xee\x12\x7d\x79\x56\x09\x39\x87\xab\xf8\xa5\xf1\xe2\xc7\x89\xe4\xb6\x17\xd1\xad\x1b\xb1\x1a\x97\x5c\xa6\x9b\xef\x7e\x1c\x67\x45\x9a\x15\x53\xb5\x05\xec\x46\xac\xe6\x7c\xb1\x1d\x68\xc1\xab\x4a\xc8\xa2\x19\xb0\x5c\x54\x59\x59\xac\x79\xd5\x82\x4b\x65\x69\xd5\x78\xef\x63\x96\x8a\xa2\xca\x26\x99\x90\xeb\xda\x58\xc7\x3d\x31\xdc\x72\xac\x96\xe3\xe6\x7b\x2a\x91\x42\xac\xe9\x80\x4a\x64\x99\xe7\x8b\x52\x56\xcd\xf7\xe1\x23\x2b\x2c\xd7\xac\xb9\xfb\x31\x2b\xd7\x01\xdc\x57\x1f\x79\x55\xc9\x6c\xbc\xac\xc4\x9a\x3e\xde\xae\x79\xf7\x6d\xf5\x31\x99\x71\xc9\x93\x4a\xc8\x8f\x76\xac\x9e\x00\xe4\xbb\x6f\xbf\x7f\xfb\xe2\x25\xbb\x7c\xf5\xfa\xe5\x59\xa3\x60\xbf\x28\x17\x2b\x99\x4d\x67\x15\x6b\x27\x1d\x36\xec\x0f\x86\xec\xfd\x4c\xb0\x17\x20\x24\xd9\x72\xce\xbe\x7d\xc7\x46\xcb\x6a\x06\xe2\xce\x46\x79\xce\x10\x56\x31\x29\x94\x90\xb7\x22\x45\xa5\xf5\xbd\xd2\x6a\x25\x53\x5a\xab\xb0\xa4\x4c\x05\xcb\x14\x9b\x96\xb7\x42\x16\xa4\xf4\x38\xfb\xea\xdd\xc5\xae\xaa\x56\xb9\x60\x79\x96\x88\x42\x09\x50\x5b\x15\x4b\x78\xc1\xc6\xa4\x89\xca\x65\x91\xb2\xac\x00\x15\xc5\x5e\xbf\x7a\xf1\xf2\xcd\xbb\x97\xa8\x9e\x7a\x4f\x9e\xb4\x96\xa0\xb4\x2a\x99\x25\x55\xeb\xf9\x93\x27\xd9\x84\xb5\xab\xd5\x42\x94\x13\xe8\x17\xfb\xe4\x9c\xb5\x96\x45\x2a\x26\x59\x21\xd2\x56\xe7\x09\x63\xd5\x4c\x96\x77\xac\x10\x77\xec\xa5\x94\xa5\x6c\xb7\xbe\xce\xcb\x31\xcf\xd9\x4e\x9e\x8d\x77\x58\x39\xfe\x41\x24\x15\xe3\x39\xa8\xd7\x15\x13\xf7\x99\xaa\x54\xaf\xd5\x79\xfe\xe4\xc9\x2d\x97\xd8\xe4\x39\xfb\xe9\xe1\xf9\x93\x27\x7b\x4f\x9f\x3e\x61\x4f\xd9\x37\x7c\x01\x9d\xdc\x49\xc5\x42\x14\xa9\x28\x92\xd5\x0e\xab\x4a\x76\xb5\x43\x3d\xde\xe9\xb2\x5e\xaf\x77\xdd\x7b\xc2\x10\xfa\x25\x4f\x66\xcc\x81\x02\x29\xb8\x79\x67\xc1\xe7\xa2\xcb\xf2\xec\x46\x20\x2e\xbd\x89\xda\xe9\x32\xd3\x0c\x40\x42\xe7\x97\x32\x47\xe2\x40\x63\xa9\x58\xa4\xa2\x48\x15\x2b\x89\x30\xd4\x0e\xbc\x6a\xef\x09\x34\x20\x97\x45\x95\xcd\xc5\x85\x79\x5d\x26\xd4\xc7\x08\xfb\xd7\x99\xaa\x00\xfd\xc9\xb2\x48\x50\x12\x89\xf2\x85\x10\x29\xf4\x62\x2c\x58\x56\xdc\x96\x60\x6e\xd2\xa5\xcc\x8a\x29\x10\x40\x72\xb9\x62\x59\x91\x55\x19\xcf\xb3\x1f\x39\x3c\x16\x74\x4f\xe4\x62\x2e\x8a\xca\x0c\x17\x40\xbe\xe0\x79\x3e\xe6\xc9\x8d\xfa\xc8\xb8\x94\x1c\xfb\x9d\x55\x4a\xe4\x13\xc6\x59\x75\x57\xee\x9a\x67\xf0\x6e\x0f\x9b\xd2\x57\xfa\x44\x23\x35\x2b\x65\x85\xc3\x5c\x4c\x59\x2a\x54\x22\xb3\x31\x7c\xc5\x7e\xdf\x15\x42\x6a\x03\x86\xaf\x63\xb2\x5c\x56\x59\x21\xba\x6c\xa9\xc4\x64\x99\x43\x7b\x60\x24\x53\x31\x5e\x4e\xa7\x59\x31\xed\x31\xdb\xfe\xc0\x50\x36\xd1\x38\x5a\x5a\x38\x42\x46\x5d\x38\x67\x57\xd7\x8e\x84\x6f\x45\x52\xca\x14\x70\xd4\xf4\xf6\xc6\xd7\xd0\x05\x4d\x3e\xb1\xb3\x46\x89\xdd\xcd\x44\x01\x56\x9b\xdd\xf1\xa2\x02\x5a\x8b\xfb\x85\x14\x4a\xb7\xb3\x1b\x35\xc4\x68\xc4\x93\x72\xbe\x00\xc7\x01\xee\xf6\x18\x78\x05\x99\x62\x45\x09\xb4\xae\x00\xd2\x0c\x1a\x67\x93\x65\x9e\xef\x4e\x72\x91\x4e\x45\x6a\x07\x4d\xad\x54\x25\xe6\xac\x94\x9a\x7b\x4c\xe3\x95\xe4\xc9\x8d\x90\xd8\x62\x4b\xb1\x1f\x96\xaa\x02\x92\x48\x01\xcd\xcd\xf9\x8d\x00\xe7\x61\x51\x2a\x95\x8d\x73\xbc\x86\x84\x04\x10\xdd\x90\x62\x77\x59\x35\x2b\x97\x15\xe0\x5e\xc0\xb8\xf0\x3c\x27\xaa\x96\xa9\x30\x54\xf8\xd6\xf1\xb9\x62\x5c\x0a\xa6\x16\x22\x01\xe5\x9d\x32\xae\xf4\xd8\xaa\x1e\x63\x97\xa5\x64\xe2\x9e\xcf\x17\xb9\x00\xef\x83\x1e\x86\x7f\xc8\xd4\x55\x2a\x16\xed\x16\x7c\x25\x77\xa3\xd5\x65\xf8\xd7\x77\x56\xd3\x7f\x43\x8a\x1e\x84\xb6\xe1\xc5\xc8\xdb\x40\xb3\xb1\x60\xb2\x2c\xb5\xe7\x05\x4d\xb4\x7a\x8c\xfd\x77\xb9\x64\x73\xbe\x82\x51\x22\xc5\x85\xbd\x4d\x72\x40\x97\x47\x64\x2b\x0b\xc6\x8b\x95\x27\x76\x34\xd4\x82\x25\x79\x06\xac\xb5\x90\xe5\x54\xf2\x39\xb6\x07\xdc\x85\xf8\x8b\x42\x2d\xa5\x78\x5b\x17\xcd\x76\x87\x71\xe0\x70\x2e\xab\xe5\x82\x65\x05\x34\x56\xca\x54\x48\x64\x0e\x7c\x8a\x84\x13\x5a\xaa\xb1\x5a\x26\x14\x9b\xf1\x5b\xa1\x5d\x44\x61\xf1\xf9\xf7\x05\x07\x1c\x7e\x22\xf2\x3e\xb0\x5b\x2e\x3f\x72\x39\x55\xec\x5b\x70\xfa\x24\x9b\x97\xd2\x68\x0e\xd5\x3c\x20\x4e\x9f\x00\xe9\xd9\xb9\x15\x90\xb6\x69\xab\xc3\x7e\x7a\xc2\xa0\x65\xad\xe6\x9f\x3f\x01\x3d\x2b\x57\x78\xb9\xae\x71\x61\x5c\xd8\x03\x4b\x78\x95\xcc\x58\x5b\xdc\x77\x34\x1c\x36\x50\xf1\xe4\x66\x84\x3a\xe2\x9c\x89\xfb\x1e\xfe\xdd\x53\x8b\x3c\xab\xda\xad\x0f\x05\x8e\x29\x63\x0c\x5c\xe2\x82\xbd\xe3\x13\x2e\xb3\x2e\x32\x9a\x14\x6a\x99\x57\xc0\x7a\x5e\x13\x77\x59\x9e\x33\xf4\x91\x91\x36\x43\xa3\x9b\x14\xe3\x45\x4a\xfc\x4b\x8d\x81\xcb\x73\x9b\xa5\x4b\x9e\x9b\x6e\x23\x83\x4e\x4a\x39\x07\xf7\x25\x65\x69\x36\x41\xee\xaa\x72\x10\x6a\xc6\x18\xd8\x19\xf7\xa6\x5e\x2e\x8a\x69\x35\x63\x5f\x9c\xb3\x7d\xd3\x1d\x66\x8c\xde\xb9\x87\xd2\xd5\xf0\xba\x27\xc5\x22\xe7\x89\x68\xef\xfd\xf9\x83\x7a\xca\xab\x0f\xea\xd9\x5e\x97\xb5\x4c\xd7\x1e\x98\xc8\x95\xd8\xd8\xc6\x20\x6a\x63\x4a\x16\x0c\x64\xed\xdf\x83\xa6\x80\xce\x30\x16\xa0\xfc\x60\xb4\x58\xc6\xce\x59\xff\x39\xcb\xd8\xe7\x8c\xcb\xe9\x12\x69\xa1\x71\x7f\xce\xb2\x67\xcf\xfc\xa1\x58\xf0\x6a\xc6\xce\x1d\xdc\x55\x76\xfd\xdc\x76\x1d\x6f\x66\x85\xaa\x78\x91\x80\xad\x45\xc4\x5c\xcf\x2d\xbb\xf4\xf8\x62\x91\xaf\xda\x79\x36\xee\x62\x83\xcd\x9d\x84\xd7\x81\x82\x3a\x47\x99\x6b\x34\x5c\x57\xf0\xb4\x46\x80\x50\xf8\x84\xcb\x55\x47\xff\xcd\x1e\xf7\xb8\x56\xdd\xf6\x89\xde\x62\xa9\x66\x6d\x22\x71\x40\x33\xcf\x44\xbe\x44\xd1\x53\x5b\x64\x0f\xb8\x65\x2e\xaa\x2e\x88\x14\x44\x5c\xf7\x89\x40\xd7\x96\xac\x8b\x2c\xef\x9c\x8d\xbc\x15\x72\xc5\x96\xc5\x5c\x54\x0d\x16\x83\x58\x76\x2c\x58\x5e\x4e\xa7\xa4\xcf\x81\xbb\xff\xf3\x1d\x4b\xca\x42\x95\x39\xaa\xfd\x89\x36\x07\x10\xc4\x55\x18\xbd\x85\x2e\x05\x35\x8e\xea\x0b\x9b\x93\x3c\x53\x22\x40\xcb\x09\xf5\x5a\x7d\xf4\xd1\x97\x74\x27\xe1\x0b\xae\x94\x48\x81\xd4\x72\x49\x82\x6e\x99\x4b\xf3\x04\x5b\xe7\x7b\x04\x72\x8e\x34\x47\xf7\xe3\x7c\xed\x03\xfe\x98\xc3\x43\xa4\xc0\xcf\xf1\x45\x46\x27\x90\x6f\xe6\x74\x02\x67\x69\x99\x20\xc3\x02\xc5\xc0\x7f\x66\xad\xbb\xac\x48\xcb\xbb\x96\xb1\xf4\x5a\x5c\xb4\xde\x66\xf4\xd4\x5d\x29\x6f\x84\x64\x59\xd5\x52\xa6\x35\xd0\xd9\x22\x65\x2d\xf0\x53\x5a\x3d\x8b\x45\x39\xfe\x81\x9d\xb3\x36\x35\xca\x7e\xfe\x99\xc1\x7d\xcd\x3d\x4d\x82\x86\x58\x37\x09\x99\x66\xe3\x36\x02\x5c\x65\xd7\x40\xbb\x72\xfc\x43\xc7\xdd\x67\x76\xd4\xef\xb8\x2c\xda\xad\x6f\x32\xa5\x40\xc5\xed\xb4\xd8\x33\x22\xf7\x33\xd6\x42\xdf\x10\xac\x1a\x5a\xb2\x56\xd7\xa3\x6d\xe7\xb9\x6d\xc8\x8e\xdb\x84\xe7\x4a\xb8\xeb\x63\x29\xf8\x8d\xf9\xf3\xe1\x89\xfe\x42\x7d\x2c\xc7\x3f\x5c\x19\xe4\xae\x23\x95\x82\xa8\x53\xa3\x9d\x46\x2d\xdf\xba\xe4\x19\x90\xaf\x81\xc7\x93\x99\x48\x6e\x60\xdc\x1e\x7c\x37\x6a\x9a\xa9\x4a\xa0\xf4\x84\xce\x65\xe0\x90\x19\x13\xbb\x06\x84\x04\xd1\xf8\xac\x59\xc1\x24\x36\x2b\x09\x8a\xcc\x29\x78\x5e\x28\x3d\xda\xb3\x6b\x77\xd0\x1d\xa5\x67\xc0\x33\x04\x27\xd6\x34\xa8\x05\x48\x24\x22\xbb\x05\xbf\x0a\xc8\x9f\x0b\x86\x46\x55\x54\x42\x76\xd9\xdd\x2c\x4b\x66\xd0\x1e\xfa\xa9\xf6\xb9\xd0\x7b\x46\x6f\x2f\xab\xd0\x81\xcb\x45\x25\xd0\xfd\x85\x56\x2a\xdf\x6f\xad\x3b\xd4\xb1\xf5\x86\xd1\x60\x23\xed\x0d\x93\x1b\xbc\xa8\x00\x33\xbc\xd1\xe0\x02\x1b\x77\x73\x42\x4e\x1f\xfc\x73\x5e\xb0\xff\x06\x2b\xea\xe6\x4b\xe7\xc1\xb9\xc4\x1b\x28\x0e\x1d\x95\x7a\xec\xa8\x41\x29\xaa\xa5\x2c\x5c\x8b\x0f\xe4\x13\x99\xb6\x2c\xe9\x3c\xc7\x42\x3f\xff\x0a\x10\xf7\xb4\x0e\x45\x44\xe6\x49\x12\x8b\xba\x3f\x4e\x4a\xfc\x2a\x04\xbe\x46\xd6\xd7\xa8\x98\x8b\x01\xc3\xbd\x32\xfd\x11\x48\x34\xed\x23\x07\x1e\x3b\x8e\x7d\xcd\xf5\xd2\xc8\x36\xb1\x76\x60\x09\x78\x91\x22\x5b\x20\x0b\xa0\xa7\xe8\x3d\xba\x8e\x7f\xcd\xfb\x5f\x85\xf7\x81\xb7\xd4\xaa\x48\x66\xb2\x2c\xca\x25\x38\xc9\xef\x1d\xce\x26\x08\xa0\x90\x15\x54\x10\x78\xaf\x80\x1b\x46\x3e\x18\x22\x15\x48\x5b\x3b\x68\x1e\xc3\x47\x9c\xe6\x54\xfe\x83\x79\x0a\x5e\xe5\x0f\xb7\xee\x11\xf1\x74\x8c\xa7\xe1\x32\xc3\xe9\xcd\x4c\xf6\x14\x5a\x5f\x54\x1f\xf3\x72\x7a\x69\x5a\x1e\x15\x8c\xd2\x41\x3c\x0f\x5e\xa7\x04\x11\x12\x15\x66\xf8\x3a\x29\x72\x4c\x9d\xe6\xe5\x94\xe9\x5c\x22\x78\xec\x61\xe4\xe6\x73\x14\xf5\xa8\x1b\xbf\xdb\x99\x37\x72\x23\xea\x4c\x86\x36\x06\x15\x7b\x91\x55\x6f\xc0\xaa\xd4\xac\x23\xe9\x44\xe0\x21\xd2\xf5\x9d\xc0\xbd\x91\x22\x41\x67\x6a\xd5\x53\xb3\x6c\x52\xb5\x3b\xbe\x2b\x13\xa3\x63\xb5\x73\x74\xa3\xdd\x82\xd7\x9f\x31\x50\xff\x52\x24\x57\xfd\x6b\xdb\x0c\xfc\x39\xb8\x6e\x63\xe2\xa0\xc7\x73\x2e\xe7\x6d\x83\x6a\xa7\xd9\xe9\x22\x5a\xb4\x7d\xbf\xe7\xb9\xd1\xec\x3a\x83\xa2\x19\xe0\x93\x73\xd6\x32\x9d\x6d\xad\xd1\xf6\xc6\x34\x95\x40\xa2\x5b\x9e\x67\xa9\xf5\x1c\xcf\x74\x3b\xda\x52\x6f\xf6\x3a\xda\x04\xa4\x44\xf5\x3e\x9b\x8b\x72\x59\xd9\x6e\x74\x59\x9f\x4c\xc6\xc6\xfc\x55\x98\x84\xfe\xa7\x4d\x63\x69\x25\xf5\x06\xac\xef\x82\x27\x18\x8a\x30\xec\x1a\x5b\x56\x59\x9e\x55\x99\xf0\x22\x33\xea\x73\x94\xdb\xb9\xcc\xa4\xaa\xc0\x1b\x98\x83\xf6\x2d\x0a\x9c\x33\x98\x2e\x73\x2e\x4d\xae\x01\x0d\xe6\x9d\x68\x49\xc1\xa6\x25\x66\x53\x4a\x54\x1d\x88\xa1\x9e\xa4\xd0\xfa\xc1\x08\xe0\xda\x7f\x5f\xbd\x1d\xbd\x78\xc9\xfe\xfb\xdb\xef\xdf\xbe\x7b\xf9\xfa\xf2\x31\x4f\x30\xc6\xba\x7f\xfd\xeb\x5f\xff\xda\x7b\x0c\xe4\xcf\x5f\x7c\xfc\x9c\xfd\xf5\xaf\x8f\x00\xdd\xff\x9f\xdd\xdd\xdd\xd6\xee\xde\x63\x9a\xdd\x3f\x83\x7f\x1f\x6e\x3f\x6c\x87\x3d\x2f\xcf\x09\xb8\xfb\x08\x60\xf6\x33\xd3\xc0\x08\xbd\xe1\x81\xf7\xff\xf1\x92\xbd\x7d\xf9\xf5\xf7\xaf\x47\x6f\xd9\xcb\xff\xfa\xee\xed\xcb\x77\xef\x5e\x7d\xfb\xe6\xdd\xf6\x57\x8c\xde\xbe\x64\x2f\xbe\xfd\xe6\xd5\x9b\xaf\x3d\xb7\x48\x8a\x16\x98\x02\x76\xc7\x57\xe8\x80\x80\x6f\xc7\xf2\xb2\x98\xb2\xb7\x2f\x59\x9e\x55\x42\xf2\x1c\x34\x3f\xfb\x4f\x7e\xcb\xdf\xa1\xf3\xd0\x63\xec\x32\xbb\x27\x4e\xbd\x9b\xad\x58\x5a\x16\x2d\x0c\x2e\x56\xe5\xf2\x4b\xc6\xbe\x9d\xa1\x21\x63\x3c\x57\x25\xe5\x84\x82\x37\xdc\xc9\xac\x42\xb7\x88\x12\x73\xd8\x4a\x5a\x0a\x55\xb4\x28\x27\x25\x17\x52\x60\x6b\x42\x25\x7c\x21\x3c\xf3\xa6\x2a\xc1\xd3\x2e\xbb\x03\xa6\x2f\xcb\x05\x05\x3a\x99\x62\x36\xb2\xed\x30\x10\x86\x9b\x98\xc9\x7b\x52\x60\x12\xf3\x09\xba\xe8\x2f\xde\xbd\x63\x33\x71\x4f\x92\xd1\x65\x7f\x78\xfb\xf5\x57\xe0\xa8\xcf\xc4\xfd\xe0\xe8\x8c\xed\xfd\xa1\x7d\xc5\x77\x27\xfd\xdd\xd3\xeb\x4e\xd3\xb7\xbd\xac\xfb\x64\x4d\x3b\x6f\xbf\xfe\xfa\x2b\xd3\xd4\xf0\x20\x68\xea\xa7\xe1\x43\x67\xfd\x1f\x61\x9b\x72\x3a\x36\x6d\xca\xe9\xb8\x2d\xa5\xec\x4e\xa7\xd3\xee\x78\x3c\xee\x40\xe3\x72\x3a\x3e\x43\x25\xfa\x56\x4c\x5f\xde\x2f\xda\x5a\x33\xb7\x5b\x7f\xde\x53\x4f\xe5\x74\xbc\xa7\x9e\xee\xb5\xf7\xd4\xd3\xf6\x5e\xfa\xd3\xa0\xbb\xff\xd0\xd9\x53\x4f\xbb\xf1\xdf\x2d\xf6\xcc\xd8\x8b\x56\x74\x6f\x0f\x3e\x3e\x6d\x99\xdb\x1d\x97\x36\xf8\xb0\xb7\x37\xed\xb2\xd6\x87\x0f\xad\x4e\x97\xb5\xb2\x56\xe7\x71\x58\x77\x39\xe7\x06\x73\xbe\x11\x75\xbe\xa7\x9e\x06\x98\x6d\xed\x47\xf4\xb7\xff\x70\xfb\xcb\x33\x7d\xfb\x59\xfb\xcb\xb3\xbd\xde\x5e\xfa\xac\xf3\x25\x00\x75\x7e\x45\x0f\x5f\x66\xc0\xc7\xec\xed\xd7\x5f\x81\xb1\x7a\xfb\xf5\x57\x23\xdd\xa1\xfb\xcd\x1d\xfa\xf2\x7f\xa7\x47\x5f\xfe\x8a\x2e\x8d\x0a\xf6\x5f\x83\x01\xdb\x01\x7e\x4a\xd3\x74\x4f\xff\xee\xb0\x5b\x9e\x2f\x41\x85\xb3\xfb\xc1\x00\x99\x0d\xf3\x45\xf0\xcd\x31\xed\xa0\x7b\xf0\xd0\xf9\xb0\xb7\xf5\x82\x7a\xfa\xa9\x63\xee\x97\xc5\x34\xcf\xd4\x4c\x9b\x24\xf0\xbd\xe1\x2d\xf0\xff\x33\xb6\x77\xc5\x77\x7f\xbc\x86\x8f\xfe\xee\xe9\x07\x75\xfd\x6c\xaf\xeb\x3b\xde\x2f\xca\xe2\x56\xc8\x8a\x71\xc3\x6b\xed\x34\x4d\xbb\xfa\xb7\xa3\x5b\x44\xc4\x41\x85\x94\x10\x10\x42\xe7\xbc\xeb\x36\xa1\x8c\x03\x09\xad\x78\x37\x75\x08\x38\x2d\x4a\x49\xf9\x13\xed\xc0\x2b\x5e\x64\x15\xb8\x77\x29\xaf\x38\x9b\xf1\x22\xcd\x75\x0c\x64\x67\x2e\x5a\x69\x9a\xb6\xd0\x73\x2d\x0b\x9c\xc1\xc0\xd9\x99\x42\xb0\xf1\xaa\x12\x1a\x25\x97\x22\xcd\x0a\x96\x8a\x24\x9b\xf3\x7c\x7d\xae\x15\x9e\x40\x87\x23\xc4\x11\xd0\x4a\x88\x0c\x61\xcc\x64\x9e\x84\x67\xa2\x4e\x03\xb3\x16\xcb\x3c\x07\xff\x0c\xfc\x07\xba\x98\x94\xcb\xdc\xa4\xb3\x9d\xeb\x8d\x2d\x93\x6f\x1f\xea\xce\xe9\xf8\x7d\x09\xed\x06\x49\xdc\x7c\x29\xc8\x57\xb5\x5e\xb7\x4a\x78\x2e\xda\xb7\x36\x61\xc3\xce\x59\xfb\x1b\x5e\xcd\x7a\xf3\xac\x68\xdf\x76\xd9\xf0\xf0\xb0\xc3\x9e\xb2\xe1\xe1\x71\xa7\x57\x95\xef\x10\xe9\xf6\xe0\x48\xbb\x92\x77\xb3\x2c\x17\xac\x7d\x6b\x92\xa2\x9f\xb3\x03\xe3\xd1\x42\x4b\xad\x3e\xb8\xaf\xb7\x3a\x6b\xa3\x7b\x7e\xfb\xdc\x24\x16\x9c\x17\x4e\x63\x3d\xe7\x55\x32\x6b\x87\x06\x00\x3a\x72\x8f\x6f\x0b\x13\x81\xba\x31\x20\x13\x36\xaf\xff\x6e\x01\xc3\xc3\x4b\xa9\x5f\x5c\xae\xae\x06\xd7\x1d\xf6\x8c\xb5\xf6\xc2\xab\xc3\xc6\xab\xfb\xd7\x61\xaa\xc2\x32\x70\x8d\x31\x2d\xc3\x1a\xce\xee\xf5\x7a\x9d\x26\xce\x35\xe3\x4b\x4f\xcd\xf9\x0a\x67\x6d\xfc\xf6\x28\x9c\xa5\x6c\x22\xa8\x2a\xcd\x03\x34\xf6\x93\x52\xce\xa1\x19\xe8\xd7\x6c\x36\x9b\xed\xd9\x0f\x9d\x1e\xf4\x98\x58\x23\xa6\x58\x2e\x94\xa2\x7a\x90\x03\x96\x66\xd3\xac\x52\x2c\xab\x74\xc4\xb6\xe0\x69\x2a\x52\x56\x2e\x71\x2a\xea\x00\x53\xea\x9a\x0d\x52\x96\x96\x77\x18\x88\x4d\x32\x9c\xd4\xb3\x49\x10\x90\x8a\xed\xac\x1f\x93\xe8\x31\xac\x1f\x8b\xcb\xdf\x80\xf5\xef\x07\x83\xf7\x25\xb4\xeb\xb3\xfe\x66\xb6\xdf\xdb\x63\xdf\x71\x22\x8a\xd6\x2c\x77\x59\x35\xf3\xe8\x38\x29\x97\x52\x93\x12\x23\xf2\x4c\x21\x21\xc1\x13\x6a\x2f\x64\x39\xe6\xe3\x5c\x33\xe6\xde\x1e\x43\x3e\x16\x8a\xdd\x63\xed\x86\x9e\x6a\x4b\xb3\xc9\x24\x4b\x96\x39\x92\x5d\x71\x8a\xde\x49\x5d\x65\x45\x22\x08\x98\x29\x21\xe6\x10\xd7\x9a\xa6\xb8\x94\x98\x8d\x02\x1d\xaa\x47\x8e\x48\xa2\x67\x35\x0a\xb6\x10\x12\x78\x44\x3b\xff\xe5\x7c\x9c\x15\x3a\x05\x36\x31\x8d\x4c\xf9\x7c\x0e\x7c\x22\xa5\xc0\xde\x77\x35\xc5\x29\xdc\xa8\x24\x2f\x68\xf6\x03\x6f\x41\xc3\x7f\x59\xf2\xa2\xb2\xf9\x29\x1b\xf0\x5a\x31\x3f\x3f\x67\x03\x17\xf3\x42\x90\x46\x6c\xa2\x79\x6d\xc1\x2d\x7f\x21\xdd\xc6\x2b\x26\xc5\x42\xf0\xca\x4c\xe3\xda\x5a\x85\x1e\x63\x3b\x93\x1d\x36\x16\x49\x39\x17\xca\xb5\xb7\x33\x99\x4c\x26\x3b\x3d\xc6\xde\x25\x3c\xc7\x79\x60\x60\x4c\x8e\x8e\x9b\x27\x1e\x38\x0a\x58\x73\x02\xef\x18\x1e\x1e\x9b\xbc\xaf\xe2\x73\xe1\x5a\xe3\x8a\x25\xcb\x0a\xdf\x5e\x4e\x26\x56\xcd\xf7\x18\xfb\x93\x60\xea\x26\x5b\xe0\x33\xf3\x2c\x4d\x73\xf0\x51\xc5\x02\x89\x80\x73\xa3\x69\xb9\x1c\xe7\x5e\x53\x21\xf6\x36\x20\x47\xbe\xc6\x42\x95\x57\x45\xd5\xbe\x05\xa5\xd7\x65\x56\x4b\x3e\x34\x93\x70\x18\x91\x70\x9e\x41\xc0\x96\x0a\x9e\x33\xf0\xbe\x7b\x0c\x05\x6a\xc1\x53\xc5\xaa\xbb\x92\x88\x6b\xd8\x33\x26\xa9\x6b\x07\x0d\x58\x1b\x46\x17\x58\x9c\x2d\x17\x9a\x34\x1d\xa0\x26\x72\x5a\x14\x06\x12\x5c\x56\xb1\x31\x4f\x6e\x5c\x3b\x44\xf1\x62\x75\xc7\x57\xe8\xbb\x43\x6c\x8b\x24\xd1\xbd\xc5\x5c\x93\xcc\xa6\x59\xc1\x73\xe7\x7c\x34\x92\x63\x3b\x29\xf6\x03\x52\xbc\x9f\x49\x21\xc2\xfe\x82\x5c\xe8\x44\xab\x16\x83\x1a\x53\x4d\x10\x13\x7c\xaa\xe7\xda\x12\xbd\x69\x8f\x0d\xfa\x13\xc3\x63\xf0\x7d\xd2\xf3\x6c\x14\x0e\x56\x4f\x2d\xc7\xaa\x92\xed\x61\x88\x26\x0c\x0b\x52\x87\xf4\xe2\x4c\xb0\xa1\xe7\x20\xf4\x7c\x43\x84\x36\x53\x42\xd4\xdf\x8e\x3a\xce\xf6\x90\xfc\x4d\x56\xaf\xd9\xe2\x91\x03\xb7\xde\xe6\x79\xe0\x60\x3a\xde\x97\x6f\xbf\xfe\xaa\x7d\x4b\xc9\x14\xcc\x3a\x2d\xf2\x2c\x11\xed\x7e\x97\x0d\xfc\xd4\xa8\xf7\x18\xd6\x5e\xe0\x73\x23\xcc\x62\xcd\xf9\xa2\x8d\x6c\xd0\x69\x34\x7f\x8a\xca\x06\xf5\x0c\x32\x68\xd6\x96\x0e\x9b\x5a\xa1\x3b\x86\x36\xb1\x9a\x89\x4c\x5a\x93\xa8\x0b\x32\xe6\xc6\x7a\xe0\xec\x21\x39\x6e\x56\x83\x83\xa9\x41\xbf\xb7\x47\x16\x4d\x2b\x7d\x5e\xe8\xb9\x7b\x0b\xd8\x75\x66\x4c\x7b\xca\x29\x29\x6a\x30\x19\xcd\xf6\xe9\x67\x9a\xb4\xfd\x9c\xfe\xfa\xe2\x81\x8d\x8c\x4d\xf3\x4c\xad\xd4\xb5\x2a\xe5\xc4\x5d\x25\x2d\x1c\xd8\x9a\x26\x2b\x56\x6b\x1f\x33\xe0\xb6\x67\xf6\x05\xd4\x66\xcd\x56\xcd\xc4\x3d\x8e\x83\x6f\xab\xb8\x9c\x46\xd6\x4a\xb7\xd7\x9e\x85\x33\xe8\x52\x80\xb7\x36\x13\xf7\x9e\x24\x1d\x74\xd8\x97\x36\xa7\x18\x31\x16\xc6\xca\xec\xac\xe1\xf2\xf0\xc0\x4d\xbd\x11\x6f\x42\xab\xc4\x9d\x52\x74\xac\xcc\xfa\x13\xb1\xb1\x07\x16\xf8\x60\x6d\x9a\xb6\xd2\x82\x40\x6e\x18\x49\xc3\x33\xd6\xea\x32\x2f\x3e\x0a\xa1\x86\x8f\x82\xda\x77\x50\x9d\xd6\x73\x7f\x9e\x8a\xcb\xe9\xda\xb9\xea\x35\x53\xe3\xcd\xf3\x75\x5c\x4e\xaf\xb2\x6b\x76\x6e\x69\x4f\x17\xfc\x14\xaa\x9f\x63\x85\xf7\x06\xb0\x4e\xde\x35\x55\xb8\x9c\x3e\x4e\xb6\xac\x33\x09\x62\x13\xc8\x54\xb3\xd4\xd9\x44\xcb\x84\x4d\xb3\x5b\x01\x4a\x1b\x63\x76\xd7\x08\x95\x4d\xf0\x7c\x31\xe3\x6c\x92\x89\x3c\x75\x53\xd5\x8c\xdf\xf1\xd5\x3f\x9e\x6c\x5a\x1a\xd4\x05\xd4\x57\x2c\xc4\xb2\x5a\x58\xff\x8e\x52\x8a\xc1\xd4\x7f\x88\xfb\xc7\x49\x29\x28\x6f\x4f\x4a\xdd\x3c\x83\x6e\x2d\x91\x3c\xb9\x01\x9d\x6d\xb4\xbc\x93\x9c\x3f\x80\xd8\x50\x62\xff\xc7\x05\x4f\xdb\xed\x76\xc0\xf7\xfd\xeb\x0e\xfb\xfc\x73\x64\xfd\x9f\xad\x64\x34\xfe\x6b\x47\xb2\x87\xcf\xb1\x93\x5f\xf8\xdc\x50\x3f\xd7\xef\x84\xc1\x5f\x97\x1d\x75\xfe\x49\xc5\xee\x3d\xd7\x33\x74\x34\x71\x91\x28\xa5\x85\x09\x0b\x47\x33\x1c\x48\xf4\xad\xe1\x61\x8c\x82\x28\xcc\x93\xd3\x31\x30\x08\x08\x56\x18\xdf\xbd\xc5\xf7\xa8\x2d\x51\x0b\x2b\xc0\xc3\xce\xb3\x1f\x1b\xe2\x15\x7b\x2b\x8a\x59\x52\x31\x21\xc2\x00\x85\x53\x31\x31\x4e\x0a\x1a\x76\xd0\xf5\xad\x3f\xb4\xd6\x39\x06\xc6\xae\x60\x23\x76\xae\xa7\x21\xb4\xee\x55\x42\x55\x08\x15\x34\x95\x8a\x89\x1f\x56\x37\xba\x1c\xd4\x74\x63\xba\x67\x1f\x68\x75\xc0\x82\x5a\x4f\x9f\x94\x5a\x39\x91\x38\xd6\x08\xe2\xb9\x27\xa1\xc4\xad\xbc\xd9\x3b\xd4\x66\xe7\xfe\x2c\x1c\xfb\x02\xfc\xc8\x2f\x19\x59\x08\x76\xc6\x06\xcf\xc3\xc4\x00\x47\xab\x44\x82\x64\x2d\x0c\x23\x01\x09\xff\x1e\xfa\x7f\xe3\x9b\xb4\xa9\xf1\x7a\xfb\xed\xad\x90\x94\x14\x77\xda\x35\x99\xf1\xa2\x10\x39\xe8\x29\xea\xe8\x1e\x32\x0c\xf6\xab\xd6\x4d\x25\xaa\x91\xee\x85\xed\xa3\x9c\x8e\xbb\xd4\x56\xd3\x44\xe5\x3a\x05\xa2\x7b\x7c\x4e\x4f\x3e\xca\xe7\x0b\x47\xee\x9b\xec\x1e\x02\x4c\x21\x13\x51\x54\x7c\x8a\xe1\x15\x67\x55\x86\xa5\x35\x39\x4e\xf4\xc1\xd8\xb1\x31\x57\x62\x4d\x6f\xe6\x59\xa0\x1e\x01\xb2\x8b\x2d\x74\x4d\xbb\x41\x8f\x06\x6b\xba\x04\xcf\x61\x9f\x34\xdc\x70\x0d\x1c\xb4\xdc\x79\xbe\xae\xe2\xed\xe0\x39\x7b\xf6\x2c\xf3\xb5\x30\x84\xdf\x34\x2b\x3b\x04\x05\xb3\x8b\x38\xd8\x3a\x37\xfd\x07\x3b\x6f\xf4\xe3\xf5\x5d\xf0\x37\xb0\x99\xa7\xb6\x47\xb1\xb6\x59\x4f\xef\x41\x48\xf0\x77\x8b\x3c\xab\xea\x3c\x62\x65\xc4\x9a\x3b\x88\xa7\x6d\x86\xc7\xda\xfa\x6f\x0b\xa6\x96\x49\x22\x94\xea\x32\x5e\x13\x34\x53\x58\x46\x48\x61\xa5\xcb\x25\xe9\x2e\x6d\xe0\x3c\x87\x00\x5a\x33\xf0\x4a\x60\xcc\x3e\xa8\x8d\xad\xa1\xba\x3f\xc0\x78\xcb\xe9\x27\x62\x0a\xa7\xa1\x0e\x48\x43\x41\xd7\x5a\x75\x6b\x48\xd0\xeb\xf2\x7d\xbc\xf3\xdc\x9f\x64\xf7\xad\x43\x6d\x4e\xdd\xaa\xf9\xd5\x1a\x13\xf1\xd8\x97\xfe\x82\x77\xda\x72\xc2\xc1\x66\x34\x80\x31\x4c\x55\x97\xa0\xb9\xf3\x17\x60\x13\x8a\x0f\xad\x8a\x21\x4d\x69\x7e\x9f\x48\xe9\x89\x2d\xf9\xd4\xdb\xf2\x90\x58\x08\xa4\x05\x33\x70\x1c\x03\xfb\xf4\xc6\xd5\x60\x57\x32\x5b\x2c\x44\x0a\x6c\x85\xa9\x1f\xaa\x8d\x75\x6e\x50\x55\xb2\xbc\xbc\x13\x32\xe1\x4a\x17\x1f\x02\x9b\xd0\x6b\xd0\xb1\x5b\x16\x37\x45\x79\x57\x74\xb5\xb1\x53\x8e\xc3\xfc\x5a\x9a\x5c\xaf\x34\xf0\xb0\xac\x4a\x0c\xac\xe6\x7c\xb1\x80\x70\x3d\x53\x2c\x15\x32\xbb\x15\x29\x9b\xc8\x72\x4e\x29\x9b\xaa\x4c\x6e\xa0\x77\x3a\xdb\xd9\xab\xee\x2b\x7f\x5a\xba\xb9\x40\x8a\xfc\x38\xff\x3d\x5b\x33\x8e\x98\x07\x53\x8b\x12\x97\x3e\xad\x21\x5c\x68\x9f\x8d\xc5\x8b\x0b\x96\x1c\xf7\xeb\xa1\x08\x34\x15\xfc\x0f\x89\xbf\xce\x46\x3b\x08\xac\x68\xba\x46\x6d\x86\x2d\x9d\xd3\x34\x4b\x55\xbe\x86\xe1\x78\xc1\x95\x68\xdb\x74\xc0\xdf\xe7\x55\x6e\xe2\x49\x3d\xc3\x99\xa7\xd6\xdf\xe1\x85\xeb\xb8\xfb\xbd\x1d\x7e\x1a\xca\x05\xcf\x45\x55\xd5\x07\x02\x61\x5e\xc0\xf7\xef\x08\x22\xb4\x0d\xc6\xe7\x79\xc2\x58\xfb\x0a\xd3\x48\x82\xed\x8c\xde\xbc\x7b\xc5\x06\x47\x3b\xb8\xbc\x80\x31\xd6\xfa\x43\x1f\xff\x81\x71\xff\xc3\x8b\x17\xf6\xeb\xc1\xcb\xd3\x51\xff\x88\xae\x1e\x8c\xf0\xaa\x86\xdf\x3f\x38\x3a\x1c\x1d\xe0\x9d\xe3\xc3\xc3\xfe\xf1\x57\xf8\xb5\x7f\x74\x7a\x72\x3a\xc2\xaf\x17\xfb\x17\xc7\x2f\x2e\x2d\xfc\xe1\xe1\xe1\xf1\xe1\x3e\xde\x79\x79\x39\x3c\x1d\x9e\x12\x7c\xff\xab\xd1\x80\xae\x5e\xbe\x78\x79\x7a\xe0\xe0\x8f\x87\xa7\x97\xf0\x38\xdc\x19\xf6\xfb\x2f\xbe\x32\xf0\x87\x5f\x5d\x50\x2b\xf0\xef\x45\xab\x6b\x73\x52\xd0\xb1\xa3\xfb\x23\x4d\xad\x64\x39\xa6\xb5\x9b\xb5\xee\xc1\x97\xc3\x4b\xfb\xf5\xe4\xd8\x7e\x1d\xb9\xab\x17\xee\xea\xa5\x43\x0a\x1e\xb4\xad\x1c\x5e\xda\x56\x0e\x2f\x6d\x2b\x87\x97\x23\x77\xf5\xc2\x5d\x0d\x5a\x39\x39\xb6\xad\x9c\x1c\xdb\x56\x4e\x8e\x6d\x2b\x27\xc7\x23\x77\xf5\xc2\x5d\x0d\x5a\x19\x39\x5c\x46\x0e\x97\x91\xc3\x65\xe4\x70\x19\x39\x5c\x46\x21\x2e\x17\x0e\x97\x0b\x87\xcb\x85\xc3\xe5\xc2\xe1\x72\xe1\x70\xb9\x08\x71\xb9\x74\xb8\x5c\x3a\x5c\x2e\x1d\x2e\x97\x0e\x97\x4b\x87\xcb\x25\xe1\x62\x78\xe4\xd2\x0e\x12\x7c\xd5\xcd\xc0\x57\xdd\x0c\x7c\x1d\xb9\xab\x17\xee\xaa\x87\x0c\x8c\x8b\x6d\xc5\x0e\x12\x7c\xb1\xad\xd8\x41\x82\xaf\x17\xee\x6a\xd0\x8a\x1d\x24\xf8\x6a\x5b\xb1\x83\x04\x5f\x47\xee\xea\x85\xbb\x1a\xb4\x32\x72\xb8\x8c\x1c\x2e\x23\x87\xcb\xc8\xe1\x32\x72\xb8\x8c\x42\x5c\x2e\x1c\x2e\x17\x0e\x97\x0b\x87\xcb\x85\xc3\xe5\xc2\xe1\x72\x11\xe2\x72\xe9\x70\xb9\x74\xb8\x5c\x3a\x5c\x2e\x1d\x2e\x97\x0e\x97\x70\x90\x80\x2c\xba\x19\xf8\xaa\x9b\x81\xaf\xba\x19\xf8\x3a\x72\x57\x2f\xdc\x55\x0f\x19\xa0\xa8\x6d\xc5\x0e\x12\x7c\xb5\xad\xd8\x41\x82\xaf\x17\xee\x6a\xd0\x8a\x1d\x24\xf8\x6a\x5b\xb1\x83\x04\x5f\x46\xee\xea\x85\xbb\x1a\xb4\x32\x72\xb8\x8c\x1c\x2e\x23\x87\xcb\xc8\xe1\x32\x72\xb8\x8c\x42\x5c\x2e\x1c\x2e\x17\x0e\x97\x0b\x87\xcb\x85\xc3\xe5\xc2\xe1\x72\x11\xe2\x72\xe9\x70\xb9\x74\xb8\x5c\x3a\x5c\x2e\x1d\x2e\x97\x0e\x97\x70\x90\x46\x4e\x92\x46\x4e\x92\x46\x4e\x92\x46\x4e\x92\x46\x4e\x92\x46\xa1\x24\x8d\x9c\x24\x8d\x9c\x24\x8d\x9c\x24\x8d\x9c\x24\x8d\x9c\x24\x8d\x42\x49\x1a\x39\x49\x1a\x39\x49\x1a\x39\x49\x1a\x39\x49\x1a\x39\x49\x1a\x85\x92\x34\x72\x92\x34\x72\x92\x34\x72\x92\x34\x72\x92\x34\x72\x92\x34\x0a\x25\x69\xe4\x24\x69\xe4\x24\x69\xe4\x24\x69\xe4\x24\x69\xe4\x24\x69\x14\x4a\xd2\xc8\x49\xd2\xc8\x49\xd2\xc8\x49\xd2\xc8\x49\xd2\xc8\x49\xd2\x28\x92\xa4\x0b\x27\x49\x17\x4e\x92\x2e\x9c\x24\x5d\x38\x49\xba\x70\x92\x74\x11\x4a\xd2\x85\x93\xa4\x0b\x27\x49\x17\x4e\x92\x2e\x9c\x24\x5d\x38\x49\xba\x08\x25\xe9\xc2\x49\xd2\x85\x93\xa4\x0b\x27\x49\x17\x4e\x92\x2e\x9c\x24\x5d\x84\x92\x74\xe1\x24\xe9\xc2\x49\xd2\x85\x93\xa4\x0b\x27\x49\x17\x4e\x92\x2e\x42\x49\xba\x70\x92\x74\xe1\x24\xe9\xc2\x49\xd2\x85\x93\xa4\x0b\x27\x49\x17\xa1\x24\x5d\x38\x49\xba\x70\x92\x74\xe1\x24\xe9\xc2\x49\xd2\x85\x93\xa4\x8b\x48\x92\x2e\x9d\x24\x5d\x3a\x49\xba\x74\x92\x74\xe9\x24\xe9\xd2\x49\xd2\x65\x28\x49\x97\x4e\x92\x2e\x9d\x24\x5d\x3a\x49\xba\x74\x92\x74\xe9\x24\xe9\x32\x94\xa4\x4b\x27\x49\x97\x4e\x92\x2e\x9d\x24\x5d\x3a\x49\xba\x74\x92\x74\x19\x4a\xd2\xa5\x93\xa4\x4b\x27\x49\x97\x4e\x92\x2e\x9d\x24\x5d\x3a\x49\xba\x0c\x25\xe9\xd2\x49\xd2\xa5\x93\xa4\x4b\x27\x49\x97\x4e\x92\x2e\x9d\x24\x5d\x86\x92\x74\xe9\x24\xe9\xd2\x49\xd2\xa5\x93\xa4\x4b\x27\x49\x97\x4e\x92\x2e\x03\x49\xd2\xbe\xdf\x54\x8a\x15\xcd\xda\x4a\x3e\x5f\x78\xae\xdf\x09\xfc\xe0\x73\x83\x21\xfc\xd0\xd7\x17\xf0\x83\x5f\x87\x47\xf0\x83\x5f\xf7\xfb\xf0\x43\x5f\x47\xf0\x63\x31\x3d\xc0\x7f\x78\xe7\xe0\x25\xfc\x90\x71\x3c\x81\x1f\xfc\x8a\x8d\x50\xdb\x47\x2f\xe0\x07\xbf\x1e\x1f\xc1\x8f\x53\xef\x88\x0c\xa9\xec\x11\xfc\xe0\xd7\xd3\x03\xf8\xa1\xaf\x2f\xe1\x87\xd4\x05\x42\xe0\xd7\xaf\x86\xf0\x63\x5b\xf9\xea\x05\xfc\xe0\x1d\x7c\x13\xe1\x7e\xd1\x87\x1f\xfa\x3a\x82\x1f\xfc\x8a\xb8\x52\xdb\xe8\x31\xbf\xc4\xba\xba\xeb\x4e\x18\x67\x24\x4b\x29\x85\x4d\x6b\xe9\x48\xa3\x6b\x96\x3c\xaf\x68\xca\x62\xa9\x84\xc4\x5c\xde\xb4\x61\x32\x20\x59\x1b\x80\xd4\xe2\x93\xb0\xba\x3b\x65\xba\x78\x9b\x27\x49\x29\x53\x3d\xfd\x1e\xc4\xbe\xb5\xc0\xb7\xfe\xe6\x37\x7a\x65\x1c\x84\x9e\x3b\x3c\xcf\x12\x31\xce\x97\x62\xe7\x0c\x4b\x02\xdb\xc3\x83\x7e\x97\x0d\x0f\x4e\xa8\x70\x6b\xa7\x8b\x40\x45\x95\xfd\x65\x29\xee\x66\x59\xe5\xe0\x0e\x01\x6e\xff\xb0\xcb\x86\x83\x26\xb8\x81\x03\x04\x98\xfd\x53\x00\x3c\x6d\x00\x1c\x5a\xc0\x7d\x78\xe9\x70\xbf\xcb\x86\xfd\x83\x06\xc0\x7d\x0b\xd8\x3f\xec\xb2\xc1\xe9\xb0\xcb\x06\xc7\x47\x0d\x80\x07\x06\x70\x00\x6f\x1d\xec\x0f\xba\x6c\x30\xec\x1b\xc0\xbf\x2c\xf9\x9c\xcb\xac\xb0\x3d\x19\x0c\x8f\xb1\xb3\x80\xe0\xb0\x06\x35\x78\x1c\x98\xed\xc5\x60\x00\xbd\x80\xae\x0c\x4e\x4f\x6a\x60\xb6\x0f\x83\xfe\x10\xfa\x09\x1d\x39\xae\xa3\x66\x7b\x70\x84\x1d\x80\x8f\x81\xed\xe9\x8f\x4b\x19\x8d\x16\x22\xe5\x46\x0b\x00\x06\x5b\x21\x1c\xdd\x87\x07\x1a\xe3\xe1\xfe\x89\x0f\xe1\x90\x3d\xdd\xd7\xc8\x0e\xfb\x41\x1b\x1e\xa5\x07\x06\xd1\x7d\x33\xc8\x63\x91\x4d\x3d\x44\xe1\x69\xfc\xb0\x43\x31\xce\xd4\x5f\x3c\xc6\x43\x1c\x87\x48\xb8\xa3\x00\x62\xb0\x1d\x24\x62\xa2\xc1\x7e\x97\x0d\x4e\xf6\x03\x90\x88\x7d\x4e\x00\xe4\xf0\x24\x00\x89\x18\x67\x08\x70\xfd\x63\x03\x92\xf3\xe4\xc6\x00\xf4\xbb\x0c\xfe\x73\xb7\x8a\x64\x26\x52\x9e\xcf\xcb\x22\x8d\x18\x3f\xa0\x9a\x2f\x69\xd4\x86\x1b\x15\xb8\x37\xd8\x74\x73\x18\xdd\xb4\xa3\x05\x37\xf7\xa3\x9b\xc1\x2b\x0f\xc2\x9b\xde\x18\xe5\x4b\x71\x9b\x95\xb9\xa8\x5c\xd7\x4f\xba\xec\x00\xc6\x7b\x68\x49\x2c\xcb\xbb\xc2\xde\x3f\x3a\xec\xb2\x83\x21\xfc\xfa\xb7\xc3\x31\x3a\x3a\x80\x5f\xff\x7e\x38\x40\x87\xa7\xf0\xeb\xdf\x0f\x47\xe7\x70\x00\xbf\xfe\xfd\x70\x68\x80\xa8\xfb\xb6\x83\x4b\x99\xaf\xee\xca\xd2\x11\x7e\x08\xaa\xe1\xe4\x00\x3a\x5a\x03\x8a\x98\x69\x00\x7c\x7b\x58\x83\x0a\xd1\x1d\x9c\x1e\x77\xd9\xe0\xa0\x06\x15\xb1\xd4\x71\x1f\x99\x26\x86\x8a\xb8\x6a\x70\xd8\x65\x27\x06\x28\xe1\xa9\xa8\x7c\xa6\x38\x3d\x44\xb6\xec\xb2\xc1\x51\x3f\x86\x71\xaa\xe8\x70\x68\x84\xe9\xb0\xd6\x92\xd3\x44\x30\x4a\xc3\xe1\xa9\xcf\x29\x16\xca\xc9\x36\x12\x0b\x3a\xe8\x58\xc6\x42\x59\xd4\x51\x5a\xf6\x0f\x7c\xd6\x49\x66\x5c\x56\x52\x2c\x55\x83\x22\xed\xd7\x60\x1a\xd4\x68\x1d\xa8\x41\x89\xd6\x81\x1a\x54\x68\x1d\xa8\xae\x40\x1d\x4c\x99\x94\x39\xf7\x0c\xd9\x00\x86\x0d\x9a\xd9\xaf\xc1\x84\xcc\x82\xa8\xef\x1f\xc5\x40\x11\xaf\x00\xea\xfb\xfb\x31\x50\xc4\x2a\x88\xfa\x69\x0c\x14\x72\x0a\xa2\x6e\x61\x4a\xc9\xf3\x3a\x36\x27\x7d\xff\x7e\x84\xee\xe0\xa0\xcb\x4e\x8e\x7c\x80\x08\xd5\xfe\x51\xdc\x42\x88\xe6\xe9\x00\xb0\xf0\xef\x47\x18\x82\x1a\x38\x76\xf7\x8b\x09\x66\xff\x7d\x7e\x1e\xf4\x81\xba\x07\xc8\x84\x3e\xa4\xca\xf2\x9b\x50\x12\xd1\xe5\x18\xf6\x23\x98\xc1\x63\x80\x22\xed\xbf\x3f\x0c\x98\x59\x03\x85\x5d\x1b\x22\x5e\xc7\x31\x4a\xb1\xeb\x70\xe4\xbb\x0e\xc9\x8a\x17\x9e\x22\x8d\x8c\x2a\xdc\x1d\x6c\xbe\xed\x2b\xf0\xc8\xe0\xc2\x6d\x5f\x85\x47\xd6\x16\x6e\xfb\x4a\x3c\x32\xb5\x29\x97\x37\x75\xd3\x12\xde\x8f\xb0\x6f\x68\x61\x5a\xe6\xa9\x28\xa4\x53\xa4\x5a\x87\xc2\xc7\xa0\x09\x2e\xe2\xb7\x13\xd4\x5d\x4d\x80\x11\xdf\x1d\x83\x36\x39\x68\x02\x8c\xc4\xe4\x00\xcd\x70\x13\x60\x34\x50\xfd\x41\x97\x9d\xf8\x70\x92\xaf\x9c\xc5\x02\x08\xfd\x11\xc0\x08\x11\x50\xa4\xef\x99\x74\x0d\xb0\xb5\x91\x9b\x19\xbf\xc9\x1c\xbd\x4e\x8d\x67\x61\xdd\x06\x00\x9a\xf3\xa9\x28\x2a\x1e\xa0\x5c\x1b\x9f\x32\xcf\x6e\x45\x80\xd3\x09\xf9\x1f\x9e\x8c\x85\x70\x8e\xfc\xa8\x4e\x48\xe6\x87\x8d\xa0\x4e\xb3\x9e\x58\xf7\xb4\x7f\xd0\x08\xea\xf4\xeb\x91\xd1\xaf\xa7\xfd\x46\x48\x37\x06\x03\xc3\x50\x47\x3e\x9f\x94\x12\xe2\x9f\x90\x47\x0e\x22\x1a\x13\x4c\x83\x9e\xad\x03\x35\xe8\xd9\x3a\x50\x83\x9e\xad\x03\xd5\xf5\x6c\x08\x93\xcc\x32\x27\x03\x87\xfb\x5d\x86\xb1\x4e\x48\x2f\x04\x72\x56\x0d\x55\xe5\xd0\x17\x78\x07\xe5\x88\x7f\x0c\xbe\x4f\x20\xf7\x0e\xca\xd1\xfd\xf0\xc0\xbc\xb1\xde\x96\x43\xbd\x7f\xd0\x65\xa1\x45\x06\x28\x29\xd2\x98\xcd\xfc\xbe\x29\x74\x51\x1d\x21\xd1\x09\x46\xb7\xc5\xe7\x1b\x25\x78\xc0\x88\x83\x03\xf4\xa7\x81\xea\x07\xfb\x0d\x70\x83\x30\x50\xc0\x31\x3c\x6d\x02\xf4\xd8\xd0\xa8\xc0\xc1\x49\xbf\x01\xd0\x23\xc6\xa1\x89\x93\x02\xca\x1a\x40\x8f\x1e\x87\x46\xa9\x05\x64\x53\x60\x58\x7d\xdd\x78\x3c\x04\x36\x8d\xe9\x86\x60\xbe\xd6\x38\x38\xee\xb2\xe3\x53\xf8\x6d\x82\xf2\x5c\xb1\x41\x4d\xd5\x07\x90\x9e\x3b\x36\xa8\x69\xfd\x00\xd2\x73\xc9\x06\x35\x03\x10\x40\x3a\xb7\x6c\xd8\xa8\xc8\x35\xa0\xd8\xdc\x99\x6a\x29\xff\xb2\x2c\x33\x25\x02\xb3\x73\x04\x1f\x3e\x58\x14\x1e\x80\x05\xee\xa3\xe3\x6c\x60\xc4\x38\xe3\x85\xc7\x77\x43\xf0\x70\xc1\x37\x71\x10\x62\xb1\xc8\x8a\xc8\xde\xa3\x5f\x70\x1c\x81\x0c\x1e\x01\x13\xe9\x01\xf8\xdd\x8f\x61\x22\x35\x70\x84\xfa\x22\x82\x89\x4d\x88\xe7\x0b\x01\x88\xba\x59\x45\x26\x15\x85\xdc\x1b\x66\x07\x34\x78\x14\x94\x6f\xfe\x51\x15\x78\x8c\xe0\xa0\x7c\x2f\x00\x55\x81\xc7\x04\x0e\x2a\x70\x06\xfa\xa1\x1a\xc8\xe6\x81\xf9\x23\x45\x78\x18\x08\x06\x80\x88\xcd\x20\x65\x3a\x0d\x5d\xb9\x7d\x1c\x8d\x83\xa0\x73\x16\x68\xf0\x28\x28\x37\x74\x27\xda\xb1\xf0\x48\x60\xa1\xdc\xe0\xa1\xe7\x71\x14\x90\xc0\x42\xb9\xe1\x3b\xea\xb2\xe3\x13\x9f\x02\x93\x4c\x8a\xb1\xcc\x5c\xb8\x8e\xd4\xde\x47\x85\x19\x83\x84\x1c\x07\xdc\x7d\x70\x12\xc3\x84\x1c\x07\x9d\x3b\xa8\xb5\x13\x72\x1c\xc0\xed\xd7\xda\x09\x39\x6e\x08\x1d\x33\xee\xf9\x24\x07\xf7\x3a\xca\xb0\xa1\x56\xc1\x74\x9c\x61\xcc\x49\x29\x85\xaa\x02\xe5\xac\x6d\x80\xd7\xb7\x29\xcf\x0a\x35\x2e\x65\xe9\x02\xe2\x3e\xba\xcd\xbe\xef\x3c\x9d\x95\xaa\x0a\xdf\x87\xce\x75\x98\xf9\x03\x7f\x2b\x0a\x98\xbd\x78\x0b\xee\xc6\xf1\x74\x74\x3b\x72\xcd\xc1\x4f\xf3\x6f\xc7\x11\xf4\x7e\x78\x3b\x0e\x9d\x8f\xc3\xdb\x81\xb3\x3a\x44\x4d\x70\x04\xc4\x1f\xc6\x30\x91\x7f\x01\x56\xca\xaa\x8c\x75\x4e\x2a\x58\x28\x47\xd2\x35\x0e\x2a\xf6\xf9\x34\x06\x8a\x35\x0b\xaa\x32\x03\xe4\x8b\xe6\x29\xea\x0b\xfa\xf0\xee\xf7\x43\x3f\xde\xbf\xe5\xe4\xac\xcb\xe0\x3f\xff\x96\x7d\x8c\x38\xcb\xe3\x2e\xba\xdd\x8f\x38\x2b\x30\x5a\x08\x32\xf0\xe5\x93\x7e\xfd\xdb\x96\x42\xfb\x83\x2e\xa3\x5f\xff\xb6\xa5\x0d\xb8\x15\xf4\xeb\xdf\xb6\x54\x81\xa8\x8a\x7e\xfd\xdb\x87\xf6\xf6\x49\x24\x3f\x78\xfb\xc8\xda\xb2\x41\x97\xd1\xaf\x7f\xfb\xd8\xde\xde\xa7\xf4\xd5\x41\xf0\xee\x13\x7b\xfb\xa8\xcb\xe8\xd7\xbf\x7d\x6a\x6f\x9f\x44\x3a\x20\x30\xe1\x87\x5d\x06\xff\xf9\xb7\x2c\x4d\x29\x65\xe5\xa5\xad\xf0\xb6\x25\x28\xfa\x74\xf8\xeb\xdf\x76\x2d\x1f\x75\x19\xfd\xfa\xb7\x2d\x41\x29\x5f\xe6\xe5\xcc\xf0\xb6\x4b\x72\x0c\xc8\xa5\x39\x0a\xde\x6d\x09\x4a\xd9\x38\x2f\x23\x87\xb7\x2d\x41\x8f\x8e\xba\x8c\x7e\xfd\xdb\xc7\x7e\x06\x85\x7e\xfd\xdb\x96\xa0\xc7\x83\x2e\xa3\x5f\xff\xb6\x25\xe8\xf1\x41\x97\xd1\xaf\x77\xdb\xf6\xeb\xa4\xcb\x4e\x5c\xe0\x86\xb7\x2c\x41\x8f\xc1\x67\xc1\x5f\xff\xb6\x25\x28\xb9\x33\x9e\x4b\x83\xb7\x87\xbe\x67\x44\xbf\xfe\x6d\xf7\xe2\x83\x2e\xa3\x5f\xff\xb6\xf3\xab\xc0\x7d\xc1\x5f\xff\xb6\x25\x28\x84\x79\xf4\xeb\xdf\xb6\x04\x3d\x1d\x76\x19\xfd\xfa\xb7\x2d\x41\x4f\x0f\xba\x8c\x7e\xfd\xdb\x96\xa0\xa7\xc7\x5d\x46\xbf\xfe\x6d\x4b\xd0\xd3\xd3\x2e\xa3\x5f\xef\xb6\xe7\x05\x93\x27\x33\xf0\x75\xc6\x41\xdf\xdd\x1e\xea\xa0\x68\xd0\xf7\x91\x3b\x18\x6c\x72\x05\x10\xc2\xf9\xb1\x10\x91\x9a\x0f\x1f\x62\x3f\x0c\x07\xf5\x87\x0f\xe1\x05\x8c\x43\x8c\x55\xfd\x80\x15\x21\x0e\x1d\xc4\xa1\xce\x95\x0e\x06\x01\x1e\x47\x0e\xe2\x58\x9b\x84\xc1\x20\xc0\xe3\xd8\xf9\xd1\x18\xd9\xf4\xfd\x1c\x0e\x42\x9c\x38\x88\x21\xc6\x3e\x7e\x00\x84\x10\xa7\x0e\xe2\xd0\xcc\x04\x0c\x7d\x3c\x1c\xa2\x98\x19\x85\x5f\xff\xae\xa3\x38\xc4\xb2\xe6\xc3\x87\x70\x14\x47\x8f\x49\x7f\xf8\x10\x8e\xe2\x18\xa6\xe9\x0f\x1f\xc2\x51\x7c\x1f\x83\x9f\x43\x3f\xe3\x8d\x10\x9e\x25\x42\x0f\x89\x3e\x7c\x08\xd7\x91\x83\xbe\x8e\xcf\x07\x07\x01\x1e\x47\x61\x18\xa8\x3f\x7c\x08\x47\xf1\x03\x8c\xf1\x0f\xfd\x6c\x39\x42\x9c\x04\xf1\x83\xf9\xf0\x21\x1c\xc5\x31\x1e\xd5\x1f\x1e\x84\x43\x03\x0d\xaf\x97\x6a\xc2\xbb\xfd\x20\x60\x37\x1f\x3e\x84\x17\xb3\x41\x3c\xa0\x3f\x7c\x08\x47\x71\xcc\xc0\xeb\x0f\x1f\xc2\x4b\x8e\x40\x08\xa9\x3f\x7c\x08\xcf\x2d\x05\x14\xf4\x87\x0f\xe1\x28\x0e\x5a\xd7\x7c\xf8\x10\xae\xab\x47\xe8\xd3\xd0\x87\x0f\xe1\x28\x0e\xba\xd7\x7c\xf8\x10\x8e\xe2\x98\x6d\xd3\x1f\x3e\x84\xa3\xf8\xf1\x11\x4e\xa5\xfa\xf3\xa9\x00\xe1\x5e\x62\xe2\x2c\x1f\x87\x63\x47\x71\xd0\xc3\xe6\xc3\x87\x70\x14\x3f\x01\x04\xf5\x87\x0f\xe1\x25\x04\x0e\xcc\x9c\x4d\xa0\x93\x8f\x1d\xc5\x4f\x00\x41\xfd\xe1\x43\x38\x8a\x53\xfa\x8d\x3e\x7c\x08\x47\x71\x88\xcd\xcc\x87\x0f\xe1\x28\x0e\x9a\xd9\x7c\xf8\x10\x8e\x18\xa7\x47\x38\xff\xe8\x4f\x42\x22\x84\xa3\xf8\x29\x66\xee\xe9\xc3\x87\x38\x75\xce\xe3\x40\x3b\xc3\xc3\xbe\x8f\xc7\x89\x03\xa0\xe8\x37\xd0\x5b\x27\xce\x81\xeb\x63\x5c\x78\xe0\x67\xa5\x10\xc2\x4b\x09\xe2\x8c\x0e\x7d\xf8\x10\xce\xcb\xed\x9f\x62\xa8\xef\xc7\xfb\x08\xe1\x5c\x5c\x50\xd0\xe6\xc3\x87\x38\x70\x10\x80\x82\xfe\xf0\x21\x0e\x1d\x04\xa0\xa0\x3f\x7c\x88\x23\x07\x41\xa5\x01\x7e\x7d\x00\x42\x1c\xbb\xf0\x05\x27\xb2\xe8\xc3\x87\x70\xe4\xc2\x29\x6c\xfd\xe1\x43\x38\x8a\xe3\xb4\x93\xfe\xf0\x20\x1c\xc0\x3e\x04\xa3\xf0\xeb\xdf\x75\x14\xc7\x79\x34\xfd\xe1\x43\x38\x8a\xe3\xb4\x83\xfe\xf0\x21\xbc\xb8\xc2\x4e\x08\x07\x5a\xfa\xd4\x51\x7c\xff\x18\x27\x4a\xfc\xd9\x12\x84\x70\x14\xa7\xf2\x8c\x20\x28\x44\x08\x47\x71\x9c\xf6\xd3\x1f\x3e\x84\xa3\xb8\x9b\x8b\x0f\xb4\xf4\xa9\xa3\xf8\x01\xa0\xa0\x3f\x7c\x08\x47\x71\x8c\x4b\xf5\x87\x0f\xe1\x08\x8a\x93\x94\xfa\xc3\x42\x84\x29\xf7\x60\x1e\x30\x4c\x25\x36\xde\xad\x4d\xa0\x04\x77\x6b\xf3\x27\xc1\xdd\xda\xf4\x49\x70\x77\x25\xf2\xbc\xbc\x0b\x74\x26\x25\x04\x5c\xf7\xc5\x96\xb8\x4d\xac\x8f\xdb\xc4\xfa\xb8\x4d\x6c\x8e\xdb\xc4\xf6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xfa\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\xac\x8f\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xc6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8c\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xc6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8c\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xc6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8c\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x89\xdb\x66\x65\x21\x56\xa9\xb8\x0b\x7b\x43\x15\x79\xfd\x08\xa6\xa9\xf2\xbc\x06\xd4\x54\x7c\x6e\x39\xc0\x00\x35\xd4\x9f\xbb\xb2\x12\x03\xd4\x58\x82\x3e\xb0\x40\x55\xad\xf0\x80\x9c\xa4\x93\x7e\x08\x12\x97\x4e\xf6\x1b\x60\x1a\xaa\x27\x07\x47\xc7\x21\x4c\x54\x40\x79\x84\x93\xe1\x21\x48\x38\x3b\x08\xc6\xca\x2e\x14\xc8\x8a\x34\xaa\xa5\xc0\x56\x7c\x9f\xd4\x82\x44\x18\x23\x36\xfd\xa3\x18\x2a\xc4\x39\x70\x40\x2d\x4c\x88\xf3\x89\x5f\x9f\x6c\x61\xea\x48\x5b\x03\x9b\xdd\x96\x72\xd5\x10\xa2\xda\x41\x47\x80\xc1\x56\x88\xb8\x8a\x33\xe0\x09\x84\x88\x4b\x38\x03\x86\x40\x88\xb8\x7e\x33\xe0\x86\xa0\x56\x8f\xb8\x73\x3f\x70\x9b\x10\x20\xae\x38\x3d\xf2\xdd\x26\x84\x88\x11\xed\xfb\x0e\x1e\x42\xc4\x4b\x55\x4e\x7c\x77\x18\x21\x62\x44\x21\xd4\x32\x04\xcd\xf9\xad\x28\x52\x21\xdd\x6b\x0c\xaa\x4e\x66\x0d\xcc\x38\x5f\xaa\x59\x84\x71\xdf\x57\x10\x01\x60\xdc\xb7\xf5\x90\xf1\xaa\x9c\x03\x5f\x81\x06\x90\x71\x5f\xf7\xb1\x9c\xbc\x09\xb2\x69\x5d\x8e\x9d\x61\xcf\xf9\x5d\x11\x16\x9d\xe1\x3b\x0f\xbd\x02\xbe\x5c\xcc\xcb\x22\x99\x65\x93\x89\x57\xc2\xe6\x8a\x24\x6c\xdc\xe3\xc3\xc5\x6c\xb7\x16\x30\x1e\xd4\x7d\xdf\xd7\xf0\x01\x63\x26\x44\x57\xb2\xa9\xc5\xb8\xbb\xc7\x7e\xd4\x94\x67\xd3\x59\x50\xf8\x4f\x29\x27\x2c\x76\xb1\xe1\x84\x05\x0a\xeb\x0c\x69\x31\x95\xcd\x00\x59\xa8\xb0\xce\x90\x56\x52\xd9\xa0\xc1\x42\x85\x75\x86\xb8\x8c\xca\xa3\x88\x81\x0a\xeb\x0c\x8d\x6e\xf5\xa1\xc2\x8a\x74\x8c\x3f\xb0\xaa\x67\x18\xbc\xd1\xaf\x3a\x26\x2e\x0a\xd3\x57\x16\x68\xf0\x28\xa8\xc8\x0b\x0a\xab\xe9\x2c\x94\xe7\x7b\xd6\x4b\xa9\x2d\xd4\x41\x18\x4d\x86\x65\x74\x08\x55\xaf\x31\x21\x61\x18\xf8\x31\x5f\x08\x19\x2f\x7b\x3b\x5a\xdf\x68\x2c\x62\xfd\xf5\xad\xc6\x32\xd6\xaf\xb1\xd2\xba\xda\x13\xf0\x7c\x6c\x70\x10\x42\x86\x29\x4f\xcf\x31\x18\x84\x48\x78\x05\x2b\xb8\x5c\xc6\x7c\x84\x40\x41\xb9\xa8\xb1\xe9\xce\xf6\x19\xa8\xed\x4d\xd5\x0d\x36\x56\x39\x5a\x3d\x6f\x81\x22\x03\x78\x8c\x31\xc8\x61\x0c\x15\x19\xed\xa3\xa1\x1f\x4f\x59\xa8\xb8\xee\x9c\x16\x2d\xc4\x50\x21\x6d\x71\xa9\x4e\x3f\xc0\x3d\x2a\xaf\x45\xbc\x8e\x82\xf2\x5a\x0f\x6c\xf0\x48\xb8\xa8\x07\x58\x13\x3f\x38\xa8\xc3\x45\x7d\x80\x91\x3f\x3d\xa9\x83\x85\x9d\x38\x39\xf6\x12\x88\x04\x15\x15\xff\xee\x0f\x75\xb5\xa2\x5b\xa8\x48\x70\x61\x7d\xe4\x80\x16\xba\x1d\x05\x46\xca\x83\x1b\x04\x51\xeb\x10\xd3\xdc\xa1\x7c\xc7\x55\x92\x83\xa3\x03\xc3\x21\xa1\x88\xc7\x85\x92\x58\x59\x8b\x5c\x12\x49\x79\x5c\x2b\x89\xee\xd8\x70\xbf\x26\x92\xb5\x1a\xe1\xc1\xbe\xc9\x73\xc5\x38\xc6\x65\xc2\x83\x81\x5d\x27\x72\xb8\xdf\x00\x29\x1e\x01\x59\x09\x91\x87\xa6\xc0\x44\xaa\xc3\x88\x1f\x0c\x64\x54\xf9\x3f\xac\x2b\x4b\x0b\x1a\x55\xfe\x0f\xfa\x75\x72\x1a\xd0\xb0\xf2\x1f\xc3\xfe\x98\xa0\x06\x34\x2a\xfd\x6f\xa0\x69\xac\x5d\xac\xd3\x37\x3c\xa8\x83\x35\x39\x87\x4d\x70\x4d\x2e\x62\xbf\xe1\xb5\x4d\x8e\xe2\x49\xbf\x0e\xd7\xe4\x2e\x7a\x24\x9f\x87\xeb\x31\x0e\x8d\x31\xf1\x18\xbc\x10\x45\xa8\x41\xb5\x5b\xa9\x01\xa2\x95\x1f\x34\xa3\xe5\x0f\x96\x06\x18\x6c\x85\x08\xbb\x1e\x8c\xa2\x86\x08\x3b\x1d\x38\x3a\x1a\x22\xec\x6e\xb0\x02\x65\xce\x65\xe9\x34\x17\x72\xe0\x01\x04\x0c\x47\xc1\xfd\x10\xcd\xc3\xa1\x9f\x39\x22\x88\xa8\x54\xf6\xc4\x0f\x91\x08\x22\x44\x13\x45\xd7\x5a\x09\x82\x88\xca\x64\xfd\x00\x69\x2e\xd2\x6c\x39\x6f\x58\xc3\xdd\xb0\x9c\x9a\x60\x1b\x56\xdc\x3a\xb2\x20\x44\xb4\xde\xe3\xe4\x88\x62\x20\x67\x96\x7c\xb0\xd0\x4d\x19\xf4\x03\x15\xe1\x03\x86\x9e\xca\xe9\x61\x30\x60\x1e\x5c\xe8\xab\x84\x4a\xcc\x87\x0b\xbd\x95\xc3\xc3\x60\xf0\x10\x6e\xb1\x94\x8b\xdc\x51\xe4\xe0\xd8\xa8\xb0\x41\x13\x9c\xa7\x8f\x07\x3a\x8f\x1d\x77\x84\x00\xbd\xe4\x2a\x8a\xc7\xa0\xde\x13\x02\xf4\xb2\xda\xc7\xba\x28\x3d\xee\x0a\x01\x3a\x7d\xbc\x4f\x73\x50\x71\x4f\x62\x13\x84\xa6\x11\xf3\x94\x36\x5b\xaf\x01\x6b\x8a\x1b\x35\x51\xff\xa0\x8e\xa3\x5a\xc8\xac\x98\xd6\x27\xa0\xa9\xca\x3e\x00\xad\x2d\x8c\x38\x1e\xda\x8c\x5b\x08\x49\x6b\x23\xfc\x35\x37\xa7\x98\x0f\xf3\x03\xc2\x79\x96\x16\xb1\xb3\x4f\x0a\xdb\x77\xe2\xe6\x59\x51\x25\x52\xf0\x79\x98\xec\xd1\x41\x8b\x05\x52\xd5\x4a\x96\xaa\x61\xcd\xfc\xd0\xce\x72\x58\xa0\x86\x65\xf3\x0d\x50\x0d\x2b\xe7\x9d\x03\x68\xa1\x9a\x16\xcf\xdb\x8c\xb0\x85\x6a\x5a\x3f\x6f\xf3\x72\xf3\x32\x49\xb8\xca\x8a\x3a\x56\xae\xa5\x82\xdf\xf2\x1f\xca\x86\x2a\xf8\x61\xe0\xb6\x79\x60\x71\x27\xd7\xc1\xc5\x75\xe8\xc7\xfe\x04\x80\x07\x17\x17\xa4\x07\x41\x81\x07\x17\x77\x75\xe0\xcd\x0b\x16\xfc\x76\x15\xaa\x1c\x17\x14\xc1\xbd\x86\x95\x9a\xf6\x7e\x99\xa7\x39\x4f\xbc\xde\xef\x9b\x94\x9f\xb5\x29\xb8\x00\x2f\x95\x7c\xec\x94\x1f\x2e\x4f\x1f\x7a\x6b\xe2\x2d\x8c\x17\x39\x9a\x35\x82\x47\xc3\x18\xc8\x0b\x1c\x4d\x54\x75\x78\x12\x03\x85\x71\x63\x68\x07\x2d\x50\xc3\x72\x2c\x1b\xe1\x37\x2d\x07\x3c\xf2\xaa\x34\x1a\x97\x02\xd6\x01\x22\x77\x18\x90\x09\x01\xa2\x21\xdc\xdf\x8f\x01\x22\x37\xbe\x1f\xdf\xf7\xf3\x6f\x48\xb0\xd3\x06\x88\xc1\x76\x90\x10\xd3\xa3\x1a\xa2\xb5\xd4\xdb\x61\xad\xb3\xb5\xcc\xdb\xfe\xb1\x0f\xe2\x1b\x2e\x5a\xff\x40\x0a\xff\x20\x80\x88\x48\xba\x3f\xf0\x75\x4a\x6c\xad\x90\xa8\x98\xb3\xb7\x1a\x2c\x32\x54\x43\x3b\xd5\xec\x26\x41\x62\x1b\x05\xa8\x92\x66\x37\xc6\x7f\xc1\x73\xb1\x26\x9e\xa6\x08\xa3\xef\x03\x06\xe1\x24\xe5\xa2\x71\xa3\x86\x61\x0c\x34\x08\xb9\x12\x3b\x68\xd5\xb9\x85\x1a\x6e\x0a\x4d\x2d\xd4\x7e\x98\x7a\xa2\x28\xaa\x06\xe5\x8a\x0d\xcc\xc2\x9b\x13\x1f\xa6\x66\x3c\x06\xc7\x87\xb5\x4c\x45\x00\xe8\xcd\xb6\x1d\xd7\x32\x1f\x01\xa4\x27\xa7\xf5\x2d\x5b\x02\x48\x4f\x58\xeb\x19\x90\x00\xf2\x20\x70\xa1\xa2\x2c\x08\x40\xd6\x6c\x1c\xce\xf9\x50\x11\xc0\xc1\x71\x13\x60\xcc\x6f\x7d\x7f\x92\x33\x80\x8c\xd9\x0e\xc7\xb8\xf1\xe5\x31\xf7\x1d\xc4\xbc\x65\x21\xeb\x4c\x68\x53\x07\x0b\xbe\xe0\x2b\x7e\x37\xcb\x16\x51\x96\x06\x8d\xb6\x85\x12\x3c\x99\x2d\x96\x93\x49\x08\x44\x13\xa9\x87\x31\x50\xbc\xfe\xa9\x19\x2a\x36\x3f\xc1\xac\xae\x85\x8a\x8d\xcf\xa1\x9f\x85\xb0\x50\xf1\xa2\xa8\x53\x3f\x0d\xb1\x10\x72\x59\xd7\x7f\x76\x22\xbb\x9e\x5c\xa1\xfc\x9f\x7f\x3f\x5e\xd5\x3f\xf0\x13\xba\x4d\x29\x95\x53\x7f\xf2\xb7\x29\x9b\x72\xe8\xcf\xc7\x37\x24\x52\xb0\x07\xf6\x7e\xbe\x74\x4e\x10\x72\xc4\x11\x2e\x5c\x1b\x78\xf7\x63\x14\x8f\x03\x91\xc9\x97\xf3\x78\xc3\x81\xc0\x21\x04\x80\x78\x1d\x57\x10\x17\x00\x40\xbc\x86\x6b\x18\xc8\x45\x79\x97\x46\xfb\x5c\x50\x56\xe3\xc0\x37\xd4\x91\x43\x0e\xdd\xc0\x69\xc6\x83\x10\xc0\x53\x61\x7a\x05\xa2\xd7\x97\xc8\x05\x07\x52\x1e\x84\x9d\x89\x7c\xef\xa1\x5e\x7d\xe8\xf5\x26\x74\xba\x31\xb6\x09\xd2\x92\xb1\xbd\xf3\x0c\x62\x4d\x9a\xc3\x7b\xb5\xa0\xd4\xbb\x57\x0b\x47\xbd\x7b\xb5\x40\xd4\xde\x2b\xd5\x2a\xdc\x6e\x48\xaf\x3a\xf7\x27\x61\x2c\x50\xc3\xb2\x3e\x97\x27\xb4\x50\x0d\xeb\xfa\x5c\x32\xc0\x42\x35\x2c\xec\x73\x2b\xce\x2d\x54\xc3\xca\x3e\x57\x6f\x25\xcb\x15\x0f\x12\x39\x47\xd6\x50\x0e\x6b\x30\x03\x3f\xb8\xa0\xfd\x6e\x0e\x6b\x40\x16\xf5\xa3\x63\x3d\x29\xe9\x06\xde\x02\xb9\x6a\xc3\x13\x1d\x68\xd6\x31\x72\x35\x9c\xa7\xe4\x89\xb8\xd1\x57\x3c\x4d\x73\x11\x12\xbd\xb6\xfd\x4c\x9c\xd8\xb4\xd9\x7e\xeb\x6a\x34\xe6\x34\x0f\xfa\x3e\x7d\x1a\xd3\x99\x60\x1d\x6c\x78\xdf\x98\xc8\x04\x4b\x73\x12\xbe\x26\xd2\xf1\x47\x5d\x76\x78\x6c\x01\x8a\x34\x64\xa1\x21\x08\x0c\x26\x13\x6d\x36\x23\x0e\x30\x0f\x8e\x8c\x29\x3f\x8e\x20\x06\xbe\xb5\xd7\xee\xc5\x69\x04\x63\x7b\x74\x6c\xf7\xd6\xb0\x35\x52\xb5\x0d\x0d\x8e\x8e\xad\x6b\x11\xc3\x1c\x6c\x44\x47\xcd\x44\x1e\xee\x00\xa4\xe3\x82\x93\x08\x26\x9e\xe4\x6b\x04\x8a\x27\x1f\x4e\xfd\x64\xa3\x01\x8a\xa7\x1d\x8e\xfd\x39\x31\x03\xd4\x30\x93\xe9\xa6\x31\x54\x26\x8a\x82\x07\x2a\xf0\x64\xd8\x65\x76\xce\x91\xee\x37\x38\x0c\xd6\x5f\x20\x88\x06\x47\xc1\x66\xad\x09\xa2\xc1\x41\x70\x3c\x81\x10\x75\xc7\xc0\x51\x65\x6d\x2e\xdb\x46\x54\xb5\x34\xb6\x97\xef\x8e\x60\x9c\xba\x46\x3d\x8b\x16\x36\x7e\x95\xb7\x8b\xd5\x89\x2e\x26\x73\x62\x1b\xe7\xad\x71\x6a\x63\x10\x58\xa0\x7a\xe6\x03\x50\x39\x0d\xcc\x98\x85\xf1\x90\x06\x7b\x3a\x08\x36\x28\xb0\x50\x1e\xda\x58\x68\x1a\x4c\x1f\x5a\xa8\xfd\x20\xc2\x3b\x39\x6d\x7c\xa1\xc3\x1c\x06\xaa\x5f\x43\x3c\xcc\xa0\x0f\x8d\x32\xb1\x2e\x79\xc3\x3e\x1b\xa7\x27\xb5\x59\x83\x86\x3d\x36\x4e\x0e\x6b\x53\x06\x0d\xfb\x6b\x60\x22\x2b\x4c\xb5\xd5\xf7\xd6\xa0\x81\x09\x33\xdb\x0d\x49\xfd\x06\xe4\x8b\x5a\xde\x3b\x98\xba\x87\xfb\x4d\xd3\xd2\x01\x40\xc3\x74\xb4\x0b\xc8\x00\xa0\x61\x1a\xda\x85\x63\x00\xd0\x34\xfd\x6c\x3d\xe6\x75\xd9\xb0\x43\xbf\xde\xd5\x03\xaa\x2d\xcb\x68\x84\xaa\x2d\xcf\x70\x9b\x6e\x78\x50\xb5\x65\x1a\xae\xa6\xd9\x83\xaa\x2d\xd7\xb0\x75\xec\xb5\xf9\x92\x63\x5b\x88\x6b\xcd\x7a\x7d\xa6\xe4\xf4\x54\xd7\x29\x7a\xfc\x53\x9b\x23\xa1\x3d\x45\x43\x79\xad\xcd\x8e\x60\x4e\xe8\x20\x70\xb1\xea\xf3\x22\x38\xb7\xde\x0f\x38\xbf\xf2\x66\xc2\x75\x7d\x91\x5f\x7c\x52\xf1\xda\x8c\xe0\xa1\x57\x26\x5f\xf1\xd8\x72\xc2\x2b\x6c\x0c\x51\xf1\xd8\x6c\x06\x7e\x7f\xc5\x8b\x7a\xd6\xc3\x3a\x54\xd5\x2c\x53\x55\xee\xed\x88\x77\x64\xb6\x31\xb1\xbb\x8e\x6a\x90\x38\xdd\x16\xc4\xaa\x1a\x26\xce\x28\x06\x5e\x8b\x86\x89\xf3\x89\xc1\x54\x93\x86\x89\x53\x6c\x81\x24\x56\xe5\x9c\x57\x65\x80\xcd\xe9\xa9\x67\x36\xe8\xfe\x60\x1b\x40\x54\x1e\x35\xf4\xcc\x0a\x01\x84\x88\xc2\xd0\x5b\xab\x42\x00\x51\x61\xd4\x81\x67\x55\x6a\xa9\x80\x23\x5b\xed\xd8\xaf\xc1\x04\x12\x16\x6e\xed\x58\x8f\xff\xfb\xb5\x8d\x1d\xeb\x91\x7f\xbf\xb6\xad\x63\x3d\xe6\xef\xd7\x76\x75\x0c\x77\xfb\x71\x2e\x9a\x7b\x53\x3d\x1f\x00\x8a\x12\x73\x38\x56\x05\xae\x49\x05\xe0\xb4\xa2\x55\x73\x6b\xb2\x00\x58\xbd\x7d\x50\x03\x8a\x32\x65\xc1\xe2\x80\x35\xb1\x3f\xf4\xcc\xae\x23\xb9\x9b\x09\xee\xfa\x75\xe0\x92\xc5\xa7\x3e\x40\x5c\xbe\x31\xf0\xab\x96\x11\x22\xe6\x6e\xac\xbe\x3e\xf0\x21\x62\xde\x3e\xf2\x3b\x8d\x10\x31\x67\x1f\xf9\x3a\xb0\x69\x0f\x98\x80\x1d\x10\x40\xcd\xcb\x9b\xa6\xcd\x75\xad\x67\xb5\x6e\xfe\xb5\x1f\xdc\x6f\x98\x78\x0d\x01\x1a\x66\x5c\x43\x80\x86\xa9\xd6\x10\xa0\x61\x8e\x35\x04\x88\x92\x7d\x7e\x72\xf9\xc9\xc3\xf3\x27\x7b\x7b\xec\xdd\xb7\xdf\xbf\x7d\xf1\x92\x5d\xbe\x7a\xfd\x12\xcf\x9e\x4d\xcb\x6a\xef\x07\xb5\x97\x67\xe3\x8f\x93\xde\x0f\x0a\x40\x5e\x94\x8b\x95\xcc\xa6\xb3\x8a\xb5\x93\x0e\x58\xc2\x21\x1d\x0e\x3f\x93\xe5\x3c\x5b\xce\xd9\xb7\xef\xd8\x68\x59\xcd\x4a\xa9\x7a\x6c\x94\xe7\x0c\x61\x15\x93\x42\x09\x79\x2b\xd2\x1e\xb4\xf1\xbd\x72\xa7\x82\xab\x72\x29\x13\xc1\x92\x32\xc5\xf3\xf0\xa7\xe5\xad\x90\x05\x1d\x1a\xcd\xd9\x57\xef\x2e\x76\x55\xb5\xca\x05\xcb\xb3\x44\x14\x4a\xb0\x6a\xc6\x2b\x3c\xe0\x7a\x2c\xa0\xa5\x49\xb9\x2c\xf0\xe0\xd3\x6a\x26\xd8\xeb\x57\x2f\x5e\xbe\x79\xf7\x52\xef\xc8\xfd\xa4\xb5\x54\x74\x92\x56\x52\xb5\xdc\xf6\xde\x5f\x4b\x3e\x66\x63\x3e\x05\x04\x96\x55\x96\x67\xd5\xca\x1e\x15\xe5\xed\x20\x3e\x61\xe7\xec\x27\xef\xe0\xa3\xb7\x74\xea\x12\xbb\xe5\x32\xe3\xe3\x5c\x30\x29\x26\x42\x8a\x22\xc1\xb3\x94\x19\xf7\x0e\x48\x04\xf0\x3f\x6a\x30\x3a\xce\xab\xa4\xe3\xb9\xf0\xf0\xf7\x7f\xbb\xfc\xfe\xcd\x8b\xf7\xaf\xbe\x7d\xd3\xfe\xe3\xe8\xed\x9b\xd1\x37\x2f\x3b\x3d\xc6\xcc\x35\xa0\x00\x2f\x58\xb9\x00\x6c\x78\x0e\x2d\x09\x95\xf0\x85\x70\x47\x97\x56\x25\xe3\x8b\x45\xbe\x32\x1b\x92\x07\x27\x88\x5d\x96\x92\x89\x7b\x3e\x5f\xe4\xfa\xf0\x7d\x3a\xa0\x54\x1f\x19\xf5\x47\x2e\x55\x7b\xe7\xdf\xda\xc0\x07\x55\x56\x4c\x3b\x5d\xf6\x6f\xa2\x00\xca\x7f\xff\xf6\xd5\x0b\x73\x72\x1d\x9d\x97\x05\x7c\xf3\xb4\xf1\xdc\xd1\x9f\x98\x79\xfe\x8c\xed\xfc\x07\x30\xd6\x7a\x58\x3a\xb9\xea\x8c\xed\x7c\x5d\x96\xd3\x5c\x3c\xdb\x61\x0f\x9d\xe7\x1a\xd7\x3f\x65\xc0\x1d\x42\x2d\xf3\x0a\x28\x48\x4d\x75\x19\x41\xfe\xdb\xf0\xab\x1d\x6f\x30\xfc\x1e\xf8\x47\x7b\xa9\x4a\x76\x61\x48\x14\x9d\xef\xa5\x4f\xad\x52\x95\x74\xa7\x64\xfd\x5b\xfb\x8a\xef\xfe\x78\xfd\xb4\xf3\xa1\xdd\xbe\xfa\xf3\x87\xce\xf5\xb3\xce\x87\xce\xde\x34\xeb\xba\x56\xf0\x9c\xb9\x2e\x9b\x14\xd8\x96\x3b\x2e\xcc\x1c\x32\x57\xad\x16\xa2\x9c\xe0\x7b\xae\x34\xc0\x35\x1e\x99\xb7\x2c\xf0\x28\x52\x91\xb6\x3a\xf6\xac\x56\x3c\xac\x97\xb5\xbe\xa7\xf3\xd7\x2c\xbf\xd0\xf1\x71\xfa\x69\x7d\x08\xb3\x3e\x1a\x1a\x8f\x36\xf7\xdb\xb6\xb7\xe1\xe5\x93\xc2\x9c\xe8\x15\x50\xa1\x67\x79\xd6\xe1\xca\xa8\xad\x0d\xb0\x57\x93\xe2\xba\x2d\x6f\xed\x59\x78\xfa\xf8\x3d\x7a\x8f\xdf\x50\xd4\x8b\x88\x09\xa9\x33\x93\xc2\x36\xf3\x24\x3c\x5b\x4f\xde\xea\xa3\xf5\xc2\x93\x14\x2f\x0d\x1a\xbe\x14\xb3\xa5\x32\xc7\x0f\xfb\x28\x6b\x26\x79\x91\x67\xa2\xa8\x14\xc2\xf2\x34\x25\xa6\x37\x07\xd7\x55\x25\x13\xf7\x95\x28\xd2\x06\x36\xef\xac\xe1\x1e\x47\x0b\xbd\x31\xbf\x15\x80\x33\xf7\xb5\xeb\x5f\xb7\x82\x71\xd6\x70\x0d\x21\x91\x38\xff\xf1\xfe\x9b\xd7\x67\x01\x67\xfa\x67\x29\xce\xf9\x42\xbf\x0f\x4f\x4b\xf8\xbc\x75\xc6\x5a\x9f\xe5\xd5\x73\x7d\x7c\x02\x63\xad\x2f\xf0\xd2\xd4\xbf\xf4\x19\x5e\xe2\xf3\x85\x77\x6d\x07\xaf\xfd\x65\x59\x7a\x80\x3b\xad\x1d\xb8\xf8\x87\xfd\xd3\xe7\x2d\xa2\x7b\x78\xca\x77\x20\x0f\x57\x9f\x7f\xf1\xd9\x87\x9d\x0f\xad\xeb\xbd\xa9\x2f\x02\x1d\xf6\x93\x01\x9f\xf3\xc5\xd5\xfc\x9a\x24\x95\x3d\xf8\x03\xf8\xb5\xa8\x50\xe7\x98\x63\x03\x79\x92\x88\x45\x25\x52\xf6\xfd\x2b\x96\xf3\x62\xba\xe4\x53\x77\xc8\xb5\x39\x04\xd0\xbe\x83\x8e\x1a\x7e\x60\x09\xcf\xf3\x31\x4f\x6e\x2c\x3f\xc0\x40\x66\xc5\x6d\x79\x23\x88\x0f\xe0\x15\xa4\x18\x54\x8f\x81\x75\x31\xea\x05\x5b\x14\x95\x90\xa8\x27\x2d\x1a\x79\x89\x27\x6c\x80\xec\xf8\x1a\xbc\x37\x15\xd5\x08\x31\x7c\x6d\x70\x0b\x4e\xc5\xd4\x68\xb8\xa3\x01\xef\xb2\x22\x2d\xef\x7a\x09\x98\x32\xc1\x3e\xfb\x8c\xd1\xb7\x5e\x36\x38\xb1\xc2\xe1\x5d\x6a\x68\xdf\x35\xfa\x3c\x3e\xdc\x52\x89\xea\x7d\x36\x17\xe5\xb2\x6a\x5b\x14\x7c\x89\x33\x4f\xb6\xaf\x0a\x7e\x9b\x4d\x79\x55\xca\x9e\xa1\xa9\x1b\xbd\x5d\x3c\xf1\xef\x63\xab\x73\xed\x64\x18\xcc\x7c\x6d\xa8\xbe\xe3\x52\x09\xc6\xd9\x5f\x96\x42\xae\xb4\x71\x32\x27\x50\xce\xb8\x9a\x05\xc7\x40\x56\xfc\x06\x2c\x15\x5b\xca\x3c\x7e\xc0\x19\xae\x16\xd0\x77\x70\x8e\xf6\xe6\x33\xf8\x3e\xa4\xef\x2d\xc6\x8b\x14\x9a\x4a\xcc\x31\xe9\xde\x59\xcc\xe5\xf8\x07\x91\x54\x81\x01\xfc\x09\x07\x6a\x70\xc6\x5a\xf4\x78\x17\xff\x1e\xda\xbf\xd9\x43\x4f\x9f\x91\xce\xf5\x29\xe9\x78\xac\x21\x5f\x2c\x04\x68\xff\xf9\x32\xaf\xb2\x45\x2e\x58\x95\xcd\xc9\xf6\x42\xcb\x3e\xd6\x5d\x56\x16\x60\x1f\x89\x6f\x72\xae\x2a\x7d\xca\x33\x1e\x9e\x4a\xed\x98\xe7\x88\xcd\xa2\x03\x38\x8b\xd4\x1c\x55\x0e\xc6\x7b\xc1\x15\x68\x28\xd0\x88\xcb\xe9\x8c\xa5\x22\xd6\x01\x6c\x2c\x26\xa5\x14\x6c\x2c\x80\x64\x3c\x4d\x05\x92\x43\xdb\x67\x6d\xe1\x88\x10\xeb\x0e\xc8\x44\xf4\xe9\xd0\x6e\x7d\xc4\xa2\xd4\x67\x8e\xe0\xc9\xb6\x74\xc2\x67\x56\x31\x55\x71\x20\x30\x4a\x09\x37\x52\x91\x0b\x8e\x27\x94\xb4\xbe\x6c\xd1\x69\xb1\xad\x2f\x5b\xf6\xa0\xd8\x6c\x5a\x94\xd2\x3f\xc9\x7a\xd2\xc3\x26\xff\x3f\x24\x98\x27\x0e\x1e\x0a\x4e\x22\xbc\x8b\xf5\x23\xad\xbf\xd4\x56\xcf\x47\xfe\x9c\x35\x3c\x32\xa0\xd3\x7f\xad\xb1\xfb\xe9\xc1\xfe\xbd\xe0\x19\x5a\xf4\xe0\xa9\x45\x9e\x55\xed\xd6\x67\x74\xae\x65\xd3\x99\xc1\xf8\x54\xd3\xa9\xe4\xa6\x49\x76\x4e\x30\x57\xd9\xb5\x69\xee\xbc\x65\x0e\x70\xbf\xbd\xaa\x8f\x61\x1b\xc0\xaf\xfa\xd7\x9d\x6b\x76\xde\x30\xc4\x74\x7b\x70\x5d\x3b\x45\x18\x2c\x1d\xf4\xc6\x2a\x9c\xef\xdf\xbe\xf6\xa9\xba\xe0\xd5\x6c\xbb\x82\x91\xcb\x02\xb8\xb9\x7e\x45\xb7\x18\x1c\xdd\xd9\x08\x41\x2f\xf2\x8f\xee\x84\x0b\xe1\xc1\xb4\x39\x9f\x2f\xac\x4c\x65\x45\x25\xa6\x42\xa2\x3b\xc9\xd4\x42\x24\xd9\x24\x13\x29\xc3\x5a\x88\x98\x4b\x35\xec\x03\xbb\x45\xe6\x24\x61\xaa\x4a\x60\xaf\x04\x1a\x25\xf6\xaa\x83\xcf\xb3\x02\x1f\x98\x67\x45\x36\x5f\xce\xb5\xb9\x40\xef\xd9\x7a\xad\x0d\x4f\xf1\x7b\x7a\x8a\xdf\xaf\x7d\xca\xb0\x32\xbe\xde\xa7\xf7\x6d\x17\xde\xd6\x85\x87\x1d\xd9\x6f\xd9\xe7\x70\x35\xa0\xe2\x3c\x2b\x9e\xdb\xdb\x5f\x20\x7c\x70\x9b\xdf\x7b\x87\xfc\xde\x06\x84\x7c\x2d\x26\x15\x5b\xf0\xd4\x3a\xfd\x44\x44\xa2\xab\x3e\xdf\x7c\xa9\x50\x17\xe8\x8b\xc9\x8c\x4b\x9e\x54\x42\xae\x93\x7f\x55\xc9\x9a\xdc\xaf\x21\xaa\x7e\x01\x40\xa7\x42\x65\x52\xa4\xfa\x52\xaf\xa9\xe1\x72\x51\x7d\x4c\x08\xda\x04\x15\xd0\x34\xea\x0b\x8b\x55\x97\xa5\x62\xc2\xc1\xdc\xc2\x9b\x5b\xac\xb5\xfe\x44\xde\x05\xaa\xb7\xda\x69\xf0\x93\x5e\x0e\x04\x89\x3d\x73\x42\xac\xab\xb1\xa0\x01\x81\xae\x9e\x33\x12\x75\xf4\x92\x80\xce\x1a\xcd\x73\xf3\xe5\xe7\x9f\x01\x0d\x64\xe7\xbb\x59\x96\x0b\x06\x90\xe6\xec\xf8\xcf\x75\xbb\x34\x60\xd4\x9e\x7e\xee\x19\xfc\xe9\x4b\x01\xfe\xd9\x3c\x76\xc5\x72\x3e\x36\x02\x10\x8c\x1d\x6a\x57\xa3\x54\x7f\x14\xb2\xac\xb9\x34\xd4\xfd\x9f\xed\x98\xe8\xa6\x80\x40\xae\xd5\x5f\x3b\x82\x1b\xc8\xae\x1b\xe7\x2a\x88\x37\xcd\x10\xfc\x18\x0d\x01\x41\x9b\x51\x08\x22\x24\x37\x66\x11\x54\x97\xb5\xfa\xad\xd0\x6b\x7f\xab\xcf\xcb\x36\xcc\x99\x94\x45\xc5\xb3\xc2\xe7\x6f\x8d\x97\x39\xac\xda\x71\x96\x0a\xdc\x8c\xb9\xa8\x66\x65\xca\xe6\x3c\xc3\x16\xa8\x17\xbc\xca\x12\x96\xf0\x64\x66\xc3\xe4\x9c\xcb\xa9\x50\x15\xe3\xf3\x72\x59\xa0\xef\x40\x89\x18\x68\x1a\x23\xe2\x5b\x21\x99\x14\x7f\x59\x0a\x55\xe1\x89\xe9\xaf\x2a\xa6\x66\x78\x5a\x77\xab\xb2\x11\x45\x55\xb2\xa9\x28\x84\xe4\x95\x00\x47\x24\x2b\x14\x2f\x44\xbe\x62\xb3\xe5\x54\xb8\xa6\xf1\x4c\x75\xdb\xfa\x5a\xc5\xd7\x30\x64\x4d\xd8\x35\x8a\xe0\xc8\x10\xce\x9d\xe5\xad\x3b\x6a\xfb\xe0\x8d\xbf\xe7\xbb\xfe\xc9\xb6\xeb\x8f\xaa\x3f\x9a\xa0\xbd\x34\x6a\xe7\xe7\xac\x1f\x68\xb0\x56\xcb\x1a\xd9\x09\x3b\xc7\xa8\x29\x6c\xd4\xa8\xbf\x4f\x26\x3d\xd7\x03\x6a\xc2\xbf\xc2\xce\x59\xcb\x85\xf3\x81\x4c\xea\x57\x7f\x11\xc0\xf7\x7c\x04\xa3\xa6\x9e\x9d\x07\x7f\xc7\xc6\x34\x68\xc6\xb9\x1b\xba\x41\x62\x4a\xa6\xb9\xf2\x65\xa1\x96\x52\xa7\x83\xb8\xcb\x8e\x64\x0a\x1d\x69\x1d\x51\x62\x62\x26\x11\x12\xb8\x0d\xfd\x45\x96\x67\xf3\xcc\x7a\x61\xef\xb2\x39\x38\x92\x4b\xc5\xa7\x82\xe5\x65\x79\x03\x71\xe5\x8d\x20\x5a\xf5\x0c\x14\x0a\x8b\x14\xd3\x4c\x55\x42\xbe\x2a\xb2\xaa\x4d\x23\xc4\x73\x2e\xe7\xed\xb2\x80\x4b\x1d\x9b\xd5\x40\x46\x47\xe7\x2b\x2f\x41\x40\xee\xb8\x2c\xbc\xe3\xe3\xf4\x19\xf3\x40\x78\x7a\xb2\xdd\x01\x9c\x8b\xb2\xd2\x11\x90\x41\x1c\xda\x3a\x64\x4a\x24\x65\x91\x5a\x29\x7a\x35\x61\xab\x72\xd9\x02\xa7\x54\x48\x70\xa6\xa1\x65\x05\xbe\x44\xb9\x00\x4e\xc7\x58\x0a\x28\x32\xe7\x2b\x74\xea\x59\x5e\x16\x68\xe5\x67\xbc\x70\xcd\x41\x23\xe8\xb0\xf3\x02\xbd\x5b\xc6\x59\xba\xd4\x8f\x67\x60\x1a\xf3\x3c\x33\xa0\x5c\x21\xde\xd6\x78\xd0\x75\x17\x89\x85\xa8\x99\xe6\x4c\xf8\x90\x8a\xa2\x02\xc7\x02\xfc\x6d\x55\x09\x8e\x07\xda\x73\x17\x01\x9a\x71\xeb\x62\xbf\xf2\x9c\x4d\x45\x45\x8e\xed\x9d\x04\x47\x5d\x1a\x19\x2e\x25\x93\xbc\x9a\x99\xae\x70\x06\xf6\x35\x17\x06\xac\xc7\xd8\x4b\x9e\xcc\xb0\x61\x4d\x6a\x68\xc4\x3d\x7c\x47\xc9\x26\xad\xc9\xe8\xa9\x94\xdd\x0a\xa9\xa0\xd3\x5a\x1e\x2d\x5a\x77\x28\xe1\x55\x09\x6d\x70\xa6\x66\x1c\xff\xa4\xe8\x0d\x23\xd2\x4c\xc1\xa8\x81\x6b\x9a\x70\x25\x14\xbb\x9b\x09\x29\x90\x00\x77\xbc\xa0\xc4\x84\xcf\x9f\x15\x98\x13\x55\x41\x73\x65\x21\x88\x06\x4a\xd0\xc9\xfb\xfa\x9d\xd8\xa0\x61\x01\x1d\x50\x70\xf3\x4e\x26\xee\x17\x99\x74\xa1\x35\x89\x35\x32\xa0\xcd\xf7\x10\x3b\xb6\x26\xa2\x4a\x66\x3a\xda\x40\x8f\xd7\x66\x01\xcb\xb2\x87\x37\xbf\xc5\x7b\x6d\xc3\xbe\xef\x96\x49\x22\x94\xea\x74\x99\xb9\x72\xc9\xb3\x7c\x29\x85\xe3\xe9\x5a\x24\xff\xd4\x8f\xe2\x41\x29\xfa\xd9\x49\x20\x2e\xa6\x44\x0b\x6a\x31\x36\x82\xe4\x94\xcc\x15\xfb\xd6\xf0\x94\x33\x1f\x01\xeb\x41\x5b\x3c\xb3\xe1\x95\xe4\x19\x0c\xba\x89\x7a\x6c\xf3\x8c\x5d\x90\xf7\x02\x14\x3c\xec\xf7\xfb\xac\x6d\x39\xbd\x13\x9a\x54\x83\xe6\x03\xb0\xab\xed\x00\xe6\x12\x5c\x0f\x66\xc2\x84\x86\xe4\xfb\xb9\xd0\x71\x6c\x13\x11\x70\xdf\x30\x91\x69\x87\x82\xb4\xb0\x55\xe3\xcf\xad\x6d\xd3\x34\x38\x16\x21\x0e\xbc\xb2\xd6\x4b\xb1\x42\xdc\xd5\xde\x16\x24\x3a\x0c\x27\xd4\x72\x1b\x5d\x4d\x6b\xd2\xc6\x98\x88\x52\xda\x5b\x9a\x2b\xf0\xb2\x0e\xd9\x53\x36\xe8\xf7\xfb\xcf\xf5\x6d\x55\x01\xee\x86\xa7\xa6\xa2\x7a\x07\x17\x4c\x04\xa7\xd1\xaf\x27\x30\xf0\xb4\xd3\x4c\xb1\x72\x59\x09\xd9\xa4\x8d\xb3\xf9\x5c\xa4\x19\xaf\x44\xbe\x42\x83\xdd\x52\x0c\x45\xa6\x2a\x59\xc2\x17\xd5\x12\xb9\xbd\x10\x77\xa6\x35\x95\x94\x0b\xcc\x17\x20\xd9\x8c\x18\x98\x64\x6a\x2f\x38\x63\xb5\xa5\x6f\xb7\x5c\x72\x3e\x53\x46\x6a\xc7\x2b\x4a\x18\x9a\x26\x9c\xc6\x81\x30\x1f\xf5\x04\xb5\xe4\x84\x5f\xab\x14\x1b\x50\x9a\x47\xcf\xb7\xe4\x70\x00\x16\x53\x15\xe7\x36\x65\x6c\x1b\x85\x78\x99\x98\xa1\xd5\x61\x5f\x12\xd8\x99\x63\x1d\x4a\x0a\xbb\x8c\x39\x3b\xa7\xff\x7d\xc9\xda\x2d\x4a\xb6\x52\x56\xfa\x0c\xcd\xba\x4e\x18\x91\x29\xe9\x81\x85\x69\xb7\x3c\x46\x38\x8b\xd4\x46\x4a\x2d\xb4\xe7\x8a\xed\xe1\x60\x77\xd8\x33\xd6\x52\xb6\xd5\xb8\xc1\xbc\x04\xc7\xdc\x24\xb1\x90\xdd\x2d\x05\x8a\x65\x9e\xeb\xdc\x6e\x97\xcd\x55\x47\x27\x1a\xa1\xeb\x9a\x6e\x5f\x5b\x9d\xbb\x36\xd7\xe6\x79\x29\x8d\xa9\x30\xcc\xb9\xd3\x2b\xfd\xcb\x8c\x25\xb9\xe0\xd2\x8c\x80\x81\x78\xee\x01\x34\x21\x1a\x24\xa8\x5d\x14\x6d\x48\x8f\x93\x29\x6d\x00\xef\x32\x2e\xa7\xcb\xb9\x28\x2a\xe5\x92\x6b\x41\x3e\xd5\x9b\x0c\x68\x1c\xd9\xb0\x6f\x31\x41\xc2\xa4\x6c\x7c\x37\x4a\x1d\x76\xda\x8d\x5e\x78\xe5\x9f\x8b\x0b\xc6\x8e\x04\x96\x4f\x40\xee\xd4\x4d\xb6\x58\x34\xfb\xe5\x13\x69\x92\xa3\xb1\x37\x8e\x66\xa7\x12\x45\x4a\x3e\xb3\x71\x9f\x41\xf4\x52\x31\x5e\x4e\xa7\xe8\xba\x16\x5a\x6e\x35\xf6\x8a\x71\xf4\x50\xc8\x96\x04\xc6\xbd\x60\x98\xe7\xed\xb2\xb1\x48\xf8\x12\x67\xec\x9c\xdb\x43\x84\x02\x8f\x40\x31\x0e\x60\x8a\x8d\x57\xd0\x90\x0e\x40\xb5\x50\x72\xd0\x0f\xe0\x13\xdd\x81\x22\xbc\x13\x68\x55\x0d\xf2\x23\x56\xad\x16\x59\xc2\x73\x22\xc0\x1c\xe7\x22\xc1\x7b\x43\xe7\xcd\xf3\xdb\x42\x8e\x6e\xbd\x2b\xa1\xc7\xd0\x9b\xbb\x2c\xb9\xc1\x8c\x1e\xb8\x6a\x7c\xc5\x12\x3e\x17\xad\x6e\xac\xf3\x3a\xc6\x7a\x82\x76\x58\xf7\xef\x4d\x59\x65\x89\xe9\xe3\x7c\xce\xd9\x9f\x03\x3f\x10\x82\x12\xb6\x90\x59\x41\x79\xf3\xb9\x50\xe8\x6b\x6a\x67\xf0\x07\x65\x30\xec\xb2\x49\x99\xe7\xe5\x9d\x9e\xf7\x34\x79\x53\x1d\x9d\xa0\x63\x53\x50\xba\x45\xa3\x5e\x32\x29\x6e\x05\xcf\xf5\x99\xc4\xc0\xc8\x91\xb1\xa6\xb1\x27\x63\x4b\x49\xc0\x4b\xe4\x81\x30\x17\xe0\x45\x6e\xc8\x48\xc4\x27\xda\xf5\x41\x96\xc7\x47\x29\x0d\xcf\x78\x52\x2d\x79\xce\x5a\x86\x46\x2d\x1a\x02\x30\x75\xf9\x1d\x0c\x66\x43\xb6\xd1\xc0\xfa\xea\x20\xc6\xc9\x99\xa7\x00\xd3\xf3\x3a\xf2\x5f\xd6\x2f\x3d\x63\x43\x76\xc6\x86\x36\xda\xc1\x8e\x20\x0f\xe2\xa5\x4a\xae\xb4\x0e\xa1\x39\x2d\x30\xa6\x2f\xa5\x2c\x65\x5b\xe7\xe8\x13\x0e\x1e\x53\x5b\xdc\x1b\x5d\xe3\x1a\x60\xe7\x4c\xdc\xf7\x88\xbc\x3a\x8d\xf8\xa1\x68\xb9\x24\xa0\x7d\x9d\x96\x03\x4a\x6d\x46\x39\x4b\x1f\x59\x4a\x5f\xba\x17\x34\xe5\x30\xbd\x06\xaf\x32\xb6\x1b\x3c\x7f\x0d\x46\xc8\x3e\x7d\x95\x5d\xbb\x99\x81\x3f\x7f\x50\x4f\x79\xf5\x41\x3d\xdb\xeb\xb2\x56\xab\x96\xa8\xf4\x5a\x0d\xf4\xca\x45\x76\x9b\xa5\x82\x9c\xfc\xea\xae\xd4\x0c\x41\x49\xf0\x49\x5e\x96\x52\xf9\xd3\x31\x5d\xb6\x2c\x72\xa1\xcc\x35\x88\xe4\x53\x9a\x8d\x81\xab\x98\xf5\x46\xf7\x1c\xe2\x88\x44\x8a\x14\xcf\xe9\x56\x73\x60\x12\xf4\x79\xba\xe0\x18\x1a\x8e\x56\x82\x65\x4e\xa1\xa0\x08\x89\x2c\xd7\x49\x0d\xeb\x64\x2f\x95\x98\x2c\x73\xf0\xb0\x49\xfb\x99\x1c\x08\x38\x0f\x72\x59\x24\x1c\xe2\x67\xbe\x58\xc8\xf2\x3e\x9b\x73\x9a\xd9\xc3\x39\x21\x08\x7c\xa0\x21\x4a\xe5\x93\xbd\x57\x25\x4b\x4b\x50\x01\x69\x76\x9b\xa1\xeb\x6f\x26\x9c\x94\xb0\x5d\x5f\x65\x22\x87\xc8\xc7\x4d\x4e\x9b\xae\x60\xd0\x94\x97\x4a\x50\xd6\xe8\x6e\x06\x3a\x8d\x1e\x5b\x27\x7e\xc5\x72\x4e\xfa\xbd\xe9\x66\x2a\x8a\x72\x9e\x15\xf6\xb6\xf1\x53\xf5\x7d\x4f\x8a\xd4\x9c\xcb\xea\x12\xc6\x83\x06\x2c\xca\xf3\xd0\x2b\xba\xcc\x6f\xd1\x09\xd5\x2d\xcf\xd1\x22\x6a\x30\xb6\xe7\x83\x19\xcf\x4f\xd3\x9e\x9d\xb3\x6f\x78\x35\xeb\xc1\x9f\xed\x5b\x9e\x77\x4c\x9a\xc0\xdc\xdf\xc5\xe6\x3e\x67\xbd\x7e\xbf\x3f\x30\x3c\x6b\x8c\x2a\xc1\xd4\xe6\xbe\xf4\x6d\x6c\x18\x99\xca\xb6\xfc\xb0\xbd\xf0\x44\x2b\xcd\x8f\x73\x5e\xf0\xa9\x90\xff\x22\x65\x28\xdf\x50\xaf\xbe\xa1\x4e\xb1\x24\x87\xc0\x79\xc6\x8b\x34\x17\x64\x90\x65\xc1\x49\x47\x67\x3f\xda\x84\xab\x35\xe0\x6f\xca\x4a\x9c\xf9\x73\x91\x2c\x53\x45\xab\x62\x6a\x39\x99\x64\x49\x46\x93\x52\x68\x7e\xc9\x1e\xa2\x2a\x1f\xf4\x80\x44\x52\xb4\x80\xb7\xc7\x4b\x9c\xdd\xd3\x53\x11\x3a\x69\x70\x23\x70\xf2\x6e\x59\xf0\x5b\x9e\xe5\xe4\x49\x17\x2c\x23\xa3\x70\xe6\x15\x79\xcc\xaa\x6a\x71\xb6\xb7\x97\xc8\xf1\x72\xda\x4b\xca\xf9\xde\x60\xbf\x3f\xec\xf7\x0d\xc4\xb0\x47\x07\xf8\xe3\xe4\x3d\xd1\x74\xce\x57\x68\xd1\xc7\x82\x2d\x78\x72\xc3\xa7\x22\xa5\xba\x99\x17\x84\x01\x4e\xe4\x83\x44\x5a\x74\xf7\x9b\x1b\xc1\x06\x24\x4d\x3f\x03\xa7\x48\x2e\x57\x51\x93\xd5\x2c\x93\xe9\x2e\x40\xad\x3c\x9c\x9b\x5e\xe4\x0b\x25\xaa\xd4\x07\x37\x8f\xcd\x5e\x9b\xe9\x65\x7b\xa5\x2a\x59\x5e\xf2\xb4\x6b\x46\xba\x94\x29\x66\x24\x84\x7d\x0f\xe5\x21\x01\x49\x00\xc4\xec\xe4\x1b\x71\x27\xa4\x31\xfd\xca\x14\x39\xb0\x32\x87\x67\xcb\x42\xa8\x1e\x63\x2d\x51\xb4\x58\xa6\x6c\x6c\xbb\xc4\x92\x47\x70\x72\xf2\x15\xcd\x28\x9a\x44\xcc\x24\x93\xaa\xb2\x28\x81\x64\x66\x95\xc9\x20\xf1\x5c\x0a\x9e\xae\xd8\x02\xb8\x9c\x1c\x26\xd2\x1f\x11\xb3\xf9\xd9\x44\xd3\x37\x92\x64\xcc\x7c\xd9\x6b\x1f\x21\x10\xb4\xd3\xfa\x73\xbe\x68\x6b\x07\xd7\x3e\x2e\x72\xaf\x6e\x40\xe4\x0d\xf3\xd4\x58\x46\xa0\x55\x48\xd4\x7a\x0f\x8c\xc7\xfd\xb7\x93\x36\xf4\x1e\xa7\x14\x77\x07\x1d\x6d\xa9\x43\xc0\x65\xa1\x66\xd9\xa4\x22\x40\xb2\xea\x00\x61\x69\x4a\x76\xd7\xb3\x6a\xa3\x34\xb5\xce\x16\x96\xe8\x64\xba\xee\xa4\x0c\xfc\x30\xa3\x52\x1a\xe6\xc2\xe3\xa9\x6b\x05\xe1\xd8\xa4\x94\x73\xae\x59\x4f\xb3\x93\xc1\xa1\xf7\x83\x2a\x0b\x12\x79\xc6\xde\x09\xcc\x14\x7c\x6e\xc4\xa4\x4c\x45\x6f\x8a\x75\x4d\x28\x2c\x24\x74\x7b\x96\x13\xd5\x1e\x88\xf0\xae\x6d\x6a\x56\xcd\xf3\x2f\xd6\x8d\x5e\x6f\x21\xcb\xaa\x84\x28\xa4\xc7\xd3\xf4\x1b\x47\x02\x3b\x28\xa9\x98\xe8\xe1\xb4\x7e\xc8\x8d\x58\x01\xcf\xba\x3b\xa4\xf3\x53\x31\xc1\xe9\xce\x89\xba\xba\x11\xab\x6b\x2f\xca\xf9\x24\x15\x93\x1e\x8e\xe5\x0c\x19\xd5\xab\x32\x0a\x48\x8f\xcf\x51\x1b\xe6\x9a\x0e\x0f\x7d\xfd\x8f\x2e\xb4\xa9\xa0\xdb\xf9\xf4\xcd\xe8\x9b\x97\x9f\xee\x30\xbf\x79\xb2\xc3\x3b\x9f\x0e\x76\xba\x4c\x54\x49\xef\x91\xef\xb2\x0c\xe7\xc5\x80\x7b\x1f\x3e\xa5\x92\xaf\xab\x3f\x7f\x50\x1f\x3e\xbd\x7e\xd6\xf9\xf0\xe9\x5e\x36\xed\x7a\x20\xae\xec\xa5\xcb\xc2\x72\xaf\x20\x80\xb3\x84\x09\x28\x71\x05\x4f\xf4\xaa\xf2\x75\x79\x27\xe4\x0b\xae\x44\xbb\x73\xdd\x4b\x4a\x88\xa1\x2a\x3f\x16\x7d\xd0\x41\xe4\x43\x5c\x9a\xf1\xba\xe4\xa9\x27\xcb\x4e\xd7\x5a\xa9\x36\xfc\x39\x5e\x82\x3d\x58\x37\x69\xb8\xe0\x15\x98\x09\x36\xc2\xba\x0d\xf3\x57\x30\x3d\x03\x04\xd5\xc9\x49\x9c\x59\xc1\x42\x19\xa3\x65\x30\xc3\xa0\x15\xd6\xb4\xec\xad\xaf\xd9\xe9\x9a\xca\x9d\xb2\x78\x51\xce\x17\xb9\xa8\x44\x50\xbb\x33\x16\x36\xe9\x0e\x5e\x1a\x68\x3e\x2f\x51\x97\x41\x94\x43\x4f\xe9\x30\x02\xfc\x4c\x1d\xfd\x71\x83\x99\xd6\xb5\x8a\xb2\x91\xe0\xf1\xa1\x07\xca\xb3\x9c\xaa\x29\xe0\x5f\x50\xe7\x83\xd9\x36\x47\xc5\xa0\x34\x48\x4f\x4c\xf4\xbb\xac\x28\xf5\x53\x8a\xdd\x09\x29\x5c\x4b\xa8\x9c\xb7\x8b\xd8\x24\x2b\xd2\x51\x91\xc2\x90\x35\x89\x1a\x0e\xb0\xa6\x7c\xd7\x23\x8f\xf3\xbd\x72\xaf\xf4\x28\x56\x6b\x49\x09\xee\x2b\xc5\x21\x08\x8b\x58\xb1\x73\x76\x75\x6d\x2e\x11\x01\xf4\xa5\x27\x8e\x73\x59\x59\x98\xa2\x23\xf3\xce\xb6\xaa\x78\x65\x59\x19\x84\x38\xb8\xc0\x5c\xf3\x4e\xa7\x93\x5a\xed\x34\x8a\xac\x7d\xf5\x3a\x70\xa7\x2d\x1c\x44\x38\xf9\x83\xd1\xd7\x1b\x71\x6f\x0b\xa4\xd6\xbc\xca\x11\xae\x4d\x48\x76\xf5\xdb\x03\x11\xd2\x24\x89\x9a\xf4\x87\xa3\x63\x23\x3d\x20\xb4\x37\x66\x64\x7a\xb4\xb2\x78\x6b\x2b\x77\xdb\x76\xe8\x9c\x1d\xec\x3e\x69\x8e\xf4\xeb\x04\xef\x8d\xb3\x22\xc5\x96\xbb\x10\x8a\x88\x5f\xf9\xe8\x84\xe7\x8a\x92\xed\xec\xc1\x5d\xef\x98\xe0\x35\x26\x5f\xac\x48\xac\x11\x9c\xc8\x72\xce\x78\x93\x41\xda\xce\xe6\xf9\x26\xfe\x5e\xca\x1c\x78\x5b\x4f\x14\x50\x4a\xb9\x2c\x30\x86\x76\x7c\x7e\x3f\x03\xbf\x02\x82\xeb\xff\xfa\xe6\xf5\x7f\x54\xd5\xe2\x2d\x4d\x6e\xb6\xa9\x23\xf7\x33\xd9\x2b\x0b\x1c\xdc\x22\x6d\x1a\x32\x60\x23\x00\x02\x9e\x5d\x2a\xf6\xc9\x39\x1b\xf6\xfb\x61\x19\xae\xff\x5e\x4b\x69\xef\xa2\xf7\x7c\xe7\x79\x58\x91\x1a\x70\x2c\xf2\x82\x67\x3b\xdb\xff\xf9\xee\xdb\x37\x54\x15\x85\x4d\x48\xa1\x16\x65\xa1\xc4\x7b\x71\x4f\x13\x7b\x38\x84\xba\xfb\xed\xe6\x81\xc2\xfe\x2d\x44\xd1\x6e\x7d\xfd\xf2\x7d\xab\x0b\x34\x43\x40\x44\x49\x14\x69\x2d\x9b\x47\xb6\xf0\xd3\x41\xaf\xd7\xfb\xb4\xf0\x8b\xc9\x6d\x05\xa4\xc8\x05\xe6\x22\x8d\x07\xc2\xe5\x54\x27\xcd\xd6\x19\x84\xb9\x9a\xea\xc2\x0a\xdf\x0a\xf8\x0e\x0f\xe8\x54\x93\xe4\xf4\x5e\xda\x6b\xf0\x83\xf1\x75\x94\x05\x89\x1a\xb3\x0d\x50\x64\xbd\x96\xbd\x6a\xe2\xe6\x8f\xfb\x5c\x4d\x31\xdf\x1a\x56\x6e\xcf\xd5\xd4\xf9\x90\x1f\x3e\x6d\x7f\x48\x9f\x75\xfc\x3a\x55\x06\x16\x1b\xdd\xc6\x5a\x26\x19\xda\xba\xc2\x5b\x6c\x97\x0d\xae\x1b\x0b\x90\xbf\x13\x72\x37\x2b\x54\xc5\x0b\x0c\xf5\x16\x2b\xa0\x6d\x0d\xcd\x47\xc8\x4b\x43\xd7\xf0\x7d\x8f\xa1\x42\x58\x4e\xcb\x9d\xb1\x5f\xa1\x65\xeb\xda\xe4\x5c\xbe\xd2\xb8\xa1\x2d\x37\xa9\x69\x56\x95\xe5\x06\x06\x40\xa3\xde\xcc\x04\x78\x4b\x33\x93\x97\x89\x9c\x8a\xaa\x69\xfc\x41\xb0\x90\x07\xec\x34\x1d\x7f\x24\x33\x34\x16\x21\x99\x04\xaf\x6d\xcd\x56\x91\xe9\xf1\xcb\x34\x62\xba\x0b\x14\xd2\x18\x7b\x8d\xf1\x75\x8f\xe9\x2c\xb8\x0a\xba\x80\xe0\xe3\x95\x49\x21\x3f\x62\xf4\xa6\xa2\x8a\x58\xd1\x12\x1e\xbb\xdc\xf5\x31\xf6\xa6\xce\x8c\x7f\xab\xc3\x19\x8b\x6a\x11\xfa\xa9\x86\x35\x0d\x82\xe7\x91\x1b\xab\x9f\x23\x83\x1e\x58\xc2\x5a\x8d\x20\x95\x1e\x6b\x46\x77\xed\x45\x45\xc8\xba\xa3\x06\xa1\x8e\xef\xc7\xeb\x87\x9c\xb8\x84\xd3\x46\xa6\xc0\x5f\x83\xd1\x4c\x91\x6b\x27\x90\x30\x33\xf5\xe1\x0f\x67\xb4\x0a\x82\x7d\x69\x07\xf0\xcc\x87\x8b\xcc\x38\x62\x66\xa8\x1d\xd6\xdd\x45\x34\xfe\xa4\x6d\xf9\xd0\x08\x6e\x39\x21\xb5\xd4\xa1\x07\xed\xfd\x73\x76\x65\xbe\x5f\xfb\xb3\x95\x6b\x4c\xbf\x7e\x93\x1b\xf5\x48\x55\xc8\x12\xd4\x3d\xe3\x79\x6e\x64\x66\x07\xe8\xbd\xc3\x20\x3a\x63\xbc\xaa\x64\x36\x5e\x56\x60\x77\x4d\xee\xc7\xcc\xba\xa4\xe5\x9c\x4d\x24\x9f\xce\x85\x9b\xb4\xc0\xea\x04\x4c\xd4\xd8\x27\x8d\xeb\xad\x05\x8a\x71\x06\x76\xc8\x14\x0a\x93\xa7\x7c\x23\x8c\x8f\xcc\x6f\x44\xa1\xd3\xf2\x63\xe1\x35\x82\xce\xb0\x9d\xcc\xf4\xeb\x96\x7d\xf9\xf0\x2b\x48\x00\xcc\x7b\x13\x9b\x61\x39\xd9\xce\xc7\x1d\xd6\x86\x91\x94\x2a\x29\xa5\xe8\xc0\xab\xbb\x2c\xab\x5a\x4a\x4b\x2a\xa5\x62\x4d\x1e\x02\x53\xbd\xe2\xbe\x7a\x41\x71\x8f\x21\x91\xb6\x59\xe6\x6d\xdf\xf8\x28\x60\xba\x0c\x6d\x0e\x48\x7d\x89\xc5\x1c\x1e\x19\x69\xea\x9d\xe2\x6c\xdd\x0c\xd9\x42\x9a\x20\x5a\x48\x31\xc9\xee\x69\xf6\xa6\x9a\x31\xce\xd2\x32\xcf\xb9\x64\x2a\x9b\x16\x3d\xe6\x2f\x7c\xf2\x67\x80\x3e\x1f\x2f\xab\xaa\x2c\x58\x96\x9e\xb7\xc0\x0c\xef\xd2\xdf\xad\x70\xbd\x12\x8c\xcb\x79\xeb\xa7\x1d\x2e\x33\xbe\x9b\xf3\xb1\xc0\xdd\x1f\x3e\xcd\xd2\x9d\x2e\xd0\xe5\x8c\xed\xbc\x7b\xf9\xe6\xe2\xe3\x57\xdf\xbf\x7f\xff\xed\x9b\x8f\xaf\x47\x5f\xbd\x7c\xbd\xf3\x10\xb5\xf1\xc5\xe7\x7b\xd4\xf6\x17\x36\x99\x00\xca\xd1\x34\x18\x6a\x2b\x53\x9c\x0d\x71\xd1\xb2\x22\xa2\x06\xef\x18\xbd\x7d\x35\xd2\x2f\xea\xe9\x7c\x1f\x4d\x33\xf1\x4a\xb3\x62\xba\xe3\x31\xc1\x1d\x0c\xe1\x62\x61\x27\xf1\x30\x99\xcf\x25\x16\xd3\x18\xa0\xae\x29\xd3\xf7\x8a\xd2\x75\xc5\x3e\x3d\xf4\xfd\x77\xdf\xbd\x7c\xfb\x71\xf4\xe6\xe2\xe3\xf7\x6f\x2e\x5e\xbe\x65\x98\xf0\x7c\x84\x36\x5d\x90\xa4\xbc\x1a\x9c\x14\x23\x37\x9c\x7e\x3e\xa2\x9c\x93\xfa\xc1\xb4\x2d\xbe\x91\x3a\x91\x43\x04\xbd\xcb\x8b\x74\x37\xe5\x6a\x26\xd4\x4e\xcc\xd7\xb8\x8c\x80\x1e\xdc\x89\xd0\xdb\xb1\xf8\xf9\x65\x13\xcb\xe2\x46\xaf\xbc\x69\x5c\xfb\x62\xb3\x52\xbd\xaa\xfc\x7e\xb1\x30\xe1\xbb\x8b\x2d\x8a\x32\x45\xdc\xd3\x72\xde\xa3\x92\x74\x91\x8b\xa4\x2a\xe5\x28\xcf\xdb\xad\x2b\x60\x94\x6b\x9d\x81\x6a\xaa\x4b\xc7\xc7\xd7\xd5\xa5\xc3\x4d\x70\x91\x01\xe6\x2a\xd3\x0e\x0a\x36\x00\x6a\x81\x6e\xe0\x92\x12\x43\x83\x76\x0b\xee\xb4\x02\x75\xee\xdb\x03\x50\x1c\x59\xb1\x34\xab\xc9\xdc\x44\x17\x33\x4d\x7a\x8e\x2d\x3e\x68\x82\xaf\xda\x94\x97\x33\x0b\x02\x3d\xe9\xd6\x0b\x5e\x7c\x68\x55\xb4\xfa\x80\xea\x0f\x00\xbb\x8a\x4f\xdf\x00\xff\x3e\x63\xad\x3f\xd8\x8b\x59\x0a\x7f\xa3\xe5\x68\x8c\x7f\xbc\x37\x9b\x39\x38\x71\x1f\x38\xe4\x71\x9a\xca\x5f\x6f\x63\xaa\x56\xa6\xba\x2c\x02\xee\xe9\x64\x95\x8b\x0c\xf4\xed\xfa\x12\x85\x4f\xbd\x85\x79\xae\x0d\xe2\x93\x3a\xbd\xa3\x66\x06\x1d\x2c\x94\xf8\x08\x3d\xbd\x11\xab\x4e\xb0\x6a\x0f\x7c\x6d\x57\x55\xd9\x8e\x4d\x26\x60\x05\xbd\x01\x24\x3e\xb6\xfc\xfc\x12\x11\xd2\x53\x9d\xe7\xd0\x56\xb4\x20\x2f\x02\x57\x3e\x96\xa8\x98\xe7\x6a\x1a\xd7\x28\x3c\x6e\x36\x65\x61\xbd\xfe\x7f\xb1\x09\x95\x17\x65\xa1\x2a\xb9\x04\x61\x45\x86\x02\x9d\xf5\x9d\xed\xac\x49\x7d\x93\xcd\xf3\x0a\x21\x04\xa0\x4c\x17\x59\x2a\x78\x4e\xe6\x65\x21\xa4\xca\x54\xa5\xab\xe4\x0b\x9d\xfb\x57\xb4\x0a\x41\x55\xa5\x34\xc1\x54\x51\x56\xd9\x64\xa5\xb3\x5d\x20\x43\xcb\x39\x66\x33\x67\xa2\x60\x0b\x2f\xaa\xa3\x56\xac\x15\xae\xc2\xb2\x0b\xa3\xd6\xc7\x3c\xb9\xc1\x92\xce\xaa\x94\x40\x3a\x3d\x95\xa0\x6c\xe5\x42\xe9\x4a\x20\xff\xe3\xfd\x37\xaf\x0f\xa1\x31\x8d\x4e\x97\x8d\x97\xd8\x8a\x04\xbb\x23\x8a\x56\xc5\x78\xb1\x02\x9b\xad\x6b\x14\xf5\x3b\xe6\x25\x5a\x68\xc6\x5e\xe9\xb5\x5d\xcb\x8a\x0a\x15\x75\x7a\x4c\xcf\xb1\x70\x33\x35\xc4\x17\x19\xf5\x1d\x50\x52\xab\x22\xd9\x45\x22\x00\xb7\xef\x91\x67\x80\x2b\x6d\xc8\x05\xb9\x13\xad\x14\x8b\x35\xf4\x54\x70\x6d\xc1\x13\x8c\xca\x3b\x42\xb8\xf7\xf4\xc1\x92\x92\xd6\x3e\xd0\x77\xed\x96\x54\x25\xe2\x8e\xce\x89\xa6\x8b\x9d\x64\x01\x5c\xd6\x46\x1a\xe4\x29\x44\x4b\x1e\xe8\x5a\x54\xdf\x02\xbe\x9d\x1b\x24\x3f\x2d\xaa\xd7\x1d\xb2\xd6\x5e\xcb\x15\xb3\x7b\x93\x3b\xa6\xc2\x5c\x09\x40\xa0\x12\x2c\x17\xb7\x22\xc7\x50\x7d\x26\x32\xc9\x65\x32\x5b\xd9\x45\xd1\x99\xad\xda\x9d\x96\xba\x14\x78\xc6\x6f\x35\xcb\xdf\x64\x45\xaa\x65\xa6\x98\x52\x52\x73\x21\xcb\xdb\x0c\x93\x60\x30\x3e\x84\x7a\x34\xbf\x84\xeb\xc0\x8c\x27\xd4\xda\x6b\xd1\x83\x45\x59\x79\x0f\x67\x55\xb8\xac\x63\xaf\xe5\x8c\x79\x5d\x30\x82\xa5\x1b\x9a\xa1\x1c\x35\xbd\xd9\x21\x33\x4c\xe7\x66\xc0\x9e\x47\x77\xbe\x1d\xa3\x46\x90\x1f\x8d\x7e\x2c\x0b\x3d\xe2\x2f\x50\x08\x3e\xd6\x92\x5c\x00\x94\xa9\x51\x52\x65\xb7\x02\x9e\xc2\x8c\x98\x6d\x96\xc3\x75\x5e\x89\xb6\x07\x5d\x49\x5d\x15\x4f\x90\x66\x31\x19\x8d\xf2\xb9\xcf\x06\x3f\xff\x0c\x3d\x37\x93\xd8\x74\xd1\x28\x78\xfd\x97\xce\x16\xef\x82\xd1\xf8\xe4\x1c\xc0\xc9\x68\xe8\x16\x9e\x9d\x53\x0b\xe6\xdd\xf6\x2d\xf4\x25\xbc\xf1\x56\x24\xa5\x4c\x71\xe6\x8c\x4a\x41\xc8\x42\xe4\xe5\x98\xe7\x86\x30\x78\x57\xe7\x73\xf1\x76\x32\xcb\xf2\xf4\x92\x83\xea\xca\x84\x7d\x96\xfc\x9e\x6f\xf8\x02\xe7\x20\x33\x55\xed\xa2\xf9\xaa\x4a\xf6\xd3\x9c\x2e\xe2\x73\x88\x86\x99\xc9\x52\x0f\xf4\xd4\x08\xb4\x0b\x3a\xc2\x6c\x6f\x8f\x2e\x79\xaf\x7a\x9d\xa9\x8a\x5e\xf3\xc4\x14\x37\xb5\x16\xb2\x04\xf5\xba\x9b\xa5\xaa\x75\xe6\xdd\x60\xac\x55\x16\xa2\x75\xc6\x6a\x2c\xd3\xf5\x61\xaa\xbb\x72\x1b\x8c\x41\x07\x8d\x55\xd7\xc7\x8c\xb1\xd6\x44\x96\xe3\x86\x77\x07\xcf\xe8\x6f\x0f\x4f\x9a\xfb\x12\xce\x00\x7e\xaf\x70\x36\x18\xe7\xd1\x73\xda\x2d\x21\x2b\xd2\x2c\x01\x61\xb5\xfa\xd6\x54\xd2\x91\x1e\xd3\x31\x8c\xd3\x08\x5a\xda\x74\xcc\x45\x21\x18\x66\x59\x2b\x5c\x07\x42\x11\x30\x3d\xab\x23\x60\x97\xbd\x73\xad\xd8\x10\xf0\x2f\x4b\x8e\xbb\x4d\x54\x42\x55\x8a\xf1\x29\x87\x88\x96\x8c\x25\x35\xf2\xcd\xf7\xef\xde\xa3\xd2\x6b\x9d\x9f\x9f\xb7\x58\x29\x59\xeb\x13\xf8\x42\x6a\x8b\x27\xc9\x12\x74\xcd\x06\x29\xf6\xbc\xf2\x8b\x97\x97\xa3\xef\x5f\xbf\xff\xf8\xc7\xd1\xeb\xef\x5f\xea\xcc\xac\x5e\x74\xd5\xd2\xf7\xd0\xb3\x34\x13\xa6\x05\x92\xe7\x36\x4b\x97\x3c\x6f\x40\x3e\x34\x94\x18\x5e\xe2\x2b\x75\x81\xad\x68\x18\x7a\x2c\x87\x07\x0a\xe2\xb2\x9c\x42\xd8\x8a\x7a\xaa\x72\x80\xa7\xe6\x2c\xcd\xa4\x48\xaa\x7c\xb5\xa9\x53\x24\x53\x41\xc5\x0b\xa6\x6b\xf4\x08\xfc\x11\x68\xe7\x29\x28\xaf\x7e\xd6\x0a\xa0\x0f\x4a\x33\x88\xf6\x4f\x0b\xa3\x99\xc1\xc0\xe0\xb5\x80\x8a\x16\xb2\x34\x82\xac\xe5\xd8\x9f\x78\xa6\xe9\x26\x9b\x5c\x04\xd2\x84\x43\x01\x4e\x42\xa5\x17\x09\xcc\xf9\x0d\xd6\x40\x61\x49\xd5\xad\x90\xe3\x52\x6d\x1c\x5e\xa2\xc4\xfa\x51\xb6\x39\xc8\x47\x73\x86\x9f\x92\xa6\x15\x2e\xfe\xf2\x0c\x62\x3c\xbb\x30\x85\x4a\xb0\x32\xe5\x8b\x88\x76\x8f\xd6\x2e\xfa\xd7\x65\x5f\x66\x65\x76\x23\x72\x0f\xcc\x50\x34\x58\x4c\x60\x8b\xed\xcd\xee\x00\x54\x81\xaa\x97\x72\x24\x22\xbb\xa5\xb9\x43\x60\x6d\xfd\x9a\x38\xcd\xe9\x10\xed\xba\x75\x03\x29\x96\x76\x99\x0e\xe8\x70\xb9\x6e\x11\xb9\x72\x93\x8a\xea\x17\x8d\x0a\x4f\x53\xa3\xeb\x83\xaa\x47\x7d\xcd\xe3\x55\xcb\x49\xbd\xc5\x52\xcd\x1c\x44\xa8\xca\x0a\x69\xc7\xa6\x70\xa4\xb2\x15\xcc\x6b\x48\xef\x51\x75\x04\x84\xb8\xcd\xca\xa5\xc2\x9c\x32\x35\xe6\x2f\x5d\xf8\x25\xbd\x93\x62\x5e\xde\x8a\xed\x1d\x34\xb1\x71\xd4\x51\x53\xf4\xe1\xf5\x95\x6c\x73\xc6\xbe\xb0\x6b\xd8\xa2\x67\xd4\x02\xc2\x84\x76\x06\x71\x5d\xb8\xa3\x08\xae\x76\xb1\x89\x2f\x1b\x7c\x84\x0a\xec\xd1\x5d\x8b\x12\xc3\x6e\x91\x5d\x83\x82\x38\x6f\x52\x11\xfe\x6c\xd6\xde\x9f\xdb\x7a\x9d\x28\x95\xf3\x75\x3e\xdd\xeb\x81\xea\x37\x69\xd4\x9a\x62\xea\x44\xf5\xe3\x35\x80\x7a\x15\x7a\x83\x72\x3b\x67\x2d\xb3\xfa\xc7\xaf\xbe\xf8\x93\xb0\x4b\x93\xec\x32\xa8\x17\xdf\x7e\xf7\xdf\x46\x52\x42\x73\xa6\x4a\x32\x92\x4b\x05\x5a\x2e\xe1\x85\x6b\x68\x5e\xa6\xd9\x64\xa5\x73\xff\x92\xaf\xc0\x4c\x69\x97\x1d\x8c\x5f\xb9\xac\x48\x27\x98\x09\x82\xa0\xe1\x5e\xd8\x43\x2f\x3f\x81\x5f\x4d\x79\xf8\xaa\xdd\x40\x9c\x20\x65\xb0\x9e\x44\x61\xd9\x6b\x6d\xe0\x02\xf6\x79\x57\x95\x8b\x9a\x46\xd3\xae\x94\xb6\xf4\xd2\x0b\xc9\xc0\xed\x8d\xf4\xdd\x0b\x5c\x70\x86\xa5\xaa\x75\x2f\x5f\xdd\x81\x9f\xb6\xac\x70\xd1\x57\xd3\x1b\x20\x06\x29\x28\xa6\x53\xa5\x09\x99\xd0\x6e\xa6\x25\x18\x4d\xe0\x47\x8c\x30\x33\x91\x32\x3e\x86\xa6\x32\x29\x45\x2e\x6e\x61\x28\x3d\x54\xb6\xfb\x03\xa9\x30\x7e\x74\x33\x87\x7f\x12\x7a\xe1\x9d\xc6\x8a\xe9\xd6\x9b\xb2\x62\xa6\x9d\xb4\xf5\x28\xf7\x5d\x13\x2e\x52\x1b\xed\xc6\x88\xa1\x13\x8d\x0e\x04\x39\xdb\x46\xc0\x2c\x3c\x74\x0a\xce\x75\x35\x5d\x37\xb8\xe4\x9c\x50\x42\xda\xd2\x25\xa3\x7a\x7b\xf2\xe0\xec\x02\x89\x1e\x63\xff\x6d\x07\x44\x7b\x31\x7a\x9d\x21\x00\xf1\x8a\x61\x75\x19\xcf\xb3\x1f\xf5\x02\xcc\x0c\x9c\x13\x8e\xc5\x7c\x98\x3f\x0f\xab\xf9\x74\xa5\x0c\x59\x17\x9b\x38\x4f\x5c\xf6\xe2\x71\xe3\xb9\x79\x34\x1f\x35\x98\x23\x5d\x2e\xb8\x75\x40\x2b\xb9\xac\x8f\xa7\x67\xe4\x1e\x33\x98\x6f\x85\x2e\x7a\x1a\x47\xc3\xa9\xd7\x78\x29\x5f\x42\xec\xe0\xfe\xb7\x76\x21\xf3\x94\xa5\x7a\xe7\xa7\x12\x86\xb1\x99\xea\xb8\xea\x5e\xe2\x17\x53\xec\x44\x2b\xcb\x71\xe1\xe5\xc4\xe7\x03\x3d\x5b\x49\x51\x7e\x83\x68\xa2\x93\x31\x2f\x8b\xac\xd2\x4b\xd0\xbc\x14\x84\x8f\xb9\x66\xc6\x2e\x68\xcc\x95\x43\x16\x22\xf1\x3a\xaf\xcc\x4b\x5a\x11\x5a\x60\x27\x82\xaa\x43\x9b\xc3\x96\x22\x59\x4a\x95\xdd\x0a\xb4\xd4\x3c\x55\xc1\xeb\xa0\x29\x17\xf5\x85\x38\x2b\xcd\x73\x77\x22\xcf\x9b\xdb\x06\x76\x55\xab\x22\x99\xc9\xb2\x28\x97\xaa\xab\x75\x96\xc5\x14\xde\x57\x27\x52\xd7\x2c\x17\x7e\x3a\x5f\xaa\xea\x29\xad\xc9\x34\x2b\xf3\xb6\x39\x21\xed\x8e\xde\x83\xc2\xb8\x94\x76\xfe\x77\xd2\xb0\xf9\x93\x5b\x26\xc9\x6d\xd1\xd7\x8c\xbb\xfa\xb1\xf4\x71\xb2\x01\x8f\xbf\xb3\x69\x8a\x60\xd5\x49\xb8\x10\x0d\x93\x06\xa2\x48\xb3\x62\xfa\x02\xa8\x2a\x45\x81\xc9\xfc\xa8\xd2\x0a\xef\xd9\x0a\x25\xdf\xc6\xef\xee\xd6\x1e\x3f\x67\x7d\xf6\xd9\x67\x41\xa7\x8d\x5d\xf7\xaf\xb5\xc3\x55\x24\x38\xd1\x77\xae\xd7\x53\xf5\xe0\xaf\x76\x2d\xa7\xd0\xd9\x5e\x82\xeb\x27\x28\x9e\x31\x91\x07\x85\x2a\x51\x21\x2e\xe6\x50\x08\xb5\x60\x9d\xd4\x77\x5e\xda\x12\x28\x49\x73\xc2\x5e\xcb\x9e\x96\x30\xca\x60\x2a\xaa\x57\x95\x98\xab\x36\x60\xee\x6d\x2b\x96\xc1\xc5\x30\x95\x4f\x6d\xbc\xd6\xbb\x16\xf8\xed\x9a\x89\x13\x93\x66\xaf\x4d\x0b\x84\x8d\xd9\xb5\x0d\x18\xae\xe1\xcd\x60\x62\x20\x58\x90\x79\x23\x56\x61\xd6\xe7\xb5\xd9\x54\x20\x00\x16\x22\x7d\xb7\x2a\x12\x76\xce\xda\xc1\xd4\xbe\x9f\x6a\xf8\xec\xb3\x35\x65\x5e\x8c\xc5\x5e\xcc\x2d\x85\xa6\x9f\x9c\xaf\x7d\x82\x35\xf9\x3d\xfe\xa0\x63\xb5\xe9\x75\xe0\xc2\x74\x3a\x6e\x2a\xa2\x21\xf5\xd4\xf0\x04\x6e\x30\xe8\x1c\x48\xc3\xbd\xa6\xbb\x61\xf9\x6b\xc4\xd1\xcf\x9e\x05\x0b\x2c\x71\xd4\x57\x45\xf2\xc2\x50\x44\x07\xe3\x91\x94\x74\xfc\xb5\x97\xe6\xff\xde\xdc\xc8\x2f\x11\x9b\x60\xef\xb4\x00\x40\xbb\x84\x21\x8f\xfb\x8b\x9b\x30\x2b\xc3\x78\x63\x42\x23\x53\x36\x14\x52\x8c\xb3\x20\xa7\x60\xe2\x49\x08\x16\xa1\x67\xa0\xe4\x75\xde\x42\xbb\x6d\x0d\x4d\xc6\xc9\x68\xe4\xa0\xf7\x6b\x23\x52\xb3\x91\x80\x99\x0c\x26\xbe\xc4\x8c\x8a\xbf\xcc\x5c\x4b\xb3\x89\x6c\xea\x71\xaa\x5e\x1e\x7f\x27\xb3\xaa\xc2\x1a\x01\x6d\xf9\x8c\x6c\xd6\x51\xd3\x01\xc9\xcf\xe3\xb2\xcc\x05\x2f\x7e\x26\xad\xf3\x33\x56\x55\xfc\x5c\x2c\xf3\xfc\x41\x8b\xd5\xfb\x5a\x60\x40\x3b\xa6\x18\x4e\x08\x7b\x33\x2a\x56\x34\x4b\xe1\xef\xee\x28\x85\x5e\x8d\x40\x8b\x33\xb0\xf0\x00\x97\xc6\xdf\xf2\x3c\xb3\x4a\x3e\x0e\x12\x7e\x7d\x22\x61\x51\x7d\x74\x61\xaf\x2d\x1f\xda\x60\x6b\x1a\x72\x19\x6b\xd3\x0c\xa6\xbd\xed\xd9\x86\x35\x69\x06\xd3\xc0\x6f\xc8\x36\xf8\x2e\x3d\x70\xb7\x83\xa8\x15\x6e\x12\x4b\x6b\x64\xa9\x50\x92\x58\x19\x04\xde\x6c\xc8\x66\x92\x6b\x6b\xf4\x88\x89\xce\x09\x2e\x28\xb0\x25\x72\xe9\xcd\x17\xda\xde\xcb\xea\x9b\x1f\x6e\x7b\x0b\x73\x1a\x12\x1c\xd4\x4d\xe1\x7a\xfd\x45\xc6\xaa\x05\x3d\xf4\x5e\x1b\xb8\xaa\x01\x50\x93\xb2\xb0\xfb\x0b\x2e\xe2\xa2\x4c\xbb\xe9\x88\x65\x27\x50\x44\x6b\x96\x11\xd9\xa9\x97\x51\x61\xe2\xe4\x09\xdb\xdf\x35\x95\x2d\x54\xfe\x6e\xb6\x2d\xa9\x66\x52\xd8\xaa\x17\x9b\xa8\xc2\xa7\xa2\x22\x21\x60\xb3\x2b\x9c\x01\x36\xc3\xaa\xfb\x72\xed\xb1\x0f\x69\x28\xd3\xce\xe3\x72\x21\xeb\xd9\x2a\x5e\x5b\x82\xdd\x8a\xd6\x97\x78\x35\x10\x06\xa2\xa9\x0c\xc2\x84\xeb\x41\xfb\xb6\xcd\xab\xec\xfa\xaa\x7f\xed\x36\x23\x83\xbf\x07\xd1\xdf\xc3\xeb\xfa\x56\x97\x46\xcb\x17\xb4\x1e\x4b\xa4\x76\x35\x41\xec\x2a\xbb\xb0\x3d\xbe\x81\x29\xed\x34\x9b\xe0\xdf\x15\xc5\xfe\x3f\x2c\x55\x85\x5a\x14\xeb\x2f\xbd\x61\xf4\xaa\xa7\x28\xca\xd3\x3b\x76\x08\xdc\x82\x06\x9b\xa6\x7d\x9c\x6d\xad\x29\xae\x18\xaa\xbb\xec\xc6\x04\xcc\x05\x2f\x82\x5d\x79\xb4\x0a\xf3\x27\x9f\xbd\xf4\x7c\xad\x5b\xa4\x6e\xa6\xa2\xa2\xcd\x80\x50\xb5\x72\x93\x42\x35\x39\x85\x96\x14\x18\x97\x48\xbd\xb3\x59\x29\xd1\x66\x98\xfd\xeb\x0a\x66\xeb\xf8\xea\x21\x46\xb0\xc9\x74\x6c\xe7\x80\xda\x58\x16\x32\x22\x6d\x68\x62\x83\x60\x14\xa4\x28\x6c\x6f\x81\xae\x6e\x2f\x95\x65\x91\xfd\x65\x69\x5d\xad\x75\x54\x12\xee\x35\xda\x60\x26\x38\x3b\x5d\xe7\x72\xaa\x24\x6b\x34\x95\x76\xda\xb6\x2a\xf5\xba\x93\x88\x63\x4c\x6b\x7a\x10\x53\x6d\x0b\x70\x81\xbb\x2a\xe9\xf9\xac\x00\x4a\xef\xf1\x34\xdd\xa3\x9c\x86\xdb\x7c\x89\x06\x8a\x36\x3d\x5a\xf9\xfa\x3e\x26\x05\x56\xc0\x2d\x68\x73\x32\xbd\xe4\xb1\x9e\xbe\xf5\xa6\x05\x57\x6c\x14\xed\x0e\x63\xbc\x86\x78\xaf\x33\x3b\xe9\xac\x59\xcf\x94\x8f\x2b\x61\x5e\x9e\x6a\x7a\x4e\x74\xcb\xb6\xdd\xd8\xe2\x3d\x71\xbb\xee\x82\x4c\x6c\x2a\xa8\xd0\xe6\xce\x0c\x65\x6a\x79\x00\xb4\x39\xbe\xb7\x3e\x4e\xbf\xc8\xca\x79\xe1\x59\x68\xe3\x0c\x57\x74\x03\x72\x69\x03\xb7\xb7\xd7\xe4\x02\xe2\x04\x7c\x99\xa7\x4d\x0c\xe0\x8d\xfc\x93\x75\xfa\xca\xbd\xf2\xea\x7a\xdd\x92\x0f\x93\xc2\x2e\xac\x9f\x5c\x9b\xfc\xee\x5a\xdc\x29\xb7\xd9\x34\x15\x7c\x65\x40\xae\xb1\xea\xd7\x75\xf0\x79\xc3\x24\x68\x00\x1c\x4d\x87\xda\xd9\x1d\x60\x3c\xad\x5c\xb6\xcf\xe2\x5c\x5a\x5e\xa4\x19\x6c\x36\xf2\xe6\x86\x2c\x17\xce\xb0\xf4\x10\x87\x5c\xdc\x0a\xb9\x8a\x2c\x0e\x39\x3c\x5c\x29\xdc\x93\xc5\xe4\x1c\xbc\x7c\x5a\x59\x84\x2e\x1f\xb9\xa3\x0f\xb8\x67\xf6\x88\xe9\xb9\x6e\x7f\x56\x96\x76\x2b\x4d\xbc\xbd\x90\xc2\x17\x98\x97\x46\xef\xe1\xc5\xc6\x69\xc6\xc6\xf9\x9b\xc0\xf8\x11\x11\xba\x80\x92\x4b\xb5\x69\xca\x7c\xf6\x19\xd3\x39\x79\x7d\xe1\x93\x73\xd6\x32\x4f\xb6\xd6\x64\xe0\x5e\x15\xa8\xaa\xc9\x74\x9f\xe9\x27\x55\xcb\x05\xea\x74\xc5\x9b\x13\x89\x2b\x09\x68\xde\x48\x83\xb9\xaa\x69\xc0\xd0\xcb\x93\x87\x05\x8b\x26\xb2\xb5\xdd\x30\xa5\xd6\x41\xc8\x1b\x64\x1e\x3a\x41\xf9\x9e\xd7\x03\x53\x3f\xee\x86\xc7\xdb\xae\xe8\xb9\xb7\xde\xa6\x21\x42\xf5\xdd\xb2\x39\x5f\xd0\xd5\x06\xf3\x9e\xa9\x05\x37\xd3\x3c\xc4\xa8\xcc\xcd\xc0\x9a\xac\x58\x8c\x86\xf2\x6a\xad\x74\x49\x93\xde\x49\x22\x4c\xdf\xe2\xc6\x39\x7e\xc2\xc8\xe4\x9a\x14\xae\xf2\xd6\x2b\xbc\x31\x39\x8f\xe5\xb4\x8b\x45\x9e\x25\x94\x72\xc4\xe5\x75\x00\x04\xf1\x30\xb9\x88\x4b\x25\x64\x13\x12\x68\xf7\xfc\xfd\xee\xf5\x6c\x81\x35\xf1\x69\xa3\x7f\x80\x93\x07\xe8\x8b\x60\x65\xf6\x13\xdc\x8e\x2e\x07\xf5\x4c\x6a\xb7\x4b\x42\x47\x75\xcf\x14\xd2\xa8\xbb\xac\x4a\x66\x76\x53\x5a\xe7\xd2\xe8\x1c\xcb\xa3\x04\x80\xaa\xda\x46\x79\x5e\xcf\x2e\xd7\xb8\xa8\xce\x2c\xbe\xb3\x47\x2d\x69\xdd\xd7\xb6\x25\x92\xc1\x00\xbf\x29\x8d\xb9\x5c\x33\xbc\xba\xae\xfe\x37\x47\xdc\x3a\x30\x25\x82\xff\x12\x4a\x68\xfc\xe3\x12\x04\x97\x44\x7c\x6c\x14\xf5\x89\x0e\xa3\x9a\xd5\xc1\x76\x61\xc2\x8d\x3a\xc2\xc4\x8e\x8e\x71\xa6\xc2\x2c\xb5\x6b\x72\xca\x9b\x75\x87\xef\xa1\xaf\x57\x31\x57\xd9\xb5\x8e\xb9\x82\x24\xd4\xda\x77\x69\x84\xdc\xec\x6d\x43\x20\x10\xc3\xc0\x3b\xfc\xd6\xbb\x3a\x76\xd5\x45\x62\x11\xc3\xbc\x90\x02\x77\x75\x75\xde\x45\x83\xaf\x67\x3c\x10\xb3\x03\x33\x40\x81\x81\xf4\x2a\x5a\x5c\x7d\xe0\x2c\x2b\xa2\x25\xc4\x78\x0a\x0b\x07\x6f\x46\x27\x60\x68\x17\x06\x5d\x2d\xc0\x97\x55\xb9\x6b\x5c\x2e\xf4\x6d\x62\xd7\x07\xe4\x1d\xde\x49\xd3\x47\x52\x23\x60\x7c\x2e\xda\x79\x53\x2a\x81\x12\x1e\x96\xf9\x81\x2b\xb5\xc4\xbd\x71\xb6\x3a\xdc\xb8\x3f\x86\xed\x19\x6a\x36\x22\x8d\x71\xbd\x6c\x00\x02\x4a\x64\x6d\xc5\x24\xf6\xfe\xdb\x80\x16\x18\x70\x24\xf9\x32\x15\xa6\x08\xd7\x38\x46\x6b\x5b\xc9\x52\xd7\x46\x86\x94\x2a\x6f\x85\x94\x59\x4a\xe8\x58\x6a\xe9\x36\xb6\xcb\x1e\xf5\x85\x42\x35\x7f\xcb\x0a\xeb\x7e\x19\xdc\xd7\x3b\x61\x5b\xfe\x11\xda\x5e\xb9\x42\xaa\xfc\xa2\x6e\xeb\x9f\x3d\xb7\xf7\x9f\xfb\xc9\x86\xcc\xe6\x43\xb2\xd4\x6c\x56\x95\x3e\xb7\x06\x15\x9c\x48\x53\xed\x00\xa0\x9f\xb8\x0d\x2e\x1a\x84\xff\x62\x49\x96\x45\x53\x9a\x24\xdf\x8e\xb4\xa9\xb0\x67\x59\xda\xa9\xaf\x1b\xdb\xdb\x63\xdf\x65\xc9\x0d\xe3\x4c\xf2\x22\x2d\xe7\x5d\xc3\x8e\x07\xbb\x69\x36\xcd\x2a\x36\x13\xf7\xfe\x66\xac\xbe\x77\xae\x0b\xff\x68\x66\x5e\x6f\xec\xfb\x49\x96\xb2\x9f\x7f\x66\xcd\x1d\x70\x8b\x0c\x52\xb3\x59\x10\xed\xe9\x83\x5f\x09\x81\x76\x87\x3d\x65\xfd\xfb\xc9\x64\x32\x61\xcf\xd8\xa0\xd3\xab\x4a\x5d\x7c\x36\x38\x72\x35\xf2\xa9\xdd\x68\xf2\xc7\x05\x4f\xdb\x59\xda\x65\x07\x41\x05\xbd\x19\x60\x97\x09\xb6\x84\x46\x2e\x05\xaa\x10\x51\x1a\xd6\x89\x23\x19\x5d\x79\xeb\x66\xf7\x5a\x7b\xe4\x19\xad\x38\xf7\x1f\xb5\xb5\xa6\x6e\xd2\xa4\x06\x22\x85\x12\xd5\x28\xcf\xfd\x12\xd5\x46\xc7\xfc\x2a\x4b\xad\x27\xaf\x1f\x26\x8e\x4a\x75\x05\x90\x46\x80\xd2\xec\x1e\x0b\x02\x6a\x2a\xd8\x84\x33\x6c\x23\x70\xf5\x31\x28\xe5\xf5\x34\x81\x55\x07\x46\xb1\x10\xa8\x6a\x80\xb5\x1e\x08\x68\x23\xdc\x76\x51\x61\x39\xb9\xdf\x1a\x46\xd1\x29\xcd\xcc\x3c\x4a\x55\xf9\x56\xd9\x53\x5b\xd1\x8a\x52\xba\xe3\x76\xa0\xa3\x20\xbb\x51\xed\x64\xa9\xa7\x02\x5f\x5d\x3c\x76\x76\x10\xda\xdb\xa0\x56\x7c\x8d\x00\xfd\xf5\x75\x02\x3e\x16\xc2\xc2\x78\x21\x58\xcc\x06\x8f\xd2\x28\xec\x3c\x16\x33\x57\x0f\x15\xc8\x1b\x40\x85\x75\x50\xd6\x62\x37\x31\x8a\x16\x84\x54\xe0\x6e\x1d\x9b\x39\xb2\x79\xbb\xf7\x75\x86\xd5\xd9\x14\xcf\x37\x23\x9d\xee\xad\x30\xf4\xc6\xb7\x94\xd6\x78\x98\x9d\x8a\xc8\xcf\xa9\xec\xf4\x87\x74\xbb\x5b\xda\xb3\x28\x9e\x78\xdb\x42\xea\xc9\x07\xa9\xd5\x26\x2f\x98\xb8\x4f\xc4\x82\x66\xb5\x27\xac\x28\x23\x48\xcc\x23\x51\x21\xfc\xaf\x30\xa2\xb8\x99\x64\x56\x3c\x96\xe5\x2c\xcc\xd3\x70\xa9\x73\xe0\x61\x84\xf8\xd5\x96\x3d\x07\x39\x12\x4d\x24\x5a\xf4\xfc\x28\x9e\x36\x9c\xb9\x8e\xa1\x1b\x56\x34\x53\xc8\x67\xa9\xd0\x30\xd3\xd9\xd9\xe2\xa6\x3a\xa2\x85\xc6\xca\x73\x55\x4d\x63\x81\xfe\x8d\x59\xd0\x3a\xc7\xed\x2c\xa5\x3d\xc9\x34\x50\xc7\x0f\x4f\xb7\x2f\x3e\xde\x16\xa3\xee\xc4\x16\x75\xc7\x37\xb5\xc6\xb0\x5a\x05\x1b\x2d\x5f\x7e\x88\x75\x2f\x60\x58\x93\x9e\x17\x3c\x4f\x96\xb9\x71\xc1\x4c\xf4\x95\x08\x36\x16\xd5\x9d\x10\x05\xee\x7d\x03\x38\xa8\x38\xd9\x44\x3b\x02\xa0\x30\x79\xfb\xe3\xf8\x40\xe4\x0e\xd7\xf2\x75\x24\xae\xc1\x96\xa1\xb8\x97\x12\x3a\xac\x3b\x5d\xb6\x43\x0a\x0f\xbe\x82\x32\xdf\x49\xca\xf9\xbc\x2c\x76\x40\x40\x16\x42\x56\x99\xb0\xd3\x10\xfa\xca\x4a\xef\x44\xc6\x99\xbf\xce\x60\x97\x7c\xba\xff\xa9\xe4\x52\xfc\x4f\xb8\xe2\xb6\x4b\x4a\x20\xd8\x7a\x95\xb3\x73\x76\xd5\xa2\x27\xef\x5b\x5d\xa6\xbf\xae\x5a\xd7\x1a\x60\xec\x01\xd0\x55\x7d\x03\x88\x66\xb3\x66\xaa\xcd\xbb\x6c\xdc\x61\xe7\x5f\xd8\xe5\xb6\x3f\x91\x2b\x7e\xc6\x7e\x62\xb6\xfd\x33\xac\x51\x62\x0f\x5d\x6d\x2d\xe0\xee\x43\x97\x51\x57\x3d\xc8\x95\x85\x04\x5f\xc1\xad\xd3\x85\x06\x75\x36\x37\xf5\x08\xc3\xb8\x52\x4b\xb3\x3d\xde\xff\xf0\xff\x01\xc9\xf4\xd7\x0d\xf8\xf1\x44\x30\xff\x73\x45\xea\xe2\xfa\x81\x71\x3a\xcb\xa6\x54\x15\xa6\x56\xf5\x43\xb5\xc1\x5f\xf7\xf8\x98\x8d\x0a\xbd\x55\xdc\x9a\xe7\xcc\x9e\x91\x26\x6b\x36\x2a\xfc\x72\xcc\xb0\x6b\x7b\x44\x10\x7f\xe8\x37\xa8\x97\x70\x20\x7c\xd5\x42\x63\xf2\x53\x70\xa6\x13\x8a\x8e\x19\x99\x87\xee\x13\x67\xba\xbd\x0b\x76\x40\xf0\xef\x87\xb5\x31\x24\x6f\x0a\x1a\x41\x0b\x8c\xad\xa5\xe4\x57\xd9\x75\xcd\x25\x95\xb7\x3d\x7a\xc5\x15\xdc\xbe\xf6\x6a\xd7\x6a\x4b\x2b\xe5\x6d\x0f\xb1\x6d\x82\x34\xe2\xde\x84\xda\x78\x1d\x6a\xed\xf1\x55\x76\x0d\xfa\xcb\xb4\xdc\x01\x1f\xda\xbf\x4a\xa8\x75\xd6\xac\xdf\x95\xb7\xda\x35\x49\xaf\xc6\x11\x4a\x4d\x27\x4e\x99\x22\x49\x5d\xcf\x95\xfd\x28\xbc\x13\xf1\xd6\xd8\x6e\xe5\x4d\x0b\xd8\x95\x2a\x9a\x99\xa1\x31\x7c\xdc\xb9\x75\xe4\xd5\xd4\x0e\xb6\xa0\x36\xaa\x8c\x4e\x56\x59\xb1\x79\xa6\xf0\xb4\x23\x57\x87\x56\xa4\x54\x4b\x66\xe4\xa4\x56\x53\x06\x0d\x62\x5e\xcb\x14\x29\x60\xf5\x00\x55\x22\x7a\x05\x6d\x28\x77\xb8\x85\x17\x9e\x62\xe1\x8e\x6e\x0b\xe7\x66\x69\x1b\xfd\xb1\xd0\xde\xce\xaf\x31\xf9\xca\x91\xb1\xb9\xfc\xe0\x57\xd5\xb1\x41\xab\x4f\x1a\xb6\x41\x7b\x94\x4d\x0f\xaa\x6c\x36\xcc\x7b\xc4\x65\x6d\x9b\xea\xda\xea\x65\x6d\x3a\xed\xf9\xb7\xaf\x6a\xd3\x9b\xf3\xd7\xb4\x96\x9e\x38\x10\xec\x29\x4d\x6d\x3f\xa5\xc5\x90\xdc\xaf\x8a\xee\x85\xa9\xae\x57\x6b\x9d\x68\xf7\x1e\xbd\x8d\x89\x65\xc1\xca\xec\x8c\xed\x6a\x6c\x81\xa0\x9a\xd1\xcc\xbb\x54\x45\x0c\x8d\x8d\x53\x63\x88\xb0\x7e\x5c\x14\xa9\xb7\xe8\x33\xcd\x54\xc2\x25\xb9\x94\x88\x5e\x99\xa7\x84\x5a\xad\x6c\xaf\xd1\xcf\x89\x4e\xc1\x7b\x8c\xd2\x6d\x3b\x0a\x74\xf5\xeb\xd6\x27\xde\x1c\xec\xba\x2d\x08\x30\x7a\x76\x60\xb8\x0b\x81\xbd\xa9\x69\xf2\x0a\xb7\x50\x3a\xd7\x6f\x8b\x03\x13\xbd\xde\xde\x07\x75\xab\x36\x98\x79\x48\xc7\x29\x3e\x18\x85\x2c\x6e\xb2\x61\x73\x44\x12\x96\x0c\xfe\x86\x48\xde\xbe\xcf\x6f\x23\x38\x76\x33\xda\x0e\x07\x17\x37\xa3\x7b\xae\x17\x61\x6f\x4d\xc6\x78\x2d\x69\x75\x4e\x7f\xdb\x7a\xb7\x47\x64\x13\x18\xfb\xc5\x59\x03\x7a\x68\x6d\xb1\x5e\x94\x9f\xb0\xf3\x1b\xed\x50\xee\xe3\x0d\xf6\x9a\xf8\x4a\x0f\x6a\x03\x4f\x6d\x8f\x2e\xe9\x59\x30\x67\x41\xa9\xce\x27\xb1\x82\x69\xd4\x2d\xeb\xcb\xfe\x82\x78\x55\xe1\x36\x5a\xe1\xfc\x6e\x86\xcb\xf9\x29\x4c\xc0\x79\x9a\xba\x19\x4b\xfd\x79\xa5\x5a\x91\x5f\x56\x9b\x3c\xa0\xc8\x8d\xb6\xc0\xd7\x5b\x81\x37\xcf\x9a\xd6\x66\x23\x42\xd4\x30\x4b\xf0\xd8\x54\x85\x0a\x57\x24\xfd\xdf\xcc\x3a\x34\xac\xe3\x78\x55\x89\x79\x3b\xac\x36\x76\xf0\xae\x5e\x2c\xac\x42\xfd\x64\xe3\x9a\xa9\xa6\x27\xd6\x2d\xc3\xfc\x05\xb3\x4b\x9a\x3f\x82\xa5\xfe\x8a\x99\xe5\x8d\xd5\x4c\x64\xb2\xce\x29\x8f\x1c\x9a\xc6\x19\x32\xd2\x58\x34\xa9\xe7\xf6\xed\x34\x72\xb5\x31\xe0\xf6\x54\xf5\xe3\x43\x67\x5f\x68\xa3\xf8\xd9\xed\xee\xe2\x07\xac\x41\x9e\xaa\x59\xfa\xb7\x4e\xee\xd9\x2a\xf2\x6d\x95\xc7\x9b\xc7\xfc\xd1\xe5\xcb\xeb\xd8\x80\xd9\xe9\x3c\x4c\x9f\x7a\x7b\xb0\x3c\xfc\xba\xf2\xfa\xb0\xae\xbe\x61\x41\x9e\x57\x5d\x1f\xef\x04\xb9\x51\x5a\xa8\x36\x9e\x40\x0c\xce\x93\x52\x42\xe0\xdd\xae\x33\xf3\xda\x92\x66\x73\x0e\x0c\x04\xb1\xa0\xa3\xee\x4a\xb3\xe7\x97\x73\x54\xc0\xa6\x65\x54\xd6\x52\x94\xd5\xae\xf8\xcb\x92\xe7\x5e\x7a\x6e\x5c\x56\x33\x7f\xa3\x30\xbb\xed\x96\x4a\x78\xce\x25\xd6\x31\x50\xde\xb7\x9c\x2f\x00\x00\x1b\x08\x93\x0f\xd0\x94\x39\xb9\x01\xd7\x7b\xb1\x76\x51\x7a\xf9\x8e\x4e\x97\xf6\x2a\xb9\xcb\x94\x3d\xf5\x0a\x70\x0e\xd4\xb0\xd9\x52\x0c\x1c\xfa\x1c\x0f\x46\xa4\xad\x8a\xef\xdc\x5a\xc5\x64\x26\x92\x1b\xe8\x68\xa0\xe0\x71\x4d\x88\x9b\xc6\x65\x6f\xbd\xa3\xe1\xf0\xd8\x3b\x73\x68\x14\x36\xa1\x7b\x41\xde\xf7\xbd\xe9\xf9\x9d\xa0\x02\x3f\x43\x2c\x5c\x8f\xfe\x84\xce\x6d\xd6\xa7\x99\x8c\xbd\x92\xc0\x58\xc9\x3f\x85\xd0\x7e\xe4\xd2\x79\xfa\x2d\x71\x3e\x70\xbc\x06\xe6\x11\x75\x4f\xd9\x64\xd2\x1c\x73\xef\xed\x99\x24\x2b\x00\x46\xa5\x8b\x5d\x66\xce\xcc\x82\x51\x34\x1b\xc3\x33\x45\x47\x1d\x2e\x64\x36\xcf\x30\xc6\xa2\xa2\x1b\x0a\x5c\x75\x6a\x8d\x77\x50\x5a\xcd\x9f\x63\x88\x5f\xb5\x00\x7c\xd2\xde\xfb\x73\xdb\xa6\xda\x6c\xe1\xb8\xae\x23\x27\x83\x17\xaf\x6f\xe5\x9d\x4e\x74\x3c\x44\x53\x38\xcb\xf1\x9d\xe3\x30\x89\x46\xa6\xb8\xbe\x2c\x35\x2a\xa3\x6c\x60\x26\x7b\x54\x88\x5a\x8e\xf1\x4c\x05\x08\x4c\x1b\xd6\x4a\xf9\xb3\xc0\x36\x24\x4a\x4b\x61\x36\xd2\xaf\x84\x7c\xcc\x0e\x11\xe6\x3c\x14\x5a\xeb\x87\x7c\x89\xde\x44\x9e\x46\x25\xed\x8c\xfd\x89\x82\x42\x5e\xe9\x7a\x29\xd5\x6d\xac\x78\xa0\xfc\x1d\xd5\xf6\x99\xa5\x9f\xbf\xac\xdc\xc1\xce\x62\xa3\xf8\x98\x6d\x87\x7c\xa6\x2c\xc4\xdd\x1f\x6d\x7d\x3f\x78\x02\x21\x95\xcd\xec\xe0\x2f\x2d\x1c\x0e\xea\xc1\xeb\xdb\x35\x98\xb7\xfe\xef\xfb\x2f\x2e\xe0\x00\x31\x31\xae\x89\xbf\x6c\xd8\xc3\xce\x3b\xd2\xee\x22\x20\xcb\x8c\xe3\x11\x1b\x4e\xef\x04\xbb\x0b\x3f\xfc\x7a\xc7\xc7\x1c\x9e\x87\x1b\xb9\xd0\x6e\x8c\xb6\xc4\x4d\x57\x79\x93\xa6\xaa\x8b\x85\xde\x73\x09\x14\x80\x16\x68\xeb\x47\x45\x5b\x5e\x98\xfe\x3d\x6f\xc2\x7b\xdb\x23\x4f\x36\xf9\x5b\x8f\x14\xdc\xa6\xba\xfa\x98\xb1\x1b\x2b\xff\x90\xb9\x77\xbf\x60\xde\x66\x53\x9a\x3e\x2b\xbb\xb3\xad\xe3\xe1\x60\x89\xc6\x23\x4b\x4c\x03\xc6\x0d\x77\x29\x36\x25\x72\xf1\x5a\x34\xaf\x76\xae\x61\x2d\x04\x6d\xd1\xc6\x17\xb8\x1e\xad\xee\x92\xbe\x6b\x08\x58\xe2\x31\xff\x3f\x88\x57\xa0\x6b\xf5\x70\x45\x45\xdb\x03\x3f\xf5\x17\x07\x59\xd3\x06\x50\x8f\x5a\x01\x64\xc6\x27\x5a\x08\x14\x1f\xed\xbe\x31\x31\x56\x8f\x89\xfe\x2f\xb5\x8b\xce\x04\xad\xad\xc7\x8a\xb4\x8f\x01\xf5\x55\x4e\x5c\xaa\x69\xbd\xeb\x5f\xa0\xaf\x9a\xc3\xa7\x50\xec\x03\xd7\x54\xd1\x9a\xcd\x86\x28\xce\x6b\x7d\xcd\x4a\x9e\x5f\x14\xa5\x3d\x36\x72\x74\x89\xc3\x3f\x09\xbb\x26\x79\xce\x0b\xe4\x5f\xa6\x44\x91\xda\x6a\x29\xb2\x8c\xba\x0e\xd3\xd4\xfb\xdb\xea\x06\xdc\x0c\xed\x4e\xb8\xe4\xa0\x59\x42\x2d\x6e\x71\x57\x59\x2c\x09\x9e\x64\x74\xe6\xa8\xdf\x92\x39\xb2\xf0\x4e\xb4\x6e\x85\x3d\x4e\x47\x6b\x7c\x6a\xce\x73\x0a\xf4\x48\xa8\x12\x4c\x3f\x35\xaa\x84\xf0\x8a\x2e\x1d\x2a\x2c\x15\x39\x5f\xe1\xca\x0a\xda\x1a\x83\x1a\x0b\xa8\xb8\x2c\xaa\xcc\x9c\xe7\xe7\xa1\xdb\xd5\xaa\x82\x32\xea\xde\x39\xaa\xba\x76\x95\xe3\x2a\x0e\xdd\x59\x3a\x70\xd0\x9b\x4d\x37\xdb\x22\xb8\xed\x37\xcc\xae\x5b\xef\x63\x32\x22\x05\xbd\x33\x87\x55\xa9\xcf\x5e\x52\xba\x88\x9a\x27\x09\xd6\x10\xe1\x70\xa4\x62\x81\x03\x52\x50\x6b\x9c\x79\x0b\xcb\x83\x76\xe1\x9d\x5e\x22\x67\x53\xa8\xa3\x0f\x63\xe9\xb2\x7e\x68\x56\xbe\x16\x55\xb8\xc7\xcb\x63\x56\x5f\x36\x6b\xb3\xe9\x63\x53\x2f\xd3\x7f\x84\xc4\x8b\x99\xf2\x09\x54\x4a\x43\xad\x46\x9e\xb3\xa2\x2c\x76\x8d\xcd\x0d\xd6\x35\x29\xbb\xb1\x74\x81\xc1\x6f\xe0\x33\x53\x89\x1f\x95\xf6\x14\x74\x14\x7d\xf3\xc6\x02\x76\x57\x81\xed\x94\x13\xf7\x8b\x52\x56\x23\xf5\x9f\xaa\x2c\x9a\xb3\x23\x34\x61\xf8\xd0\x5c\x95\xbe\x31\xe5\xb0\x6e\x51\xb6\x3f\x03\x68\x56\x14\xea\x53\x54\x82\x84\x4a\x34\x93\x10\x6c\xd9\xda\x98\x52\xd7\x0f\x35\x25\x3f\xc3\xa4\xba\x06\xb4\x1b\xfb\xfa\xb8\x50\x6e\xe2\xa7\x2c\x3d\xc3\x52\x8c\x1f\x54\x59\x9c\x45\x15\x45\x85\xa9\x26\x0a\xc8\xd7\xee\x3c\x74\xa2\x74\x72\x34\x8b\xf9\x58\x6e\x34\x04\x6c\xf6\x4e\x9b\x9c\xd3\x5a\x2f\x9c\x6d\x0b\xf7\xd3\x09\x92\x2d\xcd\x93\x94\xaf\xe6\xd0\x27\xc3\x88\xe3\xbc\x1c\x87\x4b\x3a\x94\xbf\x7d\x8b\x2b\x14\xc5\x29\x4a\x9f\x1e\x75\xa7\x48\xd7\xbb\xfe\xad\x78\x37\x43\x44\x2f\x65\x39\x8f\xb9\x17\x06\x6d\x4d\x05\xbc\xbb\xf5\x58\x26\x8d\x13\x7c\xd0\x42\x38\x56\x6b\x99\x11\x9e\x78\x1c\x37\x52\xba\xef\xba\xa7\x8b\x56\xa3\x37\x03\x15\x9a\xa6\x54\x74\x86\xb1\x70\xb5\x61\xe6\x51\x37\x8d\xe2\x3d\xdb\xf1\x4a\x6f\xd7\xb6\xeb\xea\x78\x8d\xb3\x86\xa7\x2d\xbb\x8a\x9b\xa6\xa7\xa3\xb1\x68\x07\x7d\x42\x92\x6f\x96\x0c\x5b\x19\x47\xaf\x74\x24\x5e\x77\x2c\xd7\x0b\xef\x08\x2b\x7d\x4a\x7f\x54\xc8\x56\xdf\xd0\xf7\x91\x01\x46\x7d\x19\x58\x53\xa1\x96\xbf\xc9\x6a\xb0\xc3\x82\x37\xe1\xb9\x06\x5f\x6e\xe2\x12\xdf\x7d\xf8\x85\x28\x86\x9b\xb4\xfe\xd2\x28\x28\x48\x08\x67\xf7\xe1\xc9\x3d\x37\x62\xd5\xcb\xb9\xaa\x5e\xe9\xc9\x44\x0f\x10\x8c\x3d\x68\xa0\x7e\x67\xcd\x44\xda\x83\x9b\xa1\xac\xef\xe5\x51\xdf\x3d\x24\x98\x64\xdc\xb4\xa2\xc9\xdf\x1c\x0d\x8f\x86\xce\xe6\x98\x15\x6c\xe5\x79\xd3\xbe\x5b\x54\x08\x8a\x71\x0d\xc7\x85\xb4\xa6\x28\x41\xe7\xc4\x7a\xb5\xa2\x8e\x08\xf9\xed\x5a\xda\xf5\xd3\xe4\x67\xce\x6d\x10\xd9\x0b\x1d\xf9\xf5\xeb\x40\xea\xba\x19\x0f\x6f\x8d\xb7\xae\xd3\xd0\x8d\x2a\x3f\x6a\xb8\x7d\x5b\x66\x29\xba\x64\xe1\x40\x63\x6c\x12\x2d\xda\x88\x83\x92\xa0\x74\xcf\x75\x2b\x3a\x34\xc4\x69\xb0\xe6\xe8\xa2\x09\xd9\xb5\x1b\xa6\x3f\x26\x0e\xf2\x26\x67\x37\xcd\x23\x3d\x7a\x53\x75\x29\x68\xb7\xf3\x7f\x91\xad\xd4\xdf\xf9\x1b\x5c\xf1\x02\x5e\x65\x7a\x18\xed\x9c\x0e\xa2\xb0\x54\x14\xa0\x81\x07\xfa\x9f\xfc\x96\xbf\x4b\x64\xb6\xc0\x7d\x6d\x8b\xa9\x27\x31\x49\x99\xe7\x22\x01\x2b\x9d\x2e\x69\x45\x3d\x1b\x2f\x75\xd1\xab\xaa\xc4\x42\xcf\x38\x98\x03\x29\xb2\x82\x92\x22\x42\x66\xb4\x86\xb9\x05\x1a\xcc\x12\x9a\xa7\x69\xbb\xd7\xeb\x75\xe8\x04\x72\xe5\xce\xdc\xc4\x83\x25\xfe\xdd\xc0\xed\xe8\x0d\x66\xb3\x5b\x5a\x02\x63\xc6\x6d\x9c\x15\x7b\x74\xfa\x5e\x4f\xcd\xbc\xcd\xac\x8a\xb2\xc0\x93\xe5\x97\x4a\xd0\x52\x7c\x55\x4b\x32\xeb\xe5\x9d\x76\x93\xec\x70\xe3\x2f\x1d\xd3\xae\xca\xa5\xb4\x34\xd3\x67\x59\x40\x7f\x40\x94\xb0\xe1\x32\xcf\xf1\xfc\x69\x4f\x3b\x5b\xf0\x73\x7d\x22\x96\xa6\xf8\xc7\x33\xf6\xd3\x43\x7c\xb8\x29\xb7\xf7\x37\x26\x87\xa3\x15\xf9\xf6\x19\xe6\xef\xac\x66\x36\x47\xc7\xd3\x4f\x75\xd9\x3d\x62\xea\xa1\x49\xbe\x98\xc5\xc9\x1c\x36\xa7\x66\x9c\x16\x4f\xe3\x31\xbc\x8d\x05\xd3\x38\x0f\x31\x62\x73\x9c\x8d\x81\xef\x31\x32\x38\x63\xb1\x23\xf9\xdd\x0e\x95\x72\xeb\x14\x9e\x5e\x69\x39\xce\x6b\xe9\xeb\x94\x57\xdc\xcb\x3e\x69\x3b\xed\xd3\x23\x24\x28\x30\x4b\x3d\x61\x04\xb8\x74\xb1\x2d\x52\x40\xc1\x13\x8e\xf8\xd6\xf7\xd5\xc9\xbe\xd5\x42\x9c\xd1\xb3\xf8\x37\xdc\x3d\xa3\xa4\x09\x55\x44\xf0\x8a\x9f\xe1\x27\xd5\x37\x86\xc1\x9a\xcc\x04\x96\x3a\xd9\xa1\xd6\xca\xca\x9b\x8c\xb0\xb7\xb0\x97\x99\x5d\x65\xa1\x8f\xc7\xd9\x81\xcb\x3b\xae\x52\xd7\x76\x1e\xdc\x6e\x00\x1b\xfb\x41\xde\xa3\x26\x0c\xec\x1b\x1b\xce\x02\x0b\x2b\xda\xdd\xa4\x41\xb9\xe5\x14\x2f\xdb\xa6\x39\xd3\xb8\x28\x2b\xcf\x52\x7a\x65\xab\x65\x73\xd9\xea\x0e\x90\x78\xa7\xcb\x76\x00\x53\x53\xb9\x1c\xf4\x3d\x28\x5e\xb5\x03\xd7\x10\xb6\x77\x6b\x5d\xf0\x0b\xe0\x8d\x87\xb0\x66\xf8\xb7\x94\xa0\x37\xda\xb3\xa0\x0e\xdd\x46\xf9\xa6\x4d\x17\xe3\xaf\x2d\x37\x6f\xdc\xc9\x74\x23\x7f\x36\x33\x5a\xc0\x4b\xff\x44\x3c\xf1\xf4\xa1\x2e\x0a\xcd\x63\x7d\x01\x42\xf2\xff\xe0\x78\xf7\x80\x24\x5b\x06\x1d\x33\x3f\xa4\x8f\x96\xb2\xb6\x4d\xd1\x3f\xf6\xf0\x8f\x1c\xe2\x4c\x14\xe0\xf8\xa4\xec\x56\x48\x85\xe9\xde\xad\xfa\x5e\x33\xc6\xf7\x32\x7f\x2c\x6f\x90\x83\x6e\xed\x6f\xdc\xda\xba\x67\x9f\xbb\xe1\x6a\x21\xc2\x30\xd4\xf6\x41\xb4\x76\xcf\x58\xab\x1b\x5c\xb5\x23\xb7\xd9\xa5\x34\x49\xf3\x7f\x0d\x8f\x12\xa2\x57\xb5\xe0\x7a\xd1\x18\xd6\x22\xcc\x45\x51\xe9\x4d\x73\xca\x89\x39\x70\x07\xf3\xdd\x8b\x52\xa9\x6c\x9c\xaf\x58\x92\x97\xcb\x74\x77\xcc\x93\x1b\xa1\xdd\x44\xbb\xa3\x1d\x8d\xb8\xdb\xe4\xb3\x10\x77\xba\xba\xa7\xdd\x79\x24\x69\x3f\xea\x53\x14\xff\x35\x28\xac\x3b\x63\x62\xff\x31\x57\x22\x65\x58\x01\xa1\xd7\x81\x14\xb4\xf7\x2b\x9d\x89\x31\xe1\x66\x37\x04\x7d\x0e\x91\xa4\x64\x01\xb8\x5b\x76\x05\x11\x6d\x4c\x1d\x9c\xd8\x13\x0f\x5d\x6d\x28\x7a\xfa\x58\xfc\xfa\x71\x32\xf5\x23\x64\x3e\x36\x9c\x21\x53\x36\x9c\x91\x12\x76\xad\x67\xa6\x3e\x71\x5f\xb7\xd7\xc8\x34\x66\x0b\x62\x7b\x6b\x7d\xfd\x94\xce\x9a\xe8\x53\x2b\x0c\xb9\xc2\x6e\x79\x05\xfc\xe6\xbe\xa2\x7d\xcf\x33\x7f\xdf\x88\xb0\xcb\x51\xba\x87\xd0\xf0\xe9\x60\xb7\x0a\xe6\x52\x70\x37\x9f\x80\xe1\x79\xd0\xc3\x2b\x03\x70\x6d\x53\xb3\x86\x62\xeb\x37\x75\x89\x37\x7b\x28\x9b\xb7\x79\xf0\xe7\xac\xcb\x60\x8b\x07\x8d\x5e\x53\x01\xa5\x3d\x18\xc2\x5f\xeb\x60\x76\x11\x5a\xb3\x2d\x77\x6d\x01\xc5\x9c\x2f\x3a\x0f\x6e\xfb\xa0\xa0\xf0\xa6\x69\xe9\x04\x35\xfb\xc4\x6e\xc8\x15\xe5\xb2\xd6\x12\x7f\xcd\xe1\x0b\xe1\xc6\xbf\x31\x89\x30\x41\xdf\x5c\x5f\xec\x9f\xbe\x10\x57\xeb\xfc\x4d\x8f\x5e\x58\xdb\xa3\xf5\x07\x2e\xd4\x77\x33\xae\x1f\xb8\xf0\xd1\x96\xf0\x07\xdb\xa6\xfa\x2b\x8c\x9b\x58\x62\xfd\x99\x0b\x17\x54\xf4\x8d\x5b\x3d\xd1\x6c\xbf\xd9\xba\xcd\xd3\xcf\x7f\x0b\x16\xa0\xea\xf2\x27\x9b\xf7\x81\x5e\x4b\x35\x5c\xb4\xbe\x79\xfb\xe7\x40\xb4\xe8\x01\x6f\xce\xfe\xd1\xf5\xe8\xb5\xf9\xca\xb7\x6e\xfe\xb5\x56\x3f\xc6\x9d\x4e\xa9\xc4\x7c\xdb\xe4\x25\xfc\xdf\x2c\x48\x5e\x2e\x36\x6c\x8c\xda\x79\x3c\x59\x6d\x35\x93\xa1\xec\x58\x08\x70\x57\xc9\x7f\x7c\x0c\x69\xf5\x6e\xcf\x3e\x71\xb1\xe2\x65\x13\x75\xc1\x8b\x0a\x81\xc8\x09\x6a\x3c\xc7\x43\x05\x05\x43\x3e\xc1\x6a\xfa\x45\x6f\xb7\x89\x05\xbe\xf6\xc4\xdc\x6d\x24\xc3\xbc\xf5\x2f\x23\x98\xc2\x65\x4a\x9b\x48\xf6\x28\x9a\xa9\x88\x68\xea\x51\x54\x53\x31\xd9\xc2\x4a\x22\xbd\xe6\xbd\x58\x27\x80\x4d\x5c\x65\xb2\x30\xd6\x5b\x1f\x0b\x9d\x6a\x78\x44\xb5\x8f\x83\x5d\x53\xf3\xa3\x84\xc4\xbd\xf9\x85\x5d\xd3\x8e\x1e\x85\x2d\xfa\x49\x12\xb1\xa8\x6a\xb9\x9d\xdf\xb4\xd8\xce\xbc\x48\x89\x2a\x58\x6b\xe7\x1f\xdf\x40\xc7\xee\x95\xe1\x16\xf6\xf0\x80\x2e\xce\x45\xc5\x66\x76\xfd\x7a\xe2\x8e\x1f\x92\xe6\xf0\x02\xb3\x09\x71\x46\xbb\x49\x05\x87\x0c\x60\x05\xea\x22\xc5\x99\x4b\xaf\x18\xc2\x3f\xdb\x6a\x2d\x77\xa8\x35\x12\xe5\xed\xdd\x5b\xd7\xf5\xe5\xf8\x07\x7b\xcc\x5c\x39\xfe\x01\xe7\x09\xdc\x4e\xdf\x31\x2b\x29\x51\xb5\xcb\xf1\x0f\x51\x63\x35\x6e\xb2\x52\xa7\xb9\x7e\x3d\x57\x35\x16\xeb\xdd\x88\xd5\x9e\x7e\x92\xaa\xc2\xa2\x06\x7e\x1f\x6b\x33\xd6\x2a\x3c\x39\x29\x1e\x98\x06\x65\xf0\x88\x11\x34\x7b\xbf\xd0\x66\xf9\xe1\x12\xdb\xc7\x99\x1a\x2c\xd8\xc3\x55\xc8\x7f\xfb\xe1\xd2\xdb\xa5\xfe\xc6\x11\x33\xad\x99\xad\xf9\xfe\xfe\x23\xe6\x0a\xd7\x6a\x02\xba\x6d\xcc\xe8\xd1\x06\xd8\xa6\x61\xb3\xb2\x87\x96\x6e\xe3\xe8\xad\x33\x7b\xbf\x0f\xdf\xa6\xe1\x6b\xb0\xbe\x8f\x1f\xc0\x18\xf8\xf1\x49\x9c\x8f\xd8\x91\x7f\x91\x44\xc3\x5d\x56\xa4\xe5\x5d\x0f\xbb\xf4\xee\x97\x67\x1b\x70\xa5\x44\x98\x70\xf8\x0d\xd9\x86\xd7\xc8\x21\xb5\x22\xb3\xe6\x54\x42\x3d\xfb\xd0\xd0\x17\x00\xd3\x97\x79\x9a\xbe\xbc\x15\x45\x65\x73\x0c\x2d\xfd\x68\xab\x6b\x76\xf7\x7d\x67\xd8\xe4\x7f\x31\xdd\x80\x7d\x6e\xaa\xdc\x08\xb2\x0d\x5e\x76\xc1\x26\x16\x46\x52\xf0\xed\x29\x85\xbd\x3d\xf6\xea\x25\x65\xb3\x55\x6d\xa7\x25\x77\x62\x1b\x32\x1b\x6e\x57\x03\x30\xf3\x45\xb5\xd2\x67\x33\xf4\xdc\xd6\x59\xb7\x66\xfa\x5d\xf4\x6c\x85\xf4\x97\xfe\xa9\x6f\xee\x7a\x87\x9d\xb1\x9d\x9d\xe7\x6e\xe1\xbf\x7b\xd4\xd6\x0d\x44\x8f\xba\x92\x6f\xff\xd1\xd2\xf9\x44\x57\xa2\xa7\x7d\x22\xca\x7a\x98\x77\x9d\x39\xdc\xf4\x2c\x9e\x6e\xe9\xcc\xbe\x78\xe3\xee\x24\xbf\x2e\xc1\x52\xfe\xb3\xa5\x56\x62\x46\xfb\xa7\xcf\xac\xc4\x1d\xfa\x3d\xb1\xf2\x88\xc4\x4a\x4c\xb4\xdf\xf3\x2a\x7f\xab\xbc\x4a\x4c\xd9\xc7\xa5\x55\xfc\x43\xaf\x6a\xc9\x02\x5c\x5c\x71\x23\x56\xde\x51\x5f\x34\x87\x79\x6b\x27\x2e\x89\x14\xb6\xea\xaa\x92\x2b\xaf\x2c\x95\x9a\xf5\xb4\xac\x3b\x66\x85\x31\xe0\xb0\x2a\x99\x31\x63\x5b\x74\xf1\x1c\x2d\x70\x48\x38\xf8\x80\x64\x19\x3c\x67\x0e\x17\xae\x99\x89\xc0\x8a\x2d\x0b\x84\xd0\xd5\x72\xb6\x6a\xd8\x63\x00\x2b\xbd\x68\x51\xa9\x50\x94\x90\xa8\xb1\xc3\xbf\x42\xd2\xe8\x11\xfc\xb0\x35\x65\xb4\xb6\xa4\x3e\xa3\x62\x49\xe5\x9d\x70\x0f\x06\xec\x0b\x32\x64\xbb\xbb\xfe\x7e\x03\x20\x11\x04\x6d\x4b\xd8\x1f\xcb\x69\xd1\x74\xf9\x5a\x56\x0b\x99\x0d\x0b\xcb\xb5\x79\x5e\xc3\x70\xcd\x2c\xf7\x1b\x99\x2e\x7c\xf3\x6d\x58\x14\xd8\x50\x51\x88\x04\xac\x6f\xbc\xf9\x58\xde\x95\xb7\x75\xc6\xfd\x3d\x6b\xf7\x4f\x99\xc9\x89\xe5\xf3\x17\x27\xed\x6a\xe9\x1c\x23\x44\xdd\xf8\x18\x40\x92\x82\xf5\x36\xf3\xb1\x16\xf3\xf7\x8c\xde\xff\x1e\x1f\x3c\x26\xa1\x17\x17\xd0\x97\xe3\x1f\x82\x88\xe1\x51\xcc\x61\x72\xbd\x9d\xfa\xf1\x67\xbf\x86\x47\x7e\xcf\x19\xfe\x1d\x78\xe2\x37\xa7\x0c\xeb\x9e\xdc\x6f\x1c\xdf\xdf\x93\x8b\x7f\xdf\x71\x0e\x37\x48\x95\x8d\x03\xdd\xb8\xd5\xa9\x5c\xad\x4d\x20\x34\xf1\x04\x97\xab\xab\xec\xfa\xb7\x89\xfe\xe3\xb2\x96\x73\x31\x2f\xe5\xea\x5f\x24\x6d\xf9\xaa\xd8\xa5\xfe\xb8\xac\xca\xaf\x29\x8e\x42\x78\x68\xef\x57\xa5\x2b\xbf\x21\x0c\x7e\x75\xbe\x72\xdd\xa1\x5e\xff\x90\xe9\x23\xea\xec\xbf\x52\xfe\xa8\xd6\xa3\xdf\x13\x48\x8f\x48\x20\xd5\xa8\xf6\x88\x0c\x12\x10\x4c\xd8\x44\x6e\xec\x35\x85\xf9\x6b\xad\x30\x85\x09\xe9\x7e\x72\x69\xde\x00\x10\xef\x77\xbd\x5c\xaf\x59\xd8\xf6\x60\x75\x69\x93\xbc\x85\xea\x34\x12\xdc\x5f\x9d\x1f\x6e\xcc\x10\x07\xab\xce\xbc\x29\x85\xae\x59\x7d\xf7\x7b\xfa\x6c\x13\x5f\xfd\xc6\xfc\x99\x3e\x3c\xfe\xf7\xbc\xd9\x3f\x5b\xde\x6c\x1d\x23\xfc\xe3\x25\xce\x34\x8b\xfd\x9e\x30\xfb\x3d\x61\xf6\xff\x42\xa2\xa4\x26\x98\xbf\xae\xcc\xcd\xed\xad\xd5\x2c\x4c\xf5\xab\x46\x42\xe2\x84\x9a\xdd\xaf\xcb\xf9\x16\x4d\x6e\x43\x7d\x8b\xae\x33\x42\xf1\x9f\xc0\x1d\xf8\x3d\x33\xf8\x0f\xc8\xf0\x8f\x49\x0d\xfa\x6c\xb9\x39\x53\xf8\xcb\x3d\x5d\x93\x31\x7c\xa8\xef\xca\xb6\x4e\x60\x6c\x92\xf1\x79\x83\xde\xfe\x3f\x61\xfb\xbf\x59\x26\xec\xf7\x4c\xe7\xdf\x94\xc7\x7f\x51\xaa\xd3\x3f\x31\xa0\xd9\xf1\xfe\x3d\xcd\xf9\x8f\x3d\xc8\x7f\xe3\x3c\x67\x23\x43\x50\x8e\xf3\xfa\xef\x98\xe3\xac\x84\xaa\x3e\xea\x3d\xc2\xfe\x45\x32\x9c\xff\x0e\x77\xe1\x25\xb7\x99\xb8\x63\xde\x4e\x2c\xcb\x22\xab\x18\x74\x18\xdc\xd7\x89\xe4\x73\x71\x57\xca\x1b\x1c\x24\x7f\xd3\x46\x5e\x58\x2f\x96\xfb\xd7\xe1\xc9\xf0\x14\x28\x78\x91\x39\xb5\x93\x36\xbc\x06\xde\x79\x2f\x54\xf5\x8d\x77\x6a\xa8\x14\x39\xb2\x1a\xe6\x59\xf1\x90\xb9\x11\x6d\xe3\x38\x2f\xe7\xfa\xbc\xa9\xac\x6a\x29\xdc\xbd\xd0\x6d\x0e\x83\x5b\x50\xaa\xac\x98\xe6\x82\xde\x43\xac\x8c\x90\x52\x70\x55\x16\x7c\x9c\xaf\x98\x9a\x73\x3a\xf5\xa9\x7d\xfe\xd7\xc1\x0d\xcb\xb3\x42\x80\x63\x04\xef\xa5\x46\x59\x5e\x56\x4c\x70\x95\x91\x80\x98\xc3\x8c\xcb\x42\x37\x8b\xfb\xcb\xe0\x36\x2d\xd0\x3f\x68\x69\xc6\x65\x21\x94\xa2\x5d\xe4\x33\x74\x36\xbc\x07\x95\xb8\x15\x45\xb0\x6b\x78\x99\xe7\xe5\x1d\x90\x54\x77\x90\xf6\x61\xd7\x0b\xda\xbd\xa3\xf0\x62\xda\xec\xd2\xe6\x06\x65\x59\xe9\x14\x34\x20\x2d\x8a\x4a\xae\x16\x65\x56\x90\xd8\xe3\x96\x69\x18\x6d\x08\x88\xcc\x96\x94\x4c\xae\x37\xd6\x7b\x5d\x4e\xd9\x2e\x7b\x5d\x4e\xa7\x00\x0d\x9c\x98\xd1\x92\xf8\x06\xd8\x77\xcb\xac\x12\x6c\x97\x8d\x0c\xb9\xcd\x6a\x7a\x33\xc0\x0d\xcf\xc0\x77\x7c\x44\x0f\x09\xc0\x6e\x00\x7d\xbb\x2c\xd8\x2e\xa3\x2b\xc4\x19\xe2\x5e\x24\x4b\xf3\x26\x8e\xba\x6c\xcb\x2b\xdf\x0a\xb5\xcc\x6b\x2f\x05\x39\x5b\xe6\x7a\xf3\x4e\xab\xf3\x81\x88\x7a\xdb\x10\x2d\x2a\x96\xd9\xd9\x4c\x64\x92\xcb\x64\xb6\x22\xb6\xb8\x11\x62\x21\xa4\xd9\x3d\x20\x2f\xa7\x6b\xf6\x4a\x69\xa0\x30\xe9\x7b\x78\xc4\xaa\xfa\xa6\x71\x70\xed\xa1\x10\xbd\x2e\xa7\xca\x9c\x17\xee\x49\xa3\x3e\x70\x08\x74\x5a\x39\x9f\x67\x55\x90\x33\xf5\xf9\x24\x4a\x90\xe6\xe5\xd4\xcb\x90\x03\x32\xe7\x16\xad\x9f\x7f\xc6\x05\xf0\x0d\x48\xe1\x86\xa1\xcd\x07\xa7\x1b\xd6\x32\x04\xb4\xe7\x96\xe3\x0d\xa3\x1b\xd7\x04\x02\xa8\x72\xef\xbd\x5d\x5b\xc8\x6e\x2e\x40\x12\xe8\x94\x74\x68\x44\x21\xc7\x29\x51\x2d\x17\xed\x4e\xd7\x10\x66\x21\x05\x9f\x8f\x73\xd1\xd6\x02\x8b\xa0\x09\x07\x11\xd2\x5b\x43\x39\x34\xe4\xb2\xe8\x31\xd2\x3a\x66\x9c\x95\x3e\x98\xdd\xf3\xe3\xe3\x8e\x3f\x45\xad\xdb\x63\xec\x15\xe8\x02\x51\x54\xff\x3f\x7b\xef\xbe\xdf\xb6\x91\x34\x88\xfe\xef\xa7\xe8\x78\x77\x43\x32\xa6\x78\xd3\xd5\x72\x94\x2c\x45\x49\x13\x6d\x7c\xdb\x48\x89\xcf\xf7\x39\x1e\xa7\x09\x34\x45\x44\x20\x1a\x83\x06\x24\x71\xc6\xde\xdf\x79\x8d\xf3\x7a\xe7\x49\xce\xaf\xab\xaa\x6f\x00\x28\x29\xc9\x64\x76\xbf\xdd\xe3\x3f\x2c\xa9\xd1\xd7\xea\xea\xea\xaa\xea\xba\x24\x85\x48\xd7\xac\xca\xcd\x7e\x78\xb3\xbb\x85\x87\x9e\xb2\x63\xf5\x8e\x90\x92\x02\x93\x90\x35\x77\xa5\x91\x9e\xdc\x60\x7d\x5d\x9d\x4d\x11\xf0\x48\xa9\xd2\xb6\x3b\xd4\x92\x22\xdf\x52\xa3\x7b\x22\xfc\xd9\xfd\xe2\x4a\xc9\x28\x71\x11\x32\x1b\x9b\x66\x59\x05\x4b\xb6\x67\x14\xc8\x77\xc5\xd7\x7e\x56\x76\x24\x71\xfa\xea\x84\x27\xb0\x3c\x2f\x64\x5e\x40\x5e\x3f\xb3\x98\x87\x80\x20\x33\x5a\xc6\xcc\x70\x27\x1e\x20\x4a\xfc\xd4\x43\x99\xc6\x3e\x52\xe8\x8b\x08\x0d\xdf\x01\xe5\xcc\xee\x33\x59\x95\x79\xd5\x38\x8f\x5e\x1c\x01\xc8\x32\x61\x0f\xe3\x99\xe1\xb6\x5a\xf9\x2f\x58\x94\x4b\x22\x0d\x31\x92\x41\xcb\x8d\x08\x26\x0d\x15\xc0\x08\xcd\xe6\x24\xf6\x6d\x3e\x30\x7d\xac\x28\x3f\x49\x3b\x0c\x5e\xc2\x09\xac\x1f\x51\x33\xa9\xf0\xa8\x9a\xd2\x8f\xee\xcc\xda\xd9\x7f\xfa\xe4\x85\x4a\xe8\xb1\x7f\xf8\x33\xd0\x05\x9f\xad\x8a\x83\x72\x66\xe9\x4e\x3a\x1d\x57\x0a\xd1\xbb\x5a\x0b\x2f\x4a\x1e\x5d\x9b\xd7\xc4\x46\x00\x31\x13\xf6\x4b\x02\x31\x5c\x09\xa5\xf8\x95\x08\x2f\x7a\x99\x41\x98\xe9\x85\x88\x4a\x15\xd4\x72\x61\xdd\x20\xd3\x25\x85\xa2\x36\x01\xe8\x93\x3b\x48\xc0\x5c\xa9\xe5\xe6\xdc\x15\xaa\x2c\x6c\x78\x66\x9c\x45\x5e\x60\x48\xe9\x52\xb2\x45\x55\x56\x85\x68\xcc\xab\x75\x13\x3c\x64\xd4\x23\xbe\xc5\xfe\x82\xf8\x13\x85\xb7\x1b\x3e\x64\xf0\x71\x51\x7f\x6f\x81\x66\xb3\xf6\xaf\x32\xc9\xba\x9d\x4e\xab\xd8\x51\x86\x49\x5e\x35\xd8\x00\x30\x34\x7d\x5a\xe6\xa3\x16\x21\xf3\xe6\x1a\x36\x2e\x40\xe6\xdd\x3f\x30\xf9\xff\x5e\x89\x4a\x68\xb2\xe8\x1f\x8c\xbc\x48\x30\xf7\x8e\x39\x21\x2e\x73\x10\x07\x46\x0b\x54\x9b\x14\x1b\x9d\x70\xb2\x6f\x9e\x19\xa1\x13\xfd\x1d\x56\x0f\x89\xd8\x7c\xa6\xc9\x55\x80\x34\x2b\x94\x9b\x00\x87\xa4\x7b\x83\x2e\x67\x8c\x86\xbe\x48\xf5\x0e\xf5\x98\x2c\xb0\x4e\x9a\x75\x7b\xc0\x38\x2a\x38\xe0\xa0\x99\xad\x31\x63\xfa\xdc\x2b\xf1\xb7\x0a\xa2\x00\x53\x8a\x64\x60\x28\x92\x8c\x5d\xbe\x7b\x83\xac\x22\x71\x0b\xba\x2b\xbd\x42\x9f\x5b\x83\xcd\x48\xb2\xb2\xdb\x59\x8a\x34\x95\x1a\x62\xf5\x0f\xac\x59\x98\x66\xdd\xce\xad\x2c\xd2\x18\x3f\xe9\xaf\xef\x96\x9a\xcf\xe4\xac\x5c\xe7\x10\x53\x50\x95\xfa\xde\xdb\x4a\x13\xc8\x4f\xa4\xe7\x6a\xa2\xb5\x9b\xe9\xe1\x88\x0c\xfa\xf9\x39\x23\x2f\x23\xcd\xb2\x3e\x81\x6c\x4b\x0a\xb2\x53\xb8\x7a\x3f\x67\xa6\xe6\x43\x87\xcc\x6d\x2e\x8f\xe3\xda\xd6\x3e\x88\x8f\x80\x0e\x6d\xe7\xc9\x85\x7c\x25\xc2\x14\xd8\xae\x58\x6a\xf5\xec\x48\x8f\xdf\x48\x24\x50\x27\x69\x01\x06\x3f\xb3\x4d\x7c\x74\x7d\x0b\x53\x21\x24\xf4\x70\x45\x33\x11\x80\x29\xc0\xb6\xbb\x08\xf9\x7f\x3a\x58\xd2\xec\x91\x80\x71\x2b\x26\x8c\x76\x39\x55\xfc\xeb\xa1\xdb\x04\x42\xed\xe9\x0e\x56\xc9\x33\x7b\xf0\x7c\x1a\xf9\x98\x69\x23\x98\x1a\x94\xc5\xe5\xa8\x08\xa7\xec\xb9\x85\x6d\x9a\xac\xa9\xbf\xe9\x9a\x6a\x3c\x40\x2b\xe2\x3f\xf5\x3d\x57\x16\x55\x54\xca\xc2\xbb\xb9\x21\x39\x2c\x26\x65\x5d\x8a\x22\x29\x41\x83\x03\xe7\xb4\x4d\x9a\x31\x3b\xfc\xa3\x12\x61\x7e\x32\x60\x01\x1a\xdc\x2e\xf1\xa3\x94\x1a\x0a\xf8\xc3\x30\x8b\xba\xee\x0b\xe3\x0b\xa6\x6b\x96\x64\x49\x49\xcf\x3b\xed\x93\xb5\x0a\x1a\xd7\xe1\xbf\xc9\x0a\x84\xf8\x72\x29\x40\x4b\xe3\x31\x5b\x96\x11\x06\x7c\x75\x4c\x30\x5b\x89\x72\x29\x63\x05\xd1\x2f\x45\xa4\xf7\xb2\x58\x43\x1d\xc0\x4a\xcb\x1c\x3f\xc1\xdc\x64\xc1\x80\x96\x6c\xdd\xf0\x82\xbd\x5a\x6b\xf8\x28\x8a\x86\xd5\x0a\xaf\x6e\x87\x2a\x39\x32\xc5\x4c\xbb\x50\x6d\x5d\xe5\x81\x39\x0b\xb2\xb3\x5f\x99\xd7\xc4\x0b\x51\x2a\xd2\xd9\x24\x7f\xc7\xdc\x66\x77\xf8\x6b\xb2\xd0\x87\x50\xdc\x25\xaa\x54\x36\x17\x59\x23\x19\xd0\x78\xe4\x75\x86\x51\x3f\xad\xdc\x64\x02\x77\x9b\x64\x3a\xd1\x5d\x9f\xfd\x43\xf7\x7d\xc8\xc6\xa3\xcf\x86\xf2\x7e\xbe\x6f\xfe\x06\xb8\xfe\x12\x90\x7e\xf6\x59\x63\x29\x72\x85\xf2\x80\x62\x5d\x2d\xe3\x33\x55\x45\x7a\x13\x16\x55\xaa\x49\xaf\xea\x01\xd3\xac\x92\x58\x6c\x09\xe0\x84\x10\xd1\xd2\x44\x95\x7d\xa6\xa4\xd7\x53\x21\x08\xe3\x92\x92\xcd\xc5\x42\x16\x64\x8a\xe3\x0b\xcd\xe6\x1c\x61\xdc\x77\xb0\xf2\xc2\xe2\x8d\x1a\x74\xbd\x72\xa7\x31\xa3\x1c\xf8\xae\x97\xf7\xc9\x07\x76\xc4\x12\xdb\xcf\xe7\x06\x78\x86\x43\x76\xcc\x55\x12\xb1\xba\x52\xc7\x86\xb7\xf5\x60\xc8\xe3\x58\xff\xd2\xed\xe4\x32\xdf\x42\x75\x5d\xa7\xff\x00\x10\xbd\xd9\x58\x86\xe4\x2b\xf7\xd1\xa4\xab\x4b\x20\x9d\xbe\x28\xf0\xe8\xf0\x24\xa5\x0c\x68\x7a\x2a\xc0\xff\xc3\x49\x54\xa5\xcc\xd9\x52\x14\x62\xe0\x7a\x20\xd1\x1f\x5b\x9f\xfe\xf7\xae\x1b\x0e\x67\xd8\xf7\x50\x71\x0b\x1f\x9c\xc3\xf1\xa7\x24\x1e\x55\x4a\xdf\xb3\x71\x12\xd1\x2e\x2d\xb9\x32\x22\xeb\x7c\x0d\xac\x83\x95\x3e\xf1\x50\x36\x27\xa1\xab\x77\x7b\x0e\xdc\xbd\x00\xd0\x17\x1c\xd2\xec\x35\xf4\x67\xf7\x82\x1a\x6a\x6f\xfd\x26\x80\x6b\x44\x51\x22\x5d\xd0\xbd\x19\x2e\x18\x1c\x68\x8d\x72\xba\x4e\xea\x4d\xa5\x36\xb8\xea\x1e\x43\xb8\x42\x49\x00\xd7\x66\xf3\x1a\x44\x02\xdc\x23\xf8\xbf\xe3\x49\xc9\xc6\xa3\xd1\x4a\xb9\x9c\x8e\x7a\xeb\x79\x51\xf0\x35\x23\x23\x0b\x4b\x4d\xf9\xb5\x53\xa2\x8a\x3b\x80\xa8\xb7\x0f\x2d\xe6\x03\x7d\xdd\x77\x6d\xd7\x1f\x44\x49\x83\x06\x70\xe3\x38\x11\x3a\x13\x22\x56\x8c\x67\x68\xdf\x39\xb1\x73\xf6\x52\xb7\xd7\xf0\x9a\xb4\x09\x36\x79\x60\x21\x20\xd9\x85\x06\xcb\x50\xa3\x39\x39\x7f\x67\x7d\x52\x2a\x7a\xd9\x39\x9d\x7c\x0a\xdd\xa1\xf6\x3f\x59\x09\x48\x74\xd4\xc4\xbd\x42\xb3\xb5\x0a\x96\xdf\x9d\xd0\x8a\x1b\x58\xe8\x98\xd9\x06\xdb\xa3\x6f\x80\xd7\x6d\xf1\x3e\xdd\xe5\xd8\xce\x43\xa0\xe6\xd0\x67\x75\x4c\x57\xa4\xef\x37\x37\xa2\xbe\x1f\x41\xec\xa7\x96\x16\x71\xcd\x8e\x78\xdf\x80\xe9\x73\x7f\xfa\x4f\x93\x76\xa2\x47\x6e\xd2\x14\x3d\xd5\xdc\x0e\x55\xde\x05\x75\x09\xbd\x10\xe8\x81\x37\xb5\xa3\xaf\x74\xde\x28\xbc\x67\x93\x95\xa0\xef\xb6\x7e\x9c\x28\x3e\x4f\xc5\xbd\x6d\xbc\x3a\xb6\xdd\x95\x28\xef\x6d\x43\xdf\xeb\xf5\x29\x15\xc8\xbd\x6d\x74\x1d\xdb\xae\xa4\x02\x67\x2e\x6c\x8b\x5f\xf1\xfc\xa3\xb5\x70\x80\x52\x7b\x37\xea\x62\xf6\xf1\x23\xfc\xfd\xf1\xe3\xe1\x86\xf1\x5c\x75\x7c\x8d\x6e\xaf\x65\xd8\x10\xa1\xc8\x4c\xb7\x94\x45\x90\xb8\x48\x17\x04\x1c\x20\x2c\x52\x2e\x36\xa8\xa6\x5d\x7f\x7d\xa3\xce\xa5\x17\xae\xa5\x58\xb3\x5b\xe1\xe9\xd7\x37\xa3\xa9\x37\x2b\x13\x42\x32\x50\x7b\x00\xae\x43\x6c\xf9\x7b\x39\xca\x4b\x77\x09\xe0\xa1\xcd\x13\x14\x50\x35\x6f\xe5\x0d\x61\x1e\xf8\xd6\x18\xe4\x1e\x18\x80\x7b\xa7\xe7\xd0\x30\xd0\x93\xbd\xc6\xa0\xe4\x42\x95\xa1\x0a\x09\x64\x09\x51\xcb\x19\x6d\xf6\xd8\x4f\x2c\xd5\x39\xa9\x20\x60\x7a\x49\xc7\x19\x23\x93\x77\xd8\x33\x66\x9a\x5b\xeb\x97\x12\xc7\xdf\xa4\x94\x24\x8d\xe4\x86\x59\x59\x3e\xdf\x4c\xe2\xbd\xa9\xf8\x81\x0e\x74\x50\x03\x30\x14\xd1\x43\xff\x59\x37\x58\x5e\x80\x34\xce\x19\x1d\xa4\xd8\xf2\x4a\x9b\xc0\x17\x9e\xca\xff\xb8\x20\xf4\xb5\x7c\x9d\x13\x7f\xf5\x6e\xc4\xc1\xa2\x4a\xd3\x66\xe2\x97\xbf\x88\xb2\x05\x7b\x01\x22\x26\x05\x9e\xbe\x73\xf4\xec\xff\x69\xd8\xdc\x76\x9f\x58\x98\xd6\xaf\x93\x58\xa8\xa4\xf0\xf6\xd2\x85\x76\x6e\x9b\xb4\x09\xf6\x0d\x77\x1b\xb5\x02\xc9\xc1\x86\xd8\x26\xa1\xe2\x96\x2b\x97\x1e\x80\xe1\x0b\xe9\x7d\xa8\xe2\x08\x71\x03\x4d\x02\xe5\xfc\x06\x6c\x6e\xc2\x3c\x23\x86\xa5\x85\x80\xa1\xe4\xd5\xaa\x99\xff\xd7\x90\x95\xf0\x16\xa9\x89\xf7\xf5\x85\xc2\xa1\x6c\x98\x83\xb9\xc0\xfa\x4c\xda\x07\x07\x14\x99\x0d\x5e\xf5\x59\x5e\x19\x26\x59\xb8\x2c\x04\x94\x37\x98\x24\x75\x30\x30\x97\x59\x29\xee\xca\x40\x1c\x44\x3d\x4d\x21\x57\xbe\x4c\xa8\x58\x9c\xc0\x54\xb5\xd0\xeb\x24\xc1\x27\x5e\xc6\x8d\x24\x2b\x45\x46\xea\xc4\xb9\xb0\x29\xc3\xed\xe3\x2d\xce\xb1\xa3\xac\x7c\x4d\xf0\x45\xee\x0a\x71\xc8\xa5\x45\x56\x96\xd1\x0c\x1e\x81\x92\x68\x09\x82\xde\x5c\x18\x99\x3d\x86\x1d\x28\x64\x75\xb5\x34\xba\x42\xb3\x2a\x7a\xe9\x63\xec\x4c\x16\x96\x45\xf5\x94\x88\xaf\xd6\xb5\x6b\xf4\x01\x89\xba\x26\xf2\xaa\x87\x64\x5e\xe2\x3b\xc3\xe9\x50\xea\xe0\x8e\x6e\xd6\x71\x7b\x53\x22\x26\x19\xf9\xc8\xe4\x96\x46\xa3\x12\xb3\x5d\x56\x30\x27\x31\xde\xcf\xde\x5e\x6b\x7b\x05\xd4\xa7\x45\xa2\xdf\xf4\x54\x18\xdd\xc1\x01\xaf\x4d\x56\x6f\x82\x7b\xd3\x1a\xb4\x35\xb4\x18\xe2\x5e\x19\xc9\xe8\x40\x23\xa0\x26\x38\x43\x3f\x27\x30\xd9\x20\xca\xcc\x87\x6a\x1b\x12\x93\xce\x18\xdb\x6a\x11\x41\xc4\x0c\xf3\xce\x13\x6c\x10\xc3\x16\xbe\xdd\x0e\xa6\x0d\x50\x7e\xd0\x7a\x93\x92\xa3\x86\x14\xf7\x9c\xd1\x00\x1d\xda\xd2\x0d\xeb\x6d\x37\xab\xae\x3b\x0c\x6b\x94\x0f\xbf\xe1\x0a\xdf\x5f\xeb\x7b\xb7\x0b\xdf\x35\x52\x7d\xcb\xa2\x3b\x5d\x76\x68\x6b\xbf\xbf\xfe\xd0\x4c\x41\x4c\xa4\x06\x7c\xda\xe8\xbc\xa0\x46\xdd\xc0\xb1\xca\x5b\x44\x03\xa3\xc7\x37\xdb\x5f\x0b\x64\x65\xa4\x36\x47\xe0\x38\xcb\xe4\x96\xcc\xf1\x95\xad\x76\x62\x51\xab\xfd\xb7\x2a\x29\x84\x62\x4a\xae\x04\xbb\x4e\xb2\x58\x77\x02\x9f\xb7\x6e\x93\x98\x74\x66\xa4\x09\x4f\xd0\xa4\x20\x4f\x39\xa6\x26\x88\xfd\xe7\x05\x78\xea\x5d\x90\x66\x18\xcc\xb6\x99\x2a\xf5\x55\x4e\xdb\xd4\x4a\xcd\x40\xf8\xc3\x6a\xb4\xf9\xba\x2b\x0e\x0a\xa0\x44\x83\x46\x33\x8a\x69\x4a\xfa\x21\x93\x5f\x0d\xa0\x01\x2b\xe2\xd9\xda\x7b\xc0\xf4\x94\x1a\xf8\xe6\x0c\xc7\xcb\x8d\x6b\x13\x9c\x20\x9a\xc5\x89\x8a\x78\x01\xcf\x67\x59\x4c\x6a\x4a\x99\x39\x34\x24\xaa\xaf\x71\xc0\x9c\xd3\x42\xac\x08\xfd\x03\xab\x9c\x69\x86\x1a\x2a\x26\xe8\xad\x4e\x56\x25\xfc\x6d\x36\xa4\x65\xf1\xa8\x0d\x99\x0b\x96\xc4\x62\x95\xcb\x52\x64\x78\x57\x7b\x24\xad\xaf\x0f\xc1\x5a\x56\x1d\x7c\xe7\xd3\xc3\x9e\xbc\x79\xc5\x32\x19\x53\x3a\x23\x16\xcb\xa8\x5a\x41\xd0\xfe\x95\x96\xda\x55\x55\x00\xc8\x16\x49\x81\x36\x35\xc8\x6c\xa3\x84\x2d\xd6\x1d\x48\x9c\x56\xda\xc7\xa3\x12\xf4\x3c\x8c\xc8\x19\x5c\x75\x7d\x63\x21\x57\x2e\xc5\x8a\x15\x1c\xa4\xf0\x72\xc9\x33\x44\x96\x0a\xfd\x16\x56\x61\x02\x23\xdd\x67\x24\xab\xac\xa4\xbd\x4e\x0a\xdc\x53\xcf\x0e\x8e\xc4\x87\xbc\x90\x73\x3e\xc7\x6c\xd8\xa9\x58\xe8\xf5\x2f\x35\xce\x81\x4d\x96\xde\x3e\xe2\x3f\xfc\xc4\x4f\x1a\xb8\x2e\x06\x9a\x23\x14\x7c\xae\xc5\x7c\xb7\x2b\xb1\xb3\x2e\xf1\xc9\xda\x1f\x21\x89\x8f\x22\x24\x2d\xf7\xca\xa3\x0f\x7a\x0c\xcf\xae\x5b\x88\x1e\x70\xe8\xff\x85\xa7\xdc\x1f\xf9\x71\x67\x1c\x38\x02\xf2\xbd\xa8\xc8\xd0\x04\x33\x55\x71\x36\xaf\xb2\x68\xa9\xbb\x9d\xcb\x24\x15\x45\x9e\x72\x63\x7a\x32\x2c\x05\x2f\x62\x79\x9b\x91\x2d\x5e\x86\xa7\x29\x51\x96\x71\x30\x5b\xae\xfe\x84\x3d\x6f\x37\x6f\xfa\x6c\x9e\xfd\x28\xd1\x8d\xfe\x35\xb0\xc3\x11\xac\xca\x23\xb9\x82\x54\xd1\x74\x9d\x59\x6e\xfa\x4f\xc3\xa6\x07\xf5\xe6\xbf\x09\xb1\xa4\x2a\x71\x7f\x35\xfc\xb7\xf4\x06\xfc\xff\xc8\xf5\x7f\x32\x72\x49\x55\x3e\x1a\xbb\x70\x78\x56\x88\xbc\x10\x4a\x5f\xa6\x90\x30\xd0\xb7\x07\x4c\x42\x11\x65\xd0\xc8\x4b\x68\xae\x4f\xd0\xf1\x17\xa5\xb5\xfc\xbb\x4f\x2b\x63\x85\x07\x80\x85\x7f\xc5\x88\x1b\x51\x58\xf3\x6c\xfb\x1a\x08\xf7\xf5\x7c\xcd\x96\x3c\x6b\x88\xc9\xad\x03\x91\x16\x76\x06\x86\x9f\x97\x21\x5b\x82\xd6\xa0\x8e\xc5\x6d\xf0\xb1\x83\x07\xa5\x70\xb4\xf6\x76\xb2\x78\xe2\x3d\x3f\xf4\xe1\x9e\x44\x7b\x56\x92\xe0\xfc\xdd\xa7\x49\x18\xad\x41\xd3\xfe\xaa\x1d\xd7\xfa\xb4\x55\xbd\xcf\x81\x8e\x23\xf0\xf3\x7c\xe2\x2c\xf5\xc8\x2c\x3e\xb4\x35\x84\xdb\x96\x59\x79\x8f\x5e\x64\x38\xfb\xc1\x58\x46\x10\xc7\x02\xc6\x82\x6e\xd6\x35\x9c\x6c\x0a\xdf\x8d\x73\xd3\x44\xd2\xba\x82\xc0\xed\xce\x46\xed\x0d\xf0\xde\x80\xa6\x8c\x48\xd9\x3d\x7b\x18\xbe\x4a\x83\x43\xe5\x57\xc3\x27\xbe\x9e\x1b\x51\xe1\xc8\xc3\x0b\x8c\xc2\xea\x0f\xb0\x61\x5b\x5b\x76\xb4\x65\x2b\xfd\x11\x2d\xb2\x1c\x85\x2a\xad\x60\x34\xca\x70\xd9\x32\xdc\x6f\x19\xca\xe8\xae\x82\xa5\x79\x2a\xfa\x67\xac\xf3\xde\x57\xad\xe9\x82\x0f\x1d\x13\x81\xb6\xee\x26\x0c\x66\x3d\x01\xd6\x0c\xfc\x35\xf9\x06\x76\xfe\xdf\x81\x8e\xe3\x14\x4c\x91\x45\x78\x9e\x7c\x45\x43\x64\x83\xf5\x36\xd5\x6b\x35\x5c\xec\xfb\x64\x85\xb7\xd9\x27\x90\x5d\x64\x0b\xa7\xaa\x97\x92\x94\x8f\x25\x1b\x8f\x26\xe9\x9b\x35\xa7\xfa\x77\xdf\x97\x23\x34\x57\xc5\xde\xc8\xc2\xcc\xfa\x1b\xeb\x3d\x40\x9d\x96\x66\xfe\xf3\x3c\x4d\x9c\x7d\x56\xce\x21\x78\xc0\xfd\x4a\xfc\x41\xf8\xe8\x63\x77\x68\xa0\x3b\x5b\xd3\xa8\x88\x0f\x7d\x2f\x89\x78\xcb\xbf\xf7\xe6\x92\xa0\x36\x64\x56\x3a\x88\xee\xc8\x3b\xcd\xfa\x3c\xdf\xf9\xd9\xfb\xc4\x9d\xdd\xad\x16\x85\x1d\x82\x15\x8a\x8c\xe9\xaa\x49\xe4\xe7\x19\xbd\xb8\x47\x4e\x63\xe4\x05\x04\xa3\xe0\x09\x50\x28\x2f\x38\x32\x6a\x6d\xc5\x9d\x9f\x26\x59\xdc\x0d\x54\x69\x9d\x62\xea\xa5\xfe\xec\xc0\x15\x29\x4c\x84\x1c\x0c\x6b\xda\x90\x19\xdf\xcf\x59\xa7\xd7\xbb\x27\x03\x72\x6b\xdb\x5e\xcd\x6b\x3b\x58\x9f\x79\xdf\xd4\xcb\xfb\x68\x36\xe7\x6c\x7a\xfe\xf2\xf4\xa4\xcf\x16\x3c\x55\xa2\x19\xbd\xf8\x47\x62\x92\xa2\xa5\x94\x4a\xd4\x8c\xfb\xd1\x05\xa4\xca\x50\x5c\xf3\x65\x74\x95\x26\x57\xcb\x32\x5d\xb3\x95\x84\xb4\xc0\xd9\x8d\xc8\x12\x91\x95\xcd\x8b\x15\x6f\x6c\x25\x36\xda\x00\x6d\x30\xc6\xee\xf6\x1e\x38\x54\x9f\xfd\x87\x47\x4b\xc2\xad\xf3\x4a\x8b\x16\xd7\xdc\x39\xe6\x54\x6f\x60\x95\xa6\xf6\x52\x0a\xec\xe1\xc1\xd9\xc4\x9c\x51\x65\xae\x3a\x8f\xd7\xf4\x6e\x48\x0d\xc4\xfb\x95\x95\xb2\x00\x23\x86\x9b\x24\xae\x78\xea\x19\x08\x6d\x3e\xfc\x35\x03\xf5\xd6\x07\xda\xe0\x0a\xf0\x40\x50\x77\x4b\xb0\x5a\xb4\xe6\xcd\xe2\xe5\xfd\xf7\xdf\x75\xfd\xce\x2f\x96\xb2\x28\xa3\xca\xd9\x97\x86\xbd\x77\x14\xd9\xdf\xf9\x5d\xa3\xaf\x83\xd7\xa5\x2e\x69\x5e\x5b\xd6\x3e\x9e\xb6\xe0\x71\xe6\xff\xa1\x03\x02\xf6\xb6\x94\xb7\x56\x5e\x00\x03\x70\x30\x14\xb3\x8e\x07\x1b\x3c\x0e\xe8\x25\x34\x9c\x7b\x74\xc7\x8e\x34\x62\x7c\xfa\x64\x1c\x7b\xc3\x8b\x9d\xde\x43\x3d\x17\x08\xd0\x96\x88\x0c\xf4\x19\x60\x24\xb0\xe0\x49\x5a\x15\x8d\x9e\x4d\xb1\xcb\x93\xf7\xa8\x9e\x11\x23\x6b\x7d\xe5\xc1\x73\x69\x1d\xae\x90\xb9\xd9\x07\xb0\x2a\x79\x01\xc6\xf2\xb2\x60\x59\xa5\x6f\xb3\x05\x59\xd3\x64\x9d\x12\xc3\x75\x50\x15\xb6\x86\xec\xa1\x01\xd3\xa3\xbf\x9c\x70\xb0\x27\xd0\x8d\x37\x0c\x98\x64\x6c\x95\xa4\x69\xa2\x44\x24\xb3\x58\x59\x25\x92\x9b\x45\x29\xe5\xb5\x6f\x9a\xe1\x4f\x07\x3b\x73\x73\xb2\xe1\x89\x5a\x26\x14\x57\x05\x8a\x9e\x9b\xe6\xe3\xd9\x75\x87\x57\x6f\x00\x80\x60\x6e\x34\x2c\x41\x01\xbb\xd2\x23\x33\x76\x9e\x39\xaf\xcd\x58\x94\xfa\x02\x07\x61\xd2\x6c\xa7\x93\x54\x81\x57\x48\x05\x24\xd8\xb6\xe1\x51\x4a\x70\x56\x63\xf0\x16\xe1\x7c\x3c\x02\x8c\xc3\xd0\x3e\xc4\xaf\xb4\xad\xe9\x75\xb5\x9a\xa3\x68\xb9\xe2\x77\xc9\xaa\x5a\x39\x14\x63\xe1\x49\x72\x16\x59\xb7\xe6\x15\x81\x65\xd8\x3a\xa1\xb3\x52\x08\x1e\x2d\xf1\x88\x2c\xd8\x48\x03\xc4\xf9\x52\x38\x45\xa8\xb9\x1a\x94\x20\x37\x3f\x52\xa8\x2a\x3d\x4c\x9f\x89\x1b\x91\xd1\x96\x2d\x50\x8c\xd7\x33\xaa\x2d\x6c\xc5\xef\xce\x1c\xce\x8f\x6a\xfb\x54\x54\x02\x77\xc1\xf3\x1c\x62\xf8\x6c\x24\x78\x91\xae\xd9\x5c\x44\xbc\x42\xf7\x4c\x9e\xb1\x2a\x13\x77\x39\x4e\x45\xe3\x57\xd2\xc2\x9d\xe7\x3c\x4b\x22\x4d\x36\xf5\xed\x67\xf8\x52\x63\xc0\x60\xcc\x6f\x03\xea\xeb\x28\x21\x18\xd6\xdb\x14\x96\xde\x9d\x09\x84\x1f\x5f\x1e\x88\xfc\x3b\x97\x29\x04\x4e\xb7\x87\x72\x92\x6f\x9e\xe4\x54\xd0\xc8\x47\xea\x9e\xe0\x0d\x07\xa1\x79\x2f\xe1\xf7\x2e\xc9\xe9\xcb\x97\x1f\x2f\x4f\x2f\x2e\x2f\xe8\xe5\xfa\x02\x44\xc8\x6e\xe7\x6b\x9e\xa6\xa0\x2c\x51\xdf\x74\x7a\x75\x7b\x09\x5f\xe6\xf6\xc9\xe7\x46\xb9\xbf\x39\x2e\xce\xb3\xed\x2d\xd6\xf3\x6b\x70\x60\x6b\x58\x0b\x3c\x76\x84\x86\x99\x12\x86\xc7\xf2\x44\x3a\x99\x97\x1f\x73\x5e\x96\xa2\xc8\x5c\xd4\x05\x2a\x20\xdf\x1c\xf3\xd7\xa7\x4f\x38\x2f\x0b\x34\x93\x60\x02\xc7\x9a\x81\xbe\x19\xf0\xd0\x59\x04\xd0\xeb\xab\x27\xef\x78\xcf\xb2\x64\xf4\x6d\x5f\x74\x7e\x45\x43\xcf\x5f\xd9\xd7\xb6\xad\x75\x90\xfe\xd5\x39\x48\x7b\xd6\x06\xa6\xda\xfb\x5f\x29\x88\xd0\x70\xc8\x5e\x4b\x83\x24\xb7\xa2\x53\x68\x6e\x42\xa3\xe5\xd3\x2f\x8e\x8e\x9e\xfa\xea\x73\x5d\xf2\x94\x29\xe9\x57\x5d\x69\xae\x19\xf4\x0c\xd8\x95\xde\x5a\x87\x22\x88\x1c\x96\xd2\xf9\x7d\xd9\x57\xaf\xac\x54\x46\xad\xe2\x72\x7f\x20\x97\x6b\xc0\xf8\xc5\xd1\x51\x0d\x8e\x21\x37\x6c\xea\x79\xcc\xf0\x0f\xe2\xea\xf4\x2e\xf7\xb9\x61\x30\x4f\xa7\x9a\x80\x28\x80\x1d\x56\x9a\xed\xf5\x3c\x01\x42\x4f\x2c\xc9\xbc\x18\x45\xc8\x1e\x1b\x23\x10\x27\x02\x7f\x71\xc4\x02\x54\xd8\xd0\xdc\x67\x96\xe9\x9d\xd6\x60\xb3\xc1\x51\xc0\x32\x87\x15\xcf\x9e\xd5\x73\x79\x7b\x1f\x6b\xaf\xee\x29\x3e\xd7\x64\xc0\xd5\x01\x43\x8c\xe7\xbc\x94\xec\x0a\x21\x6e\xfc\x3e\xc8\x23\xd1\x35\x33\x62\xb8\xe2\x64\xc0\x4c\xed\xf5\x0e\x49\xf0\x99\x06\xdf\x6a\x79\xbb\xc9\x82\xe3\x13\x02\xfa\xb3\x3d\x00\x6f\xe9\x67\x15\x10\xa4\xc0\x59\x17\xc8\xfc\x3d\x94\xa5\xef\xd1\x2a\x5e\x84\x24\xca\x34\x37\xce\x46\x7d\xf4\x2f\xb3\x14\x05\x39\x9f\x3b\x1e\x81\x70\xa0\x91\x53\xc0\x15\xd1\xde\x07\x4e\xde\xf4\x01\x03\x1a\x84\x86\x2e\xf1\xbb\xf3\x51\xb3\x30\x30\xb6\x28\x49\x46\xa6\x27\x99\xbd\x0f\x79\x8c\x37\x01\x37\x4b\x80\x29\x81\xd6\x0f\xb9\x1a\x61\xbd\xd4\x9d\xe9\x26\x5c\x39\x9e\x5c\xf0\x78\x8a\xf8\xd6\x12\x1e\x4b\xb1\x1a\xc4\xa9\x41\x6d\x36\x84\x57\x78\xd0\x42\xaf\x25\xf6\x82\xdf\xf7\xb3\x23\x1f\xbb\xd1\x59\xe0\xa1\x3e\xdf\x27\x1f\x1e\x10\xdd\xe9\x9f\x59\x55\x10\xd0\xe1\x0b\x6f\xf8\xc0\x46\x34\x70\xaa\x7a\x2d\xfd\xcd\x15\x31\x4d\x1a\x8c\x4d\x8b\xa4\x14\x45\xc2\x51\xf4\x6e\x8c\xf1\xc0\xd9\xfb\x4e\xca\x6b\x11\x93\x50\x40\x19\x9f\x64\x26\x8a\x42\x16\xc6\x0d\xd9\xf3\xb9\x4d\x3c\xb6\x0d\xb5\x0d\x56\xf2\x47\xc7\x0c\x20\xab\xa0\xe3\x71\x96\x13\x57\x92\x55\x59\xc4\xab\xab\xe5\x3d\x8a\x99\x10\x31\x64\xf6\x23\xb5\x38\x35\xfd\x7f\x6c\xdc\x68\xe4\xef\xd3\x87\x48\x06\x7d\x70\x87\xd2\x00\x24\xb8\x1a\x6f\x20\x13\x5c\xb4\x63\x7a\x7c\x8c\x0e\xa4\xd3\x63\x47\x47\x6c\xc4\x3e\x7d\xa2\x8d\x6d\xf4\xa6\x4a\x5e\x56\xea\x90\xf8\x96\x4e\x8f\x22\x95\x7a\x6a\x23\xe2\x5f\x79\x68\x20\xae\x09\x1c\x15\x68\xe6\xae\xdb\x23\x9d\x5e\x21\x57\x8c\xbb\xa0\xab\x8c\xbd\xd3\x97\x93\xe9\xcc\x3c\x15\x5f\x49\xf2\xd4\x8a\x05\x4f\x51\x2c\x4f\xca\xba\x6a\x3f\x54\x62\xe0\x00\xee\x72\xe3\x56\x6f\x93\x94\x30\x0c\x70\x60\x8a\x2f\xb4\x6c\xa8\xfe\x56\x89\x34\x22\x8b\x2d\x44\x02\xe7\x55\xc5\x9c\x05\x55\x81\x37\x83\x43\xe2\x26\xcf\xdd\xf0\x9c\xf2\x36\x05\xa2\xfc\xd9\xfd\x00\xf5\x67\xa3\xfd\xc0\x70\xa6\xa7\x7a\x1a\xaf\xb0\xe1\xc7\x5e\xa8\x97\x23\x91\x6e\xc5\xd7\x60\xb1\x0e\x31\x60\xf4\xe2\x90\xb7\x5d\xf2\x2c\x4e\x35\xe7\x6b\x5f\x99\x6a\x90\x32\x0a\x54\x37\x4f\x5a\x93\xa6\x2a\xc0\xeb\x1f\xb1\x0e\x9e\x82\x8e\x0b\x89\xd9\x9c\x2a\x22\x83\xcd\x29\x16\x7e\x7c\x7b\xfa\xfa\xe4\xfc\xf5\x5f\x10\x1e\xa6\x53\xf0\x14\xee\x04\x1e\x65\xee\xb0\x5b\xc8\xb8\x89\x6b\x18\x41\xdb\x67\xac\xe3\xb8\x6d\x38\xf2\x6d\xa4\xa7\x65\x1a\x75\x4b\xca\x96\x81\xcd\xee\x3c\x63\x9d\x3e\x8c\x08\x21\x42\x9e\xb1\xce\xa1\xfe\x03\xce\x97\x9b\x71\xd8\x7b\x88\x73\x2d\x15\xea\x4a\x34\x47\x99\x48\xb0\x68\x3a\xfc\x6b\x82\x64\xe5\x2d\x5f\xa6\x0c\xc3\xec\xd6\xed\x09\xc9\xd1\x14\xa2\x19\x6f\x15\x55\xa6\x58\x52\x82\x93\x08\x0f\xa2\xfd\xf4\x03\x62\x96\x8a\xd2\xbc\xa9\x9c\xbc\x79\xa5\x25\xd6\x79\x92\x26\x7f\x47\xc5\x88\x5a\xca\xa2\xdc\x2a\x45\xb1\x02\xa1\x5c\x56\x65\xe0\x0c\x61\xbc\x9c\x62\x11\xa5\xbc\xf0\xde\x94\x3c\x55\x8c\x73\x9b\xf0\x19\x90\xb9\x94\xa9\xe0\x19\xfa\xf2\xab\xeb\x24\x27\x97\x0e\x30\x05\x29\x2a\x41\x9e\x41\x54\xa8\x79\x80\xeb\x24\xcf\xc9\x52\xa6\xfe\x70\x05\xf4\xd9\x83\x4d\xe0\x02\x4a\xba\x36\xd2\xbf\x03\xb3\x60\xde\x77\x81\xf4\x68\x52\x92\x84\x26\x63\xf7\xc7\x3e\x68\xa3\xd9\xb5\x18\x08\x4d\x8a\x5d\x5b\xa6\xe7\x74\xd9\xfa\xc5\x3d\x81\x24\x86\x17\x81\xa3\x0e\x9c\x08\xd8\xad\x80\x13\xec\x95\x28\x30\xea\x8b\xf5\x88\x19\x0c\x06\x7d\x36\xea\x81\x62\x62\xc5\xd7\x73\x4b\x47\x73\xb8\xec\x48\x85\xa2\x37\x1a\x9e\x4f\x6f\xf9\xda\xf3\xb8\x2c\x8b\xe4\x0a\xf4\x9f\x20\x8f\x97\x64\xc8\x23\x4c\x2b\x91\xc5\xa6\x37\x1b\xe2\xa8\x04\xef\x1b\x25\xd9\xad\x80\x64\x80\xe8\xd8\xac\x28\x1e\x37\x3e\xb2\x2b\x51\x96\xa9\x60\xf0\x46\x4e\x08\x23\xab\xc2\x74\x85\x2b\x8c\x34\x36\x54\x39\xd8\x50\x86\x3e\x3e\x18\x20\xae\x01\xe1\x30\x1c\x62\x1f\x90\x86\x38\xf1\x1a\x45\xab\xeb\x78\xba\x5a\xf2\x3d\xe1\xa5\xe8\xf6\x7a\x6c\xab\xa6\x93\xaa\xd1\x25\xe3\x8a\xdf\x6d\x27\x1b\x9d\xcf\x8e\x84\xe7\x3e\x97\x05\xc4\x0a\x2f\xc8\xfe\xbd\x94\xca\x2a\x5e\xbc\x76\x68\x86\xa4\xdb\xdd\xd3\x70\xa5\x2e\xe5\x05\xaa\xc6\x88\xea\x98\x25\xf6\x36\xcc\xb5\xe3\x91\x30\x55\xad\x56\xbc\x48\xfe\x2e\x48\x26\xad\xb1\x3f\x9e\xd2\xa8\xae\xdb\x6d\x6e\x05\x6e\xc2\x3d\x49\x2f\x37\xbc\xa4\x19\x63\x38\x2f\xb8\x49\x23\x6c\xc9\xef\x7e\x13\x43\x7b\x5e\x4d\x31\x7f\xad\x54\xe9\x1e\x8c\x1b\x41\xca\x1f\x3a\xd9\x38\x52\x5b\x70\x93\xf6\x67\x33\xff\x59\xcb\x59\x3c\x74\x37\xbd\x53\xb5\x5d\x81\x56\x31\xe5\x25\xde\xcc\x98\xed\x6b\xe3\xd5\xc7\xbc\xa7\xa5\x6f\x99\xfd\xf5\x90\x89\x3b\xf3\x58\x14\xe8\xb5\x02\x5e\xe6\x71\x38\x6f\x30\xbe\x08\x6e\x7f\x73\x6b\x36\x27\xd5\x44\x55\x6a\xb9\x01\x59\x7d\xe7\x78\x4d\x1d\xc3\x71\x8e\x8e\x58\xf0\x30\x15\x00\xd1\x9e\x24\x50\x1e\xd1\xe6\x78\xab\xa6\x4b\xd9\xa8\x88\x10\xc1\x03\xed\xc0\xa6\xc1\xde\x4e\x2f\x2e\x6a\x83\xe5\x9e\xd3\x93\x37\x54\x33\xbe\x41\x6d\x6b\xaf\x33\x4d\x04\x09\x55\x0d\x23\xed\x01\x34\x60\x55\x80\xff\xd8\xbc\xd9\xc1\x74\x03\xd2\xf7\xd0\x36\x17\x55\xf6\x5a\xdc\x95\xc4\x25\xff\x53\x4e\xae\x3b\x6f\xc4\xb0\x3f\xf1\x34\xd4\x31\xb9\x44\x3a\xb7\x4a\xfa\x42\x77\xac\xff\x04\x5f\x29\x8c\x08\x42\xfa\x4f\x7d\xa5\x40\xdc\xb0\x79\x75\x75\xb5\x76\xa6\x99\xe6\x41\xc6\xd8\x73\xd2\x08\x20\xb4\x3d\xb1\xc1\x32\x98\xcc\x98\xb8\xd3\x72\x02\x72\x0d\x19\xe3\x57\x3c\xc9\x48\xe6\xc8\x42\x37\x5d\x3f\xed\x03\xbe\x55\xc2\x95\xcb\x53\x05\x2f\x79\x20\x5f\x70\x25\xdc\x43\x44\xca\x15\x84\x30\xf1\x79\x6a\xa8\x01\x7a\x66\x7d\x07\xea\x7b\x16\xf3\x52\xe8\x0e\x11\x46\x74\xc9\x92\xb5\x9a\xbd\x68\x21\xae\x93\x0d\xa2\x83\x6c\x0d\x46\x4b\xb0\xf6\xb1\x58\xf9\x09\x44\xaa\xd3\xec\x7d\xe1\xc0\x6a\x14\xf8\x20\x63\x69\x31\x40\xa1\x1c\x50\xe7\xa6\x9d\xc3\x35\xdc\xf8\xba\x2f\xf0\x50\x05\xbf\xf7\x72\x09\xae\x0e\xe4\x16\x6d\x04\xaf\x06\xc7\x79\x9e\x81\xd5\x33\x5a\x14\x15\x62\xcb\xec\xa5\x93\x97\xa7\x2f\xdf\x4d\xff\xed\x82\xad\xe4\x8d\x50\xe0\xf3\x6a\x5e\x3f\xcd\x2c\xf3\x24\x6d\x70\x84\x7f\x06\x89\x6f\xd8\x4a\xa5\xbc\x14\x17\x78\xbe\x31\xfe\x07\xfc\x1a\x3e\x2d\xf1\xb2\x14\xab\x9c\xa2\xd1\x14\x22\x92\x45\x1c\xbc\x00\xc3\xeb\x14\x2f\x36\x3b\x1f\x6d\xbe\x46\x7e\x10\x6d\x17\x89\x77\x6f\xf4\xbd\x19\x86\x11\xa4\x1c\x15\x79\xc9\x4b\x27\xe9\xda\x08\x5a\xbf\x93\x8c\x78\xc3\x99\x17\x8e\x19\xb9\x27\xc3\x2e\xa7\xde\x60\x20\x46\x9a\x3d\xc4\x37\x1b\x7c\xf8\x83\x70\x8b\xb1\xac\xe6\xa9\xd8\xca\x41\xcd\x0e\x66\xd7\xd8\x1d\x7d\x5e\x25\xaa\x52\x81\xbf\xb1\x46\x98\xe9\xdb\x73\x93\x2d\x1a\xf4\x0b\x36\x0c\x0c\xd2\x57\xa3\x73\xf0\x48\x2c\x24\x47\x81\xaa\xdf\x1c\xb1\x51\x1b\x51\x36\x91\xe7\x75\x25\x17\x7d\xfe\xfe\x3b\x22\x4c\xca\x8c\x46\x0b\x2c\x83\x67\x7c\x32\x35\xd4\x05\x7f\xab\x44\xb5\xc1\x41\xba\xb9\xe7\x3e\x91\x6d\x8f\xb7\xe2\x51\xe9\x4f\x9f\xd8\x17\xf5\x47\x10\xe4\x08\x7b\x0d\xba\xde\xe4\x85\xbd\x0b\xb3\xf1\x50\xf6\xe5\x97\xed\x8c\xe6\x37\x47\x8d\x47\xb5\xcd\x3c\xc9\xab\xf0\x99\x90\x6c\xed\xe9\xe5\xaf\x8f\x76\xab\x7e\xb0\xca\x41\xa7\xe5\x3e\x6a\x9f\x37\xdd\x4b\xc3\x21\x7b\x2b\xc4\xb5\x11\x35\x4a\x99\x63\x67\xe0\x48\x80\xca\x1a\x13\x39\x17\xdf\x4b\x0b\xcc\x59\x40\xf2\x04\x22\xd9\x5c\x56\x25\xf6\x85\x04\xb5\xef\xbd\x77\x50\x7c\xdd\x38\x51\x65\x55\xcc\x61\x90\x24\xb3\xa7\x88\xb8\x4f\xbd\x2a\x13\x18\x4a\x77\x43\xd4\x99\x7a\x40\x5f\x7e\x1c\xb0\xa8\x32\xb0\xee\x03\xeb\xe1\xe0\x89\x26\xdc\xc5\xf7\xa3\x0f\xf6\xd9\x88\x38\x8f\x96\x47\xda\x6f\xdb\x14\x0b\x58\xff\xd0\x63\xc5\x2d\x93\x89\xda\x53\xf8\xae\x31\xa7\x1b\x3a\x76\xd0\xa3\xbf\x67\x5d\xd8\xab\xc5\xdb\x0e\x36\xf7\xdc\x44\xb9\x01\x51\x52\xb7\xf1\x1c\x50\xdb\x2c\xf7\xac\x1d\x91\x59\x91\x09\xaf\xe3\xd5\xee\xd6\xe5\x86\xbe\x31\x87\xf0\x83\x7b\x37\xf9\x61\x8a\xa9\x50\x8b\x1d\x89\x8e\x35\xf4\x6a\x95\xc9\x12\x69\x8f\x55\x09\x6a\xc0\xd0\x15\xea\x6c\x6c\x36\xa0\xb2\xd5\xaa\x1a\x1d\x2f\x0c\x80\x2b\xfe\x7d\xec\x33\xbb\x1f\xbd\x9b\xf2\xa8\xdd\xc6\x3a\x6f\x7d\xd9\xee\xfc\x0b\x42\xe1\x3f\x3a\xfe\x1c\xa0\x91\x0d\x76\xd7\xed\x30\xd6\xe9\xf9\xf1\x11\x1a\x36\x00\x2d\x6e\xca\xf8\x91\x1c\x95\xd1\x0c\x8f\xf9\xef\x59\x64\xbd\x4d\x51\x8a\x9a\xdd\xfa\x3b\x1a\x9a\xfa\x11\x01\x53\xcb\x64\x51\xfe\x51\xc9\xc7\x04\x04\xd5\x18\x61\x26\xf3\x87\x25\xa0\x16\x39\xa7\x55\xba\x0f\x81\xfa\x4f\xde\xf8\xf0\xb4\x17\x55\xb6\x11\x54\xc3\x21\xf3\x6b\x19\x5d\x16\xd6\x03\xc8\xb8\xb7\x08\x64\x75\x29\xcd\xd3\x0a\x59\xaf\xc0\x80\xc8\xe5\x82\xb9\x92\x25\x38\x1f\x40\x5c\x92\x95\xe0\x18\xca\xb9\x80\x77\xc3\xb2\x80\xeb\xdc\xdc\x7c\x65\x3d\x78\xf4\xa6\xe3\xf5\xe0\x1e\x16\x55\xf6\x27\x08\xb0\x2d\xb7\xb7\x7d\xaa\xf3\x0d\xa1\xac\x62\xc1\x0b\xfa\x14\xa8\xd0\xab\xac\xa1\x2c\x55\x10\x26\x9a\x45\x3c\x03\xd7\x35\xa5\x2a\x32\x87\x42\xb5\xa3\x2f\xe8\x78\x5a\x5b\x6b\xbb\xec\x71\xf1\x99\x2a\x05\x8f\xfb\xa0\x18\x42\xfd\x9b\x6f\xe1\x8c\xae\x87\xc6\x04\x59\x2f\xdc\x1a\xfd\xdc\xaf\xfd\xb5\x9d\x80\x12\x2f\x95\x57\xe4\x42\x82\xcf\xc6\x35\x07\x12\xc6\x15\xba\xc3\x2d\x79\x9e\x6b\x06\x8e\x78\xf3\x27\x18\x09\xd1\xfa\xb6\x92\x04\xb8\xd9\x0e\x70\xc0\xd8\xf1\xda\x3a\xf1\x90\xcd\x12\xf9\x48\x9b\xc0\x06\x7d\x62\xd2\xc9\xd2\xe5\x26\x11\xb7\xc2\xc6\x34\x6f\x09\x89\x2c\x17\x68\x6b\x35\x2f\xe4\xad\x12\x85\xf2\xdd\x85\xa8\x8c\x9c\x35\x13\x05\xc6\x53\xc5\xca\x9f\x2c\x08\x64\xc6\x4e\x05\x03\x07\xbf\x13\xe8\x3d\x8e\x8f\xba\xe8\xf7\x47\x9c\x80\x44\x31\x06\x15\x8f\x96\x53\xa0\xad\xd6\x97\x69\x8e\xb1\xbe\xac\x1b\xe9\x22\x74\x11\xec\x33\x74\xcb\x4c\x05\xa7\xf8\x9f\x66\x8a\x28\x38\x2d\x40\x05\x9b\x19\x13\x4d\x34\x8e\xb0\xfe\x3f\xd6\x7a\x2f\xc9\x36\x44\x2f\x66\xb2\x68\x5e\x84\x7e\xbc\xdc\x27\x10\xab\x8e\x1c\xb6\x60\xef\xd1\xc0\xa9\x66\x24\x87\xec\xd9\x6f\x60\x5b\x37\xc4\x1d\x0d\xce\xf9\x0f\xc4\xff\x58\xf5\x67\x83\x71\xb5\xef\x35\x10\xd4\xb6\x53\x53\x26\xb5\xdd\x5d\x0d\x25\x24\x91\xd7\xe6\x83\xa8\xa7\xfc\x7d\xd1\x6a\x56\x68\x35\xbc\x2f\x1e\xa1\xf3\x38\x93\xc5\x8a\x97\xa1\xb5\x21\x57\x9a\xd6\x45\x64\x0b\x40\xa5\x8f\x85\xa1\xaf\xf0\xf2\x81\xb9\x52\xfe\xb3\x7e\xa4\xd8\x11\xeb\xae\x14\x1b\xb2\xf1\x68\x34\xea\x0d\x4a\x79\x96\xdc\x89\xb8\x3b\x81\x59\xdb\xd7\xeb\x08\x14\x6c\x2a\x8c\xa4\xf8\x92\x4e\xb9\xc9\xe3\x67\x54\x4a\xa0\xd7\x5d\x3f\xda\x0a\xc1\xa8\x81\xef\x11\x50\x6a\x82\xc3\x83\x09\x5f\x6a\xf5\xdb\xd2\xbd\x04\x98\x84\xaa\xbc\x43\x87\x49\xa6\x83\xf7\xc9\x87\x96\xa7\x3b\x2f\x8f\x98\x9d\x62\x53\x68\xda\xc8\x63\x5c\xba\xf7\x7c\x43\x4c\x0f\xef\x45\xe2\xf6\x7b\xca\x61\x36\x78\x15\x43\xd4\x2f\x2b\xf6\x84\xd7\x11\x2a\x10\x88\x0a\x1b\x0d\xc6\x22\xb4\xab\x6b\xf1\x5d\x33\x76\xf0\x22\x6e\x1a\x23\xf4\x81\x4a\x21\x17\xe0\x27\x0d\x01\x17\x6c\x8a\x16\x2b\x29\x3e\x86\xe7\x74\x39\x75\x46\x56\xf6\x01\x07\xdd\x95\x9c\xcf\x55\x02\x14\x43\x0b\x76\x24\x7f\x99\xa7\x30\x50\xb8\x51\x76\x0a\xf6\x95\xf3\x8f\x8c\x63\x2f\x26\xb4\x67\x1d\x08\xd4\xdf\x29\x50\x68\xf2\x2e\x26\x1a\xf9\x67\x53\x04\x0a\xd0\xbb\x98\xd8\x80\x14\x36\xd2\xc6\xef\xb4\x8c\xc4\x56\x5e\x48\xb9\x60\xb7\x85\xbe\xba\xc8\x34\xde\x68\xed\x40\x95\x45\x93\x7d\xf0\xf9\x80\x4e\x02\x7a\x01\x68\x86\x41\x5f\x30\xc6\x4e\xde\x79\x9b\x85\x6e\x00\xc1\x13\xa1\x4b\x46\x70\xaf\xbb\x1f\x79\xfb\x41\xff\xa8\x79\x0e\x3c\xc3\x8c\x2a\x0e\x0d\x1e\x8c\x02\x2b\x75\xc6\x5d\x76\x24\x63\xfd\x75\xef\x92\x70\x3d\xce\x82\x17\xe5\xa5\xfb\x3b\x6c\x92\x09\x2b\x34\xd4\xc3\xb8\x87\x52\x42\xd3\x67\xe0\x21\x00\xd6\x20\x57\x77\x1e\x40\x1f\x05\xfa\xad\x69\x84\xfd\x00\xf8\xee\x5f\x66\xc3\xe9\xce\x18\x69\x6e\xf0\x22\xf8\x8d\x5d\x7a\xe6\x99\x1b\xac\xd9\x6f\x85\xb5\x88\x87\xf7\xf3\x34\xb5\x81\x44\x8d\xe6\xcf\x33\x25\xbf\x15\x70\xa6\x3d\x0b\xf2\x3f\xc3\x86\xfe\x5f\x66\x3f\x6f\x2e\x29\x52\xb7\x06\x8e\xa9\xad\xe8\x60\x9e\x60\xf0\x2f\x32\x23\x31\xfa\xc9\x69\x16\xda\xe7\xd4\x56\x05\x1a\x78\x08\x1c\x49\x72\x48\x29\xd9\x95\xc8\x44\xc1\xc1\x0a\x01\xbb\x6c\xb5\xb0\xb1\xf3\xf7\x23\x4e\x4b\x8a\x03\x42\x79\xee\x8c\x07\x22\x4d\xf1\xbe\x13\xe4\xdd\xb3\xb4\x02\x76\xc4\x3a\x64\x37\xde\x79\xf1\x70\x2b\xbc\x19\x99\x6e\x85\xbf\x3e\xa6\x11\x3e\x56\x41\x23\x32\xd0\xf2\xfd\x1f\x8d\x44\x06\xe1\xce\xb2\xf6\xb7\x57\xd6\x05\xf9\x44\x16\xc0\xa3\xf6\x80\x8a\x8b\x0c\x22\x7b\x64\x12\x4d\x4c\xe5\xc2\xc4\x23\x41\xf5\xa8\xda\x6c\x0c\xde\x62\x62\xb6\xf1\x11\x15\xf8\x34\x43\x7d\xf0\x97\x76\xfb\xef\x96\x4e\x3d\x10\x94\x92\x4c\x97\x37\x85\xc1\xea\x3c\xa2\x3f\x8f\x2b\x68\x57\xaa\x13\x63\xd0\xe9\x07\xef\x78\x7e\x03\x2c\xf7\xd3\xaf\x5c\xe8\x63\xeb\xbd\x34\xdc\x4b\x1f\x1f\x83\x58\xad\xdc\x7a\x23\x36\xec\x23\x59\x64\x58\x60\x41\x09\x49\x6a\x2a\x65\xf7\x28\xea\x1f\x49\xf6\xe5\x97\x46\x6f\x8d\xd6\x1a\xb5\x08\xf0\x01\xd7\x15\x27\x31\x85\x47\xc5\x50\xdb\xe4\x05\xc1\xb3\xd8\xfb\x04\x31\xe0\xc8\x8e\x39\x59\x89\x41\xa0\xf5\x6a\x31\xb5\x7a\xc8\x43\xd1\x59\xc2\xd5\x48\x86\xa1\x3f\x48\x09\x54\x8d\x4a\x78\xa6\x55\x14\x24\x07\x53\x19\xf1\xa8\xb4\x41\xe3\x9d\xc1\xa7\x66\x47\xe0\x05\x63\x83\x5c\x0b\x89\x6f\x56\x49\x56\x61\xf4\x09\xdf\xfe\xcf\xa5\x85\x78\xe2\xdf\x3f\x40\xc4\x20\xa0\xec\x57\x99\x2c\xbf\x62\xbc\x2a\xe5\x8a\x97\x64\xdd\x05\x0c\x14\x79\x1c\x85\xeb\x4a\x6c\x80\x3c\xcf\x81\xec\x91\xb8\x84\x90\xf0\x29\xe2\xe6\x24\x1a\x9b\xe8\x27\x04\xed\xf7\x45\x2b\x1b\x17\xb6\x99\xc9\x46\xef\xaf\x32\x71\x6e\x1f\x31\x3f\x99\x91\x49\x50\xcb\x73\x4a\x80\x83\xfe\x3d\x54\x47\xe0\x2f\x42\x04\x6e\x0f\x72\x1f\xe2\xad\x8b\xc7\xeb\x09\xb1\x8f\x40\x45\x0f\x0c\x61\xac\x61\xee\xed\x31\x46\x1b\xb6\xf8\x5e\x8f\x34\xac\x1b\x1f\xe3\x8b\x83\xdf\x8a\x74\x4a\xa0\xb7\xc3\xcc\xcd\x10\x71\x98\x7b\xfc\xb5\xc7\x55\xf8\xa7\x0a\xe8\x36\x0d\x14\x4b\xa6\x64\x90\xdc\xa3\x7c\x20\x8e\x31\xce\xc4\x58\xe6\xe9\xb3\x03\x71\x57\x12\xf7\x9a\x0c\xa9\x13\x75\x33\x8c\xbb\xc1\xad\x09\x1f\x49\x75\x98\x48\x19\x9f\x15\x6d\xc7\xca\x46\xbc\xca\x64\x69\x15\x44\x56\x30\x00\x51\x62\x5e\x91\x91\x1a\x28\xe1\x4c\x1c\x76\x63\x20\xe7\xe4\x2a\xdf\x11\x1e\x8e\x54\x68\x2b\x0b\x26\xc7\x5e\x18\xe5\x9a\xcb\x84\x8d\x31\x83\x32\x15\x67\x0b\x71\xcb\x52\xbe\x16\x05\xa8\xb6\x64\x68\x4a\xc9\xa6\x6f\xcf\x81\x70\x48\x13\x27\xd0\x97\xcc\x28\x03\x11\x66\xf0\x88\x04\xcb\x45\x81\x5d\x59\x69\x82\x67\x4c\xa8\x32\x59\x91\x76\x69\x29\x6f\x59\x2a\xb3\x2b\x14\xbf\x6c\x00\x6f\x34\xcd\xd3\xa2\x5d\x0b\x72\x18\x71\x00\x7c\x19\x56\xca\x77\xed\xf3\x19\x3f\x1b\x5c\xf3\xb1\xf7\x8a\x07\xa1\x16\x05\x86\x93\xbc\x0d\xd9\x87\x73\x04\xce\x8a\x81\xdd\x9e\xfd\xee\xd9\x92\xb9\x53\xda\x62\xe5\x47\x1f\x03\xeb\xbe\x95\xaa\x67\xdc\xc9\x4d\x9c\x1c\xef\x65\x5a\x1a\x04\xde\x9c\xf4\xa3\xfe\xee\xef\xab\x46\x6d\x7c\xf6\x56\x0b\x55\x0c\x0f\x6b\xf3\x4c\xd1\x37\x6b\xa4\x92\x5d\x69\xca\x06\x96\x2d\x9a\x85\x76\x21\x4a\x4b\x49\x91\x65\x4b\x92\x8f\x2c\x0f\x64\x85\xda\x47\xee\x48\x40\x70\x42\xc2\xac\xd7\xd2\x77\xd3\xac\x6d\x51\xfb\xcd\x1d\xdc\xd3\x8f\x37\x8e\x64\xac\xce\xa1\x1b\x26\x27\x7c\x01\xfa\xa1\xca\x1a\xb6\x73\x4e\x5f\xd7\x34\x93\xaa\xb7\x71\x86\x12\xe6\x7d\xca\x59\x39\x59\xdd\x0f\x2f\xae\x20\xf6\x9c\x7d\xd3\xfe\x9a\x4d\xd8\xa7\x4f\x1e\x24\x68\x00\xbd\x01\x9b\x5f\xc0\x02\xb6\xaf\xc5\x98\x71\x0a\x7a\x09\x22\xdd\x19\xe5\x2c\x32\xb9\xe8\x95\xf5\x57\x12\x7f\x03\x4d\xaf\x24\x4e\x81\x84\x0f\xa8\x16\x30\x14\x95\xa2\xc4\x88\x1e\x9f\xd0\x39\x3a\x3a\xea\x30\x99\x6b\xf6\x03\x9c\xfb\x9d\x79\x36\x06\xa0\x82\x48\xdc\x91\x14\x45\xe4\x99\x4c\x91\x55\xd0\xc6\x9c\x0a\x7a\x76\x2b\x5e\x5c\x1b\x52\x6c\x5e\xef\x31\xd8\xa0\xbf\x6a\xf0\x27\xf5\xac\x0d\x15\x09\x08\xf5\xa3\xf4\xd5\x67\xb3\x7c\x88\x11\x80\xbf\xae\x04\xd7\xc2\x81\xb7\x56\xbf\xbe\x85\x84\x8b\xb8\x69\x8a\x5a\x2d\x74\xf4\xe6\x41\xe0\x99\x69\xa6\x7f\xc7\xf3\x06\x05\x46\xe5\x94\xc4\x22\x2b\x93\xc5\x3a\x30\xca\x71\x40\xf0\x5e\xac\x9a\xe9\xdd\xcc\x55\x65\x38\xba\x45\x92\x8a\xc3\x34\xc9\xac\xf6\xc5\x38\x92\x68\x76\xe5\x5e\xfd\x88\x77\x34\x4d\xfa\x84\x86\x4d\x0f\x02\xa8\x6f\x17\xdc\xb7\xab\x23\xed\xc9\x90\xfd\x58\x26\x69\x52\xae\x83\x87\xa0\xbc\x10\x65\xb9\x36\xf1\x37\x29\x1c\x82\x9f\x73\x66\xc5\x4b\xca\x67\xef\xd9\x03\xe8\xa9\xc8\x05\x81\xf8\xe8\x88\x75\xd0\xab\xad\x13\x06\x35\xc1\xef\x74\x5c\x41\x50\x28\x0b\x76\x64\x1c\x81\x4d\x92\x7c\xf3\x91\x17\x6b\x64\xea\xc0\xa8\xa6\xc4\xb8\x23\x83\x15\xcf\x6d\x02\x70\xd6\xd5\x93\x30\x9d\xd7\x52\x88\x8b\x1e\x26\x26\x60\xe6\xbc\xae\xad\xf5\x09\x1b\x3b\x9d\xb0\xcb\xa3\x40\xac\xf5\x92\x2b\x7d\x5e\x21\x51\x57\x1f\x35\x20\x7a\xe3\xe4\x62\xc1\xf4\x06\x97\x8a\x69\xe1\x15\x92\x40\xd1\xb3\x8d\xeb\x09\x2c\x41\x5c\xda\x57\x4d\x36\xc1\x03\xf0\x8a\x27\x99\x16\xb9\xc8\x00\x91\x46\x02\xb1\xcb\x0c\x35\x08\x21\xa5\x17\xcb\x9e\x41\xda\x62\x17\x74\x85\x54\xd0\x61\xc4\x15\x23\xd1\xb4\xd5\x0c\x08\x16\x1e\x98\xa3\xa3\x23\x8b\x12\x0d\x06\x54\x83\x3d\xc3\xa8\x49\xf6\x28\x7c\x4b\x91\x92\x6c\x01\x44\x4a\x62\x87\x90\x5e\xc9\x0f\x07\xd1\xed\x18\x5c\xd4\xd5\x33\xdf\xf8\x0b\x2b\x5d\x89\x12\x2c\x3c\x8b\x97\x32\xe2\x98\xc4\x69\xdc\x6b\x37\x10\x23\x3c\xc3\x39\x43\x1d\x70\xe5\x05\xe7\x18\xfc\x64\xd7\x70\x0f\xbd\x74\x74\xb2\x2c\xfe\x14\x42\x88\x01\x1a\x3c\x21\xcd\xdc\xcd\x38\xf0\x2f\x7a\xd8\x5f\x30\x4e\x16\x18\x0c\x81\xd5\xe5\xd3\xb2\xa8\x12\xb5\x7c\x1a\x92\xe7\x7f\x3d\x3d\xb5\x3c\xc6\x6f\xa2\xaa\xff\xe1\x49\x65\x90\x40\x9c\x68\x64\x48\x19\x6b\xa7\x05\x9c\x3b\xfe\x94\x93\xf2\xc7\xcf\x09\x91\x4e\x3a\x27\x75\x4e\xd5\x58\x62\x00\xf8\x20\x9d\x00\x90\x2d\x60\x56\x4d\xba\x21\xb4\x72\x00\xd3\x8a\xe6\x01\xe1\x2c\x4e\x8a\x72\xcd\x96\xe8\x1b\x79\x5e\x22\x2a\xa9\x20\xf6\x54\x1f\x6d\x41\x40\x14\xc3\x94\xba\xe2\x8e\xaf\x34\x4d\x33\x7a\x3a\x1c\xc3\xc6\x04\xb7\x7b\x17\x9a\x07\xb7\x4a\x15\x30\xb1\x73\x30\xb9\xbc\xb4\x3d\x41\x21\xbe\xef\xe8\x25\x0e\x18\x1b\x99\xe0\x9a\xf4\x09\xa8\x32\x3d\x69\x90\x57\x9b\x73\x55\xeb\xb3\x31\x04\x76\x2f\x29\xe6\x5a\x81\xb3\x56\x92\xd1\xa9\xb6\x4e\xda\x06\xd9\xa7\x86\x64\xd3\xd4\x91\x06\xb1\xa7\x01\x5c\xf1\xca\x7b\xfa\x48\x64\x6c\x6e\xb2\x8f\x98\x6e\xd9\x75\x17\x0f\xc7\x50\x82\xfa\x63\xa3\xd9\x8e\x46\x50\x04\xc6\x91\x35\x66\xf1\x2f\xd2\xf7\x1e\x64\x9f\xb1\xc9\x87\xfa\xbd\x8b\x18\x01\x6e\xcf\xdd\x61\xf7\xfd\x5f\x87\x1f\x9e\x1d\xfe\x1c\x3f\xeb\xe9\xff\x7e\xee\x7d\xfb\x9f\x87\xa1\x91\xa5\x6e\xf4\xad\xfe\xff\xfd\xf8\x83\xc6\xf8\x6f\xbf\xfd\xb6\xd3\x50\x88\xbd\xa3\x34\xb8\x56\x11\x26\xfd\x77\xc9\x8d\xa9\x0f\x1b\xb0\x6b\xc9\x7e\x48\x5d\xd6\x22\x7a\x68\xae\xbe\xc5\xd3\x32\x3c\x27\xaf\x78\x71\x1d\x1a\x57\x10\x12\xeb\x5b\xbf\x2a\xbd\xd7\xd3\x76\x19\x5f\x23\x16\x8a\xc9\xb0\x35\x35\x62\x1c\x9e\x13\x8c\x8f\xe1\xbf\x9d\x1b\x8b\x11\x55\xca\x7c\x93\xf0\xa8\x09\x8a\x81\x99\x15\x03\x3d\x20\x3e\x26\x7f\x64\x03\x88\xa0\x54\xa9\xa5\x10\x0e\xa0\xd8\x26\xe5\xf4\x9a\xfa\x55\xbf\x9d\xe7\xa6\xba\x59\x45\x45\xce\x72\xcd\x1d\x30\xb1\x68\xfe\x27\xef\xc0\x63\x10\x10\x83\x66\xb6\xe9\x01\x5b\x16\x8e\xaf\x22\xfe\xc2\x87\x43\x76\xf1\xe6\xc7\x1f\x66\xa7\xec\xec\xfc\xe5\x29\xa4\x41\x8a\x65\x39\xfc\x55\x0d\xd3\x64\xfe\xb1\x2a\x17\x07\x83\x5f\xd5\x13\x30\x87\xcf\xd7\x45\xa2\xc9\x64\x37\xea\xb1\xc9\x68\x3c\x01\x32\x38\x5b\x16\x72\x95\x54\x2b\xf6\xe6\x82\x4d\xab\x72\x29\x0b\x35\x60\xd3\x34\x65\x50\x17\xd4\xf8\xa2\xb8\xd1\x42\x8e\xe6\xf2\x95\x7b\x71\x57\xb2\x2a\x22\x41\xc1\x82\x15\xbb\x92\x37\xa2\xc8\x4c\xd0\xc9\xe3\x8b\x93\x2d\x55\xae\x53\xc1\xd2\x24\x12\x99\xf1\x36\xa1\x77\xf7\xe1\x10\x73\x9e\x98\x8b\xfb\xe5\xf9\xec\xf4\xf5\xc5\x29\xdc\x2d\x83\x27\x4f\x3a\x95\x42\x16\x3a\x2a\xe1\xd1\x67\xc8\x2e\xdf\x9c\xbc\xe9\xc6\xfc\x26\x89\xe7\x22\xeb\x1d\xb2\x77\xc6\xa0\x8c\x68\xa9\xc8\x22\x19\x93\x1d\x3e\xd0\x63\x13\x8a\x59\xc4\xfd\x27\x90\xd0\x90\x22\x25\xe3\xf6\x52\x4c\xd5\x0c\xdd\x72\x92\x6c\xcb\x18\x3c\x85\x21\x9c\xf5\x92\x75\xeb\x65\x59\xe6\x87\xc3\xe1\x6d\x72\x9d\x0c\x6e\x97\xbc\xbc\xbd\x1a\xc8\xe2\x0a\xfe\x1e\xe2\xad\x79\x4a\xe3\x7b\xb5\xe3\x9b\x48\x0d\x6e\xb7\xa1\xe6\xf2\x6a\x68\x66\x38\x2c\xf8\xed\x96\x5e\xe7\xb0\x4c\xf2\xe1\x9b\x1b\x51\xdc\x24\xe2\x76\xb0\x2c\x57\xa9\x63\x3c\xd1\xa8\x60\x51\xa5\xec\xc7\xcb\xb3\xad\x03\x16\x0b\x0d\x65\x8f\x37\xf9\xf1\xf2\xec\xe0\x04\x0b\x9b\xb8\x43\x1e\xb7\x2e\x18\xc8\x7c\x5d\x0a\x85\xde\xb6\x04\x70\xfb\x90\x49\xe9\x85\xed\x7b\x22\x54\x7d\xa9\x6b\x52\x40\x20\xea\x2c\x01\x9b\x85\xab\x42\x40\x4c\xd8\x58\xb0\x5c\x26\x99\x66\x55\x35\xd0\x71\x7a\x31\x04\xd9\x77\x1d\x7c\xc3\x46\x03\x87\xc9\xb1\x78\x2b\x93\xac\xde\x6d\x2a\x6f\x45\xc1\xe6\x80\x0b\x32\xf3\xf4\xa0\x6e\x8c\x7b\x7a\x85\xd6\xc7\xd0\x18\xba\x0d\xf2\x31\x45\x10\xdb\x9f\x23\x9f\x4c\x60\xe4\x25\xef\xb3\x92\x5f\x83\xc1\x7b\xa6\xa9\x5d\x84\xb6\xf2\x68\x18\x07\xde\x54\x79\x21\x6e\x12\x59\x01\xc3\xa1\x1b\x50\xb6\x63\xb8\xf6\x6d\x0a\x15\x44\x38\x51\xd4\xa9\xec\x85\x97\x97\x17\x1a\x43\x9c\x07\x5d\xb5\xef\x22\x40\x1b\xb6\xdb\x89\x0b\x86\xbf\xb8\xf0\x84\x39\xd4\x9d\x6a\x30\x54\x59\xd2\x88\x1f\xad\x01\xc2\xe6\xa2\xbc\x15\x22\x63\xa3\xbb\xd1\xc8\xcb\xc0\x37\xba\x3b\x3b\x0b\x79\x0f\x33\x2d\x88\x56\xae\xa7\x45\x3b\x46\x40\xf0\x05\x17\x0d\xa9\xf1\x9e\x0b\x82\xd4\x44\x38\x8f\x76\x61\x37\xad\xaf\x2b\xfa\xf6\x2f\x44\x69\x93\xb9\xb7\x99\x59\x69\x79\xbc\xc5\xb8\x0a\xb2\x3e\x92\xb8\x1e\x2d\x79\x31\x93\xb1\x98\x96\xdd\xc4\x93\xc0\xeb\xb8\xea\x79\xd0\x60\x85\x88\x7d\x7d\xc4\x46\x77\xfb\x67\x61\x28\xd2\x92\x72\x38\x43\xbf\x5e\x9f\x81\xfb\xe4\xe8\x6e\x36\xd2\xcd\x23\xf6\xe5\x97\x8c\x3a\x3a\x09\x3a\x6a\xe0\x74\xc4\xb6\x98\x6e\xf6\x22\xac\xe2\x9f\xa6\x71\xed\x5b\x88\xbc\x77\x07\xa3\xd6\x99\x9c\x36\x66\x72\xfa\x98\x99\x9c\xde\x37\x93\xc9\x43\x33\x69\x9f\xca\x59\x63\x2a\x67\xfb\x8f\x98\xca\xd9\x7d\x53\xd9\xbe\x7f\x2a\xe3\xd1\x68\xd3\x64\x0e\x1a\x93\x39\x7e\xcc\x64\x0e\xee\x99\xcc\xce\xfd\x93\x99\x8c\x36\xcf\x66\xd6\x98\xcd\xc9\x63\x66\x33\xbb\x67\x36\xbb\xf7\xcf\x66\x67\xd4\x36\x9d\x06\xae\x77\x7e\xae\x16\x8b\x45\xdc\xa9\x05\x01\x0b\x6b\xe3\x22\x0e\x1a\xfb\x7b\xdc\x44\x35\x3b\xc3\xad\xad\x17\x9b\x97\xd7\xad\x95\x7c\xfd\x35\xdb\xd3\x52\x67\x17\xd7\x7d\x30\xea\xb9\xc6\x0f\x1e\x67\x86\xfa\xb0\xbf\xc8\x12\xec\xcc\xbd\xa4\xf8\x03\x36\x83\x04\xac\xc6\x77\x0f\x23\x60\xe0\x75\x02\xfe\x03\x61\x0f\x8b\x24\x2d\xf5\x85\x58\x95\x4c\x55\x45\x21\xaf\xf0\xed\x2e\x29\xac\xc2\x8c\x19\xea\xe3\xad\x25\x5c\xca\x0b\xaf\x26\xd0\x19\xb7\xc6\xfa\x36\xd5\x0c\x2e\x3f\x7d\xd2\x40\x3e\x39\x18\x21\x98\x6d\x3b\x0d\x6e\xd7\x09\xd2\x9a\xb3\xb3\x5e\xb3\xb5\xab\xf5\x0d\x1c\x8d\x33\x5d\x2d\x80\xd2\xc6\x5d\x6f\xc5\x10\x82\x0a\xb0\x2e\x42\xdf\x48\x44\xfa\x4d\xbe\xca\xaa\xcc\xab\x72\x10\x54\xaf\xaf\x98\x4e\x68\x7d\x16\x76\x1e\x78\xef\x0c\xf4\xbd\x3a\x23\x42\xee\xda\xf7\x5e\x04\x8d\x5a\xe7\x87\xa9\x88\x83\xcd\x1a\xd4\x2a\xb8\xf9\x6c\x35\x48\xc6\x23\xa6\xd3\x30\x8b\xa5\x3d\x7a\xc6\xba\xde\x52\xbf\xf9\xe6\x1b\x36\x1e\xf5\xd8\x97\x6c\x74\xb7\x7d\x76\xd6\x6b\x06\x0b\x1b\xdd\x9d\xcc\xb0\x99\xb7\xb5\x54\xbb\xbe\xd2\x27\x6d\xbf\x7f\xde\x74\x92\x35\xab\x24\x25\x3c\xe0\x22\x23\x97\x64\x6c\x55\xa5\x65\xb2\x05\x4c\x80\x3b\x0c\x3f\x88\xdb\x24\x8b\x89\x5f\xc1\x50\x26\x7e\x27\xe8\x2d\x90\x4a\x32\xac\x07\xa7\x50\xdd\xc3\xe0\x21\x9a\xb1\x89\x35\x24\x9c\x70\x94\xe0\xb3\xa7\x29\xb6\xd2\x7c\x21\xca\x56\xce\xcc\xb1\x64\x03\x2f\xd0\x96\x0d\xa2\x1d\x89\x30\x3b\x3d\x1a\x5c\x80\x5c\x26\x2c\x6b\x96\x38\xef\x6e\x08\x48\xf0\x7f\x0c\x3b\x86\x0d\x34\x53\xe6\x33\x5f\x5a\xd8\x0b\xec\xc3\xba\xe6\xb1\xd0\x63\xdf\xba\xbd\x1e\x35\xc7\xfa\x61\x62\x81\xcc\xb0\xcd\xc1\xc0\x38\x31\xd8\x31\x2b\x28\xd7\x24\xb2\x13\x88\x9c\x03\xee\x47\xdc\x89\x2f\x37\xa2\x50\x7e\x2e\x1c\x23\x04\x3a\xdf\x7f\x5d\x3b\x38\xdf\x0c\x14\x4b\x40\x85\x6e\x31\x5b\x82\xfa\x96\xbd\xc3\xe8\x85\x79\x2e\x32\xa5\xa9\x10\x84\x46\xb8\x16\xeb\x1c\x04\x12\xf4\x6e\x45\x13\x26\x30\x77\x20\xe3\x5a\x98\x8b\xe6\xf4\x78\x44\x84\x1f\x52\x89\x69\xec\x3f\x7e\xf5\xf6\xdb\x7b\x90\xe5\xd2\x89\x96\x60\x34\xa8\xa1\xb2\x79\x0f\x7d\x21\x14\xb1\x09\x40\xd5\xdf\x84\x57\xfe\x9b\x0d\x1e\xe9\x1a\x32\x5a\x3c\x53\x28\x93\x10\x46\x59\x54\x42\x24\xc0\xf1\xea\x48\xf0\xcf\xe0\xc0\xf5\x75\x0b\xc9\x11\xab\x2c\x81\xb9\x78\x22\x1f\x29\x51\x74\xcb\xc7\x72\xeb\x44\x1b\x1b\x2c\xb5\x7f\x7f\x45\xc0\xd5\x9c\x9d\x9d\x9d\x04\x2f\x53\xd4\xfc\xa0\xa5\xf9\xb1\xdf\x1c\xbc\xe9\x9f\x8d\x83\x25\xf9\xd7\x92\x9e\x65\xdc\x32\xcb\x67\xe3\x1a\x2b\xe2\xe6\x1a\xeb\xc1\xe2\xb6\xb9\x12\x88\x2e\x6e\x21\x28\x69\x03\x83\xfd\x1b\x2a\x72\x7c\x2c\x5e\x29\xf6\x52\xd0\x4c\x91\xbe\x52\x9e\xb1\x6e\x6c\x0b\x03\xf6\x02\xa3\xaf\x6e\xb8\x15\x9a\x10\xbb\xf7\x12\x69\x56\x0e\xc2\xc1\x3a\x3e\x20\xd2\x27\xcf\x9c\x74\x02\x9c\xa5\xfc\x6e\x4b\x5b\xe4\xab\xfb\xa4\xab\x30\x16\xad\xb7\xb7\xb6\x9f\x66\x47\x6d\xb7\x35\x88\x66\x9f\x74\x33\x7d\x23\xef\xb9\x9b\xb5\x45\xd2\x6a\x8e\x12\x72\x4c\xf7\x0e\x73\xea\x0d\x33\x9e\xb4\x8f\x33\x09\xc6\x19\x7e\xe5\x0f\x65\xd8\xb3\xaf\x86\x8f\x1b\xef\xcc\x1f\xef\xa0\x7d\xbc\xed\x17\xfe\x96\xdd\x2e\x93\x54\xb0\x6e\xa0\x19\x71\x8b\x6b\xe1\xd3\xef\x1d\xff\x00\xc6\xa7\x09\x74\xf7\xd8\x57\xae\x87\x9e\x61\x7b\x7a\xc1\x53\x70\xe3\x82\xbf\x5f\x11\x79\x1b\x6d\x52\x43\xee\xfc\x6e\x35\xa4\x26\x82\xb7\xd1\xbf\x50\x11\xe9\x45\x3e\xf7\xee\xe8\x34\x99\x17\x90\xf3\x57\x31\x32\x18\xb4\xa9\x81\x6f\xa3\xdb\x24\x2e\x97\x83\x5f\x15\x5b\xc9\xb8\x42\xcf\xd0\x4c\x5f\x26\xbf\x2a\xfb\xe8\x2b\x8b\xe4\x0a\x94\x5e\xb5\x04\x72\xe4\x6c\x8a\x13\xe4\xe5\x21\x5c\x9a\x65\x99\xab\xc3\xe1\x30\xcb\x57\xbf\x2a\xd0\x2d\xe6\x3c\xba\xe6\x57\x62\xe8\x86\x82\x0b\xc2\x4c\xd6\x9b\xa7\x89\x2b\x24\x17\xa0\x25\xaf\x14\xfb\xbe\x5a\x66\x5a\x6e\xc2\xa6\xdd\x5e\x6d\x06\x9e\x31\xef\x42\x6a\x52\x07\xb7\xdc\x5d\x9e\xf2\x8c\x66\x28\x57\x42\xb9\xd5\xda\x85\xcc\x6a\x1d\x1d\xd6\x62\x23\xf1\xac\x25\x59\x9e\x9b\x05\xcf\x62\x76\x1b\x29\xf3\x67\xd7\x26\xcf\x06\xbe\xe1\xfc\xf4\xf4\x94\x5d\x94\x31\x1b\x8f\x46\x93\xc1\x78\x6b\x32\x1a\x8d\x7b\x70\xbb\xfd\x88\xb7\x95\x61\x51\x8c\xda\xf6\xf6\x76\x20\x73\x91\x5d\x15\xb2\xca\x01\x64\x32\x4b\x93\x4c\xe4\xd5\x5c\x0d\x47\xa3\xfd\xe7\xa3\x9d\xe7\xfb\xbb\x43\xeb\x73\x65\x21\x09\x3a\xd9\x3f\xd4\x8f\x0a\x3a\xa2\x98\x43\x8b\xe4\x4e\xc4\x5b\xf0\x85\x84\x2c\x16\x8b\x9b\x24\x12\xaa\xcf\x5e\xf2\x32\xc9\x1c\xcb\x02\x61\xaf\x99\x8c\xa2\x2a\x5f\x5b\x47\x3b\xdd\xcd\xd3\x48\xa4\xe9\x53\x96\x4b\x95\x18\xf0\xa1\xd9\x16\x74\xdb\xd7\xdc\x72\x21\xb8\x62\x49\x2c\xe4\x55\xc1\xf3\x65\x12\xb1\xd9\x7f\xfb\xde\xeb\x19\xac\x40\xb1\x63\xcd\x67\xa9\x4a\xb3\xb7\x22\x4d\xd5\x80\x9d\x67\xa5\x80\xf7\x55\x08\xa0\x59\xae\x2d\x63\x8b\x6e\xca\x3c\xdd\x32\xaf\xe7\x90\x4d\x09\x9f\x1c\xd1\x5f\xbf\x5b\x8a\x54\x94\xeb\x5c\xe0\x99\xeb\x79\xdc\x97\x69\xac\x98\x7d\x36\x01\xc3\x76\x10\x03\xac\xfe\xde\xa6\x40\xe4\x57\x85\x00\xfc\x60\x32\x33\xce\xd7\xb6\x2f\xb2\x4b\xe5\xf1\x0d\x87\xf0\x3c\x5f\x19\xa5\xb6\x92\x05\x64\xa3\x92\xb7\x6c\x05\x4e\xd1\x22\x4d\x2d\x94\xd4\x80\xbd\x96\x4c\xa8\x92\xcf\xd3\x44\x2d\x31\x1f\xed\x8a\xc3\x1e\xab\x92\x67\x31\x2f\x62\x85\x19\xbe\x19\x87\x20\x0d\x2a\x18\xff\x47\xc3\x0c\x79\xf3\x70\xfb\xf3\x84\xd2\xad\xb4\x8c\xab\xbb\x68\x01\xc4\x80\xdc\x24\x0b\x59\x95\x49\x26\x20\xcc\x38\x40\x15\x83\xc5\x98\xf8\x4d\x7a\x73\xe1\x04\x60\x58\x93\x68\xc9\xe6\x62\xc9\x6f\x12\xbd\x54\xae\x30\x7b\xb3\x82\xe3\xc4\x8a\x2a\xc5\x97\x72\x2f\xcd\x15\x08\x18\x79\x21\x6f\x92\xd8\x39\x98\x9b\xa5\xcc\x64\xa6\x34\x55\xa8\x6c\x62\xa3\x33\x59\xa0\xca\x9c\xd0\x86\xa7\x1e\xd2\xf4\x83\xc6\x06\x66\x40\x12\x92\x28\x29\xc9\x2b\x1d\x4e\xab\xf2\x59\xef\x2d\x80\x07\xa2\xfc\x4d\xc2\xa1\x17\x5c\x92\xcb\x94\x29\xd8\x29\x57\x25\x9b\xaa\x04\xc5\x83\xb3\x2a\x4d\xdf\x41\x8b\xee\x59\xaf\xcf\xde\x69\xce\xbd\xfb\xae\xd7\x67\xdf\xf1\x74\x41\xc7\xa7\xfb\x5d\x0f\xdf\xdb\x5f\xf3\xa2\x90\xb7\xac\xfb\x9a\xf7\xbc\xf4\x35\x18\xe2\x0b\x65\x46\x85\x41\xcf\x70\x09\x05\x39\x18\x30\xbe\x9a\x27\x57\x95\xc6\x71\x88\xb9\x43\x1b\x8d\x9d\x73\xb4\xdb\xc6\xcd\xa2\xad\xae\x94\x18\x00\x88\xbc\x23\x4a\x57\x87\x9b\x3d\x9b\x42\xaf\xb2\x52\xac\x3b\xed\x41\x24\x01\x4a\xc3\xa7\x6f\x04\xe8\x3b\x5a\xca\x24\xd2\x30\xc8\x45\x16\x2b\x96\x57\x90\xd6\x07\xc2\x52\xe5\x85\x58\x88\x42\x90\x6f\xeb\x9c\x47\xd7\xb7\xbc\x88\x4d\x70\x06\x5e\x26\x74\x28\x51\x2a\x4d\xc0\x08\x6c\x99\xa8\x52\x16\x74\xc6\x65\xc1\xde\x09\x05\xe1\xd8\x73\xf0\xfc\x8e\x50\x74\x99\x2d\xa5\x84\x93\x87\x64\x84\x40\x48\x59\x99\x94\x08\x96\x04\x96\x67\x10\x8b\xe6\xd7\x4a\x81\xe1\x0d\xb7\x16\x18\x3c\xcf\x0b\x99\x17\x89\x66\x77\x53\x99\x5d\x61\x54\x5d\x25\xd3\x0a\xdf\x45\x31\x2e\x03\x4c\xc5\x8c\x4f\x7e\x56\x71\xa2\xf2\x94\xaf\xe9\xf4\x87\x43\x72\x65\x02\x6f\x11\x84\xdc\xd5\x62\x56\xa7\xbb\xa8\x5d\x1b\x80\xf7\x1a\xf5\xd6\xac\x7b\xb0\x35\x4f\x4a\x2b\x84\x79\x5d\x83\x67\x33\x8d\x8d\x16\x4d\x01\x04\x34\xfe\x8c\xf7\xa0\xb1\xd4\x78\xeb\x4f\x83\x82\x83\x69\x20\xfd\xa5\x10\xe2\x1a\x1c\x60\x66\xeb\x22\x49\xd3\x24\xea\x33\x51\x46\x03\xbc\xae\xc0\x98\x3f\x5b\xb3\x72\x9d\x5b\x82\x1b\x51\xfc\x31\x1e\xb8\xf2\xbe\xd2\x27\x38\x85\x77\xb4\x14\x9c\x6d\x10\x5c\x84\x11\xfa\x1e\xf4\xf7\x85\xbd\x96\x65\xed\x60\x74\x5f\x8b\xaa\x2c\x78\x4a\x98\x3e\x60\xa7\x9a\x62\x69\xa0\x5a\x70\x5b\xcf\x87\x38\x89\xe0\x65\x8b\x7b\xbd\xf2\x6c\x4d\x2e\x00\xf5\x4d\x18\xb0\x73\x23\x46\x43\x96\xd0\x72\x29\x60\xa2\x98\x11\x5b\x33\x4f\x80\x03\x6e\x89\xe0\xc4\x83\x89\xc5\x25\xba\x85\x68\x91\xdd\x52\x3a\xb8\x4f\x30\xaf\x9a\xdd\x0c\x4d\xc0\x80\x42\xa1\x0b\xa2\x75\xb1\x3d\x7d\xc5\x2e\xde\x4e\x67\xa7\x1a\x7d\x7f\x7a\xf3\xf2\xc7\x57\xa7\xec\xfc\xf5\xe5\xe9\x5f\x7e\x98\xbe\xf4\x82\x6f\xe8\x35\xcd\x29\x57\xae\x27\x31\xc7\xfa\xf2\x2b\xf5\x11\x82\x53\xc1\xc3\x0d\xbe\x4a\xd7\xf9\x72\x10\xb2\x31\xd0\x85\xa5\xbb\x8e\xd8\xaf\x04\x9c\x44\xae\x54\x72\x95\xb9\x8e\x3c\xfa\x85\xcb\xd5\xed\x33\xdc\x87\x80\x3e\x12\x31\x48\xc0\x61\x09\x4d\x0c\x1c\x8e\x3a\x45\x97\xf5\x6d\xa2\x84\x5e\x8a\x97\x89\x5a\xf0\xa8\x94\xc5\xda\xc4\xab\xd6\xdb\x00\x5e\x28\x06\x8f\x34\xf9\x06\xc7\x15\x68\x6a\xae\x31\x54\x40\xe1\x4d\xe6\x48\x32\x05\xe3\xb8\x8d\xf4\xa5\xc2\x07\x6c\x8a\x6e\x06\x2b\x89\x39\xce\x8d\x12\x4d\x44\x09\xe8\x67\x10\xc0\x21\xae\xf9\x88\xe6\xed\x9f\x99\x58\x7d\x13\xe6\xeb\xf0\x00\x03\xd4\x95\xd9\xb4\xb5\x00\xbb\x46\x9e\xa9\x5b\x5c\xc8\xda\x5c\x53\x6b\x93\x10\xd7\xde\x60\x8e\xa1\x34\x37\x8d\xbe\xc3\xe6\x10\x90\x12\x73\xb5\x0c\xd8\x85\x28\x4b\xda\xc6\x2a\x07\xaa\xa9\x19\x16\xb7\x7e\x73\x7c\xec\x55\x29\x17\xc4\x6a\xb4\x5c\xc4\xba\x17\xb0\xf9\x20\xee\x03\x4c\xda\x0a\x50\x60\xf1\x8c\xa7\x6b\x45\x39\xac\x20\xe6\xb6\x66\xb5\x78\x1b\x37\x00\xb4\x61\x5e\x95\x18\x68\xd3\x54\x23\x00\x71\x6b\xf2\xdc\x87\xeb\xb5\xb4\xd9\x3d\x38\x08\x3b\xf6\x38\x06\x88\x09\xe1\x2b\x6f\x24\xdc\xdc\xc6\xcf\x89\x2d\x78\xd1\xc2\xe1\x92\xa6\x06\xf8\x52\xfa\x7d\x48\x51\x35\x87\x65\x31\x1e\x0f\x0d\xf9\x71\x9c\x3f\xdb\xda\x62\x93\xd1\x68\x7f\x6b\xb4\xbb\x35\xd9\x63\x5d\xb3\xa2\xdd\xc1\xa8\x47\xb5\xdf\x6a\x10\x29\x45\xf6\xdc\x95\x12\x7d\x16\xc9\x7c\xdd\xd7\xd2\x4c\xb2\x58\xf7\xc9\xe9\x51\x8b\x48\xf3\xaa\x14\x4e\x22\x5b\x94\xb7\xc4\xcd\x10\xc9\xd1\x77\x5c\x0e\xc9\x15\x33\x74\x12\x05\x5f\x2a\x01\x17\xb1\xbe\x90\xe7\x6b\xcd\x71\x68\x4c\xc2\x93\x8a\x60\xa1\x5b\x23\x4a\x79\xb2\x42\x66\xf8\x96\x17\xba\x5a\x22\xc8\x8e\xa3\x10\x57\x7a\xbf\x29\x91\x9d\x37\xb6\x81\xd1\x4b\x0e\x46\x39\xa4\x89\x3c\xf4\x61\x16\xa5\x83\x88\xaf\x06\x3c\x1a\x54\xd7\xc3\xff\xb1\xba\xba\x9e\xec\x0e\xab\xc8\x09\x00\x51\x20\x49\x85\x62\x90\x55\x4e\x1b\x76\x07\xbd\x78\xd2\x6a\x95\x11\xa1\xc0\xf4\x5c\xe7\x17\x6f\xd8\x78\xb4\xb7\xb3\xe7\x10\xc5\x92\x3f\xdd\x97\x32\xb2\x11\xdb\x22\xab\x8d\xd4\xa3\x28\xac\xfb\xe3\x33\x7c\x61\x01\x54\x68\x0c\x30\x1a\x50\xd3\x37\xc0\x07\xcc\x46\xc3\xd9\x18\x0e\x49\x21\xd3\xe0\x76\xcd\x62\x76\x72\xfa\x92\x02\x2b\x09\x8e\x21\x2f\x02\x53\x7a\xdd\xdd\xd6\xd8\xf4\xf7\x5a\x66\x5b\x2a\xe7\x11\x1c\xce\x2c\xd6\xd7\x6a\x8a\xdc\x43\x24\x57\x73\xe4\x45\xbd\xfe\xbb\xe8\x72\x9a\x32\x7d\x0b\x5c\x69\x22\x06\x98\xf4\xca\x84\xa3\x97\x05\x7b\x65\x63\x70\xd5\x4f\x75\xcf\xf8\xa8\x6d\x5c\xdd\xc5\x9b\xb3\x4b\xf6\xdd\xbf\xbd\xfd\xee\xf4\x35\x42\x64\x7a\xb2\x09\x22\xe3\x10\x22\x64\x5d\xf9\xf0\x54\x67\x8b\x8d\xd3\xa3\x35\x68\x30\xfc\xfb\xe9\x0f\x6f\xd8\xbb\xf3\x93\xcb\xef\xe8\xb6\xea\xfe\xf8\x6c\x32\x1a\x1d\x3f\xbc\x84\xef\x78\x76\x55\xa5\xec\xbf\xf1\x95\x64\x10\xd3\x3f\x65\x37\xf2\x56\xa4\xb8\x37\xc6\xe8\x25\x53\x32\xe3\x59\xa9\x74\xbf\xe3\xf1\xde\x68\x4b\xff\x38\x3b\x33\xdd\xd3\x4c\x36\xc3\x89\x76\xec\x5e\xee\xd4\x70\xd2\x7a\x53\xbc\x62\xcd\x6f\x1b\xb6\xfa\xcc\xac\xd9\xc2\x48\xb3\x67\x56\x0a\xb7\x20\xba\x14\xd1\x32\x03\x19\x81\x5c\xd9\xfe\xd3\x78\xbc\x01\x12\xd4\xe1\xc4\x4c\xb5\xce\x2e\x43\xe0\x62\x0f\x61\x0b\x01\xae\x82\x59\x68\xa7\x93\x98\x7e\xf0\xd8\xcf\x7e\xbd\x76\xbc\xf6\x22\xe5\x57\xc0\xb9\x66\x7c\x9e\x12\x19\x59\x6f\xda\x17\x3b\x0f\x50\x31\x41\x92\xfa\x3a\x4a\xbb\x14\xd1\x9a\xee\x80\x89\xa2\xee\x18\x4e\xf4\xc1\xc1\xee\xf3\xad\x31\x6c\xdd\xbb\xbf\xbc\xdc\x31\xd0\xf2\x18\x01\x7b\x3d\x34\x0e\xa3\x61\x1b\x37\xcc\x6c\x1c\x06\x92\x0e\xf9\x5d\x0c\xda\x66\xde\x51\x42\x70\x19\xce\x37\xf1\x88\xce\xa0\x46\xc1\x12\x65\xb5\x55\x85\x48\x35\x11\x25\xab\x2b\x0a\x69\x6b\xdf\x2e\xa7\xa5\xe1\xba\xe8\xee\x53\x55\x4e\xca\x2d\xd4\xc2\x68\x98\xd8\xe8\x66\xec\xad\x4c\xd7\x0b\xf4\xe5\xce\x64\x39\x60\xec\x42\x08\x5f\x5d\x15\x8b\x1b\x91\xea\x1b\x7a\xb0\x92\x7f\x4f\xd2\x94\xc3\x3d\x25\xb2\xad\x1f\x2f\x86\xb1\x8c\xd4\xf0\x9d\x98\x0f\x9d\xaa\x6a\xf8\x83\x91\x81\x86\x7f\x81\x14\xde\x1f\x31\x33\xad\x22\x73\xbb\xa1\x37\xcf\xff\x44\x63\xa7\xb0\x54\x08\x28\x4a\x2a\x4e\xdf\xe7\xd0\x56\x47\x15\x69\xb7\x66\x32\xc7\x58\xa0\xea\x63\xc3\x21\x3c\x65\x51\xf2\x30\x5c\x3a\xfb\x05\xd8\x95\x5f\x86\xbf\x68\xbe\xf7\x17\xbc\x7e\x7e\xa9\x32\x3a\x17\xbf\x0c\x7f\xd1\xb4\xfb\x17\xf7\x28\xe2\x06\x0d\xf2\x62\x91\x56\x20\x7c\xbb\x80\xd7\xb1\x23\xf4\xf7\x0e\x8d\x2e\xb4\x5c\x7b\xb9\xce\x85\x67\xa2\xed\x6b\xfa\xc9\xf5\x09\xa3\x44\x90\x09\xbf\xf5\x4f\xb4\x15\x30\x32\x16\xbd\x22\xd2\x83\x8f\x73\x35\xfa\xe5\x52\x9e\x67\xa5\xb8\x12\xc5\x2f\x5e\x23\x13\xc7\xd8\x2a\x99\xbe\x25\xa7\x5c\x6f\x09\x87\xee\x25\xd8\xc5\x33\xfe\xe2\x08\xdb\xf6\xd8\x3f\x74\xef\x73\x51\xea\x9b\xec\x97\x44\xbd\xe6\xaf\x7f\x71\x8f\x2d\xd4\xfd\xa8\xbe\xa2\xe1\x90\x4d\xe9\xb8\x6b\xde\x41\x56\xe5\x96\x5c\x6c\x91\x51\x07\x38\xaa\x0a\x7d\x69\xd6\x06\xfd\x1a\x52\x3d\x31\x1b\x51\x59\x2f\xb9\x66\xfb\xa5\xaf\x3a\xbb\x5d\x2d\xa3\xfe\x45\x18\x4f\xec\x02\xc2\x88\xd0\x1b\x9c\x07\x12\xfc\x62\x01\xe9\x3f\x24\xc1\x82\x03\x98\x83\xc7\xb2\x0f\x1d\x3d\x46\xe4\x0c\x56\xfe\xdf\xff\xfb\xff\x51\xc6\xa5\xa1\x30\xa1\xb4\x82\x87\x24\x3b\x79\x1c\xf7\x9b\x23\x63\x9c\xf0\xe5\x97\x54\x64\x5f\xc2\x74\xd1\x70\xc8\x96\xc9\xd5\xd2\x75\x62\xdb\xc3\xfe\x7f\x43\xc0\x79\xc6\xc6\x94\x23\x11\xd5\x20\x1c\x4d\x01\xea\xeb\xf5\x81\x87\x6b\xd9\xbc\x70\xdd\x67\xed\x1d\x8d\x9a\xe0\x9c\x67\x38\x67\x2a\xf3\x5f\xd4\xf4\x4c\x52\x79\xdb\x32\x67\xd8\x12\x62\xd6\x56\xbc\x5c\x26\x5c\xcd\xd7\x99\xc8\xd4\x60\x2e\x86\x99\x2c\x85\x1a\xfe\xca\x6f\xb8\x02\x82\xb1\x65\x14\x88\xff\xc9\x76\xb4\xa5\xaf\xfe\x2a\xe5\x7e\x8f\xe6\x59\x1c\x81\xb7\x45\xe0\xec\xb1\xaf\xd0\xa0\x8a\x3d\x33\x53\xdc\x72\xf6\x1c\x0d\x93\x92\xcf\x35\xcc\x31\x39\x90\x74\x9f\xf4\x40\xe2\xde\xc9\x90\x6e\x0d\x10\xe9\xde\x92\xd7\x8a\x03\x6d\xeb\xe7\x6e\x9d\x7e\xf5\x59\xc7\x23\x26\x9d\xbe\xb7\x33\x1d\xe0\xdd\x3a\x87\x01\xe5\x76\x5f\x23\x99\x2d\x92\xab\xaa\xd0\x17\x57\xe7\x10\x13\x12\xb9\xaf\xb7\x45\x52\x7a\x5f\xcc\xba\xda\x7d\x03\xef\x23\xaa\xec\xc8\x1f\xdf\x7b\x25\xea\x82\x1f\x11\xc6\xbd\xb9\x8d\xd8\x11\xa6\x8e\x1e\x0e\xd9\x3b\xcb\x22\x6b\x92\xe7\xae\xb2\x01\x55\x1d\x64\x15\x69\xff\x30\x55\x60\xd8\x24\xb8\x54\xfd\x56\xf4\xa1\xd6\xf2\x4c\x73\x06\xc6\xaf\x9d\x72\xb3\x43\x60\xf8\x56\x9d\x9d\xa7\x0f\x31\xdd\xb6\x70\x1b\x2e\x9b\x6e\x30\xb5\xec\x81\x3e\xdd\x4c\xbd\xce\xcc\x74\x27\xd8\xdb\x05\xde\xb3\x26\xdc\x6b\x26\xb3\x2d\x79\x23\x8a\x94\xe7\x39\xd9\x62\x88\xe2\x86\xa7\xca\x7c\x54\x0d\xae\x4f\xf7\x62\x82\xc0\x80\x64\xfe\xb4\xca\x12\x25\x4a\xf6\x2c\xe2\xe5\xd1\x2b\x41\x3f\x33\xfc\x39\x5b\xb0\x2d\xcd\x52\x33\x64\x39\x35\xc3\xc9\x80\xab\x65\xd1\x53\x07\x58\xc3\xf5\x1f\xb1\xf7\xb0\xbf\xef\xd9\xe8\x6e\xb4\x3d\x1a\xf5\xe1\xe7\xde\x19\xfb\xd0\xc7\xb2\x9d\x83\xed\x3e\xfe\xdc\xf3\xca\x0e\xa8\xec\x39\xa3\x4c\x8b\x50\xbe\xfb\x7c\x0c\xe5\xbb\xc7\x27\xb6\xee\xee\xf1\x19\x95\xb9\x3e\x77\x67\x54\x6f\x36\x09\xdb\xcf\x76\xa8\x7c\xd7\xab\xbb\x4f\x65\xfb\xb6\x6c\x8f\xe6\xb9\x37\xda\x0e\xda\xef\x8d\xa9\x7c\xec\xda\xef\xed\x1c\x63\xd9\xee\xa9\x2b\xdb\xa7\x7a\xfb\xa3\xb0\xfd\xc9\x1e\x96\x9f\xee\xb8\xba\xa7\xfb\x54\x76\xe0\x95\x4d\xa9\xec\x24\x68\xbf\x3f\xc2\xb5\xee\x8f\xdc\x5a\xf7\xc7\xb8\xd6\xfd\xf1\xd8\x95\x6d\xe3\xf8\xfb\x3b\xd3\xb0\xfd\x14\xc7\xdf\x3f\x1e\xb9\xba\xa7\x38\xff\xfd\xb3\x6d\x5b\xf6\x7c\x84\x7d\x3e\x1f\x85\xf0\x7b\xbe\x3d\xeb\xd3\x4f\x57\x77\x87\xea\xee\x1c\x78\x65\x27\x54\x16\xce\xff\xf9\x2e\xd5\xdd\x75\xeb\x7f\xbe\x37\xc1\xb2\x3d\x6f\xfc\x03\xaa\x77\x30\x0e\xdb\x1f\xd3\xf8\xc7\xde\xf8\xb4\xd7\xcf\x67\x5e\x9f\x33\x1a\x7f\x56\x1b\xff\x94\xc6\x3a\x75\x63\x4d\x69\xad\x53\x58\x2b\x95\xd1\x3a\xa7\xb0\x4e\xd7\x7e\x4a\x6b\x9d\xee\x78\x75\x77\xf6\xa9\xec\xc0\x2b\x3b\xa6\xb2\x70\xfc\x29\xe1\xc5\x74\xdf\xed\xd5\x94\xd6\x3a\x3d\xf0\xfa\xa4\x75\x4e\x8f\x6b\xe3\xd3\x5a\xa7\x1e\xfe\x4e\x09\x7f\xa7\x33\x6f\x7c\x5a\xff\xb4\xb6\xfe\x29\xad\x7f\xea\xad\xff\x98\xd6\x7f\x3c\x72\x73\x3a\xa6\xf5\x1f\xd7\xd6\x7f\xbc\x7d\x46\xe5\x0e\xff\x8e\x09\x26\xc7\x3b\x5e\x9f\xb4\xff\xc7\xb5\xf5\x1f\xef\x22\xfe\x1d\xef\xba\xb3\x7e\x7c\x80\x73\x3a\xf6\xd6\x7f\x3c\x43\x38\x1d\xcf\xc2\xf3\x73\x4c\xeb\x3a\x9e\xb9\xf3\x3f\xdb\x3e\x85\xb2\xd9\x8e\xc3\xe9\xd9\xce\x1e\x95\x1d\x04\xed\x67\x3b\x53\x2a\xf7\xda\xef\xee\x62\x99\x37\xa7\x19\xc1\x7f\x56\x83\xff\x8c\x68\xcd\xcc\xa3\x35\xb3\x19\x8d\x35\xf3\xda\xcf\xa8\x7d\x0d\xfe\x33\x82\xff\xcc\x83\xff\x09\xc1\xef\x64\xc7\x2f\x3b\xa1\xb2\xb0\xfd\xc9\x0c\xe7\x7f\x32\x9b\xba\xba\x27\xd8\xe7\xc9\xc9\x8e\x57\xb6\x47\x65\x7b\x41\xfb\xd3\x6d\x1c\xeb\x74\xdb\xed\xf5\xe9\xf6\x0e\x95\xb9\x3e\x4f\x09\xa7\x4f\x77\x4e\xc3\xf6\xc7\xd4\xfe\xd8\x6b\x7f\x4c\xed\x8f\x9f\x7b\x65\xc7\x54\x16\xc2\xef\x74\x86\x74\xfd\xd4\xdb\xbf\xb3\x31\x96\x9d\x8d\x5d\xfb\xb3\x6d\xdc\x93\xb3\xed\xdd\xa0\xfd\xd9\xf6\x3e\x95\xef\x7b\x75\x9f\x53\x99\xd7\x7e\x1f\xe7\x79\xb6\x1f\xce\xff\xec\x00\xf1\xea\xec\xc0\xc1\xea\xec\x60\x8f\xca\xbc\x3e\x9f\x53\xbd\xe7\xfb\x61\xfb\xe7\x34\x96\x47\x7f\xce\x68\xff\xcf\xdc\xfe\x8f\x47\x13\xd8\xbf\xf1\x68\x3b\xc0\xdf\xf1\x68\x7b\x42\xe5\x13\x57\x77\x7b\x8f\xca\xf6\xbd\xb2\xe7\x54\xf6\x3c\x6c\xbf\x7b\x80\xe5\xbb\x76\xad\xfa\x0e\x86\x32\x7d\x0d\x9b\xb2\xed\x5d\xc0\x53\xfd\x33\x68\xbf\x3f\xc6\xf1\xf7\xc7\x76\xfd\xe3\x7d\x9a\xd3\xfe\xb6\x57\xb6\x4b\x65\xbb\xdb\x61\xfb\x7d\x2a\xdf\xdf\x76\x75\x71\xff\xc7\xfb\xc7\xbb\x5e\xd9\x3e\x95\x9d\x84\xed\x11\x56\xfa\xa7\xab\x3b\xc3\xb5\xee\x9f\x78\x7d\x9e\x9c\x50\x59\xd8\xfe\x60\x04\x78\x35\x3e\x18\x59\xfc\x19\x1f\x4c\xb1\xfd\xc1\xd4\xc1\xe4\xf9\x04\x61\xf2\x7c\x12\xdc\x5f\xe3\xe7\x93\x7d\x2a\x3f\x70\x75\x69\xfd\xcf\xbd\x3d\x79\x4e\xf0\x7f\xbe\x7d\x1c\xb4\x9f\x8e\xb1\xfd\x74\xec\xda\x1f\x23\xaf\x30\x3e\x1e\xb9\xf9\x1f\xe3\x99\xd2\x3f\x83\xf6\xc7\xb4\xd7\xc7\xee\xac\x8d\x89\xd6\x8e\x8f\xdd\x9d\x3a\x3e\xde\xc1\x39\x1d\xef\x84\xf3\x3f\xde\xc3\xf5\x1f\x7b\xf0\x3f\x41\x5a\x39\xf6\x68\xc2\xf8\xe4\xec\x14\xcb\xce\x82\xfd\xd7\x4c\x5a\x1f\x7f\x5a\x5c\x99\x8c\x26\x53\x2c\x9b\x9c\xba\x32\xc4\xa9\xc9\x68\x6f\x3b\x6c\xbf\x47\x75\xf7\xbc\xf6\x27\x54\xf7\xd4\x96\x6d\x53\x9f\xdb\xa3\x49\x30\xfe\xf6\x08\xcf\xcf\xf6\xe8\xb9\x9d\xeb\xf4\x60\x04\x30\xd1\x3f\xbd\xb2\x63\x2a\x0b\xe0\x3f\x3d\x98\xec\x62\xf9\xc4\xd6\x3d\x3b\x1e\xc3\x5a\xf5\x4f\x5b\x76\x8a\x7b\x72\x76\x3a\x0a\xc6\x3f\x3b\x9d\x50\xf9\x64\xdb\xd5\x3d\x3b\xeb\xd3\x4f\x5b\x76\x76\x06\xf3\x3c\x3b\x3b\x0b\xf7\xdf\x30\x0b\xfa\x17\xb7\x03\xa3\xe9\x68\xd7\x94\xee\xf9\xa5\x33\x53\x7a\x56\xeb\x65\x9b\x8e\xf1\xd4\xc3\x83\xd1\x14\x2f\x57\xf8\xc5\xed\xe4\x78\x0f\x51\xee\x64\xbc\x17\xd2\x82\x93\xf1\xfe\x36\x7d\x71\x37\xa7\xfe\x63\xd7\x94\x1e\x7b\xa5\xd3\x29\x95\x4e\xc3\x13\x75\x32\x21\x54\x3b\x99\xec\xd8\xf3\x7f\x3a\x1a\xe1\x3a\xe1\x17\xaf\x14\xc1\x77\x3a\x1a\xed\x07\x2b\x3a\x1d\x8d\x47\xf4\x65\xac\xb1\xe0\xc9\x87\xdf\x2e\x99\x3c\x20\x5b\x6d\x16\x51\x40\xbd\xbe\x35\x65\x5b\x24\xab\x6c\x91\xac\xb2\x45\xb2\x8a\x13\x4a\xb8\x27\x8d\x79\x42\xc9\x68\x8a\x97\xc5\x68\xea\x2e\xb5\xd1\x74\x87\xca\x76\xbc\xb2\x7d\x2a\x0b\x99\x8a\x11\xc2\x56\xff\xf4\xea\x9e\x52\x99\x13\x0a\x46\xc7\x78\xa9\x8c\x8e\x77\xc2\xf6\xc7\x7b\x54\xee\xb5\x27\x06\x64\xe4\x31\x1a\x23\xba\x68\x46\xb3\xf0\x52\xa7\x03\xa8\x7f\xba\xba\x27\x34\xd7\x93\x03\xaf\x8c\xe6\x74\x1a\x32\xd5\xa3\x53\xea\xf7\xd4\x31\x30\xa3\xd3\x03\x2a\xf3\xe6\x74\x4a\x73\xaa\x09\x25\xa3\x33\x1a\xff\xcc\x1b\xff\x6c\x42\x65\xdb\x5e\x19\xcd\xe9\x6c\x5a\x6b\x4f\xfd\x9e\xcd\xbc\xba\x34\xd7\x33\x07\xbf\x31\x31\xaa\xe3\x51\x38\xff\x31\x09\x40\x63\x4f\x00\x1a\x8f\xb7\xa9\x6c\xdb\x2b\x3b\xa6\xb2\xe3\xb0\xfd\x04\xd7\x3f\x9e\x38\x06\x60\x3c\xa1\xba\x93\x63\x57\x46\xcc\xd3\x78\x3b\x14\x0a\xc7\x78\x9a\xf5\x4f\xaf\x2e\x32\x8a\x63\x4f\x50\x18\xef\xec\x50\x59\xb8\xff\xe3\x1d\x6a\xbf\xe3\x8d\x45\x0c\xe0\xd8\x63\x54\xc7\x78\x29\x8f\xc6\xbb\xb5\xf1\xf7\x68\xfe\x7b\xde\xfc\xf7\x68\xfe\x7b\x5e\x9f\x33\x84\xe9\x78\x16\x32\x45\x63\xc2\x9f\xb1\x87\x3f\x63\x62\x2a\xc7\x27\xde\xfc\x4f\x68\xfe\x27\xb5\xf9\x13\xb3\x39\x3e\xd9\xf3\xea\xd2\x9a\x3c\xfc\x1b\x9f\x4c\xa9\x6c\x5a\x6b\x3f\xa3\x72\xb7\xff\x13\x12\x14\x27\xbb\x6e\x4f\x27\x7b\x54\xb6\x17\xee\xff\x84\x84\xfa\x89\x27\x00\x4e\x48\x28\x9a\x78\x42\xfd\x04\x19\x8d\xd1\x64\x76\x5c\x6b\x7f\x42\xe5\x0e\xd6\x13\x82\xc9\xc4\x83\xc9\x84\xd6\x34\x39\xa9\xb5\x3f\xa1\xf6\x27\x7e\xfb\x33\x2a\x73\xe7\x77\x9b\x94\x17\xdb\xd3\x70\xfe\xdb\xd3\x6d\x2a\x77\x0c\xec\x36\x31\xda\xdb\x33\xb7\xfe\xed\x19\xd5\x9b\x85\x4a\x91\x1d\x3a\x17\x3b\x9e\x00\xb7\x43\x8a\x8a\x9d\x1d\x4f\xd1\x42\x30\xdd\xd9\x1d\x87\x97\xfa\x98\x2e\xf0\xf1\xc8\x5d\xea\x78\x7e\x26\xa3\xf1\x9e\x57\x76\x40\x65\xcf\x6b\xed\x67\x54\x7e\xe2\x31\x15\xd4\xe7\x64\xe2\x95\xed\x50\xd9\x7e\xd8\x7e\x9b\xea\x6e\x7b\xe3\x23\x53\x36\x19\x6d\x6f\x7b\x65\xbb\x54\xb6\x5b\x6b\x4f\x4c\xcd\xf6\xb1\x57\xf7\x94\xca\x3c\xa6\x66\x9f\xc6\xdf\xdf\x09\xdb\xef\x9f\x51\xb9\xc7\xd4\xa0\x50\x3e\x19\x39\x41\x61\x32\x9a\xd2\x3a\xa7\x81\x50\x33\x19\x8f\x10\x56\x63\xc7\x12\x4c\xc6\xc8\x11\xe8\x9f\x5e\xd9\x73\x2a\x0b\xe1\x47\xb4\x6a\xe2\xd1\xaa\xc9\x78\xbc\x47\x65\x0e\xfe\xe3\x09\xce\x69\x1c\x32\xb5\x13\xa2\x5f\xfa\xa7\x57\xf7\x98\xca\x1c\x4c\xc6\xbb\x34\xce\x6e\xb8\xfe\xf1\x2e\xd5\x75\x0a\xac\x09\x09\x15\x13\x8f\x7e\x4c\xc6\xfb\x54\xb6\x5f\x9b\xff\x73\x2a\x7f\xfe\xdc\xd5\x3d\x46\x5c\x19\x1f\x7b\x65\x48\x53\x26\x48\x53\xbc\xf6\x48\x57\x26\x63\x27\xc0\x4e\xc6\xa8\x14\xd3\x3f\x6d\xd9\x04\x79\x0c\xfd\x33\x68\x3f\x19\x4d\xa8\x7c\xdb\xab\xbb\x4f\x65\x07\x5e\xd9\x31\x95\x1d\xd7\xda\x9f\x51\xb9\xdb\xff\x09\xde\x29\xfa\xa7\x57\xb6\x4b\x65\x21\xfe\x4d\xc6\x53\x2a\x9f\x7a\x75\x4f\xb0\x6c\xe2\x70\x7a\x32\xd9\xa6\xb2\x90\xa9\x9e\x4c\xa8\xdf\xc9\xae\x57\x97\xe6\x3f\x99\x79\x65\xa7\x54\x76\x1a\xb6\x47\x61\x63\x32\xd9\xf6\x60\x85\x42\xc5\x64\xb2\xed\xce\xe4\x04\xef\x19\xfd\x33\x6c\xbf\x43\x75\x77\xbc\xb1\x76\x09\xa6\xbb\xee\xfc\x4e\x08\x27\x6a\xf4\x77\x32\xd9\xa3\xf1\xf7\xbc\xf1\x49\x50\x98\x78\xf8\x33\xd9\xa3\xf9\xef\x85\x42\xc9\xe4\x80\xc6\x3a\xf0\xf6\x0f\x85\xf2\xc9\xe4\xc0\xeb\xf3\x39\xc1\xe9\x79\x0d\xfe\x28\x54\xe8\x9f\xae\xee\x94\xea\x4e\x3d\x98\x1e\xd3\x3e\x1f\x87\xe3\x6f\xa3\x50\xac\x7f\xda\xba\x3b\xb4\xd6\x9d\x53\xd7\xe7\x0e\x2a\x4a\x27\xbb\x3b\x21\xfe\xec\xee\x62\xdd\x5d\x27\x94\x4d\x76\x0f\xa8\xec\xc0\xe1\xd4\xee\x73\x1c\x67\xb7\x36\xff\xdd\x29\xd5\x75\xfc\xe7\x64\x17\xef\x84\xc9\xae\xbb\x13\x26\xbb\xc7\xd4\xfe\x38\xc4\x9f\x5d\xe4\x1f\x27\xbb\xc7\xfb\x5e\xdd\x19\x95\xb9\xfd\xdf\x9d\xd1\x38\xb3\x70\xff\x76\x67\xd4\xde\x29\x10\x27\xbb\x33\x5a\xeb\xec\xd8\x2b\xc3\xfd\xdb\x3d\xa9\xb5\x3f\xa5\x79\x9d\x3a\x58\xef\x9e\x9e\x51\x99\x5b\xff\x1e\xd1\xc4\xbd\x51\xc0\xbf\x4e\xf6\x88\x2e\xee\x8d\x9e\x7b\x75\x4f\xa9\xcc\x6b\x3f\x46\x3c\xdb\xab\x9d\xbf\x3d\xba\x7f\xf6\xc6\x33\xaf\x2e\xb5\x77\x42\xe1\x64\x6f\x07\xd7\xbf\xb7\x13\xd2\x8f\x3d\x94\x80\xf4\x4f\x57\x97\xf6\x7f\x6f\x6f\xec\x95\x6d\x53\x59\x6d\x7c\x94\xd0\x26\x7b\x7b\x53\xaf\x2e\xcd\x69\xef\xc4\x2b\x3b\xa3\xb2\x10\xff\xf6\xb7\x91\x56\xec\x7b\x67\x75\x7f\x1f\xf7\x64\xdf\xdd\x49\x5a\x16\xeb\x43\x4c\x8a\x50\xa8\x3f\x3b\x3b\x83\xf6\xfa\xa7\x15\x60\x47\xa6\xb2\x5f\x0a\x0f\x93\xa8\x2c\x18\x61\x39\x0a\x6a\x68\xed\x71\x9c\x64\xbc\x58\x33\x25\x78\x11\x2d\xd1\x0a\x97\xde\x9e\xcb\xa5\x60\x57\xc9\x8d\xc8\x9c\x7f\xa7\x35\x38\x83\x07\x61\x95\xf3\x48\xf8\x8f\x56\x8d\x68\x7a\xa2\xb8\x12\xc5\x67\x56\x45\x8a\x4d\x5b\x7a\xf1\xdd\x70\xac\xcb\xac\x0d\x12\x79\x59\x54\x22\x9c\xc7\xfd\xe3\xbf\xc0\xb7\x36\x1b\xaf\xb1\x5c\x8a\xe2\x36\x51\x5e\x06\xe3\xdb\x68\x90\xa8\x0b\x68\xe5\xfb\x43\x47\xca\x46\x44\x9a\x56\x77\x49\x9a\x68\x80\x04\x6e\xe5\xf3\x00\x48\x49\x66\x65\x58\x06\x2f\xa3\x26\x27\xee\x2a\xc9\xd8\x11\x1b\xf5\xd9\x8a\xdf\xb1\x23\x56\x7f\x14\x33\xd1\x60\xb7\xd0\xf7\x10\x5b\xc4\x36\x6e\xbf\x86\xd2\xd7\x8d\x46\xef\x47\x1f\xde\x8f\x3e\xb0\x4f\x9f\x00\x8a\xdf\x34\xbf\xaf\xf8\xdd\x87\xf7\xe3\x0f\x41\xe2\x64\x7a\x74\xb4\xee\x7f\x7a\x3e\xdf\x1c\xe9\xf9\x99\x47\xe5\x55\x12\xb3\x23\xf6\x8a\x97\xcb\xc1\x22\x95\xb2\xe8\x76\xf5\xe4\x9f\xe9\x99\xf7\xd8\x90\x4d\x3c\xbf\xdc\x4d\xe3\x26\x31\x8c\x6b\x9f\x7e\x71\xf5\xba\xe3\x67\x2d\xce\x95\x1b\x56\x07\xbd\x8c\xfc\x5e\x00\x74\xba\x97\xad\x5a\x2f\xb5\xf0\xb3\x2e\x2d\xa9\x0d\x3a\x1b\xae\xde\x8f\xd1\xda\xbe\xad\x80\xea\xa0\x92\x78\x04\xb6\x9f\x72\xcc\xba\x7e\xcf\xa3\xed\xbf\x18\xff\xdb\x74\x27\xe0\x01\xe2\xcf\xc8\xc3\xfc\xfa\xcb\x74\xe3\x00\x6c\xc6\x61\xab\x43\xf9\x2d\x38\x6c\x1b\x6d\xc0\x61\xf7\xfd\x5f\x8b\xc3\xde\xb8\x7f\x00\x87\x6b\xbd\xfc\xe9\x38\x7c\x62\xf2\x7f\xb6\xda\x10\xb7\x20\x49\x1b\x3e\xfe\x76\x74\xb4\xad\x2e\x1f\x3f\xaa\xc5\x39\x5d\x6a\xcc\x16\x9a\xe8\xa6\x41\xba\xd1\x74\xc2\x40\x93\xe6\x51\xef\xf0\x07\x68\x60\x6b\x43\xa7\x8d\x58\xfb\x1b\xda\x9e\x24\xaa\xd8\xd4\xfc\x0f\x41\xdc\x5a\xac\x1b\xd3\x11\x4d\x5b\x1e\xa4\x1b\x8d\xf4\x7d\xff\x33\x37\xaa\x09\x9b\x4d\x57\x25\x64\x1a\xd1\x54\x14\x3d\xaa\x9a\x16\xac\x03\x8f\x26\x1c\x41\xb0\xa6\x96\x4d\x31\x06\x3c\x2f\x02\x02\xb2\x0d\x89\x0d\xf0\xd4\x82\xe3\xff\x82\x7d\xf9\x25\xc3\x6f\xa3\x3b\x3e\xea\xb5\x75\xe5\x5b\xf5\x98\xe4\x69\x6f\xf2\x32\x59\x25\x7f\x87\xf8\xb9\x6c\x7a\x31\x3b\x3f\xdf\x30\xc1\xaf\x61\x94\xa0\xdb\xb1\xe9\xe4\xb8\x7e\xfb\xa3\x85\xef\x46\xbb\x9a\x41\x88\xdb\xc4\x72\x00\xf0\x82\x01\x46\x66\x00\xcc\x4f\xcd\x8b\x22\xb9\x11\x94\xa2\x5a\xcf\x89\x6c\x6a\xb9\x67\x4c\x2f\x37\x5a\xef\x0f\x1c\xed\x18\x53\xc8\x66\x07\xbf\xf1\x18\x4c\xeb\x90\xf8\xe0\x7a\xb1\x78\x77\xa1\x01\xed\xff\x1b\x0e\x03\x23\xf4\x24\x4b\xca\x81\x67\x72\x4e\xf4\x0b\xf7\x14\xc4\xa7\xc9\x73\x43\xd8\x4d\x01\x67\x9f\x3e\x51\x3d\x37\x85\x89\x38\x18\xd9\x4d\xd4\x05\x7c\x27\x5a\xd8\x39\x61\x8f\x5f\x1c\xc1\x2b\xd1\xf6\xa2\x17\xce\x6a\x38\x04\x3f\xc1\xc1\x60\xc0\xfe\x2d\x69\xf4\xcc\xa3\x51\xd8\x73\xbc\xcf\xb7\xb1\x07\xb7\x98\x8b\x75\x9a\xea\x5d\x53\x8d\xe6\x8b\xe7\xb5\xe6\x0b\xbe\x58\xd8\xe6\x7a\xdc\x59\xe0\x51\x79\x6e\x9c\xa5\x5b\xba\x12\xe3\x5a\x57\x62\xfc\xdc\x76\xf5\x93\x28\x20\xa3\x15\x78\x1b\xb4\x35\xde\xae\x37\xde\xbb\x6f\x1e\x67\xed\xbd\x2c\xea\xab\x59\xec\x8d\x6c\x2f\x67\x55\x9a\x22\x4d\xd8\xd4\x5a\xd4\x5b\x8b\xbd\x5e\xeb\x76\x42\xac\x12\xbf\xea\x64\xb1\x58\xc4\xad\x75\xb7\x1b\x75\xb7\xa1\x2e\x46\x8a\xa0\xb8\xad\x87\x4c\xac\xe4\xaf\x89\x6f\xae\x5e\xa9\x0a\x5c\x07\x8d\xbf\x15\xf2\xfb\x10\xe6\x29\x89\x43\xb7\xd0\x54\xd3\xdd\xab\x25\x76\xe7\xf1\x45\xb8\x58\x95\x8b\x88\x29\xbe\x86\xf3\xb4\xd4\x9c\x38\xbb\x40\x07\x35\x7d\xec\xe2\x18\x2a\x24\xe0\xec\xa1\x6c\xd2\x43\xb1\xfa\xf6\x8f\x5d\x06\xf5\x4b\xc0\xf9\x66\xfe\xaf\x7e\x09\xfc\xf0\x88\x1b\x20\x20\x70\xfe\xc5\xdd\xa4\x73\x9b\x6c\x19\x5f\x78\xfc\xce\xa3\xef\xe8\xdf\xb1\x25\x2e\x2c\x56\x5b\xa8\x6b\x55\x16\x36\xda\xfa\xef\x85\x67\x3d\xf0\xd6\x6d\x34\x50\x65\x93\xf3\x09\x82\x2e\x91\xe7\x70\x71\x43\x16\xa8\x0f\x86\x5e\x0a\x02\x9f\x7a\xa1\x07\x21\x94\x8e\xb3\xab\xb5\xf1\x74\x6e\x69\xf8\x3a\x68\x1b\xb1\xf5\xf4\x56\x62\xe5\xaf\xcd\x25\x6d\xf7\x65\x8b\xf8\xd7\xe2\x86\x3d\x3b\xc2\x2e\xa9\x91\xfe\xbb\x5b\x8b\x49\xb8\x58\x68\xd2\xf9\x2d\x1b\xb3\x43\x8c\x7b\xe3\xb3\xb4\xc5\x4d\xb0\x7b\xc6\x8e\x5e\x55\x73\xf2\x4c\xa0\xb4\xa6\x84\xa2\x08\x6c\xb9\x58\x28\x51\xd6\xb0\xd7\xdb\x87\xfb\x76\x35\x0c\xcf\x75\x25\x4a\x6f\xac\x45\x21\x57\x83\xd6\xf3\x86\x76\xf6\x97\xc6\xe2\x1e\x9d\xd9\xfc\xb9\xd4\xfb\x6a\xef\x46\xe6\xe5\x47\x04\xea\x26\xd4\x09\x3a\x78\xd2\x96\x04\xe0\xb2\x5e\xcb\x61\x17\x94\xd6\x70\x8b\x72\xc7\xf4\xdd\xd8\x5e\x82\x4c\xfd\x05\x62\xef\xf7\x99\xc8\x62\xfa\xed\xd6\x1e\x43\xc0\x3d\x57\x09\x45\xc0\x5b\x6b\x20\xed\xb5\xaf\xc5\x03\x73\x1f\x5c\x60\x30\x6c\xf7\xac\x05\xf5\x6a\x81\xb5\x5c\xe3\x5e\x03\x17\xbf\xc1\xae\x0d\x3e\xce\x0b\xc1\xaf\x83\x7c\x58\x0e\xc2\x5f\x1c\x39\x8f\x8d\x20\x61\xbb\x59\x29\x26\xee\xb2\x00\x70\xeb\x7a\x62\x79\x0c\x5b\xd5\x5f\x9e\xbe\xb4\xcc\xc9\xb0\xc3\x79\x8d\x1e\xbd\x50\xd3\x7b\xaf\xe7\xc0\xff\xec\x59\xcb\x9a\xdd\xd6\x3d\x09\xe7\x65\x22\x34\x99\x3c\xf9\x65\x31\xb0\xa8\xd1\x6d\xdb\xdd\x5e\xfd\xfc\xb9\x26\x3e\xdc\x1b\x67\x72\xc3\x79\xc4\x63\x81\x4e\x9e\x71\x78\x22\xfe\xf5\x67\xb0\xbd\x95\x9e\xd8\x25\x44\xdd\x8e\x5b\x5b\xfc\xae\x33\x56\x4b\xac\xeb\x1f\x33\x91\xc5\x41\x1c\xc5\xa0\x5d\xbd\x26\xdb\x22\x7c\x06\x80\xeb\xaa\x85\xc0\x90\x54\x03\x1e\xc7\xdd\x0e\xc5\xc1\x8a\x96\x3c\xbb\x12\xa9\xbc\x1a\x92\x2b\x72\xa7\xcf\x3a\xa5\xb8\x2b\x87\x79\xca\x93\xac\xd3\x7f\xd2\x19\x0f\x9e\x77\xd8\xb3\x27\x9d\xce\x93\x1e\xe5\x0a\x7e\xa0\xa7\x98\x97\xa2\xd9\xcd\x64\x34\xde\x01\x9f\xee\x7d\xaf\xb7\x7a\x74\xae\xa5\xbe\x61\x87\xbf\xaa\x21\xfc\xf2\x1f\x3d\x45\x00\xc0\xaa\x8c\x45\x0e\x40\x1a\x5c\x94\xb2\xe0\x57\xa2\xd3\x73\x07\xe0\xbf\xea\x86\x92\xc2\xed\xb3\x13\x11\xa5\xbc\x20\xaf\x6d\x84\xc0\x57\x90\x3e\x07\x39\x51\x4c\xe1\xb2\x12\x6c\xce\x55\x12\x31\xb5\xe4\x85\x88\x59\x05\x29\xce\x12\x93\x8b\x86\x97\xe8\xa5\x2a\x25\x53\x2b\x88\x32\x23\x59\x8c\x90\x60\xb1\xc0\x3c\xa9\x31\xcc\x97\xb2\x6b\x6b\x6a\x0d\x63\x59\x3f\x18\xe7\x58\x0e\xe9\xa0\x20\xf8\x47\x16\xcb\x5b\xb6\x94\x18\xd1\x03\xa7\x56\x8b\x9e\xa5\xaf\x2a\xae\x58\x4e\x5e\x63\x58\x47\x8b\x73\xdd\xde\x80\x79\xe9\xe9\x74\xed\xec\x86\xa7\x49\xcc\xaa\xac\x4c\x20\x66\x05\x84\xdc\xe1\x69\xf2\x77\x1b\xc0\x0b\x73\x65\xe3\x0c\xb1\x2b\x9c\xc3\xa5\x9e\x91\x4d\x40\x6b\xb2\xae\xf0\x02\xa4\x55\x2f\x61\x08\x05\x56\x71\x39\x98\x28\x60\x0e\x04\x6c\x35\x79\x15\xfe\x2e\xe5\xca\xf7\xcd\xa5\x15\xfd\x9b\xac\x60\xbf\x4d\x7a\x06\xc8\xd4\x54\x2e\xd9\x5a\x56\x05\xa6\x46\x93\x91\x9e\xac\x88\xcd\x88\xfe\x3c\x75\xa7\x34\x21\x97\xe7\xb7\xf3\xef\x6f\xde\xbc\xd2\xf7\xc6\x78\x34\xfa\x2f\x5e\xd0\xb6\xe3\x22\x11\x0b\x86\xd6\x6a\x6b\x3b\x7f\x1b\x15\x06\xa7\xab\xcf\x91\x9e\x66\x24\x73\x8a\x9e\x04\xfc\x67\x9a\xe4\x73\xc9\x0b\x3b\xed\xe3\x35\x8b\xc5\x82\x57\x29\x64\x73\xa3\x00\x2e\x86\x8f\x3f\x7e\x39\x9d\x7d\xcf\x2e\x66\xe7\x17\x17\x6f\x7e\xb8\xf0\xc2\x43\x40\x6c\x88\x35\xae\x98\x82\x67\xfc\x86\x45\xfb\x08\x00\x71\x28\xea\x53\x5f\x0a\xd6\x41\xf0\x6e\xd9\x09\x6f\x65\xb2\x4c\x22\xd1\xf1\x82\x0a\x01\x12\x04\x1b\x61\xc0\xa9\xeb\x2e\xd6\x9a\x04\x78\xd0\xfc\xb9\x9a\xec\x8f\x26\x1a\x8e\x16\x5b\x35\x8c\xd4\x52\x4f\x34\xc9\x18\xd7\x28\x7f\x5d\xca\x9c\x41\x73\x0a\x06\x66\xc3\x6f\x18\x6c\x80\xd0\x18\x22\x4d\x07\x8c\xfd\x5c\x4d\x26\x7b\x18\xba\xd7\xc2\xec\xf4\xfc\x2f\xdf\x5d\x7e\xc7\x5e\xbf\xb9\x3c\xed\xb3\xff\xd2\x2d\x93\x32\x15\xbd\x5a\x2a\x5e\x0d\x2b\x1b\xbf\xca\x62\x19\x54\xf5\x57\x41\xd3\x79\xed\xcd\xe6\x52\xd7\xa1\xc5\xec\xed\x4d\xdd\x00\xf8\xb7\x87\x24\x2f\xc9\xb0\x11\x82\x09\xd3\x59\x85\xe8\x11\xaa\x4a\xe8\x90\x80\x94\x87\x85\x4b\x5e\x64\x42\xd9\x90\x28\x94\x5a\xde\x24\xf1\x5f\x83\x8b\x34\x46\x13\xa3\x7c\xc3\x45\x95\x65\xf6\x2e\xc2\xe9\xea\x8e\x4e\x44\x0e\x16\x8c\x1d\x2c\xba\x88\x0a\x99\xa6\x6f\x65\x81\x09\x3d\x95\x26\xf0\xf6\x8b\x10\x99\x29\x7d\xc2\x1a\xff\xa8\xde\x25\x41\xa7\xde\xfe\xa7\xcb\x87\xdb\xfe\x74\x39\x98\xf1\x2c\x13\x31\xd6\xfc\x10\x92\x29\x04\x89\x26\x22\xf6\xe2\xec\xb3\x42\x5c\x25\x0a\x12\x74\x23\x22\xe3\xc5\x85\x65\xe7\x48\x96\x6a\x08\x4c\x79\xb4\xe2\x0a\x2e\x61\x5d\x3f\x09\xea\x19\x06\xc0\x8c\xf1\x99\xc9\x4c\xf7\x84\x31\x38\xcc\x43\x8f\x6b\xc7\x6e\x21\x68\x42\x05\xc1\x86\x92\xec\x46\x5e\x0b\x38\x15\xe6\xc5\xb0\x46\xf5\xe0\x84\xbb\xf4\xc3\xc3\x27\x8d\x19\x23\x30\x3a\x7d\x2f\xa5\x11\x4c\x00\xb9\x02\x3b\x03\x99\xbd\x03\x5a\xd9\x45\x92\x69\x38\xd4\x16\x32\x8a\x7f\x0c\x34\x99\x47\x6e\xcf\x4b\x19\x8c\x5d\xf7\xd9\xc8\x31\x76\xde\x08\x97\x7c\xde\x2d\xf9\x3c\xc8\x90\xc9\xe7\xc8\xbf\x42\x9f\x91\xbe\x9d\x3d\x5f\x67\xfc\x9b\x86\x87\x0c\x70\xba\x01\xfd\x7d\x1e\xf7\x81\xa4\xf7\xed\xdc\xdb\xbd\x3d\x4d\xce\x9d\xe2\x2a\xc9\x62\xde\x3b\xb4\x5b\x07\x91\x05\xd9\x2d\xf0\x62\xac\xca\x31\xbc\x0b\xbb\x19\x33\x9e\xe7\x1d\x05\xf1\xca\xae\x0a\xb8\xb8\x73\xa4\x5c\xa6\xbb\x57\x7c\x3d\x17\x2c\x00\x4a\x27\x93\x99\xe8\x50\xc4\xa9\x39\xa5\xb0\xf6\xc2\x8b\x41\xd2\x6f\x1b\x2d\xc7\xf4\xd5\x02\xdd\x4e\x06\xe1\x8f\x6c\xc4\xf2\x8d\xc0\xad\xe5\xb1\xfc\xc2\xd0\x0c\x20\xe6\xc4\x35\xf8\xd2\x38\xe6\x2f\xcb\xf8\x4d\x72\xc5\x4b\x59\x0c\x2a\x25\x8a\xe9\x95\xc8\x4a\x93\xcd\xec\x67\x05\xcc\x91\xf8\x79\xd8\xfd\x39\xfe\x39\xee\x0d\xbd\xa4\xa3\x26\xf8\xf5\x11\x65\x34\xcb\x79\xa1\xc4\x79\x56\x76\x31\xb5\x59\x8f\x1d\x5a\x21\x1c\x05\x05\x6f\x3b\x21\xd0\x31\x6e\xa4\xc2\x69\x35\x4b\x06\x6a\x9d\x45\x9e\xa2\xd5\x0e\xf8\x0d\x9b\x78\x59\x49\xdb\xd6\xa8\x17\x45\xa1\xc1\xa9\x64\x80\xeb\xe8\xb6\x0c\xd1\x8e\x21\x8f\xec\xf6\xa5\xbe\xcc\xba\x75\xe0\x53\xfa\x1f\x1a\xac\xe4\x73\x65\x32\x37\xd5\x63\x4d\x30\x8a\x6f\x1a\x6b\xc4\x50\x14\x70\x48\x94\x22\x2a\xf1\x79\x17\x3b\x5b\xcb\xaa\x03\x71\x9b\xfc\xda\x78\xc7\xa4\x49\xa9\xc9\x3f\xbf\x85\x38\x7a\xe6\x41\x3f\x51\x6f\xa9\xe6\x34\xcf\x9d\x33\xef\xfd\x3b\x51\x68\x36\xaa\xad\x44\x1f\xb2\x57\x3c\x4b\x16\x42\x95\x3e\xfa\xac\xa8\x8c\x1d\xdd\xd3\xa0\xeb\xa1\x4c\x7d\x5a\xa6\x83\x81\x5e\xce\x97\x5f\x06\x7f\x0f\xdc\x59\x0b\xa4\xe7\xa0\x0f\x2f\xa2\xf7\x5b\x1f\x90\xc0\xba\x42\x90\x37\x8f\x91\x48\x1c\xc3\xa6\xb7\x64\xd0\x24\x54\x48\x32\x30\xa9\x39\x92\x91\x7f\x68\x92\x76\xc8\x3a\xb9\xcc\xab\xbc\xf3\xb9\x67\xc9\x98\x8f\x2d\xf7\x01\x55\x8f\x14\xa4\xd0\xd5\x88\x71\x25\xca\x19\xa5\xa8\xc2\x3c\x8b\xba\x04\xf9\x2c\x4d\xfc\xe0\x8e\x4d\x14\x7b\x4a\x79\xac\xd2\xb5\xb9\x5b\x9f\x62\x86\x54\x88\x6f\x66\x3a\x2c\x65\xbe\x92\xfa\x62\x2f\xd8\x42\x46\x98\x52\x94\xcf\x07\x21\xb9\x84\x05\xbb\x61\xbb\x40\x78\xdb\x31\xff\x91\x10\x21\x9a\xe4\x40\x62\xf0\xff\x73\xaf\x91\x58\x33\x16\x51\xb2\xe2\x29\xfb\x87\x51\x1e\x2e\x05\x88\x61\x9f\x89\xbe\xa2\xa4\x1e\xcb\x15\x06\x0f\xf6\x18\x08\x3d\xe5\x34\x11\x59\x79\x81\x31\x3e\xec\x85\x15\xcb\x55\x20\xc3\xc6\x12\x2a\x43\x6a\x92\x24\xbb\xc2\x46\x3f\x88\x08\xf0\xaf\x99\xea\xd3\xcc\xc8\x8b\x1b\xf8\x98\x59\x34\x34\xa3\xbf\x61\x1a\x03\x52\xc2\x6c\x9e\x0c\x41\xe5\xd1\xb3\xf9\x0e\xeb\xff\xce\xe9\xe0\x68\xc1\x7c\x34\x77\x5c\x4b\xa0\x96\x0a\x9b\xef\x1a\x74\x7f\x6b\x55\x8a\x55\x53\x66\x30\x2c\xcd\x77\x97\xaf\x5e\x9e\xc8\x08\x32\x21\x52\x06\x08\xfa\xcb\xe5\xa5\x0b\x3a\x8d\x64\xbe\xf6\x17\xa7\xff\xbe\x30\x15\x2e\xe5\xcc\x0c\x14\xae\x12\xbb\xac\x27\xfc\x34\xe5\x03\x71\x27\xa2\x99\x5c\xad\x78\x16\x77\x3b\xba\xc7\x4e\x98\xfb\x73\x91\x14\x62\x21\xef\x4e\x4d\xb6\x43\x8f\x8c\x9c\x5f\x65\xb2\xc0\x4c\x7a\x03\x76\x76\xd6\x96\xc5\x95\x6c\x5b\x34\x9f\xc0\xf1\x4b\x51\xc8\x82\x62\x69\xda\xf7\x1c\x46\x51\x48\xbc\x47\x1c\x48\x6c\xec\xdb\x49\x0c\xea\x2f\xf7\x6f\xb9\x2a\x45\x2b\xa0\x31\x50\x14\xe4\x66\xc3\x88\x49\x08\x4f\x38\xf1\xbf\x61\x13\x4a\xc9\x72\x18\x43\x77\xe7\xc3\x1d\x4a\xcf\x0a\xb9\xfa\x27\x40\x1c\xfa\xfa\x8f\x02\xf2\x99\xcc\x54\x59\x54\x51\x09\xf4\x53\x9f\x3c\x92\x46\x34\xc1\x29\x44\x24\x1d\x92\x9f\x53\x34\x4f\x65\x35\x40\x10\xa2\x14\x43\x5d\xe5\xd5\x3c\x4d\x22\x56\x08\x1e\x0f\x6f\x21\x7b\xeb\x4a\xac\xe6\xa2\x50\xe6\xe1\x8f\x62\xb1\xe2\xb1\xdb\xf8\x6a\xe6\x54\xef\x9e\xce\x3d\x51\xde\x4c\x9a\x6d\x88\x6e\x80\x04\x83\xbf\x36\x5b\x99\x7d\xae\xd3\xd1\x80\x20\x7b\xc9\x39\x8d\xaa\xd9\x6a\x8e\xa1\x74\x69\x28\x4e\x0b\xf1\x98\xc6\x00\x6c\x17\x05\xd8\xad\xb6\x65\x3e\x0f\x2c\x5e\xf3\x59\xbf\x0b\x00\xba\xe1\xa3\x80\xe0\x85\x7a\x29\x84\xfa\xd3\xa0\x42\x24\x9e\x03\xa1\xdb\x04\x07\xa3\xdb\x75\xb3\xfb\xcc\xa6\xb8\x14\xb7\x69\x36\x96\xac\x23\xa4\x7c\xe5\xc1\x1a\x02\x92\x59\xe4\xda\xb0\xd4\x28\x95\x99\x68\xe6\xd4\xa4\x09\x84\x23\x76\xdd\x92\xfb\xfe\x42\xc3\x0b\xf5\x82\x9e\xc3\x08\x08\x18\xff\xd2\xdf\x38\x3b\x6f\x1b\xce\xdb\x24\xf7\xf7\x66\x58\xc3\x08\x1f\x10\xc0\x0d\x41\x22\x01\x88\x26\x64\x2e\x0d\xab\x85\xdf\xb0\x52\xcd\xc6\x48\x7f\xa5\xba\x9f\x96\xad\xd4\xc5\x83\x0d\xfb\x09\xdf\x5a\x36\x15\x4c\x88\x92\x45\xcb\x42\xdc\x6a\x13\x45\x31\xeb\x81\x6c\x83\x5a\xeb\x91\xcb\xdc\xd4\xe5\xa0\x69\x6e\xe9\x59\x5b\xce\x65\xb9\xb4\x55\x89\x26\x85\x48\x32\xc4\x95\xf4\xef\x35\x37\x6e\x85\x25\x2c\x44\xb5\x03\xd3\x58\x04\x7a\x30\xf5\x81\xaa\x59\xe1\x00\xa8\x9b\xa1\x6a\x8f\x0a\xbd\x5e\xd8\xf0\xbb\xbc\xf4\x93\x2c\xf9\xe0\x68\x7d\x19\xb1\x29\xc8\x91\x8f\xc6\xdc\xfa\x09\x69\xc3\x37\x91\x26\xa7\x4b\x71\xbd\x6f\x80\x46\x29\x2f\x1a\xcf\x2b\x01\x2c\x3a\xef\x5d\x3b\x2f\x59\x3d\x3d\xba\xb1\x4e\xdf\x95\xd1\x24\x20\xfd\xfd\x8b\xc7\x5c\x4b\x3f\xc8\xdb\x99\x4c\xff\x79\x17\x13\x64\x81\xb6\x0f\x63\x81\x26\x0b\xfb\xc0\x38\x91\x02\x6e\xdd\x8e\xbc\x11\xc5\x22\x95\xb7\x1d\x36\x4f\x4a\x17\x41\xb1\x52\x02\x55\x53\xf8\x2c\x60\x95\x84\x0c\x55\xc1\x26\xd2\xff\x92\x2b\x36\x17\x22\x63\x2b\x1e\x43\x83\x95\x24\x24\xa5\xdc\x06\xf4\xf2\x65\xb2\x5b\xe3\x93\x18\x3d\x3b\xeb\x8e\x14\x6a\x08\x99\x49\x90\x9c\x28\x9b\x35\xeb\x56\xb0\x54\xf0\xd6\xee\xe8\xed\x1b\x72\x7e\x73\x08\x7d\xa7\x8b\x9f\xd8\x20\xe1\xd4\x2d\x28\xb0\x15\x51\x33\xb3\x50\xbd\xce\x01\x63\xe7\x34\x1a\x26\xd2\xa5\xee\xf5\xec\x35\xf3\x03\x84\x97\xa6\x81\x52\x51\xba\x46\x75\x38\xcf\xd6\x76\xf1\x9a\xf3\x2a\x92\xac\x04\x22\xeb\x99\x00\x45\xbc\x52\x98\x4e\xa0\x18\xa6\x10\xff\x13\x42\xad\x6d\xbc\x23\x21\x60\xe2\x52\xc0\xcf\xc7\xdc\x8d\x04\x04\xef\x31\xff\x9e\x56\xd6\x86\x5b\xe6\xe5\x47\x0b\x03\x9b\x48\x9d\x3e\x9b\x8d\xb6\x67\x4c\x43\x0c\x11\xd3\x1c\x23\xbd\xd5\xa6\x7d\xa8\x87\x27\x04\xf6\xce\x4e\x21\x6f\xfb\x34\xb7\x7e\x30\xb0\x47\xad\xf5\x6a\x8f\xf4\x9a\x5f\xb8\x9c\xcb\xb0\x98\x23\x6a\x69\xcb\xed\xac\x8f\xd8\x17\x5f\xf8\xbd\x6d\x62\x56\xc2\x13\xf0\x58\x56\xc5\x6c\x83\xde\xcd\xdf\xb1\x15\x80\x04\xff\xeb\x6c\x87\x47\xdd\xe0\x4c\xfe\x4f\xde\x9d\xdf\xc1\x34\xe1\x3a\x42\xb6\x89\x50\x6d\x03\xe3\x44\xfb\x0e\x8e\x07\x96\xf8\x6d\x04\xcb\x63\x19\x27\x6c\xd8\x35\x60\xe9\xfb\xe0\xe8\x87\x30\x68\xe7\xa3\x36\xa0\xe3\x43\x5c\x14\x4d\xb8\x95\xc1\x30\xb0\x79\x2c\x27\xd5\x58\xfc\x43\xbc\x14\xee\x3f\xdc\xeb\xad\x48\x00\x5f\x36\x63\x02\x7c\x6e\x45\x84\x76\x46\xab\xbe\xaf\x8f\x67\xb5\x9a\x90\xd8\xdc\xed\x1f\x60\xb7\x0a\x79\x3b\x34\x5b\xfe\x30\xb3\xd5\x00\xf7\x23\xd8\xad\xae\x83\xbb\x03\xbc\xe5\xb5\x0c\xe0\x03\xc8\xfb\xaa\xf4\xc6\x1e\xd4\x36\xa1\x55\x67\xf6\xe7\x32\x66\xed\x78\x7f\x1f\x5b\xd6\x80\xdb\x83\x8c\x59\xd7\x70\x66\xd8\xd4\xe3\xcd\xf4\xe8\x21\x67\x46\xf3\x30\x85\x1b\x41\x07\xac\x5b\xaf\x35\x45\x5c\x68\x84\xf2\x71\x51\xf0\x95\xf8\xdf\xcc\x14\x65\xe1\x1b\xa1\x9c\x41\xdc\xd9\xb8\xe0\x0b\x6b\xf8\x08\xbe\x64\x0b\x1e\xb9\xf4\xb1\xc1\xfb\xb6\xde\x70\xae\x57\x50\xc4\x60\xf0\xb1\x66\x71\xc2\x53\x79\x55\x7f\x51\x2d\x64\x75\xb5\xd4\x7c\x58\xd9\x21\x9d\x8e\xdf\xcd\xd6\x37\xd8\x8a\xa5\x7c\x2d\x8a\x01\x63\x97\xd2\xbe\x80\x32\x78\x5c\xc3\x1c\x18\xa2\x93\xa6\x98\xbe\x82\x12\xb9\x46\xa8\xb1\xda\xfa\xc6\x4e\xc8\xf6\xa0\x01\x04\xe9\x04\xf0\x64\x4b\xb6\xe0\x51\x92\x26\x25\xc4\xf0\xfd\xaa\xd9\xd2\xce\x41\x16\x2c\x4e\x0a\x4d\x5e\x6d\x1d\xfa\xa2\xff\xae\x32\x7a\xb5\xb7\xac\x3b\x4b\x56\xfc\x0a\x6d\x81\x2d\xcf\x0d\x03\xa3\x1d\x14\x53\xc9\x55\x06\x6f\xfd\xf0\x0e\x40\xc6\x10\x2e\x5d\x6c\x18\x02\xdd\x4a\x0d\x10\xf6\xf8\x96\x01\xca\x59\x73\x05\x54\x29\x9b\x19\xd7\x28\xa4\x05\xc1\x3f\xc2\x57\x76\x54\x20\xe6\x1c\xf4\xc1\xb6\x12\xde\x20\x3e\xb3\x52\x15\x69\x98\x36\x56\x17\x94\x92\xa5\x92\x5b\xd4\xc2\x13\xe0\x35\x02\x0e\x20\xc7\x2c\x62\xff\xc0\x68\xc1\x9f\x1d\x7f\x63\xbe\x98\xf9\x63\x73\x06\x89\x5c\x6c\xe4\xf8\x90\x9d\x39\x83\x05\xfb\x94\x93\x66\xdc\xd7\xf3\xe9\xfb\x03\x7a\xf7\x97\xa9\xf4\x51\x5f\x46\xf4\xbb\xbd\xa8\xe2\xe4\xc6\x2f\x87\xbf\xed\x47\xbd\xc8\x23\xdd\xb5\xbb\xd7\x68\xd2\x47\xc1\xe2\x3e\x7d\x02\x9b\x28\xaa\x93\xc0\x4a\x3e\x5a\xfb\x23\x7b\x5f\x62\x5e\xdf\xa2\xf1\x85\x2c\x65\x66\x4b\x9e\x65\x22\x75\x9f\x3d\x22\xfd\x1d\xe6\x1b\xa6\x9a\x5e\xda\xc2\xc4\x42\x3d\x00\x92\x47\x37\x65\x46\x26\x31\x1f\x7d\xc8\x09\x67\x2f\x2f\x06\x90\xc8\x3a\xd3\xb0\xfd\xe2\x88\x75\x92\x3c\xda\x4a\xb2\xa4\xdc\x92\xd7\x1d\xa3\xc8\x05\x57\x9b\x54\x0c\x52\x79\xd5\xed\xfc\x98\xa1\x8d\x89\x31\x44\x82\xc9\xc0\x3c\x0e\x3b\x7d\x86\xdd\xf5\x7c\xbb\x50\xfb\xc4\x07\xcb\x55\x22\x8b\x0d\xfe\x9d\x67\x0b\xf9\x11\x1f\x11\xdb\x40\x31\xc8\x65\x51\x8e\x07\x32\x5b\x59\xab\x1e\xdc\x06\xb3\x26\x7c\xbb\xb2\x31\xe3\xe9\xe3\x4b\xc9\xe3\xda\xcb\x10\x3e\x8e\x28\x16\xc1\x7b\xbd\x26\xa0\x05\xa6\x53\x4e\x54\x9f\x9d\xb3\xab\x4a\x28\xab\x69\x3f\x2f\x21\x09\x55\xd6\xb1\xaf\xb9\x98\xb3\x3c\x07\x1a\xab\x4a\x91\x41\x26\x04\x2d\x03\x9e\x77\x56\xf4\xea\x6b\xac\x67\xd0\x20\x20\xcc\x3a\xb5\x14\x85\x30\xf4\x2d\x2f\xe4\x9c\xcf\xd3\xb5\x09\x2d\x5f\x4a\xa6\x72\xc1\xaf\x89\xae\x60\x4e\x2a\x59\x15\x74\x28\xd5\xa3\xb6\xb6\x76\x27\x36\x11\x07\xd1\x84\x21\x68\x30\xe7\xf4\xfd\x1d\xeb\x7a\x1f\x9b\x57\xed\x26\x7c\x15\xb7\xec\x55\x50\xfa\x07\xf6\xf4\x63\xdb\xa6\xb6\x77\x02\xb6\xab\xde\x50\x74\xf4\x06\x94\x6a\x89\xde\x37\x73\xa9\x4a\xea\xdb\xa4\xcc\xff\x87\xc6\xf6\x43\x87\xeb\x9d\x3e\xe3\xc5\xd5\xcd\x21\x7b\xff\x0f\x1a\xe9\xad\x2c\xca\xc3\xcd\x63\x4f\x3e\x7f\xf8\x6c\x2c\x91\xde\x6f\xae\xf5\xa1\x6f\x29\x49\x3b\x3e\xae\xf8\x3a\xc4\xc6\x87\xb7\x65\xf3\x66\x5f\x40\x42\xbe\xe0\xf2\x4c\xb2\x85\xf4\x2d\x1e\x1f\x47\x33\x1a\x47\xb4\x89\x09\xc0\x1f\x0c\xae\x44\x39\x8d\x22\x91\x97\x2f\x79\x76\x55\x69\xd2\xe4\xb2\x53\xa4\xa6\xc8\xbd\x90\xc3\x02\xfd\xed\xe8\x04\x13\xed\xf4\xd9\x7b\x2f\x4b\x34\x0f\x7b\x3e\x64\xb6\x47\xcf\x06\x6c\x21\x0b\x81\x86\x04\x33\x99\xca\xe2\xb0\x46\xf3\xf5\x0c\xcf\xc2\x2a\xdd\x9e\xd7\xdc\xd9\x21\x6c\x6c\x7e\x1c\x56\x09\x9a\xa3\xb2\x68\x63\xd3\x99\xfb\x1c\x34\x5b\x48\x7c\xf3\x6e\x9f\x2d\x7e\x6b\x34\x38\xe3\xab\x24\x5d\x6f\x6a\x82\x5f\x6b\x6b\x53\xe2\xc7\x1f\x5e\x1e\xba\xbd\xfa\xf1\x87\x97\xdd\xce\xb0\xd3\xf3\xf8\xdd\xcf\x1f\xec\x1f\xe6\xa1\xdf\x3b\x7f\x21\xd2\xfe\xa8\x44\xc1\xa2\x34\x89\xae\x49\x81\x17\xa5\x52\x09\x4d\x08\x4b\x30\xf7\x72\xf7\x38\x8b\xb5\x38\x6f\x79\xa1\xcd\x08\x3d\xd3\x3d\xcc\xb0\xcb\x4d\xf4\x06\x46\x69\xd0\x73\xa9\x88\xab\x7a\x10\x9b\x71\x96\x8d\xbe\xc1\x88\xaa\x7e\x35\x7f\xfa\xc4\xea\x65\x03\xa4\xc4\xaf\x65\x2c\x42\x37\xa4\x17\x4f\x9a\x77\xbb\x57\x79\x50\x88\x95\xbc\x11\xb3\x65\x92\x22\x34\xbd\x6a\xfe\x6d\x35\xf3\x97\xf7\x07\xe9\xc3\xac\x65\xa9\x35\x02\xc1\xf8\x6f\xa7\x07\xde\x91\xf5\x3b\xd7\x44\x14\x09\x67\x1d\xa2\x35\x62\x88\x70\xc3\x7c\x30\xfa\xae\xc0\x7c\x30\x1d\xd3\x65\x84\xd5\xac\x09\x95\x28\x59\x95\x0f\x40\xf8\xb8\x97\xfc\xfb\x94\x84\x28\xba\x9b\xd2\x21\xfc\xff\xb9\xa6\x87\x59\xca\x5b\x4c\x94\x75\x4e\x8c\xa7\x8f\x40\xc6\x52\x94\x6e\x4b\x55\x44\x66\x4a\x9a\xcf\x15\x64\x8a\x8e\x8d\xc8\xb4\xc7\x1a\x84\xde\x4b\x4e\x97\xa0\x09\xa9\xe1\x1f\x26\x5a\x49\x17\x74\x01\xbe\x08\x6d\x27\xf3\x92\xc0\x4b\x56\x6a\x3f\xf1\xb4\x12\xbe\x21\x25\xf0\x6b\x49\x06\x5d\x18\xbe\xb4\xe6\x26\xe7\x7f\x7a\xaf\xeb\x7f\x78\xf1\xc4\x77\xd7\xf1\xbb\xb6\x3c\x5a\xdb\xb4\x4c\x96\x1f\xff\xa4\x38\x75\x44\xdb\x41\xa9\xf1\x8d\x02\x37\x1c\x19\x78\x9e\x16\x82\xc7\x6b\x76\x93\xa8\x64\x9e\x92\x2d\x41\x83\x57\x04\x8f\x03\xc1\x63\x51\x58\x4b\x98\xce\x78\x2f\xbf\xeb\xbc\x30\x5f\xe3\xe4\x86\x1e\xbc\x5b\xcc\x89\xba\x96\xbd\xef\xd9\x06\xe6\x55\x50\x03\xb7\x03\x7f\x74\xfa\x6c\x6f\x07\x2d\x9c\x70\x3c\x1a\x09\x6a\xe0\x5f\x9d\x3e\xdb\x39\x70\x55\x52\xcc\x67\xdf\xa5\xc1\xe9\xdd\x67\x8b\x91\x67\xdb\x10\x3d\x0c\x75\xcd\x52\xe6\x7e\x45\xea\x7b\xcb\xbe\x3b\x43\x55\xb3\x14\x63\xc2\x71\x54\x27\xef\xe6\xcb\x47\x5b\xd7\x02\xdc\x54\x0e\x24\x0b\x6b\xb4\x11\x15\x82\x97\xe2\x14\xe5\xa8\x6e\x27\x4e\x6e\x10\xd0\xb6\xf6\x00\xb4\x06\x83\x48\x29\x30\x8b\x3f\x62\x86\x39\xea\x98\x1c\x49\x87\x8c\xcf\x21\x37\xae\x78\xe1\x94\x24\x1d\xb2\xb9\x3b\x64\x5b\xb7\x62\x7e\x9d\x94\x5b\x8b\x54\xdc\xf9\x15\xfc\xf2\x2d\x64\x6b\xa1\x33\xd2\x11\x7a\x35\x4b\x99\x1f\xb2\xf1\xe8\xbf\xf8\x65\x1a\xc0\x87\x6c\x27\x28\x03\xe0\x1e\xb2\xe7\x61\x4d\x04\xe4\x21\x3b\x08\x8b\xe7\xf2\x6e\x4b\x2d\x79\x2c\x6f\x0f\xd9\x88\x8d\xd8\x24\xbf\x73\x8a\x9f\xfb\x19\x03\xf6\x8c\x75\xc2\xae\x8a\x58\x14\x87\xbf\xb5\x0b\xa6\x64\x9a\xc4\x2f\x3a\x0e\xf3\x10\x91\x1f\xb3\x3d\x58\x73\xf3\xde\x3c\x1a\xfa\x94\xfc\x78\x8b\x78\xe1\x43\x06\xdb\x21\xb2\xb8\x0d\x84\x7a\x71\xc1\x61\xab\x03\xc2\xf2\x40\x5b\x11\x32\x3b\xbf\x13\xa2\xf7\xb6\x6e\x70\x5a\xf5\xd6\x9a\x0d\xda\x52\xc0\x38\x69\x52\xd0\xf8\xb4\x20\x16\x69\xd3\xe4\x1c\x9b\x54\x3b\x0a\xa0\x6e\x89\xf1\xaa\x46\x38\xf4\x2c\xe1\x03\x1d\xaf\x67\xd1\xf4\x1a\x92\x89\x5a\xbd\x85\xcf\x03\x0d\xac\x31\x2c\xf1\x44\x8f\xd8\x70\x66\xda\x2a\x51\x4e\x4b\x4a\x46\xda\xed\x14\x32\x05\xf7\x38\xfc\x58\xaf\xba\x01\x3b\x18\xeb\xac\x78\x71\x95\x64\x5b\x70\xb2\xb6\xb6\x03\x18\xb9\xaf\x05\xee\x7a\xe3\x33\xb2\xb3\x87\x2c\x97\xa0\xda\x7b\x51\x1b\xb6\x14\x77\xe5\x0c\xd1\x89\x5c\x52\xf8\x64\xd1\x09\xaa\xf0\x38\x3e\xd5\xd2\xe5\x4b\x92\x93\xbb\x1d\xe0\x17\x3b\xfd\x80\xdb\x31\x0c\x5f\xc8\x69\xea\x6e\x08\xfd\xfd\xfd\xc0\x9e\x7b\xc1\xc5\x40\x37\xf4\x51\x5d\xe3\xb2\x09\xda\x58\x03\x97\x43\xec\x8e\xcc\x52\x14\xa6\x3c\xa5\x41\x5d\xf4\xa4\xaa\x7f\xfc\x30\xea\xf2\x43\x36\x6e\xa1\x69\xe0\xea\x15\x0c\x16\xa0\x81\x2a\xa2\x4e\x20\x43\x6e\xaa\x27\xf8\x2a\x15\x4a\xe9\xca\x45\x25\xee\x41\x6f\x6c\xee\xf1\x56\xfa\x8e\x0c\x6a\xd8\x76\x8f\x52\x7c\x5f\x8b\x35\x1a\x8b\xfe\xef\xa3\xfb\x46\x76\xe2\x7b\xb3\xb0\xef\xc5\xfa\x15\xcf\x7d\x5d\xb8\xf9\xc4\x96\xa0\x5e\xb1\x41\xad\x66\x32\xc3\x1c\x97\x32\xfb\x5e\xac\xbf\x42\x45\x0b\x66\x49\x45\xcf\x1e\xfd\xe5\xa7\xcb\xef\xc5\x5a\x95\x85\xbc\x16\x46\x66\xe2\x4a\xc9\x28\xe1\x25\x66\x78\x0f\x55\xb4\x9e\x36\x16\x59\x78\x01\x5a\xee\x43\xf6\xfe\xff\xba\x3c\xfd\xe1\xd5\x07\xc6\x35\xf4\xc8\x43\x0e\xd6\x7a\x53\x0e\x7e\x6d\x98\x8d\xb6\xe9\x7d\x6b\x43\x78\xd3\x30\xaf\xa9\x89\x62\x76\x7f\x3d\x06\xd7\xae\xbf\x45\x17\xeb\x42\x31\x39\xcd\xf2\x4d\x89\x6f\x05\x79\x21\x28\x28\x50\x40\x9d\x03\xc5\xac\x6b\x6c\x6d\x61\x45\xa7\xb0\x56\xcb\xe9\x9a\x45\x3c\x2f\xd1\xfb\xca\xcc\xcd\x00\x7a\x21\x5d\xe7\xe6\x1b\xd1\x00\xa7\x56\xf5\x06\xd0\xad\xcc\x1e\x2a\x8c\x76\xe4\xf2\x9f\x03\x30\xd1\x69\xa3\x5c\x8a\xa4\x60\x90\xc6\x11\xd8\x7d\x7d\x1d\xaa\x3e\x53\xfc\x46\xef\x98\xee\x4e\x49\xf4\x9b\x43\xd4\x63\x55\x06\x6f\x5a\xe0\x29\x46\xa9\x9e\xb5\x2c\x18\x90\xc6\x3e\xea\xfb\x29\x8e\x4c\x6c\x27\x6e\xe6\xf3\xd1\x66\x06\x60\xec\x7d\x67\x9e\x56\x85\xa3\xa2\xc7\x69\x55\xf8\xc4\xea\x83\xd5\x45\x75\xae\xc5\x3a\x96\xb7\x99\xab\xfb\xbd\x58\x9f\xc8\xdb\x6c\x73\xf5\xbc\x20\xc2\x61\xeb\xbf\xd5\x25\x9b\x1b\x54\x79\x50\xfb\xc7\x7c\x43\x55\x7d\x5f\x9c\x67\x79\x55\xba\xea\x97\xa6\x28\x68\xf2\x84\x31\x14\x4d\xe0\x7c\x31\x12\xc3\x8c\x9d\xfa\xb5\x58\xb3\x15\xcf\xe1\x72\xfd\x6a\xe8\xed\xef\x2b\x9e\x93\xf2\xb1\xf5\xc4\x1a\x3a\x6e\x5a\xe8\x01\x93\xec\x4a\xb5\xb7\x39\xa6\xaf\x5e\x2b\x3b\x9b\x4c\x66\xe2\x90\x9d\x24\x0a\x42\x6c\xf1\x6c\xcd\xa6\x69\xf9\x97\x82\x15\x22\x85\xd3\xb2\xaa\xb2\x2b\xe3\xe5\xf5\x15\x8b\xca\x22\xdd\xe2\x69\x79\xc8\xa6\x90\xf2\x96\xcd\xca\x22\x7d\x36\x4d\x4b\xb6\x12\x3c\x53\xd8\x96\xea\x6a\x6e\x37\xa8\x0b\xf2\x45\x7b\x5d\x20\x95\x41\x65\x24\xb4\xad\xb5\x2d\x9c\xb8\x2e\x7b\xa5\xc9\xa7\x71\x5a\x0b\xd7\x76\xbe\xc0\xd4\x8a\xec\x62\x99\x2c\xca\xad\xf3\x4c\x89\x82\x5e\xc7\x16\xe0\x19\xbe\x84\xf7\x39\xa3\x2c\x30\x4e\x36\x90\xc0\x1a\x6c\xc1\x07\xb6\x1f\xe0\x94\x20\x41\xbf\xde\x33\x22\x71\xd0\xd3\x1c\xb4\xe1\xd6\x52\x6b\x29\xc1\x06\xca\x9f\xa6\xd2\xa3\xe3\xe0\x68\x27\x7f\x44\x71\x08\x5b\xe7\xba\x94\x2b\x31\x14\x60\x8d\x9a\xa6\x36\xec\x58\xf0\xfa\xa8\xc0\x15\x75\xce\x0b\xf4\x88\xd7\xdd\xdb\x66\xd8\x1b\xb4\x55\x02\xcf\x37\xfb\xe9\x52\x4f\x5a\xdf\x33\x6a\xc0\xec\x6a\xf4\xa7\xcc\x0d\xa7\x40\xc3\xfa\xd3\x25\xdc\x47\x0a\x2d\x4c\x74\x57\x61\xf7\x34\xb6\xaa\x2d\x51\x7f\xd6\xa4\x1f\x9d\x64\xbd\x2c\x8c\xde\x0a\x2f\x40\x40\x56\x8c\xcf\xe5\x8d\xe8\x93\x8d\x3c\xf0\x9a\x39\xbf\x12\xac\xca\x87\xf0\x53\x9f\xf0\x5a\xef\xba\xfc\xa1\xde\x2d\xfc\x34\x46\x6e\xbd\x4d\x2b\x35\x7c\x95\x64\x95\x1a\xfe\xbb\x28\xa4\x01\xa3\x02\x8f\xf7\xc6\xae\x42\x13\xc4\x91\x7b\x1b\x52\x4d\xf8\x4c\xf0\xfa\xeb\xc7\x3e\xf6\xe6\x86\x85\x76\xb1\xb4\xa1\xaf\xc2\xb5\xe8\x13\xa4\xab\x41\x27\xba\xea\xbf\x4b\xb9\x6a\xc5\x08\x38\x5a\x33\x74\x7a\x57\xe0\x48\x00\xeb\xa3\x71\x67\x1a\xe1\x34\xb2\xe9\x2f\xd6\x43\xc0\x34\x83\xc5\x3c\x9b\xb5\x56\xc6\x6e\x5c\xb7\x5e\xe3\x60\x96\x33\xf0\xaa\x69\x05\x36\x8c\xf1\x13\x9e\x91\xe6\xd4\x7e\x7a\xc4\xd4\x7e\x6a\xad\x8c\xdd\xb8\x6e\x37\x4d\xed\x27\x73\x8e\x5a\xe6\x76\x0a\x2e\xf4\xc3\xd8\x50\xb4\x3c\x4f\x8d\xfb\xbb\xbe\x10\x78\x8c\xfd\x19\x5a\x9c\x28\x7a\xb0\x26\x33\x5b\xbe\x66\x59\xb5\x12\x45\x12\xc1\x41\x87\x6b\x13\xce\xb7\x7d\x97\xf4\xb8\x86\x80\x18\xb9\x81\xbe\x87\x71\x1e\x35\x3d\x60\x91\xbc\x29\x5a\x13\xcd\x58\x3c\x38\x4f\xaa\xfb\xbb\xa7\x89\x2a\xfc\x07\x8e\x13\x10\x46\xcd\x13\x40\x04\x0e\xf2\xa9\x07\xca\x72\x7c\xc1\xba\x9d\x9f\xef\x46\x07\x9d\x3e\xe3\xd7\x9c\xfd\xf5\xbb\xde\x80\x61\x7e\xff\xdb\x44\x09\xec\x27\x6c\xae\xaf\x3b\xbf\x8b\xce\xcf\x77\xfb\x8b\x4e\x6d\x86\xb6\x3a\xbc\xf9\x1c\xdb\xc6\xad\xf3\xc4\xf0\x33\x98\x64\xd8\x28\x2e\x35\x49\x89\x79\xc9\x1f\xa2\xcb\xd6\x98\xf5\xd4\x74\x70\xc4\x3a\x55\xb9\xd8\x3a\xa8\xdd\x23\x17\xa2\x74\x79\x6a\x97\x42\x8f\xc3\x71\x2d\x80\xc3\x9c\xa5\x82\x43\x7b\xa1\x22\x9e\x0b\x26\x0b\x48\xb7\x1e\x8e\xa6\x1b\xc1\x8a\x4e\xb1\x52\xdb\x91\xf7\x07\xd2\xf5\xb7\x7e\x42\x07\x4b\x63\x58\x2c\xdb\x96\xa1\x3f\xbe\x12\x25\xff\xa9\x9d\x8a\x18\x02\x66\xd4\xc3\x3c\x45\xb6\x03\x6c\x90\x35\x3b\x16\x1c\x08\x5a\xc2\x00\xff\x91\x56\x3d\x63\xa7\x17\x33\x08\x56\x91\xdc\xd1\x51\xc6\x20\xa4\x03\x53\x6f\x1a\xc7\x6c\x3c\x39\x30\xc0\xae\x32\xb8\x35\x44\xec\x85\xcf\xe3\x4a\x33\xf0\x77\x14\x39\x05\xfa\xa0\x0b\x77\xeb\x5a\xac\x07\x03\xf6\x8e\x27\xa5\x55\x3d\x18\xde\x8d\x18\x59\xb8\xe7\x84\x60\xb7\xc6\x4c\xd4\xdc\xd5\x8a\xaf\x95\xe9\x2e\xfc\xd7\x85\x33\x73\x2b\xb3\x4e\xc9\x6e\x65\x71\xcd\x6e\x45\x9a\x6a\xa9\x24\x4f\x79\x09\x11\x21\xc9\x69\xde\xeb\xae\xb5\x23\x96\x8b\x02\xeb\x73\x1b\x5f\x84\xbb\x98\xd6\x10\x90\x46\x03\x55\x89\xbf\x55\x5a\x50\x51\x83\x5e\xfd\xe4\x2a\x51\x82\x95\x2b\x44\x08\x59\xf1\x12\x0c\xa8\x81\x45\xd6\x0d\x13\xc5\xe2\x44\x95\x49\x16\xd1\xf1\x05\xfc\xea\xf2\xb4\x3c\x87\x8d\x65\x89\xc2\xbe\x90\x1c\xf6\x1a\x4c\x10\xa0\xd5\x3b\x0d\x9a\x23\xd6\xc1\x0d\x7c\x00\x83\x0d\x12\xf0\x48\xcb\x70\x0a\x1e\x4e\x10\xa7\xfb\x60\xb2\x26\x38\x98\xaf\xe7\x85\x8c\x2b\x08\xb6\x0a\xdb\x4d\x3c\x60\x10\x77\xd5\xae\xb3\xa8\xe0\xd5\x05\x23\x98\xf4\x0d\x8b\x01\x81\x68\xb0\x44\x8b\x28\xba\x80\x57\xa5\x44\x57\x71\x67\x13\x6a\xf6\xa4\xc9\xe0\x11\x08\x1e\x20\x52\x05\x58\xe3\x49\x72\x41\x67\x27\xa7\x2f\x61\x79\x24\x3b\xd9\xa0\x40\x00\x5d\x9e\x96\x5b\x8e\x24\xc9\x8c\xce\x09\x3a\x40\xbf\xb9\x60\x37\x64\x83\xc2\xa1\x73\xdb\x17\xa0\xa3\xbf\x62\xa7\xd2\x3b\x64\x53\x32\xec\x4a\x56\x18\x2e\xa8\x48\xf4\x7e\xf7\xf5\xd2\x6c\xc7\xfd\xda\xc8\x89\xd2\xac\x7f\x2e\x88\xcf\x2a\xa5\x1e\x6a\xc0\x2e\x74\xed\x4a\x69\x0c\x59\xf1\xb5\x66\x2f\x97\x3c\xcf\xd7\x4e\x6c\x45\xf3\x0c\xb0\xc8\xb4\x55\x16\x45\xa5\xca\x02\xa5\x6c\x66\xc2\x20\x25\x65\x47\xb1\x64\x95\x4b\x05\x8f\x11\x00\x1f\x89\x74\xc5\xce\x62\x00\x40\x5c\xe2\x88\xb4\x79\x0a\xa5\x63\x7d\xde\x89\xb9\xb9\x85\xef\x00\x91\x24\xba\x86\x53\xae\x0f\x53\x08\x21\x3c\xaf\x4d\x10\x1f\x5a\x18\x07\xc5\x7d\xdd\x2b\xf1\xa9\x22\x40\xca\x2b\x09\x4c\x60\x1f\x19\xd4\x2b\x51\x32\x6e\xc6\x40\xc6\xdb\x5f\x23\xb9\x6e\x98\x4d\xc6\xe3\x94\xc9\x12\xf7\x4b\xc4\x03\x50\x2b\x50\xc2\xfa\xa8\x98\x57\x57\x83\x48\xae\x86\xe3\xfd\x9d\x9d\xf1\x88\x35\xf1\xcd\xde\x37\x88\x78\x0f\x5c\x3f\x3f\x12\x59\xbe\x16\x22\x67\x65\xc1\xa3\x6b\x63\x40\x68\x24\x3c\xbd\x66\xb8\x2a\x4a\x88\x9c\x61\x5d\x4f\x32\x11\x09\xa5\x20\x42\xbe\x2c\xdc\x5d\x79\xdf\x0c\x5c\xb4\x20\xe4\xa1\x81\x2a\x1a\x82\x69\x65\x21\xec\xcb\xd5\x05\xa3\x40\xb4\x46\xe4\x6c\x9e\x94\x2b\x9e\x23\x2e\x21\xf5\x9b\x27\x25\x33\x8f\x22\x8a\x45\xb2\x28\x84\xca\x65\x66\xa2\x2c\x61\x6f\x4f\x53\x89\x2c\xc3\x53\x4d\x12\x20\x1b\xbe\x59\xa7\x3d\x66\x4d\x50\x1a\x69\x5b\xc4\x36\xe2\x66\x0b\xbb\x6e\xcf\xdd\x4a\xc4\x09\x47\x6e\xc6\x08\x56\x78\x3e\x68\x2a\x49\xc1\xce\x00\x94\xe2\x6f\x55\x72\xc3\x53\x3b\x26\x3b\x1d\x5c\x0d\xd8\x53\x0d\xa8\xa7\x2d\x4d\xcf\xc6\x03\x9f\xd7\xc7\xf1\xc8\x44\x12\x2c\x88\x8c\x50\xd7\xb8\xb0\xe3\x84\x6b\xb1\x63\x5a\x88\x33\xfd\xb3\x1d\x05\xbe\x93\x29\x59\xa6\xe4\x85\xb8\x49\x64\xe5\x91\xfb\x05\x0b\xa8\x33\x50\xfc\x93\xd3\xd9\xc5\xe9\x25\x83\x9c\xb3\xe8\x82\x14\x0f\xc0\x2f\x08\xbb\x3b\x39\x9d\xfd\x70\x11\x7e\xee\x87\xbd\x58\x4e\x30\x06\xce\xca\x1a\x8f\xa3\x36\x07\x76\x9a\x44\xfb\x0a\x94\x34\xb2\x6a\x70\x0c\x34\xd1\xa9\xd7\x6d\xab\x6d\xde\x05\x85\xe9\x05\x40\x41\x04\x41\xe4\x37\x67\x20\x22\x42\x9c\x29\xab\xa7\x4a\xf9\x1a\x47\x6a\xa8\xd2\xf4\x2f\xd3\xc8\x58\x17\xfe\x23\xe0\x4e\xb4\x18\xae\xa7\x23\xb2\xf2\xc4\xdc\xad\xfa\xae\x2f\x65\xfe\xb6\x90\x39\xbf\xf2\x03\x57\xa1\xca\xce\x63\x09\x48\xc4\xc2\xbe\x44\x20\x2b\xcc\xa6\xaf\x67\xa7\x2f\x0f\x41\x1d\x82\xd6\x9d\xdd\x0e\x96\x75\x7a\xfd\x1a\x0b\xa9\x89\x9d\xb9\xe3\xf5\x46\x9a\x5b\xde\x99\xfb\x46\x41\xf8\x2c\xcd\xaf\x80\x1c\x0d\x41\x2b\x50\x05\x8b\x7d\x99\xe8\x12\xa6\x05\x69\xd8\x6a\x7a\x03\x6b\x87\x0e\x8a\x86\x22\xc9\x30\xbe\x39\xdc\xbe\xb6\x2b\x3f\xc8\xfd\x06\x35\x43\x30\x07\x99\x09\x73\x26\x57\x32\x4e\x16\x89\x61\x67\x70\x2a\xaa\x5f\x8b\x03\xa7\x3b\xa5\x55\xc3\x17\x9c\xb9\x9d\xf8\x42\x8f\xdc\xa5\xbb\x63\xdd\xb3\x04\x1c\xc3\x2b\x27\x65\xc0\x34\x6e\x99\x5b\x84\x3a\x31\xac\x10\x46\x60\x54\x48\x6f\x66\x17\xe7\x7d\x8a\xa3\x40\x5f\xcd\xc2\x38\x38\x35\x99\xbb\x8b\x31\xf4\xc9\x03\xf7\xbd\x60\x3d\x0c\x14\xbe\x82\xb8\xc9\x58\xa8\xa8\x48\xe6\xb8\x7a\xa3\x31\x36\x06\xbb\x18\xdd\xcc\x74\x67\xc2\xc7\xeb\x4f\x4f\xdf\xce\xb6\x2e\x40\xb1\x7e\x66\x2c\x12\xf4\xe1\x7e\xca\x14\x3e\xe6\xb6\x2f\xcc\xe8\x61\x88\x73\xd6\xf7\x93\xdd\x5c\x5d\xb6\x61\x4b\x5d\x98\x39\x3b\x19\xd3\xaa\xca\x73\x51\x44\x5c\x09\x1b\x1f\x88\x26\xe8\x98\xe7\x6b\xb1\x8e\x38\xc4\xcb\x21\x23\x74\xdb\xc9\xde\x0e\xeb\x62\x74\xfd\xce\x7f\xed\xf4\xa0\xcf\xe7\xbb\xb6\xe8\x63\xa7\x47\x97\xe7\x7d\x03\xd9\xce\x1a\x03\xae\x40\xc1\xb1\xb7\x83\x51\x0d\xb3\xd2\x5c\x21\x2b\x7e\x2d\x14\xeb\xfc\xf5\xbf\x76\xac\xf8\x36\x1a\x75\x9c\xaa\x88\x31\xd6\xf9\xeb\x47\xf7\x71\xbc\xe8\x0c\x18\xeb\xbe\x96\xc6\xb5\x52\xe3\xe8\x32\xb9\x42\x2e\x94\x97\x6c\x74\x37\x5e\xe8\x41\x46\x77\x93\x91\xbb\x1b\xdd\xbe\xc1\x4e\x16\xaa\xf4\x20\x8a\x4b\x84\x48\x8a\x01\x9f\xed\xb6\xca\x13\x70\x7e\xf3\x36\x01\xd4\x82\xf1\x31\x66\xa3\xb9\xd4\xfd\x7c\x30\x06\x68\x55\xce\xe6\x6b\x2d\xfd\x34\x31\x67\x85\xdc\xbb\x9b\x47\x24\xb3\x45\x72\x55\x15\x78\x33\x29\x92\xae\x90\x65\xef\x03\xc8\xe6\x9d\xe0\xbc\xdb\xb9\x50\xac\xba\xe6\x49\x75\xc4\x4b\x78\xb2\xfe\xc9\xe9\xd9\xf4\xc7\x97\x97\x21\xfd\xa3\xc2\x3a\x01\x9c\xa1\x27\x67\x18\xc0\x4f\x32\x99\x97\xfa\xee\x80\x58\x96\x86\xfe\x07\x37\xbe\x13\x15\x52\xbc\xf0\x3c\x91\x9f\xc4\xb3\x58\x00\xa9\x29\x97\x96\x62\xe8\xc9\xbd\x9d\x5e\x5c\x84\x33\xd3\x25\xf5\x69\x91\xba\xd6\x21\x81\x16\xb6\x44\xa4\x79\x13\xb7\x0f\x8e\x0b\x99\xf1\xbc\xef\x04\x0a\x81\x5a\xd7\xef\xc5\x7a\xe0\x14\x05\x7a\xe6\x06\xb8\x24\xfb\x22\xe5\xa4\x77\x04\x7c\x11\x11\x83\xf0\x42\xea\xf6\x4c\x23\x22\xcc\xc6\x28\xca\x6e\xf6\x79\x49\x57\xf5\xa2\x4a\xc9\xe9\x99\x48\x56\x6c\xa4\x2c\x88\xc8\x87\x1c\x57\x52\x32\xcd\x14\x65\x65\x02\xc1\xf6\x55\x59\x24\xb9\x72\x07\xd2\x12\x3b\x4c\xc3\x43\x73\x31\xc0\x37\x80\x05\x36\xbb\x10\x1c\xe3\x6d\xd1\xa5\x70\x6d\x56\xab\x81\x7c\x71\xf9\xc3\xf9\xdb\x10\xca\x50\xd4\xe9\xf9\x37\x3c\xa8\x3e\x84\x73\x91\xe2\x51\x24\x8b\xd8\xeb\xb3\xa3\x91\x74\xcb\xa8\x58\xfc\x90\x95\xad\x57\xbd\xe7\x0c\x86\x3d\xb7\x45\x63\x77\x36\x57\x4d\x0d\x8c\x55\xc1\x04\x11\xed\x83\x37\xb5\xc1\x4d\x49\xbd\xff\x78\x79\x76\x00\xdd\xbe\x08\xc3\x2e\x87\xf6\x94\xf0\xa6\x26\x1a\x2f\x6a\xfe\x75\xea\x3d\x0f\xd2\xd3\x5c\xe0\xc9\xe3\xe4\x22\x4f\xaf\xc6\x4c\xcf\xb6\x47\x2d\x62\x46\xf8\x4e\x4a\x21\x31\x8d\x67\x0c\x78\x93\x1b\x9d\x3e\x48\x27\xee\xe6\x4d\x8a\xba\x5a\x41\x16\x6c\x5e\xcd\x49\x64\x43\x4f\x3f\x9a\x95\x7d\xfb\x7c\xcb\x95\x82\xfd\x42\xb1\xda\xc5\xd6\x49\x53\xf7\x42\x17\xcc\xd7\x3e\x06\xb6\x45\xdd\xa1\x97\xc4\xcf\xb6\xa3\xe0\x91\x72\x29\x95\xb0\x50\x5b\x9a\xb0\x80\x11\xad\xbe\xcf\xb4\x00\x83\x6a\x13\x23\xe3\xfb\xea\xcd\xfb\x5e\x59\x3d\x7c\xa1\x39\xb7\xbd\xbf\xd2\x44\x3c\xbf\x0e\x9a\xd9\xd1\x51\xfb\x83\xa8\x8f\x3b\xd6\xd8\xc5\x34\x32\xd6\x7d\xed\x8d\xd0\xea\x22\x9c\x0b\x44\x10\xeb\x6d\x4c\x19\x10\x3e\x6d\xda\x40\xed\x89\x8b\xcf\x0e\x76\x52\x58\xc1\x58\x65\xd8\xfa\xef\x93\x0f\x2e\xd8\x60\xb0\x52\xfd\xcf\x60\x63\xc3\xf8\x84\xda\xbf\x1f\x7d\xe8\x9b\xae\xdf\x8f\x3f\xb4\x47\x46\x6b\x5d\xee\xa0\xe5\xdd\xf6\x81\x5e\x03\x5f\x97\x96\x47\x68\x9a\x6c\x98\x33\x82\x30\x21\x3c\x7d\x06\x79\x82\x53\x06\xc8\xcb\xd3\x94\x14\x95\x36\xe6\x9d\xd4\x42\xa7\x96\x96\x7d\x9d\x8e\x09\x58\xf0\x00\x56\xd9\xb3\xd0\x86\x57\x9e\x21\xf6\x86\x1d\x6f\xba\x9b\x78\xef\xbc\x34\x15\xb3\x86\x77\xf0\x96\x0f\x09\x84\xa2\x12\x13\xa9\x80\x8f\x0d\xa9\x08\xae\xd0\x4f\x5a\xcb\xa0\xf3\xaa\x64\xb7\x82\xc5\xd2\x18\x49\xbc\xe2\x91\xe1\x5c\x35\xa3\x06\x4e\x7f\x70\x57\x84\x3e\x86\x3c\xcf\x49\xe5\xac\xd6\x59\xb9\x14\x25\x3d\x52\x80\x54\x01\xfa\x2f\x94\x6e\x1f\x80\x89\xff\x54\xbd\xc1\x71\xea\x0b\x72\x75\xaa\x9f\x23\x72\xa8\x52\x79\x9a\x94\xdd\x4e\xa7\x37\x58\xc8\xe2\x94\x47\xcb\x6e\x48\xa0\x03\x4b\x10\xf7\x1a\x6e\x2b\xf4\x36\x80\xd6\x68\x0c\x3c\xc8\xde\xbb\x0e\xfb\x9e\xdf\xb2\x0c\x93\xb5\xc3\x1a\x2a\x6a\xe4\x39\xa2\xbb\x70\xa0\xef\xcf\x19\xa5\x0b\xe8\x8a\x01\xb0\x9e\xce\x10\x56\xde\x8a\xe2\x7b\xa8\xae\xaf\xd4\x52\xbe\xd4\x05\x33\x8e\xb6\xec\x08\xa1\xae\x80\x97\x28\x5d\xeb\xd3\x27\x26\x40\xbd\xff\xbd\x58\xf7\x34\x79\xe9\xba\x0e\x8e\x58\x27\xea\xe8\x1a\x41\xd1\x4d\xa7\xe7\x59\xdd\xbd\xc9\x30\x7a\x98\x70\x7a\x46\xd6\xd5\x78\xa4\xff\xd4\xac\x63\x8f\x0e\x0d\xbc\x05\x2c\x12\x7d\xe3\x40\x36\x45\x99\xaf\x87\xee\x9d\x5a\x77\xf5\x52\x40\xec\xeb\xe0\x75\xdb\x48\xad\xe6\x92\x31\xe7\x6a\x2e\x96\xfc\x26\x91\x15\xbe\xaa\xd7\x6d\x94\xd1\x7d\x0e\xb5\x38\x96\x64\x86\xba\xe6\x23\xd6\xf1\x34\xf8\x1d\x5d\x4b\xd8\x1c\x0c\x90\x9c\xca\x0f\x96\x06\x29\xb7\xae\x64\xc9\x50\xed\x24\x20\x7e\x08\xe8\x00\xf5\xdf\xe2\x2e\xa7\xd8\xa1\xb5\xa3\x4f\x3a\x1a\x9e\x99\x8e\x7c\x55\x3b\x9c\xa4\xa4\x64\x71\x12\x67\x9d\x52\x1f\xa8\xa4\x24\xc9\xe7\x56\xb0\x15\x98\x10\xcc\x05\x06\x1d\x60\x6f\x2e\x4c\xba\x38\xdb\x55\x66\x02\x6e\xb3\xf3\x57\xa7\x14\xba\xce\x44\x4d\x01\x63\x2b\x9c\x21\x80\xd3\xe8\x5a\xe0\x05\x63\x2b\x4d\x50\x0d\xa9\xbb\x21\x40\x16\x66\x17\x4c\xf9\xa5\x1f\xe7\x05\x56\x0d\xfa\x7f\x50\xb7\x2f\xc8\xd4\x46\x8b\x56\xeb\x3c\x89\x80\x5c\x00\x79\xf0\xde\x27\xf0\xae\x35\xdd\x41\x7c\x79\x7f\x03\x4a\xc9\x44\x02\xdc\x81\x51\xfa\x6b\xce\xa1\x03\xaa\xfa\x8e\xb3\xd7\x8c\x96\x1b\xd1\x9e\x54\x39\x5e\x5a\x8c\x2f\x1c\xe3\x6c\x2c\xee\xa1\x7d\xb4\x6c\x1e\x03\xc6\x88\xc3\x8b\x96\x7e\xea\x8d\x51\x8f\x3d\xd3\xe2\x10\x1c\x3c\x2f\x99\xa3\x87\x1b\xdf\x1c\xb1\xed\x89\x35\xa4\xd7\xfd\xbb\x8f\x01\x06\x46\x4b\xef\x56\x6e\x27\x2f\xdd\xb6\xa5\x45\xcb\x5e\x8f\x08\x56\x9d\x99\x7f\x01\xa5\x35\x05\x53\xcd\x05\xe7\x2d\xb6\xb1\x47\x26\xd0\x7f\x65\x32\xdb\x02\x3b\x18\x23\x00\x5a\x9f\x43\xb8\x05\x96\x90\x30\x67\x35\x4f\x32\x63\x20\x45\x2a\xc7\x5c\x4f\x5f\x81\x00\xde\xe1\x79\x4e\xa1\x92\x07\x8b\x2a\x4d\x29\x3e\x90\xf1\x86\x39\x55\x51\xa7\x6f\x58\x46\x0a\xca\x0d\x59\x71\x65\xb9\xb4\x44\x01\x3e\xea\x3f\xaa\x9c\xc8\x65\xff\x09\x49\x5f\xa7\x17\x33\x92\x76\x57\x3c\xc9\xb4\x64\x02\x57\xb0\x9e\x4c\x92\x31\x37\xa0\x99\x99\xbe\x57\x4c\x5c\xea\xfb\x49\x2e\x01\x13\xdb\x4d\xf3\xfc\xb5\xcc\x66\x65\x91\xc2\x9b\x3e\x41\x78\xe3\x95\x12\x46\x9a\xfd\xf4\x89\x85\x25\x10\x4b\xb7\xb5\x94\x20\xd5\xab\x91\x29\x42\x57\x8f\x0a\x37\x90\xb7\x6d\xf7\xf5\x36\xdf\x73\xa5\x80\xf9\x59\xcb\x12\x36\x29\xb5\x1f\xe8\x0e\x6d\xc8\x36\xba\x27\xd3\x01\xd4\xc4\x72\x7c\xe0\xa1\x7a\x7d\xa0\x96\xc2\x2f\xd9\xff\xe8\x8e\xd9\xd7\x5f\xeb\x6e\x8c\x7a\x9e\x6d\xb1\x71\xcf\x99\x77\x07\xfd\x4f\xf6\xbd\xfe\x1f\xb3\x8f\x5d\xb1\xf9\x96\xd6\xd2\xf2\x6f\xb8\xa4\xc1\x48\xef\xcf\x00\xc2\x27\xf6\x2f\x80\x81\xe3\x1f\x4e\x84\xf1\x1d\x22\x1b\xbd\x01\x16\xaa\xf7\x76\x98\x0f\x16\x35\xf1\x53\xdd\x5d\xe8\x96\x17\x59\xb7\xf3\x5a\x32\x48\x9f\x94\x58\xbd\x32\x35\x47\x03\xff\x3a\x65\xae\xdd\xcd\x64\xe3\x69\x92\x93\x90\xd4\x88\xb6\xa4\x57\x92\x84\xf7\x4a\xd9\x34\xd9\x85\x50\x32\xbd\x11\x31\x2a\xe1\xc3\x0c\x22\x2d\x5e\x51\x9e\xaf\x16\x38\xc1\x5a\x87\x38\xef\x3a\x37\xc9\xc4\x9c\x7a\xa3\x16\xad\x81\x0a\x33\x8c\x7c\x60\x54\x73\x56\x65\xc5\x4d\x47\x2e\x5f\x41\x9c\xa8\x1c\x62\xae\x26\x65\xa3\x45\x2c\x16\xa2\x50\x46\x5a\x0f\x14\x60\x7d\xd3\x13\xad\xd2\xbc\x0b\x82\x66\x6a\x60\x9c\xc2\xda\x00\xc0\x57\x82\x9c\xc6\x20\xa6\x3c\x8e\x74\x44\xfb\x6c\x9c\xca\xcc\xc5\xa8\x81\xed\x60\xad\x79\x1f\x33\x73\xeb\x73\x6a\x7b\xc0\x5f\xc0\xd4\x66\xdd\x05\x4f\x35\xc4\x96\x3e\x7b\x2f\xfa\xd4\xff\x87\x1e\x8d\xad\x3b\xb7\xbd\x1e\x19\xc5\x9d\x66\xa6\x6c\xd8\x02\x7a\x54\x68\x8c\xe3\x76\xc7\x56\x09\xbd\xe0\xb0\xa6\x8f\x37\x4e\x17\x4b\x6f\xba\xa0\xf5\x2b\x92\x3c\x15\x5b\x14\xbe\xa7\xdb\x39\x3a\x3a\xea\xf4\x98\xcc\x45\xc1\x4b\x59\xe0\x73\xaf\x2a\x31\x56\x51\x52\x9a\x17\x4b\x8c\x59\xab\x50\xe5\x51\x72\x7d\x01\x81\x36\xad\x88\x91\x73\x43\x9b\x86\xab\x4a\x2d\xf5\x05\x74\xe5\x94\xa8\x54\x1d\x75\x58\xf0\x09\x7b\xd3\xe0\x65\x69\x52\x8a\x82\xa7\x41\xc4\x1d\xc3\x43\x95\xd2\x18\xfe\xbb\x90\x45\xf3\x35\x66\x00\x81\x3d\xc4\x07\x1e\xeb\x35\xd7\xf2\x00\x35\xc0\x2a\x86\xd3\x37\xd0\xbe\xaf\x05\xd5\x31\x4d\xde\x4e\x2f\x2e\xee\xad\xaf\x2b\x98\xca\xa0\x71\xbb\xb7\x36\xd4\x08\x1c\xe0\x0a\x88\x32\x67\x2f\x36\xd3\x95\xe6\x7b\x8f\xea\x66\x11\xdf\x92\x9d\xc5\x21\x33\xbc\xba\x4d\x12\x8e\x56\x13\x8d\xfa\x8e\xa9\x0f\xc5\x96\x43\xf7\x87\xcd\x92\x9b\x99\x23\xbe\xb5\xd2\xc8\x7b\x2b\x98\xaa\x0a\xcc\x22\xe1\x94\xae\x96\x27\xb2\xea\x74\x78\x19\x7c\xfa\x7e\x30\x18\x7c\x78\xea\xe2\xfa\x5b\x65\xfb\x11\xfb\xa2\x3b\xfc\xeb\xcf\xef\x7f\xbe\x7d\xf6\xf3\x87\xff\x3c\x84\x5c\x2b\x5d\x3c\x14\x03\xec\x92\xc8\xb7\xba\x4d\x20\x04\x73\x68\xeb\x6b\x09\xaa\x66\xce\x3b\xc6\x20\xb9\x73\x68\x0f\x93\x3f\xd6\x97\x5f\x5a\x90\x7e\xf9\xa5\x06\x61\x10\xd2\xde\x34\x76\x53\x27\x63\x63\x18\x6c\xc0\xd8\x3b\xc1\xa2\x54\xf0\x02\xf4\xe0\xfe\x33\x10\x3d\x79\x38\x89\xc4\x68\x6d\xf1\x19\xf6\x96\x27\x25\x2a\xf8\x85\x7d\x37\x80\x3b\x28\xb1\x20\x8d\xed\x0d\x6a\x23\xde\xdb\xbd\xb7\x59\x0f\xe0\xb4\xc3\xbe\x7b\x45\x9f\xe1\x7f\x4a\xcf\xe7\x81\xc2\xda\x50\x6f\x86\x45\x4d\x4c\xb7\x9a\xb9\x3a\x67\x31\xe9\x79\x79\x4b\xfe\xe0\xb4\x8c\x19\xf8\x1f\x9f\xd5\xf8\x8f\xce\xca\xf3\xb2\x32\x94\xd1\xc8\x19\xd8\x9d\xe9\xbf\x8d\xc2\x52\x95\x8e\x9f\x46\x01\x68\xb7\x43\xaa\xb6\x66\x7a\xe5\xf5\x26\xfa\x9c\xdd\xd7\x46\x7f\xef\x34\xd3\x35\xdc\x4f\xf7\x1d\x8d\x3f\x5f\xe8\xb3\xcc\xd5\xf5\x05\x31\xc3\x10\x7c\x5c\x8b\x8f\x5d\x4a\xed\x63\x3b\xe8\x69\xe9\x19\x71\x1e\x28\x2a\xd8\x7a\xe3\xe3\xd9\x13\xc2\x6d\x74\x68\xe6\x51\x24\xab\xac\x24\x41\x84\xd0\xd8\xbc\x6b\x00\xca\x5b\xe3\x50\xd2\x80\x69\xa9\x3b\x81\x50\xa2\x4f\xe8\xa2\x2f\xb4\xac\x3a\x70\xd9\x86\xac\xd7\x0b\x88\xc5\xf0\x8e\xad\x3b\xf7\xac\xb1\x2f\xf9\xdc\x3c\x0b\x7a\x66\xa3\xd8\xdf\xd3\xd9\xc5\x39\xfb\x77\x4a\x2c\x01\x7f\x8c\xd9\x0b\x36\x61\xff\xfe\xd4\xdc\x06\xb8\x9a\x23\x2d\x16\x04\xd0\x00\x3d\x85\x11\x14\x02\xf6\x4e\x9f\xc9\x23\x82\xb6\x65\xc8\x2c\x33\x86\x9c\x06\x34\x3c\xf4\x7a\xe8\xeb\xd9\xe8\x49\xfc\x62\x07\xfd\x85\xcc\xa0\xe6\xf2\x86\x74\x33\x9a\xd4\x1c\x1a\xac\xc5\x8e\xc0\xdb\x81\xa7\x25\xfe\xa5\xf7\xfc\x10\xfe\xd7\x3b\x69\x67\x45\x8e\x1d\x86\x92\x1b\x3f\x0f\x70\x29\xc5\xdf\xbb\x34\x71\xc7\xf2\x52\x25\x8f\x5b\x9b\x05\x44\xcc\xbe\x30\xcd\x93\x52\x31\x25\x51\x17\x99\x75\x4a\x08\x90\x5f\x4a\xf0\xf9\x10\xc1\x53\xbd\xe3\xd6\x70\x13\x1d\x24\x20\x54\xa6\x39\x8b\x78\xfc\x56\x81\xc1\xde\x46\xfe\x2b\xcc\x0e\x64\x91\x9b\x66\x3f\xf0\x4e\xe8\xef\xe6\xc0\xb4\xec\xdc\x45\x9b\xb9\x80\xc6\xf4\x99\x03\x9a\xa7\x6d\xd0\xd3\x7f\xb4\xaa\xcb\xcd\x83\x18\x04\x0f\xde\xef\xc8\xb4\x33\x30\xda\x09\x7a\x40\xeb\xb7\xcd\x16\xaf\x56\xa3\x77\x9e\xd9\x2f\xfd\xd0\xf2\x15\x0f\x04\x84\x79\x33\xd1\x7f\xb1\xa9\xbd\x6d\x9c\x09\x17\x1c\x65\x97\xc1\x29\xcc\x62\xdf\x92\x56\x6a\xe6\x65\xbd\x5e\x39\xf3\x30\x7c\xbe\x12\xc2\xa4\x61\x4c\x79\x74\xcd\x56\xfc\x2a\x89\x06\xe1\x26\x1a\x1e\xc8\x81\xd6\x71\xb8\xc0\x40\x7d\xfa\xb4\x89\xeb\xfd\xc2\x10\x63\x5d\x47\xef\xc8\xa7\x4f\x80\x51\xbd\x5e\xa8\x4d\xb4\xe6\x40\x89\x0a\xf4\xec\xde\xdb\x2e\x65\xa5\x23\x88\x41\xda\x2a\x4c\x0c\xe8\xb4\x89\x55\x16\xbc\xd4\xda\x48\xab\xe1\x8b\x1c\xe9\x14\xc5\x9d\xbe\xd6\xe1\x41\xd0\x77\xaf\x1b\x78\xb3\x02\x9b\x4b\x9e\xd5\xfa\xed\xeb\xf2\xf6\x77\x67\xd4\x77\x9b\xf4\x5d\xa6\xa7\x88\x67\x68\x62\x09\x16\xc6\x95\xfe\x06\x54\x10\xad\x1f\x22\xda\xdc\x04\x5e\xc8\x5b\xd5\x8e\xf3\x54\x46\xd7\xb0\x55\xc4\x36\xeb\xed\x72\x26\x04\xc8\x97\x6a\xce\xab\xef\x62\x7b\x52\xa0\x41\x78\x90\x36\x9d\x05\xf4\x82\x2c\xcc\xb2\x6b\x5c\xa6\x04\x7d\x68\x2a\x42\x8b\xec\xd0\xa8\xce\x59\xcd\x1a\xa9\xd5\xd4\x43\xcb\xec\xeb\x4c\xde\x92\xe4\x5a\x16\x6b\x12\x5d\x13\x93\x58\x43\xd4\xf8\x2a\xd0\xe8\x9a\xce\xcc\x13\x2a\xa0\x62\xb8\x5f\x1b\x35\xda\x1e\xca\x01\x08\xec\x2d\x9c\x86\x84\xcc\xa3\x5d\x35\xb9\x70\x80\x54\xeb\x9f\x20\x18\x7a\x6a\x84\x87\x05\x43\xff\x84\x04\xbc\xb2\x49\x9c\x7c\x74\xc4\x26\x8d\xf1\xc2\x9a\x94\x27\xb7\x8b\x74\x1b\x93\x86\x8f\x7a\x7d\x36\x76\x54\xf0\x37\xa8\x4b\x9b\x10\x45\xd1\xaa\xf5\xed\x95\x6a\x7d\x11\x2e\x24\x04\x9d\x96\x74\x51\xea\x6b\xc4\xe6\x43\xa5\xc9\x39\x65\x4d\xe5\x14\x74\xa3\xc3\x9e\xb1\xff\x76\xf1\xe6\xf5\x00\x5b\x25\x8b\x35\x8d\xd3\xdb\xa8\x36\xb9\xd0\xb8\x1d\x22\xb5\x49\x5a\xd5\xf4\x10\x76\x0c\x8e\x4a\xc0\x5c\x0d\xec\x04\xaa\x15\x0a\xd0\xd8\xa1\xed\x66\xc9\x95\x65\x96\x20\x56\xfc\x3d\x1c\xd3\x80\xa0\xd2\x76\x2d\x1e\x31\xc7\x69\x3a\x28\xd4\xd1\xd2\x63\x26\x37\x74\x02\x7c\x67\x80\xdd\xbf\xa1\x31\x32\xa0\xd4\xba\x7e\x9d\xd7\x0e\x93\x41\xab\x51\x9f\x4d\x7a\xd0\xfa\xe7\xbb\xf1\xfc\x3d\xdc\x91\x5d\xa2\xdf\x1e\x45\x07\xe4\xf3\x49\xf9\x65\xa8\x17\x32\xd6\x50\xee\x8d\x07\x0d\xbb\xb3\x18\x32\xb2\x72\xc5\xca\x22\xb9\xba\x82\xb4\x96\xce\xf2\x12\xe8\x01\x58\x76\x45\xa8\x12\x73\xef\xcd\x66\x87\xe0\xc6\x5d\xf1\x35\xde\x5f\xa5\x44\x63\x46\x5f\xc9\x54\x4a\xd3\x55\xab\xf1\x21\x91\x4f\x45\xd9\xae\x93\x72\xe0\x94\x47\x2b\x19\x7b\xa7\x16\x0f\x18\xdc\x65\x21\x00\x3c\x01\x66\x25\x63\xcd\x03\xbd\x98\x74\x82\x27\x7b\x8f\x0d\xf9\x82\xfa\xb9\xb7\xf9\x76\xb3\xb9\x1d\xdd\xf4\x53\x13\x6e\x5c\xe3\x9d\x66\x63\x4f\x5a\xf6\xc6\xd7\x32\x4e\xb3\xf9\xee\x3d\x63\xfb\xfd\x04\x62\xb7\x69\xbc\xb7\x71\xdd\x7e\x53\xc4\x96\x46\xe3\xfd\x87\x57\xbd\x71\xd1\x07\xa6\x6d\x9d\xca\x7a\x94\x74\x3b\x50\x13\x80\x47\x06\x29\xaf\xb4\x9c\x61\x1d\x7d\x90\xf9\xfa\xbb\x28\xa4\xb3\x4c\x55\xac\xca\x52\x7d\xa5\x9b\xfb\x7f\x50\x27\xca\x78\x3e\xc6\x9a\x7a\xe9\x39\x3d\x63\xe1\x39\x9a\x18\x82\xdc\x96\xfc\xf3\x0d\x7a\x7d\xf0\xf4\x96\xaf\x69\x78\x5e\xb2\x54\x70\x85\xc6\x95\x76\x1a\x8d\x51\x1b\x87\x35\x5c\xf4\x16\x1b\xf7\xcc\x84\xa8\xa9\x6b\x6e\x5a\x35\x9b\x78\xa0\x6c\x64\x16\x6c\xb2\x77\x0e\xaa\xbf\xe3\x86\xa2\x96\x2d\xd2\xba\x39\x84\xce\x8e\x75\x43\xbf\x23\x07\x5a\xd3\x86\x5e\x30\x6d\xd3\xf0\x21\xd3\xd5\xc5\x61\xf1\xe9\x72\x6f\x07\x11\x2c\x16\xec\xeb\x23\xf6\x7c\xd7\x9f\x87\xb7\xb4\xd6\x77\x49\xdd\x68\x8b\xed\xed\x78\x5d\x7f\x7e\xe2\xff\xf4\xd1\xf2\x3e\x71\x04\x5f\x79\x9d\x20\xe2\x61\xaf\x97\x64\xd4\x5b\xa2\x11\x89\xda\x1e\x6a\x1f\x39\xf3\x5e\x70\x72\xb4\x9c\x23\xb4\x68\x97\x43\x80\x8d\xb4\x1c\xd6\x5d\x1c\x21\xcb\x59\x62\x2d\x34\x57\x3c\xb7\x6f\x15\x5c\x39\x5d\xaf\xe9\x0d\xaf\x71\xdf\x87\x14\x12\xa5\x15\x36\x4c\x60\x8c\x52\x15\x8c\x63\x7b\x72\x52\x90\xa3\xdf\xd1\x52\x44\xd7\x6d\x53\x1a\x58\xe0\xde\x0f\x5d\x7a\x4f\xef\xb1\x4f\x9f\xec\x3e\x81\xda\xc6\x36\xa9\x75\xdc\x6b\xc1\x6d\x32\xe7\x7d\xe6\xa9\xe1\xeb\x46\x54\x1b\x9e\xb4\x89\x8d\xf9\x2d\x31\x6a\x3e\x5a\xd5\xc0\x86\x60\x35\xbb\xff\x41\x82\xd5\x98\x44\x27\xe0\xc1\x03\x6f\xee\x85\x5c\xb5\x28\xd0\xdf\x82\x1b\x25\xe4\x62\xe4\x99\x63\xac\xd0\x9c\x2c\x10\x66\xcf\x40\x41\x7d\x8b\xeb\xb0\x91\x32\xcc\x4a\x42\xe5\x13\xb8\xc1\x99\x77\x78\x78\xdb\x6c\x0f\xc0\xc1\x54\xe9\x3c\x88\x14\xe4\x14\xa7\x1b\x62\x5e\x25\x69\xb9\x95\x64\x26\xb6\x47\x0e\x9b\x82\xc1\x97\x3b\x60\x38\x99\x25\x11\xdc\x59\x68\xa2\x02\x5e\x7b\x64\x1e\x7f\x83\x2f\x27\x73\xb1\x29\x82\x07\x1a\x38\xb7\x3e\xb9\x1e\xbb\x10\x20\x6d\x06\x6e\x66\xdd\x1f\xd9\x11\xc4\xcd\x0c\xd2\x24\x40\xee\x14\x30\x72\x31\x48\x74\xdf\x08\x41\xfc\x51\xc1\x0b\x6f\x44\xf6\xc8\x21\xa7\x71\x4c\x91\xde\x8d\xba\xc7\x04\xa8\x5e\x80\x97\x1a\xb2\x58\x9e\x6a\xc4\xec\xb6\x61\xb1\x21\x81\xbb\xc2\x24\xfd\x28\x58\x3b\x1a\x61\xfa\x7a\x05\xec\x5a\x2e\xa2\x64\x81\x86\x72\xd4\x89\x62\x25\xbf\x06\xcb\xea\x48\xc4\xc8\x31\x02\xe0\xc1\xcc\x15\x5d\xe3\x92\x34\x8e\x78\x11\xab\x01\x63\x7f\x49\x6e\x30\x63\xb9\xc5\x1c\x3d\xad\xa7\xa0\xa5\x9c\x3e\x05\xc6\x14\xff\xf8\x6a\x6b\xfa\xb4\x4f\x99\x01\xec\x67\xd2\xf4\xa3\xea\xc6\x94\x7a\xbd\xe1\xf4\x21\x6b\xb5\x25\x97\xae\x3b\xa0\x93\x18\xef\x2b\x86\x1c\x50\xed\xa1\x8f\x5a\x8e\xc5\x67\x6f\xbd\x7e\x03\xa4\xb1\xff\x1f\x7b\xef\xda\xde\xc6\x8d\x24\x0a\x7f\xcf\xaf\x80\xb5\x67\x43\x32\x26\x29\x51\xbe\xd3\x51\x66\x65\x59\x4e\xbc\xbe\x48\x2b\xca\xf6\xec\x48\x8a\x5f\x90\x0d\x92\x3d\x6a\x36\x38\x8d\xa6\x28\x26\xf1\xfc\xf6\xf7\x41\x55\xe1\xd6\xdd\xbc\x29\xce\xec\xcc\x9e\xe3\x67\x37\x43\x75\xa3\x0b\x40\xa1\x50\x28\xd4\xf5\x37\xb3\x5e\xbf\x2d\x33\x4c\x7d\xa1\x1d\xb5\x21\x1d\xf0\x28\x7a\x61\x35\x95\x96\xfc\xdc\x10\x8c\xb8\xe1\x5c\xf3\x9c\x62\xd3\x24\x8c\x07\xcf\xbb\x58\xe5\x45\x5d\xe7\xe7\x0b\x07\xa7\x64\x65\xd7\x1f\x18\xd6\x5b\xe5\x9b\xab\xdf\x57\x79\xe4\xba\xaf\x2f\xe2\xab\xb6\xd7\x01\x2c\x85\xc3\xa3\x37\x87\x86\x7f\xce\xbb\xe1\x13\x0c\x77\x9e\x5b\x63\x83\x7f\xa8\x7b\xd7\xa6\x82\x7a\x36\xd4\x77\xda\x83\xba\xa4\xfd\x77\x3d\xfe\xea\xc6\xd4\x65\x65\x1c\x77\xe9\x7f\xbf\x78\x37\x92\x7b\x3e\x9e\x8a\xdb\xb3\x0a\xbf\xec\x80\x5d\x50\x83\xab\xe5\x3e\xc5\x2b\x41\xb4\xa7\x33\x35\xb6\xb3\xb5\x02\x1c\xac\x88\x92\x59\xee\xd2\x69\xf3\x26\xeb\xfb\xc8\x25\xeb\xf5\x52\xe2\x86\xcf\x8f\xe4\x64\xca\x33\x51\xf7\x44\x2f\xc6\x78\xdb\xc7\x47\xdf\xfb\xcb\x0a\x5c\x5f\xc2\xa2\xcf\x21\x4f\xb2\xc9\xf0\xed\x66\xd7\x77\x4f\x8c\xeb\x9e\x91\xc3\xbd\x16\x63\xe4\xd0\x6c\xa5\x2e\x89\x2d\x4d\xd6\x6e\xb7\xbf\xf8\xee\xcc\x10\x54\x83\x73\x38\xe5\x99\xf1\x64\xd6\xbf\xf0\x5e\xc9\xa7\xa4\xbf\x4c\x73\xc9\xdc\xe4\x94\xcd\xcb\xa5\x21\xe9\xce\x20\x04\x49\x61\xbb\xd2\x06\x76\x3b\xb6\xc8\x1b\x4c\x59\x8a\x09\x9f\x6e\xbd\x8b\x83\x53\x64\xc2\xa7\x6e\xdf\x86\x69\xa9\x70\x62\xf5\x82\x6f\x3c\xce\x8a\xd9\xef\x18\x9b\xb6\xb5\x60\x01\x66\x5e\xaf\xac\xba\xb9\x48\x11\x6d\xb8\xf2\xbc\xcc\xdd\xfe\x0f\xd8\xb4\x0d\x48\x7b\x23\x16\x3d\x7a\x68\xeb\xd6\x9b\x22\xbd\xe2\x36\xb0\x0c\x7a\x79\x79\xc5\xad\x5d\x78\x7d\x6b\x88\xd3\x99\x28\x5d\xff\xee\x4d\xdb\xb1\x3a\xa2\xba\x2b\xf5\xc6\x32\x50\x53\x93\xea\xf7\x18\x7c\x55\x45\x64\x8a\xfc\x99\xb1\xa2\x46\xca\xfc\xd5\x58\xdd\xb1\xc1\xc8\x84\x4f\xf5\xe6\xb9\xf2\xd0\x12\x58\x3e\x7c\xa4\x58\x16\xe1\x50\x42\x76\xc0\xff\x05\x08\x41\x41\xdc\x52\x60\xbd\x3a\xf7\x99\x61\xcb\x16\xa8\x3d\x59\x9e\x17\xf7\xf3\x99\x09\x1d\xb2\xbb\xd9\xea\xfa\xe0\x99\x50\x39\x1d\xbc\xa1\xe7\x92\x31\x04\x62\xd9\x36\x70\xaa\xd4\x02\xe4\x2c\x49\x5c\x35\x67\xc8\x31\x80\x5f\x2f\xdb\x76\x06\xcc\x61\x6a\x72\x10\x82\x68\xc1\x8d\x61\xd1\x45\xd2\xeb\xed\x0e\x4a\x04\x13\x47\x33\xd1\x82\x8b\x29\x92\x47\xcd\x62\xa1\x5c\xf4\x22\x25\x08\x74\xda\x71\x88\xd0\x04\xe7\x61\x03\x34\xe5\x13\x41\x55\xa8\x26\x33\x3b\x53\x94\x71\xc0\xf5\x0c\xf5\x67\xcb\x79\xac\x83\xbd\x21\xf7\x70\x26\xc9\x82\x0c\x00\x86\x36\xcb\x40\x96\x1e\xf1\xba\x59\xd9\x8b\x0e\x0e\x2e\x4f\x9b\xeb\xfc\xd6\xb6\x39\xee\x43\x89\x23\x38\xb2\xbd\x23\xb9\x4a\x0e\xd0\xa3\xb2\x93\x28\x24\x21\xa7\xcf\xac\x52\x34\x18\xe1\x16\x57\x37\xbc\x1b\xff\xaf\xce\x32\x4a\xee\x4e\x7e\xa6\xd1\x73\xcf\xcc\x46\x77\x25\x58\xd3\x31\xa5\x08\x32\x69\x47\x73\xf0\x61\xe6\xf6\x3e\x28\x87\x2e\x05\x01\xa4\xde\x00\x0f\x4c\x56\xe7\xd7\x98\x94\xc9\x39\x56\xaa\x06\xee\x0b\xfd\x58\x03\xf3\x5c\x2e\x73\x91\x24\xc8\x07\x0a\x69\x3f\xa9\x00\xad\xbe\x2e\xda\xe0\x03\x9b\x3c\xcf\x3f\xde\xc9\xfe\x0a\xa9\x85\x86\x90\xb2\x4b\x61\xc4\x80\x3e\xc0\x4d\x42\x88\x52\x80\xb1\x82\x38\x20\x32\x02\x6a\x58\xce\x23\xc8\xb7\xfe\x86\x31\x08\xcd\xa2\x26\x85\xa2\xc2\xe7\x99\x4c\x47\x56\x0b\xfe\x9d\xc1\x62\x93\x5c\x95\x32\xac\xe6\x65\x4d\xb9\x2e\x74\x4f\x79\x0e\xeb\x2f\xe3\x21\x04\x74\xe6\x94\xc1\x41\x35\x99\x9a\x0d\xc6\x7a\x0e\x2f\x6f\x64\xc6\xaf\x83\x99\x06\xc9\x53\xa1\x2f\x98\xab\xc4\xa0\x25\x82\xc0\x72\x1b\xd2\x00\x37\x4b\x83\x3f\xc6\xd1\x79\x4c\xa6\x61\x64\x22\x85\x65\x80\xc7\xe0\x2c\xeb\x43\x24\xf1\x77\x46\x33\x3f\xe3\x09\x4d\xd9\xc3\xbf\xe6\xc1\x94\xfa\x26\x56\x4a\x4b\x47\x30\x30\x2f\x4a\x5f\x5f\xec\xc1\x2d\xed\x43\xcf\x76\xa4\x18\x54\xb4\x47\x27\x7a\x7c\xf2\x8d\x49\x24\x03\x7a\xa6\xb0\x66\x99\x4d\xa5\x86\xc1\x29\x1c\x6d\xe0\xba\x6f\x70\x74\x44\x8b\xac\x89\x11\x99\xf0\x05\xd6\xd3\xbd\x21\xd3\x2c\x58\x88\xf5\x21\x46\xab\xe2\x8f\xde\x53\x21\x7b\xbc\xd8\x5a\xb4\xf5\x4e\x00\x8b\x2d\x8c\x60\x59\x32\x5c\x0d\x0b\xf2\xe1\x36\x31\xcd\x02\xde\x26\x4d\xa5\x50\x41\x36\x8d\x38\x4f\x44\xc4\x76\x0e\x29\xb1\x06\x78\x01\x42\xbe\x83\x65\x99\x3a\x30\xf3\xa8\xcf\xbf\xe1\x95\x77\xaf\xbf\x76\xa1\x74\xe6\xe7\x73\xef\x1d\xec\xc6\x03\xbf\x6c\x18\x4a\x3a\x8d\x0a\x0d\x80\x16\xa9\x71\x83\x79\x9b\xd3\x47\x94\xb7\x65\x21\x81\xcd\x98\xab\xb1\x71\x02\x35\xd1\x42\x43\x99\x24\x72\x4e\x67\xa2\xea\xb2\x1a\x6a\x7d\x6b\x4d\xeb\x62\x02\x87\xb8\xb5\xab\xa1\x80\x0d\x16\x32\xd3\x15\x6b\x19\x6f\x46\xe8\x85\x9c\x4f\xa9\xd2\xe3\xc2\x8b\x7c\x6f\x33\x50\x27\xd9\x9d\x4d\x81\xaf\xba\x63\x9b\x1d\x94\xe9\xed\xe9\x36\x9b\xb8\xe5\x58\xfc\x6a\x2e\x3d\x3e\x50\xb1\x68\xdf\x14\xd3\x31\x50\xbe\x06\xea\x53\xdc\x72\x2d\x91\x35\x59\x8d\x1f\x42\xfa\xf4\x17\xfa\xbf\x9d\x7b\x35\x9c\xce\xc1\xfd\x1a\x36\x24\x30\x81\x4b\xe6\x92\xa1\x19\x77\x4e\xa4\x3f\xf5\xb7\x19\xd7\x82\x47\xc6\x07\xc4\xc4\x90\xc8\x18\x63\xb5\x8b\xd7\xef\x7b\x57\xba\xbf\x8b\xb7\xc7\xaf\xce\xaf\x74\x57\x2f\x16\x7a\x21\x20\x38\x5d\xa6\xcd\x42\x7f\xb4\x63\x29\xeb\xb0\xcb\x41\x41\xf0\xfa\xb3\xdc\xe4\xaa\x41\x7f\x31\x3a\x47\x4c\xca\x60\x3f\x02\x9b\xb5\xd8\x7b\x74\xf8\x26\xc9\xcd\x98\xeb\xf4\xb6\x75\x73\xb1\x49\x10\x4c\xad\x41\xb1\x30\xee\x21\x94\x0a\x8a\xfa\x36\xa6\xd8\xbe\xb3\x16\xa6\x4e\x94\x6a\x33\x48\x18\xd5\x17\x89\x9c\x5b\xc1\x90\x6a\xa5\x09\x63\x7b\x56\xde\xd8\x28\xc1\xde\x57\x1a\x1c\x4f\xa4\xbf\x8d\x0d\x43\xbb\xf3\xe8\x0e\x93\xfc\x8f\x19\x99\xef\xf4\xba\xf5\xa8\x28\xab\xdd\x1f\x30\x2c\xd0\xd1\xdf\x6d\x5c\x26\x45\x11\xe5\xb9\xf6\xf2\xe9\x2c\x4f\x67\xc4\x95\xcd\xcb\xaf\x45\x2a\xdd\x11\x06\x6e\x15\xfc\xd8\xc1\xf7\x88\xa7\x8c\x67\x19\x5f\x54\xc6\x43\x94\x1d\xdf\x51\xeb\x08\x43\x26\x76\x44\x39\x0b\xfc\x72\x7a\x61\x2e\xa0\xbc\x68\x4b\x87\xfe\x58\x0c\xa5\xde\x63\xd4\x7b\xa6\xa4\x61\x5e\x66\x69\xa7\x63\x15\xac\xe3\x28\x26\x5a\x0b\x38\x25\xc9\x32\x47\xd8\x40\xa6\x51\x2b\x97\x2d\x28\x4e\x6f\xa2\xeb\x09\x65\xd8\xb1\xaf\x9b\x9d\x67\x71\x9e\x8b\x34\xe0\x76\x58\x96\xbe\x90\xb5\x88\x98\x29\x57\x46\x77\x2b\xa2\x20\xad\x8f\x4b\xe7\x63\x53\xf9\x40\x11\xd7\x30\x9b\x8f\x7f\x74\xae\x38\xea\x42\xed\xc7\x1b\x13\xe2\xe3\x1f\x7f\xe0\xfa\xa9\x0f\x22\x17\xb3\x64\xae\x70\x74\x68\x9b\x53\xaf\x51\xe1\xb4\xf2\x72\x86\xf9\x56\x45\x18\xe1\xe3\xe2\x7b\x0a\x27\xe7\x85\xa7\x81\x8b\xc4\xb0\x74\x66\x4e\x66\xa8\xa0\x2a\x48\xba\x98\x8c\x8b\x8e\x53\x2d\x7a\x05\xb2\xaa\x55\xcf\xe7\x90\xc1\xc7\x1c\x06\xfe\xf7\x5c\xe9\x4b\x52\x8c\x39\x73\xb3\x11\x96\xec\x81\xeb\x14\x63\xc7\x7c\x30\x06\xaa\x36\xcf\xe3\x2a\x18\xde\x72\x71\x47\x7c\x66\x1c\x75\x22\x4f\x37\x14\x29\xaf\xd1\xbc\x07\x39\xbc\xf4\x37\x7a\xcb\xf5\xe3\x11\x1e\xf2\x73\x81\x15\x2d\x21\xb0\x17\xd2\x3a\x82\x08\x6f\xd0\xe9\xd4\x64\x99\x20\x23\xa0\xa6\x5a\x96\xc8\x1c\xef\xcf\x5a\x06\x05\xe9\xf8\x06\x3c\x5c\xda\x0d\x1a\x88\x9e\x4c\x69\xe4\x9e\x2f\xe5\x63\x9b\x6b\xa3\xcb\xdc\xf2\x9b\x04\x33\xc5\xd0\xa3\xef\x5c\x48\x80\x71\x86\x76\x79\x3c\xc0\x65\xcd\xd9\x2a\x1b\xc4\x8f\x88\xf2\x1c\xbd\x11\x6b\x02\x7d\x9f\xe0\x29\x5d\x72\x30\xb8\xc6\x4f\xfc\xb1\x05\x0d\x07\x0a\xbc\x1b\x9e\x7d\xe6\xd9\x88\xaa\x15\x56\xdd\x9b\xcd\xca\xaa\xaa\xcb\xb3\xd1\xcc\x20\xe4\xba\x6d\x7b\x11\x5f\x5d\xec\x5d\x35\x03\x05\x2c\xfd\xfb\x95\x10\xd6\x65\x41\xeb\x4e\x75\x6b\x46\x68\x2d\xb4\xde\x5f\xd6\x9a\x50\x5e\x68\xfe\x60\x59\x73\x74\xb4\xf6\x9b\x3e\x5c\xd6\x14\xbd\xb0\x83\xb6\x8f\xae\xaa\x9a\x7e\x29\xeb\x9b\x7a\x50\xdb\x2d\xf0\x1e\x45\xfe\xe6\x27\xaf\xc3\x64\xff\x1b\xac\x24\xc8\xcc\x4b\x6c\x79\xa1\x90\xbd\xa4\xb0\x99\xf1\x04\xb5\x1b\x8e\xb2\x09\x1a\xaf\xd8\x9d\x09\x1f\x64\x72\xc7\xbe\x57\x78\x7c\x41\x31\x57\xca\xf4\x15\x93\x93\x9b\x9f\x41\xd4\xc4\x8c\x81\x6b\x75\x83\x01\x10\xbb\xdf\x89\x3d\x80\x49\x76\x41\x99\x6b\xa0\x45\xdb\x0f\x2a\x24\xa7\xb3\xba\xd9\x31\x7a\x7b\xf9\xe5\xdf\x36\xf0\xa8\x0c\xe2\xdb\xbc\x40\x3b\x72\xa4\xbc\x5a\x1b\x07\xf7\x7a\x88\x72\x67\x29\x3b\x38\xe3\x4d\x34\x74\xf4\x9d\xee\x40\x99\xab\x78\x06\x99\x37\x67\x84\x96\x8a\x8f\xc9\x73\x35\xce\xad\xd8\x62\xa4\x16\xdf\x1d\xc8\x62\x82\x5f\x07\xb6\x0f\x1a\xad\x8b\x92\xf5\x10\x53\x08\x52\xac\xbb\xf8\x03\x0c\xe4\x0a\x92\x51\x54\x44\x78\xf9\x9e\x0c\xfe\xbf\x7b\x26\x3e\x91\x62\x6e\x8a\x59\xcc\x1b\xec\x4f\x8c\xb3\x2e\xeb\x3f\x0f\x51\x5f\xb9\x88\xa4\xd0\x2d\x20\x7a\x22\x23\x4a\x89\x5d\x95\xea\xfc\x6e\xf8\xa6\x8f\xb7\xc5\xf7\xe0\x9f\x18\xdf\x98\x8e\xfd\x2b\xe0\x5b\x23\xda\xa6\xd9\x6d\x41\xc2\x98\x56\x90\x83\x3d\x24\x73\x1f\x41\x7d\x75\x57\x04\x15\xe6\xb5\x2c\x89\xfb\x57\x99\x9c\xb7\x16\xd5\xd3\x50\xe3\x3b\x4f\xc3\x83\x5d\x18\x6b\x21\x8a\xc8\x24\x5b\xff\x7d\x13\x21\xca\xa9\x9e\x06\x4f\xf2\xdf\x31\x0f\x02\xfd\x15\x30\xee\x7b\xe1\x57\x0e\x74\x22\xa3\x3b\x0f\x74\xeb\x9d\xf5\x7b\x77\xc8\x91\x9c\x4c\x67\xb9\x96\x15\x8d\xe8\xe6\x54\xa4\x98\xbc\x0f\xed\x40\x41\x8c\x8c\x9d\xea\x20\x4f\xea\x83\x71\x83\xfd\x6a\xba\xad\x4e\x3f\x52\xf0\xb3\x03\x97\x3f\x37\x02\x0e\xc9\xb3\xa9\x5c\x81\xd3\x86\x4e\xf8\x14\x02\xd7\x39\x66\xd7\xf3\x3a\xad\x4f\xbc\x1e\x9d\xb3\x0d\xe1\xd5\xcf\x92\x77\x31\xb9\xa2\xc7\x5f\xdc\x22\x12\x97\x44\xa2\xcb\x33\x52\xa4\xbb\x84\xcb\xe1\x62\x8a\xa8\x3e\x4c\x37\x5b\x4a\x30\xd1\x84\x3b\xbf\x94\x36\xd9\xb7\xec\xef\xee\xb2\x17\x10\x99\xa2\x39\x42\x93\xbd\x92\xd9\x9c\x67\x11\x8a\xf2\x67\x02\xaa\xd6\x21\xff\x97\x8c\xdf\xc8\x38\x62\x29\xbf\x89\x47\x1c\xd4\x64\x7c\xce\x51\x27\xeb\x43\xcb\xbd\x54\xdb\x53\x3e\x12\xed\xa2\x13\x41\x21\xbf\xc4\xe3\xc7\x48\x4b\xc1\xb3\x27\x15\xcf\x9e\x36\xd8\x9f\x02\x06\xbe\x2e\xa4\x9c\x75\x37\x6c\x6e\x62\xa3\x98\xe7\xfb\x59\x20\xe1\xe1\x32\xf2\xd5\x5b\xe7\xb8\x77\x64\x9d\x0b\x8d\xdf\xcc\x51\xef\xb5\xf5\x2c\xb6\x0f\x7b\xbd\x07\xe6\xe1\x89\x2b\x2d\xfb\x2f\x1d\x23\x1f\x5e\x45\x54\xdd\x38\x7c\xa2\xf1\x73\x18\x8b\x24\x02\x9d\x63\x97\x5d\x90\xd1\xa1\x49\xaa\x48\x73\x75\x6b\xda\x20\x4c\x88\xbd\x04\x89\xff\xea\x1b\x0f\x8e\x0b\xb0\xb3\x25\xe7\x09\x14\xdb\x73\x05\x1f\x60\xd7\x30\xf6\x09\x22\xa6\xfe\x3a\x53\xb9\x09\x0d\x89\xf3\x9a\x32\xd0\x6c\x2e\x8e\x08\x15\x35\x68\xd6\xc3\xeb\x6e\x7f\x61\x6f\x09\x78\x3f\x90\xca\xcb\x42\xce\x2e\xf6\x9a\xa0\x76\xfd\xf0\xfe\xcd\xfb\x93\x4f\xef\xaf\x6a\x4d\x40\x6a\xf9\xbf\x57\x4d\x3b\xf8\x57\x90\x25\x35\x93\x73\x02\xb1\xff\xa4\xa9\x41\x1c\xf7\x8e\xf4\xe7\xc7\xbd\xa3\x66\x95\x40\xc2\x6c\xb2\xd8\xa6\xfb\xe1\x3d\xa5\xab\xd2\x45\xa7\xb3\xdf\x64\xb5\x8b\x57\x1d\x0d\x0c\x38\xbe\xa6\xaf\xfb\xac\x76\x5a\x6b\x02\xfd\xc1\xcf\x86\x07\x04\x1f\xee\xec\x3f\xf8\xfb\x4e\xb3\x0c\xed\x01\x40\xdb\x2f\x42\xfb\x2f\x07\xed\xbf\x2a\xa1\x3d\xac\x84\xf6\x10\xa0\x3d\x28\x42\x3b\x73\xd0\xce\x2a\xa1\x3d\xaa\x84\xf6\x08\xa0\x3d\x2c\x42\xeb\x39\x68\xbd\x4a\x68\x8f\x2b\xa1\x3d\x06\x68\x8f\x00\x1a\x7d\xde\x79\xf4\xf7\x5a\x71\x35\x4a\xd0\x9e\x56\x42\x7b\x02\xd0\x1e\x07\xd0\x9e\x6c\x00\xed\x59\x25\xb4\xa7\x00\xed\x49\x00\xed\xe9\x7a\x68\x0f\x3a\x95\xd0\x9e\x01\xb4\xa7\x01\xb4\x67\x1b\x40\xdb\xaf\x82\xb6\xbf\x07\xd0\x9e\xf9\xd0\xf6\xf7\x36\x80\x56\x49\x6f\xfb\x1d\xa4\xde\xbd\x2b\xb7\x88\xfb\x9d\x0d\xa0\x55\xd2\xdb\x3e\xed\x85\x8e\x0f\xed\xc1\x7a\x68\x0f\xab\x67\x8a\x7b\xa1\xb3\xef\x43\x7b\xb8\x01\xb4\xc2\x4c\x0d\x23\xe8\x61\x96\x64\xc7\x09\x3a\xcf\xf4\x78\xff\x3f\x0d\xd1\xc2\x50\xe3\xba\x96\x65\x6a\xff\xa1\x29\x19\x7e\xfd\x5c\x6b\x34\x9a\x61\x47\xee\x1f\xf1\x1a\x00\xf7\xf0\x99\x66\x2c\x9d\x7b\x3e\xb8\x41\xbd\x86\xf9\x93\xde\xcf\x26\x90\x7f\x9c\x31\x7c\x76\x98\xe4\xe6\x11\xfc\xfd\x4e\xe4\x1c\x1f\x18\x70\x8f\x34\xaf\xab\xed\xff\xc7\xd7\x02\xd7\xd1\xe0\x1e\xfc\xdb\xd7\x02\xb7\xaf\xc1\x3d\xfc\x3f\x5f\x0b\xdc\x03\x0d\xee\xd1\xbf\x7f\x2d\x70\x0f\x35\xb8\xc7\x3f\x7f\x2d\x70\x8f\x34\xb8\x27\xdf\x7e\x2d\x70\x8f\x35\xb8\xa7\xdf\x7d\x2d\x70\x70\xa0\x3d\xab\x7f\x25\x70\x0f\x9f\x6a\x70\x7b\x8d\x12\xb8\xa0\x3e\x9f\x86\x50\x00\x58\xd9\xc8\xee\xe6\xa7\x9a\x0b\xb6\x3e\xaf\x87\xba\xe6\xbd\x03\xa8\x59\xfe\xc1\xfd\xaf\x05\x10\x25\x05\x31\x94\xb7\xac\xf5\x19\x24\xef\x83\xfb\xd4\xd3\x93\x07\x5f\x77\xe8\x8f\x3b\x7f\xd4\xc8\x5f\xe7\x3c\x89\x79\xca\xee\x7f\x67\x86\xae\xbb\xba\x5f\xa6\xb4\x3b\x74\x85\x10\x9f\xa2\x00\xf6\xe2\x4d\xef\x54\xb3\xe5\xbe\xaa\x63\xb5\xba\x26\xab\x5d\xf6\x35\x1c\x78\xd2\x87\xbf\xf5\xf3\xc6\x52\xf1\xc9\x09\x97\x71\xe6\x73\xe5\x67\xd8\xc3\xf9\xe1\x0b\xdd\x81\x1a\xd7\x6b\x97\xb9\x3b\x00\xfe\xa2\x21\x82\xe4\xdb\xb4\x0c\xb8\xc9\xca\x72\xd9\x53\x60\x77\x7f\xfb\xaf\x5a\x73\x09\xe7\x66\xc8\xdd\x41\x9a\x2a\x89\x7a\x16\x0a\x6c\xad\xf9\xa7\x75\x50\x3e\xad\x84\xf2\x18\x0e\x06\x71\xbc\x0e\xca\xf1\xea\xb1\x00\xc7\xcd\xce\xd6\x41\x39\x5b\x0d\x05\x38\x63\x7e\xbe\x0e\xca\xf9\x6a\x28\x30\xa3\xc5\x7f\xaf\x83\xf2\xdf\xab\xa1\x00\x5b\x9d\x7d\x58\x07\xe5\xc3\x4a\x28\x4f\xe0\xe8\x88\x5f\xaf\x83\xf2\x7a\x35\x14\x98\x91\x3c\x59\x07\xe5\x64\xf5\x8c\xe0\xcc\x9e\x9e\xae\x83\x72\xba\x12\xca\x3e\x4a\x8c\xbf\xae\x83\x72\xb1\x1a\x0a\xc8\x76\x57\x5f\xd6\x41\xb9\x5a\x03\x45\xcb\x9b\x97\x97\xbf\x01\x98\xe5\x50\x2e\x2f\x83\xad\x5e\xde\xe6\xaf\xe4\x2c\xcb\xc7\xb0\xcf\x59\xfd\x93\x80\x04\x19\x5e\x4e\xa3\xff\x84\x6a\x8e\x98\xe9\x08\x53\xa1\xbe\x14\x37\xe7\x52\x26\x54\x37\x90\x5d\xec\x03\x6e\x2f\x8e\x0e\x4f\xc1\xe5\xc6\xed\x7c\xfb\x63\xc9\xbf\x65\x2c\xe2\x31\x90\x1f\x78\x0d\xb1\x00\x45\x30\xa1\x43\x3a\x35\x2b\xfe\x2d\x5d\x7d\xa0\x44\xd5\xab\x06\xd8\xdb\x1e\xe0\x63\x38\x8a\xa3\x97\xd5\x00\x5f\x6e\x0f\xf0\x09\xe0\x70\xf8\xaa\x1a\xe0\xab\x3b\x00\x04\x36\x3b\xfa\xb1\x1a\xe0\x8f\x77\x00\x08\x5c\x6e\xfc\x53\x35\xc0\x9f\xee\x00\x10\x18\xde\x5f\xff\xb3\x04\xd0\x48\xfa\xff\xa9\x61\x6a\x1a\x29\x80\x5e\x0a\x10\xc8\xe6\xfa\xcd\x52\x80\x6f\xac\x70\x05\x09\xa6\x3e\x9b\xfb\xc3\x52\x80\x20\x0e\x26\x6f\x97\x02\x7c\xbb\xe5\x08\x3b\x4f\xf5\xdd\xfa\x79\xb7\x04\xd0\x3b\x37\xb7\xc2\xe1\x3e\x5c\xec\x2e\x6b\x3b\xb5\xe6\xd7\x01\xd8\x79\x80\x3a\x98\xf7\xe7\xc7\x67\xe0\x3f\x77\x99\x21\x68\xd4\xb1\x2d\x87\x68\xdf\x57\x30\x98\x78\x68\xf8\x0b\x25\x53\xc3\x74\x15\x8a\x5c\xc6\x4c\x56\x78\xa6\xc6\x32\xcb\x07\xb3\x5c\xb5\x19\x3b\x49\x41\x71\x65\x60\xb8\x24\xe3\x90\xca\x07\xf8\xd3\xd1\xee\x47\xa8\x58\x49\xa5\x25\xe1\x85\x96\x9a\xf5\x0b\x4c\x86\x48\x3a\x2e\xcc\x3a\x6e\x40\xd1\xb7\xd8\xd2\xb8\x52\x00\x8f\x2b\xd4\x55\x37\x26\x3a\x8c\x9f\xe0\x4c\x89\x44\x18\x3f\x0a\x93\x90\x3d\xf2\x59\xe5\x47\x04\xfa\x5d\xeb\xa3\x01\x4b\x89\x0f\xaa\xa0\xd7\x21\x49\x8b\x81\x84\xce\x13\x4a\x88\x09\xb9\x3b\x65\x62\x20\x47\x69\xfc\x0b\x7a\xa7\x20\x7e\x72\x29\x1b\xe6\x86\x0c\xa4\x79\xd1\xfb\xe9\xf5\xab\xf3\xa2\xb2\xad\xfc\x6f\x19\xa3\x7d\x06\x5c\xe7\x97\xbf\x84\x47\x08\x90\xf6\x5f\xca\x1b\x7a\x29\x77\x05\x66\x78\xfb\xe7\x0a\x28\x7f\xde\x1c\xca\x63\x90\xe8\x06\x47\x05\x28\xe6\xba\x74\xf4\x39\x00\x15\x36\xd0\x68\x3f\xf2\xe4\xf8\xa7\x80\x9d\x9b\x8f\x4b\x60\x7d\x5c\x07\xeb\xa3\x7f\x27\x00\x58\xe0\xbc\x5a\xc1\x01\x5e\x14\x38\x80\xdf\xc0\xfe\x86\xf7\x96\xa9\x00\xb6\xd2\xf7\x4b\xc6\xf6\x7e\xdd\xd8\xde\x7b\x63\x7b\x02\x38\x9b\xbc\xab\xc0\xfc\xbb\xcd\x31\xdf\xd1\x0b\x58\x6b\x7e\x1f\x42\xe1\x49\x5e\x27\x2e\x12\x70\xb8\xa5\x50\x34\x31\xd5\xda\x3f\xfc\x5e\x28\x5a\x36\xda\xfd\x53\x35\xb6\x3f\x5b\xdd\xcf\x9f\x80\x77\xaf\x90\x6a\x7a\xf1\x6d\x3e\xc6\x8a\xa3\xe0\x84\xe7\x29\x97\x50\xcd\x7c\x74\x7e\xf6\x76\x99\xb8\x12\x3c\x72\x68\x82\xef\x0e\xdf\xc2\x86\xdb\xfc\xbb\x67\x70\x12\x5f\xbc\x3d\x3c\xdd\xae\xbf\x07\x70\xe0\xb2\x5a\x09\x65\x4e\x0d\xb6\x0c\x8b\xcf\xe0\xd3\x8b\xb3\x6d\xbb\x7c\x86\xdc\xff\xec\xdd\xf1\xfb\x0f\x8e\xab\xac\xfc\x2e\xb4\x68\x80\xad\xc0\x98\x04\x1e\xe2\x28\x4e\xcf\xce\x7b\x47\x67\x2b\x2d\x02\x88\xdf\x87\xa0\xc6\xee\x1d\x9d\xbd\x7d\xe3\x8d\x7a\x69\x73\xb8\x17\x5c\xbc\x38\x3b\x3e\x5c\xd3\x3c\x30\x96\x80\x35\x4f\x0e\x99\x8a\x6f\xd1\x74\x87\xa5\x69\xc9\x07\x14\x2b\x0a\xc0\xe0\x41\x98\xb8\x78\xfd\xbe\x77\x7c\x06\x0b\x0e\x1b\xf0\x8d\x58\x60\x99\x37\xda\xa5\xc5\x05\x28\xad\xc4\x03\xe4\xd3\x3f\x9d\xbc\x3b\x46\xaa\x31\x60\x7e\x92\x13\x61\xb7\xfa\x7a\x30\xb8\x30\xa7\x3f\x7e\x38\x0d\xc1\x9c\xf2\x91\xf8\x30\xdd\x74\x34\x0f\x71\x34\x2f\x8f\x91\x2c\x1c\x98\x97\x22\x71\x7c\x67\xfd\x68\x1e\x91\x90\xf0\xb2\x00\xe6\x38\x8d\xb6\x01\xf3\x90\x26\xf5\x92\x2c\x46\xfe\xa4\x20\x05\x7f\x15\x8d\x57\x6d\xf6\x43\xbd\x72\xd6\xc6\xa5\x8f\x6d\x2f\x9f\x21\xf8\x62\x9b\xb4\x2f\xb0\xce\x65\xbf\x1c\xac\x76\x6c\xc0\xb9\x0c\x83\xf0\x2d\x1d\xe2\x50\xfd\xd0\xe4\x54\x32\xf1\x55\x30\x0f\x30\x4a\x98\x95\x61\x7c\x50\x27\x95\x88\xbe\xc0\x90\x29\xe6\x70\xdd\x54\x70\x7d\xc0\x84\x60\xd0\xe1\x41\x7a\xe1\x20\xbd\xd8\x08\xd2\x03\xb8\xa8\x9e\xbd\xfe\xf1\x27\x20\x5e\x07\xe9\xc8\x41\x3a\xda\x0c\xd2\x13\x17\x45\x11\x8c\xe9\xa5\x83\xf4\x72\xa3\x85\xba\xe8\x3c\x04\xb3\xd7\xfb\x0f\xef\xde\x9e\x1c\xbd\xd9\xc8\x46\xf8\x29\xce\xc7\x2c\x9d\x4d\x68\xdb\x0e\x6d\xd0\xca\x94\x47\x6c\x24\x52\x91\x51\x31\x6d\x4a\xaf\x0e\x31\x23\x18\xbb\xa5\xbc\x4d\xed\x0b\x6c\x35\x9f\x07\xd4\x42\x13\x29\x5a\xf6\x21\x76\xd6\x41\x32\x9e\xf8\x99\x50\x26\x87\xda\xee\x2e\x43\x77\x33\x74\x0f\xb7\x03\x4c\xbd\x31\xcd\xd2\xf8\x6f\x33\x6f\x44\xed\xb6\xd1\xa3\xe1\x2e\x7c\x73\x0a\xb6\x9d\xa5\x68\x2b\x73\xf5\x27\xf4\x5d\x67\xcb\xef\x9e\xd2\x77\xfb\x5b\x7e\xf7\x8c\xbe\x7b\xb0\xdd\x77\x9d\x3d\x20\xe3\x37\xa7\x0f\xb7\xfd\xae\x83\xdf\x3d\xda\xf6\xbb\x7d\xfc\xee\xf1\xb6\xdf\x3d\xc0\xef\x9e\x6c\xfb\xdd\x43\xfc\xee\xe9\xb6\xdf\x3d\xc2\xef\x9e\x6d\xfb\xdd\x13\xfc\xee\xfe\xd5\xd7\x53\xd2\xef\x3d\x43\x98\xad\xaf\x09\xf3\x31\xc2\xfc\x6e\xcb\xf9\x75\x68\xdd\x77\xb7\xfd\x8e\xe8\xac\xbd\xf1\x77\xf6\x0e\x68\xab\xb8\xdb\xe0\xc0\x5c\x4e\x7d\x21\xf1\x31\xcc\xe5\xc5\x21\xf2\x29\x06\x5e\x46\x64\x5a\xbf\x6f\x5c\x08\xf4\x8f\x46\xc1\xae\x7e\x7f\x89\xff\xc0\x63\xb4\x83\x7f\x32\x47\x66\x00\xef\xbf\x0c\xbc\xff\xaa\x82\x57\x69\xd1\x7d\x0c\x87\xce\xd9\xf1\xdb\x93\x43\x00\x19\xc0\x3b\x33\xf0\xce\xaa\xe0\x55\xfa\x10\x3c\x45\x9b\x2e\x49\x6a\x85\xf1\xf5\x0c\xbc\x5e\x15\xbc\x4a\x2f\x82\xa7\xb0\x27\x3f\x51\x18\x1e\xc2\xf3\x9c\x09\x82\xcb\x49\x01\x5e\x95\x1f\xc1\x3e\x7a\x25\xbc\x38\x7b\x7d\xde\x42\x37\x07\x0f\xde\x93\xd5\xf0\xaa\x3c\x09\xf6\xd1\x2f\x41\xc3\xbb\x5f\x82\xf7\x74\x25\xbc\xd0\x97\xc0\x92\x54\xe7\xc9\x03\x76\xf1\xee\xc3\xf9\xf1\x55\x93\x75\x9e\x3c\x64\x17\x1f\x4f\xde\xb6\xae\xe0\x3c\xe9\x3c\x79\x04\x7f\xde\xbf\x82\xf8\x42\x70\x68\x73\x8e\xed\x96\x16\x0d\x24\x2c\x1f\xc5\x26\x3c\xe5\x23\x91\x35\x31\xe3\x79\x0d\x32\x59\xdf\x80\x9f\x0f\xc8\x25\x93\xb6\x57\x1c\x45\x77\x1e\x2b\xc6\x13\x25\x0b\x96\xa7\x9a\x62\xad\xcf\xc6\x23\x48\x13\x77\x18\xd6\x7a\x8c\x05\xd9\x5c\x15\x4b\xd4\x34\xc8\x8c\x8a\x3d\xc3\xf1\x65\x02\xae\x36\x8b\x04\xf0\xa5\xe4\x25\x35\x94\x82\xb0\x5c\x74\xa7\xc4\x0f\x4e\xa1\xf7\x20\xe1\x7d\x90\x4c\x61\x9d\x87\x96\x4b\x6a\x80\xbe\x65\xfb\x7f\xaf\x55\x4d\x57\x0d\x32\x49\xe5\x66\xf1\x27\x14\xcb\xeb\xcf\x86\x43\x91\xfd\xfe\xb9\x83\x68\xbf\xac\xaa\x58\x38\xf5\xb1\x9c\x88\x37\x62\xa1\x7a\x38\xa0\x9f\xfd\x79\x7b\x11\x06\x58\x04\xa5\xd2\xe1\xd4\x35\xf7\x1c\xb8\x0b\xbd\x54\x38\x6d\x1b\x17\xc7\x00\x5b\x3f\x85\xa9\x46\xfd\x77\x27\xf8\xae\x5c\x4e\xd5\xa5\x04\x44\x4c\xea\xc9\x63\x7a\x97\xb5\x4b\x66\xdc\xf6\xfe\xd1\xeb\xa3\x6f\x29\x7f\xc0\xf2\x54\x3b\x04\x7f\xcd\xf5\x79\xb5\x62\x7d\x5e\x6d\xb8\x3e\xc7\x69\xf4\x4f\xbe\x3c\x74\xa5\xdd\x6c\x85\xa6\x7c\xb4\x74\x85\x4a\x48\xba\x78\xf4\xf7\xda\xf3\xb5\x18\xc2\xfe\x7f\x3f\x92\x10\x09\x79\x36\x13\xec\xe5\xf1\x5b\x88\xa8\x55\xb3\x3e\x24\x9a\x12\x39\x77\x11\x0e\x26\xe2\xf0\x24\x75\x47\x41\x93\xf2\x2d\x5e\xa7\xc4\x96\x79\x62\xea\x9c\x30\xcc\xcf\x47\x35\x79\x47\x22\x67\x5c\xc3\xa7\x14\xff\x98\xe9\xfb\x3b\x36\x48\x78\x3c\xa1\xb8\x94\xc2\xf7\x50\xce\x1b\x63\x92\x9b\x41\x1f\x1a\x0a\x26\x3a\xb5\xe5\x7a\x21\x99\x50\x4a\x89\x1d\x38\x66\x9b\xc4\x12\x57\x31\xa4\x50\xf5\x66\xc1\x5e\x98\x5a\xf6\xd4\x6e\x9a\x89\x21\x74\x30\xe0\xa9\x9e\x39\x65\x0f\x09\x27\x6f\xf3\x48\x0c\xb8\xda\x86\x48\x5e\x8a\x64\xb3\xc3\x85\x27\xb9\x8d\xe6\xc0\xa2\x52\x2e\xb8\xe3\xdb\x6f\x69\x97\x95\x3e\xf1\xeb\xf8\x7c\xeb\x82\x13\xca\x24\x05\xae\x14\xcf\x8b\xc7\xce\x83\xff\x89\x63\xc7\x6a\x4d\xfe\x88\x9d\xf3\x78\xd3\x9d\x03\xf9\x87\xee\xbc\x77\xb0\xf0\x0b\xe5\xa2\x99\xf0\x6c\xb1\x0b\x71\xdd\x29\xcf\x01\x65\x42\xa4\xca\x84\xd1\x96\x51\xb8\x29\xae\xd0\xf8\x17\x60\xc9\x14\x33\xa8\xc8\x1a\xe2\x26\x39\x8f\xa7\xe2\x48\xa6\xb9\x48\x73\xf5\xbb\xd9\x03\x98\x84\xc0\x76\xd4\x69\xb7\x9f\x15\x8d\x43\x86\x18\xb4\x9c\x17\x84\xcd\x13\xaf\x70\x92\x1f\x82\x70\x96\xa8\x67\x54\x1a\xc7\xd6\xf4\xc6\x82\x2b\x53\x31\x88\x79\xe2\xe5\x71\x99\x80\x0c\x0a\x11\xfb\x12\xbb\x89\x53\xac\x15\xac\x3b\x1f\xa5\x72\x22\x5a\x76\xe6\x18\xe9\x96\xf1\x74\x04\xa6\xb0\x4c\x00\x64\xe8\x6f\xbf\xdd\x7e\x0a\xdc\x08\x8a\x80\x9b\x7a\x21\x0c\x26\x85\x65\x08\x88\xa9\xe5\x99\xe0\x39\xea\x64\xe6\x63\x99\x18\x70\x34\xb2\x8d\xd7\x8e\x3c\xe7\x56\xac\xde\xff\x7c\xc8\x4c\x99\x0b\x59\x4c\xea\x65\xa7\x39\xf4\x45\x46\xcc\xe5\xae\xa2\xae\x29\x38\xb7\x3c\x79\x78\x58\x7c\xae\x53\xeb\xda\x5d\xdd\x21\x59\x02\xdf\xec\xbb\x37\xc6\xba\xe0\xbf\x7e\x50\x78\x7d\x11\xbe\x7e\x58\x78\x7d\x79\x19\xbe\x7f\x54\x78\x7f\x15\xbe\x7e\x5c\x78\xfd\x73\xf8\xfa\x49\xe1\xf5\xe7\xf0\xf5\x53\x6f\x52\x96\x1b\x9b\x97\xcf\xbc\x97\xcf\x6a\xa5\x10\x68\x7f\x2f\x1e\x26\xf9\xd6\x5b\x71\x13\x8a\x25\x37\xcc\x15\x04\xbb\x86\x5c\x10\xc0\xef\xa7\x96\xb5\x2d\xe9\x4a\xbb\x94\x5b\x81\x71\xfb\x8f\x40\x91\x71\x75\xbd\x3b\x8e\x08\xc2\xff\x2c\x92\xe8\xf8\xfe\xf9\x08\x0a\x37\xa5\xb9\xc8\xa6\x99\x2b\x3b\x8b\xa9\xd2\xb1\x9a\xfa\x40\x4e\x17\x6c\x20\x27\x13\x9e\x56\x27\xc7\x5e\xc2\xf9\x8e\x56\xa1\x88\x82\xea\x85\x89\x54\x5c\x82\xae\x91\xc8\x5f\x52\x0a\x98\x7a\x43\xff\xd5\x33\xdf\x78\x55\x72\xee\x59\x40\x90\x59\x33\x49\xf8\x54\x89\x28\x08\x7a\x0f\xa0\xeb\x2b\xcf\xd1\x91\x9e\x55\x01\xfd\x7e\x31\x08\x74\xbc\x30\xae\x11\x80\x03\x3f\x41\xa5\xef\x60\x81\xb8\xd4\x98\x34\xa6\x98\xb6\x83\x73\x4a\x85\x94\x8c\xf7\x08\xeb\x2f\x58\x22\xf2\x52\x35\x7e\x3a\x8a\xb0\x5b\x74\x29\x99\x48\x95\x3b\x40\xd4\x90\xaa\xad\x99\x2c\x21\xdf\xc9\x34\x59\x7c\xc7\xe6\x1c\x12\xd6\x4c\x13\x2d\x29\xe6\xe2\x36\x37\x81\x8f\x83\x24\x9e\xa2\xca\xd0\x0b\xee\xa3\xd0\xbe\x5a\x94\xc5\x37\xa2\xd5\x5f\xd4\xd8\x5c\xf4\xcd\x98\x57\x10\x2f\x24\x24\xb7\x2b\x70\x38\xcc\x45\xa6\xd1\xe8\xc7\x20\x2a\x91\x9f\xc7\x13\x21\x67\x79\xdd\xad\xca\x80\xd6\xe4\x5c\x1e\xa7\x11\xe4\xa5\x74\x2f\x1b\x4d\xf6\xc8\xd5\x82\x28\x84\xec\x6d\x12\xe7\xe7\xa7\x56\x5d\xb1\xce\xab\x96\x19\x1d\x62\xfe\x88\xc5\x9e\xf0\x14\x04\x1b\xe3\x4c\x04\xf9\xf0\xe7\x32\xbb\x86\x9c\x32\x2a\xce\x67\x94\xf8\x0e\x6a\x94\x39\x40\x26\xef\x51\x5b\xdc\x8a\xc1\x11\xee\xbd\x7a\x4d\x83\xac\x35\x50\x77\x96\xc8\xb9\x2b\x7f\xf2\x4f\xb1\x66\xcb\x06\x20\xa7\x0b\xdb\xff\xb9\x3c\x32\x04\x59\x6f\x3c\xdf\x74\xb1\x5d\xc8\xa4\x97\xed\xdb\x1d\xa3\x7b\x0f\xaa\x2f\x30\xc4\xe1\xde\x6b\x0e\x27\xa7\x22\xa5\xa4\xf8\xa4\xb1\x24\xd6\x0f\x86\x38\x53\xde\x7c\x2b\xc1\x6e\xdd\x09\x50\xa6\x38\x2a\xbe\xaf\xc7\x52\xb7\x2b\x6c\xfb\x1e\xc3\x15\xb4\x56\x2b\x67\x4f\xa9\x61\xb9\xfe\x83\x54\x36\x07\x89\x54\xe2\x60\x21\x54\x33\x13\x2a\xfe\x05\x7f\x9a\xcb\x45\xa6\xe0\xcf\x5a\x50\x65\x86\x40\x4c\xe2\x34\x9e\xc4\xbf\xf0\x7e\x82\xdf\xcc\xe3\x28\x1f\x1f\xd4\xd8\x7d\x33\xaa\x38\x4d\x45\xf6\x49\x3f\xad\xfa\xbc\x39\x16\xf1\x68\x9c\x97\x3e\xf8\x09\x1e\x07\x25\xc1\x36\x5a\xc8\xe2\x12\x8a\x95\x4b\xf8\x11\x32\x7c\x59\xb5\xaf\xe1\x99\x90\x0a\x72\xc5\xc9\x05\xea\x61\x4c\x23\x64\x4f\xaf\x62\x72\xd4\xbe\x18\xf3\x9b\x58\x9f\x81\x0a\x53\x88\xab\x5c\x98\x64\xa0\x46\x33\xa0\x94\x50\x81\xeb\x1c\x5a\x5e\xb1\x5c\xea\x77\x38\xc0\xa5\x9f\x7c\xa4\xa2\xac\x94\xf9\x6c\x98\xc4\xa0\x4f\xf7\x33\x75\x61\xa1\xe5\x9b\x16\x74\x5e\x03\x5d\x04\x66\xa2\xdc\x86\x1e\x3f\xae\xa3\xc7\xba\x9f\x7e\xc1\x54\x5a\x09\x98\xe5\x47\xd0\x68\x7b\xca\xbf\x7a\xf8\x45\x05\x7f\xa5\x4f\x0a\x01\xed\xeb\xf9\x76\x61\xfd\x3b\x8f\x2b\xd7\xbf\x5c\x2c\xf2\xeb\xef\x65\x74\x53\xfb\xdf\xb5\x97\xe5\x2c\xdf\x6e\x2f\xc3\x07\x5f\x63\x2f\xff\x1e\x59\x94\x9c\x5c\xef\xb2\xd5\x71\x93\x87\x72\x2a\x55\x3c\xf1\x73\x8a\x7b\xc7\xb8\xde\xf1\x15\x5b\x16\xc6\x40\xf2\x00\x15\x26\x05\x73\x16\xe8\x1e\x32\x9e\xaa\x09\x94\x5d\x36\xe5\x87\xea\xf1\x90\x15\x0b\x33\xc1\x31\xdf\xa0\xc4\xa9\x68\x39\xab\x0d\x6a\xba\xc3\xda\x51\xad\x6a\x60\x81\x78\x31\x07\x8a\xc7\x19\x7b\x08\x30\x49\x8b\x49\xf9\x08\x9a\x4a\x53\x77\xd8\x66\x32\xb4\xf2\xb4\x92\x6e\x66\xd7\xa9\x9c\x2b\x50\x76\x08\xb0\x1c\x8f\xc5\x84\x0a\xa9\x24\xba\x99\x04\xed\x02\xde\x86\x10\x8d\x63\x0e\xe9\x0a\x65\x61\x59\xfa\x0b\x0c\xc5\x1f\xc7\x4e\x78\xbd\x16\x0b\xc6\x47\x3c\xde\x6a\xb3\xad\xbd\x17\x98\xed\xb4\xe1\xb5\xe0\x79\x69\x8f\xb2\xdf\x7e\x73\x12\x54\x78\x69\xa8\xba\x21\x98\x92\xb7\x61\x89\x6e\xd6\x17\x7a\x9a\x63\x91\x44\x40\x2d\x3e\x1d\xd9\x11\x16\xe4\x42\xeb\xb9\x43\x48\x73\x59\x97\x28\xff\xb5\x8c\x04\xe6\x6d\xe4\x11\xea\x05\x8f\x7b\x47\xac\x9a\x86\xf2\x6c\xe6\x9c\xbc\xe6\x82\x90\x4f\x19\x90\x23\x31\x88\x23\xc1\xfa\x22\x9f\x0b\x91\x02\x7d\x81\xb7\x10\x10\x98\xdb\xbd\x95\xba\x96\x20\x09\x0f\x14\x81\x0b\xaa\x94\x9a\x42\x78\xe0\x52\xb6\xa4\xfe\xac\xde\x03\x15\x57\xc3\xdf\x21\x87\x7a\x32\xa8\x9f\x94\x6d\xe9\x32\x06\xe2\x69\xbd\xc1\xbe\x58\x91\xf4\xcb\x26\xcc\x08\x8f\xa1\x32\x27\x82\xdc\x1a\xd2\xa5\xe5\x80\x65\xfc\xd8\x64\x91\x98\x52\x65\x4a\x99\x16\xce\x67\xc8\x1d\x89\x4e\x77\xf0\xb5\xc7\x41\x3e\x62\x25\x4c\xcd\xcb\x36\xe2\x63\x28\x4c\xa0\x08\xb2\xe5\x85\x1b\x1d\xc1\x37\x3f\xc5\xee\xa6\x69\x28\x2a\xe5\x51\x97\xf1\xd1\x26\x73\x59\x0d\xc9\x26\x71\xd9\xee\x90\xf8\x09\x69\x6e\x28\xd3\x9c\xfd\x22\xe5\xc4\x2b\x68\xe5\x65\x14\xa9\x29\x57\x1c\x4c\xb7\xc2\x9a\xb1\xac\x1f\xe7\x98\x84\x18\x53\x99\x33\x9e\xb3\x81\xc8\x72\x6e\x5a\x25\xe2\x46\x24\x98\x77\xf5\x30\x47\xd7\xba\x09\xa7\x3c\xe5\x30\xa4\x26\x65\xbe\xe5\x6a\x96\x89\x88\xe1\xd1\x89\x55\x50\x33\x39\x87\x54\x92\xfa\xba\x1d\x41\xa2\x77\x45\xb7\x6c\xe4\xc7\xd4\x16\x34\xdf\x73\xae\x98\xb8\x9d\x26\xf1\x20\xce\x93\x85\x26\x77\x33\x87\x4f\xb6\xba\x96\x08\xb6\x1a\x0c\xcf\xe4\xeb\xd1\x4c\x99\xaa\xc6\xa3\x09\xe4\x54\x66\x79\x4d\x21\x52\xb4\xec\x00\xf5\xf9\xbe\xa3\xbc\x3e\xba\x19\x4c\x77\x53\xea\x09\x9d\xa4\xd6\x50\xd1\xbd\x0a\x75\x4a\x00\xe0\x2f\x7a\xe4\x81\x89\x26\xe4\xb4\x20\xed\x9e\xbe\xfb\x8b\xd1\x77\x2b\x9c\xab\x35\x95\xf8\x4c\xd8\xda\xfe\xa4\x0d\x89\x81\xcf\xa1\xd1\x52\x20\x50\x41\xc0\x83\xe2\x5b\x11\x0d\x18\x3a\xdb\xd9\x9c\x63\x52\x45\xeb\x31\x6b\xb5\xf0\x98\x84\x56\xe5\x82\x43\xe1\x15\x3e\x1c\x6a\xf6\x93\x8e\xa0\x27\x57\xec\x30\x60\xb2\x90\x51\xb1\xf5\xb9\x98\x4b\x51\x8b\x0b\xc3\xda\x73\xe8\xf8\xe7\xcf\xd6\x0d\xe7\x24\x4d\x16\xec\xe7\xcf\x7a\x88\x50\x7d\x19\x89\x4d\x92\x50\x14\x14\x42\x4d\xa5\x49\x5f\xda\xbe\x93\x7c\xb6\x82\x35\x8f\x44\xae\x97\xec\x15\x1f\xe4\x32\xab\x37\xd8\x3d\xaf\xca\x25\xae\x18\xd6\x10\x87\x1c\x83\x39\xeb\x74\x3b\x88\xeb\x21\x7c\xd0\xb4\x87\x84\xbe\x85\xb0\xfb\xbb\xad\xdd\x3d\xa4\x5b\x83\x48\xaf\x8c\xb0\x4f\xdc\xe0\x2b\x04\x71\x50\x82\xab\x18\x79\xa3\xf1\x5e\x9d\x11\xaf\x1c\x09\xcc\xb6\xa7\x7f\x77\xf6\xf6\xfe\x7d\xc3\xb9\x07\xb7\x0c\x28\xd3\x09\x79\xf7\x57\xd7\x2d\x85\x2a\xa4\xb4\x82\x7b\xb5\x42\x3d\xaf\x0a\x2b\xa2\xc8\x5f\xc9\x34\xef\xc5\xbf\x08\x2a\x66\x1a\x14\xf1\x02\x05\xa7\xde\x98\xab\x84\x18\x0b\xc0\x2f\x4b\x6e\xc6\xd0\xaa\x69\x39\xa6\x4c\x5d\xe8\x07\xe9\xc6\x07\xbd\xb4\x0e\x58\xa7\xb2\x94\x18\xbc\xbd\xef\xde\x7a\xf5\x80\x56\xcf\x49\x7f\xd8\xd8\x5c\xbc\xf7\x8c\x87\x5b\x54\x66\x99\x52\x41\x98\xff\x2d\x65\x35\xb1\xac\x91\x1e\x80\xab\x6c\x1d\xe7\x68\x06\x36\x89\xae\x20\x4f\x2c\xc8\x70\xc3\x38\x15\x64\x42\x2f\x54\x6a\x3c\xf7\x53\x76\x43\xb5\x21\x70\xc6\x13\xe9\x6c\x22\xb0\xa6\x25\x8d\x4b\xe5\x3c\x8f\x07\xac\xaa\xb4\x90\x86\x63\x2b\x16\x99\xf4\xb3\x90\xa0\xd9\x42\x26\x9d\x04\x88\x9a\x58\x83\x1c\x44\xdd\x9d\xef\x76\xb4\xe4\x9a\xcd\xe0\xe0\x4b\x95\x39\xd0\xfc\x24\xe2\x58\xf8\xa8\x2f\xa8\x32\x78\x4e\xdf\xe3\x07\x5a\x40\x84\xf7\xa9\xcc\xf1\xb2\xb1\xf3\xdd\x8e\x83\x15\xe7\x2c\x92\x42\xa5\x35\xa8\x9c\x94\x2f\x37\x86\x9b\xc2\x94\xde\x81\xa4\xa6\x62\xe0\x19\xbe\x4d\x31\xc9\x23\x39\x83\x0b\xc3\x9e\x5f\x2c\x03\x13\xce\x81\xd5\xd6\xfc\x09\xfb\x6c\x93\xba\x4c\x43\x99\x69\x5c\x39\x69\x74\x22\x23\x3f\x67\xf3\xc5\x44\x46\x57\x04\x1c\x7f\xff\xf6\x9b\x2b\xe3\xee\xf8\x2d\xb5\x3b\x60\xb5\xef\xec\xa1\x50\x1e\xf9\xfd\xfb\xb0\xd3\x50\xcf\xaa\x5f\x37\x42\xcf\xc7\x8f\x50\x9b\x3f\xa4\x88\x35\x48\x73\x73\x61\x07\xec\xe2\x1b\xc6\x6a\x70\x24\xd6\x9a\xa8\x6e\xd2\xff\xcb\x13\xf8\x13\x0a\xd2\x7f\x73\xe5\xd3\xf1\x00\xeb\xff\x41\x22\x62\xe0\xbf\x9a\x31\x1f\x42\xca\x71\x27\x37\x40\x9d\xc1\x46\x20\x8b\x05\xf5\x5f\xf5\xc9\xaa\x28\x42\x54\x4b\x4f\x78\xca\xf2\x0c\x4a\x65\x65\x72\x36\x1a\xdb\x04\xfc\x83\x5c\xa8\xdc\x54\x12\x9a\x9a\x4a\xa2\xc3\x38\x53\x79\x13\x6f\xb3\x3c\x67\x89\x94\x4a\x24\x0b\x5b\xd5\xc5\xb6\xc3\x52\xdd\x4c\x5f\xb7\xa1\x7a\x88\xcc\xe2\x7c\xa1\xbf\x81\x24\xff\x50\x22\xc4\x36\xde\xa2\xc8\x27\xdf\xb0\x5d\x7f\xcd\x42\x78\x05\x15\x7d\x4a\x76\x39\x3d\xa1\x1e\x75\x81\x94\xbf\x67\xfd\xf0\x49\x20\xb2\xb7\x3a\xd6\xfa\x55\xfc\xf0\x87\x95\x1f\x76\x7c\x71\x7e\x2f\xa0\xb1\xd3\x2c\xbe\xe1\xb9\x30\x99\x33\x0d\x9b\x32\xb5\xcd\xa8\x7c\xce\xd4\xd4\x8a\xd5\xd7\x7e\x95\x93\xb0\xe2\xbd\x51\x54\xd3\x0d\xb2\xc0\xcb\x79\x8a\xbe\x5e\x25\xbc\x9b\x4a\x6e\x9a\x6c\xa8\x84\x5b\xee\x15\x7d\xb3\xed\xa8\x52\xdb\x17\x64\x47\xe8\x68\x46\x76\x1a\xca\x4f\xec\xd7\x93\xfd\xa0\xc4\x70\x96\x60\x30\xf4\x42\xce\x80\x04\xb1\x96\x45\x2e\x4d\xd9\x0b\xe0\x47\x48\x14\x38\x37\x33\x15\x9e\x96\x26\xb3\x6e\x8f\xb9\xcd\x00\xa0\x02\xd1\x59\xf6\xff\xda\xc4\x7e\xde\xe9\x77\x65\xd3\x30\xb0\xa7\x7b\x07\x7a\xfa\xe6\xcf\x60\xad\x88\x9b\x90\x08\x93\xdd\xd8\xac\xb8\x5f\x81\x85\x69\x88\x13\x19\x7d\xe4\xc9\x4c\x13\xa5\x7e\xa5\x8f\x14\xd9\xff\x6b\x83\xfd\x49\xff\x0f\xf2\xad\x6e\x91\xa5\xdd\xcb\x6e\x34\xa3\xab\xdf\x73\x13\x33\xba\xe4\x80\xd3\xe9\x46\xc1\x43\xd3\x59\x28\x18\x9b\x4c\xe2\x7a\x6e\xb6\xa7\x02\x1b\x74\xf4\x9a\xdd\x3c\xaf\xaa\x41\x48\x84\x51\x2e\x32\x48\x74\x15\x63\x81\x33\x57\x8c\x30\x24\xe5\xff\x3b\x6b\x0c\x2e\x27\x62\xaa\xcb\xb7\xb4\xce\xa0\xaf\x0b\x40\xaa\x37\xef\x49\x06\x68\x6c\xb6\x4a\xcb\x8f\xfb\x58\xb9\xba\x4e\x46\xad\xcf\x49\x0a\x01\xed\xaa\xd8\x9c\x8b\x6f\x3d\xf7\x0a\x99\xc3\x2b\x74\xbb\x02\x03\xb6\x32\xae\x9e\xea\x46\xe5\xe5\xe5\x14\x65\xe7\x7f\xf1\xda\x84\xb4\xd0\xff\xa1\xdf\xea\x4e\x6e\x62\x31\xa7\xf2\x08\x71\x22\x58\x3c\x99\x52\x99\x0d\xaf\xde\xcf\x09\x4e\x1d\x2b\x02\x42\xa9\x0f\xac\xf8\xa6\x72\x99\x09\x65\xb3\x0e\xeb\xbd\x80\x09\x8a\x07\x32\x8d\xa8\x9a\x8a\xb9\x24\x06\x1e\x7f\x9a\x2e\xcc\x76\xd7\xe0\xe0\xf8\xf2\x6f\xef\x4c\x89\x4c\xef\x41\x39\x64\x40\x34\x02\x0a\x06\x5a\x05\x9d\xe2\x37\x71\x3a\xda\xcd\x84\x1e\x01\x15\x09\xc1\x78\x5b\xaa\x43\x62\x7a\xd7\x97\xd5\x64\x41\x05\x52\xa4\xde\xaf\x37\x71\x84\x15\x7f\xb8\x5a\x90\x0b\x86\x1e\xe2\x40\x4e\x26\x32\xd5\x9f\x0e\xe3\xd1\x2c\x03\x75\x12\x9c\x8d\xb4\xea\xc6\x93\x3a\x8b\x47\x10\xf4\x0f\x0b\xd5\x5f\xb0\x23\x99\x2d\xd8\x3b\x3e\x18\xf0\x2c\x23\x52\xdf\x75\x3e\xa7\x32\x55\x79\x36\xd3\x17\x6f\x8b\x87\x2a\x8c\x52\x2f\xe0\xfa\xc8\x51\x6b\x61\x35\xb6\x34\x21\x03\xa7\xc2\x2a\x8a\xb7\x0d\xae\x42\x46\x93\x4f\xbb\xbb\xbb\xf3\xf9\xbc\x7d\x93\x77\xf6\xf6\xda\xa9\xc8\x77\x23\x39\x50\xbb\x37\xf9\xa3\xce\x5e\x2b\x9b\xec\xbe\x3c\x3e\xea\x9d\x9f\xa1\xcc\x35\x10\x53\xa3\xfa\xd2\xf7\x16\x2c\x7d\x33\xcb\xe5\x3c\xe3\x53\x56\xd7\xff\xc5\x7a\x85\x0d\x9b\xac\x37\x27\x17\x4c\x2c\x56\x25\xc4\x44\x91\x52\xab\x2f\xd8\x5c\x3f\x43\x87\x4f\x7d\x73\xa8\xde\xfe\x84\x81\x83\x2f\x7a\xf2\x9f\x41\x37\x7d\x42\x58\xb0\x99\xbf\x41\x99\x26\xa7\x0b\x94\x31\x3c\x2c\x78\x7c\xc2\x60\xd2\x3f\xcb\x09\xa0\x75\xda\xd4\x1b\x90\xe7\x79\x16\xf7\x67\x39\x94\x8f\x26\xdb\x0c\x14\xb8\xd4\xc8\x9b\xce\xfa\x49\x3c\x70\xf4\x05\xc4\xc1\x07\x03\xa1\x14\xc5\x52\x21\x20\x4b\xc4\xd6\x61\xd9\xe1\x86\x1d\xb8\x99\xfc\xc9\xfe\xf4\x1b\x74\x6d\x9e\x7c\xaa\x05\x78\x23\x32\x25\x3e\xad\x83\x50\x6e\xe7\x1d\xf4\x00\x49\x02\x55\xbe\xc3\x0b\x54\x15\x08\xaf\x41\xf1\x5b\xbd\xcc\x47\x3c\xcb\x62\x3e\x12\xc4\xfd\xab\x61\x54\x34\x2c\xc2\xc2\x2d\xf8\x31\xc6\x12\x29\xd5\x60\xc2\x36\xd5\x10\x5e\x24\x71\x7a\xbd\xf2\x7b\x6c\x51\xfc\x3a\x86\x48\xaf\x15\x78\xf0\x1a\x14\xbf\x25\x2c\x7f\x8c\x23\x21\x57\x2f\x04\x36\x29\x7e\xdf\xcf\xf8\xe0\x5a\xe4\x22\xc2\x40\xb3\x6a\x08\x85\x46\x16\xc6\xfa\xd3\x07\xaa\x5c\x67\xff\xea\xaa\x97\x6d\x0b\xe3\x16\xf6\x3c\x83\x22\xeb\xd5\x15\xb7\x16\x69\xce\x6f\xf1\x20\xd1\xac\x16\xad\xa9\xd6\x94\x37\x53\xb9\x9c\xc4\xbf\x70\xcb\xcc\x0d\xfb\xa0\x7a\xf4\xa5\xea\x42\x30\x00\xa6\x87\xa0\xe5\x0d\x53\x6c\x1e\x6f\x40\x84\x2e\x7c\x04\x4a\xce\xef\x76\x0d\x19\xd0\xbb\x03\x56\xc3\xa8\x86\x22\x9c\x14\x5c\x49\x11\x8e\xcd\xd6\x2f\x95\xa9\xf6\xe9\x83\x9a\x4a\x85\x3a\x92\xa5\xc3\xf9\x13\xc1\xb1\x1e\xe8\x14\x92\xb3\x06\xf0\x60\xcc\x0e\x5c\x69\xe6\x00\x11\x9e\x88\x05\x15\xcd\x83\xe2\xf7\x42\x29\x3e\x12\x81\x54\x95\x8a\x39\x3b\xc6\xd2\xe7\x00\x80\xe1\x57\x3c\x87\xd2\x6e\x76\x1a\xf7\x59\x0d\x8b\xbd\x19\x18\x2b\x7b\x76\x15\xd7\xcb\xeb\xe2\x4b\x73\x80\xa0\x03\x1f\xef\xa6\x66\xd7\x2a\xe8\xa5\x72\x52\xf8\x29\x1c\xc2\x9f\xa7\x52\x79\xfa\x2a\xbb\x98\xf8\xe3\x79\xb8\x32\xd4\x5e\x5f\x9e\x9c\x22\x0b\x70\x4b\x83\x09\x75\xd6\xfe\xe5\x1d\x50\x55\x0e\xc7\x41\x75\x8e\xff\x54\x6f\x47\xba\xac\xe0\x3d\x45\xda\xca\xc7\x5e\x29\x12\x77\xf0\x43\xe1\x5d\x7f\xde\x54\xb8\x15\x6e\x16\xe6\x83\x37\x62\xa1\x02\x8f\x07\x6e\x53\x49\xb4\x19\x7b\x23\x48\xe6\x88\x84\xf5\x83\xe2\x29\x18\x42\x47\xe8\x91\xad\xff\xb2\x60\xad\x11\x6d\x69\xb7\xa6\x44\x75\x9b\xb1\x77\xae\x7a\x0a\xea\x58\xb1\x76\xb5\x2b\x76\xf9\x57\xa9\x27\x02\x72\x04\x5e\x27\x22\xa8\x72\xeb\x05\x53\x20\x92\x52\xa6\x19\x68\x16\xab\x6b\x50\x56\xd2\x30\x8d\x16\x24\x4e\x23\x2c\x34\x68\x83\xd4\x66\xa9\x2b\xc9\x17\xe8\x5c\xf5\xe9\x6f\xa4\x2f\x03\xdd\x2b\x31\xdb\xc5\x3b\xdd\x61\x97\xc1\xed\x59\x90\x53\x28\x0f\xd2\xc0\xec\x1c\xee\x84\x43\x64\x8c\x3d\x7e\xd4\x65\x3d\xbc\x0a\x61\x1e\x20\x7a\xbe\x77\xfb\xb0\x53\xfd\x06\xfc\xcf\x8a\x1d\xe1\x43\xbf\xc5\x32\xc0\xf0\x72\x0d\x74\x34\x74\x57\xf6\x41\xaf\xfc\xd6\xdf\xf9\x2d\x71\x20\x50\x8b\x72\x2e\xb4\x38\xa5\xbc\xc2\x66\x01\xc5\x02\xce\x4d\x1e\x3e\x2a\x4d\xaa\x19\x42\x22\xb8\xf2\x4c\x4f\x9a\x00\x0e\x6d\x1d\x4d\x60\xf6\xb4\xb7\xed\x9d\xbe\x70\x97\x07\x8d\x68\x13\x2c\x8a\x5e\xc5\x8a\xa6\x21\x23\xec\xca\xdd\xdf\xcb\x5c\xde\x63\x02\x70\x9c\xbe\x11\x8b\x9e\x19\x75\x89\xd1\x58\x2d\x0e\xaa\x60\x6c\xc9\x4a\xcd\x37\xbf\x81\x42\x24\x7e\x01\xc1\x6b\x77\xbb\x5f\xb3\xf1\xac\xf3\xdd\xcd\xc5\x46\xed\x2f\xae\xaf\xae\x02\x7d\x8b\xee\x77\x3e\xd6\x77\xb5\xba\x65\x46\xdf\x57\x30\xc1\xa0\x66\xa1\xba\x8e\xa7\xbd\x29\x1f\x38\xe3\x95\x1e\x75\x2e\xaf\x85\xf5\xe7\x07\x94\x9c\xeb\x27\xc6\xd9\x17\xd4\x5f\xfa\x41\x1b\x0e\x9d\x83\x03\x56\x23\x2e\xe0\x19\xb4\xb2\x1b\x4f\x79\x8f\xad\x6f\x78\x42\x8a\x2f\x6b\xe0\xaa\x02\x65\x27\x5c\x0b\xab\xe8\x78\x40\xb6\xc6\xaa\xa7\x2d\xb3\x75\x54\xd6\x21\xd8\xeb\xef\xea\xb9\x85\xa2\x47\x92\xdd\xa0\x46\xec\xdb\x6f\x99\xf9\x79\x2f\xb0\x0d\x20\x7e\x33\x70\x7f\x8b\x15\x1e\x99\x7e\xa1\x53\xd3\x0f\x1e\x7e\x5e\x47\x0d\xd7\x91\x81\xec\xe9\x0b\x2b\x11\xb7\x1e\x21\x86\x9f\xfa\xc8\x08\x96\x67\xed\x97\x05\x5c\x84\x43\x71\x40\xcb\x53\xfe\x90\x5e\xa7\x72\x0e\xca\xbc\xe5\x73\xfd\xb2\x8e\x24\xd4\x62\xd2\x97\xc9\x0a\x72\x30\xfa\x4a\x37\x14\x57\xc2\x33\xba\x13\xb1\x20\xb9\x4c\x37\x26\x96\x38\xf2\x68\xc4\x6a\x59\x2f\xa6\x57\x8d\xc0\x75\x13\x1e\xb1\x03\xa6\x87\xeb\xda\x7f\xd9\x06\xa1\x58\x6a\x5f\x44\x0c\xb1\xb2\x0a\xad\x15\x30\xcb\x10\x8f\x0d\x3c\xef\x24\xf7\xf7\x60\xd9\xe4\x5c\x66\x1a\x56\x21\x3e\x18\xc3\x4e\x68\xd9\x9d\xd0\xcf\x04\xbf\xf6\x5a\x79\x74\x77\x0f\x85\xcd\xc6\x8a\x91\xe5\x19\xf7\x85\x79\x3e\xd4\xc2\x6c\xce\xb3\x91\x00\x3b\x53\xcd\xf4\x4f\x45\x8f\x6e\x78\x3a\x10\x75\xcf\x0d\xae\xd0\xe3\x81\xdf\x63\xb9\xbf\x77\xb1\x52\xe0\x14\x59\xec\xa0\xa0\xb9\x5e\x73\x76\x1c\x9a\x70\xa8\xaa\xc2\xa4\x45\xdc\xad\x61\xb7\xdf\x54\x72\x5b\x94\xf2\x6b\x81\x9d\xa1\xc8\x62\x37\xe3\xac\xdb\xb0\x11\x2a\x06\xde\xa8\x0a\xf8\x58\xde\xbc\x8a\x75\xac\xe4\x13\xe4\x23\x5e\x4d\xd7\x94\x6d\x62\x29\x0d\x53\x1d\xf0\x12\x09\xaf\x5c\x37\x21\xae\x31\xde\x76\xf5\xb5\x42\x8b\xf0\x07\xac\x76\x59\xab\x19\xbb\x88\x79\xb4\x53\x5b\x4d\x18\x42\x5c\xbf\x76\x82\xf1\x9a\x4e\x50\x19\x5d\xdf\xbd\xe0\xad\x5f\x3e\x5f\xed\xc6\xab\xef\x44\x00\x9b\x36\xee\xa6\x80\xf7\x5a\xcf\xae\x76\xd7\x80\xb5\x54\x58\x86\xea\x6f\xf6\x90\xf1\x3a\xd9\x48\x03\xe9\x5a\xc6\xdd\x64\xb0\x82\x5d\x33\x92\x2f\xcf\x97\xed\xda\x60\xaf\x15\x9d\x9e\x42\x3c\xd6\x1b\x01\xfd\x9b\x2e\xbd\x75\x0f\xbb\x85\x29\xf9\x9f\x7f\x79\x5e\x82\x8e\x64\xb0\x04\x32\xed\xba\x0a\xa8\xe6\xb3\x0a\x88\xb4\x36\xcb\x06\x4b\x62\x53\xd5\x48\xcd\x87\x1a\x68\x25\xd1\x7b\x47\x01\x6c\x93\xda\x06\x4b\xba\x8a\x0c\x5d\xf0\x5d\x35\xa2\x57\x1d\x1d\xe1\x66\x2b\x5c\xc7\x75\xc7\x64\x57\x41\xb2\xde\x6b\x3d\xfb\x7c\x75\x7f\x37\x1e\x6d\x32\xe2\x65\xc4\xad\x89\xad\xcf\x95\x96\x5f\x3a\x7b\x21\xe2\x89\x30\xf7\x6a\x36\x42\x66\x99\x30\xcc\x5a\xac\x53\x48\xca\x11\x5e\xd2\x3d\x55\x45\x47\xdf\xd7\x01\xf0\x6d\xad\x10\x2a\x63\x46\x5a\xaf\x98\xf0\xde\xad\xde\x70\xbc\x35\xbc\xba\xbf\x3b\x8a\x1b\x25\x6f\xac\x55\xdf\x5e\x46\xf7\x77\x47\x8d\x6a\x25\x01\x55\xb2\x97\x19\x8b\xe4\xac\x9f\x08\xf6\xb7\x99\x74\x2c\xd0\xb7\x07\x14\xd5\x3e\x36\x03\xb9\x8c\xd3\xdc\xe8\x86\xe0\x8c\xe5\x09\x42\xf1\xae\xad\x8c\xf5\xa0\x23\x0d\x2c\xe8\x41\xa1\x0f\x7c\x9f\xf2\x2c\x88\x88\x25\x71\x2e\x32\x9e\x24\x8b\x66\x61\x48\xd0\x70\x9a\x49\xd0\x9b\x0b\x70\x8e\xb7\xb7\xbb\xf3\x93\x97\x27\xf5\x6c\x14\xa7\x11\x6f\x74\xd9\x47\x53\x60\x1f\xfd\xab\x65\x62\xa3\x80\x7c\x4b\xc1\x29\x6e\x3a\x9e\x8b\x2f\x6c\x6a\x7f\xfb\x2d\x8c\x5a\x0e\x67\x73\x58\x42\x56\xab\x38\xcd\xe0\xa2\x49\x5f\xaf\xbd\x28\x2e\x3b\x35\x80\x0f\x0a\x35\x4b\x72\xa7\xf0\xd3\xcf\xb0\xd3\x03\xc3\x06\x8d\xbf\x22\x3e\xbe\x07\x07\x89\xa6\x58\xf7\xf7\x65\xad\xb6\x6c\xef\x51\xdf\x86\x05\xd0\xbe\x2b\xb1\x54\x3b\x1a\x76\x00\x4a\xb9\x33\x31\x3a\xbe\x9d\xd6\x6b\x17\x97\x97\x97\x97\xfa\x84\xc5\xce\xee\xb3\x1a\xe4\xde\x1f\x11\x9c\x6d\x2e\x92\x99\x68\x27\x5c\xe5\xaf\xd3\x48\xdc\x5a\x29\x46\x2a\xdf\xdd\x40\x40\x08\x6c\xdd\x83\xd1\x58\x2e\xf6\x7d\x48\xc9\x9c\xe2\x1d\xe8\x44\x5a\x35\x57\xb5\x1c\xb0\x7b\xff\xa0\x62\xcf\x6a\x56\x6c\x06\xd1\x0c\x47\xd7\x62\x9d\x4a\x91\xb1\xd0\xc8\x4e\xdb\x6b\xef\x16\xea\xc0\x2e\x54\x20\x16\x5c\x16\xbd\x4d\x8b\x27\x5b\x69\xd4\x40\x43\x18\x2b\xe2\xe2\x68\x07\x32\xcd\xe3\xd4\x94\x4d\xfe\x52\xd5\xb9\x96\x40\x56\xf5\x5e\xe8\x06\x09\x6d\xc5\xb0\x96\x76\xe9\xf5\x00\xbd\x6f\x30\x41\x53\xa4\x75\x96\xe4\x85\x50\xdf\xad\x17\x1a\x0e\xbe\x90\xe9\xa5\xc4\x3d\xd0\x24\x01\x29\xa2\xaa\xf4\xda\xac\x4e\x76\x68\x9f\xcf\xa1\x19\x52\x37\x07\x8f\x34\x4f\x3b\x7e\xf8\xea\xfc\xf8\x0c\xde\x24\x82\x43\x7c\x08\x24\x8b\x4a\xb8\x1a\xb7\x1b\x45\x25\xd4\xa6\xbc\x81\x62\x80\x2a\x79\xc3\x04\x1c\x99\x11\x97\xb5\x9d\x5a\x57\xff\x07\x5d\xda\xf5\xda\x76\xe1\xbf\xe6\xef\x4b\xf8\xfb\xd2\xfc\xcd\xe1\xcf\xdb\xbd\x27\xe6\x41\x9f\x1e\x3c\x35\x0f\x04\x3e\xe8\xf4\xcd\x83\x21\xb5\x18\x98\x07\x29\x3d\xe0\xe6\x41\x46\x0f\x22\xf3\x20\xa7\x07\xcf\xcc\x83\x1b\x7a\x60\x81\xde\xd6\xba\xc5\x99\x19\x09\x90\xae\xe4\x2b\x0e\xff\xab\x5f\xf7\xbf\xe0\xe9\x1f\x90\x4d\x55\xd2\x1b\x7b\x3a\x02\xd4\x26\xeb\x3c\x6e\x98\x1b\x29\x8d\x64\xf6\xfb\x46\xf2\xf0\x2b\x8c\xc4\xea\xfd\xbc\xc8\x8a\xc1\x18\x52\x8f\xf1\xe9\x52\xe9\xc9\xdc\x79\x90\xa4\xbb\xce\x32\x32\x18\x3b\xc6\x6d\xa6\x30\xe1\xd3\x0b\x7a\x79\xf5\x7c\x09\xa3\x87\x2d\xbb\x98\x0a\x39\x64\x4e\x2d\x62\x50\x43\x07\x89\x81\x07\xff\xdb\x1e\xf0\x24\x41\x17\x2d\x5f\x6a\xa3\x4b\x64\x49\xe6\x70\x5e\x3f\xc6\x7f\x50\xe5\x3c\x03\xb7\x84\xa5\x5b\xb1\x78\x74\xe3\xf9\xf3\xc5\x42\x38\xb4\xbf\x02\xb7\xaa\xdc\x37\x5f\x81\x83\x87\x9a\xf2\xb4\xcd\xd8\xbb\x0f\xbd\x73\xd4\xe8\x92\x2a\x19\x9a\xee\x8c\x12\xd9\xe7\xc9\x0e\x1d\x6f\x6c\x98\xf0\xd1\xdd\x8e\xf4\x0a\xc7\xa1\xa9\xef\x35\x04\x2b\x6c\x7c\xce\xb0\xd7\x65\xeb\xab\x25\xd7\x2c\xe5\x09\xda\xbe\xba\xac\x37\xe5\xa9\x73\x77\x35\x9e\xd7\x08\x83\x0e\x36\x03\x78\xd9\x79\x0a\x75\xe1\xb3\x05\x3b\xb0\x2d\x4b\xe7\xaa\xa3\x43\xdd\xf0\xb7\xdf\x2a\x60\xb6\x34\x8c\x8b\xbd\x2b\x23\x03\xdf\x73\x9d\xac\x95\xf4\xad\x07\x1e\xd2\xab\xc1\x8d\x13\x3e\xd0\x06\x56\xd5\x69\x67\x19\xdd\xd2\x1a\xe1\xa0\x42\xbe\x7f\x88\x2d\x37\x22\x2d\x63\x42\x1d\xc8\x19\xf8\x8b\x2e\x5d\x68\xea\xde\x5f\x63\xf8\xc6\x53\xd3\x80\xc4\x7f\x80\xa0\x42\x1b\xde\x8a\x3b\x42\xc9\x9e\x17\x4a\xa3\xe4\xd2\x82\x12\x1b\x3b\x64\x49\xac\x20\x06\x0d\x82\x86\x58\x2a\xd3\xd6\x7c\x1c\xe7\x02\x13\x05\x06\xc4\x4f\xce\xaf\xe6\xb0\x64\x38\x77\x47\xdc\x37\x32\x8e\x56\x92\xb6\xd5\x3a\x15\xdd\x61\x70\x30\x1e\x69\xef\x5e\xaa\xdd\x76\x2e\x54\x6e\xb8\x58\x70\x71\x0d\xe5\xc9\xdd\x4b\x75\x7f\x77\x34\xc1\xb4\x74\x4b\x68\xd6\x64\x09\x32\x16\x53\x0f\x7d\x46\xfc\x35\xd2\x61\x20\x18\x7a\xb4\xe4\xc3\x76\x74\xb6\xd9\x62\x50\x17\xc5\xa9\x06\xe2\x4d\x3b\xd6\x90\x4f\x86\x41\xab\x83\x03\xd6\xea\x34\x36\x51\x9b\xca\x14\xac\xaf\x7a\x37\x78\xcb\x7b\x9f\xd5\x9a\xe8\x01\x01\x1b\x25\xb0\x0b\x18\x16\xef\xc4\xa3\x4d\xfd\x3c\x3e\xfb\x0a\xb6\x7f\x71\x9f\x0f\xeb\x0b\x97\x50\x40\x30\x78\xf5\xf9\x06\x64\x99\x85\xda\xc5\x32\x85\x7b\xe8\xd0\x02\x55\x49\x97\xb0\xd4\xca\x8d\xd2\x17\x18\x37\xbb\x36\xa6\xe2\x1b\x34\x70\x76\x4d\x6c\xc5\x37\x8c\x1d\x26\xfa\x3d\x84\x58\x7c\xc3\x20\x2a\xb8\x6b\x42\x2d\xbc\x7d\xfe\xc6\x16\x6e\x98\x79\xae\xeb\xa8\xb8\x26\x1f\x61\x1b\x08\x68\xb8\xd6\xa9\xde\x86\x98\x38\x48\xe3\x79\x22\x55\x9e\x2c\x58\x22\x86\x39\x93\xb3\xdc\x2e\x07\x30\x89\xbe\x18\xf0\x99\xa9\x0d\xa2\x91\x3d\x91\x37\x82\xa1\xd3\x17\xd8\xc4\x4d\x1e\x54\xeb\xd8\x92\xc8\x01\x4f\x04\x18\x53\x4d\xee\x01\x93\xb3\x20\x2d\x38\x18\xb0\x24\xbe\x16\x6c\x07\x0c\xb9\xc7\xbd\xa3\x9d\xa6\x0d\x69\x1f\xc8\x89\x50\xe6\x68\x37\x63\x91\x43\x08\xfe\xf1\x10\xcb\xd8\x6b\x70\xcf\x16\x7f\x9b\xc5\x37\x3c\x11\x18\x89\x89\x00\xf7\x9f\xec\x60\xe4\x10\x99\xa1\x3b\xfd\x9d\xd5\xcb\x68\x4d\x4e\xb4\x44\xbb\xbb\xec\xdc\xa5\xc9\x3f\xee\x1d\x75\xd9\xfe\x13\xbd\x16\xaf\x3a\x5d\xd6\xe9\xec\xc3\xcf\x7d\xfd\xf3\x01\xfc\x7c\xa0\x7f\x3e\x84\x9f\x0f\xf5\xcf\x47\xf0\xf3\x91\xfe\xf9\x18\x7e\x3e\xd6\x3f\x11\xc2\x13\xfd\xf3\x29\xfc\x7c\xaa\x7f\x3e\x83\x9f\xcf\xba\xac\xb3\xbf\x87\x5d\xec\xe9\xdf\x1d\xfc\xad\xfb\xdb\xc7\xfe\x3a\xba\xc3\xfd\x07\x4d\x8a\xb4\x3f\xd3\xac\x61\x2e\xf5\x00\x4f\xde\x1f\x77\xd9\x43\x00\x74\xfe\xe9\xa4\xcb\x1e\x01\xa0\xf3\x9f\xce\x8e\x8f\xbb\xec\x11\x42\x3a\xf9\x70\xd6\x65\x8f\x10\xd2\xeb\x8f\xfa\x39\x0c\xbd\xf7\xfa\xcf\x5d\xf6\x08\x86\xde\x3b\xfe\x78\xfc\xbe\xcb\x1e\xc1\xe0\x8f\x5f\xff\xf8\xd3\x79\x97\x3d\x82\xe1\xbf\x7f\xad\x3b\x78\x04\xe3\xff\xcb\xf1\xd9\x49\x97\x3d\x84\x09\xbc\x38\x3c\x7a\xd3\x3b\x3d\x3c\x3a\xee\xb2\xa7\xc1\xb0\xc6\x99\x80\xdc\x56\xe7\x87\x2f\xba\x0c\xc6\xf5\x5f\x5d\xf6\x14\x06\xf2\xa9\xcb\x9e\x02\xa0\xe3\x2e\x7b\x0c\xaf\xce\xba\xec\x29\x8c\xeb\xbc\xcb\x9e\xc2\x48\xfe\xbb\xcb\x9e\xc2\xab\x0f\x5d\xf6\x14\x86\xf3\xba\xcb\x9e\xc0\x78\x4f\xba\xec\x09\xbc\x3a\xed\xb2\xa7\x7b\x7e\xa7\x43\x39\x83\xf4\x96\x47\x87\xa7\xbd\xb7\x27\x47\x6f\xba\x0c\xf1\x79\xd8\x65\x8f\x01\x46\xaf\xcb\x9e\x02\x8c\x97\x5d\xf6\x18\x17\xa0\xcb\x9e\x40\x9b\x1f\xbb\xec\x09\x8c\xee\xa7\x2e\x7b\x02\x63\xf9\xcf\x2e\x7b\x02\x63\x79\xd3\x65\x4f\xe0\xf3\xb7\x5d\xf6\x04\xb0\x01\x35\x03\xbb\xac\x13\xac\xc4\x30\x06\xe7\x06\xf6\x97\x2e\x7b\x06\x20\xff\xdc\x65\x4f\xa1\x93\xa3\x2e\x7b\x0c\x13\xfe\xd8\x65\x4f\x01\xc0\x8b\x2e\x7b\x8c\x78\xed\xb2\x27\xd0\xe6\x5d\x97\x3d\x79\x62\xc0\x1d\xe7\x03\x0d\x89\x10\xfb\x00\x86\x73\x7a\xf6\xfa\xfd\xf9\xe7\xde\xd1\xd9\xb1\x5e\xa2\x87\xf0\xac\x77\x74\x76\xf2\xf6\xed\x67\x9c\x6b\xe7\x21\x0c\x12\xaa\x44\x75\x19\x12\x15\xd6\x74\xea\x32\x7c\xf5\xd3\xc9\x3b\x0d\x0e\x3a\x3e\xfd\xf1\xc3\x69\x97\x3d\x40\x6c\x1c\xbf\xed\xb2\x87\x34\xb3\x97\x5d\xf6\xe0\x11\xb6\x78\x79\xf2\xe9\x7d\x97\x3d\x00\x24\x40\x6b\x18\x29\x3e\x7d\x08\x53\x3c\x43\x1a\x79\x00\x9d\xbd\x3d\x7e\xa5\x7f\xc3\x4c\xa9\xf0\x8d\x1e\xd5\x43\x33\x2b\x2c\x23\xa3\x11\x7a\xba\xd7\x65\xcf\xa0\xbf\x37\xa7\x9d\x2e\x7b\xf6\x04\x7f\xee\x77\xd9\xb3\xa7\xf8\xf3\x41\x97\x3d\x7b\x86\x3f\xf5\x76\xda\xdb\xc3\xdf\x7a\x3f\xed\x75\xf0\xb7\xde\x50\x7b\xfb\xf8\x5b\xef\xa8\xbd\x07\xf8\x5b\x6f\xa9\x3d\x5c\xb8\x53\xbd\xa7\xf6\x1e\xe1\xef\xcf\xa7\x6f\x3f\xf4\xf4\xdf\xd4\xdb\xe7\x77\xaf\xdf\xe3\x03\xea\xe8\x73\xef\xfc\x50\xaf\xea\x1e\x8d\xec\xf3\xcb\xd7\x1f\x5f\xbf\x3c\xd6\x3b\xb4\x63\x9e\x1c\x1f\xbd\x7e\x77\xf8\x56\x3f\xb2\x94\xe7\x0a\x6c\x4c\x44\x14\x03\x8f\x53\x1a\x03\x87\x1f\x5f\xff\x78\x78\x7e\xfc\x59\x6f\x91\x2e\xeb\xd0\x7a\x9b\xa7\xaf\x4e\xce\x3e\x1d\x9e\xbd\xd4\x2f\x60\x3c\x58\xde\x42\xff\x89\x74\xf9\xe1\xed\x5b\xbb\xd8\x1d\x24\xda\x4f\xaf\xdf\xbf\x3c\xf9\xf4\xf9\xe4\xe3\xf1\xd9\xc7\xd7\xc7\x9f\xf4\xf3\x7d\x5c\x71\xbd\x0a\xef\x8f\x7b\xbd\xcf\x7a\x95\xf6\x91\xe1\x78\x4f\x71\xc5\xf6\x3b\x4f\xfc\xb3\xe3\xb5\x77\x84\x91\x83\xa2\x3e\x3f\x9d\x21\xac\xca\x61\xa5\xc2\xce\x66\xf8\xa5\x71\x08\x3c\xcd\x4c\x7a\x6e\x97\x8d\x40\x73\x62\xe7\x8c\xaf\x16\x2a\x17\x13\xe4\xef\x90\x12\xc4\x5c\xbc\xe0\x43\xe7\x1b\x88\x41\xc1\xdd\xb5\x61\xc3\xcd\xc0\x21\xf1\x13\x8f\x73\xca\x7c\xbb\x73\x2d\x16\x10\xb8\xbf\x83\xa0\x9b\x2e\x4c\xdf\xbc\x61\x26\xb3\x6d\x21\x99\x27\x0d\x81\x32\x4a\xac\x1a\x83\xa9\x98\x11\x0c\xe2\x6d\x21\xf3\x09\xe6\x9d\x0a\xe7\x4f\xd9\x50\x68\x34\xae\xcf\xd3\xc3\x5e\x6f\x55\x87\x50\x3c\x2a\xe8\xad\xe7\x92\x6d\x1b\x87\x70\x90\x0e\xa7\x7c\x24\xd8\x6c\xea\x40\xfb\x59\xdf\x3d\xe5\x85\xf9\xc8\x7a\xe8\x2c\xcf\x12\xbf\x5d\xea\x80\x2d\x86\x19\xc9\x79\x5a\x35\xd0\x97\x72\x9e\x6e\x37\x54\x97\x96\xfb\x6b\x0f\x96\x48\x24\x97\x25\x94\x9e\xcb\x73\xb9\x05\x46\x6d\x65\x82\x3f\x68\x84\x7d\x99\xe7\x94\x64\x22\x18\xe4\x0b\x78\xfe\x0f\x1e\xa7\x4b\x74\x6e\x87\x09\xf9\xef\x2a\x72\x9a\xd3\x70\x31\xdb\x8f\x7d\xbf\xc9\x78\xcb\x09\xcb\xb7\x4c\x72\xb1\xc1\x4d\xc8\x26\xee\xf9\x4c\xf5\x6a\xfe\xd5\x43\xaf\x3c\xef\x77\xfd\x73\x58\x6b\x32\xf8\xd1\xcb\x65\xc6\x47\xc2\x77\x7c\x3f\xb5\x93\x7f\x87\x73\x67\x6a\xd6\xc7\x78\x15\x40\x86\xe6\x6b\xa8\x51\x62\xef\x79\xaf\xf7\x93\x97\xe6\xc8\x59\xdc\x28\xf3\x2c\xe9\x53\x12\x4a\x09\xc6\x53\x26\xb3\x48\x64\x60\xc8\x43\xcd\x04\xea\x27\x07\x32\x4d\x29\x25\xd9\x34\x93\x7a\x0a\xe1\x91\x54\x1a\x92\xaf\x3b\xc3\x0f\x5e\x53\xc8\xaa\x9e\x55\xa9\xbd\xd3\x42\x36\x89\x48\x28\x80\x89\xe6\x5f\x4e\xbf\x17\xfc\xab\x21\x5d\xec\x9a\xb1\xed\x82\x5e\xca\xf6\x6b\xd4\x66\x91\x18\x2a\xe7\xcd\x55\x1a\x03\x75\xe9\x5e\x80\xbe\x0d\x3d\x4e\xf5\x9d\x44\xd5\x35\x80\x46\x39\x1c\xf7\xda\x65\x13\x84\x9b\x3d\xfa\x5c\x3b\x38\xba\x41\x13\x7a\xbf\xb8\x16\x8b\xab\x8b\xce\x55\x63\x49\x96\x80\x65\x43\x1b\xf0\x5c\x8c\x24\x84\xbd\xe1\x1d\x77\x7d\x43\xbb\xcd\xd8\x01\xab\x99\xdf\xb5\x8d\xbe\x3c\x9c\x4e\x05\xcf\x48\x3f\x56\x73\x7f\x6d\xf6\xb5\xde\x83\x26\xd0\xa5\x66\xff\xd8\xec\xdb\x9e\xde\x31\x7a\x8e\x35\xfc\xb5\xe1\x57\xc0\x9f\xd0\x0c\x5b\xb3\x7f\x6c\xf6\xed\x71\x3a\x90\x11\x7d\x6a\x7e\x6f\xf6\xe5\xbb\x58\x0d\x44\x92\xf0\x54\xc8\x19\x0c\x39\x78\xe0\xa9\x37\xde\xd2\x56\x72\xdf\x36\xed\x36\xeb\x2f\x58\x14\xab\x69\xc2\x17\xf8\x88\xd5\x73\x39\x85\x54\x0b\x70\x3e\x34\x56\x6d\x32\x33\x98\xc5\x4b\xeb\x1e\x67\x52\x44\xfc\xca\xe2\xa8\xbb\x94\xd0\x2b\x97\xba\x49\x5c\xfc\x36\xef\xfa\x6b\xce\xea\x43\x99\xe6\xaa\xc9\x06\x32\x91\x99\x6a\xb2\x78\xc2\x47\x42\x35\x6a\x60\x7b\xd9\xb8\x1f\x4b\x07\x41\x37\x98\xd3\x99\x21\x81\x6c\x07\xd0\xac\x55\x00\xcf\x2e\xe0\x76\xb0\xcc\xee\x08\x60\xd9\x2d\xb3\x1d\x2c\x4b\x7e\x01\x30\x47\x94\x5b\x42\x83\x5d\x10\x82\xc2\x8d\xb1\x1d\x9c\x80\x34\x03\x70\xfa\x4d\xbb\xf6\x05\xb2\x86\x2c\x25\xb4\x32\x67\xa4\xab\x46\x8d\x27\x79\x6b\x94\xb5\x26\x32\x12\xb5\xee\x37\x8c\x5d\x6c\x83\x6e\xf0\xc4\x84\xd1\x5c\xc0\x2f\x56\x4b\x65\x2a\x4c\x62\x93\x16\x65\x35\x49\xc4\x30\x37\xbf\xe1\xbc\x86\x3f\xb0\xa4\x5e\x0d\x53\x09\xea\x83\xeb\x30\xc9\x7f\xd4\x2c\x3e\xa7\x73\x6a\xcc\x07\xd7\x3f\x7f\x1a\x8b\x59\x16\xab\x3c\x1e\xb4\x2f\x53\xd2\xc1\xd6\xbc\x5f\x35\xdd\xef\x65\xad\xab\xa5\x02\x89\xdf\x3a\x4d\x5a\xca\x6f\xe2\x11\xcf\x65\xd6\x4e\x78\x3a\x9a\xf1\x91\xe8\xba\x4f\xf1\xe0\xb9\xac\x89\xb4\x35\x53\x97\x35\x76\xf0\x03\xbb\x84\xe1\x5f\xd6\x9a\xe8\x6e\x0b\x4f\xec\x80\x2f\xc3\x6e\xa1\x61\x97\xbd\x8c\x15\x06\xd4\xa6\x0b\x9a\x40\x26\x12\xb0\x85\x4f\x66\xa9\x3e\xc9\xfd\x61\x5b\xac\xc0\x80\x95\x9a\x4d\x30\x5e\xe2\xfe\x61\x92\x53\xba\x1e\x80\x11\x7c\x63\xb0\xe7\x7d\x03\x0a\xc6\x55\xdf\x78\x83\xb6\x1f\xa1\x54\x55\xf1\x15\xd6\xb7\xac\x05\x65\x99\x5a\xb1\x6a\x85\x15\x97\xee\x40\x1c\x94\xc6\xa8\xd6\x97\x12\x15\xb1\xac\xf6\x7a\xc8\x94\xc8\x9b\x6c\x96\x46\x92\x62\xfd\xdc\x95\xff\x30\xc9\x5b\xb6\xca\x52\xeb\x87\x97\xc7\x6f\x59\x26\x26\x7c\xea\xf2\xce\x98\x19\x06\x63\x65\x71\x1a\x09\x11\x61\x32\x76\xbf\xb4\x94\x3f\x33\x9a\xcf\xd7\x99\x45\x4f\xe4\x6c\x3e\x16\x36\x31\xb2\xa9\x92\xc5\x07\xb9\xc2\xe0\x6e\xdd\x17\x3c\xd2\x77\x67\xfd\x20\xd2\x34\x9c\x0e\x72\xd3\x36\x18\x9c\xbe\x49\xab\xd6\x7c\xcc\xf3\x3b\x8c\xaf\x86\xa6\x67\x1c\xda\x85\xfd\x8b\xd5\x9e\xb6\xfa\x31\xec\x39\xba\x38\xb7\xae\xc5\xc2\xec\xba\x23\x93\xaa\x6f\x5c\x2e\x14\x86\x77\xe9\xa8\x72\xbf\x31\x32\x74\xb7\xf1\x1f\xeb\x41\x62\xda\x14\x34\xcd\x5a\x4a\x8d\x6f\xdb\x7e\x63\x18\x42\xdb\x34\x3e\x8c\x22\xd6\xd9\x7f\x6a\x2e\x56\xb3\x14\x54\xf6\x22\xf2\x63\x1c\x95\xad\x27\x14\x00\xf2\xa6\xd0\x6e\x3b\xb5\x44\xa0\x7d\x40\x55\x09\xa6\x03\xa7\x38\x75\x5f\x6d\x50\xdc\xf9\xee\x9f\xe2\x50\x00\xbc\x0e\x32\xf5\x5c\xa6\x97\xb5\x1c\x2a\x03\x60\x30\x94\x96\x98\x13\x9e\x0f\x65\x36\xa1\xe2\x00\x00\x76\x39\x38\xd3\x21\x25\xb9\x81\xd5\x0f\x33\x67\xdb\xda\xd1\x1a\xeb\xce\xa8\xd0\xa8\x7d\xc3\x98\x21\x8b\x59\x14\xf7\x13\xd1\xea\x8b\x24\x69\x29\x7d\x62\x6c\x4c\x1a\x74\xe4\xc0\xf5\xa3\x95\x09\xbc\x01\x75\x51\xbe\xd6\x60\xe5\xae\x06\x4a\xa4\x3c\xcb\xcc\xaf\x0f\x67\x6f\x4d\x00\xa2\xbd\x5b\xea\x86\x0c\x7a\x6f\x33\x76\x3c\x99\xe6\x0b\xe3\xe2\xa3\xa7\x90\x4a\x46\xc3\x84\x86\x96\xa4\x23\xa1\xae\x73\x39\x6d\xa5\x32\xb7\xd9\x3b\x61\x22\x5b\x4f\xa1\x9a\x83\x60\x92\xb4\x60\x90\xca\x5c\xd2\xf4\xee\x1f\x61\x20\x3d\x38\x2c\x0e\xc0\xad\x91\x71\xf6\x49\xf4\x2d\xfb\x78\xef\x0d\xac\xed\xa7\x53\x98\x3f\x68\xcb\x6c\xb4\x7b\x7e\xb6\xeb\x8f\x5d\xed\x06\x5b\x01\x7f\xbc\x44\xa1\x4f\xe3\x22\x68\xcb\x32\xf1\xb7\x59\x9c\x09\xa5\xd7\x7f\x12\x2b\x05\x0b\x6e\x3c\x2b\x66\x90\x40\x1a\x4a\xcd\xc3\xf5\xd4\x80\xc5\x28\x45\xbd\xfb\x94\x00\xcb\x0b\xce\x11\x50\x45\x69\x8a\xf3\x5c\x4c\xa6\xf0\x8e\xab\x6b\x97\x9a\x51\x2f\x84\xd7\x93\x01\x18\x0f\x59\x2a\x06\x42\x29\x9e\x2d\xa8\xe2\xab\x29\x5b\xc2\x26\x7c\x01\x19\x24\xd5\x98\xcc\xa1\x3e\x00\x3d\x7c\xa1\x72\x16\x0f\x59\xec\x18\x6e\x04\xc6\xed\x9c\x61\xae\x01\x8d\x51\xbf\xb4\x1f\x92\x75\x25\xc3\x20\xee\x2e\x6e\x73\x91\x2a\xac\xaf\x41\xe9\xf6\xd9\x4e\x80\xb7\x1d\x7f\x10\x90\x46\xcc\xfb\x3b\x97\xde\x48\x50\xd8\x0e\x3e\xb6\xa4\xe7\x96\xbf\x05\xe2\xee\xc6\x14\xe7\x89\xd1\xac\x96\x8d\xfa\xf5\xce\xe3\x26\xc3\xff\x6f\x80\x3c\x03\xd0\x90\x04\xcf\x43\x3a\x83\x57\xc8\x8e\xc4\x2d\x85\x33\xa6\x92\xa2\x27\xf1\xa5\xcb\x4f\x51\x35\x52\x10\xc8\xef\x36\x52\x3d\x34\xe3\xd2\x8e\xf8\xee\xf5\xc8\x3d\x88\xf6\xb2\x37\x50\xe8\x67\xc9\x46\xc6\x77\x55\x2b\xe8\x07\xcc\xfa\x4c\x6f\x96\x25\x75\xbd\x75\x54\x77\x77\x77\x24\x65\x7b\x94\xec\xf2\x54\x44\xe7\x6f\x1a\x7e\xab\x24\x4e\x05\xcf\x5a\xa3\x8c\x47\xb1\x48\x73\xb8\x1c\xe1\xcd\xa8\xc9\xfa\xe0\x82\x95\x89\xa8\x51\x81\x14\x15\xff\xf2\x0f\xc3\x09\xa4\xe6\x6c\x33\xf6\xd2\xe4\x5c\xc9\x25\xd3\x02\x5e\xd5\x62\x19\xc7\x95\x7f\xd8\xd8\xac\xa7\xcc\x36\x8b\xd3\xd9\xfb\x77\xfd\xff\xfe\xa3\x81\x48\x73\x91\xf9\x33\x42\x39\x0b\x85\x8f\xaf\x2f\xe7\x11\x97\xa6\x29\xa1\xa4\x46\xbe\x9c\x60\x39\x78\xd1\x63\xf5\xcb\xda\xe5\xe5\xed\xde\x53\x2d\x71\xf3\x6b\xce\x7e\xfe\xa9\xd1\x66\x5e\xce\x73\x33\xf8\x10\x08\xd8\xbd\x3d\x40\x00\xe4\xc9\xf0\xb2\x66\x97\xcb\xca\x13\xad\x09\x9f\xb6\x4c\x4e\x67\x75\xa7\x25\xa3\x7b\x0d\xac\x91\xf1\x9b\x34\xca\x37\x17\x76\x0e\x11\xd3\x14\xd0\xdc\x26\x53\x3a\x67\x6a\x8a\x1e\xaf\x59\xc6\x17\x4d\x92\x1d\x04\x1f\x8c\xf5\x72\xa0\x37\x49\xcd\x26\x19\xa3\x2a\x52\x4e\x14\xd2\x07\x01\xa8\x2d\x4d\x36\x66\x0a\xee\xf2\x7a\xa2\x70\x6c\x7b\x8c\xb0\x5a\xd8\x27\x8b\x73\x25\x92\x61\x1b\x0b\x16\xf0\xbc\x30\x20\x18\x4a\x71\x00\x16\x54\x26\x06\x22\xbe\x09\xa5\xb3\xe2\x48\x20\x88\x1f\x19\xb2\xdf\xd0\x91\xaa\x47\xab\x4b\x88\x55\xe3\xe2\xd7\x9d\xbd\x9d\xee\xaf\x3b\xf7\x77\xba\x3b\x97\x97\xb3\xfd\xce\xb3\xfd\x9d\xe6\x4e\xd3\xfe\xb5\xb7\xd3\xdc\x69\xd9\xbf\x3a\x3b\xcd\x9d\xb6\xfd\xeb\xc1\x4e\xd3\x0d\x59\x83\x81\xe7\x8f\x9e\x3e\xdd\xf9\xf2\xc5\x13\xa7\xa0\xc0\x47\x4b\xa6\x2d\x71\x1b\x6f\x2e\x64\x87\x97\x6e\xa2\x68\x9f\xcc\x3f\xd1\x25\x00\x78\x28\x9c\xcd\xd0\x11\x56\xab\xc4\x82\x28\x73\x3c\xeb\x6d\x1a\x79\xa6\x47\xe0\x8e\x01\xcc\x78\xd3\xea\x27\x71\x7a\x7d\x27\xfa\xac\xd8\x7c\xe5\x51\x01\x78\xe3\x7f\xa7\x64\x66\x33\x3d\x25\x79\xe5\x48\x5a\x83\xc5\x20\xb9\x1b\xfb\xbd\xe8\xec\xed\xed\x35\xd9\xa3\xbd\xbd\xab\x70\xdb\xd4\xce\xbd\xee\x61\x3c\x99\x96\x23\xe2\x94\x4d\xe2\x24\x89\x95\x18\xc8\x34\x52\x95\x5c\xee\x90\xe5\x73\xc9\x04\xe6\x2e\x33\xd4\xeb\x9c\xc0\xe5\x90\x52\x96\xc5\x78\x9f\x49\xa4\x71\x3e\xc5\xde\x5c\x06\x0a\x2b\x6e\x41\x95\x08\xdd\x61\xf0\x4d\x9c\x7b\x6d\xe5\x70\x58\xc4\xcd\xef\x13\x29\x78\x7d\xff\xd1\xa3\x26\xdb\xc3\xff\x6b\x3f\x6a\x10\x5e\x8a\xa2\x05\x8a\x0c\x74\x1c\xdc\x50\x2e\x25\x1c\x81\x1b\x90\x6e\xd3\x9a\xf2\x44\xe4\xb9\xf8\xea\x1c\xae\x76\x62\xd2\xe0\xa3\xce\xd0\x08\xd7\xe6\x1a\x43\xfd\x56\xae\x95\x5f\x61\xa9\xc8\x1f\x91\x29\x61\x92\x11\xc3\x2b\xd9\xeb\x61\xa9\x9d\x5d\x26\x4a\x23\x87\xec\x14\xd4\x18\x11\x65\xb1\x5d\xc1\x5c\x2d\x47\xb3\xb2\xb0\xe6\xc5\x90\xaf\x39\x1e\x80\xb2\xe0\x96\xc5\x29\x5d\x42\x11\xd9\xab\x26\x04\xb9\x32\x97\x4c\x29\x99\x48\x30\xba\x2c\xd8\x40\x29\x82\x85\x4e\xd9\x94\x08\xcf\x0e\x81\x52\x66\xb0\x7f\x3b\xfb\xf1\x45\x93\xfd\xdb\xd9\xd9\x8f\x3f\xbe\x78\xd1\x64\x5a\xd2\x6c\xb7\xdb\x0d\xf8\xc5\xe9\x27\x94\x84\xd1\x30\x01\x1e\xe6\x9c\x76\x47\x21\xcf\x31\x25\x5c\xa2\x24\x9b\xf2\x2c\x37\x94\xa2\x72\x39\xb8\x66\x7f\xee\x74\x34\xa8\x76\x7e\x9b\xa3\xa1\xaa\x6a\x4a\xff\x2d\x67\x30\x9f\x99\x12\xcc\x68\xd0\xd0\x3d\x5b\x4f\x6e\xe1\x32\xab\x98\x05\x47\x86\xef\xf6\x86\x66\x2b\x06\x58\x5f\x50\x4d\x84\xc8\x4c\x3a\xb6\x2e\x74\x70\xd1\xbd\x8e\xa7\x53\xc8\x7a\xc7\xd4\x84\x27\x09\x43\x17\x5f\xf0\x13\x4c\xa3\x78\x10\x7b\xb3\xb3\xcc\xd2\x9e\x30\x95\x24\xe4\x6d\x83\xe9\x42\x73\x75\x2c\xfe\xb2\x31\xf5\x3b\x5d\x76\x05\x4f\x3f\x9c\xe5\x72\xc2\xf3\x78\x00\x19\xfb\xb0\x76\xa0\x04\x5b\x9f\x2d\xea\x63\x68\xc7\x14\xd0\xb3\xe3\x99\x29\xd1\x22\x9c\xb5\x90\xff\xb7\xa0\x52\xe0\x1d\x06\xb6\x82\xaf\xe7\x92\x91\x23\xa1\x5d\x20\x3a\x6c\xb0\xac\x25\xd6\x51\x9b\x59\x59\x0f\x4c\xc0\x2d\x3b\xfc\x16\x44\xe0\xdf\x79\x60\xcb\x4f\x41\x38\xfe\x8c\x7d\xda\x61\x0b\x03\xfe\x75\x77\x71\x3a\x72\x4b\x97\x67\x49\x6b\x9a\xcc\x54\x6b\x12\xa7\x33\xd5\xfa\x45\x64\xb2\xf5\x8b\x94\x93\x3b\x08\xa0\xe5\x21\x59\xf9\x13\x5c\x16\x4f\x93\x99\xda\x85\xa2\x18\xbb\x7f\x11\x99\x0c\x0b\x55\x78\x3b\xe4\xf5\xd0\xa0\xdd\x4b\x9b\xb3\xf2\x63\x6a\x09\xaf\x41\x1a\x55\xec\xe7\xcf\x56\x22\xa9\xb9\xde\xe1\xd3\x48\x5f\x2b\xf2\x71\x09\x0d\x83\xed\x16\x63\xa5\xe4\x0d\xfa\xe4\x23\x8d\x6e\xbd\xb1\x62\x83\x07\x53\x2b\x33\x97\xe0\x95\xa3\x5f\xc0\xc7\xde\xec\xe1\x4b\x98\xf3\xfd\x23\x33\x97\xe0\x03\x84\xe4\x20\x23\x80\x60\x26\xa6\x72\xde\xd7\x9b\xca\x47\xac\xc2\x53\x9a\xca\xc7\x0d\xa7\xf2\xd1\x4c\xe5\x63\x79\x2a\x0e\x72\x38\x15\xc1\x55\xde\xe2\x2a\xe6\x69\x8b\x4f\xfa\xf1\x68\x26\x67\xaa\xc5\x55\x2b\x9f\x4b\x2d\x03\xcc\x26\x9b\xdf\xfe\x36\xd6\x23\x1f\x73\x95\xb3\x43\xdd\x27\x3b\x34\x7d\xfa\x01\x04\x58\x6f\x6a\xae\xe9\x4f\x0f\x80\x41\xa5\x39\x37\x62\x48\xeb\xd9\x02\x7d\x6b\x8b\x28\xf4\xeb\x8c\x11\x92\x7d\xe7\xd2\x24\x0e\x85\x1e\xca\xe5\xd1\x8d\xae\x0e\x12\x74\x61\x32\xf0\x7c\x2c\x26\x85\xd3\xe7\x37\x64\x17\xe2\xb2\x96\x24\x2c\x13\x6a\x8a\x77\x18\x98\x57\xab\xbf\xc8\x05\xbb\x11\x99\x32\x5e\xe4\x39\x64\x61\x2e\x77\x65\x77\x57\x26\x46\x3c\x8b\x12\xa1\x94\x73\xf7\xc0\x7a\xbe\x45\xbc\xf4\x65\xb2\xb9\xfe\xb4\x42\x36\xca\xb3\x58\xe5\x3c\x17\x3e\x4e\x82\x04\xe8\x9a\x1f\xeb\x4e\xd8\x1c\x2b\x0d\x41\x35\xa0\x50\x25\x84\xbe\x44\x49\xb4\xdb\x47\x4b\x8c\xb5\x65\x18\xdd\x50\x9b\xb1\x57\x06\x87\x86\xbf\xa7\x32\x9b\xf0\xc4\x87\xda\x66\xec\xfd\x2c\x01\xef\x24\x6e\x4d\x5e\x55\xf3\xd5\x04\x8b\x5d\xdd\x69\xe6\x65\x9e\xba\x64\xd6\x38\x1b\x12\x14\xeb\x4f\x5b\x9d\x47\x4c\x33\x7d\xd6\x79\x1c\x0a\x57\x0d\x3b\x63\x70\x28\x4c\x17\x15\xb8\x61\x65\x64\xb8\xe2\xbe\x85\x39\xda\xd3\x17\xf4\xcc\x5b\x28\x2e\x56\x9e\x65\x3d\x7d\x19\xe0\x26\x95\xa1\x11\x7c\xad\xae\xd9\x0a\x28\xc0\x48\xe6\x59\xac\xf9\xc7\x52\x71\xa0\x34\x52\xf8\xe0\x2b\x89\x29\xb6\x30\x23\x0c\x25\x97\x38\x1a\x16\xc5\x99\xc0\x7c\xdd\x54\x89\x13\x1d\x24\x97\x0e\x2e\x12\x83\xce\xfe\x5d\x6f\xc4\x15\xfc\xe2\xcc\xdb\xd6\x7a\x64\x97\x35\xe5\xeb\xae\xbd\xf2\x59\xc1\x5d\x50\x6f\xaf\x99\x96\x1b\xb5\xa4\x68\x08\xe5\xe5\xf1\x91\xad\x85\x00\x79\x5d\x3b\xfb\xde\xf0\x6f\xe2\x4c\xa6\xfa\x46\x78\xd7\xd1\xff\x5a\x3b\x3f\x3e\x7b\x57\xeb\xb2\x1a\x18\x9c\x5a\xfb\x8f\x1e\xe3\x5d\x0c\xa3\x52\x4b\x97\x57\x23\x6c\x79\x5d\xb3\x1b\xca\x75\xa0\x9a\xa1\x0e\xc8\x0c\x53\x6f\xd9\xd6\x90\x4f\xe2\x64\xf3\xf3\xbd\xe0\xd2\x51\xdb\x79\x29\xfe\xca\x3f\xce\x58\x8f\xa7\x8a\xbd\x93\xa9\xdc\x69\xb2\x9d\x63\xcd\x2a\x65\x6a\xfe\x7e\x95\x09\xa1\x7f\x36\xd9\xce\x3b\x91\x26\xd0\xe4\x9c\xa8\xd6\xa9\x48\x6a\x13\x99\x4a\x54\xf3\x15\x15\x91\xa4\xfb\x24\xce\x05\x03\x2e\xa5\xf7\x86\x1d\x1b\x4e\xed\xce\x6a\xda\xce\xa3\x26\xa4\x4e\xa9\xc0\xaf\x2b\xa5\x16\xa7\x6c\x1a\xdf\x8a\x44\x15\x3a\x9d\x48\x14\xa3\xee\x76\x17\xe7\x69\x1e\xf3\x24\xe6\x4a\x44\x95\xfa\xd8\xb0\x0f\x7b\x9f\xf4\xc6\x90\x89\xaf\x63\x64\xd8\x7f\xb8\xd7\x64\xe6\x3f\x95\x76\x06\xd7\xd7\x1d\xed\x0c\x63\x39\x11\xad\x6b\xb1\x50\x2d\x74\x12\xfd\xca\xfa\x5d\x0d\x7e\x57\x58\x6b\x9b\xab\x33\xe6\x88\xc6\xd6\xd1\x45\xdb\x2c\x54\x83\xb3\x9f\xd9\x9b\x9f\xfe\xdc\x7a\x94\x7f\x3c\x37\x35\x9a\x14\x6a\x08\x48\xb8\xd0\xdc\xd7\x7e\x8a\x72\xdd\xc7\x73\x8a\xda\xe2\x1e\xb4\x42\x27\x38\x02\x87\x93\x6b\xb1\x30\xf5\x71\xee\xea\xf3\x12\x72\x87\x43\xc8\x06\x20\x87\x85\x64\x99\x32\x88\x00\x80\xec\xab\x5e\x31\x39\x13\xfb\x6c\x52\xc0\xba\x3d\x9a\x85\x05\x9e\x56\xe7\x73\x0d\x93\xb9\x46\x62\x10\x6b\x89\xc1\x83\x37\x16\xb7\xdc\x3c\xc6\xbb\x37\xb8\xaf\x11\x20\x17\x85\x40\xe0\x4c\x28\x42\x49\xe1\x61\x05\x16\x63\x3a\xb2\xa5\xfa\x9c\xb7\x7f\x93\xb4\x3b\x64\xe8\x0e\x80\xbf\x82\x3e\x87\x5a\x78\x31\xa0\xac\x8f\x2a\x4d\x03\x55\x1f\xc5\x6f\x55\x13\x2c\xfa\x05\x63\xd3\xd3\x43\xf9\x72\xef\x59\xbb\xc2\x27\xc8\xfe\xea\x81\xae\x99\x79\xcb\xed\x19\x49\x7e\xa5\x78\xb6\xc3\x24\x6f\xbd\xd9\xe9\xb2\x9d\x82\xa7\xf4\x4e\xd3\xb7\x9e\xec\x78\x37\xc2\xb7\xba\xf5\xe9\x61\xaf\x57\xd5\xe4\x27\xfd\xf2\xb2\xf6\xd3\xf1\xdb\xb7\x27\x97\x97\xe9\x65\x6d\xc7\xb5\xf9\x62\x08\x70\xc2\x6f\x5b\x88\xc4\x96\xa1\x87\x8d\x09\xd1\xfa\xcd\xb1\xce\xde\x1e\xe8\x5a\x3d\x36\xfa\x8e\xdf\x32\x0a\x08\x87\x4a\x0b\x2f\x8f\x7a\x4d\x76\xd2\x3b\x6a\xb2\xd3\x77\xb0\x36\x87\xa7\x3d\x47\xa0\x7d\x31\x84\xb2\x3d\x98\x11\x80\xcd\xa6\xc1\x26\x72\x72\x3c\x52\x9b\x1d\xbc\x88\x62\x8e\x2c\x85\x67\xa2\x35\xd4\xbf\xbe\x32\x57\x19\xc8\xf4\x46\x64\xb9\x17\x04\x44\x44\x16\x67\xec\x95\x26\x16\x17\xa6\xd8\x66\xee\xd6\x9e\x88\x3c\xb4\x19\x85\xb5\x72\x4d\x91\x57\x6f\x26\x39\x27\xfb\x17\xb9\xcd\x7c\x0d\xdd\x43\xd1\x3b\xc8\xfa\x02\x21\xc3\xe2\x36\x41\x09\xa5\x41\x41\x35\xbd\x1b\x94\x9c\x29\x81\xd7\xe8\x56\x7f\x96\xe7\x5b\x98\x1a\x3d\x81\xb1\xe8\x98\xb7\xd7\x64\x9d\x26\xdb\x6f\xb2\x07\x4d\xf6\xb0\xc9\x1e\x35\xd9\x63\x72\x05\x7a\x07\xca\x2d\x2c\x75\x8b\xfd\x01\xa1\xa4\xe5\x4b\xc6\x32\x03\xa4\x6b\xd2\x64\x73\xbc\xdc\xe5\xd9\xc2\xbb\x34\x4e\xe2\x48\xe3\x1f\xa1\x53\x57\x68\x77\x4e\x5b\x7f\xee\x74\xec\x9a\x59\x3f\x9b\x36\x63\x27\x29\xe8\x32\xe7\x02\xe3\x64\x63\xb4\x63\x20\x84\x07\x16\x59\x53\x3e\xfa\x23\x4f\x37\x0a\xfa\xd9\x85\xea\x59\xdb\x9d\x70\x76\x4e\x25\x10\x1b\x9d\x72\xc1\x67\xf6\x58\x2b\x9f\x78\xd8\x59\xd0\xba\x78\xda\x4d\xb9\x52\x2d\x9e\xe4\x2d\x64\xfe\x77\x3f\xf1\x0a\xb7\x60\x9f\xce\xdd\x9d\x50\xf7\x06\x9e\x7c\x9d\x76\xfb\x59\xb1\x74\xfa\x52\x83\x01\xb9\x9d\x2d\xf0\x82\x95\xcd\x52\x88\xb9\x46\xf7\x97\x58\xdf\x26\x6d\xd5\x66\xde\x77\xee\x80\x0b\x39\x63\x11\xfa\x6b\xd9\x13\x45\x2a\xe3\x52\xa8\x6f\x1e\x3b\x6a\x1e\x43\xb1\x26\xa9\xbf\xdc\x71\xb1\xd5\x7c\x30\x10\x89\xc8\x78\x0e\x91\x24\xe8\x91\x93\xca\xdc\x76\xed\x14\xf7\x8c\xeb\x4f\x59\x0c\x37\x99\xbe\xbe\xc9\x66\x7e\x91\x5a\x25\x7c\xfe\x84\x97\x31\x2c\xfa\xbe\x30\x47\xa8\x81\x45\x85\x70\xd8\x4d\x3c\xd1\x3b\x4c\x4c\xf8\xa0\xda\xde\x65\xe9\xcf\xe2\xd1\x64\x69\x23\xdf\x3c\x93\x40\xdd\x2b\x49\x6f\x99\xa0\xfd\x26\x10\xad\xf4\x49\x4e\x41\xdd\x36\x32\x0f\xbe\xc2\xb5\xe5\x15\xde\xb3\xd6\x8f\x8d\x76\xa5\x13\x00\x40\xdc\x03\x85\x33\x24\xa6\x08\x08\x0d\xd4\x80\xff\x38\x4a\x83\x33\xf7\xff\x91\xda\xef\x27\x35\x87\xc8\x2d\x68\xcd\x7d\xf4\x8f\x26\x36\xa2\x36\x38\xc1\xff\x71\xd4\x06\x15\xe5\xff\x1f\xb5\xfd\x7e\x6a\x73\x88\xdc\x82\xda\xdc\x47\xff\x33\xac\x0d\x88\xed\xe6\xab\xcb\x88\x00\xf6\x23\x1b\x89\x5c\x01\x95\xa1\x8d\x1b\xa6\x61\xba\x27\x5f\x9c\x96\x30\xe1\x31\xdb\x5f\x16\x6a\xb3\x7c\xd8\x7a\x5a\x6b\xb2\x0b\xfb\xab\x96\xf1\xb9\x0b\xc3\x40\x95\x9d\xcd\x46\x6b\xba\x02\x41\x2d\xe2\x39\x67\xd6\x21\xc8\x7a\xb3\xc2\x18\x97\xd8\xcc\xe3\x08\x8d\xb8\x58\x83\xeb\x12\x3b\xbd\xac\x81\xd0\x72\xa9\x7b\xf6\xfc\xb5\x50\x62\x69\xc9\x14\x44\xb9\x3c\x93\xd7\x9b\x4b\xe2\x2e\x5c\x67\x95\x19\x50\x51\x7c\xaf\x1f\xd2\x0b\x6a\xea\x74\xc1\x6c\x9f\x15\xe3\x91\xb3\x7c\x3a\xdb\x5c\xc1\xe8\x0d\x66\x95\x58\xb9\x6c\x34\x2e\x92\x1b\xba\x2d\x8c\xa7\xcf\xb3\x16\xb9\x83\x7c\x1d\xec\x9c\x8f\xc1\xe0\x02\xa6\x6e\x4f\x86\x9d\xf8\x97\x3d\x42\xc5\x7c\x2c\x44\xd2\xd2\x92\x78\x6b\x32\x4b\xf2\x78\x9a\xc4\x5b\x70\x5c\x6f\x14\x9d\x92\xd6\xcf\xc1\xb3\xfa\x46\xd0\xf9\xb1\x48\x24\x39\x07\xff\x20\x7d\x43\x81\x11\x90\x8f\x3f\x24\xd2\xb1\xac\xc2\x4a\xc7\x88\x55\x68\xd8\xd6\x62\x10\x98\xcd\xe4\x9c\x0d\x4d\x6d\x12\x10\x93\x8b\xe2\xb1\xe6\x77\xff\x88\x8d\x55\xda\x4f\x86\x69\x05\x3b\x1d\xe4\xf9\x16\x96\x32\xbb\xb3\x2d\xb5\xca\xac\xa1\xaf\x09\xf7\xd9\x6b\x00\x5c\x65\x52\xcd\xcb\xf6\x54\xcf\xab\x21\x6b\x0d\xd4\xdd\xbc\x8b\xc0\xe5\xb5\x14\x65\x00\x6e\xe3\x10\x7a\xad\xc6\x02\x3d\xde\x8d\x3a\xac\x68\x72\x89\xe4\x60\x36\xd1\x17\xfd\xda\xd5\xca\x08\x5b\x9b\x28\x8d\x22\xdb\x3e\x7f\x86\x27\x9f\x3f\x77\x97\x44\x2c\xdb\x0f\x36\x89\x57\x9f\xf5\xd5\xac\xff\xaf\x1e\xa3\x4e\xe1\xac\x1f\xf2\x38\x89\xf3\x05\x95\x48\x34\x75\x95\x78\x14\x61\xa9\x44\x35\xde\x55\xb3\xbe\x1a\x64\x71\x5f\xec\xce\x52\xfb\xdb\x06\x84\x73\xf8\x1a\x33\xda\xf1\x94\x89\x5b\x88\x6d\x1a\x19\xd3\x87\x1f\xf1\x3a\xeb\xf7\x66\xfd\x25\x55\x14\x64\x1f\xf0\x91\xa9\xcf\x14\x12\xed\x25\x54\x39\x74\x83\x69\x32\x3b\x02\x74\x8d\xf2\x87\x84\x15\xb2\xb1\x78\x68\xe5\x48\x34\xb0\xf7\x46\x49\xee\xd5\xff\x25\xa7\x29\xf2\x30\xe3\x50\x12\x7d\x36\x18\x8b\x88\x84\x30\x91\xc1\x5a\xa4\x92\xa5\x02\xf0\x03\x85\x51\x65\x96\x2d\x18\xef\xcb\x59\x0e\xc8\x23\xf3\x00\x1a\xa8\xc2\xe2\x44\x55\x65\x8c\x65\xff\xaf\x85\x22\xdb\x1a\xe7\x40\x02\xe4\xb3\xa3\x05\xb0\x32\xfe\xda\x3c\x8a\x5e\x98\x06\x61\x59\x6b\x97\x8e\x16\x29\x94\x12\x44\xfb\x5f\x63\x06\x07\x5b\x4a\x65\xe2\x95\x87\x40\xe8\x76\x1f\x98\x10\x78\xa8\x39\x7d\xe5\xe2\xec\x0b\xcd\x2e\x26\x57\x18\xf7\x8e\x5d\x36\x6c\xce\x07\xb3\x78\x3d\xbb\x3c\xe8\xab\x87\xa1\x1a\x02\x8a\xbf\x92\x61\x55\x11\x16\xb9\x5e\x5c\x7f\xad\x8a\xb9\xbf\xe9\x35\x96\xe6\x9b\x59\xc4\x29\xaf\x8b\xa0\x48\xb9\x45\x0e\x22\xbd\xf1\xc5\x15\xce\x07\x73\x0a\xbd\x46\x86\x73\x23\xaf\x8d\x22\xca\x0f\x26\x29\x2f\x80\x97\x84\xd1\x76\xec\x17\x99\xc3\x81\x35\x6d\x5f\x5e\x2e\x46\xf3\xd2\x14\x26\xf5\xc8\xde\xcf\x92\xe8\x9e\x5e\xd0\x07\x7a\x01\x2e\xae\x5c\xae\xc4\x8a\x16\xed\xe9\x4c\x8d\xeb\xb6\xd3\x60\x07\x7d\xf0\x37\x2e\xc6\xea\xdc\x0d\xd5\xb3\x02\xa0\x4d\xd1\x7d\xe8\x7e\x4e\x33\x71\x13\xcb\x99\x4a\x16\x2c\x13\xa3\x58\xe5\x10\x39\x7f\x13\x73\x53\x41\xcc\xf6\x50\x6f\xac\xc4\xbe\x3f\x96\xf5\xf8\xd7\xe4\x0e\x16\x86\x83\xa5\x18\x34\xe9\x2b\xef\xe9\x76\x7e\xde\xd4\xda\xeb\x14\x53\x7a\x52\x4b\xcc\x94\x4a\x7f\xd8\x8c\x98\x31\x3b\x80\x1e\x6c\xf6\x49\x6f\x2d\x10\x70\xcc\xbe\x67\x7b\x01\xe0\xf7\x32\x77\xf3\x8d\xca\x70\x01\x9e\x9a\x6a\x6e\x5f\x8f\xcb\xd5\x05\x91\x29\x7a\x2e\x0a\x4b\x36\x92\xdd\x84\x99\x62\x75\xe3\xb8\x6f\x8a\xe1\xb1\x21\xd6\x39\xb6\xe8\xd2\x0c\x10\xf7\x43\xc4\xb8\x5a\xa4\x83\x71\x26\x53\x58\xb1\xb6\xcd\x36\x82\xbc\x16\x2f\x6c\x94\x0e\x86\x0c\x08\x3c\x5d\xc8\x14\x43\x13\x06\xf9\x0c\xfc\x26\xcd\x9e\xdf\x92\xd8\xa6\x66\x7a\x7a\x52\xed\x2a\x26\x2a\xa0\x3e\x60\xd6\x8f\xf3\x8c\x67\x0b\xcb\xc0\x95\x92\x83\x98\x63\x9d\x02\x70\x28\x01\xe6\xed\x85\xf9\xad\xa6\x5a\x39\xcd\x3f\x27\x5c\xe5\x47\x96\x7a\x53\x0f\x59\x1e\xd3\xd0\x28\x43\x8f\x46\x5b\xfd\x2e\x49\xdc\x7a\x1a\x47\xad\xbe\xc0\x6b\xb7\xc5\xc1\x52\x92\x36\x33\xae\x22\x67\xaa\x5b\xe9\x0f\x0c\x29\xdb\x8e\x08\xba\x58\xbc\x8d\x55\x5e\x8f\x0d\xfb\xd6\xa2\x0c\x08\x9d\xb1\x62\x79\x3c\x11\x9a\x3c\x68\xa1\x60\x89\x6d\x6a\x66\x02\x09\x27\xde\x5c\xb0\x48\xa6\xb5\x9c\xfc\xcc\xa4\x81\x34\x90\xe9\x40\x64\x29\x93\xb3\x4c\x89\xe4\x46\x50\xfc\x1e\x56\x95\x26\x6e\xc9\x1c\xa9\x03\xf1\xba\xaa\x1c\xa6\x3e\x80\x12\xf9\x39\x8e\xa4\xee\x46\x0c\x46\x89\x98\xdd\x77\xe9\xf9\xf5\xd7\x17\xf1\x55\xdd\x2b\x13\xb4\xc5\x1e\x86\x2d\xec\x70\x00\xa9\x29\x20\x1f\x3c\xf4\x15\xa7\x6c\xc0\x15\x18\x12\xd0\x07\x45\x51\x7d\x84\xb9\xa8\x65\x74\x46\x2d\x4c\xc9\x57\xd3\xe5\xc5\x55\x5b\x23\x80\xe7\x08\x3c\xa8\x66\x53\xbd\x32\xe5\xa1\xd0\x8e\x06\x56\x5d\xfa\x86\xf2\xc7\x86\xe5\xbd\x4c\xe7\xc5\xd6\x57\x85\x64\xfc\xb6\xa7\x6f\x56\xe3\x78\x6f\xa3\x12\xf8\x6a\x90\x09\x91\xfe\xab\x8b\xb8\xcb\xd2\x30\xcd\x4d\xe2\x7c\xca\x37\x84\xbb\xf1\x4c\xce\x8f\xa0\xb4\x11\xfd\xdd\x8b\x7f\x11\xee\xaf\x73\x71\x9b\x1f\x5a\x8f\x8a\xa0\x74\x71\xb9\xc0\x3e\x0a\xd3\x36\xff\xb9\x72\xc5\x5d\x7c\x33\x91\x66\x0b\x60\x01\xd7\x88\x11\xb7\x96\x5b\xbf\xce\xd9\x84\xc7\x69\xce\xe3\x54\x05\x79\xb2\xc9\x49\xca\x16\x45\xd0\x9c\x7c\xcc\x15\xeb\x73\x15\x0f\xac\xf8\x6b\x9c\x42\x20\xab\x2b\x5e\xf1\x20\x4d\xe0\x8d\xc8\xc0\x2b\x8c\x62\x0a\xa2\x88\xea\x6a\x65\x62\x22\x6f\xf4\xef\x4c\xce\x95\xd3\xe7\x10\x09\xf8\x29\xa6\x70\x5a\xba\xc7\x54\x42\x2a\xa9\x44\x44\x23\x1b\xac\x58\x95\x77\xcc\x56\xac\x71\x7e\xfe\xd0\x8b\x4c\xbd\x3e\x34\x11\x44\x02\x31\x03\x2a\xb9\x64\x61\xae\xf3\xe1\x67\x58\xee\xc1\x94\x3e\xe6\x49\x22\x32\x9a\xa1\x72\x41\x1c\x34\x6e\x50\xfa\x71\xd3\x6a\xce\x53\x8c\xe4\x14\xa9\x9a\xe9\x43\xca\x16\xdb\xe7\x69\xbe\x72\x70\x4d\x16\xe7\x35\x45\xe6\xe6\x4c\xa8\xa9\x4c\x55\xdc\x8f\xe9\xd6\x83\xc8\x23\x78\x19\x64\x4a\xcd\x30\xf0\x44\xff\x81\x63\x73\xe7\xde\xb9\x9b\x32\x78\xec\x22\x23\x92\x69\x9e\x71\xe0\x4a\x8a\x89\x74\x28\xb3\x81\xa0\x74\xbf\x78\xe0\xba\x34\xbf\xd3\x8c\x0f\xf2\x78\x20\xda\x6d\x38\xc1\x5a\x00\xd0\x90\x27\xd1\x15\xad\x91\x4c\xf4\x45\x68\x2e\xe9\x75\x8f\x10\x4d\xe5\xf6\xd1\xa6\x2a\x8c\x8e\x45\x03\x9b\x66\xf1\x44\x9f\xa1\x34\x3e\xa0\x18\xd7\x82\xf1\x04\x52\xdf\xe7\x45\xba\x30\x63\x98\x24\xa6\x0f\x1c\x00\x2c\xe2\x80\x67\x90\xd7\x83\xe7\x88\x58\x2d\x58\xfc\x74\xfe\xee\xed\x31\x06\x6f\x81\xa1\x33\x35\x03\x48\x78\x36\x02\xdf\xa5\x14\x3c\x9a\xe4\x10\x87\xde\x64\x63\x39\x17\x37\x22\xc3\x20\x2f\x80\x33\xe6\xd3\xa9\x48\xe9\x42\xe1\x42\x0e\x35\xff\xf0\xea\x22\xa3\xa2\xe9\x54\x12\xfd\xd3\x59\x46\xee\x33\x8c\xb3\xa1\x98\xb3\x6c\x96\x08\xca\xd2\x81\x25\x4e\xda\x8c\x1d\xf3\xc1\xd8\x2c\xa7\xc9\xe9\x9f\x49\x28\x7b\x44\x54\x89\x45\xc6\x61\x2a\x2c\xe7\x23\x56\xbb\x6d\x65\x72\x5e\xc3\x8d\x05\xab\x0f\xdf\x41\x8f\x86\x32\x30\x91\xba\x0d\x47\x42\xa6\x26\x33\xa4\xa8\xc8\x6a\xd6\x31\x22\x89\x76\x14\xd2\x10\x39\x5d\xa4\x66\x4f\x2f\xdd\x6e\x4c\xaf\x05\x24\x1b\x05\x47\x44\xe0\x3b\x99\x70\x34\xd5\x5f\x14\x88\x05\x32\x4d\xdb\x4c\xd4\x18\x3d\x8a\xce\xab\xa8\x0b\x30\xc2\x41\x81\x86\xfc\x01\x81\x67\x49\x25\xd2\x51\xd0\xb1\x49\xc1\x4d\xea\x05\x7d\x23\x55\x21\x35\x56\x6c\x0f\xaa\x5d\x95\x2c\x0c\xb7\x41\xfa\xd1\x7c\x8b\x4d\xf8\x6d\x3c\x99\x4d\x8c\xef\x3b\x64\xf4\xd7\xc3\xd8\x2b\x8a\x97\x54\x8b\xed\x0b\x55\xe5\xd7\xad\x8f\xa0\x31\x68\x1a\x09\x8a\xdb\xfb\xd8\x82\xf8\xe7\x38\x36\x15\x8d\x2d\x3f\xe9\x09\x41\x3b\xda\x54\x87\x0b\xf9\xaa\x7d\xaa\x01\xc4\x1a\xe9\x13\x4c\x06\x0e\xf2\x2b\x41\x83\x4c\x24\x48\xbf\x8a\x1c\x88\xa5\x64\x13\x88\xf0\x72\x4e\xed\x10\xd3\x15\x45\xa0\x6b\x90\x9a\x36\xe5\x3c\x8c\x48\x27\x68\x7b\xfa\xd8\x4f\x65\xae\xe9\xea\x26\x8e\x42\xe9\x92\xd6\xab\x50\x1f\xc0\xc3\x43\xa1\xfe\x3d\xdc\x26\x06\x4d\x96\x09\x1e\xb5\xb0\xf8\xf5\x00\xea\x7b\x11\x69\xc2\x12\xd0\xc5\xd5\x71\x01\xbf\xdc\xbc\x6e\x71\x08\x61\x7d\xf6\xb6\xba\xbb\x6b\xb0\x1d\xc4\x2a\x58\x24\x7b\x80\x30\x8d\xbe\x1b\xde\x67\xaa\xbc\xee\xaf\xdc\x6f\xbf\xb1\xa7\x7b\x3e\x60\x7b\x34\xca\x44\x66\x4d\xf0\x1b\x87\x84\x42\x22\x4b\xe2\x94\xd2\xa5\x83\x4f\xb1\xe7\x0d\x69\xfa\xca\x83\x23\x3d\xd0\x96\x84\xa7\x7d\x1d\xad\x40\x6d\xa3\x7d\x6c\x98\x11\x1c\x51\xef\x10\xaf\x84\x06\x25\x3a\xa3\x07\x52\x66\x11\x24\xc7\x70\xfd\xe1\xab\x53\x73\x7a\xfb\xfd\xa1\xec\x51\x27\xf9\xcc\x4d\x2f\x95\x11\x6e\x35\x8e\x89\xe7\x0d\x57\x70\xa7\x20\x76\x17\x2b\x2b\x15\xc0\x09\x5a\xe8\xf3\x4c\xce\xdf\xcb\x48\x68\x8c\xa6\xb3\x24\x59\xd7\x83\x9a\xf2\xd4\x08\x25\xdb\x76\xb5\xac\x1f\x39\x1c\x2a\x91\xe3\x81\xe7\xd1\x01\x1c\xdb\xfe\x97\x2e\xa9\x4e\x55\x7f\x85\xce\x4e\x00\xa8\xeb\xce\xbb\x1b\x9f\x99\x7a\x85\x96\xa7\x80\x13\x31\xfa\x65\x3b\x01\xaf\xa0\x1d\xb4\x05\x38\x5c\x8b\x2f\xe5\xd6\x15\x95\x6d\x88\x10\x90\x9b\x98\xdb\xa0\x11\x28\x38\x3a\xec\x02\x77\x29\x6d\xa0\xc2\x7e\xf5\x6e\x83\x23\x91\x43\xa7\xcb\xaa\x80\x3a\xf2\xd1\xcd\xea\xa5\xfd\xd3\x2c\xec\x4a\x53\xe5\x6d\x19\x9e\xc2\x49\xd8\xd1\x97\x47\x1c\x60\xca\x72\xd9\x0a\x31\x6f\xbb\xc9\xfe\x84\x81\x2d\x2b\x8b\x9e\x16\x27\xb3\xf9\x5c\x96\x2f\xc0\x26\xd3\xb9\xdb\xf2\x7d\x02\x1a\x5f\x5d\xc5\xd5\x5b\xb0\x60\x32\xc6\x56\xb4\xfc\xa0\x9a\x8a\x8c\xca\x28\x54\x1f\x7b\x83\x0d\x0e\x3b\x0f\xc6\xd2\x89\x28\x91\x1f\x79\x3c\x78\x45\x91\x9d\x02\xf7\xa6\x62\x3b\x41\x21\xcf\x80\x07\xd2\x07\xec\x07\x6a\xeb\xe9\x40\x75\xa7\x41\xdb\xca\xef\x33\x39\x6f\xd2\x3c\x5b\x45\xed\xd8\x19\x8a\xe6\x2e\x35\x00\xc8\xe7\xe1\xf5\x06\xb6\x26\x2d\x47\x5c\xe6\x02\x9e\xb0\x8a\x04\xe1\x00\x6d\x41\x08\x60\xc6\x3b\x93\xf3\xd5\x84\x60\x5a\xa9\x7a\xa7\x61\xab\x26\x85\x53\x09\x2f\x68\xb9\x9c\x7a\xb2\x60\x61\x32\xf9\x58\x4c\x82\x28\xe9\xf5\x44\x52\xd8\xbb\xf6\x72\x13\x56\x26\xc2\xcd\xf7\xbd\x87\x99\x1f\x10\x35\x18\xe3\x2b\x22\xf8\x7a\x23\x7c\xa8\x25\xa4\x54\xbd\xdf\x49\x0b\xba\x47\xeb\x1d\xae\x35\x99\x32\x41\x52\x32\xf5\x4f\x4b\xf8\x29\xe2\xa0\xb4\xba\x70\xb2\x4a\x12\xf2\x56\x4e\x81\xd2\xd5\x15\x16\x35\x93\x73\x6f\x33\x54\x0d\x7d\xaf\xa9\x3b\xa9\x1c\x3b\x9e\x14\x1b\x0e\x7d\xe9\x2a\x98\xa5\xdb\x6a\x0e\xaa\x30\x09\x55\x39\x0b\x6a\xdf\xe6\xd3\x69\xb2\xa8\x87\x2f\x61\x5a\x6a\xe9\xfe\x4b\xf8\xd7\xd9\x7e\x16\xce\x16\xbb\x6f\x2a\xa7\x6b\xf7\x1e\xb6\xd9\x78\xe7\x19\x27\x8d\x7f\xc5\xcd\x47\x53\xbd\xcb\xd6\xab\x3c\x80\x59\x0b\x67\xb1\xf1\xb6\xac\x42\xde\x57\xdc\x99\xd3\x99\x1a\x6f\xb8\x2d\x41\x0b\xbb\xc9\x76\xdc\x64\xc8\x5f\x63\x47\xd2\xd8\x97\x6c\x47\x58\x5a\xdd\x64\xe3\x1d\x58\x85\x7e\x17\xc2\x43\x67\xef\x1f\xb5\x10\xd8\xa4\xb0\x14\xa0\xde\x40\x1e\xb8\x82\x51\x52\xab\x0d\x99\xe5\x76\x33\xfa\x1a\xeb\x64\xa7\xa6\xaa\xe7\x46\x0b\x66\xcd\xec\x31\x3b\x60\x7b\xcf\x59\xcc\xbe\xc7\x45\x24\xd1\x95\xc5\xf7\xef\x07\x99\xe6\xab\x11\xc1\xee\xb3\xd8\x20\x43\x5d\xc4\x57\x65\x1b\x3b\x31\x29\x5e\xc5\x67\x57\x22\x67\x5b\xfe\xeb\xb3\x99\x95\x18\x42\xe6\x55\xb5\xf8\x1b\xf0\x19\x42\xe4\xff\x05\xcc\xd8\xa2\xa9\x8a\x90\x36\x65\xcb\x41\xf3\xc2\x66\x01\xb3\x35\xcf\xc5\x2a\x33\x42\xa0\xe2\x57\x22\x57\x95\xda\x8a\x5c\x32\x54\x4f\xe0\x6d\x36\x11\x3c\x53\x50\xd7\x0e\x72\xd7\xc6\x54\x19\x55\xc3\x89\x78\xce\x0d\xcc\x43\x0c\xf6\xa6\x00\x41\xb2\x46\xc8\xcc\x29\xcd\x28\x7c\x15\x8c\x6f\xde\xa5\xdf\x9a\x38\x62\x05\xea\xcc\x24\x86\xb2\x78\x68\x6e\xe6\x31\x56\x8e\x96\x7d\x35\x98\x65\xc2\xd9\x1f\xd7\x6c\x5a\x83\x8c\xa3\xa2\x1e\xa6\xca\x21\xa9\x70\xd1\xd0\xeb\x64\xd4\x33\xab\x55\x2b\x2b\xb4\x21\x9b\xea\x2e\x5c\x61\x97\x01\x55\x5e\x31\xe4\x4d\xe8\x59\xb7\xfd\x60\x79\x8e\xcc\xf8\x56\xce\xd0\x8c\xbf\x1d\xa7\xa9\xc8\x40\xa5\x8d\x15\xee\xab\x5b\x21\xc5\x5a\xd5\x58\xbd\x96\xc4\x29\xe6\x1c\x1b\x26\x72\x5e\x2b\x62\xc7\x4d\x72\xef\xf9\x12\xcc\x12\x5f\x5a\xd1\xc2\x40\xd7\xf3\xe0\x89\x12\xd6\xe3\x42\xd3\xce\x73\xff\x76\x19\x6a\xf4\xda\xb1\x22\x95\x69\xbd\xe1\xea\xda\xdc\xe6\x76\x82\x81\xa9\x95\xde\x80\xa1\x10\xee\xee\xb6\x74\x6b\x59\xb3\xe2\x8c\xbf\xbb\xbb\xec\x93\x09\x0b\x00\x8b\xb9\x4c\xe5\x2c\xd3\x34\x2b\x32\x65\x53\xa6\x81\xa2\x17\x16\x05\x72\x5f\x69\x4e\x24\x78\x53\x6f\x09\xa8\xbe\x8b\x70\x20\xef\x40\x4d\x41\x72\x4b\x0a\xe1\x16\x19\x57\xc2\xe5\x70\x6a\x1b\x4f\x13\x82\x7e\x50\xa5\xc7\x6c\xd3\xdb\xe7\xd5\x6a\xce\xb6\xfb\x98\x90\x59\xdd\x4c\x2d\xd2\xc1\x11\x8c\xbe\xee\x6a\x57\x83\xb2\xb0\xba\x57\xcc\xad\x7c\x84\x8a\x44\x91\xd5\xf5\xeb\x65\x7b\xa5\x0d\xfa\xef\xe8\x68\x1c\x27\x51\x5d\xc3\x2c\x36\xb4\xdb\x46\x46\xc2\x39\x3d\x2d\x9d\xc8\x9a\x19\x87\x53\xf1\xf6\xd9\x3b\x9e\x5d\x07\x9c\x11\xe4\x24\xf0\xda\x00\xdb\x28\xd1\x9d\xb0\x51\xcd\xa9\xa6\x11\x4d\xf1\xbe\xc9\x02\x14\xcd\x96\x46\x21\x78\x84\xb2\x9e\x45\xb4\xf0\x18\xc0\x8a\x69\xcf\x32\x48\x79\xe1\x14\x64\x1a\x32\xd9\x7e\xd1\xf0\x7b\x2d\x14\x8b\xa1\x26\x32\x26\xfb\x83\xd3\x67\x20\x27\x7d\xdd\x4d\x3e\x87\xe8\x70\x88\x0a\xb7\x5d\x5a\x9b\xb2\x05\x09\xce\x98\xc6\xe4\x1c\x8e\x17\xc3\x50\x6c\x06\x7a\xbf\xcc\x37\x24\xe0\x10\x7a\x98\x64\xe3\x09\x27\xd5\x66\x0c\x59\x0a\x18\xa1\xcc\x2b\x48\xdb\xc6\x73\x63\xe7\x9b\x66\x31\x6a\x45\x43\xa5\xb1\xe5\xe7\x14\x37\x39\x99\xc4\x39\x9a\xc6\x02\xec\x35\xd9\x2c\x85\x14\x3e\x98\xe5\x6f\x9a\x89\x81\x88\x8c\x67\x40\x26\x0c\x14\x58\x1c\x9f\x21\x82\x61\x58\x32\x0e\x41\xa4\x85\x51\xaf\xe4\x93\x30\x90\xb7\x71\x2a\x4e\x3c\x1e\xb3\x9e\x57\x2a\x91\x2f\x65\x81\xe8\x71\x5d\xbc\x0a\x27\x72\xe0\x1d\xc3\x0a\x9c\x3b\x19\xc7\x50\x6b\xa0\x3a\xab\x22\x5e\x2a\x9f\xe8\x66\x9a\xde\x20\x45\x00\x1a\x1b\xe8\x1c\xa8\x92\x65\x80\xa9\x16\x9a\xbb\x0e\x56\xea\xfa\x96\x1e\x8f\xa4\x6d\xd3\x40\x3c\xa7\xc6\x6a\x25\x33\x71\xd5\x81\x4c\x95\x4c\x44\x7b\xce\xb3\xb4\x5e\x3b\x74\xb9\x5f\x20\xa3\x6d\x81\x38\x64\xca\x04\xa6\xa3\xc6\x61\xd5\x82\x7a\x63\x81\xc3\x8d\x46\xc6\x0f\x07\x4b\x14\xdc\x85\xbe\xa9\xbe\xb3\x3e\x09\xa9\x10\x6f\x1f\x52\xca\xa3\xbb\x1d\x5e\x31\xa0\x1b\x58\xfe\x65\xb7\xdc\x8e\x77\x62\x98\x11\x7c\xaf\xe5\xa1\xdf\xd3\xd9\x5e\x30\x29\xa7\x0d\x2d\x9f\x38\xd5\xdd\x1c\x91\x50\x5f\xee\x89\x96\xe9\x39\x7d\x45\x67\x6c\x59\x4b\x5b\x9e\x18\x35\x5e\x3e\xb7\x6d\x3b\x75\x93\xdc\xea\x74\xcf\x70\xb7\x95\x96\xe4\x22\x93\xf3\xab\xe7\xe1\x89\x44\x6d\xdb\xa0\x9f\x85\x73\xc5\x55\xcd\x87\x03\x86\x66\x52\x68\x2e\xe7\xa9\xc8\x5e\x9a\x98\x02\x3c\xc2\xce\xc5\x6d\xae\x5f\xd6\x6b\x35\xb7\x54\xd0\xba\xf2\xd4\xb2\x8e\x69\x74\x86\x1c\x79\xb3\x76\xb4\x8a\x13\x39\xa8\x62\x26\xbe\xab\x58\x91\x00\x2a\x25\xa5\x56\x85\x80\xe5\xfc\xcb\xfc\x23\xda\x3b\x4c\x9f\xd3\xeb\xe2\x28\xb7\xec\xc7\x73\x3a\x0b\x64\xa7\x4a\x79\x98\xe6\xbd\x72\xf5\x41\xae\xf6\xf9\x0a\x60\x0d\xef\x03\x75\x7f\xe5\x34\x8a\xc9\x86\x78\xc0\xec\x08\x83\xe9\x3c\xb7\x0d\xe7\x64\x77\xa9\x32\xe6\xb6\x35\x54\x30\xcc\xb8\x45\xf4\x28\xa5\xad\xcf\xf8\x5e\xdc\x87\x02\x64\xbf\xfd\x46\xa0\x7e\xa0\xbe\xfd\xfa\xf1\x4b\xa4\x95\xd2\x6b\x27\x03\x23\x0c\xd3\xc4\x71\x35\xc2\x4f\x71\x75\xee\x1f\x60\xef\xcf\x7d\xd2\x2d\x8e\xb1\xec\x70\x4f\x76\x23\xe3\x12\xe0\x25\xdf\x74\xb1\x06\x90\x34\x77\xc0\x33\x91\xfb\xb9\x39\x73\x5f\x18\x02\x0f\xa9\xf2\x4d\x71\xf9\xc9\xb1\x48\x07\x3d\x03\xeb\x08\x40\xfb\x6e\xac\xe6\x0d\x1d\xaa\xd9\x82\x30\x69\x5f\x68\xb2\x4b\xf8\x54\x89\x7a\x11\xb5\xcd\x2a\x82\x47\xa6\x35\xd0\xe2\x33\xab\x0f\xe3\x4c\x0c\xe5\xed\x6b\x48\x52\x12\x1d\x9b\xfb\xa0\xe7\x00\xfa\xea\x15\xb8\x10\xa2\xdb\x35\x44\x87\x50\x1b\x88\x7b\x1a\x0b\x92\xcb\x62\x7d\xd3\x1a\x36\x59\xc6\x29\x63\x07\x4f\xb1\x96\x62\x2a\x73\x03\x8a\x4a\xb9\x58\xd3\x2f\x0d\xbb\x5d\x5a\x88\x69\x12\xe7\x4e\x0c\x83\xf5\x43\x79\x6f\x2e\xe1\x2f\xab\xc1\xd2\x52\x40\x4a\xd4\x61\x8e\x7f\x3f\x3f\xba\xfe\xfb\x47\x68\xa3\x5b\xbf\x3c\x79\xc7\x86\x19\x1f\x41\xca\xb1\xda\xf7\x51\x7c\xf3\xc3\xf7\x6a\xca\xd3\x1f\x7e\x12\x49\x22\xd9\x27\x99\x25\xd1\xf7\xbb\xf0\xe4\xfb\x5d\xfd\xb6\x86\xbe\xf0\x4c\xe9\x01\x01\x46\xc1\xe1\x8b\x2b\x15\x18\xfc\x31\xd3\xb0\xd9\x64\x72\xc8\x1e\x9b\x1c\xbe\x73\x08\x7a\xc6\x2c\x44\xe8\x01\x65\xfb\x47\x59\xb3\xaf\x05\x54\xd1\xad\x18\x8d\x19\x08\xfc\xb7\x62\x68\xe8\xa7\x67\xc6\x00\x7e\x44\x1c\x13\x1e\x3b\x87\x0d\x0c\x33\xc6\x41\x38\x87\x6a\x48\x3d\xea\x49\xe6\x73\x9a\x85\x82\x4a\x3d\xbe\x80\x9e\xcb\x56\x5f\xb4\x60\xf6\xb8\x0a\x9e\x77\x96\x71\x7d\x10\x99\x0b\xb8\x36\xf0\xd0\x35\x02\x1d\x4f\x35\xc2\x12\x3e\x10\x11\xde\x01\x72\xe9\xeb\xcb\x3c\x65\xa9\x46\xef\x17\xfc\xd2\x7a\x57\x40\x32\xe5\x24\xce\xab\x45\x35\xc2\x77\xe0\x23\x61\x26\xa5\xbf\x76\x0e\x11\x38\x03\xbc\x6b\x5a\x17\x83\xc1\x00\xee\x85\x2b\xf6\xa5\x5d\x75\x7f\x3f\x6a\xd0\xcd\x80\xa9\x69\xbe\x09\xbe\xec\xef\x3d\x46\x33\x48\x64\x2a\xe0\x34\x84\xb3\xb9\x11\x5c\xbd\xa9\x2c\xac\x69\xeb\x3d\xd2\x9b\xb3\xf8\x6c\x15\x3b\xee\xcd\xfa\x2a\xcf\x68\x50\x7b\x76\x5c\x1a\x8c\x1d\x52\x01\x16\xfa\xf1\x42\x08\x4e\x8e\xb7\x4d\x7a\xe7\x7d\x4d\xe7\x6f\x25\x88\x86\x65\xaa\xed\x29\xd7\xfc\x0e\x1a\xa0\x86\xea\x05\x38\xc8\xbb\xef\x9a\x25\xae\x6b\x43\x3a\xee\x15\xa7\x59\x0d\x17\xd5\x26\x81\xe8\xe0\x71\x8a\x63\x74\x4a\x45\xe2\xd3\xe4\x05\xbe\xb6\xf1\x74\x2a\x22\x5b\x66\xc1\x79\xc3\x0c\x12\x3e\x99\x3a\xca\xf7\xdd\xe0\x56\x12\xc2\x84\x2f\xfa\xe2\x28\x89\xa7\xe4\xb5\x54\xa9\x19\xda\xe2\xf4\xac\x92\x65\x2c\xce\x11\xc6\xf7\x2b\x24\x59\xcf\x7d\x4a\xf3\x64\x28\x01\x97\xca\x1c\x43\xec\x60\xf6\x10\x51\xdb\x9f\xe5\x58\xa3\x08\x1f\xf3\xc9\xd4\xfa\xe5\xaf\x77\x2a\x58\xda\xf9\xf6\x4e\x06\x95\x92\x73\xa3\xe2\xb8\xaf\x12\x6c\xf5\x8d\x30\x38\xe8\x0b\x37\x9a\xdd\x5d\xd6\xd3\xec\x48\x0e\x87\xa1\xa6\x16\x67\x82\x21\x19\x9a\x13\xc1\x1a\xb2\x4c\xa8\x1c\x22\x38\x72\x96\xf0\x5c\x58\xbd\xd0\xe6\xc2\x9d\xf1\xcc\x7a\x67\x2c\xb4\xee\x52\x8a\xfe\x12\xe0\x4a\x6c\xae\x8b\x5f\x0d\x59\xd8\xa9\x31\x57\x98\xac\xaf\xa8\x38\xe0\x19\x79\x7c\x1a\xbc\x81\xe3\xdc\xf6\xb4\x58\x20\xc4\x0a\x41\xec\x7b\x82\xaa\xc7\x54\x16\x60\xf1\x86\xbf\x1d\xe3\xb2\xc1\x04\x65\xd1\x65\xaf\x4a\x7a\xa1\x38\x17\xb7\xfa\x06\x25\x49\x62\x24\x03\xc8\x93\xee\x56\xa6\x5d\x7d\x29\x0a\xb7\xdf\xf3\x0a\x35\x9d\x3f\xa9\x40\x6c\xac\x16\xb3\xcd\x5d\xa7\x82\x61\xad\xb8\x5d\x94\x05\x52\x73\xa3\x0d\x28\xf2\xfb\x95\xdc\xe0\x75\xa0\xe2\x9e\x73\x8c\x2e\x8a\x03\x1f\x3e\x97\xa4\x4e\xe5\x3c\xcb\x45\x84\x09\xb2\xdc\x86\x50\x56\x4a\x73\x32\xeb\x5d\x5c\x8a\xfc\x71\x37\x4a\xba\xe2\xdd\x5d\xaf\x30\x51\x22\x38\xe6\x24\x33\xce\x1b\xc6\x51\x81\x76\x6f\xb5\x32\xad\x48\x76\xab\xd8\xc6\x97\x4a\xa3\x2e\x25\x5e\x0c\xa5\x76\xaf\x40\x8f\x55\xab\x38\x47\x6e\x4f\xb4\x87\x9d\x17\x38\xc5\x02\xf4\xff\x96\x33\x14\x8f\x40\x62\xac\x38\x32\xea\x0d\xa2\xcd\x98\xaa\x8b\x63\xa6\xff\x78\xea\xa9\x4b\x1d\xfc\x94\x78\x76\x48\xc9\x26\xca\x05\x8a\x74\x2a\xc9\x66\x53\x7b\x98\x61\xb8\x46\x2e\xc9\x53\x3e\x59\xd8\x50\x18\x0a\xdf\x2a\xe9\x5a\x35\x2c\x9c\x61\x70\xee\x55\xe8\xf6\xc2\x78\xd2\x25\x56\x5d\xf4\xe2\x0e\xae\x2e\x79\xe6\xce\x46\x47\xf4\x4b\x2e\xd9\x61\xa3\x73\x34\x2a\xb8\x07\xa1\x94\x74\x67\x23\x8b\xb5\x3c\xe8\xa3\x11\x62\x33\x00\x3d\xc8\xd7\x6c\x0d\x10\x98\x49\x7f\xc1\xa6\x99\x98\x0a\xc8\x79\x89\xd6\x3a\xa8\xa4\x97\x8e\x10\xc8\xdc\xda\x39\x94\x09\xfe\xa3\x28\x77\xd0\x3b\x67\x91\x0f\x0c\x3b\xe0\x63\xc1\x21\x80\x3b\x8f\x27\xc2\x70\x26\x95\x67\xc6\xdd\xd1\xc8\x66\xf4\x04\x30\x68\xc6\xfc\x1e\x6c\x1e\x7a\xc0\xf3\x31\xcf\x9b\x66\x47\x83\x37\x8f\x8d\x64\x84\xb2\x48\x3e\x37\xb0\x3e\xc3\x49\x02\x82\x3b\xc2\xd2\x58\xa2\x98\xf9\xc9\x6c\x30\x5e\xe2\x68\x6d\xe4\x81\xfb\x07\x76\x8c\x66\x30\x6f\xe5\x00\x22\x5f\x07\x63\x51\xb0\xb0\xd9\xcb\x58\xa8\x78\xa8\xd2\x88\x18\x0e\x8e\xd6\x08\x23\xc3\xe3\xf0\xe9\xaf\x89\xe0\x5a\xc2\xf3\xb2\xe5\x88\x34\x0a\xd7\xa9\x8d\x60\xa0\x34\x44\x3c\x99\x26\xb1\xd1\xa8\x87\xc2\x1f\xcf\x8b\x9f\xd3\x3b\x90\x38\xcd\x21\x81\x63\x39\x31\xa3\x5e\x73\x78\x3a\xea\x6c\xb0\x96\x55\x52\x18\xe5\x55\x00\xcb\x53\x0a\xee\xee\xb2\x43\x96\x8a\x11\xcf\x41\x87\x1d\x4e\x1f\xab\x0a\x2f\xf5\x1a\x9f\x9a\x24\x2c\x22\x8d\x0c\x30\x33\x1d\x17\x05\x21\xc9\xc9\x0b\x0c\x18\x8c\x7d\x12\x35\x7d\x3c\x12\x6d\x92\x2d\x19\x3c\x64\x2d\x39\x17\x08\xba\xed\x14\x42\x6a\x89\x69\xaf\x15\xcc\xcf\xc4\x9e\x82\xcf\x7a\xac\x3c\x50\x5e\xbd\x9b\x81\xd4\x97\xf2\x5c\x24\x0b\x36\x4b\x21\x54\x31\x6a\x33\xf6\xc1\xc4\x1c\x34\xbd\xaa\x7d\x2e\x70\x16\xa2\x13\x20\x47\x63\x9e\xc5\xd7\x22\x1f\x67\x72\x36\x1a\xd3\xa5\xb6\xef\x4a\x3b\xc9\xd4\xeb\xb4\xe9\x24\xbf\x5a\xce\x66\x4a\x58\x5c\xa5\x44\xaf\x52\xe1\xc5\x59\x61\xc2\x96\x24\xa2\x74\x29\x60\x50\x32\x6a\xad\x4a\xdb\xa8\x8b\x91\xf8\xed\x37\x2f\x16\xb2\xd2\x7e\x16\x0c\x79\x6d\x73\xaf\x68\xe1\xda\xb6\xf3\x01\xb0\xd2\xb5\xed\xf2\x38\x11\x2f\x79\xce\xd9\x3d\x34\x97\x37\x9c\x20\xbf\xbb\xcb\x5e\x08\x38\xb0\x34\x2e\x06\x22\xe5\x59\x2c\x9b\x46\x60\x06\xe5\xcd\x34\x13\xb9\xc9\xb3\x89\x9c\x8e\xcd\xf5\xa5\xda\xab\x98\xe4\x80\x51\x55\xd3\xc4\xdb\x97\xa0\xa7\xca\x33\x76\xa0\xe9\xe8\xbe\xfe\x19\x84\xea\x92\xa0\x63\x38\xbc\xde\x58\xe7\x90\x7a\xe6\x80\x3d\x08\xa7\x06\xff\xee\xf9\x8d\xab\x10\xc0\xac\xaa\xd6\x1e\x1a\x71\x22\x36\x69\x07\xd4\x08\xb8\x7b\xa9\x59\x37\x86\x1f\x6d\xf4\x8d\x5b\x34\xb0\x94\x86\xf8\xed\x61\x75\xb4\xbe\x41\x73\x33\x74\xb1\xa7\x38\x5e\x4e\xd6\x4a\x4b\x86\xc5\x8d\xc8\x96\x9c\x83\xec\xc0\xc7\x1f\x1c\x99\xf7\x35\xaa\xab\x03\xa2\xf5\xb9\x27\x33\x3b\x92\xb9\xb0\x91\x7d\x03\x3f\xc6\xcc\x68\x5e\x56\x8c\x06\x19\x03\x9d\xe5\xde\xd0\x56\x5a\x05\xec\xb0\x96\x79\x51\x78\x0a\x04\x04\xde\xf4\x61\x17\x75\x08\x55\x97\x86\x60\x34\x40\x74\xef\x37\xd3\x2c\xb3\x03\x16\xf2\xb3\xe7\x25\xbc\x93\x40\x32\x57\xc1\x75\x14\x65\x89\x54\xce\x21\xaa\x17\x2b\x75\x59\x8d\x04\xc6\xc4\xd3\xc1\x83\x82\xad\x95\x31\xab\xcf\x20\x56\x3a\x81\x42\x3b\x57\xd5\x0e\x07\x47\x08\xa1\x9c\x03\x81\x77\x2a\x79\x47\xce\x39\xe9\xe6\x40\xbc\xa4\xcc\x83\xa4\x98\xb3\xc5\x2e\xe2\xb4\x7a\x50\xe5\xe3\xec\xe0\xc0\x9d\x67\x2b\xa8\xb3\x48\x9c\x95\x1c\x40\x6e\x05\x52\xb3\x93\xfb\x05\xc0\x95\xe4\xbe\x0c\x82\xb7\xa7\xd7\xdd\x4e\x1d\x08\x5f\xb9\x46\x75\x32\x1d\x77\xbb\xbf\x15\x20\x4f\x45\x67\xc9\xa8\xea\xa2\xeb\x0b\x5d\xac\x52\xf3\x71\x1e\xae\x95\x11\x9d\xe6\x99\xd4\xf2\x2a\xa4\x02\x30\x51\xc8\x66\xe5\x51\x6b\xec\x13\x26\x82\xea\x8b\x51\x8c\x99\x2d\x65\xb6\x44\x46\x6a\xe2\x8d\x11\x62\x9a\xa3\xbf\xf2\x41\xc0\xc1\xf4\x65\x84\x7f\x43\xf7\x47\x8d\xe7\x18\xc4\xc3\x34\x02\xbf\xb1\xb6\xcd\xf6\x50\x5e\x6a\x2d\x0d\x91\xb3\xb0\x1b\x43\x75\xe7\x6c\x30\x16\x83\x6b\xb2\xd1\x60\x2e\x1c\xa6\x90\x25\x38\x81\xc5\xbc\x31\x96\xa8\x80\x41\x15\x5e\x3a\x0b\x56\xf1\xab\x6f\xbf\x0d\x35\x13\xeb\xf6\x5c\xe1\x7b\xef\x14\x28\xbc\x09\x68\x11\xd7\x78\x05\x37\xab\x1c\xef\x12\x4e\x56\xbc\x3b\xac\xe8\xb8\xb1\xc2\x92\x06\x6a\x10\x11\xe8\x4a\xd6\x38\x2c\xe1\x25\x65\x23\xbe\x4e\x80\x7d\xc6\x5e\xfe\xd4\x5a\x05\xc5\xdc\xb1\xef\xca\x29\xaf\xdc\x20\xab\x99\x96\x23\xbb\x15\xd4\xee\x11\x1c\x18\x2f\x4a\xc4\xe6\x9b\x3c\x0f\x96\x9c\x56\x8e\xc8\xfc\xd6\xdb\x12\x98\x7f\xfc\x79\x36\x6b\xf7\xb4\x92\x4d\x2e\x79\xbf\x82\xe2\x4a\x03\xdf\x90\xda\x1c\x11\xfc\x0f\x52\x55\x59\x46\x58\x47\x56\xe4\x85\x88\xbe\xde\x58\xab\xd2\xdd\x93\x30\x93\x22\x4f\x17\xe6\xa2\xe4\x5f\x6b\xc6\x22\xd3\xd7\x8c\x38\x1d\x08\x48\x74\x61\xc0\x8d\x24\xf9\x81\x39\x69\xaa\xa4\xb2\x72\x68\x5c\x67\x67\xc7\xb1\x56\x7b\xf3\x94\xe4\x39\xcd\xd4\x95\x9c\x08\x34\x7c\xd1\x61\x4e\x55\x03\x2a\xe4\x0d\xba\x18\x22\x24\x23\x0a\xa2\xa9\x2c\xce\x4b\x06\x57\x48\x1d\x83\x5e\xc8\x33\x58\x4b\x67\x00\xd4\x5d\xf5\x45\x3e\xf7\xc3\xd1\x9d\xf1\x6c\xd9\xe1\x77\x77\x92\xb8\x0b\x9b\x29\xc9\x8f\xab\x29\x63\x0d\xbb\xf1\xb4\x8a\x27\xce\x21\x9b\x2e\x90\x25\xc5\x62\xb5\xd7\xf8\xff\xc5\x0a\xc3\x42\xe6\x87\xa5\x3a\xc3\x09\xbf\x7d\x8b\x5e\x64\xd5\x0e\x58\xab\xcc\x34\x74\x85\xb7\x20\x1a\xde\x16\x62\x17\x2a\xcf\xae\xac\x49\x76\xbe\x52\xfb\xb6\x85\xe4\x5d\x32\xa6\x38\x36\xbf\xca\x4e\x62\x6d\xb1\x15\xde\x49\x07\x40\x76\x81\x1c\x1f\x2b\x2f\x0a\xc0\xea\x41\x38\x4b\x65\x4b\x4e\x9b\x78\x71\x9f\x14\xcc\x53\x2e\xac\x63\x29\x33\x0a\x9d\x66\x56\xab\x03\xe7\x4b\x4f\x5d\xf8\x2e\x12\x89\xc8\xc5\xd1\x98\x67\xaa\xfe\x8e\xe7\xe3\xf6\x24\x4e\xeb\x94\xb8\xc7\x2d\x88\xdb\x86\x41\x72\x10\xc4\xba\xb7\xc3\x5e\xc9\x6c\xce\xb3\xa8\x85\x50\x51\x85\x43\x9e\xbc\x7e\xe6\x8f\x8d\x36\xdd\x39\xf9\x20\x80\xe3\x0a\x04\xcd\x13\x63\x44\xe0\x91\x0f\x31\x56\x58\x17\x44\x44\x2c\x11\xc3\x1c\x32\xff\x24\x0b\xc6\x87\x43\x31\xc8\x21\xc9\x49\x51\xe5\x26\x98\xe2\x13\x61\x9c\xa1\xcb\x1b\x71\x45\xe4\x4c\x90\xdb\x41\x0e\x7d\xd0\xb9\xa4\xd1\xb9\xca\xd0\xc6\x89\xa1\xda\xa2\x8d\x40\xa0\x20\x70\x59\x15\xdc\x5e\x1e\xb4\x5f\x1c\x43\x41\xab\x68\xb3\x12\x12\xae\x56\x6e\x71\x8f\x04\x96\x44\x4c\xae\xb0\xb7\x3d\xdf\x50\x7b\xec\x9b\x6e\xe1\xe5\x46\x06\x5c\x46\x68\x3f\x60\x96\x36\x29\x10\xb3\x8a\xc7\x54\xc0\x77\x3e\x0c\x5e\xec\x3d\x61\x74\xcf\x79\x61\xde\xb8\x40\x7e\xa3\xe8\xe7\x59\x8e\xc4\xdf\xd4\x62\xe7\x5b\x4a\xc4\x10\x1a\x14\xd9\xb7\xdf\xfa\x11\x4c\xcc\xff\x6c\x2b\xcf\xbc\xaf\xe0\x47\xe2\x5d\x75\x37\xfb\x94\x56\xec\xbe\x0d\xaa\xd2\x9f\xda\xa9\x6e\x35\x7c\x4a\x4e\x70\x10\xcc\xbf\xe5\xe3\xcd\xc8\xd5\xd2\xa8\xd8\xfd\x96\xdf\x7e\xeb\xf5\xfb\xed\xb7\x21\x16\x0f\xdc\xbb\x40\x5f\xf7\x5e\xfa\x04\x0f\xaa\x4e\xc3\x18\x4c\xcd\xd2\xcc\xd3\x68\xa3\x08\x95\x81\xcb\x60\x9f\xf7\x93\x05\xcb\xb3\x85\x51\xa8\x03\x40\xbb\x77\x81\x6d\x85\x89\x7c\x30\x9d\xec\x3c\x8e\xbc\x5d\xe6\x24\x33\x93\x20\x2d\x50\xb1\x56\x34\x06\x41\x94\xf8\x3b\xe8\x73\xb4\xf0\x06\xd9\x25\xad\x03\x5d\x49\x77\x07\x0f\xb6\x10\xbc\x6a\xac\x66\x85\xfb\x95\x8e\x3f\x16\xf0\x12\xc7\x9f\x25\x64\x89\x41\x45\x45\x52\xd9\xb3\x4a\x38\x43\x09\x9d\x8a\x3b\x05\x6a\x17\x97\xf8\x77\x22\x7d\x78\x40\x0f\xd8\x9e\x26\x06\x40\xdc\xbd\x32\xe3\x09\xbd\x81\xd7\xf8\x21\x31\x72\xe8\x75\x1e\xa6\x34\x18\x7c\x25\xcb\x2a\x3c\xe7\xaf\x50\x92\x3e\xe3\x21\x85\x6e\x70\xe3\xca\x9f\xca\xb4\x05\xa2\x9d\xb9\x42\x14\x9c\x32\xc8\x7f\xc0\xe8\xcc\xef\x1d\xb0\x07\x7a\x6a\xf7\x56\x49\x1a\xbe\x4f\xf0\x5a\x83\x2c\x2b\xea\xe7\x8b\x4a\x8e\x55\x2e\xbd\xeb\x94\x2e\x77\xbb\x0f\x79\x8a\xb7\x15\xe3\x5a\x69\x63\xf0\x28\x72\xc3\xf1\x6f\x7a\x25\xde\xab\x54\x43\x6a\x54\xc3\x82\x2e\xf7\x3e\xd9\xd0\x9b\x7e\x7d\x44\x98\xed\x67\x95\x86\xdc\x36\xda\x68\x32\x4b\x6f\xe0\xfe\x86\x28\x68\x73\x80\xd6\xe9\x3c\xcc\x6e\x42\x59\x2e\x4e\x23\x45\xc9\x60\xfe\xdc\x3a\x3b\xf9\x84\x05\x16\xe1\xb2\xe1\xe5\xd2\x72\xc1\xd7\xd0\x08\x64\x96\x0f\x94\x61\x5f\xcd\xa6\x53\x99\xe5\xe1\x05\xa5\x28\x61\xa1\x37\xa9\x16\xc4\xb0\x17\xf0\xdc\x1e\xc5\x29\x53\x82\x67\x03\xcc\xa2\xe6\x52\xd2\xc8\xa1\x8d\xf5\x72\xa2\x11\x82\xd0\x72\x11\x81\xa0\x3c\x7f\x7c\x89\xb6\xd2\x40\x58\x99\xd7\x48\x5f\x92\x7a\xfa\x24\x3a\x93\xf3\xcf\x95\xa9\x16\x48\x12\xc8\xe4\xbc\x48\xd7\xbe\xce\x88\x55\xbc\x6f\x8f\xb9\x5a\xee\xfa\xe0\xf9\x29\x61\x84\x41\xd5\xbe\xfc\xe2\x2d\x9c\x9c\x07\x2b\xf7\x23\xc4\x37\x9b\xc4\x85\x88\x7d\x87\x03\x38\x70\x4c\x50\x55\x0f\x57\x48\x6d\xba\x44\xaf\x42\x72\x28\x2f\x85\x49\x77\x0d\xd2\x3b\x45\xf6\xfa\x2d\xd7\xa2\x5c\x7f\x58\x8d\x6e\x72\x0d\x23\xeb\xce\xce\xce\xf3\x60\x09\x3c\xa4\x19\xeb\x9a\x9e\x64\x49\x95\x46\xc1\x2a\x9b\xad\x80\xbf\x06\x25\xde\x52\xe0\x1e\xfd\x4c\xf0\x6b\x3f\x61\xb1\xbf\x3e\x68\xfa\x28\xa5\xf1\x52\x45\x82\x4d\x07\xe0\xe5\x65\x08\x95\xce\x93\x8a\xc5\x80\x73\xec\x3d\xd9\xff\x46\xc2\xac\x89\x05\x30\xc4\xab\x4c\x71\x8f\x14\x5a\xc9\x21\x69\x50\x4d\xfd\x4b\x4a\xb5\x08\xf9\x87\xd7\x2e\xd7\x9f\xcf\xe4\xfc\x90\x40\x95\x1c\xaf\x83\x2d\xe2\x7b\xdf\x81\x7a\xd5\xd8\x90\xdf\xeb\x4b\xd8\xc1\xc1\x01\xab\xc1\xc8\x6a\x8d\x32\x32\xfd\x98\x10\x77\xca\x17\xb6\x00\x86\xa5\x54\xe0\xd7\x0b\xca\x04\x3f\x3b\xa4\x73\xef\xd2\xa6\x99\x04\x9d\xff\xd4\xc4\x20\x7d\xeb\xcd\x41\xc8\xcd\x43\x86\xe3\xf6\xc8\xea\x05\x74\x11\x82\xc3\x95\x4e\xf4\x27\x9e\x03\x7d\x40\x1f\xa5\x8b\xe2\xe9\xdd\xe7\xbe\x72\xdd\x0d\xdc\x4f\x71\x3e\x36\x6a\xa4\xe2\x96\x6d\xb2\xb2\xf7\xbd\x8b\x54\xf3\xaf\x61\xad\x8e\xb9\x74\x19\xb2\x3c\x73\x31\x8a\x45\x2a\x73\x02\x1d\x00\xf3\xbe\x58\x02\x73\xea\x42\x3c\xf7\x3c\x86\xe1\x77\x75\xef\x80\x79\xfc\xc3\x7e\x70\x7f\xad\x88\xe3\x02\x1d\x37\x62\x2a\x5a\xe4\x2b\x30\x92\xbb\xf0\x99\x60\x8a\x25\x5e\xe3\x86\x6f\x11\xe8\x2f\x57\x9c\xea\xd3\xac\x62\x81\x36\xda\x3c\x74\x00\x6f\xb2\x77\x5e\x1a\x57\xf7\xbb\xca\x00\xc1\x96\x40\xe8\x5b\xed\x22\xcb\x00\x57\x6f\x23\x6f\xdc\xcb\x41\xac\xdd\x59\x9b\x23\x66\xe3\x8d\x85\x2b\xb5\xe1\xae\x2a\x30\xc7\x02\x49\xfb\x99\x55\xaa\xe9\xa1\xf0\x7d\xb1\x1b\xdf\x8a\xbe\x11\x59\x05\xb0\xf6\x1a\x86\x59\x57\x6d\xc8\x25\x09\x84\xda\x03\x2d\xae\xbe\x87\x52\xc1\x15\xa9\x84\x3c\x75\xd2\x7b\x1b\xee\xea\x7d\x73\x11\x5f\x05\xf7\x22\xd7\x10\x4f\x92\x46\xb8\x99\xbc\x5d\xe3\xc7\x2f\x6e\xc1\x0b\xbc\x3e\x1a\x85\xb3\x49\xef\xd4\x8a\xcd\x65\x83\x9f\x20\xc1\x32\x12\x8b\x4b\x96\x4d\xd9\x64\xaa\x8e\xaf\x3f\xf2\x6c\xb2\x14\x6e\x3b\xae\x3c\x44\xc0\x6f\x36\xcf\x62\x71\x53\x9a\x43\x45\xfe\xa0\x2f\xec\x7c\x2e\x99\xc0\xfc\x41\x98\xa0\xc8\xbf\x41\x14\x91\xa0\x31\x20\x06\x79\x7c\x23\x30\x37\xfc\xca\x2d\xa3\x67\x78\x98\x46\xb8\x9b\x57\x1f\x48\x66\x4a\x45\xe1\x5d\xf3\x65\x3b\xdd\x1f\x36\x61\xfa\xbe\x28\xf3\xfb\xd8\xbe\xed\xb7\xb5\xc5\x69\xf3\xf5\x4e\x0b\xb3\x97\x4b\x58\xf4\x37\xb4\xc5\xdb\xd7\x23\x63\x73\xfd\xf8\xc3\x4f\x89\xf5\xf4\x4c\xc9\xde\xfe\x59\xc9\x79\xc9\x31\x10\xd2\xf2\xdd\x79\x68\xba\x92\x79\x9a\x16\x9a\x26\x3f\xdd\x29\xdc\xdc\xa2\xfd\xfb\x83\x10\x92\xdb\x02\x4b\xee\x03\xbd\xd3\xc3\xf7\x35\xd7\x0a\x72\xb8\xb3\x97\x59\x9c\x24\x0c\x8a\xbe\x93\xf4\x6b\x4d\xdb\x90\x40\x45\x7f\xd4\x06\x14\xdb\xcb\xf7\x66\x84\x8e\xe7\x9d\x47\xe9\xf8\x75\x61\x33\x39\xa3\x64\xd8\xfe\xca\xb6\xf7\x34\x31\xfe\xd6\x0e\xa6\x5e\xbc\xba\x54\x67\xf5\xfe\x67\x3f\x20\x40\x49\xcf\x40\x41\xe2\x5f\x5d\x28\xc6\xbc\x38\x9a\xd2\xe7\x22\x8d\xd8\x71\x1a\x6d\xf1\xe9\x99\x7e\xfb\x85\x1a\xc1\x1f\x90\x5b\x4a\x46\xf1\x70\xcd\xbe\x52\x22\x87\xf6\xe5\x6d\x04\x93\x00\x03\x4f\x13\x01\x3b\x4d\x03\xbc\x0a\xc8\xc5\xbb\x93\x2c\x3f\x75\x3c\xb8\xf6\x9a\x52\x05\x8a\x5c\xbc\x0b\x76\x59\xd0\x40\xa6\xd1\x5d\xbb\x15\x69\x64\x3b\x2d\x83\xa9\xee\x12\xa6\xad\x51\x04\x4b\x59\x31\xd6\x8b\xbd\xab\x66\x05\x36\x2e\x3a\x98\xa4\xd1\x7e\x7f\x9c\x46\xa5\x4e\xe1\xdb\xd2\x43\xf8\xd2\x0f\x0d\xbe\x9d\xf2\x34\x52\x5e\x96\x06\xd0\x1d\x66\xe8\x5f\xff\xe1\xec\x6d\xa9\xc0\xa4\xcd\xc1\xf0\xc5\xfb\xa8\xe7\x7f\x2e\x00\xe6\x6a\xba\xc0\x36\xee\xb3\xe5\xa9\x1c\xe0\xb2\xe9\x9e\x05\x28\x34\x9a\x29\xa0\xc8\x03\x2f\xd7\xc3\x88\xc8\xee\x30\xaf\xef\xb9\x2b\x2b\xb6\xfb\xed\x37\x42\x5c\x2e\x4d\x49\x0d\xf4\x51\xa8\xef\x5e\xaa\xdd\x46\x75\x0f\xc1\xb5\x38\x50\x4f\xd6\xab\x2f\xcb\xb4\x36\xba\x95\xb5\x10\x35\xbc\xa1\x84\xb7\x66\xdb\x11\x7c\xe0\xe5\x46\xaa\x92\xf8\x43\xca\xf3\xef\x07\x1b\xff\xab\x1a\xdd\xef\x86\x74\xe2\xbc\x96\xec\xd6\x73\x53\x39\x60\xad\xce\x92\x3d\xf7\x47\xcf\x17\xc7\x28\xd2\xe8\x77\xcd\xd5\x42\x29\xcc\x33\x98\x40\x79\x96\x14\x08\x8d\x4e\x30\xe0\x52\x8e\xec\x1b\x74\xc1\xb5\xbf\xd7\x98\xcc\x58\xad\x5d\x33\x4e\x72\x53\x9e\x8f\x15\x1b\x66\xe2\x6f\x33\x91\xe6\xc9\x82\x45\xd2\x84\x5d\x25\x62\x98\x03\x1c\xc6\xd8\x01\xab\x5d\xfc\x7c\x79\xa9\x2e\x2f\x2f\x2e\x2f\xaf\xea\x8d\x5f\xbf\x7c\xff\xc3\xce\x65\xed\xf2\xf2\xe7\x7b\xff\xf1\x6f\xff\xe7\xdf\xbf\xfd\xae\xf9\xbc\xfb\xff\x5d\xd5\x0c\x92\xc1\x89\x83\xbe\xdd\xe4\xd3\xbf\xb7\xbd\x8f\xe3\x54\xc5\x91\xc0\xaf\x97\x7f\x7c\xf5\x5d\x8d\x26\x0b\x41\xdf\x38\x49\xf2\xb8\x00\xc7\x90\x92\x1a\xd9\xdf\x4e\xa0\x7a\xb6\x72\x36\x16\xe2\x4b\xc5\x87\xe9\xb9\x3c\xa3\xcd\x1d\x24\x64\xd0\xbb\x96\x00\x81\x21\xde\x5b\x03\x07\x40\x0c\xf3\x33\x31\x9a\x25\x3c\x3b\xbe\x9d\x66\x42\x29\x57\x15\xe5\x4c\x8c\x8e\x6f\xa7\x75\x87\xd1\xfb\xc1\x2c\xef\xb3\x9d\xff\xb3\x63\x01\x21\xaf\x12\x11\x1e\xb8\x07\xe1\xc8\xda\x68\x2a\xa9\x57\xf6\xe6\x68\x24\x04\xa1\xa9\x44\xf3\xa1\xf0\xf1\x0f\xe1\xee\xaf\x20\x23\xc0\x2c\x44\x1a\x79\xbe\x39\x6d\x0f\x61\xaf\x32\x39\x59\x8f\xb0\xa0\x9b\x8d\xb7\x42\xd1\xef\x8b\xc0\x35\x1a\x01\x91\xad\xc1\xf8\xce\xcf\x3b\x25\x5c\x3b\xe2\xb4\xa0\xb0\x08\xdf\x41\x38\x27\xe2\xd2\xd5\xdd\x38\xd6\x0a\xdf\x56\x72\x1a\xc2\xf6\x31\x80\x0e\xd9\xd3\xfd\xd2\xf4\x00\xcc\xc5\xde\x55\x69\x0d\xe1\xf3\xe2\x0a\xea\x87\xdf\x07\x64\x58\x5c\x3d\x13\x22\x8e\xe2\x10\x09\x0d\xfe\xfa\x37\x7d\x60\x46\x26\xd2\x9d\xbb\x63\x8d\x47\x11\x7c\x5e\x37\x2f\x37\xaa\xb4\x28\x93\x44\x8b\xa3\xff\x1b\xab\x2d\xfa\x75\x4e\x0b\x95\x15\xbd\x0a\x8a\x87\xac\x76\x13\x8b\xb9\x46\x42\x8d\x41\x15\x45\x39\x64\xc3\xf8\x56\x44\xad\x31\xd6\x84\x81\xcc\x96\xc0\x91\xcd\x6d\x18\x62\x94\x5c\xea\xaa\x14\x7c\x48\x07\x72\xba\x68\xe5\xb2\x35\x48\xe2\x29\x94\xbf\x37\xc2\x51\xed\xa3\x85\x6f\x4a\x07\x40\xbc\xa0\x89\x53\xe5\x39\x56\xac\xd3\xb3\x34\xa1\x98\xb6\x64\x5d\x6c\xf3\x2e\x61\x96\x4e\x5b\x9c\xed\x14\x53\x6c\x65\x50\xa4\xac\xb3\xb7\xd7\xdc\xdb\xdb\x83\xcf\x30\x6d\x89\x6e\xe5\x15\xa1\x8b\xa9\x2a\xde\xfe\x23\x57\xcc\x90\x27\x09\x05\xa4\x98\x57\x91\x9c\x18\x5f\xe5\x4c\x50\x48\x5b\x84\xa5\xdd\x7c\x60\x10\x09\xcd\xd5\x35\xa3\xea\x79\x67\xde\x68\x5c\x28\x9c\xde\xd8\xc1\x74\x64\xca\x22\x31\x81\x4c\x4f\x94\x56\x49\xf7\x82\x34\x28\xf4\x3a\x53\x26\x4d\x1f\x0f\x3c\x13\x3c\xc8\x1f\x6a\xd6\x0a\xeb\x36\xaa\x78\xa4\xc9\xc9\x24\x4f\xc2\x35\xa1\x7c\x96\x85\xd5\x60\x2a\xd7\xc3\x9e\xcb\xec\x5a\x35\x35\x38\x71\x23\x52\x74\x49\xe2\x49\xa2\x0f\x5a\x2f\x22\xd3\x5b\x5d\x2c\xf4\x80\x43\x94\xc3\x61\x21\xb3\xfb\x7b\x99\x0b\x17\x2a\xfd\xe7\x4e\x87\x4d\xa4\xa6\x4c\xd7\xad\xcd\x2d\xa3\x7b\x76\x8e\xc2\xc5\x8e\xbf\xf1\x8a\xeb\xf9\x7d\x7b\x5d\x32\xf6\x3a\x77\xce\xaa\x51\x3c\x1c\xc6\x83\x59\x02\xe7\xe8\x30\xbe\x45\xc2\xd2\x64\x4a\x05\xdf\xa8\xc8\xa6\x46\x11\x38\xe6\xa7\x39\xdc\x36\x21\x7c\x5e\x5f\x50\x79\x3e\x96\x89\x1c\x91\xcb\x3e\x54\x40\xf4\xba\xd6\x14\xaa\xfc\x44\x56\xfe\x22\x93\xf7\x96\x33\xa3\xaa\xea\x22\x85\x39\x1f\xb1\x94\x4f\x84\x29\x52\xe8\x4a\x38\x63\x29\x4c\x65\x82\xfc\x60\xd3\xff\x6d\x16\x0f\xae\x93\x05\xe3\x4a\x8f\x99\xbc\x31\xb3\x4c\xaf\x28\xd5\x59\x64\xb8\x23\x3d\x3a\x71\x7b\x73\xa0\x4a\xb7\x11\x6f\xc8\x5f\x82\x2d\x73\x68\xd3\xd1\x0d\xf8\x14\x42\x47\xe5\x90\x72\xd6\xd9\x5a\xa4\xdc\x7a\x88\x66\x9c\x42\xfe\x30\xf9\x35\xee\x90\x82\xe7\xa6\xd9\x1a\xe1\x45\xd6\x74\x88\x97\x95\x65\x95\xf4\xe1\x92\xd0\x70\xe7\x80\xf7\x21\x65\x32\x34\x7f\x1a\x81\xb1\xf7\xe9\xf0\xc7\xd0\xb5\x14\x0b\x8c\xcd\xd2\x3c\x4e\x6c\xba\x1e\x8c\xfb\xc7\x5c\x61\xe4\x7f\x62\x9a\x53\x69\xaf\x42\x11\xaf\xce\x5e\x93\x75\x5c\x0d\xb8\x97\x27\xef\x50\xcf\x01\xd9\x84\x35\xcf\x73\xdd\x11\x70\x70\xb6\xb1\xe3\x9e\x25\x38\x62\x5b\x7e\x8d\x8e\x35\x77\x8f\xf3\x3a\x74\xb5\x1a\xed\x45\xcf\x43\x04\x04\xf8\x4f\xf8\x94\x92\x15\x63\x01\xcb\x83\x1f\x6c\x0a\x9a\xa0\xd4\xa9\xb1\xd2\x47\x19\x9f\x43\x12\x36\xb3\x93\x4d\x38\x1d\xe5\x9f\xc8\x84\x6e\xf1\xb9\xde\x00\xcf\xfd\x36\x63\xef\xc9\xb4\x8e\x3e\x89\x50\xa8\xbb\xd8\x18\x9b\x7a\xe1\x0c\x14\x59\xa0\x47\x71\xc4\x07\xe3\x52\xbd\xb9\x2d\x87\x3d\xe7\x15\xe3\xb6\x31\x85\x36\x46\xaf\x30\x74\x33\x1e\xf3\xbe\x38\xa0\x5f\xbf\x98\xe1\x80\xcb\x4f\x34\x83\x18\x01\xe4\x63\xc0\xf8\x72\xf2\x89\xce\xf5\x26\x30\x7e\x99\x54\xbb\x70\xa1\xdb\x62\x61\xce\x98\x8a\x93\xc6\xbf\x08\xdb\x67\xc2\x55\x8e\x57\x76\x90\x85\x4a\x19\xe6\xdd\x7b\xac\xa9\x56\x2a\xc8\x97\xcd\x84\x49\x7c\x38\x53\x8e\x9b\xf4\x21\x05\x91\xc9\x78\x4d\xac\x1c\x33\x92\xa5\x14\x18\x82\xa9\xa6\xdb\xdf\x38\x2f\x7e\x4c\x27\xad\xb7\xb0\x73\x2f\x65\x63\xa9\x72\x06\x97\x24\x95\x2b\x62\xc8\x51\xc6\x47\x66\xe6\xe6\xb8\x30\xa5\xc6\x11\x9e\x16\x9d\x67\x53\xaa\xda\x0e\x41\x3b\x9a\x26\x21\xfb\xbd\x13\xb2\x4a\x44\x7d\x9c\x42\xe7\x9f\x6d\xc6\x1c\x17\x57\x6a\x0b\x62\xa0\xf3\x25\x72\x4b\xc7\x23\xf5\x1b\xca\x93\x99\x35\x59\x26\x5a\x53\x39\x9d\x25\x50\x39\x1e\xd7\x0b\x21\x41\x6a\x4b\x58\x38\x44\x27\xc4\x85\x38\x4c\x43\xf1\x46\x2a\x79\x16\x14\xa7\xa4\xc5\x9e\x8f\x85\x48\xd8\x34\xbe\x15\x09\x8b\x44\x92\x73\x36\x99\x25\x79\x3c\x4d\x62\x3c\xac\xe3\x54\x1f\xd7\x4a\xec\x46\x42\xe1\x2f\x04\x91\x3b\x10\x6a\x2a\xe0\xec\x23\x4c\x22\x44\x44\x65\x9b\xf5\x84\xd0\x62\x65\x3e\xed\xee\xee\x8e\xa4\x6c\x8f\x92\x5d\xf5\x67\x91\xa4\x7f\xb3\x98\x02\x20\x9f\xf4\x47\xef\x6c\xcf\x7a\xb4\x1d\x1c\xad\xa9\x00\xea\x93\x05\x60\x8e\x7a\x07\x42\x8c\xbc\xf1\xc0\xe9\xaf\x29\x64\x0c\x7b\xc8\x24\x0c\x43\xd3\x85\x5f\x11\x34\x56\x3d\x3a\xb8\x51\xa8\x2f\xae\xcf\x40\x29\xa8\xc1\x6b\x89\x01\x4a\xd1\x4a\x2c\x8a\x2c\x13\x24\x25\x61\x22\x1c\xb8\xe9\x01\x60\xdf\x66\x72\x7e\xa4\xd4\xd9\x2c\x29\x30\x00\x33\x9d\x43\x36\x9a\x09\x55\x8a\xa9\x30\x85\x73\x33\x53\x84\x19\x24\x4d\x4d\xe1\xb8\xcb\x70\x75\xbd\x49\xd0\x87\x3d\xf3\x1d\xec\xb9\xd3\x5b\x8d\xbf\xc7\x61\x8f\x9f\xc6\x82\xf2\x86\x0a\x36\xc8\xb3\xa4\x75\xc3\xae\xc5\xa2\x50\xed\x9a\xf6\xda\x94\x2b\x4a\x03\xe5\xf5\x94\x67\xc9\xc7\x53\xfd\x22\xc8\x86\x8c\xd1\x28\xf1\x4d\x69\x9f\x9b\x82\xa4\xc5\xfd\x7d\xa4\x51\x3e\x30\xba\x63\x0e\x16\x16\x5b\xfe\x7f\xcc\xd3\x28\xf1\xcb\xa0\xe2\x73\xe5\x31\x2d\x78\xee\xaa\xeb\x17\x5e\xbc\x3c\x7e\xf1\xe1\xc7\xcf\x6e\x84\x5f\xac\x20\x7f\x9a\xc9\xdb\x85\x8b\xd6\xc6\xd4\x30\xa5\xfc\xb3\xf3\x71\x3c\x18\x23\xa3\x53\x39\x68\x37\xc7\x68\x68\x9a\xf3\xe4\x1a\x62\xbb\x50\xa6\xd5\x87\x1f\x08\x56\x26\x05\xa2\x33\x24\x19\x19\x00\x53\xaa\x48\x08\xe7\x33\x80\x07\x72\x22\xc8\x39\xb3\x28\x8d\x14\xcf\xbd\x2f\x44\x0c\x20\x37\x68\x7a\x44\xdb\x7c\xb9\x80\xb4\x5f\xaa\xb8\x2c\x72\xb4\xab\xf5\xa4\xf6\xbd\x97\x48\xde\x3d\x84\x50\x3c\xfb\x57\x61\x23\x12\x6f\x2a\xd6\x65\xcd\xab\xc4\x63\xa4\x21\xf3\x61\xac\x20\x27\x54\x5f\xf8\x19\xf5\x32\xa8\x33\xbf\xb0\x95\x69\x50\x8e\xa5\x76\xa1\xbc\xcb\xd3\xc1\x58\x66\x08\x8d\xd6\x71\x28\x07\x33\xba\xd2\xc4\xfa\xa6\x69\x0e\x55\x7d\x9b\x9c\xf1\x8c\xa7\x39\xc5\x9a\xf6\x05\x4b\x84\x52\xad\x7c\xcc\xd3\x96\xcc\x5a\xe2\x6f\x33\x9e\xb4\x72\x89\xd0\xf0\x96\x35\x34\xd1\xca\x67\x86\x59\xe0\xdb\xd7\x43\xbc\x02\xc9\x94\xea\x5e\x2b\x57\x47\x07\x2e\x48\x8a\x14\xba\x14\xf6\x70\x06\x25\x91\x5f\x07\x82\x03\x42\xf2\xe8\x2d\x2b\x0b\xf3\x26\x5d\x6f\x05\x54\xbd\x83\x0a\x1b\xd2\xbd\xae\xe0\x2f\x4b\x56\xc9\x4f\xed\xf4\x4f\xb9\x46\x23\xb8\x1c\x66\x1b\x2c\x93\x99\xfe\x3f\xff\x42\x61\x47\xd5\xcb\x44\xa7\x9a\x85\x70\xef\x20\xa0\x3f\xef\xb0\x82\xd3\x11\x8c\x82\xab\x00\x95\x86\x0a\xb1\x8a\x9c\x4d\x65\xac\x65\x0c\x2f\x75\x34\x95\xfb\x28\xf5\x73\x64\xe7\x56\x51\xfd\x07\x33\x3d\x73\x96\xc4\x0a\x16\xc2\xdc\x01\x4c\xfd\x73\x2f\x63\xb1\x2b\x71\xe5\x6e\x0a\x7a\xfd\x34\x98\xd8\x38\xa8\xf3\xc1\x00\x6a\x51\x8f\xb0\xe4\x44\x24\xa6\xf9\xb8\x85\xaf\x50\x37\x6a\xb8\xa4\x31\xae\x3a\x6f\xd7\xd4\x45\x5c\x8f\xe3\x24\xca\x04\x54\xae\x71\x2e\xb0\xab\x58\xa1\x67\x4c\xd2\x1c\xfc\x95\xcd\xcc\xef\xf3\x48\xb4\x06\x03\xd3\x6d\x62\x1f\x87\xd9\xa2\x14\x58\x87\x0d\x8a\xc9\xfd\x97\xf8\xcf\x1a\x28\x6d\xa8\x8b\x75\x32\xa4\x06\xf7\x9c\xe6\xbf\xe0\x19\x1b\x7a\xde\x96\xfc\x02\x1a\x41\x0c\x04\x84\xc3\xc1\x2a\x86\x93\x22\x2b\xb9\x9d\xc2\x73\xcf\x82\x9f\xdd\x34\x8a\x46\xf2\xec\x26\x88\x01\x4a\x57\xe5\x76\x5f\x61\x0e\xef\x2d\xd2\xc1\x38\x93\xa9\xbe\x4a\x82\xee\xc1\x9c\xb0\x20\x40\x7b\x32\x8f\xa6\x0e\x9f\x19\x05\xc5\x60\xb8\xde\xcb\xad\x39\x5f\x80\xa0\x8b\xf0\x20\x75\x54\xd3\x52\x56\x61\x67\xba\xcc\xdb\x18\xc4\x89\xdd\x36\x41\xc7\x02\x69\xef\x60\x0b\x68\x88\x3c\xdb\x92\x56\xf4\x10\xaa\xd3\x12\x2b\x91\x0c\x09\xf9\xbe\x08\x19\xc9\x49\x59\xc4\x18\x73\xb8\x48\xea\x11\x40\x81\x1d\x90\xc2\xb5\x70\x80\x1b\x49\x8b\x08\xb4\x3b\xe2\xd4\x09\xdb\x46\x9c\x32\x79\xd7\x4c\x36\x81\x61\x3c\xb2\xd9\x90\xe4\x2c\xc7\xcb\x8f\x77\x03\xb2\x79\x0b\x83\xb2\x3f\xfa\x6a\x83\x97\x3b\xab\x9c\xda\x41\xce\xbd\x63\x33\xce\x18\x29\xc5\x81\xc0\x16\x40\x58\xf5\x86\xcb\x91\x3f\xf4\x8f\x22\x6c\x73\x26\xe7\xcf\x0b\xaf\xc9\xdf\xcf\x53\x48\x43\x4b\x17\x26\xe3\x9a\x5a\x03\x7a\xb1\xb1\x9f\x39\x0a\x9a\x5b\xd6\x0a\x67\x4c\xd8\x2b\xd9\xaf\x03\x30\xd0\xac\xd0\xa5\xf0\x2c\xf6\x85\x96\xae\x3f\x97\x10\x68\x2b\x9c\x02\x94\x55\x28\x85\x06\xab\x31\x5a\x31\xb5\x6a\x84\x56\x4d\x6e\x19\x3e\x0b\xd3\x2b\xa2\xb3\x6a\x15\xab\xf0\x59\xb9\x86\xd5\x08\x2d\xae\xa0\x2d\x4e\xe2\x2b\x80\x8a\x72\x68\x7b\x24\x72\x13\xb5\x55\x6f\x40\xd5\x79\xab\x0d\xf2\x54\x62\x25\x51\xa8\xfa\xe4\x5d\x71\x96\x56\x1e\x7f\xce\x75\x80\xfd\xf6\x9b\x37\x15\xaf\x55\x98\xcb\xd9\x7b\x51\x69\xa1\xb7\x68\x5d\x81\x44\xe7\xe9\x4e\x4d\xbf\xfd\x96\xdd\xab\xd7\x8c\xd4\x04\x46\x02\xfb\xd2\xba\x34\xfa\x90\xed\xef\x52\xdc\x85\xe7\x7f\x4f\xdf\x57\x57\xd1\xe9\x15\xc4\x39\x94\x8c\x72\xa3\xc5\x85\xd4\x2b\xe6\x9a\x03\xd5\x75\x2a\xec\x80\x55\xf3\xb3\xbe\x62\xd5\xe9\x56\xd0\x7a\x87\xd4\xbe\x9c\xb2\x09\x41\xb6\x61\x05\x7e\xcc\x3b\x8b\x1e\x0f\xaa\xf9\xb9\x14\x39\xf6\xe3\x75\xb8\x81\x86\xbf\x0f\x35\x76\x62\x6b\x30\x03\xa5\x02\xec\xb2\x5a\x09\xfa\x7b\x37\x1b\xf3\x2c\x24\x08\xe2\x2c\x40\x80\x5e\xb4\x66\x05\xa8\x1f\x96\x83\xf2\x79\x54\x11\x52\xc5\x54\x20\xa1\x46\xc5\xe2\xfb\x82\x50\x35\x5b\x60\xdf\x57\x73\x28\x27\xe6\x14\x66\xc5\xca\xbe\x7e\xe1\x60\xad\x1c\x53\x4c\x91\x7d\x1e\xc8\xc9\xc0\x3f\x50\x86\x15\xfa\xce\x1f\x87\xa9\x26\xe8\xee\xa2\xd2\x5a\xee\xf9\x2d\x72\x48\xec\x03\xd0\x60\xd5\xbd\x5a\x2a\x2e\x7d\x15\x70\x7c\x3f\x2e\xb5\x20\x9a\x59\xea\xb0\x4b\xd2\x64\x17\x55\xd8\x6b\x56\x51\xcd\x55\xc3\x13\x11\xef\xd9\xbe\x8c\x48\x87\x15\x65\x52\x31\x67\xc7\x48\xbb\x1f\x52\x71\x3b\xc5\xeb\x10\x50\x33\x08\x55\xa0\xfa\xb5\xb0\x6b\x3e\x48\x6f\xf4\xab\xd7\xf4\xae\x2b\xe3\xa7\x34\x09\xd9\x72\x05\x89\xde\x3b\x28\xd3\x28\x8a\x9c\x46\xe6\x3c\xd7\x92\x28\x67\x51\x7c\x63\x0a\x95\xc4\xaa\x6c\x50\xa8\x16\xf8\xfc\xc4\x1a\x90\x9f\x54\xf8\xa2\x5e\x14\xdf\x78\x9a\x12\xd2\x77\x45\xf1\x8d\x3b\x83\xe2\x61\xc6\x27\x82\x1e\x57\xc6\x1b\x53\x25\xde\x7a\x0d\x9b\x7a\x05\x49\xe9\x5b\xca\x77\x3a\x50\x8a\xbc\x5c\x0c\x79\xd4\xfa\x90\x9d\xa8\xcb\xf6\x9e\x3b\x8e\x52\x43\xe5\x63\x97\x75\xf6\xf6\xfe\xdd\x7f\x6e\x7c\x33\xbb\x8c\xf7\x95\x4c\x66\xb9\xf0\xdf\x82\x62\x11\x3f\x72\xd9\xba\x4d\x61\x26\x1c\x08\x53\xd9\x40\xcb\x96\xff\xa6\x09\xfb\xd5\xab\x36\xf3\x32\xca\x5b\x2d\x3a\xce\x41\xe1\xf7\x89\xe4\x11\xea\x7c\x35\xc5\x0b\x85\x1f\xb2\x38\xf7\xab\xf1\xe6\xae\x68\xac\xb9\xba\x61\x7f\x26\xf4\xbe\x36\x91\xbf\xbc\x4e\x53\x91\xa1\x7d\xe0\xcf\xc0\xcb\xe7\x71\x1a\x69\x66\xac\xbb\x21\xf9\x8a\x6b\xd8\x70\xd1\x47\x7b\x69\xbe\xf8\x86\xb1\x22\x2a\x33\x2d\xaa\xd7\xfe\x0d\x1d\x8b\xf4\x92\xf8\x61\xdc\x7e\xd3\x46\x69\x0d\xdb\x34\xca\x4f\xd0\x75\x9b\x47\xd1\xb1\x9e\xda\xdb\x58\xe5\x02\x92\x35\xa0\x32\xb6\xb6\xad\x27\x18\xaa\x2e\xd3\x33\xf8\xfa\x73\xbb\x1f\xa7\x38\x92\x86\xab\x5d\x13\xc9\x81\xe1\x14\xbe\x02\xb5\x6a\x74\x86\xba\x34\x15\x45\x72\xd0\xee\xcb\x68\xb1\x9c\x82\x26\x3c\x1b\xc5\x69\x97\xed\x4d\x6f\x03\x5a\x41\x33\x70\xe9\xf9\x32\xda\xf2\xa8\xc7\x7f\x6c\xfc\x94\xbb\x6c\x1c\x47\x91\x48\xfd\x77\xad\xb9\xe8\x5f\xc7\x79\x6b\xa6\x44\xd6\x42\x26\xd2\x85\xfb\x7b\xd0\x68\x22\x7f\xa9\x6a\xd1\xf0\xbc\x1b\x17\x89\xde\x92\x7a\xaa\x85\xfd\x04\xaf\x70\x3b\xb9\x2c\xc3\x5e\xee\x0b\xb0\x2e\xb3\x5f\xbf\xd4\x0c\xaa\xc6\x82\x47\x01\x3d\xc0\x67\x1e\x21\x14\xf4\xf7\xfa\x1b\x68\xd2\x1b\x0b\x91\xab\x8b\xbd\x2b\x8d\x62\xfd\x56\x41\x1d\xf0\x8a\xaf\x68\x25\x8c\x65\xfa\x80\xd5\xfa\x89\x1c\x5c\xd7\x5c\x1f\x7a\xb6\x47\x4a\xbd\x8d\xd3\xeb\xcf\xd5\xf3\x4a\xe2\xf4\xda\xe3\x12\xfe\x07\x85\x32\x9f\x99\x48\x6a\x4d\x86\x88\x50\x7a\x8c\x6e\x6b\x9f\x9f\xbc\x3c\xa9\xeb\xb5\x8f\x78\xa3\xcb\x7a\x32\xcb\x16\x98\x86\x87\xd5\x50\xe9\xff\xb9\x46\x47\x9b\x3d\xf2\xf2\x31\x14\x6f\x50\x41\x12\x32\x84\x06\x29\x55\xc8\xe1\xe0\xaf\xaa\xcd\xd8\x6b\x9b\xcd\x6f\x1a\x0f\xae\x19\x67\x7d\x01\x19\xf4\xc1\xae\x3f\x94\x99\xcb\x07\x2e\x26\xa0\xe4\xb9\x91\x71\xe4\xae\xb5\x03\x99\x24\xb1\x0a\x4c\x67\x38\xa8\x6a\x8c\xdc\xb6\xf0\xb5\x87\x15\x6a\x5f\x44\x88\x4c\x84\xc6\x88\xa6\x84\xbe\xbc\x5d\xdb\x3e\xe7\x7d\xd0\xc9\xe8\x6f\x5a\x9d\xaa\xe6\xcb\x36\x16\xad\x70\x97\xc1\xfa\xfa\x34\x3d\x94\x69\xde\x1a\xf2\x49\x9c\x2c\xba\x6c\x22\x53\x09\xb9\x5b\x4a\x2d\x34\x33\xe8\xb2\xce\xa3\xcd\x36\xa0\xd9\x69\xad\x45\x97\x54\xf4\xcf\x6d\x94\x40\xeb\xb6\x6a\xff\x41\x46\xc5\x16\xf4\xdd\x65\xd3\x6c\xd9\x61\x10\x74\x32\xcb\xf5\x31\x8c\x9b\x90\xdd\x8b\x27\x53\x99\xe5\x3c\x35\x54\x65\xb9\x4d\x89\xa5\x12\xb6\xfc\xab\x19\xe1\xaf\xcc\x44\x71\xf4\xb5\xa6\x61\x8b\x78\x16\x17\xd8\xe2\x5a\x28\x60\x74\x04\x9b\x63\x11\x12\xd8\x14\xb7\x04\x67\x10\xf0\xf2\xe4\xdd\x3b\x0d\xb8\x57\x39\xc6\xbb\x40\xae\x0d\xe4\x74\xe1\x00\x1d\xc9\xe9\x62\x5b\x08\x60\x95\x73\x20\xc0\x16\x57\x3e\x45\xdc\xe2\x94\x00\x5c\x8b\x45\x24\xe7\xa9\x03\xf1\x42\x46\x8b\x37\x62\xf1\x52\xce\xd3\x32\x20\xcf\x86\x0e\x59\x2e\x79\x9c\x7a\x09\x29\x8d\x21\x0d\x0d\x94\x19\x95\x44\x32\x0e\x2a\xa0\xa4\x5c\xb2\x87\xa3\xf8\xc6\xdb\x5f\xb6\xf1\x5d\x76\x98\x93\x74\x60\x18\xbf\xeb\x44\x82\x82\xed\x2b\x4f\x24\x6c\x51\xb1\x52\xc5\x5d\x60\xe7\xe4\x10\x69\xb3\x7c\x9a\xb4\xef\x72\x38\x24\x9b\x2b\xf8\x30\x90\x0b\x06\xb2\xc4\xe9\x02\x65\x29\x67\x06\x95\x53\xbc\x76\xbe\xe0\xa3\xe5\x9c\x11\x5a\xb4\xfa\x7c\xe4\x8d\x31\xf8\xf2\x2e\x28\x5e\x85\xc7\x32\x67\xf1\x36\x7e\x5f\xe6\xb9\x9c\x04\xc3\xae\x18\x91\x2b\xe2\xe7\x55\x61\x01\x7b\x42\xdf\xe4\x57\xcc\xe5\x94\x0d\x35\xca\x38\xe4\xf9\x4f\xc8\xac\x8f\xf0\xe9\x4d\x26\x68\x78\xe8\x8d\x08\xae\x83\xdf\x50\x39\x8a\x64\x81\x4a\x3a\x83\x79\x70\xdf\x02\x15\x1d\x0f\xeb\x2c\x78\x17\x42\x7d\xdf\x03\x1f\x47\xd4\x51\x27\x0b\x72\xb6\xf0\x3d\xfd\xcc\xd8\x64\x66\xc6\x42\x60\xac\x57\xa3\xb1\xaf\x98\x79\xbf\x92\x49\xb4\x74\xf9\xf4\x44\xc2\x85\x83\xe6\xa5\x35\x2b\xad\x55\xc5\x56\x2a\x51\xa4\x81\x56\x5a\x1f\x33\xa4\xb0\xcf\x60\x55\xd6\x43\xf7\x40\x85\xac\x03\xd7\x04\xee\x63\x7c\x00\x6e\x2e\xca\x32\x0e\x28\x3b\x3f\xe0\x09\xa6\x4a\x23\x27\x0b\x57\xc7\x24\x55\xb3\x09\x38\xc3\x20\x38\x9e\x24\xce\xa1\x8f\xae\xe7\xfd\xd9\x70\x28\x32\xb2\x7a\x2d\x30\x97\x1c\xe1\x1e\x0c\x94\x35\x05\x75\x7c\xd0\x45\x44\x39\xaf\x29\xe7\x64\xa1\xe5\x91\xe9\x54\xf0\xcc\xb8\x41\x38\x01\x03\x2b\xa2\xc4\x98\xe7\xb3\xaa\xdc\x97\xbe\x08\x15\x7d\x61\x34\xcc\x58\x61\xed\x1f\x5f\x13\x8f\xe9\x61\x95\xc8\x59\x0d\x06\x18\x27\x71\xbe\x30\x3b\xaa\xa6\x87\x71\x2d\x04\xe6\x95\xed\xeb\x19\x6a\xfe\x0a\xd5\x78\x20\xd7\x9d\x97\x2a\x19\xc1\xc5\xd6\xe7\xc9\x51\x2c\x3a\x8c\xa2\xc7\x54\x0d\xbc\x99\xf0\x9d\xaa\xb1\xd9\x74\xce\xb3\x48\xb1\x3a\x3c\x06\x5e\x2e\xd1\x97\x85\xf0\xe1\xdc\x62\xc9\xa9\x86\xfb\xc2\x60\x3c\x11\x8d\x36\x63\x9f\xd0\x75\x14\x88\xa1\x59\xe8\x7c\x24\x72\xba\x08\x52\xe1\xed\xf9\x98\x0f\xae\xdb\xa1\x63\xc1\x61\x26\xf8\x46\x47\x82\xd7\xbc\x4c\xfd\x15\xf8\x5b\xcf\x90\x3d\x88\x21\x81\xaa\x9b\x91\x8d\x08\x36\xca\xfc\x0a\xc7\x37\xb3\x28\xb1\x62\xbf\x48\x39\xb1\x06\xf0\x99\xca\xa1\x00\x2b\xf8\xe2\x61\xa5\x07\x53\x51\x6d\xa6\x45\x67\xa9\x72\x6b\xb8\x41\x0f\x49\xe3\xae\xc3\xb1\x1e\x49\xdf\xfa\xb0\xb6\xab\xa4\x75\x34\xc7\x3b\x3f\x70\x90\xc7\x59\x2a\x94\x51\x35\xa6\xe6\xc6\x0e\x3e\xd7\xa9\xcc\x0d\x38\xc3\xb1\x68\x26\x66\x02\x7a\xf4\x2c\x11\x37\x22\xc1\x0c\x88\xe4\xef\x03\x36\x27\xe3\xdc\x66\x45\x78\xd0\x1d\x04\xa2\xf9\x8d\x63\xe3\x51\x7c\x53\x9d\x55\x8d\x16\xf5\x7d\xcf\x1e\x2e\xe4\xfe\x35\x9f\xcf\xdb\xf3\x07\x6d\x99\x8d\x76\xf7\xf7\xf6\xf6\x76\xd5\xcd\x08\xee\x2c\x37\xfe\x79\xa5\xbb\x28\x88\xe6\xb7\x93\x24\x55\xe8\xa0\xbf\x14\xce\x4a\x00\x37\x22\xd3\x37\x0c\x0d\xa2\xd3\xee\x94\xda\x2e\x3b\x13\x57\xab\x51\x72\x39\x2d\xa8\x63\x12\x31\xcc\x0b\x8f\x2a\x88\x55\xd3\x9f\xad\x90\xa6\x44\x1a\x91\x1a\xd9\x68\xab\x0c\x35\xfe\x15\x69\x0b\x0a\x90\x71\x74\xc8\x62\x63\x20\x6c\xe5\x95\x5e\x42\x48\x03\x3e\xcd\x67\x54\x88\x17\x5a\x46\x2e\x63\xf5\x10\x53\xfb\x6a\x9e\x41\x01\x9a\x72\x22\xb4\x54\x3f\x1f\xcb\xff\x9f\xbd\xbf\xef\x72\xe3\xb6\xf2\xc4\xf1\xff\xf5\x2a\x60\xef\x8e\x48\x5a\x24\xbb\xe5\xd9\xec\x26\x6a\x77\xe6\x48\x2d\x69\xa3\x5f\x24\xcb\x47\xdd\xb6\x33\xe3\x78\x35\x60\x15\xc8\xae\x74\xb1\x50\x53\x28\x36\x9b\x1e\x6b\x5f\xfb\xef\xe0\x5e\x3c\x5c\xa0\x50\xc5\x6a\x59\x4e\x32\xd9\xaf\xcf\x9c\x89\x9a\x05\x5c\x3c\x5d\x00\x17\xf7\xe1\x73\x21\xcb\xb6\x97\xdb\xa0\xea\x15\x6f\x36\x88\x4f\x97\xd8\xa7\x9a\x2a\x6f\x04\x27\x73\x48\x2b\x8d\x7d\x53\x85\x75\x92\xf3\x3f\x34\xfb\xfe\x6d\x44\x9e\x4c\xee\x29\x43\x7f\x33\x4b\x52\xdf\x9d\x39\x4d\xfc\x04\x2f\xab\x50\xe1\x31\x91\x35\xcf\x60\x95\x4e\xfb\xba\x69\x94\x2e\x2f\xf2\xa2\x05\x8f\x70\xe2\x2f\x38\x7c\xf6\x50\x2a\x3d\xb4\x7b\x9f\x21\x7a\xbe\x5f\x55\xf5\xae\xb5\x22\x3b\xfa\xc7\x7d\xe3\x2b\x5f\xd9\x12\x5d\xf9\x1d\x6f\x6d\xe3\x36\x18\x9a\xe6\x8d\xf3\x2c\xf8\xe6\xb8\x37\xaa\x61\x17\xfd\x22\xdd\x4a\x89\x3a\x00\xbc\xac\x5d\x8c\x43\x6d\xd4\xa7\xd4\x6f\xcd\x22\xc7\xe9\x9a\x2f\x91\xd0\x77\xbc\xdc\x39\xef\x8c\x8b\xcb\xcb\xe0\x29\x0c\xd7\x9d\xbe\x7e\x2c\x6d\xeb\x47\x4f\x9a\x60\xec\xd2\x3b\xfd\xfa\xa7\x33\xb4\xb1\x4c\x35\x2e\xeb\xf6\xbd\xef\xf5\x5b\xc8\x9e\xce\x4b\x76\x0b\x1d\xd1\x0d\x39\x99\x3f\x1c\x20\x86\x1c\xe8\xff\x9e\x8b\x35\xdf\x95\xe8\xf7\xec\x00\x42\x4d\x66\x41\x83\xae\xe6\x20\x13\x8f\x6a\x90\x95\x68\x5f\xfa\xe9\x20\x6a\x64\x3f\x49\xf3\xb0\xcf\xa1\x1b\x1e\xd1\x38\xac\x03\x3a\xee\x0f\x1b\x58\x96\x20\x92\x24\x83\xa3\xd7\x9d\xba\x74\xd3\x74\x1e\x76\xe1\x2c\x36\x93\x8c\x26\x83\xe0\xb2\x5e\x93\xaf\x0e\x55\x76\x41\x63\x09\x2c\xff\x0d\x4c\xd9\xa6\x6f\xca\x70\x50\x14\x0f\xa2\x6f\x82\x22\x1e\x6f\x19\xb7\x81\x26\x5e\x2f\x46\xd3\x4e\x78\x79\x2e\x62\x6d\xca\x0b\xd5\xae\x2c\xe7\x70\x07\x23\x48\x88\x25\x99\x29\x78\x19\x97\x92\xe7\x20\x0e\xe8\xf6\x8a\x16\xf2\xeb\xd9\x6a\x4c\x36\x10\x8a\x72\x2d\x42\x76\x02\xd8\x12\xcc\xa9\xeb\x3c\xf8\xf5\xf6\xab\xeb\xb2\x10\x39\x69\x60\x0c\x9f\x7d\x8b\x4a\x41\x3a\x63\xbb\xa6\xf4\xe1\xef\xee\x8f\xe3\x4a\xc4\xeb\x46\xac\x27\x73\xa6\x6b\x50\xb3\x52\xb7\x9a\xb7\x9c\x7a\x4b\x13\x55\x58\x77\xf5\xab\x1d\x1a\x34\x6f\xad\x33\x9f\xf7\x35\x42\xfb\x1f\x35\x42\x31\x52\x7b\x1a\x39\xc6\x79\x78\xff\x76\x38\x2e\x50\xb9\x43\x99\x69\xf7\xe9\xef\x7e\x1f\xc3\xdd\x8d\x20\x59\xec\xee\xc3\xe2\x90\xa2\xf1\x68\x1b\x6a\xb0\x0d\xa0\xd1\x7b\xca\x64\xa6\xf8\xb8\x96\x36\xa2\x7d\x16\xe6\xe4\xbb\xcf\x68\xa2\x74\x7e\x63\xc6\x35\xd0\xda\xf0\xb8\x56\x9d\x8a\xa3\xe7\xd2\xb7\xf9\x6a\xcb\x37\x81\x31\xb0\xd0\x3f\x8c\x68\xd3\x56\x84\xf2\xf7\x6b\xd3\x44\x60\x79\x87\xed\xe2\xa7\x31\x2d\x9a\x6a\xba\xf4\xfd\xda\x23\x30\x0a\xae\xcd\x10\xac\x68\xb0\x5d\x52\xdd\xd6\x1a\xd3\xfe\x45\x10\x53\xe0\x96\xd4\xfd\x4a\x5a\x0e\xc2\x0f\xfc\x1f\x31\x80\xae\x09\x1b\x02\x11\x0d\x62\xde\xac\x6a\xc7\xc7\x86\x84\x11\x9a\x57\x2e\x35\xb1\x7b\x42\xd9\xfb\x21\x7c\xd7\x43\xa1\xa3\x27\xf2\x46\x98\xe0\xa6\x78\x01\x89\xaf\x20\x7e\x41\x22\x1b\xd1\x5e\x94\x85\x7e\x12\xea\x6b\x32\xd2\xa1\xbb\x5d\x84\xe7\x9f\x15\x7b\x21\xdc\x0a\xff\x40\x0b\xa4\x11\x7d\xe1\x77\x9b\x3e\x7e\x28\x3a\x44\x9f\x8a\x43\x13\x17\xa6\x6a\xee\x9f\x39\x9b\x0d\xaf\xc8\x37\x80\x98\xe8\x73\x62\x7c\xf4\xb4\x59\xb8\xaa\x81\xd3\x24\x98\xe2\xe9\xcc\x8c\x78\x68\x3c\x3e\x4a\xa7\x77\x40\xe3\x7a\x87\x21\x56\xf7\xeb\x1e\x36\x9e\x40\x8a\x0a\xdc\x3a\xcd\xfb\x5e\x96\xb9\xea\x06\x7a\xdb\x70\xf9\x7b\x7b\x32\x10\xef\xb9\xe1\x4e\xbb\x5b\xb5\x17\xd1\xca\x2a\xc6\xdc\x03\x35\xea\xf0\x2f\xee\x28\x4e\x9a\x71\x95\x39\x7e\x99\x04\x1d\xbd\x28\x41\x87\xb7\x6b\x21\x95\x18\xe4\xcc\xce\x6d\x50\xe5\x71\x29\xaa\x11\xfa\x28\x82\x44\xdb\x69\x29\x60\x30\xac\x73\x44\xa8\x25\xed\xe9\x35\x22\x60\x11\xff\x67\x12\xc0\x1b\x6c\x2d\x38\x8f\xc0\x7d\xc2\xc5\x03\x62\x36\x70\x88\x5f\x87\xf8\x4b\x6e\x02\x3f\xe3\x37\xd9\x5b\xf0\x34\xbe\x57\x50\xb3\x5d\x43\xfb\x1e\xb2\x50\x04\xf7\x5e\x4a\x25\x5a\x1a\x0b\x3e\x14\xf1\x6c\x5f\xa8\x66\xf6\x43\x65\x73\x6f\x8c\xb3\xbb\x8a\xae\x45\xbe\x2b\xc5\x3b\x98\x81\xe8\x85\xfb\xaa\x5a\xcb\x66\x1b\xa3\x1c\x38\xbf\xdc\x46\xca\x96\xc4\x2e\x00\x5e\x83\xdc\x42\xd2\x23\x88\xb9\x0f\xf4\xf8\x9a\x9e\xc3\x5b\xa8\x24\x2b\x65\xb5\x11\x8d\x7e\x5b\x16\x0e\xc3\xe1\x92\xa4\xb7\x33\xd6\x75\x92\x94\x9b\x23\x80\xc1\xba\x3b\x36\x00\x9b\x42\x8e\x99\xce\x58\x25\xf7\xd0\x98\xd9\x76\xfa\x19\x5a\xb5\x45\x23\xca\x03\x84\xf3\x0b\x9f\xd2\x18\x22\x38\x8a\x96\xe5\x45\x6e\x94\x44\xa8\x91\xb4\x68\x02\x9a\x4c\xe5\xa3\x6a\x68\x0f\x02\x1f\x1c\xef\xab\xe8\xb2\xc2\x23\xd4\x04\xb2\x04\x46\x6b\x64\xc0\xb3\x79\xc0\x9c\xea\xa6\xa8\x95\x99\x34\xa4\xea\xc0\x03\x80\xec\x5a\xbf\x7f\x90\x39\xd1\x7b\xce\x4c\x87\xbe\x5f\x57\x18\x32\x0e\x81\x20\x06\x49\x80\x61\x42\xbd\xe8\x78\xbe\xe6\x8a\xad\x20\x2c\xd1\xd8\x5d\x00\xf0\xdc\x69\x65\x7d\xec\xec\x35\x57\x51\x47\x07\x59\xb4\xa8\x60\xf1\x22\x17\xaf\x74\xce\x24\x67\x13\x89\x62\x1f\x68\x3a\x21\x9b\xe6\x84\xda\x41\x28\x58\x63\x90\xc2\x32\x9d\x44\x85\xa0\xef\x1a\x6d\x5b\x5f\x3e\x14\x92\x09\x25\x0e\xc5\x18\x3c\x88\xec\x69\x75\x0b\x76\x8f\xfa\x9d\x0b\x3f\x77\xd7\xd6\x95\xff\x75\xea\xd0\x74\x70\x4c\x89\xd2\xcf\x82\x0f\x53\x42\x92\xa8\x9f\xf4\xfa\x7f\x87\xdb\xe8\x9d\xdc\xab\xf7\xb4\xd8\x3c\xa2\x7d\xfc\x15\x65\xb7\xfc\xab\x81\xf5\xf3\x99\xe4\x6c\xe8\x28\x59\xee\x34\x6c\x1a\x8d\xdd\x88\xe3\x4e\x43\x5e\x51\xa2\xbd\xc2\x2f\x53\xe7\xc1\x3f\xf5\x3e\x90\x26\x0f\x11\x38\xc1\xa7\x28\xd8\xc0\x1b\x28\xe0\x7f\x76\xee\x90\x88\xb9\x1c\x29\x31\xac\x96\x2e\x10\x67\xef\x77\x1e\x83\xbe\x26\x92\x47\xeb\xbb\x41\x95\x93\x29\x5e\xdf\xb1\x47\x6c\x52\xdf\x11\x1b\x4b\x9f\x6e\xa7\x2b\xdb\xd8\x0b\xee\x97\xf4\x7e\x93\xee\x7d\x20\x16\xd4\xbc\x51\xe2\x55\xd5\x4e\x07\xc6\x12\x76\xf2\x8d\xc1\xbe\x80\xf3\xc6\x74\xcc\x39\xf0\x7a\x14\x8b\xa2\xc2\xc8\xf8\x0e\x72\x08\x55\x3b\xee\x51\x26\xbc\xb2\xcb\x64\xfe\x6e\xa5\x05\xc1\x80\x43\x6b\x52\xc9\x66\xcb\xcb\x09\x2b\xd6\xf6\x86\x95\xdb\xa2\x35\x39\xde\x3c\x52\xad\x87\xdb\xf8\xc0\x9e\x46\x00\x1c\xe6\xfe\x3e\x3a\x67\xa6\xdd\x8b\x08\xcd\xc3\x4d\x9e\xef\x35\x41\x49\xc4\xab\x09\x20\x3a\x02\x7d\x8b\x43\xed\x88\xb4\x2f\x7d\x16\xbc\xa0\x5a\xaf\x71\xe5\x98\x79\x25\x65\x60\x49\x9a\x58\x92\x46\x96\xf0\xbb\x7d\x36\xf1\x5d\x2b\x89\x2f\x53\x58\xc8\x3c\xa1\x3a\x65\xac\x26\xcc\x64\xa1\xb7\xae\x6e\xc6\x9b\xd5\xc2\x4f\x70\xa6\x6a\x0e\xd6\x95\x2d\xbf\x21\x6c\x95\xf1\x32\xdb\x95\x10\xaf\x66\xa9\x84\x30\x3f\x45\xc5\x5e\x16\x8d\x58\xcb\xbb\x68\xea\x2e\x6b\x5e\x1d\x9f\x75\xdd\x6a\x77\xda\xa1\x6e\xe4\x03\x39\x9d\xfc\x29\xf1\x5f\x3a\x3c\xa1\xf3\xdf\x3f\x4e\xdd\x04\x8b\x76\xbd\x77\xdc\x1c\xda\xc5\xf7\x3f\x3f\xe3\x4a\x94\x45\x25\xee\xb7\x34\xc8\x3c\x7b\x5e\xb5\x88\x1f\x81\x21\x42\xd6\x24\x77\x2d\xd8\xca\x90\xed\x6b\xad\x7b\x30\x4f\x4e\xcd\xa1\x9c\x2e\x1f\x39\xc0\xfe\x29\x52\xd0\x13\x36\xf1\x94\xbf\xb7\x8f\x5b\x72\xaa\xfd\xfc\x33\x28\xf7\x47\xf8\x80\x98\xa3\xc3\xe1\xf9\x41\x0b\x47\x34\x1d\xf1\x4c\x13\xed\x48\x04\x3d\xe4\xc8\x99\xd7\xfe\x49\xb0\x84\x34\xd1\x2b\x06\xc6\x0e\x7b\x66\x7b\x6a\x78\x36\x50\x7b\xd9\x10\x53\xb8\xf9\x45\x57\x63\x4d\xc0\xae\x9c\xe5\x87\x68\x1d\x10\xfe\xf9\x4a\xd6\x67\x51\x03\x1d\xbd\x75\xa7\x81\xee\x9c\xa7\xeb\xd0\xb2\x09\xa3\x7c\x8f\x9f\xe6\xed\x86\x0c\xe2\x27\x29\xb7\x2f\x79\xd6\x82\x82\xd4\x5b\xc6\xa9\xb3\xc2\xd9\xb1\x26\x3a\x9d\x33\x4d\xf8\x6b\xda\x2b\x25\x93\x11\xc2\x31\x5a\x55\xf7\x2d\xdc\x88\xc5\x96\x5c\xdc\x2e\x0f\x6d\x08\x72\x05\x81\xe8\x39\x98\xcf\x3d\x42\x8b\x81\x4f\xe3\x15\x43\x5f\x70\x38\xa9\xdb\xec\xb8\x62\xaa\x23\xee\xf4\xa9\x08\xa2\x32\xf0\x63\xea\x22\x9e\x7a\x56\xd7\x2b\xed\x34\x4a\x5d\x2a\x86\x39\x63\x01\x2c\xe1\x64\x7e\x6d\x89\x78\x8a\x83\x0e\x80\x43\xe5\x63\xb7\xbd\xa1\x2a\x5d\x23\x33\x15\xc0\x11\x8a\x85\xe4\x55\xfe\x1e\xa3\x64\x27\x90\xf2\x73\xb5\xdb\x6c\x20\xad\x99\x60\x3c\xcf\x99\x89\x43\xb0\xb8\x6d\x9a\xa5\x1c\x0e\x13\xbc\x2e\xad\xbb\xa4\x25\x66\xd4\x50\xf8\x2a\xb7\x5e\x5f\x29\x33\x11\x09\x8b\x30\x8d\x5c\xc9\x9a\x9d\xbb\x03\xe2\x68\x71\x7c\xe8\x90\x1a\xff\x0c\x46\xbd\xe3\xcb\xf5\x21\x94\x8b\x95\xd0\xef\xf5\xad\xa8\x14\xe0\x46\x69\x3e\x25\x5a\x3e\xf3\x92\x6d\xa5\xf5\x94\x03\xad\x04\x37\x6f\x5a\x63\xab\xd4\x84\x08\x09\x23\x4e\x7b\xa7\xb5\x31\xaa\xae\x01\x1e\xee\xc5\x12\x8a\x4e\x70\x04\x39\x0d\x94\xd5\x6c\xd1\x35\x19\x67\xbe\xf0\x59\x60\x1b\x0e\xf1\xaa\x82\xa7\x85\x79\xb5\xaa\xe7\x6e\x94\xef\xc9\x8e\x49\x3d\xd5\xea\xdd\xaa\x2c\x94\x4b\x5c\xe9\x62\x73\xd8\x7f\x12\x08\x9b\x27\xa8\x93\xf9\x60\xef\x85\x68\xf8\xf8\x1f\x06\x4c\x43\x9d\x77\x72\x7f\x25\x71\xe1\xa7\xf0\x73\x42\x69\x03\xb8\x5a\xd3\x99\x83\x53\x70\x04\x62\xbd\x14\x7e\xfc\x90\x7e\xda\x39\x20\x7d\x70\xbf\x23\x8f\x24\x07\x25\x68\x59\x7d\xd4\x59\x95\x98\xbf\x1e\x2b\x04\xb5\x52\xa4\x14\xd7\x7e\xc9\x12\x88\x6e\xbe\xf6\xd2\x25\x2a\x8f\xca\x7a\x74\x37\x52\xf8\xda\x9f\x1c\x28\x14\x01\xc0\x9a\x13\x8d\x00\xb3\x8b\x5b\xe4\x19\x98\x82\x95\x30\x50\x73\x01\xb6\xa5\x6a\xf5\xc6\x73\x20\x68\x20\x82\x5b\xfc\x37\xeb\x1e\xb5\x2e\x25\xa4\x65\x3f\xb0\x35\x14\x96\x06\x06\x0c\x77\x9a\xf3\x7a\xba\x75\xea\x89\x0b\x93\xb3\x1a\x10\x62\x97\x6a\xcb\x9b\xf6\xa5\xa6\xf1\xbc\xd0\xeb\x6e\x19\xac\x33\x9a\x79\xff\x61\x40\x9c\x0d\x45\xc5\x32\xb9\xad\x77\xad\x88\x80\xc3\xe4\x4e\x3f\x34\x5b\xb1\x69\x78\xc9\xaa\xdd\x76\x25\x1a\x03\x0f\xa8\x2c\x3a\xb3\xef\xa2\x0a\xef\x8b\xb8\xef\x03\xe7\x52\xd0\x13\xb0\x3c\x18\x8d\x62\x26\xd8\x4a\xb4\x7b\x21\x02\xef\x56\xd3\x3f\x0e\x78\xd1\xad\x99\x38\xf3\xa3\x7e\x05\x29\xe7\x3d\xba\x12\x6c\xcb\x73\x70\x1f\x84\x13\x4b\x81\x53\x34\x86\x9b\xa1\x93\xa1\x7d\x35\x35\x22\x93\x4d\x8e\x3b\x11\x3d\x73\x94\x64\x45\x6b\x7d\xd8\x2a\xab\x18\x64\x25\x6f\x11\x7d\x2e\x17\xb8\xa8\xce\x11\xdc\xea\x8a\x12\xab\x77\x25\xeb\x37\xd0\xa8\xcd\x50\x15\x7d\xc7\xdd\xec\x8a\x74\x96\x91\x2d\xba\xf3\xec\xf7\x40\xe4\x8e\x8d\xc3\xb3\x37\x43\x7f\x57\xec\x65\xf0\xc0\x2b\xde\x34\x99\xb7\x41\xe2\xe2\x5e\x95\x63\x22\x7d\x68\x02\x58\x26\xa4\xf9\xa8\x73\x5a\x9b\x73\x36\xa1\x42\xec\x49\x1d\xfc\x21\x0a\x0a\xed\xde\x38\x81\x75\xca\xc5\x84\x74\x03\x40\xac\xd7\x90\x31\xea\xc5\xa7\x46\x2c\xda\xc4\xf5\x9c\xd0\xd1\xdd\x00\x8f\xe2\x61\x0f\x53\x2a\xc5\xba\x25\xf0\x12\x70\x3d\xa1\x6c\xfe\x5a\x7f\x39\x52\x5b\x33\x74\xb2\xb2\x96\x24\x16\x3d\x3d\x39\xa6\xcb\x8c\xee\xc1\xee\x29\x0d\xa9\xac\x95\x15\x8e\xad\x67\x76\x23\x38\x71\x5b\x07\xa4\x64\xb9\xdb\x5c\x43\xa8\x2d\x2e\x84\x62\xe2\x56\x34\x87\x00\x8f\x30\x86\x82\xec\x33\x44\x98\x3b\x6d\xc0\x15\xdb\xad\xc9\xb4\x5f\x04\xfa\x62\xcc\x03\x3d\xd1\xaf\x51\x0f\xfb\xfe\xbd\xf6\x11\xb5\x83\x43\x61\x9c\x5e\xa1\x86\x60\x42\x7a\x93\x9b\x0b\xdf\x59\xe3\x20\xd2\x04\x9e\x5c\x8c\x5b\xd4\x22\x70\xf1\xb2\x4f\x9a\x57\xc6\x4c\xba\x15\xed\xb5\xcc\x01\xb6\x08\x0d\x34\x06\x7b\x13\x9d\xee\x95\x75\xff\x05\x69\x00\x29\x5f\x73\x65\x64\xc2\x0c\xfd\xf7\xbf\x60\xcd\xae\x22\xa0\x67\x58\x4c\x66\xd9\xae\x19\xe1\x3e\x16\x88\x2a\xa3\x74\xe9\xd8\xc0\x47\xe8\xd1\x1b\xdb\xc6\x47\xe9\xd0\xb1\x76\xa0\x3f\x77\x90\xb7\x7d\xca\x73\x33\x2a\xfa\x54\xec\x60\x27\xea\xe7\x7b\x6e\xb5\x30\x5d\x10\x4e\x2b\x9c\xd9\x85\x83\x17\x0c\x36\x5c\x54\x9b\x39\x3c\x5e\x1a\x01\x6e\xd4\xeb\x5d\xe9\xf4\x7f\xca\x21\x32\x39\xcb\x38\xe2\x8f\x23\x46\x22\xe4\x2d\xb1\x9e\x81\xae\x51\x0f\xb9\x02\x66\x46\x2d\x0f\xed\xc0\x8e\x0d\x7e\xfe\x07\xb6\xe7\x87\x25\x63\xcf\x25\xc0\x35\x48\x23\x0c\x69\x49\x68\xd7\xac\x2c\x31\x47\x04\xa3\x57\xb2\xd2\xb8\x2d\xee\x6a\xc6\xd7\x2d\x22\xbf\x59\x39\x0a\xc5\xaa\x75\xc9\xd5\xb5\x50\x98\x40\x4a\xb5\x16\xac\xbe\xa8\x2c\xb4\x36\xe9\x17\x60\x94\xab\x76\xc9\xd8\xab\x4a\xb5\x82\xe7\x30\x01\x98\xc9\xc9\xa1\x71\x21\xa8\x96\xfe\x53\x09\x0f\x85\xad\xc5\x00\x00\x54\x57\x2d\x57\xd7\x51\xf4\x08\x4c\xcb\x09\x40\x13\xee\x5a\x55\xe4\x22\xbe\x66\xe0\xd0\x43\xc5\xb9\xc3\x85\x77\xd9\xe7\x94\xb3\x72\xda\xe2\xc6\xaf\xf3\xde\x96\x6b\x0b\xe9\x9c\x7e\x1d\x81\x9d\xda\xbd\x8b\xd5\x7b\x7a\x4a\x3a\x64\x0c\xbd\xdd\x03\x60\xa2\xc4\x6b\xe7\x88\x57\x81\x41\x33\xfd\xab\x9b\xe9\xae\x8c\xd4\x11\x15\x21\x25\x9e\x79\xf3\xe6\xb4\x63\xba\xfb\x38\x83\xdf\xb8\xa7\xdf\xa0\x5d\xb3\x77\x2e\xcf\xc6\xa2\x72\x43\xa1\x18\x0d\x78\xea\xdf\xb3\xf1\x9c\xdb\x1c\xbd\xb1\xf4\xfd\xfb\xf3\xc4\xa5\x16\xa5\xcc\xaa\xc2\xb3\xa1\xea\x8d\x75\x6c\x84\x4b\x83\xe0\x3c\x09\x82\xfb\xa3\xb3\x83\xf4\xde\x3d\xc1\xc3\x85\x64\x69\xf0\xb4\x83\xb0\x44\x97\x4f\x20\xe1\xe2\x81\xa0\x96\xad\xc1\xaf\x03\xd5\xdb\x4a\x18\x9d\x1a\xc9\xa6\x80\x5b\x11\xe4\x10\x4d\x8d\x5c\x56\x6e\x14\x53\x8c\x10\x6e\x54\xcb\x30\xc0\xd1\xbe\x65\xe7\x8c\xdf\xf0\x40\xda\x9d\x91\xc1\x55\xb2\x9d\x87\x84\x6c\x27\x3c\x3d\xf2\x28\x86\x5a\x10\xbf\x95\x35\x05\xc6\x14\x9a\x0e\xfa\x3b\xd6\xa5\x59\xd8\xda\xe9\xf0\xb3\x87\xa7\x94\x39\x5b\x35\x31\x77\xbc\x7a\xef\x9b\xce\x31\x4d\x4f\x41\xbc\xa0\x95\xf3\x30\xd3\xe7\x20\xc6\x35\xb8\x49\xf3\xc7\xe2\xf6\x38\xfe\x0c\xd9\x8d\xf4\x30\xa2\x1b\x33\x32\xdc\x91\x13\xc8\x42\xa1\xfd\xfc\x33\xf5\xcd\xee\x16\x20\xd0\x4f\xe7\xac\x43\xda\x3c\x00\x08\xb2\xa2\x73\x45\xf1\x21\xb8\x76\x79\xe6\x18\xad\x44\xef\x3e\x81\xeb\xa6\x67\x81\xb9\x20\x49\x5c\x39\xc0\xa1\x5c\x3a\xff\xf2\x48\xe2\xf6\x40\x9a\xce\xad\xc2\x05\xaf\xd2\x01\xf9\x1a\x45\xa5\x44\xd3\x3e\x03\xf6\x0b\xa3\x5d\xe7\x71\x51\x4f\xdc\x9a\x76\x12\x38\x5b\xf1\x8c\x52\x5c\xa2\xbe\x49\x35\x98\xad\xc7\xa7\xf4\xad\xcd\xe4\xe2\xd6\xa9\xa0\xfb\x5f\x4f\x5a\x34\x35\x89\x95\xa3\x0e\x25\xbf\x7c\x92\x46\x48\xbd\x23\x3a\x32\xeb\x84\x8f\x9c\x9c\xb0\x67\xb2\xbd\xf6\xbe\x53\x23\x87\x69\xe6\x72\x70\x90\x4e\x5c\xfc\x35\x87\xd9\xed\xc8\x2c\x40\x46\x85\x64\x05\xc5\x16\xa4\xb3\xa2\xd2\xfb\x59\xe4\x05\x6f\x05\xe8\xc8\x15\x8e\xcf\xbc\xd7\xc7\xad\xe4\x83\x63\x7d\xe9\x1d\x77\xd7\xfa\x72\x7c\xb1\x08\xfe\x16\xf4\x72\xc4\x4e\xec\x52\x0d\x7d\x05\x06\x4c\x55\xe9\x3d\x18\x29\xc9\xd3\xd7\x63\x7f\xcc\xff\x27\xb9\x21\x3d\xf9\x5f\xf9\x86\xb4\x22\x78\x38\x8e\x29\x76\x34\x93\x55\xde\x7f\x49\x7a\xcf\xb2\xe4\x3d\x49\xe9\xd1\xab\x12\x12\x25\xfc\x83\xdf\x94\xcf\x02\x1c\x03\x77\x59\x46\xa2\x66\xef\x7d\x69\x20\x42\xc7\x1e\xec\x5f\x9d\xc7\x42\xec\xb1\xeb\xd2\x9f\x7a\x64\x95\xc6\xde\x98\xb0\x80\xc3\x17\xa6\x2e\x12\xee\x52\xea\x86\x98\x3e\x2e\x8e\x23\x38\x7c\xb2\x9b\xb1\x2b\x6e\x0c\x4d\xa1\xbb\x1e\xcd\xb2\x14\x74\xf7\x27\x6e\x0d\xd2\xef\xe4\x85\xd1\x39\x40\xc7\x5e\x1b\x84\xf0\x47\xdf\x1c\x23\xae\xc4\x4f\x34\xb8\xf8\x34\xfe\xd5\x07\xe8\x1a\xfc\x7f\xe9\x42\xec\xee\xb4\xbe\xee\x8c\xbf\x0d\x1d\xcd\xe3\x97\x21\x30\x0d\x35\xd5\x68\xf1\x1b\x30\x71\xfc\xb9\xa2\x86\xaf\xc5\x2b\x72\xce\x73\xa5\x76\x5b\x9b\x62\x2d\x50\x00\xcc\x80\x6a\xfc\xe2\x9f\x21\xe4\x38\x2f\x1b\xc1\xf3\x83\xd1\x3c\xa2\x9e\xc9\x5f\x76\x50\x04\x94\xed\x9a\x07\xec\x7d\xea\x2f\x90\x46\xee\x09\xf8\x2b\xde\xca\x0f\x30\x53\x84\xff\x55\x54\xf9\x2c\x18\x28\x8c\x8c\xdc\x5f\x8d\xc8\x0e\x59\x29\x14\x75\xe1\x07\xb8\x94\x6b\x11\xa7\xc4\x32\x8e\xe5\xb5\x54\xd0\x15\xf4\x45\xb7\x09\x0a\xad\xda\xac\x91\xfb\x4b\xcc\x44\x69\x35\x78\x95\xb0\xc6\xd7\x62\xcd\x2a\x91\x09\xa5\x78\x73\xf8\x47\xbd\x42\xa9\xc2\xa6\x93\x01\x61\x48\x81\x33\x84\x7f\xff\x47\x21\x6a\x8c\x73\xc6\xc0\xe9\x5c\x28\x93\x3d\x16\xdc\x3e\x20\x27\x1f\x8e\x13\xe1\x6d\x5d\x72\x3a\x51\x81\x81\x56\x34\x06\x5d\x07\x70\x0e\x00\x23\x99\xb1\xab\x6b\x9b\x2a\x72\xcd\x8b\x72\xd7\x88\x00\x4c\x1d\xf7\xd9\xb7\x9a\x10\x44\x54\x04\xf4\x3d\x1d\xbb\x4b\xcd\x51\x44\x4a\xc1\xc6\xee\x94\x33\x97\x1f\x29\x37\x23\xde\x23\x9a\xa5\x27\xcf\x0b\x0c\x6d\x70\x7d\x37\x64\x60\xdc\x13\x73\xa3\x9a\x1c\x10\xa4\x39\x44\xd5\x5d\xa7\x6e\x6c\x47\xfa\x85\x25\x29\x82\x9d\xee\xf4\x2d\xa9\x76\x00\x49\x54\x70\x8b\xd7\x4e\x9a\xb4\x2a\xf4\xa0\x17\xf4\xaf\x6e\x68\x02\x73\xa4\x48\x4c\x76\x70\xa6\xd9\xef\xf1\x29\xaa\x65\xa2\x6b\xd9\xb4\xd7\x06\x88\x84\x41\x5c\x89\x32\x3e\x40\x1b\x69\x1c\x7e\x30\x92\xa9\x94\x2e\x1b\xb1\xe3\xfb\x4b\x8f\xeb\xde\x73\x88\x9f\xc5\x55\x5e\x58\xc8\xf7\xe4\x01\x1d\xaa\x4b\xf5\x84\xb3\xae\xd0\x44\x33\x38\x80\xa9\x14\xfb\x2b\xee\xf8\x16\x33\xe9\x50\xb0\x36\xb3\x55\x8b\x56\x34\xdc\x82\xe5\x8c\x8b\x21\xb1\x4a\x5e\x58\xc0\xe7\x0d\x77\xfe\x07\x6f\x78\x7b\xbd\xdc\x16\x98\xef\x30\xd6\x32\x8e\xb8\xac\x8f\x18\xf7\x50\xc0\xd3\xcb\x31\x05\x3e\x21\x2d\x9f\x9e\x91\x3f\xbf\x8a\xbb\x46\x3e\x3e\x7a\x44\x03\x5c\x1a\xa2\x76\x26\x2a\xeb\x47\xbe\x7c\x94\xc9\x44\x33\x3e\x79\xd2\xb8\x7d\x06\x3e\x21\x93\x5b\xc1\xae\x8b\xb6\x2b\x32\xef\xbd\x2b\x01\xca\x33\x8c\xc3\x41\x6d\x53\xbb\xb9\x70\x9b\x7d\x00\xb8\x2d\xda\xec\xda\xe8\x7e\x21\x75\xb2\xd7\x58\xbb\xad\x6d\xaa\x50\x67\x20\x8b\xfa\x5e\xca\xcd\xf4\xf3\x0b\x7d\x40\x57\x93\x96\x01\x31\x4c\x2d\xa4\xa9\x3c\x61\x9f\xb3\x47\xac\x43\x93\xb1\x55\x23\xf8\x8d\xf3\xfc\x79\x30\x42\x28\x33\x5d\x98\x33\x62\xa7\x87\x5e\xb4\x45\xb5\x13\x81\x98\xe5\xf2\xc1\xf8\x79\x3f\x67\x31\x68\xbb\xc7\xb8\xb2\xd1\x5d\xc6\x2c\x82\xf9\x9b\x01\xad\x6a\x8e\x17\x14\x2f\x65\xb5\xb1\x33\x38\x90\xee\x65\xb0\x43\xdd\x3d\xfb\xf0\x61\x77\x23\x8f\xe9\x72\xf7\xd9\x6e\x53\x39\x85\xe6\x1e\x7d\xb1\xcf\x2d\x92\x06\x5e\xd6\x70\x87\x78\x5a\x7b\x81\x09\xda\x30\xc5\x29\x83\x47\x4d\x78\x43\x54\x21\xb2\xfa\x65\x28\xd6\xba\xd9\xe8\x8e\xe3\xa3\xa6\xc6\x9c\x4d\x74\x62\x5e\x44\xef\xcb\x71\xd3\x22\xaa\xfc\xaf\x37\x29\x2f\xfc\x63\x26\x35\x25\x2f\x3a\x5a\xb2\x51\xcc\x1b\x20\xca\x5f\x7a\xa5\x35\xeb\x7c\x7c\x11\x49\xfa\xe8\x38\x26\xc8\xb5\xe8\xf4\xa9\x27\xa9\xfc\x66\x46\xe6\x0b\x7c\xcd\xc0\xeb\xc8\x10\x3b\x08\x63\xd2\x0c\x4e\x14\x48\xab\x27\x78\xfe\xff\xd4\xc9\x82\x8c\x66\x33\xa1\x61\x14\x28\xa0\x1e\xf1\x92\xf1\x95\x45\xff\x63\xc8\x20\x98\xcf\x6d\x02\x07\x8b\xdc\x35\xc6\x40\xfd\x4e\xc0\xd1\x62\xc9\x15\x24\xe1\x93\x4b\x01\x46\x62\x63\x75\x6b\x3e\x5b\xc2\x7d\x26\x38\x3d\xbd\xbf\x64\x72\xc9\xd4\x26\x98\xb5\xd3\xd4\xc7\x9c\x94\xf7\x5d\x27\x3a\xc8\xe0\xbd\xea\x24\xb3\xd5\x6e\xb3\xc1\xa8\xe8\xc1\x67\x67\x2a\x80\xb4\x43\x35\x50\xf6\xf4\x46\xb6\x3e\xe8\x3f\x33\xc8\x9d\x1e\x9a\x3d\x01\xfe\x48\xf3\xcf\x4a\xb6\xd7\x16\x70\x72\xc5\x37\xe8\x06\x6d\x8e\x2b\x80\x08\x77\x0f\x39\xeb\x92\x4d\x80\x3a\xac\x47\x01\xe2\xb8\xba\x00\xac\xc0\x7d\xd1\xea\x79\x93\xa9\x0e\x35\x1d\x13\x3e\xcc\x6d\xf2\x60\x85\x19\xc1\x20\xb9\x41\x90\x4d\xdd\xe2\xc8\xb2\x75\x81\x98\xaf\xbb\x96\xb8\x61\x1b\x08\x67\x07\xd4\x3b\x02\x62\x80\x38\x0f\x0c\xf9\xda\x04\x0e\xfb\x3d\x28\x48\x61\xa1\x28\xda\x87\xc6\x05\xf5\x51\xeb\xea\x24\x82\x92\xb3\x80\x15\x08\x0b\x1c\xef\x5a\xa7\xdc\x40\xef\x06\x68\x76\x3b\x18\x17\xee\x6a\x4c\xbe\xd1\x27\x4f\x10\xd3\x6e\x1c\x7b\x00\x36\x41\xae\x9d\x42\xc2\xf9\xa5\xc4\x4a\x91\x2d\x3f\xa0\x33\x95\x75\x45\x35\xa2\xbe\x75\xed\x7a\x7f\x74\xa5\xa1\x2d\x7b\x66\x45\xe8\x07\x7e\xae\x7a\xfd\x12\x7e\x30\xc5\x9c\x44\xf0\x23\xc2\x1f\xe0\xdb\x8d\x8c\xf5\x25\x1c\x69\xd4\x51\xdc\x21\xeb\x6e\x20\x49\x63\x61\xfc\x64\x3b\x41\x34\x2d\x26\x49\xc1\x2a\x76\xb7\xe1\x14\x15\x6b\xa2\x29\x91\x8d\xad\x01\x99\xb2\x99\xac\x80\xf1\x5d\x15\x8a\xf2\x80\x08\x79\xc4\x34\xe1\x26\xcc\x48\x9e\x75\x23\x37\x8d\x50\x0e\x2b\x84\x18\x4d\x72\x9b\xaf\x8f\x84\xf4\xe8\xde\x1c\x9d\xea\xe0\x7a\x88\xa6\x3a\xd2\x4f\xb8\x6c\x8a\x8e\x9d\xd3\xee\x24\x0f\x1f\x92\xf4\xa4\xd5\x80\xe3\x89\x65\x79\xfa\xcc\x4b\x16\xfc\xc1\x2d\x64\x47\x1b\x4c\xeb\xf6\x81\x42\x04\x97\x54\xb8\x21\x53\xec\x33\xf3\x7b\x2b\x60\x44\x7b\xfe\x3f\x88\xf2\x4b\x76\x41\x21\x79\x59\x06\x20\xcb\xb7\x85\xd8\xd7\xe3\xe2\xcc\x75\xfd\xa7\x65\x99\x8e\x37\x00\xb3\x1f\xbc\xc0\xa3\xc3\xae\xf3\x32\x0e\x12\xfe\x9c\x46\xca\x9a\x41\x07\xe9\xf1\xda\xe0\x5e\x0a\xc1\x6d\x6d\xfb\x9c\x96\x47\x4e\x67\xc9\x5b\x37\xb8\xd3\x2d\x85\x79\x64\xbf\x26\x35\x07\x5c\x9f\x22\x7e\x89\xbb\xd3\x07\x4d\xe1\x72\xa9\x19\x47\xa4\xc0\x25\xac\x5f\x2f\xc0\x16\xec\xf1\x59\x58\xf3\x2c\x71\x03\x24\xe7\x2d\x58\x33\xda\x6c\x6a\xf9\x7a\xec\x1a\xe3\x57\xaf\x8f\x40\xb0\x78\xa6\x17\xe9\xb5\x0b\xba\x98\x5c\x46\x6a\x22\x33\xa5\xbb\x2b\x12\xb5\x31\x66\x82\xce\x06\x53\x1f\xfa\x38\xb4\x38\xd5\x21\xcd\x1a\x67\x23\x88\x09\x7b\x9d\x46\x45\xc4\x5d\x2b\x2a\xd7\xf3\xb9\xed\x69\x22\x85\x2c\x71\xc2\xeb\xb8\x31\xa6\x71\x1d\xb6\xfc\xae\xd8\xee\xb6\xd6\x25\xdd\x45\x30\x05\x70\x09\x23\xe0\x9e\x64\x59\xbe\xe1\x77\xc1\xc9\x2d\x02\x60\x87\x69\x3a\x92\xa1\x8d\x3c\xd3\x67\x81\xe7\x76\xdb\xeb\x1f\x3e\xe8\xfc\xbd\x20\x24\x86\x9b\x85\x78\xb7\xd8\x05\x1c\x66\xc2\x5f\xbe\x6e\x3b\x98\x8b\x0d\xf2\x04\xac\x7b\xdd\x52\x29\xb6\x04\xc4\x02\x89\xe6\x83\xa7\x81\xff\xdf\x54\x37\xfa\x5e\xd4\x79\x1d\x73\xef\x76\xa1\x6c\x10\xf2\xd8\x77\x41\xb6\xc7\x3c\x55\xd3\xbe\x91\x8d\xd7\xf3\xdd\xcb\x1d\xd2\x07\xa0\xc9\xb2\xc4\x8e\x39\x52\x83\x81\x95\x0f\x86\x17\x38\xa2\xfc\x86\xdf\x85\x91\x6d\x86\xdd\x70\x33\x81\x5e\xc6\xf5\xe0\xf7\xbe\x0e\xde\xa0\xb4\x73\xee\x53\x78\x1a\x3a\x9c\x11\x5f\xf4\xdc\xd7\xeb\x78\xc8\xf7\xd5\xf1\x55\xc6\x21\x5b\x1d\x65\xb5\x30\x17\xc5\xdf\x84\xdb\x5c\x5c\xd4\x3f\x36\xc3\x0d\x9f\x28\x70\x1e\xbb\x26\x17\x1f\x19\xb1\x17\xf2\xe9\x57\xec\xb4\xcb\x9f\xa7\xbf\x3a\x5f\xa6\xaf\x01\xa7\x4e\xb1\xcc\x82\xee\x9d\x24\x36\x2c\x4e\xe6\x1d\x44\x5b\x44\xb7\x07\xe6\xe1\x1f\x78\x36\xa0\x8d\xb3\x21\x90\x84\x10\xc8\xaf\x1f\xf2\x5f\xa0\x3e\xe9\x0b\x78\x4f\xb4\xf6\xc0\x1d\x73\x0b\x5d\x05\x1e\xf6\x69\x78\xa1\xe1\x70\xd0\xf4\xfc\x0d\xc7\x84\x8e\x9c\x4f\x70\xfe\xf9\xfb\x98\x4e\x3c\x54\xc6\xcc\xe8\xb3\x38\x10\xa1\xdf\x7d\xd9\xa2\x3a\x06\x26\xa3\xe4\x2e\x01\xc9\x94\xcc\xda\x1f\x00\x06\x1f\x93\x50\x99\x81\x83\x1e\x46\x51\x54\x57\x9b\xad\x2b\xc8\x4b\x09\xda\x1f\x2f\x3b\x4c\x14\xd9\x4a\x36\x99\xa4\x89\xb9\x57\xa0\x03\xc2\x79\xda\x72\x50\x09\xe4\x3b\x61\x8f\x59\x48\xb4\xb2\xe5\xd5\x8e\x97\xe5\x81\x18\xfa\x6d\xec\x10\xbc\x9f\x39\xce\x38\xdf\x6e\x79\x5b\x64\x86\xee\xd1\x59\x74\xa9\xd0\x12\x92\xd1\xc8\xd0\x6d\x77\x70\x84\xf1\x96\x9f\x91\x13\x32\x88\xe8\x76\xde\x5b\xdd\xb0\xd8\x6e\x1d\x13\xd9\x3d\xa3\xd9\x74\x0b\x65\xa6\x59\xcf\x14\x2f\x95\x84\xf9\xa6\xea\x13\x88\x64\x9c\xae\x76\x6d\x18\xd6\x06\x3f\x43\xd5\xcf\x66\xcb\x80\x9e\xc9\x76\xd1\xcd\xc2\x82\x19\x79\x82\xd9\x66\x5c\x05\x99\x9c\x90\xae\xa3\xf7\xaa\x32\x01\x49\x00\x36\x08\x96\x44\x1b\x72\x5e\x6c\x2a\x19\x20\x0f\x9a\x71\xf0\x2a\x67\xa5\x68\x99\x4d\xd7\x69\x49\x61\x06\x06\x63\xc9\xc6\x5d\x66\x4d\x0b\x73\x74\x0b\x05\x17\x86\x9c\xed\x6a\x43\x90\xc0\x5a\xec\x1b\x09\x21\xeb\x98\x30\xc6\x45\xfe\x83\x5f\x28\x0f\x3a\x8d\xaf\x11\x87\xab\xc1\xba\x0e\x79\xa6\x04\x09\x82\x43\x25\x84\x81\x43\xf0\xe9\xf5\x52\x38\x08\xb3\x08\x3e\xb5\x00\x28\x8d\x8c\x57\x00\xe3\xd8\x14\xa0\xa8\x2f\x94\xcf\xad\x64\x66\xeb\x5a\xb8\x8b\x14\x72\xee\x45\xdb\xce\x12\xd2\x4c\x90\x71\x3b\x97\xf0\x16\x12\x55\x6b\x60\xf5\xa7\xb3\x0e\x59\x97\xfd\xc8\x83\x3f\x3a\x55\x13\x30\x13\xcc\xba\xb5\xb9\xfb\x36\x47\x6d\x23\xc8\xd6\x17\x6f\xa5\xc1\xc3\x64\x91\x1a\x1b\x3d\x52\xbe\xf7\xdf\xe9\xb9\xe2\xcf\x05\xcb\xa1\x45\x38\x5b\x7a\x72\xdd\xd9\xdb\xe9\x3a\x63\xcf\x0c\xd8\x01\xdc\xa6\x8d\xac\x5a\xc8\x20\xe4\x12\x14\xa5\xe3\xda\xac\xf7\x8f\x49\xc5\xe7\xd8\xea\xf9\xab\xef\xe6\x94\xaf\xb1\x0b\xd6\x37\x09\x6c\x3b\xab\x03\xcb\x71\x51\xc2\xa0\x3e\xe8\x1e\xbf\x15\x18\xc9\x0a\x0c\x5f\xb4\xee\xb4\xbb\xdf\xcc\xa7\x4e\x31\xe0\xd4\xa0\xd4\x54\x78\xf4\x18\xb1\x34\x9d\xfa\x06\xf9\x26\x91\x4c\x1f\xf7\xf4\xcb\x97\x73\xcf\x10\xfa\x8a\x0b\xd3\x36\xc2\x1e\xae\x77\xad\x0a\x2e\x48\xfd\x42\x65\xb9\x28\x5b\xee\xb4\xf9\x9a\xdc\x24\x17\x2d\x2f\xca\x09\x5b\x17\xa2\x74\x96\x03\xe4\x5f\x80\x56\xc5\x43\xad\x2c\x6a\x9b\x0e\xb1\xae\xf5\x14\x42\xb2\xab\x22\xbb\x66\x79\xd1\x58\x23\x03\x24\x2c\x63\x95\xd8\xf0\xb6\xb8\x15\x16\xd4\x01\xf3\x38\x05\x49\x27\xac\xb3\x08\x76\xe7\x9c\x89\xa5\x9e\x3f\x2d\xb0\xc5\x19\x28\xd9\xbf\xb0\xe9\xe2\x31\xfb\x82\xe9\xc9\xd1\x1d\x9d\xb1\x27\x4c\x2c\x61\x4d\x9f\xeb\xda\xff\xaa\x4f\x00\xa4\xf3\x85\x8f\x55\xb7\xd3\xfb\x06\x03\x8b\x0b\xd1\xbc\xa7\xd1\x85\x71\x54\x3b\x91\x57\x91\x96\xbd\x49\x5a\x2a\x7c\xb6\x44\xec\xbc\xcf\x7b\xab\x4d\xbd\xb4\xda\xbe\x37\x96\xac\xbd\x9b\x65\xdc\x3d\x72\xf5\xbc\x41\xff\x32\xdf\x73\x93\xed\x8d\x07\xc7\xf9\xdc\x2c\x52\xdb\x14\x9b\x8d\x68\x8c\xc0\x63\xb1\x93\x7b\xc5\x38\x74\x68\xf1\x10\x80\x6f\x31\xe7\x34\x3d\xcd\x70\xe7\xef\xc1\x6b\x85\x67\x2d\x8a\x03\x16\xaf\x16\xef\x87\xf6\x5a\x34\x62\xe2\x76\x9d\x25\xd6\x4a\xb7\x33\xfd\x75\x54\x73\xa3\x23\x47\x9e\x6e\xaf\x1b\x88\xee\x57\x92\x5d\x5c\x37\x72\x0b\x49\x9f\x6c\x52\x2f\xe4\x5d\x4c\xbb\x76\x2b\x1a\xcf\x52\x8c\x89\xce\x99\xdb\x31\x96\xd0\x63\x8f\x5e\xc3\xc1\x81\x67\xaf\x5c\x63\x08\x80\x52\x3b\xc5\xd4\x0e\x6c\x0f\x5e\xd6\x06\xe1\x51\xb5\xfc\xa0\x88\x00\x6e\x0d\xef\x9a\x58\xdd\x88\x35\x62\x7a\x90\x37\xaa\x41\xe2\xd2\xf5\xee\x29\x68\xba\x24\xda\x89\xc3\x05\x70\x13\x16\x0e\x7c\x53\x15\x55\x26\xdc\x35\x6e\xaf\x13\x14\x2d\xf4\xd8\x83\xd4\x68\x56\xf2\x1b\x44\x3b\xed\xdc\xce\x1f\x7f\x95\xfa\x5c\x9f\x7f\xaf\x77\xe8\x85\xee\x61\x34\xc9\xac\x87\x8d\xf4\x68\x16\xad\x5c\x64\x65\x51\xaf\x24\x6f\xf2\x68\x68\xaf\xd6\x29\x98\x6d\x54\x3b\x9a\x24\xb2\x60\x70\xf5\x66\x58\x08\x30\xe7\x07\xe7\xf7\xb5\xd6\x7c\x58\x54\xc4\x71\xd7\xbb\x44\x27\x82\x7d\x42\x97\x19\x23\xcf\x9b\x1b\xad\xf1\xe8\x32\x70\x7f\x16\x6b\xe3\xe7\xb7\x2d\x94\xc2\x20\x7b\x0f\x6e\xed\xfa\xd8\x8a\xbb\xd6\xa4\x86\xd4\x83\x61\xb5\xac\x77\x25\x6f\x85\xc2\x3c\xd7\xe0\x59\x78\xed\x42\x87\x04\xfb\x9c\xd8\xba\x3f\xf7\xae\x10\xb6\x0d\x4d\x6e\xe4\x22\x0c\xdc\xa3\xfa\xf3\x3d\x2f\x50\xcb\xc1\xf7\x0a\x69\xff\xa8\x78\xd3\x38\x82\x66\x31\x22\x42\x84\x7d\x69\x4f\xf8\x48\xe8\xfd\x6b\x45\xc5\x0f\x45\x5f\x92\x6e\xf6\x84\xcd\xb6\xe6\x25\xa2\x68\x40\x50\x37\xc8\xdb\xfb\xbd\x88\x2a\x7f\xc6\xb3\x1b\xcd\xdd\xc6\x48\xe0\xbc\x3f\x8e\xcc\x66\xb2\x0f\xd0\x8b\x17\x10\x80\x34\xae\x0f\xac\xd3\x83\x3e\x07\xda\xc0\x8e\x11\x59\x43\xa2\x20\x28\x34\x41\xa8\x44\xbc\xf0\xb1\x46\x07\xad\x82\x5d\x7f\x9a\x21\x67\x88\x3e\x9b\x17\x00\x12\x4f\x1f\x04\x46\x83\xa1\xb5\x7e\xc4\x1e\xcf\x3b\xfd\x1d\x61\x00\xec\x76\xf0\xb8\x03\xef\xf8\x78\x95\x11\x06\xc4\x1e\x6e\xee\x04\x2c\x8f\x09\x6b\x8b\x96\x93\x38\xe7\x7a\x56\x86\xde\x8e\x64\xe6\x44\x28\x7a\x4f\x37\x7a\x39\x7a\xa0\x37\x2c\xd1\x97\x7e\x47\xf2\x60\xa9\x8f\x33\x37\x54\x53\xe9\xe0\xbe\xe3\xcd\x8f\xb2\xa4\xfa\x7e\x3c\x18\xed\x5d\x33\x92\xdd\xbb\x3d\x9b\x1f\xd9\xee\x63\x59\x3d\xee\x5f\x0f\xdd\xae\x38\xfa\x52\x66\x20\xb7\x1b\x75\x26\x26\x3c\x35\xe6\x07\x59\x31\x0e\x39\x9f\x16\xb7\xcc\xe4\xb0\xb7\x62\x3d\x57\x46\x1c\x78\xf9\x52\x97\x31\x13\x21\x6c\x96\x4e\xfb\x74\x36\x99\x7a\x31\xd7\xaa\xc8\xa9\x0a\x0a\x5b\x1a\xe7\xc6\x15\x66\xcc\x4f\x5c\xc8\xfe\x86\x24\x49\xac\xe2\xbb\x57\x6f\x93\x1b\xa1\xa5\xaa\x4b\xc0\x91\x5f\x6a\x19\x4d\x4b\x99\x17\x32\x17\x53\xfd\xa8\x2b\xb2\x6b\x77\x87\x95\x72\x2f\x9a\x3f\x42\xf1\x1b\x71\x58\xb6\xf2\xb5\xfe\xe1\x82\x2b\xa2\xe8\x9b\x0a\x68\x4f\x97\xfa\xf9\x67\x26\x96\x5b\xd1\xf2\x3f\x8a\xc3\x8c\x3d\x7c\x48\xea\x9f\xb3\xcf\x6f\x3f\x27\x1e\x22\x41\x0e\xd2\x20\x93\x5d\x20\xdb\xb9\xf4\xb3\xf8\x24\x31\x0b\xd4\x06\x38\xfe\xa8\x47\x25\xe9\x81\x46\x4c\x25\x4c\x4e\xaf\x54\x93\xee\x5c\x1a\x6a\x2a\x01\x29\x45\x10\xa5\x20\xc2\xc6\xa9\xc5\x80\x2e\x68\xc5\xf4\xce\x79\x62\xbe\xd2\xc6\x10\x9a\xf0\xc3\x2c\x40\x9b\x4a\x94\xf0\xbe\x6c\x1e\x3a\x34\x4c\x0a\xc8\x92\xb8\x54\x38\xab\x0a\x10\x2b\x4d\xf2\xd6\x70\x6a\x29\xef\x2f\xd9\x65\x2b\x6b\x54\xd8\x83\x2c\x8f\x8f\x29\x59\xf3\x0d\x87\x40\x2a\xae\xfc\xf3\x11\x12\x72\xa1\x1b\x38\xb4\xe1\xb3\x51\xdb\xc9\x46\x37\xb7\xa3\x8b\x33\x90\x66\x36\xb1\x5e\x62\xa9\x5a\x59\x7f\x63\x3b\x85\xfe\x0a\x09\xa8\x53\x9f\xf1\xdd\xa9\x6d\xb7\x32\xff\xc8\x9c\x16\x0e\xa5\xd6\x04\xaf\x05\xc9\xf2\x5a\xde\xf6\x67\xcb\xd3\xcf\xb2\x75\x29\xf7\xff\xca\xce\x19\x94\x64\xff\xc2\xac\xb6\x94\x3d\x61\x13\x97\x55\x3c\x1a\x42\xa0\x46\xdb\x3a\x85\xca\x12\x1f\x15\xbc\x6c\x45\xa3\xd8\xb5\xdc\xb3\xed\xce\x78\xe6\x99\x2d\x81\x15\xf5\xd1\x06\xa6\x04\xc8\xbd\x1e\x6b\x18\xc7\x0d\x17\x75\x39\xf2\x56\x18\x7d\x4e\x98\x5f\xc9\xf7\x29\x1c\x7b\x42\x09\xc4\xce\xc9\x08\x60\xa4\xfa\x76\x7b\xfb\xed\xbb\x8b\x17\xec\xe5\xab\xd7\x2f\x9e\xa0\x96\xf1\xe4\x2f\xea\x04\xfe\xf1\xde\x82\xab\x2e\xff\xa2\x74\x51\xfd\xe2\xc0\x40\x92\x69\x36\x63\x5f\x9e\x3e\xfe\x12\xd4\x05\xa0\xa3\x28\x76\x5b\xf6\xf6\x92\x3d\xdd\xb5\xd7\xb2\x51\x4b\xf6\xb4\x2c\x31\xe8\x44\x31\xfd\xe0\x68\x20\x37\xfe\xc9\x09\xfb\x56\x09\x07\xb0\xa0\x30\xfc\x32\x33\xa1\x2a\x1b\xbd\x46\x15\xa4\xff\x67\x9c\x3d\xbb\x7c\xbe\x80\xa5\x63\x65\x91\x89\x4a\x19\x27\x72\x44\x0c\xd5\x94\xd6\x10\xee\x68\x78\xfd\xf5\xab\x8b\x17\x5f\x5f\xbe\xd0\x4f\x45\xb1\x7c\xf0\x60\xa2\x67\x5b\xb5\x4d\x91\xb5\x93\xb3\x07\x0f\xca\x62\xb5\x6c\xda\x5c\xd4\xd3\x89\xfe\x27\x64\x83\x84\xe4\xe2\xfa\xaf\x6f\x40\x49\x21\xaa\x4c\xbc\xe1\x15\xdf\x88\xc6\x7e\x68\x04\x76\xd0\xfe\xbd\xcf\x26\x54\x8c\x83\xdf\xd6\x98\xa2\x5c\x2f\xe2\x1f\xc5\x01\x9e\xbf\xfe\x17\xcc\x48\xac\xfc\x0f\x89\xa6\x28\x41\xc7\x0c\x42\x54\xbe\x12\x39\x6f\xfd\x6f\x00\x76\xdc\xad\xab\x77\xac\xcb\xed\x4a\x1a\xfe\xee\x0a\x72\x5a\x58\x75\x85\xac\x54\xdb\xec\x00\xfa\xdd\xba\x8f\x5e\x99\xa5\x66\x59\xc9\x95\x7b\xbb\x3f\xf5\xbf\xd7\x3b\xcd\xcd\xad\xdc\x88\xf6\xda\x00\x5a\xc4\xfd\x9b\x33\x3a\x02\x78\x2f\xdb\xe6\x1f\x9f\x9e\x42\xae\x26\x4d\x5c\xc0\x79\x85\x49\xc8\x0c\xa8\xbb\xdc\xd6\x00\x00\x68\x19\xce\xb1\x37\x2f\x8b\xf6\x40\x74\x53\x0d\x62\xef\x71\x82\x99\x0b\x57\xdd\x02\xd2\xdb\xfb\xde\xe2\x91\xa7\x28\xcf\x18\xb8\x45\x44\xd3\xc6\x6c\xf9\x18\xf9\x5b\x15\xf8\x9a\xb7\xce\xa8\x4a\x36\x73\xf3\xe4\x37\xbb\xbf\x11\x1b\x07\xaf\x27\x71\xf8\xa6\x21\xd0\xc1\xbb\x09\x5f\x32\xf6\x07\xb9\x17\xb7\xa2\x99\x9b\xb0\xe4\x62\xcb\x9b\x03\x81\x7c\x84\x00\xf9\xba\x11\xed\x74\x66\xb5\x93\x90\xc8\x46\xb1\xef\xae\x34\x2d\xa1\x32\x5e\x6b\x69\xf7\x3f\x76\x9a\x4d\xd0\x53\xbe\xa8\x6e\xe5\x8d\x31\x7e\xf1\x5a\xdf\x03\x0d\x04\xd8\xc7\xa3\x0d\x4c\xc5\x30\xd5\x6c\xcf\x15\xbb\x16\xfc\xb6\x80\xb4\x23\xeb\x12\xa8\xc2\x0e\xbb\x90\xcd\x81\xbd\xe1\x59\xc6\x9b\x46\x56\x62\xa2\xd8\xcb\x86\x6f\xc5\x6a\xb7\x5e\x8b\x26\xe4\x82\xab\xb7\xcf\xdf\x4e\x9b\x4d\x51\xe5\x7c\xf6\x84\x41\xd2\x72\xd4\x78\x46\x21\x9d\x56\x5f\x03\xd1\x49\x0d\xc1\xe8\x57\x66\xa8\xbc\x31\x60\xe6\xaa\x2e\xf9\x41\x17\xde\x17\x19\x44\xae\xef\x35\x2b\x70\xa5\x8f\xe6\x2a\xe7\x0d\xa0\x01\x17\x15\xa1\x60\xd5\x38\x78\xd9\x99\x16\x80\x99\xff\x7f\x7f\x64\x53\xd0\xf9\xa3\x0f\xf3\xc1\xac\x10\x49\x10\x20\x5a\x35\x1b\x4a\xe6\x53\x37\x52\x9f\x1b\xaf\x72\x9f\x43\xbc\x76\x3b\x95\x99\xaf\xac\xe2\x5b\x81\xaa\x5d\x93\x6a\x4d\xff\x67\xb8\x38\x9f\x5b\x93\x0a\x74\x6f\x62\xfe\x08\xa0\xd9\xdd\x6a\x45\x49\x79\x5c\xeb\x54\x0e\xb2\xbf\x05\x90\x75\x27\x27\xec\x6a\x2f\xed\x05\x53\x54\x7a\xb2\x32\x9a\xca\x1f\xd9\x0d\xb7\xdf\xfb\x30\x9f\x06\xfc\x46\x54\x3d\x70\x73\x55\xbc\x15\xc3\xa5\x7d\x4c\xec\xe7\xc6\xf3\xf8\x73\x9f\x3f\x33\xb8\x67\xbd\x3f\x34\xed\x04\xa5\x50\x4a\x2d\x06\x54\x12\x9e\x52\x3e\x2d\x27\x5c\x96\xc5\x4f\x7a\x6e\xb1\xd2\x33\x60\x41\x65\xf5\x97\x90\x31\x1b\xb4\xb8\xc0\x44\x16\xfb\x3b\x2f\x32\xd0\xc0\xa1\xbd\xad\xd6\x97\x8c\x49\x38\xb5\x64\xec\x39\x5a\xa0\x31\x1d\x0f\x6a\x77\x0d\xb6\xdc\x5e\x82\x6a\x31\x2f\x14\xdf\x34\x02\xec\xae\x27\x27\xec\x69\xa9\x24\x16\x28\x2a\x9e\x81\xfd\xc6\x80\xeb\x2b\x24\x82\xa1\x51\x78\xdf\x8b\xdc\x84\xad\x17\x60\x7e\x02\x1c\x6c\xd8\x9a\x50\x11\x09\x26\xe7\xe8\x32\x99\xe5\xe4\x14\x65\x45\x3f\x4f\xce\xa9\xa3\x69\xf5\x0e\x43\x8f\xf9\x9d\x32\x9b\xcc\x6c\x1e\xd6\x46\x88\xcc\xcb\xf0\xee\xd7\xe7\x71\x67\x51\xcd\xef\xf0\x68\x8b\xe1\x7e\xa1\xc2\x52\xed\x56\x2a\x6b\x8a\x95\x98\x7a\x48\x7d\xa3\x6f\x34\xba\xf7\xe5\xaa\xa8\xd0\x23\x77\x76\x94\x84\xb3\x46\x07\xa6\xbf\x7b\x91\xb0\x92\xbb\xa1\x80\x12\xed\x51\x02\x4e\x83\x4d\x74\xa5\xb4\x16\x9d\xee\xbc\xb8\x35\xd7\x84\x45\x52\x46\x91\xda\xca\x3e\x34\x07\x4a\xbc\x1b\x3b\xb9\x5c\x09\x0d\x41\x2c\xf0\x9a\x25\xf1\x48\xf0\x61\x0f\x9b\x52\xae\xf4\x05\xa2\x09\x39\x22\x70\xc3\xd1\x14\x18\xee\x46\xd4\x2f\x01\x77\x29\x22\xac\x6a\xb1\xd6\x2c\x78\xcd\x55\x35\x69\x21\x65\xa2\xdd\x1b\xfa\x7d\x0e\xef\x80\x56\x32\xee\x89\x1f\x44\x8b\xd6\x99\x46\x2c\x94\x00\xd3\x72\x2e\x32\xd9\x40\x36\x3a\x3f\x4e\xeb\x8d\xcc\xce\xd9\xbe\xa8\x72\xb9\x77\x3f\xd1\x71\x7b\x80\x5b\xd8\xa2\xd6\xf8\x45\xd5\xf8\x90\x94\x25\x48\x9f\xc9\xf3\xbc\x11\x0a\xf2\xf3\x46\xfc\xba\xe2\xd9\x8d\x85\xa2\xf8\xe1\x47\xdb\xd0\x25\xbf\xd5\x13\xc6\x57\x4c\x3f\x36\x3c\x8f\xb7\x7c\x05\x2f\xa4\xb0\x34\x80\x4f\xb4\x0d\xcf\x6e\xd0\x40\x8b\x92\x8a\x39\x8b\x3d\x15\xec\x30\xa4\x98\x14\x0d\x57\x22\x3f\x73\xce\x18\x57\xcf\x2e\x0c\x30\x7d\x29\x38\x1c\x41\xa5\xaf\x47\xce\x78\xde\x08\x3d\xe7\x8d\x50\xad\x6c\xd0\x1d\xcb\xda\xc9\xe0\x64\x00\xb7\x0e\xe1\xd3\x0d\x98\x8a\x57\xa6\xdb\x9a\x31\x9b\x9d\xa0\xd3\xf9\xdd\x15\xda\x0a\xc9\xd9\x18\x21\xbd\xc0\x26\x67\x5a\x80\x76\x01\x4a\x60\xac\xd0\x82\x03\x74\x19\x24\x17\xe7\x09\x00\xcf\xc4\x2a\x27\xee\x28\x99\xdc\x6e\x79\x95\xfb\x59\xbc\x35\x0f\x8c\x2b\x59\x77\x32\xdb\xda\x6f\xa8\x33\x4f\x31\xfe\xf3\x57\xdf\x39\x4d\x8b\x95\x22\xed\x81\x84\x7d\x59\x92\x98\x27\x25\x1b\x1b\xb1\x13\x13\x72\xf1\x3f\x38\x00\x75\xad\x25\x20\x3b\x07\xf1\x2e\xc4\x42\x97\xba\xcc\x7b\x97\xa3\xc4\x5e\xad\xf4\xeb\xf2\xd9\xeb\xb7\x17\x7f\x4c\xb6\x03\x49\xe1\x4d\x03\xc9\x9e\x42\xda\xf8\xb8\xab\x17\xd8\xbd\x55\x59\x54\x37\x4c\x56\x27\x9a\xd1\x01\x91\x46\xef\xa3\xad\x9a\x83\xe5\x6f\xdf\x14\x6d\x2b\x2a\x2d\x60\x69\x11\x42\x3f\xff\x32\xb8\x1d\x0e\x5a\x52\x2a\x25\xcf\x21\xf7\x1f\x6d\xec\x99\x26\x78\xa1\x09\x01\x37\x3f\x3e\x3d\x9d\xb3\xc7\xa7\xa7\x8e\xab\xbf\x69\xc4\x62\x05\x6f\x1d\x59\x5d\xf8\x1a\xef\xad\x45\xcb\x66\xbe\xc0\x40\x67\xeb\xc0\x91\x4b\xa3\x3d\x90\x0d\x13\xdc\x5e\x9b\x66\x8a\x4d\xef\xf5\xb3\xac\xc8\x0a\x84\x01\x80\x1e\x6d\x0f\x6f\xc3\x36\xfc\x09\x4a\x7e\x4d\x1f\xa4\x4a\x98\x21\x23\x38\x36\xa0\x58\xa7\x7a\xd6\x08\x9e\xa3\x81\x12\x05\x02\xbd\x85\xf8\x46\x80\x99\x0c\x89\xe9\xfe\x32\xb9\x6b\xeb\x1d\xda\xf3\x6e\xc4\x41\xb5\x8d\xbc\x11\x34\x3e\xb3\xa8\x8a\xb6\xe0\x65\xf1\x13\x8a\xb3\x06\x05\xc8\x0a\x6d\x5b\x7c\x5f\xb9\x81\xf9\xa4\xf5\xd1\xda\x9a\xef\x6b\xd9\x88\xa1\xef\xb8\x8b\xde\x56\x6f\xa1\x57\xbd\x9f\xff\x68\x7b\xda\xe1\xf3\x66\x27\xd0\xd8\x68\xc3\xa0\x9d\x9d\x18\x55\x03\xa8\x0b\x6a\x84\xbe\xf5\xcd\x4d\xcf\xcb\x52\xee\xed\x24\x39\x55\x2a\x39\x52\x04\x6f\xc1\x5b\xe4\x1d\xd4\xc2\xf8\x52\x5e\x2a\x7f\xae\xd8\xbb\x63\x25\xca\x52\xbf\xb6\x2b\xcf\x7b\xfa\xa7\xa7\xbb\xbc\x90\xc7\x93\xda\x71\x5d\x6c\xe2\x2f\x5a\x5f\x75\xa9\x84\x7f\x6e\x4e\x27\x75\x23\x34\x87\xeb\x67\x27\xdf\xb5\x72\xe2\xb8\xe3\xa9\x3e\x46\x83\xce\xe8\x93\x6e\xad\x25\x38\x48\x30\xe1\xaf\x11\x38\x95\x37\xa2\x12\xfa\x52\xca\xd9\x54\x0b\x5d\x16\x89\xa9\x28\x0f\x46\xb8\xba\x96\xfb\x6a\x16\x0c\xe5\x6b\x42\xef\x75\xa1\xda\xf0\x62\xf8\xde\x5c\x05\x7b\x81\xad\xd4\xba\x2f\x4a\xe9\xb3\x96\x48\x54\x41\x9f\xc8\x3c\xab\x9b\x56\xd6\xb4\x81\x67\xc2\xb8\x69\xd2\xc9\xbe\x08\x8f\x5f\xbc\xfc\xdc\xcb\x90\x29\xb8\xc9\xc0\x14\xfc\xfc\xc5\xc5\xe5\x85\xbf\xfe\xf4\x07\xa3\x29\x20\x48\xe0\xd1\x99\x05\x2a\xb3\x55\xd1\x2a\x77\xd4\x76\x4e\x46\xe9\x69\x78\xa1\xcf\x10\x26\xa2\xbc\x41\xd7\x07\x1b\xbb\x4b\xec\x02\x19\x0a\xf5\x95\xb7\xec\x60\xf8\x77\xba\xf4\xdd\x55\xfc\x4a\xf5\xaf\x5a\xb2\xe3\x6e\xdb\xa0\x23\xdf\x5d\x75\x25\xaf\x1b\xa3\x31\x81\x93\x8c\x54\x75\xbf\x53\x02\x56\xbd\x12\x92\xf9\xdf\xc0\x2a\x25\x7b\xf5\x16\x3b\xb1\xe6\x59\xa0\x28\x32\xe1\x12\x20\x72\x15\x4d\x8e\x49\x86\x84\x82\x85\x90\xbb\x96\x89\x3b\xbd\x60\x36\xa3\x10\x62\x10\x82\xbd\xc9\xb1\xab\x4b\xbf\x6a\x82\x14\x64\xd0\x2b\x77\xf3\xbc\x7a\x1b\x8d\xcf\x6c\x78\xd8\xdd\x8b\xac\x2c\xb2\x9b\x45\xde\xf0\x8d\xdd\xfe\xca\x47\x74\x74\x56\x52\x54\x5a\x40\x82\xad\xfd\xbc\xe1\x1b\xe3\xd7\x46\x64\x06\xbc\x3d\x64\x7d\x78\x5b\x99\x00\xce\xe8\x3c\x82\x56\x41\x56\x7e\xb6\x6b\x5b\x88\x34\xa3\xa7\x91\xdd\x0f\x06\x86\x09\x02\xef\xad\x63\x13\x48\x7c\xe8\xa2\xb2\x12\xd7\xfc\xb6\x90\x3b\xbf\x32\xba\x47\x58\xf0\x7b\x28\x67\xfd\x44\xdc\x46\xc0\x9e\x69\x4e\x72\x56\xb3\xa7\x5a\xb6\xb2\xe2\x78\x30\x82\x46\xc0\xf9\xad\x5f\x41\xef\xa7\xbf\x3d\x9d\xb3\x2f\xff\x07\xf5\x45\xb0\x6e\x2f\x56\x6a\x0a\x20\xf6\x45\xfb\x0d\xbe\x91\xc3\x37\x34\xe4\xae\xb4\xaf\xef\x94\xd1\x95\x9a\x0a\xec\xdd\x66\x17\xf1\x9d\xe0\xf9\x61\x3a\x63\x1f\xc2\xf7\x05\x8d\x35\x37\x71\xd2\x81\xac\xa2\x52\xaf\x7c\x2a\x8a\xe8\x2d\xf4\x80\x31\x10\x48\x9e\xb0\x09\xfc\x2f\x74\xee\xd9\x8b\xa7\x6f\xf4\x0f\x2f\x9e\xbe\x81\xbf\xbf\xfd\xfa\xf9\x8b\x77\xaf\x5f\x7d\xfd\xe2\x09\x9b\xb8\x7f\x4f\x52\x9e\x46\xf1\x25\x42\xac\x00\x78\x8c\xe9\xc3\xc6\x7a\xa7\xd2\x37\x84\xc3\xf1\xd3\xe7\xc8\x4e\x09\xea\xf7\xe5\xcb\xd9\xbb\x95\x3b\x1f\x02\x92\xd2\x04\xf5\x60\xd8\x03\x7c\x79\x30\x62\x5e\x7b\x60\xa2\x5b\x3a\x79\x4e\x92\xb3\x44\x4d\x43\xc1\x32\x44\x81\x19\xd4\xf9\xe8\x39\x11\xe8\xe1\x40\x95\x6b\xf6\x5b\x97\xdc\x91\xdd\x41\x0b\xc3\x8d\xb5\x7c\xf5\xbd\x49\x4f\xf4\xdb\x6e\x30\x74\x42\xfb\xd3\x0d\xa9\xd7\x37\x5d\x38\xbb\xbe\x96\x8a\xa2\xf2\xa9\x0a\xc9\x26\xdb\xe0\x4a\xc9\x0c\xd4\x78\xfa\xb5\x0b\x27\x69\x4b\x1b\x36\x6a\x0b\x02\xa4\x22\xf6\x03\x1d\x8b\xf5\x5a\x95\xd8\x7f\xad\x5b\x03\x38\x33\xee\x7d\x9a\x12\x14\x18\x7b\x29\x9b\xbd\x3e\x6f\x55\xc9\xd5\xb5\x55\x6d\x51\xed\x9d\x09\xdb\xc7\x98\xdc\xdc\xa3\x01\x80\x4e\x8c\x36\x6f\xd7\x0c\x15\x6b\x7a\xe1\xb5\xe4\xe5\xf5\x6a\xee\x17\x80\xf3\xba\x95\x37\xc2\xb3\xa9\xe9\x8f\x6d\xbf\x6d\x78\x65\x63\x4c\x95\x53\x11\x1f\x59\x58\x7f\x2e\x04\x69\xcf\xed\xf1\x30\x0f\xba\xd5\xa7\x70\x73\x7f\x2c\x1b\xc4\xb5\x99\x9e\xfc\xf9\xe4\x64\x33\x67\x93\x89\xb7\x46\xb6\x5e\x9d\xd7\x5a\x00\x44\x8a\x33\xb0\x56\x34\x2e\x1f\x7f\x58\xe6\x02\x94\x44\x26\xfd\xfb\x83\xe0\x63\x70\xaf\x74\x2c\x05\xd3\xa8\x9b\xc4\xf7\x1f\x49\xf3\x3c\x7f\xbb\x02\x43\x4b\xa3\xa6\xfa\xb0\x9f\x1b\x5b\xe8\x84\x97\xed\x62\xd3\x2c\xb4\x08\x31\x79\xe2\x27\xe5\x36\x44\x3a\xbc\x05\xb8\x9b\x5d\x59\x52\xd4\x22\x80\x84\xe1\xb7\xc5\x86\xb7\xb2\x59\x96\xbc\xda\xec\xf8\x46\x84\xe6\x68\x70\x5c\x16\xd5\x62\xa7\x26\xb4\x2a\x63\xb7\xec\x9c\x4d\x2a\x59\x89\x89\x07\x32\x8a\xbc\x2b\x5c\x31\x30\x15\x2d\x78\xd9\xd2\xb2\x0f\x82\x3a\x30\xb9\x87\x5a\xc8\x35\x83\xbe\x4e\x90\xd5\x83\x46\x35\xad\xdb\xae\xb5\x3c\xd9\x72\xb7\x7b\x1f\x28\x62\xe3\x67\x27\xff\x67\xaa\xbf\xfe\x0c\x2e\x08\xbc\x6c\x7f\x2e\xc5\x1a\xba\xf8\xb3\xeb\xec\xec\xbf\x9f\x2c\x5b\xa1\xda\xe9\xed\x6c\x96\xa4\x6b\x9d\xe3\x2c\xa3\x5a\xc9\x66\xc9\xcb\xf6\x7f\x37\x6f\x10\x0a\xe2\xd6\xda\x8c\x1f\xf8\xf5\xd2\xec\xa9\x6a\x9e\x89\x45\xa1\x16\x5b\xd1\x72\xff\x4b\xcf\x1a\x26\xdb\x78\x66\x2b\xbd\x52\x6f\x44\xcb\xdd\x9f\x3d\xad\x9a\xb6\xee\xd3\x02\x12\xee\xa1\xa7\x44\x95\xab\xc5\xfe\x9a\xb7\x03\x8c\xa7\x27\x1a\x05\xca\x9f\x7f\xbb\x58\x15\xed\xcf\xc6\x37\x77\x71\x23\x0e\xfd\x13\x8c\x35\x8e\x4c\xf1\xa5\x6e\xff\x7b\x2d\x0d\x26\xfa\xb7\xcb\xf5\x4d\xbe\xd0\xaf\x87\x05\xbc\x8d\x7a\xfa\xa8\x37\x3b\x6f\x0e\xc0\x59\x70\xc3\x4c\x4f\xfe\x4f\x59\xac\x16\xd6\x3c\xf8\x64\xfa\xe7\xcb\x47\xb3\x93\x00\x01\x8c\x37\x07\xca\x96\xae\x73\xbd\x4f\x27\xd5\x64\x49\x71\xa5\xe7\x3f\x6a\x9e\x5c\x6e\x44\xfb\x9c\xb7\xfc\xdb\xa6\xd4\xed\xfe\xf0\xf8\xc7\x59\x3f\xd3\x8f\xec\x09\xbb\xf5\x24\xc2\x69\x33\xcf\xa1\x05\x7d\x2c\xc1\x1c\x0e\x1e\x2d\x0f\x1f\x32\xfa\x80\x4a\xce\x4d\xff\x43\x2b\x98\x17\xfa\x7d\x49\x1e\x72\xe7\xfa\x48\xd8\x34\xbc\x6a\x45\x4e\x0e\x11\xf4\xcd\x39\xd6\x46\x78\x70\x9d\x9c\xe8\x56\xc4\x13\x9f\xaa\x14\x5c\xb2\x83\x96\x0d\x3e\xce\x37\xbe\x03\xa0\xba\x35\x89\x4b\x43\x62\xc6\x89\x5f\x57\x81\xb0\x21\x84\xde\xf1\x80\xfd\x8d\x50\x5a\x9e\x91\x6b\xc6\x31\x92\x08\x13\x97\xb2\x29\x78\xdc\x73\xc5\x78\x15\x12\x94\x15\x3c\x28\xac\x06\x68\x86\x12\x99\xbe\x08\x58\x59\xa8\x56\xbf\x89\x50\x0d\xd3\xec\x12\xd9\xe8\x08\xa5\x90\xec\x53\xb6\xe7\x07\x50\x9d\xca\xe6\x06\xf4\x87\x16\x52\x58\x0b\x3d\x16\xbc\x8d\xbc\x98\x39\xcb\x0b\x5e\xca\x8d\x8f\xa9\x21\xd4\xdc\x05\x09\x12\x0c\x67\x9f\xe3\x23\xa8\x95\x0b\x33\x77\x0b\xbf\x7a\x9f\xb3\x15\xbc\x53\x68\xef\x2c\xa8\xdb\x9e\x37\xd5\xb4\x9f\xef\xc0\x22\xa8\x1f\x5b\x0e\xef\x0f\x2c\x35\xf0\xce\x9f\xf4\x67\xf7\x9b\x8c\xd1\x01\x4c\x66\xbd\xb7\xd1\xbd\x18\xd8\x3e\x90\x92\x3b\xca\xab\xa6\x16\xa0\x99\x3c\x76\xfa\x2a\x01\xc7\x3a\xd1\x56\x4d\x6f\x67\x67\xbd\x34\x8b\x2d\xdf\x1c\xbd\x33\x02\xe3\x0b\xa5\xff\x4a\xd7\x1e\xa4\x0f\x46\xa2\x8f\x25\x0f\x06\xb0\x21\xea\x56\x9d\xf2\xd1\x2d\x7c\x63\x08\xa4\x5b\xc1\x2b\x16\xaf\xa9\xfb\x5f\xb0\xae\x06\xdc\x33\x43\x97\xab\x93\xa5\x17\x5b\x5e\x2f\xec\xab\x4d\x0d\xdd\x8a\x5e\x20\xd3\x6f\xda\x5b\x67\xee\x95\x6b\xf6\x16\x54\x12\xb3\x14\xbc\x24\x6e\x96\x6f\x82\x67\x04\x69\x19\xd2\xf6\x39\xb5\x9b\x35\x6a\x56\xfd\x1b\x65\x82\xea\x8f\x27\xba\x04\xb9\x14\xa8\x8b\x3e\xa3\x92\x93\x03\x18\xce\x0c\x12\xdb\x6d\x20\x9e\xf1\x86\x6d\xca\x2d\xaf\x9d\xe6\xfe\xbb\xab\xa5\x8b\xb4\x79\xc3\xeb\xe5\x96\xd7\xea\x07\x5d\xf7\xc7\x25\x14\xf4\x0d\x3a\xca\x8d\xc8\x44\x71\x8b\x6e\x6e\xb7\x58\x36\x3c\xbe\xa1\xe2\x0f\xb6\xd8\x8f\x7a\x39\xb0\x98\xff\xad\xbb\xad\xd9\xf1\x0e\x81\x49\x67\x0a\xd4\xfb\x6e\x47\x7c\xf4\x2f\xc0\x46\x30\x62\x1f\x13\xa5\xfa\xf4\xb3\xcf\x3a\x1c\x4a\xa9\x2d\xc0\xd4\xd0\x43\xd3\x5e\xb3\x84\x47\x9e\x36\x0d\x3f\xb0\x87\x0f\x83\x65\xb5\xe2\xf3\x0f\xa7\x3f\x82\x04\x8d\x4e\x34\x93\xde\x62\x8f\x83\x62\xe1\x2c\xb7\xa1\xa2\x23\xb4\x62\xdc\x76\x24\xfe\x8e\xf4\x7e\x7f\xa2\x3f\xdc\xce\xd9\xed\x8f\x83\x6f\x89\x93\x13\xf6\x92\xab\xd6\x18\x69\xbc\x93\x00\xaf\x98\x68\x1a\xb4\xf3\x8c\x6b\x8b\x98\x61\x42\x56\x89\x57\x67\xec\x99\x7d\xe1\x2d\x4b\xdd\xb3\x08\x88\x2c\x6a\x5e\x8a\xb6\x15\x9f\xe8\x7c\xe8\xfc\x0c\x2c\x31\xf2\xd4\x48\xf7\x87\x9c\x18\x1c\xf8\x4b\x36\x9f\xee\xe8\xf0\x9e\x79\xf8\x3f\xdf\x60\xeb\x26\x35\xbb\xf9\xa2\x5a\x99\xdd\x5c\x90\xcf\xcb\x4c\x56\x19\xb7\x38\x32\x6e\x2b\xd0\x51\xba\x93\xe3\x46\x1c\x3a\x47\x12\x1e\x4a\x85\x7e\xf5\xf3\x46\x89\x57\x55\x3b\xd5\xef\x8e\x33\x52\x40\x13\x2c\xd4\xd7\xfc\xeb\x69\x31\xd3\x93\x5a\xb0\xaf\xd8\x29\xfe\xe3\xf7\xec\xcb\xdf\xfc\x26\x24\x17\xa2\xd1\x4e\x5e\x55\xb7\xbc\x2c\x72\x93\xfa\xbc\xa8\x98\x99\x54\x9c\x16\xdd\xa3\x47\x6c\x62\xe6\xe8\x87\x1b\x71\xf8\x31\x68\x3a\x06\x94\x8d\xa6\xcc\x0d\xf7\x87\xe2\xc7\xb8\x17\x70\x54\x6e\x56\xe1\xf4\x55\xb2\xd9\x82\xce\xf5\xe2\xf2\x12\x6b\x85\xad\x69\x62\xcd\x66\x35\x8b\x56\xb4\x67\x69\x7e\x28\x00\xa7\x72\xb3\x0a\x3b\x17\xff\xeb\x43\xe7\x8d\x16\xfa\x08\x41\x34\x83\xf7\x5a\xc4\x73\x96\xae\xf1\x74\x16\x13\x88\xbd\x97\x46\x90\xe8\xec\xb8\xfa\xb0\x90\xd5\x02\x0d\x6b\xc7\xf6\x6f\xa4\x6b\xff\xec\xb3\xf8\x82\xdf\x29\xb1\x30\x6a\xe7\x05\xaa\xd0\x17\xba\xce\x31\xba\x3d\xfa\xf4\x2e\x7d\x50\xa9\x2f\x9c\x15\x70\x01\x0e\x0b\xa3\x9a\xe8\x57\xc6\x27\x5a\x69\x9b\x72\x51\x97\x3b\xb5\xd8\x16\xd5\x4e\x2d\x7e\x12\x8d\x5c\xfc\x24\xe5\x76\xb4\x48\xa4\x29\x7c\x53\xee\xd4\x1b\x5d\xff\xdf\x44\x23\xff\x4d\x02\x26\x54\xb2\xa5\x6c\xd4\x00\x02\xda\x17\xa6\xef\x49\x7a\xb7\x0b\xf4\x16\xba\x0f\x41\x8c\xd6\xa0\x57\x56\x9f\x4c\x79\xe1\x4a\x77\xcf\x6f\xc1\x55\xbb\xe0\xaa\xe0\xd5\x82\x6f\x57\xc5\x66\x27\x77\x6a\xc1\xd5\xa2\xdd\x4b\x7d\x41\xec\xb6\x7d\x02\x2c\xfa\x15\x2f\x1b\xb1\xe1\x4d\x7e\xf1\x97\x9b\xa7\xb6\x76\x62\x8c\x68\x16\x5a\x80\x92\x64\xa1\xcf\x85\x46\xf6\xbd\xba\xdd\x18\x6e\x5b\x63\x4d\xfa\xed\xb3\x02\x22\x86\x1a\x59\x26\x97\xde\x10\x5f\xc9\xb2\x4f\x0f\xe2\xe7\xe5\x50\x65\xcf\x64\x99\x5f\xf2\xb5\xb8\x6c\x79\x62\x73\x11\x62\x7a\x16\x56\xa0\x30\x3b\x46\x76\xf8\x50\x40\x92\xba\xd9\xa7\xea\x59\x63\xb2\xd1\xbb\x61\xdc\xe3\x68\x18\x26\x14\x0f\xc1\x05\x35\x2f\xf6\x4d\x71\x9c\xb5\xdc\x74\x5f\xd8\x7a\xdf\xeb\x6a\x43\x2d\xe4\x22\x7b\xfc\xe5\x68\xba\xcf\x75\xe9\x24\xb9\xb5\xac\xda\xc5\x9a\x6f\x8b\xf2\xe8\x8e\xd2\x0b\xf8\x52\x56\xed\x4b\x28\xdd\x59\x3d\xa0\x34\xea\x59\x27\x5a\x4d\x26\xfd\x88\x43\x2a\x5b\x89\xf0\x07\xbf\xb8\x4b\xd6\x3d\x63\xb4\xbc\xf5\x32\xf4\xe8\xe8\x76\xf0\x5a\x6e\xc5\xe2\x46\x1c\xd4\xc2\xb8\x29\x8e\x3d\x36\x74\xc5\x3f\x8a\x83\x72\x76\xd9\x78\x29\x74\x49\x2d\x7b\x56\x9b\x3e\x09\x2e\xf1\x96\x34\x15\xf0\xbc\x8e\xc4\x99\xcf\x6e\x67\x1d\xe9\x29\x92\x05\xc7\x3d\x0f\x41\x08\x9e\x4e\x5e\xe8\xff\xd1\xc2\x08\xe9\x29\xb1\x0c\x3d\x61\x2f\xee\x6a\x8c\x7c\x47\x19\x6e\x72\x5c\x7a\x6b\x9b\x43\x4a\x27\xd2\x1d\x1f\xcf\xf3\x67\xe6\xdf\x53\xa2\x65\x64\x19\x18\xef\xa6\x34\xfa\xf3\xfe\xfd\xd6\x62\x14\xc1\xf6\x8f\x24\xf6\x2d\xbf\x5b\xa0\xd1\x60\x61\x5d\x17\x46\x6c\xbc\x2d\xbf\xc3\x88\xbd\x4b\xeb\xee\xd0\x5d\x71\x48\x79\x87\xcc\xc4\x1b\xb1\x58\xeb\x7f\x8d\x5e\x7a\xa8\xac\x19\xea\x69\x23\x5e\xea\xff\x4d\x36\xd0\x72\xa3\xa7\x30\x9a\xef\xf1\xd4\x5b\x0e\xfa\x89\x17\xe8\xb4\x91\xa0\x0d\x2e\x0a\x70\x75\x2e\x50\x0d\x37\x66\xb7\xbe\x89\x5c\x0c\x3a\x7b\xb6\xe6\x9b\x8f\xdb\x5f\xba\xe2\xe0\xfe\xaa\xb9\x52\x0b\x5e\xb6\x0b\xf3\x86\xbc\xa7\x51\x4b\x4b\xc6\x52\xdd\x79\xf7\x56\x6f\xe1\xda\x29\xd1\x3c\xdd\x88\xaa\xb5\x9a\xfe\x37\x3c\x63\x6f\x2f\xd9\x9f\x4e\xfc\x86\x84\x57\xe6\x6b\xd1\xb2\xa7\x65\xbb\x78\xbc\x5c\xfe\xce\xc0\xb7\xc8\x00\xae\x6c\xda\x4a\x66\xee\x68\xf4\x20\xdd\x17\x6d\x76\x0d\x80\xc7\xb2\xa2\x94\x2a\x59\x2d\x74\x0b\x4c\x1d\x54\x2b\xc0\x8f\x10\x90\xd5\x41\x1d\x61\x1f\x5c\xb2\x16\x15\x6a\x3c\xf4\xd3\xab\xae\x6d\xcf\xfd\x98\xd8\x39\x9b\x7e\xa6\x47\xf5\xf0\xa1\xd1\x64\x60\x91\xab\x43\x0d\x09\x1d\x26\xb5\xac\x77\xf5\x64\xd6\xdd\xb8\xee\xfe\xe5\x4a\x3d\x2d\xdb\xaf\x31\xb0\xa6\x67\xd6\x41\xce\xfa\xdb\x4e\xbb\x96\xc3\xfe\xd1\xe6\x5d\x8f\x69\x78\xe2\xe1\x00\xf8\xdb\x4e\xfc\x1b\xdd\x85\x5f\x3e\xf1\x9f\x68\xd2\x7f\xf1\x9c\xeb\xe1\x8c\x98\xf3\xdb\x7b\x9c\x5b\x48\xf4\xbb\x04\x3d\xa3\x79\x5c\x88\x2a\x93\x79\xbf\x3c\x64\xae\xf3\x93\xff\x33\xdd\xb5\xeb\xc5\x6f\x7f\x6e\xf8\x7e\xf6\xdf\x4f\x66\xce\x06\x4a\xdf\xf8\xa1\xf2\x26\xd4\x33\xac\x65\xc3\x3e\x8f\xdb\xfc\xbc\xab\x8a\x41\x5b\x2a\xb4\xe5\x6d\x66\x5e\xbd\x40\xaf\x41\xa7\x48\x7e\x61\xc8\x25\x46\x69\x80\xf4\x64\xb5\x70\x2e\xbb\xe3\x14\xf7\x91\xe7\x6c\x3f\x5d\xf4\x0a\x1e\x4b\xd4\x7b\xeb\xa6\x29\xae\x78\xb3\x30\x2e\xeb\x23\x24\xca\x38\xf8\xb8\x2b\x52\x52\x20\xc1\xc5\x56\xde\x8a\x85\x8f\xb7\x1d\xdd\x40\x37\xdc\x37\xd1\x90\xa8\xf2\xbf\x2a\x2f\x05\x0d\xfe\x02\x46\xf2\x6f\xef\x31\xec\x74\x5d\xac\xdb\x05\x86\xb3\xdc\xf3\x69\x0f\x55\x31\xbb\x57\xf4\xc0\xa7\x2a\x9b\x66\x91\xa9\xa3\x72\x5a\xa4\x06\xf8\x56\x89\xe6\x42\x79\xd9\x15\xf2\x5e\x76\x9c\x79\x96\x8d\xe0\xf9\x25\x7a\xb6\x77\xe1\x09\x68\x41\xb0\x38\x1e\x9e\x96\xa5\x93\xf9\xf5\xba\x05\x6e\x4a\xa6\x47\xf4\x37\x83\xf3\xd2\x75\x54\x0c\x21\x86\x55\xe4\xf3\xa5\xac\x63\x3c\x7a\xec\x21\x7c\x57\xb5\x2e\x36\x36\xb7\x65\x18\xf8\x34\xe4\x69\xb5\x11\xed\x37\xe0\xee\xdf\x87\xa0\x4c\x06\x19\xa6\x85\x82\x87\xac\x3e\xf8\xf3\x02\x22\x81\xd8\xaa\xe1\xd9\x8d\xd0\xcf\x0d\x04\x41\xd8\xca\x7c\x84\x9f\xd7\x33\x5b\xcb\x2e\x70\x2f\x12\x80\xf5\x8c\x5e\xae\xe2\x2a\x50\x32\x09\x5b\x80\x41\x22\xd6\x8d\xcf\x45\x89\x58\x44\xb3\x83\xdc\x11\xf8\x05\x25\x5a\xeb\xb4\x5f\x8b\x46\x15\xaa\x9d\x33\x08\xb0\xf2\x58\x7e\x38\x11\x73\xd6\x70\x13\x3e\xcd\x31\x2f\x15\x7a\xf7\x39\x77\xc9\xe3\xc3\x26\x76\x04\x3a\x66\xe8\x6f\x98\x66\x88\x06\xb2\xc0\xe7\xb3\x44\x3c\x8e\x81\x47\x88\xe2\x23\xc6\xd4\x90\x4d\x2e\x9a\xa8\x74\x1a\xe3\x3a\x0a\xf0\xc1\xa9\xe5\x80\xd6\x88\x50\x28\x47\x39\xad\x67\xd0\x5d\x7e\xa3\xc3\x3e\xc2\x75\x18\x77\x81\x70\xda\x90\x14\x8c\x40\x0c\x55\xb1\x63\xf6\x91\x45\xb9\xf4\x69\x0b\x35\xed\x7c\x88\x1b\xfb\xbc\xbb\xfb\x79\xd1\x2f\x0e\xce\xdd\xdf\x05\x1f\x3e\xeb\x70\x4c\x2f\x2f\x26\x82\x6f\xfa\x6c\x12\x58\xf5\x2c\x1d\xd1\x1c\xab\xf2\xbc\x8b\xb8\x0a\x80\xd9\xe3\x60\x9e\x79\xba\x1b\xfd\xc1\xd0\xbf\x5a\x43\xbd\x6e\x0a\xa8\xa3\xb2\xa3\x1f\xde\x46\x3e\x92\xa6\x8f\x2f\xaa\x56\x54\xb9\x39\xdf\x81\xc9\x5d\x50\x3c\xe2\x2f\xa4\x43\xc6\x20\x16\x42\x90\x20\x08\x0b\xe1\xa9\xde\xfb\x28\x88\x23\x1b\x75\x80\x2b\xba\x9b\x35\x9e\xa7\x24\xf3\xfb\x39\xfe\x3b\x62\xfe\x48\xb9\x38\xc4\xfc\x89\xc8\xb2\xff\x8f\xf9\x53\x0a\xda\x7b\x32\x7f\x2f\x5f\xfc\xed\x98\x7f\x80\x2b\xba\xcc\x1f\x4f\x5f\x08\x28\x0b\x11\x78\x26\x2f\xad\x55\xed\xa2\x83\xa0\x9b\x00\x13\xce\x8b\xb9\x34\x77\x95\x4b\xba\xca\x31\xe8\x00\x62\x0c\x9a\x0d\x46\x7e\xfb\x7b\x36\xed\xac\x6f\x68\x5d\x00\x66\x08\xc4\x9d\x45\x10\x31\xdd\x76\x97\xa9\xa8\x03\xde\x6c\x50\x57\x0a\x44\xa2\xe6\x3d\xd2\xb1\xb4\xa8\x2f\x96\xd0\xc0\xbc\x36\xbb\xea\x82\xf6\x2e\xd8\x6a\xfe\xf7\xb9\x6f\xdb\xe7\x4c\x10\xd5\x6d\xd1\xc8\x6a\x4b\x60\xf2\x8c\xd4\xbd\x11\xed\x74\x42\x3e\x4f\x3c\x5e\x35\x3a\xa9\xd0\xaa\x9f\x9d\x5b\x67\x86\x09\x20\xad\x51\xaa\x46\xdd\x02\x1b\x23\x6c\xce\x44\xcd\x25\x90\xcb\x4c\xf8\x16\x2e\x1f\x7a\xfd\xd3\xa1\xd8\x5d\xf6\x9f\x7e\x48\x4f\xc8\xcc\xfe\xfc\x33\x9b\x10\x5f\xe1\x42\x3e\xb1\x91\x69\xcb\x7a\xa7\xae\xa7\x33\xff\x8d\x74\xe8\x09\xfd\xc3\x97\x90\xd5\x8b\xbb\xa2\x7d\x42\xe7\x34\xcc\x5b\x6c\x50\xce\x34\x71\x59\x4f\x03\x77\x01\xf8\xb0\xab\x80\x3d\xcb\xd2\xc5\xe7\x75\x7c\x27\x10\x4a\x8d\xcc\x7b\x56\x4a\x25\xf4\x6b\x5e\xdc\x15\xed\x64\x16\x7b\x1b\x18\x75\x0f\x94\x9a\xa6\x3c\x30\x69\xce\xa0\x54\xe3\x74\x7e\x35\xff\x24\x93\x9a\x19\xaf\xd1\x62\x1d\x1c\x2f\x16\x5b\x45\x05\xf8\x3d\xf8\xeb\x1c\xdd\x38\x7d\xe6\xd8\x23\x9c\x5b\xa8\x6f\xe8\x09\x3e\x7c\x1c\x38\x14\x95\x1e\x18\x15\xd2\xff\x57\x38\x66\xe8\x61\x10\x42\x69\x11\x99\x3b\xcf\xb8\x30\x72\xc9\x80\x4a\x07\xda\x3b\x88\xe8\x51\x42\x20\x6a\xc0\xc1\x87\x5c\xeb\x7b\x15\xa1\xa6\x4d\x0a\xdc\x91\x42\x71\xb4\x30\xdd\xc1\x07\x91\x9e\x9d\x75\xec\x5c\x18\x1b\xd1\x3e\x37\x01\xca\xd3\xd9\x72\x25\xf3\x83\x5e\x54\x37\x27\xdf\x5a\x36\xbc\xc7\xac\x0c\xf4\xbe\xc3\xd5\xf7\xed\x3f\x1c\x0a\xb4\x83\x5e\x9c\x31\x28\x35\xfd\x2b\x75\xa1\x87\x41\x6d\xab\xa7\x33\x8c\x9b\xd7\xd2\x8c\x39\x3b\x6d\xb8\xa6\x23\x17\x2c\xb3\xed\xaa\xcb\xfb\xc0\xc0\xf1\xf3\xe0\x7a\x00\xe6\x5d\xa2\x17\x88\x6f\x06\x54\x34\x7f\x60\xf5\x1d\x62\x9c\x08\x55\x34\x70\xa5\x9a\xd6\xe6\xe9\xb4\x7f\x7d\xc2\x12\x8e\x23\x88\xc8\xba\xf3\xd0\x99\xf5\x1d\x38\xef\x9b\x3c\x03\xf5\x5d\xea\xa8\xf6\x36\xe9\x59\x90\xc0\x2a\x14\x28\xcc\x7c\xd5\x77\xfe\x34\xd7\xe5\xf6\xd9\x85\x52\xef\x76\xa5\x4f\xe0\x1a\xfd\x6c\x9e\xb4\x7b\x13\x12\xd8\x21\x1e\x66\x74\xc2\x62\x5f\xb0\x2f\x89\xe7\xdb\xa4\xbe\x9b\x74\xd0\x4d\xff\xb7\xd5\x25\x98\xc3\x25\x58\xac\x63\xa2\x44\x77\xce\x92\x87\x06\xdd\x20\x6e\x02\xc2\xf3\x2e\xd9\x0d\xf4\x14\x18\xd7\x11\x34\xca\xdf\xbb\x2b\xde\x96\x9f\x10\xeb\x2f\x2e\x2f\xd9\xe7\xc4\x67\xe1\xf3\x7b\xef\xd1\xd0\x65\xa0\x67\x83\x26\x58\xc4\x74\x2b\xcd\x62\xc6\x81\x62\x36\x22\x16\xa7\x87\x47\x9d\xc7\x03\x85\x26\x4a\x79\xcc\x74\x26\x25\x15\xb7\x1d\x64\xfb\xea\x1a\x6a\x61\x0b\xcf\x41\xd4\xdb\xb5\x12\x33\x44\xe8\x23\xbc\x58\x3b\xd4\x84\x63\x6b\x9c\xb2\xe5\xa6\x93\xf9\xae\xec\xb7\xce\xc8\x13\x16\xe4\x58\x9e\xb2\x95\xbb\x9e\xbf\x7d\x01\xeb\x58\x03\xaf\xff\x04\x20\x3c\x86\x64\x0d\x98\xb2\xfe\x3c\xfd\xd3\xe3\xc7\x67\x7f\x56\x8f\x48\x7c\x16\xa8\xc4\x75\xcd\x9f\x7f\xd6\x04\x7e\xf8\x12\x1d\x9c\x2f\x9a\xb7\x97\x47\xfb\xf3\xe5\x59\x9c\x08\xb6\xaf\xe4\x3f\x77\x4e\x82\x84\xce\x53\x96\x79\xb8\xba\xc4\x69\x0a\x97\xb5\xb3\xa6\x9a\xd2\x7d\x96\x35\x60\xb9\xf4\x9a\x7a\x6f\xa8\xb4\x80\xec\x9d\xc2\xdc\xfc\x91\x2a\x9f\x45\xd6\xc6\x11\xcf\xd6\xa0\x41\xff\xc7\x99\xaf\x3f\xde\x81\x2b\x41\x21\xc1\x28\xf8\xc4\xa6\x89\xd3\xe8\xa1\x60\x32\x86\x24\xd2\x7d\x60\x2a\x81\x32\xbf\x57\xcd\x89\x9d\x2b\x43\xa0\x50\x76\x11\x34\xb3\xba\x9e\x2c\xc5\x7f\xec\x78\xa9\xa6\x96\xbe\x67\x4e\x5f\xc1\x4e\x6a\x68\x9b\x81\x71\x93\xd0\x6c\xc3\x4f\xf9\x13\x06\xfd\xd4\x3b\x4d\x97\xd8\x63\x1a\xb7\xbc\x40\x28\xbd\xa4\x93\xf6\x04\x84\x3e\xec\x14\x04\x81\xbb\x6b\x81\x15\xea\x49\xba\xce\xb1\xb3\xde\xc3\xcf\xdf\x97\x17\xfc\xc0\x47\x6b\x26\x7a\xeb\x77\x55\x08\x1c\x11\x2d\xe4\x3a\xa5\x90\x76\xe9\x13\xad\x14\x64\x2e\xb6\xff\xc4\xdd\x05\x09\x09\xcb\x0f\x20\x09\xe1\xbf\x8d\x46\x80\x35\xc2\xe0\x0e\xda\x04\x2b\x96\x30\xa5\x38\xb4\x49\xf9\xad\x30\xb8\x31\x63\x1e\x07\x46\xbb\x6d\x43\x9a\xf4\x0b\xa9\x72\x57\xc9\xd0\x25\x1e\xc2\xc2\x8e\x6b\x2b\x9c\xeb\x23\x6d\xa8\xa1\x36\x42\x4a\x09\x84\xe6\x36\xae\x9a\x6a\xbb\x5f\x25\x14\xe4\xf2\x59\x73\xd0\x59\xf0\xba\x2e\x0b\x8f\xb5\x17\x8b\xd8\x6e\x85\xad\xa0\x7b\x35\x4c\xef\xb8\x9c\xf4\x6f\x52\x6e\x5f\x62\xdb\xa3\xe5\xa4\x50\xac\xfc\xc9\x51\x08\x55\x41\x80\x03\x81\xa3\x28\xda\xd2\xa3\x27\xdb\x31\x4d\x94\x77\x90\x38\x22\x89\xa3\x93\xf9\x15\x90\xa1\x0b\xa4\x7f\xc0\xae\x46\x80\x7f\xcb\xd6\x94\x85\xff\x8d\x16\x02\xb0\xef\x10\x2d\x03\x72\x19\x94\x07\x83\x72\xd4\xb7\xad\xcc\xe3\x22\xdc\x55\xa6\xb0\x5e\x00\x87\x9d\x84\xaf\x1d\x4d\xfe\x98\x72\x08\x4b\x75\xf7\x10\x52\xf5\xf7\x5c\x03\xf9\xda\x31\xa9\x6b\x56\xf2\x6d\x6d\x4a\x2c\x1b\xc8\xa3\x3e\xa7\x0c\x49\xf3\x60\x2e\xd8\x63\x77\x19\xa0\x23\x77\x9a\x0c\x7e\x4b\x52\xc2\xe7\x82\x25\x14\x30\xbe\x33\xe7\xb9\x28\x45\xe8\x0e\x12\x73\x77\x42\xd0\x04\xfb\xbd\xed\x87\x4b\xbd\x13\x7e\x3f\x3f\xb7\x05\x1e\x3e\xb4\x9f\x2c\xf8\x79\x70\x4f\xf7\x1c\x2a\xb6\xac\x43\xeb\x89\x44\x99\x8b\x52\x70\x6a\x14\x9d\x28\xe6\xaa\xac\x4b\x7e\xcc\x98\x07\xee\xad\x38\xe8\xb7\xbe\xa5\x1e\xd1\xfd\x48\xff\x4c\x54\x6d\x28\x48\x2b\xd2\x37\xc4\xe7\x19\x69\x52\xb5\x50\x3d\xde\x70\xa7\x7f\xe8\x98\x54\x1d\xf4\x20\x7c\x3e\x23\x59\x95\xf4\x1b\x12\x49\x41\x1a\x96\x0f\xa9\x07\xd8\xc8\x4e\x6d\x7a\x3b\xd5\x67\xf2\xc4\x6e\xa5\x34\x0e\xc8\x7f\x11\x9e\xe2\x1c\xf1\x2a\xed\xbd\xf5\xed\x2b\x87\x9f\x33\xe6\x14\xc1\x67\x32\x35\x79\xec\xb6\x15\x24\xed\xf5\xaf\x7a\xf2\x63\xec\x94\xd6\x5a\x38\xd5\xe8\xdd\x3d\x79\x7c\x7a\xfa\x4f\x93\xa4\x20\xd7\x57\xe5\x0d\x6f\xaf\x97\x99\x28\xca\x38\x33\xf3\xf0\xdb\xdd\xee\x1c\xd2\xc7\x47\x89\xaa\x78\x21\x38\xbf\x1f\x18\xf8\x37\x77\x33\xf6\xc8\xbd\xf7\xbb\x38\x56\x84\x66\xdf\xa9\x42\x0f\x02\x4c\xfa\x7e\x79\xa8\xb2\xf0\x24\x78\xdf\xf3\x6e\x36\xe7\xd2\x27\x5c\x4e\x4c\xec\x1b\xe5\x6d\x8f\x16\xd3\xfe\x72\x6c\x25\xaf\x2d\xad\x7b\x2c\xa5\xad\x33\x6e\x01\x4d\xe9\x2f\x98\xeb\xd2\xd0\x62\x24\xcf\xe2\xb9\xab\xfb\x31\x0b\xf1\x5c\x58\x48\x03\x67\x11\xa1\x30\xd3\xe6\xb2\x1b\xbc\xb3\x7c\x07\x7b\x76\x11\xe9\x61\x72\x3f\x85\x29\x32\xfd\xc8\x08\xe0\x90\x69\x05\x33\x3d\x07\x3b\xd4\x21\x15\xb9\x19\x4c\x90\x33\x8c\xda\xa1\x67\xb2\x40\x4f\xc9\x0c\x1a\xa4\x5e\x51\xe5\x60\xc9\x08\x67\xa5\x95\xac\x2e\x77\x9b\xa2\x22\x00\x7a\x01\xd4\x97\xea\x6e\x1a\x42\x7b\x78\xde\x71\x33\x87\x13\x9f\x52\x80\xee\xaf\x39\xc2\x1c\x5a\x88\xb4\x5c\x56\x22\x01\x8f\x16\xd0\x83\x74\x7e\xbb\x16\x35\xe3\xbb\x2a\x07\x9f\x29\x4c\x0a\x6b\x13\x49\x02\xe2\x07\xb1\x25\xb3\xa2\x72\x29\x27\xdf\x4f\x67\x16\x0c\x04\xc6\x0d\xd9\x0f\x64\x1e\x26\x36\x6c\x76\x15\x0b\xd0\x39\x48\xea\xdd\x44\x0e\x71\xc5\xe4\x9a\xaa\xe0\xb1\xc3\x76\xe0\xef\x44\x79\x80\xdc\xb4\x61\xde\xec\x56\x32\x05\x99\xa9\x21\x0a\x1a\xc0\x40\x82\xcc\x9f\x26\x43\xad\x4d\xb9\x28\x5b\xb6\x02\x3d\xbf\xf1\x81\xc9\x64\xd3\xe8\xa7\x0e\xe6\x4c\x39\x88\xd6\xcf\x5b\x25\xee\xda\x0e\x14\xe4\x75\xd1\x1e\x53\x09\x07\xac\x79\xaf\x7b\xe4\x2b\xa7\x25\x6e\xaf\xb5\x44\xa7\xf9\xed\x05\x86\x86\x3c\x6d\x5b\xb1\xad\x5b\x03\x30\xab\xe9\xb3\x15\xcf\x71\x86\xd0\x5d\xb1\xb3\x07\x5c\x0e\xde\x0b\xf8\xa2\xd8\x79\x70\x21\x2c\x42\x31\x64\x63\x2e\xbe\x69\xa8\x80\x0e\xa5\xbc\x80\x42\x52\xdc\xf3\x9f\xd3\x9b\x32\xe8\xd0\xef\xd9\xa9\x3d\x69\x9d\x32\x3b\x82\x92\x9e\x05\xc7\x66\x17\x33\xb1\x4f\x1a\xa5\xed\xcc\x3a\x9a\x2d\x17\x32\x5d\xb8\xec\x7c\x16\x71\x7b\x59\x8a\x6a\x83\x02\xed\x19\x2b\xd8\xef\xcf\xd9\xe9\x19\x2b\x16\x8b\xd0\x11\x3d\xac\xf3\x43\xf1\x23\xfb\x2a\x58\x00\xa7\x59\x58\x35\x82\xdf\x78\x14\xa7\xb0\x29\x62\x72\xfc\x10\x5c\x1f\x3d\x33\x9a\x3e\x14\x8f\x1d\x23\xe6\x4a\xf9\x74\xe7\x48\x48\xf0\xbf\xc2\x41\x82\x3d\xfe\xaf\x7a\x92\x98\x4b\x69\xa4\x08\x73\xff\x43\x04\x67\x07\x4f\x91\xf0\xe2\x73\x47\xc8\x3b\xb9\xd7\xe7\x87\x6b\xa4\x7b\x78\x60\x27\x7b\x4e\x0f\x27\x37\x59\x02\x8e\x7a\x66\x9f\xb6\xad\x05\x0b\x46\xf1\x64\x1a\x1d\x19\xd0\x81\xaf\xfc\x79\xa1\xaf\x64\x34\x3b\x6f\x64\xcb\xd4\x96\x97\xa5\x30\xf0\x17\xbe\xfc\x17\xe7\x6c\x61\xd2\x0d\xee\xaf\x8b\x52\x10\x5a\x21\xfe\x59\xc9\x15\xa4\x7b\xf5\xb9\x54\xdf\x99\x8e\x4e\x67\x70\x12\x90\xad\x6f\xcb\x2e\xa8\x28\xe7\xe0\xfd\xed\xf1\xa1\x9f\xa9\xee\x05\xde\x77\x1c\xb8\x93\x04\x1b\x84\x74\x86\x86\xfc\x6c\xf0\x08\xb1\xf3\x5e\x43\x9a\x54\xef\x44\xe0\x86\xb7\x58\xd8\x63\xe5\x01\x0b\x30\xde\xc2\xe3\xe5\xba\x58\x43\x22\x45\x32\x2f\x67\x0f\x22\x29\xd5\x0f\xad\xde\xa9\xeb\x25\xaf\x6b\x6b\x5d\x8a\xbe\xcf\x75\x13\x33\x9f\x57\xfc\x7b\xc1\xfe\xb2\x53\xad\x43\xd5\x84\x8c\x0a\x0e\x5a\xb3\x95\x75\x98\x24\x65\xae\x77\x96\xdd\xf0\xbb\x3a\xe7\xad\x4b\x04\x4e\x1e\x97\x44\xee\xf7\xaa\x01\xd4\x7e\xc0\x5b\x69\xcb\xef\x88\xea\xc3\x5e\x04\xba\x7f\x98\x86\x24\x00\x6c\xf1\x9c\xf2\xfb\x3e\xce\x2a\x79\x03\x38\xeb\xee\x92\x22\xdc\x78\x3e\xc4\x01\x21\x83\xf9\x32\xe6\x9d\x61\x7a\x5b\x54\x53\xd2\xc1\x21\x72\x67\x84\x5a\x83\xbb\x31\x59\x5c\xd5\x65\x91\x89\xe9\x83\xa4\x4e\xbb\xc3\xa6\x8b\xb8\x67\xf3\xf8\x07\xd7\x70\xc0\x39\xbb\xca\xf3\x4e\xe3\xd9\x86\x6e\xbe\xc5\x79\x4c\xea\x2c\x54\xe8\xe8\xf5\x79\xd4\x53\xe8\x43\x62\xc2\x03\x51\x00\x6e\x96\x1c\xc6\x12\x31\xef\x07\x0a\xa2\xfc\xdd\x15\xbe\x6e\xdf\x41\x86\x2b\x83\x1b\x6a\x9c\x17\x88\x66\xc3\xe9\xd8\xac\x62\x2d\x7c\x9b\x76\xb1\xac\x9d\xe2\x35\xe0\x62\x33\x0e\x86\x49\xa6\x8e\x3d\x4d\xa1\xfc\x1f\xe4\x36\xa1\xff\xe8\xda\x76\x71\x14\x72\x7f\x25\xaf\x64\x3d\x3d\x1d\xdd\x41\x71\xd4\x01\x0d\x49\xbf\xa8\xfa\x7c\x40\x7a\xba\x81\x89\x33\xa6\xdd\xf3\xf2\x78\xd7\xb4\x54\x51\xf3\x8d\x60\xbb\x9a\x4d\x01\x89\x03\x7e\x2a\x8b\x4a\xcc\x58\x23\x4a\x0e\x09\x8a\xac\x17\x1d\x2a\x29\xc0\x5d\x71\xa4\xd5\x01\x3b\xcc\x37\xe2\xdb\x3a\x6d\x15\x2c\x52\xf6\xae\x54\xba\xed\x63\xeb\x50\x84\x17\x21\xbd\xeb\x1e\x81\x42\x74\xec\x4c\x40\xf6\xd7\x5f\x75\x2e\x9e\xeb\x16\x7e\xed\xd9\x78\x34\xac\x67\xee\xa8\x59\x63\x07\x34\x25\x32\x59\xe5\xf4\x17\x5e\xe5\x1f\xb5\xbb\xf6\x45\x2d\x4c\x06\xe1\x84\x41\x68\xf0\xe6\x66\xa7\xc9\xc1\x22\xe6\x0e\xcf\xae\x2d\xb6\xf1\x0f\x09\x13\xe0\x3c\x6d\xd9\xfb\x71\xb9\x96\xcd\x0b\x9e\x5d\xfb\x58\x29\x1c\xa0\xbd\x25\x7c\x5e\x77\x76\x6e\x93\x6b\x05\x42\x95\x3d\x0d\x4d\x21\x72\x5f\xb9\x63\x0c\x6d\x3d\x78\x24\x9e\xce\x0d\xb9\xf0\xf8\x06\xed\xb4\x3e\x72\x6c\xf3\xe4\xf1\x11\xc6\x5a\x51\xd7\x8e\x84\xc2\x28\x31\x3f\x05\x46\xd5\x75\xbd\x3f\x5e\xee\x68\x7a\x0c\x9b\x38\xe8\x88\xd9\x43\xb4\x3d\xab\x06\x43\x78\x5a\x96\x14\x35\x7f\x14\xa4\xbe\x1f\x7b\x62\xdd\xc6\x7a\xa5\x23\x46\x5e\x3f\xd5\x78\xe1\xc7\xbb\xa1\x77\x28\x77\xf0\xf3\x3a\xee\x0b\x01\x1a\x1f\x5d\xb4\xdb\x36\x41\x4e\xae\xdb\x77\xf6\x47\x7a\x2c\xc9\x75\x9b\x58\x1d\xc8\x06\x20\x9a\xb5\x6c\xb6\x8c\x33\x5d\x39\xed\xa0\x07\x31\x94\x0a\x61\x59\x73\x93\xb5\xfa\xba\x6d\xeb\x27\x27\x27\xfb\xfd\x7e\x79\xdb\x3e\x3e\x3d\x5d\x56\xa2\x3d\xc9\x65\xa6\x4e\x6e\xdb\xdf\x3c\x3e\x5d\x34\xdb\x93\xe7\x2f\x2e\x2e\xaf\xde\xfd\xb7\xab\xdf\x2c\x7e\x77\xe4\x00\xb3\xdd\xee\xb2\xc3\xc9\x09\xc3\x2f\xfe\x38\xc5\x40\x38\xd3\xc7\xa2\x89\x7a\x79\xcf\x54\x22\xdf\x43\x2e\x9b\x3d\x95\x3e\x65\x45\xa7\x62\xb5\x6b\x2d\x1c\x2b\xac\x2e\xbe\x26\x01\x9a\x0f\x1e\x81\x9d\xf6\x28\x14\x1f\x80\xdc\xa0\x3e\xc0\xa6\x22\xa1\x9f\x6d\x27\xfe\x04\x91\xe3\x90\x2a\x10\x1a\x55\x24\x7a\xcf\x40\xad\x85\xbd\x9a\x63\xee\xb4\xf6\x1a\x22\x42\x8a\x16\x9e\xf6\xd5\xa4\x35\xa9\x65\x84\xd8\xba\xc7\x3d\xda\x40\x45\xce\x78\x75\xd8\xeb\x37\x7a\x4f\xa6\xc5\x91\xe8\x63\xe3\xd9\x3c\xae\xeb\x53\xa6\x40\x72\x03\xb6\xe5\x15\x5e\x8b\xe2\x4e\x4b\xb3\x45\x0b\xa6\xd7\x83\xc9\x5c\x07\x4e\xbe\xa8\x5a\x08\x87\xbe\x1c\x29\xf8\x75\x66\x56\x2f\xb3\xea\x5d\xe7\xb9\x59\x68\xa1\x52\x4b\x6d\xe6\x35\x58\x6f\xb7\x75\x6d\x24\x75\xdb\xec\x44\xb8\xed\xde\xd8\x14\xfb\xa6\xc5\xb5\x49\x51\x60\xb6\x17\x68\x0c\x6c\x66\x36\x40\x11\x30\x1f\xf4\xf3\xd0\x68\x9a\x40\xf7\xb0\x66\x95\x64\x5b\x48\xfb\xee\xf2\xbf\xf1\x46\xb0\xe3\x87\xac\x69\xd1\x1c\x95\x69\xd1\xc0\x99\x84\x07\xdd\x34\xa0\x10\x4c\x6b\xa0\x57\x3b\x3d\x03\x28\xc1\xa4\x7a\xed\x8c\x15\x8f\x1e\x75\x74\x7f\x81\x42\xcd\x1a\x82\xa3\x7b\x8e\x86\x88\xee\xb6\x55\xb7\xa2\xbb\xf1\x28\x92\x8f\x53\xaf\x9d\x9c\x18\x1e\x73\xeb\x99\x39\x83\x6f\x60\xe7\xd5\x3c\xf0\x87\x2b\x3d\xf3\x17\x7f\xb8\x5a\x9a\xf9\xa0\xc6\xe3\x11\x36\xdc\xb3\x0e\x43\xd0\x4e\x8f\xb3\xa1\xf7\x9b\x87\x7d\x2b\x03\x7c\xa5\xc5\x1b\xca\x58\xd6\x99\x21\xc9\x5c\xeb\xa2\x49\x70\x57\xa7\xca\x58\x0e\xb3\x6d\xff\x7a\x2c\x76\x3f\xd5\xed\xb0\xe2\xf6\xd3\xf2\x59\x92\x46\xfc\x22\x10\x2d\xe3\x6e\x56\x99\xc9\x88\x89\x29\x55\xb0\x4f\xb1\x6b\x49\x51\xb5\x1f\xec\x8c\xfd\x9b\x68\xa4\xf1\xb0\xf4\x85\x87\x4d\xa1\x89\x85\xa0\x63\xff\xe4\x53\xeb\x7c\x35\x66\xd1\x54\xdd\x7f\x39\x7c\x4f\x8c\x82\x43\x3f\x36\x1e\x83\x43\x0a\x71\x27\x19\x5e\x8e\x0e\x8d\xd3\xb0\x7e\xd2\x0b\x24\x5e\x9e\x23\xbe\x75\x5f\x4b\x26\xd6\x6b\x91\xb5\x26\xf2\xa6\x31\xb9\x75\xef\x43\xe7\x98\x7b\x89\x59\xc6\xa7\x6d\x9f\x6f\xdd\xc7\xec\xab\x9e\x75\x2f\xf4\xf3\xef\xed\x7a\x1a\xf9\xec\x14\x7a\x6d\x17\x8f\x67\x0f\xa2\x55\xed\x59\xab\x79\xfa\xf9\x17\xa4\x1f\x1d\x33\x72\x22\xf7\xf7\x3c\x0f\x3a\x1c\x4b\x9f\x73\xdd\x34\xa5\x49\x17\x1b\xb6\xab\x03\x19\x97\x64\x48\x55\x2d\xc7\xfc\x85\xa0\xc7\xe4\xc9\xcd\x7a\x65\xa2\x75\x15\x6e\x6e\x58\x74\x71\x2b\x9a\x83\x35\xf6\xb1\x7f\x72\x7d\x05\x93\xdb\x8c\x59\xf7\x2a\x4b\x1e\x12\x58\x59\x4d\xa9\xaa\x45\x86\x19\xaf\x6c\x31\xd9\xb0\x53\x73\x38\x1b\x8a\x85\x72\xa9\xba\xd1\xf4\x02\x72\x8d\xbe\xc7\xc0\xa0\xb2\xde\xb5\xbb\x46\x18\x6b\x06\x66\x18\x47\x7f\x8b\x2d\xdb\xd5\x41\xbf\x13\xd7\xa2\xb8\x2b\x14\x7a\x80\xba\xf3\x1f\x2e\x8a\x39\x84\x9f\xc6\xeb\x62\x73\x6f\xb5\xd7\xbc\x4d\x1e\x5f\xb2\x6e\xdf\xc3\x38\x7d\xd6\x24\x37\xab\x3f\xf9\x33\xcd\xfd\x66\x07\xbd\x53\x62\xbd\x2b\x6d\xf6\x24\xdd\xc4\xba\xc0\xc4\xaf\x72\xd7\x32\xc8\x75\x10\xf4\xb1\x27\x3d\x98\x9e\x81\x11\x11\xd0\xcf\xbb\xac\x42\x93\x9a\x43\xef\xfc\x66\xc3\xf1\x9c\x93\xb1\xfd\xfc\x33\xf2\x9d\xfe\xba\x27\xdb\x0a\x16\xfc\xcc\xbc\x5e\x20\xba\x17\xcb\x6b\x96\x83\x64\xc6\x11\xcf\x69\xc9\xc3\x52\xc7\xff\x5d\xb0\xc7\x6c\xc1\xa6\x53\xf7\xd7\x8c\xfd\x13\xdb\xcf\xd8\x23\x06\xf2\x46\x70\x88\x43\x19\x22\x86\xc5\x22\x87\xfe\xf4\xe8\x9c\x45\x8e\x73\xee\xa2\x98\x16\x91\x46\xb5\x2f\xcf\x6f\x10\xbd\x67\x72\x25\xea\x67\xa3\xb5\x75\xc9\x35\x4d\x75\xef\x22\x99\x6d\xd2\xab\xd8\x36\x86\x02\x06\xea\x79\x5c\x36\x72\x27\x16\x67\xbc\x2c\xfb\xd2\x82\xa9\xb6\x61\x97\xc9\x56\x31\x23\x97\xed\x1b\xbc\x9e\x94\xb2\x91\xf3\x47\x83\xfd\x6c\xbd\x00\xf7\x82\x86\xc1\xdf\xb6\xbe\x14\x7c\xfa\x08\xd7\x9b\x2b\x7e\x83\x42\x28\x91\x03\x9e\xbf\xfa\xce\x45\x7a\x73\x15\xf2\xb3\x49\xea\x11\xcf\xc5\x1f\xae\xde\xbc\x7e\x5e\xdc\x9a\xfc\xa6\x1f\x20\x01\xb8\x4b\x04\x2e\x8f\x51\x1a\x98\x06\x9b\x4c\x9b\xce\x42\x5e\xdc\x92\x59\x30\x39\xc4\xf3\xe2\x36\x1d\xc5\xe6\xd2\x71\xeb\x6a\xc7\x51\x23\x30\x3b\x47\x47\xef\xd1\xc9\xfe\xd1\x97\x66\xbd\x93\x8a\x63\x88\x14\x46\xdf\x8d\xa0\xe4\x9c\x59\xa9\x7c\xd2\x43\xd4\xe5\xf7\xe8\x27\x6c\x01\x97\x3a\x64\x1c\x80\x13\x55\xed\x80\x63\xd9\x5a\x66\x3b\x67\x00\x82\x3f\xe2\x94\xc5\x76\x23\xbb\x90\xb9\x0e\x75\x12\x71\x18\x06\x72\x85\xa1\x6d\x84\x56\x07\x1f\xac\x43\xb3\x8b\x3a\x36\x0b\xb4\x73\xbd\x00\x60\x7d\x33\x39\x08\x38\x16\x4c\x0b\x49\xea\x9e\xd2\x65\xfb\xd8\xda\x44\x1d\x08\xb7\x5d\xca\x2a\x93\x55\x2b\xee\xda\xad\xa8\x76\x71\x7a\x46\xe3\x90\x8a\x01\xd2\x3e\xf0\x5d\x56\x10\x5a\xe6\xd3\x48\xc3\x9f\x61\x02\x69\x67\x00\x14\xa2\xfa\x1a\x33\xa2\xa5\x7a\x78\xe9\x0a\xa0\x36\xc5\x57\x58\xf2\x3c\x7f\x71\x2b\xaa\xf6\xb5\xc9\x7d\x64\x02\xd2\x72\xb9\xaf\x26\x73\xdb\x87\x91\x95\x76\xf5\xbd\xab\xe8\x79\x8f\x2a\x75\x06\x20\x2b\xb2\xb6\xfa\x22\xc4\xc2\x30\x51\x43\x2d\x98\x85\x9f\x00\x13\x4f\xe6\x76\x1a\x5f\xea\x3f\x31\x32\x80\x4c\xe6\x1c\x6e\x1b\x64\xa9\x93\x13\x86\x44\xe0\x74\x74\xf3\x81\x9e\x1a\xca\xba\x76\x90\x59\xe7\x8a\x15\x15\x7b\xf9\xd2\xc4\x08\x67\x3b\x65\x92\x71\x63\x05\x44\xcb\x58\xed\x56\x26\x75\xff\xe8\xe9\xef\x80\x9f\xe9\xeb\x13\x35\x7a\xd3\xd1\xa3\xe9\x2a\xdf\xc7\x4c\xda\xaa\xdc\x35\xc7\xe7\x0c\x78\x76\xe6\xfd\x39\xc0\x2b\xf5\x68\x52\x6c\x28\x85\x41\x71\xe8\xc6\xaa\x77\x86\x31\xa8\x38\x5f\xd6\xe9\xc4\x3c\x28\x16\x95\xcc\xc5\x0f\x30\xab\xe7\x9f\x43\x83\x9f\xff\xc8\xfe\x93\x44\x58\x4d\x18\x5b\xc9\xbb\x05\xfa\xf0\x3e\x61\x08\xae\xb5\x58\xc9\xbb\xb3\xa8\x50\x94\x2c\xea\x09\xa6\xc9\xac\x39\xbc\x95\x3e\x2b\xb6\xb5\x6c\x5a\x5e\xb5\x71\x35\xa4\x67\xbc\xe1\xbe\xac\x3b\x64\xf1\x3b\x8c\xe4\x09\x53\xb2\x2c\xf2\xa0\xc4\x07\xfa\xc7\x72\x9f\xc1\x78\xe2\x01\x98\x4b\xf2\x09\x2b\xaa\xb2\xa8\xc4\x62\x55\xca\xec\x26\x6a\x48\xcf\xd2\x82\x97\xc5\xa6\x7a\xc2\x32\xa1\x05\x82\xa8\x00\x71\xd8\xeb\x6c\xa2\xde\x30\x6c\x36\x89\x46\xf4\x81\xa4\x2b\xf7\x4b\x78\x2d\x78\x6e\x0c\xe3\x17\xd7\x45\x99\x4f\x61\xbc\xd1\xca\x5f\x5e\x0b\xd1\xaa\xee\xfa\x93\x8f\x2e\x20\x04\xc3\xc7\x15\x08\x92\xee\xeb\x0f\xe4\xdf\x44\x2d\xf0\xe3\xd2\x16\x77\x3d\xf3\x01\xe8\xec\xdc\x11\xfb\xc1\xfe\x83\xd6\x25\xf6\x14\x0f\xc4\x76\x94\x47\xf3\xe2\x96\xcc\x03\x85\x70\x03\x28\x1c\xc8\x0f\x7b\xee\x12\xd9\xe8\x25\x9d\x0c\x00\xbe\x65\x4a\x5d\x69\xf1\xd2\x33\xb7\xbd\xbc\x9f\x30\xbe\x52\xb2\xdc\xb5\x22\x58\x84\x56\xd6\x4f\xd8\xe2\x77\xbf\x8b\xd6\xc6\xb1\x49\x97\x3f\xee\xbb\xf8\xdd\x85\xa7\xae\x5a\x47\x48\x38\x3b\x74\x4c\x63\xb1\x17\xab\x9b\xa2\x5d\xf8\x04\xb4\x4f\x98\xac\x79\x56\xb4\x87\x79\x67\x03\xb2\xc7\xa7\xa7\x5b\x05\xf6\x68\x1e\xf2\xf2\x62\x2b\x7f\xfa\x28\x1a\x29\x1b\x17\x42\x24\xf5\x59\xb8\x10\x13\x3f\x94\x25\xee\x6b\x1b\xeb\x8d\x63\xe9\x11\x07\xe8\x3e\x8a\x39\x66\x46\x12\x8d\x57\x36\xd3\x41\x84\x78\x37\xd1\xcf\x4d\xb9\x5e\xb3\xbd\x7e\x77\xfb\xd0\x2f\xfd\xc8\x16\xc8\xc1\x2c\x2f\x1a\x91\xb5\x36\xed\x3f\xfa\x4e\xba\x40\x78\xab\x19\x82\x54\x28\x8c\x33\x48\x2f\xb8\x64\xf8\x4c\xdf\xf2\x1b\xa1\x6c\xe2\x45\x97\x6a\xd9\xd8\x22\x7c\xbe\x65\x77\x7f\xdb\x6b\xce\x65\x5b\x36\x92\x15\xf0\xa8\x68\x96\x8c\x5d\x16\x15\xa4\x96\xb7\x44\x82\xef\x90\x22\x9b\xd5\x42\x34\x6c\x0a\x36\x10\x96\xe9\x89\x99\x85\xbe\x2f\xfa\x6c\x9e\xfb\x01\xe8\x76\xa3\x3b\x16\x35\x0b\xdc\x26\x65\xf7\xd5\x40\x25\x01\x7f\x2d\x1f\x98\xc4\x8d\x27\x27\xec\x55\x3b\xd1\xed\x5e\xf3\xec\x06\x8d\x30\x85\xfe\x01\xb4\x67\xa5\xe0\x95\x50\x2d\x64\x74\x7c\xc5\x32\x48\xde\xb8\x2e\xc0\xd9\x85\x6e\x8c\x67\xd8\xff\x8f\x39\x4f\xba\x04\xfe\xea\x07\xc5\xe3\xd3\x9e\xed\x8f\x1f\x52\x77\x40\x9a\x77\xbb\x63\x99\xdd\x53\x86\x1d\x2f\xf1\x31\xf6\x43\x20\x20\x11\xb9\x33\x90\x27\x27\xc0\xd0\xfa\x1f\xf9\xaa\x34\xff\xd6\x03\x4d\xf8\x4a\x00\xff\x10\xd4\xa6\xbe\xf5\xe9\x48\x4a\x50\x31\x14\x5d\x3d\x01\x7a\x05\xdc\xaf\xa6\x9f\xee\x91\xf5\x7a\x9c\x2b\x06\x7b\x30\x2c\x65\x76\xe5\xcc\xf8\x1d\x68\x7d\x3b\x7a\xfc\x3a\x44\xfb\x4e\xdc\x8a\x46\x89\xef\x8a\x5c\xc8\x29\x4a\x89\xe9\x57\x3b\x50\xee\x75\x01\x42\xed\xc6\x3b\x91\x37\x7c\x9f\x44\xa2\x82\x0d\xfb\x87\xab\x37\xaf\x9d\xc9\x19\x94\x83\x80\xa6\xce\x8b\x2a\x52\x45\x3c\x7f\xfb\x86\xe9\xab\xfa\x98\x3e\x98\x3c\xea\x86\xe3\x07\xdd\x62\x85\x4e\x29\xf0\x84\xbe\x07\x0a\xaa\x7d\x73\x1f\x73\x91\x73\x93\x35\x30\x0f\xe6\xc4\x31\xc8\x73\xa8\xe8\x69\xe4\x9e\x81\xb2\x3d\x50\xc7\xc2\xb9\x8b\xa8\x8d\x5e\x21\xfc\x4e\xee\xbf\x41\x65\x6f\x83\x2a\xad\x35\xcf\x04\xdc\x0c\xc2\x78\x99\xe9\xae\xb0\x9d\x42\xe7\xfc\x02\x4e\xd7\xb5\x68\xb3\x6b\xf4\x1c\x95\x15\xcb\x05\x62\xeb\xc1\x14\x1c\xd0\x9e\x07\x35\xc1\x89\xa3\x95\xec\xb6\x10\x7b\xd7\x93\xb7\xcf\xdf\x4e\x9b\x4d\x51\xe5\x7c\xf6\x84\x5d\xc8\x4a\x41\xd3\x8a\xdf\x16\xd5\x86\x7a\x66\x01\x75\xae\xd8\x14\x46\x89\xe9\x9b\xe7\x08\x3e\x9b\xe1\xd3\x61\x06\xbe\x6b\xbc\x40\x7d\x5c\x26\x2b\xc8\xe8\xce\xb6\x62\x2b\x9b\x8e\x22\x4b\x8f\x6d\x23\x9a\x0f\x38\x2f\x30\x3c\xc8\xd8\x85\x0a\x62\x37\x61\x73\x66\xa0\x2a\xf2\xd8\x61\xce\x2a\x8b\x51\x55\xda\xeb\xa7\xc9\xd8\xdb\x6a\x61\x90\xd1\x60\x08\xe0\x61\xc0\xcb\x3d\x3f\x28\x03\xa0\xe8\x69\x81\x43\xb0\x6a\x31\xf9\x62\x81\x6c\xea\xe3\xed\xf5\xc0\x9d\xe2\x4d\x77\x78\x72\xb7\x68\xe4\x7e\xe2\xae\x7c\xc3\xf4\x60\x42\x30\xe0\xcb\x26\x5d\x30\x0e\xe9\x38\xd7\xbf\x93\x7b\xa3\x46\x70\xac\x08\xd3\xe0\x43\x01\x70\xba\xbe\x1a\x74\x27\x26\x86\x9b\x64\xb9\x1f\x80\xc8\x8f\xfe\xed\x00\xd3\x03\xce\x80\xec\xdc\x2c\xc8\xa0\x07\xfc\x59\x0f\xee\x82\x9e\x60\xc8\xd4\xf8\x03\x21\xf9\x63\xdf\x76\xa1\xbc\x13\x6e\x17\x40\x0d\x90\x6b\x58\xb0\x5f\x75\xcb\x04\x5d\xf0\x5b\xc7\x99\x17\x30\xa3\x35\x46\x56\x18\xae\xae\x0f\xe8\x7f\xa4\x49\x79\xd4\x65\xeb\xc4\x69\x53\x67\xf5\xb2\x3b\xb2\x6b\x1f\xbb\x83\xa8\x04\x25\xf4\xe8\x3c\xf3\x5b\x06\x8d\x9d\x46\x3f\x86\xf9\x2d\xad\x68\x0f\xf4\x30\x7f\xdc\x7f\x51\xe5\x83\xbd\xd7\xdf\x65\xf5\x8b\x7b\x1e\x6c\x3c\x6b\x00\x78\xca\x54\x51\x6d\x4a\x61\x31\x39\xc9\x7e\x73\xfc\x84\xb8\xff\x86\xae\x65\x24\xd7\x09\xcd\x4f\x8c\xbd\x2e\x2a\x61\x0e\x82\x95\x60\x95\xd8\xeb\xd7\x0b\xcb\x45\x59\x6c\x8b\x56\xe4\x73\x94\xa4\x2b\xc9\xda\x86\x17\x60\x85\x32\x65\x46\x6d\x60\x23\x40\x06\x20\xda\x5a\x76\x16\x55\xee\x8d\x4a\x18\xb0\xf1\xc3\x8f\x43\x56\x1d\x51\xe5\x81\x2b\x0d\x02\x02\x79\x25\xa3\x3f\x2f\x8c\x2d\x87\x69\xb2\x08\xa4\xa9\xcb\x51\xb5\x0e\xf1\x32\x35\xa4\xc1\xd6\xf4\xf0\x21\xfb\x0c\x8a\x6e\x82\x3c\xfa\xa0\x02\xb1\x2e\x28\x1e\xe4\xd2\x51\x9f\xfc\xd9\x80\x64\x81\xf5\xc8\x2c\x93\xfe\xfa\x17\x59\x54\xd3\xc9\xa4\xf7\x86\xec\xdf\xf2\x72\xff\x0f\xb6\xd1\x87\xef\x35\x0c\xd3\xd2\xf3\xf2\xf7\xb0\xc9\x13\x1b\x6d\xe4\x0e\xc3\x89\xb9\xc7\xf5\x16\x6f\x0e\x72\xbd\x0d\xf1\x37\x94\x22\xd7\x4e\xcc\xdf\xbd\x0c\x27\x5b\x5e\x32\xf4\x9e\xb6\x37\x8a\x0d\xea\xe3\x79\xde\x08\x85\x90\x66\x66\xfe\x34\x4f\xe0\x57\x58\xf5\x78\xae\x3b\xf8\x35\xbf\x12\xcf\x66\x72\x5b\xef\x5a\xf3\x8e\x36\xd0\x58\x74\xf1\x9b\x0e\x16\x90\x63\x3b\x4d\x37\x35\xdc\x7b\x25\xc7\x78\xe7\x20\x13\x8e\xc3\x01\x75\x7c\xec\x1f\xf5\xc8\x04\x4e\x76\xe8\x62\x45\xbb\x77\x01\x9c\x09\x95\xd8\x1b\x69\x53\x4b\xb1\xf0\xdc\x45\x77\x06\x1f\xf6\x12\x63\x48\xc4\xeb\x00\x1e\x7f\x55\x79\x70\x81\x9b\x7b\x0e\x61\xa5\x3c\xcf\x0d\x30\xb5\x6d\xd2\x9c\x42\x9a\x7d\x19\xfb\x5a\xb6\x05\x28\x4a\x38\xc4\x61\xa0\x55\x7a\x8f\xbb\x56\x99\xae\x78\x60\x26\xe3\xae\x6f\xba\x52\x16\xaa\xb5\x53\x8e\xa1\x0d\xd6\xdd\x42\x93\xd2\x72\x60\x01\x5e\x1a\xb8\x38\x7a\x47\x4d\xed\x2d\x65\x02\x31\x58\xdd\xc8\x5a\x34\xed\x01\x54\x2f\xce\x33\x8f\x0a\x41\x06\x38\xbe\xbd\x2e\xaa\x1b\x0f\x21\x8f\x23\x5a\x95\xbc\x02\x31\x9d\x29\xb9\x15\x7b\x74\x4f\x32\xe0\x8b\x45\x9e\x5b\xf4\xa5\x00\x08\x77\xce\x4a\x29\x6f\xf0\x55\xa0\x9f\xee\x18\x60\x30\x0b\xa6\xd3\x70\xb4\x73\x1e\xa9\xf9\x01\x4e\xca\xca\x9e\x87\xb7\xc6\xf6\x77\x25\xeb\x13\x8c\x1c\x9a\xeb\x8b\x3a\x13\xd0\x43\x75\x2d\x77\x25\x9c\x6d\x2b\x7d\xcc\xea\x81\xdb\x96\xa6\x33\xdd\xc1\x8c\x2b\x88\x4f\xd6\xfd\x85\x07\xcb\x1e\x14\x3e\x5b\xdd\x46\xe3\x7b\xe2\x74\x66\xf6\xde\xb6\x8a\x19\x91\x33\x6e\x1d\x1b\xd9\xa9\x5d\x0e\x74\x77\xc4\xfc\x3b\x22\x67\x23\x6e\x6f\x12\x75\x16\x3a\xd1\xb9\x50\x5c\x1f\xd3\xfa\xae\xeb\x26\xda\xe5\x73\xa3\x82\x59\xaf\xd1\xc3\x7d\x78\xcf\x38\xba\x1d\x89\xc0\xb8\xda\x42\x3f\x3a\xf2\x40\xe3\x3b\xd2\xab\xfa\xc2\x57\x8a\x91\x00\x34\xa3\x77\x54\x48\x71\x55\x7d\x48\xc3\xb9\x3b\x99\xcc\x48\x3d\xc7\xa8\xe7\x76\x54\x8f\x58\x71\xd6\x45\x65\xd2\x32\xc2\x3b\xb9\x9f\x36\x72\x3f\x0b\xe0\x0c\xc5\x5d\xdb\xd8\x70\xe3\xc1\xc9\xeb\x0d\xbd\x72\x40\x8e\x8e\x12\x89\x96\x39\x1a\x09\xeb\x6a\x99\x41\x61\x93\x9e\x05\x46\x06\xc1\x32\xea\xe0\x18\x84\xc9\x98\xbc\x8f\x22\x7f\x51\xe5\x21\xba\x81\x75\x14\x81\xef\xcf\xe5\xde\x86\xda\x7c\x78\x10\x20\x65\x69\xc6\xfa\xfd\x91\xc9\x99\x91\xf0\xd8\x11\x8c\x88\x31\xce\x44\x37\xf4\xd4\xe8\x31\x23\xf8\x2e\x47\x10\x83\x69\x83\xfb\xb4\x94\x99\x3e\xa7\x7d\x94\x2f\x06\xb7\x79\xb1\x24\x71\x97\xea\xe3\xb6\x02\xbc\xf1\xf8\x74\x86\xfc\x4d\x20\x00\x65\x87\xac\x34\x64\x73\x4c\xe3\xf4\xdd\x95\xb9\xe5\x94\x9e\x5f\xa9\x04\xdb\x5f\x17\xd9\x35\x68\x31\xf2\xc6\x26\x07\x58\x1d\x74\x41\x03\x93\xae\x82\xa4\x18\xfa\x9b\x93\xe8\xb6\xbc\x2a\xea\x9d\x16\xa7\x8c\x04\xe3\x6f\xd0\x99\xf3\x54\xc2\xdb\x51\x1f\x43\x73\xe3\xfa\xaf\x0f\xd2\x12\x1e\x09\xa1\xe2\xc4\x53\x60\x0d\xc4\x1e\x40\xb7\xb6\x3c\xb7\x8f\x0c\xb8\x31\xe0\x22\xdb\x13\xa5\x8b\x5c\xaf\xf1\xc6\x57\xc2\x49\x62\x45\xd3\x39\xf7\x0b\xa1\x7b\xd1\x88\xf5\xae\x2c\x0f\x78\x69\xe0\x65\x21\x72\xa6\x24\xe3\x78\xfc\xa2\x6a\x65\x6d\xd5\xec\x5e\x86\x38\x72\xbc\xb9\xe3\x9d\x1e\x6e\x7a\x2d\x5f\xa1\x9e\x25\x33\xa8\x4f\xf2\x55\x28\x91\x25\x36\x14\x06\x7d\xc3\x8e\x8a\x09\x74\x7d\xdc\xf1\x08\x86\xc2\x86\x36\x89\x25\x77\xfe\x75\xf0\x3c\xb2\x9b\xdb\x11\x65\x5f\x85\xfd\xf1\xee\x72\xae\x08\xee\x46\x01\x11\xae\xa6\x2c\xe0\xa5\x98\x68\xe3\x00\x19\xc4\x56\x36\xe5\x68\x55\xdf\x24\xad\xfc\xe0\x41\x32\x00\x8f\x3c\xe8\x06\xf5\xa6\xaf\xfa\xa2\xe6\xde\x19\x72\xe9\xeb\xdf\xee\xa9\x41\x65\x88\x7d\x16\x68\x41\x43\x80\xd4\x8a\x02\x3d\x70\x64\xe7\x05\x61\x02\x2e\x81\x7f\x82\x47\x04\xc8\xff\xef\x88\x50\xdc\x95\x79\x33\x5e\x21\x1e\x06\xe1\x47\x6a\x53\x42\x0d\xa3\x91\x73\xe8\x39\x30\xd5\xd7\x7f\xc6\xab\x49\xab\xdf\xd6\x02\xe5\xd9\xad\x0d\x42\x37\x7f\x88\x36\x9b\xcd\x89\xa0\x00\x1b\x04\xc0\x82\xa5\x47\x08\xb1\xd3\x15\xa9\x23\x8f\x46\x1a\x92\x45\x4b\x3f\xc8\xe7\xe8\xd5\x49\xc2\x35\xbd\x3e\xcc\xba\x7c\xe2\x1f\x3f\xff\x1c\xb0\xb5\xb7\xb0\x8c\xb8\xde\xef\xf3\xc8\x37\xf1\xa1\x5e\x93\x56\xfc\xd8\x7f\xef\x06\xe0\x86\xdf\x34\x05\xc8\x82\x3e\x61\x49\xaf\x84\xdc\x08\x55\x8b\xcc\xc3\x0d\x82\x03\x06\x6e\x54\x60\xa8\x7d\xc3\x6b\x8e\xf9\x69\xb6\xa0\xae\x07\xb7\x63\xd4\x9c\xe6\x08\x95\x05\xc7\x23\x1c\x79\xbd\x42\xb9\x5d\x69\x70\xe3\x5d\xaf\x5d\x4c\x7d\x74\x94\x12\x5e\xb3\x71\x29\x14\x27\xda\xb3\x3b\x0c\xab\x50\xec\x8b\x4a\xb6\x5f\xe8\xdb\xc7\xa6\x01\x34\x1e\xa6\x99\xe9\xea\xb7\xe6\x68\xf4\x3e\x9b\x33\x2b\xc4\x16\xe6\x94\xe6\xed\xc4\x40\xe2\x1c\xe4\x6e\xd2\x08\x34\xc4\x86\x6f\xf9\xc0\xef\x94\xf4\xa0\x95\xac\xd6\x53\x7d\x84\xfb\xa0\x4c\xd2\xa7\xd4\x1d\x7a\x6f\x2d\xef\x9c\x92\xc3\xb0\xb1\x10\x85\x65\xb1\x5a\xee\xb3\xa5\xfd\xc5\x38\x9e\x3e\x70\x70\x27\x94\xc4\x57\xae\x62\x27\x68\xc3\xc5\x27\x92\x45\x7d\xf8\x70\x54\x1c\x52\x1c\x35\x63\x4b\xcb\xed\xb6\x68\x5f\x17\x95\xb0\x28\x98\xd3\x30\x12\xb9\x12\x7b\xfd\xd5\xc3\x1f\x39\xe9\x2c\x33\xaf\x4a\x37\xcc\x05\x9d\x89\x33\x57\x2e\x2f\xf2\xb7\x1d\xac\x4c\xfb\x51\xed\x56\xaa\x6d\xe2\x40\x93\xc1\x28\x08\x7b\xaa\x47\xb2\x15\x01\x5a\x72\x43\x0d\x9b\xb6\x30\xa2\x20\x71\x99\xce\x27\x09\xc4\xa8\x39\x3d\xc1\x18\x2c\xc2\xbf\x20\x8d\x3d\x7c\xc8\x3e\xeb\x5b\x31\xdf\xbd\x93\x13\xfd\x08\x6c\x3d\x3b\xda\xc5\x12\xb9\x79\x86\x56\x02\xcc\xe9\x64\xb9\xd1\x59\x01\x84\x1b\xa3\xdb\xb0\xa4\x20\xe2\x10\x38\x55\x10\x64\x6e\x7b\x14\xaf\x84\x0f\x4b\x94\xb4\xd1\xa5\xa7\x70\xf5\xf6\xf9\xdb\x27\x24\x41\x8b\x3e\x1f\x5a\xc9\xe4\xae\xd1\xf7\xd9\xaa\x14\x5b\xe3\x98\x00\xce\x9d\xab\x43\x2b\xd8\xb7\x57\x2f\x17\x8f\xff\x67\xe8\x34\x8e\xa6\x1c\x58\x58\xc2\xfa\xf0\xb7\x66\xfc\x39\x65\x13\x23\x6a\xa0\x7b\x3c\xc5\xf9\x4e\x56\x73\x8c\xf6\x78\x16\x2f\xa4\xfd\x68\x96\x85\x8a\x0a\xf7\xed\x4c\x97\xd5\x5b\x79\x23\x00\x97\xcd\x9e\x10\x61\x62\xb2\xba\x2c\xda\xef\x8b\x5c\xe8\x59\xc0\xe4\x48\x53\x6c\xc1\x50\x4a\x46\x5b\x02\xc9\x54\x94\xa5\xd9\x07\xf0\x5d\xdf\x18\xfb\x4c\x3f\xdf\x3c\xcc\x50\xc0\x9a\x51\xd4\x2e\x96\x75\xbc\x1e\xc3\x17\x39\x6e\xc4\xfb\xe1\x4d\x27\xc7\x52\x42\xda\x33\x03\xf2\xfd\xf1\xe3\xea\xcc\x73\x44\x40\xb3\xf3\xbe\x29\x5a\x31\x4c\x23\x75\x2e\xf5\x8d\x8b\x1c\x1f\x66\x7d\x82\x6a\x5b\x7e\x58\x89\x8b\xb2\xa8\x2f\xf0\x22\x24\xa0\x4b\xf4\x88\x7d\x74\x9e\x12\x0c\x8f\x04\x00\x3c\xe8\x3c\x14\x5d\x62\xe7\x59\x8c\xc5\xf4\xd1\x28\x2c\x06\x5d\xd5\xbd\x9c\xcc\xdb\x24\xb8\xf1\x3b\x41\xe6\x61\x64\x9a\xbd\xc5\xad\x8b\x0b\x83\xf0\xb9\x99\xfb\x6e\x14\x3a\xf1\xe5\x89\xd1\xb6\xbc\xae\x05\x47\xa3\x6f\x2e\x6d\xab\x97\x36\xa3\x61\xe7\xc9\x64\xe3\x51\x77\x65\xd9\x83\x08\x8b\x27\x09\x04\x1f\xd9\x47\x55\x38\x32\xe6\x9e\x92\x5f\x7c\xfd\xf6\xea\x0b\xec\xcc\x56\x2a\x0f\x17\xa0\x74\x57\x18\xfb\x5e\xe8\xcb\xdd\x47\x9a\x6b\x72\x1b\xa9\xfb\xf5\xb9\x5c\xaf\x17\x5a\x0a\xfa\x1c\x11\xec\x2c\x4c\x5d\xd1\x1a\xff\xab\x7f\x47\xfe\xf8\x77\x10\x88\xfe\xbd\xdd\xee\xee\xfe\xdd\x87\x08\x5b\x11\x46\xd3\xd3\x6f\xe3\xb2\x2b\xcb\xcc\xcd\xc3\x15\x81\xe5\x82\xb7\x27\x6a\x36\x31\x43\x74\xbd\xd9\xd5\x27\xf5\x26\xaf\x10\x1b\xaf\x6a\x8b\x6a\x07\x72\xfb\x5e\x36\x37\xfa\xcd\x07\xc3\xd2\x8f\x59\x65\x14\x63\xe2\xae\x36\x19\xfd\xd2\x06\x46\xab\x8b\x8b\x6d\x0f\x1d\x38\x23\xc2\x27\x7d\x64\x90\x05\x63\x4a\xa1\xe2\x33\x20\x36\xb7\x86\x87\xa2\xca\xca\x9d\x2a\x6e\x47\x24\x43\x0e\xc3\xf9\x03\x91\xc9\x8e\x65\x1e\xf4\xc7\x5b\xc3\xfd\x60\xcf\xcf\xd9\xa9\xbe\x42\x83\x7e\x9f\xf7\x81\xc3\xe2\xdd\x41\xe2\xa2\x88\x0e\x13\x90\x23\x76\x65\x79\xd6\xfd\x8a\x64\x69\x81\x6e\x4e\x95\x88\x92\xeb\xe1\x20\x39\xda\xeb\x8e\x60\x1f\x98\x33\x6a\x62\x43\xe2\x59\x26\x9b\x9c\x08\xfb\xdf\x5d\x75\x33\xa6\x19\x8d\xfd\x29\xdb\x55\xa5\x50\x91\x43\xce\x35\x57\x6c\x85\xca\x9a\x32\xb7\xd0\xf5\x4d\x91\xb5\x5e\x74\x37\x32\xbe\x92\x5b\xc1\xb4\x98\xd1\x18\x5d\xf9\xab\xd6\xa9\x72\xf4\x5d\x05\xdf\xbf\xbb\x8a\x0f\x16\xcc\xc9\x96\x87\xe4\xac\xde\x66\xd8\x8a\xd1\xca\x1a\x78\x1f\xc7\x1b\xf4\x7b\xa2\xba\x2c\x3c\x6c\xd1\xb0\x3c\x76\x95\x0a\x55\x77\x47\x74\xb0\x76\x9f\xd1\xf4\x88\xd4\xee\x41\x4b\x9d\x11\x03\xe8\x69\x9f\x11\xca\xec\x97\x8f\x5b\xb8\xb6\x17\x38\x9b\xae\x68\xd1\x76\xd6\x12\x35\x48\xf1\x72\xba\xb5\xbc\x2e\x36\xd7\xe3\x16\x93\x42\x52\x75\xd6\x73\xe4\x62\xe2\x14\x7c\xfa\xf5\xb4\x1b\xfd\xe8\x92\xda\xbd\x76\x74\x55\x4d\x41\xba\xb0\xfd\x67\x08\xc5\xac\xff\xa6\x91\xfa\xd9\xca\x38\x9b\xfc\xb9\x9a\x78\xf1\x96\xd8\x6e\xc8\xcd\x5b\xb8\x38\x96\x35\x82\xf3\xc8\x7d\x67\x7d\x5b\x2f\x55\xa3\x15\x0c\x0c\x3d\xa0\xff\x74\xb6\x9e\x40\xc3\x43\x96\xc6\x1e\x17\x64\xca\x3b\xaf\x6e\xa0\xe4\xfc\x2d\xf4\x5f\x6f\x6d\x7a\x48\x8c\x3c\x01\x4b\x4d\x20\x30\xb4\x2e\x2a\x19\xc2\x79\x4d\x8f\x21\x74\xf3\xb8\x05\xd8\xbc\x0b\x7b\x62\xda\xa1\x81\xa7\xed\x8b\x2a\x7f\xbb\x76\x59\x27\x07\xdf\x76\x60\xfc\x38\x27\xa2\x68\xe2\xbf\xa3\xaa\xf1\x48\x4a\xeb\xe3\x17\x0f\x20\xf9\x54\xef\x8c\xcb\x40\xa4\xd1\x02\x56\xd6\x16\xb7\xc2\xe0\x5c\xde\x8a\xc6\x2e\x99\x35\x66\x2e\x47\xbd\x56\x71\x44\x49\x86\x0c\x9e\x80\x28\xd7\x18\xb4\x01\xa2\x7a\xf1\x3d\xc3\xcb\x74\xce\x6a\x87\xf3\xe4\xe4\xc3\x25\x15\x9e\x6d\x2b\xdf\xd6\xd3\xc7\x11\x1c\x64\xaf\xa5\xe0\xc8\x08\x2c\x18\x67\x00\xc7\x99\x58\xde\x51\x23\xb2\xaa\x4b\x67\xd1\x85\x04\x75\x28\x6b\x42\x64\xfc\xae\x0d\x9f\xb4\x1d\x46\x3d\x5d\xfe\x3a\xa3\x22\x9d\x7f\x6a\x30\x96\xe0\xc3\x9c\xf1\xfc\x96\x1b\xe5\xa8\xed\x0e\x10\x80\x6c\xc7\x42\xd9\x8c\x1a\x16\x58\xe0\x13\x74\xce\xe0\x65\x50\xc8\xb7\x51\x53\x7f\x74\xe2\x97\x8c\x3d\x25\x67\x0f\x3d\x72\x9c\x9a\xcf\x52\x02\x81\xd6\xb9\x8a\x38\x49\xa5\x73\xec\x2c\xbd\x24\x44\x91\x3e\x1f\x77\xa1\xbc\xe3\xa9\x25\x4a\x6a\x7d\x3c\x00\x02\x6d\x7c\x44\x2d\x1f\x7c\xda\xe9\x0c\x44\xb1\xd7\xc5\x0d\xb8\x04\xa0\x7a\x6b\xce\xc4\x5d\x26\x6a\xfd\x62\x28\xc0\x4f\x86\xae\xf8\x28\xdc\x96\xb2\xa8\xc4\x4b\x21\x12\xf0\x9c\xf7\x86\xf9\x48\xe9\xde\x3a\x71\x38\xbb\x6d\x35\x4d\x41\xa2\xbc\x5a\x43\xc2\xbe\x0b\xde\x34\x05\xdf\x08\x23\xbb\x20\xd4\x05\xaa\x8d\xe8\xa0\xf5\x4a\xd8\x9e\xa3\xb3\xc0\x30\x14\xd5\x36\x3d\xc4\xae\x8a\xa1\xdb\x87\x40\x48\x0f\xc6\xd6\x95\xbc\x7d\x97\x3a\xeb\x16\x23\x27\xed\x6a\xb0\x60\xc2\xae\xac\xa5\x52\xc5\xaa\x3c\x18\x05\x38\x48\x38\xc4\x06\x98\xf0\x40\xf0\xb8\x1c\x10\xf2\x02\x61\x99\x47\x53\x81\xa3\x43\xfe\xeb\xc1\x05\x27\xcf\x19\xe7\x02\x45\x24\x57\x9f\xdb\x2f\x73\xaa\x8a\x23\xdc\xd1\xc8\xfd\x19\xb1\x30\xbb\x4a\xe4\x61\x12\x4c\x31\xce\x01\x38\x48\xa6\x36\x64\x7a\x5b\xbd\x93\x7b\x4a\xdc\xaa\xda\xa2\x47\x4c\x5d\xf2\x4c\x00\x2c\x4c\x08\xdc\x00\x2a\x46\xb1\x6e\x7b\x12\xdc\xf9\xa8\xa6\x9a\xa3\x06\xa2\x23\x59\x85\x3e\xec\x08\xd1\x82\x1a\xcc\xba\x91\x2b\xae\xd7\xf6\x0b\xb4\x59\xa2\x32\x81\xb4\x0f\x11\x4f\x06\xc9\x1a\x3a\xa8\xe9\x99\x54\xf4\xd0\xe0\xcc\x63\xfd\xa0\x99\x8b\xd6\xe6\x00\x36\xb1\x12\x07\x69\x90\x4c\xc3\xbe\xdf\x03\xcb\x55\x34\x5c\x89\x2b\xf9\x5a\xcf\xc3\x80\x78\x94\xc6\x52\xef\xd9\xe8\xa7\x5d\x63\x6c\xac\x5d\xc3\x6c\x60\x1b\xd1\x7e\x7f\x5d\xb4\x02\x06\x1c\xa5\xec\x7a\xc4\x1e\xcf\xee\x83\xa7\xfc\x42\x0f\xc4\xb9\x75\x7a\x4f\xb4\xee\x9a\x37\xf4\x4d\xe3\xce\xee\x78\xaf\x39\x0d\x95\x7e\x9f\x54\x64\xaf\x85\x22\x35\x26\xbf\x73\xb1\x89\x06\x44\xd1\xec\xd0\x96\xe0\xfd\x74\xca\xb4\x26\x2f\x01\xc8\xd9\xc6\x06\x06\x13\xa1\x02\xaf\x02\xb4\x60\x12\xcd\xd3\xae\x5a\xcb\xa6\xdd\x55\xbc\x15\x24\xc7\x01\xaa\xc8\xac\xdb\x30\xd0\x31\x12\x3c\x02\x47\x81\x07\xa5\xf3\x26\x25\x81\x6f\x79\xb1\x5e\x17\x19\xa0\xc3\x80\xff\x9f\x60\xbb\x9a\xf0\xa2\xf1\x5f\xc3\xf8\x6e\xb1\xad\xdb\x83\x21\x0e\xd1\x36\xa0\x18\xaa\x26\x2d\x6b\x9b\xa2\xb6\x08\x47\xc8\x6b\x78\xdf\x3f\x30\x89\x17\xec\xc4\x19\x76\x7b\x07\x4b\xa0\xc7\xb3\xa9\x64\x23\xac\xef\x23\xc3\xcc\x90\x88\xb2\xc2\x1d\x6e\xa2\x51\x7e\xd9\x39\xc8\xc5\x6d\xc1\x5b\x34\x02\x82\x4f\x08\x68\x03\x71\x48\x7c\xd3\x08\x61\x14\xff\x9b\x4a\x6e\xc5\xc2\x3d\x6a\xb4\x10\x74\x83\x69\x41\xe7\xec\x6e\x9d\x89\xff\xe1\xbe\x2d\x19\xbb\x14\xb8\xc5\x9b\xd5\x6e\xb3\xcc\xe4\xf6\xe4\xcb\x7f\xfe\xf2\x9f\x7f\x77\x0a\xaf\xd2\x5c\xb4\xbc\x38\x9a\xb4\x3b\x18\x5a\x84\xec\x93\x85\x69\x15\x46\xd9\xc0\x62\x14\x2c\xbd\x19\xb7\xfc\xee\xe2\x93\x18\x83\xa8\x4d\xcc\x75\x90\xfd\x8b\x07\x90\x77\x3f\xce\x5d\xa3\x33\xf6\xc4\xfd\xbb\xa3\x61\x4e\x29\xc2\x09\xcb\x9f\x9f\xc7\xa9\xaa\x52\x15\x9e\xbf\x78\xf9\xf4\xdb\xd7\x57\xef\x2f\xde\xbe\x7e\xfb\x8e\x3a\x57\x1d\xf7\x39\xfa\xe1\xc8\x65\xf4\xa3\xf7\x9e\x4a\xda\x45\x2a\x99\x63\x72\x1d\xef\x8e\x34\x63\x5f\x9d\xa7\x6d\x05\x83\xa6\xbe\x1e\xe3\x25\xee\xe3\x8b\x6b\xde\xa8\x69\xd6\xc5\xc0\x4f\xa4\xf8\x9b\x0e\xa3\xcf\x8d\x3d\x9c\xef\x73\x02\x43\xbf\x8e\x9e\xba\xc3\x5d\xee\x9c\xc9\xf4\xa4\xec\x11\x6c\x7a\x0f\xdb\x63\xfb\xed\xd8\xb3\x7e\xd4\xd4\x90\x81\x38\x1b\xcc\x27\x1c\x7f\x24\x79\x78\x08\xb6\xc8\xbd\xde\xf8\xae\x0d\x5f\xe7\x73\xfd\xf4\xe7\x4d\x0e\x0a\x38\xb9\xee\xb3\xbc\xfc\xf2\x99\x7d\xba\xd2\xa2\xeb\xbd\xa7\xd6\x4e\x0e\x91\x2b\xcc\xcf\x49\xdf\x52\x97\xb4\x21\xb0\x2a\x1e\x79\x44\x15\xfe\xc5\x79\x74\x1d\xa9\x2b\xd5\xaf\xb9\x98\x3d\xc8\x8b\x5d\x2f\x15\xe3\xdf\x0f\xba\x85\xbf\xd2\x52\x3e\x13\xc9\x84\xa1\xf7\x5c\xca\x77\x24\x15\x4f\x80\x2c\x3f\xa4\xa5\x8c\x96\x9d\x26\xe9\x40\xd0\xcf\xaf\xce\x0d\xa1\xbf\x7f\x06\x78\x59\xc4\x99\x16\x8c\x8c\x64\xf0\x1a\x3b\xaf\x03\xef\xc4\x4e\x20\x10\x8d\x0b\xd4\xa0\xe5\x34\x06\xa0\xcb\xae\x91\x0f\x9c\x9f\x84\x41\x5c\xb3\xc1\x9e\xeb\xa2\x3c\x1a\x69\xac\x3b\x4f\xbd\xcb\xaf\xef\xc7\x04\xfd\x8b\x71\x6a\x17\xc3\xad\x34\xfa\x86\x9f\x9e\xc1\x3f\xba\x20\x81\xc6\xa1\x5a\x7f\xf5\x2b\xee\x2a\x67\xb2\xc4\xca\xfa\x1f\xbd\x08\x83\x99\x2c\xa9\x13\xc2\x91\x2e\xda\x04\xc1\xe9\xb4\x33\xf1\xcd\x98\x5d\x27\xd3\xa7\x8d\x7d\x82\xe0\x76\x6f\x8b\x46\x58\x70\x1f\x10\x3d\x4b\xc1\x43\x55\x00\x6f\x8d\xb1\x3b\x0d\x95\x49\xf9\x64\x90\x49\xa8\xb8\xfd\x81\x7a\x0e\x7a\x24\x4c\x77\xb7\xc8\x5a\x00\xd6\x1e\x98\xb2\x0d\x1a\xa5\xb2\x96\xd3\xe8\xee\x31\x7a\xb8\x11\x00\xaa\x71\xba\x99\x8f\x76\x6d\x1c\x91\xb2\xe2\x41\x90\xb1\xe2\xfc\x3c\x48\xb1\xf4\x02\xdf\x27\xde\xe9\xd4\xab\x6c\x97\x0f\x58\x37\xab\x6a\xea\x4a\x4a\x9c\x46\xa6\x1f\xdd\xc4\xd3\xe4\x1c\x32\x65\x7a\x4f\xa0\x5e\x1a\xa7\x1d\xaf\xf7\x5e\x36\xd2\xc7\x8d\xdc\x19\xc5\x0f\xc9\x9e\x9f\x82\x0c\x3e\x7a\x6f\xb0\xa3\xfc\x86\x76\xbc\xbf\x4f\x96\xfb\x84\xec\xe6\x4e\x3f\xbb\x84\x91\x70\x5f\xca\x40\xab\x99\xcc\x76\xd2\xbb\xba\x34\x61\x7a\xa0\xdf\x08\x97\xdc\xc7\x14\x20\xa2\x28\x28\x03\x30\x10\x20\x8d\xec\x1c\x87\xad\x26\x1d\x6b\x63\xdf\x15\x70\xb7\xae\x77\xea\x1a\x43\x03\xa8\x89\x98\x37\xc6\xa5\x44\xb5\xfa\x4d\x07\xc1\x50\xfa\x5d\x0f\xb9\x2a\x76\x75\xaf\x93\xf6\xac\xd7\x1d\x04\x5f\x94\x61\x54\x20\x8e\xc8\x8d\xf0\x28\x40\xaa\x53\x09\x7e\x4c\x5c\x54\x8f\x42\xb2\x2b\xba\x74\xac\xba\xb8\xda\x59\x9c\x53\xcd\x3c\x87\x4d\xe5\x85\x6f\x39\x48\x36\xb1\x95\xb7\x02\xdf\xe8\x26\x1c\x30\x0a\x8a\x24\xf9\xe8\x1a\x1b\xde\x02\xf9\xe7\x6e\x04\x6b\xa4\xdc\xea\x43\xe9\x81\x4b\x50\x67\x4c\x1f\x53\x35\x33\xa1\x9b\x19\x25\x9d\x17\xaa\x45\x83\x0f\x46\xd1\x81\x6b\xbb\x4d\x2b\xe0\x3b\x72\x9e\xe8\xb3\xfe\xb7\xc9\x04\xfd\xd8\x86\x3f\xb8\x1a\xc4\x45\xcc\x07\xe7\x91\x30\x1d\x57\x70\x4e\x08\x3e\x72\x0e\x89\x1d\xa9\xcf\x7a\x4d\x26\x51\xde\xc7\x46\x07\xb1\x47\xec\x7e\x72\x5f\xef\xfe\x32\x41\x01\x23\xf7\xd7\xd7\x2e\x2a\xb4\x81\x70\xa3\x54\x1c\x66\xd7\xd1\x4c\x2f\x27\x46\xdb\x80\x76\x77\xc9\x34\x9d\x07\x98\x82\xdb\xa4\x3a\x00\x07\x09\x30\x2c\x42\x04\xa2\xa9\xb4\xab\x8d\x82\x4d\x77\x16\x82\x76\x00\x90\xdb\x04\x90\x1b\xbc\xbd\xa3\x98\xba\x7a\x80\xe3\x76\x4e\xaf\xd8\x87\xbe\xa4\x75\x20\xb5\x77\xae\xe8\xfe\x0d\xd4\xd5\x58\x39\x26\xd4\x54\x0d\xdb\xf5\x6d\x32\xa7\x73\xf2\x84\xe4\xad\xb8\x34\x71\x34\x9e\x9d\x63\x16\xce\x6c\x6e\x6e\x47\x20\xc5\xca\x90\xa1\xc2\xb6\x64\xe9\x0e\xbc\x52\x3b\x11\x90\x47\x78\xd6\xf7\xf5\xbe\x3c\xfb\xa9\xde\x2a\xaf\xe0\xec\x54\x24\x9c\xc7\x1f\x43\x46\xc9\x3c\x2e\xf5\x40\x8f\x1c\x31\xde\xfe\x64\x1c\x73\x81\xa5\x7f\x11\x2f\x42\xf0\x66\xaf\xd6\x4a\xdf\xee\x89\x44\x27\x81\x5b\xf0\x5e\x75\x0b\xf4\x38\xe1\x7e\xb2\x37\x23\xe6\xc3\x59\xf8\x38\x24\x82\xbc\x9f\x34\x52\x38\x88\x7a\xbf\x3e\x09\x8b\xce\xe8\x2b\x37\x34\x7f\x18\x63\xc2\x98\xd3\x03\x34\x95\x03\x2b\x86\xa5\xf2\xf8\xd6\x4d\xab\x39\x4d\xca\x4d\xa8\xe0\xc2\x0d\x7a\x94\xc0\x85\x32\x52\xe2\x74\xd6\x55\x01\xf7\xe9\xf3\xee\x99\x12\xc7\xf4\x25\xb5\x2f\x03\x8e\x49\xb1\x9b\xad\x4b\x2b\xf7\xb2\xc9\x87\x07\xe3\x79\xe5\xf2\xba\x58\xb7\x01\x50\x44\x78\xad\xec\x6a\xcd\x4a\x8a\xad\x0e\x09\x33\x17\x5c\x66\xc9\x2b\xcb\x85\xa2\x1b\x86\x1a\x70\xa2\x05\xd8\x12\xa3\xe5\xd0\x74\x6e\xb9\x16\x4f\x72\x0b\x5f\x73\xe5\x05\x12\x3c\x01\x74\x59\x2d\x4b\xee\x5a\x6f\x2d\xb5\xe7\x09\x18\x9c\xb8\x5f\xd6\xfe\x0c\xe1\x80\xfd\x68\xac\x54\xa1\x8c\x89\x63\x68\x19\x2f\x4b\x2b\xbe\x82\xaf\x07\x42\x96\xd0\xd0\x2e\x3d\x50\x2d\xbc\x8e\x38\xb6\x20\xd5\x96\xe8\xc7\x4f\x49\xed\x22\xe8\x08\x45\x93\x1c\xda\x3f\xde\xb3\xe9\xe3\x0f\xbc\x7e\x7b\x77\xd2\x3c\x4f\x40\x1b\xfd\xd5\x3f\x25\xf2\xd8\x48\x0d\x06\x61\xc1\x15\x28\x0d\xc9\x0b\x13\x90\xb0\x8f\xf3\x5e\xb8\xc0\x23\xde\x25\x63\x78\xb6\xcf\x85\xfc\xbf\x26\xc3\xfa\x37\x57\xc0\xb3\xbf\x1e\x27\xc6\x69\x5a\x23\x93\xe4\x2f\xd7\x01\x26\x99\xd2\x0a\x3e\x1d\xff\x0e\xdf\xfc\x28\xde\x8c\xe3\x4d\x8e\x4b\x2a\x06\x37\x25\x11\x8d\x4c\x7d\x27\xd7\x1d\x97\x74\x4d\x66\x22\x9b\x62\x53\x54\x10\x7f\x3a\x61\x88\xc2\x9b\x43\x76\x9c\x98\x5c\x02\x7a\x40\x5a\x37\xd6\xde\x35\xd5\x5d\xb3\x6c\x49\x22\x1b\xc2\x67\xc7\x7d\xab\x8d\x4d\xd5\x15\xae\x5a\x94\xfa\x7f\x1e\xe4\xc8\xea\xfa\x48\xe1\xbc\xd0\x30\x2c\xcb\x14\xef\xcc\xc4\xf4\x68\x5d\x6d\x8a\xa7\x11\x0e\x3d\xfd\x75\x81\x13\x86\xc6\x96\xee\xc4\xe0\x18\x47\x7b\x3e\xa1\x42\x1b\x85\x81\xac\xe4\xdb\x7a\x8a\x16\x8c\x4e\x98\x08\xfc\xb3\xef\x4d\x64\xb4\x0a\xc6\xb5\x8e\x52\xb3\xd9\x88\x4e\xe7\xbd\x66\xfd\x84\x6c\xdb\xd5\x36\x85\xb3\x76\x6c\xc6\xd2\x53\x3f\x38\x63\xc9\x89\x48\xf6\x3b\x48\xd1\xfc\x57\x1f\x76\xfa\xc4\xe8\x4d\x7f\x67\x8f\x5b\xe8\xe3\xa7\xda\x66\x17\x76\xc8\xc9\xb4\x78\xbf\xd4\x27\x38\x35\x5c\x12\xf9\x91\x1e\x71\x32\x42\xe2\x23\xc7\xb9\xe9\x1f\x67\x12\xb1\x6b\xc8\x1f\xa5\x7f\xc9\x02\x3d\xe7\x7f\xb5\xf3\x3d\x1c\xc3\x30\xcf\x74\x04\xbd\x68\x1f\x8e\xe2\x1a\xe0\x8c\xe3\x13\x7e\x8c\x6b\xc8\xa4\x8f\x65\x99\x51\x28\x7c\xc3\x63\x1b\xc1\x2f\x4d\x94\x97\xf4\x1d\x82\xdc\xa2\x2f\x5a\x08\x4a\xc3\x1a\xc0\x8e\x66\x45\xab\x44\xb9\x66\x4a\x86\x82\x82\xf9\x4a\xb3\xfe\x72\x75\xa8\xb2\xeb\x46\x56\x72\xa7\xca\xc3\x1c\xaa\x18\x9c\x7c\x98\x1b\x5e\x42\x4e\xb9\xec\x86\xed\x8b\x0a\x2c\xba\x7b\x0c\x61\xb4\x19\x87\xa0\x88\x87\xf7\xcc\x24\x2f\x85\xca\x2c\x84\x0f\xb7\x18\xa2\xd8\xf4\xd1\x14\xfb\x14\x01\xfb\xfd\x80\x0f\xb3\x4f\xf4\x8c\x84\x93\x7e\x63\x30\x07\x78\xc1\xb9\xf3\x34\xae\xc8\xce\x29\xfa\x77\x02\x1b\xdc\xe8\x30\x34\xad\x4e\xe5\x33\x87\x1f\x5e\xae\xa3\x04\xf7\x30\x00\x07\xc9\x90\xc0\x78\xea\x5f\xc3\x15\xc1\x32\x0a\x74\xae\x01\x3e\x07\xee\xfa\xbf\xc5\x52\x7a\x21\xdc\xc7\x3b\xc3\xbb\x20\x8a\xbb\xf5\x6f\x50\xf3\x88\xf1\x63\x9c\x1b\x3d\xaf\x22\xe6\x4a\x4d\x2c\x97\xfe\x85\xe2\xdd\x04\x68\xcc\xdb\x08\xee\x21\xa0\x5f\xa3\x38\x48\xb9\xf2\x1f\xc1\x45\x8a\x3e\x35\x3e\x86\x93\x3c\x81\x5e\x6e\xea\x06\xa9\x43\x91\x38\x48\xdd\x70\xda\xe3\xd3\xe1\xf4\xd8\xbb\x1a\x9c\xad\xbb\xea\x38\x8a\x78\x74\xaf\x57\xd9\x36\x6c\xe1\x98\x25\x13\x0a\xf5\xaa\x09\xe8\x81\x88\x45\xf5\xdc\x4c\x17\x54\xe1\x39\x3c\x40\x78\xb2\xff\x1d\x0c\x31\x7e\x7f\x92\x41\x5a\x03\x80\x1f\x93\xb5\x31\x6c\x8b\x0a\xcd\xfe\x2e\x1a\x2f\xf1\x14\x61\xff\x92\x96\xda\xd9\x13\xf3\xf8\x34\x36\x88\x8f\xa2\x64\x05\x77\xf6\x24\x15\xea\x37\x28\xf1\x3e\xa0\x28\x89\x54\xe6\x3d\x1e\x00\x84\x76\x89\xde\xe0\x42\x37\x2d\x73\x3f\xae\xc0\x15\xbf\xab\x32\x42\x38\xc4\x01\x3e\x81\x28\x88\x34\x9f\xa0\xc4\x40\x71\x40\x4d\x40\x49\x8c\xd5\xa4\x05\x32\x23\x4d\xc1\x91\xd6\xd2\xbc\xe0\x7a\x64\xba\x7c\x6d\x8e\x50\x8b\xae\x60\x75\x2f\x0d\xaa\x9a\x2a\xb6\x17\xe0\x28\x8f\xae\xe4\x90\x45\x13\xca\x91\xb6\xb8\x62\x7b\xd1\xcd\xd5\x39\xac\x04\xc7\x41\x7c\x2c\xfb\xc6\xc1\x11\x47\xd8\x37\x30\x45\x7d\xc5\xba\xf9\x8c\x49\x20\xcd\xc5\xfd\x22\xad\xba\xaf\x72\xb3\x1a\xdf\x77\x10\x7b\x46\xfb\x99\x77\x10\x7e\x0a\x45\x62\x85\x8d\x26\x1a\x63\x26\xb6\xbc\xd9\x14\xd5\x1c\x52\x2c\xec\xb6\x02\x42\x99\x70\x98\xad\x64\x1b\xd1\xb2\xa2\xf5\xb4\x60\x1d\x6d\x98\x0d\x77\x29\xe0\xad\xe3\x09\xc4\x54\xf2\xba\x2e\x0b\x61\xd2\xea\xee\x21\x20\xb0\xa8\x2c\x87\x79\x52\x11\xab\x2d\x29\x9c\xce\x62\x31\xc6\x8f\x9a\x80\xcb\x7c\x96\x79\xbb\x60\xd7\xb9\xda\xd9\x1b\x2a\xb1\x1f\xe9\x54\x40\x6a\xb8\xe5\x0c\x97\x77\xe1\x11\x5c\xb0\x0f\xbe\xe8\x57\xde\x81\x89\xf9\x36\xcd\x3f\x16\x68\x17\x5d\x97\x52\x36\x86\x9f\x4e\xd2\x4f\xe5\x99\x75\xb7\x24\x2d\xbc\x03\xef\xbb\x53\x0a\x9a\x73\x72\x62\xa1\x53\x4a\x25\x61\x5a\x8d\x0b\xab\xde\x80\xa7\xc1\x6a\xa1\x44\xcf\xa2\x8e\xf5\x1c\x7a\x8f\x6c\x89\x7f\xea\xf3\xf6\x8b\xf0\x73\xe8\x5c\xa5\xdf\xfe\x8f\x48\x99\x2e\xd5\x3d\x81\x4f\x7a\x90\xb0\xff\xb8\x27\x11\x1a\x96\xf9\x9d\x99\x10\x2d\x7e\xce\x3d\x65\xe4\x8c\x40\x31\x15\xaf\xa4\x23\x90\x5c\xd2\xd8\xb8\x1b\xd9\x9f\x68\x43\x47\x22\x03\x71\x87\x8d\x3a\x84\xff\x1a\x67\x5e\x27\x8c\xe5\x93\x1c\x7a\x29\x2d\xd0\xf8\xc8\x8a\xfe\x4b\x91\xb1\xb1\x4a\xa4\x11\x31\xa9\x26\x85\x11\x7a\xd6\xca\x46\x98\x10\x16\x7d\xa9\xc5\x41\x5c\x6a\x10\x0f\x1c\x8f\x38\xfb\x20\x10\x77\xe6\x91\xb3\xe7\x8a\xe9\x47\x51\xe5\xd2\x3d\x24\xac\x0e\x61\x64\xa1\x7e\x20\xe1\xc6\x85\x2c\xeb\x10\x5e\x6d\xef\x61\xef\xfd\x65\x40\x34\x7c\x4b\x46\xe5\x01\xe0\x1c\xa4\x45\xdf\x9c\x2d\x06\xaf\x26\x88\xff\x2a\xaa\xac\xc8\x85\x7f\x7b\x98\xf0\x35\xd0\x9c\x54\x72\xe1\xaa\x4e\xcc\x04\x2c\x19\x7b\x73\x60\x9b\x9d\x50\xca\xe4\x8b\xc7\xb8\xc7\x4a\x1e\x73\xef\x8a\x92\x45\x45\x38\x99\xad\x20\x1a\x8f\xf8\xb6\xb3\x15\xa0\x9c\xbd\x17\x49\xa5\x74\x4e\xe4\x97\x6e\x2d\x7b\x12\x03\xc6\x29\x06\x27\xb3\xc8\x40\x9c\x4e\xdd\xdc\x43\xcd\xb3\x4e\x40\x2d\xa1\x05\xbf\x67\x37\x7b\x08\x7f\x64\x37\x7b\x06\x1d\xc6\xd0\xfa\x3c\x0c\x46\x99\xb6\x12\xd1\xbb\x17\x9e\xca\x80\xd2\x5e\x72\xc4\x41\xd6\x45\x18\xdf\xe5\x85\x3e\x80\x00\x62\x9d\x57\x4c\x56\x99\x60\xb5\xd0\x6f\xc9\x4c\x56\x47\x63\x97\x8b\x6a\xf3\x4c\x84\x8e\xeb\x84\x2d\xf0\xb0\xa0\x59\xf4\x56\xe1\x68\x59\x1c\x74\x46\x73\x23\xc7\xf3\x3c\xeb\x7b\xe7\x0e\xbf\x65\xe1\x01\x3a\xa2\x27\x58\xb0\x3f\x0f\xa5\x7b\xb5\x7e\x79\x7a\xea\x1c\x0a\xf5\x1c\x5e\xfe\xc7\x4e\x94\xd9\xb5\xe9\xc2\x7b\x77\xa0\xac\xa4\xde\xca\x30\xbf\xfa\x68\xaa\x64\x5b\xac\x8b\x8c\x83\x9a\x41\xd7\x03\xe4\x0f\x27\x05\x26\x28\x75\x8e\xe8\xa0\xf0\x53\x4d\xf9\x7d\x94\x9f\x45\x35\xd9\x64\x16\xec\x31\x52\x54\xaf\x7c\xe0\x8d\x01\x6d\x8a\xa8\xfb\xc7\x74\x03\xcc\x63\xf6\xa6\xbb\xed\x44\x09\x92\x83\x6e\xce\x7e\x73\x7a\xda\xdd\x5e\x23\x28\x7d\x08\x06\x9e\x0b\x75\xd3\xca\xfa\x6b\x32\x97\x9a\xff\xde\x7b\xa7\x15\x92\x18\x97\xab\x97\x98\x96\x2d\xc8\x93\x83\xd2\x1b\xa3\x24\xa6\x6e\x68\x78\xef\x99\x88\xef\xef\x78\xa3\x4c\x30\x62\xa2\xdd\xab\xa2\x2d\xc5\xd0\x8d\xf7\x9f\x93\x56\x17\x99\x3c\x01\x25\x96\xdc\xbb\xae\x2d\xe1\x77\x7d\x2f\x4f\x80\xfa\xe4\xc3\x2c\x5e\x15\xda\xd0\xeb\x42\xb5\xef\x4d\xf2\x1e\x53\xce\xc1\x6b\x5e\x62\x34\xfb\x5e\xb0\xb6\x81\x38\xe0\x86\x17\xe6\x66\xc4\x46\x01\xc3\xee\x5f\xa0\x52\xb5\x94\x15\x64\x5c\x8c\xd3\x9c\xe3\x0e\x29\x25\x04\x22\x05\x4d\xab\xf7\xd3\xd9\x19\xfb\xd0\x39\x6f\xac\x11\x80\xa8\xea\xd9\xaa\x68\xc9\x23\x94\x7e\x81\x9b\x76\xce\x32\xd1\x00\x14\x86\xc7\x02\x4b\xe3\x45\xd9\xb4\x37\xcc\x25\xd9\xd1\xc2\x2f\x88\x54\xa2\x15\x5d\x33\x40\x27\x48\x87\x51\xb4\x22\x14\x9c\x21\xdb\x87\xaa\x65\x95\x53\x68\x62\xe2\xb5\xd0\xb5\x25\xd8\xc1\x58\x97\x78\xf0\x95\x5f\xaf\x63\x19\x6f\x25\x65\x29\x78\xf5\x01\xef\x3a\x76\xd5\x20\x48\x9f\x12\x2d\x9d\x03\x93\x90\x1b\xe2\x82\x2a\x25\x46\x5c\xbd\x6f\xbd\xe2\x63\xcc\xc5\x2b\x69\x71\x77\xed\xf6\xc8\xdc\xdd\x90\x06\xbb\xa0\xc6\xb3\x3d\xb1\xa0\xf4\x8b\x59\x50\x71\x57\x28\x84\x75\xd1\x02\x4d\x08\x76\x10\x38\xf6\x18\x35\x2d\x44\xd6\xa1\xb7\x85\x91\xa6\x63\xbf\x6a\xd8\x99\x9a\x5a\xb8\x86\xf6\x57\xe6\x22\x81\x60\x15\x79\x75\x08\xfb\xf0\xcb\x97\x8c\x8c\xf2\xfe\x4b\xf6\xca\xe1\xa0\x8e\x5a\xb2\x82\x16\x37\x4b\x96\x58\x12\xbe\xd3\x72\x9f\xc1\x3e\xb1\x3a\xc7\x70\x6d\x92\x45\x1c\x8e\x58\xc5\xb8\x9e\xdb\xed\x5a\x04\x50\xbe\xa0\x3b\x30\x38\xd8\xe8\xfe\xc2\x15\x62\xf9\x94\x45\x25\xe6\xde\x94\xe6\xf3\xef\x2a\x0e\x79\x87\x19\x07\x8f\x22\x4d\xcf\xf8\xf0\xe4\xc5\x7a\x2d\x1a\x00\x06\x58\xc9\xa2\x54\xa8\x20\xdf\x83\xc8\xba\xbf\x16\x00\x96\xa0\x57\x57\x26\xcc\xbd\x46\x3e\x1e\x33\xc1\x4f\xbb\x48\x34\x63\x26\x3a\x01\x60\x33\x34\xe1\xb1\xde\x2c\x9c\xeb\x84\x56\x2d\x3e\xdc\xec\x39\x66\x12\x4a\x46\x6e\x5a\x2d\xbe\xeb\xc9\x31\x14\xc4\x19\xaf\xa5\xae\xa0\x39\x1a\x01\xf8\x02\xe0\x35\x0a\x12\x07\x8f\x33\x67\x77\x01\xec\x86\x18\xa3\x09\xf3\x24\x91\xdc\x65\xb0\x77\x58\xcd\x55\xcb\x8a\x16\x1d\xb9\x10\xdf\x21\xb9\x73\x3a\x96\xf8\x81\x8d\x13\x4d\xcb\xfd\x37\x8f\x57\x90\x8d\x5a\xd3\x3d\x2d\xde\xbf\x96\xe6\x3d\xb2\xb8\xff\x9a\xae\xd7\xbf\x6c\x51\xc9\x62\x50\x2d\xeb\xc8\x15\xc5\xad\xa1\xc9\x9d\xfe\xf2\x43\xad\x67\x12\xee\xbf\x46\xef\x62\x5d\xe6\x7d\xde\x84\xdf\x1f\x5b\xb1\x12\xa5\x66\xd1\xee\x85\xb0\x68\x23\xc5\x96\x37\x18\x9e\x09\x5e\xa1\x80\xa9\x82\xbc\x4d\x35\xde\xfe\x1b\xdd\x92\x70\x78\x46\xb5\x3c\x20\x1f\x5d\x08\xbb\x81\x6c\x7b\x9d\xb2\x16\xba\x78\xcf\xeb\xda\x64\xbf\xd5\x5d\x30\x66\x41\x26\xd0\xd7\x50\xf6\xc4\x60\xd9\xea\x2f\x78\x76\x6d\x69\x5b\x60\x30\xc5\x8a\x56\x31\x7d\x54\xf6\x78\xcd\x7d\xfc\xb2\x87\xb3\x72\xff\xd5\x7e\x6a\xeb\x0f\xdc\x68\xf7\x03\x72\xb0\x0b\x6f\x4d\x39\xae\x87\x97\xe6\xfb\x13\x66\x9e\xbf\xb0\x0e\x97\x24\xa3\x46\x47\x5b\xde\x41\x6c\x7c\xf8\x30\x15\x3b\xec\xf1\x47\x4e\x49\xba\x8c\xcf\x06\xb3\x72\x90\x80\xd5\x57\xc1\x71\x6a\x02\x2a\x20\xf3\x9e\x32\xd9\x16\xf6\xfa\xff\x1a\xc1\xf8\x9e\x1f\xe6\x80\x6e\x6f\x5b\x11\x8a\x6d\xf9\xc1\x52\x5a\x69\xe1\xca\x24\x9d\x5b\xba\xd7\xc8\xd8\x24\x21\xfd\x19\x77\xec\xf8\xfa\xc1\xe1\x79\x73\x48\x23\xc3\xf3\x66\x38\x89\x48\x37\xc0\x9a\x97\xc5\x4f\x88\xc2\xf2\x3e\xed\xba\x4f\xa1\x39\xa0\x30\xda\xbf\xba\xa5\xaf\x63\xbb\x18\xd5\x8a\x1c\xaa\x0c\x0d\x7c\x3e\xac\x38\x51\xac\x08\x92\xe8\x8c\x0b\x08\x09\x3d\x1f\xf4\x3a\xc6\x3e\xfe\x81\x7b\xd3\x62\x55\x16\xd5\x4d\xea\xca\x08\xbe\x93\x03\xc7\x61\x93\x69\x89\x17\x3e\x82\xe9\xa4\x80\x90\xc0\xdb\x42\x15\xab\x32\x38\x7a\x40\xee\xb2\x1f\xbc\x59\xd8\x38\x31\x03\x05\xdb\xea\xbf\xfa\x54\x38\x20\x34\xe3\x1b\x49\x32\x14\x08\x75\x49\x9b\x4f\xa5\x58\xdb\xec\x25\x08\x69\xde\x4a\x08\x51\x96\x0a\x71\x9b\x1e\x04\x79\xfe\xbc\x9c\xa7\xeb\x94\x25\x2b\x05\xbf\x61\x9c\x19\xbb\xff\x2f\x96\x0c\x3a\x33\x79\xff\x93\x08\x17\xf3\x19\x50\x18\x73\xe3\x64\x41\x79\x73\xd7\x98\x43\xe4\x33\xec\xa1\x4d\x74\xe2\xbd\x1b\x48\x25\xbb\x45\xc0\x56\x15\xa4\xdb\x4f\x17\x3f\xeb\x28\x33\x92\xe5\xba\xea\x8c\xa8\xc7\xdf\x21\x1b\xcc\x12\xf6\x0a\xf3\x69\xda\x36\x3b\x31\xc8\xb1\x96\x95\xfa\x79\xd6\x96\xe8\xe3\x5a\x91\xe2\x53\xcd\xc1\x56\x85\xf8\xa9\x58\x82\x76\xf5\x63\x99\xc2\xcc\xcb\x3d\xd8\xc2\xd7\x48\x31\x46\xc7\x3a\x3b\xc8\x20\xf7\x65\x91\x91\x4c\x62\xcd\x70\x3d\x4a\x54\x59\xf3\xac\x68\xf5\x55\x30\x39\x9d\x9c\xa5\x70\x13\x90\x77\x7a\x33\x4f\x1c\xa7\xfb\x78\x72\x36\xc4\xa8\xc1\x24\x1c\x99\xaa\x08\x22\xcb\x0f\x4c\x56\x64\x5f\xbf\x4f\x60\x77\xfe\x1d\xac\x41\xa8\xf5\x32\x4e\x6b\x70\xfb\xeb\x6d\x13\x1d\xdb\x98\xda\x15\x75\x7c\x24\x31\x74\x1c\xc8\xa2\x49\xb9\x17\x30\xa0\xbd\x73\x63\x58\x1a\x62\xf8\xee\x62\xa6\x01\x83\x5a\x59\xbf\xf3\x17\x7a\x4a\xaf\x7e\xe5\x4b\x78\xdc\x50\x74\xdb\x3b\x52\xf3\x59\x50\x68\x4a\x9a\x9a\x9d\xc5\xd1\xfe\x09\x3a\xdd\xe4\xa6\x29\x89\xad\x07\x16\x20\xc8\x84\x89\xc4\x7f\x1f\xf5\x9a\xc8\x6d\x17\xee\x51\x45\x73\x2d\x3a\xe4\x11\x30\xb8\x16\x2d\xd3\x2b\x5f\xe4\x2e\x8b\xb2\x5d\x4f\xde\x08\xbe\x1c\xda\x81\x18\x76\xbd\xe8\xcc\x91\xd3\xae\x84\xb6\xf7\x49\x7d\x97\xde\xa7\x47\x2e\x82\x48\xa6\xed\xf6\xc3\x02\x8f\x9c\x9f\xb3\x49\x25\x2b\x31\x21\x53\xf0\x4e\x2c\xec\xe7\xc0\x32\x64\xdf\x9b\x6b\x38\xd2\xb9\x62\xd7\x45\x9e\x0b\x97\x1d\x73\x2b\x77\x2a\x81\x98\x3c\xd0\x36\x9b\x4c\xcc\x80\xfa\x8f\x96\xd6\xc7\x6f\xd0\xf9\x32\x13\x0e\xfe\x82\xf5\x1b\x70\x5e\xe9\x30\xc5\xf0\xe4\x7e\xd1\xe1\x8a\x05\xdd\x02\x3e\x0d\x94\x5d\x83\x9e\x0e\x96\xe8\x42\x74\xa4\x51\x34\x58\x7f\x31\x82\x6d\x9d\x61\x1c\xdb\x4d\x36\x1c\x58\x6e\xd0\x56\x30\x68\x41\xc7\x71\x4c\x27\x71\x22\xed\x94\x97\xda\x71\x3a\x73\x76\x8c\x90\x1d\xc3\x71\x5a\xb3\x89\xb3\x88\x7d\x5b\xe7\xdc\x04\x52\x67\xbc\x11\x26\x99\xff\xe3\xc7\x07\x56\xef\x1a\x2d\x82\xaa\xa5\xb7\xe2\x99\x13\xb2\x93\xa7\x78\x23\xda\x4b\xfb\x75\xea\x02\x94\x7d\x85\x87\x0f\x7d\xed\x65\xa1\x2e\x64\x59\xf2\x5a\x89\x7c\xd6\x0d\x17\x86\xc7\x84\x2d\x7b\xa1\x7b\xe4\xe9\x84\x82\xd4\xd3\xfc\x2f\x3b\x65\x3d\x83\x01\x4e\xd5\x24\x75\xa7\xab\xd6\xcd\xd0\x11\xc5\xe7\xab\x6b\x5e\xa3\x54\x5f\x51\x6d\x6b\x26\xca\x92\xe5\xc5\x56\x54\x4a\x6f\xf4\xa3\x98\xd0\xd0\x01\x3c\xc5\x7a\x0e\x7a\x68\xc8\x4e\x1d\x36\x7e\xa9\x7f\x8a\xde\xcb\x94\xe3\x42\x5b\xe1\x5a\x66\x3b\x35\x99\xc1\xe1\x01\xc2\x17\x3d\x3d\x9e\x96\x7b\x7e\x50\x08\x2f\xc3\xd9\xaa\x94\xd9\x8d\x93\x12\xf5\x83\x66\x57\x41\x75\xd0\x1c\x32\xe6\x3a\x13\x8d\x88\x74\x6b\xf9\xec\xf5\xdb\x8b\x3f\x9e\x51\x70\x4c\x9c\xe4\xf3\x9e\x2d\x09\xc3\xc0\xcd\xb9\x37\x89\x0f\x47\xed\x4e\xb2\xe5\xd4\xbe\x68\xb3\x6b\x36\x85\xde\x39\xa1\x9e\x2b\x31\xd8\xcf\x17\x4f\xdf\x58\x7f\x52\x6c\xfe\xda\xfa\xa6\xde\xff\xbc\xb7\x24\xba\xd6\xe6\x49\xdb\xf0\x4a\xd5\x5c\xf3\x4e\x5c\x58\x36\xb9\x68\xf0\xb2\xbd\x34\x73\xe4\xf3\x0e\x85\xa5\x5e\x8b\x75\x6b\xcb\x4c\x94\x2c\x8b\xdc\x11\x5b\x35\x82\xdf\x18\x81\xeb\xd8\xa0\xbf\xfd\xfa\xf9\x8b\x77\xaf\x5f\x7d\xfd\xe2\xe3\x46\xbe\xe2\x4a\x40\x7e\xc1\x5f\x65\xec\xd1\xb8\x4e\x4e\x5c\xf2\x7e\xd8\xaa\xc5\x4f\xf0\x6c\xa8\x01\x30\x99\x89\x3b\x0e\xa0\x2d\x36\x98\xde\xf4\xec\xc8\xd4\xd1\xe9\xa5\xf3\x66\xbc\x6b\xfe\x0a\xfc\x40\x36\x01\xfc\xf4\xfe\xd3\xf0\x44\x62\x60\xf7\x94\x6a\x3b\x71\xd8\x69\xd9\xd5\x45\x7b\x1c\xaa\xec\x6f\x13\xeb\x71\xa8\xb2\xb1\x61\x17\x63\x84\xe9\x54\xf8\x85\xab\xf7\x31\xe1\x17\xae\xf2\x51\x17\x0b\x0c\xab\x48\x3f\xdf\xb0\x44\x4f\x80\x86\xab\xd2\x17\xcc\x73\xa9\xcf\x73\xd9\x68\x99\x0f\xef\xe8\x9f\xa4\xdc\xb2\x3d\x6f\x2a\x4c\xde\xe9\x96\x91\xfe\x0e\x8a\x70\xb6\x15\x4a\xf1\x8d\x70\x3f\xb6\x36\x95\xba\x0d\x0c\x2a\x1a\xb6\x6a\xe4\x5e\xff\x04\xb5\xb7\x3b\xd5\xa2\x77\x1b\x26\x8b\x90\xec\xf1\xe9\xe9\x3f\xb1\xa2\x62\xc0\xa5\x20\x18\x5c\x5b\x9f\x39\x17\xc0\x8f\xb9\xae\xcb\xc3\x58\x75\xc2\xb5\x31\xc4\x98\xee\x11\x3d\x02\x8c\xb1\x38\xaa\x49\xb8\x96\xfb\x7f\x93\x72\xfb\x3d\x0e\x2b\x4e\x07\x6d\x35\x02\xa0\x21\x80\x15\xfd\xc9\x17\x86\xdb\x8a\x3e\x83\x8d\x0e\xa1\xf7\xc9\x1b\xd7\xed\x4a\x3e\x59\x23\x78\x2b\x5e\x94\x42\xff\x39\x9d\xe4\xc5\xed\x84\xfa\x86\xc4\x04\x8c\xf4\x9a\x29\x75\x25\xee\x20\x7c\xc2\x09\x6b\x13\xf0\x5b\x7a\xc2\x56\x25\xcf\x6e\xce\x26\x44\x8c\xeb\xb8\x94\x3d\x61\xff\x6d\xbd\xfe\xf2\xcb\x2f\xbf\x0c\x8b\xad\x65\xd5\x2e\xf4\xf1\xfa\x84\x95\xbc\xd9\x88\x88\x08\xac\xe2\xa2\xe1\x79\xb1\x53\x4f\xd8\x6f\xeb\xbb\xf0\xbb\xd1\x26\x3c\x61\xa7\xcb\xff\xf5\x9b\xf0\x53\xcd\x73\x2d\x41\xe9\x4f\x5f\x8a\x2d\x3b\x5d\xfe\x06\xfe\xbf\xfb\x77\x58\xba\x95\xf5\x93\xd4\xef\xe0\x42\xf0\x84\x3d\xd6\xf5\x22\xfa\x66\xc3\x3c\x71\x69\x2b\xc3\xef\x8b\xbd\x58\xdd\x14\xed\xa2\x15\x77\x38\xc0\x05\x07\xd9\xef\x09\xd3\x8f\xa8\x74\x59\xcd\xea\x0b\x94\x1c\x93\xc5\xb6\xf2\xa7\x71\xf4\x74\xc1\x04\xb1\x08\x8d\xa6\xb3\xd0\x9a\xf6\x85\x41\x19\x43\xff\xdc\x37\xc8\xf1\x6f\x78\xc5\x37\xa2\xb1\x4e\x4b\xef\x84\xb1\xc4\x2b\xcb\x0a\xc8\xfa\x84\xa0\xa9\x68\xdf\x1a\x3f\x40\xc2\xec\x57\x55\x3b\x3d\x72\x9f\x69\x12\x2f\x79\xd6\xca\x86\x7d\xa1\xf7\xf2\xec\x47\xa2\x4e\xea\xe1\x4c\xcd\x43\x2f\xf9\xb6\x28\x9d\xe5\x22\xf4\x94\xac\xda\xc5\x1a\x3e\x4f\x3c\x76\x68\x47\x11\x97\xde\x78\x4b\x14\x20\x68\x3e\x5b\xdc\x4c\xc5\x2d\xfd\x66\x52\x09\x5d\x5c\x17\x25\x3a\xa3\x75\x77\xf0\x59\x98\x16\xe9\x68\x6b\xd4\xbf\x6e\xa0\xdc\x12\x53\x8b\x1c\x6d\xb9\x73\x40\x07\xef\x75\x79\x2b\x1a\xfd\xce\x86\x77\x94\x81\x76\xe1\x5b\x70\xe3\xd6\xef\x93\x62\x1b\xe0\xb5\x77\xaa\xd9\x1c\xac\x45\xc5\x8a\x0a\x1d\x92\x6f\xc1\x3b\xb7\xa8\x18\xc7\x7d\xcd\xf4\x32\xcc\x59\x26\x2a\x00\xde\x01\x24\x94\x5b\x73\x3d\x93\x0c\x0c\xc4\xfe\xe0\xbc\x88\x6f\x84\xc0\x9c\x12\xb6\x39\x7b\x4b\xac\x9a\x42\xac\x21\xe7\x27\xe4\x87\x45\x1f\x92\xa8\x49\x78\x22\x1d\xe4\xce\x93\xd3\x53\x37\x69\xbd\xd5\x22\xbb\x16\xd9\x8d\x93\xf2\x10\xa2\x25\x9c\x9d\x75\xd1\x74\x01\x5a\x2c\x2c\xf3\x56\x6d\xcc\xa4\xdc\xb5\x98\xd0\xe5\x0f\x57\x6f\x5e\xcf\x5c\x27\x8d\x5d\x44\xf7\xdb\x84\xd1\x98\x61\x04\x18\x1f\xe8\xb2\x8f\x30\xaa\xe6\xae\x05\xaa\xe1\x22\x80\x0b\x00\x2f\x5a\xb6\x12\x6b\xd9\x08\xb6\xe6\xf0\x48\x94\x3b\xb8\x03\x91\x5d\x3c\x7d\x16\x28\xcf\x1f\x2f\x7f\x63\xfc\x6d\xd5\x92\xb1\x6f\xb8\x52\x20\xb7\xc1\x25\x66\x41\x89\x4d\x4d\x4b\x4c\xb5\xfc\xc0\x76\x35\xf8\xbf\xeb\xb5\x9a\xca\x86\xed\xaa\xb6\x28\x0d\x2a\xa5\x71\x96\x2a\xf9\xe1\x58\x1a\x26\x7d\x01\xbe\x35\xab\x47\xee\xbe\xad\xda\xcc\xe9\x90\xe3\x6b\xd0\x50\xef\x5e\x81\x6e\x0f\x0e\x68\x7e\x49\xdd\x7b\x5f\x81\xb4\xf2\xd0\xf5\x17\xdd\x4f\x8f\x7f\x13\x5f\x50\xe4\x7a\xbb\xbb\x5b\x24\x6e\xb8\x4f\x76\x83\x8d\xbd\x8f\x8e\xdd\x31\xf6\xda\xd2\xaf\x27\x43\xd0\xea\xec\x1f\xff\xf6\x74\xab\x98\xe0\x4a\x2c\x8a\x6a\xdc\x8d\xd3\xbd\xbe\x8e\xd3\x9d\xf5\x2d\xe3\x92\xe7\xf9\x8b\x5b\x51\xb5\xaf\x0b\xd5\x8a\x4a\x34\xd3\x09\x68\x12\xb5\x34\x3f\x99\x7b\xb6\x22\x29\xc2\x85\xbe\x0a\x74\x15\x07\x27\x77\xe6\xbe\xa8\x56\xd6\xdf\x34\xb2\xe6\x1b\xee\x75\x40\x20\xd0\x1a\x03\x18\xbd\x2b\x53\x1c\x41\x5f\x55\xc3\xde\xf4\x67\x03\x64\x7a\x9e\x69\xc3\xce\xfe\x43\x04\xef\x7b\x1d\x76\xe9\x84\x72\xc0\x56\x6d\x86\x9a\xa3\x96\xa2\xe5\xff\xfa\x8d\x37\xea\x74\xf7\x70\xe7\x36\xf5\x77\x69\xe7\x02\x0d\xf6\xbe\x7b\xfe\xe4\xc5\xad\x16\x13\x9c\x16\x68\x23\xda\x8b\xb2\x10\x55\xab\x7f\x9d\xfa\x63\xc1\x9a\x0a\x0c\x95\x63\x75\xba\x8d\xf5\x8d\x16\x94\xcc\x86\x85\xa6\xa6\x37\x3e\xea\x97\x34\x67\xbd\x0f\xd8\x09\xfb\x92\x3c\xcf\xfb\xe8\x1a\xdd\xb0\x23\x69\xc3\x96\x28\x45\xf3\x5b\xaf\xee\x1a\xdf\xce\x97\x16\x70\x00\x7c\x28\xbe\xb9\x0b\x7b\x90\x7a\x46\x06\x46\x02\x6c\x2f\x0c\x0f\xe8\x1a\xbf\xe2\x62\x8e\x08\xbd\xc0\xce\xcf\xbb\xe9\x6e\x3b\x93\x3b\x3a\x26\x00\xde\xa1\x47\xf8\x6f\x72\x96\x28\x7c\x8f\xa8\x03\xa7\x03\x5e\x0f\xf3\xad\xfd\x6f\xa8\x64\x20\x99\x75\x0a\xba\x73\x68\xa0\xb7\x54\xaf\x32\x76\x06\x70\x07\xda\x1a\x2e\x92\xc4\xfc\x41\x57\xe7\xe7\x9f\xd9\x63\x0c\x98\x20\xa2\xe1\x37\x5c\xb5\x82\x64\xa7\x39\xa8\x56\x6c\x59\x56\x16\xf5\x4a\xf2\x26\x8f\xb3\x6f\x1e\xb9\xf6\x6b\xa0\xd6\xd1\x7a\x60\x79\xf8\xf8\xb2\x91\xdb\x0b\x4b\x7d\x1a\x5e\xd2\x61\xcf\x2e\x64\x7d\x60\x9c\xa1\xd8\xe5\xbc\x5a\xa3\xfe\x39\x1c\x41\xd9\x8a\x27\xc6\xb1\xaa\x11\xa8\x5b\xc0\x8b\x49\xe4\xac\xe1\xd5\x46\xc4\x49\xa0\xe7\x5a\x7a\x34\xca\x1f\xcd\xed\x47\x21\x6d\x33\x59\x1f\x10\x20\xf4\x4a\xba\x11\x84\x0f\xfb\x26\x52\xf2\xd0\x63\x18\xa3\xe4\x17\xae\xe7\x8b\x4a\xb6\x45\x26\x26\x33\x64\x30\xc2\xa8\xb8\xcf\xbd\x00\xe5\x23\x5e\xe6\x66\x26\x21\xea\xe7\xa0\x27\xc8\xbe\xba\x20\x12\x86\x44\x11\x61\xdc\x65\x7d\xb8\x94\xbb\x26\x13\x47\xc5\xa1\xba\x11\x13\x83\xd8\x65\xeb\x44\x77\x82\x6a\x9b\xe8\x7b\x9f\x94\x94\x16\x3c\x34\x35\x22\x1d\x24\xe4\x87\xb8\xc4\xa0\x7c\x83\xef\xf7\xc5\xef\x7e\x57\xdf\xd1\x4b\xcd\x0f\x70\x25\xf3\x43\x70\xc7\xf8\x9e\x07\x21\x5f\xe3\x8d\x45\xe0\x2b\x57\x65\xd7\x68\x4f\xc0\xd0\x2e\x63\x2c\xf2\x3f\x87\x05\xdf\x5a\x47\xbc\xb8\x28\x7e\xb0\x85\xc1\xe8\xd1\x21\xea\x7e\x0d\x8a\x25\x48\x92\xdf\xd1\x40\xe1\xbe\xe0\xbf\x9e\x96\x25\x4c\x41\x23\xaa\xce\x2c\x20\x3f\xc1\xaf\xb6\x16\xe1\xee\xee\xfe\x44\x73\xdc\xab\x17\xe0\x4d\x06\xa9\x02\x76\x75\x2d\x1b\xe2\x99\xb0\x14\x77\xad\xa8\xf2\xa5\x4d\x84\xc3\x2b\xe5\x51\x7e\x5c\x29\xa4\x83\xd9\x06\x4c\x68\x81\xac\xd8\xab\x17\xcb\xd8\x2a\x67\xc8\xb9\xa4\x1c\xee\xf7\xcc\x98\xe7\xa6\x7e\xf2\xe7\xc1\xb4\xdb\x14\x1d\x11\xa5\xa9\x9b\xd7\x39\x9d\x51\x2f\xfd\x11\x16\xef\x39\xdb\x83\x49\x1c\xc4\xdb\xa3\x5c\x64\xb6\x49\xca\xe8\x16\xb3\x61\x18\xcd\x69\x3e\x9e\x85\x4b\x7b\xa8\x32\x92\x19\x65\xc0\x70\x69\xa6\x17\xef\x16\xb3\x80\x97\x26\x38\x00\x78\xc9\x44\x46\x91\xb4\x56\x2b\xb1\x29\xaa\x0a\x1d\xff\x10\x1b\x00\x13\xb8\x19\x03\x1b\x6f\xda\x04\x1b\x92\xdf\x2d\xc7\x56\x31\x4f\x43\x19\xe4\x69\xd3\x71\x5d\x04\xd2\xf0\x7d\xcd\xb7\x82\x7d\x76\xce\x26\x7f\x5a\xbc\x7b\xfb\xfd\x24\xe1\x2e\xeb\x66\xc9\xf1\x1e\x8e\xa2\x62\xbc\x62\x77\x8b\x46\xee\xa1\xc1\x39\x86\xa7\x14\x2d\xe8\x8a\x21\x42\xc8\x24\x8c\x96\x5b\x81\xc9\x9d\x8b\x4a\x59\x55\x35\xd4\x5b\x32\xf6\x34\xcf\x21\xf4\x27\xce\xf2\xe5\xdc\xec\x55\xb1\x2a\x8b\x6a\xa3\x2c\x35\x9f\x69\x9a\xcc\xe5\xf2\x81\x7b\xb2\x86\x03\x3b\x3f\x67\x93\xff\xa6\x4f\xb8\x09\x7b\xf8\x10\xba\x49\x99\x2b\x28\x76\xf9\xcd\xd3\xaf\x27\x31\x3e\x47\x65\x5c\xd0\x5b\xab\x78\xc0\x1f\x00\xe7\x47\x9f\xc3\x39\x53\x35\xb7\x3e\x28\xbb\xda\x5d\x97\x35\xaf\xb0\x35\x43\xcd\xac\x48\xd4\x81\x00\x52\x01\x3d\x90\xb1\xff\x76\xf4\x97\x38\x78\x82\x59\x41\xe9\x84\x85\xbc\xf1\xc8\xf3\xc9\x23\x6f\xc4\xed\xc9\xbf\xa8\xff\x15\x27\x60\x3a\x39\x61\x2f\x20\xe0\xa1\x87\x4d\x49\x34\x04\x65\x50\x51\xe5\x8e\x3d\x8f\xa5\x7d\x24\xa7\x43\x95\xa3\x1a\x6e\x91\xf2\x4c\x08\xca\x91\x13\x23\xc9\xe5\x86\xd4\x27\xe1\x71\x18\xe3\xaf\xca\xe1\x3e\x36\xa8\x97\xc5\x85\x5b\x85\x7f\x34\x06\xaf\xc4\x5d\x3b\xc8\xdc\xa4\x80\x53\x24\x38\xfe\xfa\x38\xb6\x06\x88\xa8\x5b\x82\x3c\xfb\x4e\xee\x41\x88\x9a\x46\x07\xe5\x3b\xb9\x77\x7e\xf4\xc3\x3e\x3c\x01\xef\xd1\x6a\x90\x50\xf9\xcc\xc3\x8a\x95\xc5\x6a\xb9\xcf\x96\x6a\xb7\x42\xb9\x7a\xda\xdc\xce\xe9\x4e\x9d\xbb\x12\x2d\x3e\x27\xa7\xcd\xed\x8c\x2d\x18\xe5\xfa\x58\x46\x0f\x40\xbe\x1d\x03\xf7\x08\xec\x86\x77\x31\x9d\x53\xd1\x1a\x9b\x2d\xc7\x28\x4e\x2d\x48\xe4\xc2\xa8\x4a\x8f\x89\xe2\x09\x79\xa5\xc7\x79\x11\x2f\x5e\x3b\xdb\xc1\x85\xec\xfd\x80\xa0\xd4\x67\xf4\xfd\x8a\xc6\xf3\x94\xd4\x0f\x85\x8f\xdd\xfd\xa1\x26\x22\x85\x64\x40\x64\xfc\x9e\x9c\x05\x8f\xd8\xe4\x2e\x72\xa8\x0a\x03\x1d\x82\xe4\x1f\xb7\xf2\x46\xe4\x6c\x75\x88\x7d\x32\xfe\x28\x0e\x38\x3d\x7b\x8c\xdb\xfc\xee\x8a\xdd\x88\x83\x6a\x1b\x79\x03\x7b\x2e\x17\x2d\x3c\x94\xfa\x34\xde\xe6\x09\x76\x65\xc2\xa2\xf1\xaf\x46\x60\xda\xe6\xd6\x9a\x6d\x1d\xc9\xb9\xde\xb6\xdf\x5e\xbd\x5c\x3c\xfe\x9f\x47\xd6\x51\x56\xdf\x5d\xfd\xd1\xf5\x24\x7c\x4a\xb9\x1d\x49\x83\x74\x64\x59\xbe\xad\x5c\x8d\xf7\xa1\x67\xd6\x00\x5e\x20\xd9\x69\x1e\x2f\xd0\x81\x94\xcb\xb0\x23\x58\xfa\xc6\x4c\xda\x52\x54\x99\xcc\x85\xed\x52\xec\xdd\x95\x07\x8f\xca\x77\x72\x8f\x30\x68\xe6\x6f\x03\x1b\x84\xe6\xe7\xb6\x10\x06\x98\x67\xa7\x04\x03\x25\xa5\xd2\xa5\x0d\x2c\x5a\xc5\xd6\x98\x36\x84\xe1\xee\x91\xd5\x1b\x5d\x70\x3a\x4b\x59\x62\x8e\x37\x94\x49\x08\x05\x83\xee\x05\x58\xc9\xe0\x29\xec\xdd\x2c\x5c\x3a\x49\xd2\xad\xa3\xcb\x06\x3d\x0b\xac\xda\xc4\xa2\xad\x25\x02\x99\x09\xa5\x44\xfe\xec\x60\xab\xff\x81\x57\x79\x29\x9a\xf7\xe4\xce\xfb\x5e\x40\x6c\xbd\xd2\x07\x80\xdc\x35\xd8\x34\xbb\xc6\x82\x36\xce\xd8\xf9\x3e\xcf\x2d\x06\x9c\xfe\xdf\x96\xa4\x48\x41\x62\x16\x7c\xce\x04\xed\x83\x6f\x99\x68\x96\x8c\xbd\xa1\xb3\x0d\x0f\x11\x99\x65\xbb\xc6\x92\x37\x7e\x27\x9e\x50\x48\xc0\x46\x66\x2a\x69\x6c\x5e\xdd\x6e\xad\x76\x2d\xdb\xeb\x1f\xf4\x75\xbd\xe7\x00\x8b\x66\x89\x99\x89\xd0\x35\xb6\xac\xdd\x17\x99\xb9\xa7\x4e\x4e\xc8\x24\x64\x5c\xd7\xfc\x8b\xbe\xca\x8d\xee\x9a\xad\x76\x2b\xb8\x72\x48\xaa\x77\x04\xf6\xc1\xc0\x1a\x06\x97\x3b\x06\x08\xaa\x39\x53\xae\x3d\xdd\x0f\x91\xc9\xc6\x3a\x4b\x22\x35\xb9\xfa\x8b\xc8\x5c\xee\x03\xc4\xeb\xd1\x6c\x72\xd0\x62\x42\x2b\x78\x9e\x4c\x93\x08\xd7\x94\xd0\x8f\x3b\x98\xc2\x17\x38\x83\xe7\xce\x18\x23\xd6\x82\xe3\xa7\x77\x50\x4a\xbd\x8f\x3c\x8b\x6f\xdb\xe5\xd6\x7f\x76\xe1\x71\xb7\xed\xf2\xcd\xdb\x6f\x2f\x5f\xbc\x7f\xf7\xe2\x9b\xb7\xef\xae\xde\x3f\x7f\x75\xf9\xf4\xd9\xeb\x17\xcf\x71\x47\x0e\x32\x8f\x3e\xc5\x9b\x9d\xb0\xcf\xd0\xb7\x15\xba\x62\x41\xe6\x87\x13\xe3\x58\x0a\x81\x5a\xb9\x5d\xa6\x90\xa9\x99\x58\xd2\x0d\x74\xce\x9c\x91\x7a\x2a\x96\x19\xa8\x88\xff\x95\x24\x53\x1f\xf2\x28\x9e\xb1\x93\xa1\x1b\x79\x94\x13\xd7\xcc\xe6\xb0\xf2\xdd\x72\x00\x64\xae\x67\xb6\x63\x7f\x1a\x6e\xf0\x78\x9b\x06\x31\xee\x11\xc1\xed\x12\x4b\xbd\x9f\x41\x28\xf3\x76\x15\x2d\xbf\x75\x3a\xf4\xfb\x3e\x00\x3a\xb7\x9b\xdf\x58\x02\x71\xd6\xc0\x86\x78\xbe\xdf\xdb\x53\x9d\x7d\xd6\x61\xc1\xae\xd4\xec\x83\x9d\x9d\xaf\x7d\x95\x1b\x60\xc1\x4a\x6a\xa1\xa4\x02\xb3\x69\x70\xf0\xda\x08\x77\xa4\x74\x2d\x55\xab\x77\xf8\xdc\x01\x52\x9a\x9d\xec\x9d\x9a\x62\x5f\x77\xb8\x4c\x1d\x8f\x59\x42\xbe\x2f\x68\xed\x96\xb5\x85\x3e\xbc\x11\xa2\x56\x49\x4a\x20\x86\x03\x6c\xc2\x5a\xe8\x4b\xc6\xed\x66\xbd\x61\x4b\x99\xf1\x12\x65\x18\x2f\xe5\x39\x21\x3c\x64\xe8\x05\x7b\xac\x17\xf3\x98\x1f\xb7\xdb\xa6\x09\xce\x1b\x41\x82\x02\xda\xb3\x51\xae\xfc\x10\x45\x60\xa4\xe0\xc8\x23\xe2\x1e\xe1\x07\xa3\x83\x06\x88\xac\xdd\xcb\xe5\xd4\xba\x2c\x96\xbc\x6c\xff\x28\x0e\xec\xe7\x9f\x07\xf8\xcd\x72\xdc\x77\x57\x86\x91\xb0\xa4\x71\x65\xcb\x0b\xe5\x31\xe5\xf5\x41\x8d\xf0\x6b\x70\x48\x8a\x1c\x96\xd2\x53\xe1\x65\xbb\x70\x5d\x31\x2c\xe7\x4f\x2b\xbc\x72\x7c\xe8\x37\x72\x40\xb4\xf8\x2e\xf1\x4f\xf7\x14\xb6\x87\x24\x3d\x15\x88\xd8\xfb\x02\xe1\x5a\xa7\xce\xe6\x19\x05\x48\xe1\xd1\xea\x42\xf4\xe0\x4a\x59\xeb\x2b\x7a\x5f\x89\x46\x5d\x17\x0e\xdd\x06\x7b\xeb\xf0\x72\x46\xf4\x0b\xbc\xe8\x82\x8e\xf5\x29\x5c\x9d\x7a\xef\x4a\xbe\xa8\xf2\xe9\xec\xe8\x68\x80\x34\xb1\xf5\xa6\xad\xc0\x01\x5f\xf4\x2f\x75\xc4\x35\xf9\xaa\x04\x88\xa3\x98\x13\xed\xfe\x10\x77\x35\xaf\x72\xdf\xfb\xc1\x91\xb9\x3e\xde\x57\xf5\xca\xfc\x0b\xf6\xc8\xd9\xbd\xbf\x2e\xb2\x6b\xb7\x8b\xe1\x2b\x98\x79\x9e\xed\xda\x56\x56\x81\x5b\x13\xd8\x64\x1c\x54\x6a\x8a\xee\xae\x8e\xa9\x3e\x76\x71\xae\xba\xf3\x6f\x2b\xec\x3e\x3d\x55\x62\xd0\xac\x68\x6d\xa9\x8a\xd2\xcd\xe8\x2f\x9c\x8e\x4e\xbf\xb7\xf2\x56\x4c\xf4\x8e\x4e\x0c\x68\x46\x3b\x4b\xae\xcd\x67\x28\xf4\xe1\xd9\x22\xaa\x0d\xdf\xd0\x1e\x9e\x9c\xb0\xe7\x85\xc2\x9f\xc9\x0d\xb7\xb0\xa2\x22\x3e\x65\x65\x65\x23\xbf\xdc\x5d\xb3\xec\x1a\x70\x53\x2d\x25\x37\x48\xa2\x38\x0d\x7e\x9a\xa0\x09\x84\x4c\x87\xd9\xcb\x27\x5f\xf8\x33\x36\xc1\xe7\x5f\x9c\x74\xbc\x6b\xc6\x4c\xc1\xd1\xe3\xd4\x09\x03\xb7\xc9\x29\x02\x8d\x12\x78\x14\x6a\x52\xe4\x96\x75\x2e\x5f\x58\x41\xf7\x97\xd2\x83\x1b\xd2\x81\x7a\x2d\xc7\xae\x5d\x74\x14\x8e\x9b\xd2\x40\x14\xfc\xcd\x2c\xf2\xb4\x3f\x46\xc3\x9a\xf5\xbd\xd8\x96\x20\x42\x2e\xc1\x24\xdb\x46\xb3\xf9\xf6\xda\xca\x10\xc4\x9c\x92\x37\x7c\xb3\xb0\x59\x10\xb8\xbf\x80\xd8\xd3\x97\x57\x2f\xde\x91\x03\x1a\xee\x18\x4a\xae\xa8\x18\xee\x65\x88\xdf\x40\x1c\x26\x29\x59\x69\x72\x12\xf7\x32\x78\x34\xed\xf7\x3d\xba\x87\x7c\x73\x3e\xd0\xed\x8c\x12\xa1\x79\xfd\x12\xb7\x9c\x81\xd3\xe9\xde\xe7\x0d\x84\x32\xc2\x53\x01\x5f\x44\xb2\x62\x86\x9e\x9e\x1e\x33\x31\x30\xaf\xad\xd8\xd6\xb2\xe1\x4d\x51\x1e\xc2\xeb\x9c\xf1\x07\xa9\xeb\x7c\xc9\xd8\xdb\x4a\x97\x95\x48\xd9\x89\x89\x5e\x35\x56\x28\x26\x30\x67\xbd\x84\xb5\xa4\xaf\x37\x78\x45\x16\xdb\xad\xc8\x0b\xde\x8a\xf2\xc0\x6e\x4c\xa2\x3b\x70\x8b\x57\xb1\x18\x30\xe6\xb2\x0d\x5c\x41\xd1\x11\x46\x59\x9f\x4b\x2d\xa4\x36\x28\xe1\x16\xca\x24\xcf\x39\x40\x8c\x1d\xec\xca\x4a\xee\x19\x5f\xc9\x5d\x1b\xc8\xce\x54\x21\x81\x2f\x4c\x8f\xa3\x67\x03\x2a\x38\xab\x64\xb3\xe5\x25\x7b\xfe\xf6\x8d\x0d\xff\x04\x98\x40\xac\x80\x13\x98\xe7\x20\x51\x72\x48\x3a\x3f\x21\x92\xec\x04\x24\xf8\x49\x28\x9b\x4e\x88\x7a\x63\x9c\x86\x22\x56\x50\xb0\x00\xef\x57\x8b\x58\x7b\xd4\xbb\x64\x3b\x65\x70\x58\x8e\x53\x06\xf8\xc7\x0b\x28\x1c\x68\x40\x4c\xe8\x5a\x1f\x52\x69\x22\x4a\xce\x18\x20\x4d\x46\x52\x73\x54\xd3\x18\x3d\xaf\x9d\x34\x05\xc1\xc3\x06\x04\x37\xa2\xa1\xec\xc5\x58\x7c\x90\x1e\x6e\x94\x6e\x85\x84\x33\x1f\x1d\x3b\x56\x4b\xc4\xb5\x98\x43\xb1\x37\x12\x66\xa0\x37\xfa\x65\x53\x28\xc0\x0f\xb3\xe1\x37\xfe\xec\xd1\x3d\x3c\xda\x2b\x10\x6e\x52\xda\x28\x70\x20\xe3\x2d\x67\xe7\x0c\xfd\x19\xac\x3f\xfb\xf4\xe4\xcf\xd5\xc9\x76\x33\x67\x93\x3f\x1b\xdf\x3a\x53\x2c\xa9\xfa\xd3\xdf\xbc\x9e\x38\x78\xaf\xae\x1a\x9e\xdd\x88\x56\xe4\xd0\x07\x5c\x15\x43\x6a\xf2\xe7\xbb\xc7\xab\x1f\xbe\x3c\x3d\xfd\xbf\x13\xf6\x08\x7f\x7c\xe4\x7e\x7c\xfc\x7f\x27\x81\x02\x52\x3f\x51\x4d\xf6\x59\xd3\x5a\xff\xda\x61\x7c\x4c\x63\xb4\x89\x5a\x62\x22\xfe\x3b\xe3\x67\xed\x42\xd6\x87\x3e\x15\x1e\x4a\x04\x3b\x25\xcc\x49\xfd\x3d\xc0\x7e\xea\x1a\xf6\x00\xed\x3b\xcb\x63\x3f\x96\x3e\x81\x2e\x80\x71\x3d\x4d\x80\x0f\x0f\xf1\x2b\x82\xec\x44\xce\x3f\x61\xca\x4e\x73\xbe\xe9\xe7\x7f\x5e\x34\x02\xa2\xf7\xac\x4a\x54\x2f\x2a\x5e\xa2\x80\x15\xa5\x0c\x48\x25\xc0\x46\xc1\x51\x84\xd1\x40\x31\xc8\xb7\xbe\x83\x79\xcb\x6e\x0a\x34\x3b\x02\x95\x95\x28\x65\xb5\x51\x98\xbf\xc0\x03\x19\x31\xcc\xdd\x1c\xc0\x15\xcd\xed\x71\xaf\x6f\x96\x8c\x57\xfa\x94\x14\xff\x7f\xf6\xbe\xbd\x3b\x8d\x63\xd9\xf7\x7f\x7f\x8a\x8e\xcf\xb9\x1b\x88\x11\x02\xf4\xb0\x64\x45\xc9\x46\x08\xc9\x58\x4f\x83\x24\xbf\xe2\xe3\xd3\xcc\x34\x30\xd6\x30\x83\x67\x06\x49\x78\x27\xe7\xb3\xdf\xd5\x55\xfd\x9c\x07\x20\x25\xd9\x7b\xdf\xb3\xae\xd6\x4a\x2c\x41\x3f\xaa\xab\xab\xbb\xab\xab\xab\x7e\xf5\xc0\x9c\x19\x17\x7b\x2b\x9c\x4d\x5a\x50\xe0\x18\x92\xd8\x3a\xd3\x28\x1c\x45\x74\x32\xa1\x89\xe7\x10\x7c\x1d\xc0\x1d\x6b\xe9\x44\xf7\x80\x5b\x05\x01\xbf\x78\x99\x6f\x9b\x09\xd9\x31\xf1\x40\xc6\x9a\xc4\x0f\x55\xb8\xf0\xe0\xbb\xd0\x12\x03\x18\x59\xd9\x20\xf5\xdb\x6f\xa4\xbe\xa7\x33\xa7\x48\x52\x10\x34\x37\x9e\xd0\x28\x39\xe2\x04\x1d\x7a\x77\x9e\xcb\x16\x90\x25\x61\x9d\x16\xbf\x94\xad\x68\x98\x43\xa2\x14\xbc\xbd\xe6\xd1\x4f\xfb\xa4\xce\xbf\x55\x94\xf2\x0f\x6c\xa3\x36\xbd\x0b\x3d\x57\x5c\x00\x62\x2f\x99\xe1\x86\x2c\x42\x16\xe0\x7c\x15\x41\x8c\x71\x38\x61\x89\x37\x61\x86\x92\x20\x85\x4d\x36\x37\x62\x09\x17\x77\xae\x15\xba\x7a\x95\x2b\x3c\x90\x30\x22\xee\x2c\x92\x2f\x30\x5e\xe0\x25\x1e\xf5\x89\x1f\x52\xb7\x2a\x6c\x60\x68\x5d\x96\xcd\xb9\x8c\xfa\xd2\x0e\x4c\x13\x69\x8b\xc6\xa5\xc3\x45\x12\x0c\xdd\x82\x3a\x6f\x08\x31\x92\xcc\x95\xc1\x07\xf6\xfe\xc2\xbf\x74\x66\x3e\x45\x3c\x79\x6d\xff\x52\xc1\xe9\x5c\xe8\xaa\xa0\xb1\x72\xfa\xb8\x6e\xe3\xdd\xe1\xf3\x54\x9d\xeb\x14\x77\x68\xa5\x13\xb1\xb0\x7c\x27\xab\x93\x3b\xea\xcf\x58\x5c\x68\x8d\xf6\xe2\x73\x76\x2f\xde\xd3\xac\x49\xf9\xa1\x28\x9d\xc4\x6f\xbf\xe5\x09\x83\x9a\xbb\x9c\x7a\xea\x65\xed\x99\x9c\x4e\xa9\xc8\xf1\xdd\x4e\xa6\x17\x84\xf0\x60\xd7\x73\xb9\xb2\x86\xab\xb0\x8a\x06\xfc\x24\x84\xc8\xc4\x59\x04\x9a\x51\x34\xc7\xe4\x5e\x5e\xfc\x4c\x6a\xde\x22\xa0\xd4\x82\x33\xe3\x1d\x7f\x31\x07\x54\x55\x24\x1a\x20\x63\xa9\x90\xc2\x47\xc4\x55\xfd\xb0\x2f\xb3\x13\x71\x69\x56\x5c\x34\x74\x08\xe3\xad\x32\x0d\x7b\x96\xd6\x46\x1e\x79\xd2\xf7\x59\x74\xe7\x39\x56\xce\x0b\x04\xed\x32\x90\xc0\x16\x1f\x53\x06\x9c\x4f\x7e\x3c\xed\x0f\x79\x26\x64\x0b\xcd\x67\x45\x6c\x9e\x22\xeb\xf4\x63\xd0\x0e\xb4\xc8\x15\x18\x2b\x95\xef\x2e\xb8\x2f\x5b\x51\x5f\x4b\xc1\x93\x54\xc9\xdc\x41\xd8\xee\xce\x68\xfb\x99\x5f\x58\x0c\x5c\x8e\x04\x92\xd9\x2b\x8d\x0e\xda\x73\xc7\x67\x5f\x3e\xd5\x3f\x17\xa4\x34\x58\x09\x54\xea\x5f\x4f\x7f\xe3\x73\x4e\x84\x1c\xb3\xb3\x7a\x2f\x84\x3c\xcb\x16\x32\x50\xcf\xee\xf8\x05\x05\x0c\xb6\xea\xfd\x23\x8d\x80\xc6\x9b\xf9\x6b\x30\xd0\xf2\xc9\x7f\x3c\x0c\x9a\x0a\x29\x58\x01\x09\x2d\x95\x7a\x22\x5d\x55\x94\xcf\x45\x97\x93\xe6\x8b\x31\x63\x3e\x7a\xf6\x4c\x30\x3c\xdf\x83\xa7\x5b\x9d\x62\x42\xe4\x5d\x1f\x87\xf7\x64\x48\x63\xac\x3c\xa5\x23\x04\xff\x86\x46\xf4\x15\x1e\x5b\xb3\x6f\xaa\x76\x5c\x5c\x8a\x9f\x32\x14\xcf\xe8\x7b\x45\x06\xbd\xe3\x5d\x9d\x85\x77\x4c\xa2\x0a\x44\x56\xb0\x9b\x6a\x6f\x19\xb7\xb2\xed\x98\x95\x6d\x8f\x1b\x7e\xdb\x23\x94\x73\x8d\x0d\xac\xf4\x0f\x31\x41\xa7\x6e\x38\x62\xad\x94\x1d\xcb\xee\xb4\x05\x37\xc8\x82\x5b\x5e\x7e\x26\x81\x61\x18\x75\xa8\x33\xd6\x51\x16\xc6\x03\x51\x80\x3d\x28\x23\xbc\x3e\x47\xf2\xdb\x12\x40\x5e\xfb\x5c\x05\xfb\x7d\xef\xd9\xfa\x3a\xe9\x5f\x5c\xf7\xda\x1d\x72\xd4\x3d\xed\xbc\x42\x4b\xf1\xfa\xd7\x78\x1d\x7e\xf9\x22\x87\xfa\xc5\x0b\x6b\x5f\x63\x5e\x9a\xdf\x53\x10\x0a\xbe\xec\x54\x48\xb3\xde\x68\x82\xa9\xa2\x3d\x8e\xc2\x89\x37\x9b\x90\x8b\x3e\x69\xcd\x92\x31\xe4\xb1\x69\xf9\x3e\xc2\xc6\x23\x5e\x78\x74\xc7\xaf\x15\xeb\xeb\xe4\x3a\x56\x48\x3d\x24\x46\x27\x7a\x47\xb8\xa8\x8d\xf8\x69\x19\x20\x9f\x29\x39\xe8\x1f\xae\x21\xe6\x8c\xef\x39\x2c\x90\x6f\xf5\xa8\xe0\xf3\x96\x86\x80\x4e\x2c\x54\xfa\xd3\x6e\xbb\x73\xde\xef\x90\xa1\xc7\xf7\x81\x67\xa5\x19\xd7\x11\x93\xc8\x73\x12\x7e\x1f\xe4\x3a\x6f\x94\xb8\x6c\x5a\x2e\xf1\x5f\xf1\xfa\x79\x7d\x75\xb4\x03\x3e\xee\xca\xcf\x67\x3a\x4b\xd6\x2f\x66\x09\x60\x93\xc0\xab\x21\x75\xe0\x56\x08\x14\x29\x4c\x69\xb8\x1b\x4e\x26\xb3\x80\xf3\xd6\xc8\xed\x93\x4e\x5a\xd4\x96\x15\x7c\xef\x96\x91\xff\x0e\x68\x1c\x8f\xff\x1b\x74\xb3\xff\x76\xa2\x90\xff\x1e\x31\x87\x79\xa0\xaf\x81\xc3\x00\xe5\x7a\xac\xe4\x8d\xe3\xd3\x38\x26\x98\x71\x68\xaa\x11\xc7\xbd\x88\xd0\x68\x74\x27\x5c\x0f\xe4\x5a\x06\x84\x6b\xe9\x0d\x21\x81\xc3\x13\xcc\x64\x12\x31\xaa\x35\x5c\x13\x4c\x14\x28\x0f\x67\x09\x61\x0f\xd3\x30\x16\xba\xee\x04\xab\x11\x16\x24\x5e\x94\x06\xa1\x51\x54\x9a\x86\x2a\x04\x5d\x96\xec\x41\xcf\x49\xc3\xfa\xc5\x88\xed\x03\x54\xc1\x3c\x12\xfa\x5a\x5e\x21\x13\x96\x8c\x43\x4c\xf5\x60\x8f\x5e\x81\x4f\x24\xa1\xe2\x95\xf2\x86\x8a\x55\x43\x24\xc4\x39\x93\x10\x4f\x08\x37\x03\xa8\xf6\x2c\x4e\xbc\x80\x9a\x08\xcd\xdd\x38\xf4\x69\x62\x65\xb0\x50\xea\xbf\xe2\xcc\x34\x0a\xf9\xa5\x08\x2f\xb0\xda\x8f\x73\xc0\x02\x36\xf4\x92\xf8\x15\x6f\x68\x8d\x5c\xca\x52\x94\x4c\x18\xd7\x56\xbd\x18\x33\x4a\x51\xa1\x83\x0b\x74\x5b\x9b\x03\xa9\xf1\x63\x88\xb0\x72\xce\x41\xfc\xd9\xe0\x2e\x04\x78\xd8\x78\x36\x50\x54\x96\x63\x86\xfc\x84\xdc\x22\xc8\xc6\x29\x24\xe7\x14\xfc\x03\x7f\x26\xb2\x06\x93\xe2\xe1\x28\xf9\xd6\x4d\x39\xab\xbc\x84\x30\x1a\x7b\xc8\x4a\xc0\xa3\x15\x56\x39\xce\x63\x35\xbd\x40\x19\xc6\x1d\x28\xca\x60\x26\xf8\x4d\x4a\x08\x0b\x9e\x18\x26\xff\x44\xb7\x5d\xcc\xf5\x7e\x34\x4b\xb8\x92\xae\xd3\x83\xd0\x39\x89\x66\xe0\xbc\xc0\x37\xd6\xfb\x30\xba\x15\xe3\x8c\xc4\xa5\xed\x1e\x0d\xa6\x81\x3f\x07\xfb\xe6\xc0\x67\xd8\x33\x9f\x4e\xea\x43\xd2\x43\x4a\x32\x22\xa8\x12\x5a\xd2\x80\x74\x2f\xdb\x7a\x06\xd2\xa7\x90\x2d\xc2\xbf\xe7\xed\xd8\xdd\x0b\x73\x4b\x96\x52\x60\x6c\xcd\x6a\x2b\x24\xfb\x4a\x48\xe4\x4d\x86\x0f\xba\x7b\x21\x7d\x81\x40\x52\xe5\xac\x93\xee\x45\x0d\xa6\x48\x5d\x4c\xa4\x4b\x77\xf7\x42\x87\xa5\xfd\x7f\x3c\x81\xff\x8f\x27\xf0\x4f\xc6\x13\xe0\x72\xb9\x14\x52\x40\x46\xc0\x65\x60\x05\xec\x25\x61\x79\xdb\xe6\x56\xb2\x44\xfc\x02\x50\xa6\x02\x32\x8c\xe8\x44\xc5\x0e\x4a\x2f\x67\xe3\x68\x0a\xdc\xf0\xbe\x4a\xa6\x21\x3f\x88\x5d\xed\x95\x2e\xb2\x39\xf2\x96\x66\x91\x3a\x6a\xe1\xf5\x75\x46\x7d\x7f\x4e\xee\x59\xc9\xf7\x8d\xc4\x79\x4c\x20\xc0\xaf\xcb\xb0\xb7\x75\xe1\xc8\x07\xf9\xc3\xf1\x6e\x5b\x93\xeb\x07\x2c\xc0\x42\xca\xc1\x64\x23\x36\x24\x99\xf6\x71\x1d\x0d\xa4\x78\x2c\xf0\x01\x14\xc9\xde\x2c\xf2\xa1\xc1\xeb\xde\x29\xaf\xeb\x87\x54\x69\x2a\xaa\x9e\xaa\x74\x01\x5b\x07\x8a\x98\xa0\x88\x5c\x4c\xf1\x01\x47\xf0\x49\x12\x4a\xc8\x79\x98\x10\x6f\x32\xc5\x00\xc3\x82\x97\x05\x6b\x7a\x51\x79\x3d\x82\x66\x8c\xe9\x9d\x45\x7e\xd5\xec\xd1\x4a\x92\x1d\xb0\x7b\x71\xf4\x43\xbd\xb2\x3d\xe3\x55\x92\xa9\x6c\xab\xd2\x70\xb4\x10\x91\x4c\x43\xa6\x9a\x99\x46\x21\x57\xce\x94\x5b\x6c\x5a\x5d\x12\xdc\x10\xc5\x20\xa8\x41\xb1\x13\x72\x71\x02\x1f\x86\x45\xcd\xf2\x53\x82\x6b\x22\x34\xc9\x37\xdc\xda\x22\xcf\x12\xf9\xc5\xa5\xa8\x6f\xb0\xc6\x20\x21\x5f\xe0\x59\x22\x6a\x59\x45\x6d\x1e\x00\xd7\x31\x43\x4f\xda\x6d\xbc\x7b\xa1\x4f\x31\x50\x99\xf8\x79\xec\x25\x52\x93\x12\xde\x49\x57\xca\x62\xf9\xa3\x3c\x5c\x68\x1c\x87\x8e\xa7\x1f\x4a\xf1\x6d\x31\xa3\x93\x79\x90\x3b\x12\xf4\xd6\x24\x24\x53\xbe\xa1\x38\x61\x90\x44\xa1\x9f\xd9\x40\xf9\xc1\x35\x1c\xe2\x11\xab\x95\x0d\xcc\x13\x04\xda\x92\x38\xc0\x84\x8e\x21\xcd\xeb\xb2\x6d\x79\xd4\xc9\xe6\xf5\x9b\xac\x6a\x8b\x6b\x02\x53\x9f\x15\x61\x26\x5b\xd3\xc2\x35\x9b\x7c\x6b\xba\x17\x8a\x44\x70\x99\xea\x29\xd9\xc4\xe7\xa4\x50\x3d\x35\xb5\xe9\x94\xeb\x23\xee\x97\xf4\x1b\x94\xfa\x02\xed\x77\x61\xcd\x36\xd8\x8b\x37\x16\xf5\x91\x68\xd6\xb0\xa3\xa3\x21\x4f\xfc\x2d\x1b\xb1\xcf\xf7\x94\xdc\x78\xe1\x5e\x56\x98\x60\x64\xfc\x1b\xbd\xfa\xf8\x5f\xd6\x8b\x8d\x7c\x4f\xd7\x42\x51\x8a\x75\x00\x9d\x52\x3e\x56\x60\x70\x38\x2d\xb8\x7c\xa6\x08\x4a\x2b\x2b\xb6\x6c\xa3\xf5\x1a\x26\x1b\x9e\xdf\xf8\x26\x1b\x4b\x13\x2d\x0b\x92\x0c\xd8\xaa\x10\x2b\x79\x31\x5a\xf4\x54\x6e\xa8\xfa\x56\x0e\xc6\x70\x48\xa6\xc2\xdd\x94\xf7\xb9\x42\x48\x05\x90\x06\xf6\x9b\x82\xcc\x98\xa9\x2d\x41\x6a\xe4\x45\xf1\x12\xeb\xeb\xe4\xc2\x24\xb5\x06\x31\xad\x41\x1c\xfa\xac\xe6\x87\xa3\x72\xe9\x3a\x40\x35\xde\x54\xef\x5f\x01\x6e\xaf\x68\xa6\x90\x8b\x54\xaf\xc8\x85\x01\x24\x4f\xe5\x9c\xbe\x34\x99\xda\xa2\xee\x0a\x58\x25\xad\x69\x78\x3b\x76\xb3\xd8\xb9\x25\x3e\xac\x35\xf8\xda\x0b\x46\x25\x7c\x3c\x93\x1b\xf1\x6a\x31\x2e\xb7\x6c\x4e\x62\xf6\x6d\x26\x6b\x2c\x9e\x93\x95\xc2\x58\x56\x98\x96\x70\x00\x06\x88\xc8\xb5\x22\x74\x70\x6a\xde\xf4\x2f\xce\x6b\xd8\x9e\x37\x9c\xa7\xa2\x51\x16\x13\x27\x3f\xcf\x79\x07\x84\x57\x92\x2a\x91\xaf\x5e\x72\x1b\x0b\x07\x5f\x0d\xc8\x49\x11\x2f\x17\x0e\xbe\x4a\x93\x4e\x38\xf8\x9a\xda\x87\x8c\xcc\xdc\xfc\x4b\x63\xff\x31\x33\x81\x63\xbb\xbc\x80\xb5\x66\x2d\xd8\x9d\x14\xb9\x29\x12\x0b\x45\x53\x09\x26\x28\x3e\x9e\x74\xe7\xf8\xc3\x22\x89\x9a\x54\xbe\xd4\xfc\xa6\x52\x71\x1b\x0a\xa1\x9b\x8c\x6b\x2b\x15\xc5\x11\xad\x22\x5d\x36\x47\x96\xcc\x5f\x56\xce\x0c\x8e\xbd\x03\x8b\x0b\x85\xe8\xac\x1d\xb5\x82\x06\xf3\x84\xa5\x70\x36\x0a\xb4\x9e\xbc\xe5\x62\xb7\xa5\x9b\x99\x46\x5e\x41\x24\x91\x35\x3c\x30\x02\x5d\x5f\x1d\xed\x2c\x8d\xff\xb2\xf6\x7e\xf1\x74\x27\xdf\xb0\xa2\xf0\x9e\x94\x5a\x98\x94\x4e\x75\x2e\x1d\xeb\x85\xc2\xa2\x0f\x20\xc3\xf7\xc2\x68\x54\xe6\x2d\x2c\xe7\x6d\x83\x8f\xe6\x9c\xb0\xc7\x08\xa3\x5c\xe4\x67\x92\x6c\xfd\x45\xac\xf4\x83\x7f\x47\x66\x82\xeb\x4b\xf4\x6b\x50\x2a\xe6\x6a\x63\x9b\xbc\xa1\x77\xb4\xef\x44\xde\x34\x79\xba\x38\x3e\x9a\x6b\x38\xba\xfd\x95\x84\xb4\xb1\x5d\xc4\x58\x18\xbf\x92\xe5\xb2\x6d\xbe\xcd\x0f\x1e\xbc\x84\x8e\x57\x1f\xbc\x25\x51\x2a\xa7\xe6\x5f\xc6\x12\x3f\x58\x85\x29\x20\x6e\xab\xb0\x05\xe5\x72\x21\x63\x96\x1a\xfa\x1f\x92\x2f\x46\xd2\xfc\xff\x5d\xc6\x7e\x4c\xac\x6f\x1a\xfa\xdb\x61\x10\x27\xd1\x0c\x9e\xf0\xf9\x6d\xd4\x0a\x32\x17\xab\xcf\x54\x94\x62\xf5\x21\x99\x00\x7c\x2b\x60\x20\xa1\xed\x87\x3d\x24\x44\xb3\x8e\xc4\x33\x67\x4c\x28\xc4\x7e\x0a\x9c\xb9\x75\x00\x55\x56\xc8\x74\x98\xe7\xbf\x4a\x06\xa1\xef\x56\xc9\x90\x7a\x41\x52\x25\x5e\x42\x7d\xcf\xa9\xe2\x03\x7e\x95\xcc\x02\x97\x45\x98\xd6\x15\x2c\xb2\x49\xe4\xdd\x32\x61\xee\x54\x64\x59\x34\xcb\x3b\x60\x9c\xbe\xa0\x39\x72\xa8\x84\x82\xc3\xa8\xf0\xd4\x62\x91\xb6\x21\x08\x4b\xaf\xa9\xaf\xeb\x01\x41\xd4\x0d\x5f\x2e\x2c\x4e\xe0\x59\x40\x26\xf0\xb5\x1b\x1b\xa2\x5b\x16\xbf\xea\xd1\xc4\x1b\x78\xbe\x97\xcc\xb3\x50\xe4\x86\x88\xc9\xb5\xe5\xe8\xa9\x30\xd7\xda\xeb\xab\xb3\xd3\x43\xe1\x8b\xf3\xbb\xf6\xca\xb9\x82\xd7\x49\x68\x4b\x7d\x96\x84\x04\x62\x7b\x20\xf8\x9d\x5f\xba\x95\xe5\x9a\xc0\x85\xd1\x22\x34\x75\x07\x35\xb1\x05\xcc\x85\x26\x1b\x37\x96\x9a\xf2\x81\x26\xfb\xaa\xef\x3d\x65\x00\x8e\x19\x57\xef\x3c\x3a\xf0\x53\x01\xc2\x42\xe8\xc5\xb5\x1b\x71\x0e\x69\x4c\x98\x97\x8c\x59\xf4\x4a\x60\xc6\xf4\xda\x5f\x0e\x3b\x47\xad\xeb\xd3\x2b\x42\xca\xe0\xd0\x1b\x06\x20\x58\xc2\x87\xa7\xa2\xcb\xf5\x8e\x0f\xf0\xe9\xaf\xac\x4c\x61\x7c\x51\x94\xa2\xd1\xa0\x4c\xa2\x2a\x19\x55\xc9\xa0\x52\x82\x04\xc2\xa2\x16\xda\x2f\xc5\xc3\x7d\x39\x13\x5c\xee\x01\x98\x01\x1c\x41\x48\xdd\x94\xfa\x2c\xc1\xd7\xa3\x59\x0c\xae\x2c\x30\x7e\x2d\xd0\x36\xf2\x95\x41\xbc\x7e\x7c\x54\xd2\xbe\xa0\xac\xc9\x3b\x33\xba\x9a\x3a\x63\xbc\xea\x82\xcf\x92\x32\x10\x02\x6d\x09\x67\x30\x06\x06\xa7\xe9\x79\xa6\x82\x95\x33\xbd\x9b\xf3\xe1\xd0\x20\x0c\xc0\x8b\x40\xbb\x44\xa5\xc6\x27\xa9\x15\x94\x7e\x69\x5f\x9c\x5e\xf4\x72\xc6\x56\x50\xee\x99\xf6\x1d\xe7\x73\x77\x64\xb6\x0b\xd3\xd4\xdc\xda\xaa\x12\xf9\xbf\x8a\x86\x32\x14\x15\x0e\xcc\x0e\xa0\x42\xbd\x4a\x20\x05\xb8\xa1\x0f\xf0\xdd\xc3\xf4\x44\xc7\x21\x50\x38\x6f\x53\x9f\xe2\xde\x92\xf9\x78\x20\xd3\xf3\x59\x9f\xaa\x9d\x27\xf3\x8d\xb5\x09\x65\x3b\x11\x6f\x0b\x39\x9f\x6b\x3f\x07\xeb\x9b\x7b\x47\xe0\x72\xd9\x1f\x27\x9e\xcf\x0e\xd1\xcd\x57\xe0\x2a\x29\xb8\x08\x3f\x8c\x2e\x85\x6c\x6a\x40\x3f\xe9\x4d\xc5\x92\xb6\x51\x20\xe5\x2a\xd5\x1d\x62\x2f\x55\x72\x2f\x53\x28\x23\x1a\x13\xe7\xa2\xda\x94\x72\xed\x67\x43\x38\x22\x54\x84\x3b\xd8\xe3\x29\x56\xe4\x23\x06\x3c\x0e\xf0\x3c\x8d\x09\x55\x79\xb5\x13\xf5\x5e\x91\x8c\x29\xca\x9d\xf0\xd9\xbf\x47\x78\x4b\x51\xb5\x78\x33\x32\x94\x01\x84\xb7\x3b\xc0\x09\x17\x41\xda\x7a\x5c\xfc\x83\x2a\x6c\x80\x03\x3c\xab\xf1\xb4\x23\x65\x6f\x48\xe8\x1d\xf5\x7c\x5e\xb9\x02\xc3\x00\xa2\xcd\xbc\xeb\x30\xd0\x98\x25\x32\xd2\x92\x6f\x05\x53\x16\xb8\x2c\x50\xe9\xad\x8d\xce\x45\xc1\x47\xd2\xdc\x8a\x0f\x22\x99\x7e\xc3\xa2\xbd\x45\x70\x17\x62\x3e\x9e\x51\x34\x48\x94\x4b\xe3\xf3\xfb\x31\x4d\x98\x7c\x83\x92\x8e\x8c\xb8\x05\x00\x9d\xe2\x8d\x18\x77\xc9\xe7\x2b\x91\x64\xad\x52\x61\x4b\x14\x0f\xd0\x25\x53\x37\x68\x69\x72\x84\x76\x27\x8f\x52\xdc\x70\xe7\x38\xdf\x4a\x99\x11\x34\xa5\x76\xec\x95\x48\x32\xf7\xfd\x7d\x52\x12\x55\xf9\x2a\x7f\x24\x31\xf6\x41\x43\x35\x55\x94\x40\xce\x55\xf0\x98\x36\x0f\x08\xf5\x8e\x12\xad\x4c\x28\x3f\x78\x70\x3f\x2a\x69\x66\x5d\x59\x2e\xb3\x02\x0c\x01\x22\xa0\xa4\x35\xe0\x1e\xc5\x9f\x1f\xc2\x41\xe8\x32\xdb\x95\x26\xcf\x7a\xfd\x78\x0d\x60\xa5\x21\xc4\x2c\x91\xad\x3d\xe9\xa0\xcf\xb3\xec\xbb\x8c\x4d\x31\x4a\x40\xaa\xb8\xda\x0c\x0b\x43\x11\xe6\xdc\x7f\xe4\xd1\xf6\x3b\x69\x2d\x6c\x60\xe9\x88\x1c\x3f\x0c\x72\xf0\x6f\x14\x06\x92\x69\x2c\x37\x9b\x28\x03\x0e\x0f\x6c\xac\x2a\xfd\xf0\x2d\x9b\xcb\x55\x25\x2d\x51\xd1\xdd\xa7\x5b\x36\xff\x2c\x0e\x39\xf8\x5d\xd9\x93\xa2\xbb\xf4\x76\x9c\xd9\xa2\x6b\x4e\x18\x38\x54\x04\x2f\x08\x3e\x44\x77\x69\xb3\xb6\xce\x85\x2a\x30\x8e\x60\xe3\xc9\xaa\x89\xb0\x53\xa9\x34\xbb\xc2\x67\x0d\x5d\xd5\xb0\x37\x02\x37\x8d\x9c\x73\x40\xbc\x36\x81\x4b\xf6\x8f\xa4\x9b\xe0\xab\x9e\xc4\x00\x33\x5a\xe2\x07\x0f\x98\x41\xab\xf8\x58\xcd\x3b\xe2\xfb\x11\x57\x30\x57\x9a\x0f\xe8\xbc\xc0\xb8\xfe\xa7\x2b\x4f\x7f\xb6\xd2\xf2\xbf\x56\xad\xc8\x97\xb7\xb4\xa2\x6b\x1e\x33\xe0\x55\xb9\xfa\x8c\xb7\xed\x85\x90\x37\xfb\xa9\xb5\xa2\xef\xa4\xc5\x2b\x06\x79\x33\x0f\x1c\x68\x3e\x4e\xe9\x33\x57\xfc\x32\xe6\x0d\x0b\xee\x56\xc4\x65\xb1\x13\x79\xfc\x12\x18\x08\x84\x37\xf3\xd4\x57\xbb\x92\xf2\x76\x05\x3f\xd7\xa7\x34\xb7\x94\x43\x5e\x2c\xfc\x1c\xb2\x9c\x11\x54\x94\x0b\xd6\x47\x56\xe8\xcd\xc8\xf2\xc2\xa5\xb2\xac\xda\x0f\x5a\xcc\x73\x3e\x47\x49\xcf\xf9\x42\x08\x7b\x5e\x53\x20\xef\x39\x5f\x68\x91\xcf\xf9\xd2\x96\xfa\xbc\x0e\x85\xe0\xe7\x7f\x95\x4e\x37\xaa\xbf\x14\xe2\x9f\x65\x95\xd6\xab\x05\x10\x5b\xfe\x91\x66\xdf\xea\xcb\x14\x61\x00\xc1\xf5\x48\x61\x07\x56\x44\x8c\xa9\x48\x08\x08\xfe\x64\x89\x33\x96\xde\x85\xab\x6d\xe6\xe2\x39\x19\x9e\x9c\x1c\xd9\xfb\xd4\x87\x6b\x9a\x06\x29\x1c\x6a\xd4\x42\xae\x90\x0b\xf9\xab\x8a\x20\x30\x1a\x80\x43\x0f\xd2\x98\x2a\x8b\x25\x6b\x84\x1c\xa2\x0f\xb7\x4f\x9d\x5b\x4e\xce\x24\x0c\xc2\x78\x4a\x1d\x46\xee\x3d\x97\xe9\xa0\x1a\xde\x1e\xea\xf9\x61\x40\x1c\x16\xc1\x85\x11\x21\xf6\x62\x52\x66\xb5\x51\x0d\x0d\x5f\x8c\x5c\xf4\x2b\x70\x8f\x00\xc7\x12\x91\xc8\x8e\x51\x67\x9c\xd3\x20\x82\x2c\x02\x07\x87\xa4\xdd\xef\x0b\xaf\xc6\x52\xed\xde\x59\xe3\x03\x2c\x09\x65\x69\x4c\xf9\xe9\x36\x83\x2c\x6e\x08\x16\xa3\x5f\x3b\x3a\xbc\xe9\xbb\xe4\x0b\x9f\x40\x7c\xd0\xf4\xd0\x2d\x1e\x0e\x32\x75\x9d\x97\x76\x34\xe8\x4d\xce\x0f\x64\x5a\x83\x39\x91\x54\x55\xf1\x3b\x45\x0b\xe3\xd4\xf0\x16\x45\x5c\x30\xfc\xfe\xe5\xa7\x91\x3f\x9f\x8e\x85\xe5\xe0\xe7\x52\x91\x21\x14\x5c\x7c\x0c\x2c\x6b\xe5\xb2\x02\x93\xe0\x88\x4f\xa5\xbb\x07\xd7\x47\x94\x68\xd5\xac\x9d\x88\xcf\x22\x97\xdb\xdf\x49\xcb\x9c\xd2\x30\xd2\xb2\x20\x67\xd4\x12\x37\x33\x45\x33\xff\xb1\x65\x6d\xb9\x06\x05\x72\xd7\x56\xe2\x6e\xec\x51\xa9\xa1\xa5\x4c\xfc\x6a\x5b\x2b\x57\x2c\x24\x60\x5b\x7f\x14\xed\xf3\xee\xf9\xe0\x32\x6d\x6a\xb0\x6c\x3e\xd8\x65\x40\xe2\xbc\x50\x49\x21\xa3\xca\x5c\x9c\xfc\x53\x23\xff\xa6\xa2\xd0\x50\x0c\x7e\xc8\x3b\xf1\x05\x34\x7a\x36\xf9\x86\xae\x68\x37\x68\x68\x10\x4b\x1b\x2c\x48\xc3\xa1\x3f\xb6\x9b\x36\xee\x98\x12\x70\x80\x6f\xd0\x66\x8b\x7c\x65\xbe\x93\x69\x1c\x4b\xfc\xdb\x54\xc2\x73\xd8\xb9\x45\x0d\xce\x12\xa9\xb3\x28\x50\x33\x3d\x77\xb0\x95\xa7\x1b\x57\xb9\x2b\xf1\xeb\x54\xeb\x03\x9d\x19\x7d\x49\x15\x89\x8a\x79\xa8\x5d\xcc\x24\x76\x92\x6a\x4d\x9d\x0c\x2a\x44\xc9\xae\xf0\x62\x9f\x94\xb4\x09\x58\x04\xf7\xc0\xa8\x4c\x35\x4a\xc2\x6f\xfc\x6e\x01\x39\x9a\xe7\xca\xa2\xe6\x79\x23\x6b\xa2\x9c\xd9\x43\x5a\x1d\xcb\xf4\x62\xb5\xa5\xb0\xc3\x11\xe4\x23\x3d\x6e\xfb\x83\x6c\xf4\x17\x1e\x56\xaa\x11\xde\x3f\x6c\x4a\x88\x67\x4b\x4a\x72\x97\x34\xe8\x53\xea\x9d\x26\xcc\xce\xfd\x28\x4e\x39\x09\x37\xaa\xc3\x47\x31\x12\x13\x2e\xa5\x00\xa2\x20\x5a\x4a\xc2\x10\xc2\x87\xef\x19\xa1\xae\x72\x33\xd4\x64\x8c\x59\x24\x90\x05\x53\xf4\x01\x1b\x61\x2f\x86\x2d\x53\x61\x89\x4a\x12\x0c\xa2\xf9\x47\x45\x64\xa7\x37\x05\xa3\x96\x95\x25\x20\x55\xce\xf4\x16\xe2\xa5\x33\xea\xa1\x84\x9c\x90\x9e\xec\xae\xbc\x9e\x8b\x87\xa1\x6a\x76\x8b\xad\xc0\x39\x04\xb6\x04\x3a\xc1\x00\x20\x10\x71\xf8\xd0\x8b\x49\xca\x5c\x9e\xef\x76\x16\xb8\x10\x14\x21\x91\xe9\x79\xdb\xf2\x19\x20\x66\xa6\x56\xa9\xa6\xc2\x0b\x62\x16\xf1\xf3\x4b\x46\x93\xe3\xc9\x29\x9f\xe8\x68\x34\x62\x89\xb2\x1f\xc8\xce\x8e\xc4\xa1\x22\x93\x54\xab\x0b\x34\xea\x15\x55\x9d\xde\x02\x6d\x33\xb1\xe7\xb2\x88\xb9\xa6\x1a\x53\xe0\x79\xa0\xcf\xa2\x70\xf0\x15\xcc\x0d\xda\xb1\x3b\x61\xe8\x6c\xbc\x44\x87\x56\x2c\xd7\x9a\x94\xc9\x59\xc5\x56\xed\x19\xcc\x8f\xf3\x7c\xce\x2e\x3d\xc4\xe0\x30\x64\x71\xfe\x29\x26\x1d\x4b\x60\x81\xcc\xa7\x2c\x1c\xa2\xa7\xc8\x3e\x29\xe1\x70\x01\xc7\x29\x1c\x7c\x05\x60\xe5\x2b\x01\x00\xb3\x91\x3d\xd4\x8c\x13\x6f\x2f\x9d\x0f\x9a\x57\xd7\x47\x90\x0c\xed\x35\x30\x3b\x41\x45\x9a\xa8\xf4\xb0\x1a\x25\x1b\xf4\x23\xb1\x10\x51\xc7\x84\xf7\x3c\x7c\xec\x10\xc1\x0e\x4e\x38\x99\x80\x7f\x89\x27\x9e\x77\xf4\x81\x5d\x33\xae\x11\x3f\x98\x5b\x8a\x1c\x94\xdc\x60\x6c\x45\x39\x7f\xab\x90\x75\xe4\x62\xad\xe4\x28\xd1\xe6\x75\x7b\xdf\x3a\x3d\x17\xdd\x4d\x74\xd9\xf4\xc1\x68\xd5\x5a\x7c\x18\xf2\x46\x7e\xf8\x21\x73\x1a\xe6\xb4\x80\x37\x92\xdf\x7e\x33\xaf\xe9\x99\xea\x78\x78\xd9\x7c\x49\xdf\x5b\xa0\x0a\x67\x49\xd1\x55\x26\xef\x2e\xa3\x2a\xd9\x47\x91\xed\x4d\xb5\xc0\x46\x27\xdd\xe2\x2d\xf8\x17\xc9\xf5\xaa\xf1\xb6\x63\x5a\xec\x72\x5e\x5a\x4c\x3d\x66\xc1\xfb\x4a\x4a\x27\x59\x7c\xed\xc6\x5c\xf9\xe6\xdb\x6e\xea\xbd\xc9\x7c\xc7\x42\xf8\x54\x7e\x99\x10\xf7\x21\xd8\x1a\x99\xc2\x25\x16\x70\xb3\xd2\xd8\x90\xa7\x5f\x4b\xf7\x04\x63\x60\x57\xb6\xd7\x82\xfa\x1c\xa5\x90\xab\xda\xb3\xd8\xdc\x5a\xe4\x3d\x12\x76\x3d\x4d\x68\x8e\x1f\x95\xee\xce\x60\x90\xd5\x5d\xfa\x0d\x7b\x59\x77\x9a\x3c\x31\xc0\xe5\x46\x5a\xc5\xf9\xac\xbd\x40\xe1\x8f\x8c\x58\x82\x4f\x0a\x00\xc3\x5e\xf6\x4c\x68\x41\x8f\xfc\x44\x76\xd2\xb0\x92\xda\xe2\xe3\x19\xa1\x5e\x7e\x78\x0f\xfb\xb2\x3f\x94\x6f\x1d\xad\xf3\x7e\x97\x34\xb6\xab\xa0\x08\xec\x48\x4c\x2e\xe9\x92\x4b\x5e\x90\x1d\x0b\x1b\x0f\x1b\x57\xb6\x42\xd5\x70\x63\xdb\xb6\x2f\x55\xe5\x8b\x13\x58\x1d\x22\xf6\x6d\xc6\x8f\x67\x11\xb8\x27\x5b\x12\xbb\x38\xbe\x4a\xb1\x31\xbd\xf3\xc2\x88\xd3\x35\x0a\xc2\x09\x5b\x33\x9c\x74\x0c\x8a\x2c\x04\x87\x22\x0b\x63\xfa\x73\x79\x81\x28\xb2\x32\xa6\x3f\x97\xe5\xf3\xd6\x58\xbe\x21\xd1\x28\x7d\xb0\xc2\x5b\xa9\x56\xcc\x51\x76\xe4\xec\x15\x0d\x28\x8f\x40\x52\x38\x9c\xbc\xe1\xdb\xe8\xd0\x5e\x30\x66\x91\x27\xed\x82\xe2\x64\x29\xc5\xf2\xa9\x3e\x98\x4f\x42\xa9\x01\x16\xf2\x20\x33\xdc\x3d\xb3\x7c\x96\x0b\x99\x86\xb2\x9a\x6c\xce\x0b\x9a\x7d\x1e\x68\xa1\xcf\x70\xea\x87\xc5\x56\xb0\x85\xe5\x7b\xc7\x07\x7a\xfd\xe4\xcc\x41\x6a\xf5\xa5\x4b\xe4\xa1\x81\xda\x56\xab\x05\xf3\x9b\x3f\xb5\x8f\xe3\xba\x4c\x6f\xd2\x67\xb8\x01\xad\xa7\x77\xad\x98\xcc\x02\x9f\xc5\x31\xa1\x7e\xc4\xa8\x3b\x27\x96\x1f\x45\x34\x1a\x94\xd5\x23\xd9\x30\x8c\x26\xb5\x67\x2b\x30\xd9\x60\x5a\xd6\x2c\x5f\xce\xd6\xcd\x31\x53\x56\xc8\x2f\x45\x08\x0c\x59\x06\xbc\xca\xda\x95\x3f\xa5\x3b\xf9\x5c\xc9\x0a\x95\xb4\x6f\xa6\x2d\x89\x92\x78\x01\x5b\x14\x46\x57\xe1\x19\xbd\x65\x47\xe2\x12\x5d\xce\xd8\x14\xf6\x73\x4d\x00\xc5\x43\xd0\x6a\x51\xe1\x60\x74\xeb\x66\xf6\x58\x8b\x93\x86\xe1\x7c\xe2\x3d\x94\xd3\x94\x56\x53\xde\x12\x55\x52\xaf\x6d\x6c\x6c\x6c\xd8\x8c\xc8\xec\x14\x8b\x26\xd2\x7a\x37\x29\x67\xeb\x3e\x69\x22\x8d\xfd\x20\x6f\x22\xd3\x9d\xe4\x61\x6a\x24\x80\x55\x25\x6c\xa8\xf2\x49\x38\x31\x5e\x05\x52\xb7\xbe\x58\x5e\xfb\x62\xbc\xf7\xc5\xc2\x82\xaa\xcd\x6b\x15\x1d\x6a\xa8\xef\x28\xff\xe4\xdb\x56\x83\xb4\x82\xdc\xdb\xd6\x82\x3a\x4d\xd2\x0a\x50\x95\x7a\xf4\x35\x4d\x3b\x85\x15\x8d\xbd\x40\x61\xd1\x15\xcf\xc0\x12\x69\xdf\xb8\x1a\x55\xa0\x2b\xef\xe2\xd5\x30\x6f\x5e\xd6\x25\x6b\x71\x3f\x5d\x75\xfb\x82\x96\x75\x86\xd0\xc1\xd7\x86\xbe\xb9\xfd\x00\x57\xb1\xa6\xfa\xc0\xea\x40\x3c\x87\xe5\x56\xcc\x5e\xf9\xa4\xd5\x4c\x5d\xf3\x1a\x78\xcf\x6b\xc8\x8b\x9e\xf1\x55\x93\x88\x7e\xf5\x1d\x50\x5e\xca\xb0\xaa\x34\x30\x8a\x5b\x50\x33\xef\xca\x24\x4a\x66\x2c\x87\xaa\xce\xc2\xab\x93\xa8\x6d\x5a\x09\x55\xc5\xa2\xcb\x92\x51\x47\x58\xf2\xac\x2a\x39\x17\x24\x51\x23\x6d\xe6\x52\xd5\x52\xb6\xb1\xbd\xe2\x15\x6b\x2c\x56\x19\xd2\x6d\x3f\xbc\x28\xb3\x7e\x9c\xff\x86\xf7\xaf\x5e\x90\x0b\xd7\x95\xa8\x60\x3c\xd8\xac\xb2\x96\xba\x79\x4f\x85\xca\x80\x21\x05\x33\xdf\x86\x91\x6b\xc4\x58\xcc\xff\x91\x7e\x0a\x56\xef\x2d\xe8\x3c\x03\x26\xc7\x98\x18\xc6\xb6\x3c\xd7\x14\x61\x97\xff\x1d\x1f\xaa\xf8\x3d\x09\xde\x2d\x18\x7e\x6c\xf6\xa0\x9a\x36\x5a\x94\xf7\x25\x7e\x69\xb0\x39\xaa\xa2\x59\xae\x72\x88\x43\x47\xb2\x3c\xf2\x0a\xb8\xab\xd2\x65\x99\x4c\x0d\x94\xd1\x55\x25\x1b\xb3\x2d\xb1\xa9\x8c\x56\x32\x5f\x15\x94\xb4\x1f\x30\x52\x58\x55\x32\x78\x38\x55\x50\xc0\xce\x88\x63\x6c\xf9\x9c\x60\x0e\xad\xc2\xd9\x20\xc2\xf5\x9e\x46\x09\x7a\xaf\xe2\x5b\xa0\x2b\xeb\x21\xbb\x28\x62\x50\x4c\x67\x88\x7d\x9a\x79\x58\x7b\xfa\x84\x6a\xf2\x16\xce\xa8\x68\x5b\x4d\x28\x12\xac\x48\xc7\x1c\x90\x90\xec\x2c\x87\xba\x6c\x75\x1c\xd5\x95\x12\xa8\x24\x24\x0e\x46\xb0\xe6\xd7\xcf\x15\x28\xf6\x90\x80\xed\xcd\x35\x07\xf1\x14\xa1\xea\x63\xf5\x94\x54\x89\x84\x67\x55\x62\xa4\x30\x59\x4d\xc6\xa0\xb9\x8c\x84\xa5\xda\x5b\x59\xde\x44\x73\xd9\xca\xab\x4b\x1f\xa0\xbd\xa0\x09\x67\x91\x18\xa2\x95\x5c\x49\x22\x2f\xcc\x20\x4c\x81\xff\xf1\xbf\x4d\x04\x99\xb0\x08\x89\x28\xdc\x45\x55\x57\x92\x3e\x23\x0d\xea\x13\x05\x30\x15\xac\x6b\xc9\xa0\xca\x6d\xfb\x08\x09\xf4\x82\x51\xb1\x10\x32\x71\x35\x79\x84\x08\xf2\xf6\xd2\xb5\x17\xc9\x60\x3c\xf5\xbd\xc4\x38\xbc\x03\x8c\xe0\x48\xbc\xd1\x2c\x9c\xc5\x24\x9a\x05\x70\xd4\xe3\xc3\xfe\x1a\xf0\xdb\x7a\xde\x47\x48\x24\x59\x0c\x5d\x0a\xd6\x14\xa4\xad\x28\xb3\x20\xae\x29\x15\xd4\x04\xe4\xd8\x13\xda\x8a\x22\x3a\x87\x77\x7a\xca\x7f\x23\x78\x1a\xc3\x15\x03\x03\x76\x84\xaf\xbd\x1a\x3f\x12\x9c\x44\x55\x44\xfc\x91\x42\x0a\x1e\x13\x5a\x0c\x3c\x19\x12\x01\xde\xab\x0b\x07\x6c\x8c\x44\x36\x06\x6f\x07\xf9\xa3\xad\x11\x50\x96\xa4\x12\x63\x90\x18\xa7\xea\xc8\xc6\x0c\x5f\x09\x2f\x89\xe5\xf3\x84\x4e\xec\x05\x2e\xd3\xa0\x0e\x45\xb3\x45\xb7\x04\x60\xde\x3b\xcf\x65\xbc\xc1\xdc\xc0\xf2\x94\xc3\xe6\xa7\xcf\xda\x38\x07\x3e\x6f\xf5\x2a\x31\x01\xdb\x4c\x87\x4d\x0f\x3e\x22\x1e\xf9\x89\xf3\x56\x1e\xb0\xd6\x3d\x1e\x53\x8b\xd7\x9c\xd0\x65\x97\xa1\x17\x24\xad\xa4\xec\x89\xab\x35\xb4\x10\x38\x11\x13\xee\xb0\x65\x07\xc0\x76\x1f\x86\xc3\xe1\xb0\x42\x7e\x21\x0d\xf2\x8a\x34\xf7\x94\x81\xc9\x21\x3f\x91\x46\x73\x87\x6b\x59\x62\xb5\xf0\x21\xa1\x52\x80\x4f\x0b\x0d\x6d\x33\x12\x14\xbf\xd8\xd7\x3d\xe4\xa6\xc2\xe1\x0d\x63\x59\x33\x27\x43\x74\x07\x18\x10\x65\x2e\x94\xaf\x80\x7e\xb1\x97\x73\x96\x48\x76\x54\x7e\x4f\xa5\x37\x58\x50\xcf\xab\x6a\x3a\x2a\x55\x31\x9b\xaf\x60\xee\x74\x2b\x82\xdf\x1e\x79\x91\x26\x9a\x58\x33\xa0\x7b\xf4\x32\x03\x54\x06\x06\x41\xe3\xb3\xc7\x0d\x27\xe5\x25\xbb\x2c\x62\xef\x2e\xf9\xdf\x19\xa4\x57\x25\xf0\xd7\x50\xfe\x72\x7d\x75\xb4\xc3\xef\x54\x2e\x8b\x4a\x26\x44\x69\x09\x97\xdc\xcd\x55\xad\x2d\x97\xeb\x19\x9d\x2e\x8a\xf1\xc3\x54\x4a\x84\xc5\x0e\x9d\x32\x05\x41\x40\x54\x38\x2d\xfa\x24\x49\xa7\x76\xe3\x63\xc2\x17\x3e\xbc\xfb\x84\x16\x4e\x83\xd8\x52\x1c\x3a\x05\x80\x20\x80\xa7\x88\x86\x21\xff\x76\xa4\x52\x28\xfe\x88\xe0\x9b\xd8\x84\x17\x06\x71\x95\x4c\xa9\x87\xd1\x57\x7a\x1f\xab\x12\x96\x38\xa9\x77\x74\xdd\xbf\xf8\x33\x70\xd1\xcc\x33\x60\x2a\xcc\xce\x17\xe0\x83\x0f\x9c\xa8\x2a\x49\xc6\xf0\x04\xe7\x81\x26\x80\x8f\x0e\x31\x40\x61\xeb\xbc\x52\x11\x23\x2c\x0e\x13\x16\x79\x4e\x9a\x15\xea\x5c\xe8\xf3\x1a\xea\x53\xd0\x62\x26\x34\xba\x65\x2e\x79\xfe\x4e\xc0\xa9\xea\xe0\xc1\xe7\x1a\x88\x5a\x86\x22\x48\x1c\x2f\x0c\x08\x54\x77\xcf\x88\xf9\xec\x4e\xa6\x7e\xe3\x04\x23\x8e\xb6\x67\x83\x35\xdd\xb1\x08\x9c\x02\x6c\x80\xa3\x67\x12\xd7\xd5\x26\xe7\x3c\x4c\xe4\xf3\x9a\x3f\x37\xeb\x14\x51\x85\xaf\x3e\x88\x5b\xe1\x85\x91\xc7\xf7\x73\xf0\xf0\x83\x52\x13\x3a\x17\xa1\x93\xc3\x19\xa0\x6f\xa9\x16\x09\x44\x7c\x4c\x18\xc2\x51\x29\x46\x31\x06\x5e\x78\xaf\xf0\xe8\xf8\x74\x73\xd5\xa8\xd7\x3f\x13\xf8\x87\x2f\xaa\x88\x1c\xcf\x3c\x57\x1d\x79\xf8\x33\x4e\x92\xe9\xab\xf5\xf5\xbb\xa4\x51\xaf\xd7\x02\x96\xac\xbb\xa1\x13\xe3\x9f\x6b\xb3\xd1\xba\x33\xa6\xd3\x84\x45\x1b\xb5\x71\x32\xf1\x55\xbb\x5b\x0d\x68\x77\xab\x51\x27\x37\x80\xde\xa6\xd0\xf0\x2e\x05\x78\x3d\x8b\x48\x37\xe0\xd2\x07\x62\xb6\x5a\x97\x5b\x8d\xfa\x5a\x34\x59\x17\x8e\x7a\xe2\x34\xfd\xf4\xfe\xaa\xd3\x3b\xfb\x4c\xde\xc3\x14\xb5\x05\xae\x4f\x5f\x8a\x43\x6e\xcb\xca\x90\xbc\xe6\xc5\x3e\x0d\x5c\xe8\x04\x84\x72\xdd\x49\xfc\x98\x7d\x8b\xe5\xbf\xe6\xb0\xda\x57\xbd\xd3\xcf\x84\xbc\xf3\x6e\xbd\x29\x73\x3d\xfa\x8a\xb4\xeb\x20\x13\xed\x86\xea\xb7\x1d\xba\x05\x7d\xb2\xa0\x76\x2f\x6b\xd6\xc2\x68\xb4\xce\xff\x5a\x6f\xd7\xbf\xd0\xc0\xfd\xd2\x6e\x7c\x11\x88\x44\x5f\x1c\xdd\xc2\xa7\x76\xbf\xfb\x99\x58\x3d\xc2\x9b\x5f\x07\x17\x02\xef\xeb\x31\x5d\x89\x0e\x24\x6b\xbe\x74\xf9\xdf\xee\xcc\x41\x01\x23\x64\x42\x03\xb2\x25\xf6\x8b\x61\x58\x85\xbf\xf9\x6f\xce\x64\x5a\x95\xbf\x90\xb5\x53\x5c\xbd\x6b\x01\xbb\x5f\x8c\x5b\xa8\x77\x1e\x35\xf9\x32\xf4\x55\xc6\xd9\xa6\x36\x33\xa9\x98\xdc\x5c\x15\xa3\x1b\xc2\x6e\x49\x64\x28\x8f\x40\xc3\x4b\xef\x71\xb9\xb0\x53\x77\x5e\x94\xcc\xc0\xd9\xd3\x78\x9c\xfc\x71\x3d\x8d\x58\x90\x06\x4c\x54\xc5\x75\x26\x19\x28\xaf\xc1\x38\x30\x05\xae\x91\xc6\x42\xbd\xe0\x9b\x49\x4f\x45\xb5\xdc\x84\xa7\xd2\x11\xe5\x92\x46\x70\xe6\xd0\x84\x11\x48\x1f\x05\xb8\x86\xfa\x09\x98\xc6\x09\xa6\x03\xb5\xe1\x0d\x31\x2d\x2c\xc3\xaf\xb8\x8e\xce\x24\xc8\xbc\xc0\xec\x9a\xd2\x38\x96\x19\x55\xe6\xe1\x2c\xc2\x92\x24\x0a\x67\x09\x04\x6d\x47\x14\x54\x59\x08\xfe\x8b\x18\x20\x01\x62\x0b\x40\xb2\x6e\xf6\x8b\xf2\x79\xd2\xf8\x90\xc6\x97\x66\x0c\xcf\xcd\x55\xed\x52\x7d\x55\xd6\x45\xaf\x83\xdb\x20\xbc\x0f\xbe\x28\x5c\xfd\x56\x30\x27\xcf\x7d\xec\x94\x4c\x42\x17\xa2\xbc\xe2\xe7\xea\x0c\x4c\xed\xfa\x55\x15\xb1\x5e\xfa\x85\x1f\xba\xa4\x84\x11\xdf\x63\x31\x66\xb4\xad\xab\x76\x88\x04\x38\x12\xd1\x42\x48\x44\xbb\xdf\xfd\xa2\x46\x20\xfa\x3e\x13\x55\xbe\x08\x07\x48\x83\xba\x24\xa2\x9e\x6f\x93\x57\x23\xa4\x4f\x27\xcc\x4c\x72\xc0\xb8\xdc\x11\x4a\xd2\x63\xa9\x62\x4b\xec\xc1\x61\xd3\x44\xfa\x95\x45\x4c\xe8\x1e\x98\x2a\x0e\xae\x94\xb3\x09\x1c\x73\x34\x1a\x81\x47\xad\x0e\xf5\x95\xfd\xe7\x93\xf8\x6e\xcc\xf0\x3d\x21\x82\x93\x0e\x41\xce\xa6\x32\x4c\x48\xb0\x0f\x76\x15\xe0\xa9\x8c\x9f\xcc\x00\xd5\x60\x5f\x00\xcc\x8b\x59\x96\x40\x61\x46\x68\x3c\x33\x8d\x94\x06\x11\x4d\x21\x4a\x62\x9a\x55\x7e\x40\x8a\xeb\x18\xe0\x4b\xaa\x79\xc4\x5c\x29\x34\x20\x17\xfd\xb6\x09\xa9\x24\x96\x53\xec\x5c\x79\x13\x76\xea\x4d\x3c\x88\x64\x6b\xd6\xeb\xf5\xba\xec\xac\x6d\x80\x02\x44\x6c\x34\xf3\x69\x44\xd8\xc3\x34\x62\x71\x2c\x12\xcc\x6b\x17\x6b\x10\x2f\x12\x06\x6c\x0d\x20\x59\x24\xd0\x1b\x9f\xa8\xb8\xf6\x4c\xbb\x56\xca\x80\x59\x2f\x20\x96\x60\xf2\xd6\xbe\xcd\x3c\xe7\xd6\x9f\x93\x18\x32\x61\xc8\x0b\xa6\x76\x0c\x7f\x48\xb0\x21\xb3\x71\xbc\xbd\xc9\x5c\x2a\x4e\x83\xec\x13\x84\x49\xac\xdd\xb2\x79\x5c\xd6\xfa\x5f\xbb\x51\xa9\x4d\xe8\xb4\x2c\xdf\xac\x53\x49\x77\xc4\xfd\x00\x75\xeb\xd2\xaf\xbf\x42\xd6\x77\x4c\x81\xf2\x7d\x4a\xdd\x32\x83\xcb\x0c\xdf\xfb\x5b\x49\xb9\x52\x4b\x42\x11\x14\xda\xd8\xae\x54\x49\x53\xa6\x74\xfc\xbd\x52\xfb\x1a\x7a\x01\x86\x8a\xca\xb0\x1e\xa7\x71\x49\x93\x84\x45\x81\x5c\xaa\x3d\x36\xea\x3c\x4c\xcb\xa5\x4f\xbc\x0f\x4e\xf3\x0b\x52\xfa\x5c\x52\x4b\x53\x28\xb2\xc8\x5f\x0f\xef\xc9\x08\x4c\xe3\xc2\x37\xca\x1b\x48\x04\x4d\x25\x43\xa9\xfb\xca\x0e\x52\x2a\xb1\x70\xc6\x53\x7b\xb8\x14\x5d\x80\x42\x94\xcb\x83\xec\xac\x0d\xbc\x24\xcb\x5b\xcc\x06\x22\x6a\xb6\x82\xa2\x62\x88\xc0\x6f\x1c\x32\xf0\x96\x32\x26\xbc\x70\xcc\x84\x19\x0c\xb3\xf4\xfe\x28\x13\x77\xdc\x87\xd1\x2d\xd7\x96\x5f\x42\x93\x72\x65\xc4\x98\xa6\x87\x6b\x62\xbe\x2f\x9e\xdc\xee\x43\x44\xfa\x61\xdf\x66\xde\x1d\xf5\x55\x4e\xc7\x1f\xc9\x59\x18\x27\x90\x3c\x38\x26\x71\xc2\x95\x44\xc0\x07\x96\x5b\x73\x72\x1f\xa2\x3c\x8a\x48\x6a\x6b\x30\xef\x54\x90\x77\x6a\x4c\xb0\x68\x07\x73\x15\xa4\x4b\x94\xe8\x9a\x40\xd3\x90\x65\x06\x5b\xf2\xe2\x78\x26\xa0\x8f\xc9\x73\xea\x38\x9e\xcb\x82\x84\xfa\xcf\xc9\x0c\x00\x64\x45\xae\x22\xa1\x3e\xca\x80\x90\x81\xf2\x99\x42\xed\x55\x9e\xae\xaa\x01\x5e\x1d\xb1\x4a\xbd\xe0\x2e\xf4\xef\x00\xf5\x20\x29\x81\xc9\xd1\x0b\x68\x34\x97\x00\x77\xe6\x79\x8a\x0e\x21\x3b\x07\x5e\x22\x75\x23\x6b\x07\xc9\x13\x01\xbe\xf5\x00\xb7\xf8\x0e\xb1\xd5\xd4\x97\x1e\x13\x21\x1c\xcc\x89\x10\xe7\x42\x1c\x95\x42\x2a\xaf\x6b\x95\x60\x0a\xa1\x85\xcc\x84\xe1\xb2\xf3\x9e\xb1\x51\xf2\xa9\x2b\x81\x5b\xab\x04\x3b\x72\x34\x2a\xa8\x95\xaf\x84\x4b\xfd\x8c\xef\x1e\x22\x41\x33\x42\x91\x1c\x76\xda\xe4\x32\x02\x38\x4f\xcc\x14\xd1\x68\xe6\x92\x75\xc8\x9c\x46\x33\x9f\x17\x68\x73\x9c\x02\x80\x1e\x91\xa8\x75\xd2\xda\xc6\x77\x1f\x88\xa7\x11\xf8\x64\x46\x12\x20\x4e\x7a\xaa\x2f\xb5\x1c\x3a\xb2\x99\x7d\x52\x9a\x25\xc3\xb5\x9d\x92\xdd\xe7\x19\x7d\x90\x26\x03\xdc\x9d\x67\x81\x16\x06\x72\xd8\xee\x57\xf9\x6c\x54\xc9\xe5\x19\x3f\x60\x5a\x97\x7a\xeb\x96\xc8\xc1\xf7\x0c\x9e\x04\xb1\xb9\xd9\x14\x34\x62\x03\xb3\xc0\xc1\xb7\x3b\x25\xec\x08\xa0\xc1\x57\x14\x0b\x64\xfa\x44\x11\xd8\x2e\x15\x45\x7e\x05\x2e\xf7\xaf\xaa\xa4\xf4\xeb\xc3\xae\x53\xaa\x92\x4e\xbf\xcd\xb7\xc2\x52\x45\x64\xe7\xff\x91\x94\x0f\x3a\xa7\xf0\x7d\xfd\x65\xa9\x62\x9a\xc0\xc6\x4c\xe4\x56\x22\xcf\xc5\xb6\x2d\xe9\x7d\x4e\x26\x61\xe0\xc9\xec\x95\x9a\x55\x13\xfa\x80\xdd\x4b\xc5\x98\xec\x93\x46\xbd\xb9\x69\xf3\x49\x41\x17\xb0\x09\xa4\x83\x84\xd4\x3b\x02\xfd\xfc\x1e\x21\x08\x81\x73\xc2\x1e\x68\x6f\x49\x61\x24\xce\x61\x6c\x4b\xcb\x35\x5f\x86\x2a\xd7\x63\xc4\x9c\x70\x14\x78\xdf\xc1\xb7\x98\x3d\x4c\x7d\xcf\xf1\xe0\x9e\x08\xcc\x4c\x51\xcd\x29\xb8\x0e\x8c\x2b\x64\xae\x80\x5f\x19\x71\xa2\xc7\xf5\x5a\xad\x76\xbc\x61\x90\x35\xa1\xd3\x38\xd5\xec\x71\x9d\xec\x93\x5c\x5b\x05\x3f\xb3\xe2\x4f\xa5\x83\xd2\x67\x75\xa0\x1c\x37\x96\x14\xae\x9b\x85\x9b\x8f\x69\x79\x63\x95\xc2\xe9\x91\xe2\xf6\x2d\xa3\x0d\x2d\xd5\xcc\x96\x40\xdc\x43\x29\x67\xc0\x14\x4e\x76\x04\x34\x1b\x80\x46\x26\x51\x38\xe5\xe5\x02\x62\xcb\xc4\x23\xde\xf1\x29\x6f\x0c\x9b\x51\x66\x59\x2e\x6c\xbb\x9b\x70\x2e\x08\x7f\xcd\xfa\x43\xb3\x01\x79\xac\x1e\x5e\xa6\x65\x5f\x4f\x07\x34\xc5\xe9\x28\x1d\x94\xaa\xe4\xba\x4f\x5a\xfd\x76\xb7\x9b\x9e\x8f\x53\xbe\x70\x8f\xeb\xa5\xec\x68\x77\xfe\xfa\xd1\xf6\x56\x1c\x2d\x15\xa3\x1d\xa6\xa5\xf4\xb8\x67\x91\xbf\x4e\xfa\xf4\x0e\xf0\xec\xf8\x2e\x29\xd5\xaf\xc3\x4e\xbb\xdf\x46\xd5\xcc\xd6\xcf\xa8\x48\x10\x9c\x84\x04\x01\x65\x29\x82\x0f\xdc\x5c\x61\x0b\x55\xe2\x01\x03\x7f\x0c\xc2\x04\x37\x61\x01\x49\x67\xeb\x25\x31\xef\x33\xff\x8a\x82\x19\x85\xf4\x1d\xc5\x76\x82\x38\x0f\x33\xc9\x4e\xf5\x15\xd5\x70\x03\xce\xbd\xd3\x09\x1b\xb8\x68\x8a\x8f\xb1\x73\x25\x0e\x86\x7a\xbd\x2e\x4d\x32\xe2\x72\xa8\xf3\xf3\xae\xcf\xa6\xa2\x3b\x50\x20\x56\xeb\xb3\x7d\xda\x6d\x9f\xf0\x6d\xab\xb0\xc3\xe6\xc2\x0e\x01\xd3\x39\xbc\x43\xd3\x11\x82\x7c\x52\x32\x80\x1c\xe1\x00\xea\x1a\xde\x07\x2b\x0e\xbe\xd7\x3a\x26\xe0\xcb\xa0\xa0\xed\xd4\x25\x90\x18\xd0\x59\x96\xed\x50\xbe\x75\x44\xd4\xb9\x8d\x6d\x7c\x05\x33\xfb\xa2\xbc\xf8\x76\x13\x88\x4e\x19\x7a\xcc\x77\x63\xa9\x94\x9b\x81\xbc\x83\xd9\x70\xc8\x8f\x02\x89\x9f\x2e\xed\xbb\xf2\x73\x3e\x5a\xd5\xa0\xd2\xbf\xd3\xaf\x4c\xf2\xf3\xdf\x95\x3f\xe3\x2c\x70\xac\x15\x0c\xf5\x23\xab\x81\xdc\x90\xd3\xc1\x6c\xa8\x43\x4d\xf5\x63\x15\x7a\xa2\x5b\xe3\x45\x0a\x53\xac\x36\x38\x68\x02\x81\x68\xa2\xf8\xdf\x55\xd9\x53\x4e\x98\x81\x74\x44\xdf\x27\xa9\x4f\x34\x08\xc2\x6c\x28\x42\xb6\xf8\x6f\xbf\xfd\x66\xa3\x15\x4d\xc3\x58\x3e\x27\xa0\x8f\x23\x67\x44\x71\x63\x34\x1a\xc5\xe2\x75\x28\x17\xcc\x20\xc5\xb6\xaa\x35\x2f\x72\xce\x0a\x79\xb0\x08\xc0\x22\xcb\x02\x28\x02\x95\x8f\x94\x77\xbe\x8d\xc2\x74\x30\x1b\x96\x8d\x81\x9b\xf7\x25\xf8\xbe\x25\x6f\xe3\x99\xbc\xb5\x05\xe3\xc9\x5b\xb6\xc5\xe4\x5b\xb4\x15\x81\x71\x20\xbf\xf3\xe6\xb4\x80\x24\xe4\xa8\xc5\x50\x45\x56\x9e\x94\x5a\x12\xca\x37\x48\x84\x32\x03\x10\xa6\xd9\xb0\x2a\xa7\x1a\xe0\x71\xb9\x68\xac\x3c\xbc\x03\x10\xac\x05\x13\x84\x92\xa7\x5c\x0e\xc5\x44\x98\x5e\x87\xe4\x17\xf5\xf1\xab\x02\xb9\xcc\xe5\x81\x32\xa3\x10\xdf\x8b\x93\x85\xc3\xe7\xed\xd3\x68\xf4\xe5\x3b\x8b\x42\xcd\x07\x99\x43\x53\xf3\x82\x4b\xf6\xa7\xfa\xe7\x95\x47\xaf\x64\x27\xcd\x03\xd9\x99\xc1\x08\xde\x76\xcd\x7e\xbb\x33\x7d\x31\x4d\x0a\x7f\xe0\xaa\x7c\xe0\xb2\xa1\x17\x30\xb7\x64\xe4\x6e\x14\xf4\x89\xa5\x2c\xcb\x5b\xfc\x39\x66\x80\x8a\x28\x99\x03\x16\xab\x80\x08\xaf\x87\xa2\x74\x68\x34\x1a\x05\xb3\x09\x9a\x7c\x64\x45\x81\xd2\x07\xd6\xa6\x24\xe2\x17\x92\x55\xd8\xe2\xd1\xc8\x7a\x54\xc6\x96\x95\x80\xdd\x70\x56\xeb\x57\x66\xf4\xd8\xd1\x43\xc3\xd2\x9f\x25\x6f\xd4\x8b\xb4\x78\x93\x86\xcd\x00\x56\x63\x37\x00\xb4\xd9\x2a\x69\xd4\x2b\x2a\x82\xa2\x65\x0c\x3b\x1c\x12\x60\xa5\x17\x93\x44\xe0\x3b\x89\xad\x58\x6e\xee\x30\xeb\x35\xf5\xa4\x0c\x8d\xef\x93\x7a\x45\x47\xd9\xe8\x2d\x10\xc8\x36\x13\x47\xf2\x7f\x64\x14\xb2\xf8\xc4\x2e\x6a\xcc\x48\xcb\xbd\xa3\xf2\xca\x82\x27\xd2\x34\x8c\xf3\x0e\x24\xe5\x9a\x02\x37\x0d\xcc\x30\x81\x93\x10\x0e\x85\x3a\xc6\x2f\xd1\xd8\xdc\x2a\x93\x21\x8a\x9a\xf3\x01\x4d\x1b\x52\xc9\x97\xd8\x8b\x7d\xec\x31\xb5\xce\x44\xac\x25\x23\x11\x9b\x50\x0f\x9e\xae\x20\x0d\x13\x82\x65\x1b\xbb\x50\x36\x0f\x93\x1a\x2a\x3c\x6c\x19\x3b\xbe\xe5\xb9\x61\xa6\xd2\x58\xd2\xc7\x2a\xa3\x9d\x32\x76\xdb\x93\xcd\xa4\xf6\x25\xdb\x67\x53\xec\x4b\xf2\xe9\x5b\x32\x22\xbd\xff\x2b\x06\x40\xf6\x1a\xf4\xf8\x30\xcd\x50\xc1\x9f\xcd\x04\xe8\xa7\xa0\x83\x55\x39\xc0\xaf\x52\x8f\x1e\x79\x15\x92\xc6\x3e\x7d\xf0\xfc\x1c\xa2\x69\x31\x37\x87\x0d\x06\x3b\x2e\xc2\x7f\xe9\xf8\xb9\xfe\x39\x9b\xb0\x27\xb1\xe0\xc5\x8b\x42\x26\x18\x9e\xc4\x62\xbc\x5e\x4c\xd8\x64\x9a\xcc\xe5\xcb\x84\xa1\x89\x62\x76\x7b\x69\x10\x5f\x69\xcb\x8c\xdb\x22\x1f\xc9\x52\xa2\x25\x56\x8e\x0a\xa6\xe5\x03\x11\x67\xca\x4f\xfb\x6a\x45\x9b\xb1\xad\xf6\x1d\xc8\xec\xe1\xce\xdc\x07\xee\xc0\x26\x7f\x97\xec\x99\x77\xaa\x72\xa5\xb8\x25\x33\x48\x92\xde\x15\x02\x4d\xa1\x59\x6d\x5f\x75\xa2\x5e\xe1\xa0\x16\xb6\x67\xa6\x21\x4e\xd2\x08\xb8\xd9\x8a\x23\x96\xa4\xf0\xe3\x2a\x08\x3d\x67\xb6\x03\xd7\x6a\x55\xf7\xf8\x74\xcf\xba\xb0\xea\x2f\x0c\x78\x54\xb0\x8c\xe8\x6f\xea\xb6\x15\x44\x7f\xd1\xb0\x2d\x1e\xfa\x8b\xa6\x6d\xdd\xd0\x5f\x6c\xac\xc4\x46\x99\xb9\x26\x9f\x93\x16\x0b\x44\x51\xc1\x3e\x83\xd3\x06\x07\x6c\x66\x67\x78\x96\xc3\x6d\xc9\xc5\x54\x23\x9a\x95\x06\x1b\x91\x79\xea\x8b\x5e\xaa\x8a\x62\xa5\xc1\x46\x64\x9e\xfa\xa2\x61\x7f\xa1\x58\x69\xb0\x11\x99\xa7\xbe\x48\xb3\x71\x35\xa4\xbb\xff\xd7\x0c\x5e\x69\xab\x50\xae\xa1\xe5\x09\x66\x8f\xc7\x3f\x59\x1b\x5b\xe1\x6b\x78\x64\xd5\x4f\x8a\x69\xab\x89\x74\x3e\x01\xb3\x2c\xbe\xa2\x5f\xf1\xdb\xbe\x17\x8c\x9e\x93\x98\x39\xf2\x44\xff\x04\xae\x05\x69\x05\x3b\x2f\x01\x06\xbe\xb9\x9b\x73\xca\x52\x98\x47\xd6\x40\x16\x8d\xc4\x8c\x24\x52\xaf\x9b\x6c\x32\x0d\x23\x1a\xcd\xc1\xf0\x44\x47\xa8\xff\x87\xb3\x08\xde\x56\xc3\x20\x66\xf2\xa5\x4f\xfe\x2d\x6b\xca\x37\x5a\x4c\x1c\x23\xed\x50\xbc\xe4\x24\x74\x4d\xcd\x9e\xd5\xe2\xb1\x37\x4c\x4e\xd8\x1c\x09\xe0\x5f\xff\xb6\x4f\x36\xf5\xf7\x13\x96\xd0\x13\x36\xe7\xbb\xb9\x9d\xa9\x41\xa5\x84\xaa\x51\x3f\xe9\xc6\x67\x2c\xa1\xe4\x6f\x7f\x23\x8c\xff\xc9\xdb\xb3\x1a\xdc\xd1\x0d\x3a\x49\xe4\xa7\xfb\x6b\x6c\xab\x31\x5f\x1c\x5e\x94\xa3\x91\x17\xb8\xb4\xf2\x8a\xbc\x63\x56\x5a\x39\x91\x64\x53\xd9\x93\xb6\xf8\xa1\xbe\x1e\x46\xfc\xf7\x6d\xae\x77\xb2\x87\x84\xa1\x5d\x45\x3e\x8d\x42\x2a\x1e\x7e\xa8\x00\x7c\x19\x98\x14\xc3\xd9\x68\x5c\x15\x4f\xde\x53\x4c\x18\x4a\x31\xb0\x10\x52\xe6\x53\xe2\x7b\x49\xe2\xb3\x2a\xe9\x92\x7b\x1a\x83\x4b\x16\x80\x64\x8b\x84\x76\x23\x96\x90\x3b\x0f\xac\xe3\x13\xea\xc4\xd2\x88\x22\x1c\x71\x51\x23\x8c\xf1\xf5\x25\x96\x5c\x7f\x20\xfb\xe2\x75\xa1\x36\x8c\xc2\x49\x5b\xbc\x9d\x96\xf1\x45\xd5\xf1\xe9\x64\x5a\x66\x8a\xb3\xf8\xf0\x4d\x5e\x90\x8d\x66\x15\xfe\x6b\x6e\x6d\x55\x14\x88\xd5\xfc\x51\x6d\xf5\xc2\xfb\x6c\x43\xcf\x08\x89\xef\xbd\xc4\x19\xf3\xf9\xe0\x32\x2d\x6f\x30\x0e\x8d\x19\x29\xe9\xb4\xd5\xa5\x57\x1a\x13\x00\x57\x0c\x66\xb3\xb6\x6f\x2c\xc2\x46\xd7\xe0\x3c\x69\x92\xa9\x3f\x83\xeb\x1c\x75\x5d\x4f\x5c\x62\xb7\x37\x25\x2e\xc0\x00\x22\x42\x59\x0d\x9a\x39\x64\x7e\x42\x3f\x90\x9f\x49\x9d\xdf\xaf\xeb\xe4\x15\x69\x54\xc8\x0b\xb2\xbb\xad\x3c\x4c\xb9\x6c\x4c\x42\x77\x4f\xdd\x77\x50\xcc\xf9\x2e\xf3\xeb\x43\x63\xf0\xe9\xac\x44\x5e\xe4\x32\x63\xc0\x1b\x7a\x20\x2f\xc8\x7c\xef\x99\x1e\xc2\x89\x4c\xbc\xa9\xc1\x20\xa2\x70\x22\x32\x76\x23\x4a\x33\xba\x59\x43\x3e\x20\x16\x24\x06\x7c\x8b\xa0\x28\x62\xf4\x56\x34\x69\x30\xcb\x0d\xef\x03\x93\x57\x07\xc0\x11\x74\xbb\x53\x79\xa1\x14\xa3\xc4\x85\x09\x18\xb5\xd1\x94\x9d\x82\x0b\x33\xd9\x27\x67\x34\x19\xd7\x26\x5e\x00\x5c\xf2\x9c\x31\x59\x23\x8d\x2a\x69\x56\x60\x1a\xcd\xd1\xb4\x02\x97\x4c\xbc\x07\xa9\x82\x4e\x8c\x35\x1f\xd7\x32\x1c\xfc\x43\x2c\x5c\x38\xf8\xd9\x34\x2b\x26\xb3\x29\x98\x47\x83\x50\x62\x1b\x89\xbd\x15\x47\x24\xf8\x70\x4f\x63\xf0\x6f\xa4\xb1\x78\xf1\xcd\xa5\xef\xd7\x87\xe6\x46\x69\x45\x52\x26\xe1\x1d\x53\xc4\x3c\x62\x13\xee\xb5\x8e\x71\xef\x02\xfa\x4c\x17\x88\xf5\x75\xd2\x4f\x68\xe0\xd2\xc8\x95\x64\x0f\xbc\x44\xf1\x17\x25\x7a\xa3\x49\x5e\x14\xce\x9b\x62\x3d\x4e\x9a\xeb\xf2\xe2\x89\x62\x0c\x13\xe7\xd4\x24\x14\x57\x2f\xd5\xee\x8b\x7d\x73\xc2\x57\x9e\xf2\x9c\x49\xff\x63\xd3\xfe\xfb\xb3\x42\xa6\x3b\xbe\xe7\xdc\x0a\x86\xe3\x27\xee\xc0\x37\x3f\xb4\x2b\x09\xf3\x83\xfc\x4a\xa6\x1b\x63\x51\x14\x46\xe5\x92\xf0\x7d\x31\xcf\x6d\xcc\x35\x86\x7b\x54\x95\xb0\xf4\x32\x34\xfc\xc7\xe5\x00\x0d\x43\x94\x3a\xa8\xbc\xd0\x48\x53\xa7\x4b\xda\x60\xf7\xd2\x09\x50\x7b\xda\x84\x43\xcb\xd9\x58\xbc\x4d\xc9\x5b\x73\xc4\x62\x30\x46\x8a\xb4\x93\xda\xd9\xef\x99\x99\x2b\xdc\x86\xb6\xbe\x32\xaf\xe2\x98\x35\x0e\x7d\x58\xf2\xb2\xc6\x89\x17\x76\x9d\x38\x2e\x95\x35\x2e\x57\x37\x51\xbe\x8c\xa6\x52\x62\x1b\x3b\x0d\x5f\x39\x6d\x7c\x16\x66\x5d\x07\x24\x60\x36\x14\x87\x84\xc8\xb4\xf6\x43\xa6\x9e\xbe\x0e\x96\x2b\xa6\xf5\xcb\x34\x12\x9b\xe5\xf9\xe7\x3a\x88\x02\x4d\xa6\x99\x42\x70\x29\x54\x3b\x21\xd8\x46\x32\x65\x06\xb3\xa1\x90\xa5\xdc\x3e\x6a\x0e\xf5\x7d\x18\x4c\x35\x53\x40\x2e\x44\xb5\x2d\xa4\x2b\xf3\xbd\x01\xfe\x95\x90\x21\x29\xe2\xf8\xf7\xfc\x1f\x23\xbc\x39\x8f\x3e\x5e\x4c\x71\x9c\xe8\x04\x56\x97\x68\xa1\x77\x3d\x17\xe1\xb8\x7d\xe9\x72\x07\xfa\xd9\x0f\x25\x13\x03\xc4\x10\x4c\x74\x5a\xd2\x52\xf9\x27\x09\x8a\xf0\x9d\xca\x0b\xad\x51\x0c\xca\x71\xdf\x50\xfe\x1b\x39\x08\x9e\xcc\xcc\xa2\x64\x05\x67\xc4\x49\x64\x2d\x36\x68\xcf\xc8\xb3\x25\x87\x16\xa3\x63\x57\xc6\x53\x7c\xb1\x4b\x31\x36\x52\x34\x50\x9d\xdc\x29\x77\xb0\x46\x3c\x9b\x9d\x06\xca\xde\x1e\xd4\x2c\xa0\xe7\x99\x19\x69\x86\xdd\x2f\x61\xf4\xb2\xfe\x33\xae\x6b\x72\x31\x66\x28\xc9\xbc\xfd\x65\xde\x0e\xe1\x39\x13\xf6\x17\xf0\x1c\x4c\x74\x70\x9a\xf4\x1d\x84\xfc\xdf\xa4\x91\xf5\x4d\x44\x9b\x56\xb9\x5d\x5f\x6f\x37\x52\x21\x72\xa0\x29\xa1\xf7\x79\xa5\x46\xc0\x25\xd5\x00\x1e\x76\xc2\x09\x66\xfa\x1f\x9a\x1e\x37\x72\x97\x13\xa1\x03\x66\x4a\x6a\xb9\x43\xf2\x75\xca\x02\x85\x2c\x61\x13\xa2\x36\x49\x2f\x9e\x02\xd4\x53\xda\x56\x65\x98\x15\x2d\xef\x49\x33\x2b\xb1\x5a\x9d\x86\x49\x9f\xf9\x43\x95\x50\xd2\x44\xc9\x02\x22\x4d\x93\x3e\x58\xf8\x99\x3f\xfc\xc4\xff\x57\x3b\x3e\xfd\x5c\x3b\x3e\x95\xd6\x77\x7c\x18\x48\x7f\xab\x85\x3f\x53\xbb\xf7\xb9\x76\xdc\x2b\xac\x0d\xdf\x9a\xb5\xe1\x63\x75\x88\x69\xd2\xe0\xdc\x53\xae\x0c\x8c\x46\xce\xd8\xf2\x0a\x35\x43\x01\x07\x7e\x88\x08\xce\x7a\xae\xe4\x9d\x04\x77\xd8\xa9\x61\xed\x4b\xd9\xa6\xcb\xea\xca\x11\x88\x10\x4d\xf4\x9f\x03\xc3\x24\x74\x5b\x4e\x7b\x74\x6a\x90\x0d\xab\xca\x3e\xd7\xf0\x15\xa6\xe8\x3b\x56\x02\xef\x88\xd9\x64\xe0\x33\x17\x63\xab\x70\x29\xe5\x78\x2d\xd5\xf4\x66\x2f\xa5\xa0\x5c\x6a\xb7\x1b\xa5\x2a\x31\x0c\xa4\xf5\x2a\x69\x54\xaa\xc6\x60\x84\xa6\x60\x8c\x4e\x98\x7e\xcb\x8d\xca\x9e\x75\xd5\x36\x74\x88\x14\xcd\x6b\x0d\x0b\x08\x95\x45\xe8\x31\x1d\x84\x39\x5e\xa1\x2a\xbb\x0a\xae\x34\xa4\x1a\xa7\x8c\x9f\x05\x19\x6a\xe0\xe0\x2d\xe7\x93\xa2\xaa\x19\xa3\x33\x48\xab\xe8\xb7\xe1\x05\x1c\x31\x2a\xe4\xf2\x26\x87\x33\xe6\xf0\x5f\xa4\xed\xcc\x18\x14\x40\x33\xa1\x2d\x44\xc7\x6f\xe0\x92\xa7\x81\xab\xd6\x2b\xf1\xac\xa8\x1f\x8c\x24\x01\xf7\xef\x70\xa2\x22\x86\x3c\x1d\x80\x43\xe8\x20\x9c\x49\xef\x74\x47\x5c\xa0\x17\xac\xf7\x76\xbf\xbb\x74\xad\x03\xd2\x4c\x4a\xca\xb9\xb2\xab\xa5\x5b\xb8\x0a\x98\x1c\x89\x46\xb1\x92\x64\x67\x4c\x7e\xde\x27\xa5\xbf\x97\xb8\x5e\xe0\x80\x0d\xbb\xf4\x3f\xa5\x34\x46\xae\x17\x8b\x9d\x95\x6b\x7d\x4b\xa4\xb7\xdf\x2d\x55\x0b\xbc\xfe\x5f\x14\xf9\xda\xbf\x20\xce\xd8\x0c\xe5\x93\x3f\x8b\x44\x3e\xdf\xef\x40\xc7\x62\x8b\xd1\xf1\x43\x7d\xcf\x1c\xd0\x25\x8d\xe8\x04\x82\xe8\x5c\xe6\x7b\x13\xa6\x06\xa2\x11\x83\xd3\xf4\x59\xe8\x81\xa9\xfa\x1e\x38\x24\xaa\x08\x83\x4c\x1c\x03\x18\x65\x28\xb8\xbd\x92\x29\x75\x5d\xdf\x0b\x4a\xf2\x32\xb3\xca\x68\x72\x83\x64\x7f\x30\x9e\xb2\x53\xf7\xb9\xab\x31\x9b\x93\x70\xe2\x25\x70\x1c\xa9\xe3\x10\x1e\x38\x2d\x8c\xfa\x78\x36\x9d\xfa\x73\x14\x62\xf1\x03\xad\x42\x70\xaa\xf0\xd1\xb0\x2e\x48\x39\xdf\xfe\x9e\xe5\x37\x97\xa6\xba\x29\x4d\xbb\x26\xf3\xcf\x01\x73\x72\x9e\xe8\x1c\x6e\xc2\x2d\x67\x2a\xb9\x5a\x7b\xf6\x98\xc9\x38\x17\x01\x1d\xaa\xfa\x5f\x36\x15\x8f\x9c\x09\xed\x27\xe0\x8c\x15\x27\xed\xea\xa2\x90\xe9\x95\xb0\x46\x1a\x9f\xe1\x31\x78\x6c\x07\x33\x17\xf0\x99\x98\x7c\xfe\x45\xfe\xf1\xc3\x3e\x29\xbd\x32\x99\xae\xec\xa5\xa9\x95\x5b\x4c\x7f\xc1\xf2\xd5\x84\xa5\x86\x52\xb4\xac\x8d\x0a\xa9\x11\xa4\xcf\xd6\x5a\xc2\xe2\xa4\xec\x8c\x2b\x06\xdd\xed\x47\x1c\x97\xce\x38\x75\x08\xa4\x41\x19\xd6\xd7\xc9\x75\xa0\x3c\xbf\xad\x27\x4e\x1d\xf7\x34\xa0\x9e\x4f\xc2\x99\x58\x12\x2b\xc8\x04\x1e\x69\xf9\xe7\xb0\x09\x35\x74\xeb\x4d\x31\xd0\xcc\xd0\x57\x67\x41\xe2\xf9\x5a\xaf\x29\xf2\xcf\xee\xf4\xdb\x44\xba\x65\xff\x48\x0e\x98\xef\xdb\x9e\xd9\xe6\xf5\x5b\x23\x27\x50\xc7\x99\x4d\x66\x3e\x4d\x8c\xf0\x1b\xbd\xfd\x7f\xaa\x7f\xae\x11\x72\x46\x6f\x19\x89\x67\x11\x13\x01\x4d\xe8\xd5\x03\xc8\x39\xca\xab\xa6\x0c\xde\xe3\x69\x4e\x28\xaf\x9b\x8a\x54\x8a\x15\x78\x88\x76\x23\x14\x74\x7d\x08\x67\x10\x0d\x8e\x69\xeb\xd1\x1f\x9b\x17\xc0\x2b\x06\xc4\x2d\xc3\xcb\xeb\x60\x4e\x9c\x31\x83\x07\x0b\x9d\xc1\x4c\x3d\x63\x2b\x25\x76\x4c\x55\xb6\x71\x00\x87\x4c\xa7\xea\xc9\xbf\x35\x74\x87\xb6\x07\xf9\x04\x15\x79\x1a\x90\xac\x6b\xba\x69\x16\xb9\x67\x90\xb6\x1f\x7a\x7a\x26\xa2\x10\x2c\xef\x7d\x33\x7e\x62\xc0\x48\xc4\xd6\x80\x00\x57\xc7\xc6\x2c\x70\x65\xcc\xc7\xcd\x52\x6e\xf0\x8a\x4b\x31\x09\x83\x51\x08\x56\x9b\x48\x31\xac\x46\xac\x1c\x86\xa5\x3b\x8d\xa3\xf1\xe0\x30\xe6\x8a\xed\x7f\x42\x1f\x48\xca\x4b\x7f\xd9\x35\x23\xf1\x7c\x64\x89\x96\xc5\xa5\x8a\xc8\x23\xf5\x6d\x43\xca\x2d\x95\x7b\xbd\xfc\xeb\x43\x63\xf0\xeb\xaf\xbf\x71\xd9\xae\xac\xaf\xaa\xc5\xe4\xed\x62\x7a\x07\x2e\x09\xeb\x03\x7c\xd2\xf8\x2c\x5e\xea\x0e\x29\xe6\x84\x4c\xa9\xc8\x26\x65\x29\x2d\xf9\x3c\x54\x41\x3c\x61\x04\x59\x00\xaa\x22\x64\x29\x15\x87\x87\x0e\x1b\x42\x57\xb6\x88\x79\x01\xa3\x15\x07\x3b\x0c\x6c\x10\x46\x49\x8f\xd1\x38\x0c\x8c\x6b\x95\x5c\xa3\xe2\x58\xf8\xb9\x20\x8a\x42\xde\xb6\x8c\x46\xf8\x70\x93\x30\x24\x7e\x18\x8c\xd0\xbe\x68\xb7\x95\xd3\x09\x00\x13\x5d\x0c\xcb\x60\x3a\x2d\x55\xf8\xf9\xb1\xd6\x28\x68\x9a\x4d\x06\xcc\xe5\xa2\x85\xb1\x16\x76\x0f\xa9\x86\x8c\xae\x34\xbf\xc9\x9a\x9a\x86\x9f\x73\xa2\x12\x8b\x46\xe4\x4d\x18\xd7\x9d\xd9\xc3\xd4\x8b\x98\x8b\xdd\xe6\x35\x6a\x0e\x4f\x37\xa1\x0f\x36\x69\x94\xf5\xc3\x51\xb9\xb4\x40\xdc\x5f\x21\x05\x9e\x62\xa2\x6e\x2c\x4f\x4f\x15\x1c\x50\x3a\x53\xe6\x2e\x94\x2e\x60\x23\x30\x1a\x6a\x56\xce\x59\xa2\x3d\x4c\xac\x1b\x55\x36\x6f\x44\x4a\x6a\x5e\xa4\x57\x5a\xa1\x18\x99\xb7\x57\x11\x33\x6b\x84\x93\xc2\x91\xa5\x8f\xc8\x19\x84\xd3\x60\xfc\x5d\x32\xf6\x82\x5b\xc4\xbb\x96\x42\x97\x7f\x74\x96\xd5\x02\x20\xfa\xc6\x98\x66\x02\x0c\xc4\x5e\x29\xa9\x4b\xa2\x1e\x0c\x4a\xd7\x0a\x27\x74\xc1\x55\xd0\x60\xcb\x8b\x9c\x09\x25\x84\x94\x53\xf7\x4d\x5d\x83\x5f\x39\xe1\x5e\x01\x72\x4e\x7e\x21\x4d\x78\xdc\xb3\x8c\x82\x38\x39\xa6\x8d\x4d\xde\x1a\xc5\x79\xa5\x0e\x34\x91\x43\x36\x70\x7d\x16\x2b\xe8\xc7\x76\xbb\x01\x21\x59\xe0\xde\xd4\xee\x77\xf9\x3f\x37\x57\x5b\x4d\x19\xea\x55\x60\x8d\x93\x7d\x98\xa1\xfd\xf0\xb8\xe0\x00\x0a\x56\xde\xc6\x8d\x3d\x47\x86\x6b\xc4\x27\x5e\xe5\xf3\x27\x5e\x45\xf9\x81\xfe\x20\x8a\x99\x96\xa3\xfc\x18\xa9\x4a\x6a\xa5\xf1\x02\xfa\xf5\x03\x52\xa2\xcc\xa7\x8c\xbc\x20\x25\x20\x0a\x97\xd7\x9b\xfe\xc5\x79\x0d\x37\x4c\x6f\x38\x2f\xf3\x2f\x2a\xc5\x96\x0c\x45\xb2\xe1\xce\x81\x01\x5c\x4f\x25\xaf\x0b\xb5\xdd\x3f\x87\xbc\x44\xa0\x4d\x82\x66\x0a\x3a\x79\xe8\x32\xf2\x33\x17\x97\x97\xc3\x92\x86\x5a\xce\x44\x6f\x1a\xeb\xb0\xcb\x97\xd4\xad\x27\xe2\xb9\xc9\x58\x28\x3a\x53\xb0\x1f\x78\xb1\x38\x7c\x06\xb3\xa4\x56\xab\x89\x3a\xaa\xea\x50\x44\x89\x4b\x69\x00\xe3\xb3\xa0\x06\xe5\x00\xc2\x07\x79\x0f\xa3\x30\xc9\x89\xdf\xad\xca\xa6\x70\xad\x97\xc0\x2c\x94\xa0\x7f\x82\xc0\x15\xc6\x29\x50\xb1\xb4\x2e\x8b\x7f\x21\xe4\xcd\x2c\x4e\x64\x58\xa2\xbc\x56\x6a\xba\xc0\x90\x20\x5e\x9e\xe1\x09\x9d\x45\x11\x0d\x12\x52\x86\x00\xc8\xd2\xaf\x0f\xbb\xf5\x52\xa5\x4a\xca\x10\x0a\xc9\xff\x74\xe1\xcf\xcb\x33\xfc\x8b\xa9\xc8\x44\xde\x58\xb9\x75\x29\x4a\x0d\x4b\x15\xb4\xde\xfa\x21\xea\x8e\xb3\xd4\x23\x38\x3f\x99\xa5\x79\xd8\x4b\x62\x15\xfd\xa9\x9a\xd2\x51\x90\xbc\x87\x8c\x72\x9d\x2f\x2c\xbc\xc5\x6c\x24\xf1\x2b\x52\x7f\x28\xe5\x6d\x28\xb0\x6c\x8d\xa0\xf2\xba\x1d\x55\x9e\x2f\x4c\x42\xce\x6b\x94\x5f\xd4\xc5\xbb\xcf\x27\xbd\x86\x71\x55\x7f\x4e\xdd\x34\x58\x02\x9e\x9e\x66\xfe\x02\xe1\xc6\x6e\xfa\x0e\xb9\x4c\x3e\xf4\x8a\xf7\xc1\xbb\xf0\x56\xa0\x9d\xcb\xb7\xd4\x24\x24\xfd\xb3\xf5\xde\x99\x2c\xd3\x91\x77\x27\x4c\x92\x0e\xfc\x84\x31\xa3\xda\xd9\x24\x6b\xe4\x44\xf8\xcc\x90\x16\x6e\x6d\x67\xbc\x9f\x72\xeb\xac\x52\x23\x24\x0b\x13\x54\xc3\x8a\x9b\x64\x8d\x74\x21\xdf\x8f\x28\xdf\xed\x9d\x55\xc4\x77\x0d\xde\x6a\x9f\x05\xee\xba\x78\x06\x22\xe5\x7e\x6f\x71\x73\xcd\x3a\x59\x23\xad\x59\x12\x4e\x00\x47\xef\x9c\xdd\x43\x96\x92\xf2\xe9\xf9\x99\xba\x2a\x19\x17\x41\xbe\x14\x66\x56\x8c\xa7\x18\x1e\xe5\x97\x1a\xcf\x17\x30\x42\xb8\x3f\x14\x6e\xbc\xfc\x4a\x74\xde\xef\x9e\xa5\x1e\x9d\x1c\x89\x3d\x98\x18\x9e\x53\xf8\x32\xb5\x4f\x4a\x9b\x25\x0b\x57\xdc\xf4\x14\x44\x7e\x9c\xe1\x13\x89\xb4\x7e\x99\xf7\x7f\xd9\x46\xb3\x5e\xdc\x08\x67\x42\x9b\x46\x91\x47\x47\x0c\x1d\x69\xf3\x1b\x2b\xd8\x28\xa5\xd3\x4c\x6a\x1f\x37\x59\x05\xd2\x75\xa6\xb6\x49\xd8\x17\xb3\xc0\xe4\x5c\x22\x23\x71\xbf\x34\x44\x33\x1d\xcc\xbd\x4c\x18\x31\xda\x6e\xfd\xb0\xd3\xee\xf5\xaf\x56\x14\x4a\x2e\x42\x5c\x1c\xa6\x53\x5f\xba\x69\xa0\x5f\x1e\x17\xd5\x98\x94\x0f\x3b\xed\xf6\x89\x92\x36\x21\xc5\x9f\x7e\xf8\x4c\x0e\x59\xec\x8d\xc0\xb3\xea\xba\x0f\x31\xa3\xd8\xb2\x19\x00\x1a\x93\xe3\xfa\xda\xf1\x06\x34\xd2\x3a\x3f\xab\xe0\xb6\x0a\xc1\x9c\x06\x5e\x10\x02\x3f\x4d\xc4\xa9\x8d\x9f\x6d\x90\x35\xd2\xd8\x68\x12\xe1\x09\x85\x52\xcf\x49\xb9\x38\x35\x69\xe1\x0b\xe3\xd3\xc3\x67\xd2\x9f\x84\x61\x32\x26\xe5\xbe\x1f\xde\x57\x48\x1f\xdc\x79\xa0\x7c\xbf\x6d\x95\xdf\x22\x6b\xa4\xc7\x30\xd9\x0a\x22\x42\x61\xa1\x73\xb3\xd0\x36\x59\x23\x17\x91\x37\xf2\x8c\x7e\x2f\xcc\x02\x2f\xc9\x1a\x79\x17\xd1\xa9\x70\x1a\x53\x85\x5a\xef\xcc\x52\x3b\x82\x36\x2e\x63\x6b\x11\x9b\x32\x9a\x68\x96\xb6\x7a\x66\xd1\x5d\xc1\x52\xbe\x8c\x85\xff\xcc\x7b\xf2\x37\xf2\x81\x84\x81\xf4\x39\x01\x94\x11\x55\xa3\x51\x97\x03\x1f\x87\xf7\x5c\xaf\xf4\x07\x34\x22\xe5\xe8\xe1\x2e\xd1\xcd\xe2\xce\x00\xd8\xa5\x07\xbe\x17\xc0\xce\x2f\xa6\xb6\x4c\x93\x64\xbb\x51\x37\xca\xee\x08\x12\x2e\x23\x0f\x93\x4f\x4e\xc8\x90\x31\x17\x88\xbd\x3c\x3a\x32\x4a\xee\xca\xae\x59\x82\x2f\x15\xe8\x74\x07\x58\x05\xc3\x19\x3c\x3a\x46\x8c\x05\x58\xb3\xf3\x5e\xd7\x6c\x72\xee\x03\xc1\x92\x8a\xc3\x4e\xfb\xaa\xdd\x31\x38\xb1\x51\x97\x9c\xe0\xc5\xd0\x2d\x2b\x67\x64\x1b\x5b\x82\x86\x0e\xe8\x07\x90\x81\x74\x0d\xfc\x18\xe1\x14\x13\x7b\x4b\x9c\xa9\xb6\xa3\xaa\x71\x01\xbd\x62\xb7\x49\x14\x06\xde\x83\x9e\xc1\xab\xce\x89\x2e\xbe\x09\xdb\x24\xa0\x41\xec\xd4\x85\x3c\x9e\x99\x52\xba\xd9\x10\xd4\x4e\xc2\x88\x95\x1b\x15\x32\xf4\x1e\x48\x39\x66\x08\xd4\xc0\x00\x2e\x10\xd3\x7b\xe8\x2a\x72\xf5\x08\xca\xcf\x71\xc5\xf5\x18\x84\x18\x43\x50\x50\xdb\x5e\x41\x9c\xac\xf3\x5e\xdb\x60\xd2\xe6\xa6\x68\xe3\x8a\x6b\xd1\x17\x01\x39\xa3\x11\x17\xd6\x03\x86\x21\x71\x58\xc8\x10\xf5\xb5\x7b\x5b\x58\x75\xa1\x6d\x39\x97\x20\x25\xa7\xe1\x68\x84\x6f\x57\xe2\xeb\x97\xa2\xa3\xeb\x98\x91\x96\x9f\xb0\x08\x96\x7b\x1f\xe7\xf7\x40\x45\x3c\xe0\xaa\xd9\x16\x85\xcd\x9d\xe4\x96\xcd\xa7\x14\x85\xe8\xdc\xdc\x44\xb6\x79\xcb\x07\xd4\xb9\xa5\x51\x14\xde\xa3\x93\x2a\x0b\xdc\x18\x8c\x48\x98\x67\x96\xd7\x39\xd0\x75\x1a\xf5\x7a\x5d\x1c\x74\x8b\x56\x08\x02\xb9\xa2\x4b\x59\x8d\x90\x72\x36\x3e\xb9\xa2\xda\x6b\x18\xa3\x7b\xed\xf9\x5e\xc2\x88\xed\x14\xac\xbb\xe6\xb3\xc6\x8b\xb5\x99\xef\x93\xb3\x50\x9c\xdc\x56\xd9\x74\x67\x87\xbd\xd6\xb1\xee\x6b\xc3\xe2\x64\x51\x1b\xaa\xf8\xa6\xb9\x21\x1c\x85\xce\x2c\xee\x06\xeb\xf0\xef\x05\xbf\xe2\x2b\x8f\x66\x2c\xbd\x65\xcb\x54\xe7\x41\xa0\x1e\x62\xeb\xc6\x8c\x37\xea\xb0\x71\x88\xfd\x31\x09\xc9\x20\x4c\x92\x70\x02\x2e\x4c\xc9\x9c\x84\xb3\x84\x6b\xcf\xd6\xaa\x69\xd4\x1b\x8d\x82\x2a\x7c\xd6\x90\xe9\xa9\x1a\x1b\x72\x5b\xd6\x3e\x55\xcf\x27\x2c\xa1\xcf\x79\x95\x2a\x8a\xb5\x56\xa7\x75\xb5\xd4\xaa\x86\x0c\x33\xa8\x8a\x09\x14\x2d\x7e\xc0\xb4\xfc\x04\x26\xf9\x7c\x36\x39\x0d\x9d\x5b\xe9\xf9\x26\x9a\xd8\x96\x32\xd2\xe9\xb7\x11\x15\x03\xdc\x92\x45\x13\xfc\xf2\x78\xcb\xe6\xba\xf8\x4b\x93\xcf\x87\x9d\x53\x0d\x66\xc2\x5c\x50\x89\xd7\x84\x04\x1f\x32\x30\xc0\x5a\x95\x77\x33\x7d\x71\xda\x0a\xba\xda\x94\x3b\x36\xb8\xa0\xc6\xcc\x17\xee\xe6\x7c\x2e\xb9\x8a\xc1\xf5\xb4\xb1\x37\x1a\xfb\x9c\x2f\xa8\x46\x61\xbd\x86\xa8\x77\x2d\x20\x7c\xda\xa7\xdd\xcb\x83\x8b\x56\xef\x50\x37\xa2\x0b\xa7\x76\x97\xeb\x68\xc4\x02\x67\x4e\xee\xbd\xc0\x0d\xef\xc9\x84\x06\x74\xc4\x22\x32\xf6\x20\xbe\x9e\xdf\xa1\x51\x31\x5f\x3b\x26\x5e\xac\x10\x5d\x74\x73\x1b\x76\x73\x11\xf5\x62\x03\x7c\x5a\xb4\xba\x4a\x43\xab\x6f\x24\x8d\xfa\x26\xdf\xa5\xfb\xf4\x4e\xc1\xdd\xd0\xd8\x84\x67\x10\x85\x76\x8b\x0b\xa1\xc2\x5a\xdc\x53\x95\x38\x3e\xa3\x11\xc0\xe6\x18\x6a\x88\x97\xe0\x3b\x60\x8d\x94\x31\xd5\x36\xc2\x5a\xba\x5e\x4c\xc1\x4d\x61\x30\xc7\x4b\x93\x97\xb0\x6e\x30\xf6\xf8\xbd\x46\xef\xef\x22\x2b\xd9\x8f\xe6\x75\x66\x32\xf0\x02\x91\x9b\x8c\x41\xbc\x5d\x2c\x39\x07\x1c\xe1\x54\xc2\x68\x51\xb3\x13\x13\xec\x21\x6c\x92\xd5\x94\xc4\x42\x5c\x43\x64\x75\xaa\x37\xd8\xd8\xc2\xcc\xe3\x4d\x6f\xbe\x34\x35\xa9\x46\x7d\x4b\x9d\xa8\x2c\x51\x0d\xad\xf3\x5f\x1c\x3a\x55\x47\x25\x17\xf3\x54\xbd\x86\x71\xcc\xf7\x67\xc1\xa2\xa2\x4d\xa3\xe8\xeb\xcb\x45\x25\x37\xcc\x46\xdb\x17\x0b\x8a\x6e\xd7\x8d\xa2\x3e\x1b\x51\x67\x4e\x64\xbc\x01\x61\xf0\x6c\xc3\x97\x4f\xf9\x7d\xa3\xd1\xdb\xd6\x5b\xcf\x76\xc3\x18\xee\xcd\x55\xb3\x59\xcf\xa9\xa5\xae\x41\xb0\xcf\xf2\x92\x03\xbe\x03\x33\xae\x24\x4f\x69\x2c\x94\x6d\xa9\x3f\xf3\xd6\xd6\x48\x21\x66\x6a\x55\x0a\x8a\x78\xad\x1d\xce\x92\x59\x84\xe3\xe0\xe4\xaf\x15\x5c\xc3\x8a\xee\x48\x87\x9d\xf6\xd2\x2b\x92\x74\xdd\x77\x0c\x58\x76\x74\xbe\x6d\x94\x5e\x21\x64\x1a\x28\xed\xd6\xcb\x63\x36\x68\x43\x8b\x51\x5b\x06\xc0\x41\x27\xc5\x2e\xd6\x1b\x46\xf3\x17\xa7\x67\x69\x37\xeb\x22\xd0\x3e\xf3\xd1\x37\x73\x05\x43\x3c\x6c\x84\xd8\xf8\x05\x74\xac\x57\x64\xa7\x6e\x3a\x4d\xdb\x55\x60\xed\xbe\x0e\x27\x4c\xfb\xe4\xe7\xb4\x7a\x73\x85\x27\x56\x8f\x8d\x00\xe1\x7e\xe6\xfb\x55\x99\xc0\x1f\xab\xfc\x5e\x38\xca\x2d\x3d\x4a\x7e\x33\xc8\xe5\x62\xcc\x12\xa1\x5c\xc1\x35\xc2\xb8\x35\xe6\xb7\xb9\xad\xdb\xbc\x28\x6c\x11\x2f\x1d\xa9\x2b\x6d\x7e\x7b\x2f\x75\x7b\xad\x77\x85\x0d\xea\x4b\xca\xd2\x06\x1b\x4d\xd1\x22\xde\x0c\xd2\x53\x6b\x80\x86\x55\x8a\xb9\x8e\x72\x04\x97\x8d\xa5\x1d\x36\x0d\x36\xf3\x4b\x40\xd1\x18\xb0\xcd\x1b\xc4\x17\x5a\xda\xea\x66\x5d\xb4\x1a\x84\x6b\x5c\x7f\xc8\x6d\x75\x01\xb8\xe4\x92\x05\xb0\xb9\xb5\x42\xf3\x5a\x36\x1e\xc1\xff\x6d\x63\x46\x0f\x96\x2d\x5d\xa5\x25\x73\xf5\x23\x3e\x50\x3a\xf3\x52\xfa\xb9\x16\x2d\xfa\x11\xe1\x10\xa1\x74\xb7\x07\xa7\x7d\x85\xf6\xa3\x7b\xb7\x23\xf1\xca\x86\xdd\x4e\xae\xd9\x6c\x38\x05\x02\x01\xbd\x5a\x14\xed\xb6\x90\xc6\xe6\x62\x1a\xc1\xc3\x2c\xa2\xa3\xf8\x8f\xd2\x09\x61\x1f\x4f\x26\xb3\x21\x59\xc9\xb5\xdf\x7c\x49\x80\x3d\xe8\x22\xb8\x40\xc5\x7a\x85\xe9\x69\x34\x56\x6d\xf3\x84\xcd\xe3\x24\x0a\x6f\x57\x9a\xf5\x8d\xed\x15\xe4\x56\x89\x17\xd7\xd5\x41\xb2\x04\xc2\xf3\x2a\x1d\xec\xe6\x76\x80\xf8\x18\xea\xe0\xd2\x1f\xfe\x50\xd0\xf5\x34\x62\x77\x5e\x38\x8b\x5b\x7e\x02\x14\xbc\x1b\xd3\xc4\x3a\x3f\x0a\x89\xce\xad\x49\xf6\x53\x76\xe6\xe2\x00\x46\x55\x69\x6f\x79\x5f\x66\x71\x78\xf2\x05\x3e\x95\x74\xcd\xdf\x6d\x77\x26\xed\xa9\xf5\xf8\x01\xaf\x44\xc2\xb3\x15\xc6\x98\xdb\x53\xd1\x11\xba\x8c\xad\x0a\x02\x87\x2c\x3c\x4a\x37\x5f\x5a\xb1\x41\x5c\xef\x5d\x6d\x03\x55\xaa\xfb\x4a\xa7\x21\x57\xa3\x45\xbb\xc5\x17\x07\xdd\x91\x11\x92\xac\x10\x04\xec\xd6\xa4\x34\x83\xa2\xfe\x02\xd5\xf4\x17\x78\x6d\xa8\x2d\x12\xed\xc2\xe6\xf3\xb9\xbc\x64\xa0\xb9\xaa\x8f\x6e\x2d\xe3\x2b\xf7\x94\xc6\x4d\x62\x45\xc0\x7e\x39\xeb\xd7\x98\x73\x7c\xd7\xeb\x9b\x82\x49\x07\xf9\xca\x73\x3e\x49\xaa\xf0\x25\x2f\xbb\x60\x66\x53\xa1\x62\xcb\x9f\x2b\x17\xdb\xe1\x4d\x53\x7a\x8e\x39\x9e\xd8\x31\x65\x86\x6d\x5e\xa1\x62\xc5\x63\x1a\xe1\x35\x30\xc7\xfb\x9b\x1f\x49\xe9\xc4\x10\xf8\x6c\x4d\x31\x79\x4f\xfe\xf3\x88\x78\x09\xb4\x31\x01\x7e\x37\xb3\x71\xf8\xbe\x8e\x4b\xcf\xe9\x57\xc0\x4f\xe3\x53\x00\x95\x08\x28\x26\x86\x89\xc8\x8b\xe1\xf8\x33\x57\x5c\x46\xd3\x31\x1d\x60\x55\x50\x29\x04\xd0\xe8\x18\x83\xb7\x36\xc4\x7a\x48\x78\x50\x08\x07\xa1\x11\x43\x1f\xed\x1a\x21\x57\x12\x85\x58\x82\x09\xcb\xeb\x6d\xbb\x21\xf0\x7d\x79\x69\xf9\xb2\x86\xd7\x23\xde\x88\x1a\x7d\xa7\xdf\x26\x8e\x1a\xa1\xe9\xa4\x87\x2f\xb1\x93\x80\x4d\xc2\xc0\x73\xe0\x29\x97\x40\x48\x53\xac\x7c\x03\xa8\x74\x94\xd3\x50\xe6\x0a\x6d\x5b\x58\x23\x90\x83\x70\xb9\xc6\xd7\x62\x89\x85\xec\x6a\x6f\x7d\xcc\xdb\x32\x04\xac\xc1\x00\x03\xb3\x0c\x8a\x69\x30\x17\x83\xe2\x6d\xa9\xa0\x2a\x97\xb8\xa1\xa3\xd0\xd1\xcd\x09\x6d\xb7\x1b\x64\x7f\xc1\x14\x2a\x00\x66\x44\xff\x8b\x98\xa0\x58\x0b\x8d\xf2\x12\x04\xef\xb8\x0e\xda\x3c\x8c\x1e\x38\xd3\x16\xf5\xd0\xee\x77\x49\x79\x81\x93\x7e\x25\x9b\xb9\x04\xb1\x70\x35\x09\x03\x36\xf2\x02\xec\x1f\x5c\x2b\x3f\x95\xf0\xe1\x86\x5f\x74\x13\x7a\xcb\x10\xb4\x2a\x14\x2e\x82\x26\x50\xbc\xc5\x8a\x7e\x77\x21\xa1\x17\xfd\x36\x29\x5f\x60\x86\x97\x60\x44\xfa\x08\xa6\xac\xde\xf9\x1f\x4d\xe5\xe7\x52\x95\x0c\x43\xae\xda\xcb\xbc\x3b\xca\x7f\x44\xc4\x5b\x03\x00\xd0\x33\x48\x3d\x17\x19\xd8\xf3\x09\x96\x17\xf1\xfb\xfd\x2b\x3e\xb2\x83\xce\x69\x6a\x38\x17\x4b\xf8\x0e\xae\x27\x19\xa2\xdf\x8d\x19\x00\x3f\xc2\xb7\x13\xb8\xc8\x63\x6a\x00\x3b\x51\x8c\x34\x32\xa5\xfa\x84\x5a\x76\xa7\xe7\x33\xdf\x27\xe5\xf3\xeb\x53\xf5\x52\xdb\x5f\xfc\x02\xdb\x6e\x37\x3e\x95\x7e\x7d\xa8\xd7\x4b\x9f\x8d\x7d\x86\xa4\x36\x9a\x4e\xf0\x6d\xe6\x45\x73\x52\xee\x9c\xbf\xd5\xee\xb2\x11\x0d\xe2\x89\x97\x10\x1a\xc4\xf7\x2c\x02\x57\xd2\x09\x8b\x63\x3a\x62\xe6\x62\x95\xde\x9b\xd9\x52\x7c\xe4\x80\xa5\x01\xee\xb6\x01\xc2\x11\x09\xee\x57\x49\x1c\x92\x7b\x06\x90\x0b\x7a\x83\xc4\x03\x23\x7f\x04\x5b\x30\x82\xd4\xde\x69\x00\x21\xf1\x29\x55\xbe\xbf\x95\x82\x46\x5e\x5a\x6c\x30\x21\x58\x34\x6e\x8d\x17\x8c\x78\x3b\x29\xa8\x45\x7d\xcd\x2a\x1f\xf4\x15\x8f\xce\xc2\x3b\x0b\x9b\x5b\x6c\x4f\x98\x36\x23\x30\xc1\xa8\x24\xfa\x52\x55\x66\x52\x47\xd4\x58\xaa\x3c\x8a\xa1\xce\x04\xde\x72\xaa\x9c\x73\x18\x44\x0e\xc7\x6d\x10\x02\xa6\x2c\x97\x34\x87\x77\x54\x30\xb8\x9d\xe5\x83\x43\x32\x4f\xd9\x30\x49\x3b\x60\xbf\x0e\x23\xef\x7b\x18\x24\xd4\x27\x57\x74\x40\xca\xaf\xaf\x96\x0d\x12\x7c\x38\x13\x3a\x20\x71\x12\x4e\x11\x65\x0a\xbf\xc0\x88\x2e\x1c\x0a\x1a\xb7\xc9\x70\x16\x71\xb9\x07\x07\x61\x51\x03\x45\x5f\x64\xec\x95\x61\xd4\xbe\x17\xa4\x9d\xb7\xe4\xe8\x76\x97\x8f\x6e\x18\x46\xf7\x34\x72\xaf\xe8\xa0\x9f\x84\xd3\xd4\x04\x9e\x7a\x01\x23\x47\xf0\xa8\x79\x7a\x54\xb1\xce\x47\x70\x16\x70\xe8\x2c\x06\xbb\x3d\x78\x43\xc0\xeb\x27\x64\xc8\xc3\x0c\x02\x81\x91\x8e\xaa\x46\x20\x9c\x49\xb9\x50\xc0\xc2\x4c\x7b\x51\xe4\x8c\x80\xae\x34\x82\x09\xa7\x31\x45\xfb\x0d\x8b\x12\xcf\x91\x53\x73\xa3\xa7\x46\x3d\xb1\x20\xc0\xc4\xe9\x51\x41\xd7\x03\x7b\xf1\x18\x14\x19\xaa\x4e\x18\x4d\x04\x83\x8e\x8e\x1e\xdd\x83\xf3\xe4\xc1\x49\x0f\x0c\x89\x65\x56\x6e\xf7\x6c\xd1\xcb\x59\x5b\x42\xb8\x42\x3b\x44\x66\x81\xf4\xb8\xcb\xc9\x53\xd6\x26\xb4\x0d\x95\xeb\x29\xbf\xa1\xb1\x37\x4c\xc8\xc5\x2c\x21\xe5\xfe\x45\xa5\x4a\xe8\x2d\x25\xf0\x04\x85\x5f\xd4\x49\xf9\xb4\xdf\xa8\xd8\x2e\x1a\xe4\xb8\x91\x4a\xce\xe2\x05\xe4\x38\x7d\xb6\x48\x1a\x59\x21\x8d\x02\x6a\xa9\x51\xca\xa1\xa8\x1b\x90\x72\xbf\x5b\x40\x50\x3d\x43\x50\xfd\x11\x04\x0d\x97\x11\x54\xb7\x09\x52\x27\xc6\x45\x40\xca\xef\x2f\xce\x55\xe7\x85\xe6\x73\xb5\x0c\x2d\xd8\x9f\xae\x2c\xf0\x4b\x2e\x5d\x8d\xc6\xe2\xa3\x40\x93\x31\x1c\x72\x3a\x0c\x69\xfe\x93\x09\xd9\x58\x4c\x48\x9b\x06\x0e\xf3\x49\xb9\xdd\xd2\xac\xe8\x0e\x09\x6c\x78\xee\x0c\x63\xde\x95\x5a\xaf\x1d\x88\x4d\x77\x62\x48\xb3\x31\x99\x30\xd7\xa3\x09\xf3\xe7\x86\xd2\xf2\x4c\xe4\x6f\xe6\x3a\x2b\x7b\x60\xce\xcc\x18\x45\x37\x41\xc0\x24\xb1\xa7\xc1\x1b\x54\x14\x59\xfe\x39\x18\x8d\x21\x40\x2d\x8a\xd4\x86\x46\xea\x48\x49\xbb\xc7\x2a\x67\xca\x3b\x46\xc0\x01\x43\x69\xfa\x19\xc9\xaf\x62\x01\x7e\xec\x81\x8e\x00\x81\x9e\xa1\x4c\xf0\xa4\xd5\x88\x0c\x84\xbc\xba\xfa\x71\x99\xc3\x55\x60\x39\x74\x59\x30\x64\xbf\xaf\xe6\xf2\x6c\x2f\x7c\x0c\xb8\x2d\xfd\x52\x4a\x2d\xf8\xd9\x20\x4e\xbc\x64\x96\x30\x52\xee\x5f\x1f\x14\xed\x88\xed\xd6\x79\x01\xf3\x68\xee\xa6\xcb\x79\x6a\x68\x5e\x78\x6b\x2c\x77\xfa\xed\x82\x63\xa3\x31\x58\x3c\x07\x3a\x78\x9d\x7f\xd1\xe9\xb7\x33\x25\xf2\x03\x61\x0d\x20\xca\xb2\x19\x89\x20\x22\x42\x31\x42\xc1\x72\xc6\x37\x91\x37\x74\x74\x59\xa7\xdf\x2e\x88\x2e\xc3\xf6\x8c\x2e\x25\xca\x86\xa4\xb4\x52\x10\x0c\x90\x17\x46\x96\xf6\x66\x17\x50\x23\xb2\xa9\x14\x5a\x03\x3c\xd7\x97\x0f\x0b\x15\xc1\x97\xc3\xa2\x95\xbb\x4e\x76\x48\x7e\xe6\x1f\x09\xd9\xee\x45\xb9\x19\x78\xaa\x64\xc0\xfc\xf0\xbe\x56\xab\x19\xa0\x32\x2e\x7b\x20\xe5\xee\xf9\xa1\x12\x9e\x53\xef\x96\x6b\x4e\xa0\x2c\x54\xf1\x46\x7a\x2b\x51\xa9\xde\x2b\x25\x31\x97\xe6\x9d\x4d\x4e\xb3\x75\x15\xfc\x54\x3a\x5c\x7e\xae\xf1\xae\x72\x8e\x5d\x08\x34\x05\xa5\xa8\x7c\xde\x39\x2d\x20\x70\x30\x4b\x88\x1b\xb2\x38\x28\x25\x84\xba\x2e\x9c\xb0\x05\xea\xe7\xce\x56\x0e\x79\x9d\xa7\x1d\xbb\xf9\x6a\xeb\x61\x78\x1f\x2c\x56\x5b\xe5\xbb\x70\x9f\x25\x5c\x83\xed\x17\xcc\xfe\xce\x4e\x0e\xa9\xaf\x57\x22\x55\xea\x96\xf6\x17\xa3\xd4\x18\x2a\x69\x90\x56\xf4\x39\x14\xf2\xd0\xeb\xda\xfa\xcd\x6c\x0a\x77\x85\x62\xed\x65\xc7\xcd\xa1\xf7\x6c\x85\xab\x0c\xf6\x7b\x9a\x2f\x00\x7d\xb4\x16\xa1\xb6\xd0\x24\xe5\x7e\xbf\xa9\x6f\x95\xe0\x5c\xc2\x2f\xb6\xc7\x4d\xc3\x25\x8d\xf3\xd5\x86\x9a\xd0\xd9\x65\x0c\x68\xf3\x85\xa7\x6c\xce\xf0\x58\xce\xf0\xce\x17\x1f\xad\x16\xf1\x1b\x9c\xf8\x8d\x3c\xe2\x37\xfe\x7a\xe2\x87\x39\xc4\x5f\x2c\x26\xfe\x90\xdd\x79\x0e\xd3\x58\x0a\x68\x8f\x28\x1f\xb6\xfb\xc6\x21\x23\xd0\xc1\x28\x39\x6c\xf7\x75\x60\x22\x5e\x3d\xb0\x81\x35\xd9\x80\x76\x79\xf4\x02\x99\x8a\xb4\xf6\x04\x75\xa7\x2d\xf2\xce\xea\x92\x9c\xae\xc3\x4e\xbb\xf7\xb6\xdf\xaf\x4a\xd8\xab\x44\x64\x0a\x8a\x19\x9b\x48\x6f\x94\x81\x5f\x20\xba\xbb\xf5\x1c\xf6\x5c\x2e\x3e\xd1\x0a\x63\x69\x33\xf1\x4a\x19\xbc\xa9\xfc\x58\x35\x5b\xec\xc1\xd9\x31\x1c\x92\xcb\x28\x4c\xd0\x35\xba\x15\x31\x4a\xca\xfd\xcb\x96\x62\xff\x52\xaf\x0d\x39\xbc\xed\x9c\xe1\xdd\x2c\x9e\xfd\x0e\xc6\xac\xa4\xbb\xef\x3c\xa5\xfb\x97\x39\xdd\xbf\x5b\xb2\x72\xe4\xf8\xa5\xd8\xf5\x2f\xfa\x8f\xef\x38\x6f\x07\x7d\xbf\xd2\x92\xd5\x0b\xd2\x80\x0e\x29\xf7\xdb\xdd\x2a\xea\xac\x87\x9d\x76\x57\x9f\x97\xe2\x4e\xa8\x92\xb7\x76\x0f\x6b\x84\x5c\x0c\xe2\x10\x4e\x78\x70\x54\x0e\x87\xc2\x4e\x49\x9c\x12\x29\x1f\xb6\x0a\x36\xfd\x5d\x9a\x43\xf2\xc7\xe5\x9b\xa8\x8d\x1e\x87\xe8\x79\xbf\x34\xf6\x9a\x4e\x4a\x5d\x5c\x84\x8c\x52\x6e\xf7\xbb\x56\x18\xba\xcf\xa8\xc8\x84\x3a\x09\xe3\x24\x9b\x54\x9a\x68\xc0\x94\x82\xd1\x0c\x72\x46\xf3\xe9\x0f\xad\xab\x7c\x48\x03\x19\x1c\x5c\x00\x60\x20\xbf\x5e\xb4\x28\xdb\xfd\x6e\x7a\x09\xe6\x04\xf2\xeb\xd8\x13\x11\x41\xa5\xae\x3a\x7c\x07\x5c\xbf\xe8\xb7\xd7\x2f\xcf\xd6\x5b\x97\x6d\xe2\x84\x93\x09\x0d\xdc\x58\x98\xc8\x94\x5d\x5a\xc2\x88\x99\x16\xe9\x67\x98\xd9\x10\x77\x2c\x99\x37\x56\x06\x67\x79\x89\x08\x13\xa3\x31\x46\x7b\xe9\x17\x02\xab\xff\x50\xda\xae\xd2\x13\x04\xf8\x6b\x0b\x36\x9e\x92\xc8\x9b\x57\x30\x87\x4e\xce\x1c\xfe\xfa\xeb\xe2\x55\x94\x63\x32\x07\x6e\x40\x58\x98\xe2\x61\x5b\xb2\x28\x62\x3e\x96\x16\xd6\x93\x50\x55\xc7\xf4\x85\x05\x94\xe5\x29\x1c\x9f\xff\x80\x74\x65\xee\x29\x17\xb9\xf7\x14\xed\x1b\xb0\x80\xa9\x66\x3d\x0b\xea\xc4\xc0\x77\x50\xd7\xe7\x7b\x9a\x0e\xbc\x35\x83\xc8\xd4\x1b\xe7\xa2\x8b\x0a\xe7\xab\xd9\xcd\x3b\x15\xef\xe7\x72\xb5\x4d\x62\x10\x18\xb8\x15\x73\x96\x2c\xe8\x4b\x35\xc1\xab\xd7\xd4\xfd\x8c\x46\xf3\x6c\xfc\xfe\xa7\xfa\xe7\x1a\x64\x95\x2d\xaf\xff\x57\xf9\x57\xf7\x45\x65\xaf\x5c\xfb\xb1\xf2\x9f\xeb\xe2\xd5\x12\x63\x9a\xe7\x9a\xbc\x6c\x75\xb2\xcf\x5b\xfe\xd4\xfc\xbc\x67\xbe\xc9\xea\xeb\xdb\x05\x5c\xdf\x78\x91\xc6\xe7\x1c\x04\xad\xd4\x2b\x73\x2a\xce\x2f\xb8\xa3\xbe\xe7\x92\x8b\x7e\x3b\x37\x0c\x34\x4b\x4d\xa5\x62\xc0\x1c\x2e\xba\xd2\x5d\xa4\xae\x74\xf0\x78\xeb\xcc\xc9\x99\x78\x5a\x28\x5f\x9e\x3d\xfe\xd0\xca\xd3\x33\xff\xeb\x5f\xa9\x8b\x98\xc1\x12\x22\x27\xbd\x3a\x47\xca\xad\xcb\xf6\xe3\x87\x98\xa7\x8d\x7e\xf9\x57\x0e\x11\xc0\x59\x1e\x20\xe6\xf0\x3a\x00\x17\x06\xc8\xe4\x0b\x48\xd2\x08\x15\x18\x33\x12\x82\xeb\x23\x05\x7f\xda\x69\x18\xc7\xde\x00\xd2\xbc\xe2\xeb\xd1\x52\xc5\x5c\x84\xb2\xa9\x9e\x8e\xc0\xad\x17\xee\x00\x2f\xe1\x2e\x6f\xa5\x9f\x36\x82\xe6\x62\x52\xee\xbf\x6c\x37\xae\xa4\x03\xb1\x6a\xe1\x58\xb7\xb0\xb3\xb4\x85\x1d\xa3\x05\xeb\xe7\xfc\x00\x10\xcc\x35\xcd\x34\x8e\x67\x13\x46\xa0\x4f\x42\xfd\x7b\x3a\x8f\x8b\x27\x38\x3d\xaa\x53\xe1\xac\x0c\x21\x85\x4e\x88\xa8\x69\x7c\x8b\xf3\xd9\x1d\xf3\x49\x23\x3d\x86\xb3\xc5\xe5\x9b\xe9\xf2\xe7\x8b\xcb\x6f\x64\x1f\xa2\xb9\xc0\x35\xeb\x2b\x0b\x97\x90\x9e\xc2\xa2\x2b\x99\xa9\x56\x73\x06\x59\xe4\x0a\x22\x8f\x86\x57\x30\xf4\x3a\x1f\x3a\xf8\x82\x8c\x57\x05\x50\x83\x9d\xeb\x77\x2b\xc9\x21\x2a\xa0\xff\x51\xca\xbe\x00\x63\x52\x02\x53\x44\xff\x03\x42\x03\x79\x25\x11\x96\xd0\xf2\xbd\x51\x00\xb1\x5f\x57\xfc\x72\x05\xf1\x81\xa7\xe7\x59\x89\x3a\xf2\x7c\x3f\x4e\x45\x6e\xe3\xf3\x77\x89\xeb\x23\xa0\x36\xf9\xde\x80\x45\x90\x24\x79\x30\x27\x77\x49\xc2\x62\x85\xc0\x27\x22\xf8\x2d\x4a\x36\x04\x25\x6e\x38\x1b\xf8\x6c\x6d\x0c\x61\x39\x04\x4d\x3f\x49\x38\x25\x63\xea\x0f\x81\xa0\xc3\xd7\xa7\xe6\x22\xf9\x0f\x08\xbd\x2c\xaa\x29\x62\x84\x8a\x2b\x6f\x89\xca\xe8\xaf\xb2\x06\xb9\xdf\xf1\x8d\x0d\xe2\x31\xdf\xa5\x8a\x6f\xdb\x7d\xa5\x8a\x1f\xbe\xcb\x18\xf9\x40\x36\xff\xe3\x5f\x23\x98\xc2\x7c\xba\xa3\x6c\xa7\xa9\x37\x30\xcf\xf7\xcb\xa5\x8e\xc2\x7e\x79\xb4\xb4\x81\xa4\xfd\x1f\x43\xd2\xaa\xa9\x07\x1d\x61\xb8\xac\x91\x15\x6e\xff\xf0\x06\x60\x2e\x8e\xb2\x51\x1e\xe5\xa5\x62\x08\xcc\xff\x21\x7f\x17\x9b\x44\xb7\x7f\x41\x76\x76\xb6\x76\xd7\x1a\x19\x83\xbd\x2e\x7c\x2c\x0a\x23\x66\x6e\xa6\x1c\x1c\x80\xbe\x2f\x3c\x22\x70\xaa\x6d\xbf\x08\xe6\x8c\xc3\x2c\x64\xec\x92\xa7\x9a\x3c\x59\xf8\x3f\xff\x32\x59\xf8\xc1\x84\x8e\xe4\x7f\x1c\x97\x14\xbe\xf4\x23\x91\x41\x90\xa9\xf2\x76\x93\x8f\xbb\x31\xae\x3c\x75\x17\xb3\xed\x64\x7d\x15\xa1\x56\xee\x1b\x56\x29\x9c\xd9\x32\xb9\x8c\xc5\xd4\x66\x9e\x13\xcb\x10\xce\x6d\xae\xdf\x8a\x51\x3a\xfd\x1a\x5a\x86\x18\x1d\xb3\xf4\x8f\x46\xe9\xe6\xd2\xd2\x2f\x8c\xd2\x1b\x4b\x4b\xaf\x2d\xa6\x64\xc3\xa6\xbb\xb6\x98\x92\x54\xe9\xf5\xc5\x94\xc8\xd2\xf0\x98\xaf\x03\xf1\x2f\x41\xce\xc5\x0a\xab\xcb\x63\x41\x04\x3e\xea\x19\xe1\xd7\x3b\xb0\xd4\x1f\x46\xf4\x1e\xae\x7e\x6a\xa5\xb5\x40\xaf\xf2\xf8\xda\x3d\xf1\x82\x91\x1b\x4e\x48\xf9\x5a\x45\x31\x1f\xe8\x6f\x41\x16\x62\x52\x16\xd1\xfa\xb2\x04\xec\xe3\xb3\xc4\x19\x8b\xbf\xdb\x24\x8c\x60\x7f\x3e\xf2\x82\xc0\x8b\xe5\xc7\x3d\xfe\x49\xc4\x02\x55\xee\xad\xfa\x80\xb4\x69\x40\x5d\x8f\xca\xb8\xaa\x13\xb2\x46\x8e\x19\xd7\x1d\xc4\x07\x1f\xc8\x1a\xe9\x26\xd4\xd7\x45\x3a\xbc\x93\x6d\x08\xab\x8a\xee\xd9\xc8\xa3\xc1\xfa\x21\x35\x7a\xfb\xc8\x39\x39\x35\x3f\x79\xcd\x6b\xbc\xe4\x1f\xdf\x33\x57\x7f\xbc\x0f\x9f\x78\x71\x9c\xdd\x4f\xfe\xa2\x9d\xa4\x9c\xa3\x5f\x57\x72\x3e\xfb\x31\xe7\xb3\x17\x39\x9f\xad\xe5\x7c\x56\xcb\xf9\x6c\xbd\x68\x07\x43\x8c\x93\x7f\xca\x99\x26\xd0\xcf\x72\xee\x9a\xc5\x80\xa0\x19\xa2\xca\x29\x84\xaf\xcc\x35\xdc\x19\x73\x05\xbb\x38\x0b\x55\xc5\x42\x17\x55\x38\x1f\xe5\x52\xc6\x13\x7b\x59\x56\x2d\x67\xfc\x79\x2f\xeb\xa9\xaf\x5a\xac\x94\xc8\x6f\xbf\x11\xf5\xe7\x5a\x4e\x07\x4b\x32\x71\x2d\xe9\xe0\x47\xbb\x83\x5a\x4e\x07\x4b\xb2\x77\x2d\xe9\xe0\x85\xdd\xc1\x7a\x4e\x07\x4b\x32\x7e\x99\x1d\x3c\x23\x39\x21\x0d\x85\xa8\x28\x29\x24\x39\x69\x2a\xb0\x77\x46\xbe\x07\x3e\x97\x9e\xd8\xe4\x05\x29\x3d\x7f\x65\x2b\xe3\x59\xcc\xb7\xd5\x4e\xb3\x03\xea\xdc\xca\xe7\xb6\xc3\x4e\xfb\x40\x5b\x5f\x6f\xae\x36\x9b\xe8\xed\x3c\x9b\x2e\xd3\x91\xd2\x8b\x7f\x7b\x89\x81\x9b\xde\x31\x13\xdc\x22\xfb\xa4\x0f\xad\x14\xfb\x20\xe6\x85\x0e\xd8\x69\x85\x21\xf9\xde\xf2\x2e\x8a\x3d\x01\x0b\x1c\xfe\x7f\xb7\xdc\xc0\xee\x69\xe4\x1a\xdc\x3b\x32\xb9\xd7\x6c\x3c\x95\x7b\xbb\x8b\xb9\x57\x00\x1c\x71\xd9\xca\xf8\xd3\x41\x6b\xfb\xcb\x2d\xf7\x79\xb1\xae\x27\xd8\xf2\x7e\x16\x7e\xee\x9c\xdf\x77\x7d\xab\xeb\xac\x2b\x1f\x74\xfd\xf3\x1f\xec\x5a\xc0\xf9\x99\xca\x97\xf2\x70\xf3\xc3\x7b\x16\xa1\x8f\x9b\x13\x46\x01\x66\x14\x43\x48\x95\xc5\xb6\x20\xe5\xcc\xe8\x09\x33\x76\xc4\x9c\x70\x14\x78\xdf\xd1\xbd\x19\xfd\x70\xef\x65\xae\x85\xf1\xf4\x94\x77\xc4\xfb\x39\x98\x8d\xda\xe1\x64\x4a\x75\x3c\x3b\xc1\x58\x76\xa1\xa6\xa7\x47\x7f\xb4\x78\x1a\x8f\x66\xbe\x2f\x12\x60\x97\x7b\xdd\xcc\x0b\x3c\x34\x51\xec\x2b\x68\xe0\xe2\xa7\x9f\xb2\xc5\x17\x06\xd7\xce\xd8\x24\x8c\xe6\x00\x6b\xb6\x3e\x0b\xf8\x3f\x2b\x9b\xcb\x80\x0c\x3f\xe7\x9c\x9d\x2c\x1e\x9d\xe1\x5f\xd7\x24\xe5\xd3\x7e\xb3\x62\xbb\xd7\x81\xe7\x53\xfa\xc5\x9c\xc6\x59\x17\x3b\xe8\x2c\x58\xe6\x5f\xd7\xb4\xfd\xeb\x8c\xde\x37\x78\xef\x1b\x79\xbd\xa7\x9f\xbc\x0b\x7b\x0f\x97\xf5\xbe\x51\xd8\x7b\xb3\x4a\x7a\x70\xe1\xe7\x44\xf4\x56\xa5\xa2\x97\x47\xc5\x6f\xc5\x54\xf4\x1e\x41\x45\x33\x97\x8a\xbc\x99\xc8\xa5\xe2\xf7\x65\x54\x14\xcf\x44\xc3\xa0\xa2\x91\x4b\x45\x63\x55\x2a\xfe\x67\x19\x15\x29\x07\x50\x8c\x5c\x26\x9e\x13\x06\x24\xa0\x13\x0c\x2b\x11\xb8\x1c\x89\x97\xf8\xcc\x78\x01\x83\x3d\x01\x61\xa1\x4d\xf8\x0e\x55\xcc\x8e\x75\x80\x24\xa2\x8b\xf4\xc7\x9c\x40\x7e\xde\xde\x15\x6f\x2e\xcf\xee\x9f\x47\xf7\x32\x12\x9a\xf6\x5a\x94\x64\x59\xc0\x69\xeb\x11\xa3\x2e\x71\x42\x3f\x8c\xc8\x94\xfa\x2c\x49\x72\x9b\xda\x5c\xea\xc7\xd8\x8a\x46\x31\x71\xc2\x09\x44\x2d\xd0\x58\x47\x53\x95\x00\xb4\xb7\xb1\x17\x8d\x06\x0d\x52\xab\xd5\xc8\x1e\x7c\x70\xce\x3f\x38\x2f\x19\x09\x3f\x10\x1c\x36\x9e\xfa\x9e\x72\x67\x8f\xd9\xc4\xe3\xb4\x05\x02\x50\x92\x45\x34\x61\x90\x10\x6a\x36\x1a\x0b\xf8\x6e\x2f\x52\x69\x22\xf3\x31\x9c\x3f\xd5\x3f\xd7\xa0\xd5\x72\x69\x4f\xd8\x8d\x20\x8b\x16\xf5\xa2\x36\x24\x61\x37\xf2\xcd\x9b\x50\xf9\xeb\x90\x7c\x4e\x28\xfa\x9c\x41\x97\xc8\x1f\x69\xc1\x4f\x16\x26\x2b\x36\x2a\xec\xa5\xb2\x8c\xb6\xa2\x88\xce\xc9\x3e\xf9\x84\x60\xc2\x5c\x89\x2b\x4b\x8a\xce\x31\xd6\x66\x9f\xd4\xf7\xcc\xbf\x7f\xd2\xe4\xee\x91\x17\x2f\xf4\x37\xd6\x6d\x84\xf7\x89\x6a\x47\x6a\x48\x9f\x8c\xa6\x7e\x24\x4d\x89\x12\xac\x2a\xc1\x95\x1a\x5e\xba\x32\x65\xc9\x0b\x62\x81\x1e\x1b\x9d\xfc\xbc\x6f\xf1\x45\x42\x08\x6b\xf5\x35\xf1\x82\x19\x4b\xd7\x15\x7d\x41\x3e\x01\xeb\x5d\xb0\xf4\x4b\x89\x4c\x18\x0d\x62\x40\xff\xc5\xb4\xa5\x11\x46\xa4\x23\x0c\xbb\xe1\xa9\x8e\x02\x6b\xa4\xf7\x27\xf6\x40\x7c\x6f\x80\x53\x10\xd7\xa2\xd1\xe0\x2a\x7c\xdf\x68\x94\x4d\x5a\x3f\xe9\x61\x68\xc8\x64\x9b\x44\x1d\x18\x69\xcd\x1b\xe6\xa7\x30\xb8\xf0\x82\x94\xf6\x50\x05\x57\x35\x15\xfa\x86\xe6\x81\xa1\x8c\x17\x11\xfa\xd0\x68\x5c\x85\xed\x7e\xbf\x6c\xb5\x54\x4c\x58\xd1\x78\xc8\xbe\xd1\x45\x6e\x92\x3f\x1c\x88\x39\x5d\x4b\x5d\x36\x3e\x6f\xc2\x20\xed\x16\xbe\x86\x5e\x00\x8b\x8a\x33\x01\xe1\x4c\x33\x50\xa1\x46\xdc\x4b\x3c\xa6\x53\xb5\xa5\xea\x24\x27\x9e\x46\x4c\x15\x5e\xd5\x12\x0b\x26\x8c\x26\xe4\xb9\x48\x73\xcc\xeb\xee\x63\x24\xda\xf3\xaa\x78\xfc\x12\x81\x69\xa8\x6e\x21\xf0\xe3\x2b\x65\x69\xab\x93\x35\x72\xc0\x95\x1a\xfc\xb3\x41\xd6\x48\x77\xed\x80\xd1\xc9\x33\x85\x26\x7a\x1d\xb8\x2c\xf2\xbd\x80\xa5\xf4\x3f\x0a\x6f\x56\x80\x8b\xeb\xb2\xb5\x21\x75\x92\x90\xc4\x32\x8b\xa5\x48\xa2\x8b\x6a\xa1\x77\xc5\xd5\xc2\x26\x6c\x4f\x27\xe2\xbe\x06\xae\x0d\xe0\x5d\x0e\xb9\xd7\xe0\x96\x71\xdd\xef\x19\x81\x04\x70\x93\x43\xe2\x45\xa6\x31\x99\x17\x3c\x1b\x25\x84\x19\xa8\x14\xeb\xd2\x1b\xf3\xd6\x92\x73\x66\xf1\xb6\x28\x9e\xc6\x4d\x16\x97\x6b\x95\x75\xaf\xb2\x67\xc2\xde\xe7\x03\x75\xb6\x61\x81\x72\x25\x11\x13\x22\x5c\xf4\xdb\x64\xab\x0e\x9d\xe1\x25\x34\xf7\x14\x23\x59\x10\x5a\x89\xc7\x23\x00\xd6\x33\x90\x3c\x45\xb1\xd0\x06\xd5\x65\x64\xca\x95\xed\xef\x0a\x5f\xd5\x0e\x3a\xad\xb3\x45\x40\x2a\x7f\xb8\x83\xeb\xf3\xc3\x4e\xef\xb4\x7b\xde\x59\x25\x10\xfb\xc9\xa3\x38\xbd\x68\x9f\xe4\x42\x9f\xe2\x09\x8e\xde\x28\xc4\xf1\xbd\x29\x5e\x9c\x94\xff\x17\x75\xb9\x48\x5b\xca\x3c\x73\x89\x3b\x03\xc8\xd3\x98\x39\xb3\xc8\x4b\x20\x28\x1b\x5c\x17\x11\x17\xab\x46\x48\x8b\x44\x6c\x12\x26\x8c\xd0\xe9\xf4\x19\xe4\xa5\xa0\x18\x70\x27\xd2\x38\x0f\xc2\x64\x4c\xee\x23\x4f\x04\xe3\x02\x11\x42\x64\x15\x11\xc4\x01\x19\x61\x71\xcc\x82\xc4\xa3\xbe\x3f\x87\x96\xe8\x2d\xc3\x54\x25\xf3\x70\x16\x91\x98\xc5\x71\x2a\x7e\x59\x37\xe0\xd2\x84\x3e\x25\xd7\xe7\x33\xc8\x98\x57\x90\xc5\x11\x17\x4e\xf3\x0f\xa8\x34\x8a\xc0\xbd\xc1\xf6\xe6\x1a\x27\x52\x29\x32\xc4\x1e\x01\xb6\x34\x35\x37\x3b\xe9\x1f\x85\x00\x74\xc2\x09\x4b\xc4\x7e\xbf\xd7\x35\x21\x56\x9b\xba\x2e\x20\x97\x12\xd2\xf7\x02\x47\x64\xe5\xd6\x80\xd9\x5e\x90\xb0\x91\xf0\x47\x82\xb7\xcc\xf7\x90\x50\x04\x72\x4b\xf3\xf6\x26\x84\xfa\x98\x00\x26\xa6\x13\xb6\x5c\x4d\x92\xae\x32\x9f\x9c\x69\x5c\x6f\x34\x37\x36\xb7\xb6\x5f\x7e\xfe\x11\x7c\x66\xd6\x53\x7b\x82\xb5\x92\x45\xc3\x30\x5b\xfb\x42\x2f\xad\xd1\x24\x1c\xa8\x45\x2d\x2b\xf3\x22\x79\x47\x8e\x13\x4e\xe7\xc2\x11\x22\x6c\x4b\x16\x58\x69\x55\xa1\x66\x3a\xe9\x2c\x80\x3a\x97\x07\x3e\x0d\x6e\x2b\x66\xa8\x41\xb9\xdb\x7e\x9d\xf1\x63\xec\x77\x3f\x95\xfe\xfe\x18\xb5\xdc\x83\xf6\xfb\x53\xea\x58\x3a\xb9\x47\xa3\x11\xa6\xcc\xab\xe4\x59\x21\xae\xa7\xa4\xdc\xbe\xbe\xce\xed\xbe\xf5\x98\xee\x71\xfd\x5f\x4f\x1f\xd1\xf7\x61\x78\x1f\xf0\xde\x0f\x73\x7b\x3f\x78\x7c\xef\x10\x33\xb0\x7a\xff\xd2\xf8\x55\x6e\x5f\x1f\xe5\x92\xd0\x7e\x3c\x09\x70\x3b\x7c\x04\x0d\x07\xd4\xb9\x95\x44\x1c\xe4\x12\x71\xf8\x78\x22\x20\xe4\x77\x75\x1a\x8c\xe0\x90\xf6\xf9\x69\x25\x6d\x60\xf2\xbd\x5b\x66\x4e\x59\x15\x32\xea\x4c\x2d\x6d\x69\x12\xde\x31\x85\xd7\x00\xd1\xfa\x81\x46\x8f\xe4\x8d\xc1\x0b\x3e\xe5\xda\x32\x02\xd7\xa6\x47\xd9\xf9\x93\x67\xfb\x91\xf1\x9e\x62\x78\x97\x7c\x6f\x86\xcd\x5a\xb0\xe3\x72\x31\x3b\xae\xa7\x7f\x09\x33\x8e\xfe\xd4\x85\xf7\x34\x56\x68\x2b\x46\x6b\x10\x87\x3e\x04\xc6\xb5\x5f\x67\xfd\xad\x39\xbd\xc7\x8f\x34\x1f\x58\xdd\xe7\x92\x4d\xd6\xd2\x39\x29\xe5\x0c\x89\xa0\x29\xbe\x5e\x2e\x73\x89\x79\xfd\x24\x62\x64\xbb\xc5\xe4\xe4\x25\xba\x49\xff\xa4\x2b\x37\x16\x8e\x45\xee\x3f\x46\x2c\x53\xb9\x2d\x42\xf1\xd3\xa3\xea\x2e\xd7\x9c\x1d\xd3\x3e\x90\x1e\x01\x17\x03\x59\x80\x5f\xe3\x86\x35\xc7\xa7\x93\x69\x19\x3e\xab\x92\x46\x35\x0b\x3d\xc6\x58\xd0\xf7\xbe\xb3\x1a\xb8\xe0\x40\x03\xea\xf2\xef\xe1\x9d\xdf\x23\x3f\x61\xa3\x7b\xc4\x7b\xf1\x22\x1f\x79\x3f\x1b\xa6\x9f\xd2\x0a\x3b\x11\x57\x6d\xbd\x00\x52\xc2\xf8\x74\x4e\xca\x9d\xc3\x2a\xc2\xdb\xe7\x1f\x0c\x6f\x6c\x4b\x2e\x7c\xf6\xcb\x9b\x55\x9e\x4c\x85\x3e\x91\xab\x4e\x58\xc9\xb3\xc8\x6f\xbf\x61\x41\xc8\xde\x98\x4a\x04\xa8\x86\xc6\x38\xe5\x07\xcc\x0f\xef\xcb\xe9\x24\x02\xb2\x72\xa3\x20\x1f\x01\x54\x6d\x0d\x42\x89\x18\x95\x53\xb5\x59\x50\xd5\x40\x86\xca\xa9\xb5\x61\x27\x2b\x65\xe2\x2d\xc0\x0d\x9d\x98\xc4\x74\x8e\x48\x38\x68\xb8\x78\x8e\x9c\x87\x47\x22\x8c\xf5\x7b\x2e\xf3\x19\x95\x7c\x1f\xc0\x3a\x10\x06\x4b\x36\x07\x91\xbb\x62\x92\x62\xae\xe1\x91\x5b\xcf\xf7\x95\x3b\xb4\x40\x70\xe7\x17\x40\xc6\x26\x31\x89\x66\x12\x1b\xaa\x78\x00\xb9\x82\x80\xde\x5e\x9d\x53\x21\x05\xd9\xb0\x4e\x3e\xe3\x27\x79\x52\x70\xf2\x4f\x90\x82\x9c\x89\xbc\x0a\xf1\xd8\x5f\x20\x05\x0b\xea\xc2\x69\xfd\x58\x29\x80\xba\xfc\x90\xca\x61\xa4\xd0\x34\x4f\x01\x92\xb8\xdc\xcd\xe7\xdf\xe9\xe3\x75\x4b\x68\x70\x15\xbd\x42\x84\xe4\x0a\x02\x0e\xf3\x09\x38\x7b\x0c\x01\x2e\xb4\xf8\x58\x02\xda\x86\x8e\x7d\x28\x74\xec\x67\x1a\x07\x04\x43\x29\x20\x52\x3d\x56\x80\x24\x60\x06\x83\x9c\x3c\x3e\x1b\x26\x55\x8d\xd1\x44\xad\x33\x5e\x06\xef\xe6\x8d\x6c\x49\xc4\x5b\xde\xc8\x38\xa5\x2b\x8d\x4c\x80\xb3\x73\xb5\xbd\x9f\xaf\xb5\xf7\x1f\xd3\xfb\x5d\x82\x0d\xae\xa6\xb7\x8b\xce\x51\x6f\xef\xe3\xee\x4c\x5a\x7e\x1c\x92\x52\x37\xf0\x12\x8f\x26\x4c\x03\x9b\x0b\x1c\xcf\x44\x00\xde\x97\x72\xb3\xd4\xe0\x7e\x34\xa5\x51\xc6\xc5\x9d\x0f\xe5\x6a\xf1\x50\x52\x71\x1c\xa6\x39\xfc\xa7\x7d\xd2\xc8\xbb\xb9\xc9\xf1\xae\x7a\x53\xe8\xe9\x34\x2d\x02\x02\x6b\xc8\x68\x32\x8b\x98\x02\x40\x83\x07\x0d\xc4\xf5\x4e\xe7\xde\x94\x16\x5f\xc3\x9b\xee\x13\xf9\x99\x5c\xc6\xe4\x4a\x79\xb9\x47\x13\xea\xfb\xf3\x2a\x79\x0e\x6f\x9e\xcf\x25\x3a\x94\x48\x30\x8d\x7d\xd5\x48\x17\xac\x19\xc2\x59\x1e\x2c\x1a\xa2\x9c\xca\x50\x3a\xf0\x7c\x2f\x99\xeb\xcc\xa5\x8a\x4c\xc0\xb0\x9b\x4c\x31\xf5\x2f\x25\xae\x37\x04\x3b\x43\xa2\xa8\x94\x51\xb2\x30\x10\xde\xd6\x44\xf8\xbd\x27\xa1\xed\x92\x7f\x19\x8b\xb4\x32\xa6\x0b\x5b\x88\xb9\xb0\x58\x22\x2e\xd2\xeb\xf0\x3e\xe5\xd3\x01\xf3\x63\x32\x83\x58\x99\x31\x7b\xa0\x2e\x73\xbc\x09\x95\x29\x2b\x1a\xba\xe6\xb7\x19\x8b\xe6\x8f\xa9\xdb\x5c\xb1\x57\xf0\x43\x15\x75\x36\x56\xee\x4f\xd5\x5a\x2d\x0e\x83\x0b\xe9\xcf\x57\x4b\x22\x40\xe1\x58\x33\xb7\xa2\x4e\xc1\x75\xff\xfd\x63\x56\xae\x75\xf0\x3c\xe1\xbe\x69\x29\x9d\x07\xf9\x4a\xe7\xc7\xff\x57\x95\xce\x81\x18\x65\xb1\xd6\xa9\xaf\x37\xea\x46\xa1\xef\x39\xaf\x2f\xf3\xef\x39\xff\xfd\x4f\xb8\xe7\xf4\x30\x7b\x10\x3c\x17\xaa\xdb\xe8\x28\xa2\xd3\xb1\xe7\x58\xa9\x9f\x1f\x17\xbf\xce\xc9\x1f\x2c\xf1\x68\x82\xc4\x18\x18\xad\xae\x9f\x07\x49\xf9\x32\xf2\x26\x34\x9a\x93\x43\x1d\xb2\x6c\xfb\x50\xca\x9b\xf1\x98\x46\x2e\x1a\x3d\xc1\x60\x28\xf2\x04\x93\x12\x26\x7d\x02\x93\x5f\x0b\x73\x4e\xba\x98\x91\xe9\x19\x84\x38\x72\x5e\x96\x50\xf3\xf4\x12\x89\xb0\x0f\x7b\xad\x13\x46\x11\x24\x49\x16\xcd\x51\x01\xf3\xaf\xf2\x60\x85\x60\x66\xfc\x91\xdc\x03\xac\xa3\x8f\x38\x33\x63\x46\x4a\x85\x7c\x29\xc1\x61\x93\x83\x5f\x98\x71\x54\xc9\x3b\x6d\x7e\xc8\x09\xb9\xfb\xed\xb7\xdc\x40\xbc\x05\x3a\xe3\xc2\x20\xe3\x8c\xcd\x3c\x7f\x52\xfa\xcc\x09\x03\xf7\x8f\x4f\x4b\x29\x87\xef\xbc\xa9\x95\x58\x6f\xf1\x1d\x66\xcc\x66\x3c\x6f\x68\x35\xde\xff\xbc\x84\xf9\xcb\x19\xf8\x73\x7d\xaf\xb9\xb5\xbd\x57\x4f\x47\x6a\x83\x21\x27\x67\x8d\xdf\x14\xac\x71\xf7\x91\x6b\x5c\xb6\x88\x6b\xbd\x17\xde\xaf\xba\xd0\x0d\x30\x13\xae\x86\x2a\xd4\x37\x6d\xe1\x78\x7d\x73\xa9\x61\x2e\xc0\xe3\x23\x5e\xdd\x0c\x92\xc2\xbc\x91\xa6\x11\x03\x38\x8b\x0e\x48\x1b\x42\xf4\xca\x57\x07\x59\x3c\x22\x5e\x7e\xf4\xd7\xad\x88\xf5\x75\xd1\xb9\x44\x08\xe4\xfa\x35\xea\xd6\x85\x77\x46\xb1\x9b\xb7\xc4\xbe\x5a\x06\xd7\xba\xf4\xc5\xa9\xa0\xe7\x8d\x6c\xcf\xf0\xda\x20\xf1\x09\x0b\x3b\x6d\xf9\xbe\xe8\x37\xce\x39\x46\xfa\x4c\xa6\x69\xec\x67\x91\x00\x39\x0b\xc7\x4b\xf0\x9c\x72\x0e\xb7\x7c\x95\x36\x7b\xda\x19\x59\x16\x33\xa3\xf6\x3e\x57\xc1\xe9\x31\x4b\x71\x1a\x1c\x19\xe1\x73\x30\x9b\x60\xee\x08\x7e\xf9\x6b\x87\x20\x92\xa0\x3c\x62\x04\x67\xcc\xf5\x28\x69\x87\xd3\x39\x29\x9f\xa1\xe0\xa6\x3e\xab\xea\xd0\x8a\xa1\xe7\x98\x58\x0c\x31\xd3\x80\x02\x12\xf4\x09\x8f\x5a\x2f\xe0\xc7\x6a\x51\x26\xcd\x34\x53\xbc\x3c\xeb\x83\xb7\x04\xb4\x14\x14\x73\x94\x96\x5e\xbe\xb4\xf8\xff\x3a\x69\x31\x16\xd3\x42\x71\x11\xde\x9e\x98\x77\x32\x5f\x60\xfe\xda\x51\x2c\x12\x98\x82\x41\x18\xb6\x6c\xf3\x08\x3d\xd6\xd0\x93\xdd\x1c\x6f\x2d\xdf\x8b\xd1\xaf\x42\x86\x48\x57\x01\x00\x67\x2e\x0d\x5e\x08\x40\x8c\xa6\x01\xd1\x2a\x9c\x9c\x98\x61\x84\x60\x02\x27\xe1\x1b\x26\xdb\x10\x77\xc2\x9a\xbe\x15\x92\xba\x74\x46\x2e\x8b\x1b\x99\x0a\x06\x6d\x90\x83\xd0\x97\x99\xb5\x48\x93\x1c\x51\x4f\xe5\x75\x25\x1b\x18\x66\xe3\x90\x72\x10\x06\x6b\x70\x51\x53\x15\x37\xb5\xb3\x88\xaa\xbe\x85\x89\x21\x49\x99\x4e\xa7\x8c\x46\x31\x3f\x4c\x78\xf3\xaa\xd2\x4b\xd2\x0d\x00\x41\x4a\x7e\xb0\xc3\x3f\xc0\x5c\x2c\x55\xe2\xd5\x58\xad\x4a\xc6\x9e\xeb\xb2\x20\x15\x11\x45\x76\x49\x3b\x0a\x01\x98\x9c\xeb\x01\xe5\x4e\xfb\xac\xb5\xb6\xb9\x23\xbf\x6e\x36\xd5\x00\x03\x81\xbb\x3c\x08\xc1\x19\x23\x22\x43\x3e\x22\x55\x70\x03\xd4\x59\xaf\x68\x58\xcd\x4d\xf8\x7e\x96\x1e\x5a\x73\x8b\xf4\x13\x46\xdd\x39\xaf\x93\x90\x81\xc8\x7f\xa9\xaa\xbd\x14\xa7\xe5\x1d\xc3\x02\x1e\x0e\x53\x7d\xbf\x43\x6e\xec\x51\x62\x7e\xb6\x9c\x91\x36\x77\x51\xe1\x5e\x30\xda\x8d\xba\x84\x9e\x62\x23\xcc\xc2\x88\xde\x5f\x49\x48\x0e\x7c\x8a\x4e\xcb\xbc\x58\xa3\xb0\x58\x4f\x0d\x6c\xa3\x59\x58\xe8\x58\xfa\x88\xf3\x62\x1b\x85\xc5\x3e\x30\x2e\xa2\xb2\xdc\xe6\x02\xd2\x66\x72\xda\x37\xb6\x0a\x4b\x9d\xd1\x11\x0b\x12\x2a\x0b\x6e\x17\x16\x6c\xcf\x55\xf4\xd7\xc6\xcb\xc2\x52\xef\xc6\x5e\xa2\x7a\xdd\x2d\x2c\x26\xed\x14\x65\x81\x1b\xe0\xab\x68\x36\x64\x35\x57\x66\x17\xb1\x7a\xb3\x51\x58\x4c\xb3\x7a\xb3\x59\x58\xc8\x64\xf5\xe6\x46\x61\x31\x8b\xd5\x9b\x9b\x0b\x48\x53\xac\xde\xdc\x2a\x2c\x65\xb3\x7a\x73\xbb\xb0\xa0\xc1\xea\xcd\x97\x85\xa5\x4c\x56\x6f\xee\x16\x16\xcb\xb2\x5a\x5d\x33\xc5\x5a\x24\x65\x5c\x9e\x15\x81\x8e\x30\xa6\x77\x8c\x4c\xbc\x07\xa6\x5c\xcd\xf0\x22\x07\xe9\xa2\x4d\xdf\xb3\x41\x88\x89\xee\x46\x41\x38\x61\x6b\x52\xc5\x42\x6f\x9c\x87\x3b\x4c\xf3\x48\x01\xf9\x5f\x05\x32\x70\x6d\x17\xd0\x09\x78\x47\x61\x40\xde\x79\xb7\xde\x94\x9f\xf3\xbc\x9d\xf2\x38\x49\xa6\xaf\xd6\xd7\x59\x50\xbb\x97\x9f\xd7\xc2\x68\xb4\xce\xff\x5a\xe7\x27\xdd\x17\x84\x71\xf8\x02\x86\x7f\xb9\xdf\x1e\x85\x11\x69\x6c\xaf\xe1\x88\x15\xc5\xa9\xdd\x9c\x6f\xf2\x7a\x83\xde\x5d\xb0\xa2\x11\xfc\xda\x94\xb6\xdd\xe2\x85\x2d\x4a\x6b\xa1\xdb\x2d\x5e\xdf\xa2\xac\x29\x7b\xbb\xc5\xcb\x5c\x94\xb6\x44\x70\x77\xc1\x6a\x97\x64\x2b\x49\xdc\x2d\x5e\xf4\xa2\xb0\x2d\x90\xbb\xc5\x6b\x5f\x94\x37\xe4\x72\xb7\x78\x0b\x10\x85\x0d\xf1\x6c\xd4\x17\xac\xea\x0c\xbb\x1b\xf5\xe2\xc5\x9d\x66\x77\xa3\x5e\xbc\xc6\xb3\xec\x6e\xd4\x8b\x97\x7a\x0e\xbb\x1b\xf5\x05\x2b\x3e\xcd\xee\x46\xbd\x78\xe1\xe7\xb1\xbb\x51\x2f\x5e\xff\x19\x76\x37\xea\xc5\xdb\x40\x9a\xdd\x72\x45\xec\xec\xac\x91\x30\x22\xcd\xad\x55\x57\x06\xe4\x57\xde\x23\x5b\x64\x8f\x5c\x16\x4e\xee\x25\x96\xdc\xb4\x4b\xe6\xd1\x75\xa9\x56\x1b\xa7\x86\x6b\xfd\xe2\xbb\x72\x73\x73\x6d\xe0\x25\x95\x55\x09\x6a\x92\x3d\xd2\x23\x7b\xe4\x98\xec\x91\x83\x42\xc2\xa2\xd1\xa0\xdc\xab\x92\xe3\x2a\x39\xa8\x68\x12\xb3\x75\xf3\x48\x4d\xd5\x15\x36\x38\x86\x1e\x87\x00\xef\x26\xf7\xb6\x58\xb9\x29\x92\xe7\x5c\xe1\x79\x2e\xfc\x85\xe1\x0f\xd8\xef\x06\x30\x1d\xcf\x6b\x84\x74\x03\xde\x50\x1c\x4e\x98\xce\x36\x82\xde\x23\xbc\x2c\x26\x35\xf3\x62\x4c\x20\x0b\x8e\x82\x11\x5a\x73\x68\x2c\x1a\xe1\x17\x17\x06\x1e\x76\x00\x56\xcc\x5b\xc3\x6e\x62\xf8\x77\x0d\x4b\x61\x72\x95\x24\x0c\x71\x93\x86\x28\x11\x15\x25\x26\x88\x8c\x59\x02\xcf\x5d\x4e\x38\x81\xc4\x1b\x43\x61\x10\x82\xb7\x2f\x14\x0e\x33\x17\x6d\x5a\xf9\x9f\xac\x88\x5f\x3c\x62\x49\x73\x6b\xbb\xec\x99\x60\x60\x45\x6f\x39\xc4\x23\x2f\x48\x33\xcf\xac\xe0\x81\xc3\x3f\x40\x2d\x6c\xa5\xf0\x8b\x45\xd6\x2a\xc3\xf3\x2f\x63\xa3\x86\x66\xab\xa4\x5e\x51\xde\xbd\x26\x79\x57\xd1\x8c\xb5\xf9\x80\x1f\x41\xe4\xd6\x12\x22\x9b\xf9\x44\xca\xf0\x86\x28\xc7\x90\x6e\x11\x89\xc5\x46\x05\xc5\x36\xec\x62\x83\x82\x62\x9b\x58\xcc\xe4\x4c\x89\x8b\x35\xb8\xcc\x93\x17\xa4\x44\xaa\xfc\xd7\x91\xfe\x75\xc0\x7f\xad\x94\x14\x9b\xe0\x05\x3d\x49\xa2\x78\x95\xe8\x12\xfd\xa4\x9e\xcf\x3a\xc9\x5c\x68\xd0\x8c\x09\xcc\xf8\x5e\x3f\xf1\xe2\x98\xfb\xde\x8f\xdc\x30\x38\x21\x1f\xdd\x7f\x22\x1b\x75\x3b\xea\x5c\x3c\xc5\xd7\xcd\x78\xea\x1c\x62\xf3\x9e\xef\x1b\xd9\x3a\xb0\x2c\x65\x44\x6a\x51\xbd\x66\xb6\x1e\x5c\x95\x96\x56\xdc\xc8\x56\x14\xf7\xa9\x65\x35\x37\xb3\x35\xd5\x4d\x6b\x69\xe5\xad\x9c\x71\xc2\x6d\x73\x59\xc5\x97\x15\xf2\x0f\x44\x96\x57\x77\x4f\x9b\x78\xfc\x78\x69\x3b\x3b\x46\x3b\x78\x99\xcb\x69\x09\xbf\x58\xda\xd6\x6e\x76\x30\x71\x12\x79\xb7\x4c\x1a\x07\x96\xce\x5e\xce\xf4\x89\x69\x17\xd1\xc0\xf9\x53\x6b\x7d\x99\xd3\xec\xa2\xc9\x5d\x56\x77\xc9\xf4\x2e\xab\xbe\x60\x82\x97\x55\x7d\x99\x43\xb5\x9a\xd5\x65\x95\x77\x72\x2b\xab\x89\x5c\x56\x7d\x85\xa9\xb4\x9b\x78\x96\xc6\x3d\xc0\x2d\x61\xab\x6e\x05\x7f\x09\xb4\x38\x7e\x34\xae\x67\x94\x04\xc8\xb3\x66\xa2\x62\x85\x43\xd2\xd8\xb6\xa3\x16\x75\x53\xb2\x02\x3f\x5e\x9b\x5b\xa9\x62\x90\x93\x46\xe4\xf5\xf3\xee\x44\x96\xfc\xe1\x5c\x14\xf2\x02\x32\x9c\x41\x98\x82\x6c\xec\xdb\x8c\xfa\xde\xd0\x63\x2e\xa8\x29\x51\x95\x8c\xaa\x64\x50\x81\xd0\xa4\x5a\x6a\x43\xfb\x89\x6c\xe4\xf0\x56\x6b\x4b\x7d\x0c\x0e\x87\x28\x3b\xb2\x46\x36\xea\x2a\x4c\x2c\x67\xd3\xb1\x5a\x5a\x5f\x27\x47\x5e\x14\x27\xc4\x19\x33\xe7\x16\xdd\x0b\xb4\x46\x07\x09\xd7\x04\xec\xbd\xf8\xe1\xfb\x73\x22\x0f\x5b\xb2\x9f\x3e\x7b\xf5\x6a\x01\x1c\x0a\x55\xf0\x07\x4c\x4c\x69\x27\x0c\x2d\x1e\x06\x7c\xd1\xef\xb5\xbf\xf4\x8e\x0f\xf6\x16\xd4\x10\xab\x1b\xfa\x30\x12\x53\x13\x7e\xbe\xef\x93\x2d\x23\xef\x67\x3a\x25\x23\x3e\x2d\xa8\x41\xab\xd9\x34\x0a\xc0\x8b\x39\x0e\x11\xb5\x1f\x93\x12\x08\x9c\xe3\xfc\x84\x61\x59\xde\xa6\x66\x8c\x8e\x41\x4d\xd3\xfe\x08\xea\xff\x2c\xc7\xba\x20\xda\x11\x7f\x52\x31\x8f\x4b\x18\xe8\x98\x19\x4f\x8b\x45\x21\x67\xc5\x2d\x9c\x8d\xc3\xce\x51\xeb\xfa\xf4\xaa\x48\xba\x7e\x22\x9b\x39\x62\xaa\xd7\x5c\x4a\x4c\x37\x17\x89\xe9\xe6\xbf\x9b\x98\xe6\x0d\x63\xb1\x98\x1a\x9b\xcd\xff\x17\xd3\x5c\x06\x3a\x85\x89\x79\x57\x11\xa2\xac\x58\xca\xa6\xf2\xce\x85\x9f\xf7\xc9\x6e\x9d\xfc\xed\x6f\x20\x7c\x3f\xed\x93\x5d\xe3\xa8\x5b\xb2\x9f\xee\xd6\xc9\x0b\xb2\xb3\x57\xd4\x6c\xa3\x6e\xb6\xdb\xa8\x67\x1a\x2e\x5c\x01\xbc\x26\xb4\x2c\x39\x00\xa4\x8b\xa3\x8f\x25\x87\x68\xe1\x8b\xb3\x29\x2d\x8e\x14\xa9\x28\xd1\x95\x7c\x7f\xf7\x4c\xbd\x03\x45\x89\xa8\x97\x8d\xaa\x05\xcb\xe1\x5a\x2c\x9e\xe3\x88\x84\x4b\x41\x47\xb3\x47\x3a\x5b\x2d\x81\xec\x10\x9e\x12\x5c\xc7\x9f\xc5\x32\xa7\x78\xf9\xb0\xdf\x2b\x78\x12\xdc\x22\x6b\x76\xe1\x1a\xe9\xb1\x18\x6c\xa0\x17\x27\x15\x7e\xe7\x6e\xf7\xbb\xa4\x4e\xe0\x7e\xbe\x4d\xd6\x64\x93\xd9\x67\xf8\xcb\x5e\x85\x7c\x8a\xc2\xfb\x3d\x07\xdc\x7d\x3e\xab\x86\x44\x1b\x11\xd9\x23\x0e\xe9\xe5\x8c\x29\x78\xb4\x97\xa3\x7c\xd4\xde\x5a\xdd\xc1\xa4\x1e\x94\x56\x7c\x29\xdf\x2e\x99\x17\xa7\x28\xbc\xcf\xbb\xe4\x69\x6f\x87\x0a\xbf\xdd\x5a\x11\xfa\xc5\xe5\x65\xc2\x14\x5d\x65\xb9\x5f\x07\xdc\x4a\xc3\x7b\x33\x72\x9d\xff\xde\xcb\xf1\x95\x39\x14\x3e\x91\x13\x01\x58\x6f\x62\xc6\x0f\x18\x61\x01\xe4\xdd\x24\x77\x1e\x25\x4a\x98\x1e\x29\x7e\xc1\x9f\x2b\x7e\xdb\xe4\x31\x22\x25\x2d\xe2\xbf\x18\xc2\x44\x1a\x5b\xba\x89\x4b\x7c\xc5\x06\x83\xd1\x2c\xd6\xc5\x1b\x5c\x82\x49\x39\x62\xd4\x9d\x57\x48\x18\x3d\x93\x60\xb3\xf2\xeb\x06\xff\x9a\x8f\x1e\x8b\x80\x45\xad\x69\x34\x7c\x7d\x78\x92\x69\xb4\x89\x8d\x22\x16\x0f\x73\x79\xbb\xea\x1b\x68\x4f\x7c\x8e\x8d\x19\x6b\xe7\x44\xae\xff\x6c\x8b\x2f\xc9\x1e\x69\x90\x3d\x52\x87\xff\x02\x52\x3e\x0f\xa3\x64\x4c\x5a\x13\x16\x79\x0e\x0d\x0c\x98\x5c\xc8\xab\x40\xe3\x04\xb2\x33\xa9\x88\xd5\x18\x2d\x82\x24\x09\xc9\xcd\xd5\x26\xdf\x44\xc9\x6c\x8a\x09\x6d\x5d\x16\x84\x09\xd3\x9b\x0f\x8c\x54\x35\x07\xa0\x8b\x27\xf5\x06\xf8\x37\x31\x87\x6b\xdb\xc2\xb0\xb8\xb5\xa1\x29\x3f\x0d\x1d\x48\x60\x90\x26\x7c\x8b\x6c\x90\x40\x7d\x4b\xef\xa8\xe7\x53\x7c\x4f\x1c\x0a\xe7\x5b\xe6\xae\x79\x41\x55\x75\xa7\x58\xb5\x05\xc3\x3c\x0f\x65\xe5\x2a\xa6\xd0\xcc\x15\xbe\x5f\x9e\xbe\x51\xfc\xbf\xb5\xa6\x97\x6e\x51\x8d\x47\x6c\x7c\x9f\x7e\x69\x34\x56\xde\xfb\x9a\x8f\x6a\xb8\xf9\x88\x86\xb7\x1f\x45\x71\x73\xaf\xb1\x57\xdf\x5b\x7d\xcf\xde\xda\x78\x4c\xf3\x5b\xaa\x61\x2b\x9f\xa3\x70\x17\x84\x88\x6f\x05\x22\x06\xaf\x82\x8e\xe7\x02\x84\x3b\x3c\xde\x27\x21\x19\xf3\xbf\xc1\x6d\x26\xc4\x0d\x47\x27\xe1\x17\xfe\xe8\xb3\x98\x97\x9c\x4f\xf5\xf9\x7e\x03\x38\x12\x77\x1a\x0e\x15\x01\x71\xc4\xc2\x35\x5c\xca\xcf\xd9\x1d\x8b\x32\x5d\x18\x9e\xe3\xaf\xf9\x57\x1e\x7a\xdf\xdb\x31\x06\xa0\x51\x48\x00\x01\xb1\xdd\x1b\x6e\xe3\x2d\x00\x61\xcf\x6d\xfa\x19\x26\x6b\x0c\x42\x3b\xfa\x7d\xe4\xdd\xb1\xa0\x2a\x58\xa1\xb2\x2b\x8a\x67\xd2\xaa\x38\x5e\xbc\x18\xf1\xd8\x1f\xed\x8f\xfb\xf3\x74\x89\x43\x6e\x38\xd4\xcf\x09\xc2\xaf\x1f\x3c\xb5\xae\x7a\xb9\x8e\x37\x3f\x4c\x1f\x0f\xb5\x16\x87\xc3\xa4\x97\x03\xb7\xd6\x63\xdf\x66\x2c\x16\x00\xf1\xe8\xb3\x04\xa9\xa1\xce\x56\xcb\xae\x99\x26\xed\x3f\x0b\x86\x9a\xda\xe1\x8a\x8a\x99\xda\x64\x16\xad\x1e\xb1\x11\x4f\x9f\x46\xd9\xf3\x25\x5d\x9e\x86\xd4\x25\xa7\x9d\xc3\x18\xba\x39\x5d\xa5\x17\x42\x10\x6e\x24\x05\xb7\x4d\x63\x72\xe7\x45\xc9\x8c\xfa\xd8\x5e\x78\xc7\x22\x9f\xce\xbd\x60\x24\xdf\x57\xd4\x5c\x7b\x43\x42\x83\x39\xe4\x94\xa6\x51\x36\x07\x1f\xa7\xfb\xdb\x0a\x9c\x12\x48\x36\xc9\xdc\x17\x60\xeb\xed\x6b\xae\x8a\xdc\x5c\x6d\x35\xeb\x06\xcc\x33\x82\xcf\xa0\xd7\x0c\x42\xb8\x18\xab\xcd\xfe\x22\xe3\xa4\xd4\x04\x05\x1a\xbc\x6f\xcc\x9a\x1b\x66\x4d\x65\x68\x94\x1e\x08\xba\x8e\xf5\x55\x7a\x88\xe4\xdb\x4a\x70\x31\x8b\x03\xf9\x74\x00\x9f\x19\xce\x57\x14\x97\xf9\x14\x8c\x93\xc2\x36\x80\x01\x65\xed\xc4\xb8\x7a\x74\xdf\x5f\x40\x46\xae\xb3\x6c\x36\x6a\xf4\xcf\xc2\x95\x79\x32\x4b\x36\xff\xb9\xa4\x64\xd8\x92\x87\x1e\x24\x41\xd9\xcd\x05\x85\xb0\x41\x34\x1a\xe5\x39\x05\x83\x79\xd8\x48\x07\x8f\xd9\xdf\xb8\x56\xaf\x5c\x05\xc5\x82\x7c\x4c\x1a\x38\xd8\xae\x56\x58\xf7\x18\xe2\xc6\x57\x5e\x8f\x8d\xe0\x2a\x01\x87\xc6\x41\xbe\xcf\x69\xf4\x54\x4c\x26\x89\x14\x87\x81\xbf\x57\xe1\x54\x62\xb2\xd5\x3f\x93\x5f\x52\x90\x6e\xf5\xcf\x55\xd2\xa8\x57\xc8\x5a\x83\xbc\x52\x8f\x9e\xba\xf2\x01\x9a\xcb\x45\xfd\x46\xb6\x7e\x43\xd6\x27\x66\x03\x99\x99\xbd\xb9\xc2\xb1\xe3\xb8\xcb\x8a\xb2\xaa\xd5\xcf\x22\x4c\x04\x85\x03\x50\xc7\xb7\xc1\x1c\x44\xde\x8c\x4b\x2c\x62\xbc\x3f\x6e\x1e\x7f\x89\x96\x64\x93\x46\xd4\x44\xc3\x5f\xd5\x0b\x48\x8f\x39\x09\x0d\x46\x33\x9f\x46\x22\x8f\xe0\x61\xa7\xdd\x6e\xf5\x5a\x95\x47\xf5\xfd\x9f\x4b\xfa\x06\x68\x63\x21\xeb\x65\xae\x00\xd4\xfa\x1f\xfa\x95\x9c\x86\xe2\xa7\x82\x1b\x43\x0f\x7f\x0e\x1f\xe3\xc5\x63\x41\xa4\x4a\x32\xa1\x81\x37\x55\xf1\x6e\xf0\xe2\xe2\x26\xbc\x4e\x55\xe2\x70\xf0\x7f\xd9\x43\xc2\x82\xd8\x0b\x83\xf8\x91\xab\x32\x59\xe6\xf9\x8d\xef\x5d\x2b\xcc\x66\x8f\xcf\xe6\xe3\x3a\xff\xcf\x25\xbd\xf7\x57\x8f\x60\x7d\xa4\x35\x64\x85\x8e\xf9\x06\xea\x05\xa3\xb5\x01\x67\xf1\x1d\xbf\x2b\xca\xbc\x2f\x07\x37\x69\x4d\x64\xb5\x5e\xc9\x52\x66\xe3\x32\xcd\x08\x70\x5e\x63\xb3\x3f\x80\x9d\xcd\x87\x37\xa1\xd1\xc8\x0b\xb2\xa3\x3b\x7b\xf2\xe8\x66\x4b\xf6\x85\x70\x3a\x2f\xd8\x07\x7a\xad\xaa\xb0\x7a\x20\x64\xf7\x63\xc5\xe8\x6e\x59\x26\x53\x30\xae\x1d\x79\x3e\x3f\xd2\x04\x09\x42\xb1\xec\x1c\xf5\x1e\xd9\xdb\xaf\xa5\xfb\x65\xd3\x88\x17\x10\x95\x0c\xf4\x52\x1b\x79\x60\xa1\x74\xde\x5e\x5d\xb6\x7a\x4f\xbc\x8f\x3c\x2c\x93\x5c\x38\xc1\xd5\x7a\x95\xdb\x71\x87\x6f\x10\xe2\x12\xd6\x6a\x77\x1e\x39\xe6\x1f\x97\xf4\x7a\xe4\x01\x9a\x76\xce\xdc\x1e\xf5\x5a\x95\xaa\x8d\x66\xff\xb8\xb9\x5d\xd2\xf3\x5d\xf2\x25\xf1\x7c\x06\x90\x68\x65\xaa\x6d\x00\xe7\xad\x8b\x31\x75\x6e\xa1\xcf\xeb\xe0\x9c\x25\xaf\xa9\x73\x0b\x3e\x73\xe5\x98\x31\x22\x7c\x70\x03\x96\xf0\x52\xf7\xde\xad\x57\x73\xc2\x09\xba\xe0\xde\x18\x4d\x0e\xe5\xd6\xe3\x05\xc3\x50\x81\x26\xdb\x57\xa3\x21\x8d\x70\x2b\x86\x2b\x0f\x29\x03\xee\x02\xa1\x64\xe4\xcf\xa7\x63\x20\x00\xc3\x10\xe1\xef\xdc\xb5\xfc\xfd\xe9\x68\x01\x12\x2c\x40\x3b\x1c\x2d\xbe\x5b\xa4\xaf\x16\x46\x6c\x59\xdf\xa2\xbb\x2c\x92\x46\xa2\xe4\xa2\xfb\x22\x7e\x83\x88\x9a\x95\xda\x72\xc7\xb2\x66\x3a\x31\x7f\xee\x3b\x4c\x06\xd4\x97\x73\xff\x10\x31\xee\xd2\x43\x68\x7c\x5e\x0a\x57\xb3\xbe\x0e\xa9\x8b\xc5\x38\xf2\xa2\xe3\x96\xf4\x29\x75\x34\x1b\xe2\x05\xf7\x10\x69\x29\x45\xb3\x2a\xa6\xc3\xee\xb4\x3b\xa7\xbd\xa7\x2d\xe6\x5f\xc5\xd4\x2f\x09\xc1\xcf\x5d\x59\x1d\xb9\xb2\xea\x4f\x5c\x59\x4b\xba\x16\x3b\x89\x1c\x71\xe7\x0e\x5c\x3b\x61\x03\x39\xed\x3c\x75\xb8\xff\x58\x6d\xeb\x94\x9d\xea\x27\x05\x30\xe1\x9c\x5e\x3e\xb5\xdf\xdf\x16\xf7\x2b\x70\x67\xd0\x22\x8c\x83\xec\xb6\xff\xd0\xbe\x45\x7e\x5f\xf6\xde\x02\x38\x2f\x97\x24\xb6\x7a\x3d\xfc\x83\xbd\xfe\x4f\x7e\xaf\x7c\x75\x5f\x5c\xf7\xda\x1d\x72\xd4\x3d\xed\xbc\xc2\x02\xeb\x5f\xe3\x75\xf8\xe5\xcb\x5d\xf2\x45\x5d\xf9\xbe\x4c\xe8\xb4\xf6\x35\xe6\x55\xf8\x89\x8d\xde\xb7\x65\xa7\x42\x9a\xf5\x46\x13\x1e\x2f\xda\xe3\x28\x9c\x78\xb3\x09\xb9\xe8\x93\xd6\x2c\x19\x87\x51\x5c\x83\x8c\x46\x50\x36\x06\x73\x5f\x74\xc7\x67\x62\x7d\x9d\x5c\xc7\x0c\xb5\x35\x2f\x26\x22\x6d\x83\x23\x4c\x9d\xa3\xf0\x8e\x45\x01\x6e\xd7\x94\x1c\xf4\x0f\xd7\xd0\xde\xe3\x7b\x0e\x0b\x62\xe1\x98\xec\xd0\x80\x0c\x18\x6f\x69\x08\xce\x03\x02\xb3\xf8\xb4\xdb\xee\x9c\xf7\x3b\x64\xe8\xf9\xac\xf6\xec\x59\x69\x16\x63\x56\x5b\x27\x29\xed\x3d\x7b\xe6\x7b\x83\x5a\x94\xb8\x6c\x5a\x2e\x01\x78\x03\xc0\x91\x67\x22\xea\x26\x74\x4a\xc2\xc1\x57\xe6\xa8\xc4\x14\x7f\x87\xfd\x8e\xfc\x03\x3f\xfd\x1d\x46\x7b\x7c\xca\x0b\x4e\xf9\x52\x07\xe5\xdb\x0b\xa6\xb3\xc4\xc4\xc0\x4c\x42\x12\xce\x12\xfb\x43\xf5\xda\x03\x2d\xf4\x54\x0b\x12\x62\x95\xce\x92\x70\x42\x21\x6a\xda\x9f\x13\x27\x62\x34\x47\x72\x8d\x2c\x37\xe6\xe9\x10\xd0\x09\xab\x92\x91\x3f\xa1\x53\x01\xa1\xca\x07\x46\xf8\x8a\x1d\x87\x51\x82\x08\xfb\x68\xa6\xf6\x62\x3b\x91\x4d\x95\x1f\x8f\xc3\x99\x0f\x5f\xbb\x6c\x30\x1b\x8d\x04\x28\x3c\xef\x59\x6c\x93\x50\x7f\x1f\x9a\x01\x53\x94\x6a\x9e\x8f\x45\xb9\x19\x27\x21\x71\x20\x0c\x39\x94\x7e\xd8\x5e\x0c\x1c\xf5\xf8\x0d\x21\x4e\xa8\xef\x33\x98\x2d\x48\xea\x60\xb6\x0f\x59\x1b\x94\x8b\xf3\x1f\x6d\xbd\x97\x6e\xbd\x67\xb6\xce\x4f\x08\xe4\x94\x3e\x06\xd0\xa0\x8c\x9f\x5a\x5a\xf1\xbf\xed\xec\xd7\xa6\x51\x98\x84\xc9\x7c\x2a\xd2\x0a\x99\xd2\x60\xca\xc1\xba\x42\x02\x4f\x2c\xd2\x6b\x92\x39\x50\x98\xec\xa3\xf0\x28\x38\xd9\x91\x7f\xcb\xe6\x31\xd9\x27\x17\xb8\x18\xf8\x5f\x65\x5d\xbe\x52\x9b\xd0\x69\x59\x75\x78\xcb\x8c\x3c\xce\xd2\x09\xfb\xd7\x5f\x1f\x4a\xe4\x85\x40\x4a\xf9\x3e\xa5\x2e\x2f\x56\xe3\x1c\x69\x87\x2e\x6b\x25\xe5\x7a\xa5\x96\x84\xe2\x2d\xa7\xb1\xad\xd2\x2b\xa3\x0b\xb3\xe8\x2b\x02\xb1\x63\xf7\xa4\xc7\x46\x9d\x87\x69\xb9\x04\xaf\x6d\x48\x9d\xc0\x40\x47\x08\xf4\xcf\xa5\x2a\x29\x8d\x44\x8e\x01\xd8\xa7\x26\xd3\x59\x22\x46\xdd\x33\x47\x0d\x48\x72\xf8\x38\x24\xd1\x79\x31\xd1\x88\xc4\xbe\xe4\x42\x06\xa3\x87\x70\xb0\x64\xcc\xbc\x88\x9c\xf5\x0f\x44\x52\x19\x41\x59\x84\x5c\xfb\x07\x66\x82\x16\x04\x0d\xc3\xa8\x43\x9d\x71\xd9\x98\x09\x8b\x35\xc0\xd9\xe8\x96\xcd\xc9\xbe\x48\x24\x5f\xe3\x12\xd4\x16\x3c\xc1\xe2\x36\x8b\xc8\xdf\x48\xfd\x61\xa7\x5e\xb1\x52\x60\x43\xef\x9f\xa0\xa5\xcf\xf2\x2d\x13\xe6\xe5\x13\xb4\x20\xf2\x5e\xfd\x5e\x1b\x78\x01\x02\xf9\x56\x74\xee\x05\xa8\x95\x3f\xb3\xd1\x5f\x34\xb3\x55\x91\xcd\x21\x35\xb9\x51\xc1\xe4\x46\x8b\x27\x57\x6f\x18\x8a\xca\x38\x51\xc9\x18\x04\x8d\x71\x12\xd5\x22\x36\xf5\xa9\xc3\xca\x4a\x94\x0a\x31\x2f\x55\x43\xce\xb8\x42\xfe\x21\xdb\x30\xd8\xea\x8c\x3f\xa7\xd9\x69\xf3\xd7\xa0\xac\xf7\x58\xca\xa2\x27\x52\x16\xad\x48\x99\x09\x36\x60\xee\x5b\x02\xb9\xdb\x15\x00\x5c\x00\x84\xa8\x36\xac\x2a\xde\x9a\x5c\x36\x65\x01\x80\xf6\xc8\xd0\x6f\xf0\x26\x80\x27\xd0\xab\x6c\x5e\xd4\xa2\xcd\x6a\x42\xa7\xb1\x5c\x2d\x82\x14\x84\xd1\x39\x4e\x43\x01\xf1\x95\x0a\x7b\xa5\xb8\x8d\xdd\x25\x8d\x7a\xbd\x16\xb0\x64\xdd\x0d\x9d\x78\xfd\x2e\x69\x36\xeb\x6b\xd1\x64\x3d\xe1\xaa\x77\x73\x6d\xb3\x36\x4e\x26\xfe\x92\x9e\x65\x46\x18\x2e\x6a\xb9\xa5\xca\xc0\xfe\x92\xc0\x25\x2a\x55\x95\xc4\x97\x7e\x7d\xd8\xae\x97\x5e\x95\x7e\x9d\x35\xb7\x9c\xed\x52\x15\x76\x8f\xff\x26\x6b\x3f\x13\xd7\xa3\x93\x30\x70\x8d\x72\x0d\x51\x6e\xb7\x29\xca\x51\x5e\x6e\x14\xb1\xf9\xda\x20\x7c\x30\x0a\x36\xb1\xe0\x66\x7d\x57\x14\x1c\xf0\x82\xe3\xf5\xc4\x28\xb3\x21\xcb\x38\xa2\x8c\xc3\xcb\x0c\xd7\x87\x46\x99\x4d\x59\xc6\x15\x65\x5c\x5e\xc6\x59\x8f\x8c\x32\x5b\xb2\x0c\x15\x65\x18\x2f\xe3\x5b\xed\x6c\x43\x99\x7a\x7d\x50\x17\x65\x86\x30\x40\x36\x8a\x18\x33\x8a\xbd\x94\xc5\x1a\xa2\xd8\x88\x17\x7b\xb1\xbe\x66\x94\xd9\x11\xdd\x35\x37\x45\x99\x31\x2f\x13\xac\xfb\x46\x99\x5d\x49\xd2\x40\x94\xf1\x78\x99\x3b\x6b\xf8\x54\xf0\xb2\xb1\x23\xca\x7c\xe5\x65\xd0\x0d\x7d\x0d\x54\x4a\xa3\xf0\x40\x16\x96\xf4\xdf\xf2\xc2\x49\x38\xcd\x94\x74\x44\x49\xc5\x55\x5f\x96\xf4\xd9\xd0\x2c\xe8\xca\x26\xe5\x38\x26\x46\xff\xa9\xb2\x4c\x94\xdd\x90\x8d\x06\xc0\x62\x2f\x60\x6b\x10\x5a\x6f\x14\x1d\x62\xd1\x8d\x81\x9c\x8d\x90\x17\x8d\x1d\x1a\x34\x74\xa9\x97\x75\x59\x4a\x32\x68\x2a\x4b\x6d\x18\xa5\xa4\xb8\xd5\xe5\xa8\xbf\xc9\x52\x5b\x46\xa9\xa6\x6c\x4b\x12\x17\xc9\x52\x2f\x8d\x52\x1b\xb2\x94\x94\xa4\x58\x96\xda\x35\x4a\x6d\x4a\xa6\xc8\xb6\x12\x18\x28\x1b\x26\x6b\x89\x29\x29\x2f\x85\xd0\x6d\x29\x29\x98\xf1\x82\x30\x19\xa9\x92\xdb\x92\x77\xb2\xe4\x9d\xc1\x67\xbb\xe8\x4b\xd9\xa8\xec\xfd\x5e\xce\x9d\x5d\x6e\x47\xf2\x45\x2e\xc3\x07\x10\x2f\x81\x47\xb4\x86\x29\x47\x54\x69\x21\x8c\xcd\x6d\x49\xc0\x1c\xc7\x14\xc7\x6b\xec\xdb\x8c\x1a\x72\xfb\x92\xca\xa2\x5b\xa2\xe8\x77\xb1\xbe\x69\xc2\xa2\x4c\x69\x14\xca\xfa\x86\x23\xa7\xe7\x1f\xbc\xf4\xd4\x33\x8a\x38\xb2\x41\x59\xe4\x37\x58\x2c\x61\x92\x69\xcc\x15\x4b\x8f\x6e\x88\x92\xbf\x03\x9b\x22\x2f\xf1\xe2\xf1\xda\x94\x5f\x82\x8c\xd2\x4c\x2e\xd4\x97\xa2\xf4\xff\xc0\x7a\x0e\x13\x7d\x04\xcb\x54\x93\xd8\xc2\x93\x77\xdf\xad\xd5\x76\xdf\xd6\x4a\xbb\xaf\x18\x8e\xbd\xfb\x36\x37\x4a\xaf\x88\x3d\xf6\xff\xc8\x1f\xbb\x39\xae\xeb\x3e\x81\x4c\xc1\x7c\x38\x55\x12\x84\x12\xc5\x64\xd9\x11\x25\x61\xfa\x97\x91\x3a\x8b\x4b\x55\x74\x18\x37\x2e\xef\xb3\xc4\x79\x3a\x27\xb7\x57\xe3\xe4\xe6\x4a\xe4\xb9\x9c\x94\xa7\xf0\x51\x97\xdf\xac\xcb\xf2\x03\x26\xca\xff\x9d\x97\xdf\x58\xdf\x34\x4a\x6d\x0d\x44\xa9\xc6\x86\x5c\x6d\x9f\x78\xa9\x92\xf7\xb5\x44\x7c\x6f\x04\x2f\x33\xa4\x8c\x0e\x47\xa3\x90\xc5\x08\x9b\xc7\x9b\x1d\x0e\x7f\xa9\x18\x0d\x39\xaa\x3b\xb9\x05\xfd\xca\x1b\x6a\xac\x37\x8d\x42\xae\x2c\xf4\x52\xee\x01\x9f\xcd\xb5\x4d\x06\x34\x7a\x66\x2f\x41\x31\xe4\x1d\x73\x0d\x26\xf7\x21\x5f\x0c\xb1\xbd\x12\xb1\xe4\xf6\xb6\xb9\x14\x87\xf6\x12\x14\x04\x3a\xe6\x1a\x6c\xac\x6f\xda\x2b\x4f\x14\xda\x34\x97\x1e\x75\x66\x22\x48\xca\x14\x52\x91\xa5\xfa\xc9\x22\xf3\x72\x35\x91\x69\xa7\xb0\x9d\xb2\x25\xb6\x56\x12\xaa\x21\x92\x6b\x8b\x95\x12\x80\xba\xb3\x69\x09\x40\xab\x44\x66\x13\x9f\xce\x92\xbc\x39\x76\xb7\xcd\x39\x2e\x5d\xe4\x94\x55\xec\x76\xb6\xcc\xa9\xe6\xed\x46\xe0\x62\xa4\x4a\x2a\x9e\xbb\x8e\xc9\xf3\xd2\x4c\xb5\x6a\xeb\x72\x58\x98\xed\x9a\xca\x5c\x89\x95\xc4\x24\xe5\x89\x0f\xdb\x34\xc5\xa7\x44\xb3\xe4\x6a\x01\x1a\x5a\x02\x54\x0a\x73\xca\xaa\xa1\xb1\x2d\x53\x92\x78\xbb\xf6\xd0\xb4\x38\x0d\x8b\x86\x96\x91\x29\x4c\x6b\xfe\x54\x91\xda\x59\x4d\xa4\x7a\xab\x09\x0c\xd0\xf2\x67\x6d\x43\xac\x6e\x6e\x43\x9c\x59\xa3\x88\xde\xb1\xbc\xcd\x48\x2b\xb2\x9f\x50\xef\xb0\xe4\x45\x4d\x15\x7b\x69\x49\xa1\x53\x22\x0e\x73\x3d\xdf\xa7\x79\x62\x48\x5f\x9a\x62\x18\x0b\xf7\x97\x78\x3e\x19\x84\x3e\x29\xbb\xe1\x6c\xe0\x33\x12\x57\xf2\xe5\x67\xd7\x92\x1f\x25\x6b\x79\xe2\xb3\x6b\x89\xcf\x4c\x8e\x32\x4f\x7a\x76\x2c\xe9\x61\xd9\xa2\x2c\xb3\xff\x81\xf8\x2c\x16\x1d\x99\x11\xff\xc9\x32\xb4\xbb\x9a\x0c\xbd\x7d\x84\x0c\x11\x47\x10\x65\x0b\xd3\xd3\x84\x83\xd9\x27\x15\x2d\x11\xc7\x8b\x9c\xd9\x64\xe8\xb3\x87\x3f\x2c\x26\x8c\x5a\xbb\x15\x2b\x68\x5c\xcd\x0c\x93\x87\xeb\x7f\xe1\xb1\x69\x95\xcf\xdb\xb7\x86\x9b\xd6\xbe\x15\x16\x54\xf8\x37\x12\xbe\xe1\x20\xbd\x77\xa5\x58\x62\x0a\xe1\x31\x8b\x26\x7f\x40\xf6\x1a\xf5\xd5\x84\xef\x64\x35\x73\x00\x10\x53\x24\x73\x6a\x47\xf8\xfb\xaa\x3b\xc2\x5f\x7f\x58\xba\x96\x5e\x54\xba\xce\x39\x02\xff\xfa\x63\x6d\x68\x29\x48\xa9\xc3\x2a\x25\x1c\xee\xd0\x14\x0e\x16\x7f\x67\x49\x76\x67\x02\x64\xc0\x3f\x22\x15\x8d\xd5\xa4\xe2\xc3\x4a\x52\xe1\x21\x35\x7f\xd6\xb9\xf6\x47\xc4\xe8\x2f\x38\xe7\xd4\x76\xf1\xb9\x48\x2f\x32\xf6\x22\x5b\x87\x9a\x65\x77\x5d\x43\xd8\xea\x69\x61\x4b\x6f\x18\x5a\xd6\x9a\x69\x59\xfb\x33\xb6\x21\x66\xab\x50\x9e\x59\xd4\x14\xb6\xf3\x30\xba\x67\x23\x8f\x06\xeb\x87\xf4\x0f\xa9\xe7\x8d\xe6\x6a\x52\xd7\x59\xaa\x9f\x6f\xaf\x24\x97\x81\x22\xdc\xa5\x59\x45\x5d\x0b\x9c\xda\x7b\xfe\x9e\xda\x7b\x72\x37\xaa\x6d\x7b\xa3\xea\xe8\x6b\x5d\xee\x5e\xb5\x93\xde\xab\xe2\x24\x0a\x6f\xd9\x9f\xa4\xd8\xff\x57\xe1\xae\x66\x28\xf6\xf6\x01\x49\x17\x6f\x81\xdb\xb6\x54\xb2\xbc\xe1\x19\x92\xb9\x93\x96\xcc\xf4\xf0\xfe\x52\xe5\xbe\x3f\xfd\x83\x12\xb9\xb1\x9a\x44\x7e\x5c\x49\xde\xe2\x69\x8e\x98\xfd\x6b\xf6\x41\xda\xb0\xa4\xf4\x87\x12\x82\xa2\x26\xcc\xcd\x15\xd2\x86\x25\xa4\xe7\x25\x92\x78\xbe\x9b\x2b\xa3\x83\xa1\x25\xa3\xbf\x18\x0d\xe7\x89\xd3\xc0\xda\xe4\x52\xf3\xad\xa5\xa8\x61\x49\x51\x90\xe9\xdf\x10\xa2\x97\x96\x10\xa5\xb6\x6e\x4b\x36\xee\x99\xfb\x87\x64\x63\xc5\x87\x94\x97\x4b\x77\xab\xd7\xab\x49\x0f\xd2\x5b\xb8\x49\xed\x5a\x9b\x54\x27\x7b\x0c\xfd\x5b\x5a\x1e\x56\xda\xa0\xfe\x77\x5a\x1e\xfa\xf7\x5e\x1c\x3f\x5d\xfc\x56\xb4\x24\xef\xaf\x28\x5c\x5e\x1c\x17\x6d\x4c\x4a\x6b\xf9\x8f\x22\xad\xe5\x89\xf7\xca\x5d\x4b\x0c\xb3\x17\xad\x7f\x87\x2b\xa5\x2e\x3f\xcc\xe8\x50\x5f\x6c\x1d\xea\xcf\xb9\x7d\xfe\x1b\xdc\x31\x56\xba\x80\x82\x77\x18\x43\x67\xb4\x1a\x75\xdd\x72\x09\xdd\xe1\xe8\xcc\xf5\xc2\xf5\x01\xf3\xfd\x52\x95\x94\xf0\xaf\x70\x34\xda\x1b\xd0\x98\x6d\x6f\x96\xaa\xcf\x4a\x57\x4d\x37\xb8\xbe\x6f\xb5\x5b\xea\xe7\x70\xfc\xed\xdd\xd6\x09\xfc\x7a\x76\x74\xd7\xf9\xfa\xe1\xe0\xf5\xe8\xa8\x39\xd8\x78\xe3\xd1\xf7\x67\x58\xe4\x43\xfb\xa5\x2a\xfe\xda\x39\xc0\x5f\xda\x9b\x25\xf2\xe2\x59\xa9\x75\xbd\x1b\x7c\x6c\x9c\xb5\xcc\x9f\x4d\xea\xcf\xfa\xa3\x0e\xfc\xce\xe2\xee\x46\xa7\xbd\xb1\x9e\xf9\xd9\xb9\x3d\x74\x27\xbb\xf3\x0f\x13\xff\xfb\xeb\xb7\xad\x56\xeb\x68\x3c\x85\x06\x9d\xe3\xd1\xec\x6a\xe3\x4d\xd0\x3d\x7e\x98\x7e\xf0\x3f\xde\x39\x93\x37\x53\x67\x7e\xf0\xa6\x7b\xd8\xbd\x3f\x3b\xbc\xbd\x3f\xff\xde\xda\xc2\x6e\x3a\x47\xb2\x81\x93\xeb\x37\x87\x37\xa3\x0e\x0e\xeb\xf0\xe8\xac\x7b\xf6\xae\x55\x7f\x73\x70\x83\x14\xb6\x5a\x6f\x5b\xad\x83\xd1\x9b\xf6\xed\xc5\x6d\xf3\xe3\x9b\x13\xfa\xee\x3a\xec\x8f\xb7\x26\x6f\x7a\xdd\x7e\x7f\xe2\xfb\x67\xd7\xf7\xde\x47\xef\xda\x73\xae\x3f\x7c\xd8\xbc\x7f\x78\x18\x8f\xbf\x7e\x3d\x7c\x7d\x7c\x7c\x7c\x71\xd6\x3d\xec\xdd\x1e\xf1\xda\xad\x76\xeb\xa4\x35\xb9\x80\x06\xc3\x17\x1f\xdf\xd0\x78\x73\xeb\xe3\xc3\x28\xf8\x1a\x9c\x8c\x2e\xde\xf9\x17\x17\x27\xce\xe8\x60\x73\xda\xdb\x3c\xbc\x7d\x73\x7f\x77\x3d\xf9\xd0\xdc\x9e\x24\x27\x1f\xa3\x41\xbc\x39\x7d\xf3\x76\x74\xfe\xee\xed\x75\xab\xd5\xea\xb6\xde\x76\x46\xe3\x71\xaf\xd7\xef\xb7\x8f\x8f\x8e\x8e\x4f\xba\xd0\x60\xf7\xc3\x87\x0f\x1f\xc2\xd1\x78\xfc\xf0\x30\x9f\xb7\x8f\x83\xe0\x75\xf7\xe4\xe4\x9b\x37\x1a\x8d\xc2\xf9\xbc\xdd\x3e\xbc\x3a\x3c\x9d\x4e\xdf\x9c\x5f\x5c\xcc\x26\x61\xb8\xb9\xb9\xbd\xed\x79\xf5\x7a\xa7\x7b\x7a\x3a\xb8\xea\xf7\x6f\xef\x1f\x1a\x37\x1f\xbf\x46\x51\xfd\xf8\xfd\xfb\x87\xef\xd0\xe0\xf7\xaf\x41\x10\xbc\xbe\xbc\xb8\x60\xcc\x71\x76\x36\xdf\xbc\xbd\x3d\x7f\xd7\x7a\xdb\x1a\x71\xa6\xbd\x1d\x7d\xf8\xf8\xf1\xe0\xa0\xdd\xe6\x14\x1c\x9d\x74\x4f\x28\xfd\xe0\xf0\x8e\xba\x87\x6f\x6f\x8f\xae\x5b\x9c\x89\x23\xe0\xef\xc1\xeb\xdb\x5e\xef\x0d\x34\x18\xf7\xae\x4e\xe3\xde\xf7\xf3\x7a\xbf\x77\xb9\xe3\x3d\xf4\x3a\xdf\xdf\xf7\xce\xea\x37\x57\x37\x9d\xc6\x0d\xff\x71\x6f\x1a\xef\xdd\xc9\xfb\xf7\x6e\xc0\xff\x6b\x7c\x9c\x74\x6f\x06\xb3\xd7\x8d\x8f\xb3\xee\xcd\xa0\xd9\xbd\x71\x77\x37\x6f\xc6\xc7\xdd\x8f\xf0\x1f\x34\xc8\x7f\x79\xf1\x7a\x63\xb8\xbb\xc1\xff\xab\x8f\xce\x8f\xdf\xde\xb4\xda\xad\x83\xd6\x49\xeb\xeb\xc5\xc7\xc1\xd7\x13\xda\xf5\x8e\xbf\x9d\x7a\x17\xb4\x7b\x38\xee\xd2\xb8\x35\x3a\xb8\xe5\xd4\xb7\xda\xad\x37\xb7\x5e\x77\x7a\xfb\xed\xfc\xcd\x74\xf2\xf1\x5b\x34\x99\x0c\xa0\xc1\x64\xe2\x45\xc9\x64\xe3\x34\xf6\xbe\x9f\xc6\xa3\x79\x67\xfc\xed\x9e\x4b\xc3\x01\x4c\x3e\xff\x39\x39\x98\x4e\xbe\x7d\xcc\xff\x6f\xf2\xf1\xa3\x3f\xb9\x51\xff\x41\x83\xe6\x07\x45\xff\xbd\x3d\xfe\xda\x3d\x19\x1d\xb4\x5a\xa3\x83\xd6\xc3\x46\xc7\x79\xd8\xe8\xdc\xf6\x6e\xba\xb7\x0f\x1b\xdd\xf8\xe0\x1e\x67\x7d\xde\x6a\xb5\xa0\x41\x3e\xba\x6b\xef\xfb\x91\xf3\xb5\xf7\xda\xf9\x7e\xf5\xda\xf9\xfe\xfd\xb5\xf3\xfd\xe1\xb5\xdb\xb9\x7a\xe3\x77\xbe\x9f\xef\x76\xee\x2f\xdb\xad\xc6\xc7\x03\x4e\xf0\xa8\xd5\x45\xb2\x0f\x5a\x67\xbd\xef\x47\x4e\xef\xfb\x1b\xce\xfb\x6b\x6f\xe3\xca\xf9\x7a\xf3\x1e\x57\xca\xf7\x8d\xf7\x4e\x7d\xe3\x3d\x67\xfe\xcd\x63\x7e\x3e\xbc\xc6\x99\xe6\xac\x69\x1f\xbb\x1f\xa7\x1f\xbf\x41\x83\xa3\xd6\xe8\xfb\xed\x71\x07\x27\x03\xfb\xff\x10\xbe\x1d\x1f\x1e\xb6\xa4\x00\xbf\x6d\xb5\xba\xde\x78\xab\xdd\xa6\xf5\x37\xd1\xf7\xef\x57\xb7\x17\x93\xd9\xbb\xd1\xb7\x5e\x7f\x50\xdf\x39\x7e\x73\xf3\x26\x0e\x66\x74\xf2\x61\xb2\x71\x89\x2b\x85\xcb\xdf\xe0\x6c\xf3\xe3\xe6\xd6\xc3\xf7\xef\x5e\x70\x32\x71\xde\x8d\x26\x6e\x9b\x3a\x3b\x5b\x6f\x0e\xdf\x7c\xf3\xc3\x37\xc1\xdb\x49\x70\x79\xc1\x7a\x27\x83\x83\xed\xe6\xb4\x3e\x9d\x7e\xff\x3e\x0e\x82\xa0\xf5\xf2\xf8\xf8\xdd\xb1\xe3\xec\x6c\x4d\xeb\xd3\xf0\xf5\x37\xd7\xff\x00\x0d\xf2\x96\xdf\xb9\x6d\xba\xf5\xcd\xdb\x3a\x7a\x93\x7c\xff\x1e\x4e\xae\x27\x73\xd6\x98\xdd\xf4\x07\xce\xce\xe6\xd6\x16\xef\x48\x08\xff\xb7\x9b\x6d\xe7\x7b\xdc\xd9\xda\xfc\xf8\xf0\xfd\x7b\x18\xd0\x49\x73\xb6\xd5\xbe\x69\x3a\xce\xce\xcb\xad\x8f\x6f\xbe\xcf\x70\xa5\xbc\x0d\xc6\xc6\x4a\xc1\x06\x46\x7e\xfb\x6d\xe3\xc3\x41\x0b\x76\xb0\xde\xb8\x79\xf0\xf5\x38\xf8\xd0\x1d\x0d\x3f\x6c\x1e\x7f\x18\xbf\x1d\x4f\xbd\xe3\xab\xd7\x41\xff\xf2\x70\x7a\x31\x3a\x73\x46\xd3\xe9\xc1\xf6\xf9\xd7\xdb\x8f\x27\xd0\xe0\xb7\x0f\xe7\x6f\xaf\xc7\xb7\xc1\xf4\x7d\xbf\xcd\xb7\x20\x98\xcb\x56\xbb\xd3\x39\x7a\xd3\xed\x7e\xb8\xbe\xbe\xbe\x55\x1b\xc0\xf1\xf1\xf1\x49\xb7\x4b\x99\xe3\x8c\xc2\x6f\xdf\x4e\xfa\x7d\xcf\x8b\x4e\x4e\x4e\x2f\xcf\xce\xe2\x38\x8e\x77\xee\xe7\xd0\xe0\x7c\xfb\xfb\xe1\xf7\xaf\x51\x14\x9f\x9d\xbd\x7d\x7b\x7f\xff\x90\x9c\xbf\x39\x39\x3d\x7c\x7f\x73\x33\xb9\x38\x4f\x18\x65\xce\xf6\xe6\x56\xff\x78\xe6\x27\xee\x47\x7a\xb2\xfd\xee\xfa\xfa\x36\x9c\x4e\xfb\xad\xfa\xc7\x03\xb1\xe3\xb4\x0f\x6e\x6f\x3b\x9d\xe3\xe3\x0f\xd7\xd7\xd0\x20\x50\x30\x1d\xcf\xe7\xde\x24\x08\xbb\xdd\x93\xb4\xcc\xed\xb4\xaf\x2e\x3b\xbd\x8d\x5e\xea\xbf\xcb\x9d\xde\x43\xaf\xe3\xdd\xf4\x3a\xde\xfb\xde\x99\xd7\xb8\x3a\xfb\xde\xc0\x0d\xf6\xe6\xe8\xe6\xbd\x3b\x69\x7c\xf4\x37\xde\x0f\x92\xcd\x1b\xb7\xf9\xfa\xfd\xb0\xb1\xb1\x31\x6c\x6c\x36\x86\x47\x9b\x1f\xfd\x77\x1f\xb3\xff\xb5\xc5\x8e\x0d\x3d\x76\xba\xdd\xee\x87\xb7\xc0\x1a\x68\x70\xfc\xb1\xe7\x7d\x3d\x7c\xfd\x3a\xe8\x9e\x5f\xbc\x1d\x4d\x0e\x14\x1f\xc5\x9a\xe8\x6d\x74\xae\x1f\xb6\x3a\xce\xfc\x63\xe7\xb6\xff\xb2\x7b\x7b\xe5\x76\xe3\xef\xc3\x6e\xfd\x6a\xfd\xac\x5e\xef\x9d\xff\x5f\x4a\xde\xab\xe5\x79\xb6\x39\x17\xde\xcf\xaf\x78\xf6\x5e\x3e\x9c\x7c\x56\xb7\x1d\x58\x1b\xa7\x7a\xef\x7d\x4f\xc5\x56\xef\x5d\xbf\x7e\x61\xeb\x7e\x42\x42\x02\xeb\xcd\x05\x86\x0b\x79\x38\xe6\x2c\xd3\x8e\x19\x61\xd6\xb1\x4d\xd5\xd9\xdd\x14\x32\x5d\xf8\x07\x08\xed\x61\xed\x9c\x61\x0a\x9d\x6e\x0d\xc1\x6e\x0d\xfb\x61\x8d\xc4\x61\xed\x3d\xd2\x97\x17\x87\x2f\xf4\x9e\xfe\xd7\xcf\x2b\x85\xff\x84\xfe\x0c\x18\x54\x26\x9c\x8d\x25\x14\x8d\x25\x94\x7f\x52\x00\x06\x15\x16\x29\x58\xdc\x08\x04\x10\xfe\xbc\x94\xca\x24\xe1\x51\x68\x02\x56\x5a\xa1\x50\x79\xa1\xd0\xbc\xc3\xb0\x2d\xc2\xa1\x6f\xc2\x47\x3f\x44\x82\x74\x85\xb1\x9f\x13\x31\x7f\x52\x68\x16\x09\x43\x7b\x19\xb6\x30\xb4\x85\x30\xb6\x85\x80\x75\x45\x18\xf6\x45\x38\x0c\x4b\x24\x4e\xc7\xf0\x18\x97\xff\xcd\xa7\x22\xbb\xcb\x6c\xa8\x0e\x18\xbf\x84\x93\x1e\xe2\xef\xe3\x5a\x22\xe3\x1e\x22\x48\x04\xda\xad\x58\xa0\x64\xbf\x23\xdd\x68\x26\x31\x60\xa1\xda\x1f\xc2\x64\x7f\x94\x3f\x67\xa8\xbc\x20\x5b\x79\xb9\xbe\xc9\xb2\x5b\xa6\xfe\x00\xff\xce\x60\x7f\x97\x0e\x9b\x08\x14\xeb\xc1\x24\x67\xca\x54\x8e\x2b\xcc\xb0\x2b\xc0\xb0\x2b\xcc\xae\x6b\xbc\xfe\x5f\x01\xe8\x32\x9b\xff\xf4\x07\xdb\xa6\x0a\x9d\x16\x09\x89\xd4\xf7\xa6\xbf\x47\x5a\x1a\x46\x10\xe6\x24\x25\x25\x3d\x49\xc5\x25\x1c\x50\x34\xdf\x88\xc0\xcb\x35\x23\xca\x77\xb2\x60\xfa\x1d\x9c\x34\x5d\xa9\x42\x6b\x19\x3f\x40\xc3\x4a\x5e\x8b\x28\xe0\xdb\x76\x9e\x18\x2b\x74\xac\x63\x2a\x19\x06\xd5\x2a\x86\x65\x74\x22\x35\x3e\xd3\xd6\x1a\xc8\xbf\xbe\xcd\x00\x96\xf9\x6e\x66\x3f\x68\x9e\xe1\x78\x59\xb3\x92\x26\x33\x15\x6c\xa7\x42\xc4\x39\xe8\xea\xba\x94\x3e\xd4\x2d\xcb\xaa\xe6\x3a\xcf\x4e\xc9\xf2\x1a\xa6\xd1\xcb\x56\xd2\x2d\x2b\x69\xaa\x9a\xcc\xe5\xa2\x47\x2a\xa6\xd1\xc4\xd1\xf8\x39\x39\xff\xb5\x4f\x8a\xe0\x8d\x8a\x74\x48\xe3\xeb\x52\x9c\xa0\x38\x59\xd7\xe7\xa1\x69\x5d\xd1\xa6\x68\x9b\x8a\x95\x25\xe5\xed\x24\x4e\xd5\xe1\x3d\xbe\xdb\x67\x59\x09\x7c\x60\x4b\x8a\x11\xa5\xd9\x0e\xfa\xde\xdc\xed\xb3\x68\x79\x5e\xb0\x15\xe3\xed\x25\xd9\x8b\x24\xbf\xe5\x99\xa0\x7c\xad\x8c\x06\x46\x91\x41\x21\xe3\x5c\x39\x85\xa1\x12\x80\xf1\xa0\x3a\x71\x05\xb2\x76\xa3\xb6\x76\x95\x3d\x77\xb3\x86\x77\x55\x85\x71\x07\x3a\x6d\x03\x76\x5c\xd3\x3d\x76\xd5\x85\x5d\xd3\x45\xf6\x50\x75\xe3\xa0\xb6\x4d\x55\xb5\x3f\xa6\xe3\x9a\x2a\xeb\x9a\xae\x0b\xe1\xe1\x75\xcb\x6e\xec\xce\xe7\x69\xd6\x88\x6b\xba\xa8\x19\xba\x70\x1c\xd6\xc8\x1e\xde\x5c\x3c\x84\xd1\x53\x55\xbd\xef\xb3\xf4\x0b\xe2\xc2\x30\x1e\xbe\xfc\x57\x38\xfb\x61\xf6\x1f\x8a\x6c\xd3\xbc\x14\x9d\xe1\x75\xcb\xf0\x23\x80\x1d\xdf\x74\x1d\xd7\xad\x3d\xd7\x74\x3d\x3f\xac\xbd\x4f\xea\xba\xaf\xf0\x65\xed\x5f\x61\x55\x45\x4c\xd7\x75\xe3\xd0\x45\x3e\xee\xec\x86\xe1\x0b\xf3\x4d\xd7\x77\xd3\x1a\xf9\xa4\xae\x67\x86\x37\xef\xf5\x66\xb1\x4f\xf8\xba\x5c\xcf\xcc\x7f\x2b\x80\x5f\x2e\xfc\x15\x0e\xd2\xb0\x0e\xe2\x14\x46\x8f\xbc\x6f\x9a\x7a\xe8\x86\x62\x68\x8a\x62\x18\x86\x66\x98\x1b\x64\x18\x07\x38\xee\x96\x62\xe8\x86\x51\x9a\x9a\xf7\x30\x0e\xa7\x34\x0d\xb7\x71\x6c\xce\xf1\x72\xbd\xa2\x18\xc6\xa1\x18\xa6\xe2\x18\x86\xe2\x18\xa7\xe1\x7c\x0c\xc5\x39\xce\x43\x31\x2c\x03\x2a\x4d\x23\x15\x8f\xc3\x3a\xce\xcb\x53\xde\x8e\x73\x5c\x5a\x6a\x18\x07\x62\x9c\x96\x4b\x6e\x19\xd0\x71\x6f\xf9\x71\x29\xc9\xe7\x65\x36\x45\x2b\xf7\xc3\x3a\x2c\x43\x43\x2c\xcd\x63\x5c\x5a\x5e\x99\x1b\x28\xe9\x88\x71\x58\x8b\x51\xde\x46\x5a\x9a\x96\xfb\xb8\x14\x37\x28\xb5\x58\xd3\xf5\xfd\xb4\x66\xd1\xd2\x45\xdc\xf0\x85\xc0\x9f\x14\xc7\xe3\x17\xe6\x1d\xb1\xbd\xdc\x7f\x80\xe3\x67\x95\x92\xf7\x42\x40\x6b\x86\x9f\xc8\x33\x59\xe2\x70\xe6\x65\x75\xe1\x1e\xb7\xf9\xf6\x8c\x4f\xe9\x7c\xe5\x9a\x40\xd4\x21\x3e\x20\x71\x34\x0c\x63\xb8\x0c\xc3\x6d\x39\xe2\x62\xa5\x47\x6d\xa6\x1c\xd7\x7d\xf9\xa1\x5b\xa3\x67\x9a\x5e\xbe\x6c\xa6\x0b\x7a\xbe\x35\xef\xf5\x56\xbb\x61\x1c\x96\x62\x94\xd7\xef\xaa\x4a\x3e\xd9\x9b\x67\xb2\x9c\x20\xf1\xd3\x09\x29\xeb\xd5\x6f\x63\x69\xa6\x50\xb8\x3c\xf4\x44\x3c\x91\x35\xde\x5b\xfe\xa1\x2d\x3a\x92\x46\xda\x4a\x83\x96\xff\x01\x96\xdb\xd7\x03\x98\x9f\x07\x30\xcf\x1e\x74\x16\x33\x82\x0e\x60\xc0\x00\x9c\xf0\x4e\x1c\x67\x07\xc3\x6e\x91\x10\xc3\xca\x83\x20\x99\x8e\x62\x04\x79\x02\xe1\xd2\x6e\x1e\x8e\xc3\xf4\x83\x10\xda\x8e\x34\x05\x99\x2b\xe0\x57\xc1\x79\x88\x87\xcd\x54\x7d\x27\x85\xb6\xe5\x64\xef\xbc\x77\x49\x29\x22\x38\x07\xae\xc5\x71\x8a\x62\x27\x58\xa0\xac\x27\x43\x29\xb2\x10\x07\xaa\xfb\x61\x48\x62\xc7\xeb\x36\x33\xd8\xc1\x81\x13\x66\x75\x56\x95\xd8\xc7\x86\x67\x35\xd5\x7c\x15\x4b\x10\x2e\xe1\x04\x55\xd1\x95\x28\xf5\x91\xe1\x58\x50\x37\xbb\xd3\x2e\x1e\x11\x55\x42\x15\x2b\x0c\x91\x61\x39\x50\xd3\xcf\x3f\x45\x5e\xc5\x56\xb3\xa4\xc4\x81\xe3\x21\xd8\x0e\xe7\xfb\x57\x51\xc5\xd4\xb3\x28\x25\xc1\x9f\x34\x8a\x40\xf3\xde\x77\xe5\x5e\x90\xd5\x59\xb5\x62\x2b\x2a\xd6\x57\x5b\xad\x8a\x11\x1e\x16\xce\x57\x51\x13\x68\x96\x55\x0d\x73\x1d\x8a\xd6\x29\x1e\xf6\x4f\x51\xa0\x69\x56\x55\xf5\x73\x2f\x4a\xb6\xc4\x39\x70\xd5\x5f\x95\xc3\x14\xb8\x96\xd7\x6c\x3b\xdc\xef\x56\x4c\x7b\xdf\x6d\x89\x52\x12\x59\x56\xb3\xcd\x7b\xdd\xc7\xb6\xec\xc2\x0c\xdb\xc9\xd7\xb6\x9a\x79\x76\xc3\x31\x1a\x50\xce\x61\xfa\x51\x8c\x9c\xc0\x82\x86\x7d\x36\xc3\x31\x2e\xf9\xe6\xaa\xb1\xab\xbe\x1f\x23\xc3\xf2\xa0\xa6\xdf\xcd\x30\x2e\x0b\x94\x6b\x6a\x75\x54\xa3\xd8\x8b\x1a\x6c\xc7\xf3\x3e\x8e\x6d\xd4\x6b\x5a\x55\x1a\xd3\xd8\x71\xba\xef\x8e\xfa\x32\x8e\x51\xb7\x69\xd7\x55\x90\xae\xf3\xab\x55\xb1\xf8\x01\x46\x05\xca\xc1\x8d\x34\x77\xa1\xed\x59\xc5\xb0\xd7\xa1\x18\xc5\x34\xdf\x20\xf5\xa0\x68\xa1\x6d\x05\x55\xd3\xef\xa1\x68\x95\xd4\x57\xd1\x3c\x2d\x51\xe4\x45\xcd\xb6\xe3\x7d\x6f\x15\x0f\xbf\x41\x5a\x75\x52\x3f\xb1\xe3\x0d\xdb\x75\x29\x7b\xdf\xdb\xd6\xc3\xf7\xbc\x56\xd3\x97\x8f\xeb\x01\x40\x83\x0c\x28\xc0\x10\x80\x18\x46\xb4\x51\x89\x0e\xf8\x05\x52\x86\x13\x9c\x09\x17\x23\x93\x3c\x4e\xba\x1a\x28\x47\x56\x34\xeb\xdd\x27\xd5\x4e\x49\x56\xed\x9e\x0c\x73\x31\x29\x31\xf6\xbf\xa7\xdb\xef\x69\x80\x53\x94\x57\xb3\xd5\x34\xc8\x89\xeb\x45\x47\xd5\x7f\xcf\x46\x36\x00\xe8\xfe\x04\x52\xb2\x42\xc4\xdd\x60\x24\xda\xad\x44\xc0\x18\xdf\x67\x9c\xf0\x35\x4c\x10\x84\xbd\x59\xd0\x57\xe5\x40\x16\x15\xcb\x29\x86\x30\x38\xc1\xd7\x84\x7a\xd3\x2c\xbf\xb7\xcd\xf1\x8a\x66\x14\x5d\x18\x3c\x71\x52\xa2\x1a\xc6\x61\xba\x41\x0a\x1c\xc3\xaa\xaa\xba\x37\xbe\x75\x4a\x97\x7c\x33\x7c\xac\x52\x8e\x47\x1e\x19\x24\x82\x3f\x6c\xd4\x01\xce\x97\x8d\x7e\x75\x29\x41\x90\xa5\xac\x71\x48\x39\xc7\xd8\x4c\xd7\x0e\x01\x63\x78\xd9\x32\xa7\x69\x68\x45\x84\xcf\x9e\x6c\x3f\x8c\xb1\x1d\x18\xa0\x98\xf3\x34\x38\xac\xc3\xe7\x60\xb6\x6f\xc6\xc4\x0a\xbc\x62\xba\x52\x00\xd0\x4e\x00\x0c\x7a\xda\x18\xa1\x53\x39\xa3\x06\x22\xe0\x01\x03\x82\x6e\x37\xcb\xb3\xac\x5b\x86\x93\x15\xed\x9d\x25\x2a\xc8\x76\x3c\x3f\x18\xba\x18\xb9\x56\x50\x34\x23\xcb\xdc\xef\xea\x29\x8a\x63\x4e\xba\xfa\x56\x60\x7f\xd2\xe8\x12\x24\xf9\x97\x20\x4a\x1c\xcd\x30\x82\xd0\x87\xb6\x65\x18\x59\x9e\xb3\xa2\x44\x58\x14\xc3\x30\x42\xdf\xfb\x86\x61\x64\x45\x5e\xb3\xc2\x37\x37\x0d\xbf\xbd\xca\xa4\x19\xf2\x1a\x55\x45\xe4\x37\xc5\x52\x80\xaf\xfe\xac\x50\x00\xbb\x55\x56\x7c\x17\x9a\x9c\x94\x04\x59\x2d\x8a\xd6\x77\x75\x0c\xd3\x8b\x83\x2f\x28\x46\x51\xf5\xbb\x1b\xe0\x24\xc1\x39\x35\x3b\x4e\x82\x68\x7f\x1d\x01\x4e\x73\x52\x8a\x2c\x94\xf3\x2a\x55\x1a\x13\x37\x88\x08\xec\xaa\x0f\xfb\x34\x2c\x46\xda\xf7\x61\x76\x50\xe6\x77\x14\x45\x50\xf7\xf5\x90\xf1\x8c\x2b\x00\xd4\x8d\x25\x37\x6a\x03\xfb\xcc\xaa\x45\x12\x50\x56\x07\x85\x94\x03\x2a\x90\x80\x8c\xa2\x2a\x96\xd3\xbe\xe7\xee\x04\x5d\xb7\xe3\xf8\x7e\xdd\x32\x45\xb5\x6c\xc3\xeb\x9a\x14\x05\xc1\xc5\x02\xbe\x05\xe8\x97\x46\x68\x8a\xf2\x87\x19\xec\x7d\xfe\xa3\x16\xfc\xdf\x6c\x01\xfb\xaf\x74\xe3\x6f\x06\xf1\x03\xbc\x68\x44\x05\x00\xd5\x6f\xdf\xdc\x3d\xb1\x6c\x95\x60\x92\xd9\x31\xdf\xb2\x57\x00\xc3\xb7\xde\x26\x59\x2f\xe8\xb6\x7d\xcf\xb3\x98\xfa\xd3\x6f\x50\x9c\xc0\xba\x9e\xe5\x65\xfc\xe7\xd9\x0f\x50\x49\xa2\xe0\xef\x2f\xfe\x6e\x4e\x28\x49\xf0\xdf\x1a\x16\xff\xcc\xb3\x2b\x38\xb0\xf3\x38\xc6\xbe\xe7\x35\xcb\xfc\xa5\x0e\x11\x81\xc0\x70\xdd\x8f\xa3\x41\x82\x75\xeb\x78\xa0\x3f\x79\x0e\xbe\xee\x93\x3a\xb6\xdf\x19\x32\x00\x03\x80\x2c\xe9\x86\xd7\x34\xcd\x08\xd2\x5c\x08\x7a\x42\xb2\x98\x1f\xe0\xd7\x84\x3a\x47\x95\x34\x2b\xab\x73\x96\x94\x24\xab\x3e\xed\xaa\x97\xfa\xc8\x72\xbc\x6a\x08\x13\x58\xb4\xa4\xc2\xab\xeb\xfa\x9b\x02\x6c\xc7\xab\xba\x9f\x62\xf2\xf0\x6a\xb8\x16\x87\xef\x62\xb4\xac\xa8\x67\xd5\x8c\xae\x68\x43\x20\x30\xc2\xb0\x82\x14\xf9\x9e\xd7\x4d\xf3\x5e\x93\x92\x35\x20\x30\xc2\x49\x8a\x1a\x84\x96\xd3\x0c\xf3\x9e\xe6\xc5\x48\x73\x15\x54\x8b\x93\xfc\xdd\x26\x71\xe4\xb5\x1a\x46\xd1\xf9\xdd\xfa\x34\x4b\xb1\xef\x05\xdd\x71\xb1\x80\xaf\x89\x58\x51\x03\xc3\x8d\x24\xab\x69\x18\x51\x1b\x9d\xc5\x2d\x00\x19\x53\x6c\x49\x10\xb9\xbd\xac\x53\xd0\xfb\x8f\xf1\x52\x0c\x09\x80\x49\x5d\x56\xa0\x18\x46\x96\xe5\xce\xd7\x64\x08\xea\xe7\x14\x57\xdf\xc6\x31\x25\xe5\x1d\x24\xe9\xd5\x4e\x61\x4a\x9a\x6f\x3b\xe1\x12\xce\x45\xb0\xe3\xf9\x0e\x31\x17\xb9\x31\xb4\x25\xf9\xdb\xab\x18\xa7\x1a\x5b\x9e\x37\x7e\x72\x35\x4b\x52\x5f\xaf\xba\xca\x39\x46\x10\xba\xc0\xb4\xac\xa2\x4a\xbf\xc2\xd2\x4f\xb8\xeb\xc5\xe0\x2b\xdc\xd4\x35\x2b\x4a\x52\xe4\x31\x97\x9c\x61\x59\x45\x53\xd7\x3f\xd0\x3f\xbc\x2f\x34\xac\x0b\x54\xbc\x72\x8a\x14\x7d\xbf\x10\x84\x2e\x34\x8d\x9f\x30\x2b\x4a\xdf\x95\x5e\xc2\xa6\x65\x65\x55\xfe\xbb\xac\xe8\x02\x10\xfe\x06\xfd\x29\x72\xbe\x25\x32\x4d\x6e\x14\x00\x94\x7e\xd1\x0a\x51\xd2\x25\xa1\xd9\x20\x2c\x11\x68\x87\x2b\x05\x2b\xa3\x00\x0d\x00\x48\xd2\x7c\x20\x8e\xd6\x3b\x28\x9a\x6d\x05\xcb\xb3\x30\xcb\x48\x72\xb2\x90\x73\xd6\x2a\xca\x9a\x9f\x3c\x57\xe0\x12\x27\x80\x43\x63\xef\x4d\xd3\x76\x9a\xf5\x02\x6c\x39\x49\x71\x9c\x5b\x1a\x40\xdd\xbe\x11\x87\xe3\x56\x5d\x57\x05\xb2\x95\x0c\x07\x9c\x4e\x1b\xf9\x25\x29\x14\x00\x1b\x43\x31\x67\xe6\x00\x92\x25\x4b\xe1\xbb\xaa\x1c\x18\x3d\x90\xa8\x6d\x53\xc1\xee\x03\x83\xc1\x49\xe1\xe2\xcb\x54\xb6\x49\x3b\x66\x9e\x50\x53\xd1\x80\xa4\x98\x03\x1c\x66\xc1\x66\x0a\x93\x6b\x43\x16\x89\x85\x96\x91\x81\xcf\xd1\x02\x89\x01\xa5\x0c\x10\xa8\xd8\xd6\x4e\x99\x00\xeb\xa7\x3b\x2c\x08\x46\x46\x52\x9c\xb0\x1b\x8c\x53\x09\xd4\x15\x1c\x18\x04\xc7\xb0\x0c\xd6\x17\x85\x11\xb5\xca\xab\xe9\xec\xa2\xa1\x18\x00\x80\xcf\x00\xa8\x32\x28\x13\x0a\x29\xd2\x02\x4c\x2b\xb7\x9b\xc1\x88\x8c\x59\xe5\x92\xcd\xe0\x7f\x3a\x4f\x32\x20\x33\xf0\x04\x19\x65\xb0\x3f\xc0\x42\x28\x84\xb0\x23\xca\xed\xa6\xd0\xff\x21\x0b\x8c\xfa\x3f\xb7\x50\x29\xf0\x47\x0b\xb8\xc8\x22\x05\x72\x3d\x44\x52\x1b\x00\x23\xd0\xb6\x3f\xdf\x68\xdc\xd5\x32\x8d\xab\xee\xc7\xca\x9a\xe4\x81\xd1\x66\x76\xa8\xa5\x42\xbc\x6c\x70\x6a\x76\xf5\xc0\xd2\x56\x5e\xe2\xf7\x36\xc5\x51\xd6\x84\x85\xda\x63\x29\x24\xc5\x13\xb3\x5b\xc1\x5d\x40\x7d\xc7\xde\xc4\xac\x7a\x87\x69\x0b\xf3\x01\x76\x76\xe5\x0f\x10\x45\xef\xc3\x8b\x66\xe7\x15\x75\x0a\xf8\x5e\x36\xfb\xa3\xa6\x9c\x59\x9f\xe1\xe7\x7d\x0a\x3e\x2f\xa5\xca\xc0\x04\x38\x93\x4c\xd1\x4c\xe1\x74\x6c\x72\x6e\x03\xa5\x07\xe4\xf1\x72\x47\x80\x06\x83\xd8\x4d\x1e\xea\x21\xf7\xf7\x07\x2e\x2e\xbe\x7c\x5f\xd0\x24\x7b\x86\xdc\x1d\x7f\x94\xce\xad\xd7\x9b\x98\x63\x44\x27\xab\x3e\x6d\x24\xa0\x2f\x3a\xd6\x87\x3d\x4d\xc3\x3e\x8f\x15\xb3\xa1\x12\x7c\x94\xea\xca\x51\xaa\x63\x7f\x16\x42\xb7\x64\x78\x2a\xae\xb0\x16\xf0\xaf\x08\x7f\x25\xb7\x6b\x85\xdc\x7b\x1d\x92\x47\x88\xf8\x6c\x4a\x97\xf2\x7d\xe0\xcf\xd9\xfc\x94\x1e\xe3\xed\xe2\x3d\x2a\xb8\xf7\x59\x76\xf9\xf2\xe2\x27\x2a\x4c\x0d\x52\x8a\x0b\x1e\x72\x67\xe7\x8e\x36\x4f\xbc\xa6\x39\xc4\xbe\xdf\xf6\x2a\x4c\x82\xd6\xbf\x31\x17\x60\x34\x9c\xeb\x7d\xb7\x33\xad\xb3\x59\xee\xb6\x3f\x2c\x75\x30\x30\xf5\xd6\x01\x40\x5a\xfb\xe2\xfa\xdb\xe3\x21\xa6\x78\xdc\x34\x76\xb3\x88\x51\xe5\x3f\x70\xe8\xc5\xf3\x50\xc5\x05\xd2\x0a\x4c\xbd\xdf\x3e\x9a\x05\xf4\xc3\xd2\x41\x82\x5c\x66\x53\xb5\x6f\x7a\x23\x11\x7e\x03\x40\xac\x0d\x3a\x90\x70\xfc\x49\xa8\x8f\x17\x27\x52\xe5\x8e\xdd\x7a\x22\xa2\x9d\x14\x79\xf8\xd6\x6a\x1e\xbe\x2c\x56\x02\x85\x07\x21\x5c\xca\x2b\x5e\xf7\x5a\x1e\xda\x27\x34\xdd\xe8\xa6\x65\xe1\xf4\xaa\xbe\xfa\x79\x6c\x15\xc2\xa1\x33\xc1\x83\x61\x3f\x7f\x26\xbc\x9d\x42\x77\xab\x89\x33\x0d\xa4\x7b\x72\x78\x9b\xf2\x65\x9c\x63\x88\x7e\x54\xeb\x13\xc6\xa7\x54\x04\xa3\x84\xdd\x66\x7d\x98\x5b\xc5\x95\xb5\xb7\xa7\x71\x48\xe5\xae\x4e\x70\x6d\xb9\x47\x74\xf1\x9e\x57\x54\x8d\x47\xac\xa9\x61\xb6\xcc\x05\x7a\x98\x08\x0e\xba\x06\x0a\x9c\x77\xb9\x85\x95\x3c\x5b\xb7\x87\x77\x47\x6c\x5c\x7c\x54\xdc\x64\xe5\xbe\x67\x3f\x55\x08\x77\x6f\x28\x75\xe7\xf4\x41\x84\x8d\xd4\x2b\x26\x4e\xbf\x02\x2c\x73\xf2\x83\x2f\x58\xa4\x2e\x14\xad\x47\x3b\xf3\x43\x78\x8b\xeb\xfd\x83\x6b\xf3\x49\xee\xbd\x7d\x86\xa1\x71\xa3\x02\x26\xe7\xfd\xcf\xc0\x61\x11\x20\x8d\xba\x78\x20\x9c\x98\xab\x58\x27\xae\xb7\xdc\x4f\x40\x0f\xc4\x2f\x77\xf0\x7e\x80\x4f\x0e\x19\x23\xe0\x63\xaa\x93\x00\xb2\x75\xe7\xc7\x83\x3a\x43\x40\xde\xe4\x89\x4f\xdc\xf7\xcd\xc0\xf2\x9b\x41\xc2\x5b\x7e\x0f\x47\xd1\xd6\x77\x8b\x4c\x85\x67\x93\xd9\x6f\x90\xda\x93\xa1\x75\xac\xc3\xb4\xd9\x8b\xe4\x13\x57\xcf\xf7\x1f\xa0\x65\x9a\x41\x25\x79\xa1\xe8\x6b\x6c\xa0\x13\x2e\x06\x98\xb1\xe8\xc5\x8e\x29\xfd\x0c\x20\x9b\x68\x86\xbc\xc5\xec\x8d\x48\x37\x4f\x16\x02\x44\xc6\xf8\x53\x86\x47\x58\x38\x01\x59\x98\x47\x85\x7c\xdc\x3e\xf9\xc3\x91\xe4\x35\xf0\x2e\x46\x9f\xce\x13\xbd\xb1\x1f\xb8\x39\x83\xd3\x82\xd9\x27\xa2\xc2\x39\xa2\x1d\x33\xf2\x7e\x10\x24\x6c\xa4\x16\x64\x81\xc9\x28\x32\x59\x57\xb4\x4c\xb4\x5e\xa2\x49\x3d\x72\xd6\x07\x44\xe5\x4c\x32\xab\x4a\x34\x9e\x00\x3c\xb1\xcd\x35\xb3\xae\x1e\xac\x9e\xa0\x6c\xfd\x7a\xed\x1e\x6a\xd8\xc5\x5d\xe1\xcd\x27\xcd\x34\x84\xd7\xae\x91\x6b\x00\x7b\x33\x07\x53\x2a\x8f\xcd\x78\x91\xe3\x98\x2f\x99\x89\x00\xc9\x9e\x74\xe3\x6d\x24\xd5\x08\xb4\x8c\xd6\xf2\xd8\x66\xac\x63\xf4\x0d\x1c\xa2\x7e\x80\x95\xda\xfb\xe9\xec\x95\xde\xc3\x43\xee\xa8\x53\xbe\x7d\xd4\x79\xe1\x99\x90\x46\xf5\xc7\x04\x1d\x68\x06\x87\x29\xb6\x1e\x47\x73\x2a\x4d\xa8\xad\xce\xb0\xc7\x27\x89\x3f\x67\xdd\x18\x0a\xc8\x22\xb2\xca\x1f\xc9\xed\x93\xd0\x19\x7b\xbb\xec\xf0\xb3\xd1\xfe\xe7\x7c\x67\xb2\x9e\xc8\x81\x38\x01\x20\x1a\x60\xb4\xfd\xb2\xcd\xef\x8b\xcf\x1d\xe8\x0a\xf3\x15\xda\xbb\xc4\x1d\x9d\xf1\x71\xf1\x9e\xf0\x87\xe8\xc7\x4f\xac\x20\x06\xea\xa9\xee\xf1\x7a\x92\x9b\x33\xc7\xd4\x96\xb3\xf9\x55\x1f\x7a\x8b\xfe\x5e\x09\xed\x7d\xc7\xc2\x88\x35\x9c\x24\x93\x46\x77\xc2\xd2\xf7\xe7\xcc\x61\x1b\xd0\x00\xa6\x99\x1c\x8f\x51\xb7\xa6\x23\x86\xda\xf0\xf8\x16\xeb\x9f\x4a\xea\x26\x74\x16\xc0\xf2\x46\x57\x31\xd4\x8a\x1c\xcd\x22\xb4\x26\xae\x68\x83\xea\xd6\x47\xa8\x46\x79\x85\x74\x60\x3d\x09\x5d\x4f\xe5\x47\xf6\xec\x12\x44\x9a\xdf\x2a\x2b\x49\xa7\x64\xbe\x73\x6d\x45\x32\xb1\x63\x65\x52\xf7\x9b\xc8\x5f\x75\xd2\x10\xe4\x4c\xec\x5a\x28\x8e\x3d\x72\x3a\xc7\x20\x0c\x82\x8d\x79\x5c\xf4\xb6\x46\xca\xdb\x6a\xa7\xce\xc3\xed\x2b\x04\x96\x0b\x07\x32\xa2\x52\xaf\x8e\x0d\x00\x7e\x88\x1d\x0a\xba\x07\x53\xa0\xa5\x31\xf6\x26\x48\xad\x7f\x30\x50\x42\x15\x10\x06\xba\xbb\x9d\xd1\xcf\xd0\x05\x4a\x91\x12\xf9\x1d\x3c\x85\x37\xf9\x03\x54\xab\x9e\xb8\xef\x13\x00\x54\xc8\xc8\x4c\x20\x54\xb7\x63\x15\x08\xe3\x84\x55\x95\xa8\x85\xcf\x4c\xde\x09\x41\xf1\x4a\x4f\x54\xb5\x41\xb7\x95\x77\x0a\x9a\x23\x2a\x09\x66\x82\x0c\xb2\xaa\xc5\xbe\xb0\x3c\x8f\x6f\x0d\x84\xea\x82\x6b\xfc\xc1\x79\xa0\x99\x6f\x50\x26\x1b\x24\x2b\x51\x64\xdb\x23\x86\xe3\x18\xe1\x1d\x9e\xf3\x39\xa4\x49\xd1\xe9\x59\x2f\x78\x22\x27\x8a\x75\x49\x37\x92\x04\xd2\xf9\x8f\x81\xc4\x0f\xa8\xd3\xc1\x7a\xff\x74\x3b\x8f\xe0\x9b\xdb\x64\x02\xff\xb9\xc2\xd7\xce\x6a\xe3\xb3\x7e\x87\x09\x39\xc0\xd2\x8e\x86\x2b\x35\xbc\xc8\x2c\x22\xd0\x17\xd8\x17\x7e\xd1\x55\xf9\xfe\x80\x03\x8a\xc5\x98\x63\x13\xfb\x81\x67\x81\x4f\xf8\x2c\x34\x95\x6e\xbc\x00\xb5\x5d\xd7\x54\x4e\xc6\xe5\x13\x6c\x9a\x72\x35\x31\x0a\x3a\x22\x0a\x80\x11\x4f\x10\x00\x40\x12\x8d\x4a\x2a\x7e\x92\xd9\xf4\x93\xb7\xcc\x41\xc4\xd6\xed\x49\x95\xa0\xa6\x18\x1d\x50\xc0\xaa\xfd\x3b\xd0\x37\x5d\x13\xa5\xfa\xb5\x7f\xd3\xa8\xde\xb4\xef\x15\x79\x7b\x3d\x8a\xfa\xd9\x95\xe8\x37\x94\x5e\x3f\x27\xd1\x1c\x5c\x85\x76\x87\xfe\x0c\x6c\x69\xa2\xb4\xf5\x04\x19\x90\x8d\x02\xea\xe0\x84\x50\xcf\x09\xd1\x10\x3d\x43\x72\x0c\x50\x82\x08\x32\xc0\xe9\x50\xa4\xb6\xf8\x0e\x91\x74\xe6\x7e\xf8\xc7\x82\xd8\xf3\xf1\xb9\x12\x7d\x62\x0a\x4b\x00\x0e\x23\x27\xd9\x7b\xbd\x5a\x26\x98\xe7\x0c\x10\xb6\x1e\x7b\x21\x78\x65\x91\x33\x86\x1e\x70\x18\x00\x6e\xf4\x8e\x3d\x0c\xf4\x3e\x3e\x1f\xfc\xee\x38\x43\xd8\x90\x10\xd9\x38\x8b\x52\x77\x25\x5b\xf2\x33\x9c\xd1\xd7\x70\xa1\x6d\xd7\xc5\x7f\x2a\x42\x33\x95\xd6\x80\x7b\xd5\x69\x9d\x9c\x45\x20\x1a\x23\xd4\xda\xf2\xf1\xbc\xf7\xb9\x7b\xfd\x4a\xb0\x64\x46\x67\xa2\x5b\xcf\x1f\x9f\x0d\x66\x15\x80\x76\x70\xa0\xdd\xe8\x68\x28\x90\x0b\xbf\xc3\x13\x16\x37\x2e\xf2\x88\x51\x6d\x00\xcf\xa4\x0c\xaa\x90\xd2\x00\x09\xf2\xb8\xba\x03\xe5\x76\x07\x9b\x45\x51\x69\xed\x01\x00\x94\x84\x2d\xad\x47\xb7\xc5\x4f\xce\xa5\xcf\xf5\x4d\x17\xe1\x7a\xb6\xf1\x8c\xcc\x2c\x16\xcb\x78\x97\xaa\x70\x20\xd5\xcf\xa7\x7d\x51\x33\x06\x90\x54\xb8\x2e\x9f\xe1\x15\x50\x36\x39\x2b\x9b\x0b\x0c\x87\x01\x1b\x37\xab\xf5\x7c\x5a\x11\xbf\x02\x3a\xa0\x50\x7b\x97\xdd\x72\x28\x4c\x70\xd3\x42\xa0\xe4\x67\x32\x30\x99\x99\x00\x6d\xeb\xa8\x6c\x4d\xed\x7d\xb2\x79\xf9\x22\x8f\x0c\x4b\xdc\x3a\x2d\x46\x6e\x3a\x10\x9e\x49\xa1\x1b\x89\x9f\x3d\x7a\x2d\xb8\xc9\xe5\x6e\x58\x2b\xf2\x29\x1b\x76\x29\x51\x2c\xe3\xb6\x13\x85\xa1\x7b\xcc\x49\xc4\x89\xee\x99\xfd\x7c\x3e\xde\x5d\xe3\x39\x32\x13\xd1\x29\x84\x6d\xfc\xfb\x9a\xeb\x05\x7b\x5a\x26\x99\x8b\x58\xfb\x6a\x6d\x2d\xe4\x76\xa1\x2f\x9a\x43\x65\x52\x38\xb0\x8c\x7b\xb3\xb8\x1d\x70\x26\xff\x01\x32\x60\x28\xa4\x1a\xb9\x1b\x00\x35\x20\xcd\xdd\xbe\xc3\x7a\xf3\x19\xe4\xc1\x32\x55\x3a\xce\xfd\x18\xba\x7c\x39\x7e\x8f\x3d\x89\xc6\x2f\xac\xec\x17\x8f\x09\x4b\x92\xa2\x11\x2d\x49\x7d\xb6\xa7\x24\x26\xa3\xe8\x4f\xc2\xea\xca\xf6\x04\x00\xd0\xce\x66\x63\x75\xeb\x34\x38\x54\x37\xdb\xd8\x2b\x4a\xae\x1b\x82\x54\x12\x0b\xc4\x3c\x3f\x23\xb2\x5e\x4c\x8a\x6c\x33\x45\x4d\x85\x7a\x0c\xa7\x22\x2b\xa3\xbc\x2e\x97\x94\x00\xac\x9b\xdd\xe6\xd3\xdf\x9c\xd6\x97\x51\x5b\x94\xfb\xa8\x8c\x3c\x09\x60\xee\x6f\xd0\x5e\xb0\x9f\x41\xcc\x24\x10\x42\x4f\x7f\x9c\x2d\x34\xdd\x67\x43\x0d\x92\xab\x9c\xd3\xd7\x80\xe1\x9e\x54\xbd\x8e\x86\x29\x66\xe4\xbb\xcf\xb7\x56\xf5\xc4\x72\xe6\x86\xa6\x27\x5c\x46\xb7\x56\xf2\xfd\x60\xc8\xc2\x41\x87\x4c\x8c\x0d\xb0\xd1\x98\xfc\x7e\xca\x40\xa1\x95\x9c\x8f\x55\x00\x40\x9d\x49\xb7\x99\x9d\xf0\x2b\x1e\xde\x82\x43\x4c\x5e\x07\xd5\x8a\x11\x3a\xee\xb2\xbe\xd4\x5c\xbb\x6f\x93\xef\xbe\xd8\xa9\x42\x2a\x4c\x2f\x26\x0a\xf0\xd4\x93\xad\xb6\x98\x63\x5e\x99\xf8\xeb\x92\xb4\x47\x35\x95\x10\x95\xb2\x4a\x28\xcb\x59\x77\x3e\x95\x1b\xfb\x67\xbe\x5c\x6c\x01\x99\x09\xfb\xed\xe4\x0b\x8a\x04\x12\xa8\x49\x49\xed\x59\x78\xd2\x5e\x62\xef\x26\x07\x53\xbc\xa2\x11\xc6\x83\x9a\xcf\xc6\x65\xc6\x3f\xba\xd8\x56\xa9\x48\xac\xcc\x16\xea\x07\xe0\x0d\x52\x60\x68\x67\xac\x95\x84\x04\xe0\x6a\x48\x22\x12\xb0\x20\x63\xb8\x89\x9b\x39\x31\x18\x10\xc3\x59\x69\x01\x4d\x70\xad\x16\x6c\x41\xad\x09\xe1\x3a\x9f\x8e\x9a\x96\xe3\x9b\x7c\x7c\x0a\xa5\xf2\x04\x88\x6a\x48\x92\x00\x02\x90\x12\xf4\x09\x5e\xdd\xc4\xb0\xb5\x6d\x71\x0c\x75\x05\xd8\x5b\x12\xbf\x4d\x9a\x82\x22\xb3\x97\xf9\x41\xd5\xfb\x3a\x91\xee\x0f\x42\xde\x5b\x64\xec\x9b\xe1\xf0\xa7\x40\xf4\xcc\xe2\xce\x1a\xbf\xd1\xb0\x51\xbd\x14\x0a\x68\x45\x3c\x1a\xa4\x01\x68\x8a\x9e\x86\xbe\xeb\xf4\x65\x4e\x6f\xd0\xc5\xe8\xa9\xf7\x2b\x23\x0a\x26\x2d\x02\x3f\x73\x1b\x03\x08\xd8\x0d\xdb\xa6\x8a\x21\x99\x82\xac\x3b\xd5\x20\xa4\x02\xba\x4b\xb6\x01\x19\xa5\xf7\x29\xf7\xb3\xb8\x81\xf7\xe2\x4b\x9d\x52\x32\xee\xc7\xd0\xc2\x73\x84\x8e\x17\x06\x0f\x72\xa6\x20\x7f\x5c\x6f\x5f\xe3\x50\x1b\x92\x3d\x24\x44\xa2\x1a\xeb\xb1\xc4\x0e\xa4\x7c\x81\x34\x93\xe8\x9d\xe0\x5a\x71\x72\xe5\x3c\x4e\x30\x64\x19\xf0\x27\x76\xeb\x16\x2b\x55\xc9\xbe\xa3\x0a\xca\xe5\xc7\xf3\xe6\x9d\x0e\xb8\xd3\xf4\x4c\x3f\x81\xfd\x67\x7a\x8b\xe6\x50\xad\x50\x00\x9c\x09\xbb\xde\xac\xdb\xc7\xb2\xd4\xea\x1d\x78\xb5\xdd\xc7\x28\xd6\x7c\x10\xf3\xd3\x0c\x83\xf8\x56\xde\x55\x9d\xf3\xe0\xb3\x3c\xdc\x0e\x30\x80\xca\x00\xe8\x25\xb3\x9a\xe5\x9b\x54\x19\xb4\xa7\x6c\xc1\x55\x39\x38\xbf\xf7\x3d\x28\x69\xea\x9f\xd0\x9e\xf7\x2f\xd8\x29\x07\x83\xdc\xd0\x1d\xc3\x93\xf7\x3c\x54\xa5\xc1\x1c\x0b\xca\xbd\x48\x42\xbd\x99\x04\x0e\x39\xc3\x53\x73\x8b\xec\xb1\x69\x0d\xe1\x2d\x2d\xf4\x8e\xb0\x5a\xa2\xf5\x2e\x8a\xc5\xe9\x07\x48\x44\xf2\x90\xc5\xb9\x7e\xf6\x2b\x26\x99\x58\xa1\xd1\x45\xbd\x3d\x9f\x61\x1f\x3c\x06\x58\xd0\x94\x24\x06\x16\xd0\x80\x3b\x37\x09\xd5\x76\x71\x32\x56\x1c\x26\x71\xd6\xe3\x1e\xb6\x53\xe5\x7a\xa6\xca\xbe\x44\xc8\x74\x78\x49\x6b\xaf\x5b\x3e\x8e\x97\x07\x9e\xf4\x4a\xc8\x5f\x32\x66\x2a\x94\xe1\x00\x8c\x1b\x8b\xf9\xe3\x2a\x48\x9d\x84\x1f\x1e\x35\x50\xfb\xbe\x86\xd8\x43\x44\x02\x3e\x4f\x1a\x32\x3a\xcb\x4f\x7a\x2c\x2e\x82\x67\x32\x38\xc7\x04\x4a\x2e\x36\x75\xcd\x97\xa9\x9c\xd0\xd3\xef\x03\xee\xf0\x4a\xd6\xc3\x0e\x2b\x29\x23\x2f\x42\x1a\x2e\xe9\x3e\xfc\xee\xed\xef\x4d\x02\x72\x56\x7b\x64\x2f\x3b\xeb\xb6\x55\x37\x47\xcb\xf1\xb7\xca\x1d\x8e\x36\xc1\x77\x86\xbd\xf5\xe1\x78\x5b\x52\x5c\x3b\x2f\x7a\xcb\x6d\x41\x0a\x00\x99\x21\x3d\x8e\xc8\x85\x95\x81\xe0\x1e\xba\xb5\xd6\x14\x35\x93\xf1\x2d\xc1\xa1\x5a\xb2\x05\xe5\x29\x3c\x56\xad\x84\x67\x62\x9f\x76\xcc\x42\x6b\x32\x78\x11\x8c\x63\x90\x2c\x01\x04\x12\x34\x7a\xc0\x63\x7a\x77\x45\x9b\x80\xea\x44\x00\x68\xef\x7d\xd3\x42\x31\x2c\x1e\xf7\xfd\x41\xdc\x0f\xfe\x21\x9f\x9f\x97\x82\xfb\xa7\x29\xb5\xac\xde\xac\x6f\x65\x2a\x6a\x83\xdf\xdc\x3f\xef\x3e\xa0\xb2\x41\x3f\x75\xea\xcb\x29\xe9\x2c\x82\x8c\xa5\x24\xe5\x3f\x69\xf4\x7c\x8b\x58\x44\x84\x77\xc6\x74\x49\xe0\xd4\x80\xa1\x87\xb5\x53\x1e\xa4\x41\x82\x05\x64\xcb\xc9\x0e\x82\x3c\x37\x25\x8f\x4a\x29\xb6\x7d\xa4\x2e\x6e\xb5\x1c\xa0\xe7\x13\x1f\xbc\xce\xd4\x9b\x57\xbe\x75\x1a\xdf\xd1\x00\xd4\x97\xd9\xc4\x1b\x0d\x00\x4e\xb0\x3c\x58\xfc\x4f\xcd\x77\xe8\xe7\x8d\xcc\x33\xf7\xf2\x1d\xfa\x0d\x5e\x41\x13\x50\xa4\x01\x75\xfa\x78\x87\x0d\xea\x29\xac\x0b\xf5\x3d\xef\x3e\x76\x80\x41\x49\x08\xa2\x34\x0c\xaa\x3d\x9e\x2e\x88\x79\xc3\xbe\x26\x3e\xba\xa0\xab\x9d\xfd\x3a\xd5\x04\xad\x11\xed\xfd\xb0\x81\x2b\x03\x95\x5c\x3e\xf6\x53\xf9\xbd\xdd\xc1\x9d\x36\xa6\x5b\xcf\xef\xff\x1d\x23\x73\x7c\x8c\x2c\x11\xb5\x6d\xcc\x0a\x33\x5e\xce\x8e\x85\x53\xc5\x20\x02\x21\xf2\xb8\x7f\xae\x21\x57\xd8\xda\xa1\x1f\x7b\x27\x4a\x6e\x5e\x5f\x3a\x91\x12\x4a\x66\xf9\x48\x43\x48\xbc\xdf\x33\xe7\x6d\xa7\xbd\xcb\x6c\x00\x84\x1a\x3b\xa9\xbb\x04\x4a\xc3\xca\xc0\x0d\x90\x7a\x17\x3c\xc5\x12\x3f\x90\xad\x7c\x3f\xe1\x72\xf2\x93\xfb\xd5\x59\xb2\x35\xc3\xb3\xe9\x20\x24\x1b\x50\xa9\x74\x31\xb8\xdb\x02\x10\x55\x7c\x7d\x57\xc4\x90\x12\x98\x5f\xee\x38\x7d\xa6\x3b\xa2\xc2\x2f\x45\x7b\xc1\xd6\x6b\x4c\x9f\x0c\x6f\x87\x7c\x7b\x52\xb8\x12\x34\x1f\x83\x01\xd4\x71\x67\xc9\xe4\x4f\xcb\x14\xd0\x00\x4f\xb0\xac\xc0\xce\xa7\x09\xd4\xe9\xde\x10\xac\xea\xbb\xdd\x8b\x76\x31\x42\xe4\x60\x92\xa4\x97\x6a\xa8\xb7\xbb\x1b\xe1\xdc\xc3\x88\x17\xce\xb5\x84\x1b\x12\x85\x51\x27\xfb\xe2\x98\xba\x25\x72\xd6\xd4\x2b\xc4\x0d\xe6\xcf\xa0\x90\x3d\xef\xb8\x71\x66\x6e\x78\x99\xfb\xbd\xf3\x93\xfd\xa0\x08\xef\x63\x2f\x37\xe8\xe5\xbe\xef\xc9\x83\x20\x44\xcc\xb5\x01\xe7\xb0\x0d\xc0\xe1\x9b\x0b\x54\xa9\xb8\x1b\x7a\xa7\x6f\x41\x16\x80\x0a\x3c\x60\x5c\xe3\x31\x0b\xba\xa6\x15\xb8\x44\xf3\x6b\xf9\x7a\x29\xca\xf0\xb4\x75\x36\x41\xc7\x4e\x0a\x5b\x4e\xeb\x6c\x38\x6e\x84\xdc\xcd\x92\x87\x0f\x94\xeb\x65\x31\x05\x78\xb0\x1b\x1b\x1b\x9a\x45\xfd\xa9\xf5\x62\x7a\x93\x52\xe4\x93\x60\x85\xa5\x11\xc8\xe7\x9a\xf8\xac\xaf\x5b\xd3\xad\x4b\x01\x6f\x8e\xaa\x83\x12\xc2\x5f\x2a\xaa\xb9\xfb\x59\x61\x99\xfb\x40\xf5\x86\x79\xb2\x02\x40\x58\xbc\x31\x07\xf4\xc1\xac\xc9\x83\x58\x65\xff\xc3\x62\x23\x8d\x3b\xa2\x08\x36\x8c\xc8\x3d\x42\x0e\xa9\x18\x9f\xae\x51\xa6\x9c\xee\xb7\xea\xfc\xc6\x43\xf2\x96\x7f\x8e\x17\x7e\x7b\x11\x78\x48\xc9\xfa\x83\x44\xef\x6e\x6d\xf3\xd4\x4a\x33\xd2\x6c\xe4\x76\x83\x49\x05\x95\x01\x06\xc4\xe3\x27\xf6\x6c\x7d\x9a\xbe\x8b\xf6\xfb\xf7\x1b\x9e\xdd\xb1\x3b\x83\x2b\x38\xb4\x18\xbc\xd1\x70\xf4\x0e\xe6\x4a\xfa\x4c\x9b\x8a\xdf\x2d\x5f\xd7\x20\x91\x6e\x73\xed\x8e\xd5\x91\xd3\x8d\xf3\x7a\x9f\x30\x18\xf9\x1c\xf1\xfb\xde\x6a\x6a\xda\x26\x1d\xc5\xb7\xa4\x5b\x17\x0b\x44\x19\x1c\xe9\xd5\x7a\x70\xc7\xa5\xed\x0a\x0e\x0d\x22\xdf\xab\x71\xd1\x15\xc2\x78\x74\x27\x36\xaf\xb4\x71\xdc\xe2\x10\xe5\x4f\xad\xb8\x65\x2a\x0f\x30\x3a\x64\x32\xf0\x7f\x7e\xc2\xff\xf8\x97\xff\xef\xef\xdf\x85\xfb\x1f\xde\xfc\x4b\xba\x36\x89\xe6\x7b\x1a\xcd\xef\x7f\xfc\xeb\x5f\xff\x98\xdf\xfb\x7c\xef\xeb\xa8\x68\xff\xf1\xaf\xff\xf2\x0f\xef\x9d\xfe\xeb\x5f\x30\xfa\x17\xe8\xc7\xbf\x10\x08\x26\xfe\x82\x1e\xff\x0e\xe1\xff\x0e\x3f\xfe\xba\x41\x10\x04\xfd\x33\xf0\xbf\x5f\x24\xa8\xbb\xec\xbe\xbe\xc7\xa9\xe8\xda\xff\xae\x04\xfe\xff\x71\xe2\x7f\x85\xf4\x3f\xaf\x15\x81\x60\xfc\xdf\x20\xe2\xdf\xe0\x7f\x06\x2c\x2b\xe6\x3b\xcf\x00\xfa\xbf\xc3\xbc\xd2\x04\x86\xe1\x18\x7f\x26\x8f\x37\x1e\x7d\x9e\x44\x02\xc7\x68\x04\x25\x31\x1a\x43\x58\x84\x20\xd1\x33\x4d\x3e\xf8\x13\xfb\x4f\x4a\xfe\xe5\xff\x06\x00\x00\xff\xff\xc8\xb9\x7a\xaf\xfb\xf8\x07\x00") func staticJsHtermJsBytes() ([]byte, error) { return bindataRead( @@ -146,7 +146,7 @@ func staticJsHtermJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/js/hterm.js", size: 522491, mode: os.FileMode(292), modTime: time.Unix(1440919621, 0)} + info := bindataFileInfo{name: "static/js/hterm.js", size: 522491, mode: os.FileMode(292), modTime: time.Unix(1460531118, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/resources/gotty.js b/resources/gotty.js index 891b36f..c6efdaf 100644 --- a/resources/gotty.js +++ b/resources/gotty.js @@ -16,8 +16,7 @@ ws.send(JSON.stringify({ Arguments: args, AuthToken: gotty_auth_token,})); pingTimer = setInterval(sendPing, 30 * 1000, ws); - hterm.defaultStorage = new lib.Storage.Local(); - hterm.defaultStorage.clear(); + hterm.defaultStorage = new lib.Storage.Memory(); term = new hterm.Terminal(); From 91be466d29c9e71fe6d8a26c6e48d52a9068e0f4 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Tue, 8 Aug 2017 17:18:49 +0900 Subject: [PATCH 37/82] Release with commit ID So that release branch can push assets with a proper commit ID. --- Makefile | 3 ++- wercker.yml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 7b7d01a..dc1bef5 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ OUTPUT_DIR = ./builds +GIT_COMMIT = `git rev-parse HEAD` gotty: app/resource.go main.go app/*.go godep go build @@ -51,4 +52,4 @@ shasums: cd ${OUTPUT_DIR}/dist; sha256sum * > ./SHA256SUMS release: - ghr --delete --prerelease -u yudai -r gotty pre-release ${OUTPUT_DIR}/dist + ghr -c ${GIT_COMMIT} --delete --prerelease -u yudai -r gotty pre-release ${OUTPUT_DIR}/dist diff --git a/wercker.yml b/wercker.yml index ba1c985..0e27057 100644 --- a/wercker.yml +++ b/wercker.yml @@ -29,4 +29,4 @@ deploy: code: make shasums OUTPUT_DIR=. - script: name: release - code: make release OUTPUT_DIR=. + code: make release OUTPUT_DIR=. GIT_COMMIT=$WERCKER_GIT_COMMIT From 0f6909a165805c6cadaee81669f646dfeb7e693c Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Wed, 9 Aug 2017 12:36:50 +0900 Subject: [PATCH 38/82] Remove license information of third party libraries Github detects a wrong license. Licenses are still available in the vendor directory. --- LICENSE | 621 +------------------------------------------------------- 1 file changed, 1 insertion(+), 620 deletions(-) diff --git a/LICENSE b/LICENSE index 595b28d..e93081f 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2015 Iwasaki Yudai +Copyright (c) 2015-2017 Iwasaki Yudai Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -19,622 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -============================================================================= - -This software is built with following third party open source software. - - -# golng/go - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -# libapps/hterm - -Copyright (c) 2014, Google Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. - -* Neither the name of Google Inc. nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -# odegangsta/cli - -Copyright (C) 2013 Jeremy Saenz -All Rights Reserved. - -MIT LICENSE - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -# jteeuwen/go-bindata - -This work is subject to the CC0 1.0 Universal (CC0 1.0) Public Domain Dedication -license. Its contents can be found at: -http://creativecommons.org/publicdomain/zero/1.0 - -# elazarl/go-bindata-assetfs - -Copyright (c) 2014, Elazar Leibovich -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -# gorilla/websocket - -Copyright (c) 2013 The Gorilla WebSocket Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -# kr/pty - -Copyright (c) 2011 Keith Rarick - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, -sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall -be included in all copies or substantial portions of the -Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS -OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -# krishnasrinivas/wetty - -The MIT License (MIT) - -Copyright (c) 2014 Krishna Srinivas - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -# braintree/manners - -Copyright (c) 2014 Braintree, a division of PayPal, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -# fatih/camelcase - -The MIT License (MIT) - -Copyright (c) 2015 Fatih Arslan - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -# fatih/structs - -The MIT License (MIT) - -Copyright (c) 2014 Fatih Arslan - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -# hashicorp/hcl - -Mozilla Public License, version 2.0 - -1. Definitions - -1.1. “Contributor” - - means each individual or legal entity that creates, contributes to the - creation of, or owns Covered Software. - -1.2. “Contributor Version” - - means the combination of the Contributions of others (if any) used by a - Contributor and that particular Contributor’s Contribution. - -1.3. “Contribution” - - means Covered Software of a particular Contributor. - -1.4. “Covered Software” - - means Source Code Form to which the initial Contributor has attached the - notice in Exhibit A, the Executable Form of such Source Code Form, and - Modifications of such Source Code Form, in each case including portions - thereof. - -1.5. “Incompatible With Secondary Licenses” - means - - a. that the initial Contributor has attached the notice described in - Exhibit B to the Covered Software; or - - b. that the Covered Software was made available under the terms of version - 1.1 or earlier of the License, but not also under the terms of a - Secondary License. - -1.6. “Executable Form” - - means any form of the work other than Source Code Form. - -1.7. “Larger Work” - - means a work that combines Covered Software with other material, in a separate - file or files, that is not Covered Software. - -1.8. “License” - - means this document. - -1.9. “Licensable” - - means having the right to grant, to the maximum extent possible, whether at the - time of the initial grant or subsequently, any and all of the rights conveyed by - this License. - -1.10. “Modifications” - - means any of the following: - - a. any file in Source Code Form that results from an addition to, deletion - from, or modification of the contents of Covered Software; or - - b. any new file in Source Code Form that contains any Covered Software. - -1.11. “Patent Claims” of a Contributor - - means any patent claim(s), including without limitation, method, process, - and apparatus claims, in any patent Licensable by such Contributor that - would be infringed, but for the grant of the License, by the making, - using, selling, offering for sale, having made, import, or transfer of - either its Contributions or its Contributor Version. - -1.12. “Secondary License” - - means either the GNU General Public License, Version 2.0, the GNU Lesser - General Public License, Version 2.1, the GNU Affero General Public - License, Version 3.0, or any later versions of those licenses. - -1.13. “Source Code Form” - - means the form of the work preferred for making modifications. - -1.14. “You” (or “Your”) - - means an individual or a legal entity exercising rights under this - License. For legal entities, “You” includes any entity that controls, is - controlled by, or is under common control with You. For purposes of this - definition, “control” means (a) the power, direct or indirect, to cause - the direction or management of such entity, whether by contract or - otherwise, or (b) ownership of more than fifty percent (50%) of the - outstanding shares or beneficial ownership of such entity. - - -2. License Grants and Conditions - -2.1. Grants - - Each Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - a. under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or as - part of a Larger Work; and - - b. under Patent Claims of such Contributor to make, use, sell, offer for - sale, have made, import, and otherwise transfer either its Contributions - or its Contributor Version. - -2.2. Effective Date - - The licenses granted in Section 2.1 with respect to any Contribution become - effective for each Contribution on the date the Contributor first distributes - such Contribution. - -2.3. Limitations on Grant Scope - - The licenses granted in this Section 2 are the only rights granted under this - License. No additional rights or licenses will be implied from the distribution - or licensing of Covered Software under this License. Notwithstanding Section - 2.1(b) above, no patent license is granted by a Contributor: - - a. for any code that a Contributor has removed from Covered Software; or - - b. for infringements caused by: (i) Your and any other third party’s - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - - c. under Patent Claims infringed by Covered Software in the absence of its - Contributions. - - This License does not grant any rights in the trademarks, service marks, or - logos of any Contributor (except as may be necessary to comply with the - notice requirements in Section 3.4). - -2.4. Subsequent Licenses - - No Contributor makes additional grants as a result of Your choice to - distribute the Covered Software under a subsequent version of this License - (see Section 10.2) or under the terms of a Secondary License (if permitted - under the terms of Section 3.3). - -2.5. Representation - - Each Contributor represents that the Contributor believes its Contributions - are its original creation(s) or it has sufficient rights to grant the - rights to its Contributions conveyed by this License. - -2.6. Fair Use - - This License is not intended to limit any rights You have under applicable - copyright doctrines of fair use, fair dealing, or other equivalents. - -2.7. Conditions - - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in - Section 2.1. - - -3. Responsibilities - -3.1. Distribution of Source Form - - All distribution of Covered Software in Source Code Form, including any - Modifications that You create or to which You contribute, must be under the - terms of this License. You must inform recipients that the Source Code Form - of the Covered Software is governed by the terms of this License, and how - they can obtain a copy of this License. You may not attempt to alter or - restrict the recipients’ rights in the Source Code Form. - -3.2. Distribution of Executable Form - - If You distribute Covered Software in Executable Form then: - - a. such Covered Software must also be made available in Source Code Form, - as described in Section 3.1, and You must inform recipients of the - Executable Form how they can obtain a copy of such Source Code Form by - reasonable means in a timely manner, at a charge no more than the cost - of distribution to the recipient; and - - b. You may distribute such Executable Form under the terms of this License, - or sublicense it under different terms, provided that the license for - the Executable Form does not attempt to limit or alter the recipients’ - rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - - You may create and distribute a Larger Work under terms of Your choice, - provided that You also comply with the requirements of this License for the - Covered Software. If the Larger Work is a combination of Covered Software - with a work governed by one or more Secondary Licenses, and the Covered - Software is not Incompatible With Secondary Licenses, this License permits - You to additionally distribute such Covered Software under the terms of - such Secondary License(s), so that the recipient of the Larger Work may, at - their option, further distribute the Covered Software under the terms of - either this License or such Secondary License(s). - -3.4. Notices - - You may not remove or alter the substance of any license notices (including - copyright notices, patent notices, disclaimers of warranty, or limitations - of liability) contained within the Source Code Form of the Covered - Software, except that You may alter any license notices to the extent - required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - - You may choose to offer, and to charge a fee for, warranty, support, - indemnity or liability obligations to one or more recipients of Covered - Software. However, You may do so only on Your own behalf, and not on behalf - of any Contributor. You must make it absolutely clear that any such - warranty, support, indemnity, or liability obligation is offered by You - alone, and You hereby agree to indemnify every Contributor for any - liability incurred by such Contributor as a result of warranty, support, - indemnity or liability terms You offer. You may include additional - disclaimers of warranty and limitations of liability specific to any - jurisdiction. - -4. Inability to Comply Due to Statute or Regulation - - If it is impossible for You to comply with any of the terms of this License - with respect to some or all of the Covered Software due to statute, judicial - order, or regulation then You must: (a) comply with the terms of this License - to the maximum extent possible; and (b) describe the limitations and the code - they affect. Such description must be placed in a text file included with all - distributions of the Covered Software under this License. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Termination - -5.1. The rights granted under this License will terminate automatically if You - fail to comply with any of its terms. However, if You become compliant, - then the rights granted under this License from a particular Contributor - are reinstated (a) provisionally, unless and until such Contributor - explicitly and finally terminates Your grants, and (b) on an ongoing basis, - if such Contributor fails to notify You of the non-compliance by some - reasonable means prior to 60 days after You have come back into compliance. - Moreover, Your grants from a particular Contributor are reinstated on an - ongoing basis if such Contributor notifies You of the non-compliance by - some reasonable means, this is the first time You have received notice of - non-compliance with this License from such Contributor, and You become - compliant prior to 30 days after Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent - infringement claim (excluding declaratory judgment actions, counter-claims, - and cross-claims) alleging that a Contributor Version directly or - indirectly infringes any patent, then the rights granted to You by any and - all Contributors for the Covered Software under Section 2.1 of this License - shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user - license agreements (excluding distributors and resellers) which have been - validly granted by You or Your distributors under this License prior to - termination shall survive termination. - -6. Disclaimer of Warranty - - Covered Software is provided under this License on an “as is” basis, without - warranty of any kind, either expressed, implied, or statutory, including, - without limitation, warranties that the Covered Software is free of defects, - merchantable, fit for a particular purpose or non-infringing. The entire - risk as to the quality and performance of the Covered Software is with You. - Should any Covered Software prove defective in any respect, You (not any - Contributor) assume the cost of any necessary servicing, repair, or - correction. This disclaimer of warranty constitutes an essential part of this - License. No use of any Covered Software is authorized under this License - except under this disclaimer. - -7. Limitation of Liability - - Under no circumstances and under no legal theory, whether tort (including - negligence), contract, or otherwise, shall any Contributor, or anyone who - distributes Covered Software as permitted above, be liable to You for any - direct, indirect, special, incidental, or consequential damages of any - character including, without limitation, damages for lost profits, loss of - goodwill, work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses, even if such party shall have been - informed of the possibility of such damages. This limitation of liability - shall not apply to liability for death or personal injury resulting from such - party’s negligence to the extent applicable law prohibits such limitation. - Some jurisdictions do not allow the exclusion or limitation of incidental or - consequential damages, so this exclusion and limitation may not apply to You. - -8. Litigation - - Any litigation relating to this License may be brought only in the courts of - a jurisdiction where the defendant maintains its principal place of business - and such litigation shall be governed by laws of that jurisdiction, without - reference to its conflict-of-law provisions. Nothing in this Section shall - prevent a party’s ability to bring cross-claims or counter-claims. - -9. Miscellaneous - - This License represents the complete agreement concerning the subject matter - hereof. If any provision of this License is held to be unenforceable, such - provision shall be reformed only to the extent necessary to make it - enforceable. Any law or regulation which provides that the language of a - contract shall be construed against the drafter shall not be used to construe - this License against a Contributor. - - -10. Versions of the License - -10.1. New Versions - - Mozilla Foundation is the license steward. Except as provided in Section - 10.3, no one other than the license steward has the right to modify or - publish new versions of this License. Each version will be given a - distinguishing version number. - -10.2. Effect of New Versions - - You may distribute the Covered Software under the terms of the version of - the License under which You originally received the Covered Software, or - under the terms of any subsequent version published by the license - steward. - -10.3. Modified Versions - - If you create software not governed by this License, and you want to - create a new license for such software, you may create and use a modified - version of this License if you rename the license and remove any - references to the name of the license steward (except to note that such - modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - If You choose to distribute Source Code Form that is Incompatible With - Secondary Licenses under the terms of this version of the License, the - notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice - - This Source Code Form is subject to the - terms of the Mozilla Public License, v. - 2.0. If a copy of the MPL was not - distributed with this file, You can - obtain one at - http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular file, then -You may include the notice in a location (such as a LICENSE file in a relevant -directory) where a recipient would be likely to look for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - “Incompatible With Secondary Licenses” Notice - - This Source Code Form is “Incompatible - With Secondary Licenses”, as defined by - the Mozilla Public License, v. 2.0. From d71e2fcfa8437ab63a0acacd9cad3eb6ad887b73 Mon Sep 17 00:00:00 2001 From: zlji Date: Mon, 9 Jan 2017 22:06:46 +0800 Subject: [PATCH 39/82] generate falgs based on struct options instead of defining them externally --- app/app.go | 111 +++++++++++------------------------------- flags.go | 101 --------------------------------------- main.go | 61 +++++------------------- utils/default.go | 41 ++++++++++++++++ utils/flags.go | 122 +++++++++++++++++++++++++++++++++++++++++++++++ utils/path.go | 13 +++++ 6 files changed, 218 insertions(+), 231 deletions(-) delete mode 100644 flags.go create mode 100644 utils/default.go create mode 100644 utils/flags.go create mode 100644 utils/path.go diff --git a/app/app.go b/app/app.go index 78a7772..a9fb2d6 100644 --- a/app/app.go +++ b/app/app.go @@ -13,7 +13,6 @@ import ( "net" "net/http" "net/url" - "os" "os/exec" "strconv" "strings" @@ -22,11 +21,12 @@ import ( "text/template" "time" + "github.com/yudai/gotty/utils" + "github.com/braintree/manners" "github.com/elazarl/go-bindata-assetfs" "github.com/gorilla/websocket" "github.com/kr/pty" - "github.com/yudai/hcl" "github.com/yudai/umutex" ) @@ -53,60 +53,35 @@ type App struct { } type Options struct { - Address string `hcl:"address"` - Port string `hcl:"port"` - PermitWrite bool `hcl:"permit_write"` - EnableBasicAuth bool `hcl:"enable_basic_auth"` - Credential string `hcl:"credential"` - EnableRandomUrl bool `hcl:"enable_random_url"` - RandomUrlLength int `hcl:"random_url_length"` - IndexFile string `hcl:"index_file"` - EnableTLS bool `hcl:"enable_tls"` - TLSCrtFile string `hcl:"tls_crt_file"` - TLSKeyFile string `hcl:"tls_key_file"` - EnableTLSClientAuth bool `hcl:"enable_tls_client_auth"` - TLSCACrtFile string `hcl:"tls_ca_crt_file"` - TitleFormat string `hcl:"title_format"` - EnableReconnect bool `hcl:"enable_reconnect"` - ReconnectTime int `hcl:"reconnect_time"` - MaxConnection int `hcl:"max_connection"` - Once bool `hcl:"once"` - Timeout int `hcl:"timeout"` - PermitArguments bool `hcl:"permit_arguments"` - CloseSignal int `hcl:"close_signal"` + Address string `hcl:"address" flagName:"address" flagSName:"a" flagDescribe:"IP address to listen" default:""` + Port string `hcl:"port" flagName:"port" flagSName:"p" flagDescribe:"Port number to liten" default:"8080"` + PermitWrite bool `hcl:"permit_write" flagName:"permit-write" flagSName:"w" flagDescribe:"Permit clients to write to the TTY (BE CAREFUL)" default:"false"` + EnableBasicAuth bool `hcl:"enable_basic_auth" default:"false"` + Credential string `hcl:"credential" flagName:"credential" flagSName:"c" flagDescribe:"Credential for Basic Authentication (ex: user:pass, default disabled)" default:""` + EnableRandomUrl bool `hcl:"enable_random_url flagName:"random-url" flagSName:"r" flagDescribe:"Add a random string to the URL"" default:"false"` + RandomUrlLength int `hcl:"random_url_length" flagName:"random-url-length" flagDescribe:"Random URL length" default:"8"` + IndexFile string `hcl:"index_file" flagName:"index" flagDescribe:"Custom index.html file" default:""` + EnableTLS bool `hcl:"enable_tls" flagName:"tls" flagSName:"t" flagDescribe:"Enable TLS/SSL" default:"false"` + TLSCrtFile string `hcl:"tls_crt_file" flagName:"tls-crt" flagDescribe:"TLS/SSL certificate file path" default:"~/.gotty.crt"` + TLSKeyFile string `hcl:"tls_key_file" flagName:"tls-key" flagDescribe:"TLS/SSL key file path" default:"~/.gotty.key"` + EnableTLSClientAuth bool `hcl:"enable_tls_client_auth" default:"false"` + TLSCACrtFile string `hcl:"tls_ca_crt_file" flagName:"tls-ca-crt" flagDescribe:"TLS/SSL CA certificate file for client certifications" default:"~/.gotty.ca.crt"` + TitleFormat string `hcl:"title_format" flagName:"title-format" flagDescribe:"Title format of browser window" default:"GoTTY - {{ .Command }} ({{ .Hostname }})"` + EnableReconnect bool `hcl:"enable_reconnect" flagName:"reconnect" flagDescribe:"Enable reconnection" default:"false"` + ReconnectTime int `hcl:"reconnect_time" flagName:"reconnect-time" flagDescribe:"Time to reconnect" default:"10"` + MaxConnection int `hcl:"max_connection" flagName:"max-connection" flagDescribe:"Maximum connection to gotty" default:"0"` + Once bool `hcl:"once" flagName:"once" flagDescribe:"Accept only one client and exit on disconnection" default:"false"` + Timeout int `hcl:"timeout" flagName:"timeout" flagDescribe:"Timeout seconds for waiting a client(0 to disable)" default:"0"` + PermitArguments bool `hcl:"permit_arguments" flagName:"permit-arguments" flagDescribe:"Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB)" default:"true"` + CloseSignal int `hcl:"close_signal" flagName:"close-signal" flagDescribe:"Signal sent to the command process when gotty close it (default: SIGHUP)" default:"1"` Preferences HtermPrefernces `hcl:"preferences"` RawPreferences map[string]interface{} `hcl:"preferences"` - Width int `hcl:"width"` - Height int `hcl:"height"` + Width int `hcl:"width" flagName:"width" flagDescribe:"Static width of the screen, 0(default) means dynamically resize" default:"0"` + Height int `hcl:"height" flagName:"height" flagDescribe:"Static height of the screen, 0(default) means dynamically resize" default:"0"` } var Version = "1.0.0" -var DefaultOptions = Options{ - Address: "", - Port: "8080", - PermitWrite: false, - EnableBasicAuth: false, - Credential: "", - EnableRandomUrl: false, - RandomUrlLength: 8, - IndexFile: "", - EnableTLS: false, - TLSCrtFile: "~/.gotty.crt", - TLSKeyFile: "~/.gotty.key", - EnableTLSClientAuth: false, - TLSCACrtFile: "~/.gotty.ca.crt", - TitleFormat: "GoTTY - {{ .Command }} ({{ .Hostname }})", - EnableReconnect: false, - ReconnectTime: 10, - MaxConnection: 0, - Once: false, - CloseSignal: 1, // syscall.SIGHUP - Preferences: HtermPrefernces{}, - Width: 0, - Height: 0, -} - func New(command []string, options *Options) (*App, error) { titleTemplate, err := template.New("title").Parse(options.TitleFormat) if err != nil { @@ -132,26 +107,6 @@ func New(command []string, options *Options) (*App, error) { }, nil } -func ApplyConfigFile(options *Options, filePath string) error { - filePath = ExpandHomeDir(filePath) - if _, err := os.Stat(filePath); os.IsNotExist(err) { - return err - } - - fileString := []byte{} - log.Printf("Loading config file at: %s", filePath) - fileString, err := ioutil.ReadFile(filePath) - if err != nil { - return err - } - - if err := hcl.Decode(options, string(fileString)); err != nil { - return err - } - - return nil -} - func CheckConfig(options *Options) error { if options.EnableTLSClientAuth && !options.EnableTLS { return errors.New("TLS client authentication is enabled, but TLS is not enabled") @@ -253,8 +208,8 @@ func (app *App) Run() error { } if app.options.EnableTLS { - crtFile := ExpandHomeDir(app.options.TLSCrtFile) - keyFile := ExpandHomeDir(app.options.TLSKeyFile) + crtFile := utils.ExpandHomeDir(app.options.TLSCrtFile) + keyFile := utils.ExpandHomeDir(app.options.TLSKeyFile) log.Printf("TLS crt file: " + crtFile) log.Printf("TLS key file: " + keyFile) @@ -278,7 +233,7 @@ func (app *App) makeServer(addr string, handler *http.Handler) (*http.Server, er } if app.options.EnableTLSClientAuth { - caFile := ExpandHomeDir(app.options.TLSCACrtFile) + caFile := utils.ExpandHomeDir(app.options.TLSCACrtFile) log.Printf("CA file: " + caFile) caCert, err := ioutil.ReadFile(caFile) if err != nil { @@ -410,7 +365,7 @@ func (app *App) handleWS(w http.ResponseWriter, r *http.Request) { } func (app *App) handleCustomIndex(w http.ResponseWriter, r *http.Request) { - http.ServeFile(w, r, ExpandHomeDir(app.options.IndexFile)) + http.ServeFile(w, r, utils.ExpandHomeDir(app.options.IndexFile)) } func (app *App) handleAuthToken(w http.ResponseWriter, r *http.Request) { @@ -501,11 +456,3 @@ func listAddresses() (addresses []string) { return } - -func ExpandHomeDir(path string) string { - if path[0:2] == "~/" { - return os.Getenv("HOME") + path[1:] - } else { - return path - } -} diff --git a/flags.go b/flags.go deleted file mode 100644 index bbd6274..0000000 --- a/flags.go +++ /dev/null @@ -1,101 +0,0 @@ -package main - -import ( - "errors" - "reflect" - "strings" - - "github.com/codegangsta/cli" - "github.com/fatih/structs" - - "github.com/yudai/gotty/app" -) - -type flag struct { - name string - shortName string - description string -} - -func generateFlags(flags []flag, hint map[string]string) ([]cli.Flag, error) { - o := structs.New(app.DefaultOptions) - - results := make([]cli.Flag, len(flags)) - - for i, flag := range flags { - fieldName := fieldName(flag.name, hint) - - field, ok := o.FieldOk(fieldName) - if !ok { - return nil, errors.New("No such field: " + fieldName) - } - - flagName := flag.name - if flag.shortName != "" { - flagName += ", " + flag.shortName - } - envName := "GOTTY_" + strings.ToUpper(strings.Join(strings.Split(flag.name, "-"), "_")) - - switch field.Kind() { - case reflect.String: - results[i] = cli.StringFlag{ - Name: flagName, - Value: field.Value().(string), - Usage: flag.description, - EnvVar: envName, - } - case reflect.Bool: - results[i] = cli.BoolFlag{ - Name: flagName, - Usage: flag.description, - EnvVar: envName, - } - case reflect.Int: - results[i] = cli.IntFlag{ - Name: flagName, - Value: field.Value().(int), - Usage: flag.description, - EnvVar: envName, - } - default: - return nil, errors.New("Unsupported type: " + fieldName) - } - } - - return results, nil -} - -func applyFlags( - options *app.Options, - flags []flag, - mappingHint map[string]string, - c *cli.Context, -) { - o := structs.New(options) - for _, flag := range flags { - if c.IsSet(flag.name) { - field := o.Field(fieldName(flag.name, mappingHint)) - var val interface{} - switch field.Kind() { - case reflect.String: - val = c.String(flag.name) - case reflect.Bool: - val = c.Bool(flag.name) - case reflect.Int: - val = c.Int(flag.name) - } - field.Set(val) - } - } -} - -func fieldName(name string, hint map[string]string) string { - if fieldName, ok := hint[name]; ok { - return fieldName - } - nameParts := strings.Split(name, "-") - for i, part := range nameParts { - nameParts[i] = strings.ToUpper(part[0:1]) + part[1:] - } - return strings.Join(nameParts, "") -} diff --git a/main.go b/main.go index cffd38c..32a37a5 100644 --- a/main.go +++ b/main.go @@ -9,6 +9,7 @@ import ( "github.com/codegangsta/cli" "github.com/yudai/gotty/app" + "github.com/yudai/gotty/utils" ) func main() { @@ -18,41 +19,12 @@ func main() { cmd.Usage = "Share your terminal as a web application" cmd.HideHelp = true - flags := []flag{ - flag{"address", "a", "IP address to listen"}, - flag{"port", "p", "Port number to listen"}, - flag{"permit-write", "w", "Permit clients to write to the TTY (BE CAREFUL)"}, - flag{"credential", "c", "Credential for Basic Authentication (ex: user:pass, default disabled)"}, - flag{"random-url", "r", "Add a random string to the URL"}, - flag{"random-url-length", "", "Random URL length"}, - flag{"tls", "t", "Enable TLS/SSL"}, - flag{"tls-crt", "", "TLS/SSL certificate file path"}, - flag{"tls-key", "", "TLS/SSL key file path"}, - flag{"tls-ca-crt", "", "TLS/SSL CA certificate file for client certifications"}, - flag{"index", "", "Custom index.html file"}, - flag{"title-format", "", "Title format of browser window"}, - flag{"reconnect", "", "Enable reconnection"}, - flag{"reconnect-time", "", "Time to reconnect"}, - flag{"timeout", "", "Timeout seconds for waiting a client (0 to disable)"}, - flag{"max-connection", "", "Maximum connection to gotty, 0(default) means no limit"}, - flag{"once", "", "Accept only one client and exit on disconnection"}, - flag{"permit-arguments", "", "Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB)"}, - flag{"close-signal", "", "Signal sent to the command process when gotty close it (default: SIGHUP)"}, - flag{"width", "", "Static width of the screen, 0(default) means dynamically resize"}, - flag{"height", "", "Static height of the screen, 0(default) means dynamically resize"}, + options := &app.Options{} + if err := utils.ApplyDefaultValues(options); err != nil { + exit(err, 1) } - mappingHint := map[string]string{ - "index": "IndexFile", - "tls": "EnableTLS", - "tls-crt": "TLSCrtFile", - "tls-key": "TLSKeyFile", - "tls-ca-crt": "TLSCACrtFile", - "random-url": "EnableRandomUrl", - "reconnect": "EnableReconnect", - } - - cliFlags, err := generateFlags(flags, mappingHint) + cliFlags, flagMappings, err := utils.GenerateFlags(options) if err != nil { exit(err, 3) } @@ -69,35 +41,28 @@ func main() { cmd.Action = func(c *cli.Context) { if len(c.Args()) == 0 { - fmt.Println("Error: No command given.\n") cli.ShowAppHelp(c) - exit(err, 1) + exit(fmt.Errorf("Error: No command given."), 1) } - options := app.DefaultOptions - configFile := c.String("config") - _, err := os.Stat(app.ExpandHomeDir(configFile)) + _, err := os.Stat(utils.ExpandHomeDir(configFile)) if configFile != "~/.gotty" || !os.IsNotExist(err) { - if err := app.ApplyConfigFile(&options, configFile); err != nil { + if err := utils.ApplyConfigFile(configFile, options); err != nil { exit(err, 2) } } - applyFlags(&options, flags, mappingHint, c) + utils.ApplyFlags(cliFlags, flagMappings, c, options) - if c.IsSet("credential") { - options.EnableBasicAuth = true - } - if c.IsSet("tls-ca-crt") { - options.EnableTLSClientAuth = true - } + options.EnableBasicAuth = c.IsSet("credential") + options.EnableTLSClientAuth = c.IsSet("tls-ca-crt") - if err := app.CheckConfig(&options); err != nil { + if err := app.CheckConfig(options); err != nil { exit(err, 6) } - app, err := app.New(c.Args(), &options) + app, err := app.New(c.Args(), options) if err != nil { exit(err, 3) } diff --git a/utils/default.go b/utils/default.go new file mode 100644 index 0000000..e813b3b --- /dev/null +++ b/utils/default.go @@ -0,0 +1,41 @@ +package utils + +import ( + "fmt" + "github.com/fatih/structs" + "reflect" + "strconv" +) + +func ApplyDefaultValues(struct_ interface{}) (err error) { + o := structs.New(struct_) + + for _, field := range o.Fields() { + defaultValue := field.Tag("default") + if defaultValue == "" { + continue + } + var val interface{} + switch field.Kind() { + case reflect.String: + val = defaultValue + case reflect.Bool: + if defaultValue == "true" { + val = true + } else if defaultValue == "false" { + val = false + } else { + return fmt.Errorf("invalid bool expression: %v, use true/false", defaultValue) + } + case reflect.Int: + val, err = strconv.Atoi(defaultValue) + if err != nil { + return err + } + default: + val = field.Value() + } + field.Set(val) + } + return nil +} diff --git a/utils/flags.go b/utils/flags.go new file mode 100644 index 0000000..de98dff --- /dev/null +++ b/utils/flags.go @@ -0,0 +1,122 @@ +package utils + +import ( + "io/ioutil" + "log" + "os" + "reflect" + "strings" + + "github.com/codegangsta/cli" + "github.com/fatih/structs" + "github.com/yudai/hcl" +) + +func GenerateFlags(options ...interface{}) (flags []cli.Flag, mappings map[string]string, err error) { + mappings = make(map[string]string) + + for _, struct_ := range options { + o := structs.New(struct_) + for _, field := range o.Fields() { + flagName := field.Tag("flagName") + if flagName == "" { + continue + } + envName := "GOTTY_" + strings.ToUpper(strings.Join(strings.Split(flagName, "-"), "_")) + mappings[flagName] = field.Name() + + flagShortName := field.Tag("flagSName") + if flagShortName != "" { + flagName += ", " + flagShortName + } + + flagDescription := field.Tag("flagDescribe") + + switch field.Kind() { + case reflect.String: + flags = append(flags, cli.StringFlag{ + Name: flagName, + Value: field.Value().(string), + Usage: flagDescription, + EnvVar: envName, + }) + case reflect.Bool: + flags = append(flags, cli.BoolFlag{ + Name: flagName, + Usage: flagDescription, + EnvVar: envName, + }) + case reflect.Int: + flags = append(flags, cli.IntFlag{ + Name: flagName, + Value: field.Value().(int), + Usage: flagDescription, + EnvVar: envName, + }) + } + } + } + + return +} + +func ApplyFlags( + flags []cli.Flag, + mappingHint map[string]string, + c *cli.Context, + options ...interface{}, +) { + objects := make([]*structs.Struct, len(options)) + for i, struct_ := range options { + objects[i] = structs.New(struct_) + } + + for flagName, fieldName := range mappingHint { + if !c.IsSet(flagName) { + continue + } + var field *structs.Field + var ok bool + for _, o := range objects { + field, ok = o.FieldOk(fieldName) + if ok { + break + } + } + if field == nil { + continue + } + var val interface{} + switch field.Kind() { + case reflect.String: + val = c.String(flagName) + case reflect.Bool: + val = c.Bool(flagName) + case reflect.Int: + val = c.Int(flagName) + } + field.Set(val) + } +} + +func ApplyConfigFile(filePath string, options ...interface{}) error { + filePath = ExpandHomeDir(filePath) + if _, err := os.Stat(filePath); os.IsNotExist(err) { + return err + } + + fileString := []byte{} + log.Printf("Loading config file at: %s", filePath) + fileString, err := ioutil.ReadFile(filePath) + if err != nil { + return err + } + + for _, object := range options { + if err := hcl.Decode(object, string(fileString)); err != nil { + return err + } + } + + return nil +} diff --git a/utils/path.go b/utils/path.go new file mode 100644 index 0000000..4230593 --- /dev/null +++ b/utils/path.go @@ -0,0 +1,13 @@ +package utils + +import ( + "os" +) + +func ExpandHomeDir(path string) string { + if path[0:2] == "~/" { + return os.Getenv("HOME") + path[1:] + } else { + return path + } +} From 496ef8633950db2ee52118957da9bb308f5598ae Mon Sep 17 00:00:00 2001 From: zlji Date: Tue, 10 Jan 2017 00:13:36 +0800 Subject: [PATCH 40/82] refactor: decouple gotty app with terminal backends --- app/app.go | 107 +++++++++-------------- app/client_context.go | 95 +++----------------- backends/interface.go | 19 ++++ backends/ptycommand/.command.go.swp | Bin 0 -> 12288 bytes backends/ptycommand/command.go | 130 ++++++++++++++++++++++++++++ main.go | 36 +++++--- 6 files changed, 226 insertions(+), 161 deletions(-) create mode 100644 backends/interface.go create mode 100644 backends/ptycommand/.command.go.swp create mode 100644 backends/ptycommand/command.go diff --git a/app/app.go b/app/app.go index a9fb2d6..5cf227a 100644 --- a/app/app.go +++ b/app/app.go @@ -13,20 +13,18 @@ import ( "net" "net/http" "net/url" - "os/exec" "strconv" "strings" "sync" "sync/atomic" - "text/template" "time" + "github.com/yudai/gotty/backends" "github.com/yudai/gotty/utils" "github.com/braintree/manners" "github.com/elazarl/go-bindata-assetfs" "github.com/gorilla/websocket" - "github.com/kr/pty" "github.com/yudai/umutex" ) @@ -36,14 +34,12 @@ type InitMessage struct { } type App struct { - command []string + manager backends.ClientContextManager options *Options upgrader *websocket.Upgrader server *manners.GracefulServer - titleTemplate *template.Template - onceMutex *umutex.UnblockingMutex timer *time.Timer @@ -66,14 +62,12 @@ type Options struct { TLSKeyFile string `hcl:"tls_key_file" flagName:"tls-key" flagDescribe:"TLS/SSL key file path" default:"~/.gotty.key"` EnableTLSClientAuth bool `hcl:"enable_tls_client_auth" default:"false"` TLSCACrtFile string `hcl:"tls_ca_crt_file" flagName:"tls-ca-crt" flagDescribe:"TLS/SSL CA certificate file for client certifications" default:"~/.gotty.ca.crt"` - TitleFormat string `hcl:"title_format" flagName:"title-format" flagDescribe:"Title format of browser window" default:"GoTTY - {{ .Command }} ({{ .Hostname }})"` EnableReconnect bool `hcl:"enable_reconnect" flagName:"reconnect" flagDescribe:"Enable reconnection" default:"false"` ReconnectTime int `hcl:"reconnect_time" flagName:"reconnect-time" flagDescribe:"Time to reconnect" default:"10"` MaxConnection int `hcl:"max_connection" flagName:"max-connection" flagDescribe:"Maximum connection to gotty" default:"0"` Once bool `hcl:"once" flagName:"once" flagDescribe:"Accept only one client and exit on disconnection" default:"false"` Timeout int `hcl:"timeout" flagName:"timeout" flagDescribe:"Timeout seconds for waiting a client(0 to disable)" default:"0"` PermitArguments bool `hcl:"permit_arguments" flagName:"permit-arguments" flagDescribe:"Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB)" default:"true"` - CloseSignal int `hcl:"close_signal" flagName:"close-signal" flagDescribe:"Signal sent to the command process when gotty close it (default: SIGHUP)" default:"1"` Preferences HtermPrefernces `hcl:"preferences"` RawPreferences map[string]interface{} `hcl:"preferences"` Width int `hcl:"width" flagName:"width" flagDescribe:"Static width of the screen, 0(default) means dynamically resize" default:"0"` @@ -82,16 +76,10 @@ type Options struct { var Version = "1.0.0" -func New(command []string, options *Options) (*App, error) { - titleTemplate, err := template.New("title").Parse(options.TitleFormat) - if err != nil { - return nil, errors.New("Title format string syntax error") - } - +func New(manager backends.ClientContextManager, options *Options) (*App, error) { connections := int64(0) - return &App{ - command: command, + manager: manager, options: options, upgrader: &websocket.Upgrader{ @@ -99,9 +87,6 @@ func New(command []string, options *Options) (*App, error) { WriteBufferSize: 1024, Subprotocols: []string{"gotty"}, }, - - titleTemplate: titleTemplate, - onceMutex: umutex.New(), connections: &connections, }, nil @@ -169,10 +154,6 @@ func (app *App) Run() error { if app.options.EnableTLS { scheme = "https" } - log.Printf( - "Server is starting with command: %s", - strings.Join(app.command, " "), - ) if app.options.Address != "" { log.Printf( "URL: %s", @@ -267,8 +248,23 @@ func (app *App) restartTimer() { func (app *App) handleWS(w http.ResponseWriter, r *http.Request) { app.stopTimer() - connections := atomic.AddInt64(app.connections, 1) + defer func() { + connections := atomic.AddInt64(app.connections, -1) + + if app.options.MaxConnection != 0 { + log.Printf("Connection closed: %s, connections: %d/%d", + r.RemoteAddr, connections, app.options.MaxConnection) + } else { + log.Printf("Connection closed: %s, connections: %d", + r.RemoteAddr, connections) + } + + if connections == 0 { + app.restartTimer() + } + }() + if int64(app.options.MaxConnection) != 0 { if connections > int64(app.options.MaxConnection) { log.Printf("Reached max connection: %d", app.options.MaxConnection) @@ -287,11 +283,11 @@ func (app *App) handleWS(w http.ResponseWriter, r *http.Request) { log.Print("Failed to upgrade connection: " + err.Error()) return } + defer conn.Close() _, stream, err := conn.ReadMessage() if err != nil { log.Print("Failed to authenticate websocket connection") - conn.Close() return } var init InitMessage @@ -299,32 +295,34 @@ func (app *App) handleWS(w http.ResponseWriter, r *http.Request) { err = json.Unmarshal(stream, &init) if err != nil { log.Printf("Failed to parse init message %v", err) - conn.Close() return } if init.AuthToken != app.options.Credential { log.Print("Failed to authenticate websocket connection") - conn.Close() return } - argv := app.command[1:] - if app.options.PermitArguments { - if init.Arguments == "" { - init.Arguments = "?" - } - query, err := url.Parse(init.Arguments) - if err != nil { - log.Print("Failed to parse arguments") - conn.Close() - return - } - params := query.Query()["arg"] - if len(params) != 0 { - argv = append(argv, params...) - } + + var queryPath string + if app.options.PermitArguments && init.Arguments != "" { + queryPath = init.Arguments + } else { + queryPath = "?" + } + + query, err := url.Parse(queryPath) + if err != nil { + log.Print("Failed to parse arguments") + return + } + params := query.Query() + ctx, err := app.manager.New(params) + if err != nil { + log.Printf("Failed to new client context %v", err) + return } app.server.StartRoutine() + defer app.server.FinishRoutine() if app.options.Once { if app.onceMutex.TryLock() { // no unlock required, it will die soon @@ -337,30 +335,7 @@ func (app *App) handleWS(w http.ResponseWriter, r *http.Request) { } } - cmd := exec.Command(app.command[0], argv...) - ptyIo, err := pty.Start(cmd) - if err != nil { - log.Print("Failed to execute command") - return - } - - if app.options.MaxConnection != 0 { - log.Printf("Command is running for client %s with PID %d (args=%q), connections: %d/%d", - r.RemoteAddr, cmd.Process.Pid, strings.Join(argv, " "), connections, app.options.MaxConnection) - } else { - log.Printf("Command is running for client %s with PID %d (args=%q), connections: %d", - r.RemoteAddr, cmd.Process.Pid, strings.Join(argv, " "), connections) - } - - context := &clientContext{ - app: app, - request: r, - connection: conn, - command: cmd, - pty: ptyIo, - writeMutex: &sync.Mutex{}, - } - + context := &clientContext{app: app, connection: conn, writeMutex: &sync.Mutex{}, ClientContext: ctx} context.goHandleClient() } diff --git a/app/client_context.go b/app/client_context.go index b17a56b..b62634e 100644 --- a/app/client_context.go +++ b/app/client_context.go @@ -1,29 +1,21 @@ package app import ( - "bytes" "encoding/base64" "encoding/json" "log" - "net/http" - "os" - "os/exec" "strings" "sync" - "sync/atomic" - "syscall" - "unsafe" "github.com/fatih/structs" "github.com/gorilla/websocket" + "github.com/yudai/gotty/backends" ) type clientContext struct { + backends.ClientContext app *App - request *http.Request connection *websocket.Conn - command *exec.Cmd - pty *os.File writeMutex *sync.Mutex } @@ -46,56 +38,23 @@ type argResizeTerminal struct { Rows float64 } -type ContextVars struct { - Command string - Pid int - Hostname string - RemoteAddr string -} - func (context *clientContext) goHandleClient() { - exit := make(chan bool, 2) + exit := make(chan bool, 3) + + context.Start(exit) go func() { defer func() { exit <- true }() - context.processSend() }() go func() { defer func() { exit <- true }() - context.processReceive() }() - go func() { - defer context.app.server.FinishRoutine() - defer func() { - connections := atomic.AddInt64(context.app.connections, -1) - - if context.app.options.MaxConnection != 0 { - log.Printf("Connection closed: %s, connections: %d/%d", - context.request.RemoteAddr, connections, context.app.options.MaxConnection) - } else { - log.Printf("Connection closed: %s, connections: %d", - context.request.RemoteAddr, connections) - } - - if connections == 0 { - context.app.restartTimer() - } - }() - - <-exit - context.pty.Close() - - // Even if the PTY has been closed, - // Read(0 in processSend() keeps blocking and the process doen't exit - context.command.Process.Signal(syscall.Signal(context.app.options.CloseSignal)) - - context.command.Wait() - context.connection.Close() - }() + <-exit + context.TearDown() } func (context *clientContext) processSend() { @@ -107,9 +66,9 @@ func (context *clientContext) processSend() { buf := make([]byte, 1024) for { - size, err := context.pty.Read(buf) + size, err := context.OutputReader().Read(buf) if err != nil { - log.Printf("Command exited for: %s", context.request.RemoteAddr) + log.Printf("failed to read output from terminal backend: %v", err) return } safeMessage := base64.StdEncoding.EncodeToString([]byte(buf[:size])) @@ -127,19 +86,11 @@ func (context *clientContext) write(data []byte) error { } func (context *clientContext) sendInitialize() error { - hostname, _ := os.Hostname() - titleVars := ContextVars{ - Command: strings.Join(context.app.command, " "), - Pid: context.command.Process.Pid, - Hostname: hostname, - RemoteAddr: context.request.RemoteAddr, - } - - titleBuffer := new(bytes.Buffer) - if err := context.app.titleTemplate.Execute(titleBuffer, titleVars); err != nil { + windowTitle, err := context.WindowTitle() + if err != nil { return err } - if err := context.write(append([]byte{SetWindowTitle}, titleBuffer.Bytes()...)); err != nil { + if err := context.write(append([]byte{SetWindowTitle}, []byte(windowTitle)...)); err != nil { return err } @@ -187,7 +138,7 @@ func (context *clientContext) processReceive() { break } - _, err := context.pty.Write(data[1:]) + _, err := context.InputWriter().Write(data[1:]) if err != nil { return } @@ -204,7 +155,6 @@ func (context *clientContext) processReceive() { log.Print("Malformed remote command") return } - rows := uint16(context.app.options.Height) if rows == 0 { rows = uint16(args.Rows) @@ -215,24 +165,7 @@ func (context *clientContext) processReceive() { columns = uint16(args.Columns) } - window := struct { - row uint16 - col uint16 - x uint16 - y uint16 - }{ - rows, - columns, - 0, - 0, - } - syscall.Syscall( - syscall.SYS_IOCTL, - context.pty.Fd(), - syscall.TIOCSWINSZ, - uintptr(unsafe.Pointer(&window)), - ) - + context.ResizeTerminal(columns, rows) default: log.Print("Unknown message type") return diff --git a/backends/interface.go b/backends/interface.go new file mode 100644 index 0000000..33f75c1 --- /dev/null +++ b/backends/interface.go @@ -0,0 +1,19 @@ +package backends + +import ( + "io" + "net/url" +) + +type ClientContextManager interface { + New(params url.Values) (ClientContext, error) +} + +type ClientContext interface { + WindowTitle() (string, error) + Start(exitCh chan bool) + InputWriter() io.Writer + OutputReader() io.Reader + ResizeTerminal(width, height uint16) error + TearDown() error +} diff --git a/backends/ptycommand/.command.go.swp b/backends/ptycommand/.command.go.swp new file mode 100644 index 0000000000000000000000000000000000000000..936a131829f7927ab0647c1eaf87490d23ab3fb9 GIT binary patch literal 12288 zcmeI2ON<;x8OJLQh75K9;YdM9NaaCZdRDVNyMBQNe1P?95wTaEv5jpu>)xK4nPz*s zM%~r>$ZCmX9>PIbK_Z9<2_F&(i38$-I3Rgy7pZ=}P~&>adu$;%rsShzPgw1`SjUhi}Jcupj4n# zpj4n#pj4n#pj4n#pj6-?S3nIPVb5ZXJM22I*xyI)`nARKr&OR+pj4n#pj4n#pj4n# zpj4n#pj4n#pj4n#;Qvs80RO@N7yPmRpGPry{QtlE`~P2`Wb7Sq8~hdA0yn{*!5_fy zz^}n|a1DG9d>32>i{R_vBsc+Pz_XvgIFB>-Cb$V+0zU!IgEeptv_T8p-p$xAz;oar zm;tZvV(c~WD!2}w2Uoyl@HAKecRr41!5iTB;OF24@KewQ4KM}j;2#yn{sjIAeg$3t zKL830!5J_Go&-;TJ>cEP82csoF?bI2K^F)x0T}rA$IvhM4R{$`13v;+!4JV4I0O!W z{ouWiGWJjKcknlG7381~E`d|vtKbMY04Bjcz`^Ihot=!m4Q_!O;6?B=@O`iXVz3Cl z1ulXMU@zDWc7eA(0zE+=d=~5kJHUV859AZ?lV6mdhf0A>R!N1*(}X8c%ql2WLYXMB zru=Zw@y`d5@@jWg&ZjaIS?0H*UJ}G!ww{GS9J``>e9%jMIaHBMGJiIfnJ~?3=q>7U z*9wF1y+>$pJ~2_O_3bF`?gpzg8vKk1I^Hyo5=g^f+D* z;;JuPBi@lB`GVqNEmFFhV=E%zm<6?&Z(rd301pe);jN@hbn1+aRKN>IX8Mq!nta%Y>HjYH1W{qk!-WEZ6RIVnNl}J;W@(soyD=E88X)fYS;O3|rtrMxm(O0za zX}VAH=TV}DD)sUt3%bIemne(Wn^=vKj$EzP>S*Ka(4IRz+d4mYs&$cSozS$7OQD$PTMB|nhPXG9h~BibSzMC65LLflNpcD~&LR{eq?4>r*0 zTn%$Yo(IKiJd(b-wub#*yPZqW>-jVyJL+D|we7VSh%g;L!tp%^_t@O>8*=B_KL5%T zhj0Rd$Fhg8f&5*s+6|&uAPOX84N`^B(r?Z2eJfRMW)p_6cOk&^5c)2egFL21&pMB% zjPQU#V4kxR4EsUCm!ynq+a*(xipAIRZdarj2=ng2J-70Z6}D>T>jHyj=1fQ_Mt9N{ zgJB#f;U8NQVXlN%=(^5z;arerwJ(!{7ZzM-M*SvY)mvIuBJ<6xYRCg*h?6o?NiYyi z-nUoe`SVey2@l7|&4)6kOOCipjckrU!)=WM9XvW@T<7Hekic|o`h_L8y5OS*qxEbH z8de!ijxW+3nfb2o2hCmQbvkL2UEq^OMLVo<3&aou`cYSKRMh99LU<>H>qQq^s$HGdwVF1)cF>zxIS$H{2LLAEoQ^3sBd z$dNdF^0Yb6z}{mwf7`=dR^K*tJ~^7RTMet&shXf4jiL`B+o$s3K46F5?g|A>odquU z!?QmWbrjMJ&>FWBaV*Q6q z*Bm{0hI1P2h;;08R<`FzzS_s}Prqz#4uL#U+;hv|t+^8?&(7Bh3!A}=bwpa9C@2sA ztrp&6Urrkc>nhAytR44uyKZBScvZBfQ+UI<3su-d8C}Y(L5aa!(sv?M0~v`faSWiJ hNYXb#l795IR%Ov(C~+9@@P{qls7FepUEWH;J^&GPcb5PF literal 0 HcmV?d00001 diff --git a/backends/ptycommand/command.go b/backends/ptycommand/command.go new file mode 100644 index 0000000..e335cf6 --- /dev/null +++ b/backends/ptycommand/command.go @@ -0,0 +1,130 @@ +package ptycommand + +import ( + "bytes" + "fmt" + "io" + "log" + "net/url" + "os" + "os/exec" + "syscall" + "text/template" + "unsafe" + + "github.com/yudai/gotty/backends" + + "github.com/kr/pty" +) + +type Options struct { + CloseSignal int `hcl:"close_signal" flagName:"close-signal" flagSName:"" flagDescribe:"Signal sent to the command process when gotty close it (default: SIGHUP)" default:"1"` + TitleFormat string `hcl:"title_format" flagName:"title-format" flagSName:"" flagDescribe:"Title format of browser window" default:"GoTTY - {{ .Command }} ({{ .Hostname }})"` +} + +type CommandClientContextManager struct { + command []string + + options *Options + titleTemplate *template.Template +} + +func NewCommandClientContextManager(command []string, options *Options) (*CommandClientContextManager, error) { + titleTemplate, err := template.New("title").Parse(options.TitleFormat) + if err != nil { + return nil, fmt.Errorf("Title format string syntax error: %v", options.TitleFormat) + } + return &CommandClientContextManager{command: command, options: options, titleTemplate: titleTemplate}, nil +} + +type CommandClientContext struct { + cmd *exec.Cmd + pty *os.File + mgr *CommandClientContextManager +} + +func (mgr *CommandClientContextManager) New(params url.Values) (backends.ClientContext, error) { + argv := mgr.command[1:] + args := params["arg"] + if len(args) != 0 { + argv = append(argv, args...) + } + + cmd := exec.Command(mgr.command[0], argv...) + return &CommandClientContext{cmd: cmd, mgr: mgr}, nil +} + +func (context *CommandClientContext) WindowTitle() (title string, err error) { + hostname, _ := os.Hostname() + + titleVars := struct { + Command string + Pid int + Hostname string + }{ + Command: context.cmd.Path, + Pid: context.cmd.Process.Pid, + Hostname: hostname, + } + + titleBuffer := new(bytes.Buffer) + if err := context.mgr.titleTemplate.Execute(titleBuffer, titleVars); err != nil { + return "", err + } + return titleBuffer.String(), nil +} + +func (context *CommandClientContext) Start(exitCh chan bool) { + ptyIo, err := pty.Start(context.cmd) + if err != nil { + log.Printf("failed to start command %v", err) + exitCh <- true + } else { + context.pty = ptyIo + } +} + +func (context *CommandClientContext) InputWriter() io.Writer { + return context.pty +} + +func (context *CommandClientContext) OutputReader() io.Reader { + return context.pty +} + +func (context *CommandClientContext) ResizeTerminal(width, height uint16) error { + window := struct { + row uint16 + col uint16 + x uint16 + y uint16 + }{ + height, + width, + 0, + 0, + } + _, _, errno := syscall.Syscall( + syscall.SYS_IOCTL, + context.pty.Fd(), + syscall.TIOCSWINSZ, + uintptr(unsafe.Pointer(&window)), + ) + if errno != 0 { + return errno + } else { + return nil + } +} + +func (context *CommandClientContext) TearDown() error { + context.pty.Close() + + // Even if the PTY has been closed, + // Read(0 in processSend() keeps blocking and the process doen't exit + if context.cmd != nil && context.cmd.Process != nil { + context.cmd.Process.Signal(syscall.Signal(context.mgr.options.CloseSignal)) + context.cmd.Wait() + } + return nil +} diff --git a/main.go b/main.go index 32a37a5..2da05d1 100644 --- a/main.go +++ b/main.go @@ -9,22 +9,28 @@ import ( "github.com/codegangsta/cli" "github.com/yudai/gotty/app" + "github.com/yudai/gotty/backends/ptycommand" "github.com/yudai/gotty/utils" ) func main() { cmd := cli.NewApp() - cmd.Version = app.Version cmd.Name = "gotty" + cmd.Version = app.Version cmd.Usage = "Share your terminal as a web application" cmd.HideHelp = true + cli.AppHelpTemplate = helpTemplate - options := &app.Options{} - if err := utils.ApplyDefaultValues(options); err != nil { + appOptions := &app.Options{} + if err := utils.ApplyDefaultValues(appOptions); err != nil { + exit(err, 1) + } + backendOptions := &ptycommand.Options{} + if err := utils.ApplyDefaultValues(backendOptions); err != nil { exit(err, 1) } - cliFlags, flagMappings, err := utils.GenerateFlags(options) + cliFlags, flagMappings, err := utils.GenerateFlags(appOptions, backendOptions) if err != nil { exit(err, 3) } @@ -41,28 +47,33 @@ func main() { cmd.Action = func(c *cli.Context) { if len(c.Args()) == 0 { + msg := "Error: No command given." cli.ShowAppHelp(c) - exit(fmt.Errorf("Error: No command given."), 1) + exit(fmt.Errorf(msg), 1) } configFile := c.String("config") _, err := os.Stat(utils.ExpandHomeDir(configFile)) if configFile != "~/.gotty" || !os.IsNotExist(err) { - if err := utils.ApplyConfigFile(configFile, options); err != nil { + if err := utils.ApplyConfigFile(configFile, appOptions, backendOptions); err != nil { exit(err, 2) } } - utils.ApplyFlags(cliFlags, flagMappings, c, options) + utils.ApplyFlags(cliFlags, flagMappings, c, appOptions, backendOptions) - options.EnableBasicAuth = c.IsSet("credential") - options.EnableTLSClientAuth = c.IsSet("tls-ca-crt") + appOptions.EnableBasicAuth = c.IsSet("credential") + appOptions.EnableTLSClientAuth = c.IsSet("tls-ca-crt") - if err := app.CheckConfig(options); err != nil { + if err := app.CheckConfig(appOptions); err != nil { exit(err, 6) } - app, err := app.New(c.Args(), options) + manager, err := ptycommand.NewCommandClientContextManager(c.Args(), backendOptions) + if err != nil { + exit(err, 3) + } + app, err := app.New(manager, appOptions) if err != nil { exit(err, 3) } @@ -74,9 +85,6 @@ func main() { exit(err, 4) } } - - cli.AppHelpTemplate = helpTemplate - cmd.Run(os.Args) } From 54403dd67842772fd359e2e892cf42584055c6b9 Mon Sep 17 00:00:00 2001 From: zlji Date: Tue, 10 Jan 2017 11:58:01 +0800 Subject: [PATCH 41/82] exit on resizeTerminal error --- app/client_context.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/client_context.go b/app/client_context.go index b62634e..e14f172 100644 --- a/app/client_context.go +++ b/app/client_context.go @@ -165,7 +165,11 @@ func (context *clientContext) processReceive() { columns = uint16(args.Columns) } - context.ResizeTerminal(columns, rows) + err = context.ResizeTerminal(columns, rows) + if err != nil { + log.Printf("failed to resize terminal %v", err) + return + } default: log.Print("Unknown message type") return From b5c56d57f288e1a807eeec887b765396ed48658b Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Fri, 11 Aug 2017 14:32:32 +0900 Subject: [PATCH 42/82] Remove Gitter link I'm not using it. --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index a382e7b..b78c01c 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,10 @@ [![GitHub release](http://img.shields.io/github/release/yudai/gotty.svg?style=flat-square)][release] [![Wercker](http://img.shields.io/wercker/ci/55d0eeff7331453f0801982c.svg?style=flat-square)][wercker] [![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)][license] -[![Join the chat at https://gitter.im/yudai/gotty](http://img.shields.io/badge/gitter-join%20chat%20%E2%86%92-brightgreen.svg?style=flat-square)][gitter] [release]: https://github.com/yudai/gotty/releases [wercker]: https://app.wercker.com/project/bykey/03b91f441bebeda34f80e09a9f14126f [license]: https://github.com/yudai/gotty/blob/master/LICENSE -[gitter]: https://gitter.im/yudai/gotty?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge GoTTY is a simple command line tool that turns your CLI tools into web applications. From a6133f34b79060410c0a7f6b4e1f07b26d6e1d18 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Sun, 26 Feb 2017 07:37:07 +0900 Subject: [PATCH 43/82] Refactor --- Godeps/Godeps.json | 17 +- Makefile | 10 +- app/app.go | 433 ------------------ app/client_context.go | 178 ------- app/hterm_preferences.go | 58 --- backend/doc.go | 1 + backend/localcommand/doc.go | 3 + backend/localcommand/factory.go | 44 ++ backend/localcommand/local_command.go | 136 ++++++ backend/localcommand/options.go | 20 + backends/interface.go | 19 - backends/ptycommand/.command.go.swp | Bin 12288 -> 0 bytes backends/ptycommand/command.go | 130 ------ main.go | 100 ++-- utils/path.go => pkg/homedir/expand.go | 4 +- pkg/randomstring/generate.go | 18 + resources/gotty.js | 18 +- resources/index.html | 2 +- app/resource.go => server/asset.go | 16 +- server/handlers.go | 238 ++++++++++ server/init_message.go | 6 + .../log_response_writer.go | 8 +- server/middleware.go | 51 +++ server/options.go | 97 ++++ server/run_option.go | 21 + server/server.go | 253 ++++++++++ server/slave.go | 17 + server/timer.go | 17 + utils/flags.go | 4 +- vendor/github.com/braintree/manners/LICENSE | 19 - vendor/github.com/braintree/manners/README.md | 36 -- .../braintree/manners/interfaces.go | 7 - vendor/github.com/braintree/manners/server.go | 228 --------- vendor/github.com/braintree/manners/static.go | 35 -- vendor/github.com/pkg/errors/.gitignore | 24 + vendor/github.com/pkg/errors/.travis.yml | 11 + vendor/github.com/pkg/errors/LICENSE | 23 + vendor/github.com/pkg/errors/README.md | 52 +++ vendor/github.com/pkg/errors/appveyor.yml | 32 ++ vendor/github.com/pkg/errors/errors.go | 269 +++++++++++ vendor/github.com/pkg/errors/stack.go | 178 +++++++ vendor/github.com/yudai/umutex/LICENSE | 21 - vendor/github.com/yudai/umutex/README.md | 53 --- vendor/github.com/yudai/umutex/umutex.go | 38 -- version.go | 3 + webtty/doc.go | 3 + webtty/errors.go | 10 + webtty/master.go | 55 +++ webtty/message_types.go | 29 ++ webtty/option.go | 55 +++ webtty/slave.go | 13 + webtty/webtty.go | 220 +++++++++ webtty/webtty_test.go | 139 ++++++ wercker.yml | 2 +- 54 files changed, 2140 insertions(+), 1334 deletions(-) delete mode 100644 app/app.go delete mode 100644 app/client_context.go delete mode 100644 app/hterm_preferences.go create mode 100644 backend/doc.go create mode 100644 backend/localcommand/doc.go create mode 100644 backend/localcommand/factory.go create mode 100644 backend/localcommand/local_command.go create mode 100644 backend/localcommand/options.go delete mode 100644 backends/interface.go delete mode 100644 backends/ptycommand/.command.go.swp delete mode 100644 backends/ptycommand/command.go rename utils/path.go => pkg/homedir/expand.go (66%) create mode 100644 pkg/randomstring/generate.go rename app/resource.go => server/asset.go (99%) create mode 100644 server/handlers.go create mode 100644 server/init_message.go rename app/http_logger.go => server/log_response_writer.go (57%) create mode 100644 server/middleware.go create mode 100644 server/options.go create mode 100644 server/run_option.go create mode 100644 server/server.go create mode 100644 server/slave.go create mode 100644 server/timer.go delete mode 100644 vendor/github.com/braintree/manners/LICENSE delete mode 100644 vendor/github.com/braintree/manners/README.md delete mode 100644 vendor/github.com/braintree/manners/interfaces.go delete mode 100644 vendor/github.com/braintree/manners/server.go delete mode 100644 vendor/github.com/braintree/manners/static.go create mode 100644 vendor/github.com/pkg/errors/.gitignore create mode 100644 vendor/github.com/pkg/errors/.travis.yml create mode 100644 vendor/github.com/pkg/errors/LICENSE create mode 100644 vendor/github.com/pkg/errors/README.md create mode 100644 vendor/github.com/pkg/errors/appveyor.yml create mode 100644 vendor/github.com/pkg/errors/errors.go create mode 100644 vendor/github.com/pkg/errors/stack.go delete mode 100644 vendor/github.com/yudai/umutex/LICENSE delete mode 100644 vendor/github.com/yudai/umutex/README.md delete mode 100644 vendor/github.com/yudai/umutex/umutex.go create mode 100644 version.go create mode 100644 webtty/doc.go create mode 100644 webtty/errors.go create mode 100644 webtty/master.go create mode 100644 webtty/message_types.go create mode 100644 webtty/option.go create mode 100644 webtty/slave.go create mode 100644 webtty/webtty.go create mode 100644 webtty/webtty_test.go diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 830f2dd..badd8f7 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -2,15 +2,7 @@ "ImportPath": "github.com/yudai/gotty", "GoVersion": "go1.7", "GodepVersion": "v79", - "Packages": [ - "./..." - ], "Deps": [ - { - "ImportPath": "github.com/braintree/manners", - "Comment": "0.4.0-6-g9e2a271", - "Rev": "9e2a2714de21eb092ead2ef56d8c7a60d7928819" - }, { "ImportPath": "github.com/codegangsta/cli", "Comment": "v1.19.1", @@ -37,6 +29,11 @@ "Comment": "release.r56-28-g5cf931e", "Rev": "5cf931ef8f76dccd0910001d74a58a7fca84a83d" }, + { + "ImportPath": "github.com/pkg/errors", + "Comment": "v0.8.0-2-g248dadf", + "Rev": "248dadf4e9068a0b3e79f02ed0a610d935de5302" + }, { "ImportPath": "github.com/yudai/hcl", "Rev": "5fa2393b3552119bf33a69adb1402a1160cba23d" @@ -48,10 +45,6 @@ { "ImportPath": "github.com/yudai/hcl/json", "Rev": "5fa2393b3552119bf33a69adb1402a1160cba23d" - }, - { - "ImportPath": "github.com/yudai/umutex", - "Rev": "18216d265c6bc72c3bb0ad9c8103d47d530b7003" } ] } diff --git a/Makefile b/Makefile index dc1bef5..be1ca79 100644 --- a/Makefile +++ b/Makefile @@ -1,14 +1,14 @@ OUTPUT_DIR = ./builds GIT_COMMIT = `git rev-parse HEAD` -gotty: app/resource.go main.go app/*.go +gotty: server/asset.go main.go server/*.go webtty/*.go backend/*.go godep go build -resource: app/resource.go +asset: server/asset.go -app/resource.go: bindata/static/js/hterm.js bindata/static/js/gotty.js bindata/static/index.html bindata/static/favicon.png - go-bindata -prefix bindata -pkg app -ignore=\\.gitkeep -o app/resource.go bindata/... - gofmt -w app/resource.go +server/asset.go: bindata/static/js/hterm.js bindata/static/js/gotty.js bindata/static/index.html bindata/static/favicon.png + go-bindata -prefix bindata -pkg server -ignore=\\.gitkeep -o server/asset.go bindata/... + gofmt -w server/asset.go bindata: mkdir bindata diff --git a/app/app.go b/app/app.go deleted file mode 100644 index 5cf227a..0000000 --- a/app/app.go +++ /dev/null @@ -1,433 +0,0 @@ -package app - -import ( - "crypto/rand" - "crypto/tls" - "crypto/x509" - "encoding/base64" - "encoding/json" - "errors" - "io/ioutil" - "log" - "math/big" - "net" - "net/http" - "net/url" - "strconv" - "strings" - "sync" - "sync/atomic" - "time" - - "github.com/yudai/gotty/backends" - "github.com/yudai/gotty/utils" - - "github.com/braintree/manners" - "github.com/elazarl/go-bindata-assetfs" - "github.com/gorilla/websocket" - "github.com/yudai/umutex" -) - -type InitMessage struct { - Arguments string `json:"Arguments,omitempty"` - AuthToken string `json:"AuthToken,omitempty"` -} - -type App struct { - manager backends.ClientContextManager - options *Options - - upgrader *websocket.Upgrader - server *manners.GracefulServer - - onceMutex *umutex.UnblockingMutex - timer *time.Timer - - // clientContext writes concurrently - // Use atomic operations. - connections *int64 -} - -type Options struct { - Address string `hcl:"address" flagName:"address" flagSName:"a" flagDescribe:"IP address to listen" default:""` - Port string `hcl:"port" flagName:"port" flagSName:"p" flagDescribe:"Port number to liten" default:"8080"` - PermitWrite bool `hcl:"permit_write" flagName:"permit-write" flagSName:"w" flagDescribe:"Permit clients to write to the TTY (BE CAREFUL)" default:"false"` - EnableBasicAuth bool `hcl:"enable_basic_auth" default:"false"` - Credential string `hcl:"credential" flagName:"credential" flagSName:"c" flagDescribe:"Credential for Basic Authentication (ex: user:pass, default disabled)" default:""` - EnableRandomUrl bool `hcl:"enable_random_url flagName:"random-url" flagSName:"r" flagDescribe:"Add a random string to the URL"" default:"false"` - RandomUrlLength int `hcl:"random_url_length" flagName:"random-url-length" flagDescribe:"Random URL length" default:"8"` - IndexFile string `hcl:"index_file" flagName:"index" flagDescribe:"Custom index.html file" default:""` - EnableTLS bool `hcl:"enable_tls" flagName:"tls" flagSName:"t" flagDescribe:"Enable TLS/SSL" default:"false"` - TLSCrtFile string `hcl:"tls_crt_file" flagName:"tls-crt" flagDescribe:"TLS/SSL certificate file path" default:"~/.gotty.crt"` - TLSKeyFile string `hcl:"tls_key_file" flagName:"tls-key" flagDescribe:"TLS/SSL key file path" default:"~/.gotty.key"` - EnableTLSClientAuth bool `hcl:"enable_tls_client_auth" default:"false"` - TLSCACrtFile string `hcl:"tls_ca_crt_file" flagName:"tls-ca-crt" flagDescribe:"TLS/SSL CA certificate file for client certifications" default:"~/.gotty.ca.crt"` - EnableReconnect bool `hcl:"enable_reconnect" flagName:"reconnect" flagDescribe:"Enable reconnection" default:"false"` - ReconnectTime int `hcl:"reconnect_time" flagName:"reconnect-time" flagDescribe:"Time to reconnect" default:"10"` - MaxConnection int `hcl:"max_connection" flagName:"max-connection" flagDescribe:"Maximum connection to gotty" default:"0"` - Once bool `hcl:"once" flagName:"once" flagDescribe:"Accept only one client and exit on disconnection" default:"false"` - Timeout int `hcl:"timeout" flagName:"timeout" flagDescribe:"Timeout seconds for waiting a client(0 to disable)" default:"0"` - PermitArguments bool `hcl:"permit_arguments" flagName:"permit-arguments" flagDescribe:"Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB)" default:"true"` - Preferences HtermPrefernces `hcl:"preferences"` - RawPreferences map[string]interface{} `hcl:"preferences"` - Width int `hcl:"width" flagName:"width" flagDescribe:"Static width of the screen, 0(default) means dynamically resize" default:"0"` - Height int `hcl:"height" flagName:"height" flagDescribe:"Static height of the screen, 0(default) means dynamically resize" default:"0"` -} - -var Version = "1.0.0" - -func New(manager backends.ClientContextManager, options *Options) (*App, error) { - connections := int64(0) - return &App{ - manager: manager, - options: options, - - upgrader: &websocket.Upgrader{ - ReadBufferSize: 1024, - WriteBufferSize: 1024, - Subprotocols: []string{"gotty"}, - }, - onceMutex: umutex.New(), - connections: &connections, - }, nil -} - -func CheckConfig(options *Options) error { - if options.EnableTLSClientAuth && !options.EnableTLS { - return errors.New("TLS client authentication is enabled, but TLS is not enabled") - } - return nil -} - -func (app *App) Run() error { - if app.options.PermitWrite { - log.Printf("Permitting clients to write input to the PTY.") - } - - if app.options.Once { - log.Printf("Once option is provided, accepting only one client") - } - - path := "" - if app.options.EnableRandomUrl { - path += "/" + generateRandomString(app.options.RandomUrlLength) - } - - endpoint := net.JoinHostPort(app.options.Address, app.options.Port) - - wsHandler := http.HandlerFunc(app.handleWS) - customIndexHandler := http.HandlerFunc(app.handleCustomIndex) - authTokenHandler := http.HandlerFunc(app.handleAuthToken) - staticHandler := http.FileServer( - &assetfs.AssetFS{Asset: Asset, AssetDir: AssetDir, Prefix: "static"}, - ) - - var siteMux = http.NewServeMux() - - if app.options.IndexFile != "" { - log.Printf("Using index file at " + app.options.IndexFile) - siteMux.Handle(path+"/", customIndexHandler) - } else { - siteMux.Handle(path+"/", http.StripPrefix(path+"/", staticHandler)) - } - siteMux.Handle(path+"/auth_token.js", authTokenHandler) - siteMux.Handle(path+"/js/", http.StripPrefix(path+"/", staticHandler)) - siteMux.Handle(path+"/favicon.png", http.StripPrefix(path+"/", staticHandler)) - - siteHandler := http.Handler(siteMux) - - if app.options.EnableBasicAuth { - log.Printf("Using Basic Authentication") - siteHandler = wrapBasicAuth(siteHandler, app.options.Credential) - } - - siteHandler = wrapHeaders(siteHandler) - - wsMux := http.NewServeMux() - wsMux.Handle("/", siteHandler) - wsMux.Handle(path+"/ws", wsHandler) - siteHandler = (http.Handler(wsMux)) - - siteHandler = wrapLogger(siteHandler) - - scheme := "http" - if app.options.EnableTLS { - scheme = "https" - } - if app.options.Address != "" { - log.Printf( - "URL: %s", - (&url.URL{Scheme: scheme, Host: endpoint, Path: path + "/"}).String(), - ) - } else { - for _, address := range listAddresses() { - log.Printf( - "URL: %s", - (&url.URL{ - Scheme: scheme, - Host: net.JoinHostPort(address, app.options.Port), - Path: path + "/", - }).String(), - ) - } - } - - server, err := app.makeServer(endpoint, &siteHandler) - if err != nil { - return errors.New("Failed to build server: " + err.Error()) - } - app.server = manners.NewWithServer( - server, - ) - - if app.options.Timeout > 0 { - app.timer = time.NewTimer(time.Duration(app.options.Timeout) * time.Second) - go func() { - <-app.timer.C - app.Exit() - }() - } - - if app.options.EnableTLS { - crtFile := utils.ExpandHomeDir(app.options.TLSCrtFile) - keyFile := utils.ExpandHomeDir(app.options.TLSKeyFile) - log.Printf("TLS crt file: " + crtFile) - log.Printf("TLS key file: " + keyFile) - - err = app.server.ListenAndServeTLS(crtFile, keyFile) - } else { - err = app.server.ListenAndServe() - } - if err != nil { - return err - } - - log.Printf("Exiting...") - - return nil -} - -func (app *App) makeServer(addr string, handler *http.Handler) (*http.Server, error) { - server := &http.Server{ - Addr: addr, - Handler: *handler, - } - - if app.options.EnableTLSClientAuth { - caFile := utils.ExpandHomeDir(app.options.TLSCACrtFile) - log.Printf("CA file: " + caFile) - caCert, err := ioutil.ReadFile(caFile) - if err != nil { - return nil, errors.New("Could not open CA crt file " + caFile) - } - caCertPool := x509.NewCertPool() - if !caCertPool.AppendCertsFromPEM(caCert) { - return nil, errors.New("Could not parse CA crt file data in " + caFile) - } - tlsConfig := &tls.Config{ - ClientCAs: caCertPool, - ClientAuth: tls.RequireAndVerifyClientCert, - } - server.TLSConfig = tlsConfig - } - - return server, nil -} - -func (app *App) stopTimer() { - if app.options.Timeout > 0 { - app.timer.Stop() - } -} - -func (app *App) restartTimer() { - if app.options.Timeout > 0 { - app.timer.Reset(time.Duration(app.options.Timeout) * time.Second) - } -} - -func (app *App) handleWS(w http.ResponseWriter, r *http.Request) { - app.stopTimer() - connections := atomic.AddInt64(app.connections, 1) - defer func() { - connections := atomic.AddInt64(app.connections, -1) - - if app.options.MaxConnection != 0 { - log.Printf("Connection closed: %s, connections: %d/%d", - r.RemoteAddr, connections, app.options.MaxConnection) - } else { - log.Printf("Connection closed: %s, connections: %d", - r.RemoteAddr, connections) - } - - if connections == 0 { - app.restartTimer() - } - }() - - if int64(app.options.MaxConnection) != 0 { - if connections > int64(app.options.MaxConnection) { - log.Printf("Reached max connection: %d", app.options.MaxConnection) - return - } - } - log.Printf("New client connected: %s", r.RemoteAddr) - - if r.Method != "GET" { - http.Error(w, "Method not allowed", 405) - return - } - - conn, err := app.upgrader.Upgrade(w, r, nil) - if err != nil { - log.Print("Failed to upgrade connection: " + err.Error()) - return - } - defer conn.Close() - - _, stream, err := conn.ReadMessage() - if err != nil { - log.Print("Failed to authenticate websocket connection") - return - } - var init InitMessage - - err = json.Unmarshal(stream, &init) - if err != nil { - log.Printf("Failed to parse init message %v", err) - return - } - if init.AuthToken != app.options.Credential { - log.Print("Failed to authenticate websocket connection") - return - } - - var queryPath string - if app.options.PermitArguments && init.Arguments != "" { - queryPath = init.Arguments - } else { - queryPath = "?" - } - - query, err := url.Parse(queryPath) - if err != nil { - log.Print("Failed to parse arguments") - return - } - params := query.Query() - ctx, err := app.manager.New(params) - if err != nil { - log.Printf("Failed to new client context %v", err) - return - } - - app.server.StartRoutine() - defer app.server.FinishRoutine() - - if app.options.Once { - if app.onceMutex.TryLock() { // no unlock required, it will die soon - log.Printf("Last client accepted, closing the listener.") - app.server.Close() - } else { - log.Printf("Server is already closing.") - conn.Close() - return - } - } - - context := &clientContext{app: app, connection: conn, writeMutex: &sync.Mutex{}, ClientContext: ctx} - context.goHandleClient() -} - -func (app *App) handleCustomIndex(w http.ResponseWriter, r *http.Request) { - http.ServeFile(w, r, utils.ExpandHomeDir(app.options.IndexFile)) -} - -func (app *App) handleAuthToken(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "application/javascript") - w.Write([]byte("var gotty_auth_token = '" + app.options.Credential + "';")) -} - -func (app *App) Exit() (firstCall bool) { - if app.server != nil { - firstCall = app.server.Close() - if firstCall { - log.Printf("Received Exit command, waiting for all clients to close sessions...") - } - return firstCall - } - return true -} - -func wrapLogger(handler http.Handler) http.Handler { - return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - rw := &responseWrapper{w, 200} - handler.ServeHTTP(rw, r) - log.Printf("%s %d %s %s", r.RemoteAddr, rw.status, r.Method, r.URL.Path) - }) -} - -func wrapHeaders(handler http.Handler) http.Handler { - return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Server", "GoTTY/"+Version) - handler.ServeHTTP(w, r) - }) -} - -func wrapBasicAuth(handler http.Handler, credential string) http.Handler { - return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - token := strings.SplitN(r.Header.Get("Authorization"), " ", 2) - - if len(token) != 2 || strings.ToLower(token[0]) != "basic" { - w.Header().Set("WWW-Authenticate", `Basic realm="GoTTY"`) - http.Error(w, "Bad Request", http.StatusUnauthorized) - return - } - - payload, err := base64.StdEncoding.DecodeString(token[1]) - if err != nil { - http.Error(w, "Internal Server Error", http.StatusInternalServerError) - return - } - - if credential != string(payload) { - w.Header().Set("WWW-Authenticate", `Basic realm="GoTTY"`) - http.Error(w, "authorization failed", http.StatusUnauthorized) - return - } - - log.Printf("Basic Authentication Succeeded: %s", r.RemoteAddr) - handler.ServeHTTP(w, r) - }) -} - -func generateRandomString(length int) string { - const base = 36 - size := big.NewInt(base) - n := make([]byte, length) - for i, _ := range n { - c, _ := rand.Int(rand.Reader, size) - n[i] = strconv.FormatInt(c.Int64(), base)[0] - } - return string(n) -} - -func listAddresses() (addresses []string) { - ifaces, _ := net.Interfaces() - - addresses = make([]string, 0, len(ifaces)) - - for _, iface := range ifaces { - ifAddrs, _ := iface.Addrs() - for _, ifAddr := range ifAddrs { - switch v := ifAddr.(type) { - case *net.IPNet: - addresses = append(addresses, v.IP.String()) - case *net.IPAddr: - addresses = append(addresses, v.IP.String()) - } - } - } - - return -} diff --git a/app/client_context.go b/app/client_context.go deleted file mode 100644 index e14f172..0000000 --- a/app/client_context.go +++ /dev/null @@ -1,178 +0,0 @@ -package app - -import ( - "encoding/base64" - "encoding/json" - "log" - "strings" - "sync" - - "github.com/fatih/structs" - "github.com/gorilla/websocket" - "github.com/yudai/gotty/backends" -) - -type clientContext struct { - backends.ClientContext - app *App - connection *websocket.Conn - writeMutex *sync.Mutex -} - -const ( - Input = '0' - Ping = '1' - ResizeTerminal = '2' -) - -const ( - Output = '0' - Pong = '1' - SetWindowTitle = '2' - SetPreferences = '3' - SetReconnect = '4' -) - -type argResizeTerminal struct { - Columns float64 - Rows float64 -} - -func (context *clientContext) goHandleClient() { - exit := make(chan bool, 3) - - context.Start(exit) - - go func() { - defer func() { exit <- true }() - context.processSend() - }() - - go func() { - defer func() { exit <- true }() - context.processReceive() - }() - - <-exit - context.TearDown() -} - -func (context *clientContext) processSend() { - if err := context.sendInitialize(); err != nil { - log.Printf(err.Error()) - return - } - - buf := make([]byte, 1024) - - for { - size, err := context.OutputReader().Read(buf) - if err != nil { - log.Printf("failed to read output from terminal backend: %v", err) - return - } - safeMessage := base64.StdEncoding.EncodeToString([]byte(buf[:size])) - if err = context.write(append([]byte{Output}, []byte(safeMessage)...)); err != nil { - log.Printf(err.Error()) - return - } - } -} - -func (context *clientContext) write(data []byte) error { - context.writeMutex.Lock() - defer context.writeMutex.Unlock() - return context.connection.WriteMessage(websocket.TextMessage, data) -} - -func (context *clientContext) sendInitialize() error { - windowTitle, err := context.WindowTitle() - if err != nil { - return err - } - if err := context.write(append([]byte{SetWindowTitle}, []byte(windowTitle)...)); err != nil { - return err - } - - prefStruct := structs.New(context.app.options.Preferences) - prefMap := prefStruct.Map() - htermPrefs := make(map[string]interface{}) - for key, value := range prefMap { - rawKey := prefStruct.Field(key).Tag("hcl") - if _, ok := context.app.options.RawPreferences[rawKey]; ok { - htermPrefs[strings.Replace(rawKey, "_", "-", -1)] = value - } - } - prefs, err := json.Marshal(htermPrefs) - if err != nil { - return err - } - - if err := context.write(append([]byte{SetPreferences}, prefs...)); err != nil { - return err - } - if context.app.options.EnableReconnect { - reconnect, _ := json.Marshal(context.app.options.ReconnectTime) - if err := context.write(append([]byte{SetReconnect}, reconnect...)); err != nil { - return err - } - } - return nil -} - -func (context *clientContext) processReceive() { - for { - _, data, err := context.connection.ReadMessage() - if err != nil { - log.Print(err.Error()) - return - } - if len(data) == 0 { - log.Print("An error has occured") - return - } - - switch data[0] { - case Input: - if !context.app.options.PermitWrite { - break - } - - _, err := context.InputWriter().Write(data[1:]) - if err != nil { - return - } - - case Ping: - if err := context.write([]byte{Pong}); err != nil { - log.Print(err.Error()) - return - } - case ResizeTerminal: - var args argResizeTerminal - err = json.Unmarshal(data[1:], &args) - if err != nil { - log.Print("Malformed remote command") - return - } - rows := uint16(context.app.options.Height) - if rows == 0 { - rows = uint16(args.Rows) - } - - columns := uint16(context.app.options.Width) - if columns == 0 { - columns = uint16(args.Columns) - } - - err = context.ResizeTerminal(columns, rows) - if err != nil { - log.Printf("failed to resize terminal %v", err) - return - } - default: - log.Print("Unknown message type") - return - } - } -} diff --git a/app/hterm_preferences.go b/app/hterm_preferences.go deleted file mode 100644 index 66637ce..0000000 --- a/app/hterm_preferences.go +++ /dev/null @@ -1,58 +0,0 @@ -package app - -type HtermPrefernces struct { - AltGrMode *string `hcl:"alt_gr_mode"` - AltBackspaceIsMetaBackspace bool `hcl:"alt_backspace_is_meta_backspace"` - AltIsMeta bool `hcl:"alt_is_meta"` - AltSendsWhat string `hcl:"alt_sends_what"` - AudibleBellSound string `hcl:"audible_bell_sound"` - DesktopNotificationBell bool `hcl:"desktop_notification_bell"` - BackgroundColor string `hcl:"background_color"` - BackgroundImage string `hcl:"background_image"` - BackgroundSize string `hcl:"background_size"` - BackgroundPosition string `hcl:"background_position"` - BackspaceSendsBackspace bool `hcl:"backspace_sends_backspace"` - CharacterMapOverrides map[string]map[string]string `hcl:"character_map_overrides"` - CloseOnExit bool `hcl:"close_on_exit"` - CursorBlink bool `hcl:"cursor_blink"` - CursorBlinkCycle [2]int `hcl:"cursor_blink_cycle"` - CursorColor string `hcl:"cursor_color"` - ColorPaletteOverrides []*string `hcl:"color_palette_overrides"` - CopyOnSelect bool `hcl:"copy_on_select"` - UseDefaultWindowCopy bool `hcl:"use_default_window_copy"` - ClearSelectionAfterCopy bool `hcl:"clear_selection_after_copy"` - CtrlPlusMinusZeroZoom bool `hcl:"ctrl_plus_minus_zero_zoom"` - CtrlCCopy bool `hcl:"ctrl_c_copy"` - CtrlVPaste bool `hcl:"ctrl_v_paste"` - EastAsianAmbiguousAsTwoColumn bool `hcl:"east_asian_ambiguous_as_two_column"` - Enable8BitControl *bool `hcl:"enable_8_bit_control"` - EnableBold *bool `hcl:"enable_bold"` - EnableBoldAsBright bool `hcl:"enable_bold_as_bright"` - EnableClipboardNotice bool `hcl:"enable_clipboard_notice"` - EnableClipboardWrite bool `hcl:"enable_clipboard_write"` - EnableDec12 bool `hcl:"enable_dec12"` - Environment map[string]string `hcl:"environment"` - FontFamily string `hcl:"font_family"` - FontSize int `hcl:"font_size"` - FontSmoothing string `hcl:"font_smoothing"` - ForegroundColor string `hcl:"foreground_color"` - HomeKeysScroll bool `hcl:"home_keys_scroll"` - Keybindings map[string]string `hcl:"keybindings"` - MaxStringSequence int `hcl:"max_string_sequence"` - MediaKeysAreFkeys bool `hcl:"media_keys_are_fkeys"` - MetaSendsEscape bool `hcl:"meta_sends_escape"` - MousePasteButton *int `hcl:"mouse_paste_button"` - PageKeysScroll bool `hcl:"page_keys_scroll"` - PassAltNumber *bool `hcl:"pass_alt_number"` - PassCtrlNumber *bool `hcl:"pass_ctrl_number"` - PassMetaNumber *bool `hcl:"pass_meta_number"` - PassMetaV bool `hcl:"pass_meta_v"` - ReceiveEncoding string `hcl:"receive_encoding"` - ScrollOnKeystroke bool `hcl:"scroll_on_keystroke"` - ScrollOnOutput bool `hcl:"scroll_on_output"` - ScrollbarVisible bool `hcl:"scrollbar_visible"` - ScrollWheelMoveMultiplier int `hcl:"scroll_wheel_move_multiplier"` - SendEncoding string `hcl:"send_encoding"` - ShiftInsertPaste bool `hcl:"shift_insert_paste"` - UserCss string `hcl:"user_css"` -} diff --git a/backend/doc.go b/backend/doc.go new file mode 100644 index 0000000..2480943 --- /dev/null +++ b/backend/doc.go @@ -0,0 +1 @@ +package backend diff --git a/backend/localcommand/doc.go b/backend/localcommand/doc.go new file mode 100644 index 0000000..47cc2b7 --- /dev/null +++ b/backend/localcommand/doc.go @@ -0,0 +1,3 @@ +// Package localcommand provides an implementation of webtty.Slave +// that launches a local command with a PTY. +package localcommand diff --git a/backend/localcommand/factory.go b/backend/localcommand/factory.go new file mode 100644 index 0000000..146df36 --- /dev/null +++ b/backend/localcommand/factory.go @@ -0,0 +1,44 @@ +package localcommand + +import ( + "syscall" + + "github.com/yudai/gotty/server" +) + +type Options struct { + CloseSignal int `hcl:"close_signal" flagName:"close-signal" flagSName:"" flagDescribe:"Signal sent to the command process when gotty close it (default: SIGHUP)" default:"1"` + CloseTimeout int `hcl:"close_timeout" flagName:"close-timeout" flagSName:"" flagDescribe:"Time in seconds to force kill process after client is disconnected (default: -1)" default:"-1"` +} + +type Factory struct { + command string + argv []string + options *Options +} + +func NewFactory(command string, argv []string, options *Options) (*Factory, error) { + return &Factory{ + command: command, + argv: argv, + options: options, + }, nil +} + +func (factory *Factory) Name() string { + return "local command" +} + +func (factory *Factory) New(params map[string][]string) (server.Slave, error) { + argv := make([]string, len(factory.argv)) + copy(argv, factory.argv) + if params["arg"] != nil && len(params["arg"]) > 0 { + argv = append(argv, params["arg"]...) + } + return New( + factory.command, + argv, + WithCloseSignal(syscall.Signal(factory.options.CloseSignal)), + WithCloseSignal(syscall.Signal(factory.options.CloseTimeout)), + ) +} diff --git a/backend/localcommand/local_command.go b/backend/localcommand/local_command.go new file mode 100644 index 0000000..449e620 --- /dev/null +++ b/backend/localcommand/local_command.go @@ -0,0 +1,136 @@ +package localcommand + +import ( + "os" + "os/exec" + "syscall" + "time" + "unsafe" + + "github.com/kr/pty" + "github.com/pkg/errors" +) + +const ( + DefaultCloseSignal = syscall.SIGINT + DefaultCloseTimeout = 10 * time.Second +) + +type LocalCommand struct { + command string + argv []string + + closeSignal syscall.Signal + closeTimeout time.Duration + + cmd *exec.Cmd + pty *os.File + ptyClosed chan struct{} +} + +func New(command string, argv []string, options ...Option) (*LocalCommand, error) { + cmd := exec.Command(command, argv...) + + pty, err := pty.Start(cmd) + if err != nil { + // todo close cmd? + return nil, errors.Wrapf(err, "failed to start command `%s`", command) + } + ptyClosed := make(chan struct{}) + + lcmd := &LocalCommand{ + command: command, + argv: argv, + + closeSignal: DefaultCloseSignal, + closeTimeout: DefaultCloseTimeout, + + cmd: cmd, + pty: pty, + ptyClosed: ptyClosed, + } + + for _, option := range options { + option(lcmd) + } + + // When the process is closed by the user, + // close pty so that Read() on the pty breaks with an EOF. + go func() { + defer func() { + lcmd.pty.Close() + close(lcmd.ptyClosed) + }() + + lcmd.cmd.Wait() + }() + + return lcmd, nil +} + +func (lcmd *LocalCommand) Read(p []byte) (n int, err error) { + return lcmd.pty.Read(p) +} + +func (lcmd *LocalCommand) Write(p []byte) (n int, err error) { + return lcmd.pty.Write(p) +} + +func (lcmd *LocalCommand) Close() error { + if lcmd.cmd != nil && lcmd.cmd.Process != nil { + lcmd.cmd.Process.Signal(lcmd.closeSignal) + } + for { + select { + case <-lcmd.ptyClosed: + return nil + case <-lcmd.closeTimeoutC(): + lcmd.cmd.Process.Signal(syscall.SIGKILL) + } + } +} + +func (lcmd *LocalCommand) WindowTitleVariables() map[string]interface{} { + return map[string]interface{}{ + "command": lcmd.command, + "argv": lcmd.argv, + "pid": lcmd.cmd.Process.Pid, + } +} + +func (lcmd *LocalCommand) ResizeTerminal(width int, height int) error { + window := struct { + row uint16 + col uint16 + x uint16 + y uint16 + }{ + uint16(height), + uint16(width), + 0, + 0, + } + _, _, errno := syscall.Syscall( + syscall.SYS_IOCTL, + lcmd.pty.Fd(), + syscall.TIOCSWINSZ, + uintptr(unsafe.Pointer(&window)), + ) + if errno != 0 { + return errno + } else { + return nil + } +} + +func (lcmd *LocalCommand) GetTerminalSize() (int, int, error) { + return pty.Getsize(lcmd.pty) +} + +func (lcmd *LocalCommand) closeTimeoutC() <-chan time.Time { + if lcmd.closeTimeout >= 0 { + return time.After(lcmd.closeTimeout) + } + + return make(chan time.Time) +} diff --git a/backend/localcommand/options.go b/backend/localcommand/options.go new file mode 100644 index 0000000..72af01f --- /dev/null +++ b/backend/localcommand/options.go @@ -0,0 +1,20 @@ +package localcommand + +import ( + "syscall" + "time" +) + +type Option func(*LocalCommand) + +func WithCloseSignal(signal syscall.Signal) Option { + return func(lcmd *LocalCommand) { + lcmd.closeSignal = signal + } +} + +func WithCloseTimeout(timeout time.Duration) Option { + return func(lcmd *LocalCommand) { + lcmd.closeTimeout = timeout + } +} diff --git a/backends/interface.go b/backends/interface.go deleted file mode 100644 index 33f75c1..0000000 --- a/backends/interface.go +++ /dev/null @@ -1,19 +0,0 @@ -package backends - -import ( - "io" - "net/url" -) - -type ClientContextManager interface { - New(params url.Values) (ClientContext, error) -} - -type ClientContext interface { - WindowTitle() (string, error) - Start(exitCh chan bool) - InputWriter() io.Writer - OutputReader() io.Reader - ResizeTerminal(width, height uint16) error - TearDown() error -} diff --git a/backends/ptycommand/.command.go.swp b/backends/ptycommand/.command.go.swp deleted file mode 100644 index 936a131829f7927ab0647c1eaf87490d23ab3fb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2ON<;x8OJLQh75K9;YdM9NaaCZdRDVNyMBQNe1P?95wTaEv5jpu>)xK4nPz*s zM%~r>$ZCmX9>PIbK_Z9<2_F&(i38$-I3Rgy7pZ=}P~&>adu$;%rsShzPgw1`SjUhi}Jcupj4n# zpj4n#pj4n#pj4n#pj6-?S3nIPVb5ZXJM22I*xyI)`nARKr&OR+pj4n#pj4n#pj4n# zpj4n#pj4n#pj4n#;Qvs80RO@N7yPmRpGPry{QtlE`~P2`Wb7Sq8~hdA0yn{*!5_fy zz^}n|a1DG9d>32>i{R_vBsc+Pz_XvgIFB>-Cb$V+0zU!IgEeptv_T8p-p$xAz;oar zm;tZvV(c~WD!2}w2Uoyl@HAKecRr41!5iTB;OF24@KewQ4KM}j;2#yn{sjIAeg$3t zKL830!5J_Go&-;TJ>cEP82csoF?bI2K^F)x0T}rA$IvhM4R{$`13v;+!4JV4I0O!W z{ouWiGWJjKcknlG7381~E`d|vtKbMY04Bjcz`^Ihot=!m4Q_!O;6?B=@O`iXVz3Cl z1ulXMU@zDWc7eA(0zE+=d=~5kJHUV859AZ?lV6mdhf0A>R!N1*(}X8c%ql2WLYXMB zru=Zw@y`d5@@jWg&ZjaIS?0H*UJ}G!ww{GS9J``>e9%jMIaHBMGJiIfnJ~?3=q>7U z*9wF1y+>$pJ~2_O_3bF`?gpzg8vKk1I^Hyo5=g^f+D* z;;JuPBi@lB`GVqNEmFFhV=E%zm<6?&Z(rd301pe);jN@hbn1+aRKN>IX8Mq!nta%Y>HjYH1W{qk!-WEZ6RIVnNl}J;W@(soyD=E88X)fYS;O3|rtrMxm(O0za zX}VAH=TV}DD)sUt3%bIemne(Wn^=vKj$EzP>S*Ka(4IRz+d4mYs&$cSozS$7OQD$PTMB|nhPXG9h~BibSzMC65LLflNpcD~&LR{eq?4>r*0 zTn%$Yo(IKiJd(b-wub#*yPZqW>-jVyJL+D|we7VSh%g;L!tp%^_t@O>8*=B_KL5%T zhj0Rd$Fhg8f&5*s+6|&uAPOX84N`^B(r?Z2eJfRMW)p_6cOk&^5c)2egFL21&pMB% zjPQU#V4kxR4EsUCm!ynq+a*(xipAIRZdarj2=ng2J-70Z6}D>T>jHyj=1fQ_Mt9N{ zgJB#f;U8NQVXlN%=(^5z;arerwJ(!{7ZzM-M*SvY)mvIuBJ<6xYRCg*h?6o?NiYyi z-nUoe`SVey2@l7|&4)6kOOCipjckrU!)=WM9XvW@T<7Hekic|o`h_L8y5OS*qxEbH z8de!ijxW+3nfb2o2hCmQbvkL2UEq^OMLVo<3&aou`cYSKRMh99LU<>H>qQq^s$HGdwVF1)cF>zxIS$H{2LLAEoQ^3sBd z$dNdF^0Yb6z}{mwf7`=dR^K*tJ~^7RTMet&shXf4jiL`B+o$s3K46F5?g|A>odquU z!?QmWbrjMJ&>FWBaV*Q6q z*Bm{0hI1P2h;;08R<`FzzS_s}Prqz#4uL#U+;hv|t+^8?&(7Bh3!A}=bwpa9C@2sA ztrp&6Urrkc>nhAytR44uyKZBScvZBfQ+UI<3su-d8C}Y(L5aa!(sv?M0~v`faSWiJ hNYXb#l795IR%Ov(C~+9@@P{qls7FepUEWH;J^&GPcb5PF diff --git a/backends/ptycommand/command.go b/backends/ptycommand/command.go deleted file mode 100644 index e335cf6..0000000 --- a/backends/ptycommand/command.go +++ /dev/null @@ -1,130 +0,0 @@ -package ptycommand - -import ( - "bytes" - "fmt" - "io" - "log" - "net/url" - "os" - "os/exec" - "syscall" - "text/template" - "unsafe" - - "github.com/yudai/gotty/backends" - - "github.com/kr/pty" -) - -type Options struct { - CloseSignal int `hcl:"close_signal" flagName:"close-signal" flagSName:"" flagDescribe:"Signal sent to the command process when gotty close it (default: SIGHUP)" default:"1"` - TitleFormat string `hcl:"title_format" flagName:"title-format" flagSName:"" flagDescribe:"Title format of browser window" default:"GoTTY - {{ .Command }} ({{ .Hostname }})"` -} - -type CommandClientContextManager struct { - command []string - - options *Options - titleTemplate *template.Template -} - -func NewCommandClientContextManager(command []string, options *Options) (*CommandClientContextManager, error) { - titleTemplate, err := template.New("title").Parse(options.TitleFormat) - if err != nil { - return nil, fmt.Errorf("Title format string syntax error: %v", options.TitleFormat) - } - return &CommandClientContextManager{command: command, options: options, titleTemplate: titleTemplate}, nil -} - -type CommandClientContext struct { - cmd *exec.Cmd - pty *os.File - mgr *CommandClientContextManager -} - -func (mgr *CommandClientContextManager) New(params url.Values) (backends.ClientContext, error) { - argv := mgr.command[1:] - args := params["arg"] - if len(args) != 0 { - argv = append(argv, args...) - } - - cmd := exec.Command(mgr.command[0], argv...) - return &CommandClientContext{cmd: cmd, mgr: mgr}, nil -} - -func (context *CommandClientContext) WindowTitle() (title string, err error) { - hostname, _ := os.Hostname() - - titleVars := struct { - Command string - Pid int - Hostname string - }{ - Command: context.cmd.Path, - Pid: context.cmd.Process.Pid, - Hostname: hostname, - } - - titleBuffer := new(bytes.Buffer) - if err := context.mgr.titleTemplate.Execute(titleBuffer, titleVars); err != nil { - return "", err - } - return titleBuffer.String(), nil -} - -func (context *CommandClientContext) Start(exitCh chan bool) { - ptyIo, err := pty.Start(context.cmd) - if err != nil { - log.Printf("failed to start command %v", err) - exitCh <- true - } else { - context.pty = ptyIo - } -} - -func (context *CommandClientContext) InputWriter() io.Writer { - return context.pty -} - -func (context *CommandClientContext) OutputReader() io.Reader { - return context.pty -} - -func (context *CommandClientContext) ResizeTerminal(width, height uint16) error { - window := struct { - row uint16 - col uint16 - x uint16 - y uint16 - }{ - height, - width, - 0, - 0, - } - _, _, errno := syscall.Syscall( - syscall.SYS_IOCTL, - context.pty.Fd(), - syscall.TIOCSWINSZ, - uintptr(unsafe.Pointer(&window)), - ) - if errno != 0 { - return errno - } else { - return nil - } -} - -func (context *CommandClientContext) TearDown() error { - context.pty.Close() - - // Even if the PTY has been closed, - // Read(0 in processSend() keeps blocking and the process doen't exit - if context.cmd != nil && context.cmd.Process != nil { - context.cmd.Process.Signal(syscall.Signal(context.mgr.options.CloseSignal)) - context.cmd.Wait() - } - return nil -} diff --git a/main.go b/main.go index 2da05d1..8e0c03f 100644 --- a/main.go +++ b/main.go @@ -1,6 +1,7 @@ package main import ( + "context" "fmt" "os" "os/signal" @@ -8,24 +9,25 @@ import ( "github.com/codegangsta/cli" - "github.com/yudai/gotty/app" - "github.com/yudai/gotty/backends/ptycommand" + "github.com/yudai/gotty/backend/localcommand" + "github.com/yudai/gotty/pkg/homedir" + "github.com/yudai/gotty/server" "github.com/yudai/gotty/utils" ) func main() { - cmd := cli.NewApp() - cmd.Name = "gotty" - cmd.Version = app.Version - cmd.Usage = "Share your terminal as a web application" - cmd.HideHelp = true + app := cli.NewApp() + app.Name = "gotty" + app.Version = Version + app.Usage = "Share your terminal as a web application" + app.HideHelp = true cli.AppHelpTemplate = helpTemplate - appOptions := &app.Options{} + appOptions := &server.Options{} if err := utils.ApplyDefaultValues(appOptions); err != nil { exit(err, 1) } - backendOptions := &ptycommand.Options{} + backendOptions := &localcommand.Options{} if err := utils.ApplyDefaultValues(backendOptions); err != nil { exit(err, 1) } @@ -35,7 +37,7 @@ func main() { exit(err, 3) } - cmd.Flags = append( + app.Flags = append( cliFlags, cli.StringFlag{ Name: "config", @@ -45,7 +47,7 @@ func main() { }, ) - cmd.Action = func(c *cli.Context) { + app.Action = func(c *cli.Context) { if len(c.Args()) == 0 { msg := "Error: No command given." cli.ShowAppHelp(c) @@ -53,7 +55,7 @@ func main() { } configFile := c.String("config") - _, err := os.Stat(utils.ExpandHomeDir(configFile)) + _, err := os.Stat(homedir.Expand(configFile)) if configFile != "~/.gotty" || !os.IsNotExist(err) { if err := utils.ApplyConfigFile(configFile, appOptions, backendOptions); err != nil { exit(err, 2) @@ -65,27 +67,45 @@ func main() { appOptions.EnableBasicAuth = c.IsSet("credential") appOptions.EnableTLSClientAuth = c.IsSet("tls-ca-crt") - if err := app.CheckConfig(appOptions); err != nil { + err = appOptions.Validate() + if err != nil { exit(err, 6) } - manager, err := ptycommand.NewCommandClientContextManager(c.Args(), backendOptions) - if err != nil { - exit(err, 3) - } - app, err := app.New(manager, appOptions) + args := c.Args() + factory, err := localcommand.NewFactory(args[0], args[1:], backendOptions) if err != nil { exit(err, 3) } - registerSignals(app) - - err = app.Run() - if err != nil { - exit(err, 4) + hostname, _ := os.Hostname() + appOptions.TitleVariables = map[string]interface{}{ + "command": args[0], + "argv": args[1:], + "hostname": hostname, } + + srv, err := server.New(factory, appOptions) + if err != nil { + exit(err, 3) + } + + ctx, cancel := context.WithCancel(context.Background()) + gCtx, gCancel := context.WithCancel(context.Background()) + + errs := make(chan error, 1) + go func() { + errs <- srv.Run(ctx, server.WithGracefullContext(gCtx)) + }() + err = waitSignals(errs, cancel, gCancel) + + if err != nil && err != context.Canceled { + fmt.Printf("Error: %s\n", err) + exit(err, 8) + } + } - cmd.Run(os.Args) + app.Run(os.Args) } func exit(err error, code int) { @@ -95,7 +115,7 @@ func exit(err error, code int) { os.Exit(code) } -func registerSignals(app *app.App) { +func waitSignals(errs chan error, cancel context.CancelFunc, gracefullCancel context.CancelFunc) error { sigChan := make(chan os.Signal, 1) signal.Notify( sigChan, @@ -103,17 +123,25 @@ func registerSignals(app *app.App) { syscall.SIGTERM, ) - go func() { - for { - s := <-sigChan - switch s { - case syscall.SIGINT, syscall.SIGTERM: - if app.Exit() { - fmt.Println("Send ^C to force exit.") - } else { - os.Exit(5) - } + select { + case err := <-errs: + return err + + case s := <-sigChan: + switch s { + case syscall.SIGINT: + gracefullCancel() + fmt.Println("C-C to force close") + select { + case err := <-errs: + return err + case <-sigChan: + cancel() + return <-errs } + default: + cancel() + return <-errs } - }() + } } diff --git a/utils/path.go b/pkg/homedir/expand.go similarity index 66% rename from utils/path.go rename to pkg/homedir/expand.go index 4230593..724a203 100644 --- a/utils/path.go +++ b/pkg/homedir/expand.go @@ -1,10 +1,10 @@ -package utils +package homedir import ( "os" ) -func ExpandHomeDir(path string) string { +func Expand(path string) string { if path[0:2] == "~/" { return os.Getenv("HOME") + path[1:] } else { diff --git a/pkg/randomstring/generate.go b/pkg/randomstring/generate.go new file mode 100644 index 0000000..b5062ce --- /dev/null +++ b/pkg/randomstring/generate.go @@ -0,0 +1,18 @@ +package randomstring + +import ( + "crypto/rand" + "math/big" + "strconv" +) + +func Generate(length int) string { + const base = 36 + size := big.NewInt(base) + n := make([]byte, length) + for i, _ := range n { + c, _ := rand.Int(rand.Reader, size) + n[i] = strconv.FormatInt(c.Int64(), base)[0] + } + return string(n) +} diff --git a/resources/gotty.js b/resources/gotty.js index c6efdaf..9235e81 100644 --- a/resources/gotty.js +++ b/resources/gotty.js @@ -2,7 +2,7 @@ var httpsEnabled = window.location.protocol == "https:"; var args = window.location.search; var url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws'; - var protocols = ["gotty"]; + var protocols = ["webtty"]; var autoReconnect = -1; var openWs = function() { @@ -26,14 +26,14 @@ var io = term.io.push(); io.onVTKeystroke = function(str) { - ws.send("0" + str); + ws.send("1" + str); }; io.sendString = io.onVTKeystroke; io.onTerminalResize = function(columns, rows) { ws.send( - "2" + JSON.stringify( + "3" + JSON.stringify( { columns: columns, rows: rows, @@ -51,23 +51,23 @@ ws.onmessage = function(event) { data = event.data.slice(1); switch(event.data[0]) { - case '0': + case '1': term.io.writeUTF8(window.atob(data)); break; - case '1': + case '2': // pong break; - case '2': + case '3': term.setWindowTitle(data); break; - case '3': + case '4': preferences = JSON.parse(data); Object.keys(preferences).forEach(function(key) { console.log("Setting " + key + ": " + preferences[key]); term.getPrefs().set(key, preferences[key]); }); break; - case '4': + case '5': autoReconnect = JSON.parse(data); console.log("Enabling reconnect: " + autoReconnect + " seconds") break; @@ -88,7 +88,7 @@ var sendPing = function(ws) { - ws.send("1"); + ws.send("2"); } openWs(); diff --git a/resources/index.html b/resources/index.html index 5212a47..d780aaa 100644 --- a/resources/index.html +++ b/resources/index.html @@ -1,7 +1,7 @@ - GoTTY + {{ .title }} diff --git a/app/resource.go b/server/asset.go similarity index 99% rename from app/resource.go rename to server/asset.go index cdcc028..45f700e 100644 --- a/app/resource.go +++ b/server/asset.go @@ -6,7 +6,7 @@ // bindata/static/js/hterm.js // DO NOT EDIT! -package app +package server import ( "bytes" @@ -71,7 +71,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _staticFaviconPng = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x00\x5f\x03\xa0\xfc\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\x00\x00\x20\x00\x00\x00\x20\x08\x03\x00\x00\x00\x44\xa4\x8a\xc6\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\x00\x41\x64\x6f\x62\x65\x20\x49\x6d\x61\x67\x65\x52\x65\x61\x64\x79\x71\xc9\x65\x3c\x00\x00\x01\xa4\x50\x4c\x54\x45\x1c\x1c\x1c\x2e\x2e\x2e\x1a\x1a\x1a\x25\x25\x25\x26\x26\x26\x24\x24\x24\x4e\x4e\x4e\x5f\x5f\x5f\x20\x20\x20\x1e\x1e\x1e\x1f\x1f\x1f\x22\x22\x22\x1d\x1d\x1d\x21\x21\x21\x3b\x3b\x3b\x19\x19\x19\x16\x16\x16\x2c\x2c\x2c\x29\x29\x29\x28\x28\x28\x27\x27\x27\x2b\x2b\x2b\x2a\x2a\x2a\x2d\x2d\x2d\x2f\x2f\x2f\x00\xac\x3a\x00\xa9\x3a\x60\x60\x60\x3a\x3a\x3a\x00\xae\x3b\x05\x9a\x38\x5e\x5e\x5e\x25\x24\x24\x52\x52\x52\x18\x18\x18\x39\x39\x39\x55\x55\x55\x5c\x5c\x5c\x5d\x5d\x5d\x37\x37\x37\x32\x32\x32\x50\x50\x50\x61\x61\x61\x5b\x5b\x5b\x4f\x4f\x4f\x58\x58\x58\x53\x53\x53\x59\x59\x59\x30\x27\x2d\x28\x1e\x24\x56\x56\x56\x54\x54\x54\x14\x14\x14\x2f\x2c\x2e\x17\x17\x17\x1b\x1b\x1b\x44\x44\x44\x35\x35\x35\x33\x33\x33\x4a\x4a\x4a\x36\x36\x36\x38\x38\x38\x20\x62\x36\x34\x34\x34\x30\x30\x30\x31\x31\x31\x23\x24\x24\x75\x75\x75\x2a\x22\x27\x20\x55\x32\x2e\x2b\x2d\x27\x1f\x24\x2e\x2a\x2d\x29\x26\x28\x62\x62\x62\x25\x21\x24\x26\x25\x25\x26\x2e\x29\x2b\x28\x2a\x20\x60\x36\x1f\x3b\x29\x2d\x25\x2b\x1f\x53\x32\x11\x70\x32\x25\x24\x25\x1d\x4f\x2e\x25\x29\x27\x1f\x52\x31\x00\xb1\x3b\x27\x2e\x2a\x77\x77\x77\x28\x2f\x2b\x2a\x31\x2d\x00\xb6\x3c\x23\x23\x23\x28\x25\x27\x2f\x2e\x2f\x11\x71\x32\x5a\x5a\x5a\x14\x66\x30\x30\x28\x2d\x2e\x25\x2c\x22\x5a\x35\x1e\x51\x2f\x2e\x31\x2f\x29\x21\x26\x2a\x3e\x31\x25\x26\x26\x2b\x32\x2d\x1c\x4f\x2d\x2c\x24\x2a\x30\x26\x2c\x28\x20\x25\x57\x57\x57\x00\xae\x3a\x27\x25\x26\x2a\x27\x29\x2c\x29\x2b\x25\x2d\x28\x00\xaf\x3b\x2c\x34\x2f\x22\x23\x23\x27\x1e\x24\x29\x30\x2c\x2b\x33\x2e\x04\xa0\x3a\x26\x23\x25\x1a\x50\x2d\x1f\x51\x30\x00\xb5\x3b\x00\xb3\x3b\x2b\x23\x28\x03\xa0\x39\x11\x6e\x31\x05\x99\x38\x1d\x50\x2f\x00\xb4\x3c\x2d\x2a\x2c\x63\x63\x63\x2f\x2b\x2e\x63\xda\xc5\x2e\x00\x00\x01\x51\x49\x44\x41\x54\x38\xcb\x85\xcc\xd5\x76\xc2\x40\x14\x40\xd1\x0b\x24\x78\x25\x81\x00\x2d\x69\x53\xdc\xdd\x1d\xea\xee\xee\xee\xee\xee\xde\x9f\x6e\xf2\x3c\x0c\xec\xe7\xb3\x0e\xcc\x72\x46\x19\x96\x91\x6b\x03\x2e\xc9\xd6\x62\xb1\x49\x1b\xfc\xb2\x54\x2c\x18\x0c\xae\x8b\xca\xa1\x58\x37\xf4\xb2\xdd\xbb\xf9\xa1\xfc\xe6\xf6\xb2\x01\xa5\x67\x8d\xe0\xb6\x1c\x75\xbc\x5c\xbd\x3e\x5c\xc7\xca\x1d\x2c\x42\xb0\x31\x7a\xda\xd8\xd0\x7c\xff\x87\x09\x8c\xb9\x91\xa9\x26\x3e\xd8\xef\xd4\xa3\x98\x9c\x0c\x64\x8e\xc3\x67\x21\x98\xff\xa1\x50\x3a\x07\xc7\x07\x6f\x5b\x42\x70\x77\xc1\xa0\x68\x3e\xe0\xb2\xed\x5f\x42\x30\x37\xa8\x43\x69\xb2\x76\xb0\xa7\x76\x26\x84\x60\xe6\x9c\x46\x69\x53\x36\xb0\x15\x8e\x0f\xf8\xe0\x73\xa0\x47\x83\x22\x0a\x1e\xb0\xa5\x6f\x9f\x16\xa6\xbf\xdf\x2f\x97\xb4\x28\x49\xda\x03\x1e\x67\xdf\xf0\xca\xc7\xd8\xda\xe4\x19\x81\x22\x9d\xab\x10\x70\xb6\x3e\x86\x42\xa1\xae\xfe\xbd\xb2\x81\x0f\x02\xa5\x9b\x16\xc1\xb8\xa4\x8c\xc5\x12\x1f\x14\x55\x24\x96\xaa\xe8\x83\x13\x91\x5c\x85\x25\x17\x85\x21\xac\x57\xd6\x60\x29\xf5\x56\x08\x53\x0a\x39\x96\x82\xb2\x82\x95\x51\x2b\xb1\xd4\x8c\x15\x22\x3a\x50\x60\x81\x2e\x02\x7e\x3a\xa1\xc6\x4a\xd0\x7e\x30\xd1\x62\xc0\x12\x0b\x81\xa6\x52\xa0\x31\x55\x09\xb4\x26\x70\x11\x66\x31\x96\x59\xeb\xaa\x16\x78\xf9\x20\x5e\x87\x15\x27\xbc\xe0\x25\xa3\xf5\x58\x51\x52\x0a\x19\x03\x29\xc1\x22\x0d\x19\xb0\x4b\x2b\xb2\xff\x03\x80\x64\x51\xf1\x29\x1a\xc2\x9c\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\x01\x00\x00\xff\xff\xb0\xaa\xd3\x73\x5f\x03\x00\x00") +var _staticFaviconPng = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x00\x5f\x03\xa0\xfc\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\x00\x00\x20\x00\x00\x00\x20\x08\x03\x00\x00\x00\x44\xa4\x8a\xc6\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\x00\x41\x64\x6f\x62\x65\x20\x49\x6d\x61\x67\x65\x52\x65\x61\x64\x79\x71\xc9\x65\x3c\x00\x00\x01\xa4\x50\x4c\x54\x45\x1c\x1c\x1c\x2e\x2e\x2e\x1a\x1a\x1a\x25\x25\x25\x26\x26\x26\x24\x24\x24\x4e\x4e\x4e\x5f\x5f\x5f\x20\x20\x20\x1e\x1e\x1e\x1f\x1f\x1f\x22\x22\x22\x1d\x1d\x1d\x21\x21\x21\x3b\x3b\x3b\x19\x19\x19\x16\x16\x16\x2c\x2c\x2c\x29\x29\x29\x28\x28\x28\x27\x27\x27\x2b\x2b\x2b\x2a\x2a\x2a\x2d\x2d\x2d\x2f\x2f\x2f\x00\xac\x3a\x00\xa9\x3a\x60\x60\x60\x3a\x3a\x3a\x00\xae\x3b\x05\x9a\x38\x5e\x5e\x5e\x25\x24\x24\x52\x52\x52\x18\x18\x18\x39\x39\x39\x55\x55\x55\x5c\x5c\x5c\x5d\x5d\x5d\x37\x37\x37\x32\x32\x32\x50\x50\x50\x61\x61\x61\x5b\x5b\x5b\x4f\x4f\x4f\x58\x58\x58\x53\x53\x53\x59\x59\x59\x30\x27\x2d\x28\x1e\x24\x56\x56\x56\x54\x54\x54\x14\x14\x14\x2f\x2c\x2e\x17\x17\x17\x1b\x1b\x1b\x44\x44\x44\x35\x35\x35\x33\x33\x33\x4a\x4a\x4a\x36\x36\x36\x38\x38\x38\x20\x62\x36\x34\x34\x34\x30\x30\x30\x31\x31\x31\x23\x24\x24\x75\x75\x75\x2a\x22\x27\x20\x55\x32\x2e\x2b\x2d\x27\x1f\x24\x2e\x2a\x2d\x29\x26\x28\x62\x62\x62\x25\x21\x24\x26\x25\x25\x26\x2e\x29\x2b\x28\x2a\x20\x60\x36\x1f\x3b\x29\x2d\x25\x2b\x1f\x53\x32\x11\x70\x32\x25\x24\x25\x1d\x4f\x2e\x25\x29\x27\x1f\x52\x31\x00\xb1\x3b\x27\x2e\x2a\x77\x77\x77\x28\x2f\x2b\x2a\x31\x2d\x00\xb6\x3c\x23\x23\x23\x28\x25\x27\x2f\x2e\x2f\x11\x71\x32\x5a\x5a\x5a\x14\x66\x30\x30\x28\x2d\x2e\x25\x2c\x22\x5a\x35\x1e\x51\x2f\x2e\x31\x2f\x29\x21\x26\x2a\x3e\x31\x25\x26\x26\x2b\x32\x2d\x1c\x4f\x2d\x2c\x24\x2a\x30\x26\x2c\x28\x20\x25\x57\x57\x57\x00\xae\x3a\x27\x25\x26\x2a\x27\x29\x2c\x29\x2b\x25\x2d\x28\x00\xaf\x3b\x2c\x34\x2f\x22\x23\x23\x27\x1e\x24\x29\x30\x2c\x2b\x33\x2e\x04\xa0\x3a\x26\x23\x25\x1a\x50\x2d\x1f\x51\x30\x00\xb5\x3b\x00\xb3\x3b\x2b\x23\x28\x03\xa0\x39\x11\x6e\x31\x05\x99\x38\x1d\x50\x2f\x00\xb4\x3c\x2d\x2a\x2c\x63\x63\x63\x2f\x2b\x2e\x63\xda\xc5\x2e\x00\x00\x01\x51\x49\x44\x41\x54\x38\xcb\x85\xcc\xd5\x76\xc2\x40\x14\x40\xd1\x0b\x24\x78\x25\x81\x00\x2d\x69\x53\xdc\xdd\x1d\xea\xee\xee\xee\xee\xee\xde\x9f\x6e\xf2\x3c\x0c\xec\xe7\xb3\x0e\xcc\x72\x46\x19\x96\x91\x6b\x03\x2e\xc9\xd6\x62\xb1\x49\x1b\xfc\xb2\x54\x2c\x18\x0c\xae\x8b\xca\xa1\x58\x37\xf4\xb2\xdd\xbb\xf9\xa1\xfc\xe6\xf6\xb2\x01\xa5\x67\x8d\xe0\xb6\x1c\x75\xbc\x5c\xbd\x3e\x5c\xc7\xca\x1d\x2c\x42\xb0\x31\x7a\xda\xd8\xd0\x7c\xff\x87\x09\x8c\xb9\x91\xa9\x26\x3e\xd8\xef\xd4\xa3\x98\x9c\x0c\x64\x8e\xc3\x67\x21\x98\xff\xa1\x50\x3a\x07\xc7\x07\x6f\x5b\x42\x70\x77\xc1\xa0\x68\x3e\xe0\xb2\xed\x5f\x42\x30\x37\xa8\x43\x69\xb2\x76\xb0\xa7\x76\x26\x84\x60\xe6\x9c\x46\x69\x53\x36\xb0\x15\x8e\x0f\xf8\xe0\x73\xa0\x47\x83\x22\x0a\x1e\xb0\xa5\x6f\x9f\x16\xa6\xbf\xdf\x2f\x97\xb4\x28\x49\xda\x03\x1e\x67\xdf\xf0\xca\xc7\xd8\xda\xe4\x19\x81\x22\x9d\xab\x10\x70\xb6\x3e\x86\x42\xa1\xae\xfe\xbd\xb2\x81\x0f\x02\xa5\x9b\x16\xc1\xb8\xa4\x8c\xc5\x12\x1f\x14\x55\x24\x96\xaa\xe8\x83\x13\x91\x5c\x85\x25\x17\x85\x21\xac\x57\xd6\x60\x29\xf5\x56\x08\x53\x0a\x39\x96\x82\xb2\x82\x95\x51\x2b\xb1\xd4\x8c\x15\x22\x3a\x50\x60\x81\x2e\x02\x7e\x3a\xa1\xc6\x4a\xd0\x7e\x30\xd1\x62\xc0\x12\x0b\x81\xa6\x52\xa0\x31\x55\x09\xb4\x26\x70\x11\x66\x31\x96\x59\xeb\xaa\x16\x78\xf9\x20\x5e\x87\x15\x27\xbc\xe0\x25\xa3\xf5\x58\x51\x52\x0a\x19\x03\x29\xc1\x22\x0d\x19\xb0\x4b\x2b\xb2\xff\x03\x80\x64\x51\xf1\x29\x1a\xc2\x9c\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\x01\x00\x00\xff\xff\xb0\xaa\xd3\x73\x5f\x03\x00\x00") func staticFaviconPngBytes() ([]byte, error) { return bindataRead( @@ -86,12 +86,12 @@ func staticFaviconPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/favicon.png", size: 863, mode: os.FileMode(436), modTime: time.Unix(1460529855, 0)} + info := bindataFileInfo{name: "static/favicon.png", size: 863, mode: os.FileMode(436), modTime: time.Unix(1502261670, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _staticIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x84\x90\x41\x4f\xf4\x20\x10\x86\xef\xdf\xaf\x98\x0f\xe3\xcd\x94\x7a\x6d\x69\xaf\xfe\x81\xbd\x78\x32\x6c\x99\x2d\xd3\xa5\x40\x60\xb6\xda\x18\xff\xbb\x41\xec\x49\x13\x4f\x30\xbc\x4f\x5e\x1e\x50\xff\x4d\x98\x78\x8f\x08\x96\x57\x37\xfe\x53\x75\x01\x50\x16\xb5\x29\x1b\x00\xc5\xc4\x0e\xc7\xa7\x70\x3a\x3d\x2b\x59\x87\x1a\x64\xde\x1d\x8e\xe7\x60\xf6\x07\xb8\x63\x4c\x2b\x79\xed\xe0\x3d\x86\x4c\x4c\xc1\x77\xa0\xcf\x39\xb8\x1b\x63\x0f\x16\x69\xb6\xdc\xc1\x63\xdb\xde\xf7\xf0\x4a\x86\xed\x31\xac\x3a\xcd\xe4\x3b\x68\xe3\x5b\xff\xa1\x64\x2d\xad\x17\x38\xf2\x57\x48\xe8\x06\x41\x53\xf0\x02\x8a\xe9\x20\x68\xd5\x33\xca\xe8\x67\x01\x36\xe1\x65\x10\x17\xbd\x95\xbc\x29\x47\x5f\xf2\xf2\xb0\x57\x45\xee\xbb\xcc\xd0\x06\x64\x06\x71\x88\x8a\x51\x49\x43\xdb\xf1\x96\x29\x51\x64\xc8\x69\x1a\x44\x23\x97\x2c\x6d\xe1\x9a\x25\x17\xac\x86\xbf\x92\xfa\xc6\xf6\x85\xc3\x15\xfd\xdf\xec\x92\xe5\x1c\x98\xf7\x1f\xa4\x92\xd5\x53\xc9\xfa\xff\x9f\x01\x00\x00\xff\xff\x35\xaf\x3e\x6a\x97\x01\x00\x00") +var _staticIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x91\x41\x6f\x84\x20\x10\x85\xef\xfd\x15\x53\x9a\xde\x1a\xb1\x57\x45\xff\x4a\xc3\xca\xac\x8c\x8b\x60\x60\xd6\xd6\x18\xff\x7b\xc3\x52\x4f\x6d\xd2\x13\xc3\xbc\x2f\x8f\xf7\x82\x7a\x36\x61\xe0\x6d\x41\xb0\x3c\xbb\xfe\x49\x95\x03\x40\x59\xd4\x26\x0f\x00\x8a\x89\x1d\xf6\xfb\x0e\xd5\x63\x82\xe3\x50\xb2\xec\x8a\x9e\x78\x73\xd8\x5f\x82\xd9\xde\xe0\x85\x31\xce\xe4\xb5\x83\x7d\x09\x89\x98\x82\x6f\x40\x5f\x52\x70\x77\xc6\x16\x2c\xd2\x68\xb9\x81\xf7\xba\x7e\x6d\xe1\x93\x0c\xdb\xf3\x32\xeb\x38\x92\x6f\xa0\x5e\xbe\xda\x43\xc9\x62\x5a\x1e\x70\xe4\x6f\x10\xd1\x75\x82\x86\xe0\x05\xe4\xc0\x9d\xa0\x59\x8f\x28\x17\x3f\x0a\xb0\x11\xaf\x9d\xb8\xea\x35\xeb\x55\x5e\x3d\x3a\xc8\xb3\x84\xca\xe1\x7e\xcc\x0c\xad\x40\xa6\x13\x67\x50\xd1\x2b\x69\x68\x3d\xbb\x0c\x91\x16\x86\x14\x87\x4e\x54\x72\x4a\xd2\x66\xae\x9a\x52\xc6\x8a\xf8\x27\xa9\xef\x6c\x3f\x38\xdc\xd0\xff\xcf\x4e\x49\x8e\x81\x79\xfb\x45\x2a\x59\x72\x2a\x59\xbe\xe1\x3b\x00\x00\xff\xff\x24\xa8\xee\x8d\x9e\x01\x00\x00") func staticIndexHtmlBytes() ([]byte, error) { return bindataRead( @@ -106,12 +106,12 @@ func staticIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/index.html", size: 407, mode: os.FileMode(436), modTime: time.Unix(1502167632, 0)} + info := bindataFileInfo{name: "static/index.html", size: 414, mode: os.FileMode(436), modTime: time.Unix(1502262173, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _staticJsGottyJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x94\x56\x5f\x8f\xdb\x36\x0c\x7f\xbf\x4f\x41\xf8\xe5\xe4\x9d\xeb\xcb\xb5\x7b\x18\x12\x64\x43\x57\xdc\x80\xae\xd8\xae\x68\xb2\xdd\xc3\xe1\x50\x28\x36\x63\x6b\x51\xc4\x40\xa2\xcf\xf0\x8a\x7c\xf7\x42\x76\xfe\x38\x8e\xdd\xb4\x7a\x48\x6c\x91\x3f\xf2\x47\xd2\xa4\x24\x96\x85\x49\x58\x91\x11\x21\x7c\xb9\x02\x00\x78\x91\x16\x72\xe6\x8d\xbb\x37\x72\xa1\x31\x85\x29\x94\xca\xa4\x54\xc6\x9a\x12\xe9\x55\xe3\x8d\x25\xa6\x84\x34\x4c\xa7\x10\xd4\xba\xe3\x60\x72\x00\x4b\x9b\xb9\x1e\x90\x43\x69\x93\xfc\xa8\x56\x58\x0d\x53\x10\x27\xae\x7e\x83\xeb\xd2\xb9\xf1\xed\xed\x35\x8c\xfd\xa3\x7f\x0a\xe1\xe6\xcc\x56\x4e\x8e\x7b\xb6\x37\x92\x73\x23\xd7\x08\x37\x1e\x7c\x7d\xf4\xb5\x27\xec\x79\x3d\x05\x19\x31\x57\xc1\x73\x8b\x71\xc1\xf4\x09\x13\x32\x06\x13\x86\x29\xbc\xba\x9b\x5c\x1d\x84\xb4\x41\xf3\xe8\x81\x67\x99\xda\x6b\x94\x5e\x6a\xb0\x84\x47\x5c\xcc\x28\x59\x21\x8b\xc2\xea\xe8\xe8\x35\xdc\x99\xdb\x03\x18\xed\xba\xb3\xb5\x51\x26\x9b\xab\x35\xda\xd6\x7e\xe9\x62\x32\xde\x7d\xdb\x39\xbe\xa0\xe1\x36\x83\x9d\xa6\x43\x93\x8a\x3f\x67\x0f\x7f\xc7\x8e\xad\x32\x99\x5a\x56\xe2\x0b\xbc\xb5\x59\xb1\x46\xc3\x6e\x5c\x97\x25\x82\xb7\x05\xe7\x73\x5a\xa1\x19\x43\x9d\x86\xcf\xb2\xe0\xfc\x33\xfb\x9d\x68\x1b\x86\x93\x13\xb3\x07\x52\x30\x05\x87\xfc\xde\x30\xda\x17\xa9\x85\xf7\xf5\x51\x99\x2c\x82\x37\x23\xf8\x09\xee\x46\xa3\x51\x04\xe5\x49\x98\x7e\xe5\x3e\xce\x38\xc5\xa5\x2c\x34\xcf\x98\xac\xcc\x70\x97\x29\xad\x16\xf1\x6e\x27\xfe\x0b\xd7\x64\x2b\xd1\x45\x7b\xf0\x4e\xbb\x31\x34\x47\xbb\x56\x46\xea\x5e\xcd\x38\x43\xfe\x68\x71\xe9\x44\x18\x3b\x64\x11\x78\x8e\xaf\xd0\x24\x94\x2a\x93\x05\x11\x04\x56\x96\x41\x2f\x92\xcc\xde\xf2\x27\x94\x69\x35\x54\xe9\x76\xb5\x14\xc1\xb4\x01\x2b\x8a\x37\x85\xcb\xcf\x38\xf9\xa5\x28\x26\xf3\xef\xfc\x03\x56\x8e\x2d\xad\xb0\x6d\xd9\xb1\xed\x33\xde\x2e\x66\x30\x0a\xe0\x06\xbc\xe2\xe4\x4c\x6f\xdb\xef\xce\xe3\x66\x75\xf9\x61\x7a\xe6\x7e\x88\xe1\x31\x7a\xa7\xfe\x3f\x21\x99\x90\x2e\xd6\xc6\x45\x60\xa9\x74\x97\xe8\xf6\x0a\xfd\x0a\x5e\xfb\x38\x3a\x9f\xe6\xa0\xb6\x5f\xfd\x8e\xda\x6b\xc7\x6c\xbc\x7f\x88\x2e\x22\x7c\x08\xe3\xfa\xf7\xdb\xba\xdb\x41\x69\xd8\x2b\x39\xdf\xed\xab\x4d\xf3\xad\x18\xc7\x52\xeb\x0f\x58\x2d\x48\xda\x54\x74\xea\xda\xc5\xed\xba\x27\x21\x2b\x19\x45\x4a\x49\xdd\xc9\xfe\x43\xbf\xd7\xe8\x1f\x7f\xaf\xde\xa7\x22\xe0\x5d\xf9\x82\x76\xf7\x6e\xbb\x63\x64\x8d\xce\x35\xed\xf7\xed\x49\x92\x4a\x96\x30\x85\x5a\x16\xfb\x97\xd8\x69\x95\xa0\xb8\xeb\x90\x75\xa5\xe2\x24\x17\x47\xbd\xa7\xd1\x73\xd7\x56\x22\x1d\xc2\xf5\xe8\x7a\x3c\x90\x0e\x8a\x4b\xab\x18\xff\x99\xff\xf1\x8b\xd8\x8d\x72\xc9\xb4\x10\xde\x5c\x77\x14\xf9\xb5\xb0\x28\x57\x93\x1e\x17\x77\x3d\x2e\x6e\x6f\x61\x43\x26\xfb\x7e\x23\xaf\x87\x78\x3a\xe4\xc7\x9a\xdd\x5c\xb1\xc6\x86\xdd\x0f\x90\x7b\xd3\x63\x77\x63\x71\x89\x16\x4d\x82\xfe\xe8\xa8\x5b\x63\x23\xad\x1b\x34\xfe\xb0\xf8\x0f\x13\x8e\x57\x58\x39\xd1\xc2\x86\xf1\x92\xec\xbd\x4c\xf2\xe3\x29\xbe\xc2\x6a\xa8\x51\x13\x32\x8e\x34\xc6\x9a\x32\x11\xcc\x90\xd9\x8f\x09\xdf\x9a\x2b\xac\xe0\x06\x82\x71\xfd\xd2\xe6\xf6\xb4\xc2\xea\xb9\x87\x0e\x0c\x0c\xdd\x15\x56\xd1\xf7\xe0\xb7\x3f\x92\xbf\x9f\x7b\xf2\xd7\x3d\xb0\x2f\x67\xf0\x24\xf8\xfa\xba\xe1\xa3\xb7\x7b\x1b\x4d\xec\xa7\x66\x6f\x20\x00\xe7\xdf\x52\x17\x9c\x77\x79\x0f\xdf\xed\x70\xfb\x25\x9a\xdc\xe5\xe6\x53\x4b\x10\x3e\xaf\x7d\x15\xac\xf3\x5d\x98\x0b\x33\x04\x5a\xcd\xe5\x72\x2a\x1f\x5e\xd0\x6a\x59\x89\xe0\x5d\x13\x94\x22\x03\xef\x3c\x97\x34\x88\xc0\x14\x5a\x77\x67\xd0\x69\x01\x34\x4a\x7b\x38\xf5\x0f\xb7\x81\x0e\xc6\xb3\x3e\xcd\xdc\xaf\x30\xea\x0b\xc1\x21\x7b\x3c\x15\x2c\x9a\x4b\x55\xd4\xc9\x78\x73\x95\x18\xa4\xb4\x6d\x04\xdb\xab\xe3\xe5\x6c\x7f\x13\x69\xa7\xf6\xf4\xa8\x3a\x9c\xa6\x77\x41\x78\xc0\xfb\xbf\x86\x82\x4f\xe0\x36\x14\xe1\xd5\xd7\x00\x00\x00\xff\xff\xb0\x8f\x56\xa4\x09\x0b\x00\x00") +var _staticJsGottyJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x56\x5f\x8f\xdb\x36\x0c\x7f\xbf\x4f\x41\xe8\x25\xf2\xe2\xfa\x92\xde\x06\x0c\x09\xb2\xa1\x2b\x6e\x40\x57\x6c\x57\x34\xd9\xee\xe1\x70\x28\x14\x9b\xb1\xb5\x28\x52\x20\xd1\x67\x78\x45\xbe\xfb\x20\x3b\x7f\x1c\xc7\x6e\x7a\x7a\x48\x6c\x91\x3f\xf2\x47\xd2\xa4\xc4\x57\xb9\x8e\x49\x1a\xcd\x03\xf8\x7a\x03\x00\xf0\x22\x2c\x64\x44\x5b\x77\xaf\xc5\x52\x61\x02\x33\x28\xa4\x4e\x4c\x11\x29\x13\x0b\xaf\x1a\x6d\xad\x21\x13\x1b\x05\xb3\x19\xb0\x4a\x77\xc2\xa6\x47\xb0\xb0\xa9\xeb\x00\x39\x14\x36\xce\x4e\x6a\xb9\x55\x30\x03\x7e\xe6\xea\x57\x18\x14\xce\x4d\x6e\x6f\x07\x30\xf1\x8f\xfe\x29\x80\xe1\x85\xad\xcc\x38\xea\xd8\xde\x0a\xca\xb4\xd8\x20\x0c\x3d\x78\x70\xf2\x75\x20\xec\x79\x3d\xb1\x02\x97\x44\x25\x7b\x6e\x50\xce\xc9\x7c\xc6\xd8\x68\x8d\x31\xc1\x0c\xde\x8c\xa7\x37\x47\xa1\xd9\xa2\x7e\xf4\xc8\x8b\x54\x1d\x34\x0a\x2f\xd5\x58\xc0\x23\x2e\xe7\x26\x5e\x23\xf1\xdc\xaa\xf0\xe4\x36\xd8\x9b\x3b\x00\x08\xed\xa6\xb5\xb5\x95\x3a\x5d\xc8\x0d\xda\xc6\x7e\xe1\x22\xa3\xbd\xfb\xa6\x73\x7c\x41\x4d\x4d\x06\x7b\x4d\x87\x3a\xe1\x7f\xcc\x1f\xfe\x8a\x1c\x59\xa9\x53\xb9\x2a\xf9\x57\x78\x67\xd3\x7c\x83\x9a\xdc\xa4\xaa\x4b\x08\xef\x72\xca\x16\x66\x8d\x7a\x02\xa9\x21\x2a\xbf\x88\x9c\xb2\x2f\xe4\x77\xc2\x5d\x10\x4c\xcf\xcc\x1e\x49\xc1\x0c\x1c\xd2\x07\x4d\x68\x5f\x84\xe2\xde\xd7\x27\xa9\xd3\x10\xee\x46\xf0\x03\x8c\x47\xa3\x51\x08\xc5\x59\x98\x7e\x65\x3e\xce\x28\xc1\x95\xc8\x15\xcd\xc9\x58\x91\xe2\x3e\x53\x4a\x2e\xa3\xfd\x4e\xf4\x27\x6e\x8c\x2d\x79\x1b\xed\xc1\x7b\xed\xda\xd0\x02\xed\x46\x6a\xa1\x3a\x35\xa3\x14\xe9\x93\xc5\x95\xe3\x41\xe4\x90\x38\xf3\x1c\xdf\xa0\x8e\x4d\x22\x75\xca\x42\x60\x56\x14\xac\x13\x69\xf4\xc1\xf2\x67\x14\x49\xd9\x57\xe9\x66\xb5\xa4\x81\x59\x0d\x96\x26\xda\xe6\x2e\xbb\xe0\xe4\x97\x34\x91\xd1\xff\x2c\x3e\x62\xe9\xc8\x9a\x35\x36\x2d\x3b\xb2\x5d\xc6\x9b\xc5\x64\x63\x06\x43\xf0\x8a\xd3\x0b\xbd\x5d\xb7\x3b\x8f\x9b\x57\xe5\x87\xd9\x85\xfb\x3e\x86\xa7\xe8\x9d\xfc\xef\x8c\x64\x6c\x54\xbe\xd1\x2e\x04\x6b\x0a\x77\x8d\x6e\xa7\xd0\x2f\x76\xe7\xe3\x68\x7d\x9a\xbd\xda\x7e\x75\x3b\x6a\xae\x3d\xb3\xc9\xe1\x21\xbc\x8a\xf0\x21\x4c\xaa\xdf\x6f\xeb\xee\x7a\xa5\x41\xa7\xe4\x72\xb7\xab\x36\xf5\xb7\xa2\x1d\x09\xa5\x3e\x62\xb9\x34\xc2\x26\xbc\x55\xd7\x36\x6e\xdf\x3d\xb1\xb1\x82\x90\x27\x26\xae\x3a\xd9\x7f\xe8\xf7\x0a\xfd\xe3\x6f\xe5\x87\x84\x33\xda\x97\x8f\x35\xbb\x77\xd7\x1e\x23\x1b\x74\xae\x6e\xbf\x6f\x4f\x92\x44\x90\x80\x19\x54\xb2\xc8\xbf\x44\x4e\xc9\x18\xf9\xb8\x45\xd6\x15\x92\xe2\x8c\x9f\xf4\x9e\x46\xcf\x6d\x5b\xb1\x70\x08\x83\xf1\x60\xd2\x93\x0e\x13\x15\x56\x12\xfe\xbd\xf8\xfd\x67\xbe\x9f\xe5\x82\xcc\x92\x7b\x73\xed\x51\xe4\xd7\xd2\xa2\x58\x4f\x3b\x5c\xbc\xed\x70\x71\x7b\x0b\x5b\xa3\xd3\xef\x37\x72\xd7\xc7\xd3\x21\x3d\x56\xec\x16\x92\x14\xd6\xec\x5e\x41\xee\xc7\x0e\xbb\x5b\x8b\x2b\xb4\xa8\x63\xf4\x47\x47\xd5\x1a\x5b\x61\x5d\xaf\xf1\x87\xe5\xbf\x18\x53\xb4\xc6\xd2\xf1\x06\x36\x88\x56\xc6\xde\x8b\x38\x3b\x1d\xe3\x6b\x2c\xfb\x1a\x35\x36\xda\x19\x85\x91\x32\x29\x67\x73\x24\xf2\x63\xc2\xb7\xe6\x1a\x4b\x18\x02\x9b\x54\x2f\x4d\x6e\x4f\x6b\x2c\x9f\x3b\xe8\x40\xcf\xd0\x5d\x63\x19\x7e\x0f\x7e\xf7\x9a\xfc\xfd\xd4\x91\xbf\xf6\x81\x7d\x3d\x83\x67\xc1\x57\xf7\x0d\x1f\xbd\x3d\xd8\xa8\x63\x3f\x37\x3b\x04\x06\xce\xbf\x25\x8e\x5d\x76\x79\x07\xdf\x5d\x7f\xfb\xc5\xca\xb8\xeb\xcd\x27\x57\xc0\x7d\x5e\xbb\x2a\x58\xe5\x3b\xd7\x57\x66\x08\x34\x9a\xcb\x65\xa6\x78\x78\x41\xab\x44\xc9\xd9\xfb\x3a\x28\x69\x34\xbc\xf7\x5c\x12\x16\x82\xce\x95\x6a\xcf\xa0\xf3\x02\x28\x14\xf6\x78\xea\x1f\x6f\x03\x2d\x8c\x67\x7d\x9e\xb9\x5f\x60\xd4\x15\x82\x43\xf2\x78\x93\x13\xaf\x2f\x55\x61\x2b\xe3\xf5\x55\xa2\x97\xd2\xae\x16\xec\x6e\x4e\x97\xb3\xc3\x4d\xa4\x99\xda\xf3\xa3\xea\x78\x9a\xbe\x65\xc1\x11\xef\xff\x6a\x0a\x3e\x81\xbb\x80\x07\x37\xff\x07\x00\x00\xff\xff\x14\x81\x47\xc3\x0a\x0b\x00\x00") func staticJsGottyJsBytes() ([]byte, error) { return bindataRead( @@ -126,12 +126,12 @@ func staticJsGottyJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/js/gotty.js", size: 2825, mode: os.FileMode(436), modTime: time.Unix(1502178502, 0)} + info := bindataFileInfo{name: "static/js/gotty.js", size: 2826, mode: os.FileMode(436), modTime: time.Unix(1502428894, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _staticJsHtermJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xec\xbd\xfd\x7b\xdb\x36\x92\x38\xfe\x7b\xfe\x0a\xd4\xdb\xab\xa4\x44\x96\x25\xf9\xdd\xa9\xdb\x53\xe3\xb8\x97\x7b\xd2\xb4\xdf\x24\xdd\xbd\x7b\x1c\x6f\x0e\x22\x21\x89\x35\x45\x6a\x01\xca\xb6\xda\x7a\xff\xf6\xef\x33\x33\x78\x27\x25\xb9\xed\xee\xdd\xee\x7e\x1a\xd7\xaa\x4c\x0e\xc1\xc1\x60\xde\x31\x00\xf6\xf6\xd8\xfb\x59\xa6\xd8\x24\xcb\x05\xbb\xe3\x8a\x4d\x45\x21\x24\xaf\x44\xca\xc6\x2b\x96\x67\xe3\xb4\xac\xf6\xc6\x59\xb1\x97\x94\x45\xc2\xab\x9e\x9a\xf5\x9e\xec\xed\xb1\x57\x15\x9b\x71\xc5\xc6\x42\x14\x6c\xce\xe5\x8d\x48\x99\x14\x3c\xdd\x2d\x8b\x7c\xc5\x26\xa5\x64\xab\x72\x29\x99\xe2\x13\x51\xad\x7a\x8c\xbd\xe5\xd5\x4c\x48\x78\xb0\x9a\xf1\x82\x89\x34\xab\x58\x56\xb1\x34\x93\x22\xa9\xf2\x55\x97\x2d\x72\xc1\x95\x60\xf3\x32\xcd\x26\x2b\x56\x16\x82\x95\x13\x56\xcd\x84\x12\x4c\x95\x4b\x99\x08\x78\x16\x70\x54\xbd\x1e\x20\x00\x7f\x6a\xe4\x7e\x50\x7b\x79\x36\xee\xfd\xa0\x6a\xd7\x3e\x26\x65\x5e\x4a\xd5\x78\x6b\xd2\x78\x75\x2e\x94\xe2\x53\xf1\x71\xce\x0b\x3e\x15\xb2\x11\x66\x21\xc5\x44\x48\x51\x24\x9b\xc1\xa4\x20\xc4\x1b\x6f\xaa\xaa\x94\x7c\xba\xf1\xde\xc7\x64\x26\xcb\xf9\x66\x90\xbc\x4c\x78\xbe\x11\x62\x2e\xe6\xa5\x5c\x35\x82\x54\x42\x55\x1b\x7b\xb0\xac\x26\x27\x8d\x37\xee\x12\x7d\x79\x56\x09\x39\x87\xab\xf8\xa5\xf1\xe2\xc7\x89\xe4\xb6\x17\xd1\xad\x1b\xb1\x1a\x97\x5c\xa6\x9b\xef\x7e\x1c\x67\x45\x9a\x15\x53\xb5\x05\xec\x46\xac\xe6\x7c\xb1\x1d\x68\xc1\xab\x4a\xc8\xa2\x19\xb0\x5c\x54\x59\x59\xac\x79\xd5\x82\x4b\x65\x69\xd5\x78\xef\x63\x96\x8a\xa2\xca\x26\x99\x90\xeb\xda\x58\xc7\x3d\x31\xdc\x72\xac\x96\xe3\xe6\x7b\x2a\x91\x42\xac\xe9\x80\x4a\x64\x99\xe7\x8b\x52\x56\xcd\xf7\xe1\x23\x2b\x2c\xd7\xac\xb9\xfb\x31\x2b\xd7\x01\xdc\x57\x1f\x79\x55\xc9\x6c\xbc\xac\xc4\x9a\x3e\xde\xae\x79\xf7\x6d\xf5\x31\x99\x71\xc9\x93\x4a\xc8\x8f\x76\xac\x9e\x00\xe4\xbb\x6f\xbf\x7f\xfb\xe2\x25\xbb\x7c\xf5\xfa\xe5\x59\xa3\x60\xbf\x28\x17\x2b\x99\x4d\x67\x15\x6b\x27\x1d\x36\xec\x0f\x86\xec\xfd\x4c\xb0\x17\x20\x24\xd9\x72\xce\xbe\x7d\xc7\x46\xcb\x6a\x06\xe2\xce\x46\x79\xce\x10\x56\x31\x29\x94\x90\xb7\x22\x45\xa5\xf5\xbd\xd2\x6a\x25\x53\x5a\xab\xb0\xa4\x4c\x05\xcb\x14\x9b\x96\xb7\x42\x16\xa4\xf4\x38\xfb\xea\xdd\xc5\xae\xaa\x56\xb9\x60\x79\x96\x88\x42\x09\x50\x5b\x15\x4b\x78\xc1\xc6\xa4\x89\xca\x65\x91\xb2\xac\x00\x15\xc5\x5e\xbf\x7a\xf1\xf2\xcd\xbb\x97\xa8\x9e\x7a\x4f\x9e\xb4\x96\xa0\xb4\x2a\x99\x25\x55\xeb\xf9\x93\x27\xd9\x84\xb5\xab\xd5\x42\x94\x13\xe8\x17\xfb\xe4\x9c\xb5\x96\x45\x2a\x26\x59\x21\xd2\x56\xe7\x09\x63\xd5\x4c\x96\x77\xac\x10\x77\xec\xa5\x94\xa5\x6c\xb7\xbe\xce\xcb\x31\xcf\xd9\x4e\x9e\x8d\x77\x58\x39\xfe\x41\x24\x15\xe3\x39\xa8\xd7\x15\x13\xf7\x99\xaa\x54\xaf\xd5\x79\xfe\xe4\xc9\x2d\x97\xd8\xe4\x39\xfb\xe9\xe1\xf9\x93\x27\x7b\x4f\x9f\x3e\x61\x4f\xd9\x37\x7c\x01\x9d\xdc\x49\xc5\x42\x14\xa9\x28\x92\xd5\x0e\xab\x4a\x76\xb5\x43\x3d\xde\xe9\xb2\x5e\xaf\x77\xdd\x7b\xc2\x10\xfa\x25\x4f\x66\xcc\x81\x02\x29\xb8\x79\x67\xc1\xe7\xa2\xcb\xf2\xec\x46\x20\x2e\xbd\x89\xda\xe9\x32\xd3\x0c\x40\x42\xe7\x97\x32\x47\xe2\x40\x63\xa9\x58\xa4\xa2\x48\x15\x2b\x89\x30\xd4\x0e\xbc\x6a\xef\x09\x34\x20\x97\x45\x95\xcd\xc5\x85\x79\x5d\x26\xd4\xc7\x08\xfb\xd7\x99\xaa\x00\xfd\xc9\xb2\x48\x50\x12\x89\xf2\x85\x10\x29\xf4\x62\x2c\x58\x56\xdc\x96\x60\x6e\xd2\xa5\xcc\x8a\x29\x10\x40\x72\xb9\x62\x59\x91\x55\x19\xcf\xb3\x1f\x39\x3c\x16\x74\x4f\xe4\x62\x2e\x8a\xca\x0c\x17\x40\xbe\xe0\x79\x3e\xe6\xc9\x8d\xfa\xc8\xb8\x94\x1c\xfb\x9d\x55\x4a\xe4\x13\xc6\x59\x75\x57\xee\x9a\x67\xf0\x6e\x0f\x9b\xd2\x57\xfa\x44\x23\x35\x2b\x65\x85\xc3\x5c\x4c\x59\x2a\x54\x22\xb3\x31\x7c\xc5\x7e\xdf\x15\x42\x6a\x03\x86\xaf\x63\xb2\x5c\x56\x59\x21\xba\x6c\xa9\xc4\x64\x99\x43\x7b\x60\x24\x53\x31\x5e\x4e\xa7\x59\x31\xed\x31\xdb\xfe\xc0\x50\x36\xd1\x38\x5a\x5a\x38\x42\x46\x5d\x38\x67\x57\xd7\x8e\x84\x6f\x45\x52\xca\x14\x70\xd4\xf4\xf6\xc6\xd7\xd0\x05\x4d\x3e\xb1\xb3\x46\x89\xdd\xcd\x44\x01\x56\x9b\xdd\xf1\xa2\x02\x5a\x8b\xfb\x85\x14\x4a\xb7\xb3\x1b\x35\xc4\x68\xc4\x93\x72\xbe\x00\xc7\x01\xee\xf6\x18\x78\x05\x99\x62\x45\x09\xb4\xae\x00\xd2\x0c\x1a\x67\x93\x65\x9e\xef\x4e\x72\x91\x4e\x45\x6a\x07\x4d\xad\x54\x25\xe6\xac\x94\x9a\x7b\x4c\xe3\x95\xe4\xc9\x8d\x90\xd8\x62\x4b\xb1\x1f\x96\xaa\x02\x92\x48\x01\xcd\xcd\xf9\x8d\x00\xe7\x61\x51\x2a\x95\x8d\x73\xbc\x86\x84\x04\x10\xdd\x90\x62\x77\x59\x35\x2b\x97\x15\xe0\x5e\xc0\xb8\xf0\x3c\x27\xaa\x96\xa9\x30\x54\xf8\xd6\xf1\xb9\x62\x5c\x0a\xa6\x16\x22\x01\xe5\x9d\x32\xae\xf4\xd8\xaa\x1e\x63\x97\xa5\x64\xe2\x9e\xcf\x17\xb9\x00\xef\x83\x1e\x86\x7f\xc8\xd4\x55\x2a\x16\xed\x16\x7c\x25\x77\xa3\xd5\x65\xf8\xd7\x77\x56\xd3\x7f\x43\x8a\x1e\x84\xb6\xe1\xc5\xc8\xdb\x40\xb3\xb1\x60\xb2\x2c\xb5\xe7\x05\x4d\xb4\x7a\x8c\xfd\x77\xb9\x64\x73\xbe\x82\x51\x22\xc5\x85\xbd\x4d\x72\x40\x97\x47\x64\x2b\x0b\xc6\x8b\x95\x27\x76\x34\xd4\x82\x25\x79\x06\xac\xb5\x90\xe5\x54\xf2\x39\xb6\x07\xdc\x85\xf8\x8b\x42\x2d\xa5\x78\x5b\x17\xcd\x76\x87\x71\xe0\x70\x2e\xab\xe5\x82\x65\x05\x34\x56\xca\x54\x48\x64\x0e\x7c\x8a\x84\x13\x5a\xaa\xb1\x5a\x26\x14\x9b\xf1\x5b\xa1\x5d\x44\x61\xf1\xf9\xf7\x05\x07\x1c\x7e\x22\xf2\x3e\xb0\x5b\x2e\x3f\x72\x39\x55\xec\x5b\x70\xfa\x24\x9b\x97\xd2\x68\x0e\xd5\x3c\x20\x4e\x9f\x00\xe9\xd9\xb9\x15\x90\xb6\x69\xab\xc3\x7e\x7a\xc2\xa0\x65\xad\xe6\x9f\x3f\x01\x3d\x2b\x57\x78\xb9\xae\x71\x61\x5c\xd8\x03\x4b\x78\x95\xcc\x58\x5b\xdc\x77\x34\x1c\x36\x50\xf1\xe4\x66\x84\x3a\xe2\x9c\x89\xfb\x1e\xfe\xdd\x53\x8b\x3c\xab\xda\xad\x0f\x05\x8e\x29\x63\x0c\x5c\xe2\x82\xbd\xe3\x13\x2e\xb3\x2e\x32\x9a\x14\x6a\x99\x57\xc0\x7a\x5e\x13\x77\x59\x9e\x33\xf4\x91\x91\x36\x43\xa3\x9b\x14\xe3\x45\x4a\xfc\x4b\x8d\x81\xcb\x73\x9b\xa5\x4b\x9e\x9b\x6e\x23\x83\x4e\x4a\x39\x07\xf7\x25\x65\x69\x36\x41\xee\xaa\x72\x10\x6a\xc6\x18\xd8\x19\xf7\xa6\x5e\x2e\x8a\x69\x35\x63\x5f\x9c\xb3\x7d\xd3\x1d\x66\x8c\xde\xb9\x87\xd2\xd5\xf0\xba\x27\xc5\x22\xe7\x89\x68\xef\xfd\xf9\x83\x7a\xca\xab\x0f\xea\xd9\x5e\x97\xb5\x4c\xd7\x1e\x98\xc8\x95\xd8\xd8\xc6\x20\x6a\x63\x4a\x16\x0c\x64\xed\xdf\x83\xa6\x80\xce\x30\x16\xa0\xfc\x60\xb4\x58\xc6\xce\x59\xff\x39\xcb\xd8\xe7\x8c\xcb\xe9\x12\x69\xa1\x71\x7f\xce\xb2\x67\xcf\xfc\xa1\x58\xf0\x6a\xc6\xce\x1d\xdc\x55\x76\xfd\xdc\x76\x1d\x6f\x66\x85\xaa\x78\x91\x80\xad\x45\xc4\x5c\xcf\x2d\xbb\xf4\xf8\x62\x91\xaf\xda\x79\x36\xee\x62\x83\xcd\x9d\x84\xd7\x81\x82\x3a\x47\x99\x6b\x34\x5c\x57\xf0\xb4\x46\x80\x50\xf8\x84\xcb\x55\x47\xff\xcd\x1e\xf7\xb8\x56\xdd\xf6\x89\xde\x62\xa9\x66\x6d\x22\x71\x40\x33\xcf\x44\xbe\x44\xd1\x53\x5b\x64\x0f\xb8\x65\x2e\xaa\x2e\x88\x14\x44\x5c\xf7\x89\x40\xd7\x96\xac\x8b\x2c\xef\x9c\x8d\xbc\x15\x72\xc5\x96\xc5\x5c\x54\x0d\x16\x83\x58\x76\x2c\x58\x5e\x4e\xa7\xa4\xcf\x81\xbb\xff\xf3\x1d\x4b\xca\x42\x95\x39\xaa\xfd\x89\x36\x07\x10\xc4\x55\x18\xbd\x85\x2e\x05\x35\x8e\xea\x0b\x9b\x93\x3c\x53\x22\x40\xcb\x09\xf5\x5a\x7d\xf4\xd1\x97\x74\x27\xe1\x0b\xae\x94\x48\x81\xd4\x72\x49\x82\x6e\x99\x4b\xf3\x04\x5b\xe7\x7b\x04\x72\x8e\x34\x47\xf7\xe3\x7c\xed\x03\xfe\x98\xc3\x43\xa4\xc0\xcf\xf1\x45\x46\x27\x90\x6f\xe6\x74\x02\x67\x69\x99\x20\xc3\x02\xc5\xc0\x7f\x66\xad\xbb\xac\x48\xcb\xbb\x96\xb1\xf4\x5a\x5c\xb4\xde\x66\xf4\xd4\x5d\x29\x6f\x84\x64\x59\xd5\x52\xa6\x35\xd0\xd9\x22\x65\x2d\xf0\x53\x5a\x3d\x8b\x45\x39\xfe\x81\x9d\xb3\x36\x35\xca\x7e\xfe\x99\xc1\x7d\xcd\x3d\x4d\x82\x86\x58\x37\x09\x99\x66\xe3\x36\x02\x5c\x65\xd7\x40\xbb\x72\xfc\x43\xc7\xdd\x67\x76\xd4\xef\xb8\x2c\xda\xad\x6f\x32\xa5\x40\xc5\xed\xb4\xd8\x33\x22\xf7\x33\xd6\x42\xdf\x10\xac\x1a\x5a\xb2\x56\xd7\xa3\x6d\xe7\xb9\x6d\xc8\x8e\xdb\x84\xe7\x4a\xb8\xeb\x63\x29\xf8\x8d\xf9\xf3\xe1\x89\xfe\x42\x7d\x2c\xc7\x3f\x5c\x19\xe4\xae\x23\x95\x82\xa8\x53\xa3\x9d\x46\x2d\xdf\xba\xe4\x19\x90\xaf\x81\xc7\x93\x99\x48\x6e\x60\xdc\x1e\x7c\x37\x6a\x9a\xa9\x4a\xa0\xf4\x84\xce\x65\xe0\x90\x19\x13\xbb\x06\x84\x04\xd1\xf8\xac\x59\xc1\x24\x36\x2b\x09\x8a\xcc\x29\x78\x5e\x28\x3d\xda\xb3\x6b\x77\xd0\x1d\xa5\x67\xc0\x33\x04\x27\xd6\x34\xa8\x05\x48\x24\x22\xbb\x05\xbf\x0a\xc8\x9f\x0b\x86\x46\x55\x54\x42\x76\xd9\xdd\x2c\x4b\x66\xd0\x1e\xfa\xa9\xf6\xb9\xd0\x7b\x46\x6f\x2f\xab\xd0\x81\xcb\x45\x25\xd0\xfd\x85\x56\x2a\xdf\x6f\xad\x3b\xd4\xb1\xf5\x86\xd1\x60\x23\xed\x0d\x93\x1b\xbc\xa8\x00\x33\xbc\xd1\xe0\x02\x1b\x77\x73\x42\x4e\x1f\xfc\x73\x5e\xb0\xff\x06\x2b\xea\xe6\x4b\xe7\xc1\xb9\xc4\x1b\x28\x0e\x1d\x95\x7a\xec\xa8\x41\x29\xaa\xa5\x2c\x5c\x8b\x0f\xe4\x13\x99\xb6\x2c\xe9\x3c\xc7\x42\x3f\xff\x0a\x10\xf7\xb4\x0e\x45\x44\xe6\x49\x12\x8b\xba\x3f\x4e\x4a\xfc\x2a\x04\xbe\x46\xd6\xd7\xa8\x98\x8b\x01\xc3\xbd\x32\xfd\x11\x48\x34\xed\x23\x07\x1e\x3b\x8e\x7d\xcd\xf5\xd2\xc8\x36\xb1\x76\x60\x09\x78\x91\x22\x5b\x20\x0b\xa0\xa7\xe8\x3d\xba\x8e\x7f\xcd\xfb\x5f\x85\xf7\x81\xb7\xd4\xaa\x48\x66\xb2\x2c\xca\x25\x38\xc9\xef\x1d\xce\x26\x08\xa0\x90\x15\x54\x10\x78\xaf\x80\x1b\x46\x3e\x18\x22\x15\x48\x5b\x3b\x68\x1e\xc3\x47\x9c\xe6\x54\xfe\x83\x79\x0a\x5e\xe5\x0f\xb7\xee\x11\xf1\x74\x8c\xa7\xe1\x32\xc3\xe9\xcd\x4c\xf6\x14\x5a\x5f\x54\x1f\xf3\x72\x7a\x69\x5a\x1e\x15\x8c\xd2\x41\x3c\x0f\x5e\xa7\x04\x11\x12\x15\x66\xf8\x3a\x29\x72\x4c\x9d\xe6\xe5\x94\xe9\x5c\x22\x78\xec\x61\xe4\xe6\x73\x14\xf5\xa8\x1b\xbf\xdb\x99\x37\x72\x23\xea\x4c\x86\x36\x06\x15\x7b\x91\x55\x6f\xc0\xaa\xd4\xac\x23\xe9\x44\xe0\x21\xd2\xf5\x9d\xc0\xbd\x91\x22\x41\x67\x6a\xd5\x53\xb3\x6c\x52\xb5\x3b\xbe\x2b\x13\xa3\x63\xb5\x73\x74\xa3\xdd\x82\xd7\x9f\x31\x50\xff\x52\x24\x57\xfd\x6b\xdb\x0c\xfc\x39\xb8\x6e\x63\xe2\xa0\xc7\x73\x2e\xe7\x6d\x83\x6a\xa7\xd9\xe9\x22\x5a\xb4\x7d\xbf\xe7\xb9\xd1\xec\x3a\x83\xa2\x19\xe0\x93\x73\xd6\x32\x9d\x6d\xad\xd1\xf6\xc6\x34\x95\x40\xa2\x5b\x9e\x67\xa9\xf5\x1c\xcf\x74\x3b\xda\x52\x6f\xf6\x3a\xda\x04\xa4\x44\xf5\x3e\x9b\x8b\x72\x59\xd9\x6e\x74\x59\x9f\x4c\xc6\xc6\xfc\x55\x98\x84\xfe\xa7\x4d\x63\x69\x25\xf5\x06\xac\xef\x82\x27\x18\x8a\x30\xec\x1a\x5b\x56\x59\x9e\x55\x99\xf0\x22\x33\xea\x73\x94\xdb\xb9\xcc\xa4\xaa\xc0\x1b\x98\x83\xf6\x2d\x0a\x9c\x33\x98\x2e\x73\x2e\x4d\xae\x01\x0d\xe6\x9d\x68\x49\xc1\xa6\x25\x66\x53\x4a\x54\x1d\x88\xa1\x9e\xa4\xd0\xfa\xc1\x08\xe0\xda\x7f\x5f\xbd\x1d\xbd\x78\xc9\xfe\xfb\xdb\xef\xdf\xbe\x7b\xf9\xfa\xf2\x31\x4f\x30\xc6\xba\x7f\xfd\xeb\x5f\xff\xda\x7b\x0c\xe4\xcf\x5f\x7c\xfc\x9c\xfd\xf5\xaf\x8f\x00\xdd\xff\x9f\xdd\xdd\xdd\xd6\xee\xde\x63\x9a\xdd\x3f\x83\x7f\x1f\x6e\x3f\x6c\x87\x3d\x2f\xcf\x09\xb8\xfb\x08\x60\xf6\x33\xd3\xc0\x08\xbd\xe1\x81\xf7\xff\xf1\x92\xbd\x7d\xf9\xf5\xf7\xaf\x47\x6f\xd9\xcb\xff\xfa\xee\xed\xcb\x77\xef\x5e\x7d\xfb\xe6\xdd\xf6\x57\x8c\xde\xbe\x64\x2f\xbe\xfd\xe6\xd5\x9b\xaf\x3d\xb7\x48\x8a\x16\x98\x02\x76\xc7\x57\xe8\x80\x80\x6f\xc7\xf2\xb2\x98\xb2\xb7\x2f\x59\x9e\x55\x42\xf2\x1c\x34\x3f\xfb\x4f\x7e\xcb\xdf\xa1\xf3\xd0\x63\xec\x32\xbb\x27\x4e\xbd\x9b\xad\x58\x5a\x16\x2d\x0c\x2e\x56\xe5\xf2\x4b\xc6\xbe\x9d\xa1\x21\x63\x3c\x57\x25\xe5\x84\x82\x37\xdc\xc9\xac\x42\xb7\x88\x12\x73\xd8\x4a\x5a\x0a\x55\xb4\x28\x27\x25\x17\x52\x60\x6b\x42\x25\x7c\x21\x3c\xf3\xa6\x2a\xc1\xd3\x2e\xbb\x03\xa6\x2f\xcb\x05\x05\x3a\x99\x62\x36\xb2\xed\x30\x10\x86\x9b\x98\xc9\x7b\x52\x60\x12\xf3\x09\xba\xe8\x2f\xde\xbd\x63\x33\x71\x4f\x92\xd1\x65\x7f\x78\xfb\xf5\x57\xe0\xa8\xcf\xc4\xfd\xe0\xe8\x8c\xed\xfd\xa1\x7d\xc5\x77\x27\xfd\xdd\xd3\xeb\x4e\xd3\xb7\xbd\xac\xfb\x64\x4d\x3b\x6f\xbf\xfe\xfa\x2b\xd3\xd4\xf0\x20\x68\xea\xa7\xe1\x43\x67\xfd\x1f\x61\x9b\x72\x3a\x36\x6d\xca\xe9\xb8\x2d\xa5\xec\x4e\xa7\xd3\xee\x78\x3c\xee\x40\xe3\x72\x3a\x3e\x43\x25\xfa\x56\x4c\x5f\xde\x2f\xda\x5a\x33\xb7\x5b\x7f\xde\x53\x4f\xe5\x74\xbc\xa7\x9e\xee\xb5\xf7\xd4\xd3\xf6\x5e\xfa\xd3\xa0\xbb\xff\xd0\xd9\x53\x4f\xbb\xf1\xdf\x2d\xf6\xcc\xd8\x8b\x56\x74\x6f\x0f\x3e\x3e\x6d\x99\xdb\x1d\x97\x36\xf8\xb0\xb7\x37\xed\xb2\xd6\x87\x0f\xad\x4e\x97\xb5\xb2\x56\xe7\x71\x58\x77\x39\xe7\x06\x73\xbe\x11\x75\xbe\xa7\x9e\x06\x98\x6d\xed\x47\xf4\xb7\xff\x70\xfb\xcb\x33\x7d\xfb\x59\xfb\xcb\xb3\xbd\xde\x5e\xfa\xac\xf3\x25\x00\x75\x7e\x45\x0f\x5f\x66\xc0\xc7\xec\xed\xd7\x5f\x81\xb1\x7a\xfb\xf5\x57\x23\xdd\xa1\xfb\xcd\x1d\xfa\xf2\x7f\xa7\x47\x5f\xfe\x8a\x2e\x8d\x0a\xf6\x5f\x83\x01\xdb\x01\x7e\x4a\xd3\x74\x4f\xff\xee\xb0\x5b\x9e\x2f\x41\x85\xb3\xfb\xc1\x00\x99\x0d\xf3\x45\xf0\xcd\x31\xed\xa0\x7b\xf0\xd0\xf9\xb0\xb7\xf5\x82\x7a\xfa\xa9\x63\xee\x97\xc5\x34\xcf\xd4\x4c\x9b\x24\xf0\xbd\xe1\x2d\xf0\xff\x33\xb6\x77\xc5\x77\x7f\xbc\x86\x8f\xfe\xee\xe9\x07\x75\xfd\x6c\xaf\xeb\x3b\xde\x2f\xca\xe2\x56\xc8\x8a\x71\xc3\x6b\xed\x34\x4d\xbb\xfa\xb7\xa3\x5b\x44\xc4\x41\x85\x94\x10\x10\x42\xe7\xbc\xeb\x36\xa1\x8c\x03\x09\xad\x78\x37\x75\x08\x38\x2d\x4a\x49\xf9\x13\xed\xc0\x2b\x5e\x64\x15\xb8\x77\x29\xaf\x38\x9b\xf1\x22\xcd\x75\x0c\x64\x67\x2e\x5a\x69\x9a\xb6\xd0\x73\x2d\x0b\x9c\xc1\xc0\xd9\x99\x42\xb0\xf1\xaa\x12\x1a\x25\x97\x22\xcd\x0a\x96\x8a\x24\x9b\xf3\x7c\x7d\xae\x15\x9e\x40\x87\x23\xc4\x11\xd0\x4a\x88\x0c\x61\xcc\x64\x9e\x84\x67\xa2\x4e\x03\xb3\x16\xcb\x3c\x07\xff\x0c\xfc\x07\xba\x98\x94\xcb\xdc\xa4\xb3\x9d\xeb\x8d\x2d\x93\x6f\x1f\xea\xce\xe9\xf8\x7d\x09\xed\x06\x49\xdc\x7c\x29\xc8\x57\xb5\x5e\xb7\x4a\x78\x2e\xda\xb7\x36\x61\xc3\xce\x59\xfb\x1b\x5e\xcd\x7a\xf3\xac\x68\xdf\x76\xd9\xf0\xf0\xb0\xc3\x9e\xb2\xe1\xe1\x71\xa7\x57\x95\xef\x10\xe9\xf6\xe0\x48\xbb\x92\x77\xb3\x2c\x17\xac\x7d\x6b\x92\xa2\x9f\xb3\x03\xe3\xd1\x42\x4b\xad\x3e\xb8\xaf\xb7\x3a\x6b\xa3\x7b\x7e\xfb\xdc\x24\x16\x9c\x17\x4e\x63\x3d\xe7\x55\x32\x6b\x87\x06\x00\x3a\x72\x8f\x6f\x0b\x13\x81\xba\x31\x20\x13\x36\xaf\xff\x6e\x01\xc3\xc3\x4b\xa9\x5f\x5c\xae\xae\x06\xd7\x1d\xf6\x8c\xb5\xf6\xc2\xab\xc3\xc6\xab\xfb\xd7\x61\xaa\xc2\x32\x70\x8d\x31\x2d\xc3\x1a\xce\xee\xf5\x7a\x9d\x26\xce\x35\xe3\x4b\x4f\xcd\xf9\x0a\x67\x6d\xfc\xf6\x28\x9c\xa5\x6c\x22\xa8\x2a\xcd\x03\x34\xf6\x93\x52\xce\xa1\x19\xe8\xd7\x6c\x36\x9b\xed\xd9\x0f\x9d\x1e\xf4\x98\x58\x23\xa6\x58\x2e\x94\xa2\x7a\x90\x03\x96\x66\xd3\xac\x52\x2c\xab\x74\xc4\xb6\xe0\x69\x2a\x52\x56\x2e\x71\x2a\xea\x00\x53\xea\x9a\x0d\x52\x96\x96\x77\x18\x88\x4d\x32\x9c\xd4\xb3\x49\x10\x90\x8a\xed\xac\x1f\x93\xe8\x31\xac\x1f\x8b\xcb\xdf\x80\xf5\xef\x07\x83\xf7\x25\xb4\xeb\xb3\xfe\x66\xb6\xdf\xdb\x63\xdf\x71\x22\x8a\xd6\x2c\x77\x59\x35\xf3\xe8\x38\x29\x97\x52\x93\x12\x23\xf2\x4c\x21\x21\xc1\x13\x6a\x2f\x64\x39\xe6\xe3\x5c\x33\xe6\xde\x1e\x43\x3e\x16\x8a\xdd\x63\xed\x86\x9e\x6a\x4b\xb3\xc9\x24\x4b\x96\x39\x92\x5d\x71\x8a\xde\x49\x5d\x65\x45\x22\x08\x98\x29\x21\xe6\x10\xd7\x9a\xa6\xb8\x94\x98\x8d\x02\x1d\xaa\x47\x8e\x48\xa2\x67\x35\x0a\xb6\x10\x12\x78\x44\x3b\xff\xe5\x7c\x9c\x15\x3a\x05\x36\x31\x8d\x4c\xf9\x7c\x0e\x7c\x22\xa5\xc0\xde\x77\x35\xc5\x29\xdc\xa8\x24\x2f\x68\xf6\x03\x6f\x41\xc3\x7f\x59\xf2\xa2\xb2\xf9\x29\x1b\xf0\x5a\x31\x3f\x3f\x67\x03\x17\xf3\x42\x90\x46\x6c\xa2\x79\x6d\xc1\x2d\x7f\x21\xdd\xc6\x2b\x26\xc5\x42\xf0\xca\x4c\xe3\xda\x5a\x85\x1e\x63\x3b\x93\x1d\x36\x16\x49\x39\x17\xca\xb5\xb7\x33\x99\x4c\x26\x3b\x3d\xc6\xde\x25\x3c\xc7\x79\x60\x60\x4c\x8e\x8e\x9b\x27\x1e\x38\x0a\x58\x73\x02\xef\x18\x1e\x1e\x9b\xbc\xaf\xe2\x73\xe1\x5a\xe3\x8a\x25\xcb\x0a\xdf\x5e\x4e\x26\x56\xcd\xf7\x18\xfb\x93\x60\xea\x26\x5b\xe0\x33\xf3\x2c\x4d\x73\xf0\x51\xc5\x02\x89\x80\x73\xa3\x69\xb9\x1c\xe7\x5e\x53\x21\xf6\x36\x20\x47\xbe\xc6\x42\x95\x57\x45\xd5\xbe\x05\xa5\xd7\x65\x56\x4b\x3e\x34\x93\x70\x18\x91\x70\x9e\x41\xc0\x96\x0a\x9e\x33\xf0\xbe\x7b\x0c\x05\x6a\xc1\x53\xc5\xaa\xbb\x92\x88\x6b\xd8\x33\x26\xa9\x6b\x07\x0d\x58\x1b\x46\x17\x58\x9c\x2d\x17\x9a\x34\x1d\xa0\x26\x72\x5a\x14\x06\x12\x5c\x56\xb1\x31\x4f\x6e\x5c\x3b\x44\xf1\x62\x75\xc7\x57\xe8\xbb\x43\x6c\x8b\x24\xd1\xbd\xc5\x5c\x93\xcc\xa6\x59\xc1\x73\xe7\x7c\x34\x92\x63\x3b\x29\xf6\x03\x52\xbc\x9f\x49\x21\xc2\xfe\x82\x5c\xe8\x44\xab\x16\x83\x1a\x53\x4d\x10\x13\x7c\xaa\xe7\xda\x12\xbd\x69\x8f\x0d\xfa\x13\xc3\x63\xf0\x7d\xd2\xf3\x6c\x14\x0e\x56\x4f\x2d\xc7\xaa\x92\xed\x61\x88\x26\x0c\x0b\x52\x87\xf4\xe2\x4c\xb0\xa1\xe7\x20\xf4\x7c\x43\x84\x36\x53\x42\xd4\xdf\x8e\x3a\xce\xf6\x90\xfc\x4d\x56\xaf\xd9\xe2\x91\x03\xb7\xde\xe6\x79\xe0\x60\x3a\xde\x97\x6f\xbf\xfe\xaa\x7d\x4b\xc9\x14\xcc\x3a\x2d\xf2\x2c\x11\xed\x7e\x97\x0d\xfc\xd4\xa8\xf7\x18\xd6\x5e\xe0\x73\x23\xcc\x62\xcd\xf9\xa2\x8d\x6c\xd0\x69\x34\x7f\x8a\xca\x06\xf5\x0c\x32\x68\xd6\x96\x0e\x9b\x5a\xa1\x3b\x86\x36\xb1\x9a\x89\x4c\x5a\x93\xa8\x0b\x32\xe6\xc6\x7a\xe0\xec\x21\x39\x6e\x56\x83\x83\xa9\x41\xbf\xb7\x47\x16\x4d\x2b\x7d\x5e\xe8\xb9\x7b\x0b\xd8\x75\x66\x4c\x7b\xca\x29\x29\x6a\x30\x19\xcd\xf6\xe9\x67\x9a\xb4\xfd\x9c\xfe\xfa\xe2\x81\x8d\x8c\x4d\xf3\x4c\xad\xd4\xb5\x2a\xe5\xc4\x5d\x25\x2d\x1c\xd8\x9a\x26\x2b\x56\x6b\x1f\x33\xe0\xb6\x67\xf6\x05\xd4\x66\xcd\x56\xcd\xc4\x3d\x8e\x83\x6f\xab\xb8\x9c\x46\xd6\x4a\xb7\xd7\x9e\x85\x33\xe8\x52\x80\xb7\x36\x13\xf7\x9e\x24\x1d\x74\xd8\x97\x36\xa7\x18\x31\x16\xc6\xca\xec\xac\xe1\xf2\xf0\xc0\x4d\xbd\x11\x6f\x42\xab\xc4\x9d\x52\x74\xac\xcc\xfa\x13\xb1\xb1\x07\x16\xf8\x60\x6d\x9a\xb6\xd2\x82\x40\x6e\x18\x49\xc3\x33\xd6\xea\x32\x2f\x3e\x0a\xa1\x86\x8f\x82\xda\x77\x50\x9d\xd6\x73\x7f\x9e\x8a\xcb\xe9\xda\xb9\xea\x35\x53\xe3\xcd\xf3\x75\x5c\x4e\xaf\xb2\x6b\x76\x6e\x69\x4f\x17\xfc\x14\xaa\x9f\x63\x85\xf7\x06\xb0\x4e\xde\x35\x55\xb8\x9c\x3e\x4e\xb6\xac\x33\x09\x62\x13\xc8\x54\xb3\xd4\xd9\x44\xcb\x84\x4d\xb3\x5b\x01\x4a\x1b\x63\x76\xd7\x08\x95\x4d\xf0\x7c\x31\xe3\x6c\x92\x89\x3c\x75\x53\xd5\x8c\xdf\xf1\xd5\x3f\x9e\x6c\x5a\x1a\xd4\x05\xd4\x57\x2c\xc4\xb2\x5a\x58\xff\x8e\x52\x8a\xc1\xd4\x7f\x88\xfb\xc7\x49\x29\x28\x6f\x4f\x4a\xdd\x3c\x83\x6e\x2d\x91\x3c\xb9\x01\x9d\x6d\xb4\xbc\x93\x9c\x3f\x80\xd8\x50\x62\xff\xc7\x05\x4f\xdb\xed\x76\xc0\xf7\xfd\xeb\x0e\xfb\xfc\x73\x64\xfd\x9f\xad\x64\x34\xfe\x6b\x47\xb2\x87\xcf\xb1\x93\x5f\xf8\xdc\x50\x3f\xd7\xef\x84\xc1\x5f\x97\x1d\x75\xfe\x49\xc5\xee\x3d\xd7\x33\x74\x34\x71\x91\x28\xa5\x85\x09\x0b\x47\x33\x1c\x48\xf4\xad\xe1\x61\x8c\x82\x28\xcc\x93\xd3\x31\x30\x08\x08\x56\x18\xdf\xbd\xc5\xf7\xa8\x2d\x51\x0b\x2b\xc0\xc3\xce\xb3\x1f\x1b\xe2\x15\x7b\x2b\x8a\x59\x52\x31\x21\xc2\x00\x85\x53\x31\x31\x4e\x0a\x1a\x76\xd0\xf5\xad\x3f\xb4\xd6\x39\x06\xc6\xae\x60\x23\x76\xae\xa7\x21\xb4\xee\x55\x42\x55\x08\x15\x34\x95\x8a\x89\x1f\x56\x37\xba\x1c\xd4\x74\x63\xba\x67\x1f\x68\x75\xc0\x82\x5a\x4f\x9f\x94\x5a\x39\x91\x38\xd6\x08\xe2\xb9\x27\xa1\xc4\xad\xbc\xd9\x3b\xd4\x66\xe7\xfe\x2c\x1c\xfb\x02\xfc\xc8\x2f\x19\x59\x08\x76\xc6\x06\xcf\xc3\xc4\x00\x47\xab\x44\x82\x64\x2d\x0c\x23\x01\x09\xff\x1e\xfa\x7f\xe3\x9b\xb4\xa9\xf1\x7a\xfb\xed\xad\x90\x94\x14\x77\xda\x35\x99\xf1\xa2\x10\x39\xe8\x29\xea\xe8\x1e\x32\x0c\xf6\xab\xd6\x4d\x25\xaa\x91\xee\x85\xed\xa3\x9c\x8e\xbb\xd4\x56\xd3\x44\xe5\x3a\x05\xa2\x7b\x7c\x4e\x4f\x3e\xca\xe7\x0b\x47\xee\x9b\xec\x1e\x02\x4c\x21\x13\x51\x54\x7c\x8a\xe1\x15\x67\x55\x86\xa5\x35\x39\x4e\xf4\xc1\xd8\xb1\x31\x57\x62\x4d\x6f\xe6\x59\xa0\x1e\x01\xb2\x8b\x2d\x74\x4d\xbb\x41\x8f\x06\x6b\xba\x04\xcf\x61\x9f\x34\xdc\x70\x0d\x1c\xb4\xdc\x79\xbe\xae\xe2\xed\xe0\x39\x7b\xf6\x2c\xf3\xb5\x30\x84\xdf\x34\x2b\x3b\x04\x05\xb3\x8b\x38\xd8\x3a\x37\xfd\x07\x3b\x6f\xf4\xe3\xf5\x5d\xf0\x37\xb0\x99\xa7\xb6\x47\xb1\xb6\x59\x4f\xef\x41\x48\xf0\x77\x8b\x3c\xab\xea\x3c\x62\x65\xc4\x9a\x3b\x88\xa7\x6d\x86\xc7\xda\xfa\x6f\x0b\xa6\x96\x49\x22\x94\xea\x32\x5e\x13\x34\x53\x58\x46\x48\x61\xa5\xcb\x25\xe9\x2e\x6d\xe0\x3c\x87\x00\x5a\x33\xf0\x4a\x60\xcc\x3e\xa8\x8d\xad\xa1\xba\x3f\xc0\x78\xcb\xe9\x27\x62\x0a\xa7\xa1\x0e\x48\x43\x41\xd7\x5a\x75\x6b\x48\xd0\xeb\xf2\x7d\xbc\xf3\xdc\x9f\x64\xf7\xad\x43\x6d\x4e\xdd\xaa\xf9\xd5\x1a\x13\xf1\xd8\x97\xfe\x82\x77\xda\x72\xc2\xc1\x66\x34\x80\x31\x4c\x55\x97\xa0\xb9\xf3\x17\x60\x13\x8a\x0f\xad\x8a\x21\x4d\x69\x7e\x9f\x48\xe9\x89\x2d\xf9\xd4\xdb\xf2\x90\x58\x08\xa4\x05\x33\x70\x1c\x03\xfb\xf4\xc6\xd5\x60\x57\x32\x5b\x2c\x44\x0a\x6c\x85\xa9\x1f\xaa\x8d\x75\x6e\x50\x55\xb2\xbc\xbc\x13\x32\xe1\x4a\x17\x1f\x02\x9b\xd0\x6b\xd0\xb1\x5b\x16\x37\x45\x79\x57\x74\xb5\xb1\x53\x8e\xc3\xfc\x5a\x9a\x5c\xaf\x34\xf0\xb0\xac\x4a\x0c\xac\xe6\x7c\xb1\x80\x70\x3d\x53\x2c\x15\x32\xbb\x15\x29\x9b\xc8\x72\x4e\x29\x9b\xaa\x4c\x6e\xa0\x77\x3a\xdb\xd9\xab\xee\x2b\x7f\x5a\xba\xb9\x40\x8a\xfc\x38\xff\x3d\x5b\x33\x8e\x98\x07\x53\x8b\x12\x97\x3e\xad\x21\x5c\x68\x9f\x8d\xc5\x8b\x0b\x96\x1c\xf7\xeb\xa1\x08\x34\x15\xfc\x0f\x89\xbf\xce\x46\x3b\x08\xac\x68\xba\x46\x6d\x86\x2d\x9d\xd3\x34\x4b\x55\xbe\x86\xe1\x78\xc1\x95\x68\xdb\x74\xc0\xdf\xe7\x55\x6e\xe2\x49\x3d\xc3\x99\xa7\xd6\xdf\xe1\x85\xeb\xb8\xfb\xbd\x1d\x7e\x1a\xca\x05\xcf\x45\x55\xd5\x07\x02\x61\x5e\xc0\xf7\xef\x08\x22\xb4\x0d\xc6\xe7\x79\xc2\x58\xfb\x0a\xd3\x48\x82\xed\x8c\xde\xbc\x7b\xc5\x06\x47\x3b\xb8\xbc\x80\x31\xd6\xfa\x43\x1f\xff\x81\x71\xff\xc3\x8b\x17\xf6\xeb\xc1\xcb\xd3\x51\xff\x88\xae\x1e\x8c\xf0\xaa\x86\xdf\x3f\x38\x3a\x1c\x1d\xe0\x9d\xe3\xc3\xc3\xfe\xf1\x57\xf8\xb5\x7f\x74\x7a\x72\x3a\xc2\xaf\x17\xfb\x17\xc7\x2f\x2e\x2d\xfc\xe1\xe1\xe1\xf1\xe1\x3e\xde\x79\x79\x39\x3c\x1d\x9e\x12\x7c\xff\xab\xd1\x80\xae\x5e\xbe\x78\x79\x7a\xe0\xe0\x8f\x87\xa7\x97\xf0\x38\xdc\x19\xf6\xfb\x2f\xbe\x32\xf0\x87\x5f\x5d\x50\x2b\xf0\xef\x45\xab\x6b\x73\x52\xd0\xb1\xa3\xfb\x23\x4d\xad\x64\x39\xa6\xb5\x9b\xb5\xee\xc1\x97\xc3\x4b\xfb\xf5\xe4\xd8\x7e\x1d\xb9\xab\x17\xee\xea\xa5\x43\x0a\x1e\xb4\xad\x1c\x5e\xda\x56\x0e\x2f\x6d\x2b\x87\x97\x23\x77\xf5\xc2\x5d\x0d\x5a\x39\x39\xb6\xad\x9c\x1c\xdb\x56\x4e\x8e\x6d\x2b\x27\xc7\x23\x77\xf5\xc2\x5d\x0d\x5a\x19\x39\x5c\x46\x0e\x97\x91\xc3\x65\xe4\x70\x19\x39\x5c\x46\x21\x2e\x17\x0e\x97\x0b\x87\xcb\x85\xc3\xe5\xc2\xe1\x72\xe1\x70\xb9\x08\x71\xb9\x74\xb8\x5c\x3a\x5c\x2e\x1d\x2e\x97\x0e\x97\x4b\x87\xcb\x25\xe1\x62\x78\xe4\xd2\x0e\x12\x7c\xd5\xcd\xc0\x57\xdd\x0c\x7c\x1d\xb9\xab\x17\xee\xaa\x87\x0c\x8c\x8b\x6d\xc5\x0e\x12\x7c\xb1\xad\xd8\x41\x82\xaf\x17\xee\x6a\xd0\x8a\x1d\x24\xf8\x6a\x5b\xb1\x83\x04\x5f\x47\xee\xea\x85\xbb\x1a\xb4\x32\x72\xb8\x8c\x1c\x2e\x23\x87\xcb\xc8\xe1\x32\x72\xb8\x8c\x42\x5c\x2e\x1c\x2e\x17\x0e\x97\x0b\x87\xcb\x85\xc3\xe5\xc2\xe1\x72\x11\xe2\x72\xe9\x70\xb9\x74\xb8\x5c\x3a\x5c\x2e\x1d\x2e\x97\x0e\x97\x70\x90\x80\x2c\xba\x19\xf8\xaa\x9b\x81\xaf\xba\x19\xf8\x3a\x72\x57\x2f\xdc\x55\x0f\x19\xa0\xa8\x6d\xc5\x0e\x12\x7c\xb5\xad\xd8\x41\x82\xaf\x17\xee\x6a\xd0\x8a\x1d\x24\xf8\x6a\x5b\xb1\x83\x04\x5f\x46\xee\xea\x85\xbb\x1a\xb4\x32\x72\xb8\x8c\x1c\x2e\x23\x87\xcb\xc8\xe1\x32\x72\xb8\x8c\x42\x5c\x2e\x1c\x2e\x17\x0e\x97\x0b\x87\xcb\x85\xc3\xe5\xc2\xe1\x72\x11\xe2\x72\xe9\x70\xb9\x74\xb8\x5c\x3a\x5c\x2e\x1d\x2e\x97\x0e\x97\x70\x90\x46\x4e\x92\x46\x4e\x92\x46\x4e\x92\x46\x4e\x92\x46\x4e\x92\x46\xa1\x24\x8d\x9c\x24\x8d\x9c\x24\x8d\x9c\x24\x8d\x9c\x24\x8d\x9c\x24\x8d\x42\x49\x1a\x39\x49\x1a\x39\x49\x1a\x39\x49\x1a\x39\x49\x1a\x39\x49\x1a\x85\x92\x34\x72\x92\x34\x72\x92\x34\x72\x92\x34\x72\x92\x34\x72\x92\x34\x0a\x25\x69\xe4\x24\x69\xe4\x24\x69\xe4\x24\x69\xe4\x24\x69\xe4\x24\x69\x14\x4a\xd2\xc8\x49\xd2\xc8\x49\xd2\xc8\x49\xd2\xc8\x49\xd2\xc8\x49\xd2\x28\x92\xa4\x0b\x27\x49\x17\x4e\x92\x2e\x9c\x24\x5d\x38\x49\xba\x70\x92\x74\x11\x4a\xd2\x85\x93\xa4\x0b\x27\x49\x17\x4e\x92\x2e\x9c\x24\x5d\x38\x49\xba\x08\x25\xe9\xc2\x49\xd2\x85\x93\xa4\x0b\x27\x49\x17\x4e\x92\x2e\x9c\x24\x5d\x84\x92\x74\xe1\x24\xe9\xc2\x49\xd2\x85\x93\xa4\x0b\x27\x49\x17\x4e\x92\x2e\x42\x49\xba\x70\x92\x74\xe1\x24\xe9\xc2\x49\xd2\x85\x93\xa4\x0b\x27\x49\x17\xa1\x24\x5d\x38\x49\xba\x70\x92\x74\xe1\x24\xe9\xc2\x49\xd2\x85\x93\xa4\x8b\x48\x92\x2e\x9d\x24\x5d\x3a\x49\xba\x74\x92\x74\xe9\x24\xe9\xd2\x49\xd2\x65\x28\x49\x97\x4e\x92\x2e\x9d\x24\x5d\x3a\x49\xba\x74\x92\x74\xe9\x24\xe9\x32\x94\xa4\x4b\x27\x49\x97\x4e\x92\x2e\x9d\x24\x5d\x3a\x49\xba\x74\x92\x74\x19\x4a\xd2\xa5\x93\xa4\x4b\x27\x49\x97\x4e\x92\x2e\x9d\x24\x5d\x3a\x49\xba\x0c\x25\xe9\xd2\x49\xd2\xa5\x93\xa4\x4b\x27\x49\x97\x4e\x92\x2e\x9d\x24\x5d\x86\x92\x74\xe9\x24\xe9\xd2\x49\xd2\xa5\x93\xa4\x4b\x27\x49\x97\x4e\x92\x2e\x03\x49\xd2\xbe\xdf\x54\x8a\x15\xcd\xda\x4a\x3e\x5f\x78\xae\xdf\x09\xfc\xe0\x73\x83\x21\xfc\xd0\xd7\x17\xf0\x83\x5f\x87\x47\xf0\x83\x5f\xf7\xfb\xf0\x43\x5f\x47\xf0\x63\x31\x3d\xc0\x7f\x78\xe7\xe0\x25\xfc\x90\x71\x3c\x81\x1f\xfc\x8a\x8d\x50\xdb\x47\x2f\xe0\x07\xbf\x1e\x1f\xc1\x8f\x53\xef\x88\x0c\xa9\xec\x11\xfc\xe0\xd7\xd3\x03\xf8\xa1\xaf\x2f\xe1\x87\xd4\x05\x42\xe0\xd7\xaf\x86\xf0\x63\x5b\xf9\xea\x05\xfc\xe0\x1d\x7c\x13\xe1\x7e\xd1\x87\x1f\xfa\x3a\x82\x1f\xfc\x8a\xb8\x52\xdb\xe8\x31\xbf\xc4\xba\xba\xeb\x4e\x18\x67\x24\x4b\x29\x85\x4d\x6b\xe9\x48\xa3\x6b\x96\x3c\xaf\x68\xca\x62\xa9\x84\xc4\x5c\xde\xb4\x61\x32\x20\x59\x1b\x80\xd4\xe2\x93\xb0\xba\x3b\x65\xba\x78\x9b\x27\x49\x29\x53\x3d\xfd\x1e\xc4\xbe\xb5\xc0\xb7\xfe\xe6\x37\x7a\x65\x1c\x84\x9e\x3b\x3c\xcf\x12\x31\xce\x97\x62\xe7\x0c\x4b\x02\xdb\xc3\x83\x7e\x97\x0d\x0f\x4e\xa8\x70\x6b\xa7\x8b\x40\x45\x95\xfd\x65\x29\xee\x66\x59\xe5\xe0\x0e\x01\x6e\xff\xb0\xcb\x86\x83\x26\xb8\x81\x03\x04\x98\xfd\x53\x00\x3c\x6d\x00\x1c\x5a\xc0\x7d\x78\xe9\x70\xbf\xcb\x86\xfd\x83\x06\xc0\x7d\x0b\xd8\x3f\xec\xb2\xc1\xe9\xb0\xcb\x06\xc7\x47\x0d\x80\x07\x06\x70\x00\x6f\x1d\xec\x0f\xba\x6c\x30\xec\x1b\xc0\xbf\x2c\xf9\x9c\xcb\xac\xb0\x3d\x19\x0c\x8f\xb1\xb3\x80\xe0\xb0\x06\x35\x78\x1c\x98\xed\xc5\x60\x00\xbd\x80\xae\x0c\x4e\x4f\x6a\x60\xb6\x0f\x83\xfe\x10\xfa\x09\x1d\x39\xae\xa3\x66\x7b\x70\x84\x1d\x80\x8f\x81\xed\xe9\x8f\x4b\x19\x8d\x16\x22\xe5\x46\x0b\x00\x06\x5b\x21\x1c\xdd\x87\x07\x1a\xe3\xe1\xfe\x89\x0f\xe1\x90\x3d\xdd\xd7\xc8\x0e\xfb\x41\x1b\x1e\xa5\x07\x06\xd1\x7d\x33\xc8\x63\x91\x4d\x3d\x44\xe1\x69\xfc\xb0\x43\x31\xce\xd4\x5f\x3c\xc6\x43\x1c\x87\x48\xb8\xa3\x00\x62\xb0\x1d\x24\x62\xa2\xc1\x7e\x97\x0d\x4e\xf6\x03\x90\x88\x7d\x4e\x00\xe4\xf0\x24\x00\x89\x18\x67\x08\x70\xfd\x63\x03\x92\xf3\xe4\xc6\x00\xf4\xbb\x0c\xfe\x73\xb7\x8a\x64\x26\x52\x9e\xcf\xcb\x22\x8d\x18\x3f\xa0\x9a\x2f\x69\xd4\x86\x1b\x15\xb8\x37\xd8\x74\x73\x18\xdd\xb4\xa3\x05\x37\xf7\xa3\x9b\xc1\x2b\x0f\xc2\x9b\xde\x18\xe5\x4b\x71\x9b\x95\xb9\xa8\x5c\xd7\x4f\xba\xec\x00\xc6\x7b\x68\x49\x2c\xcb\xbb\xc2\xde\x3f\x3a\xec\xb2\x83\x21\xfc\xfa\xb7\xc3\x31\x3a\x3a\x80\x5f\xff\x7e\x38\x40\x87\xa7\xf0\xeb\xdf\x0f\x47\xe7\x70\x00\xbf\xfe\xfd\x70\x68\x80\xa8\xfb\xb6\x83\x4b\x99\xaf\xee\xca\xd2\x11\x7e\x08\xaa\xe1\xe4\x00\x3a\x5a\x03\x8a\x98\x69\x00\x7c\x7b\x58\x83\x0a\xd1\x1d\x9c\x1e\x77\xd9\xe0\xa0\x06\x15\xb1\xd4\x71\x1f\x99\x26\x86\x8a\xb8\x6a\x70\xd8\x65\x27\x06\x28\xe1\xa9\xa8\x7c\xa6\x38\x3d\x44\xb6\xec\xb2\xc1\x51\x3f\x86\x71\xaa\xe8\x70\x68\x84\xe9\xb0\xd6\x92\xd3\x44\x30\x4a\xc3\xe1\xa9\xcf\x29\x16\xca\xc9\x36\x12\x0b\x3a\xe8\x58\xc6\x42\x59\xd4\x51\x5a\xf6\x0f\x7c\xd6\x49\x66\x5c\x56\x52\x2c\x55\x83\x22\xed\xd7\x60\x1a\xd4\x68\x1d\xa8\x41\x89\xd6\x81\x1a\x54\x68\x1d\xa8\xae\x40\x1d\x4c\x99\x94\x39\xf7\x0c\xd9\x00\x86\x0d\x9a\xd9\xaf\xc1\x84\xcc\x82\xa8\xef\x1f\xc5\x40\x11\xaf\x00\xea\xfb\xfb\x31\x50\xc4\x2a\x88\xfa\x69\x0c\x14\x72\x0a\xa2\x6e\x61\x4a\xc9\xf3\x3a\x36\x27\x7d\xff\x7e\x84\xee\xe0\xa0\xcb\x4e\x8e\x7c\x80\x08\xd5\xfe\x51\xdc\x42\x88\xe6\xe9\x00\xb0\xf0\xef\x47\x18\x82\x1a\x38\x76\xf7\x8b\x09\x66\xff\x7d\x7e\x1e\xf4\x81\xba\x07\xc8\x84\x3e\xa4\xca\xf2\x9b\x50\x12\xd1\xe5\x18\xf6\x23\x98\xc1\x63\x80\x22\xed\xbf\x3f\x0c\x98\x59\x03\x85\x5d\x1b\x22\x5e\xc7\x31\x4a\xb1\xeb\x70\xe4\xbb\x0e\xc9\x8a\x17\x9e\x22\x8d\x8c\x2a\xdc\x1d\x6c\xbe\xed\x2b\xf0\xc8\xe0\xc2\x6d\x5f\x85\x47\xd6\x16\x6e\xfb\x4a\x3c\x32\xb5\x29\x97\x37\x75\xd3\x12\xde\x8f\xb0\x6f\x68\x61\x5a\xe6\xa9\x28\xa4\x53\xa4\x5a\x87\xc2\xc7\xa0\x09\x2e\xe2\xb7\x13\xd4\x5d\x4d\x80\x11\xdf\x1d\x83\x36\x39\x68\x02\x8c\xc4\xe4\x00\xcd\x70\x13\x60\x34\x50\xfd\x41\x97\x9d\xf8\x70\x92\xaf\x9c\xc5\x02\x08\xfd\x11\xc0\x08\x11\x50\xa4\xef\x99\x74\x0d\xb0\xb5\x91\x9b\x19\xbf\xc9\x1c\xbd\x4e\x8d\x67\x61\xdd\x06\x00\x9a\xf3\xa9\x28\x2a\x1e\xa0\x5c\x1b\x9f\x32\xcf\x6e\x45\x80\xd3\x09\xf9\x1f\x9e\x8c\x85\x70\x8e\xfc\xa8\x4e\x48\xe6\x87\x8d\xa0\x4e\xb3\x9e\x58\xf7\xb4\x7f\xd0\x08\xea\xf4\xeb\x91\xd1\xaf\xa7\xfd\x46\x48\x37\x06\x03\xc3\x50\x47\x3e\x9f\x94\x12\xe2\x9f\x90\x47\x0e\x22\x1a\x13\x4c\x83\x9e\xad\x03\x35\xe8\xd9\x3a\x50\x83\x9e\xad\x03\xd5\xf5\x6c\x08\x93\xcc\x32\x27\x03\x87\xfb\x5d\x86\xb1\x4e\x48\x2f\x04\x72\x56\x0d\x55\xe5\xd0\x17\x78\x07\xe5\x88\x7f\x0c\xbe\x4f\x20\xf7\x0e\xca\xd1\xfd\xf0\xc0\xbc\xb1\xde\x96\x43\xbd\x7f\xd0\x65\xa1\x45\x06\x28\x29\xd2\x98\xcd\xfc\xbe\x29\x74\x51\x1d\x21\xd1\x09\x46\xb7\xc5\xe7\x1b\x25\x78\xc0\x88\x83\x03\xf4\xa7\x81\xea\x07\xfb\x0d\x70\x83\x30\x50\xc0\x31\x3c\x6d\x02\xf4\xd8\xd0\xa8\xc0\xc1\x49\xbf\x01\xd0\x23\xc6\xa1\x89\x93\x02\xca\x1a\x40\x8f\x1e\x87\x46\xa9\x05\x64\x53\x60\x58\x7d\xdd\x78\x3c\x04\x36\x8d\xe9\x86\x60\xbe\xd6\x38\x38\xee\xb2\xe3\x53\xf8\x6d\x82\xf2\x5c\xb1\x41\x4d\xd5\x07\x90\x9e\x3b\x36\xa8\x69\xfd\x00\xd2\x73\xc9\x06\x35\x03\x10\x40\x3a\xb7\x6c\xd8\xa8\xc8\x35\xa0\xd8\xdc\x99\x6a\x29\xff\xb2\x2c\x33\x25\x02\xb3\x73\x04\x1f\x3e\x58\x14\x1e\x80\x05\xee\xa3\xe3\x6c\x60\xc4\x38\xe3\x85\xc7\x77\x43\xf0\x70\xc1\x37\x71\x10\x62\xb1\xc8\x8a\xc8\xde\xa3\x5f\x70\x1c\x81\x0c\x1e\x01\x13\xe9\x01\xf8\xdd\x8f\x61\x22\x35\x70\x84\xfa\x22\x82\x89\x4d\x88\xe7\x0b\x01\x88\xba\x59\x45\x26\x15\x85\xdc\x1b\x66\x07\x34\x78\x14\x94\x6f\xfe\x51\x15\x78\x8c\xe0\xa0\x7c\x2f\x00\x55\x81\xc7\x04\x0e\x2a\x70\x06\xfa\xa1\x1a\xc8\xe6\x81\xf9\x23\x45\x78\x18\x08\x06\x80\x88\xcd\x20\x65\x3a\x0d\x5d\xb9\x7d\x1c\x8d\x83\xa0\x73\x16\x68\xf0\x28\x28\x37\x74\x27\xda\xb1\xf0\x48\x60\xa1\xdc\xe0\xa1\xe7\x71\x14\x90\xc0\x42\xb9\xe1\x3b\xea\xb2\xe3\x13\x9f\x02\x93\x4c\x8a\xb1\xcc\x5c\xb8\x8e\xd4\xde\x47\x85\x19\x83\x84\x1c\x07\xdc\x7d\x70\x12\xc3\x84\x1c\x07\x9d\x3b\xa8\xb5\x13\x72\x1c\xc0\xed\xd7\xda\x09\x39\x6e\x08\x1d\x33\xee\xf9\x24\x07\xf7\x3a\xca\xb0\xa1\x56\xc1\x74\x9c\x61\xcc\x49\x29\x85\xaa\x02\xe5\xac\x6d\x80\xd7\xb7\x29\xcf\x0a\x35\x2e\x65\xe9\x02\xe2\x3e\xba\xcd\xbe\xef\x3c\x9d\x95\xaa\x0a\xdf\x87\xce\x75\x98\xf9\x03\x7f\x2b\x0a\x98\xbd\x78\x0b\xee\xc6\xf1\x74\x74\x3b\x72\xcd\xc1\x4f\xf3\x6f\xc7\x11\xf4\x7e\x78\x3b\x0e\x9d\x8f\xc3\xdb\x81\xb3\x3a\x44\x4d\x70\x04\xc4\x1f\xc6\x30\x91\x7f\x01\x56\xca\xaa\x8c\x75\x4e\x2a\x58\x28\x47\xd2\x35\x0e\x2a\xf6\xf9\x34\x06\x8a\x35\x0b\xaa\x32\x03\xe4\x8b\xe6\x29\xea\x0b\xfa\xf0\xee\xf7\x43\x3f\xde\xbf\xe5\xe4\xac\xcb\xe0\x3f\xff\x96\x7d\x8c\x38\xcb\xe3\x2e\xba\xdd\x8f\x38\x2b\x30\x5a\x08\x32\xf0\xe5\x93\x7e\xfd\xdb\x96\x42\xfb\x83\x2e\xa3\x5f\xff\xb6\xa5\x0d\xb8\x15\xf4\xeb\xdf\xb6\x54\x81\xa8\x8a\x7e\xfd\xdb\x87\xf6\xf6\x49\x24\x3f\x78\xfb\xc8\xda\xb2\x41\x97\xd1\xaf\x7f\xfb\xd8\xde\xde\xa7\xf4\xd5\x41\xf0\xee\x13\x7b\xfb\xa8\xcb\xe8\xd7\xbf\x7d\x6a\x6f\x9f\x44\x3a\x20\x30\xe1\x87\x5d\x06\xff\xf9\xb7\x2c\x4d\x29\x65\xe5\xa5\xad\xf0\xb6\x25\x28\xfa\x74\xf8\xeb\xdf\x76\x2d\x1f\x75\x19\xfd\xfa\xb7\x2d\x41\x29\x5f\xe6\xe5\xcc\xf0\xb6\x4b\x72\x0c\xc8\xa5\x39\x0a\xde\x6d\x09\x4a\xd9\x38\x2f\x23\x87\xb7\x2d\x41\x8f\x8e\xba\x8c\x7e\xfd\xdb\xc7\x7e\x06\x85\x7e\xfd\xdb\x96\xa0\xc7\x83\x2e\xa3\x5f\xff\xb6\x25\xe8\xf1\x41\x97\xd1\xaf\x77\xdb\xf6\xeb\xa4\xcb\x4e\x5c\xe0\x86\xb7\x2c\x41\x8f\xc1\x67\xc1\x5f\xff\xb6\x25\x28\xb9\x33\x9e\x4b\x83\xb7\x87\xbe\x67\x44\xbf\xfe\x6d\xf7\xe2\x83\x2e\xa3\x5f\xff\xb6\xf3\xab\xc0\x7d\xc1\x5f\xff\xb6\x25\x28\x84\x79\xf4\xeb\xdf\xb6\x04\x3d\x1d\x76\x19\xfd\xfa\xb7\x2d\x41\x4f\x0f\xba\x8c\x7e\xfd\xdb\x96\xa0\xa7\xc7\x5d\x46\xbf\xfe\x6d\x4b\xd0\xd3\xd3\x2e\xa3\x5f\xef\xb6\xe7\x05\x93\x27\x33\xf0\x75\xc6\x41\xdf\xdd\x1e\xea\xa0\x68\xd0\xf7\x91\x3b\x18\x6c\x72\x05\x10\xc2\xf9\xb1\x10\x91\x9a\x0f\x1f\x62\x3f\x0c\x07\xf5\x87\x0f\xe1\x05\x8c\x43\x8c\x55\xfd\x80\x15\x21\x0e\x1d\xc4\xa1\xce\x95\x0e\x06\x01\x1e\x47\x0e\xe2\x58\x9b\x84\xc1\x20\xc0\xe3\xd8\xf9\xd1\x18\xd9\xf4\xfd\x1c\x0e\x42\x9c\x38\x88\x21\xc6\x3e\x7e\x00\x84\x10\xa7\x0e\xe2\xd0\xcc\x04\x0c\x7d\x3c\x1c\xa2\x98\x19\x85\x5f\xff\xae\xa3\x38\xc4\xb2\xe6\xc3\x87\x70\x14\x47\x8f\x49\x7f\xf8\x10\x8e\xe2\x18\xa6\xe9\x0f\x1f\xc2\x51\x7c\x1f\x83\x9f\x43\x3f\xe3\x8d\x10\x9e\x25\x42\x0f\x89\x3e\x7c\x08\xd7\x91\x83\xbe\x8e\xcf\x07\x07\x01\x1e\x47\x61\x18\xa8\x3f\x7c\x08\x47\xf1\x03\x8c\xf1\x0f\xfd\x6c\x39\x42\x9c\x04\xf1\x83\xf9\xf0\x21\x1c\xc5\x31\x1e\xd5\x1f\x1e\x84\x43\x03\x0d\xaf\x97\x6a\xc2\xbb\xfd\x20\x60\x37\x1f\x3e\x84\x17\xb3\x41\x3c\xa0\x3f\x7c\x08\x47\x71\xcc\xc0\xeb\x0f\x1f\xc2\x4b\x8e\x40\x08\xa9\x3f\x7c\x08\xcf\x2d\x05\x14\xf4\x87\x0f\xe1\x28\x0e\x5a\xd7\x7c\xf8\x10\xae\xab\x47\xe8\xd3\xd0\x87\x0f\xe1\x28\x0e\xba\xd7\x7c\xf8\x10\x8e\xe2\x98\x6d\xd3\x1f\x3e\x84\xa3\xf8\xf1\x11\x4e\xa5\xfa\xf3\xa9\x00\xe1\x5e\x62\xe2\x2c\x1f\x87\x63\x47\x71\xd0\xc3\xe6\xc3\x87\x70\x14\x3f\x01\x04\xf5\x87\x0f\xe1\x25\x04\x0e\xcc\x9c\x4d\xa0\x93\x8f\x1d\xc5\x4f\x00\x41\xfd\xe1\x43\x38\x8a\x53\xfa\x8d\x3e\x7c\x08\x47\x71\x88\xcd\xcc\x87\x0f\xe1\x28\x0e\x9a\xd9\x7c\xf8\x10\x8e\x18\xa7\x47\x38\xff\xe8\x4f\x42\x22\x84\xa3\xf8\x29\x66\xee\xe9\xc3\x87\x38\x75\xce\xe3\x40\x3b\xc3\xc3\xbe\x8f\xc7\x89\x03\xa0\xe8\x37\xd0\x5b\x27\xce\x81\xeb\x63\x5c\x78\xe0\x67\xa5\x10\xc2\x4b\x09\xe2\x8c\x0e\x7d\xf8\x10\xce\xcb\xed\x9f\x62\xa8\xef\xc7\xfb\x08\xe1\x5c\x5c\x50\xd0\xe6\xc3\x87\x38\x70\x10\x80\x82\xfe\xf0\x21\x0e\x1d\x04\xa0\xa0\x3f\x7c\x88\x23\x07\x41\xa5\x01\x7e\x7d\x00\x42\x1c\xbb\xf0\x05\x27\xb2\xe8\xc3\x87\x70\xe4\xc2\x29\x6c\xfd\xe1\x43\x38\x8a\xe3\xb4\x93\xfe\xf0\x20\x1c\xc0\x3e\x04\xa3\xf0\xeb\xdf\x75\x14\xc7\x79\x34\xfd\xe1\x43\x38\x8a\xe3\xb4\x83\xfe\xf0\x21\xbc\xb8\xc2\x4e\x08\x07\x5a\xfa\xd4\x51\x7c\xff\x18\x27\x4a\xfc\xd9\x12\x84\x70\x14\xa7\xf2\x8c\x20\x28\x44\x08\x47\x71\x9c\xf6\xd3\x1f\x3e\x84\xa3\xb8\x9b\x8b\x0f\xb4\xf4\xa9\xa3\xf8\x01\xa0\xa0\x3f\x7c\x08\x47\x71\x8c\x4b\xf5\x87\x0f\xe1\x08\x8a\x93\x94\xfa\xc3\x42\x84\x29\xf7\x60\x1e\x30\x4c\x25\x36\xde\xad\x4d\xa0\x04\x77\x6b\xf3\x27\xc1\xdd\xda\xf4\x49\x70\x77\x25\xf2\xbc\xbc\x0b\x74\x26\x25\x04\x5c\xf7\xc5\x96\xb8\x4d\xac\x8f\xdb\xc4\xfa\xb8\x4d\x6c\x8e\xdb\xc4\xf6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xfa\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\xac\x8f\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xc6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8c\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xc6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8c\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xc6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8c\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x89\xdb\x66\x65\x21\x56\xa9\xb8\x0b\x7b\x43\x15\x79\xfd\x08\xa6\xa9\xf2\xbc\x06\xd4\x54\x7c\x6e\x39\xc0\x00\x35\xd4\x9f\xbb\xb2\x12\x03\xd4\x58\x82\x3e\xb0\x40\x55\xad\xf0\x80\x9c\xa4\x93\x7e\x08\x12\x97\x4e\xf6\x1b\x60\x1a\xaa\x27\x07\x47\xc7\x21\x4c\x54\x40\x79\x84\x93\xe1\x21\x48\x38\x3b\x08\xc6\xca\x2e\x14\xc8\x8a\x34\xaa\xa5\xc0\x56\x7c\x9f\xd4\x82\x44\x18\x23\x36\xfd\xa3\x18\x2a\xc4\x39\x70\x40\x2d\x4c\x88\xf3\x89\x5f\x9f\x6c\x61\xea\x48\x5b\x03\x9b\xdd\x96\x72\xd5\x10\xa2\xda\x41\x47\x80\xc1\x56\x88\xb8\x8a\x33\xe0\x09\x84\x88\x4b\x38\x03\x86\x40\x88\xb8\x7e\x33\xe0\x86\xa0\x56\x8f\xb8\x73\x3f\x70\x9b\x10\x20\xae\x38\x3d\xf2\xdd\x26\x84\x88\x11\xed\xfb\x0e\x1e\x42\xc4\x4b\x55\x4e\x7c\x77\x18\x21\x62\x44\x21\xd4\x32\x04\xcd\xf9\xad\x28\x52\x21\xdd\x6b\x0c\xaa\x4e\x66\x0d\xcc\x38\x5f\xaa\x59\x84\x71\xdf\x57\x10\x01\x60\xdc\xb7\xf5\x90\xf1\xaa\x9c\x03\x5f\x81\x06\x90\x71\x5f\xf7\xb1\x9c\xbc\x09\xb2\x69\x5d\x8e\x9d\x61\xcf\xf9\x5d\x11\x16\x9d\xe1\x3b\x0f\xbd\x02\xbe\x5c\xcc\xcb\x22\x99\x65\x93\x89\x57\xc2\xe6\x8a\x24\x6c\xdc\xe3\xc3\xc5\x6c\xb7\x16\x30\x1e\xd4\x7d\xdf\xd7\xf0\x01\x63\x26\x44\x57\xb2\xa9\xc5\xb8\xbb\xc7\x7e\xd4\x94\x67\xd3\x59\x50\xf8\x4f\x29\x27\x2c\x76\xb1\xe1\x84\x05\x0a\xeb\x0c\x69\x31\x95\xcd\x00\x59\xa8\xb0\xce\x90\x56\x52\xd9\xa0\xc1\x42\x85\x75\x86\xb8\x8c\xca\xa3\x88\x81\x0a\xeb\x0c\x8d\x6e\xf5\xa1\xc2\x8a\x74\x8c\x3f\xb0\xaa\x67\x18\xbc\xd1\xaf\x3a\x26\x2e\x0a\xd3\x57\x16\x68\xf0\x28\xa8\xc8\x0b\x0a\xab\xe9\x2c\x94\xe7\x7b\xd6\x4b\xa9\x2d\xd4\x41\x18\x4d\x86\x65\x74\x08\x55\xaf\x31\x21\x61\x18\xf8\x31\x5f\x08\x19\x2f\x7b\x3b\x5a\xdf\x68\x2c\x62\xfd\xf5\xad\xc6\x32\xd6\xaf\xb1\xd2\xba\xda\x13\xf0\x7c\x6c\x70\x10\x42\x86\x29\x4f\xcf\x31\x18\x84\x48\x78\x05\x2b\xb8\x5c\xc6\x7c\x84\x40\x41\xb9\xa8\xb1\xe9\xce\xf6\x19\xa8\xed\x4d\xd5\x0d\x36\x56\x39\x5a\x3d\x6f\x81\x22\x03\x78\x8c\x31\xc8\x61\x0c\x15\x19\xed\xa3\xa1\x1f\x4f\x59\xa8\xb8\xee\x9c\x16\x2d\xc4\x50\x21\x6d\x71\xa9\x4e\x3f\xc0\x3d\x2a\xaf\x45\xbc\x8e\x82\xf2\x5a\x0f\x6c\xf0\x48\xb8\xa8\x07\x58\x13\x3f\x38\xa8\xc3\x45\x7d\x80\x91\x3f\x3d\xa9\x83\x85\x9d\x38\x39\xf6\x12\x88\x04\x15\x15\xff\xee\x0f\x75\xb5\xa2\x5b\xa8\x48\x70\x61\x7d\xe4\x80\x16\xba\x1d\x05\x46\xca\x83\x1b\x04\x51\xeb\x10\xd3\xdc\xa1\x7c\xc7\x55\x92\x83\xa3\x03\xc3\x21\xa1\x88\xc7\x85\x92\x58\x59\x8b\x5c\x12\x49\x79\x5c\x2b\x89\xee\xd8\x70\xbf\x26\x92\xb5\x1a\xe1\xc1\xbe\xc9\x73\xc5\x38\xc6\x65\xc2\x83\x81\x5d\x27\x72\xb8\xdf\x00\x29\x1e\x01\x59\x09\x91\x87\xa6\xc0\x44\xaa\xc3\x88\x1f\x0c\x64\x54\xf9\x3f\xac\x2b\x4b\x0b\x1a\x55\xfe\x0f\xfa\x75\x72\x1a\xd0\xb0\xf2\x1f\xc3\xfe\x98\xa0\x06\x34\x2a\xfd\x6f\xa0\x69\xac\x5d\xac\xd3\x37\x3c\xa8\x83\x35\x39\x87\x4d\x70\x4d\x2e\x62\xbf\xe1\xb5\x4d\x8e\xe2\x49\xbf\x0e\xd7\xe4\x2e\x7a\x24\x9f\x87\xeb\x31\x0e\x8d\x31\xf1\x18\xbc\x10\x45\xa8\x41\xb5\x5b\xa9\x01\xa2\x95\x1f\x34\xa3\xe5\x0f\x96\x06\x18\x6c\x85\x08\xbb\x1e\x8c\xa2\x86\x08\x3b\x1d\x38\x3a\x1a\x22\xec\x6e\xb0\x02\x65\xce\x65\xe9\x34\x17\x72\xe0\x01\x04\x0c\x47\xc1\xfd\x10\xcd\xc3\xa1\x9f\x39\x22\x88\xa8\x54\xf6\xc4\x0f\x91\x08\x22\x44\x13\x45\xd7\x5a\x09\x82\x88\xca\x64\xfd\x00\x69\x2e\xd2\x6c\x39\x6f\x58\xc3\xdd\xb0\x9c\x9a\x60\x1b\x56\xdc\x3a\xb2\x20\x44\xb4\xde\xe3\xe4\x88\x62\x20\x67\x96\x7c\xb0\xd0\x4d\x19\xf4\x03\x15\xe1\x03\x86\x9e\xca\xe9\x61\x30\x60\x1e\x5c\xe8\xab\x84\x4a\xcc\x87\x0b\xbd\x95\xc3\xc3\x60\xf0\x10\x6e\xb1\x94\x8b\xdc\x51\xe4\xe0\xd8\xa8\xb0\x41\x13\x9c\xa7\x8f\x07\x3a\x8f\x1d\x77\x84\x00\xbd\xe4\x2a\x8a\xc7\xa0\xde\x13\x02\xf4\xb2\xda\xc7\xba\x28\x3d\xee\x0a\x01\x3a\x7d\xbc\x4f\x73\x50\x71\x4f\x62\x13\x84\xa6\x11\xf3\x94\x36\x5b\xaf\x01\x6b\x8a\x1b\x35\x51\xff\xa0\x8e\xa3\x5a\xc8\xac\x98\xd6\x27\xa0\xa9\xca\x3e\x00\xad\x2d\x8c\x38\x1e\xda\x8c\x5b\x08\x49\x6b\x23\xfc\x35\x37\xa7\x98\x0f\xf3\x03\xc2\x79\x96\x16\xb1\xb3\x4f\x0a\xdb\x77\xe2\xe6\x59\x51\x25\x52\xf0\x79\x98\xec\xd1\x41\x8b\x05\x52\xd5\x4a\x96\xaa\x61\xcd\xfc\xd0\xce\x72\x58\xa0\x86\x65\xf3\x0d\x50\x0d\x2b\xe7\x9d\x03\x68\xa1\x9a\x16\xcf\xdb\x8c\xb0\x85\x6a\x5a\x3f\x6f\xf3\x72\xf3\x32\x49\xb8\xca\x8a\x3a\x56\xae\xa5\x82\xdf\xf2\x1f\xca\x86\x2a\xf8\x61\xe0\xb6\x79\x60\x71\x27\xd7\xc1\xc5\x75\xe8\xc7\xfe\x04\x80\x07\x17\x17\xa4\x07\x41\x81\x07\x17\x77\x75\xe0\xcd\x0b\x16\xfc\x76\x15\xaa\x1c\x17\x14\xc1\xbd\x86\x95\x9a\xf6\x7e\x99\xa7\x39\x4f\xbc\xde\xef\x9b\x94\x9f\xb5\x29\xb8\x00\x2f\x95\x7c\xec\x94\x1f\x2e\x4f\x1f\x7a\x6b\xe2\x2d\x8c\x17\x39\x9a\x35\x82\x47\xc3\x18\xc8\x0b\x1c\x4d\x54\x75\x78\x12\x03\x85\x71\x63\x68\x07\x2d\x50\xc3\x72\x2c\x1b\xe1\x37\x2d\x07\x3c\xf2\xaa\x34\x1a\x97\x02\xd6\x01\x22\x77\x18\x90\x09\x01\xa2\x21\xdc\xdf\x8f\x01\x22\x37\xbe\x1f\xdf\xf7\xf3\x6f\x48\xb0\xd3\x06\x88\xc1\x76\x90\x10\xd3\xa3\x1a\xa2\xb5\xd4\xdb\x61\xad\xb3\xb5\xcc\xdb\xfe\xb1\x0f\xe2\x1b\x2e\x5a\xff\x40\x0a\xff\x20\x80\x88\x48\xba\x3f\xf0\x75\x4a\x6c\xad\x90\xa8\x98\xb3\xb7\x1a\x2c\x32\x54\x43\x3b\xd5\xec\x26\x41\x62\x1b\x05\xa8\x92\x66\x37\xc6\x7f\xc1\x73\xb1\x26\x9e\xa6\x08\xa3\xef\x03\x06\xe1\x24\xe5\xa2\x71\xa3\x86\x61\x0c\x34\x08\xb9\x12\x3b\x68\xd5\xb9\x85\x1a\x6e\x0a\x4d\x2d\xd4\x7e\x98\x7a\xa2\x28\xaa\x06\xe5\x8a\x0d\xcc\xc2\x9b\x13\x1f\xa6\x66\x3c\x06\xc7\x87\xb5\x4c\x45\x00\xe8\xcd\xb6\x1d\xd7\x32\x1f\x01\xa4\x27\xa7\xf5\x2d\x5b\x02\x48\x4f\x58\xeb\x19\x90\x00\xf2\x20\x70\xa1\xa2\x2c\x08\x40\xd6\x6c\x1c\xce\xf9\x50\x11\xc0\xc1\x71\x13\x60\xcc\x6f\x7d\x7f\x92\x33\x80\x8c\xd9\x0e\xc7\xb8\xf1\xe5\x31\xf7\x1d\xc4\xbc\x65\x21\xeb\x4c\x68\x53\x07\x0b\xbe\xe0\x2b\x7e\x37\xcb\x16\x51\x96\x06\x8d\xb6\x85\x12\x3c\x99\x2d\x96\x93\x49\x08\x44\x13\xa9\x87\x31\x50\xbc\xfe\xa9\x19\x2a\x36\x3f\xc1\xac\xae\x85\x8a\x8d\xcf\xa1\x9f\x85\xb0\x50\xf1\xa2\xa8\x53\x3f\x0d\xb1\x10\x72\x59\xd7\x7f\x76\x22\xbb\x9e\x5c\xa1\xfc\x9f\x7f\x3f\x5e\xd5\x3f\xf0\x13\xba\x4d\x29\x95\x53\x7f\xf2\xb7\x29\x9b\x72\xe8\xcf\xc7\x37\x24\x52\xb0\x07\xf6\x7e\xbe\x74\x4e\x10\x72\xc4\x11\x2e\x5c\x1b\x78\xf7\x63\x14\x8f\x03\x91\xc9\x97\xf3\x78\xc3\x81\xc0\x21\x04\x80\x78\x1d\x57\x10\x17\x00\x40\xbc\x86\x6b\x18\xc8\x45\x79\x97\x46\xfb\x5c\x50\x56\xe3\xc0\x37\xd4\x91\x43\x0e\xdd\xc0\x69\xc6\x83\x10\xc0\x53\x61\x7a\x05\xa2\xd7\x97\xc8\x05\x07\x52\x1e\x84\x9d\x89\x7c\xef\xa1\x5e\x7d\xe8\xf5\x26\x74\xba\x31\xb6\x09\xd2\x92\xb1\xbd\xf3\x0c\x62\x4d\x9a\xc3\x7b\xb5\xa0\xd4\xbb\x57\x0b\x47\xbd\x7b\xb5\x40\xd4\xde\x2b\xd5\x2a\xdc\x6e\x48\xaf\x3a\xf7\x27\x61\x2c\x50\xc3\xb2\x3e\x97\x27\xb4\x50\x0d\xeb\xfa\x5c\x32\xc0\x42\x35\x2c\xec\x73\x2b\xce\x2d\x54\xc3\xca\x3e\x57\x6f\x25\xcb\x15\x0f\x12\x39\x47\xd6\x50\x0e\x6b\x30\x03\x3f\xb8\xa0\xfd\x6e\x0e\x6b\x40\x16\xf5\xa3\x63\x3d\x29\xe9\x06\xde\x02\xb9\x6a\xc3\x13\x1d\x68\xd6\x31\x72\x35\x9c\xa7\xe4\x89\xb8\xd1\x57\x3c\x4d\x73\x11\x12\xbd\xb6\xfd\x4c\x9c\xd8\xb4\xd9\x7e\xeb\x6a\x34\xe6\x34\x0f\xfa\x3e\x7d\x1a\xd3\x99\x60\x1d\x6c\x78\xdf\x98\xc8\x04\x4b\x73\x12\xbe\x26\xd2\xf1\x47\x5d\x76\x78\x6c\x01\x8a\x34\x64\xa1\x21\x08\x0c\x26\x13\x6d\x36\x23\x0e\x30\x0f\x8e\x8c\x29\x3f\x8e\x20\x06\xbe\xb5\xd7\xee\xc5\x69\x04\x63\x7b\x74\x6c\xf7\xd6\xb0\x35\x52\xb5\x0d\x0d\x8e\x8e\xad\x6b\x11\xc3\x1c\x6c\x44\x47\xcd\x44\x1e\xee\x00\xa4\xe3\x82\x93\x08\x26\x9e\xe4\x6b\x04\x8a\x27\x1f\x4e\xfd\x64\xa3\x01\x8a\xa7\x1d\x8e\xfd\x39\x31\x03\xd4\x30\x93\xe9\xa6\x31\x54\x26\x8a\x82\x07\x2a\xf0\x64\xd8\x65\x76\xce\x91\xee\x37\x38\x0c\xd6\x5f\x20\x88\x06\x47\xc1\x66\xad\x09\xa2\xc1\x41\x70\x3c\x81\x10\x75\xc7\xc0\x51\x65\x6d\x2e\xdb\x46\x54\xb5\x34\xb6\x97\xef\x8e\x60\x9c\xba\x46\x3d\x8b\x16\x36\x7e\x95\xb7\x8b\xd5\x89\x2e\x26\x73\x62\x1b\xe7\xad\x71\x6a\x63\x10\x58\xa0\x7a\xe6\x03\x50\x39\x0d\xcc\x98\x85\xf1\x90\x06\x7b\x3a\x08\x36\x28\xb0\x50\x1e\xda\x58\x68\x1a\x4c\x1f\x5a\xa8\xfd\x20\xc2\x3b\x39\x6d\x7c\xa1\xc3\x1c\x06\xaa\x5f\x43\x3c\xcc\xa0\x0f\x8d\x32\xb1\x2e\x79\xc3\x3e\x1b\xa7\x27\xb5\x59\x83\x86\x3d\x36\x4e\x0e\x6b\x53\x06\x0d\xfb\x6b\x60\x22\x2b\x4c\xb5\xd5\xf7\xd6\xa0\x81\x09\x33\xdb\x0d\x49\xfd\x06\xe4\x8b\x5a\xde\x3b\x98\xba\x87\xfb\x4d\xd3\xd2\x01\x40\xc3\x74\xb4\x0b\xc8\x00\xa0\x61\x1a\xda\x85\x63\x00\xd0\x34\xfd\x6c\x3d\xe6\x75\xd9\xb0\x43\xbf\xde\xd5\x03\xaa\x2d\xcb\x68\x84\xaa\x2d\xcf\x70\x9b\x6e\x78\x50\xb5\x65\x1a\xae\xa6\xd9\x83\xaa\x2d\xd7\xb0\x75\xec\xb5\xf9\x92\x63\x5b\x88\x6b\xcd\x7a\x7d\xa6\xe4\xf4\x54\xd7\x29\x7a\xfc\x53\x9b\x23\xa1\x3d\x45\x43\x79\xad\xcd\x8e\x60\x4e\xe8\x20\x70\xb1\xea\xf3\x22\x38\xb7\xde\x0f\x38\xbf\xf2\x66\xc2\x75\x7d\x91\x5f\x7c\x52\xf1\xda\x8c\xe0\xa1\x57\x26\x5f\xf1\xd8\x72\xc2\x2b\x6c\x0c\x51\xf1\xd8\x6c\x06\x7e\x7f\xc5\x8b\x7a\xd6\xc3\x3a\x54\xd5\x2c\x53\x55\xee\xed\x88\x77\x64\xb6\x31\xb1\xbb\x8e\x6a\x90\x38\xdd\x16\xc4\xaa\x1a\x26\xce\x28\x06\x5e\x8b\x86\x89\xf3\x89\xc1\x54\x93\x86\x89\x53\x6c\x81\x24\x56\xe5\x9c\x57\x65\x80\xcd\xe9\xa9\x67\x36\xe8\xfe\x60\x1b\x40\x54\x1e\x35\xf4\xcc\x0a\x01\x84\x88\xc2\xd0\x5b\xab\x42\x00\x51\x61\xd4\x81\x67\x55\x6a\xa9\x80\x23\x5b\xed\xd8\xaf\xc1\x04\x12\x16\x6e\xed\x58\x8f\xff\xfb\xb5\x8d\x1d\xeb\x91\x7f\xbf\xb6\xad\x63\x3d\xe6\xef\xd7\x76\x75\x0c\x77\xfb\x71\x2e\x9a\x7b\x53\x3d\x1f\x00\x8a\x12\x73\x38\x56\x05\xae\x49\x05\xe0\xb4\xa2\x55\x73\x6b\xb2\x00\x58\xbd\x7d\x50\x03\x8a\x32\x65\xc1\xe2\x80\x35\xb1\x3f\xf4\xcc\xae\x23\xb9\x9b\x09\xee\xfa\x75\xe0\x92\xc5\xa7\x3e\x40\x5c\xbe\x31\xf0\xab\x96\x11\x22\xe6\x6e\xac\xbe\x3e\xf0\x21\x62\xde\x3e\xf2\x3b\x8d\x10\x31\x67\x1f\xf9\x3a\xb0\x69\x0f\x98\x80\x1d\x10\x40\xcd\xcb\x9b\xa6\xcd\x75\xad\x67\xb5\x6e\xfe\xb5\x1f\xdc\x6f\x98\x78\x0d\x01\x1a\x66\x5c\x43\x80\x86\xa9\xd6\x10\xa0\x61\x8e\x35\x04\x88\x92\x7d\x7e\x72\xf9\xc9\xc3\xf3\x27\x7b\x7b\xec\xdd\xb7\xdf\xbf\x7d\xf1\x92\x5d\xbe\x7a\xfd\x12\xcf\x9e\x4d\xcb\x6a\xef\x07\xb5\x97\x67\xe3\x8f\x93\xde\x0f\x0a\x40\x5e\x94\x8b\x95\xcc\xa6\xb3\x8a\xb5\x93\x0e\x58\xc2\x21\x1d\x0e\x3f\x93\xe5\x3c\x5b\xce\xd9\xb7\xef\xd8\x68\x59\xcd\x4a\xa9\x7a\x6c\x94\xe7\x0c\x61\x15\x93\x42\x09\x79\x2b\xd2\x1e\xb4\xf1\xbd\x72\xa7\x82\xab\x72\x29\x13\xc1\x92\x32\xc5\xf3\xf0\xa7\xe5\xad\x90\x05\x1d\x1a\xcd\xd9\x57\xef\x2e\x76\x55\xb5\xca\x05\xcb\xb3\x44\x14\x4a\xb0\x6a\xc6\x2b\x3c\xe0\x7a\x2c\xa0\xa5\x49\xb9\x2c\xf0\xe0\xd3\x6a\x26\xd8\xeb\x57\x2f\x5e\xbe\x79\xf7\x52\xef\xc8\xfd\xa4\xb5\x54\x74\x92\x56\x52\xb5\xdc\xf6\xde\x5f\x4b\x3e\x66\x63\x3e\x05\x04\x96\x55\x96\x67\xd5\xca\x1e\x15\xe5\xed\x20\x3e\x61\xe7\xec\x27\xef\xe0\xa3\xb7\x74\xea\x12\xbb\xe5\x32\xe3\xe3\x5c\x30\x29\x26\x42\x8a\x22\xc1\xb3\x94\x19\xf7\x0e\x48\x04\xf0\x3f\x6a\x30\x3a\xce\xab\xa4\xe3\xb9\xf0\xf0\xf7\x7f\xbb\xfc\xfe\xcd\x8b\xf7\xaf\xbe\x7d\xd3\xfe\xe3\xe8\xed\x9b\xd1\x37\x2f\x3b\x3d\xc6\xcc\x35\xa0\x00\x2f\x58\xb9\x00\x6c\x78\x0e\x2d\x09\x95\xf0\x85\x70\x47\x97\x56\x25\xe3\x8b\x45\xbe\x32\x1b\x92\x07\x27\x88\x5d\x96\x92\x89\x7b\x3e\x5f\xe4\xfa\xf0\x7d\x3a\xa0\x54\x1f\x19\xf5\x47\x2e\x55\x7b\xe7\xdf\xda\xc0\x07\x55\x56\x4c\x3b\x5d\xf6\x6f\xa2\x00\xca\x7f\xff\xf6\xd5\x0b\x73\x72\x1d\x9d\x97\x05\x7c\xf3\xb4\xf1\xdc\xd1\x9f\x98\x79\xfe\x8c\xed\xfc\x07\x30\xd6\x7a\x58\x3a\xb9\xea\x8c\xed\x7c\x5d\x96\xd3\x5c\x3c\xdb\x61\x0f\x9d\xe7\x1a\xd7\x3f\x65\xc0\x1d\x42\x2d\xf3\x0a\x28\x48\x4d\x75\x19\x41\xfe\xdb\xf0\xab\x1d\x6f\x30\xfc\x1e\xf8\x47\x7b\xa9\x4a\x76\x61\x48\x14\x9d\xef\xa5\x4f\xad\x52\x95\x74\xa7\x64\xfd\x5b\xfb\x8a\xef\xfe\x78\xfd\xb4\xf3\xa1\xdd\xbe\xfa\xf3\x87\xce\xf5\xb3\xce\x87\xce\xde\x34\xeb\xba\x56\xf0\x9c\xb9\x2e\x9b\x14\xd8\x96\x3b\x2e\xcc\x1c\x32\x57\xad\x16\xa2\x9c\xe0\x7b\xae\x34\xc0\x35\x1e\x99\xb7\x2c\xf0\x28\x52\x91\xb6\x3a\xf6\xac\x56\x3c\xac\x97\xb5\xbe\xa7\xf3\xd7\x2c\xbf\xd0\xf1\x71\xfa\x69\x7d\x08\xb3\x3e\x1a\x1a\x8f\x36\xf7\xdb\xb6\xb7\xe1\xe5\x93\xc2\x9c\xe8\x15\x50\xa1\x67\x79\xd6\xe1\xca\xa8\xad\x0d\xb0\x57\x93\xe2\xba\x2d\x6f\xed\x59\x78\xfa\xf8\x3d\x7a\x8f\xdf\x50\xd4\x8b\x88\x09\xa9\x33\x93\xc2\x36\xf3\x24\x3c\x5b\x4f\xde\xea\xa3\xf5\xc2\x93\x14\x2f\x0d\x1a\xbe\x14\xb3\xa5\x32\xc7\x0f\xfb\x28\x6b\x26\x79\x91\x67\xa2\xa8\x14\xc2\xf2\x34\x25\xa6\x37\x07\xd7\x55\x25\x13\xf7\x95\x28\xd2\x06\x36\xef\xac\xe1\x1e\x47\x0b\xbd\x31\xbf\x15\x80\x33\xf7\xb5\xeb\x5f\xb7\x82\x71\xd6\x70\x0d\x21\x91\x38\xff\xf1\xfe\x9b\xd7\x67\x01\x67\xfa\x67\x29\xce\xf9\x42\xbf\x0f\x4f\x4b\xf8\xbc\x75\xc6\x5a\x9f\xe5\xd5\x73\x7d\x7c\x02\x63\xad\x2f\xf0\xd2\xd4\xbf\xf4\x19\x5e\xe2\xf3\x85\x77\x6d\x07\xaf\xfd\x65\x59\x7a\x80\x3b\xad\x1d\xb8\xf8\x87\xfd\xd3\xe7\x2d\xa2\x7b\x78\xca\x77\x20\x0f\x57\x9f\x7f\xf1\xd9\x87\x9d\x0f\xad\xeb\xbd\xa9\x2f\x02\x1d\xf6\x93\x01\x9f\xf3\xc5\xd5\xfc\x9a\x24\x95\x3d\xf8\x03\xf8\xb5\xa8\x50\xe7\x98\x63\x03\x79\x92\x88\x45\x25\x52\xf6\xfd\x2b\x96\xf3\x62\xba\xe4\x53\x77\xc8\xb5\x39\x04\xd0\xbe\x83\x8e\x1a\x7e\x60\x09\xcf\xf3\x31\x4f\x6e\x2c\x3f\xc0\x40\x66\xc5\x6d\x79\x23\x88\x0f\xe0\x15\xa4\x18\x54\x8f\x81\x75\x31\xea\x05\x5b\x14\x95\x90\xa8\x27\x2d\x1a\x79\x89\x27\x6c\x80\xec\xf8\x1a\xbc\x37\x15\xd5\x08\x31\x7c\x6d\x70\x0b\x4e\xc5\xd4\x68\xb8\xa3\x01\xef\xb2\x22\x2d\xef\x7a\x09\x98\x32\xc1\x3e\xfb\x8c\xd1\xb7\x5e\x36\x38\xb1\xc2\xe1\x5d\x6a\x68\xdf\x35\xfa\x3c\x3e\xdc\x52\x89\xea\x7d\x36\x17\xe5\xb2\x6a\x5b\x14\x7c\x89\x33\x4f\xb6\xaf\x0a\x7e\x9b\x4d\x79\x55\xca\x9e\xa1\xa9\x1b\xbd\x5d\x3c\xf1\xef\x63\xab\x73\xed\x64\x18\xcc\x7c\x6d\xa8\xbe\xe3\x52\x09\xc6\xd9\x5f\x96\x42\xae\xb4\x71\x32\x27\x50\xce\xb8\x9a\x05\xc7\x40\x56\xfc\x06\x2c\x15\x5b\xca\x3c\x7e\xc0\x19\xae\x16\xd0\x77\x70\x8e\xf6\xe6\x33\xf8\x3e\xa4\xef\x2d\xc6\x8b\x14\x9a\x4a\xcc\x31\xe9\xde\x59\xcc\xe5\xf8\x07\x91\x54\x81\x01\xfc\x09\x07\x6a\x70\xc6\x5a\xf4\x78\x17\xff\x1e\xda\xbf\xd9\x43\x4f\x9f\x91\xce\xf5\x29\xe9\x78\xac\x21\x5f\x2c\x04\x68\xff\xf9\x32\xaf\xb2\x45\x2e\x58\x95\xcd\xc9\xf6\x42\xcb\x3e\xd6\x5d\x56\x16\x60\x1f\x89\x6f\x72\xae\x2a\x7d\xca\x33\x1e\x9e\x4a\xed\x98\xe7\x88\xcd\xa2\x03\x38\x8b\xd4\x1c\x55\x0e\xc6\x7b\xc1\x15\x68\x28\xd0\x88\xcb\xe9\x8c\xa5\x22\xd6\x01\x6c\x2c\x26\xa5\x14\x6c\x2c\x80\x64\x3c\x4d\x05\x92\x43\xdb\x67\x6d\xe1\x88\x10\xeb\x0e\xc8\x44\xf4\xe9\xd0\x6e\x7d\xc4\xa2\xd4\x67\x8e\xe0\xc9\xb6\x74\xc2\x67\x56\x31\x55\x71\x20\x30\x4a\x09\x37\x52\x91\x0b\x8e\x27\x94\xb4\xbe\x6c\xd1\x69\xb1\xad\x2f\x5b\xf6\xa0\xd8\x6c\x5a\x94\xd2\x3f\xc9\x7a\xd2\xc3\x26\xff\x3f\x24\x98\x27\x0e\x1e\x0a\x4e\x22\xbc\x8b\xf5\x23\xad\xbf\xd4\x56\xcf\x47\xfe\x9c\x35\x3c\x32\xa0\xd3\x7f\xad\xb1\xfb\xe9\xc1\xfe\xbd\xe0\x19\x5a\xf4\xe0\xa9\x45\x9e\x55\xed\xd6\x67\x74\xae\x65\xd3\x99\xc1\xf8\x54\xd3\xa9\xe4\xa6\x49\x76\x4e\x30\x57\xd9\xb5\x69\xee\xbc\x65\x0e\x70\xbf\xbd\xaa\x8f\x61\x1b\xc0\xaf\xfa\xd7\x9d\x6b\x76\xde\x30\xc4\x74\x7b\x70\x5d\x3b\x45\x18\x2c\x1d\xf4\xc6\x2a\x9c\xef\xdf\xbe\xf6\xa9\xba\xe0\xd5\x6c\xbb\x82\x91\xcb\x02\xb8\xb9\x7e\x45\xb7\x18\x1c\xdd\xd9\x08\x41\x2f\xf2\x8f\xee\x84\x0b\xe1\xc1\xb4\x39\x9f\x2f\xac\x4c\x65\x45\x25\xa6\x42\xa2\x3b\xc9\xd4\x42\x24\xd9\x24\x13\x29\xc3\x5a\x88\x98\x4b\x35\xec\x03\xbb\x45\xe6\x24\x61\xaa\x4a\x60\xaf\x04\x1a\x25\xf6\xaa\x83\xcf\xb3\x02\x1f\x98\x67\x45\x36\x5f\xce\xb5\xb9\x40\xef\xd9\x7a\xad\x0d\x4f\xf1\x7b\x7a\x8a\xdf\xaf\x7d\xca\xb0\x32\xbe\xde\xa7\xf7\x6d\x17\xde\xd6\x85\x87\x1d\xd9\x6f\xd9\xe7\x70\x35\xa0\xe2\x3c\x2b\x9e\xdb\xdb\x5f\x20\x7c\x70\x9b\xdf\x7b\x87\xfc\xde\x06\x84\x7c\x2d\x26\x15\x5b\xf0\xd4\x3a\xfd\x44\x44\xa2\xab\x3e\xdf\x7c\xa9\x50\x17\xe8\x8b\xc9\x8c\x4b\x9e\x54\x42\xae\x93\x7f\x55\xc9\x9a\xdc\xaf\x21\xaa\x7e\x01\x40\xa7\x42\x65\x52\xa4\xfa\x52\xaf\xa9\xe1\x72\x51\x7d\x4c\x08\xda\x04\x15\xd0\x34\xea\x0b\x8b\x55\x97\xa5\x62\xc2\xc1\xdc\xc2\x9b\x5b\xac\xb5\xfe\x44\xde\x05\xaa\xb7\xda\x69\xf0\x93\x5e\x0e\x04\x89\x3d\x73\x42\xac\xab\xb1\xa0\x01\x81\xae\x9e\x33\x12\x75\xf4\x92\x80\xce\x1a\xcd\x73\xf3\xe5\xe7\x9f\x01\x0d\x64\xe7\xbb\x59\x96\x0b\x06\x90\xe6\xec\xf8\xcf\x75\xbb\x34\x60\xd4\x9e\x7e\xee\x19\xfc\xe9\x4b\x01\xfe\xd9\x3c\x76\xc5\x72\x3e\x36\x02\x10\x8c\x1d\x6a\x57\xa3\x54\x7f\x14\xb2\xac\xb9\x34\xd4\xfd\x9f\xed\x98\xe8\xa6\x80\x40\xae\xd5\x5f\x3b\x82\x1b\xc8\xae\x1b\xe7\x2a\x88\x37\xcd\x10\xfc\x18\x0d\x01\x41\x9b\x51\x08\x22\x24\x37\x66\x11\x54\x97\xb5\xfa\xad\xd0\x6b\x7f\xab\xcf\xcb\x36\xcc\x99\x94\x45\xc5\xb3\xc2\xe7\x6f\x8d\x97\x39\xac\xda\x71\x96\x0a\xdc\x8c\xb9\xa8\x66\x65\xca\xe6\x3c\xc3\x16\xa8\x17\xbc\xca\x12\x96\xf0\x64\x66\xc3\xe4\x9c\xcb\xa9\x50\x15\xe3\xf3\x72\x59\xa0\xef\x40\x89\x18\x68\x1a\x23\xe2\x5b\x21\x99\x14\x7f\x59\x0a\x55\xe1\x89\xe9\xaf\x2a\xa6\x66\x78\x5a\x77\xab\xb2\x11\x45\x55\xb2\xa9\x28\x84\xe4\x95\x00\x47\x24\x2b\x14\x2f\x44\xbe\x62\xb3\xe5\x54\xb8\xa6\xf1\x4c\x75\xdb\xfa\x5a\xc5\xd7\x30\x64\x4d\xd8\x35\x8a\xe0\xc8\x10\xce\x9d\xe5\xad\x3b\x6a\xfb\xe0\x8d\xbf\xe7\xbb\xfe\xc9\xb6\xeb\x8f\xaa\x3f\x9a\xa0\xbd\x34\x6a\xe7\xe7\xac\x1f\x68\xb0\x56\xcb\x1a\xd9\x09\x3b\xc7\xa8\x29\x6c\xd4\xa8\xbf\x4f\x26\x3d\xd7\x03\x6a\xc2\xbf\xc2\xce\x59\xcb\x85\xf3\x81\x4c\xea\x57\x7f\x11\xc0\xf7\x7c\x04\xa3\xa6\x9e\x9d\x07\x7f\xc7\xc6\x34\x68\xc6\xb9\x1b\xba\x41\x62\x4a\xa6\xb9\xf2\x65\xa1\x96\x52\xa7\x83\xb8\xcb\x8e\x64\x0a\x1d\x69\x1d\x51\x62\x62\x26\x11\x12\xb8\x0d\xfd\x45\x96\x67\xf3\xcc\x7a\x61\xef\xb2\x39\x38\x92\x4b\xc5\xa7\x82\xe5\x65\x79\x03\x71\xe5\x8d\x20\x5a\xf5\x0c\x14\x0a\x8b\x14\xd3\x4c\x55\x42\xbe\x2a\xb2\xaa\x4d\x23\xc4\x73\x2e\xe7\xed\xb2\x80\x4b\x1d\x9b\xd5\x40\x46\x47\xe7\x2b\x2f\x41\x40\xee\xb8\x2c\xbc\xe3\xe3\xf4\x19\xf3\x40\x78\x7a\xb2\xdd\x01\x9c\x8b\xb2\xd2\x11\x90\x41\x1c\xda\x3a\x64\x4a\x24\x65\x91\x5a\x29\x7a\x35\x61\xab\x72\xd9\x02\xa7\x54\x48\x70\xa6\xa1\x65\x05\xbe\x44\xb9\x00\x4e\xc7\x58\x0a\x28\x32\xe7\x2b\x74\xea\x59\x5e\x16\x68\xe5\x67\xbc\x70\xcd\x41\x23\xe8\xb0\xf3\x02\xbd\x5b\xc6\x59\xba\xd4\x8f\x67\x60\x1a\xf3\x3c\x33\xa0\x5c\x21\xde\xd6\x78\xd0\x75\x17\x89\x85\xa8\x99\xe6\x4c\xf8\x90\x8a\xa2\x02\xc7\x02\xfc\x6d\x55\x09\x8e\x07\xda\x73\x17\x01\x9a\x71\xeb\x62\xbf\xf2\x9c\x4d\x45\x45\x8e\xed\x9d\x04\x47\x5d\x1a\x19\x2e\x25\x93\xbc\x9a\x99\xae\x70\x06\xf6\x35\x17\x06\xac\xc7\xd8\x4b\x9e\xcc\xb0\x61\x4d\x6a\x68\xc4\x3d\x7c\x47\xc9\x26\xad\xc9\xe8\xa9\x94\xdd\x0a\xa9\xa0\xd3\x5a\x1e\x2d\x5a\x77\x28\xe1\x55\x09\x6d\x70\xa6\x66\x1c\xff\xa4\xe8\x0d\x23\xd2\x4c\xc1\xa8\x81\x6b\x9a\x70\x25\x14\xbb\x9b\x09\x29\x90\x00\x77\xbc\xa0\xc4\x84\xcf\x9f\x15\x98\x13\x55\x41\x73\x65\x21\x88\x06\x4a\xd0\xc9\xfb\xfa\x9d\xd8\xa0\x61\x01\x1d\x50\x70\xf3\x4e\x26\xee\x17\x99\x74\xa1\x35\x89\x35\x32\xa0\xcd\xf7\x10\x3b\xb6\x26\xa2\x4a\x66\x3a\xda\x40\x8f\xd7\x66\x01\xcb\xb2\x87\x37\xbf\xc5\x7b\x6d\xc3\xbe\xef\x96\x49\x22\x94\xea\x74\x99\xb9\x72\xc9\xb3\x7c\x29\x85\xe3\xe9\x5a\x24\xff\xd4\x8f\xe2\x41\x29\xfa\xd9\x49\x20\x2e\xa6\x44\x0b\x6a\x31\x36\x82\xe4\x94\xcc\x15\xfb\xd6\xf0\x94\x33\x1f\x01\xeb\x41\x5b\x3c\xb3\xe1\x95\xe4\x19\x0c\xba\x89\x7a\x6c\xf3\x8c\x5d\x90\xf7\x02\x14\x3c\xec\xf7\xfb\xac\x6d\x39\xbd\x13\x9a\x54\x83\xe6\x03\xb0\xab\xed\x00\xe6\x12\x5c\x0f\x66\xc2\x84\x86\xe4\xfb\xb9\xd0\x71\x6c\x13\x11\x70\xdf\x30\x91\x69\x87\x82\xb4\xb0\x55\xe3\xcf\xad\x6d\xd3\x34\x38\x16\x21\x0e\xbc\xb2\xd6\x4b\xb1\x42\xdc\xd5\xde\x16\x24\x3a\x0c\x27\xd4\x72\x1b\x5d\x4d\x6b\xd2\xc6\x98\x88\x52\xda\x5b\x9a\x2b\xf0\xb2\x0e\xd9\x53\x36\xe8\xf7\xfb\xcf\xf5\x6d\x55\x01\xee\x86\xa7\xa6\xa2\x7a\x07\x17\x4c\x04\xa7\xd1\xaf\x27\x30\xf0\xb4\xd3\x4c\xb1\x72\x59\x09\xd9\xa4\x8d\xb3\xf9\x5c\xa4\x19\xaf\x44\xbe\x42\x83\xdd\x52\x0c\x45\xa6\x2a\x59\xc2\x17\xd5\x12\xb9\xbd\x10\x77\xa6\x35\x95\x94\x0b\xcc\x17\x20\xd9\x8c\x18\x98\x64\x6a\x2f\x38\x63\xb5\xa5\x6f\xb7\x5c\x72\x3e\x53\x46\x6a\xc7\x2b\x4a\x18\x9a\x26\x9c\xc6\x81\x30\x1f\xf5\x04\xb5\xe4\x84\x5f\xab\x14\x1b\x50\x9a\x47\xcf\xb7\xe4\x70\x00\x16\x53\x15\xe7\x36\x65\x6c\x1b\x85\x78\x99\x98\xa1\xd5\x61\x5f\x12\xd8\x99\x63\x1d\x4a\x0a\xbb\x8c\x39\x3b\xa7\xff\x7d\xc9\xda\x2d\x4a\xb6\x52\x56\xfa\x0c\xcd\xba\x4e\x18\x91\x29\xe9\x81\x85\x69\xb7\x3c\x46\x38\x8b\xd4\x46\x4a\x2d\xb4\xe7\x8a\xed\xe1\x60\x77\xd8\x33\xd6\x52\xb6\xd5\xb8\xc1\xbc\x04\xc7\xdc\x24\xb1\x90\xdd\x2d\x05\x8a\x65\x9e\xeb\xdc\x6e\x97\xcd\x55\x47\x27\x1a\xa1\xeb\x9a\x6e\x5f\x5b\x9d\xbb\x36\xd7\xe6\x79\x29\x8d\xa9\x30\xcc\xb9\xd3\x2b\xfd\xcb\x8c\x25\xb9\xe0\xd2\x8c\x80\x81\x78\xee\x01\x34\x21\x1a\x24\xa8\x5d\x14\x6d\x48\x8f\x93\x29\x6d\x00\xef\x32\x2e\xa7\xcb\xb9\x28\x2a\xe5\x92\x6b\x41\x3e\xd5\x9b\x0c\x68\x1c\xd9\xb0\x6f\x31\x41\xc2\xa4\x6c\x7c\x37\x4a\x1d\x76\xda\x8d\x5e\x78\xe5\x9f\x8b\x0b\xc6\x8e\x04\x96\x4f\x40\xee\xd4\x4d\xb6\x58\x34\xfb\xe5\x13\x69\x92\xa3\xb1\x37\x8e\x66\xa7\x12\x45\x4a\x3e\xb3\x71\x9f\x41\xf4\x52\x31\x5e\x4e\xa7\xe8\xba\x16\x5a\x6e\x35\xf6\x8a\x71\xf4\x50\xc8\x96\x04\xc6\xbd\x60\x98\xe7\xed\xb2\xb1\x48\xf8\x12\x67\xec\x9c\xdb\x43\x84\x02\x8f\x40\x31\x0e\x60\x8a\x8d\x57\xd0\x90\x0e\x40\xb5\x50\x72\xd0\x0f\xe0\x13\xdd\x81\x22\xbc\x13\x68\x55\x0d\xf2\x23\x56\xad\x16\x59\xc2\x73\x22\xc0\x1c\xe7\x22\xc1\x7b\x43\xe7\xcd\xf3\xdb\x42\x8e\x6e\xbd\x2b\xa1\xc7\xd0\x9b\xbb\x2c\xb9\xc1\x8c\x1e\xb8\x6a\x7c\xc5\x12\x3e\x17\xad\x6e\xac\xf3\x3a\xc6\x7a\x82\x76\x58\xf7\xef\x4d\x59\x65\x89\xe9\xe3\x7c\xce\xd9\x9f\x03\x3f\x10\x82\x12\xb6\x90\x59\x41\x79\xf3\xb9\x50\xe8\x6b\x6a\x67\xf0\x07\x65\x30\xec\xb2\x49\x99\xe7\xe5\x9d\x9e\xf7\x34\x79\x53\x1d\x9d\xa0\x63\x53\x50\xba\x45\xa3\x5e\x32\x29\x6e\x05\xcf\xf5\x99\xc4\xc0\xc8\x91\xb1\xa6\xb1\x27\x63\x4b\x49\xc0\x4b\xe4\x81\x30\x17\xe0\x45\x6e\xc8\x48\xc4\x27\xda\xf5\x41\x96\xc7\x47\x29\x0d\xcf\x78\x52\x2d\x79\xce\x5a\x86\x46\x2d\x1a\x02\x30\x75\xf9\x1d\x0c\x66\x43\xb6\xd1\xc0\xfa\xea\x20\xc6\xc9\x99\xa7\x00\xd3\xf3\x3a\xf2\x5f\xd6\x2f\x3d\x63\x43\x76\xc6\x86\x36\xda\xc1\x8e\x20\x0f\xe2\xa5\x4a\xae\xb4\x0e\xa1\x39\x2d\x30\xa6\x2f\xa5\x2c\x65\x5b\xe7\xe8\x13\x0e\x1e\x53\x5b\xdc\x1b\x5d\xe3\x1a\x60\xe7\x4c\xdc\xf7\x88\xbc\x3a\x8d\xf8\xa1\x68\xb9\x24\xa0\x7d\x9d\x96\x03\x4a\x6d\x46\x39\x4b\x1f\x59\x4a\x5f\xba\x17\x34\xe5\x30\xbd\x06\xaf\x32\xb6\x1b\x3c\x7f\x0d\x46\xc8\x3e\x7d\x95\x5d\xbb\x99\x81\x3f\x7f\x50\x4f\x79\xf5\x41\x3d\xdb\xeb\xb2\x56\xab\x96\xa8\xf4\x5a\x0d\xf4\xca\x45\x76\x9b\xa5\x82\x9c\xfc\xea\xae\xd4\x0c\x41\x49\xf0\x49\x5e\x96\x52\xf9\xd3\x31\x5d\xb6\x2c\x72\xa1\xcc\x35\x88\xe4\x53\x9a\x8d\x81\xab\x98\xf5\x46\xf7\x1c\xe2\x88\x44\x8a\x14\xcf\xe9\x56\x73\x60\x12\xf4\x79\xba\xe0\x18\x1a\x8e\x56\x82\x65\x4e\xa1\xa0\x08\x89\x2c\xd7\x49\x0d\xeb\x64\x2f\x95\x98\x2c\x73\xf0\xb0\x49\xfb\x99\x1c\x08\x38\x0f\x72\x59\x24\x1c\xe2\x67\xbe\x58\xc8\xf2\x3e\x9b\x73\x9a\xd9\xc3\x39\x21\x08\x7c\xa0\x21\x4a\xe5\x93\xbd\x57\x25\x4b\x4b\x50\x01\x69\x76\x9b\xa1\xeb\x6f\x26\x9c\x94\xb0\x5d\x5f\x65\x22\x87\xc8\xc7\x4d\x4e\x9b\xae\x60\xd0\x94\x97\x4a\x50\xd6\xe8\x6e\x06\x3a\x8d\x1e\x5b\x27\x7e\xc5\x72\x4e\xfa\xbd\xe9\x66\x2a\x8a\x72\x9e\x15\xf6\xb6\xf1\x53\xf5\x7d\x4f\x8a\xd4\x9c\xcb\xea\x12\xc6\x83\x06\x2c\xca\xf3\xd0\x2b\xba\xcc\x6f\xd1\x09\xd5\x2d\xcf\xd1\x22\x6a\x30\xb6\xe7\x83\x19\xcf\x4f\xd3\x9e\x9d\xb3\x6f\x78\x35\xeb\xc1\x9f\xed\x5b\x9e\x77\x4c\x9a\xc0\xdc\xdf\xc5\xe6\x3e\x67\xbd\x7e\xbf\x3f\x30\x3c\x6b\x8c\x2a\xc1\xd4\xe6\xbe\xf4\x6d\x6c\x18\x99\xca\xb6\xfc\xb0\xbd\xf0\x44\x2b\xcd\x8f\x73\x5e\xf0\xa9\x90\xff\x22\x65\x28\xdf\x50\xaf\xbe\xa1\x4e\xb1\x24\x87\xc0\x79\xc6\x8b\x34\x17\x64\x90\x65\xc1\x49\x47\x67\x3f\xda\x84\xab\x35\xe0\x6f\xca\x4a\x9c\xf9\x73\x91\x2c\x53\x45\xab\x62\x6a\x39\x99\x64\x49\x46\x93\x52\x68\x7e\xc9\x1e\xa2\x2a\x1f\xf4\x80\x44\x52\xb4\x80\xb7\xc7\x4b\x9c\xdd\xd3\x53\x11\x3a\x69\x70\x23\x70\xf2\x6e\x59\xf0\x5b\x9e\xe5\xe4\x49\x17\x2c\x23\xa3\x70\xe6\x15\x79\xcc\xaa\x6a\x71\xb6\xb7\x97\xc8\xf1\x72\xda\x4b\xca\xf9\xde\x60\xbf\x3f\xec\xf7\x0d\xc4\xb0\x47\x07\xf8\xe3\xe4\x3d\xd1\x74\xce\x57\x68\xd1\xc7\x82\x2d\x78\x72\xc3\xa7\x22\xa5\xba\x99\x17\x84\x01\x4e\xe4\x83\x44\x5a\x74\xf7\x9b\x1b\xc1\x06\x24\x4d\x3f\x03\xa7\x48\x2e\x57\x51\x93\xd5\x2c\x93\xe9\x2e\x40\xad\x3c\x9c\x9b\x5e\xe4\x0b\x25\xaa\xd4\x07\x37\x8f\xcd\x5e\x9b\xe9\x65\x7b\xa5\x2a\x59\x5e\xf2\xb4\x6b\x46\xba\x94\x29\x66\x24\x84\x7d\x0f\xe5\x21\x01\x49\x00\xc4\xec\xe4\x1b\x71\x27\xa4\x31\xfd\xca\x14\x39\xb0\x32\x87\x67\xcb\x42\xa8\x1e\x63\x2d\x51\xb4\x58\xa6\x6c\x6c\xbb\xc4\x92\x47\x70\x72\xf2\x15\xcd\x28\x9a\x44\xcc\x24\x93\xaa\xb2\x28\x81\x64\x66\x95\xc9\x20\xf1\x5c\x0a\x9e\xae\xd8\x02\xb8\x9c\x1c\x26\xd2\x1f\x11\xb3\xf9\xd9\x44\xd3\x37\x92\x64\xcc\x7c\xd9\x6b\x1f\x21\x10\xb4\xd3\xfa\x73\xbe\x68\x6b\x07\xd7\x3e\x2e\x72\xaf\x6e\x40\xe4\x0d\xf3\xd4\x58\x46\xa0\x55\x48\xd4\x7a\x0f\x8c\xc7\xfd\xb7\x93\x36\xf4\x1e\xa7\x14\x77\x07\x1d\x6d\xa9\x43\xc0\x65\xa1\x66\xd9\xa4\x22\x40\xb2\xea\x00\x61\x69\x4a\x76\xd7\xb3\x6a\xa3\x34\xb5\xce\x16\x96\xe8\x64\xba\xee\xa4\x0c\xfc\x30\xa3\x52\x1a\xe6\xc2\xe3\xa9\x6b\x05\xe1\xd8\xa4\x94\x73\xae\x59\x4f\xb3\x93\xc1\xa1\xf7\x83\x2a\x0b\x12\x79\xc6\xde\x09\xcc\x14\x7c\x6e\xc4\xa4\x4c\x45\x6f\x8a\x75\x4d\x28\x2c\x24\x74\x7b\x96\x13\xd5\x1e\x88\xf0\xae\x6d\x6a\x56\xcd\xf3\x2f\xd6\x8d\x5e\x6f\x21\xcb\xaa\x84\x28\xa4\xc7\xd3\xf4\x1b\x47\x02\x3b\x28\xa9\x98\xe8\xe1\xb4\x7e\xc8\x8d\x58\x01\xcf\xba\x3b\xa4\xf3\x53\x31\xc1\xe9\xce\x89\xba\xba\x11\xab\x6b\x2f\xca\xf9\x24\x15\x93\x1e\x8e\xe5\x0c\x19\xd5\xab\x32\x0a\x48\x8f\xcf\x51\x1b\xe6\x9a\x0e\x0f\x7d\xfd\x8f\x2e\xb4\xa9\xa0\xdb\xf9\xf4\xcd\xe8\x9b\x97\x9f\xee\x30\xbf\x79\xb2\xc3\x3b\x9f\x0e\x76\xba\x4c\x54\x49\xef\x91\xef\xb2\x0c\xe7\xc5\x80\x7b\x1f\x3e\xa5\x92\xaf\xab\x3f\x7f\x50\x1f\x3e\xbd\x7e\xd6\xf9\xf0\xe9\x5e\x36\xed\x7a\x20\xae\xec\xa5\xcb\xc2\x72\xaf\x20\x80\xb3\x84\x09\x28\x71\x05\x4f\xf4\xaa\xf2\x75\x79\x27\xe4\x0b\xae\x44\xbb\x73\xdd\x4b\x4a\x88\xa1\x2a\x3f\x16\x7d\xd0\x41\xe4\x43\x5c\x9a\xf1\xba\xe4\xa9\x27\xcb\x4e\xd7\x5a\xa9\x36\xfc\x39\x5e\x82\x3d\x58\x37\x69\xb8\xe0\x15\x98\x09\x36\xc2\xba\x0d\xf3\x57\x30\x3d\x03\x04\xd5\xc9\x49\x9c\x59\xc1\x42\x19\xa3\x65\x30\xc3\xa0\x15\xd6\xb4\xec\xad\xaf\xd9\xe9\x9a\xca\x9d\xb2\x78\x51\xce\x17\xb9\xa8\x44\x50\xbb\x33\x16\x36\xe9\x0e\x5e\x1a\x68\x3e\x2f\x51\x97\x41\x94\x43\x4f\xe9\x30\x02\xfc\x4c\x1d\xfd\x71\x83\x99\xd6\xb5\x8a\xb2\x91\xe0\xf1\xa1\x07\xca\xb3\x9c\xaa\x29\xe0\x5f\x50\xe7\x83\xd9\x36\x47\xc5\xa0\x34\x48\x4f\x4c\xf4\xbb\xac\x28\xf5\x53\x8a\xdd\x09\x29\x5c\x4b\xa8\x9c\xb7\x8b\xd8\x24\x2b\xd2\x51\x91\xc2\x90\x35\x89\x1a\x0e\xb0\xa6\x7c\xd7\x23\x8f\xf3\xbd\x72\xaf\xf4\x28\x56\x6b\x49\x09\xee\x2b\xc5\x21\x08\x8b\x58\xb1\x73\x76\x75\x6d\x2e\x11\x01\xf4\xa5\x27\x8e\x73\x59\x59\x98\xa2\x23\xf3\xce\xb6\xaa\x78\x65\x59\x19\x84\x38\xb8\xc0\x5c\xf3\x4e\xa7\x93\x5a\xed\x34\x8a\xac\x7d\xf5\x3a\x70\xa7\x2d\x1c\x44\x38\xf9\x83\xd1\xd7\x1b\x71\x6f\x0b\xa4\xd6\xbc\xca\x11\xae\x4d\x48\x76\xf5\xdb\x03\x11\xd2\x24\x89\x9a\xf4\x87\xa3\x63\x23\x3d\x20\xb4\x37\x66\x64\x7a\xb4\xb2\x78\x6b\x2b\x77\xdb\x76\xe8\x9c\x1d\xec\x3e\x69\x8e\xf4\xeb\x04\xef\x8d\xb3\x22\xc5\x96\xbb\x10\x8a\x88\x5f\xf9\xe8\x84\xe7\x8a\x92\xed\xec\xc1\x5d\xef\x98\xe0\x35\x26\x5f\xac\x48\xac\x11\x9c\xc8\x72\xce\x78\x93\x41\xda\xce\xe6\xf9\x26\xfe\x5e\xca\x1c\x78\x5b\x4f\x14\x50\x4a\xb9\x2c\x30\x86\x76\x7c\x7e\x3f\x03\xbf\x02\x82\xeb\xff\xfa\xe6\xf5\x7f\x54\xd5\xe2\x2d\x4d\x6e\xb6\xa9\x23\xf7\x33\xd9\x2b\x0b\x1c\xdc\x22\x6d\x1a\x32\x60\x23\x00\x02\x9e\x5d\x2a\xf6\xc9\x39\x1b\xf6\xfb\x61\x19\xae\xff\x5e\x4b\x69\xef\xa2\xf7\x7c\xe7\x79\x58\x91\x1a\x70\x2c\xf2\x82\x67\x3b\xdb\xff\xf9\xee\xdb\x37\x54\x15\x85\x4d\x48\xa1\x16\x65\xa1\xc4\x7b\x71\x4f\x13\x7b\x38\x84\xba\xfb\xed\xe6\x81\xc2\xfe\x2d\x44\xd1\x6e\x7d\xfd\xf2\x7d\xab\x0b\x34\x43\x40\x44\x49\x14\x69\x2d\x9b\x47\xb6\xf0\xd3\x41\xaf\xd7\xfb\xb4\xf0\x8b\xc9\x6d\x05\xa4\xc8\x05\xe6\x22\x8d\x07\xc2\xe5\x54\x27\xcd\xd6\x19\x84\xb9\x9a\xea\xc2\x0a\xdf\x0a\xf8\x0e\x0f\xe8\x54\x93\xe4\xf4\x5e\xda\x6b\xf0\x83\xf1\x75\x94\x05\x89\x1a\xb3\x0d\x50\x64\xbd\x96\xbd\x6a\xe2\xe6\x8f\xfb\x5c\x4d\x31\xdf\x1a\x56\x6e\xcf\xd5\xd4\xf9\x90\x1f\x3e\x6d\x7f\x48\x9f\x75\xfc\x3a\x55\x06\x16\x1b\xdd\xc6\x5a\x26\x19\xda\xba\xc2\x5b\x6c\x97\x0d\xae\x1b\x0b\x90\xbf\x13\x72\x37\x2b\x54\xc5\x0b\x0c\xf5\x16\x2b\xa0\x6d\x0d\xcd\x47\xc8\x4b\x43\xd7\xf0\x7d\x8f\xa1\x42\x58\x4e\xcb\x9d\xb1\x5f\xa1\x65\xeb\xda\xe4\x5c\xbe\xd2\xb8\xa1\x2d\x37\xa9\x69\x56\x95\xe5\x06\x06\x40\xa3\xde\xcc\x04\x78\x4b\x33\x93\x97\x89\x9c\x8a\xaa\x69\xfc\x41\xb0\x90\x07\xec\x34\x1d\x7f\x24\x33\x34\x16\x21\x99\x04\xaf\x6d\xcd\x56\x91\xe9\xf1\xcb\x34\x62\xba\x0b\x14\xd2\x18\x7b\x8d\xf1\x75\x8f\xe9\x2c\xb8\x0a\xba\x80\xe0\xe3\x95\x49\x21\x3f\x62\xf4\xa6\xa2\x8a\x58\xd1\x12\x1e\xbb\xdc\xf5\x31\xf6\xa6\xce\x8c\x7f\xab\xc3\x19\x8b\x6a\x11\xfa\xa9\x86\x35\x0d\x82\xe7\x91\x1b\xab\x9f\x23\x83\x1e\x58\xc2\x5a\x8d\x20\x95\x1e\x6b\x46\x77\xed\x45\x45\xc8\xba\xa3\x06\xa1\x8e\xef\xc7\xeb\x87\x9c\xb8\x84\xd3\x46\xa6\xc0\x5f\x83\xd1\x4c\x91\x6b\x27\x90\x30\x33\xf5\xe1\x0f\x67\xb4\x0a\x82\x7d\x69\x07\xf0\xcc\x87\x8b\xcc\x38\x62\x66\xa8\x1d\xd6\xdd\x45\x34\xfe\xa4\x6d\xf9\xd0\x08\x6e\x39\x21\xb5\xd4\xa1\x07\xed\xfd\x73\x76\x65\xbe\x5f\xfb\xb3\x95\x6b\x4c\xbf\x7e\x93\x1b\xf5\x48\x55\xc8\x12\xd4\x3d\xe3\x79\x6e\x64\x66\x07\xe8\xbd\xc3\x20\x3a\x63\xbc\xaa\x64\x36\x5e\x56\x60\x77\x4d\xee\xc7\xcc\xba\xa4\xe5\x9c\x4d\x24\x9f\xce\x85\x9b\xb4\xc0\xea\x04\x4c\xd4\xd8\x27\x8d\xeb\xad\x05\x8a\x71\x06\x76\xc8\x14\x0a\x93\xa7\x7c\x23\x8c\x8f\xcc\x6f\x44\xa1\xd3\xf2\x63\xe1\x35\x82\xce\xb0\x9d\xcc\xf4\xeb\x96\x7d\xf9\xf0\x2b\x48\x00\xcc\x7b\x13\x9b\x61\x39\xd9\xce\xc7\x1d\xd6\x86\x91\x94\x2a\x29\xa5\xe8\xc0\xab\xbb\x2c\xab\x5a\x4a\x4b\x2a\xa5\x62\x4d\x1e\x02\x53\xbd\xe2\xbe\x7a\x41\x71\x8f\x21\x91\xb6\x59\xe6\x6d\xdf\xf8\x28\x60\xba\x0c\x6d\x0e\x48\x7d\x89\xc5\x1c\x1e\x19\x69\xea\x9d\xe2\x6c\xdd\x0c\xd9\x42\x9a\x20\x5a\x48\x31\xc9\xee\x69\xf6\xa6\x9a\x31\xce\xd2\x32\xcf\xb9\x64\x2a\x9b\x16\x3d\xe6\x2f\x7c\xf2\x67\x80\x3e\x1f\x2f\xab\xaa\x2c\x58\x96\x9e\xb7\xc0\x0c\xef\xd2\xdf\xad\x70\xbd\x12\x8c\xcb\x79\xeb\xa7\x1d\x2e\x33\xbe\x9b\xf3\xb1\xc0\xdd\x1f\x3e\xcd\xd2\x9d\x2e\xd0\xe5\x8c\xed\xbc\x7b\xf9\xe6\xe2\xe3\x57\xdf\xbf\x7f\xff\xed\x9b\x8f\xaf\x47\x5f\xbd\x7c\xbd\xf3\x10\xb5\xf1\xc5\xe7\x7b\xd4\xf6\x17\x36\x99\x00\xca\xd1\x34\x18\x6a\x2b\x53\x9c\x0d\x71\xd1\xb2\x22\xa2\x06\xef\x18\xbd\x7d\x35\xd2\x2f\xea\xe9\x7c\x1f\x4d\x33\xf1\x4a\xb3\x62\xba\xe3\x31\xc1\x1d\x0c\xe1\x62\x61\x27\xf1\x30\x99\xcf\x25\x16\xd3\x18\xa0\xae\x29\xd3\xf7\x8a\xd2\x75\xc5\x3e\x3d\xf4\xfd\x77\xdf\xbd\x7c\xfb\x71\xf4\xe6\xe2\xe3\xf7\x6f\x2e\x5e\xbe\x65\x98\xf0\x7c\x84\x36\x5d\x90\xa4\xbc\x1a\x9c\x14\x23\x37\x9c\x7e\x3e\xa2\x9c\x93\xfa\xc1\xb4\x2d\xbe\x91\x3a\x91\x43\x04\xbd\xcb\x8b\x74\x37\xe5\x6a\x26\xd4\x4e\xcc\xd7\xb8\x8c\x80\x1e\xdc\x89\xd0\xdb\xb1\xf8\xf9\x65\x13\xcb\xe2\x46\xaf\xbc\x69\x5c\xfb\x62\xb3\x52\xbd\xaa\xfc\x7e\xb1\x30\xe1\xbb\x8b\x2d\x8a\x32\x45\xdc\xd3\x72\xde\xa3\x92\x74\x91\x8b\xa4\x2a\xe5\x28\xcf\xdb\xad\x2b\x60\x94\x6b\x9d\x81\x6a\xaa\x4b\xc7\xc7\xd7\xd5\xa5\xc3\x4d\x70\x91\x01\xe6\x2a\xd3\x0e\x0a\x36\x00\x6a\x81\x6e\xe0\x92\x12\x43\x83\x76\x0b\xee\xb4\x02\x75\xee\xdb\x03\x50\x1c\x59\xb1\x34\xab\xc9\xdc\x44\x17\x33\x4d\x7a\x8e\x2d\x3e\x68\x82\xaf\xda\x94\x97\x33\x0b\x02\x3d\xe9\xd6\x0b\x5e\x7c\x68\x55\xb4\xfa\x80\xea\x0f\x00\xbb\x8a\x4f\xdf\x00\xff\x3e\x63\xad\x3f\xd8\x8b\x59\x0a\x7f\xa3\xe5\x68\x8c\x7f\xbc\x37\x9b\x39\x38\x71\x1f\x38\xe4\x71\x9a\xca\x5f\x6f\x63\xaa\x56\xa6\xba\x2c\x02\xee\xe9\x64\x95\x8b\x0c\xf4\xed\xfa\x12\x85\x4f\xbd\x85\x79\xae\x0d\xe2\x93\x3a\xbd\xa3\x66\x06\x1d\x2c\x94\xf8\x08\x3d\xbd\x11\xab\x4e\xb0\x6a\x0f\x7c\x6d\x57\x55\xd9\x8e\x4d\x26\x60\x05\xbd\x01\x24\x3e\xb6\xfc\xfc\x12\x11\xd2\x53\x9d\xe7\xd0\x56\xb4\x20\x2f\x02\x57\x3e\x96\xa8\x98\xe7\x6a\x1a\xd7\x28\x3c\x6e\x36\x65\x61\xbd\xfe\x7f\xb1\x09\x95\x17\x65\xa1\x2a\xb9\x04\x61\x45\x86\x02\x9d\xf5\x9d\xed\xac\x49\x7d\x93\xcd\xf3\x0a\x21\x04\xa0\x4c\x17\x59\x2a\x78\x4e\xe6\x65\x21\xa4\xca\x54\xa5\xab\xe4\x0b\x9d\xfb\x57\xb4\x0a\x41\x55\xa5\x34\xc1\x54\x51\x56\xd9\x64\xa5\xb3\x5d\x20\x43\xcb\x39\x66\x33\x67\xa2\x60\x0b\x2f\xaa\xa3\x56\xac\x15\xae\xc2\xb2\x0b\xa3\xd6\xc7\x3c\xb9\xc1\x92\xce\xaa\x94\x40\x3a\x3d\x95\xa0\x6c\xe5\x42\xe9\x4a\x20\xff\xe3\xfd\x37\xaf\x0f\xa1\x31\x8d\x4e\x97\x8d\x97\xd8\x8a\x04\xbb\x23\x8a\x56\xc5\x78\xb1\x02\x9b\xad\x6b\x14\xf5\x3b\xe6\x25\x5a\x68\xc6\x5e\xe9\xb5\x5d\xcb\x8a\x0a\x15\x75\x7a\x4c\xcf\xb1\x70\x33\x35\xc4\x17\x19\xf5\x1d\x50\x52\xab\x22\xd9\x45\x22\x00\xb7\xef\x91\x67\x80\x2b\x6d\xc8\x05\xb9\x13\xad\x14\x8b\x35\xf4\x54\x70\x6d\xc1\x13\x8c\xca\x3b\x42\xb8\xf7\xf4\xc1\x92\x92\xd6\x3e\xd0\x77\xed\x96\x54\x25\xe2\x8e\xce\x89\xa6\x8b\x9d\x64\x01\x5c\xd6\x46\x1a\xe4\x29\x44\x4b\x1e\xe8\x5a\x54\xdf\x02\xbe\x9d\x1b\x24\x3f\x2d\xaa\xd7\x1d\xb2\xd6\x5e\xcb\x15\xb3\x7b\x93\x3b\xa6\xc2\x5c\x09\x40\xa0\x12\x2c\x17\xb7\x22\xc7\x50\x7d\x26\x32\xc9\x65\x32\x5b\xd9\x45\xd1\x99\xad\xda\x9d\x96\xba\x14\x78\xc6\x6f\x35\xcb\xdf\x64\x45\xaa\x65\xa6\x98\x52\x52\x73\x21\xcb\xdb\x0c\x93\x60\x30\x3e\x84\x7a\x34\xbf\x84\xeb\xc0\x8c\x27\xd4\xda\x6b\xd1\x83\x45\x59\x79\x0f\x67\x55\xb8\xac\x63\xaf\xe5\x8c\x79\x5d\x30\x82\xa5\x1b\x9a\xa1\x1c\x35\xbd\xd9\x21\x33\x4c\xe7\x66\xc0\x9e\x47\x77\xbe\x1d\xa3\x46\x90\x1f\x8d\x7e\x2c\x0b\x3d\xe2\x2f\x50\x08\x3e\xd6\x92\x5c\x00\x94\xa9\x51\x52\x65\xb7\x02\x9e\xc2\x8c\x98\x6d\x96\xc3\x75\x5e\x89\xb6\x07\x5d\x49\x5d\x15\x4f\x90\x66\x31\x19\x8d\xf2\xb9\xcf\x06\x3f\xff\x0c\x3d\x37\x93\xd8\x74\xd1\x28\x78\xfd\x97\xce\x16\xef\x82\xd1\xf8\xe4\x1c\xc0\xc9\x68\xe8\x16\x9e\x9d\x53\x0b\xe6\xdd\xf6\x2d\xf4\x25\xbc\xf1\x56\x24\xa5\x4c\x71\xe6\x8c\x4a\x41\xc8\x42\xe4\xe5\x98\xe7\x86\x30\x78\x57\xe7\x73\xf1\x76\x32\xcb\xf2\xf4\x92\x83\xea\xca\x84\x7d\x96\xfc\x9e\x6f\xf8\x02\xe7\x20\x33\x55\xed\xa2\xf9\xaa\x4a\xf6\xd3\x9c\x2e\xe2\x73\x88\x86\x99\xc9\x52\x0f\xf4\xd4\x08\xb4\x0b\x3a\xc2\x6c\x6f\x8f\x2e\x79\xaf\x7a\x9d\xa9\x8a\x5e\xf3\xc4\x14\x37\xb5\x16\xb2\x04\xf5\xba\x9b\xa5\xaa\x75\xe6\xdd\x60\xac\x55\x16\xa2\x75\xc6\x6a\x2c\xd3\xf5\x61\xaa\xbb\x72\x1b\x8c\x41\x07\x8d\x55\xd7\xc7\x8c\xb1\xd6\x44\x96\xe3\x86\x77\x07\xcf\xe8\x6f\x0f\x4f\x9a\xfb\x12\xce\x00\x7e\xaf\x70\x36\x18\xe7\xd1\x73\xda\x2d\x21\x2b\xd2\x2c\x01\x61\xb5\xfa\xd6\x54\xd2\x91\x1e\xd3\x31\x8c\xd3\x08\x5a\xda\x74\xcc\x45\x21\x18\x66\x59\x2b\x5c\x07\x42\x11\x30\x3d\xab\x23\x60\x97\xbd\x73\xad\xd8\x10\xf0\x2f\x4b\x8e\xbb\x4d\x54\x42\x55\x8a\xf1\x29\x87\x88\x96\x8c\x25\x35\xf2\xcd\xf7\xef\xde\xa3\xd2\x6b\x9d\x9f\x9f\xb7\x58\x29\x59\xeb\x13\xf8\x42\x6a\x8b\x27\xc9\x12\x74\xcd\x06\x29\xf6\xbc\xf2\x8b\x97\x97\xa3\xef\x5f\xbf\xff\xf8\xc7\xd1\xeb\xef\x5f\xea\xcc\xac\x5e\x74\xd5\xd2\xf7\xd0\xb3\x34\x13\xa6\x05\x92\xe7\x36\x4b\x97\x3c\x6f\x40\x3e\x34\x94\x18\x5e\xe2\x2b\x75\x81\xad\x68\x18\x7a\x2c\x87\x07\x0a\xe2\xb2\x9c\x42\xd8\x8a\x7a\xaa\x72\x80\xa7\xe6\x2c\xcd\xa4\x48\xaa\x7c\xb5\xa9\x53\x24\x53\x41\xc5\x0b\xa6\x6b\xf4\x08\xfc\x11\x68\xe7\x29\x28\xaf\x7e\xd6\x0a\xa0\x0f\x4a\x33\x88\xf6\x4f\x0b\xa3\x99\xc1\xc0\xe0\xb5\x80\x8a\x16\xb2\x34\x82\xac\xe5\xd8\x9f\x78\xa6\xe9\x26\x9b\x5c\x04\xd2\x84\x43\x01\x4e\x42\xa5\x17\x09\xcc\xf9\x0d\xd6\x40\x61\x49\xd5\xad\x90\xe3\x52\x6d\x1c\x5e\xa2\xc4\xfa\x51\xb6\x39\xc8\x47\x73\x86\x9f\x92\xa6\x15\x2e\xfe\xf2\x0c\x62\x3c\xbb\x30\x85\x4a\xb0\x32\xe5\x8b\x88\x76\x8f\xd6\x2e\xfa\xd7\x65\x5f\x66\x65\x76\x23\x72\x0f\xcc\x50\x34\x58\x4c\x60\x8b\xed\xcd\xee\x00\x54\x81\xaa\x97\x72\x24\x22\xbb\xa5\xb9\x43\x60\x6d\xfd\x9a\x38\xcd\xe9\x10\xed\xba\x75\x03\x29\x96\x76\x99\x0e\xe8\x70\xb9\x6e\x11\xb9\x72\x93\x8a\xea\x17\x8d\x0a\x4f\x53\xa3\xeb\x83\xaa\x47\x7d\xcd\xe3\x55\xcb\x49\xbd\xc5\x52\xcd\x1c\x44\xa8\xca\x0a\x69\xc7\xa6\x70\xa4\xb2\x15\xcc\x6b\x48\xef\x51\x75\x04\x84\xb8\xcd\xca\xa5\xc2\x9c\x32\x35\xe6\x2f\x5d\xf8\x25\xbd\x93\x62\x5e\xde\x8a\xed\x1d\x34\xb1\x71\xd4\x51\x53\xf4\xe1\xf5\x95\x6c\x73\xc6\xbe\xb0\x6b\xd8\xa2\x67\xd4\x02\xc2\x84\x76\x06\x71\x5d\xb8\xa3\x08\xae\x76\xb1\x89\x2f\x1b\x7c\x84\x0a\xec\xd1\x5d\x8b\x12\xc3\x6e\x91\x5d\x83\x82\x38\x6f\x52\x11\xfe\x6c\xd6\xde\x9f\xdb\x7a\x9d\x28\x95\xf3\x75\x3e\xdd\xeb\x81\xea\x37\x69\xd4\x9a\x62\xea\x44\xf5\xe3\x35\x80\x7a\x15\x7a\x83\x72\x3b\x67\x2d\xb3\xfa\xc7\xaf\xbe\xf8\x93\xb0\x4b\x93\xec\x32\xa8\x17\xdf\x7e\xf7\xdf\x46\x52\x42\x73\xa6\x4a\x32\x92\x4b\x05\x5a\x2e\xe1\x85\x6b\x68\x5e\xa6\xd9\x64\xa5\x73\xff\x92\xaf\xc0\x4c\x69\x97\x1d\x8c\x5f\xb9\xac\x48\x27\x98\x09\x82\xa0\xe1\x5e\xd8\x43\x2f\x3f\x81\x5f\x4d\x79\xf8\xaa\xdd\x40\x9c\x20\x65\xb0\x9e\x44\x61\xd9\x6b\x6d\xe0\x02\xf6\x79\x57\x95\x8b\x9a\x46\xd3\xae\x94\xb6\xf4\xd2\x0b\xc9\xc0\xed\x8d\xf4\xdd\x0b\x5c\x70\x86\xa5\xaa\x75\x2f\x5f\xdd\x81\x9f\xb6\xac\x70\xd1\x57\xd3\x1b\x20\x06\x29\x28\xa6\x53\xa5\x09\x99\xd0\x6e\xa6\x25\x18\x4d\xe0\x47\x8c\x30\x33\x91\x32\x3e\x86\xa6\x32\x29\x45\x2e\x6e\x61\x28\x3d\x54\xb6\xfb\x03\xa9\x30\x7e\x74\x33\x87\x7f\x12\x7a\xe1\x9d\xc6\x8a\xe9\xd6\x9b\xb2\x62\xa6\x9d\xb4\xf5\x28\xf7\x5d\x13\x2e\x52\x1b\xed\xc6\x88\xa1\x13\x8d\x0e\x04\x39\xdb\x46\xc0\x2c\x3c\x74\x0a\xce\x75\x35\x5d\x37\xb8\xe4\x9c\x50\x42\xda\xd2\x25\xa3\x7a\x7b\xf2\xe0\xec\x02\x89\x1e\x63\xff\x6d\x07\x44\x7b\x31\x7a\x9d\x21\x00\xf1\x8a\x61\x75\x19\xcf\xb3\x1f\xf5\x02\xcc\x0c\x9c\x13\x8e\xc5\x7c\x98\x3f\x0f\xab\xf9\x74\xa5\x0c\x59\x17\x9b\x38\x4f\x5c\xf6\xe2\x71\xe3\xb9\x79\x34\x1f\x35\x98\x23\x5d\x2e\xb8\x75\x40\x2b\xb9\xac\x8f\xa7\x67\xe4\x1e\x33\x98\x6f\x85\x2e\x7a\x1a\x47\xc3\xa9\xd7\x78\x29\x5f\x42\xec\xe0\xfe\xb7\x76\x21\xf3\x94\xa5\x7a\xe7\xa7\x12\x86\xb1\x99\xea\xb8\xea\x5e\xe2\x17\x53\xec\x44\x2b\xcb\x71\xe1\xe5\xc4\xe7\x03\x3d\x5b\x49\x51\x7e\x83\x68\xa2\x93\x31\x2f\x8b\xac\xd2\x4b\xd0\xbc\x14\x84\x8f\xb9\x66\xc6\x2e\x68\xcc\x95\x43\x16\x22\xf1\x3a\xaf\xcc\x4b\x5a\x11\x5a\x60\x27\x82\xaa\x43\x9b\xc3\x96\x22\x59\x4a\x95\xdd\x0a\xb4\xd4\x3c\x55\xc1\xeb\xa0\x29\x17\xf5\x85\x38\x2b\xcd\x73\x77\x22\xcf\x9b\xdb\x06\x76\x55\xab\x22\x99\xc9\xb2\x28\x97\xaa\xab\x75\x96\xc5\x14\xde\x57\x27\x52\xd7\x2c\x17\x7e\x3a\x5f\xaa\xea\x29\xad\xc9\x34\x2b\xf3\xb6\x39\x21\xed\x8e\xde\x83\xc2\xb8\x94\x76\xfe\x77\xd2\xb0\xf9\x93\x5b\x26\xc9\x6d\xd1\xd7\x8c\xbb\xfa\xb1\xf4\x71\xb2\x01\x8f\xbf\xb3\x69\x8a\x60\xd5\x49\xb8\x10\x0d\x93\x06\xa2\x48\xb3\x62\xfa\x02\xa8\x2a\x45\x81\xc9\xfc\xa8\xd2\x0a\xef\xd9\x0a\x25\xdf\xc6\xef\xee\xd6\x1e\x3f\x67\x7d\xf6\xd9\x67\x41\xa7\x8d\x5d\xf7\xaf\xb5\xc3\x55\x24\x38\xd1\x77\xae\xd7\x53\xf5\xe0\xaf\x76\x2d\xa7\xd0\xd9\x5e\x82\xeb\x27\x28\x9e\x31\x91\x07\x85\x2a\x51\x21\x2e\xe6\x50\x08\xb5\x60\x9d\xd4\x77\x5e\xda\x12\x28\x49\x73\xc2\x5e\xcb\x9e\x96\x30\xca\x60\x2a\xaa\x57\x95\x98\xab\x36\x60\xee\x6d\x2b\x96\xc1\xc5\x30\x95\x4f\x6d\xbc\xd6\xbb\x16\xf8\xed\x9a\x89\x13\x93\x66\xaf\x4d\x0b\x84\x8d\xd9\xb5\x0d\x18\xae\xe1\xcd\x60\x62\x20\x58\x90\x79\x23\x56\x61\xd6\xe7\xb5\xd9\x54\x20\x00\x16\x22\x7d\xb7\x2a\x12\x76\xce\xda\xc1\xd4\xbe\x9f\x6a\xf8\xec\xb3\x35\x65\x5e\x8c\xc5\x5e\xcc\x2d\x85\xa6\x9f\x9c\xaf\x7d\x82\x35\xf9\x3d\xfe\xa0\x63\xb5\xe9\x75\xe0\xc2\x74\x3a\x6e\x2a\xa2\x21\xf5\xd4\xf0\x04\x6e\x30\xe8\x1c\x48\xc3\xbd\xa6\xbb\x61\xf9\x6b\xc4\xd1\xcf\x9e\x05\x0b\x2c\x71\xd4\x57\x45\xf2\xc2\x50\x44\x07\xe3\x91\x94\x74\xfc\xb5\x97\xe6\xff\xde\xdc\xc8\x2f\x11\x9b\x60\xef\xb4\x00\x40\xbb\x84\x21\x8f\xfb\x8b\x9b\x30\x2b\xc3\x78\x63\x42\x23\x53\x36\x14\x52\x8c\xb3\x20\xa7\x60\xe2\x49\x08\x16\xa1\x67\xa0\xe4\x75\xde\x42\xbb\x6d\x0d\x4d\xc6\xc9\x68\xe4\xa0\xf7\x6b\x23\x52\xb3\x91\x80\x99\x0c\x26\xbe\xc4\x8c\x8a\xbf\xcc\x5c\x4b\xb3\x89\x6c\xea\x71\xaa\x5e\x1e\x7f\x27\xb3\xaa\xc2\x1a\x01\x6d\xf9\x8c\x6c\xd6\x51\xd3\x01\xc9\xcf\xe3\xb2\xcc\x05\x2f\x7e\x26\xad\xf3\x33\x56\x55\xfc\x5c\x2c\xf3\xfc\x41\x8b\xd5\xfb\x5a\x60\x40\x3b\xa6\x18\x4e\x08\x7b\x33\x2a\x56\x34\x4b\xe1\xef\xee\x28\x85\x5e\x8d\x40\x8b\x33\xb0\xf0\x00\x97\xc6\xdf\xf2\x3c\xb3\x4a\x3e\x0e\x12\x7e\x7d\x22\x61\x51\x7d\x74\x61\xaf\x2d\x1f\xda\x60\x6b\x1a\x72\x19\x6b\xd3\x0c\xa6\xbd\xed\xd9\x86\x35\x69\x06\xd3\xc0\x6f\xc8\x36\xf8\x2e\x3d\x70\xb7\x83\xa8\x15\x6e\x12\x4b\x6b\x64\xa9\x50\x92\x58\x19\x04\xde\x6c\xc8\x66\x92\x6b\x6b\xf4\x88\x89\xce\x09\x2e\x28\xb0\x25\x72\xe9\xcd\x17\xda\xde\xcb\xea\x9b\x1f\x6e\x7b\x0b\x73\x1a\x12\x1c\xd4\x4d\xe1\x7a\xfd\x45\xc6\xaa\x05\x3d\xf4\x5e\x1b\xb8\xaa\x01\x50\x93\xb2\xb0\xfb\x0b\x2e\xe2\xa2\x4c\xbb\xe9\x88\x65\x27\x50\x44\x6b\x96\x11\xd9\xa9\x97\x51\x61\xe2\xe4\x09\xdb\xdf\x35\x95\x2d\x54\xfe\x6e\xb6\x2d\xa9\x66\x52\xd8\xaa\x17\x9b\xa8\xc2\xa7\xa2\x22\x21\x60\xb3\x2b\x9c\x01\x36\xc3\xaa\xfb\x72\xed\xb1\x0f\x69\x28\xd3\xce\xe3\x72\x21\xeb\xd9\x2a\x5e\x5b\x82\xdd\x8a\xd6\x97\x78\x35\x10\x06\xa2\xa9\x0c\xc2\x84\xeb\x41\xfb\xb6\xcd\xab\xec\xfa\xaa\x7f\xed\x36\x23\x83\xbf\x07\xd1\xdf\xc3\xeb\xfa\x56\x97\x46\xcb\x17\xb4\x1e\x4b\xa4\x76\x35\x41\xec\x2a\xbb\xb0\x3d\xbe\x81\x29\xed\x34\x9b\xe0\xdf\x15\xc5\xfe\x3f\x2c\x55\x85\x5a\x14\xeb\x2f\xbd\x61\xf4\xaa\xa7\x28\xca\xd3\x3b\x76\x08\xdc\x82\x06\x9b\xa6\x7d\x9c\x6d\xad\x29\xae\x18\xaa\xbb\xec\xc6\x04\xcc\x05\x2f\x82\x5d\x79\xb4\x0a\xf3\x27\x9f\xbd\xf4\x7c\xad\x5b\xa4\x6e\xa6\xa2\xa2\xcd\x80\x50\xb5\x72\x93\x42\x35\x39\x85\x96\x14\x18\x97\x48\xbd\xb3\x59\x29\xd1\x66\x98\xfd\xeb\x0a\x66\xeb\xf8\xea\x21\x46\xb0\xc9\x74\x6c\xe7\x80\xda\x58\x16\x32\x22\x6d\x68\x62\x83\x60\x14\xa4\x28\x6c\x6f\x81\xae\x6e\x2f\x95\x65\x91\xfd\x65\x69\x5d\xad\x75\x54\x12\xee\x35\xda\x60\x26\x38\x3b\x5d\xe7\x72\xaa\x24\x6b\x34\x95\x76\xda\xb6\x2a\xf5\xba\x93\x88\x63\x4c\x6b\x7a\x10\x53\x6d\x0b\x70\x81\xbb\x2a\xe9\xf9\xac\x00\x4a\xef\xf1\x34\xdd\xa3\x9c\x86\xdb\x7c\x89\x06\x8a\x36\x3d\x5a\xf9\xfa\x3e\x26\x05\x56\xc0\x2d\x68\x73\x32\xbd\xe4\xb1\x9e\xbe\xf5\xa6\x05\x57\x6c\x14\xed\x0e\x63\xbc\x86\x78\xaf\x33\x3b\xe9\xac\x59\xcf\x94\x8f\x2b\x61\x5e\x9e\x6a\x7a\x4e\x74\xcb\xb6\xdd\xd8\xe2\x3d\x71\xbb\xee\x82\x4c\x6c\x2a\xa8\xd0\xe6\xce\x0c\x65\x6a\x79\x00\xb4\x39\xbe\xb7\x3e\x4e\xbf\xc8\xca\x79\xe1\x59\x68\xe3\x0c\x57\x74\x03\x72\x69\x03\xb7\xb7\xd7\xe4\x02\xe2\x04\x7c\x99\xa7\x4d\x0c\xe0\x8d\xfc\x93\x75\xfa\xca\xbd\xf2\xea\x7a\xdd\x92\x0f\x93\xc2\x2e\xac\x9f\x5c\x9b\xfc\xee\x5a\xdc\x29\xb7\xd9\x34\x15\x7c\x65\x40\xae\xb1\xea\xd7\x75\xf0\x79\xc3\x24\x68\x00\x1c\x4d\x87\xda\xd9\x1d\x60\x3c\xad\x5c\xb6\xcf\xe2\x5c\x5a\x5e\xa4\x19\x6c\x36\xf2\xe6\x86\x2c\x17\xce\xb0\xf4\x10\x87\x5c\xdc\x0a\xb9\x8a\x2c\x0e\x39\x3c\x5c\x29\xdc\x93\xc5\xe4\x1c\xbc\x7c\x5a\x59\x84\x2e\x1f\xb9\xa3\x0f\xb8\x67\xf6\x88\xe9\xb9\x6e\x7f\x56\x96\x76\x2b\x4d\xbc\xbd\x90\xc2\x17\x98\x97\x46\xef\xe1\xc5\xc6\x69\xc6\xc6\xf9\x9b\xc0\xf8\x11\x11\xba\x80\x92\x4b\xb5\x69\xca\x7c\xf6\x19\xd3\x39\x79\x7d\xe1\x93\x73\xd6\x32\x4f\xb6\xd6\x64\xe0\x5e\x15\xa8\xaa\xc9\x74\x9f\xe9\x27\x55\xcb\x05\xea\x74\xc5\x9b\x13\x89\x2b\x09\x68\xde\x48\x83\xb9\xaa\x69\xc0\xd0\xcb\x93\x87\x05\x8b\x26\xb2\xb5\xdd\x30\xa5\xd6\x41\xc8\x1b\x64\x1e\x3a\x41\xf9\x9e\xd7\x03\x53\x3f\xee\x86\xc7\xdb\xae\xe8\xb9\xb7\xde\xa6\x21\x42\xf5\xdd\xb2\x39\x5f\xd0\xd5\x06\xf3\x9e\xa9\x05\x37\xd3\x3c\xc4\xa8\xcc\xcd\xc0\x9a\xac\x58\x8c\x86\xf2\x6a\xad\x74\x49\x93\xde\x49\x22\x4c\xdf\xe2\xc6\x39\x7e\xc2\xc8\xe4\x9a\x14\xae\xf2\xd6\x2b\xbc\x31\x39\x8f\xe5\xb4\x8b\x45\x9e\x25\x94\x72\xc4\xe5\x75\x00\x04\xf1\x30\xb9\x88\x4b\x25\x64\x13\x12\x68\xf7\xfc\xfd\xee\xf5\x6c\x81\x35\xf1\x69\xa3\x7f\x80\x93\x07\xe8\x8b\x60\x65\xf6\x13\xdc\x8e\x2e\x07\xf5\x4c\x6a\xb7\x4b\x42\x47\x75\xcf\x14\xd2\xa8\xbb\xac\x4a\x66\x76\x53\x5a\xe7\xd2\xe8\x1c\xcb\xa3\x04\x80\xaa\xda\x46\x79\x5e\xcf\x2e\xd7\xb8\xa8\xce\x2c\xbe\xb3\x47\x2d\x69\xdd\xd7\xb6\x25\x92\xc1\x00\xbf\x29\x8d\xb9\x5c\x33\xbc\xba\xae\xfe\x37\x47\xdc\x3a\x30\x25\x82\xff\x12\x4a\x68\xfc\xe3\x12\x04\x97\x44\x7c\x6c\x14\xf5\x89\x0e\xa3\x9a\xd5\xc1\x76\x61\xc2\x8d\x3a\xc2\xc4\x8e\x8e\x71\xa6\xc2\x2c\xb5\x6b\x72\xca\x9b\x75\x87\xef\xa1\xaf\x57\x31\x57\xd9\xb5\x8e\xb9\x82\x24\xd4\xda\x77\x69\x84\xdc\xec\x6d\x43\x20\x10\xc3\xc0\x3b\xfc\xd6\xbb\x3a\x76\xd5\x45\x62\x11\xc3\xbc\x90\x02\x77\x75\x75\xde\x45\x83\xaf\x67\x3c\x10\xb3\x03\x33\x40\x81\x81\xf4\x2a\x5a\x5c\x7d\xe0\x2c\x2b\xa2\x25\xc4\x78\x0a\x0b\x07\x6f\x46\x27\x60\x68\x17\x06\x5d\x2d\xc0\x97\x55\xb9\x6b\x5c\x2e\xf4\x6d\x62\xd7\x07\xe4\x1d\xde\x49\xd3\x47\x52\x23\x60\x7c\x2e\xda\x79\x53\x2a\x81\x12\x1e\x96\xf9\x81\x2b\xb5\xc4\xbd\x71\xb6\x3a\xdc\xb8\x3f\x86\xed\x19\x6a\x36\x22\x8d\x71\xbd\x6c\x00\x02\x4a\x64\x6d\xc5\x24\xf6\xfe\xdb\x80\x16\x18\x70\x24\xf9\x32\x15\xa6\x08\xd7\x38\x46\x6b\x5b\xc9\x52\xd7\x46\x86\x94\x2a\x6f\x85\x94\x59\x4a\xe8\x58\x6a\xe9\x36\xb6\xcb\x1e\xf5\x85\x42\x35\x7f\xcb\x0a\xeb\x7e\x19\xdc\xd7\x3b\x61\x5b\xfe\x11\xda\x5e\xb9\x42\xaa\xfc\xa2\x6e\xeb\x9f\x3d\xb7\xf7\x9f\xfb\xc9\x86\xcc\xe6\x43\xb2\xd4\x6c\x56\x95\x3e\xb7\x06\x15\x9c\x48\x53\xed\x00\xa0\x9f\xb8\x0d\x2e\x1a\x84\xff\x62\x49\x96\x45\x53\x9a\x24\xdf\x8e\xb4\xa9\xb0\x67\x59\xda\xa9\xaf\x1b\xdb\xdb\x63\xdf\x65\xc9\x0d\xe3\x4c\xf2\x22\x2d\xe7\x5d\xc3\x8e\x07\xbb\x69\x36\xcd\x2a\x36\x13\xf7\xfe\x66\xac\xbe\x77\xae\x0b\xff\x68\x66\x5e\x6f\xec\xfb\x49\x96\xb2\x9f\x7f\x66\xcd\x1d\x70\x8b\x0c\x52\xb3\x59\x10\xed\xe9\x83\x5f\x09\x81\x76\x87\x3d\x65\xfd\xfb\xc9\x64\x32\x61\xcf\xd8\xa0\xd3\xab\x4a\x5d\x7c\x36\x38\x72\x35\xf2\xa9\xdd\x68\xf2\xc7\x05\x4f\xdb\x59\xda\x65\x07\x41\x05\xbd\x19\x60\x97\x09\xb6\x84\x46\x2e\x05\xaa\x10\x51\x1a\xd6\x89\x23\x19\x5d\x79\xeb\x66\xf7\x5a\x7b\xe4\x19\xad\x38\xf7\x1f\xb5\xb5\xa6\x6e\xd2\xa4\x06\x22\x85\x12\xd5\x28\xcf\xfd\x12\xd5\x46\xc7\xfc\x2a\x4b\xad\x27\xaf\x1f\x26\x8e\x4a\x75\x05\x90\x46\x80\xd2\xec\x1e\x0b\x02\x6a\x2a\xd8\x84\x33\x6c\x23\x70\xf5\x31\x28\xe5\xf5\x34\x81\x55\x07\x46\xb1\x10\xa8\x6a\x80\xb5\x1e\x08\x68\x23\xdc\x76\x51\x61\x39\xb9\xdf\x1a\x46\xd1\x29\xcd\xcc\x3c\x4a\x55\xf9\x56\xd9\x53\x5b\xd1\x8a\x52\xba\xe3\x76\xa0\xa3\x20\xbb\x51\xed\x64\xa9\xa7\x02\x5f\x5d\x3c\x76\x76\x10\xda\xdb\xa0\x56\x7c\x8d\x00\xfd\xf5\x75\x02\x3e\x16\xc2\xc2\x78\x21\x58\xcc\x06\x8f\xd2\x28\xec\x3c\x16\x33\x57\x0f\x15\xc8\x1b\x40\x85\x75\x50\xd6\x62\x37\x31\x8a\x16\x84\x54\xe0\x6e\x1d\x9b\x39\xb2\x79\xbb\xf7\x75\x86\xd5\xd9\x14\xcf\x37\x23\x9d\xee\xad\x30\xf4\xc6\xb7\x94\xd6\x78\x98\x9d\x8a\xc8\xcf\xa9\xec\xf4\x87\x74\xbb\x5b\xda\xb3\x28\x9e\x78\xdb\x42\xea\xc9\x07\xa9\xd5\x26\x2f\x98\xb8\x4f\xc4\x82\x66\xb5\x27\xac\x28\x23\x48\xcc\x23\x51\x21\xfc\xaf\x30\xa2\xb8\x99\x64\x56\x3c\x96\xe5\x2c\xcc\xd3\x70\xa9\x73\xe0\x61\x84\xf8\xd5\x96\x3d\x07\x39\x12\x4d\x24\x5a\xf4\xfc\x28\x9e\x36\x9c\xb9\x8e\xa1\x1b\x56\x34\x53\xc8\x67\xa9\xd0\x30\xd3\xd9\xd9\xe2\xa6\x3a\xa2\x85\xc6\xca\x73\x55\x4d\x63\x81\xfe\x8d\x59\xd0\x3a\xc7\xed\x2c\xa5\x3d\xc9\x34\x50\xc7\x0f\x4f\xb7\x2f\x3e\xde\x16\xa3\xee\xc4\x16\x75\xc7\x37\xb5\xc6\xb0\x5a\x05\x1b\x2d\x5f\x7e\x88\x75\x2f\x60\x58\x93\x9e\x17\x3c\x4f\x96\xb9\x71\xc1\x4c\xf4\x95\x08\x36\x16\xd5\x9d\x10\x05\xee\x7d\x03\x38\xa8\x38\xd9\x44\x3b\x02\xa0\x30\x79\xfb\xe3\xf8\x40\xe4\x0e\xd7\xf2\x75\x24\xae\xc1\x96\xa1\xb8\x97\x12\x3a\xac\x3b\x5d\xb6\x43\x0a\x0f\xbe\x82\x32\xdf\x49\xca\xf9\xbc\x2c\x76\x40\x40\x16\x42\x56\x99\xb0\xd3\x10\xfa\xca\x4a\xef\x44\xc6\x99\xbf\xce\x60\x97\x7c\xba\xff\xa9\xe4\x52\xfc\x4f\xb8\xe2\xb6\x4b\x4a\x20\xd8\x7a\x95\xb3\x73\x76\xd5\xa2\x27\xef\x5b\x5d\xa6\xbf\xae\x5a\xd7\x1a\x60\xec\x01\xd0\x55\x7d\x03\x88\x66\xb3\x66\xaa\xcd\xbb\x6c\xdc\x61\xe7\x5f\xd8\xe5\xb6\x3f\x91\x2b\x7e\xc6\x7e\x62\xb6\xfd\x33\xac\x51\x62\x0f\x5d\x6d\x2d\xe0\xee\x43\x97\x51\x57\x3d\xc8\x95\x85\x04\x5f\xc1\xad\xd3\x85\x06\x75\x36\x37\xf5\x08\xc3\xb8\x52\x4b\xb3\x3d\xde\xff\xf0\xff\x01\xc9\xf4\xd7\x0d\xf8\xf1\x44\x30\xff\x73\x45\xea\xe2\xfa\x81\x71\x3a\xcb\xa6\x54\x15\xa6\x56\xf5\x43\xb5\xc1\x5f\xf7\xf8\x98\x8d\x0a\xbd\x55\xdc\x9a\xe7\xcc\x9e\x91\x26\x6b\x36\x2a\xfc\x72\xcc\xb0\x6b\x7b\x44\x10\x7f\xe8\x37\xa8\x97\x70\x20\x7c\xd5\x42\x63\xf2\x53\x70\xa6\x13\x8a\x8e\x19\x99\x87\xee\x13\x67\xba\xbd\x0b\x76\x40\xf0\xef\x87\xb5\x31\x24\x6f\x0a\x1a\x41\x0b\x8c\xad\xa5\xe4\x57\xd9\x75\xcd\x25\x95\xb7\x3d\x7a\xc5\x15\xdc\xbe\xf6\x6a\xd7\x6a\x4b\x2b\xe5\x6d\x0f\xb1\x6d\x82\x34\xe2\xde\x84\xda\x78\x1d\x6a\xed\xf1\x55\x76\x0d\xfa\xcb\xb4\xdc\x01\x1f\xda\xbf\x4a\xa8\x75\xd6\xac\xdf\x95\xb7\xda\x35\x49\xaf\xc6\x11\x4a\x4d\x27\x4e\x99\x22\x49\x5d\xcf\x95\xfd\x28\xbc\x13\xf1\xd6\xd8\x6e\xe5\x4d\x0b\xd8\x95\x2a\x9a\x99\xa1\x31\x7c\xdc\xb9\x75\xe4\xd5\xd4\x0e\xb6\xa0\x36\xaa\x8c\x4e\x56\x59\xb1\x79\xa6\xf0\xb4\x23\x57\x87\x56\xa4\x54\x4b\x66\xe4\xa4\x56\x53\x06\x0d\x62\x5e\xcb\x14\x29\x60\xf5\x00\x55\x22\x7a\x05\x6d\x28\x77\xb8\x85\x17\x9e\x62\xe1\x8e\x6e\x0b\xe7\x66\x69\x1b\xfd\xb1\xd0\xde\xce\xaf\x31\xf9\xca\x91\xb1\xb9\xfc\xe0\x57\xd5\xb1\x41\xab\x4f\x1a\xb6\x41\x7b\x94\x4d\x0f\xaa\x6c\x36\xcc\x7b\xc4\x65\x6d\x9b\xea\xda\xea\x65\x6d\x3a\xed\xf9\xb7\xaf\x6a\xd3\x9b\xf3\xd7\xb4\x96\x9e\x38\x10\xec\x29\x4d\x6d\x3f\xa5\xc5\x90\xdc\xaf\x8a\xee\x85\xa9\xae\x57\x6b\x9d\x68\xf7\x1e\xbd\x8d\x89\x65\xc1\xca\xec\x8c\xed\x6a\x6c\x81\xa0\x9a\xd1\xcc\xbb\x54\x45\x0c\x8d\x8d\x53\x63\x88\xb0\x7e\x5c\x14\xa9\xb7\xe8\x33\xcd\x54\xc2\x25\xb9\x94\x88\x5e\x99\xa7\x84\x5a\xad\x6c\xaf\xd1\xcf\x89\x4e\xc1\x7b\x8c\xd2\x6d\x3b\x0a\x74\xf5\xeb\xd6\x27\xde\x1c\xec\xba\x2d\x08\x30\x7a\x76\x60\xb8\x0b\x81\xbd\xa9\x69\xf2\x0a\xb7\x50\x3a\xd7\x6f\x8b\x03\x13\xbd\xde\xde\x07\x75\xab\x36\x98\x79\x48\xc7\x29\x3e\x18\x85\x2c\x6e\xb2\x61\x73\x44\x12\x96\x0c\xfe\x86\x48\xde\xbe\xcf\x6f\x23\x38\x76\x33\xda\x0e\x07\x17\x37\xa3\x7b\xae\x17\x61\x6f\x4d\xc6\x78\x2d\x69\x75\x4e\x7f\xdb\x7a\xb7\x47\x64\x13\x18\xfb\xc5\x59\x03\x7a\x68\x6d\xb1\x5e\x94\x9f\xb0\xf3\x1b\xed\x50\xee\xe3\x0d\xf6\x9a\xf8\x4a\x0f\x6a\x03\x4f\x6d\x8f\x2e\xe9\x59\x30\x67\x41\xa9\xce\x27\xb1\x82\x69\xd4\x2d\xeb\xcb\xfe\x82\x78\x55\xe1\x36\x5a\xe1\xfc\x6e\x86\xcb\xf9\x29\x4c\xc0\x79\x9a\xba\x19\x4b\xfd\x79\xa5\x5a\x91\x5f\x56\x9b\x3c\xa0\xc8\x8d\xb6\xc0\xd7\x5b\x81\x37\xcf\x9a\xd6\x66\x23\x42\xd4\x30\x4b\xf0\xd8\x54\x85\x0a\x57\x24\xfd\xdf\xcc\x3a\x34\xac\xe3\x78\x55\x89\x79\x3b\xac\x36\x76\xf0\xae\x5e\x2c\xac\x42\xfd\x64\xe3\x9a\xa9\xa6\x27\xd6\x2d\xc3\xfc\x05\xb3\x4b\x9a\x3f\x82\xa5\xfe\x8a\x99\xe5\x8d\xd5\x4c\x64\xb2\xce\x29\x8f\x1c\x9a\xc6\x19\x32\xd2\x58\x34\xa9\xe7\xf6\xed\x34\x72\xb5\x31\xe0\xf6\x54\xf5\xe3\x43\x67\x5f\x68\xa3\xf8\xd9\xed\xee\xe2\x07\xac\x41\x9e\xaa\x59\xfa\xb7\x4e\xee\xd9\x2a\xf2\x6d\x95\xc7\x9b\xc7\xfc\xd1\xe5\xcb\xeb\xd8\x80\xd9\xe9\x3c\x4c\x9f\x7a\x7b\xb0\x3c\xfc\xba\xf2\xfa\xb0\xae\xbe\x61\x41\x9e\x57\x5d\x1f\xef\x04\xb9\x51\x5a\xa8\x36\x9e\x40\x0c\xce\x93\x52\x42\xe0\xdd\xae\x33\xf3\xda\x92\x66\x73\x0e\x0c\x04\xb1\xa0\xa3\xee\x4a\xb3\xe7\x97\x73\x54\xc0\xa6\x65\x54\xd6\x52\x94\xd5\xae\xf8\xcb\x92\xe7\x5e\x7a\x6e\x5c\x56\x33\x7f\xa3\x30\xbb\xed\x96\x4a\x78\xce\x25\xd6\x31\x50\xde\xb7\x9c\x2f\x00\x00\x1b\x08\x93\x0f\xd0\x94\x39\xb9\x01\xd7\x7b\xb1\x76\x51\x7a\xf9\x8e\x4e\x97\xf6\x2a\xb9\xcb\x94\x3d\xf5\x0a\x70\x0e\xd4\xb0\xd9\x52\x0c\x1c\xfa\x1c\x0f\x46\xa4\xad\x8a\xef\xdc\x5a\xc5\x64\x26\x92\x1b\xe8\x68\xa0\xe0\x71\x4d\x88\x9b\xc6\x65\x6f\xbd\xa3\xe1\xf0\xd8\x3b\x73\x68\x14\x36\xa1\x7b\x41\xde\xf7\xbd\xe9\xf9\x9d\xa0\x02\x3f\x43\x2c\x5c\x8f\xfe\x84\xce\x6d\xd6\xa7\x99\x8c\xbd\x92\xc0\x58\xc9\x3f\x85\xd0\x7e\xe4\xd2\x79\xfa\x2d\x71\x3e\x70\xbc\x06\xe6\x11\x75\x4f\xd9\x64\xd2\x1c\x73\xef\xed\x99\x24\x2b\x00\x46\xa5\x8b\x5d\x66\xce\xcc\x82\x51\x34\x1b\xc3\x33\x45\x47\x1d\x2e\x64\x36\xcf\x30\xc6\xa2\xa2\x1b\x0a\x5c\x75\x6a\x8d\x77\x50\x5a\xcd\x9f\x63\x88\x5f\xb5\x00\x7c\xd2\xde\xfb\x73\xdb\xa6\xda\x6c\xe1\xb8\xae\x23\x27\x83\x17\xaf\x6f\xe5\x9d\x4e\x74\x3c\x44\x53\x38\xcb\xf1\x9d\xe3\x30\x89\x46\xa6\xb8\xbe\x2c\x35\x2a\xa3\x6c\x60\x26\x7b\x54\x88\x5a\x8e\xf1\x4c\x05\x08\x4c\x1b\xd6\x4a\xf9\xb3\xc0\x36\x24\x4a\x4b\x61\x36\xd2\xaf\x84\x7c\xcc\x0e\x11\xe6\x3c\x14\x5a\xeb\x87\x7c\x89\xde\x44\x9e\x46\x25\xed\x8c\xfd\x89\x82\x42\x5e\xe9\x7a\x29\xd5\x6d\xac\x78\xa0\xfc\x1d\xd5\xf6\x99\xa5\x9f\xbf\xac\xdc\xc1\xce\x62\xa3\xf8\x98\x6d\x87\x7c\xa6\x2c\xc4\xdd\x1f\x6d\x7d\x3f\x78\x02\x21\x95\xcd\xec\xe0\x2f\x2d\x1c\x0e\xea\xc1\xeb\xdb\x35\x98\xb7\xfe\xef\xfb\x2f\x2e\xe0\x00\x31\x31\xae\x89\xbf\x6c\xd8\xc3\xce\x3b\xd2\xee\x22\x20\xcb\x8c\xe3\x11\x1b\x4e\xef\x04\xbb\x0b\x3f\xfc\x7a\xc7\xc7\x1c\x9e\x87\x1b\xb9\xd0\x6e\x8c\xb6\xc4\x4d\x57\x79\x93\xa6\xaa\x8b\x85\xde\x73\x09\x14\x80\x16\x68\xeb\x47\x45\x5b\x5e\x98\xfe\x3d\x6f\xc2\x7b\xdb\x23\x4f\x36\xf9\x5b\x8f\x14\xdc\xa6\xba\xfa\x98\xb1\x1b\x2b\xff\x90\xb9\x77\xbf\x60\xde\x66\x53\x9a\x3e\x2b\xbb\xb3\xad\xe3\xe1\x60\x89\xc6\x23\x4b\x4c\x03\xc6\x0d\x77\x29\x36\x25\x72\xf1\x5a\x34\xaf\x76\xae\x61\x2d\x04\x6d\xd1\xc6\x17\xb8\x1e\xad\xee\x92\xbe\x6b\x08\x58\xe2\x31\xff\x3f\x88\x57\xa0\x6b\xf5\x70\x45\x45\xdb\x03\x3f\xf5\x17\x07\x59\xd3\x06\x50\x8f\x5a\x01\x64\xc6\x27\x5a\x08\x14\x1f\xed\xbe\x31\x31\x56\x8f\x89\xfe\x2f\xb5\x8b\xce\x04\xad\xad\xc7\x8a\xb4\x8f\x01\xf5\x55\x4e\x5c\xaa\x69\xbd\xeb\x5f\xa0\xaf\x9a\xc3\xa7\x50\xec\x03\xd7\x54\xd1\x9a\xcd\x86\x28\xce\x6b\x7d\xcd\x4a\x9e\x5f\x14\xa5\x3d\x36\x72\x74\x89\xc3\x3f\x09\xbb\x26\x79\xce\x0b\xe4\x5f\xa6\x44\x91\xda\x6a\x29\xb2\x8c\xba\x0e\xd3\xd4\xfb\xdb\xea\x06\xdc\x0c\xed\x4e\xb8\xe4\xa0\x59\x42\x2d\x6e\x71\x57\x59\x2c\x09\x9e\x64\x74\xe6\xa8\xdf\x92\x39\xb2\xf0\x4e\xb4\x6e\x85\x3d\x4e\x47\x6b\x7c\x6a\xce\x73\x0a\xf4\x48\xa8\x12\x4c\x3f\x35\xaa\x84\xf0\x8a\x2e\x1d\x2a\x2c\x15\x39\x5f\xe1\xca\x0a\xda\x1a\x83\x1a\x0b\xa8\xb8\x2c\xaa\xcc\x9c\xe7\xe7\xa1\xdb\xd5\xaa\x82\x32\xea\xde\x39\xaa\xba\x76\x95\xe3\x2a\x0e\xdd\x59\x3a\x70\xd0\x9b\x4d\x37\xdb\x22\xb8\xed\x37\xcc\xae\x5b\xef\x63\x32\x22\x05\xbd\x33\x87\x55\xa9\xcf\x5e\x52\xba\x88\x9a\x27\x09\xd6\x10\xe1\x70\xa4\x62\x81\x03\x52\x50\x6b\x9c\x79\x0b\xcb\x83\x76\xe1\x9d\x5e\x22\x67\x53\xa8\xa3\x0f\x63\xe9\xb2\x7e\x68\x56\xbe\x16\x55\xb8\xc7\xcb\x63\x56\x5f\x36\x6b\xb3\xe9\x63\x53\x2f\xd3\x7f\x84\xc4\x8b\x99\xf2\x09\x54\x4a\x43\xad\x46\x9e\xb3\xa2\x2c\x76\x8d\xcd\x0d\xd6\x35\x29\xbb\xb1\x74\x81\xc1\x6f\xe0\x33\x53\x89\x1f\x95\xf6\x14\x74\x14\x7d\xf3\xc6\x02\x76\x57\x81\xed\x94\x13\xf7\x8b\x52\x56\x23\xf5\x9f\xaa\x2c\x9a\xb3\x23\x34\x61\xf8\xd0\x5c\x95\xbe\x31\xe5\xb0\x6e\x51\xb6\x3f\x03\x68\x56\x14\xea\x53\x54\x82\x84\x4a\x34\x93\x10\x6c\xd9\xda\x98\x52\xd7\x0f\x35\x25\x3f\xc3\xa4\xba\x06\xb4\x1b\xfb\xfa\xb8\x50\x6e\xe2\xa7\x2c\x3d\xc3\x52\x8c\x1f\x54\x59\x9c\x45\x15\x45\x85\xa9\x26\x0a\xc8\xd7\xee\x3c\x74\xa2\x74\x72\x34\x8b\xf9\x58\x6e\x34\x04\x6c\xf6\x4e\x9b\x9c\xd3\x5a\x2f\x9c\x6d\x0b\xf7\xd3\x09\x92\x2d\xcd\x93\x94\xaf\xe6\xd0\x27\xc3\x88\xe3\xbc\x1c\x87\x4b\x3a\x94\xbf\x7d\x8b\x2b\x14\xc5\x29\x4a\x9f\x1e\x75\xa7\x48\xd7\xbb\xfe\xad\x78\x37\x43\x44\x2f\x65\x39\x8f\xb9\x17\x06\x6d\x4d\x05\xbc\xbb\xf5\x58\x26\x8d\x13\x7c\xd0\x42\x38\x56\x6b\x99\x11\x9e\x78\x1c\x37\x52\xba\xef\xba\xa7\x8b\x56\xa3\x37\x03\x15\x9a\xa6\x54\x74\x86\xb1\x70\xb5\x61\xe6\x51\x37\x8d\xe2\x3d\xdb\xf1\x4a\x6f\xd7\xb6\xeb\xea\x78\x8d\xb3\x86\xa7\x2d\xbb\x8a\x9b\xa6\xa7\xa3\xb1\x68\x07\x7d\x42\x92\x6f\x96\x0c\x5b\x19\x47\xaf\x74\x24\x5e\x77\x2c\xd7\x0b\xef\x08\x2b\x7d\x4a\x7f\x54\xc8\x56\xdf\xd0\xf7\x91\x01\x46\x7d\x19\x58\x53\xa1\x96\xbf\xc9\x6a\xb0\xc3\x82\x37\xe1\xb9\x06\x5f\x6e\xe2\x12\xdf\x7d\xf8\x85\x28\x86\x9b\xb4\xfe\xd2\x28\x28\x48\x08\x67\xf7\xe1\xc9\x3d\x37\x62\xd5\xcb\xb9\xaa\x5e\xe9\xc9\x44\x0f\x10\x8c\x3d\x68\xa0\x7e\x67\xcd\x44\xda\x83\x9b\xa1\xac\xef\xe5\x51\xdf\x3d\x24\x98\x64\xdc\xb4\xa2\xc9\xdf\x1c\x0d\x8f\x86\xce\xe6\x98\x15\x6c\xe5\x79\xd3\xbe\x5b\x54\x08\x8a\x71\x0d\xc7\x85\xb4\xa6\x28\x41\xe7\xc4\x7a\xb5\xa2\x8e\x08\xf9\xed\x5a\xda\xf5\xd3\xe4\x67\xce\x6d\x10\xd9\x0b\x1d\xf9\xf5\xeb\x40\xea\xba\x19\x0f\x6f\x8d\xb7\xae\xd3\xd0\x8d\x2a\x3f\x6a\xb8\x7d\x5b\x66\x29\xba\x64\xe1\x40\x63\x6c\x12\x2d\xda\x88\x83\x92\xa0\x74\xcf\x75\x2b\x3a\x34\xc4\x69\xb0\xe6\xe8\xa2\x09\xd9\xb5\x1b\xa6\x3f\x26\x0e\xf2\x26\x67\x37\xcd\x23\x3d\x7a\x53\x75\x29\x68\xb7\xf3\x7f\x91\xad\xd4\xdf\xf9\x1b\x5c\xf1\x02\x5e\x65\x7a\x18\xed\x9c\x0e\xa2\xb0\x54\x14\xa0\x81\x07\xfa\x9f\xfc\x96\xbf\x4b\x64\xb6\xc0\x7d\x6d\x8b\xa9\x27\x31\x49\x99\xe7\x22\x01\x2b\x9d\x2e\x69\x45\x3d\x1b\x2f\x75\xd1\xab\xaa\xc4\x42\xcf\x38\x98\x03\x29\xb2\x82\x92\x22\x42\x66\xb4\x86\xb9\x05\x1a\xcc\x12\x9a\xa7\x69\xbb\xd7\xeb\x75\xe8\x04\x72\xe5\xce\xdc\xc4\x83\x25\xfe\xdd\xc0\xed\xe8\x0d\x66\xb3\x5b\x5a\x02\x63\xc6\x6d\x9c\x15\x7b\x74\xfa\x5e\x4f\xcd\xbc\xcd\xac\x8a\xb2\xc0\x93\xe5\x97\x4a\xd0\x52\x7c\x55\x4b\x32\xeb\xe5\x9d\x76\x93\xec\x70\xe3\x2f\x1d\xd3\xae\xca\xa5\xb4\x34\xd3\x67\x59\x40\x7f\x40\x94\xb0\xe1\x32\xcf\xf1\xfc\x69\x4f\x3b\x5b\xf0\x73\x7d\x22\x96\xa6\xf8\xc7\x33\xf6\xd3\x43\x7c\xb8\x29\xb7\xf7\x37\x26\x87\xa3\x15\xf9\xf6\x19\xe6\xef\xac\x66\x36\x47\xc7\xd3\x4f\x75\xd9\x3d\x62\xea\xa1\x49\xbe\x98\xc5\xc9\x1c\x36\xa7\x66\x9c\x16\x4f\xe3\x31\xbc\x8d\x05\xd3\x38\x0f\x31\x62\x73\x9c\x8d\x81\xef\x31\x32\x38\x63\xb1\x23\xf9\xdd\x0e\x95\x72\xeb\x14\x9e\x5e\x69\x39\xce\x6b\xe9\xeb\x94\x57\xdc\xcb\x3e\x69\x3b\xed\xd3\x23\x24\x28\x30\x4b\x3d\x61\x04\xb8\x74\xb1\x2d\x52\x40\xc1\x13\x8e\xf8\xd6\xf7\xd5\xc9\xbe\xd5\x42\x9c\xd1\xb3\xf8\x37\xdc\x3d\xa3\xa4\x09\x55\x44\xf0\x8a\x9f\xe1\x27\xd5\x37\x86\xc1\x9a\xcc\x04\x96\x3a\xd9\xa1\xd6\xca\xca\x9b\x8c\xb0\xb7\xb0\x97\x99\x5d\x65\xa1\x8f\xc7\xd9\x81\xcb\x3b\xae\x52\xd7\x76\x1e\xdc\x6e\x00\x1b\xfb\x41\xde\xa3\x26\x0c\xec\x1b\x1b\xce\x02\x0b\x2b\xda\xdd\xa4\x41\xb9\xe5\x14\x2f\xdb\xa6\x39\xd3\xb8\x28\x2b\xcf\x52\x7a\x65\xab\x65\x73\xd9\xea\x0e\x90\x78\xa7\xcb\x76\x00\x53\x53\xb9\x1c\xf4\x3d\x28\x5e\xb5\x03\xd7\x10\xb6\x77\x6b\x5d\xf0\x0b\xe0\x8d\x87\xb0\x66\xf8\xb7\x94\xa0\x37\xda\xb3\xa0\x0e\xdd\x46\xf9\xa6\x4d\x17\xe3\xaf\x2d\x37\x6f\xdc\xc9\x74\x23\x7f\x36\x33\x5a\xc0\x4b\xff\x44\x3c\xf1\xf4\xa1\x2e\x0a\xcd\x63\x7d\x01\x42\xf2\xff\xe0\x78\xf7\x80\x24\x5b\x06\x1d\x33\x3f\xa4\x8f\x96\xb2\xb6\x4d\xd1\x3f\xf6\xf0\x8f\x1c\xe2\x4c\x14\xe0\xf8\xa4\xec\x56\x48\x85\xe9\xde\xad\xfa\x5e\x33\xc6\xf7\x32\x7f\x2c\x6f\x90\x83\x6e\xed\x6f\xdc\xda\xba\x67\x9f\xbb\xe1\x6a\x21\xc2\x30\xd4\xf6\x41\xb4\x76\xcf\x58\xab\x1b\x5c\xb5\x23\xb7\xd9\xa5\x34\x49\xf3\x7f\x0d\x8f\x12\xa2\x57\xb5\xe0\x7a\xd1\x18\xd6\x22\xcc\x45\x51\xe9\x4d\x73\xca\x89\x39\x70\x07\xf3\xdd\x8b\x52\xa9\x6c\x9c\xaf\x58\x92\x97\xcb\x74\x77\xcc\x93\x1b\xa1\xdd\x44\xbb\xa3\x1d\x8d\xb8\xdb\xe4\xb3\x10\x77\xba\xba\xa7\xdd\x79\x24\x69\x3f\xea\x53\x14\xff\x35\x28\xac\x3b\x63\x62\xff\x31\x57\x22\x65\x58\x01\xa1\xd7\x81\x14\xb4\xf7\x2b\x9d\x89\x31\xe1\x66\x37\x04\x7d\x0e\x91\xa4\x64\x01\xb8\x5b\x76\x05\x11\x6d\x4c\x1d\x9c\xd8\x13\x0f\x5d\x6d\x28\x7a\xfa\x58\xfc\xfa\x71\x32\xf5\x23\x64\x3e\x36\x9c\x21\x53\x36\x9c\x91\x12\x76\xad\x67\xa6\x3e\x71\x5f\xb7\xd7\xc8\x34\x66\x0b\x62\x7b\x6b\x7d\xfd\x94\xce\x9a\xe8\x53\x2b\x0c\xb9\xc2\x6e\x79\x05\xfc\xe6\xbe\xa2\x7d\xcf\x33\x7f\xdf\x88\xb0\xcb\x51\xba\x87\xd0\xf0\xe9\x60\xb7\x0a\xe6\x52\x70\x37\x9f\x80\xe1\x79\xd0\xc3\x2b\x03\x70\x6d\x53\xb3\x86\x62\xeb\x37\x75\x89\x37\x7b\x28\x9b\xb7\x79\xf0\xe7\xac\xcb\x60\x8b\x07\x8d\x5e\x53\x01\xa5\x3d\x18\xc2\x5f\xeb\x60\x76\x11\x5a\xb3\x2d\x77\x6d\x01\xc5\x9c\x2f\x3a\x0f\x6e\xfb\xa0\xa0\xf0\xa6\x69\xe9\x04\x35\xfb\xc4\x6e\xc8\x15\xe5\xb2\xd6\x12\x7f\xcd\xe1\x0b\xe1\xc6\xbf\x31\x89\x30\x41\xdf\x5c\x5f\xec\x9f\xbe\x10\x57\xeb\xfc\x4d\x8f\x5e\x58\xdb\xa3\xf5\x07\x2e\xd4\x77\x33\xae\x1f\xb8\xf0\xd1\x96\xf0\x07\xdb\xa6\xfa\x2b\x8c\x9b\x58\x62\xfd\x99\x0b\x17\x54\xf4\x8d\x5b\x3d\xd1\x6c\xbf\xd9\xba\xcd\xd3\xcf\x7f\x0b\x16\xa0\xea\xf2\x27\x9b\xf7\x81\x5e\x4b\x35\x5c\xb4\xbe\x79\xfb\xe7\x40\xb4\xe8\x01\x6f\xce\xfe\xd1\xf5\xe8\xb5\xf9\xca\xb7\x6e\xfe\xb5\x56\x3f\xc6\x9d\x4e\xa9\xc4\x7c\xdb\xe4\x25\xfc\xdf\x2c\x48\x5e\x2e\x36\x6c\x8c\xda\x79\x3c\x59\x6d\x35\x93\xa1\xec\x58\x08\x70\x57\xc9\x7f\x7c\x0c\x69\xf5\x6e\xcf\x3e\x71\xb1\xe2\x65\x13\x75\xc1\x8b\x0a\x81\xc8\x09\x6a\x3c\xc7\x43\x05\x05\x43\x3e\xc1\x6a\xfa\x45\x6f\xb7\x89\x05\xbe\xf6\xc4\xdc\x6d\x24\xc3\xbc\xf5\x2f\x23\x98\xc2\x65\x4a\x9b\x48\xf6\x28\x9a\xa9\x88\x68\xea\x51\x54\x53\x31\xd9\xc2\x4a\x22\xbd\xe6\xbd\x58\x27\x80\x4d\x5c\x65\xb2\x30\xd6\x5b\x1f\x0b\x9d\x6a\x78\x44\xb5\x8f\x83\x5d\x53\xf3\xa3\x84\xc4\xbd\xf9\x85\x5d\xd3\x8e\x1e\x85\x2d\xfa\x49\x12\xb1\xa8\x6a\xb9\x9d\xdf\xb4\xd8\xce\xbc\x48\x89\x2a\x58\x6b\xe7\x1f\xdf\x40\xc7\xee\x95\xe1\x16\xf6\xf0\x80\x2e\xce\x45\xc5\x66\x76\xfd\x7a\xe2\x8e\x1f\x92\xe6\xf0\x02\xb3\x09\x71\x46\xbb\x49\x05\x87\x0c\x60\x05\xea\x22\xc5\x99\x4b\xaf\x18\xc2\x3f\xdb\x6a\x2d\x77\xa8\x35\x12\xe5\xed\xdd\x5b\xd7\xf5\xe5\xf8\x07\x7b\xcc\x5c\x39\xfe\x01\xe7\x09\xdc\x4e\xdf\x31\x2b\x29\x51\xb5\xcb\xf1\x0f\x51\x63\x35\x6e\xb2\x52\xa7\xb9\x7e\x3d\x57\x35\x16\xeb\xdd\x88\xd5\x9e\x7e\x92\xaa\xc2\xa2\x06\x7e\x1f\x6b\x33\xd6\x2a\x3c\x39\x29\x1e\x98\x06\x65\xf0\x88\x11\x34\x7b\xbf\xd0\x66\xf9\xe1\x12\xdb\xc7\x99\x1a\x2c\xd8\xc3\x55\xc8\x7f\xfb\xe1\xd2\xdb\xa5\xfe\xc6\x11\x33\xad\x99\xad\xf9\xfe\xfe\x23\xe6\x0a\xd7\x6a\x02\xba\x6d\xcc\xe8\xd1\x06\xd8\xa6\x61\xb3\xb2\x87\x96\x6e\xe3\xe8\xad\x33\x7b\xbf\x0f\xdf\xa6\xe1\x6b\xb0\xbe\x8f\x1f\xc0\x18\xf8\xf1\x49\x9c\x8f\xd8\x91\x7f\x91\x44\xc3\x5d\x56\xa4\xe5\x5d\x0f\xbb\xf4\xee\x97\x67\x1b\x70\xa5\x44\x98\x70\xf8\x0d\xd9\x86\xd7\xc8\x21\xb5\x22\xb3\xe6\x54\x42\x3d\xfb\xd0\xd0\x17\x00\xd3\x97\x79\x9a\xbe\xbc\x15\x45\x65\x73\x0c\x2d\xfd\x68\xab\x6b\x76\xf7\x7d\x67\xd8\xe4\x7f\x31\xdd\x80\x7d\x6e\xaa\xdc\x08\xb2\x0d\x5e\x76\xc1\x26\x16\x46\x52\xf0\xed\x29\x85\xbd\x3d\xf6\xea\x25\x65\xb3\x55\x6d\xa7\x25\x77\x62\x1b\x32\x1b\x6e\x57\x03\x30\xf3\x45\xb5\xd2\x67\x33\xf4\xdc\xd6\x59\xb7\x66\xfa\x5d\xf4\x6c\x85\xf4\x97\xfe\xa9\x6f\xee\x7a\x87\x9d\xb1\x9d\x9d\xe7\x6e\xe1\xbf\x7b\xd4\xd6\x0d\x44\x8f\xba\x92\x6f\xff\xd1\xd2\xf9\x44\x57\xa2\xa7\x7d\x22\xca\x7a\x98\x77\x9d\x39\xdc\xf4\x2c\x9e\x6e\xe9\xcc\xbe\x78\xe3\xee\x24\xbf\x2e\xc1\x52\xfe\xb3\xa5\x56\x62\x46\xfb\xa7\xcf\xac\xc4\x1d\xfa\x3d\xb1\xf2\x88\xc4\x4a\x4c\xb4\xdf\xf3\x2a\x7f\xab\xbc\x4a\x4c\xd9\xc7\xa5\x55\xfc\x43\xaf\x6a\xc9\x02\x5c\x5c\x71\x23\x56\xde\x51\x5f\x34\x87\x79\x6b\x27\x2e\x89\x14\xb6\xea\xaa\x92\x2b\xaf\x2c\x95\x9a\xf5\xb4\xac\x3b\x66\x85\x31\xe0\xb0\x2a\x99\x31\x63\x5b\x74\xf1\x1c\x2d\x70\x48\x38\xf8\x80\x64\x19\x3c\x67\x0e\x17\xae\x99\x89\xc0\x8a\x2d\x0b\x84\xd0\xd5\x72\xb6\x6a\xd8\x63\x00\x2b\xbd\x68\x51\xa9\x50\x94\x90\xa8\xb1\xc3\xbf\x42\xd2\xe8\x11\xfc\xb0\x35\x65\xb4\xb6\xa4\x3e\xa3\x62\x49\xe5\x9d\x70\x0f\x06\xec\x0b\x32\x64\xbb\xbb\xfe\x7e\x03\x20\x11\x04\x6d\x4b\xd8\x1f\xcb\x69\xd1\x74\xf9\x5a\x56\x0b\x99\x0d\x0b\xcb\xb5\x79\x5e\xc3\x70\xcd\x2c\xf7\x1b\x99\x2e\x7c\xf3\x6d\x58\x14\xd8\x50\x51\x88\x04\xac\x6f\xbc\xf9\x58\xde\x95\xb7\x75\xc6\xfd\x3d\x6b\xf7\x4f\x99\xc9\x89\xe5\xf3\x17\x27\xed\x6a\xe9\x1c\x23\x44\xdd\xf8\x18\x40\x92\x82\xf5\x36\xf3\xb1\x16\xf3\xf7\x8c\xde\xff\x1e\x1f\x3c\x26\xa1\x17\x17\xd0\x97\xe3\x1f\x82\x88\xe1\x51\xcc\x61\x72\xbd\x9d\xfa\xf1\x67\xbf\x86\x47\x7e\xcf\x19\xfe\x1d\x78\xe2\x37\xa7\x0c\xeb\x9e\xdc\x6f\x1c\xdf\xdf\x93\x8b\x7f\xdf\x71\x0e\x37\x48\x95\x8d\x03\xdd\xb8\xd5\xa9\x5c\xad\x4d\x20\x34\xf1\x04\x97\xab\xab\xec\xfa\xb7\x89\xfe\xe3\xb2\x96\x73\x31\x2f\xe5\xea\x5f\x24\x6d\xf9\xaa\xd8\xa5\xfe\xb8\xac\xca\xaf\x29\x8e\x42\x78\x68\xef\x57\xa5\x2b\xbf\x21\x0c\x7e\x75\xbe\x72\xdd\xa1\x5e\xff\x90\xe9\x23\xea\xec\xbf\x52\xfe\xa8\xd6\xa3\xdf\x13\x48\x8f\x48\x20\xd5\xa8\xf6\x88\x0c\x12\x10\x4c\xd8\x44\x6e\xec\x35\x85\xf9\x6b\xad\x30\x85\x09\xe9\x7e\x72\x69\xde\x00\x10\xef\x77\xbd\x5c\xaf\x59\xd8\xf6\x60\x75\x69\x93\xbc\x85\xea\x34\x12\xdc\x5f\x9d\x1f\x6e\xcc\x10\x07\xab\xce\xbc\x29\x85\xae\x59\x7d\xf7\x7b\xfa\x6c\x13\x5f\xfd\xc6\xfc\x99\x3e\x3c\xfe\xf7\xbc\xd9\x3f\x5b\xde\x6c\x1d\x23\xfc\xe3\x25\xce\x34\x8b\xfd\x9e\x30\xfb\x3d\x61\xf6\xff\x42\xa2\xa4\x26\x98\xbf\xae\xcc\xcd\xed\xad\xd5\x2c\x4c\xf5\xab\x46\x42\xe2\x84\x9a\xdd\xaf\xcb\xf9\x16\x4d\x6e\x43\x7d\x8b\xae\x33\x42\xf1\x9f\xc0\x1d\xf8\x3d\x33\xf8\x0f\xc8\xf0\x8f\x49\x0d\xfa\x6c\xb9\x39\x53\xf8\xcb\x3d\x5d\x93\x31\x7c\xa8\xef\xca\xb6\x4e\x60\x6c\x92\xf1\x79\x83\xde\xfe\x3f\x61\xfb\xbf\x59\x26\xec\xf7\x4c\xe7\xdf\x94\xc7\x7f\x51\xaa\xd3\x3f\x31\xa0\xd9\xf1\xfe\x3d\xcd\xf9\x8f\x3d\xc8\x7f\xe3\x3c\x67\x23\x43\x50\x8e\xf3\xfa\xef\x98\xe3\xac\x84\xaa\x3e\xea\x3d\xc2\xfe\x45\x32\x9c\xff\x0e\x77\xe1\x25\xb7\x99\xb8\x63\xde\x4e\x2c\xcb\x22\xab\x18\x74\x18\xdc\xd7\x89\xe4\x73\x71\x57\xca\x1b\x1c\x24\x7f\xd3\x46\x5e\x58\x2f\x96\xfb\xd7\xe1\xc9\xf0\x14\x28\x78\x91\x39\xb5\x93\x36\xbc\x06\xde\x79\x2f\x54\xf5\x8d\x77\x6a\xa8\x14\x39\xb2\x1a\xe6\x59\xf1\x90\xb9\x11\x6d\xe3\x38\x2f\xe7\xfa\xbc\xa9\xac\x6a\x29\xdc\xbd\xd0\x6d\x0e\x83\x5b\x50\xaa\xac\x98\xe6\x82\xde\x43\xac\x8c\x90\x52\x70\x55\x16\x7c\x9c\xaf\x98\x9a\x73\x3a\xf5\xa9\x7d\xfe\xd7\xc1\x0d\xcb\xb3\x42\x80\x63\x04\xef\xa5\x46\x59\x5e\x56\x4c\x70\x95\x91\x80\x98\xc3\x8c\xcb\x42\x37\x8b\xfb\xcb\xe0\x36\x2d\xd0\x3f\x68\x69\xc6\x65\x21\x94\xa2\x5d\xe4\x33\x74\x36\xbc\x07\x95\xb8\x15\x45\xb0\x6b\x78\x99\xe7\xe5\x1d\x90\x54\x77\x90\xf6\x61\xd7\x0b\xda\xbd\xa3\xf0\x62\xda\xec\xd2\xe6\x06\x65\x59\xe9\x14\x34\x20\x2d\x8a\x4a\xae\x16\x65\x56\x90\xd8\xe3\x96\x69\x18\x6d\x08\x88\xcc\x96\x94\x4c\xae\x37\xd6\x7b\x5d\x4e\xd9\x2e\x7b\x5d\x4e\xa7\x00\x0d\x9c\x98\xd1\x92\xf8\x06\xd8\x77\xcb\xac\x12\x6c\x97\x8d\x0c\xb9\xcd\x6a\x7a\x33\xc0\x0d\xcf\xc0\x77\x7c\x44\x0f\x09\xc0\x6e\x00\x7d\xbb\x2c\xd8\x2e\xa3\x2b\xc4\x19\xe2\x5e\x24\x4b\xf3\x26\x8e\xba\x6c\xcb\x2b\xdf\x0a\xb5\xcc\x6b\x2f\x05\x39\x5b\xe6\x7a\xf3\x4e\xab\xf3\x81\x88\x7a\xdb\x10\x2d\x2a\x96\xd9\xd9\x4c\x64\x92\xcb\x64\xb6\x22\xb6\xb8\x11\x62\x21\xa4\xd9\x3d\x20\x2f\xa7\x6b\xf6\x4a\x69\xa0\x30\xe9\x7b\x78\xc4\xaa\xfa\xa6\x71\x70\xed\xa1\x10\xbd\x2e\xa7\xca\x9c\x17\xee\x49\xa3\x3e\x70\x08\x74\x5a\x39\x9f\x67\x55\x90\x33\xf5\xf9\x24\x4a\x90\xe6\xe5\xd4\xcb\x90\x03\x32\xe7\x16\xad\x9f\x7f\xc6\x05\xf0\x0d\x48\xe1\x86\xa1\xcd\x07\xa7\x1b\xd6\x32\x04\xb4\xe7\x96\xe3\x0d\xa3\x1b\xd7\x04\x02\xa8\x72\xef\xbd\x5d\x5b\xc8\x6e\x2e\x40\x12\xe8\x94\x74\x68\x44\x21\xc7\x29\x51\x2d\x17\xed\x4e\xd7\x10\x66\x21\x05\x9f\x8f\x73\xd1\xd6\x02\x8b\xa0\x09\x07\x11\xd2\x5b\x43\x39\x34\xe4\xb2\xe8\x31\xd2\x3a\x66\x9c\x95\x3e\x98\xdd\xf3\xe3\xe3\x8e\x3f\x45\xad\xdb\x63\xec\x15\xe8\x02\x51\x54\xff\x3f\x7b\xef\xbe\xdf\xb6\x91\x34\x88\xfe\xef\xa7\xe8\x78\x77\x43\x32\xa6\x78\xd3\xd5\x72\x94\x2c\x45\x49\x13\x6d\x7c\xdb\x48\x89\xcf\xf7\x39\x1e\xa7\x09\x34\x45\x44\x20\x1a\x83\x06\x24\x71\xc6\xde\xdf\x79\x8d\xf3\x7a\xe7\x49\xce\xaf\xab\xaa\x6f\x00\x28\x29\xc9\x64\x76\xbf\xdd\xe3\x3f\x2c\xa9\xd1\xd7\xea\xea\xea\xaa\xea\xba\x24\x85\x48\xd7\xac\xca\xcd\x7e\x78\xb3\xbb\x85\x87\x9e\xb2\x63\xf5\x8e\x90\x92\x02\x93\x90\x35\x77\xa5\x91\x9e\xdc\x60\x7d\x5d\x9d\x4d\x11\xf0\x48\xa9\xd2\xb6\x3b\xd4\x92\x22\xdf\x52\xa3\x7b\x22\xfc\xd9\xfd\xe2\x4a\xc9\x28\x71\x11\x32\x1b\x9b\x66\x59\x05\x4b\xb6\x67\x14\xc8\x77\xc5\xd7\x7e\x56\x76\x24\x71\xfa\xea\x84\x27\xb0\x3c\x2f\x64\x5e\x40\x5e\x3f\xb3\x98\x87\x80\x20\x33\x5a\xc6\xcc\x70\x27\x1e\x20\x4a\xfc\xd4\x43\x99\xc6\x3e\x52\xe8\x8b\x08\x0d\xdf\x01\xe5\xcc\xee\x33\x59\x95\x79\xd5\x38\x8f\x5e\x1c\x01\xc8\x32\x61\x0f\xe3\x99\xe1\xb6\x5a\xf9\x2f\x58\x94\x4b\x22\x0d\x31\x92\x41\xcb\x8d\x08\x26\x0d\x15\xc0\x08\xcd\xe6\x24\xf6\x6d\x3e\x30\x7d\xac\x28\x3f\x49\x3b\x0c\x5e\xc2\x09\xac\x1f\x51\x33\xa9\xf0\xa8\x9a\xd2\x8f\xee\xcc\xda\xd9\x7f\xfa\xe4\x85\x4a\xe8\xb1\x7f\xf8\x33\xd0\x05\x9f\xad\x8a\x83\x72\x66\xe9\x4e\x3a\x1d\x57\x0a\xd1\xbb\x5a\x0b\x2f\x4a\x1e\x5d\x9b\xd7\xc4\x46\x00\x31\x13\xf6\x4b\x02\x31\x5c\x09\xa5\xf8\x95\x08\x2f\x7a\x99\x41\x98\xe9\x85\x88\x4a\x15\xd4\x72\x61\xdd\x20\xd3\x25\x85\xa2\x36\x01\xe8\x93\x3b\x48\xc0\x5c\xa9\xe5\xe6\xdc\x15\xaa\x2c\x6c\x78\x66\x9c\x45\x5e\x60\x48\xe9\x52\xb2\x45\x55\x56\x85\x68\xcc\xab\x75\x13\x3c\x64\xd4\x23\xbe\xc5\xfe\x82\xf8\x13\x85\xb7\x1b\x3e\x64\xf0\x71\x51\x7f\x6f\x81\x66\xb3\xf6\xaf\x32\xc9\xba\x9d\x4e\xab\xd8\x51\x86\x49\x5e\x35\xd8\x00\x30\x34\x7d\x5a\xe6\xa3\x16\x21\xf3\xe6\x1a\x36\x2e\x40\xe6\xdd\x3f\x30\xf9\xff\x5e\x89\x4a\x68\xb2\xe8\x1f\x8c\xbc\x48\x30\xf7\x8e\x39\x21\x2e\x73\x10\x07\x46\x0b\x54\x9b\x14\x1b\x9d\x70\xb2\x6f\x9e\x19\xa1\x13\xfd\x1d\x56\x0f\x89\xd8\x7c\xa6\xc9\x55\x80\x34\x2b\x94\x9b\x00\x87\xa4\x7b\x83\x2e\x67\x8c\x86\xbe\x48\xf5\x0e\xf5\x98\x2c\xb0\x4e\x9a\x75\x7b\xc0\x38\x2a\x38\xe0\xa0\x99\xad\x31\x63\xfa\xdc\x2b\xf1\xb7\x0a\xa2\x00\x53\x8a\x64\x60\x28\x92\x8c\x5d\xbe\x7b\x83\xac\x22\x71\x0b\xba\x2b\xbd\x42\x9f\x5b\x83\xcd\x48\xb2\xb2\xdb\x59\x8a\x34\x95\x1a\x62\xf5\x0f\xac\x59\x98\x66\xdd\xce\xad\x2c\xd2\x18\x3f\xe9\xaf\xef\x96\x9a\xcf\xe4\xac\x5c\xe7\x10\x53\x50\x95\xfa\xde\xdb\x4a\x13\xc8\x4f\xa4\xe7\x6a\xa2\xb5\x9b\xe9\xe1\x88\x0c\xfa\xf9\x39\x23\x2f\x23\xcd\xb2\x3e\x81\x6c\x4b\x0a\xb2\x53\xb8\x7a\x3f\x67\xa6\xe6\x43\x87\xcc\x6d\x2e\x8f\xe3\xda\xd6\x3e\x88\x8f\x80\x0e\x6d\xe7\xc9\x85\x7c\x25\xc2\x14\xd8\xae\x58\x6a\xf5\xec\x48\x8f\xdf\x48\x24\x50\x27\x69\x01\x06\x3f\xb3\x4d\x7c\x74\x7d\x0b\x53\x21\x24\xf4\x70\x45\x33\x11\x80\x29\xc0\xb6\xbb\x08\xf9\x7f\x3a\x58\xd2\xec\x91\x80\x71\x2b\x26\x8c\x76\x39\x55\xfc\xeb\xa1\xdb\x04\x42\xed\xe9\x0e\x56\xc9\x33\x7b\xf0\x7c\x1a\xf9\x98\x69\x23\x98\x1a\x94\xc5\xe5\xa8\x08\xa7\xec\xb9\x85\x6d\x9a\xac\xa9\xbf\xe9\x9a\x6a\x3c\x40\x2b\xe2\x3f\xf5\x3d\x57\x16\x55\x54\xca\xc2\xbb\xb9\x21\x39\x2c\x26\x65\x5d\x8a\x22\x29\x41\x83\x03\xe7\xb4\x4d\x9a\x31\x3b\xfc\xa3\x12\x61\x7e\x32\x60\x01\x1a\xdc\x2e\xf1\xa3\x94\x1a\x0a\xf8\xc3\x30\x8b\xba\xee\x0b\xe3\x0b\xa6\x6b\x96\x64\x49\x49\xcf\x3b\xed\x93\xb5\x0a\x1a\xd7\xe1\xbf\xc9\x0a\x84\xf8\x72\x29\x40\x4b\xe3\x31\x5b\x96\x11\x06\x7c\x75\x4c\x30\x5b\x89\x72\x29\x63\x05\xd1\x2f\x45\xa4\xf7\xb2\x58\x43\x1d\xc0\x4a\xcb\x1c\x3f\xc1\xdc\x64\xc1\x80\x96\x6c\xdd\xf0\x82\xbd\x5a\x6b\xf8\x28\x8a\x86\xd5\x0a\xaf\x6e\x87\x2a\x39\x32\xc5\x4c\xbb\x50\x6d\x5d\xe5\x81\x39\x0b\xb2\xb3\x5f\x99\xd7\xc4\x0b\x51\x2a\xd2\xd9\x24\x7f\xc7\xdc\x66\x77\xf8\x6b\xb2\xd0\x87\x50\xdc\x25\xaa\x54\x36\x17\x59\x23\x19\xd0\x78\xe4\x75\x86\x51\x3f\xad\xdc\x64\x02\x77\x9b\x64\x3a\xd1\x5d\x9f\xfd\x43\xf7\x7d\xc8\xc6\xa3\xcf\x86\xf2\x7e\xbe\x6f\xfe\x06\xb8\xfe\x12\x90\x7e\xf6\x59\x63\x29\x72\x85\xf2\x80\x62\x5d\x2d\xe3\x33\x55\x45\x7a\x13\x16\x55\xaa\x49\xaf\xea\x01\xd3\xac\x92\x58\x6c\x09\xe0\x84\x10\xd1\xd2\x44\x95\x7d\xa6\xa4\xd7\x53\x21\x08\xe3\x92\x92\xcd\xc5\x42\x16\x64\x8a\xe3\x0b\xcd\xe6\x1c\x61\xdc\x77\xb0\xf2\xc2\xe2\x8d\x1a\x74\xbd\x72\xa7\x31\xa3\x1c\xf8\xae\x97\xf7\xc9\x07\x76\xc4\x12\xdb\xcf\xe7\x06\x78\x86\x43\x76\xcc\x55\x12\xb1\xba\x52\xc7\x86\xb7\xf5\x60\xc8\xe3\x58\xff\xd2\xed\xe4\x32\xdf\x42\x75\x5d\xa7\xff\x00\x10\xbd\xd9\x58\x86\xe4\x2b\xf7\xd1\xa4\xab\x4b\x20\x9d\xbe\x28\xf0\xe8\xf0\x24\xa5\x0c\x68\x7a\x2a\xc0\xff\xc3\x49\x54\xa5\xcc\xd9\x52\x14\x62\xe0\x7a\x20\xd1\x1f\x5b\x9f\xfe\xf7\xae\x1b\x0e\x67\xd8\xf7\x50\x71\x0b\x1f\x9c\xc3\xf1\xa7\x24\x1e\x55\x4a\xdf\xb3\x71\x12\xd1\x2e\x2d\xb9\x32\x22\xeb\x7c\x0d\xac\x83\x95\x3e\xf1\x50\x36\x27\xa1\xab\x77\x7b\x0e\xdc\xbd\x00\xd0\x17\x1c\xd2\xec\x35\xf4\x67\xf7\x82\x1a\x6a\x6f\xfd\x26\x80\x6b\x44\x51\x22\x5d\xd0\xbd\x19\x2e\x18\x1c\x68\x8d\x72\xba\x4e\xea\x4d\xa5\x36\xb8\xea\x1e\x43\xb8\x42\x49\x00\xd7\x66\xf3\x1a\x44\x02\xdc\x23\xf8\xbf\xe3\x49\xc9\xc6\xa3\xd1\x4a\xb9\x9c\x8e\x7a\xeb\x79\x51\xf0\x35\x23\x23\x0b\x4b\x4d\xf9\xb5\x53\xa2\x8a\x3b\x80\xa8\xb7\x0f\x2d\xe6\x03\x7d\xdd\x77\x6d\xd7\x1f\x44\x49\x83\x06\x70\xe3\x38\x11\x3a\x13\x22\x56\x8c\x67\x68\xdf\x39\xb1\x73\xf6\x52\xb7\xd7\xf0\x9a\xb4\x09\x36\x79\x60\x21\x20\xd9\x85\x06\xcb\x50\xa3\x39\x39\x7f\x67\x7d\x52\x2a\x7a\xd9\x39\x9d\x7c\x0a\xdd\xa1\xf6\x3f\x59\x09\x48\x74\xd4\xc4\xbd\x42\xb3\xb5\x0a\x96\xdf\x9d\xd0\x8a\x1b\x58\xe8\x98\xd9\x06\xdb\xa3\x6f\x80\xd7\x6d\xf1\x3e\xdd\xe5\xd8\xce\x43\xa0\xe6\xd0\x67\x75\x4c\x57\xa4\xef\x37\x37\xa2\xbe\x1f\x41\xec\xa7\x96\x16\x71\xcd\x8e\x78\xdf\x80\xe9\x73\x7f\xfa\x4f\x93\x76\xa2\x47\x6e\xd2\x14\x3d\xd5\xdc\x0e\x55\xde\x05\x75\x09\xbd\x10\xe8\x81\x37\xb5\xa3\xaf\x74\xde\x28\xbc\x67\x93\x95\xa0\xef\xb6\x7e\x9c\x28\x3e\x4f\xc5\xbd\x6d\xbc\x3a\xb6\xdd\x95\x28\xef\x6d\x43\xdf\xeb\xf5\x29\x15\xc8\xbd\x6d\x74\x1d\xdb\xae\xa4\x02\x67\x2e\x6c\x8b\x5f\xf1\xfc\xa3\xb5\x70\x80\x52\x7b\x37\xea\x62\xf6\xf1\x23\xfc\xfd\xf1\xe3\xe1\x86\xf1\x5c\x75\x7c\x8d\x6e\xaf\x65\xd8\x10\xa1\xc8\x4c\xb7\x94\x45\x90\xb8\x48\x17\x04\x1c\x20\x2c\x52\x2e\x36\xa8\xa6\x5d\x7f\x7d\xa3\xce\xa5\x17\xae\xa5\x58\xb3\x5b\xe1\xe9\xd7\x37\xa3\xa9\x37\x2b\x13\x42\x32\x50\x7b\x00\xae\x43\x6c\xf9\x7b\x39\xca\x4b\x77\x09\xe0\xa1\xcd\x13\x14\x50\x35\x6f\xe5\x0d\x61\x1e\xf8\xd6\x18\xe4\x1e\x18\x80\x7b\xa7\xe7\xd0\x30\xd0\x93\xbd\xc6\xa0\xe4\x42\x95\xa1\x0a\x09\x64\x09\x51\xcb\x19\x6d\xf6\xd8\x4f\x2c\xd5\x39\xa9\x20\x60\x7a\x49\xc7\x19\x23\x93\x77\xd8\x33\x66\x9a\x5b\xeb\x97\x12\xc7\xdf\xa4\x94\x24\x8d\xe4\x86\x59\x59\x3e\xdf\x4c\xe2\xbd\xa9\xf8\x81\x0e\x74\x50\x03\x30\x14\xd1\x43\xff\x59\x37\x58\x5e\x80\x34\xce\x19\x1d\xa4\xd8\xf2\x4a\x9b\xc0\x17\x9e\xca\xff\xb8\x20\xf4\xb5\x7c\x9d\x13\x7f\xf5\x6e\xc4\xc1\xa2\x4a\xd3\x66\xe2\x97\xbf\x88\xb2\x05\x7b\x01\x22\x26\x05\x9e\xbe\x73\xf4\xec\xff\x69\xd8\xdc\x76\x9f\x58\x98\xd6\xaf\x93\x58\xa8\xa4\xf0\xf6\xd2\x85\x76\x6e\x9b\xb4\x09\xf6\x0d\x77\x1b\xb5\x02\xc9\xc1\x86\xd8\x26\xa1\xe2\x96\x2b\x97\x1e\x80\xe1\x0b\xe9\x7d\xa8\xe2\x08\x71\x03\x4d\x02\xe5\xfc\x06\x6c\x6e\xc2\x3c\x23\x86\xa5\x85\x80\xa1\xe4\xd5\xaa\x99\xff\xd7\x90\x95\xf0\x16\xa9\x89\xf7\xf5\x85\xc2\xa1\x6c\x98\x83\xb9\xc0\xfa\x4c\xda\x07\x07\x14\x99\x0d\x5e\xf5\x59\x5e\x19\x26\x59\xb8\x2c\x04\x94\x37\x98\x24\x75\x30\x30\x97\x59\x29\xee\xca\x40\x1c\x44\x3d\x4d\x21\x57\xbe\x4c\xa8\x58\x9c\xc0\x54\xb5\xd0\xeb\x24\xc1\x27\x5e\xc6\x8d\x24\x2b\x45\x46\xea\xc4\xb9\xb0\x29\xc3\xed\xe3\x2d\xce\xb1\xa3\xac\x7c\x4d\xf0\x45\xee\x0a\x71\xc8\xa5\x45\x56\x96\xd1\x0c\x1e\x81\x92\x68\x09\x82\xde\x5c\x18\x99\x3d\x86\x1d\x28\x64\x75\xb5\x34\xba\x42\xb3\x2a\x7a\xe9\x63\xec\x4c\x16\x96\x45\xf5\x94\x88\xaf\xd6\xb5\x6b\xf4\x01\x89\xba\x26\xf2\xaa\x87\x64\x5e\xe2\x3b\xc3\xe9\x50\xea\xe0\x8e\x6e\xd6\x71\x7b\x53\x22\x26\x19\xf9\xc8\xe4\x96\x46\xa3\x12\xb3\x5d\x56\x30\x27\x31\xde\xcf\xde\x5e\x6b\x7b\x05\xd4\xa7\x45\xa2\xdf\xf4\x54\x18\xdd\xc1\x01\xaf\x4d\x56\x6f\x82\x7b\xd3\x1a\xb4\x35\xb4\x18\xe2\x5e\x19\xc9\xe8\x40\x23\xa0\x26\x38\x43\x3f\x27\x30\xd9\x20\xca\xcc\x87\x6a\x1b\x12\x93\xce\x18\xdb\x6a\x11\x41\xc4\x0c\xf3\xce\x13\x6c\x10\xc3\x16\xbe\xdd\x0e\xa6\x0d\x50\x7e\xd0\x7a\x93\x92\xa3\x86\x14\xf7\x9c\xd1\x00\x1d\xda\xd2\x0d\xeb\x6d\x37\xab\xae\x3b\x0c\x6b\x94\x0f\xbf\xe1\x0a\xdf\x5f\xeb\x7b\xb7\x0b\xdf\x35\x52\x7d\xcb\xa2\x3b\x5d\x76\x68\x6b\xbf\xbf\xfe\xd0\x4c\x41\x4c\xa4\x06\x7c\xda\xe8\xbc\xa0\x46\xdd\xc0\xb1\xca\x5b\x44\x03\xa3\xc7\x37\xdb\x5f\x0b\x64\x65\xa4\x36\x47\xe0\x38\xcb\xe4\x96\xcc\xf1\x95\xad\x76\x62\x51\xab\xfd\xb7\x2a\x29\x84\x62\x4a\xae\x04\xbb\x4e\xb2\x58\x77\x02\x9f\xb7\x6e\x93\x98\x74\x66\xa4\x09\x4f\xd0\xa4\x20\x4f\x39\xa6\x26\x88\xfd\xe7\x05\x78\xea\x5d\x90\x66\x18\xcc\xb6\x99\x2a\xf5\x55\x4e\xdb\xd4\x4a\xcd\x40\xf8\xc3\x6a\xb4\xf9\xba\x2b\x0e\x0a\xa0\x44\x83\x46\x33\x8a\x69\x4a\xfa\x21\x93\x5f\x0d\xa0\x01\x2b\xe2\xd9\xda\x7b\xc0\xf4\x94\x1a\xf8\xe6\x0c\xc7\xcb\x8d\x6b\x13\x9c\x20\x9a\xc5\x89\x8a\x78\x01\xcf\x67\x59\x4c\x6a\x4a\x99\x39\x34\x24\xaa\xaf\x71\xc0\x9c\xd3\x42\xac\x08\xfd\x03\xab\x9c\x69\x86\x1a\x2a\x26\xe8\xad\x4e\x56\x25\xfc\x6d\x36\xa4\x65\xf1\xa8\x0d\x99\x0b\x96\xc4\x62\x95\xcb\x52\x64\x78\x57\x7b\x24\xad\xaf\x0f\xc1\x5a\x56\x1d\x7c\xe7\xd3\xc3\x9e\xbc\x79\xc5\x32\x19\x53\x3a\x23\x16\xcb\xa8\x5a\x41\xd0\xfe\x95\x96\xda\x55\x55\x00\xc8\x16\x49\x81\x36\x35\xc8\x6c\xa3\x84\x2d\xd6\x1d\x48\x9c\x56\xda\xc7\xa3\x12\xf4\x3c\x8c\xc8\x19\x5c\x75\x7d\x63\x21\x57\x2e\xc5\x8a\x15\x1c\xa4\xf0\x72\xc9\x33\x44\x96\x0a\xfd\x16\x56\x61\x02\x23\xdd\x67\x24\xab\xac\xa4\xbd\x4e\x0a\xdc\x53\xcf\x0e\x8e\xc4\x87\xbc\x90\x73\x3e\xc7\x6c\xd8\xa9\x58\xe8\xf5\x2f\x35\xce\x81\x4d\x96\xde\x3e\xe2\x3f\xfc\xc4\x4f\x1a\xb8\x2e\x06\x9a\x23\x14\x7c\xae\xc5\x7c\xb7\x2b\xb1\xb3\x2e\xf1\xc9\xda\x1f\x21\x89\x8f\x22\x24\x2d\xf7\xca\xa3\x0f\x7a\x0c\xcf\xae\x5b\x88\x1e\x70\xe8\xff\x85\xa7\xdc\x1f\xf9\x71\x67\x1c\x38\x02\xf2\xbd\xa8\xc8\xd0\x04\x33\x55\x71\x36\xaf\xb2\x68\xa9\xbb\x9d\xcb\x24\x15\x45\x9e\x72\x63\x7a\x32\x2c\x05\x2f\x62\x79\x9b\x91\x2d\x5e\x86\xa7\x29\x51\x96\x71\x30\x5b\xae\xfe\x84\x3d\x6f\x37\x6f\xfa\x6c\x9e\xfd\x28\xd1\x8d\xfe\x35\xb0\xc3\x11\xac\xca\x23\xb9\x82\x54\xd1\x74\x9d\x59\x6e\xfa\x4f\xc3\xa6\x07\xf5\xe6\xbf\x09\xb1\xa4\x2a\x71\x7f\x35\xfc\xb7\xf4\x06\xfc\xff\xc8\xf5\x7f\x32\x72\x49\x55\x3e\x1a\xbb\x70\x78\x56\x88\xbc\x10\x4a\x5f\xa6\x90\x30\xd0\xb7\x07\x4c\x42\x11\x65\xd0\xc8\x4b\x68\xae\x4f\xd0\xf1\x17\xa5\xb5\xfc\xbb\x4f\x2b\x63\x85\x07\x80\x85\x7f\xc5\x88\x1b\x51\x58\xf3\x6c\xfb\x1a\x08\xf7\xf5\x7c\xcd\x96\x3c\x6b\x88\xc9\xad\x03\x91\x16\x76\x06\x86\x9f\x97\x21\x5b\x82\xd6\xa0\x8e\xc5\x6d\xf0\xb1\x83\x07\xa5\x70\xb4\xf6\x76\xb2\x78\xe2\x3d\x3f\xf4\xe1\x9e\x44\x7b\x56\x92\xe0\xfc\xdd\xa7\x49\x18\xad\x41\xd3\xfe\xaa\x1d\xd7\xfa\xb4\x55\xbd\xcf\x81\x8e\x23\xf0\xf3\x7c\xe2\x2c\xf5\xc8\x2c\x3e\xb4\x35\x84\xdb\x96\x59\x79\x8f\x5e\x64\x38\xfb\xc1\x58\x46\x10\xc7\x02\xc6\x82\x6e\xd6\x35\x9c\x6c\x0a\xdf\x8d\x73\xd3\x44\xd2\xba\x82\xc0\xed\xce\x46\xed\x0d\xf0\xde\x80\xa6\x8c\x48\xd9\x3d\x7b\x18\xbe\x4a\x83\x43\xe5\x57\xc3\x27\xbe\x9e\x1b\x51\xe1\xc8\xc3\x0b\x8c\xc2\xea\x0f\xb0\x61\x5b\x5b\x76\xb4\x65\x2b\xfd\x11\x2d\xb2\x1c\x85\x2a\xad\x60\x34\xca\x70\xd9\x32\xdc\x6f\x19\xca\xe8\xae\x82\xa5\x79\x2a\xfa\x67\xac\xf3\xde\x57\xad\xe9\x82\x0f\x1d\x13\x81\xb6\xee\x26\x0c\x66\x3d\x01\xd6\x0c\xfc\x35\xf9\x06\x76\xfe\xdf\x81\x8e\xe3\x14\x4c\x91\x45\x78\x9e\x7c\x45\x43\x64\x83\xf5\x36\xd5\x6b\x35\x5c\xec\xfb\x64\x85\xb7\xd9\x27\x90\x5d\x64\x0b\xa7\xaa\x97\x92\x94\x8f\x25\x1b\x8f\x26\xe9\x9b\x35\xa7\xfa\x77\xdf\x97\x23\x34\x57\xc5\xde\xc8\xc2\xcc\xfa\x1b\xeb\x3d\x40\x9d\x96\x66\xfe\xf3\x3c\x4d\x9c\x7d\x56\xce\x21\x78\xc0\xfd\x4a\xfc\x41\xf8\xe8\x63\x77\x68\xa0\x3b\x5b\xd3\xa8\x88\x0f\x7d\x2f\x89\x78\xcb\xbf\xf7\xe6\x92\xa0\x36\x64\x56\x3a\x88\xee\xc8\x3b\xcd\xfa\x3c\xdf\xf9\xd9\xfb\xc4\x9d\xdd\xad\x16\x85\x1d\x82\x15\x8a\x8c\xe9\xaa\x49\xe4\xe7\x19\xbd\xb8\x47\x4e\x63\xe4\x05\x04\xa3\xe0\x09\x50\x28\x2f\x38\x32\x6a\x6d\xc5\x9d\x9f\x26\x59\xdc\x0d\x54\x69\x9d\x62\xea\xa5\xfe\xec\xc0\x15\x29\x4c\x84\x1c\x0c\x6b\xda\x90\x19\xdf\xcf\x59\xa7\xd7\xbb\x27\x03\x72\x6b\xdb\x5e\xcd\x6b\x3b\x58\x9f\x79\xdf\xd4\xcb\xfb\x68\x36\xe7\x6c\x7a\xfe\xf2\xf4\xa4\xcf\x16\x3c\x55\xa2\x19\xbd\xf8\x47\x62\x92\xa2\xa5\x94\x4a\xd4\x8c\xfb\xd1\x05\xa4\xca\x50\x5c\xf3\x65\x74\x95\x26\x57\xcb\x32\x5d\xb3\x95\x84\xb4\xc0\xd9\x8d\xc8\x12\x91\x95\xcd\x8b\x15\x6f\x6c\x25\x36\xda\x00\x6d\x30\xc6\xee\xf6\x1e\x38\x54\x9f\xfd\x87\x47\x4b\xc2\xad\xf3\x4a\x8b\x16\xd7\xdc\x39\xe6\x54\x6f\x60\x95\xa6\xf6\x52\x0a\xec\xe1\xc1\xd9\xc4\x9c\x51\x65\xae\x3a\x8f\xd7\xf4\x6e\x48\x0d\xc4\xfb\x95\x95\xb2\x00\x23\x86\x9b\x24\xae\x78\xea\x19\x08\x6d\x3e\xfc\x35\x03\xf5\xd6\x07\xda\xe0\x0a\xf0\x40\x50\x77\x4b\xb0\x5a\xb4\xe6\xcd\xe2\xe5\xfd\xf7\xdf\x75\xfd\xce\x2f\x96\xb2\x28\xa3\xca\xd9\x97\x86\xbd\x77\x14\xd9\xdf\xf9\x5d\xa3\xaf\x83\xd7\xa5\x2e\x69\x5e\x5b\xd6\x3e\x9e\xb6\xe0\x71\xe6\xff\xa1\x03\x02\xf6\xb6\x94\xb7\x56\x5e\x00\x03\x70\x30\x14\xb3\x8e\x07\x1b\x3c\x0e\xe8\x25\x34\x9c\x7b\x74\xc7\x8e\x34\x62\x7c\xfa\x64\x1c\x7b\xc3\x8b\x9d\xde\x43\x3d\x17\x08\xd0\x96\x88\x0c\xf4\x19\x60\x24\xb0\xe0\x49\x5a\x15\x8d\x9e\x4d\xb1\xcb\x93\xf7\xa8\x9e\x11\x23\x6b\x7d\xe5\xc1\x73\x69\x1d\xae\x90\xb9\xd9\x07\xb0\x2a\x79\x01\xc6\xf2\xb2\x60\x59\xa5\x6f\xb3\x05\x59\xd3\x64\x9d\x12\xc3\x75\x50\x15\xb6\x86\xec\xa1\x01\xd3\xa3\xbf\x9c\x70\xb0\x27\xd0\x8d\x37\x0c\x98\x64\x6c\x95\xa4\x69\xa2\x44\x24\xb3\x58\x59\x25\x92\x9b\x45\x29\xe5\xb5\x6f\x9a\xe1\x4f\x07\x3b\x73\x73\xb2\xe1\x89\x5a\x26\x14\x57\x05\x8a\x9e\x9b\xe6\xe3\xd9\x75\x87\x57\x6f\x00\x80\x60\x6e\x34\x2c\x41\x01\xbb\xd2\x23\x33\x76\x9e\x39\xaf\xcd\x58\x94\xfa\x02\x07\x61\xd2\x6c\xa7\x93\x54\x81\x57\x48\x05\x24\xd8\xb6\xe1\x51\x4a\x70\x56\x63\xf0\x16\xe1\x7c\x3c\x02\x8c\xc3\xd0\x3e\xc4\xaf\xb4\xad\xe9\x75\xb5\x9a\xa3\x68\xb9\xe2\x77\xc9\xaa\x5a\x39\x14\x63\xe1\x49\x72\x16\x59\xb7\xe6\x15\x81\x65\xd8\x3a\xa1\xb3\x52\x08\x1e\x2d\xf1\x88\x2c\xd8\x48\x03\xc4\xf9\x52\x38\x45\xa8\xb9\x1a\x94\x20\x37\x3f\x52\xa8\x2a\x3d\x4c\x9f\x89\x1b\x91\xd1\x96\x2d\x50\x8c\xd7\x33\xaa\x2d\x6c\xc5\xef\xce\x1c\xce\x8f\x6a\xfb\x54\x54\x02\x77\xc1\xf3\x1c\x62\xf8\x6c\x24\x78\x91\xae\xd9\x5c\x44\xbc\x42\xf7\x4c\x9e\xb1\x2a\x13\x77\x39\x4e\x45\xe3\x57\xd2\xc2\x9d\xe7\x3c\x4b\x22\x4d\x36\xf5\xed\x67\xf8\x52\x63\xc0\x60\xcc\x6f\x03\xea\xeb\x28\x21\x18\xd6\xdb\x14\x96\xde\x9d\x09\x84\x1f\x5f\x1e\x88\xfc\x3b\x97\x29\x04\x4e\xb7\x87\x72\x92\x6f\x9e\xe4\x54\xd0\xc8\x47\xea\x9e\xe0\x0d\x07\xa1\x79\x2f\xe1\xf7\x2e\xc9\xe9\xcb\x97\x1f\x2f\x4f\x2f\x2e\x2f\xe8\xe5\xfa\x02\x44\xc8\x6e\xe7\x6b\x9e\xa6\xa0\x2c\x51\xdf\x74\x7a\x75\x7b\x09\x5f\xe6\xf6\xc9\xe7\x46\xb9\xbf\x39\x2e\xce\xb3\xed\x2d\xd6\xf3\x6b\x70\x60\x6b\x58\x0b\x3c\x76\x84\x86\x99\x12\x86\xc7\xf2\x44\x3a\x99\x97\x1f\x73\x5e\x96\xa2\xc8\x5c\xd4\x05\x2a\x20\xdf\x1c\xf3\xd7\xa7\x4f\x38\x2f\x0b\x34\x93\x60\x02\xc7\x9a\x81\xbe\x19\xf0\xd0\x59\x04\xd0\xeb\xab\x27\xef\x78\xcf\xb2\x64\xf4\x6d\x5f\x74\x7e\x45\x43\xcf\x5f\xd9\xd7\xb6\xad\x75\x90\xfe\xd5\x39\x48\x7b\xd6\x06\xa6\xda\xfb\x5f\x29\x88\xd0\x70\xc8\x5e\x4b\x83\x24\xb7\xa2\x53\x68\x6e\x42\xa3\xe5\xd3\x2f\x8e\x8e\x9e\xfa\xea\x73\x5d\xf2\x94\x29\xe9\x57\x5d\x69\xae\x19\xf4\x0c\xd8\x95\xde\x5a\x87\x22\x88\x1c\x96\xd2\xf9\x7d\xd9\x57\xaf\xac\x54\x46\xad\xe2\x72\x7f\x20\x97\x6b\xc0\xf8\xc5\xd1\x51\x0d\x8e\x21\x37\x6c\xea\x79\xcc\xf0\x0f\xe2\xea\xf4\x2e\xf7\xb9\x61\x30\x4f\xa7\x9a\x80\x28\x80\x1d\x56\x9a\xed\xf5\x3c\x01\x42\x4f\x2c\xc9\xbc\x18\x45\xc8\x1e\x1b\x23\x10\x27\x02\x7f\x71\xc4\x02\x54\xd8\xd0\xdc\x67\x96\xe9\x9d\xd6\x60\xb3\xc1\x51\xc0\x32\x87\x15\xcf\x9e\xd5\x73\x79\x7b\x1f\x6b\xaf\xee\x29\x3e\xd7\x64\xc0\xd5\x01\x43\x8c\xe7\xbc\x94\xec\x0a\x21\x6e\xfc\x3e\xc8\x23\xd1\x35\x33\x62\xb8\xe2\x64\xc0\x4c\xed\xf5\x0e\x49\xf0\x99\x06\xdf\x6a\x79\xbb\xc9\x82\xe3\x13\x02\xfa\xb3\x3d\x00\x6f\xe9\x67\x15\x10\xa4\xc0\x59\x17\xc8\xfc\x3d\x94\xa5\xef\xd1\x2a\x5e\x84\x24\xca\x34\x37\xce\x46\x7d\xf4\x2f\xb3\x14\x05\x39\x9f\x3b\x1e\x81\x70\xa0\x91\x53\xc0\x15\xd1\xde\x07\x4e\xde\xf4\x01\x03\x1a\x84\x86\x2e\xf1\xbb\xf3\x51\xb3\x30\x30\xb6\x28\x49\x46\xa6\x27\x99\xbd\x0f\x79\x8c\x37\x01\x37\x4b\x80\x29\x81\xd6\x0f\xb9\x1a\x61\xbd\xd4\x9d\xe9\x26\x5c\x39\x9e\x5c\xf0\x78\x8a\xf8\xd6\x12\x1e\x4b\xb1\x1a\xc4\xa9\x41\x6d\x36\x84\x57\x78\xd0\x42\xaf\x25\xf6\x82\xdf\xf7\xb3\x23\x1f\xbb\xd1\x59\xe0\xa1\x3e\xdf\x27\x1f\x1e\x10\xdd\xe9\x9f\x59\x55\x10\xd0\xe1\x0b\x6f\xf8\xc0\x46\x34\x70\xaa\x7a\x2d\xfd\xcd\x15\x31\x4d\x1a\x8c\x4d\x8b\xa4\x14\x45\xc2\x51\xf4\x6e\x8c\xf1\xc0\xd9\xfb\x4e\xca\x6b\x11\x93\x50\x40\x19\x9f\x64\x26\x8a\x42\x16\xc6\x0d\xd9\xf3\xb9\x4d\x3c\xb6\x0d\xb5\x0d\x56\xf2\x47\xc7\x0c\x20\xab\xa0\xe3\x71\x96\x13\x57\x92\x55\x59\xc4\xab\xab\xe5\x3d\x8a\x99\x10\x31\x64\xf6\x23\xb5\x38\x35\xfd\x7f\x6c\xdc\x68\xe4\xef\xd3\x87\x48\x06\x7d\x70\x87\xd2\x00\x24\xb8\x1a\x6f\x20\x13\x5c\xb4\x63\x7a\x7c\x8c\x0e\xa4\xd3\x63\x47\x47\x6c\xc4\x3e\x7d\xa2\x8d\x6d\xf4\xa6\x4a\x5e\x56\xea\x90\xf8\x96\x4e\x8f\x22\x95\x7a\x6a\x23\xe2\x5f\x79\x68\x20\xae\x09\x1c\x15\x68\xe6\xae\xdb\x23\x9d\x5e\x21\x57\x8c\xbb\xa0\xab\x8c\xbd\xd3\x97\x93\xe9\xcc\x3c\x15\x5f\x49\xf2\xd4\x8a\x05\x4f\x51\x2c\x4f\xca\xba\x6a\x3f\x54\x62\xe0\x00\xee\x72\xe3\x56\x6f\x93\x94\x30\x0c\x70\x60\x8a\x2f\xb4\x6c\xa8\xfe\x56\x89\x34\x22\x8b\x2d\x44\x02\xe7\x55\xc5\x9c\x05\x55\x81\x37\x83\x43\xe2\x26\xcf\xdd\xf0\x9c\xf2\x36\x05\xa2\xfc\xd9\xfd\x00\xf5\x67\xa3\xfd\xc0\x70\xa6\xa7\x7a\x1a\xaf\xb0\xe1\xc7\x5e\xa8\x97\x23\x91\x6e\xc5\xd7\x60\xb1\x0e\x31\x60\xf4\xe2\x90\xb7\x5d\xf2\x2c\x4e\x35\xe7\x6b\x5f\x99\x6a\x90\x32\x0a\x54\x37\x4f\x5a\x93\xa6\x2a\xc0\xeb\x1f\xb1\x0e\x9e\x82\x8e\x0b\x89\xd9\x9c\x2a\x22\x83\xcd\x29\x16\x7e\x7c\x7b\xfa\xfa\xe4\xfc\xf5\x5f\x10\x1e\xa6\x53\xf0\x14\xee\x04\x1e\x65\xee\xb0\x5b\xc8\xb8\x89\x6b\x18\x41\xdb\x67\xac\xe3\xb8\x6d\x38\xf2\x6d\xa4\xa7\x65\x1a\x75\x4b\xca\x96\x81\xcd\xee\x3c\x63\x9d\x3e\x8c\x08\x21\x42\x9e\xb1\xce\xa1\xfe\x03\xce\x97\x9b\x71\xd8\x7b\x88\x73\x2d\x15\xea\x4a\x34\x47\x99\x48\xb0\x68\x3a\xfc\x6b\x82\x64\xe5\x2d\x5f\xa6\x0c\xc3\xec\xd6\xed\x09\xc9\xd1\x14\xa2\x19\x6f\x15\x55\xa6\x58\x52\x82\x93\x08\x0f\xa2\xfd\xf4\x03\x62\x96\x8a\xd2\xbc\xa9\x9c\xbc\x79\xa5\x25\xd6\x79\x92\x26\x7f\x47\xc5\x88\x5a\xca\xa2\xdc\x2a\x45\xb1\x02\xa1\x5c\x56\x65\xe0\x0c\x61\xbc\x9c\x62\x11\xa5\xbc\xf0\xde\x94\x3c\x55\x8c\x73\x9b\xf0\x19\x90\xb9\x94\xa9\xe0\x19\xfa\xf2\xab\xeb\x24\x27\x97\x0e\x30\x05\x29\x2a\x41\x9e\x41\x54\xa8\x79\x80\xeb\x24\xcf\xc9\x52\xa6\xfe\x70\x05\xf4\xd9\x83\x4d\xe0\x02\x4a\xba\x36\xd2\xbf\x03\xb3\x60\xde\x77\x81\xf4\x68\x52\x92\x84\x26\x63\xf7\xc7\x3e\x68\xa3\xd9\xb5\x18\x08\x4d\x8a\x5d\x5b\xa6\xe7\x74\xd9\xfa\xc5\x3d\x81\x24\x86\x17\x81\xa3\x0e\x9c\x08\xd8\xad\x80\x13\xec\x95\x28\x30\xea\x8b\xf5\x88\x19\x0c\x06\x7d\x36\xea\x81\x62\x62\xc5\xd7\x73\x4b\x47\x73\xb8\xec\x48\x85\xa2\x37\x1a\x9e\x4f\x6f\xf9\xda\xf3\xb8\x2c\x8b\xe4\x0a\xf4\x9f\x20\x8f\x97\x64\xc8\x23\x4c\x2b\x91\xc5\xa6\x37\x1b\xe2\xa8\x04\xef\x1b\x25\xd9\xad\x80\x64\x80\xe8\xd8\xac\x28\x1e\x37\x3e\xb2\x2b\x51\x96\xa9\x60\xf0\x46\x4e\x08\x23\xab\xc2\x74\x85\x2b\x8c\x34\x36\x54\x39\xd8\x50\x86\x3e\x3e\x18\x20\xae\x01\xe1\x30\x1c\x62\x1f\x90\x86\x38\xf1\x1a\x45\xab\xeb\x78\xba\x5a\xf2\x3d\xe1\xa5\xe8\xf6\x7a\x6c\xab\xa6\x93\xaa\xd1\x25\xe3\x8a\xdf\x6d\x27\x1b\x9d\xcf\x8e\x84\xe7\x3e\x97\x05\xc4\x0a\x2f\xc8\xfe\xbd\x94\xca\x2a\x5e\xbc\x76\x68\x86\xa4\xdb\xdd\xd3\x70\xa5\x2e\xe5\x05\xaa\xc6\x88\xea\x98\x25\xf6\x36\xcc\xb5\xe3\x91\x30\x55\xad\x56\xbc\x48\xfe\x2e\x48\x26\xad\xb1\x3f\x9e\xd2\xa8\xae\xdb\x6d\x6e\x05\x6e\xc2\x3d\x49\x2f\x37\xbc\xa4\x19\x63\x38\x2f\xb8\x49\x23\x6c\xc9\xef\x7e\x13\x43\x7b\x5e\x4d\x31\x7f\xad\x54\xe9\x1e\x8c\x1b\x41\xca\x1f\x3a\xd9\x38\x52\x5b\x70\x93\xf6\x67\x33\xff\x59\xcb\x59\x3c\x74\x37\xbd\x53\xb5\x5d\x81\x56\x31\xe5\x25\xde\xcc\x98\xed\x6b\xe3\xd5\xc7\xbc\xa7\xa5\x6f\x99\xfd\xf5\x90\x89\x3b\xf3\x58\x14\xe8\xb5\x02\x5e\xe6\x71\x38\x6f\x30\xbe\x08\x6e\x7f\x73\x6b\x36\x27\xd5\x44\x55\x6a\xb9\x01\x59\x7d\xe7\x78\x4d\x1d\xc3\x71\x8e\x8e\x58\xf0\x30\x15\x00\xd1\x9e\x24\x50\x1e\xd1\xe6\x78\xab\xa6\x4b\xd9\xa8\x88\x10\xc1\x03\xed\xc0\xa6\xc1\xde\x4e\x2f\x2e\x6a\x83\xe5\x9e\xd3\x93\x37\x54\x33\xbe\x41\x6d\x6b\xaf\x33\x4d\x04\x09\x55\x0d\x23\xed\x01\x34\x60\x55\x80\xff\xd8\xbc\xd9\xc1\x74\x03\xd2\xf7\xd0\x36\x17\x55\xf6\x5a\xdc\x95\xc4\x25\xff\x53\x4e\xae\x3b\x6f\xc4\xb0\x3f\xf1\x34\xd4\x31\xb9\x44\x3a\xb7\x4a\xfa\x42\x77\xac\xff\x04\x5f\x29\x8c\x08\x42\xfa\x4f\x7d\xa5\x40\xdc\xb0\x79\x75\x75\xb5\x76\xa6\x99\xe6\x41\xc6\xd8\x73\xd2\x08\x20\xb4\x3d\xb1\xc1\x32\x98\xcc\x98\xb8\xd3\x72\x02\x72\x0d\x19\xe3\x57\x3c\xc9\x48\xe6\xc8\x42\x37\x5d\x3f\xed\x03\xbe\x55\xc2\x95\xcb\x53\x05\x2f\x79\x20\x5f\x70\x25\xdc\x43\x44\xca\x15\x84\x30\xf1\x79\x6a\xa8\x01\x7a\x66\x7d\x07\xea\x7b\x16\xf3\x52\xe8\x0e\x11\x46\x74\xc9\x92\xb5\x9a\xbd\x68\x21\xae\x93\x0d\xa2\x83\x6c\x0d\x46\x4b\xb0\xf6\xb1\x58\xf9\x09\x44\xaa\xd3\xec\x7d\xe1\xc0\x6a\x14\xf8\x20\x63\x69\x31\x40\xa1\x1c\x50\xe7\xa6\x9d\xc3\x35\xdc\xf8\xba\x2f\xf0\x50\x05\xbf\xf7\x72\x09\xae\x0e\xe4\x16\x6d\x04\xaf\x06\xc7\x79\x9e\x81\xd5\x33\x5a\x14\x15\x62\xcb\xec\xa5\x93\x97\xa7\x2f\xdf\x4d\xff\xed\x82\xad\xe4\x8d\x50\xe0\xf3\x6a\x5e\x3f\xcd\x2c\xf3\x24\x6d\x70\x84\x7f\x06\x89\x6f\xd8\x4a\xa5\xbc\x14\x17\x78\xbe\x31\xfe\x07\xfc\x1a\x3e\x2d\xf1\xb2\x14\xab\x9c\xa2\xd1\x14\x22\x92\x45\x1c\xbc\x00\xc3\xeb\x14\x2f\x36\x3b\x1f\x6d\xbe\x46\x7e\x10\x6d\x17\x89\x77\x6f\xf4\xbd\x19\x86\x11\xa4\x1c\x15\x79\xc9\x4b\x27\xe9\xda\x08\x5a\xbf\x93\x8c\x78\xc3\x99\x17\x8e\x19\xb9\x27\xc3\x2e\xa7\xde\x60\x20\x46\x9a\x3d\xc4\x37\x1b\x7c\xf8\x83\x70\x8b\xb1\xac\xe6\xa9\xd8\xca\x41\xcd\x0e\x66\xd7\xd8\x1d\x7d\x5e\x25\xaa\x52\x81\xbf\xb1\x46\x98\xe9\xdb\x73\x93\x2d\x1a\xf4\x0b\x36\x0c\x0c\xd2\x57\xa3\x73\xf0\x48\x2c\x24\x47\x81\xaa\xdf\x1c\xb1\x51\x1b\x51\x36\x91\xe7\x75\x25\x17\x7d\xfe\xfe\x3b\x22\x4c\xca\x8c\x46\x0b\x2c\x83\x67\x7c\x32\x35\xd4\x05\x7f\xab\x44\xb5\xc1\x41\xba\xb9\xe7\x3e\x91\x6d\x8f\xb7\xe2\x51\xe9\x4f\x9f\xd8\x17\xf5\x47\x10\xe4\x08\x7b\x0d\xba\xde\xe4\x85\xbd\x0b\xb3\xf1\x50\xf6\xe5\x97\xed\x8c\xe6\x37\x47\x8d\x47\xb5\xcd\x3c\xc9\xab\xf0\x99\x90\x6c\xed\xe9\xe5\xaf\x8f\x76\xab\x7e\xb0\xca\x41\xa7\xe5\x3e\x6a\x9f\x37\xdd\x4b\xc3\x21\x7b\x2b\xc4\xb5\x11\x35\x4a\x99\x63\x67\xe0\x48\x80\xca\x1a\x13\x39\x17\xdf\x4b\x0b\xcc\x59\x40\xf2\x04\x22\xd9\x5c\x56\x25\xf6\x85\x04\xb5\xef\xbd\x77\x50\x7c\xdd\x38\x51\x65\x55\xcc\x61\x90\x24\xb3\xa7\x88\xb8\x4f\xbd\x2a\x13\x18\x4a\x77\x43\xd4\x99\x7a\x40\x5f\x7e\x1c\xb0\xa8\x32\xb0\xee\x03\xeb\xe1\xe0\x89\x26\xdc\xc5\xf7\xa3\x0f\xf6\xd9\x88\x38\x8f\x96\x47\xda\x6f\xdb\x14\x0b\x58\xff\xd0\x63\xc5\x2d\x93\x89\xda\x53\xf8\xae\x31\xa7\x1b\x3a\x76\xd0\xa3\xbf\x67\x5d\xd8\xab\xc5\xdb\x0e\x36\xf7\xdc\x44\xb9\x01\x51\x52\xb7\xf1\x1c\x50\xdb\x2c\xf7\xac\x1d\x91\x59\x91\x09\xaf\xe3\xd5\xee\xd6\xe5\x86\xbe\x31\x87\xf0\x83\x7b\x37\xf9\x61\x8a\xa9\x50\x8b\x1d\x89\x8e\x35\xf4\x6a\x95\xc9\x12\x69\x8f\x55\x09\x6a\xc0\xd0\x15\xea\x6c\x6c\x36\xa0\xb2\xd5\xaa\x1a\x1d\x2f\x0c\x80\x2b\xfe\x7d\xec\x33\xbb\x1f\xbd\x9b\xf2\xa8\xdd\xc6\x3a\x6f\x7d\xd9\xee\xfc\x0b\x42\xe1\x3f\x3a\xfe\x1c\xa0\x91\x0d\x76\xd7\xed\x30\xd6\xe9\xf9\xf1\x11\x1a\x36\x00\x2d\x6e\xca\xf8\x91\x1c\x95\xd1\x0c\x8f\xf9\xef\x59\x64\xbd\x4d\x51\x8a\x9a\xdd\xfa\x3b\x1a\x9a\xfa\x11\x01\x53\xcb\x64\x51\xfe\x51\xc9\xc7\x04\x04\xd5\x18\x61\x26\xf3\x87\x25\xa0\x16\x39\xa7\x55\xba\x0f\x81\xfa\x4f\xde\xf8\xf0\xb4\x17\x55\xb6\x11\x54\xc3\x21\xf3\x6b\x19\x5d\x16\xd6\x03\xc8\xb8\xb7\x08\x64\x75\x29\xcd\xd3\x0a\x59\xaf\xc0\x80\xc8\xe5\x82\xb9\x92\x25\x38\x1f\x40\x5c\x92\x95\xe0\x18\xca\xb9\x80\x77\xc3\xb2\x80\xeb\xdc\xdc\x7c\x65\x3d\x78\xf4\xa6\xe3\xf5\xe0\x1e\x16\x55\xf6\x27\x08\xb0\x2d\xb7\xb7\x7d\xaa\xf3\x0d\xa1\xac\x62\xc1\x0b\xfa\x14\xa8\xd0\xab\xac\xa1\x2c\x55\x10\x26\x9a\x45\x3c\x03\xd7\x35\xa5\x2a\x32\x87\x42\xb5\xa3\x2f\xe8\x78\x5a\x5b\x6b\xbb\xec\x71\xf1\x99\x2a\x05\x8f\xfb\xa0\x18\x42\xfd\x9b\x6f\xe1\x8c\xae\x87\xc6\x04\x59\x2f\xdc\x1a\xfd\xdc\xaf\xfd\xb5\x9d\x80\x12\x2f\x95\x57\xe4\x42\x82\xcf\xc6\x35\x07\x12\xc6\x15\xba\xc3\x2d\x79\x9e\x6b\x06\x8e\x78\xf3\x27\x18\x09\xd1\xfa\xb6\x92\x04\xb8\xd9\x0e\x70\xc0\xd8\xf1\xda\x3a\xf1\x90\xcd\x12\xf9\x48\x9b\xc0\x06\x7d\x62\xd2\xc9\xd2\xe5\x26\x11\xb7\xc2\xc6\x34\x6f\x09\x89\x2c\x17\x68\x6b\x35\x2f\xe4\xad\x12\x85\xf2\xdd\x85\xa8\x8c\x9c\x35\x13\x05\xc6\x53\xc5\xca\x9f\x2c\x08\x64\xc6\x4e\x05\x03\x07\xbf\x13\xe8\x3d\x8e\x8f\xba\xe8\xf7\x47\x9c\x80\x44\x31\x06\x15\x8f\x96\x53\xa0\xad\xd6\x97\x69\x8e\xb1\xbe\xac\x1b\xe9\x22\x74\x11\xec\x33\x74\xcb\x4c\x05\xa7\xf8\x9f\x66\x8a\x28\x38\x2d\x40\x05\x9b\x19\x13\x4d\x34\x8e\xb0\xfe\x3f\xd6\x7a\x2f\xc9\x36\x44\x2f\x66\xb2\x68\x5e\x84\x7e\xbc\xdc\x27\x10\xab\x8e\x1c\xb6\x60\xef\xd1\xc0\xa9\x66\x24\x87\xec\xd9\x6f\x60\x5b\x37\xc4\x1d\x0d\xce\xf9\x0f\xc4\xff\x58\xf5\x67\x83\x71\xb5\xef\x35\x10\xd4\xb6\x53\x53\x26\xb5\xdd\x5d\x0d\x25\x24\x91\xd7\xe6\x83\xa8\xa7\xfc\x7d\xd1\x6a\x56\x68\x35\xbc\x2f\x1e\xa1\xf3\x38\x93\xc5\x8a\x97\xa1\xb5\x21\x57\x9a\xd6\x45\x64\x0b\x40\xa5\x8f\x85\xa1\xaf\xf0\xf2\x81\xb9\x52\xfe\xb3\x7e\xa4\xd8\x11\xeb\xae\x14\x1b\xb2\xf1\x68\x34\xea\x0d\x4a\x79\x96\xdc\x89\xb8\x3b\x81\x59\xdb\xd7\xeb\x08\x14\x6c\x2a\x8c\xa4\xf8\x92\x4e\xb9\xc9\xe3\x67\x54\x4a\xa0\xd7\x5d\x3f\xda\x0a\xc1\xa8\x81\xef\x11\x50\x6a\x82\xc3\x83\x09\x5f\x6a\xf5\xdb\xd2\xbd\x04\x98\x84\xaa\xbc\x43\x87\x49\xa6\x83\xf7\xc9\x87\x96\xa7\x3b\x2f\x8f\x98\x9d\x62\x53\x68\xda\xc8\x63\x5c\xba\xf7\x7c\x43\x4c\x0f\xef\x45\xe2\xf6\x7b\xca\x61\x36\x78\x15\x43\xd4\x2f\x2b\xf6\x84\xd7\x11\x2a\x10\x88\x0a\x1b\x0d\xc6\x22\xb4\xab\x6b\xf1\x5d\x33\x76\xf0\x22\x6e\x1a\x23\xf4\x81\x4a\x21\x17\xe0\x27\x0d\x01\x17\x6c\x8a\x16\x2b\x29\x3e\x86\xe7\x74\x39\x75\x46\x56\xf6\x01\x07\xdd\x95\x9c\xcf\x55\x02\x14\x43\x0b\x76\x24\x7f\x99\xa7\x30\x50\xb8\x51\x76\x0a\xf6\x95\xf3\x8f\x8c\x63\x2f\x26\xb4\x67\x1d\x08\xd4\xdf\x29\x50\x68\xf2\x2e\x26\x1a\xf9\x67\x53\x04\x0a\xd0\xbb\x98\xd8\x80\x14\x36\xd2\xc6\xef\xb4\x8c\xc4\x56\x5e\x48\xb9\x60\xb7\x85\xbe\xba\xc8\x34\xde\x68\xed\x40\x95\x45\x93\x7d\xf0\xf9\x80\x4e\x02\x7a\x01\x68\x86\x41\x5f\x30\xc6\x4e\xde\x79\x9b\x85\x6e\x00\xc1\x13\xa1\x4b\x46\x70\xaf\xbb\x1f\x79\xfb\x41\xff\xa8\x79\x0e\x3c\xc3\x8c\x2a\x0e\x0d\x1e\x8c\x02\x2b\x75\xc6\x5d\x76\x24\x63\xfd\x75\xef\x92\x70\x3d\xce\x82\x17\xe5\xa5\xfb\x3b\x6c\x92\x09\x2b\x34\xd4\xc3\xb8\x87\x52\x42\xd3\x67\xe0\x21\x00\xd6\x20\x57\x77\x1e\x40\x1f\x05\xfa\xad\x69\x84\xfd\x00\xf8\xee\x5f\x66\xc3\xe9\xce\x18\x69\x6e\xf0\x22\xf8\x8d\x5d\x7a\xe6\x99\x1b\xac\xd9\x6f\x85\xb5\x88\x87\xf7\xf3\x34\xb5\x81\x44\x8d\xe6\xcf\x33\x25\xbf\x15\x70\xa6\x3d\x0b\xf2\x3f\xc3\x86\xfe\x5f\x66\x3f\x6f\x2e\x29\x52\xb7\x06\x8e\xa9\xad\xe8\x60\x9e\x60\xf0\x2f\x32\x23\x31\xfa\xc9\x69\x16\xda\xe7\xd4\x56\x05\x1a\x78\x08\x1c\x49\x72\x48\x29\xd9\x95\xc8\x44\xc1\xc1\x0a\x01\xbb\x6c\xb5\xb0\xb1\xf3\xf7\x23\x4e\x4b\x8a\x03\x42\x79\xee\x8c\x07\x22\x4d\xf1\xbe\x13\xe4\xdd\xb3\xb4\x02\x76\xc4\x3a\x64\x37\xde\x79\xf1\x70\x2b\xbc\x19\x99\x6e\x85\xbf\x3e\xa6\x11\x3e\x56\x41\x23\x32\xd0\xf2\xfd\x1f\x8d\x44\x06\xe1\xce\xb2\xf6\xb7\x57\xd6\x05\xf9\x44\x16\xc0\xa3\xf6\x80\x8a\x8b\x0c\x22\x7b\x64\x12\x4d\x4c\xe5\xc2\xc4\x23\x41\xf5\xa8\xda\x6c\x0c\xde\x62\x62\xb6\xf1\x11\x15\xf8\x34\x43\x7d\xf0\x97\x76\xfb\xef\x96\x4e\x3d\x10\x94\x92\x4c\x97\x37\x85\xc1\xea\x3c\xa2\x3f\x8f\x2b\x68\x57\xaa\x13\x63\xd0\xe9\x07\xef\x78\x7e\x03\x2c\xf7\xd3\xaf\x5c\xe8\x63\xeb\xbd\x34\xdc\x4b\x1f\x1f\x83\x58\xad\xdc\x7a\x23\x36\xec\x23\x59\x64\x58\x60\x41\x09\x49\x6a\x2a\x65\xf7\x28\xea\x1f\x49\xf6\xe5\x97\x46\x6f\x8d\xd6\x1a\xb5\x08\xf0\x01\xd7\x15\x27\x31\x85\x47\xc5\x50\xdb\xe4\x05\xc1\xb3\xd8\xfb\x04\x31\xe0\xc8\x8e\x39\x59\x89\x41\xa0\xf5\x6a\x31\xb5\x7a\xc8\x43\xd1\x59\xc2\xd5\x48\x86\xa1\x3f\x48\x09\x54\x8d\x4a\x78\xa6\x55\x14\x24\x07\x53\x19\xf1\xa8\xb4\x41\xe3\x9d\xc1\xa7\x66\x47\xe0\x05\x63\x83\x5c\x0b\x89\x6f\x56\x49\x56\x61\xf4\x09\xdf\xfe\xcf\xa5\x85\x78\xe2\xdf\x3f\x40\xc4\x20\xa0\xec\x57\x99\x2c\xbf\x62\xbc\x2a\xe5\x8a\x97\x64\xdd\x05\x0c\x14\x79\x1c\x85\xeb\x4a\x6c\x80\x3c\xcf\x81\xec\x91\xb8\x84\x90\xf0\x29\xe2\xe6\x24\x1a\x9b\xe8\x27\x04\xed\xf7\x45\x2b\x1b\x17\xb6\x99\xc9\x46\xef\xaf\x32\x71\x6e\x1f\x31\x3f\x99\x91\x49\x50\xcb\x73\x4a\x80\x83\xfe\x3d\x54\x47\xe0\x2f\x42\x04\x6e\x0f\x72\x1f\xe2\xad\x8b\xc7\xeb\x09\xb1\x8f\x40\x45\x0f\x0c\x61\xac\x61\xee\xed\x31\x46\x1b\xb6\xf8\x5e\x8f\x34\xac\x1b\x1f\xe3\x8b\x83\xdf\x8a\x74\x4a\xa0\xb7\xc3\xcc\xcd\x10\x71\x98\x7b\xfc\xb5\xc7\x55\xf8\xa7\x0a\xe8\x36\x0d\x14\x4b\xa6\x64\x90\xdc\xa3\x7c\x20\x8e\x31\xce\xc4\x58\xe6\xe9\xb3\x03\x71\x57\x12\xf7\x9a\x0c\xa9\x13\x75\x33\x8c\xbb\xc1\xad\x09\x1f\x49\x75\x98\x48\x19\x9f\x15\x6d\xc7\xca\x46\xbc\xca\x64\x69\x15\x44\x56\x30\x00\x51\x62\x5e\x91\x91\x1a\x28\xe1\x4c\x1c\x76\x63\x20\xe7\xe4\x2a\xdf\x11\x1e\x8e\x54\x68\x2b\x0b\x26\xc7\x5e\x18\xe5\x9a\xcb\x84\x8d\x31\x83\x32\x15\x67\x0b\x71\xcb\x52\xbe\x16\x05\xa8\xb6\x64\x68\x4a\xc9\xa6\x6f\xcf\x81\x70\x48\x13\x27\xd0\x97\xcc\x28\x03\x11\x66\xf0\x88\x04\xcb\x45\x81\x5d\x59\x69\x82\x67\x4c\xa8\x32\x59\x91\x76\x69\x29\x6f\x59\x2a\xb3\x2b\x14\xbf\x6c\x00\x6f\x34\xcd\xd3\xa2\x5d\x0b\x72\x18\x71\x00\x7c\x19\x56\xca\x77\xed\xf3\x19\x3f\x1b\x5c\xf3\xb1\xf7\x8a\x07\xa1\x16\x05\x86\x93\xbc\x0d\xd9\x87\x73\x04\xce\x8a\x81\xdd\x9e\xfd\xee\xd9\x92\xb9\x53\xda\x62\xe5\x47\x1f\x03\xeb\xbe\x95\xaa\x67\xdc\xc9\x4d\x9c\x1c\xef\x65\x5a\x1a\x04\xde\x9c\xf4\xa3\xfe\xee\xef\xab\x46\x6d\x7c\xf6\x56\x0b\x55\x0c\x0f\x6b\xf3\x4c\xd1\x37\x6b\xa4\x92\x5d\x69\xca\x06\x96\x2d\x9a\x85\x76\x21\x4a\x4b\x49\x91\x65\x4b\x92\x8f\x2c\x0f\x64\x85\xda\x47\xee\x48\x40\x70\x42\xc2\xac\xd7\xd2\x77\xd3\xac\x6d\x51\xfb\xcd\x1d\xdc\xd3\x8f\x37\x8e\x64\xac\xce\xa1\x1b\x26\x27\x7c\x01\xfa\xa1\xca\x1a\xb6\x73\x4e\x5f\xd7\x34\x93\xaa\xb7\x71\x86\x12\xe6\x7d\xca\x59\x39\x59\xdd\x0f\x2f\xae\x20\xf6\x9c\x7d\xd3\xfe\x9a\x4d\xd8\xa7\x4f\x1e\x24\x68\x00\xbd\x01\x9b\x5f\xc0\x02\xb6\xaf\xc5\x98\x71\x0a\x7a\x09\x22\xdd\x19\xe5\x2c\x32\xb9\xe8\x95\xf5\x57\x12\x7f\x03\x4d\xaf\x24\x4e\x81\x84\x0f\xa8\x16\x30\x14\x95\xa2\xc4\x88\x1e\x9f\xd0\x39\x3a\x3a\xea\x30\x99\x6b\xf6\x03\x9c\xfb\x9d\x79\x36\x06\xa0\x82\x48\xdc\x91\x14\x45\xe4\x99\x4c\x91\x55\xd0\xc6\x9c\x0a\x7a\x76\x2b\x5e\x5c\x1b\x52\x6c\x5e\xef\x31\xd8\xa0\xbf\x6a\xf0\x27\xf5\xac\x0d\x15\x09\x08\xf5\xa3\xf4\xd5\x67\xb3\x7c\x88\x11\x80\xbf\xae\x04\xd7\xc2\x81\xb7\x56\xbf\xbe\x85\x84\x8b\xb8\x69\x8a\x5a\x2d\x74\xf4\xe6\x41\xe0\x99\x69\xa6\x7f\xc7\xf3\x06\x05\x46\xe5\x94\xc4\x22\x2b\x93\xc5\x3a\x30\xca\x71\x40\xf0\x5e\xac\x9a\xe9\xdd\xcc\x55\x65\x38\xba\x45\x92\x8a\xc3\x34\xc9\xac\xf6\xc5\x38\x92\x68\x76\xe5\x5e\xfd\x88\x77\x34\x4d\xfa\x84\x86\x4d\x0f\x02\xa8\x6f\x17\xdc\xb7\xab\x23\xed\xc9\x90\xfd\x58\x26\x69\x52\xae\x83\x87\xa0\xbc\x10\x65\xb9\x36\xf1\x37\x29\x1c\x82\x9f\x73\x66\xc5\x4b\xca\x67\xef\xd9\x03\xe8\xa9\xc8\x05\x81\xf8\xe8\x88\x75\xd0\xab\xad\x13\x06\x35\xc1\xef\x74\x5c\x41\x50\x28\x0b\x76\x64\x1c\x81\x4d\x92\x7c\xf3\x91\x17\x6b\x64\xea\xc0\xa8\xa6\xc4\xb8\x23\x83\x15\xcf\x6d\x02\x70\xd6\xd5\x93\x30\x9d\xd7\x52\x88\x8b\x1e\x26\x26\x60\xe6\xbc\xae\xad\xf5\x09\x1b\x3b\x9d\xb0\xcb\xa3\x40\xac\xf5\x92\x2b\x7d\x5e\x21\x51\x57\x1f\x35\x20\x7a\xe3\xe4\x62\xc1\xf4\x06\x97\x8a\x69\xe1\x15\x92\x40\xd1\xb3\x8d\xeb\x09\x2c\x41\x5c\xda\x57\x4d\x36\xc1\x03\xf0\x8a\x27\x99\x16\xb9\xc8\x00\x91\x46\x02\xb1\xcb\x0c\x35\x08\x21\xa5\x17\xcb\x9e\x41\xda\x62\x17\x74\x85\x54\xd0\x61\xc4\x15\x23\xd1\xb4\xd5\x0c\x08\x16\x1e\x98\xa3\xa3\x23\x8b\x12\x0d\x06\x54\x83\x3d\xc3\xa8\x49\xf6\x28\x7c\x4b\x91\x92\x6c\x01\x44\x4a\x62\x87\x90\x5e\xc9\x0f\x07\xd1\xed\x18\x5c\xd4\xd5\x33\xdf\xf8\x0b\x2b\x5d\x89\x12\x2c\x3c\x8b\x97\x32\xe2\x98\xc4\x69\xdc\x6b\x37\x10\x23\x3c\xc3\x39\x43\x1d\x70\xe5\x05\xe7\x18\xfc\x64\xd7\x70\x0f\xbd\x74\x74\xb2\x2c\xfe\x14\x42\x88\x01\x1a\x3c\x21\xcd\xdc\xcd\x38\xf0\x2f\x7a\xd8\x5f\x30\x4e\x16\x18\x0c\x81\xd5\xe5\xd3\xb2\xa8\x12\xb5\x7c\x1a\x92\xe7\x7f\x3d\x3d\xb5\x3c\xc6\x6f\xa2\xaa\xff\xe1\x49\x65\x90\x40\x9c\x68\x64\x48\x19\x6b\xa7\x05\x9c\x3b\xfe\x94\x93\xf2\xc7\xcf\x09\x91\x4e\x3a\x27\x75\x4e\xd5\x58\x62\x00\xf8\x20\x9d\x00\x90\x2d\x60\x56\x4d\xba\x21\xb4\x72\x00\xd3\x8a\xe6\x01\xe1\x2c\x4e\x8a\x72\xcd\x96\xe8\x1b\x79\x5e\x22\x2a\xa9\x20\xf6\x54\x1f\x6d\x41\x40\x14\xc3\x94\xba\xe2\x8e\xaf\x34\x4d\x33\x7a\x3a\x1c\xc3\xc6\x04\xb7\x7b\x17\x9a\x07\xb7\x4a\x15\x30\xb1\x73\x30\xb9\xbc\xb4\x3d\x41\x21\xbe\xef\xe8\x25\x0e\x18\x1b\x99\xe0\x9a\xf4\x09\xa8\x32\x3d\x69\x90\x57\x9b\x73\x55\xeb\xb3\x31\x04\x76\x2f\x29\xe6\x5a\x81\xb3\x56\x92\xd1\xa9\xb6\x4e\xda\x06\xd9\xa7\x86\x64\xd3\xd4\x91\x06\xb1\xa7\x01\x5c\xf1\xca\x7b\xfa\x48\x64\x6c\x6e\xb2\x8f\x98\x6e\xd9\x75\x17\x0f\xc7\x50\x82\xfa\x63\xa3\xd9\x8e\x46\x50\x04\xc6\x91\x35\x66\xf1\x2f\xd2\xf7\x1e\x64\x9f\xb1\xc9\x87\xfa\xbd\x8b\x18\x01\x6e\xcf\xdd\x61\xf7\xfd\x5f\x87\x1f\x9e\x1d\xfe\x1c\x3f\xeb\xe9\xff\x7e\xee\x7d\xfb\x9f\x87\xa1\x91\xa5\x6e\xf4\xad\xfe\xff\xfd\xf8\x83\xc6\xf8\x6f\xbf\xfd\xb6\xd3\x50\x88\xbd\xa3\x34\xb8\x56\x11\x26\xfd\x77\xc9\x8d\xa9\x0f\x1b\xb0\x6b\xc9\x7e\x48\x5d\xd6\x22\x7a\x68\xae\xbe\xc5\xd3\x32\x3c\x27\xaf\x78\x71\x1d\x1a\x57\x10\x12\xeb\x5b\xbf\x2a\xbd\xd7\xd3\x76\x19\x5f\x23\x16\x8a\xc9\xb0\x35\x35\x62\x1c\x9e\x13\x8c\x8f\xe1\xbf\x9d\x1b\x8b\x11\x55\xca\x7c\x93\xf0\xa8\x09\x8a\x81\x99\x15\x03\x3d\x20\x3e\x26\x7f\x64\x03\x88\xa0\x54\xa9\xa5\x10\x0e\xa0\xd8\x26\xe5\xf4\x9a\xfa\x55\xbf\x9d\xe7\xa6\xba\x59\x45\x45\xce\x72\xcd\x1d\x30\xb1\x68\xfe\x27\xef\xc0\x63\x10\x10\x83\x66\xb6\xe9\x01\x5b\x16\x8e\xaf\x22\xfe\xc2\x87\x43\x76\xf1\xe6\xc7\x1f\x66\xa7\xec\xec\xfc\xe5\x29\xa4\x41\x8a\x65\x39\xfc\x55\x0d\xd3\x64\xfe\xb1\x2a\x17\x07\x83\x5f\xd5\x13\x30\x87\xcf\xd7\x45\xa2\xc9\x64\x37\xea\xb1\xc9\x68\x3c\x01\x32\x38\x5b\x16\x72\x95\x54\x2b\xf6\xe6\x82\x4d\xab\x72\x29\x0b\x35\x60\xd3\x34\x65\x50\x17\xd4\xf8\xa2\xb8\xd1\x42\x8e\xe6\xf2\x95\x7b\x71\x57\xb2\x2a\x22\x41\xc1\x82\x15\xbb\x92\x37\xa2\xc8\x4c\xd0\xc9\xe3\x8b\x93\x2d\x55\xae\x53\xc1\xd2\x24\x12\x99\xf1\x36\xa1\x77\xf7\xe1\x10\x73\x9e\x98\x8b\xfb\xe5\xf9\xec\xf4\xf5\xc5\x29\xdc\x2d\x83\x27\x4f\x3a\x95\x42\x16\x3a\x2a\xe1\xd1\x67\xc8\x2e\xdf\x9c\xbc\xe9\xc6\xfc\x26\x89\xe7\x22\xeb\x1d\xb2\x77\xc6\xa0\x8c\x68\xa9\xc8\x22\x19\x93\x1d\x3e\xd0\x63\x13\x8a\x59\xc4\xfd\x27\x90\xd0\x90\x22\x25\xe3\xf6\x52\x4c\xd5\x0c\xdd\x72\x92\x6c\xcb\x18\x3c\x85\x21\x9c\xf5\x92\x75\xeb\x65\x59\xe6\x87\xc3\xe1\x6d\x72\x9d\x0c\x6e\x97\xbc\xbc\xbd\x1a\xc8\xe2\x0a\xfe\x1e\xe2\xad\x79\x4a\xe3\x7b\xb5\xe3\x9b\x48\x0d\x6e\xb7\xa1\xe6\xf2\x6a\x68\x66\x38\x2c\xf8\xed\x96\x5e\xe7\xb0\x4c\xf2\xe1\x9b\x1b\x51\xdc\x24\xe2\x76\xb0\x2c\x57\xa9\x63\x3c\xd1\xa8\x60\x51\xa5\xec\xc7\xcb\xb3\xad\x03\x16\x0b\x0d\x65\x8f\x37\xf9\xf1\xf2\xec\xe0\x04\x0b\x9b\xb8\x43\x1e\xb7\x2e\x18\xc8\x7c\x5d\x0a\x85\xde\xb6\x04\x70\xfb\x90\x49\xe9\x85\xed\x7b\x22\x54\x7d\xa9\x6b\x52\x40\x20\xea\x2c\x01\x9b\x85\xab\x42\x40\x4c\xd8\x58\xb0\x5c\x26\x99\x66\x55\x35\xd0\x71\x7a\x31\x04\xd9\x77\x1d\x7c\xc3\x46\x03\x87\xc9\xb1\x78\x2b\x93\xac\xde\x6d\x2a\x6f\x45\xc1\xe6\x80\x0b\x32\xf3\xf4\xa0\x6e\x8c\x7b\x7a\x85\xd6\xc7\xd0\x18\xba\x0d\xf2\x31\x45\x10\xdb\x9f\x23\x9f\x4c\x60\xe4\x25\xef\xb3\x92\x5f\x83\xc1\x7b\xa6\xa9\x5d\x84\xb6\xf2\x68\x18\x07\xde\x54\x79\x21\x6e\x12\x59\x01\xc3\xa1\x1b\x50\xb6\x63\xb8\xf6\x6d\x0a\x15\x44\x38\x51\xd4\xa9\xec\x85\x97\x97\x17\x1a\x43\x9c\x07\x5d\xb5\xef\x22\x40\x1b\xb6\xdb\x89\x0b\x86\xbf\xb8\xf0\x84\x39\xd4\x9d\x6a\x30\x54\x59\xd2\x88\x1f\xad\x01\xc2\xe6\xa2\xbc\x15\x22\x63\xa3\xbb\xd1\xc8\xcb\xc0\x37\xba\x3b\x3b\x0b\x79\x0f\x33\x2d\x88\x56\xae\xa7\x45\x3b\x46\x40\xf0\x05\x17\x0d\xa9\xf1\x9e\x0b\x82\xd4\x44\x38\x8f\x76\x61\x37\xad\xaf\x2b\xfa\xf6\x2f\x44\x69\x93\xb9\xb7\x99\x59\x69\x79\xbc\xc5\xb8\x0a\xb2\x3e\x92\xb8\x1e\x2d\x79\x31\x93\xb1\x98\x96\xdd\xc4\x93\xc0\xeb\xb8\xea\x79\xd0\x60\x85\x88\x7d\x7d\xc4\x46\x77\xfb\x67\x61\x28\xd2\x92\x72\x38\x43\xbf\x5e\x9f\x81\xfb\xe4\xe8\x6e\x36\xd2\xcd\x23\xf6\xe5\x97\x8c\x3a\x3a\x09\x3a\x6a\xe0\x74\xc4\xb6\x98\x6e\xf6\x22\xac\xe2\x9f\xa6\x71\xed\x5b\x88\xbc\x77\x07\xa3\xd6\x99\x9c\x36\x66\x72\xfa\x98\x99\x9c\xde\x37\x93\xc9\x43\x33\x69\x9f\xca\x59\x63\x2a\x67\xfb\x8f\x98\xca\xd9\x7d\x53\xd9\xbe\x7f\x2a\xe3\xd1\x68\xd3\x64\x0e\x1a\x93\x39\x7e\xcc\x64\x0e\xee\x99\xcc\xce\xfd\x93\x99\x8c\x36\xcf\x66\xd6\x98\xcd\xc9\x63\x66\x33\xbb\x67\x36\xbb\xf7\xcf\x66\x67\xd4\x36\x9d\x06\xae\x77\x7e\xae\x16\x8b\x45\xdc\xa9\x05\x01\x0b\x6b\xe3\x22\x0e\x1a\xfb\x7b\xdc\x44\x35\x3b\xc3\xad\xad\x17\x9b\x97\xd7\xad\x95\x7c\xfd\x35\xdb\xd3\x52\x67\x17\xd7\x7d\x30\xea\xb9\xc6\x0f\x1e\x67\x86\xfa\xb0\xbf\xc8\x12\xec\xcc\xbd\xa4\xf8\x03\x36\x83\x04\xac\xc6\x77\x0f\x23\x60\xe0\x75\x02\xfe\x03\x61\x0f\x8b\x24\x2d\xf5\x85\x58\x95\x4c\x55\x45\x21\xaf\xf0\xed\x2e\x29\xac\xc2\x8c\x19\xea\xe3\xad\x25\x5c\xca\x0b\xaf\x26\xd0\x19\xb7\xc6\xfa\x36\xd5\x0c\x2e\x3f\x7d\xd2\x40\x3e\x39\x18\x21\x98\x6d\x3b\x0d\x6e\xd7\x09\xd2\x9a\xb3\xb3\x5e\xb3\xb5\xab\xf5\x0d\x1c\x8d\x33\x5d\x2d\x80\xd2\xc6\x5d\x6f\xc5\x10\x82\x0a\xb0\x2e\x42\xdf\x48\x44\xfa\x4d\xbe\xca\xaa\xcc\xab\x72\x10\x54\xaf\xaf\x98\x4e\x68\x7d\x16\x76\x1e\x78\xef\x0c\xf4\xbd\x3a\x23\x42\xee\xda\xf7\x5e\x04\x8d\x5a\xe7\x87\xa9\x88\x83\xcd\x1a\xd4\x2a\xb8\xf9\x6c\x35\x48\xc6\x23\xa6\xd3\x30\x8b\xa5\x3d\x7a\xc6\xba\xde\x52\xbf\xf9\xe6\x1b\x36\x1e\xf5\xd8\x97\x6c\x74\xb7\x7d\x76\xd6\x6b\x06\x0b\x1b\xdd\x9d\xcc\xb0\x99\xb7\xb5\x54\xbb\xbe\xd2\x27\x6d\xbf\x7f\xde\x74\x92\x35\xab\x24\x25\x3c\xe0\x22\x23\x97\x64\x6c\x55\xa5\x65\xb2\x05\x4c\x80\x3b\x0c\x3f\x88\xdb\x24\x8b\x89\x5f\xc1\x50\x26\x7e\x27\xe8\x2d\x90\x4a\x32\xac\x07\xa7\x50\xdd\xc3\xe0\x21\x9a\xb1\x89\x35\x24\x9c\x70\x94\xe0\xb3\xa7\x29\xb6\xd2\x7c\x21\xca\x56\xce\xcc\xb1\x64\x03\x2f\xd0\x96\x0d\xa2\x1d\x89\x30\x3b\x3d\x1a\x5c\x80\x5c\x26\x2c\x6b\x96\x38\xef\x6e\x08\x48\xf0\x7f\x0c\x3b\x86\x0d\x34\x53\xe6\x33\x5f\x5a\xd8\x0b\xec\xc3\xba\xe6\xb1\xd0\x63\xdf\xba\xbd\x1e\x35\xc7\xfa\x61\x62\x81\xcc\xb0\xcd\xc1\xc0\x38\x31\xd8\x31\x2b\x28\xd7\x24\xb2\x13\x88\x9c\x03\xee\x47\xdc\x89\x2f\x37\xa2\x50\x7e\x2e\x1c\x23\x04\x3a\xdf\x7f\x5d\x3b\x38\xdf\x0c\x14\x4b\x40\x85\x6e\x31\x5b\x82\xfa\x96\xbd\xc3\xe8\x85\x79\x2e\x32\xa5\xa9\x10\x84\x46\xb8\x16\xeb\x1c\x04\x12\xf4\x6e\x45\x13\x26\x30\x77\x20\xe3\x5a\x98\x8b\xe6\xf4\x78\x44\x84\x1f\x52\x89\x69\xec\x3f\x7e\xf5\xf6\xdb\x7b\x90\xe5\xd2\x89\x96\x60\x34\xa8\xa1\xb2\x79\x0f\x7d\x21\x14\xb1\x09\x40\xd5\xdf\x84\x57\xfe\x9b\x0d\x1e\xe9\x1a\x32\x5a\x3c\x53\x28\x93\x10\x46\x59\x54\x42\x24\xc0\xf1\xea\x48\xf0\xcf\xe0\xc0\xf5\x75\x0b\xc9\x11\xab\x2c\x81\xb9\x78\x22\x1f\x29\x51\x74\xcb\xc7\x72\xeb\x44\x1b\x1b\x2c\xb5\x7f\x7f\x45\xc0\xd5\x9c\x9d\x9d\x9d\x04\x2f\x53\xd4\xfc\xa0\xa5\xf9\xb1\xdf\x1c\xbc\xe9\x9f\x8d\x83\x25\xf9\xd7\x92\x9e\x65\xdc\x32\xcb\x67\xe3\x1a\x2b\xe2\xe6\x1a\xeb\xc1\xe2\xb6\xb9\x12\x88\x2e\x6e\x21\x28\x69\x03\x83\xfd\x1b\x2a\x72\x7c\x2c\x5e\x29\xf6\x52\xd0\x4c\x91\xbe\x52\x9e\xb1\x6e\x6c\x0b\x03\xf6\x02\xa3\xaf\x6e\xb8\x15\x9a\x10\xbb\xf7\x12\x69\x56\x0e\xc2\xc1\x3a\x3e\x20\xd2\x27\xcf\x9c\x74\x02\x9c\xa5\xfc\x6e\x4b\x5b\xe4\xab\xfb\xa4\xab\x30\x16\xad\xb7\xb7\xb6\x9f\x66\x47\x6d\xb7\x35\x88\x66\x9f\x74\x33\x7d\x23\xef\xb9\x9b\xb5\x45\xd2\x6a\x8e\x12\x72\x4c\xf7\x0e\x73\xea\x0d\x33\x9e\xb4\x8f\x33\x09\xc6\x19\x7e\xe5\x0f\x65\xd8\xb3\xaf\x86\x8f\x1b\xef\xcc\x1f\xef\xa0\x7d\xbc\xed\x17\xfe\x96\xdd\x2e\x93\x54\xb0\x6e\xa0\x19\x71\x8b\x6b\xe1\xd3\xef\x1d\xff\x00\xc6\xa7\x09\x74\xf7\xd8\x57\xae\x87\x9e\x61\x7b\x7a\xc1\x53\x70\xe3\x82\xbf\x5f\x11\x79\x1b\x6d\x52\x43\xee\xfc\x6e\x35\xa4\x26\x82\xb7\xd1\xbf\x50\x11\xe9\x45\x3e\xf7\xee\xe8\x34\x99\x17\x90\xf3\x57\x31\x32\x18\xb4\xa9\x81\x6f\xa3\xdb\x24\x2e\x97\x83\x5f\x15\x5b\xc9\xb8\x42\xcf\xd0\x4c\x5f\x26\xbf\x2a\xfb\xe8\x2b\x8b\xe4\x0a\x94\x5e\xb5\x04\x72\xe4\x6c\x8a\x13\xe4\xe5\x21\x5c\x9a\x65\x99\xab\xc3\xe1\x30\xcb\x57\xbf\x2a\xd0\x2d\xe6\x3c\xba\xe6\x57\x62\xe8\x86\x82\x0b\xc2\x4c\xd6\x9b\xa7\x89\x2b\x24\x17\xa0\x25\xaf\x14\xfb\xbe\x5a\x66\x5a\x6e\xc2\xa6\xdd\x5e\x6d\x06\x9e\x31\xef\x42\x6a\x52\x07\xb7\xdc\x5d\x9e\xf2\x8c\x66\x28\x57\x42\xb9\xd5\xda\x85\xcc\x6a\x1d\x1d\xd6\x62\x23\xf1\xac\x25\x59\x9e\x9b\x05\xcf\x62\x76\x1b\x29\xf3\x67\xd7\x26\xcf\x06\xbe\xe1\xfc\xf4\xf4\x94\x5d\x94\x31\x1b\x8f\x46\x93\xc1\x78\x6b\x32\x1a\x8d\x7b\x70\xbb\xfd\x88\xb7\x95\x61\x51\x8c\xda\xf6\xf6\x76\x20\x73\x91\x5d\x15\xb2\xca\x01\x64\x32\x4b\x93\x4c\xe4\xd5\x5c\x0d\x47\xa3\xfd\xe7\xa3\x9d\xe7\xfb\xbb\x43\xeb\x73\x65\x21\x09\x3a\xd9\x3f\xd4\x8f\x0a\x3a\xa2\x98\x43\x8b\xe4\x4e\xc4\x5b\xf0\x85\x84\x2c\x16\x8b\x9b\x24\x12\xaa\xcf\x5e\xf2\x32\xc9\x1c\xcb\x02\x61\xaf\x99\x8c\xa2\x2a\x5f\x5b\x47\x3b\xdd\xcd\xd3\x48\xa4\xe9\x53\x96\x4b\x95\x18\xf0\xa1\xd9\x16\x74\xdb\xd7\xdc\x72\x21\xb8\x62\x49\x2c\xe4\x55\xc1\xf3\x65\x12\xb1\xd9\x7f\xfb\xde\xeb\x19\xac\x40\xb1\x63\xcd\x67\xa9\x4a\xb3\xb7\x22\x4d\xd5\x80\x9d\x67\xa5\x80\xf7\x55\x08\xa0\x59\xae\x2d\x63\x8b\x6e\xca\x3c\xdd\x32\xaf\xe7\x90\x4d\x09\x9f\x1c\xd1\x5f\xbf\x5b\x8a\x54\x94\xeb\x5c\xe0\x99\xeb\x79\xdc\x97\x69\xac\x98\x7d\x36\x01\xc3\x76\x10\x03\xac\xfe\xde\xa6\x40\xe4\x57\x85\x00\xfc\x60\x32\x33\xce\xd7\xb6\x2f\xb2\x4b\xe5\xf1\x0d\x87\xf0\x3c\x5f\x19\xa5\xb6\x92\x05\x64\xa3\x92\xb7\x6c\x05\x4e\xd1\x22\x4d\x2d\x94\xd4\x80\xbd\x96\x4c\xa8\x92\xcf\xd3\x44\x2d\x31\x1f\xed\x8a\xc3\x1e\xab\x92\x67\x31\x2f\x62\x85\x19\xbe\x19\x87\x20\x0d\x2a\x18\xff\x47\xc3\x0c\x79\xf3\x70\xfb\xf3\x84\xd2\xad\xb4\x8c\xab\xbb\x68\x01\xc4\x80\xdc\x24\x0b\x59\x95\x49\x26\x20\xcc\x38\x40\x15\x83\xc5\x98\xf8\x4d\x7a\x73\xe1\x04\x60\x58\x93\x68\xc9\xe6\x62\xc9\x6f\x12\xbd\x54\xae\x30\x7b\xb3\x82\xe3\xc4\x8a\x2a\xc5\x97\x72\x2f\xcd\x15\x08\x18\x79\x21\x6f\x92\xd8\x39\x98\x9b\xa5\xcc\x64\xa6\x34\x55\xa8\x6c\x62\xa3\x33\x59\xa0\xca\x9c\xd0\x86\xa7\x1e\xd2\xf4\x83\xc6\x06\x66\x40\x12\x92\x28\x29\xc9\x2b\x1d\x4e\xab\xf2\x59\xef\x2d\x80\x07\xa2\xfc\x4d\xc2\xa1\x17\x5c\x92\xcb\x94\x29\xd8\x29\x57\x25\x9b\xaa\x04\xc5\x83\xb3\x2a\x4d\xdf\x41\x8b\xee\x59\xaf\xcf\xde\x69\xce\xbd\xfb\xae\xd7\x67\xdf\xf1\x74\x41\xc7\xa7\xfb\x5d\x0f\xdf\xdb\x5f\xf3\xa2\x90\xb7\xac\xfb\x9a\xf7\xbc\xf4\x35\x18\xe2\x0b\x65\x46\x85\x41\xcf\x70\x09\x05\x39\x18\x30\xbe\x9a\x27\x57\x95\xc6\x71\x88\xb9\x43\x1b\x8d\x9d\x73\xb4\xdb\xc6\xcd\xa2\xad\xae\x94\x18\x00\x88\xbc\x23\x4a\x57\x87\x9b\x3d\x9b\x42\xaf\xb2\x52\xac\x3b\xed\x41\x24\x01\x4a\xc3\xa7\x6f\x04\xe8\x3b\x5a\xca\x24\xd2\x30\xc8\x45\x16\x2b\x96\x57\x90\xd6\x07\xc2\x52\xe5\x85\x58\x88\x42\x90\x6f\xeb\x9c\x47\xd7\xb7\xbc\x88\x4d\x70\x06\x5e\x26\x74\x28\x51\x2a\x4d\xc0\x08\x6c\x99\xa8\x52\x16\x74\xc6\x65\xc1\xde\x09\x05\xe1\xd8\x73\xf0\xfc\x8e\x50\x74\x99\x2d\xa5\x84\x93\x87\x64\x84\x40\x48\x59\x99\x94\x08\x96\x04\x96\x67\x10\x8b\xe6\xd7\x4a\x81\xe1\x0d\xb7\x16\x18\x3c\xcf\x0b\x99\x17\x89\x66\x77\x53\x99\x5d\x61\x54\x5d\x25\xd3\x0a\xdf\x45\x31\x2e\x03\x4c\xc5\x8c\x4f\x7e\x56\x71\xa2\xf2\x94\xaf\xe9\xf4\x87\x43\x72\x65\x02\x6f\x11\x84\xdc\xd5\x62\x56\xa7\xbb\xa8\x5d\x1b\x80\xf7\x1a\xf5\xd6\xac\x7b\xb0\x35\x4f\x4a\x2b\x84\x79\x5d\x83\x67\x33\x8d\x8d\x16\x4d\x01\x04\x34\xfe\x8c\xf7\xa0\xb1\xd4\x78\xeb\x4f\x83\x82\x83\x69\x20\xfd\xa5\x10\xe2\x1a\x1c\x60\x66\xeb\x22\x49\xd3\x24\xea\x33\x51\x46\x03\xbc\xae\xc0\x98\x3f\x5b\xb3\x72\x9d\x5b\x82\x1b\x51\xfc\x31\x1e\xb8\xf2\xbe\xd2\x27\x38\x85\x77\xb4\x14\x9c\x6d\x10\x5c\x84\x11\xfa\x1e\xf4\xf7\x85\xbd\x96\x65\xed\x60\x74\x5f\x8b\xaa\x2c\x78\x4a\x98\x3e\x60\xa7\x9a\x62\x69\xa0\x5a\x70\x5b\xcf\x87\x38\x89\xe0\x65\x8b\x7b\xbd\xf2\x6c\x4d\x2e\x00\xf5\x4d\x18\xb0\x73\x23\x46\x43\x96\xd0\x72\x29\x60\xa2\x98\x11\x5b\x33\x4f\x80\x03\x6e\x89\xe0\xc4\x83\x89\xc5\x25\xba\x85\x68\x91\xdd\x52\x3a\xb8\x4f\x30\xaf\x9a\xdd\x0c\x4d\xc0\x80\x42\xa1\x0b\xa2\x75\xb1\x3d\x7d\xc5\x2e\xde\x4e\x67\xa7\x1a\x7d\x7f\x7a\xf3\xf2\xc7\x57\xa7\xec\xfc\xf5\xe5\xe9\x5f\x7e\x98\xbe\xf4\x82\x6f\xe8\x35\xcd\x29\x57\xae\x27\x31\xc7\xfa\xf2\x2b\xf5\x11\x82\x53\xc1\xc3\x0d\xbe\x4a\xd7\xf9\x72\x10\xb2\x31\xd0\x85\xa5\xbb\x8e\xd8\xaf\x04\x9c\x44\xae\x54\x72\x95\xb9\x8e\x3c\xfa\x85\xcb\xd5\xed\x33\xdc\x87\x80\x3e\x12\x31\x48\xc0\x61\x09\x4d\x0c\x1c\x8e\x3a\x45\x97\xf5\x6d\xa2\x84\x5e\x8a\x97\x89\x5a\xf0\xa8\x94\xc5\xda\xc4\xab\xd6\xdb\x00\x5e\x28\x06\x8f\x34\xf9\x06\xc7\x15\x68\x6a\xae\x31\x54\x40\xe1\x4d\xe6\x48\x32\x05\xe3\xb8\x8d\xf4\xa5\xc2\x07\x6c\x8a\x6e\x06\x2b\x89\x39\xce\x8d\x12\x4d\x44\x09\xe8\x67\x10\xc0\x21\xae\xf9\x88\xe6\xed\x9f\x99\x58\x7d\x13\xe6\xeb\xf0\x00\x03\xd4\x95\xd9\xb4\xb5\x00\xbb\x46\x9e\xa9\x5b\x5c\xc8\xda\x5c\x53\x6b\x93\x10\xd7\xde\x60\x8e\xa1\x34\x37\x8d\xbe\xc3\xe6\x10\x90\x12\x73\xb5\x0c\xd8\x85\x28\x4b\xda\xc6\x2a\x07\xaa\xa9\x19\x16\xb7\x7e\x73\x7c\xec\x55\x29\x17\xc4\x6a\xb4\x5c\xc4\xba\x17\xb0\xf9\x20\xee\x03\x4c\xda\x0a\x50\x60\xf1\x8c\xa7\x6b\x45\x39\xac\x20\xe6\xb6\x66\xb5\x78\x1b\x37\x00\xb4\x61\x5e\x95\x18\x68\xd3\x54\x23\x00\x71\x6b\xf2\xdc\x87\xeb\xb5\xb4\xd9\x3d\x38\x08\x3b\xf6\x38\x06\x88\x09\xe1\x2b\x6f\x24\xdc\xdc\xc6\xcf\x89\x2d\x78\xd1\xc2\xe1\x92\xa6\x06\xf8\x52\xfa\x7d\x48\x51\x35\x87\x65\x31\x1e\x0f\x0d\xf9\x71\x9c\x3f\xdb\xda\x62\x93\xd1\x68\x7f\x6b\xb4\xbb\x35\xd9\x63\x5d\xb3\xa2\xdd\xc1\xa8\x47\xb5\xdf\x6a\x10\x29\x45\xf6\xdc\x95\x12\x7d\x16\xc9\x7c\xdd\xd7\xd2\x4c\xb2\x58\xf7\xc9\xe9\x51\x8b\x48\xf3\xaa\x14\x4e\x22\x5b\x94\xb7\xc4\xcd\x10\xc9\xd1\x77\x5c\x0e\xc9\x15\x33\x74\x12\x05\x5f\x2a\x01\x17\xb1\xbe\x90\xe7\x6b\xcd\x71\x68\x4c\xc2\x93\x8a\x60\xa1\x5b\x23\x4a\x79\xb2\x42\x66\xf8\x96\x17\xba\x5a\x22\xc8\x8e\xa3\x10\x57\x7a\xbf\x29\x91\x9d\x37\xb6\x81\xd1\x4b\x0e\x46\x39\xa4\x89\x3c\xf4\x61\x16\xa5\x83\x88\xaf\x06\x3c\x1a\x54\xd7\xc3\xff\xb1\xba\xba\x9e\xec\x0e\xab\xc8\x09\x00\x51\x20\x49\x85\x62\x90\x55\x4e\x1b\x76\x07\xbd\x78\xd2\x6a\x95\x11\xa1\xc0\xf4\x5c\xe7\x17\x6f\xd8\x78\xb4\xb7\xb3\xe7\x10\xc5\x92\x3f\xdd\x97\x32\xb2\x11\xdb\x22\xab\x8d\xd4\xa3\x28\xac\xfb\xe3\x33\x7c\x61\x01\x54\x68\x0c\x30\x1a\x50\xd3\x37\xc0\x07\xcc\x46\xc3\xd9\x18\x0e\x49\x21\xd3\xe0\x76\xcd\x62\x76\x72\xfa\x92\x02\x2b\x09\x8e\x21\x2f\x02\x53\x7a\xdd\xdd\xd6\xd8\xf4\xf7\x5a\x66\x5b\x2a\xe7\x11\x1c\xce\x2c\xd6\xd7\x6a\x8a\xdc\x43\x24\x57\x73\xe4\x45\xbd\xfe\xbb\xe8\x72\x9a\x32\x7d\x0b\x5c\x69\x22\x06\x98\xf4\xca\x84\xa3\x97\x05\x7b\x65\x63\x70\xd5\x4f\x75\xcf\xf8\xa8\x6d\x5c\xdd\xc5\x9b\xb3\x4b\xf6\xdd\xbf\xbd\xfd\xee\xf4\x35\x42\x64\x7a\xb2\x09\x22\xe3\x10\x22\x64\x5d\xf9\xf0\x54\x67\x8b\x8d\xd3\xa3\x35\x68\x30\xfc\xfb\xe9\x0f\x6f\xd8\xbb\xf3\x93\xcb\xef\xe8\xb6\xea\xfe\xf8\x6c\x32\x1a\x1d\x3f\xbc\x84\xef\x78\x76\x55\xa5\xec\xbf\xf1\x95\x64\x10\xd3\x3f\x65\x37\xf2\x56\xa4\xb8\x37\xc6\xe8\x25\x53\x32\xe3\x59\xa9\x74\xbf\xe3\xf1\xde\x68\x4b\xff\x38\x3b\x33\xdd\xd3\x4c\x36\xc3\x89\x76\xec\x5e\xee\xd4\x70\xd2\x7a\x53\xbc\x62\xcd\x6f\x1b\xb6\xfa\xcc\xac\xd9\xc2\x48\xb3\x67\x56\x0a\xb7\x20\xba\x14\xd1\x32\x03\x19\x81\x5c\xd9\xfe\xd3\x78\xbc\x01\x12\xd4\xe1\xc4\x4c\xb5\xce\x2e\x43\xe0\x62\x0f\x61\x0b\x01\xae\x82\x59\x68\xa7\x93\x98\x7e\xf0\xd8\xcf\x7e\xbd\x76\xbc\xf6\x22\xe5\x57\xc0\xb9\x66\x7c\x9e\x12\x19\x59\x6f\xda\x17\x3b\x0f\x50\x31\x41\x92\xfa\x3a\x4a\xbb\x14\xd1\x9a\xee\x80\x89\xa2\xee\x18\x4e\xf4\xc1\xc1\xee\xf3\xad\x31\x6c\xdd\xbb\xbf\xbc\xdc\x31\xd0\xf2\x18\x01\x7b\x3d\x34\x0e\xa3\x61\x1b\x37\xcc\x6c\x1c\x06\x92\x0e\xf9\x5d\x0c\xda\x66\xde\x51\x42\x70\x19\xce\x37\xf1\x88\xce\xa0\x46\xc1\x12\x65\xb5\x55\x85\x48\x35\x11\x25\xab\x2b\x0a\x69\x6b\xdf\x2e\xa7\xa5\xe1\xba\xe8\xee\x53\x55\x4e\xca\x2d\xd4\xc2\x68\x98\xd8\xe8\x66\xec\xad\x4c\xd7\x0b\xf4\xe5\xce\x64\x39\x60\xec\x42\x08\x5f\x5d\x15\x8b\x1b\x91\xea\x1b\x7a\xb0\x92\x7f\x4f\xd2\x94\xc3\x3d\x25\xb2\xad\x1f\x2f\x86\xb1\x8c\xd4\xf0\x9d\x98\x0f\x9d\xaa\x6a\xf8\x83\x91\x81\x86\x7f\x81\x14\xde\x1f\x31\x33\xad\x22\x73\xbb\xa1\x37\xcf\xff\x44\x63\xa7\xb0\x54\x08\x28\x4a\x2a\x4e\xdf\xe7\xd0\x56\x47\x15\x69\xb7\x66\x32\xc7\x58\xa0\xea\x63\xc3\x21\x3c\x65\x51\xf2\x30\x5c\x3a\xfb\x05\xd8\x95\x5f\x86\xbf\x68\xbe\xf7\x17\xbc\x7e\x7e\xa9\x32\x3a\x17\xbf\x0c\x7f\xd1\xb4\xfb\x17\xf7\x28\xe2\x06\x0d\xf2\x62\x91\x56\x20\x7c\xbb\x80\xd7\xb1\x23\xf4\xf7\x0e\x8d\x2e\xb4\x5c\x7b\xb9\xce\x85\x67\xa2\xed\x6b\xfa\xc9\xf5\x09\xa3\x44\x90\x09\xbf\xf5\x4f\xb4\x15\x30\x32\x16\xbd\x22\xd2\x83\x8f\x73\x35\xfa\xe5\x52\x9e\x67\xa5\xb8\x12\xc5\x2f\x5e\x23\x13\xc7\xd8\x2a\x99\xbe\x25\xa7\x5c\x6f\x09\x87\xee\x25\xd8\xc5\x33\xfe\xe2\x08\xdb\xf6\xd8\x3f\x74\xef\x73\x51\xea\x9b\xec\x97\x44\xbd\xe6\xaf\x7f\x71\x8f\x2d\xd4\xfd\xa8\xbe\xa2\xe1\x90\x4d\xe9\xb8\x6b\xde\x41\x56\xe5\x96\x5c\x6c\x91\x51\x07\x38\xaa\x0a\x7d\x69\xd6\x06\xfd\x1a\x52\x3d\x31\x1b\x51\x59\x2f\xb9\x66\xfb\xa5\xaf\x3a\xbb\x5d\x2d\xa3\xfe\x45\x18\x4f\xec\x02\xc2\x88\xd0\x1b\x9c\x07\x12\xfc\x62\x01\xe9\x3f\x24\xc1\x82\x03\x98\x83\xc7\xb2\x0f\x1d\x3d\x46\xe4\x0c\x56\xfe\xdf\xff\xfb\xff\x51\xc6\xa5\xa1\x30\xa1\xb4\x82\x87\x24\x3b\x79\x1c\xf7\x9b\x23\x63\x9c\xf0\xe5\x97\x54\x64\x5f\xc2\x74\xd1\x70\xc8\x96\xc9\xd5\xd2\x75\x62\xdb\xc3\xfe\x7f\x43\xc0\x79\xc6\xc6\x94\x23\x11\xd5\x20\x1c\x4d\x01\xea\xeb\xf5\x81\x87\x6b\xd9\xbc\x70\xdd\x67\xed\x1d\x8d\x9a\xe0\x9c\x67\x38\x67\x2a\xf3\x5f\xd4\xf4\x4c\x52\x79\xdb\x32\x67\xd8\x12\x62\xd6\x56\xbc\x5c\x26\x5c\xcd\xd7\x99\xc8\xd4\x60\x2e\x86\x99\x2c\x85\x1a\xfe\xca\x6f\xb8\x02\x82\xb1\x65\x14\x88\xff\xc9\x76\xb4\xa5\xaf\xfe\x2a\xe5\x7e\x8f\xe6\x59\x1c\x81\xb7\x45\xe0\xec\xb1\xaf\xd0\xa0\x8a\x3d\x33\x53\xdc\x72\xf6\x1c\x0d\x93\x92\xcf\x35\xcc\x31\x39\x90\x74\x9f\xf4\x40\xe2\xde\xc9\x90\x6e\x0d\x10\xe9\xde\x92\xd7\x8a\x03\x6d\xeb\xe7\x6e\x9d\x7e\xf5\x59\xc7\x23\x26\x9d\xbe\xb7\x33\x1d\xe0\xdd\x3a\x87\x01\xe5\x76\x5f\x23\x99\x2d\x92\xab\xaa\xd0\x17\x57\xe7\x10\x13\x12\xb9\xaf\xb7\x45\x52\x7a\x5f\xcc\xba\xda\x7d\x03\xef\x23\xaa\xec\xc8\x1f\xdf\x7b\x25\xea\x82\x1f\x11\xc6\xbd\xb9\x8d\xd8\x11\xa6\x8e\x1e\x0e\xd9\x3b\xcb\x22\x6b\x92\xe7\xae\xb2\x01\x55\x1d\x64\x15\x69\xff\x30\x55\x60\xd8\x24\xb8\x54\xfd\x56\xf4\xa1\xd6\xf2\x4c\x73\x06\xc6\xaf\x9d\x72\xb3\x43\x60\xf8\x56\x9d\x9d\xa7\x0f\x31\xdd\xb6\x70\x1b\x2e\x9b\x6e\x30\xb5\xec\x81\x3e\xdd\x4c\xbd\xce\xcc\x74\x27\xd8\xdb\x05\xde\xb3\x26\xdc\x6b\x26\xb3\x2d\x79\x23\x8a\x94\xe7\x39\xd9\x62\x88\xe2\x86\xa7\xca\x7c\x54\x0d\xae\x4f\xf7\x62\x82\xc0\x80\x64\xfe\xb4\xca\x12\x25\x4a\xf6\x2c\xe2\xe5\xd1\x2b\x41\x3f\x33\xfc\x39\x5b\xb0\x2d\xcd\x52\x33\x64\x39\x35\xc3\xc9\x80\xab\x65\xd1\x53\x07\x58\xc3\xf5\x1f\xb1\xf7\xb0\xbf\xef\xd9\xe8\x6e\xb4\x3d\x1a\xf5\xe1\xe7\xde\x19\xfb\xd0\xc7\xb2\x9d\x83\xed\x3e\xfe\xdc\xf3\xca\x0e\xa8\xec\x39\xa3\x4c\x8b\x50\xbe\xfb\x7c\x0c\xe5\xbb\xc7\x27\xb6\xee\xee\xf1\x19\x95\xb9\x3e\x77\x67\x54\x6f\x36\x09\xdb\xcf\x76\xa8\x7c\xd7\xab\xbb\x4f\x65\xfb\xb6\x6c\x8f\xe6\xb9\x37\xda\x0e\xda\xef\x8d\xa9\x7c\xec\xda\xef\xed\x1c\x63\xd9\xee\xa9\x2b\xdb\xa7\x7a\xfb\xa3\xb0\xfd\xc9\x1e\x96\x9f\xee\xb8\xba\xa7\xfb\x54\x76\xe0\x95\x4d\xa9\xec\x24\x68\xbf\x3f\xc2\xb5\xee\x8f\xdc\x5a\xf7\xc7\xb8\xd6\xfd\xf1\xd8\x95\x6d\xe3\xf8\xfb\x3b\xd3\xb0\xfd\x14\xc7\xdf\x3f\x1e\xb9\xba\xa7\x38\xff\xfd\xb3\x6d\x5b\xf6\x7c\x84\x7d\x3e\x1f\x85\xf0\x7b\xbe\x3d\xeb\xd3\x4f\x57\x77\x87\xea\xee\x1c\x78\x65\x27\x54\x16\xce\xff\xf9\x2e\xd5\xdd\x75\xeb\x7f\xbe\x37\xc1\xb2\x3d\x6f\xfc\x03\xaa\x77\x30\x0e\xdb\x1f\xd3\xf8\xc7\xde\xf8\xb4\xd7\xcf\x67\x5e\x9f\x33\x1a\x7f\x56\x1b\xff\x94\xc6\x3a\x75\x63\x4d\x69\xad\x53\x58\x2b\x95\xd1\x3a\xa7\xb0\x4e\xd7\x7e\x4a\x6b\x9d\xee\x78\x75\x77\xf6\xa9\xec\xc0\x2b\x3b\xa6\xb2\x70\xfc\x29\xe1\xc5\x74\xdf\xed\xd5\x94\xd6\x3a\x3d\xf0\xfa\xa4\x75\x4e\x8f\x6b\xe3\xd3\x5a\xa7\x1e\xfe\x4e\x09\x7f\xa7\x33\x6f\x7c\x5a\xff\xb4\xb6\xfe\x29\xad\x7f\xea\xad\xff\x98\xd6\x7f\x3c\x72\x73\x3a\xa6\xf5\x1f\xd7\xd6\x7f\xbc\x7d\x46\xe5\x0e\xff\x8e\x09\x26\xc7\x3b\x5e\x9f\xb4\xff\xc7\xb5\xf5\x1f\xef\x22\xfe\x1d\xef\xba\xb3\x7e\x7c\x80\x73\x3a\xf6\xd6\x7f\x3c\x43\x38\x1d\xcf\xc2\xf3\x73\x4c\xeb\x3a\x9e\xb9\xf3\x3f\xdb\x3e\x85\xb2\xd9\x8e\xc3\xe9\xd9\xce\x1e\x95\x1d\x04\xed\x67\x3b\x53\x2a\xf7\xda\xef\xee\x62\x99\x37\xa7\x19\xc1\x7f\x56\x83\xff\x8c\x68\xcd\xcc\xa3\x35\xb3\x19\x8d\x35\xf3\xda\xcf\xa8\x7d\x0d\xfe\x33\x82\xff\xcc\x83\xff\x09\xc1\xef\x64\xc7\x2f\x3b\xa1\xb2\xb0\xfd\xc9\x0c\xe7\x7f\x32\x9b\xba\xba\x27\xd8\xe7\xc9\xc9\x8e\x57\xb6\x47\x65\x7b\x41\xfb\xd3\x6d\x1c\xeb\x74\xdb\xed\xf5\xe9\xf6\x0e\x95\xb9\x3e\x4f\x09\xa7\x4f\x77\x4e\xc3\xf6\xc7\xd4\xfe\xd8\x6b\x7f\x4c\xed\x8f\x9f\x7b\x65\xc7\x54\x16\xc2\xef\x74\x86\x74\xfd\xd4\xdb\xbf\xb3\x31\x96\x9d\x8d\x5d\xfb\xb3\x6d\xdc\x93\xb3\xed\xdd\xa0\xfd\xd9\xf6\x3e\x95\xef\x7b\x75\x9f\x53\x99\xd7\x7e\x1f\xe7\x79\xb6\x1f\xce\xff\xec\x00\xf1\xea\xec\xc0\xc1\xea\xec\x60\x8f\xca\xbc\x3e\x9f\x53\xbd\xe7\xfb\x61\xfb\xe7\x34\x96\x47\x7f\xce\x68\xff\xcf\xdc\xfe\x8f\x47\x13\xd8\xbf\xf1\x68\x3b\xc0\xdf\xf1\x68\x7b\x42\xe5\x13\x57\x77\x7b\x8f\xca\xf6\xbd\xb2\xe7\x54\xf6\x3c\x6c\xbf\x7b\x80\xe5\xbb\x76\xad\xfa\x0e\x86\x32\x7d\x0d\x9b\xb2\xed\x5d\xc0\x53\xfd\x33\x68\xbf\x3f\xc6\xf1\xf7\xc7\x76\xfd\xe3\x7d\x9a\xd3\xfe\xb6\x57\xb6\x4b\x65\xbb\xdb\x61\xfb\x7d\x2a\xdf\xdf\x76\x75\x71\xff\xc7\xfb\xc7\xbb\x5e\xd9\x3e\x95\x9d\x84\xed\x11\x56\xfa\xa7\xab\x3b\xc3\xb5\xee\x9f\x78\x7d\x9e\x9c\x50\x59\xd8\xfe\x60\x04\x78\x35\x3e\x18\x59\xfc\x19\x1f\x4c\xb1\xfd\xc1\xd4\xc1\xe4\xf9\x04\x61\xf2\x7c\x12\xdc\x5f\xe3\xe7\x93\x7d\x2a\x3f\x70\x75\x69\xfd\xcf\xbd\x3d\x79\x4e\xf0\x7f\xbe\x7d\x1c\xb4\x9f\x8e\xb1\xfd\x74\xec\xda\x1f\x23\xaf\x30\x3e\x1e\xb9\xf9\x1f\xe3\x99\xd2\x3f\x83\xf6\xc7\xb4\xd7\xc7\xee\xac\x8d\x89\xd6\x8e\x8f\xdd\x9d\x3a\x3e\xde\xc1\x39\x1d\xef\x84\xf3\x3f\xde\xc3\xf5\x1f\x7b\xf0\x3f\x41\x5a\x39\xf6\x68\xc2\xf8\xe4\xec\x14\xcb\xce\x82\xfd\xd7\x4c\x5a\x1f\x7f\x5a\x5c\x99\x8c\x26\x53\x2c\x9b\x9c\xba\x32\xc4\xa9\xc9\x68\x6f\x3b\x6c\xbf\x47\x75\xf7\xbc\xf6\x27\x54\xf7\xd4\x96\x6d\x53\x9f\xdb\xa3\x49\x30\xfe\xf6\x08\xcf\xcf\xf6\xe8\xb9\x9d\xeb\xf4\x60\x04\x30\xd1\x3f\xbd\xb2\x63\x2a\x0b\xe0\x3f\x3d\x98\xec\x62\xf9\xc4\xd6\x3d\x3b\x1e\xc3\x5a\xf5\x4f\x5b\x76\x8a\x7b\x72\x76\x3a\x0a\xc6\x3f\x3b\x9d\x50\xf9\x64\xdb\xd5\x3d\x3b\xeb\xd3\x4f\x5b\x76\x76\x06\xf3\x3c\x3b\x3b\x0b\xf7\xdf\x30\x0b\xfa\x17\xb7\x03\xa3\xe9\x68\xd7\x94\xee\xf9\xa5\x33\x53\x7a\x56\xeb\x65\x9b\x8e\xf1\xd4\xc3\x83\xd1\x14\x2f\x57\xf8\xc5\xed\xe4\x78\x0f\x51\xee\x64\xbc\x17\xd2\x82\x93\xf1\xfe\x36\x7d\x71\x37\xa7\xfe\x63\xd7\x94\x1e\x7b\xa5\xd3\x29\x95\x4e\xc3\x13\x75\x32\x21\x54\x3b\x99\xec\xd8\xf3\x7f\x3a\x1a\xe1\x3a\xe1\x17\xaf\x14\xc1\x77\x3a\x1a\xed\x07\x2b\x3a\x1d\x8d\x47\xf4\x65\xac\xb1\xe0\xc9\x87\xdf\x2e\x99\x3c\x20\x5b\x6d\x16\x51\x40\xbd\xbe\x35\x65\x5b\x24\xab\x6c\x91\xac\xb2\x45\xb2\x8a\x13\x4a\xb8\x27\x8d\x79\x42\xc9\x68\x8a\x97\xc5\x68\xea\x2e\xb5\xd1\x74\x87\xca\x76\xbc\xb2\x7d\x2a\x0b\x99\x8a\x11\xc2\x56\xff\xf4\xea\x9e\x52\x99\x13\x0a\x46\xc7\x78\xa9\x8c\x8e\x77\xc2\xf6\xc7\x7b\x54\xee\xb5\x27\x06\x64\xe4\x31\x1a\x23\xba\x68\x46\xb3\xf0\x52\xa7\x03\xa8\x7f\xba\xba\x27\x34\xd7\x93\x03\xaf\x8c\xe6\x74\x1a\x32\xd5\xa3\x53\xea\xf7\xd4\x31\x30\xa3\xd3\x03\x2a\xf3\xe6\x74\x4a\x73\xaa\x09\x25\xa3\x33\x1a\xff\xcc\x1b\xff\x6c\x42\x65\xdb\x5e\x19\xcd\xe9\x6c\x5a\x6b\x4f\xfd\x9e\xcd\xbc\xba\x34\xd7\x33\x07\xbf\x31\x31\xaa\xe3\x51\x38\xff\x31\x09\x40\x63\x4f\x00\x1a\x8f\xb7\xa9\x6c\xdb\x2b\x3b\xa6\xb2\xe3\xb0\xfd\x04\xd7\x3f\x9e\x38\x06\x60\x3c\xa1\xba\x93\x63\x57\x46\xcc\xd3\x78\x3b\x14\x0a\xc7\x78\x9a\xf5\x4f\xaf\x2e\x32\x8a\x63\x4f\x50\x18\xef\xec\x50\x59\xb8\xff\xe3\x1d\x6a\xbf\xe3\x8d\x45\x0c\xe0\xd8\x63\x54\xc7\x78\x29\x8f\xc6\xbb\xb5\xf1\xf7\x68\xfe\x7b\xde\xfc\xf7\x68\xfe\x7b\x5e\x9f\x33\x84\xe9\x78\x16\x32\x45\x63\xc2\x9f\xb1\x87\x3f\x63\x62\x2a\xc7\x27\xde\xfc\x4f\x68\xfe\x27\xb5\xf9\x13\xb3\x39\x3e\xd9\xf3\xea\xd2\x9a\x3c\xfc\x1b\x9f\x4c\xa9\x6c\x5a\x6b\x3f\xa3\x72\xb7\xff\x13\x12\x14\x27\xbb\x6e\x4f\x27\x7b\x54\xb6\x17\xee\xff\x84\x84\xfa\x89\x27\x00\x4e\x48\x28\x9a\x78\x42\xfd\x04\x19\x8d\xd1\x64\x76\x5c\x6b\x7f\x42\xe5\x0e\xd6\x13\x82\xc9\xc4\x83\xc9\x84\xd6\x34\x39\xa9\xb5\x3f\xa1\xf6\x27\x7e\xfb\x33\x2a\x73\xe7\x77\x9b\x94\x17\xdb\xd3\x70\xfe\xdb\xd3\x6d\x2a\x77\x0c\xec\x36\x31\xda\xdb\x33\xb7\xfe\xed\x19\xd5\x9b\x85\x4a\x91\x1d\x3a\x17\x3b\x9e\x00\xb7\x43\x8a\x8a\x9d\x1d\x4f\xd1\x42\x30\xdd\xd9\x1d\x87\x97\xfa\x98\x2e\xf0\xf1\xc8\x5d\xea\x78\x7e\x26\xa3\xf1\x9e\x57\x76\x40\x65\xcf\x6b\xed\x67\x54\x7e\xe2\x31\x15\xd4\xe7\x64\xe2\x95\xed\x50\xd9\x7e\xd8\x7e\x9b\xea\x6e\x7b\xe3\x23\x53\x36\x19\x6d\x6f\x7b\x65\xbb\x54\xb6\x5b\x6b\x4f\x4c\xcd\xf6\xb1\x57\xf7\x94\xca\x3c\xa6\x66\x9f\xc6\xdf\xdf\x09\xdb\xef\x9f\x51\xb9\xc7\xd4\xa0\x50\x3e\x19\x39\x41\x61\x32\x9a\xd2\x3a\xa7\x81\x50\x33\x19\x8f\x10\x56\x63\xc7\x12\x4c\xc6\xc8\x11\xe8\x9f\x5e\xd9\x73\x2a\x0b\xe1\x47\xb4\x6a\xe2\xd1\xaa\xc9\x78\xbc\x47\x65\x0e\xfe\xe3\x09\xce\x69\x1c\x32\xb5\x13\xa2\x5f\xfa\xa7\x57\xf7\x98\xca\x1c\x4c\xc6\xbb\x34\xce\x6e\xb8\xfe\xf1\x2e\xd5\x75\x0a\xac\x09\x09\x15\x13\x8f\x7e\x4c\xc6\xfb\x54\xb6\x5f\x9b\xff\x73\x2a\x7f\xfe\xdc\xd5\x3d\x46\x5c\x19\x1f\x7b\x65\x48\x53\x26\x48\x53\xbc\xf6\x48\x57\x26\x63\x27\xc0\x4e\xc6\xa8\x14\xd3\x3f\x6d\xd9\x04\x79\x0c\xfd\x33\x68\x3f\x19\x4d\xa8\x7c\xdb\xab\xbb\x4f\x65\x07\x5e\xd9\x31\x95\x1d\xd7\xda\x9f\x51\xb9\xdb\xff\x09\xde\x29\xfa\xa7\x57\xb6\x4b\x65\x21\xfe\x4d\xc6\x53\x2a\x9f\x7a\x75\x4f\xb0\x6c\xe2\x70\x7a\x32\xd9\xa6\xb2\x90\xa9\x9e\x4c\xa8\xdf\xc9\xae\x57\x97\xe6\x3f\x99\x79\x65\xa7\x54\x76\x1a\xb6\x47\x61\x63\x32\xd9\xf6\x60\x85\x42\xc5\x64\xb2\xed\xce\xe4\x04\xef\x19\xfd\x33\x6c\xbf\x43\x75\x77\xbc\xb1\x76\x09\xa6\xbb\xee\xfc\x4e\x08\x27\x6a\xf4\x77\x32\xd9\xa3\xf1\xf7\xbc\xf1\x49\x50\x98\x78\xf8\x33\xd9\xa3\xf9\xef\x85\x42\xc9\xe4\x80\xc6\x3a\xf0\xf6\x0f\x85\xf2\xc9\xe4\xc0\xeb\xf3\x39\xc1\xe9\x79\x0d\xfe\x28\x54\xe8\x9f\xae\xee\x94\xea\x4e\x3d\x98\x1e\xd3\x3e\x1f\x87\xe3\x6f\xa3\x50\xac\x7f\xda\xba\x3b\xb4\xd6\x9d\x53\xd7\xe7\x0e\x2a\x4a\x27\xbb\x3b\x21\xfe\xec\xee\x62\xdd\x5d\x27\x94\x4d\x76\x0f\xa8\xec\xc0\xe1\xd4\xee\x73\x1c\x67\xb7\x36\xff\xdd\x29\xd5\x75\xfc\xe7\x64\x17\xef\x84\xc9\xae\xbb\x13\x26\xbb\xc7\xd4\xfe\x38\xc4\x9f\x5d\xe4\x1f\x27\xbb\xc7\xfb\x5e\xdd\x19\x95\xb9\xfd\xdf\x9d\xd1\x38\xb3\x70\xff\x76\x67\xd4\xde\x29\x10\x27\xbb\x33\x5a\xeb\xec\xd8\x2b\xc3\xfd\xdb\x3d\xa9\xb5\x3f\xa5\x79\x9d\x3a\x58\xef\x9e\x9e\x51\x99\x5b\xff\x1e\xd1\xc4\xbd\x51\xc0\xbf\x4e\xf6\x88\x2e\xee\x8d\x9e\x7b\x75\x4f\xa9\xcc\x6b\x3f\x46\x3c\xdb\xab\x9d\xbf\x3d\xba\x7f\xf6\xc6\x33\xaf\x2e\xb5\x77\x42\xe1\x64\x6f\x07\xd7\xbf\xb7\x13\xd2\x8f\x3d\x94\x80\xf4\x4f\x57\x97\xf6\x7f\x6f\x6f\xec\x95\x6d\x53\x59\x6d\x7c\x94\xd0\x26\x7b\x7b\x53\xaf\x2e\xcd\x69\xef\xc4\x2b\x3b\xa3\xb2\x10\xff\xf6\xb7\x91\x56\xec\x7b\x67\x75\x7f\x1f\xf7\x64\xdf\xdd\x49\x5a\x16\xeb\x43\x4c\x8a\x50\xa8\x3f\x3b\x3b\x83\xf6\xfa\xa7\x15\x60\x47\xa6\xb2\x5f\x0a\x0f\x93\xa8\x2c\x18\x61\x39\x0a\x6a\x68\xed\x71\x9c\x64\xbc\x58\x33\x25\x78\x11\x2d\xd1\x0a\x97\xde\x9e\xcb\xa5\x60\x57\xc9\x8d\xc8\x9c\x7f\xa7\x35\x38\x83\x07\x61\x95\xf3\x48\xf8\x8f\x56\x8d\x68\x7a\xa2\xb8\x12\xc5\x67\x56\x45\x8a\x4d\x5b\x7a\xf1\xdd\x70\xac\xcb\xac\x0d\x12\x79\x59\x54\x22\x9c\xc7\xfd\xe3\xbf\xc0\xb7\x36\x1b\xaf\xb1\x5c\x8a\xe2\x36\x51\x5e\x06\xe3\xdb\x68\x90\xa8\x0b\x68\xe5\xfb\x43\x47\xca\x46\x44\x9a\x56\x77\x49\x9a\x68\x80\x04\x6e\xe5\xf3\x00\x48\x49\x66\x65\x58\x06\x2f\xa3\x26\x27\xee\x2a\xc9\xd8\x11\x1b\xf5\xd9\x8a\xdf\xb1\x23\x56\x7f\x14\x33\xd1\x60\xb7\xd0\xf7\x10\x5b\xc4\x36\x6e\xbf\x86\xd2\xd7\x8d\x46\xef\x47\x1f\xde\x8f\x3e\xb0\x4f\x9f\x00\x8a\xdf\x34\xbf\xaf\xf8\xdd\x87\xf7\xe3\x0f\x41\xe2\x64\x7a\x74\xb4\xee\x7f\x7a\x3e\xdf\x1c\xe9\xf9\x99\x47\xe5\x55\x12\xb3\x23\xf6\x8a\x97\xcb\xc1\x22\x95\xb2\xe8\x76\xf5\xe4\x9f\xe9\x99\xf7\xd8\x90\x4d\x3c\xbf\xdc\x4d\xe3\x26\x31\x8c\x6b\x9f\x7e\x71\xf5\xba\xe3\x67\x2d\xce\x95\x1b\x56\x07\xbd\x8c\xfc\x5e\x00\x74\xba\x97\xad\x5a\x2f\xb5\xf0\xb3\x2e\x2d\xa9\x0d\x3a\x1b\xae\xde\x8f\xd1\xda\xbe\xad\x80\xea\xa0\x92\x78\x04\xb6\x9f\x72\xcc\xba\x7e\xcf\xa3\xed\xbf\x18\xff\xdb\x74\x27\xe0\x01\xe2\xcf\xc8\xc3\xfc\xfa\xcb\x74\xe3\x00\x6c\xc6\x61\xab\x43\xf9\x2d\x38\x6c\x1b\x6d\xc0\x61\xf7\xfd\x5f\x8b\xc3\xde\xb8\x7f\x00\x87\x6b\xbd\xfc\xe9\x38\x7c\x62\xf2\x7f\xb6\xda\x10\xb7\x20\x49\x1b\x3e\xfe\x76\x74\xb4\xad\x2e\x1f\x3f\xaa\xc5\x39\x5d\x6a\xcc\x16\x9a\xe8\xa6\x41\xba\xd1\x74\xc2\x40\x93\xe6\x51\xef\xf0\x07\x68\x60\x6b\x43\xa7\x8d\x58\xfb\x1b\xda\x9e\x24\xaa\xd8\xd4\xfc\x0f\x41\xdc\x5a\xac\x1b\xd3\x11\x4d\x5b\x1e\xa4\x1b\x8d\xf4\x7d\xff\x33\x37\xaa\x09\x9b\x4d\x57\x25\x64\x1a\xd1\x54\x14\x3d\xaa\x9a\x16\xac\x03\x8f\x26\x1c\x41\xb0\xa6\x96\x4d\x31\x06\x3c\x2f\x02\x02\xb2\x0d\x89\x0d\xf0\xd4\x82\xe3\xff\x82\x7d\xf9\x25\xc3\x6f\xa3\x3b\x3e\xea\xb5\x75\xe5\x5b\xf5\x98\xe4\x69\x6f\xf2\x32\x59\x25\x7f\x87\xf8\xb9\x6c\x7a\x31\x3b\x3f\xdf\x30\xc1\xaf\x61\x94\xa0\xdb\xb1\xe9\xe4\xb8\x7e\xfb\xa3\x85\xef\x46\xbb\x9a\x41\x88\xdb\xc4\x72\x00\xf0\x82\x01\x46\x66\x00\xcc\x4f\xcd\x8b\x22\xb9\x11\x94\xa2\x5a\xcf\x89\x6c\x6a\xb9\x67\x4c\x2f\x37\x5a\xef\x0f\x1c\xed\x18\x53\xc8\x66\x07\xbf\xf1\x18\x4c\xeb\x90\xf8\xe0\x7a\xb1\x78\x77\xa1\x01\xed\xff\x1b\x0e\x03\x23\xf4\x24\x4b\xca\x81\x67\x72\x4e\xf4\x0b\xf7\x14\xc4\xa7\xc9\x73\x43\xd8\x4d\x01\x67\x9f\x3e\x51\x3d\x37\x85\x89\x38\x18\xd9\x4d\xd4\x05\x7c\x27\x5a\xd8\x39\x61\x8f\x5f\x1c\xc1\x2b\xd1\xf6\xa2\x17\xce\x6a\x38\x04\x3f\xc1\xc1\x60\xc0\xfe\x2d\x69\xf4\xcc\xa3\x51\xd8\x73\xbc\xcf\xb7\xb1\x07\xb7\x98\x8b\x75\x9a\xea\x5d\x53\x8d\xe6\x8b\xe7\xb5\xe6\x0b\xbe\x58\xd8\xe6\x7a\xdc\x59\xe0\x51\x79\x6e\x9c\xa5\x5b\xba\x12\xe3\x5a\x57\x62\xfc\xdc\x76\xf5\x93\x28\x20\xa3\x15\x78\x1b\xb4\x35\xde\xae\x37\xde\xbb\x6f\x1e\x67\xed\xbd\x2c\xea\xab\x59\xec\x8d\x6c\x2f\x67\x55\x9a\x22\x4d\xd8\xd4\x5a\xd4\x5b\x8b\xbd\x5e\xeb\x76\x42\xac\x12\xbf\xea\x64\xb1\x58\xc4\xad\x75\xb7\x1b\x75\xb7\xa1\x2e\x46\x8a\xa0\xb8\xad\x87\x4c\xac\xe4\xaf\x89\x6f\xae\x5e\xa9\x0a\x5c\x07\x8d\xbf\x15\xf2\xfb\x10\xe6\x29\x89\x43\xb7\xd0\x54\xd3\xdd\xab\x25\x76\xe7\xf1\x45\xb8\x58\x95\x8b\x88\x29\xbe\x86\xf3\xb4\xd4\x9c\x38\xbb\x40\x07\x35\x7d\xec\xe2\x18\x2a\x24\xe0\xec\xa1\x6c\xd2\x43\xb1\xfa\xf6\x8f\x5d\x06\xf5\x4b\xc0\xf9\x66\xfe\xaf\x7e\x09\xfc\xf0\x88\x1b\x20\x20\x70\xfe\xc5\xdd\xa4\x73\x9b\x6c\x19\x5f\x78\xfc\xce\xa3\xef\xe8\xdf\xb1\x25\x2e\x2c\x56\x5b\xa8\x6b\x55\x16\x36\xda\xfa\xef\x85\x67\x3d\xf0\xd6\x6d\x34\x50\x65\x93\xf3\x09\x82\x2e\x91\xe7\x70\x71\x43\x16\xa8\x0f\x86\x5e\x0a\x02\x9f\x7a\xa1\x07\x21\x94\x8e\xb3\xab\xb5\xf1\x74\x6e\x69\xf8\x3a\x68\x1b\xb1\xf5\xf4\x56\x62\xe5\xaf\xcd\x25\x6d\xf7\x65\x8b\xf8\xd7\xe2\x86\x3d\x3b\xc2\x2e\xa9\x91\xfe\xbb\x5b\x8b\x49\xb8\x58\x68\xd2\xf9\x2d\x1b\xb3\x43\x8c\x7b\xe3\xb3\xb4\xc5\x4d\xb0\x7b\xc6\x8e\x5e\x55\x73\xf2\x4c\xa0\xb4\xa6\x84\xa2\x08\x6c\xb9\x58\x28\x51\xd6\xb0\xd7\xdb\x87\xfb\x76\x35\x0c\xcf\x75\x25\x4a\x6f\xac\x45\x21\x57\x83\xd6\xf3\x86\x76\xf6\x97\xc6\xe2\x1e\x9d\xd9\xfc\xb9\xd4\xfb\x6a\xef\x46\xe6\xe5\x47\x04\xea\x26\xd4\x09\x3a\x78\xd2\x96\x04\xe0\xb2\x5e\xcb\x61\x17\x94\xd6\x70\x8b\x72\xc7\xf4\xdd\xd8\x5e\x82\x4c\xfd\x05\x62\xef\xf7\x99\xc8\x62\xfa\xed\xd6\x1e\x43\xc0\x3d\x57\x09\x45\xc0\x5b\x6b\x20\xed\xb5\xaf\xc5\x03\x73\x1f\x5c\x60\x30\x6c\xf7\xac\x05\xf5\x6a\x81\xb5\x5c\xe3\x5e\x03\x17\xbf\xc1\xae\x0d\x3e\xce\x0b\xc1\xaf\x83\x7c\x58\x0e\xc2\x5f\x1c\x39\x8f\x8d\x20\x61\xbb\x59\x29\x26\xee\xb2\x00\x70\xeb\x7a\x62\x79\x0c\x5b\xd5\x5f\x9e\xbe\xb4\xcc\xc9\xb0\xc3\x79\x8d\x1e\xbd\x50\xd3\x7b\xaf\xe7\xc0\xff\xec\x59\xcb\x9a\xdd\xd6\x3d\x09\xe7\x65\x22\x34\x99\x3c\xf9\x65\x31\xb0\xa8\xd1\x6d\xdb\xdd\x5e\xfd\xfc\xb9\x26\x3e\xdc\x1b\x67\x72\xc3\x79\xc4\x63\x81\x4e\x9e\x71\x78\x22\xfe\xf5\x67\xb0\xbd\x95\x9e\xd8\x25\x44\xdd\x8e\x5b\x5b\xfc\xae\x33\x56\x4b\xac\xeb\x1f\x33\x91\xc5\x41\x1c\xc5\xa0\x5d\xbd\x26\xdb\x22\x7c\x06\x80\xeb\xaa\x85\xc0\x90\x54\x03\x1e\xc7\xdd\x0e\xc5\xc1\x8a\x96\x3c\xbb\x12\xa9\xbc\x1a\x92\x2b\x72\xa7\xcf\x3a\xa5\xb8\x2b\x87\x79\xca\x93\xac\xd3\x7f\xd2\x19\x0f\x9e\x77\xd8\xb3\x27\x9d\xce\x93\x1e\xe5\x0a\x7e\xa0\xa7\x98\x97\xa2\xd9\xcd\x64\x34\xde\x01\x9f\xee\x7d\xaf\xb7\x7a\x74\xae\xa5\xbe\x61\x87\xbf\xaa\x21\xfc\xf2\x1f\x3d\x45\x00\xc0\xaa\x8c\x45\x0e\x40\x1a\x5c\x94\xb2\xe0\x57\xa2\xd3\x73\x07\xe0\xbf\xea\x86\x92\xc2\xed\xb3\x13\x11\xa5\xbc\x20\xaf\x6d\x84\xc0\x57\x90\x3e\x07\x39\x51\x4c\xe1\xb2\x12\x6c\xce\x55\x12\x31\xb5\xe4\x85\x88\x59\x05\x29\xce\x12\x93\x8b\x86\x97\xe8\xa5\x2a\x25\x53\x2b\x88\x32\x23\x59\x8c\x90\x60\xb1\xc0\x3c\xa9\x31\xcc\x97\xb2\x6b\x6b\x6a\x0d\x63\x59\x3f\x18\xe7\x58\x0e\xe9\xa0\x20\xf8\x47\x16\xcb\x5b\xb6\x94\x18\xd1\x03\xa7\x56\x8b\x9e\xa5\xaf\x2a\xae\x58\x4e\x5e\x63\x58\x47\x8b\x73\xdd\xde\x80\x79\xe9\xe9\x74\xed\xec\x86\xa7\x49\xcc\xaa\xac\x4c\x20\x66\x05\x84\xdc\xe1\x69\xf2\x77\x1b\xc0\x0b\x73\x65\xe3\x0c\xb1\x2b\x9c\xc3\xa5\x9e\x91\x4d\x40\x6b\xb2\xae\xf0\x02\xa4\x55\x2f\x61\x08\x05\x56\x71\x39\x98\x28\x60\x0e\x04\x6c\x35\x79\x15\xfe\x2e\xe5\xca\xf7\xcd\xa5\x15\xfd\x9b\xac\x60\xbf\x4d\x7a\x06\xc8\xd4\x54\x2e\xd9\x5a\x56\x05\xa6\x46\x93\x91\x9e\xac\x88\xcd\x88\xfe\x3c\x75\xa7\x34\x21\x97\xe7\xb7\xf3\xef\x6f\xde\xbc\xd2\xf7\xc6\x78\x34\xfa\x2f\x5e\xd0\xb6\xe3\x22\x11\x0b\x86\xd6\x6a\x6b\x3b\x7f\x1b\x15\x06\xa7\xab\xcf\x91\x9e\x66\x24\x73\x8a\x9e\x04\xfc\x67\x9a\xe4\x73\xc9\x0b\x3b\xed\xe3\x35\x8b\xc5\x82\x57\x29\x64\x73\xa3\x00\x2e\x86\x8f\x3f\x7e\x39\x9d\x7d\xcf\x2e\x66\xe7\x17\x17\x6f\x7e\xb8\xf0\xc2\x43\x40\x6c\x88\x35\xae\x98\x82\x67\xfc\x86\x45\xfb\x08\x00\x71\x28\xea\x53\x5f\x0a\xd6\x41\xf0\x6e\xd9\x09\x6f\x65\xb2\x4c\x22\xd1\xf1\x82\x0a\x01\x12\x04\x1b\x61\xc0\xa9\xeb\x2e\xd6\x9a\x04\x78\xd0\xfc\xb9\x9a\xec\x8f\x26\x1a\x8e\x16\x5b\x35\x8c\xd4\x52\x4f\x34\xc9\x18\xd7\x28\x7f\x5d\xca\x9c\x41\x73\x0a\x06\x66\xc3\x6f\x18\x6c\x80\xd0\x18\x22\x4d\x07\x8c\xfd\x5c\x4d\x26\x7b\x18\xba\xd7\xc2\xec\xf4\xfc\x2f\xdf\x5d\x7e\xc7\x5e\xbf\xb9\x3c\xed\xb3\xff\xd2\x2d\x93\x32\x15\xbd\x5a\x2a\x5e\x0d\x2b\x1b\xbf\xca\x62\x19\x54\xf5\x57\x41\xd3\x79\xed\xcd\xe6\x52\xd7\xa1\xc5\xec\xed\x4d\xdd\x00\xf8\xb7\x87\x24\x2f\xc9\xb0\x11\x82\x09\xd3\x59\x85\xe8\x11\xaa\x4a\xe8\x90\x80\x94\x87\x85\x4b\x5e\x64\x42\xd9\x90\x28\x94\x5a\xde\x24\xf1\x5f\x83\x8b\x34\x46\x13\xa3\x7c\xc3\x45\x95\x65\xf6\x2e\xc2\xe9\xea\x8e\x4e\x44\x0e\x16\x8c\x1d\x2c\xba\x88\x0a\x99\xa6\x6f\x65\x81\x09\x3d\x95\x26\xf0\xf6\x8b\x10\x99\x29\x7d\xc2\x1a\xff\xa8\xde\x25\x41\xa7\xde\xfe\xa7\xcb\x87\xdb\xfe\x74\x39\x98\xf1\x2c\x13\x31\xd6\xfc\x10\x92\x29\x04\x89\x26\x22\xf6\xe2\xec\xb3\x42\x5c\x25\x0a\x12\x74\x23\x22\xe3\xc5\x85\x65\xe7\x48\x96\x6a\x08\x4c\x79\xb4\xe2\x0a\x2e\x61\x5d\x3f\x09\xea\x19\x06\xc0\x8c\xf1\x99\xc9\x4c\xf7\x84\x31\x38\xcc\x43\x8f\x6b\xc7\x6e\x21\x68\x42\x05\xc1\x86\x92\xec\x46\x5e\x0b\x38\x15\xe6\xc5\xb0\x46\xf5\xe0\x84\xbb\xf4\xc3\xc3\x27\x8d\x19\x23\x30\x3a\x7d\x2f\xa5\x11\x4c\x00\xb9\x02\x3b\x03\x99\xbd\x03\x5a\xd9\x45\x92\x69\x38\xd4\x16\x32\x8a\x7f\x0c\x34\x99\x47\x6e\xcf\x4b\x19\x8c\x5d\xf7\xd9\xc8\x31\x76\xde\x08\x97\x7c\xde\x2d\xf9\x3c\xc8\x90\xc9\xe7\xc8\xbf\x42\x9f\x91\xbe\x9d\x3d\x5f\x67\xfc\x9b\x86\x87\x0c\x70\xba\x01\xfd\x7d\x1e\xf7\x81\xa4\xf7\xed\xdc\xdb\xbd\x3d\x4d\xce\x9d\xe2\x2a\xc9\x62\xde\x3b\xb4\x5b\x07\x91\x05\xd9\x2d\xf0\x62\xac\xca\x31\xbc\x0b\xbb\x19\x33\x9e\xe7\x1d\x05\xf1\xca\xae\x0a\xb8\xb8\x73\xa4\x5c\xa6\xbb\x57\x7c\x3d\x17\x2c\x00\x4a\x27\x93\x99\xe8\x50\xc4\xa9\x39\xa5\xb0\xf6\xc2\x8b\x41\xd2\x6f\x1b\x2d\xc7\xf4\xd5\x02\xdd\x4e\x06\xe1\x8f\x6c\xc4\xf2\x8d\xc0\xad\xe5\xb1\xfc\xc2\xd0\x0c\x20\xe6\xc4\x35\xf8\xd2\x38\xe6\x2f\xcb\xf8\x4d\x72\xc5\x4b\x59\x0c\x2a\x25\x8a\xe9\x95\xc8\x4a\x93\xcd\xec\x67\x05\xcc\x91\xf8\x79\xd8\xfd\x39\xfe\x39\xee\x0d\xbd\xa4\xa3\x26\xf8\xf5\x11\x65\x34\xcb\x79\xa1\xc4\x79\x56\x76\x31\xb5\x59\x8f\x1d\x5a\x21\x1c\x05\x05\x6f\x3b\x21\xd0\x31\x6e\xa4\xc2\x69\x35\x4b\x06\x6a\x9d\x45\x9e\xa2\xd5\x0e\xf8\x0d\x9b\x78\x59\x49\xdb\xd6\xa8\x17\x45\xa1\xc1\xa9\x64\x80\xeb\xe8\xb6\x0c\xd1\x8e\x21\x8f\xec\xf6\xa5\xbe\xcc\xba\x75\xe0\x53\xfa\x1f\x1a\xac\xe4\x73\x65\x32\x37\xd5\x63\x4d\x30\x8a\x6f\x1a\x6b\xc4\x50\x14\x70\x48\x94\x22\x2a\xf1\x79\x17\x3b\x5b\xcb\xaa\x03\x71\x9b\xfc\xda\x78\xc7\xa4\x49\xa9\xc9\x3f\xbf\x85\x38\x7a\xe6\x41\x3f\x51\x6f\xa9\xe6\x34\xcf\x9d\x33\xef\xfd\x3b\x51\x68\x36\xaa\xad\x44\x1f\xb2\x57\x3c\x4b\x16\x42\x95\x3e\xfa\xac\xa8\x8c\x1d\xdd\xd3\xa0\xeb\xa1\x4c\x7d\x5a\xa6\x83\x81\x5e\xce\x97\x5f\x06\x7f\x0f\xdc\x59\x0b\xa4\xe7\xa0\x0f\x2f\xa2\xf7\x5b\x1f\x90\xc0\xba\x42\x90\x37\x8f\x91\x48\x1c\xc3\xa6\xb7\x64\xd0\x24\x54\x48\x32\x30\xa9\x39\x92\x91\x7f\x68\x92\x76\xc8\x3a\xb9\xcc\xab\xbc\xf3\xb9\x67\xc9\x98\x8f\x2d\xf7\x01\x55\x8f\x14\xa4\xd0\xd5\x88\x71\x25\xca\x19\xa5\xa8\xc2\x3c\x8b\xba\x04\xf9\x2c\x4d\xfc\xe0\x8e\x4d\x14\x7b\x4a\x79\xac\xd2\xb5\xb9\x5b\x9f\x62\x86\x54\x88\x6f\x66\x3a\x2c\x65\xbe\x92\xfa\x62\x2f\xd8\x42\x46\x98\x52\x94\xcf\x07\x21\xb9\x84\x05\xbb\x61\xbb\x40\x78\xdb\x31\xff\x91\x10\x21\x9a\xe4\x40\x62\xf0\xff\x73\xaf\x91\x58\x33\x16\x51\xb2\xe2\x29\xfb\x87\x51\x1e\x2e\x05\x88\x61\x9f\x89\xbe\xa2\xa4\x1e\xcb\x15\x06\x0f\xf6\x18\x08\x3d\xe5\x34\x11\x59\x79\x81\x31\x3e\xec\x85\x15\xcb\x55\x20\xc3\xc6\x12\x2a\x43\x6a\x92\x24\xbb\xc2\x46\x3f\x88\x08\xf0\xaf\x99\xea\xd3\xcc\xc8\x8b\x1b\xf8\x98\x59\x34\x34\xa3\xbf\x61\x1a\x03\x52\xc2\x6c\x9e\x0c\x41\xe5\xd1\xb3\xf9\x0e\xeb\xff\xce\xe9\xe0\x68\xc1\x7c\x34\x77\x5c\x4b\xa0\x96\x0a\x9b\xef\x1a\x74\x7f\x6b\x55\x8a\x55\x53\x66\x30\x2c\xcd\x77\x97\xaf\x5e\x9e\xc8\x08\x32\x21\x52\x06\x08\xfa\xcb\xe5\xa5\x0b\x3a\x8d\x64\xbe\xf6\x17\xa7\xff\xbe\x30\x15\x2e\xe5\xcc\x0c\x14\xae\x12\xbb\xac\x27\xfc\x34\xe5\x03\x71\x27\xa2\x99\x5c\xad\x78\x16\x77\x3b\xba\xc7\x4e\x98\xfb\x73\x91\x14\x62\x21\xef\x4e\x4d\xb6\x43\x8f\x8c\x9c\x5f\x65\xb2\xc0\x4c\x7a\x03\x76\x76\xd6\x96\xc5\x95\x6c\x5b\x34\x9f\xc0\xf1\x4b\x51\xc8\x82\x62\x69\xda\xf7\x1c\x46\x51\x48\xbc\x47\x1c\x48\x6c\xec\xdb\x49\x0c\xea\x2f\xf7\x6f\xb9\x2a\x45\x2b\xa0\x31\x50\x14\xe4\x66\xc3\x88\x49\x08\x4f\x38\xf1\xbf\x61\x13\x4a\xc9\x72\x18\x43\x77\xe7\xc3\x1d\x4a\xcf\x0a\xb9\xfa\x27\x40\x1c\xfa\xfa\x8f\x02\xf2\x99\xcc\x54\x59\x54\x51\x09\xf4\x53\x9f\x3c\x92\x46\x34\xc1\x29\x44\x24\x1d\x92\x9f\x53\x34\x4f\x65\x35\x40\x10\xa2\x14\x43\x5d\xe5\xd5\x3c\x4d\x22\x56\x08\x1e\x0f\x6f\x21\x7b\xeb\x4a\xac\xe6\xa2\x50\xe6\xe1\x8f\x62\xb1\xe2\xb1\xdb\xf8\x6a\xe6\x54\xef\x9e\xce\x3d\x51\xde\x4c\x9a\x6d\x88\x6e\x80\x04\x83\xbf\x36\x5b\x99\x7d\xae\xd3\xd1\x80\x20\x7b\xc9\x39\x8d\xaa\xd9\x6a\x8e\xa1\x74\x69\x28\x4e\x0b\xf1\x98\xc6\x00\x6c\x17\x05\xd8\xad\xb6\x65\x3e\x0f\x2c\x5e\xf3\x59\xbf\x0b\x00\xba\xe1\xa3\x80\xe0\x85\x7a\x29\x84\xfa\xd3\xa0\x42\x24\x9e\x03\xa1\xdb\x04\x07\xa3\xdb\x75\xb3\xfb\xcc\xa6\xb8\x14\xb7\x69\x36\x96\xac\x23\xa4\x7c\xe5\xc1\x1a\x02\x92\x59\xe4\xda\xb0\xd4\x28\x95\x99\x68\xe6\xd4\xa4\x09\x84\x23\x76\xdd\x92\xfb\xfe\x42\xc3\x0b\xf5\x82\x9e\xc3\x08\x08\x18\xff\xd2\xdf\x38\x3b\x6f\x1b\xce\xdb\x24\xf7\xf7\x66\x58\xc3\x08\x1f\x10\xc0\x0d\x41\x22\x01\x88\x26\x64\x2e\x0d\xab\x85\xdf\xb0\x52\xcd\xc6\x48\x7f\xa5\xba\x9f\x96\xad\xd4\xc5\x83\x0d\xfb\x09\xdf\x5a\x36\x15\x4c\x88\x92\x45\xcb\x42\xdc\x6a\x13\x45\x31\xeb\x81\x6c\x83\x5a\xeb\x91\xcb\xdc\xd4\xe5\xa0\x69\x6e\xe9\x59\x5b\xce\x65\xb9\xb4\x55\x89\x26\x85\x48\x32\xc4\x95\xf4\xef\x35\x37\x6e\x85\x25\x2c\x44\xb5\x03\xd3\x58\x04\x7a\x30\xf5\x81\xaa\x59\xe1\x00\xa8\x9b\xa1\x6a\x8f\x0a\xbd\x5e\xd8\xf0\xbb\xbc\xf4\x93\x2c\xf9\xe0\x68\x7d\x19\xb1\x29\xc8\x91\x8f\xc6\xdc\xfa\x09\x69\xc3\x37\x91\x26\xa7\x4b\x71\xbd\x6f\x80\x46\x29\x2f\x1a\xcf\x2b\x01\x2c\x3a\xef\x5d\x3b\x2f\x59\x3d\x3d\xba\xb1\x4e\xdf\x95\xd1\x24\x20\xfd\xfd\x8b\xc7\x5c\x4b\x3f\xc8\xdb\x99\x4c\xff\x79\x17\x13\x64\x81\xb6\x0f\x63\x81\x26\x0b\xfb\xc0\x38\x91\x02\x6e\xdd\x8e\xbc\x11\xc5\x22\x95\xb7\x1d\x36\x4f\x4a\x17\x41\xb1\x52\x02\x55\x53\xf8\x2c\x60\x95\x84\x0c\x55\xc1\x26\xd2\xff\x92\x2b\x36\x17\x22\x63\x2b\x1e\x43\x83\x95\x24\x24\xa5\xdc\x06\xf4\xf2\x65\xb2\x5b\xe3\x93\x18\x3d\x3b\xeb\x8e\x14\x6a\x08\x99\x49\x90\x9c\x28\x9b\x35\xeb\x56\xb0\x54\xf0\xd6\xee\xe8\xed\x1b\x72\x7e\x73\x08\x7d\xa7\x8b\x9f\xd8\x20\xe1\xd4\x2d\x28\xb0\x15\x51\x33\xb3\x50\xbd\xce\x01\x63\xe7\x34\x1a\x26\xd2\xa5\xee\xf5\xec\x35\xf3\x03\x84\x97\xa6\x81\x52\x51\xba\x46\x75\x38\xcf\xd6\x76\xf1\x9a\xf3\x2a\x92\xac\x04\x22\xeb\x99\x00\x45\xbc\x52\x98\x4e\xa0\x18\xa6\x10\xff\x13\x42\xad\x6d\xbc\x23\x21\x60\xe2\x52\xc0\xcf\xc7\xdc\x8d\x04\x04\xef\x31\xff\x9e\x56\xd6\x86\x5b\xe6\xe5\x47\x0b\x03\x9b\x48\x9d\x3e\x9b\x8d\xb6\x67\x4c\x43\x0c\x11\xd3\x1c\x23\xbd\xd5\xa6\x7d\xa8\x87\x27\x04\xf6\xce\x4e\x21\x6f\xfb\x34\xb7\x7e\x30\xb0\x47\xad\xf5\x6a\x8f\xf4\x9a\x5f\xb8\x9c\xcb\xb0\x98\x23\x6a\x69\xcb\xed\xac\x8f\xd8\x17\x5f\xf8\xbd\x6d\x62\x56\xc2\x13\xf0\x58\x56\xc5\x6c\x83\xde\xcd\xdf\xb1\x15\x80\x04\xff\xeb\x6c\x87\x47\xdd\xe0\x4c\xfe\x4f\xde\x9d\xdf\xc1\x34\xe1\x3a\x42\xb6\x89\x50\x6d\x03\xe3\x44\xfb\x0e\x8e\x07\x96\xf8\x6d\x04\xcb\x63\x19\x27\x6c\xd8\x35\x60\xe9\xfb\xe0\xe8\x87\x30\x68\xe7\xa3\x36\xa0\xe3\x43\x5c\x14\x4d\xb8\x95\xc1\x30\xb0\x79\x2c\x27\xd5\x58\xfc\x43\xbc\x14\xee\x3f\xdc\xeb\xad\x48\x00\x5f\x36\x63\x02\x7c\x6e\x45\x84\x76\x46\xab\xbe\xaf\x8f\x67\xb5\x9a\x90\xd8\xdc\xed\x1f\x60\xb7\x0a\x79\x3b\x34\x5b\xfe\x30\xb3\xd5\x00\xf7\x23\xd8\xad\xae\x83\xbb\x03\xbc\xe5\xb5\x0c\xe0\x03\xc8\xfb\xaa\xf4\xc6\x1e\xd4\x36\xa1\x55\x67\xf6\xe7\x32\x66\xed\x78\x7f\x1f\x5b\xd6\x80\xdb\x83\x8c\x59\xd7\x70\x66\xd8\xd4\xe3\xcd\xf4\xe8\x21\x67\x46\xf3\x30\x85\x1b\x41\x07\xac\x5b\xaf\x35\x45\x5c\x68\x84\xf2\x71\x51\xf0\x95\xf8\xdf\xcc\x14\x65\xe1\x1b\xa1\x9c\x41\xdc\xd9\xb8\xe0\x0b\x6b\xf8\x08\xbe\x64\x0b\x1e\xb9\xf4\xb1\xc1\xfb\xb6\xde\x70\xae\x57\x50\xc4\x60\xf0\xb1\x66\x71\xc2\x53\x79\x55\x7f\x51\x2d\x64\x75\xb5\xd4\x7c\x58\xd9\x21\x9d\x8e\xdf\xcd\xd6\x37\xd8\x8a\xa5\x7c\x2d\x8a\x01\x63\x97\xd2\xbe\x80\x32\x78\x5c\xc3\x1c\x18\xa2\x93\xa6\x98\xbe\x82\x12\xb9\x46\xa8\xb1\xda\xfa\xc6\x4e\xc8\xf6\xa0\x01\x04\xe9\x04\xf0\x64\x4b\xb6\xe0\x51\x92\x26\x25\xc4\xf0\xfd\xaa\xd9\xd2\xce\x41\x16\x2c\x4e\x0a\x4d\x5e\x6d\x1d\xfa\xa2\xff\xae\x32\x7a\xb5\xb7\xac\x3b\x4b\x56\xfc\x0a\x6d\x81\x2d\xcf\x0d\x03\xa3\x1d\x14\x53\xc9\x55\x06\x6f\xfd\xf0\x0e\x40\xc6\x10\x2e\x5d\x6c\x18\x02\xdd\x4a\x0d\x10\xf6\xf8\x96\x01\xca\x59\x73\x05\x54\x29\x9b\x19\xd7\x28\xa4\x05\xc1\x3f\xc2\x57\x76\x54\x20\xe6\x1c\xf4\xc1\xb6\x12\xde\x20\x3e\xb3\x52\x15\x69\x98\x36\x56\x17\x94\x92\xa5\x92\x5b\xd4\xc2\x13\xe0\x35\x02\x0e\x20\xc7\x2c\x62\xff\xc0\x68\xc1\x9f\x1d\x7f\x63\xbe\x98\xf9\x63\x73\x06\x89\x5c\x6c\xe4\xf8\x90\x9d\x39\x83\x05\xfb\x94\x93\x66\xdc\xd7\xf3\xe9\xfb\x03\x7a\xf7\x97\xa9\xf4\x51\x5f\x46\xf4\xbb\xbd\xa8\xe2\xe4\xc6\x2f\x87\xbf\xed\x47\xbd\xc8\x23\xdd\xb5\xbb\xd7\x68\xd2\x47\xc1\xe2\x3e\x7d\x02\x9b\x28\xaa\x93\xc0\x4a\x3e\x5a\xfb\x23\x7b\x5f\x62\x5e\xdf\xa2\xf1\x85\x2c\x65\x66\x4b\x9e\x65\x22\x75\x9f\x3d\x22\xfd\x1d\xe6\x1b\xa6\x9a\x5e\xda\xc2\xc4\x42\x3d\x00\x92\x47\x37\x65\x46\x26\x31\x1f\x7d\xc8\x09\x67\x2f\x2f\x06\x90\xc8\x3a\xd3\xb0\xfd\xe2\x88\x75\x92\x3c\xda\x4a\xb2\xa4\xdc\x92\xd7\x1d\xa3\xc8\x05\x57\x9b\x54\x0c\x52\x79\xd5\xed\xfc\x98\xa1\x8d\x89\x31\x44\x82\xc9\xc0\x3c\x0e\x3b\x7d\x86\xdd\xf5\x7c\xbb\x50\xfb\xc4\x07\xcb\x55\x22\x8b\x0d\xfe\x9d\x67\x0b\xf9\x11\x1f\x11\xdb\x40\x31\xc8\x65\x51\x8e\x07\x32\x5b\x59\xab\x1e\xdc\x06\xb3\x26\x7c\xbb\xb2\x31\xe3\xe9\xe3\x4b\xc9\xe3\xda\xcb\x10\x3e\x8e\x28\x16\xc1\x7b\xbd\x26\xa0\x05\xa6\x53\x4e\x54\x9f\x9d\xb3\xab\x4a\x28\xab\x69\x3f\x2f\x21\x09\x55\xd6\xb1\xaf\xb9\x98\xb3\x3c\x07\x1a\xab\x4a\x91\x41\x26\x04\x2d\x03\x9e\x77\x56\xf4\xea\x6b\xac\x67\xd0\x20\x20\xcc\x3a\xb5\x14\x85\x30\xf4\x2d\x2f\xe4\x9c\xcf\xd3\xb5\x09\x2d\x5f\x4a\xa6\x72\xc1\xaf\x89\xae\x60\x4e\x2a\x59\x15\x74\x28\xd5\xa3\xb6\xb6\x76\x27\x36\x11\x07\xd1\x84\x21\x68\x30\xe7\xf4\xfd\x1d\xeb\x7a\x1f\x9b\x57\xed\x26\x7c\x15\xb7\xec\x55\x50\xfa\x07\xf6\xf4\x63\xdb\xa6\xb6\x77\x02\xb6\xab\xde\x50\x74\xf4\x06\x94\x6a\x89\xde\x37\x73\xa9\x4a\xea\xdb\xa4\xcc\xff\x87\xc6\xf6\x43\x87\xeb\x9d\x3e\xe3\xc5\xd5\xcd\x21\x7b\xff\x0f\x1a\xe9\xad\x2c\xca\xc3\xcd\x63\x4f\x3e\x7f\xf8\x6c\x2c\x91\xde\x6f\xae\xf5\xa1\x6f\x29\x49\x3b\x3e\xae\xf8\x3a\xc4\xc6\x87\xb7\x65\xf3\x66\x5f\x40\x42\xbe\xe0\xf2\x4c\xb2\x85\xf4\x2d\x1e\x1f\x47\x33\x1a\x47\xb4\x89\x09\xc0\x1f\x0c\xae\x44\x39\x8d\x22\x91\x97\x2f\x79\x76\x55\x69\xd2\xe4\xb2\x53\xa4\xa6\xc8\xbd\x90\xc3\x02\xfd\xed\xe8\x04\x13\xed\xf4\xd9\x7b\x2f\x4b\x34\x0f\x7b\x3e\x64\xb6\x47\xcf\x06\x6c\x21\x0b\x81\x86\x04\x33\x99\xca\xe2\xb0\x46\xf3\xf5\x0c\xcf\xc2\x2a\xdd\x9e\xd7\xdc\xd9\x21\x6c\x6c\x7e\x1c\x56\x09\x9a\xa3\xb2\x68\x63\xd3\x99\xfb\x1c\x34\x5b\x48\x7c\xf3\x6e\x9f\x2d\x7e\x6b\x34\x38\xe3\xab\x24\x5d\x6f\x6a\x82\x5f\x6b\x6b\x53\xe2\xc7\x1f\x5e\x1e\xba\xbd\xfa\xf1\x87\x97\xdd\xce\xb0\xd3\xf3\xf8\xdd\xcf\x1f\xec\x1f\xe6\xa1\xdf\x3b\x7f\x21\xd2\xfe\xa8\x44\xc1\xa2\x34\x89\xae\x49\x81\x17\xa5\x52\x09\x4d\x08\x4b\x30\xf7\x72\xf7\x38\x8b\xb5\x38\x6f\x79\xa1\xcd\x08\x3d\xd3\x3d\xcc\xb0\xcb\x4d\xf4\x06\x46\x69\xd0\x73\xa9\x88\xab\x7a\x10\x9b\x71\x96\x8d\xbe\xc1\x88\xaa\x7e\x35\x7f\xfa\xc4\xea\x65\x03\xa4\xc4\xaf\x65\x2c\x42\x37\xa4\x17\x4f\x9a\x77\xbb\x57\x79\x50\x88\x95\xbc\x11\xb3\x65\x92\x22\x34\xbd\x6a\xfe\x6d\x35\xf3\x97\xf7\x07\xe9\xc3\xac\x65\xa9\x35\x02\xc1\xf8\x6f\xa7\x07\xde\x91\xf5\x3b\xd7\x44\x14\x09\x67\x1d\xa2\x35\x62\x88\x70\xc3\x7c\x30\xfa\xae\xc0\x7c\x30\x1d\xd3\x65\x84\xd5\xac\x09\x95\x28\x59\x95\x0f\x40\xf8\xb8\x97\xfc\xfb\x94\x84\x28\xba\x9b\xd2\x21\xfc\xff\xb9\xa6\x87\x59\xca\x5b\x4c\x94\x75\x4e\x8c\xa7\x8f\x40\xc6\x52\x94\x6e\x4b\x55\x44\x66\x4a\x9a\xcf\x15\x64\x8a\x8e\x8d\xc8\xb4\xc7\x1a\x84\xde\x4b\x4e\x97\xa0\x09\xa9\xe1\x1f\x26\x5a\x49\x17\x74\x01\xbe\x08\x6d\x27\xf3\x92\xc0\x4b\x56\x6a\x3f\xf1\xb4\x12\xbe\x21\x25\xf0\x6b\x49\x06\x5d\x18\xbe\xb4\xe6\x26\xe7\x7f\x7a\xaf\xeb\x7f\x78\xf1\xc4\x77\xd7\xf1\xbb\xb6\x3c\x5a\xdb\xb4\x4c\x96\x1f\xff\xa4\x38\x75\x44\xdb\x41\xa9\xf1\x8d\x02\x37\x1c\x19\x78\x9e\x16\x82\xc7\x6b\x76\x93\xa8\x64\x9e\x92\x2d\x41\x83\x57\x04\x8f\x03\xc1\x63\x51\x58\x4b\x98\xce\x78\x2f\xbf\xeb\xbc\x30\x5f\xe3\xe4\x86\x1e\xbc\x5b\xcc\x89\xba\x96\xbd\xef\xd9\x06\xe6\x55\x50\x03\xb7\x03\x7f\x74\xfa\x6c\x6f\x07\x2d\x9c\x70\x3c\x1a\x09\x6a\xe0\x5f\x9d\x3e\xdb\x39\x70\x55\x52\xcc\x67\xdf\xa5\xc1\xe9\xdd\x67\x8b\x91\x67\xdb\x10\x3d\x0c\x75\xcd\x52\xe6\x7e\x45\xea\x7b\xcb\xbe\x3b\x43\x55\xb3\x14\x63\xc2\x71\x54\x27\xef\xe6\xcb\x47\x5b\xd7\x02\xdc\x54\x0e\x24\x0b\x6b\xb4\x11\x15\x82\x97\xe2\x14\xe5\xa8\x6e\x27\x4e\x6e\x10\xd0\xb6\xf6\x00\xb4\x06\x83\x48\x29\x30\x8b\x3f\x62\x86\x39\xea\x98\x1c\x49\x87\x8c\xcf\x21\x37\xae\x78\xe1\x94\x24\x1d\xb2\xb9\x3b\x64\x5b\xb7\x62\x7e\x9d\x94\x5b\x8b\x54\xdc\xf9\x15\xfc\xf2\x2d\x64\x6b\xa1\x33\xd2\x11\x7a\x35\x4b\x99\x1f\xb2\xf1\xe8\xbf\xf8\x65\x1a\xc0\x87\x6c\x27\x28\x03\xe0\x1e\xb2\xe7\x61\x4d\x04\xe4\x21\x3b\x08\x8b\xe7\xf2\x6e\x4b\x2d\x79\x2c\x6f\x0f\xd9\x88\x8d\xd8\x24\xbf\x73\x8a\x9f\xfb\x19\x03\xf6\x8c\x75\xc2\xae\x8a\x58\x14\x87\xbf\xb5\x0b\xa6\x64\x9a\xc4\x2f\x3a\x0e\xf3\x10\x91\x1f\xb3\x3d\x58\x73\xf3\xde\x3c\x1a\xfa\x94\xfc\x78\x8b\x78\xe1\x43\x06\xdb\x21\xb2\xb8\x0d\x84\x7a\x71\xc1\x61\xab\x03\xc2\xf2\x40\x5b\x11\x32\x3b\xbf\x13\xa2\xf7\xb6\x6e\x70\x5a\xf5\xd6\x9a\x0d\xda\x52\xc0\x38\x69\x52\xd0\xf8\xb4\x20\x16\x69\xd3\xe4\x1c\x9b\x54\x3b\x0a\xa0\x6e\x89\xf1\xaa\x46\x38\xf4\x2c\xe1\x03\x1d\xaf\x67\xd1\xf4\x1a\x92\x89\x5a\xbd\x85\xcf\x03\x0d\xac\x31\x2c\xf1\x44\x8f\xd8\x70\x66\xda\x2a\x51\x4e\x4b\x4a\x46\xda\xed\x14\x32\x05\xf7\x38\xfc\x58\xaf\xba\x01\x3b\x18\xeb\xac\x78\x71\x95\x64\x5b\x70\xb2\xb6\xb6\x03\x18\xb9\xaf\x05\xee\x7a\xe3\x33\xb2\xb3\x87\x2c\x97\xa0\xda\x7b\x51\x1b\xb6\x14\x77\xe5\x0c\xd1\x89\x5c\x52\xf8\x64\xd1\x09\xaa\xf0\x38\x3e\xd5\xd2\xe5\x4b\x92\x93\xbb\x1d\xe0\x17\x3b\xfd\x80\xdb\x31\x0c\x5f\xc8\x69\xea\x6e\x08\xfd\xfd\xfd\xc0\x9e\x7b\xc1\xc5\x40\x37\xf4\x51\x5d\xe3\xb2\x09\xda\x58\x03\x97\x43\xec\x8e\xcc\x52\x14\xa6\x3c\xa5\x41\x5d\xf4\xa4\xaa\x7f\xfc\x30\xea\xf2\x43\x36\x6e\xa1\x69\xe0\xea\x15\x0c\x16\xa0\x81\x2a\xa2\x4e\x20\x43\x6e\xaa\x27\xf8\x2a\x15\x4a\xe9\xca\x45\x25\xee\x41\x6f\x6c\xee\xf1\x56\xfa\x8e\x0c\x6a\xd8\x76\x8f\x52\x7c\x5f\x8b\x35\x1a\x8b\xfe\xef\xa3\xfb\x46\x76\xe2\x7b\xb3\xb0\xef\xc5\xfa\x15\xcf\x7d\x5d\xb8\xf9\xc4\x96\xa0\x5e\xb1\x41\xad\x66\x32\xc3\x1c\x97\x32\xfb\x5e\xac\xbf\x42\x45\x0b\x66\x49\x45\xcf\x1e\xfd\xe5\xa7\xcb\xef\xc5\x5a\x95\x85\xbc\x16\x46\x66\xe2\x4a\xc9\x28\xe1\x25\x66\x78\x0f\x55\xb4\x9e\x36\x16\x59\x78\x01\x5a\xee\x43\xf6\xfe\xff\xba\x3c\xfd\xe1\xd5\x07\xc6\x35\xf4\xc8\x43\x0e\xd6\x7a\x53\x0e\x7e\x6d\x98\x8d\xb6\xe9\x7d\x6b\x43\x78\xd3\x30\xaf\xa9\x89\x62\x76\x7f\x3d\x06\xd7\xae\xbf\x45\x17\xeb\x42\x31\x39\xcd\xf2\x4d\x89\x6f\x05\x79\x21\x28\x28\x50\x40\x9d\x03\xc5\xac\x6b\x6c\x6d\x61\x45\xa7\xb0\x56\xcb\xe9\x9a\x45\x3c\x2f\xd1\xfb\xca\xcc\xcd\x00\x7a\x21\x5d\xe7\xe6\x1b\xd1\x00\xa7\x56\xf5\x06\xd0\xad\xcc\x1e\x2a\x8c\x76\xe4\xf2\x9f\x03\x30\xd1\x69\xa3\x5c\x8a\xa4\x60\x90\xc6\x11\xd8\x7d\x7d\x1d\xaa\x3e\x53\xfc\x46\xef\x98\xee\x4e\x49\xf4\x9b\x43\xd4\x63\x55\x06\x6f\x5a\xe0\x29\x46\xa9\x9e\xb5\x2c\x18\x90\xc6\x3e\xea\xfb\x29\x8e\x4c\x6c\x27\x6e\xe6\xf3\xd1\x66\x06\x60\xec\x7d\x67\x9e\x56\x85\xa3\xa2\xc7\x69\x55\xf8\xc4\xea\x83\xd5\x45\x75\xae\xc5\x3a\x96\xb7\x99\xab\xfb\xbd\x58\x9f\xc8\xdb\x6c\x73\xf5\xbc\x20\xc2\x61\xeb\xbf\xd5\x25\x9b\x1b\x54\x79\x50\xfb\xc7\x7c\x43\x55\x7d\x5f\x9c\x67\x79\x55\xba\xea\x97\xa6\x28\x68\xf2\x84\x31\x14\x4d\xe0\x7c\x31\x12\xc3\x8c\x9d\xfa\xb5\x58\xb3\x15\xcf\xe1\x72\xfd\x6a\xe8\xed\xef\x2b\x9e\x93\xf2\xb1\xf5\xc4\x1a\x3a\x6e\x5a\xe8\x01\x93\xec\x4a\xb5\xb7\x39\xa6\xaf\x5e\x2b\x3b\x9b\x4c\x66\xe2\x90\x9d\x24\x0a\x42\x6c\xf1\x6c\xcd\xa6\x69\xf9\x97\x82\x15\x22\x85\xd3\xb2\xaa\xb2\x2b\xe3\xe5\xf5\x15\x8b\xca\x22\xdd\xe2\x69\x79\xc8\xa6\x90\xf2\x96\xcd\xca\x22\x7d\x36\x4d\x4b\xb6\x12\x3c\x53\xd8\x96\xea\x6a\x6e\x37\xa8\x0b\xf2\x45\x7b\x5d\x20\x95\x41\x65\x24\xb4\xad\xb5\x2d\x9c\xb8\x2e\x7b\xa5\xc9\xa7\x71\x5a\x0b\xd7\x76\xbe\xc0\xd4\x8a\xec\x62\x99\x2c\xca\xad\xf3\x4c\x89\x82\x5e\xc7\x16\xe0\x19\xbe\x84\xf7\x39\xa3\x2c\x30\x4e\x36\x90\xc0\x1a\x6c\xc1\x07\xb6\x1f\xe0\x94\x20\x41\xbf\xde\x33\x22\x71\xd0\xd3\x1c\xb4\xe1\xd6\x52\x6b\x29\xc1\x06\xca\x9f\xa6\xd2\xa3\xe3\xe0\x68\x27\x7f\x44\x71\x08\x5b\xe7\xba\x94\x2b\x31\x14\x60\x8d\x9a\xa6\x36\xec\x58\xf0\xfa\xa8\xc0\x15\x75\xce\x0b\xf4\x88\xd7\xdd\xdb\x66\xd8\x1b\xb4\x55\x02\xcf\x37\xfb\xe9\x52\x4f\x5a\xdf\x33\x6a\xc0\xec\x6a\xf4\xa7\xcc\x0d\xa7\x40\xc3\xfa\xd3\x25\xdc\x47\x0a\x2d\x4c\x74\x57\x61\xf7\x34\xb6\xaa\x2d\x51\x7f\xd6\xa4\x1f\x9d\x64\xbd\x2c\x8c\xde\x0a\x2f\x40\x40\x56\x8c\xcf\xe5\x8d\xe8\x93\x8d\x3c\xf0\x9a\x39\xbf\x12\xac\xca\x87\xf0\x53\x9f\xf0\x5a\xef\xba\xfc\xa1\xde\x2d\xfc\x34\x46\x6e\xbd\x4d\x2b\x35\x7c\x95\x64\x95\x1a\xfe\xbb\x28\xa4\x01\xa3\x02\x8f\xf7\xc6\xae\x42\x13\xc4\x91\x7b\x1b\x52\x4d\xf8\x4c\xf0\xfa\xeb\xc7\x3e\xf6\xe6\x86\x85\x76\xb1\xb4\xa1\xaf\xc2\xb5\xe8\x13\xa4\xab\x41\x27\xba\xea\xbf\x4b\xb9\x6a\xc5\x08\x38\x5a\x33\x74\x7a\x57\xe0\x48\x00\xeb\xa3\x71\x67\x1a\xe1\x34\xb2\xe9\x2f\xd6\x43\xc0\x34\x83\xc5\x3c\x9b\xb5\x56\xc6\x6e\x5c\xb7\x5e\xe3\x60\x96\x33\xf0\xaa\x69\x05\x36\x8c\xf1\x13\x9e\x91\xe6\xd4\x7e\x7a\xc4\xd4\x7e\x6a\xad\x8c\xdd\xb8\x6e\x37\x4d\xed\x27\x73\x8e\x5a\xe6\x76\x0a\x2e\xf4\xc3\xd8\x50\xb4\x3c\x4f\x8d\xfb\xbb\xbe\x10\x78\x8c\xfd\x19\x5a\x9c\x28\x7a\xb0\x26\x33\x5b\xbe\x66\x59\xb5\x12\x45\x12\xc1\x41\x87\x6b\x13\xce\xb7\x7d\x97\xf4\xb8\x86\x80\x18\xb9\x81\xbe\x87\x71\x1e\x35\x3d\x60\x91\xbc\x29\x5a\x13\xcd\x58\x3c\x38\x4f\xaa\xfb\xbb\xa7\x89\x2a\xfc\x07\x8e\x13\x10\x46\xcd\x13\x40\x04\x0e\xf2\xa9\x07\xca\x72\x7c\xc1\xba\x9d\x9f\xef\x46\x07\x9d\x3e\xe3\xd7\x9c\xfd\xf5\xbb\xde\x80\x61\x7e\xff\xdb\x44\x09\xec\x27\x6c\xae\xaf\x3b\xbf\x8b\xce\xcf\x77\xfb\x8b\x4e\x6d\x86\xb6\x3a\xbc\xf9\x1c\xdb\xc6\xad\xf3\xc4\xf0\x33\x98\x64\xd8\x28\x2e\x35\x49\x89\x79\xc9\x1f\xa2\xcb\xd6\x98\xf5\xd4\x74\x70\xc4\x3a\x55\xb9\xd8\x3a\xa8\xdd\x23\x17\xa2\x74\x79\x6a\x97\x42\x8f\xc3\x71\x2d\x80\xc3\x9c\xa5\x82\x43\x7b\xa1\x22\x9e\x0b\x26\x0b\x48\xb7\x1e\x8e\xa6\x1b\xc1\x8a\x4e\xb1\x52\xdb\x91\xf7\x07\xd2\xf5\xb7\x7e\x42\x07\x4b\x63\x58\x2c\xdb\x96\xa1\x3f\xbe\x12\x25\xff\xa9\x9d\x8a\x18\x02\x66\xd4\xc3\x3c\x45\xb6\x03\x6c\x90\x35\x3b\x16\x1c\x08\x5a\xc2\x00\xff\x91\x56\x3d\x63\xa7\x17\x33\x08\x56\x91\xdc\xd1\x51\xc6\x20\xa4\x03\x53\x6f\x1a\xc7\x6c\x3c\x39\x30\xc0\xae\x32\xb8\x35\x44\xec\x85\xcf\xe3\x4a\x33\xf0\x77\x14\x39\x05\xfa\xa0\x0b\x77\xeb\x5a\xac\x07\x03\xf6\x8e\x27\xa5\x55\x3d\x18\xde\x8d\x18\x59\xb8\xe7\x84\x60\xb7\xc6\x4c\xd4\xdc\xd5\x8a\xaf\x95\xe9\x2e\xfc\xd7\x85\x33\x73\x2b\xb3\x4e\xc9\x6e\x65\x71\xcd\x6e\x45\x9a\x6a\xa9\x24\x4f\x79\x09\x11\x21\xc9\x69\xde\xeb\xae\xb5\x23\x96\x8b\x02\xeb\x73\x1b\x5f\x84\xbb\x98\xd6\x10\x90\x46\x03\x55\x89\xbf\x55\x5a\x50\x51\x83\x5e\xfd\xe4\x2a\x51\x82\x95\x2b\x44\x08\x59\xf1\x12\x0c\xa8\x81\x45\xd6\x0d\x13\xc5\xe2\x44\x95\x49\x16\xd1\xf1\x05\xfc\xea\xf2\xb4\x3c\x87\x8d\x65\x89\xc2\xbe\x90\x1c\xf6\x1a\x4c\x10\xa0\xd5\x3b\x0d\x9a\x23\xd6\xc1\x0d\x7c\x00\x83\x0d\x12\xf0\x48\xcb\x70\x0a\x1e\x4e\x10\xa7\xfb\x60\xb2\x26\x38\x98\xaf\xe7\x85\x8c\x2b\x08\xb6\x0a\xdb\x4d\x3c\x60\x10\x77\xd5\xae\xb3\xa8\xe0\xd5\x05\x23\x98\xf4\x0d\x8b\x01\x81\x68\xb0\x44\x8b\x28\xba\x80\x57\xa5\x44\x57\x71\x67\x13\x6a\xf6\xa4\xc9\xe0\x11\x08\x1e\x20\x52\x05\x58\xe3\x49\x72\x41\x67\x27\xa7\x2f\x61\x79\x24\x3b\xd9\xa0\x40\x00\x5d\x9e\x96\x5b\x8e\x24\xc9\x8c\xce\x09\x3a\x40\xbf\xb9\x60\x37\x64\x83\xc2\xa1\x73\xdb\x17\xa0\xa3\xbf\x62\xa7\xd2\x3b\x64\x53\x32\xec\x4a\x56\x18\x2e\xa8\x48\xf4\x7e\xf7\xf5\xd2\x6c\xc7\xfd\xda\xc8\x89\xd2\xac\x7f\x2e\x88\xcf\x2a\xa5\x1e\x6a\xc0\x2e\x74\xed\x4a\x69\x0c\x59\xf1\xb5\x66\x2f\x97\x3c\xcf\xd7\x4e\x6c\x45\xf3\x0c\xb0\xc8\xb4\x55\x16\x45\xa5\xca\x02\xa5\x6c\x66\xc2\x20\x25\x65\x47\xb1\x64\x95\x4b\x05\x8f\x11\x00\x1f\x89\x74\xc5\xce\x62\x00\x40\x5c\xe2\x88\xb4\x79\x0a\xa5\x63\x7d\xde\x89\xb9\xb9\x85\xef\x00\x91\x24\xba\x86\x53\xae\x0f\x53\x08\x21\x3c\xaf\x4d\x10\x1f\x5a\x18\x07\xc5\x7d\xdd\x2b\xf1\xa9\x22\x40\xca\x2b\x09\x4c\x60\x1f\x19\xd4\x2b\x51\x32\x6e\xc6\x40\xc6\xdb\x5f\x23\xb9\x6e\x98\x4d\xc6\xe3\x94\xc9\x12\xf7\x4b\xc4\x03\x50\x2b\x50\xc2\xfa\xa8\x98\x57\x57\x83\x48\xae\x86\xe3\xfd\x9d\x9d\xf1\x88\x35\xf1\xcd\xde\x37\x88\x78\x0f\x5c\x3f\x3f\x12\x59\xbe\x16\x22\x67\x65\xc1\xa3\x6b\x63\x40\x68\x24\x3c\xbd\x66\xb8\x2a\x4a\x88\x9c\x61\x5d\x4f\x32\x11\x09\xa5\x20\x42\xbe\x2c\xdc\x5d\x79\xdf\x0c\x5c\xb4\x20\xe4\xa1\x81\x2a\x1a\x82\x69\x65\x21\xec\xcb\xd5\x05\xa3\x40\xb4\x46\xe4\x6c\x9e\x94\x2b\x9e\x23\x2e\x21\xf5\x9b\x27\x25\x33\x8f\x22\x8a\x45\xb2\x28\x84\xca\x65\x66\xa2\x2c\x61\x6f\x4f\x53\x89\x2c\xc3\x53\x4d\x12\x20\x1b\xbe\x59\xa7\x3d\x66\x4d\x50\x1a\x69\x5b\xc4\x36\xe2\x66\x0b\xbb\x6e\xcf\xdd\x4a\xc4\x09\x47\x6e\xc6\x08\x56\x78\x3e\x68\x2a\x49\xc1\xce\x00\x94\xe2\x6f\x55\x72\xc3\x53\x3b\x26\x3b\x1d\x5c\x0d\xd8\x53\x0d\xa8\xa7\x2d\x4d\xcf\xc6\x03\x9f\xd7\xc7\xf1\xc8\x44\x12\x2c\x88\x8c\x50\xd7\xb8\xb0\xe3\x84\x6b\xb1\x63\x5a\x88\x33\xfd\xb3\x1d\x05\xbe\x93\x29\x59\xa6\xe4\x85\xb8\x49\x64\xe5\x91\xfb\x05\x0b\xa8\x33\x50\xfc\x93\xd3\xd9\xc5\xe9\x25\x83\x9c\xb3\xe8\x82\x14\x0f\xc0\x2f\x08\xbb\x3b\x39\x9d\xfd\x70\x11\x7e\xee\x87\xbd\x58\x4e\x30\x06\xce\xca\x1a\x8f\xa3\x36\x07\x76\x9a\x44\xfb\x0a\x94\x34\xb2\x6a\x70\x0c\x34\xd1\xa9\xd7\x6d\xab\x6d\xde\x05\x85\xe9\x05\x40\x41\x04\x41\xe4\x37\x67\x20\x22\x42\x9c\x29\xab\xa7\x4a\xf9\x1a\x47\x6a\xa8\xd2\xf4\x2f\xd3\xc8\x58\x17\xfe\x23\xe0\x4e\xb4\x18\xae\xa7\x23\xb2\xf2\xc4\xdc\xad\xfa\xae\x2f\x65\xfe\xb6\x90\x39\xbf\xf2\x03\x57\xa1\xca\xce\x63\x09\x48\xc4\xc2\xbe\x44\x20\x2b\xcc\xa6\xaf\x67\xa7\x2f\x0f\x41\x1d\x82\xd6\x9d\xdd\x0e\x96\x75\x7a\xfd\x1a\x0b\xa9\x89\x9d\xb9\xe3\xf5\x46\x9a\x5b\xde\x99\xfb\x46\x41\xf8\x2c\xcd\xaf\x80\x1c\x0d\x41\x2b\x50\x05\x8b\x7d\x99\xe8\x12\xa6\x05\x69\xd8\x6a\x7a\x03\x6b\x87\x0e\x8a\x86\x22\xc9\x30\xbe\x39\xdc\xbe\xb6\x2b\x3f\xc8\xfd\x06\x35\x43\x30\x07\x99\x09\x73\x26\x57\x32\x4e\x16\x89\x61\x67\x70\x2a\xaa\x5f\x8b\x03\xa7\x3b\xa5\x55\xc3\x17\x9c\xb9\x9d\xf8\x42\x8f\xdc\xa5\xbb\x63\xdd\xb3\x04\x1c\xc3\x2b\x27\x65\xc0\x34\x6e\x99\x5b\x84\x3a\x31\xac\x10\x46\x60\x54\x48\x6f\x66\x17\xe7\x7d\x8a\xa3\x40\x5f\xcd\xc2\x38\x38\x35\x99\xbb\x8b\x31\xf4\xc9\x03\xf7\xbd\x60\x3d\x0c\x14\xbe\x82\xb8\xc9\x58\xa8\xa8\x48\xe6\xb8\x7a\xa3\x31\x36\x06\xbb\x18\xdd\xcc\x74\x67\xc2\xc7\xeb\x4f\x4f\xdf\xce\xb6\x2e\x40\xb1\x7e\x66\x2c\x12\xf4\xe1\x7e\xca\x14\x3e\xe6\xb6\x2f\xcc\xe8\x61\x88\x73\xd6\xf7\x93\xdd\x5c\x5d\xb6\x61\x4b\x5d\x98\x39\x3b\x19\xd3\xaa\xca\x73\x51\x44\x5c\x09\x1b\x1f\x88\x26\xe8\x98\xe7\x6b\xb1\x8e\x38\xc4\xcb\x21\x23\x74\xdb\xc9\xde\x0e\xeb\x62\x74\xfd\xce\x7f\xed\xf4\xa0\xcf\xe7\xbb\xb6\xe8\x63\xa7\x47\x97\xe7\x7d\x03\xd9\xce\x1a\x03\xae\x40\xc1\xb1\xb7\x83\x51\x0d\xb3\xd2\x5c\x21\x2b\x7e\x2d\x14\xeb\xfc\xf5\xbf\x76\xac\xf8\x36\x1a\x75\x9c\xaa\x88\x31\xd6\xf9\xeb\x47\xf7\x71\xbc\xe8\x0c\x18\xeb\xbe\x96\xc6\xb5\x52\xe3\xe8\x32\xb9\x42\x2e\x94\x97\x6c\x74\x37\x5e\xe8\x41\x46\x77\x93\x91\xbb\x1b\xdd\xbe\xc1\x4e\x16\xaa\xf4\x20\x8a\x4b\x84\x48\x8a\x01\x9f\xed\xb6\xca\x13\x70\x7e\xf3\x36\x01\xd4\x82\xf1\x31\x66\xa3\xb9\xd4\xfd\x7c\x30\x06\x68\x55\xce\xe6\x6b\x2d\xfd\x34\x31\x67\x85\xdc\xbb\x9b\x47\x24\xb3\x45\x72\x55\x15\x78\x33\x29\x92\xae\x90\x65\xef\x03\xc8\xe6\x9d\xe0\xbc\xdb\xb9\x50\xac\xba\xe6\x49\x75\xc4\x4b\x78\xb2\xfe\xc9\xe9\xd9\xf4\xc7\x97\x97\x21\xfd\xa3\xc2\x3a\x01\x9c\xa1\x27\x67\x18\xc0\x4f\x32\x99\x97\xfa\xee\x80\x58\x96\x86\xfe\x07\x37\xbe\x13\x15\x52\xbc\xf0\x3c\x91\x9f\xc4\xb3\x58\x00\xa9\x29\x97\x96\x62\xe8\xc9\xbd\x9d\x5e\x5c\x84\x33\xd3\x25\xf5\x69\x91\xba\xd6\x21\x81\x16\xb6\x44\xa4\x79\x13\xb7\x0f\x8e\x0b\x99\xf1\xbc\xef\x04\x0a\x81\x5a\xd7\xef\xc5\x7a\xe0\x14\x05\x7a\xe6\x06\xb8\x24\xfb\x22\xe5\xa4\x77\x04\x7c\x11\x11\x83\xf0\x42\xea\xf6\x4c\x23\x22\xcc\xc6\x28\xca\x6e\xf6\x79\x49\x57\xf5\xa2\x4a\xc9\xe9\x99\x48\x56\x6c\xa4\x2c\x88\xc8\x87\x1c\x57\x52\x32\xcd\x14\x65\x65\x02\xc1\xf6\x55\x59\x24\xb9\x72\x07\xd2\x12\x3b\x4c\xc3\x43\x73\x31\xc0\x37\x80\x05\x36\xbb\x10\x1c\xe3\x6d\xd1\xa5\x70\x6d\x56\xab\x81\x7c\x71\xf9\xc3\xf9\xdb\x10\xca\x50\xd4\xe9\xf9\x37\x3c\xa8\x3e\x84\x73\x91\xe2\x51\x24\x8b\xd8\xeb\xb3\xa3\x91\x74\xcb\xa8\x58\xfc\x90\x95\xad\x57\xbd\xe7\x0c\x86\x3d\xb7\x45\x63\x77\x36\x57\x4d\x0d\x8c\x55\xc1\x04\x11\xed\x83\x37\xb5\xc1\x4d\x49\xbd\xff\x78\x79\x76\x00\xdd\xbe\x08\xc3\x2e\x87\xf6\x94\xf0\xa6\x26\x1a\x2f\x6a\xfe\x75\xea\x3d\x0f\xd2\xd3\x5c\xe0\xc9\xe3\xe4\x22\x4f\xaf\xc6\x4c\xcf\xb6\x47\x2d\x62\x46\xf8\x4e\x4a\x21\x31\x8d\x67\x0c\x78\x93\x1b\x9d\x3e\x48\x27\xee\xe6\x4d\x8a\xba\x5a\x41\x16\x6c\x5e\xcd\x49\x64\x43\x4f\x3f\x9a\x95\x7d\xfb\x7c\xcb\x95\x82\xfd\x42\xb1\xda\xc5\xd6\x49\x53\xf7\x42\x17\xcc\xd7\x3e\x06\xb6\x45\xdd\xa1\x97\xc4\xcf\xb6\xa3\xe0\x91\x72\x29\x95\xb0\x50\x5b\x9a\xb0\x80\x11\xad\xbe\xcf\xb4\x00\x83\x6a\x13\x23\xe3\xfb\xea\xcd\xfb\x5e\x59\x3d\x7c\xa1\x39\xb7\xbd\xbf\xd2\x44\x3c\xbf\x0e\x9a\xd9\xd1\x51\xfb\x83\xa8\x8f\x3b\xd6\xd8\xc5\x34\x32\xd6\x7d\xed\x8d\xd0\xea\x22\x9c\x0b\x44\x10\xeb\x6d\x4c\x19\x10\x3e\x6d\xda\x40\xed\x89\x8b\xcf\x0e\x76\x52\x58\xc1\x58\x65\xd8\xfa\xef\x93\x0f\x2e\xd8\x60\xb0\x52\xfd\xcf\x60\x63\xc3\xf8\x84\xda\xbf\x1f\x7d\xe8\x9b\xae\xdf\x8f\x3f\xb4\x47\x46\x6b\x5d\xee\xa0\xe5\xdd\xf6\x81\x5e\x03\x5f\x97\x96\x47\x68\x9a\x6c\x98\x33\x82\x30\x21\x3c\x7d\x06\x79\x82\x53\x06\xc8\xcb\xd3\x94\x14\x95\x36\xe6\x9d\xd4\x42\xa7\x96\x96\x7d\x9d\x8e\x09\x58\xf0\x00\x56\xd9\xb3\xd0\x86\x57\x9e\x21\xf6\x86\x1d\x6f\xba\x9b\x78\xef\xbc\x34\x15\xb3\x86\x77\xf0\x96\x0f\x09\x84\xa2\x12\x13\xa9\x80\x8f\x0d\xa9\x08\xae\xd0\x4f\x5a\xcb\xa0\xf3\xaa\x64\xb7\x82\xc5\xd2\x18\x49\xbc\xe2\x91\xe1\x5c\x35\xa3\x06\x4e\x7f\x70\x57\x84\x3e\x86\x3c\xcf\x49\xe5\xac\xd6\x59\xb9\x14\x25\x3d\x52\x80\x54\x01\xfa\x2f\x94\x6e\x1f\x80\x89\xff\x54\xbd\xc1\x71\xea\x0b\x72\x75\xaa\x9f\x23\x72\xa8\x52\x79\x9a\x94\xdd\x4e\xa7\x37\x58\xc8\xe2\x94\x47\xcb\x6e\x48\xa0\x03\x4b\x10\xf7\x1a\x6e\x2b\xf4\x36\x80\xd6\x68\x0c\x3c\xc8\xde\xbb\x0e\xfb\x9e\xdf\xb2\x0c\x93\xb5\xc3\x1a\x2a\x6a\xe4\x39\xa2\xbb\x70\xa0\xef\xcf\x19\xa5\x0b\xe8\x8a\x01\xb0\x9e\xce\x10\x56\xde\x8a\xe2\x7b\xa8\xae\xaf\xd4\x52\xbe\xd4\x05\x33\x8e\xb6\xec\x08\xa1\xae\x80\x97\x28\x5d\xeb\xd3\x27\x26\x40\xbd\xff\xbd\x58\xf7\x34\x79\xe9\xba\x0e\x8e\x58\x27\xea\xe8\x1a\x41\xd1\x4d\xa7\xe7\x59\xdd\xbd\xc9\x30\x7a\x98\x70\x7a\x46\xd6\xd5\x78\xa4\xff\xd4\xac\x63\x8f\x0e\x0d\xbc\x05\x2c\x12\x7d\xe3\x40\x36\x45\x99\xaf\x87\xee\x9d\x5a\x77\xf5\x52\x40\xec\xeb\xe0\x75\xdb\x48\xad\xe6\x92\x31\xe7\x6a\x2e\x96\xfc\x26\x91\x15\xbe\xaa\xd7\x6d\x94\xd1\x7d\x0e\xb5\x38\x96\x64\x86\xba\xe6\x23\xd6\xf1\x34\xf8\x1d\x5d\x4b\xd8\x1c\x0c\x90\x9c\xca\x0f\x96\x06\x29\xb7\xae\x64\xc9\x50\xed\x24\x20\x7e\x08\xe8\x00\xf5\xdf\xe2\x2e\xa7\xd8\xa1\xb5\xa3\x4f\x3a\x1a\x9e\x99\x8e\x7c\x55\x3b\x9c\xa4\xa4\x64\x71\x12\x67\x9d\x52\x1f\xa8\xa4\x24\xc9\xe7\x56\xb0\x15\x98\x10\xcc\x05\x06\x1d\x60\x6f\x2e\x4c\xba\x38\xdb\x55\x66\x02\x6e\xb3\xf3\x57\xa7\x14\xba\xce\x44\x4d\x01\x63\x2b\x9c\x21\x80\xd3\xe8\x5a\xe0\x05\x63\x2b\x4d\x50\x0d\xa9\xbb\x21\x40\x16\x66\x17\x4c\xf9\xa5\x1f\xe7\x05\x56\x0d\xfa\x7f\x50\xb7\x2f\xc8\xd4\x46\x8b\x56\xeb\x3c\x89\x80\x5c\x00\x79\xf0\xde\x27\xf0\xae\x35\xdd\x41\x7c\x79\x7f\x03\x4a\xc9\x44\x02\xdc\x81\x51\xfa\x6b\xce\xa1\x03\xaa\xfa\x8e\xb3\xd7\x8c\x96\x1b\xd1\x9e\x54\x39\x5e\x5a\x8c\x2f\x1c\xe3\x6c\x2c\xee\xa1\x7d\xb4\x6c\x1e\x03\xc6\x88\xc3\x8b\x96\x7e\xea\x8d\x51\x8f\x3d\xd3\xe2\x10\x1c\x3c\x2f\x99\xa3\x87\x1b\xdf\x1c\xb1\xed\x89\x35\xa4\xd7\xfd\xbb\x8f\x01\x06\x46\x4b\xef\x56\x6e\x27\x2f\xdd\xb6\xa5\x45\xcb\x5e\x8f\x08\x56\x9d\x99\x7f\x01\xa5\x35\x05\x53\xcd\x05\xe7\x2d\xb6\xb1\x47\x26\xd0\x7f\x65\x32\xdb\x02\x3b\x18\x23\x00\x5a\x9f\x43\xb8\x05\x96\x90\x30\x67\x35\x4f\x32\x63\x20\x45\x2a\xc7\x5c\x4f\x5f\x81\x00\xde\xe1\x79\x4e\xa1\x92\x07\x8b\x2a\x4d\x29\x3e\x90\xf1\x86\x39\x55\x51\xa7\x6f\x58\x46\x0a\xca\x0d\x59\x71\x65\xb9\xb4\x44\x01\x3e\xea\x3f\xaa\x9c\xc8\x65\xff\x09\x49\x5f\xa7\x17\x33\x92\x76\x57\x3c\xc9\xb4\x64\x02\x57\xb0\x9e\x4c\x92\x31\x37\xa0\x99\x99\xbe\x57\x4c\x5c\xea\xfb\x49\x2e\x01\x13\xdb\x4d\xf3\xfc\xb5\xcc\x66\x65\x91\xc2\x9b\x3e\x41\x78\xe3\x95\x12\x46\x9a\xfd\xf4\x89\x85\x25\x10\x4b\xb7\xb5\x94\x20\xd5\xab\x91\x29\x42\x57\x8f\x0a\x37\x90\xb7\x6d\xf7\xf5\x36\xdf\x73\xa5\x80\xf9\x59\xcb\x12\x36\x29\xb5\x1f\xe8\x0e\x6d\xc8\x36\xba\x27\xd3\x01\xd4\xc4\x72\x7c\xe0\xa1\x7a\x7d\xa0\x96\xc2\x2f\xd9\xff\xe8\x8e\xd9\xd7\x5f\xeb\x6e\x8c\x7a\x9e\x6d\xb1\x71\xcf\x99\x77\x07\xfd\x4f\xf6\xbd\xfe\x1f\xb3\x8f\x5d\xb1\xf9\x96\xd6\xd2\xf2\x6f\xb8\xa4\xc1\x48\xef\xcf\x00\xc2\x27\xf6\x2f\x80\x81\xe3\x1f\x4e\x84\xf1\x1d\x22\x1b\xbd\x01\x16\xaa\xf7\x76\x98\x0f\x16\x35\xf1\x53\xdd\x5d\xe8\x96\x17\x59\xb7\xf3\x5a\x32\x48\x9f\x94\x58\xbd\x32\x35\x47\x03\xff\x3a\x65\xae\xdd\xcd\x64\xe3\x69\x92\x93\x90\xd4\x88\xb6\xa4\x57\x92\x84\xf7\x4a\xd9\x34\xd9\x85\x50\x32\xbd\x11\x31\x2a\xe1\xc3\x0c\x22\x2d\x5e\x51\x9e\xaf\x16\x38\xc1\x5a\x87\x38\xef\x3a\x37\xc9\xc4\x9c\x7a\xa3\x16\xad\x81\x0a\x33\x8c\x7c\x60\x54\x73\x56\x65\xc5\x4d\x47\x2e\x5f\x41\x9c\xa8\x1c\x62\xae\x26\x65\xa3\x45\x2c\x16\xa2\x50\x46\x5a\x0f\x14\x60\x7d\xd3\x13\xad\xd2\xbc\x0b\x82\x66\x6a\x60\x9c\xc2\xda\x00\xc0\x57\x82\x9c\xc6\x20\xa6\x3c\x8e\x74\x44\xfb\x6c\x9c\xca\xcc\xc5\xa8\x81\xed\x60\xad\x79\x1f\x33\x73\xeb\x73\x6a\x7b\xc0\x5f\xc0\xd4\x66\xdd\x05\x4f\x35\xc4\x96\x3e\x7b\x2f\xfa\xd4\xff\x87\x1e\x8d\xad\x3b\xb7\xbd\x1e\x19\xc5\x9d\x66\xa6\x6c\xd8\x02\x7a\x54\x68\x8c\xe3\x76\xc7\x56\x09\xbd\xe0\xb0\xa6\x8f\x37\x4e\x17\x4b\x6f\xba\xa0\xf5\x2b\x92\x3c\x15\x5b\x14\xbe\xa7\xdb\x39\x3a\x3a\xea\xf4\x98\xcc\x45\xc1\x4b\x59\xe0\x73\xaf\x2a\x31\x56\x51\x52\x9a\x17\x4b\x8c\x59\xab\x50\xe5\x51\x72\x7d\x01\x81\x36\xad\x88\x91\x73\x43\x9b\x86\xab\x4a\x2d\xf5\x05\x74\xe5\x94\xa8\x54\x1d\x75\x58\xf0\x09\x7b\xd3\xe0\x65\x69\x52\x8a\x82\xa7\x41\xc4\x1d\xc3\x43\x95\xd2\x18\xfe\xbb\x90\x45\xf3\x35\x66\x00\x81\x3d\xc4\x07\x1e\xeb\x35\xd7\xf2\x00\x35\xc0\x2a\x86\xd3\x37\xd0\xbe\xaf\x05\xd5\x31\x4d\xde\x4e\x2f\x2e\xee\xad\xaf\x2b\x98\xca\xa0\x71\xbb\xb7\x36\xd4\x08\x1c\xe0\x0a\x88\x32\x67\x2f\x36\xd3\x95\xe6\x7b\x8f\xea\x66\x11\xdf\x92\x9d\xc5\x21\x33\xbc\xba\x4d\x12\x8e\x56\x13\x8d\xfa\x8e\xa9\x0f\xc5\x96\x43\xf7\x87\xcd\x92\x9b\x99\x23\xbe\xb5\xd2\xc8\x7b\x2b\x98\xaa\x0a\xcc\x22\xe1\x94\xae\x96\x27\xb2\xea\x74\x78\x19\x7c\xfa\x7e\x30\x18\x7c\x78\xea\xe2\xfa\x5b\x65\xfb\x11\xfb\xa2\x3b\xfc\xeb\xcf\xef\x7f\xbe\x7d\xf6\xf3\x87\xff\x3c\x84\x5c\x2b\x5d\x3c\x14\x03\xec\x92\xc8\xb7\xba\x4d\x20\x04\x73\x68\xeb\x6b\x09\xaa\x66\xce\x3b\xc6\x20\xb9\x73\x68\x0f\x93\x3f\xd6\x97\x5f\x5a\x90\x7e\xf9\xa5\x06\x61\x10\xd2\xde\x34\x76\x53\x27\x63\x63\x18\x6c\xc0\xd8\x3b\xc1\xa2\x54\xf0\x02\xf4\xe0\xfe\x33\x10\x3d\x79\x38\x89\xc4\x68\x6d\xf1\x19\xf6\x96\x27\x25\x2a\xf8\x85\x7d\x37\x80\x3b\x28\xb1\x20\x8d\xed\x0d\x6a\x23\xde\xdb\xbd\xb7\x59\x0f\xe0\xb4\xc3\xbe\x7b\x45\x9f\xe1\x7f\x4a\xcf\xe7\x81\xc2\xda\x50\x6f\x86\x45\x4d\x4c\xb7\x9a\xb9\x3a\x67\x31\xe9\x79\x79\x4b\xfe\xe0\xb4\x8c\x19\xf8\x1f\x9f\xd5\xf8\x8f\xce\xca\xf3\xb2\x32\x94\xd1\xc8\x19\xd8\x9d\xe9\xbf\x8d\xc2\x52\x95\x8e\x9f\x46\x01\x68\xb7\x43\xaa\xb6\x66\x7a\xe5\xf5\x26\xfa\x9c\xdd\xd7\x46\x7f\xef\x34\xd3\x35\xdc\x4f\xf7\x1d\x8d\x3f\x5f\xe8\xb3\xcc\xd5\xf5\x05\x31\xc3\x10\x7c\x5c\x8b\x8f\x5d\x4a\xed\x63\x3b\xe8\x69\xe9\x19\x71\x1e\x28\x2a\xd8\x7a\xe3\xe3\xd9\x13\xc2\x6d\x74\x68\xe6\x51\x24\xab\xac\x24\x41\x84\xd0\xd8\xbc\x6b\x00\xca\x5b\xe3\x50\xd2\x80\x69\xa9\x3b\x81\x50\xa2\x4f\xe8\xa2\x2f\xb4\xac\x3a\x70\xd9\x86\xac\xd7\x0b\x88\xc5\xf0\x8e\xad\x3b\xf7\xac\xb1\x2f\xf9\xdc\x3c\x0b\x7a\x66\xa3\xd8\xdf\xd3\xd9\xc5\x39\xfb\x77\x4a\x2c\x01\x7f\x8c\xd9\x0b\x36\x61\xff\xfe\xd4\xdc\x06\xb8\x9a\x23\x2d\x16\x04\xd0\x00\x3d\x85\x11\x14\x02\xf6\x4e\x9f\xc9\x23\x82\xb6\x65\xc8\x2c\x33\x86\x9c\x06\x34\x3c\xf4\x7a\xe8\xeb\xd9\xe8\x49\xfc\x62\x07\xfd\x85\xcc\xa0\xe6\xf2\x86\x74\x33\x9a\xd4\x1c\x1a\xac\xc5\x8e\xc0\xdb\x81\xa7\x25\xfe\xa5\xf7\xfc\x10\xfe\xd7\x3b\x69\x67\x45\x8e\x1d\x86\x92\x1b\x3f\x0f\x70\x29\xc5\xdf\xbb\x34\x71\xc7\xf2\x52\x25\x8f\x5b\x9b\x05\x44\xcc\xbe\x30\xcd\x93\x52\x31\x25\x51\x17\x99\x75\x4a\x08\x90\x5f\x4a\xf0\xf9\x10\xc1\x53\xbd\xe3\xd6\x70\x13\x1d\x24\x20\x54\xa6\x39\x8b\x78\xfc\x56\x81\xc1\xde\x46\xfe\x2b\xcc\x0e\x64\x91\x9b\x66\x3f\xf0\x4e\xe8\xef\xe6\xc0\xb4\xec\xdc\x45\x9b\xb9\x80\xc6\xf4\x99\x03\x9a\xa7\x6d\xd0\xd3\x7f\xb4\xaa\xcb\xcd\x83\x18\x04\x0f\xde\xef\xc8\xb4\x33\x30\xda\x09\x7a\x40\xeb\xb7\xcd\x16\xaf\x56\xa3\x77\x9e\xd9\x2f\xfd\xd0\xf2\x15\x0f\x04\x84\x79\x33\xd1\x7f\xb1\xa9\xbd\x6d\x9c\x09\x17\x1c\x65\x97\xc1\x29\xcc\x62\xdf\x92\x56\x6a\xe6\x65\xbd\x5e\x39\xf3\x30\x7c\xbe\x12\xc2\xa4\x61\x4c\x79\x74\xcd\x56\xfc\x2a\x89\x06\xe1\x26\x1a\x1e\xc8\x81\xd6\x71\xb8\xc0\x40\x7d\xfa\xb4\x89\xeb\xfd\xc2\x10\x63\x5d\x47\xef\xc8\xa7\x4f\x80\x51\xbd\x5e\xa8\x4d\xb4\xe6\x40\x89\x0a\xf4\xec\xde\xdb\x2e\x65\xa5\x23\x88\x41\xda\x2a\x4c\x0c\xe8\xb4\x89\x55\x16\xbc\xd4\xda\x48\xab\xe1\x8b\x1c\xe9\x14\xc5\x9d\xbe\xd6\xe1\x41\xd0\x77\xaf\x1b\x78\xb3\x02\x9b\x4b\x9e\xd5\xfa\xed\xeb\xf2\xf6\x77\x67\xd4\x77\x9b\xf4\x5d\xa6\xa7\x88\x67\x68\x62\x09\x16\xc6\x95\xfe\x06\x54\x10\xad\x1f\x22\xda\xdc\x04\x5e\xc8\x5b\xd5\x8e\xf3\x54\x46\xd7\xb0\x55\xc4\x36\xeb\xed\x72\x26\x04\xc8\x97\x6a\xce\xab\xef\x62\x7b\x52\xa0\x41\x78\x90\x36\x9d\x05\xf4\x82\x2c\xcc\xb2\x6b\x5c\xa6\x04\x7d\x68\x2a\x42\x8b\xec\xd0\xa8\xce\x59\xcd\x1a\xa9\xd5\xd4\x43\xcb\xec\xeb\x4c\xde\x92\xe4\x5a\x16\x6b\x12\x5d\x13\x93\x58\x43\xd4\xf8\x2a\xd0\xe8\x9a\xce\xcc\x13\x2a\xa0\x62\xb8\x5f\x1b\x35\xda\x1e\xca\x01\x08\xec\x2d\x9c\x86\x84\xcc\xa3\x5d\x35\xb9\x70\x80\x54\xeb\x9f\x20\x18\x7a\x6a\x84\x87\x05\x43\xff\x84\x04\xbc\xb2\x49\x9c\x7c\x74\xc4\x26\x8d\xf1\xc2\x9a\x94\x27\xb7\x8b\x74\x1b\x93\x86\x8f\x7a\x7d\x36\x76\x54\xf0\x37\xa8\x4b\x9b\x10\x45\xd1\xaa\xf5\xed\x95\x6a\x7d\x11\x2e\x24\x04\x9d\x96\x74\x51\xea\x6b\xc4\xe6\x43\xa5\xc9\x39\x65\x4d\xe5\x14\x74\xa3\xc3\x9e\xb1\xff\x76\xf1\xe6\xf5\x00\x5b\x25\x8b\x35\x8d\xd3\xdb\xa8\x36\xb9\xd0\xb8\x1d\x22\xb5\x49\x5a\xd5\xf4\x10\x76\x0c\x8e\x4a\xc0\x5c\x0d\xec\x04\xaa\x15\x0a\xd0\xd8\xa1\xed\x66\xc9\x95\x65\x96\x20\x56\xfc\x3d\x1c\xd3\x80\xa0\xd2\x76\x2d\x1e\x31\xc7\x69\x3a\x28\xd4\xd1\xd2\x63\x26\x37\x74\x02\x7c\x67\x80\xdd\xbf\xa1\x31\x32\xa0\xd4\xba\x7e\x9d\xd7\x0e\x93\x41\xab\x51\x9f\x4d\x7a\xd0\xfa\xe7\xbb\xf1\xfc\x3d\xdc\x91\x5d\xa2\xdf\x1e\x45\x07\xe4\xf3\x49\xf9\x65\xa8\x17\x32\xd6\x50\xee\x8d\x07\x0d\xbb\xb3\x18\x32\xb2\x72\xc5\xca\x22\xb9\xba\x82\xb4\x96\xce\xf2\x12\xe8\x01\x58\x76\x45\xa8\x12\x73\xef\xcd\x66\x87\xe0\xc6\x5d\xf1\x35\xde\x5f\xa5\x44\x63\x46\x5f\xc9\x54\x4a\xd3\x55\xab\xf1\x21\x91\x4f\x45\xd9\xae\x93\x72\xe0\x94\x47\x2b\x19\x7b\xa7\x16\x0f\x18\xdc\x65\x21\x00\x3c\x01\x66\x25\x63\xcd\x03\xbd\x98\x74\x82\x27\x7b\x8f\x0d\xf9\x82\xfa\xb9\xb7\xf9\x76\xb3\xb9\x1d\xdd\xf4\x53\x13\x6e\x5c\xe3\x9d\x66\x63\x4f\x5a\xf6\xc6\xd7\x32\x4e\xb3\xf9\xee\x3d\x63\xfb\xfd\x04\x62\xb7\x69\xbc\xb7\x71\xdd\x7e\x53\xc4\x96\x46\xe3\xfd\x87\x57\xbd\x71\xd1\x07\xa6\x6d\x9d\xca\x7a\x94\x74\x3b\x50\x13\x80\x47\x06\x29\xaf\xb4\x9c\x61\x1d\x7d\x90\xf9\xfa\xbb\x28\xa4\xb3\x4c\x55\xac\xca\x52\x7d\xa5\x9b\xfb\x7f\x50\x27\xca\x78\x3e\xc6\x9a\x7a\xe9\x39\x3d\x63\xe1\x39\x9a\x18\x82\xdc\x96\xfc\xf3\x0d\x7a\x7d\xf0\xf4\x96\xaf\x69\x78\x5e\xb2\x54\x70\x85\xc6\x95\x76\x1a\x8d\x51\x1b\x87\x35\x5c\xf4\x16\x1b\xf7\xcc\x84\xa8\xa9\x6b\x6e\x5a\x35\x9b\x78\xa0\x6c\x64\x16\x6c\xb2\x77\x0e\xaa\xbf\xe3\x86\xa2\x96\x2d\xd2\xba\x39\x84\xce\x8e\x75\x43\xbf\x23\x07\x5a\xd3\x86\x5e\x30\x6d\xd3\xf0\x21\xd3\xd5\xc5\x61\xf1\xe9\x72\x6f\x07\x11\x2c\x16\xec\xeb\x23\xf6\x7c\xd7\x9f\x87\xb7\xb4\xd6\x77\x49\xdd\x68\x8b\xed\xed\x78\x5d\x7f\x7e\xe2\xff\xf4\xd1\xf2\x3e\x71\x04\x5f\x79\x9d\x20\xe2\x61\xaf\x97\x64\xd4\x5b\xa2\x11\x89\xda\x1e\x6a\x1f\x39\xf3\x5e\x70\x72\xb4\x9c\x23\xb4\x68\x97\x43\x80\x8d\xb4\x1c\xd6\x5d\x1c\x21\xcb\x59\x62\x2d\x34\x57\x3c\xb7\x6f\x15\x5c\x39\x5d\xaf\xe9\x0d\xaf\x71\xdf\x87\x14\x12\xa5\x15\x36\x4c\x60\x8c\x52\x15\x8c\x63\x7b\x72\x52\x90\xa3\xdf\xd1\x52\x44\xd7\x6d\x53\x1a\x58\xe0\xde\x0f\x5d\x7a\x4f\xef\xb1\x4f\x9f\xec\x3e\x81\xda\xc6\x36\xa9\x75\xdc\x6b\xc1\x6d\x32\xe7\x7d\xe6\xa9\xe1\xeb\x46\x54\x1b\x9e\xb4\x89\x8d\xf9\x2d\x31\x6a\x3e\x5a\xd5\xc0\x86\x60\x35\xbb\xff\x41\x82\xd5\x98\x44\x27\xe0\xc1\x03\x6f\xee\x85\x5c\xb5\x28\xd0\xdf\x82\x1b\x25\xe4\x62\xe4\x99\x63\xac\xd0\x9c\x2c\x10\x66\xcf\x40\x41\x7d\x8b\xeb\xb0\x91\x32\xcc\x4a\x42\xe5\x13\xb8\xc1\x99\x77\x78\x78\xdb\x6c\x0f\xc0\xc1\x54\xe9\x3c\x88\x14\xe4\x14\xa7\x1b\x62\x5e\x25\x69\xb9\x95\x64\x26\xb6\x47\x0e\x9b\x82\xc1\x97\x3b\x60\x38\x99\x25\x11\xdc\x59\x68\xa2\x02\x5e\x7b\x64\x1e\x7f\x83\x2f\x27\x73\xb1\x29\x82\x07\x1a\x38\xb7\x3e\xb9\x1e\xbb\x10\x20\x6d\x06\x6e\x66\xdd\x1f\xd9\x11\xc4\xcd\x0c\xd2\x24\x40\xee\x14\x30\x72\x31\x48\x74\xdf\x08\x41\xfc\x51\xc1\x0b\x6f\x44\xf6\xc8\x21\xa7\x71\x4c\x91\xde\x8d\xba\xc7\x04\xa8\x5e\x80\x97\x1a\xb2\x58\x9e\x6a\xc4\xec\xb6\x61\xb1\x21\x81\xbb\xc2\x24\xfd\x28\x58\x3b\x1a\x61\xfa\x7a\x05\xec\x5a\x2e\xa2\x64\x81\x86\x72\xd4\x89\x62\x25\xbf\x06\xcb\xea\x48\xc4\xc8\x31\x02\xe0\xc1\xcc\x15\x5d\xe3\x92\x34\x8e\x78\x11\xab\x01\x63\x7f\x49\x6e\x30\x63\xb9\xc5\x1c\x3d\xad\xa7\xa0\xa5\x9c\x3e\x05\xc6\x14\xff\xf8\x6a\x6b\xfa\xb4\x4f\x99\x01\xec\x67\xd2\xf4\xa3\xea\xc6\x94\x7a\xbd\xe1\xf4\x21\x6b\xb5\x25\x97\xae\x3b\xa0\x93\x18\xef\x2b\x86\x1c\x50\xed\xa1\x8f\x5a\x8e\xc5\x67\x6f\xbd\x7e\x03\xa4\xb1\xff\x1f\x7b\xef\xda\xde\xc6\x8d\x24\x0a\x7f\xcf\xaf\x80\xb5\x67\x43\x32\x26\x29\x51\xbe\xd3\x51\x66\x65\x59\x4e\xbc\xbe\x48\x2b\xca\xf6\xec\x48\x8a\x5f\x90\x0d\x92\x3d\x6a\x36\x38\x8d\xa6\x28\x26\xf1\xfc\xf6\xf7\x41\x55\xe1\xd6\xdd\xbc\x29\xce\xec\xcc\x9e\xe3\x67\x37\x43\x75\xa3\x0b\x40\xa1\x50\x28\xd4\xf5\x37\xb3\x5e\xbf\x2d\x33\x4c\x7d\xa1\x1d\xb5\x21\x1d\xf0\x28\x7a\x61\x35\x95\x96\xfc\xdc\x10\x8c\xb8\xe1\x5c\xf3\x9c\x62\xd3\x24\x8c\x07\xcf\xbb\x58\xe5\x45\x5d\xe7\xe7\x0b\x07\xa7\x64\x65\xd7\x1f\x18\xd6\x5b\xe5\x9b\xab\xdf\x57\x79\xe4\xba\xaf\x2f\xe2\xab\xb6\xd7\x01\x2c\x85\xc3\xa3\x37\x87\x86\x7f\xce\xbb\xe1\x13\x0c\x77\x9e\x5b\x63\x83\x7f\xa8\x7b\xd7\xa6\x82\x7a\x36\xd4\x77\xda\x83\xba\xa4\xfd\x77\x3d\xfe\xea\xc6\xd4\x65\x65\x1c\x77\xe9\x7f\xbf\x78\x37\x92\x7b\x3e\x9e\x8a\xdb\xb3\x0a\xbf\xec\x80\x5d\x50\x83\xab\xe5\x3e\xc5\x2b\x41\xb4\xa7\x33\x35\xb6\xb3\xb5\x02\x1c\xac\x88\x92\x59\xee\xd2\x69\xf3\x26\xeb\xfb\xc8\x25\xeb\xf5\x52\xe2\x86\xcf\x8f\xe4\x64\xca\x33\x51\xf7\x44\x2f\xc6\x78\xdb\xc7\x47\xdf\xfb\xcb\x0a\x5c\x5f\xc2\xa2\xcf\x21\x4f\xb2\xc9\xf0\xed\x66\xd7\x77\x4f\x8c\xeb\x9e\x91\xc3\xbd\x16\x63\xe4\xd0\x6c\xa5\x2e\x89\x2d\x4d\xd6\x6e\xb7\xbf\xf8\xee\xcc\x10\x54\x83\x73\x38\xe5\x99\xf1\x64\xd6\xbf\xf0\x5e\xc9\xa7\xa4\xbf\x4c\x73\xc9\xdc\xe4\x94\xcd\xcb\xa5\x21\xe9\xce\x20\x04\x49\x61\xbb\xd2\x06\x76\x3b\xb6\xc8\x1b\x4c\x59\x8a\x09\x9f\x6e\xbd\x8b\x83\x53\x64\xc2\xa7\x6e\xdf\x86\x69\xa9\x70\x62\xf5\x82\x6f\x3c\xce\x8a\xd9\xef\x18\x9b\xb6\xb5\x60\x01\x66\x5e\xaf\xac\xba\xb9\x48\x11\x6d\xb8\xf2\xbc\xcc\xdd\xfe\x0f\xd8\xb4\x0d\x48\x7b\x23\x16\x3d\x7a\x68\xeb\xd6\x9b\x22\xbd\xe2\x36\xb0\x0c\x7a\x79\x79\xc5\xad\x5d\x78\x7d\x6b\x88\xd3\x99\x28\x5d\xff\xee\x4d\xdb\xb1\x3a\xa2\xba\x2b\xf5\xc6\x32\x50\x53\x93\xea\xf7\x18\x7c\x55\x45\x64\x8a\xfc\x99\xb1\xa2\x46\xca\xfc\xd5\x58\xdd\xb1\xc1\xc8\x84\x4f\xf5\xe6\xb9\xf2\xd0\x12\x58\x3e\x7c\xa4\x58\x16\xe1\x50\x42\x76\xc0\xff\x05\x08\x41\x41\xdc\x52\x60\xbd\x3a\xf7\x99\x61\xcb\x16\xa8\x3d\x59\x9e\x17\xf7\xf3\x99\x09\x1d\xb2\xbb\xd9\xea\xfa\xe0\x99\x50\x39\x1d\xbc\xa1\xe7\x92\x31\x04\x62\xd9\x36\x70\xaa\xd4\x02\xe4\x2c\x49\x5c\x35\x67\xc8\x31\x80\x5f\x2f\xdb\x76\x06\xcc\x61\x6a\x72\x10\x82\x68\xc1\x8d\x61\xd1\x45\xd2\xeb\xed\x0e\x4a\x04\x13\x47\x33\xd1\x82\x8b\x29\x92\x47\xcd\x62\xa1\x5c\xf4\x22\x25\x08\x74\xda\x71\x88\xd0\x04\xe7\x61\x03\x34\xe5\x13\x41\x55\xa8\x26\x33\x3b\x53\x94\x71\xc0\xf5\x0c\xf5\x67\xcb\x79\xac\x83\xbd\x21\xf7\x70\x26\xc9\x82\x0c\x00\x86\x36\xcb\x40\x96\x1e\xf1\xba\x59\xd9\x8b\x0e\x0e\x2e\x4f\x9b\xeb\xfc\xd6\xb6\x39\xee\x43\x89\x23\x38\xb2\xbd\x23\xb9\x4a\x0e\xd0\xa3\xb2\x93\x28\x24\x21\xa7\xcf\xac\x52\x34\x18\xe1\x16\x57\x37\xbc\x1b\xff\xaf\xce\x32\x4a\xee\x4e\x7e\xa6\xd1\x73\xcf\xcc\x46\x77\x25\x58\xd3\x31\xa5\x08\x32\x69\x47\x73\xf0\x61\xe6\xf6\x3e\x28\x87\x2e\x05\x01\xa4\xde\x00\x0f\x4c\x56\xe7\xd7\x98\x94\xc9\x39\x56\xaa\x06\xee\x0b\xfd\x58\x03\xf3\x5c\x2e\x73\x91\x24\xc8\x07\x0a\x69\x3f\xa9\x00\xad\xbe\x2e\xda\xe0\x03\x9b\x3c\xcf\x3f\xde\xc9\xfe\x0a\xa9\x85\x86\x90\xb2\x4b\x61\xc4\x80\x3e\xc0\x4d\x42\x88\x52\x80\xb1\x82\x38\x20\x32\x02\x6a\x58\xce\x23\xc8\xb7\xfe\x86\x31\x08\xcd\xa2\x26\x85\xa2\xc2\xe7\x99\x4c\x47\x56\x0b\xfe\x9d\xc1\x62\x93\x5c\x95\x32\xac\xe6\x65\x4d\xb9\x2e\x74\x4f\x79\x0e\xeb\x2f\xe3\x21\x04\x74\xe6\x94\xc1\x41\x35\x99\x9a\x0d\xc6\x7a\x0e\x2f\x6f\x64\xc6\xaf\x83\x99\x06\xc9\x53\xa1\x2f\x98\xab\xc4\xa0\x25\x82\xc0\x72\x1b\xd2\x00\x37\x4b\x83\x3f\xc6\xd1\x79\x4c\xa6\x61\x64\x22\x85\x65\x80\xc7\xe0\x2c\xeb\x43\x24\xf1\x77\x46\x33\x3f\xe3\x09\x4d\xd9\xc3\xbf\xe6\xc1\x94\xfa\x26\x56\x4a\x4b\x47\x30\x30\x2f\x4a\x5f\x5f\xec\xc1\x2d\xed\x43\xcf\x76\xa4\x18\x54\xb4\x47\x27\x7a\x7c\xf2\x8d\x49\x24\x03\x7a\xa6\xb0\x66\x99\x4d\xa5\x86\xc1\x29\x1c\x6d\xe0\xba\x6f\x70\x74\x44\x8b\xac\x89\x11\x99\xf0\x05\xd6\xd3\xbd\x21\xd3\x2c\x58\x88\xf5\x21\x46\xab\xe2\x8f\xde\x53\x21\x7b\xbc\xd8\x5a\xb4\xf5\x4e\x00\x8b\x2d\x8c\x60\x59\x32\x5c\x0d\x0b\xf2\xe1\x36\x31\xcd\x02\xde\x26\x4d\xa5\x50\x41\x36\x8d\x38\x4f\x44\xc4\x76\x0e\x29\xb1\x06\x78\x01\x42\xbe\x83\x65\x99\x3a\x30\xf3\xa8\xcf\xbf\xe1\x95\x77\xaf\xbf\x76\xa1\x74\xe6\xe7\x73\xef\x1d\xec\xc6\x03\xbf\x6c\x18\x4a\x3a\x8d\x0a\x0d\x80\x16\xa9\x71\x83\x79\x9b\xd3\x47\x94\xb7\x65\x21\x81\xcd\x98\xab\xb1\x71\x02\x35\xd1\x42\x43\x99\x24\x72\x4e\x67\xa2\xea\xb2\x1a\x6a\x7d\x6b\x4d\xeb\x62\x02\x87\xb8\xb5\xab\xa1\x80\x0d\x16\x32\xd3\x15\x6b\x19\x6f\x46\xe8\x85\x9c\x4f\xa9\xd2\xe3\xc2\x8b\x7c\x6f\x33\x50\x27\xd9\x9d\x4d\x81\xaf\xba\x63\x9b\x1d\x94\xe9\xed\xe9\x36\x9b\xb8\xe5\x58\xfc\x6a\x2e\x3d\x3e\x50\xb1\x68\xdf\x14\xd3\x31\x50\xbe\x06\xea\x53\xdc\x72\x2d\x91\x35\x59\x8d\x1f\x42\xfa\xf4\x17\xfa\xbf\x9d\x7b\x35\x9c\xce\xc1\xfd\x1a\x36\x24\x30\x81\x4b\xe6\x92\xa1\x19\x77\x4e\xa4\x3f\xf5\xb7\x19\xd7\x82\x47\xc6\x07\xc4\xc4\x90\xc8\x18\x63\xb5\x8b\xd7\xef\x7b\x57\xba\xbf\x8b\xb7\xc7\xaf\xce\xaf\x74\x57\x2f\x16\x7a\x21\x20\x38\x5d\xa6\xcd\x42\x7f\xb4\x63\x29\xeb\xb0\xcb\x41\x41\xf0\xfa\xb3\xdc\xe4\xaa\x41\x7f\x31\x3a\x47\x4c\xca\x60\x3f\x02\x9b\xb5\xd8\x7b\x74\xf8\x26\xc9\xcd\x98\xeb\xf4\xb6\x75\x73\xb1\x49\x10\x4c\xad\x41\xb1\x30\xee\x21\x94\x0a\x8a\xfa\x36\xa6\xd8\xbe\xb3\x16\xa6\x4e\x94\x6a\x33\x48\x18\xd5\x17\x89\x9c\x5b\xc1\x90\x6a\xa5\x09\x63\x7b\x56\xde\xd8\x28\xc1\xde\x57\x1a\x1c\x4f\xa4\xbf\x8d\x0d\x43\xbb\xf3\xe8\x0e\x93\xfc\x8f\x19\x99\xef\xf4\xba\xf5\xa8\x28\xab\xdd\x1f\x30\x2c\xd0\xd1\xdf\x6d\x5c\x26\x45\x11\xe5\xb9\xf6\xf2\xe9\x2c\x4f\x67\xc4\x95\xcd\xcb\xaf\x45\x2a\xdd\x11\x06\x6e\x15\xfc\xd8\xc1\xf7\x88\xa7\x8c\x67\x19\x5f\x54\xc6\x43\x94\x1d\xdf\x51\xeb\x08\x43\x26\x76\x44\x39\x0b\xfc\x72\x7a\x61\x2e\xa0\xbc\x68\x4b\x87\xfe\x58\x0c\xa5\xde\x63\xd4\x7b\xa6\xa4\x61\x5e\x66\x69\xa7\x63\x15\xac\xe3\x28\x26\x5a\x0b\x38\x25\xc9\x32\x47\xd8\x40\xa6\x51\x2b\x97\x2d\x28\x4e\x6f\xa2\xeb\x09\x65\xd8\xb1\xaf\x9b\x9d\x67\x71\x9e\x8b\x34\xe0\x76\x58\x96\xbe\x90\xb5\x88\x98\x29\x57\x46\x77\x2b\xa2\x20\xad\x8f\x4b\xe7\x63\x53\xf9\x40\x11\xd7\x30\x9b\x8f\x7f\x74\xae\x38\xea\x42\xed\xc7\x1b\x13\xe2\xe3\x1f\x7f\xe0\xfa\xa9\x0f\x22\x17\xb3\x64\xae\x70\x74\x68\x9b\x53\xaf\x51\xe1\xb4\xf2\x72\x86\xf9\x56\x45\x18\xe1\xe3\xe2\x7b\x0a\x27\xe7\x85\xa7\x81\x8b\xc4\xb0\x74\x66\x4e\x66\xa8\xa0\x2a\x48\xba\x98\x8c\x8b\x8e\x53\x2d\x7a\x05\xb2\xaa\x55\xcf\xe7\x90\xc1\xc7\x1c\x06\xfe\xf7\x5c\xe9\x4b\x52\x8c\x39\x73\xb3\x11\x96\xec\x81\xeb\x14\x63\xc7\x7c\x30\x06\xaa\x36\xcf\xe3\x2a\x18\xde\x72\x71\x47\x7c\x66\x1c\x75\x22\x4f\x37\x14\x29\xaf\xd1\xbc\x07\x39\xbc\xf4\x37\x7a\xcb\xf5\xe3\x11\x1e\xf2\x73\x81\x15\x2d\x21\xb0\x17\xd2\x3a\x82\x08\x6f\xd0\xe9\xd4\x64\x99\x20\x23\xa0\xa6\x5a\x96\xc8\x1c\xef\xcf\x5a\x06\x05\xe9\xf8\x06\x3c\x5c\xda\x0d\x1a\x88\x9e\x4c\x69\xe4\x9e\x2f\xe5\x63\x9b\x6b\xa3\xcb\xdc\xf2\x9b\x04\x33\xc5\xd0\xa3\xef\x5c\x48\x80\x71\x86\x76\x79\x3c\xc0\x65\xcd\xd9\x2a\x1b\xc4\x8f\x88\xf2\x1c\xbd\x11\x6b\x02\x7d\x9f\xe0\x29\x5d\x72\x30\xb8\xc6\x4f\xfc\xb1\x05\x0d\x07\x0a\xbc\x1b\x9e\x7d\xe6\xd9\x88\xaa\x15\x56\xdd\x9b\xcd\xca\xaa\xaa\xcb\xb3\xd1\xcc\x20\xe4\xba\x6d\x7b\x11\x5f\x5d\xec\x5d\x35\x03\x05\x2c\xfd\xfb\x95\x10\xd6\x65\x41\xeb\x4e\x75\x6b\x46\x68\x2d\xb4\xde\x5f\xd6\x9a\x50\x5e\x68\xfe\x60\x59\x73\x74\xb4\xf6\x9b\x3e\x5c\xd6\x14\xbd\xb0\x83\xb6\x8f\xae\xaa\x9a\x7e\x29\xeb\x9b\x7a\x50\xdb\x2d\xf0\x1e\x45\xfe\xe6\x27\xaf\xc3\x64\xff\x1b\xac\x24\xc8\xcc\x4b\x6c\x79\xa1\x90\xbd\xa4\xb0\x99\xf1\x04\xb5\x1b\x8e\xb2\x09\x1a\xaf\xd8\x9d\x09\x1f\x64\x72\xc7\xbe\x57\x78\x7c\x41\x31\x57\xca\xf4\x15\x93\x93\x9b\x9f\x41\xd4\xc4\x8c\x81\x6b\x75\x83\x01\x10\xbb\xdf\x89\x3d\x80\x49\x76\x41\x99\x6b\xa0\x45\xdb\x0f\x2a\x24\xa7\xb3\xba\xd9\x31\x7a\x7b\xf9\xe5\xdf\x36\xf0\xa8\x0c\xe2\xdb\xbc\x40\x3b\x72\xa4\xbc\x5a\x1b\x07\xf7\x7a\x88\x72\x67\x29\x3b\x38\xe3\x4d\x34\x74\xf4\x9d\xee\x40\x99\xab\x78\x06\x99\x37\x67\x84\x96\x8a\x8f\xc9\x73\x35\xce\xad\xd8\x62\xa4\x16\xdf\x1d\xc8\x62\x82\x5f\x07\xb6\x0f\x1a\xad\x8b\x92\xf5\x10\x53\x08\x52\xac\xbb\xf8\x03\x0c\xe4\x0a\x92\x51\x54\x44\x78\xf9\x9e\x0c\xfe\xbf\x7b\x26\x3e\x91\x62\x6e\x8a\x59\xcc\x1b\xec\x4f\x8c\xb3\x2e\xeb\x3f\x0f\x51\x5f\xb9\x88\xa4\xd0\x2d\x20\x7a\x22\x23\x4a\x89\x5d\x95\xea\xfc\x6e\xf8\xa6\x8f\xb7\xc5\xf7\xe0\x9f\x18\xdf\x98\x8e\xfd\x2b\xe0\x5b\x23\xda\xa6\xd9\x6d\x41\xc2\x98\x56\x90\x83\x3d\x24\x73\x1f\x41\x7d\x75\x57\x04\x15\xe6\xb5\x2c\x89\xfb\x57\x99\x9c\xb7\x16\xd5\xd3\x50\xe3\x3b\x4f\xc3\x83\x5d\x18\x6b\x21\x8a\xc8\x24\x5b\xff\x7d\x13\x21\xca\xa9\x9e\x06\x4f\xf2\xdf\x31\x0f\x02\xfd\x15\x30\xee\x7b\xe1\x57\x0e\x74\x22\xa3\x3b\x0f\x74\xeb\x9d\xf5\x7b\x77\xc8\x91\x9c\x4c\x67\xb9\x96\x15\x8d\xe8\xe6\x54\xa4\x98\xbc\x0f\xed\x40\x41\x8c\x8c\x9d\xea\x20\x4f\xea\x83\x71\x83\xfd\x6a\xba\xad\x4e\x3f\x52\xf0\xb3\x03\x97\x3f\x37\x02\x0e\xc9\xb3\xa9\x5c\x81\xd3\x86\x4e\xf8\x14\x02\xd7\x39\x66\xd7\xf3\x3a\xad\x4f\xbc\x1e\x9d\xb3\x0d\xe1\xd5\xcf\x92\x77\x31\xb9\xa2\xc7\x5f\xdc\x22\x12\x97\x44\xa2\xcb\x33\x52\xa4\xbb\x84\xcb\xe1\x62\x8a\xa8\x3e\x4c\x37\x5b\x4a\x30\xd1\x84\x3b\xbf\x94\x36\xd9\xb7\xec\xef\xee\xb2\x17\x10\x99\xa2\x39\x42\x93\xbd\x92\xd9\x9c\x67\x11\x8a\xf2\x67\x02\xaa\xd6\x21\xff\x97\x8c\xdf\xc8\x38\x62\x29\xbf\x89\x47\x1c\xd4\x64\x7c\xce\x51\x27\xeb\x43\xcb\xbd\x54\xdb\x53\x3e\x12\xed\xa2\x13\x41\x21\xbf\xc4\xe3\xc7\x48\x4b\xc1\xb3\x27\x15\xcf\x9e\x36\xd8\x9f\x02\x06\xbe\x2e\xa4\x9c\x75\x37\x6c\x6e\x62\xa3\x98\xe7\xfb\x59\x20\xe1\xe1\x32\xf2\xd5\x5b\xe7\xb8\x77\x64\x9d\x0b\x8d\xdf\xcc\x51\xef\xb5\xf5\x2c\xb6\x0f\x7b\xbd\x07\xe6\xe1\x89\x2b\x2d\xfb\x2f\x1d\x23\x1f\x5e\x45\x54\xdd\x38\x7c\xa2\xf1\x73\x18\x8b\x24\x02\x9d\x63\x97\x5d\x90\xd1\xa1\x49\xaa\x48\x73\x75\x6b\xda\x20\x4c\x88\xbd\x04\x89\xff\xea\x1b\x0f\x8e\x0b\xb0\xb3\x25\xe7\x09\x14\xdb\x73\x05\x1f\x60\xd7\x30\xf6\x09\x22\xa6\xfe\x3a\x53\xb9\x09\x0d\x89\xf3\x9a\x32\xd0\x6c\x2e\x8e\x08\x15\x35\x68\xd6\xc3\xeb\x6e\x7f\x61\x6f\x09\x78\x3f\x90\xca\xcb\x42\xce\x2e\xf6\x9a\xa0\x76\xfd\xf0\xfe\xcd\xfb\x93\x4f\xef\xaf\x6a\x4d\x40\x6a\xf9\xbf\x57\x4d\x3b\xf8\x57\x90\x25\x35\x93\x73\x02\xb1\xff\xa4\xa9\x41\x1c\xf7\x8e\xf4\xe7\xc7\xbd\xa3\x66\x95\x40\xc2\x6c\xb2\xd8\xa6\xfb\xe1\x3d\xa5\xab\xd2\x45\xa7\xb3\xdf\x64\xb5\x8b\x57\x1d\x0d\x0c\x38\xbe\xa6\xaf\xfb\xac\x76\x5a\x6b\x02\xfd\xc1\xcf\x86\x07\x04\x1f\xee\xec\x3f\xf8\xfb\x4e\xb3\x0c\xed\x01\x40\xdb\x2f\x42\xfb\x2f\x07\xed\xbf\x2a\xa1\x3d\xac\x84\xf6\x10\xa0\x3d\x28\x42\x3b\x73\xd0\xce\x2a\xa1\x3d\xaa\x84\xf6\x08\xa0\x3d\x2c\x42\xeb\x39\x68\xbd\x4a\x68\x8f\x2b\xa1\x3d\x06\x68\x8f\x00\x1a\x7d\xde\x79\xf4\xf7\x5a\x71\x35\x4a\xd0\x9e\x56\x42\x7b\x02\xd0\x1e\x07\xd0\x9e\x6c\x00\xed\x59\x25\xb4\xa7\x00\xed\x49\x00\xed\xe9\x7a\x68\x0f\x3a\x95\xd0\x9e\x01\xb4\xa7\x01\xb4\x67\x1b\x40\xdb\xaf\x82\xb6\xbf\x07\xd0\x9e\xf9\xd0\xf6\xf7\x36\x80\x56\x49\x6f\xfb\x1d\xa4\xde\xbd\x2b\xb7\x88\xfb\x9d\x0d\xa0\x55\xd2\xdb\x3e\xed\x85\x8e\x0f\xed\xc1\x7a\x68\x0f\xab\x67\x8a\x7b\xa1\xb3\xef\x43\x7b\xb8\x01\xb4\xc2\x4c\x0d\x23\xe8\x61\x96\x64\xc7\x09\x3a\xcf\xf4\x78\xff\x3f\x0d\xd1\xc2\x50\xe3\xba\x96\x65\x6a\xff\xa1\x29\x19\x7e\xfd\x5c\x6b\x34\x9a\x61\x47\xee\x1f\xf1\x1a\x00\xf7\xf0\x99\x66\x2c\x9d\x7b\x3e\xb8\x41\xbd\x86\xf9\x93\xde\xcf\x26\x90\x7f\x9c\x31\x7c\x76\x98\xe4\xe6\x11\xfc\xfd\x4e\xe4\x1c\x1f\x18\x70\x8f\x34\xaf\xab\xed\xff\xc7\xd7\x02\xd7\xd1\xe0\x1e\xfc\xdb\xd7\x02\xb7\xaf\xc1\x3d\xfc\x3f\x5f\x0b\xdc\x03\x0d\xee\xd1\xbf\x7f\x2d\x70\x0f\x35\xb8\xc7\x3f\x7f\x2d\x70\x8f\x34\xb8\x27\xdf\x7e\x2d\x70\x8f\x35\xb8\xa7\xdf\x7d\x2d\x70\x70\xa0\x3d\xab\x7f\x25\x70\x0f\x9f\x6a\x70\x7b\x8d\x12\xb8\xa0\x3e\x9f\x86\x50\x00\x58\xd9\xc8\xee\xe6\xa7\x9a\x0b\xb6\x3e\xaf\x87\xba\xe6\xbd\x03\xa8\x59\xfe\xc1\xfd\xaf\x05\x10\x25\x05\x31\x94\xb7\xac\xf5\x19\x24\xef\x83\xfb\xd4\xd3\x93\x07\x5f\x77\xe8\x8f\x3b\x7f\xd4\xc8\x5f\xe7\x3c\x89\x79\xca\xee\x7f\x67\x86\xae\xbb\xba\x5f\xa6\xb4\x3b\x74\x85\x10\x9f\xa2\x00\xf6\xe2\x4d\xef\x54\xb3\xe5\xbe\xaa\x63\xb5\xba\x26\xab\x5d\xf6\x35\x1c\x78\xd2\x87\xbf\xf5\xf3\xc6\x52\xf1\xc9\x09\x97\x71\xe6\x73\xe5\x67\xd8\xc3\xf9\xe1\x0b\xdd\x81\x1a\xd7\x6b\x97\xb9\x3b\x00\xfe\xa2\x21\x82\xe4\xdb\xb4\x0c\xb8\xc9\xca\x72\xd9\x53\x60\x77\x7f\xfb\xaf\x5a\x73\x09\xe7\x66\xc8\xdd\x41\x9a\x2a\x89\x7a\x16\x0a\x6c\xad\xf9\xa7\x75\x50\x3e\xad\x84\xf2\x18\x0e\x06\x71\xbc\x0e\xca\xf1\xea\xb1\x00\xc7\xcd\xce\xd6\x41\x39\x5b\x0d\x05\x38\x63\x7e\xbe\x0e\xca\xf9\x6a\x28\x30\xa3\xc5\x7f\xaf\x83\xf2\xdf\xab\xa1\x00\x5b\x9d\x7d\x58\x07\xe5\xc3\x4a\x28\x4f\xe0\xe8\x88\x5f\xaf\x83\xf2\x7a\x35\x14\x98\x91\x3c\x59\x07\xe5\x64\xf5\x8c\xe0\xcc\x9e\x9e\xae\x83\x72\xba\x12\xca\x3e\x4a\x8c\xbf\xae\x83\x72\xb1\x1a\x0a\xc8\x76\x57\x5f\xd6\x41\xb9\x5a\x03\x45\xcb\x9b\x97\x97\xbf\x01\x98\xe5\x50\x2e\x2f\x83\xad\x5e\xde\xe6\xaf\xe4\x2c\xcb\xc7\xb0\xcf\x59\xfd\x93\x80\x04\x19\x5e\x4e\xa3\xff\x84\x6a\x8e\x98\xe9\x08\x53\xa1\xbe\x14\x37\xe7\x52\x26\x54\x37\x90\x5d\xec\x03\x6e\x2f\x8e\x0e\x4f\xc1\xe5\xc6\xed\x7c\xfb\x63\xc9\xbf\x65\x2c\xe2\x31\x90\x1f\x78\x0d\xb1\x00\x45\x30\xa1\x43\x3a\x35\x2b\xfe\x2d\x5d\x7d\xa0\x44\xd5\xab\x06\xd8\xdb\x1e\xe0\x63\x38\x8a\xa3\x97\xd5\x00\x5f\x6e\x0f\xf0\x09\xe0\x70\xf8\xaa\x1a\xe0\xab\x3b\x00\x04\x36\x3b\xfa\xb1\x1a\xe0\x8f\x77\x00\x08\x5c\x6e\xfc\x53\x35\xc0\x9f\xee\x00\x10\x18\xde\x5f\xff\xb3\x04\xd0\x48\xfa\xff\xa9\x61\x6a\x1a\x29\x80\x5e\x0a\x10\xc8\xe6\xfa\xcd\x52\x80\x6f\xac\x70\x05\x09\xa6\x3e\x9b\xfb\xc3\x52\x80\x20\x0e\x26\x6f\x97\x02\x7c\xbb\xe5\x08\x3b\x4f\xf5\xdd\xfa\x79\xb7\x04\xd0\x3b\x37\xb7\xc2\xe1\x3e\x5c\xec\x2e\x6b\x3b\xb5\xe6\xd7\x01\xd8\x79\x80\x3a\x98\xf7\xe7\xc7\x67\xe0\x3f\x77\x99\x21\x68\xd4\xb1\x2d\x87\x68\xdf\x57\x30\x98\x78\x68\xf8\x0b\x25\x53\xc3\x74\x15\x8a\x5c\xc6\x4c\x56\x78\xa6\xc6\x32\xcb\x07\xb3\x5c\xb5\x19\x3b\x49\x41\x71\x65\x60\xb8\x24\xe3\x90\xca\x07\xf8\xd3\xd1\xee\x47\xa8\x58\x49\xa5\x25\xe1\x85\x96\x9a\xf5\x0b\x4c\x86\x48\x3a\x2e\xcc\x3a\x6e\x40\xd1\xb7\xd8\xd2\xb8\x52\x00\x8f\x2b\xd4\x55\x37\x26\x3a\x8c\x9f\xe0\x4c\x89\x44\x18\x3f\x0a\x93\x90\x3d\xf2\x59\xe5\x47\x04\xfa\x5d\xeb\xa3\x01\x4b\x89\x0f\xaa\xa0\xd7\x21\x49\x8b\x81\x84\xce\x13\x4a\x88\x09\xb9\x3b\x65\x62\x20\x47\x69\xfc\x0b\x7a\xa7\x20\x7e\x72\x29\x1b\xe6\x86\x0c\xa4\x79\xd1\xfb\xe9\xf5\xab\xf3\xa2\xb2\xad\xfc\x6f\x19\xa3\x7d\x06\x5c\xe7\x97\xbf\x84\x47\x08\x90\xf6\x5f\xca\x1b\x7a\x29\x77\x05\x66\x78\xfb\xe7\x0a\x28\x7f\xde\x1c\xca\x63\x90\xe8\x06\x47\x05\x28\xe6\xba\x74\xf4\x39\x00\x15\x36\xd0\x68\x3f\xf2\xe4\xf8\xa7\x80\x9d\x9b\x8f\x4b\x60\x7d\x5c\x07\xeb\xa3\x7f\x27\x00\x58\xe0\xbc\x5a\xc1\x01\x5e\x14\x38\x80\xdf\xc0\xfe\x86\xf7\x96\xa9\x00\xb6\xd2\xf7\x4b\xc6\xf6\x7e\xdd\xd8\xde\x7b\x63\x7b\x02\x38\x9b\xbc\xab\xc0\xfc\xbb\xcd\x31\xdf\xd1\x0b\x58\x6b\x7e\x1f\x42\xe1\x49\x5e\x27\x2e\x12\x70\xb8\xa5\x50\x34\x31\xd5\xda\x3f\xfc\x5e\x28\x5a\x36\xda\xfd\x53\x35\xb6\x3f\x5b\xdd\xcf\x9f\x80\x77\xaf\x90\x6a\x7a\xf1\x6d\x3e\xc6\x8a\xa3\xe0\x84\xe7\x29\x97\x50\xcd\x7c\x74\x7e\xf6\x76\x99\xb8\x12\x3c\x72\x68\x82\xef\x0e\xdf\xc2\x86\xdb\xfc\xbb\x67\x70\x12\x5f\xbc\x3d\x3c\xdd\xae\xbf\x07\x70\xe0\xb2\x5a\x09\x65\x4e\x0d\xb6\x0c\x8b\xcf\xe0\xd3\x8b\xb3\x6d\xbb\x7c\x86\xdc\xff\xec\xdd\xf1\xfb\x0f\x8e\xab\xac\xfc\x2e\xb4\x68\x80\xad\xc0\x98\x04\x1e\xe2\x28\x4e\xcf\xce\x7b\x47\x67\x2b\x2d\x02\x88\xdf\x87\xa0\xc6\xee\x1d\x9d\xbd\x7d\xe3\x8d\x7a\x69\x73\xb8\x17\x5c\xbc\x38\x3b\x3e\x5c\xd3\x3c\x30\x96\x80\x35\x4f\x0e\x99\x8a\x6f\xd1\x74\x87\xa5\x69\xc9\x07\x14\x2b\x0a\xc0\xe0\x41\x98\xb8\x78\xfd\xbe\x77\x7c\x06\x0b\x0e\x1b\xf0\x8d\x58\x60\x99\x37\xda\xa5\xc5\x05\x28\xad\xc4\x03\xe4\xd3\x3f\x9d\xbc\x3b\x46\xaa\x31\x60\x7e\x92\x13\x61\xb7\xfa\x7a\x30\xb8\x30\xa7\x3f\x7e\x38\x0d\xc1\x9c\xf2\x91\xf8\x30\xdd\x74\x34\x0f\x71\x34\x2f\x8f\x91\x2c\x1c\x98\x97\x22\x71\x7c\x67\xfd\x68\x1e\x91\x90\xf0\xb2\x00\xe6\x38\x8d\xb6\x01\xf3\x90\x26\xf5\x92\x2c\x46\xfe\xa4\x20\x05\x7f\x15\x8d\x57\x6d\xf6\x43\xbd\x72\xd6\xc6\xa5\x8f\x6d\x2f\x9f\x21\xf8\x62\x9b\xb4\x2f\xb0\xce\x65\xbf\x1c\xac\x76\x6c\xc0\xb9\x0c\x83\xf0\x2d\x1d\xe2\x50\xfd\xd0\xe4\x54\x32\xf1\x55\x30\x0f\x30\x4a\x98\x95\x61\x7c\x50\x27\x95\x88\xbe\xc0\x90\x29\xe6\x70\xdd\x54\x70\x7d\xc0\x84\x60\xd0\xe1\x41\x7a\xe1\x20\xbd\xd8\x08\xd2\x03\xb8\xa8\x9e\xbd\xfe\xf1\x27\x20\x5e\x07\xe9\xc8\x41\x3a\xda\x0c\xd2\x13\x17\x45\x11\x8c\xe9\xa5\x83\xf4\x72\xa3\x85\xba\xe8\x3c\x04\xb3\xd7\xfb\x0f\xef\xde\x9e\x1c\xbd\xd9\xc8\x46\xf8\x29\xce\xc7\x2c\x9d\x4d\x68\xdb\x0e\x6d\xd0\xca\x94\x47\x6c\x24\x52\x91\x51\x31\x6d\x4a\xaf\x0e\x31\x23\x18\xbb\xa5\xbc\x4d\xed\x0b\x6c\x35\x9f\x07\xd4\x42\x13\x29\x5a\xf6\x21\x76\xd6\x41\x32\x9e\xf8\x99\x50\x26\x87\xda\xee\x2e\x43\x77\x33\x74\x0f\xb7\x03\x4c\xbd\x31\xcd\xd2\xf8\x6f\x33\x6f\x44\xed\xb6\xd1\xa3\xe1\x2e\x7c\x73\x0a\xb6\x9d\xa5\x68\x2b\x73\xf5\x27\xf4\x5d\x67\xcb\xef\x9e\xd2\x77\xfb\x5b\x7e\xf7\x8c\xbe\x7b\xb0\xdd\x77\x9d\x3d\x20\xe3\x37\xa7\x0f\xb7\xfd\xae\x83\xdf\x3d\xda\xf6\xbb\x7d\xfc\xee\xf1\xb6\xdf\x3d\xc0\xef\x9e\x6c\xfb\xdd\x43\xfc\xee\xe9\xb6\xdf\x3d\xc2\xef\x9e\x6d\xfb\xdd\x13\xfc\xee\xfe\xd5\xd7\x53\xd2\xef\x3d\x43\x98\xad\xaf\x09\xf3\x31\xc2\xfc\x6e\xcb\xf9\x75\x68\xdd\x77\xb7\xfd\x8e\xe8\xac\xbd\xf1\x77\xf6\x0e\x68\xab\xb8\xdb\xe0\xc0\x5c\x4e\x7d\x21\xf1\x31\xcc\xe5\xc5\x21\xf2\x29\x06\x5e\x46\x64\x5a\xbf\x6f\x5c\x08\xf4\x8f\x46\xc1\xae\x7e\x7f\x89\xff\xc0\x63\xb4\x83\x7f\x32\x47\x66\x00\xef\xbf\x0c\xbc\xff\xaa\x82\x57\x69\xd1\x7d\x0c\x87\xce\xd9\xf1\xdb\x93\x43\x00\x19\xc0\x3b\x33\xf0\xce\xaa\xe0\x55\xfa\x10\x3c\x45\x9b\x2e\x49\x6a\x85\xf1\xf5\x0c\xbc\x5e\x15\xbc\x4a\x2f\x82\xa7\xb0\x27\x3f\x51\x18\x1e\xc2\xf3\x9c\x09\x82\xcb\x49\x01\x5e\x95\x1f\xc1\x3e\x7a\x25\xbc\x38\x7b\x7d\xde\x42\x37\x07\x0f\xde\x93\xd5\xf0\xaa\x3c\x09\xf6\xd1\x2f\x41\xc3\xbb\x5f\x82\xf7\x74\x25\xbc\xd0\x97\xc0\x92\x54\xe7\xc9\x03\x76\xf1\xee\xc3\xf9\xf1\x55\x93\x75\x9e\x3c\x64\x17\x1f\x4f\xde\xb6\xae\xe0\x3c\xe9\x3c\x79\x04\x7f\xde\xbf\x82\xf8\x42\x70\x68\x73\x8e\xed\x96\x16\x0d\x24\x2c\x1f\xc5\x26\x3c\xe5\x23\x91\x35\x31\xe3\x79\x0d\x32\x59\xdf\x80\x9f\x0f\xc8\x25\x93\xb6\x57\x1c\x45\x77\x1e\x2b\xc6\x13\x25\x0b\x96\xa7\x9a\x62\xad\xcf\xc6\x23\x48\x13\x77\x18\xd6\x7a\x8c\x05\xd9\x5c\x15\x4b\xd4\x34\xc8\x8c\x8a\x3d\xc3\xf1\x65\x02\xae\x36\x8b\x04\xf0\xa5\xe4\x25\x35\x94\x82\xb0\x5c\x74\xa7\xc4\x0f\x4e\xa1\xf7\x20\xe1\x7d\x90\x4c\x61\x9d\x87\x96\x4b\x6a\x80\xbe\x65\xfb\x7f\xaf\x55\x4d\x57\x0d\x32\x49\xe5\x66\xf1\x27\x14\xcb\xeb\xcf\x86\x43\x91\xfd\xfe\xb9\x83\x68\xbf\xac\xaa\x58\x38\xf5\xb1\x9c\x88\x37\x62\xa1\x7a\x38\xa0\x9f\xfd\x79\x7b\x11\x06\x58\x04\xa5\xd2\xe1\xd4\x35\xf7\x1c\xb8\x0b\xbd\x54\x38\x6d\x1b\x17\xc7\x00\x5b\x3f\x85\xa9\x46\xfd\x77\x27\xf8\xae\x5c\x4e\xd5\xa5\x04\x44\x4c\xea\xc9\x63\x7a\x97\xb5\x4b\x66\xdc\xf6\xfe\xd1\xeb\xa3\x6f\x29\x7f\xc0\xf2\x54\x3b\x04\x7f\xcd\xf5\x79\xb5\x62\x7d\x5e\x6d\xb8\x3e\xc7\x69\xf4\x4f\xbe\x3c\x74\xa5\xdd\x6c\x85\xa6\x7c\xb4\x74\x85\x4a\x48\xba\x78\xf4\xf7\xda\xf3\xb5\x18\xc2\xfe\x7f\x3f\x92\x10\x09\x79\x36\x13\xec\xe5\xf1\x5b\x88\xa8\x55\xb3\x3e\x24\x9a\x12\x39\x77\x11\x0e\x26\xe2\xf0\x24\x75\x47\x41\x93\xf2\x2d\x5e\xa7\xc4\x96\x79\x62\xea\x9c\x30\xcc\xcf\x47\x35\x79\x47\x22\x67\x5c\xc3\xa7\x14\xff\x98\xe9\xfb\x3b\x36\x48\x78\x3c\xa1\xb8\x94\xc2\xf7\x50\xce\x1b\x63\x92\x9b\x41\x1f\x1a\x0a\x26\x3a\xb5\xe5\x7a\x21\x99\x50\x4a\x89\x1d\x38\x66\x9b\xc4\x12\x57\x31\xa4\x50\xf5\x66\xc1\x5e\x98\x5a\xf6\xd4\x6e\x9a\x89\x21\x74\x30\xe0\xa9\x9e\x39\x65\x0f\x09\x27\x6f\xf3\x48\x0c\xb8\xda\x86\x48\x5e\x8a\x64\xb3\xc3\x85\x27\xb9\x8d\xe6\xc0\xa2\x52\x2e\xb8\xe3\xdb\x6f\x69\x97\x95\x3e\xf1\xeb\xf8\x7c\xeb\x82\x13\xca\x24\x05\xae\x14\xcf\x8b\xc7\xce\x83\xff\x89\x63\xc7\x6a\x4d\xfe\x88\x9d\xf3\x78\xd3\x9d\x03\xf9\x87\xee\xbc\x77\xb0\xf0\x0b\xe5\xa2\x99\xf0\x6c\xb1\x0b\x71\xdd\x29\xcf\x01\x65\x42\xa4\xca\x84\xd1\x96\x51\xb8\x29\xae\xd0\xf8\x17\x60\xc9\x14\x33\xa8\xc8\x1a\xe2\x26\x39\x8f\xa7\xe2\x48\xa6\xb9\x48\x73\xf5\xbb\xd9\x03\x98\x84\xc0\x76\xd4\x69\xb7\x9f\x15\x8d\x43\x86\x18\xb4\x9c\x17\x84\xcd\x13\xaf\x70\x92\x1f\x82\x70\x96\xa8\x67\x54\x1a\xc7\xd6\xf4\xc6\x82\x2b\x53\x31\x88\x79\xe2\xe5\x71\x99\x80\x0c\x0a\x11\xfb\x12\xbb\x89\x53\xac\x15\xac\x3b\x1f\xa5\x72\x22\x5a\x76\xe6\x18\xe9\x96\xf1\x74\x04\xa6\xb0\x4c\x00\x64\xe8\x6f\xbf\xdd\x7e\x0a\xdc\x08\x8a\x80\x9b\x7a\x21\x0c\x26\x85\x65\x08\x88\xa9\xe5\x99\xe0\x39\xea\x64\xe6\x63\x99\x18\x70\x34\xb2\x8d\xd7\x8e\x3c\xe7\x56\xac\xde\xff\x7c\xc8\x4c\x99\x0b\x59\x4c\xea\x65\xa7\x39\xf4\x45\x46\xcc\xe5\xae\xa2\xae\x29\x38\xb7\x3c\x79\x78\x58\x7c\xae\x53\xeb\xda\x5d\xdd\x21\x59\x02\xdf\xec\xbb\x37\xc6\xba\xe0\xbf\x7e\x50\x78\x7d\x11\xbe\x7e\x58\x78\x7d\x79\x19\xbe\x7f\x54\x78\x7f\x15\xbe\x7e\x5c\x78\xfd\x73\xf8\xfa\x49\xe1\xf5\xe7\xf0\xf5\x53\x6f\x52\x96\x1b\x9b\x97\xcf\xbc\x97\xcf\x6a\xa5\x10\x68\x7f\x2f\x1e\x26\xf9\xd6\x5b\x71\x13\x8a\x25\x37\xcc\x15\x04\xbb\x86\x5c\x10\xc0\xef\xa7\x96\xb5\x2d\xe9\x4a\xbb\x94\x5b\x81\x71\xfb\x8f\x40\x91\x71\x75\xbd\x3b\x8e\x08\xc2\xff\x2c\x92\xe8\xf8\xfe\xf9\x08\x0a\x37\xa5\xb9\xc8\xa6\x99\x2b\x3b\x8b\xa9\xd2\xb1\x9a\xfa\x40\x4e\x17\x6c\x20\x27\x13\x9e\x56\x27\xc7\x5e\xc2\xf9\x8e\x56\xa1\x88\x82\xea\x85\x89\x54\x5c\x82\xae\x91\xc8\x5f\x52\x0a\x98\x7a\x43\xff\xd5\x33\xdf\x78\x55\x72\xee\x59\x40\x90\x59\x33\x49\xf8\x54\x89\x28\x08\x7a\x0f\xa0\xeb\x2b\xcf\xd1\x91\x9e\x55\x01\xfd\x7e\x31\x08\x74\xbc\x30\xae\x11\x80\x03\x3f\x41\xa5\xef\x60\x81\xb8\xd4\x98\x34\xa6\x98\xb6\x83\x73\x4a\x85\x94\x8c\xf7\x08\xeb\x2f\x58\x22\xf2\x52\x35\x7e\x3a\x8a\xb0\x5b\x74\x29\x99\x48\x95\x3b\x40\xd4\x90\xaa\xad\x99\x2c\x21\xdf\xc9\x34\x59\x7c\xc7\xe6\x1c\x12\xd6\x4c\x13\x2d\x29\xe6\xe2\x36\x37\x81\x8f\x83\x24\x9e\xa2\xca\xd0\x0b\xee\xa3\xd0\xbe\x5a\x94\xc5\x37\xa2\xd5\x5f\xd4\xd8\x5c\xf4\xcd\x98\x57\x10\x2f\x24\x24\xb7\x2b\x70\x38\xcc\x45\xa6\xd1\xe8\xc7\x20\x2a\x91\x9f\xc7\x13\x21\x67\x79\xdd\xad\xca\x80\xd6\xe4\x5c\x1e\xa7\x11\xe4\xa5\x74\x2f\x1b\x4d\xf6\xc8\xd5\x82\x28\x84\xec\x6d\x12\xe7\xe7\xa7\x56\x5d\xb1\xce\xab\x96\x19\x1d\x62\xfe\x88\xc5\x9e\xf0\x14\x04\x1b\xe3\x4c\x04\xf9\xf0\xe7\x32\xbb\x86\x9c\x32\x2a\xce\x67\x94\xf8\x0e\x6a\x94\x39\x40\x26\xef\x51\x5b\xdc\x8a\xc1\x11\xee\xbd\x7a\x4d\x83\xac\x35\x50\x77\x96\xc8\xb9\x2b\x7f\xf2\x4f\xb1\x66\xcb\x06\x20\xa7\x0b\xdb\xff\xb9\x3c\x32\x04\x59\x6f\x3c\xdf\x74\xb1\x5d\xc8\xa4\x97\xed\xdb\x1d\xa3\x7b\x0f\xaa\x2f\x30\xc4\xe1\xde\x6b\x0e\x27\xa7\x22\xa5\xa4\xf8\xa4\xb1\x24\xd6\x0f\x86\x38\x53\xde\x7c\x2b\xc1\x6e\xdd\x09\x50\xa6\x38\x2a\xbe\xaf\xc7\x52\xb7\x2b\x6c\xfb\x1e\xc3\x15\xb4\x56\x2b\x67\x4f\xa9\x61\xb9\xfe\x83\x54\x36\x07\x89\x54\xe2\x60\x21\x54\x33\x13\x2a\xfe\x05\x7f\x9a\xcb\x45\xa6\xe0\xcf\x5a\x50\x65\x86\x40\x4c\xe2\x34\x9e\xc4\xbf\xf0\x7e\x82\xdf\xcc\xe3\x28\x1f\x1f\xd4\xd8\x7d\x33\xaa\x38\x4d\x45\xf6\x49\x3f\xad\xfa\xbc\x39\x16\xf1\x68\x9c\x97\x3e\xf8\x09\x1e\x07\x25\xc1\x36\x5a\xc8\xe2\x12\x8a\x95\x4b\xf8\x11\x32\x7c\x59\xb5\xaf\xe1\x99\x90\x0a\x72\xc5\xc9\x05\xea\x61\x4c\x23\x64\x4f\xaf\x62\x72\xd4\xbe\x18\xf3\x9b\x58\x9f\x81\x0a\x53\x88\xab\x5c\x98\x64\xa0\x46\x33\xa0\x94\x50\x81\xeb\x1c\x5a\x5e\xb1\x5c\xea\x77\x38\xc0\xa5\x9f\x7c\xa4\xa2\xac\x94\xf9\x6c\x98\xc4\xa0\x4f\xf7\x33\x75\x61\xa1\xe5\x9b\x16\x74\x5e\x03\x5d\x04\x66\xa2\xdc\x86\x1e\x3f\xae\xa3\xc7\xba\x9f\x7e\xc1\x54\x5a\x09\x98\xe5\x47\xd0\x68\x7b\xca\xbf\x7a\xf8\x45\x05\x7f\xa5\x4f\x0a\x01\xed\xeb\xf9\x76\x61\xfd\x3b\x8f\x2b\xd7\xbf\x5c\x2c\xf2\xeb\xef\x65\x74\x53\xfb\xdf\xb5\x97\xe5\x2c\xdf\x6e\x2f\xc3\x07\x5f\x63\x2f\xff\x1e\x59\x94\x9c\x5c\xef\xb2\xd5\x71\x93\x87\x72\x2a\x55\x3c\xf1\x73\x8a\x7b\xc7\xb8\xde\xf1\x15\x5b\x16\xc6\x40\xf2\x00\x15\x26\x05\x73\x16\xe8\x1e\x32\x9e\xaa\x09\x94\x5d\x36\xe5\x87\xea\xf1\x90\x15\x0b\x33\xc1\x31\xdf\xa0\xc4\xa9\x68\x39\xab\x0d\x6a\xba\xc3\xda\x51\xad\x6a\x60\x81\x78\x31\x07\x8a\xc7\x19\x7b\x08\x30\x49\x8b\x49\xf9\x08\x9a\x4a\x53\x77\xd8\x66\x32\xb4\xf2\xb4\x92\x6e\x66\xd7\xa9\x9c\x2b\x50\x76\x08\xb0\x1c\x8f\xc5\x84\x0a\xa9\x24\xba\x99\x04\xed\x02\xde\x86\x10\x8d\x63\x0e\xe9\x0a\x65\x61\x59\xfa\x0b\x0c\xc5\x1f\xc7\x4e\x78\xbd\x16\x0b\xc6\x47\x3c\xde\x6a\xb3\xad\xbd\x17\x98\xed\xb4\xe1\xb5\xe0\x79\x69\x8f\xb2\xdf\x7e\x73\x12\x54\x78\x69\xa8\xba\x21\x98\x92\xb7\x61\x89\x6e\xd6\x17\x7a\x9a\x63\x91\x44\x40\x2d\x3e\x1d\xd9\x11\x16\xe4\x42\xeb\xb9\x43\x48\x73\x59\x97\x28\xff\xb5\x8c\x04\xe6\x6d\xe4\x11\xea\x05\x8f\x7b\x47\xac\x9a\x86\xf2\x6c\xe6\x9c\xbc\xe6\x82\x90\x4f\x19\x90\x23\x31\x88\x23\xc1\xfa\x22\x9f\x0b\x91\x02\x7d\x81\xb7\x10\x10\x98\xdb\xbd\x95\xba\x96\x20\x09\x0f\x14\x81\x0b\xaa\x94\x9a\x42\x78\xe0\x52\xb6\xa4\xfe\xac\xde\x03\x15\x57\xc3\xdf\x21\x87\x7a\x32\xa8\x9f\x94\x6d\xe9\x32\x06\xe2\x69\xbd\xc1\xbe\x58\x91\xf4\xcb\x26\xcc\x08\x8f\xa1\x32\x27\x82\xdc\x1a\xd2\xa5\xe5\x80\x65\xfc\xd8\x64\x91\x98\x52\x65\x4a\x99\x16\xce\x67\xc8\x1d\x89\x4e\x77\xf0\xb5\xc7\x41\x3e\x62\x25\x4c\xcd\xcb\x36\xe2\x63\x28\x4c\xa0\x08\xb2\xe5\x85\x1b\x1d\xc1\x37\x3f\xc5\xee\xa6\x69\x28\x2a\xe5\x51\x97\xf1\xd1\x26\x73\x59\x0d\xc9\x26\x71\xd9\xee\x90\xf8\x09\x69\x6e\x28\xd3\x9c\xfd\x22\xe5\xc4\x2b\x68\xe5\x65\x14\xa9\x29\x57\x1c\x4c\xb7\xc2\x9a\xb1\xac\x1f\xe7\x98\x84\x18\x53\x99\x33\x9e\xb3\x81\xc8\x72\x6e\x5a\x25\xe2\x46\x24\x98\x77\xf5\x30\x47\xd7\xba\x09\xa7\x3c\xe5\x30\xa4\x26\x65\xbe\xe5\x6a\x96\x89\x88\xe1\xd1\x89\x55\x50\x33\x39\x87\x54\x92\xfa\xba\x1d\x41\xa2\x77\x45\xb7\x6c\xe4\xc7\xd4\x16\x34\xdf\x73\xae\x98\xb8\x9d\x26\xf1\x20\xce\x93\x85\x26\x77\x33\x87\x4f\xb6\xba\x96\x08\xb6\x1a\x0c\xcf\xe4\xeb\xd1\x4c\x99\xaa\xc6\xa3\x09\xe4\x54\x66\x79\x4d\x21\x52\xb4\xec\x00\xf5\xf9\xbe\xa3\xbc\x3e\xba\x19\x4c\x77\x53\xea\x09\x9d\xa4\xd6\x50\xd1\xbd\x0a\x75\x4a\x00\xe0\x2f\x7a\xe4\x81\x89\x26\xe4\xb4\x20\xed\x9e\xbe\xfb\x8b\xd1\x77\x2b\x9c\xab\x35\x95\xf8\x4c\xd8\xda\xfe\xa4\x0d\x89\x81\xcf\xa1\xd1\x52\x20\x50\x41\xc0\x83\xe2\x5b\x11\x0d\x18\x3a\xdb\xd9\x9c\x63\x52\x45\xeb\x31\x6b\xb5\xf0\x98\x84\x56\xe5\x82\x43\xe1\x15\x3e\x1c\x6a\xf6\x93\x8e\xa0\x27\x57\xec\x30\x60\xb2\x90\x51\xb1\xf5\xb9\x98\x4b\x51\x8b\x0b\xc3\xda\x73\xe8\xf8\xe7\xcf\xd6\x0d\xe7\x24\x4d\x16\xec\xe7\xcf\x7a\x88\x50\x7d\x19\x89\x4d\x92\x50\x14\x14\x42\x4d\xa5\x49\x5f\xda\xbe\x93\x7c\xb6\x82\x35\x8f\x44\xae\x97\xec\x15\x1f\xe4\x32\xab\x37\xd8\x3d\xaf\xca\x25\xae\x18\xd6\x10\x87\x1c\x83\x39\xeb\x74\x3b\x88\xeb\x21\x7c\xd0\xb4\x87\x84\xbe\x85\xb0\xfb\xbb\xad\xdd\x3d\xa4\x5b\x83\x48\xaf\x8c\xb0\x4f\xdc\xe0\x2b\x04\x71\x50\x82\xab\x18\x79\xa3\xf1\x5e\x9d\x11\xaf\x1c\x09\xcc\xb6\xa7\x7f\x77\xf6\xf6\xfe\x7d\xc3\xb9\x07\xb7\x0c\x28\xd3\x09\x79\xf7\x57\xd7\x2d\x85\x2a\xa4\xb4\x82\x7b\xb5\x42\x3d\xaf\x0a\x2b\xa2\xc8\x5f\xc9\x34\xef\xc5\xbf\x08\x2a\x66\x1a\x14\xf1\x02\x05\xa7\xde\x98\xab\x84\x18\x0b\xc0\x2f\x4b\x6e\xc6\xd0\xaa\x69\x39\xa6\x4c\x5d\xe8\x07\xe9\xc6\x07\xbd\xb4\x0e\x58\xa7\xb2\x94\x18\xbc\xbd\xef\xde\x7a\xf5\x80\x56\xcf\x49\x7f\xd8\xd8\x5c\xbc\xf7\x8c\x87\x5b\x54\x66\x99\x52\x41\x98\xff\x2d\x65\x35\xb1\xac\x91\x1e\x80\xab\x6c\x1d\xe7\x68\x06\x36\x89\xae\x20\x4f\x2c\xc8\x70\xc3\x38\x15\x64\x42\x2f\x54\x6a\x3c\xf7\x53\x76\x43\xb5\x21\x70\xc6\x13\xe9\x6c\x22\xb0\xa6\x25\x8d\x4b\xe5\x3c\x8f\x07\xac\xaa\xb4\x90\x86\x63\x2b\x16\x99\xf4\xb3\x90\xa0\xd9\x42\x26\x9d\x04\x88\x9a\x58\x83\x1c\x44\xdd\x9d\xef\x76\xb4\xe4\x9a\xcd\xe0\xe0\x4b\x95\x39\xd0\xfc\x24\xe2\x58\xf8\xa8\x2f\xa8\x32\x78\x4e\xdf\xe3\x07\x5a\x40\x84\xf7\xa9\xcc\xf1\xb2\xb1\xf3\xdd\x8e\x83\x15\xe7\x2c\x92\x42\xa5\x35\xa8\x9c\x94\x2f\x37\x86\x9b\xc2\x94\xde\x81\xa4\xa6\x62\xe0\x19\xbe\x4d\x31\xc9\x23\x39\x83\x0b\xc3\x9e\x5f\x2c\x03\x13\xce\x81\xd5\xd6\xfc\x09\xfb\x6c\x93\xba\x4c\x43\x99\x69\x5c\x39\x69\x74\x22\x23\x3f\x67\xf3\xc5\x44\x46\x57\x04\x1c\x7f\xff\xf6\x9b\x2b\xe3\xee\xf8\x2d\xb5\x3b\x60\xb5\xef\xec\xa1\x50\x1e\xf9\xfd\xfb\xb0\xd3\x50\xcf\xaa\x5f\x37\x42\xcf\xc7\x8f\x50\x9b\x3f\xa4\x88\x35\x48\x73\x73\x61\x07\xec\xe2\x1b\xc6\x6a\x70\x24\xd6\x9a\xa8\x6e\xd2\xff\xcb\x13\xf8\x13\x0a\xd2\x7f\x73\xe5\xd3\xf1\x00\xeb\xff\x41\x22\x62\xe0\xbf\x9a\x31\x1f\x42\xca\x71\x27\x37\x40\x9d\xc1\x46\x20\x8b\x05\xf5\x5f\xf5\xc9\xaa\x28\x42\x54\x4b\x4f\x78\xca\xf2\x0c\x4a\x65\x65\x72\x36\x1a\xdb\x04\xfc\x83\x5c\xa8\xdc\x54\x12\x9a\x9a\x4a\xa2\xc3\x38\x53\x79\x13\x6f\xb3\x3c\x67\x89\x94\x4a\x24\x0b\x5b\xd5\xc5\xb6\xc3\x52\xdd\x4c\x5f\xb7\xa1\x7a\x88\xcc\xe2\x7c\xa1\xbf\x81\x24\xff\x50\x22\xc4\x36\xde\xa2\xc8\x27\xdf\xb0\x5d\x7f\xcd\x42\x78\x05\x15\x7d\x4a\x76\x39\x3d\xa1\x1e\x75\x81\x94\xbf\x67\xfd\xf0\x49\x20\xb2\xb7\x3a\xd6\xfa\x55\xfc\xf0\x87\x95\x1f\x76\x7c\x71\x7e\x2f\xa0\xb1\xd3\x2c\xbe\xe1\xb9\x30\x99\x33\x0d\x9b\x32\xb5\xcd\xa8\x7c\xce\xd4\xd4\x8a\xd5\xd7\x7e\x95\x93\xb0\xe2\xbd\x51\x54\xd3\x0d\xb2\xc0\xcb\x79\x8a\xbe\x5e\x25\xbc\x9b\x4a\x6e\x9a\x6c\xa8\x84\x5b\xee\x15\x7d\xb3\xed\xa8\x52\xdb\x17\x64\x47\xe8\x68\x46\x76\x1a\xca\x4f\xec\xd7\x93\xfd\xa0\xc4\x70\x96\x60\x30\xf4\x42\xce\x80\x04\xb1\x96\x45\x2e\x4d\xd9\x0b\xe0\x47\x48\x14\x38\x37\x33\x15\x9e\x96\x26\xb3\x6e\x8f\xb9\xcd\x00\xa0\x02\xd1\x59\xf6\xff\xda\xc4\x7e\xde\xe9\x77\x65\xd3\x30\xb0\xa7\x7b\x07\x7a\xfa\xe6\xcf\x60\xad\x88\x9b\x90\x08\x93\xdd\xd8\xac\xb8\x5f\x81\x85\x69\x88\x13\x19\x7d\xe4\xc9\x4c\x13\xa5\x7e\xa5\x8f\x14\xd9\xff\x6b\x83\xfd\x49\xff\x0f\xf2\xad\x6e\x91\xa5\xdd\xcb\x6e\x34\xa3\xab\xdf\x73\x13\x33\xba\xe4\x80\xd3\xe9\x46\xc1\x43\xd3\x59\x28\x18\x9b\x4c\xe2\x7a\x6e\xb6\xa7\x02\x1b\x74\xf4\x9a\xdd\x3c\xaf\xaa\x41\x48\x84\x51\x2e\x32\x48\x74\x15\x63\x81\x33\x57\x8c\x30\x24\xe5\xff\x3b\x6b\x0c\x2e\x27\x62\xaa\xcb\xb7\xb4\xce\xa0\xaf\x0b\x40\xaa\x37\xef\x49\x06\x68\x6c\xb6\x4a\xcb\x8f\xfb\x58\xb9\xba\x4e\x46\xad\xcf\x49\x0a\x01\xed\xaa\xd8\x9c\x8b\x6f\x3d\xf7\x0a\x99\xc3\x2b\x74\xbb\x02\x03\xb6\x32\xae\x9e\xea\x46\xe5\xe5\xe5\x14\x65\xe7\x7f\xf1\xda\x84\xb4\xd0\xff\xa1\xdf\xea\x4e\x6e\x62\x31\xa7\xf2\x08\x71\x22\x58\x3c\x99\x52\x99\x0d\xaf\xde\xcf\x09\x4e\x1d\x2b\x02\x42\xa9\x0f\xac\xf8\xa6\x72\x99\x09\x65\xb3\x0e\xeb\xbd\x80\x09\x8a\x07\x32\x8d\xa8\x9a\x8a\xb9\x24\x06\x1e\x7f\x9a\x2e\xcc\x76\xd7\xe0\xe0\xf8\xf2\x6f\xef\x4c\x89\x4c\xef\x41\x39\x64\x40\x34\x02\x0a\x06\x5a\x05\x9d\xe2\x37\x71\x3a\xda\xcd\x84\x1e\x01\x15\x09\xc1\x78\x5b\xaa\x43\x62\x7a\xd7\x97\xd5\x64\x41\x05\x52\xa4\xde\xaf\x37\x71\x84\x15\x7f\xb8\x5a\x90\x0b\x86\x1e\xe2\x40\x4e\x26\x32\xd5\x9f\x0e\xe3\xd1\x2c\x03\x75\x12\x9c\x8d\xb4\xea\xc6\x93\x3a\x8b\x47\x10\xf4\x0f\x0b\xd5\x5f\xb0\x23\x99\x2d\xd8\x3b\x3e\x18\xf0\x2c\x23\x52\xdf\x75\x3e\xa7\x32\x55\x79\x36\xd3\x17\x6f\x8b\x87\x2a\x8c\x52\x2f\xe0\xfa\xc8\x51\x6b\x61\x35\xb6\x34\x21\x03\xa7\xc2\x2a\x8a\xb7\x0d\xae\x42\x46\x93\x4f\xbb\xbb\xbb\xf3\xf9\xbc\x7d\x93\x77\xf6\xf6\xda\xa9\xc8\x77\x23\x39\x50\xbb\x37\xf9\xa3\xce\x5e\x2b\x9b\xec\xbe\x3c\x3e\xea\x9d\x9f\xa1\xcc\x35\x10\x53\xa3\xfa\xd2\xf7\x16\x2c\x7d\x33\xcb\xe5\x3c\xe3\x53\x56\xd7\xff\xc5\x7a\x85\x0d\x9b\xac\x37\x27\x17\x4c\x2c\x56\x25\xc4\x44\x91\x52\xab\x2f\xd8\x5c\x3f\x43\x87\x4f\x7d\x73\xa8\xde\xfe\x84\x81\x83\x2f\x7a\xf2\x9f\x41\x37\x7d\x42\x58\xb0\x99\xbf\x41\x99\x26\xa7\x0b\x94\x31\x3c\x2c\x78\x7c\xc2\x60\xd2\x3f\xcb\x09\xa0\x75\xda\xd4\x1b\x90\xe7\x79\x16\xf7\x67\x39\x94\x8f\x26\xdb\x0c\x14\xb8\xd4\xc8\x9b\xce\xfa\x49\x3c\x70\xf4\x05\xc4\xc1\x07\x03\xa1\x14\xc5\x52\x21\x20\x4b\xc4\xd6\x61\xd9\xe1\x86\x1d\xb8\x99\xfc\xc9\xfe\xf4\x1b\x74\x6d\x9e\x7c\xaa\x05\x78\x23\x32\x25\x3e\xad\x83\x50\x6e\xe7\x1d\xf4\x00\x49\x02\x55\xbe\xc3\x0b\x54\x15\x08\xaf\x41\xf1\x5b\xbd\xcc\x47\x3c\xcb\x62\x3e\x12\xc4\xfd\xab\x61\x54\x34\x2c\xc2\xc2\x2d\xf8\x31\xc6\x12\x29\xd5\x60\xc2\x36\xd5\x10\x5e\x24\x71\x7a\xbd\xf2\x7b\x6c\x51\xfc\x3a\x86\x48\xaf\x15\x78\xf0\x1a\x14\xbf\x25\x2c\x7f\x8c\x23\x21\x57\x2f\x04\x36\x29\x7e\xdf\xcf\xf8\xe0\x5a\xe4\x22\xc2\x40\xb3\x6a\x08\x85\x46\x16\xc6\xfa\xd3\x07\xaa\x5c\x67\xff\xea\xaa\x97\x6d\x0b\xe3\x16\xf6\x3c\x83\x22\xeb\xd5\x15\xb7\x16\x69\xce\x6f\xf1\x20\xd1\xac\x16\xad\xa9\xd6\x94\x37\x53\xb9\x9c\xc4\xbf\x70\xcb\xcc\x0d\xfb\xa0\x7a\xf4\xa5\xea\x42\x30\x00\xa6\x87\xa0\xe5\x0d\x53\x6c\x1e\x6f\x40\x84\x2e\x7c\x04\x4a\xce\xef\x76\x0d\x19\xd0\xbb\x03\x56\xc3\xa8\x86\x22\x9c\x14\x5c\x49\x11\x8e\xcd\xd6\x2f\x95\xa9\xf6\xe9\x83\x9a\x4a\x85\x3a\x92\xa5\xc3\xf9\x13\xc1\xb1\x1e\xe8\x14\x92\xb3\x06\xf0\x60\xcc\x0e\x5c\x69\xe6\x00\x11\x9e\x88\x05\x15\xcd\x83\xe2\xf7\x42\x29\x3e\x12\x81\x54\x95\x8a\x39\x3b\xc6\xd2\xe7\x00\x80\xe1\x57\x3c\x87\xd2\x6e\x76\x1a\xf7\x59\x0d\x8b\xbd\x19\x18\x2b\x7b\x76\x15\xd7\xcb\xeb\xe2\x4b\x73\x80\xa0\x03\x1f\xef\xa6\x66\xd7\x2a\xe8\xa5\x72\x52\xf8\x29\x1c\xc2\x9f\xa7\x52\x79\xfa\x2a\xbb\x98\xf8\xe3\x79\xb8\x32\xd4\x5e\x5f\x9e\x9c\x22\x0b\x70\x4b\x83\x09\x75\xd6\xfe\xe5\x1d\x50\x55\x0e\xc7\x41\x75\x8e\xff\x54\x6f\x47\xba\xac\xe0\x3d\x45\xda\xca\xc7\x5e\x29\x12\x77\xf0\x43\xe1\x5d\x7f\xde\x54\xb8\x15\x6e\x16\xe6\x83\x37\x62\xa1\x02\x8f\x07\x6e\x53\x49\xb4\x19\x7b\x23\x48\xe6\x88\x84\xf5\x83\xe2\x29\x18\x42\x47\xe8\x91\xad\xff\xb2\x60\xad\x11\x6d\x69\xb7\xa6\x44\x75\x9b\xb1\x77\xae\x7a\x0a\xea\x58\xb1\x76\xb5\x2b\x76\xf9\x57\xa9\x27\x02\x72\x04\x5e\x27\x22\xa8\x72\xeb\x05\x53\x20\x92\x52\xa6\x19\x68\x16\xab\x6b\x50\x56\xd2\x30\x8d\x16\x24\x4e\x23\x2c\x34\x68\x83\xd4\x66\xa9\x2b\xc9\x17\xe8\x5c\xf5\xe9\x6f\xa4\x2f\x03\xdd\x2b\x31\xdb\xc5\x3b\xdd\x61\x97\xc1\xed\x59\x90\x53\x28\x0f\xd2\xc0\xec\x1c\xee\x84\x43\x64\x8c\x3d\x7e\xd4\x65\x3d\xbc\x0a\x61\x1e\x20\x7a\xbe\x77\xfb\xb0\x53\xfd\x06\xfc\xcf\x8a\x1d\xe1\x43\xbf\xc5\x32\xc0\xf0\x72\x0d\x74\x34\x74\x57\xf6\x41\xaf\xfc\xd6\xdf\xf9\x2d\x71\x20\x50\x8b\x72\x2e\xb4\x38\xa5\xbc\xc2\x66\x01\xc5\x02\xce\x4d\x1e\x3e\x2a\x4d\xaa\x19\x42\x22\xb8\xf2\x4c\x4f\x9a\x00\x0e\x6d\x1d\x4d\x60\xf6\xb4\xb7\xed\x9d\xbe\x70\x97\x07\x8d\x68\x13\x2c\x8a\x5e\xc5\x8a\xa6\x21\x23\xec\xca\xdd\xdf\xcb\x5c\xde\x63\x02\x70\x9c\xbe\x11\x8b\x9e\x19\x75\x89\xd1\x58\x2d\x0e\xaa\x60\x6c\xc9\x4a\xcd\x37\xbf\x81\x42\x24\x7e\x01\xc1\x6b\x77\xbb\x5f\xb3\xf1\xac\xf3\xdd\xcd\xc5\x46\xed\x2f\xae\xaf\xae\x02\x7d\x8b\xee\x77\x3e\xd6\x77\xb5\xba\x65\x46\xdf\x57\x30\xc1\xa0\x66\xa1\xba\x8e\xa7\xbd\x29\x1f\x38\xe3\x95\x1e\x75\x2e\xaf\x85\xf5\xe7\x07\x94\x9c\xeb\x27\xc6\xd9\x17\xd4\x5f\xfa\x41\x1b\x0e\x9d\x83\x03\x56\x23\x2e\xe0\x19\xb4\xb2\x1b\x4f\x79\x8f\xad\x6f\x78\x42\x8a\x2f\x6b\xe0\xaa\x02\x65\x27\x5c\x0b\xab\xe8\x78\x40\xb6\xc6\xaa\xa7\x2d\xb3\x75\x54\xd6\x21\xd8\xeb\xef\xea\xb9\x85\xa2\x47\x92\xdd\xa0\x46\xec\xdb\x6f\x99\xf9\x79\x2f\xb0\x0d\x20\x7e\x33\x70\x7f\x8b\x15\x1e\x99\x7e\xa1\x53\xd3\x0f\x1e\x7e\x5e\x47\x0d\xd7\x91\x81\xec\xe9\x0b\x2b\x11\xb7\x1e\x21\x86\x9f\xfa\xc8\x08\x96\x67\xed\x97\x05\x5c\x84\x43\x71\x40\xcb\x53\xfe\x90\x5e\xa7\x72\x0e\xca\xbc\xe5\x73\xfd\xb2\x8e\x24\xd4\x62\xd2\x97\xc9\x0a\x72\x30\xfa\x4a\x37\x14\x57\xc2\x33\xba\x13\xb1\x20\xb9\x4c\x37\x26\x96\x38\xf2\x68\xc4\x6a\x59\x2f\xa6\x57\x8d\xc0\x75\x13\x1e\xb1\x03\xa6\x87\xeb\xda\x7f\xd9\x06\xa1\x58\x6a\x5f\x44\x0c\xb1\xb2\x0a\xad\x15\x30\xcb\x10\x8f\x0d\x3c\xef\x24\xf7\xf7\x60\xd9\xe4\x5c\x66\x1a\x56\x21\x3e\x18\xc3\x4e\x68\xd9\x9d\xd0\xcf\x04\xbf\xf6\x5a\x79\x74\x77\x0f\x85\xcd\xc6\x8a\x91\xe5\x19\xf7\x85\x79\x3e\xd4\xc2\x6c\xce\xb3\x91\x00\x3b\x53\xcd\xf4\x4f\x45\x8f\x6e\x78\x3a\x10\x75\xcf\x0d\xae\xd0\xe3\x81\xdf\x63\xb9\xbf\x77\xb1\x52\xe0\x14\x59\xec\xa0\xa0\xb9\x5e\x73\x76\x1c\x9a\x70\xa8\xaa\xc2\xa4\x45\xdc\xad\x61\xb7\xdf\x54\x72\x5b\x94\xf2\x6b\x81\x9d\xa1\xc8\x62\x37\xe3\xac\xdb\xb0\x11\x2a\x06\xde\xa8\x0a\xf8\x58\xde\xbc\x8a\x75\xac\xe4\x13\xe4\x23\x5e\x4d\xd7\x94\x6d\x62\x29\x0d\x53\x1d\xf0\x12\x09\xaf\x5c\x37\x21\xae\x31\xde\x76\xf5\xb5\x42\x8b\xf0\x07\xac\x76\x59\xab\x19\xbb\x88\x79\xb4\x53\x5b\x4d\x18\x42\x5c\xbf\x76\x82\xf1\x9a\x4e\x50\x19\x5d\xdf\xbd\xe0\xad\x5f\x3e\x5f\xed\xc6\xab\xef\x44\x00\x9b\x36\xee\xa6\x80\xf7\x5a\xcf\xae\x76\xd7\x80\xb5\x54\x58\x86\xea\x6f\xf6\x90\xf1\x3a\xd9\x48\x03\xe9\x5a\xc6\xdd\x64\xb0\x82\x5d\x33\x92\x2f\xcf\x97\xed\xda\x60\xaf\x15\x9d\x9e\x42\x3c\xd6\x1b\x01\xfd\x9b\x2e\xbd\x75\x0f\xbb\x85\x29\xf9\x9f\x7f\x79\x5e\x82\x8e\x64\xb0\x04\x32\xed\xba\x0a\xa8\xe6\xb3\x0a\x88\xb4\x36\xcb\x06\x4b\x62\x53\xd5\x48\xcd\x87\x1a\x68\x25\xd1\x7b\x47\x01\x6c\x93\xda\x06\x4b\xba\x8a\x0c\x5d\xf0\x5d\x35\xa2\x57\x1d\x1d\xe1\x66\x2b\x5c\xc7\x75\xc7\x64\x57\x41\xb2\xde\x6b\x3d\xfb\x7c\x75\x7f\x37\x1e\x6d\x32\xe2\x65\xc4\xad\x89\xad\xcf\x95\x96\x5f\x3a\x7b\x21\xe2\x89\x30\xf7\x6a\x36\x42\x66\x99\x30\xcc\x5a\xac\x53\x48\xca\x11\x5e\xd2\x3d\x55\x45\x47\xdf\xd7\x01\xf0\x6d\xad\x10\x2a\x63\x46\x5a\xaf\x98\xf0\xde\xad\xde\x70\xbc\x35\xbc\xba\xbf\x3b\x8a\x1b\x25\x6f\xac\x55\xdf\x5e\x46\xf7\x77\x47\x8d\x6a\x25\x01\x55\xb2\x97\x19\x8b\xe4\xac\x9f\x08\xf6\xb7\x99\x74\x2c\xd0\xb7\x07\x14\xd5\x3e\x36\x03\xb9\x8c\xd3\xdc\xe8\x86\xe0\x8c\xe5\x09\x42\xf1\xae\xad\x8c\xf5\xa0\x23\x0d\x2c\xe8\x41\xa1\x0f\x7c\x9f\xf2\x2c\x88\x88\x25\x71\x2e\x32\x9e\x24\x8b\x66\x61\x48\xd0\x70\x9a\x49\xd0\x9b\x0b\x70\x8e\xb7\xb7\xbb\xf3\x93\x97\x27\xf5\x6c\x14\xa7\x11\x6f\x74\xd9\x47\x53\x60\x1f\xfd\xab\x65\x62\xa3\x80\x7c\x4b\xc1\x29\x6e\x3a\x9e\x8b\x2f\x6c\x6a\x7f\xfb\x2d\x8c\x5a\x0e\x67\x73\x58\x42\x56\xab\x38\xcd\xe0\xa2\x49\x5f\xaf\xbd\x28\x2e\x3b\x35\x80\x0f\x0a\x35\x4b\x72\xa7\xf0\xd3\xcf\xb0\xd3\x03\xc3\x06\x8d\xbf\x22\x3e\xbe\x07\x07\x89\xa6\x58\xf7\xf7\x65\xad\xb6\x6c\xef\x51\xdf\x86\x05\xd0\xbe\x2b\xb1\x54\x3b\x1a\x76\x00\x4a\xb9\x33\x31\x3a\xbe\x9d\xd6\x6b\x17\x97\x97\x97\x97\xfa\x84\xc5\xce\xee\xb3\x1a\xe4\xde\x1f\x11\x9c\x6d\x2e\x92\x99\x68\x27\x5c\xe5\xaf\xd3\x48\xdc\x5a\x29\x46\x2a\xdf\xdd\x40\x40\x08\x6c\xdd\x83\xd1\x58\x2e\xf6\x7d\x48\xc9\x9c\xe2\x1d\xe8\x44\x5a\x35\x57\xb5\x1c\xb0\x7b\xff\xa0\x62\xcf\x6a\x56\x6c\x06\xd1\x0c\x47\xd7\x62\x9d\x4a\x91\xb1\xd0\xc8\x4e\xdb\x6b\xef\x16\xea\xc0\x2e\x54\x20\x16\x5c\x16\xbd\x4d\x8b\x27\x5b\x69\xd4\x40\x43\x18\x2b\xe2\xe2\x68\x07\x32\xcd\xe3\xd4\x94\x4d\xfe\x52\xd5\xb9\x96\x40\x56\xf5\x5e\xe8\x06\x09\x6d\xc5\xb0\x96\x76\xe9\xf5\x00\xbd\x6f\x30\x41\x53\xa4\x75\x96\xe4\x85\x50\xdf\xad\x17\x1a\x0e\xbe\x90\xe9\xa5\xc4\x3d\xd0\x24\x01\x29\xa2\xaa\xf4\xda\xac\x4e\x76\x68\x9f\xcf\xa1\x19\x52\x37\x07\x8f\x34\x4f\x3b\x7e\xf8\xea\xfc\xf8\x0c\xde\x24\x82\x43\x7c\x08\x24\x8b\x4a\xb8\x1a\xb7\x1b\x45\x25\xd4\xa6\xbc\x81\x62\x80\x2a\x79\xc3\x04\x1c\x99\x11\x97\xb5\x9d\x5a\x57\xff\x07\x5d\xda\xf5\xda\x76\xe1\xbf\xe6\xef\x4b\xf8\xfb\xd2\xfc\xcd\xe1\xcf\xdb\xbd\x27\xe6\x41\x9f\x1e\x3c\x35\x0f\x04\x3e\xe8\xf4\xcd\x83\x21\xb5\x18\x98\x07\x29\x3d\xe0\xe6\x41\x46\x0f\x22\xf3\x20\xa7\x07\xcf\xcc\x83\x1b\x7a\x60\x81\xde\xd6\xba\xc5\x99\x19\x09\x90\xae\xe4\x2b\x0e\xff\xab\x5f\xf7\xbf\xe0\xe9\x1f\x90\x4d\x55\xd2\x1b\x7b\x3a\x02\xd4\x26\xeb\x3c\x6e\x98\x1b\x29\x8d\x64\xf6\xfb\x46\xf2\xf0\x2b\x8c\xc4\xea\xfd\xbc\xc8\x8a\xc1\x18\x52\x8f\xf1\xe9\x52\xe9\xc9\xdc\x79\x90\xa4\xbb\xce\x32\x32\x18\x3b\xc6\x6d\xa6\x30\xe1\xd3\x0b\x7a\x79\xf5\x7c\x09\xa3\x87\x2d\xbb\x98\x0a\x39\x64\x4e\x2d\x62\x50\x43\x07\x89\x81\x07\xff\xdb\x1e\xf0\x24\x41\x17\x2d\x5f\x6a\xa3\x4b\x64\x49\xe6\x70\x5e\x3f\xc6\x7f\x50\xe5\x3c\x03\xb7\x84\xa5\x5b\xb1\x78\x74\xe3\xf9\xf3\xc5\x42\x38\xb4\xbf\x02\xb7\xaa\xdc\x37\x5f\x81\x83\x87\x9a\xf2\xb4\xcd\xd8\xbb\x0f\xbd\x73\xd4\xe8\x92\x2a\x19\x9a\xee\x8c\x12\xd9\xe7\xc9\x0e\x1d\x6f\x6c\x98\xf0\xd1\xdd\x8e\xf4\x0a\xc7\xa1\xa9\xef\x35\x04\x2b\x6c\x7c\xce\xb0\xd7\x65\xeb\xab\x25\xd7\x2c\xe5\x09\xda\xbe\xba\xac\x37\xe5\xa9\x73\x77\x35\x9e\xd7\x08\x83\x0e\x36\x03\x78\xd9\x79\x0a\x75\xe1\xb3\x05\x3b\xb0\x2d\x4b\xe7\xaa\xa3\x43\xdd\xf0\xb7\xdf\x2a\x60\xb6\x34\x8c\x8b\xbd\x2b\x23\x03\xdf\x73\x9d\xac\x95\xf4\xad\x07\x1e\xd2\xab\xc1\x8d\x13\x3e\xd0\x06\x56\xd5\x69\x67\x19\xdd\xd2\x1a\xe1\xa0\x42\xbe\x7f\x88\x2d\x37\x22\x2d\x63\x42\x1d\xc8\x19\xf8\x8b\x2e\x5d\x68\xea\xde\x5f\x63\xf8\xc6\x53\xd3\x80\xc4\x7f\x80\xa0\x42\x1b\xde\x8a\x3b\x42\xc9\x9e\x17\x4a\xa3\xe4\xd2\x82\x12\x1b\x3b\x64\x49\xac\x20\x06\x0d\x82\x86\x58\x2a\xd3\xd6\x7c\x1c\xe7\x02\x13\x05\x06\xc4\x4f\xce\xaf\xe6\xb0\x64\x38\x77\x47\xdc\x37\x32\x8e\x56\x92\xb6\xd5\x3a\x15\xdd\x61\x70\x30\x1e\x69\xef\x5e\xaa\xdd\x76\x2e\x54\x6e\xb8\x58\x70\x71\x0d\xe5\xc9\xdd\x4b\x75\x7f\x77\x34\xc1\xb4\x74\x4b\x68\xd6\x64\x09\x32\x16\x53\x0f\x7d\x46\xfc\x35\xd2\x61\x20\x18\x7a\xb4\xe4\xc3\x76\x74\xb6\xd9\x62\x50\x17\xc5\xa9\x06\xe2\x4d\x3b\xd6\x90\x4f\x86\x41\xab\x83\x03\xd6\xea\x34\x36\x51\x9b\xca\x14\xac\xaf\x7a\x37\x78\xcb\x7b\x9f\xd5\x9a\xe8\x01\x01\x1b\x25\xb0\x0b\x18\x16\xef\xc4\xa3\x4d\xfd\x3c\x3e\xfb\x0a\xb6\x7f\x71\x9f\x0f\xeb\x0b\x97\x50\x40\x30\x78\xf5\xf9\x06\x64\x99\x85\xda\xc5\x32\x85\x7b\xe8\xd0\x02\x55\x49\x97\xb0\xd4\xca\x8d\xd2\x17\x18\x37\xbb\x36\xa6\xe2\x1b\x34\x70\x76\x4d\x6c\xc5\x37\x8c\x1d\x26\xfa\x3d\x84\x58\x7c\xc3\x20\x2a\xb8\x6b\x42\x2d\xbc\x7d\xfe\xc6\x16\x6e\x98\x79\xae\xeb\xa8\xb8\x26\x1f\x61\x1b\x08\x68\xb8\xd6\xa9\xde\x86\x98\x38\x48\xe3\x79\x22\x55\x9e\x2c\x58\x22\x86\x39\x93\xb3\xdc\x2e\x07\x30\x89\xbe\x18\xf0\x99\xa9\x0d\xa2\x91\x3d\x91\x37\x82\xa1\xd3\x17\xd8\xc4\x4d\x1e\x54\xeb\xd8\x92\xc8\x01\x4f\x04\x18\x53\x4d\xee\x01\x93\xb3\x20\x2d\x38\x18\xb0\x24\xbe\x16\x6c\x07\x0c\xb9\xc7\xbd\xa3\x9d\xa6\x0d\x69\x1f\xc8\x89\x50\xe6\x68\x37\x63\x91\x43\x08\xfe\xf1\x10\xcb\xd8\x6b\x70\xcf\x16\x7f\x9b\xc5\x37\x3c\x11\x18\x89\x89\x00\xf7\x9f\xec\x60\xe4\x10\x99\xa1\x3b\xfd\x9d\xd5\xcb\x68\x4d\x4e\xb4\x44\xbb\xbb\xec\xdc\xa5\xc9\x3f\xee\x1d\x75\xd9\xfe\x13\xbd\x16\xaf\x3a\x5d\xd6\xe9\xec\xc3\xcf\x7d\xfd\xf3\x01\xfc\x7c\xa0\x7f\x3e\x84\x9f\x0f\xf5\xcf\x47\xf0\xf3\x91\xfe\xf9\x18\x7e\x3e\xd6\x3f\x11\xc2\x13\xfd\xf3\x29\xfc\x7c\xaa\x7f\x3e\x83\x9f\xcf\xba\xac\xb3\xbf\x87\x5d\xec\xe9\xdf\x1d\xfc\xad\xfb\xdb\xc7\xfe\x3a\xba\xc3\xfd\x07\x4d\x8a\xb4\x3f\xd3\xac\x61\x2e\xf5\x00\x4f\xde\x1f\x77\xd9\x43\x00\x74\xfe\xe9\xa4\xcb\x1e\x01\xa0\xf3\x9f\xce\x8e\x8f\xbb\xec\x11\x42\x3a\xf9\x70\xd6\x65\x8f\x10\xd2\xeb\x8f\xfa\x39\x0c\xbd\xf7\xfa\xcf\x5d\xf6\x08\x86\xde\x3b\xfe\x78\xfc\xbe\xcb\x1e\xc1\xe0\x8f\x5f\xff\xf8\xd3\x79\x97\x3d\x82\xe1\xbf\x7f\xad\x3b\x78\x04\xe3\xff\xcb\xf1\xd9\x49\x97\x3d\x84\x09\xbc\x38\x3c\x7a\xd3\x3b\x3d\x3c\x3a\xee\xb2\xa7\xc1\xb0\xc6\x99\x80\xdc\x56\xe7\x87\x2f\xba\x0c\xc6\xf5\x5f\x5d\xf6\x14\x06\xf2\xa9\xcb\x9e\x02\xa0\xe3\x2e\x7b\x0c\xaf\xce\xba\xec\x29\x8c\xeb\xbc\xcb\x9e\xc2\x48\xfe\xbb\xcb\x9e\xc2\xab\x0f\x5d\xf6\x14\x86\xf3\xba\xcb\x9e\xc0\x78\x4f\xba\xec\x09\xbc\x3a\xed\xb2\xa7\x7b\x7e\xa7\x43\x39\x83\xf4\x96\x47\x87\xa7\xbd\xb7\x27\x47\x6f\xba\x0c\xf1\x79\xd8\x65\x8f\x01\x46\xaf\xcb\x9e\x02\x8c\x97\x5d\xf6\x18\x17\xa0\xcb\x9e\x40\x9b\x1f\xbb\xec\x09\x8c\xee\xa7\x2e\x7b\x02\x63\xf9\xcf\x2e\x7b\x02\x63\x79\xd3\x65\x4f\xe0\xf3\xb7\x5d\xf6\x04\xb0\x01\x35\x03\xbb\xac\x13\xac\xc4\x30\x06\xe7\x06\xf6\x97\x2e\x7b\x06\x20\xff\xdc\x65\x4f\xa1\x93\xa3\x2e\x7b\x0c\x13\xfe\xd8\x65\x4f\x01\xc0\x8b\x2e\x7b\x8c\x78\xed\xb2\x27\xd0\xe6\x5d\x97\x3d\x79\x62\xc0\x1d\xe7\x03\x0d\x89\x10\xfb\x00\x86\x73\x7a\xf6\xfa\xfd\xf9\xe7\xde\xd1\xd9\xb1\x5e\xa2\x87\xf0\xac\x77\x74\x76\xf2\xf6\xed\x67\x9c\x6b\xe7\x21\x0c\x12\xaa\x44\x75\x19\x12\x15\xd6\x74\xea\x32\x7c\xf5\xd3\xc9\x3b\x0d\x0e\x3a\x3e\xfd\xf1\xc3\x69\x97\x3d\x40\x6c\x1c\xbf\xed\xb2\x87\x34\xb3\x97\x5d\xf6\xe0\x11\xb6\x78\x79\xf2\xe9\x7d\x97\x3d\x00\x24\x40\x6b\x18\x29\x3e\x7d\x08\x53\x3c\x43\x1a\x79\x00\x9d\xbd\x3d\x7e\xa5\x7f\xc3\x4c\xa9\xf0\x8d\x1e\xd5\x43\x33\x2b\x2c\x23\xa3\x11\x7a\xba\xd7\x65\xcf\xa0\xbf\x37\xa7\x9d\x2e\x7b\xf6\x04\x7f\xee\x77\xd9\xb3\xa7\xf8\xf3\x41\x97\x3d\x7b\x86\x3f\xf5\x76\xda\xdb\xc3\xdf\x7a\x3f\xed\x75\xf0\xb7\xde\x50\x7b\xfb\xf8\x5b\xef\xa8\xbd\x07\xf8\x5b\x6f\xa9\x3d\x5c\xb8\x53\xbd\xa7\xf6\x1e\xe1\xef\xcf\xa7\x6f\x3f\xf4\xf4\xdf\xd4\xdb\xe7\x77\xaf\xdf\xe3\x03\xea\xe8\x73\xef\xfc\x50\xaf\xea\x1e\x8d\xec\xf3\xcb\xd7\x1f\x5f\xbf\x3c\xd6\x3b\xb4\x63\x9e\x1c\x1f\xbd\x7e\x77\xf8\x56\x3f\xb2\x94\xe7\x0a\x6c\x4c\x44\x14\x03\x8f\x53\x1a\x03\x87\x1f\x5f\xff\x78\x78\x7e\xfc\x59\x6f\x91\x2e\xeb\xd0\x7a\x9b\xa7\xaf\x4e\xce\x3e\x1d\x9e\xbd\xd4\x2f\x60\x3c\x58\xde\x42\xff\x89\x74\xf9\xe1\xed\x5b\xbb\xd8\x1d\x24\xda\x4f\xaf\xdf\xbf\x3c\xf9\xf4\xf9\xe4\xe3\xf1\xd9\xc7\xd7\xc7\x9f\xf4\xf3\x7d\x5c\x71\xbd\x0a\xef\x8f\x7b\xbd\xcf\x7a\x95\xf6\x91\xe1\x78\x4f\x71\xc5\xf6\x3b\x4f\xfc\xb3\xe3\xb5\x77\x84\x91\x83\xa2\x3e\x3f\x9d\x21\xac\xca\x61\xa5\xc2\xce\x66\xf8\xa5\x71\x08\x3c\xcd\x4c\x7a\x6e\x97\x8d\x40\x73\x62\xe7\x8c\xaf\x16\x2a\x17\x13\xe4\xef\x90\x12\xc4\x5c\xbc\xe0\x43\xe7\x1b\x88\x41\xc1\xdd\xb5\x61\xc3\xcd\xc0\x21\xf1\x13\x8f\x73\xca\x7c\xbb\x73\x2d\x16\x10\xb8\xbf\x83\xa0\x9b\x2e\x4c\xdf\xbc\x61\x26\xb3\x6d\x21\x99\x27\x0d\x81\x32\x4a\xac\x1a\x83\xa9\x98\x11\x0c\xe2\x6d\x21\xf3\x09\xe6\x9d\x0a\xe7\x4f\xd9\x50\x68\x34\xae\xcf\xd3\xc3\x5e\x6f\x55\x87\x50\x3c\x2a\xe8\xad\xe7\x92\x6d\x1b\x87\x70\x90\x0e\xa7\x7c\x24\xd8\x6c\xea\x40\xfb\x59\xdf\x3d\xe5\x85\xf9\xc8\x7a\xe8\x2c\xcf\x12\xbf\x5d\xea\x80\x2d\x86\x19\xc9\x79\x5a\x35\xd0\x97\x72\x9e\x6e\x37\x54\x97\x96\xfb\x6b\x0f\x96\x48\x24\x97\x25\x94\x9e\xcb\x73\xb9\x05\x46\x6d\x65\x82\x3f\x68\x84\x7d\x99\xe7\x94\x64\x22\x18\xe4\x0b\x78\xfe\x0f\x1e\xa7\x4b\x74\x6e\x87\x09\xf9\xef\x2a\x72\x9a\xd3\x70\x31\xdb\x8f\x7d\xbf\xc9\x78\xcb\x09\xcb\xb7\x4c\x72\xb1\xc1\x4d\xc8\x26\xee\xf9\x4c\xf5\x6a\xfe\xd5\x43\xaf\x3c\xef\x77\xfd\x73\x58\x6b\x32\xf8\xd1\xcb\x65\xc6\x47\xc2\x77\x7c\x3f\xb5\x93\x7f\x87\x73\x67\x6a\xd6\xc7\x78\x15\x40\x86\xe6\x6b\xa8\x51\x62\xef\x79\xaf\xf7\x93\x97\xe6\xc8\x59\xdc\x28\xf3\x2c\xe9\x53\x12\x4a\x09\xc6\x53\x26\xb3\x48\x64\x60\xc8\x43\xcd\x04\xea\x27\x07\x32\x4d\x29\x25\xd9\x34\x93\x7a\x0a\xe1\x91\x54\x1a\x92\xaf\x3b\xc3\x0f\x5e\x53\xc8\xaa\x9e\x55\xa9\xbd\xd3\x42\x36\x89\x48\x28\x80\x89\xe6\x5f\x4e\xbf\x17\xfc\xab\x21\x5d\xec\x9a\xb1\xed\x82\x5e\xca\xf6\x6b\xd4\x66\x91\x18\x2a\xe7\xcd\x55\x1a\x03\x75\xe9\x5e\x80\xbe\x0d\x3d\x4e\xf5\x9d\x44\xd5\x35\x80\x46\x39\x1c\xf7\xda\x65\x13\x84\x9b\x3d\xfa\x5c\x3b\x38\xba\x41\x13\x7a\xbf\xb8\x16\x8b\xab\x8b\xce\x55\x63\x49\x96\x80\x65\x43\x1b\xf0\x5c\x8c\x24\x84\xbd\xe1\x1d\x77\x7d\x43\xbb\xcd\xd8\x01\xab\x99\xdf\xb5\x8d\xbe\x3c\x9c\x4e\x05\xcf\x48\x3f\x56\x73\x7f\x6d\xf6\xb5\xde\x83\x26\xd0\xa5\x66\xff\xd8\xec\xdb\x9e\xde\x31\x7a\x8e\x35\xfc\xb5\xe1\x57\xc0\x9f\xd0\x0c\x5b\xb3\x7f\x6c\xf6\xed\x71\x3a\x90\x11\x7d\x6a\x7e\x6f\xf6\xe5\xbb\x58\x0d\x44\x92\xf0\x54\xc8\x19\x0c\x39\x78\xe0\xa9\x37\xde\xd2\x56\x72\xdf\x36\xed\x36\xeb\x2f\x58\x14\xab\x69\xc2\x17\xf8\x88\xd5\x73\x39\x85\x54\x0b\x70\x3e\x34\x56\x6d\x32\x33\x98\xc5\x4b\xeb\x1e\x67\x52\x44\xfc\xca\xe2\xa8\xbb\x94\xd0\x2b\x97\xba\x49\x5c\xfc\x36\xef\xfa\x6b\xce\xea\x43\x99\xe6\xaa\xc9\x06\x32\x91\x99\x6a\xb2\x78\xc2\x47\x42\x35\x6a\x60\x7b\xd9\xb8\x1f\x4b\x07\x41\x37\x98\xd3\x99\x21\x81\x6c\x07\xd0\xac\x55\x00\xcf\x2e\xe0\x76\xb0\xcc\xee\x08\x60\xd9\x2d\xb3\x1d\x2c\x4b\x7e\x01\x30\x47\x94\x5b\x42\x83\x5d\x10\x82\xc2\x8d\xb1\x1d\x9c\x80\x34\x03\x70\xfa\x4d\xbb\xf6\x05\xb2\x86\x2c\x25\xb4\x32\x67\xa4\xab\x46\x8d\x27\x79\x6b\x94\xb5\x26\x32\x12\xb5\xee\x37\x8c\x5d\x6c\x83\x6e\xf0\xc4\x84\xd1\x5c\xc0\x2f\x56\x4b\x65\x2a\x4c\x62\x93\x16\x65\x35\x49\xc4\x30\x37\xbf\xe1\xbc\x86\x3f\xb0\xa4\x5e\x0d\x53\x09\xea\x83\xeb\x30\xc9\x7f\xd4\x2c\x3e\xa7\x73\x6a\xcc\x07\xd7\x3f\x7f\x1a\x8b\x59\x16\xab\x3c\x1e\xb4\x2f\x53\xd2\xc1\xd6\xbc\x5f\x35\xdd\xef\x65\xad\xab\xa5\x02\x89\xdf\x3a\x4d\x5a\xca\x6f\xe2\x11\xcf\x65\xd6\x4e\x78\x3a\x9a\xf1\x91\xe8\xba\x4f\xf1\xe0\xb9\xac\x89\xb4\x35\x53\x97\x35\x76\xf0\x03\xbb\x84\xe1\x5f\xd6\x9a\xe8\x6e\x0b\x4f\xec\x80\x2f\xc3\x6e\xa1\x61\x97\xbd\x8c\x15\x06\xd4\xa6\x0b\x9a\x40\x26\x12\xb0\x85\x4f\x66\xa9\x3e\xc9\xfd\x61\x5b\xac\xc0\x80\x95\x9a\x4d\x30\x5e\xe2\xfe\x61\x92\x53\xba\x1e\x80\x11\x7c\x63\xb0\xe7\x7d\x03\x0a\xc6\x55\xdf\x78\x83\xb6\x1f\xa1\x54\x55\xf1\x15\xd6\xb7\xac\x05\x65\x99\x5a\xb1\x6a\x85\x15\x97\xee\x40\x1c\x94\xc6\xa8\xd6\x97\x12\x15\xb1\xac\xf6\x7a\xc8\x94\xc8\x9b\x6c\x96\x46\x92\x62\xfd\xdc\x95\xff\x30\xc9\x5b\xb6\xca\x52\xeb\x87\x97\xc7\x6f\x59\x26\x26\x7c\xea\xf2\xce\x98\x19\x06\x63\x65\x71\x1a\x09\x11\x61\x32\x76\xbf\xb4\x94\x3f\x33\x9a\xcf\xd7\x99\x45\x4f\xe4\x6c\x3e\x16\x36\x31\xb2\xa9\x92\xc5\x07\xb9\xc2\xe0\x6e\xdd\x17\x3c\xd2\x77\x67\xfd\x20\xd2\x34\x9c\x0e\x72\xd3\x36\x18\x9c\xbe\x49\xab\xd6\x7c\xcc\xf3\x3b\x8c\xaf\x86\xa6\x67\x1c\xda\x85\xfd\x8b\xd5\x9e\xb6\xfa\x31\xec\x39\xba\x38\xb7\xae\xc5\xc2\xec\xba\x23\x93\xaa\x6f\x5c\x2e\x14\x86\x77\xe9\xa8\x72\xbf\x31\x32\x74\xb7\xf1\x1f\xeb\x41\x62\xda\x14\x34\xcd\x5a\x4a\x8d\x6f\xdb\x7e\x63\x18\x42\xdb\x34\x3e\x8c\x22\xd6\xd9\x7f\x6a\x2e\x56\xb3\x14\x54\xf6\x22\xf2\x63\x1c\x95\xad\x27\x14\x00\xf2\xa6\xd0\x6e\x3b\xb5\x44\xa0\x7d\x40\x55\x09\xa6\x03\xa7\x38\x75\x5f\x6d\x50\xdc\xf9\xee\x9f\xe2\x50\x00\xbc\x0e\x32\xf5\x5c\xa6\x97\xb5\x1c\x2a\x03\x60\x30\x94\x96\x98\x13\x9e\x0f\x65\x36\xa1\xe2\x00\x00\x76\x39\x38\xd3\x21\x25\xb9\x81\xd5\x0f\x33\x67\xdb\xda\xd1\x1a\xeb\xce\xa8\xd0\xa8\x7d\xc3\x98\x21\x8b\x59\x14\xf7\x13\xd1\xea\x8b\x24\x69\x29\x7d\x62\x6c\x4c\x1a\x74\xe4\xc0\xf5\xa3\x95\x09\xbc\x01\x75\x51\xbe\xd6\x60\xe5\xae\x06\x4a\xa4\x3c\xcb\xcc\xaf\x0f\x67\x6f\x4d\x00\xa2\xbd\x5b\xea\x86\x0c\x7a\x6f\x33\x76\x3c\x99\xe6\x0b\xe3\xe2\xa3\xa7\x90\x4a\x46\xc3\x84\x86\x96\xa4\x23\xa1\xae\x73\x39\x6d\xa5\x32\xb7\xd9\x3b\x61\x22\x5b\x4f\xa1\x9a\x83\x60\x92\xb4\x60\x90\xca\x5c\xd2\xf4\xee\x1f\x61\x20\x3d\x38\x2c\x0e\xc0\xad\x91\x71\xf6\x49\xf4\x2d\xfb\x78\xef\x0d\xac\xed\xa7\x53\x98\x3f\x68\xcb\x6c\xb4\x7b\x7e\xb6\xeb\x8f\x5d\xed\x06\x5b\x01\x7f\xbc\x44\xa1\x4f\xe3\x22\x68\xcb\x32\xf1\xb7\x59\x9c\x09\xa5\xd7\x7f\x12\x2b\x05\x0b\x6e\x3c\x2b\x66\x90\x40\x1a\x4a\xcd\xc3\xf5\xd4\x80\xc5\x28\x45\xbd\xfb\x94\x00\xcb\x0b\xce\x11\x50\x45\x69\x8a\xf3\x5c\x4c\xa6\xf0\x8e\xab\x6b\x97\x9a\x51\x2f\x84\xd7\x93\x01\x18\x0f\x59\x2a\x06\x42\x29\x9e\x2d\xa8\xe2\xab\x29\x5b\xc2\x26\x7c\x01\x19\x24\xd5\x98\xcc\xa1\x3e\x00\x3d\x7c\xa1\x72\x16\x0f\x59\xec\x18\x6e\x04\xc6\xed\x9c\x61\xae\x01\x8d\x51\xbf\xb4\x1f\x92\x75\x25\xc3\x20\xee\x2e\x6e\x73\x91\x2a\xac\xaf\x41\xe9\xf6\xd9\x4e\x80\xb7\x1d\x7f\x10\x90\x46\xcc\xfb\x3b\x97\xde\x48\x50\xd8\x0e\x3e\xb6\xa4\xe7\x96\xbf\x05\xe2\xee\xc6\x14\xe7\x89\xd1\xac\x96\x8d\xfa\xf5\xce\xe3\x26\xc3\xff\x6f\x80\x3c\x03\xd0\x90\x04\xcf\x43\x3a\x83\x57\xc8\x8e\xc4\x2d\x85\x33\xa6\x92\xa2\x27\xf1\xa5\xcb\x4f\x51\x35\x52\x10\xc8\xef\x36\x52\x3d\x34\xe3\xd2\x8e\xf8\xee\xf5\xc8\x3d\x88\xf6\xb2\x37\x50\xe8\x67\xc9\x46\xc6\x77\x55\x2b\xe8\x07\xcc\xfa\x4c\x6f\x96\x25\x75\xbd\x75\x54\x77\x77\x77\x24\x65\x7b\x94\xec\xf2\x54\x44\xe7\x6f\x1a\x7e\xab\x24\x4e\x05\xcf\x5a\xa3\x8c\x47\xb1\x48\x73\xb8\x1c\xe1\xcd\xa8\xc9\xfa\xe0\x82\x95\x89\xa8\x51\x81\x14\x15\xff\xf2\x0f\xc3\x09\xa4\xe6\x6c\x33\xf6\xd2\xe4\x5c\xc9\x25\xd3\x02\x5e\xd5\x62\x19\xc7\x95\x7f\xd8\xd8\xac\xa7\xcc\x36\x8b\xd3\xd9\xfb\x77\xfd\xff\xfe\xa3\x81\x48\x73\x91\xf9\x33\x42\x39\x0b\x85\x8f\xaf\x2f\xe7\x11\x97\xa6\x29\xa1\xa4\x46\xbe\x9c\x60\x39\x78\xd1\x63\xf5\xcb\xda\xe5\xe5\xed\xde\x53\x2d\x71\xf3\x6b\xce\x7e\xfe\xa9\xd1\x66\x5e\xce\x73\x33\xf8\x10\x08\xd8\xbd\x3d\x40\x00\xe4\xc9\xf0\xb2\x66\x97\xcb\xca\x13\xad\x09\x9f\xb6\x4c\x4e\x67\x75\xa7\x25\xa3\x7b\x0d\xac\x91\xf1\x9b\x34\xca\x37\x17\x76\x0e\x11\xd3\x14\xd0\xdc\x26\x53\x3a\x67\x6a\x8a\x1e\xaf\x59\xc6\x17\x4d\x92\x1d\x04\x1f\x8c\xf5\x72\xa0\x37\x49\xcd\x26\x19\xa3\x2a\x52\x4e\x14\xd2\x07\x01\xa8\x2d\x4d\x36\x66\x0a\xee\xf2\x7a\xa2\x70\x6c\x7b\x8c\xb0\x5a\xd8\x27\x8b\x73\x25\x92\x61\x1b\x0b\x16\xf0\xbc\x30\x20\x18\x4a\x71\x00\x16\x54\x26\x06\x22\xbe\x09\xa5\xb3\xe2\x48\x20\x88\x1f\x19\xb2\xdf\xd0\x91\xaa\x47\xab\x4b\x88\x55\xe3\xe2\xd7\x9d\xbd\x9d\xee\xaf\x3b\xf7\x77\xba\x3b\x97\x97\xb3\xfd\xce\xb3\xfd\x9d\xe6\x4e\xd3\xfe\xb5\xb7\xd3\xdc\x69\xd9\xbf\x3a\x3b\xcd\x9d\xb6\xfd\xeb\xc1\x4e\xd3\x0d\x59\x83\x81\xe7\x8f\x9e\x3e\xdd\xf9\xf2\xc5\x13\xa7\xa0\xc0\x47\x4b\xa6\x2d\x71\x1b\x6f\x2e\x64\x87\x97\x6e\xa2\x68\x9f\xcc\x3f\xd1\x25\x00\x78\x28\x9c\xcd\xd0\x11\x56\xab\xc4\x82\x28\x73\x3c\xeb\x6d\x1a\x79\xa6\x47\xe0\x8e\x01\xcc\x78\xd3\xea\x27\x71\x7a\x7d\x27\xfa\xac\xd8\x7c\xe5\x51\x01\x78\xe3\x7f\xa7\x64\x66\x33\x3d\x25\x79\xe5\x48\x5a\x83\xc5\x20\xb9\x1b\xfb\xbd\xe8\xec\xed\xed\x35\xd9\xa3\xbd\xbd\xab\x70\xdb\xd4\xce\xbd\xee\x61\x3c\x99\x96\x23\xe2\x94\x4d\xe2\x24\x89\x95\x18\xc8\x34\x52\x95\x5c\xee\x90\xe5\x73\xc9\x04\xe6\x2e\x33\xd4\xeb\x9c\xc0\xe5\x90\x52\x96\xc5\x78\x9f\x49\xa4\x71\x3e\xc5\xde\x5c\x06\x0a\x2b\x6e\x41\x95\x08\xdd\x61\xf0\x4d\x9c\x7b\x6d\xe5\x70\x58\xc4\xcd\xef\x13\x29\x78\x7d\xff\xd1\xa3\x26\xdb\xc3\xff\x6b\x3f\x6a\x10\x5e\x8a\xa2\x05\x8a\x0c\x74\x1c\xdc\x50\x2e\x25\x1c\x81\x1b\x90\x6e\xd3\x9a\xf2\x44\xe4\xb9\xf8\xea\x1c\xae\x76\x62\xd2\xe0\xa3\xce\xd0\x08\xd7\xe6\x1a\x43\xfd\x56\xae\x95\x5f\x61\xa9\xc8\x1f\x91\x29\x61\x92\x11\xc3\x2b\xd9\xeb\x61\xa9\x9d\x5d\x26\x4a\x23\x87\xec\x14\xd4\x18\x11\x65\xb1\x5d\xc1\x5c\x2d\x47\xb3\xb2\xb0\xe6\xc5\x90\xaf\x39\x1e\x80\xb2\xe0\x96\xc5\x29\x5d\x42\x11\xd9\xab\x26\x04\xb9\x32\x97\x4c\x29\x99\x48\x30\xba\x2c\xd8\x40\x29\x82\x85\x4e\xd9\x94\x08\xcf\x0e\x81\x52\x66\xb0\x7f\x3b\xfb\xf1\x45\x93\xfd\xdb\xd9\xd9\x8f\x3f\xbe\x78\xd1\x64\x5a\xd2\x6c\xb7\xdb\x0d\xf8\xc5\xe9\x27\x94\x84\xd1\x30\x01\x1e\xe6\x9c\x76\x47\x21\xcf\x31\x25\x5c\xa2\x24\x9b\xf2\x2c\x37\x94\xa2\x72\x39\xb8\x66\x7f\xee\x74\x34\xa8\x76\x7e\x9b\xa3\xa1\xaa\x6a\x4a\xff\x2d\x67\x30\x9f\x99\x12\xcc\x68\xd0\xd0\x3d\x5b\x4f\x6e\xe1\x32\xab\x98\x05\x47\x86\xef\xf6\x86\x66\x2b\x06\x58\x5f\x50\x4d\x84\xc8\x4c\x3a\xb6\x2e\x74\x70\xd1\xbd\x8e\xa7\x53\xc8\x7a\xc7\xd4\x84\x27\x09\x43\x17\x5f\xf0\x13\x4c\xa3\x78\x10\x7b\xb3\xb3\xcc\xd2\x9e\x30\x95\x24\xe4\x6d\x83\xe9\x42\x73\x75\x2c\xfe\xb2\x31\xf5\x3b\x5d\x76\x05\x4f\x3f\x9c\xe5\x72\xc2\xf3\x78\x00\x19\xfb\xb0\x76\xa0\x04\x5b\x9f\x2d\xea\x63\x68\xc7\x14\xd0\xb3\xe3\x99\x29\xd1\x22\x9c\xb5\x90\xff\xb7\xa0\x52\xe0\x1d\x06\xb6\x82\xaf\xe7\x92\x91\x23\xa1\x5d\x20\x3a\x6c\xb0\xac\x25\xd6\x51\x9b\x59\x59\x0f\x4c\xc0\x2d\x3b\xfc\x16\x44\xe0\xdf\x79\x60\xcb\x4f\x41\x38\xfe\x8c\x7d\xda\x61\x0b\x03\xfe\x75\x77\x71\x3a\x72\x4b\x97\x67\x49\x6b\x9a\xcc\x54\x6b\x12\xa7\x33\xd5\xfa\x45\x64\xb2\xf5\x8b\x94\x93\x3b\x08\xa0\xe5\x21\x59\xf9\x13\x5c\x16\x4f\x93\x99\xda\x85\xa2\x18\xbb\x7f\x11\x99\x0c\x0b\x55\x78\x3b\xe4\xf5\xd0\xa0\xdd\x4b\x9b\xb3\xf2\x63\x6a\x09\xaf\x41\x1a\x55\xec\xe7\xcf\x56\x22\xa9\xb9\xde\xe1\xd3\x48\x5f\x2b\xf2\x71\x09\x0d\x83\xed\x16\x63\xa5\xe4\x0d\xfa\xe4\x23\x8d\x6e\xbd\xb1\x62\x83\x07\x53\x2b\x33\x97\xe0\x95\xa3\x5f\xc0\xc7\xde\xec\xe1\x4b\x98\xf3\xfd\x23\x33\x97\xe0\x03\x84\xe4\x20\x23\x80\x60\x26\xa6\x72\xde\xd7\x9b\xca\x47\xac\xc2\x53\x9a\xca\xc7\x0d\xa7\xf2\xd1\x4c\xe5\x63\x79\x2a\x0e\x72\x38\x15\xc1\x55\xde\xe2\x2a\xe6\x69\x8b\x4f\xfa\xf1\x68\x26\x67\xaa\xc5\x55\x2b\x9f\x4b\x2d\x03\xcc\x26\x9b\xdf\xfe\x36\xd6\x23\x1f\x73\x95\xb3\x43\xdd\x27\x3b\x34\x7d\xfa\x01\x04\x58\x6f\x6a\xae\xe9\x4f\x0f\x80\x41\xa5\x39\x37\x62\x48\xeb\xd9\x02\x7d\x6b\x8b\x28\xf4\xeb\x8c\x11\x92\x7d\xe7\xd2\x24\x0e\x85\x1e\xca\xe5\xd1\x8d\xae\x0e\x12\x74\x61\x32\xf0\x7c\x2c\x26\x85\xd3\xe7\x37\x64\x17\xe2\xb2\x96\x24\x2c\x13\x6a\x8a\x77\x18\x98\x57\xab\xbf\xc8\x05\xbb\x11\x99\x32\x5e\xe4\x39\x64\x61\x2e\x77\x65\x77\x57\x26\x46\x3c\x8b\x12\xa1\x94\x73\xf7\xc0\x7a\xbe\x45\xbc\xf4\x65\xb2\xb9\xfe\xb4\x42\x36\xca\xb3\x58\xe5\x3c\x17\x3e\x4e\x82\x04\xe8\x9a\x1f\xeb\x4e\xd8\x1c\x2b\x0d\x41\x35\xa0\x50\x25\x84\xbe\x44\x49\xb4\xdb\x47\x4b\x8c\xb5\x65\x18\xdd\x50\x9b\xb1\x57\x06\x87\x86\xbf\xa7\x32\x9b\xf0\xc4\x87\xda\x66\xec\xfd\x2c\x01\xef\x24\x6e\x4d\x5e\x55\xf3\xd5\x04\x8b\x5d\xdd\x69\xe6\x65\x9e\xba\x64\xd6\x38\x1b\x12\x14\xeb\x4f\x5b\x9d\x47\x4c\x33\x7d\xd6\x79\x1c\x0a\x57\x0d\x3b\x63\x70\x28\x4c\x17\x15\xb8\x61\x65\x64\xb8\xe2\xbe\x85\x39\xda\xd3\x17\xf4\xcc\x5b\x28\x2e\x56\x9e\x65\x3d\x7d\x19\xe0\x26\x95\xa1\x11\x7c\xad\xae\xd9\x0a\x28\xc0\x48\xe6\x59\xac\xf9\xc7\x52\x71\xa0\x34\x52\xf8\xe0\x2b\x89\x29\xb6\x30\x23\x0c\x25\x97\x38\x1a\x16\xc5\x99\xc0\x7c\xdd\x54\x89\x13\x1d\x24\x97\x0e\x2e\x12\x83\xce\xfe\x5d\x6f\xc4\x15\xfc\xe2\xcc\xdb\xd6\x7a\x64\x97\x35\xe5\xeb\xae\xbd\xf2\x59\xc1\x5d\x50\x6f\xaf\x99\x96\x1b\xb5\xa4\x68\x08\xe5\xe5\xf1\x91\xad\x85\x00\x79\x5d\x3b\xfb\xde\xf0\x6f\xe2\x4c\xa6\xfa\x46\x78\xd7\xd1\xff\x5a\x3b\x3f\x3e\x7b\x57\xeb\xb2\x1a\x18\x9c\x5a\xfb\x8f\x1e\xe3\x5d\x0c\xa3\x52\x4b\x97\x57\x23\x6c\x79\x5d\xb3\x1b\xca\x75\xa0\x9a\xa1\x0e\xc8\x0c\x53\x6f\xd9\xd6\x90\x4f\xe2\x64\xf3\xf3\xbd\xe0\xd2\x51\xdb\x79\x29\xfe\xca\x3f\xce\x58\x8f\xa7\x8a\xbd\x93\xa9\xdc\x69\xb2\x9d\x63\xcd\x2a\x65\x6a\xfe\x7e\x95\x09\xa1\x7f\x36\xd9\xce\x3b\x91\x26\xd0\xe4\x9c\xa8\xd6\xa9\x48\x6a\x13\x99\x4a\x54\xf3\x15\x15\x91\xa4\xfb\x24\xce\x05\x03\x2e\xa5\xf7\x86\x1d\x1b\x4e\xed\xce\x6a\xda\xce\xa3\x26\xa4\x4e\xa9\xc0\xaf\x2b\xa5\x16\xa7\x6c\x1a\xdf\x8a\x44\x15\x3a\x9d\x48\x14\xa3\xee\x76\x17\xe7\x69\x1e\xf3\x24\xe6\x4a\x44\x95\xfa\xd8\xb0\x0f\x7b\x9f\xf4\xc6\x90\x89\xaf\x63\x64\xd8\x7f\xb8\xd7\x64\xe6\x3f\x95\x76\x06\xd7\xd7\x1d\xed\x0c\x63\x39\x11\xad\x6b\xb1\x50\x2d\x74\x12\xfd\xca\xfa\x5d\x0d\x7e\x57\x58\x6b\x9b\xab\x33\xe6\x88\xc6\xd6\xd1\x45\xdb\x2c\x54\x83\xb3\x9f\xd9\x9b\x9f\xfe\xdc\x7a\x94\x7f\x3c\x37\x35\x9a\x14\x6a\x08\x48\xb8\xd0\xdc\xd7\x7e\x8a\x72\xdd\xc7\x73\x8a\xda\xe2\x1e\xb4\x42\x27\x38\x02\x87\x93\x6b\xb1\x30\xf5\x71\xee\xea\xf3\x12\x72\x87\x43\xc8\x06\x20\x87\x85\x64\x99\x32\x88\x00\x80\xec\xab\x5e\x31\x39\x13\xfb\x6c\x52\xc0\xba\x3d\x9a\x85\x05\x9e\x56\xe7\x73\x0d\x93\xb9\x46\x62\x10\x6b\x89\xc1\x83\x37\x16\xb7\xdc\x3c\xc6\xbb\x37\xb8\xaf\x11\x20\x17\x85\x40\xe0\x4c\x28\x42\x49\xe1\x61\x05\x16\x63\x3a\xb2\xa5\xfa\x9c\xb7\x7f\x93\xb4\x3b\x64\xe8\x0e\x80\xbf\x82\x3e\x87\x5a\x78\x31\xa0\xac\x8f\x2a\x4d\x03\x55\x1f\xc5\x6f\x55\x13\x2c\xfa\x05\x63\xd3\xd3\x43\xf9\x72\xef\x59\xbb\xc2\x27\xc8\xfe\xea\x81\xae\x99\x79\xcb\xed\x19\x49\x7e\xa5\x78\xb6\xc3\x24\x6f\xbd\xd9\xe9\xb2\x9d\x82\xa7\xf4\x4e\xd3\xb7\x9e\xec\x78\x37\xc2\xb7\xba\xf5\xe9\x61\xaf\x57\xd5\xe4\x27\xfd\xf2\xb2\xf6\xd3\xf1\xdb\xb7\x27\x97\x97\xe9\x65\x6d\xc7\xb5\xf9\x62\x08\x70\xc2\x6f\x5b\x88\xc4\x96\xa1\x87\x8d\x09\xd1\xfa\xcd\xb1\xce\xde\x1e\xe8\x5a\x3d\x36\xfa\x8e\xdf\x32\x0a\x08\x87\x4a\x0b\x2f\x8f\x7a\x4d\x76\xd2\x3b\x6a\xb2\xd3\x77\xb0\x36\x87\xa7\x3d\x47\xa0\x7d\x31\x84\xb2\x3d\x98\x11\x80\xcd\xa6\xc1\x26\x72\x72\x3c\x52\x9b\x1d\xbc\x88\x62\x8e\x2c\x85\x67\xa2\x35\xd4\xbf\xbe\x32\x57\x19\xc8\xf4\x46\x64\xb9\x17\x04\x44\x44\x16\x67\xec\x95\x26\x16\x17\xa6\xd8\x66\xee\xd6\x9e\x88\x3c\xb4\x19\x85\xb5\x72\x4d\x91\x57\x6f\x26\x39\x27\xfb\x17\xb9\xcd\x7c\x0d\xdd\x43\xd1\x3b\xc8\xfa\x02\x21\xc3\xe2\x36\x41\x09\xa5\x41\x41\x35\xbd\x1b\x94\x9c\x29\x81\xd7\xe8\x56\x7f\x96\xe7\x5b\x98\x1a\x3d\x81\xb1\xe8\x98\xb7\xd7\x64\x9d\x26\xdb\x6f\xb2\x07\x4d\xf6\xb0\xc9\x1e\x35\xd9\x63\x72\x05\x7a\x07\xca\x2d\x2c\x75\x8b\xfd\x01\xa1\xa4\xe5\x4b\xc6\x32\x03\xa4\x6b\xd2\x64\x73\xbc\xdc\xe5\xd9\xc2\xbb\x34\x4e\xe2\x48\xe3\x1f\xa1\x53\x57\x68\x77\x4e\x5b\x7f\xee\x74\xec\x9a\x59\x3f\x9b\x36\x63\x27\x29\xe8\x32\xe7\x02\xe3\x64\x63\xb4\x63\x20\x84\x07\x16\x59\x53\x3e\xfa\x23\x4f\x37\x0a\xfa\xd9\x85\xea\x59\xdb\x9d\x70\x76\x4e\x25\x10\x1b\x9d\x72\xc1\x67\xf6\x58\x2b\x9f\x78\xd8\x59\xd0\xba\x78\xda\x4d\xb9\x52\x2d\x9e\xe4\x2d\x64\xfe\x77\x3f\xf1\x0a\xb7\x60\x9f\xce\xdd\x9d\x50\xf7\x06\x9e\x7c\x9d\x76\xfb\x59\xb1\x74\xfa\x52\x83\x01\xb9\x9d\x2d\xf0\x82\x95\xcd\x52\x88\xb9\x46\xf7\x97\x58\xdf\x26\x6d\xd5\x66\xde\x77\xee\x80\x0b\x39\x63\x11\xfa\x6b\xd9\x13\x45\x2a\xe3\x52\xa8\x6f\x1e\x3b\x6a\x1e\x43\xb1\x26\xa9\xbf\xdc\x71\xb1\xd5\x7c\x30\x10\x89\xc8\x78\x0e\x91\x24\xe8\x91\x93\xca\xdc\x76\xed\x14\xf7\x8c\xeb\x4f\x59\x0c\x37\x99\xbe\xbe\xc9\x66\x7e\x91\x5a\x25\x7c\xfe\x84\x97\x31\x2c\xfa\xbe\x30\x47\xa8\x81\x45\x85\x70\xd8\x4d\x3c\xd1\x3b\x4c\x4c\xf8\xa0\xda\xde\x65\xe9\xcf\xe2\xd1\x64\x69\x23\xdf\x3c\x93\x40\xdd\x2b\x49\x6f\x99\xa0\xfd\x26\x10\xad\xf4\x49\x4e\x41\xdd\x36\x32\x0f\xbe\xc2\xb5\xe5\x15\xde\xb3\xd6\x8f\x8d\x76\xa5\x13\x00\x40\xdc\x03\x85\x33\x24\xa6\x08\x08\x0d\xd4\x80\xff\x38\x4a\x83\x33\xf7\xff\x91\xda\xef\x27\x35\x87\xc8\x2d\x68\xcd\x7d\xf4\x8f\x26\x36\xa2\x36\x38\xc1\xff\x71\xd4\x06\x15\xe5\xff\x1f\xb5\xfd\x7e\x6a\x73\x88\xdc\x82\xda\xdc\x47\xff\x33\xac\x0d\x88\xed\xe6\xab\xcb\x88\x00\xf6\x23\x1b\x89\x5c\x01\x95\xa1\x8d\x1b\xa6\x61\xba\x27\x5f\x9c\x96\x30\xe1\x31\xdb\x5f\x16\x6a\xb3\x7c\xd8\x7a\x5a\x6b\xb2\x0b\xfb\xab\x96\xf1\xb9\x0b\xc3\x40\x95\x9d\xcd\x46\x6b\xba\x02\x41\x2d\xe2\x39\x67\xd6\x21\xc8\x7a\xb3\xc2\x18\x97\xd8\xcc\xe3\x08\x8d\xb8\x58\x83\xeb\x12\x3b\xbd\xac\x81\xd0\x72\xa9\x7b\xf6\xfc\xb5\x50\x62\x69\xc9\x14\x44\xb9\x3c\x93\xd7\x9b\x4b\xe2\x2e\x5c\x67\x95\x19\x50\x51\x7c\xaf\x1f\xd2\x0b\x6a\xea\x74\xc1\x6c\x9f\x15\xe3\x91\xb3\x7c\x3a\xdb\x5c\xc1\xe8\x0d\x66\x95\x58\xb9\x6c\x34\x2e\x92\x1b\xba\x2d\x8c\xa7\xcf\xb3\x16\xb9\x83\x7c\x1d\xec\x9c\x8f\xc1\xe0\x02\xa6\x6e\x4f\x86\x9d\xf8\x97\x3d\x42\xc5\x7c\x2c\x44\xd2\xd2\x92\x78\x6b\x32\x4b\xf2\x78\x9a\xc4\x5b\x70\x5c\x6f\x14\x9d\x92\xd6\xcf\xc1\xb3\xfa\x46\xd0\xf9\xb1\x48\x24\x39\x07\xff\x20\x7d\x43\x81\x11\x90\x8f\x3f\x24\xd2\xb1\xac\xc2\x4a\xc7\x88\x55\x68\xd8\xd6\x62\x10\x98\xcd\xe4\x9c\x0d\x4d\x6d\x12\x10\x93\x8b\xe2\xb1\xe6\x77\xff\x88\x8d\x55\xda\x4f\x86\x69\x05\x3b\x1d\xe4\xf9\x16\x96\x32\xbb\xb3\x2d\xb5\xca\xac\xa1\xaf\x09\xf7\xd9\x6b\x00\x5c\x65\x52\xcd\xcb\xf6\x54\xcf\xab\x21\x6b\x0d\xd4\xdd\xbc\x8b\xc0\xe5\xb5\x14\x65\x00\x6e\xe3\x10\x7a\xad\xc6\x02\x3d\xde\x8d\x3a\xac\x68\x72\x89\xe4\x60\x36\xd1\x17\xfd\xda\xd5\xca\x08\x5b\x9b\x28\x8d\x22\xdb\x3e\x7f\x86\x27\x9f\x3f\x77\x97\x44\x2c\xdb\x0f\x36\x89\x57\x9f\xf5\xd5\xac\xff\xaf\x1e\xa3\x4e\xe1\xac\x1f\xf2\x38\x89\xf3\x05\x95\x48\x34\x75\x95\x78\x14\x61\xa9\x44\x35\xde\x55\xb3\xbe\x1a\x64\x71\x5f\xec\xce\x52\xfb\xdb\x06\x84\x73\xf8\x1a\x33\xda\xf1\x94\x89\x5b\x88\x6d\x1a\x19\xd3\x87\x1f\xf1\x3a\xeb\xf7\x66\xfd\x25\x55\x14\x64\x1f\xf0\x91\xa9\xcf\x14\x12\xed\x25\x54\x39\x74\x83\x69\x32\x3b\x02\x74\x8d\xf2\x87\x84\x15\xb2\xb1\x78\x68\xe5\x48\x34\xb0\xf7\x46\x49\xee\xd5\xff\x25\xa7\x29\xf2\x30\xe3\x50\x12\x7d\x36\x18\x8b\x88\x84\x30\x91\xc1\x5a\xa4\x92\xa5\x02\xf0\x03\x85\x51\x65\x96\x2d\x18\xef\xcb\x59\x0e\xc8\x23\xf3\x00\x1a\xa8\xc2\xe2\x44\x55\x65\x8c\x65\xff\xaf\x85\x22\xdb\x1a\xe7\x40\x02\xe4\xb3\xa3\x05\xb0\x32\xfe\xda\x3c\x8a\x5e\x98\x06\x61\x59\x6b\x97\x8e\x16\x29\x94\x12\x44\xfb\x5f\x63\x06\x07\x5b\x4a\x65\xe2\x95\x87\x40\xe8\x76\x1f\x98\x10\x78\xa8\x39\x7d\xe5\xe2\xec\x0b\xcd\x2e\x26\x57\x18\xf7\x8e\x5d\x36\x6c\xce\x07\xb3\x78\x3d\xbb\x3c\xe8\xab\x87\xa1\x1a\x02\x8a\xbf\x92\x61\x55\x11\x16\xb9\x5e\x5c\x7f\xad\x8a\xb9\xbf\xe9\x35\x96\xe6\x9b\x59\xc4\x29\xaf\x8b\xa0\x48\xb9\x45\x0e\x22\xbd\xf1\xc5\x15\xce\x07\x73\x0a\xbd\x46\x86\x73\x23\xaf\x8d\x22\xca\x0f\x26\x29\x2f\x80\x97\x84\xd1\x76\xec\x17\x99\xc3\x81\x35\x6d\x5f\x5e\x2e\x46\xf3\xd2\x14\x26\xf5\xc8\xde\xcf\x92\xe8\x9e\x5e\xd0\x07\x7a\x01\x2e\xae\x5c\xae\xc4\x8a\x16\xed\xe9\x4c\x8d\xeb\xb6\xd3\x60\x07\x7d\xf0\x37\x2e\xc6\xea\xdc\x0d\xd5\xb3\x02\xa0\x4d\xd1\x7d\xe8\x7e\x4e\x33\x71\x13\xcb\x99\x4a\x16\x2c\x13\xa3\x58\xe5\x10\x39\x7f\x13\x73\x53\x41\xcc\xf6\x50\x6f\xac\xc4\xbe\x3f\x96\xf5\xf8\xd7\xe4\x0e\x16\x86\x83\xa5\x18\x34\xe9\x2b\xef\xe9\x76\x7e\xde\xd4\xda\xeb\x14\x53\x7a\x52\x4b\xcc\x94\x4a\x7f\xd8\x8c\x98\x31\x3b\x80\x1e\x6c\xf6\x49\x6f\x2d\x10\x70\xcc\xbe\x67\x7b\x01\xe0\xf7\x32\x77\xf3\x8d\xca\x70\x01\x9e\x9a\x6a\x6e\x5f\x8f\xcb\xd5\x05\x91\x29\x7a\x2e\x0a\x4b\x36\x92\xdd\x84\x99\x62\x75\xe3\xb8\x6f\x8a\xe1\xb1\x21\xd6\x39\xb6\xe8\xd2\x0c\x10\xf7\x43\xc4\xb8\x5a\xa4\x83\x71\x26\x53\x58\xb1\xb6\xcd\x36\x82\xbc\x16\x2f\x6c\x94\x0e\x86\x0c\x08\x3c\x5d\xc8\x14\x43\x13\x06\xf9\x0c\xfc\x26\xcd\x9e\xdf\x92\xd8\xa6\x66\x7a\x7a\x52\xed\x2a\x26\x2a\xa0\x3e\x60\xd6\x8f\xf3\x8c\x67\x0b\xcb\xc0\x95\x92\x83\x98\x63\x9d\x02\x70\x28\x01\xe6\xed\x85\xf9\xad\xa6\x5a\x39\xcd\x3f\x27\x5c\xe5\x47\x96\x7a\x53\x0f\x59\x1e\xd3\xd0\x28\x43\x8f\x46\x5b\xfd\x2e\x49\xdc\x7a\x1a\x47\xad\xbe\xc0\x6b\xb7\xc5\xc1\x52\x92\x36\x33\xae\x22\x67\xaa\x5b\xe9\x0f\x0c\x29\xdb\x8e\x08\xba\x58\xbc\x8d\x55\x5e\x8f\x0d\xfb\xd6\xa2\x0c\x08\x9d\xb1\x62\x79\x3c\x11\x9a\x3c\x68\xa1\x60\x89\x6d\x6a\x66\x02\x09\x27\xde\x5c\xb0\x48\xa6\xb5\x9c\xfc\xcc\xa4\x81\x34\x90\xe9\x40\x64\x29\x93\xb3\x4c\x89\xe4\x46\x50\xfc\x1e\x56\x95\x26\x6e\xc9\x1c\xa9\x03\xf1\xba\xaa\x1c\xa6\x3e\x80\x12\xf9\x39\x8e\xa4\xee\x46\x0c\x46\x89\x98\xdd\x77\xe9\xf9\xf5\xd7\x17\xf1\x55\xdd\x2b\x13\xb4\xc5\x1e\x86\x2d\xec\x70\x00\xa9\x29\x20\x1f\x3c\xf4\x15\xa7\x6c\xc0\x15\x18\x12\xd0\x07\x45\x51\x7d\x84\xb9\xa8\x65\x74\x46\x2d\x4c\xc9\x57\xd3\xe5\xc5\x55\x5b\x23\x80\xe7\x08\x3c\xa8\x66\x53\xbd\x32\xe5\xa1\xd0\x8e\x06\x56\x5d\xfa\x86\xf2\xc7\x86\xe5\xbd\x4c\xe7\xc5\xd6\x57\x85\x64\xfc\xb6\xa7\x6f\x56\xe3\x78\x6f\xa3\x12\xf8\x6a\x90\x09\x91\xfe\xab\x8b\xb8\xcb\xd2\x30\xcd\x4d\xe2\x7c\xca\x37\x84\xbb\xf1\x4c\xce\x8f\xa0\xb4\x11\xfd\xdd\x8b\x7f\x11\xee\xaf\x73\x71\x9b\x1f\x5a\x8f\x8a\xa0\x74\x71\xb9\xc0\x3e\x0a\xd3\x36\xff\xb9\x72\xc5\x5d\x7c\x33\x91\x66\x0b\x60\x01\xd7\x88\x11\xb7\x96\x5b\xbf\xce\xd9\x84\xc7\x69\xce\xe3\x54\x05\x79\xb2\xc9\x49\xca\x16\x45\xd0\x9c\x7c\xcc\x15\xeb\x73\x15\x0f\xac\xf8\x6b\x9c\x42\x20\xab\x2b\x5e\xf1\x20\x4d\xe0\x8d\xc8\xc0\x2b\x8c\x62\x0a\xa2\x88\xea\x6a\x65\x62\x22\x6f\xf4\xef\x4c\xce\x95\xd3\xe7\x10\x09\xf8\x29\xa6\x70\x5a\xba\xc7\x54\x42\x2a\xa9\x44\x44\x23\x1b\xac\x58\x95\x77\xcc\x56\xac\x71\x7e\xfe\xd0\x8b\x4c\xbd\x3e\x34\x11\x44\x02\x31\x03\x2a\xb9\x64\x61\xae\xf3\xe1\x67\x58\xee\xc1\x94\x3e\xe6\x49\x22\x32\x9a\xa1\x72\x41\x1c\x34\x6e\x50\xfa\x71\xd3\x6a\xce\x53\x8c\xe4\x14\xa9\x9a\xe9\x43\xca\x16\xdb\xe7\x69\xbe\x72\x70\x4d\x16\xe7\x35\x45\xe6\xe6\x4c\xa8\xa9\x4c\x55\xdc\x8f\xe9\xd6\x83\xc8\x23\x78\x19\x64\x4a\xcd\x30\xf0\x44\xff\x81\x63\x73\xe7\xde\xb9\x9b\x32\x78\xec\x22\x23\x92\x69\x9e\x71\xe0\x4a\x8a\x89\x74\x28\xb3\x81\xa0\x74\xbf\x78\xe0\xba\x34\xbf\xd3\x8c\x0f\xf2\x78\x20\xda\x6d\x38\xc1\x5a\x00\xd0\x90\x27\xd1\x15\xad\x91\x4c\xf4\x45\x68\x2e\xe9\x75\x8f\x10\x4d\xe5\xf6\xd1\xa6\x2a\x8c\x8e\x45\x03\x9b\x66\xf1\x44\x9f\xa1\x34\x3e\xa0\x18\xd7\x82\xf1\x04\x52\xdf\xe7\x45\xba\x30\x63\x98\x24\xa6\x0f\x1c\x00\x2c\xe2\x80\x67\x90\xd7\x83\xe7\x88\x58\x2d\x58\xfc\x74\xfe\xee\xed\x31\x06\x6f\x81\xa1\x33\x35\x03\x48\x78\x36\x02\xdf\xa5\x14\x3c\x9a\xe4\x10\x87\xde\x64\x63\x39\x17\x37\x22\xc3\x20\x2f\x80\x33\xe6\xd3\xa9\x48\xe9\x42\xe1\x42\x0e\x35\xff\xf0\xea\x22\xa3\xa2\xe9\x54\x12\xfd\xd3\x59\x46\xee\x33\x8c\xb3\xa1\x98\xb3\x6c\x96\x08\xca\xd2\x81\x25\x4e\xda\x8c\x1d\xf3\xc1\xd8\x2c\xa7\xc9\xe9\x9f\x49\x28\x7b\x44\x54\x89\x45\xc6\x61\x2a\x2c\xe7\x23\x56\xbb\x6d\x65\x72\x5e\xc3\x8d\x05\xab\x0f\xdf\x41\x8f\x86\x32\x30\x91\xba\x0d\x47\x42\xa6\x26\x33\xa4\xa8\xc8\x6a\xd6\x31\x22\x89\x76\x14\xd2\x10\x39\x5d\xa4\x66\x4f\x2f\xdd\x6e\x4c\xaf\x05\x24\x1b\x05\x47\x44\xe0\x3b\x99\x70\x34\xd5\x5f\x14\x88\x05\x32\x4d\xdb\x4c\xd4\x18\x3d\x8a\xce\xab\xa8\x0b\x30\xc2\x41\x81\x86\xfc\x01\x81\x67\x49\x25\xd2\x51\xd0\xb1\x49\xc1\x4d\xea\x05\x7d\x23\x55\x21\x35\x56\x6c\x0f\xaa\x5d\x95\x2c\x0c\xb7\x41\xfa\xd1\x7c\x8b\x4d\xf8\x6d\x3c\x99\x4d\x8c\xef\x3b\x64\xf4\xd7\xc3\xd8\x2b\x8a\x97\x54\x8b\xed\x0b\x55\xe5\xd7\xad\x8f\xa0\x31\x68\x1a\x09\x8a\xdb\xfb\xd8\x82\xf8\xe7\x38\x36\x15\x8d\x2d\x3f\xe9\x09\x41\x3b\xda\x54\x87\x0b\xf9\xaa\x7d\xaa\x01\xc4\x1a\xe9\x13\x4c\x06\x0e\xf2\x2b\x41\x83\x4c\x24\x48\xbf\x8a\x1c\x88\xa5\x64\x13\x88\xf0\x72\x4e\xed\x10\xd3\x15\x45\xa0\x6b\x90\x9a\x36\xe5\x3c\x8c\x48\x27\x68\x7b\xfa\xd8\x4f\x65\xae\xe9\xea\x26\x8e\x42\xe9\x92\xd6\xab\x50\x1f\xc0\xc3\x43\xa1\xfe\x3d\xdc\x26\x06\x4d\x96\x09\x1e\xb5\xb0\xf8\xf5\x00\xea\x7b\x11\x69\xc2\x12\xd0\xc5\xd5\x71\x01\xbf\xdc\xbc\x6e\x71\x08\x61\x7d\xf6\xb6\xba\xbb\x6b\xb0\x1d\xc4\x2a\x58\x24\x7b\x80\x30\x8d\xbe\x1b\xde\x67\xaa\xbc\xee\xaf\xdc\x6f\xbf\xb1\xa7\x7b\x3e\x60\x7b\x34\xca\x44\x66\x4d\xf0\x1b\x87\x84\x42\x22\x4b\xe2\x94\xd2\xa5\x83\x4f\xb1\xe7\x0d\x69\xfa\xca\x83\x23\x3d\xd0\x96\x84\xa7\x7d\x1d\xad\x40\x6d\xa3\x7d\x6c\x98\x11\x1c\x51\xef\x10\xaf\x84\x06\x25\x3a\xa3\x07\x52\x66\x11\x24\xc7\x70\xfd\xe1\xab\x53\x73\x7a\xfb\xfd\xa1\xec\x51\x27\xf9\xcc\x4d\x2f\x95\x11\x6e\x35\x8e\x89\xe7\x0d\x57\x70\xa7\x20\x76\x17\x2b\x2b\x15\xc0\x09\x5a\xe8\xf3\x4c\xce\xdf\xcb\x48\x68\x8c\xa6\xb3\x24\x59\xd7\x83\x9a\xf2\xd4\x08\x25\xdb\x76\xb5\xac\x1f\x39\x1c\x2a\x91\xe3\x81\xe7\xd1\x01\x1c\xdb\xfe\x97\x2e\xa9\x4e\x55\x7f\x85\xce\x4e\x00\xa8\xeb\xce\xbb\x1b\x9f\x99\x7a\x85\x96\xa7\x80\x13\x31\xfa\x65\x3b\x01\xaf\xa0\x1d\xb4\x05\x38\x5c\x8b\x2f\xe5\xd6\x15\x95\x6d\x88\x10\x90\x9b\x98\xdb\xa0\x11\x28\x38\x3a\xec\x02\x77\x29\x6d\xa0\xc2\x7e\xf5\x6e\x83\x23\x91\x43\xa7\xcb\xaa\x80\x3a\xf2\xd1\xcd\xea\xa5\xfd\xd3\x2c\xec\x4a\x53\xe5\x6d\x19\x9e\xc2\x49\xd8\xd1\x97\x47\x1c\x60\xca\x72\xd9\x0a\x31\x6f\xbb\xc9\xfe\x84\x81\x2d\x2b\x8b\x9e\x16\x27\xb3\xf9\x5c\x96\x2f\xc0\x26\xd3\xb9\xdb\xf2\x7d\x02\x1a\x5f\x5d\xc5\xd5\x5b\xb0\x60\x32\xc6\x56\xb4\xfc\xa0\x9a\x8a\x8c\xca\x28\x54\x1f\x7b\x83\x0d\x0e\x3b\x0f\xc6\xd2\x89\x28\x91\x1f\x79\x3c\x78\x45\x91\x9d\x02\xf7\xa6\x62\x3b\x41\x21\xcf\x80\x07\xd2\x07\xec\x07\x6a\xeb\xe9\x40\x75\xa7\x41\xdb\xca\xef\x33\x39\x6f\xd2\x3c\x5b\x45\xed\xd8\x19\x8a\xe6\x2e\x35\x00\xc8\xe7\xe1\xf5\x06\xb6\x26\x2d\x47\x5c\xe6\x02\x9e\xb0\x8a\x04\xe1\x00\x6d\x41\x08\x60\xc6\x3b\x93\xf3\xd5\x84\x60\x5a\xa9\x7a\xa7\x61\xab\x26\x85\x53\x09\x2f\x68\xb9\x9c\x7a\xb2\x60\x61\x32\xf9\x58\x4c\x82\x28\xe9\xf5\x44\x52\xd8\xbb\xf6\x72\x13\x56\x26\xc2\xcd\xf7\xbd\x87\x99\x1f\x10\x35\x18\xe3\x2b\x22\xf8\x7a\x23\x7c\xa8\x25\xa4\x54\xbd\xdf\x49\x0b\xba\x47\xeb\x1d\xae\x35\x99\x32\x41\x52\x32\xf5\x4f\x4b\xf8\x29\xe2\xa0\xb4\xba\x70\xb2\x4a\x12\xf2\x56\x4e\x81\xd2\xd5\x15\x16\x35\x93\x73\x6f\x33\x54\x0d\x7d\xaf\xa9\x3b\xa9\x1c\x3b\x9e\x14\x1b\x0e\x7d\xe9\x2a\x98\xa5\xdb\x6a\x0e\xaa\x30\x09\x55\x39\x0b\x6a\xdf\xe6\xd3\x69\xb2\xa8\x87\x2f\x61\x5a\x6a\xe9\xfe\x4b\xf8\xd7\xd9\x7e\x16\xce\x16\xbb\x6f\x2a\xa7\x6b\xf7\x1e\xb6\xd9\x78\xe7\x19\x27\x8d\x7f\xc5\xcd\x47\x53\xbd\xcb\xd6\xab\x3c\x80\x59\x0b\x67\xb1\xf1\xb6\xac\x42\xde\x57\xdc\x99\xd3\x99\x1a\x6f\xb8\x2d\x41\x0b\xbb\xc9\x76\xdc\x64\xc8\x5f\x63\x47\xd2\xd8\x97\x6c\x47\x58\x5a\xdd\x64\xe3\x1d\x58\x85\x7e\x17\xc2\x43\x67\xef\x1f\xb5\x10\xd8\xa4\xb0\x14\xa0\xde\x40\x1e\xb8\x82\x51\x52\xab\x0d\x99\xe5\x76\x33\xfa\x1a\xeb\x64\xa7\xa6\xaa\xe7\x46\x0b\x66\xcd\xec\x31\x3b\x60\x7b\xcf\x59\xcc\xbe\xc7\x45\x24\xd1\x95\xc5\xf7\xef\x07\x99\xe6\xab\x11\xc1\xee\xb3\xd8\x20\x43\x5d\xc4\x57\x65\x1b\x3b\x31\x29\x5e\xc5\x67\x57\x22\x67\x5b\xfe\xeb\xb3\x99\x95\x18\x42\xe6\x55\xb5\xf8\x1b\xf0\x19\x42\xe4\xff\x05\xcc\xd8\xa2\xa9\x8a\x90\x36\x65\xcb\x41\xf3\xc2\x66\x01\xb3\x35\xcf\xc5\x2a\x33\x42\xa0\xe2\x57\x22\x57\x95\xda\x8a\x5c\x32\x54\x4f\xe0\x6d\x36\x11\x3c\x53\x50\xd7\x0e\x72\xd7\xc6\x54\x19\x55\xc3\x89\x78\xce\x0d\xcc\x43\x0c\xf6\xa6\x00\x41\xb2\x46\xc8\xcc\x29\xcd\x28\x7c\x15\x8c\x6f\xde\xa5\xdf\x9a\x38\x62\x05\xea\xcc\x24\x86\xb2\x78\x68\x6e\xe6\x31\x56\x8e\x96\x7d\x35\x98\x65\xc2\xd9\x1f\xd7\x6c\x5a\x83\x8c\xa3\xa2\x1e\xa6\xca\x21\xa9\x70\xd1\xd0\xeb\x64\xd4\x33\xab\x55\x2b\x2b\xb4\x21\x9b\xea\x2e\x5c\x61\x97\x01\x55\x5e\x31\xe4\x4d\xe8\x59\xb7\xfd\x60\x79\x8e\xcc\xf8\x56\xce\xd0\x8c\xbf\x1d\xa7\xa9\xc8\x40\xa5\x8d\x15\xee\xab\x5b\x21\xc5\x5a\xd5\x58\xbd\x96\xc4\x29\xe6\x1c\x1b\x26\x72\x5e\x2b\x62\xc7\x4d\x72\xef\xf9\x12\xcc\x12\x5f\x5a\xd1\xc2\x40\xd7\xf3\xe0\x89\x12\xd6\xe3\x42\xd3\xce\x73\xff\x76\x19\x6a\xf4\xda\xb1\x22\x95\x69\xbd\xe1\xea\xda\xdc\xe6\x76\x82\x81\xa9\x95\xde\x80\xa1\x10\xee\xee\xb6\x74\x6b\x59\xb3\xe2\x8c\xbf\xbb\xbb\xec\x93\x09\x0b\x00\x8b\xb9\x4c\xe5\x2c\xd3\x34\x2b\x32\x65\x53\xa6\x81\xa2\x17\x16\x05\x72\x5f\x69\x4e\x24\x78\x53\x6f\x09\xa8\xbe\x8b\x70\x20\xef\x40\x4d\x41\x72\x4b\x0a\xe1\x16\x19\x57\xc2\xe5\x70\x6a\x1b\x4f\x13\x82\x7e\x50\xa5\xc7\x6c\xd3\xdb\xe7\xd5\x6a\xce\xb6\xfb\x98\x90\x59\xdd\x4c\x2d\xd2\xc1\x11\x8c\xbe\xee\x6a\x57\x83\xb2\xb0\xba\x57\xcc\xad\x7c\x84\x8a\x44\x91\xd5\xf5\xeb\x65\x7b\xa5\x0d\xfa\xef\xe8\x68\x1c\x27\x51\x5d\xc3\x2c\x36\xb4\xdb\x46\x46\xc2\x39\x3d\x2d\x9d\xc8\x9a\x19\x87\x53\xf1\xf6\xd9\x3b\x9e\x5d\x07\x9c\x11\xe4\x24\xf0\xda\x00\xdb\x28\xd1\x9d\xb0\x51\xcd\xa9\xa6\x11\x4d\xf1\xbe\xc9\x02\x14\xcd\x96\x46\x21\x78\x84\xb2\x9e\x45\xb4\xf0\x18\xc0\x8a\x69\xcf\x32\x48\x79\xe1\x14\x64\x1a\x32\xd9\x7e\xd1\xf0\x7b\x2d\x14\x8b\xa1\x26\x32\x26\xfb\x83\xd3\x67\x20\x27\x7d\xdd\x4d\x3e\x87\xe8\x70\x88\x0a\xb7\x5d\x5a\x9b\xb2\x05\x09\xce\x98\xc6\xe4\x1c\x8e\x17\xc3\x50\x6c\x06\x7a\xbf\xcc\x37\x24\xe0\x10\x7a\x98\x64\xe3\x09\x27\xd5\x66\x0c\x59\x0a\x18\xa1\xcc\x2b\x48\xdb\xc6\x73\x63\xe7\x9b\x66\x31\x6a\x45\x43\xa5\xb1\xe5\xe7\x14\x37\x39\x99\xc4\x39\x9a\xc6\x02\xec\x35\xd9\x2c\x85\x14\x3e\x98\xe5\x6f\x9a\x89\x81\x88\x8c\x67\x40\x26\x0c\x14\x58\x1c\x9f\x21\x82\x61\x58\x32\x0e\x41\xa4\x85\x51\xaf\xe4\x93\x30\x90\xb7\x71\x2a\x4e\x3c\x1e\xb3\x9e\x57\x2a\x91\x2f\x65\x81\xe8\x71\x5d\xbc\x0a\x27\x72\xe0\x1d\xc3\x0a\x9c\x3b\x19\xc7\x50\x6b\xa0\x3a\xab\x22\x5e\x2a\x9f\xe8\x66\x9a\xde\x20\x45\x00\x1a\x1b\xe8\x1c\xa8\x92\x65\x80\xa9\x16\x9a\xbb\x0e\x56\xea\xfa\x96\x1e\x8f\xa4\x6d\xd3\x40\x3c\xa7\xc6\x6a\x25\x33\x71\xd5\x81\x4c\x95\x4c\x44\x7b\xce\xb3\xb4\x5e\x3b\x74\xb9\x5f\x20\xa3\x6d\x81\x38\x64\xca\x04\xa6\xa3\xc6\x61\xd5\x82\x7a\x63\x81\xc3\x8d\x46\xc6\x0f\x07\x4b\x14\xdc\x85\xbe\xa9\xbe\xb3\x3e\x09\xa9\x10\x6f\x1f\x52\xca\xa3\xbb\x1d\x5e\x31\xa0\x1b\x58\xfe\x65\xb7\xdc\x8e\x77\x62\x98\x11\x7c\xaf\xe5\xa1\xdf\xd3\xd9\x5e\x30\x29\xa7\x0d\x2d\x9f\x38\xd5\xdd\x1c\x91\x50\x5f\xee\x89\x96\xe9\x39\x7d\x45\x67\x6c\x59\x4b\x5b\x9e\x18\x35\x5e\x3e\xb7\x6d\x3b\x75\x93\xdc\xea\x74\xcf\x70\xb7\x95\x96\xe4\x22\x93\xf3\xab\xe7\xe1\x89\x44\x6d\xdb\xa0\x9f\x85\x73\xc5\x55\xcd\x87\x03\x86\x66\x52\x68\x2e\xe7\xa9\xc8\x5e\x9a\x98\x02\x3c\xc2\xce\xc5\x6d\xae\x5f\xd6\x6b\x35\xb7\x54\xd0\xba\xf2\xd4\xb2\x8e\x69\x74\x86\x1c\x79\xb3\x76\xb4\x8a\x13\x39\xa8\x62\x26\xbe\xab\x58\x91\x00\x2a\x25\xa5\x56\x85\x80\xe5\xfc\xcb\xfc\x23\xda\x3b\x4c\x9f\xd3\xeb\xe2\x28\xb7\xec\xc7\x73\x3a\x0b\x64\xa7\x4a\x79\x98\xe6\xbd\x72\xf5\x41\xae\xf6\xf9\x0a\x60\x0d\xef\x03\x75\x7f\xe5\x34\x8a\xc9\x86\x78\xc0\xec\x08\x83\xe9\x3c\xb7\x0d\xe7\x64\x77\xa9\x32\xe6\xb6\x35\x54\x30\xcc\xb8\x45\xf4\x28\xa5\xad\xcf\xf8\x5e\xdc\x87\x02\x64\xbf\xfd\x46\xa0\x7e\xa0\xbe\xfd\xfa\xf1\x4b\xa4\x95\xd2\x6b\x27\x03\x23\x0c\xd3\xc4\x71\x35\xc2\x4f\x71\x75\xee\x1f\x60\xef\xcf\x7d\xd2\x2d\x8e\xb1\xec\x70\x4f\x76\x23\xe3\x12\xe0\x25\xdf\x74\xb1\x06\x90\x34\x77\xc0\x33\x91\xfb\xb9\x39\x73\x5f\x18\x02\x0f\xa9\xf2\x4d\x71\xf9\xc9\xb1\x48\x07\x3d\x03\xeb\x08\x40\xfb\x6e\xac\xe6\x0d\x1d\xaa\xd9\x82\x30\x69\x5f\x68\xb2\x4b\xf8\x54\x89\x7a\x11\xb5\xcd\x2a\x82\x47\xa6\x35\xd0\xe2\x33\xab\x0f\xe3\x4c\x0c\xe5\xed\x6b\x48\x52\x12\x1d\x9b\xfb\xa0\xe7\x00\xfa\xea\x15\xb8\x10\xa2\xdb\x35\x44\x87\x50\x1b\x88\x7b\x1a\x0b\x92\xcb\x62\x7d\xd3\x1a\x36\x59\xc6\x29\x63\x07\x4f\xb1\x96\x62\x2a\x73\x03\x8a\x4a\xb9\x58\xd3\x2f\x0d\xbb\x5d\x5a\x88\x69\x12\xe7\x4e\x0c\x83\xf5\x43\x79\x6f\x2e\xe1\x2f\xab\xc1\xd2\x52\x40\x4a\xd4\x61\x8e\x7f\x3f\x3f\xba\xfe\xfb\x47\x68\xa3\x5b\xbf\x3c\x79\xc7\x86\x19\x1f\x41\xca\xb1\xda\xf7\x51\x7c\xf3\xc3\xf7\x6a\xca\xd3\x1f\x7e\x12\x49\x22\xd9\x27\x99\x25\xd1\xf7\xbb\xf0\xe4\xfb\x5d\xfd\xb6\x86\xbe\xf0\x4c\xe9\x01\x01\x46\xc1\xe1\x8b\x2b\x15\x18\xfc\x31\xd3\xb0\xd9\x64\x72\xc8\x1e\x9b\x1c\xbe\x73\x08\x7a\xc6\x2c\x44\xe8\x01\x65\xfb\x47\x59\xb3\xaf\x05\x54\xd1\xad\x18\x8d\x19\x08\xfc\xb7\x62\x68\xe8\xa7\x67\xc6\x00\x7e\x44\x1c\x13\x1e\x3b\x87\x0d\x0c\x33\xc6\x41\x38\x87\x6a\x48\x3d\xea\x49\xe6\x73\x9a\x85\x82\x4a\x3d\xbe\x80\x9e\xcb\x56\x5f\xb4\x60\xf6\xb8\x0a\x9e\x77\x96\x71\x7d\x10\x99\x0b\xb8\x36\xf0\xd0\x35\x02\x1d\x4f\x35\xc2\x12\x3e\x10\x11\xde\x01\x72\xe9\xeb\xcb\x3c\x65\xa9\x46\xef\x17\xfc\xd2\x7a\x57\x40\x32\xe5\x24\xce\xab\x45\x35\xc2\x77\xe0\x23\x61\x26\xa5\xbf\x76\x0e\x11\x38\x03\xbc\x6b\x5a\x17\x83\xc1\x00\xee\x85\x2b\xf6\xa5\x5d\x75\x7f\x3f\x6a\xd0\xcd\x80\xa9\x69\xbe\x09\xbe\xec\xef\x3d\x46\x33\x48\x64\x2a\xe0\x34\x84\xb3\xb9\x11\x5c\xbd\xa9\x2c\xac\x69\xeb\x3d\xd2\x9b\xb3\xf8\x6c\x15\x3b\xee\xcd\xfa\x2a\xcf\x68\x50\x7b\x76\x5c\x1a\x8c\x1d\x52\x01\x16\xfa\xf1\x42\x08\x4e\x8e\xb7\x4d\x7a\xe7\x7d\x4d\xe7\x6f\x25\x88\x86\x65\xaa\xed\x29\xd7\xfc\x0e\x1a\xa0\x86\xea\x05\x38\xc8\xbb\xef\x9a\x25\xae\x6b\x43\x3a\xee\x15\xa7\x59\x0d\x17\xd5\x26\x81\xe8\xe0\x71\x8a\x63\x74\x4a\x45\xe2\xd3\xe4\x05\xbe\xb6\xf1\x74\x2a\x22\x5b\x66\xc1\x79\xc3\x0c\x12\x3e\x99\x3a\xca\xf7\xdd\xe0\x56\x12\xc2\x84\x2f\xfa\xe2\x28\x89\xa7\xe4\xb5\x54\xa9\x19\xda\xe2\xf4\xac\x92\x65\x2c\xce\x11\xc6\xf7\x2b\x24\x59\xcf\x7d\x4a\xf3\x64\x28\x01\x97\xca\x1c\x43\xec\x60\xf6\x10\x51\xdb\x9f\xe5\x58\xa3\x08\x1f\xf3\xc9\xd4\xfa\xe5\xaf\x77\x2a\x58\xda\xf9\xf6\x4e\x06\x95\x92\x73\xa3\xe2\xb8\xaf\x12\x6c\xf5\x8d\x30\x38\xe8\x0b\x37\x9a\xdd\x5d\xd6\xd3\xec\x48\x0e\x87\xa1\xa6\x16\x67\x82\x21\x19\x9a\x13\xc1\x1a\xb2\x4c\xa8\x1c\x22\x38\x72\x96\xf0\x5c\x58\xbd\xd0\xe6\xc2\x9d\xf1\xcc\x7a\x67\x2c\xb4\xee\x52\x8a\xfe\x12\xe0\x4a\x6c\xae\x8b\x5f\x0d\x59\xd8\xa9\x31\x57\x98\xac\xaf\xa8\x38\xe0\x19\x79\x7c\x1a\xbc\x81\xe3\xdc\xf6\xb4\x58\x20\xc4\x0a\x41\xec\x7b\x82\xaa\xc7\x54\x16\x60\xf1\x86\xbf\x1d\xe3\xb2\xc1\x04\x65\xd1\x65\xaf\x4a\x7a\xa1\x38\x17\xb7\xfa\x06\x25\x49\x62\x24\x03\xc8\x93\xee\x56\xa6\x5d\x7d\x29\x0a\xb7\xdf\xf3\x0a\x35\x9d\x3f\xa9\x40\x6c\xac\x16\xb3\xcd\x5d\xa7\x82\x61\xad\xb8\x5d\x94\x05\x52\x73\xa3\x0d\x28\xf2\xfb\x95\xdc\xe0\x75\xa0\xe2\x9e\x73\x8c\x2e\x8a\x03\x1f\x3e\x97\xa4\x4e\xe5\x3c\xcb\x45\x84\x09\xb2\xdc\x86\x50\x56\x4a\x73\x32\xeb\x5d\x5c\x8a\xfc\x71\x37\x4a\xba\xe2\xdd\x5d\xaf\x30\x51\x22\x38\xe6\x24\x33\xce\x1b\xc6\x51\x81\x76\x6f\xb5\x32\xad\x48\x76\xab\xd8\xc6\x97\x4a\xa3\x2e\x25\x5e\x0c\xa5\x76\xaf\x40\x8f\x55\xab\x38\x47\x6e\x4f\xb4\x87\x9d\x17\x38\xc5\x02\xf4\xff\x96\x33\x14\x8f\x40\x62\xac\x38\x32\xea\x0d\xa2\xcd\x98\xaa\x8b\x63\xa6\xff\x78\xea\xa9\x4b\x1d\xfc\x94\x78\x76\x48\xc9\x26\xca\x05\x8a\x74\x2a\xc9\x66\x53\x7b\x98\x61\xb8\x46\x2e\xc9\x53\x3e\x59\xd8\x50\x18\x0a\xdf\x2a\xe9\x5a\x35\x2c\x9c\x61\x70\xee\x55\xe8\xf6\xc2\x78\xd2\x25\x56\x5d\xf4\xe2\x0e\xae\x2e\x79\xe6\xce\x46\x47\xf4\x4b\x2e\xd9\x61\xa3\x73\x34\x2a\xb8\x07\xa1\x94\x74\x67\x23\x8b\xb5\x3c\xe8\xa3\x11\x62\x33\x00\x3d\xc8\xd7\x6c\x0d\x10\x98\x49\x7f\xc1\xa6\x99\x98\x0a\xc8\x79\x89\xd6\x3a\xa8\xa4\x97\x8e\x10\xc8\xdc\xda\x39\x94\x09\xfe\xa3\x28\x77\xd0\x3b\x67\x91\x0f\x0c\x3b\xe0\x63\xc1\x21\x80\x3b\x8f\x27\xc2\x70\x26\x95\x67\xc6\xdd\xd1\xc8\x66\xf4\x04\x30\x68\xc6\xfc\x1e\x6c\x1e\x7a\xc0\xf3\x31\xcf\x9b\x66\x47\x83\x37\x8f\x8d\x64\x84\xb2\x48\x3e\x37\xb0\x3e\xc3\x49\x02\x82\x3b\xc2\xd2\x58\xa2\x98\xf9\xc9\x6c\x30\x5e\xe2\x68\x6d\xe4\x81\xfb\x07\x76\x8c\x66\x30\x6f\xe5\x00\x22\x5f\x07\x63\x51\xb0\xb0\xd9\xcb\x58\xa8\x78\xa8\xd2\x88\x18\x0e\x8e\xd6\x08\x23\xc3\xe3\xf0\xe9\xaf\x89\xe0\x5a\xc2\xf3\xb2\xe5\x88\x34\x0a\xd7\xa9\x8d\x60\xa0\x34\x44\x3c\x99\x26\xb1\xd1\xa8\x87\xc2\x1f\xcf\x8b\x9f\xd3\x3b\x90\x38\xcd\x21\x81\x63\x39\x31\xa3\x5e\x73\x78\x3a\xea\x6c\xb0\x96\x55\x52\x18\xe5\x55\x00\xcb\x53\x0a\xee\xee\xb2\x43\x96\x8a\x11\xcf\x41\x87\x1d\x4e\x1f\xab\x0a\x2f\xf5\x1a\x9f\x9a\x24\x2c\x22\x8d\x0c\x30\x33\x1d\x17\x05\x21\xc9\xc9\x0b\x0c\x18\x8c\x7d\x12\x35\x7d\x3c\x12\x6d\x92\x2d\x19\x3c\x64\x2d\x39\x17\x08\xba\xed\x14\x42\x6a\x89\x69\xaf\x15\xcc\xcf\xc4\x9e\x82\xcf\x7a\xac\x3c\x50\x5e\xbd\x9b\x81\xd4\x97\xf2\x5c\x24\x0b\x36\x4b\x21\x54\x31\x6a\x33\xf6\xc1\xc4\x1c\x34\xbd\xaa\x7d\x2e\x70\x16\xa2\x13\x20\x47\x63\x9e\xc5\xd7\x22\x1f\x67\x72\x36\x1a\xd3\xa5\xb6\xef\x4a\x3b\xc9\xd4\xeb\xb4\xe9\x24\xbf\x5a\xce\x66\x4a\x58\x5c\xa5\x44\xaf\x52\xe1\xc5\x59\x61\xc2\x96\x24\xa2\x74\x29\x60\x50\x32\x6a\xad\x4a\xdb\xa8\x8b\x91\xf8\xed\x37\x2f\x16\xb2\xd2\x7e\x16\x0c\x79\x6d\x73\xaf\x68\xe1\xda\xb6\xf3\x01\xb0\xd2\xb5\xed\xf2\x38\x11\x2f\x79\xce\xd9\x3d\x34\x97\x37\x9c\x20\xbf\xbb\xcb\x5e\x08\x38\xb0\x34\x2e\x06\x22\xe5\x59\x2c\x9b\x46\x60\x06\xe5\xcd\x34\x13\xb9\xc9\xb3\x89\x9c\x8e\xcd\xf5\xa5\xda\xab\x98\xe4\x80\x51\x55\xd3\xc4\xdb\x97\xa0\xa7\xca\x33\x76\xa0\xe9\xe8\xbe\xfe\x19\x84\xea\x92\xa0\x63\x38\xbc\xde\x58\xe7\x90\x7a\xe6\x80\x3d\x08\xa7\x06\xff\xee\xf9\x8d\xab\x10\xc0\xac\xaa\xd6\x1e\x1a\x71\x22\x36\x69\x07\xd4\x08\xb8\x7b\xa9\x59\x37\x86\x1f\x6d\xf4\x8d\x5b\x34\xb0\x94\x86\xf8\xed\x61\x75\xb4\xbe\x41\x73\x33\x74\xb1\xa7\x38\x5e\x4e\xd6\x4a\x4b\x86\xc5\x8d\xc8\x96\x9c\x83\xec\xc0\xc7\x1f\x1c\x99\xf7\x35\xaa\xab\x03\xa2\xf5\xb9\x27\x33\x3b\x92\xb9\xb0\x91\x7d\x03\x3f\xc6\xcc\x68\x5e\x56\x8c\x06\x19\x03\x9d\xe5\xde\xd0\x56\x5a\x05\xec\xb0\x96\x79\x51\x78\x0a\x04\x04\xde\xf4\x61\x17\x75\x08\x55\x97\x86\x60\x34\x40\x74\xef\x37\xd3\x2c\xb3\x03\x16\xf2\xb3\xe7\x25\xbc\x93\x40\x32\x57\xc1\x75\x14\x65\x89\x54\xce\x21\xaa\x17\x2b\x75\x59\x8d\x04\xc6\xc4\xd3\xc1\x83\x82\xad\x95\x31\xab\xcf\x20\x56\x3a\x81\x42\x3b\x57\xd5\x0e\x07\x47\x08\xa1\x9c\x03\x81\x77\x2a\x79\x47\xce\x39\xe9\xe6\x40\xbc\xa4\xcc\x83\xa4\x98\xb3\xc5\x2e\xe2\xb4\x7a\x50\xe5\xe3\xec\xe0\xc0\x9d\x67\x2b\xa8\xb3\x48\x9c\x95\x1c\x40\x6e\x05\x52\xb3\x93\xfb\x05\xc0\x95\xe4\xbe\x0c\x82\xb7\xa7\xd7\xdd\x4e\x1d\x08\x5f\xb9\x46\x75\x32\x1d\x77\xbb\xbf\x15\x20\x4f\x45\x67\xc9\xa8\xea\xa2\xeb\x0b\x5d\xac\x52\xf3\x71\x1e\xae\x95\x11\x9d\xe6\x99\xd4\xf2\x2a\xa4\x02\x30\x51\xc8\x66\xe5\x51\x6b\xec\x13\x26\x82\xea\x8b\x51\x8c\x99\x2d\x65\xb6\x44\x46\x6a\xe2\x8d\x11\x62\x9a\xa3\xbf\xf2\x41\xc0\xc1\xf4\x65\x84\x7f\x43\xf7\x47\x8d\xe7\x18\xc4\xc3\x34\x02\xbf\xb1\xb6\xcd\xf6\x50\x5e\x6a\x2d\x0d\x91\xb3\xb0\x1b\x43\x75\xe7\x6c\x30\x16\x83\x6b\xb2\xd1\x60\x2e\x1c\xa6\x90\x25\x38\x81\xc5\xbc\x31\x96\xa8\x80\x41\x15\x5e\x3a\x0b\x56\xf1\xab\x6f\xbf\x0d\x35\x13\xeb\xf6\x5c\xe1\x7b\xef\x14\x28\xbc\x09\x68\x11\xd7\x78\x05\x37\xab\x1c\xef\x12\x4e\x56\xbc\x3b\xac\xe8\xb8\xb1\xc2\x92\x06\x6a\x10\x11\xe8\x4a\xd6\x38\x2c\xe1\x25\x65\x23\xbe\x4e\x80\x7d\xc6\x5e\xfe\xd4\x5a\x05\xc5\xdc\xb1\xef\xca\x29\xaf\xdc\x20\xab\x99\x96\x23\xbb\x15\xd4\xee\x11\x1c\x18\x2f\x4a\xc4\xe6\x9b\x3c\x0f\x96\x9c\x56\x8e\xc8\xfc\xd6\xdb\x12\x98\x7f\xfc\x79\x36\x6b\xf7\xb4\x92\x4d\x2e\x79\xbf\x82\xe2\x4a\x03\xdf\x90\xda\x1c\x11\xfc\x0f\x52\x55\x59\x46\x58\x47\x56\xe4\x85\x88\xbe\xde\x58\xab\xd2\xdd\x93\x30\x93\x22\x4f\x17\xe6\xa2\xe4\x5f\x6b\xc6\x22\xd3\xd7\x8c\x38\x1d\x08\x48\x74\x61\xc0\x8d\x24\xf9\x81\x39\x69\xaa\xa4\xb2\x72\x68\x5c\x67\x67\xc7\xb1\x56\x7b\xf3\x94\xe4\x39\xcd\xd4\x95\x9c\x08\x34\x7c\xd1\x61\x4e\x55\x03\x2a\xe4\x0d\xba\x18\x22\x24\x23\x0a\xa2\xa9\x2c\xce\x4b\x06\x57\x48\x1d\x83\x5e\xc8\x33\x58\x4b\x67\x00\xd4\x5d\xf5\x45\x3e\xf7\xc3\xd1\x9d\xf1\x6c\xd9\xe1\x77\x77\x92\xb8\x0b\x9b\x29\xc9\x8f\xab\x29\x63\x0d\xbb\xf1\xb4\x8a\x27\xce\x21\x9b\x2e\x90\x25\xc5\x62\xb5\xd7\xf8\xff\xc5\x0a\xc3\x42\xe6\x87\xa5\x3a\xc3\x09\xbf\x7d\x8b\x5e\x64\xd5\x0e\x58\xab\xcc\x34\x74\x85\xb7\x20\x1a\xde\x16\x62\x17\x2a\xcf\xae\xac\x49\x76\xbe\x52\xfb\xb6\x85\xe4\x5d\x32\xa6\x38\x36\xbf\xca\x4e\x62\x6d\xb1\x15\xde\x49\x07\x40\x76\x81\x1c\x1f\x2b\x2f\x0a\xc0\xea\x41\x38\x4b\x65\x4b\x4e\x9b\x78\x71\x9f\x14\xcc\x53\x2e\xac\x63\x29\x33\x0a\x9d\x66\x56\xab\x03\xe7\x4b\x4f\x5d\xf8\x2e\x12\x89\xc8\xc5\xd1\x98\x67\xaa\xfe\x8e\xe7\xe3\xf6\x24\x4e\xeb\x94\xb8\xc7\x2d\x88\xdb\x86\x41\x72\x10\xc4\xba\xb7\xc3\x5e\xc9\x6c\xce\xb3\xa8\x85\x50\x51\x85\x43\x9e\xbc\x7e\xe6\x8f\x8d\x36\xdd\x39\xf9\x20\x80\xe3\x0a\x04\xcd\x13\x63\x44\xe0\x91\x0f\x31\x56\x58\x17\x44\x44\x2c\x11\xc3\x1c\x32\xff\x24\x0b\xc6\x87\x43\x31\xc8\x21\xc9\x49\x51\xe5\x26\x98\xe2\x13\x61\x9c\xa1\xcb\x1b\x71\x45\xe4\x4c\x90\xdb\x41\x0e\x7d\xd0\xb9\xa4\xd1\xb9\xca\xd0\xc6\x89\xa1\xda\xa2\x8d\x40\xa0\x20\x70\x59\x15\xdc\x5e\x1e\xb4\x5f\x1c\x43\x41\xab\x68\xb3\x12\x12\xae\x56\x6e\x71\x8f\x04\x96\x44\x4c\xae\xb0\xb7\x3d\xdf\x50\x7b\xec\x9b\x6e\xe1\xe5\x46\x06\x5c\x46\x68\x3f\x60\x96\x36\x29\x10\xb3\x8a\xc7\x54\xc0\x77\x3e\x0c\x5e\xec\x3d\x61\x74\xcf\x79\x61\xde\xb8\x40\x7e\xa3\xe8\xe7\x59\x8e\xc4\xdf\xd4\x62\xe7\x5b\x4a\xc4\x10\x1a\x14\xd9\xb7\xdf\xfa\x11\x4c\xcc\xff\x6c\x2b\xcf\xbc\xaf\xe0\x47\xe2\x5d\x75\x37\xfb\x94\x56\xec\xbe\x0d\xaa\xd2\x9f\xda\xa9\x6e\x35\x7c\x4a\x4e\x70\x10\xcc\xbf\xe5\xe3\xcd\xc8\xd5\xd2\xa8\xd8\xfd\x96\xdf\x7e\xeb\xf5\xfb\xed\xb7\x21\x16\x0f\xdc\xbb\x40\x5f\xf7\x5e\xfa\x04\x0f\xaa\x4e\xc3\x18\x4c\xcd\xd2\xcc\xd3\x68\xa3\x08\x95\x81\xcb\x60\x9f\xf7\x93\x05\xcb\xb3\x85\x51\xa8\x03\x40\xbb\x77\x81\x6d\x85\x89\x7c\x30\x9d\xec\x3c\x8e\xbc\x5d\xe6\x24\x33\x93\x20\x2d\x50\xb1\x56\x34\x06\x41\x94\xf8\x3b\xe8\x73\xb4\xf0\x06\xd9\x25\xad\x03\x5d\x49\x77\x07\x0f\xb6\x10\xbc\x6a\xac\x66\x85\xfb\x95\x8e\x3f\x16\xf0\x12\xc7\x9f\x25\x64\x89\x41\x45\x45\x52\xd9\xb3\x4a\x38\x43\x09\x9d\x8a\x3b\x05\x6a\x17\x97\xf8\x77\x22\x7d\x78\x40\x0f\xd8\x9e\x26\x06\x40\xdc\xbd\x32\xe3\x09\xbd\x81\xd7\xf8\x21\x31\x72\xe8\x75\x1e\xa6\x34\x18\x7c\x25\xcb\x2a\x3c\xe7\xaf\x50\x92\x3e\xe3\x21\x85\x6e\x70\xe3\xca\x9f\xca\xb4\x05\xa2\x9d\xb9\x42\x14\x9c\x32\xc8\x7f\xc0\xe8\xcc\xef\x1d\xb0\x07\x7a\x6a\xf7\x56\x49\x1a\xbe\x4f\xf0\x5a\x83\x2c\x2b\xea\xe7\x8b\x4a\x8e\x55\x2e\xbd\xeb\x94\x2e\x77\xbb\x0f\x79\x8a\xb7\x15\xe3\x5a\x69\x63\xf0\x28\x72\xc3\xf1\x6f\x7a\x25\xde\xab\x54\x43\x6a\x54\xc3\x82\x2e\xf7\x3e\xd9\xd0\x9b\x7e\x7d\x44\x98\xed\x67\x95\x86\xdc\x36\xda\x68\x32\x4b\x6f\xe0\xfe\x86\x28\x68\x73\x80\xd6\xe9\x3c\xcc\x6e\x42\x59\x2e\x4e\x23\x45\xc9\x60\xfe\xdc\x3a\x3b\xf9\x84\x05\x16\xe1\xb2\xe1\xe5\xd2\x72\xc1\xd7\xd0\x08\x64\x96\x0f\x94\x61\x5f\xcd\xa6\x53\x99\xe5\xe1\x05\xa5\x28\x61\xa1\x37\xa9\x16\xc4\xb0\x17\xf0\xdc\x1e\xc5\x29\x53\x82\x67\x03\xcc\xa2\xe6\x52\xd2\xc8\xa1\x8d\xf5\x72\xa2\x11\x82\xd0\x72\x11\x81\xa0\x3c\x7f\x7c\x89\xb6\xd2\x40\x58\x99\xd7\x48\x5f\x92\x7a\xfa\x24\x3a\x93\xf3\xcf\x95\xa9\x16\x48\x12\xc8\xe4\xbc\x48\xd7\xbe\xce\x88\x55\xbc\x6f\x8f\xb9\x5a\xee\xfa\xe0\xf9\x29\x61\x84\x41\xd5\xbe\xfc\xe2\x2d\x9c\x9c\x07\x2b\xf7\x23\xc4\x37\x9b\xc4\x85\x88\x7d\x87\x03\x38\x70\x4c\x50\x55\x0f\x57\x48\x6d\xba\x44\xaf\x42\x72\x28\x2f\x85\x49\x77\x0d\xd2\x3b\x45\xf6\xfa\x2d\xd7\xa2\x5c\x7f\x58\x8d\x6e\x72\x0d\x23\xeb\xce\xce\xce\xf3\x60\x09\x3c\xa4\x19\xeb\x9a\x9e\x64\x49\x95\x46\xc1\x2a\x9b\xad\x80\xbf\x06\x25\xde\x52\xe0\x1e\xfd\x4c\xf0\x6b\x3f\x61\xb1\xbf\x3e\x68\xfa\x28\xa5\xf1\x52\x45\x82\x4d\x07\xe0\xe5\x65\x08\x95\xce\x93\x8a\xc5\x80\x73\xec\x3d\xd9\xff\x46\xc2\xac\x89\x05\x30\xc4\xab\x4c\x71\x8f\x14\x5a\xc9\x21\x69\x50\x4d\xfd\x4b\x4a\xb5\x08\xf9\x87\xd7\x2e\xd7\x9f\xcf\xe4\xfc\x90\x40\x95\x1c\xaf\x83\x2d\xe2\x7b\xdf\x81\x7a\xd5\xd8\x90\xdf\xeb\x4b\xd8\xc1\xc1\x01\xab\xc1\xc8\x6a\x8d\x32\x32\xfd\x98\x10\x77\xca\x17\xb6\x00\x86\xa5\x54\xe0\xd7\x0b\xca\x04\x3f\x3b\xa4\x73\xef\xd2\xa6\x99\x04\x9d\xff\xd4\xc4\x20\x7d\xeb\xcd\x41\xc8\xcd\x43\x86\xe3\xf6\xc8\xea\x05\x74\x11\x82\xc3\x95\x4e\xf4\x27\x9e\x03\x7d\x40\x1f\xa5\x8b\xe2\xe9\xdd\xe7\xbe\x72\xdd\x0d\xdc\x4f\x71\x3e\x36\x6a\xa4\xe2\x96\x6d\xb2\xb2\xf7\xbd\x8b\x54\xf3\xaf\x61\xad\x8e\xb9\x74\x19\xb2\x3c\x73\x31\x8a\x45\x2a\x73\x02\x1d\x00\xf3\xbe\x58\x02\x73\xea\x42\x3c\xf7\x3c\x86\xe1\x77\x75\xef\x80\x79\xfc\xc3\x7e\x70\x7f\xad\x88\xe3\x02\x1d\x37\x62\x2a\x5a\xe4\x2b\x30\x92\xbb\xf0\x99\x60\x8a\x25\x5e\xe3\x86\x6f\x11\xe8\x2f\x57\x9c\xea\xd3\xac\x62\x81\x36\xda\x3c\x74\x00\x6f\xb2\x77\x5e\x1a\x57\xf7\xbb\xca\x00\xc1\x96\x40\xe8\x5b\xed\x22\xcb\x00\x57\x6f\x23\x6f\xdc\xcb\x41\xac\xdd\x59\x9b\x23\x66\xe3\x8d\x85\x2b\xb5\xe1\xae\x2a\x30\xc7\x02\x49\xfb\x99\x55\xaa\xe9\xa1\xf0\x7d\xb1\x1b\xdf\x8a\xbe\x11\x59\x05\xb0\xf6\x1a\x86\x59\x57\x6d\xc8\x25\x09\x84\xda\x03\x2d\xae\xbe\x87\x52\xc1\x15\xa9\x84\x3c\x75\xd2\x7b\x1b\xee\xea\x7d\x73\x11\x5f\x05\xf7\x22\xd7\x10\x4f\x92\x46\xb8\x99\xbc\x5d\xe3\xc7\x2f\x6e\xc1\x0b\xbc\x3e\x1a\x85\xb3\x49\xef\xd4\x8a\xcd\x65\x83\x9f\x20\xc1\x32\x12\x8b\x4b\x96\x4d\xd9\x64\xaa\x8e\xaf\x3f\xf2\x6c\xb2\x14\x6e\x3b\xae\x3c\x44\xc0\x6f\x36\xcf\x62\x71\x53\x9a\x43\x45\xfe\xa0\x2f\xec\x7c\x2e\x99\xc0\xfc\x41\x98\xa0\xc8\xbf\x41\x14\x91\xa0\x31\x20\x06\x79\x7c\x23\x30\x37\xfc\xca\x2d\xa3\x67\x78\x98\x46\xb8\x9b\x57\x1f\x48\x66\x4a\x45\xe1\x5d\xf3\x65\x3b\xdd\x1f\x36\x61\xfa\xbe\x28\xf3\xfb\xd8\xbe\xed\xb7\xb5\xc5\x69\xf3\xf5\x4e\x0b\xb3\x97\x4b\x58\xf4\x37\xb4\xc5\xdb\xd7\x23\x63\x73\xfd\xf8\xc3\x4f\x89\xf5\xf4\x4c\xc9\xde\xfe\x59\xc9\x79\xc9\x31\x10\xd2\xf2\xdd\x79\x68\xba\x92\x79\x9a\x16\x9a\x26\x3f\xdd\x29\xdc\xdc\xa2\xfd\xfb\x83\x10\x92\xdb\x02\x4b\xee\x03\xbd\xd3\xc3\xf7\x35\xd7\x0a\x72\xb8\xb3\x97\x59\x9c\x24\x0c\x8a\xbe\x93\xf4\x6b\x4d\xdb\x90\x40\x45\x7f\xd4\x06\x14\xdb\xcb\xf7\x66\x84\x8e\xe7\x9d\x47\xe9\xf8\x75\x61\x33\x39\xa3\x64\xd8\xfe\xca\xb6\xf7\x34\x31\xfe\xd6\x0e\xa6\x5e\xbc\xba\x54\x67\xf5\xfe\x67\x3f\x20\x40\x49\xcf\x40\x41\xe2\x5f\x5d\x28\xc6\xbc\x38\x9a\xd2\xe7\x22\x8d\xd8\x71\x1a\x6d\xf1\xe9\x99\x7e\xfb\x85\x1a\xc1\x1f\x90\x5b\x4a\x46\xf1\x70\xcd\xbe\x52\x22\x87\xf6\xe5\x6d\x04\x93\x00\x03\x4f\x13\x01\x3b\x4d\x03\xbc\x0a\xc8\xc5\xbb\x93\x2c\x3f\x75\x3c\xb8\xf6\x9a\x52\x05\x8a\x5c\xbc\x0b\x76\x59\xd0\x40\xa6\xd1\x5d\xbb\x15\x69\x64\x3b\x2d\x83\xa9\xee\x12\xa6\xad\x51\x04\x4b\x59\x31\xd6\x8b\xbd\xab\x66\x05\x36\x2e\x3a\x98\xa4\xd1\x7e\x7f\x9c\x46\xa5\x4e\xe1\xdb\xd2\x43\xf8\xd2\x0f\x0d\xbe\x9d\xf2\x34\x52\x5e\x96\x06\xd0\x1d\x66\xe8\x5f\xff\xe1\xec\x6d\xa9\xc0\xa4\xcd\xc1\xf0\xc5\xfb\xa8\xe7\x7f\x2e\x00\xe6\x6a\xba\xc0\x36\xee\xb3\xe5\xa9\x1c\xe0\xb2\xe9\x9e\x05\x28\x34\x9a\x29\xa0\xc8\x03\x2f\xd7\xc3\x88\xc8\xee\x30\xaf\xef\xb9\x2b\x2b\xb6\xfb\xed\x37\x42\x5c\x2e\x4d\x49\x0d\xf4\x51\xa8\xef\x5e\xaa\xdd\x46\x75\x0f\xc1\xb5\x38\x50\x4f\xd6\xab\x2f\xcb\xb4\x36\xba\x95\xb5\x10\x35\xbc\xa1\x84\xb7\x66\xdb\x11\x7c\xe0\xe5\x46\xaa\x92\xf8\x43\xca\xf3\xef\x07\x1b\xff\xab\x1a\xdd\xef\x86\x74\xe2\xbc\x96\xec\xd6\x73\x53\x39\x60\xad\xce\x92\x3d\xf7\x47\xcf\x17\xc7\x28\xd2\xe8\x77\xcd\xd5\x42\x29\xcc\x33\x98\x40\x79\x96\x14\x08\x8d\x4e\x30\xe0\x52\x8e\xec\x1b\x74\xc1\xb5\xbf\xd7\x98\xcc\x58\xad\x5d\x33\x4e\x72\x53\x9e\x8f\x15\x1b\x66\xe2\x6f\x33\x91\xe6\xc9\x82\x45\xd2\x84\x5d\x25\x62\x98\x03\x1c\xc6\xd8\x01\xab\x5d\xfc\x7c\x79\xa9\x2e\x2f\x2f\x2e\x2f\xaf\xea\x8d\x5f\xbf\x7c\xff\xc3\xce\x65\xed\xf2\xf2\xe7\x7b\xff\xf1\x6f\xff\xe7\xdf\xbf\xfd\xae\xf9\xbc\xfb\xff\x5d\xd5\x0c\x92\xc1\x89\x83\xbe\xdd\xe4\xd3\xbf\xb7\xbd\x8f\xe3\x54\xc5\x91\xc0\xaf\x97\x7f\x7c\xf5\x5d\x8d\x26\x0b\x41\xdf\x38\x49\xf2\xb8\x00\xc7\x90\x92\x1a\xd9\xdf\x4e\xa0\x7a\xb6\x72\x36\x16\xe2\x4b\xc5\x87\xe9\xb9\x3c\xa3\xcd\x1d\x24\x64\xd0\xbb\x96\x00\x81\x21\xde\x5b\x03\x07\x40\x0c\xf3\x33\x31\x9a\x25\x3c\x3b\xbe\x9d\x66\x42\x29\x57\x15\xe5\x4c\x8c\x8e\x6f\xa7\x75\x87\xd1\xfb\xc1\x2c\xef\xb3\x9d\xff\xb3\x63\x01\x21\xaf\x12\x11\x1e\xb8\x07\xe1\xc8\xda\x68\x2a\xa9\x57\xf6\xe6\x68\x24\x04\xa1\xa9\x44\xf3\xa1\xf0\xf1\x0f\xe1\xee\xaf\x20\x23\xc0\x2c\x44\x1a\x79\xbe\x39\x6d\x0f\x61\xaf\x32\x39\x59\x8f\xb0\xa0\x9b\x8d\xb7\x42\xd1\xef\x8b\xc0\x35\x1a\x01\x91\xad\xc1\xf8\xce\xcf\x3b\x25\x5c\x3b\xe2\xb4\xa0\xb0\x08\xdf\x41\x38\x27\xe2\xd2\xd5\xdd\x38\xd6\x0a\xdf\x56\x72\x1a\xc2\xf6\x31\x80\x0e\xd9\xd3\xfd\xd2\xf4\x00\xcc\xc5\xde\x55\x69\x0d\xe1\xf3\xe2\x0a\xea\x87\xdf\x07\x64\x58\x5c\x3d\x13\x22\x8e\xe2\x10\x09\x0d\xfe\xfa\x37\x7d\x60\x46\x26\xd2\x9d\xbb\x63\x8d\x47\x11\x7c\x5e\x37\x2f\x37\xaa\xb4\x28\x93\x44\x8b\xa3\xff\x1b\xab\x2d\xfa\x75\x4e\x0b\x95\x15\xbd\x0a\x8a\x87\xac\x76\x13\x8b\xb9\x46\x42\x8d\x41\x15\x45\x39\x64\xc3\xf8\x56\x44\xad\x31\xd6\x84\x81\xcc\x96\xc0\x91\xcd\x6d\x18\x62\x94\x5c\xea\xaa\x14\x7c\x48\x07\x72\xba\x68\xe5\xb2\x35\x48\xe2\x29\x94\xbf\x37\xc2\x51\xed\xa3\x85\x6f\x4a\x07\x40\xbc\xa0\x89\x53\xe5\x39\x56\xac\xd3\xb3\x34\xa1\x98\xb6\x64\x5d\x6c\xf3\x2e\x61\x96\x4e\x5b\x9c\xed\x14\x53\x6c\x65\x50\xa4\xac\xb3\xb7\xd7\xdc\xdb\xdb\x83\xcf\x30\x6d\x89\x6e\xe5\x15\xa1\x8b\xa9\x2a\xde\xfe\x23\x57\xcc\x90\x27\x09\x05\xa4\x98\x57\x91\x9c\x18\x5f\xe5\x4c\x50\x48\x5b\x84\xa5\xdd\x7c\x60\x10\x09\xcd\xd5\x35\xa3\xea\x79\x67\xde\x68\x5c\x28\x9c\xde\xd8\xc1\x74\x64\xca\x22\x31\x81\x4c\x4f\x94\x56\x49\xf7\x82\x34\x28\xf4\x3a\x53\x26\x4d\x1f\x0f\x3c\x13\x3c\xc8\x1f\x6a\xd6\x0a\xeb\x36\xaa\x78\xa4\xc9\xc9\x24\x4f\xc2\x35\xa1\x7c\x96\x85\xd5\x60\x2a\xd7\xc3\x9e\xcb\xec\x5a\x35\x35\x38\x71\x23\x52\x74\x49\xe2\x49\xa2\x0f\x5a\x2f\x22\xd3\x5b\x5d\x2c\xf4\x80\x43\x94\xc3\x61\x21\xb3\xfb\x7b\x99\x0b\x17\x2a\xfd\xe7\x4e\x87\x4d\xa4\xa6\x4c\xd7\xad\xcd\x2d\xa3\x7b\x76\x8e\xc2\xc5\x8e\xbf\xf1\x8a\xeb\xf9\x7d\x7b\x5d\x32\xf6\x3a\x77\xce\xaa\x51\x3c\x1c\xc6\x83\x59\x02\xe7\xe8\x30\xbe\x45\xc2\xd2\x64\x4a\x05\xdf\xa8\xc8\xa6\x46\x11\x38\xe6\xa7\x39\xdc\x36\x21\x7c\x5e\x5f\x50\x79\x3e\x96\x89\x1c\x91\xcb\x3e\x54\x40\xf4\xba\xd6\x14\xaa\xfc\x44\x56\xfe\x22\x93\xf7\x96\x33\xa3\xaa\xea\x22\x85\x39\x1f\xb1\x94\x4f\x84\x29\x52\xe8\x4a\x38\x63\x29\x4c\x65\x82\xfc\x60\xd3\xff\x6d\x16\x0f\xae\x93\x05\xe3\x4a\x8f\x99\xbc\x31\xb3\x4c\xaf\x28\xd5\x59\x64\xb8\x23\x3d\x3a\x71\x7b\x73\xa0\x4a\xb7\x11\x6f\xc8\x5f\x82\x2d\x73\x68\xd3\xd1\x0d\xf8\x14\x42\x47\xe5\x90\x72\xd6\xd9\x5a\xa4\xdc\x7a\x88\x66\x9c\x42\xfe\x30\xf9\x35\xee\x90\x82\xe7\xa6\xd9\x1a\xe1\x45\xd6\x74\x88\x97\x95\x65\x95\xf4\xe1\x92\xd0\x70\xe7\x80\xf7\x21\x65\x32\x34\x7f\x1a\x81\xb1\xf7\xe9\xf0\xc7\xd0\xb5\x14\x0b\x8c\xcd\xd2\x3c\x4e\x6c\xba\x1e\x8c\xfb\xc7\x5c\x61\xe4\x7f\x62\x9a\x53\x69\xaf\x42\x11\xaf\xce\x5e\x93\x75\x5c\x0d\xb8\x97\x27\xef\x50\xcf\x01\xd9\x84\x35\xcf\x73\xdd\x11\x70\x70\xb6\xb1\xe3\x9e\x25\x38\x62\x5b\x7e\x8d\x8e\x35\x77\x8f\xf3\x3a\x74\xb5\x1a\xed\x45\xcf\x43\x04\x04\xf8\x4f\xf8\x94\x92\x15\x63\x01\xcb\x83\x1f\x6c\x0a\x9a\xa0\xd4\xa9\xb1\xd2\x47\x19\x9f\x43\x12\x36\xb3\x93\x4d\x38\x1d\xe5\x9f\xc8\x84\x6e\xf1\xb9\xde\x00\xcf\xfd\x36\x63\xef\xc9\xb4\x8e\x3e\x89\x50\xa8\xbb\xd8\x18\x9b\x7a\xe1\x0c\x14\x59\xa0\x47\x71\xc4\x07\xe3\x52\xbd\xb9\x2d\x87\x3d\xe7\x15\xe3\xb6\x31\x85\x36\x46\xaf\x30\x74\x33\x1e\xf3\xbe\x38\xa0\x5f\xbf\x98\xe1\x80\xcb\x4f\x34\x83\x18\x01\xe4\x63\xc0\xf8\x72\xf2\x89\xce\xf5\x26\x30\x7e\x99\x54\xbb\x70\xa1\xdb\x62\x61\xce\x98\x8a\x93\xc6\xbf\x08\xdb\x67\xc2\x55\x8e\x57\x76\x90\x85\x4a\x19\xe6\xdd\x7b\xac\xa9\x56\x2a\xc8\x97\xcd\x84\x49\x7c\x38\x53\x8e\x9b\xf4\x21\x05\x91\xc9\x78\x4d\xac\x1c\x33\x92\xa5\x14\x18\x82\xa9\xa6\xdb\xdf\x38\x2f\x7e\x4c\x27\xad\xb7\xb0\x73\x2f\x65\x63\xa9\x72\x06\x97\x24\x95\x2b\x62\xc8\x51\xc6\x47\x66\xe6\xe6\xb8\x30\xa5\xc6\x11\x9e\x16\x9d\x67\x53\xaa\xda\x0e\x41\x3b\x9a\x26\x21\xfb\xbd\x13\xb2\x4a\x44\x7d\x9c\x42\xe7\x9f\x6d\xc6\x1c\x17\x57\x6a\x0b\x62\xa0\xf3\x25\x72\x4b\xc7\x23\xf5\x1b\xca\x93\x99\x35\x59\x26\x5a\x53\x39\x9d\x25\x50\x39\x1e\xd7\x0b\x21\x41\x6a\x4b\x58\x38\x44\x27\xc4\x85\x38\x4c\x43\xf1\x46\x2a\x79\x16\x14\xa7\xa4\xc5\x9e\x8f\x85\x48\xd8\x34\xbe\x15\x09\x8b\x44\x92\x73\x36\x99\x25\x79\x3c\x4d\x62\x3c\xac\xe3\x54\x1f\xd7\x4a\xec\x46\x42\xe1\x2f\x04\x91\x3b\x10\x6a\x2a\xe0\xec\x23\x4c\x22\x44\x44\x65\x9b\xf5\x84\xd0\x62\x65\x3e\xed\xee\xee\x8e\xa4\x6c\x8f\x92\x5d\xf5\x67\x91\xa4\x7f\xb3\x98\x02\x20\x9f\xf4\x47\xef\x6c\xcf\x7a\xb4\x1d\x1c\xad\xa9\x00\xea\x93\x05\x60\x8e\x7a\x07\x42\x8c\xbc\xf1\xc0\xe9\xaf\x29\x64\x0c\x7b\xc8\x24\x0c\x43\xd3\x85\x5f\x11\x34\x56\x3d\x3a\xb8\x51\xa8\x2f\xae\xcf\x40\x29\xa8\xc1\x6b\x89\x01\x4a\xd1\x4a\x2c\x8a\x2c\x13\x24\x25\x61\x22\x1c\xb8\xe9\x01\x60\xdf\x66\x72\x7e\xa4\xd4\xd9\x2c\x29\x30\x00\x33\x9d\x43\x36\x9a\x09\x55\x8a\xa9\x30\x85\x73\x33\x53\x84\x19\x24\x4d\x4d\xe1\xb8\xcb\x70\x75\xbd\x49\xd0\x87\x3d\xf3\x1d\xec\xb9\xd3\x5b\x8d\xbf\xc7\x61\x8f\x9f\xc6\x82\xf2\x86\x0a\x36\xc8\xb3\xa4\x75\xc3\xae\xc5\xa2\x50\xed\x9a\xf6\xda\x94\x2b\x4a\x03\xe5\xf5\x94\x67\xc9\xc7\x53\xfd\x22\xc8\x86\x8c\xd1\x28\xf1\x4d\x69\x9f\x9b\x82\xa4\xc5\xfd\x7d\xa4\x51\x3e\x30\xba\x63\x0e\x16\x16\x5b\xfe\x7f\xcc\xd3\x28\xf1\xcb\xa0\xe2\x73\xe5\x31\x2d\x78\xee\xaa\xeb\x17\x5e\xbc\x3c\x7e\xf1\xe1\xc7\xcf\x6e\x84\x5f\xac\x20\x7f\x9a\xc9\xdb\x85\x8b\xd6\xc6\xd4\x30\xa5\xfc\xb3\xf3\x71\x3c\x18\x23\xa3\x53\x39\x68\x37\xc7\x68\x68\x9a\xf3\xe4\x1a\x62\xbb\x50\xa6\xd5\x87\x1f\x08\x56\x26\x05\xa2\x33\x24\x19\x19\x00\x53\xaa\x48\x08\xe7\x33\x80\x07\x72\x22\xc8\x39\xb3\x28\x8d\x14\xcf\xbd\x2f\x44\x0c\x20\x37\x68\x7a\x44\xdb\x7c\xb9\x80\xb4\x5f\xaa\xb8\x2c\x72\xb4\xab\xf5\xa4\xf6\xbd\x97\x48\xde\x3d\x84\x50\x3c\xfb\x57\x61\x23\x12\x6f\x2a\xd6\x65\xcd\xab\xc4\x63\xa4\x21\xf3\x61\xac\x20\x27\x54\x5f\xf8\x19\xf5\x32\xa8\x33\xbf\xb0\x95\x69\x50\x8e\xa5\x76\xa1\xbc\xcb\xd3\xc1\x58\x66\x08\x8d\xd6\x71\x28\x07\x33\xba\xd2\xc4\xfa\xa6\x69\x0e\x55\x7d\x9b\x9c\xf1\x8c\xa7\x39\xc5\x9a\xf6\x05\x4b\x84\x52\xad\x7c\xcc\xd3\x96\xcc\x5a\xe2\x6f\x33\x9e\xb4\x72\x89\xd0\xf0\x96\x35\x34\xd1\xca\x67\x86\x59\xe0\xdb\xd7\x43\xbc\x02\xc9\x94\xea\x5e\x2b\x57\x47\x07\x2e\x48\x8a\x14\xba\x14\xf6\x70\x06\x25\x91\x5f\x07\x82\x03\x42\xf2\xe8\x2d\x2b\x0b\xf3\x26\x5d\x6f\x05\x54\xbd\x83\x0a\x1b\xd2\xbd\xae\xe0\x2f\x4b\x56\xc9\x4f\xed\xf4\x4f\xb9\x46\x23\xb8\x1c\x66\x1b\x2c\x93\x99\xfe\x3f\xff\x42\x61\x47\xd5\xcb\x44\xa7\x9a\x85\x70\xef\x20\xa0\x3f\xef\xb0\x82\xd3\x11\x8c\x82\xab\x00\x95\x86\x0a\xb1\x8a\x9c\x4d\x65\xac\x65\x0c\x2f\x75\x34\x95\xfb\x28\xf5\x73\x64\xe7\x56\x51\xfd\x07\x33\x3d\x73\x96\xc4\x0a\x16\xc2\xdc\x01\x4c\xfd\x73\x2f\x63\xb1\x2b\x71\xe5\x6e\x0a\x7a\xfd\x34\x98\xd8\x38\xa8\xf3\xc1\x00\x6a\x51\x8f\xb0\xe4\x44\x24\xa6\xf9\xb8\x85\xaf\x50\x37\x6a\xb8\xa4\x31\xae\x3a\x6f\xd7\xd4\x45\x5c\x8f\xe3\x24\xca\x04\x54\xae\x71\x2e\xb0\xab\x58\xa1\x67\x4c\xd2\x1c\xfc\x95\xcd\xcc\xef\xf3\x48\xb4\x06\x03\xd3\x6d\x62\x1f\x87\xd9\xa2\x14\x58\x87\x0d\x8a\xc9\xfd\x97\xf8\xcf\x1a\x28\x6d\xa8\x8b\x75\x32\xa4\x06\xf7\x9c\xe6\xbf\xe0\x19\x1b\x7a\xde\x96\xfc\x02\x1a\x41\x0c\x04\x84\xc3\xc1\x2a\x86\x93\x22\x2b\xb9\x9d\xc2\x73\xcf\x82\x9f\xdd\x34\x8a\x46\xf2\xec\x26\x88\x01\x4a\x57\xe5\x76\x5f\x61\x0e\xef\x2d\xd2\xc1\x38\x93\xa9\xbe\x4a\x82\xee\xc1\x9c\xb0\x20\x40\x7b\x32\x8f\xa6\x0e\x9f\x19\x05\xc5\x60\xb8\xde\xcb\xad\x39\x5f\x80\xa0\x8b\xf0\x20\x75\x54\xd3\x52\x56\x61\x67\xba\xcc\xdb\x18\xc4\x89\xdd\x36\x41\xc7\x02\x69\xef\x60\x0b\x68\x88\x3c\xdb\x92\x56\xf4\x10\xaa\xd3\x12\x2b\x91\x0c\x09\xf9\xbe\x08\x19\xc9\x49\x59\xc4\x18\x73\xb8\x48\xea\x11\x40\x81\x1d\x90\xc2\xb5\x70\x80\x1b\x49\x8b\x08\xb4\x3b\xe2\xd4\x09\xdb\x46\x9c\x32\x79\xd7\x4c\x36\x81\x61\x3c\xb2\xd9\x90\xe4\x2c\xc7\xcb\x8f\x77\x03\xb2\x79\x0b\x83\xb2\x3f\xfa\x6a\x83\x97\x3b\xab\x9c\xda\x41\xce\xbd\x63\x33\xce\x18\x29\xc5\x81\xc0\x16\x40\x58\xf5\x86\xcb\x91\x3f\xf4\x8f\x22\x6c\x73\x26\xe7\xcf\x0b\xaf\xc9\xdf\xcf\x53\x48\x43\x4b\x17\x26\xe3\x9a\x5a\x03\x7a\xb1\xb1\x9f\x39\x0a\x9a\x5b\xd6\x0a\x67\x4c\xd8\x2b\xd9\xaf\x03\x30\xd0\xac\xd0\xa5\xf0\x2c\xf6\x85\x96\xae\x3f\x97\x10\x68\x2b\x9c\x02\x94\x55\x28\x85\x06\xab\x31\x5a\x31\xb5\x6a\x84\x56\x4d\x6e\x19\x3e\x0b\xd3\x2b\xa2\xb3\x6a\x15\xab\xf0\x59\xb9\x86\xd5\x08\x2d\xae\xa0\x2d\x4e\xe2\x2b\x80\x8a\x72\x68\x7b\x24\x72\x13\xb5\x55\x6f\x40\xd5\x79\xab\x0d\xf2\x54\x62\x25\x51\xa8\xfa\xe4\x5d\x71\x96\x56\x1e\x7f\xce\x75\x80\xfd\xf6\x9b\x37\x15\xaf\x55\x98\xcb\xd9\x7b\x51\x69\xa1\xb7\x68\x5d\x81\x44\xe7\xe9\x4e\x4d\xbf\xfd\x96\xdd\xab\xd7\x8c\xd4\x04\x46\x02\xfb\xd2\xba\x34\xfa\x90\xed\xef\x52\xdc\x85\xe7\x7f\x4f\xdf\x57\x57\xd1\xe9\x15\xc4\x39\x94\x8c\x72\xa3\xc5\x85\xd4\x2b\xe6\x9a\x03\xd5\x75\x2a\xec\x80\x55\xf3\xb3\xbe\x62\xd5\xe9\x56\xd0\x7a\x87\xd4\xbe\x9c\xb2\x09\x41\xb6\x61\x05\x7e\xcc\x3b\x8b\x1e\x0f\xaa\xf9\xb9\x14\x39\xf6\xe3\x75\xb8\x81\x86\xbf\x0f\x35\x76\x62\x6b\x30\x03\xa5\x02\xec\xb2\x5a\x09\xfa\x7b\x37\x1b\xf3\x2c\x24\x08\xe2\x2c\x40\x80\x5e\xb4\x66\x05\xa8\x1f\x96\x83\xf2\x79\x54\x11\x52\xc5\x54\x20\xa1\x46\xc5\xe2\xfb\x82\x50\x35\x5b\x60\xdf\x57\x73\x28\x27\xe6\x14\x66\xc5\xca\xbe\x7e\xe1\x60\xad\x1c\x53\x4c\x91\x7d\x1e\xc8\xc9\xc0\x3f\x50\x86\x15\xfa\xce\x1f\x87\xa9\x26\xe8\xee\xa2\xd2\x5a\xee\xf9\x2d\x72\x48\xec\x03\xd0\x60\xd5\xbd\x5a\x2a\x2e\x7d\x15\x70\x7c\x3f\x2e\xb5\x20\x9a\x59\xea\xb0\x4b\xd2\x64\x17\x55\xd8\x6b\x56\x51\xcd\x55\xc3\x13\x11\xef\xd9\xbe\x8c\x48\x87\x15\x65\x52\x31\x67\xc7\x48\xbb\x1f\x52\x71\x3b\xc5\xeb\x10\x50\x33\x08\x55\xa0\xfa\xb5\xb0\x6b\x3e\x48\x6f\xf4\xab\xd7\xf4\xae\x2b\xe3\xa7\x34\x09\xd9\x72\x05\x89\xde\x3b\x28\xd3\x28\x8a\x9c\x46\xe6\x3c\xd7\x92\x28\x67\x51\x7c\x63\x0a\x95\xc4\xaa\x6c\x50\xa8\x16\xf8\xfc\xc4\x1a\x90\x9f\x54\xf8\xa2\x5e\x14\xdf\x78\x9a\x12\xd2\x77\x45\xf1\x8d\x3b\x83\xe2\x61\xc6\x27\x82\x1e\x57\xc6\x1b\x53\x25\xde\x7a\x0d\x9b\x7a\x05\x49\xe9\x5b\xca\x77\x3a\x50\x8a\xbc\x5c\x0c\x79\xd4\xfa\x90\x9d\xa8\xcb\xf6\x9e\x3b\x8e\x52\x43\xe5\x63\x97\x75\xf6\xf6\xfe\xdd\x7f\x6e\x7c\x33\xbb\x8c\xf7\x95\x4c\x66\xb9\xf0\xdf\x82\x62\x11\x3f\x72\xd9\xba\x4d\x61\x26\x1c\x08\x53\xd9\x40\xcb\x96\xff\xa6\x09\xfb\xd5\xab\x36\xf3\x32\xca\x5b\x2d\x3a\xce\x41\xe1\xf7\x89\xe4\x11\xea\x7c\x35\xc5\x0b\x85\x1f\xb2\x38\xf7\xab\xf1\xe6\xae\x68\xac\xb9\xba\x61\x7f\x26\xf4\xbe\x36\x91\xbf\xbc\x4e\x53\x91\xa1\x7d\xe0\xcf\xc0\xcb\xe7\x71\x1a\x69\x66\xac\xbb\x21\xf9\x8a\x6b\xd8\x70\xd1\x47\x7b\x69\xbe\xf8\x86\xb1\x22\x2a\x33\x2d\xaa\xd7\xfe\x0d\x1d\x8b\xf4\x92\xf8\x61\xdc\x7e\xd3\x46\x69\x0d\xdb\x34\xca\x4f\xd0\x75\x9b\x47\xd1\xb1\x9e\xda\xdb\x58\xe5\x02\x92\x35\xa0\x32\xb6\xb6\xad\x27\x18\xaa\x2e\xd3\x33\xf8\xfa\x73\xbb\x1f\xa7\x38\x92\x86\xab\x5d\x13\xc9\x81\xe1\x14\xbe\x02\xb5\x6a\x74\x86\xba\x34\x15\x45\x72\xd0\xee\xcb\x68\xb1\x9c\x82\x26\x3c\x1b\xc5\x69\x97\xed\x4d\x6f\x03\x5a\x41\x33\x70\xe9\xf9\x32\xda\xf2\xa8\xc7\x7f\x6c\xfc\x94\xbb\x6c\x1c\x47\x91\x48\xfd\x77\xad\xb9\xe8\x5f\xc7\x79\x6b\xa6\x44\xd6\x42\x26\xd2\x85\xfb\x7b\xd0\x68\x22\x7f\xa9\x6a\xd1\xf0\xbc\x1b\x17\x89\xde\x92\x7a\xaa\x85\xfd\x04\xaf\x70\x3b\xb9\x2c\xc3\x5e\xee\x0b\xb0\x2e\xb3\x5f\xbf\xd4\x0c\xaa\xc6\x82\x47\x01\x3d\xc0\x67\x1e\x21\x14\xf4\xf7\xfa\x1b\x68\xd2\x1b\x0b\x91\xab\x8b\xbd\x2b\x8d\x62\xfd\x56\x41\x1d\xf0\x8a\xaf\x68\x25\x8c\x65\xfa\x80\xd5\xfa\x89\x1c\x5c\xd7\x5c\x1f\x7a\xb6\x47\x4a\xbd\x8d\xd3\xeb\xcf\xd5\xf3\x4a\xe2\xf4\xda\xe3\x12\xfe\x07\x85\x32\x9f\x99\x48\x6a\x4d\x86\x88\x50\x7a\x8c\x6e\x6b\x9f\x9f\xbc\x3c\xa9\xeb\xb5\x8f\x78\xa3\xcb\x7a\x32\xcb\x16\x98\x86\x87\xd5\x50\xe9\xff\xb9\x46\x47\x9b\x3d\xf2\xf2\x31\x14\x6f\x50\x41\x12\x32\x84\x06\x29\x55\xc8\xe1\xe0\xaf\xaa\xcd\xd8\x6b\x9b\xcd\x6f\x1a\x0f\xae\x19\x67\x7d\x01\x19\xf4\xc1\xae\x3f\x94\x99\xcb\x07\x2e\x26\xa0\xe4\xb9\x91\x71\xe4\xae\xb5\x03\x99\x24\xb1\x0a\x4c\x67\x38\xa8\x6a\x8c\xdc\xb6\xf0\xb5\x87\x15\x6a\x5f\x44\x88\x4c\x84\xc6\x88\xa6\x84\xbe\xbc\x5d\xdb\x3e\xe7\x7d\xd0\xc9\xe8\x6f\x5a\x9d\xaa\xe6\xcb\x36\x16\xad\x70\x97\xc1\xfa\xfa\x34\x3d\x94\x69\xde\x1a\xf2\x49\x9c\x2c\xba\x6c\x22\x53\x09\xb9\x5b\x4a\x2d\x34\x33\xe8\xb2\xce\xa3\xcd\x36\xa0\xd9\x69\xad\x45\x97\x54\xf4\xcf\x6d\x94\x40\xeb\xb6\x6a\xff\x41\x46\xc5\x16\xf4\xdd\x65\xd3\x6c\xd9\x61\x10\x74\x32\xcb\xf5\x31\x8c\x9b\x90\xdd\x8b\x27\x53\x99\xe5\x3c\x35\x54\x65\xb9\x4d\x89\xa5\x12\xb6\xfc\xab\x19\xe1\xaf\xcc\x44\x71\xf4\xb5\xa6\x61\x8b\x78\x16\x17\xd8\xe2\x5a\x28\x60\x74\x04\x9b\x63\x11\x12\xd8\x14\xb7\x04\x67\x10\xf0\xf2\xe4\xdd\x3b\x0d\xb8\x57\x39\xc6\xbb\x40\xae\x0d\xe4\x74\xe1\x00\x1d\xc9\xe9\x62\x5b\x08\x60\x95\x73\x20\xc0\x16\x57\x3e\x45\xdc\xe2\x94\x00\x5c\x8b\x45\x24\xe7\xa9\x03\xf1\x42\x46\x8b\x37\x62\xf1\x52\xce\xd3\x32\x20\xcf\x86\x0e\x59\x2e\x79\x9c\x7a\x09\x29\x8d\x21\x0d\x0d\x94\x19\x95\x44\x32\x0e\x2a\xa0\xa4\x5c\xb2\x87\xa3\xf8\xc6\xdb\x5f\xb6\xf1\x5d\x76\x98\x93\x74\x60\x18\xbf\xeb\x44\x82\x82\xed\x2b\x4f\x24\x6c\x51\xb1\x52\xc5\x5d\x60\xe7\xe4\x10\x69\xb3\x7c\x9a\xb4\xef\x72\x38\x24\x9b\x2b\xf8\x30\x90\x0b\x06\xb2\xc4\xe9\x02\x65\x29\x67\x06\x95\x53\xbc\x76\xbe\xe0\xa3\xe5\x9c\x11\x5a\xb4\xfa\x7c\xe4\x8d\x31\xf8\xf2\x2e\x28\x5e\x85\xc7\x32\x67\xf1\x36\x7e\x5f\xe6\xb9\x9c\x04\xc3\xae\x18\x91\x2b\xe2\xe7\x55\x61\x01\x7b\x42\xdf\xe4\x57\xcc\xe5\x94\x0d\x35\xca\x38\xe4\xf9\x4f\xc8\xac\x8f\xf0\xe9\x4d\x26\x68\x78\xe8\x8d\x08\xae\x83\xdf\x50\x39\x8a\x64\x81\x4a\x3a\x83\x79\x70\xdf\x02\x15\x1d\x0f\xeb\x2c\x78\x17\x42\x7d\xdf\x03\x1f\x47\xd4\x51\x27\x0b\x72\xb6\xf0\x3d\xfd\xcc\xd8\x64\x66\xc6\x42\x60\xac\x57\xa3\xb1\xaf\x98\x79\xbf\x92\x49\xb4\x74\xf9\xf4\x44\xc2\x85\x83\xe6\xa5\x35\x2b\xad\x55\xc5\x56\x2a\x51\xa4\x81\x56\x5a\x1f\x33\xa4\xb0\xcf\x60\x55\xd6\x43\xf7\x40\x85\xac\x03\xd7\x04\xee\x63\x7c\x00\x6e\x2e\xca\x32\x0e\x28\x3b\x3f\xe0\x09\xa6\x4a\x23\x27\x0b\x57\xc7\x24\x55\xb3\x09\x38\xc3\x20\x38\x9e\x24\xce\xa1\x8f\xae\xe7\xfd\xd9\x70\x28\x32\xb2\x7a\x2d\x30\x97\x1c\xe1\x1e\x0c\x94\x35\x05\x75\x7c\xd0\x45\x44\x39\xaf\x29\xe7\x64\xa1\xe5\x91\xe9\x54\xf0\xcc\xb8\x41\x38\x01\x03\x2b\xa2\xc4\x98\xe7\xb3\xaa\xdc\x97\xbe\x08\x15\x7d\x61\x34\xcc\x58\x61\xed\x1f\x5f\x13\x8f\xe9\x61\x95\xc8\x59\x0d\x06\x18\x27\x71\xbe\x30\x3b\xaa\xa6\x87\x71\x2d\x04\xe6\x95\xed\xeb\x19\x6a\xfe\x0a\xd5\x78\x20\xd7\x9d\x97\x2a\x19\xc1\xc5\xd6\xe7\xc9\x51\x2c\x3a\x8c\xa2\xc7\x54\x0d\xbc\x99\xf0\x9d\xaa\xb1\xd9\x74\xce\xb3\x48\xb1\x3a\x3c\x06\x5e\x2e\xd1\x97\x85\xf0\xe1\xdc\x62\xc9\xa9\x86\xfb\xc2\x60\x3c\x11\x8d\x36\x63\x9f\xd0\x75\x14\x88\xa1\x59\xe8\x7c\x24\x72\xba\x08\x52\xe1\xed\xf9\x98\x0f\xae\xdb\xa1\x63\xc1\x61\x26\xf8\x46\x47\x82\xd7\xbc\x4c\xfd\x15\xf8\x5b\xcf\x90\x3d\x88\x21\x81\xaa\x9b\x91\x8d\x08\x36\xca\xfc\x0a\xc7\x37\xb3\x28\xb1\x62\xbf\x48\x39\xb1\x06\xf0\x99\xca\xa1\x00\x2b\xf8\xe2\x61\xa5\x07\x53\x51\x6d\xa6\x45\x67\xa9\x72\x6b\xb8\x41\x0f\x49\xe3\xae\xc3\xb1\x1e\x49\xdf\xfa\xb0\xb6\xab\xa4\x75\x34\xc7\x3b\x3f\x70\x90\xc7\x59\x2a\x94\x51\x35\xa6\xe6\xc6\x0e\x3e\xd7\xa9\xcc\x0d\x38\xc3\xb1\x68\x26\x66\x02\x7a\xf4\x2c\x11\x37\x22\xc1\x0c\x88\xe4\xef\x03\x36\x27\xe3\xdc\x66\x45\x78\xd0\x1d\x04\xa2\xf9\x8d\x63\xe3\x51\x7c\x53\x9d\x55\x8d\x16\xf5\x7d\xcf\x1e\x2e\xe4\xfe\x35\x9f\xcf\xdb\xf3\x07\x6d\x99\x8d\x76\xf7\xf7\xf6\xf6\x76\xd5\xcd\x08\xee\x2c\x37\xfe\x79\xa5\xbb\x28\x88\xe6\xb7\x93\x24\x55\xe8\xa0\xbf\x14\xce\x4a\x00\x37\x22\xd3\x37\x0c\x0d\xa2\xd3\xee\x94\xda\x2e\x3b\x13\x57\xab\x51\x72\x39\x2d\xa8\x63\x12\x31\xcc\x0b\x8f\x2a\x88\x55\xd3\x9f\xad\x90\xa6\x44\x1a\x91\x1a\xd9\x68\xab\x0c\x35\xfe\x15\x69\x0b\x0a\x90\x71\x74\xc8\x62\x63\x20\x6c\xe5\x95\x5e\x42\x48\x03\x3e\xcd\x67\x54\x88\x17\x5a\x46\x2e\x63\xf5\x10\x53\xfb\x6a\x9e\x41\x01\x9a\x72\x22\xb4\x54\x3f\x1f\xcb\xff\x9f\xbd\xbf\xef\x72\xe3\xb6\xf2\xc4\xf1\xff\xf5\x2a\x60\xef\x8e\x48\x5a\x24\xbb\xe5\xd9\xec\x26\x6a\x77\xe6\x48\x2d\x69\xa3\x5f\x24\xcb\x47\xdd\xb6\x33\xe3\x78\x35\x60\x15\xc8\xae\x74\xb1\x50\x53\x28\x36\x9b\x1e\x6b\x5f\xfb\xef\xe0\x5e\x3c\x5c\xa0\x50\xc5\x6a\x59\x4e\x32\xd9\xaf\xcf\x9c\x89\x9a\x05\x5c\x3c\x5d\x00\x17\xf7\xe1\x73\x21\xcb\xb6\x97\xdb\xa0\xea\x15\x6f\x36\x88\x4f\x97\xd8\xa7\x9a\x2a\x6f\x04\x27\x73\x48\x2b\x8d\x7d\x53\x85\x75\x92\xf3\x3f\x34\xfb\xfe\x6d\x44\x9e\x4c\xee\x29\x43\x7f\x33\x4b\x52\xdf\x9d\x39\x4d\xfc\x04\x2f\xab\x50\xe1\x31\x91\x35\xcf\x60\x95\x4e\xfb\xba\x69\x94\x2e\x2f\xf2\xa2\x05\x8f\x70\xe2\x2f\x38\x7c\xf6\x50\x2a\x3d\xb4\x7b\x9f\x21\x7a\xbe\x5f\x55\xf5\xae\xb5\x22\x3b\xfa\xc7\x7d\xe3\x2b\x5f\xd9\x12\x5d\xf9\x1d\x6f\x6d\xe3\x36\x18\x9a\xe6\x8d\xf3\x2c\xf8\xe6\xb8\x37\xaa\x61\x17\xfd\x22\xdd\x4a\x89\x3a\x00\xbc\xac\x5d\x8c\x43\x6d\xd4\xa7\xd4\x6f\xcd\x22\xc7\xe9\x9a\x2f\x91\xd0\x77\xbc\xdc\x39\xef\x8c\x8b\xcb\xcb\xe0\x29\x0c\xd7\x9d\xbe\x7e\x2c\x6d\xeb\x47\x4f\x9a\x60\xec\xd2\x3b\xfd\xfa\xa7\x33\xb4\xb1\x4c\x35\x2e\xeb\xf6\xbd\xef\xf5\x5b\xc8\x9e\xce\x4b\x76\x0b\x1d\xd1\x0d\x39\x99\x3f\x1c\x20\x86\x1c\xe8\xff\x9e\x8b\x35\xdf\x95\xe8\xf7\xec\x00\x42\x4d\x66\x41\x83\xae\xe6\x20\x13\x8f\x6a\x90\x95\x68\x5f\xfa\xe9\x20\x6a\x64\x3f\x49\xf3\xb0\xcf\xa1\x1b\x1e\xd1\x38\xac\x03\x3a\xee\x0f\x1b\x58\x96\x20\x92\x24\x83\xa3\xd7\x9d\xba\x74\xd3\x74\x1e\x76\xe1\x2c\x36\x93\x8c\x26\x83\xe0\xb2\x5e\x93\xaf\x0e\x55\x76\x41\x63\x09\x2c\xff\x0d\x4c\xd9\xa6\x6f\xca\x70\x50\x14\x0f\xa2\x6f\x82\x22\x1e\x6f\x19\xb7\x81\x26\x5e\x2f\x46\xd3\x4e\x78\x79\x2e\x62\x6d\xca\x0b\xd5\xae\x2c\xe7\x70\x07\x23\x48\x88\x25\x99\x29\x78\x19\x97\x92\xe7\x20\x0e\xe8\xf6\x8a\x16\xf2\xeb\xd9\x6a\x4c\x36\x10\x8a\x72\x2d\x42\x76\x02\xd8\x12\xcc\xa9\xeb\x3c\xf8\xf5\xf6\xab\xeb\xb2\x10\x39\x69\x60\x0c\x9f\x7d\x8b\x4a\x41\x3a\x63\xbb\xa6\xf4\xe1\xef\xee\x8f\xe3\x4a\xc4\xeb\x46\xac\x27\x73\xa6\x6b\x50\xb3\x52\xb7\x9a\xb7\x9c\x7a\x4b\x13\x55\x58\x77\xf5\xab\x1d\x1a\x34\x6f\xad\x33\x9f\xf7\x35\x42\xfb\x1f\x35\x42\x31\x52\x7b\x1a\x39\xc6\x79\x78\xff\x76\x38\x2e\x50\xb9\x43\x99\x69\xf7\xe9\xef\x7e\x1f\xc3\xdd\x8d\x20\x59\xec\xee\xc3\xe2\x90\xa2\xf1\x68\x1b\x6a\xb0\x0d\xa0\xd1\x7b\xca\x64\xa6\xf8\xb8\x96\x36\xa2\x7d\x16\xe6\xe4\xbb\xcf\x68\xa2\x74\x7e\x63\xc6\x35\xd0\xda\xf0\xb8\x56\x9d\x8a\xa3\xe7\xd2\xb7\xf9\x6a\xcb\x37\x81\x31\xb0\xd0\x3f\x8c\x68\xd3\x56\x84\xf2\xf7\x6b\xd3\x44\x60\x79\x87\xed\xe2\xa7\x31\x2d\x9a\x6a\xba\xf4\xfd\xda\x23\x30\x0a\xae\xcd\x10\xac\x68\xb0\x5d\x52\xdd\xd6\x1a\xd3\xfe\x45\x10\x53\xe0\x96\xd4\xfd\x4a\x5a\x0e\xc2\x0f\xfc\x1f\x31\x80\xae\x09\x1b\x02\x11\x0d\x62\xde\xac\x6a\xc7\xc7\x86\x84\x11\x9a\x57\x2e\x35\xb1\x7b\x42\xd9\xfb\x21\x7c\xd7\x43\xa1\xa3\x27\xf2\x46\x98\xe0\xa6\x78\x01\x89\xaf\x20\x7e\x41\x22\x1b\xd1\x5e\x94\x85\x7e\x12\xea\x6b\x32\xd2\xa1\xbb\x5d\x84\xe7\x9f\x15\x7b\x21\xdc\x0a\xff\x40\x0b\xa4\x11\x7d\xe1\x77\x9b\x3e\x7e\x28\x3a\x44\x9f\x8a\x43\x13\x17\xa6\x6a\xee\x9f\x39\x9b\x0d\xaf\xc8\x37\x80\x98\xe8\x73\x62\x7c\xf4\xb4\x59\xb8\xaa\x81\xd3\x24\x98\xe2\xe9\xcc\x8c\x78\x68\x3c\x3e\x4a\xa7\x77\x40\xe3\x7a\x87\x21\x56\xf7\xeb\x1e\x36\x9e\x40\x8a\x0a\xdc\x3a\xcd\xfb\x5e\x96\xb9\xea\x06\x7a\xdb\x70\xf9\x7b\x7b\x32\x10\xef\xb9\xe1\x4e\xbb\x5b\xb5\x17\xd1\xca\x2a\xc6\xdc\x03\x35\xea\xf0\x2f\xee\x28\x4e\x9a\x71\x95\x39\x7e\x99\x04\x1d\xbd\x28\x41\x87\xb7\x6b\x21\x95\x18\xe4\xcc\xce\x6d\x50\xe5\x71\x29\xaa\x11\xfa\x28\x82\x44\xdb\x69\x29\x60\x30\xac\x73\x44\xa8\x25\xed\xe9\x35\x22\x60\x11\xff\x67\x12\xc0\x1b\x6c\x2d\x38\x8f\xc0\x7d\xc2\xc5\x03\x62\x36\x70\x88\x5f\x87\xf8\x4b\x6e\x02\x3f\xe3\x37\xd9\x5b\xf0\x34\xbe\x57\x50\xb3\x5d\x43\xfb\x1e\xb2\x50\x04\xf7\x5e\x4a\x25\x5a\x1a\x0b\x3e\x14\xf1\x6c\x5f\xa8\x66\xf6\x43\x65\x73\x6f\x8c\xb3\xbb\x8a\xae\x45\xbe\x2b\xc5\x3b\x98\x81\xe8\x85\xfb\xaa\x5a\xcb\x66\x1b\xa3\x1c\x38\xbf\xdc\x46\xca\x96\xc4\x2e\x00\x5e\x83\xdc\x42\xd2\x23\x88\xb9\x0f\xf4\xf8\x9a\x9e\xc3\x5b\xa8\x24\x2b\x65\xb5\x11\x8d\x7e\x5b\x16\x0e\xc3\xe1\x92\xa4\xb7\x33\xd6\x75\x92\x94\x9b\x23\x80\xc1\xba\x3b\x36\x00\x9b\x42\x8e\x99\xce\x58\x25\xf7\xd0\x98\xd9\x76\xfa\x19\x5a\xb5\x45\x23\xca\x03\x84\xf3\x0b\x9f\xd2\x18\x22\x38\x8a\x96\xe5\x45\x6e\x94\x44\xa8\x91\xb4\x68\x02\x9a\x4c\xe5\xa3\x6a\x68\x0f\x02\x1f\x1c\xef\xab\xe8\xb2\xc2\x23\xd4\x04\xb2\x04\x46\x6b\x64\xc0\xb3\x79\xc0\x9c\xea\xa6\xa8\x95\x99\x34\xa4\xea\xc0\x03\x80\xec\x5a\xbf\x7f\x90\x39\xd1\x7b\xce\x4c\x87\xbe\x5f\x57\x18\x32\x0e\x81\x20\x06\x49\x80\x61\x42\xbd\xe8\x78\xbe\xe6\x8a\xad\x20\x2c\xd1\xd8\x5d\x00\xf0\xdc\x69\x65\x7d\xec\xec\x35\x57\x51\x47\x07\x59\xb4\xa8\x60\xf1\x22\x17\xaf\x74\xce\x24\x67\x13\x89\x62\x1f\x68\x3a\x21\x9b\xe6\x84\xda\x41\x28\x58\x63\x90\xc2\x32\x9d\x44\x85\xa0\xef\x1a\x6d\x5b\x5f\x3e\x14\x92\x09\x25\x0e\xc5\x18\x3c\x88\xec\x69\x75\x0b\x76\x8f\xfa\x9d\x0b\x3f\x77\xd7\xd6\x95\xff\x75\xea\xd0\x74\x70\x4c\x89\xd2\xcf\x82\x0f\x53\x42\x92\xa8\x9f\xf4\xfa\x7f\x87\xdb\xe8\x9d\xdc\xab\xf7\xb4\xd8\x3c\xa2\x7d\xfc\x15\x65\xb7\xfc\xab\x81\xf5\xf3\x99\xe4\x6c\xe8\x28\x59\xee\x34\x6c\x1a\x8d\xdd\x88\xe3\x4e\x43\x5e\x51\xa2\xbd\xc2\x2f\x53\xe7\xc1\x3f\xf5\x3e\x90\x26\x0f\x11\x38\xc1\xa7\x28\xd8\xc0\x1b\x28\xe0\x7f\x76\xee\x90\x88\xb9\x1c\x29\x31\xac\x96\x2e\x10\x67\xef\x77\x1e\x83\xbe\x26\x92\x47\xeb\xbb\x41\x95\x93\x29\x5e\xdf\xb1\x47\x6c\x52\xdf\x11\x1b\x4b\x9f\x6e\xa7\x2b\xdb\xd8\x0b\xee\x97\xf4\x7e\x93\xee\x7d\x20\x16\xd4\xbc\x51\xe2\x55\xd5\x4e\x07\xc6\x12\x76\xf2\x8d\xc1\xbe\x80\xf3\xc6\x74\xcc\x39\xf0\x7a\x14\x8b\xa2\xc2\xc8\xf8\x0e\x72\x08\x55\x3b\xee\x51\x26\xbc\xb2\xcb\x64\xfe\x6e\xa5\x05\xc1\x80\x43\x6b\x52\xc9\x66\xcb\xcb\x09\x2b\xd6\xf6\x86\x95\xdb\xa2\x35\x39\xde\x3c\x52\xad\x87\xdb\xf8\xc0\x9e\x46\x00\x1c\xe6\xfe\x3e\x3a\x67\xa6\xdd\x8b\x08\xcd\xc3\x4d\x9e\xef\x35\x41\x49\xc4\xab\x09\x20\x3a\x02\x7d\x8b\x43\xed\x88\xb4\x2f\x7d\x16\xbc\xa0\x5a\xaf\x71\xe5\x98\x79\x25\x65\x60\x49\x9a\x58\x92\x46\x96\xf0\xbb\x7d\x36\xf1\x5d\x2b\x89\x2f\x53\x58\xc8\x3c\xa1\x3a\x65\xac\x26\xcc\x64\xa1\xb7\xae\x6e\xc6\x9b\xd5\xc2\x4f\x70\xa6\x6a\x0e\xd6\x95\x2d\xbf\x21\x6c\x95\xf1\x32\xdb\x95\x10\xaf\x66\xa9\x84\x30\x3f\x45\xc5\x5e\x16\x8d\x58\xcb\xbb\x68\xea\x2e\x6b\x5e\x1d\x9f\x75\xdd\x6a\x77\xda\xa1\x6e\xe4\x03\x39\x9d\xfc\x29\xf1\x5f\x3a\x3c\xa1\xf3\xdf\x3f\x4e\xdd\x04\x8b\x76\xbd\x77\xdc\x1c\xda\xc5\xf7\x3f\x3f\xe3\x4a\x94\x45\x25\xee\xb7\x34\xc8\x3c\x7b\x5e\xb5\x88\x1f\x81\x21\x42\xd6\x24\x77\x2d\xd8\xca\x90\xed\x6b\xad\x7b\x30\x4f\x4e\xcd\xa1\x9c\x2e\x1f\x39\xc0\xfe\x29\x52\xd0\x13\x36\xf1\x94\xbf\xb7\x8f\x5b\x72\xaa\xfd\xfc\x33\x28\xf7\x47\xf8\x80\x98\xa3\xc3\xe1\xf9\x41\x0b\x47\x34\x1d\xf1\x4c\x13\xed\x48\x04\x3d\xe4\xc8\x99\xd7\xfe\x49\xb0\x84\x34\xd1\x2b\x06\xc6\x0e\x7b\x66\x7b\x6a\x78\x36\x50\x7b\xd9\x10\x53\xb8\xf9\x45\x57\x63\x4d\xc0\xae\x9c\xe5\x87\x68\x1d\x10\xfe\xf9\x4a\xd6\x67\x51\x03\x1d\xbd\x75\xa7\x81\xee\x9c\xa7\xeb\xd0\xb2\x09\xa3\x7c\x8f\x9f\xe6\xed\x86\x0c\xe2\x27\x29\xb7\x2f\x79\xd6\x82\x82\xd4\x5b\xc6\xa9\xb3\xc2\xd9\xb1\x26\x3a\x9d\x33\x4d\xf8\x6b\xda\x2b\x25\x93\x11\xc2\x31\x5a\x55\xf7\x2d\xdc\x88\xc5\x96\x5c\xdc\x2e\x0f\x6d\x08\x72\x05\x81\xe8\x39\x98\xcf\x3d\x42\x8b\x81\x4f\xe3\x15\x43\x5f\x70\x38\xa9\xdb\xec\xb8\x62\xaa\x23\xee\xf4\xa9\x08\xa2\x32\xf0\x63\xea\x22\x9e\x7a\x56\xd7\x2b\xed\x34\x4a\x5d\x2a\x86\x39\x63\x01\x2c\xe1\x64\x7e\x6d\x89\x78\x8a\x83\x0e\x80\x43\xe5\x63\xb7\xbd\xa1\x2a\x5d\x23\x33\x15\xc0\x11\x8a\x85\xe4\x55\xfe\x1e\xa3\x64\x27\x90\xf2\x73\xb5\xdb\x6c\x20\xad\x99\x60\x3c\xcf\x99\x89\x43\xb0\xb8\x6d\x9a\xa5\x1c\x0e\x13\xbc\x2e\xad\xbb\xa4\x25\x66\xd4\x50\xf8\x2a\xb7\x5e\x5f\x29\x33\x11\x09\x8b\x30\x8d\x5c\xc9\x9a\x9d\xbb\x03\xe2\x68\x71\x7c\xe8\x90\x1a\xff\x0c\x46\xbd\xe3\xcb\xf5\x21\x94\x8b\x95\xd0\xef\xf5\xad\xa8\x14\xe0\x46\x69\x3e\x25\x5a\x3e\xf3\x92\x6d\xa5\xf5\x94\x03\xad\x04\x37\x6f\x5a\x63\xab\xd4\x84\x08\x09\x23\x4e\x7b\xa7\xb5\x31\xaa\xae\x01\x1e\xee\xc5\x12\x8a\x4e\x70\x04\x39\x0d\x94\xd5\x6c\xd1\x35\x19\x67\xbe\xf0\x59\x60\x1b\x0e\xf1\xaa\x82\xa7\x85\x79\xb5\xaa\xe7\x6e\x94\xef\xc9\x8e\x49\x3d\xd5\xea\xdd\xaa\x2c\x94\x4b\x5c\xe9\x62\x73\xd8\x7f\x12\x08\x9b\x27\xa8\x93\xf9\x60\xef\x85\x68\xf8\xf8\x1f\x06\x4c\x43\x9d\x77\x72\x7f\x25\x71\xe1\xa7\xf0\x73\x42\x69\x03\xb8\x5a\xd3\x99\x83\x53\x70\x04\x62\xbd\x14\x7e\xfc\x90\x7e\xda\x39\x20\x7d\x70\xbf\x23\x8f\x24\x07\x25\x68\x59\x7d\xd4\x59\x95\x98\xbf\x1e\x2b\x04\xb5\x52\xa4\x14\xd7\x7e\xc9\x12\x88\x6e\xbe\xf6\xd2\x25\x2a\x8f\xca\x7a\x74\x37\x52\xf8\xda\x9f\x1c\x28\x14\x01\xc0\x9a\x13\x8d\x00\xb3\x8b\x5b\xe4\x19\x98\x82\x95\x30\x50\x73\x01\xb6\xa5\x6a\xf5\xc6\x73\x20\x68\x20\x82\x5b\xfc\x37\xeb\x1e\xb5\x2e\x25\xa4\x65\x3f\xb0\x35\x14\x96\x06\x06\x0c\x77\x9a\xf3\x7a\xba\x75\xea\x89\x0b\x93\xb3\x1a\x10\x62\x97\x6a\xcb\x9b\xf6\xa5\xa6\xf1\xbc\xd0\xeb\x6e\x19\xac\x33\x9a\x79\xff\x61\x40\x9c\x0d\x45\xc5\x32\xb9\xad\x77\xad\x88\x80\xc3\xe4\x4e\x3f\x34\x5b\xb1\x69\x78\xc9\xaa\xdd\x76\x25\x1a\x03\x0f\xa8\x2c\x3a\xb3\xef\xa2\x0a\xef\x8b\xb8\xef\x03\xe7\x52\xd0\x13\xb0\x3c\x18\x8d\x62\x26\xd8\x4a\xb4\x7b\x21\x02\xef\x56\xd3\x3f\x0e\x78\xd1\xad\x99\x38\xf3\xa3\x7e\x05\x29\xe7\x3d\xba\x12\x6c\xcb\x73\x70\x1f\x84\x13\x4b\x81\x53\x34\x86\x9b\xa1\x93\xa1\x7d\x35\x35\x22\x93\x4d\x8e\x3b\x11\x3d\x73\x94\x64\x45\x6b\x7d\xd8\x2a\xab\x18\x64\x25\x6f\x11\x7d\x2e\x17\xb8\xa8\xce\x11\xdc\xea\x8a\x12\xab\x77\x25\xeb\x37\xd0\xa8\xcd\x50\x15\x7d\xc7\xdd\xec\x8a\x74\x96\x91\x2d\xba\xf3\xec\xf7\x40\xe4\x8e\x8d\xc3\xb3\x37\x43\x7f\x57\xec\x65\xf0\xc0\x2b\xde\x34\x99\xb7\x41\xe2\xe2\x5e\x95\x63\x22\x7d\x68\x02\x58\x26\xa4\xf9\xa8\x73\x5a\x9b\x73\x36\xa1\x42\xec\x49\x1d\xfc\x21\x0a\x0a\xed\xde\x38\x81\x75\xca\xc5\x84\x74\x03\x40\xac\xd7\x90\x31\xea\xc5\xa7\x46\x2c\xda\xc4\xf5\x9c\xd0\xd1\xdd\x00\x8f\xe2\x61\x0f\x53\x2a\xc5\xba\x25\xf0\x12\x70\x3d\xa1\x6c\xfe\x5a\x7f\x39\x52\x5b\x33\x74\xb2\xb2\x96\x24\x16\x3d\x3d\x39\xa6\xcb\x8c\xee\xc1\xee\x29\x0d\xa9\xac\x95\x15\x8e\xad\x67\x76\x23\x38\x71\x5b\x07\xa4\x64\xb9\xdb\x5c\x43\xa8\x2d\x2e\x84\x62\xe2\x56\x34\x87\x00\x8f\x30\x86\x82\xec\x33\x44\x98\x3b\x6d\xc0\x15\xdb\xad\xc9\xb4\x5f\x04\xfa\x62\xcc\x03\x3d\xd1\xaf\x51\x0f\xfb\xfe\xbd\xf6\x11\xb5\x83\x43\x61\x9c\x5e\xa1\x86\x60\x42\x7a\x93\x9b\x0b\xdf\x59\xe3\x20\xd2\x04\x9e\x5c\x8c\x5b\xd4\x22\x70\xf1\xb2\x4f\x9a\x57\xc6\x4c\xba\x15\xed\xb5\xcc\x01\xb6\x08\x0d\x34\x06\x7b\x13\x9d\xee\x95\x75\xff\x05\x69\x00\x29\x5f\x73\x65\x64\xc2\x0c\xfd\xf7\xbf\x60\xcd\xae\x22\xa0\x67\x58\x4c\x66\xd9\xae\x19\xe1\x3e\x16\x88\x2a\xa3\x74\xe9\xd8\xc0\x47\xe8\xd1\x1b\xdb\xc6\x47\xe9\xd0\xb1\x76\xa0\x3f\x77\x90\xb7\x7d\xca\x73\x33\x2a\xfa\x54\xec\x60\x27\xea\xe7\x7b\x6e\xb5\x30\x5d\x10\x4e\x2b\x9c\xd9\x85\x83\x17\x0c\x36\x5c\x54\x9b\x39\x3c\x5e\x1a\x01\x6e\xd4\xeb\x5d\xe9\xf4\x7f\xca\x21\x32\x39\xcb\x38\xe2\x8f\x23\x46\x22\xe4\x2d\xb1\x9e\x81\xae\x51\x0f\xb9\x02\x66\x46\x2d\x0f\xed\xc0\x8e\x0d\x7e\xfe\x07\xb6\xe7\x87\x25\x63\xcf\x25\xc0\x35\x48\x23\x0c\x69\x49\x68\xd7\xac\x2c\x31\x47\x04\xa3\x57\xb2\xd2\xb8\x2d\xee\x6a\xc6\xd7\x2d\x22\xbf\x59\x39\x0a\xc5\xaa\x75\xc9\xd5\xb5\x50\x98\x40\x4a\xb5\x16\xac\xbe\xa8\x2c\xb4\x36\xe9\x17\x60\x94\xab\x76\xc9\xd8\xab\x4a\xb5\x82\xe7\x30\x01\x98\xc9\xc9\xa1\x71\x21\xa8\x96\xfe\x53\x09\x0f\x85\xad\xc5\x00\x00\x54\x57\x2d\x57\xd7\x51\xf4\x08\x4c\xcb\x09\x40\x13\xee\x5a\x55\xe4\x22\xbe\x66\xe0\xd0\x43\xc5\xb9\xc3\x85\x77\xd9\xe7\x94\xb3\x72\xda\xe2\xc6\xaf\xf3\xde\x96\x6b\x0b\xe9\x9c\x7e\x1d\x81\x9d\xda\xbd\x8b\xd5\x7b\x7a\x4a\x3a\x64\x0c\xbd\xdd\x03\x60\xa2\xc4\x6b\xe7\x88\x57\x81\x41\x33\xfd\xab\x9b\xe9\xae\x8c\xd4\x11\x15\x21\x25\x9e\x79\xf3\xe6\xb4\x63\xba\xfb\x38\x83\xdf\xb8\xa7\xdf\xa0\x5d\xb3\x77\x2e\xcf\xc6\xa2\x72\x43\xa1\x18\x0d\x78\xea\xdf\xb3\xf1\x9c\xdb\x1c\xbd\xb1\xf4\xfd\xfb\xf3\xc4\xa5\x16\xa5\xcc\xaa\xc2\xb3\xa1\xea\x8d\x75\x6c\x84\x4b\x83\xe0\x3c\x09\x82\xfb\xa3\xb3\x83\xf4\xde\x3d\xc1\xc3\x85\x64\x69\xf0\xb4\x83\xb0\x44\x97\x4f\x20\xe1\xe2\x81\xa0\x96\xad\xc1\xaf\x03\xd5\xdb\x4a\x18\x9d\x1a\xc9\xa6\x80\x5b\x11\xe4\x10\x4d\x8d\x5c\x56\x6e\x14\x53\x8c\x10\x6e\x54\xcb\x30\xc0\xd1\xbe\x65\xe7\x8c\xdf\xf0\x40\xda\x9d\x91\xc1\x55\xb2\x9d\x87\x84\x6c\x27\x3c\x3d\xf2\x28\x86\x5a\x10\xbf\x95\x35\x05\xc6\x14\x9a\x0e\xfa\x3b\xd6\xa5\x59\xd8\xda\xe9\xf0\xb3\x87\xa7\x94\x39\x5b\x35\x31\x77\xbc\x7a\xef\x9b\xce\x31\x4d\x4f\x41\xbc\xa0\x95\xf3\x30\xd3\xe7\x20\xc6\x35\xb8\x49\xf3\xc7\xe2\xf6\x38\xfe\x0c\xd9\x8d\xf4\x30\xa2\x1b\x33\x32\xdc\x91\x13\xc8\x42\xa1\xfd\xfc\x33\xf5\xcd\xee\x16\x20\xd0\x4f\xe7\xac\x43\xda\x3c\x00\x08\xb2\xa2\x73\x45\xf1\x21\xb8\x76\x79\xe6\x18\xad\x44\xef\x3e\x81\xeb\xa6\x67\x81\xb9\x20\x49\x5c\x39\xc0\xa1\x5c\x3a\xff\xf2\x48\xe2\xf6\x40\x9a\xce\xad\xc2\x05\xaf\xd2\x01\xf9\x1a\x45\xa5\x44\xd3\x3e\x03\xf6\x0b\xa3\x5d\xe7\x71\x51\x4f\xdc\x9a\x76\x12\x38\x5b\xf1\x8c\x52\x5c\xa2\xbe\x49\x35\x98\xad\xc7\xa7\xf4\xad\xcd\xe4\xe2\xd6\xa9\xa0\xfb\x5f\x4f\x5a\x34\x35\x89\x95\xa3\x0e\x25\xbf\x7c\x92\x46\x48\xbd\x23\x3a\x32\xeb\x84\x8f\x9c\x9c\xb0\x67\xb2\xbd\xf6\xbe\x53\x23\x87\x69\xe6\x72\x70\x90\x4e\x5c\xfc\x35\x87\xd9\xed\xc8\x2c\x40\x46\x85\x64\x05\xc5\x16\xa4\xb3\xa2\xd2\xfb\x59\xe4\x05\x6f\x05\xe8\xc8\x15\x8e\xcf\xbc\xd7\xc7\xad\xe4\x83\x63\x7d\xe9\x1d\x77\xd7\xfa\x72\x7c\xb1\x08\xfe\x16\xf4\x72\xc4\x4e\xec\x52\x0d\x7d\x05\x06\x4c\x55\xe9\x3d\x18\x29\xc9\xd3\xd7\x63\x7f\xcc\xff\x27\xb9\x21\x3d\xf9\x5f\xf9\x86\xb4\x22\x78\x38\x8e\x29\x76\x34\x93\x55\xde\x7f\x49\x7a\xcf\xb2\xe4\x3d\x49\xe9\xd1\xab\x12\x12\x25\xfc\x83\xdf\x94\xcf\x02\x1c\x03\x77\x59\x46\xa2\x66\xef\x7d\x69\x20\x42\xc7\x1e\xec\x5f\x9d\xc7\x42\xec\xb1\xeb\xd2\x9f\x7a\x64\x95\xc6\xde\x98\xb0\x80\xc3\x17\xa6\x2e\x12\xee\x52\xea\x86\x98\x3e\x2e\x8e\x23\x38\x7c\xb2\x9b\xb1\x2b\x6e\x0c\x4d\xa1\xbb\x1e\xcd\xb2\x14\x74\xf7\x27\x6e\x0d\xd2\xef\xe4\x85\xd1\x39\x40\xc7\x5e\x1b\x84\xf0\x47\xdf\x1c\x23\xae\xc4\x4f\x34\xb8\xf8\x34\xfe\xd5\x07\xe8\x1a\xfc\x7f\xe9\x42\xec\xee\xb4\xbe\xee\x8c\xbf\x0d\x1d\xcd\xe3\x97\x21\x30\x0d\x35\xd5\x68\xf1\x1b\x30\x71\xfc\xb9\xa2\x86\xaf\xc5\x2b\x72\xce\x73\xa5\x76\x5b\x9b\x62\x2d\x50\x00\xcc\x80\x6a\xfc\xe2\x9f\x21\xe4\x38\x2f\x1b\xc1\xf3\x83\xd1\x3c\xa2\x9e\xc9\x5f\x76\x50\x04\x94\xed\x9a\x07\xec\x7d\xea\x2f\x90\x46\xee\x09\xf8\x2b\xde\xca\x0f\x30\x53\x84\xff\x55\x54\xf9\x2c\x18\x28\x8c\x8c\xdc\x5f\x8d\xc8\x0e\x59\x29\x14\x75\xe1\x07\xb8\x94\x6b\x11\xa7\xc4\x32\x8e\xe5\xb5\x54\xd0\x15\xf4\x45\xb7\x09\x0a\xad\xda\xac\x91\xfb\x4b\xcc\x44\x69\x35\x78\x95\xb0\xc6\xd7\x62\xcd\x2a\x91\x09\xa5\x78\x73\xf8\x47\xbd\x42\xa9\xc2\xa6\x93\x01\x61\x48\x81\x33\x84\x7f\xff\x47\x21\x6a\x8c\x73\xc6\xc0\xe9\x5c\x28\x93\x3d\x16\xdc\x3e\x20\x27\x1f\x8e\x13\xe1\x6d\x5d\x72\x3a\x51\x81\x81\x56\x34\x06\x5d\x07\x70\x0e\x00\x23\x99\xb1\xab\x6b\x9b\x2a\x72\xcd\x8b\x72\xd7\x88\x00\x4c\x1d\xf7\xd9\xb7\x9a\x10\x44\x54\x04\xf4\x3d\x1d\xbb\x4b\xcd\x51\x44\x4a\xc1\xc6\xee\x94\x33\x97\x1f\x29\x37\x23\xde\x23\x9a\xa5\x27\xcf\x0b\x0c\x6d\x70\x7d\x37\x64\x60\xdc\x13\x73\xa3\x9a\x1c\x10\xa4\x39\x44\xd5\x5d\xa7\x6e\x6c\x47\xfa\x85\x25\x29\x82\x9d\xee\xf4\x2d\xa9\x76\x00\x49\x54\x70\x8b\xd7\x4e\x9a\xb4\x2a\xf4\xa0\x17\xf4\xaf\x6e\x68\x02\x73\xa4\x48\x4c\x76\x70\xa6\xd9\xef\xf1\x29\xaa\x65\xa2\x6b\xd9\xb4\xd7\x06\x88\x84\x41\x5c\x89\x32\x3e\x40\x1b\x69\x1c\x7e\x30\x92\xa9\x94\x2e\x1b\xb1\xe3\xfb\x4b\x8f\xeb\xde\x73\x88\x9f\xc5\x55\x5e\x58\xc8\xf7\xe4\x01\x1d\xaa\x4b\xf5\x84\xb3\xae\xd0\x44\x33\x38\x80\xa9\x14\xfb\x2b\xee\xf8\x16\x33\xe9\x50\xb0\x36\xb3\x55\x8b\x56\x34\xdc\x82\xe5\x8c\x8b\x21\xb1\x4a\x5e\x58\xc0\xe7\x0d\x77\xfe\x07\x6f\x78\x7b\xbd\xdc\x16\x98\xef\x30\xd6\x32\x8e\xb8\xac\x8f\x18\xf7\x50\xc0\xd3\xcb\x31\x05\x3e\x21\x2d\x9f\x9e\x91\x3f\xbf\x8a\xbb\x46\x3e\x3e\x7a\x44\x03\x5c\x1a\xa2\x76\x26\x2a\xeb\x47\xbe\x7c\x94\xc9\x44\x33\x3e\x79\xd2\xb8\x7d\x06\x3e\x21\x93\x5b\xc1\xae\x8b\xb6\x2b\x32\xef\xbd\x2b\x01\xca\x33\x8c\xc3\x41\x6d\x53\xbb\xb9\x70\x9b\x7d\x00\xb8\x2d\xda\xec\xda\xe8\x7e\x21\x75\xb2\xd7\x58\xbb\xad\x6d\xaa\x50\x67\x20\x8b\xfa\x5e\xca\xcd\xf4\xf3\x0b\x7d\x40\x57\x93\x96\x01\x31\x4c\x2d\xa4\xa9\x3c\x61\x9f\xb3\x47\xac\x43\x93\xb1\x55\x23\xf8\x8d\xf3\xfc\x79\x30\x42\x28\x33\x5d\x98\x33\x62\xa7\x87\x5e\xb4\x45\xb5\x13\x81\x98\xe5\xf2\xc1\xf8\x79\x3f\x67\x31\x68\xbb\xc7\xb8\xb2\xd1\x5d\xc6\x2c\x82\xf9\x9b\x01\xad\x6a\x8e\x17\x14\x2f\x65\xb5\xb1\x33\x38\x90\xee\x65\xb0\x43\xdd\x3d\xfb\xf0\x61\x77\x23\x8f\xe9\x72\xf7\xd9\x6e\x53\x39\x85\xe6\x1e\x7d\xb1\xcf\x2d\x92\x06\x5e\xd6\x70\x87\x78\x5a\x7b\x81\x09\xda\x30\xc5\x29\x83\x47\x4d\x78\x43\x54\x21\xb2\xfa\x65\x28\xd6\xba\xd9\xe8\x8e\xe3\xa3\xa6\xc6\x9c\x4d\x74\x62\x5e\x44\xef\xcb\x71\xd3\x22\xaa\xfc\xaf\x37\x29\x2f\xfc\x63\x26\x35\x25\x2f\x3a\x5a\xb2\x51\xcc\x1b\x20\xca\x5f\x7a\xa5\x35\xeb\x7c\x7c\x11\x49\xfa\xe8\x38\x26\xc8\xb5\xe8\xf4\xa9\x27\xa9\xfc\x66\x46\xe6\x0b\x7c\xcd\xc0\xeb\xc8\x10\x3b\x08\x63\xd2\x0c\x4e\x14\x48\xab\x27\x78\xfe\xff\xd4\xc9\x82\x8c\x66\x33\xa1\x61\x14\x28\xa0\x1e\xf1\x92\xf1\x95\x45\xff\x63\xc8\x20\x98\xcf\x6d\x02\x07\x8b\xdc\x35\xc6\x40\xfd\x4e\xc0\xd1\x62\xc9\x15\x24\xe1\x93\x4b\x01\x46\x62\x63\x75\x6b\x3e\x5b\xc2\x7d\x26\x38\x3d\xbd\xbf\x64\x72\xc9\xd4\x26\x98\xb5\xd3\xd4\xc7\x9c\x94\xf7\x5d\x27\x3a\xc8\xe0\xbd\xea\x24\xb3\xd5\x6e\xb3\xc1\xa8\xe8\xc1\x67\x67\x2a\x80\xb4\x43\x35\x50\xf6\xf4\x46\xb6\x3e\xe8\x3f\x33\xc8\x9d\x1e\x9a\x3d\x01\xfe\x48\xf3\xcf\x4a\xb6\xd7\x16\x70\x72\xc5\x37\xe8\x06\x6d\x8e\x2b\x80\x08\x77\x0f\x39\xeb\x92\x4d\x80\x3a\xac\x47\x01\xe2\xb8\xba\x00\xac\xc0\x7d\xd1\xea\x79\x93\xa9\x0e\x35\x1d\x13\x3e\xcc\x6d\xf2\x60\x85\x19\xc1\x20\xb9\x41\x90\x4d\xdd\xe2\xc8\xb2\x75\x81\x98\xaf\xbb\x96\xb8\x61\x1b\x08\x67\x07\xd4\x3b\x02\x62\x80\x38\x0f\x0c\xf9\xda\x04\x0e\xfb\x3d\x28\x48\x61\xa1\x28\xda\x87\xc6\x05\xf5\x51\xeb\xea\x24\x82\x92\xb3\x80\x15\x08\x0b\x1c\xef\x5a\xa7\xdc\x40\xef\x06\x68\x76\x3b\x18\x17\xee\x6a\x4c\xbe\xd1\x27\x4f\x10\xd3\x6e\x1c\x7b\x00\x36\x41\xae\x9d\x42\xc2\xf9\xa5\xc4\x4a\x91\x2d\x3f\xa0\x33\x95\x75\x45\x35\xa2\xbe\x75\xed\x7a\x7f\x74\xa5\xa1\x2d\x7b\x66\x45\xe8\x07\x7e\xae\x7a\xfd\x12\x7e\x30\xc5\x9c\x44\xf0\x23\xc2\x1f\xe0\xdb\x8d\x8c\xf5\x25\x1c\x69\xd4\x51\xdc\x21\xeb\x6e\x20\x49\x63\x61\xfc\x64\x3b\x41\x34\x2d\x26\x49\xc1\x2a\x76\xb7\xe1\x14\x15\x6b\xa2\x29\x91\x8d\xad\x01\x99\xb2\x99\xac\x80\xf1\x5d\x15\x8a\xf2\x80\x08\x79\xc4\x34\xe1\x26\xcc\x48\x9e\x75\x23\x37\x8d\x50\x0e\x2b\x84\x18\x4d\x72\x9b\xaf\x8f\x84\xf4\xe8\xde\x1c\x9d\xea\xe0\x7a\x88\xa6\x3a\xd2\x4f\xb8\x6c\x8a\x8e\x9d\xd3\xee\x24\x0f\x1f\x92\xf4\xa4\xd5\x80\xe3\x89\x65\x79\xfa\xcc\x4b\x16\xfc\xc1\x2d\x64\x47\x1b\x4c\xeb\xf6\x81\x42\x04\x97\x54\xb8\x21\x53\xec\x33\xf3\x7b\x2b\x60\x44\x7b\xfe\x3f\x88\xf2\x4b\x76\x41\x21\x79\x59\x06\x20\xcb\xb7\x85\xd8\xd7\xe3\xe2\xcc\x75\xfd\xa7\x65\x99\x8e\x37\x00\xb3\x1f\xbc\xc0\xa3\xc3\xae\xf3\x32\x0e\x12\xfe\x9c\x46\xca\x9a\x41\x07\xe9\xf1\xda\xe0\x5e\x0a\xc1\x6d\x6d\xfb\x9c\x96\x47\x4e\x67\xc9\x5b\x37\xb8\xd3\x2d\x85\x79\x64\xbf\x26\x35\x07\x5c\x9f\x22\x7e\x89\xbb\xd3\x07\x4d\xe1\x72\xa9\x19\x47\xa4\xc0\x25\xac\x5f\x2f\xc0\x16\xec\xf1\x59\x58\xf3\x2c\x71\x03\x24\xe7\x2d\x58\x33\xda\x6c\x6a\xf9\x7a\xec\x1a\xe3\x57\xaf\x8f\x40\xb0\x78\xa6\x17\xe9\xb5\x0b\xba\x98\x5c\x46\x6a\x22\x33\xa5\xbb\x2b\x12\xb5\x31\x66\x82\xce\x06\x53\x1f\xfa\x38\xb4\x38\xd5\x21\xcd\x1a\x67\x23\x88\x09\x7b\x9d\x46\x45\xc4\x5d\x2b\x2a\xd7\xf3\xb9\xed\x69\x22\x85\x2c\x71\xc2\xeb\xb8\x31\xa6\x71\x1d\xb6\xfc\xae\xd8\xee\xb6\xd6\x25\xdd\x45\x30\x05\x70\x09\x23\xe0\x9e\x64\x59\xbe\xe1\x77\xc1\xc9\x2d\x02\x60\x87\x69\x3a\x92\xa1\x8d\x3c\xd3\x67\x81\xe7\x76\xdb\xeb\x1f\x3e\xe8\xfc\xbd\x20\x24\x86\x9b\x85\x78\xb7\xd8\x05\x1c\x66\xc2\x5f\xbe\x6e\x3b\x98\x8b\x0d\xf2\x04\xac\x7b\xdd\x52\x29\xb6\x04\xc4\x02\x89\xe6\x83\xa7\x81\xff\xdf\x54\x37\xfa\x5e\xd4\x79\x1d\x73\xef\x76\xa1\x6c\x10\xf2\xd8\x77\x41\xb6\xc7\x3c\x55\xd3\xbe\x91\x8d\xd7\xf3\xdd\xcb\x1d\xd2\x07\xa0\xc9\xb2\xc4\x8e\x39\x52\x83\x81\x95\x0f\x86\x17\x38\xa2\xfc\x86\xdf\x85\x91\x6d\x86\xdd\x70\x33\x81\x5e\xc6\xf5\xe0\xf7\xbe\x0e\xde\xa0\xb4\x73\xee\x53\x78\x1a\x3a\x9c\x11\x5f\xf4\xdc\xd7\xeb\x78\xc8\xf7\xd5\xf1\x55\xc6\x21\x5b\x1d\x65\xb5\x30\x17\xc5\xdf\x84\xdb\x5c\x5c\xd4\x3f\x36\xc3\x0d\x9f\x28\x70\x1e\xbb\x26\x17\x1f\x19\xb1\x17\xf2\xe9\x57\xec\xb4\xcb\x9f\xa7\xbf\x3a\x5f\xa6\xaf\x01\xa7\x4e\xb1\xcc\x82\xee\x9d\x24\x36\x2c\x4e\xe6\x1d\x44\x5b\x44\xb7\x07\xe6\xe1\x1f\x78\x36\xa0\x8d\xb3\x21\x90\x84\x10\xc8\xaf\x1f\xf2\x5f\xa0\x3e\xe9\x0b\x78\x4f\xb4\xf6\xc0\x1d\x73\x0b\x5d\x05\x1e\xf6\x69\x78\xa1\xe1\x70\xd0\xf4\xfc\x0d\xc7\x84\x8e\x9c\x4f\x70\xfe\xf9\xfb\x98\x4e\x3c\x54\xc6\xcc\xe8\xb3\x38\x10\xa1\xdf\x7d\xd9\xa2\x3a\x06\x26\xa3\xe4\x2e\x01\xc9\x94\xcc\xda\x1f\x00\x06\x1f\x93\x50\x99\x81\x83\x1e\x46\x51\x54\x57\x9b\xad\x2b\xc8\x4b\x09\xda\x1f\x2f\x3b\x4c\x14\xd9\x4a\x36\x99\xa4\x89\xb9\x57\xa0\x03\xc2\x79\xda\x72\x50\x09\xe4\x3b\x61\x8f\x59\x48\xb4\xb2\xe5\xd5\x8e\x97\xe5\x81\x18\xfa\x6d\xec\x10\xbc\x9f\x39\xce\x38\xdf\x6e\x79\x5b\x64\x86\xee\xd1\x59\x74\xa9\xd0\x12\x92\xd1\xc8\xd0\x6d\x77\x70\x84\xf1\x96\x9f\x91\x13\x32\x88\xe8\x76\xde\x5b\xdd\xb0\xd8\x6e\x1d\x13\xd9\x3d\xa3\xd9\x74\x0b\x65\xa6\x59\xcf\x14\x2f\x95\x84\xf9\xa6\xea\x13\x88\x64\x9c\xae\x76\x6d\x18\xd6\x06\x3f\x43\xd5\xcf\x66\xcb\x80\x9e\xc9\x76\xd1\xcd\xc2\x82\x19\x79\x82\xd9\x66\x5c\x05\x99\x9c\x90\xae\xa3\xf7\xaa\x32\x01\x49\x00\x36\x08\x96\x44\x1b\x72\x5e\x6c\x2a\x19\x20\x0f\x9a\x71\xf0\x2a\x67\xa5\x68\x99\x4d\xd7\x69\x49\x61\x06\x06\x63\xc9\xc6\x5d\x66\x4d\x0b\x73\x74\x0b\x05\x17\x86\x9c\xed\x6a\x43\x90\xc0\x5a\xec\x1b\x09\x21\xeb\x98\x30\xc6\x45\xfe\x83\x5f\x28\x0f\x3a\x8d\xaf\x11\x87\xab\xc1\xba\x0e\x79\xa6\x04\x09\x82\x43\x25\x84\x81\x43\xf0\xe9\xf5\x52\x38\x08\xb3\x08\x3e\xb5\x00\x28\x8d\x8c\x57\x00\xe3\xd8\x14\xa0\xa8\x2f\x94\xcf\xad\x64\x66\xeb\x5a\xb8\x8b\x14\x72\xee\x45\xdb\xce\x12\xd2\x4c\x90\x71\x3b\x97\xf0\x16\x12\x55\x6b\x60\xf5\xa7\xb3\x0e\x59\x97\xfd\xc8\x83\x3f\x3a\x55\x13\x30\x13\xcc\xba\xb5\xb9\xfb\x36\x47\x6d\x23\xc8\xd6\x17\x6f\xa5\xc1\xc3\x64\x91\x1a\x1b\x3d\x52\xbe\xf7\xdf\xe9\xb9\xe2\xcf\x05\xcb\xa1\x45\x38\x5b\x7a\x72\xdd\xd9\xdb\xe9\x3a\x63\xcf\x0c\xd8\x01\xdc\xa6\x8d\xac\x5a\xc8\x20\xe4\x12\x14\xa5\xe3\xda\xac\xf7\x8f\x49\xc5\xe7\xd8\xea\xf9\xab\xef\xe6\x94\xaf\xb1\x0b\xd6\x37\x09\x6c\x3b\xab\x03\xcb\x71\x51\xc2\xa0\x3e\xe8\x1e\xbf\x15\x18\xc9\x0a\x0c\x5f\xb4\xee\xb4\xbb\xdf\xcc\xa7\x4e\x31\xe0\xd4\xa0\xd4\x54\x78\xf4\x18\xb1\x34\x9d\xfa\x06\xf9\x26\x91\x4c\x1f\xf7\xf4\xcb\x97\x73\xcf\x10\xfa\x8a\x0b\xd3\x36\xc2\x1e\xae\x77\xad\x0a\x2e\x48\xfd\x42\x65\xb9\x28\x5b\xee\xb4\xf9\x9a\xdc\x24\x17\x2d\x2f\xca\x09\x5b\x17\xa2\x74\x96\x03\xe4\x5f\x80\x56\xc5\x43\xad\x2c\x6a\x9b\x0e\xb1\xae\xf5\x14\x42\xb2\xab\x22\xbb\x66\x79\xd1\x58\x23\x03\x24\x2c\x63\x95\xd8\xf0\xb6\xb8\x15\x16\xd4\x01\xf3\x38\x05\x49\x27\xac\xb3\x08\x76\xe7\x9c\x89\xa5\x9e\x3f\x2d\xb0\xc5\x19\x28\xd9\xbf\xb0\xe9\xe2\x31\xfb\x82\xe9\xc9\xd1\x1d\x9d\xb1\x27\x4c\x2c\x61\x4d\x9f\xeb\xda\xff\xaa\x4f\x00\xa4\xf3\x85\x8f\x55\xb7\xd3\xfb\x06\x03\x8b\x0b\xd1\xbc\xa7\xd1\x85\x71\x54\x3b\x91\x57\x91\x96\xbd\x49\x5a\x2a\x7c\xb6\x44\xec\xbc\xcf\x7b\xab\x4d\xbd\xb4\xda\xbe\x37\x96\xac\xbd\x9b\x65\xdc\x3d\x72\xf5\xbc\x41\xff\x32\xdf\x73\x93\xed\x8d\x07\xc7\xf9\xdc\x2c\x52\xdb\x14\x9b\x8d\x68\x8c\xc0\x63\xb1\x93\x7b\xc5\x38\x74\x68\xf1\x10\x80\x6f\x31\xe7\x34\x3d\xcd\x70\xe7\xef\xc1\x6b\x85\x67\x2d\x8a\x03\x16\xaf\x16\xef\x87\xf6\x5a\x34\x62\xe2\x76\x9d\x25\xd6\x4a\xb7\x33\xfd\x75\x54\x73\xa3\x23\x47\x9e\x6e\xaf\x1b\x88\xee\x57\x92\x5d\x5c\x37\x72\x0b\x49\x9f\x6c\x52\x2f\xe4\x5d\x4c\xbb\x76\x2b\x1a\xcf\x52\x8c\x89\xce\x99\xdb\x31\x96\xd0\x63\x8f\x5e\xc3\xc1\x81\x67\xaf\x5c\x63\x08\x80\x52\x3b\xc5\xd4\x0e\x6c\x0f\x5e\xd6\x06\xe1\x51\xb5\xfc\xa0\x88\x00\x6e\x0d\xef\x9a\x58\xdd\x88\x35\x62\x7a\x90\x37\xaa\x41\xe2\xd2\xf5\xee\x29\x68\xba\x24\xda\x89\xc3\x05\x70\x13\x16\x0e\x7c\x53\x15\x55\x26\xdc\x35\x6e\xaf\x13\x14\x2d\xf4\xd8\x83\xd4\x68\x56\xf2\x1b\x44\x3b\xed\xdc\xce\x1f\x7f\x95\xfa\x5c\x9f\x7f\xaf\x77\xe8\x85\xee\x61\x34\xc9\xac\x87\x8d\xf4\x68\x16\xad\x5c\x64\x65\x51\xaf\x24\x6f\xf2\x68\x68\xaf\xd6\x29\x98\x6d\x54\x3b\x9a\x24\xb2\x60\x70\xf5\x66\x58\x08\x30\xe7\x07\xe7\xf7\xb5\xd6\x7c\x58\x54\xc4\x71\xd7\xbb\x44\x27\x82\x7d\x42\x97\x19\x23\xcf\x9b\x1b\xad\xf1\xe8\x32\x70\x7f\x16\x6b\xe3\xe7\xb7\x2d\x94\xc2\x20\x7b\x0f\x6e\xed\xfa\xd8\x8a\xbb\xd6\xa4\x86\xd4\x83\x61\xb5\xac\x77\x25\x6f\x85\xc2\x3c\xd7\xe0\x59\x78\xed\x42\x87\x04\xfb\x9c\xd8\xba\x3f\xf7\xae\x10\xb6\x0d\x4d\x6e\xe4\x22\x0c\xdc\xa3\xfa\xf3\x3d\x2f\x50\xcb\xc1\xf7\x0a\x69\xff\xa8\x78\xd3\x38\x82\x66\x31\x22\x42\x84\x7d\x69\x4f\xf8\x48\xe8\xfd\x6b\x45\xc5\x0f\x45\x5f\x92\x6e\xf6\x84\xcd\xb6\xe6\x25\xa2\x68\x40\x50\x37\xc8\xdb\xfb\xbd\x88\x2a\x7f\xc6\xb3\x1b\xcd\xdd\xc6\x48\xe0\xbc\x3f\x8e\xcc\x66\xb2\x0f\xd0\x8b\x17\x10\x80\x34\xae\x0f\xac\xd3\x83\x3e\x07\xda\xc0\x8e\x11\x59\x43\xa2\x20\x28\x34\x41\xa8\x44\xbc\xf0\xb1\x46\x07\xad\x82\x5d\x7f\x9a\x21\x67\x88\x3e\x9b\x17\x00\x12\x4f\x1f\x04\x46\x83\xa1\xb5\x7e\xc4\x1e\xcf\x3b\xfd\x1d\x61\x00\xec\x76\xf0\xb8\x03\xef\xf8\x78\x95\x11\x06\xc4\x1e\x6e\xee\x04\x2c\x8f\x09\x6b\x8b\x96\x93\x38\xe7\x7a\x56\x86\xde\x8e\x64\xe6\x44\x28\x7a\x4f\x37\x7a\x39\x7a\xa0\x37\x2c\xd1\x97\x7e\x47\xf2\x60\xa9\x8f\x33\x37\x54\x53\xe9\xe0\xbe\xe3\xcd\x8f\xb2\xa4\xfa\x7e\x3c\x18\xed\x5d\x33\x92\xdd\xbb\x3d\x9b\x1f\xd9\xee\x63\x59\x3d\xee\x5f\x0f\xdd\xae\x38\xfa\x52\x66\x20\xb7\x1b\x75\x26\x26\x3c\x35\xe6\x07\x59\x31\x0e\x39\x9f\x16\xb7\xcc\xe4\xb0\xb7\x62\x3d\x57\x46\x1c\x78\xf9\x52\x97\x31\x13\x21\x6c\x96\x4e\xfb\x74\x36\x99\x7a\x31\xd7\xaa\xc8\xa9\x0a\x0a\x5b\x1a\xe7\xc6\x15\x66\xcc\x4f\x5c\xc8\xfe\x86\x24\x49\xac\xe2\xbb\x57\x6f\x93\x1b\xa1\xa5\xaa\x4b\xc0\x91\x5f\x6a\x19\x4d\x4b\x99\x17\x32\x17\x53\xfd\xa8\x2b\xb2\x6b\x77\x87\x95\x72\x2f\x9a\x3f\x42\xf1\x1b\x71\x58\xb6\xf2\xb5\xfe\xe1\x82\x2b\xa2\xe8\x9b\x0a\x68\x4f\x97\xfa\xf9\x67\x26\x96\x5b\xd1\xf2\x3f\x8a\xc3\x8c\x3d\x7c\x48\xea\x9f\xb3\xcf\x6f\x3f\x27\x1e\x22\x41\x0e\xd2\x20\x93\x5d\x20\xdb\xb9\xf4\xb3\xf8\x24\x31\x0b\xd4\x06\x38\xfe\xa8\x47\x25\xe9\x81\x46\x4c\x25\x4c\x4e\xaf\x54\x93\xee\x5c\x1a\x6a\x2a\x01\x29\x45\x10\xa5\x20\xc2\xc6\xa9\xc5\x80\x2e\x68\xc5\xf4\xce\x79\x62\xbe\xd2\xc6\x10\x9a\xf0\xc3\x2c\x40\x9b\x4a\x94\xf0\xbe\x6c\x1e\x3a\x34\x4c\x0a\xc8\x92\xb8\x54\x38\xab\x0a\x10\x2b\x4d\xf2\xd6\x70\x6a\x29\xef\x2f\xd9\x65\x2b\x6b\x54\xd8\x83\x2c\x8f\x8f\x29\x59\xf3\x0d\x87\x40\x2a\xae\xfc\xf3\x11\x12\x72\xa1\x1b\x38\xb4\xe1\xb3\x51\xdb\xc9\x46\x37\xb7\xa3\x8b\x33\x90\x66\x36\xb1\x5e\x62\xa9\x5a\x59\x7f\x63\x3b\x85\xfe\x0a\x09\xa8\x53\x9f\xf1\xdd\xa9\x6d\xb7\x32\xff\xc8\x9c\x16\x0e\xa5\xd6\x04\xaf\x05\xc9\xf2\x5a\xde\xf6\x67\xcb\xd3\xcf\xb2\x75\x29\xf7\xff\xca\xce\x19\x94\x64\xff\xc2\xac\xb6\x94\x3d\x61\x13\x97\x55\x3c\x1a\x42\xa0\x46\xdb\x3a\x85\xca\x12\x1f\x15\xbc\x6c\x45\xa3\xd8\xb5\xdc\xb3\xed\xce\x78\xe6\x99\x2d\x81\x15\xf5\xd1\x06\xa6\x04\xc8\xbd\x1e\x6b\x18\xc7\x0d\x17\x75\x39\xf2\x56\x18\x7d\x4e\x98\x5f\xc9\xf7\x29\x1c\x7b\x42\x09\xc4\xce\xc9\x08\x60\xa4\xfa\x76\x7b\xfb\xed\xbb\x8b\x17\xec\xe5\xab\xd7\x2f\x9e\xa0\x96\xf1\xe4\x2f\xea\x04\xfe\xf1\xde\x82\xab\x2e\xff\xa2\x74\x51\xfd\xe2\xc0\x40\x92\x69\x36\x63\x5f\x9e\x3e\xfe\x12\xd4\x05\xa0\xa3\x28\x76\x5b\xf6\xf6\x92\x3d\xdd\xb5\xd7\xb2\x51\x4b\xf6\xb4\x2c\x31\xe8\x44\x31\xfd\xe0\x68\x20\x37\xfe\xc9\x09\xfb\x56\x09\x07\xb0\xa0\x30\xfc\x32\x33\xa1\x2a\x1b\xbd\x46\x15\xa4\xff\x67\x9c\x3d\xbb\x7c\xbe\x80\xa5\x63\x65\x91\x89\x4a\x19\x27\x72\x44\x0c\xd5\x94\xd6\x10\xee\x68\x78\xfd\xf5\xab\x8b\x17\x5f\x5f\xbe\xd0\x4f\x45\xb1\x7c\xf0\x60\xa2\x67\x5b\xb5\x4d\x91\xb5\x93\xb3\x07\x0f\xca\x62\xb5\x6c\xda\x5c\xd4\xd3\x89\xfe\x27\x64\x83\x84\xe4\xe2\xfa\xaf\x6f\x40\x49\x21\xaa\x4c\xbc\xe1\x15\xdf\x88\xc6\x7e\x68\x04\x76\xd0\xfe\xbd\xcf\x26\x54\x8c\x83\xdf\xd6\x98\xa2\x5c\x2f\xe2\x1f\xc5\x01\x9e\xbf\xfe\x17\xcc\x48\xac\xfc\x0f\x89\xa6\x28\x41\xc7\x0c\x42\x54\xbe\x12\x39\x6f\xfd\x6f\x00\x76\xdc\xad\xab\x77\xac\xcb\xed\x4a\x1a\xfe\xee\x0a\x72\x5a\x58\x75\x85\xac\x54\xdb\xec\x00\xfa\xdd\xba\x8f\x5e\x99\xa5\x66\x59\xc9\x95\x7b\xbb\x3f\xf5\xbf\xd7\x3b\xcd\xcd\xad\xdc\x88\xf6\xda\x00\x5a\xc4\xfd\x9b\x33\x3a\x02\x78\x2f\xdb\xe6\x1f\x9f\x9e\x42\xae\x26\x4d\x5c\xc0\x79\x85\x49\xc8\x0c\xa8\xbb\xdc\xd6\x00\x00\x68\x19\xce\xb1\x37\x2f\x8b\xf6\x40\x74\x53\x0d\x62\xef\x71\x82\x99\x0b\x57\xdd\x02\xd2\xdb\xfb\xde\xe2\x91\xa7\x28\xcf\x18\xb8\x45\x44\xd3\xc6\x6c\xf9\x18\xf9\x5b\x15\xf8\x9a\xb7\xce\xa8\x4a\x36\x73\xf3\xe4\x37\xbb\xbf\x11\x1b\x07\xaf\x27\x71\xf8\xa6\x21\xd0\xc1\xbb\x09\x5f\x32\xf6\x07\xb9\x17\xb7\xa2\x99\x9b\xb0\xe4\x62\xcb\x9b\x03\x81\x7c\x84\x00\xf9\xba\x11\xed\x74\x66\xb5\x93\x90\xc8\x46\xb1\xef\xae\x34\x2d\xa1\x32\x5e\x6b\x69\xf7\x3f\x76\x9a\x4d\xd0\x53\xbe\xa8\x6e\xe5\x8d\x31\x7e\xf1\x5a\xdf\x03\x0d\x04\xd8\xc7\xa3\x0d\x4c\xc5\x30\xd5\x6c\xcf\x15\xbb\x16\xfc\xb6\x80\xb4\x23\xeb\x12\xa8\xc2\x0e\xbb\x90\xcd\x81\xbd\xe1\x59\xc6\x9b\x46\x56\x62\xa2\xd8\xcb\x86\x6f\xc5\x6a\xb7\x5e\x8b\x26\xe4\x82\xab\xb7\xcf\xdf\x4e\x9b\x4d\x51\xe5\x7c\xf6\x84\x41\xd2\x72\xd4\x78\x46\x21\x9d\x56\x5f\x03\xd1\x49\x0d\xc1\xe8\x57\x66\xa8\xbc\x31\x60\xe6\xaa\x2e\xf9\x41\x17\xde\x17\x19\x44\xae\xef\x35\x2b\x70\xa5\x8f\xe6\x2a\xe7\x0d\xa0\x01\x17\x15\xa1\x60\xd5\x38\x78\xd9\x99\x16\x80\x99\xff\x7f\x7f\x64\x53\xd0\xf9\xa3\x0f\xf3\xc1\xac\x10\x49\x10\x20\x5a\x35\x1b\x4a\xe6\x53\x37\x52\x9f\x1b\xaf\x72\x9f\x43\xbc\x76\x3b\x95\x99\xaf\xac\xe2\x5b\x81\xaa\x5d\x93\x6a\x4d\xff\x67\xb8\x38\x9f\x5b\x93\x0a\x74\x6f\x62\xfe\x08\xa0\xd9\xdd\x6a\x45\x49\x79\x5c\xeb\x54\x0e\xb2\xbf\x05\x90\x75\x27\x27\xec\x6a\x2f\xed\x05\x53\x54\x7a\xb2\x32\x9a\xca\x1f\xd9\x0d\xb7\xdf\xfb\x30\x9f\x06\xfc\x46\x54\x3d\x70\x73\x55\xbc\x15\xc3\xa5\x7d\x4c\xec\xe7\xc6\xf3\xf8\x73\x9f\x3f\x33\xb8\x67\xbd\x3f\x34\xed\x04\xa5\x50\x4a\x2d\x06\x54\x12\x9e\x52\x3e\x2d\x27\x5c\x96\xc5\x4f\x7a\x6e\xb1\xd2\x33\x60\x41\x65\xf5\x97\x90\x31\x1b\xb4\xb8\xc0\x44\x16\xfb\x3b\x2f\x32\xd0\xc0\xa1\xbd\xad\xd6\x97\x8c\x49\x38\xb5\x64\xec\x39\x5a\xa0\x31\x1d\x0f\x6a\x77\x0d\xb6\xdc\x5e\x82\x6a\x31\x2f\x14\xdf\x34\x02\xec\xae\x27\x27\xec\x69\xa9\x24\x16\x28\x2a\x9e\x81\xfd\xc6\x80\xeb\x2b\x24\x82\xa1\x51\x78\xdf\x8b\xdc\x84\xad\x17\x60\x7e\x02\x1c\x6c\xd8\x9a\x50\x11\x09\x26\xe7\xe8\x32\x99\xe5\xe4\x14\x65\x45\x3f\x4f\xce\xa9\xa3\x69\xf5\x0e\x43\x8f\xf9\x9d\x32\x9b\xcc\x6c\x1e\xd6\x46\x88\xcc\xcb\xf0\xee\xd7\xe7\x71\x67\x51\xcd\xef\xf0\x68\x8b\xe1\x7e\xa1\xc2\x52\xed\x56\x2a\x6b\x8a\x95\x98\x7a\x48\x7d\xa3\x6f\x34\xba\xf7\xe5\xaa\xa8\xd0\x23\x77\x76\x94\x84\xb3\x46\x07\xa6\xbf\x7b\x91\xb0\x92\xbb\xa1\x80\x12\xed\x51\x02\x4e\x83\x4d\x74\xa5\xb4\x16\x9d\xee\xbc\xb8\x35\xd7\x84\x45\x52\x46\x91\xda\xca\x3e\x34\x07\x4a\xbc\x1b\x3b\xb9\x5c\x09\x0d\x41\x2c\xf0\x9a\x25\xf1\x48\xf0\x61\x0f\x9b\x52\xae\xf4\x05\xa2\x09\x39\x22\x70\xc3\xd1\x14\x18\xee\x46\xd4\x2f\x01\x77\x29\x22\xac\x6a\xb1\xd6\x2c\x78\xcd\x55\x35\x69\x21\x65\xa2\xdd\x1b\xfa\x7d\x0e\xef\x80\x56\x32\xee\x89\x1f\x44\x8b\xd6\x99\x46\x2c\x94\x00\xd3\x72\x2e\x32\xd9\x40\x36\x3a\x3f\x4e\xeb\x8d\xcc\xce\xd9\xbe\xa8\x72\xb9\x77\x3f\xd1\x71\x7b\x80\x5b\xd8\xa2\xd6\xf8\x45\xd5\xf8\x90\x94\x25\x48\x9f\xc9\xf3\xbc\x11\x0a\xf2\xf3\x46\xfc\xba\xe2\xd9\x8d\x85\xa2\xf8\xe1\x47\xdb\xd0\x25\xbf\xd5\x13\xc6\x57\x4c\x3f\x36\x3c\x8f\xb7\x7c\x05\x2f\xa4\xb0\x34\x80\x4f\xb4\x0d\xcf\x6e\xd0\x40\x8b\x92\x8a\x39\x8b\x3d\x15\xec\x30\xa4\x98\x14\x0d\x57\x22\x3f\x73\xce\x18\x57\xcf\x2e\x0c\x30\x7d\x29\x38\x1c\x41\xa5\xaf\x47\xce\x78\xde\x08\x3d\xe7\x8d\x50\xad\x6c\xd0\x1d\xcb\xda\xc9\xe0\x64\x00\xb7\x0e\xe1\xd3\x0d\x98\x8a\x57\xa6\xdb\x9a\x31\x9b\x9d\xa0\xd3\xf9\xdd\x15\xda\x0a\xc9\xd9\x18\x21\xbd\xc0\x26\x67\x5a\x80\x76\x01\x4a\x60\xac\xd0\x82\x03\x74\x19\x24\x17\xe7\x09\x00\xcf\xc4\x2a\x27\xee\x28\x99\xdc\x6e\x79\x95\xfb\x59\xbc\x35\x0f\x8c\x2b\x59\x77\x32\xdb\xda\x6f\xa8\x33\x4f\x31\xfe\xf3\x57\xdf\x39\x4d\x8b\x95\x22\xed\x81\x84\x7d\x59\x92\x98\x27\x25\x1b\x1b\xb1\x13\x13\x72\xf1\x3f\x38\x00\x75\xad\x25\x20\x3b\x07\xf1\x2e\xc4\x42\x97\xba\xcc\x7b\x97\xa3\xc4\x5e\xad\xf4\xeb\xf2\xd9\xeb\xb7\x17\x7f\x4c\xb6\x03\x49\xe1\x4d\x03\xc9\x9e\x42\xda\xf8\xb8\xab\x17\xd8\xbd\x55\x59\x54\x37\x4c\x56\x27\x9a\xd1\x01\x91\x46\xef\xa3\xad\x9a\x83\xe5\x6f\xdf\x14\x6d\x2b\x2a\x2d\x60\x69\x11\x42\x3f\xff\x32\xb8\x1d\x0e\x5a\x52\x2a\x25\xcf\x21\xf7\x1f\x6d\xec\x99\x26\x78\xa1\x09\x01\x37\x3f\x3e\x3d\x9d\xb3\xc7\xa7\xa7\x8e\xab\xbf\x69\xc4\x62\x05\x6f\x1d\x59\x5d\xf8\x1a\xef\xad\x45\xcb\x66\xbe\xc0\x40\x67\xeb\xc0\x91\x4b\xa3\x3d\x90\x0d\x13\xdc\x5e\x9b\x66\x8a\x4d\xef\xf5\xb3\xac\xc8\x0a\x84\x01\x80\x1e\x6d\x0f\x6f\xc3\x36\xfc\x09\x4a\x7e\x4d\x1f\xa4\x4a\x98\x21\x23\x38\x36\xa0\x58\xa7\x7a\xd6\x08\x9e\xa3\x81\x12\x05\x02\xbd\x85\xf8\x46\x80\x99\x0c\x89\xe9\xfe\x32\xb9\x6b\xeb\x1d\xda\xf3\x6e\xc4\x41\xb5\x8d\xbc\x11\x34\x3e\xb3\xa8\x8a\xb6\xe0\x65\xf1\x13\x8a\xb3\x06\x05\xc8\x0a\x6d\x5b\x7c\x5f\xb9\x81\xf9\xa4\xf5\xd1\xda\x9a\xef\x6b\xd9\x88\xa1\xef\xb8\x8b\xde\x56\x6f\xa1\x57\xbd\x9f\xff\x68\x7b\xda\xe1\xf3\x66\x27\xd0\xd8\x68\xc3\xa0\x9d\x9d\x18\x55\x03\xa8\x0b\x6a\x84\xbe\xf5\xcd\x4d\xcf\xcb\x52\xee\xed\x24\x39\x55\x2a\x39\x52\x04\x6f\xc1\x5b\xe4\x1d\xd4\xc2\xf8\x52\x5e\x2a\x7f\xae\xd8\xbb\x63\x25\xca\x52\xbf\xb6\x2b\xcf\x7b\xfa\xa7\xa7\xbb\xbc\x90\xc7\x93\xda\x71\x5d\x6c\xe2\x2f\x5a\x5f\x75\xa9\x84\x7f\x6e\x4e\x27\x75\x23\x34\x87\xeb\x67\x27\xdf\xb5\x72\xe2\xb8\xe3\xa9\x3e\x46\x83\xce\xe8\x93\x6e\xad\x25\x38\x48\x30\xe1\xaf\x11\x38\x95\x37\xa2\x12\xfa\x52\xca\xd9\x54\x0b\x5d\x16\x89\xa9\x28\x0f\x46\xb8\xba\x96\xfb\x6a\x16\x0c\xe5\x6b\x42\xef\x75\xa1\xda\xf0\x62\xf8\xde\x5c\x05\x7b\x81\xad\xd4\xba\x2f\x4a\xe9\xb3\x96\x48\x54\x41\x9f\xc8\x3c\xab\x9b\x56\xd6\xb4\x81\x67\xc2\xb8\x69\xd2\xc9\xbe\x08\x8f\x5f\xbc\xfc\xdc\xcb\x90\x29\xb8\xc9\xc0\x14\xfc\xfc\xc5\xc5\xe5\x85\xbf\xfe\xf4\x07\xa3\x29\x20\x48\xe0\xd1\x99\x05\x2a\xb3\x55\xd1\x2a\x77\xd4\x76\x4e\x46\xe9\x69\x78\xa1\xcf\x10\x26\xa2\xbc\x41\xd7\x07\x1b\xbb\x4b\xec\x02\x19\x0a\xf5\x95\xb7\xec\x60\xf8\x77\xba\xf4\xdd\x55\xfc\x4a\xf5\xaf\x5a\xb2\xe3\x6e\xdb\xa0\x23\xdf\x5d\x75\x25\xaf\x1b\xa3\x31\x81\x93\x8c\x54\x75\xbf\x53\x02\x56\xbd\x12\x92\xf9\xdf\xc0\x2a\x25\x7b\xf5\x16\x3b\xb1\xe6\x59\xa0\x28\x32\xe1\x12\x20\x72\x15\x4d\x8e\x49\x86\x84\x82\x85\x90\xbb\x96\x89\x3b\xbd\x60\x36\xa3\x10\x62\x10\x82\xbd\xc9\xb1\xab\x4b\xbf\x6a\x82\x14\x64\xd0\x2b\x77\xf3\xbc\x7a\x1b\x8d\xcf\x6c\x78\xd8\xdd\x8b\xac\x2c\xb2\x9b\x45\xde\xf0\x8d\xdd\xfe\xca\x47\x74\x74\x56\x52\x54\x5a\x40\x82\xad\xfd\xbc\xe1\x1b\xe3\xd7\x46\x64\x06\xbc\x3d\x64\x7d\x78\x5b\x99\x00\xce\xe8\x3c\x82\x56\x41\x56\x7e\xb6\x6b\x5b\x88\x34\xa3\xa7\x91\xdd\x0f\x06\x86\x09\x02\xef\xad\x63\x13\x48\x7c\xe8\xa2\xb2\x12\xd7\xfc\xb6\x90\x3b\xbf\x32\xba\x47\x58\xf0\x7b\x28\x67\xfd\x44\xdc\x46\xc0\x9e\x69\x4e\x72\x56\xb3\xa7\x5a\xb6\xb2\xe2\x78\x30\x82\x46\xc0\xf9\xad\x5f\x41\xef\xa7\xbf\x3d\x9d\xb3\x2f\xff\x07\xf5\x45\xb0\x6e\x2f\x56\x6a\x0a\x20\xf6\x45\xfb\x0d\xbe\x91\xc3\x37\x34\xe4\xae\xb4\xaf\xef\x94\xd1\x95\x9a\x0a\xec\xdd\x66\x17\xf1\x9d\xe0\xf9\x61\x3a\x63\x1f\xc2\xf7\x05\x8d\x35\x37\x71\xd2\x81\xac\xa2\x52\xaf\x7c\x2a\x8a\xe8\x2d\xf4\x80\x31\x10\x48\x9e\xb0\x09\xfc\x2f\x74\xee\xd9\x8b\xa7\x6f\xf4\x0f\x2f\x9e\xbe\x81\xbf\xbf\xfd\xfa\xf9\x8b\x77\xaf\x5f\x7d\xfd\xe2\x09\x9b\xb8\x7f\x4f\x52\x9e\x46\xf1\x25\x42\xac\x00\x78\x8c\xe9\xc3\xc6\x7a\xa7\xd2\x37\x84\xc3\xf1\xd3\xe7\xc8\x4e\x09\xea\xf7\xe5\xcb\xd9\xbb\x95\x3b\x1f\x02\x92\xd2\x04\xf5\x60\xd8\x03\x7c\x79\x30\x62\x5e\x7b\x60\xa2\x5b\x3a\x79\x4e\x92\xb3\x44\x4d\x43\xc1\x32\x44\x81\x19\xd4\xf9\xe8\x39\x11\xe8\xe1\x40\x95\x6b\xf6\x5b\x97\xdc\x91\xdd\x41\x0b\xc3\x8d\xb5\x7c\xf5\xbd\x49\x4f\xf4\xdb\x6e\x30\x74\x42\xfb\xd3\x0d\xa9\xd7\x37\x5d\x38\xbb\xbe\x96\x8a\xa2\xf2\xa9\x0a\xc9\x26\xdb\xe0\x4a\xc9\x0c\xd4\x78\xfa\xb5\x0b\x27\x69\x4b\x1b\x36\x6a\x0b\x02\xa4\x22\xf6\x03\x1d\x8b\xf5\x5a\x95\xd8\x7f\xad\x5b\x03\x38\x33\xee\x7d\x9a\x12\x14\x18\x7b\x29\x9b\xbd\x3e\x6f\x55\xc9\xd5\xb5\x55\x6d\x51\xed\x9d\x09\xdb\xc7\x98\xdc\xdc\xa3\x01\x80\x4e\x8c\x36\x6f\xd7\x0c\x15\x6b\x7a\xe1\xb5\xe4\xe5\xf5\x6a\xee\x17\x80\xf3\xba\x95\x37\xc2\xb3\xa9\xe9\x8f\x6d\xbf\x6d\x78\x65\x63\x4c\x95\x53\x11\x1f\x59\x58\x7f\x2e\x04\x69\xcf\xed\xf1\x30\x0f\xba\xd5\xa7\x70\x73\x7f\x2c\x1b\xc4\xb5\x99\x9e\xfc\xf9\xe4\x64\x33\x67\x93\x89\xb7\x46\xb6\x5e\x9d\xd7\x5a\x00\x44\x8a\x33\xb0\x56\x34\x2e\x1f\x7f\x58\xe6\x02\x94\x44\x26\xfd\xfb\x83\xe0\x63\x70\xaf\x74\x2c\x05\xd3\xa8\x9b\xc4\xf7\x1f\x49\xf3\x3c\x7f\xbb\x02\x43\x4b\xa3\xa6\xfa\xb0\x9f\x1b\x5b\xe8\x84\x97\xed\x62\xd3\x2c\xb4\x08\x31\x79\xe2\x27\xe5\x36\x44\x3a\xbc\x05\xb8\x9b\x5d\x59\x52\xd4\x22\x80\x84\xe1\xb7\xc5\x86\xb7\xb2\x59\x96\xbc\xda\xec\xf8\x46\x84\xe6\x68\x70\x5c\x16\xd5\x62\xa7\x26\xb4\x2a\x63\xb7\xec\x9c\x4d\x2a\x59\x89\x89\x07\x32\x8a\xbc\x2b\x5c\x31\x30\x15\x2d\x78\xd9\xd2\xb2\x0f\x82\x3a\x30\xb9\x87\x5a\xc8\x35\x83\xbe\x4e\x90\xd5\x83\x46\x35\xad\xdb\xae\xb5\x3c\xd9\x72\xb7\x7b\x1f\x28\x62\xe3\x67\x27\xff\x67\xaa\xbf\xfe\x0c\x2e\x08\xbc\x6c\x7f\x2e\xc5\x1a\xba\xf8\xb3\xeb\xec\xec\xbf\x9f\x2c\x5b\xa1\xda\xe9\xed\x6c\x96\xa4\x6b\x9d\xe3\x2c\xa3\x5a\xc9\x66\xc9\xcb\xf6\x7f\x37\x6f\x10\x0a\xe2\xd6\xda\x8c\x1f\xf8\xf5\xd2\xec\xa9\x6a\x9e\x89\x45\xa1\x16\x5b\xd1\x72\xff\x4b\xcf\x1a\x26\xdb\x78\x66\x2b\xbd\x52\x6f\x44\xcb\xdd\x9f\x3d\xad\x9a\xb6\xee\xd3\x02\x12\xee\xa1\xa7\x44\x95\xab\xc5\xfe\x9a\xb7\x03\x8c\xa7\x27\x1a\x05\xca\x9f\x7f\xbb\x58\x15\xed\xcf\xc6\x37\x77\x71\x23\x0e\xfd\x13\x8c\x35\x8e\x4c\xf1\xa5\x6e\xff\x7b\x2d\x0d\x26\xfa\xb7\xcb\xf5\x4d\xbe\xd0\xaf\x87\x05\xbc\x8d\x7a\xfa\xa8\x37\x3b\x6f\x0e\xc0\x59\x70\xc3\x4c\x4f\xfe\x4f\x59\xac\x16\xd6\x3c\xf8\x64\xfa\xe7\xcb\x47\xb3\x93\x00\x01\x8c\x37\x07\xca\x96\xae\x73\xbd\x4f\x27\xd5\x64\x49\x71\xa5\xe7\x3f\x6a\x9e\x5c\x6e\x44\xfb\x9c\xb7\xfc\xdb\xa6\xd4\xed\xfe\xf0\xf8\xc7\x59\x3f\xd3\x8f\xec\x09\xbb\xf5\x24\xc2\x69\x33\xcf\xa1\x05\x7d\x2c\xc1\x1c\x0e\x1e\x2d\x0f\x1f\x32\xfa\x80\x4a\xce\x4d\xff\x43\x2b\x98\x17\xfa\x7d\x49\x1e\x72\xe7\xfa\x48\xd8\x34\xbc\x6a\x45\x4e\x0e\x11\xf4\xcd\x39\xd6\x46\x78\x70\x9d\x9c\xe8\x56\xc4\x13\x9f\xaa\x14\x5c\xb2\x83\x96\x0d\x3e\xce\x37\xbe\x03\xa0\xba\x35\x89\x4b\x43\x62\xc6\x89\x5f\x57\x81\xb0\x21\x84\xde\xf1\x80\xfd\x8d\x50\x5a\x9e\x91\x6b\xc6\x31\x92\x08\x13\x97\xb2\x29\x78\xdc\x73\xc5\x78\x15\x12\x94\x15\x3c\x28\xac\x06\x68\x86\x12\x99\xbe\x08\x58\x59\xa8\x56\xbf\x89\x50\x0d\xd3\xec\x12\xd9\xe8\x08\xa5\x90\xec\x53\xb6\xe7\x07\x50\x9d\xca\xe6\x06\xf4\x87\x16\x52\x58\x0b\x3d\x16\xbc\x8d\xbc\x98\x39\xcb\x0b\x5e\xca\x8d\x8f\xa9\x21\xd4\xdc\x05\x09\x12\x0c\x67\x9f\xe3\x23\xa8\x95\x0b\x33\x77\x0b\xbf\x7a\x9f\xb3\x15\xbc\x53\x68\xef\x2c\xa8\xdb\x9e\x37\xd5\xb4\x9f\xef\xc0\x22\xa8\x1f\x5b\x0e\xef\x0f\x2c\x35\xf0\xce\x9f\xf4\x67\xf7\x9b\x8c\xd1\x01\x4c\x66\xbd\xb7\xd1\xbd\x18\xd8\x3e\x90\x92\x3b\xca\xab\xa6\x16\xa0\x99\x3c\x76\xfa\x2a\x01\xc7\x3a\xd1\x56\x4d\x6f\x67\x67\xbd\x34\x8b\x2d\xdf\x1c\xbd\x33\x02\xe3\x0b\xa5\xff\x4a\xd7\x1e\xa4\x0f\x46\xa2\x8f\x25\x0f\x06\xb0\x21\xea\x56\x9d\xf2\xd1\x2d\x7c\x63\x08\xa4\x5b\xc1\x2b\x16\xaf\xa9\xfb\x5f\xb0\xae\x06\xdc\x33\x43\x97\xab\x93\xa5\x17\x5b\x5e\x2f\xec\xab\x4d\x0d\xdd\x8a\x5e\x20\xd3\x6f\xda\x5b\x67\xee\x95\x6b\xf6\x16\x54\x12\xb3\x14\xbc\x24\x6e\x96\x6f\x82\x67\x04\x69\x19\xd2\xf6\x39\xb5\x9b\x35\x6a\x56\xfd\x1b\x65\x82\xea\x8f\x27\xba\x04\xb9\x14\xa8\x8b\x3e\xa3\x92\x93\x03\x18\xce\x0c\x12\xdb\x6d\x20\x9e\xf1\x86\x6d\xca\x2d\xaf\x9d\xe6\xfe\xbb\xab\xa5\x8b\xb4\x79\xc3\xeb\xe5\x96\xd7\xea\x07\x5d\xf7\xc7\x25\x14\xf4\x0d\x3a\xca\x8d\xc8\x44\x71\x8b\x6e\x6e\xb7\x58\x36\x3c\xbe\xa1\xe2\x0f\xb6\xd8\x8f\x7a\x39\xb0\x98\xff\xad\xbb\xad\xd9\xf1\x0e\x81\x49\x67\x0a\xd4\xfb\x6e\x47\x7c\xf4\x2f\xc0\x46\x30\x62\x1f\x13\xa5\xfa\xf4\xb3\xcf\x3a\x1c\x4a\xa9\x2d\xc0\xd4\xd0\x43\xd3\x5e\xb3\x84\x47\x9e\x36\x0d\x3f\xb0\x87\x0f\x83\x65\xb5\xe2\xf3\x0f\xa7\x3f\x82\x04\x8d\x4e\x34\x93\xde\x62\x8f\x83\x62\xe1\x2c\xb7\xa1\xa2\x23\xb4\x62\xdc\x76\x24\xfe\x8e\xf4\x7e\x7f\xa2\x3f\xdc\xce\xd9\xed\x8f\x83\x6f\x89\x93\x13\xf6\x92\xab\xd6\x18\x69\xbc\x93\x00\xaf\x98\x68\x1a\xb4\xf3\x8c\x6b\x8b\x98\x61\x42\x56\x89\x57\x67\xec\x99\x7d\xe1\x2d\x4b\xdd\xb3\x08\x88\x2c\x6a\x5e\x8a\xb6\x15\x9f\xe8\x7c\xe8\xfc\x0c\x2c\x31\xf2\xd4\x48\xf7\x87\x9c\x18\x1c\xf8\x4b\x36\x9f\xee\xe8\xf0\x9e\x79\xf8\x3f\xdf\x60\xeb\x26\x35\xbb\xf9\xa2\x5a\x99\xdd\x5c\x90\xcf\xcb\x4c\x56\x19\xb7\x38\x32\x6e\x2b\xd0\x51\xba\x93\xe3\x46\x1c\x3a\x47\x12\x1e\x4a\x85\x7e\xf5\xf3\x46\x89\x57\x55\x3b\xd5\xef\x8e\x33\x52\x40\x13\x2c\xd4\xd7\xfc\xeb\x69\x31\xd3\x93\x5a\xb0\xaf\xd8\x29\xfe\xe3\xf7\xec\xcb\xdf\xfc\x26\x24\x17\xa2\xd1\x4e\x5e\x55\xb7\xbc\x2c\x72\x93\xfa\xbc\xa8\x98\x99\x54\x9c\x16\xdd\xa3\x47\x6c\x62\xe6\xe8\x87\x1b\x71\xf8\x31\x68\x3a\x06\x94\x8d\xa6\xcc\x0d\xf7\x87\xe2\xc7\xb8\x17\x70\x54\x6e\x56\xe1\xf4\x55\xb2\xd9\x82\xce\xf5\xe2\xf2\x12\x6b\x85\xad\x69\x62\xcd\x66\x35\x8b\x56\xb4\x67\x69\x7e\x28\x00\xa7\x72\xb3\x0a\x3b\x17\xff\xeb\x43\xe7\x8d\x16\xfa\x08\x41\x34\x83\xf7\x5a\xc4\x73\x96\xae\xf1\x74\x16\x13\x88\xbd\x97\x46\x90\xe8\xec\xb8\xfa\xb0\x90\xd5\x02\x0d\x6b\xc7\xf6\x6f\xa4\x6b\xff\xec\xb3\xf8\x82\xdf\x29\xb1\x30\x6a\xe7\x05\xaa\xd0\x17\xba\xce\x31\xba\x3d\xfa\xf4\x2e\x7d\x50\xa9\x2f\x9c\x15\x70\x01\x0e\x0b\xa3\x9a\xe8\x57\xc6\x27\x5a\x69\x9b\x72\x51\x97\x3b\xb5\xd8\x16\xd5\x4e\x2d\x7e\x12\x8d\x5c\xfc\x24\xe5\x76\xb4\x48\xa4\x29\x7c\x53\xee\xd4\x1b\x5d\xff\xdf\x44\x23\xff\x4d\x02\x26\x54\xb2\xa5\x6c\xd4\x00\x02\xda\x17\xa6\xef\x49\x7a\xb7\x0b\xf4\x16\xba\x0f\x41\x8c\xd6\xa0\x57\x56\x9f\x4c\x79\xe1\x4a\x77\xcf\x6f\xc1\x55\xbb\xe0\xaa\xe0\xd5\x82\x6f\x57\xc5\x66\x27\x77\x6a\xc1\xd5\xa2\xdd\x4b\x7d\x41\xec\xb6\x7d\x02\x2c\xfa\x15\x2f\x1b\xb1\xe1\x4d\x7e\xf1\x97\x9b\xa7\xb6\x76\x62\x8c\x68\x16\x5a\x80\x92\x64\xa1\xcf\x85\x46\xf6\xbd\xba\xdd\x18\x6e\x5b\x63\x4d\xfa\xed\xb3\x02\x22\x86\x1a\x59\x26\x97\xde\x10\x5f\xc9\xb2\x4f\x0f\xe2\xe7\xe5\x50\x65\xcf\x64\x99\x5f\xf2\xb5\xb8\x6c\x79\x62\x73\x11\x62\x7a\x16\x56\xa0\x30\x3b\x46\x76\xf8\x50\x40\x92\xba\xd9\xa7\xea\x59\x63\xb2\xd1\xbb\x61\xdc\xe3\x68\x18\x26\x14\x0f\xc1\x05\x35\x2f\xf6\x4d\x71\x9c\xb5\xdc\x74\x5f\xd8\x7a\xdf\xeb\x6a\x43\x2d\xe4\x22\x7b\xfc\xe5\x68\xba\xcf\x75\xe9\x24\xb9\xb5\xac\xda\xc5\x9a\x6f\x8b\xf2\xe8\x8e\xd2\x0b\xf8\x52\x56\xed\x4b\x28\xdd\x59\x3d\xa0\x34\xea\x59\x27\x5a\x4d\x26\xfd\x88\x43\x2a\x5b\x89\xf0\x07\xbf\xb8\x4b\xd6\x3d\x63\xb4\xbc\xf5\x32\xf4\xe8\xe8\x76\xf0\x5a\x6e\xc5\xe2\x46\x1c\xd4\xc2\xb8\x29\x8e\x3d\x36\x74\xc5\x3f\x8a\x83\x72\x76\xd9\x78\x29\x74\x49\x2d\x7b\x56\x9b\x3e\x09\x2e\xf1\x96\x34\x15\xf0\xbc\x8e\xc4\x99\xcf\x6e\x67\x1d\xe9\x29\x92\x05\xc7\x3d\x0f\x41\x08\x9e\x4e\x5e\xe8\xff\xd1\xc2\x08\xe9\x29\xb1\x0c\x3d\x61\x2f\xee\x6a\x8c\x7c\x47\x19\x6e\x72\x5c\x7a\x6b\x9b\x43\x4a\x27\xd2\x1d\x1f\xcf\xf3\x67\xe6\xdf\x53\xa2\x65\x64\x19\x18\xef\xa6\x34\xfa\xf3\xfe\xfd\xd6\x62\x14\xc1\xf6\x8f\x24\xf6\x2d\xbf\x5b\xa0\xd1\x60\x61\x5d\x17\x46\x6c\xbc\x2d\xbf\xc3\x88\xbd\x4b\xeb\xee\xd0\x5d\x71\x48\x79\x87\xcc\xc4\x1b\xb1\x58\xeb\x7f\x8d\x5e\x7a\xa8\xac\x19\xea\x69\x23\x5e\xea\xff\x4d\x36\xd0\x72\xa3\xa7\x30\x9a\xef\xf1\xd4\x5b\x0e\xfa\x89\x17\xe8\xb4\x91\xa0\x0d\x2e\x0a\x70\x75\x2e\x50\x0d\x37\x66\xb7\xbe\x89\x5c\x0c\x3a\x7b\xb6\xe6\x9b\x8f\xdb\x5f\xba\xe2\xe0\xfe\xaa\xb9\x52\x0b\x5e\xb6\x0b\xf3\x86\xbc\xa7\x51\x4b\x4b\xc6\x52\xdd\x79\xf7\x56\x6f\xe1\xda\x29\xd1\x3c\xdd\x88\xaa\xb5\x9a\xfe\x37\x3c\x63\x6f\x2f\xd9\x9f\x4e\xfc\x86\x84\x57\xe6\x6b\xd1\xb2\xa7\x65\xbb\x78\xbc\x5c\xfe\xce\xc0\xb7\xc8\x00\xae\x6c\xda\x4a\x66\xee\x68\xf4\x20\xdd\x17\x6d\x76\x0d\x80\xc7\xb2\xa2\x94\x2a\x59\x2d\x74\x0b\x4c\x1d\x54\x2b\xc0\x8f\x10\x90\xd5\x41\x1d\x61\x1f\x5c\xb2\x16\x15\x6a\x3c\xf4\xd3\xab\xae\x6d\xcf\xfd\x98\xd8\x39\x9b\x7e\xa6\x47\xf5\xf0\xa1\xd1\x64\x60\x91\xab\x43\x0d\x09\x1d\x26\xb5\xac\x77\xf5\x64\xd6\xdd\xb8\xee\xfe\xe5\x4a\x3d\x2d\xdb\xaf\x31\xb0\xa6\x67\xd6\x41\xce\xfa\xdb\x4e\xbb\x96\xc3\xfe\xd1\xe6\x5d\x8f\x69\x78\xe2\xe1\x00\xf8\xdb\x4e\xfc\x1b\xdd\x85\x5f\x3e\xf1\x9f\x68\xd2\x7f\xf1\x9c\xeb\xe1\x8c\x98\xf3\xdb\x7b\x9c\x5b\x48\xf4\xbb\x04\x3d\xa3\x79\x5c\x88\x2a\x93\x79\xbf\x3c\x64\xae\xf3\x93\xff\x33\xdd\xb5\xeb\xc5\x6f\x7f\x6e\xf8\x7e\xf6\xdf\x4f\x66\xce\x06\x4a\xdf\xf8\xa1\xf2\x26\xd4\x33\xac\x65\xc3\x3e\x8f\xdb\xfc\xbc\xab\x8a\x41\x5b\x2a\xb4\xe5\x6d\x66\x5e\xbd\x40\xaf\x41\xa7\x48\x7e\x61\xc8\x25\x46\x69\x80\xf4\x64\xb5\x70\x2e\xbb\xe3\x14\xf7\x91\xe7\x6c\x3f\x5d\xf4\x0a\x1e\x4b\xd4\x7b\xeb\xa6\x29\xae\x78\xb3\x30\x2e\xeb\x23\x24\xca\x38\xf8\xb8\x2b\x52\x52\x20\xc1\xc5\x56\xde\x8a\x85\x8f\xb7\x1d\xdd\x40\x37\xdc\x37\xd1\x90\xa8\xf2\xbf\x2a\x2f\x05\x0d\xfe\x02\x46\xf2\x6f\xef\x31\xec\x74\x5d\xac\xdb\x05\x86\xb3\xdc\xf3\x69\x0f\x55\x31\xbb\x57\xf4\xc0\xa7\x2a\x9b\x66\x91\xa9\xa3\x72\x5a\xa4\x06\xf8\x56\x89\xe6\x42\x79\xd9\x15\xf2\x5e\x76\x9c\x79\x96\x8d\xe0\xf9\x25\x7a\xb6\x77\xe1\x09\x68\x41\xb0\x38\x1e\x9e\x96\xa5\x93\xf9\xf5\xba\x05\x6e\x4a\xa6\x47\xf4\x37\x83\xf3\xd2\x75\x54\x0c\x21\x86\x55\xe4\xf3\xa5\xac\x63\x3c\x7a\xec\x21\x7c\x57\xb5\x2e\x36\x36\xb7\x65\x18\xf8\x34\xe4\x69\xb5\x11\xed\x37\xe0\xee\xdf\x87\xa0\x4c\x06\x19\xa6\x85\x82\x87\xac\x3e\xf8\xf3\x02\x22\x81\xd8\xaa\xe1\xd9\x8d\xd0\xcf\x0d\x04\x41\xd8\xca\x7c\x84\x9f\xd7\x33\x5b\xcb\x2e\x70\x2f\x12\x80\xf5\x8c\x5e\xae\xe2\x2a\x50\x32\x09\x5b\x80\x41\x22\xd6\x8d\xcf\x45\x89\x58\x44\xb3\x83\xdc\x11\xf8\x05\x25\x5a\xeb\xb4\x5f\x8b\x46\x15\xaa\x9d\x33\x08\xb0\xf2\x58\x7e\x38\x11\x73\xd6\x70\x13\x3e\xcd\x31\x2f\x15\x7a\xf7\x39\x77\xc9\xe3\xc3\x26\x76\x04\x3a\x66\xe8\x6f\x98\x66\x88\x06\xb2\xc0\xe7\xb3\x44\x3c\x8e\x81\x47\x88\xe2\x23\xc6\xd4\x90\x4d\x2e\x9a\xa8\x74\x1a\xe3\x3a\x0a\xf0\xc1\xa9\xe5\x80\xd6\x88\x50\x28\x47\x39\xad\x67\xd0\x5d\x7e\xa3\xc3\x3e\xc2\x75\x18\x77\x81\x70\xda\x90\x14\x8c\x40\x0c\x55\xb1\x63\xf6\x91\x45\xb9\xf4\x69\x0b\x35\xed\x7c\x88\x1b\xfb\xbc\xbb\xfb\x79\xd1\x2f\x0e\xce\xdd\xdf\x05\x1f\x3e\xeb\x70\x4c\x2f\x2f\x26\x82\x6f\xfa\x6c\x12\x58\xf5\x2c\x1d\xd1\x1c\xab\xf2\xbc\x8b\xb8\x0a\x80\xd9\xe3\x60\x9e\x79\xba\x1b\xfd\xc1\xd0\xbf\x5a\x43\xbd\x6e\x0a\xa8\xa3\xb2\xa3\x1f\xde\x46\x3e\x92\xa6\x8f\x2f\xaa\x56\x54\xb9\x39\xdf\x81\xc9\x5d\x50\x3c\xe2\x2f\xa4\x43\xc6\x20\x16\x42\x90\x20\x08\x0b\xe1\xa9\xde\xfb\x28\x88\x23\x1b\x75\x80\x2b\xba\x9b\x35\x9e\xa7\x24\xf3\xfb\x39\xfe\x3b\x62\xfe\x48\xb9\x38\xc4\xfc\x89\xc8\xb2\xff\x8f\xf9\x53\x0a\xda\x7b\x32\x7f\x2f\x5f\xfc\xed\x98\x7f\x80\x2b\xba\xcc\x1f\x4f\x5f\x08\x28\x0b\x11\x78\x26\x2f\xad\x55\xed\xa2\x83\xa0\x9b\x00\x13\xce\x8b\xb9\x34\x77\x95\x4b\xba\xca\x31\xe8\x00\x62\x0c\x9a\x0d\x46\x7e\xfb\x7b\x36\xed\xac\x6f\x68\x5d\x00\x66\x08\xc4\x9d\x45\x10\x31\xdd\x76\x97\xa9\xa8\x03\xde\x6c\x50\x57\x0a\x44\xa2\xe6\x3d\xd2\xb1\xb4\xa8\x2f\x96\xd0\xc0\xbc\x36\xbb\xea\x82\xf6\x2e\xd8\x6a\xfe\xf7\xb9\x6f\xdb\xe7\x4c\x10\xd5\x6d\xd1\xc8\x6a\x4b\x60\xf2\x8c\xd4\xbd\x11\xed\x74\x42\x3e\x4f\x3c\x5e\x35\x3a\xa9\xd0\xaa\x9f\x9d\x5b\x67\x86\x09\x20\xad\x51\xaa\x46\xdd\x02\x1b\x23\x6c\xce\x44\xcd\x25\x90\xcb\x4c\xf8\x16\x2e\x1f\x7a\xfd\xd3\xa1\xd8\x5d\xf6\x9f\x7e\x48\x4f\xc8\xcc\xfe\xfc\x33\x9b\x10\x5f\xe1\x42\x3e\xb1\x91\x69\xcb\x7a\xa7\xae\xa7\x33\xff\x8d\x74\xe8\x09\xfd\xc3\x97\x90\xd5\x8b\xbb\xa2\x7d\x42\xe7\x34\xcc\x5b\x6c\x50\xce\x34\x71\x59\x4f\x03\x77\x01\xf8\xb0\xab\x80\x3d\xcb\xd2\xc5\xe7\x75\x7c\x27\x10\x4a\x8d\xcc\x7b\x56\x4a\x25\xf4\x6b\x5e\xdc\x15\xed\x64\x16\x7b\x1b\x18\x75\x0f\x94\x9a\xa6\x3c\x30\x69\xce\xa0\x54\xe3\x74\x7e\x35\xff\x24\x93\x9a\x19\xaf\xd1\x62\x1d\x1c\x2f\x16\x5b\x45\x05\xf8\x3d\xf8\xeb\x1c\xdd\x38\x7d\xe6\xd8\x23\x9c\x5b\xa8\x6f\xe8\x09\x3e\x7c\x1c\x38\x14\x95\x1e\x18\x15\xd2\xff\x57\x38\x66\xe8\x61\x10\x42\x69\x11\x99\x3b\xcf\xb8\x30\x72\xc9\x80\x4a\x07\xda\x3b\x88\xe8\x51\x42\x20\x6a\xc0\xc1\x87\x5c\xeb\x7b\x15\xa1\xa6\x4d\x0a\xdc\x91\x42\x71\xb4\x30\xdd\xc1\x07\x91\x9e\x9d\x75\xec\x5c\x18\x1b\xd1\x3e\x37\x01\xca\xd3\xd9\x72\x25\xf3\x83\x5e\x54\x37\x27\xdf\x5a\x36\xbc\xc7\xac\x0c\xf4\xbe\xc3\xd5\xf7\xed\x3f\x1c\x0a\xb4\x83\x5e\x9c\x31\x28\x35\xfd\x2b\x75\xa1\x87\x41\x6d\xab\xa7\x33\x8c\x9b\xd7\xd2\x8c\x39\x3b\x6d\xb8\xa6\x23\x17\x2c\xb3\xed\xaa\xcb\xfb\xc0\xc0\xf1\xf3\xe0\x7a\x00\xe6\x5d\xa2\x17\x88\x6f\x06\x54\x34\x7f\x60\xf5\x1d\x62\x9c\x08\x55\x34\x70\xa5\x9a\xd6\xe6\xe9\xb4\x7f\x7d\xc2\x12\x8e\x23\x88\xc8\xba\xf3\xd0\x99\xf5\x1d\x38\xef\x9b\x3c\x03\xf5\x5d\xea\xa8\xf6\x36\xe9\x59\x90\xc0\x2a\x14\x28\xcc\x7c\xd5\x77\xfe\x34\xd7\xe5\xf6\xd9\x85\x52\xef\x76\xa5\x4f\xe0\x1a\xfd\x6c\x9e\xb4\x7b\x13\x12\xd8\x21\x1e\x66\x74\xc2\x62\x5f\xb0\x2f\x89\xe7\xdb\xa4\xbe\x9b\x74\xd0\x4d\xff\xb7\xd5\x25\x98\xc3\x25\x58\xac\x63\xa2\x44\x77\xce\x92\x87\x06\xdd\x20\x6e\x02\xc2\xf3\x2e\xd9\x0d\xf4\x14\x18\xd7\x11\x34\xca\xdf\xbb\x2b\xde\x96\x9f\x10\xeb\x2f\x2e\x2f\xd9\xe7\xc4\x67\xe1\xf3\x7b\xef\xd1\xd0\x65\xa0\x67\x83\x26\x58\xc4\x74\x2b\xcd\x62\xc6\x81\x62\x36\x22\x16\xa7\x87\x47\x9d\xc7\x03\x85\x26\x4a\x79\xcc\x74\x26\x25\x15\xb7\x1d\x64\xfb\xea\x1a\x6a\x61\x0b\xcf\x41\xd4\xdb\xb5\x12\x33\x44\xe8\x23\xbc\x58\x3b\xd4\x84\x63\x6b\x9c\xb2\xe5\xa6\x93\xf9\xae\xec\xb7\xce\xc8\x13\x16\xe4\x58\x9e\xb2\x95\xbb\x9e\xbf\x7d\x01\xeb\x58\x03\xaf\xff\x04\x20\x3c\x86\x64\x0d\x98\xb2\xfe\x3c\xfd\xd3\xe3\xc7\x67\x7f\x56\x8f\x48\x7c\x16\xa8\xc4\x75\xcd\x9f\x7f\xd6\x04\x7e\xf8\x12\x1d\x9c\x2f\x9a\xb7\x97\x47\xfb\xf3\xe5\x59\x9c\x08\xb6\xaf\xe4\x3f\x77\x4e\x82\x84\xce\x53\x96\x79\xb8\xba\xc4\x69\x0a\x97\xb5\xb3\xa6\x9a\xd2\x7d\x96\x35\x60\xb9\xf4\x9a\x7a\x6f\xa8\xb4\x80\xec\x9d\xc2\xdc\xfc\x91\x2a\x9f\x45\xd6\xc6\x11\xcf\xd6\xa0\x41\xff\xc7\x99\xaf\x3f\xde\x81\x2b\x41\x21\xc1\x28\xf8\xc4\xa6\x89\xd3\xe8\xa1\x60\x32\x86\x24\xd2\x7d\x60\x2a\x81\x32\xbf\x57\xcd\x89\x9d\x2b\x43\xa0\x50\x76\x11\x34\xb3\xba\x9e\x2c\xc5\x7f\xec\x78\xa9\xa6\x96\xbe\x67\x4e\x5f\xc1\x4e\x6a\x68\x9b\x81\x71\x93\xd0\x6c\xc3\x4f\xf9\x13\x06\xfd\xd4\x3b\x4d\x97\xd8\x63\x1a\xb7\xbc\x40\x28\xbd\xa4\x93\xf6\x04\x84\x3e\xec\x14\x04\x81\xbb\x6b\x81\x15\xea\x49\xba\xce\xb1\xb3\xde\xc3\xcf\xdf\x97\x17\xfc\xc0\x47\x6b\x26\x7a\xeb\x77\x55\x08\x1c\x11\x2d\xe4\x3a\xa5\x90\x76\xe9\x13\xad\x14\x64\x2e\xb6\xff\xc4\xdd\x05\x09\x09\xcb\x0f\x20\x09\xe1\xbf\x8d\x46\x80\x35\xc2\xe0\x0e\xda\x04\x2b\x96\x30\xa5\x38\xb4\x49\xf9\xad\x30\xb8\x31\x63\x1e\x07\x46\xbb\x6d\x43\x9a\xf4\x0b\xa9\x72\x57\xc9\xd0\x25\x1e\xc2\xc2\x8e\x6b\x2b\x9c\xeb\x23\x6d\xa8\xa1\x36\x42\x4a\x09\x84\xe6\x36\xae\x9a\x6a\xbb\x5f\x25\x14\xe4\xf2\x59\x73\xd0\x59\xf0\xba\x2e\x0b\x8f\xb5\x17\x8b\xd8\x6e\x85\xad\xa0\x7b\x35\x4c\xef\xb8\x9c\xf4\x6f\x52\x6e\x5f\x62\xdb\xa3\xe5\xa4\x50\xac\xfc\xc9\x51\x08\x55\x41\x80\x03\x81\xa3\x28\xda\xd2\xa3\x27\xdb\x31\x4d\x94\x77\x90\x38\x22\x89\xa3\x93\xf9\x15\x90\xa1\x0b\xa4\x7f\xc0\xae\x46\x80\x7f\xcb\xd6\x94\x85\xff\x8d\x16\x02\xb0\xef\x10\x2d\x03\x72\x19\x94\x07\x83\x72\xd4\xb7\xad\xcc\xe3\x22\xdc\x55\xa6\xb0\x5e\x00\x87\x9d\x84\xaf\x1d\x4d\xfe\x98\x72\x08\x4b\x75\xf7\x10\x52\xf5\xf7\x5c\x03\xf9\xda\x31\xa9\x6b\x56\xf2\x6d\x6d\x4a\x2c\x1b\xc8\xa3\x3e\xa7\x0c\x49\xf3\x60\x2e\xd8\x63\x77\x19\xa0\x23\x77\x9a\x0c\x7e\x4b\x52\xc2\xe7\x82\x25\x14\x30\xbe\x33\xe7\xb9\x28\x45\xe8\x0e\x12\x73\x77\x42\xd0\x04\xfb\xbd\xed\x87\x4b\xbd\x13\x7e\x3f\x3f\xb7\x05\x1e\x3e\xb4\x9f\x2c\xf8\x79\x70\x4f\xf7\x1c\x2a\xb6\xac\x43\xeb\x89\x44\x99\x8b\x52\x70\x6a\x14\x9d\x28\xe6\xaa\xac\x4b\x7e\xcc\x98\x07\xee\xad\x38\xe8\xb7\xbe\xa5\x1e\xd1\xfd\x48\xff\x4c\x54\x6d\x28\x48\x2b\xd2\x37\xc4\xe7\x19\x69\x52\xb5\x50\x3d\xde\x70\xa7\x7f\xe8\x98\x54\x1d\xf4\x20\x7c\x3e\x23\x59\x95\xf4\x1b\x12\x49\x41\x1a\x96\x0f\xa9\x07\xd8\xc8\x4e\x6d\x7a\x3b\xd5\x67\xf2\xc4\x6e\xa5\x34\x0e\xc8\x7f\x11\x9e\xe2\x1c\xf1\x2a\xed\xbd\xf5\xed\x2b\x87\x9f\x33\xe6\x14\xc1\x67\x32\x35\x79\xec\xb6\x15\x24\xed\xf5\xaf\x7a\xf2\x63\xec\x94\xd6\x5a\x38\xd5\xe8\xdd\x3d\x79\x7c\x7a\xfa\x4f\x93\xa4\x20\xd7\x57\xe5\x0d\x6f\xaf\x97\x99\x28\xca\x38\x33\xf3\xf0\xdb\xdd\xee\x1c\xd2\xc7\x47\x89\xaa\x78\x21\x38\xbf\x1f\x18\xf8\x37\x77\x33\xf6\xc8\xbd\xf7\xbb\x38\x56\x84\x66\xdf\xa9\x42\x0f\x02\x4c\xfa\x7e\x79\xa8\xb2\xf0\x24\x78\xdf\xf3\x6e\x36\xe7\xd2\x27\x5c\x4e\x4c\xec\x1b\xe5\x6d\x8f\x16\xd3\xfe\x72\x6c\x25\xaf\x2d\xad\x7b\x2c\xa5\xad\x33\x6e\x01\x4d\xe9\x2f\x98\xeb\xd2\xd0\x62\x24\xcf\xe2\xb9\xab\xfb\x31\x0b\xf1\x5c\x58\x48\x03\x67\x11\xa1\x30\xd3\xe6\xb2\x1b\xbc\xb3\x7c\x07\x7b\x76\x11\xe9\x61\x72\x3f\x85\x29\x32\xfd\xc8\x08\xe0\x90\x69\x05\x33\x3d\x07\x3b\xd4\x21\x15\xb9\x19\x4c\x90\x33\x8c\xda\xa1\x67\xb2\x40\x4f\xc9\x0c\x1a\xa4\x5e\x51\xe5\x60\xc9\x08\x67\xa5\x95\xac\x2e\x77\x9b\xa2\x22\x00\x7a\x01\xd4\x97\xea\x6e\x1a\x42\x7b\x78\xde\x71\x33\x87\x13\x9f\x52\x80\xee\xaf\x39\xc2\x1c\x5a\x88\xb4\x5c\x56\x22\x01\x8f\x16\xd0\x83\x74\x7e\xbb\x16\x35\xe3\xbb\x2a\x07\x9f\x29\x4c\x0a\x6b\x13\x49\x02\xe2\x07\xb1\x25\xb3\xa2\x72\x29\x27\xdf\x4f\x67\x16\x0c\x04\xc6\x0d\xd9\x0f\x64\x1e\x26\x36\x6c\x76\x15\x0b\xd0\x39\x48\xea\xdd\x44\x0e\x71\xc5\xe4\x9a\xaa\xe0\xb1\xc3\x76\xe0\xef\x44\x79\x80\xdc\xb4\x61\xde\xec\x56\x32\x05\x99\xa9\x21\x0a\x1a\xc0\x40\x82\xcc\x9f\x26\x43\xad\x4d\xb9\x28\x5b\xb6\x02\x3d\xbf\xf1\x81\xc9\x64\xd3\xe8\xa7\x0e\xe6\x4c\x39\x88\xd6\xcf\x5b\x25\xee\xda\x0e\x14\xe4\x75\xd1\x1e\x53\x09\x07\xac\x79\xaf\x7b\xe4\x2b\xa7\x25\x6e\xaf\xb5\x44\xa7\xf9\xed\x05\x86\x86\x3c\x6d\x5b\xb1\xad\x5b\x03\x30\xab\xe9\xb3\x15\xcf\x71\x86\xd0\x5d\xb1\xb3\x07\x5c\x0e\xde\x0b\xf8\xa2\xd8\x79\x70\x21\x2c\x42\x31\x64\x63\x2e\xbe\x69\xa8\x80\x0e\xa5\xbc\x80\x42\x52\xdc\xf3\x9f\xd3\x9b\x32\xe8\xd0\xef\xd9\xa9\x3d\x69\x9d\x32\x3b\x82\x92\x9e\x05\xc7\x66\x17\x33\xb1\x4f\x1a\xa5\xed\xcc\x3a\x9a\x2d\x17\x32\x5d\xb8\xec\x7c\x16\x71\x7b\x59\x8a\x6a\x83\x02\xed\x19\x2b\xd8\xef\xcf\xd9\xe9\x19\x2b\x16\x8b\xd0\x11\x3d\xac\xf3\x43\xf1\x23\xfb\x2a\x58\x00\xa7\x59\x58\x35\x82\xdf\x78\x14\xa7\xb0\x29\x62\x72\xfc\x10\x5c\x1f\x3d\x33\x9a\x3e\x14\x8f\x1d\x23\xe6\x4a\xf9\x74\xe7\x48\x48\xf0\xbf\xc2\x41\x82\x3d\xfe\xaf\x7a\x92\x98\x4b\x69\xa4\x08\x73\xff\x43\x04\x67\x07\x4f\x91\xf0\xe2\x73\x47\xc8\x3b\xb9\xd7\xe7\x87\x6b\xa4\x7b\x78\x60\x27\x7b\x4e\x0f\x27\x37\x59\x02\x8e\x7a\x66\x9f\xb6\xad\x05\x0b\x46\xf1\x64\x1a\x1d\x19\xd0\x81\xaf\xfc\x79\xa1\xaf\x64\x34\x3b\x6f\x64\xcb\xd4\x96\x97\xa5\x30\xf0\x17\xbe\xfc\x17\xe7\x6c\x61\xd2\x0d\xee\xaf\x8b\x52\x10\x5a\x21\xfe\x59\xc9\x15\xa4\x7b\xf5\xb9\x54\xdf\x99\x8e\x4e\x67\x70\x12\x90\xad\x6f\xcb\x2e\xa8\x28\xe7\xe0\xfd\xed\xf1\xa1\x9f\xa9\xee\x05\xde\x77\x1c\xb8\x93\x04\x1b\x84\x74\x86\x86\xfc\x6c\xf0\x08\xb1\xf3\x5e\x43\x9a\x54\xef\x44\xe0\x86\xb7\x58\xd8\x63\xe5\x01\x0b\x30\xde\xc2\xe3\xe5\xba\x58\x43\x22\x45\x32\x2f\x67\x0f\x22\x29\xd5\x0f\xad\xde\xa9\xeb\x25\xaf\x6b\x6b\x5d\x8a\xbe\xcf\x75\x13\x33\x9f\x57\xfc\x7b\xc1\xfe\xb2\x53\xad\x43\xd5\x84\x8c\x0a\x0e\x5a\xb3\x95\x75\x98\x24\x65\xae\x77\x96\xdd\xf0\xbb\x3a\xe7\xad\x4b\x04\x4e\x1e\x97\x44\xee\xf7\xaa\x01\xd4\x7e\xc0\x5b\x69\xcb\xef\x88\xea\xc3\x5e\x04\xba\x7f\x98\x86\x24\x00\x6c\xf1\x9c\xf2\xfb\x3e\xce\x2a\x79\x03\x38\xeb\xee\x92\x22\xdc\x78\x3e\xc4\x01\x21\x83\xf9\x32\xe6\x9d\x61\x7a\x5b\x54\x53\xd2\xc1\x21\x72\x67\x84\x5a\x83\xbb\x31\x59\x5c\xd5\x65\x91\x89\xe9\x83\xa4\x4e\xbb\xc3\xa6\x8b\xb8\x67\xf3\xf8\x07\xd7\x70\xc0\x39\xbb\xca\xf3\x4e\xe3\xd9\x86\x6e\xbe\xc5\x79\x4c\xea\x2c\x54\xe8\xe8\xf5\x79\xd4\x53\xe8\x43\x62\xc2\x03\x51\x00\x6e\x96\x1c\xc6\x12\x31\xef\x07\x0a\xa2\xfc\xdd\x15\xbe\x6e\xdf\x41\x86\x2b\x83\x1b\x6a\x9c\x17\x88\x66\xc3\xe9\xd8\xac\x62\x2d\x7c\x9b\x76\xb1\xac\x9d\xe2\x35\xe0\x62\x33\x0e\x86\x49\xa6\x8e\x3d\x4d\xa1\xfc\x1f\xe4\x36\xa1\xff\xe8\xda\x76\x71\x14\x72\x7f\x25\xaf\x64\x3d\x3d\x1d\xdd\x41\x71\xd4\x01\x0d\x49\xbf\xa8\xfa\x7c\x40\x7a\xba\x81\x89\x33\xa6\xdd\xf3\xf2\x78\xd7\xb4\x54\x51\xf3\x8d\x60\xbb\x9a\x4d\x01\x89\x03\x7e\x2a\x8b\x4a\xcc\x58\x23\x4a\x0e\x09\x8a\xac\x17\x1d\x2a\x29\xc0\x5d\x71\xa4\xd5\x01\x3b\xcc\x37\xe2\xdb\x3a\x6d\x15\x2c\x52\xf6\xae\x54\xba\xed\x63\xeb\x50\x84\x17\x21\xbd\xeb\x1e\x81\x42\x74\xec\x4c\x40\xf6\xd7\x5f\x75\x2e\x9e\xeb\x16\x7e\xed\xd9\x78\x34\xac\x67\xee\xa8\x59\x63\x07\x34\x25\x32\x59\xe5\xf4\x17\x5e\xe5\x1f\xb5\xbb\xf6\x45\x2d\x4c\x06\xe1\x84\x41\x68\xf0\xe6\x66\xa7\xc9\xc1\x22\xe6\x0e\xcf\xae\x2d\xb6\xf1\x0f\x09\x13\xe0\x3c\x6d\xd9\xfb\x71\xb9\x96\xcd\x0b\x9e\x5d\xfb\x58\x29\x1c\xa0\xbd\x25\x7c\x5e\x77\x76\x6e\x93\x6b\x05\x42\x95\x3d\x0d\x4d\x21\x72\x5f\xb9\x63\x0c\x6d\x3d\x78\x24\x9e\xce\x0d\xb9\xf0\xf8\x06\xed\xb4\x3e\x72\x6c\xf3\xe4\xf1\x11\xc6\x5a\x51\xd7\x8e\x84\xc2\x28\x31\x3f\x05\x46\xd5\x75\xbd\x3f\x5e\xee\x68\x7a\x0c\x9b\x38\xe8\x88\xd9\x43\xb4\x3d\xab\x06\x43\x78\x5a\x96\x14\x35\x7f\x14\xa4\xbe\x1f\x7b\x62\xdd\xc6\x7a\xa5\x23\x46\x5e\x3f\xd5\x78\xe1\xc7\xbb\xa1\x77\x28\x77\xf0\xf3\x3a\xee\x0b\x01\x1a\x1f\x5d\xb4\xdb\x36\x41\x4e\xae\xdb\x77\xf6\x47\x7a\x2c\xc9\x75\x9b\x58\x1d\xc8\x06\x20\x9a\xb5\x6c\xb6\x8c\x33\x5d\x39\xed\xa0\x07\x31\x94\x0a\x61\x59\x73\x93\xb5\xfa\xba\x6d\xeb\x27\x27\x27\xfb\xfd\x7e\x79\xdb\x3e\x3e\x3d\x5d\x56\xa2\x3d\xc9\x65\xa6\x4e\x6e\xdb\xdf\x3c\x3e\x5d\x34\xdb\x93\xe7\x2f\x2e\x2e\xaf\xde\xfd\xb7\xab\xdf\x2c\x7e\x77\xe4\x00\xb3\xdd\xee\xb2\xc3\xc9\x09\xc3\x2f\xfe\x38\xc5\x40\x38\xd3\xc7\xa2\x89\x7a\x79\xcf\x54\x22\xdf\x43\x2e\x9b\x3d\x95\x3e\x65\x45\xa7\x62\xb5\x6b\x2d\x1c\x2b\xac\x2e\xbe\x26\x01\x9a\x0f\x1e\x81\x9d\xf6\x28\x14\x1f\x80\xdc\xa0\x3e\xc0\xa6\x22\xa1\x9f\x6d\x27\xfe\x04\x91\xe3\x90\x2a\x10\x1a\x55\x24\x7a\xcf\x40\xad\x85\xbd\x9a\x63\xee\xb4\xf6\x1a\x22\x42\x8a\x16\x9e\xf6\xd5\xa4\x35\xa9\x65\x84\xd8\xba\xc7\x3d\xda\x40\x45\xce\x78\x75\xd8\xeb\x37\x7a\x4f\xa6\xc5\x91\xe8\x63\xe3\xd9\x3c\xae\xeb\x53\xa6\x40\x72\x03\xb6\xe5\x15\x5e\x8b\xe2\x4e\x4b\xb3\x45\x0b\xa6\xd7\x83\xc9\x5c\x07\x4e\xbe\xa8\x5a\x08\x87\xbe\x1c\x29\xf8\x75\x66\x56\x2f\xb3\xea\x5d\xe7\xb9\x59\x68\xa1\x52\x4b\x6d\xe6\x35\x58\x6f\xb7\x75\x6d\x24\x75\xdb\xec\x44\xb8\xed\xde\xd8\x14\xfb\xa6\xc5\xb5\x49\x51\x60\xb6\x17\x68\x0c\x6c\x66\x36\x40\x11\x30\x1f\xf4\xf3\xd0\x68\x9a\x40\xf7\xb0\x66\x95\x64\x5b\x48\xfb\xee\xf2\xbf\xf1\x46\xb0\xe3\x87\xac\x69\xd1\x1c\x95\x69\xd1\xc0\x99\x84\x07\xdd\x34\xa0\x10\x4c\x6b\xa0\x57\x3b\x3d\x03\x28\xc1\xa4\x7a\xed\x8c\x15\x8f\x1e\x75\x74\x7f\x81\x42\xcd\x1a\x82\xa3\x7b\x8e\x86\x88\xee\xb6\x55\xb7\xa2\xbb\xf1\x28\x92\x8f\x53\xaf\x9d\x9c\x18\x1e\x73\xeb\x99\x39\x83\x6f\x60\xe7\xd5\x3c\xf0\x87\x2b\x3d\xf3\x17\x7f\xb8\x5a\x9a\xf9\xa0\xc6\xe3\x11\x36\xdc\xb3\x0e\x43\xd0\x4e\x8f\xb3\xa1\xf7\x9b\x87\x7d\x2b\x03\x7c\xa5\xc5\x1b\xca\x58\xd6\x99\x21\xc9\x5c\xeb\xa2\x49\x70\x57\xa7\xca\x58\x0e\xb3\x6d\xff\x7a\x2c\x76\x3f\xd5\xed\xb0\xe2\xf6\xd3\xf2\x59\x92\x46\xfc\x22\x10\x2d\xe3\x6e\x56\x99\xc9\x88\x89\x29\x55\xb0\x4f\xb1\x6b\x49\x51\xb5\x1f\xec\x8c\xfd\x9b\x68\xa4\xf1\xb0\xf4\x85\x87\x4d\xa1\x89\x85\xa0\x63\xff\xe4\x53\xeb\x7c\x35\x66\xd1\x54\xdd\x7f\x39\x7c\x4f\x8c\x82\x43\x3f\x36\x1e\x83\x43\x0a\x71\x27\x19\x5e\x8e\x0e\x8d\xd3\xb0\x7e\xd2\x0b\x24\x5e\x9e\x23\xbe\x75\x5f\x4b\x26\xd6\x6b\x91\xb5\x26\xf2\xa6\x31\xb9\x75\xef\x43\xe7\x98\x7b\x89\x59\xc6\xa7\x6d\x9f\x6f\xdd\xc7\xec\xab\x9e\x75\x2f\xf4\xf3\xef\xed\x7a\x1a\xf9\xec\x14\x7a\x6d\x17\x8f\x67\x0f\xa2\x55\xed\x59\xab\x79\xfa\xf9\x17\xa4\x1f\x1d\x33\x72\x22\xf7\xf7\x3c\x0f\x3a\x1c\x4b\x9f\x73\xdd\x34\xa5\x49\x17\x1b\xb6\xab\x03\x19\x97\x64\x48\x55\x2d\xc7\xfc\x85\xa0\xc7\xe4\xc9\xcd\x7a\x65\xa2\x75\x15\x6e\x6e\x58\x74\x71\x2b\x9a\x83\x35\xf6\xb1\x7f\x72\x7d\x05\x93\xdb\x8c\x59\xf7\x2a\x4b\x1e\x12\x58\x59\x4d\xa9\xaa\x45\x86\x19\xaf\x6c\x31\xd9\xb0\x53\x73\x38\x1b\x8a\x85\x72\xa9\xba\xd1\xf4\x02\x72\x8d\xbe\xc7\xc0\xa0\xb2\xde\xb5\xbb\x46\x18\x6b\x06\x66\x18\x47\x7f\x8b\x2d\xdb\xd5\x41\xbf\x13\xd7\xa2\xb8\x2b\x14\x7a\x80\xba\xf3\x1f\x2e\x8a\x39\x84\x9f\xc6\xeb\x62\x73\x6f\xb5\xd7\xbc\x4d\x1e\x5f\xb2\x6e\xdf\xc3\x38\x7d\xd6\x24\x37\xab\x3f\xf9\x33\xcd\xfd\x66\x07\xbd\x53\x62\xbd\x2b\x6d\xf6\x24\xdd\xc4\xba\xc0\xc4\xaf\x72\xd7\x32\xc8\x75\x10\xf4\xb1\x27\x3d\x98\x9e\x81\x11\x11\xd0\xcf\xbb\xac\x42\x93\x9a\x43\xef\xfc\x66\xc3\xf1\x9c\x93\xb1\xfd\xfc\x33\xf2\x9d\xfe\xba\x27\xdb\x0a\x16\xfc\xcc\xbc\x5e\x20\xba\x17\xcb\x6b\x96\x83\x64\xc6\x11\xcf\x69\xc9\xc3\x52\xc7\xff\x5d\xb0\xc7\x6c\xc1\xa6\x53\xf7\xd7\x8c\xfd\x13\xdb\xcf\xd8\x23\x06\xf2\x46\x70\x88\x43\x19\x22\x86\xc5\x22\x87\xfe\xf4\xe8\x9c\x45\x8e\x73\xee\xa2\x98\x16\x91\x46\xb5\x2f\xcf\x6f\x10\xbd\x67\x72\x25\xea\x67\xa3\xb5\x75\xc9\x35\x4d\x75\xef\x22\x99\x6d\xd2\xab\xd8\x36\x86\x02\x06\xea\x79\x5c\x36\x72\x27\x16\x67\xbc\x2c\xfb\xd2\x82\xa9\xb6\x61\x97\xc9\x56\x31\x23\x97\xed\x1b\xbc\x9e\x94\xb2\x91\xf3\x47\x83\xfd\x6c\xbd\x00\xf7\x82\x86\xc1\xdf\xb6\xbe\x14\x7c\xfa\x08\xd7\x9b\x2b\x7e\x83\x42\x28\x91\x03\x9e\xbf\xfa\xce\x45\x7a\x73\x15\xf2\xb3\x49\xea\x11\xcf\xc5\x1f\xae\xde\xbc\x7e\x5e\xdc\x9a\xfc\xa6\x1f\x20\x01\xb8\x4b\x04\x2e\x8f\x51\x1a\x98\x06\x9b\x4c\x9b\xce\x42\x5e\xdc\x92\x59\x30\x39\xc4\xf3\xe2\x36\x1d\xc5\xe6\xd2\x71\xeb\x6a\xc7\x51\x23\x30\x3b\x47\x47\xef\xd1\xc9\xfe\xd1\x97\x66\xbd\x93\x8a\x63\x88\x14\x46\xdf\x8d\xa0\xe4\x9c\x59\xa9\x7c\xd2\x43\xd4\xe5\xf7\xe8\x27\x6c\x01\x97\x3a\x64\x1c\x80\x13\x55\xed\x80\x63\xd9\x5a\x66\x3b\x67\x00\x82\x3f\xe2\x94\xc5\x76\x23\xbb\x90\xb9\x0e\x75\x12\x71\x18\x06\x72\x85\xa1\x6d\x84\x56\x07\x1f\xac\x43\xb3\x8b\x3a\x36\x0b\xb4\x73\xbd\x00\x60\x7d\x33\x39\x08\x38\x16\x4c\x0b\x49\xea\x9e\xd2\x65\xfb\xd8\xda\x44\x1d\x08\xb7\x5d\xca\x2a\x93\x55\x2b\xee\xda\xad\xa8\x76\x71\x7a\x46\xe3\x90\x8a\x01\xd2\x3e\xf0\x5d\x56\x10\x5a\xe6\xd3\x48\xc3\x9f\x61\x02\x69\x67\x00\x14\xa2\xfa\x1a\x33\xa2\xa5\x7a\x78\xe9\x0a\xa0\x36\xc5\x57\x58\xf2\x3c\x7f\x71\x2b\xaa\xf6\xb5\xc9\x7d\x64\x02\xd2\x72\xb9\xaf\x26\x73\xdb\x87\x91\x95\x76\xf5\xbd\xab\xe8\x79\x8f\x2a\x75\x06\x20\x2b\xb2\xb6\xfa\x22\xc4\xc2\x30\x51\x43\x2d\x98\x85\x9f\x00\x13\x4f\xe6\x76\x1a\x5f\xea\x3f\x31\x32\x80\x4c\xe6\x1c\x6e\x1b\x64\xa9\x93\x13\x86\x44\xe0\x74\x74\xf3\x81\x9e\x1a\xca\xba\x76\x90\x59\xe7\x8a\x15\x15\x7b\xf9\xd2\xc4\x08\x67\x3b\x65\x92\x71\x63\x05\x44\xcb\x58\xed\x56\x26\x75\xff\xe8\xe9\xef\x80\x9f\xe9\xeb\x13\x35\x7a\xd3\xd1\xa3\xe9\x2a\xdf\xc7\x4c\xda\xaa\xdc\x35\xc7\xe7\x0c\x78\x76\xe6\xfd\x39\xc0\x2b\xf5\x68\x52\x6c\x28\x85\x41\x71\xe8\xc6\xaa\x77\x86\x31\xa8\x38\x5f\xd6\xe9\xc4\x3c\x28\x16\x95\xcc\xc5\x0f\x30\xab\xe7\x9f\x43\x83\x9f\xff\xc8\xfe\x93\x44\x58\x4d\x18\x5b\xc9\xbb\x05\xfa\xf0\x3e\x61\x08\xae\xb5\x58\xc9\xbb\xb3\xa8\x50\x94\x2c\xea\x09\xa6\xc9\xac\x39\xbc\x95\x3e\x2b\xb6\xb5\x6c\x5a\x5e\xb5\x71\x35\xa4\x67\xbc\xe1\xbe\xac\x3b\x64\xf1\x3b\x8c\xe4\x09\x53\xb2\x2c\xf2\xa0\xc4\x07\xfa\xc7\x72\x9f\xc1\x78\xe2\x01\x98\x4b\xf2\x09\x2b\xaa\xb2\xa8\xc4\x62\x55\xca\xec\x26\x6a\x48\xcf\xd2\x82\x97\xc5\xa6\x7a\xc2\x32\xa1\x05\x82\xa8\x00\x71\xd8\xeb\x6c\xa2\xde\x30\x6c\x36\x89\x46\xf4\x81\xa4\x2b\xf7\x4b\x78\x2d\x78\x6e\x0c\xe3\x17\xd7\x45\x99\x4f\x61\xbc\xd1\xca\x5f\x5e\x0b\xd1\xaa\xee\xfa\x93\x8f\x2e\x20\x04\xc3\xc7\x15\x08\x92\xee\xeb\x0f\xe4\xdf\x44\x2d\xf0\xe3\xd2\x16\x77\x3d\xf3\x01\xe8\xec\xdc\x11\xfb\xc1\xfe\x83\xd6\x25\xf6\x14\x0f\xc4\x76\x94\x47\xf3\xe2\x96\xcc\x03\x85\x70\x03\x28\x1c\xc8\x0f\x7b\xee\x12\xd9\xe8\x25\x9d\x0c\x00\xbe\x65\x4a\x5d\x69\xf1\xd2\x33\xb7\xbd\xbc\x9f\x30\xbe\x52\xb2\xdc\xb5\x22\x58\x84\x56\xd6\x4f\xd8\xe2\x77\xbf\x8b\xd6\xc6\xb1\x49\x97\x3f\xee\xbb\xf8\xdd\x85\xa7\xae\x5a\x47\x48\x38\x3b\x74\x4c\x63\xb1\x17\xab\x9b\xa2\x5d\xf8\x04\xb4\x4f\x98\xac\x79\x56\xb4\x87\x79\x67\x03\xb2\xc7\xa7\xa7\x5b\x05\xf6\x68\x1e\xf2\xf2\x62\x2b\x7f\xfa\x28\x1a\x29\x1b\x17\x42\x24\xf5\x59\xb8\x10\x13\x3f\x94\x25\xee\x6b\x1b\xeb\x8d\x63\xe9\x11\x07\xe8\x3e\x8a\x39\x66\x46\x12\x8d\x57\x36\xd3\x41\x84\x78\x37\xd1\xcf\x4d\xb9\x5e\xb3\xbd\x7e\x77\xfb\xd0\x2f\xfd\xc8\x16\xc8\xc1\x2c\x2f\x1a\x91\xb5\x36\xed\x3f\xfa\x4e\xba\x40\x78\xab\x19\x82\x54\x28\x8c\x33\x48\x2f\xb8\x64\xf8\x4c\xdf\xf2\x1b\xa1\x6c\xe2\x45\x97\x6a\xd9\xd8\x22\x7c\xbe\x65\x77\x7f\xdb\x6b\xce\x65\x5b\x36\x92\x15\xf0\xa8\x68\x96\x8c\x5d\x16\x15\xa4\x96\xb7\x44\x82\xef\x90\x22\x9b\xd5\x42\x34\x6c\x0a\x36\x10\x96\xe9\x89\x99\x85\xbe\x2f\xfa\x6c\x9e\xfb\x01\xe8\x76\xa3\x3b\x16\x35\x0b\xdc\x26\x65\xf7\xd5\x40\x25\x01\x7f\x2d\x1f\x98\xc4\x8d\x27\x27\xec\x55\x3b\xd1\xed\x5e\xf3\xec\x06\x8d\x30\x85\xfe\x01\xb4\x67\xa5\xe0\x95\x50\x2d\x64\x74\x7c\xc5\x32\x48\xde\xb8\x2e\xc0\xd9\x85\x6e\x8c\x67\xd8\xff\x8f\x39\x4f\xba\x04\xfe\xea\x07\xc5\xe3\xd3\x9e\xed\x8f\x1f\x52\x77\x40\x9a\x77\xbb\x63\x99\xdd\x53\x86\x1d\x2f\xf1\x31\xf6\x43\x20\x20\x11\xb9\x33\x90\x27\x27\xc0\xd0\xfa\x1f\xf9\xaa\x34\xff\xd6\x03\x4d\xf8\x4a\x00\xff\x10\xd4\xa6\xbe\xf5\xe9\x48\x4a\x50\x31\x14\x5d\x3d\x01\x7a\x05\xdc\xaf\xa6\x9f\xee\x91\xf5\x7a\x9c\x2b\x06\x7b\x30\x2c\x65\x76\xe5\xcc\xf8\x1d\x68\x7d\x3b\x7a\xfc\x3a\x44\xfb\x4e\xdc\x8a\x46\x89\xef\x8a\x5c\xc8\x29\x4a\x89\xe9\x57\x3b\x50\xee\x75\x01\x42\xed\xc6\x3b\x91\x37\x7c\x9f\x44\xa2\x82\x0d\xfb\x87\xab\x37\xaf\x9d\xc9\x19\x94\x83\x80\xa6\xce\x8b\x2a\x52\x45\x3c\x7f\xfb\x86\xe9\xab\xfa\x98\x3e\x98\x3c\xea\x86\xe3\x07\xdd\x62\x85\x4e\x29\xf0\x84\xbe\x07\x0a\xaa\x7d\x73\x1f\x73\x91\x73\x93\x35\x30\x0f\xe6\xc4\x31\xc8\x73\xa8\xe8\x69\xe4\x9e\x81\xb2\x3d\x50\xc7\xc2\xb9\x8b\xa8\x8d\x5e\x21\xfc\x4e\xee\xbf\x41\x65\x6f\x83\x2a\xad\x35\xcf\x04\xdc\x0c\xc2\x78\x99\xe9\xae\xb0\x9d\x42\xe7\xfc\x02\x4e\xd7\xb5\x68\xb3\x6b\xf4\x1c\x95\x15\xcb\x05\x62\xeb\xc1\x14\x1c\xd0\x9e\x07\x35\xc1\x89\xa3\x95\xec\xb6\x10\x7b\xd7\x93\xb7\xcf\xdf\x4e\x9b\x4d\x51\xe5\x7c\xf6\x84\x5d\xc8\x4a\x41\xd3\x8a\xdf\x16\xd5\x86\x7a\x66\x01\x75\xae\xd8\x14\x46\x89\xe9\x9b\xe7\x08\x3e\x9b\xe1\xd3\x61\x06\xbe\x6b\xbc\x40\x7d\x5c\x26\x2b\xc8\xe8\xce\xb6\x62\x2b\x9b\x8e\x22\x4b\x8f\x6d\x23\x9a\x0f\x38\x2f\x30\x3c\xc8\xd8\x85\x0a\x62\x37\x61\x73\x66\xa0\x2a\xf2\xd8\x61\xce\x2a\x8b\x51\x55\xda\xeb\xa7\xc9\xd8\xdb\x6a\x61\x90\xd1\x60\x08\xe0\x61\xc0\xcb\x3d\x3f\x28\x03\xa0\xe8\x69\x81\x43\xb0\x6a\x31\xf9\x62\x81\x6c\xea\xe3\xed\xf5\xc0\x9d\xe2\x4d\x77\x78\x72\xb7\x68\xe4\x7e\xe2\xae\x7c\xc3\xf4\x60\x42\x30\xe0\xcb\x26\x5d\x30\x0e\xe9\x38\xd7\xbf\x93\x7b\xa3\x46\x70\xac\x08\xd3\xe0\x43\x01\x70\xba\xbe\x1a\x74\x27\x26\x86\x9b\x64\xb9\x1f\x80\xc8\x8f\xfe\xed\x00\xd3\x03\xce\x80\xec\xdc\x2c\xc8\xa0\x07\xfc\x59\x0f\xee\x82\x9e\x60\xc8\xd4\xf8\x03\x21\xf9\x63\xdf\x76\xa1\xbc\x13\x6e\x17\x40\x0d\x90\x6b\x58\xb0\x5f\x75\xcb\x04\x5d\xf0\x5b\xc7\x99\x17\x30\xa3\x35\x46\x56\x18\xae\xae\x0f\xe8\x7f\xa4\x49\x79\xd4\x65\xeb\xc4\x69\x53\x67\xf5\xb2\x3b\xb2\x6b\x1f\xbb\x83\xa8\x04\x25\xf4\xe8\x3c\xf3\x5b\x06\x8d\x9d\x46\x3f\x86\xf9\x2d\xad\x68\x0f\xf4\x30\x7f\xdc\x7f\x51\xe5\x83\xbd\xd7\xdf\x65\xf5\x8b\x7b\x1e\x6c\x3c\x6b\x00\x78\xca\x54\x51\x6d\x4a\x61\x31\x39\xc9\x7e\x73\xfc\x84\xb8\xff\x86\xae\x65\x24\xd7\x09\xcd\x4f\x8c\xbd\x2e\x2a\x61\x0e\x82\x95\x60\x95\xd8\xeb\xd7\x0b\xcb\x45\x59\x6c\x8b\x56\xe4\x73\x94\xa4\x2b\xc9\xda\x86\x17\x60\x85\x32\x65\x46\x6d\x60\x23\x40\x06\x20\xda\x5a\x76\x16\x55\xee\x8d\x4a\x18\xb0\xf1\xc3\x8f\x43\x56\x1d\x51\xe5\x81\x2b\x0d\x02\x02\x79\x25\xa3\x3f\x2f\x8c\x2d\x87\x69\xb2\x08\xa4\xa9\xcb\x51\xb5\x0e\xf1\x32\x35\xa4\xc1\xd6\xf4\xf0\x21\xfb\x0c\x8a\x6e\x82\x3c\xfa\xa0\x02\xb1\x2e\x28\x1e\xe4\xd2\x51\x9f\xfc\xd9\x80\x64\x81\xf5\xc8\x2c\x93\xfe\xfa\x17\x59\x54\xd3\xc9\xa4\xf7\x86\xec\xdf\xf2\x72\xff\x0f\xb6\xd1\x87\xef\x35\x0c\xd3\xd2\xf3\xf2\xf7\xb0\xc9\x13\x1b\x6d\xe4\x0e\xc3\x89\xb9\xc7\xf5\x16\x6f\x0e\x72\xbd\x0d\xf1\x37\x94\x22\xd7\x4e\xcc\xdf\xbd\x0c\x27\x5b\x5e\x32\xf4\x9e\xb6\x37\x8a\x0d\xea\xe3\x79\xde\x08\x85\x90\x66\x66\xfe\x34\x4f\xe0\x57\x58\xf5\x78\xae\x3b\xf8\x35\xbf\x12\xcf\x66\x72\x5b\xef\x5a\xf3\x8e\x36\xd0\x58\x74\xf1\x9b\x0e\x16\x90\x63\x3b\x4d\x37\x35\xdc\x7b\x25\xc7\x78\xe7\x20\x13\x8e\xc3\x01\x75\x7c\xec\x1f\xf5\xc8\x04\x4e\x76\xe8\x62\x45\xbb\x77\x01\x9c\x09\x95\xd8\x1b\x69\x53\x4b\xb1\xf0\xdc\x45\x77\x06\x1f\xf6\x12\x63\x48\xc4\xeb\x00\x1e\x7f\x55\x79\x70\x81\x9b\x7b\x0e\x61\xa5\x3c\xcf\x0d\x30\xb5\x6d\xd2\x9c\x42\x9a\x7d\x19\xfb\x5a\xb6\x05\x28\x4a\x38\xc4\x61\xa0\x55\x7a\x8f\xbb\x56\x99\xae\x78\x60\x26\xe3\xae\x6f\xba\x52\x16\xaa\xb5\x53\x8e\xa1\x0d\xd6\xdd\x42\x93\xd2\x72\x60\x01\x5e\x1a\xb8\x38\x7a\x47\x4d\xed\x2d\x65\x02\x31\x58\xdd\xc8\x5a\x34\xed\x01\x54\x2f\xce\x33\x8f\x0a\x41\x06\x38\xbe\xbd\x2e\xaa\x1b\x0f\x21\x8f\x23\x5a\x95\xbc\x02\x31\x9d\x29\xb9\x15\x7b\x74\x4f\x32\xe0\x8b\x45\x9e\x5b\xf4\xa5\x00\x08\x77\xce\x4a\x29\x6f\xf0\x55\xa0\x9f\xee\x18\x60\x30\x0b\xa6\xd3\x70\xb4\x73\x1e\xa9\xf9\x01\x4e\xca\xca\x9e\x87\xb7\xc6\xf6\x77\x25\xeb\x13\x8c\x1c\x9a\xeb\x8b\x3a\x13\xd0\x43\x75\x2d\x77\x25\x9c\x6d\x2b\x7d\xcc\xea\x81\xdb\x96\xa6\x33\xdd\xc1\x8c\x2b\x88\x4f\xd6\xfd\x85\x07\xcb\x1e\x14\x3e\x5b\xdd\x46\xe3\x7b\xe2\x74\x66\xf6\xde\xb6\x8a\x19\x91\x33\x6e\x1d\x1b\xd9\xa9\x5d\x0e\x74\x77\xc4\xfc\x3b\x22\x67\x23\x6e\x6f\x12\x75\x16\x3a\xd1\xb9\x50\x5c\x1f\xd3\xfa\xae\xeb\x26\xda\xe5\x73\xa3\x82\x59\xaf\xd1\xc3\x7d\x78\xcf\x38\xba\x1d\x89\xc0\xb8\xda\x42\x3f\x3a\xf2\x40\xe3\x3b\xd2\xab\xfa\xc2\x57\x8a\x91\x00\x34\xa3\x77\x54\x48\x71\x55\x7d\x48\xc3\xb9\x3b\x99\xcc\x48\x3d\xc7\xa8\xe7\x76\x54\x8f\x58\x71\xd6\x45\x65\xd2\x32\xc2\x3b\xb9\x9f\x36\x72\x3f\x0b\xe0\x0c\xc5\x5d\xdb\xd8\x70\xe3\xc1\xc9\xeb\x0d\xbd\x72\x40\x8e\x8e\x12\x89\x96\x39\x1a\x09\xeb\x6a\x99\x41\x61\x93\x9e\x05\x46\x06\xc1\x32\xea\xe0\x18\x84\xc9\x98\xbc\x8f\x22\x7f\x51\xe5\x21\xba\x81\x75\x14\x81\xef\xcf\xe5\xde\x86\xda\x7c\x78\x10\x20\x65\x69\xc6\xfa\xfd\x91\xc9\x99\x91\xf0\xd8\x11\x8c\x88\x31\xce\x44\x37\xf4\xd4\xe8\x31\x23\xf8\x2e\x47\x10\x83\x69\x83\xfb\xb4\x94\x99\x3e\xa7\x7d\x94\x2f\x06\xb7\x79\xb1\x24\x71\x97\xea\xe3\xb6\x02\xbc\xf1\xf8\x74\x86\xfc\x4d\x20\x00\x65\x87\xac\x34\x64\x73\x4c\xe3\xf4\xdd\x95\xb9\xe5\x94\x9e\x5f\xa9\x04\xdb\x5f\x17\xd9\x35\x68\x31\xf2\xc6\x26\x07\x58\x1d\x74\x41\x03\x93\xae\x82\xa4\x18\xfa\x9b\x93\xe8\xb6\xbc\x2a\xea\x9d\x16\xa7\x8c\x04\xe3\x6f\xd0\x99\xf3\x54\xc2\xdb\x51\x1f\x43\x73\xe3\xfa\xaf\x0f\xd2\x12\x1e\x09\xa1\xe2\xc4\x53\x60\x0d\xc4\x1e\x40\xb7\xb6\x3c\xb7\x8f\x0c\xb8\x31\xe0\x22\xdb\x13\xa5\x8b\x5c\xaf\xf1\xc6\x57\xc2\x49\x62\x45\xd3\x39\xf7\x0b\xa1\x7b\xd1\x88\xf5\xae\x2c\x0f\x78\x69\xe0\x65\x21\x72\xa6\x24\xe3\x78\xfc\xa2\x6a\x65\x6d\xd5\xec\x5e\x86\x38\x72\xbc\xb9\xe3\x9d\x1e\x6e\x7a\x2d\x5f\xa1\x9e\x25\x33\xa8\x4f\xf2\x55\x28\x91\x25\x36\x14\x06\x7d\xc3\x8e\x8a\x09\x74\x7d\xdc\xf1\x08\x86\xc2\x86\x36\x89\x25\x77\xfe\x75\xf0\x3c\xb2\x9b\xdb\x11\x65\x5f\x85\xfd\xf1\xee\x72\xae\x08\xee\x46\x01\x11\xae\xa6\x2c\xe0\xa5\x98\x68\xe3\x00\x19\xc4\x56\x36\xe5\x68\x55\xdf\x24\xad\xfc\xe0\x41\x32\x00\x8f\x3c\xe8\x06\xf5\xa6\xaf\xfa\xa2\xe6\xde\x19\x72\xe9\xeb\xdf\xee\xa9\x41\x65\x88\x7d\x16\x68\x41\x43\x80\xd4\x8a\x02\x3d\x70\x64\xe7\x05\x61\x02\x2e\x81\x7f\x82\x47\x04\xc8\xff\xef\x88\x50\xdc\x95\x79\x33\x5e\x21\x1e\x06\xe1\x47\x6a\x53\x42\x0d\xa3\x91\x73\xe8\x39\x30\xd5\xd7\x7f\xc6\xab\x49\xab\xdf\xd6\x02\xe5\xd9\xad\x0d\x42\x37\x7f\x88\x36\x9b\xcd\x89\xa0\x00\x1b\x04\xc0\x82\xa5\x47\x08\xb1\xd3\x15\xa9\x23\x8f\x46\x1a\x92\x45\x4b\x3f\xc8\xe7\xe8\xd5\x49\xc2\x35\xbd\x3e\xcc\xba\x7c\xe2\x1f\x3f\xff\x1c\xb0\xb5\xb7\xb0\x8c\xb8\xde\xef\xf3\xc8\x37\xf1\xa1\x5e\x93\x56\xfc\xd8\x7f\xef\x06\xe0\x86\xdf\x34\x05\xc8\x82\x3e\x61\x49\xaf\x84\xdc\x08\x55\x8b\xcc\xc3\x0d\x82\x03\x06\x6e\x54\x60\xa8\x7d\xc3\x6b\x8e\xf9\x69\xb6\xa0\xae\x07\xb7\x63\xd4\x9c\xe6\x08\x95\x05\xc7\x23\x1c\x79\xbd\x42\xb9\x5d\x69\x70\xe3\x5d\xaf\x5d\x4c\x7d\x74\x94\x12\x5e\xb3\x71\x29\x14\x27\xda\xb3\x3b\x0c\xab\x50\xec\x8b\x4a\xb6\x5f\xe8\xdb\xc7\xa6\x01\x34\x1e\xa6\x99\xe9\xea\xb7\xe6\x68\xf4\x3e\x9b\x33\x2b\xc4\x16\xe6\x94\xe6\xed\xc4\x40\xe2\x1c\xe4\x6e\xd2\x08\x34\xc4\x86\x6f\xf9\xc0\xef\x94\xf4\xa0\x95\xac\xd6\x53\x7d\x84\xfb\xa0\x4c\xd2\xa7\xd4\x1d\x7a\x6f\x2d\xef\x9c\x92\xc3\xb0\xb1\x10\x85\x65\xb1\x5a\xee\xb3\xa5\xfd\xc5\x38\x9e\x3e\x70\x70\x27\x94\xc4\x57\xae\x62\x27\x68\xc3\xc5\x27\x92\x45\x7d\xf8\x70\x54\x1c\x52\x1c\x35\x63\x4b\xcb\xed\xb6\x68\x5f\x17\x95\xb0\x28\x98\xd3\x30\x12\xb9\x12\x7b\xfd\xd5\xc3\x1f\x39\xe9\x2c\x33\xaf\x4a\x37\xcc\x05\x9d\x89\x33\x57\x2e\x2f\xf2\xb7\x1d\xac\x4c\xfb\x51\xed\x56\xaa\x6d\xe2\x40\x93\xc1\x28\x08\x7b\xaa\x47\xb2\x15\x01\x5a\x72\x43\x0d\x9b\xb6\x30\xa2\x20\x71\x99\xce\x27\x09\xc4\xa8\x39\x3d\xc1\x18\x2c\xc2\xbf\x20\x8d\x3d\x7c\xc8\x3e\xeb\x5b\x31\xdf\xbd\x93\x13\xfd\x08\x6c\x3d\x3b\xda\xc5\x12\xb9\x79\x86\x56\x02\xcc\xe9\x64\xb9\xd1\x59\x01\x84\x1b\xa3\xdb\xb0\xa4\x20\xe2\x10\x38\x55\x10\x64\x6e\x7b\x14\xaf\x84\x0f\x4b\x94\xb4\xd1\xa5\xa7\x70\xf5\xf6\xf9\xdb\x27\x24\x41\x8b\x3e\x1f\x5a\xc9\xe4\xae\xd1\xf7\xd9\xaa\x14\x5b\xe3\x98\x00\xce\x9d\xab\x43\x2b\xd8\xb7\x57\x2f\x17\x8f\xff\x67\xe8\x34\x8e\xa6\x1c\x58\x58\xc2\xfa\xf0\xb7\x66\xfc\x39\x65\x13\x23\x6a\xa0\x7b\x3c\xc5\xf9\x4e\x56\x73\x8c\xf6\x78\x16\x2f\xa4\xfd\x68\x96\x85\x8a\x0a\xf7\xed\x4c\x97\xd5\x5b\x79\x23\x00\x97\xcd\x9e\x10\x61\x62\xb2\xba\x2c\xda\xef\x8b\x5c\xe8\x59\xc0\xe4\x48\x53\x6c\xc1\x50\x4a\x46\x5b\x02\xc9\x54\x94\xa5\xd9\x07\xf0\x5d\xdf\x18\xfb\x4c\x3f\xdf\x3c\xcc\x50\xc0\x9a\x51\xd4\x2e\x96\x75\xbc\x1e\xc3\x17\x39\x6e\xc4\xfb\xe1\x4d\x27\xc7\x52\x42\xda\x33\x03\xf2\xfd\xf1\xe3\xea\xcc\x73\x44\x40\xb3\xf3\xbe\x29\x5a\x31\x4c\x23\x75\x2e\xf5\x8d\x8b\x1c\x1f\x66\x7d\x82\x6a\x5b\x7e\x58\x89\x8b\xb2\xa8\x2f\xf0\x22\x24\xa0\x4b\xf4\x88\x7d\x74\x9e\x12\x0c\x8f\x04\x00\x3c\xe8\x3c\x14\x5d\x62\xe7\x59\x8c\xc5\xf4\xd1\x28\x2c\x06\x5d\xd5\xbd\x9c\xcc\xdb\x24\xb8\xf1\x3b\x41\xe6\x61\x64\x9a\xbd\xc5\xad\x8b\x0b\x83\xf0\xb9\x99\xfb\x6e\x14\x3a\xf1\xe5\x89\xd1\xb6\xbc\xae\x05\x47\xa3\x6f\x2e\x6d\xab\x97\x36\xa3\x61\xe7\xc9\x64\xe3\x51\x77\x65\xd9\x83\x08\x8b\x27\x09\x04\x1f\xd9\x47\x55\x38\x32\xe6\x9e\x92\x5f\x7c\xfd\xf6\xea\x0b\xec\xcc\x56\x2a\x0f\x17\xa0\x74\x57\x18\xfb\x5e\xe8\xcb\xdd\x47\x9a\x6b\x72\x1b\xa9\xfb\xf5\xb9\x5c\xaf\x17\x5a\x0a\xfa\x1c\x11\xec\x2c\x4c\x5d\xd1\x1a\xff\xab\x7f\x47\xfe\xf8\x77\x10\x88\xfe\xbd\xdd\xee\xee\xfe\xdd\x87\x08\x5b\x11\x46\xd3\xd3\x6f\xe3\xb2\x2b\xcb\xcc\xcd\xc3\x15\x81\xe5\x82\xb7\x27\x6a\x36\x31\x43\x74\xbd\xd9\xd5\x27\xf5\x26\xaf\x10\x1b\xaf\x6a\x8b\x6a\x07\x72\xfb\x5e\x36\x37\xfa\xcd\x07\xc3\xd2\x8f\x59\x65\x14\x63\xe2\xae\x36\x19\xfd\xd2\x06\x46\xab\x8b\x8b\x6d\x0f\x1d\x38\x23\xc2\x27\x7d\x64\x90\x05\x63\x4a\xa1\xe2\x33\x20\x36\xb7\x86\x87\xa2\xca\xca\x9d\x2a\x6e\x47\x24\x43\x0e\xc3\xf9\x03\x91\xc9\x8e\x65\x1e\xf4\xc7\x5b\xc3\xfd\x60\xcf\xcf\xd9\xa9\xbe\x42\x83\x7e\x9f\xf7\x81\xc3\xe2\xdd\x41\xe2\xa2\x88\x0e\x13\x90\x23\x76\x65\x79\xd6\xfd\x8a\x64\x69\x81\x6e\x4e\x95\x88\x92\xeb\xe1\x20\x39\xda\xeb\x8e\x60\x1f\x98\x33\x6a\x62\x43\xe2\x59\x26\x9b\x9c\x08\xfb\xdf\x5d\x75\x33\xa6\x19\x8d\xfd\x29\xdb\x55\xa5\x50\x91\x43\xce\x35\x57\x6c\x85\xca\x9a\x32\xb7\xd0\xf5\x4d\x91\xb5\x5e\x74\x37\x32\xbe\x92\x5b\xc1\xb4\x98\xd1\x18\x5d\xf9\xab\xd6\xa9\x72\xf4\x5d\x05\xdf\xbf\xbb\x8a\x0f\x16\xcc\xc9\x96\x87\xe4\xac\xde\x66\xd8\x8a\xd1\xca\x1a\x78\x1f\xc7\x1b\xf4\x7b\xa2\xba\x2c\x3c\x6c\xd1\xb0\x3c\x76\x95\x0a\x55\x77\x47\x74\xb0\x76\x9f\xd1\xf4\x88\xd4\xee\x41\x4b\x9d\x11\x03\xe8\x69\x9f\x11\xca\xec\x97\x8f\x5b\xb8\xb6\x17\x38\x9b\xae\x68\xd1\x76\xd6\x12\x35\x48\xf1\x72\xba\xb5\xbc\x2e\x36\xd7\xe3\x16\x93\x42\x52\x75\xd6\x73\xe4\x62\xe2\x14\x7c\xfa\xf5\xb4\x1b\xfd\xe8\x92\xda\xbd\x76\x74\x55\x4d\x41\xba\xb0\xfd\x67\x08\xc5\xac\xff\xa6\x91\xfa\xd9\xca\x38\x9b\xfc\xb9\x9a\x78\xf1\x96\xd8\x6e\xc8\xcd\x5b\xb8\x38\x96\x35\x82\xf3\xc8\x7d\x67\x7d\x5b\x2f\x55\xa3\x15\x0c\x0c\x3d\xa0\xff\x74\xb6\x9e\x40\xc3\x43\x96\xc6\x1e\x17\x64\xca\x3b\xaf\x6e\xa0\xe4\xfc\x2d\xf4\x5f\x6f\x6d\x7a\x48\x8c\x3c\x01\x4b\x4d\x20\x30\xb4\x2e\x2a\x19\xc2\x79\x4d\x8f\x21\x74\xf3\xb8\x05\xd8\xbc\x0b\x7b\x62\xda\xa1\x81\xa7\xed\x8b\x2a\x7f\xbb\x76\x59\x27\x07\xdf\x76\x60\xfc\x38\x27\xa2\x68\xe2\xbf\xa3\xaa\xf1\x48\x4a\xeb\xe3\x17\x0f\x20\xf9\x54\xef\x8c\xcb\x40\xa4\xd1\x02\x56\xd6\x16\xb7\xc2\xe0\x5c\xde\x8a\xc6\x2e\x99\x35\x66\x2e\x47\xbd\x56\x71\x44\x49\x86\x0c\x9e\x80\x28\xd7\x18\xb4\x01\xa2\x7a\xf1\x3d\xc3\xcb\x74\xce\x6a\x87\xf3\xe4\xe4\xc3\x25\x15\x9e\x6d\x2b\xdf\xd6\xd3\xc7\x11\x1c\x64\xaf\xa5\xe0\xc8\x08\x2c\x18\x67\x00\xc7\x99\x58\xde\x51\x23\xb2\xaa\x4b\x67\xd1\x85\x04\x75\x28\x6b\x42\x64\xfc\xae\x0d\x9f\xb4\x1d\x46\x3d\x5d\xfe\x3a\xa3\x22\x9d\x7f\x6a\x30\x96\xe0\xc3\x9c\xf1\xfc\x96\x1b\xe5\xa8\xed\x0e\x10\x80\x6c\xc7\x42\xd9\x8c\x1a\x16\x58\xe0\x13\x74\xce\xe0\x65\x50\xc8\xb7\x51\x53\x7f\x74\xe2\x97\x8c\x3d\x25\x67\x0f\x3d\x72\x9c\x9a\xcf\x52\x02\x81\xd6\xb9\x8a\x38\x49\xa5\x73\xec\x2c\xbd\x24\x44\x91\x3e\x1f\x77\xa1\xbc\xe3\xa9\x25\x4a\x6a\x7d\x3c\x00\x02\x6d\x7c\x44\x2d\x1f\x7c\xda\xe9\x0c\x44\xb1\xd7\xc5\x0d\xb8\x04\xa0\x7a\x6b\xce\xc4\x5d\x26\x6a\xfd\x62\x28\xc0\x4f\x86\xae\xf8\x28\xdc\x96\xb2\xa8\xc4\x4b\x21\x12\xf0\x9c\xf7\x86\xf9\x48\xe9\xde\x3a\x71\x38\xbb\x6d\x35\x4d\x41\xa2\xbc\x5a\x43\xc2\xbe\x0b\xde\x34\x05\xdf\x08\x23\xbb\x20\xd4\x05\xaa\x8d\xe8\xa0\xf5\x4a\xd8\x9e\xa3\xb3\xc0\x30\x14\xd5\x36\x3d\xc4\xae\x8a\xa1\xdb\x87\x40\x48\x0f\xc6\xd6\x95\xbc\x7d\x97\x3a\xeb\x16\x23\x27\xed\x6a\xb0\x60\xc2\xae\xac\xa5\x52\xc5\xaa\x3c\x18\x05\x38\x48\x38\xc4\x06\x98\xf0\x40\xf0\xb8\x1c\x10\xf2\x02\x61\x99\x47\x53\x81\xa3\x43\xfe\xeb\xc1\x05\x27\xcf\x19\xe7\x02\x45\x24\x57\x9f\xdb\x2f\x73\xaa\x8a\x23\xdc\xd1\xc8\xfd\x19\xb1\x30\xbb\x4a\xe4\x61\x12\x4c\x31\xce\x01\x38\x48\xa6\x36\x64\x7a\x5b\xbd\x93\x7b\x4a\xdc\xaa\xda\xa2\x47\x4c\x5d\xf2\x4c\x00\x2c\x4c\x08\xdc\x00\x2a\x46\xb1\x6e\x7b\x12\xdc\xf9\xa8\xa6\x9a\xa3\x06\xa2\x23\x59\x85\x3e\xec\x08\xd1\x82\x1a\xcc\xba\x91\x2b\xae\xd7\xf6\x0b\xb4\x59\xa2\x32\x81\xb4\x0f\x11\x4f\x06\xc9\x1a\x3a\xa8\xe9\x99\x54\xf4\xd0\xe0\xcc\x63\xfd\xa0\x99\x8b\xd6\xe6\x00\x36\xb1\x12\x07\x69\x90\x4c\xc3\xbe\xdf\x03\xcb\x55\x34\x5c\x89\x2b\xf9\x5a\xcf\xc3\x80\x78\x94\xc6\x52\xef\xd9\xe8\xa7\x5d\x63\x6c\xac\x5d\xc3\x6c\x60\x1b\xd1\x7e\x7f\x5d\xb4\x02\x06\x1c\xa5\xec\x7a\xc4\x1e\xcf\xee\x83\xa7\xfc\x42\x0f\xc4\xb9\x75\x7a\x4f\xb4\xee\x9a\x37\xf4\x4d\xe3\xce\xee\x78\xaf\x39\x0d\x95\x7e\x9f\x54\x64\xaf\x85\x22\x35\x26\xbf\x73\xb1\x89\x06\x44\xd1\xec\xd0\x96\xe0\xfd\x74\xca\xb4\x26\x2f\x01\xc8\xd9\xc6\x06\x06\x13\xa1\x02\xaf\x02\xb4\x60\x12\xcd\xd3\xae\x5a\xcb\xa6\xdd\x55\xbc\x15\x24\xc7\x01\xaa\xc8\xac\xdb\x30\xd0\x31\x12\x3c\x02\x47\x81\x07\xa5\xf3\x26\x25\x81\x6f\x79\xb1\x5e\x17\x19\xa0\xc3\x80\xff\x9f\x60\xbb\x9a\xf0\xa2\xf1\x5f\xc3\xf8\x6e\xb1\xad\xdb\x83\x21\x0e\xd1\x36\xa0\x18\xaa\x26\x2d\x6b\x9b\xa2\xb6\x08\x47\xc8\x6b\x78\xdf\x3f\x30\x89\x17\xec\xc4\x19\x76\x7b\x07\x4b\xa0\xc7\xb3\xa9\x64\x23\xac\xef\x23\xc3\xcc\x90\x88\xb2\xc2\x1d\x6e\xa2\x51\x7e\xd9\x39\xc8\xc5\x6d\xc1\x5b\x34\x02\x82\x4f\x08\x68\x03\x71\x48\x7c\xd3\x08\x61\x14\xff\x9b\x4a\x6e\xc5\xc2\x3d\x6a\xb4\x10\x74\x83\x69\x41\xe7\xec\x6e\x9d\x89\xff\xe1\xbe\x2d\x19\xbb\x14\xb8\xc5\x9b\xd5\x6e\xb3\xcc\xe4\xf6\xe4\xcb\x7f\xfe\xf2\x9f\x7f\x77\x0a\xaf\xd2\x5c\xb4\xbc\x38\x9a\xb4\x3b\x18\x5a\x84\xec\x93\x85\x69\x15\x46\xd9\xc0\x62\x14\x2c\xbd\x19\xb7\xfc\xee\xe2\x93\x18\x83\xa8\x4d\xcc\x75\x90\xfd\x8b\x07\x90\x77\x3f\xce\x5d\xa3\x33\xf6\xc4\xfd\xbb\xa3\x61\x4e\x29\xc2\x09\xcb\x9f\x9f\xc7\xa9\xaa\x52\x15\x9e\xbf\x78\xf9\xf4\xdb\xd7\x57\xef\x2f\xde\xbe\x7e\xfb\x8e\x3a\x57\x1d\xf7\x39\xfa\xe1\xc8\x65\xf4\xa3\xf7\x9e\x4a\xda\x45\x2a\x99\x63\x72\x1d\xef\x8e\x34\x63\x5f\x9d\xa7\x6d\x05\x83\xa6\xbe\x1e\xe3\x25\xee\xe3\x8b\x6b\xde\xa8\x69\xd6\xc5\xc0\x4f\xa4\xf8\x9b\x0e\xa3\xcf\x8d\x3d\x9c\xef\x73\x02\x43\xbf\x8e\x9e\xba\xc3\x5d\xee\x9c\xc9\xf4\xa4\xec\x11\x6c\x7a\x0f\xdb\x63\xfb\xed\xd8\xb3\x7e\xd4\xd4\x90\x81\x38\x1b\xcc\x27\x1c\x7f\x24\x79\x78\x08\xb6\xc8\xbd\xde\xf8\xae\x0d\x5f\xe7\x73\xfd\xf4\xe7\x4d\x0e\x0a\x38\xb9\xee\xb3\xbc\xfc\xf2\x99\x7d\xba\xd2\xa2\xeb\xbd\xa7\xd6\x4e\x0e\x91\x2b\xcc\xcf\x49\xdf\x52\x97\xb4\x21\xb0\x2a\x1e\x79\x44\x15\xfe\xc5\x79\x74\x1d\xa9\x2b\xd5\xaf\xb9\x98\x3d\xc8\x8b\x5d\x2f\x15\xe3\xdf\x0f\xba\x85\xbf\xd2\x52\x3e\x13\xc9\x84\xa1\xf7\x5c\xca\x77\x24\x15\x4f\x80\x2c\x3f\xa4\xa5\x8c\x96\x9d\x26\xe9\x40\xd0\xcf\xaf\xce\x0d\xa1\xbf\x7f\x06\x78\x59\xc4\x99\x16\x8c\x8c\x64\xf0\x1a\x3b\xaf\x03\xef\xc4\x4e\x20\x10\x8d\x0b\xd4\xa0\xe5\x34\x06\xa0\xcb\xae\x91\x0f\x9c\x9f\x84\x41\x5c\xb3\xc1\x9e\xeb\xa2\x3c\x1a\x69\xac\x3b\x4f\xbd\xcb\xaf\xef\xc7\x04\xfd\x8b\x71\x6a\x17\xc3\xad\x34\xfa\x86\x9f\x9e\xc1\x3f\xba\x20\x81\xc6\xa1\x5a\x7f\xf5\x2b\xee\x2a\x67\xb2\xc4\xca\xfa\x1f\xbd\x08\x83\x99\x2c\xa9\x13\xc2\x91\x2e\xda\x04\xc1\xe9\xb4\x33\xf1\xcd\x98\x5d\x27\xd3\xa7\x8d\x7d\x82\xe0\x76\x6f\x8b\x46\x58\x70\x1f\x10\x3d\x4b\xc1\x43\x55\x00\x6f\x8d\xb1\x3b\x0d\x95\x49\xf9\x64\x90\x49\xa8\xb8\xfd\x81\x7a\x0e\x7a\x24\x4c\x77\xb7\xc8\x5a\x00\xd6\x1e\x98\xb2\x0d\x1a\xa5\xb2\x96\xd3\xe8\xee\x31\x7a\xb8\x11\x00\xaa\x71\xba\x99\x8f\x76\x6d\x1c\x91\xb2\xe2\x41\x90\xb1\xe2\xfc\x3c\x48\xb1\xf4\x02\xdf\x27\xde\xe9\xd4\xab\x6c\x97\x0f\x58\x37\xab\x6a\xea\x4a\x4a\x9c\x46\xa6\x1f\xdd\xc4\xd3\xe4\x1c\x32\x65\x7a\x4f\xa0\x5e\x1a\xa7\x1d\xaf\xf7\x5e\x36\xd2\xc7\x8d\xdc\x19\xc5\x0f\xc9\x9e\x9f\x82\x0c\x3e\x7a\x6f\xb0\xa3\xfc\x86\x76\xbc\xbf\x4f\x96\xfb\x84\xec\xe6\x4e\x3f\xbb\x84\x91\x70\x5f\xca\x40\xab\x99\xcc\x76\xd2\xbb\xba\x34\x61\x7a\xa0\xdf\x08\x97\xdc\xc7\x14\x20\xa2\x28\x28\x03\x30\x10\x20\x8d\xec\x1c\x87\xad\x26\x1d\x6b\x63\xdf\x15\x70\xb7\xae\x77\xea\x1a\x43\x03\xa8\x89\x98\x37\xc6\xa5\x44\xb5\xfa\x4d\x07\xc1\x50\xfa\x5d\x0f\xb9\x2a\x76\x75\xaf\x93\xf6\xac\xd7\x1d\x04\x5f\x94\x61\x54\x20\x8e\xc8\x8d\xf0\x28\x40\xaa\x53\x09\x7e\x4c\x5c\x54\x8f\x42\xb2\x2b\xba\x74\xac\xba\xb8\xda\x59\x9c\x53\xcd\x3c\x87\x4d\xe5\x85\x6f\x39\x48\x36\xb1\x95\xb7\x02\xdf\xe8\x26\x1c\x30\x0a\x8a\x24\xf9\xe8\x1a\x1b\xde\x02\xf9\xe7\x6e\x04\x6b\xa4\xdc\xea\x43\xe9\x81\x4b\x50\x67\x4c\x1f\x53\x35\x33\xa1\x9b\x19\x25\x9d\x17\xaa\x45\x83\x0f\x46\xd1\x81\x6b\xbb\x4d\x2b\xe0\x3b\x72\x9e\xe8\xb3\xfe\xb7\xc9\x04\xfd\xd8\x86\x3f\xb8\x1a\xc4\x45\xcc\x07\xe7\x91\x30\x1d\x57\x70\x4e\x08\x3e\x72\x0e\x89\x1d\xa9\xcf\x7a\x4d\x26\x51\xde\xc7\x46\x07\xb1\x47\xec\x7e\x72\x5f\xef\xfe\x32\x41\x01\x23\xf7\xd7\xd7\x2e\x2a\xb4\x81\x70\xa3\x54\x1c\x66\xd7\xd1\x4c\x2f\x27\x46\xdb\x80\x76\x77\xc9\x34\x9d\x07\x98\x82\xdb\xa4\x3a\x00\x07\x09\x30\x2c\x42\x04\xa2\xa9\xb4\xab\x8d\x82\x4d\x77\x16\x82\x76\x00\x90\xdb\x04\x90\x1b\xbc\xbd\xa3\x98\xba\x7a\x80\xe3\x76\x4e\xaf\xd8\x87\xbe\xa4\x75\x20\xb5\x77\xae\xe8\xfe\x0d\xd4\xd5\x58\x39\x26\xd4\x54\x0d\xdb\xf5\x6d\x32\xa7\x73\xf2\x84\xe4\xad\xb8\x34\x71\x34\x9e\x9d\x63\x16\xce\x6c\x6e\x6e\x47\x20\xc5\xca\x90\xa1\xc2\xb6\x64\xe9\x0e\xbc\x52\x3b\x11\x90\x47\x78\xd6\xf7\xf5\xbe\x3c\xfb\xa9\xde\x2a\xaf\xe0\xec\x54\x24\x9c\xc7\x1f\x43\x46\xc9\x3c\x2e\xf5\x40\x8f\x1c\x31\xde\xfe\x64\x1c\x73\x81\xa5\x7f\x11\x2f\x42\xf0\x66\xaf\xd6\x4a\xdf\xee\x89\x44\x27\x81\x5b\xf0\x5e\x75\x0b\xf4\x38\xe1\x7e\xb2\x37\x23\xe6\xc3\x59\xf8\x38\x24\x82\xbc\x9f\x34\x52\x38\x88\x7a\xbf\x3e\x09\x8b\xce\xe8\x2b\x37\x34\x7f\x18\x63\xc2\x98\xd3\x03\x34\x95\x03\x2b\x86\xa5\xf2\xf8\xd6\x4d\xab\x39\x4d\xca\x4d\xa8\xe0\xc2\x0d\x7a\x94\xc0\x85\x32\x52\xe2\x74\xd6\x55\x01\xf7\xe9\xf3\xee\x99\x12\xc7\xf4\x25\xb5\x2f\x03\x8e\x49\xb1\x9b\xad\x4b\x2b\xf7\xb2\xc9\x87\x07\xe3\x79\xe5\xf2\xba\x58\xb7\x01\x50\x44\x78\xad\xec\x6a\xcd\x4a\x8a\xad\x0e\x09\x33\x17\x5c\x66\xc9\x2b\xcb\x85\xa2\x1b\x86\x1a\x70\xa2\x05\xd8\x12\xa3\xe5\xd0\x74\x6e\xb9\x16\x4f\x72\x0b\x5f\x73\xe5\x05\x12\x3c\x01\x74\x59\x2d\x4b\xee\x5a\x6f\x2d\xb5\xe7\x09\x18\x9c\xb8\x5f\xd6\xfe\x0c\xe1\x80\xfd\x68\xac\x54\xa1\x8c\x89\x63\x68\x19\x2f\x4b\x2b\xbe\x82\xaf\x07\x42\x96\xd0\xd0\x2e\x3d\x50\x2d\xbc\x8e\x38\xb6\x20\xd5\x96\xe8\xc7\x4f\x49\xed\x22\xe8\x08\x45\x93\x1c\xda\x3f\xde\xb3\xe9\xe3\x0f\xbc\x7e\x7b\x77\xd2\x3c\x4f\x40\x1b\xfd\xd5\x3f\x25\xf2\xd8\x48\x0d\x06\x61\xc1\x15\x28\x0d\xc9\x0b\x13\x90\xb0\x8f\xf3\x5e\xb8\xc0\x23\xde\x25\x63\x78\xb6\xcf\x85\xfc\xbf\x26\xc3\xfa\x37\x57\xc0\xb3\xbf\x1e\x27\xc6\x69\x5a\x23\x93\xe4\x2f\xd7\x01\x26\x99\xd2\x0a\x3e\x1d\xff\x0e\xdf\xfc\x28\xde\x8c\xe3\x4d\x8e\x4b\x2a\x06\x37\x25\x11\x8d\x4c\x7d\x27\xd7\x1d\x97\x74\x4d\x66\x22\x9b\x62\x53\x54\x10\x7f\x3a\x61\x88\xc2\x9b\x43\x76\x9c\x98\x5c\x02\x7a\x40\x5a\x37\xd6\xde\x35\xd5\x5d\xb3\x6c\x49\x22\x1b\xc2\x67\xc7\x7d\xab\x8d\x4d\xd5\x15\xae\x5a\x94\xfa\x7f\x1e\xe4\xc8\xea\xfa\x48\xe1\xbc\xd0\x30\x2c\xcb\x14\xef\xcc\xc4\xf4\x68\x5d\x6d\x8a\xa7\x11\x0e\x3d\xfd\x75\x81\x13\x86\xc6\x96\xee\xc4\xe0\x18\x47\x7b\x3e\xa1\x42\x1b\x85\x81\xac\xe4\xdb\x7a\x8a\x16\x8c\x4e\x98\x08\xfc\xb3\xef\x4d\x64\xb4\x0a\xc6\xb5\x8e\x52\xb3\xd9\x88\x4e\xe7\xbd\x66\xfd\x84\x6c\xdb\xd5\x36\x85\xb3\x76\x6c\xc6\xd2\x53\x3f\x38\x63\xc9\x89\x48\xf6\x3b\x48\xd1\xfc\x57\x1f\x76\xfa\xc4\xe8\x4d\x7f\x67\x8f\x5b\xe8\xe3\xa7\xda\x66\x17\x76\xc8\xc9\xb4\x78\xbf\xd4\x27\x38\x35\x5c\x12\xf9\x91\x1e\x71\x32\x42\xe2\x23\xc7\xb9\xe9\x1f\x67\x12\xb1\x6b\xc8\x1f\xa5\x7f\xc9\x02\x3d\xe7\x7f\xb5\xf3\x3d\x1c\xc3\x30\xcf\x74\x04\xbd\x68\x1f\x8e\xe2\x1a\xe0\x8c\xe3\x13\x7e\x8c\x6b\xc8\xa4\x8f\x65\x99\x51\x28\x7c\xc3\x63\x1b\xc1\x2f\x4d\x94\x97\xf4\x1d\x82\xdc\xa2\x2f\x5a\x08\x4a\xc3\x1a\xc0\x8e\x66\x45\xab\x44\xb9\x66\x4a\x86\x82\x82\xf9\x4a\xb3\xfe\x72\x75\xa8\xb2\xeb\x46\x56\x72\xa7\xca\xc3\x1c\xaa\x18\x9c\x7c\x98\x1b\x5e\x42\x4e\xb9\xec\x86\xed\x8b\x0a\x2c\xba\x7b\x0c\x61\xb4\x19\x87\xa0\x88\x87\xf7\xcc\x24\x2f\x85\xca\x2c\x84\x0f\xb7\x18\xa2\xd8\xf4\xd1\x14\xfb\x14\x01\xfb\xfd\x80\x0f\xb3\x4f\xf4\x8c\x84\x93\x7e\x63\x30\x07\x78\xc1\xb9\xf3\x34\xae\xc8\xce\x29\xfa\x77\x02\x1b\xdc\xe8\x30\x34\xad\x4e\xe5\x33\x87\x1f\x5e\xae\xa3\x04\xf7\x30\x00\x07\xc9\x90\xc0\x78\xea\x5f\xc3\x15\xc1\x32\x0a\x74\xae\x01\x3e\x07\xee\xfa\xbf\xc5\x52\x7a\x21\xdc\xc7\x3b\xc3\xbb\x20\x8a\xbb\xf5\x6f\x50\xf3\x88\xf1\x63\x9c\x1b\x3d\xaf\x22\xe6\x4a\x4d\x2c\x97\xfe\x85\xe2\xdd\x04\x68\xcc\xdb\x08\xee\x21\xa0\x5f\xa3\x38\x48\xb9\xf2\x1f\xc1\x45\x8a\x3e\x35\x3e\x86\x93\x3c\x81\x5e\x6e\xea\x06\xa9\x43\x91\x38\x48\xdd\x70\xda\xe3\xd3\xe1\xf4\xd8\xbb\x1a\x9c\xad\xbb\xea\x38\x8a\x78\x74\xaf\x57\xd9\x36\x6c\xe1\x98\x25\x13\x0a\xf5\xaa\x09\xe8\x81\x88\x45\xf5\xdc\x4c\x17\x54\xe1\x39\x3c\x40\x78\xb2\xff\x1d\x0c\x31\x7e\x7f\x92\x41\x5a\x03\x80\x1f\x93\xb5\x31\x6c\x8b\x0a\xcd\xfe\x2e\x1a\x2f\xf1\x14\x61\xff\x92\x96\xda\xd9\x13\xf3\xf8\x34\x36\x88\x8f\xa2\x64\x05\x77\xf6\x24\x15\xea\x37\x28\xf1\x3e\xa0\x28\x89\x54\xe6\x3d\x1e\x00\x84\x76\x89\xde\xe0\x42\x37\x2d\x73\x3f\xae\xc0\x15\xbf\xab\x32\x42\x38\xc4\x01\x3e\x81\x28\x88\x34\x9f\xa0\xc4\x40\x71\x40\x4d\x40\x49\x8c\xd5\xa4\x05\x32\x23\x4d\xc1\x91\xd6\xd2\xbc\xe0\x7a\x64\xba\x7c\x6d\x8e\x50\x8b\xae\x60\x75\x2f\x0d\xaa\x9a\x2a\xb6\x17\xe0\x28\x8f\xae\xe4\x90\x45\x13\xca\x91\xb6\xb8\x62\x7b\xd1\xcd\xd5\x39\xac\x04\xc7\x41\x7c\x2c\xfb\xc6\xc1\x11\x47\xd8\x37\x30\x45\x7d\xc5\xba\xf9\x8c\x49\x20\xcd\xc5\xfd\x22\xad\xba\xaf\x72\xb3\x1a\xdf\x77\x10\x7b\x46\xfb\x99\x77\x10\x7e\x0a\x45\x62\x85\x8d\x26\x1a\x63\x26\xb6\xbc\xd9\x14\xd5\x1c\x52\x2c\xec\xb6\x02\x42\x99\x70\x98\xad\x64\x1b\xd1\xb2\xa2\xf5\xb4\x60\x1d\x6d\x98\x0d\x77\x29\xe0\xad\xe3\x09\xc4\x54\xf2\xba\x2e\x0b\x61\xd2\xea\xee\x21\x20\xb0\xa8\x2c\x87\x79\x52\x11\xab\x2d\x29\x9c\xce\x62\x31\xc6\x8f\x9a\x80\xcb\x7c\x96\x79\xbb\x60\xd7\xb9\xda\xd9\x1b\x2a\xb1\x1f\xe9\x54\x40\x6a\xb8\xe5\x0c\x97\x77\xe1\x11\x5c\xb0\x0f\xbe\xe8\x57\xde\x81\x89\xf9\x36\xcd\x3f\x16\x68\x17\x5d\x97\x52\x36\x86\x9f\x4e\xd2\x4f\xe5\x99\x75\xb7\x24\x2d\xbc\x03\xef\xbb\x53\x0a\x9a\x73\x72\x62\xa1\x53\x4a\x25\x61\x5a\x8d\x0b\xab\xde\x80\xa7\xc1\x6a\xa1\x44\xcf\xa2\x8e\xf5\x1c\x7a\x8f\x6c\x89\x7f\xea\xf3\xf6\x8b\xf0\x73\xe8\x5c\xa5\xdf\xfe\x8f\x48\x99\x2e\xd5\x3d\x81\x4f\x7a\x90\xb0\xff\xb8\x27\x11\x1a\x96\xf9\x9d\x99\x10\x2d\x7e\xce\x3d\x65\xe4\x8c\x40\x31\x15\xaf\xa4\x23\x90\x5c\xd2\xd8\xb8\x1b\xd9\x9f\x68\x43\x47\x22\x03\x71\x87\x8d\x3a\x84\xff\x1a\x67\x5e\x27\x8c\xe5\x93\x1c\x7a\x29\x2d\xd0\xf8\xc8\x8a\xfe\x4b\x91\xb1\xb1\x4a\xa4\x11\x31\xa9\x26\x85\x11\x7a\xd6\xca\x46\x98\x10\x16\x7d\xa9\xc5\x41\x5c\x6a\x10\x0f\x1c\x8f\x38\xfb\x20\x10\x77\xe6\x91\xb3\xe7\x8a\xe9\x47\x51\xe5\xd2\x3d\x24\xac\x0e\x61\x64\xa1\x7e\x20\xe1\xc6\x85\x2c\xeb\x10\x5e\x6d\xef\x61\xef\xfd\x65\x40\x34\x7c\x4b\x46\xe5\x01\xe0\x1c\xa4\x45\xdf\x9c\x2d\x06\xaf\x26\x88\xff\x2a\xaa\xac\xc8\x85\x7f\x7b\x98\xf0\x35\xd0\x9c\x54\x72\xe1\xaa\x4e\xcc\x04\x2c\x19\x7b\x73\x60\x9b\x9d\x50\xca\xe4\x8b\xc7\xb8\xc7\x4a\x1e\x73\xef\x8a\x92\x45\x45\x38\x99\xad\x20\x1a\x8f\xf8\xb6\xb3\x15\xa0\x9c\xbd\x17\x49\xa5\x74\x4e\xe4\x97\x6e\x2d\x7b\x12\x03\xc6\x29\x06\x27\xb3\xc8\x40\x9c\x4e\xdd\xdc\x43\xcd\xb3\x4e\x40\x2d\xa1\x05\xbf\x67\x37\x7b\x08\x7f\x64\x37\x7b\x06\x1d\xc6\xd0\xfa\x3c\x0c\x46\x99\xb6\x12\xd1\xbb\x17\x9e\xca\x80\xd2\x5e\x72\xc4\x41\xd6\x45\x18\xdf\xe5\x85\x3e\x80\x00\x62\x9d\x57\x4c\x56\x99\x60\xb5\xd0\x6f\xc9\x4c\x56\x47\x63\x97\x8b\x6a\xf3\x4c\x84\x8e\xeb\x84\x2d\xf0\xb0\xa0\x59\xf4\x56\xe1\x68\x59\x1c\x74\x46\x73\x23\xc7\xf3\x3c\xeb\x7b\xe7\x0e\xbf\x65\xe1\x01\x3a\xa2\x27\x58\xb0\x3f\x0f\xa5\x7b\xb5\x7e\x79\x7a\xea\x1c\x0a\xf5\x1c\x5e\xfe\xc7\x4e\x94\xd9\xb5\xe9\xc2\x7b\x77\xa0\xac\xa4\xde\xca\x30\xbf\xfa\x68\xaa\x64\x5b\xac\x8b\x8c\x83\x9a\x41\xd7\x03\xe4\x0f\x27\x05\x26\x28\x75\x8e\xe8\xa0\xf0\x53\x4d\xf9\x7d\x94\x9f\x45\x35\xd9\x64\x16\xec\x31\x52\x54\xaf\x7c\xe0\x8d\x01\x6d\x8a\xa8\xfb\xc7\x74\x03\xcc\x63\xf6\xa6\xbb\xed\x44\x09\x92\x83\x6e\xce\x7e\x73\x7a\xda\xdd\x5e\x23\x28\x7d\x08\x06\x9e\x0b\x75\xd3\xca\xfa\x6b\x32\x97\x9a\xff\xde\x7b\xa7\x15\x92\x18\x97\xab\x97\x98\x96\x2d\xc8\x93\x83\xd2\x1b\xa3\x24\xa6\x6e\x68\x78\xef\x99\x88\xef\xef\x78\xa3\x4c\x30\x62\xa2\xdd\xab\xa2\x2d\xc5\xd0\x8d\xf7\x9f\x93\x56\x17\x99\x3c\x01\x25\x96\xdc\xbb\xae\x2d\xe1\x77\x7d\x2f\x4f\x80\xfa\xe4\xc3\x2c\x5e\x15\xda\xd0\xeb\x42\xb5\xef\x4d\xf2\x1e\x53\xce\xc1\x6b\x5e\x62\x34\xfb\x5e\xb0\xb6\x81\x38\xe0\x86\x17\xe6\x66\xc4\x46\x01\xc3\xee\x5f\xa0\x52\xb5\x94\x15\x64\x5c\x8c\xd3\x9c\xe3\x0e\x29\x25\x04\x22\x05\x4d\xab\xf7\xd3\xd9\x19\xfb\xd0\x39\x6f\xac\x11\x80\xa8\xea\xd9\xaa\x68\xc9\x23\x94\x7e\x81\x9b\x76\xce\x32\xd1\x00\x14\x86\xc7\x02\x4b\xe3\x45\xd9\xb4\x37\xcc\x25\xd9\xd1\xc2\x2f\x88\x54\xa2\x15\x5d\x33\x40\x27\x48\x87\x51\xb4\x22\x14\x9c\x21\xdb\x87\xaa\x65\x95\x53\x68\x62\xe2\xb5\xd0\xb5\x25\xd8\xc1\x58\x97\x78\xf0\x95\x5f\xaf\x63\x19\x6f\x25\x65\x29\x78\xf5\x01\xef\x3a\x76\xd5\x20\x48\x9f\x12\x2d\x9d\x03\x93\x90\x1b\xe2\x82\x2a\x25\x46\x5c\xbd\x6f\xbd\xe2\x63\xcc\xc5\x2b\x69\x71\x77\xed\xf6\xc8\xdc\xdd\x90\x06\xbb\xa0\xc6\xb3\x3d\xb1\xa0\xf4\x8b\x59\x50\x71\x57\x28\x84\x75\xd1\x02\x4d\x08\x76\x10\x38\xf6\x18\x35\x2d\x44\xd6\xa1\xb7\x85\x91\xa6\x63\xbf\x6a\xd8\x99\x9a\x5a\xb8\x86\xf6\x57\xe6\x22\x81\x60\x15\x79\x75\x08\xfb\xf0\xcb\x97\x8c\x8c\xf2\xfe\x4b\xf6\xca\xe1\xa0\x8e\x5a\xb2\x82\x16\x37\x4b\x96\x58\x12\xbe\xd3\x72\x9f\xc1\x3e\xb1\x3a\xc7\x70\x6d\x92\x45\x1c\x8e\x58\xc5\xb8\x9e\xdb\xed\x5a\x04\x50\xbe\xa0\x3b\x30\x38\xd8\xe8\xfe\xc2\x15\x62\xf9\x94\x45\x25\xe6\xde\x94\xe6\xf3\xef\x2a\x0e\x79\x87\x19\x07\x8f\x22\x4d\xcf\xf8\xf0\xe4\xc5\x7a\x2d\x1a\x00\x06\x58\xc9\xa2\x54\xa8\x20\xdf\x83\xc8\xba\xbf\x16\x00\x96\xa0\x57\x57\x26\xcc\xbd\x46\x3e\x1e\x33\xc1\x4f\xbb\x48\x34\x63\x26\x3a\x01\x60\x33\x34\xe1\xb1\xde\x2c\x9c\xeb\x84\x56\x2d\x3e\xdc\xec\x39\x66\x12\x4a\x46\x6e\x5a\x2d\xbe\xeb\xc9\x31\x14\xc4\x19\xaf\xa5\xae\xa0\x39\x1a\x01\xf8\x02\xe0\x35\x0a\x12\x07\x8f\x33\x67\x77\x01\xec\x86\x18\xa3\x09\xf3\x24\x91\xdc\x65\xb0\x77\x58\xcd\x55\xcb\x8a\x16\x1d\xb9\x10\xdf\x21\xb9\x73\x3a\x96\xf8\x81\x8d\x13\x4d\xcb\xfd\x37\x8f\x57\x90\x8d\x5a\xd3\x3d\x2d\xde\xbf\x96\xe6\x3d\xb2\xb8\xff\x9a\xae\xd7\xbf\x6c\x51\xc9\x62\x50\x2d\xeb\xc8\x15\xc5\xad\xa1\xc9\x9d\xfe\xf2\x43\xad\x67\x12\xee\xbf\x46\xef\x62\x5d\xe6\x7d\xde\x84\xdf\x1f\x5b\xb1\x12\xa5\x66\xd1\xee\x85\xb0\x68\x23\xc5\x96\x37\x18\x9e\x09\x5e\xa1\x80\xa9\x82\xbc\x4d\x35\xde\xfe\x1b\xdd\x92\x70\x78\x46\xb5\x3c\x20\x1f\x5d\x08\xbb\x81\x6c\x7b\x9d\xb2\x16\xba\x78\xcf\xeb\xda\x64\xbf\xd5\x5d\x30\x66\x41\x26\xd0\xd7\x50\xf6\xc4\x60\xd9\xea\x2f\x78\x76\x6d\x69\x5b\x60\x30\xc5\x8a\x56\x31\x7d\x54\xf6\x78\xcd\x7d\xfc\xb2\x87\xb3\x72\xff\xd5\x7e\x6a\xeb\x0f\xdc\x68\xf7\x03\x72\xb0\x0b\x6f\x4d\x39\xae\x87\x97\xe6\xfb\x13\x66\x9e\xbf\xb0\x0e\x97\x24\xa3\x46\x47\x5b\xde\x41\x6c\x7c\xf8\x30\x15\x3b\xec\xf1\x47\x4e\x49\xba\x8c\xcf\x06\xb3\x72\x90\x80\xd5\x57\xc1\x71\x6a\x02\x2a\x20\xf3\x9e\x32\xd9\x16\xf6\xfa\xff\x1a\xc1\xf8\x9e\x1f\xe6\x80\x6e\x6f\x5b\x11\x8a\x6d\xf9\xc1\x52\x5a\x69\xe1\xca\x24\x9d\x5b\xba\xd7\xc8\xd8\x24\x21\xfd\x19\x77\xec\xf8\xfa\xc1\xe1\x79\x73\x48\x23\xc3\xf3\x66\x38\x89\x48\x37\xc0\x9a\x97\xc5\x4f\x88\xc2\xf2\x3e\xed\xba\x4f\xa1\x39\xa0\x30\xda\xbf\xba\xa5\xaf\x63\xbb\x18\xd5\x8a\x1c\xaa\x0c\x0d\x7c\x3e\xac\x38\x51\xac\x08\x92\xe8\x8c\x0b\x08\x09\x3d\x1f\xf4\x3a\xc6\x3e\xfe\x81\x7b\xd3\x62\x55\x16\xd5\x4d\xea\xca\x08\xbe\x93\x03\xc7\x61\x93\x69\x89\x17\x3e\x82\xe9\xa4\x80\x90\xc0\xdb\x42\x15\xab\x32\x38\x7a\x40\xee\xb2\x1f\xbc\x59\xd8\x38\x31\x03\x05\xdb\xea\xbf\xfa\x54\x38\x20\x34\xe3\x1b\x49\x32\x14\x08\x75\x49\x9b\x4f\xa5\x58\xdb\xec\x25\x08\x69\xde\x4a\x08\x51\x96\x0a\x71\x9b\x1e\x04\x79\xfe\xbc\x9c\xa7\xeb\x94\x25\x2b\x05\xbf\x61\x9c\x19\xbb\xff\x2f\x96\x0c\x3a\x33\x79\xff\x93\x08\x17\xf3\x19\x50\x18\x73\xe3\x64\x41\x79\x73\xd7\x98\x43\xe4\x33\xec\xa1\x4d\x74\xe2\xbd\x1b\x48\x25\xbb\x45\xc0\x56\x15\xa4\xdb\x4f\x17\x3f\xeb\x28\x33\x92\xe5\xba\xea\x8c\xa8\xc7\xdf\x21\x1b\xcc\x12\xf6\x0a\xf3\x69\xda\x36\x3b\x31\xc8\xb1\x96\x95\xfa\x79\xd6\x96\xe8\xe3\x5a\x91\xe2\x53\xcd\xc1\x56\x85\xf8\xa9\x58\x82\x76\xf5\x63\x99\xc2\xcc\xcb\x3d\xd8\xc2\xd7\x48\x31\x46\xc7\x3a\x3b\xc8\x20\xf7\x65\x91\x91\x4c\x62\xcd\x70\x3d\x4a\x54\x59\xf3\xac\x68\xf5\x55\x30\x39\x9d\x9c\xa5\x70\x13\x90\x77\x7a\x33\x4f\x1c\xa7\xfb\x78\x72\x36\xc4\xa8\xc1\x24\x1c\x99\xaa\x08\x22\xcb\x0f\x4c\x56\x64\x5f\xbf\x4f\x60\x77\xfe\x1d\xac\x41\xa8\xf5\x32\x4e\x6b\x70\xfb\xeb\x6d\x13\x1d\xdb\x98\xda\x15\x75\x7c\x24\x31\x74\x1c\xc8\xa2\x49\xb9\x17\x30\xa0\xbd\x73\x63\x58\x1a\x62\xf8\xee\x62\xa6\x01\x83\x5a\x59\xbf\xf3\x17\x7a\x4a\xaf\x7e\xe5\x4b\x78\xdc\x50\x74\xdb\x3b\x52\xf3\x59\x50\x68\x4a\x9a\x9a\x9d\xc5\xd1\xfe\x09\x3a\xdd\xe4\xa6\x29\x89\xad\x07\x16\x20\xc8\x84\x89\xc4\x7f\x1f\xf5\x9a\xc8\x6d\x17\xee\x51\x45\x73\x2d\x3a\xe4\x11\x30\xb8\x16\x2d\xd3\x2b\x5f\xe4\x2e\x8b\xb2\x5d\x4f\xde\x08\xbe\x1c\xda\x81\x18\x76\xbd\xe8\xcc\x91\xd3\xae\x84\xb6\xf7\x49\x7d\x97\xde\xa7\x47\x2e\x82\x48\xa6\xed\xf6\xc3\x02\x8f\x9c\x9f\xb3\x49\x25\x2b\x31\x21\x53\xf0\x4e\x2c\xec\xe7\xc0\x32\x64\xdf\x9b\x6b\x38\xd2\xb9\x62\xd7\x45\x9e\x0b\x97\x1d\x73\x2b\x77\x2a\x81\x98\x3c\xd0\x36\x9b\x4c\xcc\x80\xfa\x8f\x96\xd6\xc7\x6f\xd0\xf9\x32\x13\x0e\xfe\x82\xf5\x1b\x70\x5e\xe9\x30\xc5\xf0\xe4\x7e\xd1\xe1\x8a\x05\xdd\x02\x3e\x0d\x94\x5d\x83\x9e\x0e\x96\xe8\x42\x74\xa4\x51\x34\x58\x7f\x31\x82\x6d\x9d\x61\x1c\xdb\x4d\x36\x1c\x58\x6e\xd0\x56\x30\x68\x41\xc7\x71\x4c\x27\x71\x22\xed\x94\x97\xda\x71\x3a\x73\x76\x8c\x90\x1d\xc3\x71\x5a\xb3\x89\xb3\x88\x7d\x5b\xe7\xdc\x04\x52\x67\xbc\x11\x26\x99\xff\xe3\xc7\x07\x56\xef\x1a\x2d\x82\xaa\xa5\xb7\xe2\x99\x13\xb2\x93\xa7\x78\x23\xda\x4b\xfb\x75\xea\x02\x94\x7d\x85\x87\x0f\x7d\xed\x65\xa1\x2e\x64\x59\xf2\x5a\x89\x7c\xd6\x0d\x17\x86\xc7\x84\x2d\x7b\xa1\x7b\xe4\xe9\x84\x82\xd4\xd3\xfc\x2f\x3b\x65\x3d\x83\x01\x4e\xd5\x24\x75\xa7\xab\xd6\xcd\xd0\x11\xc5\xe7\xab\x6b\x5e\xa3\x54\x5f\x51\x6d\x6b\x26\xca\x92\xe5\xc5\x56\x54\x4a\x6f\xf4\xa3\x98\xd0\xd0\x01\x3c\xc5\x7a\x0e\x7a\x68\xc8\x4e\x1d\x36\x7e\xa9\x7f\x8a\xde\xcb\x94\xe3\x42\x5b\xe1\x5a\x66\x3b\x35\x99\xc1\xe1\x01\xc2\x17\x3d\x3d\x9e\x96\x7b\x7e\x50\x08\x2f\xc3\xd9\xaa\x94\xd9\x8d\x93\x12\xf5\x83\x66\x57\x41\x75\xd0\x1c\x32\xe6\x3a\x13\x8d\x88\x74\x6b\xf9\xec\xf5\xdb\x8b\x3f\x9e\x51\x70\x4c\x9c\xe4\xf3\x9e\x2d\x09\xc3\xc0\xcd\xb9\x37\x89\x0f\x47\xed\x4e\xb2\xe5\xd4\xbe\x68\xb3\x6b\x36\x85\xde\x39\xa1\x9e\x2b\x31\xd8\xcf\x17\x4f\xdf\x58\x7f\x52\x6c\xfe\xda\xfa\xa6\xde\xff\xbc\xb7\x24\xba\xd6\xe6\x49\xdb\xf0\x4a\xd5\x5c\xf3\x4e\x5c\x58\x36\xb9\x68\xf0\xb2\xbd\x34\x73\xe4\xf3\x0e\x85\xa5\x5e\x8b\x75\x6b\xcb\x4c\x94\x2c\x8b\xdc\x11\x5b\x35\x82\xdf\x18\x81\xeb\xd8\xa0\xbf\xfd\xfa\xf9\x8b\x77\xaf\x5f\x7d\xfd\xe2\xe3\x46\xbe\xe2\x4a\x40\x7e\xc1\x5f\x65\xec\xd1\xb8\x4e\x4e\x5c\xf2\x7e\xd8\xaa\xc5\x4f\xf0\x6c\xa8\x01\x30\x99\x89\x3b\x0e\xa0\x2d\x36\x98\xde\xf4\xec\xc8\xd4\xd1\xe9\xa5\xf3\x66\xbc\x6b\xfe\x0a\xfc\x40\x36\x01\xfc\xf4\xfe\xd3\xf0\x44\x62\x60\xf7\x94\x6a\x3b\x71\xd8\x69\xd9\xd5\x45\x7b\x1c\xaa\xec\x6f\x13\xeb\x71\xa8\xb2\xb1\x61\x17\x63\x84\xe9\x54\xf8\x85\xab\xf7\x31\xe1\x17\xae\xf2\x51\x17\x0b\x0c\xab\x48\x3f\xdf\xb0\x44\x4f\x80\x86\xab\xd2\x17\xcc\x73\xa9\xcf\x73\xd9\x68\x99\x0f\xef\xe8\x9f\xa4\xdc\xb2\x3d\x6f\x2a\x4c\xde\xe9\x96\x91\xfe\x0e\x8a\x70\xb6\x15\x4a\xf1\x8d\x70\x3f\xb6\x36\x95\xba\x0d\x0c\x2a\x1a\xb6\x6a\xe4\x5e\xff\x04\xb5\xb7\x3b\xd5\xa2\x77\x1b\x26\x8b\x90\xec\xf1\xe9\xe9\x3f\xb1\xa2\x62\xc0\xa5\x20\x18\x5c\x5b\x9f\x39\x17\xc0\x8f\xb9\xae\xcb\xc3\x58\x75\xc2\xb5\x31\xc4\x98\xee\x11\x3d\x02\x8c\xb1\x38\xaa\x49\xb8\x96\xfb\x7f\x93\x72\xfb\x3d\x0e\x2b\x4e\x07\x6d\x35\x02\xa0\x21\x80\x15\xfd\xc9\x17\x86\xdb\x8a\x3e\x83\x8d\x0e\xa1\xf7\xc9\x1b\xd7\xed\x4a\x3e\x59\x23\x78\x2b\x5e\x94\x42\xff\x39\x9d\xe4\xc5\xed\x84\xfa\x86\xc4\x04\x8c\xf4\x9a\x29\x75\x25\xee\x20\x7c\xc2\x09\x6b\x13\xf0\x5b\x7a\xc2\x56\x25\xcf\x6e\xce\x26\x44\x8c\xeb\xb8\x94\x3d\x61\xff\x6d\xbd\xfe\xf2\xcb\x2f\xbf\x0c\x8b\xad\x65\xd5\x2e\xf4\xf1\xfa\x84\x95\xbc\xd9\x88\x88\x08\xac\xe2\xa2\xe1\x79\xb1\x53\x4f\xd8\x6f\xeb\xbb\xf0\xbb\xd1\x26\x3c\x61\xa7\xcb\xff\xf5\x9b\xf0\x53\xcd\x73\x2d\x41\xe9\x4f\x5f\x8a\x2d\x3b\x5d\xfe\x06\xfe\xbf\xfb\x77\x58\xba\x95\xf5\x93\xd4\xef\xe0\x42\xf0\x84\x3d\xd6\xf5\x22\xfa\x66\xc3\x3c\x71\x69\x2b\xc3\xef\x8b\xbd\x58\xdd\x14\xed\xa2\x15\x77\x38\xc0\x05\x07\xd9\xef\x09\xd3\x8f\xa8\x74\x59\xcd\xea\x0b\x94\x1c\x93\xc5\xb6\xf2\xa7\x71\xf4\x74\xc1\x04\xb1\x08\x8d\xa6\xb3\xd0\x9a\xf6\x85\x41\x19\x43\xff\xdc\x37\xc8\xf1\x6f\x78\xc5\x37\xa2\xb1\x4e\x4b\xef\x84\xb1\xc4\x2b\xcb\x0a\xc8\xfa\x84\xa0\xa9\x68\xdf\x1a\x3f\x40\xc2\xec\x57\x55\x3b\x3d\x72\x9f\x69\x12\x2f\x79\xd6\xca\x86\x7d\xa1\xf7\xf2\xec\x47\xa2\x4e\xea\xe1\x4c\xcd\x43\x2f\xf9\xb6\x28\x9d\xe5\x22\xf4\x94\xac\xda\xc5\x1a\x3e\x4f\x3c\x76\x68\x47\x11\x97\xde\x78\x4b\x14\x20\x68\x3e\x5b\xdc\x4c\xc5\x2d\xfd\x66\x52\x09\x5d\x5c\x17\x25\x3a\xa3\x75\x77\xf0\x59\x98\x16\xe9\x68\x6b\xd4\xbf\x6e\xa0\xdc\x12\x53\x8b\x1c\x6d\xb9\x73\x40\x07\xef\x75\x79\x2b\x1a\xfd\xce\x86\x77\x94\x81\x76\xe1\x5b\x70\xe3\xd6\xef\x93\x62\x1b\xe0\xb5\x77\xaa\xd9\x1c\xac\x45\xc5\x8a\x0a\x1d\x92\x6f\xc1\x3b\xb7\xa8\x18\xc7\x7d\xcd\xf4\x32\xcc\x59\x26\x2a\x00\xde\x01\x24\x94\x5b\x73\x3d\x93\x0c\x0c\xc4\xfe\xe0\xbc\x88\x6f\x84\xc0\x9c\x12\xb6\x39\x7b\x4b\xac\x9a\x42\xac\x21\xe7\x27\xe4\x87\x45\x1f\x92\xa8\x49\x78\x22\x1d\xe4\xce\x93\xd3\x53\x37\x69\xbd\xd5\x22\xbb\x16\xd9\x8d\x93\xf2\x10\xa2\x25\x9c\x9d\x75\xd1\x74\x01\x5a\x2c\x2c\xf3\x56\x6d\xcc\xa4\xdc\xb5\x98\xd0\xe5\x0f\x57\x6f\x5e\xcf\x5c\x27\x8d\x5d\x44\xf7\xdb\x84\xd1\x98\x61\x04\x18\x1f\xe8\xb2\x8f\x30\xaa\xe6\xae\x05\xaa\xe1\x22\x80\x0b\x00\x2f\x5a\xb6\x12\x6b\xd9\x08\xb6\xe6\xf0\x48\x94\x3b\xb8\x03\x91\x5d\x3c\x7d\x16\x28\xcf\x1f\x2f\x7f\x63\xfc\x6d\xd5\x92\xb1\x6f\xb8\x52\x20\xb7\xc1\x25\x66\x41\x89\x4d\x4d\x4b\x4c\xb5\xfc\xc0\x76\x35\xf8\xbf\xeb\xb5\x9a\xca\x86\xed\xaa\xb6\x28\x0d\x2a\xa5\x71\x96\x2a\xf9\xe1\x58\x1a\x26\x7d\x01\xbe\x35\xab\x47\xee\xbe\xad\xda\xcc\xe9\x90\xe3\x6b\xd0\x50\xef\x5e\x81\x6e\x0f\x0e\x68\x7e\x49\xdd\x7b\x5f\x81\xb4\xf2\xd0\xf5\x17\xdd\x4f\x8f\x7f\x13\x5f\x50\xe4\x7a\xbb\xbb\x5b\x24\x6e\xb8\x4f\x76\x83\x8d\xbd\x8f\x8e\xdd\x31\xf6\xda\xd2\xaf\x27\x43\xd0\xea\xec\x1f\xff\xf6\x74\xab\x98\xe0\x4a\x2c\x8a\x6a\xdc\x8d\xd3\xbd\xbe\x8e\xd3\x9d\xf5\x2d\xe3\x92\xe7\xf9\x8b\x5b\x51\xb5\xaf\x0b\xd5\x8a\x4a\x34\xd3\x09\x68\x12\xb5\x34\x3f\x99\x7b\xb6\x22\x29\xc2\x85\xbe\x0a\x74\x15\x07\x27\x77\xe6\xbe\xa8\x56\xd6\xdf\x34\xb2\xe6\x1b\xee\x75\x40\x20\xd0\x1a\x03\x18\xbd\x2b\x53\x1c\x41\x5f\x55\xc3\xde\xf4\x67\x03\x64\x7a\x9e\x69\xc3\xce\xfe\x43\x04\xef\x7b\x1d\x76\xe9\x84\x72\xc0\x56\x6d\x86\x9a\xa3\x96\xa2\xe5\xff\xfa\x8d\x37\xea\x74\xf7\x70\xe7\x36\xf5\x77\x69\xe7\x02\x0d\xf6\xbe\x7b\xfe\xe4\xc5\xad\x16\x13\x9c\x16\x68\x23\xda\x8b\xb2\x10\x55\xab\x7f\x9d\xfa\x63\xc1\x9a\x0a\x0c\x95\x63\x75\xba\x8d\xf5\x8d\x16\x94\xcc\x86\x85\xa6\xa6\x37\x3e\xea\x97\x34\x67\xbd\x0f\xd8\x09\xfb\x92\x3c\xcf\xfb\xe8\x1a\xdd\xb0\x23\x69\xc3\x96\x28\x45\xf3\x5b\xaf\xee\x1a\xdf\xce\x97\x16\x70\x00\x7c\x28\xbe\xb9\x0b\x7b\x90\x7a\x46\x06\x46\x02\x6c\x2f\x0c\x0f\xe8\x1a\xbf\xe2\x62\x8e\x08\xbd\xc0\xce\xcf\xbb\xe9\x6e\x3b\x93\x3b\x3a\x26\x00\xde\xa1\x47\xf8\x6f\x72\x96\x28\x7c\x8f\xa8\x03\xa7\x03\x5e\x0f\xf3\xad\xfd\x6f\xa8\x64\x20\x99\x75\x0a\xba\x73\x68\xa0\xb7\x54\xaf\x32\x76\x06\x70\x07\xda\x1a\x2e\x92\xc4\xfc\x41\x57\xe7\xe7\x9f\xd9\x63\x0c\x98\x20\xa2\xe1\x37\x5c\xb5\x82\x64\xa7\x39\xa8\x56\x6c\x59\x56\x16\xf5\x4a\xf2\x26\x8f\xb3\x6f\x1e\xb9\xf6\x6b\xa0\xd6\xd1\x7a\x60\x79\xf8\xf8\xb2\x91\xdb\x0b\x4b\x7d\x1a\x5e\xd2\x61\xcf\x2e\x64\x7d\x60\x9c\xa1\xd8\xe5\xbc\x5a\xa3\xfe\x39\x1c\x41\xd9\x8a\x27\xc6\xb1\xaa\x11\xa8\x5b\xc0\x8b\x49\xe4\xac\xe1\xd5\x46\xc4\x49\xa0\xe7\x5a\x7a\x34\xca\x1f\xcd\xed\x47\x21\x6d\x33\x59\x1f\x10\x20\xf4\x4a\xba\x11\x84\x0f\xfb\x26\x52\xf2\xd0\x63\x18\xa3\xe4\x17\xae\xe7\x8b\x4a\xb6\x45\x26\x26\x33\x64\x30\xc2\xa8\xb8\xcf\xbd\x00\xe5\x23\x5e\xe6\x66\x26\x21\xea\xe7\xa0\x27\xc8\xbe\xba\x20\x12\x86\x44\x11\x61\xdc\x65\x7d\xb8\x94\xbb\x26\x13\x47\xc5\xa1\xba\x11\x13\x83\xd8\x65\xeb\x44\x77\x82\x6a\x9b\xe8\x7b\x9f\x94\x94\x16\x3c\x34\x35\x22\x1d\x24\xe4\x87\xb8\xc4\xa0\x7c\x83\xef\xf7\xc5\xef\x7e\x57\xdf\xd1\x4b\xcd\x0f\x70\x25\xf3\x43\x70\xc7\xf8\x9e\x07\x21\x5f\xe3\x8d\x45\xe0\x2b\x57\x65\xd7\x68\x4f\xc0\xd0\x2e\x63\x2c\xf2\x3f\x87\x05\xdf\x5a\x47\xbc\xb8\x28\x7e\xb0\x85\xc1\xe8\xd1\x21\xea\x7e\x0d\x8a\x25\x48\x92\xdf\xd1\x40\xe1\xbe\xe0\xbf\x9e\x96\x25\x4c\x41\x23\xaa\xce\x2c\x20\x3f\xc1\xaf\xb6\x16\xe1\xee\xee\xfe\x44\x73\xdc\xab\x17\xe0\x4d\x06\xa9\x02\x76\x75\x2d\x1b\xe2\x99\xb0\x14\x77\xad\xa8\xf2\xa5\x4d\x84\xc3\x2b\xe5\x51\x7e\x5c\x29\xa4\x83\xd9\x06\x4c\x68\x81\xac\xd8\xab\x17\xcb\xd8\x2a\x67\xc8\xb9\xa4\x1c\xee\xf7\xcc\x98\xe7\xa6\x7e\xf2\xe7\xc1\xb4\xdb\x14\x1d\x11\xa5\xa9\x9b\xd7\x39\x9d\x51\x2f\xfd\x11\x16\xef\x39\xdb\x83\x49\x1c\xc4\xdb\xa3\x5c\x64\xb6\x49\xca\xe8\x16\xb3\x61\x18\xcd\x69\x3e\x9e\x85\x4b\x7b\xa8\x32\x92\x19\x65\xc0\x70\x69\xa6\x17\xef\x16\xb3\x80\x97\x26\x38\x00\x78\xc9\x44\x46\x91\xb4\x56\x2b\xb1\x29\xaa\x0a\x1d\xff\x10\x1b\x00\x13\xb8\x19\x03\x1b\x6f\xda\x04\x1b\x92\xdf\x2d\xc7\x56\x31\x4f\x43\x19\xe4\x69\xd3\x71\x5d\x04\xd2\xf0\x7d\xcd\xb7\x82\x7d\x76\xce\x26\x7f\x5a\xbc\x7b\xfb\xfd\x24\xe1\x2e\xeb\x66\xc9\xf1\x1e\x8e\xa2\x62\xbc\x62\x77\x8b\x46\xee\xa1\xc1\x39\x86\xa7\x14\x2d\xe8\x8a\x21\x42\xc8\x24\x8c\x96\x5b\x81\xc9\x9d\x8b\x4a\x59\x55\x35\xd4\x5b\x32\xf6\x34\xcf\x21\xf4\x27\xce\xf2\xe5\xdc\xec\x55\xb1\x2a\x8b\x6a\xa3\x2c\x35\x9f\x69\x9a\xcc\xe5\xf2\x81\x7b\xb2\x86\x03\x3b\x3f\x67\x93\xff\xa6\x4f\xb8\x09\x7b\xf8\x10\xba\x49\x99\x2b\x28\x76\xf9\xcd\xd3\xaf\x27\x31\x3e\x47\x65\x5c\xd0\x5b\xab\x78\xc0\x1f\x00\xe7\x47\x9f\xc3\x39\x53\x35\xb7\x3e\x28\xbb\xda\x5d\x97\x35\xaf\xb0\x35\x43\xcd\xac\x48\xd4\x81\x00\x52\x01\x3d\x90\xb1\xff\x76\xf4\x97\x38\x78\x82\x59\x41\xe9\x84\x85\xbc\xf1\xc8\xf3\xc9\x23\x6f\xc4\xed\xc9\xbf\xa8\xff\x15\x27\x60\x3a\x39\x61\x2f\x20\xe0\xa1\x87\x4d\x49\x34\x04\x65\x50\x51\xe5\x8e\x3d\x8f\xa5\x7d\x24\xa7\x43\x95\xa3\x1a\x6e\x91\xf2\x4c\x08\xca\x91\x13\x23\xc9\xe5\x86\xd4\x27\xe1\x71\x18\xe3\xaf\xca\xe1\x3e\x36\xa8\x97\xc5\x85\x5b\x85\x7f\x34\x06\xaf\xc4\x5d\x3b\xc8\xdc\xa4\x80\x53\x24\x38\xfe\xfa\x38\xb6\x06\x88\xa8\x5b\x82\x3c\xfb\x4e\xee\x41\x88\x9a\x46\x07\xe5\x3b\xb9\x77\x7e\xf4\xc3\x3e\x3c\x01\xef\xd1\x6a\x90\x50\xf9\xcc\xc3\x8a\x95\xc5\x6a\xb9\xcf\x96\x6a\xb7\x42\xb9\x7a\xda\xdc\xce\xe9\x4e\x9d\xbb\x12\x2d\x3e\x27\xa7\xcd\xed\x8c\x2d\x18\xe5\xfa\x58\x46\x0f\x40\xbe\x1d\x03\xf7\x08\xec\x86\x77\x31\x9d\x53\xd1\x1a\x9b\x2d\xc7\x28\x4e\x2d\x48\xe4\xc2\xa8\x4a\x8f\x89\xe2\x09\x79\xa5\xc7\x79\x11\x2f\x5e\x3b\xdb\xc1\x85\xec\xfd\x80\xa0\xd4\x67\xf4\xfd\x8a\xc6\xf3\x94\xd4\x0f\x85\x8f\xdd\xfd\xa1\x26\x22\x85\x64\x40\x64\xfc\x9e\x9c\x05\x8f\xd8\xe4\x2e\x72\xa8\x0a\x03\x1d\x82\xe4\x1f\xb7\xf2\x46\xe4\x6c\x75\x88\x7d\x32\xfe\x28\x0e\x38\x3d\x7b\x8c\xdb\xfc\xee\x8a\xdd\x88\x83\x6a\x1b\x79\x03\x7b\x2e\x17\x2d\x3c\x94\xfa\x34\xde\xe6\x09\x76\x65\xc2\xa2\xf1\xaf\x46\x60\xda\xe6\xd6\x9a\x6d\x1d\xc9\xb9\xde\xb6\xdf\x5e\xbd\x5c\x3c\xfe\x9f\x47\xd6\x51\x56\xdf\x5d\xfd\xd1\xf5\x24\x7c\x4a\xb9\x1d\x49\x83\x74\x64\x59\xbe\xad\x5c\x8d\xf7\xa1\x67\xd6\x00\x5e\x20\xd9\x69\x1e\x2f\xd0\x81\x94\xcb\xb0\x23\x58\xfa\xc6\x4c\xda\x52\x54\x99\xcc\x85\xed\x52\xec\xdd\x95\x07\x8f\xca\x77\x72\x8f\x30\x68\xe6\x6f\x03\x1b\x84\xe6\xe7\xb6\x10\x06\x98\x67\xa7\x04\x03\x25\xa5\xd2\xa5\x0d\x2c\x5a\xc5\xd6\x98\x36\x84\xe1\xee\x91\xd5\x1b\x5d\x70\x3a\x4b\x59\x62\x8e\x37\x94\x49\x08\x05\x83\xee\x05\x58\xc9\xe0\x29\xec\xdd\x2c\x5c\x3a\x49\xd2\xad\xa3\xcb\x06\x3d\x0b\xac\xda\xc4\xa2\xad\x25\x02\x99\x09\xa5\x44\xfe\xec\x60\xab\xff\x81\x57\x79\x29\x9a\xf7\xe4\xce\xfb\x5e\x40\x6c\xbd\xd2\x07\x80\xdc\x35\xd8\x34\xbb\xc6\x82\x36\xce\xd8\xf9\x3e\xcf\x2d\x06\x9c\xfe\xdf\x96\xa4\x48\x41\x62\x16\x7c\xce\x04\xed\x83\x6f\x99\x68\x96\x8c\xbd\xa1\xb3\x0d\x0f\x11\x99\x65\xbb\xc6\x92\x37\x7e\x27\x9e\x50\x48\xc0\x46\x66\x2a\x69\x6c\x5e\xdd\x6e\xad\x76\x2d\xdb\xeb\x1f\xf4\x75\xbd\xe7\x00\x8b\x66\x89\x99\x89\xd0\x35\xb6\xac\xdd\x17\x99\xb9\xa7\x4e\x4e\xc8\x24\x64\x5c\xd7\xfc\x8b\xbe\xca\x8d\xee\x9a\xad\x76\x2b\xb8\x72\x48\xaa\x77\x04\xf6\xc1\xc0\x1a\x06\x97\x3b\x06\x08\xaa\x39\x53\xae\x3d\xdd\x0f\x91\xc9\xc6\x3a\x4b\x22\x35\xb9\xfa\x8b\xc8\x5c\xee\x03\xc4\xeb\xd1\x6c\x72\xd0\x62\x42\x2b\x78\x9e\x4c\x93\x08\xd7\x94\xd0\x8f\x3b\x98\xc2\x17\x38\x83\xe7\xce\x18\x23\xd6\x82\xe3\xa7\x77\x50\x4a\xbd\x8f\x3c\x8b\x6f\xdb\xe5\xd6\x7f\x76\xe1\x71\xb7\xed\xf2\xcd\xdb\x6f\x2f\x5f\xbc\x7f\xf7\xe2\x9b\xb7\xef\xae\xde\x3f\x7f\x75\xf9\xf4\xd9\xeb\x17\xcf\x71\x47\x0e\x32\x8f\x3e\xc5\x9b\x9d\xb0\xcf\xd0\xb7\x15\xba\x62\x41\xe6\x87\x13\xe3\x58\x0a\x81\x5a\xb9\x5d\xa6\x90\xa9\x99\x58\xd2\x0d\x74\xce\x9c\x91\x7a\x2a\x96\x19\xa8\x88\xff\x95\x24\x53\x1f\xf2\x28\x9e\xb1\x93\xa1\x1b\x79\x94\x13\xd7\xcc\xe6\xb0\xf2\xdd\x72\x00\x64\xae\x67\xb6\x63\x7f\x1a\x6e\xf0\x78\x9b\x06\x31\xee\x11\xc1\xed\x12\x4b\xbd\x9f\x41\x28\xf3\x76\x15\x2d\xbf\x75\x3a\xf4\xfb\x3e\x00\x3a\xb7\x9b\xdf\x58\x02\x71\xd6\xc0\x86\x78\xbe\xdf\xdb\x53\x9d\x7d\xd6\x61\xc1\xae\xd4\xec\x83\x9d\x9d\xaf\x7d\x95\x1b\x60\xc1\x4a\x6a\xa1\xa4\x02\xb3\x69\x70\xf0\xda\x08\x77\xa4\x74\x2d\x55\xab\x77\xf8\xdc\x01\x52\x9a\x9d\xec\x9d\x9a\x62\x5f\x77\xb8\x4c\x1d\x8f\x59\x42\xbe\x2f\x68\xed\x96\xb5\x85\x3e\xbc\x11\xa2\x56\x49\x4a\x20\x86\x03\x6c\xc2\x5a\xe8\x4b\xc6\xed\x66\xbd\x61\x4b\x99\xf1\x12\x65\x18\x2f\xe5\x39\x21\x3c\x64\xe8\x05\x7b\xac\x17\xf3\x98\x1f\xb7\xdb\xa6\x09\xce\x1b\x41\x82\x02\xda\xb3\x51\xae\xfc\x10\x45\x60\xa4\xe0\xc8\x23\xe2\x1e\xe1\x07\xa3\x83\x06\x88\xac\xdd\xcb\xe5\xd4\xba\x2c\x96\xbc\x6c\xff\x28\x0e\xec\xe7\x9f\x07\xf8\xcd\x72\xdc\x77\x57\x86\x91\xb0\xa4\x71\x65\xcb\x0b\xe5\x31\xe5\xf5\x41\x8d\xf0\x6b\x70\x48\x8a\x1c\x96\xd2\x53\xe1\x65\xbb\x70\x5d\x31\x2c\xe7\x4f\x2b\xbc\x72\x7c\xe8\x37\x72\x40\xb4\xf8\x2e\xf1\x4f\xf7\x14\xb6\x87\x24\x3d\x15\x88\xd8\xfb\x02\xe1\x5a\xa7\xce\xe6\x19\x05\x48\xe1\xd1\xea\x42\xf4\xe0\x4a\x59\xeb\x2b\x7a\x5f\x89\x46\x5d\x17\x0e\xdd\x06\x7b\xeb\xf0\x72\x46\xf4\x0b\xbc\xe8\x82\x8e\xf5\x29\x5c\x9d\x7a\xef\x4a\xbe\xa8\xf2\xe9\xec\xe8\x68\x80\x34\xb1\xf5\xa6\xad\xc0\x01\x5f\xf4\x2f\x75\xc4\x35\xf9\xaa\x04\x88\xa3\x98\x13\xed\xfe\x10\x77\x35\xaf\x72\xdf\xfb\xc1\x91\xb9\x3e\xde\x57\xf5\xca\xfc\x0b\xf6\xc8\xd9\xbd\xbf\x2e\xb2\x6b\xb7\x8b\xe1\x2b\x98\x79\x9e\xed\xda\x56\x56\x81\x5b\x13\xd8\x64\x1c\x54\x6a\x8a\xee\xae\x8e\xa9\x3e\x76\x71\xae\xba\xf3\x6f\x2b\xec\x3e\x3d\x55\x62\xd0\xac\x68\x6d\xa9\x8a\xd2\xcd\xe8\x2f\x9c\x8e\x4e\xbf\xb7\xf2\x56\x4c\xf4\x8e\x4e\x0c\x68\x46\x3b\x4b\xae\xcd\x67\x28\xf4\xe1\xd9\x22\xaa\x0d\xdf\xd0\x1e\x9e\x9c\xb0\xe7\x85\xc2\x9f\xc9\x0d\xb7\xb0\xa2\x22\x3e\x65\x65\x65\x23\xbf\xdc\x5d\xb3\xec\x1a\x70\x53\x2d\x25\x37\x48\xa2\x38\x0d\x7e\x9a\xa0\x09\x84\x4c\x87\xd9\xcb\x27\x5f\xf8\x33\x36\xc1\xe7\x5f\x9c\x74\xbc\x6b\xc6\x4c\xc1\xd1\xe3\xd4\x09\x03\xb7\xc9\x29\x02\x8d\x12\x78\x14\x6a\x52\xe4\x96\x75\x2e\x5f\x58\x41\xf7\x97\xd2\x83\x1b\xd2\x81\x7a\x2d\xc7\xae\x5d\x74\x14\x8e\x9b\xd2\x40\x14\xfc\xcd\x2c\xf2\xb4\x3f\x46\xc3\x9a\xf5\xbd\xd8\x96\x20\x42\x2e\xc1\x24\xdb\x46\xb3\xf9\xf6\xda\xca\x10\xc4\x9c\x92\x37\x7c\xb3\xb0\x59\x10\xb8\xbf\x80\xd8\xd3\x97\x57\x2f\xde\x91\x03\x1a\xee\x18\x4a\xae\xa8\x18\xee\x65\x88\xdf\x40\x1c\x26\x29\x59\x69\x72\x12\xf7\x32\x78\x34\xed\xf7\x3d\xba\x87\x7c\x73\x3e\xd0\xed\x8c\x12\xa1\x79\xfd\x12\xb7\x9c\x81\xd3\xe9\xde\xe7\x0d\x84\x32\xc2\x53\x01\x5f\x44\xb2\x62\x86\x9e\x9e\x1e\x33\x31\x30\xaf\xad\xd8\xd6\xb2\xe1\x4d\x51\x1e\xc2\xeb\x9c\xf1\x07\xa9\xeb\x7c\xc9\xd8\xdb\x4a\x97\x95\x48\xd9\x89\x89\x5e\x35\x56\x28\x26\x30\x67\xbd\x84\xb5\xa4\xaf\x37\x78\x45\x16\xdb\xad\xc8\x0b\xde\x8a\xf2\xc0\x6e\x4c\xa2\x3b\x70\x8b\x57\xb1\x18\x30\xe6\xb2\x0d\x5c\x41\xd1\x11\x46\x59\x9f\x4b\x2d\xa4\x36\x28\xe1\x16\xca\x24\xcf\x39\x40\x8c\x1d\xec\xca\x4a\xee\x19\x5f\xc9\x5d\x1b\xc8\xce\x54\x21\x81\x2f\x4c\x8f\xa3\x67\x03\x2a\x38\xab\x64\xb3\xe5\x25\x7b\xfe\xf6\x8d\x0d\xff\x04\x98\x40\xac\x80\x13\x98\xe7\x20\x51\x72\x48\x3a\x3f\x21\x92\xec\x04\x24\xf8\x49\x28\x9b\x4e\x88\x7a\x63\x9c\x86\x22\x56\x50\xb0\x00\xef\x57\x8b\x58\x7b\xd4\xbb\x64\x3b\x65\x70\x58\x8e\x53\x06\xf8\xc7\x0b\x28\x1c\x68\x40\x4c\xe8\x5a\x1f\x52\x69\x22\x4a\xce\x18\x20\x4d\x46\x52\x73\x54\xd3\x18\x3d\xaf\x9d\x34\x05\xc1\xc3\x06\x04\x37\xa2\xa1\xec\xc5\x58\x7c\x90\x1e\x6e\x94\x6e\x85\x84\x33\x1f\x1d\x3b\x56\x4b\xc4\xb5\x98\x43\xb1\x37\x12\x66\xa0\x37\xfa\x65\x53\x28\xc0\x0f\xb3\xe1\x37\xfe\xec\xd1\x3d\x3c\xda\x2b\x10\x6e\x52\xda\x28\x70\x20\xe3\x2d\x67\xe7\x0c\xfd\x19\xac\x3f\xfb\xf4\xe4\xcf\xd5\xc9\x76\x33\x67\x93\x3f\x1b\xdf\x3a\x53\x2c\xa9\xfa\xd3\xdf\xbc\x9e\x38\x78\xaf\xae\x1a\x9e\xdd\x88\x56\xe4\xd0\x07\x5c\x15\x43\x6a\xf2\xe7\xbb\xc7\xab\x1f\xbe\x3c\x3d\xfd\xbf\x13\xf6\x08\x7f\x7c\xe4\x7e\x7c\xfc\x7f\x27\x81\x02\x52\x3f\x51\x4d\xf6\x59\xd3\x5a\xff\xda\x61\x7c\x4c\x63\xb4\x89\x5a\x62\x22\xfe\x3b\xe3\x67\xed\x42\xd6\x87\x3e\x15\x1e\x4a\x04\x3b\x25\xcc\x49\xfd\x3d\xc0\x7e\xea\x1a\xf6\x00\xed\x3b\xcb\x63\x3f\x96\x3e\x81\x2e\x80\x71\x3d\x4d\x80\x0f\x0f\xf1\x2b\x82\xec\x44\xce\x3f\x61\xca\x4e\x73\xbe\xe9\xe7\x7f\x5e\x34\x02\xa2\xf7\xac\x4a\x54\x2f\x2a\x5e\xa2\x80\x15\xa5\x0c\x48\x25\xc0\x46\xc1\x51\x84\xd1\x40\x31\xc8\xb7\xbe\x83\x79\xcb\x6e\x0a\x34\x3b\x02\x95\x95\x28\x65\xb5\x51\x98\xbf\xc0\x03\x19\x31\xcc\xdd\x1c\xc0\x15\xcd\xed\x71\xaf\x6f\x96\x8c\x57\xfa\x94\x14\xff\x7f\xf6\xbe\xbd\x3b\x8d\x63\xd9\xf7\x7f\x7f\x8a\x8e\xcf\xb9\x1b\x88\x11\x02\xf4\xb0\x64\x45\xc9\x46\x08\xc9\x58\x4f\x83\x24\xbf\xe2\xe3\xd3\xcc\x34\x30\xd6\x30\x83\x67\x06\x49\x78\x27\xe7\xb3\xdf\xd5\x55\xfd\x9c\x07\x20\x25\xd9\x7b\xdf\xb3\xae\xd6\x4a\x2c\x41\x3f\xaa\xab\xab\xbb\xab\xab\xab\x7e\xf5\xc0\x9c\x19\x17\x7b\x2b\x9c\x4d\x5a\x50\xe0\x18\x92\xd8\x3a\xd3\x28\x1c\x45\x74\x32\xa1\x89\xe7\x10\x7c\x1d\xc0\x1d\x6b\xe9\x44\xf7\x80\x5b\x05\x01\xbf\x78\x99\x6f\x9b\x09\xd9\x31\xf1\x40\xc6\x9a\xc4\x0f\x55\xb8\xf0\xe0\xbb\xd0\x12\x03\x18\x59\xd9\x20\xf5\xdb\x6f\xa4\xbe\xa7\x33\xa7\x48\x52\x10\x34\x37\x9e\xd0\x28\x39\xe2\x04\x1d\x7a\x77\x9e\xcb\x16\x90\x25\x61\x9d\x16\xbf\x94\xad\x68\x98\x43\xa2\x14\xbc\xbd\xe6\xd1\x4f\xfb\xa4\xce\xbf\x55\x94\xf2\x0f\x6c\xa3\x36\xbd\x0b\x3d\x57\x5c\x00\x62\x2f\x99\xe1\x86\x2c\x42\x16\xe0\x7c\x15\x41\x8c\x71\x38\x61\x89\x37\x61\x86\x92\x20\x85\x4d\x36\x37\x62\x09\x17\x77\xae\x15\xba\x7a\x95\x2b\x3c\x90\x30\x22\xee\x2c\x92\x2f\x30\x5e\xe0\x25\x1e\xf5\x89\x1f\x52\xb7\x2a\x6c\x60\x68\x5d\x96\xcd\xb9\x8c\xfa\xd2\x0e\x4c\x13\x69\x8b\xc6\xa5\xc3\x45\x12\x0c\xdd\x82\x3a\x6f\x08\x31\x92\xcc\x95\xc1\x07\xf6\xfe\xc2\xbf\x74\x66\x3e\x45\x3c\x79\x6d\xff\x52\xc1\xe9\x5c\xe8\xaa\xa0\xb1\x72\xfa\xb8\x6e\xe3\xdd\xe1\xf3\x54\x9d\xeb\x14\x77\x68\xa5\x13\xb1\xb0\x7c\x27\xab\x93\x3b\xea\xcf\x58\x5c\x68\x8d\xf6\xe2\x73\x76\x2f\xde\xd3\xac\x49\xf9\xa1\x28\x9d\xc4\x6f\xbf\xe5\x09\x83\x9a\xbb\x9c\x7a\xea\x65\xed\x99\x9c\x4e\xa9\xc8\xf1\xdd\x4e\xa6\x17\x84\xf0\x60\xd7\x73\xb9\xb2\x86\xab\xb0\x8a\x06\xfc\x24\x84\xc8\xc4\x59\x04\x9a\x51\x34\xc7\xe4\x5e\x5e\xfc\x4c\x6a\xde\x22\xa0\xd4\x82\x33\xe3\x1d\x7f\x31\x07\x54\x55\x24\x1a\x20\x63\xa9\x90\xc2\x47\xc4\x55\xfd\xb0\x2f\xb3\x13\x71\x69\x56\x5c\x34\x74\x08\xe3\xad\x32\x0d\x7b\x96\xd6\x46\x1e\x79\xd2\xf7\x59\x74\xe7\x39\x56\xce\x0b\x04\xed\x32\x90\xc0\x16\x1f\x53\x06\x9c\x4f\x7e\x3c\xed\x0f\x79\x26\x64\x0b\xcd\x67\x45\x6c\x9e\x22\xeb\xf4\x63\xd0\x0e\xb4\xc8\x15\x18\x2b\x95\xef\x2e\xb8\x2f\x5b\x51\x5f\x4b\xc1\x93\x54\xc9\xdc\x41\xd8\xee\xce\x68\xfb\x99\x5f\x58\x0c\x5c\x8e\x04\x92\xd9\x2b\x8d\x0e\xda\x73\xc7\x67\x5f\x3e\xd5\x3f\x17\xa4\x34\x58\x09\x54\xea\x5f\x4f\x7f\xe3\x73\x4e\x84\x1c\xb3\xb3\x7a\x2f\x84\x3c\xcb\x16\x32\x50\xcf\xee\xf8\x05\x05\x0c\xb6\xea\xfd\x23\x8d\x80\xc6\x9b\xf9\x6b\x30\xd0\xf2\xc9\x7f\x3c\x0c\x9a\x0a\x29\x58\x01\x09\x2d\x95\x7a\x22\x5d\x55\x94\xcf\x45\x97\x93\xe6\x8b\x31\x63\x3e\x7a\xf6\x4c\x30\x3c\xdf\x83\xa7\x5b\x9d\x62\x42\xe4\x5d\x1f\x87\xf7\x64\x48\x63\xac\x3c\xa5\x23\x04\xff\x86\x46\xf4\x15\x1e\x5b\xb3\x6f\xaa\x76\x5c\x5c\x8a\x9f\x32\x14\xcf\xe8\x7b\x45\x06\xbd\xe3\x5d\x9d\x85\x77\x4c\xa2\x0a\x44\x56\xb0\x9b\x6a\x6f\x19\xb7\xb2\xed\x98\x95\x6d\x8f\x1b\x7e\xdb\x23\x94\x73\x8d\x0d\xac\xf4\x0f\x31\x41\xa7\x6e\x38\x62\xad\x94\x1d\xcb\xee\xb4\x05\x37\xc8\x82\x5b\x5e\x7e\x26\x81\x61\x18\x75\xa8\x33\xd6\x51\x16\xc6\x03\x51\x80\x3d\x28\x23\xbc\x3e\x47\xf2\xdb\x12\x40\x5e\xfb\x5c\x05\xfb\x7d\xef\xd9\xfa\x3a\xe9\x5f\x5c\xf7\xda\x1d\x72\xd4\x3d\xed\xbc\x42\x4b\xf1\xfa\xd7\x78\x1d\x7e\xf9\x22\x87\xfa\xc5\x0b\x6b\x5f\x63\x5e\x9a\xdf\x53\x10\x0a\xbe\xec\x54\x48\xb3\xde\x68\x82\xa9\xa2\x3d\x8e\xc2\x89\x37\x9b\x90\x8b\x3e\x69\xcd\x92\x31\xe4\xb1\x69\xf9\x3e\xc2\xc6\x23\x5e\x78\x74\xc7\xaf\x15\xeb\xeb\xe4\x3a\x56\x48\x3d\x24\x46\x27\x7a\x47\xb8\xa8\x8d\xf8\x69\x19\x20\x9f\x29\x39\xe8\x1f\xae\x21\xe6\x8c\xef\x39\x2c\x90\x6f\xf5\xa8\xe0\xf3\x96\x86\x80\x4e\x2c\x54\xfa\xd3\x6e\xbb\x73\xde\xef\x90\xa1\xc7\xf7\x81\x67\xa5\x19\xd7\x11\x93\xc8\x73\x12\x7e\x1f\xe4\x3a\x6f\x94\xb8\x6c\x5a\x2e\xf1\x5f\xf1\xfa\x79\x7d\x75\xb4\x03\x3e\xee\xca\xcf\x67\x3a\x4b\xd6\x2f\x66\x09\x60\x93\xc0\xab\x21\x75\xe0\x56\x08\x14\x29\x4c\x69\xb8\x1b\x4e\x26\xb3\x80\xf3\xd6\xc8\xed\x93\x4e\x5a\xd4\x96\x15\x7c\xef\x96\x91\xff\x0e\x68\x1c\x8f\xff\x1b\x74\xb3\xff\x76\xa2\x90\xff\x1e\x31\x87\x79\xa0\xaf\x81\xc3\x00\xe5\x7a\xac\xe4\x8d\xe3\xd3\x38\x26\x98\x71\x68\xaa\x11\xc7\xbd\x88\xd0\x68\x74\x27\x5c\x0f\xe4\x5a\x06\x84\x6b\xe9\x0d\x21\x81\xc3\x13\xcc\x64\x12\x31\xaa\x35\x5c\x13\x4c\x14\x28\x0f\x67\x09\x61\x0f\xd3\x30\x16\xba\xee\x04\xab\x11\x16\x24\x5e\x94\x06\xa1\x51\x54\x9a\x86\x2a\x04\x5d\x96\xec\x41\xcf\x49\xc3\xfa\xc5\x88\xed\x03\x54\xc1\x3c\x12\xfa\x5a\x5e\x21\x13\x96\x8c\x43\x4c\xf5\x60\x8f\x5e\x81\x4f\x24\xa1\xe2\x95\xf2\x86\x8a\x55\x43\x24\xc4\x39\x93\x10\x4f\x08\x37\x03\xa8\xf6\x2c\x4e\xbc\x80\x9a\x08\xcd\xdd\x38\xf4\x69\x62\x65\xb0\x50\xea\xbf\xe2\xcc\x34\x0a\xf9\xa5\x08\x2f\xb0\xda\x8f\x73\xc0\x02\x36\xf4\x92\xf8\x15\x6f\x68\x8d\x5c\xca\x52\x94\x4c\x18\xd7\x56\xbd\x18\x33\x4a\x51\xa1\x83\x0b\x74\x5b\x9b\x03\xa9\xf1\x63\x88\xb0\x72\xce\x41\xfc\xd9\xe0\x2e\x04\x78\xd8\x78\x36\x50\x54\x96\x63\x86\xfc\x84\xdc\x22\xc8\xc6\x29\x24\xe7\x14\xfc\x03\x7f\x26\xb2\x06\x93\xe2\xe1\x28\xf9\xd6\x4d\x39\xab\xbc\x84\x30\x1a\x7b\xc8\x4a\xc0\xa3\x15\x56\x39\xce\x63\x35\xbd\x40\x19\xc6\x1d\x28\xca\x60\x26\xf8\x4d\x4a\x08\x0b\x9e\x18\x26\xff\x44\xb7\x5d\xcc\xf5\x7e\x34\x4b\xb8\x92\xae\xd3\x83\xd0\x39\x89\x66\xe0\xbc\xc0\x37\xd6\xfb\x30\xba\x15\xe3\x8c\xc4\xa5\xed\x1e\x0d\xa6\x81\x3f\x07\xfb\xe6\xc0\x67\xd8\x33\x9f\x4e\xea\x43\xd2\x43\x4a\x32\x22\xa8\x12\x5a\xd2\x80\x74\x2f\xdb\x7a\x06\xd2\xa7\x90\x2d\xc2\xbf\xe7\xed\xd8\xdd\x0b\x73\x4b\x96\x52\x60\x6c\xcd\x6a\x2b\x24\xfb\x4a\x48\xe4\x4d\x86\x0f\xba\x7b\x21\x7d\x81\x40\x52\xe5\xac\x93\xee\x45\x0d\xa6\x48\x5d\x4c\xa4\x4b\x77\xf7\x42\x87\xa5\xfd\x7f\x3c\x81\xff\x8f\x27\xf0\x4f\xc6\x13\xe0\x72\xb9\x14\x52\x40\x46\xc0\x65\x60\x05\xec\x25\x61\x79\xdb\xe6\x56\xb2\x44\xfc\x02\x50\xa6\x02\x32\x8c\xe8\x44\xc5\x0e\x4a\x2f\x67\xe3\x68\x0a\xdc\xf0\xbe\x4a\xa6\x21\x3f\x88\x5d\xed\x95\x2e\xb2\x39\xf2\x96\x66\x91\x3a\x6a\xe1\xf5\x75\x46\x7d\x7f\x4e\xee\x59\xc9\xf7\x8d\xc4\x79\x4c\x20\xc0\xaf\xcb\xb0\xb7\x75\xe1\xc8\x07\xf9\xc3\xf1\x6e\x5b\x93\xeb\x07\x2c\xc0\x42\xca\xc1\x64\x23\x36\x24\x99\xf6\x71\x1d\x0d\xa4\x78\x2c\xf0\x01\x14\xc9\xde\x2c\xf2\xa1\xc1\xeb\xde\x29\xaf\xeb\x87\x54\x69\x2a\xaa\x9e\xaa\x74\x01\x5b\x07\x8a\x98\xa0\x88\x5c\x4c\xf1\x01\x47\xf0\x49\x12\x4a\xc8\x79\x98\x10\x6f\x32\xc5\x00\xc3\x82\x97\x05\x6b\x7a\x51\x79\x3d\x82\x66\x8c\xe9\x9d\x45\x7e\xd5\xec\xd1\x4a\x92\x1d\xb0\x7b\x71\xf4\x43\xbd\xb2\x3d\xe3\x55\x92\xa9\x6c\xab\xd2\x70\xb4\x10\x91\x4c\x43\xa6\x9a\x99\x46\x21\x57\xce\x94\x5b\x6c\x5a\x5d\x12\xdc\x10\xc5\x20\xa8\x41\xb1\x13\x72\x71\x02\x1f\x86\x45\xcd\xf2\x53\x82\x6b\x22\x34\xc9\x37\xdc\xda\x22\xcf\x12\xf9\xc5\xa5\xa8\x6f\xb0\xc6\x20\x21\x5f\xe0\x59\x22\x6a\x59\x45\x6d\x1e\x00\xd7\x31\x43\x4f\xda\x6d\xbc\x7b\xa1\x4f\x31\x50\x99\xf8\x79\xec\x25\x52\x93\x12\xde\x49\x57\xca\x62\xf9\xa3\x3c\x5c\x68\x1c\x87\x8e\xa7\x1f\x4a\xf1\x6d\x31\xa3\x93\x79\x90\x3b\x12\xf4\xd6\x24\x24\x53\xbe\xa1\x38\x61\x90\x44\xa1\x9f\xd9\x40\xf9\xc1\x35\x1c\xe2\x11\xab\x95\x0d\xcc\x13\x04\xda\x92\x38\xc0\x84\x8e\x21\xcd\xeb\xb2\x6d\x79\xd4\xc9\xe6\xf5\x9b\xac\x6a\x8b\x6b\x02\x53\x9f\x15\x61\x26\x5b\xd3\xc2\x35\x9b\x7c\x6b\xba\x17\x8a\x44\x70\x99\xea\x29\xd9\xc4\xe7\xa4\x50\x3d\x35\xb5\xe9\x94\xeb\x23\xee\x97\xf4\x1b\x94\xfa\x02\xed\x77\x61\xcd\x36\xd8\x8b\x37\x16\xf5\x91\x68\xd6\xb0\xa3\xa3\x21\x4f\xfc\x2d\x1b\xb1\xcf\xf7\x94\xdc\x78\xe1\x5e\x56\x98\x60\x64\xfc\x1b\xbd\xfa\xf8\x5f\xd6\x8b\x8d\x7c\x4f\xd7\x42\x51\x8a\x75\x00\x9d\x52\x3e\x56\x60\x70\x38\x2d\xb8\x7c\xa6\x08\x4a\x2b\x2b\xb6\x6c\xa3\xf5\x1a\x26\x1b\x9e\xdf\xf8\x26\x1b\x4b\x13\x2d\x0b\x92\x0c\xd8\xaa\x10\x2b\x79\x31\x5a\xf4\x54\x6e\xa8\xfa\x56\x0e\xc6\x70\x48\xa6\xc2\xdd\x94\xf7\xb9\x42\x48\x05\x90\x06\xf6\x9b\x82\xcc\x98\xa9\x2d\x41\x6a\xe4\x45\xf1\x12\xeb\xeb\xe4\xc2\x24\xb5\x06\x31\xad\x41\x1c\xfa\xac\xe6\x87\xa3\x72\xe9\x3a\x40\x35\xde\x54\xef\x5f\x01\x6e\xaf\x68\xa6\x90\x8b\x54\xaf\xc8\x85\x01\x24\x4f\xe5\x9c\xbe\x34\x99\xda\xa2\xee\x0a\x58\x25\xad\x69\x78\x3b\x76\xb3\xd8\xb9\x25\x3e\xac\x35\xf8\xda\x0b\x46\x25\x7c\x3c\x93\x1b\xf1\x6a\x31\x2e\xb7\x6c\x4e\x62\xf6\x6d\x26\x6b\x2c\x9e\x93\x95\xc2\x58\x56\x98\x96\x70\x00\x06\x88\xc8\xb5\x22\x74\x70\x6a\xde\xf4\x2f\xce\x6b\xd8\x9e\x37\x9c\xa7\xa2\x51\x16\x13\x27\x3f\xcf\x79\x07\x84\x57\x92\x2a\x91\xaf\x5e\x72\x1b\x0b\x07\x5f\x0d\xc8\x49\x11\x2f\x17\x0e\xbe\x4a\x93\x4e\x38\xf8\x9a\xda\x87\x8c\xcc\xdc\xfc\x4b\x63\xff\x31\x33\x81\x63\xbb\xbc\x80\xb5\x66\x2d\xd8\x9d\x14\xb9\x29\x12\x0b\x45\x53\x09\x26\x28\x3e\x9e\x74\xe7\xf8\xc3\x22\x89\x9a\x54\xbe\xd4\xfc\xa6\x52\x71\x1b\x0a\xa1\x9b\x8c\x6b\x2b\x15\xc5\x11\xad\x22\x5d\x36\x47\x96\xcc\x5f\x56\xce\x0c\x8e\xbd\x03\x8b\x0b\x85\xe8\xac\x1d\xb5\x82\x06\xf3\x84\xa5\x70\x36\x0a\xb4\x9e\xbc\xe5\x62\xb7\xa5\x9b\x99\x46\x5e\x41\x24\x91\x35\x3c\x30\x02\x5d\x5f\x1d\xed\x2c\x8d\xff\xb2\xf6\x7e\xf1\x74\x27\xdf\xb0\xa2\xf0\x9e\x94\x5a\x98\x94\x4e\x75\x2e\x1d\xeb\x85\xc2\xa2\x0f\x20\xc3\xf7\xc2\x68\x54\xe6\x2d\x2c\xe7\x6d\x83\x8f\xe6\x9c\xb0\xc7\x08\xa3\x5c\xe4\x67\x92\x6c\xfd\x45\xac\xf4\x83\x7f\x47\x66\x82\xeb\x4b\xf4\x6b\x50\x2a\xe6\x6a\x63\x9b\xbc\xa1\x77\xb4\xef\x44\xde\x34\x79\xba\x38\x3e\x9a\x6b\x38\xba\xfd\x95\x84\xb4\xb1\x5d\xc4\x58\x18\xbf\x92\xe5\xb2\x6d\xbe\xcd\x0f\x1e\xbc\x84\x8e\x57\x1f\xbc\x25\x51\x2a\xa7\xe6\x5f\xc6\x12\x3f\x58\x85\x29\x20\x6e\xab\xb0\x05\xe5\x72\x21\x63\x96\x1a\xfa\x1f\x92\x2f\x46\xd2\xfc\xff\x5d\xc6\x7e\x4c\xac\x6f\x1a\xfa\xdb\x61\x10\x27\xd1\x0c\x9e\xf0\xf9\x6d\xd4\x0a\x32\x17\xab\xcf\x54\x94\x62\xf5\x21\x99\x00\x7c\x2b\x60\x20\xa1\xed\x87\x3d\x24\x44\xb3\x8e\xc4\x33\x67\x4c\x28\xc4\x7e\x0a\x9c\xb9\x75\x00\x55\x56\xc8\x74\x98\xe7\xbf\x4a\x06\xa1\xef\x56\xc9\x90\x7a\x41\x52\x25\x5e\x42\x7d\xcf\xa9\xe2\x03\x7e\x95\xcc\x02\x97\x45\x98\xd6\x15\x2c\xb2\x49\xe4\xdd\x32\x61\xee\x54\x64\x59\x34\xcb\x3b\x60\x9c\xbe\xa0\x39\x72\xa8\x84\x82\xc3\xa8\xf0\xd4\x62\x91\xb6\x21\x08\x4b\xaf\xa9\xaf\xeb\x01\x41\xd4\x0d\x5f\x2e\x2c\x4e\xe0\x59\x40\x26\xf0\xb5\x1b\x1b\xa2\x5b\x16\xbf\xea\xd1\xc4\x1b\x78\xbe\x97\xcc\xb3\x50\xe4\x86\x88\xc9\xb5\xe5\xe8\xa9\x30\xd7\xda\xeb\xab\xb3\xd3\x43\xe1\x8b\xf3\xbb\xf6\xca\xb9\x82\xd7\x49\x68\x4b\x7d\x96\x84\x04\x62\x7b\x20\xf8\x9d\x5f\xba\x95\xe5\x9a\xc0\x85\xd1\x22\x34\x75\x07\x35\xb1\x05\xcc\x85\x26\x1b\x37\x96\x9a\xf2\x81\x26\xfb\xaa\xef\x3d\x65\x00\x8e\x19\x57\xef\x3c\x3a\xf0\x53\x01\xc2\x42\xe8\xc5\xb5\x1b\x71\x0e\x69\x4c\x98\x97\x8c\x59\xf4\x4a\x60\xc6\xf4\xda\x5f\x0e\x3b\x47\xad\xeb\xd3\x2b\x42\xca\xe0\xd0\x1b\x06\x20\x58\xc2\x87\xa7\xa2\xcb\xf5\x8e\x0f\xf0\xe9\xaf\xac\x4c\x61\x7c\x51\x94\xa2\xd1\xa0\x4c\xa2\x2a\x19\x55\xc9\xa0\x52\x82\x04\xc2\xa2\x16\xda\x2f\xc5\xc3\x7d\x39\x13\x5c\xee\x01\x98\x01\x1c\x41\x48\xdd\x94\xfa\x2c\xc1\xd7\xa3\x59\x0c\xae\x2c\x30\x7e\x2d\xd0\x36\xf2\x95\x41\xbc\x7e\x7c\x54\xd2\xbe\xa0\xac\xc9\x3b\x33\xba\x9a\x3a\x63\xbc\xea\x82\xcf\x92\x32\x10\x02\x6d\x09\x67\x30\x06\x06\xa7\xe9\x79\xa6\x82\x95\x33\xbd\x9b\xf3\xe1\xd0\x20\x0c\xc0\x8b\x40\xbb\x44\xa5\xc6\x27\xa9\x15\x94\x7e\x69\x5f\x9c\x5e\xf4\x72\xc6\x56\x50\xee\x99\xf6\x1d\xe7\x73\x77\x64\xb6\x0b\xd3\xd4\xdc\xda\xaa\x12\xf9\xbf\x8a\x86\x32\x14\x15\x0e\xcc\x0e\xa0\x42\xbd\x4a\x20\x05\xb8\xa1\x0f\xf0\xdd\xc3\xf4\x44\xc7\x21\x50\x38\x6f\x53\x9f\xe2\xde\x92\xf9\x78\x20\xd3\xf3\x59\x9f\xaa\x9d\x27\xf3\x8d\xb5\x09\x65\x3b\x11\x6f\x0b\x39\x9f\x6b\x3f\x07\xeb\x9b\x7b\x47\xe0\x72\xd9\x1f\x27\x9e\xcf\x0e\xd1\xcd\x57\xe0\x2a\x29\xb8\x08\x3f\x8c\x2e\x85\x6c\x6a\x40\x3f\xe9\x4d\xc5\x92\xb6\x51\x20\xe5\x2a\xd5\x1d\x62\x2f\x55\x72\x2f\x53\x28\x23\x1a\x13\xe7\xa2\xda\x94\x72\xed\x67\x43\x38\x22\x54\x84\x3b\xd8\xe3\x29\x56\xe4\x23\x06\x3c\x0e\xf0\x3c\x8d\x09\x55\x79\xb5\x13\xf5\x5e\x91\x8c\x29\xca\x9d\xf0\xd9\xbf\x47\x78\x4b\x51\xb5\x78\x33\x32\x94\x01\x84\xb7\x3b\xc0\x09\x17\x41\xda\x7a\x5c\xfc\x83\x2a\x6c\x80\x03\x3c\xab\xf1\xb4\x23\x65\x6f\x48\xe8\x1d\xf5\x7c\x5e\xb9\x02\xc3\x00\xa2\xcd\xbc\xeb\x30\xd0\x98\x25\x32\xd2\x92\x6f\x05\x53\x16\xb8\x2c\x50\xe9\xad\x8d\xce\x45\xc1\x47\xd2\xdc\x8a\x0f\x22\x99\x7e\xc3\xa2\xbd\x45\x70\x17\x62\x3e\x9e\x51\x34\x48\x94\x4b\xe3\xf3\xfb\x31\x4d\x98\x7c\x83\x92\x8e\x8c\xb8\x05\x00\x9d\xe2\x8d\x18\x77\xc9\xe7\x2b\x91\x64\xad\x52\x61\x4b\x14\x0f\xd0\x25\x53\x37\x68\x69\x72\x84\x76\x27\x8f\x52\xdc\x70\xe7\x38\xdf\x4a\x99\x11\x34\xa5\x76\xec\x95\x48\x32\xf7\xfd\x7d\x52\x12\x55\xf9\x2a\x7f\x24\x31\xf6\x41\x43\x35\x55\x94\x40\xce\x55\xf0\x98\x36\x0f\x08\xf5\x8e\x12\xad\x4c\x28\x3f\x78\x70\x3f\x2a\x69\x66\x5d\x59\x2e\xb3\x02\x0c\x01\x22\xa0\xa4\x35\xe0\x1e\xc5\x9f\x1f\xc2\x41\xe8\x32\xdb\x95\x26\xcf\x7a\xfd\x78\x0d\x60\xa5\x21\xc4\x2c\x91\xad\x3d\xe9\xa0\xcf\xb3\xec\xbb\x8c\x4d\x31\x4a\x40\xaa\xb8\xda\x0c\x0b\x43\x11\xe6\xdc\x7f\xe4\xd1\xf6\x3b\x69\x2d\x6c\x60\xe9\x88\x1c\x3f\x0c\x72\xf0\x6f\x14\x06\x92\x69\x2c\x37\x9b\x28\x03\x0e\x0f\x6c\xac\x2a\xfd\xf0\x2d\x9b\xcb\x55\x25\x2d\x51\xd1\xdd\xa7\x5b\x36\xff\x2c\x0e\x39\xf8\x5d\xd9\x93\xa2\xbb\xf4\x76\x9c\xd9\xa2\x6b\x4e\x18\x38\x54\x04\x2f\x08\x3e\x44\x77\x69\xb3\xb6\xce\x85\x2a\x30\x8e\x60\xe3\xc9\xaa\x89\xb0\x53\xa9\x34\xbb\xc2\x67\x0d\x5d\xd5\xb0\x37\x02\x37\x8d\x9c\x73\x40\xbc\x36\x81\x4b\xf6\x8f\xa4\x9b\xe0\xab\x9e\xc4\x00\x33\x5a\xe2\x07\x0f\x98\x41\xab\xf8\x58\xcd\x3b\xe2\xfb\x11\x57\x30\x57\x9a\x0f\xe8\xbc\xc0\xb8\xfe\xa7\x2b\x4f\x7f\xb6\xd2\xf2\xbf\x56\xad\xc8\x97\xb7\xb4\xa2\x6b\x1e\x33\xe0\x55\xb9\xfa\x8c\xb7\xed\x85\x90\x37\xfb\xa9\xb5\xa2\xef\xa4\xc5\x2b\x06\x79\x33\x0f\x1c\x68\x3e\x4e\xe9\x33\x57\xfc\x32\xe6\x0d\x0b\xee\x56\xc4\x65\xb1\x13\x79\xfc\x12\x18\x08\x84\x37\xf3\xd4\x57\xbb\x92\xf2\x76\x05\x3f\xd7\xa7\x34\xb7\x94\x43\x5e\x2c\xfc\x1c\xb2\x9c\x11\x54\x94\x0b\xd6\x47\x56\xe8\xcd\xc8\xf2\xc2\xa5\xb2\xac\xda\x0f\x5a\xcc\x73\x3e\x47\x49\xcf\xf9\x42\x08\x7b\x5e\x53\x20\xef\x39\x5f\x68\x91\xcf\xf9\xd2\x96\xfa\xbc\x0e\x85\xe0\xe7\x7f\x95\x4e\x37\xaa\xbf\x14\xe2\x9f\x65\x95\xd6\xab\x05\x10\x5b\xfe\x91\x66\xdf\xea\xcb\x14\x61\x00\xc1\xf5\x48\x61\x07\x56\x44\x8c\xa9\x48\x08\x08\xfe\x64\x89\x33\x96\xde\x85\xab\x6d\xe6\xe2\x39\x19\x9e\x9c\x1c\xd9\xfb\xd4\x87\x6b\x9a\x06\x29\x1c\x6a\xd4\x42\xae\x90\x0b\xf9\xab\x8a\x20\x30\x1a\x80\x43\x0f\xd2\x98\x2a\x8b\x25\x6b\x84\x1c\xa2\x0f\xb7\x4f\x9d\x5b\x4e\xce\x24\x0c\xc2\x78\x4a\x1d\x46\xee\x3d\x97\xe9\xa0\x1a\xde\x1e\xea\xf9\x61\x40\x1c\x16\xc1\x85\x11\x21\xf6\x62\x52\x66\xb5\x51\x0d\x0d\x5f\x8c\x5c\xf4\x2b\x70\x8f\x00\xc7\x12\x91\xc8\x8e\x51\x67\x9c\xd3\x20\x82\x2c\x02\x07\x87\xa4\xdd\xef\x0b\xaf\xc6\x52\xed\xde\x59\xe3\x03\x2c\x09\x65\x69\x4c\xf9\xe9\x36\x83\x2c\x6e\x08\x16\xa3\x5f\x3b\x3a\xbc\xe9\xbb\xe4\x0b\x9f\x40\x7c\xd0\xf4\xd0\x2d\x1e\x0e\x32\x75\x9d\x97\x76\x34\xe8\x4d\xce\x0f\x64\x5a\x83\x39\x91\x54\x55\xf1\x3b\x45\x0b\xe3\xd4\xf0\x16\x45\x5c\x30\xfc\xfe\xe5\xa7\x91\x3f\x9f\x8e\x85\xe5\xe0\xe7\x52\x91\x21\x14\x5c\x7c\x0c\x2c\x6b\xe5\xb2\x02\x93\xe0\x88\x4f\xa5\xbb\x07\xd7\x47\x94\x68\xd5\xac\x9d\x88\xcf\x22\x97\xdb\xdf\x49\xcb\x9c\xd2\x30\xd2\xb2\x20\x67\xd4\x12\x37\x33\x45\x33\xff\xb1\x65\x6d\xb9\x06\x05\x72\xd7\x56\xe2\x6e\xec\x51\xa9\xa1\xa5\x4c\xfc\x6a\x5b\x2b\x57\x2c\x24\x60\x5b\x7f\x14\xed\xf3\xee\xf9\xe0\x32\x6d\x6a\xb0\x6c\x3e\xd8\x65\x40\xe2\xbc\x50\x49\x21\xa3\xca\x5c\x9c\xfc\x53\x23\xff\xa6\xa2\xd0\x50\x0c\x7e\xc8\x3b\xf1\x05\x34\x7a\x36\xf9\x86\xae\x68\x37\x68\x68\x10\x4b\x1b\x2c\x48\xc3\xa1\x3f\xb6\x9b\x36\xee\x98\x12\x70\x80\x6f\xd0\x66\x8b\x7c\x65\xbe\x93\x69\x1c\x4b\xfc\xdb\x54\xc2\x73\xd8\xb9\x45\x0d\xce\x12\xa9\xb3\x28\x50\x33\x3d\x77\xb0\x95\xa7\x1b\x57\xb9\x2b\xf1\xeb\x54\xeb\x03\x9d\x19\x7d\x49\x15\x89\x8a\x79\xa8\x5d\xcc\x24\x76\x92\x6a\x4d\x9d\x0c\x2a\x44\xc9\xae\xf0\x62\x9f\x94\xb4\x09\x58\x04\xf7\xc0\xa8\x4c\x35\x4a\xc2\x6f\xfc\x6e\x01\x39\x9a\xe7\xca\xa2\xe6\x79\x23\x6b\xa2\x9c\xd9\x43\x5a\x1d\xcb\xf4\x62\xb5\xa5\xb0\xc3\x11\xe4\x23\x3d\x6e\xfb\x83\x6c\xf4\x17\x1e\x56\xaa\x11\xde\x3f\x6c\x4a\x88\x67\x4b\x4a\x72\x97\x34\xe8\x53\xea\x9d\x26\xcc\xce\xfd\x28\x4e\x39\x09\x37\xaa\xc3\x47\x31\x12\x13\x2e\xa5\x00\xa2\x20\x5a\x4a\xc2\x10\xc2\x87\xef\x19\xa1\xae\x72\x33\xd4\x64\x8c\x59\x24\x90\x05\x53\xf4\x01\x1b\x61\x2f\x86\x2d\x53\x61\x89\x4a\x12\x0c\xa2\xf9\x47\x45\x64\xa7\x37\x05\xa3\x96\x95\x25\x20\x55\xce\xf4\x16\xe2\xa5\x33\xea\xa1\x84\x9c\x90\x9e\xec\xae\xbc\x9e\x8b\x87\xa1\x6a\x76\x8b\xad\xc0\x39\x04\xb6\x04\x3a\xc1\x00\x20\x10\x71\xf8\xd0\x8b\x49\xca\x5c\x9e\xef\x76\x16\xb8\x10\x14\x21\x91\xe9\x79\xdb\xf2\x19\x20\x66\xa6\x56\xa9\xa6\xc2\x0b\x62\x16\xf1\xf3\x4b\x46\x93\xe3\xc9\x29\x9f\xe8\x68\x34\x62\x89\xb2\x1f\xc8\xce\x8e\xc4\xa1\x22\x93\x54\xab\x0b\x34\xea\x15\x55\x9d\xde\x02\x6d\x33\xb1\xe7\xb2\x88\xb9\xa6\x1a\x53\xe0\x79\xa0\xcf\xa2\x70\xf0\x15\xcc\x0d\xda\xb1\x3b\x61\xe8\x6c\xbc\x44\x87\x56\x2c\xd7\x9a\x94\xc9\x59\xc5\x56\xed\x19\xcc\x8f\xf3\x7c\xce\x2e\x3d\xc4\xe0\x30\x64\x71\xfe\x29\x26\x1d\x4b\x60\x81\xcc\xa7\x2c\x1c\xa2\xa7\xc8\x3e\x29\xe1\x70\x01\xc7\x29\x1c\x7c\x05\x60\xe5\x2b\x01\x00\xb3\x91\x3d\xd4\x8c\x13\x6f\x2f\x9d\x0f\x9a\x57\xd7\x47\x90\x0c\xed\x35\x30\x3b\x41\x45\x9a\xa8\xf4\xb0\x1a\x25\x1b\xf4\x23\xb1\x10\x51\xc7\x84\xf7\x3c\x7c\xec\x10\xc1\x0e\x4e\x38\x99\x80\x7f\x89\x27\x9e\x77\xf4\x81\x5d\x33\xae\x11\x3f\x98\x5b\x8a\x1c\x94\xdc\x60\x6c\x45\x39\x7f\xab\x90\x75\xe4\x62\xad\xe4\x28\xd1\xe6\x75\x7b\xdf\x3a\x3d\x17\xdd\x4d\x74\xd9\xf4\xc1\x68\xd5\x5a\x7c\x18\xf2\x46\x7e\xf8\x21\x73\x1a\xe6\xb4\x80\x37\x92\xdf\x7e\x33\xaf\xe9\x99\xea\x78\x78\xd9\x7c\x49\xdf\x5b\xa0\x0a\x67\x49\xd1\x55\x26\xef\x2e\xa3\x2a\xd9\x47\x91\xed\x4d\xb5\xc0\x46\x27\xdd\xe2\x2d\xf8\x17\xc9\xf5\xaa\xf1\xb6\x63\x5a\xec\x72\x5e\x5a\x4c\x3d\x66\xc1\xfb\x4a\x4a\x27\x59\x7c\xed\xc6\x5c\xf9\xe6\xdb\x6e\xea\xbd\xc9\x7c\xc7\x42\xf8\x54\x7e\x99\x10\xf7\x21\xd8\x1a\x99\xc2\x25\x16\x70\xb3\xd2\xd8\x90\xa7\x5f\x4b\xf7\x04\x63\x60\x57\xb6\xd7\x82\xfa\x1c\xa5\x90\xab\xda\xb3\xd8\xdc\x5a\xe4\x3d\x12\x76\x3d\x4d\x68\x8e\x1f\x95\xee\xce\x60\x90\xd5\x5d\xfa\x0d\x7b\x59\x77\x9a\x3c\x31\xc0\xe5\x46\x5a\xc5\xf9\xac\xbd\x40\xe1\x8f\x8c\x58\x82\x4f\x0a\x00\xc3\x5e\xf6\x4c\x68\x41\x8f\xfc\x44\x76\xd2\xb0\x92\xda\xe2\xe3\x19\xa1\x5e\x7e\x78\x0f\xfb\xb2\x3f\x94\x6f\x1d\xad\xf3\x7e\x97\x34\xb6\xab\xa0\x08\xec\x48\x4c\x2e\xe9\x92\x4b\x5e\x90\x1d\x0b\x1b\x0f\x1b\x57\xb6\x42\xd5\x70\x63\xdb\xb6\x2f\x55\xe5\x8b\x13\x58\x1d\x22\xf6\x6d\xc6\x8f\x67\x11\xb8\x27\x5b\x12\xbb\x38\xbe\x4a\xb1\x31\xbd\xf3\xc2\x88\xd3\x35\x0a\xc2\x09\x5b\x33\x9c\x74\x0c\x8a\x2c\x04\x87\x22\x0b\x63\xfa\x73\x79\x81\x28\xb2\x32\xa6\x3f\x97\xe5\xf3\xd6\x58\xbe\x21\xd1\x28\x7d\xb0\xc2\x5b\xa9\x56\xcc\x51\x76\xe4\xec\x15\x0d\x28\x8f\x40\x52\x38\x9c\xbc\xe1\xdb\xe8\xd0\x5e\x30\x66\x91\x27\xed\x82\xe2\x64\x29\xc5\xf2\xa9\x3e\x98\x4f\x42\xa9\x01\x16\xf2\x20\x33\xdc\x3d\xb3\x7c\x96\x0b\x99\x86\xb2\x9a\x6c\xce\x0b\x9a\x7d\x1e\x68\xa1\xcf\x70\xea\x87\xc5\x56\xb0\x85\xe5\x7b\xc7\x07\x7a\xfd\xe4\xcc\x41\x6a\xf5\xa5\x4b\xe4\xa1\x81\xda\x56\xab\x05\xf3\x9b\x3f\xb5\x8f\xe3\xba\x4c\x6f\xd2\x67\xb8\x01\xad\xa7\x77\xad\x98\xcc\x02\x9f\xc5\x31\xa1\x7e\xc4\xa8\x3b\x27\x96\x1f\x45\x34\x1a\x94\xd5\x23\xd9\x30\x8c\x26\xb5\x67\x2b\x30\xd9\x60\x5a\xd6\x2c\x5f\xce\xd6\xcd\x31\x53\x56\xc8\x2f\x45\x08\x0c\x59\x06\xbc\xca\xda\x95\x3f\xa5\x3b\xf9\x5c\xc9\x0a\x95\xb4\x6f\xa6\x2d\x89\x92\x78\x01\x5b\x14\x46\x57\xe1\x19\xbd\x65\x47\xe2\x12\x5d\xce\xd8\x14\xf6\x73\x4d\x00\xc5\x43\xd0\x6a\x51\xe1\x60\x74\xeb\x66\xf6\x58\x8b\x93\x86\xe1\x7c\xe2\x3d\x94\xd3\x94\x56\x53\xde\x12\x55\x52\xaf\x6d\x6c\x6c\x6c\xd8\x8c\xc8\xec\x14\x8b\x26\xd2\x7a\x37\x29\x67\xeb\x3e\x69\x22\x8d\xfd\x20\x6f\x22\xd3\x9d\xe4\x61\x6a\x24\x80\x55\x25\x6c\xa8\xf2\x49\x38\x31\x5e\x05\x52\xb7\xbe\x58\x5e\xfb\x62\xbc\xf7\xc5\xc2\x82\xaa\xcd\x6b\x15\x1d\x6a\xa8\xef\x28\xff\xe4\xdb\x56\x83\xb4\x82\xdc\xdb\xd6\x82\x3a\x4d\xd2\x0a\x50\x95\x7a\xf4\x35\x4d\x3b\x85\x15\x8d\xbd\x40\x61\xd1\x15\xcf\xc0\x12\x69\xdf\xb8\x1a\x55\xa0\x2b\xef\xe2\xd5\x30\x6f\x5e\xd6\x25\x6b\x71\x3f\x5d\x75\xfb\x82\x96\x75\x86\xd0\xc1\xd7\x86\xbe\xb9\xfd\x00\x57\xb1\xa6\xfa\xc0\xea\x40\x3c\x87\xe5\x56\xcc\x5e\xf9\xa4\xd5\x4c\x5d\xf3\x1a\x78\xcf\x6b\xc8\x8b\x9e\xf1\x55\x93\x88\x7e\xf5\x1d\x50\x5e\xca\xb0\xaa\x34\x30\x8a\x5b\x50\x33\xef\xca\x24\x4a\x66\x2c\x87\xaa\xce\xc2\xab\x93\xa8\x6d\x5a\x09\x55\xc5\xa2\xcb\x92\x51\x47\x58\xf2\xac\x2a\x39\x17\x24\x51\x23\x6d\xe6\x52\xd5\x52\xb6\xb1\xbd\xe2\x15\x6b\x2c\x56\x19\xd2\x6d\x3f\xbc\x28\xb3\x7e\x9c\xff\x86\xf7\xaf\x5e\x90\x0b\xd7\x95\xa8\x60\x3c\xd8\xac\xb2\x96\xba\x79\x4f\x85\xca\x80\x21\x05\x33\xdf\x86\x91\x6b\xc4\x58\xcc\xff\x91\x7e\x0a\x56\xef\x2d\xe8\x3c\x03\x26\xc7\x98\x18\xc6\xb6\x3c\xd7\x14\x61\x97\xff\x1d\x1f\xaa\xf8\x3d\x09\xde\x2d\x18\x7e\x6c\xf6\xa0\x9a\x36\x5a\x94\xf7\x25\x7e\x69\xb0\x39\xaa\xa2\x59\xae\x72\x88\x43\x47\xb2\x3c\xf2\x0a\xb8\xab\xd2\x65\x99\x4c\x0d\x94\xd1\x55\x25\x1b\xb3\x2d\xb1\xa9\x8c\x56\x32\x5f\x15\x94\xb4\x1f\x30\x52\x58\x55\x32\x78\x38\x55\x50\xc0\xce\x88\x63\x6c\xf9\x9c\x60\x0e\xad\xc2\xd9\x20\xc2\xf5\x9e\x46\x09\x7a\xaf\xe2\x5b\xa0\x2b\xeb\x21\xbb\x28\x62\x50\x4c\x67\x88\x7d\x9a\x79\x58\x7b\xfa\x84\x6a\xf2\x16\xce\xa8\x68\x5b\x4d\x28\x12\xac\x48\xc7\x1c\x90\x90\xec\x2c\x87\xba\x6c\x75\x1c\xd5\x95\x12\xa8\x24\x24\x0e\x46\xb0\xe6\xd7\xcf\x15\x28\xf6\x90\x80\xed\xcd\x35\x07\xf1\x14\xa1\xea\x63\xf5\x94\x54\x89\x84\x67\x55\x62\xa4\x30\x59\x4d\xc6\xa0\xb9\x8c\x84\xa5\xda\x5b\x59\xde\x44\x73\xd9\xca\xab\x4b\x1f\xa0\xbd\xa0\x09\x67\x91\x18\xa2\x95\x5c\x49\x22\x2f\xcc\x20\x4c\x81\xff\xf1\xbf\x4d\x04\x99\xb0\x08\x89\x28\xdc\x45\x55\x57\x92\x3e\x23\x0d\xea\x13\x05\x30\x15\xac\x6b\xc9\xa0\xca\x6d\xfb\x08\x09\xf4\x82\x51\xb1\x10\x32\x71\x35\x79\x84\x08\xf2\xf6\xd2\xb5\x17\xc9\x60\x3c\xf5\xbd\xc4\x38\xbc\x03\x8c\xe0\x48\xbc\xd1\x2c\x9c\xc5\x24\x9a\x05\x70\xd4\xe3\xc3\xfe\x1a\xf0\xdb\x7a\xde\x47\x48\x24\x59\x0c\x5d\x0a\xd6\x14\xa4\xad\x28\xb3\x20\xae\x29\x15\xd4\x04\xe4\xd8\x13\xda\x8a\x22\x3a\x87\x77\x7a\xca\x7f\x23\x78\x1a\xc3\x15\x03\x03\x76\x84\xaf\xbd\x1a\x3f\x12\x9c\x44\x55\x44\xfc\x91\x42\x0a\x1e\x13\x5a\x0c\x3c\x19\x12\x01\xde\xab\x0b\x07\x6c\x8c\x44\x36\x06\x6f\x07\xf9\xa3\xad\x11\x50\x96\xa4\x12\x63\x90\x18\xa7\xea\xc8\xc6\x0c\x5f\x09\x2f\x89\xe5\xf3\x84\x4e\xec\x05\x2e\xd3\xa0\x0e\x45\xb3\x45\xb7\x04\x60\xde\x3b\xcf\x65\xbc\xc1\xdc\xc0\xf2\x94\xc3\xe6\xa7\xcf\xda\x38\x07\x3e\x6f\xf5\x2a\x31\x01\xdb\x4c\x87\x4d\x0f\x3e\x22\x1e\xf9\x89\xf3\x56\x1e\xb0\xd6\x3d\x1e\x53\x8b\xd7\x9c\xd0\x65\x97\xa1\x17\x24\xad\xa4\xec\x89\xab\x35\xb4\x10\x38\x11\x13\xee\xb0\x65\x07\xc0\x76\x1f\x86\xc3\xe1\xb0\x42\x7e\x21\x0d\xf2\x8a\x34\xf7\x94\x81\xc9\x21\x3f\x91\x46\x73\x87\x6b\x59\x62\xb5\xf0\x21\xa1\x52\x80\x4f\x0b\x0d\x6d\x33\x12\x14\xbf\xd8\xd7\x3d\xe4\xa6\xc2\xe1\x0d\x63\x59\x33\x27\x43\x74\x07\x18\x10\x65\x2e\x94\xaf\x80\x7e\xb1\x97\x73\x96\x48\x76\x54\x7e\x4f\xa5\x37\x58\x50\xcf\xab\x6a\x3a\x2a\x55\x31\x9b\xaf\x60\xee\x74\x2b\x82\xdf\x1e\x79\x91\x26\x9a\x58\x33\xa0\x7b\xf4\x32\x03\x54\x06\x06\x41\xe3\xb3\xc7\x0d\x27\xe5\x25\xbb\x2c\x62\xef\x2e\xf9\xdf\x19\xa4\x57\x25\xf0\xd7\x50\xfe\x72\x7d\x75\xb4\xc3\xef\x54\x2e\x8b\x4a\x26\x44\x69\x09\x97\xdc\xcd\x55\xad\x2d\x97\xeb\x19\x9d\x2e\x8a\xf1\xc3\x54\x4a\x84\xc5\x0e\x9d\x32\x05\x41\x40\x54\x38\x2d\xfa\x24\x49\xa7\x76\xe3\x63\xc2\x17\x3e\xbc\xfb\x84\x16\x4e\x83\xd8\x52\x1c\x3a\x05\x80\x20\x80\xa7\x88\x86\x21\xff\x76\xa4\x52\x28\xfe\x88\xe0\x9b\xd8\x84\x17\x06\x71\x95\x4c\xa9\x87\xd1\x57\x7a\x1f\xab\x12\x96\x38\xa9\x77\x74\xdd\xbf\xf8\x33\x70\xd1\xcc\x33\x60\x2a\xcc\xce\x17\xe0\x83\x0f\x9c\xa8\x2a\x49\xc6\xf0\x04\xe7\x81\x26\x80\x8f\x0e\x31\x40\x61\xeb\xbc\x52\x11\x23\x2c\x0e\x13\x16\x79\x4e\x9a\x15\xea\x5c\xe8\xf3\x1a\xea\x53\xd0\x62\x26\x34\xba\x65\x2e\x79\xfe\x4e\xc0\xa9\xea\xe0\xc1\xe7\x1a\x88\x5a\x86\x22\x48\x1c\x2f\x0c\x08\x54\x77\xcf\x88\xf9\xec\x4e\xa6\x7e\xe3\x04\x23\x8e\xb6\x67\x83\x35\xdd\xb1\x08\x9c\x02\x6c\x80\xa3\x67\x12\xd7\xd5\x26\xe7\x3c\x4c\xe4\xf3\x9a\x3f\x37\xeb\x14\x51\x85\xaf\x3e\x88\x5b\xe1\x85\x91\xc7\xf7\x73\xf0\xf0\x83\x52\x13\x3a\x17\xa1\x93\xc3\x19\xa0\x6f\xa9\x16\x09\x44\x7c\x4c\x18\xc2\x51\x29\x46\x31\x06\x5e\x78\xaf\xf0\xe8\xf8\x74\x73\xd5\xa8\xd7\x3f\x13\xf8\x87\x2f\xaa\x88\x1c\xcf\x3c\x57\x1d\x79\xf8\x33\x4e\x92\xe9\xab\xf5\xf5\xbb\xa4\x51\xaf\xd7\x02\x96\xac\xbb\xa1\x13\xe3\x9f\x6b\xb3\xd1\xba\x33\xa6\xd3\x84\x45\x1b\xb5\x71\x32\xf1\x55\xbb\x5b\x0d\x68\x77\xab\x51\x27\x37\x80\xde\xa6\xd0\xf0\x2e\x05\x78\x3d\x8b\x48\x37\xe0\xd2\x07\x62\xb6\x5a\x97\x5b\x8d\xfa\x5a\x34\x59\x17\x8e\x7a\xe2\x34\xfd\xf4\xfe\xaa\xd3\x3b\xfb\x4c\xde\xc3\x14\xb5\x05\xae\x4f\x5f\x8a\x43\x6e\xcb\xca\x90\xbc\xe6\xc5\x3e\x0d\x5c\xe8\x04\x84\x72\xdd\x49\xfc\x98\x7d\x8b\xe5\xbf\xe6\xb0\xda\x57\xbd\xd3\xcf\x84\xbc\xf3\x6e\xbd\x29\x73\x3d\xfa\x8a\xb4\xeb\x20\x13\xed\x86\xea\xb7\x1d\xba\x05\x7d\xb2\xa0\x76\x2f\x6b\xd6\xc2\x68\xb4\xce\xff\x5a\x6f\xd7\xbf\xd0\xc0\xfd\xd2\x6e\x7c\x11\x88\x44\x5f\x1c\xdd\xc2\xa7\x76\xbf\xfb\x99\x58\x3d\xc2\x9b\x5f\x07\x17\x02\xef\xeb\x31\x5d\x89\x0e\x24\x6b\xbe\x74\xf9\xdf\xee\xcc\x41\x01\x23\x64\x42\x03\xb2\x25\xf6\x8b\x61\x58\x85\xbf\xf9\x6f\xce\x64\x5a\x95\xbf\x90\xb5\x53\x5c\xbd\x6b\x01\xbb\x5f\x8c\x5b\xa8\x77\x1e\x35\xf9\x32\xf4\x55\xc6\xd9\xa6\x36\x33\xa9\x98\xdc\x5c\x15\xa3\x1b\xc2\x6e\x49\x64\x28\x8f\x40\xc3\x4b\xef\x71\xb9\xb0\x53\x77\x5e\x94\xcc\xc0\xd9\xd3\x78\x9c\xfc\x71\x3d\x8d\x58\x90\x06\x4c\x54\xc5\x75\x26\x19\x28\xaf\xc1\x38\x30\x05\xae\x91\xc6\x42\xbd\xe0\x9b\x49\x4f\x45\xb5\xdc\x84\xa7\xd2\x11\xe5\x92\x46\x70\xe6\xd0\x84\x11\x48\x1f\x05\xb8\x86\xfa\x09\x98\xc6\x09\xa6\x03\xb5\xe1\x0d\x31\x2d\x2c\xc3\xaf\xb8\x8e\xce\x24\xc8\xbc\xc0\xec\x9a\xd2\x38\x96\x19\x55\xe6\xe1\x2c\xc2\x92\x24\x0a\x67\x09\x04\x6d\x47\x14\x54\x59\x08\xfe\x8b\x18\x20\x01\x62\x0b\x40\xb2\x6e\xf6\x8b\xf2\x79\xd2\xf8\x90\xc6\x97\x66\x0c\xcf\xcd\x55\xed\x52\x7d\x55\xd6\x45\xaf\x83\xdb\x20\xbc\x0f\xbe\x28\x5c\xfd\x56\x30\x27\xcf\x7d\xec\x94\x4c\x42\x17\xa2\xbc\xe2\xe7\xea\x0c\x4c\xed\xfa\x55\x15\xb1\x5e\xfa\x85\x1f\xba\xa4\x84\x11\xdf\x63\x31\x66\xb4\xad\xab\x76\x88\x04\x38\x12\xd1\x42\x48\x44\xbb\xdf\xfd\xa2\x46\x20\xfa\x3e\x13\x55\xbe\x08\x07\x48\x83\xba\x24\xa2\x9e\x6f\x93\x57\x23\xa4\x4f\x27\xcc\x4c\x72\xc0\xb8\xdc\x11\x4a\xd2\x63\xa9\x62\x4b\xec\xc1\x61\xd3\x44\xfa\x95\x45\x4c\xe8\x1e\x98\x2a\x0e\xae\x94\xb3\x09\x1c\x73\x34\x1a\x81\x47\xad\x0e\xf5\x95\xfd\xe7\x93\xf8\x6e\xcc\xf0\x3d\x21\x82\x93\x0e\x41\xce\xa6\x32\x4c\x48\xb0\x0f\x76\x15\xe0\xa9\x8c\x9f\xcc\x00\xd5\x60\x5f\x00\xcc\x8b\x59\x96\x40\x61\x46\x68\x3c\x33\x8d\x94\x06\x11\x4d\x21\x4a\x62\x9a\x55\x7e\x40\x8a\xeb\x18\xe0\x4b\xaa\x79\xc4\x5c\x29\x34\x20\x17\xfd\xb6\x09\xa9\x24\x96\x53\xec\x5c\x79\x13\x76\xea\x4d\x3c\x88\x64\x6b\xd6\xeb\xf5\xba\xec\xac\x6d\x80\x02\x44\x6c\x34\xf3\x69\x44\xd8\xc3\x34\x62\x71\x2c\x12\xcc\x6b\x17\x6b\x10\x2f\x12\x06\x6c\x0d\x20\x59\x24\xd0\x1b\x9f\xa8\xb8\xf6\x4c\xbb\x56\xca\x80\x59\x2f\x20\x96\x60\xf2\xd6\xbe\xcd\x3c\xe7\xd6\x9f\x93\x18\x32\x61\xc8\x0b\xa6\x76\x0c\x7f\x48\xb0\x21\xb3\x71\xbc\xbd\xc9\x5c\x2a\x4e\x83\xec\x13\x84\x49\xac\xdd\xb2\x79\x5c\xd6\xfa\x5f\xbb\x51\xa9\x4d\xe8\xb4\x2c\xdf\xac\x53\x49\x77\xc4\xfd\x00\x75\xeb\xd2\xaf\xbf\x42\xd6\x77\x4c\x81\xf2\x7d\x4a\xdd\x32\x83\xcb\x0c\xdf\xfb\x5b\x49\xb9\x52\x4b\x42\x11\x14\xda\xd8\xae\x54\x49\x53\xa6\x74\xfc\xbd\x52\xfb\x1a\x7a\x01\x86\x8a\xca\xb0\x1e\xa7\x71\x49\x93\x84\x45\x81\x5c\xaa\x3d\x36\xea\x3c\x4c\xcb\xa5\x4f\xbc\x0f\x4e\xf3\x0b\x52\xfa\x5c\x52\x4b\x53\x28\xb2\xc8\x5f\x0f\xef\xc9\x08\x4c\xe3\xc2\x37\xca\x1b\x48\x04\x4d\x25\x43\xa9\xfb\xca\x0e\x52\x2a\xb1\x70\xc6\x53\x7b\xb8\x14\x5d\x80\x42\x94\xcb\x83\xec\xac\x0d\xbc\x24\xcb\x5b\xcc\x06\x22\x6a\xb6\x82\xa2\x62\x88\xc0\x6f\x1c\x32\xf0\x96\x32\x26\xbc\x70\xcc\x84\x19\x0c\xb3\xf4\xfe\x28\x13\x77\xdc\x87\xd1\x2d\xd7\x96\x5f\x42\x93\x72\x65\xc4\x98\xa6\x87\x6b\x62\xbe\x2f\x9e\xdc\xee\x43\x44\xfa\x61\xdf\x66\xde\x1d\xf5\x55\x4e\xc7\x1f\xc9\x59\x18\x27\x90\x3c\x38\x26\x71\xc2\x95\x44\xc0\x07\x96\x5b\x73\x72\x1f\xa2\x3c\x8a\x48\x6a\x6b\x30\xef\x54\x90\x77\x6a\x4c\xb0\x68\x07\x73\x15\xa4\x4b\x94\xe8\x9a\x40\xd3\x90\x65\x06\x5b\xf2\xe2\x78\x26\xa0\x8f\xc9\x73\xea\x38\x9e\xcb\x82\x84\xfa\xcf\xc9\x0c\x00\x64\x45\xae\x22\xa1\x3e\xca\x80\x90\x81\xf2\x99\x42\xed\x55\x9e\xae\xaa\x01\x5e\x1d\xb1\x4a\xbd\xe0\x2e\xf4\xef\x00\xf5\x20\x29\x81\xc9\xd1\x0b\x68\x34\x97\x00\x77\xe6\x79\x8a\x0e\x21\x3b\x07\x5e\x22\x75\x23\x6b\x07\xc9\x13\x01\xbe\xf5\x00\xb7\xf8\x0e\xb1\xd5\xd4\x97\x1e\x13\x21\x1c\xcc\x89\x10\xe7\x42\x1c\x95\x42\x2a\xaf\x6b\x95\x60\x0a\xa1\x85\xcc\x84\xe1\xb2\xf3\x9e\xb1\x51\xf2\xa9\x2b\x81\x5b\xab\x04\x3b\x72\x34\x2a\xa8\x95\xaf\x84\x4b\xfd\x8c\xef\x1e\x22\x41\x33\x42\x91\x1c\x76\xda\xe4\x32\x02\x38\x4f\xcc\x14\xd1\x68\xe6\x92\x75\xc8\x9c\x46\x33\x9f\x17\x68\x73\x9c\x02\x80\x1e\x91\xa8\x75\xd2\xda\xc6\x77\x1f\x88\xa7\x11\xf8\x64\x46\x12\x20\x4e\x7a\xaa\x2f\xb5\x1c\x3a\xb2\x99\x7d\x52\x9a\x25\xc3\xb5\x9d\x92\xdd\xe7\x19\x7d\x90\x26\x03\xdc\x9d\x67\x81\x16\x06\x72\xd8\xee\x57\xf9\x6c\x54\xc9\xe5\x19\x3f\x60\x5a\x97\x7a\xeb\x96\xc8\xc1\xf7\x0c\x9e\x04\xb1\xb9\xd9\x14\x34\x62\x03\xb3\xc0\xc1\xb7\x3b\x25\xec\x08\xa0\xc1\x57\x14\x0b\x64\xfa\x44\x11\xd8\x2e\x15\x45\x7e\x05\x2e\xf7\xaf\xaa\xa4\xf4\xeb\xc3\xae\x53\xaa\x92\x4e\xbf\xcd\xb7\xc2\x52\x45\x64\xe7\xff\x91\x94\x0f\x3a\xa7\xf0\x7d\xfd\x65\xa9\x62\x9a\xc0\xc6\x4c\xe4\x56\x22\xcf\xc5\xb6\x2d\xe9\x7d\x4e\x26\x61\xe0\xc9\xec\x95\x9a\x55\x13\xfa\x80\xdd\x4b\xc5\x98\xec\x93\x46\xbd\xb9\x69\xf3\x49\x41\x17\xb0\x09\xa4\x83\x84\xd4\x3b\x02\xfd\xfc\x1e\x21\x08\x81\x73\xc2\x1e\x68\x6f\x49\x61\x24\xce\x61\x6c\x4b\xcb\x35\x5f\x86\x2a\xd7\x63\xc4\x9c\x70\x14\x78\xdf\xc1\xb7\x98\x3d\x4c\x7d\xcf\xf1\xe0\x9e\x08\xcc\x4c\x51\xcd\x29\xb8\x0e\x8c\x2b\x64\xae\x80\x5f\x19\x71\xa2\xc7\xf5\x5a\xad\x76\xbc\x61\x90\x35\xa1\xd3\x38\xd5\xec\x71\x9d\xec\x93\x5c\x5b\x05\x3f\xb3\xe2\x4f\xa5\x83\xd2\x67\x75\xa0\x1c\x37\x96\x14\xae\x9b\x85\x9b\x8f\x69\x79\x63\x95\xc2\xe9\x91\xe2\xf6\x2d\xa3\x0d\x2d\xd5\xcc\x96\x40\xdc\x43\x29\x67\xc0\x14\x4e\x76\x04\x34\x1b\x80\x46\x26\x51\x38\xe5\xe5\x02\x62\xcb\xc4\x23\xde\xf1\x29\x6f\x0c\x9b\x51\x66\x59\x2e\x6c\xbb\x9b\x70\x2e\x08\x7f\xcd\xfa\x43\xb3\x01\x79\xac\x1e\x5e\xa6\x65\x5f\x4f\x07\x34\xc5\xe9\x28\x1d\x94\xaa\xe4\xba\x4f\x5a\xfd\x76\xb7\x9b\x9e\x8f\x53\xbe\x70\x8f\xeb\xa5\xec\x68\x77\xfe\xfa\xd1\xf6\x56\x1c\x2d\x15\xa3\x1d\xa6\xa5\xf4\xb8\x67\x91\xbf\x4e\xfa\xf4\x0e\xf0\xec\xf8\x2e\x29\xd5\xaf\xc3\x4e\xbb\xdf\x46\xd5\xcc\xd6\xcf\xa8\x48\x10\x9c\x84\x04\x01\x65\x29\x82\x0f\xdc\x5c\x61\x0b\x55\xe2\x01\x03\x7f\x0c\xc2\x04\x37\x61\x01\x49\x67\xeb\x25\x31\xef\x33\xff\x8a\x82\x19\x85\xf4\x1d\xc5\x76\x82\x38\x0f\x33\xc9\x4e\xf5\x15\xd5\x70\x03\xce\xbd\xd3\x09\x1b\xb8\x68\x8a\x8f\xb1\x73\x25\x0e\x86\x7a\xbd\x2e\x4d\x32\xe2\x72\xa8\xf3\xf3\xae\xcf\xa6\xa2\x3b\x50\x20\x56\xeb\xb3\x7d\xda\x6d\x9f\xf0\x6d\xab\xb0\xc3\xe6\xc2\x0e\x01\xd3\x39\xbc\x43\xd3\x11\x82\x7c\x52\x32\x80\x1c\xe1\x00\xea\x1a\xde\x07\x2b\x0e\xbe\xd7\x3a\x26\xe0\xcb\xa0\xa0\xed\xd4\x25\x90\x18\xd0\x59\x96\xed\x50\xbe\x75\x44\xd4\xb9\x8d\x6d\x7c\x05\x33\xfb\xa2\xbc\xf8\x76\x13\x88\x4e\x19\x7a\xcc\x77\x63\xa9\x94\x9b\x81\xbc\x83\xd9\x70\xc8\x8f\x02\x89\x9f\x2e\xed\xbb\xf2\x73\x3e\x5a\xd5\xa0\xd2\xbf\xd3\xaf\x4c\xf2\xf3\xdf\x95\x3f\xe3\x2c\x70\xac\x15\x0c\xf5\x23\xab\x81\xdc\x90\xd3\xc1\x6c\xa8\x43\x4d\xf5\x63\x15\x7a\xa2\x5b\xe3\x45\x0a\x53\xac\x36\x38\x68\x02\x81\x68\xa2\xf8\xdf\x55\xd9\x53\x4e\x98\x81\x74\x44\xdf\x27\xa9\x4f\x34\x08\xc2\x6c\x28\x42\xb6\xf8\x6f\xbf\xfd\x66\xa3\x15\x4d\xc3\x58\x3e\x27\xa0\x8f\x23\x67\x44\x71\x63\x34\x1a\xc5\xe2\x75\x28\x17\xcc\x20\xc5\xb6\xaa\x35\x2f\x72\xce\x0a\x79\xb0\x08\xc0\x22\xcb\x02\x28\x02\x95\x8f\x94\x77\xbe\x8d\xc2\x74\x30\x1b\x96\x8d\x81\x9b\xf7\x25\xf8\xbe\x25\x6f\xe3\x99\xbc\xb5\x05\xe3\xc9\x5b\xb6\xc5\xe4\x5b\xb4\x15\x81\x71\x20\xbf\xf3\xe6\xb4\x80\x24\xe4\xa8\xc5\x50\x45\x56\x9e\x94\x5a\x12\xca\x37\x48\x84\x32\x03\x10\xa6\xd9\xb0\x2a\xa7\x1a\xe0\x71\xb9\x68\xac\x3c\xbc\x03\x10\xac\x05\x13\x84\x92\xa7\x5c\x0e\xc5\x44\x98\x5e\x87\xe4\x17\xf5\xf1\xab\x02\xb9\xcc\xe5\x81\x32\xa3\x10\xdf\x8b\x93\x85\xc3\xe7\xed\xd3\x68\xf4\xe5\x3b\x8b\x42\xcd\x07\x99\x43\x53\xf3\x82\x4b\xf6\xa7\xfa\xe7\x95\x47\xaf\x64\x27\xcd\x03\xd9\x99\xc1\x08\xde\x76\xcd\x7e\xbb\x33\x7d\x31\x4d\x0a\x7f\xe0\xaa\x7c\xe0\xb2\xa1\x17\x30\xb7\x64\xe4\x6e\x14\xf4\x89\xa5\x2c\xcb\x5b\xfc\x39\x66\x80\x8a\x28\x99\x03\x16\xab\x80\x08\xaf\x87\xa2\x74\x68\x34\x1a\x05\xb3\x09\x9a\x7c\x64\x45\x81\xd2\x07\xd6\xa6\x24\xe2\x17\x92\x55\xd8\xe2\xd1\xc8\x7a\x54\xc6\x96\x95\x80\xdd\x70\x56\xeb\x57\x66\xf4\xd8\xd1\x43\xc3\xd2\x9f\x25\x6f\xd4\x8b\xb4\x78\x93\x86\xcd\x00\x56\x63\x37\x00\xb4\xd9\x2a\x69\xd4\x2b\x2a\x82\xa2\x65\x0c\x3b\x1c\x12\x60\xa5\x17\x93\x44\xe0\x3b\x89\xad\x58\x6e\xee\x30\xeb\x35\xf5\xa4\x0c\x8d\xef\x93\x7a\x45\x47\xd9\xe8\x2d\x10\xc8\x36\x13\x47\xf2\x7f\x64\x14\xb2\xf8\xc4\x2e\x6a\xcc\x48\xcb\xbd\xa3\xf2\xca\x82\x27\xd2\x34\x8c\xf3\x0e\x24\xe5\x9a\x02\x37\x0d\xcc\x30\x81\x93\x10\x0e\x85\x3a\xc6\x2f\xd1\xd8\xdc\x2a\x93\x21\x8a\x9a\xf3\x01\x4d\x1b\x52\xc9\x97\xd8\x8b\x7d\xec\x31\xb5\xce\x44\xac\x25\x23\x11\x9b\x50\x0f\x9e\xae\x20\x0d\x13\x82\x65\x1b\xbb\x50\x36\x0f\x93\x1a\x2a\x3c\x6c\x19\x3b\xbe\xe5\xb9\x61\xa6\xd2\x58\xd2\xc7\x2a\xa3\x9d\x32\x76\xdb\x93\xcd\xa4\xf6\x25\xdb\x67\x53\xec\x4b\xf2\xe9\x5b\x32\x22\xbd\xff\x2b\x06\x40\xf6\x1a\xf4\xf8\x30\xcd\x50\xc1\x9f\xcd\x04\xe8\xa7\xa0\x83\x55\x39\xc0\xaf\x52\x8f\x1e\x79\x15\x92\xc6\x3e\x7d\xf0\xfc\x1c\xa2\x69\x31\x37\x87\x0d\x06\x3b\x2e\xc2\x7f\xe9\xf8\xb9\xfe\x39\x9b\xb0\x27\xb1\xe0\xc5\x8b\x42\x26\x18\x9e\xc4\x62\xbc\x5e\x4c\xd8\x64\x9a\xcc\xe5\xcb\x84\xa1\x89\x62\x76\x7b\x69\x10\x5f\x69\xcb\x8c\xdb\x22\x1f\xc9\x52\xa2\x25\x56\x8e\x0a\xa6\xe5\x03\x11\x67\xca\x4f\xfb\x6a\x45\x9b\xb1\xad\xf6\x1d\xc8\xec\xe1\xce\xdc\x07\xee\xc0\x26\x7f\x97\xec\x99\x77\xaa\x72\xa5\xb8\x25\x33\x48\x92\xde\x15\x02\x4d\xa1\x59\x6d\x5f\x75\xa2\x5e\xe1\xa0\x16\xb6\x67\xa6\x21\x4e\xd2\x08\xb8\xd9\x8a\x23\x96\xa4\xf0\xe3\x2a\x08\x3d\x67\xb6\x03\xd7\x6a\x55\xf7\xf8\x74\xcf\xba\xb0\xea\x2f\x0c\x78\x54\xb0\x8c\xe8\x6f\xea\xb6\x15\x44\x7f\xd1\xb0\x2d\x1e\xfa\x8b\xa6\x6d\xdd\xd0\x5f\x6c\xac\xc4\x46\x99\xb9\x26\x9f\x93\x16\x0b\x44\x51\xc1\x3e\x83\xd3\x06\x07\x6c\x66\x67\x78\x96\xc3\x6d\xc9\xc5\x54\x23\x9a\x95\x06\x1b\x91\x79\xea\x8b\x5e\xaa\x8a\x62\xa5\xc1\x46\x64\x9e\xfa\xa2\x61\x7f\xa1\x58\x69\xb0\x11\x99\xa7\xbe\x48\xb3\x71\x35\xa4\xbb\xff\xd7\x0c\x5e\x69\xab\x50\xae\xa1\xe5\x09\x66\x8f\xc7\x3f\x59\x1b\x5b\xe1\x6b\x78\x64\xd5\x4f\x8a\x69\xab\x89\x74\x3e\x01\xb3\x2c\xbe\xa2\x5f\xf1\xdb\xbe\x17\x8c\x9e\x93\x98\x39\xf2\x44\xff\x04\xae\x05\x69\x05\x3b\x2f\x01\x06\xbe\xb9\x9b\x73\xca\x52\x98\x47\xd6\x40\x16\x8d\xc4\x8c\x24\x52\xaf\x9b\x6c\x32\x0d\x23\x1a\xcd\xc1\xf0\x44\x47\xa8\xff\x87\xb3\x08\xde\x56\xc3\x20\x66\xf2\xa5\x4f\xfe\x2d\x6b\xca\x37\x5a\x4c\x1c\x23\xed\x50\xbc\xe4\x24\x74\x4d\xcd\x9e\xd5\xe2\xb1\x37\x4c\x4e\xd8\x1c\x09\xe0\x5f\xff\xb6\x4f\x36\xf5\xf7\x13\x96\xd0\x13\x36\xe7\xbb\xb9\x9d\xa9\x41\xa5\x84\xaa\x51\x3f\xe9\xc6\x67\x2c\xa1\xe4\x6f\x7f\x23\x8c\xff\xc9\xdb\xb3\x1a\xdc\xd1\x0d\x3a\x49\xe4\xa7\xfb\x6b\x6c\xab\x31\x5f\x1c\x5e\x94\xa3\x91\x17\xb8\xb4\xf2\x8a\xbc\x63\x56\x5a\x39\x91\x64\x53\xd9\x93\xb6\xf8\xa1\xbe\x1e\x46\xfc\xf7\x6d\xae\x77\xb2\x87\x84\xa1\x5d\x45\x3e\x8d\x42\x2a\x1e\x7e\xa8\x00\x7c\x19\x98\x14\xc3\xd9\x68\x5c\x15\x4f\xde\x53\x4c\x18\x4a\x31\xb0\x10\x52\xe6\x53\xe2\x7b\x49\xe2\xb3\x2a\xe9\x92\x7b\x1a\x83\x4b\x16\x80\x64\x8b\x84\x76\x23\x96\x90\x3b\x0f\xac\xe3\x13\xea\xc4\xd2\x88\x22\x1c\x71\x51\x23\x8c\xf1\xf5\x25\x96\x5c\x7f\x20\xfb\xe2\x75\xa1\x36\x8c\xc2\x49\x5b\xbc\x9d\x96\xf1\x45\xd5\xf1\xe9\x64\x5a\x66\x8a\xb3\xf8\xf0\x4d\x5e\x90\x8d\x66\x15\xfe\x6b\x6e\x6d\x55\x14\x88\xd5\xfc\x51\x6d\xf5\xc2\xfb\x6c\x43\xcf\x08\x89\xef\xbd\xc4\x19\xf3\xf9\xe0\x32\x2d\x6f\x30\x0e\x8d\x19\x29\xe9\xb4\xd5\xa5\x57\x1a\x13\x00\x57\x0c\x66\xb3\xb6\x6f\x2c\xc2\x46\xd7\xe0\x3c\x69\x92\xa9\x3f\x83\xeb\x1c\x75\x5d\x4f\x5c\x62\xb7\x37\x25\x2e\xc0\x00\x22\x42\x59\x0d\x9a\x39\x64\x7e\x42\x3f\x90\x9f\x49\x9d\xdf\xaf\xeb\xe4\x15\x69\x54\xc8\x0b\xb2\xbb\xad\x3c\x4c\xb9\x6c\x4c\x42\x77\x4f\xdd\x77\x50\xcc\xf9\x2e\xf3\xeb\x43\x63\xf0\xe9\xac\x44\x5e\xe4\x32\x63\xc0\x1b\x7a\x20\x2f\xc8\x7c\xef\x99\x1e\xc2\x89\x4c\xbc\xa9\xc1\x20\xa2\x70\x22\x32\x76\x23\x4a\x33\xba\x59\x43\x3e\x20\x16\x24\x06\x7c\x8b\xa0\x28\x62\xf4\x56\x34\x69\x30\xcb\x0d\xef\x03\x93\x57\x07\xc0\x11\x74\xbb\x53\x79\xa1\x14\xa3\xc4\x85\x09\x18\xb5\xd1\x94\x9d\x82\x0b\x33\xd9\x27\x67\x34\x19\xd7\x26\x5e\x00\x5c\xf2\x9c\x31\x59\x23\x8d\x2a\x69\x56\x60\x1a\xcd\xd1\xb4\x02\x97\x4c\xbc\x07\xa9\x82\x4e\x8c\x35\x1f\xd7\x32\x1c\xfc\x43\x2c\x5c\x38\xf8\xd9\x34\x2b\x26\xb3\x29\x98\x47\x83\x50\x62\x1b\x89\xbd\x15\x47\x24\xf8\x70\x4f\x63\xf0\x6f\xa4\xb1\x78\xf1\xcd\xa5\xef\xd7\x87\xe6\x46\x69\x45\x52\x26\xe1\x1d\x53\xc4\x3c\x62\x13\xee\xb5\x8e\x71\xef\x02\xfa\x4c\x17\x88\xf5\x75\xd2\x4f\x68\xe0\xd2\xc8\x95\x64\x0f\xbc\x44\xf1\x17\x25\x7a\xa3\x49\x5e\x14\xce\x9b\x62\x3d\x4e\x9a\xeb\xf2\xe2\x89\x62\x0c\x13\xe7\xd4\x24\x14\x57\x2f\xd5\xee\x8b\x7d\x73\xc2\x57\x9e\xf2\x9c\x49\xff\x63\xd3\xfe\xfb\xb3\x42\xa6\x3b\xbe\xe7\xdc\x0a\x86\xe3\x27\xee\xc0\x37\x3f\xb4\x2b\x09\xf3\x83\xfc\x4a\xa6\x1b\x63\x51\x14\x46\xe5\x92\xf0\x7d\x31\xcf\x6d\xcc\x35\x86\x7b\x54\x95\xb0\xf4\x32\x34\xfc\xc7\xe5\x00\x0d\x43\x94\x3a\xa8\xbc\xd0\x48\x53\xa7\x4b\xda\x60\xf7\xd2\x09\x50\x7b\xda\x84\x43\xcb\xd9\x58\xbc\x4d\xc9\x5b\x73\xc4\x62\x30\x46\x8a\xb4\x93\xda\xd9\xef\x99\x99\x2b\xdc\x86\xb6\xbe\x32\xaf\xe2\x98\x35\x0e\x7d\x58\xf2\xb2\xc6\x89\x17\x76\x9d\x38\x2e\x95\x35\x2e\x57\x37\x51\xbe\x8c\xa6\x52\x62\x1b\x3b\x0d\x5f\x39\x6d\x7c\x16\x66\x5d\x07\x24\x60\x36\x14\x87\x84\xc8\xb4\xf6\x43\xa6\x9e\xbe\x0e\x96\x2b\xa6\xf5\xcb\x34\x12\x9b\xe5\xf9\xe7\x3a\x88\x02\x4d\xa6\x99\x42\x70\x29\x54\x3b\x21\xd8\x46\x32\x65\x06\xb3\xa1\x90\xa5\xdc\x3e\x6a\x0e\xf5\x7d\x18\x4c\x35\x53\x40\x2e\x44\xb5\x2d\xa4\x2b\xf3\xbd\x01\xfe\x95\x90\x21\x29\xe2\xf8\xf7\xfc\x1f\x23\xbc\x39\x8f\x3e\x5e\x4c\x71\x9c\xe8\x04\x56\x97\x68\xa1\x77\x3d\x17\xe1\xb8\x7d\xe9\x72\x07\xfa\xd9\x0f\x25\x13\x03\xc4\x10\x4c\x74\x5a\xd2\x52\xf9\x27\x09\x8a\xf0\x9d\xca\x0b\xad\x51\x0c\xca\x71\xdf\x50\xfe\x1b\x39\x08\x9e\xcc\xcc\xa2\x64\x05\x67\xc4\x49\x64\x2d\x36\x68\xcf\xc8\xb3\x25\x87\x16\xa3\x63\x57\xc6\x53\x7c\xb1\x4b\x31\x36\x52\x34\x50\x9d\xdc\x29\x77\xb0\x46\x3c\x9b\x9d\x06\xca\xde\x1e\xd4\x2c\xa0\xe7\x99\x19\x69\x86\xdd\x2f\x61\xf4\xb2\xfe\x33\xae\x6b\x72\x31\x66\x28\xc9\xbc\xfd\x65\xde\x0e\xe1\x39\x13\xf6\x17\xf0\x1c\x4c\x74\x70\x9a\xf4\x1d\x84\xfc\xdf\xa4\x91\xf5\x4d\x44\x9b\x56\xb9\x5d\x5f\x6f\x37\x52\x21\x72\xa0\x29\xa1\xf7\x79\xa5\x46\xc0\x25\xd5\x00\x1e\x76\xc2\x09\x66\xfa\x1f\x9a\x1e\x37\x72\x97\x13\xa1\x03\x66\x4a\x6a\xb9\x43\xf2\x75\xca\x02\x85\x2c\x61\x13\xa2\x36\x49\x2f\x9e\x02\xd4\x53\xda\x56\x65\x98\x15\x2d\xef\x49\x33\x2b\xb1\x5a\x9d\x86\x49\x9f\xf9\x43\x95\x50\xd2\x44\xc9\x02\x22\x4d\x93\x3e\x58\xf8\x99\x3f\xfc\xc4\xff\x57\x3b\x3e\xfd\x5c\x3b\x3e\x95\xd6\x77\x7c\x18\x48\x7f\xab\x85\x3f\x53\xbb\xf7\xb9\x76\xdc\x2b\xac\x0d\xdf\x9a\xb5\xe1\x63\x75\x88\x69\xd2\xe0\xdc\x53\xae\x0c\x8c\x46\xce\xd8\xf2\x0a\x35\x43\x01\x07\x7e\x88\x08\xce\x7a\xae\xe4\x9d\x04\x77\xd8\xa9\x61\xed\x4b\xd9\xa6\xcb\xea\xca\x11\x88\x10\x4d\xf4\x9f\x03\xc3\x24\x74\x5b\x4e\x7b\x74\x6a\x90\x0d\xab\xca\x3e\xd7\xf0\x15\xa6\xe8\x3b\x56\x02\xef\x88\xd9\x64\xe0\x33\x17\x63\xab\x70\x29\xe5\x78\x2d\xd5\xf4\x66\x2f\xa5\xa0\x5c\x6a\xb7\x1b\xa5\x2a\x31\x0c\xa4\xf5\x2a\x69\x54\xaa\xc6\x60\x84\xa6\x60\x8c\x4e\x98\x7e\xcb\x8d\xca\x9e\x75\xd5\x36\x74\x88\x14\xcd\x6b\x0d\x0b\x08\x95\x45\xe8\x31\x1d\x84\x39\x5e\xa1\x2a\xbb\x0a\xae\x34\xa4\x1a\xa7\x8c\x9f\x05\x19\x6a\xe0\xe0\x2d\xe7\x93\xa2\xaa\x19\xa3\x33\x48\xab\xe8\xb7\xe1\x05\x1c\x31\x2a\xe4\xf2\x26\x87\x33\xe6\xf0\x5f\xa4\xed\xcc\x18\x14\x40\x33\xa1\x2d\x44\xc7\x6f\xe0\x92\xa7\x81\xab\xd6\x2b\xf1\xac\xa8\x1f\x8c\x24\x01\xf7\xef\x70\xa2\x22\x86\x3c\x1d\x80\x43\xe8\x20\x9c\x49\xef\x74\x47\x5c\xa0\x17\xac\xf7\x76\xbf\xbb\x74\xad\x03\xd2\x4c\x4a\xca\xb9\xb2\xab\xa5\x5b\xb8\x0a\x98\x1c\x89\x46\xb1\x92\x64\x67\x4c\x7e\xde\x27\xa5\xbf\x97\xb8\x5e\xe0\x80\x0d\xbb\xf4\x3f\xa5\x34\x46\xae\x17\x8b\x9d\x95\x6b\x7d\x4b\xa4\xb7\xdf\x2d\x55\x0b\xbc\xfe\x5f\x14\xf9\xda\xbf\x20\xce\xd8\x0c\xe5\x93\x3f\x8b\x44\x3e\xdf\xef\x40\xc7\x62\x8b\xd1\xf1\x43\x7d\xcf\x1c\xd0\x25\x8d\xe8\x04\x82\xe8\x5c\xe6\x7b\x13\xa6\x06\xa2\x11\x83\xd3\xf4\x59\xe8\x81\xa9\xfa\x1e\x38\x24\xaa\x08\x83\x4c\x1c\x03\x18\x65\x28\xb8\xbd\x92\x29\x75\x5d\xdf\x0b\x4a\xf2\x32\xb3\xca\x68\x72\x83\x64\x7f\x30\x9e\xb2\x53\xf7\xb9\xab\x31\x9b\x93\x70\xe2\x25\x70\x1c\xa9\xe3\x10\x1e\x38\x2d\x8c\xfa\x78\x36\x9d\xfa\x73\x14\x62\xf1\x03\xad\x42\x70\xaa\xf0\xd1\xb0\x2e\x48\x39\xdf\xfe\x9e\xe5\x37\x97\xa6\xba\x29\x4d\xbb\x26\xf3\xcf\x01\x73\x72\x9e\xe8\x1c\x6e\xc2\x2d\x67\x2a\xb9\x5a\x7b\xf6\x98\xc9\x38\x17\x01\x1d\xaa\xfa\x5f\x36\x15\x8f\x9c\x09\xed\x27\xe0\x8c\x15\x27\xed\xea\xa2\x90\xe9\x95\xb0\x46\x1a\x9f\xe1\x31\x78\x6c\x07\x33\x17\xf0\x99\x98\x7c\xfe\x45\xfe\xf1\xc3\x3e\x29\xbd\x32\x99\xae\xec\xa5\xa9\x95\x5b\x4c\x7f\xc1\xf2\xd5\x84\xa5\x86\x52\xb4\xac\x8d\x0a\xa9\x11\xa4\xcf\xd6\x5a\xc2\xe2\xa4\xec\x8c\x2b\x06\xdd\xed\x47\x1c\x97\xce\x38\x75\x08\xa4\x41\x19\xd6\xd7\xc9\x75\xa0\x3c\xbf\xad\x27\x4e\x1d\xf7\x34\xa0\x9e\x4f\xc2\x99\x58\x12\x2b\xc8\x04\x1e\x69\xf9\xe7\xb0\x09\x35\x74\xeb\x4d\x31\xd0\xcc\xd0\x57\x67\x41\xe2\xf9\x5a\xaf\x29\xf2\xcf\xee\xf4\xdb\x44\xba\x65\xff\x48\x0e\x98\xef\xdb\x9e\xd9\xe6\xf5\x5b\x23\x27\x50\xc7\x99\x4d\x66\x3e\x4d\x8c\xf0\x1b\xbd\xfd\x7f\xaa\x7f\xae\x11\x72\x46\x6f\x19\x89\x67\x11\x13\x01\x4d\xe8\xd5\x03\xc8\x39\xca\xab\xa6\x0c\xde\xe3\x69\x4e\x28\xaf\x9b\x8a\x54\x8a\x15\x78\x88\x76\x23\x14\x74\x7d\x08\x67\x10\x0d\x8e\x69\xeb\xd1\x1f\x9b\x17\xc0\x2b\x06\xc4\x2d\xc3\xcb\xeb\x60\x4e\x9c\x31\x83\x07\x0b\x9d\xc1\x4c\x3d\x63\x2b\x25\x76\x4c\x55\xb6\x71\x00\x87\x4c\xa7\xea\xc9\xbf\x35\x74\x87\xb6\x07\xf9\x04\x15\x79\x1a\x90\xac\x6b\xba\x69\x16\xb9\x67\x90\xb6\x1f\x7a\x7a\x26\xa2\x10\x2c\xef\x7d\x33\x7e\x62\xc0\x48\xc4\xd6\x80\x00\x57\xc7\xc6\x2c\x70\x65\xcc\xc7\xcd\x52\x6e\xf0\x8a\x4b\x31\x09\x83\x51\x08\x56\x9b\x48\x31\xac\x46\xac\x1c\x86\xa5\x3b\x8d\xa3\xf1\xe0\x30\xe6\x8a\xed\x7f\x42\x1f\x48\xca\x4b\x7f\xd9\x35\x23\xf1\x7c\x64\x89\x96\xc5\xa5\x8a\xc8\x23\xf5\x6d\x43\xca\x2d\x95\x7b\xbd\xfc\xeb\x43\x63\xf0\xeb\xaf\xbf\x71\xd9\xae\xac\xaf\xaa\xc5\xe4\xed\x62\x7a\x07\x2e\x09\xeb\x03\x7c\xd2\xf8\x2c\x5e\xea\x0e\x29\xe6\x84\x4c\xa9\xc8\x26\x65\x29\x2d\xf9\x3c\x54\x41\x3c\x61\x04\x59\x00\xaa\x22\x64\x29\x15\x87\x87\x0e\x1b\x42\x57\xb6\x88\x79\x01\xa3\x15\x07\x3b\x0c\x6c\x10\x46\x49\x8f\xd1\x38\x0c\x8c\x6b\x95\x5c\xa3\xe2\x58\xf8\xb9\x20\x8a\x42\xde\xb6\x8c\x46\xf8\x70\x93\x30\x24\x7e\x18\x8c\xd0\xbe\x68\xb7\x95\xd3\x09\x00\x13\x5d\x0c\xcb\x60\x3a\x2d\x55\xf8\xf9\xb1\xd6\x28\x68\x9a\x4d\x06\xcc\xe5\xa2\x85\xb1\x16\x76\x0f\xa9\x86\x8c\xae\x34\xbf\xc9\x9a\x9a\x86\x9f\x73\xa2\x12\x8b\x46\xe4\x4d\x18\xd7\x9d\xd9\xc3\xd4\x8b\x98\x8b\xdd\xe6\x35\x6a\x0e\x4f\x37\xa1\x0f\x36\x69\x94\xf5\xc3\x51\xb9\xb4\x40\xdc\x5f\x21\x05\x9e\x62\xa2\x6e\x2c\x4f\x4f\x15\x1c\x50\x3a\x53\xe6\x2e\x94\x2e\x60\x23\x30\x1a\x6a\x56\xce\x59\xa2\x3d\x4c\xac\x1b\x55\x36\x6f\x44\x4a\x6a\x5e\xa4\x57\x5a\xa1\x18\x99\xb7\x57\x11\x33\x6b\x84\x93\xc2\x91\xa5\x8f\xc8\x19\x84\xd3\x60\xfc\x5d\x32\xf6\x82\x5b\xc4\xbb\x96\x42\x97\x7f\x74\x96\xd5\x02\x20\xfa\xc6\x98\x66\x02\x0c\xc4\x5e\x29\xa9\x4b\xa2\x1e\x0c\x4a\xd7\x0a\x27\x74\xc1\x55\xd0\x60\xcb\x8b\x9c\x09\x25\x84\x94\x53\xf7\x4d\x5d\x83\x5f\x39\xe1\x5e\x01\x72\x4e\x7e\x21\x4d\x78\xdc\xb3\x8c\x82\x38\x39\xa6\x8d\x4d\xde\x1a\xc5\x79\xa5\x0e\x34\x91\x43\x36\x70\x7d\x16\x2b\xe8\xc7\x76\xbb\x01\x21\x59\xe0\xde\xd4\xee\x77\xf9\x3f\x37\x57\x5b\x4d\x19\xea\x55\x60\x8d\x93\x7d\x98\xa1\xfd\xf0\xb8\xe0\x00\x0a\x56\xde\xc6\x8d\x3d\x47\x86\x6b\xc4\x27\x5e\xe5\xf3\x27\x5e\x45\xf9\x81\xfe\x20\x8a\x99\x96\xa3\xfc\x18\xa9\x4a\x6a\xa5\xf1\x02\xfa\xf5\x03\x52\xa2\xcc\xa7\x8c\xbc\x20\x25\x20\x0a\x97\xd7\x9b\xfe\xc5\x79\x0d\x37\x4c\x6f\x38\x2f\xf3\x2f\x2a\xc5\x96\x0c\x45\xb2\xe1\xce\x81\x01\x5c\x4f\x25\xaf\x0b\xb5\xdd\x3f\x87\xbc\x44\xa0\x4d\x82\x66\x0a\x3a\x79\xe8\x32\xf2\x33\x17\x97\x97\xc3\x92\x86\x5a\xce\x44\x6f\x1a\xeb\xb0\xcb\x97\xd4\xad\x27\xe2\xb9\xc9\x58\x28\x3a\x53\xb0\x1f\x78\xb1\x38\x7c\x06\xb3\xa4\x56\xab\x89\x3a\xaa\xea\x50\x44\x89\x4b\x69\x00\xe3\xb3\xa0\x06\xe5\x00\xc2\x07\x79\x0f\xa3\x30\xc9\x89\xdf\xad\xca\xa6\x70\xad\x97\xc0\x2c\x94\xa0\x7f\x82\xc0\x15\xc6\x29\x50\xb1\xb4\x2e\x8b\x7f\x21\xe4\xcd\x2c\x4e\x64\x58\xa2\xbc\x56\x6a\xba\xc0\x90\x20\x5e\x9e\xe1\x09\x9d\x45\x11\x0d\x12\x52\x86\x00\xc8\xd2\xaf\x0f\xbb\xf5\x52\xa5\x4a\xca\x10\x0a\xc9\xff\x74\xe1\xcf\xcb\x33\xfc\x8b\xa9\xc8\x44\xde\x58\xb9\x75\x29\x4a\x0d\x4b\x15\xb4\xde\xfa\x21\xea\x8e\xb3\xd4\x23\x38\x3f\x99\xa5\x79\xd8\x4b\x62\x15\xfd\xa9\x9a\xd2\x51\x90\xbc\x87\x8c\x72\x9d\x2f\x2c\xbc\xc5\x6c\x24\xf1\x2b\x52\x7f\x28\xe5\x6d\x28\xb0\x6c\x8d\xa0\xf2\xba\x1d\x55\x9e\x2f\x4c\x42\xce\x6b\x94\x5f\xd4\xc5\xbb\xcf\x27\xbd\x86\x71\x55\x7f\x4e\xdd\x34\x58\x02\x9e\x9e\x66\xfe\x02\xe1\xc6\x6e\xfa\x0e\xb9\x4c\x3e\xf4\x8a\xf7\xc1\xbb\xf0\x56\xa0\x9d\xcb\xb7\xd4\x24\x24\xfd\xb3\xf5\xde\x99\x2c\xd3\x91\x77\x27\x4c\x92\x0e\xfc\x84\x31\xa3\xda\xd9\x24\x6b\xe4\x44\xf8\xcc\x90\x16\x6e\x6d\x67\xbc\x9f\x72\xeb\xac\x52\x23\x24\x0b\x13\x54\xc3\x8a\x9b\x64\x8d\x74\x21\xdf\x8f\x28\xdf\xed\x9d\x55\xc4\x77\x0d\xde\x6a\x9f\x05\xee\xba\x78\x06\x22\xe5\x7e\x6f\x71\x73\xcd\x3a\x59\x23\xad\x59\x12\x4e\x00\x47\xef\x9c\xdd\x43\x96\x92\xf2\xe9\xf9\x99\xba\x2a\x19\x17\x41\xbe\x14\x66\x56\x8c\xa7\x18\x1e\xe5\x97\x1a\xcf\x17\x30\x42\xb8\x3f\x14\x6e\xbc\xfc\x4a\x74\xde\xef\x9e\xa5\x1e\x9d\x1c\x89\x3d\x98\x18\x9e\x53\xf8\x32\xb5\x4f\x4a\x9b\x25\x0b\x57\xdc\xf4\x14\x44\x7e\x9c\xe1\x13\x89\xb4\x7e\x99\xf7\x7f\xd9\x46\xb3\x5e\xdc\x08\x67\x42\x9b\x46\x91\x47\x47\x0c\x1d\x69\xf3\x1b\x2b\xd8\x28\xa5\xd3\x4c\x6a\x1f\x37\x59\x05\xd2\x75\xa6\xb6\x49\xd8\x17\xb3\xc0\xe4\x5c\x22\x23\x71\xbf\x34\x44\x33\x1d\xcc\xbd\x4c\x18\x31\xda\x6e\xfd\xb0\xd3\xee\xf5\xaf\x56\x14\x4a\x2e\x42\x5c\x1c\xa6\x53\x5f\xba\x69\xa0\x5f\x1e\x17\xd5\x98\x94\x0f\x3b\xed\xf6\x89\x92\x36\x21\xc5\x9f\x7e\xf8\x4c\x0e\x59\xec\x8d\xc0\xb3\xea\xba\x0f\x31\xa3\xd8\xb2\x19\x00\x1a\x93\xe3\xfa\xda\xf1\x06\x34\xd2\x3a\x3f\xab\xe0\xb6\x0a\xc1\x9c\x06\x5e\x10\x02\x3f\x4d\xc4\xa9\x8d\x9f\x6d\x90\x35\xd2\xd8\x68\x12\xe1\x09\x85\x52\xcf\x49\xb9\x38\x35\x69\xe1\x0b\xe3\xd3\xc3\x67\xd2\x9f\x84\x61\x32\x26\xe5\xbe\x1f\xde\x57\x48\x1f\xdc\x79\xa0\x7c\xbf\x6d\x95\xdf\x22\x6b\xa4\xc7\x30\xd9\x0a\x22\x42\x61\xa1\x73\xb3\xd0\x36\x59\x23\x17\x91\x37\xf2\x8c\x7e\x2f\xcc\x02\x2f\xc9\x1a\x79\x17\xd1\xa9\x70\x1a\x53\x85\x5a\xef\xcc\x52\x3b\x82\x36\x2e\x63\x6b\x11\x9b\x32\x9a\x68\x96\xb6\x7a\x66\xd1\x5d\xc1\x52\xbe\x8c\x85\xff\xcc\x7b\xf2\x37\xf2\x81\x84\x81\xf4\x39\x01\x94\x11\x55\xa3\x51\x97\x03\x1f\x87\xf7\x5c\xaf\xf4\x07\x34\x22\xe5\xe8\xe1\x2e\xd1\xcd\xe2\xce\x00\xd8\xa5\x07\xbe\x17\xc0\xce\x2f\xa6\xb6\x4c\x93\x64\xbb\x51\x37\xca\xee\x08\x12\x2e\x23\x0f\x93\x4f\x4e\xc8\x90\x31\x17\x88\xbd\x3c\x3a\x32\x4a\xee\xca\xae\x59\x82\x2f\x15\xe8\x74\x07\x58\x05\xc3\x19\x3c\x3a\x46\x8c\x05\x58\xb3\xf3\x5e\xd7\x6c\x72\xee\x03\xc1\x92\x8a\xc3\x4e\xfb\xaa\xdd\x31\x38\xb1\x51\x97\x9c\xe0\xc5\xd0\x2d\x2b\x67\x64\x1b\x5b\x82\x86\x0e\xe8\x07\x90\x81\x74\x0d\xfc\x18\xe1\x14\x13\x7b\x4b\x9c\xa9\xb6\xa3\xaa\x71\x01\xbd\x62\xb7\x49\x14\x06\xde\x83\x9e\xc1\xab\xce\x89\x2e\xbe\x09\xdb\x24\xa0\x41\xec\xd4\x85\x3c\x9e\x99\x52\xba\xd9\x10\xd4\x4e\xc2\x88\x95\x1b\x15\x32\xf4\x1e\x48\x39\x66\x08\xd4\xc0\x00\x2e\x10\xd3\x7b\xe8\x2a\x72\xf5\x08\xca\xcf\x71\xc5\xf5\x18\x84\x18\x43\x50\x50\xdb\x5e\x41\x9c\xac\xf3\x5e\xdb\x60\xd2\xe6\xa6\x68\xe3\x8a\x6b\xd1\x17\x01\x39\xa3\x11\x17\xd6\x03\x86\x21\x71\x58\xc8\x10\xf5\xb5\x7b\x5b\x58\x75\xa1\x6d\x39\x97\x20\x25\xa7\xe1\x68\x84\x6f\x57\xe2\xeb\x97\xa2\xa3\xeb\x98\x91\x96\x9f\xb0\x08\x96\x7b\x1f\xe7\xf7\x40\x45\x3c\xe0\xaa\xd9\x16\x85\xcd\x9d\xe4\x96\xcd\xa7\x14\x85\xe8\xdc\xdc\x44\xb6\x79\xcb\x07\xd4\xb9\xa5\x51\x14\xde\xa3\x93\x2a\x0b\xdc\x18\x8c\x48\x98\x67\x96\xd7\x39\xd0\x75\x1a\xf5\x7a\x5d\x1c\x74\x8b\x56\x08\x02\xb9\xa2\x4b\x59\x8d\x90\x72\x36\x3e\xb9\xa2\xda\x6b\x18\xa3\x7b\xed\xf9\x5e\xc2\x88\xed\x14\xac\xbb\xe6\xb3\xc6\x8b\xb5\x99\xef\x93\xb3\x50\x9c\xdc\x56\xd9\x74\x67\x87\xbd\xd6\xb1\xee\x6b\xc3\xe2\x64\x51\x1b\xaa\xf8\xa6\xb9\x21\x1c\x85\xce\x2c\xee\x06\xeb\xf0\xef\x05\xbf\xe2\x2b\x8f\x66\x2c\xbd\x65\xcb\x54\xe7\x41\xa0\x1e\x62\xeb\xc6\x8c\x37\xea\xb0\x71\x88\xfd\x31\x09\xc9\x20\x4c\x92\x70\x02\x2e\x4c\xc9\x9c\x84\xb3\x84\x6b\xcf\xd6\xaa\x69\xd4\x1b\x8d\x82\x2a\x7c\xd6\x90\xe9\xa9\x1a\x1b\x72\x5b\xd6\x3e\x55\xcf\x27\x2c\xa1\xcf\x79\x95\x2a\x8a\xb5\x56\xa7\x75\xb5\xd4\xaa\x86\x0c\x33\xa8\x8a\x09\x14\x2d\x7e\xc0\xb4\xfc\x04\x26\xf9\x7c\x36\x39\x0d\x9d\x5b\xe9\xf9\x26\x9a\xd8\x96\x32\xd2\xe9\xb7\x11\x15\x03\xdc\x92\x45\x13\xfc\xf2\x78\xcb\xe6\xba\xf8\x4b\x93\xcf\x87\x9d\x53\x0d\x66\xc2\x5c\x50\x89\xd7\x84\x04\x1f\x32\x30\xc0\x5a\x95\x77\x33\x7d\x71\xda\x0a\xba\xda\x94\x3b\x36\xb8\xa0\xc6\xcc\x17\xee\xe6\x7c\x2e\xb9\x8a\xc1\xf5\xb4\xb1\x37\x1a\xfb\x9c\x2f\xa8\x46\x61\xbd\x86\xa8\x77\x2d\x20\x7c\xda\xa7\xdd\xcb\x83\x8b\x56\xef\x50\x37\xa2\x0b\xa7\x76\x97\xeb\x68\xc4\x02\x67\x4e\xee\xbd\xc0\x0d\xef\xc9\x84\x06\x74\xc4\x22\x32\xf6\x20\xbe\x9e\xdf\xa1\x51\x31\x5f\x3b\x26\x5e\xac\x10\x5d\x74\x73\x1b\x76\x73\x11\xf5\x62\x03\x7c\x5a\xb4\xba\x4a\x43\xab\x6f\x24\x8d\xfa\x26\xdf\xa5\xfb\xf4\x4e\xc1\xdd\xd0\xd8\x84\x67\x10\x85\x76\x8b\x0b\xa1\xc2\x5a\xdc\x53\x95\x38\x3e\xa3\x11\xc0\xe6\x18\x6a\x88\x97\xe0\x3b\x60\x8d\x94\x31\xd5\x36\xc2\x5a\xba\x5e\x4c\xc1\x4d\x61\x30\xc7\x4b\x93\x97\xb0\x6e\x30\xf6\xf8\xbd\x46\xef\xef\x22\x2b\xd9\x8f\xe6\x75\x66\x32\xf0\x02\x91\x9b\x8c\x41\xbc\x5d\x2c\x39\x07\x1c\xe1\x54\xc2\x68\x51\xb3\x13\x13\xec\x21\x6c\x92\xd5\x94\xc4\x42\x5c\x43\x64\x75\xaa\x37\xd8\xd8\xc2\xcc\xe3\x4d\x6f\xbe\x34\x35\xa9\x46\x7d\x4b\x9d\xa8\x2c\x51\x0d\xad\xf3\x5f\x1c\x3a\x55\x47\x25\x17\xf3\x54\xbd\x86\x71\xcc\xf7\x67\xc1\xa2\xa2\x4d\xa3\xe8\xeb\xcb\x45\x25\x37\xcc\x46\xdb\x17\x0b\x8a\x6e\xd7\x8d\xa2\x3e\x1b\x51\x67\x4e\x64\xbc\x01\x61\xf0\x6c\xc3\x97\x4f\xf9\x7d\xa3\xd1\xdb\xd6\x5b\xcf\x76\xc3\x18\xee\xcd\x55\xb3\x59\xcf\xa9\xa5\xae\x41\xb0\xcf\xf2\x92\x03\xbe\x03\x33\xae\x24\x4f\x69\x2c\x94\x6d\xa9\x3f\xf3\xd6\xd6\x48\x21\x66\x6a\x55\x0a\x8a\x78\xad\x1d\xce\x92\x59\x84\xe3\xe0\xe4\xaf\x15\x5c\xc3\x8a\xee\x48\x87\x9d\xf6\xd2\x2b\x92\x74\xdd\x77\x0c\x58\x76\x74\xbe\x6d\x94\x5e\x21\x64\x1a\x28\xed\xd6\xcb\x63\x36\x68\x43\x8b\x51\x5b\x06\xc0\x41\x27\xc5\x2e\xd6\x1b\x46\xf3\x17\xa7\x67\x69\x37\xeb\x22\xd0\x3e\xf3\xd1\x37\x73\x05\x43\x3c\x6c\x84\xd8\xf8\x05\x74\xac\x57\x64\xa7\x6e\x3a\x4d\xdb\x55\x60\xed\xbe\x0e\x27\x4c\xfb\xe4\xe7\xb4\x7a\x73\x85\x27\x56\x8f\x8d\x00\xe1\x7e\xe6\xfb\x55\x99\xc0\x1f\xab\xfc\x5e\x38\xca\x2d\x3d\x4a\x7e\x33\xc8\xe5\x62\xcc\x12\xa1\x5c\xc1\x35\xc2\xb8\x35\xe6\xb7\xb9\xad\xdb\xbc\x28\x6c\x11\x2f\x1d\xa9\x2b\x6d\x7e\x7b\x2f\x75\x7b\xad\x77\x85\x0d\xea\x4b\xca\xd2\x06\x1b\x4d\xd1\x22\xde\x0c\xd2\x53\x6b\x80\x86\x55\x8a\xb9\x8e\x72\x04\x97\x8d\xa5\x1d\x36\x0d\x36\xf3\x4b\x40\xd1\x18\xb0\xcd\x1b\xc4\x17\x5a\xda\xea\x66\x5d\xb4\x1a\x84\x6b\x5c\x7f\xc8\x6d\x75\x01\xb8\xe4\x92\x05\xb0\xb9\xb5\x42\xf3\x5a\x36\x1e\xc1\xff\x6d\x63\x46\x0f\x96\x2d\x5d\xa5\x25\x73\xf5\x23\x3e\x50\x3a\xf3\x52\xfa\xb9\x16\x2d\xfa\x11\xe1\x10\xa1\x74\xb7\x07\xa7\x7d\x85\xf6\xa3\x7b\xb7\x23\xf1\xca\x86\xdd\x4e\xae\xd9\x6c\x38\x05\x02\x01\xbd\x5a\x14\xed\xb6\x90\xc6\xe6\x62\x1a\xc1\xc3\x2c\xa2\xa3\xf8\x8f\xd2\x09\x61\x1f\x4f\x26\xb3\x21\x59\xc9\xb5\xdf\x7c\x49\x80\x3d\xe8\x22\xb8\x40\xc5\x7a\x85\xe9\x69\x34\x56\x6d\xf3\x84\xcd\xe3\x24\x0a\x6f\x57\x9a\xf5\x8d\xed\x15\xe4\x56\x89\x17\xd7\xd5\x41\xb2\x04\xc2\xf3\x2a\x1d\xec\xe6\x76\x80\xf8\x18\xea\xe0\xd2\x1f\xfe\x50\xd0\xf5\x34\x62\x77\x5e\x38\x8b\x5b\x7e\x02\x14\xbc\x1b\xd3\xc4\x3a\x3f\x0a\x89\xce\xad\x49\xf6\x53\x76\xe6\xe2\x00\x46\x55\x69\x6f\x79\x5f\x66\x71\x78\xf2\x05\x3e\x95\x74\xcd\xdf\x6d\x77\x26\xed\xa9\xf5\xf8\x01\xaf\x44\xc2\xb3\x15\xc6\x98\xdb\x53\xd1\x11\xba\x8c\xad\x0a\x02\x87\x2c\x3c\x4a\x37\x5f\x5a\xb1\x41\x5c\xef\x5d\x6d\x03\x55\xaa\xfb\x4a\xa7\x21\x57\xa3\x45\xbb\xc5\x17\x07\xdd\x91\x11\x92\xac\x10\x04\xec\xd6\xa4\x34\x83\xa2\xfe\x02\xd5\xf4\x17\x78\x6d\xa8\x2d\x12\xed\xc2\xe6\xf3\xb9\xbc\x64\xa0\xb9\xaa\x8f\x6e\x2d\xe3\x2b\xf7\x94\xc6\x4d\x62\x45\xc0\x7e\x39\xeb\xd7\x98\x73\x7c\xd7\xeb\x9b\x82\x49\x07\xf9\xca\x73\x3e\x49\xaa\xf0\x25\x2f\xbb\x60\x66\x53\xa1\x62\xcb\x9f\x2b\x17\xdb\xe1\x4d\x53\x7a\x8e\x39\x9e\xd8\x31\x65\x86\x6d\x5e\xa1\x62\xc5\x63\x1a\xe1\x35\x30\xc7\xfb\x9b\x1f\x49\xe9\xc4\x10\xf8\x6c\x4d\x31\x79\x4f\xfe\xf3\x88\x78\x09\xb4\x31\x01\x7e\x37\xb3\x71\xf8\xbe\x8e\x4b\xcf\xe9\x57\xc0\x4f\xe3\x53\x00\x95\x08\x28\x26\x86\x89\xc8\x8b\xe1\xf8\x33\x57\x5c\x46\xd3\x31\x1d\x60\x55\x50\x29\x04\xd0\xe8\x18\x83\xb7\x36\xc4\x7a\x48\x78\x50\x08\x07\xa1\x11\x43\x1f\xed\x1a\x21\x57\x12\x85\x58\x82\x09\xcb\xeb\x6d\xbb\x21\xf0\x7d\x79\x69\xf9\xb2\x86\xd7\x23\xde\x88\x1a\x7d\xa7\xdf\x26\x8e\x1a\xa1\xe9\xa4\x87\x2f\xb1\x93\x80\x4d\xc2\xc0\x73\xe0\x29\x97\x40\x48\x53\xac\x7c\x03\xa8\x74\x94\xd3\x50\xe6\x0a\x6d\x5b\x58\x23\x90\x83\x70\xb9\xc6\xd7\x62\x89\x85\xec\x6a\x6f\x7d\xcc\xdb\x32\x04\xac\xc1\x00\x03\xb3\x0c\x8a\x69\x30\x17\x83\xe2\x6d\xa9\xa0\x2a\x97\xb8\xa1\xa3\xd0\xd1\xcd\x09\x6d\xb7\x1b\x64\x7f\xc1\x14\x2a\x00\x66\x44\xff\x8b\x98\xa0\x58\x0b\x8d\xf2\x12\x04\xef\xb8\x0e\xda\x3c\x8c\x1e\x38\xd3\x16\xf5\xd0\xee\x77\x49\x79\x81\x93\x7e\x25\x9b\xb9\x04\xb1\x70\x35\x09\x03\x36\xf2\x02\xec\x1f\x5c\x2b\x3f\x95\xf0\xe1\x86\x5f\x74\x13\x7a\xcb\x10\xb4\x2a\x14\x2e\x82\x26\x50\xbc\xc5\x8a\x7e\x77\x21\xa1\x17\xfd\x36\x29\x5f\x60\x86\x97\x60\x44\xfa\x08\xa6\xac\xde\xf9\x1f\x4d\xe5\xe7\x52\x95\x0c\x43\xae\xda\xcb\xbc\x3b\xca\x7f\x44\xc4\x5b\x03\x00\xd0\x33\x48\x3d\x17\x19\xd8\xf3\x09\x96\x17\xf1\xfb\xfd\x2b\x3e\xb2\x83\xce\x69\x6a\x38\x17\x4b\xf8\x0e\xae\x27\x19\xa2\xdf\x8d\x19\x00\x3f\xc2\xb7\x13\xb8\xc8\x63\x6a\x00\x3b\x51\x8c\x34\x32\xa5\xfa\x84\x5a\x76\xa7\xe7\x33\xdf\x27\xe5\xf3\xeb\x53\xf5\x52\xdb\x5f\xfc\x02\xdb\x6e\x37\x3e\x95\x7e\x7d\xa8\xd7\x4b\x9f\x8d\x7d\x86\xa4\x36\x9a\x4e\xf0\x6d\xe6\x45\x73\x52\xee\x9c\xbf\xd5\xee\xb2\x11\x0d\xe2\x89\x97\x10\x1a\xc4\xf7\x2c\x02\x57\xd2\x09\x8b\x63\x3a\x62\xe6\x62\x95\xde\x9b\xd9\x52\x7c\xe4\x80\xa5\x01\xee\xb6\x01\xc2\x11\x09\xee\x57\x49\x1c\x92\x7b\x06\x90\x0b\x7a\x83\xc4\x03\x23\x7f\x04\x5b\x30\x82\xd4\xde\x69\x00\x21\xf1\x29\x55\xbe\xbf\x95\x82\x46\x5e\x5a\x6c\x30\x21\x58\x34\x6e\x8d\x17\x8c\x78\x3b\x29\xa8\x45\x7d\xcd\x2a\x1f\xf4\x15\x8f\xce\xc2\x3b\x0b\x9b\x5b\x6c\x4f\x98\x36\x23\x30\xc1\xa8\x24\xfa\x52\x55\x66\x52\x47\xd4\x58\xaa\x3c\x8a\xa1\xce\x04\xde\x72\xaa\x9c\x73\x18\x44\x0e\xc7\x6d\x10\x02\xa6\x2c\x97\x34\x87\x77\x54\x30\xb8\x9d\xe5\x83\x43\x32\x4f\xd9\x30\x49\x3b\x60\xbf\x0e\x23\xef\x7b\x18\x24\xd4\x27\x57\x74\x40\xca\xaf\xaf\x96\x0d\x12\x7c\x38\x13\x3a\x20\x71\x12\x4e\x11\x65\x0a\xbf\xc0\x88\x2e\x1c\x0a\x1a\xb7\xc9\x70\x16\x71\xb9\x07\x07\x61\x51\x03\x45\x5f\x64\xec\x95\x61\xd4\xbe\x17\xa4\x9d\xb7\xe4\xe8\x76\x97\x8f\x6e\x18\x46\xf7\x34\x72\xaf\xe8\xa0\x9f\x84\xd3\xd4\x04\x9e\x7a\x01\x23\x47\xf0\xa8\x79\x7a\x54\xb1\xce\x47\x70\x16\x70\xe8\x2c\x06\xbb\x3d\x78\x43\xc0\xeb\x27\x64\xc8\xc3\x0c\x02\x81\x91\x8e\xaa\x46\x20\x9c\x49\xb9\x50\xc0\xc2\x4c\x7b\x51\xe4\x8c\x80\xae\x34\x82\x09\xa7\x31\x45\xfb\x0d\x8b\x12\xcf\x91\x53\x73\xa3\xa7\x46\x3d\xb1\x20\xc0\xc4\xe9\x51\x41\xd7\x03\x7b\xf1\x18\x14\x19\xaa\x4e\x18\x4d\x04\x83\x8e\x8e\x1e\xdd\x83\xf3\xe4\xc1\x49\x0f\x0c\x89\x65\x56\x6e\xf7\x6c\xd1\xcb\x59\x5b\x42\xb8\x42\x3b\x44\x66\x81\xf4\xb8\xcb\xc9\x53\xd6\x26\xb4\x0d\x95\xeb\x29\xbf\xa1\xb1\x37\x4c\xc8\xc5\x2c\x21\xe5\xfe\x45\xa5\x4a\xe8\x2d\x25\xf0\x04\x85\x5f\xd4\x49\xf9\xb4\xdf\xa8\xd8\x2e\x1a\xe4\xb8\x91\x4a\xce\xe2\x05\xe4\x38\x7d\xb6\x48\x1a\x59\x21\x8d\x02\x6a\xa9\x51\xca\xa1\xa8\x1b\x90\x72\xbf\x5b\x40\x50\x3d\x43\x50\xfd\x11\x04\x0d\x97\x11\x54\xb7\x09\x52\x27\xc6\x45\x40\xca\xef\x2f\xce\x55\xe7\x85\xe6\x73\xb5\x0c\x2d\xd8\x9f\xae\x2c\xf0\x4b\x2e\x5d\x8d\xc6\xe2\xa3\x40\x93\x31\x1c\x72\x3a\x0c\x69\xfe\x93\x09\xd9\x58\x4c\x48\x9b\x06\x0e\xf3\x49\xb9\xdd\xd2\xac\xe8\x0e\x09\x6c\x78\xee\x0c\x63\xde\x95\x5a\xaf\x1d\x88\x4d\x77\x62\x48\xb3\x31\x99\x30\xd7\xa3\x09\xf3\xe7\x86\xd2\xf2\x4c\xe4\x6f\xe6\x3a\x2b\x7b\x60\xce\xcc\x18\x45\x37\x41\xc0\x24\xb1\xa7\xc1\x1b\x54\x14\x59\xfe\x39\x18\x8d\x21\x40\x2d\x8a\xd4\x86\x46\xea\x48\x49\xbb\xc7\x2a\x67\xca\x3b\x46\xc0\x01\x43\x69\xfa\x19\xc9\xaf\x62\x01\x7e\xec\x81\x8e\x00\x81\x9e\xa1\x4c\xf0\xa4\xd5\x88\x0c\x84\xbc\xba\xfa\x71\x99\xc3\x55\x60\x39\x74\x59\x30\x64\xbf\xaf\xe6\xf2\x6c\x2f\x7c\x0c\xb8\x2d\xfd\x52\x4a\x2d\xf8\xd9\x20\x4e\xbc\x64\x96\x30\x52\xee\x5f\x1f\x14\xed\x88\xed\xd6\x79\x01\xf3\x68\xee\xa6\xcb\x79\x6a\x68\x5e\x78\x6b\x2c\x77\xfa\xed\x82\x63\xa3\x31\x58\x3c\x07\x3a\x78\x9d\x7f\xd1\xe9\xb7\x33\x25\xf2\x03\x61\x0d\x20\xca\xb2\x19\x89\x20\x22\x42\x31\x42\xc1\x72\xc6\x37\x91\x37\x74\x74\x59\xa7\xdf\x2e\x88\x2e\xc3\xf6\x8c\x2e\x25\xca\x86\xa4\xb4\x52\x10\x0c\x90\x17\x46\x96\xf6\x66\x17\x50\x23\xb2\xa9\x14\x5a\x03\x3c\xd7\x97\x0f\x0b\x15\xc1\x97\xc3\xa2\x95\xbb\x4e\x76\x48\x7e\xe6\x1f\x09\xd9\xee\x45\xb9\x19\x78\xaa\x64\xc0\xfc\xf0\xbe\x56\xab\x19\xa0\x32\x2e\x7b\x20\xe5\xee\xf9\xa1\x12\x9e\x53\xef\x96\x6b\x4e\xa0\x2c\x54\xf1\x46\x7a\x2b\x51\xa9\xde\x2b\x25\x31\x97\xe6\x9d\x4d\x4e\xb3\x75\x15\xfc\x54\x3a\x5c\x7e\xae\xf1\xae\x72\x8e\x5d\x08\x34\x05\xa5\xa8\x7c\xde\x39\x2d\x20\x70\x30\x4b\x88\x1b\xb2\x38\x28\x25\x84\xba\x2e\x9c\xb0\x05\xea\xe7\xce\x56\x0e\x79\x9d\xa7\x1d\xbb\xf9\x6a\xeb\x61\x78\x1f\x2c\x56\x5b\xe5\xbb\x70\x9f\x25\x5c\x83\xed\x17\xcc\xfe\xce\x4e\x0e\xa9\xaf\x57\x22\x55\xea\x96\xf6\x17\xa3\xd4\x18\x2a\x69\x90\x56\xf4\x39\x14\xf2\xd0\xeb\xda\xfa\xcd\x6c\x0a\x77\x85\x62\xed\x65\xc7\xcd\xa1\xf7\x6c\x85\xab\x0c\xf6\x7b\x9a\x2f\x00\x7d\xb4\x16\xa1\xb6\xd0\x24\xe5\x7e\xbf\xa9\x6f\x95\xe0\x5c\xc2\x2f\xb6\xc7\x4d\xc3\x25\x8d\xf3\xd5\x86\x9a\xd0\xd9\x65\x0c\x68\xf3\x85\xa7\x6c\xce\xf0\x58\xce\xf0\xce\x17\x1f\xad\x16\xf1\x1b\x9c\xf8\x8d\x3c\xe2\x37\xfe\x7a\xe2\x87\x39\xc4\x5f\x2c\x26\xfe\x90\xdd\x79\x0e\xd3\x58\x0a\x68\x8f\x28\x1f\xb6\xfb\xc6\x21\x23\xd0\xc1\x28\x39\x6c\xf7\x75\x60\x22\x5e\x3d\xb0\x81\x35\xd9\x80\x76\x79\xf4\x02\x99\x8a\xb4\xf6\x04\x75\xa7\x2d\xf2\xce\xea\x92\x9c\xae\xc3\x4e\xbb\xf7\xb6\xdf\xaf\x4a\xd8\xab\x44\x64\x0a\x8a\x19\x9b\x48\x6f\x94\x81\x5f\x20\xba\xbb\xf5\x1c\xf6\x5c\x2e\x3e\xd1\x0a\x63\x69\x33\xf1\x4a\x19\xbc\xa9\xfc\x58\x35\x5b\xec\xc1\xd9\x31\x1c\x92\xcb\x28\x4c\xd0\x35\xba\x15\x31\x4a\xca\xfd\xcb\x96\x62\xff\x52\xaf\x0d\x39\xbc\xed\x9c\xe1\xdd\x2c\x9e\xfd\x0e\xc6\xac\xa4\xbb\xef\x3c\xa5\xfb\x97\x39\xdd\xbf\x5b\xb2\x72\xe4\xf8\xa5\xd8\xf5\x2f\xfa\x8f\xef\x38\x6f\x07\x7d\xbf\xd2\x92\xd5\x0b\xd2\x80\x0e\x29\xf7\xdb\xdd\x2a\xea\xac\x87\x9d\x76\x57\x9f\x97\xe2\x4e\xa8\x92\xb7\x76\x0f\x6b\x84\x5c\x0c\xe2\x10\x4e\x78\x70\x54\x0e\x87\xc2\x4e\x49\x9c\x12\x29\x1f\xb6\x0a\x36\xfd\x5d\x9a\x43\xf2\xc7\xe5\x9b\xa8\x8d\x1e\x87\xe8\x79\xbf\x34\xf6\x9a\x4e\x4a\x5d\x5c\x84\x8c\x52\x6e\xf7\xbb\x56\x18\xba\xcf\xa8\xc8\x84\x3a\x09\xe3\x24\x9b\x54\x9a\x68\xc0\x94\x82\xd1\x0c\x72\x46\xf3\xe9\x0f\xad\xab\x7c\x48\x03\x19\x1c\x5c\x00\x60\x20\xbf\x5e\xb4\x28\xdb\xfd\x6e\x7a\x09\xe6\x04\xf2\xeb\xd8\x13\x11\x41\xa5\xae\x3a\x7c\x07\x5c\xbf\xe8\xb7\xd7\x2f\xcf\xd6\x5b\x97\x6d\xe2\x84\x93\x09\x0d\xdc\x58\x98\xc8\x94\x5d\x5a\xc2\x88\x99\x16\xe9\x67\x98\xd9\x10\x77\x2c\x99\x37\x56\x06\x67\x79\x89\x08\x13\xa3\x31\x46\x7b\xe9\x17\x02\xab\xff\x50\xda\xae\xd2\x13\x04\xf8\x6b\x0b\x36\x9e\x92\xc8\x9b\x57\x30\x87\x4e\xce\x1c\xfe\xfa\xeb\xe2\x55\x94\x63\x32\x07\x6e\x40\x58\x98\xe2\x61\x5b\xb2\x28\x62\x3e\x96\x16\xd6\x93\x50\x55\xc7\xf4\x85\x05\x94\xe5\x29\x1c\x9f\xff\x80\x74\x65\xee\x29\x17\xb9\xf7\x14\xed\x1b\xb0\x80\xa9\x66\x3d\x0b\xea\xc4\xc0\x77\x50\xd7\xe7\x7b\x9a\x0e\xbc\x35\x83\xc8\xd4\x1b\xe7\xa2\x8b\x0a\xe7\xab\xd9\xcd\x3b\x15\xef\xe7\x72\xb5\x4d\x62\x10\x18\xb8\x15\x73\x96\x2c\xe8\x4b\x35\xc1\xab\xd7\xd4\xfd\x8c\x46\xf3\x6c\xfc\xfe\xa7\xfa\xe7\x1a\x64\x95\x2d\xaf\xff\x57\xf9\x57\xf7\x45\x65\xaf\x5c\xfb\xb1\xf2\x9f\xeb\xe2\xd5\x12\x63\x9a\xe7\x9a\xbc\x6c\x75\xb2\xcf\x5b\xfe\xd4\xfc\xbc\x67\xbe\xc9\xea\xeb\xdb\x05\x5c\xdf\x78\x91\xc6\xe7\x1c\x04\xad\xd4\x2b\x73\x2a\xce\x2f\xb8\xa3\xbe\xe7\x92\x8b\x7e\x3b\x37\x0c\x34\x4b\x4d\xa5\x62\xc0\x1c\x2e\xba\xd2\x5d\xa4\xae\x74\xf0\x78\xeb\xcc\xc9\x99\x78\x5a\x28\x5f\x9e\x3d\xfe\xd0\xca\xd3\x33\xff\xeb\x5f\xa9\x8b\x98\xc1\x12\x22\x27\xbd\x3a\x47\xca\xad\xcb\xf6\xe3\x87\x98\xa7\x8d\x7e\xf9\x57\x0e\x11\xc0\x59\x1e\x20\xe6\xf0\x3a\x00\x17\x06\xc8\xe4\x0b\x48\xd2\x08\x15\x18\x33\x12\x82\xeb\x23\x05\x7f\xda\x69\x18\xc7\xde\x00\xd2\xbc\xe2\xeb\xd1\x52\xc5\x5c\x84\xb2\xa9\x9e\x8e\xc0\xad\x17\xee\x00\x2f\xe1\x2e\x6f\xa5\x9f\x36\x82\xe6\x62\x52\xee\xbf\x6c\x37\xae\xa4\x03\xb1\x6a\xe1\x58\xb7\xb0\xb3\xb4\x85\x1d\xa3\x05\xeb\xe7\xfc\x00\x10\xcc\x35\xcd\x34\x8e\x67\x13\x46\xa0\x4f\x42\xfd\x7b\x3a\x8f\x8b\x27\x38\x3d\xaa\x53\xe1\xac\x0c\x21\x85\x4e\x88\xa8\x69\x7c\x8b\xf3\xd9\x1d\xf3\x49\x23\x3d\x86\xb3\xc5\xe5\x9b\xe9\xf2\xe7\x8b\xcb\x6f\x64\x1f\xa2\xb9\xc0\x35\xeb\x2b\x0b\x97\x90\x9e\xc2\xa2\x2b\x99\xa9\x56\x73\x06\x59\xe4\x0a\x22\x8f\x86\x57\x30\xf4\x3a\x1f\x3a\xf8\x82\x8c\x57\x05\x50\x83\x9d\xeb\x77\x2b\xc9\x21\x2a\xa0\xff\x51\xca\xbe\x00\x63\x52\x02\x53\x44\xff\x03\x42\x03\x79\x25\x11\x96\xd0\xf2\xbd\x51\x00\xb1\x5f\x57\xfc\x72\x05\xf1\x81\xa7\xe7\x59\x89\x3a\xf2\x7c\x3f\x4e\x45\x6e\xe3\xf3\x77\x89\xeb\x23\xa0\x36\xf9\xde\x80\x45\x90\x24\x79\x30\x27\x77\x49\xc2\x62\x85\xc0\x27\x22\xf8\x2d\x4a\x36\x04\x25\x6e\x38\x1b\xf8\x6c\x6d\x0c\x61\x39\x04\x4d\x3f\x49\x38\x25\x63\xea\x0f\x81\xa0\xc3\xd7\xa7\xe6\x22\xf9\x0f\x08\xbd\x2c\xaa\x29\x62\x84\x8a\x2b\x6f\x89\xca\xe8\xaf\xb2\x06\xb9\xdf\xf1\x8d\x0d\xe2\x31\xdf\xa5\x8a\x6f\xdb\x7d\xa5\x8a\x1f\xbe\xcb\x18\xf9\x40\x36\xff\xe3\x5f\x23\x98\xc2\x7c\xba\xa3\x6c\xa7\xa9\x37\x30\xcf\xf7\xcb\xa5\x8e\xc2\x7e\x79\xb4\xb4\x81\xa4\xfd\x1f\x43\xd2\xaa\xa9\x07\x1d\x61\xb8\xac\x91\x15\x6e\xff\xf0\x06\x60\x2e\x8e\xb2\x51\x1e\xe5\xa5\x62\x08\xcc\xff\x21\x7f\x17\x9b\x44\xb7\x7f\x41\x76\x76\xb6\x76\xd7\x1a\x19\x83\xbd\x2e\x7c\x2c\x0a\x23\x66\x6e\xa6\x1c\x1c\x80\xbe\x2f\x3c\x22\x70\xaa\x6d\xbf\x08\xe6\x8c\xc3\x2c\x64\xec\x92\xa7\x9a\x3c\x59\xf8\x3f\xff\x32\x59\xf8\xc1\x84\x8e\xe4\x7f\x1c\x97\x14\xbe\xf4\x23\x91\x41\x90\xa9\xf2\x76\x93\x8f\xbb\x31\xae\x3c\x75\x17\xb3\xed\x64\x7d\x15\xa1\x56\xee\x1b\x56\x29\x9c\xd9\x32\xb9\x8c\xc5\xd4\x66\x9e\x13\xcb\x10\xce\x6d\xae\xdf\x8a\x51\x3a\xfd\x1a\x5a\x86\x18\x1d\xb3\xf4\x8f\x46\xe9\xe6\xd2\xd2\x2f\x8c\xd2\x1b\x4b\x4b\xaf\x2d\xa6\x64\xc3\xa6\xbb\xb6\x98\x92\x54\xe9\xf5\xc5\x94\xc8\xd2\xf0\x98\xaf\x03\xf1\x2f\x41\xce\xc5\x0a\xab\xcb\x63\x41\x04\x3e\xea\x19\xe1\xd7\x3b\xb0\xd4\x1f\x46\xf4\x1e\xae\x7e\x6a\xa5\xb5\x40\xaf\xf2\xf8\xda\x3d\xf1\x82\x91\x1b\x4e\x48\xf9\x5a\x45\x31\x1f\xe8\x6f\x41\x16\x62\x52\x16\xd1\xfa\xb2\x04\xec\xe3\xb3\xc4\x19\x8b\xbf\xdb\x24\x8c\x60\x7f\x3e\xf2\x82\xc0\x8b\xe5\xc7\x3d\xfe\x49\xc4\x02\x55\xee\xad\xfa\x80\xb4\x69\x40\x5d\x8f\xca\xb8\xaa\x13\xb2\x46\x8e\x19\xd7\x1d\xc4\x07\x1f\xc8\x1a\xe9\x26\xd4\xd7\x45\x3a\xbc\x93\x6d\x08\xab\x8a\xee\xd9\xc8\xa3\xc1\xfa\x21\x35\x7a\xfb\xc8\x39\x39\x35\x3f\x79\xcd\x6b\xbc\xe4\x1f\xdf\x33\x57\x7f\xbc\x0f\x9f\x78\x71\x9c\xdd\x4f\xfe\xa2\x9d\xa4\x9c\xa3\x5f\x57\x72\x3e\xfb\x31\xe7\xb3\x17\x39\x9f\xad\xe5\x7c\x56\xcb\xf9\x6c\xbd\x68\x07\x43\x8c\x93\x7f\xca\x99\x26\xd0\xcf\x72\xee\x9a\xc5\x80\xa0\x19\xa2\xca\x29\x84\xaf\xcc\x35\xdc\x19\x73\x05\xbb\x38\x0b\x55\xc5\x42\x17\x55\x38\x1f\xe5\x52\xc6\x13\x7b\x59\x56\x2d\x67\xfc\x79\x2f\xeb\xa9\xaf\x5a\xac\x94\xc8\x6f\xbf\x11\xf5\xe7\x5a\x4e\x07\x4b\x32\x71\x2d\xe9\xe0\x47\xbb\x83\x5a\x4e\x07\x4b\xb2\x77\x2d\xe9\xe0\x85\xdd\xc1\x7a\x4e\x07\x4b\x32\x7e\x99\x1d\x3c\x23\x39\x21\x0d\x85\xa8\x28\x29\x24\x39\x69\x2a\xb0\x77\x46\xbe\x07\x3e\x97\x9e\xd8\xe4\x05\x29\x3d\x7f\x65\x2b\xe3\x59\xcc\xb7\xd5\x4e\xb3\x03\xea\xdc\xca\xe7\xb6\xc3\x4e\xfb\x40\x5b\x5f\x6f\xae\x36\x9b\xe8\xed\x3c\x9b\x2e\xd3\x91\xd2\x8b\x7f\x7b\x89\x81\x9b\xde\x31\x13\xdc\x22\xfb\xa4\x0f\xad\x14\xfb\x20\xe6\x85\x0e\xd8\x69\x85\x21\xf9\xde\xf2\x2e\x8a\x3d\x01\x0b\x1c\xfe\x7f\xb7\xdc\xc0\xee\x69\xe4\x1a\xdc\x3b\x32\xb9\xd7\x6c\x3c\x95\x7b\xbb\x8b\xb9\x57\x00\x1c\x71\xd9\xca\xf8\xd3\x41\x6b\xfb\xcb\x2d\xf7\x79\xb1\xae\x27\xd8\xf2\x7e\x16\x7e\xee\x9c\xdf\x77\x7d\xab\xeb\xac\x2b\x1f\x74\xfd\xf3\x1f\xec\x5a\xc0\xf9\x99\xca\x97\xf2\x70\xf3\xc3\x7b\x16\xa1\x8f\x9b\x13\x46\x01\x66\x14\x43\x48\x95\xc5\xb6\x20\xe5\xcc\xe8\x09\x33\x76\xc4\x9c\x70\x14\x78\xdf\xd1\xbd\x19\xfd\x70\xef\x65\xae\x85\xf1\xf4\x94\x77\xc4\xfb\x39\x98\x8d\xda\xe1\x64\x4a\x75\x3c\x3b\xc1\x58\x76\xa1\xa6\xa7\x47\x7f\xb4\x78\x1a\x8f\x66\xbe\x2f\x12\x60\x97\x7b\xdd\xcc\x0b\x3c\x34\x51\xec\x2b\x68\xe0\xe2\xa7\x9f\xb2\xc5\x17\x06\xd7\xce\xd8\x24\x8c\xe6\x00\x6b\xb6\x3e\x0b\xf8\x3f\x2b\x9b\xcb\x80\x0c\x3f\xe7\x9c\x9d\x2c\x1e\x9d\xe1\x5f\xd7\x24\xe5\xd3\x7e\xb3\x62\xbb\xd7\x81\xe7\x53\xfa\xc5\x9c\xc6\x59\x17\x3b\xe8\x2c\x58\xe6\x5f\xd7\xb4\xfd\xeb\x8c\xde\x37\x78\xef\x1b\x79\xbd\xa7\x9f\xbc\x0b\x7b\x0f\x97\xf5\xbe\x51\xd8\x7b\xb3\x4a\x7a\x70\xe1\xe7\x44\xf4\x56\xa5\xa2\x97\x47\xc5\x6f\xc5\x54\xf4\x1e\x41\x45\x33\x97\x8a\xbc\x99\xc8\xa5\xe2\xf7\x65\x54\x14\xcf\x44\xc3\xa0\xa2\x91\x4b\x45\x63\x55\x2a\xfe\x67\x19\x15\x29\x07\x50\x8c\x5c\x26\x9e\x13\x06\x24\xa0\x13\x0c\x2b\x11\xb8\x1c\x89\x97\xf8\xcc\x78\x01\x83\x3d\x01\x61\xa1\x4d\xf8\x0e\x55\xcc\x8e\x75\x80\x24\xa2\x8b\xf4\xc7\x9c\x40\x7e\xde\xde\x15\x6f\x2e\xcf\xee\x9f\x47\xf7\x32\x12\x9a\xf6\x5a\x94\x64\x59\xc0\x69\xeb\x11\xa3\x2e\x71\x42\x3f\x8c\xc8\x94\xfa\x2c\x49\x72\x9b\xda\x5c\xea\xc7\xd8\x8a\x46\x31\x71\xc2\x09\x44\x2d\xd0\x58\x47\x53\x95\x00\xb4\xb7\xb1\x17\x8d\x06\x0d\x52\xab\xd5\xc8\x1e\x7c\x70\xce\x3f\x38\x2f\x19\x09\x3f\x10\x1c\x36\x9e\xfa\x9e\x72\x67\x8f\xd9\xc4\xe3\xb4\x05\x02\x50\x92\x45\x34\x61\x90\x10\x6a\x36\x1a\x0b\xf8\x6e\x2f\x52\x69\x22\xf3\x31\x9c\x3f\xd5\x3f\xd7\xa0\xd5\x72\x69\x4f\xd8\x8d\x20\x8b\x16\xf5\xa2\x36\x24\x61\x37\xf2\xcd\x9b\x50\xf9\xeb\x90\x7c\x4e\x28\xfa\x9c\x41\x97\xc8\x1f\x69\xc1\x4f\x16\x26\x2b\x36\x2a\xec\xa5\xb2\x8c\xb6\xa2\x88\xce\xc9\x3e\xf9\x84\x60\xc2\x5c\x89\x2b\x4b\x8a\xce\x31\xd6\x66\x9f\xd4\xf7\xcc\xbf\x7f\xd2\xe4\xee\x91\x17\x2f\xf4\x37\xd6\x6d\x84\xf7\x89\x6a\x47\x6a\x48\x9f\x8c\xa6\x7e\x24\x4d\x89\x12\xac\x2a\xc1\x95\x1a\x5e\xba\x32\x65\xc9\x0b\x62\x81\x1e\x1b\x9d\xfc\xbc\x6f\xf1\x45\x42\x08\x6b\xf5\x35\xf1\x82\x19\x4b\xd7\x15\x7d\x41\x3e\x01\xeb\x5d\xb0\xf4\x4b\x89\x4c\x18\x0d\x62\x40\xff\xc5\xb4\xa5\x11\x46\xa4\x23\x0c\xbb\xe1\xa9\x8e\x02\x6b\xa4\xf7\x27\xf6\x40\x7c\x6f\x80\x53\x10\xd7\xa2\xd1\xe0\x2a\x7c\xdf\x68\x94\x4d\x5a\x3f\xe9\x61\x68\xc8\x64\x9b\x44\x1d\x18\x69\xcd\x1b\xe6\xa7\x30\xb8\xf0\x82\x94\xf6\x50\x05\x57\x35\x15\xfa\x86\xe6\x81\xa1\x8c\x17\x11\xfa\xd0\x68\x5c\x85\xed\x7e\xbf\x6c\xb5\x54\x4c\x58\xd1\x78\xc8\xbe\xd1\x45\x6e\x92\x3f\x1c\x88\x39\x5d\x4b\x5d\x36\x3e\x6f\xc2\x20\xed\x16\xbe\x86\x5e\x00\x8b\x8a\x33\x01\xe1\x4c\x33\x50\xa1\x46\xdc\x4b\x3c\xa6\x53\xb5\xa5\xea\x24\x27\x9e\x46\x4c\x15\x5e\xd5\x12\x0b\x26\x8c\x26\xe4\xb9\x48\x73\xcc\xeb\xee\x63\x24\xda\xf3\xaa\x78\xfc\x12\x81\x69\xa8\x6e\x21\xf0\xe3\x2b\x65\x69\xab\x93\x35\x72\xc0\x95\x1a\xfc\xb3\x41\xd6\x48\x77\xed\x80\xd1\xc9\x33\x85\x26\x7a\x1d\xb8\x2c\xf2\xbd\x80\xa5\xf4\x3f\x0a\x6f\x56\x80\x8b\xeb\xb2\xb5\x21\x75\x92\x90\xc4\x32\x8b\xa5\x48\xa2\x8b\x6a\xa1\x77\xc5\xd5\xc2\x26\x6c\x4f\x27\xe2\xbe\x06\xae\x0d\xe0\x5d\x0e\xb9\xd7\xe0\x96\x71\xdd\xef\x19\x81\x04\x70\x93\x43\xe2\x45\xa6\x31\x99\x17\x3c\x1b\x25\x84\x19\xa8\x14\xeb\xd2\x1b\xf3\xd6\x92\x73\x66\xf1\xb6\x28\x9e\xc6\x4d\x16\x97\x6b\x95\x75\xaf\xb2\x67\xc2\xde\xe7\x03\x75\xb6\x61\x81\x72\x25\x11\x13\x22\x5c\xf4\xdb\x64\xab\x0e\x9d\xe1\x25\x34\xf7\x14\x23\x59\x10\x5a\x89\xc7\x23\x00\xd6\x33\x90\x3c\x45\xb1\xd0\x06\xd5\x65\x64\xca\x95\xed\xef\x0a\x5f\xd5\x0e\x3a\xad\xb3\x45\x40\x2a\x7f\xb8\x83\xeb\xf3\xc3\x4e\xef\xb4\x7b\xde\x59\x25\x10\xfb\xc9\xa3\x38\xbd\x68\x9f\xe4\x42\x9f\xe2\x09\x8e\xde\x28\xc4\xf1\xbd\x29\x5e\x9c\x94\xff\x17\x75\xb9\x48\x5b\xca\x3c\x73\x89\x3b\x03\xc8\xd3\x98\x39\xb3\xc8\x4b\x20\x28\x1b\x5c\x17\x11\x17\xab\x46\x48\x8b\x44\x6c\x12\x26\x8c\xd0\xe9\xf4\x19\xe4\xa5\xa0\x18\x70\x27\xd2\x38\x0f\xc2\x64\x4c\xee\x23\x4f\x04\xe3\x02\x11\x42\x64\x15\x11\xc4\x01\x19\x61\x71\xcc\x82\xc4\xa3\xbe\x3f\x87\x96\xe8\x2d\xc3\x54\x25\xf3\x70\x16\x91\x98\xc5\x71\x2a\x7e\x59\x37\xe0\xd2\x84\x3e\x25\xd7\xe7\x33\xc8\x98\x57\x90\xc5\x11\x17\x4e\xf3\x0f\xa8\x34\x8a\xc0\xbd\xc1\xf6\xe6\x1a\x27\x52\x29\x32\xc4\x1e\x01\xb6\x34\x35\x37\x3b\xe9\x1f\x85\x00\x74\xc2\x09\x4b\xc4\x7e\xbf\xd7\x35\x21\x56\x9b\xba\x2e\x20\x97\x12\xd2\xf7\x02\x47\x64\xe5\xd6\x80\xd9\x5e\x90\xb0\x91\xf0\x47\x82\xb7\xcc\xf7\x90\x50\x04\x72\x4b\xf3\xf6\x26\x84\xfa\x98\x00\x26\xa6\x13\xb6\x5c\x4d\x92\xae\x32\x9f\x9c\x69\x5c\x6f\x34\x37\x36\xb7\xb6\x5f\x7e\xfe\x11\x7c\x66\xd6\x53\x7b\x82\xb5\x92\x45\xc3\x30\x5b\xfb\x42\x2f\xad\xd1\x24\x1c\xa8\x45\x2d\x2b\xf3\x22\x79\x47\x8e\x13\x4e\xe7\xc2\x11\x22\x6c\x4b\x16\x58\x69\x55\xa1\x66\x3a\xe9\x2c\x80\x3a\x97\x07\x3e\x0d\x6e\x2b\x66\xa8\x41\xb9\xdb\x7e\x9d\xf1\x63\xec\x77\x3f\x95\xfe\xfe\x18\xb5\xdc\x83\xf6\xfb\x53\xea\x58\x3a\xb9\x47\xa3\x11\xa6\xcc\xab\xe4\x59\x21\xae\xa7\xa4\xdc\xbe\xbe\xce\xed\xbe\xf5\x98\xee\x71\xfd\x5f\x4f\x1f\xd1\xf7\x61\x78\x1f\xf0\xde\x0f\x73\x7b\x3f\x78\x7c\xef\x10\x33\xb0\x7a\xff\xd2\xf8\x55\x6e\x5f\x1f\xe5\x92\xd0\x7e\x3c\x09\x70\x3b\x7c\x04\x0d\x07\xd4\xb9\x95\x44\x1c\xe4\x12\x71\xf8\x78\x22\x20\xe4\x77\x75\x1a\x8c\xe0\x90\xf6\xf9\x69\x25\x6d\x60\xf2\xbd\x5b\x66\x4e\x59\x15\x32\xea\x4c\x2d\x6d\x69\x12\xde\x31\x85\xd7\x00\xd1\xfa\x81\x46\x8f\xe4\x8d\xc1\x0b\x3e\xe5\xda\x32\x02\xd7\xa6\x47\xd9\xf9\x93\x67\xfb\x91\xf1\x9e\x62\x78\x97\x7c\x6f\x86\xcd\x5a\xb0\xe3\x72\x31\x3b\xae\xa7\x7f\x09\x33\x8e\xfe\xd4\x85\xf7\x34\x56\x68\x2b\x46\x6b\x10\x87\x3e\x04\xc6\xb5\x5f\x67\xfd\xad\x39\xbd\xc7\x8f\x34\x1f\x58\xdd\xe7\x92\x4d\xd6\xd2\x39\x29\xe5\x0c\x89\xa0\x29\xbe\x5e\x2e\x73\x89\x79\xfd\x24\x62\x64\xbb\xc5\xe4\xe4\x25\xba\x49\xff\xa4\x2b\x37\x16\x8e\x45\xee\x3f\x46\x2c\x53\xb9\x2d\x42\xf1\xd3\xa3\xea\x2e\xd7\x9c\x1d\xd3\x3e\x90\x1e\x01\x17\x03\x59\x80\x5f\xe3\x86\x35\xc7\xa7\x93\x69\x19\x3e\xab\x92\x46\x35\x0b\x3d\xc6\x58\xd0\xf7\xbe\xb3\x1a\xb8\xe0\x40\x03\xea\xf2\xef\xe1\x9d\xdf\x23\x3f\x61\xa3\x7b\xc4\x7b\xf1\x22\x1f\x79\x3f\x1b\xa6\x9f\xd2\x0a\x3b\x11\x57\x6d\xbd\x00\x52\xc2\xf8\x74\x4e\xca\x9d\xc3\x2a\xc2\xdb\xe7\x1f\x0c\x6f\x6c\x4b\x2e\x7c\xf6\xcb\x9b\x55\x9e\x4c\x85\x3e\x91\xab\x4e\x58\xc9\xb3\xc8\x6f\xbf\x61\x41\xc8\xde\x98\x4a\x04\xa8\x86\xc6\x38\xe5\x07\xcc\x0f\xef\xcb\xe9\x24\x02\xb2\x72\xa3\x20\x1f\x01\x54\x6d\x0d\x42\x89\x18\x95\x53\xb5\x59\x50\xd5\x40\x86\xca\xa9\xb5\x61\x27\x2b\x65\xe2\x2d\xc0\x0d\x9d\x98\xc4\x74\x8e\x48\x38\x68\xb8\x78\x8e\x9c\x87\x47\x22\x8c\xf5\x7b\x2e\xf3\x19\x95\x7c\x1f\xc0\x3a\x10\x06\x4b\x36\x07\x91\xbb\x62\x92\x62\xae\xe1\x91\x5b\xcf\xf7\x95\x3b\xb4\x40\x70\xe7\x17\x40\xc6\x26\x31\x89\x66\x12\x1b\xaa\x78\x00\xb9\x82\x80\xde\x5e\x9d\x53\x21\x05\xd9\xb0\x4e\x3e\xe3\x27\x79\x52\x70\xf2\x4f\x90\x82\x9c\x89\xbc\x0a\xf1\xd8\x5f\x20\x05\x0b\xea\xc2\x69\xfd\x58\x29\x80\xba\xfc\x90\xca\x61\xa4\xd0\x34\x4f\x01\x92\xb8\xdc\xcd\xe7\xdf\xe9\xe3\x75\x4b\x68\x70\x15\xbd\x42\x84\xe4\x0a\x02\x0e\xf3\x09\x38\x7b\x0c\x01\x2e\xb4\xf8\x58\x02\xda\x86\x8e\x7d\x28\x74\xec\x67\x1a\x07\x04\x43\x29\x20\x52\x3d\x56\x80\x24\x60\x06\x83\x9c\x3c\x3e\x1b\x26\x55\x8d\xd1\x44\xad\x33\x5e\x06\xef\xe6\x8d\x6c\x49\xc4\x5b\xde\xc8\x38\xa5\x2b\x8d\x4c\x80\xb3\x73\xb5\xbd\x9f\xaf\xb5\xf7\x1f\xd3\xfb\x5d\x82\x0d\xae\xa6\xb7\x8b\xce\x51\x6f\xef\xe3\xee\x4c\x5a\x7e\x1c\x92\x52\x37\xf0\x12\x8f\x26\x4c\x03\x9b\x0b\x1c\xcf\x44\x00\xde\x97\x72\xb3\xd4\xe0\x7e\x34\xa5\x51\xc6\xc5\x9d\x0f\xe5\x6a\xf1\x50\x52\x71\x1c\xa6\x39\xfc\xa7\x7d\xd2\xc8\xbb\xb9\xc9\xf1\xae\x7a\x53\xe8\xe9\x34\x2d\x02\x02\x6b\xc8\x68\x32\x8b\x98\x02\x40\x83\x07\x0d\xc4\xf5\x4e\xe7\xde\x94\x16\x5f\xc3\x9b\xee\x13\xf9\x99\x5c\xc6\xe4\x4a\x79\xb9\x47\x13\xea\xfb\xf3\x2a\x79\x0e\x6f\x9e\xcf\x25\x3a\x94\x48\x30\x8d\x7d\xd5\x48\x17\xac\x19\xc2\x59\x1e\x2c\x1a\xa2\x9c\xca\x50\x3a\xf0\x7c\x2f\x99\xeb\xcc\xa5\x8a\x4c\xc0\xb0\x9b\x4c\x31\xf5\x2f\x25\xae\x37\x04\x3b\x43\xa2\xa8\x94\x51\xb2\x30\x10\xde\xd6\x44\xf8\xbd\x27\xa1\xed\x92\x7f\x19\x8b\xb4\x32\xa6\x0b\x5b\x88\xb9\xb0\x58\x22\x2e\xd2\xeb\xf0\x3e\xe5\xd3\x01\xf3\x63\x32\x83\x58\x99\x31\x7b\xa0\x2e\x73\xbc\x09\x95\x29\x2b\x1a\xba\xe6\xb7\x19\x8b\xe6\x8f\xa9\xdb\x5c\xb1\x57\xf0\x43\x15\x75\x36\x56\xee\x4f\xd5\x5a\x2d\x0e\x83\x0b\xe9\xcf\x57\x4b\x22\x40\xe1\x58\x33\xb7\xa2\x4e\xc1\x75\xff\xfd\x63\x56\xae\x75\xf0\x3c\xe1\xbe\x69\x29\x9d\x07\xf9\x4a\xe7\xc7\xff\x57\x95\xce\x81\x18\x65\xb1\xd6\xa9\xaf\x37\xea\x46\xa1\xef\x39\xaf\x2f\xf3\xef\x39\xff\xfd\x4f\xb8\xe7\xf4\x30\x7b\x10\x3c\x17\xaa\xdb\xe8\x28\xa2\xd3\xb1\xe7\x58\xa9\x9f\x1f\x17\xbf\xce\xc9\x1f\x2c\xf1\x68\x82\xc4\x18\x18\xad\xae\x9f\x07\x49\xf9\x32\xf2\x26\x34\x9a\x93\x43\x1d\xb2\x6c\xfb\x50\xca\x9b\xf1\x98\x46\x2e\x1a\x3d\xc1\x60\x28\xf2\x04\x93\x12\x26\x7d\x02\x93\x5f\x0b\x73\x4e\xba\x98\x91\xe9\x19\x84\x38\x72\x5e\x96\x50\xf3\xf4\x12\x89\xb0\x0f\x7b\xad\x13\x46\x11\x24\x49\x16\xcd\x51\x01\xf3\xaf\xf2\x60\x85\x60\x66\xfc\x91\xdc\x03\xac\xa3\x8f\x38\x33\x63\x46\x4a\x85\x7c\x29\xc1\x61\x93\x83\x5f\x98\x71\x54\xc9\x3b\x6d\x7e\xc8\x09\xb9\xfb\xed\xb7\xdc\x40\xbc\x05\x3a\xe3\xc2\x20\xe3\x8c\xcd\x3c\x7f\x52\xfa\xcc\x09\x03\xf7\x8f\x4f\x4b\x29\x87\xef\xbc\xa9\x95\x58\x6f\xf1\x1d\x66\xcc\x66\x3c\x6f\x68\x35\xde\xff\xbc\x84\xf9\xcb\x19\xf8\x73\x7d\xaf\xb9\xb5\xbd\x57\x4f\x47\x6a\x83\x21\x27\x67\x8d\xdf\x14\xac\x71\xf7\x91\x6b\x5c\xb6\x88\x6b\xbd\x17\xde\xaf\xba\xd0\x0d\x30\x13\xae\x86\x2a\xd4\x37\x6d\xe1\x78\x7d\x73\xa9\x61\x2e\xc0\xe3\x23\x5e\xdd\x0c\x92\xc2\xbc\x91\xa6\x11\x03\x38\x8b\x0e\x48\x1b\x42\xf4\xca\x57\x07\x59\x3c\x22\x5e\x7e\xf4\xd7\xad\x88\xf5\x75\xd1\xb9\x44\x08\xe4\xfa\x35\xea\xd6\x85\x77\x46\xb1\x9b\xb7\xc4\xbe\x5a\x06\xd7\xba\xf4\xc5\xa9\xa0\xe7\x8d\x6c\xcf\xf0\xda\x20\xf1\x09\x0b\x3b\x6d\xf9\xbe\xe8\x37\xce\x39\x46\xfa\x4c\xa6\x69\xec\x67\x91\x00\x39\x0b\xc7\x4b\xf0\x9c\x72\x0e\xb7\x7c\x95\x36\x7b\xda\x19\x59\x16\x33\xa3\xf6\x3e\x57\xc1\xe9\x31\x4b\x71\x1a\x1c\x19\xe1\x73\x30\x9b\x60\xee\x08\x7e\xf9\x6b\x87\x20\x92\xa0\x3c\x62\x04\x67\xcc\xf5\x28\x69\x87\xd3\x39\x29\x9f\xa1\xe0\xa6\x3e\xab\xea\xd0\x8a\xa1\xe7\x98\x58\x0c\x31\xd3\x80\x02\x12\xf4\x09\x8f\x5a\x2f\xe0\xc7\x6a\x51\x26\xcd\x34\x53\xbc\x3c\xeb\x83\xb7\x04\xb4\x14\x14\x73\x94\x96\x5e\xbe\xb4\xf8\xff\x3a\x69\x31\x16\xd3\x42\x71\x11\xde\x9e\x98\x77\x32\x5f\x60\xfe\xda\x51\x2c\x12\x98\x82\x41\x18\xb6\x6c\xf3\x08\x3d\xd6\xd0\x93\xdd\x1c\x6f\x2d\xdf\x8b\xd1\xaf\x42\x86\x48\x57\x01\x00\x67\x2e\x0d\x5e\x08\x40\x8c\xa6\x01\xd1\x2a\x9c\x9c\x98\x61\x84\x60\x02\x27\xe1\x1b\x26\xdb\x10\x77\xc2\x9a\xbe\x15\x92\xba\x74\x46\x2e\x8b\x1b\x99\x0a\x06\x6d\x90\x83\xd0\x97\x99\xb5\x48\x93\x1c\x51\x4f\xe5\x75\x25\x1b\x18\x66\xe3\x90\x72\x10\x06\x6b\x70\x51\x53\x15\x37\xb5\xb3\x88\xaa\xbe\x85\x89\x21\x49\x99\x4e\xa7\x8c\x46\x31\x3f\x4c\x78\xf3\xaa\xd2\x4b\xd2\x0d\x00\x41\x4a\x7e\xb0\xc3\x3f\xc0\x5c\x2c\x55\xe2\xd5\x58\xad\x4a\xc6\x9e\xeb\xb2\x20\x15\x11\x45\x76\x49\x3b\x0a\x01\x98\x9c\xeb\x01\xe5\x4e\xfb\xac\xb5\xb6\xb9\x23\xbf\x6e\x36\xd5\x00\x03\x81\xbb\x3c\x08\xc1\x19\x23\x22\x43\x3e\x22\x55\x70\x03\xd4\x59\xaf\x68\x58\xcd\x4d\xf8\x7e\x96\x1e\x5a\x73\x8b\xf4\x13\x46\xdd\x39\xaf\x93\x90\x81\xc8\x7f\xa9\xaa\xbd\x14\xa7\xe5\x1d\xc3\x02\x1e\x0e\x53\x7d\xbf\x43\x6e\xec\x51\x62\x7e\xb6\x9c\x91\x36\x77\x51\xe1\x5e\x30\xda\x8d\xba\x84\x9e\x62\x23\xcc\xc2\x88\xde\x5f\x49\x48\x0e\x7c\x8a\x4e\xcb\xbc\x58\xa3\xb0\x58\x4f\x0d\x6c\xa3\x59\x58\xe8\x58\xfa\x88\xf3\x62\x1b\x85\xc5\x3e\x30\x2e\xa2\xb2\xdc\xe6\x02\xd2\x66\x72\xda\x37\xb6\x0a\x4b\x9d\xd1\x11\x0b\x12\x2a\x0b\x6e\x17\x16\x6c\xcf\x55\xf4\xd7\xc6\xcb\xc2\x52\xef\xc6\x5e\xa2\x7a\xdd\x2d\x2c\x26\xed\x14\x65\x81\x1b\xe0\xab\x68\x36\x64\x35\x57\x66\x17\xb1\x7a\xb3\x51\x58\x4c\xb3\x7a\xb3\x59\x58\xc8\x64\xf5\xe6\x46\x61\x31\x8b\xd5\x9b\x9b\x0b\x48\x53\xac\xde\xdc\x2a\x2c\x65\xb3\x7a\x73\xbb\xb0\xa0\xc1\xea\xcd\x97\x85\xa5\x4c\x56\x6f\xee\x16\x16\xcb\xb2\x5a\x5d\x33\xc5\x5a\x24\x65\x5c\x9e\x15\x81\x8e\x30\xa6\x77\x8c\x4c\xbc\x07\xa6\x5c\xcd\xf0\x22\x07\xe9\xa2\x4d\xdf\xb3\x41\x88\x89\xee\x46\x41\x38\x61\x6b\x52\xc5\x42\x6f\x9c\x87\x3b\x4c\xf3\x48\x01\xf9\x5f\x05\x32\x70\x6d\x17\xd0\x09\x78\x47\x61\x40\xde\x79\xb7\xde\x94\x9f\xf3\xbc\x9d\xf2\x38\x49\xa6\xaf\xd6\xd7\x59\x50\xbb\x97\x9f\xd7\xc2\x68\xb4\xce\xff\x5a\xe7\x27\xdd\x17\x84\x71\xf8\x02\x86\x7f\xb9\xdf\x1e\x85\x11\x69\x6c\xaf\xe1\x88\x15\xc5\xa9\xdd\x9c\x6f\xf2\x7a\x83\xde\x5d\xb0\xa2\x11\xfc\xda\x94\xb6\xdd\xe2\x85\x2d\x4a\x6b\xa1\xdb\x2d\x5e\xdf\xa2\xac\x29\x7b\xbb\xc5\xcb\x5c\x94\xb6\x44\x70\x77\xc1\x6a\x97\x64\x2b\x49\xdc\x2d\x5e\xf4\xa2\xb0\x2d\x90\xbb\xc5\x6b\x5f\x94\x37\xe4\x72\xb7\x78\x0b\x10\x85\x0d\xf1\x6c\xd4\x17\xac\xea\x0c\xbb\x1b\xf5\xe2\xc5\x9d\x66\x77\xa3\x5e\xbc\xc6\xb3\xec\x6e\xd4\x8b\x97\x7a\x0e\xbb\x1b\xf5\x05\x2b\x3e\xcd\xee\x46\xbd\x78\xe1\xe7\xb1\xbb\x51\x2f\x5e\xff\x19\x76\x37\xea\xc5\xdb\x40\x9a\xdd\x72\x45\xec\xec\xac\x91\x30\x22\xcd\xad\x55\x57\x06\xe4\x57\xde\x23\x5b\x64\x8f\x5c\x16\x4e\xee\x25\x96\xdc\xb4\x4b\xe6\xd1\x75\xa9\x56\x1b\xa7\x86\x6b\xfd\xe2\xbb\x72\x73\x73\x6d\xe0\x25\x95\x55\x09\x6a\x92\x3d\xd2\x23\x7b\xe4\x98\xec\x91\x83\x42\xc2\xa2\xd1\xa0\xdc\xab\x92\xe3\x2a\x39\xa8\x68\x12\xb3\x75\xf3\x48\x4d\xd5\x15\x36\x38\x86\x1e\x87\x00\xef\x26\xf7\xb6\x58\xb9\x29\x92\xe7\x5c\xe1\x79\x2e\xfc\x85\xe1\x0f\xd8\xef\x06\x30\x1d\xcf\x6b\x84\x74\x03\xde\x50\x1c\x4e\x98\xce\x36\x82\xde\x23\xbc\x2c\x26\x35\xf3\x62\x4c\x20\x0b\x8e\x82\x11\x5a\x73\x68\x2c\x1a\xe1\x17\x17\x06\x1e\x76\x00\x56\xcc\x5b\xc3\x6e\x62\xf8\x77\x0d\x4b\x61\x72\x95\x24\x0c\x71\x93\x86\x28\x11\x15\x25\x26\x88\x8c\x59\x02\xcf\x5d\x4e\x38\x81\xc4\x1b\x43\x61\x10\x82\xb7\x2f\x14\x0e\x33\x17\x6d\x5a\xf9\x9f\xac\x88\x5f\x3c\x62\x49\x73\x6b\xbb\xec\x99\x60\x60\x45\x6f\x39\xc4\x23\x2f\x48\x33\xcf\xac\xe0\x81\xc3\x3f\x40\x2d\x6c\xa5\xf0\x8b\x45\xd6\x2a\xc3\xf3\x2f\x63\xa3\x86\x66\xab\xa4\x5e\x51\xde\xbd\x26\x79\x57\xd1\x8c\xb5\xf9\x80\x1f\x41\xe4\xd6\x12\x22\x9b\xf9\x44\xca\xf0\x86\x28\xc7\x90\x6e\x11\x89\xc5\x46\x05\xc5\x36\xec\x62\x83\x82\x62\x9b\x58\xcc\xe4\x4c\x89\x8b\x35\xb8\xcc\x93\x17\xa4\x44\xaa\xfc\xd7\x91\xfe\x75\xc0\x7f\xad\x94\x14\x9b\xe0\x05\x3d\x49\xa2\x78\x95\xe8\x12\xfd\xa4\x9e\xcf\x3a\xc9\x5c\x68\xd0\x8c\x09\xcc\xf8\x5e\x3f\xf1\xe2\x98\xfb\xde\x8f\xdc\x30\x38\x21\x1f\xdd\x7f\x22\x1b\x75\x3b\xea\x5c\x3c\xc5\xd7\xcd\x78\xea\x1c\x62\xf3\x9e\xef\x1b\xd9\x3a\xb0\x2c\x65\x44\x6a\x51\xbd\x66\xb6\x1e\x5c\x95\x96\x56\xdc\xc8\x56\x14\xf7\xa9\x65\x35\x37\xb3\x35\xd5\x4d\x6b\x69\xe5\xad\x9c\x71\xc2\x6d\x73\x59\xc5\x97\x15\xf2\x0f\x44\x96\x57\x77\x4f\x9b\x78\xfc\x78\x69\x3b\x3b\x46\x3b\x78\x99\xcb\x69\x09\xbf\x58\xda\xd6\x6e\x76\x30\x71\x12\x79\xb7\x4c\x1a\x07\x96\xce\x5e\xce\xf4\x89\x69\x17\xd1\xc0\xf9\x53\x6b\x7d\x99\xd3\xec\xa2\xc9\x5d\x56\x77\xc9\xf4\x2e\xab\xbe\x60\x82\x97\x55\x7d\x99\x43\xb5\x9a\xd5\x65\x95\x77\x72\x2b\xab\x89\x5c\x56\x7d\x85\xa9\xb4\x9b\x78\x96\xc6\x3d\xc0\x2d\x61\xab\x6e\x05\x7f\x09\xb4\x38\x7e\x34\xae\x67\x94\x04\xc8\xb3\x66\xa2\x62\x85\x43\xd2\xd8\xb6\xa3\x16\x75\x53\xb2\x02\x3f\x5e\x9b\x5b\xa9\x62\x90\x93\x46\xe4\xf5\xf3\xee\x44\x96\xfc\xe1\x5c\x14\xf2\x02\x32\x9c\x41\x98\x82\x6c\xec\xdb\x8c\xfa\xde\xd0\x63\x2e\xa8\x29\x51\x95\x8c\xaa\x64\x50\x81\xd0\xa4\x5a\x6a\x43\xfb\x89\x6c\xe4\xf0\x56\x6b\x4b\x7d\x0c\x0e\x87\x28\x3b\xb2\x46\x36\xea\x2a\x4c\x2c\x67\xd3\xb1\x5a\x5a\x5f\x27\x47\x5e\x14\x27\xc4\x19\x33\xe7\x16\xdd\x0b\xb4\x46\x07\x09\xd7\x04\xec\xbd\xf8\xe1\xfb\x73\x22\x0f\x5b\xb2\x9f\x3e\x7b\xf5\x6a\x01\x1c\x0a\x55\xf0\x07\x4c\x4c\x69\x27\x0c\x2d\x1e\x06\x7c\xd1\xef\xb5\xbf\xf4\x8e\x0f\xf6\x16\xd4\x10\xab\x1b\xfa\x30\x12\x53\x13\x7e\xbe\xef\x93\x2d\x23\xef\x67\x3a\x25\x23\x3e\x2d\xa8\x41\xab\xd9\x34\x0a\xc0\x8b\x39\x0e\x11\xb5\x1f\x93\x12\x08\x9c\xe3\xfc\x84\x61\x59\xde\xa6\x66\x8c\x8e\x41\x4d\xd3\xfe\x08\xea\xff\x2c\xc7\xba\x20\xda\x11\x7f\x52\x31\x8f\x4b\x18\xe8\x98\x19\x4f\x8b\x45\x21\x67\xc5\x2d\x9c\x8d\xc3\xce\x51\xeb\xfa\xf4\xaa\x48\xba\x7e\x22\x9b\x39\x62\xaa\xd7\x5c\x4a\x4c\x37\x17\x89\xe9\xe6\xbf\x9b\x98\xe6\x0d\x63\xb1\x98\x1a\x9b\xcd\xff\x17\xd3\x5c\x06\x3a\x85\x89\x79\x57\x11\xa2\xac\x58\xca\xa6\xf2\xce\x85\x9f\xf7\xc9\x6e\x9d\xfc\xed\x6f\x20\x7c\x3f\xed\x93\x5d\xe3\xa8\x5b\xb2\x9f\xee\xd6\xc9\x0b\xb2\xb3\x57\xd4\x6c\xa3\x6e\xb6\xdb\xa8\x67\x1a\x2e\x5c\x01\xbc\x26\xb4\x2c\x39\x00\xa4\x8b\xa3\x8f\x25\x87\x68\xe1\x8b\xb3\x29\x2d\x8e\x14\xa9\x28\xd1\x95\x7c\x7f\xf7\x4c\xbd\x03\x45\x89\xa8\x97\x8d\xaa\x05\xcb\xe1\x5a\x2c\x9e\xe3\x88\x84\x4b\x41\x47\xb3\x47\x3a\x5b\x2d\x81\xec\x10\x9e\x12\x5c\xc7\x9f\xc5\x32\xa7\x78\xf9\xb0\xdf\x2b\x78\x12\xdc\x22\x6b\x76\xe1\x1a\xe9\xb1\x18\x6c\xa0\x17\x27\x15\x7e\xe7\x6e\xf7\xbb\xa4\x4e\xe0\x7e\xbe\x4d\xd6\x64\x93\xd9\x67\xf8\xcb\x5e\x85\x7c\x8a\xc2\xfb\x3d\x07\xdc\x7d\x3e\xab\x86\x44\x1b\x11\xd9\x23\x0e\xe9\xe5\x8c\x29\x78\xb4\x97\xa3\x7c\xd4\xde\x5a\xdd\xc1\xa4\x1e\x94\x56\x7c\x29\xdf\x2e\x99\x17\xa7\x28\xbc\xcf\xbb\xe4\x69\x6f\x87\x0a\xbf\xdd\x5a\x11\xfa\xc5\xe5\x65\xc2\x14\x5d\x65\xb9\x5f\x07\xdc\x4a\xc3\x7b\x33\x72\x9d\xff\xde\xcb\xf1\x95\x39\x14\x3e\x91\x13\x01\x58\x6f\x62\xc6\x0f\x18\x61\x01\xe4\xdd\x24\x77\x1e\x25\x4a\x98\x1e\x29\x7e\xc1\x9f\x2b\x7e\xdb\xe4\x31\x22\x25\x2d\xe2\xbf\x18\xc2\x44\x1a\x5b\xba\x89\x4b\x7c\xc5\x06\x83\xd1\x2c\xd6\xc5\x1b\x5c\x82\x49\x39\x62\xd4\x9d\x57\x48\x18\x3d\x93\x60\xb3\xf2\xeb\x06\xff\x9a\x8f\x1e\x8b\x80\x45\xad\x69\x34\x7c\x7d\x78\x92\x69\xb4\x89\x8d\x22\x16\x0f\x73\x79\xbb\xea\x1b\x68\x4f\x7c\x8e\x8d\x19\x6b\xe7\x44\xae\xff\x6c\x8b\x2f\xc9\x1e\x69\x90\x3d\x52\x87\xff\x02\x52\x3e\x0f\xa3\x64\x4c\x5a\x13\x16\x79\x0e\x0d\x0c\x98\x5c\xc8\xab\x40\xe3\x04\xb2\x33\xa9\x88\xd5\x18\x2d\x82\x24\x09\xc9\xcd\xd5\x26\xdf\x44\xc9\x6c\x8a\x09\x6d\x5d\x16\x84\x09\xd3\x9b\x0f\x8c\x54\x35\x07\xa0\x8b\x27\xf5\x06\xf8\x37\x31\x87\x6b\xdb\xc2\xb0\xb8\xb5\xa1\x29\x3f\x0d\x1d\x48\x60\x90\x26\x7c\x8b\x6c\x90\x40\x7d\x4b\xef\xa8\xe7\x53\x7c\x4f\x1c\x0a\xe7\x5b\xe6\xae\x79\x41\x55\x75\xa7\x58\xb5\x05\xc3\x3c\x0f\x65\xe5\x2a\xa6\xd0\xcc\x15\xbe\x5f\x9e\xbe\x51\xfc\xbf\xb5\xa6\x97\x6e\x51\x8d\x47\x6c\x7c\x9f\x7e\x69\x34\x56\xde\xfb\x9a\x8f\x6a\xb8\xf9\x88\x86\xb7\x1f\x45\x71\x73\xaf\xb1\x57\xdf\x5b\x7d\xcf\xde\xda\x78\x4c\xf3\x5b\xaa\x61\x2b\x9f\xa3\x70\x17\x84\x88\x6f\x05\x22\x06\xaf\x82\x8e\xe7\x02\x84\x3b\x3c\xde\x27\x21\x19\xf3\xbf\xc1\x6d\x26\xc4\x0d\x47\x27\xe1\x17\xfe\xe8\xb3\x98\x97\x9c\x4f\xf5\xf9\x7e\x03\x38\x12\x77\x1a\x0e\x15\x01\x71\xc4\xc2\x35\x5c\xca\xcf\xd9\x1d\x8b\x32\x5d\x18\x9e\xe3\xaf\xf9\x57\x1e\x7a\xdf\xdb\x31\x06\xa0\x51\x48\x00\x01\xb1\xdd\x1b\x6e\xe3\x2d\x00\x61\xcf\x6d\xfa\x19\x26\x6b\x0c\x42\x3b\xfa\x7d\xe4\xdd\xb1\xa0\x2a\x58\xa1\xb2\x2b\x8a\x67\xd2\xaa\x38\x5e\xbc\x18\xf1\xd8\x1f\xed\x8f\xfb\xf3\x74\x89\x43\x6e\x38\xd4\xcf\x09\xc2\xaf\x1f\x3c\xb5\xae\x7a\xb9\x8e\x37\x3f\x4c\x1f\x0f\xb5\x16\x87\xc3\xa4\x97\x03\xb7\xd6\x63\xdf\x66\x2c\x16\x00\xf1\xe8\xb3\x04\xa9\xa1\xce\x56\xcb\xae\x99\x26\xed\x3f\x0b\x86\x9a\xda\xe1\x8a\x8a\x99\xda\x64\x16\xad\x1e\xb1\x11\x4f\x9f\x46\xd9\xf3\x25\x5d\x9e\x86\xd4\x25\xa7\x9d\xc3\x18\xba\x39\x5d\xa5\x17\x42\x10\x6e\x24\x05\xb7\x4d\x63\x72\xe7\x45\xc9\x8c\xfa\xd8\x5e\x78\xc7\x22\x9f\xce\xbd\x60\x24\xdf\x57\xd4\x5c\x7b\x43\x42\x83\x39\xe4\x94\xa6\x51\x36\x07\x1f\xa7\xfb\xdb\x0a\x9c\x12\x48\x36\xc9\xdc\x17\x60\xeb\xed\x6b\xae\x8a\xdc\x5c\x6d\x35\xeb\x06\xcc\x33\x82\xcf\xa0\xd7\x0c\x42\xb8\x18\xab\xcd\xfe\x22\xe3\xa4\xd4\x04\x05\x1a\xbc\x6f\xcc\x9a\x1b\x66\x4d\x65\x68\x94\x1e\x08\xba\x8e\xf5\x55\x7a\x88\xe4\xdb\x4a\x70\x31\x8b\x03\xf9\x74\x00\x9f\x19\xce\x57\x14\x97\xf9\x14\x8c\x93\xc2\x36\x80\x01\x65\xed\xc4\xb8\x7a\x74\xdf\x5f\x40\x46\xae\xb3\x6c\x36\x6a\xf4\xcf\xc2\x95\x79\x32\x4b\x36\xff\xb9\xa4\x64\xd8\x92\x87\x1e\x24\x41\xd9\xcd\x05\x85\xb0\x41\x34\x1a\xe5\x39\x05\x83\x79\xd8\x48\x07\x8f\xd9\xdf\xb8\x56\xaf\x5c\x05\xc5\x82\x7c\x4c\x1a\x38\xd8\xae\x56\x58\xf7\x18\xe2\xc6\x57\x5e\x8f\x8d\xe0\x2a\x01\x87\xc6\x41\xbe\xcf\x69\xf4\x54\x4c\x26\x89\x14\x87\x81\xbf\x57\xe1\x54\x62\xb2\xd5\x3f\x93\x5f\x52\x90\x6e\xf5\xcf\x55\xd2\xa8\x57\xc8\x5a\x83\xbc\x52\x8f\x9e\xba\xf2\x01\x9a\xcb\x45\xfd\x46\xb6\x7e\x43\xd6\x27\x66\x03\x99\x99\xbd\xb9\xc2\xb1\xe3\xb8\xcb\x8a\xb2\xaa\xd5\xcf\x22\x4c\x04\x85\x03\x50\xc7\xb7\xc1\x1c\x44\xde\x8c\x4b\x2c\x62\xbc\x3f\x6e\x1e\x7f\x89\x96\x64\x93\x46\xd4\x44\xc3\x5f\xd5\x0b\x48\x8f\x39\x09\x0d\x46\x33\x9f\x46\x22\x8f\xe0\x61\xa7\xdd\x6e\xf5\x5a\x95\x47\xf5\xfd\x9f\x4b\xfa\x06\x68\x63\x21\xeb\x65\xae\x00\xd4\xfa\x1f\xfa\x95\x9c\x86\xe2\xa7\x82\x1b\x43\x0f\x7f\x0e\x1f\xe3\xc5\x63\x41\xa4\x4a\x32\xa1\x81\x37\x55\xf1\x6e\xf0\xe2\xe2\x26\xbc\x4e\x55\xe2\x70\xf0\x7f\xd9\x43\xc2\x82\xd8\x0b\x83\xf8\x91\xab\x32\x59\xe6\xf9\x8d\xef\x5d\x2b\xcc\x66\x8f\xcf\xe6\xe3\x3a\xff\xcf\x25\xbd\xf7\x57\x8f\x60\x7d\xa4\x35\x64\x85\x8e\xf9\x06\xea\x05\xa3\xb5\x01\x67\xf1\x1d\xbf\x2b\xca\xbc\x2f\x07\x37\x69\x4d\x64\xb5\x5e\xc9\x52\x66\xe3\x32\xcd\x08\x70\x5e\x63\xb3\x3f\x80\x9d\xcd\x87\x37\xa1\xd1\xc8\x0b\xb2\xa3\x3b\x7b\xf2\xe8\x66\x4b\xf6\x85\x70\x3a\x2f\xd8\x07\x7a\xad\xaa\xb0\x7a\x20\x64\xf7\x63\xc5\xe8\x6e\x59\x26\x53\x30\xae\x1d\x79\x3e\x3f\xd2\x04\x09\x42\xb1\xec\x1c\xf5\x1e\xd9\xdb\xaf\xa5\xfb\x65\xd3\x88\x17\x10\x95\x0c\xf4\x52\x1b\x79\x60\xa1\x74\xde\x5e\x5d\xb6\x7a\x4f\xbc\x8f\x3c\x2c\x93\x5c\x38\xc1\xd5\x7a\x95\xdb\x71\x87\x6f\x10\xe2\x12\xd6\x6a\x77\x1e\x39\xe6\x1f\x97\xf4\x7a\xe4\x01\x9a\x76\xce\xdc\x1e\xf5\x5a\x95\xaa\x8d\x66\xff\xb8\xb9\x5d\xd2\xf3\x5d\xf2\x25\xf1\x7c\x06\x90\x68\x65\xaa\x6d\x00\xe7\xad\x8b\x31\x75\x6e\xa1\xcf\xeb\xe0\x9c\x25\xaf\xa9\x73\x0b\x3e\x73\xe5\x98\x31\x22\x7c\x70\x03\x96\xf0\x52\xf7\xde\xad\x57\x73\xc2\x09\xba\xe0\xde\x18\x4d\x0e\xe5\xd6\xe3\x05\xc3\x50\x81\x26\xdb\x57\xa3\x21\x8d\x70\x2b\x86\x2b\x0f\x29\x03\xee\x02\xa1\x64\xe4\xcf\xa7\x63\x20\x00\xc3\x10\xe1\xef\xdc\xb5\xfc\xfd\xe9\x68\x01\x12\x2c\x40\x3b\x1c\x2d\xbe\x5b\xa4\xaf\x16\x46\x6c\x59\xdf\xa2\xbb\x2c\x92\x46\xa2\xe4\xa2\xfb\x22\x7e\x83\x88\x9a\x95\xda\x72\xc7\xb2\x66\x3a\x31\x7f\xee\x3b\x4c\x06\xd4\x97\x73\xff\x10\x31\xee\xd2\x43\x68\x7c\x5e\x0a\x57\xb3\xbe\x0e\xa9\x8b\xc5\x38\xf2\xa2\xe3\x96\xf4\x29\x75\x34\x1b\xe2\x05\xf7\x10\x69\x29\x45\xb3\x2a\xa6\xc3\xee\xb4\x3b\xa7\xbd\xa7\x2d\xe6\x5f\xc5\xd4\x2f\x09\xc1\xcf\x5d\x59\x1d\xb9\xb2\xea\x4f\x5c\x59\x4b\xba\x16\x3b\x89\x1c\x71\xe7\x0e\x5c\x3b\x61\x03\x39\xed\x3c\x75\xb8\xff\x58\x6d\xeb\x94\x9d\xea\x27\x05\x30\xe1\x9c\x5e\x3e\xb5\xdf\xdf\x16\xf7\x2b\x70\x67\xd0\x22\x8c\x83\xec\xb6\xff\xd0\xbe\x45\x7e\x5f\xf6\xde\x02\x38\x2f\x97\x24\xb6\x7a\x3d\xfc\x83\xbd\xfe\x4f\x7e\xaf\x7c\x75\x5f\x5c\xf7\xda\x1d\x72\xd4\x3d\xed\xbc\xc2\x02\xeb\x5f\xe3\x75\xf8\xe5\xcb\x5d\xf2\x45\x5d\xf9\xbe\x4c\xe8\xb4\xf6\x35\xe6\x55\xf8\x89\x8d\xde\xb7\x65\xa7\x42\x9a\xf5\x46\x13\x1e\x2f\xda\xe3\x28\x9c\x78\xb3\x09\xb9\xe8\x93\xd6\x2c\x19\x87\x51\x5c\x83\x8c\x46\x50\x36\x06\x73\x5f\x74\xc7\x67\x62\x7d\x9d\x5c\xc7\x0c\xb5\x35\x2f\x26\x22\x6d\x83\x23\x4c\x9d\xa3\xf0\x8e\x45\x01\x6e\xd7\x94\x1c\xf4\x0f\xd7\xd0\xde\xe3\x7b\x0e\x0b\x62\xe1\x98\xec\xd0\x80\x0c\x18\x6f\x69\x08\xce\x03\x02\xb3\xf8\xb4\xdb\xee\x9c\xf7\x3b\x64\xe8\xf9\xac\xf6\xec\x59\x69\x16\x63\x56\x5b\x27\x29\xed\x3d\x7b\xe6\x7b\x83\x5a\x94\xb8\x6c\x5a\x2e\x01\x78\x03\xc0\x91\x67\x22\xea\x26\x74\x4a\xc2\xc1\x57\xe6\xa8\xc4\x14\x7f\x87\xfd\x8e\xfc\x03\x3f\xfd\x1d\x46\x7b\x7c\xca\x0b\x4e\xf9\x52\x07\xe5\xdb\x0b\xa6\xb3\xc4\xc4\xc0\x4c\x42\x12\xce\x12\xfb\x43\xf5\xda\x03\x2d\xf4\x54\x0b\x12\x62\x95\xce\x92\x70\x42\x21\x6a\xda\x9f\x13\x27\x62\x34\x47\x72\x8d\x2c\x37\xe6\xe9\x10\xd0\x09\xab\x92\x91\x3f\xa1\x53\x01\xa1\xca\x07\x46\xf8\x8a\x1d\x87\x51\x82\x08\xfb\x68\xa6\xf6\x62\x3b\x91\x4d\x95\x1f\x8f\xc3\x99\x0f\x5f\xbb\x6c\x30\x1b\x8d\x04\x28\x3c\xef\x59\x6c\x93\x50\x7f\x1f\x9a\x01\x53\x94\x6a\x9e\x8f\x45\xb9\x19\x27\x21\x71\x20\x0c\x39\x94\x7e\xd8\x5e\x0c\x1c\xf5\xf8\x0d\x21\x4e\xa8\xef\x33\x98\x2d\x48\xea\x60\xb6\x0f\x59\x1b\x94\x8b\xf3\x1f\x6d\xbd\x97\x6e\xbd\x67\xb6\xce\x4f\x08\xe4\x94\x3e\x06\xd0\xa0\x8c\x9f\x5a\x5a\xf1\xbf\xed\xec\xd7\xa6\x51\x98\x84\xc9\x7c\x2a\xd2\x0a\x99\xd2\x60\xca\xc1\xba\x42\x02\x4f\x2c\xd2\x6b\x92\x39\x50\x98\xec\xa3\xf0\x28\x38\xd9\x91\x7f\xcb\xe6\x31\xd9\x27\x17\xb8\x18\xf8\x5f\x65\x5d\xbe\x52\x9b\xd0\x69\x59\x75\x78\xcb\x8c\x3c\xce\xd2\x09\xfb\xd7\x5f\x1f\x4a\xe4\x85\x40\x4a\xf9\x3e\xa5\x2e\x2f\x56\xe3\x1c\x69\x87\x2e\x6b\x25\xe5\x7a\xa5\x96\x84\xe2\x2d\xa7\xb1\xad\xd2\x2b\xa3\x0b\xb3\xe8\x2b\x02\xb1\x63\xf7\xa4\xc7\x46\x9d\x87\x69\xb9\x04\xaf\x6d\x48\x9d\xc0\x40\x47\x08\xf4\xcf\xa5\x2a\x29\x8d\x44\x8e\x01\xd8\xa7\x26\xd3\x59\x22\x46\xdd\x33\x47\x0d\x48\x72\xf8\x38\x24\xd1\x79\x31\xd1\x88\xc4\xbe\xe4\x42\x06\xa3\x87\x70\xb0\x64\xcc\xbc\x88\x9c\xf5\x0f\x44\x52\x19\x41\x59\x84\x5c\xfb\x07\x66\x82\x16\x04\x0d\xc3\xa8\x43\x9d\x71\xd9\x98\x09\x8b\x35\xc0\xd9\xe8\x96\xcd\xc9\xbe\x48\x24\x5f\xe3\x12\xd4\x16\x3c\xc1\xe2\x36\x8b\xc8\xdf\x48\xfd\x61\xa7\x5e\xb1\x52\x60\x43\xef\x9f\xa0\xa5\xcf\xf2\x2d\x13\xe6\xe5\x13\xb4\x20\xf2\x5e\xfd\x5e\x1b\x78\x01\x02\xf9\x56\x74\xee\x05\xa8\x95\x3f\xb3\xd1\x5f\x34\xb3\x55\x91\xcd\x21\x35\xb9\x51\xc1\xe4\x46\x8b\x27\x57\x6f\x18\x8a\xca\x38\x51\xc9\x18\x04\x8d\x71\x12\xd5\x22\x36\xf5\xa9\xc3\xca\x4a\x94\x0a\x31\x2f\x55\x43\xce\xb8\x42\xfe\x21\xdb\x30\xd8\xea\x8c\x3f\xa7\xd9\x69\xf3\xd7\xa0\xac\xf7\x58\xca\xa2\x27\x52\x16\xad\x48\x99\x09\x36\x60\xee\x5b\x02\xb9\xdb\x15\x00\x5c\x00\x84\xa8\x36\xac\x2a\xde\x9a\x5c\x36\x65\x01\x80\xf6\xc8\xd0\x6f\xf0\x26\x80\x27\xd0\xab\x6c\x5e\xd4\xa2\xcd\x6a\x42\xa7\xb1\x5c\x2d\x82\x14\x84\xd1\x39\x4e\x43\x01\xf1\x95\x0a\x7b\xa5\xb8\x8d\xdd\x25\x8d\x7a\xbd\x16\xb0\x64\xdd\x0d\x9d\x78\xfd\x2e\x69\x36\xeb\x6b\xd1\x64\x3d\xe1\xaa\x77\x73\x6d\xb3\x36\x4e\x26\xfe\x92\x9e\x65\x46\x18\x2e\x6a\xb9\xa5\xca\xc0\xfe\x92\xc0\x25\x2a\x55\x95\xc4\x97\x7e\x7d\xd8\xae\x97\x5e\x95\x7e\x9d\x35\xb7\x9c\xed\x52\x15\x76\x8f\xff\x26\x6b\x3f\x13\xd7\xa3\x93\x30\x70\x8d\x72\x0d\x51\x6e\xb7\x29\xca\x51\x5e\x6e\x14\xb1\xf9\xda\x20\x7c\x30\x0a\x36\xb1\xe0\x66\x7d\x57\x14\x1c\xf0\x82\xe3\xf5\xc4\x28\xb3\x21\xcb\x38\xa2\x8c\xc3\xcb\x0c\xd7\x87\x46\x99\x4d\x59\xc6\x15\x65\x5c\x5e\xc6\x59\x8f\x8c\x32\x5b\xb2\x0c\x15\x65\x18\x2f\xe3\x5b\xed\x6c\x43\x99\x7a\x7d\x50\x17\x65\x86\x30\x40\x36\x8a\x18\x33\x8a\xbd\x94\xc5\x1a\xa2\xd8\x88\x17\x7b\xb1\xbe\x66\x94\xd9\x11\xdd\x35\x37\x45\x99\x31\x2f\x13\xac\xfb\x46\x99\x5d\x49\xd2\x40\x94\xf1\x78\x99\x3b\x6b\xf8\x54\xf0\xb2\xb1\x23\xca\x7c\xe5\x65\xd0\x0d\x7d\x0d\x54\x4a\xa3\xf0\x40\x16\x96\xf4\xdf\xf2\xc2\x49\x38\xcd\x94\x74\x44\x49\xc5\x55\x5f\x96\xf4\xd9\xd0\x2c\xe8\xca\x26\xe5\x38\x26\x46\xff\xa9\xb2\x4c\x94\xdd\x90\x8d\x06\xc0\x62\x2f\x60\x6b\x10\x5a\x6f\x14\x1d\x62\xd1\x8d\x81\x9c\x8d\x90\x17\x8d\x1d\x1a\x34\x74\xa9\x97\x75\x59\x4a\x32\x68\x2a\x4b\x6d\x18\xa5\xa4\xb8\xd5\xe5\xa8\xbf\xc9\x52\x5b\x46\xa9\xa6\x6c\x4b\x12\x17\xc9\x52\x2f\x8d\x52\x1b\xb2\x94\x94\xa4\x58\x96\xda\x35\x4a\x6d\x4a\xa6\xc8\xb6\x12\x18\x28\x1b\x26\x6b\x89\x29\x29\x2f\x85\xd0\x6d\x29\x29\x98\xf1\x82\x30\x19\xa9\x92\xdb\x92\x77\xb2\xe4\x9d\xc1\x67\xbb\xe8\x4b\xd9\xa8\xec\xfd\x5e\xce\x9d\x5d\x6e\x47\xf2\x45\x2e\xc3\x07\x10\x2f\x81\x47\xb4\x86\x29\x47\x54\x69\x21\x8c\xcd\x6d\x49\xc0\x1c\xc7\x14\xc7\x6b\xec\xdb\x8c\x1a\x72\xfb\x92\xca\xa2\x5b\xa2\xe8\x77\xb1\xbe\x69\xc2\xa2\x4c\x69\x14\xca\xfa\x86\x23\xa7\xe7\x1f\xbc\xf4\xd4\x33\x8a\x38\xb2\x41\x59\xe4\x37\x58\x2c\x61\x92\x69\xcc\x15\x4b\x8f\x6e\x88\x92\xbf\x03\x9b\x22\x2f\xf1\xe2\xf1\xda\x94\x5f\x82\x8c\xd2\x4c\x2e\xd4\x97\xa2\xf4\xff\xc0\x7a\x0e\x13\x7d\x04\xcb\x54\x93\xd8\xc2\x93\x77\xdf\xad\xd5\x76\xdf\xd6\x4a\xbb\xaf\x18\x8e\xbd\xfb\x36\x37\x4a\xaf\x88\x3d\xf6\xff\xc8\x1f\xbb\x39\xae\xeb\x3e\x81\x4c\xc1\x7c\x38\x55\x12\x84\x12\xc5\x64\xd9\x11\x25\x61\xfa\x97\x91\x3a\x8b\x4b\x55\x74\x18\x37\x2e\xef\xb3\xc4\x79\x3a\x27\xb7\x57\xe3\xe4\xe6\x4a\xe4\xb9\x9c\x94\xa7\xf0\x51\x97\xdf\xac\xcb\xf2\x03\x26\xca\xff\x9d\x97\xdf\x58\xdf\x34\x4a\x6d\x0d\x44\xa9\xc6\x86\x5c\x6d\x9f\x78\xa9\x92\xf7\xb5\x44\x7c\x6f\x04\x2f\x33\xa4\x8c\x0e\x47\xa3\x90\xc5\x08\x9b\xc7\x9b\x1d\x0e\x7f\xa9\x18\x0d\x39\xaa\x3b\xb9\x05\xfd\xca\x1b\x6a\xac\x37\x8d\x42\xae\x2c\xf4\x52\xee\x01\x9f\xcd\xb5\x4d\x06\x34\x7a\x66\x2f\x41\x31\xe4\x1d\x73\x0d\x26\xf7\x21\x5f\x0c\xb1\xbd\x12\xb1\xe4\xf6\xb6\xb9\x14\x87\xf6\x12\x14\x04\x3a\xe6\x1a\x6c\xac\x6f\xda\x2b\x4f\x14\xda\x34\x97\x1e\x75\x66\x22\x48\xca\x14\x52\x91\xa5\xfa\xc9\x22\xf3\x72\x35\x91\x69\xa7\xb0\x9d\xb2\x25\xb6\x56\x12\xaa\x21\x92\x6b\x8b\x95\x12\x80\xba\xb3\x69\x09\x40\xab\x44\x66\x13\x9f\xce\x92\xbc\x39\x76\xb7\xcd\x39\x2e\x5d\xe4\x94\x55\xec\x76\xb6\xcc\xa9\xe6\xed\x46\xe0\x62\xa4\x4a\x2a\x9e\xbb\x8e\xc9\xf3\xd2\x4c\xb5\x6a\xeb\x72\x58\x98\xed\x9a\xca\x5c\x89\x95\xc4\x24\xe5\x89\x0f\xdb\x34\xc5\xa7\x44\xb3\xe4\x6a\x01\x1a\x5a\x02\x54\x0a\x73\xca\xaa\xa1\xb1\x2d\x53\x92\x78\xbb\xf6\xd0\xb4\x38\x0d\x8b\x86\x96\x91\x29\x4c\x6b\xfe\x54\x91\xda\x59\x4d\xa4\x7a\xab\x09\x0c\xd0\xf2\x67\x6d\x43\xac\x6e\x6e\x43\x9c\x59\xa3\x88\xde\xb1\xbc\xcd\x48\x2b\xb2\x9f\x50\xef\xb0\xe4\x45\x4d\x15\x7b\x69\x49\xa1\x53\x22\x0e\x73\x3d\xdf\xa7\x79\x62\x48\x5f\x9a\x62\x18\x0b\xf7\x97\x78\x3e\x19\x84\x3e\x29\xbb\xe1\x6c\xe0\x33\x12\x57\xf2\xe5\x67\xd7\x92\x1f\x25\x6b\x79\xe2\xb3\x6b\x89\xcf\x4c\x8e\x32\x4f\x7a\x76\x2c\xe9\x61\xd9\xa2\x2c\xb3\xff\x81\xf8\x2c\x16\x1d\x99\x11\xff\xc9\x32\xb4\xbb\x9a\x0c\xbd\x7d\x84\x0c\x11\x47\x10\x65\x0b\xd3\xd3\x84\x83\xd9\x27\x15\x2d\x11\xc7\x8b\x9c\xd9\x64\xe8\xb3\x87\x3f\x2c\x26\x8c\x5a\xbb\x15\x2b\x68\x5c\xcd\x0c\x93\x87\xeb\x7f\xe1\xb1\x69\x95\xcf\xdb\xb7\x86\x9b\xd6\xbe\x15\x16\x54\xf8\x37\x12\xbe\xe1\x20\xbd\x77\xa5\x58\x62\x0a\xe1\x31\x8b\x26\x7f\x40\xf6\x1a\xf5\xd5\x84\xef\x64\x35\x73\x00\x10\x53\x24\x73\x6a\x47\xf8\xfb\xaa\x3b\xc2\x5f\x7f\x58\xba\x96\x5e\x54\xba\xce\x39\x02\xff\xfa\x63\x6d\x68\x29\x48\xa9\xc3\x2a\x25\x1c\xee\xd0\x14\x0e\x16\x7f\x67\x49\x76\x67\x02\x64\xc0\x3f\x22\x15\x8d\xd5\xa4\xe2\xc3\x4a\x52\xe1\x21\x35\x7f\xd6\xb9\xf6\x47\xc4\xe8\x2f\x38\xe7\xd4\x76\xf1\xb9\x48\x2f\x32\xf6\x22\x5b\x87\x9a\x65\x77\x5d\x43\xd8\xea\x69\x61\x4b\x6f\x18\x5a\xd6\x9a\x69\x59\xfb\x33\xb6\x21\x66\xab\x50\x9e\x59\xd4\x14\xb6\xf3\x30\xba\x67\x23\x8f\x06\xeb\x87\xf4\x0f\xa9\xe7\x8d\xe6\x6a\x52\xd7\x59\xaa\x9f\x6f\xaf\x24\x97\x81\x22\xdc\xa5\x59\x45\x5d\x0b\x9c\xda\x7b\xfe\x9e\xda\x7b\x72\x37\xaa\x6d\x7b\xa3\xea\xe8\x6b\x5d\xee\x5e\xb5\x93\xde\xab\xe2\x24\x0a\x6f\xd9\x9f\xa4\xd8\xff\x57\xe1\xae\x66\x28\xf6\xf6\x01\x49\x17\x6f\x81\xdb\xb6\x54\xb2\xbc\xe1\x19\x92\xb9\x93\x96\xcc\xf4\xf0\xfe\x52\xe5\xbe\x3f\xfd\x83\x12\xb9\xb1\x9a\x44\x7e\x5c\x49\xde\xe2\x69\x8e\x98\xfd\x6b\xf6\x41\xda\xb0\xa4\xf4\x87\x12\x82\xa2\x26\xcc\xcd\x15\xd2\x86\x25\xa4\xe7\x25\x92\x78\xbe\x9b\x2b\xa3\x83\xa1\x25\xa3\xbf\x18\x0d\xe7\x89\xd3\xc0\xda\xe4\x52\xf3\xad\xa5\xa8\x61\x49\x51\x90\xe9\xdf\x10\xa2\x97\x96\x10\xa5\xb6\x6e\x4b\x36\xee\x99\xfb\x87\x64\x63\xc5\x87\x94\x97\x4b\x77\xab\xd7\xab\x49\x0f\xd2\x5b\xb8\x49\xed\x5a\x9b\x54\x27\x7b\x0c\xfd\x5b\x5a\x1e\x56\xda\xa0\xfe\x77\x5a\x1e\xfa\xf7\x5e\x1c\x3f\x5d\xfc\x56\xb4\x24\xef\xaf\x28\x5c\x5e\x1c\x17\x6d\x4c\x4a\x6b\xf9\x8f\x22\xad\xe5\x89\xf7\xca\x5d\x4b\x0c\xb3\x17\xad\x7f\x87\x2b\xa5\x2e\x3f\xcc\xe8\x50\x5f\x6c\x1d\xea\xcf\xb9\x7d\xfe\x1b\xdc\x31\x56\xba\x80\x82\x77\x18\x43\x67\xb4\x1a\x75\xdd\x72\x09\xdd\xe1\xe8\xcc\xf5\xc2\xf5\x01\xf3\xfd\x52\x95\x94\xf0\xaf\x70\x34\xda\x1b\xd0\x98\x6d\x6f\x96\xaa\xcf\x4a\x57\x4d\x37\xb8\xbe\x6f\xb5\x5b\xea\xe7\x70\xfc\xed\xdd\xd6\x09\xfc\x7a\x76\x74\xd7\xf9\xfa\xe1\xe0\xf5\xe8\xa8\x39\xd8\x78\xe3\xd1\xf7\x67\x58\xe4\x43\xfb\xa5\x2a\xfe\xda\x39\xc0\x5f\xda\x9b\x25\xf2\xe2\x59\xa9\x75\xbd\x1b\x7c\x6c\x9c\xb5\xcc\x9f\x4d\xea\xcf\xfa\xa3\x0e\xfc\xce\xe2\xee\x46\xa7\xbd\xb1\x9e\xf9\xd9\xb9\x3d\x74\x27\xbb\xf3\x0f\x13\xff\xfb\xeb\xb7\xad\x56\xeb\x68\x3c\x85\x06\x9d\xe3\xd1\xec\x6a\xe3\x4d\xd0\x3d\x7e\x98\x7e\xf0\x3f\xde\x39\x93\x37\x53\x67\x7e\xf0\xa6\x7b\xd8\xbd\x3f\x3b\xbc\xbd\x3f\xff\xde\xda\xc2\x6e\x3a\x47\xb2\x81\x93\xeb\x37\x87\x37\xa3\x0e\x0e\xeb\xf0\xe8\xac\x7b\xf6\xae\x55\x7f\x73\x70\x83\x14\xb6\x5a\x6f\x5b\xad\x83\xd1\x9b\xf6\xed\xc5\x6d\xf3\xe3\x9b\x13\xfa\xee\x3a\xec\x8f\xb7\x26\x6f\x7a\xdd\x7e\x7f\xe2\xfb\x67\xd7\xf7\xde\x47\xef\xda\x73\xae\x3f\x7c\xd8\xbc\x7f\x78\x18\x8f\xbf\x7e\x3d\x7c\x7d\x7c\x7c\x7c\x71\xd6\x3d\xec\xdd\x1e\xf1\xda\xad\x76\xeb\xa4\x35\xb9\x80\x06\xc3\x17\x1f\xdf\xd0\x78\x73\xeb\xe3\xc3\x28\xf8\x1a\x9c\x8c\x2e\xde\xf9\x17\x17\x27\xce\xe8\x60\x73\xda\xdb\x3c\xbc\x7d\x73\x7f\x77\x3d\xf9\xd0\xdc\x9e\x24\x27\x1f\xa3\x41\xbc\x39\x7d\xf3\x76\x74\xfe\xee\xed\x75\xab\xd5\xea\xb6\xde\x76\x46\xe3\x71\xaf\xd7\xef\xb7\x8f\x8f\x8e\x8e\x4f\xba\xd0\x60\xf7\xc3\x87\x0f\x1f\xc2\xd1\x78\xfc\xf0\x30\x9f\xb7\x8f\x83\xe0\x75\xf7\xe4\xe4\x9b\x37\x1a\x8d\xc2\xf9\xbc\xdd\x3e\xbc\x3a\x3c\x9d\x4e\xdf\x9c\x5f\x5c\xcc\x26\x61\xb8\xb9\xb9\xbd\xed\x79\xf5\x7a\xa7\x7b\x7a\x3a\xb8\xea\xf7\x6f\xef\x1f\x1a\x37\x1f\xbf\x46\x51\xfd\xf8\xfd\xfb\x87\xef\xd0\xe0\xf7\xaf\x41\x10\xbc\xbe\xbc\xb8\x60\xcc\x71\x76\x36\xdf\xbc\xbd\x3d\x7f\xd7\x7a\xdb\x1a\x71\xa6\xbd\x1d\x7d\xf8\xf8\xf1\xe0\xa0\xdd\xe6\x14\x1c\x9d\x74\x4f\x28\xfd\xe0\xf0\x8e\xba\x87\x6f\x6f\x8f\xae\x5b\x9c\x89\x23\xe0\xef\xc1\xeb\xdb\x5e\xef\x0d\x34\x18\xf7\xae\x4e\xe3\xde\xf7\xf3\x7a\xbf\x77\xb9\xe3\x3d\xf4\x3a\xdf\xdf\xf7\xce\xea\x37\x57\x37\x9d\xc6\x0d\xff\x71\x6f\x1a\xef\xdd\xc9\xfb\xf7\x6e\xc0\xff\x6b\x7c\x9c\x74\x6f\x06\xb3\xd7\x8d\x8f\xb3\xee\xcd\xa0\xd9\xbd\x71\x77\x37\x6f\xc6\xc7\xdd\x8f\xf0\x1f\x34\xc8\x7f\x79\xf1\x7a\x63\xb8\xbb\xc1\xff\xab\x8f\xce\x8f\xdf\xde\xb4\xda\xad\x83\xd6\x49\xeb\xeb\xc5\xc7\xc1\xd7\x13\xda\xf5\x8e\xbf\x9d\x7a\x17\xb4\x7b\x38\xee\xd2\xb8\x35\x3a\xb8\xe5\xd4\xb7\xda\xad\x37\xb7\x5e\x77\x7a\xfb\xed\xfc\xcd\x74\xf2\xf1\x5b\x34\x99\x0c\xa0\xc1\x64\xe2\x45\xc9\x64\xe3\x34\xf6\xbe\x9f\xc6\xa3\x79\x67\xfc\xed\x9e\x4b\xc3\x01\x4c\x3e\xff\x39\x39\x98\x4e\xbe\x7d\xcc\xff\x6f\xf2\xf1\xa3\x3f\xb9\x51\xff\x41\x83\xe6\x07\x45\xff\xbd\x3d\xfe\xda\x3d\x19\x1d\xb4\x5a\xa3\x83\xd6\xc3\x46\xc7\x79\xd8\xe8\xdc\xf6\x6e\xba\xb7\x0f\x1b\xdd\xf8\xe0\x1e\x67\x7d\xde\x6a\xb5\xa0\x41\x3e\xba\x6b\xef\xfb\x91\xf3\xb5\xf7\xda\xf9\x7e\xf5\xda\xf9\xfe\xfd\xb5\xf3\xfd\xe1\xb5\xdb\xb9\x7a\xe3\x77\xbe\x9f\xef\x76\xee\x2f\xdb\xad\xc6\xc7\x03\x4e\xf0\xa8\xd5\x45\xb2\x0f\x5a\x67\xbd\xef\x47\x4e\xef\xfb\x1b\xce\xfb\x6b\x6f\xe3\xca\xf9\x7a\xf3\x1e\x57\xca\xf7\x8d\xf7\x4e\x7d\xe3\x3d\x67\xfe\xcd\x63\x7e\x3e\xbc\xc6\x99\xe6\xac\x69\x1f\xbb\x1f\xa7\x1f\xbf\x41\x83\xa3\xd6\xe8\xfb\xed\x71\x07\x27\x03\xfb\xff\x10\xbe\x1d\x1f\x1e\xb6\xa4\x00\xbf\x6d\xb5\xba\xde\x78\xab\xdd\xa6\xf5\x37\xd1\xf7\xef\x57\xb7\x17\x93\xd9\xbb\xd1\xb7\x5e\x7f\x50\xdf\x39\x7e\x73\xf3\x26\x0e\x66\x74\xf2\x61\xb2\x71\x89\x2b\x85\xcb\xdf\xe0\x6c\xf3\xe3\xe6\xd6\xc3\xf7\xef\x5e\x70\x32\x71\xde\x8d\x26\x6e\x9b\x3a\x3b\x5b\x6f\x0e\xdf\x7c\xf3\xc3\x37\xc1\xdb\x49\x70\x79\xc1\x7a\x27\x83\x83\xed\xe6\xb4\x3e\x9d\x7e\xff\x3e\x0e\x82\xa0\xf5\xf2\xf8\xf8\xdd\xb1\xe3\xec\x6c\x4d\xeb\xd3\xf0\xf5\x37\xd7\xff\x00\x0d\xf2\x96\xdf\xb9\x6d\xba\xf5\xcd\xdb\x3a\x7a\x93\x7c\xff\x1e\x4e\xae\x27\x73\xd6\x98\xdd\xf4\x07\xce\xce\xe6\xd6\x16\xef\x48\x08\xff\xb7\x9b\x6d\xe7\x7b\xdc\xd9\xda\xfc\xf8\xf0\xfd\x7b\x18\xd0\x49\x73\xb6\xd5\xbe\x69\x3a\xce\xce\xcb\xad\x8f\x6f\xbe\xcf\x70\xa5\xbc\x0d\xc6\xc6\x4a\xc1\x06\x46\x7e\xfb\x6d\xe3\xc3\x41\x0b\x76\xb0\xde\xb8\x79\xf0\xf5\x38\xf8\xd0\x1d\x0d\x3f\x6c\x1e\x7f\x18\xbf\x1d\x4f\xbd\xe3\xab\xd7\x41\xff\xf2\x70\x7a\x31\x3a\x73\x46\xd3\xe9\xc1\xf6\xf9\xd7\xdb\x8f\x27\xd0\xe0\xb7\x0f\xe7\x6f\xaf\xc7\xb7\xc1\xf4\x7d\xbf\xcd\xb7\x20\x98\xcb\x56\xbb\xd3\x39\x7a\xd3\xed\x7e\xb8\xbe\xbe\xbe\x55\x1b\xc0\xf1\xf1\xf1\x49\xb7\x4b\x99\xe3\x8c\xc2\x6f\xdf\x4e\xfa\x7d\xcf\x8b\x4e\x4e\x4e\x2f\xcf\xce\xe2\x38\x8e\x77\xee\xe7\xd0\xe0\x7c\xfb\xfb\xe1\xf7\xaf\x51\x14\x9f\x9d\xbd\x7d\x7b\x7f\xff\x90\x9c\xbf\x39\x39\x3d\x7c\x7f\x73\x33\xb9\x38\x4f\x18\x65\xce\xf6\xe6\x56\xff\x78\xe6\x27\xee\x47\x7a\xb2\xfd\xee\xfa\xfa\x36\x9c\x4e\xfb\xad\xfa\xc7\x03\xb1\xe3\xb4\x0f\x6e\x6f\x3b\x9d\xe3\xe3\x0f\xd7\xd7\xd0\x20\x50\x30\x1d\xcf\xe7\xde\x24\x08\xbb\xdd\x93\xb4\xcc\xed\xb4\xaf\x2e\x3b\xbd\x8d\x5e\xea\xbf\xcb\x9d\xde\x43\xaf\xe3\xdd\xf4\x3a\xde\xfb\xde\x99\xd7\xb8\x3a\xfb\xde\xc0\x0d\xf6\xe6\xe8\xe6\xbd\x3b\x69\x7c\xf4\x37\xde\x0f\x92\xcd\x1b\xb7\xf9\xfa\xfd\xb0\xb1\xb1\x31\x6c\x6c\x36\x86\x47\x9b\x1f\xfd\x77\x1f\xb3\xff\xb5\xc5\x8e\x0d\x3d\x76\xba\xdd\xee\x87\xb7\xc0\x1a\x68\x70\xfc\xb1\xe7\x7d\x3d\x7c\xfd\x3a\xe8\x9e\x5f\xbc\x1d\x4d\x0e\x14\x1f\xc5\x9a\xe8\x6d\x74\xae\x1f\xb6\x3a\xce\xfc\x63\xe7\xb6\xff\xb2\x7b\x7b\xe5\x76\xe3\xef\xc3\x6e\xfd\x6a\xfd\xac\x5e\xef\x9d\xff\x5f\x4a\xde\xab\xe5\x79\xb6\x39\x17\xde\xcf\xaf\x78\xf6\x5e\x3e\x9c\x7c\x56\xb7\x1d\x58\x1b\xa7\x7a\xef\x7d\x4f\xc5\x56\xef\x5d\xbf\x7e\x61\xeb\x7e\x42\x42\x02\xeb\xcd\x05\x86\x0b\x79\x38\xe6\x2c\xd3\x8e\x19\x61\xd6\xb1\x4d\xd5\xd9\xdd\x14\x32\x5d\xf8\x07\x08\xed\x61\xed\x9c\x61\x0a\x9d\x6e\x0d\xc1\x6e\x0d\xfb\x61\x8d\xc4\x61\xed\x3d\xd2\x97\x17\x87\x2f\xf4\x9e\xfe\xd7\xcf\x2b\x85\xff\x84\xfe\x0c\x18\x54\x26\x9c\x8d\x25\x14\x8d\x25\x94\x7f\x52\x00\x06\x15\x16\x29\x58\xdc\x08\x04\x10\xfe\xbc\x94\xca\x24\xe1\x51\x68\x02\x56\x5a\xa1\x50\x79\xa1\xd0\xbc\xc3\xb0\x2d\xc2\xa1\x6f\xc2\x47\x3f\x44\x82\x74\x85\xb1\x9f\x13\x31\x7f\x52\x68\x16\x09\x43\x7b\x19\xb6\x30\xb4\x85\x30\xb6\x85\x80\x75\x45\x18\xf6\x45\x38\x0c\x4b\x24\x4e\xc7\xf0\x18\x97\xff\xcd\xa7\x22\xbb\xcb\x6c\xa8\x0e\x18\xbf\x84\x93\x1e\xe2\xef\xe3\x5a\x22\xe3\x1e\x22\x48\x04\xda\xad\x58\xa0\x64\xbf\x23\xdd\x68\x26\x31\x60\xa1\xda\x1f\xc2\x64\x7f\x94\x3f\x67\xa8\xbc\x20\x5b\x79\xb9\xbe\xc9\xb2\x5b\xa6\xfe\x00\xff\xce\x60\x7f\x97\x0e\x9b\x08\x14\xeb\xc1\x24\x67\xca\x54\x8e\x2b\xcc\xb0\x2b\xc0\xb0\x2b\xcc\xae\x6b\xbc\xfe\x5f\x01\xe8\x32\x9b\xff\xf4\x07\xdb\xa6\x0a\x9d\x16\x09\x89\xd4\xf7\xa6\xbf\x47\x5a\x1a\x46\x10\xe6\x24\x25\x25\x3d\x49\xc5\x25\x1c\x50\x34\xdf\x88\xc0\xcb\x35\x23\xca\x77\xb2\x60\xfa\x1d\x9c\x34\x5d\xa9\x42\x6b\x19\x3f\x40\xc3\x4a\x5e\x8b\x28\xe0\xdb\x76\x9e\x18\x2b\x74\xac\x63\x2a\x19\x06\xd5\x2a\x86\x65\x74\x22\x35\x3e\xd3\xd6\x1a\xc8\xbf\xbe\xcd\x00\x96\xf9\x6e\x66\x3f\x68\x9e\xe1\x78\x59\xb3\x92\x26\x33\x15\x6c\xa7\x42\xc4\x39\xe8\xea\xba\x94\x3e\xd4\x2d\xcb\xaa\xe6\x3a\xcf\x4e\xc9\xf2\x1a\xa6\xd1\xcb\x56\xd2\x2d\x2b\x69\xaa\x9a\xcc\xe5\xa2\x47\x2a\xa6\xd1\xc4\xd1\xf8\x39\x39\xff\xb5\x4f\x8a\xe0\x8d\x8a\x74\x48\xe3\xeb\x52\x9c\xa0\x38\x59\xd7\xe7\xa1\x69\x5d\xd1\xa6\x68\x9b\x8a\x95\x25\xe5\xed\x24\x4e\xd5\xe1\x3d\xbe\xdb\x67\x59\x09\x7c\x60\x4b\x8a\x11\xa5\xd9\x0e\xfa\xde\xdc\xed\xb3\x68\x79\x5e\xb0\x15\xe3\xed\x25\xd9\x8b\x24\xbf\xe5\x99\xa0\x7c\xad\x8c\x06\x46\x91\x41\x21\xe3\x5c\x39\x85\xa1\x12\x80\xf1\xa0\x3a\x71\x05\xb2\x76\xa3\xb6\x76\x95\x3d\x77\xb3\x86\x77\x55\x85\x71\x07\x3a\x6d\x03\x76\x5c\xd3\x3d\x76\xd5\x85\x5d\xd3\x45\xf6\x50\x75\xe3\xa0\xb6\x4d\x55\xb5\x3f\xa6\xe3\x9a\x2a\xeb\x9a\xae\x0b\xe1\xe1\x75\xcb\x6e\xec\xce\xe7\x69\xd6\x88\x6b\xba\xa8\x19\xba\x70\x1c\xd6\xc8\x1e\xde\x5c\x3c\x84\xd1\x53\x55\xbd\xef\xb3\xf4\x0b\xe2\xc2\x30\x1e\xbe\xfc\x57\x38\xfb\x61\xf6\x1f\x8a\x6c\xd3\xbc\x14\x9d\xe1\x75\xcb\xf0\x23\x80\x1d\xdf\x74\x1d\xd7\xad\x3d\xd7\x74\x3d\x3f\xac\xbd\x4f\xea\xba\xaf\xf0\x65\xed\x5f\x61\x55\x45\x4c\xd7\x75\xe3\xd0\x45\x3e\xee\xec\x86\xe1\x0b\xf3\x4d\xd7\x77\xd3\x1a\xf9\xa4\xae\x67\x86\x37\xef\xf5\x66\xb1\x4f\xf8\xba\x5c\xcf\xcc\x7f\x2b\x80\x5f\x2e\xfc\x15\x0e\xd2\xb0\x0e\xe2\x14\x46\x8f\xbc\x6f\x9a\x7a\xe8\x86\x62\x68\x8a\x62\x18\x86\x66\x98\x1b\x64\x18\x07\x38\xee\x96\x62\xe8\x86\x51\x9a\x9a\xf7\x30\x0e\xa7\x34\x0d\xb7\x71\x6c\xce\xf1\x72\xbd\xa2\x18\xc6\xa1\x18\xa6\xe2\x18\x86\xe2\x18\xa7\xe1\x7c\x0c\xc5\x39\xce\x43\x31\x2c\x03\x2a\x4d\x23\x15\x8f\xc3\x3a\xce\xcb\x53\xde\x8e\x73\x5c\x5a\x6a\x18\x07\x62\x9c\x96\x4b\x6e\x19\xd0\x71\x6f\xf9\x71\x29\xc9\xe7\x65\x36\x45\x2b\xf7\xc3\x3a\x2c\x43\x43\x2c\xcd\x63\x5c\x5a\x5e\x99\x1b\x28\xe9\x88\x71\x58\x8b\x51\xde\x46\x5a\x9a\x96\xfb\xb8\x14\x37\x28\xb5\x58\xd3\xf5\xfd\xb4\x66\xd1\xd2\x45\xdc\xf0\x85\xc0\x9f\x14\xc7\xe3\x17\xe6\x1d\xb1\xbd\xdc\x7f\x80\xe3\x67\x95\x92\xf7\x42\x40\x6b\x86\x9f\xc8\x33\x59\xe2\x70\xe6\x65\x75\xe1\x1e\xb7\xf9\xf6\x8c\x4f\xe9\x7c\xe5\x9a\x40\xd4\x21\x3e\x20\x71\x34\x0c\x63\xb8\x0c\xc3\x6d\x39\xe2\x62\xa5\x47\x6d\xa6\x1c\xd7\x7d\xf9\xa1\x5b\xa3\x67\x9a\x5e\xbe\x6c\xa6\x0b\x7a\xbe\x35\xef\xf5\x56\xbb\x61\x1c\x96\x62\x94\xd7\xef\xaa\x4a\x3e\xd9\x9b\x67\xb2\x9c\x20\xf1\xd3\x09\x29\xeb\xd5\x6f\x63\x69\xa6\x50\xb8\x3c\xf4\x44\x3c\x91\x35\xde\x5b\xfe\xa1\x2d\x3a\x92\x46\xda\x4a\x83\x96\xff\x01\x96\xdb\xd7\x03\x98\x9f\x07\x30\xcf\x1e\x74\x16\x33\x82\x0e\x60\xc0\x00\x9c\xf0\x4e\x1c\x67\x07\xc3\x6e\x91\x10\xc3\xca\x83\x20\x99\x8e\x62\x04\x79\x02\xe1\xd2\x6e\x1e\x8e\xc3\xf4\x83\x10\xda\x8e\x34\x05\x99\x2b\xe0\x57\xc1\x79\x88\x87\xcd\x54\x7d\x27\x85\xb6\xe5\x64\xef\xbc\x77\x49\x29\x22\x38\x07\xae\xc5\x71\x8a\x62\x27\x58\xa0\xac\x27\x43\x29\xb2\x10\x07\xaa\xfb\x61\x48\x62\xc7\xeb\x36\x33\xd8\xc1\x81\x13\x66\x75\x56\x95\xd8\xc7\x86\x67\x35\xd5\x7c\x15\x4b\x10\x2e\xe1\x04\x55\xd1\x95\x28\xf5\x91\xe1\x58\x50\x37\xbb\xd3\x2e\x1e\x11\x55\x42\x15\x2b\x0c\x91\x61\x39\x50\xd3\xcf\x3f\x45\x5e\xc5\x56\xb3\xa4\xc4\x81\xe3\x21\xd8\x0e\xe7\xfb\x57\x51\xc5\xd4\xb3\x28\x25\xc1\x9f\x34\x8a\x40\xf3\xde\x77\xe5\x5e\x90\xd5\x59\xb5\x62\x2b\x2a\xd6\x57\x5b\xad\x8a\x11\x1e\x16\xce\x57\x51\x13\x68\x96\x55\x0d\x73\x1d\x8a\xd6\x29\x1e\xf6\x4f\x51\xa0\x69\x56\x55\xf5\x73\x2f\x4a\xb6\xc4\x39\x70\xd5\x5f\x95\xc3\x14\xb8\x96\xd7\x6c\x3b\xdc\xef\x56\x4c\x7b\xdf\x6d\x89\x52\x12\x59\x56\xb3\xcd\x7b\xdd\xc7\xb6\xec\xc2\x0c\xdb\xc9\xd7\xb6\x9a\x79\x76\xc3\x31\x1a\x50\xce\x61\xfa\x51\x8c\x9c\xc0\x82\x86\x7d\x36\xc3\x31\x2e\xf9\xe6\xaa\xb1\xab\xbe\x1f\x23\xc3\xf2\xa0\xa6\xdf\xcd\x30\x2e\x0b\x94\x6b\x6a\x75\x54\xa3\xd8\x8b\x1a\x6c\xc7\xf3\x3e\x8e\x6d\xd4\x6b\x5a\x55\x1a\xd3\xd8\x71\xba\xef\x8e\xfa\x32\x8e\x51\xb7\x69\xd7\x55\x90\xae\xf3\xab\x55\xb1\xf8\x01\x46\x05\xca\xc1\x8d\x34\x77\xa1\xed\x59\xc5\xb0\xd7\xa1\x18\xc5\x34\xdf\x20\xf5\xa0\x68\xa1\x6d\x05\x55\xd3\xef\xa1\x68\x95\xd4\x57\xd1\x3c\x2d\x51\xe4\x45\xcd\xb6\xe3\x7d\x6f\x15\x0f\xbf\x41\x5a\x75\x52\x3f\xb1\xe3\x0d\xdb\x75\x29\x7b\xdf\xdb\xd6\xc3\xf7\xbc\x56\xd3\x97\x8f\xeb\x01\x40\x83\x0c\x28\xc0\x10\x80\x18\x46\xb4\x51\x89\x0e\xf8\x05\x52\x86\x13\x9c\x09\x17\x23\x93\x3c\x4e\xba\x1a\x28\x47\x56\x34\xeb\xdd\x27\xd5\x4e\x49\x56\xed\x9e\x0c\x73\x31\x29\x31\xf6\xbf\xa7\xdb\xef\x69\x80\x53\x94\x57\xb3\xd5\x34\xc8\x89\xeb\x45\x47\xd5\x7f\xcf\x46\x36\x00\xe8\xfe\x04\x52\xb2\x42\xc4\xdd\x60\x24\xda\xad\x44\xc0\x18\xdf\x67\x9c\xf0\x35\x4c\x10\x84\xbd\x59\xd0\x57\xe5\x40\x16\x15\xcb\x29\x86\x30\x38\xc1\xd7\x84\x7a\xd3\x2c\xbf\xb7\xcd\xf1\x8a\x66\x14\x5d\x18\x3c\x71\x52\xa2\x1a\xc6\x61\xba\x41\x0a\x1c\xc3\xaa\xaa\xba\x37\xbe\x75\x4a\x97\x7c\x33\x7c\xac\x52\x8e\x47\x1e\x19\x24\x82\x3f\x6c\xd4\x01\xce\x97\x8d\x7e\x75\x29\x41\x90\xa5\xac\x71\x48\x39\xc7\xd8\x4c\xd7\x0e\x01\x63\x78\xd9\x32\xa7\x69\x68\x45\x84\xcf\x9e\x6c\x3f\x8c\xb1\x1d\x18\xa0\x98\xf3\x34\x38\xac\xc3\xe7\x60\xb6\x6f\xc6\xc4\x0a\xbc\x62\xba\x52\x00\xd0\x4e\x00\x0c\x7a\xda\x18\xa1\x53\x39\xa3\x06\x22\xe0\x01\x03\x82\x6e\x37\xcb\xb3\xac\x5b\x86\x93\x15\xed\x9d\x25\x2a\xc8\x76\x3c\x3f\x18\xba\x18\xb9\x56\x50\x34\x23\xcb\xdc\xef\xea\x29\x8a\x63\x4e\xba\xfa\x56\x60\x7f\xd2\xe8\x12\x24\xf9\x97\x20\x4a\x1c\xcd\x30\x82\xd0\x87\xb6\x65\x18\x59\x9e\xb3\xa2\x44\x58\x14\xc3\x30\x42\xdf\xfb\x86\x61\x64\x45\x5e\xb3\xc2\x37\x37\x0d\xbf\xbd\xca\xa4\x19\xf2\x1a\x55\x45\xe4\x37\xc5\x52\x80\xaf\xfe\xac\x50\x00\xbb\x55\x56\x7c\x17\x9a\x9c\x94\x04\x59\x2d\x8a\xd6\x77\x75\x0c\xd3\x8b\x83\x2f\x28\x46\x51\xf5\xbb\x1b\xe0\x24\xc1\x39\x35\x3b\x4e\x82\x68\x7f\x1d\x01\x4e\x73\x52\x8a\x2c\x94\xf3\x2a\x55\x1a\x13\x37\x88\x08\xec\xaa\x0f\xfb\x34\x2c\x46\xda\xf7\x61\x76\x50\xe6\x77\x14\x45\x50\xf7\xf5\x90\xf1\x8c\x2b\x00\xd4\x8d\x25\x37\x6a\x03\xfb\xcc\xaa\x45\x12\x50\x56\x07\x85\x94\x03\x2a\x90\x80\x8c\xa2\x2a\x96\xd3\xbe\xe7\xee\x04\x5d\xb7\xe3\xf8\x7e\xdd\x32\x45\xb5\x6c\xc3\xeb\x9a\x14\x05\xc1\xc5\x02\xbe\x05\xe8\x97\x46\x68\x8a\xf2\x87\x19\xec\x7d\xfe\xa3\x16\xfc\xdf\x6c\x01\xfb\xaf\x74\xe3\x6f\x06\xf1\x03\xbc\x68\x44\x05\x00\xd5\x6f\xdf\xdc\x3d\xb1\x6c\x95\x60\x92\xd9\x31\xdf\xb2\x57\x00\xc3\xb7\xde\x26\x59\x2f\xe8\xb6\x7d\xcf\xb3\x98\xfa\xd3\x6f\x50\x9c\xc0\xba\x9e\xe5\x65\xfc\xe7\xd9\x0f\x50\x49\xa2\xe0\xef\x2f\xfe\x6e\x4e\x28\x49\xf0\xdf\x1a\x16\xff\xcc\xb3\x2b\x38\xb0\xf3\x38\xc6\xbe\xe7\x35\xcb\xfc\xa5\x0e\x11\x81\xc0\x70\xdd\x8f\xa3\x41\x82\x75\xeb\x78\xa0\x3f\x79\x0e\xbe\xee\x93\x3a\xb6\xdf\x19\x32\x00\x03\x80\x2c\xe9\x86\xd7\x34\xcd\x08\xd2\x5c\x08\x7a\x42\xb2\x98\x1f\xe0\xd7\x84\x3a\x47\x95\x34\x2b\xab\x73\x96\x94\x24\xab\x3e\xed\xaa\x97\xfa\xc8\x72\xbc\x6a\x08\x13\x58\xb4\xa4\xc2\xab\xeb\xfa\x9b\x02\x6c\xc7\xab\xba\x9f\x62\xf2\xf0\x6a\xb8\x16\x87\xef\x62\xb4\xac\xa8\x67\xd5\x8c\xae\x68\x43\x20\x30\xc2\xb0\x82\x14\xf9\x9e\xd7\x4d\xf3\x5e\x93\x92\x35\x20\x30\xc2\x49\x8a\x1a\x84\x96\xd3\x0c\xf3\x9e\xe6\xc5\x48\x73\x15\x54\x8b\x93\xfc\xdd\x26\x71\xe4\xb5\x1a\x46\xd1\xf9\xdd\xfa\x34\x4b\xb1\xef\x05\xdd\x71\xb1\x80\xaf\x89\x58\x51\x03\xc3\x8d\x24\xab\x69\x18\x51\x1b\x9d\xc5\x2d\x00\x19\x53\x6c\x49\x10\xb9\xbd\xac\x53\xd0\xfb\x8f\xf1\x52\x0c\x09\x80\x49\x5d\x56\xa0\x18\x46\x96\xe5\xce\xd7\x64\x08\xea\xe7\x14\x57\xdf\xc6\x31\x25\xe5\x1d\x24\xe9\xd5\x4e\x61\x4a\x9a\x6f\x3b\xe1\x12\xce\x45\xb0\xe3\xf9\x0e\x31\x17\xb9\x31\xb4\x25\xf9\xdb\xab\x18\xa7\x1a\x5b\x9e\x37\x7e\x72\x35\x4b\x52\x5f\xaf\xba\xca\x39\x46\x10\xba\xc0\xb4\xac\xa2\x4a\xbf\xc2\xd2\x4f\xb8\xeb\xc5\xe0\x2b\xdc\xd4\x35\x2b\x4a\x52\xe4\x31\x97\x9c\x61\x59\x45\x53\xd7\x3f\xd0\x3f\xbc\x2f\x34\xac\x0b\x54\xbc\x72\x8a\x14\x7d\xbf\x10\x84\x2e\x34\x8d\x9f\x30\x2b\x4a\xdf\x95\x5e\xc2\xa6\x65\x65\x55\xfe\xbb\xac\xe8\x02\x10\xfe\x06\xfd\x29\x72\xbe\x25\x32\x4d\x6e\x14\x00\x94\x7e\xd1\x0a\x51\xd2\x25\xa1\xd9\x20\x2c\x11\x68\x87\x2b\x05\x2b\xa3\x00\x0d\x00\x48\xd2\x7c\x20\x8e\xd6\x3b\x28\x9a\x6d\x05\xcb\xb3\x30\xcb\x48\x72\xb2\x90\x73\xd6\x2a\xca\x9a\x9f\x3c\x57\xe0\x12\x27\x80\x43\x63\xef\x4d\xd3\x76\x9a\xf5\x02\x6c\x39\x49\x71\x9c\x5b\x1a\x40\xdd\xbe\x11\x87\xe3\x56\x5d\x57\x05\xb2\x95\x0c\x07\x9c\x4e\x1b\xf9\x25\x29\x14\x00\x1b\x43\x31\x67\xe6\x00\x92\x25\x4b\xe1\xbb\xaa\x1c\x18\x3d\x90\xa8\x6d\x53\xc1\xee\x03\x83\xc1\x49\xe1\xe2\xcb\x54\xb6\x49\x3b\x66\x9e\x50\x53\xd1\x80\xa4\x98\x03\x1c\x66\xc1\x66\x0a\x93\x6b\x43\x16\x89\x85\x96\x91\x81\xcf\xd1\x02\x89\x01\xa5\x0c\x10\xa8\xd8\xd6\x4e\x99\x00\xeb\xa7\x3b\x2c\x08\x46\x46\x52\x9c\xb0\x1b\x8c\x53\x09\xd4\x15\x1c\x18\x04\xc7\xb0\x0c\xd6\x17\x85\x11\xb5\xca\xab\xe9\xec\xa2\xa1\x18\x00\x80\xcf\x00\xa8\x32\x28\x13\x0a\x29\xd2\x02\x4c\x2b\xb7\x9b\xc1\x88\x8c\x59\xe5\x92\xcd\xe0\x7f\x3a\x4f\x32\x20\x33\xf0\x04\x19\x65\xb0\x3f\xc0\x42\x28\x84\xb0\x23\xca\xed\xa6\xd0\xff\x21\x0b\x8c\xfa\x3f\xb7\x50\x29\xf0\x47\x0b\xb8\xc8\x22\x05\x72\x3d\x44\x52\x1b\x00\x23\xd0\xb6\x3f\xdf\x68\xdc\xd5\x32\x8d\xab\xee\xc7\xca\x9a\xe4\x81\xd1\x66\x76\xa8\xa5\x42\xbc\x6c\x70\x6a\x76\xf5\xc0\xd2\x56\x5e\xe2\xf7\x36\xc5\x51\xd6\x84\x85\xda\x63\x29\x24\xc5\x13\xb3\x5b\xc1\x5d\x40\x7d\xc7\xde\xc4\xac\x7a\x87\x69\x0b\xf3\x01\x76\x76\xe5\x0f\x10\x45\xef\xc3\x8b\x66\xe7\x15\x75\x0a\xf8\x5e\x36\xfb\xa3\xa6\x9c\x59\x9f\xe1\xe7\x7d\x0a\x3e\x2f\xa5\xca\xc0\x04\x38\x93\x4c\xd1\x4c\xe1\x74\x6c\x72\x6e\x03\xa5\x07\xe4\xf1\x72\x47\x80\x06\x83\xd8\x4d\x1e\xea\x21\xf7\xf7\x07\x2e\x2e\xbe\x7c\x5f\xd0\x24\x7b\x86\xdc\x1d\x7f\x94\xce\xad\xd7\x9b\x98\x63\x44\x27\xab\x3e\x6d\x24\xa0\x2f\x3a\xd6\x87\x3d\x4d\xc3\x3e\x8f\x15\xb3\xa1\x12\x7c\x94\xea\xca\x51\xaa\x63\x7f\x16\x42\xb7\x64\x78\x2a\xae\xb0\x16\xf0\xaf\x08\x7f\x25\xb7\x6b\x85\xdc\x7b\x1d\x92\x47\x88\xf8\x6c\x4a\x97\xf2\x7d\xe0\xcf\xd9\xfc\x94\x1e\xe3\xed\xe2\x3d\x2a\xb8\xf7\x59\x76\xf9\xf2\xe2\x27\x2a\x4c\x0d\x52\x8a\x0b\x1e\x72\x67\xe7\x8e\x36\x4f\xbc\xa6\x39\xc4\xbe\xdf\xf6\x2a\x4c\x82\xd6\xbf\x31\x17\x60\x34\x9c\xeb\x7d\xb7\x33\xad\xb3\x59\xee\xb6\x3f\x2c\x75\x30\x30\xf5\xd6\x01\x40\x5a\xfb\xe2\xfa\xdb\xe3\x21\xa6\x78\xdc\x34\x76\xb3\x88\x51\xe5\x3f\x70\xe8\xc5\xf3\x50\xc5\x05\xd2\x0a\x4c\xbd\xdf\x3e\x9a\x05\xf4\xc3\xd2\x41\x82\x5c\x66\x53\xb5\x6f\x7a\x23\x11\x7e\x03\x40\xac\x0d\x3a\x90\x70\xfc\x49\xa8\x8f\x17\x27\x52\xe5\x8e\xdd\x7a\x22\xa2\x9d\x14\x79\xf8\xd6\x6a\x1e\xbe\x2c\x56\x02\x85\x07\x21\x5c\xca\x2b\x5e\xf7\x5a\x1e\xda\x27\x34\xdd\xe8\xa6\x65\xe1\xf4\xaa\xbe\xfa\x79\x6c\x15\xc2\xa1\x33\xc1\x83\x61\x3f\x7f\x26\xbc\x9d\x42\x77\xab\x89\x33\x0d\xa4\x7b\x72\x78\x9b\xf2\x65\x9c\x63\x88\x7e\x54\xeb\x13\xc6\xa7\x54\x04\xa3\x84\xdd\x66\x7d\x98\x5b\xc5\x95\xb5\xb7\xa7\x71\x48\xe5\xae\x4e\x70\x6d\xb9\x47\x74\xf1\x9e\x57\x54\x8d\x47\xac\xa9\x61\xb6\xcc\x05\x7a\x98\x08\x0e\xba\x06\x0a\x9c\x77\xb9\x85\x95\x3c\x5b\xb7\x87\x77\x47\x6c\x5c\x7c\x54\xdc\x64\xe5\xbe\x67\x3f\x55\x08\x77\x6f\x28\x75\xe7\xf4\x41\x84\x8d\xd4\x2b\x26\x4e\xbf\x02\x2c\x73\xf2\x83\x2f\x58\xa4\x2e\x14\xad\x47\x3b\xf3\x43\x78\x8b\xeb\xfd\x83\x6b\xf3\x49\xee\xbd\x7d\x86\xa1\x71\xa3\x02\x26\xe7\xfd\xcf\xc0\x61\x11\x20\x8d\xba\x78\x20\x9c\x98\xab\x58\x27\xae\xb7\xdc\x4f\x40\x0f\xc4\x2f\x77\xf0\x7e\x80\x4f\x0e\x19\x23\xe0\x63\xaa\x93\x00\xb2\x75\xe7\xc7\x83\x3a\x43\x40\xde\xe4\x89\x4f\xdc\xf7\xcd\xc0\xf2\x9b\x41\xc2\x5b\x7e\x0f\x47\xd1\xd6\x77\x8b\x4c\x85\x67\x93\xd9\x6f\x90\xda\x93\xa1\x75\xac\xc3\xb4\xd9\x8b\xe4\x13\x57\xcf\xf7\x1f\xa0\x65\x9a\x41\x25\x79\xa1\xe8\x6b\x6c\xa0\x13\x2e\x06\x98\xb1\xe8\xc5\x8e\x29\xfd\x0c\x20\x9b\x68\x86\xbc\xc5\xec\x8d\x48\x37\x4f\x16\x02\x44\xc6\xf8\x53\x86\x47\x58\x38\x01\x59\x98\x47\x85\x7c\xdc\x3e\xf9\xc3\x91\xe4\x35\xf0\x2e\x46\x9f\xce\x13\xbd\xb1\x1f\xb8\x39\x83\xd3\x82\xd9\x27\xa2\xc2\x39\xa2\x1d\x33\xf2\x7e\x10\x24\x6c\xa4\x16\x64\x81\xc9\x28\x32\x59\x57\xb4\x4c\xb4\x5e\xa2\x49\x3d\x72\xd6\x07\x44\xe5\x4c\x32\xab\x4a\x34\x9e\x00\x3c\xb1\xcd\x35\xb3\xae\x1e\xac\x9e\xa0\x6c\xfd\x7a\xed\x1e\x6a\xd8\xc5\x5d\xe1\xcd\x27\xcd\x34\x84\xd7\xae\x91\x6b\x00\x7b\x33\x07\x53\x2a\x8f\xcd\x78\x91\xe3\x98\x2f\x99\x89\x00\xc9\x9e\x74\xe3\x6d\x24\xd5\x08\xb4\x8c\xd6\xf2\xd8\x66\xac\x63\xf4\x0d\x1c\xa2\x7e\x80\x95\xda\xfb\xe9\xec\x95\xde\xc3\x43\xee\xa8\x53\xbe\x7d\xd4\x79\xe1\x99\x90\x46\xf5\xc7\x04\x1d\x68\x06\x87\x29\xb6\x1e\x47\x73\x2a\x4d\xa8\xad\xce\xb0\xc7\x27\x89\x3f\x67\xdd\x18\x0a\xc8\x22\xb2\xca\x1f\xc9\xed\x93\xd0\x19\x7b\xbb\xec\xf0\xb3\xd1\xfe\xe7\x7c\x67\xb2\x9e\xc8\x81\x38\x01\x20\x1a\x60\xb4\xfd\xb2\xcd\xef\x8b\xcf\x1d\xe8\x0a\xf3\x15\xda\xbb\xc4\x1d\x9d\xf1\x71\xf1\x9e\xf0\x87\xe8\xc7\x4f\xac\x20\x06\xea\xa9\xee\xf1\x7a\x92\x9b\x33\xc7\xd4\x96\xb3\xf9\x55\x1f\x7a\x8b\xfe\x5e\x09\xed\x7d\xc7\xc2\x88\x35\x9c\x24\x93\x46\x77\xc2\xd2\xf7\xe7\xcc\x61\x1b\xd0\x00\xa6\x99\x1c\x8f\x51\xb7\xa6\x23\x86\xda\xf0\xf8\x16\xeb\x9f\x4a\xea\x26\x74\x16\xc0\xf2\x46\x57\x31\xd4\x8a\x1c\xcd\x22\xb4\x26\xae\x68\x83\xea\xd6\x47\xa8\x46\x79\x85\x74\x60\x3d\x09\x5d\x4f\xe5\x47\xf6\xec\x12\x44\x9a\xdf\x2a\x2b\x49\xa7\x64\xbe\x73\x6d\x45\x32\xb1\x63\x65\x52\xf7\x9b\xc8\x5f\x75\xd2\x10\xe4\x4c\xec\x5a\x28\x8e\x3d\x72\x3a\xc7\x20\x0c\x82\x8d\x79\x5c\xf4\xb6\x46\xca\xdb\x6a\xa7\xce\xc3\xed\x2b\x04\x96\x0b\x07\x32\xa2\x52\xaf\x8e\x0d\x00\x7e\x88\x1d\x0a\xba\x07\x53\xa0\xa5\x31\xf6\x26\x48\xad\x7f\x30\x50\x42\x15\x10\x06\xba\xbb\x9d\xd1\xcf\xd0\x05\x4a\x91\x12\xf9\x1d\x3c\x85\x37\xf9\x03\x54\xab\x9e\xb8\xef\x13\x00\x54\xc8\xc8\x4c\x20\x54\xb7\x63\x15\x08\xe3\x84\x55\x95\xa8\x85\xcf\x4c\xde\x09\x41\xf1\x4a\x4f\x54\xb5\x41\xb7\x95\x77\x0a\x9a\x23\x2a\x09\x66\x82\x0c\xb2\xaa\xc5\xbe\xb0\x3c\x8f\x6f\x0d\x84\xea\x82\x6b\xfc\xc1\x79\xa0\x99\x6f\x50\x26\x1b\x24\x2b\x51\x64\xdb\x23\x86\xe3\x18\xe1\x1d\x9e\xf3\x39\xa4\x49\xd1\xe9\x59\x2f\x78\x22\x27\x8a\x75\x49\x37\x92\x04\xd2\xf9\x8f\x81\xc4\x0f\xa8\xd3\xc1\x7a\xff\x74\x3b\x8f\xe0\x9b\xdb\x64\x02\xff\xb9\xc2\xd7\xce\x6a\xe3\xb3\x7e\x87\x09\x39\xc0\xd2\x8e\x86\x2b\x35\xbc\xc8\x2c\x22\xd0\x17\xd8\x17\x7e\xd1\x55\xf9\xfe\x80\x03\x8a\xc5\x98\x63\x13\xfb\x81\x67\x81\x4f\xf8\x2c\x34\x95\x6e\xbc\x00\xb5\x5d\xd7\x54\x4e\xc6\xe5\x13\x6c\x9a\x72\x35\x31\x0a\x3a\x22\x0a\x80\x11\x4f\x10\x00\x40\x12\x8d\x4a\x2a\x7e\x92\xd9\xf4\x93\xb7\xcc\x41\xc4\xd6\xed\x49\x95\xa0\xa6\x18\x1d\x50\xc0\xaa\xfd\x3b\xd0\x37\x5d\x13\xa5\xfa\xb5\x7f\xd3\xa8\xde\xb4\xef\x15\x79\x7b\x3d\x8a\xfa\xd9\x95\xe8\x37\x94\x5e\x3f\x27\xd1\x1c\x5c\x85\x76\x87\xfe\x0c\x6c\x69\xa2\xb4\xf5\x04\x19\x90\x8d\x02\xea\xe0\x84\x50\xcf\x09\xd1\x10\x3d\x43\x72\x0c\x50\x82\x08\x32\xc0\xe9\x50\xa4\xb6\xf8\x0e\x91\x74\xe6\x7e\xf8\xc7\x82\xd8\xf3\xf1\xb9\x12\x7d\x62\x0a\x4b\x00\x0e\x23\x27\xd9\x7b\xbd\x5a\x26\x98\xe7\x0c\x10\xb6\x1e\x7b\x21\x78\x65\x91\x33\x86\x1e\x70\x18\x00\x6e\xf4\x8e\x3d\x0c\xf4\x3e\x3e\x1f\xfc\xee\x38\x43\xd8\x90\x10\xd9\x38\x8b\x52\x77\x25\x5b\xf2\x33\x9c\xd1\xd7\x70\xa1\x6d\xd7\xc5\x7f\x2a\x42\x33\x95\xd6\x80\x7b\xd5\x69\x9d\x9c\x45\x20\x1a\x23\xd4\xda\xf2\xf1\xbc\xf7\xb9\x7b\xfd\x4a\xb0\x64\x46\x67\xa2\x5b\xcf\x1f\x9f\x0d\x66\x15\x80\x76\x70\xa0\xdd\xe8\x68\x28\x90\x0b\xbf\xc3\x13\x16\x37\x2e\xf2\x88\x51\x6d\x00\xcf\xa4\x0c\xaa\x90\xd2\x00\x09\xf2\xb8\xba\x03\xe5\x76\x07\x9b\x45\x51\x69\xed\x01\x00\x94\x84\x2d\xad\x47\xb7\xc5\x4f\xce\xa5\xcf\xf5\x4d\x17\xe1\x7a\xb6\xf1\x8c\xcc\x2c\x16\xcb\x78\x97\xaa\x70\x20\xd5\xcf\xa7\x7d\x51\x33\x06\x90\x54\xb8\x2e\x9f\xe1\x15\x50\x36\x39\x2b\x9b\x0b\x0c\x87\x01\x1b\x37\xab\xf5\x7c\x5a\x11\xbf\x02\x3a\xa0\x50\x7b\x97\xdd\x72\x28\x4c\x70\xd3\x42\xa0\xe4\x67\x32\x30\x99\x99\x00\x6d\xeb\xa8\x6c\x4d\xed\x7d\xb2\x79\xf9\x22\x8f\x0c\x4b\xdc\x3a\x2d\x46\x6e\x3a\x10\x9e\x49\xa1\x1b\x89\x9f\x3d\x7a\x2d\xb8\xc9\xe5\x6e\x58\x2b\xf2\x29\x1b\x76\x29\x51\x2c\xe3\xb6\x13\x85\xa1\x7b\xcc\x49\xc4\x89\xee\x99\xfd\x7c\x3e\xde\x5d\xe3\x39\x32\x13\xd1\x29\x84\x6d\xfc\xfb\x9a\xeb\x05\x7b\x5a\x26\x99\x8b\x58\xfb\x6a\x6d\x2d\xe4\x76\xa1\x2f\x9a\x43\x65\x52\x38\xb0\x8c\x7b\xb3\xb8\x1d\x70\x26\xff\x01\x32\x60\x28\xa4\x1a\xb9\x1b\x00\x35\x20\xcd\xdd\xbe\xc3\x7a\xf3\x19\xe4\xc1\x32\x55\x3a\xce\xfd\x18\xba\x7c\x39\x7e\x8f\x3d\x89\xc6\x2f\xac\xec\x17\x8f\x09\x4b\x92\xa2\x11\x2d\x49\x7d\xb6\xa7\x24\x26\xa3\xe8\x4f\xc2\xea\xca\xf6\x04\x00\xd0\xce\x66\x63\x75\xeb\x34\x38\x54\x37\xdb\xd8\x2b\x4a\xae\x1b\x82\x54\x12\x0b\xc4\x3c\x3f\x23\xb2\x5e\x4c\x8a\x6c\x33\x45\x4d\x85\x7a\x0c\xa7\x22\x2b\xa3\xbc\x2e\x97\x94\x00\xac\x9b\xdd\xe6\xd3\xdf\x9c\xd6\x97\x51\x5b\x94\xfb\xa8\x8c\x3c\x09\x60\xee\x6f\xd0\x5e\xb0\x9f\x41\xcc\x24\x10\x42\x4f\x7f\x9c\x2d\x34\xdd\x67\x43\x0d\x92\xab\x9c\xd3\xd7\x80\xe1\x9e\x54\xbd\x8e\x86\x29\x66\xe4\xbb\xcf\xb7\x56\xf5\xc4\x72\xe6\x86\xa6\x27\x5c\x46\xb7\x56\xf2\xfd\x60\xc8\xc2\x41\x87\x4c\x8c\x0d\xb0\xd1\x98\xfc\x7e\xca\x40\xa1\x95\x9c\x8f\x55\x00\x40\x9d\x49\xb7\x99\x9d\xf0\x2b\x1e\xde\x82\x43\x4c\x5e\x07\xd5\x8a\x11\x3a\xee\xb2\xbe\xd4\x5c\xbb\x6f\x93\xef\xbe\xd8\xa9\x42\x2a\x4c\x2f\x26\x0a\xf0\xd4\x93\xad\xb6\x98\x63\x5e\x99\xf8\xeb\x92\xb4\x47\x35\x95\x10\x95\xb2\x4a\x28\xcb\x59\x77\x3e\x95\x1b\xfb\x67\xbe\x5c\x6c\x01\x99\x09\xfb\xed\xe4\x0b\x8a\x04\x12\xa8\x49\x49\xed\x59\x78\xd2\x5e\x62\xef\x26\x07\x53\xbc\xa2\x11\xc6\x83\x9a\xcf\xc6\x65\xc6\x3f\xba\xd8\x56\xa9\x48\xac\xcc\x16\xea\x07\xe0\x0d\x52\x60\x68\x67\xac\x95\x84\x04\xe0\x6a\x48\x22\x12\xb0\x20\x63\xb8\x89\x9b\x39\x31\x18\x10\xc3\x59\x69\x01\x4d\x70\xad\x16\x6c\x41\xad\x09\xe1\x3a\x9f\x8e\x9a\x96\xe3\x9b\x7c\x7c\x0a\xa5\xf2\x04\x88\x6a\x48\x92\x00\x02\x90\x12\xf4\x09\x5e\xdd\xc4\xb0\xb5\x6d\x71\x0c\x75\x05\xd8\x5b\x12\xbf\x4d\x9a\x82\x22\xb3\x97\xf9\x41\xd5\xfb\x3a\x91\xee\x0f\x42\xde\x5b\x64\xec\x9b\xe1\xf0\xa7\x40\xf4\xcc\xe2\xce\x1a\xbf\xd1\xb0\x51\xbd\x14\x0a\x68\x45\x3c\x1a\xa4\x01\x68\x8a\x9e\x86\xbe\xeb\xf4\x65\x4e\x6f\xd0\xc5\xe8\xa9\xf7\x2b\x23\x0a\x26\x2d\x02\x3f\x73\x1b\x03\x08\xd8\x0d\xdb\xa6\x8a\x21\x99\x82\xac\x3b\xd5\x20\xa4\x02\xba\x4b\xb6\x01\x19\xa5\xf7\x29\xf7\xb3\xb8\x81\xf7\xe2\x4b\x9d\x52\x32\xee\xc7\xd0\xc2\x73\x84\x8e\x17\x06\x0f\x72\xa6\x20\x7f\x5c\x6f\x5f\xe3\x50\x1b\x92\x3d\x24\x44\xa2\x1a\xeb\xb1\xc4\x0e\xa4\x7c\x81\x34\x93\xe8\x9d\xe0\x5a\x71\x72\xe5\x3c\x4e\x30\x64\x19\xf0\x27\x76\xeb\x16\x2b\x55\xc9\xbe\xa3\x0a\xca\xe5\xc7\xf3\xe6\x9d\x0e\xb8\xd3\xf4\x4c\x3f\x81\xfd\x67\x7a\x8b\xe6\x50\xad\x50\x00\x9c\x09\xbb\xde\xac\xdb\xc7\xb2\xd4\xea\x1d\x78\xb5\xdd\xc7\x28\xd6\x7c\x10\xf3\xd3\x0c\x83\xf8\x56\xde\x55\x9d\xf3\xe0\xb3\x3c\xdc\x0e\x30\x80\xca\x00\xe8\x25\xb3\x9a\xe5\x9b\x54\x19\xb4\xa7\x6c\xc1\x55\x39\x38\xbf\xf7\x3d\x28\x69\xea\x9f\xd0\x9e\xf7\x2f\xd8\x29\x07\x83\xdc\xd0\x1d\xc3\x93\xf7\x3c\x54\xa5\xc1\x1c\x0b\xca\xbd\x48\x42\xbd\x99\x04\x0e\x39\xc3\x53\x73\x8b\xec\xb1\x69\x0d\xe1\x2d\x2d\xf4\x8e\xb0\x5a\xa2\xf5\x2e\x8a\xc5\xe9\x07\x48\x44\xf2\x90\xc5\xb9\x7e\xf6\x2b\x26\x99\x58\xa1\xd1\x45\xbd\x3d\x9f\x61\x1f\x3c\x06\x58\xd0\x94\x24\x06\x16\xd0\x80\x3b\x37\x09\xd5\x76\x71\x32\x56\x1c\x26\x71\xd6\xe3\x1e\xb6\x53\xe5\x7a\xa6\xca\xbe\x44\xc8\x74\x78\x49\x6b\xaf\x5b\x3e\x8e\x97\x07\x9e\xf4\x4a\xc8\x5f\x32\x66\x2a\x94\xe1\x00\x8c\x1b\x8b\xf9\xe3\x2a\x48\x9d\x84\x1f\x1e\x35\x50\xfb\xbe\x86\xd8\x43\x44\x02\x3e\x4f\x1a\x32\x3a\xcb\x4f\x7a\x2c\x2e\x82\x67\x32\x38\xc7\x04\x4a\x2e\x36\x75\xcd\x97\xa9\x9c\xd0\xd3\xef\x03\xee\xf0\x4a\xd6\xc3\x0e\x2b\x29\x23\x2f\x42\x1a\x2e\xe9\x3e\xfc\xee\xed\xef\x4d\x02\x72\x56\x7b\x64\x2f\x3b\xeb\xb6\x55\x37\x47\xcb\xf1\xb7\xca\x1d\x8e\x36\xc1\x77\x86\xbd\xf5\xe1\x78\x5b\x52\x5c\x3b\x2f\x7a\xcb\x6d\x41\x0a\x00\x99\x21\x3d\x8e\xc8\x85\x95\x81\xe0\x1e\xba\xb5\xd6\x14\x35\x93\xf1\x2d\xc1\xa1\x5a\xb2\x05\xe5\x29\x3c\x56\xad\x84\x67\x62\x9f\x76\xcc\x42\x6b\x32\x78\x11\x8c\x63\x90\x2c\x01\x04\x12\x34\x7a\xc0\x63\x7a\x77\x45\x9b\x80\xea\x44\x00\x68\xef\x7d\xd3\x42\x31\x2c\x1e\xf7\xfd\x41\xdc\x0f\xfe\x21\x9f\x9f\x97\x82\xfb\xa7\x29\xb5\xac\xde\xac\x6f\x65\x2a\x6a\x83\xdf\xdc\x3f\xef\x3e\xa0\xb2\x41\x3f\x75\xea\xcb\x29\xe9\x2c\x82\x8c\xa5\x24\xe5\x3f\x69\xf4\x7c\x8b\x58\x44\x84\x77\xc6\x74\x49\xe0\xd4\x80\xa1\x87\xb5\x53\x1e\xa4\x41\x82\x05\x64\xcb\xc9\x0e\x82\x3c\x37\x25\x8f\x4a\x29\xb6\x7d\xa4\x2e\x6e\xb5\x1c\xa0\xe7\x13\x1f\xbc\xce\xd4\x9b\x57\xbe\x75\x1a\xdf\xd1\x00\xd4\x97\xd9\xc4\x1b\x0d\x00\x4e\xb0\x3c\x58\xfc\x4f\xcd\x77\xe8\xe7\x8d\xcc\x33\xf7\xf2\x1d\xfa\x0d\x5e\x41\x13\x50\xa4\x01\x75\xfa\x78\x87\x0d\xea\x29\xac\x0b\xf5\x3d\xef\x3e\x76\x80\x41\x49\x08\xa2\x34\x0c\xaa\x3d\x9e\x2e\x88\x79\xc3\xbe\x26\x3e\xba\xa0\xab\x9d\xfd\x3a\xd5\x04\xad\x11\xed\xfd\xb0\x81\x2b\x03\x95\x5c\x3e\xf6\x53\xf9\xbd\xdd\xc1\x9d\x36\xa6\x5b\xcf\xef\xff\x1d\x23\x73\x7c\x8c\x2c\x11\xb5\x6d\xcc\x0a\x33\x5e\xce\x8e\x85\x53\xc5\x20\x02\x21\xf2\xb8\x7f\xae\x21\x57\xd8\xda\xa1\x1f\x7b\x27\x4a\x6e\x5e\x5f\x3a\x91\x12\x4a\x66\xf9\x48\x43\x48\xbc\xdf\x33\xe7\x6d\xa7\xbd\xcb\x6c\x00\x84\x1a\x3b\xa9\xbb\x04\x4a\xc3\xca\xc0\x0d\x90\x7a\x17\x3c\xc5\x12\x3f\x90\xad\x7c\x3f\xe1\x72\xf2\x93\xfb\xd5\x59\xb2\x35\xc3\xb3\xe9\x20\x24\x1b\x50\xa9\x74\x31\xb8\xdb\x02\x10\x55\x7c\x7d\x57\xc4\x90\x12\x98\x5f\xee\x38\x7d\xa6\x3b\xa2\xc2\x2f\x45\x7b\xc1\xd6\x6b\x4c\x9f\x0c\x6f\x87\x7c\x7b\x52\xb8\x12\x34\x1f\x83\x01\xd4\x71\x67\xc9\xe4\x4f\xcb\x14\xd0\x00\x4f\xb0\xac\xc0\xce\xa7\x09\xd4\xe9\xde\x10\xac\xea\xbb\xdd\x8b\x76\x31\x42\xe4\x60\x92\xa4\x97\x6a\xa8\xb7\xbb\x1b\xe1\xdc\xc3\x88\x17\xce\xb5\x84\x1b\x12\x85\x51\x27\xfb\xe2\x98\xba\x25\x72\xd6\xd4\x2b\xc4\x0d\xe6\xcf\xa0\x90\x3d\xef\xb8\x71\x66\x6e\x78\x99\xfb\xbd\xf3\x93\xfd\xa0\x08\xef\x63\x2f\x37\xe8\xe5\xbe\xef\xc9\x83\x20\x44\xcc\xb5\x01\xe7\xb0\x0d\xc0\xe1\x9b\x0b\x54\xa9\xb8\x1b\x7a\xa7\x6f\x41\x16\x80\x0a\x3c\x60\x5c\xe3\x31\x0b\xba\xa6\x15\xb8\x44\xf3\x6b\xf9\x7a\x29\xca\xf0\xb4\x75\x36\x41\xc7\x4e\x0a\x5b\x4e\xeb\x6c\x38\x6e\x84\xdc\xcd\x92\x87\x0f\x94\xeb\x65\x31\x05\x78\xb0\x1b\x1b\x1b\x9a\x45\xfd\xa9\xf5\x62\x7a\x93\x52\xe4\x93\x60\x85\xa5\x11\xc8\xe7\x9a\xf8\xac\xaf\x5b\xd3\xad\x4b\x01\x6f\x8e\xaa\x83\x12\xc2\x5f\x2a\xaa\xb9\xfb\x59\x61\x99\xfb\x40\xf5\x86\x79\xb2\x02\x40\x58\xbc\x31\x07\xf4\xc1\xac\xc9\x83\x58\x65\xff\xc3\x62\x23\x8d\x3b\xa2\x08\x36\x8c\xc8\x3d\x42\x0e\xa9\x18\x9f\xae\x51\xa6\x9c\xee\xb7\xea\xfc\xc6\x43\xf2\x96\x7f\x8e\x17\x7e\x7b\x11\x78\x48\xc9\xfa\x83\x44\xef\x6e\x6d\xf3\xd4\x4a\x33\xd2\x6c\xe4\x76\x83\x49\x05\x95\x01\x06\xc4\xe3\x27\xf6\x6c\x7d\x9a\xbe\x8b\xf6\xfb\xf7\x1b\x9e\xdd\xb1\x3b\x83\x2b\x38\xb4\x18\xbc\xd1\x70\xf4\x0e\xe6\x4a\xfa\x4c\x9b\x8a\xdf\x2d\x5f\xd7\x20\x91\x6e\x73\xed\x8e\xd5\x91\xd3\x8d\xf3\x7a\x9f\x30\x18\xf9\x1c\xf1\xfb\xde\x6a\x6a\xda\x26\x1d\xc5\xb7\xa4\x5b\x17\x0b\x44\x19\x1c\xe9\xd5\x7a\x70\xc7\xa5\xed\x0a\x0e\x0d\x22\xdf\xab\x71\xd1\x15\xc2\x78\x74\x27\x36\xaf\xb4\x71\xdc\xe2\x10\xe5\x4f\xad\xb8\x65\x2a\x0f\x30\x3a\x64\x32\xf0\x7f\x7e\xc2\xff\xf8\x97\xff\xef\xef\xdf\x85\xfb\x1f\xde\xfc\x4b\xba\x36\x89\xe6\x7b\x1a\xcd\xef\x7f\xfc\xeb\x5f\xff\x98\xdf\xfb\x7c\xef\xeb\xa8\x68\xff\xf1\xaf\xff\xf2\x0f\xef\x9d\xfe\xeb\x5f\x30\xfa\x17\xe8\xc7\xbf\x10\x08\x26\xfe\x82\x1e\xff\x0e\xe1\xff\x0e\x3f\xfe\xba\x41\x10\x04\xfd\x33\xf0\xbf\x5f\x24\xa8\xbb\xec\xbe\xbe\xc7\xa9\xe8\xda\xff\xae\x04\xfe\xff\x71\xe2\x7f\x85\xf4\x3f\xaf\x15\x81\x60\xfc\xdf\x20\xe2\xdf\xe0\x7f\x06\x2c\x2b\xe6\x3b\xcf\x00\xfa\xbf\xc3\xbc\xd2\x04\x86\xe1\x18\x7f\x26\x8f\x37\x1e\x7d\x9e\x44\x02\xc7\x68\x04\x25\x31\x1a\x43\x58\x84\x20\xd1\x33\x4d\x3e\xf8\x13\xfb\x4f\x4a\xfe\xe5\xff\x06\x00\x00\xff\xff\xc8\xb9\x7a\xaf\xfb\xf8\x07\x00") +var _staticJsHtermJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\xfd\x7b\xdb\x36\x92\x38\xfe\x7b\xfe\x0a\xd4\xdb\xab\xa4\x44\x96\x25\xf9\xdd\xa9\xdb\x53\xe3\xb8\x97\x7b\xd2\xb4\xdf\x24\xdd\xbd\x7b\x1c\x6f\x0e\x22\x21\x89\x35\x45\x6a\x01\xca\xb6\xda\x7a\xff\xf6\xef\x33\x33\x78\x27\x25\xb9\xed\xee\xdd\xee\x7e\x1a\xd7\xaa\x4c\x0e\xc1\xc1\x60\xde\x31\x00\xf6\xf6\xd8\xfb\x59\xa6\xd8\x24\xcb\x05\xbb\xe3\x8a\x4d\x45\x21\x24\xaf\x44\xca\xc6\x2b\x96\x67\xe3\xb4\xac\xf6\xc6\x59\xb1\x97\x94\x45\xc2\xab\x9e\x9a\xf5\x9e\xec\xed\xb1\x57\x15\x9b\x71\xc5\xc6\x42\x14\x6c\xce\xe5\x8d\x48\x99\x14\x3c\xdd\x2d\x8b\x7c\xc5\x26\xa5\x64\xab\x72\x29\x99\xe2\x13\x51\xad\x7a\x8c\xbd\xe5\xd5\x4c\x48\x78\xb0\x9a\xf1\x82\x89\x34\xab\x58\x56\xb1\x34\x93\x22\xa9\xf2\x55\x97\x2d\x72\xc1\x95\x60\xf3\x32\xcd\x26\x2b\x56\x16\x82\x95\x13\x56\xcd\x84\x12\x4c\x95\x4b\x99\x08\x78\x16\x70\x54\xbd\x1e\x20\x00\x7f\x6a\xe4\x7e\x50\x7b\x79\x36\xee\xfd\xa0\x6a\xd7\x3e\x26\x65\x5e\x4a\xd5\x78\x6b\xd2\x78\x75\x2e\x94\xe2\x53\xf1\x71\xce\x0b\x3e\x15\xb2\x11\x66\x21\xc5\x44\x48\x51\x24\x9b\xc1\xa4\x20\xc4\x1b\x6f\xaa\xaa\x94\x7c\xba\xf1\xde\xc7\x64\x26\xcb\xf9\x66\x90\xbc\x4c\x78\xbe\x11\x62\x2e\xe6\xa5\x5c\x35\x82\x54\x42\x55\x1b\x7b\xb0\xac\x26\x27\x8d\x37\xee\x12\x7d\x79\x56\x09\x39\x87\xab\xf8\xa5\xf1\xe2\xc7\x89\xe4\xb6\x17\xd1\xad\x1b\xb1\x1a\x97\x5c\xa6\x9b\xef\x7e\x1c\x67\x45\x9a\x15\x53\xb5\x05\xec\x46\xac\xe6\x7c\xb1\x1d\x68\xc1\xab\x4a\xc8\xa2\x19\xb0\x5c\x54\x59\x59\xac\x79\xd5\x82\x4b\x65\x69\xd5\x78\xef\x63\x96\x8a\xa2\xca\x26\x99\x90\xeb\xda\x58\xc7\x3d\x31\xdc\x72\xac\x96\xe3\xe6\x7b\x2a\x91\x42\xac\xe9\x80\x4a\x64\x99\xe7\x8b\x52\x56\xcd\xf7\xe1\x23\x2b\x2c\xd7\xac\xb9\xfb\x31\x2b\xd7\x01\xdc\x57\x1f\x79\x55\xc9\x6c\xbc\xac\xc4\x9a\x3e\xde\xae\x79\xf7\x6d\xf5\x31\x99\x71\xc9\x93\x4a\xc8\x8f\x76\xac\x9e\x00\xe4\xbb\x6f\xbf\x7f\xfb\xe2\x25\xbb\x7c\xf5\xfa\xe5\x59\xa3\x60\xbf\x28\x17\x2b\x99\x4d\x67\x15\x6b\x27\x1d\x36\xec\x0f\x86\xec\xfd\x4c\xb0\x17\x20\x24\xd9\x72\xce\xbe\x7d\xc7\x46\xcb\x6a\x06\xe2\xce\x46\x79\xce\x10\x56\x31\x29\x94\x90\xb7\x22\x45\xa5\xf5\xbd\xd2\x6a\x25\x53\x5a\xab\xb0\xa4\x4c\x05\xcb\x14\x9b\x96\xb7\x42\x16\xa4\xf4\x38\xfb\xea\xdd\xc5\xae\xaa\x56\xb9\x60\x79\x96\x88\x42\x09\x50\x5b\x15\x4b\x78\xc1\xc6\xa4\x89\xca\x65\x91\xb2\xac\x00\x15\xc5\x5e\xbf\x7a\xf1\xf2\xcd\xbb\x97\xa8\x9e\x7a\x4f\x9e\xb4\x96\xa0\xb4\x2a\x99\x25\x55\xeb\xf9\x93\x27\xd9\x84\xb5\xab\xd5\x42\x94\x13\xe8\x17\xfb\xe4\x9c\xb5\x96\x45\x2a\x26\x59\x21\xd2\x56\xe7\x09\x63\xd5\x4c\x96\x77\xac\x10\x77\xec\xa5\x94\xa5\x6c\xb7\xbe\xce\xcb\x31\xcf\xd9\x4e\x9e\x8d\x77\x58\x39\xfe\x41\x24\x15\xe3\x39\xa8\xd7\x15\x13\xf7\x99\xaa\x54\xaf\xd5\x79\xfe\xe4\xc9\x2d\x97\xd8\xe4\x39\xfb\xe9\xe1\xf9\x93\x27\x7b\x4f\x9f\x3e\x61\x4f\xd9\x37\x7c\x01\x9d\xdc\x49\xc5\x42\x14\xa9\x28\x92\xd5\x0e\xab\x4a\x76\xb5\x43\x3d\xde\xe9\xb2\x5e\xaf\x77\xdd\x7b\xc2\x10\xfa\x25\x4f\x66\xcc\x81\x02\x29\xb8\x79\x67\xc1\xe7\xa2\xcb\xf2\xec\x46\x20\x2e\xbd\x89\xda\xe9\x32\xd3\x0c\x40\x42\xe7\x97\x32\x47\xe2\x40\x63\xa9\x58\xa4\xa2\x48\x15\x2b\x89\x30\xd4\x0e\xbc\x6a\xef\x09\x34\x20\x97\x45\x95\xcd\xc5\x85\x79\x5d\x26\xd4\xc7\x08\xfb\xd7\x99\xaa\x00\xfd\xc9\xb2\x48\x50\x12\x89\xf2\x85\x10\x29\xf4\x62\x2c\x58\x56\xdc\x96\x60\x6e\xd2\xa5\xcc\x8a\x29\x10\x40\x72\xb9\x62\x59\x91\x55\x19\xcf\xb3\x1f\x39\x3c\x16\x74\x4f\xe4\x62\x2e\x8a\xca\x0c\x17\x40\xbe\xe0\x79\x3e\xe6\xc9\x8d\xfa\xc8\xb8\x94\x1c\xfb\x9d\x55\x4a\xe4\x13\xc6\x59\x75\x57\xee\x9a\x67\xf0\x6e\x0f\x9b\xd2\x57\xfa\x44\x23\x35\x2b\x65\x85\xc3\x5c\x4c\x59\x2a\x54\x22\xb3\x31\x7c\xc5\x7e\xdf\x15\x42\x6a\x03\x86\xaf\x63\xb2\x5c\x56\x59\x21\xba\x6c\xa9\xc4\x64\x99\x43\x7b\x60\x24\x53\x31\x5e\x4e\xa7\x59\x31\xed\x31\xdb\xfe\xc0\x50\x36\xd1\x38\x5a\x5a\x38\x42\x46\x5d\x38\x67\x57\xd7\x8e\x84\x6f\x45\x52\xca\x14\x70\xd4\xf4\xf6\xc6\xd7\xd0\x05\x4d\x3e\xb1\xb3\x46\x89\xdd\xcd\x44\x01\x56\x9b\xdd\xf1\xa2\x02\x5a\x8b\xfb\x85\x14\x4a\xb7\xb3\x1b\x35\xc4\x68\xc4\x93\x72\xbe\x00\xc7\x01\xee\xf6\x18\x78\x05\x99\x62\x45\x09\xb4\xae\x00\xd2\x0c\x1a\x67\x93\x65\x9e\xef\x4e\x72\x91\x4e\x45\x6a\x07\x4d\xad\x54\x25\xe6\xac\x94\x9a\x7b\x4c\xe3\x95\xe4\xc9\x8d\x90\xd8\x62\x4b\xb1\x1f\x96\xaa\x02\x92\x48\x01\xcd\xcd\xf9\x8d\x00\xe7\x61\x51\x2a\x95\x8d\x73\xbc\x86\x84\x04\x10\xdd\x90\x62\x77\x59\x35\x2b\x97\x15\xe0\x5e\xc0\xb8\xf0\x3c\x27\xaa\x96\xa9\x30\x54\xf8\xd6\xf1\xb9\x62\x5c\x0a\xa6\x16\x22\x01\xe5\x9d\x32\xae\xf4\xd8\xaa\x1e\x63\x97\xa5\x64\xe2\x9e\xcf\x17\xb9\x00\xef\x83\x1e\x86\x7f\xc8\xd4\x55\x2a\x16\xed\x16\x7c\x25\x77\xa3\xd5\x65\xf8\xd7\x77\x56\xd3\x7f\x43\x8a\x1e\x84\xb6\xe1\xc5\xc8\xdb\x40\xb3\xb1\x60\xb2\x2c\xb5\xe7\x05\x4d\xb4\x7a\x8c\xfd\x77\xb9\x64\x73\xbe\x82\x51\x22\xc5\x85\xbd\x4d\x72\x40\x97\x47\x64\x2b\x0b\xc6\x8b\x95\x27\x76\x34\xd4\x82\x25\x79\x06\xac\xb5\x90\xe5\x54\xf2\x39\xb6\x07\xdc\x85\xf8\x8b\x42\x2d\xa5\x78\x5b\x17\xcd\x76\x87\x71\xe0\x70\x2e\xab\xe5\x82\x65\x05\x34\x56\xca\x54\x48\x64\x0e\x7c\x8a\x84\x13\x5a\xaa\xb1\x5a\x26\x14\x9b\xf1\x5b\xa1\x5d\x44\x61\xf1\xf9\xf7\x05\x07\x1c\x7e\x22\xf2\x3e\xb0\x5b\x2e\x3f\x72\x39\x55\xec\x5b\x70\xfa\x24\x9b\x97\xd2\x68\x0e\xd5\x3c\x20\x4e\x9f\x00\xe9\xd9\xb9\x15\x90\xb6\x69\xab\xc3\x7e\x7a\xc2\xa0\x65\xad\xe6\x9f\x3f\x01\x3d\x2b\x57\x78\xb9\xae\x71\x61\x5c\xd8\x03\x4b\x78\x95\xcc\x58\x5b\xdc\x77\x34\x1c\x36\x50\xf1\xe4\x66\x84\x3a\xe2\x9c\x89\xfb\x1e\xfe\xdd\x53\x8b\x3c\xab\xda\xad\x0f\x05\x8e\x29\x63\x0c\x5c\xe2\x82\xbd\xe3\x13\x2e\xb3\x2e\x32\x9a\x14\x6a\x99\x57\xc0\x7a\x5e\x13\x77\x59\x9e\x33\xf4\x91\x91\x36\x43\xa3\x9b\x14\xe3\x45\x4a\xfc\x4b\x8d\x81\xcb\x73\x9b\xa5\x4b\x9e\x9b\x6e\x23\x83\x4e\x4a\x39\x07\xf7\x25\x65\x69\x36\x41\xee\xaa\x72\x10\x6a\xc6\x18\xd8\x19\xf7\xa6\x5e\x2e\x8a\x69\x35\x63\x5f\x9c\xb3\x7d\xd3\x1d\x66\x8c\xde\xb9\x87\xd2\xd5\xf0\xba\x27\xc5\x22\xe7\x89\x68\xef\xfd\xf9\x83\x7a\xca\xab\x0f\xea\xd9\x5e\x97\xb5\x4c\xd7\x1e\x98\xc8\x95\xd8\xd8\xc6\x20\x6a\x63\x4a\x16\x0c\x64\xed\xdf\x83\xa6\x80\xce\x30\x16\xa0\xfc\x60\xb4\x58\xc6\xce\x59\xff\x39\xcb\xd8\xe7\x8c\xcb\xe9\x12\x69\xa1\x71\x7f\xce\xb2\x67\xcf\xfc\xa1\x58\xf0\x6a\xc6\xce\x1d\xdc\x55\x76\xfd\xdc\x76\x1d\x6f\x66\x85\xaa\x78\x91\x80\xad\x45\xc4\x5c\xcf\x2d\xbb\xf4\xf8\x62\x91\xaf\xda\x79\x36\xee\x62\x83\xcd\x9d\x84\xd7\x81\x82\x3a\x47\x99\x6b\x34\x5c\x57\xf0\xb4\x46\x80\x50\xf8\x84\xcb\x55\x47\xff\xcd\x1e\xf7\xb8\x56\xdd\xf6\x89\xde\x62\xa9\x66\x6d\x22\x71\x40\x33\xcf\x44\xbe\x44\xd1\x53\x5b\x64\x0f\xb8\x65\x2e\xaa\x2e\x88\x14\x44\x5c\xf7\x89\x40\xd7\x96\xac\x8b\x2c\xef\x9c\x8d\xbc\x15\x72\xc5\x96\xc5\x5c\x54\x0d\x16\x83\x58\x76\x2c\x58\x5e\x4e\xa7\xa4\xcf\x81\xbb\xff\xf3\x1d\x4b\xca\x42\x95\x39\xaa\xfd\x89\x36\x07\x10\xc4\x55\x18\xbd\x85\x2e\x05\x35\x8e\xea\x0b\x9b\x93\x3c\x53\x22\x40\xcb\x09\xf5\x5a\x7d\xf4\xd1\x97\x74\x27\xe1\x0b\xae\x94\x48\x81\xd4\x72\x49\x82\x6e\x99\x4b\xf3\x04\x5b\xe7\x7b\x04\x72\x8e\x34\x47\xf7\xe3\x7c\xed\x03\xfe\x98\xc3\x43\xa4\xc0\xcf\xf1\x45\x46\x27\x90\x6f\xe6\x74\x02\x67\x69\x99\x20\xc3\x02\xc5\xc0\x7f\x66\xad\xbb\xac\x48\xcb\xbb\x96\xb1\xf4\x5a\x5c\xb4\xde\x66\xf4\xd4\x5d\x29\x6f\x84\x64\x59\xd5\x52\xa6\x35\xd0\xd9\x22\x65\x2d\xf0\x53\x5a\x3d\x8b\x45\x39\xfe\x81\x9d\xb3\x36\x35\xca\x7e\xfe\x99\xc1\x7d\xcd\x3d\x4d\x82\x86\x58\x37\x09\x99\x66\xe3\x36\x02\x5c\x65\xd7\x40\xbb\x72\xfc\x43\xc7\xdd\x67\x76\xd4\xef\xb8\x2c\xda\xad\x6f\x32\xa5\x40\xc5\xed\xb4\xd8\x33\x22\xf7\x33\xd6\x42\xdf\x10\xac\x1a\x5a\xb2\x56\xd7\xa3\x6d\xe7\xb9\x6d\xc8\x8e\xdb\x84\xe7\x4a\xb8\xeb\x63\x29\xf8\x8d\xf9\xf3\xe1\x89\xfe\x42\x7d\x2c\xc7\x3f\x5c\x19\xe4\xae\x23\x95\x82\xa8\x53\xa3\x9d\x46\x2d\xdf\xba\xe4\x19\x90\xaf\x81\xc7\x93\x99\x48\x6e\x60\xdc\x1e\x7c\x37\x6a\x9a\xa9\x4a\xa0\xf4\x84\xce\x65\xe0\x90\x19\x13\xbb\x06\x84\x04\xd1\xf8\xac\x59\xc1\x24\x36\x2b\x09\x8a\xcc\x29\x78\x5e\x28\x3d\xda\xb3\x6b\x77\xd0\x1d\xa5\x67\xc0\x33\x04\x27\xd6\x34\xa8\x05\x48\x24\x22\xbb\x05\xbf\x0a\xc8\x9f\x0b\x86\x46\x55\x54\x42\x76\xd9\xdd\x2c\x4b\x66\xd0\x1e\xfa\xa9\xf6\xb9\xd0\x7b\x46\x6f\x2f\xab\xd0\x81\xcb\x45\x25\xd0\xfd\x85\x56\x2a\xdf\x6f\xad\x3b\xd4\xb1\xf5\x86\xd1\x60\x23\xed\x0d\x93\x1b\xbc\xa8\x00\x33\xbc\xd1\xe0\x02\x1b\x77\x73\x42\x4e\x1f\xfc\x73\x5e\xb0\xff\x06\x2b\xea\xe6\x4b\xe7\xc1\xb9\xc4\x1b\x28\x0e\x1d\x95\x7a\xec\xa8\x41\x29\xaa\xa5\x2c\x5c\x8b\x0f\xe4\x13\x99\xb6\x2c\xe9\x3c\xc7\x42\x3f\xff\x0a\x10\xf7\xb4\x0e\x45\x44\xe6\x49\x12\x8b\xba\x3f\x4e\x4a\xfc\x2a\x04\xbe\x46\xd6\xd7\xa8\x98\x8b\x01\xc3\xbd\x32\xfd\x11\x48\x34\xed\x23\x07\x1e\x3b\x8e\x7d\xcd\xf5\xd2\xc8\x36\xb1\x76\x60\x09\x78\x91\x22\x5b\x20\x0b\xa0\xa7\xe8\x3d\xba\x8e\x7f\xcd\xfb\x5f\x85\xf7\x81\xb7\xd4\xaa\x48\x66\xb2\x2c\xca\x25\x38\xc9\xef\x1d\xce\x26\x08\xa0\x90\x15\x54\x10\x78\xaf\x80\x1b\x46\x3e\x18\x22\x15\x48\x5b\x3b\x68\x1e\xc3\x47\x9c\xe6\x54\xfe\x83\x79\x0a\x5e\xe5\x0f\xb7\xee\x11\xf1\x74\x8c\xa7\xe1\x32\xc3\xe9\xcd\x4c\xf6\x14\x5a\x5f\x54\x1f\xf3\x72\x7a\x69\x5a\x1e\x15\x8c\xd2\x41\x3c\x0f\x5e\xa7\x04\x11\x12\x15\x66\xf8\x3a\x29\x72\x4c\x9d\xe6\xe5\x94\xe9\x5c\x22\x78\xec\x61\xe4\xe6\x73\x14\xf5\xa8\x1b\xbf\xdb\x99\x37\x72\x23\xea\x4c\x86\x36\x06\x15\x7b\x91\x55\x6f\xc0\xaa\xd4\xac\x23\xe9\x44\xe0\x21\xd2\xf5\x9d\xc0\xbd\x91\x22\x41\x67\x6a\xd5\x53\xb3\x6c\x52\xb5\x3b\xbe\x2b\x13\xa3\x63\xb5\x73\x74\xa3\xdd\x82\xd7\x9f\x31\x50\xff\x52\x24\x57\xfd\x6b\xdb\x0c\xfc\x39\xb8\x6e\x63\xe2\xa0\xc7\x73\x2e\xe7\x6d\x83\x6a\xa7\xd9\xe9\x22\x5a\xb4\x7d\xbf\xe7\xb9\xd1\xec\x3a\x83\xa2\x19\xe0\x93\x73\xd6\x32\x9d\x6d\xad\xd1\xf6\xc6\x34\x95\x40\xa2\x5b\x9e\x67\xa9\xf5\x1c\xcf\x74\x3b\xda\x52\x6f\xf6\x3a\xda\x04\xa4\x44\xf5\x3e\x9b\x8b\x72\x59\xd9\x6e\x74\x59\x9f\x4c\xc6\xc6\xfc\x55\x98\x84\xfe\xa7\x4d\x63\x69\x25\xf5\x06\xac\xef\x82\x27\x18\x8a\x30\xec\x1a\x5b\x56\x59\x9e\x55\x99\xf0\x22\x33\xea\x73\x94\xdb\xb9\xcc\xa4\xaa\xc0\x1b\x98\x83\xf6\x2d\x0a\x9c\x33\x98\x2e\x73\x2e\x4d\xae\x01\x0d\xe6\x9d\x68\x49\xc1\xa6\x25\x66\x53\x4a\x54\x1d\x88\xa1\x9e\xa4\xd0\xfa\xc1\x08\xe0\xda\x7f\x5f\xbd\x1d\xbd\x78\xc9\xfe\xfb\xdb\xef\xdf\xbe\x7b\xf9\xfa\xf2\x31\x4f\x30\xc6\xba\x7f\xfd\xeb\x5f\xff\xda\x7b\x0c\xe4\xcf\x5f\x7c\xfc\x9c\xfd\xf5\xaf\x8f\x00\xdd\xff\x9f\xdd\xdd\xdd\xd6\xee\xde\x63\x9a\xdd\x3f\x83\x7f\x1f\x6e\x3f\x6c\x87\x3d\x2f\xcf\x09\xb8\xfb\x08\x60\xf6\x33\xd3\xc0\x08\xbd\xe1\x81\xf7\xff\xf1\x92\xbd\x7d\xf9\xf5\xf7\xaf\x47\x6f\xd9\xcb\xff\xfa\xee\xed\xcb\x77\xef\x5e\x7d\xfb\xe6\xdd\xf6\x57\x8c\xde\xbe\x64\x2f\xbe\xfd\xe6\xd5\x9b\xaf\x3d\xb7\x48\x8a\x16\x98\x02\x76\xc7\x57\xe8\x80\x80\x6f\xc7\xf2\xb2\x98\xb2\xb7\x2f\x59\x9e\x55\x42\xf2\x1c\x34\x3f\xfb\x4f\x7e\xcb\xdf\xa1\xf3\xd0\x63\xec\x32\xbb\x27\x4e\xbd\x9b\xad\x58\x5a\x16\x2d\x0c\x2e\x56\xe5\xf2\x4b\xc6\xbe\x9d\xa1\x21\x63\x3c\x57\x25\xe5\x84\x82\x37\xdc\xc9\xac\x42\xb7\x88\x12\x73\xd8\x4a\x5a\x0a\x55\xb4\x28\x27\x25\x17\x52\x60\x6b\x42\x25\x7c\x21\x3c\xf3\xa6\x2a\xc1\xd3\x2e\xbb\x03\xa6\x2f\xcb\x05\x05\x3a\x99\x62\x36\xb2\xed\x30\x10\x86\x9b\x98\xc9\x7b\x52\x60\x12\xf3\x09\xba\xe8\x2f\xde\xbd\x63\x33\x71\x4f\x92\xd1\x65\x7f\x78\xfb\xf5\x57\xe0\xa8\xcf\xc4\xfd\xe0\xe8\x8c\xed\xfd\xa1\x7d\xc5\x77\x27\xfd\xdd\xd3\xeb\x4e\xd3\xb7\xbd\xac\xfb\x64\x4d\x3b\x6f\xbf\xfe\xfa\x2b\xd3\xd4\xf0\x20\x68\xea\xa7\xe1\x43\x67\xfd\x1f\x61\x9b\x72\x3a\x36\x6d\xca\xe9\xb8\x2d\xa5\xec\x4e\xa7\xd3\xee\x78\x3c\xee\x40\xe3\x72\x3a\x3e\x43\x25\xfa\x56\x4c\x5f\xde\x2f\xda\x5a\x33\xb7\x5b\x7f\xde\x53\x4f\xe5\x74\xbc\xa7\x9e\xee\xb5\xf7\xd4\xd3\xf6\x5e\xfa\xd3\xa0\xbb\xff\xd0\xd9\x53\x4f\xbb\xf1\xdf\x2d\xf6\xcc\xd8\x8b\x56\x74\x6f\x0f\x3e\x3e\x6d\x99\xdb\x1d\x97\x36\xf8\xb0\xb7\x37\xed\xb2\xd6\x87\x0f\xad\x4e\x97\xb5\xb2\x56\xe7\x71\x58\x77\x39\xe7\x06\x73\xbe\x11\x75\xbe\xa7\x9e\x06\x98\x6d\xed\x47\xf4\xb7\xff\x70\xfb\xcb\x33\x7d\xfb\x59\xfb\xcb\xb3\xbd\xde\x5e\xfa\xac\xf3\x25\x00\x75\x7e\x45\x0f\x5f\x66\xc0\xc7\xec\xed\xd7\x5f\x81\xb1\x7a\xfb\xf5\x57\x23\xdd\xa1\xfb\xcd\x1d\xfa\xf2\x7f\xa7\x47\x5f\xfe\x8a\x2e\x8d\x0a\xf6\x5f\x83\x01\xdb\x01\x7e\x4a\xd3\x74\x4f\xff\xee\xb0\x5b\x9e\x2f\x41\x85\xb3\xfb\xc1\x00\x99\x0d\xf3\x45\xf0\xcd\x31\xed\xa0\x7b\xf0\xd0\xf9\xb0\xb7\xf5\x82\x7a\xfa\xa9\x63\xee\x97\xc5\x34\xcf\xd4\x4c\x9b\x24\xf0\xbd\xe1\x2d\xf0\xff\x33\xb6\x77\xc5\x77\x7f\xbc\x86\x8f\xfe\xee\xe9\x07\x75\xfd\x6c\xaf\xeb\x3b\xde\x2f\xca\xe2\x56\xc8\x8a\x71\xc3\x6b\xed\x34\x4d\xbb\xfa\xb7\xa3\x5b\x44\xc4\x41\x85\x94\x10\x10\x42\xe7\xbc\xeb\x36\xa1\x8c\x03\x09\xad\x78\x37\x75\x08\x38\x2d\x4a\x49\xf9\x13\xed\xc0\x2b\x5e\x64\x15\xb8\x77\x29\xaf\x38\x9b\xf1\x22\xcd\x75\x0c\x64\x67\x2e\x5a\x69\x9a\xb6\xd0\x73\x2d\x0b\x9c\xc1\xc0\xd9\x99\x42\xb0\xf1\xaa\x12\x1a\x25\x97\x22\xcd\x0a\x96\x8a\x24\x9b\xf3\x7c\x7d\xae\x15\x9e\x40\x87\x23\xc4\x11\xd0\x4a\x88\x0c\x61\xcc\x64\x9e\x84\x67\xa2\x4e\x03\xb3\x16\xcb\x3c\x07\xff\x0c\xfc\x07\xba\x98\x94\xcb\xdc\xa4\xb3\x9d\xeb\x8d\x2d\x93\x6f\x1f\xea\xce\xe9\xf8\x7d\x09\xed\x06\x49\xdc\x7c\x29\xc8\x57\xb5\x5e\xb7\x4a\x78\x2e\xda\xb7\x36\x61\xc3\xce\x59\xfb\x1b\x5e\xcd\x7a\xf3\xac\x68\xdf\x76\xd9\xf0\xf0\xb0\xc3\x9e\xb2\xe1\xe1\x71\xa7\x57\x95\xef\x10\xe9\xf6\xe0\x48\xbb\x92\x77\xb3\x2c\x17\xac\x7d\x6b\x92\xa2\x9f\xb3\x03\xe3\xd1\x42\x4b\xad\x3e\xb8\xaf\xb7\x3a\x6b\xa3\x7b\x7e\xfb\xdc\x24\x16\x9c\x17\x4e\x63\x3d\xe7\x55\x32\x6b\x87\x06\x00\x3a\x72\x8f\x6f\x0b\x13\x81\xba\x31\x20\x13\x36\xaf\xff\x6e\x01\xc3\xc3\x4b\xa9\x5f\x5c\xae\xae\x06\xd7\x1d\xf6\x8c\xb5\xf6\xc2\xab\xc3\xc6\xab\xfb\xd7\x61\xaa\xc2\x32\x70\x8d\x31\x2d\xc3\x1a\xce\xee\xf5\x7a\x9d\x26\xce\x35\xe3\x4b\x4f\xcd\xf9\x0a\x67\x6d\xfc\xf6\x28\x9c\xa5\x6c\x22\xa8\x2a\xcd\x03\x34\xf6\x93\x52\xce\xa1\x19\xe8\xd7\x6c\x36\x9b\xed\xd9\x0f\x9d\x1e\xf4\x98\x58\x23\xa6\x58\x2e\x94\xa2\x7a\x90\x03\x96\x66\xd3\xac\x52\x2c\xab\x74\xc4\xb6\xe0\x69\x2a\x52\x56\x2e\x71\x2a\xea\x00\x53\xea\x9a\x0d\x52\x96\x96\x77\x18\x88\x4d\x32\x9c\xd4\xb3\x49\x10\x90\x8a\xed\xac\x1f\x93\xe8\x31\xac\x1f\x8b\xcb\xdf\x80\xf5\xef\x07\x83\xf7\x25\xb4\xeb\xb3\xfe\x66\xb6\xdf\xdb\x63\xdf\x71\x22\x8a\xd6\x2c\x77\x59\x35\xf3\xe8\x38\x29\x97\x52\x93\x12\x23\xf2\x4c\x21\x21\xc1\x13\x6a\x2f\x64\x39\xe6\xe3\x5c\x33\xe6\xde\x1e\x43\x3e\x16\x8a\xdd\x63\xed\x86\x9e\x6a\x4b\xb3\xc9\x24\x4b\x96\x39\x92\x5d\x71\x8a\xde\x49\x5d\x65\x45\x22\x08\x98\x29\x21\xe6\x10\xd7\x9a\xa6\xb8\x94\x98\x8d\x02\x1d\xaa\x47\x8e\x48\xa2\x67\x35\x0a\xb6\x10\x12\x78\x44\x3b\xff\xe5\x7c\x9c\x15\x3a\x05\x36\x31\x8d\x4c\xf9\x7c\x0e\x7c\x22\xa5\xc0\xde\x77\x35\xc5\x29\xdc\xa8\x24\x2f\x68\xf6\x03\x6f\x41\xc3\x7f\x59\xf2\xa2\xb2\xf9\x29\x1b\xf0\x5a\x31\x3f\x3f\x67\x03\x17\xf3\x42\x90\x46\x6c\xa2\x79\x6d\xc1\x2d\x7f\x21\xdd\xc6\x2b\x26\xc5\x42\xf0\xca\x4c\xe3\xda\x5a\x85\x1e\x63\x3b\x93\x1d\x36\x16\x49\x39\x17\xca\xb5\xb7\x33\x99\x4c\x26\x3b\x3d\xc6\xde\x25\x3c\xc7\x79\x60\x60\x4c\x8e\x8e\x9b\x27\x1e\x38\x0a\x58\x73\x02\xef\x18\x1e\x1e\x9b\xbc\xaf\xe2\x73\xe1\x5a\xe3\x8a\x25\xcb\x0a\xdf\x5e\x4e\x26\x56\xcd\xf7\x18\xfb\x93\x60\xea\x26\x5b\xe0\x33\xf3\x2c\x4d\x73\xf0\x51\xc5\x02\x89\x80\x73\xa3\x69\xb9\x1c\xe7\x5e\x53\x21\xf6\x36\x20\x47\xbe\xc6\x42\x95\x57\x45\xd5\xbe\x05\xa5\xd7\x65\x56\x4b\x3e\x34\x93\x70\x18\x91\x70\x9e\x41\xc0\x96\x0a\x9e\x33\xf0\xbe\x7b\x0c\x05\x6a\xc1\x53\xc5\xaa\xbb\x92\x88\x6b\xd8\x33\x26\xa9\x6b\x07\x0d\x58\x1b\x46\x17\x58\x9c\x2d\x17\x9a\x34\x1d\xa0\x26\x72\x5a\x14\x06\x12\x5c\x56\xb1\x31\x4f\x6e\x5c\x3b\x44\xf1\x62\x75\xc7\x57\xe8\xbb\x43\x6c\x8b\x24\xd1\xbd\xc5\x5c\x93\xcc\xa6\x59\xc1\x73\xe7\x7c\x34\x92\x63\x3b\x29\xf6\x03\x52\xbc\x9f\x49\x21\xc2\xfe\x82\x5c\xe8\x44\xab\x16\x83\x1a\x53\x4d\x10\x13\x7c\xaa\xe7\xda\x12\xbd\x69\x8f\x0d\xfa\x13\xc3\x63\xf0\x7d\xd2\xf3\x6c\x14\x0e\x56\x4f\x2d\xc7\xaa\x92\xed\x61\x88\x26\x0c\x0b\x52\x87\xf4\xe2\x4c\xb0\xa1\xe7\x20\xf4\x7c\x43\x84\x36\x53\x42\xd4\xdf\x8e\x3a\xce\xf6\x90\xfc\x4d\x56\xaf\xd9\xe2\x91\x03\xb7\xde\xe6\x79\xe0\x60\x3a\xde\x97\x6f\xbf\xfe\xaa\x7d\x4b\xc9\x14\xcc\x3a\x2d\xf2\x2c\x11\xed\x7e\x97\x0d\xfc\xd4\xa8\xf7\x18\xd6\x5e\xe0\x73\x23\xcc\x62\xcd\xf9\xa2\x8d\x6c\xd0\x69\x34\x7f\x8a\xca\x06\xf5\x0c\x32\x68\xd6\x96\x0e\x9b\x5a\xa1\x3b\x86\x36\xb1\x9a\x89\x4c\x5a\x93\xa8\x0b\x32\xe6\xc6\x7a\xe0\xec\x21\x39\x6e\x56\x83\x83\xa9\x41\xbf\xb7\x47\x16\x4d\x2b\x7d\x5e\xe8\xb9\x7b\x0b\xd8\x75\x66\x4c\x7b\xca\x29\x29\x6a\x30\x19\xcd\xf6\xe9\x67\x9a\xb4\xfd\x9c\xfe\xfa\xe2\x81\x8d\x8c\x4d\xf3\x4c\xad\xd4\xb5\x2a\xe5\xc4\x5d\x25\x2d\x1c\xd8\x9a\x26\x2b\x56\x6b\x1f\x33\xe0\xb6\x67\xf6\x05\xd4\x66\xcd\x56\xcd\xc4\x3d\x8e\x83\x6f\xab\xb8\x9c\x46\xd6\x4a\xb7\xd7\x9e\x85\x33\xe8\x52\x80\xb7\x36\x13\xf7\x9e\x24\x1d\x74\xd8\x97\x36\xa7\x18\x31\x16\xc6\xca\xec\xac\xe1\xf2\xf0\xc0\x4d\xbd\x11\x6f\x42\xab\xc4\x9d\x52\x74\xac\xcc\xfa\x13\xb1\xb1\x07\x16\xf8\x60\x6d\x9a\xb6\xd2\x82\x40\x6e\x18\x49\xc3\x33\xd6\xea\x32\x2f\x3e\x0a\xa1\x86\x8f\x82\xda\x77\x50\x9d\xd6\x73\x7f\x9e\x8a\xcb\xe9\xda\xb9\xea\x35\x53\xe3\xcd\xf3\x75\x5c\x4e\xaf\xb2\x6b\x76\x6e\x69\x4f\x17\xfc\x14\xaa\x9f\x63\x85\xf7\x06\xb0\x4e\xde\x35\x55\xb8\x9c\x3e\x4e\xb6\xac\x33\x09\x62\x13\xc8\x54\xb3\xd4\xd9\x44\xcb\x84\x4d\xb3\x5b\x01\x4a\x1b\x63\x76\xd7\x08\x95\x4d\xf0\x7c\x31\xe3\x6c\x92\x89\x3c\x75\x53\xd5\x8c\xdf\xf1\xd5\x3f\x9e\x6c\x5a\x1a\xd4\x05\xd4\x57\x2c\xc4\xb2\x5a\x58\xff\x8e\x52\x8a\xc1\xd4\x7f\x88\xfb\xc7\x49\x29\x28\x6f\x4f\x4a\xdd\x3c\x83\x6e\x2d\x91\x3c\xb9\x01\x9d\x6d\xb4\xbc\x93\x9c\x3f\x80\xd8\x50\x62\xff\xc7\x05\x4f\xdb\xed\x76\xc0\xf7\xfd\xeb\x0e\xfb\xfc\x73\x64\xfd\x9f\xad\x64\x34\xfe\x6b\x47\xb2\x87\xcf\xb1\x93\x5f\xf8\xdc\x50\x3f\xd7\xef\x84\xc1\x5f\x97\x1d\x75\xfe\x49\xc5\xee\x3d\xd7\x33\x74\x34\x71\x91\x28\xa5\x85\x09\x0b\x47\x33\x1c\x48\xf4\xad\xe1\x61\x8c\x82\x28\xcc\x93\xd3\x31\x30\x08\x08\x56\x18\xdf\xbd\xc5\xf7\xa8\x2d\x51\x0b\x2b\xc0\xc3\xce\xb3\x1f\x1b\xe2\x15\x7b\x2b\x8a\x59\x52\x31\x21\xc2\x00\x85\x53\x31\x31\x4e\x0a\x1a\x76\xd0\xf5\xad\x3f\xb4\xd6\x39\x06\xc6\xae\x60\x23\x76\xae\xa7\x21\xb4\xee\x55\x42\x55\x08\x15\x34\x95\x8a\x89\x1f\x56\x37\xba\x1c\xd4\x74\x63\xba\x67\x1f\x68\x75\xc0\x82\x5a\x4f\x9f\x94\x5a\x39\x91\x38\xd6\x08\xe2\xb9\x27\xa1\xc4\xad\xbc\xd9\x3b\xd4\x66\xe7\xfe\x2c\x1c\xfb\x02\xfc\xc8\x2f\x19\x59\x08\x76\xc6\x06\xcf\xc3\xc4\x00\x47\xab\x44\x82\x64\x2d\x0c\x23\x01\x09\xff\x1e\xfa\x7f\xe3\x9b\xb4\xa9\xf1\x7a\xfb\xed\xad\x90\x94\x14\x77\xda\x35\x99\xf1\xa2\x10\x39\xe8\x29\xea\xe8\x1e\x32\x0c\xf6\xab\xd6\x4d\x25\xaa\x91\xee\x85\xed\xa3\x9c\x8e\xbb\xd4\x56\xd3\x44\xe5\x3a\x05\xa2\x7b\x7c\x4e\x4f\x3e\xca\xe7\x0b\x47\xee\x9b\xec\x1e\x02\x4c\x21\x13\x51\x54\x7c\x8a\xe1\x15\x67\x55\x86\xa5\x35\x39\x4e\xf4\xc1\xd8\xb1\x31\x57\x62\x4d\x6f\xe6\x59\xa0\x1e\x01\xb2\x8b\x2d\x74\x4d\xbb\x41\x8f\x06\x6b\xba\x04\xcf\x61\x9f\x34\xdc\x70\x0d\x1c\xb4\xdc\x79\xbe\xae\xe2\xed\xe0\x39\x7b\xf6\x2c\xf3\xb5\x30\x84\xdf\x34\x2b\x3b\x04\x05\xb3\x8b\x38\xd8\x3a\x37\xfd\x07\x3b\x6f\xf4\xe3\xf5\x5d\xf0\x37\xb0\x99\xa7\xb6\x47\xb1\xb6\x59\x4f\xef\x41\x48\xf0\x77\x8b\x3c\xab\xea\x3c\x62\x65\xc4\x9a\x3b\x88\xa7\x6d\x86\xc7\xda\xfa\x6f\x0b\xa6\x96\x49\x22\x94\xea\x32\x5e\x13\x34\x53\x58\x46\x48\x61\xa5\xcb\x25\xe9\x2e\x6d\xe0\x3c\x87\x00\x5a\x33\xf0\x4a\x60\xcc\x3e\xa8\x8d\xad\xa1\xba\x3f\xc0\x78\xcb\xe9\x27\x62\x0a\xa7\xa1\x0e\x48\x43\x41\xd7\x5a\x75\x6b\x48\xd0\xeb\xf2\x7d\xbc\xf3\xdc\x9f\x64\xf7\xad\x43\x6d\x4e\xdd\xaa\xf9\xd5\x1a\x13\xf1\xd8\x97\xfe\x82\x77\xda\x72\xc2\xc1\x66\x34\x80\x31\x4c\x55\x97\xa0\xb9\xf3\x17\x60\x13\x8a\x0f\xad\x8a\x21\x4d\x69\x7e\x9f\x48\xe9\x89\x2d\xf9\xd4\xdb\xf2\x90\x58\x08\xa4\x05\x33\x70\x1c\x03\xfb\xf4\xc6\xd5\x60\x57\x32\x5b\x2c\x44\x0a\x6c\x85\xa9\x1f\xaa\x8d\x75\x6e\x50\x55\xb2\xbc\xbc\x13\x32\xe1\x4a\x17\x1f\x02\x9b\xd0\x6b\xd0\xb1\x5b\x16\x37\x45\x79\x57\x74\xb5\xb1\x53\x8e\xc3\xfc\x5a\x9a\x5c\xaf\x34\xf0\xb0\xac\x4a\x0c\xac\xe6\x7c\xb1\x80\x70\x3d\x53\x2c\x15\x32\xbb\x15\x29\x9b\xc8\x72\x4e\x29\x9b\xaa\x4c\x6e\xa0\x77\x3a\xdb\xd9\xab\xee\x2b\x7f\x5a\xba\xb9\x40\x8a\xfc\x38\xff\x3d\x5b\x33\x8e\x98\x07\x53\x8b\x12\x97\x3e\xad\x21\x5c\x68\x9f\x8d\xc5\x8b\x0b\x96\x1c\xf7\xeb\xa1\x08\x34\x15\xfc\x0f\x89\xbf\xce\x46\x3b\x08\xac\x68\xba\x46\x6d\x86\x2d\x9d\xd3\x34\x4b\x55\xbe\x86\xe1\x78\xc1\x95\x68\xdb\x74\xc0\xdf\xe7\x55\x6e\xe2\x49\x3d\xc3\x99\xa7\xd6\xdf\xe1\x85\xeb\xb8\xfb\xbd\x1d\x7e\x1a\xca\x05\xcf\x45\x55\xd5\x07\x02\x61\x5e\xc0\xf7\xef\x08\x22\xb4\x0d\xc6\xe7\x79\xc2\x58\xfb\x0a\xd3\x48\x82\xed\x8c\xde\xbc\x7b\xc5\x06\x47\x3b\xb8\xbc\x80\x31\xd6\xfa\x43\x1f\xff\x81\x71\xff\xc3\x8b\x17\xf6\xeb\xc1\xcb\xd3\x51\xff\x88\xae\x1e\x8c\xf0\xaa\x86\xdf\x3f\x38\x3a\x1c\x1d\xe0\x9d\xe3\xc3\xc3\xfe\xf1\x57\xf8\xb5\x7f\x74\x7a\x72\x3a\xc2\xaf\x17\xfb\x17\xc7\x2f\x2e\x2d\xfc\xe1\xe1\xe1\xf1\xe1\x3e\xde\x79\x79\x39\x3c\x1d\x9e\x12\x7c\xff\xab\xd1\x80\xae\x5e\xbe\x78\x79\x7a\xe0\xe0\x8f\x87\xa7\x97\xf0\x38\xdc\x19\xf6\xfb\x2f\xbe\x32\xf0\x87\x5f\x5d\x50\x2b\xf0\xef\x45\xab\x6b\x73\x52\xd0\xb1\xa3\xfb\x23\x4d\xad\x64\x39\xa6\xb5\x9b\xb5\xee\xc1\x97\xc3\x4b\xfb\xf5\xe4\xd8\x7e\x1d\xb9\xab\x17\xee\xea\xa5\x43\x0a\x1e\xb4\xad\x1c\x5e\xda\x56\x0e\x2f\x6d\x2b\x87\x97\x23\x77\xf5\xc2\x5d\x0d\x5a\x39\x39\xb6\xad\x9c\x1c\xdb\x56\x4e\x8e\x6d\x2b\x27\xc7\x23\x77\xf5\xc2\x5d\x0d\x5a\x19\x39\x5c\x46\x0e\x97\x91\xc3\x65\xe4\x70\x19\x39\x5c\x46\x21\x2e\x17\x0e\x97\x0b\x87\xcb\x85\xc3\xe5\xc2\xe1\x72\xe1\x70\xb9\x08\x71\xb9\x74\xb8\x5c\x3a\x5c\x2e\x1d\x2e\x97\x0e\x97\x4b\x87\xcb\x25\xe1\x62\x78\xe4\xd2\x0e\x12\x7c\xd5\xcd\xc0\x57\xdd\x0c\x7c\x1d\xb9\xab\x17\xee\xaa\x87\x0c\x8c\x8b\x6d\xc5\x0e\x12\x7c\xb1\xad\xd8\x41\x82\xaf\x17\xee\x6a\xd0\x8a\x1d\x24\xf8\x6a\x5b\xb1\x83\x04\x5f\x47\xee\xea\x85\xbb\x1a\xb4\x32\x72\xb8\x8c\x1c\x2e\x23\x87\xcb\xc8\xe1\x32\x72\xb8\x8c\x42\x5c\x2e\x1c\x2e\x17\x0e\x97\x0b\x87\xcb\x85\xc3\xe5\xc2\xe1\x72\x11\xe2\x72\xe9\x70\xb9\x74\xb8\x5c\x3a\x5c\x2e\x1d\x2e\x97\x0e\x97\x70\x90\x80\x2c\xba\x19\xf8\xaa\x9b\x81\xaf\xba\x19\xf8\x3a\x72\x57\x2f\xdc\x55\x0f\x19\xa0\xa8\x6d\xc5\x0e\x12\x7c\xb5\xad\xd8\x41\x82\xaf\x17\xee\x6a\xd0\x8a\x1d\x24\xf8\x6a\x5b\xb1\x83\x04\x5f\x46\xee\xea\x85\xbb\x1a\xb4\x32\x72\xb8\x8c\x1c\x2e\x23\x87\xcb\xc8\xe1\x32\x72\xb8\x8c\x42\x5c\x2e\x1c\x2e\x17\x0e\x97\x0b\x87\xcb\x85\xc3\xe5\xc2\xe1\x72\x11\xe2\x72\xe9\x70\xb9\x74\xb8\x5c\x3a\x5c\x2e\x1d\x2e\x97\x0e\x97\x70\x90\x46\x4e\x92\x46\x4e\x92\x46\x4e\x92\x46\x4e\x92\x46\x4e\x92\x46\xa1\x24\x8d\x9c\x24\x8d\x9c\x24\x8d\x9c\x24\x8d\x9c\x24\x8d\x9c\x24\x8d\x42\x49\x1a\x39\x49\x1a\x39\x49\x1a\x39\x49\x1a\x39\x49\x1a\x39\x49\x1a\x85\x92\x34\x72\x92\x34\x72\x92\x34\x72\x92\x34\x72\x92\x34\x72\x92\x34\x0a\x25\x69\xe4\x24\x69\xe4\x24\x69\xe4\x24\x69\xe4\x24\x69\xe4\x24\x69\x14\x4a\xd2\xc8\x49\xd2\xc8\x49\xd2\xc8\x49\xd2\xc8\x49\xd2\xc8\x49\xd2\x28\x92\xa4\x0b\x27\x49\x17\x4e\x92\x2e\x9c\x24\x5d\x38\x49\xba\x70\x92\x74\x11\x4a\xd2\x85\x93\xa4\x0b\x27\x49\x17\x4e\x92\x2e\x9c\x24\x5d\x38\x49\xba\x08\x25\xe9\xc2\x49\xd2\x85\x93\xa4\x0b\x27\x49\x17\x4e\x92\x2e\x9c\x24\x5d\x84\x92\x74\xe1\x24\xe9\xc2\x49\xd2\x85\x93\xa4\x0b\x27\x49\x17\x4e\x92\x2e\x42\x49\xba\x70\x92\x74\xe1\x24\xe9\xc2\x49\xd2\x85\x93\xa4\x0b\x27\x49\x17\xa1\x24\x5d\x38\x49\xba\x70\x92\x74\xe1\x24\xe9\xc2\x49\xd2\x85\x93\xa4\x8b\x48\x92\x2e\x9d\x24\x5d\x3a\x49\xba\x74\x92\x74\xe9\x24\xe9\xd2\x49\xd2\x65\x28\x49\x97\x4e\x92\x2e\x9d\x24\x5d\x3a\x49\xba\x74\x92\x74\xe9\x24\xe9\x32\x94\xa4\x4b\x27\x49\x97\x4e\x92\x2e\x9d\x24\x5d\x3a\x49\xba\x74\x92\x74\x19\x4a\xd2\xa5\x93\xa4\x4b\x27\x49\x97\x4e\x92\x2e\x9d\x24\x5d\x3a\x49\xba\x0c\x25\xe9\xd2\x49\xd2\xa5\x93\xa4\x4b\x27\x49\x97\x4e\x92\x2e\x9d\x24\x5d\x86\x92\x74\xe9\x24\xe9\xd2\x49\xd2\xa5\x93\xa4\x4b\x27\x49\x97\x4e\x92\x2e\x03\x49\xd2\xbe\xdf\x54\x8a\x15\xcd\xda\x4a\x3e\x5f\x78\xae\xdf\x09\xfc\xe0\x73\x83\x21\xfc\xd0\xd7\x17\xf0\x83\x5f\x87\x47\xf0\x83\x5f\xf7\xfb\xf0\x43\x5f\x47\xf0\x63\x31\x3d\xc0\x7f\x78\xe7\xe0\x25\xfc\x90\x71\x3c\x81\x1f\xfc\x8a\x8d\x50\xdb\x47\x2f\xe0\x07\xbf\x1e\x1f\xc1\x8f\x53\xef\x88\x0c\xa9\xec\x11\xfc\xe0\xd7\xd3\x03\xf8\xa1\xaf\x2f\xe1\x87\xd4\x05\x42\xe0\xd7\xaf\x86\xf0\x63\x5b\xf9\xea\x05\xfc\xe0\x1d\x7c\x13\xe1\x7e\xd1\x87\x1f\xfa\x3a\x82\x1f\xfc\x8a\xb8\x52\xdb\xe8\x31\xbf\xc4\xba\xba\xeb\x4e\x18\x67\x24\x4b\x29\x85\x4d\x6b\xe9\x48\xa3\x6b\x96\x3c\xaf\x68\xca\x62\xa9\x84\xc4\x5c\xde\xb4\x61\x32\x20\x59\x1b\x80\xd4\xe2\x93\xb0\xba\x3b\x65\xba\x78\x9b\x27\x49\x29\x53\x3d\xfd\x1e\xc4\xbe\xb5\xc0\xb7\xfe\xe6\x37\x7a\x65\x1c\x84\x9e\x3b\x3c\xcf\x12\x31\xce\x97\x62\xe7\x0c\x4b\x02\xdb\xc3\x83\x7e\x97\x0d\x0f\x4e\xa8\x70\x6b\xa7\x8b\x40\x45\x95\xfd\x65\x29\xee\x66\x59\xe5\xe0\x0e\x01\x6e\xff\xb0\xcb\x86\x83\x26\xb8\x81\x03\x04\x98\xfd\x53\x00\x3c\x6d\x00\x1c\x5a\xc0\x7d\x78\xe9\x70\xbf\xcb\x86\xfd\x83\x06\xc0\x7d\x0b\xd8\x3f\xec\xb2\xc1\xe9\xb0\xcb\x06\xc7\x47\x0d\x80\x07\x06\x70\x00\x6f\x1d\xec\x0f\xba\x6c\x30\xec\x1b\xc0\xbf\x2c\xf9\x9c\xcb\xac\xb0\x3d\x19\x0c\x8f\xb1\xb3\x80\xe0\xb0\x06\x35\x78\x1c\x98\xed\xc5\x60\x00\xbd\x80\xae\x0c\x4e\x4f\x6a\x60\xb6\x0f\x83\xfe\x10\xfa\x09\x1d\x39\xae\xa3\x66\x7b\x70\x84\x1d\x80\x8f\x81\xed\xe9\x8f\x4b\x19\x8d\x16\x22\xe5\x46\x0b\x00\x06\x5b\x21\x1c\xdd\x87\x07\x1a\xe3\xe1\xfe\x89\x0f\xe1\x90\x3d\xdd\xd7\xc8\x0e\xfb\x41\x1b\x1e\xa5\x07\x06\xd1\x7d\x33\xc8\x63\x91\x4d\x3d\x44\xe1\x69\xfc\xb0\x43\x31\xce\xd4\x5f\x3c\xc6\x43\x1c\x87\x48\xb8\xa3\x00\x62\xb0\x1d\x24\x62\xa2\xc1\x7e\x97\x0d\x4e\xf6\x03\x90\x88\x7d\x4e\x00\xe4\xf0\x24\x00\x89\x18\x67\x08\x70\xfd\x63\x03\x92\xf3\xe4\xc6\x00\xf4\xbb\x0c\xfe\x73\xb7\x8a\x64\x26\x52\x9e\xcf\xcb\x22\x8d\x18\x3f\xa0\x9a\x2f\x69\xd4\x86\x1b\x15\xb8\x37\xd8\x74\x73\x18\xdd\xb4\xa3\x05\x37\xf7\xa3\x9b\xc1\x2b\x0f\xc2\x9b\xde\x18\xe5\x4b\x71\x9b\x95\xb9\xa8\x5c\xd7\x4f\xba\xec\x00\xc6\x7b\x68\x49\x2c\xcb\xbb\xc2\xde\x3f\x3a\xec\xb2\x83\x21\xfc\xfa\xb7\xc3\x31\x3a\x3a\x80\x5f\xff\x7e\x38\x40\x87\xa7\xf0\xeb\xdf\x0f\x47\xe7\x70\x00\xbf\xfe\xfd\x70\x68\x80\xa8\xfb\xb6\x83\x4b\x99\xaf\xee\xca\xd2\x11\x7e\x08\xaa\xe1\xe4\x00\x3a\x5a\x03\x8a\x98\x69\x00\x7c\x7b\x58\x83\x0a\xd1\x1d\x9c\x1e\x77\xd9\xe0\xa0\x06\x15\xb1\xd4\x71\x1f\x99\x26\x86\x8a\xb8\x6a\x70\xd8\x65\x27\x06\x28\xe1\xa9\xa8\x7c\xa6\x38\x3d\x44\xb6\xec\xb2\xc1\x51\x3f\x86\x71\xaa\xe8\x70\x68\x84\xe9\xb0\xd6\x92\xd3\x44\x30\x4a\xc3\xe1\xa9\xcf\x29\x16\xca\xc9\x36\x12\x0b\x3a\xe8\x58\xc6\x42\x59\xd4\x51\x5a\xf6\x0f\x7c\xd6\x49\x66\x5c\x56\x52\x2c\x55\x83\x22\xed\xd7\x60\x1a\xd4\x68\x1d\xa8\x41\x89\xd6\x81\x1a\x54\x68\x1d\xa8\xae\x40\x1d\x4c\x99\x94\x39\xf7\x0c\xd9\x00\x86\x0d\x9a\xd9\xaf\xc1\x84\xcc\x82\xa8\xef\x1f\xc5\x40\x11\xaf\x00\xea\xfb\xfb\x31\x50\xc4\x2a\x88\xfa\x69\x0c\x14\x72\x0a\xa2\x6e\x61\x4a\xc9\xf3\x3a\x36\x27\x7d\xff\x7e\x84\xee\xe0\xa0\xcb\x4e\x8e\x7c\x80\x08\xd5\xfe\x51\xdc\x42\x88\xe6\xe9\x00\xb0\xf0\xef\x47\x18\x82\x1a\x38\x76\xf7\x8b\x09\x66\xff\x7d\x7e\x1e\xf4\x81\xba\x07\xc8\x84\x3e\xa4\xca\xf2\x9b\x50\x12\xd1\xe5\x18\xf6\x23\x98\xc1\x63\x80\x22\xed\xbf\x3f\x0c\x98\x59\x03\x85\x5d\x1b\x22\x5e\xc7\x31\x4a\xb1\xeb\x70\xe4\xbb\x0e\xc9\x8a\x17\x9e\x22\x8d\x8c\x2a\xdc\x1d\x6c\xbe\xed\x2b\xf0\xc8\xe0\xc2\x6d\x5f\x85\x47\xd6\x16\x6e\xfb\x4a\x3c\x32\xb5\x29\x97\x37\x75\xd3\x12\xde\x8f\xb0\x6f\x68\x61\x5a\xe6\xa9\x28\xa4\x53\xa4\x5a\x87\xc2\xc7\xa0\x09\x2e\xe2\xb7\x13\xd4\x5d\x4d\x80\x11\xdf\x1d\x83\x36\x39\x68\x02\x8c\xc4\xe4\x00\xcd\x70\x13\x60\x34\x50\xfd\x41\x97\x9d\xf8\x70\x92\xaf\x9c\xc5\x02\x08\xfd\x11\xc0\x08\x11\x50\xa4\xef\x99\x74\x0d\xb0\xb5\x91\x9b\x19\xbf\xc9\x1c\xbd\x4e\x8d\x67\x61\xdd\x06\x00\x9a\xf3\xa9\x28\x2a\x1e\xa0\x5c\x1b\x9f\x32\xcf\x6e\x45\x80\xd3\x09\xf9\x1f\x9e\x8c\x85\x70\x8e\xfc\xa8\x4e\x48\xe6\x87\x8d\xa0\x4e\xb3\x9e\x58\xf7\xb4\x7f\xd0\x08\xea\xf4\xeb\x91\xd1\xaf\xa7\xfd\x46\x48\x37\x06\x03\xc3\x50\x47\x3e\x9f\x94\x12\xe2\x9f\x90\x47\x0e\x22\x1a\x13\x4c\x83\x9e\xad\x03\x35\xe8\xd9\x3a\x50\x83\x9e\xad\x03\xd5\xf5\x6c\x08\x93\xcc\x32\x27\x03\x87\xfb\x5d\x86\xb1\x4e\x48\x2f\x04\x72\x56\x0d\x55\xe5\xd0\x17\x78\x07\xe5\x88\x7f\x0c\xbe\x4f\x20\xf7\x0e\xca\xd1\xfd\xf0\xc0\xbc\xb1\xde\x96\x43\xbd\x7f\xd0\x65\xa1\x45\x06\x28\x29\xd2\x98\xcd\xfc\xbe\x29\x74\x51\x1d\x21\xd1\x09\x46\xb7\xc5\xe7\x1b\x25\x78\xc0\x88\x83\x03\xf4\xa7\x81\xea\x07\xfb\x0d\x70\x83\x30\x50\xc0\x31\x3c\x6d\x02\xf4\xd8\xd0\xa8\xc0\xc1\x49\xbf\x01\xd0\x23\xc6\xa1\x89\x93\x02\xca\x1a\x40\x8f\x1e\x87\x46\xa9\x05\x64\x53\x60\x58\x7d\xdd\x78\x3c\x04\x36\x8d\xe9\x86\x60\xbe\xd6\x38\x38\xee\xb2\xe3\x53\xf8\x6d\x82\xf2\x5c\xb1\x41\x4d\xd5\x07\x90\x9e\x3b\x36\xa8\x69\xfd\x00\xd2\x73\xc9\x06\x35\x03\x10\x40\x3a\xb7\x6c\xd8\xa8\xc8\x35\xa0\xd8\xdc\x99\x6a\x29\xff\xb2\x2c\x33\x25\x02\xb3\x73\x04\x1f\x3e\x58\x14\x1e\x80\x05\xee\xa3\xe3\x6c\x60\xc4\x38\xe3\x85\xc7\x77\x43\xf0\x70\xc1\x37\x71\x10\x62\xb1\xc8\x8a\xc8\xde\xa3\x5f\x70\x1c\x81\x0c\x1e\x01\x13\xe9\x01\xf8\xdd\x8f\x61\x22\x35\x70\x84\xfa\x22\x82\x89\x4d\x88\xe7\x0b\x01\x88\xba\x59\x45\x26\x15\x85\xdc\x1b\x66\x07\x34\x78\x14\x94\x6f\xfe\x51\x15\x78\x8c\xe0\xa0\x7c\x2f\x00\x55\x81\xc7\x04\x0e\x2a\x70\x06\xfa\xa1\x1a\xc8\xe6\x81\xf9\x23\x45\x78\x18\x08\x06\x80\x88\xcd\x20\x65\x3a\x0d\x5d\xb9\x7d\x1c\x8d\x83\xa0\x73\x16\x68\xf0\x28\x28\x37\x74\x27\xda\xb1\xf0\x48\x60\xa1\xdc\xe0\xa1\xe7\x71\x14\x90\xc0\x42\xb9\xe1\x3b\xea\xb2\xe3\x13\x9f\x02\x93\x4c\x8a\xb1\xcc\x5c\xb8\x8e\xd4\xde\x47\x85\x19\x83\x84\x1c\x07\xdc\x7d\x70\x12\xc3\x84\x1c\x07\x9d\x3b\xa8\xb5\x13\x72\x1c\xc0\xed\xd7\xda\x09\x39\x6e\x08\x1d\x33\xee\xf9\x24\x07\xf7\x3a\xca\xb0\xa1\x56\xc1\x74\x9c\x61\xcc\x49\x29\x85\xaa\x02\xe5\xac\x6d\x80\xd7\xb7\x29\xcf\x0a\x35\x2e\x65\xe9\x02\xe2\x3e\xba\xcd\xbe\xef\x3c\x9d\x95\xaa\x0a\xdf\x87\xce\x75\x98\xf9\x03\x7f\x2b\x0a\x98\xbd\x78\x0b\xee\xc6\xf1\x74\x74\x3b\x72\xcd\xc1\x4f\xf3\x6f\xc7\x11\xf4\x7e\x78\x3b\x0e\x9d\x8f\xc3\xdb\x81\xb3\x3a\x44\x4d\x70\x04\xc4\x1f\xc6\x30\x91\x7f\x01\x56\xca\xaa\x8c\x75\x4e\x2a\x58\x28\x47\xd2\x35\x0e\x2a\xf6\xf9\x34\x06\x8a\x35\x0b\xaa\x32\x03\xe4\x8b\xe6\x29\xea\x0b\xfa\xf0\xee\xf7\x43\x3f\xde\xbf\xe5\xe4\xac\xcb\xe0\x3f\xff\x96\x7d\x8c\x38\xcb\xe3\x2e\xba\xdd\x8f\x38\x2b\x30\x5a\x08\x32\xf0\xe5\x93\x7e\xfd\xdb\x96\x42\xfb\x83\x2e\xa3\x5f\xff\xb6\xa5\x0d\xb8\x15\xf4\xeb\xdf\xb6\x54\x81\xa8\x8a\x7e\xfd\xdb\x87\xf6\xf6\x49\x24\x3f\x78\xfb\xc8\xda\xb2\x41\x97\xd1\xaf\x7f\xfb\xd8\xde\xde\xa7\xf4\xd5\x41\xf0\xee\x13\x7b\xfb\xa8\xcb\xe8\xd7\xbf\x7d\x6a\x6f\x9f\x44\x3a\x20\x30\xe1\x87\x5d\x06\xff\xf9\xb7\x2c\x4d\x29\x65\xe5\xa5\xad\xf0\xb6\x25\x28\xfa\x74\xf8\xeb\xdf\x76\x2d\x1f\x75\x19\xfd\xfa\xb7\x2d\x41\x29\x5f\xe6\xe5\xcc\xf0\xb6\x4b\x72\x0c\xc8\xa5\x39\x0a\xde\x6d\x09\x4a\xd9\x38\x2f\x23\x87\xb7\x2d\x41\x8f\x8e\xba\x8c\x7e\xfd\xdb\xc7\x7e\x06\x85\x7e\xfd\xdb\x96\xa0\xc7\x83\x2e\xa3\x5f\xff\xb6\x25\xe8\xf1\x41\x97\xd1\xaf\x77\xdb\xf6\xeb\xa4\xcb\x4e\x5c\xe0\x86\xb7\x2c\x41\x8f\xc1\x67\xc1\x5f\xff\xb6\x25\x28\xb9\x33\x9e\x4b\x83\xb7\x87\xbe\x67\x44\xbf\xfe\x6d\xf7\xe2\x83\x2e\xa3\x5f\xff\xb6\xf3\xab\xc0\x7d\xc1\x5f\xff\xb6\x25\x28\x84\x79\xf4\xeb\xdf\xb6\x04\x3d\x1d\x76\x19\xfd\xfa\xb7\x2d\x41\x4f\x0f\xba\x8c\x7e\xfd\xdb\x96\xa0\xa7\xc7\x5d\x46\xbf\xfe\x6d\x4b\xd0\xd3\xd3\x2e\xa3\x5f\xef\xb6\xe7\x05\x93\x27\x33\xf0\x75\xc6\x41\xdf\xdd\x1e\xea\xa0\x68\xd0\xf7\x91\x3b\x18\x6c\x72\x05\x10\xc2\xf9\xb1\x10\x91\x9a\x0f\x1f\x62\x3f\x0c\x07\xf5\x87\x0f\xe1\x05\x8c\x43\x8c\x55\xfd\x80\x15\x21\x0e\x1d\xc4\xa1\xce\x95\x0e\x06\x01\x1e\x47\x0e\xe2\x58\x9b\x84\xc1\x20\xc0\xe3\xd8\xf9\xd1\x18\xd9\xf4\xfd\x1c\x0e\x42\x9c\x38\x88\x21\xc6\x3e\x7e\x00\x84\x10\xa7\x0e\xe2\xd0\xcc\x04\x0c\x7d\x3c\x1c\xa2\x98\x19\x85\x5f\xff\xae\xa3\x38\xc4\xb2\xe6\xc3\x87\x70\x14\x47\x8f\x49\x7f\xf8\x10\x8e\xe2\x18\xa6\xe9\x0f\x1f\xc2\x51\x7c\x1f\x83\x9f\x43\x3f\xe3\x8d\x10\x9e\x25\x42\x0f\x89\x3e\x7c\x08\xd7\x91\x83\xbe\x8e\xcf\x07\x07\x01\x1e\x47\x61\x18\xa8\x3f\x7c\x08\x47\xf1\x03\x8c\xf1\x0f\xfd\x6c\x39\x42\x9c\x04\xf1\x83\xf9\xf0\x21\x1c\xc5\x31\x1e\xd5\x1f\x1e\x84\x43\x03\x0d\xaf\x97\x6a\xc2\xbb\xfd\x20\x60\x37\x1f\x3e\x84\x17\xb3\x41\x3c\xa0\x3f\x7c\x08\x47\x71\xcc\xc0\xeb\x0f\x1f\xc2\x4b\x8e\x40\x08\xa9\x3f\x7c\x08\xcf\x2d\x05\x14\xf4\x87\x0f\xe1\x28\x0e\x5a\xd7\x7c\xf8\x10\xae\xab\x47\xe8\xd3\xd0\x87\x0f\xe1\x28\x0e\xba\xd7\x7c\xf8\x10\x8e\xe2\x98\x6d\xd3\x1f\x3e\x84\xa3\xf8\xf1\x11\x4e\xa5\xfa\xf3\xa9\x00\xe1\x5e\x62\xe2\x2c\x1f\x87\x63\x47\x71\xd0\xc3\xe6\xc3\x87\x70\x14\x3f\x01\x04\xf5\x87\x0f\xe1\x25\x04\x0e\xcc\x9c\x4d\xa0\x93\x8f\x1d\xc5\x4f\x00\x41\xfd\xe1\x43\x38\x8a\x53\xfa\x8d\x3e\x7c\x08\x47\x71\x88\xcd\xcc\x87\x0f\xe1\x28\x0e\x9a\xd9\x7c\xf8\x10\x8e\x18\xa7\x47\x38\xff\xe8\x4f\x42\x22\x84\xa3\xf8\x29\x66\xee\xe9\xc3\x87\x38\x75\xce\xe3\x40\x3b\xc3\xc3\xbe\x8f\xc7\x89\x03\xa0\xe8\x37\xd0\x5b\x27\xce\x81\xeb\x63\x5c\x78\xe0\x67\xa5\x10\xc2\x4b\x09\xe2\x8c\x0e\x7d\xf8\x10\xce\xcb\xed\x9f\x62\xa8\xef\xc7\xfb\x08\xe1\x5c\x5c\x50\xd0\xe6\xc3\x87\x38\x70\x10\x80\x82\xfe\xf0\x21\x0e\x1d\x04\xa0\xa0\x3f\x7c\x88\x23\x07\x41\xa5\x01\x7e\x7d\x00\x42\x1c\xbb\xf0\x05\x27\xb2\xe8\xc3\x87\x70\xe4\xc2\x29\x6c\xfd\xe1\x43\x38\x8a\xe3\xb4\x93\xfe\xf0\x20\x1c\xc0\x3e\x04\xa3\xf0\xeb\xdf\x75\x14\xc7\x79\x34\xfd\xe1\x43\x38\x8a\xe3\xb4\x83\xfe\xf0\x21\xbc\xb8\xc2\x4e\x08\x07\x5a\xfa\xd4\x51\x7c\xff\x18\x27\x4a\xfc\xd9\x12\x84\x70\x14\xa7\xf2\x8c\x20\x28\x44\x08\x47\x71\x9c\xf6\xd3\x1f\x3e\x84\xa3\xb8\x9b\x8b\x0f\xb4\xf4\xa9\xa3\xf8\x01\xa0\xa0\x3f\x7c\x08\x47\x71\x8c\x4b\xf5\x87\x0f\xe1\x08\x8a\x93\x94\xfa\xc3\x42\x84\x29\xf7\x60\x1e\x30\x4c\x25\x36\xde\xad\x4d\xa0\x04\x77\x6b\xf3\x27\xc1\xdd\xda\xf4\x49\x70\x77\x25\xf2\xbc\xbc\x0b\x74\x26\x25\x04\x5c\xf7\xc5\x96\xb8\x4d\xac\x8f\xdb\xc4\xfa\xb8\x4d\x6c\x8e\xdb\xc4\xf6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xfa\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\xac\x8f\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xc6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8c\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xc6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8c\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xc6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8c\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x89\xdb\x66\x65\x21\x56\xa9\xb8\x0b\x7b\x43\x15\x79\xfd\x08\xa6\xa9\xf2\xbc\x06\xd4\x54\x7c\x6e\x39\xc0\x00\x35\xd4\x9f\xbb\xb2\x12\x03\xd4\x58\x82\x3e\xb0\x40\x55\xad\xf0\x80\x9c\xa4\x93\x7e\x08\x12\x97\x4e\xf6\x1b\x60\x1a\xaa\x27\x07\x47\xc7\x21\x4c\x54\x40\x79\x84\x93\xe1\x21\x48\x38\x3b\x08\xc6\xca\x2e\x14\xc8\x8a\x34\xaa\xa5\xc0\x56\x7c\x9f\xd4\x82\x44\x18\x23\x36\xfd\xa3\x18\x2a\xc4\x39\x70\x40\x2d\x4c\x88\xf3\x89\x5f\x9f\x6c\x61\xea\x48\x5b\x03\x9b\xdd\x96\x72\xd5\x10\xa2\xda\x41\x47\x80\xc1\x56\x88\xb8\x8a\x33\xe0\x09\x84\x88\x4b\x38\x03\x86\x40\x88\xb8\x7e\x33\xe0\x86\xa0\x56\x8f\xb8\x73\x3f\x70\x9b\x10\x20\xae\x38\x3d\xf2\xdd\x26\x84\x88\x11\xed\xfb\x0e\x1e\x42\xc4\x4b\x55\x4e\x7c\x77\x18\x21\x62\x44\x21\xd4\x32\x04\xcd\xf9\xad\x28\x52\x21\xdd\x6b\x0c\xaa\x4e\x66\x0d\xcc\x38\x5f\xaa\x59\x84\x71\xdf\x57\x10\x01\x60\xdc\xb7\xf5\x90\xf1\xaa\x9c\x03\x5f\x81\x06\x90\x71\x5f\xf7\xb1\x9c\xbc\x09\xb2\x69\x5d\x8e\x9d\x61\xcf\xf9\x5d\x11\x16\x9d\xe1\x3b\x0f\xbd\x02\xbe\x5c\xcc\xcb\x22\x99\x65\x93\x89\x57\xc2\xe6\x8a\x24\x6c\xdc\xe3\xc3\xc5\x6c\xb7\x16\x30\x1e\xd4\x7d\xdf\xd7\xf0\x01\x63\x26\x44\x57\xb2\xa9\xc5\xb8\xbb\xc7\x7e\xd4\x94\x67\xd3\x59\x50\xf8\x4f\x29\x27\x2c\x76\xb1\xe1\x84\x05\x0a\xeb\x0c\x69\x31\x95\xcd\x00\x59\xa8\xb0\xce\x90\x56\x52\xd9\xa0\xc1\x42\x85\x75\x86\xb8\x8c\xca\xa3\x88\x81\x0a\xeb\x0c\x8d\x6e\xf5\xa1\xc2\x8a\x74\x8c\x3f\xb0\xaa\x67\x18\xbc\xd1\xaf\x3a\x26\x2e\x0a\xd3\x57\x16\x68\xf0\x28\xa8\xc8\x0b\x0a\xab\xe9\x2c\x94\xe7\x7b\xd6\x4b\xa9\x2d\xd4\x41\x18\x4d\x86\x65\x74\x08\x55\xaf\x31\x21\x61\x18\xf8\x31\x5f\x08\x19\x2f\x7b\x3b\x5a\xdf\x68\x2c\x62\xfd\xf5\xad\xc6\x32\xd6\xaf\xb1\xd2\xba\xda\x13\xf0\x7c\x6c\x70\x10\x42\x86\x29\x4f\xcf\x31\x18\x84\x48\x78\x05\x2b\xb8\x5c\xc6\x7c\x84\x40\x41\xb9\xa8\xb1\xe9\xce\xf6\x19\xa8\xed\x4d\xd5\x0d\x36\x56\x39\x5a\x3d\x6f\x81\x22\x03\x78\x8c\x31\xc8\x61\x0c\x15\x19\xed\xa3\xa1\x1f\x4f\x59\xa8\xb8\xee\x9c\x16\x2d\xc4\x50\x21\x6d\x71\xa9\x4e\x3f\xc0\x3d\x2a\xaf\x45\xbc\x8e\x82\xf2\x5a\x0f\x6c\xf0\x48\xb8\xa8\x07\x58\x13\x3f\x38\xa8\xc3\x45\x7d\x80\x91\x3f\x3d\xa9\x83\x85\x9d\x38\x39\xf6\x12\x88\x04\x15\x15\xff\xee\x0f\x75\xb5\xa2\x5b\xa8\x48\x70\x61\x7d\xe4\x80\x16\xba\x1d\x05\x46\xca\x83\x1b\x04\x51\xeb\x10\xd3\xdc\xa1\x7c\xc7\x55\x92\x83\xa3\x03\xc3\x21\xa1\x88\xc7\x85\x92\x58\x59\x8b\x5c\x12\x49\x79\x5c\x2b\x89\xee\xd8\x70\xbf\x26\x92\xb5\x1a\xe1\xc1\xbe\xc9\x73\xc5\x38\xc6\x65\xc2\x83\x81\x5d\x27\x72\xb8\xdf\x00\x29\x1e\x01\x59\x09\x91\x87\xa6\xc0\x44\xaa\xc3\x88\x1f\x0c\x64\x54\xf9\x3f\xac\x2b\x4b\x0b\x1a\x55\xfe\x0f\xfa\x75\x72\x1a\xd0\xb0\xf2\x1f\xc3\xfe\x98\xa0\x06\x34\x2a\xfd\x6f\xa0\x69\xac\x5d\xac\xd3\x37\x3c\xa8\x83\x35\x39\x87\x4d\x70\x4d\x2e\x62\xbf\xe1\xb5\x4d\x8e\xe2\x49\xbf\x0e\xd7\xe4\x2e\x7a\x24\x9f\x87\xeb\x31\x0e\x8d\x31\xf1\x18\xbc\x10\x45\xa8\x41\xb5\x5b\xa9\x01\xa2\x95\x1f\x34\xa3\xe5\x0f\x96\x06\x18\x6c\x85\x08\xbb\x1e\x8c\xa2\x86\x08\x3b\x1d\x38\x3a\x1a\x22\xec\x6e\xb0\x02\x65\xce\x65\xe9\x34\x17\x72\xe0\x01\x04\x0c\x47\xc1\xfd\x10\xcd\xc3\xa1\x9f\x39\x22\x88\xa8\x54\xf6\xc4\x0f\x91\x08\x22\x44\x13\x45\xd7\x5a\x09\x82\x88\xca\x64\xfd\x00\x69\x2e\xd2\x6c\x39\x6f\x58\xc3\xdd\xb0\x9c\x9a\x60\x1b\x56\xdc\x3a\xb2\x20\x44\xb4\xde\xe3\xe4\x88\x62\x20\x67\x96\x7c\xb0\xd0\x4d\x19\xf4\x03\x15\xe1\x03\x86\x9e\xca\xe9\x61\x30\x60\x1e\x5c\xe8\xab\x84\x4a\xcc\x87\x0b\xbd\x95\xc3\xc3\x60\xf0\x10\x6e\xb1\x94\x8b\xdc\x51\xe4\xe0\xd8\xa8\xb0\x41\x13\x9c\xa7\x8f\x07\x3a\x8f\x1d\x77\x84\x00\xbd\xe4\x2a\x8a\xc7\xa0\xde\x13\x02\xf4\xb2\xda\xc7\xba\x28\x3d\xee\x0a\x01\x3a\x7d\xbc\x4f\x73\x50\x71\x4f\x62\x13\x84\xa6\x11\xf3\x94\x36\x5b\xaf\x01\x6b\x8a\x1b\x35\x51\xff\xa0\x8e\xa3\x5a\xc8\xac\x98\xd6\x27\xa0\xa9\xca\x3e\x00\xad\x2d\x8c\x38\x1e\xda\x8c\x5b\x08\x49\x6b\x23\xfc\x35\x37\xa7\x98\x0f\xf3\x03\xc2\x79\x96\x16\xb1\xb3\x4f\x0a\xdb\x77\xe2\xe6\x59\x51\x25\x52\xf0\x79\x98\xec\xd1\x41\x8b\x05\x52\xd5\x4a\x96\xaa\x61\xcd\xfc\xd0\xce\x72\x58\xa0\x86\x65\xf3\x0d\x50\x0d\x2b\xe7\x9d\x03\x68\xa1\x9a\x16\xcf\xdb\x8c\xb0\x85\x6a\x5a\x3f\x6f\xf3\x72\xf3\x32\x49\xb8\xca\x8a\x3a\x56\xae\xa5\x82\xdf\xf2\x1f\xca\x86\x2a\xf8\x61\xe0\xb6\x79\x60\x71\x27\xd7\xc1\xc5\x75\xe8\xc7\xfe\x04\x80\x07\x17\x17\xa4\x07\x41\x81\x07\x17\x77\x75\xe0\xcd\x0b\x16\xfc\x76\x15\xaa\x1c\x17\x14\xc1\xbd\x86\x95\x9a\xf6\x7e\x99\xa7\x39\x4f\xbc\xde\xef\x9b\x94\x9f\xb5\x29\xb8\x00\x2f\x95\x7c\xec\x94\x1f\x2e\x4f\x1f\x7a\x6b\xe2\x2d\x8c\x17\x39\x9a\x35\x82\x47\xc3\x18\xc8\x0b\x1c\x4d\x54\x75\x78\x12\x03\x85\x71\x63\x68\x07\x2d\x50\xc3\x72\x2c\x1b\xe1\x37\x2d\x07\x3c\xf2\xaa\x34\x1a\x97\x02\xd6\x01\x22\x77\x18\x90\x09\x01\xa2\x21\xdc\xdf\x8f\x01\x22\x37\xbe\x1f\xdf\xf7\xf3\x6f\x48\xb0\xd3\x06\x88\xc1\x76\x90\x10\xd3\xa3\x1a\xa2\xb5\xd4\xdb\x61\xad\xb3\xb5\xcc\xdb\xfe\xb1\x0f\xe2\x1b\x2e\x5a\xff\x40\x0a\xff\x20\x80\x88\x48\xba\x3f\xf0\x75\x4a\x6c\xad\x90\xa8\x98\xb3\xb7\x1a\x2c\x32\x54\x43\x3b\xd5\xec\x26\x41\x62\x1b\x05\xa8\x92\x66\x37\xc6\x7f\xc1\x73\xb1\x26\x9e\xa6\x08\xa3\xef\x03\x06\xe1\x24\xe5\xa2\x71\xa3\x86\x61\x0c\x34\x08\xb9\x12\x3b\x68\xd5\xb9\x85\x1a\x6e\x0a\x4d\x2d\xd4\x7e\x98\x7a\xa2\x28\xaa\x06\xe5\x8a\x0d\xcc\xc2\x9b\x13\x1f\xa6\x66\x3c\x06\xc7\x87\xb5\x4c\x45\x00\xe8\xcd\xb6\x1d\xd7\x32\x1f\x01\xa4\x27\xa7\xf5\x2d\x5b\x02\x48\x4f\x58\xeb\x19\x90\x00\xf2\x20\x70\xa1\xa2\x2c\x08\x40\xd6\x6c\x1c\xce\xf9\x50\x11\xc0\xc1\x71\x13\x60\xcc\x6f\x7d\x7f\x92\x33\x80\x8c\xd9\x0e\xc7\xb8\xf1\xe5\x31\xf7\x1d\xc4\xbc\x65\x21\xeb\x4c\x68\x53\x07\x0b\xbe\xe0\x2b\x7e\x37\xcb\x16\x51\x96\x06\x8d\xb6\x85\x12\x3c\x99\x2d\x96\x93\x49\x08\x44\x13\xa9\x87\x31\x50\xbc\xfe\xa9\x19\x2a\x36\x3f\xc1\xac\xae\x85\x8a\x8d\xcf\xa1\x9f\x85\xb0\x50\xf1\xa2\xa8\x53\x3f\x0d\xb1\x10\x72\x59\xd7\x7f\x76\x22\xbb\x9e\x5c\xa1\xfc\x9f\x7f\x3f\x5e\xd5\x3f\xf0\x13\xba\x4d\x29\x95\x53\x7f\xf2\xb7\x29\x9b\x72\xe8\xcf\xc7\x37\x24\x52\xb0\x07\xf6\x7e\xbe\x74\x4e\x10\x72\xc4\x11\x2e\x5c\x1b\x78\xf7\x63\x14\x8f\x03\x91\xc9\x97\xf3\x78\xc3\x81\xc0\x21\x04\x80\x78\x1d\x57\x10\x17\x00\x40\xbc\x86\x6b\x18\xc8\x45\x79\x97\x46\xfb\x5c\x50\x56\xe3\xc0\x37\xd4\x91\x43\x0e\xdd\xc0\x69\xc6\x83\x10\xc0\x53\x61\x7a\x05\xa2\xd7\x97\xc8\x05\x07\x52\x1e\x84\x9d\x89\x7c\xef\xa1\x5e\x7d\xe8\xf5\x26\x74\xba\x31\xb6\x09\xd2\x92\xb1\xbd\xf3\x0c\x62\x4d\x9a\xc3\x7b\xb5\xa0\xd4\xbb\x57\x0b\x47\xbd\x7b\xb5\x40\xd4\xde\x2b\xd5\x2a\xdc\x6e\x48\xaf\x3a\xf7\x27\x61\x2c\x50\xc3\xb2\x3e\x97\x27\xb4\x50\x0d\xeb\xfa\x5c\x32\xc0\x42\x35\x2c\xec\x73\x2b\xce\x2d\x54\xc3\xca\x3e\x57\x6f\x25\xcb\x15\x0f\x12\x39\x47\xd6\x50\x0e\x6b\x30\x03\x3f\xb8\xa0\xfd\x6e\x0e\x6b\x40\x16\xf5\xa3\x63\x3d\x29\xe9\x06\xde\x02\xb9\x6a\xc3\x13\x1d\x68\xd6\x31\x72\x35\x9c\xa7\xe4\x89\xb8\xd1\x57\x3c\x4d\x73\x11\x12\xbd\xb6\xfd\x4c\x9c\xd8\xb4\xd9\x7e\xeb\x6a\x34\xe6\x34\x0f\xfa\x3e\x7d\x1a\xd3\x99\x60\x1d\x6c\x78\xdf\x98\xc8\x04\x4b\x73\x12\xbe\x26\xd2\xf1\x47\x5d\x76\x78\x6c\x01\x8a\x34\x64\xa1\x21\x08\x0c\x26\x13\x6d\x36\x23\x0e\x30\x0f\x8e\x8c\x29\x3f\x8e\x20\x06\xbe\xb5\xd7\xee\xc5\x69\x04\x63\x7b\x74\x6c\xf7\xd6\xb0\x35\x52\xb5\x0d\x0d\x8e\x8e\xad\x6b\x11\xc3\x1c\x6c\x44\x47\xcd\x44\x1e\xee\x00\xa4\xe3\x82\x93\x08\x26\x9e\xe4\x6b\x04\x8a\x27\x1f\x4e\xfd\x64\xa3\x01\x8a\xa7\x1d\x8e\xfd\x39\x31\x03\xd4\x30\x93\xe9\xa6\x31\x54\x26\x8a\x82\x07\x2a\xf0\x64\xd8\x65\x76\xce\x91\xee\x37\x38\x0c\xd6\x5f\x20\x88\x06\x47\xc1\x66\xad\x09\xa2\xc1\x41\x70\x3c\x81\x10\x75\xc7\xc0\x51\x65\x6d\x2e\xdb\x46\x54\xb5\x34\xb6\x97\xef\x8e\x60\x9c\xba\x46\x3d\x8b\x16\x36\x7e\x95\xb7\x8b\xd5\x89\x2e\x26\x73\x62\x1b\xe7\xad\x71\x6a\x63\x10\x58\xa0\x7a\xe6\x03\x50\x39\x0d\xcc\x98\x85\xf1\x90\x06\x7b\x3a\x08\x36\x28\xb0\x50\x1e\xda\x58\x68\x1a\x4c\x1f\x5a\xa8\xfd\x20\xc2\x3b\x39\x6d\x7c\xa1\xc3\x1c\x06\xaa\x5f\x43\x3c\xcc\xa0\x0f\x8d\x32\xb1\x2e\x79\xc3\x3e\x1b\xa7\x27\xb5\x59\x83\x86\x3d\x36\x4e\x0e\x6b\x53\x06\x0d\xfb\x6b\x60\x22\x2b\x4c\xb5\xd5\xf7\xd6\xa0\x81\x09\x33\xdb\x0d\x49\xfd\x06\xe4\x8b\x5a\xde\x3b\x98\xba\x87\xfb\x4d\xd3\xd2\x01\x40\xc3\x74\xb4\x0b\xc8\x00\xa0\x61\x1a\xda\x85\x63\x00\xd0\x34\xfd\x6c\x3d\xe6\x75\xd9\xb0\x43\xbf\xde\xd5\x03\xaa\x2d\xcb\x68\x84\xaa\x2d\xcf\x70\x9b\x6e\x78\x50\xb5\x65\x1a\xae\xa6\xd9\x83\xaa\x2d\xd7\xb0\x75\xec\xb5\xf9\x92\x63\x5b\x88\x6b\xcd\x7a\x7d\xa6\xe4\xf4\x54\xd7\x29\x7a\xfc\x53\x9b\x23\xa1\x3d\x45\x43\x79\xad\xcd\x8e\x60\x4e\xe8\x20\x70\xb1\xea\xf3\x22\x38\xb7\xde\x0f\x38\xbf\xf2\x66\xc2\x75\x7d\x91\x5f\x7c\x52\xf1\xda\x8c\xe0\xa1\x57\x26\x5f\xf1\xd8\x72\xc2\x2b\x6c\x0c\x51\xf1\xd8\x6c\x06\x7e\x7f\xc5\x8b\x7a\xd6\xc3\x3a\x54\xd5\x2c\x53\x55\xee\xed\x88\x77\x64\xb6\x31\xb1\xbb\x8e\x6a\x90\x38\xdd\x16\xc4\xaa\x1a\x26\xce\x28\x06\x5e\x8b\x86\x89\xf3\x89\xc1\x54\x93\x86\x89\x53\x6c\x81\x24\x56\xe5\x9c\x57\x65\x80\xcd\xe9\xa9\x67\x36\xe8\xfe\x60\x1b\x40\x54\x1e\x35\xf4\xcc\x0a\x01\x84\x88\xc2\xd0\x5b\xab\x42\x00\x51\x61\xd4\x81\x67\x55\x6a\xa9\x80\x23\x5b\xed\xd8\xaf\xc1\x04\x12\x16\x6e\xed\x58\x8f\xff\xfb\xb5\x8d\x1d\xeb\x91\x7f\xbf\xb6\xad\x63\x3d\xe6\xef\xd7\x76\x75\x0c\x77\xfb\x71\x2e\x9a\x7b\x53\x3d\x1f\x00\x8a\x12\x73\x38\x56\x05\xae\x49\x05\xe0\xb4\xa2\x55\x73\x6b\xb2\x00\x58\xbd\x7d\x50\x03\x8a\x32\x65\xc1\xe2\x80\x35\xb1\x3f\xf4\xcc\xae\x23\xb9\x9b\x09\xee\xfa\x75\xe0\x92\xc5\xa7\x3e\x40\x5c\xbe\x31\xf0\xab\x96\x11\x22\xe6\x6e\xac\xbe\x3e\xf0\x21\x62\xde\x3e\xf2\x3b\x8d\x10\x31\x67\x1f\xf9\x3a\xb0\x69\x0f\x98\x80\x1d\x10\x40\xcd\xcb\x9b\xa6\xcd\x75\xad\x67\xb5\x6e\xfe\xb5\x1f\xdc\x6f\x98\x78\x0d\x01\x1a\x66\x5c\x43\x80\x86\xa9\xd6\x10\xa0\x61\x8e\x35\x04\x88\x92\x7d\x7e\x72\xf9\xc9\xc3\xf3\x27\x7b\x7b\xec\xdd\xb7\xdf\xbf\x7d\xf1\x92\x5d\xbe\x7a\xfd\x12\xcf\x9e\x4d\xcb\x6a\xef\x07\xb5\x97\x67\xe3\x8f\x93\xde\x0f\x0a\x40\x5e\x94\x8b\x95\xcc\xa6\xb3\x8a\xb5\x93\x0e\x58\xc2\x21\x1d\x0e\x3f\x93\xe5\x3c\x5b\xce\xd9\xb7\xef\xd8\x68\x59\xcd\x4a\xa9\x7a\x6c\x94\xe7\x0c\x61\x15\x93\x42\x09\x79\x2b\xd2\x1e\xb4\xf1\xbd\x72\xa7\x82\xab\x72\x29\x13\xc1\x92\x32\xc5\xf3\xf0\xa7\xe5\xad\x90\x05\x1d\x1a\xcd\xd9\x57\xef\x2e\x76\x55\xb5\xca\x05\xcb\xb3\x44\x14\x4a\xb0\x6a\xc6\x2b\x3c\xe0\x7a\x2c\xa0\xa5\x49\xb9\x2c\xf0\xe0\xd3\x6a\x26\xd8\xeb\x57\x2f\x5e\xbe\x79\xf7\x52\xef\xc8\xfd\xa4\xb5\x54\x74\x92\x56\x52\xb5\xdc\xf6\xde\x5f\x4b\x3e\x66\x63\x3e\x05\x04\x96\x55\x96\x67\xd5\xca\x1e\x15\xe5\xed\x20\x3e\x61\xe7\xec\x27\xef\xe0\xa3\xb7\x74\xea\x12\xbb\xe5\x32\xe3\xe3\x5c\x30\x29\x26\x42\x8a\x22\xc1\xb3\x94\x19\xf7\x0e\x48\x04\xf0\x3f\x6a\x30\x3a\xce\xab\xa4\xe3\xb9\xf0\xf0\xf7\x7f\xbb\xfc\xfe\xcd\x8b\xf7\xaf\xbe\x7d\xd3\xfe\xe3\xe8\xed\x9b\xd1\x37\x2f\x3b\x3d\xc6\xcc\x35\xa0\x00\x2f\x58\xb9\x00\x6c\x78\x0e\x2d\x09\x95\xf0\x85\x70\x47\x97\x56\x25\xe3\x8b\x45\xbe\x32\x1b\x92\x07\x27\x88\x5d\x96\x92\x89\x7b\x3e\x5f\xe4\xfa\xf0\x7d\x3a\xa0\x54\x1f\x19\xf5\x47\x2e\x55\x7b\xe7\xdf\xda\xc0\x07\x55\x56\x4c\x3b\x5d\xf6\x6f\xa2\x00\xca\x7f\xff\xf6\xd5\x0b\x73\x72\x1d\x9d\x97\x05\x7c\xf3\xb4\xf1\xdc\xd1\x9f\x98\x79\xfe\x8c\xed\xfc\x07\x30\xd6\x7a\x58\x3a\xb9\xea\x8c\xed\x7c\x5d\x96\xd3\x5c\x3c\xdb\x61\x0f\x9d\xe7\x1a\xd7\x3f\x65\xc0\x1d\x42\x2d\xf3\x0a\x28\x48\x4d\x75\x19\x41\xfe\xdb\xf0\xab\x1d\x6f\x30\xfc\x1e\xf8\x47\x7b\xa9\x4a\x76\x61\x48\x14\x9d\xef\xa5\x4f\xad\x52\x95\x74\xa7\x64\xfd\x5b\xfb\x8a\xef\xfe\x78\xfd\xb4\xf3\xa1\xdd\xbe\xfa\xf3\x87\xce\xf5\xb3\xce\x87\xce\xde\x34\xeb\xba\x56\xf0\x9c\xb9\x2e\x9b\x14\xd8\x96\x3b\x2e\xcc\x1c\x32\x57\xad\x16\xa2\x9c\xe0\x7b\xae\x34\xc0\x35\x1e\x99\xb7\x2c\xf0\x28\x52\x91\xb6\x3a\xf6\xac\x56\x3c\xac\x97\xb5\xbe\xa7\xf3\xd7\x2c\xbf\xd0\xf1\x71\xfa\x69\x7d\x08\xb3\x3e\x1a\x1a\x8f\x36\xf7\xdb\xb6\xb7\xe1\xe5\x93\xc2\x9c\xe8\x15\x50\xa1\x67\x79\xd6\xe1\xca\xa8\xad\x0d\xb0\x57\x93\xe2\xba\x2d\x6f\xed\x59\x78\xfa\xf8\x3d\x7a\x8f\xdf\x50\xd4\x8b\x88\x09\xa9\x33\x93\xc2\x36\xf3\x24\x3c\x5b\x4f\xde\xea\xa3\xf5\xc2\x93\x14\x2f\x0d\x1a\xbe\x14\xb3\xa5\x32\xc7\x0f\xfb\x28\x6b\x26\x79\x91\x67\xa2\xa8\x14\xc2\xf2\x34\x25\xa6\x37\x07\xd7\x55\x25\x13\xf7\x95\x28\xd2\x06\x36\xef\xac\xe1\x1e\x47\x0b\xbd\x31\xbf\x15\x80\x33\xf7\xb5\xeb\x5f\xb7\x82\x71\xd6\x70\x0d\x21\x91\x38\xff\xf1\xfe\x9b\xd7\x67\x01\x67\xfa\x67\x29\xce\xf9\x42\xbf\x0f\x4f\x4b\xf8\xbc\x75\xc6\x5a\x9f\xe5\xd5\x73\x7d\x7c\x02\x63\xad\x2f\xf0\xd2\xd4\xbf\xf4\x19\x5e\xe2\xf3\x85\x77\x6d\x07\xaf\xfd\x65\x59\x7a\x80\x3b\xad\x1d\xb8\xf8\x87\xfd\xd3\xe7\x2d\xa2\x7b\x78\xca\x77\x20\x0f\x57\x9f\x7f\xf1\xd9\x87\x9d\x0f\xad\xeb\xbd\xa9\x2f\x02\x1d\xf6\x93\x01\x9f\xf3\xc5\xd5\xfc\x9a\x24\x95\x3d\xf8\x03\xf8\xb5\xa8\x50\xe7\x98\x63\x03\x79\x92\x88\x45\x25\x52\xf6\xfd\x2b\x96\xf3\x62\xba\xe4\x53\x77\xc8\xb5\x39\x04\xd0\xbe\x83\x8e\x1a\x7e\x60\x09\xcf\xf3\x31\x4f\x6e\x2c\x3f\xc0\x40\x66\xc5\x6d\x79\x23\x88\x0f\xe0\x15\xa4\x18\x54\x8f\x81\x75\x31\xea\x05\x5b\x14\x95\x90\xa8\x27\x2d\x1a\x79\x89\x27\x6c\x80\xec\xf8\x1a\xbc\x37\x15\xd5\x08\x31\x7c\x6d\x70\x0b\x4e\xc5\xd4\x68\xb8\xa3\x01\xef\xb2\x22\x2d\xef\x7a\x09\x98\x32\xc1\x3e\xfb\x8c\xd1\xb7\x5e\x36\x38\xb1\xc2\xe1\x5d\x6a\x68\xdf\x35\xfa\x3c\x3e\xdc\x52\x89\xea\x7d\x36\x17\xe5\xb2\x6a\x5b\x14\x7c\x89\x33\x4f\xb6\xaf\x0a\x7e\x9b\x4d\x79\x55\xca\x9e\xa1\xa9\x1b\xbd\x5d\x3c\xf1\xef\x63\xab\x73\xed\x64\x18\xcc\x7c\x6d\xa8\xbe\xe3\x52\x09\xc6\xd9\x5f\x96\x42\xae\xb4\x71\x32\x27\x50\xce\xb8\x9a\x05\xc7\x40\x56\xfc\x06\x2c\x15\x5b\xca\x3c\x7e\xc0\x19\xae\x16\xd0\x77\x70\x8e\xf6\xe6\x33\xf8\x3e\xa4\xef\x2d\xc6\x8b\x14\x9a\x4a\xcc\x31\xe9\xde\x59\xcc\xe5\xf8\x07\x91\x54\x81\x01\xfc\x09\x07\x6a\x70\xc6\x5a\xf4\x78\x17\xff\x1e\xda\xbf\xd9\x43\x4f\x9f\x91\xce\xf5\x29\xe9\x78\xac\x21\x5f\x2c\x04\x68\xff\xf9\x32\xaf\xb2\x45\x2e\x58\x95\xcd\xc9\xf6\x42\xcb\x3e\xd6\x5d\x56\x16\x60\x1f\x89\x6f\x72\xae\x2a\x7d\xca\x33\x1e\x9e\x4a\xed\x98\xe7\x88\xcd\xa2\x03\x38\x8b\xd4\x1c\x55\x0e\xc6\x7b\xc1\x15\x68\x28\xd0\x88\xcb\xe9\x8c\xa5\x22\xd6\x01\x6c\x2c\x26\xa5\x14\x6c\x2c\x80\x64\x3c\x4d\x05\x92\x43\xdb\x67\x6d\xe1\x88\x10\xeb\x0e\xc8\x44\xf4\xe9\xd0\x6e\x7d\xc4\xa2\xd4\x67\x8e\xe0\xc9\xb6\x74\xc2\x67\x56\x31\x55\x71\x20\x30\x4a\x09\x37\x52\x91\x0b\x8e\x27\x94\xb4\xbe\x6c\xd1\x69\xb1\xad\x2f\x5b\xf6\xa0\xd8\x6c\x5a\x94\xd2\x3f\xc9\x7a\xd2\xc3\x26\xff\x3f\x24\x98\x27\x0e\x1e\x0a\x4e\x22\xbc\x8b\xf5\x23\xad\xbf\xd4\x56\xcf\x47\xfe\x9c\x35\x3c\x32\xa0\xd3\x7f\xad\xb1\xfb\xe9\xc1\xfe\xbd\xe0\x19\x5a\xf4\xe0\xa9\x45\x9e\x55\xed\xd6\x67\x74\xae\x65\xd3\x99\xc1\xf8\x54\xd3\xa9\xe4\xa6\x49\x76\x4e\x30\x57\xd9\xb5\x69\xee\xbc\x65\x0e\x70\xbf\xbd\xaa\x8f\x61\x1b\xc0\xaf\xfa\xd7\x9d\x6b\x76\xde\x30\xc4\x74\x7b\x70\x5d\x3b\x45\x18\x2c\x1d\xf4\xc6\x2a\x9c\xef\xdf\xbe\xf6\xa9\xba\xe0\xd5\x6c\xbb\x82\x91\xcb\x02\xb8\xb9\x7e\x45\xb7\x18\x1c\xdd\xd9\x08\x41\x2f\xf2\x8f\xee\x84\x0b\xe1\xc1\xb4\x39\x9f\x2f\xac\x4c\x65\x45\x25\xa6\x42\xa2\x3b\xc9\xd4\x42\x24\xd9\x24\x13\x29\xc3\x5a\x88\x98\x4b\x35\xec\x03\xbb\x45\xe6\x24\x61\xaa\x4a\x60\xaf\x04\x1a\x25\xf6\xaa\x83\xcf\xb3\x02\x1f\x98\x67\x45\x36\x5f\xce\xb5\xb9\x40\xef\xd9\x7a\xad\x0d\x4f\xf1\x7b\x7a\x8a\xdf\xaf\x7d\xca\xb0\x32\xbe\xde\xa7\xf7\x6d\x17\xde\xd6\x85\x87\x1d\xd9\x6f\xd9\xe7\x70\x35\xa0\xe2\x3c\x2b\x9e\xdb\xdb\x5f\x20\x7c\x70\x9b\xdf\x7b\x87\xfc\xde\x06\x84\x7c\x2d\x26\x15\x5b\xf0\xd4\x3a\xfd\x44\x44\xa2\xab\x3e\xdf\x7c\xa9\x50\x17\xe8\x8b\xc9\x8c\x4b\x9e\x54\x42\xae\x93\x7f\x55\xc9\x9a\xdc\xaf\x21\xaa\x7e\x01\x40\xa7\x42\x65\x52\xa4\xfa\x52\xaf\xa9\xe1\x72\x51\x7d\x4c\x08\xda\x04\x15\xd0\x34\xea\x0b\x8b\x55\x97\xa5\x62\xc2\xc1\xdc\xc2\x9b\x5b\xac\xb5\xfe\x44\xde\x05\xaa\xb7\xda\x69\xf0\x93\x5e\x0e\x04\x89\x3d\x73\x42\xac\xab\xb1\xa0\x01\x81\xae\x9e\x33\x12\x75\xf4\x92\x80\xce\x1a\xcd\x73\xf3\xe5\xe7\x9f\x01\x0d\x64\xe7\xbb\x59\x96\x0b\x06\x90\xe6\xec\xf8\xcf\x75\xbb\x34\x60\xd4\x9e\x7e\xee\x19\xfc\xe9\x4b\x01\xfe\xd9\x3c\x76\xc5\x72\x3e\x36\x02\x10\x8c\x1d\x6a\x57\xa3\x54\x7f\x14\xb2\xac\xb9\x34\xd4\xfd\x9f\xed\x98\xe8\xa6\x80\x40\xae\xd5\x5f\x3b\x82\x1b\xc8\xae\x1b\xe7\x2a\x88\x37\xcd\x10\xfc\x18\x0d\x01\x41\x9b\x51\x08\x22\x24\x37\x66\x11\x54\x97\xb5\xfa\xad\xd0\x6b\x7f\xab\xcf\xcb\x36\xcc\x99\x94\x45\xc5\xb3\xc2\xe7\x6f\x8d\x97\x39\xac\xda\x71\x96\x0a\xdc\x8c\xb9\xa8\x66\x65\xca\xe6\x3c\xc3\x16\xa8\x17\xbc\xca\x12\x96\xf0\x64\x66\xc3\xe4\x9c\xcb\xa9\x50\x15\xe3\xf3\x72\x59\xa0\xef\x40\x89\x18\x68\x1a\x23\xe2\x5b\x21\x99\x14\x7f\x59\x0a\x55\xe1\x89\xe9\xaf\x2a\xa6\x66\x78\x5a\x77\xab\xb2\x11\x45\x55\xb2\xa9\x28\x84\xe4\x95\x00\x47\x24\x2b\x14\x2f\x44\xbe\x62\xb3\xe5\x54\xb8\xa6\xf1\x4c\x75\xdb\xfa\x5a\xc5\xd7\x30\x64\x4d\xd8\x35\x8a\xe0\xc8\x10\xce\x9d\xe5\xad\x3b\x6a\xfb\xe0\x8d\xbf\xe7\xbb\xfe\xc9\xb6\xeb\x8f\xaa\x3f\x9a\xa0\xbd\x34\x6a\xe7\xe7\xac\x1f\x68\xb0\x56\xcb\x1a\xd9\x09\x3b\xc7\xa8\x29\x6c\xd4\xa8\xbf\x4f\x26\x3d\xd7\x03\x6a\xc2\xbf\xc2\xce\x59\xcb\x85\xf3\x81\x4c\xea\x57\x7f\x11\xc0\xf7\x7c\x04\xa3\xa6\x9e\x9d\x07\x7f\xc7\xc6\x34\x68\xc6\xb9\x1b\xba\x41\x62\x4a\xa6\xb9\xf2\x65\xa1\x96\x52\xa7\x83\xb8\xcb\x8e\x64\x0a\x1d\x69\x1d\x51\x62\x62\x26\x11\x12\xb8\x0d\xfd\x45\x96\x67\xf3\xcc\x7a\x61\xef\xb2\x39\x38\x92\x4b\xc5\xa7\x82\xe5\x65\x79\x03\x71\xe5\x8d\x20\x5a\xf5\x0c\x14\x0a\x8b\x14\xd3\x4c\x55\x42\xbe\x2a\xb2\xaa\x4d\x23\xc4\x73\x2e\xe7\xed\xb2\x80\x4b\x1d\x9b\xd5\x40\x46\x47\xe7\x2b\x2f\x41\x40\xee\xb8\x2c\xbc\xe3\xe3\xf4\x19\xf3\x40\x78\x7a\xb2\xdd\x01\x9c\x8b\xb2\xd2\x11\x90\x41\x1c\xda\x3a\x64\x4a\x24\x65\x91\x5a\x29\x7a\x35\x61\xab\x72\xd9\x02\xa7\x54\x48\x70\xa6\xa1\x65\x05\xbe\x44\xb9\x00\x4e\xc7\x58\x0a\x28\x32\xe7\x2b\x74\xea\x59\x5e\x16\x68\xe5\x67\xbc\x70\xcd\x41\x23\xe8\xb0\xf3\x02\xbd\x5b\xc6\x59\xba\xd4\x8f\x67\x60\x1a\xf3\x3c\x33\xa0\x5c\x21\xde\xd6\x78\xd0\x75\x17\x89\x85\xa8\x99\xe6\x4c\xf8\x90\x8a\xa2\x02\xc7\x02\xfc\x6d\x55\x09\x8e\x07\xda\x73\x17\x01\x9a\x71\xeb\x62\xbf\xf2\x9c\x4d\x45\x45\x8e\xed\x9d\x04\x47\x5d\x1a\x19\x2e\x25\x93\xbc\x9a\x99\xae\x70\x06\xf6\x35\x17\x06\xac\xc7\xd8\x4b\x9e\xcc\xb0\x61\x4d\x6a\x68\xc4\x3d\x7c\x47\xc9\x26\xad\xc9\xe8\xa9\x94\xdd\x0a\xa9\xa0\xd3\x5a\x1e\x2d\x5a\x77\x28\xe1\x55\x09\x6d\x70\xa6\x66\x1c\xff\xa4\xe8\x0d\x23\xd2\x4c\xc1\xa8\x81\x6b\x9a\x70\x25\x14\xbb\x9b\x09\x29\x90\x00\x77\xbc\xa0\xc4\x84\xcf\x9f\x15\x98\x13\x55\x41\x73\x65\x21\x88\x06\x4a\xd0\xc9\xfb\xfa\x9d\xd8\xa0\x61\x01\x1d\x50\x70\xf3\x4e\x26\xee\x17\x99\x74\xa1\x35\x89\x35\x32\xa0\xcd\xf7\x10\x3b\xb6\x26\xa2\x4a\x66\x3a\xda\x40\x8f\xd7\x66\x01\xcb\xb2\x87\x37\xbf\xc5\x7b\x6d\xc3\xbe\xef\x96\x49\x22\x94\xea\x74\x99\xb9\x72\xc9\xb3\x7c\x29\x85\xe3\xe9\x5a\x24\xff\xd4\x8f\xe2\x41\x29\xfa\xd9\x49\x20\x2e\xa6\x44\x0b\x6a\x31\x36\x82\xe4\x94\xcc\x15\xfb\xd6\xf0\x94\x33\x1f\x01\xeb\x41\x5b\x3c\xb3\xe1\x95\xe4\x19\x0c\xba\x89\x7a\x6c\xf3\x8c\x5d\x90\xf7\x02\x14\x3c\xec\xf7\xfb\xac\x6d\x39\xbd\x13\x9a\x54\x83\xe6\x03\xb0\xab\xed\x00\xe6\x12\x5c\x0f\x66\xc2\x84\x86\xe4\xfb\xb9\xd0\x71\x6c\x13\x11\x70\xdf\x30\x91\x69\x87\x82\xb4\xb0\x55\xe3\xcf\xad\x6d\xd3\x34\x38\x16\x21\x0e\xbc\xb2\xd6\x4b\xb1\x42\xdc\xd5\xde\x16\x24\x3a\x0c\x27\xd4\x72\x1b\x5d\x4d\x6b\xd2\xc6\x98\x88\x52\xda\x5b\x9a\x2b\xf0\xb2\x0e\xd9\x53\x36\xe8\xf7\xfb\xcf\xf5\x6d\x55\x01\xee\x86\xa7\xa6\xa2\x7a\x07\x17\x4c\x04\xa7\xd1\xaf\x27\x30\xf0\xb4\xd3\x4c\xb1\x72\x59\x09\xd9\xa4\x8d\xb3\xf9\x5c\xa4\x19\xaf\x44\xbe\x42\x83\xdd\x52\x0c\x45\xa6\x2a\x59\xc2\x17\xd5\x12\xb9\xbd\x10\x77\xa6\x35\x95\x94\x0b\xcc\x17\x20\xd9\x8c\x18\x98\x64\x6a\x2f\x38\x63\xb5\xa5\x6f\xb7\x5c\x72\x3e\x53\x46\x6a\xc7\x2b\x4a\x18\x9a\x26\x9c\xc6\x81\x30\x1f\xf5\x04\xb5\xe4\x84\x5f\xab\x14\x1b\x50\x9a\x47\xcf\xb7\xe4\x70\x00\x16\x53\x15\xe7\x36\x65\x6c\x1b\x85\x78\x99\x98\xa1\xd5\x61\x5f\x12\xd8\x99\x63\x1d\x4a\x0a\xbb\x8c\x39\x3b\xa7\xff\x7d\xc9\xda\x2d\x4a\xb6\x52\x56\xfa\x0c\xcd\xba\x4e\x18\x91\x29\xe9\x81\x85\x69\xb7\x3c\x46\x38\x8b\xd4\x46\x4a\x2d\xb4\xe7\x8a\xed\xe1\x60\x77\xd8\x33\xd6\x52\xb6\xd5\xb8\xc1\xbc\x04\xc7\xdc\x24\xb1\x90\xdd\x2d\x05\x8a\x65\x9e\xeb\xdc\x6e\x97\xcd\x55\x47\x27\x1a\xa1\xeb\x9a\x6e\x5f\x5b\x9d\xbb\x36\xd7\xe6\x79\x29\x8d\xa9\x30\xcc\xb9\xd3\x2b\xfd\xcb\x8c\x25\xb9\xe0\xd2\x8c\x80\x81\x78\xee\x01\x34\x21\x1a\x24\xa8\x5d\x14\x6d\x48\x8f\x93\x29\x6d\x00\xef\x32\x2e\xa7\xcb\xb9\x28\x2a\xe5\x92\x6b\x41\x3e\xd5\x9b\x0c\x68\x1c\xd9\xb0\x6f\x31\x41\xc2\xa4\x6c\x7c\x37\x4a\x1d\x76\xda\x8d\x5e\x78\xe5\x9f\x8b\x0b\xc6\x8e\x04\x96\x4f\x40\xee\xd4\x4d\xb6\x58\x34\xfb\xe5\x13\x69\x92\xa3\xb1\x37\x8e\x66\xa7\x12\x45\x4a\x3e\xb3\x71\x9f\x41\xf4\x52\x31\x5e\x4e\xa7\xe8\xba\x16\x5a\x6e\x35\xf6\x8a\x71\xf4\x50\xc8\x96\x04\xc6\xbd\x60\x98\xe7\xed\xb2\xb1\x48\xf8\x12\x67\xec\x9c\xdb\x43\x84\x02\x8f\x40\x31\x0e\x60\x8a\x8d\x57\xd0\x90\x0e\x40\xb5\x50\x72\xd0\x0f\xe0\x13\xdd\x81\x22\xbc\x13\x68\x55\x0d\xf2\x23\x56\xad\x16\x59\xc2\x73\x22\xc0\x1c\xe7\x22\xc1\x7b\x43\xe7\xcd\xf3\xdb\x42\x8e\x6e\xbd\x2b\xa1\xc7\xd0\x9b\xbb\x2c\xb9\xc1\x8c\x1e\xb8\x6a\x7c\xc5\x12\x3e\x17\xad\x6e\xac\xf3\x3a\xc6\x7a\x82\x76\x58\xf7\xef\x4d\x59\x65\x89\xe9\xe3\x7c\xce\xd9\x9f\x03\x3f\x10\x82\x12\xb6\x90\x59\x41\x79\xf3\xb9\x50\xe8\x6b\x6a\x67\xf0\x07\x65\x30\xec\xb2\x49\x99\xe7\xe5\x9d\x9e\xf7\x34\x79\x53\x1d\x9d\xa0\x63\x53\x50\xba\x45\xa3\x5e\x32\x29\x6e\x05\xcf\xf5\x99\xc4\xc0\xc8\x91\xb1\xa6\xb1\x27\x63\x4b\x49\xc0\x4b\xe4\x81\x30\x17\xe0\x45\x6e\xc8\x48\xc4\x27\xda\xf5\x41\x96\xc7\x47\x29\x0d\xcf\x78\x52\x2d\x79\xce\x5a\x86\x46\x2d\x1a\x02\x30\x75\xf9\x1d\x0c\x66\x43\xb6\xd1\xc0\xfa\xea\x20\xc6\xc9\x99\xa7\x00\xd3\xf3\x3a\xf2\x5f\xd6\x2f\x3d\x63\x43\x76\xc6\x86\x36\xda\xc1\x8e\x20\x0f\xe2\xa5\x4a\xae\xb4\x0e\xa1\x39\x2d\x30\xa6\x2f\xa5\x2c\x65\x5b\xe7\xe8\x13\x0e\x1e\x53\x5b\xdc\x1b\x5d\xe3\x1a\x60\xe7\x4c\xdc\xf7\x88\xbc\x3a\x8d\xf8\xa1\x68\xb9\x24\xa0\x7d\x9d\x96\x03\x4a\x6d\x46\x39\x4b\x1f\x59\x4a\x5f\xba\x17\x34\xe5\x30\xbd\x06\xaf\x32\xb6\x1b\x3c\x7f\x0d\x46\xc8\x3e\x7d\x95\x5d\xbb\x99\x81\x3f\x7f\x50\x4f\x79\xf5\x41\x3d\xdb\xeb\xb2\x56\xab\x96\xa8\xf4\x5a\x0d\xf4\xca\x45\x76\x9b\xa5\x82\x9c\xfc\xea\xae\xd4\x0c\x41\x49\xf0\x49\x5e\x96\x52\xf9\xd3\x31\x5d\xb6\x2c\x72\xa1\xcc\x35\x88\xe4\x53\x9a\x8d\x81\xab\x98\xf5\x46\xf7\x1c\xe2\x88\x44\x8a\x14\xcf\xe9\x56\x73\x60\x12\xf4\x79\xba\xe0\x18\x1a\x8e\x56\x82\x65\x4e\xa1\xa0\x08\x89\x2c\xd7\x49\x0d\xeb\x64\x2f\x95\x98\x2c\x73\xf0\xb0\x49\xfb\x99\x1c\x08\x38\x0f\x72\x59\x24\x1c\xe2\x67\xbe\x58\xc8\xf2\x3e\x9b\x73\x9a\xd9\xc3\x39\x21\x08\x7c\xa0\x21\x4a\xe5\x93\xbd\x57\x25\x4b\x4b\x50\x01\x69\x76\x9b\xa1\xeb\x6f\x26\x9c\x94\xb0\x5d\x5f\x65\x22\x87\xc8\xc7\x4d\x4e\x9b\xae\x60\xd0\x94\x97\x4a\x50\xd6\xe8\x6e\x06\x3a\x8d\x1e\x5b\x27\x7e\xc5\x72\x4e\xfa\xbd\xe9\x66\x2a\x8a\x72\x9e\x15\xf6\xb6\xf1\x53\xf5\x7d\x4f\x8a\xd4\x9c\xcb\xea\x12\xc6\x83\x06\x2c\xca\xf3\xd0\x2b\xba\xcc\x6f\xd1\x09\xd5\x2d\xcf\xd1\x22\x6a\x30\xb6\xe7\x83\x19\xcf\x4f\xd3\x9e\x9d\xb3\x6f\x78\x35\xeb\xc1\x9f\xed\x5b\x9e\x77\x4c\x9a\xc0\xdc\xdf\xc5\xe6\x3e\x67\xbd\x7e\xbf\x3f\x30\x3c\x6b\x8c\x2a\xc1\xd4\xe6\xbe\xf4\x6d\x6c\x18\x99\xca\xb6\xfc\xb0\xbd\xf0\x44\x2b\xcd\x8f\x73\x5e\xf0\xa9\x90\xff\x22\x65\x28\xdf\x50\xaf\xbe\xa1\x4e\xb1\x24\x87\xc0\x79\xc6\x8b\x34\x17\x64\x90\x65\xc1\x49\x47\x67\x3f\xda\x84\xab\x35\xe0\x6f\xca\x4a\x9c\xf9\x73\x91\x2c\x53\x45\xab\x62\x6a\x39\x99\x64\x49\x46\x93\x52\x68\x7e\xc9\x1e\xa2\x2a\x1f\xf4\x80\x44\x52\xb4\x80\xb7\xc7\x4b\x9c\xdd\xd3\x53\x11\x3a\x69\x70\x23\x70\xf2\x6e\x59\xf0\x5b\x9e\xe5\xe4\x49\x17\x2c\x23\xa3\x70\xe6\x15\x79\xcc\xaa\x6a\x71\xb6\xb7\x97\xc8\xf1\x72\xda\x4b\xca\xf9\xde\x60\xbf\x3f\xec\xf7\x0d\xc4\xb0\x47\x07\xf8\xe3\xe4\x3d\xd1\x74\xce\x57\x68\xd1\xc7\x82\x2d\x78\x72\xc3\xa7\x22\xa5\xba\x99\x17\x84\x01\x4e\xe4\x83\x44\x5a\x74\xf7\x9b\x1b\xc1\x06\x24\x4d\x3f\x03\xa7\x48\x2e\x57\x51\x93\xd5\x2c\x93\xe9\x2e\x40\xad\x3c\x9c\x9b\x5e\xe4\x0b\x25\xaa\xd4\x07\x37\x8f\xcd\x5e\x9b\xe9\x65\x7b\xa5\x2a\x59\x5e\xf2\xb4\x6b\x46\xba\x94\x29\x66\x24\x84\x7d\x0f\xe5\x21\x01\x49\x00\xc4\xec\xe4\x1b\x71\x27\xa4\x31\xfd\xca\x14\x39\xb0\x32\x87\x67\xcb\x42\xa8\x1e\x63\x2d\x51\xb4\x58\xa6\x6c\x6c\xbb\xc4\x92\x47\x70\x72\xf2\x15\xcd\x28\x9a\x44\xcc\x24\x93\xaa\xb2\x28\x81\x64\x66\x95\xc9\x20\xf1\x5c\x0a\x9e\xae\xd8\x02\xb8\x9c\x1c\x26\xd2\x1f\x11\xb3\xf9\xd9\x44\xd3\x37\x92\x64\xcc\x7c\xd9\x6b\x1f\x21\x10\xb4\xd3\xfa\x73\xbe\x68\x6b\x07\xd7\x3e\x2e\x72\xaf\x6e\x40\xe4\x0d\xf3\xd4\x58\x46\xa0\x55\x48\xd4\x7a\x0f\x8c\xc7\xfd\xb7\x93\x36\xf4\x1e\xa7\x14\x77\x07\x1d\x6d\xa9\x43\xc0\x65\xa1\x66\xd9\xa4\x22\x40\xb2\xea\x00\x61\x69\x4a\x76\xd7\xb3\x6a\xa3\x34\xb5\xce\x16\x96\xe8\x64\xba\xee\xa4\x0c\xfc\x30\xa3\x52\x1a\xe6\xc2\xe3\xa9\x6b\x05\xe1\xd8\xa4\x94\x73\xae\x59\x4f\xb3\x93\xc1\xa1\xf7\x83\x2a\x0b\x12\x79\xc6\xde\x09\xcc\x14\x7c\x6e\xc4\xa4\x4c\x45\x6f\x8a\x75\x4d\x28\x2c\x24\x74\x7b\x96\x13\xd5\x1e\x88\xf0\xae\x6d\x6a\x56\xcd\xf3\x2f\xd6\x8d\x5e\x6f\x21\xcb\xaa\x84\x28\xa4\xc7\xd3\xf4\x1b\x47\x02\x3b\x28\xa9\x98\xe8\xe1\xb4\x7e\xc8\x8d\x58\x01\xcf\xba\x3b\xa4\xf3\x53\x31\xc1\xe9\xce\x89\xba\xba\x11\xab\x6b\x2f\xca\xf9\x24\x15\x93\x1e\x8e\xe5\x0c\x19\xd5\xab\x32\x0a\x48\x8f\xcf\x51\x1b\xe6\x9a\x0e\x0f\x7d\xfd\x8f\x2e\xb4\xa9\xa0\xdb\xf9\xf4\xcd\xe8\x9b\x97\x9f\xee\x30\xbf\x79\xb2\xc3\x3b\x9f\x0e\x76\xba\x4c\x54\x49\xef\x91\xef\xb2\x0c\xe7\xc5\x80\x7b\x1f\x3e\xa5\x92\xaf\xab\x3f\x7f\x50\x1f\x3e\xbd\x7e\xd6\xf9\xf0\xe9\x5e\x36\xed\x7a\x20\xae\xec\xa5\xcb\xc2\x72\xaf\x20\x80\xb3\x84\x09\x28\x71\x05\x4f\xf4\xaa\xf2\x75\x79\x27\xe4\x0b\xae\x44\xbb\x73\xdd\x4b\x4a\x88\xa1\x2a\x3f\x16\x7d\xd0\x41\xe4\x43\x5c\x9a\xf1\xba\xe4\xa9\x27\xcb\x4e\xd7\x5a\xa9\x36\xfc\x39\x5e\x82\x3d\x58\x37\x69\xb8\xe0\x15\x98\x09\x36\xc2\xba\x0d\xf3\x57\x30\x3d\x03\x04\xd5\xc9\x49\x9c\x59\xc1\x42\x19\xa3\x65\x30\xc3\xa0\x15\xd6\xb4\xec\xad\xaf\xd9\xe9\x9a\xca\x9d\xb2\x78\x51\xce\x17\xb9\xa8\x44\x50\xbb\x33\x16\x36\xe9\x0e\x5e\x1a\x68\x3e\x2f\x51\x97\x41\x94\x43\x4f\xe9\x30\x02\xfc\x4c\x1d\xfd\x71\x83\x99\xd6\xb5\x8a\xb2\x91\xe0\xf1\xa1\x07\xca\xb3\x9c\xaa\x29\xe0\x5f\x50\xe7\x83\xd9\x36\x47\xc5\xa0\x34\x48\x4f\x4c\xf4\xbb\xac\x28\xf5\x53\x8a\xdd\x09\x29\x5c\x4b\xa8\x9c\xb7\x8b\xd8\x24\x2b\xd2\x51\x91\xc2\x90\x35\x89\x1a\x0e\xb0\xa6\x7c\xd7\x23\x8f\xf3\xbd\x72\xaf\xf4\x28\x56\x6b\x49\x09\xee\x2b\xc5\x21\x08\x8b\x58\xb1\x73\x76\x75\x6d\x2e\x11\x01\xf4\xa5\x27\x8e\x73\x59\x59\x98\xa2\x23\xf3\xce\xb6\xaa\x78\x65\x59\x19\x84\x38\xb8\xc0\x5c\xf3\x4e\xa7\x93\x5a\xed\x34\x8a\xac\x7d\xf5\x3a\x70\xa7\x2d\x1c\x44\x38\xf9\x83\xd1\xd7\x1b\x71\x6f\x0b\xa4\xd6\xbc\xca\x11\xae\x4d\x48\x76\xf5\xdb\x03\x11\xd2\x24\x89\x9a\xf4\x87\xa3\x63\x23\x3d\x20\xb4\x37\x66\x64\x7a\xb4\xb2\x78\x6b\x2b\x77\xdb\x76\xe8\x9c\x1d\xec\x3e\x69\x8e\xf4\xeb\x04\xef\x8d\xb3\x22\xc5\x96\xbb\x10\x8a\x88\x5f\xf9\xe8\x84\xe7\x8a\x92\xed\xec\xc1\x5d\xef\x98\xe0\x35\x26\x5f\xac\x48\xac\x11\x9c\xc8\x72\xce\x78\x93\x41\xda\xce\xe6\xf9\x26\xfe\x5e\xca\x1c\x78\x5b\x4f\x14\x50\x4a\xb9\x2c\x30\x86\x76\x7c\x7e\x3f\x03\xbf\x02\x82\xeb\xff\xfa\xe6\xf5\x7f\x54\xd5\xe2\x2d\x4d\x6e\xb6\xa9\x23\xf7\x33\xd9\x2b\x0b\x1c\xdc\x22\x6d\x1a\x32\x60\x23\x00\x02\x9e\x5d\x2a\xf6\xc9\x39\x1b\xf6\xfb\x61\x19\xae\xff\x5e\x4b\x69\xef\xa2\xf7\x7c\xe7\x79\x58\x91\x1a\x70\x2c\xf2\x82\x67\x3b\xdb\xff\xf9\xee\xdb\x37\x54\x15\x85\x4d\x48\xa1\x16\x65\xa1\xc4\x7b\x71\x4f\x13\x7b\x38\x84\xba\xfb\xed\xe6\x81\xc2\xfe\x2d\x44\xd1\x6e\x7d\xfd\xf2\x7d\xab\x0b\x34\x43\x40\x44\x49\x14\x69\x2d\x9b\x47\xb6\xf0\xd3\x41\xaf\xd7\xfb\xb4\xf0\x8b\xc9\x6d\x05\xa4\xc8\x05\xe6\x22\x8d\x07\xc2\xe5\x54\x27\xcd\xd6\x19\x84\xb9\x9a\xea\xc2\x0a\xdf\x0a\xf8\x0e\x0f\xe8\x54\x93\xe4\xf4\x5e\xda\x6b\xf0\x83\xf1\x75\x94\x05\x89\x1a\xb3\x0d\x50\x64\xbd\x96\xbd\x6a\xe2\xe6\x8f\xfb\x5c\x4d\x31\xdf\x1a\x56\x6e\xcf\xd5\xd4\xf9\x90\x1f\x3e\x6d\x7f\x48\x9f\x75\xfc\x3a\x55\x06\x16\x1b\xdd\xc6\x5a\x26\x19\xda\xba\xc2\x5b\x6c\x97\x0d\xae\x1b\x0b\x90\xbf\x13\x72\x37\x2b\x54\xc5\x0b\x0c\xf5\x16\x2b\xa0\x6d\x0d\xcd\x47\xc8\x4b\x43\xd7\xf0\x7d\x8f\xa1\x42\x58\x4e\xcb\x9d\xb1\x5f\xa1\x65\xeb\xda\xe4\x5c\xbe\xd2\xb8\xa1\x2d\x37\xa9\x69\x56\x95\xe5\x06\x06\x40\xa3\xde\xcc\x04\x78\x4b\x33\x93\x97\x89\x9c\x8a\xaa\x69\xfc\x41\xb0\x90\x07\xec\x34\x1d\x7f\x24\x33\x34\x16\x21\x99\x04\xaf\x6d\xcd\x56\x91\xe9\xf1\xcb\x34\x62\xba\x0b\x14\xd2\x18\x7b\x8d\xf1\x75\x8f\xe9\x2c\xb8\x0a\xba\x80\xe0\xe3\x95\x49\x21\x3f\x62\xf4\xa6\xa2\x8a\x58\xd1\x12\x1e\xbb\xdc\xf5\x31\xf6\xa6\xce\x8c\x7f\xab\xc3\x19\x8b\x6a\x11\xfa\xa9\x86\x35\x0d\x82\xe7\x91\x1b\xab\x9f\x23\x83\x1e\x58\xc2\x5a\x8d\x20\x95\x1e\x6b\x46\x77\xed\x45\x45\xc8\xba\xa3\x06\xa1\x8e\xef\xc7\xeb\x87\x9c\xb8\x84\xd3\x46\xa6\xc0\x5f\x83\xd1\x4c\x91\x6b\x27\x90\x30\x33\xf5\xe1\x0f\x67\xb4\x0a\x82\x7d\x69\x07\xf0\xcc\x87\x8b\xcc\x38\x62\x66\xa8\x1d\xd6\xdd\x45\x34\xfe\xa4\x6d\xf9\xd0\x08\x6e\x39\x21\xb5\xd4\xa1\x07\xed\xfd\x73\x76\x65\xbe\x5f\xfb\xb3\x95\x6b\x4c\xbf\x7e\x93\x1b\xf5\x48\x55\xc8\x12\xd4\x3d\xe3\x79\x6e\x64\x66\x07\xe8\xbd\xc3\x20\x3a\x63\xbc\xaa\x64\x36\x5e\x56\x60\x77\x4d\xee\xc7\xcc\xba\xa4\xe5\x9c\x4d\x24\x9f\xce\x85\x9b\xb4\xc0\xea\x04\x4c\xd4\xd8\x27\x8d\xeb\xad\x05\x8a\x71\x06\x76\xc8\x14\x0a\x93\xa7\x7c\x23\x8c\x8f\xcc\x6f\x44\xa1\xd3\xf2\x63\xe1\x35\x82\xce\xb0\x9d\xcc\xf4\xeb\x96\x7d\xf9\xf0\x2b\x48\x00\xcc\x7b\x13\x9b\x61\x39\xd9\xce\xc7\x1d\xd6\x86\x91\x94\x2a\x29\xa5\xe8\xc0\xab\xbb\x2c\xab\x5a\x4a\x4b\x2a\xa5\x62\x4d\x1e\x02\x53\xbd\xe2\xbe\x7a\x41\x71\x8f\x21\x91\xb6\x59\xe6\x6d\xdf\xf8\x28\x60\xba\x0c\x6d\x0e\x48\x7d\x89\xc5\x1c\x1e\x19\x69\xea\x9d\xe2\x6c\xdd\x0c\xd9\x42\x9a\x20\x5a\x48\x31\xc9\xee\x69\xf6\xa6\x9a\x31\xce\xd2\x32\xcf\xb9\x64\x2a\x9b\x16\x3d\xe6\x2f\x7c\xf2\x67\x80\x3e\x1f\x2f\xab\xaa\x2c\x58\x96\x9e\xb7\xc0\x0c\xef\xd2\xdf\xad\x70\xbd\x12\x8c\xcb\x79\xeb\xa7\x1d\x2e\x33\xbe\x9b\xf3\xb1\xc0\xdd\x1f\x3e\xcd\xd2\x9d\x2e\xd0\xe5\x8c\xed\xbc\x7b\xf9\xe6\xe2\xe3\x57\xdf\xbf\x7f\xff\xed\x9b\x8f\xaf\x47\x5f\xbd\x7c\xbd\xf3\x10\xb5\xf1\xc5\xe7\x7b\xd4\xf6\x17\x36\x99\x00\xca\xd1\x34\x18\x6a\x2b\x53\x9c\x0d\x71\xd1\xb2\x22\xa2\x06\xef\x18\xbd\x7d\x35\xd2\x2f\xea\xe9\x7c\x1f\x4d\x33\xf1\x4a\xb3\x62\xba\xe3\x31\xc1\x1d\x0c\xe1\x62\x61\x27\xf1\x30\x99\xcf\x25\x16\xd3\x18\xa0\xae\x29\xd3\xf7\x8a\xd2\x75\xc5\x3e\x3d\xf4\xfd\x77\xdf\xbd\x7c\xfb\x71\xf4\xe6\xe2\xe3\xf7\x6f\x2e\x5e\xbe\x65\x98\xf0\x7c\x84\x36\x5d\x90\xa4\xbc\x1a\x9c\x14\x23\x37\x9c\x7e\x3e\xa2\x9c\x93\xfa\xc1\xb4\x2d\xbe\x91\x3a\x91\x43\x04\xbd\xcb\x8b\x74\x37\xe5\x6a\x26\xd4\x4e\xcc\xd7\xb8\x8c\x80\x1e\xdc\x89\xd0\xdb\xb1\xf8\xf9\x65\x13\xcb\xe2\x46\xaf\xbc\x69\x5c\xfb\x62\xb3\x52\xbd\xaa\xfc\x7e\xb1\x30\xe1\xbb\x8b\x2d\x8a\x32\x45\xdc\xd3\x72\xde\xa3\x92\x74\x91\x8b\xa4\x2a\xe5\x28\xcf\xdb\xad\x2b\x60\x94\x6b\x9d\x81\x6a\xaa\x4b\xc7\xc7\xd7\xd5\xa5\xc3\x4d\x70\x91\x01\xe6\x2a\xd3\x0e\x0a\x36\x00\x6a\x81\x6e\xe0\x92\x12\x43\x83\x76\x0b\xee\xb4\x02\x75\xee\xdb\x03\x50\x1c\x59\xb1\x34\xab\xc9\xdc\x44\x17\x33\x4d\x7a\x8e\x2d\x3e\x68\x82\xaf\xda\x94\x97\x33\x0b\x02\x3d\xe9\xd6\x0b\x5e\x7c\x68\x55\xb4\xfa\x80\xea\x0f\x00\xbb\x8a\x4f\xdf\x00\xff\x3e\x63\xad\x3f\xd8\x8b\x59\x0a\x7f\xa3\xe5\x68\x8c\x7f\xbc\x37\x9b\x39\x38\x71\x1f\x38\xe4\x71\x9a\xca\x5f\x6f\x63\xaa\x56\xa6\xba\x2c\x02\xee\xe9\x64\x95\x8b\x0c\xf4\xed\xfa\x12\x85\x4f\xbd\x85\x79\xae\x0d\xe2\x93\x3a\xbd\xa3\x66\x06\x1d\x2c\x94\xf8\x08\x3d\xbd\x11\xab\x4e\xb0\x6a\x0f\x7c\x6d\x57\x55\xd9\x8e\x4d\x26\x60\x05\xbd\x01\x24\x3e\xb6\xfc\xfc\x12\x11\xd2\x53\x9d\xe7\xd0\x56\xb4\x20\x2f\x02\x57\x3e\x96\xa8\x98\xe7\x6a\x1a\xd7\x28\x3c\x6e\x36\x65\x61\xbd\xfe\x7f\xb1\x09\x95\x17\x65\xa1\x2a\xb9\x04\x61\x45\x86\x02\x9d\xf5\x9d\xed\xac\x49\x7d\x93\xcd\xf3\x0a\x21\x04\xa0\x4c\x17\x59\x2a\x78\x4e\xe6\x65\x21\xa4\xca\x54\xa5\xab\xe4\x0b\x9d\xfb\x57\xb4\x0a\x41\x55\xa5\x34\xc1\x54\x51\x56\xd9\x64\xa5\xb3\x5d\x20\x43\xcb\x39\x66\x33\x67\xa2\x60\x0b\x2f\xaa\xa3\x56\xac\x15\xae\xc2\xb2\x0b\xa3\xd6\xc7\x3c\xb9\xc1\x92\xce\xaa\x94\x40\x3a\x3d\x95\xa0\x6c\xe5\x42\xe9\x4a\x20\xff\xe3\xfd\x37\xaf\x0f\xa1\x31\x8d\x4e\x97\x8d\x97\xd8\x8a\x04\xbb\x23\x8a\x56\xc5\x78\xb1\x02\x9b\xad\x6b\x14\xf5\x3b\xe6\x25\x5a\x68\xc6\x5e\xe9\xb5\x5d\xcb\x8a\x0a\x15\x75\x7a\x4c\xcf\xb1\x70\x33\x35\xc4\x17\x19\xf5\x1d\x50\x52\xab\x22\xd9\x45\x22\x00\xb7\xef\x91\x67\x80\x2b\x6d\xc8\x05\xb9\x13\xad\x14\x8b\x35\xf4\x54\x70\x6d\xc1\x13\x8c\xca\x3b\x42\xb8\xf7\xf4\xc1\x92\x92\xd6\x3e\xd0\x77\xed\x96\x54\x25\xe2\x8e\xce\x89\xa6\x8b\x9d\x64\x01\x5c\xd6\x46\x1a\xe4\x29\x44\x4b\x1e\xe8\x5a\x54\xdf\x02\xbe\x9d\x1b\x24\x3f\x2d\xaa\xd7\x1d\xb2\xd6\x5e\xcb\x15\xb3\x7b\x93\x3b\xa6\xc2\x5c\x09\x40\xa0\x12\x2c\x17\xb7\x22\xc7\x50\x7d\x26\x32\xc9\x65\x32\x5b\xd9\x45\xd1\x99\xad\xda\x9d\x96\xba\x14\x78\xc6\x6f\x35\xcb\xdf\x64\x45\xaa\x65\xa6\x98\x52\x52\x73\x21\xcb\xdb\x0c\x93\x60\x30\x3e\x84\x7a\x34\xbf\x84\xeb\xc0\x8c\x27\xd4\xda\x6b\xd1\x83\x45\x59\x79\x0f\x67\x55\xb8\xac\x63\xaf\xe5\x8c\x79\x5d\x30\x82\xa5\x1b\x9a\xa1\x1c\x35\xbd\xd9\x21\x33\x4c\xe7\x66\xc0\x9e\x47\x77\xbe\x1d\xa3\x46\x90\x1f\x8d\x7e\x2c\x0b\x3d\xe2\x2f\x50\x08\x3e\xd6\x92\x5c\x00\x94\xa9\x51\x52\x65\xb7\x02\x9e\xc2\x8c\x98\x6d\x96\xc3\x75\x5e\x89\xb6\x07\x5d\x49\x5d\x15\x4f\x90\x66\x31\x19\x8d\xf2\xb9\xcf\x06\x3f\xff\x0c\x3d\x37\x93\xd8\x74\xd1\x28\x78\xfd\x97\xce\x16\xef\x82\xd1\xf8\xe4\x1c\xc0\xc9\x68\xe8\x16\x9e\x9d\x53\x0b\xe6\xdd\xf6\x2d\xf4\x25\xbc\xf1\x56\x24\xa5\x4c\x71\xe6\x8c\x4a\x41\xc8\x42\xe4\xe5\x98\xe7\x86\x30\x78\x57\xe7\x73\xf1\x76\x32\xcb\xf2\xf4\x92\x83\xea\xca\x84\x7d\x96\xfc\x9e\x6f\xf8\x02\xe7\x20\x33\x55\xed\xa2\xf9\xaa\x4a\xf6\xd3\x9c\x2e\xe2\x73\x88\x86\x99\xc9\x52\x0f\xf4\xd4\x08\xb4\x0b\x3a\xc2\x6c\x6f\x8f\x2e\x79\xaf\x7a\x9d\xa9\x8a\x5e\xf3\xc4\x14\x37\xb5\x16\xb2\x04\xf5\xba\x9b\xa5\xaa\x75\xe6\xdd\x60\xac\x55\x16\xa2\x75\xc6\x6a\x2c\xd3\xf5\x61\xaa\xbb\x72\x1b\x8c\x41\x07\x8d\x55\xd7\xc7\x8c\xb1\xd6\x44\x96\xe3\x86\x77\x07\xcf\xe8\x6f\x0f\x4f\x9a\xfb\x12\xce\x00\x7e\xaf\x70\x36\x18\xe7\xd1\x73\xda\x2d\x21\x2b\xd2\x2c\x01\x61\xb5\xfa\xd6\x54\xd2\x91\x1e\xd3\x31\x8c\xd3\x08\x5a\xda\x74\xcc\x45\x21\x18\x66\x59\x2b\x5c\x07\x42\x11\x30\x3d\xab\x23\x60\x97\xbd\x73\xad\xd8\x10\xf0\x2f\x4b\x8e\xbb\x4d\x54\x42\x55\x8a\xf1\x29\x87\x88\x96\x8c\x25\x35\xf2\xcd\xf7\xef\xde\xa3\xd2\x6b\x9d\x9f\x9f\xb7\x58\x29\x59\xeb\x13\xf8\x42\x6a\x8b\x27\xc9\x12\x74\xcd\x06\x29\xf6\xbc\xf2\x8b\x97\x97\xa3\xef\x5f\xbf\xff\xf8\xc7\xd1\xeb\xef\x5f\xea\xcc\xac\x5e\x74\xd5\xd2\xf7\xd0\xb3\x34\x13\xa6\x05\x92\xe7\x36\x4b\x97\x3c\x6f\x40\x3e\x34\x94\x18\x5e\xe2\x2b\x75\x81\xad\x68\x18\x7a\x2c\x87\x07\x0a\xe2\xb2\x9c\x42\xd8\x8a\x7a\xaa\x72\x80\xa7\xe6\x2c\xcd\xa4\x48\xaa\x7c\xb5\xa9\x53\x24\x53\x41\xc5\x0b\xa6\x6b\xf4\x08\xfc\x11\x68\xe7\x29\x28\xaf\x7e\xd6\x0a\xa0\x0f\x4a\x33\x88\xf6\x4f\x0b\xa3\x99\xc1\xc0\xe0\xb5\x80\x8a\x16\xb2\x34\x82\xac\xe5\xd8\x9f\x78\xa6\xe9\x26\x9b\x5c\x04\xd2\x84\x43\x01\x4e\x42\xa5\x17\x09\xcc\xf9\x0d\xd6\x40\x61\x49\xd5\xad\x90\xe3\x52\x6d\x1c\x5e\xa2\xc4\xfa\x51\xb6\x39\xc8\x47\x73\x86\x9f\x92\xa6\x15\x2e\xfe\xf2\x0c\x62\x3c\xbb\x30\x85\x4a\xb0\x32\xe5\x8b\x88\x76\x8f\xd6\x2e\xfa\xd7\x65\x5f\x66\x65\x76\x23\x72\x0f\xcc\x50\x34\x58\x4c\x60\x8b\xed\xcd\xee\x00\x54\x81\xaa\x97\x72\x24\x22\xbb\xa5\xb9\x43\x60\x6d\xfd\x9a\x38\xcd\xe9\x10\xed\xba\x75\x03\x29\x96\x76\x99\x0e\xe8\x70\xb9\x6e\x11\xb9\x72\x93\x8a\xea\x17\x8d\x0a\x4f\x53\xa3\xeb\x83\xaa\x47\x7d\xcd\xe3\x55\xcb\x49\xbd\xc5\x52\xcd\x1c\x44\xa8\xca\x0a\x69\xc7\xa6\x70\xa4\xb2\x15\xcc\x6b\x48\xef\x51\x75\x04\x84\xb8\xcd\xca\xa5\xc2\x9c\x32\x35\xe6\x2f\x5d\xf8\x25\xbd\x93\x62\x5e\xde\x8a\xed\x1d\x34\xb1\x71\xd4\x51\x53\xf4\xe1\xf5\x95\x6c\x73\xc6\xbe\xb0\x6b\xd8\xa2\x67\xd4\x02\xc2\x84\x76\x06\x71\x5d\xb8\xa3\x08\xae\x76\xb1\x89\x2f\x1b\x7c\x84\x0a\xec\xd1\x5d\x8b\x12\xc3\x6e\x91\x5d\x83\x82\x38\x6f\x52\x11\xfe\x6c\xd6\xde\x9f\xdb\x7a\x9d\x28\x95\xf3\x75\x3e\xdd\xeb\x81\xea\x37\x69\xd4\x9a\x62\xea\x44\xf5\xe3\x35\x80\x7a\x15\x7a\x83\x72\x3b\x67\x2d\xb3\xfa\xc7\xaf\xbe\xf8\x93\xb0\x4b\x93\xec\x32\xa8\x17\xdf\x7e\xf7\xdf\x46\x52\x42\x73\xa6\x4a\x32\x92\x4b\x05\x5a\x2e\xe1\x85\x6b\x68\x5e\xa6\xd9\x64\xa5\x73\xff\x92\xaf\xc0\x4c\x69\x97\x1d\x8c\x5f\xb9\xac\x48\x27\x98\x09\x82\xa0\xe1\x5e\xd8\x43\x2f\x3f\x81\x5f\x4d\x79\xf8\xaa\xdd\x40\x9c\x20\x65\xb0\x9e\x44\x61\xd9\x6b\x6d\xe0\x02\xf6\x79\x57\x95\x8b\x9a\x46\xd3\xae\x94\xb6\xf4\xd2\x0b\xc9\xc0\xed\x8d\xf4\xdd\x0b\x5c\x70\x86\xa5\xaa\x75\x2f\x5f\xdd\x81\x9f\xb6\xac\x70\xd1\x57\xd3\x1b\x20\x06\x29\x28\xa6\x53\xa5\x09\x99\xd0\x6e\xa6\x25\x18\x4d\xe0\x47\x8c\x30\x33\x91\x32\x3e\x86\xa6\x32\x29\x45\x2e\x6e\x61\x28\x3d\x54\xb6\xfb\x03\xa9\x30\x7e\x74\x33\x87\x7f\x12\x7a\xe1\x9d\xc6\x8a\xe9\xd6\x9b\xb2\x62\xa6\x9d\xb4\xf5\x28\xf7\x5d\x13\x2e\x52\x1b\xed\xc6\x88\xa1\x13\x8d\x0e\x04\x39\xdb\x46\xc0\x2c\x3c\x74\x0a\xce\x75\x35\x5d\x37\xb8\xe4\x9c\x50\x42\xda\xd2\x25\xa3\x7a\x7b\xf2\xe0\xec\x02\x89\x1e\x63\xff\x6d\x07\x44\x7b\x31\x7a\x9d\x21\x00\xf1\x8a\x61\x75\x19\xcf\xb3\x1f\xf5\x02\xcc\x0c\x9c\x13\x8e\xc5\x7c\x98\x3f\x0f\xab\xf9\x74\xa5\x0c\x59\x17\x9b\x38\x4f\x5c\xf6\xe2\x71\xe3\xb9\x79\x34\x1f\x35\x98\x23\x5d\x2e\xb8\x75\x40\x2b\xb9\xac\x8f\xa7\x67\xe4\x1e\x33\x98\x6f\x85\x2e\x7a\x1a\x47\xc3\xa9\xd7\x78\x29\x5f\x42\xec\xe0\xfe\xb7\x76\x21\xf3\x94\xa5\x7a\xe7\xa7\x12\x86\xb1\x99\xea\xb8\xea\x5e\xe2\x17\x53\xec\x44\x2b\xcb\x71\xe1\xe5\xc4\xe7\x03\x3d\x5b\x49\x51\x7e\x83\x68\xa2\x93\x31\x2f\x8b\xac\xd2\x4b\xd0\xbc\x14\x84\x8f\xb9\x66\xc6\x2e\x68\xcc\x95\x43\x16\x22\xf1\x3a\xaf\xcc\x4b\x5a\x11\x5a\x60\x27\x82\xaa\x43\x9b\xc3\x96\x22\x59\x4a\x95\xdd\x0a\xb4\xd4\x3c\x55\xc1\xeb\xa0\x29\x17\xf5\x85\x38\x2b\xcd\x73\x77\x22\xcf\x9b\xdb\x06\x76\x55\xab\x22\x99\xc9\xb2\x28\x97\xaa\xab\x75\x96\xc5\x14\xde\x57\x27\x52\xd7\x2c\x17\x7e\x3a\x5f\xaa\xea\x29\xad\xc9\x34\x2b\xf3\xb6\x39\x21\xed\x8e\xde\x83\xc2\xb8\x94\x76\xfe\x77\xd2\xb0\xf9\x93\x5b\x26\xc9\x6d\xd1\xd7\x8c\xbb\xfa\xb1\xf4\x71\xb2\x01\x8f\xbf\xb3\x69\x8a\x60\xd5\x49\xb8\x10\x0d\x93\x06\xa2\x48\xb3\x62\xfa\x02\xa8\x2a\x45\x81\xc9\xfc\xa8\xd2\x0a\xef\xd9\x0a\x25\xdf\xc6\xef\xee\xd6\x1e\x3f\x67\x7d\xf6\xd9\x67\x41\xa7\x8d\x5d\xf7\xaf\xb5\xc3\x55\x24\x38\xd1\x77\xae\xd7\x53\xf5\xe0\xaf\x76\x2d\xa7\xd0\xd9\x5e\x82\xeb\x27\x28\x9e\x31\x91\x07\x85\x2a\x51\x21\x2e\xe6\x50\x08\xb5\x60\x9d\xd4\x77\x5e\xda\x12\x28\x49\x73\xc2\x5e\xcb\x9e\x96\x30\xca\x60\x2a\xaa\x57\x95\x98\xab\x36\x60\xee\x6d\x2b\x96\xc1\xc5\x30\x95\x4f\x6d\xbc\xd6\xbb\x16\xf8\xed\x9a\x89\x13\x93\x66\xaf\x4d\x0b\x84\x8d\xd9\xb5\x0d\x18\xae\xe1\xcd\x60\x62\x20\x58\x90\x79\x23\x56\x61\xd6\xe7\xb5\xd9\x54\x20\x00\x16\x22\x7d\xb7\x2a\x12\x76\xce\xda\xc1\xd4\xbe\x9f\x6a\xf8\xec\xb3\x35\x65\x5e\x8c\xc5\x5e\xcc\x2d\x85\xa6\x9f\x9c\xaf\x7d\x82\x35\xf9\x3d\xfe\xa0\x63\xb5\xe9\x75\xe0\xc2\x74\x3a\x6e\x2a\xa2\x21\xf5\xd4\xf0\x04\x6e\x30\xe8\x1c\x48\xc3\xbd\xa6\xbb\x61\xf9\x6b\xc4\xd1\xcf\x9e\x05\x0b\x2c\x71\xd4\x57\x45\xf2\xc2\x50\x44\x07\xe3\x91\x94\x74\xfc\xb5\x97\xe6\xff\xde\xdc\xc8\x2f\x11\x9b\x60\xef\xb4\x00\x40\xbb\x84\x21\x8f\xfb\x8b\x9b\x30\x2b\xc3\x78\x63\x42\x23\x53\x36\x14\x52\x8c\xb3\x20\xa7\x60\xe2\x49\x08\x16\xa1\x67\xa0\xe4\x75\xde\x42\xbb\x6d\x0d\x4d\xc6\xc9\x68\xe4\xa0\xf7\x6b\x23\x52\xb3\x91\x80\x99\x0c\x26\xbe\xc4\x8c\x8a\xbf\xcc\x5c\x4b\xb3\x89\x6c\xea\x71\xaa\x5e\x1e\x7f\x27\xb3\xaa\xc2\x1a\x01\x6d\xf9\x8c\x6c\xd6\x51\xd3\x01\xc9\xcf\xe3\xb2\xcc\x05\x2f\x7e\x26\xad\xf3\x33\x56\x55\xfc\x5c\x2c\xf3\xfc\x41\x8b\xd5\xfb\x5a\x60\x40\x3b\xa6\x18\x4e\x08\x7b\x33\x2a\x56\x34\x4b\xe1\xef\xee\x28\x85\x5e\x8d\x40\x8b\x33\xb0\xf0\x00\x97\xc6\xdf\xf2\x3c\xb3\x4a\x3e\x0e\x12\x7e\x7d\x22\x61\x51\x7d\x74\x61\xaf\x2d\x1f\xda\x60\x6b\x1a\x72\x19\x6b\xd3\x0c\xa6\xbd\xed\xd9\x86\x35\x69\x06\xd3\xc0\x6f\xc8\x36\xf8\x2e\x3d\x70\xb7\x83\xa8\x15\x6e\x12\x4b\x6b\x64\xa9\x50\x92\x58\x19\x04\xde\x6c\xc8\x66\x92\x6b\x6b\xf4\x88\x89\xce\x09\x2e\x28\xb0\x25\x72\xe9\xcd\x17\xda\xde\xcb\xea\x9b\x1f\x6e\x7b\x0b\x73\x1a\x12\x1c\xd4\x4d\xe1\x7a\xfd\x45\xc6\xaa\x05\x3d\xf4\x5e\x1b\xb8\xaa\x01\x50\x93\xb2\xb0\xfb\x0b\x2e\xe2\xa2\x4c\xbb\xe9\x88\x65\x27\x50\x44\x6b\x96\x11\xd9\xa9\x97\x51\x61\xe2\xe4\x09\xdb\xdf\x35\x95\x2d\x54\xfe\x6e\xb6\x2d\xa9\x66\x52\xd8\xaa\x17\x9b\xa8\xc2\xa7\xa2\x22\x21\x60\xb3\x2b\x9c\x01\x36\xc3\xaa\xfb\x72\xed\xb1\x0f\x69\x28\xd3\xce\xe3\x72\x21\xeb\xd9\x2a\x5e\x5b\x82\xdd\x8a\xd6\x97\x78\x35\x10\x06\xa2\xa9\x0c\xc2\x84\xeb\x41\xfb\xb6\xcd\xab\xec\xfa\xaa\x7f\xed\x36\x23\x83\xbf\x07\xd1\xdf\xc3\xeb\xfa\x56\x97\x46\xcb\x17\xb4\x1e\x4b\xa4\x76\x35\x41\xec\x2a\xbb\xb0\x3d\xbe\x81\x29\xed\x34\x9b\xe0\xdf\x15\xc5\xfe\x3f\x2c\x55\x85\x5a\x14\xeb\x2f\xbd\x61\xf4\xaa\xa7\x28\xca\xd3\x3b\x76\x08\xdc\x82\x06\x9b\xa6\x7d\x9c\x6d\xad\x29\xae\x18\xaa\xbb\xec\xc6\x04\xcc\x05\x2f\x82\x5d\x79\xb4\x0a\xf3\x27\x9f\xbd\xf4\x7c\xad\x5b\xa4\x6e\xa6\xa2\xa2\xcd\x80\x50\xb5\x72\x93\x42\x35\x39\x85\x96\x14\x18\x97\x48\xbd\xb3\x59\x29\xd1\x66\x98\xfd\xeb\x0a\x66\xeb\xf8\xea\x21\x46\xb0\xc9\x74\x6c\xe7\x80\xda\x58\x16\x32\x22\x6d\x68\x62\x83\x60\x14\xa4\x28\x6c\x6f\x81\xae\x6e\x2f\x95\x65\x91\xfd\x65\x69\x5d\xad\x75\x54\x12\xee\x35\xda\x60\x26\x38\x3b\x5d\xe7\x72\xaa\x24\x6b\x34\x95\x76\xda\xb6\x2a\xf5\xba\x93\x88\x63\x4c\x6b\x7a\x10\x53\x6d\x0b\x70\x81\xbb\x2a\xe9\xf9\xac\x00\x4a\xef\xf1\x34\xdd\xa3\x9c\x86\xdb\x7c\x89\x06\x8a\x36\x3d\x5a\xf9\xfa\x3e\x26\x05\x56\xc0\x2d\x68\x73\x32\xbd\xe4\xb1\x9e\xbe\xf5\xa6\x05\x57\x6c\x14\xed\x0e\x63\xbc\x86\x78\xaf\x33\x3b\xe9\xac\x59\xcf\x94\x8f\x2b\x61\x5e\x9e\x6a\x7a\x4e\x74\xcb\xb6\xdd\xd8\xe2\x3d\x71\xbb\xee\x82\x4c\x6c\x2a\xa8\xd0\xe6\xce\x0c\x65\x6a\x79\x00\xb4\x39\xbe\xb7\x3e\x4e\xbf\xc8\xca\x79\xe1\x59\x68\xe3\x0c\x57\x74\x03\x72\x69\x03\xb7\xb7\xd7\xe4\x02\xe2\x04\x7c\x99\xa7\x4d\x0c\xe0\x8d\xfc\x93\x75\xfa\xca\xbd\xf2\xea\x7a\xdd\x92\x0f\x93\xc2\x2e\xac\x9f\x5c\x9b\xfc\xee\x5a\xdc\x29\xb7\xd9\x34\x15\x7c\x65\x40\xae\xb1\xea\xd7\x75\xf0\x79\xc3\x24\x68\x00\x1c\x4d\x87\xda\xd9\x1d\x60\x3c\xad\x5c\xb6\xcf\xe2\x5c\x5a\x5e\xa4\x19\x6c\x36\xf2\xe6\x86\x2c\x17\xce\xb0\xf4\x10\x87\x5c\xdc\x0a\xb9\x8a\x2c\x0e\x39\x3c\x5c\x29\xdc\x93\xc5\xe4\x1c\xbc\x7c\x5a\x59\x84\x2e\x1f\xb9\xa3\x0f\xb8\x67\xf6\x88\xe9\xb9\x6e\x7f\x56\x96\x76\x2b\x4d\xbc\xbd\x90\xc2\x17\x98\x97\x46\xef\xe1\xc5\xc6\x69\xc6\xc6\xf9\x9b\xc0\xf8\x11\x11\xba\x80\x92\x4b\xb5\x69\xca\x7c\xf6\x19\xd3\x39\x79\x7d\xe1\x93\x73\xd6\x32\x4f\xb6\xd6\x64\xe0\x5e\x15\xa8\xaa\xc9\x74\x9f\xe9\x27\x55\xcb\x05\xea\x74\xc5\x9b\x13\x89\x2b\x09\x68\xde\x48\x83\xb9\xaa\x69\xc0\xd0\xcb\x93\x87\x05\x8b\x26\xb2\xb5\xdd\x30\xa5\xd6\x41\xc8\x1b\x64\x1e\x3a\x41\xf9\x9e\xd7\x03\x53\x3f\xee\x86\xc7\xdb\xae\xe8\xb9\xb7\xde\xa6\x21\x42\xf5\xdd\xb2\x39\x5f\xd0\xd5\x06\xf3\x9e\xa9\x05\x37\xd3\x3c\xc4\xa8\xcc\xcd\xc0\x9a\xac\x58\x8c\x86\xf2\x6a\xad\x74\x49\x93\xde\x49\x22\x4c\xdf\xe2\xc6\x39\x7e\xc2\xc8\xe4\x9a\x14\xae\xf2\xd6\x2b\xbc\x31\x39\x8f\xe5\xb4\x8b\x45\x9e\x25\x94\x72\xc4\xe5\x75\x00\x04\xf1\x30\xb9\x88\x4b\x25\x64\x13\x12\x68\xf7\xfc\xfd\xee\xf5\x6c\x81\x35\xf1\x69\xa3\x7f\x80\x93\x07\xe8\x8b\x60\x65\xf6\x13\xdc\x8e\x2e\x07\xf5\x4c\x6a\xb7\x4b\x42\x47\x75\xcf\x14\xd2\xa8\xbb\xac\x4a\x66\x76\x53\x5a\xe7\xd2\xe8\x1c\xcb\xa3\x04\x80\xaa\xda\x46\x79\x5e\xcf\x2e\xd7\xb8\xa8\xce\x2c\xbe\xb3\x47\x2d\x69\xdd\xd7\xb6\x25\x92\xc1\x00\xbf\x29\x8d\xb9\x5c\x33\xbc\xba\xae\xfe\x37\x47\xdc\x3a\x30\x25\x82\xff\x12\x4a\x68\xfc\xe3\x12\x04\x97\x44\x7c\x6c\x14\xf5\x89\x0e\xa3\x9a\xd5\xc1\x76\x61\xc2\x8d\x3a\xc2\xc4\x8e\x8e\x71\xa6\xc2\x2c\xb5\x6b\x72\xca\x9b\x75\x87\xef\xa1\xaf\x57\x31\x57\xd9\xb5\x8e\xb9\x82\x24\xd4\xda\x77\x69\x84\xdc\xec\x6d\x43\x20\x10\xc3\xc0\x3b\xfc\xd6\xbb\x3a\x76\xd5\x45\x62\x11\xc3\xbc\x90\x02\x77\x75\x75\xde\x45\x83\xaf\x67\x3c\x10\xb3\x03\x33\x40\x81\x81\xf4\x2a\x5a\x5c\x7d\xe0\x2c\x2b\xa2\x25\xc4\x78\x0a\x0b\x07\x6f\x46\x27\x60\x68\x17\x06\x5d\x2d\xc0\x97\x55\xb9\x6b\x5c\x2e\xf4\x6d\x62\xd7\x07\xe4\x1d\xde\x49\xd3\x47\x52\x23\x60\x7c\x2e\xda\x79\x53\x2a\x81\x12\x1e\x96\xf9\x81\x2b\xb5\xc4\xbd\x71\xb6\x3a\xdc\xb8\x3f\x86\xed\x19\x6a\x36\x22\x8d\x71\xbd\x6c\x00\x02\x4a\x64\x6d\xc5\x24\xf6\xfe\xdb\x80\x16\x18\x70\x24\xf9\x32\x15\xa6\x08\xd7\x38\x46\x6b\x5b\xc9\x52\xd7\x46\x86\x94\x2a\x6f\x85\x94\x59\x4a\xe8\x58\x6a\xe9\x36\xb6\xcb\x1e\xf5\x85\x42\x35\x7f\xcb\x0a\xeb\x7e\x19\xdc\xd7\x3b\x61\x5b\xfe\x11\xda\x5e\xb9\x42\xaa\xfc\xa2\x6e\xeb\x9f\x3d\xb7\xf7\x9f\xfb\xc9\x86\xcc\xe6\x43\xb2\xd4\x6c\x56\x95\x3e\xb7\x06\x15\x9c\x48\x53\xed\x00\xa0\x9f\xb8\x0d\x2e\x1a\x84\xff\x62\x49\x96\x45\x53\x9a\x24\xdf\x8e\xb4\xa9\xb0\x67\x59\xda\xa9\xaf\x1b\xdb\xdb\x63\xdf\x65\xc9\x0d\xe3\x4c\xf2\x22\x2d\xe7\x5d\xc3\x8e\x07\xbb\x69\x36\xcd\x2a\x36\x13\xf7\xfe\x66\xac\xbe\x77\xae\x0b\xff\x68\x66\x5e\x6f\xec\xfb\x49\x96\xb2\x9f\x7f\x66\xcd\x1d\x70\x8b\x0c\x52\xb3\x59\x10\xed\xe9\x83\x5f\x09\x81\x76\x87\x3d\x65\xfd\xfb\xc9\x64\x32\x61\xcf\xd8\xa0\xd3\xab\x4a\x5d\x7c\x36\x38\x72\x35\xf2\xa9\xdd\x68\xf2\xc7\x05\x4f\xdb\x59\xda\x65\x07\x41\x05\xbd\x19\x60\x97\x09\xb6\x84\x46\x2e\x05\xaa\x10\x51\x1a\xd6\x89\x23\x19\x5d\x79\xeb\x66\xf7\x5a\x7b\xe4\x19\xad\x38\xf7\x1f\xb5\xb5\xa6\x6e\xd2\xa4\x06\x22\x85\x12\xd5\x28\xcf\xfd\x12\xd5\x46\xc7\xfc\x2a\x4b\xad\x27\xaf\x1f\x26\x8e\x4a\x75\x05\x90\x46\x80\xd2\xec\x1e\x0b\x02\x6a\x2a\xd8\x84\x33\x6c\x23\x70\xf5\x31\x28\xe5\xf5\x34\x81\x55\x07\x46\xb1\x10\xa8\x6a\x80\xb5\x1e\x08\x68\x23\xdc\x76\x51\x61\x39\xb9\xdf\x1a\x46\xd1\x29\xcd\xcc\x3c\x4a\x55\xf9\x56\xd9\x53\x5b\xd1\x8a\x52\xba\xe3\x76\xa0\xa3\x20\xbb\x51\xed\x64\xa9\xa7\x02\x5f\x5d\x3c\x76\x76\x10\xda\xdb\xa0\x56\x7c\x8d\x00\xfd\xf5\x75\x02\x3e\x16\xc2\xc2\x78\x21\x58\xcc\x06\x8f\xd2\x28\xec\x3c\x16\x33\x57\x0f\x15\xc8\x1b\x40\x85\x75\x50\xd6\x62\x37\x31\x8a\x16\x84\x54\xe0\x6e\x1d\x9b\x39\xb2\x79\xbb\xf7\x75\x86\xd5\xd9\x14\xcf\x37\x23\x9d\xee\xad\x30\xf4\xc6\xb7\x94\xd6\x78\x98\x9d\x8a\xc8\xcf\xa9\xec\xf4\x87\x74\xbb\x5b\xda\xb3\x28\x9e\x78\xdb\x42\xea\xc9\x07\xa9\xd5\x26\x2f\x98\xb8\x4f\xc4\x82\x66\xb5\x27\xac\x28\x23\x48\xcc\x23\x51\x21\xfc\xaf\x30\xa2\xb8\x99\x64\x56\x3c\x96\xe5\x2c\xcc\xd3\x70\xa9\x73\xe0\x61\x84\xf8\xd5\x96\x3d\x07\x39\x12\x4d\x24\x5a\xf4\xfc\x28\x9e\x36\x9c\xb9\x8e\xa1\x1b\x56\x34\x53\xc8\x67\xa9\xd0\x30\xd3\xd9\xd9\xe2\xa6\x3a\xa2\x85\xc6\xca\x73\x55\x4d\x63\x81\xfe\x8d\x59\xd0\x3a\xc7\xed\x2c\xa5\x3d\xc9\x34\x50\xc7\x0f\x4f\xb7\x2f\x3e\xde\x16\xa3\xee\xc4\x16\x75\xc7\x37\xb5\xc6\xb0\x5a\x05\x1b\x2d\x5f\x7e\x88\x75\x2f\x60\x58\x93\x9e\x17\x3c\x4f\x96\xb9\x71\xc1\x4c\xf4\x95\x08\x36\x16\xd5\x9d\x10\x05\xee\x7d\x03\x38\xa8\x38\xd9\x44\x3b\x02\xa0\x30\x79\xfb\xe3\xf8\x40\xe4\x0e\xd7\xf2\x75\x24\xae\xc1\x96\xa1\xb8\x97\x12\x3a\xac\x3b\x5d\xb6\x43\x0a\x0f\xbe\x82\x32\xdf\x49\xca\xf9\xbc\x2c\x76\x40\x40\x16\x42\x56\x99\xb0\xd3\x10\xfa\xca\x4a\xef\x44\xc6\x99\xbf\xce\x60\x97\x7c\xba\xff\xa9\xe4\x52\xfc\x4f\xb8\xe2\xb6\x4b\x4a\x20\xd8\x7a\x95\xb3\x73\x76\xd5\xa2\x27\xef\x5b\x5d\xa6\xbf\xae\x5a\xd7\x1a\x60\xec\x01\xd0\x55\x7d\x03\x88\x66\xb3\x66\xaa\xcd\xbb\x6c\xdc\x61\xe7\x5f\xd8\xe5\xb6\x3f\x91\x2b\x7e\xc6\x7e\x62\xb6\xfd\x33\xac\x51\x62\x0f\x5d\x6d\x2d\xe0\xee\x43\x97\x51\x57\x3d\xc8\x95\x85\x04\x5f\xc1\xad\xd3\x85\x06\x75\x36\x37\xf5\x08\xc3\xb8\x52\x4b\xb3\x3d\xde\xff\xf0\xff\x01\xc9\xf4\xd7\x0d\xf8\xf1\x44\x30\xff\x73\x45\xea\xe2\xfa\x81\x71\x3a\xcb\xa6\x54\x15\xa6\x56\xf5\x43\xb5\xc1\x5f\xf7\xf8\x98\x8d\x0a\xbd\x55\xdc\x9a\xe7\xcc\x9e\x91\x26\x6b\x36\x2a\xfc\x72\xcc\xb0\x6b\x7b\x44\x10\x7f\xe8\x37\xa8\x97\x70\x20\x7c\xd5\x42\x63\xf2\x53\x70\xa6\x13\x8a\x8e\x19\x99\x87\xee\x13\x67\xba\xbd\x0b\x76\x40\xf0\xef\x87\xb5\x31\x24\x6f\x0a\x1a\x41\x0b\x8c\xad\xa5\xe4\x57\xd9\x75\xcd\x25\x95\xb7\x3d\x7a\xc5\x15\xdc\xbe\xf6\x6a\xd7\x6a\x4b\x2b\xe5\x6d\x0f\xb1\x6d\x82\x34\xe2\xde\x84\xda\x78\x1d\x6a\xed\xf1\x55\x76\x0d\xfa\xcb\xb4\xdc\x01\x1f\xda\xbf\x4a\xa8\x75\xd6\xac\xdf\x95\xb7\xda\x35\x49\xaf\xc6\x11\x4a\x4d\x27\x4e\x99\x22\x49\x5d\xcf\x95\xfd\x28\xbc\x13\xf1\xd6\xd8\x6e\xe5\x4d\x0b\xd8\x95\x2a\x9a\x99\xa1\x31\x7c\xdc\xb9\x75\xe4\xd5\xd4\x0e\xb6\xa0\x36\xaa\x8c\x4e\x56\x59\xb1\x79\xa6\xf0\xb4\x23\x57\x87\x56\xa4\x54\x4b\x66\xe4\xa4\x56\x53\x06\x0d\x62\x5e\xcb\x14\x29\x60\xf5\x00\x55\x22\x7a\x05\x6d\x28\x77\xb8\x85\x17\x9e\x62\xe1\x8e\x6e\x0b\xe7\x66\x69\x1b\xfd\xb1\xd0\xde\xce\xaf\x31\xf9\xca\x91\xb1\xb9\xfc\xe0\x57\xd5\xb1\x41\xab\x4f\x1a\xb6\x41\x7b\x94\x4d\x0f\xaa\x6c\x36\xcc\x7b\xc4\x65\x6d\x9b\xea\xda\xea\x65\x6d\x3a\xed\xf9\xb7\xaf\x6a\xd3\x9b\xf3\xd7\xb4\x96\x9e\x38\x10\xec\x29\x4d\x6d\x3f\xa5\xc5\x90\xdc\xaf\x8a\xee\x85\xa9\xae\x57\x6b\x9d\x68\xf7\x1e\xbd\x8d\x89\x65\xc1\xca\xec\x8c\xed\x6a\x6c\x81\xa0\x9a\xd1\xcc\xbb\x54\x45\x0c\x8d\x8d\x53\x63\x88\xb0\x7e\x5c\x14\xa9\xb7\xe8\x33\xcd\x54\xc2\x25\xb9\x94\x88\x5e\x99\xa7\x84\x5a\xad\x6c\xaf\xd1\xcf\x89\x4e\xc1\x7b\x8c\xd2\x6d\x3b\x0a\x74\xf5\xeb\xd6\x27\xde\x1c\xec\xba\x2d\x08\x30\x7a\x76\x60\xb8\x0b\x81\xbd\xa9\x69\xf2\x0a\xb7\x50\x3a\xd7\x6f\x8b\x03\x13\xbd\xde\xde\x07\x75\xab\x36\x98\x79\x48\xc7\x29\x3e\x18\x85\x2c\x6e\xb2\x61\x73\x44\x12\x96\x0c\xfe\x86\x48\xde\xbe\xcf\x6f\x23\x38\x76\x33\xda\x0e\x07\x17\x37\xa3\x7b\xae\x17\x61\x6f\x4d\xc6\x78\x2d\x69\x75\x4e\x7f\xdb\x7a\xb7\x47\x64\x13\x18\xfb\xc5\x59\x03\x7a\x68\x6d\xb1\x5e\x94\x9f\xb0\xf3\x1b\xed\x50\xee\xe3\x0d\xf6\x9a\xf8\x4a\x0f\x6a\x03\x4f\x6d\x8f\x2e\xe9\x59\x30\x67\x41\xa9\xce\x27\xb1\x82\x69\xd4\x2d\xeb\xcb\xfe\x82\x78\x55\xe1\x36\x5a\xe1\xfc\x6e\x86\xcb\xf9\x29\x4c\xc0\x79\x9a\xba\x19\x4b\xfd\x79\xa5\x5a\x91\x5f\x56\x9b\x3c\xa0\xc8\x8d\xb6\xc0\xd7\x5b\x81\x37\xcf\x9a\xd6\x66\x23\x42\xd4\x30\x4b\xf0\xd8\x54\x85\x0a\x57\x24\xfd\xdf\xcc\x3a\x34\xac\xe3\x78\x55\x89\x79\x3b\xac\x36\x76\xf0\xae\x5e\x2c\xac\x42\xfd\x64\xe3\x9a\xa9\xa6\x27\xd6\x2d\xc3\xfc\x05\xb3\x4b\x9a\x3f\x82\xa5\xfe\x8a\x99\xe5\x8d\xd5\x4c\x64\xb2\xce\x29\x8f\x1c\x9a\xc6\x19\x32\xd2\x58\x34\xa9\xe7\xf6\xed\x34\x72\xb5\x31\xe0\xf6\x54\xf5\xe3\x43\x67\x5f\x68\xa3\xf8\xd9\xed\xee\xe2\x07\xac\x41\x9e\xaa\x59\xfa\xb7\x4e\xee\xd9\x2a\xf2\x6d\x95\xc7\x9b\xc7\xfc\xd1\xe5\xcb\xeb\xd8\x80\xd9\xe9\x3c\x4c\x9f\x7a\x7b\xb0\x3c\xfc\xba\xf2\xfa\xb0\xae\xbe\x61\x41\x9e\x57\x5d\x1f\xef\x04\xb9\x51\x5a\xa8\x36\x9e\x40\x0c\xce\x93\x52\x42\xe0\xdd\xae\x33\xf3\xda\x92\x66\x73\x0e\x0c\x04\xb1\xa0\xa3\xee\x4a\xb3\xe7\x97\x73\x54\xc0\xa6\x65\x54\xd6\x52\x94\xd5\xae\xf8\xcb\x92\xe7\x5e\x7a\x6e\x5c\x56\x33\x7f\xa3\x30\xbb\xed\x96\x4a\x78\xce\x25\xd6\x31\x50\xde\xb7\x9c\x2f\x00\x00\x1b\x08\x93\x0f\xd0\x94\x39\xb9\x01\xd7\x7b\xb1\x76\x51\x7a\xf9\x8e\x4e\x97\xf6\x2a\xb9\xcb\x94\x3d\xf5\x0a\x70\x0e\xd4\xb0\xd9\x52\x0c\x1c\xfa\x1c\x0f\x46\xa4\xad\x8a\xef\xdc\x5a\xc5\x64\x26\x92\x1b\xe8\x68\xa0\xe0\x71\x4d\x88\x9b\xc6\x65\x6f\xbd\xa3\xe1\xf0\xd8\x3b\x73\x68\x14\x36\xa1\x7b\x41\xde\xf7\xbd\xe9\xf9\x9d\xa0\x02\x3f\x43\x2c\x5c\x8f\xfe\x84\xce\x6d\xd6\xa7\x99\x8c\xbd\x92\xc0\x58\xc9\x3f\x85\xd0\x7e\xe4\xd2\x79\xfa\x2d\x71\x3e\x70\xbc\x06\xe6\x11\x75\x4f\xd9\x64\xd2\x1c\x73\xef\xed\x99\x24\x2b\x00\x46\xa5\x8b\x5d\x66\xce\xcc\x82\x51\x34\x1b\xc3\x33\x45\x47\x1d\x2e\x64\x36\xcf\x30\xc6\xa2\xa2\x1b\x0a\x5c\x75\x6a\x8d\x77\x50\x5a\xcd\x9f\x63\x88\x5f\xb5\x00\x7c\xd2\xde\xfb\x73\xdb\xa6\xda\x6c\xe1\xb8\xae\x23\x27\x83\x17\xaf\x6f\xe5\x9d\x4e\x74\x3c\x44\x53\x38\xcb\xf1\x9d\xe3\x30\x89\x46\xa6\xb8\xbe\x2c\x35\x2a\xa3\x6c\x60\x26\x7b\x54\x88\x5a\x8e\xf1\x4c\x05\x08\x4c\x1b\xd6\x4a\xf9\xb3\xc0\x36\x24\x4a\x4b\x61\x36\xd2\xaf\x84\x7c\xcc\x0e\x11\xe6\x3c\x14\x5a\xeb\x87\x7c\x89\xde\x44\x9e\x46\x25\xed\x8c\xfd\x89\x82\x42\x5e\xe9\x7a\x29\xd5\x6d\xac\x78\xa0\xfc\x1d\xd5\xf6\x99\xa5\x9f\xbf\xac\xdc\xc1\xce\x62\xa3\xf8\x98\x6d\x87\x7c\xa6\x2c\xc4\xdd\x1f\x6d\x7d\x3f\x78\x02\x21\x95\xcd\xec\xe0\x2f\x2d\x1c\x0e\xea\xc1\xeb\xdb\x35\x98\xb7\xfe\xef\xfb\x2f\x2e\xe0\x00\x31\x31\xae\x89\xbf\x6c\xd8\xc3\xce\x3b\xd2\xee\x22\x20\xcb\x8c\xe3\x11\x1b\x4e\xef\x04\xbb\x0b\x3f\xfc\x7a\xc7\xc7\x1c\x9e\x87\x1b\xb9\xd0\x6e\x8c\xb6\xc4\x4d\x57\x79\x93\xa6\xaa\x8b\x85\xde\x73\x09\x14\x80\x16\x68\xeb\x47\x45\x5b\x5e\x98\xfe\x3d\x6f\xc2\x7b\xdb\x23\x4f\x36\xf9\x5b\x8f\x14\xdc\xa6\xba\xfa\x98\xb1\x1b\x2b\xff\x90\xb9\x77\xbf\x60\xde\x66\x53\x9a\x3e\x2b\xbb\xb3\xad\xe3\xe1\x60\x89\xc6\x23\x4b\x4c\x03\xc6\x0d\x77\x29\x36\x25\x72\xf1\x5a\x34\xaf\x76\xae\x61\x2d\x04\x6d\xd1\xc6\x17\xb8\x1e\xad\xee\x92\xbe\x6b\x08\x58\xe2\x31\xff\x3f\x88\x57\xa0\x6b\xf5\x70\x45\x45\xdb\x03\x3f\xf5\x17\x07\x59\xd3\x06\x50\x8f\x5a\x01\x64\xc6\x27\x5a\x08\x14\x1f\xed\xbe\x31\x31\x56\x8f\x89\xfe\x2f\xb5\x8b\xce\x04\xad\xad\xc7\x8a\xb4\x8f\x01\xf5\x55\x4e\x5c\xaa\x69\xbd\xeb\x5f\xa0\xaf\x9a\xc3\xa7\x50\xec\x03\xd7\x54\xd1\x9a\xcd\x86\x28\xce\x6b\x7d\xcd\x4a\x9e\x5f\x14\xa5\x3d\x36\x72\x74\x89\xc3\x3f\x09\xbb\x26\x79\xce\x0b\xe4\x5f\xa6\x44\x91\xda\x6a\x29\xb2\x8c\xba\x0e\xd3\xd4\xfb\xdb\xea\x06\xdc\x0c\xed\x4e\xb8\xe4\xa0\x59\x42\x2d\x6e\x71\x57\x59\x2c\x09\x9e\x64\x74\xe6\xa8\xdf\x92\x39\xb2\xf0\x4e\xb4\x6e\x85\x3d\x4e\x47\x6b\x7c\x6a\xce\x73\x0a\xf4\x48\xa8\x12\x4c\x3f\x35\xaa\x84\xf0\x8a\x2e\x1d\x2a\x2c\x15\x39\x5f\xe1\xca\x0a\xda\x1a\x83\x1a\x0b\xa8\xb8\x2c\xaa\xcc\x9c\xe7\xe7\xa1\xdb\xd5\xaa\x82\x32\xea\xde\x39\xaa\xba\x76\x95\xe3\x2a\x0e\xdd\x59\x3a\x70\xd0\x9b\x4d\x37\xdb\x22\xb8\xed\x37\xcc\xae\x5b\xef\x63\x32\x22\x05\xbd\x33\x87\x55\xa9\xcf\x5e\x52\xba\x88\x9a\x27\x09\xd6\x10\xe1\x70\xa4\x62\x81\x03\x52\x50\x6b\x9c\x79\x0b\xcb\x83\x76\xe1\x9d\x5e\x22\x67\x53\xa8\xa3\x0f\x63\xe9\xb2\x7e\x68\x56\xbe\x16\x55\xb8\xc7\xcb\x63\x56\x5f\x36\x6b\xb3\xe9\x63\x53\x2f\xd3\x7f\x84\xc4\x8b\x99\xf2\x09\x54\x4a\x43\xad\x46\x9e\xb3\xa2\x2c\x76\x8d\xcd\x0d\xd6\x35\x29\xbb\xb1\x74\x81\xc1\x6f\xe0\x33\x53\x89\x1f\x95\xf6\x14\x74\x14\x7d\xf3\xc6\x02\x76\x57\x81\xed\x94\x13\xf7\x8b\x52\x56\x23\xf5\x9f\xaa\x2c\x9a\xb3\x23\x34\x61\xf8\xd0\x5c\x95\xbe\x31\xe5\xb0\x6e\x51\xb6\x3f\x03\x68\x56\x14\xea\x53\x54\x82\x84\x4a\x34\x93\x10\x6c\xd9\xda\x98\x52\xd7\x0f\x35\x25\x3f\xc3\xa4\xba\x06\xb4\x1b\xfb\xfa\xb8\x50\x6e\xe2\xa7\x2c\x3d\xc3\x52\x8c\x1f\x54\x59\x9c\x45\x15\x45\x85\xa9\x26\x0a\xc8\xd7\xee\x3c\x74\xa2\x74\x72\x34\x8b\xf9\x58\x6e\x34\x04\x6c\xf6\x4e\x9b\x9c\xd3\x5a\x2f\x9c\x6d\x0b\xf7\xd3\x09\x92\x2d\xcd\x93\x94\xaf\xe6\xd0\x27\xc3\x88\xe3\xbc\x1c\x87\x4b\x3a\x94\xbf\x7d\x8b\x2b\x14\xc5\x29\x4a\x9f\x1e\x75\xa7\x48\xd7\xbb\xfe\xad\x78\x37\x43\x44\x2f\x65\x39\x8f\xb9\x17\x06\x6d\x4d\x05\xbc\xbb\xf5\x58\x26\x8d\x13\x7c\xd0\x42\x38\x56\x6b\x99\x11\x9e\x78\x1c\x37\x52\xba\xef\xba\xa7\x8b\x56\xa3\x37\x03\x15\x9a\xa6\x54\x74\x86\xb1\x70\xb5\x61\xe6\x51\x37\x8d\xe2\x3d\xdb\xf1\x4a\x6f\xd7\xb6\xeb\xea\x78\x8d\xb3\x86\xa7\x2d\xbb\x8a\x9b\xa6\xa7\xa3\xb1\x68\x07\x7d\x42\x92\x6f\x96\x0c\x5b\x19\x47\xaf\x74\x24\x5e\x77\x2c\xd7\x0b\xef\x08\x2b\x7d\x4a\x7f\x54\xc8\x56\xdf\xd0\xf7\x91\x01\x46\x7d\x19\x58\x53\xa1\x96\xbf\xc9\x6a\xb0\xc3\x82\x37\xe1\xb9\x06\x5f\x6e\xe2\x12\xdf\x7d\xf8\x85\x28\x86\x9b\xb4\xfe\xd2\x28\x28\x48\x08\x67\xf7\xe1\xc9\x3d\x37\x62\xd5\xcb\xb9\xaa\x5e\xe9\xc9\x44\x0f\x10\x8c\x3d\x68\xa0\x7e\x67\xcd\x44\xda\x83\x9b\xa1\xac\xef\xe5\x51\xdf\x3d\x24\x98\x64\xdc\xb4\xa2\xc9\xdf\x1c\x0d\x8f\x86\xce\xe6\x98\x15\x6c\xe5\x79\xd3\xbe\x5b\x54\x08\x8a\x71\x0d\xc7\x85\xb4\xa6\x28\x41\xe7\xc4\x7a\xb5\xa2\x8e\x08\xf9\xed\x5a\xda\xf5\xd3\xe4\x67\xce\x6d\x10\xd9\x0b\x1d\xf9\xf5\xeb\x40\xea\xba\x19\x0f\x6f\x8d\xb7\xae\xd3\xd0\x8d\x2a\x3f\x6a\xb8\x7d\x5b\x66\x29\xba\x64\xe1\x40\x63\x6c\x12\x2d\xda\x88\x83\x92\xa0\x74\xcf\x75\x2b\x3a\x34\xc4\x69\xb0\xe6\xe8\xa2\x09\xd9\xb5\x1b\xa6\x3f\x26\x0e\xf2\x26\x67\x37\xcd\x23\x3d\x7a\x53\x75\x29\x68\xb7\xf3\x7f\x91\xad\xd4\xdf\xf9\x1b\x5c\xf1\x02\x5e\x65\x7a\x18\xed\x9c\x0e\xa2\xb0\x54\x14\xa0\x81\x07\xfa\x9f\xfc\x96\xbf\x4b\x64\xb6\xc0\x7d\x6d\x8b\xa9\x27\x31\x49\x99\xe7\x22\x01\x2b\x9d\x2e\x69\x45\x3d\x1b\x2f\x75\xd1\xab\xaa\xc4\x42\xcf\x38\x98\x03\x29\xb2\x82\x92\x22\x42\x66\xb4\x86\xb9\x05\x1a\xcc\x12\x9a\xa7\x69\xbb\xd7\xeb\x75\xe8\x04\x72\xe5\xce\xdc\xc4\x83\x25\xfe\xdd\xc0\xed\xe8\x0d\x66\xb3\x5b\x5a\x02\x63\xc6\x6d\x9c\x15\x7b\x74\xfa\x5e\x4f\xcd\xbc\xcd\xac\x8a\xb2\xc0\x93\xe5\x97\x4a\xd0\x52\x7c\x55\x4b\x32\xeb\xe5\x9d\x76\x93\xec\x70\xe3\x2f\x1d\xd3\xae\xca\xa5\xb4\x34\xd3\x67\x59\x40\x7f\x40\x94\xb0\xe1\x32\xcf\xf1\xfc\x69\x4f\x3b\x5b\xf0\x73\x7d\x22\x96\xa6\xf8\xc7\x33\xf6\xd3\x43\x7c\xb8\x29\xb7\xf7\x37\x26\x87\xa3\x15\xf9\xf6\x19\xe6\xef\xac\x66\x36\x47\xc7\xd3\x4f\x75\xd9\x3d\x62\xea\xa1\x49\xbe\x98\xc5\xc9\x1c\x36\xa7\x66\x9c\x16\x4f\xe3\x31\xbc\x8d\x05\xd3\x38\x0f\x31\x62\x73\x9c\x8d\x81\xef\x31\x32\x38\x63\xb1\x23\xf9\xdd\x0e\x95\x72\xeb\x14\x9e\x5e\x69\x39\xce\x6b\xe9\xeb\x94\x57\xdc\xcb\x3e\x69\x3b\xed\xd3\x23\x24\x28\x30\x4b\x3d\x61\x04\xb8\x74\xb1\x2d\x52\x40\xc1\x13\x8e\xf8\xd6\xf7\xd5\xc9\xbe\xd5\x42\x9c\xd1\xb3\xf8\x37\xdc\x3d\xa3\xa4\x09\x55\x44\xf0\x8a\x9f\xe1\x27\xd5\x37\x86\xc1\x9a\xcc\x04\x96\x3a\xd9\xa1\xd6\xca\xca\x9b\x8c\xb0\xb7\xb0\x97\x99\x5d\x65\xa1\x8f\xc7\xd9\x81\xcb\x3b\xae\x52\xd7\x76\x1e\xdc\x6e\x00\x1b\xfb\x41\xde\xa3\x26\x0c\xec\x1b\x1b\xce\x02\x0b\x2b\xda\xdd\xa4\x41\xb9\xe5\x14\x2f\xdb\xa6\x39\xd3\xb8\x28\x2b\xcf\x52\x7a\x65\xab\x65\x73\xd9\xea\x0e\x90\x78\xa7\xcb\x76\x00\x53\x53\xb9\x1c\xf4\x3d\x28\x5e\xb5\x03\xd7\x10\xb6\x77\x6b\x5d\xf0\x0b\xe0\x8d\x87\xb0\x66\xf8\xb7\x94\xa0\x37\xda\xb3\xa0\x0e\xdd\x46\xf9\xa6\x4d\x17\xe3\xaf\x2d\x37\x6f\xdc\xc9\x74\x23\x7f\x36\x33\x5a\xc0\x4b\xff\x44\x3c\xf1\xf4\xa1\x2e\x0a\xcd\x63\x7d\x01\x42\xf2\xff\xe0\x78\xf7\x80\x24\x5b\x06\x1d\x33\x3f\xa4\x8f\x96\xb2\xb6\x4d\xd1\x3f\xf6\xf0\x8f\x1c\xe2\x4c\x14\xe0\xf8\xa4\xec\x56\x48\x85\xe9\xde\xad\xfa\x5e\x33\xc6\xf7\x32\x7f\x2c\x6f\x90\x83\x6e\xed\x6f\xdc\xda\xba\x67\x9f\xbb\xe1\x6a\x21\xc2\x30\xd4\xf6\x41\xb4\x76\xcf\x58\xab\x1b\x5c\xb5\x23\xb7\xd9\xa5\x34\x49\xf3\x7f\x0d\x8f\x12\xa2\x57\xb5\xe0\x7a\xd1\x18\xd6\x22\xcc\x45\x51\xe9\x4d\x73\xca\x89\x39\x70\x07\xf3\xdd\x8b\x52\xa9\x6c\x9c\xaf\x58\x92\x97\xcb\x74\x77\xcc\x93\x1b\xa1\xdd\x44\xbb\xa3\x1d\x8d\xb8\xdb\xe4\xb3\x10\x77\xba\xba\xa7\xdd\x79\x24\x69\x3f\xea\x53\x14\xff\x35\x28\xac\x3b\x63\x62\xff\x31\x57\x22\x65\x58\x01\xa1\xd7\x81\x14\xb4\xf7\x2b\x9d\x89\x31\xe1\x66\x37\x04\x7d\x0e\x91\xa4\x64\x01\xb8\x5b\x76\x05\x11\x6d\x4c\x1d\x9c\xd8\x13\x0f\x5d\x6d\x28\x7a\xfa\x58\xfc\xfa\x71\x32\xf5\x23\x64\x3e\x36\x9c\x21\x53\x36\x9c\x91\x12\x76\xad\x67\xa6\x3e\x71\x5f\xb7\xd7\xc8\x34\x66\x0b\x62\x7b\x6b\x7d\xfd\x94\xce\x9a\xe8\x53\x2b\x0c\xb9\xc2\x6e\x79\x05\xfc\xe6\xbe\xa2\x7d\xcf\x33\x7f\xdf\x88\xb0\xcb\x51\xba\x87\xd0\xf0\xe9\x60\xb7\x0a\xe6\x52\x70\x37\x9f\x80\xe1\x79\xd0\xc3\x2b\x03\x70\x6d\x53\xb3\x86\x62\xeb\x37\x75\x89\x37\x7b\x28\x9b\xb7\x79\xf0\xe7\xac\xcb\x60\x8b\x07\x8d\x5e\x53\x01\xa5\x3d\x18\xc2\x5f\xeb\x60\x76\x11\x5a\xb3\x2d\x77\x6d\x01\xc5\x9c\x2f\x3a\x0f\x6e\xfb\xa0\xa0\xf0\xa6\x69\xe9\x04\x35\xfb\xc4\x6e\xc8\x15\xe5\xb2\xd6\x12\x7f\xcd\xe1\x0b\xe1\xc6\xbf\x31\x89\x30\x41\xdf\x5c\x5f\xec\x9f\xbe\x10\x57\xeb\xfc\x4d\x8f\x5e\x58\xdb\xa3\xf5\x07\x2e\xd4\x77\x33\xae\x1f\xb8\xf0\xd1\x96\xf0\x07\xdb\xa6\xfa\x2b\x8c\x9b\x58\x62\xfd\x99\x0b\x17\x54\xf4\x8d\x5b\x3d\xd1\x6c\xbf\xd9\xba\xcd\xd3\xcf\x7f\x0b\x16\xa0\xea\xf2\x27\x9b\xf7\x81\x5e\x4b\x35\x5c\xb4\xbe\x79\xfb\xe7\x40\xb4\xe8\x01\x6f\xce\xfe\xd1\xf5\xe8\xb5\xf9\xca\xb7\x6e\xfe\xb5\x56\x3f\xc6\x9d\x4e\xa9\xc4\x7c\xdb\xe4\x25\xfc\xdf\x2c\x48\x5e\x2e\x36\x6c\x8c\xda\x79\x3c\x59\x6d\x35\x93\xa1\xec\x58\x08\x70\x57\xc9\x7f\x7c\x0c\x69\xf5\x6e\xcf\x3e\x71\xb1\xe2\x65\x13\x75\xc1\x8b\x0a\x81\xc8\x09\x6a\x3c\xc7\x43\x05\x05\x43\x3e\xc1\x6a\xfa\x45\x6f\xb7\x89\x05\xbe\xf6\xc4\xdc\x6d\x24\xc3\xbc\xf5\x2f\x23\x98\xc2\x65\x4a\x9b\x48\xf6\x28\x9a\xa9\x88\x68\xea\x51\x54\x53\x31\xd9\xc2\x4a\x22\xbd\xe6\xbd\x58\x27\x80\x4d\x5c\x65\xb2\x30\xd6\x5b\x1f\x0b\x9d\x6a\x78\x44\xb5\x8f\x83\x5d\x53\xf3\xa3\x84\xc4\xbd\xf9\x85\x5d\xd3\x8e\x1e\x85\x2d\xfa\x49\x12\xb1\xa8\x6a\xb9\x9d\xdf\xb4\xd8\xce\xbc\x48\x89\x2a\x58\x6b\xe7\x1f\xdf\x40\xc7\xee\x95\xe1\x16\xf6\xf0\x80\x2e\xce\x45\xc5\x66\x76\xfd\x7a\xe2\x8e\x1f\x92\xe6\xf0\x02\xb3\x09\x71\x46\xbb\x49\x05\x87\x0c\x60\x05\xea\x22\xc5\x99\x4b\xaf\x18\xc2\x3f\xdb\x6a\x2d\x77\xa8\x35\x12\xe5\xed\xdd\x5b\xd7\xf5\xe5\xf8\x07\x7b\xcc\x5c\x39\xfe\x01\xe7\x09\xdc\x4e\xdf\x31\x2b\x29\x51\xb5\xcb\xf1\x0f\x51\x63\x35\x6e\xb2\x52\xa7\xb9\x7e\x3d\x57\x35\x16\xeb\xdd\x88\xd5\x9e\x7e\x92\xaa\xc2\xa2\x06\x7e\x1f\x6b\x33\xd6\x2a\x3c\x39\x29\x1e\x98\x06\x65\xf0\x88\x11\x34\x7b\xbf\xd0\x66\xf9\xe1\x12\xdb\xc7\x99\x1a\x2c\xd8\xc3\x55\xc8\x7f\xfb\xe1\xd2\xdb\xa5\xfe\xc6\x11\x33\xad\x99\xad\xf9\xfe\xfe\x23\xe6\x0a\xd7\x6a\x02\xba\x6d\xcc\xe8\xd1\x06\xd8\xa6\x61\xb3\xb2\x87\x96\x6e\xe3\xe8\xad\x33\x7b\xbf\x0f\xdf\xa6\xe1\x6b\xb0\xbe\x8f\x1f\xc0\x18\xf8\xf1\x49\x9c\x8f\xd8\x91\x7f\x91\x44\xc3\x5d\x56\xa4\xe5\x5d\x0f\xbb\xf4\xee\x97\x67\x1b\x70\xa5\x44\x98\x70\xf8\x0d\xd9\x86\xd7\xc8\x21\xb5\x22\xb3\xe6\x54\x42\x3d\xfb\xd0\xd0\x17\x00\xd3\x97\x79\x9a\xbe\xbc\x15\x45\x65\x73\x0c\x2d\xfd\x68\xab\x6b\x76\xf7\x7d\x67\xd8\xe4\x7f\x31\xdd\x80\x7d\x6e\xaa\xdc\x08\xb2\x0d\x5e\x76\xc1\x26\x16\x46\x52\xf0\xed\x29\x85\xbd\x3d\xf6\xea\x25\x65\xb3\x55\x6d\xa7\x25\x77\x62\x1b\x32\x1b\x6e\x57\x03\x30\xf3\x45\xb5\xd2\x67\x33\xf4\xdc\xd6\x59\xb7\x66\xfa\x5d\xf4\x6c\x85\xf4\x97\xfe\xa9\x6f\xee\x7a\x87\x9d\xb1\x9d\x9d\xe7\x6e\xe1\xbf\x7b\xd4\xd6\x0d\x44\x8f\xba\x92\x6f\xff\xd1\xd2\xf9\x44\x57\xa2\xa7\x7d\x22\xca\x7a\x98\x77\x9d\x39\xdc\xf4\x2c\x9e\x6e\xe9\xcc\xbe\x78\xe3\xee\x24\xbf\x2e\xc1\x52\xfe\xb3\xa5\x56\x62\x46\xfb\xa7\xcf\xac\xc4\x1d\xfa\x3d\xb1\xf2\x88\xc4\x4a\x4c\xb4\xdf\xf3\x2a\x7f\xab\xbc\x4a\x4c\xd9\xc7\xa5\x55\xfc\x43\xaf\x6a\xc9\x02\x5c\x5c\x71\x23\x56\xde\x51\x5f\x34\x87\x79\x6b\x27\x2e\x89\x14\xb6\xea\xaa\x92\x2b\xaf\x2c\x95\x9a\xf5\xb4\xac\x3b\x66\x85\x31\xe0\xb0\x2a\x99\x31\x63\x5b\x74\xf1\x1c\x2d\x70\x48\x38\xf8\x80\x64\x19\x3c\x67\x0e\x17\xae\x99\x89\xc0\x8a\x2d\x0b\x84\xd0\xd5\x72\xb6\x6a\xd8\x63\x00\x2b\xbd\x68\x51\xa9\x50\x94\x90\xa8\xb1\xc3\xbf\x42\xd2\xe8\x11\xfc\xb0\x35\x65\xb4\xb6\xa4\x3e\xa3\x62\x49\xe5\x9d\x70\x0f\x06\xec\x0b\x32\x64\xbb\xbb\xfe\x7e\x03\x20\x11\x04\x6d\x4b\xd8\x1f\xcb\x69\xd1\x74\xf9\x5a\x56\x0b\x99\x0d\x0b\xcb\xb5\x79\x5e\xc3\x70\xcd\x2c\xf7\x1b\x99\x2e\x7c\xf3\x6d\x58\x14\xd8\x50\x51\x88\x04\xac\x6f\xbc\xf9\x58\xde\x95\xb7\x75\xc6\xfd\x3d\x6b\xf7\x4f\x99\xc9\x89\xe5\xf3\x17\x27\xed\x6a\xe9\x1c\x23\x44\xdd\xf8\x18\x40\x92\x82\xf5\x36\xf3\xb1\x16\xf3\xf7\x8c\xde\xff\x1e\x1f\x3c\x26\xa1\x17\x17\xd0\x97\xe3\x1f\x82\x88\xe1\x51\xcc\x61\x72\xbd\x9d\xfa\xf1\x67\xbf\x86\x47\x7e\xcf\x19\xfe\x1d\x78\xe2\x37\xa7\x0c\xeb\x9e\xdc\x6f\x1c\xdf\xdf\x93\x8b\x7f\xdf\x71\x0e\x37\x48\x95\x8d\x03\xdd\xb8\xd5\xa9\x5c\xad\x4d\x20\x34\xf1\x04\x97\xab\xab\xec\xfa\xb7\x89\xfe\xe3\xb2\x96\x73\x31\x2f\xe5\xea\x5f\x24\x6d\xf9\xaa\xd8\xa5\xfe\xb8\xac\xca\xaf\x29\x8e\x42\x78\x68\xef\x57\xa5\x2b\xbf\x21\x0c\x7e\x75\xbe\x72\xdd\xa1\x5e\xff\x90\xe9\x23\xea\xec\xbf\x52\xfe\xa8\xd6\xa3\xdf\x13\x48\x8f\x48\x20\xd5\xa8\xf6\x88\x0c\x12\x10\x4c\xd8\x44\x6e\xec\x35\x85\xf9\x6b\xad\x30\x85\x09\xe9\x7e\x72\x69\xde\x00\x10\xef\x77\xbd\x5c\xaf\x59\xd8\xf6\x60\x75\x69\x93\xbc\x85\xea\x34\x12\xdc\x5f\x9d\x1f\x6e\xcc\x10\x07\xab\xce\xbc\x29\x85\xae\x59\x7d\xf7\x7b\xfa\x6c\x13\x5f\xfd\xc6\xfc\x99\x3e\x3c\xfe\xf7\xbc\xd9\x3f\x5b\xde\x6c\x1d\x23\xfc\xe3\x25\xce\x34\x8b\xfd\x9e\x30\xfb\x3d\x61\xf6\xff\x42\xa2\xa4\x26\x98\xbf\xae\xcc\xcd\xed\xad\xd5\x2c\x4c\xf5\xab\x46\x42\xe2\x84\x9a\xdd\xaf\xcb\xf9\x16\x4d\x6e\x43\x7d\x8b\xae\x33\x42\xf1\x9f\xc0\x1d\xf8\x3d\x33\xf8\x0f\xc8\xf0\x8f\x49\x0d\xfa\x6c\xb9\x39\x53\xf8\xcb\x3d\x5d\x93\x31\x7c\xa8\xef\xca\xb6\x4e\x60\x6c\x92\xf1\x79\x83\xde\xfe\x3f\x61\xfb\xbf\x59\x26\xec\xf7\x4c\xe7\xdf\x94\xc7\x7f\x51\xaa\xd3\x3f\x31\xa0\xd9\xf1\xfe\x3d\xcd\xf9\x8f\x3d\xc8\x7f\xe3\x3c\x67\x23\x43\x50\x8e\xf3\xfa\xef\x98\xe3\xac\x84\xaa\x3e\xea\x3d\xc2\xfe\x45\x32\x9c\xff\x0e\x77\xe1\x25\xb7\x99\xb8\x63\xde\x4e\x2c\xcb\x22\xab\x18\x74\x18\xdc\xd7\x89\xe4\x73\x71\x57\xca\x1b\x1c\x24\x7f\xd3\x46\x5e\x58\x2f\x96\xfb\xd7\xe1\xc9\xf0\x14\x28\x78\x91\x39\xb5\x93\x36\xbc\x06\xde\x79\x2f\x54\xf5\x8d\x77\x6a\xa8\x14\x39\xb2\x1a\xe6\x59\xf1\x90\xb9\x11\x6d\xe3\x38\x2f\xe7\xfa\xbc\xa9\xac\x6a\x29\xdc\xbd\xd0\x6d\x0e\x83\x5b\x50\xaa\xac\x98\xe6\x82\xde\x43\xac\x8c\x90\x52\x70\x55\x16\x7c\x9c\xaf\x98\x9a\x73\x3a\xf5\xa9\x7d\xfe\xd7\xc1\x0d\xcb\xb3\x42\x80\x63\x04\xef\xa5\x46\x59\x5e\x56\x4c\x70\x95\x91\x80\x98\xc3\x8c\xcb\x42\x37\x8b\xfb\xcb\xe0\x36\x2d\xd0\x3f\x68\x69\xc6\x65\x21\x94\xa2\x5d\xe4\x33\x74\x36\xbc\x07\x95\xb8\x15\x45\xb0\x6b\x78\x99\xe7\xe5\x1d\x90\x54\x77\x90\xf6\x61\xd7\x0b\xda\xbd\xa3\xf0\x62\xda\xec\xd2\xe6\x06\x65\x59\xe9\x14\x34\x20\x2d\x8a\x4a\xae\x16\x65\x56\x90\xd8\xe3\x96\x69\x18\x6d\x08\x88\xcc\x96\x94\x4c\xae\x37\xd6\x7b\x5d\x4e\xd9\x2e\x7b\x5d\x4e\xa7\x00\x0d\x9c\x98\xd1\x92\xf8\x06\xd8\x77\xcb\xac\x12\x6c\x97\x8d\x0c\xb9\xcd\x6a\x7a\x33\xc0\x0d\xcf\xc0\x77\x7c\x44\x0f\x09\xc0\x6e\x00\x7d\xbb\x2c\xd8\x2e\xa3\x2b\xc4\x19\xe2\x5e\x24\x4b\xf3\x26\x8e\xba\x6c\xcb\x2b\xdf\x0a\xb5\xcc\x6b\x2f\x05\x39\x5b\xe6\x7a\xf3\x4e\xab\xf3\x81\x88\x7a\xdb\x10\x2d\x2a\x96\xd9\xd9\x4c\x64\x92\xcb\x64\xb6\x22\xb6\xb8\x11\x62\x21\xa4\xd9\x3d\x20\x2f\xa7\x6b\xf6\x4a\x69\xa0\x30\xe9\x7b\x78\xc4\xaa\xfa\xa6\x71\x70\xed\xa1\x10\xbd\x2e\xa7\xca\x9c\x17\xee\x49\xa3\x3e\x70\x08\x74\x5a\x39\x9f\x67\x55\x90\x33\xf5\xf9\x24\x4a\x90\xe6\xe5\xd4\xcb\x90\x03\x32\xe7\x16\xad\x9f\x7f\xc6\x05\xf0\x0d\x48\xe1\x86\xa1\xcd\x07\xa7\x1b\xd6\x32\x04\xb4\xe7\x96\xe3\x0d\xa3\x1b\xd7\x04\x02\xa8\x72\xef\xbd\x5d\x5b\xc8\x6e\x2e\x40\x12\xe8\x94\x74\x68\x44\x21\xc7\x29\x51\x2d\x17\xed\x4e\xd7\x10\x66\x21\x05\x9f\x8f\x73\xd1\xd6\x02\x8b\xa0\x09\x07\x11\xd2\x5b\x43\x39\x34\xe4\xb2\xe8\x31\xd2\x3a\x66\x9c\x95\x3e\x98\xdd\xf3\xe3\xe3\x8e\x3f\x45\xad\xdb\x63\xec\x15\xe8\x02\x51\x54\xff\x3f\x7b\xef\xbe\xdf\xb6\x91\x34\x88\xfe\xef\xa7\xe8\x78\x77\x43\x32\xa6\x78\xd3\xd5\x72\x94\x2c\x45\x49\x13\x6d\x7c\xdb\x48\x89\xcf\xf7\x39\x1e\xa7\x09\x34\x45\x44\x20\x1a\x83\x06\x24\x71\xc6\xde\xdf\x79\x8d\xf3\x7a\xe7\x49\xce\xaf\xab\xaa\x6f\x00\x28\x29\xc9\x64\x76\xbf\xdd\xe3\x3f\x2c\xa9\xd1\xd7\xea\xea\xea\xaa\xea\xba\x24\x85\x48\xd7\xac\xca\xcd\x7e\x78\xb3\xbb\x85\x87\x9e\xb2\x63\xf5\x8e\x90\x92\x02\x93\x90\x35\x77\xa5\x91\x9e\xdc\x60\x7d\x5d\x9d\x4d\x11\xf0\x48\xa9\xd2\xb6\x3b\xd4\x92\x22\xdf\x52\xa3\x7b\x22\xfc\xd9\xfd\xe2\x4a\xc9\x28\x71\x11\x32\x1b\x9b\x66\x59\x05\x4b\xb6\x67\x14\xc8\x77\xc5\xd7\x7e\x56\x76\x24\x71\xfa\xea\x84\x27\xb0\x3c\x2f\x64\x5e\x40\x5e\x3f\xb3\x98\x87\x80\x20\x33\x5a\xc6\xcc\x70\x27\x1e\x20\x4a\xfc\xd4\x43\x99\xc6\x3e\x52\xe8\x8b\x08\x0d\xdf\x01\xe5\xcc\xee\x33\x59\x95\x79\xd5\x38\x8f\x5e\x1c\x01\xc8\x32\x61\x0f\xe3\x99\xe1\xb6\x5a\xf9\x2f\x58\x94\x4b\x22\x0d\x31\x92\x41\xcb\x8d\x08\x26\x0d\x15\xc0\x08\xcd\xe6\x24\xf6\x6d\x3e\x30\x7d\xac\x28\x3f\x49\x3b\x0c\x5e\xc2\x09\xac\x1f\x51\x33\xa9\xf0\xa8\x9a\xd2\x8f\xee\xcc\xda\xd9\x7f\xfa\xe4\x85\x4a\xe8\xb1\x7f\xf8\x33\xd0\x05\x9f\xad\x8a\x83\x72\x66\xe9\x4e\x3a\x1d\x57\x0a\xd1\xbb\x5a\x0b\x2f\x4a\x1e\x5d\x9b\xd7\xc4\x46\x00\x31\x13\xf6\x4b\x02\x31\x5c\x09\xa5\xf8\x95\x08\x2f\x7a\x99\x41\x98\xe9\x85\x88\x4a\x15\xd4\x72\x61\xdd\x20\xd3\x25\x85\xa2\x36\x01\xe8\x93\x3b\x48\xc0\x5c\xa9\xe5\xe6\xdc\x15\xaa\x2c\x6c\x78\x66\x9c\x45\x5e\x60\x48\xe9\x52\xb2\x45\x55\x56\x85\x68\xcc\xab\x75\x13\x3c\x64\xd4\x23\xbe\xc5\xfe\x82\xf8\x13\x85\xb7\x1b\x3e\x64\xf0\x71\x51\x7f\x6f\x81\x66\xb3\xf6\xaf\x32\xc9\xba\x9d\x4e\xab\xd8\x51\x86\x49\x5e\x35\xd8\x00\x30\x34\x7d\x5a\xe6\xa3\x16\x21\xf3\xe6\x1a\x36\x2e\x40\xe6\xdd\x3f\x30\xf9\xff\x5e\x89\x4a\x68\xb2\xe8\x1f\x8c\xbc\x48\x30\xf7\x8e\x39\x21\x2e\x73\x10\x07\x46\x0b\x54\x9b\x14\x1b\x9d\x70\xb2\x6f\x9e\x19\xa1\x13\xfd\x1d\x56\x0f\x89\xd8\x7c\xa6\xc9\x55\x80\x34\x2b\x94\x9b\x00\x87\xa4\x7b\x83\x2e\x67\x8c\x86\xbe\x48\xf5\x0e\xf5\x98\x2c\xb0\x4e\x9a\x75\x7b\xc0\x38\x2a\x38\xe0\xa0\x99\xad\x31\x63\xfa\xdc\x2b\xf1\xb7\x0a\xa2\x00\x53\x8a\x64\x60\x28\x92\x8c\x5d\xbe\x7b\x83\xac\x22\x71\x0b\xba\x2b\xbd\x42\x9f\x5b\x83\xcd\x48\xb2\xb2\xdb\x59\x8a\x34\x95\x1a\x62\xf5\x0f\xac\x59\x98\x66\xdd\xce\xad\x2c\xd2\x18\x3f\xe9\xaf\xef\x96\x9a\xcf\xe4\xac\x5c\xe7\x10\x53\x50\x95\xfa\xde\xdb\x4a\x13\xc8\x4f\xa4\xe7\x6a\xa2\xb5\x9b\xe9\xe1\x88\x0c\xfa\xf9\x39\x23\x2f\x23\xcd\xb2\x3e\x81\x6c\x4b\x0a\xb2\x53\xb8\x7a\x3f\x67\xa6\xe6\x43\x87\xcc\x6d\x2e\x8f\xe3\xda\xd6\x3e\x88\x8f\x80\x0e\x6d\xe7\xc9\x85\x7c\x25\xc2\x14\xd8\xae\x58\x6a\xf5\xec\x48\x8f\xdf\x48\x24\x50\x27\x69\x01\x06\x3f\xb3\x4d\x7c\x74\x7d\x0b\x53\x21\x24\xf4\x70\x45\x33\x11\x80\x29\xc0\xb6\xbb\x08\xf9\x7f\x3a\x58\xd2\xec\x91\x80\x71\x2b\x26\x8c\x76\x39\x55\xfc\xeb\xa1\xdb\x04\x42\xed\xe9\x0e\x56\xc9\x33\x7b\xf0\x7c\x1a\xf9\x98\x69\x23\x98\x1a\x94\xc5\xe5\xa8\x08\xa7\xec\xb9\x85\x6d\x9a\xac\xa9\xbf\xe9\x9a\x6a\x3c\x40\x2b\xe2\x3f\xf5\x3d\x57\x16\x55\x54\xca\xc2\xbb\xb9\x21\x39\x2c\x26\x65\x5d\x8a\x22\x29\x41\x83\x03\xe7\xb4\x4d\x9a\x31\x3b\xfc\xa3\x12\x61\x7e\x32\x60\x01\x1a\xdc\x2e\xf1\xa3\x94\x1a\x0a\xf8\xc3\x30\x8b\xba\xee\x0b\xe3\x0b\xa6\x6b\x96\x64\x49\x49\xcf\x3b\xed\x93\xb5\x0a\x1a\xd7\xe1\xbf\xc9\x0a\x84\xf8\x72\x29\x40\x4b\xe3\x31\x5b\x96\x11\x06\x7c\x75\x4c\x30\x5b\x89\x72\x29\x63\x05\xd1\x2f\x45\xa4\xf7\xb2\x58\x43\x1d\xc0\x4a\xcb\x1c\x3f\xc1\xdc\x64\xc1\x80\x96\x6c\xdd\xf0\x82\xbd\x5a\x6b\xf8\x28\x8a\x86\xd5\x0a\xaf\x6e\x87\x2a\x39\x32\xc5\x4c\xbb\x50\x6d\x5d\xe5\x81\x39\x0b\xb2\xb3\x5f\x99\xd7\xc4\x0b\x51\x2a\xd2\xd9\x24\x7f\xc7\xdc\x66\x77\xf8\x6b\xb2\xd0\x87\x50\xdc\x25\xaa\x54\x36\x17\x59\x23\x19\xd0\x78\xe4\x75\x86\x51\x3f\xad\xdc\x64\x02\x77\x9b\x64\x3a\xd1\x5d\x9f\xfd\x43\xf7\x7d\xc8\xc6\xa3\xcf\x86\xf2\x7e\xbe\x6f\xfe\x06\xb8\xfe\x12\x90\x7e\xf6\x59\x63\x29\x72\x85\xf2\x80\x62\x5d\x2d\xe3\x33\x55\x45\x7a\x13\x16\x55\xaa\x49\xaf\xea\x01\xd3\xac\x92\x58\x6c\x09\xe0\x84\x10\xd1\xd2\x44\x95\x7d\xa6\xa4\xd7\x53\x21\x08\xe3\x92\x92\xcd\xc5\x42\x16\x64\x8a\xe3\x0b\xcd\xe6\x1c\x61\xdc\x77\xb0\xf2\xc2\xe2\x8d\x1a\x74\xbd\x72\xa7\x31\xa3\x1c\xf8\xae\x97\xf7\xc9\x07\x76\xc4\x12\xdb\xcf\xe7\x06\x78\x86\x43\x76\xcc\x55\x12\xb1\xba\x52\xc7\x86\xb7\xf5\x60\xc8\xe3\x58\xff\xd2\xed\xe4\x32\xdf\x42\x75\x5d\xa7\xff\x00\x10\xbd\xd9\x58\x86\xe4\x2b\xf7\xd1\xa4\xab\x4b\x20\x9d\xbe\x28\xf0\xe8\xf0\x24\xa5\x0c\x68\x7a\x2a\xc0\xff\xc3\x49\x54\xa5\xcc\xd9\x52\x14\x62\xe0\x7a\x20\xd1\x1f\x5b\x9f\xfe\xf7\xae\x1b\x0e\x67\xd8\xf7\x50\x71\x0b\x1f\x9c\xc3\xf1\xa7\x24\x1e\x55\x4a\xdf\xb3\x71\x12\xd1\x2e\x2d\xb9\x32\x22\xeb\x7c\x0d\xac\x83\x95\x3e\xf1\x50\x36\x27\xa1\xab\x77\x7b\x0e\xdc\xbd\x00\xd0\x17\x1c\xd2\xec\x35\xf4\x67\xf7\x82\x1a\x6a\x6f\xfd\x26\x80\x6b\x44\x51\x22\x5d\xd0\xbd\x19\x2e\x18\x1c\x68\x8d\x72\xba\x4e\xea\x4d\xa5\x36\xb8\xea\x1e\x43\xb8\x42\x49\x00\xd7\x66\xf3\x1a\x44\x02\xdc\x23\xf8\xbf\xe3\x49\xc9\xc6\xa3\xd1\x4a\xb9\x9c\x8e\x7a\xeb\x79\x51\xf0\x35\x23\x23\x0b\x4b\x4d\xf9\xb5\x53\xa2\x8a\x3b\x80\xa8\xb7\x0f\x2d\xe6\x03\x7d\xdd\x77\x6d\xd7\x1f\x44\x49\x83\x06\x70\xe3\x38\x11\x3a\x13\x22\x56\x8c\x67\x68\xdf\x39\xb1\x73\xf6\x52\xb7\xd7\xf0\x9a\xb4\x09\x36\x79\x60\x21\x20\xd9\x85\x06\xcb\x50\xa3\x39\x39\x7f\x67\x7d\x52\x2a\x7a\xd9\x39\x9d\x7c\x0a\xdd\xa1\xf6\x3f\x59\x09\x48\x74\xd4\xc4\xbd\x42\xb3\xb5\x0a\x96\xdf\x9d\xd0\x8a\x1b\x58\xe8\x98\xd9\x06\xdb\xa3\x6f\x80\xd7\x6d\xf1\x3e\xdd\xe5\xd8\xce\x43\xa0\xe6\xd0\x67\x75\x4c\x57\xa4\xef\x37\x37\xa2\xbe\x1f\x41\xec\xa7\x96\x16\x71\xcd\x8e\x78\xdf\x80\xe9\x73\x7f\xfa\x4f\x93\x76\xa2\x47\x6e\xd2\x14\x3d\xd5\xdc\x0e\x55\xde\x05\x75\x09\xbd\x10\xe8\x81\x37\xb5\xa3\xaf\x74\xde\x28\xbc\x67\x93\x95\xa0\xef\xb6\x7e\x9c\x28\x3e\x4f\xc5\xbd\x6d\xbc\x3a\xb6\xdd\x95\x28\xef\x6d\x43\xdf\xeb\xf5\x29\x15\xc8\xbd\x6d\x74\x1d\xdb\xae\xa4\x02\x67\x2e\x6c\x8b\x5f\xf1\xfc\xa3\xb5\x70\x80\x52\x7b\x37\xea\x62\xf6\xf1\x23\xfc\xfd\xf1\xe3\xe1\x86\xf1\x5c\x75\x7c\x8d\x6e\xaf\x65\xd8\x10\xa1\xc8\x4c\xb7\x94\x45\x90\xb8\x48\x17\x04\x1c\x20\x2c\x52\x2e\x36\xa8\xa6\x5d\x7f\x7d\xa3\xce\xa5\x17\xae\xa5\x58\xb3\x5b\xe1\xe9\xd7\x37\xa3\xa9\x37\x2b\x13\x42\x32\x50\x7b\x00\xae\x43\x6c\xf9\x7b\x39\xca\x4b\x77\x09\xe0\xa1\xcd\x13\x14\x50\x35\x6f\xe5\x0d\x61\x1e\xf8\xd6\x18\xe4\x1e\x18\x80\x7b\xa7\xe7\xd0\x30\xd0\x93\xbd\xc6\xa0\xe4\x42\x95\xa1\x0a\x09\x64\x09\x51\xcb\x19\x6d\xf6\xd8\x4f\x2c\xd5\x39\xa9\x20\x60\x7a\x49\xc7\x19\x23\x93\x77\xd8\x33\x66\x9a\x5b\xeb\x97\x12\xc7\xdf\xa4\x94\x24\x8d\xe4\x86\x59\x59\x3e\xdf\x4c\xe2\xbd\xa9\xf8\x81\x0e\x74\x50\x03\x30\x14\xd1\x43\xff\x59\x37\x58\x5e\x80\x34\xce\x19\x1d\xa4\xd8\xf2\x4a\x9b\xc0\x17\x9e\xca\xff\xb8\x20\xf4\xb5\x7c\x9d\x13\x7f\xf5\x6e\xc4\xc1\xa2\x4a\xd3\x66\xe2\x97\xbf\x88\xb2\x05\x7b\x01\x22\x26\x05\x9e\xbe\x73\xf4\xec\xff\x69\xd8\xdc\x76\x9f\x58\x98\xd6\xaf\x93\x58\xa8\xa4\xf0\xf6\xd2\x85\x76\x6e\x9b\xb4\x09\xf6\x0d\x77\x1b\xb5\x02\xc9\xc1\x86\xd8\x26\xa1\xe2\x96\x2b\x97\x1e\x80\xe1\x0b\xe9\x7d\xa8\xe2\x08\x71\x03\x4d\x02\xe5\xfc\x06\x6c\x6e\xc2\x3c\x23\x86\xa5\x85\x80\xa1\xe4\xd5\xaa\x99\xff\xd7\x90\x95\xf0\x16\xa9\x89\xf7\xf5\x85\xc2\xa1\x6c\x98\x83\xb9\xc0\xfa\x4c\xda\x07\x07\x14\x99\x0d\x5e\xf5\x59\x5e\x19\x26\x59\xb8\x2c\x04\x94\x37\x98\x24\x75\x30\x30\x97\x59\x29\xee\xca\x40\x1c\x44\x3d\x4d\x21\x57\xbe\x4c\xa8\x58\x9c\xc0\x54\xb5\xd0\xeb\x24\xc1\x27\x5e\xc6\x8d\x24\x2b\x45\x46\xea\xc4\xb9\xb0\x29\xc3\xed\xe3\x2d\xce\xb1\xa3\xac\x7c\x4d\xf0\x45\xee\x0a\x71\xc8\xa5\x45\x56\x96\xd1\x0c\x1e\x81\x92\x68\x09\x82\xde\x5c\x18\x99\x3d\x86\x1d\x28\x64\x75\xb5\x34\xba\x42\xb3\x2a\x7a\xe9\x63\xec\x4c\x16\x96\x45\xf5\x94\x88\xaf\xd6\xb5\x6b\xf4\x01\x89\xba\x26\xf2\xaa\x87\x64\x5e\xe2\x3b\xc3\xe9\x50\xea\xe0\x8e\x6e\xd6\x71\x7b\x53\x22\x26\x19\xf9\xc8\xe4\x96\x46\xa3\x12\xb3\x5d\x56\x30\x27\x31\xde\xcf\xde\x5e\x6b\x7b\x05\xd4\xa7\x45\xa2\xdf\xf4\x54\x18\xdd\xc1\x01\xaf\x4d\x56\x6f\x82\x7b\xd3\x1a\xb4\x35\xb4\x18\xe2\x5e\x19\xc9\xe8\x40\x23\xa0\x26\x38\x43\x3f\x27\x30\xd9\x20\xca\xcc\x87\x6a\x1b\x12\x93\xce\x18\xdb\x6a\x11\x41\xc4\x0c\xf3\xce\x13\x6c\x10\xc3\x16\xbe\xdd\x0e\xa6\x0d\x50\x7e\xd0\x7a\x93\x92\xa3\x86\x14\xf7\x9c\xd1\x00\x1d\xda\xd2\x0d\xeb\x6d\x37\xab\xae\x3b\x0c\x6b\x94\x0f\xbf\xe1\x0a\xdf\x5f\xeb\x7b\xb7\x0b\xdf\x35\x52\x7d\xcb\xa2\x3b\x5d\x76\x68\x6b\xbf\xbf\xfe\xd0\x4c\x41\x4c\xa4\x06\x7c\xda\xe8\xbc\xa0\x46\xdd\xc0\xb1\xca\x5b\x44\x03\xa3\xc7\x37\xdb\x5f\x0b\x64\x65\xa4\x36\x47\xe0\x38\xcb\xe4\x96\xcc\xf1\x95\xad\x76\x62\x51\xab\xfd\xb7\x2a\x29\x84\x62\x4a\xae\x04\xbb\x4e\xb2\x58\x77\x02\x9f\xb7\x6e\x93\x98\x74\x66\xa4\x09\x4f\xd0\xa4\x20\x4f\x39\xa6\x26\x88\xfd\xe7\x05\x78\xea\x5d\x90\x66\x18\xcc\xb6\x99\x2a\xf5\x55\x4e\xdb\xd4\x4a\xcd\x40\xf8\xc3\x6a\xb4\xf9\xba\x2b\x0e\x0a\xa0\x44\x83\x46\x33\x8a\x69\x4a\xfa\x21\x93\x5f\x0d\xa0\x01\x2b\xe2\xd9\xda\x7b\xc0\xf4\x94\x1a\xf8\xe6\x0c\xc7\xcb\x8d\x6b\x13\x9c\x20\x9a\xc5\x89\x8a\x78\x01\xcf\x67\x59\x4c\x6a\x4a\x99\x39\x34\x24\xaa\xaf\x71\xc0\x9c\xd3\x42\xac\x08\xfd\x03\xab\x9c\x69\x86\x1a\x2a\x26\xe8\xad\x4e\x56\x25\xfc\x6d\x36\xa4\x65\xf1\xa8\x0d\x99\x0b\x96\xc4\x62\x95\xcb\x52\x64\x78\x57\x7b\x24\xad\xaf\x0f\xc1\x5a\x56\x1d\x7c\xe7\xd3\xc3\x9e\xbc\x79\xc5\x32\x19\x53\x3a\x23\x16\xcb\xa8\x5a\x41\xd0\xfe\x95\x96\xda\x55\x55\x00\xc8\x16\x49\x81\x36\x35\xc8\x6c\xa3\x84\x2d\xd6\x1d\x48\x9c\x56\xda\xc7\xa3\x12\xf4\x3c\x8c\xc8\x19\x5c\x75\x7d\x63\x21\x57\x2e\xc5\x8a\x15\x1c\xa4\xf0\x72\xc9\x33\x44\x96\x0a\xfd\x16\x56\x61\x02\x23\xdd\x67\x24\xab\xac\xa4\xbd\x4e\x0a\xdc\x53\xcf\x0e\x8e\xc4\x87\xbc\x90\x73\x3e\xc7\x6c\xd8\xa9\x58\xe8\xf5\x2f\x35\xce\x81\x4d\x96\xde\x3e\xe2\x3f\xfc\xc4\x4f\x1a\xb8\x2e\x06\x9a\x23\x14\x7c\xae\xc5\x7c\xb7\x2b\xb1\xb3\x2e\xf1\xc9\xda\x1f\x21\x89\x8f\x22\x24\x2d\xf7\xca\xa3\x0f\x7a\x0c\xcf\xae\x5b\x88\x1e\x70\xe8\xff\x85\xa7\xdc\x1f\xf9\x71\x67\x1c\x38\x02\xf2\xbd\xa8\xc8\xd0\x04\x33\x55\x71\x36\xaf\xb2\x68\xa9\xbb\x9d\xcb\x24\x15\x45\x9e\x72\x63\x7a\x32\x2c\x05\x2f\x62\x79\x9b\x91\x2d\x5e\x86\xa7\x29\x51\x96\x71\x30\x5b\xae\xfe\x84\x3d\x6f\x37\x6f\xfa\x6c\x9e\xfd\x28\xd1\x8d\xfe\x35\xb0\xc3\x11\xac\xca\x23\xb9\x82\x54\xd1\x74\x9d\x59\x6e\xfa\x4f\xc3\xa6\x07\xf5\xe6\xbf\x09\xb1\xa4\x2a\x71\x7f\x35\xfc\xb7\xf4\x06\xfc\xff\xc8\xf5\x7f\x32\x72\x49\x55\x3e\x1a\xbb\x70\x78\x56\x88\xbc\x10\x4a\x5f\xa6\x90\x30\xd0\xb7\x07\x4c\x42\x11\x65\xd0\xc8\x4b\x68\xae\x4f\xd0\xf1\x17\xa5\xb5\xfc\xbb\x4f\x2b\x63\x85\x07\x80\x85\x7f\xc5\x88\x1b\x51\x58\xf3\x6c\xfb\x1a\x08\xf7\xf5\x7c\xcd\x96\x3c\x6b\x88\xc9\xad\x03\x91\x16\x76\x06\x86\x9f\x97\x21\x5b\x82\xd6\xa0\x8e\xc5\x6d\xf0\xb1\x83\x07\xa5\x70\xb4\xf6\x76\xb2\x78\xe2\x3d\x3f\xf4\xe1\x9e\x44\x7b\x56\x92\xe0\xfc\xdd\xa7\x49\x18\xad\x41\xd3\xfe\xaa\x1d\xd7\xfa\xb4\x55\xbd\xcf\x81\x8e\x23\xf0\xf3\x7c\xe2\x2c\xf5\xc8\x2c\x3e\xb4\x35\x84\xdb\x96\x59\x79\x8f\x5e\x64\x38\xfb\xc1\x58\x46\x10\xc7\x02\xc6\x82\x6e\xd6\x35\x9c\x6c\x0a\xdf\x8d\x73\xd3\x44\xd2\xba\x82\xc0\xed\xce\x46\xed\x0d\xf0\xde\x80\xa6\x8c\x48\xd9\x3d\x7b\x18\xbe\x4a\x83\x43\xe5\x57\xc3\x27\xbe\x9e\x1b\x51\xe1\xc8\xc3\x0b\x8c\xc2\xea\x0f\xb0\x61\x5b\x5b\x76\xb4\x65\x2b\xfd\x11\x2d\xb2\x1c\x85\x2a\xad\x60\x34\xca\x70\xd9\x32\xdc\x6f\x19\xca\xe8\xae\x82\xa5\x79\x2a\xfa\x67\xac\xf3\xde\x57\xad\xe9\x82\x0f\x1d\x13\x81\xb6\xee\x26\x0c\x66\x3d\x01\xd6\x0c\xfc\x35\xf9\x06\x76\xfe\xdf\x81\x8e\xe3\x14\x4c\x91\x45\x78\x9e\x7c\x45\x43\x64\x83\xf5\x36\xd5\x6b\x35\x5c\xec\xfb\x64\x85\xb7\xd9\x27\x90\x5d\x64\x0b\xa7\xaa\x97\x92\x94\x8f\x25\x1b\x8f\x26\xe9\x9b\x35\xa7\xfa\x77\xdf\x97\x23\x34\x57\xc5\xde\xc8\xc2\xcc\xfa\x1b\xeb\x3d\x40\x9d\x96\x66\xfe\xf3\x3c\x4d\x9c\x7d\x56\xce\x21\x78\xc0\xfd\x4a\xfc\x41\xf8\xe8\x63\x77\x68\xa0\x3b\x5b\xd3\xa8\x88\x0f\x7d\x2f\x89\x78\xcb\xbf\xf7\xe6\x92\xa0\x36\x64\x56\x3a\x88\xee\xc8\x3b\xcd\xfa\x3c\xdf\xf9\xd9\xfb\xc4\x9d\xdd\xad\x16\x85\x1d\x82\x15\x8a\x8c\xe9\xaa\x49\xe4\xe7\x19\xbd\xb8\x47\x4e\x63\xe4\x05\x04\xa3\xe0\x09\x50\x28\x2f\x38\x32\x6a\x6d\xc5\x9d\x9f\x26\x59\xdc\x0d\x54\x69\x9d\x62\xea\xa5\xfe\xec\xc0\x15\x29\x4c\x84\x1c\x0c\x6b\xda\x90\x19\xdf\xcf\x59\xa7\xd7\xbb\x27\x03\x72\x6b\xdb\x5e\xcd\x6b\x3b\x58\x9f\x79\xdf\xd4\xcb\xfb\x68\x36\xe7\x6c\x7a\xfe\xf2\xf4\xa4\xcf\x16\x3c\x55\xa2\x19\xbd\xf8\x47\x62\x92\xa2\xa5\x94\x4a\xd4\x8c\xfb\xd1\x05\xa4\xca\x50\x5c\xf3\x65\x74\x95\x26\x57\xcb\x32\x5d\xb3\x95\x84\xb4\xc0\xd9\x8d\xc8\x12\x91\x95\xcd\x8b\x15\x6f\x6c\x25\x36\xda\x00\x6d\x30\xc6\xee\xf6\x1e\x38\x54\x9f\xfd\x87\x47\x4b\xc2\xad\xf3\x4a\x8b\x16\xd7\xdc\x39\xe6\x54\x6f\x60\x95\xa6\xf6\x52\x0a\xec\xe1\xc1\xd9\xc4\x9c\x51\x65\xae\x3a\x8f\xd7\xf4\x6e\x48\x0d\xc4\xfb\x95\x95\xb2\x00\x23\x86\x9b\x24\xae\x78\xea\x19\x08\x6d\x3e\xfc\x35\x03\xf5\xd6\x07\xda\xe0\x0a\xf0\x40\x50\x77\x4b\xb0\x5a\xb4\xe6\xcd\xe2\xe5\xfd\xf7\xdf\x75\xfd\xce\x2f\x96\xb2\x28\xa3\xca\xd9\x97\x86\xbd\x77\x14\xd9\xdf\xf9\x5d\xa3\xaf\x83\xd7\xa5\x2e\x69\x5e\x5b\xd6\x3e\x9e\xb6\xe0\x71\xe6\xff\xa1\x03\x02\xf6\xb6\x94\xb7\x56\x5e\x00\x03\x70\x30\x14\xb3\x8e\x07\x1b\x3c\x0e\xe8\x25\x34\x9c\x7b\x74\xc7\x8e\x34\x62\x7c\xfa\x64\x1c\x7b\xc3\x8b\x9d\xde\x43\x3d\x17\x08\xd0\x96\x88\x0c\xf4\x19\x60\x24\xb0\xe0\x49\x5a\x15\x8d\x9e\x4d\xb1\xcb\x93\xf7\xa8\x9e\x11\x23\x6b\x7d\xe5\xc1\x73\x69\x1d\xae\x90\xb9\xd9\x07\xb0\x2a\x79\x01\xc6\xf2\xb2\x60\x59\xa5\x6f\xb3\x05\x59\xd3\x64\x9d\x12\xc3\x75\x50\x15\xb6\x86\xec\xa1\x01\xd3\xa3\xbf\x9c\x70\xb0\x27\xd0\x8d\x37\x0c\x98\x64\x6c\x95\xa4\x69\xa2\x44\x24\xb3\x58\x59\x25\x92\x9b\x45\x29\xe5\xb5\x6f\x9a\xe1\x4f\x07\x3b\x73\x73\xb2\xe1\x89\x5a\x26\x14\x57\x05\x8a\x9e\x9b\xe6\xe3\xd9\x75\x87\x57\x6f\x00\x80\x60\x6e\x34\x2c\x41\x01\xbb\xd2\x23\x33\x76\x9e\x39\xaf\xcd\x58\x94\xfa\x02\x07\x61\xd2\x6c\xa7\x93\x54\x81\x57\x48\x05\x24\xd8\xb6\xe1\x51\x4a\x70\x56\x63\xf0\x16\xe1\x7c\x3c\x02\x8c\xc3\xd0\x3e\xc4\xaf\xb4\xad\xe9\x75\xb5\x9a\xa3\x68\xb9\xe2\x77\xc9\xaa\x5a\x39\x14\x63\xe1\x49\x72\x16\x59\xb7\xe6\x15\x81\x65\xd8\x3a\xa1\xb3\x52\x08\x1e\x2d\xf1\x88\x2c\xd8\x48\x03\xc4\xf9\x52\x38\x45\xa8\xb9\x1a\x94\x20\x37\x3f\x52\xa8\x2a\x3d\x4c\x9f\x89\x1b\x91\xd1\x96\x2d\x50\x8c\xd7\x33\xaa\x2d\x6c\xc5\xef\xce\x1c\xce\x8f\x6a\xfb\x54\x54\x02\x77\xc1\xf3\x1c\x62\xf8\x6c\x24\x78\x91\xae\xd9\x5c\x44\xbc\x42\xf7\x4c\x9e\xb1\x2a\x13\x77\x39\x4e\x45\xe3\x57\xd2\xc2\x9d\xe7\x3c\x4b\x22\x4d\x36\xf5\xed\x67\xf8\x52\x63\xc0\x60\xcc\x6f\x03\xea\xeb\x28\x21\x18\xd6\xdb\x14\x96\xde\x9d\x09\x84\x1f\x5f\x1e\x88\xfc\x3b\x97\x29\x04\x4e\xb7\x87\x72\x92\x6f\x9e\xe4\x54\xd0\xc8\x47\xea\x9e\xe0\x0d\x07\xa1\x79\x2f\xe1\xf7\x2e\xc9\xe9\xcb\x97\x1f\x2f\x4f\x2f\x2e\x2f\xe8\xe5\xfa\x02\x44\xc8\x6e\xe7\x6b\x9e\xa6\xa0\x2c\x51\xdf\x74\x7a\x75\x7b\x09\x5f\xe6\xf6\xc9\xe7\x46\xb9\xbf\x39\x2e\xce\xb3\xed\x2d\xd6\xf3\x6b\x70\x60\x6b\x58\x0b\x3c\x76\x84\x86\x99\x12\x86\xc7\xf2\x44\x3a\x99\x97\x1f\x73\x5e\x96\xa2\xc8\x5c\xd4\x05\x2a\x20\xdf\x1c\xf3\xd7\xa7\x4f\x38\x2f\x0b\x34\x93\x60\x02\xc7\x9a\x81\xbe\x19\xf0\xd0\x59\x04\xd0\xeb\xab\x27\xef\x78\xcf\xb2\x64\xf4\x6d\x5f\x74\x7e\x45\x43\xcf\x5f\xd9\xd7\xb6\xad\x75\x90\xfe\xd5\x39\x48\x7b\xd6\x06\xa6\xda\xfb\x5f\x29\x88\xd0\x70\xc8\x5e\x4b\x83\x24\xb7\xa2\x53\x68\x6e\x42\xa3\xe5\xd3\x2f\x8e\x8e\x9e\xfa\xea\x73\x5d\xf2\x94\x29\xe9\x57\x5d\x69\xae\x19\xf4\x0c\xd8\x95\xde\x5a\x87\x22\x88\x1c\x96\xd2\xf9\x7d\xd9\x57\xaf\xac\x54\x46\xad\xe2\x72\x7f\x20\x97\x6b\xc0\xf8\xc5\xd1\x51\x0d\x8e\x21\x37\x6c\xea\x79\xcc\xf0\x0f\xe2\xea\xf4\x2e\xf7\xb9\x61\x30\x4f\xa7\x9a\x80\x28\x80\x1d\x56\x9a\xed\xf5\x3c\x01\x42\x4f\x2c\xc9\xbc\x18\x45\xc8\x1e\x1b\x23\x10\x27\x02\x7f\x71\xc4\x02\x54\xd8\xd0\xdc\x67\x96\xe9\x9d\xd6\x60\xb3\xc1\x51\xc0\x32\x87\x15\xcf\x9e\xd5\x73\x79\x7b\x1f\x6b\xaf\xee\x29\x3e\xd7\x64\xc0\xd5\x01\x43\x8c\xe7\xbc\x94\xec\x0a\x21\x6e\xfc\x3e\xc8\x23\xd1\x35\x33\x62\xb8\xe2\x64\xc0\x4c\xed\xf5\x0e\x49\xf0\x99\x06\xdf\x6a\x79\xbb\xc9\x82\xe3\x13\x02\xfa\xb3\x3d\x00\x6f\xe9\x67\x15\x10\xa4\xc0\x59\x17\xc8\xfc\x3d\x94\xa5\xef\xd1\x2a\x5e\x84\x24\xca\x34\x37\xce\x46\x7d\xf4\x2f\xb3\x14\x05\x39\x9f\x3b\x1e\x81\x70\xa0\x91\x53\xc0\x15\xd1\xde\x07\x4e\xde\xf4\x01\x03\x1a\x84\x86\x2e\xf1\xbb\xf3\x51\xb3\x30\x30\xb6\x28\x49\x46\xa6\x27\x99\xbd\x0f\x79\x8c\x37\x01\x37\x4b\x80\x29\x81\xd6\x0f\xb9\x1a\x61\xbd\xd4\x9d\xe9\x26\x5c\x39\x9e\x5c\xf0\x78\x8a\xf8\xd6\x12\x1e\x4b\xb1\x1a\xc4\xa9\x41\x6d\x36\x84\x57\x78\xd0\x42\xaf\x25\xf6\x82\xdf\xf7\xb3\x23\x1f\xbb\xd1\x59\xe0\xa1\x3e\xdf\x27\x1f\x1e\x10\xdd\xe9\x9f\x59\x55\x10\xd0\xe1\x0b\x6f\xf8\xc0\x46\x34\x70\xaa\x7a\x2d\xfd\xcd\x15\x31\x4d\x1a\x8c\x4d\x8b\xa4\x14\x45\xc2\x51\xf4\x6e\x8c\xf1\xc0\xd9\xfb\x4e\xca\x6b\x11\x93\x50\x40\x19\x9f\x64\x26\x8a\x42\x16\xc6\x0d\xd9\xf3\xb9\x4d\x3c\xb6\x0d\xb5\x0d\x56\xf2\x47\xc7\x0c\x20\xab\xa0\xe3\x71\x96\x13\x57\x92\x55\x59\xc4\xab\xab\xe5\x3d\x8a\x99\x10\x31\x64\xf6\x23\xb5\x38\x35\xfd\x7f\x6c\xdc\x68\xe4\xef\xd3\x87\x48\x06\x7d\x70\x87\xd2\x00\x24\xb8\x1a\x6f\x20\x13\x5c\xb4\x63\x7a\x7c\x8c\x0e\xa4\xd3\x63\x47\x47\x6c\xc4\x3e\x7d\xa2\x8d\x6d\xf4\xa6\x4a\x5e\x56\xea\x90\xf8\x96\x4e\x8f\x22\x95\x7a\x6a\x23\xe2\x5f\x79\x68\x20\xae\x09\x1c\x15\x68\xe6\xae\xdb\x23\x9d\x5e\x21\x57\x8c\xbb\xa0\xab\x8c\xbd\xd3\x97\x93\xe9\xcc\x3c\x15\x5f\x49\xf2\xd4\x8a\x05\x4f\x51\x2c\x4f\xca\xba\x6a\x3f\x54\x62\xe0\x00\xee\x72\xe3\x56\x6f\x93\x94\x30\x0c\x70\x60\x8a\x2f\xb4\x6c\xa8\xfe\x56\x89\x34\x22\x8b\x2d\x44\x02\xe7\x55\xc5\x9c\x05\x55\x81\x37\x83\x43\xe2\x26\xcf\xdd\xf0\x9c\xf2\x36\x05\xa2\xfc\xd9\xfd\x00\xf5\x67\xa3\xfd\xc0\x70\xa6\xa7\x7a\x1a\xaf\xb0\xe1\xc7\x5e\xa8\x97\x23\x91\x6e\xc5\xd7\x60\xb1\x0e\x31\x60\xf4\xe2\x90\xb7\x5d\xf2\x2c\x4e\x35\xe7\x6b\x5f\x99\x6a\x90\x32\x0a\x54\x37\x4f\x5a\x93\xa6\x2a\xc0\xeb\x1f\xb1\x0e\x9e\x82\x8e\x0b\x89\xd9\x9c\x2a\x22\x83\xcd\x29\x16\x7e\x7c\x7b\xfa\xfa\xe4\xfc\xf5\x5f\x10\x1e\xa6\x53\xf0\x14\xee\x04\x1e\x65\xee\xb0\x5b\xc8\xb8\x89\x6b\x18\x41\xdb\x67\xac\xe3\xb8\x6d\x38\xf2\x6d\xa4\xa7\x65\x1a\x75\x4b\xca\x96\x81\xcd\xee\x3c\x63\x9d\x3e\x8c\x08\x21\x42\x9e\xb1\xce\xa1\xfe\x03\xce\x97\x9b\x71\xd8\x7b\x88\x73\x2d\x15\xea\x4a\x34\x47\x99\x48\xb0\x68\x3a\xfc\x6b\x82\x64\xe5\x2d\x5f\xa6\x0c\xc3\xec\xd6\xed\x09\xc9\xd1\x14\xa2\x19\x6f\x15\x55\xa6\x58\x52\x82\x93\x08\x0f\xa2\xfd\xf4\x03\x62\x96\x8a\xd2\xbc\xa9\x9c\xbc\x79\xa5\x25\xd6\x79\x92\x26\x7f\x47\xc5\x88\x5a\xca\xa2\xdc\x2a\x45\xb1\x02\xa1\x5c\x56\x65\xe0\x0c\x61\xbc\x9c\x62\x11\xa5\xbc\xf0\xde\x94\x3c\x55\x8c\x73\x9b\xf0\x19\x90\xb9\x94\xa9\xe0\x19\xfa\xf2\xab\xeb\x24\x27\x97\x0e\x30\x05\x29\x2a\x41\x9e\x41\x54\xa8\x79\x80\xeb\x24\xcf\xc9\x52\xa6\xfe\x70\x05\xf4\xd9\x83\x4d\xe0\x02\x4a\xba\x36\xd2\xbf\x03\xb3\x60\xde\x77\x81\xf4\x68\x52\x92\x84\x26\x63\xf7\xc7\x3e\x68\xa3\xd9\xb5\x18\x08\x4d\x8a\x5d\x5b\xa6\xe7\x74\xd9\xfa\xc5\x3d\x81\x24\x86\x17\x81\xa3\x0e\x9c\x08\xd8\xad\x80\x13\xec\x95\x28\x30\xea\x8b\xf5\x88\x19\x0c\x06\x7d\x36\xea\x81\x62\x62\xc5\xd7\x73\x4b\x47\x73\xb8\xec\x48\x85\xa2\x37\x1a\x9e\x4f\x6f\xf9\xda\xf3\xb8\x2c\x8b\xe4\x0a\xf4\x9f\x20\x8f\x97\x64\xc8\x23\x4c\x2b\x91\xc5\xa6\x37\x1b\xe2\xa8\x04\xef\x1b\x25\xd9\xad\x80\x64\x80\xe8\xd8\xac\x28\x1e\x37\x3e\xb2\x2b\x51\x96\xa9\x60\xf0\x46\x4e\x08\x23\xab\xc2\x74\x85\x2b\x8c\x34\x36\x54\x39\xd8\x50\x86\x3e\x3e\x18\x20\xae\x01\xe1\x30\x1c\x62\x1f\x90\x86\x38\xf1\x1a\x45\xab\xeb\x78\xba\x5a\xf2\x3d\xe1\xa5\xe8\xf6\x7a\x6c\xab\xa6\x93\xaa\xd1\x25\xe3\x8a\xdf\x6d\x27\x1b\x9d\xcf\x8e\x84\xe7\x3e\x97\x05\xc4\x0a\x2f\xc8\xfe\xbd\x94\xca\x2a\x5e\xbc\x76\x68\x86\xa4\xdb\xdd\xd3\x70\xa5\x2e\xe5\x05\xaa\xc6\x88\xea\x98\x25\xf6\x36\xcc\xb5\xe3\x91\x30\x55\xad\x56\xbc\x48\xfe\x2e\x48\x26\xad\xb1\x3f\x9e\xd2\xa8\xae\xdb\x6d\x6e\x05\x6e\xc2\x3d\x49\x2f\x37\xbc\xa4\x19\x63\x38\x2f\xb8\x49\x23\x6c\xc9\xef\x7e\x13\x43\x7b\x5e\x4d\x31\x7f\xad\x54\xe9\x1e\x8c\x1b\x41\xca\x1f\x3a\xd9\x38\x52\x5b\x70\x93\xf6\x67\x33\xff\x59\xcb\x59\x3c\x74\x37\xbd\x53\xb5\x5d\x81\x56\x31\xe5\x25\xde\xcc\x98\xed\x6b\xe3\xd5\xc7\xbc\xa7\xa5\x6f\x99\xfd\xf5\x90\x89\x3b\xf3\x58\x14\xe8\xb5\x02\x5e\xe6\x71\x38\x6f\x30\xbe\x08\x6e\x7f\x73\x6b\x36\x27\xd5\x44\x55\x6a\xb9\x01\x59\x7d\xe7\x78\x4d\x1d\xc3\x71\x8e\x8e\x58\xf0\x30\x15\x00\xd1\x9e\x24\x50\x1e\xd1\xe6\x78\xab\xa6\x4b\xd9\xa8\x88\x10\xc1\x03\xed\xc0\xa6\xc1\xde\x4e\x2f\x2e\x6a\x83\xe5\x9e\xd3\x93\x37\x54\x33\xbe\x41\x6d\x6b\xaf\x33\x4d\x04\x09\x55\x0d\x23\xed\x01\x34\x60\x55\x80\xff\xd8\xbc\xd9\xc1\x74\x03\xd2\xf7\xd0\x36\x17\x55\xf6\x5a\xdc\x95\xc4\x25\xff\x53\x4e\xae\x3b\x6f\xc4\xb0\x3f\xf1\x34\xd4\x31\xb9\x44\x3a\xb7\x4a\xfa\x42\x77\xac\xff\x04\x5f\x29\x8c\x08\x42\xfa\x4f\x7d\xa5\x40\xdc\xb0\x79\x75\x75\xb5\x76\xa6\x99\xe6\x41\xc6\xd8\x73\xd2\x08\x20\xb4\x3d\xb1\xc1\x32\x98\xcc\x98\xb8\xd3\x72\x02\x72\x0d\x19\xe3\x57\x3c\xc9\x48\xe6\xc8\x42\x37\x5d\x3f\xed\x03\xbe\x55\xc2\x95\xcb\x53\x05\x2f\x79\x20\x5f\x70\x25\xdc\x43\x44\xca\x15\x84\x30\xf1\x79\x6a\xa8\x01\x7a\x66\x7d\x07\xea\x7b\x16\xf3\x52\xe8\x0e\x11\x46\x74\xc9\x92\xb5\x9a\xbd\x68\x21\xae\x93\x0d\xa2\x83\x6c\x0d\x46\x4b\xb0\xf6\xb1\x58\xf9\x09\x44\xaa\xd3\xec\x7d\xe1\xc0\x6a\x14\xf8\x20\x63\x69\x31\x40\xa1\x1c\x50\xe7\xa6\x9d\xc3\x35\xdc\xf8\xba\x2f\xf0\x50\x05\xbf\xf7\x72\x09\xae\x0e\xe4\x16\x6d\x04\xaf\x06\xc7\x79\x9e\x81\xd5\x33\x5a\x14\x15\x62\xcb\xec\xa5\x93\x97\xa7\x2f\xdf\x4d\xff\xed\x82\xad\xe4\x8d\x50\xe0\xf3\x6a\x5e\x3f\xcd\x2c\xf3\x24\x6d\x70\x84\x7f\x06\x89\x6f\xd8\x4a\xa5\xbc\x14\x17\x78\xbe\x31\xfe\x07\xfc\x1a\x3e\x2d\xf1\xb2\x14\xab\x9c\xa2\xd1\x14\x22\x92\x45\x1c\xbc\x00\xc3\xeb\x14\x2f\x36\x3b\x1f\x6d\xbe\x46\x7e\x10\x6d\x17\x89\x77\x6f\xf4\xbd\x19\x86\x11\xa4\x1c\x15\x79\xc9\x4b\x27\xe9\xda\x08\x5a\xbf\x93\x8c\x78\xc3\x99\x17\x8e\x19\xb9\x27\xc3\x2e\xa7\xde\x60\x20\x46\x9a\x3d\xc4\x37\x1b\x7c\xf8\x83\x70\x8b\xb1\xac\xe6\xa9\xd8\xca\x41\xcd\x0e\x66\xd7\xd8\x1d\x7d\x5e\x25\xaa\x52\x81\xbf\xb1\x46\x98\xe9\xdb\x73\x93\x2d\x1a\xf4\x0b\x36\x0c\x0c\xd2\x57\xa3\x73\xf0\x48\x2c\x24\x47\x81\xaa\xdf\x1c\xb1\x51\x1b\x51\x36\x91\xe7\x75\x25\x17\x7d\xfe\xfe\x3b\x22\x4c\xca\x8c\x46\x0b\x2c\x83\x67\x7c\x32\x35\xd4\x05\x7f\xab\x44\xb5\xc1\x41\xba\xb9\xe7\x3e\x91\x6d\x8f\xb7\xe2\x51\xe9\x4f\x9f\xd8\x17\xf5\x47\x10\xe4\x08\x7b\x0d\xba\xde\xe4\x85\xbd\x0b\xb3\xf1\x50\xf6\xe5\x97\xed\x8c\xe6\x37\x47\x8d\x47\xb5\xcd\x3c\xc9\xab\xf0\x99\x90\x6c\xed\xe9\xe5\xaf\x8f\x76\xab\x7e\xb0\xca\x41\xa7\xe5\x3e\x6a\x9f\x37\xdd\x4b\xc3\x21\x7b\x2b\xc4\xb5\x11\x35\x4a\x99\x63\x67\xe0\x48\x80\xca\x1a\x13\x39\x17\xdf\x4b\x0b\xcc\x59\x40\xf2\x04\x22\xd9\x5c\x56\x25\xf6\x85\x04\xb5\xef\xbd\x77\x50\x7c\xdd\x38\x51\x65\x55\xcc\x61\x90\x24\xb3\xa7\x88\xb8\x4f\xbd\x2a\x13\x18\x4a\x77\x43\xd4\x99\x7a\x40\x5f\x7e\x1c\xb0\xa8\x32\xb0\xee\x03\xeb\xe1\xe0\x89\x26\xdc\xc5\xf7\xa3\x0f\xf6\xd9\x88\x38\x8f\x96\x47\xda\x6f\xdb\x14\x0b\x58\xff\xd0\x63\xc5\x2d\x93\x89\xda\x53\xf8\xae\x31\xa7\x1b\x3a\x76\xd0\xa3\xbf\x67\x5d\xd8\xab\xc5\xdb\x0e\x36\xf7\xdc\x44\xb9\x01\x51\x52\xb7\xf1\x1c\x50\xdb\x2c\xf7\xac\x1d\x91\x59\x91\x09\xaf\xe3\xd5\xee\xd6\xe5\x86\xbe\x31\x87\xf0\x83\x7b\x37\xf9\x61\x8a\xa9\x50\x8b\x1d\x89\x8e\x35\xf4\x6a\x95\xc9\x12\x69\x8f\x55\x09\x6a\xc0\xd0\x15\xea\x6c\x6c\x36\xa0\xb2\xd5\xaa\x1a\x1d\x2f\x0c\x80\x2b\xfe\x7d\xec\x33\xbb\x1f\xbd\x9b\xf2\xa8\xdd\xc6\x3a\x6f\x7d\xd9\xee\xfc\x0b\x42\xe1\x3f\x3a\xfe\x1c\xa0\x91\x0d\x76\xd7\xed\x30\xd6\xe9\xf9\xf1\x11\x1a\x36\x00\x2d\x6e\xca\xf8\x91\x1c\x95\xd1\x0c\x8f\xf9\xef\x59\x64\xbd\x4d\x51\x8a\x9a\xdd\xfa\x3b\x1a\x9a\xfa\x11\x01\x53\xcb\x64\x51\xfe\x51\xc9\xc7\x04\x04\xd5\x18\x61\x26\xf3\x87\x25\xa0\x16\x39\xa7\x55\xba\x0f\x81\xfa\x4f\xde\xf8\xf0\xb4\x17\x55\xb6\x11\x54\xc3\x21\xf3\x6b\x19\x5d\x16\xd6\x03\xc8\xb8\xb7\x08\x64\x75\x29\xcd\xd3\x0a\x59\xaf\xc0\x80\xc8\xe5\x82\xb9\x92\x25\x38\x1f\x40\x5c\x92\x95\xe0\x18\xca\xb9\x80\x77\xc3\xb2\x80\xeb\xdc\xdc\x7c\x65\x3d\x78\xf4\xa6\xe3\xf5\xe0\x1e\x16\x55\xf6\x27\x08\xb0\x2d\xb7\xb7\x7d\xaa\xf3\x0d\xa1\xac\x62\xc1\x0b\xfa\x14\xa8\xd0\xab\xac\xa1\x2c\x55\x10\x26\x9a\x45\x3c\x03\xd7\x35\xa5\x2a\x32\x87\x42\xb5\xa3\x2f\xe8\x78\x5a\x5b\x6b\xbb\xec\x71\xf1\x99\x2a\x05\x8f\xfb\xa0\x18\x42\xfd\x9b\x6f\xe1\x8c\xae\x87\xc6\x04\x59\x2f\xdc\x1a\xfd\xdc\xaf\xfd\xb5\x9d\x80\x12\x2f\x95\x57\xe4\x42\x82\xcf\xc6\x35\x07\x12\xc6\x15\xba\xc3\x2d\x79\x9e\x6b\x06\x8e\x78\xf3\x27\x18\x09\xd1\xfa\xb6\x92\x04\xb8\xd9\x0e\x70\xc0\xd8\xf1\xda\x3a\xf1\x90\xcd\x12\xf9\x48\x9b\xc0\x06\x7d\x62\xd2\xc9\xd2\xe5\x26\x11\xb7\xc2\xc6\x34\x6f\x09\x89\x2c\x17\x68\x6b\x35\x2f\xe4\xad\x12\x85\xf2\xdd\x85\xa8\x8c\x9c\x35\x13\x05\xc6\x53\xc5\xca\x9f\x2c\x08\x64\xc6\x4e\x05\x03\x07\xbf\x13\xe8\x3d\x8e\x8f\xba\xe8\xf7\x47\x9c\x80\x44\x31\x06\x15\x8f\x96\x53\xa0\xad\xd6\x97\x69\x8e\xb1\xbe\xac\x1b\xe9\x22\x74\x11\xec\x33\x74\xcb\x4c\x05\xa7\xf8\x9f\x66\x8a\x28\x38\x2d\x40\x05\x9b\x19\x13\x4d\x34\x8e\xb0\xfe\x3f\xd6\x7a\x2f\xc9\x36\x44\x2f\x66\xb2\x68\x5e\x84\x7e\xbc\xdc\x27\x10\xab\x8e\x1c\xb6\x60\xef\xd1\xc0\xa9\x66\x24\x87\xec\xd9\x6f\x60\x5b\x37\xc4\x1d\x0d\xce\xf9\x0f\xc4\xff\x58\xf5\x67\x83\x71\xb5\xef\x35\x10\xd4\xb6\x53\x53\x26\xb5\xdd\x5d\x0d\x25\x24\x91\xd7\xe6\x83\xa8\xa7\xfc\x7d\xd1\x6a\x56\x68\x35\xbc\x2f\x1e\xa1\xf3\x38\x93\xc5\x8a\x97\xa1\xb5\x21\x57\x9a\xd6\x45\x64\x0b\x40\xa5\x8f\x85\xa1\xaf\xf0\xf2\x81\xb9\x52\xfe\xb3\x7e\xa4\xd8\x11\xeb\xae\x14\x1b\xb2\xf1\x68\x34\xea\x0d\x4a\x79\x96\xdc\x89\xb8\x3b\x81\x59\xdb\xd7\xeb\x08\x14\x6c\x2a\x8c\xa4\xf8\x92\x4e\xb9\xc9\xe3\x67\x54\x4a\xa0\xd7\x5d\x3f\xda\x0a\xc1\xa8\x81\xef\x11\x50\x6a\x82\xc3\x83\x09\x5f\x6a\xf5\xdb\xd2\xbd\x04\x98\x84\xaa\xbc\x43\x87\x49\xa6\x83\xf7\xc9\x87\x96\xa7\x3b\x2f\x8f\x98\x9d\x62\x53\x68\xda\xc8\x63\x5c\xba\xf7\x7c\x43\x4c\x0f\xef\x45\xe2\xf6\x7b\xca\x61\x36\x78\x15\x43\xd4\x2f\x2b\xf6\x84\xd7\x11\x2a\x10\x88\x0a\x1b\x0d\xc6\x22\xb4\xab\x6b\xf1\x5d\x33\x76\xf0\x22\x6e\x1a\x23\xf4\x81\x4a\x21\x17\xe0\x27\x0d\x01\x17\x6c\x8a\x16\x2b\x29\x3e\x86\xe7\x74\x39\x75\x46\x56\xf6\x01\x07\xdd\x95\x9c\xcf\x55\x02\x14\x43\x0b\x76\x24\x7f\x99\xa7\x30\x50\xb8\x51\x76\x0a\xf6\x95\xf3\x8f\x8c\x63\x2f\x26\xb4\x67\x1d\x08\xd4\xdf\x29\x50\x68\xf2\x2e\x26\x1a\xf9\x67\x53\x04\x0a\xd0\xbb\x98\xd8\x80\x14\x36\xd2\xc6\xef\xb4\x8c\xc4\x56\x5e\x48\xb9\x60\xb7\x85\xbe\xba\xc8\x34\xde\x68\xed\x40\x95\x45\x93\x7d\xf0\xf9\x80\x4e\x02\x7a\x01\x68\x86\x41\x5f\x30\xc6\x4e\xde\x79\x9b\x85\x6e\x00\xc1\x13\xa1\x4b\x46\x70\xaf\xbb\x1f\x79\xfb\x41\xff\xa8\x79\x0e\x3c\xc3\x8c\x2a\x0e\x0d\x1e\x8c\x02\x2b\x75\xc6\x5d\x76\x24\x63\xfd\x75\xef\x92\x70\x3d\xce\x82\x17\xe5\xa5\xfb\x3b\x6c\x92\x09\x2b\x34\xd4\xc3\xb8\x87\x52\x42\xd3\x67\xe0\x21\x00\xd6\x20\x57\x77\x1e\x40\x1f\x05\xfa\xad\x69\x84\xfd\x00\xf8\xee\x5f\x66\xc3\xe9\xce\x18\x69\x6e\xf0\x22\xf8\x8d\x5d\x7a\xe6\x99\x1b\xac\xd9\x6f\x85\xb5\x88\x87\xf7\xf3\x34\xb5\x81\x44\x8d\xe6\xcf\x33\x25\xbf\x15\x70\xa6\x3d\x0b\xf2\x3f\xc3\x86\xfe\x5f\x66\x3f\x6f\x2e\x29\x52\xb7\x06\x8e\xa9\xad\xe8\x60\x9e\x60\xf0\x2f\x32\x23\x31\xfa\xc9\x69\x16\xda\xe7\xd4\x56\x05\x1a\x78\x08\x1c\x49\x72\x48\x29\xd9\x95\xc8\x44\xc1\xc1\x0a\x01\xbb\x6c\xb5\xb0\xb1\xf3\xf7\x23\x4e\x4b\x8a\x03\x42\x79\xee\x8c\x07\x22\x4d\xf1\xbe\x13\xe4\xdd\xb3\xb4\x02\x76\xc4\x3a\x64\x37\xde\x79\xf1\x70\x2b\xbc\x19\x99\x6e\x85\xbf\x3e\xa6\x11\x3e\x56\x41\x23\x32\xd0\xf2\xfd\x1f\x8d\x44\x06\xe1\xce\xb2\xf6\xb7\x57\xd6\x05\xf9\x44\x16\xc0\xa3\xf6\x80\x8a\x8b\x0c\x22\x7b\x64\x12\x4d\x4c\xe5\xc2\xc4\x23\x41\xf5\xa8\xda\x6c\x0c\xde\x62\x62\xb6\xf1\x11\x15\xf8\x34\x43\x7d\xf0\x97\x76\xfb\xef\x96\x4e\x3d\x10\x94\x92\x4c\x97\x37\x85\xc1\xea\x3c\xa2\x3f\x8f\x2b\x68\x57\xaa\x13\x63\xd0\xe9\x07\xef\x78\x7e\x03\x2c\xf7\xd3\xaf\x5c\xe8\x63\xeb\xbd\x34\xdc\x4b\x1f\x1f\x83\x58\xad\xdc\x7a\x23\x36\xec\x23\x59\x64\x58\x60\x41\x09\x49\x6a\x2a\x65\xf7\x28\xea\x1f\x49\xf6\xe5\x97\x46\x6f\x8d\xd6\x1a\xb5\x08\xf0\x01\xd7\x15\x27\x31\x85\x47\xc5\x50\xdb\xe4\x05\xc1\xb3\xd8\xfb\x04\x31\xe0\xc8\x8e\x39\x59\x89\x41\xa0\xf5\x6a\x31\xb5\x7a\xc8\x43\xd1\x59\xc2\xd5\x48\x86\xa1\x3f\x48\x09\x54\x8d\x4a\x78\xa6\x55\x14\x24\x07\x53\x19\xf1\xa8\xb4\x41\xe3\x9d\xc1\xa7\x66\x47\xe0\x05\x63\x83\x5c\x0b\x89\x6f\x56\x49\x56\x61\xf4\x09\xdf\xfe\xcf\xa5\x85\x78\xe2\xdf\x3f\x40\xc4\x20\xa0\xec\x57\x99\x2c\xbf\x62\xbc\x2a\xe5\x8a\x97\x64\xdd\x05\x0c\x14\x79\x1c\x85\xeb\x4a\x6c\x80\x3c\xcf\x81\xec\x91\xb8\x84\x90\xf0\x29\xe2\xe6\x24\x1a\x9b\xe8\x27\x04\xed\xf7\x45\x2b\x1b\x17\xb6\x99\xc9\x46\xef\xaf\x32\x71\x6e\x1f\x31\x3f\x99\x91\x49\x50\xcb\x73\x4a\x80\x83\xfe\x3d\x54\x47\xe0\x2f\x42\x04\x6e\x0f\x72\x1f\xe2\xad\x8b\xc7\xeb\x09\xb1\x8f\x40\x45\x0f\x0c\x61\xac\x61\xee\xed\x31\x46\x1b\xb6\xf8\x5e\x8f\x34\xac\x1b\x1f\xe3\x8b\x83\xdf\x8a\x74\x4a\xa0\xb7\xc3\xcc\xcd\x10\x71\x98\x7b\xfc\xb5\xc7\x55\xf8\xa7\x0a\xe8\x36\x0d\x14\x4b\xa6\x64\x90\xdc\xa3\x7c\x20\x8e\x31\xce\xc4\x58\xe6\xe9\xb3\x03\x71\x57\x12\xf7\x9a\x0c\xa9\x13\x75\x33\x8c\xbb\xc1\xad\x09\x1f\x49\x75\x98\x48\x19\x9f\x15\x6d\xc7\xca\x46\xbc\xca\x64\x69\x15\x44\x56\x30\x00\x51\x62\x5e\x91\x91\x1a\x28\xe1\x4c\x1c\x76\x63\x20\xe7\xe4\x2a\xdf\x11\x1e\x8e\x54\x68\x2b\x0b\x26\xc7\x5e\x18\xe5\x9a\xcb\x84\x8d\x31\x83\x32\x15\x67\x0b\x71\xcb\x52\xbe\x16\x05\xa8\xb6\x64\x68\x4a\xc9\xa6\x6f\xcf\x81\x70\x48\x13\x27\xd0\x97\xcc\x28\x03\x11\x66\xf0\x88\x04\xcb\x45\x81\x5d\x59\x69\x82\x67\x4c\xa8\x32\x59\x91\x76\x69\x29\x6f\x59\x2a\xb3\x2b\x14\xbf\x6c\x00\x6f\x34\xcd\xd3\xa2\x5d\x0b\x72\x18\x71\x00\x7c\x19\x56\xca\x77\xed\xf3\x19\x3f\x1b\x5c\xf3\xb1\xf7\x8a\x07\xa1\x16\x05\x86\x93\xbc\x0d\xd9\x87\x73\x04\xce\x8a\x81\xdd\x9e\xfd\xee\xd9\x92\xb9\x53\xda\x62\xe5\x47\x1f\x03\xeb\xbe\x95\xaa\x67\xdc\xc9\x4d\x9c\x1c\xef\x65\x5a\x1a\x04\xde\x9c\xf4\xa3\xfe\xee\xef\xab\x46\x6d\x7c\xf6\x56\x0b\x55\x0c\x0f\x6b\xf3\x4c\xd1\x37\x6b\xa4\x92\x5d\x69\xca\x06\x96\x2d\x9a\x85\x76\x21\x4a\x4b\x49\x91\x65\x4b\x92\x8f\x2c\x0f\x64\x85\xda\x47\xee\x48\x40\x70\x42\xc2\xac\xd7\xd2\x77\xd3\xac\x6d\x51\xfb\xcd\x1d\xdc\xd3\x8f\x37\x8e\x64\xac\xce\xa1\x1b\x26\x27\x7c\x01\xfa\xa1\xca\x1a\xb6\x73\x4e\x5f\xd7\x34\x93\xaa\xb7\x71\x86\x12\xe6\x7d\xca\x59\x39\x59\xdd\x0f\x2f\xae\x20\xf6\x9c\x7d\xd3\xfe\x9a\x4d\xd8\xa7\x4f\x1e\x24\x68\x00\xbd\x01\x9b\x5f\xc0\x02\xb6\xaf\xc5\x98\x71\x0a\x7a\x09\x22\xdd\x19\xe5\x2c\x32\xb9\xe8\x95\xf5\x57\x12\x7f\x03\x4d\xaf\x24\x4e\x81\x84\x0f\xa8\x16\x30\x14\x95\xa2\xc4\x88\x1e\x9f\xd0\x39\x3a\x3a\xea\x30\x99\x6b\xf6\x03\x9c\xfb\x9d\x79\x36\x06\xa0\x82\x48\xdc\x91\x14\x45\xe4\x99\x4c\x91\x55\xd0\xc6\x9c\x0a\x7a\x76\x2b\x5e\x5c\x1b\x52\x6c\x5e\xef\x31\xd8\xa0\xbf\x6a\xf0\x27\xf5\xac\x0d\x15\x09\x08\xf5\xa3\xf4\xd5\x67\xb3\x7c\x88\x11\x80\xbf\xae\x04\xd7\xc2\x81\xb7\x56\xbf\xbe\x85\x84\x8b\xb8\x69\x8a\x5a\x2d\x74\xf4\xe6\x41\xe0\x99\x69\xa6\x7f\xc7\xf3\x06\x05\x46\xe5\x94\xc4\x22\x2b\x93\xc5\x3a\x30\xca\x71\x40\xf0\x5e\xac\x9a\xe9\xdd\xcc\x55\x65\x38\xba\x45\x92\x8a\xc3\x34\xc9\xac\xf6\xc5\x38\x92\x68\x76\xe5\x5e\xfd\x88\x77\x34\x4d\xfa\x84\x86\x4d\x0f\x02\xa8\x6f\x17\xdc\xb7\xab\x23\xed\xc9\x90\xfd\x58\x26\x69\x52\xae\x83\x87\xa0\xbc\x10\x65\xb9\x36\xf1\x37\x29\x1c\x82\x9f\x73\x66\xc5\x4b\xca\x67\xef\xd9\x03\xe8\xa9\xc8\x05\x81\xf8\xe8\x88\x75\xd0\xab\xad\x13\x06\x35\xc1\xef\x74\x5c\x41\x50\x28\x0b\x76\x64\x1c\x81\x4d\x92\x7c\xf3\x91\x17\x6b\x64\xea\xc0\xa8\xa6\xc4\xb8\x23\x83\x15\xcf\x6d\x02\x70\xd6\xd5\x93\x30\x9d\xd7\x52\x88\x8b\x1e\x26\x26\x60\xe6\xbc\xae\xad\xf5\x09\x1b\x3b\x9d\xb0\xcb\xa3\x40\xac\xf5\x92\x2b\x7d\x5e\x21\x51\x57\x1f\x35\x20\x7a\xe3\xe4\x62\xc1\xf4\x06\x97\x8a\x69\xe1\x15\x92\x40\xd1\xb3\x8d\xeb\x09\x2c\x41\x5c\xda\x57\x4d\x36\xc1\x03\xf0\x8a\x27\x99\x16\xb9\xc8\x00\x91\x46\x02\xb1\xcb\x0c\x35\x08\x21\xa5\x17\xcb\x9e\x41\xda\x62\x17\x74\x85\x54\xd0\x61\xc4\x15\x23\xd1\xb4\xd5\x0c\x08\x16\x1e\x98\xa3\xa3\x23\x8b\x12\x0d\x06\x54\x83\x3d\xc3\xa8\x49\xf6\x28\x7c\x4b\x91\x92\x6c\x01\x44\x4a\x62\x87\x90\x5e\xc9\x0f\x07\xd1\xed\x18\x5c\xd4\xd5\x33\xdf\xf8\x0b\x2b\x5d\x89\x12\x2c\x3c\x8b\x97\x32\xe2\x98\xc4\x69\xdc\x6b\x37\x10\x23\x3c\xc3\x39\x43\x1d\x70\xe5\x05\xe7\x18\xfc\x64\xd7\x70\x0f\xbd\x74\x74\xb2\x2c\xfe\x14\x42\x88\x01\x1a\x3c\x21\xcd\xdc\xcd\x38\xf0\x2f\x7a\xd8\x5f\x30\x4e\x16\x18\x0c\x81\xd5\xe5\xd3\xb2\xa8\x12\xb5\x7c\x1a\x92\xe7\x7f\x3d\x3d\xb5\x3c\xc6\x6f\xa2\xaa\xff\xe1\x49\x65\x90\x40\x9c\x68\x64\x48\x19\x6b\xa7\x05\x9c\x3b\xfe\x94\x93\xf2\xc7\xcf\x09\x91\x4e\x3a\x27\x75\x4e\xd5\x58\x62\x00\xf8\x20\x9d\x00\x90\x2d\x60\x56\x4d\xba\x21\xb4\x72\x00\xd3\x8a\xe6\x01\xe1\x2c\x4e\x8a\x72\xcd\x96\xe8\x1b\x79\x5e\x22\x2a\xa9\x20\xf6\x54\x1f\x6d\x41\x40\x14\xc3\x94\xba\xe2\x8e\xaf\x34\x4d\x33\x7a\x3a\x1c\xc3\xc6\x04\xb7\x7b\x17\x9a\x07\xb7\x4a\x15\x30\xb1\x73\x30\xb9\xbc\xb4\x3d\x41\x21\xbe\xef\xe8\x25\x0e\x18\x1b\x99\xe0\x9a\xf4\x09\xa8\x32\x3d\x69\x90\x57\x9b\x73\x55\xeb\xb3\x31\x04\x76\x2f\x29\xe6\x5a\x81\xb3\x56\x92\xd1\xa9\xb6\x4e\xda\x06\xd9\xa7\x86\x64\xd3\xd4\x91\x06\xb1\xa7\x01\x5c\xf1\xca\x7b\xfa\x48\x64\x6c\x6e\xb2\x8f\x98\x6e\xd9\x75\x17\x0f\xc7\x50\x82\xfa\x63\xa3\xd9\x8e\x46\x50\x04\xc6\x91\x35\x66\xf1\x2f\xd2\xf7\x1e\x64\x9f\xb1\xc9\x87\xfa\xbd\x8b\x18\x01\x6e\xcf\xdd\x61\xf7\xfd\x5f\x87\x1f\x9e\x1d\xfe\x1c\x3f\xeb\xe9\xff\x7e\xee\x7d\xfb\x9f\x87\xa1\x91\xa5\x6e\xf4\xad\xfe\xff\xfd\xf8\x83\xc6\xf8\x6f\xbf\xfd\xb6\xd3\x50\x88\xbd\xa3\x34\xb8\x56\x11\x26\xfd\x77\xc9\x8d\xa9\x0f\x1b\xb0\x6b\xc9\x7e\x48\x5d\xd6\x22\x7a\x68\xae\xbe\xc5\xd3\x32\x3c\x27\xaf\x78\x71\x1d\x1a\x57\x10\x12\xeb\x5b\xbf\x2a\xbd\xd7\xd3\x76\x19\x5f\x23\x16\x8a\xc9\xb0\x35\x35\x62\x1c\x9e\x13\x8c\x8f\xe1\xbf\x9d\x1b\x8b\x11\x55\xca\x7c\x93\xf0\xa8\x09\x8a\x81\x99\x15\x03\x3d\x20\x3e\x26\x7f\x64\x03\x88\xa0\x54\xa9\xa5\x10\x0e\xa0\xd8\x26\xe5\xf4\x9a\xfa\x55\xbf\x9d\xe7\xa6\xba\x59\x45\x45\xce\x72\xcd\x1d\x30\xb1\x68\xfe\x27\xef\xc0\x63\x10\x10\x83\x66\xb6\xe9\x01\x5b\x16\x8e\xaf\x22\xfe\xc2\x87\x43\x76\xf1\xe6\xc7\x1f\x66\xa7\xec\xec\xfc\xe5\x29\xa4\x41\x8a\x65\x39\xfc\x55\x0d\xd3\x64\xfe\xb1\x2a\x17\x07\x83\x5f\xd5\x13\x30\x87\xcf\xd7\x45\xa2\xc9\x64\x37\xea\xb1\xc9\x68\x3c\x01\x32\x38\x5b\x16\x72\x95\x54\x2b\xf6\xe6\x82\x4d\xab\x72\x29\x0b\x35\x60\xd3\x34\x65\x50\x17\xd4\xf8\xa2\xb8\xd1\x42\x8e\xe6\xf2\x95\x7b\x71\x57\xb2\x2a\x22\x41\xc1\x82\x15\xbb\x92\x37\xa2\xc8\x4c\xd0\xc9\xe3\x8b\x93\x2d\x55\xae\x53\xc1\xd2\x24\x12\x99\xf1\x36\xa1\x77\xf7\xe1\x10\x73\x9e\x98\x8b\xfb\xe5\xf9\xec\xf4\xf5\xc5\x29\xdc\x2d\x83\x27\x4f\x3a\x95\x42\x16\x3a\x2a\xe1\xd1\x67\xc8\x2e\xdf\x9c\xbc\xe9\xc6\xfc\x26\x89\xe7\x22\xeb\x1d\xb2\x77\xc6\xa0\x8c\x68\xa9\xc8\x22\x19\x93\x1d\x3e\xd0\x63\x13\x8a\x59\xc4\xfd\x27\x90\xd0\x90\x22\x25\xe3\xf6\x52\x4c\xd5\x0c\xdd\x72\x92\x6c\xcb\x18\x3c\x85\x21\x9c\xf5\x92\x75\xeb\x65\x59\xe6\x87\xc3\xe1\x6d\x72\x9d\x0c\x6e\x97\xbc\xbc\xbd\x1a\xc8\xe2\x0a\xfe\x1e\xe2\xad\x79\x4a\xe3\x7b\xb5\xe3\x9b\x48\x0d\x6e\xb7\xa1\xe6\xf2\x6a\x68\x66\x38\x2c\xf8\xed\x96\x5e\xe7\xb0\x4c\xf2\xe1\x9b\x1b\x51\xdc\x24\xe2\x76\xb0\x2c\x57\xa9\x63\x3c\xd1\xa8\x60\x51\xa5\xec\xc7\xcb\xb3\xad\x03\x16\x0b\x0d\x65\x8f\x37\xf9\xf1\xf2\xec\xe0\x04\x0b\x9b\xb8\x43\x1e\xb7\x2e\x18\xc8\x7c\x5d\x0a\x85\xde\xb6\x04\x70\xfb\x90\x49\xe9\x85\xed\x7b\x22\x54\x7d\xa9\x6b\x52\x40\x20\xea\x2c\x01\x9b\x85\xab\x42\x40\x4c\xd8\x58\xb0\x5c\x26\x99\x66\x55\x35\xd0\x71\x7a\x31\x04\xd9\x77\x1d\x7c\xc3\x46\x03\x87\xc9\xb1\x78\x2b\x93\xac\xde\x6d\x2a\x6f\x45\xc1\xe6\x80\x0b\x32\xf3\xf4\xa0\x6e\x8c\x7b\x7a\x85\xd6\xc7\xd0\x18\xba\x0d\xf2\x31\x45\x10\xdb\x9f\x23\x9f\x4c\x60\xe4\x25\xef\xb3\x92\x5f\x83\xc1\x7b\xa6\xa9\x5d\x84\xb6\xf2\x68\x18\x07\xde\x54\x79\x21\x6e\x12\x59\x01\xc3\xa1\x1b\x50\xb6\x63\xb8\xf6\x6d\x0a\x15\x44\x38\x51\xd4\xa9\xec\x85\x97\x97\x17\x1a\x43\x9c\x07\x5d\xb5\xef\x22\x40\x1b\xb6\xdb\x89\x0b\x86\xbf\xb8\xf0\x84\x39\xd4\x9d\x6a\x30\x54\x59\xd2\x88\x1f\xad\x01\xc2\xe6\xa2\xbc\x15\x22\x63\xa3\xbb\xd1\xc8\xcb\xc0\x37\xba\x3b\x3b\x0b\x79\x0f\x33\x2d\x88\x56\xae\xa7\x45\x3b\x46\x40\xf0\x05\x17\x0d\xa9\xf1\x9e\x0b\x82\xd4\x44\x38\x8f\x76\x61\x37\xad\xaf\x2b\xfa\xf6\x2f\x44\x69\x93\xb9\xb7\x99\x59\x69\x79\xbc\xc5\xb8\x0a\xb2\x3e\x92\xb8\x1e\x2d\x79\x31\x93\xb1\x98\x96\xdd\xc4\x93\xc0\xeb\xb8\xea\x79\xd0\x60\x85\x88\x7d\x7d\xc4\x46\x77\xfb\x67\x61\x28\xd2\x92\x72\x38\x43\xbf\x5e\x9f\x81\xfb\xe4\xe8\x6e\x36\xd2\xcd\x23\xf6\xe5\x97\x8c\x3a\x3a\x09\x3a\x6a\xe0\x74\xc4\xb6\x98\x6e\xf6\x22\xac\xe2\x9f\xa6\x71\xed\x5b\x88\xbc\x77\x07\xa3\xd6\x99\x9c\x36\x66\x72\xfa\x98\x99\x9c\xde\x37\x93\xc9\x43\x33\x69\x9f\xca\x59\x63\x2a\x67\xfb\x8f\x98\xca\xd9\x7d\x53\xd9\xbe\x7f\x2a\xe3\xd1\x68\xd3\x64\x0e\x1a\x93\x39\x7e\xcc\x64\x0e\xee\x99\xcc\xce\xfd\x93\x99\x8c\x36\xcf\x66\xd6\x98\xcd\xc9\x63\x66\x33\xbb\x67\x36\xbb\xf7\xcf\x66\x67\xd4\x36\x9d\x06\xae\x77\x7e\xae\x16\x8b\x45\xdc\xa9\x05\x01\x0b\x6b\xe3\x22\x0e\x1a\xfb\x7b\xdc\x44\x35\x3b\xc3\xad\xad\x17\x9b\x97\xd7\xad\x95\x7c\xfd\x35\xdb\xd3\x52\x67\x17\xd7\x7d\x30\xea\xb9\xc6\x0f\x1e\x67\x86\xfa\xb0\xbf\xc8\x12\xec\xcc\xbd\xa4\xf8\x03\x36\x83\x04\xac\xc6\x77\x0f\x23\x60\xe0\x75\x02\xfe\x03\x61\x0f\x8b\x24\x2d\xf5\x85\x58\x95\x4c\x55\x45\x21\xaf\xf0\xed\x2e\x29\xac\xc2\x8c\x19\xea\xe3\xad\x25\x5c\xca\x0b\xaf\x26\xd0\x19\xb7\xc6\xfa\x36\xd5\x0c\x2e\x3f\x7d\xd2\x40\x3e\x39\x18\x21\x98\x6d\x3b\x0d\x6e\xd7\x09\xd2\x9a\xb3\xb3\x5e\xb3\xb5\xab\xf5\x0d\x1c\x8d\x33\x5d\x2d\x80\xd2\xc6\x5d\x6f\xc5\x10\x82\x0a\xb0\x2e\x42\xdf\x48\x44\xfa\x4d\xbe\xca\xaa\xcc\xab\x72\x10\x54\xaf\xaf\x98\x4e\x68\x7d\x16\x76\x1e\x78\xef\x0c\xf4\xbd\x3a\x23\x42\xee\xda\xf7\x5e\x04\x8d\x5a\xe7\x87\xa9\x88\x83\xcd\x1a\xd4\x2a\xb8\xf9\x6c\x35\x48\xc6\x23\xa6\xd3\x30\x8b\xa5\x3d\x7a\xc6\xba\xde\x52\xbf\xf9\xe6\x1b\x36\x1e\xf5\xd8\x97\x6c\x74\xb7\x7d\x76\xd6\x6b\x06\x0b\x1b\xdd\x9d\xcc\xb0\x99\xb7\xb5\x54\xbb\xbe\xd2\x27\x6d\xbf\x7f\xde\x74\x92\x35\xab\x24\x25\x3c\xe0\x22\x23\x97\x64\x6c\x55\xa5\x65\xb2\x05\x4c\x80\x3b\x0c\x3f\x88\xdb\x24\x8b\x89\x5f\xc1\x50\x26\x7e\x27\xe8\x2d\x90\x4a\x32\xac\x07\xa7\x50\xdd\xc3\xe0\x21\x9a\xb1\x89\x35\x24\x9c\x70\x94\xe0\xb3\xa7\x29\xb6\xd2\x7c\x21\xca\x56\xce\xcc\xb1\x64\x03\x2f\xd0\x96\x0d\xa2\x1d\x89\x30\x3b\x3d\x1a\x5c\x80\x5c\x26\x2c\x6b\x96\x38\xef\x6e\x08\x48\xf0\x7f\x0c\x3b\x86\x0d\x34\x53\xe6\x33\x5f\x5a\xd8\x0b\xec\xc3\xba\xe6\xb1\xd0\x63\xdf\xba\xbd\x1e\x35\xc7\xfa\x61\x62\x81\xcc\xb0\xcd\xc1\xc0\x38\x31\xd8\x31\x2b\x28\xd7\x24\xb2\x13\x88\x9c\x03\xee\x47\xdc\x89\x2f\x37\xa2\x50\x7e\x2e\x1c\x23\x04\x3a\xdf\x7f\x5d\x3b\x38\xdf\x0c\x14\x4b\x40\x85\x6e\x31\x5b\x82\xfa\x96\xbd\xc3\xe8\x85\x79\x2e\x32\xa5\xa9\x10\x84\x46\xb8\x16\xeb\x1c\x04\x12\xf4\x6e\x45\x13\x26\x30\x77\x20\xe3\x5a\x98\x8b\xe6\xf4\x78\x44\x84\x1f\x52\x89\x69\xec\x3f\x7e\xf5\xf6\xdb\x7b\x90\xe5\xd2\x89\x96\x60\x34\xa8\xa1\xb2\x79\x0f\x7d\x21\x14\xb1\x09\x40\xd5\xdf\x84\x57\xfe\x9b\x0d\x1e\xe9\x1a\x32\x5a\x3c\x53\x28\x93\x10\x46\x59\x54\x42\x24\xc0\xf1\xea\x48\xf0\xcf\xe0\xc0\xf5\x75\x0b\xc9\x11\xab\x2c\x81\xb9\x78\x22\x1f\x29\x51\x74\xcb\xc7\x72\xeb\x44\x1b\x1b\x2c\xb5\x7f\x7f\x45\xc0\xd5\x9c\x9d\x9d\x9d\x04\x2f\x53\xd4\xfc\xa0\xa5\xf9\xb1\xdf\x1c\xbc\xe9\x9f\x8d\x83\x25\xf9\xd7\x92\x9e\x65\xdc\x32\xcb\x67\xe3\x1a\x2b\xe2\xe6\x1a\xeb\xc1\xe2\xb6\xb9\x12\x88\x2e\x6e\x21\x28\x69\x03\x83\xfd\x1b\x2a\x72\x7c\x2c\x5e\x29\xf6\x52\xd0\x4c\x91\xbe\x52\x9e\xb1\x6e\x6c\x0b\x03\xf6\x02\xa3\xaf\x6e\xb8\x15\x9a\x10\xbb\xf7\x12\x69\x56\x0e\xc2\xc1\x3a\x3e\x20\xd2\x27\xcf\x9c\x74\x02\x9c\xa5\xfc\x6e\x4b\x5b\xe4\xab\xfb\xa4\xab\x30\x16\xad\xb7\xb7\xb6\x9f\x66\x47\x6d\xb7\x35\x88\x66\x9f\x74\x33\x7d\x23\xef\xb9\x9b\xb5\x45\xd2\x6a\x8e\x12\x72\x4c\xf7\x0e\x73\xea\x0d\x33\x9e\xb4\x8f\x33\x09\xc6\x19\x7e\xe5\x0f\x65\xd8\xb3\xaf\x86\x8f\x1b\xef\xcc\x1f\xef\xa0\x7d\xbc\xed\x17\xfe\x96\xdd\x2e\x93\x54\xb0\x6e\xa0\x19\x71\x8b\x6b\xe1\xd3\xef\x1d\xff\x00\xc6\xa7\x09\x74\xf7\xd8\x57\xae\x87\x9e\x61\x7b\x7a\xc1\x53\x70\xe3\x82\xbf\x5f\x11\x79\x1b\x6d\x52\x43\xee\xfc\x6e\x35\xa4\x26\x82\xb7\xd1\xbf\x50\x11\xe9\x45\x3e\xf7\xee\xe8\x34\x99\x17\x90\xf3\x57\x31\x32\x18\xb4\xa9\x81\x6f\xa3\xdb\x24\x2e\x97\x83\x5f\x15\x5b\xc9\xb8\x42\xcf\xd0\x4c\x5f\x26\xbf\x2a\xfb\xe8\x2b\x8b\xe4\x0a\x94\x5e\xb5\x04\x72\xe4\x6c\x8a\x13\xe4\xe5\x21\x5c\x9a\x65\x99\xab\xc3\xe1\x30\xcb\x57\xbf\x2a\xd0\x2d\xe6\x3c\xba\xe6\x57\x62\xe8\x86\x82\x0b\xc2\x4c\xd6\x9b\xa7\x89\x2b\x24\x17\xa0\x25\xaf\x14\xfb\xbe\x5a\x66\x5a\x6e\xc2\xa6\xdd\x5e\x6d\x06\x9e\x31\xef\x42\x6a\x52\x07\xb7\xdc\x5d\x9e\xf2\x8c\x66\x28\x57\x42\xb9\xd5\xda\x85\xcc\x6a\x1d\x1d\xd6\x62\x23\xf1\xac\x25\x59\x9e\x9b\x05\xcf\x62\x76\x1b\x29\xf3\x67\xd7\x26\xcf\x06\xbe\xe1\xfc\xf4\xf4\x94\x5d\x94\x31\x1b\x8f\x46\x93\xc1\x78\x6b\x32\x1a\x8d\x7b\x70\xbb\xfd\x88\xb7\x95\x61\x51\x8c\xda\xf6\xf6\x76\x20\x73\x91\x5d\x15\xb2\xca\x01\x64\x32\x4b\x93\x4c\xe4\xd5\x5c\x0d\x47\xa3\xfd\xe7\xa3\x9d\xe7\xfb\xbb\x43\xeb\x73\x65\x21\x09\x3a\xd9\x3f\xd4\x8f\x0a\x3a\xa2\x98\x43\x8b\xe4\x4e\xc4\x5b\xf0\x85\x84\x2c\x16\x8b\x9b\x24\x12\xaa\xcf\x5e\xf2\x32\xc9\x1c\xcb\x02\x61\xaf\x99\x8c\xa2\x2a\x5f\x5b\x47\x3b\xdd\xcd\xd3\x48\xa4\xe9\x53\x96\x4b\x95\x18\xf0\xa1\xd9\x16\x74\xdb\xd7\xdc\x72\x21\xb8\x62\x49\x2c\xe4\x55\xc1\xf3\x65\x12\xb1\xd9\x7f\xfb\xde\xeb\x19\xac\x40\xb1\x63\xcd\x67\xa9\x4a\xb3\xb7\x22\x4d\xd5\x80\x9d\x67\xa5\x80\xf7\x55\x08\xa0\x59\xae\x2d\x63\x8b\x6e\xca\x3c\xdd\x32\xaf\xe7\x90\x4d\x09\x9f\x1c\xd1\x5f\xbf\x5b\x8a\x54\x94\xeb\x5c\xe0\x99\xeb\x79\xdc\x97\x69\xac\x98\x7d\x36\x01\xc3\x76\x10\x03\xac\xfe\xde\xa6\x40\xe4\x57\x85\x00\xfc\x60\x32\x33\xce\xd7\xb6\x2f\xb2\x4b\xe5\xf1\x0d\x87\xf0\x3c\x5f\x19\xa5\xb6\x92\x05\x64\xa3\x92\xb7\x6c\x05\x4e\xd1\x22\x4d\x2d\x94\xd4\x80\xbd\x96\x4c\xa8\x92\xcf\xd3\x44\x2d\x31\x1f\xed\x8a\xc3\x1e\xab\x92\x67\x31\x2f\x62\x85\x19\xbe\x19\x87\x20\x0d\x2a\x18\xff\x47\xc3\x0c\x79\xf3\x70\xfb\xf3\x84\xd2\xad\xb4\x8c\xab\xbb\x68\x01\xc4\x80\xdc\x24\x0b\x59\x95\x49\x26\x20\xcc\x38\x40\x15\x83\xc5\x98\xf8\x4d\x7a\x73\xe1\x04\x60\x58\x93\x68\xc9\xe6\x62\xc9\x6f\x12\xbd\x54\xae\x30\x7b\xb3\x82\xe3\xc4\x8a\x2a\xc5\x97\x72\x2f\xcd\x15\x08\x18\x79\x21\x6f\x92\xd8\x39\x98\x9b\xa5\xcc\x64\xa6\x34\x55\xa8\x6c\x62\xa3\x33\x59\xa0\xca\x9c\xd0\x86\xa7\x1e\xd2\xf4\x83\xc6\x06\x66\x40\x12\x92\x28\x29\xc9\x2b\x1d\x4e\xab\xf2\x59\xef\x2d\x80\x07\xa2\xfc\x4d\xc2\xa1\x17\x5c\x92\xcb\x94\x29\xd8\x29\x57\x25\x9b\xaa\x04\xc5\x83\xb3\x2a\x4d\xdf\x41\x8b\xee\x59\xaf\xcf\xde\x69\xce\xbd\xfb\xae\xd7\x67\xdf\xf1\x74\x41\xc7\xa7\xfb\x5d\x0f\xdf\xdb\x5f\xf3\xa2\x90\xb7\xac\xfb\x9a\xf7\xbc\xf4\x35\x18\xe2\x0b\x65\x46\x85\x41\xcf\x70\x09\x05\x39\x18\x30\xbe\x9a\x27\x57\x95\xc6\x71\x88\xb9\x43\x1b\x8d\x9d\x73\xb4\xdb\xc6\xcd\xa2\xad\xae\x94\x18\x00\x88\xbc\x23\x4a\x57\x87\x9b\x3d\x9b\x42\xaf\xb2\x52\xac\x3b\xed\x41\x24\x01\x4a\xc3\xa7\x6f\x04\xe8\x3b\x5a\xca\x24\xd2\x30\xc8\x45\x16\x2b\x96\x57\x90\xd6\x07\xc2\x52\xe5\x85\x58\x88\x42\x90\x6f\xeb\x9c\x47\xd7\xb7\xbc\x88\x4d\x70\x06\x5e\x26\x74\x28\x51\x2a\x4d\xc0\x08\x6c\x99\xa8\x52\x16\x74\xc6\x65\xc1\xde\x09\x05\xe1\xd8\x73\xf0\xfc\x8e\x50\x74\x99\x2d\xa5\x84\x93\x87\x64\x84\x40\x48\x59\x99\x94\x08\x96\x04\x96\x67\x10\x8b\xe6\xd7\x4a\x81\xe1\x0d\xb7\x16\x18\x3c\xcf\x0b\x99\x17\x89\x66\x77\x53\x99\x5d\x61\x54\x5d\x25\xd3\x0a\xdf\x45\x31\x2e\x03\x4c\xc5\x8c\x4f\x7e\x56\x71\xa2\xf2\x94\xaf\xe9\xf4\x87\x43\x72\x65\x02\x6f\x11\x84\xdc\xd5\x62\x56\xa7\xbb\xa8\x5d\x1b\x80\xf7\x1a\xf5\xd6\xac\x7b\xb0\x35\x4f\x4a\x2b\x84\x79\x5d\x83\x67\x33\x8d\x8d\x16\x4d\x01\x04\x34\xfe\x8c\xf7\xa0\xb1\xd4\x78\xeb\x4f\x83\x82\x83\x69\x20\xfd\xa5\x10\xe2\x1a\x1c\x60\x66\xeb\x22\x49\xd3\x24\xea\x33\x51\x46\x03\xbc\xae\xc0\x98\x3f\x5b\xb3\x72\x9d\x5b\x82\x1b\x51\xfc\x31\x1e\xb8\xf2\xbe\xd2\x27\x38\x85\x77\xb4\x14\x9c\x6d\x10\x5c\x84\x11\xfa\x1e\xf4\xf7\x85\xbd\x96\x65\xed\x60\x74\x5f\x8b\xaa\x2c\x78\x4a\x98\x3e\x60\xa7\x9a\x62\x69\xa0\x5a\x70\x5b\xcf\x87\x38\x89\xe0\x65\x8b\x7b\xbd\xf2\x6c\x4d\x2e\x00\xf5\x4d\x18\xb0\x73\x23\x46\x43\x96\xd0\x72\x29\x60\xa2\x98\x11\x5b\x33\x4f\x80\x03\x6e\x89\xe0\xc4\x83\x89\xc5\x25\xba\x85\x68\x91\xdd\x52\x3a\xb8\x4f\x30\xaf\x9a\xdd\x0c\x4d\xc0\x80\x42\xa1\x0b\xa2\x75\xb1\x3d\x7d\xc5\x2e\xde\x4e\x67\xa7\x1a\x7d\x7f\x7a\xf3\xf2\xc7\x57\xa7\xec\xfc\xf5\xe5\xe9\x5f\x7e\x98\xbe\xf4\x82\x6f\xe8\x35\xcd\x29\x57\xae\x27\x31\xc7\xfa\xf2\x2b\xf5\x11\x82\x53\xc1\xc3\x0d\xbe\x4a\xd7\xf9\x72\x10\xb2\x31\xd0\x85\xa5\xbb\x8e\xd8\xaf\x04\x9c\x44\xae\x54\x72\x95\xb9\x8e\x3c\xfa\x85\xcb\xd5\xed\x33\xdc\x87\x80\x3e\x12\x31\x48\xc0\x61\x09\x4d\x0c\x1c\x8e\x3a\x45\x97\xf5\x6d\xa2\x84\x5e\x8a\x97\x89\x5a\xf0\xa8\x94\xc5\xda\xc4\xab\xd6\xdb\x00\x5e\x28\x06\x8f\x34\xf9\x06\xc7\x15\x68\x6a\xae\x31\x54\x40\xe1\x4d\xe6\x48\x32\x05\xe3\xb8\x8d\xf4\xa5\xc2\x07\x6c\x8a\x6e\x06\x2b\x89\x39\xce\x8d\x12\x4d\x44\x09\xe8\x67\x10\xc0\x21\xae\xf9\x88\xe6\xed\x9f\x99\x58\x7d\x13\xe6\xeb\xf0\x00\x03\xd4\x95\xd9\xb4\xb5\x00\xbb\x46\x9e\xa9\x5b\x5c\xc8\xda\x5c\x53\x6b\x93\x10\xd7\xde\x60\x8e\xa1\x34\x37\x8d\xbe\xc3\xe6\x10\x90\x12\x73\xb5\x0c\xd8\x85\x28\x4b\xda\xc6\x2a\x07\xaa\xa9\x19\x16\xb7\x7e\x73\x7c\xec\x55\x29\x17\xc4\x6a\xb4\x5c\xc4\xba\x17\xb0\xf9\x20\xee\x03\x4c\xda\x0a\x50\x60\xf1\x8c\xa7\x6b\x45\x39\xac\x20\xe6\xb6\x66\xb5\x78\x1b\x37\x00\xb4\x61\x5e\x95\x18\x68\xd3\x54\x23\x00\x71\x6b\xf2\xdc\x87\xeb\xb5\xb4\xd9\x3d\x38\x08\x3b\xf6\x38\x06\x88\x09\xe1\x2b\x6f\x24\xdc\xdc\xc6\xcf\x89\x2d\x78\xd1\xc2\xe1\x92\xa6\x06\xf8\x52\xfa\x7d\x48\x51\x35\x87\x65\x31\x1e\x0f\x0d\xf9\x71\x9c\x3f\xdb\xda\x62\x93\xd1\x68\x7f\x6b\xb4\xbb\x35\xd9\x63\x5d\xb3\xa2\xdd\xc1\xa8\x47\xb5\xdf\x6a\x10\x29\x45\xf6\xdc\x95\x12\x7d\x16\xc9\x7c\xdd\xd7\xd2\x4c\xb2\x58\xf7\xc9\xe9\x51\x8b\x48\xf3\xaa\x14\x4e\x22\x5b\x94\xb7\xc4\xcd\x10\xc9\xd1\x77\x5c\x0e\xc9\x15\x33\x74\x12\x05\x5f\x2a\x01\x17\xb1\xbe\x90\xe7\x6b\xcd\x71\x68\x4c\xc2\x93\x8a\x60\xa1\x5b\x23\x4a\x79\xb2\x42\x66\xf8\x96\x17\xba\x5a\x22\xc8\x8e\xa3\x10\x57\x7a\xbf\x29\x91\x9d\x37\xb6\x81\xd1\x4b\x0e\x46\x39\xa4\x89\x3c\xf4\x61\x16\xa5\x83\x88\xaf\x06\x3c\x1a\x54\xd7\xc3\xff\xb1\xba\xba\x9e\xec\x0e\xab\xc8\x09\x00\x51\x20\x49\x85\x62\x90\x55\x4e\x1b\x76\x07\xbd\x78\xd2\x6a\x95\x11\xa1\xc0\xf4\x5c\xe7\x17\x6f\xd8\x78\xb4\xb7\xb3\xe7\x10\xc5\x92\x3f\xdd\x97\x32\xb2\x11\xdb\x22\xab\x8d\xd4\xa3\x28\xac\xfb\xe3\x33\x7c\x61\x01\x54\x68\x0c\x30\x1a\x50\xd3\x37\xc0\x07\xcc\x46\xc3\xd9\x18\x0e\x49\x21\xd3\xe0\x76\xcd\x62\x76\x72\xfa\x92\x02\x2b\x09\x8e\x21\x2f\x02\x53\x7a\xdd\xdd\xd6\xd8\xf4\xf7\x5a\x66\x5b\x2a\xe7\x11\x1c\xce\x2c\xd6\xd7\x6a\x8a\xdc\x43\x24\x57\x73\xe4\x45\xbd\xfe\xbb\xe8\x72\x9a\x32\x7d\x0b\x5c\x69\x22\x06\x98\xf4\xca\x84\xa3\x97\x05\x7b\x65\x63\x70\xd5\x4f\x75\xcf\xf8\xa8\x6d\x5c\xdd\xc5\x9b\xb3\x4b\xf6\xdd\xbf\xbd\xfd\xee\xf4\x35\x42\x64\x7a\xb2\x09\x22\xe3\x10\x22\x64\x5d\xf9\xf0\x54\x67\x8b\x8d\xd3\xa3\x35\x68\x30\xfc\xfb\xe9\x0f\x6f\xd8\xbb\xf3\x93\xcb\xef\xe8\xb6\xea\xfe\xf8\x6c\x32\x1a\x1d\x3f\xbc\x84\xef\x78\x76\x55\xa5\xec\xbf\xf1\x95\x64\x10\xd3\x3f\x65\x37\xf2\x56\xa4\xb8\x37\xc6\xe8\x25\x53\x32\xe3\x59\xa9\x74\xbf\xe3\xf1\xde\x68\x4b\xff\x38\x3b\x33\xdd\xd3\x4c\x36\xc3\x89\x76\xec\x5e\xee\xd4\x70\xd2\x7a\x53\xbc\x62\xcd\x6f\x1b\xb6\xfa\xcc\xac\xd9\xc2\x48\xb3\x67\x56\x0a\xb7\x20\xba\x14\xd1\x32\x03\x19\x81\x5c\xd9\xfe\xd3\x78\xbc\x01\x12\xd4\xe1\xc4\x4c\xb5\xce\x2e\x43\xe0\x62\x0f\x61\x0b\x01\xae\x82\x59\x68\xa7\x93\x98\x7e\xf0\xd8\xcf\x7e\xbd\x76\xbc\xf6\x22\xe5\x57\xc0\xb9\x66\x7c\x9e\x12\x19\x59\x6f\xda\x17\x3b\x0f\x50\x31\x41\x92\xfa\x3a\x4a\xbb\x14\xd1\x9a\xee\x80\x89\xa2\xee\x18\x4e\xf4\xc1\xc1\xee\xf3\xad\x31\x6c\xdd\xbb\xbf\xbc\xdc\x31\xd0\xf2\x18\x01\x7b\x3d\x34\x0e\xa3\x61\x1b\x37\xcc\x6c\x1c\x06\x92\x0e\xf9\x5d\x0c\xda\x66\xde\x51\x42\x70\x19\xce\x37\xf1\x88\xce\xa0\x46\xc1\x12\x65\xb5\x55\x85\x48\x35\x11\x25\xab\x2b\x0a\x69\x6b\xdf\x2e\xa7\xa5\xe1\xba\xe8\xee\x53\x55\x4e\xca\x2d\xd4\xc2\x68\x98\xd8\xe8\x66\xec\xad\x4c\xd7\x0b\xf4\xe5\xce\x64\x39\x60\xec\x42\x08\x5f\x5d\x15\x8b\x1b\x91\xea\x1b\x7a\xb0\x92\x7f\x4f\xd2\x94\xc3\x3d\x25\xb2\xad\x1f\x2f\x86\xb1\x8c\xd4\xf0\x9d\x98\x0f\x9d\xaa\x6a\xf8\x83\x91\x81\x86\x7f\x81\x14\xde\x1f\x31\x33\xad\x22\x73\xbb\xa1\x37\xcf\xff\x44\x63\xa7\xb0\x54\x08\x28\x4a\x2a\x4e\xdf\xe7\xd0\x56\x47\x15\x69\xb7\x66\x32\xc7\x58\xa0\xea\x63\xc3\x21\x3c\x65\x51\xf2\x30\x5c\x3a\xfb\x05\xd8\x95\x5f\x86\xbf\x68\xbe\xf7\x17\xbc\x7e\x7e\xa9\x32\x3a\x17\xbf\x0c\x7f\xd1\xb4\xfb\x17\xf7\x28\xe2\x06\x0d\xf2\x62\x91\x56\x20\x7c\xbb\x80\xd7\xb1\x23\xf4\xf7\x0e\x8d\x2e\xb4\x5c\x7b\xb9\xce\x85\x67\xa2\xed\x6b\xfa\xc9\xf5\x09\xa3\x44\x90\x09\xbf\xf5\x4f\xb4\x15\x30\x32\x16\xbd\x22\xd2\x83\x8f\x73\x35\xfa\xe5\x52\x9e\x67\xa5\xb8\x12\xc5\x2f\x5e\x23\x13\xc7\xd8\x2a\x99\xbe\x25\xa7\x5c\x6f\x09\x87\xee\x25\xd8\xc5\x33\xfe\xe2\x08\xdb\xf6\xd8\x3f\x74\xef\x73\x51\xea\x9b\xec\x97\x44\xbd\xe6\xaf\x7f\x71\x8f\x2d\xd4\xfd\xa8\xbe\xa2\xe1\x90\x4d\xe9\xb8\x6b\xde\x41\x56\xe5\x96\x5c\x6c\x91\x51\x07\x38\xaa\x0a\x7d\x69\xd6\x06\xfd\x1a\x52\x3d\x31\x1b\x51\x59\x2f\xb9\x66\xfb\xa5\xaf\x3a\xbb\x5d\x2d\xa3\xfe\x45\x18\x4f\xec\x02\xc2\x88\xd0\x1b\x9c\x07\x12\xfc\x62\x01\xe9\x3f\x24\xc1\x82\x03\x98\x83\xc7\xb2\x0f\x1d\x3d\x46\xe4\x0c\x56\xfe\xdf\xff\xfb\xff\x51\xc6\xa5\xa1\x30\xa1\xb4\x82\x87\x24\x3b\x79\x1c\xf7\x9b\x23\x63\x9c\xf0\xe5\x97\x54\x64\x5f\xc2\x74\xd1\x70\xc8\x96\xc9\xd5\xd2\x75\x62\xdb\xc3\xfe\x7f\x43\xc0\x79\xc6\xc6\x94\x23\x11\xd5\x20\x1c\x4d\x01\xea\xeb\xf5\x81\x87\x6b\xd9\xbc\x70\xdd\x67\xed\x1d\x8d\x9a\xe0\x9c\x67\x38\x67\x2a\xf3\x5f\xd4\xf4\x4c\x52\x79\xdb\x32\x67\xd8\x12\x62\xd6\x56\xbc\x5c\x26\x5c\xcd\xd7\x99\xc8\xd4\x60\x2e\x86\x99\x2c\x85\x1a\xfe\xca\x6f\xb8\x02\x82\xb1\x65\x14\x88\xff\xc9\x76\xb4\xa5\xaf\xfe\x2a\xe5\x7e\x8f\xe6\x59\x1c\x81\xb7\x45\xe0\xec\xb1\xaf\xd0\xa0\x8a\x3d\x33\x53\xdc\x72\xf6\x1c\x0d\x93\x92\xcf\x35\xcc\x31\x39\x90\x74\x9f\xf4\x40\xe2\xde\xc9\x90\x6e\x0d\x10\xe9\xde\x92\xd7\x8a\x03\x6d\xeb\xe7\x6e\x9d\x7e\xf5\x59\xc7\x23\x26\x9d\xbe\xb7\x33\x1d\xe0\xdd\x3a\x87\x01\xe5\x76\x5f\x23\x99\x2d\x92\xab\xaa\xd0\x17\x57\xe7\x10\x13\x12\xb9\xaf\xb7\x45\x52\x7a\x5f\xcc\xba\xda\x7d\x03\xef\x23\xaa\xec\xc8\x1f\xdf\x7b\x25\xea\x82\x1f\x11\xc6\xbd\xb9\x8d\xd8\x11\xa6\x8e\x1e\x0e\xd9\x3b\xcb\x22\x6b\x92\xe7\xae\xb2\x01\x55\x1d\x64\x15\x69\xff\x30\x55\x60\xd8\x24\xb8\x54\xfd\x56\xf4\xa1\xd6\xf2\x4c\x73\x06\xc6\xaf\x9d\x72\xb3\x43\x60\xf8\x56\x9d\x9d\xa7\x0f\x31\xdd\xb6\x70\x1b\x2e\x9b\x6e\x30\xb5\xec\x81\x3e\xdd\x4c\xbd\xce\xcc\x74\x27\xd8\xdb\x05\xde\xb3\x26\xdc\x6b\x26\xb3\x2d\x79\x23\x8a\x94\xe7\x39\xd9\x62\x88\xe2\x86\xa7\xca\x7c\x54\x0d\xae\x4f\xf7\x62\x82\xc0\x80\x64\xfe\xb4\xca\x12\x25\x4a\xf6\x2c\xe2\xe5\xd1\x2b\x41\x3f\x33\xfc\x39\x5b\xb0\x2d\xcd\x52\x33\x64\x39\x35\xc3\xc9\x80\xab\x65\xd1\x53\x07\x58\xc3\xf5\x1f\xb1\xf7\xb0\xbf\xef\xd9\xe8\x6e\xb4\x3d\x1a\xf5\xe1\xe7\xde\x19\xfb\xd0\xc7\xb2\x9d\x83\xed\x3e\xfe\xdc\xf3\xca\x0e\xa8\xec\x39\xa3\x4c\x8b\x50\xbe\xfb\x7c\x0c\xe5\xbb\xc7\x27\xb6\xee\xee\xf1\x19\x95\xb9\x3e\x77\x67\x54\x6f\x36\x09\xdb\xcf\x76\xa8\x7c\xd7\xab\xbb\x4f\x65\xfb\xb6\x6c\x8f\xe6\xb9\x37\xda\x0e\xda\xef\x8d\xa9\x7c\xec\xda\xef\xed\x1c\x63\xd9\xee\xa9\x2b\xdb\xa7\x7a\xfb\xa3\xb0\xfd\xc9\x1e\x96\x9f\xee\xb8\xba\xa7\xfb\x54\x76\xe0\x95\x4d\xa9\xec\x24\x68\xbf\x3f\xc2\xb5\xee\x8f\xdc\x5a\xf7\xc7\xb8\xd6\xfd\xf1\xd8\x95\x6d\xe3\xf8\xfb\x3b\xd3\xb0\xfd\x14\xc7\xdf\x3f\x1e\xb9\xba\xa7\x38\xff\xfd\xb3\x6d\x5b\xf6\x7c\x84\x7d\x3e\x1f\x85\xf0\x7b\xbe\x3d\xeb\xd3\x4f\x57\x77\x87\xea\xee\x1c\x78\x65\x27\x54\x16\xce\xff\xf9\x2e\xd5\xdd\x75\xeb\x7f\xbe\x37\xc1\xb2\x3d\x6f\xfc\x03\xaa\x77\x30\x0e\xdb\x1f\xd3\xf8\xc7\xde\xf8\xb4\xd7\xcf\x67\x5e\x9f\x33\x1a\x7f\x56\x1b\xff\x94\xc6\x3a\x75\x63\x4d\x69\xad\x53\x58\x2b\x95\xd1\x3a\xa7\xb0\x4e\xd7\x7e\x4a\x6b\x9d\xee\x78\x75\x77\xf6\xa9\xec\xc0\x2b\x3b\xa6\xb2\x70\xfc\x29\xe1\xc5\x74\xdf\xed\xd5\x94\xd6\x3a\x3d\xf0\xfa\xa4\x75\x4e\x8f\x6b\xe3\xd3\x5a\xa7\x1e\xfe\x4e\x09\x7f\xa7\x33\x6f\x7c\x5a\xff\xb4\xb6\xfe\x29\xad\x7f\xea\xad\xff\x98\xd6\x7f\x3c\x72\x73\x3a\xa6\xf5\x1f\xd7\xd6\x7f\xbc\x7d\x46\xe5\x0e\xff\x8e\x09\x26\xc7\x3b\x5e\x9f\xb4\xff\xc7\xb5\xf5\x1f\xef\x22\xfe\x1d\xef\xba\xb3\x7e\x7c\x80\x73\x3a\xf6\xd6\x7f\x3c\x43\x38\x1d\xcf\xc2\xf3\x73\x4c\xeb\x3a\x9e\xb9\xf3\x3f\xdb\x3e\x85\xb2\xd9\x8e\xc3\xe9\xd9\xce\x1e\x95\x1d\x04\xed\x67\x3b\x53\x2a\xf7\xda\xef\xee\x62\x99\x37\xa7\x19\xc1\x7f\x56\x83\xff\x8c\x68\xcd\xcc\xa3\x35\xb3\x19\x8d\x35\xf3\xda\xcf\xa8\x7d\x0d\xfe\x33\x82\xff\xcc\x83\xff\x09\xc1\xef\x64\xc7\x2f\x3b\xa1\xb2\xb0\xfd\xc9\x0c\xe7\x7f\x32\x9b\xba\xba\x27\xd8\xe7\xc9\xc9\x8e\x57\xb6\x47\x65\x7b\x41\xfb\xd3\x6d\x1c\xeb\x74\xdb\xed\xf5\xe9\xf6\x0e\x95\xb9\x3e\x4f\x09\xa7\x4f\x77\x4e\xc3\xf6\xc7\xd4\xfe\xd8\x6b\x7f\x4c\xed\x8f\x9f\x7b\x65\xc7\x54\x16\xc2\xef\x74\x86\x74\xfd\xd4\xdb\xbf\xb3\x31\x96\x9d\x8d\x5d\xfb\xb3\x6d\xdc\x93\xb3\xed\xdd\xa0\xfd\xd9\xf6\x3e\x95\xef\x7b\x75\x9f\x53\x99\xd7\x7e\x1f\xe7\x79\xb6\x1f\xce\xff\xec\x00\xf1\xea\xec\xc0\xc1\xea\xec\x60\x8f\xca\xbc\x3e\x9f\x53\xbd\xe7\xfb\x61\xfb\xe7\x34\x96\x47\x7f\xce\x68\xff\xcf\xdc\xfe\x8f\x47\x13\xd8\xbf\xf1\x68\x3b\xc0\xdf\xf1\x68\x7b\x42\xe5\x13\x57\x77\x7b\x8f\xca\xf6\xbd\xb2\xe7\x54\xf6\x3c\x6c\xbf\x7b\x80\xe5\xbb\x76\xad\xfa\x0e\x86\x32\x7d\x0d\x9b\xb2\xed\x5d\xc0\x53\xfd\x33\x68\xbf\x3f\xc6\xf1\xf7\xc7\x76\xfd\xe3\x7d\x9a\xd3\xfe\xb6\x57\xb6\x4b\x65\xbb\xdb\x61\xfb\x7d\x2a\xdf\xdf\x76\x75\x71\xff\xc7\xfb\xc7\xbb\x5e\xd9\x3e\x95\x9d\x84\xed\x11\x56\xfa\xa7\xab\x3b\xc3\xb5\xee\x9f\x78\x7d\x9e\x9c\x50\x59\xd8\xfe\x60\x04\x78\x35\x3e\x18\x59\xfc\x19\x1f\x4c\xb1\xfd\xc1\xd4\xc1\xe4\xf9\x04\x61\xf2\x7c\x12\xdc\x5f\xe3\xe7\x93\x7d\x2a\x3f\x70\x75\x69\xfd\xcf\xbd\x3d\x79\x4e\xf0\x7f\xbe\x7d\x1c\xb4\x9f\x8e\xb1\xfd\x74\xec\xda\x1f\x23\xaf\x30\x3e\x1e\xb9\xf9\x1f\xe3\x99\xd2\x3f\x83\xf6\xc7\xb4\xd7\xc7\xee\xac\x8d\x89\xd6\x8e\x8f\xdd\x9d\x3a\x3e\xde\xc1\x39\x1d\xef\x84\xf3\x3f\xde\xc3\xf5\x1f\x7b\xf0\x3f\x41\x5a\x39\xf6\x68\xc2\xf8\xe4\xec\x14\xcb\xce\x82\xfd\xd7\x4c\x5a\x1f\x7f\x5a\x5c\x99\x8c\x26\x53\x2c\x9b\x9c\xba\x32\xc4\xa9\xc9\x68\x6f\x3b\x6c\xbf\x47\x75\xf7\xbc\xf6\x27\x54\xf7\xd4\x96\x6d\x53\x9f\xdb\xa3\x49\x30\xfe\xf6\x08\xcf\xcf\xf6\xe8\xb9\x9d\xeb\xf4\x60\x04\x30\xd1\x3f\xbd\xb2\x63\x2a\x0b\xe0\x3f\x3d\x98\xec\x62\xf9\xc4\xd6\x3d\x3b\x1e\xc3\x5a\xf5\x4f\x5b\x76\x8a\x7b\x72\x76\x3a\x0a\xc6\x3f\x3b\x9d\x50\xf9\x64\xdb\xd5\x3d\x3b\xeb\xd3\x4f\x5b\x76\x76\x06\xf3\x3c\x3b\x3b\x0b\xf7\xdf\x30\x0b\xfa\x17\xb7\x03\xa3\xe9\x68\xd7\x94\xee\xf9\xa5\x33\x53\x7a\x56\xeb\x65\x9b\x8e\xf1\xd4\xc3\x83\xd1\x14\x2f\x57\xf8\xc5\xed\xe4\x78\x0f\x51\xee\x64\xbc\x17\xd2\x82\x93\xf1\xfe\x36\x7d\x71\x37\xa7\xfe\x63\xd7\x94\x1e\x7b\xa5\xd3\x29\x95\x4e\xc3\x13\x75\x32\x21\x54\x3b\x99\xec\xd8\xf3\x7f\x3a\x1a\xe1\x3a\xe1\x17\xaf\x14\xc1\x77\x3a\x1a\xed\x07\x2b\x3a\x1d\x8d\x47\xf4\x65\xac\xb1\xe0\xc9\x87\xdf\x2e\x99\x3c\x20\x5b\x6d\x16\x51\x40\xbd\xbe\x35\x65\x5b\x24\xab\x6c\x91\xac\xb2\x45\xb2\x8a\x13\x4a\xb8\x27\x8d\x79\x42\xc9\x68\x8a\x97\xc5\x68\xea\x2e\xb5\xd1\x74\x87\xca\x76\xbc\xb2\x7d\x2a\x0b\x99\x8a\x11\xc2\x56\xff\xf4\xea\x9e\x52\x99\x13\x0a\x46\xc7\x78\xa9\x8c\x8e\x77\xc2\xf6\xc7\x7b\x54\xee\xb5\x27\x06\x64\xe4\x31\x1a\x23\xba\x68\x46\xb3\xf0\x52\xa7\x03\xa8\x7f\xba\xba\x27\x34\xd7\x93\x03\xaf\x8c\xe6\x74\x1a\x32\xd5\xa3\x53\xea\xf7\xd4\x31\x30\xa3\xd3\x03\x2a\xf3\xe6\x74\x4a\x73\xaa\x09\x25\xa3\x33\x1a\xff\xcc\x1b\xff\x6c\x42\x65\xdb\x5e\x19\xcd\xe9\x6c\x5a\x6b\x4f\xfd\x9e\xcd\xbc\xba\x34\xd7\x33\x07\xbf\x31\x31\xaa\xe3\x51\x38\xff\x31\x09\x40\x63\x4f\x00\x1a\x8f\xb7\xa9\x6c\xdb\x2b\x3b\xa6\xb2\xe3\xb0\xfd\x04\xd7\x3f\x9e\x38\x06\x60\x3c\xa1\xba\x93\x63\x57\x46\xcc\xd3\x78\x3b\x14\x0a\xc7\x78\x9a\xf5\x4f\xaf\x2e\x32\x8a\x63\x4f\x50\x18\xef\xec\x50\x59\xb8\xff\xe3\x1d\x6a\xbf\xe3\x8d\x45\x0c\xe0\xd8\x63\x54\xc7\x78\x29\x8f\xc6\xbb\xb5\xf1\xf7\x68\xfe\x7b\xde\xfc\xf7\x68\xfe\x7b\x5e\x9f\x33\x84\xe9\x78\x16\x32\x45\x63\xc2\x9f\xb1\x87\x3f\x63\x62\x2a\xc7\x27\xde\xfc\x4f\x68\xfe\x27\xb5\xf9\x13\xb3\x39\x3e\xd9\xf3\xea\xd2\x9a\x3c\xfc\x1b\x9f\x4c\xa9\x6c\x5a\x6b\x3f\xa3\x72\xb7\xff\x13\x12\x14\x27\xbb\x6e\x4f\x27\x7b\x54\xb6\x17\xee\xff\x84\x84\xfa\x89\x27\x00\x4e\x48\x28\x9a\x78\x42\xfd\x04\x19\x8d\xd1\x64\x76\x5c\x6b\x7f\x42\xe5\x0e\xd6\x13\x82\xc9\xc4\x83\xc9\x84\xd6\x34\x39\xa9\xb5\x3f\xa1\xf6\x27\x7e\xfb\x33\x2a\x73\xe7\x77\x9b\x94\x17\xdb\xd3\x70\xfe\xdb\xd3\x6d\x2a\x77\x0c\xec\x36\x31\xda\xdb\x33\xb7\xfe\xed\x19\xd5\x9b\x85\x4a\x91\x1d\x3a\x17\x3b\x9e\x00\xb7\x43\x8a\x8a\x9d\x1d\x4f\xd1\x42\x30\xdd\xd9\x1d\x87\x97\xfa\x98\x2e\xf0\xf1\xc8\x5d\xea\x78\x7e\x26\xa3\xf1\x9e\x57\x76\x40\x65\xcf\x6b\xed\x67\x54\x7e\xe2\x31\x15\xd4\xe7\x64\xe2\x95\xed\x50\xd9\x7e\xd8\x7e\x9b\xea\x6e\x7b\xe3\x23\x53\x36\x19\x6d\x6f\x7b\x65\xbb\x54\xb6\x5b\x6b\x4f\x4c\xcd\xf6\xb1\x57\xf7\x94\xca\x3c\xa6\x66\x9f\xc6\xdf\xdf\x09\xdb\xef\x9f\x51\xb9\xc7\xd4\xa0\x50\x3e\x19\x39\x41\x61\x32\x9a\xd2\x3a\xa7\x81\x50\x33\x19\x8f\x10\x56\x63\xc7\x12\x4c\xc6\xc8\x11\xe8\x9f\x5e\xd9\x73\x2a\x0b\xe1\x47\xb4\x6a\xe2\xd1\xaa\xc9\x78\xbc\x47\x65\x0e\xfe\xe3\x09\xce\x69\x1c\x32\xb5\x13\xa2\x5f\xfa\xa7\x57\xf7\x98\xca\x1c\x4c\xc6\xbb\x34\xce\x6e\xb8\xfe\xf1\x2e\xd5\x75\x0a\xac\x09\x09\x15\x13\x8f\x7e\x4c\xc6\xfb\x54\xb6\x5f\x9b\xff\x73\x2a\x7f\xfe\xdc\xd5\x3d\x46\x5c\x19\x1f\x7b\x65\x48\x53\x26\x48\x53\xbc\xf6\x48\x57\x26\x63\x27\xc0\x4e\xc6\xa8\x14\xd3\x3f\x6d\xd9\x04\x79\x0c\xfd\x33\x68\x3f\x19\x4d\xa8\x7c\xdb\xab\xbb\x4f\x65\x07\x5e\xd9\x31\x95\x1d\xd7\xda\x9f\x51\xb9\xdb\xff\x09\xde\x29\xfa\xa7\x57\xb6\x4b\x65\x21\xfe\x4d\xc6\x53\x2a\x9f\x7a\x75\x4f\xb0\x6c\xe2\x70\x7a\x32\xd9\xa6\xb2\x90\xa9\x9e\x4c\xa8\xdf\xc9\xae\x57\x97\xe6\x3f\x99\x79\x65\xa7\x54\x76\x1a\xb6\x47\x61\x63\x32\xd9\xf6\x60\x85\x42\xc5\x64\xb2\xed\xce\xe4\x04\xef\x19\xfd\x33\x6c\xbf\x43\x75\x77\xbc\xb1\x76\x09\xa6\xbb\xee\xfc\x4e\x08\x27\x6a\xf4\x77\x32\xd9\xa3\xf1\xf7\xbc\xf1\x49\x50\x98\x78\xf8\x33\xd9\xa3\xf9\xef\x85\x42\xc9\xe4\x80\xc6\x3a\xf0\xf6\x0f\x85\xf2\xc9\xe4\xc0\xeb\xf3\x39\xc1\xe9\x79\x0d\xfe\x28\x54\xe8\x9f\xae\xee\x94\xea\x4e\x3d\x98\x1e\xd3\x3e\x1f\x87\xe3\x6f\xa3\x50\xac\x7f\xda\xba\x3b\xb4\xd6\x9d\x53\xd7\xe7\x0e\x2a\x4a\x27\xbb\x3b\x21\xfe\xec\xee\x62\xdd\x5d\x27\x94\x4d\x76\x0f\xa8\xec\xc0\xe1\xd4\xee\x73\x1c\x67\xb7\x36\xff\xdd\x29\xd5\x75\xfc\xe7\x64\x17\xef\x84\xc9\xae\xbb\x13\x26\xbb\xc7\xd4\xfe\x38\xc4\x9f\x5d\xe4\x1f\x27\xbb\xc7\xfb\x5e\xdd\x19\x95\xb9\xfd\xdf\x9d\xd1\x38\xb3\x70\xff\x76\x67\xd4\xde\x29\x10\x27\xbb\x33\x5a\xeb\xec\xd8\x2b\xc3\xfd\xdb\x3d\xa9\xb5\x3f\xa5\x79\x9d\x3a\x58\xef\x9e\x9e\x51\x99\x5b\xff\x1e\xd1\xc4\xbd\x51\xc0\xbf\x4e\xf6\x88\x2e\xee\x8d\x9e\x7b\x75\x4f\xa9\xcc\x6b\x3f\x46\x3c\xdb\xab\x9d\xbf\x3d\xba\x7f\xf6\xc6\x33\xaf\x2e\xb5\x77\x42\xe1\x64\x6f\x07\xd7\xbf\xb7\x13\xd2\x8f\x3d\x94\x80\xf4\x4f\x57\x97\xf6\x7f\x6f\x6f\xec\x95\x6d\x53\x59\x6d\x7c\x94\xd0\x26\x7b\x7b\x53\xaf\x2e\xcd\x69\xef\xc4\x2b\x3b\xa3\xb2\x10\xff\xf6\xb7\x91\x56\xec\x7b\x67\x75\x7f\x1f\xf7\x64\xdf\xdd\x49\x5a\x16\xeb\x43\x4c\x8a\x50\xa8\x3f\x3b\x3b\x83\xf6\xfa\xa7\x15\x60\x47\xa6\xb2\x5f\x0a\x0f\x93\xa8\x2c\x18\x61\x39\x0a\x6a\x68\xed\x71\x9c\x64\xbc\x58\x33\x25\x78\x11\x2d\xd1\x0a\x97\xde\x9e\xcb\xa5\x60\x57\xc9\x8d\xc8\x9c\x7f\xa7\x35\x38\x83\x07\x61\x95\xf3\x48\xf8\x8f\x56\x8d\x68\x7a\xa2\xb8\x12\xc5\x67\x56\x45\x8a\x4d\x5b\x7a\xf1\xdd\x70\xac\xcb\xac\x0d\x12\x79\x59\x54\x22\x9c\xc7\xfd\xe3\xbf\xc0\xb7\x36\x1b\xaf\xb1\x5c\x8a\xe2\x36\x51\x5e\x06\xe3\xdb\x68\x90\xa8\x0b\x68\xe5\xfb\x43\x47\xca\x46\x44\x9a\x56\x77\x49\x9a\x68\x80\x04\x6e\xe5\xf3\x00\x48\x49\x66\x65\x58\x06\x2f\xa3\x26\x27\xee\x2a\xc9\xd8\x11\x1b\xf5\xd9\x8a\xdf\xb1\x23\x56\x7f\x14\x33\xd1\x60\xb7\xd0\xf7\x10\x5b\xc4\x36\x6e\xbf\x86\xd2\xd7\x8d\x46\xef\x47\x1f\xde\x8f\x3e\xb0\x4f\x9f\x00\x8a\xdf\x34\xbf\xaf\xf8\xdd\x87\xf7\xe3\x0f\x41\xe2\x64\x7a\x74\xb4\xee\x7f\x7a\x3e\xdf\x1c\xe9\xf9\x99\x47\xe5\x55\x12\xb3\x23\xf6\x8a\x97\xcb\xc1\x22\x95\xb2\xe8\x76\xf5\xe4\x9f\xe9\x99\xf7\xd8\x90\x4d\x3c\xbf\xdc\x4d\xe3\x26\x31\x8c\x6b\x9f\x7e\x71\xf5\xba\xe3\x67\x2d\xce\x95\x1b\x56\x07\xbd\x8c\xfc\x5e\x00\x74\xba\x97\xad\x5a\x2f\xb5\xf0\xb3\x2e\x2d\xa9\x0d\x3a\x1b\xae\xde\x8f\xd1\xda\xbe\xad\x80\xea\xa0\x92\x78\x04\xb6\x9f\x72\xcc\xba\x7e\xcf\xa3\xed\xbf\x18\xff\xdb\x74\x27\xe0\x01\xe2\xcf\xc8\xc3\xfc\xfa\xcb\x74\xe3\x00\x6c\xc6\x61\xab\x43\xf9\x2d\x38\x6c\x1b\x6d\xc0\x61\xf7\xfd\x5f\x8b\xc3\xde\xb8\x7f\x00\x87\x6b\xbd\xfc\xe9\x38\x7c\x62\xf2\x7f\xb6\xda\x10\xb7\x20\x49\x1b\x3e\xfe\x76\x74\xb4\xad\x2e\x1f\x3f\xaa\xc5\x39\x5d\x6a\xcc\x16\x9a\xe8\xa6\x41\xba\xd1\x74\xc2\x40\x93\xe6\x51\xef\xf0\x07\x68\x60\x6b\x43\xa7\x8d\x58\xfb\x1b\xda\x9e\x24\xaa\xd8\xd4\xfc\x0f\x41\xdc\x5a\xac\x1b\xd3\x11\x4d\x5b\x1e\xa4\x1b\x8d\xf4\x7d\xff\x33\x37\xaa\x09\x9b\x4d\x57\x25\x64\x1a\xd1\x54\x14\x3d\xaa\x9a\x16\xac\x03\x8f\x26\x1c\x41\xb0\xa6\x96\x4d\x31\x06\x3c\x2f\x02\x02\xb2\x0d\x89\x0d\xf0\xd4\x82\xe3\xff\x82\x7d\xf9\x25\xc3\x6f\xa3\x3b\x3e\xea\xb5\x75\xe5\x5b\xf5\x98\xe4\x69\x6f\xf2\x32\x59\x25\x7f\x87\xf8\xb9\x6c\x7a\x31\x3b\x3f\xdf\x30\xc1\xaf\x61\x94\xa0\xdb\xb1\xe9\xe4\xb8\x7e\xfb\xa3\x85\xef\x46\xbb\x9a\x41\x88\xdb\xc4\x72\x00\xf0\x82\x01\x46\x66\x00\xcc\x4f\xcd\x8b\x22\xb9\x11\x94\xa2\x5a\xcf\x89\x6c\x6a\xb9\x67\x4c\x2f\x37\x5a\xef\x0f\x1c\xed\x18\x53\xc8\x66\x07\xbf\xf1\x18\x4c\xeb\x90\xf8\xe0\x7a\xb1\x78\x77\xa1\x01\xed\xff\x1b\x0e\x03\x23\xf4\x24\x4b\xca\x81\x67\x72\x4e\xf4\x0b\xf7\x14\xc4\xa7\xc9\x73\x43\xd8\x4d\x01\x67\x9f\x3e\x51\x3d\x37\x85\x89\x38\x18\xd9\x4d\xd4\x05\x7c\x27\x5a\xd8\x39\x61\x8f\x5f\x1c\xc1\x2b\xd1\xf6\xa2\x17\xce\x6a\x38\x04\x3f\xc1\xc1\x60\xc0\xfe\x2d\x69\xf4\xcc\xa3\x51\xd8\x73\xbc\xcf\xb7\xb1\x07\xb7\x98\x8b\x75\x9a\xea\x5d\x53\x8d\xe6\x8b\xe7\xb5\xe6\x0b\xbe\x58\xd8\xe6\x7a\xdc\x59\xe0\x51\x79\x6e\x9c\xa5\x5b\xba\x12\xe3\x5a\x57\x62\xfc\xdc\x76\xf5\x93\x28\x20\xa3\x15\x78\x1b\xb4\x35\xde\xae\x37\xde\xbb\x6f\x1e\x67\xed\xbd\x2c\xea\xab\x59\xec\x8d\x6c\x2f\x67\x55\x9a\x22\x4d\xd8\xd4\x5a\xd4\x5b\x8b\xbd\x5e\xeb\x76\x42\xac\x12\xbf\xea\x64\xb1\x58\xc4\xad\x75\xb7\x1b\x75\xb7\xa1\x2e\x46\x8a\xa0\xb8\xad\x87\x4c\xac\xe4\xaf\x89\x6f\xae\x5e\xa9\x0a\x5c\x07\x8d\xbf\x15\xf2\xfb\x10\xe6\x29\x89\x43\xb7\xd0\x54\xd3\xdd\xab\x25\x76\xe7\xf1\x45\xb8\x58\x95\x8b\x88\x29\xbe\x86\xf3\xb4\xd4\x9c\x38\xbb\x40\x07\x35\x7d\xec\xe2\x18\x2a\x24\xe0\xec\xa1\x6c\xd2\x43\xb1\xfa\xf6\x8f\x5d\x06\xf5\x4b\xc0\xf9\x66\xfe\xaf\x7e\x09\xfc\xf0\x88\x1b\x20\x20\x70\xfe\xc5\xdd\xa4\x73\x9b\x6c\x19\x5f\x78\xfc\xce\xa3\xef\xe8\xdf\xb1\x25\x2e\x2c\x56\x5b\xa8\x6b\x55\x16\x36\xda\xfa\xef\x85\x67\x3d\xf0\xd6\x6d\x34\x50\x65\x93\xf3\x09\x82\x2e\x91\xe7\x70\x71\x43\x16\xa8\x0f\x86\x5e\x0a\x02\x9f\x7a\xa1\x07\x21\x94\x8e\xb3\xab\xb5\xf1\x74\x6e\x69\xf8\x3a\x68\x1b\xb1\xf5\xf4\x56\x62\xe5\xaf\xcd\x25\x6d\xf7\x65\x8b\xf8\xd7\xe2\x86\x3d\x3b\xc2\x2e\xa9\x91\xfe\xbb\x5b\x8b\x49\xb8\x58\x68\xd2\xf9\x2d\x1b\xb3\x43\x8c\x7b\xe3\xb3\xb4\xc5\x4d\xb0\x7b\xc6\x8e\x5e\x55\x73\xf2\x4c\xa0\xb4\xa6\x84\xa2\x08\x6c\xb9\x58\x28\x51\xd6\xb0\xd7\xdb\x87\xfb\x76\x35\x0c\xcf\x75\x25\x4a\x6f\xac\x45\x21\x57\x83\xd6\xf3\x86\x76\xf6\x97\xc6\xe2\x1e\x9d\xd9\xfc\xb9\xd4\xfb\x6a\xef\x46\xe6\xe5\x47\x04\xea\x26\xd4\x09\x3a\x78\xd2\x96\x04\xe0\xb2\x5e\xcb\x61\x17\x94\xd6\x70\x8b\x72\xc7\xf4\xdd\xd8\x5e\x82\x4c\xfd\x05\x62\xef\xf7\x99\xc8\x62\xfa\xed\xd6\x1e\x43\xc0\x3d\x57\x09\x45\xc0\x5b\x6b\x20\xed\xb5\xaf\xc5\x03\x73\x1f\x5c\x60\x30\x6c\xf7\xac\x05\xf5\x6a\x81\xb5\x5c\xe3\x5e\x03\x17\xbf\xc1\xae\x0d\x3e\xce\x0b\xc1\xaf\x83\x7c\x58\x0e\xc2\x5f\x1c\x39\x8f\x8d\x20\x61\xbb\x59\x29\x26\xee\xb2\x00\x70\xeb\x7a\x62\x79\x0c\x5b\xd5\x5f\x9e\xbe\xb4\xcc\xc9\xb0\xc3\x79\x8d\x1e\xbd\x50\xd3\x7b\xaf\xe7\xc0\xff\xec\x59\xcb\x9a\xdd\xd6\x3d\x09\xe7\x65\x22\x34\x99\x3c\xf9\x65\x31\xb0\xa8\xd1\x6d\xdb\xdd\x5e\xfd\xfc\xb9\x26\x3e\xdc\x1b\x67\x72\xc3\x79\xc4\x63\x81\x4e\x9e\x71\x78\x22\xfe\xf5\x67\xb0\xbd\x95\x9e\xd8\x25\x44\xdd\x8e\x5b\x5b\xfc\xae\x33\x56\x4b\xac\xeb\x1f\x33\x91\xc5\x41\x1c\xc5\xa0\x5d\xbd\x26\xdb\x22\x7c\x06\x80\xeb\xaa\x85\xc0\x90\x54\x03\x1e\xc7\xdd\x0e\xc5\xc1\x8a\x96\x3c\xbb\x12\xa9\xbc\x1a\x92\x2b\x72\xa7\xcf\x3a\xa5\xb8\x2b\x87\x79\xca\x93\xac\xd3\x7f\xd2\x19\x0f\x9e\x77\xd8\xb3\x27\x9d\xce\x93\x1e\xe5\x0a\x7e\xa0\xa7\x98\x97\xa2\xd9\xcd\x64\x34\xde\x01\x9f\xee\x7d\xaf\xb7\x7a\x74\xae\xa5\xbe\x61\x87\xbf\xaa\x21\xfc\xf2\x1f\x3d\x45\x00\xc0\xaa\x8c\x45\x0e\x40\x1a\x5c\x94\xb2\xe0\x57\xa2\xd3\x73\x07\xe0\xbf\xea\x86\x92\xc2\xed\xb3\x13\x11\xa5\xbc\x20\xaf\x6d\x84\xc0\x57\x90\x3e\x07\x39\x51\x4c\xe1\xb2\x12\x6c\xce\x55\x12\x31\xb5\xe4\x85\x88\x59\x05\x29\xce\x12\x93\x8b\x86\x97\xe8\xa5\x2a\x25\x53\x2b\x88\x32\x23\x59\x8c\x90\x60\xb1\xc0\x3c\xa9\x31\xcc\x97\xb2\x6b\x6b\x6a\x0d\x63\x59\x3f\x18\xe7\x58\x0e\xe9\xa0\x20\xf8\x47\x16\xcb\x5b\xb6\x94\x18\xd1\x03\xa7\x56\x8b\x9e\xa5\xaf\x2a\xae\x58\x4e\x5e\x63\x58\x47\x8b\x73\xdd\xde\x80\x79\xe9\xe9\x74\xed\xec\x86\xa7\x49\xcc\xaa\xac\x4c\x20\x66\x05\x84\xdc\xe1\x69\xf2\x77\x1b\xc0\x0b\x73\x65\xe3\x0c\xb1\x2b\x9c\xc3\xa5\x9e\x91\x4d\x40\x6b\xb2\xae\xf0\x02\xa4\x55\x2f\x61\x08\x05\x56\x71\x39\x98\x28\x60\x0e\x04\x6c\x35\x79\x15\xfe\x2e\xe5\xca\xf7\xcd\xa5\x15\xfd\x9b\xac\x60\xbf\x4d\x7a\x06\xc8\xd4\x54\x2e\xd9\x5a\x56\x05\xa6\x46\x93\x91\x9e\xac\x88\xcd\x88\xfe\x3c\x75\xa7\x34\x21\x97\xe7\xb7\xf3\xef\x6f\xde\xbc\xd2\xf7\xc6\x78\x34\xfa\x2f\x5e\xd0\xb6\xe3\x22\x11\x0b\x86\xd6\x6a\x6b\x3b\x7f\x1b\x15\x06\xa7\xab\xcf\x91\x9e\x66\x24\x73\x8a\x9e\x04\xfc\x67\x9a\xe4\x73\xc9\x0b\x3b\xed\xe3\x35\x8b\xc5\x82\x57\x29\x64\x73\xa3\x00\x2e\x86\x8f\x3f\x7e\x39\x9d\x7d\xcf\x2e\x66\xe7\x17\x17\x6f\x7e\xb8\xf0\xc2\x43\x40\x6c\x88\x35\xae\x98\x82\x67\xfc\x86\x45\xfb\x08\x00\x71\x28\xea\x53\x5f\x0a\xd6\x41\xf0\x6e\xd9\x09\x6f\x65\xb2\x4c\x22\xd1\xf1\x82\x0a\x01\x12\x04\x1b\x61\xc0\xa9\xeb\x2e\xd6\x9a\x04\x78\xd0\xfc\xb9\x9a\xec\x8f\x26\x1a\x8e\x16\x5b\x35\x8c\xd4\x52\x4f\x34\xc9\x18\xd7\x28\x7f\x5d\xca\x9c\x41\x73\x0a\x06\x66\xc3\x6f\x18\x6c\x80\xd0\x18\x22\x4d\x07\x8c\xfd\x5c\x4d\x26\x7b\x18\xba\xd7\xc2\xec\xf4\xfc\x2f\xdf\x5d\x7e\xc7\x5e\xbf\xb9\x3c\xed\xb3\xff\xd2\x2d\x93\x32\x15\xbd\x5a\x2a\x5e\x0d\x2b\x1b\xbf\xca\x62\x19\x54\xf5\x57\x41\xd3\x79\xed\xcd\xe6\x52\xd7\xa1\xc5\xec\xed\x4d\xdd\x00\xf8\xb7\x87\x24\x2f\xc9\xb0\x11\x82\x09\xd3\x59\x85\xe8\x11\xaa\x4a\xe8\x90\x80\x94\x87\x85\x4b\x5e\x64\x42\xd9\x90\x28\x94\x5a\xde\x24\xf1\x5f\x83\x8b\x34\x46\x13\xa3\x7c\xc3\x45\x95\x65\xf6\x2e\xc2\xe9\xea\x8e\x4e\x44\x0e\x16\x8c\x1d\x2c\xba\x88\x0a\x99\xa6\x6f\x65\x81\x09\x3d\x95\x26\xf0\xf6\x8b\x10\x99\x29\x7d\xc2\x1a\xff\xa8\xde\x25\x41\xa7\xde\xfe\xa7\xcb\x87\xdb\xfe\x74\x39\x98\xf1\x2c\x13\x31\xd6\xfc\x10\x92\x29\x04\x89\x26\x22\xf6\xe2\xec\xb3\x42\x5c\x25\x0a\x12\x74\x23\x22\xe3\xc5\x85\x65\xe7\x48\x96\x6a\x08\x4c\x79\xb4\xe2\x0a\x2e\x61\x5d\x3f\x09\xea\x19\x06\xc0\x8c\xf1\x99\xc9\x4c\xf7\x84\x31\x38\xcc\x43\x8f\x6b\xc7\x6e\x21\x68\x42\x05\xc1\x86\x92\xec\x46\x5e\x0b\x38\x15\xe6\xc5\xb0\x46\xf5\xe0\x84\xbb\xf4\xc3\xc3\x27\x8d\x19\x23\x30\x3a\x7d\x2f\xa5\x11\x4c\x00\xb9\x02\x3b\x03\x99\xbd\x03\x5a\xd9\x45\x92\x69\x38\xd4\x16\x32\x8a\x7f\x0c\x34\x99\x47\x6e\xcf\x4b\x19\x8c\x5d\xf7\xd9\xc8\x31\x76\xde\x08\x97\x7c\xde\x2d\xf9\x3c\xc8\x90\xc9\xe7\xc8\xbf\x42\x9f\x91\xbe\x9d\x3d\x5f\x67\xfc\x9b\x86\x87\x0c\x70\xba\x01\xfd\x7d\x1e\xf7\x81\xa4\xf7\xed\xdc\xdb\xbd\x3d\x4d\xce\x9d\xe2\x2a\xc9\x62\xde\x3b\xb4\x5b\x07\x91\x05\xd9\x2d\xf0\x62\xac\xca\x31\xbc\x0b\xbb\x19\x33\x9e\xe7\x1d\x05\xf1\xca\xae\x0a\xb8\xb8\x73\xa4\x5c\xa6\xbb\x57\x7c\x3d\x17\x2c\x00\x4a\x27\x93\x99\xe8\x50\xc4\xa9\x39\xa5\xb0\xf6\xc2\x8b\x41\xd2\x6f\x1b\x2d\xc7\xf4\xd5\x02\xdd\x4e\x06\xe1\x8f\x6c\xc4\xf2\x8d\xc0\xad\xe5\xb1\xfc\xc2\xd0\x0c\x20\xe6\xc4\x35\xf8\xd2\x38\xe6\x2f\xcb\xf8\x4d\x72\xc5\x4b\x59\x0c\x2a\x25\x8a\xe9\x95\xc8\x4a\x93\xcd\xec\x67\x05\xcc\x91\xf8\x79\xd8\xfd\x39\xfe\x39\xee\x0d\xbd\xa4\xa3\x26\xf8\xf5\x11\x65\x34\xcb\x79\xa1\xc4\x79\x56\x76\x31\xb5\x59\x8f\x1d\x5a\x21\x1c\x05\x05\x6f\x3b\x21\xd0\x31\x6e\xa4\xc2\x69\x35\x4b\x06\x6a\x9d\x45\x9e\xa2\xd5\x0e\xf8\x0d\x9b\x78\x59\x49\xdb\xd6\xa8\x17\x45\xa1\xc1\xa9\x64\x80\xeb\xe8\xb6\x0c\xd1\x8e\x21\x8f\xec\xf6\xa5\xbe\xcc\xba\x75\xe0\x53\xfa\x1f\x1a\xac\xe4\x73\x65\x32\x37\xd5\x63\x4d\x30\x8a\x6f\x1a\x6b\xc4\x50\x14\x70\x48\x94\x22\x2a\xf1\x79\x17\x3b\x5b\xcb\xaa\x03\x71\x9b\xfc\xda\x78\xc7\xa4\x49\xa9\xc9\x3f\xbf\x85\x38\x7a\xe6\x41\x3f\x51\x6f\xa9\xe6\x34\xcf\x9d\x33\xef\xfd\x3b\x51\x68\x36\xaa\xad\x44\x1f\xb2\x57\x3c\x4b\x16\x42\x95\x3e\xfa\xac\xa8\x8c\x1d\xdd\xd3\xa0\xeb\xa1\x4c\x7d\x5a\xa6\x83\x81\x5e\xce\x97\x5f\x06\x7f\x0f\xdc\x59\x0b\xa4\xe7\xa0\x0f\x2f\xa2\xf7\x5b\x1f\x90\xc0\xba\x42\x90\x37\x8f\x91\x48\x1c\xc3\xa6\xb7\x64\xd0\x24\x54\x48\x32\x30\xa9\x39\x92\x91\x7f\x68\x92\x76\xc8\x3a\xb9\xcc\xab\xbc\xf3\xb9\x67\xc9\x98\x8f\x2d\xf7\x01\x55\x8f\x14\xa4\xd0\xd5\x88\x71\x25\xca\x19\xa5\xa8\xc2\x3c\x8b\xba\x04\xf9\x2c\x4d\xfc\xe0\x8e\x4d\x14\x7b\x4a\x79\xac\xd2\xb5\xb9\x5b\x9f\x62\x86\x54\x88\x6f\x66\x3a\x2c\x65\xbe\x92\xfa\x62\x2f\xd8\x42\x46\x98\x52\x94\xcf\x07\x21\xb9\x84\x05\xbb\x61\xbb\x40\x78\xdb\x31\xff\x91\x10\x21\x9a\xe4\x40\x62\xf0\xff\x73\xaf\x91\x58\x33\x16\x51\xb2\xe2\x29\xfb\x87\x51\x1e\x2e\x05\x88\x61\x9f\x89\xbe\xa2\xa4\x1e\xcb\x15\x06\x0f\xf6\x18\x08\x3d\xe5\x34\x11\x59\x79\x81\x31\x3e\xec\x85\x15\xcb\x55\x20\xc3\xc6\x12\x2a\x43\x6a\x92\x24\xbb\xc2\x46\x3f\x88\x08\xf0\xaf\x99\xea\xd3\xcc\xc8\x8b\x1b\xf8\x98\x59\x34\x34\xa3\xbf\x61\x1a\x03\x52\xc2\x6c\x9e\x0c\x41\xe5\xd1\xb3\xf9\x0e\xeb\xff\xce\xe9\xe0\x68\xc1\x7c\x34\x77\x5c\x4b\xa0\x96\x0a\x9b\xef\x1a\x74\x7f\x6b\x55\x8a\x55\x53\x66\x30\x2c\xcd\x77\x97\xaf\x5e\x9e\xc8\x08\x32\x21\x52\x06\x08\xfa\xcb\xe5\xa5\x0b\x3a\x8d\x64\xbe\xf6\x17\xa7\xff\xbe\x30\x15\x2e\xe5\xcc\x0c\x14\xae\x12\xbb\xac\x27\xfc\x34\xe5\x03\x71\x27\xa2\x99\x5c\xad\x78\x16\x77\x3b\xba\xc7\x4e\x98\xfb\x73\x91\x14\x62\x21\xef\x4e\x4d\xb6\x43\x8f\x8c\x9c\x5f\x65\xb2\xc0\x4c\x7a\x03\x76\x76\xd6\x96\xc5\x95\x6c\x5b\x34\x9f\xc0\xf1\x4b\x51\xc8\x82\x62\x69\xda\xf7\x1c\x46\x51\x48\xbc\x47\x1c\x48\x6c\xec\xdb\x49\x0c\xea\x2f\xf7\x6f\xb9\x2a\x45\x2b\xa0\x31\x50\x14\xe4\x66\xc3\x88\x49\x08\x4f\x38\xf1\xbf\x61\x13\x4a\xc9\x72\x18\x43\x77\xe7\xc3\x1d\x4a\xcf\x0a\xb9\xfa\x27\x40\x1c\xfa\xfa\x8f\x02\xf2\x99\xcc\x54\x59\x54\x51\x09\xf4\x53\x9f\x3c\x92\x46\x34\xc1\x29\x44\x24\x1d\x92\x9f\x53\x34\x4f\x65\x35\x40\x10\xa2\x14\x43\x5d\xe5\xd5\x3c\x4d\x22\x56\x08\x1e\x0f\x6f\x21\x7b\xeb\x4a\xac\xe6\xa2\x50\xe6\xe1\x8f\x62\xb1\xe2\xb1\xdb\xf8\x6a\xe6\x54\xef\x9e\xce\x3d\x51\xde\x4c\x9a\x6d\x88\x6e\x80\x04\x83\xbf\x36\x5b\x99\x7d\xae\xd3\xd1\x80\x20\x7b\xc9\x39\x8d\xaa\xd9\x6a\x8e\xa1\x74\x69\x28\x4e\x0b\xf1\x98\xc6\x00\x6c\x17\x05\xd8\xad\xb6\x65\x3e\x0f\x2c\x5e\xf3\x59\xbf\x0b\x00\xba\xe1\xa3\x80\xe0\x85\x7a\x29\x84\xfa\xd3\xa0\x42\x24\x9e\x03\xa1\xdb\x04\x07\xa3\xdb\x75\xb3\xfb\xcc\xa6\xb8\x14\xb7\x69\x36\x96\xac\x23\xa4\x7c\xe5\xc1\x1a\x02\x92\x59\xe4\xda\xb0\xd4\x28\x95\x99\x68\xe6\xd4\xa4\x09\x84\x23\x76\xdd\x92\xfb\xfe\x42\xc3\x0b\xf5\x82\x9e\xc3\x08\x08\x18\xff\xd2\xdf\x38\x3b\x6f\x1b\xce\xdb\x24\xf7\xf7\x66\x58\xc3\x08\x1f\x10\xc0\x0d\x41\x22\x01\x88\x26\x64\x2e\x0d\xab\x85\xdf\xb0\x52\xcd\xc6\x48\x7f\xa5\xba\x9f\x96\xad\xd4\xc5\x83\x0d\xfb\x09\xdf\x5a\x36\x15\x4c\x88\x92\x45\xcb\x42\xdc\x6a\x13\x45\x31\xeb\x81\x6c\x83\x5a\xeb\x91\xcb\xdc\xd4\xe5\xa0\x69\x6e\xe9\x59\x5b\xce\x65\xb9\xb4\x55\x89\x26\x85\x48\x32\xc4\x95\xf4\xef\x35\x37\x6e\x85\x25\x2c\x44\xb5\x03\xd3\x58\x04\x7a\x30\xf5\x81\xaa\x59\xe1\x00\xa8\x9b\xa1\x6a\x8f\x0a\xbd\x5e\xd8\xf0\xbb\xbc\xf4\x93\x2c\xf9\xe0\x68\x7d\x19\xb1\x29\xc8\x91\x8f\xc6\xdc\xfa\x09\x69\xc3\x37\x91\x26\xa7\x4b\x71\xbd\x6f\x80\x46\x29\x2f\x1a\xcf\x2b\x01\x2c\x3a\xef\x5d\x3b\x2f\x59\x3d\x3d\xba\xb1\x4e\xdf\x95\xd1\x24\x20\xfd\xfd\x8b\xc7\x5c\x4b\x3f\xc8\xdb\x99\x4c\xff\x79\x17\x13\x64\x81\xb6\x0f\x63\x81\x26\x0b\xfb\xc0\x38\x91\x02\x6e\xdd\x8e\xbc\x11\xc5\x22\x95\xb7\x1d\x36\x4f\x4a\x17\x41\xb1\x52\x02\x55\x53\xf8\x2c\x60\x95\x84\x0c\x55\xc1\x26\xd2\xff\x92\x2b\x36\x17\x22\x63\x2b\x1e\x43\x83\x95\x24\x24\xa5\xdc\x06\xf4\xf2\x65\xb2\x5b\xe3\x93\x18\x3d\x3b\xeb\x8e\x14\x6a\x08\x99\x49\x90\x9c\x28\x9b\x35\xeb\x56\xb0\x54\xf0\xd6\xee\xe8\xed\x1b\x72\x7e\x73\x08\x7d\xa7\x8b\x9f\xd8\x20\xe1\xd4\x2d\x28\xb0\x15\x51\x33\xb3\x50\xbd\xce\x01\x63\xe7\x34\x1a\x26\xd2\xa5\xee\xf5\xec\x35\xf3\x03\x84\x97\xa6\x81\x52\x51\xba\x46\x75\x38\xcf\xd6\x76\xf1\x9a\xf3\x2a\x92\xac\x04\x22\xeb\x99\x00\x45\xbc\x52\x98\x4e\xa0\x18\xa6\x10\xff\x13\x42\xad\x6d\xbc\x23\x21\x60\xe2\x52\xc0\xcf\xc7\xdc\x8d\x04\x04\xef\x31\xff\x9e\x56\xd6\x86\x5b\xe6\xe5\x47\x0b\x03\x9b\x48\x9d\x3e\x9b\x8d\xb6\x67\x4c\x43\x0c\x11\xd3\x1c\x23\xbd\xd5\xa6\x7d\xa8\x87\x27\x04\xf6\xce\x4e\x21\x6f\xfb\x34\xb7\x7e\x30\xb0\x47\xad\xf5\x6a\x8f\xf4\x9a\x5f\xb8\x9c\xcb\xb0\x98\x23\x6a\x69\xcb\xed\xac\x8f\xd8\x17\x5f\xf8\xbd\x6d\x62\x56\xc2\x13\xf0\x58\x56\xc5\x6c\x83\xde\xcd\xdf\xb1\x15\x80\x04\xff\xeb\x6c\x87\x47\xdd\xe0\x4c\xfe\x4f\xde\x9d\xdf\xc1\x34\xe1\x3a\x42\xb6\x89\x50\x6d\x03\xe3\x44\xfb\x0e\x8e\x07\x96\xf8\x6d\x04\xcb\x63\x19\x27\x6c\xd8\x35\x60\xe9\xfb\xe0\xe8\x87\x30\x68\xe7\xa3\x36\xa0\xe3\x43\x5c\x14\x4d\xb8\x95\xc1\x30\xb0\x79\x2c\x27\xd5\x58\xfc\x43\xbc\x14\xee\x3f\xdc\xeb\xad\x48\x00\x5f\x36\x63\x02\x7c\x6e\x45\x84\x76\x46\xab\xbe\xaf\x8f\x67\xb5\x9a\x90\xd8\xdc\xed\x1f\x60\xb7\x0a\x79\x3b\x34\x5b\xfe\x30\xb3\xd5\x00\xf7\x23\xd8\xad\xae\x83\xbb\x03\xbc\xe5\xb5\x0c\xe0\x03\xc8\xfb\xaa\xf4\xc6\x1e\xd4\x36\xa1\x55\x67\xf6\xe7\x32\x66\xed\x78\x7f\x1f\x5b\xd6\x80\xdb\x83\x8c\x59\xd7\x70\x66\xd8\xd4\xe3\xcd\xf4\xe8\x21\x67\x46\xf3\x30\x85\x1b\x41\x07\xac\x5b\xaf\x35\x45\x5c\x68\x84\xf2\x71\x51\xf0\x95\xf8\xdf\xcc\x14\x65\xe1\x1b\xa1\x9c\x41\xdc\xd9\xb8\xe0\x0b\x6b\xf8\x08\xbe\x64\x0b\x1e\xb9\xf4\xb1\xc1\xfb\xb6\xde\x70\xae\x57\x50\xc4\x60\xf0\xb1\x66\x71\xc2\x53\x79\x55\x7f\x51\x2d\x64\x75\xb5\xd4\x7c\x58\xd9\x21\x9d\x8e\xdf\xcd\xd6\x37\xd8\x8a\xa5\x7c\x2d\x8a\x01\x63\x97\xd2\xbe\x80\x32\x78\x5c\xc3\x1c\x18\xa2\x93\xa6\x98\xbe\x82\x12\xb9\x46\xa8\xb1\xda\xfa\xc6\x4e\xc8\xf6\xa0\x01\x04\xe9\x04\xf0\x64\x4b\xb6\xe0\x51\x92\x26\x25\xc4\xf0\xfd\xaa\xd9\xd2\xce\x41\x16\x2c\x4e\x0a\x4d\x5e\x6d\x1d\xfa\xa2\xff\xae\x32\x7a\xb5\xb7\xac\x3b\x4b\x56\xfc\x0a\x6d\x81\x2d\xcf\x0d\x03\xa3\x1d\x14\x53\xc9\x55\x06\x6f\xfd\xf0\x0e\x40\xc6\x10\x2e\x5d\x6c\x18\x02\xdd\x4a\x0d\x10\xf6\xf8\x96\x01\xca\x59\x73\x05\x54\x29\x9b\x19\xd7\x28\xa4\x05\xc1\x3f\xc2\x57\x76\x54\x20\xe6\x1c\xf4\xc1\xb6\x12\xde\x20\x3e\xb3\x52\x15\x69\x98\x36\x56\x17\x94\x92\xa5\x92\x5b\xd4\xc2\x13\xe0\x35\x02\x0e\x20\xc7\x2c\x62\xff\xc0\x68\xc1\x9f\x1d\x7f\x63\xbe\x98\xf9\x63\x73\x06\x89\x5c\x6c\xe4\xf8\x90\x9d\x39\x83\x05\xfb\x94\x93\x66\xdc\xd7\xf3\xe9\xfb\x03\x7a\xf7\x97\xa9\xf4\x51\x5f\x46\xf4\xbb\xbd\xa8\xe2\xe4\xc6\x2f\x87\xbf\xed\x47\xbd\xc8\x23\xdd\xb5\xbb\xd7\x68\xd2\x47\xc1\xe2\x3e\x7d\x02\x9b\x28\xaa\x93\xc0\x4a\x3e\x5a\xfb\x23\x7b\x5f\x62\x5e\xdf\xa2\xf1\x85\x2c\x65\x66\x4b\x9e\x65\x22\x75\x9f\x3d\x22\xfd\x1d\xe6\x1b\xa6\x9a\x5e\xda\xc2\xc4\x42\x3d\x00\x92\x47\x37\x65\x46\x26\x31\x1f\x7d\xc8\x09\x67\x2f\x2f\x06\x90\xc8\x3a\xd3\xb0\xfd\xe2\x88\x75\x92\x3c\xda\x4a\xb2\xa4\xdc\x92\xd7\x1d\xa3\xc8\x05\x57\x9b\x54\x0c\x52\x79\xd5\xed\xfc\x98\xa1\x8d\x89\x31\x44\x82\xc9\xc0\x3c\x0e\x3b\x7d\x86\xdd\xf5\x7c\xbb\x50\xfb\xc4\x07\xcb\x55\x22\x8b\x0d\xfe\x9d\x67\x0b\xf9\x11\x1f\x11\xdb\x40\x31\xc8\x65\x51\x8e\x07\x32\x5b\x59\xab\x1e\xdc\x06\xb3\x26\x7c\xbb\xb2\x31\xe3\xe9\xe3\x4b\xc9\xe3\xda\xcb\x10\x3e\x8e\x28\x16\xc1\x7b\xbd\x26\xa0\x05\xa6\x53\x4e\x54\x9f\x9d\xb3\xab\x4a\x28\xab\x69\x3f\x2f\x21\x09\x55\xd6\xb1\xaf\xb9\x98\xb3\x3c\x07\x1a\xab\x4a\x91\x41\x26\x04\x2d\x03\x9e\x77\x56\xf4\xea\x6b\xac\x67\xd0\x20\x20\xcc\x3a\xb5\x14\x85\x30\xf4\x2d\x2f\xe4\x9c\xcf\xd3\xb5\x09\x2d\x5f\x4a\xa6\x72\xc1\xaf\x89\xae\x60\x4e\x2a\x59\x15\x74\x28\xd5\xa3\xb6\xb6\x76\x27\x36\x11\x07\xd1\x84\x21\x68\x30\xe7\xf4\xfd\x1d\xeb\x7a\x1f\x9b\x57\xed\x26\x7c\x15\xb7\xec\x55\x50\xfa\x07\xf6\xf4\x63\xdb\xa6\xb6\x77\x02\xb6\xab\xde\x50\x74\xf4\x06\x94\x6a\x89\xde\x37\x73\xa9\x4a\xea\xdb\xa4\xcc\xff\x87\xc6\xf6\x43\x87\xeb\x9d\x3e\xe3\xc5\xd5\xcd\x21\x7b\xff\x0f\x1a\xe9\xad\x2c\xca\xc3\xcd\x63\x4f\x3e\x7f\xf8\x6c\x2c\x91\xde\x6f\xae\xf5\xa1\x6f\x29\x49\x3b\x3e\xae\xf8\x3a\xc4\xc6\x87\xb7\x65\xf3\x66\x5f\x40\x42\xbe\xe0\xf2\x4c\xb2\x85\xf4\x2d\x1e\x1f\x47\x33\x1a\x47\xb4\x89\x09\xc0\x1f\x0c\xae\x44\x39\x8d\x22\x91\x97\x2f\x79\x76\x55\x69\xd2\xe4\xb2\x53\xa4\xa6\xc8\xbd\x90\xc3\x02\xfd\xed\xe8\x04\x13\xed\xf4\xd9\x7b\x2f\x4b\x34\x0f\x7b\x3e\x64\xb6\x47\xcf\x06\x6c\x21\x0b\x81\x86\x04\x33\x99\xca\xe2\xb0\x46\xf3\xf5\x0c\xcf\xc2\x2a\xdd\x9e\xd7\xdc\xd9\x21\x6c\x6c\x7e\x1c\x56\x09\x9a\xa3\xb2\x68\x63\xd3\x99\xfb\x1c\x34\x5b\x48\x7c\xf3\x6e\x9f\x2d\x7e\x6b\x34\x38\xe3\xab\x24\x5d\x6f\x6a\x82\x5f\x6b\x6b\x53\xe2\xc7\x1f\x5e\x1e\xba\xbd\xfa\xf1\x87\x97\xdd\xce\xb0\xd3\xf3\xf8\xdd\xcf\x1f\xec\x1f\xe6\xa1\xdf\x3b\x7f\x21\xd2\xfe\xa8\x44\xc1\xa2\x34\x89\xae\x49\x81\x17\xa5\x52\x09\x4d\x08\x4b\x30\xf7\x72\xf7\x38\x8b\xb5\x38\x6f\x79\xa1\xcd\x08\x3d\xd3\x3d\xcc\xb0\xcb\x4d\xf4\x06\x46\x69\xd0\x73\xa9\x88\xab\x7a\x10\x9b\x71\x96\x8d\xbe\xc1\x88\xaa\x7e\x35\x7f\xfa\xc4\xea\x65\x03\xa4\xc4\xaf\x65\x2c\x42\x37\xa4\x17\x4f\x9a\x77\xbb\x57\x79\x50\x88\x95\xbc\x11\xb3\x65\x92\x22\x34\xbd\x6a\xfe\x6d\x35\xf3\x97\xf7\x07\xe9\xc3\xac\x65\xa9\x35\x02\xc1\xf8\x6f\xa7\x07\xde\x91\xf5\x3b\xd7\x44\x14\x09\x67\x1d\xa2\x35\x62\x88\x70\xc3\x7c\x30\xfa\xae\xc0\x7c\x30\x1d\xd3\x65\x84\xd5\xac\x09\x95\x28\x59\x95\x0f\x40\xf8\xb8\x97\xfc\xfb\x94\x84\x28\xba\x9b\xd2\x21\xfc\xff\xb9\xa6\x87\x59\xca\x5b\x4c\x94\x75\x4e\x8c\xa7\x8f\x40\xc6\x52\x94\x6e\x4b\x55\x44\x66\x4a\x9a\xcf\x15\x64\x8a\x8e\x8d\xc8\xb4\xc7\x1a\x84\xde\x4b\x4e\x97\xa0\x09\xa9\xe1\x1f\x26\x5a\x49\x17\x74\x01\xbe\x08\x6d\x27\xf3\x92\xc0\x4b\x56\x6a\x3f\xf1\xb4\x12\xbe\x21\x25\xf0\x6b\x49\x06\x5d\x18\xbe\xb4\xe6\x26\xe7\x7f\x7a\xaf\xeb\x7f\x78\xf1\xc4\x77\xd7\xf1\xbb\xb6\x3c\x5a\xdb\xb4\x4c\x96\x1f\xff\xa4\x38\x75\x44\xdb\x41\xa9\xf1\x8d\x02\x37\x1c\x19\x78\x9e\x16\x82\xc7\x6b\x76\x93\xa8\x64\x9e\x92\x2d\x41\x83\x57\x04\x8f\x03\xc1\x63\x51\x58\x4b\x98\xce\x78\x2f\xbf\xeb\xbc\x30\x5f\xe3\xe4\x86\x1e\xbc\x5b\xcc\x89\xba\x96\xbd\xef\xd9\x06\xe6\x55\x50\x03\xb7\x03\x7f\x74\xfa\x6c\x6f\x07\x2d\x9c\x70\x3c\x1a\x09\x6a\xe0\x5f\x9d\x3e\xdb\x39\x70\x55\x52\xcc\x67\xdf\xa5\xc1\xe9\xdd\x67\x8b\x91\x67\xdb\x10\x3d\x0c\x75\xcd\x52\xe6\x7e\x45\xea\x7b\xcb\xbe\x3b\x43\x55\xb3\x14\x63\xc2\x71\x54\x27\xef\xe6\xcb\x47\x5b\xd7\x02\xdc\x54\x0e\x24\x0b\x6b\xb4\x11\x15\x82\x97\xe2\x14\xe5\xa8\x6e\x27\x4e\x6e\x10\xd0\xb6\xf6\x00\xb4\x06\x83\x48\x29\x30\x8b\x3f\x62\x86\x39\xea\x98\x1c\x49\x87\x8c\xcf\x21\x37\xae\x78\xe1\x94\x24\x1d\xb2\xb9\x3b\x64\x5b\xb7\x62\x7e\x9d\x94\x5b\x8b\x54\xdc\xf9\x15\xfc\xf2\x2d\x64\x6b\xa1\x33\xd2\x11\x7a\x35\x4b\x99\x1f\xb2\xf1\xe8\xbf\xf8\x65\x1a\xc0\x87\x6c\x27\x28\x03\xe0\x1e\xb2\xe7\x61\x4d\x04\xe4\x21\x3b\x08\x8b\xe7\xf2\x6e\x4b\x2d\x79\x2c\x6f\x0f\xd9\x88\x8d\xd8\x24\xbf\x73\x8a\x9f\xfb\x19\x03\xf6\x8c\x75\xc2\xae\x8a\x58\x14\x87\xbf\xb5\x0b\xa6\x64\x9a\xc4\x2f\x3a\x0e\xf3\x10\x91\x1f\xb3\x3d\x58\x73\xf3\xde\x3c\x1a\xfa\x94\xfc\x78\x8b\x78\xe1\x43\x06\xdb\x21\xb2\xb8\x0d\x84\x7a\x71\xc1\x61\xab\x03\xc2\xf2\x40\x5b\x11\x32\x3b\xbf\x13\xa2\xf7\xb6\x6e\x70\x5a\xf5\xd6\x9a\x0d\xda\x52\xc0\x38\x69\x52\xd0\xf8\xb4\x20\x16\x69\xd3\xe4\x1c\x9b\x54\x3b\x0a\xa0\x6e\x89\xf1\xaa\x46\x38\xf4\x2c\xe1\x03\x1d\xaf\x67\xd1\xf4\x1a\x92\x89\x5a\xbd\x85\xcf\x03\x0d\xac\x31\x2c\xf1\x44\x8f\xd8\x70\x66\xda\x2a\x51\x4e\x4b\x4a\x46\xda\xed\x14\x32\x05\xf7\x38\xfc\x58\xaf\xba\x01\x3b\x18\xeb\xac\x78\x71\x95\x64\x5b\x70\xb2\xb6\xb6\x03\x18\xb9\xaf\x05\xee\x7a\xe3\x33\xb2\xb3\x87\x2c\x97\xa0\xda\x7b\x51\x1b\xb6\x14\x77\xe5\x0c\xd1\x89\x5c\x52\xf8\x64\xd1\x09\xaa\xf0\x38\x3e\xd5\xd2\xe5\x4b\x92\x93\xbb\x1d\xe0\x17\x3b\xfd\x80\xdb\x31\x0c\x5f\xc8\x69\xea\x6e\x08\xfd\xfd\xfd\xc0\x9e\x7b\xc1\xc5\x40\x37\xf4\x51\x5d\xe3\xb2\x09\xda\x58\x03\x97\x43\xec\x8e\xcc\x52\x14\xa6\x3c\xa5\x41\x5d\xf4\xa4\xaa\x7f\xfc\x30\xea\xf2\x43\x36\x6e\xa1\x69\xe0\xea\x15\x0c\x16\xa0\x81\x2a\xa2\x4e\x20\x43\x6e\xaa\x27\xf8\x2a\x15\x4a\xe9\xca\x45\x25\xee\x41\x6f\x6c\xee\xf1\x56\xfa\x8e\x0c\x6a\xd8\x76\x8f\x52\x7c\x5f\x8b\x35\x1a\x8b\xfe\xef\xa3\xfb\x46\x76\xe2\x7b\xb3\xb0\xef\xc5\xfa\x15\xcf\x7d\x5d\xb8\xf9\xc4\x96\xa0\x5e\xb1\x41\xad\x66\x32\xc3\x1c\x97\x32\xfb\x5e\xac\xbf\x42\x45\x0b\x66\x49\x45\xcf\x1e\xfd\xe5\xa7\xcb\xef\xc5\x5a\x95\x85\xbc\x16\x46\x66\xe2\x4a\xc9\x28\xe1\x25\x66\x78\x0f\x55\xb4\x9e\x36\x16\x59\x78\x01\x5a\xee\x43\xf6\xfe\xff\xba\x3c\xfd\xe1\xd5\x07\xc6\x35\xf4\xc8\x43\x0e\xd6\x7a\x53\x0e\x7e\x6d\x98\x8d\xb6\xe9\x7d\x6b\x43\x78\xd3\x30\xaf\xa9\x89\x62\x76\x7f\x3d\x06\xd7\xae\xbf\x45\x17\xeb\x42\x31\x39\xcd\xf2\x4d\x89\x6f\x05\x79\x21\x28\x28\x50\x40\x9d\x03\xc5\xac\x6b\x6c\x6d\x61\x45\xa7\xb0\x56\xcb\xe9\x9a\x45\x3c\x2f\xd1\xfb\xca\xcc\xcd\x00\x7a\x21\x5d\xe7\xe6\x1b\xd1\x00\xa7\x56\xf5\x06\xd0\xad\xcc\x1e\x2a\x8c\x76\xe4\xf2\x9f\x03\x30\xd1\x69\xa3\x5c\x8a\xa4\x60\x90\xc6\x11\xd8\x7d\x7d\x1d\xaa\x3e\x53\xfc\x46\xef\x98\xee\x4e\x49\xf4\x9b\x43\xd4\x63\x55\x06\x6f\x5a\xe0\x29\x46\xa9\x9e\xb5\x2c\x18\x90\xc6\x3e\xea\xfb\x29\x8e\x4c\x6c\x27\x6e\xe6\xf3\xd1\x66\x06\x60\xec\x7d\x67\x9e\x56\x85\xa3\xa2\xc7\x69\x55\xf8\xc4\xea\x83\xd5\x45\x75\xae\xc5\x3a\x96\xb7\x99\xab\xfb\xbd\x58\x9f\xc8\xdb\x6c\x73\xf5\xbc\x20\xc2\x61\xeb\xbf\xd5\x25\x9b\x1b\x54\x79\x50\xfb\xc7\x7c\x43\x55\x7d\x5f\x9c\x67\x79\x55\xba\xea\x97\xa6\x28\x68\xf2\x84\x31\x14\x4d\xe0\x7c\x31\x12\xc3\x8c\x9d\xfa\xb5\x58\xb3\x15\xcf\xe1\x72\xfd\x6a\xe8\xed\xef\x2b\x9e\x93\xf2\xb1\xf5\xc4\x1a\x3a\x6e\x5a\xe8\x01\x93\xec\x4a\xb5\xb7\x39\xa6\xaf\x5e\x2b\x3b\x9b\x4c\x66\xe2\x90\x9d\x24\x0a\x42\x6c\xf1\x6c\xcd\xa6\x69\xf9\x97\x82\x15\x22\x85\xd3\xb2\xaa\xb2\x2b\xe3\xe5\xf5\x15\x8b\xca\x22\xdd\xe2\x69\x79\xc8\xa6\x90\xf2\x96\xcd\xca\x22\x7d\x36\x4d\x4b\xb6\x12\x3c\x53\xd8\x96\xea\x6a\x6e\x37\xa8\x0b\xf2\x45\x7b\x5d\x20\x95\x41\x65\x24\xb4\xad\xb5\x2d\x9c\xb8\x2e\x7b\xa5\xc9\xa7\x71\x5a\x0b\xd7\x76\xbe\xc0\xd4\x8a\xec\x62\x99\x2c\xca\xad\xf3\x4c\x89\x82\x5e\xc7\x16\xe0\x19\xbe\x84\xf7\x39\xa3\x2c\x30\x4e\x36\x90\xc0\x1a\x6c\xc1\x07\xb6\x1f\xe0\x94\x20\x41\xbf\xde\x33\x22\x71\xd0\xd3\x1c\xb4\xe1\xd6\x52\x6b\x29\xc1\x06\xca\x9f\xa6\xd2\xa3\xe3\xe0\x68\x27\x7f\x44\x71\x08\x5b\xe7\xba\x94\x2b\x31\x14\x60\x8d\x9a\xa6\x36\xec\x58\xf0\xfa\xa8\xc0\x15\x75\xce\x0b\xf4\x88\xd7\xdd\xdb\x66\xd8\x1b\xb4\x55\x02\xcf\x37\xfb\xe9\x52\x4f\x5a\xdf\x33\x6a\xc0\xec\x6a\xf4\xa7\xcc\x0d\xa7\x40\xc3\xfa\xd3\x25\xdc\x47\x0a\x2d\x4c\x74\x57\x61\xf7\x34\xb6\xaa\x2d\x51\x7f\xd6\xa4\x1f\x9d\x64\xbd\x2c\x8c\xde\x0a\x2f\x40\x40\x56\x8c\xcf\xe5\x8d\xe8\x93\x8d\x3c\xf0\x9a\x39\xbf\x12\xac\xca\x87\xf0\x53\x9f\xf0\x5a\xef\xba\xfc\xa1\xde\x2d\xfc\x34\x46\x6e\xbd\x4d\x2b\x35\x7c\x95\x64\x95\x1a\xfe\xbb\x28\xa4\x01\xa3\x02\x8f\xf7\xc6\xae\x42\x13\xc4\x91\x7b\x1b\x52\x4d\xf8\x4c\xf0\xfa\xeb\xc7\x3e\xf6\xe6\x86\x85\x76\xb1\xb4\xa1\xaf\xc2\xb5\xe8\x13\xa4\xab\x41\x27\xba\xea\xbf\x4b\xb9\x6a\xc5\x08\x38\x5a\x33\x74\x7a\x57\xe0\x48\x00\xeb\xa3\x71\x67\x1a\xe1\x34\xb2\xe9\x2f\xd6\x43\xc0\x34\x83\xc5\x3c\x9b\xb5\x56\xc6\x6e\x5c\xb7\x5e\xe3\x60\x96\x33\xf0\xaa\x69\x05\x36\x8c\xf1\x13\x9e\x91\xe6\xd4\x7e\x7a\xc4\xd4\x7e\x6a\xad\x8c\xdd\xb8\x6e\x37\x4d\xed\x27\x73\x8e\x5a\xe6\x76\x0a\x2e\xf4\xc3\xd8\x50\xb4\x3c\x4f\x8d\xfb\xbb\xbe\x10\x78\x8c\xfd\x19\x5a\x9c\x28\x7a\xb0\x26\x33\x5b\xbe\x66\x59\xb5\x12\x45\x12\xc1\x41\x87\x6b\x13\xce\xb7\x7d\x97\xf4\xb8\x86\x80\x18\xb9\x81\xbe\x87\x71\x1e\x35\x3d\x60\x91\xbc\x29\x5a\x13\xcd\x58\x3c\x38\x4f\xaa\xfb\xbb\xa7\x89\x2a\xfc\x07\x8e\x13\x10\x46\xcd\x13\x40\x04\x0e\xf2\xa9\x07\xca\x72\x7c\xc1\xba\x9d\x9f\xef\x46\x07\x9d\x3e\xe3\xd7\x9c\xfd\xf5\xbb\xde\x80\x61\x7e\xff\xdb\x44\x09\xec\x27\x6c\xae\xaf\x3b\xbf\x8b\xce\xcf\x77\xfb\x8b\x4e\x6d\x86\xb6\x3a\xbc\xf9\x1c\xdb\xc6\xad\xf3\xc4\xf0\x33\x98\x64\xd8\x28\x2e\x35\x49\x89\x79\xc9\x1f\xa2\xcb\xd6\x98\xf5\xd4\x74\x70\xc4\x3a\x55\xb9\xd8\x3a\xa8\xdd\x23\x17\xa2\x74\x79\x6a\x97\x42\x8f\xc3\x71\x2d\x80\xc3\x9c\xa5\x82\x43\x7b\xa1\x22\x9e\x0b\x26\x0b\x48\xb7\x1e\x8e\xa6\x1b\xc1\x8a\x4e\xb1\x52\xdb\x91\xf7\x07\xd2\xf5\xb7\x7e\x42\x07\x4b\x63\x58\x2c\xdb\x96\xa1\x3f\xbe\x12\x25\xff\xa9\x9d\x8a\x18\x02\x66\xd4\xc3\x3c\x45\xb6\x03\x6c\x90\x35\x3b\x16\x1c\x08\x5a\xc2\x00\xff\x91\x56\x3d\x63\xa7\x17\x33\x08\x56\x91\xdc\xd1\x51\xc6\x20\xa4\x03\x53\x6f\x1a\xc7\x6c\x3c\x39\x30\xc0\xae\x32\xb8\x35\x44\xec\x85\xcf\xe3\x4a\x33\xf0\x77\x14\x39\x05\xfa\xa0\x0b\x77\xeb\x5a\xac\x07\x03\xf6\x8e\x27\xa5\x55\x3d\x18\xde\x8d\x18\x59\xb8\xe7\x84\x60\xb7\xc6\x4c\xd4\xdc\xd5\x8a\xaf\x95\xe9\x2e\xfc\xd7\x85\x33\x73\x2b\xb3\x4e\xc9\x6e\x65\x71\xcd\x6e\x45\x9a\x6a\xa9\x24\x4f\x79\x09\x11\x21\xc9\x69\xde\xeb\xae\xb5\x23\x96\x8b\x02\xeb\x73\x1b\x5f\x84\xbb\x98\xd6\x10\x90\x46\x03\x55\x89\xbf\x55\x5a\x50\x51\x83\x5e\xfd\xe4\x2a\x51\x82\x95\x2b\x44\x08\x59\xf1\x12\x0c\xa8\x81\x45\xd6\x0d\x13\xc5\xe2\x44\x95\x49\x16\xd1\xf1\x05\xfc\xea\xf2\xb4\x3c\x87\x8d\x65\x89\xc2\xbe\x90\x1c\xf6\x1a\x4c\x10\xa0\xd5\x3b\x0d\x9a\x23\xd6\xc1\x0d\x7c\x00\x83\x0d\x12\xf0\x48\xcb\x70\x0a\x1e\x4e\x10\xa7\xfb\x60\xb2\x26\x38\x98\xaf\xe7\x85\x8c\x2b\x08\xb6\x0a\xdb\x4d\x3c\x60\x10\x77\xd5\xae\xb3\xa8\xe0\xd5\x05\x23\x98\xf4\x0d\x8b\x01\x81\x68\xb0\x44\x8b\x28\xba\x80\x57\xa5\x44\x57\x71\x67\x13\x6a\xf6\xa4\xc9\xe0\x11\x08\x1e\x20\x52\x05\x58\xe3\x49\x72\x41\x67\x27\xa7\x2f\x61\x79\x24\x3b\xd9\xa0\x40\x00\x5d\x9e\x96\x5b\x8e\x24\xc9\x8c\xce\x09\x3a\x40\xbf\xb9\x60\x37\x64\x83\xc2\xa1\x73\xdb\x17\xa0\xa3\xbf\x62\xa7\xd2\x3b\x64\x53\x32\xec\x4a\x56\x18\x2e\xa8\x48\xf4\x7e\xf7\xf5\xd2\x6c\xc7\xfd\xda\xc8\x89\xd2\xac\x7f\x2e\x88\xcf\x2a\xa5\x1e\x6a\xc0\x2e\x74\xed\x4a\x69\x0c\x59\xf1\xb5\x66\x2f\x97\x3c\xcf\xd7\x4e\x6c\x45\xf3\x0c\xb0\xc8\xb4\x55\x16\x45\xa5\xca\x02\xa5\x6c\x66\xc2\x20\x25\x65\x47\xb1\x64\x95\x4b\x05\x8f\x11\x00\x1f\x89\x74\xc5\xce\x62\x00\x40\x5c\xe2\x88\xb4\x79\x0a\xa5\x63\x7d\xde\x89\xb9\xb9\x85\xef\x00\x91\x24\xba\x86\x53\xae\x0f\x53\x08\x21\x3c\xaf\x4d\x10\x1f\x5a\x18\x07\xc5\x7d\xdd\x2b\xf1\xa9\x22\x40\xca\x2b\x09\x4c\x60\x1f\x19\xd4\x2b\x51\x32\x6e\xc6\x40\xc6\xdb\x5f\x23\xb9\x6e\x98\x4d\xc6\xe3\x94\xc9\x12\xf7\x4b\xc4\x03\x50\x2b\x50\xc2\xfa\xa8\x98\x57\x57\x83\x48\xae\x86\xe3\xfd\x9d\x9d\xf1\x88\x35\xf1\xcd\xde\x37\x88\x78\x0f\x5c\x3f\x3f\x12\x59\xbe\x16\x22\x67\x65\xc1\xa3\x6b\x63\x40\x68\x24\x3c\xbd\x66\xb8\x2a\x4a\x88\x9c\x61\x5d\x4f\x32\x11\x09\xa5\x20\x42\xbe\x2c\xdc\x5d\x79\xdf\x0c\x5c\xb4\x20\xe4\xa1\x81\x2a\x1a\x82\x69\x65\x21\xec\xcb\xd5\x05\xa3\x40\xb4\x46\xe4\x6c\x9e\x94\x2b\x9e\x23\x2e\x21\xf5\x9b\x27\x25\x33\x8f\x22\x8a\x45\xb2\x28\x84\xca\x65\x66\xa2\x2c\x61\x6f\x4f\x53\x89\x2c\xc3\x53\x4d\x12\x20\x1b\xbe\x59\xa7\x3d\x66\x4d\x50\x1a\x69\x5b\xc4\x36\xe2\x66\x0b\xbb\x6e\xcf\xdd\x4a\xc4\x09\x47\x6e\xc6\x08\x56\x78\x3e\x68\x2a\x49\xc1\xce\x00\x94\xe2\x6f\x55\x72\xc3\x53\x3b\x26\x3b\x1d\x5c\x0d\xd8\x53\x0d\xa8\xa7\x2d\x4d\xcf\xc6\x03\x9f\xd7\xc7\xf1\xc8\x44\x12\x2c\x88\x8c\x50\xd7\xb8\xb0\xe3\x84\x6b\xb1\x63\x5a\x88\x33\xfd\xb3\x1d\x05\xbe\x93\x29\x59\xa6\xe4\x85\xb8\x49\x64\xe5\x91\xfb\x05\x0b\xa8\x33\x50\xfc\x93\xd3\xd9\xc5\xe9\x25\x83\x9c\xb3\xe8\x82\x14\x0f\xc0\x2f\x08\xbb\x3b\x39\x9d\xfd\x70\x11\x7e\xee\x87\xbd\x58\x4e\x30\x06\xce\xca\x1a\x8f\xa3\x36\x07\x76\x9a\x44\xfb\x0a\x94\x34\xb2\x6a\x70\x0c\x34\xd1\xa9\xd7\x6d\xab\x6d\xde\x05\x85\xe9\x05\x40\x41\x04\x41\xe4\x37\x67\x20\x22\x42\x9c\x29\xab\xa7\x4a\xf9\x1a\x47\x6a\xa8\xd2\xf4\x2f\xd3\xc8\x58\x17\xfe\x23\xe0\x4e\xb4\x18\xae\xa7\x23\xb2\xf2\xc4\xdc\xad\xfa\xae\x2f\x65\xfe\xb6\x90\x39\xbf\xf2\x03\x57\xa1\xca\xce\x63\x09\x48\xc4\xc2\xbe\x44\x20\x2b\xcc\xa6\xaf\x67\xa7\x2f\x0f\x41\x1d\x82\xd6\x9d\xdd\x0e\x96\x75\x7a\xfd\x1a\x0b\xa9\x89\x9d\xb9\xe3\xf5\x46\x9a\x5b\xde\x99\xfb\x46\x41\xf8\x2c\xcd\xaf\x80\x1c\x0d\x41\x2b\x50\x05\x8b\x7d\x99\xe8\x12\xa6\x05\x69\xd8\x6a\x7a\x03\x6b\x87\x0e\x8a\x86\x22\xc9\x30\xbe\x39\xdc\xbe\xb6\x2b\x3f\xc8\xfd\x06\x35\x43\x30\x07\x99\x09\x73\x26\x57\x32\x4e\x16\x89\x61\x67\x70\x2a\xaa\x5f\x8b\x03\xa7\x3b\xa5\x55\xc3\x17\x9c\xb9\x9d\xf8\x42\x8f\xdc\xa5\xbb\x63\xdd\xb3\x04\x1c\xc3\x2b\x27\x65\xc0\x34\x6e\x99\x5b\x84\x3a\x31\xac\x10\x46\x60\x54\x48\x6f\x66\x17\xe7\x7d\x8a\xa3\x40\x5f\xcd\xc2\x38\x38\x35\x99\xbb\x8b\x31\xf4\xc9\x03\xf7\xbd\x60\x3d\x0c\x14\xbe\x82\xb8\xc9\x58\xa8\xa8\x48\xe6\xb8\x7a\xa3\x31\x36\x06\xbb\x18\xdd\xcc\x74\x67\xc2\xc7\xeb\x4f\x4f\xdf\xce\xb6\x2e\x40\xb1\x7e\x66\x2c\x12\xf4\xe1\x7e\xca\x14\x3e\xe6\xb6\x2f\xcc\xe8\x61\x88\x73\xd6\xf7\x93\xdd\x5c\x5d\xb6\x61\x4b\x5d\x98\x39\x3b\x19\xd3\xaa\xca\x73\x51\x44\x5c\x09\x1b\x1f\x88\x26\xe8\x98\xe7\x6b\xb1\x8e\x38\xc4\xcb\x21\x23\x74\xdb\xc9\xde\x0e\xeb\x62\x74\xfd\xce\x7f\xed\xf4\xa0\xcf\xe7\xbb\xb6\xe8\x63\xa7\x47\x97\xe7\x7d\x03\xd9\xce\x1a\x03\xae\x40\xc1\xb1\xb7\x83\x51\x0d\xb3\xd2\x5c\x21\x2b\x7e\x2d\x14\xeb\xfc\xf5\xbf\x76\xac\xf8\x36\x1a\x75\x9c\xaa\x88\x31\xd6\xf9\xeb\x47\xf7\x71\xbc\xe8\x0c\x18\xeb\xbe\x96\xc6\xb5\x52\xe3\xe8\x32\xb9\x42\x2e\x94\x97\x6c\x74\x37\x5e\xe8\x41\x46\x77\x93\x91\xbb\x1b\xdd\xbe\xc1\x4e\x16\xaa\xf4\x20\x8a\x4b\x84\x48\x8a\x01\x9f\xed\xb6\xca\x13\x70\x7e\xf3\x36\x01\xd4\x82\xf1\x31\x66\xa3\xb9\xd4\xfd\x7c\x30\x06\x68\x55\xce\xe6\x6b\x2d\xfd\x34\x31\x67\x85\xdc\xbb\x9b\x47\x24\xb3\x45\x72\x55\x15\x78\x33\x29\x92\xae\x90\x65\xef\x03\xc8\xe6\x9d\xe0\xbc\xdb\xb9\x50\xac\xba\xe6\x49\x75\xc4\x4b\x78\xb2\xfe\xc9\xe9\xd9\xf4\xc7\x97\x97\x21\xfd\xa3\xc2\x3a\x01\x9c\xa1\x27\x67\x18\xc0\x4f\x32\x99\x97\xfa\xee\x80\x58\x96\x86\xfe\x07\x37\xbe\x13\x15\x52\xbc\xf0\x3c\x91\x9f\xc4\xb3\x58\x00\xa9\x29\x97\x96\x62\xe8\xc9\xbd\x9d\x5e\x5c\x84\x33\xd3\x25\xf5\x69\x91\xba\xd6\x21\x81\x16\xb6\x44\xa4\x79\x13\xb7\x0f\x8e\x0b\x99\xf1\xbc\xef\x04\x0a\x81\x5a\xd7\xef\xc5\x7a\xe0\x14\x05\x7a\xe6\x06\xb8\x24\xfb\x22\xe5\xa4\x77\x04\x7c\x11\x11\x83\xf0\x42\xea\xf6\x4c\x23\x22\xcc\xc6\x28\xca\x6e\xf6\x79\x49\x57\xf5\xa2\x4a\xc9\xe9\x99\x48\x56\x6c\xa4\x2c\x88\xc8\x87\x1c\x57\x52\x32\xcd\x14\x65\x65\x02\xc1\xf6\x55\x59\x24\xb9\x72\x07\xd2\x12\x3b\x4c\xc3\x43\x73\x31\xc0\x37\x80\x05\x36\xbb\x10\x1c\xe3\x6d\xd1\xa5\x70\x6d\x56\xab\x81\x7c\x71\xf9\xc3\xf9\xdb\x10\xca\x50\xd4\xe9\xf9\x37\x3c\xa8\x3e\x84\x73\x91\xe2\x51\x24\x8b\xd8\xeb\xb3\xa3\x91\x74\xcb\xa8\x58\xfc\x90\x95\xad\x57\xbd\xe7\x0c\x86\x3d\xb7\x45\x63\x77\x36\x57\x4d\x0d\x8c\x55\xc1\x04\x11\xed\x83\x37\xb5\xc1\x4d\x49\xbd\xff\x78\x79\x76\x00\xdd\xbe\x08\xc3\x2e\x87\xf6\x94\xf0\xa6\x26\x1a\x2f\x6a\xfe\x75\xea\x3d\x0f\xd2\xd3\x5c\xe0\xc9\xe3\xe4\x22\x4f\xaf\xc6\x4c\xcf\xb6\x47\x2d\x62\x46\xf8\x4e\x4a\x21\x31\x8d\x67\x0c\x78\x93\x1b\x9d\x3e\x48\x27\xee\xe6\x4d\x8a\xba\x5a\x41\x16\x6c\x5e\xcd\x49\x64\x43\x4f\x3f\x9a\x95\x7d\xfb\x7c\xcb\x95\x82\xfd\x42\xb1\xda\xc5\xd6\x49\x53\xf7\x42\x17\xcc\xd7\x3e\x06\xb6\x45\xdd\xa1\x97\xc4\xcf\xb6\xa3\xe0\x91\x72\x29\x95\xb0\x50\x5b\x9a\xb0\x80\x11\xad\xbe\xcf\xb4\x00\x83\x6a\x13\x23\xe3\xfb\xea\xcd\xfb\x5e\x59\x3d\x7c\xa1\x39\xb7\xbd\xbf\xd2\x44\x3c\xbf\x0e\x9a\xd9\xd1\x51\xfb\x83\xa8\x8f\x3b\xd6\xd8\xc5\x34\x32\xd6\x7d\xed\x8d\xd0\xea\x22\x9c\x0b\x44\x10\xeb\x6d\x4c\x19\x10\x3e\x6d\xda\x40\xed\x89\x8b\xcf\x0e\x76\x52\x58\xc1\x58\x65\xd8\xfa\xef\x93\x0f\x2e\xd8\x60\xb0\x52\xfd\xcf\x60\x63\xc3\xf8\x84\xda\xbf\x1f\x7d\xe8\x9b\xae\xdf\x8f\x3f\xb4\x47\x46\x6b\x5d\xee\xa0\xe5\xdd\xf6\x81\x5e\x03\x5f\x97\x96\x47\x68\x9a\x6c\x98\x33\x82\x30\x21\x3c\x7d\x06\x79\x82\x53\x06\xc8\xcb\xd3\x94\x14\x95\x36\xe6\x9d\xd4\x42\xa7\x96\x96\x7d\x9d\x8e\x09\x58\xf0\x00\x56\xd9\xb3\xd0\x86\x57\x9e\x21\xf6\x86\x1d\x6f\xba\x9b\x78\xef\xbc\x34\x15\xb3\x86\x77\xf0\x96\x0f\x09\x84\xa2\x12\x13\xa9\x80\x8f\x0d\xa9\x08\xae\xd0\x4f\x5a\xcb\xa0\xf3\xaa\x64\xb7\x82\xc5\xd2\x18\x49\xbc\xe2\x91\xe1\x5c\x35\xa3\x06\x4e\x7f\x70\x57\x84\x3e\x86\x3c\xcf\x49\xe5\xac\xd6\x59\xb9\x14\x25\x3d\x52\x80\x54\x01\xfa\x2f\x94\x6e\x1f\x80\x89\xff\x54\xbd\xc1\x71\xea\x0b\x72\x75\xaa\x9f\x23\x72\xa8\x52\x79\x9a\x94\xdd\x4e\xa7\x37\x58\xc8\xe2\x94\x47\xcb\x6e\x48\xa0\x03\x4b\x10\xf7\x1a\x6e\x2b\xf4\x36\x80\xd6\x68\x0c\x3c\xc8\xde\xbb\x0e\xfb\x9e\xdf\xb2\x0c\x93\xb5\xc3\x1a\x2a\x6a\xe4\x39\xa2\xbb\x70\xa0\xef\xcf\x19\xa5\x0b\xe8\x8a\x01\xb0\x9e\xce\x10\x56\xde\x8a\xe2\x7b\xa8\xae\xaf\xd4\x52\xbe\xd4\x05\x33\x8e\xb6\xec\x08\xa1\xae\x80\x97\x28\x5d\xeb\xd3\x27\x26\x40\xbd\xff\xbd\x58\xf7\x34\x79\xe9\xba\x0e\x8e\x58\x27\xea\xe8\x1a\x41\xd1\x4d\xa7\xe7\x59\xdd\xbd\xc9\x30\x7a\x98\x70\x7a\x46\xd6\xd5\x78\xa4\xff\xd4\xac\x63\x8f\x0e\x0d\xbc\x05\x2c\x12\x7d\xe3\x40\x36\x45\x99\xaf\x87\xee\x9d\x5a\x77\xf5\x52\x40\xec\xeb\xe0\x75\xdb\x48\xad\xe6\x92\x31\xe7\x6a\x2e\x96\xfc\x26\x91\x15\xbe\xaa\xd7\x6d\x94\xd1\x7d\x0e\xb5\x38\x96\x64\x86\xba\xe6\x23\xd6\xf1\x34\xf8\x1d\x5d\x4b\xd8\x1c\x0c\x90\x9c\xca\x0f\x96\x06\x29\xb7\xae\x64\xc9\x50\xed\x24\x20\x7e\x08\xe8\x00\xf5\xdf\xe2\x2e\xa7\xd8\xa1\xb5\xa3\x4f\x3a\x1a\x9e\x99\x8e\x7c\x55\x3b\x9c\xa4\xa4\x64\x71\x12\x67\x9d\x52\x1f\xa8\xa4\x24\xc9\xe7\x56\xb0\x15\x98\x10\xcc\x05\x06\x1d\x60\x6f\x2e\x4c\xba\x38\xdb\x55\x66\x02\x6e\xb3\xf3\x57\xa7\x14\xba\xce\x44\x4d\x01\x63\x2b\x9c\x21\x80\xd3\xe8\x5a\xe0\x05\x63\x2b\x4d\x50\x0d\xa9\xbb\x21\x40\x16\x66\x17\x4c\xf9\xa5\x1f\xe7\x05\x56\x0d\xfa\x7f\x50\xb7\x2f\xc8\xd4\x46\x8b\x56\xeb\x3c\x89\x80\x5c\x00\x79\xf0\xde\x27\xf0\xae\x35\xdd\x41\x7c\x79\x7f\x03\x4a\xc9\x44\x02\xdc\x81\x51\xfa\x6b\xce\xa1\x03\xaa\xfa\x8e\xb3\xd7\x8c\x96\x1b\xd1\x9e\x54\x39\x5e\x5a\x8c\x2f\x1c\xe3\x6c\x2c\xee\xa1\x7d\xb4\x6c\x1e\x03\xc6\x88\xc3\x8b\x96\x7e\xea\x8d\x51\x8f\x3d\xd3\xe2\x10\x1c\x3c\x2f\x99\xa3\x87\x1b\xdf\x1c\xb1\xed\x89\x35\xa4\xd7\xfd\xbb\x8f\x01\x06\x46\x4b\xef\x56\x6e\x27\x2f\xdd\xb6\xa5\x45\xcb\x5e\x8f\x08\x56\x9d\x99\x7f\x01\xa5\x35\x05\x53\xcd\x05\xe7\x2d\xb6\xb1\x47\x26\xd0\x7f\x65\x32\xdb\x02\x3b\x18\x23\x00\x5a\x9f\x43\xb8\x05\x96\x90\x30\x67\x35\x4f\x32\x63\x20\x45\x2a\xc7\x5c\x4f\x5f\x81\x00\xde\xe1\x79\x4e\xa1\x92\x07\x8b\x2a\x4d\x29\x3e\x90\xf1\x86\x39\x55\x51\xa7\x6f\x58\x46\x0a\xca\x0d\x59\x71\x65\xb9\xb4\x44\x01\x3e\xea\x3f\xaa\x9c\xc8\x65\xff\x09\x49\x5f\xa7\x17\x33\x92\x76\x57\x3c\xc9\xb4\x64\x02\x57\xb0\x9e\x4c\x92\x31\x37\xa0\x99\x99\xbe\x57\x4c\x5c\xea\xfb\x49\x2e\x01\x13\xdb\x4d\xf3\xfc\xb5\xcc\x66\x65\x91\xc2\x9b\x3e\x41\x78\xe3\x95\x12\x46\x9a\xfd\xf4\x89\x85\x25\x10\x4b\xb7\xb5\x94\x20\xd5\xab\x91\x29\x42\x57\x8f\x0a\x37\x90\xb7\x6d\xf7\xf5\x36\xdf\x73\xa5\x80\xf9\x59\xcb\x12\x36\x29\xb5\x1f\xe8\x0e\x6d\xc8\x36\xba\x27\xd3\x01\xd4\xc4\x72\x7c\xe0\xa1\x7a\x7d\xa0\x96\xc2\x2f\xd9\xff\xe8\x8e\xd9\xd7\x5f\xeb\x6e\x8c\x7a\x9e\x6d\xb1\x71\xcf\x99\x77\x07\xfd\x4f\xf6\xbd\xfe\x1f\xb3\x8f\x5d\xb1\xf9\x96\xd6\xd2\xf2\x6f\xb8\xa4\xc1\x48\xef\xcf\x00\xc2\x27\xf6\x2f\x80\x81\xe3\x1f\x4e\x84\xf1\x1d\x22\x1b\xbd\x01\x16\xaa\xf7\x76\x98\x0f\x16\x35\xf1\x53\xdd\x5d\xe8\x96\x17\x59\xb7\xf3\x5a\x32\x48\x9f\x94\x58\xbd\x32\x35\x47\x03\xff\x3a\x65\xae\xdd\xcd\x64\xe3\x69\x92\x93\x90\xd4\x88\xb6\xa4\x57\x92\x84\xf7\x4a\xd9\x34\xd9\x85\x50\x32\xbd\x11\x31\x2a\xe1\xc3\x0c\x22\x2d\x5e\x51\x9e\xaf\x16\x38\xc1\x5a\x87\x38\xef\x3a\x37\xc9\xc4\x9c\x7a\xa3\x16\xad\x81\x0a\x33\x8c\x7c\x60\x54\x73\x56\x65\xc5\x4d\x47\x2e\x5f\x41\x9c\xa8\x1c\x62\xae\x26\x65\xa3\x45\x2c\x16\xa2\x50\x46\x5a\x0f\x14\x60\x7d\xd3\x13\xad\xd2\xbc\x0b\x82\x66\x6a\x60\x9c\xc2\xda\x00\xc0\x57\x82\x9c\xc6\x20\xa6\x3c\x8e\x74\x44\xfb\x6c\x9c\xca\xcc\xc5\xa8\x81\xed\x60\xad\x79\x1f\x33\x73\xeb\x73\x6a\x7b\xc0\x5f\xc0\xd4\x66\xdd\x05\x4f\x35\xc4\x96\x3e\x7b\x2f\xfa\xd4\xff\x87\x1e\x8d\xad\x3b\xb7\xbd\x1e\x19\xc5\x9d\x66\xa6\x6c\xd8\x02\x7a\x54\x68\x8c\xe3\x76\xc7\x56\x09\xbd\xe0\xb0\xa6\x8f\x37\x4e\x17\x4b\x6f\xba\xa0\xf5\x2b\x92\x3c\x15\x5b\x14\xbe\xa7\xdb\x39\x3a\x3a\xea\xf4\x98\xcc\x45\xc1\x4b\x59\xe0\x73\xaf\x2a\x31\x56\x51\x52\x9a\x17\x4b\x8c\x59\xab\x50\xe5\x51\x72\x7d\x01\x81\x36\xad\x88\x91\x73\x43\x9b\x86\xab\x4a\x2d\xf5\x05\x74\xe5\x94\xa8\x54\x1d\x75\x58\xf0\x09\x7b\xd3\xe0\x65\x69\x52\x8a\x82\xa7\x41\xc4\x1d\xc3\x43\x95\xd2\x18\xfe\xbb\x90\x45\xf3\x35\x66\x00\x81\x3d\xc4\x07\x1e\xeb\x35\xd7\xf2\x00\x35\xc0\x2a\x86\xd3\x37\xd0\xbe\xaf\x05\xd5\x31\x4d\xde\x4e\x2f\x2e\xee\xad\xaf\x2b\x98\xca\xa0\x71\xbb\xb7\x36\xd4\x08\x1c\xe0\x0a\x88\x32\x67\x2f\x36\xd3\x95\xe6\x7b\x8f\xea\x66\x11\xdf\x92\x9d\xc5\x21\x33\xbc\xba\x4d\x12\x8e\x56\x13\x8d\xfa\x8e\xa9\x0f\xc5\x96\x43\xf7\x87\xcd\x92\x9b\x99\x23\xbe\xb5\xd2\xc8\x7b\x2b\x98\xaa\x0a\xcc\x22\xe1\x94\xae\x96\x27\xb2\xea\x74\x78\x19\x7c\xfa\x7e\x30\x18\x7c\x78\xea\xe2\xfa\x5b\x65\xfb\x11\xfb\xa2\x3b\xfc\xeb\xcf\xef\x7f\xbe\x7d\xf6\xf3\x87\xff\x3c\x84\x5c\x2b\x5d\x3c\x14\x03\xec\x92\xc8\xb7\xba\x4d\x20\x04\x73\x68\xeb\x6b\x09\xaa\x66\xce\x3b\xc6\x20\xb9\x73\x68\x0f\x93\x3f\xd6\x97\x5f\x5a\x90\x7e\xf9\xa5\x06\x61\x10\xd2\xde\x34\x76\x53\x27\x63\x63\x18\x6c\xc0\xd8\x3b\xc1\xa2\x54\xf0\x02\xf4\xe0\xfe\x33\x10\x3d\x79\x38\x89\xc4\x68\x6d\xf1\x19\xf6\x96\x27\x25\x2a\xf8\x85\x7d\x37\x80\x3b\x28\xb1\x20\x8d\xed\x0d\x6a\x23\xde\xdb\xbd\xb7\x59\x0f\xe0\xb4\xc3\xbe\x7b\x45\x9f\xe1\x7f\x4a\xcf\xe7\x81\xc2\xda\x50\x6f\x86\x45\x4d\x4c\xb7\x9a\xb9\x3a\x67\x31\xe9\x79\x79\x4b\xfe\xe0\xb4\x8c\x19\xf8\x1f\x9f\xd5\xf8\x8f\xce\xca\xf3\xb2\x32\x94\xd1\xc8\x19\xd8\x9d\xe9\xbf\x8d\xc2\x52\x95\x8e\x9f\x46\x01\x68\xb7\x43\xaa\xb6\x66\x7a\xe5\xf5\x26\xfa\x9c\xdd\xd7\x46\x7f\xef\x34\xd3\x35\xdc\x4f\xf7\x1d\x8d\x3f\x5f\xe8\xb3\xcc\xd5\xf5\x05\x31\xc3\x10\x7c\x5c\x8b\x8f\x5d\x4a\xed\x63\x3b\xe8\x69\xe9\x19\x71\x1e\x28\x2a\xd8\x7a\xe3\xe3\xd9\x13\xc2\x6d\x74\x68\xe6\x51\x24\xab\xac\x24\x41\x84\xd0\xd8\xbc\x6b\x00\xca\x5b\xe3\x50\xd2\x80\x69\xa9\x3b\x81\x50\xa2\x4f\xe8\xa2\x2f\xb4\xac\x3a\x70\xd9\x86\xac\xd7\x0b\x88\xc5\xf0\x8e\xad\x3b\xf7\xac\xb1\x2f\xf9\xdc\x3c\x0b\x7a\x66\xa3\xd8\xdf\xd3\xd9\xc5\x39\xfb\x77\x4a\x2c\x01\x7f\x8c\xd9\x0b\x36\x61\xff\xfe\xd4\xdc\x06\xb8\x9a\x23\x2d\x16\x04\xd0\x00\x3d\x85\x11\x14\x02\xf6\x4e\x9f\xc9\x23\x82\xb6\x65\xc8\x2c\x33\x86\x9c\x06\x34\x3c\xf4\x7a\xe8\xeb\xd9\xe8\x49\xfc\x62\x07\xfd\x85\xcc\xa0\xe6\xf2\x86\x74\x33\x9a\xd4\x1c\x1a\xac\xc5\x8e\xc0\xdb\x81\xa7\x25\xfe\xa5\xf7\xfc\x10\xfe\xd7\x3b\x69\x67\x45\x8e\x1d\x86\x92\x1b\x3f\x0f\x70\x29\xc5\xdf\xbb\x34\x71\xc7\xf2\x52\x25\x8f\x5b\x9b\x05\x44\xcc\xbe\x30\xcd\x93\x52\x31\x25\x51\x17\x99\x75\x4a\x08\x90\x5f\x4a\xf0\xf9\x10\xc1\x53\xbd\xe3\xd6\x70\x13\x1d\x24\x20\x54\xa6\x39\x8b\x78\xfc\x56\x81\xc1\xde\x46\xfe\x2b\xcc\x0e\x64\x91\x9b\x66\x3f\xf0\x4e\xe8\xef\xe6\xc0\xb4\xec\xdc\x45\x9b\xb9\x80\xc6\xf4\x99\x03\x9a\xa7\x6d\xd0\xd3\x7f\xb4\xaa\xcb\xcd\x83\x18\x04\x0f\xde\xef\xc8\xb4\x33\x30\xda\x09\x7a\x40\xeb\xb7\xcd\x16\xaf\x56\xa3\x77\x9e\xd9\x2f\xfd\xd0\xf2\x15\x0f\x04\x84\x79\x33\xd1\x7f\xb1\xa9\xbd\x6d\x9c\x09\x17\x1c\x65\x97\xc1\x29\xcc\x62\xdf\x92\x56\x6a\xe6\x65\xbd\x5e\x39\xf3\x30\x7c\xbe\x12\xc2\xa4\x61\x4c\x79\x74\xcd\x56\xfc\x2a\x89\x06\xe1\x26\x1a\x1e\xc8\x81\xd6\x71\xb8\xc0\x40\x7d\xfa\xb4\x89\xeb\xfd\xc2\x10\x63\x5d\x47\xef\xc8\xa7\x4f\x80\x51\xbd\x5e\xa8\x4d\xb4\xe6\x40\x89\x0a\xf4\xec\xde\xdb\x2e\x65\xa5\x23\x88\x41\xda\x2a\x4c\x0c\xe8\xb4\x89\x55\x16\xbc\xd4\xda\x48\xab\xe1\x8b\x1c\xe9\x14\xc5\x9d\xbe\xd6\xe1\x41\xd0\x77\xaf\x1b\x78\xb3\x02\x9b\x4b\x9e\xd5\xfa\xed\xeb\xf2\xf6\x77\x67\xd4\x77\x9b\xf4\x5d\xa6\xa7\x88\x67\x68\x62\x09\x16\xc6\x95\xfe\x06\x54\x10\xad\x1f\x22\xda\xdc\x04\x5e\xc8\x5b\xd5\x8e\xf3\x54\x46\xd7\xb0\x55\xc4\x36\xeb\xed\x72\x26\x04\xc8\x97\x6a\xce\xab\xef\x62\x7b\x52\xa0\x41\x78\x90\x36\x9d\x05\xf4\x82\x2c\xcc\xb2\x6b\x5c\xa6\x04\x7d\x68\x2a\x42\x8b\xec\xd0\xa8\xce\x59\xcd\x1a\xa9\xd5\xd4\x43\xcb\xec\xeb\x4c\xde\x92\xe4\x5a\x16\x6b\x12\x5d\x13\x93\x58\x43\xd4\xf8\x2a\xd0\xe8\x9a\xce\xcc\x13\x2a\xa0\x62\xb8\x5f\x1b\x35\xda\x1e\xca\x01\x08\xec\x2d\x9c\x86\x84\xcc\xa3\x5d\x35\xb9\x70\x80\x54\xeb\x9f\x20\x18\x7a\x6a\x84\x87\x05\x43\xff\x84\x04\xbc\xb2\x49\x9c\x7c\x74\xc4\x26\x8d\xf1\xc2\x9a\x94\x27\xb7\x8b\x74\x1b\x93\x86\x8f\x7a\x7d\x36\x76\x54\xf0\x37\xa8\x4b\x9b\x10\x45\xd1\xaa\xf5\xed\x95\x6a\x7d\x11\x2e\x24\x04\x9d\x96\x74\x51\xea\x6b\xc4\xe6\x43\xa5\xc9\x39\x65\x4d\xe5\x14\x74\xa3\xc3\x9e\xb1\xff\x76\xf1\xe6\xf5\x00\x5b\x25\x8b\x35\x8d\xd3\xdb\xa8\x36\xb9\xd0\xb8\x1d\x22\xb5\x49\x5a\xd5\xf4\x10\x76\x0c\x8e\x4a\xc0\x5c\x0d\xec\x04\xaa\x15\x0a\xd0\xd8\xa1\xed\x66\xc9\x95\x65\x96\x20\x56\xfc\x3d\x1c\xd3\x80\xa0\xd2\x76\x2d\x1e\x31\xc7\x69\x3a\x28\xd4\xd1\xd2\x63\x26\x37\x74\x02\x7c\x67\x80\xdd\xbf\xa1\x31\x32\xa0\xd4\xba\x7e\x9d\xd7\x0e\x93\x41\xab\x51\x9f\x4d\x7a\xd0\xfa\xe7\xbb\xf1\xfc\x3d\xdc\x91\x5d\xa2\xdf\x1e\x45\x07\xe4\xf3\x49\xf9\x65\xa8\x17\x32\xd6\x50\xee\x8d\x07\x0d\xbb\xb3\x18\x32\xb2\x72\xc5\xca\x22\xb9\xba\x82\xb4\x96\xce\xf2\x12\xe8\x01\x58\x76\x45\xa8\x12\x73\xef\xcd\x66\x87\xe0\xc6\x5d\xf1\x35\xde\x5f\xa5\x44\x63\x46\x5f\xc9\x54\x4a\xd3\x55\xab\xf1\x21\x91\x4f\x45\xd9\xae\x93\x72\xe0\x94\x47\x2b\x19\x7b\xa7\x16\x0f\x18\xdc\x65\x21\x00\x3c\x01\x66\x25\x63\xcd\x03\xbd\x98\x74\x82\x27\x7b\x8f\x0d\xf9\x82\xfa\xb9\xb7\xf9\x76\xb3\xb9\x1d\xdd\xf4\x53\x13\x6e\x5c\xe3\x9d\x66\x63\x4f\x5a\xf6\xc6\xd7\x32\x4e\xb3\xf9\xee\x3d\x63\xfb\xfd\x04\x62\xb7\x69\xbc\xb7\x71\xdd\x7e\x53\xc4\x96\x46\xe3\xfd\x87\x57\xbd\x71\xd1\x07\xa6\x6d\x9d\xca\x7a\x94\x74\x3b\x50\x13\x80\x47\x06\x29\xaf\xb4\x9c\x61\x1d\x7d\x90\xf9\xfa\xbb\x28\xa4\xb3\x4c\x55\xac\xca\x52\x7d\xa5\x9b\xfb\x7f\x50\x27\xca\x78\x3e\xc6\x9a\x7a\xe9\x39\x3d\x63\xe1\x39\x9a\x18\x82\xdc\x96\xfc\xf3\x0d\x7a\x7d\xf0\xf4\x96\xaf\x69\x78\x5e\xb2\x54\x70\x85\xc6\x95\x76\x1a\x8d\x51\x1b\x87\x35\x5c\xf4\x16\x1b\xf7\xcc\x84\xa8\xa9\x6b\x6e\x5a\x35\x9b\x78\xa0\x6c\x64\x16\x6c\xb2\x77\x0e\xaa\xbf\xe3\x86\xa2\x96\x2d\xd2\xba\x39\x84\xce\x8e\x75\x43\xbf\x23\x07\x5a\xd3\x86\x5e\x30\x6d\xd3\xf0\x21\xd3\xd5\xc5\x61\xf1\xe9\x72\x6f\x07\x11\x2c\x16\xec\xeb\x23\xf6\x7c\xd7\x9f\x87\xb7\xb4\xd6\x77\x49\xdd\x68\x8b\xed\xed\x78\x5d\x7f\x7e\xe2\xff\xf4\xd1\xf2\x3e\x71\x04\x5f\x79\x9d\x20\xe2\x61\xaf\x97\x64\xd4\x5b\xa2\x11\x89\xda\x1e\x6a\x1f\x39\xf3\x5e\x70\x72\xb4\x9c\x23\xb4\x68\x97\x43\x80\x8d\xb4\x1c\xd6\x5d\x1c\x21\xcb\x59\x62\x2d\x34\x57\x3c\xb7\x6f\x15\x5c\x39\x5d\xaf\xe9\x0d\xaf\x71\xdf\x87\x14\x12\xa5\x15\x36\x4c\x60\x8c\x52\x15\x8c\x63\x7b\x72\x52\x90\xa3\xdf\xd1\x52\x44\xd7\x6d\x53\x1a\x58\xe0\xde\x0f\x5d\x7a\x4f\xef\xb1\x4f\x9f\xec\x3e\x81\xda\xc6\x36\xa9\x75\xdc\x6b\xc1\x6d\x32\xe7\x7d\xe6\xa9\xe1\xeb\x46\x54\x1b\x9e\xb4\x89\x8d\xf9\x2d\x31\x6a\x3e\x5a\xd5\xc0\x86\x60\x35\xbb\xff\x41\x82\xd5\x98\x44\x27\xe0\xc1\x03\x6f\xee\x85\x5c\xb5\x28\xd0\xdf\x82\x1b\x25\xe4\x62\xe4\x99\x63\xac\xd0\x9c\x2c\x10\x66\xcf\x40\x41\x7d\x8b\xeb\xb0\x91\x32\xcc\x4a\x42\xe5\x13\xb8\xc1\x99\x77\x78\x78\xdb\x6c\x0f\xc0\xc1\x54\xe9\x3c\x88\x14\xe4\x14\xa7\x1b\x62\x5e\x25\x69\xb9\x95\x64\x26\xb6\x47\x0e\x9b\x82\xc1\x97\x3b\x60\x38\x99\x25\x11\xdc\x59\x68\xa2\x02\x5e\x7b\x64\x1e\x7f\x83\x2f\x27\x73\xb1\x29\x82\x07\x1a\x38\xb7\x3e\xb9\x1e\xbb\x10\x20\x6d\x06\x6e\x66\xdd\x1f\xd9\x11\xc4\xcd\x0c\xd2\x24\x40\xee\x14\x30\x72\x31\x48\x74\xdf\x08\x41\xfc\x51\xc1\x0b\x6f\x44\xf6\xc8\x21\xa7\x71\x4c\x91\xde\x8d\xba\xc7\x04\xa8\x5e\x80\x97\x1a\xb2\x58\x9e\x6a\xc4\xec\xb6\x61\xb1\x21\x81\xbb\xc2\x24\xfd\x28\x58\x3b\x1a\x61\xfa\x7a\x05\xec\x5a\x2e\xa2\x64\x81\x86\x72\xd4\x89\x62\x25\xbf\x06\xcb\xea\x48\xc4\xc8\x31\x02\xe0\xc1\xcc\x15\x5d\xe3\x92\x34\x8e\x78\x11\xab\x01\x63\x7f\x49\x6e\x30\x63\xb9\xc5\x1c\x3d\xad\xa7\xa0\xa5\x9c\x3e\x05\xc6\x14\xff\xf8\x6a\x6b\xfa\xb4\x4f\x99\x01\xec\x67\xd2\xf4\xa3\xea\xc6\x94\x7a\xbd\xe1\xf4\x21\x6b\xb5\x25\x97\xae\x3b\xa0\x93\x18\xef\x2b\x86\x1c\x50\xed\xa1\x8f\x5a\x8e\xc5\x67\x6f\xbd\x7e\x03\xa4\xb1\xff\x1f\x7b\xef\xda\xde\xc6\x8d\x24\x0a\x7f\xcf\xaf\x80\xb5\x67\x43\x32\x26\x29\x51\xbe\xd3\x51\x66\x65\x59\x4e\xbc\xbe\x48\x2b\xca\xf6\xec\x48\x8a\x5f\x90\x0d\x92\x3d\x6a\x36\x38\x8d\xa6\x28\x26\xf1\xfc\xf6\xf7\x41\x55\xe1\xd6\xdd\xbc\x29\xce\xec\xcc\x9e\xe3\x67\x37\x43\x75\xa3\x0b\x40\xa1\x50\x28\xd4\xf5\x37\xb3\x5e\xbf\x2d\x33\x4c\x7d\xa1\x1d\xb5\x21\x1d\xf0\x28\x7a\x61\x35\x95\x96\xfc\xdc\x10\x8c\xb8\xe1\x5c\xf3\x9c\x62\xd3\x24\x8c\x07\xcf\xbb\x58\xe5\x45\x5d\xe7\xe7\x0b\x07\xa7\x64\x65\xd7\x1f\x18\xd6\x5b\xe5\x9b\xab\xdf\x57\x79\xe4\xba\xaf\x2f\xe2\xab\xb6\xd7\x01\x2c\x85\xc3\xa3\x37\x87\x86\x7f\xce\xbb\xe1\x13\x0c\x77\x9e\x5b\x63\x83\x7f\xa8\x7b\xd7\xa6\x82\x7a\x36\xd4\x77\xda\x83\xba\xa4\xfd\x77\x3d\xfe\xea\xc6\xd4\x65\x65\x1c\x77\xe9\x7f\xbf\x78\x37\x92\x7b\x3e\x9e\x8a\xdb\xb3\x0a\xbf\xec\x80\x5d\x50\x83\xab\xe5\x3e\xc5\x2b\x41\xb4\xa7\x33\x35\xb6\xb3\xb5\x02\x1c\xac\x88\x92\x59\xee\xd2\x69\xf3\x26\xeb\xfb\xc8\x25\xeb\xf5\x52\xe2\x86\xcf\x8f\xe4\x64\xca\x33\x51\xf7\x44\x2f\xc6\x78\xdb\xc7\x47\xdf\xfb\xcb\x0a\x5c\x5f\xc2\xa2\xcf\x21\x4f\xb2\xc9\xf0\xed\x66\xd7\x77\x4f\x8c\xeb\x9e\x91\xc3\xbd\x16\x63\xe4\xd0\x6c\xa5\x2e\x89\x2d\x4d\xd6\x6e\xb7\xbf\xf8\xee\xcc\x10\x54\x83\x73\x38\xe5\x99\xf1\x64\xd6\xbf\xf0\x5e\xc9\xa7\xa4\xbf\x4c\x73\xc9\xdc\xe4\x94\xcd\xcb\xa5\x21\xe9\xce\x20\x04\x49\x61\xbb\xd2\x06\x76\x3b\xb6\xc8\x1b\x4c\x59\x8a\x09\x9f\x6e\xbd\x8b\x83\x53\x64\xc2\xa7\x6e\xdf\x86\x69\xa9\x70\x62\xf5\x82\x6f\x3c\xce\x8a\xd9\xef\x18\x9b\xb6\xb5\x60\x01\x66\x5e\xaf\xac\xba\xb9\x48\x11\x6d\xb8\xf2\xbc\xcc\xdd\xfe\x0f\xd8\xb4\x0d\x48\x7b\x23\x16\x3d\x7a\x68\xeb\xd6\x9b\x22\xbd\xe2\x36\xb0\x0c\x7a\x79\x79\xc5\xad\x5d\x78\x7d\x6b\x88\xd3\x99\x28\x5d\xff\xee\x4d\xdb\xb1\x3a\xa2\xba\x2b\xf5\xc6\x32\x50\x53\x93\xea\xf7\x18\x7c\x55\x45\x64\x8a\xfc\x99\xb1\xa2\x46\xca\xfc\xd5\x58\xdd\xb1\xc1\xc8\x84\x4f\xf5\xe6\xb9\xf2\xd0\x12\x58\x3e\x7c\xa4\x58\x16\xe1\x50\x42\x76\xc0\xff\x05\x08\x41\x41\xdc\x52\x60\xbd\x3a\xf7\x99\x61\xcb\x16\xa8\x3d\x59\x9e\x17\xf7\xf3\x99\x09\x1d\xb2\xbb\xd9\xea\xfa\xe0\x99\x50\x39\x1d\xbc\xa1\xe7\x92\x31\x04\x62\xd9\x36\x70\xaa\xd4\x02\xe4\x2c\x49\x5c\x35\x67\xc8\x31\x80\x5f\x2f\xdb\x76\x06\xcc\x61\x6a\x72\x10\x82\x68\xc1\x8d\x61\xd1\x45\xd2\xeb\xed\x0e\x4a\x04\x13\x47\x33\xd1\x82\x8b\x29\x92\x47\xcd\x62\xa1\x5c\xf4\x22\x25\x08\x74\xda\x71\x88\xd0\x04\xe7\x61\x03\x34\xe5\x13\x41\x55\xa8\x26\x33\x3b\x53\x94\x71\xc0\xf5\x0c\xf5\x67\xcb\x79\xac\x83\xbd\x21\xf7\x70\x26\xc9\x82\x0c\x00\x86\x36\xcb\x40\x96\x1e\xf1\xba\x59\xd9\x8b\x0e\x0e\x2e\x4f\x9b\xeb\xfc\xd6\xb6\x39\xee\x43\x89\x23\x38\xb2\xbd\x23\xb9\x4a\x0e\xd0\xa3\xb2\x93\x28\x24\x21\xa7\xcf\xac\x52\x34\x18\xe1\x16\x57\x37\xbc\x1b\xff\xaf\xce\x32\x4a\xee\x4e\x7e\xa6\xd1\x73\xcf\xcc\x46\x77\x25\x58\xd3\x31\xa5\x08\x32\x69\x47\x73\xf0\x61\xe6\xf6\x3e\x28\x87\x2e\x05\x01\xa4\xde\x00\x0f\x4c\x56\xe7\xd7\x98\x94\xc9\x39\x56\xaa\x06\xee\x0b\xfd\x58\x03\xf3\x5c\x2e\x73\x91\x24\xc8\x07\x0a\x69\x3f\xa9\x00\xad\xbe\x2e\xda\xe0\x03\x9b\x3c\xcf\x3f\xde\xc9\xfe\x0a\xa9\x85\x86\x90\xb2\x4b\x61\xc4\x80\x3e\xc0\x4d\x42\x88\x52\x80\xb1\x82\x38\x20\x32\x02\x6a\x58\xce\x23\xc8\xb7\xfe\x86\x31\x08\xcd\xa2\x26\x85\xa2\xc2\xe7\x99\x4c\x47\x56\x0b\xfe\x9d\xc1\x62\x93\x5c\x95\x32\xac\xe6\x65\x4d\xb9\x2e\x74\x4f\x79\x0e\xeb\x2f\xe3\x21\x04\x74\xe6\x94\xc1\x41\x35\x99\x9a\x0d\xc6\x7a\x0e\x2f\x6f\x64\xc6\xaf\x83\x99\x06\xc9\x53\xa1\x2f\x98\xab\xc4\xa0\x25\x82\xc0\x72\x1b\xd2\x00\x37\x4b\x83\x3f\xc6\xd1\x79\x4c\xa6\x61\x64\x22\x85\x65\x80\xc7\xe0\x2c\xeb\x43\x24\xf1\x77\x46\x33\x3f\xe3\x09\x4d\xd9\xc3\xbf\xe6\xc1\x94\xfa\x26\x56\x4a\x4b\x47\x30\x30\x2f\x4a\x5f\x5f\xec\xc1\x2d\xed\x43\xcf\x76\xa4\x18\x54\xb4\x47\x27\x7a\x7c\xf2\x8d\x49\x24\x03\x7a\xa6\xb0\x66\x99\x4d\xa5\x86\xc1\x29\x1c\x6d\xe0\xba\x6f\x70\x74\x44\x8b\xac\x89\x11\x99\xf0\x05\xd6\xd3\xbd\x21\xd3\x2c\x58\x88\xf5\x21\x46\xab\xe2\x8f\xde\x53\x21\x7b\xbc\xd8\x5a\xb4\xf5\x4e\x00\x8b\x2d\x8c\x60\x59\x32\x5c\x0d\x0b\xf2\xe1\x36\x31\xcd\x02\xde\x26\x4d\xa5\x50\x41\x36\x8d\x38\x4f\x44\xc4\x76\x0e\x29\xb1\x06\x78\x01\x42\xbe\x83\x65\x99\x3a\x30\xf3\xa8\xcf\xbf\xe1\x95\x77\xaf\xbf\x76\xa1\x74\xe6\xe7\x73\xef\x1d\xec\xc6\x03\xbf\x6c\x18\x4a\x3a\x8d\x0a\x0d\x80\x16\xa9\x71\x83\x79\x9b\xd3\x47\x94\xb7\x65\x21\x81\xcd\x98\xab\xb1\x71\x02\x35\xd1\x42\x43\x99\x24\x72\x4e\x67\xa2\xea\xb2\x1a\x6a\x7d\x6b\x4d\xeb\x62\x02\x87\xb8\xb5\xab\xa1\x80\x0d\x16\x32\xd3\x15\x6b\x19\x6f\x46\xe8\x85\x9c\x4f\xa9\xd2\xe3\xc2\x8b\x7c\x6f\x33\x50\x27\xd9\x9d\x4d\x81\xaf\xba\x63\x9b\x1d\x94\xe9\xed\xe9\x36\x9b\xb8\xe5\x58\xfc\x6a\x2e\x3d\x3e\x50\xb1\x68\xdf\x14\xd3\x31\x50\xbe\x06\xea\x53\xdc\x72\x2d\x91\x35\x59\x8d\x1f\x42\xfa\xf4\x17\xfa\xbf\x9d\x7b\x35\x9c\xce\xc1\xfd\x1a\x36\x24\x30\x81\x4b\xe6\x92\xa1\x19\x77\x4e\xa4\x3f\xf5\xb7\x19\xd7\x82\x47\xc6\x07\xc4\xc4\x90\xc8\x18\x63\xb5\x8b\xd7\xef\x7b\x57\xba\xbf\x8b\xb7\xc7\xaf\xce\xaf\x74\x57\x2f\x16\x7a\x21\x20\x38\x5d\xa6\xcd\x42\x7f\xb4\x63\x29\xeb\xb0\xcb\x41\x41\xf0\xfa\xb3\xdc\xe4\xaa\x41\x7f\x31\x3a\x47\x4c\xca\x60\x3f\x02\x9b\xb5\xd8\x7b\x74\xf8\x26\xc9\xcd\x98\xeb\xf4\xb6\x75\x73\xb1\x49\x10\x4c\xad\x41\xb1\x30\xee\x21\x94\x0a\x8a\xfa\x36\xa6\xd8\xbe\xb3\x16\xa6\x4e\x94\x6a\x33\x48\x18\xd5\x17\x89\x9c\x5b\xc1\x90\x6a\xa5\x09\x63\x7b\x56\xde\xd8\x28\xc1\xde\x57\x1a\x1c\x4f\xa4\xbf\x8d\x0d\x43\xbb\xf3\xe8\x0e\x93\xfc\x8f\x19\x99\xef\xf4\xba\xf5\xa8\x28\xab\xdd\x1f\x30\x2c\xd0\xd1\xdf\x6d\x5c\x26\x45\x11\xe5\xb9\xf6\xf2\xe9\x2c\x4f\x67\xc4\x95\xcd\xcb\xaf\x45\x2a\xdd\x11\x06\x6e\x15\xfc\xd8\xc1\xf7\x88\xa7\x8c\x67\x19\x5f\x54\xc6\x43\x94\x1d\xdf\x51\xeb\x08\x43\x26\x76\x44\x39\x0b\xfc\x72\x7a\x61\x2e\xa0\xbc\x68\x4b\x87\xfe\x58\x0c\xa5\xde\x63\xd4\x7b\xa6\xa4\x61\x5e\x66\x69\xa7\x63\x15\xac\xe3\x28\x26\x5a\x0b\x38\x25\xc9\x32\x47\xd8\x40\xa6\x51\x2b\x97\x2d\x28\x4e\x6f\xa2\xeb\x09\x65\xd8\xb1\xaf\x9b\x9d\x67\x71\x9e\x8b\x34\xe0\x76\x58\x96\xbe\x90\xb5\x88\x98\x29\x57\x46\x77\x2b\xa2\x20\xad\x8f\x4b\xe7\x63\x53\xf9\x40\x11\xd7\x30\x9b\x8f\x7f\x74\xae\x38\xea\x42\xed\xc7\x1b\x13\xe2\xe3\x1f\x7f\xe0\xfa\xa9\x0f\x22\x17\xb3\x64\xae\x70\x74\x68\x9b\x53\xaf\x51\xe1\xb4\xf2\x72\x86\xf9\x56\x45\x18\xe1\xe3\xe2\x7b\x0a\x27\xe7\x85\xa7\x81\x8b\xc4\xb0\x74\x66\x4e\x66\xa8\xa0\x2a\x48\xba\x98\x8c\x8b\x8e\x53\x2d\x7a\x05\xb2\xaa\x55\xcf\xe7\x90\xc1\xc7\x1c\x06\xfe\xf7\x5c\xe9\x4b\x52\x8c\x39\x73\xb3\x11\x96\xec\x81\xeb\x14\x63\xc7\x7c\x30\x06\xaa\x36\xcf\xe3\x2a\x18\xde\x72\x71\x47\x7c\x66\x1c\x75\x22\x4f\x37\x14\x29\xaf\xd1\xbc\x07\x39\xbc\xf4\x37\x7a\xcb\xf5\xe3\x11\x1e\xf2\x73\x81\x15\x2d\x21\xb0\x17\xd2\x3a\x82\x08\x6f\xd0\xe9\xd4\x64\x99\x20\x23\xa0\xa6\x5a\x96\xc8\x1c\xef\xcf\x5a\x06\x05\xe9\xf8\x06\x3c\x5c\xda\x0d\x1a\x88\x9e\x4c\x69\xe4\x9e\x2f\xe5\x63\x9b\x6b\xa3\xcb\xdc\xf2\x9b\x04\x33\xc5\xd0\xa3\xef\x5c\x48\x80\x71\x86\x76\x79\x3c\xc0\x65\xcd\xd9\x2a\x1b\xc4\x8f\x88\xf2\x1c\xbd\x11\x6b\x02\x7d\x9f\xe0\x29\x5d\x72\x30\xb8\xc6\x4f\xfc\xb1\x05\x0d\x07\x0a\xbc\x1b\x9e\x7d\xe6\xd9\x88\xaa\x15\x56\xdd\x9b\xcd\xca\xaa\xaa\xcb\xb3\xd1\xcc\x20\xe4\xba\x6d\x7b\x11\x5f\x5d\xec\x5d\x35\x03\x05\x2c\xfd\xfb\x95\x10\xd6\x65\x41\xeb\x4e\x75\x6b\x46\x68\x2d\xb4\xde\x5f\xd6\x9a\x50\x5e\x68\xfe\x60\x59\x73\x74\xb4\xf6\x9b\x3e\x5c\xd6\x14\xbd\xb0\x83\xb6\x8f\xae\xaa\x9a\x7e\x29\xeb\x9b\x7a\x50\xdb\x2d\xf0\x1e\x45\xfe\xe6\x27\xaf\xc3\x64\xff\x1b\xac\x24\xc8\xcc\x4b\x6c\x79\xa1\x90\xbd\xa4\xb0\x99\xf1\x04\xb5\x1b\x8e\xb2\x09\x1a\xaf\xd8\x9d\x09\x1f\x64\x72\xc7\xbe\x57\x78\x7c\x41\x31\x57\xca\xf4\x15\x93\x93\x9b\x9f\x41\xd4\xc4\x8c\x81\x6b\x75\x83\x01\x10\xbb\xdf\x89\x3d\x80\x49\x76\x41\x99\x6b\xa0\x45\xdb\x0f\x2a\x24\xa7\xb3\xba\xd9\x31\x7a\x7b\xf9\xe5\xdf\x36\xf0\xa8\x0c\xe2\xdb\xbc\x40\x3b\x72\xa4\xbc\x5a\x1b\x07\xf7\x7a\x88\x72\x67\x29\x3b\x38\xe3\x4d\x34\x74\xf4\x9d\xee\x40\x99\xab\x78\x06\x99\x37\x67\x84\x96\x8a\x8f\xc9\x73\x35\xce\xad\xd8\x62\xa4\x16\xdf\x1d\xc8\x62\x82\x5f\x07\xb6\x0f\x1a\xad\x8b\x92\xf5\x10\x53\x08\x52\xac\xbb\xf8\x03\x0c\xe4\x0a\x92\x51\x54\x44\x78\xf9\x9e\x0c\xfe\xbf\x7b\x26\x3e\x91\x62\x6e\x8a\x59\xcc\x1b\xec\x4f\x8c\xb3\x2e\xeb\x3f\x0f\x51\x5f\xb9\x88\xa4\xd0\x2d\x20\x7a\x22\x23\x4a\x89\x5d\x95\xea\xfc\x6e\xf8\xa6\x8f\xb7\xc5\xf7\xe0\x9f\x18\xdf\x98\x8e\xfd\x2b\xe0\x5b\x23\xda\xa6\xd9\x6d\x41\xc2\x98\x56\x90\x83\x3d\x24\x73\x1f\x41\x7d\x75\x57\x04\x15\xe6\xb5\x2c\x89\xfb\x57\x99\x9c\xb7\x16\xd5\xd3\x50\xe3\x3b\x4f\xc3\x83\x5d\x18\x6b\x21\x8a\xc8\x24\x5b\xff\x7d\x13\x21\xca\xa9\x9e\x06\x4f\xf2\xdf\x31\x0f\x02\xfd\x15\x30\xee\x7b\xe1\x57\x0e\x74\x22\xa3\x3b\x0f\x74\xeb\x9d\xf5\x7b\x77\xc8\x91\x9c\x4c\x67\xb9\x96\x15\x8d\xe8\xe6\x54\xa4\x98\xbc\x0f\xed\x40\x41\x8c\x8c\x9d\xea\x20\x4f\xea\x83\x71\x83\xfd\x6a\xba\xad\x4e\x3f\x52\xf0\xb3\x03\x97\x3f\x37\x02\x0e\xc9\xb3\xa9\x5c\x81\xd3\x86\x4e\xf8\x14\x02\xd7\x39\x66\xd7\xf3\x3a\xad\x4f\xbc\x1e\x9d\xb3\x0d\xe1\xd5\xcf\x92\x77\x31\xb9\xa2\xc7\x5f\xdc\x22\x12\x97\x44\xa2\xcb\x33\x52\xa4\xbb\x84\xcb\xe1\x62\x8a\xa8\x3e\x4c\x37\x5b\x4a\x30\xd1\x84\x3b\xbf\x94\x36\xd9\xb7\xec\xef\xee\xb2\x17\x10\x99\xa2\x39\x42\x93\xbd\x92\xd9\x9c\x67\x11\x8a\xf2\x67\x02\xaa\xd6\x21\xff\x97\x8c\xdf\xc8\x38\x62\x29\xbf\x89\x47\x1c\xd4\x64\x7c\xce\x51\x27\xeb\x43\xcb\xbd\x54\xdb\x53\x3e\x12\xed\xa2\x13\x41\x21\xbf\xc4\xe3\xc7\x48\x4b\xc1\xb3\x27\x15\xcf\x9e\x36\xd8\x9f\x02\x06\xbe\x2e\xa4\x9c\x75\x37\x6c\x6e\x62\xa3\x98\xe7\xfb\x59\x20\xe1\xe1\x32\xf2\xd5\x5b\xe7\xb8\x77\x64\x9d\x0b\x8d\xdf\xcc\x51\xef\xb5\xf5\x2c\xb6\x0f\x7b\xbd\x07\xe6\xe1\x89\x2b\x2d\xfb\x2f\x1d\x23\x1f\x5e\x45\x54\xdd\x38\x7c\xa2\xf1\x73\x18\x8b\x24\x02\x9d\x63\x97\x5d\x90\xd1\xa1\x49\xaa\x48\x73\x75\x6b\xda\x20\x4c\x88\xbd\x04\x89\xff\xea\x1b\x0f\x8e\x0b\xb0\xb3\x25\xe7\x09\x14\xdb\x73\x05\x1f\x60\xd7\x30\xf6\x09\x22\xa6\xfe\x3a\x53\xb9\x09\x0d\x89\xf3\x9a\x32\xd0\x6c\x2e\x8e\x08\x15\x35\x68\xd6\xc3\xeb\x6e\x7f\x61\x6f\x09\x78\x3f\x90\xca\xcb\x42\xce\x2e\xf6\x9a\xa0\x76\xfd\xf0\xfe\xcd\xfb\x93\x4f\xef\xaf\x6a\x4d\x40\x6a\xf9\xbf\x57\x4d\x3b\xf8\x57\x90\x25\x35\x93\x73\x02\xb1\xff\xa4\xa9\x41\x1c\xf7\x8e\xf4\xe7\xc7\xbd\xa3\x66\x95\x40\xc2\x6c\xb2\xd8\xa6\xfb\xe1\x3d\xa5\xab\xd2\x45\xa7\xb3\xdf\x64\xb5\x8b\x57\x1d\x0d\x0c\x38\xbe\xa6\xaf\xfb\xac\x76\x5a\x6b\x02\xfd\xc1\xcf\x86\x07\x04\x1f\xee\xec\x3f\xf8\xfb\x4e\xb3\x0c\xed\x01\x40\xdb\x2f\x42\xfb\x2f\x07\xed\xbf\x2a\xa1\x3d\xac\x84\xf6\x10\xa0\x3d\x28\x42\x3b\x73\xd0\xce\x2a\xa1\x3d\xaa\x84\xf6\x08\xa0\x3d\x2c\x42\xeb\x39\x68\xbd\x4a\x68\x8f\x2b\xa1\x3d\x06\x68\x8f\x00\x1a\x7d\xde\x79\xf4\xf7\x5a\x71\x35\x4a\xd0\x9e\x56\x42\x7b\x02\xd0\x1e\x07\xd0\x9e\x6c\x00\xed\x59\x25\xb4\xa7\x00\xed\x49\x00\xed\xe9\x7a\x68\x0f\x3a\x95\xd0\x9e\x01\xb4\xa7\x01\xb4\x67\x1b\x40\xdb\xaf\x82\xb6\xbf\x07\xd0\x9e\xf9\xd0\xf6\xf7\x36\x80\x56\x49\x6f\xfb\x1d\xa4\xde\xbd\x2b\xb7\x88\xfb\x9d\x0d\xa0\x55\xd2\xdb\x3e\xed\x85\x8e\x0f\xed\xc1\x7a\x68\x0f\xab\x67\x8a\x7b\xa1\xb3\xef\x43\x7b\xb8\x01\xb4\xc2\x4c\x0d\x23\xe8\x61\x96\x64\xc7\x09\x3a\xcf\xf4\x78\xff\x3f\x0d\xd1\xc2\x50\xe3\xba\x96\x65\x6a\xff\xa1\x29\x19\x7e\xfd\x5c\x6b\x34\x9a\x61\x47\xee\x1f\xf1\x1a\x00\xf7\xf0\x99\x66\x2c\x9d\x7b\x3e\xb8\x41\xbd\x86\xf9\x93\xde\xcf\x26\x90\x7f\x9c\x31\x7c\x76\x98\xe4\xe6\x11\xfc\xfd\x4e\xe4\x1c\x1f\x18\x70\x8f\x34\xaf\xab\xed\xff\xc7\xd7\x02\xd7\xd1\xe0\x1e\xfc\xdb\xd7\x02\xb7\xaf\xc1\x3d\xfc\x3f\x5f\x0b\xdc\x03\x0d\xee\xd1\xbf\x7f\x2d\x70\x0f\x35\xb8\xc7\x3f\x7f\x2d\x70\x8f\x34\xb8\x27\xdf\x7e\x2d\x70\x8f\x35\xb8\xa7\xdf\x7d\x2d\x70\x70\xa0\x3d\xab\x7f\x25\x70\x0f\x9f\x6a\x70\x7b\x8d\x12\xb8\xa0\x3e\x9f\x86\x50\x00\x58\xd9\xc8\xee\xe6\xa7\x9a\x0b\xb6\x3e\xaf\x87\xba\xe6\xbd\x03\xa8\x59\xfe\xc1\xfd\xaf\x05\x10\x25\x05\x31\x94\xb7\xac\xf5\x19\x24\xef\x83\xfb\xd4\xd3\x93\x07\x5f\x77\xe8\x8f\x3b\x7f\xd4\xc8\x5f\xe7\x3c\x89\x79\xca\xee\x7f\x67\x86\xae\xbb\xba\x5f\xa6\xb4\x3b\x74\x85\x10\x9f\xa2\x00\xf6\xe2\x4d\xef\x54\xb3\xe5\xbe\xaa\x63\xb5\xba\x26\xab\x5d\xf6\x35\x1c\x78\xd2\x87\xbf\xf5\xf3\xc6\x52\xf1\xc9\x09\x97\x71\xe6\x73\xe5\x67\xd8\xc3\xf9\xe1\x0b\xdd\x81\x1a\xd7\x6b\x97\xb9\x3b\x00\xfe\xa2\x21\x82\xe4\xdb\xb4\x0c\xb8\xc9\xca\x72\xd9\x53\x60\x77\x7f\xfb\xaf\x5a\x73\x09\xe7\x66\xc8\xdd\x41\x9a\x2a\x89\x7a\x16\x0a\x6c\xad\xf9\xa7\x75\x50\x3e\xad\x84\xf2\x18\x0e\x06\x71\xbc\x0e\xca\xf1\xea\xb1\x00\xc7\xcd\xce\xd6\x41\x39\x5b\x0d\x05\x38\x63\x7e\xbe\x0e\xca\xf9\x6a\x28\x30\xa3\xc5\x7f\xaf\x83\xf2\xdf\xab\xa1\x00\x5b\x9d\x7d\x58\x07\xe5\xc3\x4a\x28\x4f\xe0\xe8\x88\x5f\xaf\x83\xf2\x7a\x35\x14\x98\x91\x3c\x59\x07\xe5\x64\xf5\x8c\xe0\xcc\x9e\x9e\xae\x83\x72\xba\x12\xca\x3e\x4a\x8c\xbf\xae\x83\x72\xb1\x1a\x0a\xc8\x76\x57\x5f\xd6\x41\xb9\x5a\x03\x45\xcb\x9b\x97\x97\xbf\x01\x98\xe5\x50\x2e\x2f\x83\xad\x5e\xde\xe6\xaf\xe4\x2c\xcb\xc7\xb0\xcf\x59\xfd\x93\x80\x04\x19\x5e\x4e\xa3\xff\x84\x6a\x8e\x98\xe9\x08\x53\xa1\xbe\x14\x37\xe7\x52\x26\x54\x37\x90\x5d\xec\x03\x6e\x2f\x8e\x0e\x4f\xc1\xe5\xc6\xed\x7c\xfb\x63\xc9\xbf\x65\x2c\xe2\x31\x90\x1f\x78\x0d\xb1\x00\x45\x30\xa1\x43\x3a\x35\x2b\xfe\x2d\x5d\x7d\xa0\x44\xd5\xab\x06\xd8\xdb\x1e\xe0\x63\x38\x8a\xa3\x97\xd5\x00\x5f\x6e\x0f\xf0\x09\xe0\x70\xf8\xaa\x1a\xe0\xab\x3b\x00\x04\x36\x3b\xfa\xb1\x1a\xe0\x8f\x77\x00\x08\x5c\x6e\xfc\x53\x35\xc0\x9f\xee\x00\x10\x18\xde\x5f\xff\xb3\x04\xd0\x48\xfa\xff\xa9\x61\x6a\x1a\x29\x80\x5e\x0a\x10\xc8\xe6\xfa\xcd\x52\x80\x6f\xac\x70\x05\x09\xa6\x3e\x9b\xfb\xc3\x52\x80\x20\x0e\x26\x6f\x97\x02\x7c\xbb\xe5\x08\x3b\x4f\xf5\xdd\xfa\x79\xb7\x04\xd0\x3b\x37\xb7\xc2\xe1\x3e\x5c\xec\x2e\x6b\x3b\xb5\xe6\xd7\x01\xd8\x79\x80\x3a\x98\xf7\xe7\xc7\x67\xe0\x3f\x77\x99\x21\x68\xd4\xb1\x2d\x87\x68\xdf\x57\x30\x98\x78\x68\xf8\x0b\x25\x53\xc3\x74\x15\x8a\x5c\xc6\x4c\x56\x78\xa6\xc6\x32\xcb\x07\xb3\x5c\xb5\x19\x3b\x49\x41\x71\x65\x60\xb8\x24\xe3\x90\xca\x07\xf8\xd3\xd1\xee\x47\xa8\x58\x49\xa5\x25\xe1\x85\x96\x9a\xf5\x0b\x4c\x86\x48\x3a\x2e\xcc\x3a\x6e\x40\xd1\xb7\xd8\xd2\xb8\x52\x00\x8f\x2b\xd4\x55\x37\x26\x3a\x8c\x9f\xe0\x4c\x89\x44\x18\x3f\x0a\x93\x90\x3d\xf2\x59\xe5\x47\x04\xfa\x5d\xeb\xa3\x01\x4b\x89\x0f\xaa\xa0\xd7\x21\x49\x8b\x81\x84\xce\x13\x4a\x88\x09\xb9\x3b\x65\x62\x20\x47\x69\xfc\x0b\x7a\xa7\x20\x7e\x72\x29\x1b\xe6\x86\x0c\xa4\x79\xd1\xfb\xe9\xf5\xab\xf3\xa2\xb2\xad\xfc\x6f\x19\xa3\x7d\x06\x5c\xe7\x97\xbf\x84\x47\x08\x90\xf6\x5f\xca\x1b\x7a\x29\x77\x05\x66\x78\xfb\xe7\x0a\x28\x7f\xde\x1c\xca\x63\x90\xe8\x06\x47\x05\x28\xe6\xba\x74\xf4\x39\x00\x15\x36\xd0\x68\x3f\xf2\xe4\xf8\xa7\x80\x9d\x9b\x8f\x4b\x60\x7d\x5c\x07\xeb\xa3\x7f\x27\x00\x58\xe0\xbc\x5a\xc1\x01\x5e\x14\x38\x80\xdf\xc0\xfe\x86\xf7\x96\xa9\x00\xb6\xd2\xf7\x4b\xc6\xf6\x7e\xdd\xd8\xde\x7b\x63\x7b\x02\x38\x9b\xbc\xab\xc0\xfc\xbb\xcd\x31\xdf\xd1\x0b\x58\x6b\x7e\x1f\x42\xe1\x49\x5e\x27\x2e\x12\x70\xb8\xa5\x50\x34\x31\xd5\xda\x3f\xfc\x5e\x28\x5a\x36\xda\xfd\x53\x35\xb6\x3f\x5b\xdd\xcf\x9f\x80\x77\xaf\x90\x6a\x7a\xf1\x6d\x3e\xc6\x8a\xa3\xe0\x84\xe7\x29\x97\x50\xcd\x7c\x74\x7e\xf6\x76\x99\xb8\x12\x3c\x72\x68\x82\xef\x0e\xdf\xc2\x86\xdb\xfc\xbb\x67\x70\x12\x5f\xbc\x3d\x3c\xdd\xae\xbf\x07\x70\xe0\xb2\x5a\x09\x65\x4e\x0d\xb6\x0c\x8b\xcf\xe0\xd3\x8b\xb3\x6d\xbb\x7c\x86\xdc\xff\xec\xdd\xf1\xfb\x0f\x8e\xab\xac\xfc\x2e\xb4\x68\x80\xad\xc0\x98\x04\x1e\xe2\x28\x4e\xcf\xce\x7b\x47\x67\x2b\x2d\x02\x88\xdf\x87\xa0\xc6\xee\x1d\x9d\xbd\x7d\xe3\x8d\x7a\x69\x73\xb8\x17\x5c\xbc\x38\x3b\x3e\x5c\xd3\x3c\x30\x96\x80\x35\x4f\x0e\x99\x8a\x6f\xd1\x74\x87\xa5\x69\xc9\x07\x14\x2b\x0a\xc0\xe0\x41\x98\xb8\x78\xfd\xbe\x77\x7c\x06\x0b\x0e\x1b\xf0\x8d\x58\x60\x99\x37\xda\xa5\xc5\x05\x28\xad\xc4\x03\xe4\xd3\x3f\x9d\xbc\x3b\x46\xaa\x31\x60\x7e\x92\x13\x61\xb7\xfa\x7a\x30\xb8\x30\xa7\x3f\x7e\x38\x0d\xc1\x9c\xf2\x91\xf8\x30\xdd\x74\x34\x0f\x71\x34\x2f\x8f\x91\x2c\x1c\x98\x97\x22\x71\x7c\x67\xfd\x68\x1e\x91\x90\xf0\xb2\x00\xe6\x38\x8d\xb6\x01\xf3\x90\x26\xf5\x92\x2c\x46\xfe\xa4\x20\x05\x7f\x15\x8d\x57\x6d\xf6\x43\xbd\x72\xd6\xc6\xa5\x8f\x6d\x2f\x9f\x21\xf8\x62\x9b\xb4\x2f\xb0\xce\x65\xbf\x1c\xac\x76\x6c\xc0\xb9\x0c\x83\xf0\x2d\x1d\xe2\x50\xfd\xd0\xe4\x54\x32\xf1\x55\x30\x0f\x30\x4a\x98\x95\x61\x7c\x50\x27\x95\x88\xbe\xc0\x90\x29\xe6\x70\xdd\x54\x70\x7d\xc0\x84\x60\xd0\xe1\x41\x7a\xe1\x20\xbd\xd8\x08\xd2\x03\xb8\xa8\x9e\xbd\xfe\xf1\x27\x20\x5e\x07\xe9\xc8\x41\x3a\xda\x0c\xd2\x13\x17\x45\x11\x8c\xe9\xa5\x83\xf4\x72\xa3\x85\xba\xe8\x3c\x04\xb3\xd7\xfb\x0f\xef\xde\x9e\x1c\xbd\xd9\xc8\x46\xf8\x29\xce\xc7\x2c\x9d\x4d\x68\xdb\x0e\x6d\xd0\xca\x94\x47\x6c\x24\x52\x91\x51\x31\x6d\x4a\xaf\x0e\x31\x23\x18\xbb\xa5\xbc\x4d\xed\x0b\x6c\x35\x9f\x07\xd4\x42\x13\x29\x5a\xf6\x21\x76\xd6\x41\x32\x9e\xf8\x99\x50\x26\x87\xda\xee\x2e\x43\x77\x33\x74\x0f\xb7\x03\x4c\xbd\x31\xcd\xd2\xf8\x6f\x33\x6f\x44\xed\xb6\xd1\xa3\xe1\x2e\x7c\x73\x0a\xb6\x9d\xa5\x68\x2b\x73\xf5\x27\xf4\x5d\x67\xcb\xef\x9e\xd2\x77\xfb\x5b\x7e\xf7\x8c\xbe\x7b\xb0\xdd\x77\x9d\x3d\x20\xe3\x37\xa7\x0f\xb7\xfd\xae\x83\xdf\x3d\xda\xf6\xbb\x7d\xfc\xee\xf1\xb6\xdf\x3d\xc0\xef\x9e\x6c\xfb\xdd\x43\xfc\xee\xe9\xb6\xdf\x3d\xc2\xef\x9e\x6d\xfb\xdd\x13\xfc\xee\xfe\xd5\xd7\x53\xd2\xef\x3d\x43\x98\xad\xaf\x09\xf3\x31\xc2\xfc\x6e\xcb\xf9\x75\x68\xdd\x77\xb7\xfd\x8e\xe8\xac\xbd\xf1\x77\xf6\x0e\x68\xab\xb8\xdb\xe0\xc0\x5c\x4e\x7d\x21\xf1\x31\xcc\xe5\xc5\x21\xf2\x29\x06\x5e\x46\x64\x5a\xbf\x6f\x5c\x08\xf4\x8f\x46\xc1\xae\x7e\x7f\x89\xff\xc0\x63\xb4\x83\x7f\x32\x47\x66\x00\xef\xbf\x0c\xbc\xff\xaa\x82\x57\x69\xd1\x7d\x0c\x87\xce\xd9\xf1\xdb\x93\x43\x00\x19\xc0\x3b\x33\xf0\xce\xaa\xe0\x55\xfa\x10\x3c\x45\x9b\x2e\x49\x6a\x85\xf1\xf5\x0c\xbc\x5e\x15\xbc\x4a\x2f\x82\xa7\xb0\x27\x3f\x51\x18\x1e\xc2\xf3\x9c\x09\x82\xcb\x49\x01\x5e\x95\x1f\xc1\x3e\x7a\x25\xbc\x38\x7b\x7d\xde\x42\x37\x07\x0f\xde\x93\xd5\xf0\xaa\x3c\x09\xf6\xd1\x2f\x41\xc3\xbb\x5f\x82\xf7\x74\x25\xbc\xd0\x97\xc0\x92\x54\xe7\xc9\x03\x76\xf1\xee\xc3\xf9\xf1\x55\x93\x75\x9e\x3c\x64\x17\x1f\x4f\xde\xb6\xae\xe0\x3c\xe9\x3c\x79\x04\x7f\xde\xbf\x82\xf8\x42\x70\x68\x73\x8e\xed\x96\x16\x0d\x24\x2c\x1f\xc5\x26\x3c\xe5\x23\x91\x35\x31\xe3\x79\x0d\x32\x59\xdf\x80\x9f\x0f\xc8\x25\x93\xb6\x57\x1c\x45\x77\x1e\x2b\xc6\x13\x25\x0b\x96\xa7\x9a\x62\xad\xcf\xc6\x23\x48\x13\x77\x18\xd6\x7a\x8c\x05\xd9\x5c\x15\x4b\xd4\x34\xc8\x8c\x8a\x3d\xc3\xf1\x65\x02\xae\x36\x8b\x04\xf0\xa5\xe4\x25\x35\x94\x82\xb0\x5c\x74\xa7\xc4\x0f\x4e\xa1\xf7\x20\xe1\x7d\x90\x4c\x61\x9d\x87\x96\x4b\x6a\x80\xbe\x65\xfb\x7f\xaf\x55\x4d\x57\x0d\x32\x49\xe5\x66\xf1\x27\x14\xcb\xeb\xcf\x86\x43\x91\xfd\xfe\xb9\x83\x68\xbf\xac\xaa\x58\x38\xf5\xb1\x9c\x88\x37\x62\xa1\x7a\x38\xa0\x9f\xfd\x79\x7b\x11\x06\x58\x04\xa5\xd2\xe1\xd4\x35\xf7\x1c\xb8\x0b\xbd\x54\x38\x6d\x1b\x17\xc7\x00\x5b\x3f\x85\xa9\x46\xfd\x77\x27\xf8\xae\x5c\x4e\xd5\xa5\x04\x44\x4c\xea\xc9\x63\x7a\x97\xb5\x4b\x66\xdc\xf6\xfe\xd1\xeb\xa3\x6f\x29\x7f\xc0\xf2\x54\x3b\x04\x7f\xcd\xf5\x79\xb5\x62\x7d\x5e\x6d\xb8\x3e\xc7\x69\xf4\x4f\xbe\x3c\x74\xa5\xdd\x6c\x85\xa6\x7c\xb4\x74\x85\x4a\x48\xba\x78\xf4\xf7\xda\xf3\xb5\x18\xc2\xfe\x7f\x3f\x92\x10\x09\x79\x36\x13\xec\xe5\xf1\x5b\x88\xa8\x55\xb3\x3e\x24\x9a\x12\x39\x77\x11\x0e\x26\xe2\xf0\x24\x75\x47\x41\x93\xf2\x2d\x5e\xa7\xc4\x96\x79\x62\xea\x9c\x30\xcc\xcf\x47\x35\x79\x47\x22\x67\x5c\xc3\xa7\x14\xff\x98\xe9\xfb\x3b\x36\x48\x78\x3c\xa1\xb8\x94\xc2\xf7\x50\xce\x1b\x63\x92\x9b\x41\x1f\x1a\x0a\x26\x3a\xb5\xe5\x7a\x21\x99\x50\x4a\x89\x1d\x38\x66\x9b\xc4\x12\x57\x31\xa4\x50\xf5\x66\xc1\x5e\x98\x5a\xf6\xd4\x6e\x9a\x89\x21\x74\x30\xe0\xa9\x9e\x39\x65\x0f\x09\x27\x6f\xf3\x48\x0c\xb8\xda\x86\x48\x5e\x8a\x64\xb3\xc3\x85\x27\xb9\x8d\xe6\xc0\xa2\x52\x2e\xb8\xe3\xdb\x6f\x69\x97\x95\x3e\xf1\xeb\xf8\x7c\xeb\x82\x13\xca\x24\x05\xae\x14\xcf\x8b\xc7\xce\x83\xff\x89\x63\xc7\x6a\x4d\xfe\x88\x9d\xf3\x78\xd3\x9d\x03\xf9\x87\xee\xbc\x77\xb0\xf0\x0b\xe5\xa2\x99\xf0\x6c\xb1\x0b\x71\xdd\x29\xcf\x01\x65\x42\xa4\xca\x84\xd1\x96\x51\xb8\x29\xae\xd0\xf8\x17\x60\xc9\x14\x33\xa8\xc8\x1a\xe2\x26\x39\x8f\xa7\xe2\x48\xa6\xb9\x48\x73\xf5\xbb\xd9\x03\x98\x84\xc0\x76\xd4\x69\xb7\x9f\x15\x8d\x43\x86\x18\xb4\x9c\x17\x84\xcd\x13\xaf\x70\x92\x1f\x82\x70\x96\xa8\x67\x54\x1a\xc7\xd6\xf4\xc6\x82\x2b\x53\x31\x88\x79\xe2\xe5\x71\x99\x80\x0c\x0a\x11\xfb\x12\xbb\x89\x53\xac\x15\xac\x3b\x1f\xa5\x72\x22\x5a\x76\xe6\x18\xe9\x96\xf1\x74\x04\xa6\xb0\x4c\x00\x64\xe8\x6f\xbf\xdd\x7e\x0a\xdc\x08\x8a\x80\x9b\x7a\x21\x0c\x26\x85\x65\x08\x88\xa9\xe5\x99\xe0\x39\xea\x64\xe6\x63\x99\x18\x70\x34\xb2\x8d\xd7\x8e\x3c\xe7\x56\xac\xde\xff\x7c\xc8\x4c\x99\x0b\x59\x4c\xea\x65\xa7\x39\xf4\x45\x46\xcc\xe5\xae\xa2\xae\x29\x38\xb7\x3c\x79\x78\x58\x7c\xae\x53\xeb\xda\x5d\xdd\x21\x59\x02\xdf\xec\xbb\x37\xc6\xba\xe0\xbf\x7e\x50\x78\x7d\x11\xbe\x7e\x58\x78\x7d\x79\x19\xbe\x7f\x54\x78\x7f\x15\xbe\x7e\x5c\x78\xfd\x73\xf8\xfa\x49\xe1\xf5\xe7\xf0\xf5\x53\x6f\x52\x96\x1b\x9b\x97\xcf\xbc\x97\xcf\x6a\xa5\x10\x68\x7f\x2f\x1e\x26\xf9\xd6\x5b\x71\x13\x8a\x25\x37\xcc\x15\x04\xbb\x86\x5c\x10\xc0\xef\xa7\x96\xb5\x2d\xe9\x4a\xbb\x94\x5b\x81\x71\xfb\x8f\x40\x91\x71\x75\xbd\x3b\x8e\x08\xc2\xff\x2c\x92\xe8\xf8\xfe\xf9\x08\x0a\x37\xa5\xb9\xc8\xa6\x99\x2b\x3b\x8b\xa9\xd2\xb1\x9a\xfa\x40\x4e\x17\x6c\x20\x27\x13\x9e\x56\x27\xc7\x5e\xc2\xf9\x8e\x56\xa1\x88\x82\xea\x85\x89\x54\x5c\x82\xae\x91\xc8\x5f\x52\x0a\x98\x7a\x43\xff\xd5\x33\xdf\x78\x55\x72\xee\x59\x40\x90\x59\x33\x49\xf8\x54\x89\x28\x08\x7a\x0f\xa0\xeb\x2b\xcf\xd1\x91\x9e\x55\x01\xfd\x7e\x31\x08\x74\xbc\x30\xae\x11\x80\x03\x3f\x41\xa5\xef\x60\x81\xb8\xd4\x98\x34\xa6\x98\xb6\x83\x73\x4a\x85\x94\x8c\xf7\x08\xeb\x2f\x58\x22\xf2\x52\x35\x7e\x3a\x8a\xb0\x5b\x74\x29\x99\x48\x95\x3b\x40\xd4\x90\xaa\xad\x99\x2c\x21\xdf\xc9\x34\x59\x7c\xc7\xe6\x1c\x12\xd6\x4c\x13\x2d\x29\xe6\xe2\x36\x37\x81\x8f\x83\x24\x9e\xa2\xca\xd0\x0b\xee\xa3\xd0\xbe\x5a\x94\xc5\x37\xa2\xd5\x5f\xd4\xd8\x5c\xf4\xcd\x98\x57\x10\x2f\x24\x24\xb7\x2b\x70\x38\xcc\x45\xa6\xd1\xe8\xc7\x20\x2a\x91\x9f\xc7\x13\x21\x67\x79\xdd\xad\xca\x80\xd6\xe4\x5c\x1e\xa7\x11\xe4\xa5\x74\x2f\x1b\x4d\xf6\xc8\xd5\x82\x28\x84\xec\x6d\x12\xe7\xe7\xa7\x56\x5d\xb1\xce\xab\x96\x19\x1d\x62\xfe\x88\xc5\x9e\xf0\x14\x04\x1b\xe3\x4c\x04\xf9\xf0\xe7\x32\xbb\x86\x9c\x32\x2a\xce\x67\x94\xf8\x0e\x6a\x94\x39\x40\x26\xef\x51\x5b\xdc\x8a\xc1\x11\xee\xbd\x7a\x4d\x83\xac\x35\x50\x77\x96\xc8\xb9\x2b\x7f\xf2\x4f\xb1\x66\xcb\x06\x20\xa7\x0b\xdb\xff\xb9\x3c\x32\x04\x59\x6f\x3c\xdf\x74\xb1\x5d\xc8\xa4\x97\xed\xdb\x1d\xa3\x7b\x0f\xaa\x2f\x30\xc4\xe1\xde\x6b\x0e\x27\xa7\x22\xa5\xa4\xf8\xa4\xb1\x24\xd6\x0f\x86\x38\x53\xde\x7c\x2b\xc1\x6e\xdd\x09\x50\xa6\x38\x2a\xbe\xaf\xc7\x52\xb7\x2b\x6c\xfb\x1e\xc3\x15\xb4\x56\x2b\x67\x4f\xa9\x61\xb9\xfe\x83\x54\x36\x07\x89\x54\xe2\x60\x21\x54\x33\x13\x2a\xfe\x05\x7f\x9a\xcb\x45\xa6\xe0\xcf\x5a\x50\x65\x86\x40\x4c\xe2\x34\x9e\xc4\xbf\xf0\x7e\x82\xdf\xcc\xe3\x28\x1f\x1f\xd4\xd8\x7d\x33\xaa\x38\x4d\x45\xf6\x49\x3f\xad\xfa\xbc\x39\x16\xf1\x68\x9c\x97\x3e\xf8\x09\x1e\x07\x25\xc1\x36\x5a\xc8\xe2\x12\x8a\x95\x4b\xf8\x11\x32\x7c\x59\xb5\xaf\xe1\x99\x90\x0a\x72\xc5\xc9\x05\xea\x61\x4c\x23\x64\x4f\xaf\x62\x72\xd4\xbe\x18\xf3\x9b\x58\x9f\x81\x0a\x53\x88\xab\x5c\x98\x64\xa0\x46\x33\xa0\x94\x50\x81\xeb\x1c\x5a\x5e\xb1\x5c\xea\x77\x38\xc0\xa5\x9f\x7c\xa4\xa2\xac\x94\xf9\x6c\x98\xc4\xa0\x4f\xf7\x33\x75\x61\xa1\xe5\x9b\x16\x74\x5e\x03\x5d\x04\x66\xa2\xdc\x86\x1e\x3f\xae\xa3\xc7\xba\x9f\x7e\xc1\x54\x5a\x09\x98\xe5\x47\xd0\x68\x7b\xca\xbf\x7a\xf8\x45\x05\x7f\xa5\x4f\x0a\x01\xed\xeb\xf9\x76\x61\xfd\x3b\x8f\x2b\xd7\xbf\x5c\x2c\xf2\xeb\xef\x65\x74\x53\xfb\xdf\xb5\x97\xe5\x2c\xdf\x6e\x2f\xc3\x07\x5f\x63\x2f\xff\x1e\x59\x94\x9c\x5c\xef\xb2\xd5\x71\x93\x87\x72\x2a\x55\x3c\xf1\x73\x8a\x7b\xc7\xb8\xde\xf1\x15\x5b\x16\xc6\x40\xf2\x00\x15\x26\x05\x73\x16\xe8\x1e\x32\x9e\xaa\x09\x94\x5d\x36\xe5\x87\xea\xf1\x90\x15\x0b\x33\xc1\x31\xdf\xa0\xc4\xa9\x68\x39\xab\x0d\x6a\xba\xc3\xda\x51\xad\x6a\x60\x81\x78\x31\x07\x8a\xc7\x19\x7b\x08\x30\x49\x8b\x49\xf9\x08\x9a\x4a\x53\x77\xd8\x66\x32\xb4\xf2\xb4\x92\x6e\x66\xd7\xa9\x9c\x2b\x50\x76\x08\xb0\x1c\x8f\xc5\x84\x0a\xa9\x24\xba\x99\x04\xed\x02\xde\x86\x10\x8d\x63\x0e\xe9\x0a\x65\x61\x59\xfa\x0b\x0c\xc5\x1f\xc7\x4e\x78\xbd\x16\x0b\xc6\x47\x3c\xde\x6a\xb3\xad\xbd\x17\x98\xed\xb4\xe1\xb5\xe0\x79\x69\x8f\xb2\xdf\x7e\x73\x12\x54\x78\x69\xa8\xba\x21\x98\x92\xb7\x61\x89\x6e\xd6\x17\x7a\x9a\x63\x91\x44\x40\x2d\x3e\x1d\xd9\x11\x16\xe4\x42\xeb\xb9\x43\x48\x73\x59\x97\x28\xff\xb5\x8c\x04\xe6\x6d\xe4\x11\xea\x05\x8f\x7b\x47\xac\x9a\x86\xf2\x6c\xe6\x9c\xbc\xe6\x82\x90\x4f\x19\x90\x23\x31\x88\x23\xc1\xfa\x22\x9f\x0b\x91\x02\x7d\x81\xb7\x10\x10\x98\xdb\xbd\x95\xba\x96\x20\x09\x0f\x14\x81\x0b\xaa\x94\x9a\x42\x78\xe0\x52\xb6\xa4\xfe\xac\xde\x03\x15\x57\xc3\xdf\x21\x87\x7a\x32\xa8\x9f\x94\x6d\xe9\x32\x06\xe2\x69\xbd\xc1\xbe\x58\x91\xf4\xcb\x26\xcc\x08\x8f\xa1\x32\x27\x82\xdc\x1a\xd2\xa5\xe5\x80\x65\xfc\xd8\x64\x91\x98\x52\x65\x4a\x99\x16\xce\x67\xc8\x1d\x89\x4e\x77\xf0\xb5\xc7\x41\x3e\x62\x25\x4c\xcd\xcb\x36\xe2\x63\x28\x4c\xa0\x08\xb2\xe5\x85\x1b\x1d\xc1\x37\x3f\xc5\xee\xa6\x69\x28\x2a\xe5\x51\x97\xf1\xd1\x26\x73\x59\x0d\xc9\x26\x71\xd9\xee\x90\xf8\x09\x69\x6e\x28\xd3\x9c\xfd\x22\xe5\xc4\x2b\x68\xe5\x65\x14\xa9\x29\x57\x1c\x4c\xb7\xc2\x9a\xb1\xac\x1f\xe7\x98\x84\x18\x53\x99\x33\x9e\xb3\x81\xc8\x72\x6e\x5a\x25\xe2\x46\x24\x98\x77\xf5\x30\x47\xd7\xba\x09\xa7\x3c\xe5\x30\xa4\x26\x65\xbe\xe5\x6a\x96\x89\x88\xe1\xd1\x89\x55\x50\x33\x39\x87\x54\x92\xfa\xba\x1d\x41\xa2\x77\x45\xb7\x6c\xe4\xc7\xd4\x16\x34\xdf\x73\xae\x98\xb8\x9d\x26\xf1\x20\xce\x93\x85\x26\x77\x33\x87\x4f\xb6\xba\x96\x08\xb6\x1a\x0c\xcf\xe4\xeb\xd1\x4c\x99\xaa\xc6\xa3\x09\xe4\x54\x66\x79\x4d\x21\x52\xb4\xec\x00\xf5\xf9\xbe\xa3\xbc\x3e\xba\x19\x4c\x77\x53\xea\x09\x9d\xa4\xd6\x50\xd1\xbd\x0a\x75\x4a\x00\xe0\x2f\x7a\xe4\x81\x89\x26\xe4\xb4\x20\xed\x9e\xbe\xfb\x8b\xd1\x77\x2b\x9c\xab\x35\x95\xf8\x4c\xd8\xda\xfe\xa4\x0d\x89\x81\xcf\xa1\xd1\x52\x20\x50\x41\xc0\x83\xe2\x5b\x11\x0d\x18\x3a\xdb\xd9\x9c\x63\x52\x45\xeb\x31\x6b\xb5\xf0\x98\x84\x56\xe5\x82\x43\xe1\x15\x3e\x1c\x6a\xf6\x93\x8e\xa0\x27\x57\xec\x30\x60\xb2\x90\x51\xb1\xf5\xb9\x98\x4b\x51\x8b\x0b\xc3\xda\x73\xe8\xf8\xe7\xcf\xd6\x0d\xe7\x24\x4d\x16\xec\xe7\xcf\x7a\x88\x50\x7d\x19\x89\x4d\x92\x50\x14\x14\x42\x4d\xa5\x49\x5f\xda\xbe\x93\x7c\xb6\x82\x35\x8f\x44\xae\x97\xec\x15\x1f\xe4\x32\xab\x37\xd8\x3d\xaf\xca\x25\xae\x18\xd6\x10\x87\x1c\x83\x39\xeb\x74\x3b\x88\xeb\x21\x7c\xd0\xb4\x87\x84\xbe\x85\xb0\xfb\xbb\xad\xdd\x3d\xa4\x5b\x83\x48\xaf\x8c\xb0\x4f\xdc\xe0\x2b\x04\x71\x50\x82\xab\x18\x79\xa3\xf1\x5e\x9d\x11\xaf\x1c\x09\xcc\xb6\xa7\x7f\x77\xf6\xf6\xfe\x7d\xc3\xb9\x07\xb7\x0c\x28\xd3\x09\x79\xf7\x57\xd7\x2d\x85\x2a\xa4\xb4\x82\x7b\xb5\x42\x3d\xaf\x0a\x2b\xa2\xc8\x5f\xc9\x34\xef\xc5\xbf\x08\x2a\x66\x1a\x14\xf1\x02\x05\xa7\xde\x98\xab\x84\x18\x0b\xc0\x2f\x4b\x6e\xc6\xd0\xaa\x69\x39\xa6\x4c\x5d\xe8\x07\xe9\xc6\x07\xbd\xb4\x0e\x58\xa7\xb2\x94\x18\xbc\xbd\xef\xde\x7a\xf5\x80\x56\xcf\x49\x7f\xd8\xd8\x5c\xbc\xf7\x8c\x87\x5b\x54\x66\x99\x52\x41\x98\xff\x2d\x65\x35\xb1\xac\x91\x1e\x80\xab\x6c\x1d\xe7\x68\x06\x36\x89\xae\x20\x4f\x2c\xc8\x70\xc3\x38\x15\x64\x42\x2f\x54\x6a\x3c\xf7\x53\x76\x43\xb5\x21\x70\xc6\x13\xe9\x6c\x22\xb0\xa6\x25\x8d\x4b\xe5\x3c\x8f\x07\xac\xaa\xb4\x90\x86\x63\x2b\x16\x99\xf4\xb3\x90\xa0\xd9\x42\x26\x9d\x04\x88\x9a\x58\x83\x1c\x44\xdd\x9d\xef\x76\xb4\xe4\x9a\xcd\xe0\xe0\x4b\x95\x39\xd0\xfc\x24\xe2\x58\xf8\xa8\x2f\xa8\x32\x78\x4e\xdf\xe3\x07\x5a\x40\x84\xf7\xa9\xcc\xf1\xb2\xb1\xf3\xdd\x8e\x83\x15\xe7\x2c\x92\x42\xa5\x35\xa8\x9c\x94\x2f\x37\x86\x9b\xc2\x94\xde\x81\xa4\xa6\x62\xe0\x19\xbe\x4d\x31\xc9\x23\x39\x83\x0b\xc3\x9e\x5f\x2c\x03\x13\xce\x81\xd5\xd6\xfc\x09\xfb\x6c\x93\xba\x4c\x43\x99\x69\x5c\x39\x69\x74\x22\x23\x3f\x67\xf3\xc5\x44\x46\x57\x04\x1c\x7f\xff\xf6\x9b\x2b\xe3\xee\xf8\x2d\xb5\x3b\x60\xb5\xef\xec\xa1\x50\x1e\xf9\xfd\xfb\xb0\xd3\x50\xcf\xaa\x5f\x37\x42\xcf\xc7\x8f\x50\x9b\x3f\xa4\x88\x35\x48\x73\x73\x61\x07\xec\xe2\x1b\xc6\x6a\x70\x24\xd6\x9a\xa8\x6e\xd2\xff\xcb\x13\xf8\x13\x0a\xd2\x7f\x73\xe5\xd3\xf1\x00\xeb\xff\x41\x22\x62\xe0\xbf\x9a\x31\x1f\x42\xca\x71\x27\x37\x40\x9d\xc1\x46\x20\x8b\x05\xf5\x5f\xf5\xc9\xaa\x28\x42\x54\x4b\x4f\x78\xca\xf2\x0c\x4a\x65\x65\x72\x36\x1a\xdb\x04\xfc\x83\x5c\xa8\xdc\x54\x12\x9a\x9a\x4a\xa2\xc3\x38\x53\x79\x13\x6f\xb3\x3c\x67\x89\x94\x4a\x24\x0b\x5b\xd5\xc5\xb6\xc3\x52\xdd\x4c\x5f\xb7\xa1\x7a\x88\xcc\xe2\x7c\xa1\xbf\x81\x24\xff\x50\x22\xc4\x36\xde\xa2\xc8\x27\xdf\xb0\x5d\x7f\xcd\x42\x78\x05\x15\x7d\x4a\x76\x39\x3d\xa1\x1e\x75\x81\x94\xbf\x67\xfd\xf0\x49\x20\xb2\xb7\x3a\xd6\xfa\x55\xfc\xf0\x87\x95\x1f\x76\x7c\x71\x7e\x2f\xa0\xb1\xd3\x2c\xbe\xe1\xb9\x30\x99\x33\x0d\x9b\x32\xb5\xcd\xa8\x7c\xce\xd4\xd4\x8a\xd5\xd7\x7e\x95\x93\xb0\xe2\xbd\x51\x54\xd3\x0d\xb2\xc0\xcb\x79\x8a\xbe\x5e\x25\xbc\x9b\x4a\x6e\x9a\x6c\xa8\x84\x5b\xee\x15\x7d\xb3\xed\xa8\x52\xdb\x17\x64\x47\xe8\x68\x46\x76\x1a\xca\x4f\xec\xd7\x93\xfd\xa0\xc4\x70\x96\x60\x30\xf4\x42\xce\x80\x04\xb1\x96\x45\x2e\x4d\xd9\x0b\xe0\x47\x48\x14\x38\x37\x33\x15\x9e\x96\x26\xb3\x6e\x8f\xb9\xcd\x00\xa0\x02\xd1\x59\xf6\xff\xda\xc4\x7e\xde\xe9\x77\x65\xd3\x30\xb0\xa7\x7b\x07\x7a\xfa\xe6\xcf\x60\xad\x88\x9b\x90\x08\x93\xdd\xd8\xac\xb8\x5f\x81\x85\x69\x88\x13\x19\x7d\xe4\xc9\x4c\x13\xa5\x7e\xa5\x8f\x14\xd9\xff\x6b\x83\xfd\x49\xff\x0f\xf2\xad\x6e\x91\xa5\xdd\xcb\x6e\x34\xa3\xab\xdf\x73\x13\x33\xba\xe4\x80\xd3\xe9\x46\xc1\x43\xd3\x59\x28\x18\x9b\x4c\xe2\x7a\x6e\xb6\xa7\x02\x1b\x74\xf4\x9a\xdd\x3c\xaf\xaa\x41\x48\x84\x51\x2e\x32\x48\x74\x15\x63\x81\x33\x57\x8c\x30\x24\xe5\xff\x3b\x6b\x0c\x2e\x27\x62\xaa\xcb\xb7\xb4\xce\xa0\xaf\x0b\x40\xaa\x37\xef\x49\x06\x68\x6c\xb6\x4a\xcb\x8f\xfb\x58\xb9\xba\x4e\x46\xad\xcf\x49\x0a\x01\xed\xaa\xd8\x9c\x8b\x6f\x3d\xf7\x0a\x99\xc3\x2b\x74\xbb\x02\x03\xb6\x32\xae\x9e\xea\x46\xe5\xe5\xe5\x14\x65\xe7\x7f\xf1\xda\x84\xb4\xd0\xff\xa1\xdf\xea\x4e\x6e\x62\x31\xa7\xf2\x08\x71\x22\x58\x3c\x99\x52\x99\x0d\xaf\xde\xcf\x09\x4e\x1d\x2b\x02\x42\xa9\x0f\xac\xf8\xa6\x72\x99\x09\x65\xb3\x0e\xeb\xbd\x80\x09\x8a\x07\x32\x8d\xa8\x9a\x8a\xb9\x24\x06\x1e\x7f\x9a\x2e\xcc\x76\xd7\xe0\xe0\xf8\xf2\x6f\xef\x4c\x89\x4c\xef\x41\x39\x64\x40\x34\x02\x0a\x06\x5a\x05\x9d\xe2\x37\x71\x3a\xda\xcd\x84\x1e\x01\x15\x09\xc1\x78\x5b\xaa\x43\x62\x7a\xd7\x97\xd5\x64\x41\x05\x52\xa4\xde\xaf\x37\x71\x84\x15\x7f\xb8\x5a\x90\x0b\x86\x1e\xe2\x40\x4e\x26\x32\xd5\x9f\x0e\xe3\xd1\x2c\x03\x75\x12\x9c\x8d\xb4\xea\xc6\x93\x3a\x8b\x47\x10\xf4\x0f\x0b\xd5\x5f\xb0\x23\x99\x2d\xd8\x3b\x3e\x18\xf0\x2c\x23\x52\xdf\x75\x3e\xa7\x32\x55\x79\x36\xd3\x17\x6f\x8b\x87\x2a\x8c\x52\x2f\xe0\xfa\xc8\x51\x6b\x61\x35\xb6\x34\x21\x03\xa7\xc2\x2a\x8a\xb7\x0d\xae\x42\x46\x93\x4f\xbb\xbb\xbb\xf3\xf9\xbc\x7d\x93\x77\xf6\xf6\xda\xa9\xc8\x77\x23\x39\x50\xbb\x37\xf9\xa3\xce\x5e\x2b\x9b\xec\xbe\x3c\x3e\xea\x9d\x9f\xa1\xcc\x35\x10\x53\xa3\xfa\xd2\xf7\x16\x2c\x7d\x33\xcb\xe5\x3c\xe3\x53\x56\xd7\xff\xc5\x7a\x85\x0d\x9b\xac\x37\x27\x17\x4c\x2c\x56\x25\xc4\x44\x91\x52\xab\x2f\xd8\x5c\x3f\x43\x87\x4f\x7d\x73\xa8\xde\xfe\x84\x81\x83\x2f\x7a\xf2\x9f\x41\x37\x7d\x42\x58\xb0\x99\xbf\x41\x99\x26\xa7\x0b\x94\x31\x3c\x2c\x78\x7c\xc2\x60\xd2\x3f\xcb\x09\xa0\x75\xda\xd4\x1b\x90\xe7\x79\x16\xf7\x67\x39\x94\x8f\x26\xdb\x0c\x14\xb8\xd4\xc8\x9b\xce\xfa\x49\x3c\x70\xf4\x05\xc4\xc1\x07\x03\xa1\x14\xc5\x52\x21\x20\x4b\xc4\xd6\x61\xd9\xe1\x86\x1d\xb8\x99\xfc\xc9\xfe\xf4\x1b\x74\x6d\x9e\x7c\xaa\x05\x78\x23\x32\x25\x3e\xad\x83\x50\x6e\xe7\x1d\xf4\x00\x49\x02\x55\xbe\xc3\x0b\x54\x15\x08\xaf\x41\xf1\x5b\xbd\xcc\x47\x3c\xcb\x62\x3e\x12\xc4\xfd\xab\x61\x54\x34\x2c\xc2\xc2\x2d\xf8\x31\xc6\x12\x29\xd5\x60\xc2\x36\xd5\x10\x5e\x24\x71\x7a\xbd\xf2\x7b\x6c\x51\xfc\x3a\x86\x48\xaf\x15\x78\xf0\x1a\x14\xbf\x25\x2c\x7f\x8c\x23\x21\x57\x2f\x04\x36\x29\x7e\xdf\xcf\xf8\xe0\x5a\xe4\x22\xc2\x40\xb3\x6a\x08\x85\x46\x16\xc6\xfa\xd3\x07\xaa\x5c\x67\xff\xea\xaa\x97\x6d\x0b\xe3\x16\xf6\x3c\x83\x22\xeb\xd5\x15\xb7\x16\x69\xce\x6f\xf1\x20\xd1\xac\x16\xad\xa9\xd6\x94\x37\x53\xb9\x9c\xc4\xbf\x70\xcb\xcc\x0d\xfb\xa0\x7a\xf4\xa5\xea\x42\x30\x00\xa6\x87\xa0\xe5\x0d\x53\x6c\x1e\x6f\x40\x84\x2e\x7c\x04\x4a\xce\xef\x76\x0d\x19\xd0\xbb\x03\x56\xc3\xa8\x86\x22\x9c\x14\x5c\x49\x11\x8e\xcd\xd6\x2f\x95\xa9\xf6\xe9\x83\x9a\x4a\x85\x3a\x92\xa5\xc3\xf9\x13\xc1\xb1\x1e\xe8\x14\x92\xb3\x06\xf0\x60\xcc\x0e\x5c\x69\xe6\x00\x11\x9e\x88\x05\x15\xcd\x83\xe2\xf7\x42\x29\x3e\x12\x81\x54\x95\x8a\x39\x3b\xc6\xd2\xe7\x00\x80\xe1\x57\x3c\x87\xd2\x6e\x76\x1a\xf7\x59\x0d\x8b\xbd\x19\x18\x2b\x7b\x76\x15\xd7\xcb\xeb\xe2\x4b\x73\x80\xa0\x03\x1f\xef\xa6\x66\xd7\x2a\xe8\xa5\x72\x52\xf8\x29\x1c\xc2\x9f\xa7\x52\x79\xfa\x2a\xbb\x98\xf8\xe3\x79\xb8\x32\xd4\x5e\x5f\x9e\x9c\x22\x0b\x70\x4b\x83\x09\x75\xd6\xfe\xe5\x1d\x50\x55\x0e\xc7\x41\x75\x8e\xff\x54\x6f\x47\xba\xac\xe0\x3d\x45\xda\xca\xc7\x5e\x29\x12\x77\xf0\x43\xe1\x5d\x7f\xde\x54\xb8\x15\x6e\x16\xe6\x83\x37\x62\xa1\x02\x8f\x07\x6e\x53\x49\xb4\x19\x7b\x23\x48\xe6\x88\x84\xf5\x83\xe2\x29\x18\x42\x47\xe8\x91\xad\xff\xb2\x60\xad\x11\x6d\x69\xb7\xa6\x44\x75\x9b\xb1\x77\xae\x7a\x0a\xea\x58\xb1\x76\xb5\x2b\x76\xf9\x57\xa9\x27\x02\x72\x04\x5e\x27\x22\xa8\x72\xeb\x05\x53\x20\x92\x52\xa6\x19\x68\x16\xab\x6b\x50\x56\xd2\x30\x8d\x16\x24\x4e\x23\x2c\x34\x68\x83\xd4\x66\xa9\x2b\xc9\x17\xe8\x5c\xf5\xe9\x6f\xa4\x2f\x03\xdd\x2b\x31\xdb\xc5\x3b\xdd\x61\x97\xc1\xed\x59\x90\x53\x28\x0f\xd2\xc0\xec\x1c\xee\x84\x43\x64\x8c\x3d\x7e\xd4\x65\x3d\xbc\x0a\x61\x1e\x20\x7a\xbe\x77\xfb\xb0\x53\xfd\x06\xfc\xcf\x8a\x1d\xe1\x43\xbf\xc5\x32\xc0\xf0\x72\x0d\x74\x34\x74\x57\xf6\x41\xaf\xfc\xd6\xdf\xf9\x2d\x71\x20\x50\x8b\x72\x2e\xb4\x38\xa5\xbc\xc2\x66\x01\xc5\x02\xce\x4d\x1e\x3e\x2a\x4d\xaa\x19\x42\x22\xb8\xf2\x4c\x4f\x9a\x00\x0e\x6d\x1d\x4d\x60\xf6\xb4\xb7\xed\x9d\xbe\x70\x97\x07\x8d\x68\x13\x2c\x8a\x5e\xc5\x8a\xa6\x21\x23\xec\xca\xdd\xdf\xcb\x5c\xde\x63\x02\x70\x9c\xbe\x11\x8b\x9e\x19\x75\x89\xd1\x58\x2d\x0e\xaa\x60\x6c\xc9\x4a\xcd\x37\xbf\x81\x42\x24\x7e\x01\xc1\x6b\x77\xbb\x5f\xb3\xf1\xac\xf3\xdd\xcd\xc5\x46\xed\x2f\xae\xaf\xae\x02\x7d\x8b\xee\x77\x3e\xd6\x77\xb5\xba\x65\x46\xdf\x57\x30\xc1\xa0\x66\xa1\xba\x8e\xa7\xbd\x29\x1f\x38\xe3\x95\x1e\x75\x2e\xaf\x85\xf5\xe7\x07\x94\x9c\xeb\x27\xc6\xd9\x17\xd4\x5f\xfa\x41\x1b\x0e\x9d\x83\x03\x56\x23\x2e\xe0\x19\xb4\xb2\x1b\x4f\x79\x8f\xad\x6f\x78\x42\x8a\x2f\x6b\xe0\xaa\x02\x65\x27\x5c\x0b\xab\xe8\x78\x40\xb6\xc6\xaa\xa7\x2d\xb3\x75\x54\xd6\x21\xd8\xeb\xef\xea\xb9\x85\xa2\x47\x92\xdd\xa0\x46\xec\xdb\x6f\x99\xf9\x79\x2f\xb0\x0d\x20\x7e\x33\x70\x7f\x8b\x15\x1e\x99\x7e\xa1\x53\xd3\x0f\x1e\x7e\x5e\x47\x0d\xd7\x91\x81\xec\xe9\x0b\x2b\x11\xb7\x1e\x21\x86\x9f\xfa\xc8\x08\x96\x67\xed\x97\x05\x5c\x84\x43\x71\x40\xcb\x53\xfe\x90\x5e\xa7\x72\x0e\xca\xbc\xe5\x73\xfd\xb2\x8e\x24\xd4\x62\xd2\x97\xc9\x0a\x72\x30\xfa\x4a\x37\x14\x57\xc2\x33\xba\x13\xb1\x20\xb9\x4c\x37\x26\x96\x38\xf2\x68\xc4\x6a\x59\x2f\xa6\x57\x8d\xc0\x75\x13\x1e\xb1\x03\xa6\x87\xeb\xda\x7f\xd9\x06\xa1\x58\x6a\x5f\x44\x0c\xb1\xb2\x0a\xad\x15\x30\xcb\x10\x8f\x0d\x3c\xef\x24\xf7\xf7\x60\xd9\xe4\x5c\x66\x1a\x56\x21\x3e\x18\xc3\x4e\x68\xd9\x9d\xd0\xcf\x04\xbf\xf6\x5a\x79\x74\x77\x0f\x85\xcd\xc6\x8a\x91\xe5\x19\xf7\x85\x79\x3e\xd4\xc2\x6c\xce\xb3\x91\x00\x3b\x53\xcd\xf4\x4f\x45\x8f\x6e\x78\x3a\x10\x75\xcf\x0d\xae\xd0\xe3\x81\xdf\x63\xb9\xbf\x77\xb1\x52\xe0\x14\x59\xec\xa0\xa0\xb9\x5e\x73\x76\x1c\x9a\x70\xa8\xaa\xc2\xa4\x45\xdc\xad\x61\xb7\xdf\x54\x72\x5b\x94\xf2\x6b\x81\x9d\xa1\xc8\x62\x37\xe3\xac\xdb\xb0\x11\x2a\x06\xde\xa8\x0a\xf8\x58\xde\xbc\x8a\x75\xac\xe4\x13\xe4\x23\x5e\x4d\xd7\x94\x6d\x62\x29\x0d\x53\x1d\xf0\x12\x09\xaf\x5c\x37\x21\xae\x31\xde\x76\xf5\xb5\x42\x8b\xf0\x07\xac\x76\x59\xab\x19\xbb\x88\x79\xb4\x53\x5b\x4d\x18\x42\x5c\xbf\x76\x82\xf1\x9a\x4e\x50\x19\x5d\xdf\xbd\xe0\xad\x5f\x3e\x5f\xed\xc6\xab\xef\x44\x00\x9b\x36\xee\xa6\x80\xf7\x5a\xcf\xae\x76\xd7\x80\xb5\x54\x58\x86\xea\x6f\xf6\x90\xf1\x3a\xd9\x48\x03\xe9\x5a\xc6\xdd\x64\xb0\x82\x5d\x33\x92\x2f\xcf\x97\xed\xda\x60\xaf\x15\x9d\x9e\x42\x3c\xd6\x1b\x01\xfd\x9b\x2e\xbd\x75\x0f\xbb\x85\x29\xf9\x9f\x7f\x79\x5e\x82\x8e\x64\xb0\x04\x32\xed\xba\x0a\xa8\xe6\xb3\x0a\x88\xb4\x36\xcb\x06\x4b\x62\x53\xd5\x48\xcd\x87\x1a\x68\x25\xd1\x7b\x47\x01\x6c\x93\xda\x06\x4b\xba\x8a\x0c\x5d\xf0\x5d\x35\xa2\x57\x1d\x1d\xe1\x66\x2b\x5c\xc7\x75\xc7\x64\x57\x41\xb2\xde\x6b\x3d\xfb\x7c\x75\x7f\x37\x1e\x6d\x32\xe2\x65\xc4\xad\x89\xad\xcf\x95\x96\x5f\x3a\x7b\x21\xe2\x89\x30\xf7\x6a\x36\x42\x66\x99\x30\xcc\x5a\xac\x53\x48\xca\x11\x5e\xd2\x3d\x55\x45\x47\xdf\xd7\x01\xf0\x6d\xad\x10\x2a\x63\x46\x5a\xaf\x98\xf0\xde\xad\xde\x70\xbc\x35\xbc\xba\xbf\x3b\x8a\x1b\x25\x6f\xac\x55\xdf\x5e\x46\xf7\x77\x47\x8d\x6a\x25\x01\x55\xb2\x97\x19\x8b\xe4\xac\x9f\x08\xf6\xb7\x99\x74\x2c\xd0\xb7\x07\x14\xd5\x3e\x36\x03\xb9\x8c\xd3\xdc\xe8\x86\xe0\x8c\xe5\x09\x42\xf1\xae\xad\x8c\xf5\xa0\x23\x0d\x2c\xe8\x41\xa1\x0f\x7c\x9f\xf2\x2c\x88\x88\x25\x71\x2e\x32\x9e\x24\x8b\x66\x61\x48\xd0\x70\x9a\x49\xd0\x9b\x0b\x70\x8e\xb7\xb7\xbb\xf3\x93\x97\x27\xf5\x6c\x14\xa7\x11\x6f\x74\xd9\x47\x53\x60\x1f\xfd\xab\x65\x62\xa3\x80\x7c\x4b\xc1\x29\x6e\x3a\x9e\x8b\x2f\x6c\x6a\x7f\xfb\x2d\x8c\x5a\x0e\x67\x73\x58\x42\x56\xab\x38\xcd\xe0\xa2\x49\x5f\xaf\xbd\x28\x2e\x3b\x35\x80\x0f\x0a\x35\x4b\x72\xa7\xf0\xd3\xcf\xb0\xd3\x03\xc3\x06\x8d\xbf\x22\x3e\xbe\x07\x07\x89\xa6\x58\xf7\xf7\x65\xad\xb6\x6c\xef\x51\xdf\x86\x05\xd0\xbe\x2b\xb1\x54\x3b\x1a\x76\x00\x4a\xb9\x33\x31\x3a\xbe\x9d\xd6\x6b\x17\x97\x97\x97\x97\xfa\x84\xc5\xce\xee\xb3\x1a\xe4\xde\x1f\x11\x9c\x6d\x2e\x92\x99\x68\x27\x5c\xe5\xaf\xd3\x48\xdc\x5a\x29\x46\x2a\xdf\xdd\x40\x40\x08\x6c\xdd\x83\xd1\x58\x2e\xf6\x7d\x48\xc9\x9c\xe2\x1d\xe8\x44\x5a\x35\x57\xb5\x1c\xb0\x7b\xff\xa0\x62\xcf\x6a\x56\x6c\x06\xd1\x0c\x47\xd7\x62\x9d\x4a\x91\xb1\xd0\xc8\x4e\xdb\x6b\xef\x16\xea\xc0\x2e\x54\x20\x16\x5c\x16\xbd\x4d\x8b\x27\x5b\x69\xd4\x40\x43\x18\x2b\xe2\xe2\x68\x07\x32\xcd\xe3\xd4\x94\x4d\xfe\x52\xd5\xb9\x96\x40\x56\xf5\x5e\xe8\x06\x09\x6d\xc5\xb0\x96\x76\xe9\xf5\x00\xbd\x6f\x30\x41\x53\xa4\x75\x96\xe4\x85\x50\xdf\xad\x17\x1a\x0e\xbe\x90\xe9\xa5\xc4\x3d\xd0\x24\x01\x29\xa2\xaa\xf4\xda\xac\x4e\x76\x68\x9f\xcf\xa1\x19\x52\x37\x07\x8f\x34\x4f\x3b\x7e\xf8\xea\xfc\xf8\x0c\xde\x24\x82\x43\x7c\x08\x24\x8b\x4a\xb8\x1a\xb7\x1b\x45\x25\xd4\xa6\xbc\x81\x62\x80\x2a\x79\xc3\x04\x1c\x99\x11\x97\xb5\x9d\x5a\x57\xff\x07\x5d\xda\xf5\xda\x76\xe1\xbf\xe6\xef\x4b\xf8\xfb\xd2\xfc\xcd\xe1\xcf\xdb\xbd\x27\xe6\x41\x9f\x1e\x3c\x35\x0f\x04\x3e\xe8\xf4\xcd\x83\x21\xb5\x18\x98\x07\x29\x3d\xe0\xe6\x41\x46\x0f\x22\xf3\x20\xa7\x07\xcf\xcc\x83\x1b\x7a\x60\x81\xde\xd6\xba\xc5\x99\x19\x09\x90\xae\xe4\x2b\x0e\xff\xab\x5f\xf7\xbf\xe0\xe9\x1f\x90\x4d\x55\xd2\x1b\x7b\x3a\x02\xd4\x26\xeb\x3c\x6e\x98\x1b\x29\x8d\x64\xf6\xfb\x46\xf2\xf0\x2b\x8c\xc4\xea\xfd\xbc\xc8\x8a\xc1\x18\x52\x8f\xf1\xe9\x52\xe9\xc9\xdc\x79\x90\xa4\xbb\xce\x32\x32\x18\x3b\xc6\x6d\xa6\x30\xe1\xd3\x0b\x7a\x79\xf5\x7c\x09\xa3\x87\x2d\xbb\x98\x0a\x39\x64\x4e\x2d\x62\x50\x43\x07\x89\x81\x07\xff\xdb\x1e\xf0\x24\x41\x17\x2d\x5f\x6a\xa3\x4b\x64\x49\xe6\x70\x5e\x3f\xc6\x7f\x50\xe5\x3c\x03\xb7\x84\xa5\x5b\xb1\x78\x74\xe3\xf9\xf3\xc5\x42\x38\xb4\xbf\x02\xb7\xaa\xdc\x37\x5f\x81\x83\x87\x9a\xf2\xb4\xcd\xd8\xbb\x0f\xbd\x73\xd4\xe8\x92\x2a\x19\x9a\xee\x8c\x12\xd9\xe7\xc9\x0e\x1d\x6f\x6c\x98\xf0\xd1\xdd\x8e\xf4\x0a\xc7\xa1\xa9\xef\x35\x04\x2b\x6c\x7c\xce\xb0\xd7\x65\xeb\xab\x25\xd7\x2c\xe5\x09\xda\xbe\xba\xac\x37\xe5\xa9\x73\x77\x35\x9e\xd7\x08\x83\x0e\x36\x03\x78\xd9\x79\x0a\x75\xe1\xb3\x05\x3b\xb0\x2d\x4b\xe7\xaa\xa3\x43\xdd\xf0\xb7\xdf\x2a\x60\xb6\x34\x8c\x8b\xbd\x2b\x23\x03\xdf\x73\x9d\xac\x95\xf4\xad\x07\x1e\xd2\xab\xc1\x8d\x13\x3e\xd0\x06\x56\xd5\x69\x67\x19\xdd\xd2\x1a\xe1\xa0\x42\xbe\x7f\x88\x2d\x37\x22\x2d\x63\x42\x1d\xc8\x19\xf8\x8b\x2e\x5d\x68\xea\xde\x5f\x63\xf8\xc6\x53\xd3\x80\xc4\x7f\x80\xa0\x42\x1b\xde\x8a\x3b\x42\xc9\x9e\x17\x4a\xa3\xe4\xd2\x82\x12\x1b\x3b\x64\x49\xac\x20\x06\x0d\x82\x86\x58\x2a\xd3\xd6\x7c\x1c\xe7\x02\x13\x05\x06\xc4\x4f\xce\xaf\xe6\xb0\x64\x38\x77\x47\xdc\x37\x32\x8e\x56\x92\xb6\xd5\x3a\x15\xdd\x61\x70\x30\x1e\x69\xef\x5e\xaa\xdd\x76\x2e\x54\x6e\xb8\x58\x70\x71\x0d\xe5\xc9\xdd\x4b\x75\x7f\x77\x34\xc1\xb4\x74\x4b\x68\xd6\x64\x09\x32\x16\x53\x0f\x7d\x46\xfc\x35\xd2\x61\x20\x18\x7a\xb4\xe4\xc3\x76\x74\xb6\xd9\x62\x50\x17\xc5\xa9\x06\xe2\x4d\x3b\xd6\x90\x4f\x86\x41\xab\x83\x03\xd6\xea\x34\x36\x51\x9b\xca\x14\xac\xaf\x7a\x37\x78\xcb\x7b\x9f\xd5\x9a\xe8\x01\x01\x1b\x25\xb0\x0b\x18\x16\xef\xc4\xa3\x4d\xfd\x3c\x3e\xfb\x0a\xb6\x7f\x71\x9f\x0f\xeb\x0b\x97\x50\x40\x30\x78\xf5\xf9\x06\x64\x99\x85\xda\xc5\x32\x85\x7b\xe8\xd0\x02\x55\x49\x97\xb0\xd4\xca\x8d\xd2\x17\x18\x37\xbb\x36\xa6\xe2\x1b\x34\x70\x76\x4d\x6c\xc5\x37\x8c\x1d\x26\xfa\x3d\x84\x58\x7c\xc3\x20\x2a\xb8\x6b\x42\x2d\xbc\x7d\xfe\xc6\x16\x6e\x98\x79\xae\xeb\xa8\xb8\x26\x1f\x61\x1b\x08\x68\xb8\xd6\xa9\xde\x86\x98\x38\x48\xe3\x79\x22\x55\x9e\x2c\x58\x22\x86\x39\x93\xb3\xdc\x2e\x07\x30\x89\xbe\x18\xf0\x99\xa9\x0d\xa2\x91\x3d\x91\x37\x82\xa1\xd3\x17\xd8\xc4\x4d\x1e\x54\xeb\xd8\x92\xc8\x01\x4f\x04\x18\x53\x4d\xee\x01\x93\xb3\x20\x2d\x38\x18\xb0\x24\xbe\x16\x6c\x07\x0c\xb9\xc7\xbd\xa3\x9d\xa6\x0d\x69\x1f\xc8\x89\x50\xe6\x68\x37\x63\x91\x43\x08\xfe\xf1\x10\xcb\xd8\x6b\x70\xcf\x16\x7f\x9b\xc5\x37\x3c\x11\x18\x89\x89\x00\xf7\x9f\xec\x60\xe4\x10\x99\xa1\x3b\xfd\x9d\xd5\xcb\x68\x4d\x4e\xb4\x44\xbb\xbb\xec\xdc\xa5\xc9\x3f\xee\x1d\x75\xd9\xfe\x13\xbd\x16\xaf\x3a\x5d\xd6\xe9\xec\xc3\xcf\x7d\xfd\xf3\x01\xfc\x7c\xa0\x7f\x3e\x84\x9f\x0f\xf5\xcf\x47\xf0\xf3\x91\xfe\xf9\x18\x7e\x3e\xd6\x3f\x11\xc2\x13\xfd\xf3\x29\xfc\x7c\xaa\x7f\x3e\x83\x9f\xcf\xba\xac\xb3\xbf\x87\x5d\xec\xe9\xdf\x1d\xfc\xad\xfb\xdb\xc7\xfe\x3a\xba\xc3\xfd\x07\x4d\x8a\xb4\x3f\xd3\xac\x61\x2e\xf5\x00\x4f\xde\x1f\x77\xd9\x43\x00\x74\xfe\xe9\xa4\xcb\x1e\x01\xa0\xf3\x9f\xce\x8e\x8f\xbb\xec\x11\x42\x3a\xf9\x70\xd6\x65\x8f\x10\xd2\xeb\x8f\xfa\x39\x0c\xbd\xf7\xfa\xcf\x5d\xf6\x08\x86\xde\x3b\xfe\x78\xfc\xbe\xcb\x1e\xc1\xe0\x8f\x5f\xff\xf8\xd3\x79\x97\x3d\x82\xe1\xbf\x7f\xad\x3b\x78\x04\xe3\xff\xcb\xf1\xd9\x49\x97\x3d\x84\x09\xbc\x38\x3c\x7a\xd3\x3b\x3d\x3c\x3a\xee\xb2\xa7\xc1\xb0\xc6\x99\x80\xdc\x56\xe7\x87\x2f\xba\x0c\xc6\xf5\x5f\x5d\xf6\x14\x06\xf2\xa9\xcb\x9e\x02\xa0\xe3\x2e\x7b\x0c\xaf\xce\xba\xec\x29\x8c\xeb\xbc\xcb\x9e\xc2\x48\xfe\xbb\xcb\x9e\xc2\xab\x0f\x5d\xf6\x14\x86\xf3\xba\xcb\x9e\xc0\x78\x4f\xba\xec\x09\xbc\x3a\xed\xb2\xa7\x7b\x7e\xa7\x43\x39\x83\xf4\x96\x47\x87\xa7\xbd\xb7\x27\x47\x6f\xba\x0c\xf1\x79\xd8\x65\x8f\x01\x46\xaf\xcb\x9e\x02\x8c\x97\x5d\xf6\x18\x17\xa0\xcb\x9e\x40\x9b\x1f\xbb\xec\x09\x8c\xee\xa7\x2e\x7b\x02\x63\xf9\xcf\x2e\x7b\x02\x63\x79\xd3\x65\x4f\xe0\xf3\xb7\x5d\xf6\x04\xb0\x01\x35\x03\xbb\xac\x13\xac\xc4\x30\x06\xe7\x06\xf6\x97\x2e\x7b\x06\x20\xff\xdc\x65\x4f\xa1\x93\xa3\x2e\x7b\x0c\x13\xfe\xd8\x65\x4f\x01\xc0\x8b\x2e\x7b\x8c\x78\xed\xb2\x27\xd0\xe6\x5d\x97\x3d\x79\x62\xc0\x1d\xe7\x03\x0d\x89\x10\xfb\x00\x86\x73\x7a\xf6\xfa\xfd\xf9\xe7\xde\xd1\xd9\xb1\x5e\xa2\x87\xf0\xac\x77\x74\x76\xf2\xf6\xed\x67\x9c\x6b\xe7\x21\x0c\x12\xaa\x44\x75\x19\x12\x15\xd6\x74\xea\x32\x7c\xf5\xd3\xc9\x3b\x0d\x0e\x3a\x3e\xfd\xf1\xc3\x69\x97\x3d\x40\x6c\x1c\xbf\xed\xb2\x87\x34\xb3\x97\x5d\xf6\xe0\x11\xb6\x78\x79\xf2\xe9\x7d\x97\x3d\x00\x24\x40\x6b\x18\x29\x3e\x7d\x08\x53\x3c\x43\x1a\x79\x00\x9d\xbd\x3d\x7e\xa5\x7f\xc3\x4c\xa9\xf0\x8d\x1e\xd5\x43\x33\x2b\x2c\x23\xa3\x11\x7a\xba\xd7\x65\xcf\xa0\xbf\x37\xa7\x9d\x2e\x7b\xf6\x04\x7f\xee\x77\xd9\xb3\xa7\xf8\xf3\x41\x97\x3d\x7b\x86\x3f\xf5\x76\xda\xdb\xc3\xdf\x7a\x3f\xed\x75\xf0\xb7\xde\x50\x7b\xfb\xf8\x5b\xef\xa8\xbd\x07\xf8\x5b\x6f\xa9\x3d\x5c\xb8\x53\xbd\xa7\xf6\x1e\xe1\xef\xcf\xa7\x6f\x3f\xf4\xf4\xdf\xd4\xdb\xe7\x77\xaf\xdf\xe3\x03\xea\xe8\x73\xef\xfc\x50\xaf\xea\x1e\x8d\xec\xf3\xcb\xd7\x1f\x5f\xbf\x3c\xd6\x3b\xb4\x63\x9e\x1c\x1f\xbd\x7e\x77\xf8\x56\x3f\xb2\x94\xe7\x0a\x6c\x4c\x44\x14\x03\x8f\x53\x1a\x03\x87\x1f\x5f\xff\x78\x78\x7e\xfc\x59\x6f\x91\x2e\xeb\xd0\x7a\x9b\xa7\xaf\x4e\xce\x3e\x1d\x9e\xbd\xd4\x2f\x60\x3c\x58\xde\x42\xff\x89\x74\xf9\xe1\xed\x5b\xbb\xd8\x1d\x24\xda\x4f\xaf\xdf\xbf\x3c\xf9\xf4\xf9\xe4\xe3\xf1\xd9\xc7\xd7\xc7\x9f\xf4\xf3\x7d\x5c\x71\xbd\x0a\xef\x8f\x7b\xbd\xcf\x7a\x95\xf6\x91\xe1\x78\x4f\x71\xc5\xf6\x3b\x4f\xfc\xb3\xe3\xb5\x77\x84\x91\x83\xa2\x3e\x3f\x9d\x21\xac\xca\x61\xa5\xc2\xce\x66\xf8\xa5\x71\x08\x3c\xcd\x4c\x7a\x6e\x97\x8d\x40\x73\x62\xe7\x8c\xaf\x16\x2a\x17\x13\xe4\xef\x90\x12\xc4\x5c\xbc\xe0\x43\xe7\x1b\x88\x41\xc1\xdd\xb5\x61\xc3\xcd\xc0\x21\xf1\x13\x8f\x73\xca\x7c\xbb\x73\x2d\x16\x10\xb8\xbf\x83\xa0\x9b\x2e\x4c\xdf\xbc\x61\x26\xb3\x6d\x21\x99\x27\x0d\x81\x32\x4a\xac\x1a\x83\xa9\x98\x11\x0c\xe2\x6d\x21\xf3\x09\xe6\x9d\x0a\xe7\x4f\xd9\x50\x68\x34\xae\xcf\xd3\xc3\x5e\x6f\x55\x87\x50\x3c\x2a\xe8\xad\xe7\x92\x6d\x1b\x87\x70\x90\x0e\xa7\x7c\x24\xd8\x6c\xea\x40\xfb\x59\xdf\x3d\xe5\x85\xf9\xc8\x7a\xe8\x2c\xcf\x12\xbf\x5d\xea\x80\x2d\x86\x19\xc9\x79\x5a\x35\xd0\x97\x72\x9e\x6e\x37\x54\x97\x96\xfb\x6b\x0f\x96\x48\x24\x97\x25\x94\x9e\xcb\x73\xb9\x05\x46\x6d\x65\x82\x3f\x68\x84\x7d\x99\xe7\x94\x64\x22\x18\xe4\x0b\x78\xfe\x0f\x1e\xa7\x4b\x74\x6e\x87\x09\xf9\xef\x2a\x72\x9a\xd3\x70\x31\xdb\x8f\x7d\xbf\xc9\x78\xcb\x09\xcb\xb7\x4c\x72\xb1\xc1\x4d\xc8\x26\xee\xf9\x4c\xf5\x6a\xfe\xd5\x43\xaf\x3c\xef\x77\xfd\x73\x58\x6b\x32\xf8\xd1\xcb\x65\xc6\x47\xc2\x77\x7c\x3f\xb5\x93\x7f\x87\x73\x67\x6a\xd6\xc7\x78\x15\x40\x86\xe6\x6b\xa8\x51\x62\xef\x79\xaf\xf7\x93\x97\xe6\xc8\x59\xdc\x28\xf3\x2c\xe9\x53\x12\x4a\x09\xc6\x53\x26\xb3\x48\x64\x60\xc8\x43\xcd\x04\xea\x27\x07\x32\x4d\x29\x25\xd9\x34\x93\x7a\x0a\xe1\x91\x54\x1a\x92\xaf\x3b\xc3\x0f\x5e\x53\xc8\xaa\x9e\x55\xa9\xbd\xd3\x42\x36\x89\x48\x28\x80\x89\xe6\x5f\x4e\xbf\x17\xfc\xab\x21\x5d\xec\x9a\xb1\xed\x82\x5e\xca\xf6\x6b\xd4\x66\x91\x18\x2a\xe7\xcd\x55\x1a\x03\x75\xe9\x5e\x80\xbe\x0d\x3d\x4e\xf5\x9d\x44\xd5\x35\x80\x46\x39\x1c\xf7\xda\x65\x13\x84\x9b\x3d\xfa\x5c\x3b\x38\xba\x41\x13\x7a\xbf\xb8\x16\x8b\xab\x8b\xce\x55\x63\x49\x96\x80\x65\x43\x1b\xf0\x5c\x8c\x24\x84\xbd\xe1\x1d\x77\x7d\x43\xbb\xcd\xd8\x01\xab\x99\xdf\xb5\x8d\xbe\x3c\x9c\x4e\x05\xcf\x48\x3f\x56\x73\x7f\x6d\xf6\xb5\xde\x83\x26\xd0\xa5\x66\xff\xd8\xec\xdb\x9e\xde\x31\x7a\x8e\x35\xfc\xb5\xe1\x57\xc0\x9f\xd0\x0c\x5b\xb3\x7f\x6c\xf6\xed\x71\x3a\x90\x11\x7d\x6a\x7e\x6f\xf6\xe5\xbb\x58\x0d\x44\x92\xf0\x54\xc8\x19\x0c\x39\x78\xe0\xa9\x37\xde\xd2\x56\x72\xdf\x36\xed\x36\xeb\x2f\x58\x14\xab\x69\xc2\x17\xf8\x88\xd5\x73\x39\x85\x54\x0b\x70\x3e\x34\x56\x6d\x32\x33\x98\xc5\x4b\xeb\x1e\x67\x52\x44\xfc\xca\xe2\xa8\xbb\x94\xd0\x2b\x97\xba\x49\x5c\xfc\x36\xef\xfa\x6b\xce\xea\x43\x99\xe6\xaa\xc9\x06\x32\x91\x99\x6a\xb2\x78\xc2\x47\x42\x35\x6a\x60\x7b\xd9\xb8\x1f\x4b\x07\x41\x37\x98\xd3\x99\x21\x81\x6c\x07\xd0\xac\x55\x00\xcf\x2e\xe0\x76\xb0\xcc\xee\x08\x60\xd9\x2d\xb3\x1d\x2c\x4b\x7e\x01\x30\x47\x94\x5b\x42\x83\x5d\x10\x82\xc2\x8d\xb1\x1d\x9c\x80\x34\x03\x70\xfa\x4d\xbb\xf6\x05\xb2\x86\x2c\x25\xb4\x32\x67\xa4\xab\x46\x8d\x27\x79\x6b\x94\xb5\x26\x32\x12\xb5\xee\x37\x8c\x5d\x6c\x83\x6e\xf0\xc4\x84\xd1\x5c\xc0\x2f\x56\x4b\x65\x2a\x4c\x62\x93\x16\x65\x35\x49\xc4\x30\x37\xbf\xe1\xbc\x86\x3f\xb0\xa4\x5e\x0d\x53\x09\xea\x83\xeb\x30\xc9\x7f\xd4\x2c\x3e\xa7\x73\x6a\xcc\x07\xd7\x3f\x7f\x1a\x8b\x59\x16\xab\x3c\x1e\xb4\x2f\x53\xd2\xc1\xd6\xbc\x5f\x35\xdd\xef\x65\xad\xab\xa5\x02\x89\xdf\x3a\x4d\x5a\xca\x6f\xe2\x11\xcf\x65\xd6\x4e\x78\x3a\x9a\xf1\x91\xe8\xba\x4f\xf1\xe0\xb9\xac\x89\xb4\x35\x53\x97\x35\x76\xf0\x03\xbb\x84\xe1\x5f\xd6\x9a\xe8\x6e\x0b\x4f\xec\x80\x2f\xc3\x6e\xa1\x61\x97\xbd\x8c\x15\x06\xd4\xa6\x0b\x9a\x40\x26\x12\xb0\x85\x4f\x66\xa9\x3e\xc9\xfd\x61\x5b\xac\xc0\x80\x95\x9a\x4d\x30\x5e\xe2\xfe\x61\x92\x53\xba\x1e\x80\x11\x7c\x63\xb0\xe7\x7d\x03\x0a\xc6\x55\xdf\x78\x83\xb6\x1f\xa1\x54\x55\xf1\x15\xd6\xb7\xac\x05\x65\x99\x5a\xb1\x6a\x85\x15\x97\xee\x40\x1c\x94\xc6\xa8\xd6\x97\x12\x15\xb1\xac\xf6\x7a\xc8\x94\xc8\x9b\x6c\x96\x46\x92\x62\xfd\xdc\x95\xff\x30\xc9\x5b\xb6\xca\x52\xeb\x87\x97\xc7\x6f\x59\x26\x26\x7c\xea\xf2\xce\x98\x19\x06\x63\x65\x71\x1a\x09\x11\x61\x32\x76\xbf\xb4\x94\x3f\x33\x9a\xcf\xd7\x99\x45\x4f\xe4\x6c\x3e\x16\x36\x31\xb2\xa9\x92\xc5\x07\xb9\xc2\xe0\x6e\xdd\x17\x3c\xd2\x77\x67\xfd\x20\xd2\x34\x9c\x0e\x72\xd3\x36\x18\x9c\xbe\x49\xab\xd6\x7c\xcc\xf3\x3b\x8c\xaf\x86\xa6\x67\x1c\xda\x85\xfd\x8b\xd5\x9e\xb6\xfa\x31\xec\x39\xba\x38\xb7\xae\xc5\xc2\xec\xba\x23\x93\xaa\x6f\x5c\x2e\x14\x86\x77\xe9\xa8\x72\xbf\x31\x32\x74\xb7\xf1\x1f\xeb\x41\x62\xda\x14\x34\xcd\x5a\x4a\x8d\x6f\xdb\x7e\x63\x18\x42\xdb\x34\x3e\x8c\x22\xd6\xd9\x7f\x6a\x2e\x56\xb3\x14\x54\xf6\x22\xf2\x63\x1c\x95\xad\x27\x14\x00\xf2\xa6\xd0\x6e\x3b\xb5\x44\xa0\x7d\x40\x55\x09\xa6\x03\xa7\x38\x75\x5f\x6d\x50\xdc\xf9\xee\x9f\xe2\x50\x00\xbc\x0e\x32\xf5\x5c\xa6\x97\xb5\x1c\x2a\x03\x60\x30\x94\x96\x98\x13\x9e\x0f\x65\x36\xa1\xe2\x00\x00\x76\x39\x38\xd3\x21\x25\xb9\x81\xd5\x0f\x33\x67\xdb\xda\xd1\x1a\xeb\xce\xa8\xd0\xa8\x7d\xc3\x98\x21\x8b\x59\x14\xf7\x13\xd1\xea\x8b\x24\x69\x29\x7d\x62\x6c\x4c\x1a\x74\xe4\xc0\xf5\xa3\x95\x09\xbc\x01\x75\x51\xbe\xd6\x60\xe5\xae\x06\x4a\xa4\x3c\xcb\xcc\xaf\x0f\x67\x6f\x4d\x00\xa2\xbd\x5b\xea\x86\x0c\x7a\x6f\x33\x76\x3c\x99\xe6\x0b\xe3\xe2\xa3\xa7\x90\x4a\x46\xc3\x84\x86\x96\xa4\x23\xa1\xae\x73\x39\x6d\xa5\x32\xb7\xd9\x3b\x61\x22\x5b\x4f\xa1\x9a\x83\x60\x92\xb4\x60\x90\xca\x5c\xd2\xf4\xee\x1f\x61\x20\x3d\x38\x2c\x0e\xc0\xad\x91\x71\xf6\x49\xf4\x2d\xfb\x78\xef\x0d\xac\xed\xa7\x53\x98\x3f\x68\xcb\x6c\xb4\x7b\x7e\xb6\xeb\x8f\x5d\xed\x06\x5b\x01\x7f\xbc\x44\xa1\x4f\xe3\x22\x68\xcb\x32\xf1\xb7\x59\x9c\x09\xa5\xd7\x7f\x12\x2b\x05\x0b\x6e\x3c\x2b\x66\x90\x40\x1a\x4a\xcd\xc3\xf5\xd4\x80\xc5\x28\x45\xbd\xfb\x94\x00\xcb\x0b\xce\x11\x50\x45\x69\x8a\xf3\x5c\x4c\xa6\xf0\x8e\xab\x6b\x97\x9a\x51\x2f\x84\xd7\x93\x01\x18\x0f\x59\x2a\x06\x42\x29\x9e\x2d\xa8\xe2\xab\x29\x5b\xc2\x26\x7c\x01\x19\x24\xd5\x98\xcc\xa1\x3e\x00\x3d\x7c\xa1\x72\x16\x0f\x59\xec\x18\x6e\x04\xc6\xed\x9c\x61\xae\x01\x8d\x51\xbf\xb4\x1f\x92\x75\x25\xc3\x20\xee\x2e\x6e\x73\x91\x2a\xac\xaf\x41\xe9\xf6\xd9\x4e\x80\xb7\x1d\x7f\x10\x90\x46\xcc\xfb\x3b\x97\xde\x48\x50\xd8\x0e\x3e\xb6\xa4\xe7\x96\xbf\x05\xe2\xee\xc6\x14\xe7\x89\xd1\xac\x96\x8d\xfa\xf5\xce\xe3\x26\xc3\xff\x6f\x80\x3c\x03\xd0\x90\x04\xcf\x43\x3a\x83\x57\xc8\x8e\xc4\x2d\x85\x33\xa6\x92\xa2\x27\xf1\xa5\xcb\x4f\x51\x35\x52\x10\xc8\xef\x36\x52\x3d\x34\xe3\xd2\x8e\xf8\xee\xf5\xc8\x3d\x88\xf6\xb2\x37\x50\xe8\x67\xc9\x46\xc6\x77\x55\x2b\xe8\x07\xcc\xfa\x4c\x6f\x96\x25\x75\xbd\x75\x54\x77\x77\x77\x24\x65\x7b\x94\xec\xf2\x54\x44\xe7\x6f\x1a\x7e\xab\x24\x4e\x05\xcf\x5a\xa3\x8c\x47\xb1\x48\x73\xb8\x1c\xe1\xcd\xa8\xc9\xfa\xe0\x82\x95\x89\xa8\x51\x81\x14\x15\xff\xf2\x0f\xc3\x09\xa4\xe6\x6c\x33\xf6\xd2\xe4\x5c\xc9\x25\xd3\x02\x5e\xd5\x62\x19\xc7\x95\x7f\xd8\xd8\xac\xa7\xcc\x36\x8b\xd3\xd9\xfb\x77\xfd\xff\xfe\xa3\x81\x48\x73\x91\xf9\x33\x42\x39\x0b\x85\x8f\xaf\x2f\xe7\x11\x97\xa6\x29\xa1\xa4\x46\xbe\x9c\x60\x39\x78\xd1\x63\xf5\xcb\xda\xe5\xe5\xed\xde\x53\x2d\x71\xf3\x6b\xce\x7e\xfe\xa9\xd1\x66\x5e\xce\x73\x33\xf8\x10\x08\xd8\xbd\x3d\x40\x00\xe4\xc9\xf0\xb2\x66\x97\xcb\xca\x13\xad\x09\x9f\xb6\x4c\x4e\x67\x75\xa7\x25\xa3\x7b\x0d\xac\x91\xf1\x9b\x34\xca\x37\x17\x76\x0e\x11\xd3\x14\xd0\xdc\x26\x53\x3a\x67\x6a\x8a\x1e\xaf\x59\xc6\x17\x4d\x92\x1d\x04\x1f\x8c\xf5\x72\xa0\x37\x49\xcd\x26\x19\xa3\x2a\x52\x4e\x14\xd2\x07\x01\xa8\x2d\x4d\x36\x66\x0a\xee\xf2\x7a\xa2\x70\x6c\x7b\x8c\xb0\x5a\xd8\x27\x8b\x73\x25\x92\x61\x1b\x0b\x16\xf0\xbc\x30\x20\x18\x4a\x71\x00\x16\x54\x26\x06\x22\xbe\x09\xa5\xb3\xe2\x48\x20\x88\x1f\x19\xb2\xdf\xd0\x91\xaa\x47\xab\x4b\x88\x55\xe3\xe2\xd7\x9d\xbd\x9d\xee\xaf\x3b\xf7\x77\xba\x3b\x97\x97\xb3\xfd\xce\xb3\xfd\x9d\xe6\x4e\xd3\xfe\xb5\xb7\xd3\xdc\x69\xd9\xbf\x3a\x3b\xcd\x9d\xb6\xfd\xeb\xc1\x4e\xd3\x0d\x59\x83\x81\xe7\x8f\x9e\x3e\xdd\xf9\xf2\xc5\x13\xa7\xa0\xc0\x47\x4b\xa6\x2d\x71\x1b\x6f\x2e\x64\x87\x97\x6e\xa2\x68\x9f\xcc\x3f\xd1\x25\x00\x78\x28\x9c\xcd\xd0\x11\x56\xab\xc4\x82\x28\x73\x3c\xeb\x6d\x1a\x79\xa6\x47\xe0\x8e\x01\xcc\x78\xd3\xea\x27\x71\x7a\x7d\x27\xfa\xac\xd8\x7c\xe5\x51\x01\x78\xe3\x7f\xa7\x64\x66\x33\x3d\x25\x79\xe5\x48\x5a\x83\xc5\x20\xb9\x1b\xfb\xbd\xe8\xec\xed\xed\x35\xd9\xa3\xbd\xbd\xab\x70\xdb\xd4\xce\xbd\xee\x61\x3c\x99\x96\x23\xe2\x94\x4d\xe2\x24\x89\x95\x18\xc8\x34\x52\x95\x5c\xee\x90\xe5\x73\xc9\x04\xe6\x2e\x33\xd4\xeb\x9c\xc0\xe5\x90\x52\x96\xc5\x78\x9f\x49\xa4\x71\x3e\xc5\xde\x5c\x06\x0a\x2b\x6e\x41\x95\x08\xdd\x61\xf0\x4d\x9c\x7b\x6d\xe5\x70\x58\xc4\xcd\xef\x13\x29\x78\x7d\xff\xd1\xa3\x26\xdb\xc3\xff\x6b\x3f\x6a\x10\x5e\x8a\xa2\x05\x8a\x0c\x74\x1c\xdc\x50\x2e\x25\x1c\x81\x1b\x90\x6e\xd3\x9a\xf2\x44\xe4\xb9\xf8\xea\x1c\xae\x76\x62\xd2\xe0\xa3\xce\xd0\x08\xd7\xe6\x1a\x43\xfd\x56\xae\x95\x5f\x61\xa9\xc8\x1f\x91\x29\x61\x92\x11\xc3\x2b\xd9\xeb\x61\xa9\x9d\x5d\x26\x4a\x23\x87\xec\x14\xd4\x18\x11\x65\xb1\x5d\xc1\x5c\x2d\x47\xb3\xb2\xb0\xe6\xc5\x90\xaf\x39\x1e\x80\xb2\xe0\x96\xc5\x29\x5d\x42\x11\xd9\xab\x26\x04\xb9\x32\x97\x4c\x29\x99\x48\x30\xba\x2c\xd8\x40\x29\x82\x85\x4e\xd9\x94\x08\xcf\x0e\x81\x52\x66\xb0\x7f\x3b\xfb\xf1\x45\x93\xfd\xdb\xd9\xd9\x8f\x3f\xbe\x78\xd1\x64\x5a\xd2\x6c\xb7\xdb\x0d\xf8\xc5\xe9\x27\x94\x84\xd1\x30\x01\x1e\xe6\x9c\x76\x47\x21\xcf\x31\x25\x5c\xa2\x24\x9b\xf2\x2c\x37\x94\xa2\x72\x39\xb8\x66\x7f\xee\x74\x34\xa8\x76\x7e\x9b\xa3\xa1\xaa\x6a\x4a\xff\x2d\x67\x30\x9f\x99\x12\xcc\x68\xd0\xd0\x3d\x5b\x4f\x6e\xe1\x32\xab\x98\x05\x47\x86\xef\xf6\x86\x66\x2b\x06\x58\x5f\x50\x4d\x84\xc8\x4c\x3a\xb6\x2e\x74\x70\xd1\xbd\x8e\xa7\x53\xc8\x7a\xc7\xd4\x84\x27\x09\x43\x17\x5f\xf0\x13\x4c\xa3\x78\x10\x7b\xb3\xb3\xcc\xd2\x9e\x30\x95\x24\xe4\x6d\x83\xe9\x42\x73\x75\x2c\xfe\xb2\x31\xf5\x3b\x5d\x76\x05\x4f\x3f\x9c\xe5\x72\xc2\xf3\x78\x00\x19\xfb\xb0\x76\xa0\x04\x5b\x9f\x2d\xea\x63\x68\xc7\x14\xd0\xb3\xe3\x99\x29\xd1\x22\x9c\xb5\x90\xff\xb7\xa0\x52\xe0\x1d\x06\xb6\x82\xaf\xe7\x92\x91\x23\xa1\x5d\x20\x3a\x6c\xb0\xac\x25\xd6\x51\x9b\x59\x59\x0f\x4c\xc0\x2d\x3b\xfc\x16\x44\xe0\xdf\x79\x60\xcb\x4f\x41\x38\xfe\x8c\x7d\xda\x61\x0b\x03\xfe\x75\x77\x71\x3a\x72\x4b\x97\x67\x49\x6b\x9a\xcc\x54\x6b\x12\xa7\x33\xd5\xfa\x45\x64\xb2\xf5\x8b\x94\x93\x3b\x08\xa0\xe5\x21\x59\xf9\x13\x5c\x16\x4f\x93\x99\xda\x85\xa2\x18\xbb\x7f\x11\x99\x0c\x0b\x55\x78\x3b\xe4\xf5\xd0\xa0\xdd\x4b\x9b\xb3\xf2\x63\x6a\x09\xaf\x41\x1a\x55\xec\xe7\xcf\x56\x22\xa9\xb9\xde\xe1\xd3\x48\x5f\x2b\xf2\x71\x09\x0d\x83\xed\x16\x63\xa5\xe4\x0d\xfa\xe4\x23\x8d\x6e\xbd\xb1\x62\x83\x07\x53\x2b\x33\x97\xe0\x95\xa3\x5f\xc0\xc7\xde\xec\xe1\x4b\x98\xf3\xfd\x23\x33\x97\xe0\x03\x84\xe4\x20\x23\x80\x60\x26\xa6\x72\xde\xd7\x9b\xca\x47\xac\xc2\x53\x9a\xca\xc7\x0d\xa7\xf2\xd1\x4c\xe5\x63\x79\x2a\x0e\x72\x38\x15\xc1\x55\xde\xe2\x2a\xe6\x69\x8b\x4f\xfa\xf1\x68\x26\x67\xaa\xc5\x55\x2b\x9f\x4b\x2d\x03\xcc\x26\x9b\xdf\xfe\x36\xd6\x23\x1f\x73\x95\xb3\x43\xdd\x27\x3b\x34\x7d\xfa\x01\x04\x58\x6f\x6a\xae\xe9\x4f\x0f\x80\x41\xa5\x39\x37\x62\x48\xeb\xd9\x02\x7d\x6b\x8b\x28\xf4\xeb\x8c\x11\x92\x7d\xe7\xd2\x24\x0e\x85\x1e\xca\xe5\xd1\x8d\xae\x0e\x12\x74\x61\x32\xf0\x7c\x2c\x26\x85\xd3\xe7\x37\x64\x17\xe2\xb2\x96\x24\x2c\x13\x6a\x8a\x77\x18\x98\x57\xab\xbf\xc8\x05\xbb\x11\x99\x32\x5e\xe4\x39\x64\x61\x2e\x77\x65\x77\x57\x26\x46\x3c\x8b\x12\xa1\x94\x73\xf7\xc0\x7a\xbe\x45\xbc\xf4\x65\xb2\xb9\xfe\xb4\x42\x36\xca\xb3\x58\xe5\x3c\x17\x3e\x4e\x82\x04\xe8\x9a\x1f\xeb\x4e\xd8\x1c\x2b\x0d\x41\x35\xa0\x50\x25\x84\xbe\x44\x49\xb4\xdb\x47\x4b\x8c\xb5\x65\x18\xdd\x50\x9b\xb1\x57\x06\x87\x86\xbf\xa7\x32\x9b\xf0\xc4\x87\xda\x66\xec\xfd\x2c\x01\xef\x24\x6e\x4d\x5e\x55\xf3\xd5\x04\x8b\x5d\xdd\x69\xe6\x65\x9e\xba\x64\xd6\x38\x1b\x12\x14\xeb\x4f\x5b\x9d\x47\x4c\x33\x7d\xd6\x79\x1c\x0a\x57\x0d\x3b\x63\x70\x28\x4c\x17\x15\xb8\x61\x65\x64\xb8\xe2\xbe\x85\x39\xda\xd3\x17\xf4\xcc\x5b\x28\x2e\x56\x9e\x65\x3d\x7d\x19\xe0\x26\x95\xa1\x11\x7c\xad\xae\xd9\x0a\x28\xc0\x48\xe6\x59\xac\xf9\xc7\x52\x71\xa0\x34\x52\xf8\xe0\x2b\x89\x29\xb6\x30\x23\x0c\x25\x97\x38\x1a\x16\xc5\x99\xc0\x7c\xdd\x54\x89\x13\x1d\x24\x97\x0e\x2e\x12\x83\xce\xfe\x5d\x6f\xc4\x15\xfc\xe2\xcc\xdb\xd6\x7a\x64\x97\x35\xe5\xeb\xae\xbd\xf2\x59\xc1\x5d\x50\x6f\xaf\x99\x96\x1b\xb5\xa4\x68\x08\xe5\xe5\xf1\x91\xad\x85\x00\x79\x5d\x3b\xfb\xde\xf0\x6f\xe2\x4c\xa6\xfa\x46\x78\xd7\xd1\xff\x5a\x3b\x3f\x3e\x7b\x57\xeb\xb2\x1a\x18\x9c\x5a\xfb\x8f\x1e\xe3\x5d\x0c\xa3\x52\x4b\x97\x57\x23\x6c\x79\x5d\xb3\x1b\xca\x75\xa0\x9a\xa1\x0e\xc8\x0c\x53\x6f\xd9\xd6\x90\x4f\xe2\x64\xf3\xf3\xbd\xe0\xd2\x51\xdb\x79\x29\xfe\xca\x3f\xce\x58\x8f\xa7\x8a\xbd\x93\xa9\xdc\x69\xb2\x9d\x63\xcd\x2a\x65\x6a\xfe\x7e\x95\x09\xa1\x7f\x36\xd9\xce\x3b\x91\x26\xd0\xe4\x9c\xa8\xd6\xa9\x48\x6a\x13\x99\x4a\x54\xf3\x15\x15\x91\xa4\xfb\x24\xce\x05\x03\x2e\xa5\xf7\x86\x1d\x1b\x4e\xed\xce\x6a\xda\xce\xa3\x26\xa4\x4e\xa9\xc0\xaf\x2b\xa5\x16\xa7\x6c\x1a\xdf\x8a\x44\x15\x3a\x9d\x48\x14\xa3\xee\x76\x17\xe7\x69\x1e\xf3\x24\xe6\x4a\x44\x95\xfa\xd8\xb0\x0f\x7b\x9f\xf4\xc6\x90\x89\xaf\x63\x64\xd8\x7f\xb8\xd7\x64\xe6\x3f\x95\x76\x06\xd7\xd7\x1d\xed\x0c\x63\x39\x11\xad\x6b\xb1\x50\x2d\x74\x12\xfd\xca\xfa\x5d\x0d\x7e\x57\x58\x6b\x9b\xab\x33\xe6\x88\xc6\xd6\xd1\x45\xdb\x2c\x54\x83\xb3\x9f\xd9\x9b\x9f\xfe\xdc\x7a\x94\x7f\x3c\x37\x35\x9a\x14\x6a\x08\x48\xb8\xd0\xdc\xd7\x7e\x8a\x72\xdd\xc7\x73\x8a\xda\xe2\x1e\xb4\x42\x27\x38\x02\x87\x93\x6b\xb1\x30\xf5\x71\xee\xea\xf3\x12\x72\x87\x43\xc8\x06\x20\x87\x85\x64\x99\x32\x88\x00\x80\xec\xab\x5e\x31\x39\x13\xfb\x6c\x52\xc0\xba\x3d\x9a\x85\x05\x9e\x56\xe7\x73\x0d\x93\xb9\x46\x62\x10\x6b\x89\xc1\x83\x37\x16\xb7\xdc\x3c\xc6\xbb\x37\xb8\xaf\x11\x20\x17\x85\x40\xe0\x4c\x28\x42\x49\xe1\x61\x05\x16\x63\x3a\xb2\xa5\xfa\x9c\xb7\x7f\x93\xb4\x3b\x64\xe8\x0e\x80\xbf\x82\x3e\x87\x5a\x78\x31\xa0\xac\x8f\x2a\x4d\x03\x55\x1f\xc5\x6f\x55\x13\x2c\xfa\x05\x63\xd3\xd3\x43\xf9\x72\xef\x59\xbb\xc2\x27\xc8\xfe\xea\x81\xae\x99\x79\xcb\xed\x19\x49\x7e\xa5\x78\xb6\xc3\x24\x6f\xbd\xd9\xe9\xb2\x9d\x82\xa7\xf4\x4e\xd3\xb7\x9e\xec\x78\x37\xc2\xb7\xba\xf5\xe9\x61\xaf\x57\xd5\xe4\x27\xfd\xf2\xb2\xf6\xd3\xf1\xdb\xb7\x27\x97\x97\xe9\x65\x6d\xc7\xb5\xf9\x62\x08\x70\xc2\x6f\x5b\x88\xc4\x96\xa1\x87\x8d\x09\xd1\xfa\xcd\xb1\xce\xde\x1e\xe8\x5a\x3d\x36\xfa\x8e\xdf\x32\x0a\x08\x87\x4a\x0b\x2f\x8f\x7a\x4d\x76\xd2\x3b\x6a\xb2\xd3\x77\xb0\x36\x87\xa7\x3d\x47\xa0\x7d\x31\x84\xb2\x3d\x98\x11\x80\xcd\xa6\xc1\x26\x72\x72\x3c\x52\x9b\x1d\xbc\x88\x62\x8e\x2c\x85\x67\xa2\x35\xd4\xbf\xbe\x32\x57\x19\xc8\xf4\x46\x64\xb9\x17\x04\x44\x44\x16\x67\xec\x95\x26\x16\x17\xa6\xd8\x66\xee\xd6\x9e\x88\x3c\xb4\x19\x85\xb5\x72\x4d\x91\x57\x6f\x26\x39\x27\xfb\x17\xb9\xcd\x7c\x0d\xdd\x43\xd1\x3b\xc8\xfa\x02\x21\xc3\xe2\x36\x41\x09\xa5\x41\x41\x35\xbd\x1b\x94\x9c\x29\x81\xd7\xe8\x56\x7f\x96\xe7\x5b\x98\x1a\x3d\x81\xb1\xe8\x98\xb7\xd7\x64\x9d\x26\xdb\x6f\xb2\x07\x4d\xf6\xb0\xc9\x1e\x35\xd9\x63\x72\x05\x7a\x07\xca\x2d\x2c\x75\x8b\xfd\x01\xa1\xa4\xe5\x4b\xc6\x32\x03\xa4\x6b\xd2\x64\x73\xbc\xdc\xe5\xd9\xc2\xbb\x34\x4e\xe2\x48\xe3\x1f\xa1\x53\x57\x68\x77\x4e\x5b\x7f\xee\x74\xec\x9a\x59\x3f\x9b\x36\x63\x27\x29\xe8\x32\xe7\x02\xe3\x64\x63\xb4\x63\x20\x84\x07\x16\x59\x53\x3e\xfa\x23\x4f\x37\x0a\xfa\xd9\x85\xea\x59\xdb\x9d\x70\x76\x4e\x25\x10\x1b\x9d\x72\xc1\x67\xf6\x58\x2b\x9f\x78\xd8\x59\xd0\xba\x78\xda\x4d\xb9\x52\x2d\x9e\xe4\x2d\x64\xfe\x77\x3f\xf1\x0a\xb7\x60\x9f\xce\xdd\x9d\x50\xf7\x06\x9e\x7c\x9d\x76\xfb\x59\xb1\x74\xfa\x52\x83\x01\xb9\x9d\x2d\xf0\x82\x95\xcd\x52\x88\xb9\x46\xf7\x97\x58\xdf\x26\x6d\xd5\x66\xde\x77\xee\x80\x0b\x39\x63\x11\xfa\x6b\xd9\x13\x45\x2a\xe3\x52\xa8\x6f\x1e\x3b\x6a\x1e\x43\xb1\x26\xa9\xbf\xdc\x71\xb1\xd5\x7c\x30\x10\x89\xc8\x78\x0e\x91\x24\xe8\x91\x93\xca\xdc\x76\xed\x14\xf7\x8c\xeb\x4f\x59\x0c\x37\x99\xbe\xbe\xc9\x66\x7e\x91\x5a\x25\x7c\xfe\x84\x97\x31\x2c\xfa\xbe\x30\x47\xa8\x81\x45\x85\x70\xd8\x4d\x3c\xd1\x3b\x4c\x4c\xf8\xa0\xda\xde\x65\xe9\xcf\xe2\xd1\x64\x69\x23\xdf\x3c\x93\x40\xdd\x2b\x49\x6f\x99\xa0\xfd\x26\x10\xad\xf4\x49\x4e\x41\xdd\x36\x32\x0f\xbe\xc2\xb5\xe5\x15\xde\xb3\xd6\x8f\x8d\x76\xa5\x13\x00\x40\xdc\x03\x85\x33\x24\xa6\x08\x08\x0d\xd4\x80\xff\x38\x4a\x83\x33\xf7\xff\x91\xda\xef\x27\x35\x87\xc8\x2d\x68\xcd\x7d\xf4\x8f\x26\x36\xa2\x36\x38\xc1\xff\x71\xd4\x06\x15\xe5\xff\x1f\xb5\xfd\x7e\x6a\x73\x88\xdc\x82\xda\xdc\x47\xff\x33\xac\x0d\x88\xed\xe6\xab\xcb\x88\x00\xf6\x23\x1b\x89\x5c\x01\x95\xa1\x8d\x1b\xa6\x61\xba\x27\x5f\x9c\x96\x30\xe1\x31\xdb\x5f\x16\x6a\xb3\x7c\xd8\x7a\x5a\x6b\xb2\x0b\xfb\xab\x96\xf1\xb9\x0b\xc3\x40\x95\x9d\xcd\x46\x6b\xba\x02\x41\x2d\xe2\x39\x67\xd6\x21\xc8\x7a\xb3\xc2\x18\x97\xd8\xcc\xe3\x08\x8d\xb8\x58\x83\xeb\x12\x3b\xbd\xac\x81\xd0\x72\xa9\x7b\xf6\xfc\xb5\x50\x62\x69\xc9\x14\x44\xb9\x3c\x93\xd7\x9b\x4b\xe2\x2e\x5c\x67\x95\x19\x50\x51\x7c\xaf\x1f\xd2\x0b\x6a\xea\x74\xc1\x6c\x9f\x15\xe3\x91\xb3\x7c\x3a\xdb\x5c\xc1\xe8\x0d\x66\x95\x58\xb9\x6c\x34\x2e\x92\x1b\xba\x2d\x8c\xa7\xcf\xb3\x16\xb9\x83\x7c\x1d\xec\x9c\x8f\xc1\xe0\x02\xa6\x6e\x4f\x86\x9d\xf8\x97\x3d\x42\xc5\x7c\x2c\x44\xd2\xd2\x92\x78\x6b\x32\x4b\xf2\x78\x9a\xc4\x5b\x70\x5c\x6f\x14\x9d\x92\xd6\xcf\xc1\xb3\xfa\x46\xd0\xf9\xb1\x48\x24\x39\x07\xff\x20\x7d\x43\x81\x11\x90\x8f\x3f\x24\xd2\xb1\xac\xc2\x4a\xc7\x88\x55\x68\xd8\xd6\x62\x10\x98\xcd\xe4\x9c\x0d\x4d\x6d\x12\x10\x93\x8b\xe2\xb1\xe6\x77\xff\x88\x8d\x55\xda\x4f\x86\x69\x05\x3b\x1d\xe4\xf9\x16\x96\x32\xbb\xb3\x2d\xb5\xca\xac\xa1\xaf\x09\xf7\xd9\x6b\x00\x5c\x65\x52\xcd\xcb\xf6\x54\xcf\xab\x21\x6b\x0d\xd4\xdd\xbc\x8b\xc0\xe5\xb5\x14\x65\x00\x6e\xe3\x10\x7a\xad\xc6\x02\x3d\xde\x8d\x3a\xac\x68\x72\x89\xe4\x60\x36\xd1\x17\xfd\xda\xd5\xca\x08\x5b\x9b\x28\x8d\x22\xdb\x3e\x7f\x86\x27\x9f\x3f\x77\x97\x44\x2c\xdb\x0f\x36\x89\x57\x9f\xf5\xd5\xac\xff\xaf\x1e\xa3\x4e\xe1\xac\x1f\xf2\x38\x89\xf3\x05\x95\x48\x34\x75\x95\x78\x14\x61\xa9\x44\x35\xde\x55\xb3\xbe\x1a\x64\x71\x5f\xec\xce\x52\xfb\xdb\x06\x84\x73\xf8\x1a\x33\xda\xf1\x94\x89\x5b\x88\x6d\x1a\x19\xd3\x87\x1f\xf1\x3a\xeb\xf7\x66\xfd\x25\x55\x14\x64\x1f\xf0\x91\xa9\xcf\x14\x12\xed\x25\x54\x39\x74\x83\x69\x32\x3b\x02\x74\x8d\xf2\x87\x84\x15\xb2\xb1\x78\x68\xe5\x48\x34\xb0\xf7\x46\x49\xee\xd5\xff\x25\xa7\x29\xf2\x30\xe3\x50\x12\x7d\x36\x18\x8b\x88\x84\x30\x91\xc1\x5a\xa4\x92\xa5\x02\xf0\x03\x85\x51\x65\x96\x2d\x18\xef\xcb\x59\x0e\xc8\x23\xf3\x00\x1a\xa8\xc2\xe2\x44\x55\x65\x8c\x65\xff\xaf\x85\x22\xdb\x1a\xe7\x40\x02\xe4\xb3\xa3\x05\xb0\x32\xfe\xda\x3c\x8a\x5e\x98\x06\x61\x59\x6b\x97\x8e\x16\x29\x94\x12\x44\xfb\x5f\x63\x06\x07\x5b\x4a\x65\xe2\x95\x87\x40\xe8\x76\x1f\x98\x10\x78\xa8\x39\x7d\xe5\xe2\xec\x0b\xcd\x2e\x26\x57\x18\xf7\x8e\x5d\x36\x6c\xce\x07\xb3\x78\x3d\xbb\x3c\xe8\xab\x87\xa1\x1a\x02\x8a\xbf\x92\x61\x55\x11\x16\xb9\x5e\x5c\x7f\xad\x8a\xb9\xbf\xe9\x35\x96\xe6\x9b\x59\xc4\x29\xaf\x8b\xa0\x48\xb9\x45\x0e\x22\xbd\xf1\xc5\x15\xce\x07\x73\x0a\xbd\x46\x86\x73\x23\xaf\x8d\x22\xca\x0f\x26\x29\x2f\x80\x97\x84\xd1\x76\xec\x17\x99\xc3\x81\x35\x6d\x5f\x5e\x2e\x46\xf3\xd2\x14\x26\xf5\xc8\xde\xcf\x92\xe8\x9e\x5e\xd0\x07\x7a\x01\x2e\xae\x5c\xae\xc4\x8a\x16\xed\xe9\x4c\x8d\xeb\xb6\xd3\x60\x07\x7d\xf0\x37\x2e\xc6\xea\xdc\x0d\xd5\xb3\x02\xa0\x4d\xd1\x7d\xe8\x7e\x4e\x33\x71\x13\xcb\x99\x4a\x16\x2c\x13\xa3\x58\xe5\x10\x39\x7f\x13\x73\x53\x41\xcc\xf6\x50\x6f\xac\xc4\xbe\x3f\x96\xf5\xf8\xd7\xe4\x0e\x16\x86\x83\xa5\x18\x34\xe9\x2b\xef\xe9\x76\x7e\xde\xd4\xda\xeb\x14\x53\x7a\x52\x4b\xcc\x94\x4a\x7f\xd8\x8c\x98\x31\x3b\x80\x1e\x6c\xf6\x49\x6f\x2d\x10\x70\xcc\xbe\x67\x7b\x01\xe0\xf7\x32\x77\xf3\x8d\xca\x70\x01\x9e\x9a\x6a\x6e\x5f\x8f\xcb\xd5\x05\x91\x29\x7a\x2e\x0a\x4b\x36\x92\xdd\x84\x99\x62\x75\xe3\xb8\x6f\x8a\xe1\xb1\x21\xd6\x39\xb6\xe8\xd2\x0c\x10\xf7\x43\xc4\xb8\x5a\xa4\x83\x71\x26\x53\x58\xb1\xb6\xcd\x36\x82\xbc\x16\x2f\x6c\x94\x0e\x86\x0c\x08\x3c\x5d\xc8\x14\x43\x13\x06\xf9\x0c\xfc\x26\xcd\x9e\xdf\x92\xd8\xa6\x66\x7a\x7a\x52\xed\x2a\x26\x2a\xa0\x3e\x60\xd6\x8f\xf3\x8c\x67\x0b\xcb\xc0\x95\x92\x83\x98\x63\x9d\x02\x70\x28\x01\xe6\xed\x85\xf9\xad\xa6\x5a\x39\xcd\x3f\x27\x5c\xe5\x47\x96\x7a\x53\x0f\x59\x1e\xd3\xd0\x28\x43\x8f\x46\x5b\xfd\x2e\x49\xdc\x7a\x1a\x47\xad\xbe\xc0\x6b\xb7\xc5\xc1\x52\x92\x36\x33\xae\x22\x67\xaa\x5b\xe9\x0f\x0c\x29\xdb\x8e\x08\xba\x58\xbc\x8d\x55\x5e\x8f\x0d\xfb\xd6\xa2\x0c\x08\x9d\xb1\x62\x79\x3c\x11\x9a\x3c\x68\xa1\x60\x89\x6d\x6a\x66\x02\x09\x27\xde\x5c\xb0\x48\xa6\xb5\x9c\xfc\xcc\xa4\x81\x34\x90\xe9\x40\x64\x29\x93\xb3\x4c\x89\xe4\x46\x50\xfc\x1e\x56\x95\x26\x6e\xc9\x1c\xa9\x03\xf1\xba\xaa\x1c\xa6\x3e\x80\x12\xf9\x39\x8e\xa4\xee\x46\x0c\x46\x89\x98\xdd\x77\xe9\xf9\xf5\xd7\x17\xf1\x55\xdd\x2b\x13\xb4\xc5\x1e\x86\x2d\xec\x70\x00\xa9\x29\x20\x1f\x3c\xf4\x15\xa7\x6c\xc0\x15\x18\x12\xd0\x07\x45\x51\x7d\x84\xb9\xa8\x65\x74\x46\x2d\x4c\xc9\x57\xd3\xe5\xc5\x55\x5b\x23\x80\xe7\x08\x3c\xa8\x66\x53\xbd\x32\xe5\xa1\xd0\x8e\x06\x56\x5d\xfa\x86\xf2\xc7\x86\xe5\xbd\x4c\xe7\xc5\xd6\x57\x85\x64\xfc\xb6\xa7\x6f\x56\xe3\x78\x6f\xa3\x12\xf8\x6a\x90\x09\x91\xfe\xab\x8b\xb8\xcb\xd2\x30\xcd\x4d\xe2\x7c\xca\x37\x84\xbb\xf1\x4c\xce\x8f\xa0\xb4\x11\xfd\xdd\x8b\x7f\x11\xee\xaf\x73\x71\x9b\x1f\x5a\x8f\x8a\xa0\x74\x71\xb9\xc0\x3e\x0a\xd3\x36\xff\xb9\x72\xc5\x5d\x7c\x33\x91\x66\x0b\x60\x01\xd7\x88\x11\xb7\x96\x5b\xbf\xce\xd9\x84\xc7\x69\xce\xe3\x54\x05\x79\xb2\xc9\x49\xca\x16\x45\xd0\x9c\x7c\xcc\x15\xeb\x73\x15\x0f\xac\xf8\x6b\x9c\x42\x20\xab\x2b\x5e\xf1\x20\x4d\xe0\x8d\xc8\xc0\x2b\x8c\x62\x0a\xa2\x88\xea\x6a\x65\x62\x22\x6f\xf4\xef\x4c\xce\x95\xd3\xe7\x10\x09\xf8\x29\xa6\x70\x5a\xba\xc7\x54\x42\x2a\xa9\x44\x44\x23\x1b\xac\x58\x95\x77\xcc\x56\xac\x71\x7e\xfe\xd0\x8b\x4c\xbd\x3e\x34\x11\x44\x02\x31\x03\x2a\xb9\x64\x61\xae\xf3\xe1\x67\x58\xee\xc1\x94\x3e\xe6\x49\x22\x32\x9a\xa1\x72\x41\x1c\x34\x6e\x50\xfa\x71\xd3\x6a\xce\x53\x8c\xe4\x14\xa9\x9a\xe9\x43\xca\x16\xdb\xe7\x69\xbe\x72\x70\x4d\x16\xe7\x35\x45\xe6\xe6\x4c\xa8\xa9\x4c\x55\xdc\x8f\xe9\xd6\x83\xc8\x23\x78\x19\x64\x4a\xcd\x30\xf0\x44\xff\x81\x63\x73\xe7\xde\xb9\x9b\x32\x78\xec\x22\x23\x92\x69\x9e\x71\xe0\x4a\x8a\x89\x74\x28\xb3\x81\xa0\x74\xbf\x78\xe0\xba\x34\xbf\xd3\x8c\x0f\xf2\x78\x20\xda\x6d\x38\xc1\x5a\x00\xd0\x90\x27\xd1\x15\xad\x91\x4c\xf4\x45\x68\x2e\xe9\x75\x8f\x10\x4d\xe5\xf6\xd1\xa6\x2a\x8c\x8e\x45\x03\x9b\x66\xf1\x44\x9f\xa1\x34\x3e\xa0\x18\xd7\x82\xf1\x04\x52\xdf\xe7\x45\xba\x30\x63\x98\x24\xa6\x0f\x1c\x00\x2c\xe2\x80\x67\x90\xd7\x83\xe7\x88\x58\x2d\x58\xfc\x74\xfe\xee\xed\x31\x06\x6f\x81\xa1\x33\x35\x03\x48\x78\x36\x02\xdf\xa5\x14\x3c\x9a\xe4\x10\x87\xde\x64\x63\x39\x17\x37\x22\xc3\x20\x2f\x80\x33\xe6\xd3\xa9\x48\xe9\x42\xe1\x42\x0e\x35\xff\xf0\xea\x22\xa3\xa2\xe9\x54\x12\xfd\xd3\x59\x46\xee\x33\x8c\xb3\xa1\x98\xb3\x6c\x96\x08\xca\xd2\x81\x25\x4e\xda\x8c\x1d\xf3\xc1\xd8\x2c\xa7\xc9\xe9\x9f\x49\x28\x7b\x44\x54\x89\x45\xc6\x61\x2a\x2c\xe7\x23\x56\xbb\x6d\x65\x72\x5e\xc3\x8d\x05\xab\x0f\xdf\x41\x8f\x86\x32\x30\x91\xba\x0d\x47\x42\xa6\x26\x33\xa4\xa8\xc8\x6a\xd6\x31\x22\x89\x76\x14\xd2\x10\x39\x5d\xa4\x66\x4f\x2f\xdd\x6e\x4c\xaf\x05\x24\x1b\x05\x47\x44\xe0\x3b\x99\x70\x34\xd5\x5f\x14\x88\x05\x32\x4d\xdb\x4c\xd4\x18\x3d\x8a\xce\xab\xa8\x0b\x30\xc2\x41\x81\x86\xfc\x01\x81\x67\x49\x25\xd2\x51\xd0\xb1\x49\xc1\x4d\xea\x05\x7d\x23\x55\x21\x35\x56\x6c\x0f\xaa\x5d\x95\x2c\x0c\xb7\x41\xfa\xd1\x7c\x8b\x4d\xf8\x6d\x3c\x99\x4d\x8c\xef\x3b\x64\xf4\xd7\xc3\xd8\x2b\x8a\x97\x54\x8b\xed\x0b\x55\xe5\xd7\xad\x8f\xa0\x31\x68\x1a\x09\x8a\xdb\xfb\xd8\x82\xf8\xe7\x38\x36\x15\x8d\x2d\x3f\xe9\x09\x41\x3b\xda\x54\x87\x0b\xf9\xaa\x7d\xaa\x01\xc4\x1a\xe9\x13\x4c\x06\x0e\xf2\x2b\x41\x83\x4c\x24\x48\xbf\x8a\x1c\x88\xa5\x64\x13\x88\xf0\x72\x4e\xed\x10\xd3\x15\x45\xa0\x6b\x90\x9a\x36\xe5\x3c\x8c\x48\x27\x68\x7b\xfa\xd8\x4f\x65\xae\xe9\xea\x26\x8e\x42\xe9\x92\xd6\xab\x50\x1f\xc0\xc3\x43\xa1\xfe\x3d\xdc\x26\x06\x4d\x96\x09\x1e\xb5\xb0\xf8\xf5\x00\xea\x7b\x11\x69\xc2\x12\xd0\xc5\xd5\x71\x01\xbf\xdc\xbc\x6e\x71\x08\x61\x7d\xf6\xb6\xba\xbb\x6b\xb0\x1d\xc4\x2a\x58\x24\x7b\x80\x30\x8d\xbe\x1b\xde\x67\xaa\xbc\xee\xaf\xdc\x6f\xbf\xb1\xa7\x7b\x3e\x60\x7b\x34\xca\x44\x66\x4d\xf0\x1b\x87\x84\x42\x22\x4b\xe2\x94\xd2\xa5\x83\x4f\xb1\xe7\x0d\x69\xfa\xca\x83\x23\x3d\xd0\x96\x84\xa7\x7d\x1d\xad\x40\x6d\xa3\x7d\x6c\x98\x11\x1c\x51\xef\x10\xaf\x84\x06\x25\x3a\xa3\x07\x52\x66\x11\x24\xc7\x70\xfd\xe1\xab\x53\x73\x7a\xfb\xfd\xa1\xec\x51\x27\xf9\xcc\x4d\x2f\x95\x11\x6e\x35\x8e\x89\xe7\x0d\x57\x70\xa7\x20\x76\x17\x2b\x2b\x15\xc0\x09\x5a\xe8\xf3\x4c\xce\xdf\xcb\x48\x68\x8c\xa6\xb3\x24\x59\xd7\x83\x9a\xf2\xd4\x08\x25\xdb\x76\xb5\xac\x1f\x39\x1c\x2a\x91\xe3\x81\xe7\xd1\x01\x1c\xdb\xfe\x97\x2e\xa9\x4e\x55\x7f\x85\xce\x4e\x00\xa8\xeb\xce\xbb\x1b\x9f\x99\x7a\x85\x96\xa7\x80\x13\x31\xfa\x65\x3b\x01\xaf\xa0\x1d\xb4\x05\x38\x5c\x8b\x2f\xe5\xd6\x15\x95\x6d\x88\x10\x90\x9b\x98\xdb\xa0\x11\x28\x38\x3a\xec\x02\x77\x29\x6d\xa0\xc2\x7e\xf5\x6e\x83\x23\x91\x43\xa7\xcb\xaa\x80\x3a\xf2\xd1\xcd\xea\xa5\xfd\xd3\x2c\xec\x4a\x53\xe5\x6d\x19\x9e\xc2\x49\xd8\xd1\x97\x47\x1c\x60\xca\x72\xd9\x0a\x31\x6f\xbb\xc9\xfe\x84\x81\x2d\x2b\x8b\x9e\x16\x27\xb3\xf9\x5c\x96\x2f\xc0\x26\xd3\xb9\xdb\xf2\x7d\x02\x1a\x5f\x5d\xc5\xd5\x5b\xb0\x60\x32\xc6\x56\xb4\xfc\xa0\x9a\x8a\x8c\xca\x28\x54\x1f\x7b\x83\x0d\x0e\x3b\x0f\xc6\xd2\x89\x28\x91\x1f\x79\x3c\x78\x45\x91\x9d\x02\xf7\xa6\x62\x3b\x41\x21\xcf\x80\x07\xd2\x07\xec\x07\x6a\xeb\xe9\x40\x75\xa7\x41\xdb\xca\xef\x33\x39\x6f\xd2\x3c\x5b\x45\xed\xd8\x19\x8a\xe6\x2e\x35\x00\xc8\xe7\xe1\xf5\x06\xb6\x26\x2d\x47\x5c\xe6\x02\x9e\xb0\x8a\x04\xe1\x00\x6d\x41\x08\x60\xc6\x3b\x93\xf3\xd5\x84\x60\x5a\xa9\x7a\xa7\x61\xab\x26\x85\x53\x09\x2f\x68\xb9\x9c\x7a\xb2\x60\x61\x32\xf9\x58\x4c\x82\x28\xe9\xf5\x44\x52\xd8\xbb\xf6\x72\x13\x56\x26\xc2\xcd\xf7\xbd\x87\x99\x1f\x10\x35\x18\xe3\x2b\x22\xf8\x7a\x23\x7c\xa8\x25\xa4\x54\xbd\xdf\x49\x0b\xba\x47\xeb\x1d\xae\x35\x99\x32\x41\x52\x32\xf5\x4f\x4b\xf8\x29\xe2\xa0\xb4\xba\x70\xb2\x4a\x12\xf2\x56\x4e\x81\xd2\xd5\x15\x16\x35\x93\x73\x6f\x33\x54\x0d\x7d\xaf\xa9\x3b\xa9\x1c\x3b\x9e\x14\x1b\x0e\x7d\xe9\x2a\x98\xa5\xdb\x6a\x0e\xaa\x30\x09\x55\x39\x0b\x6a\xdf\xe6\xd3\x69\xb2\xa8\x87\x2f\x61\x5a\x6a\xe9\xfe\x4b\xf8\xd7\xd9\x7e\x16\xce\x16\xbb\x6f\x2a\xa7\x6b\xf7\x1e\xb6\xd9\x78\xe7\x19\x27\x8d\x7f\xc5\xcd\x47\x53\xbd\xcb\xd6\xab\x3c\x80\x59\x0b\x67\xb1\xf1\xb6\xac\x42\xde\x57\xdc\x99\xd3\x99\x1a\x6f\xb8\x2d\x41\x0b\xbb\xc9\x76\xdc\x64\xc8\x5f\x63\x47\xd2\xd8\x97\x6c\x47\x58\x5a\xdd\x64\xe3\x1d\x58\x85\x7e\x17\xc2\x43\x67\xef\x1f\xb5\x10\xd8\xa4\xb0\x14\xa0\xde\x40\x1e\xb8\x82\x51\x52\xab\x0d\x99\xe5\x76\x33\xfa\x1a\xeb\x64\xa7\xa6\xaa\xe7\x46\x0b\x66\xcd\xec\x31\x3b\x60\x7b\xcf\x59\xcc\xbe\xc7\x45\x24\xd1\x95\xc5\xf7\xef\x07\x99\xe6\xab\x11\xc1\xee\xb3\xd8\x20\x43\x5d\xc4\x57\x65\x1b\x3b\x31\x29\x5e\xc5\x67\x57\x22\x67\x5b\xfe\xeb\xb3\x99\x95\x18\x42\xe6\x55\xb5\xf8\x1b\xf0\x19\x42\xe4\xff\x05\xcc\xd8\xa2\xa9\x8a\x90\x36\x65\xcb\x41\xf3\xc2\x66\x01\xb3\x35\xcf\xc5\x2a\x33\x42\xa0\xe2\x57\x22\x57\x95\xda\x8a\x5c\x32\x54\x4f\xe0\x6d\x36\x11\x3c\x53\x50\xd7\x0e\x72\xd7\xc6\x54\x19\x55\xc3\x89\x78\xce\x0d\xcc\x43\x0c\xf6\xa6\x00\x41\xb2\x46\xc8\xcc\x29\xcd\x28\x7c\x15\x8c\x6f\xde\xa5\xdf\x9a\x38\x62\x05\xea\xcc\x24\x86\xb2\x78\x68\x6e\xe6\x31\x56\x8e\x96\x7d\x35\x98\x65\xc2\xd9\x1f\xd7\x6c\x5a\x83\x8c\xa3\xa2\x1e\xa6\xca\x21\xa9\x70\xd1\xd0\xeb\x64\xd4\x33\xab\x55\x2b\x2b\xb4\x21\x9b\xea\x2e\x5c\x61\x97\x01\x55\x5e\x31\xe4\x4d\xe8\x59\xb7\xfd\x60\x79\x8e\xcc\xf8\x56\xce\xd0\x8c\xbf\x1d\xa7\xa9\xc8\x40\xa5\x8d\x15\xee\xab\x5b\x21\xc5\x5a\xd5\x58\xbd\x96\xc4\x29\xe6\x1c\x1b\x26\x72\x5e\x2b\x62\xc7\x4d\x72\xef\xf9\x12\xcc\x12\x5f\x5a\xd1\xc2\x40\xd7\xf3\xe0\x89\x12\xd6\xe3\x42\xd3\xce\x73\xff\x76\x19\x6a\xf4\xda\xb1\x22\x95\x69\xbd\xe1\xea\xda\xdc\xe6\x76\x82\x81\xa9\x95\xde\x80\xa1\x10\xee\xee\xb6\x74\x6b\x59\xb3\xe2\x8c\xbf\xbb\xbb\xec\x93\x09\x0b\x00\x8b\xb9\x4c\xe5\x2c\xd3\x34\x2b\x32\x65\x53\xa6\x81\xa2\x17\x16\x05\x72\x5f\x69\x4e\x24\x78\x53\x6f\x09\xa8\xbe\x8b\x70\x20\xef\x40\x4d\x41\x72\x4b\x0a\xe1\x16\x19\x57\xc2\xe5\x70\x6a\x1b\x4f\x13\x82\x7e\x50\xa5\xc7\x6c\xd3\xdb\xe7\xd5\x6a\xce\xb6\xfb\x98\x90\x59\xdd\x4c\x2d\xd2\xc1\x11\x8c\xbe\xee\x6a\x57\x83\xb2\xb0\xba\x57\xcc\xad\x7c\x84\x8a\x44\x91\xd5\xf5\xeb\x65\x7b\xa5\x0d\xfa\xef\xe8\x68\x1c\x27\x51\x5d\xc3\x2c\x36\xb4\xdb\x46\x46\xc2\x39\x3d\x2d\x9d\xc8\x9a\x19\x87\x53\xf1\xf6\xd9\x3b\x9e\x5d\x07\x9c\x11\xe4\x24\xf0\xda\x00\xdb\x28\xd1\x9d\xb0\x51\xcd\xa9\xa6\x11\x4d\xf1\xbe\xc9\x02\x14\xcd\x96\x46\x21\x78\x84\xb2\x9e\x45\xb4\xf0\x18\xc0\x8a\x69\xcf\x32\x48\x79\xe1\x14\x64\x1a\x32\xd9\x7e\xd1\xf0\x7b\x2d\x14\x8b\xa1\x26\x32\x26\xfb\x83\xd3\x67\x20\x27\x7d\xdd\x4d\x3e\x87\xe8\x70\x88\x0a\xb7\x5d\x5a\x9b\xb2\x05\x09\xce\x98\xc6\xe4\x1c\x8e\x17\xc3\x50\x6c\x06\x7a\xbf\xcc\x37\x24\xe0\x10\x7a\x98\x64\xe3\x09\x27\xd5\x66\x0c\x59\x0a\x18\xa1\xcc\x2b\x48\xdb\xc6\x73\x63\xe7\x9b\x66\x31\x6a\x45\x43\xa5\xb1\xe5\xe7\x14\x37\x39\x99\xc4\x39\x9a\xc6\x02\xec\x35\xd9\x2c\x85\x14\x3e\x98\xe5\x6f\x9a\x89\x81\x88\x8c\x67\x40\x26\x0c\x14\x58\x1c\x9f\x21\x82\x61\x58\x32\x0e\x41\xa4\x85\x51\xaf\xe4\x93\x30\x90\xb7\x71\x2a\x4e\x3c\x1e\xb3\x9e\x57\x2a\x91\x2f\x65\x81\xe8\x71\x5d\xbc\x0a\x27\x72\xe0\x1d\xc3\x0a\x9c\x3b\x19\xc7\x50\x6b\xa0\x3a\xab\x22\x5e\x2a\x9f\xe8\x66\x9a\xde\x20\x45\x00\x1a\x1b\xe8\x1c\xa8\x92\x65\x80\xa9\x16\x9a\xbb\x0e\x56\xea\xfa\x96\x1e\x8f\xa4\x6d\xd3\x40\x3c\xa7\xc6\x6a\x25\x33\x71\xd5\x81\x4c\x95\x4c\x44\x7b\xce\xb3\xb4\x5e\x3b\x74\xb9\x5f\x20\xa3\x6d\x81\x38\x64\xca\x04\xa6\xa3\xc6\x61\xd5\x82\x7a\x63\x81\xc3\x8d\x46\xc6\x0f\x07\x4b\x14\xdc\x85\xbe\xa9\xbe\xb3\x3e\x09\xa9\x10\x6f\x1f\x52\xca\xa3\xbb\x1d\x5e\x31\xa0\x1b\x58\xfe\x65\xb7\xdc\x8e\x77\x62\x98\x11\x7c\xaf\xe5\xa1\xdf\xd3\xd9\x5e\x30\x29\xa7\x0d\x2d\x9f\x38\xd5\xdd\x1c\x91\x50\x5f\xee\x89\x96\xe9\x39\x7d\x45\x67\x6c\x59\x4b\x5b\x9e\x18\x35\x5e\x3e\xb7\x6d\x3b\x75\x93\xdc\xea\x74\xcf\x70\xb7\x95\x96\xe4\x22\x93\xf3\xab\xe7\xe1\x89\x44\x6d\xdb\xa0\x9f\x85\x73\xc5\x55\xcd\x87\x03\x86\x66\x52\x68\x2e\xe7\xa9\xc8\x5e\x9a\x98\x02\x3c\xc2\xce\xc5\x6d\xae\x5f\xd6\x6b\x35\xb7\x54\xd0\xba\xf2\xd4\xb2\x8e\x69\x74\x86\x1c\x79\xb3\x76\xb4\x8a\x13\x39\xa8\x62\x26\xbe\xab\x58\x91\x00\x2a\x25\xa5\x56\x85\x80\xe5\xfc\xcb\xfc\x23\xda\x3b\x4c\x9f\xd3\xeb\xe2\x28\xb7\xec\xc7\x73\x3a\x0b\x64\xa7\x4a\x79\x98\xe6\xbd\x72\xf5\x41\xae\xf6\xf9\x0a\x60\x0d\xef\x03\x75\x7f\xe5\x34\x8a\xc9\x86\x78\xc0\xec\x08\x83\xe9\x3c\xb7\x0d\xe7\x64\x77\xa9\x32\xe6\xb6\x35\x54\x30\xcc\xb8\x45\xf4\x28\xa5\xad\xcf\xf8\x5e\xdc\x87\x02\x64\xbf\xfd\x46\xa0\x7e\xa0\xbe\xfd\xfa\xf1\x4b\xa4\x95\xd2\x6b\x27\x03\x23\x0c\xd3\xc4\x71\x35\xc2\x4f\x71\x75\xee\x1f\x60\xef\xcf\x7d\xd2\x2d\x8e\xb1\xec\x70\x4f\x76\x23\xe3\x12\xe0\x25\xdf\x74\xb1\x06\x90\x34\x77\xc0\x33\x91\xfb\xb9\x39\x73\x5f\x18\x02\x0f\xa9\xf2\x4d\x71\xf9\xc9\xb1\x48\x07\x3d\x03\xeb\x08\x40\xfb\x6e\xac\xe6\x0d\x1d\xaa\xd9\x82\x30\x69\x5f\x68\xb2\x4b\xf8\x54\x89\x7a\x11\xb5\xcd\x2a\x82\x47\xa6\x35\xd0\xe2\x33\xab\x0f\xe3\x4c\x0c\xe5\xed\x6b\x48\x52\x12\x1d\x9b\xfb\xa0\xe7\x00\xfa\xea\x15\xb8\x10\xa2\xdb\x35\x44\x87\x50\x1b\x88\x7b\x1a\x0b\x92\xcb\x62\x7d\xd3\x1a\x36\x59\xc6\x29\x63\x07\x4f\xb1\x96\x62\x2a\x73\x03\x8a\x4a\xb9\x58\xd3\x2f\x0d\xbb\x5d\x5a\x88\x69\x12\xe7\x4e\x0c\x83\xf5\x43\x79\x6f\x2e\xe1\x2f\xab\xc1\xd2\x52\x40\x4a\xd4\x61\x8e\x7f\x3f\x3f\xba\xfe\xfb\x47\x68\xa3\x5b\xbf\x3c\x79\xc7\x86\x19\x1f\x41\xca\xb1\xda\xf7\x51\x7c\xf3\xc3\xf7\x6a\xca\xd3\x1f\x7e\x12\x49\x22\xd9\x27\x99\x25\xd1\xf7\xbb\xf0\xe4\xfb\x5d\xfd\xb6\x86\xbe\xf0\x4c\xe9\x01\x01\x46\xc1\xe1\x8b\x2b\x15\x18\xfc\x31\xd3\xb0\xd9\x64\x72\xc8\x1e\x9b\x1c\xbe\x73\x08\x7a\xc6\x2c\x44\xe8\x01\x65\xfb\x47\x59\xb3\xaf\x05\x54\xd1\xad\x18\x8d\x19\x08\xfc\xb7\x62\x68\xe8\xa7\x67\xc6\x00\x7e\x44\x1c\x13\x1e\x3b\x87\x0d\x0c\x33\xc6\x41\x38\x87\x6a\x48\x3d\xea\x49\xe6\x73\x9a\x85\x82\x4a\x3d\xbe\x80\x9e\xcb\x56\x5f\xb4\x60\xf6\xb8\x0a\x9e\x77\x96\x71\x7d\x10\x99\x0b\xb8\x36\xf0\xd0\x35\x02\x1d\x4f\x35\xc2\x12\x3e\x10\x11\xde\x01\x72\xe9\xeb\xcb\x3c\x65\xa9\x46\xef\x17\xfc\xd2\x7a\x57\x40\x32\xe5\x24\xce\xab\x45\x35\xc2\x77\xe0\x23\x61\x26\xa5\xbf\x76\x0e\x11\x38\x03\xbc\x6b\x5a\x17\x83\xc1\x00\xee\x85\x2b\xf6\xa5\x5d\x75\x7f\x3f\x6a\xd0\xcd\x80\xa9\x69\xbe\x09\xbe\xec\xef\x3d\x46\x33\x48\x64\x2a\xe0\x34\x84\xb3\xb9\x11\x5c\xbd\xa9\x2c\xac\x69\xeb\x3d\xd2\x9b\xb3\xf8\x6c\x15\x3b\xee\xcd\xfa\x2a\xcf\x68\x50\x7b\x76\x5c\x1a\x8c\x1d\x52\x01\x16\xfa\xf1\x42\x08\x4e\x8e\xb7\x4d\x7a\xe7\x7d\x4d\xe7\x6f\x25\x88\x86\x65\xaa\xed\x29\xd7\xfc\x0e\x1a\xa0\x86\xea\x05\x38\xc8\xbb\xef\x9a\x25\xae\x6b\x43\x3a\xee\x15\xa7\x59\x0d\x17\xd5\x26\x81\xe8\xe0\x71\x8a\x63\x74\x4a\x45\xe2\xd3\xe4\x05\xbe\xb6\xf1\x74\x2a\x22\x5b\x66\xc1\x79\xc3\x0c\x12\x3e\x99\x3a\xca\xf7\xdd\xe0\x56\x12\xc2\x84\x2f\xfa\xe2\x28\x89\xa7\xe4\xb5\x54\xa9\x19\xda\xe2\xf4\xac\x92\x65\x2c\xce\x11\xc6\xf7\x2b\x24\x59\xcf\x7d\x4a\xf3\x64\x28\x01\x97\xca\x1c\x43\xec\x60\xf6\x10\x51\xdb\x9f\xe5\x58\xa3\x08\x1f\xf3\xc9\xd4\xfa\xe5\xaf\x77\x2a\x58\xda\xf9\xf6\x4e\x06\x95\x92\x73\xa3\xe2\xb8\xaf\x12\x6c\xf5\x8d\x30\x38\xe8\x0b\x37\x9a\xdd\x5d\xd6\xd3\xec\x48\x0e\x87\xa1\xa6\x16\x67\x82\x21\x19\x9a\x13\xc1\x1a\xb2\x4c\xa8\x1c\x22\x38\x72\x96\xf0\x5c\x58\xbd\xd0\xe6\xc2\x9d\xf1\xcc\x7a\x67\x2c\xb4\xee\x52\x8a\xfe\x12\xe0\x4a\x6c\xae\x8b\x5f\x0d\x59\xd8\xa9\x31\x57\x98\xac\xaf\xa8\x38\xe0\x19\x79\x7c\x1a\xbc\x81\xe3\xdc\xf6\xb4\x58\x20\xc4\x0a\x41\xec\x7b\x82\xaa\xc7\x54\x16\x60\xf1\x86\xbf\x1d\xe3\xb2\xc1\x04\x65\xd1\x65\xaf\x4a\x7a\xa1\x38\x17\xb7\xfa\x06\x25\x49\x62\x24\x03\xc8\x93\xee\x56\xa6\x5d\x7d\x29\x0a\xb7\xdf\xf3\x0a\x35\x9d\x3f\xa9\x40\x6c\xac\x16\xb3\xcd\x5d\xa7\x82\x61\xad\xb8\x5d\x94\x05\x52\x73\xa3\x0d\x28\xf2\xfb\x95\xdc\xe0\x75\xa0\xe2\x9e\x73\x8c\x2e\x8a\x03\x1f\x3e\x97\xa4\x4e\xe5\x3c\xcb\x45\x84\x09\xb2\xdc\x86\x50\x56\x4a\x73\x32\xeb\x5d\x5c\x8a\xfc\x71\x37\x4a\xba\xe2\xdd\x5d\xaf\x30\x51\x22\x38\xe6\x24\x33\xce\x1b\xc6\x51\x81\x76\x6f\xb5\x32\xad\x48\x76\xab\xd8\xc6\x97\x4a\xa3\x2e\x25\x5e\x0c\xa5\x76\xaf\x40\x8f\x55\xab\x38\x47\x6e\x4f\xb4\x87\x9d\x17\x38\xc5\x02\xf4\xff\x96\x33\x14\x8f\x40\x62\xac\x38\x32\xea\x0d\xa2\xcd\x98\xaa\x8b\x63\xa6\xff\x78\xea\xa9\x4b\x1d\xfc\x94\x78\x76\x48\xc9\x26\xca\x05\x8a\x74\x2a\xc9\x66\x53\x7b\x98\x61\xb8\x46\x2e\xc9\x53\x3e\x59\xd8\x50\x18\x0a\xdf\x2a\xe9\x5a\x35\x2c\x9c\x61\x70\xee\x55\xe8\xf6\xc2\x78\xd2\x25\x56\x5d\xf4\xe2\x0e\xae\x2e\x79\xe6\xce\x46\x47\xf4\x4b\x2e\xd9\x61\xa3\x73\x34\x2a\xb8\x07\xa1\x94\x74\x67\x23\x8b\xb5\x3c\xe8\xa3\x11\x62\x33\x00\x3d\xc8\xd7\x6c\x0d\x10\x98\x49\x7f\xc1\xa6\x99\x98\x0a\xc8\x79\x89\xd6\x3a\xa8\xa4\x97\x8e\x10\xc8\xdc\xda\x39\x94\x09\xfe\xa3\x28\x77\xd0\x3b\x67\x91\x0f\x0c\x3b\xe0\x63\xc1\x21\x80\x3b\x8f\x27\xc2\x70\x26\x95\x67\xc6\xdd\xd1\xc8\x66\xf4\x04\x30\x68\xc6\xfc\x1e\x6c\x1e\x7a\xc0\xf3\x31\xcf\x9b\x66\x47\x83\x37\x8f\x8d\x64\x84\xb2\x48\x3e\x37\xb0\x3e\xc3\x49\x02\x82\x3b\xc2\xd2\x58\xa2\x98\xf9\xc9\x6c\x30\x5e\xe2\x68\x6d\xe4\x81\xfb\x07\x76\x8c\x66\x30\x6f\xe5\x00\x22\x5f\x07\x63\x51\xb0\xb0\xd9\xcb\x58\xa8\x78\xa8\xd2\x88\x18\x0e\x8e\xd6\x08\x23\xc3\xe3\xf0\xe9\xaf\x89\xe0\x5a\xc2\xf3\xb2\xe5\x88\x34\x0a\xd7\xa9\x8d\x60\xa0\x34\x44\x3c\x99\x26\xb1\xd1\xa8\x87\xc2\x1f\xcf\x8b\x9f\xd3\x3b\x90\x38\xcd\x21\x81\x63\x39\x31\xa3\x5e\x73\x78\x3a\xea\x6c\xb0\x96\x55\x52\x18\xe5\x55\x00\xcb\x53\x0a\xee\xee\xb2\x43\x96\x8a\x11\xcf\x41\x87\x1d\x4e\x1f\xab\x0a\x2f\xf5\x1a\x9f\x9a\x24\x2c\x22\x8d\x0c\x30\x33\x1d\x17\x05\x21\xc9\xc9\x0b\x0c\x18\x8c\x7d\x12\x35\x7d\x3c\x12\x6d\x92\x2d\x19\x3c\x64\x2d\x39\x17\x08\xba\xed\x14\x42\x6a\x89\x69\xaf\x15\xcc\xcf\xc4\x9e\x82\xcf\x7a\xac\x3c\x50\x5e\xbd\x9b\x81\xd4\x97\xf2\x5c\x24\x0b\x36\x4b\x21\x54\x31\x6a\x33\xf6\xc1\xc4\x1c\x34\xbd\xaa\x7d\x2e\x70\x16\xa2\x13\x20\x47\x63\x9e\xc5\xd7\x22\x1f\x67\x72\x36\x1a\xd3\xa5\xb6\xef\x4a\x3b\xc9\xd4\xeb\xb4\xe9\x24\xbf\x5a\xce\x66\x4a\x58\x5c\xa5\x44\xaf\x52\xe1\xc5\x59\x61\xc2\x96\x24\xa2\x74\x29\x60\x50\x32\x6a\xad\x4a\xdb\xa8\x8b\x91\xf8\xed\x37\x2f\x16\xb2\xd2\x7e\x16\x0c\x79\x6d\x73\xaf\x68\xe1\xda\xb6\xf3\x01\xb0\xd2\xb5\xed\xf2\x38\x11\x2f\x79\xce\xd9\x3d\x34\x97\x37\x9c\x20\xbf\xbb\xcb\x5e\x08\x38\xb0\x34\x2e\x06\x22\xe5\x59\x2c\x9b\x46\x60\x06\xe5\xcd\x34\x13\xb9\xc9\xb3\x89\x9c\x8e\xcd\xf5\xa5\xda\xab\x98\xe4\x80\x51\x55\xd3\xc4\xdb\x97\xa0\xa7\xca\x33\x76\xa0\xe9\xe8\xbe\xfe\x19\x84\xea\x92\xa0\x63\x38\xbc\xde\x58\xe7\x90\x7a\xe6\x80\x3d\x08\xa7\x06\xff\xee\xf9\x8d\xab\x10\xc0\xac\xaa\xd6\x1e\x1a\x71\x22\x36\x69\x07\xd4\x08\xb8\x7b\xa9\x59\x37\x86\x1f\x6d\xf4\x8d\x5b\x34\xb0\x94\x86\xf8\xed\x61\x75\xb4\xbe\x41\x73\x33\x74\xb1\xa7\x38\x5e\x4e\xd6\x4a\x4b\x86\xc5\x8d\xc8\x96\x9c\x83\xec\xc0\xc7\x1f\x1c\x99\xf7\x35\xaa\xab\x03\xa2\xf5\xb9\x27\x33\x3b\x92\xb9\xb0\x91\x7d\x03\x3f\xc6\xcc\x68\x5e\x56\x8c\x06\x19\x03\x9d\xe5\xde\xd0\x56\x5a\x05\xec\xb0\x96\x79\x51\x78\x0a\x04\x04\xde\xf4\x61\x17\x75\x08\x55\x97\x86\x60\x34\x40\x74\xef\x37\xd3\x2c\xb3\x03\x16\xf2\xb3\xe7\x25\xbc\x93\x40\x32\x57\xc1\x75\x14\x65\x89\x54\xce\x21\xaa\x17\x2b\x75\x59\x8d\x04\xc6\xc4\xd3\xc1\x83\x82\xad\x95\x31\xab\xcf\x20\x56\x3a\x81\x42\x3b\x57\xd5\x0e\x07\x47\x08\xa1\x9c\x03\x81\x77\x2a\x79\x47\xce\x39\xe9\xe6\x40\xbc\xa4\xcc\x83\xa4\x98\xb3\xc5\x2e\xe2\xb4\x7a\x50\xe5\xe3\xec\xe0\xc0\x9d\x67\x2b\xa8\xb3\x48\x9c\x95\x1c\x40\x6e\x05\x52\xb3\x93\xfb\x05\xc0\x95\xe4\xbe\x0c\x82\xb7\xa7\xd7\xdd\x4e\x1d\x08\x5f\xb9\x46\x75\x32\x1d\x77\xbb\xbf\x15\x20\x4f\x45\x67\xc9\xa8\xea\xa2\xeb\x0b\x5d\xac\x52\xf3\x71\x1e\xae\x95\x11\x9d\xe6\x99\xd4\xf2\x2a\xa4\x02\x30\x51\xc8\x66\xe5\x51\x6b\xec\x13\x26\x82\xea\x8b\x51\x8c\x99\x2d\x65\xb6\x44\x46\x6a\xe2\x8d\x11\x62\x9a\xa3\xbf\xf2\x41\xc0\xc1\xf4\x65\x84\x7f\x43\xf7\x47\x8d\xe7\x18\xc4\xc3\x34\x02\xbf\xb1\xb6\xcd\xf6\x50\x5e\x6a\x2d\x0d\x91\xb3\xb0\x1b\x43\x75\xe7\x6c\x30\x16\x83\x6b\xb2\xd1\x60\x2e\x1c\xa6\x90\x25\x38\x81\xc5\xbc\x31\x96\xa8\x80\x41\x15\x5e\x3a\x0b\x56\xf1\xab\x6f\xbf\x0d\x35\x13\xeb\xf6\x5c\xe1\x7b\xef\x14\x28\xbc\x09\x68\x11\xd7\x78\x05\x37\xab\x1c\xef\x12\x4e\x56\xbc\x3b\xac\xe8\xb8\xb1\xc2\x92\x06\x6a\x10\x11\xe8\x4a\xd6\x38\x2c\xe1\x25\x65\x23\xbe\x4e\x80\x7d\xc6\x5e\xfe\xd4\x5a\x05\xc5\xdc\xb1\xef\xca\x29\xaf\xdc\x20\xab\x99\x96\x23\xbb\x15\xd4\xee\x11\x1c\x18\x2f\x4a\xc4\xe6\x9b\x3c\x0f\x96\x9c\x56\x8e\xc8\xfc\xd6\xdb\x12\x98\x7f\xfc\x79\x36\x6b\xf7\xb4\x92\x4d\x2e\x79\xbf\x82\xe2\x4a\x03\xdf\x90\xda\x1c\x11\xfc\x0f\x52\x55\x59\x46\x58\x47\x56\xe4\x85\x88\xbe\xde\x58\xab\xd2\xdd\x93\x30\x93\x22\x4f\x17\xe6\xa2\xe4\x5f\x6b\xc6\x22\xd3\xd7\x8c\x38\x1d\x08\x48\x74\x61\xc0\x8d\x24\xf9\x81\x39\x69\xaa\xa4\xb2\x72\x68\x5c\x67\x67\xc7\xb1\x56\x7b\xf3\x94\xe4\x39\xcd\xd4\x95\x9c\x08\x34\x7c\xd1\x61\x4e\x55\x03\x2a\xe4\x0d\xba\x18\x22\x24\x23\x0a\xa2\xa9\x2c\xce\x4b\x06\x57\x48\x1d\x83\x5e\xc8\x33\x58\x4b\x67\x00\xd4\x5d\xf5\x45\x3e\xf7\xc3\xd1\x9d\xf1\x6c\xd9\xe1\x77\x77\x92\xb8\x0b\x9b\x29\xc9\x8f\xab\x29\x63\x0d\xbb\xf1\xb4\x8a\x27\xce\x21\x9b\x2e\x90\x25\xc5\x62\xb5\xd7\xf8\xff\xc5\x0a\xc3\x42\xe6\x87\xa5\x3a\xc3\x09\xbf\x7d\x8b\x5e\x64\xd5\x0e\x58\xab\xcc\x34\x74\x85\xb7\x20\x1a\xde\x16\x62\x17\x2a\xcf\xae\xac\x49\x76\xbe\x52\xfb\xb6\x85\xe4\x5d\x32\xa6\x38\x36\xbf\xca\x4e\x62\x6d\xb1\x15\xde\x49\x07\x40\x76\x81\x1c\x1f\x2b\x2f\x0a\xc0\xea\x41\x38\x4b\x65\x4b\x4e\x9b\x78\x71\x9f\x14\xcc\x53\x2e\xac\x63\x29\x33\x0a\x9d\x66\x56\xab\x03\xe7\x4b\x4f\x5d\xf8\x2e\x12\x89\xc8\xc5\xd1\x98\x67\xaa\xfe\x8e\xe7\xe3\xf6\x24\x4e\xeb\x94\xb8\xc7\x2d\x88\xdb\x86\x41\x72\x10\xc4\xba\xb7\xc3\x5e\xc9\x6c\xce\xb3\xa8\x85\x50\x51\x85\x43\x9e\xbc\x7e\xe6\x8f\x8d\x36\xdd\x39\xf9\x20\x80\xe3\x0a\x04\xcd\x13\x63\x44\xe0\x91\x0f\x31\x56\x58\x17\x44\x44\x2c\x11\xc3\x1c\x32\xff\x24\x0b\xc6\x87\x43\x31\xc8\x21\xc9\x49\x51\xe5\x26\x98\xe2\x13\x61\x9c\xa1\xcb\x1b\x71\x45\xe4\x4c\x90\xdb\x41\x0e\x7d\xd0\xb9\xa4\xd1\xb9\xca\xd0\xc6\x89\xa1\xda\xa2\x8d\x40\xa0\x20\x70\x59\x15\xdc\x5e\x1e\xb4\x5f\x1c\x43\x41\xab\x68\xb3\x12\x12\xae\x56\x6e\x71\x8f\x04\x96\x44\x4c\xae\xb0\xb7\x3d\xdf\x50\x7b\xec\x9b\x6e\xe1\xe5\x46\x06\x5c\x46\x68\x3f\x60\x96\x36\x29\x10\xb3\x8a\xc7\x54\xc0\x77\x3e\x0c\x5e\xec\x3d\x61\x74\xcf\x79\x61\xde\xb8\x40\x7e\xa3\xe8\xe7\x59\x8e\xc4\xdf\xd4\x62\xe7\x5b\x4a\xc4\x10\x1a\x14\xd9\xb7\xdf\xfa\x11\x4c\xcc\xff\x6c\x2b\xcf\xbc\xaf\xe0\x47\xe2\x5d\x75\x37\xfb\x94\x56\xec\xbe\x0d\xaa\xd2\x9f\xda\xa9\x6e\x35\x7c\x4a\x4e\x70\x10\xcc\xbf\xe5\xe3\xcd\xc8\xd5\xd2\xa8\xd8\xfd\x96\xdf\x7e\xeb\xf5\xfb\xed\xb7\x21\x16\x0f\xdc\xbb\x40\x5f\xf7\x5e\xfa\x04\x0f\xaa\x4e\xc3\x18\x4c\xcd\xd2\xcc\xd3\x68\xa3\x08\x95\x81\xcb\x60\x9f\xf7\x93\x05\xcb\xb3\x85\x51\xa8\x03\x40\xbb\x77\x81\x6d\x85\x89\x7c\x30\x9d\xec\x3c\x8e\xbc\x5d\xe6\x24\x33\x93\x20\x2d\x50\xb1\x56\x34\x06\x41\x94\xf8\x3b\xe8\x73\xb4\xf0\x06\xd9\x25\xad\x03\x5d\x49\x77\x07\x0f\xb6\x10\xbc\x6a\xac\x66\x85\xfb\x95\x8e\x3f\x16\xf0\x12\xc7\x9f\x25\x64\x89\x41\x45\x45\x52\xd9\xb3\x4a\x38\x43\x09\x9d\x8a\x3b\x05\x6a\x17\x97\xf8\x77\x22\x7d\x78\x40\x0f\xd8\x9e\x26\x06\x40\xdc\xbd\x32\xe3\x09\xbd\x81\xd7\xf8\x21\x31\x72\xe8\x75\x1e\xa6\x34\x18\x7c\x25\xcb\x2a\x3c\xe7\xaf\x50\x92\x3e\xe3\x21\x85\x6e\x70\xe3\xca\x9f\xca\xb4\x05\xa2\x9d\xb9\x42\x14\x9c\x32\xc8\x7f\xc0\xe8\xcc\xef\x1d\xb0\x07\x7a\x6a\xf7\x56\x49\x1a\xbe\x4f\xf0\x5a\x83\x2c\x2b\xea\xe7\x8b\x4a\x8e\x55\x2e\xbd\xeb\x94\x2e\x77\xbb\x0f\x79\x8a\xb7\x15\xe3\x5a\x69\x63\xf0\x28\x72\xc3\xf1\x6f\x7a\x25\xde\xab\x54\x43\x6a\x54\xc3\x82\x2e\xf7\x3e\xd9\xd0\x9b\x7e\x7d\x44\x98\xed\x67\x95\x86\xdc\x36\xda\x68\x32\x4b\x6f\xe0\xfe\x86\x28\x68\x73\x80\xd6\xe9\x3c\xcc\x6e\x42\x59\x2e\x4e\x23\x45\xc9\x60\xfe\xdc\x3a\x3b\xf9\x84\x05\x16\xe1\xb2\xe1\xe5\xd2\x72\xc1\xd7\xd0\x08\x64\x96\x0f\x94\x61\x5f\xcd\xa6\x53\x99\xe5\xe1\x05\xa5\x28\x61\xa1\x37\xa9\x16\xc4\xb0\x17\xf0\xdc\x1e\xc5\x29\x53\x82\x67\x03\xcc\xa2\xe6\x52\xd2\xc8\xa1\x8d\xf5\x72\xa2\x11\x82\xd0\x72\x11\x81\xa0\x3c\x7f\x7c\x89\xb6\xd2\x40\x58\x99\xd7\x48\x5f\x92\x7a\xfa\x24\x3a\x93\xf3\xcf\x95\xa9\x16\x48\x12\xc8\xe4\xbc\x48\xd7\xbe\xce\x88\x55\xbc\x6f\x8f\xb9\x5a\xee\xfa\xe0\xf9\x29\x61\x84\x41\xd5\xbe\xfc\xe2\x2d\x9c\x9c\x07\x2b\xf7\x23\xc4\x37\x9b\xc4\x85\x88\x7d\x87\x03\x38\x70\x4c\x50\x55\x0f\x57\x48\x6d\xba\x44\xaf\x42\x72\x28\x2f\x85\x49\x77\x0d\xd2\x3b\x45\xf6\xfa\x2d\xd7\xa2\x5c\x7f\x58\x8d\x6e\x72\x0d\x23\xeb\xce\xce\xce\xf3\x60\x09\x3c\xa4\x19\xeb\x9a\x9e\x64\x49\x95\x46\xc1\x2a\x9b\xad\x80\xbf\x06\x25\xde\x52\xe0\x1e\xfd\x4c\xf0\x6b\x3f\x61\xb1\xbf\x3e\x68\xfa\x28\xa5\xf1\x52\x45\x82\x4d\x07\xe0\xe5\x65\x08\x95\xce\x93\x8a\xc5\x80\x73\xec\x3d\xd9\xff\x46\xc2\xac\x89\x05\x30\xc4\xab\x4c\x71\x8f\x14\x5a\xc9\x21\x69\x50\x4d\xfd\x4b\x4a\xb5\x08\xf9\x87\xd7\x2e\xd7\x9f\xcf\xe4\xfc\x90\x40\x95\x1c\xaf\x83\x2d\xe2\x7b\xdf\x81\x7a\xd5\xd8\x90\xdf\xeb\x4b\xd8\xc1\xc1\x01\xab\xc1\xc8\x6a\x8d\x32\x32\xfd\x98\x10\x77\xca\x17\xb6\x00\x86\xa5\x54\xe0\xd7\x0b\xca\x04\x3f\x3b\xa4\x73\xef\xd2\xa6\x99\x04\x9d\xff\xd4\xc4\x20\x7d\xeb\xcd\x41\xc8\xcd\x43\x86\xe3\xf6\xc8\xea\x05\x74\x11\x82\xc3\x95\x4e\xf4\x27\x9e\x03\x7d\x40\x1f\xa5\x8b\xe2\xe9\xdd\xe7\xbe\x72\xdd\x0d\xdc\x4f\x71\x3e\x36\x6a\xa4\xe2\x96\x6d\xb2\xb2\xf7\xbd\x8b\x54\xf3\xaf\x61\xad\x8e\xb9\x74\x19\xb2\x3c\x73\x31\x8a\x45\x2a\x73\x02\x1d\x00\xf3\xbe\x58\x02\x73\xea\x42\x3c\xf7\x3c\x86\xe1\x77\x75\xef\x80\x79\xfc\xc3\x7e\x70\x7f\xad\x88\xe3\x02\x1d\x37\x62\x2a\x5a\xe4\x2b\x30\x92\xbb\xf0\x99\x60\x8a\x25\x5e\xe3\x86\x6f\x11\xe8\x2f\x57\x9c\xea\xd3\xac\x62\x81\x36\xda\x3c\x74\x00\x6f\xb2\x77\x5e\x1a\x57\xf7\xbb\xca\x00\xc1\x96\x40\xe8\x5b\xed\x22\xcb\x00\x57\x6f\x23\x6f\xdc\xcb\x41\xac\xdd\x59\x9b\x23\x66\xe3\x8d\x85\x2b\xb5\xe1\xae\x2a\x30\xc7\x02\x49\xfb\x99\x55\xaa\xe9\xa1\xf0\x7d\xb1\x1b\xdf\x8a\xbe\x11\x59\x05\xb0\xf6\x1a\x86\x59\x57\x6d\xc8\x25\x09\x84\xda\x03\x2d\xae\xbe\x87\x52\xc1\x15\xa9\x84\x3c\x75\xd2\x7b\x1b\xee\xea\x7d\x73\x11\x5f\x05\xf7\x22\xd7\x10\x4f\x92\x46\xb8\x99\xbc\x5d\xe3\xc7\x2f\x6e\xc1\x0b\xbc\x3e\x1a\x85\xb3\x49\xef\xd4\x8a\xcd\x65\x83\x9f\x20\xc1\x32\x12\x8b\x4b\x96\x4d\xd9\x64\xaa\x8e\xaf\x3f\xf2\x6c\xb2\x14\x6e\x3b\xae\x3c\x44\xc0\x6f\x36\xcf\x62\x71\x53\x9a\x43\x45\xfe\xa0\x2f\xec\x7c\x2e\x99\xc0\xfc\x41\x98\xa0\xc8\xbf\x41\x14\x91\xa0\x31\x20\x06\x79\x7c\x23\x30\x37\xfc\xca\x2d\xa3\x67\x78\x98\x46\xb8\x9b\x57\x1f\x48\x66\x4a\x45\xe1\x5d\xf3\x65\x3b\xdd\x1f\x36\x61\xfa\xbe\x28\xf3\xfb\xd8\xbe\xed\xb7\xb5\xc5\x69\xf3\xf5\x4e\x0b\xb3\x97\x4b\x58\xf4\x37\xb4\xc5\xdb\xd7\x23\x63\x73\xfd\xf8\xc3\x4f\x89\xf5\xf4\x4c\xc9\xde\xfe\x59\xc9\x79\xc9\x31\x10\xd2\xf2\xdd\x79\x68\xba\x92\x79\x9a\x16\x9a\x26\x3f\xdd\x29\xdc\xdc\xa2\xfd\xfb\x83\x10\x92\xdb\x02\x4b\xee\x03\xbd\xd3\xc3\xf7\x35\xd7\x0a\x72\xb8\xb3\x97\x59\x9c\x24\x0c\x8a\xbe\x93\xf4\x6b\x4d\xdb\x90\x40\x45\x7f\xd4\x06\x14\xdb\xcb\xf7\x66\x84\x8e\xe7\x9d\x47\xe9\xf8\x75\x61\x33\x39\xa3\x64\xd8\xfe\xca\xb6\xf7\x34\x31\xfe\xd6\x0e\xa6\x5e\xbc\xba\x54\x67\xf5\xfe\x67\x3f\x20\x40\x49\xcf\x40\x41\xe2\x5f\x5d\x28\xc6\xbc\x38\x9a\xd2\xe7\x22\x8d\xd8\x71\x1a\x6d\xf1\xe9\x99\x7e\xfb\x85\x1a\xc1\x1f\x90\x5b\x4a\x46\xf1\x70\xcd\xbe\x52\x22\x87\xf6\xe5\x6d\x04\x93\x00\x03\x4f\x13\x01\x3b\x4d\x03\xbc\x0a\xc8\xc5\xbb\x93\x2c\x3f\x75\x3c\xb8\xf6\x9a\x52\x05\x8a\x5c\xbc\x0b\x76\x59\xd0\x40\xa6\xd1\x5d\xbb\x15\x69\x64\x3b\x2d\x83\xa9\xee\x12\xa6\xad\x51\x04\x4b\x59\x31\xd6\x8b\xbd\xab\x66\x05\x36\x2e\x3a\x98\xa4\xd1\x7e\x7f\x9c\x46\xa5\x4e\xe1\xdb\xd2\x43\xf8\xd2\x0f\x0d\xbe\x9d\xf2\x34\x52\x5e\x96\x06\xd0\x1d\x66\xe8\x5f\xff\xe1\xec\x6d\xa9\xc0\xa4\xcd\xc1\xf0\xc5\xfb\xa8\xe7\x7f\x2e\x00\xe6\x6a\xba\xc0\x36\xee\xb3\xe5\xa9\x1c\xe0\xb2\xe9\x9e\x05\x28\x34\x9a\x29\xa0\xc8\x03\x2f\xd7\xc3\x88\xc8\xee\x30\xaf\xef\xb9\x2b\x2b\xb6\xfb\xed\x37\x42\x5c\x2e\x4d\x49\x0d\xf4\x51\xa8\xef\x5e\xaa\xdd\x46\x75\x0f\xc1\xb5\x38\x50\x4f\xd6\xab\x2f\xcb\xb4\x36\xba\x95\xb5\x10\x35\xbc\xa1\x84\xb7\x66\xdb\x11\x7c\xe0\xe5\x46\xaa\x92\xf8\x43\xca\xf3\xef\x07\x1b\xff\xab\x1a\xdd\xef\x86\x74\xe2\xbc\x96\xec\xd6\x73\x53\x39\x60\xad\xce\x92\x3d\xf7\x47\xcf\x17\xc7\x28\xd2\xe8\x77\xcd\xd5\x42\x29\xcc\x33\x98\x40\x79\x96\x14\x08\x8d\x4e\x30\xe0\x52\x8e\xec\x1b\x74\xc1\xb5\xbf\xd7\x98\xcc\x58\xad\x5d\x33\x4e\x72\x53\x9e\x8f\x15\x1b\x66\xe2\x6f\x33\x91\xe6\xc9\x82\x45\xd2\x84\x5d\x25\x62\x98\x03\x1c\xc6\xd8\x01\xab\x5d\xfc\x7c\x79\xa9\x2e\x2f\x2f\x2e\x2f\xaf\xea\x8d\x5f\xbf\x7c\xff\xc3\xce\x65\xed\xf2\xf2\xe7\x7b\xff\xf1\x6f\xff\xe7\xdf\xbf\xfd\xae\xf9\xbc\xfb\xff\x5d\xd5\x0c\x92\xc1\x89\x83\xbe\xdd\xe4\xd3\xbf\xb7\xbd\x8f\xe3\x54\xc5\x91\xc0\xaf\x97\x7f\x7c\xf5\x5d\x8d\x26\x0b\x41\xdf\x38\x49\xf2\xb8\x00\xc7\x90\x92\x1a\xd9\xdf\x4e\xa0\x7a\xb6\x72\x36\x16\xe2\x4b\xc5\x87\xe9\xb9\x3c\xa3\xcd\x1d\x24\x64\xd0\xbb\x96\x00\x81\x21\xde\x5b\x03\x07\x40\x0c\xf3\x33\x31\x9a\x25\x3c\x3b\xbe\x9d\x66\x42\x29\x57\x15\xe5\x4c\x8c\x8e\x6f\xa7\x75\x87\xd1\xfb\xc1\x2c\xef\xb3\x9d\xff\xb3\x63\x01\x21\xaf\x12\x11\x1e\xb8\x07\xe1\xc8\xda\x68\x2a\xa9\x57\xf6\xe6\x68\x24\x04\xa1\xa9\x44\xf3\xa1\xf0\xf1\x0f\xe1\xee\xaf\x20\x23\xc0\x2c\x44\x1a\x79\xbe\x39\x6d\x0f\x61\xaf\x32\x39\x59\x8f\xb0\xa0\x9b\x8d\xb7\x42\xd1\xef\x8b\xc0\x35\x1a\x01\x91\xad\xc1\xf8\xce\xcf\x3b\x25\x5c\x3b\xe2\xb4\xa0\xb0\x08\xdf\x41\x38\x27\xe2\xd2\xd5\xdd\x38\xd6\x0a\xdf\x56\x72\x1a\xc2\xf6\x31\x80\x0e\xd9\xd3\xfd\xd2\xf4\x00\xcc\xc5\xde\x55\x69\x0d\xe1\xf3\xe2\x0a\xea\x87\xdf\x07\x64\x58\x5c\x3d\x13\x22\x8e\xe2\x10\x09\x0d\xfe\xfa\x37\x7d\x60\x46\x26\xd2\x9d\xbb\x63\x8d\x47\x11\x7c\x5e\x37\x2f\x37\xaa\xb4\x28\x93\x44\x8b\xa3\xff\x1b\xab\x2d\xfa\x75\x4e\x0b\x95\x15\xbd\x0a\x8a\x87\xac\x76\x13\x8b\xb9\x46\x42\x8d\x41\x15\x45\x39\x64\xc3\xf8\x56\x44\xad\x31\xd6\x84\x81\xcc\x96\xc0\x91\xcd\x6d\x18\x62\x94\x5c\xea\xaa\x14\x7c\x48\x07\x72\xba\x68\xe5\xb2\x35\x48\xe2\x29\x94\xbf\x37\xc2\x51\xed\xa3\x85\x6f\x4a\x07\x40\xbc\xa0\x89\x53\xe5\x39\x56\xac\xd3\xb3\x34\xa1\x98\xb6\x64\x5d\x6c\xf3\x2e\x61\x96\x4e\x5b\x9c\xed\x14\x53\x6c\x65\x50\xa4\xac\xb3\xb7\xd7\xdc\xdb\xdb\x83\xcf\x30\x6d\x89\x6e\xe5\x15\xa1\x8b\xa9\x2a\xde\xfe\x23\x57\xcc\x90\x27\x09\x05\xa4\x98\x57\x91\x9c\x18\x5f\xe5\x4c\x50\x48\x5b\x84\xa5\xdd\x7c\x60\x10\x09\xcd\xd5\x35\xa3\xea\x79\x67\xde\x68\x5c\x28\x9c\xde\xd8\xc1\x74\x64\xca\x22\x31\x81\x4c\x4f\x94\x56\x49\xf7\x82\x34\x28\xf4\x3a\x53\x26\x4d\x1f\x0f\x3c\x13\x3c\xc8\x1f\x6a\xd6\x0a\xeb\x36\xaa\x78\xa4\xc9\xc9\x24\x4f\xc2\x35\xa1\x7c\x96\x85\xd5\x60\x2a\xd7\xc3\x9e\xcb\xec\x5a\x35\x35\x38\x71\x23\x52\x74\x49\xe2\x49\xa2\x0f\x5a\x2f\x22\xd3\x5b\x5d\x2c\xf4\x80\x43\x94\xc3\x61\x21\xb3\xfb\x7b\x99\x0b\x17\x2a\xfd\xe7\x4e\x87\x4d\xa4\xa6\x4c\xd7\xad\xcd\x2d\xa3\x7b\x76\x8e\xc2\xc5\x8e\xbf\xf1\x8a\xeb\xf9\x7d\x7b\x5d\x32\xf6\x3a\x77\xce\xaa\x51\x3c\x1c\xc6\x83\x59\x02\xe7\xe8\x30\xbe\x45\xc2\xd2\x64\x4a\x05\xdf\xa8\xc8\xa6\x46\x11\x38\xe6\xa7\x39\xdc\x36\x21\x7c\x5e\x5f\x50\x79\x3e\x96\x89\x1c\x91\xcb\x3e\x54\x40\xf4\xba\xd6\x14\xaa\xfc\x44\x56\xfe\x22\x93\xf7\x96\x33\xa3\xaa\xea\x22\x85\x39\x1f\xb1\x94\x4f\x84\x29\x52\xe8\x4a\x38\x63\x29\x4c\x65\x82\xfc\x60\xd3\xff\x6d\x16\x0f\xae\x93\x05\xe3\x4a\x8f\x99\xbc\x31\xb3\x4c\xaf\x28\xd5\x59\x64\xb8\x23\x3d\x3a\x71\x7b\x73\xa0\x4a\xb7\x11\x6f\xc8\x5f\x82\x2d\x73\x68\xd3\xd1\x0d\xf8\x14\x42\x47\xe5\x90\x72\xd6\xd9\x5a\xa4\xdc\x7a\x88\x66\x9c\x42\xfe\x30\xf9\x35\xee\x90\x82\xe7\xa6\xd9\x1a\xe1\x45\xd6\x74\x88\x97\x95\x65\x95\xf4\xe1\x92\xd0\x70\xe7\x80\xf7\x21\x65\x32\x34\x7f\x1a\x81\xb1\xf7\xe9\xf0\xc7\xd0\xb5\x14\x0b\x8c\xcd\xd2\x3c\x4e\x6c\xba\x1e\x8c\xfb\xc7\x5c\x61\xe4\x7f\x62\x9a\x53\x69\xaf\x42\x11\xaf\xce\x5e\x93\x75\x5c\x0d\xb8\x97\x27\xef\x50\xcf\x01\xd9\x84\x35\xcf\x73\xdd\x11\x70\x70\xb6\xb1\xe3\x9e\x25\x38\x62\x5b\x7e\x8d\x8e\x35\x77\x8f\xf3\x3a\x74\xb5\x1a\xed\x45\xcf\x43\x04\x04\xf8\x4f\xf8\x94\x92\x15\x63\x01\xcb\x83\x1f\x6c\x0a\x9a\xa0\xd4\xa9\xb1\xd2\x47\x19\x9f\x43\x12\x36\xb3\x93\x4d\x38\x1d\xe5\x9f\xc8\x84\x6e\xf1\xb9\xde\x00\xcf\xfd\x36\x63\xef\xc9\xb4\x8e\x3e\x89\x50\xa8\xbb\xd8\x18\x9b\x7a\xe1\x0c\x14\x59\xa0\x47\x71\xc4\x07\xe3\x52\xbd\xb9\x2d\x87\x3d\xe7\x15\xe3\xb6\x31\x85\x36\x46\xaf\x30\x74\x33\x1e\xf3\xbe\x38\xa0\x5f\xbf\x98\xe1\x80\xcb\x4f\x34\x83\x18\x01\xe4\x63\xc0\xf8\x72\xf2\x89\xce\xf5\x26\x30\x7e\x99\x54\xbb\x70\xa1\xdb\x62\x61\xce\x98\x8a\x93\xc6\xbf\x08\xdb\x67\xc2\x55\x8e\x57\x76\x90\x85\x4a\x19\xe6\xdd\x7b\xac\xa9\x56\x2a\xc8\x97\xcd\x84\x49\x7c\x38\x53\x8e\x9b\xf4\x21\x05\x91\xc9\x78\x4d\xac\x1c\x33\x92\xa5\x14\x18\x82\xa9\xa6\xdb\xdf\x38\x2f\x7e\x4c\x27\xad\xb7\xb0\x73\x2f\x65\x63\xa9\x72\x06\x97\x24\x95\x2b\x62\xc8\x51\xc6\x47\x66\xe6\xe6\xb8\x30\xa5\xc6\x11\x9e\x16\x9d\x67\x53\xaa\xda\x0e\x41\x3b\x9a\x26\x21\xfb\xbd\x13\xb2\x4a\x44\x7d\x9c\x42\xe7\x9f\x6d\xc6\x1c\x17\x57\x6a\x0b\x62\xa0\xf3\x25\x72\x4b\xc7\x23\xf5\x1b\xca\x93\x99\x35\x59\x26\x5a\x53\x39\x9d\x25\x50\x39\x1e\xd7\x0b\x21\x41\x6a\x4b\x58\x38\x44\x27\xc4\x85\x38\x4c\x43\xf1\x46\x2a\x79\x16\x14\xa7\xa4\xc5\x9e\x8f\x85\x48\xd8\x34\xbe\x15\x09\x8b\x44\x92\x73\x36\x99\x25\x79\x3c\x4d\x62\x3c\xac\xe3\x54\x1f\xd7\x4a\xec\x46\x42\xe1\x2f\x04\x91\x3b\x10\x6a\x2a\xe0\xec\x23\x4c\x22\x44\x44\x65\x9b\xf5\x84\xd0\x62\x65\x3e\xed\xee\xee\x8e\xa4\x6c\x8f\x92\x5d\xf5\x67\x91\xa4\x7f\xb3\x98\x02\x20\x9f\xf4\x47\xef\x6c\xcf\x7a\xb4\x1d\x1c\xad\xa9\x00\xea\x93\x05\x60\x8e\x7a\x07\x42\x8c\xbc\xf1\xc0\xe9\xaf\x29\x64\x0c\x7b\xc8\x24\x0c\x43\xd3\x85\x5f\x11\x34\x56\x3d\x3a\xb8\x51\xa8\x2f\xae\xcf\x40\x29\xa8\xc1\x6b\x89\x01\x4a\xd1\x4a\x2c\x8a\x2c\x13\x24\x25\x61\x22\x1c\xb8\xe9\x01\x60\xdf\x66\x72\x7e\xa4\xd4\xd9\x2c\x29\x30\x00\x33\x9d\x43\x36\x9a\x09\x55\x8a\xa9\x30\x85\x73\x33\x53\x84\x19\x24\x4d\x4d\xe1\xb8\xcb\x70\x75\xbd\x49\xd0\x87\x3d\xf3\x1d\xec\xb9\xd3\x5b\x8d\xbf\xc7\x61\x8f\x9f\xc6\x82\xf2\x86\x0a\x36\xc8\xb3\xa4\x75\xc3\xae\xc5\xa2\x50\xed\x9a\xf6\xda\x94\x2b\x4a\x03\xe5\xf5\x94\x67\xc9\xc7\x53\xfd\x22\xc8\x86\x8c\xd1\x28\xf1\x4d\x69\x9f\x9b\x82\xa4\xc5\xfd\x7d\xa4\x51\x3e\x30\xba\x63\x0e\x16\x16\x5b\xfe\x7f\xcc\xd3\x28\xf1\xcb\xa0\xe2\x73\xe5\x31\x2d\x78\xee\xaa\xeb\x17\x5e\xbc\x3c\x7e\xf1\xe1\xc7\xcf\x6e\x84\x5f\xac\x20\x7f\x9a\xc9\xdb\x85\x8b\xd6\xc6\xd4\x30\xa5\xfc\xb3\xf3\x71\x3c\x18\x23\xa3\x53\x39\x68\x37\xc7\x68\x68\x9a\xf3\xe4\x1a\x62\xbb\x50\xa6\xd5\x87\x1f\x08\x56\x26\x05\xa2\x33\x24\x19\x19\x00\x53\xaa\x48\x08\xe7\x33\x80\x07\x72\x22\xc8\x39\xb3\x28\x8d\x14\xcf\xbd\x2f\x44\x0c\x20\x37\x68\x7a\x44\xdb\x7c\xb9\x80\xb4\x5f\xaa\xb8\x2c\x72\xb4\xab\xf5\xa4\xf6\xbd\x97\x48\xde\x3d\x84\x50\x3c\xfb\x57\x61\x23\x12\x6f\x2a\xd6\x65\xcd\xab\xc4\x63\xa4\x21\xf3\x61\xac\x20\x27\x54\x5f\xf8\x19\xf5\x32\xa8\x33\xbf\xb0\x95\x69\x50\x8e\xa5\x76\xa1\xbc\xcb\xd3\xc1\x58\x66\x08\x8d\xd6\x71\x28\x07\x33\xba\xd2\xc4\xfa\xa6\x69\x0e\x55\x7d\x9b\x9c\xf1\x8c\xa7\x39\xc5\x9a\xf6\x05\x4b\x84\x52\xad\x7c\xcc\xd3\x96\xcc\x5a\xe2\x6f\x33\x9e\xb4\x72\x89\xd0\xf0\x96\x35\x34\xd1\xca\x67\x86\x59\xe0\xdb\xd7\x43\xbc\x02\xc9\x94\xea\x5e\x2b\x57\x47\x07\x2e\x48\x8a\x14\xba\x14\xf6\x70\x06\x25\x91\x5f\x07\x82\x03\x42\xf2\xe8\x2d\x2b\x0b\xf3\x26\x5d\x6f\x05\x54\xbd\x83\x0a\x1b\xd2\xbd\xae\xe0\x2f\x4b\x56\xc9\x4f\xed\xf4\x4f\xb9\x46\x23\xb8\x1c\x66\x1b\x2c\x93\x99\xfe\x3f\xff\x42\x61\x47\xd5\xcb\x44\xa7\x9a\x85\x70\xef\x20\xa0\x3f\xef\xb0\x82\xd3\x11\x8c\x82\xab\x00\x95\x86\x0a\xb1\x8a\x9c\x4d\x65\xac\x65\x0c\x2f\x75\x34\x95\xfb\x28\xf5\x73\x64\xe7\x56\x51\xfd\x07\x33\x3d\x73\x96\xc4\x0a\x16\xc2\xdc\x01\x4c\xfd\x73\x2f\x63\xb1\x2b\x71\xe5\x6e\x0a\x7a\xfd\x34\x98\xd8\x38\xa8\xf3\xc1\x00\x6a\x51\x8f\xb0\xe4\x44\x24\xa6\xf9\xb8\x85\xaf\x50\x37\x6a\xb8\xa4\x31\xae\x3a\x6f\xd7\xd4\x45\x5c\x8f\xe3\x24\xca\x04\x54\xae\x71\x2e\xb0\xab\x58\xa1\x67\x4c\xd2\x1c\xfc\x95\xcd\xcc\xef\xf3\x48\xb4\x06\x03\xd3\x6d\x62\x1f\x87\xd9\xa2\x14\x58\x87\x0d\x8a\xc9\xfd\x97\xf8\xcf\x1a\x28\x6d\xa8\x8b\x75\x32\xa4\x06\xf7\x9c\xe6\xbf\xe0\x19\x1b\x7a\xde\x96\xfc\x02\x1a\x41\x0c\x04\x84\xc3\xc1\x2a\x86\x93\x22\x2b\xb9\x9d\xc2\x73\xcf\x82\x9f\xdd\x34\x8a\x46\xf2\xec\x26\x88\x01\x4a\x57\xe5\x76\x5f\x61\x0e\xef\x2d\xd2\xc1\x38\x93\xa9\xbe\x4a\x82\xee\xc1\x9c\xb0\x20\x40\x7b\x32\x8f\xa6\x0e\x9f\x19\x05\xc5\x60\xb8\xde\xcb\xad\x39\x5f\x80\xa0\x8b\xf0\x20\x75\x54\xd3\x52\x56\x61\x67\xba\xcc\xdb\x18\xc4\x89\xdd\x36\x41\xc7\x02\x69\xef\x60\x0b\x68\x88\x3c\xdb\x92\x56\xf4\x10\xaa\xd3\x12\x2b\x91\x0c\x09\xf9\xbe\x08\x19\xc9\x49\x59\xc4\x18\x73\xb8\x48\xea\x11\x40\x81\x1d\x90\xc2\xb5\x70\x80\x1b\x49\x8b\x08\xb4\x3b\xe2\xd4\x09\xdb\x46\x9c\x32\x79\xd7\x4c\x36\x81\x61\x3c\xb2\xd9\x90\xe4\x2c\xc7\xcb\x8f\x77\x03\xb2\x79\x0b\x83\xb2\x3f\xfa\x6a\x83\x97\x3b\xab\x9c\xda\x41\xce\xbd\x63\x33\xce\x18\x29\xc5\x81\xc0\x16\x40\x58\xf5\x86\xcb\x91\x3f\xf4\x8f\x22\x6c\x73\x26\xe7\xcf\x0b\xaf\xc9\xdf\xcf\x53\x48\x43\x4b\x17\x26\xe3\x9a\x5a\x03\x7a\xb1\xb1\x9f\x39\x0a\x9a\x5b\xd6\x0a\x67\x4c\xd8\x2b\xd9\xaf\x03\x30\xd0\xac\xd0\xa5\xf0\x2c\xf6\x85\x96\xae\x3f\x97\x10\x68\x2b\x9c\x02\x94\x55\x28\x85\x06\xab\x31\x5a\x31\xb5\x6a\x84\x56\x4d\x6e\x19\x3e\x0b\xd3\x2b\xa2\xb3\x6a\x15\xab\xf0\x59\xb9\x86\xd5\x08\x2d\xae\xa0\x2d\x4e\xe2\x2b\x80\x8a\x72\x68\x7b\x24\x72\x13\xb5\x55\x6f\x40\xd5\x79\xab\x0d\xf2\x54\x62\x25\x51\xa8\xfa\xe4\x5d\x71\x96\x56\x1e\x7f\xce\x75\x80\xfd\xf6\x9b\x37\x15\xaf\x55\x98\xcb\xd9\x7b\x51\x69\xa1\xb7\x68\x5d\x81\x44\xe7\xe9\x4e\x4d\xbf\xfd\x96\xdd\xab\xd7\x8c\xd4\x04\x46\x02\xfb\xd2\xba\x34\xfa\x90\xed\xef\x52\xdc\x85\xe7\x7f\x4f\xdf\x57\x57\xd1\xe9\x15\xc4\x39\x94\x8c\x72\xa3\xc5\x85\xd4\x2b\xe6\x9a\x03\xd5\x75\x2a\xec\x80\x55\xf3\xb3\xbe\x62\xd5\xe9\x56\xd0\x7a\x87\xd4\xbe\x9c\xb2\x09\x41\xb6\x61\x05\x7e\xcc\x3b\x8b\x1e\x0f\xaa\xf9\xb9\x14\x39\xf6\xe3\x75\xb8\x81\x86\xbf\x0f\x35\x76\x62\x6b\x30\x03\xa5\x02\xec\xb2\x5a\x09\xfa\x7b\x37\x1b\xf3\x2c\x24\x08\xe2\x2c\x40\x80\x5e\xb4\x66\x05\xa8\x1f\x96\x83\xf2\x79\x54\x11\x52\xc5\x54\x20\xa1\x46\xc5\xe2\xfb\x82\x50\x35\x5b\x60\xdf\x57\x73\x28\x27\xe6\x14\x66\xc5\xca\xbe\x7e\xe1\x60\xad\x1c\x53\x4c\x91\x7d\x1e\xc8\xc9\xc0\x3f\x50\x86\x15\xfa\xce\x1f\x87\xa9\x26\xe8\xee\xa2\xd2\x5a\xee\xf9\x2d\x72\x48\xec\x03\xd0\x60\xd5\xbd\x5a\x2a\x2e\x7d\x15\x70\x7c\x3f\x2e\xb5\x20\x9a\x59\xea\xb0\x4b\xd2\x64\x17\x55\xd8\x6b\x56\x51\xcd\x55\xc3\x13\x11\xef\xd9\xbe\x8c\x48\x87\x15\x65\x52\x31\x67\xc7\x48\xbb\x1f\x52\x71\x3b\xc5\xeb\x10\x50\x33\x08\x55\xa0\xfa\xb5\xb0\x6b\x3e\x48\x6f\xf4\xab\xd7\xf4\xae\x2b\xe3\xa7\x34\x09\xd9\x72\x05\x89\xde\x3b\x28\xd3\x28\x8a\x9c\x46\xe6\x3c\xd7\x92\x28\x67\x51\x7c\x63\x0a\x95\xc4\xaa\x6c\x50\xa8\x16\xf8\xfc\xc4\x1a\x90\x9f\x54\xf8\xa2\x5e\x14\xdf\x78\x9a\x12\xd2\x77\x45\xf1\x8d\x3b\x83\xe2\x61\xc6\x27\x82\x1e\x57\xc6\x1b\x53\x25\xde\x7a\x0d\x9b\x7a\x05\x49\xe9\x5b\xca\x77\x3a\x50\x8a\xbc\x5c\x0c\x79\xd4\xfa\x90\x9d\xa8\xcb\xf6\x9e\x3b\x8e\x52\x43\xe5\x63\x97\x75\xf6\xf6\xfe\xdd\x7f\x6e\x7c\x33\xbb\x8c\xf7\x95\x4c\x66\xb9\xf0\xdf\x82\x62\x11\x3f\x72\xd9\xba\x4d\x61\x26\x1c\x08\x53\xd9\x40\xcb\x96\xff\xa6\x09\xfb\xd5\xab\x36\xf3\x32\xca\x5b\x2d\x3a\xce\x41\xe1\xf7\x89\xe4\x11\xea\x7c\x35\xc5\x0b\x85\x1f\xb2\x38\xf7\xab\xf1\xe6\xae\x68\xac\xb9\xba\x61\x7f\x26\xf4\xbe\x36\x91\xbf\xbc\x4e\x53\x91\xa1\x7d\xe0\xcf\xc0\xcb\xe7\x71\x1a\x69\x66\xac\xbb\x21\xf9\x8a\x6b\xd8\x70\xd1\x47\x7b\x69\xbe\xf8\x86\xb1\x22\x2a\x33\x2d\xaa\xd7\xfe\x0d\x1d\x8b\xf4\x92\xf8\x61\xdc\x7e\xd3\x46\x69\x0d\xdb\x34\xca\x4f\xd0\x75\x9b\x47\xd1\xb1\x9e\xda\xdb\x58\xe5\x02\x92\x35\xa0\x32\xb6\xb6\xad\x27\x18\xaa\x2e\xd3\x33\xf8\xfa\x73\xbb\x1f\xa7\x38\x92\x86\xab\x5d\x13\xc9\x81\xe1\x14\xbe\x02\xb5\x6a\x74\x86\xba\x34\x15\x45\x72\xd0\xee\xcb\x68\xb1\x9c\x82\x26\x3c\x1b\xc5\x69\x97\xed\x4d\x6f\x03\x5a\x41\x33\x70\xe9\xf9\x32\xda\xf2\xa8\xc7\x7f\x6c\xfc\x94\xbb\x6c\x1c\x47\x91\x48\xfd\x77\xad\xb9\xe8\x5f\xc7\x79\x6b\xa6\x44\xd6\x42\x26\xd2\x85\xfb\x7b\xd0\x68\x22\x7f\xa9\x6a\xd1\xf0\xbc\x1b\x17\x89\xde\x92\x7a\xaa\x85\xfd\x04\xaf\x70\x3b\xb9\x2c\xc3\x5e\xee\x0b\xb0\x2e\xb3\x5f\xbf\xd4\x0c\xaa\xc6\x82\x47\x01\x3d\xc0\x67\x1e\x21\x14\xf4\xf7\xfa\x1b\x68\xd2\x1b\x0b\x91\xab\x8b\xbd\x2b\x8d\x62\xfd\x56\x41\x1d\xf0\x8a\xaf\x68\x25\x8c\x65\xfa\x80\xd5\xfa\x89\x1c\x5c\xd7\x5c\x1f\x7a\xb6\x47\x4a\xbd\x8d\xd3\xeb\xcf\xd5\xf3\x4a\xe2\xf4\xda\xe3\x12\xfe\x07\x85\x32\x9f\x99\x48\x6a\x4d\x86\x88\x50\x7a\x8c\x6e\x6b\x9f\x9f\xbc\x3c\xa9\xeb\xb5\x8f\x78\xa3\xcb\x7a\x32\xcb\x16\x98\x86\x87\xd5\x50\xe9\xff\xb9\x46\x47\x9b\x3d\xf2\xf2\x31\x14\x6f\x50\x41\x12\x32\x84\x06\x29\x55\xc8\xe1\xe0\xaf\xaa\xcd\xd8\x6b\x9b\xcd\x6f\x1a\x0f\xae\x19\x67\x7d\x01\x19\xf4\xc1\xae\x3f\x94\x99\xcb\x07\x2e\x26\xa0\xe4\xb9\x91\x71\xe4\xae\xb5\x03\x99\x24\xb1\x0a\x4c\x67\x38\xa8\x6a\x8c\xdc\xb6\xf0\xb5\x87\x15\x6a\x5f\x44\x88\x4c\x84\xc6\x88\xa6\x84\xbe\xbc\x5d\xdb\x3e\xe7\x7d\xd0\xc9\xe8\x6f\x5a\x9d\xaa\xe6\xcb\x36\x16\xad\x70\x97\xc1\xfa\xfa\x34\x3d\x94\x69\xde\x1a\xf2\x49\x9c\x2c\xba\x6c\x22\x53\x09\xb9\x5b\x4a\x2d\x34\x33\xe8\xb2\xce\xa3\xcd\x36\xa0\xd9\x69\xad\x45\x97\x54\xf4\xcf\x6d\x94\x40\xeb\xb6\x6a\xff\x41\x46\xc5\x16\xf4\xdd\x65\xd3\x6c\xd9\x61\x10\x74\x32\xcb\xf5\x31\x8c\x9b\x90\xdd\x8b\x27\x53\x99\xe5\x3c\x35\x54\x65\xb9\x4d\x89\xa5\x12\xb6\xfc\xab\x19\xe1\xaf\xcc\x44\x71\xf4\xb5\xa6\x61\x8b\x78\x16\x17\xd8\xe2\x5a\x28\x60\x74\x04\x9b\x63\x11\x12\xd8\x14\xb7\x04\x67\x10\xf0\xf2\xe4\xdd\x3b\x0d\xb8\x57\x39\xc6\xbb\x40\xae\x0d\xe4\x74\xe1\x00\x1d\xc9\xe9\x62\x5b\x08\x60\x95\x73\x20\xc0\x16\x57\x3e\x45\xdc\xe2\x94\x00\x5c\x8b\x45\x24\xe7\xa9\x03\xf1\x42\x46\x8b\x37\x62\xf1\x52\xce\xd3\x32\x20\xcf\x86\x0e\x59\x2e\x79\x9c\x7a\x09\x29\x8d\x21\x0d\x0d\x94\x19\x95\x44\x32\x0e\x2a\xa0\xa4\x5c\xb2\x87\xa3\xf8\xc6\xdb\x5f\xb6\xf1\x5d\x76\x98\x93\x74\x60\x18\xbf\xeb\x44\x82\x82\xed\x2b\x4f\x24\x6c\x51\xb1\x52\xc5\x5d\x60\xe7\xe4\x10\x69\xb3\x7c\x9a\xb4\xef\x72\x38\x24\x9b\x2b\xf8\x30\x90\x0b\x06\xb2\xc4\xe9\x02\x65\x29\x67\x06\x95\x53\xbc\x76\xbe\xe0\xa3\xe5\x9c\x11\x5a\xb4\xfa\x7c\xe4\x8d\x31\xf8\xf2\x2e\x28\x5e\x85\xc7\x32\x67\xf1\x36\x7e\x5f\xe6\xb9\x9c\x04\xc3\xae\x18\x91\x2b\xe2\xe7\x55\x61\x01\x7b\x42\xdf\xe4\x57\xcc\xe5\x94\x0d\x35\xca\x38\xe4\xf9\x4f\xc8\xac\x8f\xf0\xe9\x4d\x26\x68\x78\xe8\x8d\x08\xae\x83\xdf\x50\x39\x8a\x64\x81\x4a\x3a\x83\x79\x70\xdf\x02\x15\x1d\x0f\xeb\x2c\x78\x17\x42\x7d\xdf\x03\x1f\x47\xd4\x51\x27\x0b\x72\xb6\xf0\x3d\xfd\xcc\xd8\x64\x66\xc6\x42\x60\xac\x57\xa3\xb1\xaf\x98\x79\xbf\x92\x49\xb4\x74\xf9\xf4\x44\xc2\x85\x83\xe6\xa5\x35\x2b\xad\x55\xc5\x56\x2a\x51\xa4\x81\x56\x5a\x1f\x33\xa4\xb0\xcf\x60\x55\xd6\x43\xf7\x40\x85\xac\x03\xd7\x04\xee\x63\x7c\x00\x6e\x2e\xca\x32\x0e\x28\x3b\x3f\xe0\x09\xa6\x4a\x23\x27\x0b\x57\xc7\x24\x55\xb3\x09\x38\xc3\x20\x38\x9e\x24\xce\xa1\x8f\xae\xe7\xfd\xd9\x70\x28\x32\xb2\x7a\x2d\x30\x97\x1c\xe1\x1e\x0c\x94\x35\x05\x75\x7c\xd0\x45\x44\x39\xaf\x29\xe7\x64\xa1\xe5\x91\xe9\x54\xf0\xcc\xb8\x41\x38\x01\x03\x2b\xa2\xc4\x98\xe7\xb3\xaa\xdc\x97\xbe\x08\x15\x7d\x61\x34\xcc\x58\x61\xed\x1f\x5f\x13\x8f\xe9\x61\x95\xc8\x59\x0d\x06\x18\x27\x71\xbe\x30\x3b\xaa\xa6\x87\x71\x2d\x04\xe6\x95\xed\xeb\x19\x6a\xfe\x0a\xd5\x78\x20\xd7\x9d\x97\x2a\x19\xc1\xc5\xd6\xe7\xc9\x51\x2c\x3a\x8c\xa2\xc7\x54\x0d\xbc\x99\xf0\x9d\xaa\xb1\xd9\x74\xce\xb3\x48\xb1\x3a\x3c\x06\x5e\x2e\xd1\x97\x85\xf0\xe1\xdc\x62\xc9\xa9\x86\xfb\xc2\x60\x3c\x11\x8d\x36\x63\x9f\xd0\x75\x14\x88\xa1\x59\xe8\x7c\x24\x72\xba\x08\x52\xe1\xed\xf9\x98\x0f\xae\xdb\xa1\x63\xc1\x61\x26\xf8\x46\x47\x82\xd7\xbc\x4c\xfd\x15\xf8\x5b\xcf\x90\x3d\x88\x21\x81\xaa\x9b\x91\x8d\x08\x36\xca\xfc\x0a\xc7\x37\xb3\x28\xb1\x62\xbf\x48\x39\xb1\x06\xf0\x99\xca\xa1\x00\x2b\xf8\xe2\x61\xa5\x07\x53\x51\x6d\xa6\x45\x67\xa9\x72\x6b\xb8\x41\x0f\x49\xe3\xae\xc3\xb1\x1e\x49\xdf\xfa\xb0\xb6\xab\xa4\x75\x34\xc7\x3b\x3f\x70\x90\xc7\x59\x2a\x94\x51\x35\xa6\xe6\xc6\x0e\x3e\xd7\xa9\xcc\x0d\x38\xc3\xb1\x68\x26\x66\x02\x7a\xf4\x2c\x11\x37\x22\xc1\x0c\x88\xe4\xef\x03\x36\x27\xe3\xdc\x66\x45\x78\xd0\x1d\x04\xa2\xf9\x8d\x63\xe3\x51\x7c\x53\x9d\x55\x8d\x16\xf5\x7d\xcf\x1e\x2e\xe4\xfe\x35\x9f\xcf\xdb\xf3\x07\x6d\x99\x8d\x76\xf7\xf7\xf6\xf6\x76\xd5\xcd\x08\xee\x2c\x37\xfe\x79\xa5\xbb\x28\x88\xe6\xb7\x93\x24\x55\xe8\xa0\xbf\x14\xce\x4a\x00\x37\x22\xd3\x37\x0c\x0d\xa2\xd3\xee\x94\xda\x2e\x3b\x13\x57\xab\x51\x72\x39\x2d\xa8\x63\x12\x31\xcc\x0b\x8f\x2a\x88\x55\xd3\x9f\xad\x90\xa6\x44\x1a\x91\x1a\xd9\x68\xab\x0c\x35\xfe\x15\x69\x0b\x0a\x90\x71\x74\xc8\x62\x63\x20\x6c\xe5\x95\x5e\x42\x48\x03\x3e\xcd\x67\x54\x88\x17\x5a\x46\x2e\x63\xf5\x10\x53\xfb\x6a\x9e\x41\x01\x9a\x72\x22\xb4\x54\x3f\x1f\xcb\xff\x9f\xbd\xbf\xef\x72\xe3\xb6\xf2\xc4\xf1\xff\xf5\x2a\x60\xef\x8e\x48\x5a\x24\xbb\xe5\xd9\xec\x26\x6a\x77\xe6\x48\x2d\x69\xa3\x5f\x24\xcb\x47\xdd\xb6\x33\xe3\x78\x35\x60\x15\xc8\xae\x74\xb1\x50\x53\x28\x36\x9b\x1e\x6b\x5f\xfb\xef\xe0\x5e\x3c\x5c\xa0\x50\xc5\x6a\x59\x4e\x32\xd9\xaf\xcf\x9c\x89\x9a\x05\x5c\x3c\x5d\x00\x17\xf7\xe1\x73\x21\xcb\xb6\x97\xdb\xa0\xea\x15\x6f\x36\x88\x4f\x97\xd8\xa7\x9a\x2a\x6f\x04\x27\x73\x48\x2b\x8d\x7d\x53\x85\x75\x92\xf3\x3f\x34\xfb\xfe\x6d\x44\x9e\x4c\xee\x29\x43\x7f\x33\x4b\x52\xdf\x9d\x39\x4d\xfc\x04\x2f\xab\x50\xe1\x31\x91\x35\xcf\x60\x95\x4e\xfb\xba\x69\x94\x2e\x2f\xf2\xa2\x05\x8f\x70\xe2\x2f\x38\x7c\xf6\x50\x2a\x3d\xb4\x7b\x9f\x21\x7a\xbe\x5f\x55\xf5\xae\xb5\x22\x3b\xfa\xc7\x7d\xe3\x2b\x5f\xd9\x12\x5d\xf9\x1d\x6f\x6d\xe3\x36\x18\x9a\xe6\x8d\xf3\x2c\xf8\xe6\xb8\x37\xaa\x61\x17\xfd\x22\xdd\x4a\x89\x3a\x00\xbc\xac\x5d\x8c\x43\x6d\xd4\xa7\xd4\x6f\xcd\x22\xc7\xe9\x9a\x2f\x91\xd0\x77\xbc\xdc\x39\xef\x8c\x8b\xcb\xcb\xe0\x29\x0c\xd7\x9d\xbe\x7e\x2c\x6d\xeb\x47\x4f\x9a\x60\xec\xd2\x3b\xfd\xfa\xa7\x33\xb4\xb1\x4c\x35\x2e\xeb\xf6\xbd\xef\xf5\x5b\xc8\x9e\xce\x4b\x76\x0b\x1d\xd1\x0d\x39\x99\x3f\x1c\x20\x86\x1c\xe8\xff\x9e\x8b\x35\xdf\x95\xe8\xf7\xec\x00\x42\x4d\x66\x41\x83\xae\xe6\x20\x13\x8f\x6a\x90\x95\x68\x5f\xfa\xe9\x20\x6a\x64\x3f\x49\xf3\xb0\xcf\xa1\x1b\x1e\xd1\x38\xac\x03\x3a\xee\x0f\x1b\x58\x96\x20\x92\x24\x83\xa3\xd7\x9d\xba\x74\xd3\x74\x1e\x76\xe1\x2c\x36\x93\x8c\x26\x83\xe0\xb2\x5e\x93\xaf\x0e\x55\x76\x41\x63\x09\x2c\xff\x0d\x4c\xd9\xa6\x6f\xca\x70\x50\x14\x0f\xa2\x6f\x82\x22\x1e\x6f\x19\xb7\x81\x26\x5e\x2f\x46\xd3\x4e\x78\x79\x2e\x62\x6d\xca\x0b\xd5\xae\x2c\xe7\x70\x07\x23\x48\x88\x25\x99\x29\x78\x19\x97\x92\xe7\x20\x0e\xe8\xf6\x8a\x16\xf2\xeb\xd9\x6a\x4c\x36\x10\x8a\x72\x2d\x42\x76\x02\xd8\x12\xcc\xa9\xeb\x3c\xf8\xf5\xf6\xab\xeb\xb2\x10\x39\x69\x60\x0c\x9f\x7d\x8b\x4a\x41\x3a\x63\xbb\xa6\xf4\xe1\xef\xee\x8f\xe3\x4a\xc4\xeb\x46\xac\x27\x73\xa6\x6b\x50\xb3\x52\xb7\x9a\xb7\x9c\x7a\x4b\x13\x55\x58\x77\xf5\xab\x1d\x1a\x34\x6f\xad\x33\x9f\xf7\x35\x42\xfb\x1f\x35\x42\x31\x52\x7b\x1a\x39\xc6\x79\x78\xff\x76\x38\x2e\x50\xb9\x43\x99\x69\xf7\xe9\xef\x7e\x1f\xc3\xdd\x8d\x20\x59\xec\xee\xc3\xe2\x90\xa2\xf1\x68\x1b\x6a\xb0\x0d\xa0\xd1\x7b\xca\x64\xa6\xf8\xb8\x96\x36\xa2\x7d\x16\xe6\xe4\xbb\xcf\x68\xa2\x74\x7e\x63\xc6\x35\xd0\xda\xf0\xb8\x56\x9d\x8a\xa3\xe7\xd2\xb7\xf9\x6a\xcb\x37\x81\x31\xb0\xd0\x3f\x8c\x68\xd3\x56\x84\xf2\xf7\x6b\xd3\x44\x60\x79\x87\xed\xe2\xa7\x31\x2d\x9a\x6a\xba\xf4\xfd\xda\x23\x30\x0a\xae\xcd\x10\xac\x68\xb0\x5d\x52\xdd\xd6\x1a\xd3\xfe\x45\x10\x53\xe0\x96\xd4\xfd\x4a\x5a\x0e\xc2\x0f\xfc\x1f\x31\x80\xae\x09\x1b\x02\x11\x0d\x62\xde\xac\x6a\xc7\xc7\x86\x84\x11\x9a\x57\x2e\x35\xb1\x7b\x42\xd9\xfb\x21\x7c\xd7\x43\xa1\xa3\x27\xf2\x46\x98\xe0\xa6\x78\x01\x89\xaf\x20\x7e\x41\x22\x1b\xd1\x5e\x94\x85\x7e\x12\xea\x6b\x32\xd2\xa1\xbb\x5d\x84\xe7\x9f\x15\x7b\x21\xdc\x0a\xff\x40\x0b\xa4\x11\x7d\xe1\x77\x9b\x3e\x7e\x28\x3a\x44\x9f\x8a\x43\x13\x17\xa6\x6a\xee\x9f\x39\x9b\x0d\xaf\xc8\x37\x80\x98\xe8\x73\x62\x7c\xf4\xb4\x59\xb8\xaa\x81\xd3\x24\x98\xe2\xe9\xcc\x8c\x78\x68\x3c\x3e\x4a\xa7\x77\x40\xe3\x7a\x87\x21\x56\xf7\xeb\x1e\x36\x9e\x40\x8a\x0a\xdc\x3a\xcd\xfb\x5e\x96\xb9\xea\x06\x7a\xdb\x70\xf9\x7b\x7b\x32\x10\xef\xb9\xe1\x4e\xbb\x5b\xb5\x17\xd1\xca\x2a\xc6\xdc\x03\x35\xea\xf0\x2f\xee\x28\x4e\x9a\x71\x95\x39\x7e\x99\x04\x1d\xbd\x28\x41\x87\xb7\x6b\x21\x95\x18\xe4\xcc\xce\x6d\x50\xe5\x71\x29\xaa\x11\xfa\x28\x82\x44\xdb\x69\x29\x60\x30\xac\x73\x44\xa8\x25\xed\xe9\x35\x22\x60\x11\xff\x67\x12\xc0\x1b\x6c\x2d\x38\x8f\xc0\x7d\xc2\xc5\x03\x62\x36\x70\x88\x5f\x87\xf8\x4b\x6e\x02\x3f\xe3\x37\xd9\x5b\xf0\x34\xbe\x57\x50\xb3\x5d\x43\xfb\x1e\xb2\x50\x04\xf7\x5e\x4a\x25\x5a\x1a\x0b\x3e\x14\xf1\x6c\x5f\xa8\x66\xf6\x43\x65\x73\x6f\x8c\xb3\xbb\x8a\xae\x45\xbe\x2b\xc5\x3b\x98\x81\xe8\x85\xfb\xaa\x5a\xcb\x66\x1b\xa3\x1c\x38\xbf\xdc\x46\xca\x96\xc4\x2e\x00\x5e\x83\xdc\x42\xd2\x23\x88\xb9\x0f\xf4\xf8\x9a\x9e\xc3\x5b\xa8\x24\x2b\x65\xb5\x11\x8d\x7e\x5b\x16\x0e\xc3\xe1\x92\xa4\xb7\x33\xd6\x75\x92\x94\x9b\x23\x80\xc1\xba\x3b\x36\x00\x9b\x42\x8e\x99\xce\x58\x25\xf7\xd0\x98\xd9\x76\xfa\x19\x5a\xb5\x45\x23\xca\x03\x84\xf3\x0b\x9f\xd2\x18\x22\x38\x8a\x96\xe5\x45\x6e\x94\x44\xa8\x91\xb4\x68\x02\x9a\x4c\xe5\xa3\x6a\x68\x0f\x02\x1f\x1c\xef\xab\xe8\xb2\xc2\x23\xd4\x04\xb2\x04\x46\x6b\x64\xc0\xb3\x79\xc0\x9c\xea\xa6\xa8\x95\x99\x34\xa4\xea\xc0\x03\x80\xec\x5a\xbf\x7f\x90\x39\xd1\x7b\xce\x4c\x87\xbe\x5f\x57\x18\x32\x0e\x81\x20\x06\x49\x80\x61\x42\xbd\xe8\x78\xbe\xe6\x8a\xad\x20\x2c\xd1\xd8\x5d\x00\xf0\xdc\x69\x65\x7d\xec\xec\x35\x57\x51\x47\x07\x59\xb4\xa8\x60\xf1\x22\x17\xaf\x74\xce\x24\x67\x13\x89\x62\x1f\x68\x3a\x21\x9b\xe6\x84\xda\x41\x28\x58\x63\x90\xc2\x32\x9d\x44\x85\xa0\xef\x1a\x6d\x5b\x5f\x3e\x14\x92\x09\x25\x0e\xc5\x18\x3c\x88\xec\x69\x75\x0b\x76\x8f\xfa\x9d\x0b\x3f\x77\xd7\xd6\x95\xff\x75\xea\xd0\x74\x70\x4c\x89\xd2\xcf\x82\x0f\x53\x42\x92\xa8\x9f\xf4\xfa\x7f\x87\xdb\xe8\x9d\xdc\xab\xf7\xb4\xd8\x3c\xa2\x7d\xfc\x15\x65\xb7\xfc\xab\x81\xf5\xf3\x99\xe4\x6c\xe8\x28\x59\xee\x34\x6c\x1a\x8d\xdd\x88\xe3\x4e\x43\x5e\x51\xa2\xbd\xc2\x2f\x53\xe7\xc1\x3f\xf5\x3e\x90\x26\x0f\x11\x38\xc1\xa7\x28\xd8\xc0\x1b\x28\xe0\x7f\x76\xee\x90\x88\xb9\x1c\x29\x31\xac\x96\x2e\x10\x67\xef\x77\x1e\x83\xbe\x26\x92\x47\xeb\xbb\x41\x95\x93\x29\x5e\xdf\xb1\x47\x6c\x52\xdf\x11\x1b\x4b\x9f\x6e\xa7\x2b\xdb\xd8\x0b\xee\x97\xf4\x7e\x93\xee\x7d\x20\x16\xd4\xbc\x51\xe2\x55\xd5\x4e\x07\xc6\x12\x76\xf2\x8d\xc1\xbe\x80\xf3\xc6\x74\xcc\x39\xf0\x7a\x14\x8b\xa2\xc2\xc8\xf8\x0e\x72\x08\x55\x3b\xee\x51\x26\xbc\xb2\xcb\x64\xfe\x6e\xa5\x05\xc1\x80\x43\x6b\x52\xc9\x66\xcb\xcb\x09\x2b\xd6\xf6\x86\x95\xdb\xa2\x35\x39\xde\x3c\x52\xad\x87\xdb\xf8\xc0\x9e\x46\x00\x1c\xe6\xfe\x3e\x3a\x67\xa6\xdd\x8b\x08\xcd\xc3\x4d\x9e\xef\x35\x41\x49\xc4\xab\x09\x20\x3a\x02\x7d\x8b\x43\xed\x88\xb4\x2f\x7d\x16\xbc\xa0\x5a\xaf\x71\xe5\x98\x79\x25\x65\x60\x49\x9a\x58\x92\x46\x96\xf0\xbb\x7d\x36\xf1\x5d\x2b\x89\x2f\x53\x58\xc8\x3c\xa1\x3a\x65\xac\x26\xcc\x64\xa1\xb7\xae\x6e\xc6\x9b\xd5\xc2\x4f\x70\xa6\x6a\x0e\xd6\x95\x2d\xbf\x21\x6c\x95\xf1\x32\xdb\x95\x10\xaf\x66\xa9\x84\x30\x3f\x45\xc5\x5e\x16\x8d\x58\xcb\xbb\x68\xea\x2e\x6b\x5e\x1d\x9f\x75\xdd\x6a\x77\xda\xa1\x6e\xe4\x03\x39\x9d\xfc\x29\xf1\x5f\x3a\x3c\xa1\xf3\xdf\x3f\x4e\xdd\x04\x8b\x76\xbd\x77\xdc\x1c\xda\xc5\xf7\x3f\x3f\xe3\x4a\x94\x45\x25\xee\xb7\x34\xc8\x3c\x7b\x5e\xb5\x88\x1f\x81\x21\x42\xd6\x24\x77\x2d\xd8\xca\x90\xed\x6b\xad\x7b\x30\x4f\x4e\xcd\xa1\x9c\x2e\x1f\x39\xc0\xfe\x29\x52\xd0\x13\x36\xf1\x94\xbf\xb7\x8f\x5b\x72\xaa\xfd\xfc\x33\x28\xf7\x47\xf8\x80\x98\xa3\xc3\xe1\xf9\x41\x0b\x47\x34\x1d\xf1\x4c\x13\xed\x48\x04\x3d\xe4\xc8\x99\xd7\xfe\x49\xb0\x84\x34\xd1\x2b\x06\xc6\x0e\x7b\x66\x7b\x6a\x78\x36\x50\x7b\xd9\x10\x53\xb8\xf9\x45\x57\x63\x4d\xc0\xae\x9c\xe5\x87\x68\x1d\x10\xfe\xf9\x4a\xd6\x67\x51\x03\x1d\xbd\x75\xa7\x81\xee\x9c\xa7\xeb\xd0\xb2\x09\xa3\x7c\x8f\x9f\xe6\xed\x86\x0c\xe2\x27\x29\xb7\x2f\x79\xd6\x82\x82\xd4\x5b\xc6\xa9\xb3\xc2\xd9\xb1\x26\x3a\x9d\x33\x4d\xf8\x6b\xda\x2b\x25\x93\x11\xc2\x31\x5a\x55\xf7\x2d\xdc\x88\xc5\x96\x5c\xdc\x2e\x0f\x6d\x08\x72\x05\x81\xe8\x39\x98\xcf\x3d\x42\x8b\x81\x4f\xe3\x15\x43\x5f\x70\x38\xa9\xdb\xec\xb8\x62\xaa\x23\xee\xf4\xa9\x08\xa2\x32\xf0\x63\xea\x22\x9e\x7a\x56\xd7\x2b\xed\x34\x4a\x5d\x2a\x86\x39\x63\x01\x2c\xe1\x64\x7e\x6d\x89\x78\x8a\x83\x0e\x80\x43\xe5\x63\xb7\xbd\xa1\x2a\x5d\x23\x33\x15\xc0\x11\x8a\x85\xe4\x55\xfe\x1e\xa3\x64\x27\x90\xf2\x73\xb5\xdb\x6c\x20\xad\x99\x60\x3c\xcf\x99\x89\x43\xb0\xb8\x6d\x9a\xa5\x1c\x0e\x13\xbc\x2e\xad\xbb\xa4\x25\x66\xd4\x50\xf8\x2a\xb7\x5e\x5f\x29\x33\x11\x09\x8b\x30\x8d\x5c\xc9\x9a\x9d\xbb\x03\xe2\x68\x71\x7c\xe8\x90\x1a\xff\x0c\x46\xbd\xe3\xcb\xf5\x21\x94\x8b\x95\xd0\xef\xf5\xad\xa8\x14\xe0\x46\x69\x3e\x25\x5a\x3e\xf3\x92\x6d\xa5\xf5\x94\x03\xad\x04\x37\x6f\x5a\x63\xab\xd4\x84\x08\x09\x23\x4e\x7b\xa7\xb5\x31\xaa\xae\x01\x1e\xee\xc5\x12\x8a\x4e\x70\x04\x39\x0d\x94\xd5\x6c\xd1\x35\x19\x67\xbe\xf0\x59\x60\x1b\x0e\xf1\xaa\x82\xa7\x85\x79\xb5\xaa\xe7\x6e\x94\xef\xc9\x8e\x49\x3d\xd5\xea\xdd\xaa\x2c\x94\x4b\x5c\xe9\x62\x73\xd8\x7f\x12\x08\x9b\x27\xa8\x93\xf9\x60\xef\x85\x68\xf8\xf8\x1f\x06\x4c\x43\x9d\x77\x72\x7f\x25\x71\xe1\xa7\xf0\x73\x42\x69\x03\xb8\x5a\xd3\x99\x83\x53\x70\x04\x62\xbd\x14\x7e\xfc\x90\x7e\xda\x39\x20\x7d\x70\xbf\x23\x8f\x24\x07\x25\x68\x59\x7d\xd4\x59\x95\x98\xbf\x1e\x2b\x04\xb5\x52\xa4\x14\xd7\x7e\xc9\x12\x88\x6e\xbe\xf6\xd2\x25\x2a\x8f\xca\x7a\x74\x37\x52\xf8\xda\x9f\x1c\x28\x14\x01\xc0\x9a\x13\x8d\x00\xb3\x8b\x5b\xe4\x19\x98\x82\x95\x30\x50\x73\x01\xb6\xa5\x6a\xf5\xc6\x73\x20\x68\x20\x82\x5b\xfc\x37\xeb\x1e\xb5\x2e\x25\xa4\x65\x3f\xb0\x35\x14\x96\x06\x06\x0c\x77\x9a\xf3\x7a\xba\x75\xea\x89\x0b\x93\xb3\x1a\x10\x62\x97\x6a\xcb\x9b\xf6\xa5\xa6\xf1\xbc\xd0\xeb\x6e\x19\xac\x33\x9a\x79\xff\x61\x40\x9c\x0d\x45\xc5\x32\xb9\xad\x77\xad\x88\x80\xc3\xe4\x4e\x3f\x34\x5b\xb1\x69\x78\xc9\xaa\xdd\x76\x25\x1a\x03\x0f\xa8\x2c\x3a\xb3\xef\xa2\x0a\xef\x8b\xb8\xef\x03\xe7\x52\xd0\x13\xb0\x3c\x18\x8d\x62\x26\xd8\x4a\xb4\x7b\x21\x02\xef\x56\xd3\x3f\x0e\x78\xd1\xad\x99\x38\xf3\xa3\x7e\x05\x29\xe7\x3d\xba\x12\x6c\xcb\x73\x70\x1f\x84\x13\x4b\x81\x53\x34\x86\x9b\xa1\x93\xa1\x7d\x35\x35\x22\x93\x4d\x8e\x3b\x11\x3d\x73\x94\x64\x45\x6b\x7d\xd8\x2a\xab\x18\x64\x25\x6f\x11\x7d\x2e\x17\xb8\xa8\xce\x11\xdc\xea\x8a\x12\xab\x77\x25\xeb\x37\xd0\xa8\xcd\x50\x15\x7d\xc7\xdd\xec\x8a\x74\x96\x91\x2d\xba\xf3\xec\xf7\x40\xe4\x8e\x8d\xc3\xb3\x37\x43\x7f\x57\xec\x65\xf0\xc0\x2b\xde\x34\x99\xb7\x41\xe2\xe2\x5e\x95\x63\x22\x7d\x68\x02\x58\x26\xa4\xf9\xa8\x73\x5a\x9b\x73\x36\xa1\x42\xec\x49\x1d\xfc\x21\x0a\x0a\xed\xde\x38\x81\x75\xca\xc5\x84\x74\x03\x40\xac\xd7\x90\x31\xea\xc5\xa7\x46\x2c\xda\xc4\xf5\x9c\xd0\xd1\xdd\x00\x8f\xe2\x61\x0f\x53\x2a\xc5\xba\x25\xf0\x12\x70\x3d\xa1\x6c\xfe\x5a\x7f\x39\x52\x5b\x33\x74\xb2\xb2\x96\x24\x16\x3d\x3d\x39\xa6\xcb\x8c\xee\xc1\xee\x29\x0d\xa9\xac\x95\x15\x8e\xad\x67\x76\x23\x38\x71\x5b\x07\xa4\x64\xb9\xdb\x5c\x43\xa8\x2d\x2e\x84\x62\xe2\x56\x34\x87\x00\x8f\x30\x86\x82\xec\x33\x44\x98\x3b\x6d\xc0\x15\xdb\xad\xc9\xb4\x5f\x04\xfa\x62\xcc\x03\x3d\xd1\xaf\x51\x0f\xfb\xfe\xbd\xf6\x11\xb5\x83\x43\x61\x9c\x5e\xa1\x86\x60\x42\x7a\x93\x9b\x0b\xdf\x59\xe3\x20\xd2\x04\x9e\x5c\x8c\x5b\xd4\x22\x70\xf1\xb2\x4f\x9a\x57\xc6\x4c\xba\x15\xed\xb5\xcc\x01\xb6\x08\x0d\x34\x06\x7b\x13\x9d\xee\x95\x75\xff\x05\x69\x00\x29\x5f\x73\x65\x64\xc2\x0c\xfd\xf7\xbf\x60\xcd\xae\x22\xa0\x67\x58\x4c\x66\xd9\xae\x19\xe1\x3e\x16\x88\x2a\xa3\x74\xe9\xd8\xc0\x47\xe8\xd1\x1b\xdb\xc6\x47\xe9\xd0\xb1\x76\xa0\x3f\x77\x90\xb7\x7d\xca\x73\x33\x2a\xfa\x54\xec\x60\x27\xea\xe7\x7b\x6e\xb5\x30\x5d\x10\x4e\x2b\x9c\xd9\x85\x83\x17\x0c\x36\x5c\x54\x9b\x39\x3c\x5e\x1a\x01\x6e\xd4\xeb\x5d\xe9\xf4\x7f\xca\x21\x32\x39\xcb\x38\xe2\x8f\x23\x46\x22\xe4\x2d\xb1\x9e\x81\xae\x51\x0f\xb9\x02\x66\x46\x2d\x0f\xed\xc0\x8e\x0d\x7e\xfe\x07\xb6\xe7\x87\x25\x63\xcf\x25\xc0\x35\x48\x23\x0c\x69\x49\x68\xd7\xac\x2c\x31\x47\x04\xa3\x57\xb2\xd2\xb8\x2d\xee\x6a\xc6\xd7\x2d\x22\xbf\x59\x39\x0a\xc5\xaa\x75\xc9\xd5\xb5\x50\x98\x40\x4a\xb5\x16\xac\xbe\xa8\x2c\xb4\x36\xe9\x17\x60\x94\xab\x76\xc9\xd8\xab\x4a\xb5\x82\xe7\x30\x01\x98\xc9\xc9\xa1\x71\x21\xa8\x96\xfe\x53\x09\x0f\x85\xad\xc5\x00\x00\x54\x57\x2d\x57\xd7\x51\xf4\x08\x4c\xcb\x09\x40\x13\xee\x5a\x55\xe4\x22\xbe\x66\xe0\xd0\x43\xc5\xb9\xc3\x85\x77\xd9\xe7\x94\xb3\x72\xda\xe2\xc6\xaf\xf3\xde\x96\x6b\x0b\xe9\x9c\x7e\x1d\x81\x9d\xda\xbd\x8b\xd5\x7b\x7a\x4a\x3a\x64\x0c\xbd\xdd\x03\x60\xa2\xc4\x6b\xe7\x88\x57\x81\x41\x33\xfd\xab\x9b\xe9\xae\x8c\xd4\x11\x15\x21\x25\x9e\x79\xf3\xe6\xb4\x63\xba\xfb\x38\x83\xdf\xb8\xa7\xdf\xa0\x5d\xb3\x77\x2e\xcf\xc6\xa2\x72\x43\xa1\x18\x0d\x78\xea\xdf\xb3\xf1\x9c\xdb\x1c\xbd\xb1\xf4\xfd\xfb\xf3\xc4\xa5\x16\xa5\xcc\xaa\xc2\xb3\xa1\xea\x8d\x75\x6c\x84\x4b\x83\xe0\x3c\x09\x82\xfb\xa3\xb3\x83\xf4\xde\x3d\xc1\xc3\x85\x64\x69\xf0\xb4\x83\xb0\x44\x97\x4f\x20\xe1\xe2\x81\xa0\x96\xad\xc1\xaf\x03\xd5\xdb\x4a\x18\x9d\x1a\xc9\xa6\x80\x5b\x11\xe4\x10\x4d\x8d\x5c\x56\x6e\x14\x53\x8c\x10\x6e\x54\xcb\x30\xc0\xd1\xbe\x65\xe7\x8c\xdf\xf0\x40\xda\x9d\x91\xc1\x55\xb2\x9d\x87\x84\x6c\x27\x3c\x3d\xf2\x28\x86\x5a\x10\xbf\x95\x35\x05\xc6\x14\x9a\x0e\xfa\x3b\xd6\xa5\x59\xd8\xda\xe9\xf0\xb3\x87\xa7\x94\x39\x5b\x35\x31\x77\xbc\x7a\xef\x9b\xce\x31\x4d\x4f\x41\xbc\xa0\x95\xf3\x30\xd3\xe7\x20\xc6\x35\xb8\x49\xf3\xc7\xe2\xf6\x38\xfe\x0c\xd9\x8d\xf4\x30\xa2\x1b\x33\x32\xdc\x91\x13\xc8\x42\xa1\xfd\xfc\x33\xf5\xcd\xee\x16\x20\xd0\x4f\xe7\xac\x43\xda\x3c\x00\x08\xb2\xa2\x73\x45\xf1\x21\xb8\x76\x79\xe6\x18\xad\x44\xef\x3e\x81\xeb\xa6\x67\x81\xb9\x20\x49\x5c\x39\xc0\xa1\x5c\x3a\xff\xf2\x48\xe2\xf6\x40\x9a\xce\xad\xc2\x05\xaf\xd2\x01\xf9\x1a\x45\xa5\x44\xd3\x3e\x03\xf6\x0b\xa3\x5d\xe7\x71\x51\x4f\xdc\x9a\x76\x12\x38\x5b\xf1\x8c\x52\x5c\xa2\xbe\x49\x35\x98\xad\xc7\xa7\xf4\xad\xcd\xe4\xe2\xd6\xa9\xa0\xfb\x5f\x4f\x5a\x34\x35\x89\x95\xa3\x0e\x25\xbf\x7c\x92\x46\x48\xbd\x23\x3a\x32\xeb\x84\x8f\x9c\x9c\xb0\x67\xb2\xbd\xf6\xbe\x53\x23\x87\x69\xe6\x72\x70\x90\x4e\x5c\xfc\x35\x87\xd9\xed\xc8\x2c\x40\x46\x85\x64\x05\xc5\x16\xa4\xb3\xa2\xd2\xfb\x59\xe4\x05\x6f\x05\xe8\xc8\x15\x8e\xcf\xbc\xd7\xc7\xad\xe4\x83\x63\x7d\xe9\x1d\x77\xd7\xfa\x72\x7c\xb1\x08\xfe\x16\xf4\x72\xc4\x4e\xec\x52\x0d\x7d\x05\x06\x4c\x55\xe9\x3d\x18\x29\xc9\xd3\xd7\x63\x7f\xcc\xff\x27\xb9\x21\x3d\xf9\x5f\xf9\x86\xb4\x22\x78\x38\x8e\x29\x76\x34\x93\x55\xde\x7f\x49\x7a\xcf\xb2\xe4\x3d\x49\xe9\xd1\xab\x12\x12\x25\xfc\x83\xdf\x94\xcf\x02\x1c\x03\x77\x59\x46\xa2\x66\xef\x7d\x69\x20\x42\xc7\x1e\xec\x5f\x9d\xc7\x42\xec\xb1\xeb\xd2\x9f\x7a\x64\x95\xc6\xde\x98\xb0\x80\xc3\x17\xa6\x2e\x12\xee\x52\xea\x86\x98\x3e\x2e\x8e\x23\x38\x7c\xb2\x9b\xb1\x2b\x6e\x0c\x4d\xa1\xbb\x1e\xcd\xb2\x14\x74\xf7\x27\x6e\x0d\xd2\xef\xe4\x85\xd1\x39\x40\xc7\x5e\x1b\x84\xf0\x47\xdf\x1c\x23\xae\xc4\x4f\x34\xb8\xf8\x34\xfe\xd5\x07\xe8\x1a\xfc\x7f\xe9\x42\xec\xee\xb4\xbe\xee\x8c\xbf\x0d\x1d\xcd\xe3\x97\x21\x30\x0d\x35\xd5\x68\xf1\x1b\x30\x71\xfc\xb9\xa2\x86\xaf\xc5\x2b\x72\xce\x73\xa5\x76\x5b\x9b\x62\x2d\x50\x00\xcc\x80\x6a\xfc\xe2\x9f\x21\xe4\x38\x2f\x1b\xc1\xf3\x83\xd1\x3c\xa2\x9e\xc9\x5f\x76\x50\x04\x94\xed\x9a\x07\xec\x7d\xea\x2f\x90\x46\xee\x09\xf8\x2b\xde\xca\x0f\x30\x53\x84\xff\x55\x54\xf9\x2c\x18\x28\x8c\x8c\xdc\x5f\x8d\xc8\x0e\x59\x29\x14\x75\xe1\x07\xb8\x94\x6b\x11\xa7\xc4\x32\x8e\xe5\xb5\x54\xd0\x15\xf4\x45\xb7\x09\x0a\xad\xda\xac\x91\xfb\x4b\xcc\x44\x69\x35\x78\x95\xb0\xc6\xd7\x62\xcd\x2a\x91\x09\xa5\x78\x73\xf8\x47\xbd\x42\xa9\xc2\xa6\x93\x01\x61\x48\x81\x33\x84\x7f\xff\x47\x21\x6a\x8c\x73\xc6\xc0\xe9\x5c\x28\x93\x3d\x16\xdc\x3e\x20\x27\x1f\x8e\x13\xe1\x6d\x5d\x72\x3a\x51\x81\x81\x56\x34\x06\x5d\x07\x70\x0e\x00\x23\x99\xb1\xab\x6b\x9b\x2a\x72\xcd\x8b\x72\xd7\x88\x00\x4c\x1d\xf7\xd9\xb7\x9a\x10\x44\x54\x04\xf4\x3d\x1d\xbb\x4b\xcd\x51\x44\x4a\xc1\xc6\xee\x94\x33\x97\x1f\x29\x37\x23\xde\x23\x9a\xa5\x27\xcf\x0b\x0c\x6d\x70\x7d\x37\x64\x60\xdc\x13\x73\xa3\x9a\x1c\x10\xa4\x39\x44\xd5\x5d\xa7\x6e\x6c\x47\xfa\x85\x25\x29\x82\x9d\xee\xf4\x2d\xa9\x76\x00\x49\x54\x70\x8b\xd7\x4e\x9a\xb4\x2a\xf4\xa0\x17\xf4\xaf\x6e\x68\x02\x73\xa4\x48\x4c\x76\x70\xa6\xd9\xef\xf1\x29\xaa\x65\xa2\x6b\xd9\xb4\xd7\x06\x88\x84\x41\x5c\x89\x32\x3e\x40\x1b\x69\x1c\x7e\x30\x92\xa9\x94\x2e\x1b\xb1\xe3\xfb\x4b\x8f\xeb\xde\x73\x88\x9f\xc5\x55\x5e\x58\xc8\xf7\xe4\x01\x1d\xaa\x4b\xf5\x84\xb3\xae\xd0\x44\x33\x38\x80\xa9\x14\xfb\x2b\xee\xf8\x16\x33\xe9\x50\xb0\x36\xb3\x55\x8b\x56\x34\xdc\x82\xe5\x8c\x8b\x21\xb1\x4a\x5e\x58\xc0\xe7\x0d\x77\xfe\x07\x6f\x78\x7b\xbd\xdc\x16\x98\xef\x30\xd6\x32\x8e\xb8\xac\x8f\x18\xf7\x50\xc0\xd3\xcb\x31\x05\x3e\x21\x2d\x9f\x9e\x91\x3f\xbf\x8a\xbb\x46\x3e\x3e\x7a\x44\x03\x5c\x1a\xa2\x76\x26\x2a\xeb\x47\xbe\x7c\x94\xc9\x44\x33\x3e\x79\xd2\xb8\x7d\x06\x3e\x21\x93\x5b\xc1\xae\x8b\xb6\x2b\x32\xef\xbd\x2b\x01\xca\x33\x8c\xc3\x41\x6d\x53\xbb\xb9\x70\x9b\x7d\x00\xb8\x2d\xda\xec\xda\xe8\x7e\x21\x75\xb2\xd7\x58\xbb\xad\x6d\xaa\x50\x67\x20\x8b\xfa\x5e\xca\xcd\xf4\xf3\x0b\x7d\x40\x57\x93\x96\x01\x31\x4c\x2d\xa4\xa9\x3c\x61\x9f\xb3\x47\xac\x43\x93\xb1\x55\x23\xf8\x8d\xf3\xfc\x79\x30\x42\x28\x33\x5d\x98\x33\x62\xa7\x87\x5e\xb4\x45\xb5\x13\x81\x98\xe5\xf2\xc1\xf8\x79\x3f\x67\x31\x68\xbb\xc7\xb8\xb2\xd1\x5d\xc6\x2c\x82\xf9\x9b\x01\xad\x6a\x8e\x17\x14\x2f\x65\xb5\xb1\x33\x38\x90\xee\x65\xb0\x43\xdd\x3d\xfb\xf0\x61\x77\x23\x8f\xe9\x72\xf7\xd9\x6e\x53\x39\x85\xe6\x1e\x7d\xb1\xcf\x2d\x92\x06\x5e\xd6\x70\x87\x78\x5a\x7b\x81\x09\xda\x30\xc5\x29\x83\x47\x4d\x78\x43\x54\x21\xb2\xfa\x65\x28\xd6\xba\xd9\xe8\x8e\xe3\xa3\xa6\xc6\x9c\x4d\x74\x62\x5e\x44\xef\xcb\x71\xd3\x22\xaa\xfc\xaf\x37\x29\x2f\xfc\x63\x26\x35\x25\x2f\x3a\x5a\xb2\x51\xcc\x1b\x20\xca\x5f\x7a\xa5\x35\xeb\x7c\x7c\x11\x49\xfa\xe8\x38\x26\xc8\xb5\xe8\xf4\xa9\x27\xa9\xfc\x66\x46\xe6\x0b\x7c\xcd\xc0\xeb\xc8\x10\x3b\x08\x63\xd2\x0c\x4e\x14\x48\xab\x27\x78\xfe\xff\xd4\xc9\x82\x8c\x66\x33\xa1\x61\x14\x28\xa0\x1e\xf1\x92\xf1\x95\x45\xff\x63\xc8\x20\x98\xcf\x6d\x02\x07\x8b\xdc\x35\xc6\x40\xfd\x4e\xc0\xd1\x62\xc9\x15\x24\xe1\x93\x4b\x01\x46\x62\x63\x75\x6b\x3e\x5b\xc2\x7d\x26\x38\x3d\xbd\xbf\x64\x72\xc9\xd4\x26\x98\xb5\xd3\xd4\xc7\x9c\x94\xf7\x5d\x27\x3a\xc8\xe0\xbd\xea\x24\xb3\xd5\x6e\xb3\xc1\xa8\xe8\xc1\x67\x67\x2a\x80\xb4\x43\x35\x50\xf6\xf4\x46\xb6\x3e\xe8\x3f\x33\xc8\x9d\x1e\x9a\x3d\x01\xfe\x48\xf3\xcf\x4a\xb6\xd7\x16\x70\x72\xc5\x37\xe8\x06\x6d\x8e\x2b\x80\x08\x77\x0f\x39\xeb\x92\x4d\x80\x3a\xac\x47\x01\xe2\xb8\xba\x00\xac\xc0\x7d\xd1\xea\x79\x93\xa9\x0e\x35\x1d\x13\x3e\xcc\x6d\xf2\x60\x85\x19\xc1\x20\xb9\x41\x90\x4d\xdd\xe2\xc8\xb2\x75\x81\x98\xaf\xbb\x96\xb8\x61\x1b\x08\x67\x07\xd4\x3b\x02\x62\x80\x38\x0f\x0c\xf9\xda\x04\x0e\xfb\x3d\x28\x48\x61\xa1\x28\xda\x87\xc6\x05\xf5\x51\xeb\xea\x24\x82\x92\xb3\x80\x15\x08\x0b\x1c\xef\x5a\xa7\xdc\x40\xef\x06\x68\x76\x3b\x18\x17\xee\x6a\x4c\xbe\xd1\x27\x4f\x10\xd3\x6e\x1c\x7b\x00\x36\x41\xae\x9d\x42\xc2\xf9\xa5\xc4\x4a\x91\x2d\x3f\xa0\x33\x95\x75\x45\x35\xa2\xbe\x75\xed\x7a\x7f\x74\xa5\xa1\x2d\x7b\x66\x45\xe8\x07\x7e\xae\x7a\xfd\x12\x7e\x30\xc5\x9c\x44\xf0\x23\xc2\x1f\xe0\xdb\x8d\x8c\xf5\x25\x1c\x69\xd4\x51\xdc\x21\xeb\x6e\x20\x49\x63\x61\xfc\x64\x3b\x41\x34\x2d\x26\x49\xc1\x2a\x76\xb7\xe1\x14\x15\x6b\xa2\x29\x91\x8d\xad\x01\x99\xb2\x99\xac\x80\xf1\x5d\x15\x8a\xf2\x80\x08\x79\xc4\x34\xe1\x26\xcc\x48\x9e\x75\x23\x37\x8d\x50\x0e\x2b\x84\x18\x4d\x72\x9b\xaf\x8f\x84\xf4\xe8\xde\x1c\x9d\xea\xe0\x7a\x88\xa6\x3a\xd2\x4f\xb8\x6c\x8a\x8e\x9d\xd3\xee\x24\x0f\x1f\x92\xf4\xa4\xd5\x80\xe3\x89\x65\x79\xfa\xcc\x4b\x16\xfc\xc1\x2d\x64\x47\x1b\x4c\xeb\xf6\x81\x42\x04\x97\x54\xb8\x21\x53\xec\x33\xf3\x7b\x2b\x60\x44\x7b\xfe\x3f\x88\xf2\x4b\x76\x41\x21\x79\x59\x06\x20\xcb\xb7\x85\xd8\xd7\xe3\xe2\xcc\x75\xfd\xa7\x65\x99\x8e\x37\x00\xb3\x1f\xbc\xc0\xa3\xc3\xae\xf3\x32\x0e\x12\xfe\x9c\x46\xca\x9a\x41\x07\xe9\xf1\xda\xe0\x5e\x0a\xc1\x6d\x6d\xfb\x9c\x96\x47\x4e\x67\xc9\x5b\x37\xb8\xd3\x2d\x85\x79\x64\xbf\x26\x35\x07\x5c\x9f\x22\x7e\x89\xbb\xd3\x07\x4d\xe1\x72\xa9\x19\x47\xa4\xc0\x25\xac\x5f\x2f\xc0\x16\xec\xf1\x59\x58\xf3\x2c\x71\x03\x24\xe7\x2d\x58\x33\xda\x6c\x6a\xf9\x7a\xec\x1a\xe3\x57\xaf\x8f\x40\xb0\x78\xa6\x17\xe9\xb5\x0b\xba\x98\x5c\x46\x6a\x22\x33\xa5\xbb\x2b\x12\xb5\x31\x66\x82\xce\x06\x53\x1f\xfa\x38\xb4\x38\xd5\x21\xcd\x1a\x67\x23\x88\x09\x7b\x9d\x46\x45\xc4\x5d\x2b\x2a\xd7\xf3\xb9\xed\x69\x22\x85\x2c\x71\xc2\xeb\xb8\x31\xa6\x71\x1d\xb6\xfc\xae\xd8\xee\xb6\xd6\x25\xdd\x45\x30\x05\x70\x09\x23\xe0\x9e\x64\x59\xbe\xe1\x77\xc1\xc9\x2d\x02\x60\x87\x69\x3a\x92\xa1\x8d\x3c\xd3\x67\x81\xe7\x76\xdb\xeb\x1f\x3e\xe8\xfc\xbd\x20\x24\x86\x9b\x85\x78\xb7\xd8\x05\x1c\x66\xc2\x5f\xbe\x6e\x3b\x98\x8b\x0d\xf2\x04\xac\x7b\xdd\x52\x29\xb6\x04\xc4\x02\x89\xe6\x83\xa7\x81\xff\xdf\x54\x37\xfa\x5e\xd4\x79\x1d\x73\xef\x76\xa1\x6c\x10\xf2\xd8\x77\x41\xb6\xc7\x3c\x55\xd3\xbe\x91\x8d\xd7\xf3\xdd\xcb\x1d\xd2\x07\xa0\xc9\xb2\xc4\x8e\x39\x52\x83\x81\x95\x0f\x86\x17\x38\xa2\xfc\x86\xdf\x85\x91\x6d\x86\xdd\x70\x33\x81\x5e\xc6\xf5\xe0\xf7\xbe\x0e\xde\xa0\xb4\x73\xee\x53\x78\x1a\x3a\x9c\x11\x5f\xf4\xdc\xd7\xeb\x78\xc8\xf7\xd5\xf1\x55\xc6\x21\x5b\x1d\x65\xb5\x30\x17\xc5\xdf\x84\xdb\x5c\x5c\xd4\x3f\x36\xc3\x0d\x9f\x28\x70\x1e\xbb\x26\x17\x1f\x19\xb1\x17\xf2\xe9\x57\xec\xb4\xcb\x9f\xa7\xbf\x3a\x5f\xa6\xaf\x01\xa7\x4e\xb1\xcc\x82\xee\x9d\x24\x36\x2c\x4e\xe6\x1d\x44\x5b\x44\xb7\x07\xe6\xe1\x1f\x78\x36\xa0\x8d\xb3\x21\x90\x84\x10\xc8\xaf\x1f\xf2\x5f\xa0\x3e\xe9\x0b\x78\x4f\xb4\xf6\xc0\x1d\x73\x0b\x5d\x05\x1e\xf6\x69\x78\xa1\xe1\x70\xd0\xf4\xfc\x0d\xc7\x84\x8e\x9c\x4f\x70\xfe\xf9\xfb\x98\x4e\x3c\x54\xc6\xcc\xe8\xb3\x38\x10\xa1\xdf\x7d\xd9\xa2\x3a\x06\x26\xa3\xe4\x2e\x01\xc9\x94\xcc\xda\x1f\x00\x06\x1f\x93\x50\x99\x81\x83\x1e\x46\x51\x54\x57\x9b\xad\x2b\xc8\x4b\x09\xda\x1f\x2f\x3b\x4c\x14\xd9\x4a\x36\x99\xa4\x89\xb9\x57\xa0\x03\xc2\x79\xda\x72\x50\x09\xe4\x3b\x61\x8f\x59\x48\xb4\xb2\xe5\xd5\x8e\x97\xe5\x81\x18\xfa\x6d\xec\x10\xbc\x9f\x39\xce\x38\xdf\x6e\x79\x5b\x64\x86\xee\xd1\x59\x74\xa9\xd0\x12\x92\xd1\xc8\xd0\x6d\x77\x70\x84\xf1\x96\x9f\x91\x13\x32\x88\xe8\x76\xde\x5b\xdd\xb0\xd8\x6e\x1d\x13\xd9\x3d\xa3\xd9\x74\x0b\x65\xa6\x59\xcf\x14\x2f\x95\x84\xf9\xa6\xea\x13\x88\x64\x9c\xae\x76\x6d\x18\xd6\x06\x3f\x43\xd5\xcf\x66\xcb\x80\x9e\xc9\x76\xd1\xcd\xc2\x82\x19\x79\x82\xd9\x66\x5c\x05\x99\x9c\x90\xae\xa3\xf7\xaa\x32\x01\x49\x00\x36\x08\x96\x44\x1b\x72\x5e\x6c\x2a\x19\x20\x0f\x9a\x71\xf0\x2a\x67\xa5\x68\x99\x4d\xd7\x69\x49\x61\x06\x06\x63\xc9\xc6\x5d\x66\x4d\x0b\x73\x74\x0b\x05\x17\x86\x9c\xed\x6a\x43\x90\xc0\x5a\xec\x1b\x09\x21\xeb\x98\x30\xc6\x45\xfe\x83\x5f\x28\x0f\x3a\x8d\xaf\x11\x87\xab\xc1\xba\x0e\x79\xa6\x04\x09\x82\x43\x25\x84\x81\x43\xf0\xe9\xf5\x52\x38\x08\xb3\x08\x3e\xb5\x00\x28\x8d\x8c\x57\x00\xe3\xd8\x14\xa0\xa8\x2f\x94\xcf\xad\x64\x66\xeb\x5a\xb8\x8b\x14\x72\xee\x45\xdb\xce\x12\xd2\x4c\x90\x71\x3b\x97\xf0\x16\x12\x55\x6b\x60\xf5\xa7\xb3\x0e\x59\x97\xfd\xc8\x83\x3f\x3a\x55\x13\x30\x13\xcc\xba\xb5\xb9\xfb\x36\x47\x6d\x23\xc8\xd6\x17\x6f\xa5\xc1\xc3\x64\x91\x1a\x1b\x3d\x52\xbe\xf7\xdf\xe9\xb9\xe2\xcf\x05\xcb\xa1\x45\x38\x5b\x7a\x72\xdd\xd9\xdb\xe9\x3a\x63\xcf\x0c\xd8\x01\xdc\xa6\x8d\xac\x5a\xc8\x20\xe4\x12\x14\xa5\xe3\xda\xac\xf7\x8f\x49\xc5\xe7\xd8\xea\xf9\xab\xef\xe6\x94\xaf\xb1\x0b\xd6\x37\x09\x6c\x3b\xab\x03\xcb\x71\x51\xc2\xa0\x3e\xe8\x1e\xbf\x15\x18\xc9\x0a\x0c\x5f\xb4\xee\xb4\xbb\xdf\xcc\xa7\x4e\x31\xe0\xd4\xa0\xd4\x54\x78\xf4\x18\xb1\x34\x9d\xfa\x06\xf9\x26\x91\x4c\x1f\xf7\xf4\xcb\x97\x73\xcf\x10\xfa\x8a\x0b\xd3\x36\xc2\x1e\xae\x77\xad\x0a\x2e\x48\xfd\x42\x65\xb9\x28\x5b\xee\xb4\xf9\x9a\xdc\x24\x17\x2d\x2f\xca\x09\x5b\x17\xa2\x74\x96\x03\xe4\x5f\x80\x56\xc5\x43\xad\x2c\x6a\x9b\x0e\xb1\xae\xf5\x14\x42\xb2\xab\x22\xbb\x66\x79\xd1\x58\x23\x03\x24\x2c\x63\x95\xd8\xf0\xb6\xb8\x15\x16\xd4\x01\xf3\x38\x05\x49\x27\xac\xb3\x08\x76\xe7\x9c\x89\xa5\x9e\x3f\x2d\xb0\xc5\x19\x28\xd9\xbf\xb0\xe9\xe2\x31\xfb\x82\xe9\xc9\xd1\x1d\x9d\xb1\x27\x4c\x2c\x61\x4d\x9f\xeb\xda\xff\xaa\x4f\x00\xa4\xf3\x85\x8f\x55\xb7\xd3\xfb\x06\x03\x8b\x0b\xd1\xbc\xa7\xd1\x85\x71\x54\x3b\x91\x57\x91\x96\xbd\x49\x5a\x2a\x7c\xb6\x44\xec\xbc\xcf\x7b\xab\x4d\xbd\xb4\xda\xbe\x37\x96\xac\xbd\x9b\x65\xdc\x3d\x72\xf5\xbc\x41\xff\x32\xdf\x73\x93\xed\x8d\x07\xc7\xf9\xdc\x2c\x52\xdb\x14\x9b\x8d\x68\x8c\xc0\x63\xb1\x93\x7b\xc5\x38\x74\x68\xf1\x10\x80\x6f\x31\xe7\x34\x3d\xcd\x70\xe7\xef\xc1\x6b\x85\x67\x2d\x8a\x03\x16\xaf\x16\xef\x87\xf6\x5a\x34\x62\xe2\x76\x9d\x25\xd6\x4a\xb7\x33\xfd\x75\x54\x73\xa3\x23\x47\x9e\x6e\xaf\x1b\x88\xee\x57\x92\x5d\x5c\x37\x72\x0b\x49\x9f\x6c\x52\x2f\xe4\x5d\x4c\xbb\x76\x2b\x1a\xcf\x52\x8c\x89\xce\x99\xdb\x31\x96\xd0\x63\x8f\x5e\xc3\xc1\x81\x67\xaf\x5c\x63\x08\x80\x52\x3b\xc5\xd4\x0e\x6c\x0f\x5e\xd6\x06\xe1\x51\xb5\xfc\xa0\x88\x00\x6e\x0d\xef\x9a\x58\xdd\x88\x35\x62\x7a\x90\x37\xaa\x41\xe2\xd2\xf5\xee\x29\x68\xba\x24\xda\x89\xc3\x05\x70\x13\x16\x0e\x7c\x53\x15\x55\x26\xdc\x35\x6e\xaf\x13\x14\x2d\xf4\xd8\x83\xd4\x68\x56\xf2\x1b\x44\x3b\xed\xdc\xce\x1f\x7f\x95\xfa\x5c\x9f\x7f\xaf\x77\xe8\x85\xee\x61\x34\xc9\xac\x87\x8d\xf4\x68\x16\xad\x5c\x64\x65\x51\xaf\x24\x6f\xf2\x68\x68\xaf\xd6\x29\x98\x6d\x54\x3b\x9a\x24\xb2\x60\x70\xf5\x66\x58\x08\x30\xe7\x07\xe7\xf7\xb5\xd6\x7c\x58\x54\xc4\x71\xd7\xbb\x44\x27\x82\x7d\x42\x97\x19\x23\xcf\x9b\x1b\xad\xf1\xe8\x32\x70\x7f\x16\x6b\xe3\xe7\xb7\x2d\x94\xc2\x20\x7b\x0f\x6e\xed\xfa\xd8\x8a\xbb\xd6\xa4\x86\xd4\x83\x61\xb5\xac\x77\x25\x6f\x85\xc2\x3c\xd7\xe0\x59\x78\xed\x42\x87\x04\xfb\x9c\xd8\xba\x3f\xf7\xae\x10\xb6\x0d\x4d\x6e\xe4\x22\x0c\xdc\xa3\xfa\xf3\x3d\x2f\x50\xcb\xc1\xf7\x0a\x69\xff\xa8\x78\xd3\x38\x82\x66\x31\x22\x42\x84\x7d\x69\x4f\xf8\x48\xe8\xfd\x6b\x45\xc5\x0f\x45\x5f\x92\x6e\xf6\x84\xcd\xb6\xe6\x25\xa2\x68\x40\x50\x37\xc8\xdb\xfb\xbd\x88\x2a\x7f\xc6\xb3\x1b\xcd\xdd\xc6\x48\xe0\xbc\x3f\x8e\xcc\x66\xb2\x0f\xd0\x8b\x17\x10\x80\x34\xae\x0f\xac\xd3\x83\x3e\x07\xda\xc0\x8e\x11\x59\x43\xa2\x20\x28\x34\x41\xa8\x44\xbc\xf0\xb1\x46\x07\xad\x82\x5d\x7f\x9a\x21\x67\x88\x3e\x9b\x17\x00\x12\x4f\x1f\x04\x46\x83\xa1\xb5\x7e\xc4\x1e\xcf\x3b\xfd\x1d\x61\x00\xec\x76\xf0\xb8\x03\xef\xf8\x78\x95\x11\x06\xc4\x1e\x6e\xee\x04\x2c\x8f\x09\x6b\x8b\x96\x93\x38\xe7\x7a\x56\x86\xde\x8e\x64\xe6\x44\x28\x7a\x4f\x37\x7a\x39\x7a\xa0\x37\x2c\xd1\x97\x7e\x47\xf2\x60\xa9\x8f\x33\x37\x54\x53\xe9\xe0\xbe\xe3\xcd\x8f\xb2\xa4\xfa\x7e\x3c\x18\xed\x5d\x33\x92\xdd\xbb\x3d\x9b\x1f\xd9\xee\x63\x59\x3d\xee\x5f\x0f\xdd\xae\x38\xfa\x52\x66\x20\xb7\x1b\x75\x26\x26\x3c\x35\xe6\x07\x59\x31\x0e\x39\x9f\x16\xb7\xcc\xe4\xb0\xb7\x62\x3d\x57\x46\x1c\x78\xf9\x52\x97\x31\x13\x21\x6c\x96\x4e\xfb\x74\x36\x99\x7a\x31\xd7\xaa\xc8\xa9\x0a\x0a\x5b\x1a\xe7\xc6\x15\x66\xcc\x4f\x5c\xc8\xfe\x86\x24\x49\xac\xe2\xbb\x57\x6f\x93\x1b\xa1\xa5\xaa\x4b\xc0\x91\x5f\x6a\x19\x4d\x4b\x99\x17\x32\x17\x53\xfd\xa8\x2b\xb2\x6b\x77\x87\x95\x72\x2f\x9a\x3f\x42\xf1\x1b\x71\x58\xb6\xf2\xb5\xfe\xe1\x82\x2b\xa2\xe8\x9b\x0a\x68\x4f\x97\xfa\xf9\x67\x26\x96\x5b\xd1\xf2\x3f\x8a\xc3\x8c\x3d\x7c\x48\xea\x9f\xb3\xcf\x6f\x3f\x27\x1e\x22\x41\x0e\xd2\x20\x93\x5d\x20\xdb\xb9\xf4\xb3\xf8\x24\x31\x0b\xd4\x06\x38\xfe\xa8\x47\x25\xe9\x81\x46\x4c\x25\x4c\x4e\xaf\x54\x93\xee\x5c\x1a\x6a\x2a\x01\x29\x45\x10\xa5\x20\xc2\xc6\xa9\xc5\x80\x2e\x68\xc5\xf4\xce\x79\x62\xbe\xd2\xc6\x10\x9a\xf0\xc3\x2c\x40\x9b\x4a\x94\xf0\xbe\x6c\x1e\x3a\x34\x4c\x0a\xc8\x92\xb8\x54\x38\xab\x0a\x10\x2b\x4d\xf2\xd6\x70\x6a\x29\xef\x2f\xd9\x65\x2b\x6b\x54\xd8\x83\x2c\x8f\x8f\x29\x59\xf3\x0d\x87\x40\x2a\xae\xfc\xf3\x11\x12\x72\xa1\x1b\x38\xb4\xe1\xb3\x51\xdb\xc9\x46\x37\xb7\xa3\x8b\x33\x90\x66\x36\xb1\x5e\x62\xa9\x5a\x59\x7f\x63\x3b\x85\xfe\x0a\x09\xa8\x53\x9f\xf1\xdd\xa9\x6d\xb7\x32\xff\xc8\x9c\x16\x0e\xa5\xd6\x04\xaf\x05\xc9\xf2\x5a\xde\xf6\x67\xcb\xd3\xcf\xb2\x75\x29\xf7\xff\xca\xce\x19\x94\x64\xff\xc2\xac\xb6\x94\x3d\x61\x13\x97\x55\x3c\x1a\x42\xa0\x46\xdb\x3a\x85\xca\x12\x1f\x15\xbc\x6c\x45\xa3\xd8\xb5\xdc\xb3\xed\xce\x78\xe6\x99\x2d\x81\x15\xf5\xd1\x06\xa6\x04\xc8\xbd\x1e\x6b\x18\xc7\x0d\x17\x75\x39\xf2\x56\x18\x7d\x4e\x98\x5f\xc9\xf7\x29\x1c\x7b\x42\x09\xc4\xce\xc9\x08\x60\xa4\xfa\x76\x7b\xfb\xed\xbb\x8b\x17\xec\xe5\xab\xd7\x2f\x9e\xa0\x96\xf1\xe4\x2f\xea\x04\xfe\xf1\xde\x82\xab\x2e\xff\xa2\x74\x51\xfd\xe2\xc0\x40\x92\x69\x36\x63\x5f\x9e\x3e\xfe\x12\xd4\x05\xa0\xa3\x28\x76\x5b\xf6\xf6\x92\x3d\xdd\xb5\xd7\xb2\x51\x4b\xf6\xb4\x2c\x31\xe8\x44\x31\xfd\xe0\x68\x20\x37\xfe\xc9\x09\xfb\x56\x09\x07\xb0\xa0\x30\xfc\x32\x33\xa1\x2a\x1b\xbd\x46\x15\xa4\xff\x67\x9c\x3d\xbb\x7c\xbe\x80\xa5\x63\x65\x91\x89\x4a\x19\x27\x72\x44\x0c\xd5\x94\xd6\x10\xee\x68\x78\xfd\xf5\xab\x8b\x17\x5f\x5f\xbe\xd0\x4f\x45\xb1\x7c\xf0\x60\xa2\x67\x5b\xb5\x4d\x91\xb5\x93\xb3\x07\x0f\xca\x62\xb5\x6c\xda\x5c\xd4\xd3\x89\xfe\x27\x64\x83\x84\xe4\xe2\xfa\xaf\x6f\x40\x49\x21\xaa\x4c\xbc\xe1\x15\xdf\x88\xc6\x7e\x68\x04\x76\xd0\xfe\xbd\xcf\x26\x54\x8c\x83\xdf\xd6\x98\xa2\x5c\x2f\xe2\x1f\xc5\x01\x9e\xbf\xfe\x17\xcc\x48\xac\xfc\x0f\x89\xa6\x28\x41\xc7\x0c\x42\x54\xbe\x12\x39\x6f\xfd\x6f\x00\x76\xdc\xad\xab\x77\xac\xcb\xed\x4a\x1a\xfe\xee\x0a\x72\x5a\x58\x75\x85\xac\x54\xdb\xec\x00\xfa\xdd\xba\x8f\x5e\x99\xa5\x66\x59\xc9\x95\x7b\xbb\x3f\xf5\xbf\xd7\x3b\xcd\xcd\xad\xdc\x88\xf6\xda\x00\x5a\xc4\xfd\x9b\x33\x3a\x02\x78\x2f\xdb\xe6\x1f\x9f\x9e\x42\xae\x26\x4d\x5c\xc0\x79\x85\x49\xc8\x0c\xa8\xbb\xdc\xd6\x00\x00\x68\x19\xce\xb1\x37\x2f\x8b\xf6\x40\x74\x53\x0d\x62\xef\x71\x82\x99\x0b\x57\xdd\x02\xd2\xdb\xfb\xde\xe2\x91\xa7\x28\xcf\x18\xb8\x45\x44\xd3\xc6\x6c\xf9\x18\xf9\x5b\x15\xf8\x9a\xb7\xce\xa8\x4a\x36\x73\xf3\xe4\x37\xbb\xbf\x11\x1b\x07\xaf\x27\x71\xf8\xa6\x21\xd0\xc1\xbb\x09\x5f\x32\xf6\x07\xb9\x17\xb7\xa2\x99\x9b\xb0\xe4\x62\xcb\x9b\x03\x81\x7c\x84\x00\xf9\xba\x11\xed\x74\x66\xb5\x93\x90\xc8\x46\xb1\xef\xae\x34\x2d\xa1\x32\x5e\x6b\x69\xf7\x3f\x76\x9a\x4d\xd0\x53\xbe\xa8\x6e\xe5\x8d\x31\x7e\xf1\x5a\xdf\x03\x0d\x04\xd8\xc7\xa3\x0d\x4c\xc5\x30\xd5\x6c\xcf\x15\xbb\x16\xfc\xb6\x80\xb4\x23\xeb\x12\xa8\xc2\x0e\xbb\x90\xcd\x81\xbd\xe1\x59\xc6\x9b\x46\x56\x62\xa2\xd8\xcb\x86\x6f\xc5\x6a\xb7\x5e\x8b\x26\xe4\x82\xab\xb7\xcf\xdf\x4e\x9b\x4d\x51\xe5\x7c\xf6\x84\x41\xd2\x72\xd4\x78\x46\x21\x9d\x56\x5f\x03\xd1\x49\x0d\xc1\xe8\x57\x66\xa8\xbc\x31\x60\xe6\xaa\x2e\xf9\x41\x17\xde\x17\x19\x44\xae\xef\x35\x2b\x70\xa5\x8f\xe6\x2a\xe7\x0d\xa0\x01\x17\x15\xa1\x60\xd5\x38\x78\xd9\x99\x16\x80\x99\xff\x7f\x7f\x64\x53\xd0\xf9\xa3\x0f\xf3\xc1\xac\x10\x49\x10\x20\x5a\x35\x1b\x4a\xe6\x53\x37\x52\x9f\x1b\xaf\x72\x9f\x43\xbc\x76\x3b\x95\x99\xaf\xac\xe2\x5b\x81\xaa\x5d\x93\x6a\x4d\xff\x67\xb8\x38\x9f\x5b\x93\x0a\x74\x6f\x62\xfe\x08\xa0\xd9\xdd\x6a\x45\x49\x79\x5c\xeb\x54\x0e\xb2\xbf\x05\x90\x75\x27\x27\xec\x6a\x2f\xed\x05\x53\x54\x7a\xb2\x32\x9a\xca\x1f\xd9\x0d\xb7\xdf\xfb\x30\x9f\x06\xfc\x46\x54\x3d\x70\x73\x55\xbc\x15\xc3\xa5\x7d\x4c\xec\xe7\xc6\xf3\xf8\x73\x9f\x3f\x33\xb8\x67\xbd\x3f\x34\xed\x04\xa5\x50\x4a\x2d\x06\x54\x12\x9e\x52\x3e\x2d\x27\x5c\x96\xc5\x4f\x7a\x6e\xb1\xd2\x33\x60\x41\x65\xf5\x97\x90\x31\x1b\xb4\xb8\xc0\x44\x16\xfb\x3b\x2f\x32\xd0\xc0\xa1\xbd\xad\xd6\x97\x8c\x49\x38\xb5\x64\xec\x39\x5a\xa0\x31\x1d\x0f\x6a\x77\x0d\xb6\xdc\x5e\x82\x6a\x31\x2f\x14\xdf\x34\x02\xec\xae\x27\x27\xec\x69\xa9\x24\x16\x28\x2a\x9e\x81\xfd\xc6\x80\xeb\x2b\x24\x82\xa1\x51\x78\xdf\x8b\xdc\x84\xad\x17\x60\x7e\x02\x1c\x6c\xd8\x9a\x50\x11\x09\x26\xe7\xe8\x32\x99\xe5\xe4\x14\x65\x45\x3f\x4f\xce\xa9\xa3\x69\xf5\x0e\x43\x8f\xf9\x9d\x32\x9b\xcc\x6c\x1e\xd6\x46\x88\xcc\xcb\xf0\xee\xd7\xe7\x71\x67\x51\xcd\xef\xf0\x68\x8b\xe1\x7e\xa1\xc2\x52\xed\x56\x2a\x6b\x8a\x95\x98\x7a\x48\x7d\xa3\x6f\x34\xba\xf7\xe5\xaa\xa8\xd0\x23\x77\x76\x94\x84\xb3\x46\x07\xa6\xbf\x7b\x91\xb0\x92\xbb\xa1\x80\x12\xed\x51\x02\x4e\x83\x4d\x74\xa5\xb4\x16\x9d\xee\xbc\xb8\x35\xd7\x84\x45\x52\x46\x91\xda\xca\x3e\x34\x07\x4a\xbc\x1b\x3b\xb9\x5c\x09\x0d\x41\x2c\xf0\x9a\x25\xf1\x48\xf0\x61\x0f\x9b\x52\xae\xf4\x05\xa2\x09\x39\x22\x70\xc3\xd1\x14\x18\xee\x46\xd4\x2f\x01\x77\x29\x22\xac\x6a\xb1\xd6\x2c\x78\xcd\x55\x35\x69\x21\x65\xa2\xdd\x1b\xfa\x7d\x0e\xef\x80\x56\x32\xee\x89\x1f\x44\x8b\xd6\x99\x46\x2c\x94\x00\xd3\x72\x2e\x32\xd9\x40\x36\x3a\x3f\x4e\xeb\x8d\xcc\xce\xd9\xbe\xa8\x72\xb9\x77\x3f\xd1\x71\x7b\x80\x5b\xd8\xa2\xd6\xf8\x45\xd5\xf8\x90\x94\x25\x48\x9f\xc9\xf3\xbc\x11\x0a\xf2\xf3\x46\xfc\xba\xe2\xd9\x8d\x85\xa2\xf8\xe1\x47\xdb\xd0\x25\xbf\xd5\x13\xc6\x57\x4c\x3f\x36\x3c\x8f\xb7\x7c\x05\x2f\xa4\xb0\x34\x80\x4f\xb4\x0d\xcf\x6e\xd0\x40\x8b\x92\x8a\x39\x8b\x3d\x15\xec\x30\xa4\x98\x14\x0d\x57\x22\x3f\x73\xce\x18\x57\xcf\x2e\x0c\x30\x7d\x29\x38\x1c\x41\xa5\xaf\x47\xce\x78\xde\x08\x3d\xe7\x8d\x50\xad\x6c\xd0\x1d\xcb\xda\xc9\xe0\x64\x00\xb7\x0e\xe1\xd3\x0d\x98\x8a\x57\xa6\xdb\x9a\x31\x9b\x9d\xa0\xd3\xf9\xdd\x15\xda\x0a\xc9\xd9\x18\x21\xbd\xc0\x26\x67\x5a\x80\x76\x01\x4a\x60\xac\xd0\x82\x03\x74\x19\x24\x17\xe7\x09\x00\xcf\xc4\x2a\x27\xee\x28\x99\xdc\x6e\x79\x95\xfb\x59\xbc\x35\x0f\x8c\x2b\x59\x77\x32\xdb\xda\x6f\xa8\x33\x4f\x31\xfe\xf3\x57\xdf\x39\x4d\x8b\x95\x22\xed\x81\x84\x7d\x59\x92\x98\x27\x25\x1b\x1b\xb1\x13\x13\x72\xf1\x3f\x38\x00\x75\xad\x25\x20\x3b\x07\xf1\x2e\xc4\x42\x97\xba\xcc\x7b\x97\xa3\xc4\x5e\xad\xf4\xeb\xf2\xd9\xeb\xb7\x17\x7f\x4c\xb6\x03\x49\xe1\x4d\x03\xc9\x9e\x42\xda\xf8\xb8\xab\x17\xd8\xbd\x55\x59\x54\x37\x4c\x56\x27\x9a\xd1\x01\x91\x46\xef\xa3\xad\x9a\x83\xe5\x6f\xdf\x14\x6d\x2b\x2a\x2d\x60\x69\x11\x42\x3f\xff\x32\xb8\x1d\x0e\x5a\x52\x2a\x25\xcf\x21\xf7\x1f\x6d\xec\x99\x26\x78\xa1\x09\x01\x37\x3f\x3e\x3d\x9d\xb3\xc7\xa7\xa7\x8e\xab\xbf\x69\xc4\x62\x05\x6f\x1d\x59\x5d\xf8\x1a\xef\xad\x45\xcb\x66\xbe\xc0\x40\x67\xeb\xc0\x91\x4b\xa3\x3d\x90\x0d\x13\xdc\x5e\x9b\x66\x8a\x4d\xef\xf5\xb3\xac\xc8\x0a\x84\x01\x80\x1e\x6d\x0f\x6f\xc3\x36\xfc\x09\x4a\x7e\x4d\x1f\xa4\x4a\x98\x21\x23\x38\x36\xa0\x58\xa7\x7a\xd6\x08\x9e\xa3\x81\x12\x05\x02\xbd\x85\xf8\x46\x80\x99\x0c\x89\xe9\xfe\x32\xb9\x6b\xeb\x1d\xda\xf3\x6e\xc4\x41\xb5\x8d\xbc\x11\x34\x3e\xb3\xa8\x8a\xb6\xe0\x65\xf1\x13\x8a\xb3\x06\x05\xc8\x0a\x6d\x5b\x7c\x5f\xb9\x81\xf9\xa4\xf5\xd1\xda\x9a\xef\x6b\xd9\x88\xa1\xef\xb8\x8b\xde\x56\x6f\xa1\x57\xbd\x9f\xff\x68\x7b\xda\xe1\xf3\x66\x27\xd0\xd8\x68\xc3\xa0\x9d\x9d\x18\x55\x03\xa8\x0b\x6a\x84\xbe\xf5\xcd\x4d\xcf\xcb\x52\xee\xed\x24\x39\x55\x2a\x39\x52\x04\x6f\xc1\x5b\xe4\x1d\xd4\xc2\xf8\x52\x5e\x2a\x7f\xae\xd8\xbb\x63\x25\xca\x52\xbf\xb6\x2b\xcf\x7b\xfa\xa7\xa7\xbb\xbc\x90\xc7\x93\xda\x71\x5d\x6c\xe2\x2f\x5a\x5f\x75\xa9\x84\x7f\x6e\x4e\x27\x75\x23\x34\x87\xeb\x67\x27\xdf\xb5\x72\xe2\xb8\xe3\xa9\x3e\x46\x83\xce\xe8\x93\x6e\xad\x25\x38\x48\x30\xe1\xaf\x11\x38\x95\x37\xa2\x12\xfa\x52\xca\xd9\x54\x0b\x5d\x16\x89\xa9\x28\x0f\x46\xb8\xba\x96\xfb\x6a\x16\x0c\xe5\x6b\x42\xef\x75\xa1\xda\xf0\x62\xf8\xde\x5c\x05\x7b\x81\xad\xd4\xba\x2f\x4a\xe9\xb3\x96\x48\x54\x41\x9f\xc8\x3c\xab\x9b\x56\xd6\xb4\x81\x67\xc2\xb8\x69\xd2\xc9\xbe\x08\x8f\x5f\xbc\xfc\xdc\xcb\x90\x29\xb8\xc9\xc0\x14\xfc\xfc\xc5\xc5\xe5\x85\xbf\xfe\xf4\x07\xa3\x29\x20\x48\xe0\xd1\x99\x05\x2a\xb3\x55\xd1\x2a\x77\xd4\x76\x4e\x46\xe9\x69\x78\xa1\xcf\x10\x26\xa2\xbc\x41\xd7\x07\x1b\xbb\x4b\xec\x02\x19\x0a\xf5\x95\xb7\xec\x60\xf8\x77\xba\xf4\xdd\x55\xfc\x4a\xf5\xaf\x5a\xb2\xe3\x6e\xdb\xa0\x23\xdf\x5d\x75\x25\xaf\x1b\xa3\x31\x81\x93\x8c\x54\x75\xbf\x53\x02\x56\xbd\x12\x92\xf9\xdf\xc0\x2a\x25\x7b\xf5\x16\x3b\xb1\xe6\x59\xa0\x28\x32\xe1\x12\x20\x72\x15\x4d\x8e\x49\x86\x84\x82\x85\x90\xbb\x96\x89\x3b\xbd\x60\x36\xa3\x10\x62\x10\x82\xbd\xc9\xb1\xab\x4b\xbf\x6a\x82\x14\x64\xd0\x2b\x77\xf3\xbc\x7a\x1b\x8d\xcf\x6c\x78\xd8\xdd\x8b\xac\x2c\xb2\x9b\x45\xde\xf0\x8d\xdd\xfe\xca\x47\x74\x74\x56\x52\x54\x5a\x40\x82\xad\xfd\xbc\xe1\x1b\xe3\xd7\x46\x64\x06\xbc\x3d\x64\x7d\x78\x5b\x99\x00\xce\xe8\x3c\x82\x56\x41\x56\x7e\xb6\x6b\x5b\x88\x34\xa3\xa7\x91\xdd\x0f\x06\x86\x09\x02\xef\xad\x63\x13\x48\x7c\xe8\xa2\xb2\x12\xd7\xfc\xb6\x90\x3b\xbf\x32\xba\x47\x58\xf0\x7b\x28\x67\xfd\x44\xdc\x46\xc0\x9e\x69\x4e\x72\x56\xb3\xa7\x5a\xb6\xb2\xe2\x78\x30\x82\x46\xc0\xf9\xad\x5f\x41\xef\xa7\xbf\x3d\x9d\xb3\x2f\xff\x07\xf5\x45\xb0\x6e\x2f\x56\x6a\x0a\x20\xf6\x45\xfb\x0d\xbe\x91\xc3\x37\x34\xe4\xae\xb4\xaf\xef\x94\xd1\x95\x9a\x0a\xec\xdd\x66\x17\xf1\x9d\xe0\xf9\x61\x3a\x63\x1f\xc2\xf7\x05\x8d\x35\x37\x71\xd2\x81\xac\xa2\x52\xaf\x7c\x2a\x8a\xe8\x2d\xf4\x80\x31\x10\x48\x9e\xb0\x09\xfc\x2f\x74\xee\xd9\x8b\xa7\x6f\xf4\x0f\x2f\x9e\xbe\x81\xbf\xbf\xfd\xfa\xf9\x8b\x77\xaf\x5f\x7d\xfd\xe2\x09\x9b\xb8\x7f\x4f\x52\x9e\x46\xf1\x25\x42\xac\x00\x78\x8c\xe9\xc3\xc6\x7a\xa7\xd2\x37\x84\xc3\xf1\xd3\xe7\xc8\x4e\x09\xea\xf7\xe5\xcb\xd9\xbb\x95\x3b\x1f\x02\x92\xd2\x04\xf5\x60\xd8\x03\x7c\x79\x30\x62\x5e\x7b\x60\xa2\x5b\x3a\x79\x4e\x92\xb3\x44\x4d\x43\xc1\x32\x44\x81\x19\xd4\xf9\xe8\x39\x11\xe8\xe1\x40\x95\x6b\xf6\x5b\x97\xdc\x91\xdd\x41\x0b\xc3\x8d\xb5\x7c\xf5\xbd\x49\x4f\xf4\xdb\x6e\x30\x74\x42\xfb\xd3\x0d\xa9\xd7\x37\x5d\x38\xbb\xbe\x96\x8a\xa2\xf2\xa9\x0a\xc9\x26\xdb\xe0\x4a\xc9\x0c\xd4\x78\xfa\xb5\x0b\x27\x69\x4b\x1b\x36\x6a\x0b\x02\xa4\x22\xf6\x03\x1d\x8b\xf5\x5a\x95\xd8\x7f\xad\x5b\x03\x38\x33\xee\x7d\x9a\x12\x14\x18\x7b\x29\x9b\xbd\x3e\x6f\x55\xc9\xd5\xb5\x55\x6d\x51\xed\x9d\x09\xdb\xc7\x98\xdc\xdc\xa3\x01\x80\x4e\x8c\x36\x6f\xd7\x0c\x15\x6b\x7a\xe1\xb5\xe4\xe5\xf5\x6a\xee\x17\x80\xf3\xba\x95\x37\xc2\xb3\xa9\xe9\x8f\x6d\xbf\x6d\x78\x65\x63\x4c\x95\x53\x11\x1f\x59\x58\x7f\x2e\x04\x69\xcf\xed\xf1\x30\x0f\xba\xd5\xa7\x70\x73\x7f\x2c\x1b\xc4\xb5\x99\x9e\xfc\xf9\xe4\x64\x33\x67\x93\x89\xb7\x46\xb6\x5e\x9d\xd7\x5a\x00\x44\x8a\x33\xb0\x56\x34\x2e\x1f\x7f\x58\xe6\x02\x94\x44\x26\xfd\xfb\x83\xe0\x63\x70\xaf\x74\x2c\x05\xd3\xa8\x9b\xc4\xf7\x1f\x49\xf3\x3c\x7f\xbb\x02\x43\x4b\xa3\xa6\xfa\xb0\x9f\x1b\x5b\xe8\x84\x97\xed\x62\xd3\x2c\xb4\x08\x31\x79\xe2\x27\xe5\x36\x44\x3a\xbc\x05\xb8\x9b\x5d\x59\x52\xd4\x22\x80\x84\xe1\xb7\xc5\x86\xb7\xb2\x59\x96\xbc\xda\xec\xf8\x46\x84\xe6\x68\x70\x5c\x16\xd5\x62\xa7\x26\xb4\x2a\x63\xb7\xec\x9c\x4d\x2a\x59\x89\x89\x07\x32\x8a\xbc\x2b\x5c\x31\x30\x15\x2d\x78\xd9\xd2\xb2\x0f\x82\x3a\x30\xb9\x87\x5a\xc8\x35\x83\xbe\x4e\x90\xd5\x83\x46\x35\xad\xdb\xae\xb5\x3c\xd9\x72\xb7\x7b\x1f\x28\x62\xe3\x67\x27\xff\x67\xaa\xbf\xfe\x0c\x2e\x08\xbc\x6c\x7f\x2e\xc5\x1a\xba\xf8\xb3\xeb\xec\xec\xbf\x9f\x2c\x5b\xa1\xda\xe9\xed\x6c\x96\xa4\x6b\x9d\xe3\x2c\xa3\x5a\xc9\x66\xc9\xcb\xf6\x7f\x37\x6f\x10\x0a\xe2\xd6\xda\x8c\x1f\xf8\xf5\xd2\xec\xa9\x6a\x9e\x89\x45\xa1\x16\x5b\xd1\x72\xff\x4b\xcf\x1a\x26\xdb\x78\x66\x2b\xbd\x52\x6f\x44\xcb\xdd\x9f\x3d\xad\x9a\xb6\xee\xd3\x02\x12\xee\xa1\xa7\x44\x95\xab\xc5\xfe\x9a\xb7\x03\x8c\xa7\x27\x1a\x05\xca\x9f\x7f\xbb\x58\x15\xed\xcf\xc6\x37\x77\x71\x23\x0e\xfd\x13\x8c\x35\x8e\x4c\xf1\xa5\x6e\xff\x7b\x2d\x0d\x26\xfa\xb7\xcb\xf5\x4d\xbe\xd0\xaf\x87\x05\xbc\x8d\x7a\xfa\xa8\x37\x3b\x6f\x0e\xc0\x59\x70\xc3\x4c\x4f\xfe\x4f\x59\xac\x16\xd6\x3c\xf8\x64\xfa\xe7\xcb\x47\xb3\x93\x00\x01\x8c\x37\x07\xca\x96\xae\x73\xbd\x4f\x27\xd5\x64\x49\x71\xa5\xe7\x3f\x6a\x9e\x5c\x6e\x44\xfb\x9c\xb7\xfc\xdb\xa6\xd4\xed\xfe\xf0\xf8\xc7\x59\x3f\xd3\x8f\xec\x09\xbb\xf5\x24\xc2\x69\x33\xcf\xa1\x05\x7d\x2c\xc1\x1c\x0e\x1e\x2d\x0f\x1f\x32\xfa\x80\x4a\xce\x4d\xff\x43\x2b\x98\x17\xfa\x7d\x49\x1e\x72\xe7\xfa\x48\xd8\x34\xbc\x6a\x45\x4e\x0e\x11\xf4\xcd\x39\xd6\x46\x78\x70\x9d\x9c\xe8\x56\xc4\x13\x9f\xaa\x14\x5c\xb2\x83\x96\x0d\x3e\xce\x37\xbe\x03\xa0\xba\x35\x89\x4b\x43\x62\xc6\x89\x5f\x57\x81\xb0\x21\x84\xde\xf1\x80\xfd\x8d\x50\x5a\x9e\x91\x6b\xc6\x31\x92\x08\x13\x97\xb2\x29\x78\xdc\x73\xc5\x78\x15\x12\x94\x15\x3c\x28\xac\x06\x68\x86\x12\x99\xbe\x08\x58\x59\xa8\x56\xbf\x89\x50\x0d\xd3\xec\x12\xd9\xe8\x08\xa5\x90\xec\x53\xb6\xe7\x07\x50\x9d\xca\xe6\x06\xf4\x87\x16\x52\x58\x0b\x3d\x16\xbc\x8d\xbc\x98\x39\xcb\x0b\x5e\xca\x8d\x8f\xa9\x21\xd4\xdc\x05\x09\x12\x0c\x67\x9f\xe3\x23\xa8\x95\x0b\x33\x77\x0b\xbf\x7a\x9f\xb3\x15\xbc\x53\x68\xef\x2c\xa8\xdb\x9e\x37\xd5\xb4\x9f\xef\xc0\x22\xa8\x1f\x5b\x0e\xef\x0f\x2c\x35\xf0\xce\x9f\xf4\x67\xf7\x9b\x8c\xd1\x01\x4c\x66\xbd\xb7\xd1\xbd\x18\xd8\x3e\x90\x92\x3b\xca\xab\xa6\x16\xa0\x99\x3c\x76\xfa\x2a\x01\xc7\x3a\xd1\x56\x4d\x6f\x67\x67\xbd\x34\x8b\x2d\xdf\x1c\xbd\x33\x02\xe3\x0b\xa5\xff\x4a\xd7\x1e\xa4\x0f\x46\xa2\x8f\x25\x0f\x06\xb0\x21\xea\x56\x9d\xf2\xd1\x2d\x7c\x63\x08\xa4\x5b\xc1\x2b\x16\xaf\xa9\xfb\x5f\xb0\xae\x06\xdc\x33\x43\x97\xab\x93\xa5\x17\x5b\x5e\x2f\xec\xab\x4d\x0d\xdd\x8a\x5e\x20\xd3\x6f\xda\x5b\x67\xee\x95\x6b\xf6\x16\x54\x12\xb3\x14\xbc\x24\x6e\x96\x6f\x82\x67\x04\x69\x19\xd2\xf6\x39\xb5\x9b\x35\x6a\x56\xfd\x1b\x65\x82\xea\x8f\x27\xba\x04\xb9\x14\xa8\x8b\x3e\xa3\x92\x93\x03\x18\xce\x0c\x12\xdb\x6d\x20\x9e\xf1\x86\x6d\xca\x2d\xaf\x9d\xe6\xfe\xbb\xab\xa5\x8b\xb4\x79\xc3\xeb\xe5\x96\xd7\xea\x07\x5d\xf7\xc7\x25\x14\xf4\x0d\x3a\xca\x8d\xc8\x44\x71\x8b\x6e\x6e\xb7\x58\x36\x3c\xbe\xa1\xe2\x0f\xb6\xd8\x8f\x7a\x39\xb0\x98\xff\xad\xbb\xad\xd9\xf1\x0e\x81\x49\x67\x0a\xd4\xfb\x6e\x47\x7c\xf4\x2f\xc0\x46\x30\x62\x1f\x13\xa5\xfa\xf4\xb3\xcf\x3a\x1c\x4a\xa9\x2d\xc0\xd4\xd0\x43\xd3\x5e\xb3\x84\x47\x9e\x36\x0d\x3f\xb0\x87\x0f\x83\x65\xb5\xe2\xf3\x0f\xa7\x3f\x82\x04\x8d\x4e\x34\x93\xde\x62\x8f\x83\x62\xe1\x2c\xb7\xa1\xa2\x23\xb4\x62\xdc\x76\x24\xfe\x8e\xf4\x7e\x7f\xa2\x3f\xdc\xce\xd9\xed\x8f\x83\x6f\x89\x93\x13\xf6\x92\xab\xd6\x18\x69\xbc\x93\x00\xaf\x98\x68\x1a\xb4\xf3\x8c\x6b\x8b\x98\x61\x42\x56\x89\x57\x67\xec\x99\x7d\xe1\x2d\x4b\xdd\xb3\x08\x88\x2c\x6a\x5e\x8a\xb6\x15\x9f\xe8\x7c\xe8\xfc\x0c\x2c\x31\xf2\xd4\x48\xf7\x87\x9c\x18\x1c\xf8\x4b\x36\x9f\xee\xe8\xf0\x9e\x79\xf8\x3f\xdf\x60\xeb\x26\x35\xbb\xf9\xa2\x5a\x99\xdd\x5c\x90\xcf\xcb\x4c\x56\x19\xb7\x38\x32\x6e\x2b\xd0\x51\xba\x93\xe3\x46\x1c\x3a\x47\x12\x1e\x4a\x85\x7e\xf5\xf3\x46\x89\x57\x55\x3b\xd5\xef\x8e\x33\x52\x40\x13\x2c\xd4\xd7\xfc\xeb\x69\x31\xd3\x93\x5a\xb0\xaf\xd8\x29\xfe\xe3\xf7\xec\xcb\xdf\xfc\x26\x24\x17\xa2\xd1\x4e\x5e\x55\xb7\xbc\x2c\x72\x93\xfa\xbc\xa8\x98\x99\x54\x9c\x16\xdd\xa3\x47\x6c\x62\xe6\xe8\x87\x1b\x71\xf8\x31\x68\x3a\x06\x94\x8d\xa6\xcc\x0d\xf7\x87\xe2\xc7\xb8\x17\x70\x54\x6e\x56\xe1\xf4\x55\xb2\xd9\x82\xce\xf5\xe2\xf2\x12\x6b\x85\xad\x69\x62\xcd\x66\x35\x8b\x56\xb4\x67\x69\x7e\x28\x00\xa7\x72\xb3\x0a\x3b\x17\xff\xeb\x43\xe7\x8d\x16\xfa\x08\x41\x34\x83\xf7\x5a\xc4\x73\x96\xae\xf1\x74\x16\x13\x88\xbd\x97\x46\x90\xe8\xec\xb8\xfa\xb0\x90\xd5\x02\x0d\x6b\xc7\xf6\x6f\xa4\x6b\xff\xec\xb3\xf8\x82\xdf\x29\xb1\x30\x6a\xe7\x05\xaa\xd0\x17\xba\xce\x31\xba\x3d\xfa\xf4\x2e\x7d\x50\xa9\x2f\x9c\x15\x70\x01\x0e\x0b\xa3\x9a\xe8\x57\xc6\x27\x5a\x69\x9b\x72\x51\x97\x3b\xb5\xd8\x16\xd5\x4e\x2d\x7e\x12\x8d\x5c\xfc\x24\xe5\x76\xb4\x48\xa4\x29\x7c\x53\xee\xd4\x1b\x5d\xff\xdf\x44\x23\xff\x4d\x02\x26\x54\xb2\xa5\x6c\xd4\x00\x02\xda\x17\xa6\xef\x49\x7a\xb7\x0b\xf4\x16\xba\x0f\x41\x8c\xd6\xa0\x57\x56\x9f\x4c\x79\xe1\x4a\x77\xcf\x6f\xc1\x55\xbb\xe0\xaa\xe0\xd5\x82\x6f\x57\xc5\x66\x27\x77\x6a\xc1\xd5\xa2\xdd\x4b\x7d\x41\xec\xb6\x7d\x02\x2c\xfa\x15\x2f\x1b\xb1\xe1\x4d\x7e\xf1\x97\x9b\xa7\xb6\x76\x62\x8c\x68\x16\x5a\x80\x92\x64\xa1\xcf\x85\x46\xf6\xbd\xba\xdd\x18\x6e\x5b\x63\x4d\xfa\xed\xb3\x02\x22\x86\x1a\x59\x26\x97\xde\x10\x5f\xc9\xb2\x4f\x0f\xe2\xe7\xe5\x50\x65\xcf\x64\x99\x5f\xf2\xb5\xb8\x6c\x79\x62\x73\x11\x62\x7a\x16\x56\xa0\x30\x3b\x46\x76\xf8\x50\x40\x92\xba\xd9\xa7\xea\x59\x63\xb2\xd1\xbb\x61\xdc\xe3\x68\x18\x26\x14\x0f\xc1\x05\x35\x2f\xf6\x4d\x71\x9c\xb5\xdc\x74\x5f\xd8\x7a\xdf\xeb\x6a\x43\x2d\xe4\x22\x7b\xfc\xe5\x68\xba\xcf\x75\xe9\x24\xb9\xb5\xac\xda\xc5\x9a\x6f\x8b\xf2\xe8\x8e\xd2\x0b\xf8\x52\x56\xed\x4b\x28\xdd\x59\x3d\xa0\x34\xea\x59\x27\x5a\x4d\x26\xfd\x88\x43\x2a\x5b\x89\xf0\x07\xbf\xb8\x4b\xd6\x3d\x63\xb4\xbc\xf5\x32\xf4\xe8\xe8\x76\xf0\x5a\x6e\xc5\xe2\x46\x1c\xd4\xc2\xb8\x29\x8e\x3d\x36\x74\xc5\x3f\x8a\x83\x72\x76\xd9\x78\x29\x74\x49\x2d\x7b\x56\x9b\x3e\x09\x2e\xf1\x96\x34\x15\xf0\xbc\x8e\xc4\x99\xcf\x6e\x67\x1d\xe9\x29\x92\x05\xc7\x3d\x0f\x41\x08\x9e\x4e\x5e\xe8\xff\xd1\xc2\x08\xe9\x29\xb1\x0c\x3d\x61\x2f\xee\x6a\x8c\x7c\x47\x19\x6e\x72\x5c\x7a\x6b\x9b\x43\x4a\x27\xd2\x1d\x1f\xcf\xf3\x67\xe6\xdf\x53\xa2\x65\x64\x19\x18\xef\xa6\x34\xfa\xf3\xfe\xfd\xd6\x62\x14\xc1\xf6\x8f\x24\xf6\x2d\xbf\x5b\xa0\xd1\x60\x61\x5d\x17\x46\x6c\xbc\x2d\xbf\xc3\x88\xbd\x4b\xeb\xee\xd0\x5d\x71\x48\x79\x87\xcc\xc4\x1b\xb1\x58\xeb\x7f\x8d\x5e\x7a\xa8\xac\x19\xea\x69\x23\x5e\xea\xff\x4d\x36\xd0\x72\xa3\xa7\x30\x9a\xef\xf1\xd4\x5b\x0e\xfa\x89\x17\xe8\xb4\x91\xa0\x0d\x2e\x0a\x70\x75\x2e\x50\x0d\x37\x66\xb7\xbe\x89\x5c\x0c\x3a\x7b\xb6\xe6\x9b\x8f\xdb\x5f\xba\xe2\xe0\xfe\xaa\xb9\x52\x0b\x5e\xb6\x0b\xf3\x86\xbc\xa7\x51\x4b\x4b\xc6\x52\xdd\x79\xf7\x56\x6f\xe1\xda\x29\xd1\x3c\xdd\x88\xaa\xb5\x9a\xfe\x37\x3c\x63\x6f\x2f\xd9\x9f\x4e\xfc\x86\x84\x57\xe6\x6b\xd1\xb2\xa7\x65\xbb\x78\xbc\x5c\xfe\xce\xc0\xb7\xc8\x00\xae\x6c\xda\x4a\x66\xee\x68\xf4\x20\xdd\x17\x6d\x76\x0d\x80\xc7\xb2\xa2\x94\x2a\x59\x2d\x74\x0b\x4c\x1d\x54\x2b\xc0\x8f\x10\x90\xd5\x41\x1d\x61\x1f\x5c\xb2\x16\x15\x6a\x3c\xf4\xd3\xab\xae\x6d\xcf\xfd\x98\xd8\x39\x9b\x7e\xa6\x47\xf5\xf0\xa1\xd1\x64\x60\x91\xab\x43\x0d\x09\x1d\x26\xb5\xac\x77\xf5\x64\xd6\xdd\xb8\xee\xfe\xe5\x4a\x3d\x2d\xdb\xaf\x31\xb0\xa6\x67\xd6\x41\xce\xfa\xdb\x4e\xbb\x96\xc3\xfe\xd1\xe6\x5d\x8f\x69\x78\xe2\xe1\x00\xf8\xdb\x4e\xfc\x1b\xdd\x85\x5f\x3e\xf1\x9f\x68\xd2\x7f\xf1\x9c\xeb\xe1\x8c\x98\xf3\xdb\x7b\x9c\x5b\x48\xf4\xbb\x04\x3d\xa3\x79\x5c\x88\x2a\x93\x79\xbf\x3c\x64\xae\xf3\x93\xff\x33\xdd\xb5\xeb\xc5\x6f\x7f\x6e\xf8\x7e\xf6\xdf\x4f\x66\xce\x06\x4a\xdf\xf8\xa1\xf2\x26\xd4\x33\xac\x65\xc3\x3e\x8f\xdb\xfc\xbc\xab\x8a\x41\x5b\x2a\xb4\xe5\x6d\x66\x5e\xbd\x40\xaf\x41\xa7\x48\x7e\x61\xc8\x25\x46\x69\x80\xf4\x64\xb5\x70\x2e\xbb\xe3\x14\xf7\x91\xe7\x6c\x3f\x5d\xf4\x0a\x1e\x4b\xd4\x7b\xeb\xa6\x29\xae\x78\xb3\x30\x2e\xeb\x23\x24\xca\x38\xf8\xb8\x2b\x52\x52\x20\xc1\xc5\x56\xde\x8a\x85\x8f\xb7\x1d\xdd\x40\x37\xdc\x37\xd1\x90\xa8\xf2\xbf\x2a\x2f\x05\x0d\xfe\x02\x46\xf2\x6f\xef\x31\xec\x74\x5d\xac\xdb\x05\x86\xb3\xdc\xf3\x69\x0f\x55\x31\xbb\x57\xf4\xc0\xa7\x2a\x9b\x66\x91\xa9\xa3\x72\x5a\xa4\x06\xf8\x56\x89\xe6\x42\x79\xd9\x15\xf2\x5e\x76\x9c\x79\x96\x8d\xe0\xf9\x25\x7a\xb6\x77\xe1\x09\x68\x41\xb0\x38\x1e\x9e\x96\xa5\x93\xf9\xf5\xba\x05\x6e\x4a\xa6\x47\xf4\x37\x83\xf3\xd2\x75\x54\x0c\x21\x86\x55\xe4\xf3\xa5\xac\x63\x3c\x7a\xec\x21\x7c\x57\xb5\x2e\x36\x36\xb7\x65\x18\xf8\x34\xe4\x69\xb5\x11\xed\x37\xe0\xee\xdf\x87\xa0\x4c\x06\x19\xa6\x85\x82\x87\xac\x3e\xf8\xf3\x02\x22\x81\xd8\xaa\xe1\xd9\x8d\xd0\xcf\x0d\x04\x41\xd8\xca\x7c\x84\x9f\xd7\x33\x5b\xcb\x2e\x70\x2f\x12\x80\xf5\x8c\x5e\xae\xe2\x2a\x50\x32\x09\x5b\x80\x41\x22\xd6\x8d\xcf\x45\x89\x58\x44\xb3\x83\xdc\x11\xf8\x05\x25\x5a\xeb\xb4\x5f\x8b\x46\x15\xaa\x9d\x33\x08\xb0\xf2\x58\x7e\x38\x11\x73\xd6\x70\x13\x3e\xcd\x31\x2f\x15\x7a\xf7\x39\x77\xc9\xe3\xc3\x26\x76\x04\x3a\x66\xe8\x6f\x98\x66\x88\x06\xb2\xc0\xe7\xb3\x44\x3c\x8e\x81\x47\x88\xe2\x23\xc6\xd4\x90\x4d\x2e\x9a\xa8\x74\x1a\xe3\x3a\x0a\xf0\xc1\xa9\xe5\x80\xd6\x88\x50\x28\x47\x39\xad\x67\xd0\x5d\x7e\xa3\xc3\x3e\xc2\x75\x18\x77\x81\x70\xda\x90\x14\x8c\x40\x0c\x55\xb1\x63\xf6\x91\x45\xb9\xf4\x69\x0b\x35\xed\x7c\x88\x1b\xfb\xbc\xbb\xfb\x79\xd1\x2f\x0e\xce\xdd\xdf\x05\x1f\x3e\xeb\x70\x4c\x2f\x2f\x26\x82\x6f\xfa\x6c\x12\x58\xf5\x2c\x1d\xd1\x1c\xab\xf2\xbc\x8b\xb8\x0a\x80\xd9\xe3\x60\x9e\x79\xba\x1b\xfd\xc1\xd0\xbf\x5a\x43\xbd\x6e\x0a\xa8\xa3\xb2\xa3\x1f\xde\x46\x3e\x92\xa6\x8f\x2f\xaa\x56\x54\xb9\x39\xdf\x81\xc9\x5d\x50\x3c\xe2\x2f\xa4\x43\xc6\x20\x16\x42\x90\x20\x08\x0b\xe1\xa9\xde\xfb\x28\x88\x23\x1b\x75\x80\x2b\xba\x9b\x35\x9e\xa7\x24\xf3\xfb\x39\xfe\x3b\x62\xfe\x48\xb9\x38\xc4\xfc\x89\xc8\xb2\xff\x8f\xf9\x53\x0a\xda\x7b\x32\x7f\x2f\x5f\xfc\xed\x98\x7f\x80\x2b\xba\xcc\x1f\x4f\x5f\x08\x28\x0b\x11\x78\x26\x2f\xad\x55\xed\xa2\x83\xa0\x9b\x00\x13\xce\x8b\xb9\x34\x77\x95\x4b\xba\xca\x31\xe8\x00\x62\x0c\x9a\x0d\x46\x7e\xfb\x7b\x36\xed\xac\x6f\x68\x5d\x00\x66\x08\xc4\x9d\x45\x10\x31\xdd\x76\x97\xa9\xa8\x03\xde\x6c\x50\x57\x0a\x44\xa2\xe6\x3d\xd2\xb1\xb4\xa8\x2f\x96\xd0\xc0\xbc\x36\xbb\xea\x82\xf6\x2e\xd8\x6a\xfe\xf7\xb9\x6f\xdb\xe7\x4c\x10\xd5\x6d\xd1\xc8\x6a\x4b\x60\xf2\x8c\xd4\xbd\x11\xed\x74\x42\x3e\x4f\x3c\x5e\x35\x3a\xa9\xd0\xaa\x9f\x9d\x5b\x67\x86\x09\x20\xad\x51\xaa\x46\xdd\x02\x1b\x23\x6c\xce\x44\xcd\x25\x90\xcb\x4c\xf8\x16\x2e\x1f\x7a\xfd\xd3\xa1\xd8\x5d\xf6\x9f\x7e\x48\x4f\xc8\xcc\xfe\xfc\x33\x9b\x10\x5f\xe1\x42\x3e\xb1\x91\x69\xcb\x7a\xa7\xae\xa7\x33\xff\x8d\x74\xe8\x09\xfd\xc3\x97\x90\xd5\x8b\xbb\xa2\x7d\x42\xe7\x34\xcc\x5b\x6c\x50\xce\x34\x71\x59\x4f\x03\x77\x01\xf8\xb0\xab\x80\x3d\xcb\xd2\xc5\xe7\x75\x7c\x27\x10\x4a\x8d\xcc\x7b\x56\x4a\x25\xf4\x6b\x5e\xdc\x15\xed\x64\x16\x7b\x1b\x18\x75\x0f\x94\x9a\xa6\x3c\x30\x69\xce\xa0\x54\xe3\x74\x7e\x35\xff\x24\x93\x9a\x19\xaf\xd1\x62\x1d\x1c\x2f\x16\x5b\x45\x05\xf8\x3d\xf8\xeb\x1c\xdd\x38\x7d\xe6\xd8\x23\x9c\x5b\xa8\x6f\xe8\x09\x3e\x7c\x1c\x38\x14\x95\x1e\x18\x15\xd2\xff\x57\x38\x66\xe8\x61\x10\x42\x69\x11\x99\x3b\xcf\xb8\x30\x72\xc9\x80\x4a\x07\xda\x3b\x88\xe8\x51\x42\x20\x6a\xc0\xc1\x87\x5c\xeb\x7b\x15\xa1\xa6\x4d\x0a\xdc\x91\x42\x71\xb4\x30\xdd\xc1\x07\x91\x9e\x9d\x75\xec\x5c\x18\x1b\xd1\x3e\x37\x01\xca\xd3\xd9\x72\x25\xf3\x83\x5e\x54\x37\x27\xdf\x5a\x36\xbc\xc7\xac\x0c\xf4\xbe\xc3\xd5\xf7\xed\x3f\x1c\x0a\xb4\x83\x5e\x9c\x31\x28\x35\xfd\x2b\x75\xa1\x87\x41\x6d\xab\xa7\x33\x8c\x9b\xd7\xd2\x8c\x39\x3b\x6d\xb8\xa6\x23\x17\x2c\xb3\xed\xaa\xcb\xfb\xc0\xc0\xf1\xf3\xe0\x7a\x00\xe6\x5d\xa2\x17\x88\x6f\x06\x54\x34\x7f\x60\xf5\x1d\x62\x9c\x08\x55\x34\x70\xa5\x9a\xd6\xe6\xe9\xb4\x7f\x7d\xc2\x12\x8e\x23\x88\xc8\xba\xf3\xd0\x99\xf5\x1d\x38\xef\x9b\x3c\x03\xf5\x5d\xea\xa8\xf6\x36\xe9\x59\x90\xc0\x2a\x14\x28\xcc\x7c\xd5\x77\xfe\x34\xd7\xe5\xf6\xd9\x85\x52\xef\x76\xa5\x4f\xe0\x1a\xfd\x6c\x9e\xb4\x7b\x13\x12\xd8\x21\x1e\x66\x74\xc2\x62\x5f\xb0\x2f\x89\xe7\xdb\xa4\xbe\x9b\x74\xd0\x4d\xff\xb7\xd5\x25\x98\xc3\x25\x58\xac\x63\xa2\x44\x77\xce\x92\x87\x06\xdd\x20\x6e\x02\xc2\xf3\x2e\xd9\x0d\xf4\x14\x18\xd7\x11\x34\xca\xdf\xbb\x2b\xde\x96\x9f\x10\xeb\x2f\x2e\x2f\xd9\xe7\xc4\x67\xe1\xf3\x7b\xef\xd1\xd0\x65\xa0\x67\x83\x26\x58\xc4\x74\x2b\xcd\x62\xc6\x81\x62\x36\x22\x16\xa7\x87\x47\x9d\xc7\x03\x85\x26\x4a\x79\xcc\x74\x26\x25\x15\xb7\x1d\x64\xfb\xea\x1a\x6a\x61\x0b\xcf\x41\xd4\xdb\xb5\x12\x33\x44\xe8\x23\xbc\x58\x3b\xd4\x84\x63\x6b\x9c\xb2\xe5\xa6\x93\xf9\xae\xec\xb7\xce\xc8\x13\x16\xe4\x58\x9e\xb2\x95\xbb\x9e\xbf\x7d\x01\xeb\x58\x03\xaf\xff\x04\x20\x3c\x86\x64\x0d\x98\xb2\xfe\x3c\xfd\xd3\xe3\xc7\x67\x7f\x56\x8f\x48\x7c\x16\xa8\xc4\x75\xcd\x9f\x7f\xd6\x04\x7e\xf8\x12\x1d\x9c\x2f\x9a\xb7\x97\x47\xfb\xf3\xe5\x59\x9c\x08\xb6\xaf\xe4\x3f\x77\x4e\x82\x84\xce\x53\x96\x79\xb8\xba\xc4\x69\x0a\x97\xb5\xb3\xa6\x9a\xd2\x7d\x96\x35\x60\xb9\xf4\x9a\x7a\x6f\xa8\xb4\x80\xec\x9d\xc2\xdc\xfc\x91\x2a\x9f\x45\xd6\xc6\x11\xcf\xd6\xa0\x41\xff\xc7\x99\xaf\x3f\xde\x81\x2b\x41\x21\xc1\x28\xf8\xc4\xa6\x89\xd3\xe8\xa1\x60\x32\x86\x24\xd2\x7d\x60\x2a\x81\x32\xbf\x57\xcd\x89\x9d\x2b\x43\xa0\x50\x76\x11\x34\xb3\xba\x9e\x2c\xc5\x7f\xec\x78\xa9\xa6\x96\xbe\x67\x4e\x5f\xc1\x4e\x6a\x68\x9b\x81\x71\x93\xd0\x6c\xc3\x4f\xf9\x13\x06\xfd\xd4\x3b\x4d\x97\xd8\x63\x1a\xb7\xbc\x40\x28\xbd\xa4\x93\xf6\x04\x84\x3e\xec\x14\x04\x81\xbb\x6b\x81\x15\xea\x49\xba\xce\xb1\xb3\xde\xc3\xcf\xdf\x97\x17\xfc\xc0\x47\x6b\x26\x7a\xeb\x77\x55\x08\x1c\x11\x2d\xe4\x3a\xa5\x90\x76\xe9\x13\xad\x14\x64\x2e\xb6\xff\xc4\xdd\x05\x09\x09\xcb\x0f\x20\x09\xe1\xbf\x8d\x46\x80\x35\xc2\xe0\x0e\xda\x04\x2b\x96\x30\xa5\x38\xb4\x49\xf9\xad\x30\xb8\x31\x63\x1e\x07\x46\xbb\x6d\x43\x9a\xf4\x0b\xa9\x72\x57\xc9\xd0\x25\x1e\xc2\xc2\x8e\x6b\x2b\x9c\xeb\x23\x6d\xa8\xa1\x36\x42\x4a\x09\x84\xe6\x36\xae\x9a\x6a\xbb\x5f\x25\x14\xe4\xf2\x59\x73\xd0\x59\xf0\xba\x2e\x0b\x8f\xb5\x17\x8b\xd8\x6e\x85\xad\xa0\x7b\x35\x4c\xef\xb8\x9c\xf4\x6f\x52\x6e\x5f\x62\xdb\xa3\xe5\xa4\x50\xac\xfc\xc9\x51\x08\x55\x41\x80\x03\x81\xa3\x28\xda\xd2\xa3\x27\xdb\x31\x4d\x94\x77\x90\x38\x22\x89\xa3\x93\xf9\x15\x90\xa1\x0b\xa4\x7f\xc0\xae\x46\x80\x7f\xcb\xd6\x94\x85\xff\x8d\x16\x02\xb0\xef\x10\x2d\x03\x72\x19\x94\x07\x83\x72\xd4\xb7\xad\xcc\xe3\x22\xdc\x55\xa6\xb0\x5e\x00\x87\x9d\x84\xaf\x1d\x4d\xfe\x98\x72\x08\x4b\x75\xf7\x10\x52\xf5\xf7\x5c\x03\xf9\xda\x31\xa9\x6b\x56\xf2\x6d\x6d\x4a\x2c\x1b\xc8\xa3\x3e\xa7\x0c\x49\xf3\x60\x2e\xd8\x63\x77\x19\xa0\x23\x77\x9a\x0c\x7e\x4b\x52\xc2\xe7\x82\x25\x14\x30\xbe\x33\xe7\xb9\x28\x45\xe8\x0e\x12\x73\x77\x42\xd0\x04\xfb\xbd\xed\x87\x4b\xbd\x13\x7e\x3f\x3f\xb7\x05\x1e\x3e\xb4\x9f\x2c\xf8\x79\x70\x4f\xf7\x1c\x2a\xb6\xac\x43\xeb\x89\x44\x99\x8b\x52\x70\x6a\x14\x9d\x28\xe6\xaa\xac\x4b\x7e\xcc\x98\x07\xee\xad\x38\xe8\xb7\xbe\xa5\x1e\xd1\xfd\x48\xff\x4c\x54\x6d\x28\x48\x2b\xd2\x37\xc4\xe7\x19\x69\x52\xb5\x50\x3d\xde\x70\xa7\x7f\xe8\x98\x54\x1d\xf4\x20\x7c\x3e\x23\x59\x95\xf4\x1b\x12\x49\x41\x1a\x96\x0f\xa9\x07\xd8\xc8\x4e\x6d\x7a\x3b\xd5\x67\xf2\xc4\x6e\xa5\x34\x0e\xc8\x7f\x11\x9e\xe2\x1c\xf1\x2a\xed\xbd\xf5\xed\x2b\x87\x9f\x33\xe6\x14\xc1\x67\x32\x35\x79\xec\xb6\x15\x24\xed\xf5\xaf\x7a\xf2\x63\xec\x94\xd6\x5a\x38\xd5\xe8\xdd\x3d\x79\x7c\x7a\xfa\x4f\x93\xa4\x20\xd7\x57\xe5\x0d\x6f\xaf\x97\x99\x28\xca\x38\x33\xf3\xf0\xdb\xdd\xee\x1c\xd2\xc7\x47\x89\xaa\x78\x21\x38\xbf\x1f\x18\xf8\x37\x77\x33\xf6\xc8\xbd\xf7\xbb\x38\x56\x84\x66\xdf\xa9\x42\x0f\x02\x4c\xfa\x7e\x79\xa8\xb2\xf0\x24\x78\xdf\xf3\x6e\x36\xe7\xd2\x27\x5c\x4e\x4c\xec\x1b\xe5\x6d\x8f\x16\xd3\xfe\x72\x6c\x25\xaf\x2d\xad\x7b\x2c\xa5\xad\x33\x6e\x01\x4d\xe9\x2f\x98\xeb\xd2\xd0\x62\x24\xcf\xe2\xb9\xab\xfb\x31\x0b\xf1\x5c\x58\x48\x03\x67\x11\xa1\x30\xd3\xe6\xb2\x1b\xbc\xb3\x7c\x07\x7b\x76\x11\xe9\x61\x72\x3f\x85\x29\x32\xfd\xc8\x08\xe0\x90\x69\x05\x33\x3d\x07\x3b\xd4\x21\x15\xb9\x19\x4c\x90\x33\x8c\xda\xa1\x67\xb2\x40\x4f\xc9\x0c\x1a\xa4\x5e\x51\xe5\x60\xc9\x08\x67\xa5\x95\xac\x2e\x77\x9b\xa2\x22\x00\x7a\x01\xd4\x97\xea\x6e\x1a\x42\x7b\x78\xde\x71\x33\x87\x13\x9f\x52\x80\xee\xaf\x39\xc2\x1c\x5a\x88\xb4\x5c\x56\x22\x01\x8f\x16\xd0\x83\x74\x7e\xbb\x16\x35\xe3\xbb\x2a\x07\x9f\x29\x4c\x0a\x6b\x13\x49\x02\xe2\x07\xb1\x25\xb3\xa2\x72\x29\x27\xdf\x4f\x67\x16\x0c\x04\xc6\x0d\xd9\x0f\x64\x1e\x26\x36\x6c\x76\x15\x0b\xd0\x39\x48\xea\xdd\x44\x0e\x71\xc5\xe4\x9a\xaa\xe0\xb1\xc3\x76\xe0\xef\x44\x79\x80\xdc\xb4\x61\xde\xec\x56\x32\x05\x99\xa9\x21\x0a\x1a\xc0\x40\x82\xcc\x9f\x26\x43\xad\x4d\xb9\x28\x5b\xb6\x02\x3d\xbf\xf1\x81\xc9\x64\xd3\xe8\xa7\x0e\xe6\x4c\x39\x88\xd6\xcf\x5b\x25\xee\xda\x0e\x14\xe4\x75\xd1\x1e\x53\x09\x07\xac\x79\xaf\x7b\xe4\x2b\xa7\x25\x6e\xaf\xb5\x44\xa7\xf9\xed\x05\x86\x86\x3c\x6d\x5b\xb1\xad\x5b\x03\x30\xab\xe9\xb3\x15\xcf\x71\x86\xd0\x5d\xb1\xb3\x07\x5c\x0e\xde\x0b\xf8\xa2\xd8\x79\x70\x21\x2c\x42\x31\x64\x63\x2e\xbe\x69\xa8\x80\x0e\xa5\xbc\x80\x42\x52\xdc\xf3\x9f\xd3\x9b\x32\xe8\xd0\xef\xd9\xa9\x3d\x69\x9d\x32\x3b\x82\x92\x9e\x05\xc7\x66\x17\x33\xb1\x4f\x1a\xa5\xed\xcc\x3a\x9a\x2d\x17\x32\x5d\xb8\xec\x7c\x16\x71\x7b\x59\x8a\x6a\x83\x02\xed\x19\x2b\xd8\xef\xcf\xd9\xe9\x19\x2b\x16\x8b\xd0\x11\x3d\xac\xf3\x43\xf1\x23\xfb\x2a\x58\x00\xa7\x59\x58\x35\x82\xdf\x78\x14\xa7\xb0\x29\x62\x72\xfc\x10\x5c\x1f\x3d\x33\x9a\x3e\x14\x8f\x1d\x23\xe6\x4a\xf9\x74\xe7\x48\x48\xf0\xbf\xc2\x41\x82\x3d\xfe\xaf\x7a\x92\x98\x4b\x69\xa4\x08\x73\xff\x43\x04\x67\x07\x4f\x91\xf0\xe2\x73\x47\xc8\x3b\xb9\xd7\xe7\x87\x6b\xa4\x7b\x78\x60\x27\x7b\x4e\x0f\x27\x37\x59\x02\x8e\x7a\x66\x9f\xb6\xad\x05\x0b\x46\xf1\x64\x1a\x1d\x19\xd0\x81\xaf\xfc\x79\xa1\xaf\x64\x34\x3b\x6f\x64\xcb\xd4\x96\x97\xa5\x30\xf0\x17\xbe\xfc\x17\xe7\x6c\x61\xd2\x0d\xee\xaf\x8b\x52\x10\x5a\x21\xfe\x59\xc9\x15\xa4\x7b\xf5\xb9\x54\xdf\x99\x8e\x4e\x67\x70\x12\x90\xad\x6f\xcb\x2e\xa8\x28\xe7\xe0\xfd\xed\xf1\xa1\x9f\xa9\xee\x05\xde\x77\x1c\xb8\x93\x04\x1b\x84\x74\x86\x86\xfc\x6c\xf0\x08\xb1\xf3\x5e\x43\x9a\x54\xef\x44\xe0\x86\xb7\x58\xd8\x63\xe5\x01\x0b\x30\xde\xc2\xe3\xe5\xba\x58\x43\x22\x45\x32\x2f\x67\x0f\x22\x29\xd5\x0f\xad\xde\xa9\xeb\x25\xaf\x6b\x6b\x5d\x8a\xbe\xcf\x75\x13\x33\x9f\x57\xfc\x7b\xc1\xfe\xb2\x53\xad\x43\xd5\x84\x8c\x0a\x0e\x5a\xb3\x95\x75\x98\x24\x65\xae\x77\x96\xdd\xf0\xbb\x3a\xe7\xad\x4b\x04\x4e\x1e\x97\x44\xee\xf7\xaa\x01\xd4\x7e\xc0\x5b\x69\xcb\xef\x88\xea\xc3\x5e\x04\xba\x7f\x98\x86\x24\x00\x6c\xf1\x9c\xf2\xfb\x3e\xce\x2a\x79\x03\x38\xeb\xee\x92\x22\xdc\x78\x3e\xc4\x01\x21\x83\xf9\x32\xe6\x9d\x61\x7a\x5b\x54\x53\xd2\xc1\x21\x72\x67\x84\x5a\x83\xbb\x31\x59\x5c\xd5\x65\x91\x89\xe9\x83\xa4\x4e\xbb\xc3\xa6\x8b\xb8\x67\xf3\xf8\x07\xd7\x70\xc0\x39\xbb\xca\xf3\x4e\xe3\xd9\x86\x6e\xbe\xc5\x79\x4c\xea\x2c\x54\xe8\xe8\xf5\x79\xd4\x53\xe8\x43\x62\xc2\x03\x51\x00\x6e\x96\x1c\xc6\x12\x31\xef\x07\x0a\xa2\xfc\xdd\x15\xbe\x6e\xdf\x41\x86\x2b\x83\x1b\x6a\x9c\x17\x88\x66\xc3\xe9\xd8\xac\x62\x2d\x7c\x9b\x76\xb1\xac\x9d\xe2\x35\xe0\x62\x33\x0e\x86\x49\xa6\x8e\x3d\x4d\xa1\xfc\x1f\xe4\x36\xa1\xff\xe8\xda\x76\x71\x14\x72\x7f\x25\xaf\x64\x3d\x3d\x1d\xdd\x41\x71\xd4\x01\x0d\x49\xbf\xa8\xfa\x7c\x40\x7a\xba\x81\x89\x33\xa6\xdd\xf3\xf2\x78\xd7\xb4\x54\x51\xf3\x8d\x60\xbb\x9a\x4d\x01\x89\x03\x7e\x2a\x8b\x4a\xcc\x58\x23\x4a\x0e\x09\x8a\xac\x17\x1d\x2a\x29\xc0\x5d\x71\xa4\xd5\x01\x3b\xcc\x37\xe2\xdb\x3a\x6d\x15\x2c\x52\xf6\xae\x54\xba\xed\x63\xeb\x50\x84\x17\x21\xbd\xeb\x1e\x81\x42\x74\xec\x4c\x40\xf6\xd7\x5f\x75\x2e\x9e\xeb\x16\x7e\xed\xd9\x78\x34\xac\x67\xee\xa8\x59\x63\x07\x34\x25\x32\x59\xe5\xf4\x17\x5e\xe5\x1f\xb5\xbb\xf6\x45\x2d\x4c\x06\xe1\x84\x41\x68\xf0\xe6\x66\xa7\xc9\xc1\x22\xe6\x0e\xcf\xae\x2d\xb6\xf1\x0f\x09\x13\xe0\x3c\x6d\xd9\xfb\x71\xb9\x96\xcd\x0b\x9e\x5d\xfb\x58\x29\x1c\xa0\xbd\x25\x7c\x5e\x77\x76\x6e\x93\x6b\x05\x42\x95\x3d\x0d\x4d\x21\x72\x5f\xb9\x63\x0c\x6d\x3d\x78\x24\x9e\xce\x0d\xb9\xf0\xf8\x06\xed\xb4\x3e\x72\x6c\xf3\xe4\xf1\x11\xc6\x5a\x51\xd7\x8e\x84\xc2\x28\x31\x3f\x05\x46\xd5\x75\xbd\x3f\x5e\xee\x68\x7a\x0c\x9b\x38\xe8\x88\xd9\x43\xb4\x3d\xab\x06\x43\x78\x5a\x96\x14\x35\x7f\x14\xa4\xbe\x1f\x7b\x62\xdd\xc6\x7a\xa5\x23\x46\x5e\x3f\xd5\x78\xe1\xc7\xbb\xa1\x77\x28\x77\xf0\xf3\x3a\xee\x0b\x01\x1a\x1f\x5d\xb4\xdb\x36\x41\x4e\xae\xdb\x77\xf6\x47\x7a\x2c\xc9\x75\x9b\x58\x1d\xc8\x06\x20\x9a\xb5\x6c\xb6\x8c\x33\x5d\x39\xed\xa0\x07\x31\x94\x0a\x61\x59\x73\x93\xb5\xfa\xba\x6d\xeb\x27\x27\x27\xfb\xfd\x7e\x79\xdb\x3e\x3e\x3d\x5d\x56\xa2\x3d\xc9\x65\xa6\x4e\x6e\xdb\xdf\x3c\x3e\x5d\x34\xdb\x93\xe7\x2f\x2e\x2e\xaf\xde\xfd\xb7\xab\xdf\x2c\x7e\x77\xe4\x00\xb3\xdd\xee\xb2\xc3\xc9\x09\xc3\x2f\xfe\x38\xc5\x40\x38\xd3\xc7\xa2\x89\x7a\x79\xcf\x54\x22\xdf\x43\x2e\x9b\x3d\x95\x3e\x65\x45\xa7\x62\xb5\x6b\x2d\x1c\x2b\xac\x2e\xbe\x26\x01\x9a\x0f\x1e\x81\x9d\xf6\x28\x14\x1f\x80\xdc\xa0\x3e\xc0\xa6\x22\xa1\x9f\x6d\x27\xfe\x04\x91\xe3\x90\x2a\x10\x1a\x55\x24\x7a\xcf\x40\xad\x85\xbd\x9a\x63\xee\xb4\xf6\x1a\x22\x42\x8a\x16\x9e\xf6\xd5\xa4\x35\xa9\x65\x84\xd8\xba\xc7\x3d\xda\x40\x45\xce\x78\x75\xd8\xeb\x37\x7a\x4f\xa6\xc5\x91\xe8\x63\xe3\xd9\x3c\xae\xeb\x53\xa6\x40\x72\x03\xb6\xe5\x15\x5e\x8b\xe2\x4e\x4b\xb3\x45\x0b\xa6\xd7\x83\xc9\x5c\x07\x4e\xbe\xa8\x5a\x08\x87\xbe\x1c\x29\xf8\x75\x66\x56\x2f\xb3\xea\x5d\xe7\xb9\x59\x68\xa1\x52\x4b\x6d\xe6\x35\x58\x6f\xb7\x75\x6d\x24\x75\xdb\xec\x44\xb8\xed\xde\xd8\x14\xfb\xa6\xc5\xb5\x49\x51\x60\xb6\x17\x68\x0c\x6c\x66\x36\x40\x11\x30\x1f\xf4\xf3\xd0\x68\x9a\x40\xf7\xb0\x66\x95\x64\x5b\x48\xfb\xee\xf2\xbf\xf1\x46\xb0\xe3\x87\xac\x69\xd1\x1c\x95\x69\xd1\xc0\x99\x84\x07\xdd\x34\xa0\x10\x4c\x6b\xa0\x57\x3b\x3d\x03\x28\xc1\xa4\x7a\xed\x8c\x15\x8f\x1e\x75\x74\x7f\x81\x42\xcd\x1a\x82\xa3\x7b\x8e\x86\x88\xee\xb6\x55\xb7\xa2\xbb\xf1\x28\x92\x8f\x53\xaf\x9d\x9c\x18\x1e\x73\xeb\x99\x39\x83\x6f\x60\xe7\xd5\x3c\xf0\x87\x2b\x3d\xf3\x17\x7f\xb8\x5a\x9a\xf9\xa0\xc6\xe3\x11\x36\xdc\xb3\x0e\x43\xd0\x4e\x8f\xb3\xa1\xf7\x9b\x87\x7d\x2b\x03\x7c\xa5\xc5\x1b\xca\x58\xd6\x99\x21\xc9\x5c\xeb\xa2\x49\x70\x57\xa7\xca\x58\x0e\xb3\x6d\xff\x7a\x2c\x76\x3f\xd5\xed\xb0\xe2\xf6\xd3\xf2\x59\x92\x46\xfc\x22\x10\x2d\xe3\x6e\x56\x99\xc9\x88\x89\x29\x55\xb0\x4f\xb1\x6b\x49\x51\xb5\x1f\xec\x8c\xfd\x9b\x68\xa4\xf1\xb0\xf4\x85\x87\x4d\xa1\x89\x85\xa0\x63\xff\xe4\x53\xeb\x7c\x35\x66\xd1\x54\xdd\x7f\x39\x7c\x4f\x8c\x82\x43\x3f\x36\x1e\x83\x43\x0a\x71\x27\x19\x5e\x8e\x0e\x8d\xd3\xb0\x7e\xd2\x0b\x24\x5e\x9e\x23\xbe\x75\x5f\x4b\x26\xd6\x6b\x91\xb5\x26\xf2\xa6\x31\xb9\x75\xef\x43\xe7\x98\x7b\x89\x59\xc6\xa7\x6d\x9f\x6f\xdd\xc7\xec\xab\x9e\x75\x2f\xf4\xf3\xef\xed\x7a\x1a\xf9\xec\x14\x7a\x6d\x17\x8f\x67\x0f\xa2\x55\xed\x59\xab\x79\xfa\xf9\x17\xa4\x1f\x1d\x33\x72\x22\xf7\xf7\x3c\x0f\x3a\x1c\x4b\x9f\x73\xdd\x34\xa5\x49\x17\x1b\xb6\xab\x03\x19\x97\x64\x48\x55\x2d\xc7\xfc\x85\xa0\xc7\xe4\xc9\xcd\x7a\x65\xa2\x75\x15\x6e\x6e\x58\x74\x71\x2b\x9a\x83\x35\xf6\xb1\x7f\x72\x7d\x05\x93\xdb\x8c\x59\xf7\x2a\x4b\x1e\x12\x58\x59\x4d\xa9\xaa\x45\x86\x19\xaf\x6c\x31\xd9\xb0\x53\x73\x38\x1b\x8a\x85\x72\xa9\xba\xd1\xf4\x02\x72\x8d\xbe\xc7\xc0\xa0\xb2\xde\xb5\xbb\x46\x18\x6b\x06\x66\x18\x47\x7f\x8b\x2d\xdb\xd5\x41\xbf\x13\xd7\xa2\xb8\x2b\x14\x7a\x80\xba\xf3\x1f\x2e\x8a\x39\x84\x9f\xc6\xeb\x62\x73\x6f\xb5\xd7\xbc\x4d\x1e\x5f\xb2\x6e\xdf\xc3\x38\x7d\xd6\x24\x37\xab\x3f\xf9\x33\xcd\xfd\x66\x07\xbd\x53\x62\xbd\x2b\x6d\xf6\x24\xdd\xc4\xba\xc0\xc4\xaf\x72\xd7\x32\xc8\x75\x10\xf4\xb1\x27\x3d\x98\x9e\x81\x11\x11\xd0\xcf\xbb\xac\x42\x93\x9a\x43\xef\xfc\x66\xc3\xf1\x9c\x93\xb1\xfd\xfc\x33\xf2\x9d\xfe\xba\x27\xdb\x0a\x16\xfc\xcc\xbc\x5e\x20\xba\x17\xcb\x6b\x96\x83\x64\xc6\x11\xcf\x69\xc9\xc3\x52\xc7\xff\x5d\xb0\xc7\x6c\xc1\xa6\x53\xf7\xd7\x8c\xfd\x13\xdb\xcf\xd8\x23\x06\xf2\x46\x70\x88\x43\x19\x22\x86\xc5\x22\x87\xfe\xf4\xe8\x9c\x45\x8e\x73\xee\xa2\x98\x16\x91\x46\xb5\x2f\xcf\x6f\x10\xbd\x67\x72\x25\xea\x67\xa3\xb5\x75\xc9\x35\x4d\x75\xef\x22\x99\x6d\xd2\xab\xd8\x36\x86\x02\x06\xea\x79\x5c\x36\x72\x27\x16\x67\xbc\x2c\xfb\xd2\x82\xa9\xb6\x61\x97\xc9\x56\x31\x23\x97\xed\x1b\xbc\x9e\x94\xb2\x91\xf3\x47\x83\xfd\x6c\xbd\x00\xf7\x82\x86\xc1\xdf\xb6\xbe\x14\x7c\xfa\x08\xd7\x9b\x2b\x7e\x83\x42\x28\x91\x03\x9e\xbf\xfa\xce\x45\x7a\x73\x15\xf2\xb3\x49\xea\x11\xcf\xc5\x1f\xae\xde\xbc\x7e\x5e\xdc\x9a\xfc\xa6\x1f\x20\x01\xb8\x4b\x04\x2e\x8f\x51\x1a\x98\x06\x9b\x4c\x9b\xce\x42\x5e\xdc\x92\x59\x30\x39\xc4\xf3\xe2\x36\x1d\xc5\xe6\xd2\x71\xeb\x6a\xc7\x51\x23\x30\x3b\x47\x47\xef\xd1\xc9\xfe\xd1\x97\x66\xbd\x93\x8a\x63\x88\x14\x46\xdf\x8d\xa0\xe4\x9c\x59\xa9\x7c\xd2\x43\xd4\xe5\xf7\xe8\x27\x6c\x01\x97\x3a\x64\x1c\x80\x13\x55\xed\x80\x63\xd9\x5a\x66\x3b\x67\x00\x82\x3f\xe2\x94\xc5\x76\x23\xbb\x90\xb9\x0e\x75\x12\x71\x18\x06\x72\x85\xa1\x6d\x84\x56\x07\x1f\xac\x43\xb3\x8b\x3a\x36\x0b\xb4\x73\xbd\x00\x60\x7d\x33\x39\x08\x38\x16\x4c\x0b\x49\xea\x9e\xd2\x65\xfb\xd8\xda\x44\x1d\x08\xb7\x5d\xca\x2a\x93\x55\x2b\xee\xda\xad\xa8\x76\x71\x7a\x46\xe3\x90\x8a\x01\xd2\x3e\xf0\x5d\x56\x10\x5a\xe6\xd3\x48\xc3\x9f\x61\x02\x69\x67\x00\x14\xa2\xfa\x1a\x33\xa2\xa5\x7a\x78\xe9\x0a\xa0\x36\xc5\x57\x58\xf2\x3c\x7f\x71\x2b\xaa\xf6\xb5\xc9\x7d\x64\x02\xd2\x72\xb9\xaf\x26\x73\xdb\x87\x91\x95\x76\xf5\xbd\xab\xe8\x79\x8f\x2a\x75\x06\x20\x2b\xb2\xb6\xfa\x22\xc4\xc2\x30\x51\x43\x2d\x98\x85\x9f\x00\x13\x4f\xe6\x76\x1a\x5f\xea\x3f\x31\x32\x80\x4c\xe6\x1c\x6e\x1b\x64\xa9\x93\x13\x86\x44\xe0\x74\x74\xf3\x81\x9e\x1a\xca\xba\x76\x90\x59\xe7\x8a\x15\x15\x7b\xf9\xd2\xc4\x08\x67\x3b\x65\x92\x71\x63\x05\x44\xcb\x58\xed\x56\x26\x75\xff\xe8\xe9\xef\x80\x9f\xe9\xeb\x13\x35\x7a\xd3\xd1\xa3\xe9\x2a\xdf\xc7\x4c\xda\xaa\xdc\x35\xc7\xe7\x0c\x78\x76\xe6\xfd\x39\xc0\x2b\xf5\x68\x52\x6c\x28\x85\x41\x71\xe8\xc6\xaa\x77\x86\x31\xa8\x38\x5f\xd6\xe9\xc4\x3c\x28\x16\x95\xcc\xc5\x0f\x30\xab\xe7\x9f\x43\x83\x9f\xff\xc8\xfe\x93\x44\x58\x4d\x18\x5b\xc9\xbb\x05\xfa\xf0\x3e\x61\x08\xae\xb5\x58\xc9\xbb\xb3\xa8\x50\x94\x2c\xea\x09\xa6\xc9\xac\x39\xbc\x95\x3e\x2b\xb6\xb5\x6c\x5a\x5e\xb5\x71\x35\xa4\x67\xbc\xe1\xbe\xac\x3b\x64\xf1\x3b\x8c\xe4\x09\x53\xb2\x2c\xf2\xa0\xc4\x07\xfa\xc7\x72\x9f\xc1\x78\xe2\x01\x98\x4b\xf2\x09\x2b\xaa\xb2\xa8\xc4\x62\x55\xca\xec\x26\x6a\x48\xcf\xd2\x82\x97\xc5\xa6\x7a\xc2\x32\xa1\x05\x82\xa8\x00\x71\xd8\xeb\x6c\xa2\xde\x30\x6c\x36\x89\x46\xf4\x81\xa4\x2b\xf7\x4b\x78\x2d\x78\x6e\x0c\xe3\x17\xd7\x45\x99\x4f\x61\xbc\xd1\xca\x5f\x5e\x0b\xd1\xaa\xee\xfa\x93\x8f\x2e\x20\x04\xc3\xc7\x15\x08\x92\xee\xeb\x0f\xe4\xdf\x44\x2d\xf0\xe3\xd2\x16\x77\x3d\xf3\x01\xe8\xec\xdc\x11\xfb\xc1\xfe\x83\xd6\x25\xf6\x14\x0f\xc4\x76\x94\x47\xf3\xe2\x96\xcc\x03\x85\x70\x03\x28\x1c\xc8\x0f\x7b\xee\x12\xd9\xe8\x25\x9d\x0c\x00\xbe\x65\x4a\x5d\x69\xf1\xd2\x33\xb7\xbd\xbc\x9f\x30\xbe\x52\xb2\xdc\xb5\x22\x58\x84\x56\xd6\x4f\xd8\xe2\x77\xbf\x8b\xd6\xc6\xb1\x49\x97\x3f\xee\xbb\xf8\xdd\x85\xa7\xae\x5a\x47\x48\x38\x3b\x74\x4c\x63\xb1\x17\xab\x9b\xa2\x5d\xf8\x04\xb4\x4f\x98\xac\x79\x56\xb4\x87\x79\x67\x03\xb2\xc7\xa7\xa7\x5b\x05\xf6\x68\x1e\xf2\xf2\x62\x2b\x7f\xfa\x28\x1a\x29\x1b\x17\x42\x24\xf5\x59\xb8\x10\x13\x3f\x94\x25\xee\x6b\x1b\xeb\x8d\x63\xe9\x11\x07\xe8\x3e\x8a\x39\x66\x46\x12\x8d\x57\x36\xd3\x41\x84\x78\x37\xd1\xcf\x4d\xb9\x5e\xb3\xbd\x7e\x77\xfb\xd0\x2f\xfd\xc8\x16\xc8\xc1\x2c\x2f\x1a\x91\xb5\x36\xed\x3f\xfa\x4e\xba\x40\x78\xab\x19\x82\x54\x28\x8c\x33\x48\x2f\xb8\x64\xf8\x4c\xdf\xf2\x1b\xa1\x6c\xe2\x45\x97\x6a\xd9\xd8\x22\x7c\xbe\x65\x77\x7f\xdb\x6b\xce\x65\x5b\x36\x92\x15\xf0\xa8\x68\x96\x8c\x5d\x16\x15\xa4\x96\xb7\x44\x82\xef\x90\x22\x9b\xd5\x42\x34\x6c\x0a\x36\x10\x96\xe9\x89\x99\x85\xbe\x2f\xfa\x6c\x9e\xfb\x01\xe8\x76\xa3\x3b\x16\x35\x0b\xdc\x26\x65\xf7\xd5\x40\x25\x01\x7f\x2d\x1f\x98\xc4\x8d\x27\x27\xec\x55\x3b\xd1\xed\x5e\xf3\xec\x06\x8d\x30\x85\xfe\x01\xb4\x67\xa5\xe0\x95\x50\x2d\x64\x74\x7c\xc5\x32\x48\xde\xb8\x2e\xc0\xd9\x85\x6e\x8c\x67\xd8\xff\x8f\x39\x4f\xba\x04\xfe\xea\x07\xc5\xe3\xd3\x9e\xed\x8f\x1f\x52\x77\x40\x9a\x77\xbb\x63\x99\xdd\x53\x86\x1d\x2f\xf1\x31\xf6\x43\x20\x20\x11\xb9\x33\x90\x27\x27\xc0\xd0\xfa\x1f\xf9\xaa\x34\xff\xd6\x03\x4d\xf8\x4a\x00\xff\x10\xd4\xa6\xbe\xf5\xe9\x48\x4a\x50\x31\x14\x5d\x3d\x01\x7a\x05\xdc\xaf\xa6\x9f\xee\x91\xf5\x7a\x9c\x2b\x06\x7b\x30\x2c\x65\x76\xe5\xcc\xf8\x1d\x68\x7d\x3b\x7a\xfc\x3a\x44\xfb\x4e\xdc\x8a\x46\x89\xef\x8a\x5c\xc8\x29\x4a\x89\xe9\x57\x3b\x50\xee\x75\x01\x42\xed\xc6\x3b\x91\x37\x7c\x9f\x44\xa2\x82\x0d\xfb\x87\xab\x37\xaf\x9d\xc9\x19\x94\x83\x80\xa6\xce\x8b\x2a\x52\x45\x3c\x7f\xfb\x86\xe9\xab\xfa\x98\x3e\x98\x3c\xea\x86\xe3\x07\xdd\x62\x85\x4e\x29\xf0\x84\xbe\x07\x0a\xaa\x7d\x73\x1f\x73\x91\x73\x93\x35\x30\x0f\xe6\xc4\x31\xc8\x73\xa8\xe8\x69\xe4\x9e\x81\xb2\x3d\x50\xc7\xc2\xb9\x8b\xa8\x8d\x5e\x21\xfc\x4e\xee\xbf\x41\x65\x6f\x83\x2a\xad\x35\xcf\x04\xdc\x0c\xc2\x78\x99\xe9\xae\xb0\x9d\x42\xe7\xfc\x02\x4e\xd7\xb5\x68\xb3\x6b\xf4\x1c\x95\x15\xcb\x05\x62\xeb\xc1\x14\x1c\xd0\x9e\x07\x35\xc1\x89\xa3\x95\xec\xb6\x10\x7b\xd7\x93\xb7\xcf\xdf\x4e\x9b\x4d\x51\xe5\x7c\xf6\x84\x5d\xc8\x4a\x41\xd3\x8a\xdf\x16\xd5\x86\x7a\x66\x01\x75\xae\xd8\x14\x46\x89\xe9\x9b\xe7\x08\x3e\x9b\xe1\xd3\x61\x06\xbe\x6b\xbc\x40\x7d\x5c\x26\x2b\xc8\xe8\xce\xb6\x62\x2b\x9b\x8e\x22\x4b\x8f\x6d\x23\x9a\x0f\x38\x2f\x30\x3c\xc8\xd8\x85\x0a\x62\x37\x61\x73\x66\xa0\x2a\xf2\xd8\x61\xce\x2a\x8b\x51\x55\xda\xeb\xa7\xc9\xd8\xdb\x6a\x61\x90\xd1\x60\x08\xe0\x61\xc0\xcb\x3d\x3f\x28\x03\xa0\xe8\x69\x81\x43\xb0\x6a\x31\xf9\x62\x81\x6c\xea\xe3\xed\xf5\xc0\x9d\xe2\x4d\x77\x78\x72\xb7\x68\xe4\x7e\xe2\xae\x7c\xc3\xf4\x60\x42\x30\xe0\xcb\x26\x5d\x30\x0e\xe9\x38\xd7\xbf\x93\x7b\xa3\x46\x70\xac\x08\xd3\xe0\x43\x01\x70\xba\xbe\x1a\x74\x27\x26\x86\x9b\x64\xb9\x1f\x80\xc8\x8f\xfe\xed\x00\xd3\x03\xce\x80\xec\xdc\x2c\xc8\xa0\x07\xfc\x59\x0f\xee\x82\x9e\x60\xc8\xd4\xf8\x03\x21\xf9\x63\xdf\x76\xa1\xbc\x13\x6e\x17\x40\x0d\x90\x6b\x58\xb0\x5f\x75\xcb\x04\x5d\xf0\x5b\xc7\x99\x17\x30\xa3\x35\x46\x56\x18\xae\xae\x0f\xe8\x7f\xa4\x49\x79\xd4\x65\xeb\xc4\x69\x53\x67\xf5\xb2\x3b\xb2\x6b\x1f\xbb\x83\xa8\x04\x25\xf4\xe8\x3c\xf3\x5b\x06\x8d\x9d\x46\x3f\x86\xf9\x2d\xad\x68\x0f\xf4\x30\x7f\xdc\x7f\x51\xe5\x83\xbd\xd7\xdf\x65\xf5\x8b\x7b\x1e\x6c\x3c\x6b\x00\x78\xca\x54\x51\x6d\x4a\x61\x31\x39\xc9\x7e\x73\xfc\x84\xb8\xff\x86\xae\x65\x24\xd7\x09\xcd\x4f\x8c\xbd\x2e\x2a\x61\x0e\x82\x95\x60\x95\xd8\xeb\xd7\x0b\xcb\x45\x59\x6c\x8b\x56\xe4\x73\x94\xa4\x2b\xc9\xda\x86\x17\x60\x85\x32\x65\x46\x6d\x60\x23\x40\x06\x20\xda\x5a\x76\x16\x55\xee\x8d\x4a\x18\xb0\xf1\xc3\x8f\x43\x56\x1d\x51\xe5\x81\x2b\x0d\x02\x02\x79\x25\xa3\x3f\x2f\x8c\x2d\x87\x69\xb2\x08\xa4\xa9\xcb\x51\xb5\x0e\xf1\x32\x35\xa4\xc1\xd6\xf4\xf0\x21\xfb\x0c\x8a\x6e\x82\x3c\xfa\xa0\x02\xb1\x2e\x28\x1e\xe4\xd2\x51\x9f\xfc\xd9\x80\x64\x81\xf5\xc8\x2c\x93\xfe\xfa\x17\x59\x54\xd3\xc9\xa4\xf7\x86\xec\xdf\xf2\x72\xff\x0f\xb6\xd1\x87\xef\x35\x0c\xd3\xd2\xf3\xf2\xf7\xb0\xc9\x13\x1b\x6d\xe4\x0e\xc3\x89\xb9\xc7\xf5\x16\x6f\x0e\x72\xbd\x0d\xf1\x37\x94\x22\xd7\x4e\xcc\xdf\xbd\x0c\x27\x5b\x5e\x32\xf4\x9e\xb6\x37\x8a\x0d\xea\xe3\x79\xde\x08\x85\x90\x66\x66\xfe\x34\x4f\xe0\x57\x58\xf5\x78\xae\x3b\xf8\x35\xbf\x12\xcf\x66\x72\x5b\xef\x5a\xf3\x8e\x36\xd0\x58\x74\xf1\x9b\x0e\x16\x90\x63\x3b\x4d\x37\x35\xdc\x7b\x25\xc7\x78\xe7\x20\x13\x8e\xc3\x01\x75\x7c\xec\x1f\xf5\xc8\x04\x4e\x76\xe8\x62\x45\xbb\x77\x01\x9c\x09\x95\xd8\x1b\x69\x53\x4b\xb1\xf0\xdc\x45\x77\x06\x1f\xf6\x12\x63\x48\xc4\xeb\x00\x1e\x7f\x55\x79\x70\x81\x9b\x7b\x0e\x61\xa5\x3c\xcf\x0d\x30\xb5\x6d\xd2\x9c\x42\x9a\x7d\x19\xfb\x5a\xb6\x05\x28\x4a\x38\xc4\x61\xa0\x55\x7a\x8f\xbb\x56\x99\xae\x78\x60\x26\xe3\xae\x6f\xba\x52\x16\xaa\xb5\x53\x8e\xa1\x0d\xd6\xdd\x42\x93\xd2\x72\x60\x01\x5e\x1a\xb8\x38\x7a\x47\x4d\xed\x2d\x65\x02\x31\x58\xdd\xc8\x5a\x34\xed\x01\x54\x2f\xce\x33\x8f\x0a\x41\x06\x38\xbe\xbd\x2e\xaa\x1b\x0f\x21\x8f\x23\x5a\x95\xbc\x02\x31\x9d\x29\xb9\x15\x7b\x74\x4f\x32\xe0\x8b\x45\x9e\x5b\xf4\xa5\x00\x08\x77\xce\x4a\x29\x6f\xf0\x55\xa0\x9f\xee\x18\x60\x30\x0b\xa6\xd3\x70\xb4\x73\x1e\xa9\xf9\x01\x4e\xca\xca\x9e\x87\xb7\xc6\xf6\x77\x25\xeb\x13\x8c\x1c\x9a\xeb\x8b\x3a\x13\xd0\x43\x75\x2d\x77\x25\x9c\x6d\x2b\x7d\xcc\xea\x81\xdb\x96\xa6\x33\xdd\xc1\x8c\x2b\x88\x4f\xd6\xfd\x85\x07\xcb\x1e\x14\x3e\x5b\xdd\x46\xe3\x7b\xe2\x74\x66\xf6\xde\xb6\x8a\x19\x91\x33\x6e\x1d\x1b\xd9\xa9\x5d\x0e\x74\x77\xc4\xfc\x3b\x22\x67\x23\x6e\x6f\x12\x75\x16\x3a\xd1\xb9\x50\x5c\x1f\xd3\xfa\xae\xeb\x26\xda\xe5\x73\xa3\x82\x59\xaf\xd1\xc3\x7d\x78\xcf\x38\xba\x1d\x89\xc0\xb8\xda\x42\x3f\x3a\xf2\x40\xe3\x3b\xd2\xab\xfa\xc2\x57\x8a\x91\x00\x34\xa3\x77\x54\x48\x71\x55\x7d\x48\xc3\xb9\x3b\x99\xcc\x48\x3d\xc7\xa8\xe7\x76\x54\x8f\x58\x71\xd6\x45\x65\xd2\x32\xc2\x3b\xb9\x9f\x36\x72\x3f\x0b\xe0\x0c\xc5\x5d\xdb\xd8\x70\xe3\xc1\xc9\xeb\x0d\xbd\x72\x40\x8e\x8e\x12\x89\x96\x39\x1a\x09\xeb\x6a\x99\x41\x61\x93\x9e\x05\x46\x06\xc1\x32\xea\xe0\x18\x84\xc9\x98\xbc\x8f\x22\x7f\x51\xe5\x21\xba\x81\x75\x14\x81\xef\xcf\xe5\xde\x86\xda\x7c\x78\x10\x20\x65\x69\xc6\xfa\xfd\x91\xc9\x99\x91\xf0\xd8\x11\x8c\x88\x31\xce\x44\x37\xf4\xd4\xe8\x31\x23\xf8\x2e\x47\x10\x83\x69\x83\xfb\xb4\x94\x99\x3e\xa7\x7d\x94\x2f\x06\xb7\x79\xb1\x24\x71\x97\xea\xe3\xb6\x02\xbc\xf1\xf8\x74\x86\xfc\x4d\x20\x00\x65\x87\xac\x34\x64\x73\x4c\xe3\xf4\xdd\x95\xb9\xe5\x94\x9e\x5f\xa9\x04\xdb\x5f\x17\xd9\x35\x68\x31\xf2\xc6\x26\x07\x58\x1d\x74\x41\x03\x93\xae\x82\xa4\x18\xfa\x9b\x93\xe8\xb6\xbc\x2a\xea\x9d\x16\xa7\x8c\x04\xe3\x6f\xd0\x99\xf3\x54\xc2\xdb\x51\x1f\x43\x73\xe3\xfa\xaf\x0f\xd2\x12\x1e\x09\xa1\xe2\xc4\x53\x60\x0d\xc4\x1e\x40\xb7\xb6\x3c\xb7\x8f\x0c\xb8\x31\xe0\x22\xdb\x13\xa5\x8b\x5c\xaf\xf1\xc6\x57\xc2\x49\x62\x45\xd3\x39\xf7\x0b\xa1\x7b\xd1\x88\xf5\xae\x2c\x0f\x78\x69\xe0\x65\x21\x72\xa6\x24\xe3\x78\xfc\xa2\x6a\x65\x6d\xd5\xec\x5e\x86\x38\x72\xbc\xb9\xe3\x9d\x1e\x6e\x7a\x2d\x5f\xa1\x9e\x25\x33\xa8\x4f\xf2\x55\x28\x91\x25\x36\x14\x06\x7d\xc3\x8e\x8a\x09\x74\x7d\xdc\xf1\x08\x86\xc2\x86\x36\x89\x25\x77\xfe\x75\xf0\x3c\xb2\x9b\xdb\x11\x65\x5f\x85\xfd\xf1\xee\x72\xae\x08\xee\x46\x01\x11\xae\xa6\x2c\xe0\xa5\x98\x68\xe3\x00\x19\xc4\x56\x36\xe5\x68\x55\xdf\x24\xad\xfc\xe0\x41\x32\x00\x8f\x3c\xe8\x06\xf5\xa6\xaf\xfa\xa2\xe6\xde\x19\x72\xe9\xeb\xdf\xee\xa9\x41\x65\x88\x7d\x16\x68\x41\x43\x80\xd4\x8a\x02\x3d\x70\x64\xe7\x05\x61\x02\x2e\x81\x7f\x82\x47\x04\xc8\xff\xef\x88\x50\xdc\x95\x79\x33\x5e\x21\x1e\x06\xe1\x47\x6a\x53\x42\x0d\xa3\x91\x73\xe8\x39\x30\xd5\xd7\x7f\xc6\xab\x49\xab\xdf\xd6\x02\xe5\xd9\xad\x0d\x42\x37\x7f\x88\x36\x9b\xcd\x89\xa0\x00\x1b\x04\xc0\x82\xa5\x47\x08\xb1\xd3\x15\xa9\x23\x8f\x46\x1a\x92\x45\x4b\x3f\xc8\xe7\xe8\xd5\x49\xc2\x35\xbd\x3e\xcc\xba\x7c\xe2\x1f\x3f\xff\x1c\xb0\xb5\xb7\xb0\x8c\xb8\xde\xef\xf3\xc8\x37\xf1\xa1\x5e\x93\x56\xfc\xd8\x7f\xef\x06\xe0\x86\xdf\x34\x05\xc8\x82\x3e\x61\x49\xaf\x84\xdc\x08\x55\x8b\xcc\xc3\x0d\x82\x03\x06\x6e\x54\x60\xa8\x7d\xc3\x6b\x8e\xf9\x69\xb6\xa0\xae\x07\xb7\x63\xd4\x9c\xe6\x08\x95\x05\xc7\x23\x1c\x79\xbd\x42\xb9\x5d\x69\x70\xe3\x5d\xaf\x5d\x4c\x7d\x74\x94\x12\x5e\xb3\x71\x29\x14\x27\xda\xb3\x3b\x0c\xab\x50\xec\x8b\x4a\xb6\x5f\xe8\xdb\xc7\xa6\x01\x34\x1e\xa6\x99\xe9\xea\xb7\xe6\x68\xf4\x3e\x9b\x33\x2b\xc4\x16\xe6\x94\xe6\xed\xc4\x40\xe2\x1c\xe4\x6e\xd2\x08\x34\xc4\x86\x6f\xf9\xc0\xef\x94\xf4\xa0\x95\xac\xd6\x53\x7d\x84\xfb\xa0\x4c\xd2\xa7\xd4\x1d\x7a\x6f\x2d\xef\x9c\x92\xc3\xb0\xb1\x10\x85\x65\xb1\x5a\xee\xb3\xa5\xfd\xc5\x38\x9e\x3e\x70\x70\x27\x94\xc4\x57\xae\x62\x27\x68\xc3\xc5\x27\x92\x45\x7d\xf8\x70\x54\x1c\x52\x1c\x35\x63\x4b\xcb\xed\xb6\x68\x5f\x17\x95\xb0\x28\x98\xd3\x30\x12\xb9\x12\x7b\xfd\xd5\xc3\x1f\x39\xe9\x2c\x33\xaf\x4a\x37\xcc\x05\x9d\x89\x33\x57\x2e\x2f\xf2\xb7\x1d\xac\x4c\xfb\x51\xed\x56\xaa\x6d\xe2\x40\x93\xc1\x28\x08\x7b\xaa\x47\xb2\x15\x01\x5a\x72\x43\x0d\x9b\xb6\x30\xa2\x20\x71\x99\xce\x27\x09\xc4\xa8\x39\x3d\xc1\x18\x2c\xc2\xbf\x20\x8d\x3d\x7c\xc8\x3e\xeb\x5b\x31\xdf\xbd\x93\x13\xfd\x08\x6c\x3d\x3b\xda\xc5\x12\xb9\x79\x86\x56\x02\xcc\xe9\x64\xb9\xd1\x59\x01\x84\x1b\xa3\xdb\xb0\xa4\x20\xe2\x10\x38\x55\x10\x64\x6e\x7b\x14\xaf\x84\x0f\x4b\x94\xb4\xd1\xa5\xa7\x70\xf5\xf6\xf9\xdb\x27\x24\x41\x8b\x3e\x1f\x5a\xc9\xe4\xae\xd1\xf7\xd9\xaa\x14\x5b\xe3\x98\x00\xce\x9d\xab\x43\x2b\xd8\xb7\x57\x2f\x17\x8f\xff\x67\xe8\x34\x8e\xa6\x1c\x58\x58\xc2\xfa\xf0\xb7\x66\xfc\x39\x65\x13\x23\x6a\xa0\x7b\x3c\xc5\xf9\x4e\x56\x73\x8c\xf6\x78\x16\x2f\xa4\xfd\x68\x96\x85\x8a\x0a\xf7\xed\x4c\x97\xd5\x5b\x79\x23\x00\x97\xcd\x9e\x10\x61\x62\xb2\xba\x2c\xda\xef\x8b\x5c\xe8\x59\xc0\xe4\x48\x53\x6c\xc1\x50\x4a\x46\x5b\x02\xc9\x54\x94\xa5\xd9\x07\xf0\x5d\xdf\x18\xfb\x4c\x3f\xdf\x3c\xcc\x50\xc0\x9a\x51\xd4\x2e\x96\x75\xbc\x1e\xc3\x17\x39\x6e\xc4\xfb\xe1\x4d\x27\xc7\x52\x42\xda\x33\x03\xf2\xfd\xf1\xe3\xea\xcc\x73\x44\x40\xb3\xf3\xbe\x29\x5a\x31\x4c\x23\x75\x2e\xf5\x8d\x8b\x1c\x1f\x66\x7d\x82\x6a\x5b\x7e\x58\x89\x8b\xb2\xa8\x2f\xf0\x22\x24\xa0\x4b\xf4\x88\x7d\x74\x9e\x12\x0c\x8f\x04\x00\x3c\xe8\x3c\x14\x5d\x62\xe7\x59\x8c\xc5\xf4\xd1\x28\x2c\x06\x5d\xd5\xbd\x9c\xcc\xdb\x24\xb8\xf1\x3b\x41\xe6\x61\x64\x9a\xbd\xc5\xad\x8b\x0b\x83\xf0\xb9\x99\xfb\x6e\x14\x3a\xf1\xe5\x89\xd1\xb6\xbc\xae\x05\x47\xa3\x6f\x2e\x6d\xab\x97\x36\xa3\x61\xe7\xc9\x64\xe3\x51\x77\x65\xd9\x83\x08\x8b\x27\x09\x04\x1f\xd9\x47\x55\x38\x32\xe6\x9e\x92\x5f\x7c\xfd\xf6\xea\x0b\xec\xcc\x56\x2a\x0f\x17\xa0\x74\x57\x18\xfb\x5e\xe8\xcb\xdd\x47\x9a\x6b\x72\x1b\xa9\xfb\xf5\xb9\x5c\xaf\x17\x5a\x0a\xfa\x1c\x11\xec\x2c\x4c\x5d\xd1\x1a\xff\xab\x7f\x47\xfe\xf8\x77\x10\x88\xfe\xbd\xdd\xee\xee\xfe\xdd\x87\x08\x5b\x11\x46\xd3\xd3\x6f\xe3\xb2\x2b\xcb\xcc\xcd\xc3\x15\x81\xe5\x82\xb7\x27\x6a\x36\x31\x43\x74\xbd\xd9\xd5\x27\xf5\x26\xaf\x10\x1b\xaf\x6a\x8b\x6a\x07\x72\xfb\x5e\x36\x37\xfa\xcd\x07\xc3\xd2\x8f\x59\x65\x14\x63\xe2\xae\x36\x19\xfd\xd2\x06\x46\xab\x8b\x8b\x6d\x0f\x1d\x38\x23\xc2\x27\x7d\x64\x90\x05\x63\x4a\xa1\xe2\x33\x20\x36\xb7\x86\x87\xa2\xca\xca\x9d\x2a\x6e\x47\x24\x43\x0e\xc3\xf9\x03\x91\xc9\x8e\x65\x1e\xf4\xc7\x5b\xc3\xfd\x60\xcf\xcf\xd9\xa9\xbe\x42\x83\x7e\x9f\xf7\x81\xc3\xe2\xdd\x41\xe2\xa2\x88\x0e\x13\x90\x23\x76\x65\x79\xd6\xfd\x8a\x64\x69\x81\x6e\x4e\x95\x88\x92\xeb\xe1\x20\x39\xda\xeb\x8e\x60\x1f\x98\x33\x6a\x62\x43\xe2\x59\x26\x9b\x9c\x08\xfb\xdf\x5d\x75\x33\xa6\x19\x8d\xfd\x29\xdb\x55\xa5\x50\x91\x43\xce\x35\x57\x6c\x85\xca\x9a\x32\xb7\xd0\xf5\x4d\x91\xb5\x5e\x74\x37\x32\xbe\x92\x5b\xc1\xb4\x98\xd1\x18\x5d\xf9\xab\xd6\xa9\x72\xf4\x5d\x05\xdf\xbf\xbb\x8a\x0f\x16\xcc\xc9\x96\x87\xe4\xac\xde\x66\xd8\x8a\xd1\xca\x1a\x78\x1f\xc7\x1b\xf4\x7b\xa2\xba\x2c\x3c\x6c\xd1\xb0\x3c\x76\x95\x0a\x55\x77\x47\x74\xb0\x76\x9f\xd1\xf4\x88\xd4\xee\x41\x4b\x9d\x11\x03\xe8\x69\x9f\x11\xca\xec\x97\x8f\x5b\xb8\xb6\x17\x38\x9b\xae\x68\xd1\x76\xd6\x12\x35\x48\xf1\x72\xba\xb5\xbc\x2e\x36\xd7\xe3\x16\x93\x42\x52\x75\xd6\x73\xe4\x62\xe2\x14\x7c\xfa\xf5\xb4\x1b\xfd\xe8\x92\xda\xbd\x76\x74\x55\x4d\x41\xba\xb0\xfd\x67\x08\xc5\xac\xff\xa6\x91\xfa\xd9\xca\x38\x9b\xfc\xb9\x9a\x78\xf1\x96\xd8\x6e\xc8\xcd\x5b\xb8\x38\x96\x35\x82\xf3\xc8\x7d\x67\x7d\x5b\x2f\x55\xa3\x15\x0c\x0c\x3d\xa0\xff\x74\xb6\x9e\x40\xc3\x43\x96\xc6\x1e\x17\x64\xca\x3b\xaf\x6e\xa0\xe4\xfc\x2d\xf4\x5f\x6f\x6d\x7a\x48\x8c\x3c\x01\x4b\x4d\x20\x30\xb4\x2e\x2a\x19\xc2\x79\x4d\x8f\x21\x74\xf3\xb8\x05\xd8\xbc\x0b\x7b\x62\xda\xa1\x81\xa7\xed\x8b\x2a\x7f\xbb\x76\x59\x27\x07\xdf\x76\x60\xfc\x38\x27\xa2\x68\xe2\xbf\xa3\xaa\xf1\x48\x4a\xeb\xe3\x17\x0f\x20\xf9\x54\xef\x8c\xcb\x40\xa4\xd1\x02\x56\xd6\x16\xb7\xc2\xe0\x5c\xde\x8a\xc6\x2e\x99\x35\x66\x2e\x47\xbd\x56\x71\x44\x49\x86\x0c\x9e\x80\x28\xd7\x18\xb4\x01\xa2\x7a\xf1\x3d\xc3\xcb\x74\xce\x6a\x87\xf3\xe4\xe4\xc3\x25\x15\x9e\x6d\x2b\xdf\xd6\xd3\xc7\x11\x1c\x64\xaf\xa5\xe0\xc8\x08\x2c\x18\x67\x00\xc7\x99\x58\xde\x51\x23\xb2\xaa\x4b\x67\xd1\x85\x04\x75\x28\x6b\x42\x64\xfc\xae\x0d\x9f\xb4\x1d\x46\x3d\x5d\xfe\x3a\xa3\x22\x9d\x7f\x6a\x30\x96\xe0\xc3\x9c\xf1\xfc\x96\x1b\xe5\xa8\xed\x0e\x10\x80\x6c\xc7\x42\xd9\x8c\x1a\x16\x58\xe0\x13\x74\xce\xe0\x65\x50\xc8\xb7\x51\x53\x7f\x74\xe2\x97\x8c\x3d\x25\x67\x0f\x3d\x72\x9c\x9a\xcf\x52\x02\x81\xd6\xb9\x8a\x38\x49\xa5\x73\xec\x2c\xbd\x24\x44\x91\x3e\x1f\x77\xa1\xbc\xe3\xa9\x25\x4a\x6a\x7d\x3c\x00\x02\x6d\x7c\x44\x2d\x1f\x7c\xda\xe9\x0c\x44\xb1\xd7\xc5\x0d\xb8\x04\xa0\x7a\x6b\xce\xc4\x5d\x26\x6a\xfd\x62\x28\xc0\x4f\x86\xae\xf8\x28\xdc\x96\xb2\xa8\xc4\x4b\x21\x12\xf0\x9c\xf7\x86\xf9\x48\xe9\xde\x3a\x71\x38\xbb\x6d\x35\x4d\x41\xa2\xbc\x5a\x43\xc2\xbe\x0b\xde\x34\x05\xdf\x08\x23\xbb\x20\xd4\x05\xaa\x8d\xe8\xa0\xf5\x4a\xd8\x9e\xa3\xb3\xc0\x30\x14\xd5\x36\x3d\xc4\xae\x8a\xa1\xdb\x87\x40\x48\x0f\xc6\xd6\x95\xbc\x7d\x97\x3a\xeb\x16\x23\x27\xed\x6a\xb0\x60\xc2\xae\xac\xa5\x52\xc5\xaa\x3c\x18\x05\x38\x48\x38\xc4\x06\x98\xf0\x40\xf0\xb8\x1c\x10\xf2\x02\x61\x99\x47\x53\x81\xa3\x43\xfe\xeb\xc1\x05\x27\xcf\x19\xe7\x02\x45\x24\x57\x9f\xdb\x2f\x73\xaa\x8a\x23\xdc\xd1\xc8\xfd\x19\xb1\x30\xbb\x4a\xe4\x61\x12\x4c\x31\xce\x01\x38\x48\xa6\x36\x64\x7a\x5b\xbd\x93\x7b\x4a\xdc\xaa\xda\xa2\x47\x4c\x5d\xf2\x4c\x00\x2c\x4c\x08\xdc\x00\x2a\x46\xb1\x6e\x7b\x12\xdc\xf9\xa8\xa6\x9a\xa3\x06\xa2\x23\x59\x85\x3e\xec\x08\xd1\x82\x1a\xcc\xba\x91\x2b\xae\xd7\xf6\x0b\xb4\x59\xa2\x32\x81\xb4\x0f\x11\x4f\x06\xc9\x1a\x3a\xa8\xe9\x99\x54\xf4\xd0\xe0\xcc\x63\xfd\xa0\x99\x8b\xd6\xe6\x00\x36\xb1\x12\x07\x69\x90\x4c\xc3\xbe\xdf\x03\xcb\x55\x34\x5c\x89\x2b\xf9\x5a\xcf\xc3\x80\x78\x94\xc6\x52\xef\xd9\xe8\xa7\x5d\x63\x6c\xac\x5d\xc3\x6c\x60\x1b\xd1\x7e\x7f\x5d\xb4\x02\x06\x1c\xa5\xec\x7a\xc4\x1e\xcf\xee\x83\xa7\xfc\x42\x0f\xc4\xb9\x75\x7a\x4f\xb4\xee\x9a\x37\xf4\x4d\xe3\xce\xee\x78\xaf\x39\x0d\x95\x7e\x9f\x54\x64\xaf\x85\x22\x35\x26\xbf\x73\xb1\x89\x06\x44\xd1\xec\xd0\x96\xe0\xfd\x74\xca\xb4\x26\x2f\x01\xc8\xd9\xc6\x06\x06\x13\xa1\x02\xaf\x02\xb4\x60\x12\xcd\xd3\xae\x5a\xcb\xa6\xdd\x55\xbc\x15\x24\xc7\x01\xaa\xc8\xac\xdb\x30\xd0\x31\x12\x3c\x02\x47\x81\x07\xa5\xf3\x26\x25\x81\x6f\x79\xb1\x5e\x17\x19\xa0\xc3\x80\xff\x9f\x60\xbb\x9a\xf0\xa2\xf1\x5f\xc3\xf8\x6e\xb1\xad\xdb\x83\x21\x0e\xd1\x36\xa0\x18\xaa\x26\x2d\x6b\x9b\xa2\xb6\x08\x47\xc8\x6b\x78\xdf\x3f\x30\x89\x17\xec\xc4\x19\x76\x7b\x07\x4b\xa0\xc7\xb3\xa9\x64\x23\xac\xef\x23\xc3\xcc\x90\x88\xb2\xc2\x1d\x6e\xa2\x51\x7e\xd9\x39\xc8\xc5\x6d\xc1\x5b\x34\x02\x82\x4f\x08\x68\x03\x71\x48\x7c\xd3\x08\x61\x14\xff\x9b\x4a\x6e\xc5\xc2\x3d\x6a\xb4\x10\x74\x83\x69\x41\xe7\xec\x6e\x9d\x89\xff\xe1\xbe\x2d\x19\xbb\x14\xb8\xc5\x9b\xd5\x6e\xb3\xcc\xe4\xf6\xe4\xcb\x7f\xfe\xf2\x9f\x7f\x77\x0a\xaf\xd2\x5c\xb4\xbc\x38\x9a\xb4\x3b\x18\x5a\x84\xec\x93\x85\x69\x15\x46\xd9\xc0\x62\x14\x2c\xbd\x19\xb7\xfc\xee\xe2\x93\x18\x83\xa8\x4d\xcc\x75\x90\xfd\x8b\x07\x90\x77\x3f\xce\x5d\xa3\x33\xf6\xc4\xfd\xbb\xa3\x61\x4e\x29\xc2\x09\xcb\x9f\x9f\xc7\xa9\xaa\x52\x15\x9e\xbf\x78\xf9\xf4\xdb\xd7\x57\xef\x2f\xde\xbe\x7e\xfb\x8e\x3a\x57\x1d\xf7\x39\xfa\xe1\xc8\x65\xf4\xa3\xf7\x9e\x4a\xda\x45\x2a\x99\x63\x72\x1d\xef\x8e\x34\x63\x5f\x9d\xa7\x6d\x05\x83\xa6\xbe\x1e\xe3\x25\xee\xe3\x8b\x6b\xde\xa8\x69\xd6\xc5\xc0\x4f\xa4\xf8\x9b\x0e\xa3\xcf\x8d\x3d\x9c\xef\x73\x02\x43\xbf\x8e\x9e\xba\xc3\x5d\xee\x9c\xc9\xf4\xa4\xec\x11\x6c\x7a\x0f\xdb\x63\xfb\xed\xd8\xb3\x7e\xd4\xd4\x90\x81\x38\x1b\xcc\x27\x1c\x7f\x24\x79\x78\x08\xb6\xc8\xbd\xde\xf8\xae\x0d\x5f\xe7\x73\xfd\xf4\xe7\x4d\x0e\x0a\x38\xb9\xee\xb3\xbc\xfc\xf2\x99\x7d\xba\xd2\xa2\xeb\xbd\xa7\xd6\x4e\x0e\x91\x2b\xcc\xcf\x49\xdf\x52\x97\xb4\x21\xb0\x2a\x1e\x79\x44\x15\xfe\xc5\x79\x74\x1d\xa9\x2b\xd5\xaf\xb9\x98\x3d\xc8\x8b\x5d\x2f\x15\xe3\xdf\x0f\xba\x85\xbf\xd2\x52\x3e\x13\xc9\x84\xa1\xf7\x5c\xca\x77\x24\x15\x4f\x80\x2c\x3f\xa4\xa5\x8c\x96\x9d\x26\xe9\x40\xd0\xcf\xaf\xce\x0d\xa1\xbf\x7f\x06\x78\x59\xc4\x99\x16\x8c\x8c\x64\xf0\x1a\x3b\xaf\x03\xef\xc4\x4e\x20\x10\x8d\x0b\xd4\xa0\xe5\x34\x06\xa0\xcb\xae\x91\x0f\x9c\x9f\x84\x41\x5c\xb3\xc1\x9e\xeb\xa2\x3c\x1a\x69\xac\x3b\x4f\xbd\xcb\xaf\xef\xc7\x04\xfd\x8b\x71\x6a\x17\xc3\xad\x34\xfa\x86\x9f\x9e\xc1\x3f\xba\x20\x81\xc6\xa1\x5a\x7f\xf5\x2b\xee\x2a\x67\xb2\xc4\xca\xfa\x1f\xbd\x08\x83\x99\x2c\xa9\x13\xc2\x91\x2e\xda\x04\xc1\xe9\xb4\x33\xf1\xcd\x98\x5d\x27\xd3\xa7\x8d\x7d\x82\xe0\x76\x6f\x8b\x46\x58\x70\x1f\x10\x3d\x4b\xc1\x43\x55\x00\x6f\x8d\xb1\x3b\x0d\x95\x49\xf9\x64\x90\x49\xa8\xb8\xfd\x81\x7a\x0e\x7a\x24\x4c\x77\xb7\xc8\x5a\x00\xd6\x1e\x98\xb2\x0d\x1a\xa5\xb2\x96\xd3\xe8\xee\x31\x7a\xb8\x11\x00\xaa\x71\xba\x99\x8f\x76\x6d\x1c\x91\xb2\xe2\x41\x90\xb1\xe2\xfc\x3c\x48\xb1\xf4\x02\xdf\x27\xde\xe9\xd4\xab\x6c\x97\x0f\x58\x37\xab\x6a\xea\x4a\x4a\x9c\x46\xa6\x1f\xdd\xc4\xd3\xe4\x1c\x32\x65\x7a\x4f\xa0\x5e\x1a\xa7\x1d\xaf\xf7\x5e\x36\xd2\xc7\x8d\xdc\x19\xc5\x0f\xc9\x9e\x9f\x82\x0c\x3e\x7a\x6f\xb0\xa3\xfc\x86\x76\xbc\xbf\x4f\x96\xfb\x84\xec\xe6\x4e\x3f\xbb\x84\x91\x70\x5f\xca\x40\xab\x99\xcc\x76\xd2\xbb\xba\x34\x61\x7a\xa0\xdf\x08\x97\xdc\xc7\x14\x20\xa2\x28\x28\x03\x30\x10\x20\x8d\xec\x1c\x87\xad\x26\x1d\x6b\x63\xdf\x15\x70\xb7\xae\x77\xea\x1a\x43\x03\xa8\x89\x98\x37\xc6\xa5\x44\xb5\xfa\x4d\x07\xc1\x50\xfa\x5d\x0f\xb9\x2a\x76\x75\xaf\x93\xf6\xac\xd7\x1d\x04\x5f\x94\x61\x54\x20\x8e\xc8\x8d\xf0\x28\x40\xaa\x53\x09\x7e\x4c\x5c\x54\x8f\x42\xb2\x2b\xba\x74\xac\xba\xb8\xda\x59\x9c\x53\xcd\x3c\x87\x4d\xe5\x85\x6f\x39\x48\x36\xb1\x95\xb7\x02\xdf\xe8\x26\x1c\x30\x0a\x8a\x24\xf9\xe8\x1a\x1b\xde\x02\xf9\xe7\x6e\x04\x6b\xa4\xdc\xea\x43\xe9\x81\x4b\x50\x67\x4c\x1f\x53\x35\x33\xa1\x9b\x19\x25\x9d\x17\xaa\x45\x83\x0f\x46\xd1\x81\x6b\xbb\x4d\x2b\xe0\x3b\x72\x9e\xe8\xb3\xfe\xb7\xc9\x04\xfd\xd8\x86\x3f\xb8\x1a\xc4\x45\xcc\x07\xe7\x91\x30\x1d\x57\x70\x4e\x08\x3e\x72\x0e\x89\x1d\xa9\xcf\x7a\x4d\x26\x51\xde\xc7\x46\x07\xb1\x47\xec\x7e\x72\x5f\xef\xfe\x32\x41\x01\x23\xf7\xd7\xd7\x2e\x2a\xb4\x81\x70\xa3\x54\x1c\x66\xd7\xd1\x4c\x2f\x27\x46\xdb\x80\x76\x77\xc9\x34\x9d\x07\x98\x82\xdb\xa4\x3a\x00\x07\x09\x30\x2c\x42\x04\xa2\xa9\xb4\xab\x8d\x82\x4d\x77\x16\x82\x76\x00\x90\xdb\x04\x90\x1b\xbc\xbd\xa3\x98\xba\x7a\x80\xe3\x76\x4e\xaf\xd8\x87\xbe\xa4\x75\x20\xb5\x77\xae\xe8\xfe\x0d\xd4\xd5\x58\x39\x26\xd4\x54\x0d\xdb\xf5\x6d\x32\xa7\x73\xf2\x84\xe4\xad\xb8\x34\x71\x34\x9e\x9d\x63\x16\xce\x6c\x6e\x6e\x47\x20\xc5\xca\x90\xa1\xc2\xb6\x64\xe9\x0e\xbc\x52\x3b\x11\x90\x47\x78\xd6\xf7\xf5\xbe\x3c\xfb\xa9\xde\x2a\xaf\xe0\xec\x54\x24\x9c\xc7\x1f\x43\x46\xc9\x3c\x2e\xf5\x40\x8f\x1c\x31\xde\xfe\x64\x1c\x73\x81\xa5\x7f\x11\x2f\x42\xf0\x66\xaf\xd6\x4a\xdf\xee\x89\x44\x27\x81\x5b\xf0\x5e\x75\x0b\xf4\x38\xe1\x7e\xb2\x37\x23\xe6\xc3\x59\xf8\x38\x24\x82\xbc\x9f\x34\x52\x38\x88\x7a\xbf\x3e\x09\x8b\xce\xe8\x2b\x37\x34\x7f\x18\x63\xc2\x98\xd3\x03\x34\x95\x03\x2b\x86\xa5\xf2\xf8\xd6\x4d\xab\x39\x4d\xca\x4d\xa8\xe0\xc2\x0d\x7a\x94\xc0\x85\x32\x52\xe2\x74\xd6\x55\x01\xf7\xe9\xf3\xee\x99\x12\xc7\xf4\x25\xb5\x2f\x03\x8e\x49\xb1\x9b\xad\x4b\x2b\xf7\xb2\xc9\x87\x07\xe3\x79\xe5\xf2\xba\x58\xb7\x01\x50\x44\x78\xad\xec\x6a\xcd\x4a\x8a\xad\x0e\x09\x33\x17\x5c\x66\xc9\x2b\xcb\x85\xa2\x1b\x86\x1a\x70\xa2\x05\xd8\x12\xa3\xe5\xd0\x74\x6e\xb9\x16\x4f\x72\x0b\x5f\x73\xe5\x05\x12\x3c\x01\x74\x59\x2d\x4b\xee\x5a\x6f\x2d\xb5\xe7\x09\x18\x9c\xb8\x5f\xd6\xfe\x0c\xe1\x80\xfd\x68\xac\x54\xa1\x8c\x89\x63\x68\x19\x2f\x4b\x2b\xbe\x82\xaf\x07\x42\x96\xd0\xd0\x2e\x3d\x50\x2d\xbc\x8e\x38\xb6\x20\xd5\x96\xe8\xc7\x4f\x49\xed\x22\xe8\x08\x45\x93\x1c\xda\x3f\xde\xb3\xe9\xe3\x0f\xbc\x7e\x7b\x77\xd2\x3c\x4f\x40\x1b\xfd\xd5\x3f\x25\xf2\xd8\x48\x0d\x06\x61\xc1\x15\x28\x0d\xc9\x0b\x13\x90\xb0\x8f\xf3\x5e\xb8\xc0\x23\xde\x25\x63\x78\xb6\xcf\x85\xfc\xbf\x26\xc3\xfa\x37\x57\xc0\xb3\xbf\x1e\x27\xc6\x69\x5a\x23\x93\xe4\x2f\xd7\x01\x26\x99\xd2\x0a\x3e\x1d\xff\x0e\xdf\xfc\x28\xde\x8c\xe3\x4d\x8e\x4b\x2a\x06\x37\x25\x11\x8d\x4c\x7d\x27\xd7\x1d\x97\x74\x4d\x66\x22\x9b\x62\x53\x54\x10\x7f\x3a\x61\x88\xc2\x9b\x43\x76\x9c\x98\x5c\x02\x7a\x40\x5a\x37\xd6\xde\x35\xd5\x5d\xb3\x6c\x49\x22\x1b\xc2\x67\xc7\x7d\xab\x8d\x4d\xd5\x15\xae\x5a\x94\xfa\x7f\x1e\xe4\xc8\xea\xfa\x48\xe1\xbc\xd0\x30\x2c\xcb\x14\xef\xcc\xc4\xf4\x68\x5d\x6d\x8a\xa7\x11\x0e\x3d\xfd\x75\x81\x13\x86\xc6\x96\xee\xc4\xe0\x18\x47\x7b\x3e\xa1\x42\x1b\x85\x81\xac\xe4\xdb\x7a\x8a\x16\x8c\x4e\x98\x08\xfc\xb3\xef\x4d\x64\xb4\x0a\xc6\xb5\x8e\x52\xb3\xd9\x88\x4e\xe7\xbd\x66\xfd\x84\x6c\xdb\xd5\x36\x85\xb3\x76\x6c\xc6\xd2\x53\x3f\x38\x63\xc9\x89\x48\xf6\x3b\x48\xd1\xfc\x57\x1f\x76\xfa\xc4\xe8\x4d\x7f\x67\x8f\x5b\xe8\xe3\xa7\xda\x66\x17\x76\xc8\xc9\xb4\x78\xbf\xd4\x27\x38\x35\x5c\x12\xf9\x91\x1e\x71\x32\x42\xe2\x23\xc7\xb9\xe9\x1f\x67\x12\xb1\x6b\xc8\x1f\xa5\x7f\xc9\x02\x3d\xe7\x7f\xb5\xf3\x3d\x1c\xc3\x30\xcf\x74\x04\xbd\x68\x1f\x8e\xe2\x1a\xe0\x8c\xe3\x13\x7e\x8c\x6b\xc8\xa4\x8f\x65\x99\x51\x28\x7c\xc3\x63\x1b\xc1\x2f\x4d\x94\x97\xf4\x1d\x82\xdc\xa2\x2f\x5a\x08\x4a\xc3\x1a\xc0\x8e\x66\x45\xab\x44\xb9\x66\x4a\x86\x82\x82\xf9\x4a\xb3\xfe\x72\x75\xa8\xb2\xeb\x46\x56\x72\xa7\xca\xc3\x1c\xaa\x18\x9c\x7c\x98\x1b\x5e\x42\x4e\xb9\xec\x86\xed\x8b\x0a\x2c\xba\x7b\x0c\x61\xb4\x19\x87\xa0\x88\x87\xf7\xcc\x24\x2f\x85\xca\x2c\x84\x0f\xb7\x18\xa2\xd8\xf4\xd1\x14\xfb\x14\x01\xfb\xfd\x80\x0f\xb3\x4f\xf4\x8c\x84\x93\x7e\x63\x30\x07\x78\xc1\xb9\xf3\x34\xae\xc8\xce\x29\xfa\x77\x02\x1b\xdc\xe8\x30\x34\xad\x4e\xe5\x33\x87\x1f\x5e\xae\xa3\x04\xf7\x30\x00\x07\xc9\x90\xc0\x78\xea\x5f\xc3\x15\xc1\x32\x0a\x74\xae\x01\x3e\x07\xee\xfa\xbf\xc5\x52\x7a\x21\xdc\xc7\x3b\xc3\xbb\x20\x8a\xbb\xf5\x6f\x50\xf3\x88\xf1\x63\x9c\x1b\x3d\xaf\x22\xe6\x4a\x4d\x2c\x97\xfe\x85\xe2\xdd\x04\x68\xcc\xdb\x08\xee\x21\xa0\x5f\xa3\x38\x48\xb9\xf2\x1f\xc1\x45\x8a\x3e\x35\x3e\x86\x93\x3c\x81\x5e\x6e\xea\x06\xa9\x43\x91\x38\x48\xdd\x70\xda\xe3\xd3\xe1\xf4\xd8\xbb\x1a\x9c\xad\xbb\xea\x38\x8a\x78\x74\xaf\x57\xd9\x36\x6c\xe1\x98\x25\x13\x0a\xf5\xaa\x09\xe8\x81\x88\x45\xf5\xdc\x4c\x17\x54\xe1\x39\x3c\x40\x78\xb2\xff\x1d\x0c\x31\x7e\x7f\x92\x41\x5a\x03\x80\x1f\x93\xb5\x31\x6c\x8b\x0a\xcd\xfe\x2e\x1a\x2f\xf1\x14\x61\xff\x92\x96\xda\xd9\x13\xf3\xf8\x34\x36\x88\x8f\xa2\x64\x05\x77\xf6\x24\x15\xea\x37\x28\xf1\x3e\xa0\x28\x89\x54\xe6\x3d\x1e\x00\x84\x76\x89\xde\xe0\x42\x37\x2d\x73\x3f\xae\xc0\x15\xbf\xab\x32\x42\x38\xc4\x01\x3e\x81\x28\x88\x34\x9f\xa0\xc4\x40\x71\x40\x4d\x40\x49\x8c\xd5\xa4\x05\x32\x23\x4d\xc1\x91\xd6\xd2\xbc\xe0\x7a\x64\xba\x7c\x6d\x8e\x50\x8b\xae\x60\x75\x2f\x0d\xaa\x9a\x2a\xb6\x17\xe0\x28\x8f\xae\xe4\x90\x45\x13\xca\x91\xb6\xb8\x62\x7b\xd1\xcd\xd5\x39\xac\x04\xc7\x41\x7c\x2c\xfb\xc6\xc1\x11\x47\xd8\x37\x30\x45\x7d\xc5\xba\xf9\x8c\x49\x20\xcd\xc5\xfd\x22\xad\xba\xaf\x72\xb3\x1a\xdf\x77\x10\x7b\x46\xfb\x99\x77\x10\x7e\x0a\x45\x62\x85\x8d\x26\x1a\x63\x26\xb6\xbc\xd9\x14\xd5\x1c\x52\x2c\xec\xb6\x02\x42\x99\x70\x98\xad\x64\x1b\xd1\xb2\xa2\xf5\xb4\x60\x1d\x6d\x98\x0d\x77\x29\xe0\xad\xe3\x09\xc4\x54\xf2\xba\x2e\x0b\x61\xd2\xea\xee\x21\x20\xb0\xa8\x2c\x87\x79\x52\x11\xab\x2d\x29\x9c\xce\x62\x31\xc6\x8f\x9a\x80\xcb\x7c\x96\x79\xbb\x60\xd7\xb9\xda\xd9\x1b\x2a\xb1\x1f\xe9\x54\x40\x6a\xb8\xe5\x0c\x97\x77\xe1\x11\x5c\xb0\x0f\xbe\xe8\x57\xde\x81\x89\xf9\x36\xcd\x3f\x16\x68\x17\x5d\x97\x52\x36\x86\x9f\x4e\xd2\x4f\xe5\x99\x75\xb7\x24\x2d\xbc\x03\xef\xbb\x53\x0a\x9a\x73\x72\x62\xa1\x53\x4a\x25\x61\x5a\x8d\x0b\xab\xde\x80\xa7\xc1\x6a\xa1\x44\xcf\xa2\x8e\xf5\x1c\x7a\x8f\x6c\x89\x7f\xea\xf3\xf6\x8b\xf0\x73\xe8\x5c\xa5\xdf\xfe\x8f\x48\x99\x2e\xd5\x3d\x81\x4f\x7a\x90\xb0\xff\xb8\x27\x11\x1a\x96\xf9\x9d\x99\x10\x2d\x7e\xce\x3d\x65\xe4\x8c\x40\x31\x15\xaf\xa4\x23\x90\x5c\xd2\xd8\xb8\x1b\xd9\x9f\x68\x43\x47\x22\x03\x71\x87\x8d\x3a\x84\xff\x1a\x67\x5e\x27\x8c\xe5\x93\x1c\x7a\x29\x2d\xd0\xf8\xc8\x8a\xfe\x4b\x91\xb1\xb1\x4a\xa4\x11\x31\xa9\x26\x85\x11\x7a\xd6\xca\x46\x98\x10\x16\x7d\xa9\xc5\x41\x5c\x6a\x10\x0f\x1c\x8f\x38\xfb\x20\x10\x77\xe6\x91\xb3\xe7\x8a\xe9\x47\x51\xe5\xd2\x3d\x24\xac\x0e\x61\x64\xa1\x7e\x20\xe1\xc6\x85\x2c\xeb\x10\x5e\x6d\xef\x61\xef\xfd\x65\x40\x34\x7c\x4b\x46\xe5\x01\xe0\x1c\xa4\x45\xdf\x9c\x2d\x06\xaf\x26\x88\xff\x2a\xaa\xac\xc8\x85\x7f\x7b\x98\xf0\x35\xd0\x9c\x54\x72\xe1\xaa\x4e\xcc\x04\x2c\x19\x7b\x73\x60\x9b\x9d\x50\xca\xe4\x8b\xc7\xb8\xc7\x4a\x1e\x73\xef\x8a\x92\x45\x45\x38\x99\xad\x20\x1a\x8f\xf8\xb6\xb3\x15\xa0\x9c\xbd\x17\x49\xa5\x74\x4e\xe4\x97\x6e\x2d\x7b\x12\x03\xc6\x29\x06\x27\xb3\xc8\x40\x9c\x4e\xdd\xdc\x43\xcd\xb3\x4e\x40\x2d\xa1\x05\xbf\x67\x37\x7b\x08\x7f\x64\x37\x7b\x06\x1d\xc6\xd0\xfa\x3c\x0c\x46\x99\xb6\x12\xd1\xbb\x17\x9e\xca\x80\xd2\x5e\x72\xc4\x41\xd6\x45\x18\xdf\xe5\x85\x3e\x80\x00\x62\x9d\x57\x4c\x56\x99\x60\xb5\xd0\x6f\xc9\x4c\x56\x47\x63\x97\x8b\x6a\xf3\x4c\x84\x8e\xeb\x84\x2d\xf0\xb0\xa0\x59\xf4\x56\xe1\x68\x59\x1c\x74\x46\x73\x23\xc7\xf3\x3c\xeb\x7b\xe7\x0e\xbf\x65\xe1\x01\x3a\xa2\x27\x58\xb0\x3f\x0f\xa5\x7b\xb5\x7e\x79\x7a\xea\x1c\x0a\xf5\x1c\x5e\xfe\xc7\x4e\x94\xd9\xb5\xe9\xc2\x7b\x77\xa0\xac\xa4\xde\xca\x30\xbf\xfa\x68\xaa\x64\x5b\xac\x8b\x8c\x83\x9a\x41\xd7\x03\xe4\x0f\x27\x05\x26\x28\x75\x8e\xe8\xa0\xf0\x53\x4d\xf9\x7d\x94\x9f\x45\x35\xd9\x64\x16\xec\x31\x52\x54\xaf\x7c\xe0\x8d\x01\x6d\x8a\xa8\xfb\xc7\x74\x03\xcc\x63\xf6\xa6\xbb\xed\x44\x09\x92\x83\x6e\xce\x7e\x73\x7a\xda\xdd\x5e\x23\x28\x7d\x08\x06\x9e\x0b\x75\xd3\xca\xfa\x6b\x32\x97\x9a\xff\xde\x7b\xa7\x15\x92\x18\x97\xab\x97\x98\x96\x2d\xc8\x93\x83\xd2\x1b\xa3\x24\xa6\x6e\x68\x78\xef\x99\x88\xef\xef\x78\xa3\x4c\x30\x62\xa2\xdd\xab\xa2\x2d\xc5\xd0\x8d\xf7\x9f\x93\x56\x17\x99\x3c\x01\x25\x96\xdc\xbb\xae\x2d\xe1\x77\x7d\x2f\x4f\x80\xfa\xe4\xc3\x2c\x5e\x15\xda\xd0\xeb\x42\xb5\xef\x4d\xf2\x1e\x53\xce\xc1\x6b\x5e\x62\x34\xfb\x5e\xb0\xb6\x81\x38\xe0\x86\x17\xe6\x66\xc4\x46\x01\xc3\xee\x5f\xa0\x52\xb5\x94\x15\x64\x5c\x8c\xd3\x9c\xe3\x0e\x29\x25\x04\x22\x05\x4d\xab\xf7\xd3\xd9\x19\xfb\xd0\x39\x6f\xac\x11\x80\xa8\xea\xd9\xaa\x68\xc9\x23\x94\x7e\x81\x9b\x76\xce\x32\xd1\x00\x14\x86\xc7\x02\x4b\xe3\x45\xd9\xb4\x37\xcc\x25\xd9\xd1\xc2\x2f\x88\x54\xa2\x15\x5d\x33\x40\x27\x48\x87\x51\xb4\x22\x14\x9c\x21\xdb\x87\xaa\x65\x95\x53\x68\x62\xe2\xb5\xd0\xb5\x25\xd8\xc1\x58\x97\x78\xf0\x95\x5f\xaf\x63\x19\x6f\x25\x65\x29\x78\xf5\x01\xef\x3a\x76\xd5\x20\x48\x9f\x12\x2d\x9d\x03\x93\x90\x1b\xe2\x82\x2a\x25\x46\x5c\xbd\x6f\xbd\xe2\x63\xcc\xc5\x2b\x69\x71\x77\xed\xf6\xc8\xdc\xdd\x90\x06\xbb\xa0\xc6\xb3\x3d\xb1\xa0\xf4\x8b\x59\x50\x71\x57\x28\x84\x75\xd1\x02\x4d\x08\x76\x10\x38\xf6\x18\x35\x2d\x44\xd6\xa1\xb7\x85\x91\xa6\x63\xbf\x6a\xd8\x99\x9a\x5a\xb8\x86\xf6\x57\xe6\x22\x81\x60\x15\x79\x75\x08\xfb\xf0\xcb\x97\x8c\x8c\xf2\xfe\x4b\xf6\xca\xe1\xa0\x8e\x5a\xb2\x82\x16\x37\x4b\x96\x58\x12\xbe\xd3\x72\x9f\xc1\x3e\xb1\x3a\xc7\x70\x6d\x92\x45\x1c\x8e\x58\xc5\xb8\x9e\xdb\xed\x5a\x04\x50\xbe\xa0\x3b\x30\x38\xd8\xe8\xfe\xc2\x15\x62\xf9\x94\x45\x25\xe6\xde\x94\xe6\xf3\xef\x2a\x0e\x79\x87\x19\x07\x8f\x22\x4d\xcf\xf8\xf0\xe4\xc5\x7a\x2d\x1a\x00\x06\x58\xc9\xa2\x54\xa8\x20\xdf\x83\xc8\xba\xbf\x16\x00\x96\xa0\x57\x57\x26\xcc\xbd\x46\x3e\x1e\x33\xc1\x4f\xbb\x48\x34\x63\x26\x3a\x01\x60\x33\x34\xe1\xb1\xde\x2c\x9c\xeb\x84\x56\x2d\x3e\xdc\xec\x39\x66\x12\x4a\x46\x6e\x5a\x2d\xbe\xeb\xc9\x31\x14\xc4\x19\xaf\xa5\xae\xa0\x39\x1a\x01\xf8\x02\xe0\x35\x0a\x12\x07\x8f\x33\x67\x77\x01\xec\x86\x18\xa3\x09\xf3\x24\x91\xdc\x65\xb0\x77\x58\xcd\x55\xcb\x8a\x16\x1d\xb9\x10\xdf\x21\xb9\x73\x3a\x96\xf8\x81\x8d\x13\x4d\xcb\xfd\x37\x8f\x57\x90\x8d\x5a\xd3\x3d\x2d\xde\xbf\x96\xe6\x3d\xb2\xb8\xff\x9a\xae\xd7\xbf\x6c\x51\xc9\x62\x50\x2d\xeb\xc8\x15\xc5\xad\xa1\xc9\x9d\xfe\xf2\x43\xad\x67\x12\xee\xbf\x46\xef\x62\x5d\xe6\x7d\xde\x84\xdf\x1f\x5b\xb1\x12\xa5\x66\xd1\xee\x85\xb0\x68\x23\xc5\x96\x37\x18\x9e\x09\x5e\xa1\x80\xa9\x82\xbc\x4d\x35\xde\xfe\x1b\xdd\x92\x70\x78\x46\xb5\x3c\x20\x1f\x5d\x08\xbb\x81\x6c\x7b\x9d\xb2\x16\xba\x78\xcf\xeb\xda\x64\xbf\xd5\x5d\x30\x66\x41\x26\xd0\xd7\x50\xf6\xc4\x60\xd9\xea\x2f\x78\x76\x6d\x69\x5b\x60\x30\xc5\x8a\x56\x31\x7d\x54\xf6\x78\xcd\x7d\xfc\xb2\x87\xb3\x72\xff\xd5\x7e\x6a\xeb\x0f\xdc\x68\xf7\x03\x72\xb0\x0b\x6f\x4d\x39\xae\x87\x97\xe6\xfb\x13\x66\x9e\xbf\xb0\x0e\x97\x24\xa3\x46\x47\x5b\xde\x41\x6c\x7c\xf8\x30\x15\x3b\xec\xf1\x47\x4e\x49\xba\x8c\xcf\x06\xb3\x72\x90\x80\xd5\x57\xc1\x71\x6a\x02\x2a\x20\xf3\x9e\x32\xd9\x16\xf6\xfa\xff\x1a\xc1\xf8\x9e\x1f\xe6\x80\x6e\x6f\x5b\x11\x8a\x6d\xf9\xc1\x52\x5a\x69\xe1\xca\x24\x9d\x5b\xba\xd7\xc8\xd8\x24\x21\xfd\x19\x77\xec\xf8\xfa\xc1\xe1\x79\x73\x48\x23\xc3\xf3\x66\x38\x89\x48\x37\xc0\x9a\x97\xc5\x4f\x88\xc2\xf2\x3e\xed\xba\x4f\xa1\x39\xa0\x30\xda\xbf\xba\xa5\xaf\x63\xbb\x18\xd5\x8a\x1c\xaa\x0c\x0d\x7c\x3e\xac\x38\x51\xac\x08\x92\xe8\x8c\x0b\x08\x09\x3d\x1f\xf4\x3a\xc6\x3e\xfe\x81\x7b\xd3\x62\x55\x16\xd5\x4d\xea\xca\x08\xbe\x93\x03\xc7\x61\x93\x69\x89\x17\x3e\x82\xe9\xa4\x80\x90\xc0\xdb\x42\x15\xab\x32\x38\x7a\x40\xee\xb2\x1f\xbc\x59\xd8\x38\x31\x03\x05\xdb\xea\xbf\xfa\x54\x38\x20\x34\xe3\x1b\x49\x32\x14\x08\x75\x49\x9b\x4f\xa5\x58\xdb\xec\x25\x08\x69\xde\x4a\x08\x51\x96\x0a\x71\x9b\x1e\x04\x79\xfe\xbc\x9c\xa7\xeb\x94\x25\x2b\x05\xbf\x61\x9c\x19\xbb\xff\x2f\x96\x0c\x3a\x33\x79\xff\x93\x08\x17\xf3\x19\x50\x18\x73\xe3\x64\x41\x79\x73\xd7\x98\x43\xe4\x33\xec\xa1\x4d\x74\xe2\xbd\x1b\x48\x25\xbb\x45\xc0\x56\x15\xa4\xdb\x4f\x17\x3f\xeb\x28\x33\x92\xe5\xba\xea\x8c\xa8\xc7\xdf\x21\x1b\xcc\x12\xf6\x0a\xf3\x69\xda\x36\x3b\x31\xc8\xb1\x96\x95\xfa\x79\xd6\x96\xe8\xe3\x5a\x91\xe2\x53\xcd\xc1\x56\x85\xf8\xa9\x58\x82\x76\xf5\x63\x99\xc2\xcc\xcb\x3d\xd8\xc2\xd7\x48\x31\x46\xc7\x3a\x3b\xc8\x20\xf7\x65\x91\x91\x4c\x62\xcd\x70\x3d\x4a\x54\x59\xf3\xac\x68\xf5\x55\x30\x39\x9d\x9c\xa5\x70\x13\x90\x77\x7a\x33\x4f\x1c\xa7\xfb\x78\x72\x36\xc4\xa8\xc1\x24\x1c\x99\xaa\x08\x22\xcb\x0f\x4c\x56\x64\x5f\xbf\x4f\x60\x77\xfe\x1d\xac\x41\xa8\xf5\x32\x4e\x6b\x70\xfb\xeb\x6d\x13\x1d\xdb\x98\xda\x15\x75\x7c\x24\x31\x74\x1c\xc8\xa2\x49\xb9\x17\x30\xa0\xbd\x73\x63\x58\x1a\x62\xf8\xee\x62\xa6\x01\x83\x5a\x59\xbf\xf3\x17\x7a\x4a\xaf\x7e\xe5\x4b\x78\xdc\x50\x74\xdb\x3b\x52\xf3\x59\x50\x68\x4a\x9a\x9a\x9d\xc5\xd1\xfe\x09\x3a\xdd\xe4\xa6\x29\x89\xad\x07\x16\x20\xc8\x84\x89\xc4\x7f\x1f\xf5\x9a\xc8\x6d\x17\xee\x51\x45\x73\x2d\x3a\xe4\x11\x30\xb8\x16\x2d\xd3\x2b\x5f\xe4\x2e\x8b\xb2\x5d\x4f\xde\x08\xbe\x1c\xda\x81\x18\x76\xbd\xe8\xcc\x91\xd3\xae\x84\xb6\xf7\x49\x7d\x97\xde\xa7\x47\x2e\x82\x48\xa6\xed\xf6\xc3\x02\x8f\x9c\x9f\xb3\x49\x25\x2b\x31\x21\x53\xf0\x4e\x2c\xec\xe7\xc0\x32\x64\xdf\x9b\x6b\x38\xd2\xb9\x62\xd7\x45\x9e\x0b\x97\x1d\x73\x2b\x77\x2a\x81\x98\x3c\xd0\x36\x9b\x4c\xcc\x80\xfa\x8f\x96\xd6\xc7\x6f\xd0\xf9\x32\x13\x0e\xfe\x82\xf5\x1b\x70\x5e\xe9\x30\xc5\xf0\xe4\x7e\xd1\xe1\x8a\x05\xdd\x02\x3e\x0d\x94\x5d\x83\x9e\x0e\x96\xe8\x42\x74\xa4\x51\x34\x58\x7f\x31\x82\x6d\x9d\x61\x1c\xdb\x4d\x36\x1c\x58\x6e\xd0\x56\x30\x68\x41\xc7\x71\x4c\x27\x71\x22\xed\x94\x97\xda\x71\x3a\x73\x76\x8c\x90\x1d\xc3\x71\x5a\xb3\x89\xb3\x88\x7d\x5b\xe7\xdc\x04\x52\x67\xbc\x11\x26\x99\xff\xe3\xc7\x07\x56\xef\x1a\x2d\x82\xaa\xa5\xb7\xe2\x99\x13\xb2\x93\xa7\x78\x23\xda\x4b\xfb\x75\xea\x02\x94\x7d\x85\x87\x0f\x7d\xed\x65\xa1\x2e\x64\x59\xf2\x5a\x89\x7c\xd6\x0d\x17\x86\xc7\x84\x2d\x7b\xa1\x7b\xe4\xe9\x84\x82\xd4\xd3\xfc\x2f\x3b\x65\x3d\x83\x01\x4e\xd5\x24\x75\xa7\xab\xd6\xcd\xd0\x11\xc5\xe7\xab\x6b\x5e\xa3\x54\x5f\x51\x6d\x6b\x26\xca\x92\xe5\xc5\x56\x54\x4a\x6f\xf4\xa3\x98\xd0\xd0\x01\x3c\xc5\x7a\x0e\x7a\x68\xc8\x4e\x1d\x36\x7e\xa9\x7f\x8a\xde\xcb\x94\xe3\x42\x5b\xe1\x5a\x66\x3b\x35\x99\xc1\xe1\x01\xc2\x17\x3d\x3d\x9e\x96\x7b\x7e\x50\x08\x2f\xc3\xd9\xaa\x94\xd9\x8d\x93\x12\xf5\x83\x66\x57\x41\x75\xd0\x1c\x32\xe6\x3a\x13\x8d\x88\x74\x6b\xf9\xec\xf5\xdb\x8b\x3f\x9e\x51\x70\x4c\x9c\xe4\xf3\x9e\x2d\x09\xc3\xc0\xcd\xb9\x37\x89\x0f\x47\xed\x4e\xb2\xe5\xd4\xbe\x68\xb3\x6b\x36\x85\xde\x39\xa1\x9e\x2b\x31\xd8\xcf\x17\x4f\xdf\x58\x7f\x52\x6c\xfe\xda\xfa\xa6\xde\xff\xbc\xb7\x24\xba\xd6\xe6\x49\xdb\xf0\x4a\xd5\x5c\xf3\x4e\x5c\x58\x36\xb9\x68\xf0\xb2\xbd\x34\x73\xe4\xf3\x0e\x85\xa5\x5e\x8b\x75\x6b\xcb\x4c\x94\x2c\x8b\xdc\x11\x5b\x35\x82\xdf\x18\x81\xeb\xd8\xa0\xbf\xfd\xfa\xf9\x8b\x77\xaf\x5f\x7d\xfd\xe2\xe3\x46\xbe\xe2\x4a\x40\x7e\xc1\x5f\x65\xec\xd1\xb8\x4e\x4e\x5c\xf2\x7e\xd8\xaa\xc5\x4f\xf0\x6c\xa8\x01\x30\x99\x89\x3b\x0e\xa0\x2d\x36\x98\xde\xf4\xec\xc8\xd4\xd1\xe9\xa5\xf3\x66\xbc\x6b\xfe\x0a\xfc\x40\x36\x01\xfc\xf4\xfe\xd3\xf0\x44\x62\x60\xf7\x94\x6a\x3b\x71\xd8\x69\xd9\xd5\x45\x7b\x1c\xaa\xec\x6f\x13\xeb\x71\xa8\xb2\xb1\x61\x17\x63\x84\xe9\x54\xf8\x85\xab\xf7\x31\xe1\x17\xae\xf2\x51\x17\x0b\x0c\xab\x48\x3f\xdf\xb0\x44\x4f\x80\x86\xab\xd2\x17\xcc\x73\xa9\xcf\x73\xd9\x68\x99\x0f\xef\xe8\x9f\xa4\xdc\xb2\x3d\x6f\x2a\x4c\xde\xe9\x96\x91\xfe\x0e\x8a\x70\xb6\x15\x4a\xf1\x8d\x70\x3f\xb6\x36\x95\xba\x0d\x0c\x2a\x1a\xb6\x6a\xe4\x5e\xff\x04\xb5\xb7\x3b\xd5\xa2\x77\x1b\x26\x8b\x90\xec\xf1\xe9\xe9\x3f\xb1\xa2\x62\xc0\xa5\x20\x18\x5c\x5b\x9f\x39\x17\xc0\x8f\xb9\xae\xcb\xc3\x58\x75\xc2\xb5\x31\xc4\x98\xee\x11\x3d\x02\x8c\xb1\x38\xaa\x49\xb8\x96\xfb\x7f\x93\x72\xfb\x3d\x0e\x2b\x4e\x07\x6d\x35\x02\xa0\x21\x80\x15\xfd\xc9\x17\x86\xdb\x8a\x3e\x83\x8d\x0e\xa1\xf7\xc9\x1b\xd7\xed\x4a\x3e\x59\x23\x78\x2b\x5e\x94\x42\xff\x39\x9d\xe4\xc5\xed\x84\xfa\x86\xc4\x04\x8c\xf4\x9a\x29\x75\x25\xee\x20\x7c\xc2\x09\x6b\x13\xf0\x5b\x7a\xc2\x56\x25\xcf\x6e\xce\x26\x44\x8c\xeb\xb8\x94\x3d\x61\xff\x6d\xbd\xfe\xf2\xcb\x2f\xbf\x0c\x8b\xad\x65\xd5\x2e\xf4\xf1\xfa\x84\x95\xbc\xd9\x88\x88\x08\xac\xe2\xa2\xe1\x79\xb1\x53\x4f\xd8\x6f\xeb\xbb\xf0\xbb\xd1\x26\x3c\x61\xa7\xcb\xff\xf5\x9b\xf0\x53\xcd\x73\x2d\x41\xe9\x4f\x5f\x8a\x2d\x3b\x5d\xfe\x06\xfe\xbf\xfb\x77\x58\xba\x95\xf5\x93\xd4\xef\xe0\x42\xf0\x84\x3d\xd6\xf5\x22\xfa\x66\xc3\x3c\x71\x69\x2b\xc3\xef\x8b\xbd\x58\xdd\x14\xed\xa2\x15\x77\x38\xc0\x05\x07\xd9\xef\x09\xd3\x8f\xa8\x74\x59\xcd\xea\x0b\x94\x1c\x93\xc5\xb6\xf2\xa7\x71\xf4\x74\xc1\x04\xb1\x08\x8d\xa6\xb3\xd0\x9a\xf6\x85\x41\x19\x43\xff\xdc\x37\xc8\xf1\x6f\x78\xc5\x37\xa2\xb1\x4e\x4b\xef\x84\xb1\xc4\x2b\xcb\x0a\xc8\xfa\x84\xa0\xa9\x68\xdf\x1a\x3f\x40\xc2\xec\x57\x55\x3b\x3d\x72\x9f\x69\x12\x2f\x79\xd6\xca\x86\x7d\xa1\xf7\xf2\xec\x47\xa2\x4e\xea\xe1\x4c\xcd\x43\x2f\xf9\xb6\x28\x9d\xe5\x22\xf4\x94\xac\xda\xc5\x1a\x3e\x4f\x3c\x76\x68\x47\x11\x97\xde\x78\x4b\x14\x20\x68\x3e\x5b\xdc\x4c\xc5\x2d\xfd\x66\x52\x09\x5d\x5c\x17\x25\x3a\xa3\x75\x77\xf0\x59\x98\x16\xe9\x68\x6b\xd4\xbf\x6e\xa0\xdc\x12\x53\x8b\x1c\x6d\xb9\x73\x40\x07\xef\x75\x79\x2b\x1a\xfd\xce\x86\x77\x94\x81\x76\xe1\x5b\x70\xe3\xd6\xef\x93\x62\x1b\xe0\xb5\x77\xaa\xd9\x1c\xac\x45\xc5\x8a\x0a\x1d\x92\x6f\xc1\x3b\xb7\xa8\x18\xc7\x7d\xcd\xf4\x32\xcc\x59\x26\x2a\x00\xde\x01\x24\x94\x5b\x73\x3d\x93\x0c\x0c\xc4\xfe\xe0\xbc\x88\x6f\x84\xc0\x9c\x12\xb6\x39\x7b\x4b\xac\x9a\x42\xac\x21\xe7\x27\xe4\x87\x45\x1f\x92\xa8\x49\x78\x22\x1d\xe4\xce\x93\xd3\x53\x37\x69\xbd\xd5\x22\xbb\x16\xd9\x8d\x93\xf2\x10\xa2\x25\x9c\x9d\x75\xd1\x74\x01\x5a\x2c\x2c\xf3\x56\x6d\xcc\xa4\xdc\xb5\x98\xd0\xe5\x0f\x57\x6f\x5e\xcf\x5c\x27\x8d\x5d\x44\xf7\xdb\x84\xd1\x98\x61\x04\x18\x1f\xe8\xb2\x8f\x30\xaa\xe6\xae\x05\xaa\xe1\x22\x80\x0b\x00\x2f\x5a\xb6\x12\x6b\xd9\x08\xb6\xe6\xf0\x48\x94\x3b\xb8\x03\x91\x5d\x3c\x7d\x16\x28\xcf\x1f\x2f\x7f\x63\xfc\x6d\xd5\x92\xb1\x6f\xb8\x52\x20\xb7\xc1\x25\x66\x41\x89\x4d\x4d\x4b\x4c\xb5\xfc\xc0\x76\x35\xf8\xbf\xeb\xb5\x9a\xca\x86\xed\xaa\xb6\x28\x0d\x2a\xa5\x71\x96\x2a\xf9\xe1\x58\x1a\x26\x7d\x01\xbe\x35\xab\x47\xee\xbe\xad\xda\xcc\xe9\x90\xe3\x6b\xd0\x50\xef\x5e\x81\x6e\x0f\x0e\x68\x7e\x49\xdd\x7b\x5f\x81\xb4\xf2\xd0\xf5\x17\xdd\x4f\x8f\x7f\x13\x5f\x50\xe4\x7a\xbb\xbb\x5b\x24\x6e\xb8\x4f\x76\x83\x8d\xbd\x8f\x8e\xdd\x31\xf6\xda\xd2\xaf\x27\x43\xd0\xea\xec\x1f\xff\xf6\x74\xab\x98\xe0\x4a\x2c\x8a\x6a\xdc\x8d\xd3\xbd\xbe\x8e\xd3\x9d\xf5\x2d\xe3\x92\xe7\xf9\x8b\x5b\x51\xb5\xaf\x0b\xd5\x8a\x4a\x34\xd3\x09\x68\x12\xb5\x34\x3f\x99\x7b\xb6\x22\x29\xc2\x85\xbe\x0a\x74\x15\x07\x27\x77\xe6\xbe\xa8\x56\xd6\xdf\x34\xb2\xe6\x1b\xee\x75\x40\x20\xd0\x1a\x03\x18\xbd\x2b\x53\x1c\x41\x5f\x55\xc3\xde\xf4\x67\x03\x64\x7a\x9e\x69\xc3\xce\xfe\x43\x04\xef\x7b\x1d\x76\xe9\x84\x72\xc0\x56\x6d\x86\x9a\xa3\x96\xa2\xe5\xff\xfa\x8d\x37\xea\x74\xf7\x70\xe7\x36\xf5\x77\x69\xe7\x02\x0d\xf6\xbe\x7b\xfe\xe4\xc5\xad\x16\x13\x9c\x16\x68\x23\xda\x8b\xb2\x10\x55\xab\x7f\x9d\xfa\x63\xc1\x9a\x0a\x0c\x95\x63\x75\xba\x8d\xf5\x8d\x16\x94\xcc\x86\x85\xa6\xa6\x37\x3e\xea\x97\x34\x67\xbd\x0f\xd8\x09\xfb\x92\x3c\xcf\xfb\xe8\x1a\xdd\xb0\x23\x69\xc3\x96\x28\x45\xf3\x5b\xaf\xee\x1a\xdf\xce\x97\x16\x70\x00\x7c\x28\xbe\xb9\x0b\x7b\x90\x7a\x46\x06\x46\x02\x6c\x2f\x0c\x0f\xe8\x1a\xbf\xe2\x62\x8e\x08\xbd\xc0\xce\xcf\xbb\xe9\x6e\x3b\x93\x3b\x3a\x26\x00\xde\xa1\x47\xf8\x6f\x72\x96\x28\x7c\x8f\xa8\x03\xa7\x03\x5e\x0f\xf3\xad\xfd\x6f\xa8\x64\x20\x99\x75\x0a\xba\x73\x68\xa0\xb7\x54\xaf\x32\x76\x06\x70\x07\xda\x1a\x2e\x92\xc4\xfc\x41\x57\xe7\xe7\x9f\xd9\x63\x0c\x98\x20\xa2\xe1\x37\x5c\xb5\x82\x64\xa7\x39\xa8\x56\x6c\x59\x56\x16\xf5\x4a\xf2\x26\x8f\xb3\x6f\x1e\xb9\xf6\x6b\xa0\xd6\xd1\x7a\x60\x79\xf8\xf8\xb2\x91\xdb\x0b\x4b\x7d\x1a\x5e\xd2\x61\xcf\x2e\x64\x7d\x60\x9c\xa1\xd8\xe5\xbc\x5a\xa3\xfe\x39\x1c\x41\xd9\x8a\x27\xc6\xb1\xaa\x11\xa8\x5b\xc0\x8b\x49\xe4\xac\xe1\xd5\x46\xc4\x49\xa0\xe7\x5a\x7a\x34\xca\x1f\xcd\xed\x47\x21\x6d\x33\x59\x1f\x10\x20\xf4\x4a\xba\x11\x84\x0f\xfb\x26\x52\xf2\xd0\x63\x18\xa3\xe4\x17\xae\xe7\x8b\x4a\xb6\x45\x26\x26\x33\x64\x30\xc2\xa8\xb8\xcf\xbd\x00\xe5\x23\x5e\xe6\x66\x26\x21\xea\xe7\xa0\x27\xc8\xbe\xba\x20\x12\x86\x44\x11\x61\xdc\x65\x7d\xb8\x94\xbb\x26\x13\x47\xc5\xa1\xba\x11\x13\x83\xd8\x65\xeb\x44\x77\x82\x6a\x9b\xe8\x7b\x9f\x94\x94\x16\x3c\x34\x35\x22\x1d\x24\xe4\x87\xb8\xc4\xa0\x7c\x83\xef\xf7\xc5\xef\x7e\x57\xdf\xd1\x4b\xcd\x0f\x70\x25\xf3\x43\x70\xc7\xf8\x9e\x07\x21\x5f\xe3\x8d\x45\xe0\x2b\x57\x65\xd7\x68\x4f\xc0\xd0\x2e\x63\x2c\xf2\x3f\x87\x05\xdf\x5a\x47\xbc\xb8\x28\x7e\xb0\x85\xc1\xe8\xd1\x21\xea\x7e\x0d\x8a\x25\x48\x92\xdf\xd1\x40\xe1\xbe\xe0\xbf\x9e\x96\x25\x4c\x41\x23\xaa\xce\x2c\x20\x3f\xc1\xaf\xb6\x16\xe1\xee\xee\xfe\x44\x73\xdc\xab\x17\xe0\x4d\x06\xa9\x02\x76\x75\x2d\x1b\xe2\x99\xb0\x14\x77\xad\xa8\xf2\xa5\x4d\x84\xc3\x2b\xe5\x51\x7e\x5c\x29\xa4\x83\xd9\x06\x4c\x68\x81\xac\xd8\xab\x17\xcb\xd8\x2a\x67\xc8\xb9\xa4\x1c\xee\xf7\xcc\x98\xe7\xa6\x7e\xf2\xe7\xc1\xb4\xdb\x14\x1d\x11\xa5\xa9\x9b\xd7\x39\x9d\x51\x2f\xfd\x11\x16\xef\x39\xdb\x83\x49\x1c\xc4\xdb\xa3\x5c\x64\xb6\x49\xca\xe8\x16\xb3\x61\x18\xcd\x69\x3e\x9e\x85\x4b\x7b\xa8\x32\x92\x19\x65\xc0\x70\x69\xa6\x17\xef\x16\xb3\x80\x97\x26\x38\x00\x78\xc9\x44\x46\x91\xb4\x56\x2b\xb1\x29\xaa\x0a\x1d\xff\x10\x1b\x00\x13\xb8\x19\x03\x1b\x6f\xda\x04\x1b\x92\xdf\x2d\xc7\x56\x31\x4f\x43\x19\xe4\x69\xd3\x71\x5d\x04\xd2\xf0\x7d\xcd\xb7\x82\x7d\x76\xce\x26\x7f\x5a\xbc\x7b\xfb\xfd\x24\xe1\x2e\xeb\x66\xc9\xf1\x1e\x8e\xa2\x62\xbc\x62\x77\x8b\x46\xee\xa1\xc1\x39\x86\xa7\x14\x2d\xe8\x8a\x21\x42\xc8\x24\x8c\x96\x5b\x81\xc9\x9d\x8b\x4a\x59\x55\x35\xd4\x5b\x32\xf6\x34\xcf\x21\xf4\x27\xce\xf2\xe5\xdc\xec\x55\xb1\x2a\x8b\x6a\xa3\x2c\x35\x9f\x69\x9a\xcc\xe5\xf2\x81\x7b\xb2\x86\x03\x3b\x3f\x67\x93\xff\xa6\x4f\xb8\x09\x7b\xf8\x10\xba\x49\x99\x2b\x28\x76\xf9\xcd\xd3\xaf\x27\x31\x3e\x47\x65\x5c\xd0\x5b\xab\x78\xc0\x1f\x00\xe7\x47\x9f\xc3\x39\x53\x35\xb7\x3e\x28\xbb\xda\x5d\x97\x35\xaf\xb0\x35\x43\xcd\xac\x48\xd4\x81\x00\x52\x01\x3d\x90\xb1\xff\x76\xf4\x97\x38\x78\x82\x59\x41\xe9\x84\x85\xbc\xf1\xc8\xf3\xc9\x23\x6f\xc4\xed\xc9\xbf\xa8\xff\x15\x27\x60\x3a\x39\x61\x2f\x20\xe0\xa1\x87\x4d\x49\x34\x04\x65\x50\x51\xe5\x8e\x3d\x8f\xa5\x7d\x24\xa7\x43\x95\xa3\x1a\x6e\x91\xf2\x4c\x08\xca\x91\x13\x23\xc9\xe5\x86\xd4\x27\xe1\x71\x18\xe3\xaf\xca\xe1\x3e\x36\xa8\x97\xc5\x85\x5b\x85\x7f\x34\x06\xaf\xc4\x5d\x3b\xc8\xdc\xa4\x80\x53\x24\x38\xfe\xfa\x38\xb6\x06\x88\xa8\x5b\x82\x3c\xfb\x4e\xee\x41\x88\x9a\x46\x07\xe5\x3b\xb9\x77\x7e\xf4\xc3\x3e\x3c\x01\xef\xd1\x6a\x90\x50\xf9\xcc\xc3\x8a\x95\xc5\x6a\xb9\xcf\x96\x6a\xb7\x42\xb9\x7a\xda\xdc\xce\xe9\x4e\x9d\xbb\x12\x2d\x3e\x27\xa7\xcd\xed\x8c\x2d\x18\xe5\xfa\x58\x46\x0f\x40\xbe\x1d\x03\xf7\x08\xec\x86\x77\x31\x9d\x53\xd1\x1a\x9b\x2d\xc7\x28\x4e\x2d\x48\xe4\xc2\xa8\x4a\x8f\x89\xe2\x09\x79\xa5\xc7\x79\x11\x2f\x5e\x3b\xdb\xc1\x85\xec\xfd\x80\xa0\xd4\x67\xf4\xfd\x8a\xc6\xf3\x94\xd4\x0f\x85\x8f\xdd\xfd\xa1\x26\x22\x85\x64\x40\x64\xfc\x9e\x9c\x05\x8f\xd8\xe4\x2e\x72\xa8\x0a\x03\x1d\x82\xe4\x1f\xb7\xf2\x46\xe4\x6c\x75\x88\x7d\x32\xfe\x28\x0e\x38\x3d\x7b\x8c\xdb\xfc\xee\x8a\xdd\x88\x83\x6a\x1b\x79\x03\x7b\x2e\x17\x2d\x3c\x94\xfa\x34\xde\xe6\x09\x76\x65\xc2\xa2\xf1\xaf\x46\x60\xda\xe6\xd6\x9a\x6d\x1d\xc9\xb9\xde\xb6\xdf\x5e\xbd\x5c\x3c\xfe\x9f\x47\xd6\x51\x56\xdf\x5d\xfd\xd1\xf5\x24\x7c\x4a\xb9\x1d\x49\x83\x74\x64\x59\xbe\xad\x5c\x8d\xf7\xa1\x67\xd6\x00\x5e\x20\xd9\x69\x1e\x2f\xd0\x81\x94\xcb\xb0\x23\x58\xfa\xc6\x4c\xda\x52\x54\x99\xcc\x85\xed\x52\xec\xdd\x95\x07\x8f\xca\x77\x72\x8f\x30\x68\xe6\x6f\x03\x1b\x84\xe6\xe7\xb6\x10\x06\x98\x67\xa7\x04\x03\x25\xa5\xd2\xa5\x0d\x2c\x5a\xc5\xd6\x98\x36\x84\xe1\xee\x91\xd5\x1b\x5d\x70\x3a\x4b\x59\x62\x8e\x37\x94\x49\x08\x05\x83\xee\x05\x58\xc9\xe0\x29\xec\xdd\x2c\x5c\x3a\x49\xd2\xad\xa3\xcb\x06\x3d\x0b\xac\xda\xc4\xa2\xad\x25\x02\x99\x09\xa5\x44\xfe\xec\x60\xab\xff\x81\x57\x79\x29\x9a\xf7\xe4\xce\xfb\x5e\x40\x6c\xbd\xd2\x07\x80\xdc\x35\xd8\x34\xbb\xc6\x82\x36\xce\xd8\xf9\x3e\xcf\x2d\x06\x9c\xfe\xdf\x96\xa4\x48\x41\x62\x16\x7c\xce\x04\xed\x83\x6f\x99\x68\x96\x8c\xbd\xa1\xb3\x0d\x0f\x11\x99\x65\xbb\xc6\x92\x37\x7e\x27\x9e\x50\x48\xc0\x46\x66\x2a\x69\x6c\x5e\xdd\x6e\xad\x76\x2d\xdb\xeb\x1f\xf4\x75\xbd\xe7\x00\x8b\x66\x89\x99\x89\xd0\x35\xb6\xac\xdd\x17\x99\xb9\xa7\x4e\x4e\xc8\x24\x64\x5c\xd7\xfc\x8b\xbe\xca\x8d\xee\x9a\xad\x76\x2b\xb8\x72\x48\xaa\x77\x04\xf6\xc1\xc0\x1a\x06\x97\x3b\x06\x08\xaa\x39\x53\xae\x3d\xdd\x0f\x91\xc9\xc6\x3a\x4b\x22\x35\xb9\xfa\x8b\xc8\x5c\xee\x03\xc4\xeb\xd1\x6c\x72\xd0\x62\x42\x2b\x78\x9e\x4c\x93\x08\xd7\x94\xd0\x8f\x3b\x98\xc2\x17\x38\x83\xe7\xce\x18\x23\xd6\x82\xe3\xa7\x77\x50\x4a\xbd\x8f\x3c\x8b\x6f\xdb\xe5\xd6\x7f\x76\xe1\x71\xb7\xed\xf2\xcd\xdb\x6f\x2f\x5f\xbc\x7f\xf7\xe2\x9b\xb7\xef\xae\xde\x3f\x7f\x75\xf9\xf4\xd9\xeb\x17\xcf\x71\x47\x0e\x32\x8f\x3e\xc5\x9b\x9d\xb0\xcf\xd0\xb7\x15\xba\x62\x41\xe6\x87\x13\xe3\x58\x0a\x81\x5a\xb9\x5d\xa6\x90\xa9\x99\x58\xd2\x0d\x74\xce\x9c\x91\x7a\x2a\x96\x19\xa8\x88\xff\x95\x24\x53\x1f\xf2\x28\x9e\xb1\x93\xa1\x1b\x79\x94\x13\xd7\xcc\xe6\xb0\xf2\xdd\x72\x00\x64\xae\x67\xb6\x63\x7f\x1a\x6e\xf0\x78\x9b\x06\x31\xee\x11\xc1\xed\x12\x4b\xbd\x9f\x41\x28\xf3\x76\x15\x2d\xbf\x75\x3a\xf4\xfb\x3e\x00\x3a\xb7\x9b\xdf\x58\x02\x71\xd6\xc0\x86\x78\xbe\xdf\xdb\x53\x9d\x7d\xd6\x61\xc1\xae\xd4\xec\x83\x9d\x9d\xaf\x7d\x95\x1b\x60\xc1\x4a\x6a\xa1\xa4\x02\xb3\x69\x70\xf0\xda\x08\x77\xa4\x74\x2d\x55\xab\x77\xf8\xdc\x01\x52\x9a\x9d\xec\x9d\x9a\x62\x5f\x77\xb8\x4c\x1d\x8f\x59\x42\xbe\x2f\x68\xed\x96\xb5\x85\x3e\xbc\x11\xa2\x56\x49\x4a\x20\x86\x03\x6c\xc2\x5a\xe8\x4b\xc6\xed\x66\xbd\x61\x4b\x99\xf1\x12\x65\x18\x2f\xe5\x39\x21\x3c\x64\xe8\x05\x7b\xac\x17\xf3\x98\x1f\xb7\xdb\xa6\x09\xce\x1b\x41\x82\x02\xda\xb3\x51\xae\xfc\x10\x45\x60\xa4\xe0\xc8\x23\xe2\x1e\xe1\x07\xa3\x83\x06\x88\xac\xdd\xcb\xe5\xd4\xba\x2c\x96\xbc\x6c\xff\x28\x0e\xec\xe7\x9f\x07\xf8\xcd\x72\xdc\x77\x57\x86\x91\xb0\xa4\x71\x65\xcb\x0b\xe5\x31\xe5\xf5\x41\x8d\xf0\x6b\x70\x48\x8a\x1c\x96\xd2\x53\xe1\x65\xbb\x70\x5d\x31\x2c\xe7\x4f\x2b\xbc\x72\x7c\xe8\x37\x72\x40\xb4\xf8\x2e\xf1\x4f\xf7\x14\xb6\x87\x24\x3d\x15\x88\xd8\xfb\x02\xe1\x5a\xa7\xce\xe6\x19\x05\x48\xe1\xd1\xea\x42\xf4\xe0\x4a\x59\xeb\x2b\x7a\x5f\x89\x46\x5d\x17\x0e\xdd\x06\x7b\xeb\xf0\x72\x46\xf4\x0b\xbc\xe8\x82\x8e\xf5\x29\x5c\x9d\x7a\xef\x4a\xbe\xa8\xf2\xe9\xec\xe8\x68\x80\x34\xb1\xf5\xa6\xad\xc0\x01\x5f\xf4\x2f\x75\xc4\x35\xf9\xaa\x04\x88\xa3\x98\x13\xed\xfe\x10\x77\x35\xaf\x72\xdf\xfb\xc1\x91\xb9\x3e\xde\x57\xf5\xca\xfc\x0b\xf6\xc8\xd9\xbd\xbf\x2e\xb2\x6b\xb7\x8b\xe1\x2b\x98\x79\x9e\xed\xda\x56\x56\x81\x5b\x13\xd8\x64\x1c\x54\x6a\x8a\xee\xae\x8e\xa9\x3e\x76\x71\xae\xba\xf3\x6f\x2b\xec\x3e\x3d\x55\x62\xd0\xac\x68\x6d\xa9\x8a\xd2\xcd\xe8\x2f\x9c\x8e\x4e\xbf\xb7\xf2\x56\x4c\xf4\x8e\x4e\x0c\x68\x46\x3b\x4b\xae\xcd\x67\x28\xf4\xe1\xd9\x22\xaa\x0d\xdf\xd0\x1e\x9e\x9c\xb0\xe7\x85\xc2\x9f\xc9\x0d\xb7\xb0\xa2\x22\x3e\x65\x65\x65\x23\xbf\xdc\x5d\xb3\xec\x1a\x70\x53\x2d\x25\x37\x48\xa2\x38\x0d\x7e\x9a\xa0\x09\x84\x4c\x87\xd9\xcb\x27\x5f\xf8\x33\x36\xc1\xe7\x5f\x9c\x74\xbc\x6b\xc6\x4c\xc1\xd1\xe3\xd4\x09\x03\xb7\xc9\x29\x02\x8d\x12\x78\x14\x6a\x52\xe4\x96\x75\x2e\x5f\x58\x41\xf7\x97\xd2\x83\x1b\xd2\x81\x7a\x2d\xc7\xae\x5d\x74\x14\x8e\x9b\xd2\x40\x14\xfc\xcd\x2c\xf2\xb4\x3f\x46\xc3\x9a\xf5\xbd\xd8\x96\x20\x42\x2e\xc1\x24\xdb\x46\xb3\xf9\xf6\xda\xca\x10\xc4\x9c\x92\x37\x7c\xb3\xb0\x59\x10\xb8\xbf\x80\xd8\xd3\x97\x57\x2f\xde\x91\x03\x1a\xee\x18\x4a\xae\xa8\x18\xee\x65\x88\xdf\x40\x1c\x26\x29\x59\x69\x72\x12\xf7\x32\x78\x34\xed\xf7\x3d\xba\x87\x7c\x73\x3e\xd0\xed\x8c\x12\xa1\x79\xfd\x12\xb7\x9c\x81\xd3\xe9\xde\xe7\x0d\x84\x32\xc2\x53\x01\x5f\x44\xb2\x62\x86\x9e\x9e\x1e\x33\x31\x30\xaf\xad\xd8\xd6\xb2\xe1\x4d\x51\x1e\xc2\xeb\x9c\xf1\x07\xa9\xeb\x7c\xc9\xd8\xdb\x4a\x97\x95\x48\xd9\x89\x89\x5e\x35\x56\x28\x26\x30\x67\xbd\x84\xb5\xa4\xaf\x37\x78\x45\x16\xdb\xad\xc8\x0b\xde\x8a\xf2\xc0\x6e\x4c\xa2\x3b\x70\x8b\x57\xb1\x18\x30\xe6\xb2\x0d\x5c\x41\xd1\x11\x46\x59\x9f\x4b\x2d\xa4\x36\x28\xe1\x16\xca\x24\xcf\x39\x40\x8c\x1d\xec\xca\x4a\xee\x19\x5f\xc9\x5d\x1b\xc8\xce\x54\x21\x81\x2f\x4c\x8f\xa3\x67\x03\x2a\x38\xab\x64\xb3\xe5\x25\x7b\xfe\xf6\x8d\x0d\xff\x04\x98\x40\xac\x80\x13\x98\xe7\x20\x51\x72\x48\x3a\x3f\x21\x92\xec\x04\x24\xf8\x49\x28\x9b\x4e\x88\x7a\x63\x9c\x86\x22\x56\x50\xb0\x00\xef\x57\x8b\x58\x7b\xd4\xbb\x64\x3b\x65\x70\x58\x8e\x53\x06\xf8\xc7\x0b\x28\x1c\x68\x40\x4c\xe8\x5a\x1f\x52\x69\x22\x4a\xce\x18\x20\x4d\x46\x52\x73\x54\xd3\x18\x3d\xaf\x9d\x34\x05\xc1\xc3\x06\x04\x37\xa2\xa1\xec\xc5\x58\x7c\x90\x1e\x6e\x94\x6e\x85\x84\x33\x1f\x1d\x3b\x56\x4b\xc4\xb5\x98\x43\xb1\x37\x12\x66\xa0\x37\xfa\x65\x53\x28\xc0\x0f\xb3\xe1\x37\xfe\xec\xd1\x3d\x3c\xda\x2b\x10\x6e\x52\xda\x28\x70\x20\xe3\x2d\x67\xe7\x0c\xfd\x19\xac\x3f\xfb\xf4\xe4\xcf\xd5\xc9\x76\x33\x67\x93\x3f\x1b\xdf\x3a\x53\x2c\xa9\xfa\xd3\xdf\xbc\x9e\x38\x78\xaf\xae\x1a\x9e\xdd\x88\x56\xe4\xd0\x07\x5c\x15\x43\x6a\xf2\xe7\xbb\xc7\xab\x1f\xbe\x3c\x3d\xfd\xbf\x13\xf6\x08\x7f\x7c\xe4\x7e\x7c\xfc\x7f\x27\x81\x02\x52\x3f\x51\x4d\xf6\x59\xd3\x5a\xff\xda\x61\x7c\x4c\x63\xb4\x89\x5a\x62\x22\xfe\x3b\xe3\x67\xed\x42\xd6\x87\x3e\x15\x1e\x4a\x04\x3b\x25\xcc\x49\xfd\x3d\xc0\x7e\xea\x1a\xf6\x00\xed\x3b\xcb\x63\x3f\x96\x3e\x81\x2e\x80\x71\x3d\x4d\x80\x0f\x0f\xf1\x2b\x82\xec\x44\xce\x3f\x61\xca\x4e\x73\xbe\xe9\xe7\x7f\x5e\x34\x02\xa2\xf7\xac\x4a\x54\x2f\x2a\x5e\xa2\x80\x15\xa5\x0c\x48\x25\xc0\x46\xc1\x51\x84\xd1\x40\x31\xc8\xb7\xbe\x83\x79\xcb\x6e\x0a\x34\x3b\x02\x95\x95\x28\x65\xb5\x51\x98\xbf\xc0\x03\x19\x31\xcc\xdd\x1c\xc0\x15\xcd\xed\x71\xaf\x6f\x96\x8c\x57\xfa\x94\x14\xff\x7f\xf6\xbe\xbd\x3b\x8d\x63\xd9\xf7\x7f\x7f\x8a\x8e\xcf\xb9\x1b\x88\x11\x02\xf4\xb0\x64\x45\xc9\x46\x08\xc9\x58\x4f\x83\x24\xbf\xe2\xe3\xd3\xcc\x34\x30\xd6\x30\x83\x67\x06\x49\x78\x27\xe7\xb3\xdf\xd5\x55\xfd\x9c\x07\x20\x25\xd9\x7b\xdf\xb3\xae\xd6\x4a\x2c\x41\x3f\xaa\xab\xab\xbb\xab\xab\xab\x7e\xf5\xc0\x9c\x19\x17\x7b\x2b\x9c\x4d\x5a\x50\xe0\x18\x92\xd8\x3a\xd3\x28\x1c\x45\x74\x32\xa1\x89\xe7\x10\x7c\x1d\xc0\x1d\x6b\xe9\x44\xf7\x80\x5b\x05\x01\xbf\x78\x99\x6f\x9b\x09\xd9\x31\xf1\x40\xc6\x9a\xc4\x0f\x55\xb8\xf0\xe0\xbb\xd0\x12\x03\x18\x59\xd9\x20\xf5\xdb\x6f\xa4\xbe\xa7\x33\xa7\x48\x52\x10\x34\x37\x9e\xd0\x28\x39\xe2\x04\x1d\x7a\x77\x9e\xcb\x16\x90\x25\x61\x9d\x16\xbf\x94\xad\x68\x98\x43\xa2\x14\xbc\xbd\xe6\xd1\x4f\xfb\xa4\xce\xbf\x55\x94\xf2\x0f\x6c\xa3\x36\xbd\x0b\x3d\x57\x5c\x00\x62\x2f\x99\xe1\x86\x2c\x42\x16\xe0\x7c\x15\x41\x8c\x71\x38\x61\x89\x37\x61\x86\x92\x20\x85\x4d\x36\x37\x62\x09\x17\x77\xae\x15\xba\x7a\x95\x2b\x3c\x90\x30\x22\xee\x2c\x92\x2f\x30\x5e\xe0\x25\x1e\xf5\x89\x1f\x52\xb7\x2a\x6c\x60\x68\x5d\x96\xcd\xb9\x8c\xfa\xd2\x0e\x4c\x13\x69\x8b\xc6\xa5\xc3\x45\x12\x0c\xdd\x82\x3a\x6f\x08\x31\x92\xcc\x95\xc1\x07\xf6\xfe\xc2\xbf\x74\x66\x3e\x45\x3c\x79\x6d\xff\x52\xc1\xe9\x5c\xe8\xaa\xa0\xb1\x72\xfa\xb8\x6e\xe3\xdd\xe1\xf3\x54\x9d\xeb\x14\x77\x68\xa5\x13\xb1\xb0\x7c\x27\xab\x93\x3b\xea\xcf\x58\x5c\x68\x8d\xf6\xe2\x73\x76\x2f\xde\xd3\xac\x49\xf9\xa1\x28\x9d\xc4\x6f\xbf\xe5\x09\x83\x9a\xbb\x9c\x7a\xea\x65\xed\x99\x9c\x4e\xa9\xc8\xf1\xdd\x4e\xa6\x17\x84\xf0\x60\xd7\x73\xb9\xb2\x86\xab\xb0\x8a\x06\xfc\x24\x84\xc8\xc4\x59\x04\x9a\x51\x34\xc7\xe4\x5e\x5e\xfc\x4c\x6a\xde\x22\xa0\xd4\x82\x33\xe3\x1d\x7f\x31\x07\x54\x55\x24\x1a\x20\x63\xa9\x90\xc2\x47\xc4\x55\xfd\xb0\x2f\xb3\x13\x71\x69\x56\x5c\x34\x74\x08\xe3\xad\x32\x0d\x7b\x96\xd6\x46\x1e\x79\xd2\xf7\x59\x74\xe7\x39\x56\xce\x0b\x04\xed\x32\x90\xc0\x16\x1f\x53\x06\x9c\x4f\x7e\x3c\xed\x0f\x79\x26\x64\x0b\xcd\x67\x45\x6c\x9e\x22\xeb\xf4\x63\xd0\x0e\xb4\xc8\x15\x18\x2b\x95\xef\x2e\xb8\x2f\x5b\x51\x5f\x4b\xc1\x93\x54\xc9\xdc\x41\xd8\xee\xce\x68\xfb\x99\x5f\x58\x0c\x5c\x8e\x04\x92\xd9\x2b\x8d\x0e\xda\x73\xc7\x67\x5f\x3e\xd5\x3f\x17\xa4\x34\x58\x09\x54\xea\x5f\x4f\x7f\xe3\x73\x4e\x84\x1c\xb3\xb3\x7a\x2f\x84\x3c\xcb\x16\x32\x50\xcf\xee\xf8\x05\x05\x0c\xb6\xea\xfd\x23\x8d\x80\xc6\x9b\xf9\x6b\x30\xd0\xf2\xc9\x7f\x3c\x0c\x9a\x0a\x29\x58\x01\x09\x2d\x95\x7a\x22\x5d\x55\x94\xcf\x45\x97\x93\xe6\x8b\x31\x63\x3e\x7a\xf6\x4c\x30\x3c\xdf\x83\xa7\x5b\x9d\x62\x42\xe4\x5d\x1f\x87\xf7\x64\x48\x63\xac\x3c\xa5\x23\x04\xff\x86\x46\xf4\x15\x1e\x5b\xb3\x6f\xaa\x76\x5c\x5c\x8a\x9f\x32\x14\xcf\xe8\x7b\x45\x06\xbd\xe3\x5d\x9d\x85\x77\x4c\xa2\x0a\x44\x56\xb0\x9b\x6a\x6f\x19\xb7\xb2\xed\x98\x95\x6d\x8f\x1b\x7e\xdb\x23\x94\x73\x8d\x0d\xac\xf4\x0f\x31\x41\xa7\x6e\x38\x62\xad\x94\x1d\xcb\xee\xb4\x05\x37\xc8\x82\x5b\x5e\x7e\x26\x81\x61\x18\x75\xa8\x33\xd6\x51\x16\xc6\x03\x51\x80\x3d\x28\x23\xbc\x3e\x47\xf2\xdb\x12\x40\x5e\xfb\x5c\x05\xfb\x7d\xef\xd9\xfa\x3a\xe9\x5f\x5c\xf7\xda\x1d\x72\xd4\x3d\xed\xbc\x42\x4b\xf1\xfa\xd7\x78\x1d\x7e\xf9\x22\x87\xfa\xc5\x0b\x6b\x5f\x63\x5e\x9a\xdf\x53\x10\x0a\xbe\xec\x54\x48\xb3\xde\x68\x82\xa9\xa2\x3d\x8e\xc2\x89\x37\x9b\x90\x8b\x3e\x69\xcd\x92\x31\xe4\xb1\x69\xf9\x3e\xc2\xc6\x23\x5e\x78\x74\xc7\xaf\x15\xeb\xeb\xe4\x3a\x56\x48\x3d\x24\x46\x27\x7a\x47\xb8\xa8\x8d\xf8\x69\x19\x20\x9f\x29\x39\xe8\x1f\xae\x21\xe6\x8c\xef\x39\x2c\x90\x6f\xf5\xa8\xe0\xf3\x96\x86\x80\x4e\x2c\x54\xfa\xd3\x6e\xbb\x73\xde\xef\x90\xa1\xc7\xf7\x81\x67\xa5\x19\xd7\x11\x93\xc8\x73\x12\x7e\x1f\xe4\x3a\x6f\x94\xb8\x6c\x5a\x2e\xf1\x5f\xf1\xfa\x79\x7d\x75\xb4\x03\x3e\xee\xca\xcf\x67\x3a\x4b\xd6\x2f\x66\x09\x60\x93\xc0\xab\x21\x75\xe0\x56\x08\x14\x29\x4c\x69\xb8\x1b\x4e\x26\xb3\x80\xf3\xd6\xc8\xed\x93\x4e\x5a\xd4\x96\x15\x7c\xef\x96\x91\xff\x0e\x68\x1c\x8f\xff\x1b\x74\xb3\xff\x76\xa2\x90\xff\x1e\x31\x87\x79\xa0\xaf\x81\xc3\x00\xe5\x7a\xac\xe4\x8d\xe3\xd3\x38\x26\x98\x71\x68\xaa\x11\xc7\xbd\x88\xd0\x68\x74\x27\x5c\x0f\xe4\x5a\x06\x84\x6b\xe9\x0d\x21\x81\xc3\x13\xcc\x64\x12\x31\xaa\x35\x5c\x13\x4c\x14\x28\x0f\x67\x09\x61\x0f\xd3\x30\x16\xba\xee\x04\xab\x11\x16\x24\x5e\x94\x06\xa1\x51\x54\x9a\x86\x2a\x04\x5d\x96\xec\x41\xcf\x49\xc3\xfa\xc5\x88\xed\x03\x54\xc1\x3c\x12\xfa\x5a\x5e\x21\x13\x96\x8c\x43\x4c\xf5\x60\x8f\x5e\x81\x4f\x24\xa1\xe2\x95\xf2\x86\x8a\x55\x43\x24\xc4\x39\x93\x10\x4f\x08\x37\x03\xa8\xf6\x2c\x4e\xbc\x80\x9a\x08\xcd\xdd\x38\xf4\x69\x62\x65\xb0\x50\xea\xbf\xe2\xcc\x34\x0a\xf9\xa5\x08\x2f\xb0\xda\x8f\x73\xc0\x02\x36\xf4\x92\xf8\x15\x6f\x68\x8d\x5c\xca\x52\x94\x4c\x18\xd7\x56\xbd\x18\x33\x4a\x51\xa1\x83\x0b\x74\x5b\x9b\x03\xa9\xf1\x63\x88\xb0\x72\xce\x41\xfc\xd9\xe0\x2e\x04\x78\xd8\x78\x36\x50\x54\x96\x63\x86\xfc\x84\xdc\x22\xc8\xc6\x29\x24\xe7\x14\xfc\x03\x7f\x26\xb2\x06\x93\xe2\xe1\x28\xf9\xd6\x4d\x39\xab\xbc\x84\x30\x1a\x7b\xc8\x4a\xc0\xa3\x15\x56\x39\xce\x63\x35\xbd\x40\x19\xc6\x1d\x28\xca\x60\x26\xf8\x4d\x4a\x08\x0b\x9e\x18\x26\xff\x44\xb7\x5d\xcc\xf5\x7e\x34\x4b\xb8\x92\xae\xd3\x83\xd0\x39\x89\x66\xe0\xbc\xc0\x37\xd6\xfb\x30\xba\x15\xe3\x8c\xc4\xa5\xed\x1e\x0d\xa6\x81\x3f\x07\xfb\xe6\xc0\x67\xd8\x33\x9f\x4e\xea\x43\xd2\x43\x4a\x32\x22\xa8\x12\x5a\xd2\x80\x74\x2f\xdb\x7a\x06\xd2\xa7\x90\x2d\xc2\xbf\xe7\xed\xd8\xdd\x0b\x73\x4b\x96\x52\x60\x6c\xcd\x6a\x2b\x24\xfb\x4a\x48\xe4\x4d\x86\x0f\xba\x7b\x21\x7d\x81\x40\x52\xe5\xac\x93\xee\x45\x0d\xa6\x48\x5d\x4c\xa4\x4b\x77\xf7\x42\x87\xa5\xfd\x7f\x3c\x81\xff\x8f\x27\xf0\x4f\xc6\x13\xe0\x72\xb9\x14\x52\x40\x46\xc0\x65\x60\x05\xec\x25\x61\x79\xdb\xe6\x56\xb2\x44\xfc\x02\x50\xa6\x02\x32\x8c\xe8\x44\xc5\x0e\x4a\x2f\x67\xe3\x68\x0a\xdc\xf0\xbe\x4a\xa6\x21\x3f\x88\x5d\xed\x95\x2e\xb2\x39\xf2\x96\x66\x91\x3a\x6a\xe1\xf5\x75\x46\x7d\x7f\x4e\xee\x59\xc9\xf7\x8d\xc4\x79\x4c\x20\xc0\xaf\xcb\xb0\xb7\x75\xe1\xc8\x07\xf9\xc3\xf1\x6e\x5b\x93\xeb\x07\x2c\xc0\x42\xca\xc1\x64\x23\x36\x24\x99\xf6\x71\x1d\x0d\xa4\x78\x2c\xf0\x01\x14\xc9\xde\x2c\xf2\xa1\xc1\xeb\xde\x29\xaf\xeb\x87\x54\x69\x2a\xaa\x9e\xaa\x74\x01\x5b\x07\x8a\x98\xa0\x88\x5c\x4c\xf1\x01\x47\xf0\x49\x12\x4a\xc8\x79\x98\x10\x6f\x32\xc5\x00\xc3\x82\x97\x05\x6b\x7a\x51\x79\x3d\x82\x66\x8c\xe9\x9d\x45\x7e\xd5\xec\xd1\x4a\x92\x1d\xb0\x7b\x71\xf4\x43\xbd\xb2\x3d\xe3\x55\x92\xa9\x6c\xab\xd2\x70\xb4\x10\x91\x4c\x43\xa6\x9a\x99\x46\x21\x57\xce\x94\x5b\x6c\x5a\x5d\x12\xdc\x10\xc5\x20\xa8\x41\xb1\x13\x72\x71\x02\x1f\x86\x45\xcd\xf2\x53\x82\x6b\x22\x34\xc9\x37\xdc\xda\x22\xcf\x12\xf9\xc5\xa5\xa8\x6f\xb0\xc6\x20\x21\x5f\xe0\x59\x22\x6a\x59\x45\x6d\x1e\x00\xd7\x31\x43\x4f\xda\x6d\xbc\x7b\xa1\x4f\x31\x50\x99\xf8\x79\xec\x25\x52\x93\x12\xde\x49\x57\xca\x62\xf9\xa3\x3c\x5c\x68\x1c\x87\x8e\xa7\x1f\x4a\xf1\x6d\x31\xa3\x93\x79\x90\x3b\x12\xf4\xd6\x24\x24\x53\xbe\xa1\x38\x61\x90\x44\xa1\x9f\xd9\x40\xf9\xc1\x35\x1c\xe2\x11\xab\x95\x0d\xcc\x13\x04\xda\x92\x38\xc0\x84\x8e\x21\xcd\xeb\xb2\x6d\x79\xd4\xc9\xe6\xf5\x9b\xac\x6a\x8b\x6b\x02\x53\x9f\x15\x61\x26\x5b\xd3\xc2\x35\x9b\x7c\x6b\xba\x17\x8a\x44\x70\x99\xea\x29\xd9\xc4\xe7\xa4\x50\x3d\x35\xb5\xe9\x94\xeb\x23\xee\x97\xf4\x1b\x94\xfa\x02\xed\x77\x61\xcd\x36\xd8\x8b\x37\x16\xf5\x91\x68\xd6\xb0\xa3\xa3\x21\x4f\xfc\x2d\x1b\xb1\xcf\xf7\x94\xdc\x78\xe1\x5e\x56\x98\x60\x64\xfc\x1b\xbd\xfa\xf8\x5f\xd6\x8b\x8d\x7c\x4f\xd7\x42\x51\x8a\x75\x00\x9d\x52\x3e\x56\x60\x70\x38\x2d\xb8\x7c\xa6\x08\x4a\x2b\x2b\xb6\x6c\xa3\xf5\x1a\x26\x1b\x9e\xdf\xf8\x26\x1b\x4b\x13\x2d\x0b\x92\x0c\xd8\xaa\x10\x2b\x79\x31\x5a\xf4\x54\x6e\xa8\xfa\x56\x0e\xc6\x70\x48\xa6\xc2\xdd\x94\xf7\xb9\x42\x48\x05\x90\x06\xf6\x9b\x82\xcc\x98\xa9\x2d\x41\x6a\xe4\x45\xf1\x12\xeb\xeb\xe4\xc2\x24\xb5\x06\x31\xad\x41\x1c\xfa\xac\xe6\x87\xa3\x72\xe9\x3a\x40\x35\xde\x54\xef\x5f\x01\x6e\xaf\x68\xa6\x90\x8b\x54\xaf\xc8\x85\x01\x24\x4f\xe5\x9c\xbe\x34\x99\xda\xa2\xee\x0a\x58\x25\xad\x69\x78\x3b\x76\xb3\xd8\xb9\x25\x3e\xac\x35\xf8\xda\x0b\x46\x25\x7c\x3c\x93\x1b\xf1\x6a\x31\x2e\xb7\x6c\x4e\x62\xf6\x6d\x26\x6b\x2c\x9e\x93\x95\xc2\x58\x56\x98\x96\x70\x00\x06\x88\xc8\xb5\x22\x74\x70\x6a\xde\xf4\x2f\xce\x6b\xd8\x9e\x37\x9c\xa7\xa2\x51\x16\x13\x27\x3f\xcf\x79\x07\x84\x57\x92\x2a\x91\xaf\x5e\x72\x1b\x0b\x07\x5f\x0d\xc8\x49\x11\x2f\x17\x0e\xbe\x4a\x93\x4e\x38\xf8\x9a\xda\x87\x8c\xcc\xdc\xfc\x4b\x63\xff\x31\x33\x81\x63\xbb\xbc\x80\xb5\x66\x2d\xd8\x9d\x14\xb9\x29\x12\x0b\x45\x53\x09\x26\x28\x3e\x9e\x74\xe7\xf8\xc3\x22\x89\x9a\x54\xbe\xd4\xfc\xa6\x52\x71\x1b\x0a\xa1\x9b\x8c\x6b\x2b\x15\xc5\x11\xad\x22\x5d\x36\x47\x96\xcc\x5f\x56\xce\x0c\x8e\xbd\x03\x8b\x0b\x85\xe8\xac\x1d\xb5\x82\x06\xf3\x84\xa5\x70\x36\x0a\xb4\x9e\xbc\xe5\x62\xb7\xa5\x9b\x99\x46\x5e\x41\x24\x91\x35\x3c\x30\x02\x5d\x5f\x1d\xed\x2c\x8d\xff\xb2\xf6\x7e\xf1\x74\x27\xdf\xb0\xa2\xf0\x9e\x94\x5a\x98\x94\x4e\x75\x2e\x1d\xeb\x85\xc2\xa2\x0f\x20\xc3\xf7\xc2\x68\x54\xe6\x2d\x2c\xe7\x6d\x83\x8f\xe6\x9c\xb0\xc7\x08\xa3\x5c\xe4\x67\x92\x6c\xfd\x45\xac\xf4\x83\x7f\x47\x66\x82\xeb\x4b\xf4\x6b\x50\x2a\xe6\x6a\x63\x9b\xbc\xa1\x77\xb4\xef\x44\xde\x34\x79\xba\x38\x3e\x9a\x6b\x38\xba\xfd\x95\x84\xb4\xb1\x5d\xc4\x58\x18\xbf\x92\xe5\xb2\x6d\xbe\xcd\x0f\x1e\xbc\x84\x8e\x57\x1f\xbc\x25\x51\x2a\xa7\xe6\x5f\xc6\x12\x3f\x58\x85\x29\x20\x6e\xab\xb0\x05\xe5\x72\x21\x63\x96\x1a\xfa\x1f\x92\x2f\x46\xd2\xfc\xff\x5d\xc6\x7e\x4c\xac\x6f\x1a\xfa\xdb\x61\x10\x27\xd1\x0c\x9e\xf0\xf9\x6d\xd4\x0a\x32\x17\xab\xcf\x54\x94\x62\xf5\x21\x99\x00\x7c\x2b\x60\x20\xa1\xed\x87\x3d\x24\x44\xb3\x8e\xc4\x33\x67\x4c\x28\xc4\x7e\x0a\x9c\xb9\x75\x00\x55\x56\xc8\x74\x98\xe7\xbf\x4a\x06\xa1\xef\x56\xc9\x90\x7a\x41\x52\x25\x5e\x42\x7d\xcf\xa9\xe2\x03\x7e\x95\xcc\x02\x97\x45\x98\xd6\x15\x2c\xb2\x49\xe4\xdd\x32\x61\xee\x54\x64\x59\x34\xcb\x3b\x60\x9c\xbe\xa0\x39\x72\xa8\x84\x82\xc3\xa8\xf0\xd4\x62\x91\xb6\x21\x08\x4b\xaf\xa9\xaf\xeb\x01\x41\xd4\x0d\x5f\x2e\x2c\x4e\xe0\x59\x40\x26\xf0\xb5\x1b\x1b\xa2\x5b\x16\xbf\xea\xd1\xc4\x1b\x78\xbe\x97\xcc\xb3\x50\xe4\x86\x88\xc9\xb5\xe5\xe8\xa9\x30\xd7\xda\xeb\xab\xb3\xd3\x43\xe1\x8b\xf3\xbb\xf6\xca\xb9\x82\xd7\x49\x68\x4b\x7d\x96\x84\x04\x62\x7b\x20\xf8\x9d\x5f\xba\x95\xe5\x9a\xc0\x85\xd1\x22\x34\x75\x07\x35\xb1\x05\xcc\x85\x26\x1b\x37\x96\x9a\xf2\x81\x26\xfb\xaa\xef\x3d\x65\x00\x8e\x19\x57\xef\x3c\x3a\xf0\x53\x01\xc2\x42\xe8\xc5\xb5\x1b\x71\x0e\x69\x4c\x98\x97\x8c\x59\xf4\x4a\x60\xc6\xf4\xda\x5f\x0e\x3b\x47\xad\xeb\xd3\x2b\x42\xca\xe0\xd0\x1b\x06\x20\x58\xc2\x87\xa7\xa2\xcb\xf5\x8e\x0f\xf0\xe9\xaf\xac\x4c\x61\x7c\x51\x94\xa2\xd1\xa0\x4c\xa2\x2a\x19\x55\xc9\xa0\x52\x82\x04\xc2\xa2\x16\xda\x2f\xc5\xc3\x7d\x39\x13\x5c\xee\x01\x98\x01\x1c\x41\x48\xdd\x94\xfa\x2c\xc1\xd7\xa3\x59\x0c\xae\x2c\x30\x7e\x2d\xd0\x36\xf2\x95\x41\xbc\x7e\x7c\x54\xd2\xbe\xa0\xac\xc9\x3b\x33\xba\x9a\x3a\x63\xbc\xea\x82\xcf\x92\x32\x10\x02\x6d\x09\x67\x30\x06\x06\xa7\xe9\x79\xa6\x82\x95\x33\xbd\x9b\xf3\xe1\xd0\x20\x0c\xc0\x8b\x40\xbb\x44\xa5\xc6\x27\xa9\x15\x94\x7e\x69\x5f\x9c\x5e\xf4\x72\xc6\x56\x50\xee\x99\xf6\x1d\xe7\x73\x77\x64\xb6\x0b\xd3\xd4\xdc\xda\xaa\x12\xf9\xbf\x8a\x86\x32\x14\x15\x0e\xcc\x0e\xa0\x42\xbd\x4a\x20\x05\xb8\xa1\x0f\xf0\xdd\xc3\xf4\x44\xc7\x21\x50\x38\x6f\x53\x9f\xe2\xde\x92\xf9\x78\x20\xd3\xf3\x59\x9f\xaa\x9d\x27\xf3\x8d\xb5\x09\x65\x3b\x11\x6f\x0b\x39\x9f\x6b\x3f\x07\xeb\x9b\x7b\x47\xe0\x72\xd9\x1f\x27\x9e\xcf\x0e\xd1\xcd\x57\xe0\x2a\x29\xb8\x08\x3f\x8c\x2e\x85\x6c\x6a\x40\x3f\xe9\x4d\xc5\x92\xb6\x51\x20\xe5\x2a\xd5\x1d\x62\x2f\x55\x72\x2f\x53\x28\x23\x1a\x13\xe7\xa2\xda\x94\x72\xed\x67\x43\x38\x22\x54\x84\x3b\xd8\xe3\x29\x56\xe4\x23\x06\x3c\x0e\xf0\x3c\x8d\x09\x55\x79\xb5\x13\xf5\x5e\x91\x8c\x29\xca\x9d\xf0\xd9\xbf\x47\x78\x4b\x51\xb5\x78\x33\x32\x94\x01\x84\xb7\x3b\xc0\x09\x17\x41\xda\x7a\x5c\xfc\x83\x2a\x6c\x80\x03\x3c\xab\xf1\xb4\x23\x65\x6f\x48\xe8\x1d\xf5\x7c\x5e\xb9\x02\xc3\x00\xa2\xcd\xbc\xeb\x30\xd0\x98\x25\x32\xd2\x92\x6f\x05\x53\x16\xb8\x2c\x50\xe9\xad\x8d\xce\x45\xc1\x47\xd2\xdc\x8a\x0f\x22\x99\x7e\xc3\xa2\xbd\x45\x70\x17\x62\x3e\x9e\x51\x34\x48\x94\x4b\xe3\xf3\xfb\x31\x4d\x98\x7c\x83\x92\x8e\x8c\xb8\x05\x00\x9d\xe2\x8d\x18\x77\xc9\xe7\x2b\x91\x64\xad\x52\x61\x4b\x14\x0f\xd0\x25\x53\x37\x68\x69\x72\x84\x76\x27\x8f\x52\xdc\x70\xe7\x38\xdf\x4a\x99\x11\x34\xa5\x76\xec\x95\x48\x32\xf7\xfd\x7d\x52\x12\x55\xf9\x2a\x7f\x24\x31\xf6\x41\x43\x35\x55\x94\x40\xce\x55\xf0\x98\x36\x0f\x08\xf5\x8e\x12\xad\x4c\x28\x3f\x78\x70\x3f\x2a\x69\x66\x5d\x59\x2e\xb3\x02\x0c\x01\x22\xa0\xa4\x35\xe0\x1e\xc5\x9f\x1f\xc2\x41\xe8\x32\xdb\x95\x26\xcf\x7a\xfd\x78\x0d\x60\xa5\x21\xc4\x2c\x91\xad\x3d\xe9\xa0\xcf\xb3\xec\xbb\x8c\x4d\x31\x4a\x40\xaa\xb8\xda\x0c\x0b\x43\x11\xe6\xdc\x7f\xe4\xd1\xf6\x3b\x69\x2d\x6c\x60\xe9\x88\x1c\x3f\x0c\x72\xf0\x6f\x14\x06\x92\x69\x2c\x37\x9b\x28\x03\x0e\x0f\x6c\xac\x2a\xfd\xf0\x2d\x9b\xcb\x55\x25\x2d\x51\xd1\xdd\xa7\x5b\x36\xff\x2c\x0e\x39\xf8\x5d\xd9\x93\xa2\xbb\xf4\x76\x9c\xd9\xa2\x6b\x4e\x18\x38\x54\x04\x2f\x08\x3e\x44\x77\x69\xb3\xb6\xce\x85\x2a\x30\x8e\x60\xe3\xc9\xaa\x89\xb0\x53\xa9\x34\xbb\xc2\x67\x0d\x5d\xd5\xb0\x37\x02\x37\x8d\x9c\x73\x40\xbc\x36\x81\x4b\xf6\x8f\xa4\x9b\xe0\xab\x9e\xc4\x00\x33\x5a\xe2\x07\x0f\x98\x41\xab\xf8\x58\xcd\x3b\xe2\xfb\x11\x57\x30\x57\x9a\x0f\xe8\xbc\xc0\xb8\xfe\xa7\x2b\x4f\x7f\xb6\xd2\xf2\xbf\x56\xad\xc8\x97\xb7\xb4\xa2\x6b\x1e\x33\xe0\x55\xb9\xfa\x8c\xb7\xed\x85\x90\x37\xfb\xa9\xb5\xa2\xef\xa4\xc5\x2b\x06\x79\x33\x0f\x1c\x68\x3e\x4e\xe9\x33\x57\xfc\x32\xe6\x0d\x0b\xee\x56\xc4\x65\xb1\x13\x79\xfc\x12\x18\x08\x84\x37\xf3\xd4\x57\xbb\x92\xf2\x76\x05\x3f\xd7\xa7\x34\xb7\x94\x43\x5e\x2c\xfc\x1c\xb2\x9c\x11\x54\x94\x0b\xd6\x47\x56\xe8\xcd\xc8\xf2\xc2\xa5\xb2\xac\xda\x0f\x5a\xcc\x73\x3e\x47\x49\xcf\xf9\x42\x08\x7b\x5e\x53\x20\xef\x39\x5f\x68\x91\xcf\xf9\xd2\x96\xfa\xbc\x0e\x85\xe0\xe7\x7f\x95\x4e\x37\xaa\xbf\x14\xe2\x9f\x65\x95\xd6\xab\x05\x10\x5b\xfe\x91\x66\xdf\xea\xcb\x14\x61\x00\xc1\xf5\x48\x61\x07\x56\x44\x8c\xa9\x48\x08\x08\xfe\x64\x89\x33\x96\xde\x85\xab\x6d\xe6\xe2\x39\x19\x9e\x9c\x1c\xd9\xfb\xd4\x87\x6b\x9a\x06\x29\x1c\x6a\xd4\x42\xae\x90\x0b\xf9\xab\x8a\x20\x30\x1a\x80\x43\x0f\xd2\x98\x2a\x8b\x25\x6b\x84\x1c\xa2\x0f\xb7\x4f\x9d\x5b\x4e\xce\x24\x0c\xc2\x78\x4a\x1d\x46\xee\x3d\x97\xe9\xa0\x1a\xde\x1e\xea\xf9\x61\x40\x1c\x16\xc1\x85\x11\x21\xf6\x62\x52\x66\xb5\x51\x0d\x0d\x5f\x8c\x5c\xf4\x2b\x70\x8f\x00\xc7\x12\x91\xc8\x8e\x51\x67\x9c\xd3\x20\x82\x2c\x02\x07\x87\xa4\xdd\xef\x0b\xaf\xc6\x52\xed\xde\x59\xe3\x03\x2c\x09\x65\x69\x4c\xf9\xe9\x36\x83\x2c\x6e\x08\x16\xa3\x5f\x3b\x3a\xbc\xe9\xbb\xe4\x0b\x9f\x40\x7c\xd0\xf4\xd0\x2d\x1e\x0e\x32\x75\x9d\x97\x76\x34\xe8\x4d\xce\x0f\x64\x5a\x83\x39\x91\x54\x55\xf1\x3b\x45\x0b\xe3\xd4\xf0\x16\x45\x5c\x30\xfc\xfe\xe5\xa7\x91\x3f\x9f\x8e\x85\xe5\xe0\xe7\x52\x91\x21\x14\x5c\x7c\x0c\x2c\x6b\xe5\xb2\x02\x93\xe0\x88\x4f\xa5\xbb\x07\xd7\x47\x94\x68\xd5\xac\x9d\x88\xcf\x22\x97\xdb\xdf\x49\xcb\x9c\xd2\x30\xd2\xb2\x20\x67\xd4\x12\x37\x33\x45\x33\xff\xb1\x65\x6d\xb9\x06\x05\x72\xd7\x56\xe2\x6e\xec\x51\xa9\xa1\xa5\x4c\xfc\x6a\x5b\x2b\x57\x2c\x24\x60\x5b\x7f\x14\xed\xf3\xee\xf9\xe0\x32\x6d\x6a\xb0\x6c\x3e\xd8\x65\x40\xe2\xbc\x50\x49\x21\xa3\xca\x5c\x9c\xfc\x53\x23\xff\xa6\xa2\xd0\x50\x0c\x7e\xc8\x3b\xf1\x05\x34\x7a\x36\xf9\x86\xae\x68\x37\x68\x68\x10\x4b\x1b\x2c\x48\xc3\xa1\x3f\xb6\x9b\x36\xee\x98\x12\x70\x80\x6f\xd0\x66\x8b\x7c\x65\xbe\x93\x69\x1c\x4b\xfc\xdb\x54\xc2\x73\xd8\xb9\x45\x0d\xce\x12\xa9\xb3\x28\x50\x33\x3d\x77\xb0\x95\xa7\x1b\x57\xb9\x2b\xf1\xeb\x54\xeb\x03\x9d\x19\x7d\x49\x15\x89\x8a\x79\xa8\x5d\xcc\x24\x76\x92\x6a\x4d\x9d\x0c\x2a\x44\xc9\xae\xf0\x62\x9f\x94\xb4\x09\x58\x04\xf7\xc0\xa8\x4c\x35\x4a\xc2\x6f\xfc\x6e\x01\x39\x9a\xe7\xca\xa2\xe6\x79\x23\x6b\xa2\x9c\xd9\x43\x5a\x1d\xcb\xf4\x62\xb5\xa5\xb0\xc3\x11\xe4\x23\x3d\x6e\xfb\x83\x6c\xf4\x17\x1e\x56\xaa\x11\xde\x3f\x6c\x4a\x88\x67\x4b\x4a\x72\x97\x34\xe8\x53\xea\x9d\x26\xcc\xce\xfd\x28\x4e\x39\x09\x37\xaa\xc3\x47\x31\x12\x13\x2e\xa5\x00\xa2\x20\x5a\x4a\xc2\x10\xc2\x87\xef\x19\xa1\xae\x72\x33\xd4\x64\x8c\x59\x24\x90\x05\x53\xf4\x01\x1b\x61\x2f\x86\x2d\x53\x61\x89\x4a\x12\x0c\xa2\xf9\x47\x45\x64\xa7\x37\x05\xa3\x96\x95\x25\x20\x55\xce\xf4\x16\xe2\xa5\x33\xea\xa1\x84\x9c\x90\x9e\xec\xae\xbc\x9e\x8b\x87\xa1\x6a\x76\x8b\xad\xc0\x39\x04\xb6\x04\x3a\xc1\x00\x20\x10\x71\xf8\xd0\x8b\x49\xca\x5c\x9e\xef\x76\x16\xb8\x10\x14\x21\x91\xe9\x79\xdb\xf2\x19\x20\x66\xa6\x56\xa9\xa6\xc2\x0b\x62\x16\xf1\xf3\x4b\x46\x93\xe3\xc9\x29\x9f\xe8\x68\x34\x62\x89\xb2\x1f\xc8\xce\x8e\xc4\xa1\x22\x93\x54\xab\x0b\x34\xea\x15\x55\x9d\xde\x02\x6d\x33\xb1\xe7\xb2\x88\xb9\xa6\x1a\x53\xe0\x79\xa0\xcf\xa2\x70\xf0\x15\xcc\x0d\xda\xb1\x3b\x61\xe8\x6c\xbc\x44\x87\x56\x2c\xd7\x9a\x94\xc9\x59\xc5\x56\xed\x19\xcc\x8f\xf3\x7c\xce\x2e\x3d\xc4\xe0\x30\x64\x71\xfe\x29\x26\x1d\x4b\x60\x81\xcc\xa7\x2c\x1c\xa2\xa7\xc8\x3e\x29\xe1\x70\x01\xc7\x29\x1c\x7c\x05\x60\xe5\x2b\x01\x00\xb3\x91\x3d\xd4\x8c\x13\x6f\x2f\x9d\x0f\x9a\x57\xd7\x47\x90\x0c\xed\x35\x30\x3b\x41\x45\x9a\xa8\xf4\xb0\x1a\x25\x1b\xf4\x23\xb1\x10\x51\xc7\x84\xf7\x3c\x7c\xec\x10\xc1\x0e\x4e\x38\x99\x80\x7f\x89\x27\x9e\x77\xf4\x81\x5d\x33\xae\x11\x3f\x98\x5b\x8a\x1c\x94\xdc\x60\x6c\x45\x39\x7f\xab\x90\x75\xe4\x62\xad\xe4\x28\xd1\xe6\x75\x7b\xdf\x3a\x3d\x17\xdd\x4d\x74\xd9\xf4\xc1\x68\xd5\x5a\x7c\x18\xf2\x46\x7e\xf8\x21\x73\x1a\xe6\xb4\x80\x37\x92\xdf\x7e\x33\xaf\xe9\x99\xea\x78\x78\xd9\x7c\x49\xdf\x5b\xa0\x0a\x67\x49\xd1\x55\x26\xef\x2e\xa3\x2a\xd9\x47\x91\xed\x4d\xb5\xc0\x46\x27\xdd\xe2\x2d\xf8\x17\xc9\xf5\xaa\xf1\xb6\x63\x5a\xec\x72\x5e\x5a\x4c\x3d\x66\xc1\xfb\x4a\x4a\x27\x59\x7c\xed\xc6\x5c\xf9\xe6\xdb\x6e\xea\xbd\xc9\x7c\xc7\x42\xf8\x54\x7e\x99\x10\xf7\x21\xd8\x1a\x99\xc2\x25\x16\x70\xb3\xd2\xd8\x90\xa7\x5f\x4b\xf7\x04\x63\x60\x57\xb6\xd7\x82\xfa\x1c\xa5\x90\xab\xda\xb3\xd8\xdc\x5a\xe4\x3d\x12\x76\x3d\x4d\x68\x8e\x1f\x95\xee\xce\x60\x90\xd5\x5d\xfa\x0d\x7b\x59\x77\x9a\x3c\x31\xc0\xe5\x46\x5a\xc5\xf9\xac\xbd\x40\xe1\x8f\x8c\x58\x82\x4f\x0a\x00\xc3\x5e\xf6\x4c\x68\x41\x8f\xfc\x44\x76\xd2\xb0\x92\xda\xe2\xe3\x19\xa1\x5e\x7e\x78\x0f\xfb\xb2\x3f\x94\x6f\x1d\xad\xf3\x7e\x97\x34\xb6\xab\xa0\x08\xec\x48\x4c\x2e\xe9\x92\x4b\x5e\x90\x1d\x0b\x1b\x0f\x1b\x57\xb6\x42\xd5\x70\x63\xdb\xb6\x2f\x55\xe5\x8b\x13\x58\x1d\x22\xf6\x6d\xc6\x8f\x67\x11\xb8\x27\x5b\x12\xbb\x38\xbe\x4a\xb1\x31\xbd\xf3\xc2\x88\xd3\x35\x0a\xc2\x09\x5b\x33\x9c\x74\x0c\x8a\x2c\x04\x87\x22\x0b\x63\xfa\x73\x79\x81\x28\xb2\x32\xa6\x3f\x97\xe5\xf3\xd6\x58\xbe\x21\xd1\x28\x7d\xb0\xc2\x5b\xa9\x56\xcc\x51\x76\xe4\xec\x15\x0d\x28\x8f\x40\x52\x38\x9c\xbc\xe1\xdb\xe8\xd0\x5e\x30\x66\x91\x27\xed\x82\xe2\x64\x29\xc5\xf2\xa9\x3e\x98\x4f\x42\xa9\x01\x16\xf2\x20\x33\xdc\x3d\xb3\x7c\x96\x0b\x99\x86\xb2\x9a\x6c\xce\x0b\x9a\x7d\x1e\x68\xa1\xcf\x70\xea\x87\xc5\x56\xb0\x85\xe5\x7b\xc7\x07\x7a\xfd\xe4\xcc\x41\x6a\xf5\xa5\x4b\xe4\xa1\x81\xda\x56\xab\x05\xf3\x9b\x3f\xb5\x8f\xe3\xba\x4c\x6f\xd2\x67\xb8\x01\xad\xa7\x77\xad\x98\xcc\x02\x9f\xc5\x31\xa1\x7e\xc4\xa8\x3b\x27\x96\x1f\x45\x34\x1a\x94\xd5\x23\xd9\x30\x8c\x26\xb5\x67\x2b\x30\xd9\x60\x5a\xd6\x2c\x5f\xce\xd6\xcd\x31\x53\x56\xc8\x2f\x45\x08\x0c\x59\x06\xbc\xca\xda\x95\x3f\xa5\x3b\xf9\x5c\xc9\x0a\x95\xb4\x6f\xa6\x2d\x89\x92\x78\x01\x5b\x14\x46\x57\xe1\x19\xbd\x65\x47\xe2\x12\x5d\xce\xd8\x14\xf6\x73\x4d\x00\xc5\x43\xd0\x6a\x51\xe1\x60\x74\xeb\x66\xf6\x58\x8b\x93\x86\xe1\x7c\xe2\x3d\x94\xd3\x94\x56\x53\xde\x12\x55\x52\xaf\x6d\x6c\x6c\x6c\xd8\x8c\xc8\xec\x14\x8b\x26\xd2\x7a\x37\x29\x67\xeb\x3e\x69\x22\x8d\xfd\x20\x6f\x22\xd3\x9d\xe4\x61\x6a\x24\x80\x55\x25\x6c\xa8\xf2\x49\x38\x31\x5e\x05\x52\xb7\xbe\x58\x5e\xfb\x62\xbc\xf7\xc5\xc2\x82\xaa\xcd\x6b\x15\x1d\x6a\xa8\xef\x28\xff\xe4\xdb\x56\x83\xb4\x82\xdc\xdb\xd6\x82\x3a\x4d\xd2\x0a\x50\x95\x7a\xf4\x35\x4d\x3b\x85\x15\x8d\xbd\x40\x61\xd1\x15\xcf\xc0\x12\x69\xdf\xb8\x1a\x55\xa0\x2b\xef\xe2\xd5\x30\x6f\x5e\xd6\x25\x6b\x71\x3f\x5d\x75\xfb\x82\x96\x75\x86\xd0\xc1\xd7\x86\xbe\xb9\xfd\x00\x57\xb1\xa6\xfa\xc0\xea\x40\x3c\x87\xe5\x56\xcc\x5e\xf9\xa4\xd5\x4c\x5d\xf3\x1a\x78\xcf\x6b\xc8\x8b\x9e\xf1\x55\x93\x88\x7e\xf5\x1d\x50\x5e\xca\xb0\xaa\x34\x30\x8a\x5b\x50\x33\xef\xca\x24\x4a\x66\x2c\x87\xaa\xce\xc2\xab\x93\xa8\x6d\x5a\x09\x55\xc5\xa2\xcb\x92\x51\x47\x58\xf2\xac\x2a\x39\x17\x24\x51\x23\x6d\xe6\x52\xd5\x52\xb6\xb1\xbd\xe2\x15\x6b\x2c\x56\x19\xd2\x6d\x3f\xbc\x28\xb3\x7e\x9c\xff\x86\xf7\xaf\x5e\x90\x0b\xd7\x95\xa8\x60\x3c\xd8\xac\xb2\x96\xba\x79\x4f\x85\xca\x80\x21\x05\x33\xdf\x86\x91\x6b\xc4\x58\xcc\xff\x91\x7e\x0a\x56\xef\x2d\xe8\x3c\x03\x26\xc7\x98\x18\xc6\xb6\x3c\xd7\x14\x61\x97\xff\x1d\x1f\xaa\xf8\x3d\x09\xde\x2d\x18\x7e\x6c\xf6\xa0\x9a\x36\x5a\x94\xf7\x25\x7e\x69\xb0\x39\xaa\xa2\x59\xae\x72\x88\x43\x47\xb2\x3c\xf2\x0a\xb8\xab\xd2\x65\x99\x4c\x0d\x94\xd1\x55\x25\x1b\xb3\x2d\xb1\xa9\x8c\x56\x32\x5f\x15\x94\xb4\x1f\x30\x52\x58\x55\x32\x78\x38\x55\x50\xc0\xce\x88\x63\x6c\xf9\x9c\x60\x0e\xad\xc2\xd9\x20\xc2\xf5\x9e\x46\x09\x7a\xaf\xe2\x5b\xa0\x2b\xeb\x21\xbb\x28\x62\x50\x4c\x67\x88\x7d\x9a\x79\x58\x7b\xfa\x84\x6a\xf2\x16\xce\xa8\x68\x5b\x4d\x28\x12\xac\x48\xc7\x1c\x90\x90\xec\x2c\x87\xba\x6c\x75\x1c\xd5\x95\x12\xa8\x24\x24\x0e\x46\xb0\xe6\xd7\xcf\x15\x28\xf6\x90\x80\xed\xcd\x35\x07\xf1\x14\xa1\xea\x63\xf5\x94\x54\x89\x84\x67\x55\x62\xa4\x30\x59\x4d\xc6\xa0\xb9\x8c\x84\xa5\xda\x5b\x59\xde\x44\x73\xd9\xca\xab\x4b\x1f\xa0\xbd\xa0\x09\x67\x91\x18\xa2\x95\x5c\x49\x22\x2f\xcc\x20\x4c\x81\xff\xf1\xbf\x4d\x04\x99\xb0\x08\x89\x28\xdc\x45\x55\x57\x92\x3e\x23\x0d\xea\x13\x05\x30\x15\xac\x6b\xc9\xa0\xca\x6d\xfb\x08\x09\xf4\x82\x51\xb1\x10\x32\x71\x35\x79\x84\x08\xf2\xf6\xd2\xb5\x17\xc9\x60\x3c\xf5\xbd\xc4\x38\xbc\x03\x8c\xe0\x48\xbc\xd1\x2c\x9c\xc5\x24\x9a\x05\x70\xd4\xe3\xc3\xfe\x1a\xf0\xdb\x7a\xde\x47\x48\x24\x59\x0c\x5d\x0a\xd6\x14\xa4\xad\x28\xb3\x20\xae\x29\x15\xd4\x04\xe4\xd8\x13\xda\x8a\x22\x3a\x87\x77\x7a\xca\x7f\x23\x78\x1a\xc3\x15\x03\x03\x76\x84\xaf\xbd\x1a\x3f\x12\x9c\x44\x55\x44\xfc\x91\x42\x0a\x1e\x13\x5a\x0c\x3c\x19\x12\x01\xde\xab\x0b\x07\x6c\x8c\x44\x36\x06\x6f\x07\xf9\xa3\xad\x11\x50\x96\xa4\x12\x63\x90\x18\xa7\xea\xc8\xc6\x0c\x5f\x09\x2f\x89\xe5\xf3\x84\x4e\xec\x05\x2e\xd3\xa0\x0e\x45\xb3\x45\xb7\x04\x60\xde\x3b\xcf\x65\xbc\xc1\xdc\xc0\xf2\x94\xc3\xe6\xa7\xcf\xda\x38\x07\x3e\x6f\xf5\x2a\x31\x01\xdb\x4c\x87\x4d\x0f\x3e\x22\x1e\xf9\x89\xf3\x56\x1e\xb0\xd6\x3d\x1e\x53\x8b\xd7\x9c\xd0\x65\x97\xa1\x17\x24\xad\xa4\xec\x89\xab\x35\xb4\x10\x38\x11\x13\xee\xb0\x65\x07\xc0\x76\x1f\x86\xc3\xe1\xb0\x42\x7e\x21\x0d\xf2\x8a\x34\xf7\x94\x81\xc9\x21\x3f\x91\x46\x73\x87\x6b\x59\x62\xb5\xf0\x21\xa1\x52\x80\x4f\x0b\x0d\x6d\x33\x12\x14\xbf\xd8\xd7\x3d\xe4\xa6\xc2\xe1\x0d\x63\x59\x33\x27\x43\x74\x07\x18\x10\x65\x2e\x94\xaf\x80\x7e\xb1\x97\x73\x96\x48\x76\x54\x7e\x4f\xa5\x37\x58\x50\xcf\xab\x6a\x3a\x2a\x55\x31\x9b\xaf\x60\xee\x74\x2b\x82\xdf\x1e\x79\x91\x26\x9a\x58\x33\xa0\x7b\xf4\x32\x03\x54\x06\x06\x41\xe3\xb3\xc7\x0d\x27\xe5\x25\xbb\x2c\x62\xef\x2e\xf9\xdf\x19\xa4\x57\x25\xf0\xd7\x50\xfe\x72\x7d\x75\xb4\xc3\xef\x54\x2e\x8b\x4a\x26\x44\x69\x09\x97\xdc\xcd\x55\xad\x2d\x97\xeb\x19\x9d\x2e\x8a\xf1\xc3\x54\x4a\x84\xc5\x0e\x9d\x32\x05\x41\x40\x54\x38\x2d\xfa\x24\x49\xa7\x76\xe3\x63\xc2\x17\x3e\xbc\xfb\x84\x16\x4e\x83\xd8\x52\x1c\x3a\x05\x80\x20\x80\xa7\x88\x86\x21\xff\x76\xa4\x52\x28\xfe\x88\xe0\x9b\xd8\x84\x17\x06\x71\x95\x4c\xa9\x87\xd1\x57\x7a\x1f\xab\x12\x96\x38\xa9\x77\x74\xdd\xbf\xf8\x33\x70\xd1\xcc\x33\x60\x2a\xcc\xce\x17\xe0\x83\x0f\x9c\xa8\x2a\x49\xc6\xf0\x04\xe7\x81\x26\x80\x8f\x0e\x31\x40\x61\xeb\xbc\x52\x11\x23\x2c\x0e\x13\x16\x79\x4e\x9a\x15\xea\x5c\xe8\xf3\x1a\xea\x53\xd0\x62\x26\x34\xba\x65\x2e\x79\xfe\x4e\xc0\xa9\xea\xe0\xc1\xe7\x1a\x88\x5a\x86\x22\x48\x1c\x2f\x0c\x08\x54\x77\xcf\x88\xf9\xec\x4e\xa6\x7e\xe3\x04\x23\x8e\xb6\x67\x83\x35\xdd\xb1\x08\x9c\x02\x6c\x80\xa3\x67\x12\xd7\xd5\x26\xe7\x3c\x4c\xe4\xf3\x9a\x3f\x37\xeb\x14\x51\x85\xaf\x3e\x88\x5b\xe1\x85\x91\xc7\xf7\x73\xf0\xf0\x83\x52\x13\x3a\x17\xa1\x93\xc3\x19\xa0\x6f\xa9\x16\x09\x44\x7c\x4c\x18\xc2\x51\x29\x46\x31\x06\x5e\x78\xaf\xf0\xe8\xf8\x74\x73\xd5\xa8\xd7\x3f\x13\xf8\x87\x2f\xaa\x88\x1c\xcf\x3c\x57\x1d\x79\xf8\x33\x4e\x92\xe9\xab\xf5\xf5\xbb\xa4\x51\xaf\xd7\x02\x96\xac\xbb\xa1\x13\xe3\x9f\x6b\xb3\xd1\xba\x33\xa6\xd3\x84\x45\x1b\xb5\x71\x32\xf1\x55\xbb\x5b\x0d\x68\x77\xab\x51\x27\x37\x80\xde\xa6\xd0\xf0\x2e\x05\x78\x3d\x8b\x48\x37\xe0\xd2\x07\x62\xb6\x5a\x97\x5b\x8d\xfa\x5a\x34\x59\x17\x8e\x7a\xe2\x34\xfd\xf4\xfe\xaa\xd3\x3b\xfb\x4c\xde\xc3\x14\xb5\x05\xae\x4f\x5f\x8a\x43\x6e\xcb\xca\x90\xbc\xe6\xc5\x3e\x0d\x5c\xe8\x04\x84\x72\xdd\x49\xfc\x98\x7d\x8b\xe5\xbf\xe6\xb0\xda\x57\xbd\xd3\xcf\x84\xbc\xf3\x6e\xbd\x29\x73\x3d\xfa\x8a\xb4\xeb\x20\x13\xed\x86\xea\xb7\x1d\xba\x05\x7d\xb2\xa0\x76\x2f\x6b\xd6\xc2\x68\xb4\xce\xff\x5a\x6f\xd7\xbf\xd0\xc0\xfd\xd2\x6e\x7c\x11\x88\x44\x5f\x1c\xdd\xc2\xa7\x76\xbf\xfb\x99\x58\x3d\xc2\x9b\x5f\x07\x17\x02\xef\xeb\x31\x5d\x89\x0e\x24\x6b\xbe\x74\xf9\xdf\xee\xcc\x41\x01\x23\x64\x42\x03\xb2\x25\xf6\x8b\x61\x58\x85\xbf\xf9\x6f\xce\x64\x5a\x95\xbf\x90\xb5\x53\x5c\xbd\x6b\x01\xbb\x5f\x8c\x5b\xa8\x77\x1e\x35\xf9\x32\xf4\x55\xc6\xd9\xa6\x36\x33\xa9\x98\xdc\x5c\x15\xa3\x1b\xc2\x6e\x49\x64\x28\x8f\x40\xc3\x4b\xef\x71\xb9\xb0\x53\x77\x5e\x94\xcc\xc0\xd9\xd3\x78\x9c\xfc\x71\x3d\x8d\x58\x90\x06\x4c\x54\xc5\x75\x26\x19\x28\xaf\xc1\x38\x30\x05\xae\x91\xc6\x42\xbd\xe0\x9b\x49\x4f\x45\xb5\xdc\x84\xa7\xd2\x11\xe5\x92\x46\x70\xe6\xd0\x84\x11\x48\x1f\x05\xb8\x86\xfa\x09\x98\xc6\x09\xa6\x03\xb5\xe1\x0d\x31\x2d\x2c\xc3\xaf\xb8\x8e\xce\x24\xc8\xbc\xc0\xec\x9a\xd2\x38\x96\x19\x55\xe6\xe1\x2c\xc2\x92\x24\x0a\x67\x09\x04\x6d\x47\x14\x54\x59\x08\xfe\x8b\x18\x20\x01\x62\x0b\x40\xb2\x6e\xf6\x8b\xf2\x79\xd2\xf8\x90\xc6\x97\x66\x0c\xcf\xcd\x55\xed\x52\x7d\x55\xd6\x45\xaf\x83\xdb\x20\xbc\x0f\xbe\x28\x5c\xfd\x56\x30\x27\xcf\x7d\xec\x94\x4c\x42\x17\xa2\xbc\xe2\xe7\xea\x0c\x4c\xed\xfa\x55\x15\xb1\x5e\xfa\x85\x1f\xba\xa4\x84\x11\xdf\x63\x31\x66\xb4\xad\xab\x76\x88\x04\x38\x12\xd1\x42\x48\x44\xbb\xdf\xfd\xa2\x46\x20\xfa\x3e\x13\x55\xbe\x08\x07\x48\x83\xba\x24\xa2\x9e\x6f\x93\x57\x23\xa4\x4f\x27\xcc\x4c\x72\xc0\xb8\xdc\x11\x4a\xd2\x63\xa9\x62\x4b\xec\xc1\x61\xd3\x44\xfa\x95\x45\x4c\xe8\x1e\x98\x2a\x0e\xae\x94\xb3\x09\x1c\x73\x34\x1a\x81\x47\xad\x0e\xf5\x95\xfd\xe7\x93\xf8\x6e\xcc\xf0\x3d\x21\x82\x93\x0e\x41\xce\xa6\x32\x4c\x48\xb0\x0f\x76\x15\xe0\xa9\x8c\x9f\xcc\x00\xd5\x60\x5f\x00\xcc\x8b\x59\x96\x40\x61\x46\x68\x3c\x33\x8d\x94\x06\x11\x4d\x21\x4a\x62\x9a\x55\x7e\x40\x8a\xeb\x18\xe0\x4b\xaa\x79\xc4\x5c\x29\x34\x20\x17\xfd\xb6\x09\xa9\x24\x96\x53\xec\x5c\x79\x13\x76\xea\x4d\x3c\x88\x64\x6b\xd6\xeb\xf5\xba\xec\xac\x6d\x80\x02\x44\x6c\x34\xf3\x69\x44\xd8\xc3\x34\x62\x71\x2c\x12\xcc\x6b\x17\x6b\x10\x2f\x12\x06\x6c\x0d\x20\x59\x24\xd0\x1b\x9f\xa8\xb8\xf6\x4c\xbb\x56\xca\x80\x59\x2f\x20\x96\x60\xf2\xd6\xbe\xcd\x3c\xe7\xd6\x9f\x93\x18\x32\x61\xc8\x0b\xa6\x76\x0c\x7f\x48\xb0\x21\xb3\x71\xbc\xbd\xc9\x5c\x2a\x4e\x83\xec\x13\x84\x49\xac\xdd\xb2\x79\x5c\xd6\xfa\x5f\xbb\x51\xa9\x4d\xe8\xb4\x2c\xdf\xac\x53\x49\x77\xc4\xfd\x00\x75\xeb\xd2\xaf\xbf\x42\xd6\x77\x4c\x81\xf2\x7d\x4a\xdd\x32\x83\xcb\x0c\xdf\xfb\x5b\x49\xb9\x52\x4b\x42\x11\x14\xda\xd8\xae\x54\x49\x53\xa6\x74\xfc\xbd\x52\xfb\x1a\x7a\x01\x86\x8a\xca\xb0\x1e\xa7\x71\x49\x93\x84\x45\x81\x5c\xaa\x3d\x36\xea\x3c\x4c\xcb\xa5\x4f\xbc\x0f\x4e\xf3\x0b\x52\xfa\x5c\x52\x4b\x53\x28\xb2\xc8\x5f\x0f\xef\xc9\x08\x4c\xe3\xc2\x37\xca\x1b\x48\x04\x4d\x25\x43\xa9\xfb\xca\x0e\x52\x2a\xb1\x70\xc6\x53\x7b\xb8\x14\x5d\x80\x42\x94\xcb\x83\xec\xac\x0d\xbc\x24\xcb\x5b\xcc\x06\x22\x6a\xb6\x82\xa2\x62\x88\xc0\x6f\x1c\x32\xf0\x96\x32\x26\xbc\x70\xcc\x84\x19\x0c\xb3\xf4\xfe\x28\x13\x77\xdc\x87\xd1\x2d\xd7\x96\x5f\x42\x93\x72\x65\xc4\x98\xa6\x87\x6b\x62\xbe\x2f\x9e\xdc\xee\x43\x44\xfa\x61\xdf\x66\xde\x1d\xf5\x55\x4e\xc7\x1f\xc9\x59\x18\x27\x90\x3c\x38\x26\x71\xc2\x95\x44\xc0\x07\x96\x5b\x73\x72\x1f\xa2\x3c\x8a\x48\x6a\x6b\x30\xef\x54\x90\x77\x6a\x4c\xb0\x68\x07\x73\x15\xa4\x4b\x94\xe8\x9a\x40\xd3\x90\x65\x06\x5b\xf2\xe2\x78\x26\xa0\x8f\xc9\x73\xea\x38\x9e\xcb\x82\x84\xfa\xcf\xc9\x0c\x00\x64\x45\xae\x22\xa1\x3e\xca\x80\x90\x81\xf2\x99\x42\xed\x55\x9e\xae\xaa\x01\x5e\x1d\xb1\x4a\xbd\xe0\x2e\xf4\xef\x00\xf5\x20\x29\x81\xc9\xd1\x0b\x68\x34\x97\x00\x77\xe6\x79\x8a\x0e\x21\x3b\x07\x5e\x22\x75\x23\x6b\x07\xc9\x13\x01\xbe\xf5\x00\xb7\xf8\x0e\xb1\xd5\xd4\x97\x1e\x13\x21\x1c\xcc\x89\x10\xe7\x42\x1c\x95\x42\x2a\xaf\x6b\x95\x60\x0a\xa1\x85\xcc\x84\xe1\xb2\xf3\x9e\xb1\x51\xf2\xa9\x2b\x81\x5b\xab\x04\x3b\x72\x34\x2a\xa8\x95\xaf\x84\x4b\xfd\x8c\xef\x1e\x22\x41\x33\x42\x91\x1c\x76\xda\xe4\x32\x02\x38\x4f\xcc\x14\xd1\x68\xe6\x92\x75\xc8\x9c\x46\x33\x9f\x17\x68\x73\x9c\x02\x80\x1e\x91\xa8\x75\xd2\xda\xc6\x77\x1f\x88\xa7\x11\xf8\x64\x46\x12\x20\x4e\x7a\xaa\x2f\xb5\x1c\x3a\xb2\x99\x7d\x52\x9a\x25\xc3\xb5\x9d\x92\xdd\xe7\x19\x7d\x90\x26\x03\xdc\x9d\x67\x81\x16\x06\x72\xd8\xee\x57\xf9\x6c\x54\xc9\xe5\x19\x3f\x60\x5a\x97\x7a\xeb\x96\xc8\xc1\xf7\x0c\x9e\x04\xb1\xb9\xd9\x14\x34\x62\x03\xb3\xc0\xc1\xb7\x3b\x25\xec\x08\xa0\xc1\x57\x14\x0b\x64\xfa\x44\x11\xd8\x2e\x15\x45\x7e\x05\x2e\xf7\xaf\xaa\xa4\xf4\xeb\xc3\xae\x53\xaa\x92\x4e\xbf\xcd\xb7\xc2\x52\x45\x64\xe7\xff\x91\x94\x0f\x3a\xa7\xf0\x7d\xfd\x65\xa9\x62\x9a\xc0\xc6\x4c\xe4\x56\x22\xcf\xc5\xb6\x2d\xe9\x7d\x4e\x26\x61\xe0\xc9\xec\x95\x9a\x55\x13\xfa\x80\xdd\x4b\xc5\x98\xec\x93\x46\xbd\xb9\x69\xf3\x49\x41\x17\xb0\x09\xa4\x83\x84\xd4\x3b\x02\xfd\xfc\x1e\x21\x08\x81\x73\xc2\x1e\x68\x6f\x49\x61\x24\xce\x61\x6c\x4b\xcb\x35\x5f\x86\x2a\xd7\x63\xc4\x9c\x70\x14\x78\xdf\xc1\xb7\x98\x3d\x4c\x7d\xcf\xf1\xe0\x9e\x08\xcc\x4c\x51\xcd\x29\xb8\x0e\x8c\x2b\x64\xae\x80\x5f\x19\x71\xa2\xc7\xf5\x5a\xad\x76\xbc\x61\x90\x35\xa1\xd3\x38\xd5\xec\x71\x9d\xec\x93\x5c\x5b\x05\x3f\xb3\xe2\x4f\xa5\x83\xd2\x67\x75\xa0\x1c\x37\x96\x14\xae\x9b\x85\x9b\x8f\x69\x79\x63\x95\xc2\xe9\x91\xe2\xf6\x2d\xa3\x0d\x2d\xd5\xcc\x96\x40\xdc\x43\x29\x67\xc0\x14\x4e\x76\x04\x34\x1b\x80\x46\x26\x51\x38\xe5\xe5\x02\x62\xcb\xc4\x23\xde\xf1\x29\x6f\x0c\x9b\x51\x66\x59\x2e\x6c\xbb\x9b\x70\x2e\x08\x7f\xcd\xfa\x43\xb3\x01\x79\xac\x1e\x5e\xa6\x65\x5f\x4f\x07\x34\xc5\xe9\x28\x1d\x94\xaa\xe4\xba\x4f\x5a\xfd\x76\xb7\x9b\x9e\x8f\x53\xbe\x70\x8f\xeb\xa5\xec\x68\x77\xfe\xfa\xd1\xf6\x56\x1c\x2d\x15\xa3\x1d\xa6\xa5\xf4\xb8\x67\x91\xbf\x4e\xfa\xf4\x0e\xf0\xec\xf8\x2e\x29\xd5\xaf\xc3\x4e\xbb\xdf\x46\xd5\xcc\xd6\xcf\xa8\x48\x10\x9c\x84\x04\x01\x65\x29\x82\x0f\xdc\x5c\x61\x0b\x55\xe2\x01\x03\x7f\x0c\xc2\x04\x37\x61\x01\x49\x67\xeb\x25\x31\xef\x33\xff\x8a\x82\x19\x85\xf4\x1d\xc5\x76\x82\x38\x0f\x33\xc9\x4e\xf5\x15\xd5\x70\x03\xce\xbd\xd3\x09\x1b\xb8\x68\x8a\x8f\xb1\x73\x25\x0e\x86\x7a\xbd\x2e\x4d\x32\xe2\x72\xa8\xf3\xf3\xae\xcf\xa6\xa2\x3b\x50\x20\x56\xeb\xb3\x7d\xda\x6d\x9f\xf0\x6d\xab\xb0\xc3\xe6\xc2\x0e\x01\xd3\x39\xbc\x43\xd3\x11\x82\x7c\x52\x32\x80\x1c\xe1\x00\xea\x1a\xde\x07\x2b\x0e\xbe\xd7\x3a\x26\xe0\xcb\xa0\xa0\xed\xd4\x25\x90\x18\xd0\x59\x96\xed\x50\xbe\x75\x44\xd4\xb9\x8d\x6d\x7c\x05\x33\xfb\xa2\xbc\xf8\x76\x13\x88\x4e\x19\x7a\xcc\x77\x63\xa9\x94\x9b\x81\xbc\x83\xd9\x70\xc8\x8f\x02\x89\x9f\x2e\xed\xbb\xf2\x73\x3e\x5a\xd5\xa0\xd2\xbf\xd3\xaf\x4c\xf2\xf3\xdf\x95\x3f\xe3\x2c\x70\xac\x15\x0c\xf5\x23\xab\x81\xdc\x90\xd3\xc1\x6c\xa8\x43\x4d\xf5\x63\x15\x7a\xa2\x5b\xe3\x45\x0a\x53\xac\x36\x38\x68\x02\x81\x68\xa2\xf8\xdf\x55\xd9\x53\x4e\x98\x81\x74\x44\xdf\x27\xa9\x4f\x34\x08\xc2\x6c\x28\x42\xb6\xf8\x6f\xbf\xfd\x66\xa3\x15\x4d\xc3\x58\x3e\x27\xa0\x8f\x23\x67\x44\x71\x63\x34\x1a\xc5\xe2\x75\x28\x17\xcc\x20\xc5\xb6\xaa\x35\x2f\x72\xce\x0a\x79\xb0\x08\xc0\x22\xcb\x02\x28\x02\x95\x8f\x94\x77\xbe\x8d\xc2\x74\x30\x1b\x96\x8d\x81\x9b\xf7\x25\xf8\xbe\x25\x6f\xe3\x99\xbc\xb5\x05\xe3\xc9\x5b\xb6\xc5\xe4\x5b\xb4\x15\x81\x71\x20\xbf\xf3\xe6\xb4\x80\x24\xe4\xa8\xc5\x50\x45\x56\x9e\x94\x5a\x12\xca\x37\x48\x84\x32\x03\x10\xa6\xd9\xb0\x2a\xa7\x1a\xe0\x71\xb9\x68\xac\x3c\xbc\x03\x10\xac\x05\x13\x84\x92\xa7\x5c\x0e\xc5\x44\x98\x5e\x87\xe4\x17\xf5\xf1\xab\x02\xb9\xcc\xe5\x81\x32\xa3\x10\xdf\x8b\x93\x85\xc3\xe7\xed\xd3\x68\xf4\xe5\x3b\x8b\x42\xcd\x07\x99\x43\x53\xf3\x82\x4b\xf6\xa7\xfa\xe7\x95\x47\xaf\x64\x27\xcd\x03\xd9\x99\xc1\x08\xde\x76\xcd\x7e\xbb\x33\x7d\x31\x4d\x0a\x7f\xe0\xaa\x7c\xe0\xb2\xa1\x17\x30\xb7\x64\xe4\x6e\x14\xf4\x89\xa5\x2c\xcb\x5b\xfc\x39\x66\x80\x8a\x28\x99\x03\x16\xab\x80\x08\xaf\x87\xa2\x74\x68\x34\x1a\x05\xb3\x09\x9a\x7c\x64\x45\x81\xd2\x07\xd6\xa6\x24\xe2\x17\x92\x55\xd8\xe2\xd1\xc8\x7a\x54\xc6\x96\x95\x80\xdd\x70\x56\xeb\x57\x66\xf4\xd8\xd1\x43\xc3\xd2\x9f\x25\x6f\xd4\x8b\xb4\x78\x93\x86\xcd\x00\x56\x63\x37\x00\xb4\xd9\x2a\x69\xd4\x2b\x2a\x82\xa2\x65\x0c\x3b\x1c\x12\x60\xa5\x17\x93\x44\xe0\x3b\x89\xad\x58\x6e\xee\x30\xeb\x35\xf5\xa4\x0c\x8d\xef\x93\x7a\x45\x47\xd9\xe8\x2d\x10\xc8\x36\x13\x47\xf2\x7f\x64\x14\xb2\xf8\xc4\x2e\x6a\xcc\x48\xcb\xbd\xa3\xf2\xca\x82\x27\xd2\x34\x8c\xf3\x0e\x24\xe5\x9a\x02\x37\x0d\xcc\x30\x81\x93\x10\x0e\x85\x3a\xc6\x2f\xd1\xd8\xdc\x2a\x93\x21\x8a\x9a\xf3\x01\x4d\x1b\x52\xc9\x97\xd8\x8b\x7d\xec\x31\xb5\xce\x44\xac\x25\x23\x11\x9b\x50\x0f\x9e\xae\x20\x0d\x13\x82\x65\x1b\xbb\x50\x36\x0f\x93\x1a\x2a\x3c\x6c\x19\x3b\xbe\xe5\xb9\x61\xa6\xd2\x58\xd2\xc7\x2a\xa3\x9d\x32\x76\xdb\x93\xcd\xa4\xf6\x25\xdb\x67\x53\xec\x4b\xf2\xe9\x5b\x32\x22\xbd\xff\x2b\x06\x40\xf6\x1a\xf4\xf8\x30\xcd\x50\xc1\x9f\xcd\x04\xe8\xa7\xa0\x83\x55\x39\xc0\xaf\x52\x8f\x1e\x79\x15\x92\xc6\x3e\x7d\xf0\xfc\x1c\xa2\x69\x31\x37\x87\x0d\x06\x3b\x2e\xc2\x7f\xe9\xf8\xb9\xfe\x39\x9b\xb0\x27\xb1\xe0\xc5\x8b\x42\x26\x18\x9e\xc4\x62\xbc\x5e\x4c\xd8\x64\x9a\xcc\xe5\xcb\x84\xa1\x89\x62\x76\x7b\x69\x10\x5f\x69\xcb\x8c\xdb\x22\x1f\xc9\x52\xa2\x25\x56\x8e\x0a\xa6\xe5\x03\x11\x67\xca\x4f\xfb\x6a\x45\x9b\xb1\xad\xf6\x1d\xc8\xec\xe1\xce\xdc\x07\xee\xc0\x26\x7f\x97\xec\x99\x77\xaa\x72\xa5\xb8\x25\x33\x48\x92\xde\x15\x02\x4d\xa1\x59\x6d\x5f\x75\xa2\x5e\xe1\xa0\x16\xb6\x67\xa6\x21\x4e\xd2\x08\xb8\xd9\x8a\x23\x96\xa4\xf0\xe3\x2a\x08\x3d\x67\xb6\x03\xd7\x6a\x55\xf7\xf8\x74\xcf\xba\xb0\xea\x2f\x0c\x78\x54\xb0\x8c\xe8\x6f\xea\xb6\x15\x44\x7f\xd1\xb0\x2d\x1e\xfa\x8b\xa6\x6d\xdd\xd0\x5f\x6c\xac\xc4\x46\x99\xb9\x26\x9f\x93\x16\x0b\x44\x51\xc1\x3e\x83\xd3\x06\x07\x6c\x66\x67\x78\x96\xc3\x6d\xc9\xc5\x54\x23\x9a\x95\x06\x1b\x91\x79\xea\x8b\x5e\xaa\x8a\x62\xa5\xc1\x46\x64\x9e\xfa\xa2\x61\x7f\xa1\x58\x69\xb0\x11\x99\xa7\xbe\x48\xb3\x71\x35\xa4\xbb\xff\xd7\x0c\x5e\x69\xab\x50\xae\xa1\xe5\x09\x66\x8f\xc7\x3f\x59\x1b\x5b\xe1\x6b\x78\x64\xd5\x4f\x8a\x69\xab\x89\x74\x3e\x01\xb3\x2c\xbe\xa2\x5f\xf1\xdb\xbe\x17\x8c\x9e\x93\x98\x39\xf2\x44\xff\x04\xae\x05\x69\x05\x3b\x2f\x01\x06\xbe\xb9\x9b\x73\xca\x52\x98\x47\xd6\x40\x16\x8d\xc4\x8c\x24\x52\xaf\x9b\x6c\x32\x0d\x23\x1a\xcd\xc1\xf0\x44\x47\xa8\xff\x87\xb3\x08\xde\x56\xc3\x20\x66\xf2\xa5\x4f\xfe\x2d\x6b\xca\x37\x5a\x4c\x1c\x23\xed\x50\xbc\xe4\x24\x74\x4d\xcd\x9e\xd5\xe2\xb1\x37\x4c\x4e\xd8\x1c\x09\xe0\x5f\xff\xb6\x4f\x36\xf5\xf7\x13\x96\xd0\x13\x36\xe7\xbb\xb9\x9d\xa9\x41\xa5\x84\xaa\x51\x3f\xe9\xc6\x67\x2c\xa1\xe4\x6f\x7f\x23\x8c\xff\xc9\xdb\xb3\x1a\xdc\xd1\x0d\x3a\x49\xe4\xa7\xfb\x6b\x6c\xab\x31\x5f\x1c\x5e\x94\xa3\x91\x17\xb8\xb4\xf2\x8a\xbc\x63\x56\x5a\x39\x91\x64\x53\xd9\x93\xb6\xf8\xa1\xbe\x1e\x46\xfc\xf7\x6d\xae\x77\xb2\x87\x84\xa1\x5d\x45\x3e\x8d\x42\x2a\x1e\x7e\xa8\x00\x7c\x19\x98\x14\xc3\xd9\x68\x5c\x15\x4f\xde\x53\x4c\x18\x4a\x31\xb0\x10\x52\xe6\x53\xe2\x7b\x49\xe2\xb3\x2a\xe9\x92\x7b\x1a\x83\x4b\x16\x80\x64\x8b\x84\x76\x23\x96\x90\x3b\x0f\xac\xe3\x13\xea\xc4\xd2\x88\x22\x1c\x71\x51\x23\x8c\xf1\xf5\x25\x96\x5c\x7f\x20\xfb\xe2\x75\xa1\x36\x8c\xc2\x49\x5b\xbc\x9d\x96\xf1\x45\xd5\xf1\xe9\x64\x5a\x66\x8a\xb3\xf8\xf0\x4d\x5e\x90\x8d\x66\x15\xfe\x6b\x6e\x6d\x55\x14\x88\xd5\xfc\x51\x6d\xf5\xc2\xfb\x6c\x43\xcf\x08\x89\xef\xbd\xc4\x19\xf3\xf9\xe0\x32\x2d\x6f\x30\x0e\x8d\x19\x29\xe9\xb4\xd5\xa5\x57\x1a\x13\x00\x57\x0c\x66\xb3\xb6\x6f\x2c\xc2\x46\xd7\xe0\x3c\x69\x92\xa9\x3f\x83\xeb\x1c\x75\x5d\x4f\x5c\x62\xb7\x37\x25\x2e\xc0\x00\x22\x42\x59\x0d\x9a\x39\x64\x7e\x42\x3f\x90\x9f\x49\x9d\xdf\xaf\xeb\xe4\x15\x69\x54\xc8\x0b\xb2\xbb\xad\x3c\x4c\xb9\x6c\x4c\x42\x77\x4f\xdd\x77\x50\xcc\xf9\x2e\xf3\xeb\x43\x63\xf0\xe9\xac\x44\x5e\xe4\x32\x63\xc0\x1b\x7a\x20\x2f\xc8\x7c\xef\x99\x1e\xc2\x89\x4c\xbc\xa9\xc1\x20\xa2\x70\x22\x32\x76\x23\x4a\x33\xba\x59\x43\x3e\x20\x16\x24\x06\x7c\x8b\xa0\x28\x62\xf4\x56\x34\x69\x30\xcb\x0d\xef\x03\x93\x57\x07\xc0\x11\x74\xbb\x53\x79\xa1\x14\xa3\xc4\x85\x09\x18\xb5\xd1\x94\x9d\x82\x0b\x33\xd9\x27\x67\x34\x19\xd7\x26\x5e\x00\x5c\xf2\x9c\x31\x59\x23\x8d\x2a\x69\x56\x60\x1a\xcd\xd1\xb4\x02\x97\x4c\xbc\x07\xa9\x82\x4e\x8c\x35\x1f\xd7\x32\x1c\xfc\x43\x2c\x5c\x38\xf8\xd9\x34\x2b\x26\xb3\x29\x98\x47\x83\x50\x62\x1b\x89\xbd\x15\x47\x24\xf8\x70\x4f\x63\xf0\x6f\xa4\xb1\x78\xf1\xcd\xa5\xef\xd7\x87\xe6\x46\x69\x45\x52\x26\xe1\x1d\x53\xc4\x3c\x62\x13\xee\xb5\x8e\x71\xef\x02\xfa\x4c\x17\x88\xf5\x75\xd2\x4f\x68\xe0\xd2\xc8\x95\x64\x0f\xbc\x44\xf1\x17\x25\x7a\xa3\x49\x5e\x14\xce\x9b\x62\x3d\x4e\x9a\xeb\xf2\xe2\x89\x62\x0c\x13\xe7\xd4\x24\x14\x57\x2f\xd5\xee\x8b\x7d\x73\xc2\x57\x9e\xf2\x9c\x49\xff\x63\xd3\xfe\xfb\xb3\x42\xa6\x3b\xbe\xe7\xdc\x0a\x86\xe3\x27\xee\xc0\x37\x3f\xb4\x2b\x09\xf3\x83\xfc\x4a\xa6\x1b\x63\x51\x14\x46\xe5\x92\xf0\x7d\x31\xcf\x6d\xcc\x35\x86\x7b\x54\x95\xb0\xf4\x32\x34\xfc\xc7\xe5\x00\x0d\x43\x94\x3a\xa8\xbc\xd0\x48\x53\xa7\x4b\xda\x60\xf7\xd2\x09\x50\x7b\xda\x84\x43\xcb\xd9\x58\xbc\x4d\xc9\x5b\x73\xc4\x62\x30\x46\x8a\xb4\x93\xda\xd9\xef\x99\x99\x2b\xdc\x86\xb6\xbe\x32\xaf\xe2\x98\x35\x0e\x7d\x58\xf2\xb2\xc6\x89\x17\x76\x9d\x38\x2e\x95\x35\x2e\x57\x37\x51\xbe\x8c\xa6\x52\x62\x1b\x3b\x0d\x5f\x39\x6d\x7c\x16\x66\x5d\x07\x24\x60\x36\x14\x87\x84\xc8\xb4\xf6\x43\xa6\x9e\xbe\x0e\x96\x2b\xa6\xf5\xcb\x34\x12\x9b\xe5\xf9\xe7\x3a\x88\x02\x4d\xa6\x99\x42\x70\x29\x54\x3b\x21\xd8\x46\x32\x65\x06\xb3\xa1\x90\xa5\xdc\x3e\x6a\x0e\xf5\x7d\x18\x4c\x35\x53\x40\x2e\x44\xb5\x2d\xa4\x2b\xf3\xbd\x01\xfe\x95\x90\x21\x29\xe2\xf8\xf7\xfc\x1f\x23\xbc\x39\x8f\x3e\x5e\x4c\x71\x9c\xe8\x04\x56\x97\x68\xa1\x77\x3d\x17\xe1\xb8\x7d\xe9\x72\x07\xfa\xd9\x0f\x25\x13\x03\xc4\x10\x4c\x74\x5a\xd2\x52\xf9\x27\x09\x8a\xf0\x9d\xca\x0b\xad\x51\x0c\xca\x71\xdf\x50\xfe\x1b\x39\x08\x9e\xcc\xcc\xa2\x64\x05\x67\xc4\x49\x64\x2d\x36\x68\xcf\xc8\xb3\x25\x87\x16\xa3\x63\x57\xc6\x53\x7c\xb1\x4b\x31\x36\x52\x34\x50\x9d\xdc\x29\x77\xb0\x46\x3c\x9b\x9d\x06\xca\xde\x1e\xd4\x2c\xa0\xe7\x99\x19\x69\x86\xdd\x2f\x61\xf4\xb2\xfe\x33\xae\x6b\x72\x31\x66\x28\xc9\xbc\xfd\x65\xde\x0e\xe1\x39\x13\xf6\x17\xf0\x1c\x4c\x74\x70\x9a\xf4\x1d\x84\xfc\xdf\xa4\x91\xf5\x4d\x44\x9b\x56\xb9\x5d\x5f\x6f\x37\x52\x21\x72\xa0\x29\xa1\xf7\x79\xa5\x46\xc0\x25\xd5\x00\x1e\x76\xc2\x09\x66\xfa\x1f\x9a\x1e\x37\x72\x97\x13\xa1\x03\x66\x4a\x6a\xb9\x43\xf2\x75\xca\x02\x85\x2c\x61\x13\xa2\x36\x49\x2f\x9e\x02\xd4\x53\xda\x56\x65\x98\x15\x2d\xef\x49\x33\x2b\xb1\x5a\x9d\x86\x49\x9f\xf9\x43\x95\x50\xd2\x44\xc9\x02\x22\x4d\x93\x3e\x58\xf8\x99\x3f\xfc\xc4\xff\x57\x3b\x3e\xfd\x5c\x3b\x3e\x95\xd6\x77\x7c\x18\x48\x7f\xab\x85\x3f\x53\xbb\xf7\xb9\x76\xdc\x2b\xac\x0d\xdf\x9a\xb5\xe1\x63\x75\x88\x69\xd2\xe0\xdc\x53\xae\x0c\x8c\x46\xce\xd8\xf2\x0a\x35\x43\x01\x07\x7e\x88\x08\xce\x7a\xae\xe4\x9d\x04\x77\xd8\xa9\x61\xed\x4b\xd9\xa6\xcb\xea\xca\x11\x88\x10\x4d\xf4\x9f\x03\xc3\x24\x74\x5b\x4e\x7b\x74\x6a\x90\x0d\xab\xca\x3e\xd7\xf0\x15\xa6\xe8\x3b\x56\x02\xef\x88\xd9\x64\xe0\x33\x17\x63\xab\x70\x29\xe5\x78\x2d\xd5\xf4\x66\x2f\xa5\xa0\x5c\x6a\xb7\x1b\xa5\x2a\x31\x0c\xa4\xf5\x2a\x69\x54\xaa\xc6\x60\x84\xa6\x60\x8c\x4e\x98\x7e\xcb\x8d\xca\x9e\x75\xd5\x36\x74\x88\x14\xcd\x6b\x0d\x0b\x08\x95\x45\xe8\x31\x1d\x84\x39\x5e\xa1\x2a\xbb\x0a\xae\x34\xa4\x1a\xa7\x8c\x9f\x05\x19\x6a\xe0\xe0\x2d\xe7\x93\xa2\xaa\x19\xa3\x33\x48\xab\xe8\xb7\xe1\x05\x1c\x31\x2a\xe4\xf2\x26\x87\x33\xe6\xf0\x5f\xa4\xed\xcc\x18\x14\x40\x33\xa1\x2d\x44\xc7\x6f\xe0\x92\xa7\x81\xab\xd6\x2b\xf1\xac\xa8\x1f\x8c\x24\x01\xf7\xef\x70\xa2\x22\x86\x3c\x1d\x80\x43\xe8\x20\x9c\x49\xef\x74\x47\x5c\xa0\x17\xac\xf7\x76\xbf\xbb\x74\xad\x03\xd2\x4c\x4a\xca\xb9\xb2\xab\xa5\x5b\xb8\x0a\x98\x1c\x89\x46\xb1\x92\x64\x67\x4c\x7e\xde\x27\xa5\xbf\x97\xb8\x5e\xe0\x80\x0d\xbb\xf4\x3f\xa5\x34\x46\xae\x17\x8b\x9d\x95\x6b\x7d\x4b\xa4\xb7\xdf\x2d\x55\x0b\xbc\xfe\x5f\x14\xf9\xda\xbf\x20\xce\xd8\x0c\xe5\x93\x3f\x8b\x44\x3e\xdf\xef\x40\xc7\x62\x8b\xd1\xf1\x43\x7d\xcf\x1c\xd0\x25\x8d\xe8\x04\x82\xe8\x5c\xe6\x7b\x13\xa6\x06\xa2\x11\x83\xd3\xf4\x59\xe8\x81\xa9\xfa\x1e\x38\x24\xaa\x08\x83\x4c\x1c\x03\x18\x65\x28\xb8\xbd\x92\x29\x75\x5d\xdf\x0b\x4a\xf2\x32\xb3\xca\x68\x72\x83\x64\x7f\x30\x9e\xb2\x53\xf7\xb9\xab\x31\x9b\x93\x70\xe2\x25\x70\x1c\xa9\xe3\x10\x1e\x38\x2d\x8c\xfa\x78\x36\x9d\xfa\x73\x14\x62\xf1\x03\xad\x42\x70\xaa\xf0\xd1\xb0\x2e\x48\x39\xdf\xfe\x9e\xe5\x37\x97\xa6\xba\x29\x4d\xbb\x26\xf3\xcf\x01\x73\x72\x9e\xe8\x1c\x6e\xc2\x2d\x67\x2a\xb9\x5a\x7b\xf6\x98\xc9\x38\x17\x01\x1d\xaa\xfa\x5f\x36\x15\x8f\x9c\x09\xed\x27\xe0\x8c\x15\x27\xed\xea\xa2\x90\xe9\x95\xb0\x46\x1a\x9f\xe1\x31\x78\x6c\x07\x33\x17\xf0\x99\x98\x7c\xfe\x45\xfe\xf1\xc3\x3e\x29\xbd\x32\x99\xae\xec\xa5\xa9\x95\x5b\x4c\x7f\xc1\xf2\xd5\x84\xa5\x86\x52\xb4\xac\x8d\x0a\xa9\x11\xa4\xcf\xd6\x5a\xc2\xe2\xa4\xec\x8c\x2b\x06\xdd\xed\x47\x1c\x97\xce\x38\x75\x08\xa4\x41\x19\xd6\xd7\xc9\x75\xa0\x3c\xbf\xad\x27\x4e\x1d\xf7\x34\xa0\x9e\x4f\xc2\x99\x58\x12\x2b\xc8\x04\x1e\x69\xf9\xe7\xb0\x09\x35\x74\xeb\x4d\x31\xd0\xcc\xd0\x57\x67\x41\xe2\xf9\x5a\xaf\x29\xf2\xcf\xee\xf4\xdb\x44\xba\x65\xff\x48\x0e\x98\xef\xdb\x9e\xd9\xe6\xf5\x5b\x23\x27\x50\xc7\x99\x4d\x66\x3e\x4d\x8c\xf0\x1b\xbd\xfd\x7f\xaa\x7f\xae\x11\x72\x46\x6f\x19\x89\x67\x11\x13\x01\x4d\xe8\xd5\x03\xc8\x39\xca\xab\xa6\x0c\xde\xe3\x69\x4e\x28\xaf\x9b\x8a\x54\x8a\x15\x78\x88\x76\x23\x14\x74\x7d\x08\x67\x10\x0d\x8e\x69\xeb\xd1\x1f\x9b\x17\xc0\x2b\x06\xc4\x2d\xc3\xcb\xeb\x60\x4e\x9c\x31\x83\x07\x0b\x9d\xc1\x4c\x3d\x63\x2b\x25\x76\x4c\x55\xb6\x71\x00\x87\x4c\xa7\xea\xc9\xbf\x35\x74\x87\xb6\x07\xf9\x04\x15\x79\x1a\x90\xac\x6b\xba\x69\x16\xb9\x67\x90\xb6\x1f\x7a\x7a\x26\xa2\x10\x2c\xef\x7d\x33\x7e\x62\xc0\x48\xc4\xd6\x80\x00\x57\xc7\xc6\x2c\x70\x65\xcc\xc7\xcd\x52\x6e\xf0\x8a\x4b\x31\x09\x83\x51\x08\x56\x9b\x48\x31\xac\x46\xac\x1c\x86\xa5\x3b\x8d\xa3\xf1\xe0\x30\xe6\x8a\xed\x7f\x42\x1f\x48\xca\x4b\x7f\xd9\x35\x23\xf1\x7c\x64\x89\x96\xc5\xa5\x8a\xc8\x23\xf5\x6d\x43\xca\x2d\x95\x7b\xbd\xfc\xeb\x43\x63\xf0\xeb\xaf\xbf\x71\xd9\xae\xac\xaf\xaa\xc5\xe4\xed\x62\x7a\x07\x2e\x09\xeb\x03\x7c\xd2\xf8\x2c\x5e\xea\x0e\x29\xe6\x84\x4c\xa9\xc8\x26\x65\x29\x2d\xf9\x3c\x54\x41\x3c\x61\x04\x59\x00\xaa\x22\x64\x29\x15\x87\x87\x0e\x1b\x42\x57\xb6\x88\x79\x01\xa3\x15\x07\x3b\x0c\x6c\x10\x46\x49\x8f\xd1\x38\x0c\x8c\x6b\x95\x5c\xa3\xe2\x58\xf8\xb9\x20\x8a\x42\xde\xb6\x8c\x46\xf8\x70\x93\x30\x24\x7e\x18\x8c\xd0\xbe\x68\xb7\x95\xd3\x09\x00\x13\x5d\x0c\xcb\x60\x3a\x2d\x55\xf8\xf9\xb1\xd6\x28\x68\x9a\x4d\x06\xcc\xe5\xa2\x85\xb1\x16\x76\x0f\xa9\x86\x8c\xae\x34\xbf\xc9\x9a\x9a\x86\x9f\x73\xa2\x12\x8b\x46\xe4\x4d\x18\xd7\x9d\xd9\xc3\xd4\x8b\x98\x8b\xdd\xe6\x35\x6a\x0e\x4f\x37\xa1\x0f\x36\x69\x94\xf5\xc3\x51\xb9\xb4\x40\xdc\x5f\x21\x05\x9e\x62\xa2\x6e\x2c\x4f\x4f\x15\x1c\x50\x3a\x53\xe6\x2e\x94\x2e\x60\x23\x30\x1a\x6a\x56\xce\x59\xa2\x3d\x4c\xac\x1b\x55\x36\x6f\x44\x4a\x6a\x5e\xa4\x57\x5a\xa1\x18\x99\xb7\x57\x11\x33\x6b\x84\x93\xc2\x91\xa5\x8f\xc8\x19\x84\xd3\x60\xfc\x5d\x32\xf6\x82\x5b\xc4\xbb\x96\x42\x97\x7f\x74\x96\xd5\x02\x20\xfa\xc6\x98\x66\x02\x0c\xc4\x5e\x29\xa9\x4b\xa2\x1e\x0c\x4a\xd7\x0a\x27\x74\xc1\x55\xd0\x60\xcb\x8b\x9c\x09\x25\x84\x94\x53\xf7\x4d\x5d\x83\x5f\x39\xe1\x5e\x01\x72\x4e\x7e\x21\x4d\x78\xdc\xb3\x8c\x82\x38\x39\xa6\x8d\x4d\xde\x1a\xc5\x79\xa5\x0e\x34\x91\x43\x36\x70\x7d\x16\x2b\xe8\xc7\x76\xbb\x01\x21\x59\xe0\xde\xd4\xee\x77\xf9\x3f\x37\x57\x5b\x4d\x19\xea\x55\x60\x8d\x93\x7d\x98\xa1\xfd\xf0\xb8\xe0\x00\x0a\x56\xde\xc6\x8d\x3d\x47\x86\x6b\xc4\x27\x5e\xe5\xf3\x27\x5e\x45\xf9\x81\xfe\x20\x8a\x99\x96\xa3\xfc\x18\xa9\x4a\x6a\xa5\xf1\x02\xfa\xf5\x03\x52\xa2\xcc\xa7\x8c\xbc\x20\x25\x20\x0a\x97\xd7\x9b\xfe\xc5\x79\x0d\x37\x4c\x6f\x38\x2f\xf3\x2f\x2a\xc5\x96\x0c\x45\xb2\xe1\xce\x81\x01\x5c\x4f\x25\xaf\x0b\xb5\xdd\x3f\x87\xbc\x44\xa0\x4d\x82\x66\x0a\x3a\x79\xe8\x32\xf2\x33\x17\x97\x97\xc3\x92\x86\x5a\xce\x44\x6f\x1a\xeb\xb0\xcb\x97\xd4\xad\x27\xe2\xb9\xc9\x58\x28\x3a\x53\xb0\x1f\x78\xb1\x38\x7c\x06\xb3\xa4\x56\xab\x89\x3a\xaa\xea\x50\x44\x89\x4b\x69\x00\xe3\xb3\xa0\x06\xe5\x00\xc2\x07\x79\x0f\xa3\x30\xc9\x89\xdf\xad\xca\xa6\x70\xad\x97\xc0\x2c\x94\xa0\x7f\x82\xc0\x15\xc6\x29\x50\xb1\xb4\x2e\x8b\x7f\x21\xe4\xcd\x2c\x4e\x64\x58\xa2\xbc\x56\x6a\xba\xc0\x90\x20\x5e\x9e\xe1\x09\x9d\x45\x11\x0d\x12\x52\x86\x00\xc8\xd2\xaf\x0f\xbb\xf5\x52\xa5\x4a\xca\x10\x0a\xc9\xff\x74\xe1\xcf\xcb\x33\xfc\x8b\xa9\xc8\x44\xde\x58\xb9\x75\x29\x4a\x0d\x4b\x15\xb4\xde\xfa\x21\xea\x8e\xb3\xd4\x23\x38\x3f\x99\xa5\x79\xd8\x4b\x62\x15\xfd\xa9\x9a\xd2\x51\x90\xbc\x87\x8c\x72\x9d\x2f\x2c\xbc\xc5\x6c\x24\xf1\x2b\x52\x7f\x28\xe5\x6d\x28\xb0\x6c\x8d\xa0\xf2\xba\x1d\x55\x9e\x2f\x4c\x42\xce\x6b\x94\x5f\xd4\xc5\xbb\xcf\x27\xbd\x86\x71\x55\x7f\x4e\xdd\x34\x58\x02\x9e\x9e\x66\xfe\x02\xe1\xc6\x6e\xfa\x0e\xb9\x4c\x3e\xf4\x8a\xf7\xc1\xbb\xf0\x56\xa0\x9d\xcb\xb7\xd4\x24\x24\xfd\xb3\xf5\xde\x99\x2c\xd3\x91\x77\x27\x4c\x92\x0e\xfc\x84\x31\xa3\xda\xd9\x24\x6b\xe4\x44\xf8\xcc\x90\x16\x6e\x6d\x67\xbc\x9f\x72\xeb\xac\x52\x23\x24\x0b\x13\x54\xc3\x8a\x9b\x64\x8d\x74\x21\xdf\x8f\x28\xdf\xed\x9d\x55\xc4\x77\x0d\xde\x6a\x9f\x05\xee\xba\x78\x06\x22\xe5\x7e\x6f\x71\x73\xcd\x3a\x59\x23\xad\x59\x12\x4e\x00\x47\xef\x9c\xdd\x43\x96\x92\xf2\xe9\xf9\x99\xba\x2a\x19\x17\x41\xbe\x14\x66\x56\x8c\xa7\x18\x1e\xe5\x97\x1a\xcf\x17\x30\x42\xb8\x3f\x14\x6e\xbc\xfc\x4a\x74\xde\xef\x9e\xa5\x1e\x9d\x1c\x89\x3d\x98\x18\x9e\x53\xf8\x32\xb5\x4f\x4a\x9b\x25\x0b\x57\xdc\xf4\x14\x44\x7e\x9c\xe1\x13\x89\xb4\x7e\x99\xf7\x7f\xd9\x46\xb3\x5e\xdc\x08\x67\x42\x9b\x46\x91\x47\x47\x0c\x1d\x69\xf3\x1b\x2b\xd8\x28\xa5\xd3\x4c\x6a\x1f\x37\x59\x05\xd2\x75\xa6\xb6\x49\xd8\x17\xb3\xc0\xe4\x5c\x22\x23\x71\xbf\x34\x44\x33\x1d\xcc\xbd\x4c\x18\x31\xda\x6e\xfd\xb0\xd3\xee\xf5\xaf\x56\x14\x4a\x2e\x42\x5c\x1c\xa6\x53\x5f\xba\x69\xa0\x5f\x1e\x17\xd5\x98\x94\x0f\x3b\xed\xf6\x89\x92\x36\x21\xc5\x9f\x7e\xf8\x4c\x0e\x59\xec\x8d\xc0\xb3\xea\xba\x0f\x31\xa3\xd8\xb2\x19\x00\x1a\x93\xe3\xfa\xda\xf1\x06\x34\xd2\x3a\x3f\xab\xe0\xb6\x0a\xc1\x9c\x06\x5e\x10\x02\x3f\x4d\xc4\xa9\x8d\x9f\x6d\x90\x35\xd2\xd8\x68\x12\xe1\x09\x85\x52\xcf\x49\xb9\x38\x35\x69\xe1\x0b\xe3\xd3\xc3\x67\xd2\x9f\x84\x61\x32\x26\xe5\xbe\x1f\xde\x57\x48\x1f\xdc\x79\xa0\x7c\xbf\x6d\x95\xdf\x22\x6b\xa4\xc7\x30\xd9\x0a\x22\x42\x61\xa1\x73\xb3\xd0\x36\x59\x23\x17\x91\x37\xf2\x8c\x7e\x2f\xcc\x02\x2f\xc9\x1a\x79\x17\xd1\xa9\x70\x1a\x53\x85\x5a\xef\xcc\x52\x3b\x82\x36\x2e\x63\x6b\x11\x9b\x32\x9a\x68\x96\xb6\x7a\x66\xd1\x5d\xc1\x52\xbe\x8c\x85\xff\xcc\x7b\xf2\x37\xf2\x81\x84\x81\xf4\x39\x01\x94\x11\x55\xa3\x51\x97\x03\x1f\x87\xf7\x5c\xaf\xf4\x07\x34\x22\xe5\xe8\xe1\x2e\xd1\xcd\xe2\xce\x00\xd8\xa5\x07\xbe\x17\xc0\xce\x2f\xa6\xb6\x4c\x93\x64\xbb\x51\x37\xca\xee\x08\x12\x2e\x23\x0f\x93\x4f\x4e\xc8\x90\x31\x17\x88\xbd\x3c\x3a\x32\x4a\xee\xca\xae\x59\x82\x2f\x15\xe8\x74\x07\x58\x05\xc3\x19\x3c\x3a\x46\x8c\x05\x58\xb3\xf3\x5e\xd7\x6c\x72\xee\x03\xc1\x92\x8a\xc3\x4e\xfb\xaa\xdd\x31\x38\xb1\x51\x97\x9c\xe0\xc5\xd0\x2d\x2b\x67\x64\x1b\x5b\x82\x86\x0e\xe8\x07\x90\x81\x74\x0d\xfc\x18\xe1\x14\x13\x7b\x4b\x9c\xa9\xb6\xa3\xaa\x71\x01\xbd\x62\xb7\x49\x14\x06\xde\x83\x9e\xc1\xab\xce\x89\x2e\xbe\x09\xdb\x24\xa0\x41\xec\xd4\x85\x3c\x9e\x99\x52\xba\xd9\x10\xd4\x4e\xc2\x88\x95\x1b\x15\x32\xf4\x1e\x48\x39\x66\x08\xd4\xc0\x00\x2e\x10\xd3\x7b\xe8\x2a\x72\xf5\x08\xca\xcf\x71\xc5\xf5\x18\x84\x18\x43\x50\x50\xdb\x5e\x41\x9c\xac\xf3\x5e\xdb\x60\xd2\xe6\xa6\x68\xe3\x8a\x6b\xd1\x17\x01\x39\xa3\x11\x17\xd6\x03\x86\x21\x71\x58\xc8\x10\xf5\xb5\x7b\x5b\x58\x75\xa1\x6d\x39\x97\x20\x25\xa7\xe1\x68\x84\x6f\x57\xe2\xeb\x97\xa2\xa3\xeb\x98\x91\x96\x9f\xb0\x08\x96\x7b\x1f\xe7\xf7\x40\x45\x3c\xe0\xaa\xd9\x16\x85\xcd\x9d\xe4\x96\xcd\xa7\x14\x85\xe8\xdc\xdc\x44\xb6\x79\xcb\x07\xd4\xb9\xa5\x51\x14\xde\xa3\x93\x2a\x0b\xdc\x18\x8c\x48\x98\x67\x96\xd7\x39\xd0\x75\x1a\xf5\x7a\x5d\x1c\x74\x8b\x56\x08\x02\xb9\xa2\x4b\x59\x8d\x90\x72\x36\x3e\xb9\xa2\xda\x6b\x18\xa3\x7b\xed\xf9\x5e\xc2\x88\xed\x14\xac\xbb\xe6\xb3\xc6\x8b\xb5\x99\xef\x93\xb3\x50\x9c\xdc\x56\xd9\x74\x67\x87\xbd\xd6\xb1\xee\x6b\xc3\xe2\x64\x51\x1b\xaa\xf8\xa6\xb9\x21\x1c\x85\xce\x2c\xee\x06\xeb\xf0\xef\x05\xbf\xe2\x2b\x8f\x66\x2c\xbd\x65\xcb\x54\xe7\x41\xa0\x1e\x62\xeb\xc6\x8c\x37\xea\xb0\x71\x88\xfd\x31\x09\xc9\x20\x4c\x92\x70\x02\x2e\x4c\xc9\x9c\x84\xb3\x84\x6b\xcf\xd6\xaa\x69\xd4\x1b\x8d\x82\x2a\x7c\xd6\x90\xe9\xa9\x1a\x1b\x72\x5b\xd6\x3e\x55\xcf\x27\x2c\xa1\xcf\x79\x95\x2a\x8a\xb5\x56\xa7\x75\xb5\xd4\xaa\x86\x0c\x33\xa8\x8a\x09\x14\x2d\x7e\xc0\xb4\xfc\x04\x26\xf9\x7c\x36\x39\x0d\x9d\x5b\xe9\xf9\x26\x9a\xd8\x96\x32\xd2\xe9\xb7\x11\x15\x03\xdc\x92\x45\x13\xfc\xf2\x78\xcb\xe6\xba\xf8\x4b\x93\xcf\x87\x9d\x53\x0d\x66\xc2\x5c\x50\x89\xd7\x84\x04\x1f\x32\x30\xc0\x5a\x95\x77\x33\x7d\x71\xda\x0a\xba\xda\x94\x3b\x36\xb8\xa0\xc6\xcc\x17\xee\xe6\x7c\x2e\xb9\x8a\xc1\xf5\xb4\xb1\x37\x1a\xfb\x9c\x2f\xa8\x46\x61\xbd\x86\xa8\x77\x2d\x20\x7c\xda\xa7\xdd\xcb\x83\x8b\x56\xef\x50\x37\xa2\x0b\xa7\x76\x97\xeb\x68\xc4\x02\x67\x4e\xee\xbd\xc0\x0d\xef\xc9\x84\x06\x74\xc4\x22\x32\xf6\x20\xbe\x9e\xdf\xa1\x51\x31\x5f\x3b\x26\x5e\xac\x10\x5d\x74\x73\x1b\x76\x73\x11\xf5\x62\x03\x7c\x5a\xb4\xba\x4a\x43\xab\x6f\x24\x8d\xfa\x26\xdf\xa5\xfb\xf4\x4e\xc1\xdd\xd0\xd8\x84\x67\x10\x85\x76\x8b\x0b\xa1\xc2\x5a\xdc\x53\x95\x38\x3e\xa3\x11\xc0\xe6\x18\x6a\x88\x97\xe0\x3b\x60\x8d\x94\x31\xd5\x36\xc2\x5a\xba\x5e\x4c\xc1\x4d\x61\x30\xc7\x4b\x93\x97\xb0\x6e\x30\xf6\xf8\xbd\x46\xef\xef\x22\x2b\xd9\x8f\xe6\x75\x66\x32\xf0\x02\x91\x9b\x8c\x41\xbc\x5d\x2c\x39\x07\x1c\xe1\x54\xc2\x68\x51\xb3\x13\x13\xec\x21\x6c\x92\xd5\x94\xc4\x42\x5c\x43\x64\x75\xaa\x37\xd8\xd8\xc2\xcc\xe3\x4d\x6f\xbe\x34\x35\xa9\x46\x7d\x4b\x9d\xa8\x2c\x51\x0d\xad\xf3\x5f\x1c\x3a\x55\x47\x25\x17\xf3\x54\xbd\x86\x71\xcc\xf7\x67\xc1\xa2\xa2\x4d\xa3\xe8\xeb\xcb\x45\x25\x37\xcc\x46\xdb\x17\x0b\x8a\x6e\xd7\x8d\xa2\x3e\x1b\x51\x67\x4e\x64\xbc\x01\x61\xf0\x6c\xc3\x97\x4f\xf9\x7d\xa3\xd1\xdb\xd6\x5b\xcf\x76\xc3\x18\xee\xcd\x55\xb3\x59\xcf\xa9\xa5\xae\x41\xb0\xcf\xf2\x92\x03\xbe\x03\x33\xae\x24\x4f\x69\x2c\x94\x6d\xa9\x3f\xf3\xd6\xd6\x48\x21\x66\x6a\x55\x0a\x8a\x78\xad\x1d\xce\x92\x59\x84\xe3\xe0\xe4\xaf\x15\x5c\xc3\x8a\xee\x48\x87\x9d\xf6\xd2\x2b\x92\x74\xdd\x77\x0c\x58\x76\x74\xbe\x6d\x94\x5e\x21\x64\x1a\x28\xed\xd6\xcb\x63\x36\x68\x43\x8b\x51\x5b\x06\xc0\x41\x27\xc5\x2e\xd6\x1b\x46\xf3\x17\xa7\x67\x69\x37\xeb\x22\xd0\x3e\xf3\xd1\x37\x73\x05\x43\x3c\x6c\x84\xd8\xf8\x05\x74\xac\x57\x64\xa7\x6e\x3a\x4d\xdb\x55\x60\xed\xbe\x0e\x27\x4c\xfb\xe4\xe7\xb4\x7a\x73\x85\x27\x56\x8f\x8d\x00\xe1\x7e\xe6\xfb\x55\x99\xc0\x1f\xab\xfc\x5e\x38\xca\x2d\x3d\x4a\x7e\x33\xc8\xe5\x62\xcc\x12\xa1\x5c\xc1\x35\xc2\xb8\x35\xe6\xb7\xb9\xad\xdb\xbc\x28\x6c\x11\x2f\x1d\xa9\x2b\x6d\x7e\x7b\x2f\x75\x7b\xad\x77\x85\x0d\xea\x4b\xca\xd2\x06\x1b\x4d\xd1\x22\xde\x0c\xd2\x53\x6b\x80\x86\x55\x8a\xb9\x8e\x72\x04\x97\x8d\xa5\x1d\x36\x0d\x36\xf3\x4b\x40\xd1\x18\xb0\xcd\x1b\xc4\x17\x5a\xda\xea\x66\x5d\xb4\x1a\x84\x6b\x5c\x7f\xc8\x6d\x75\x01\xb8\xe4\x92\x05\xb0\xb9\xb5\x42\xf3\x5a\x36\x1e\xc1\xff\x6d\x63\x46\x0f\x96\x2d\x5d\xa5\x25\x73\xf5\x23\x3e\x50\x3a\xf3\x52\xfa\xb9\x16\x2d\xfa\x11\xe1\x10\xa1\x74\xb7\x07\xa7\x7d\x85\xf6\xa3\x7b\xb7\x23\xf1\xca\x86\xdd\x4e\xae\xd9\x6c\x38\x05\x02\x01\xbd\x5a\x14\xed\xb6\x90\xc6\xe6\x62\x1a\xc1\xc3\x2c\xa2\xa3\xf8\x8f\xd2\x09\x61\x1f\x4f\x26\xb3\x21\x59\xc9\xb5\xdf\x7c\x49\x80\x3d\xe8\x22\xb8\x40\xc5\x7a\x85\xe9\x69\x34\x56\x6d\xf3\x84\xcd\xe3\x24\x0a\x6f\x57\x9a\xf5\x8d\xed\x15\xe4\x56\x89\x17\xd7\xd5\x41\xb2\x04\xc2\xf3\x2a\x1d\xec\xe6\x76\x80\xf8\x18\xea\xe0\xd2\x1f\xfe\x50\xd0\xf5\x34\x62\x77\x5e\x38\x8b\x5b\x7e\x02\x14\xbc\x1b\xd3\xc4\x3a\x3f\x0a\x89\xce\xad\x49\xf6\x53\x76\xe6\xe2\x00\x46\x55\x69\x6f\x79\x5f\x66\x71\x78\xf2\x05\x3e\x95\x74\xcd\xdf\x6d\x77\x26\xed\xa9\xf5\xf8\x01\xaf\x44\xc2\xb3\x15\xc6\x98\xdb\x53\xd1\x11\xba\x8c\xad\x0a\x02\x87\x2c\x3c\x4a\x37\x5f\x5a\xb1\x41\x5c\xef\x5d\x6d\x03\x55\xaa\xfb\x4a\xa7\x21\x57\xa3\x45\xbb\xc5\x17\x07\xdd\x91\x11\x92\xac\x10\x04\xec\xd6\xa4\x34\x83\xa2\xfe\x02\xd5\xf4\x17\x78\x6d\xa8\x2d\x12\xed\xc2\xe6\xf3\xb9\xbc\x64\xa0\xb9\xaa\x8f\x6e\x2d\xe3\x2b\xf7\x94\xc6\x4d\x62\x45\xc0\x7e\x39\xeb\xd7\x98\x73\x7c\xd7\xeb\x9b\x82\x49\x07\xf9\xca\x73\x3e\x49\xaa\xf0\x25\x2f\xbb\x60\x66\x53\xa1\x62\xcb\x9f\x2b\x17\xdb\xe1\x4d\x53\x7a\x8e\x39\x9e\xd8\x31\x65\x86\x6d\x5e\xa1\x62\xc5\x63\x1a\xe1\x35\x30\xc7\xfb\x9b\x1f\x49\xe9\xc4\x10\xf8\x6c\x4d\x31\x79\x4f\xfe\xf3\x88\x78\x09\xb4\x31\x01\x7e\x37\xb3\x71\xf8\xbe\x8e\x4b\xcf\xe9\x57\xc0\x4f\xe3\x53\x00\x95\x08\x28\x26\x86\x89\xc8\x8b\xe1\xf8\x33\x57\x5c\x46\xd3\x31\x1d\x60\x55\x50\x29\x04\xd0\xe8\x18\x83\xb7\x36\xc4\x7a\x48\x78\x50\x08\x07\xa1\x11\x43\x1f\xed\x1a\x21\x57\x12\x85\x58\x82\x09\xcb\xeb\x6d\xbb\x21\xf0\x7d\x79\x69\xf9\xb2\x86\xd7\x23\xde\x88\x1a\x7d\xa7\xdf\x26\x8e\x1a\xa1\xe9\xa4\x87\x2f\xb1\x93\x80\x4d\xc2\xc0\x73\xe0\x29\x97\x40\x48\x53\xac\x7c\x03\xa8\x74\x94\xd3\x50\xe6\x0a\x6d\x5b\x58\x23\x90\x83\x70\xb9\xc6\xd7\x62\x89\x85\xec\x6a\x6f\x7d\xcc\xdb\x32\x04\xac\xc1\x00\x03\xb3\x0c\x8a\x69\x30\x17\x83\xe2\x6d\xa9\xa0\x2a\x97\xb8\xa1\xa3\xd0\xd1\xcd\x09\x6d\xb7\x1b\x64\x7f\xc1\x14\x2a\x00\x66\x44\xff\x8b\x98\xa0\x58\x0b\x8d\xf2\x12\x04\xef\xb8\x0e\xda\x3c\x8c\x1e\x38\xd3\x16\xf5\xd0\xee\x77\x49\x79\x81\x93\x7e\x25\x9b\xb9\x04\xb1\x70\x35\x09\x03\x36\xf2\x02\xec\x1f\x5c\x2b\x3f\x95\xf0\xe1\x86\x5f\x74\x13\x7a\xcb\x10\xb4\x2a\x14\x2e\x82\x26\x50\xbc\xc5\x8a\x7e\x77\x21\xa1\x17\xfd\x36\x29\x5f\x60\x86\x97\x60\x44\xfa\x08\xa6\xac\xde\xf9\x1f\x4d\xe5\xe7\x52\x95\x0c\x43\xae\xda\xcb\xbc\x3b\xca\x7f\x44\xc4\x5b\x03\x00\xd0\x33\x48\x3d\x17\x19\xd8\xf3\x09\x96\x17\xf1\xfb\xfd\x2b\x3e\xb2\x83\xce\x69\x6a\x38\x17\x4b\xf8\x0e\xae\x27\x19\xa2\xdf\x8d\x19\x00\x3f\xc2\xb7\x13\xb8\xc8\x63\x6a\x00\x3b\x51\x8c\x34\x32\xa5\xfa\x84\x5a\x76\xa7\xe7\x33\xdf\x27\xe5\xf3\xeb\x53\xf5\x52\xdb\x5f\xfc\x02\xdb\x6e\x37\x3e\x95\x7e\x7d\xa8\xd7\x4b\x9f\x8d\x7d\x86\xa4\x36\x9a\x4e\xf0\x6d\xe6\x45\x73\x52\xee\x9c\xbf\xd5\xee\xb2\x11\x0d\xe2\x89\x97\x10\x1a\xc4\xf7\x2c\x02\x57\xd2\x09\x8b\x63\x3a\x62\xe6\x62\x95\xde\x9b\xd9\x52\x7c\xe4\x80\xa5\x01\xee\xb6\x01\xc2\x11\x09\xee\x57\x49\x1c\x92\x7b\x06\x90\x0b\x7a\x83\xc4\x03\x23\x7f\x04\x5b\x30\x82\xd4\xde\x69\x00\x21\xf1\x29\x55\xbe\xbf\x95\x82\x46\x5e\x5a\x6c\x30\x21\x58\x34\x6e\x8d\x17\x8c\x78\x3b\x29\xa8\x45\x7d\xcd\x2a\x1f\xf4\x15\x8f\xce\xc2\x3b\x0b\x9b\x5b\x6c\x4f\x98\x36\x23\x30\xc1\xa8\x24\xfa\x52\x55\x66\x52\x47\xd4\x58\xaa\x3c\x8a\xa1\xce\x04\xde\x72\xaa\x9c\x73\x18\x44\x0e\xc7\x6d\x10\x02\xa6\x2c\x97\x34\x87\x77\x54\x30\xb8\x9d\xe5\x83\x43\x32\x4f\xd9\x30\x49\x3b\x60\xbf\x0e\x23\xef\x7b\x18\x24\xd4\x27\x57\x74\x40\xca\xaf\xaf\x96\x0d\x12\x7c\x38\x13\x3a\x20\x71\x12\x4e\x11\x65\x0a\xbf\xc0\x88\x2e\x1c\x0a\x1a\xb7\xc9\x70\x16\x71\xb9\x07\x07\x61\x51\x03\x45\x5f\x64\xec\x95\x61\xd4\xbe\x17\xa4\x9d\xb7\xe4\xe8\x76\x97\x8f\x6e\x18\x46\xf7\x34\x72\xaf\xe8\xa0\x9f\x84\xd3\xd4\x04\x9e\x7a\x01\x23\x47\xf0\xa8\x79\x7a\x54\xb1\xce\x47\x70\x16\x70\xe8\x2c\x06\xbb\x3d\x78\x43\xc0\xeb\x27\x64\xc8\xc3\x0c\x02\x81\x91\x8e\xaa\x46\x20\x9c\x49\xb9\x50\xc0\xc2\x4c\x7b\x51\xe4\x8c\x80\xae\x34\x82\x09\xa7\x31\x45\xfb\x0d\x8b\x12\xcf\x91\x53\x73\xa3\xa7\x46\x3d\xb1\x20\xc0\xc4\xe9\x51\x41\xd7\x03\x7b\xf1\x18\x14\x19\xaa\x4e\x18\x4d\x04\x83\x8e\x8e\x1e\xdd\x83\xf3\xe4\xc1\x49\x0f\x0c\x89\x65\x56\x6e\xf7\x6c\xd1\xcb\x59\x5b\x42\xb8\x42\x3b\x44\x66\x81\xf4\xb8\xcb\xc9\x53\xd6\x26\xb4\x0d\x95\xeb\x29\xbf\xa1\xb1\x37\x4c\xc8\xc5\x2c\x21\xe5\xfe\x45\xa5\x4a\xe8\x2d\x25\xf0\x04\x85\x5f\xd4\x49\xf9\xb4\xdf\xa8\xd8\x2e\x1a\xe4\xb8\x91\x4a\xce\xe2\x05\xe4\x38\x7d\xb6\x48\x1a\x59\x21\x8d\x02\x6a\xa9\x51\xca\xa1\xa8\x1b\x90\x72\xbf\x5b\x40\x50\x3d\x43\x50\xfd\x11\x04\x0d\x97\x11\x54\xb7\x09\x52\x27\xc6\x45\x40\xca\xef\x2f\xce\x55\xe7\x85\xe6\x73\xb5\x0c\x2d\xd8\x9f\xae\x2c\xf0\x4b\x2e\x5d\x8d\xc6\xe2\xa3\x40\x93\x31\x1c\x72\x3a\x0c\x69\xfe\x93\x09\xd9\x58\x4c\x48\x9b\x06\x0e\xf3\x49\xb9\xdd\xd2\xac\xe8\x0e\x09\x6c\x78\xee\x0c\x63\xde\x95\x5a\xaf\x1d\x88\x4d\x77\x62\x48\xb3\x31\x99\x30\xd7\xa3\x09\xf3\xe7\x86\xd2\xf2\x4c\xe4\x6f\xe6\x3a\x2b\x7b\x60\xce\xcc\x18\x45\x37\x41\xc0\x24\xb1\xa7\xc1\x1b\x54\x14\x59\xfe\x39\x18\x8d\x21\x40\x2d\x8a\xd4\x86\x46\xea\x48\x49\xbb\xc7\x2a\x67\xca\x3b\x46\xc0\x01\x43\x69\xfa\x19\xc9\xaf\x62\x01\x7e\xec\x81\x8e\x00\x81\x9e\xa1\x4c\xf0\xa4\xd5\x88\x0c\x84\xbc\xba\xfa\x71\x99\xc3\x55\x60\x39\x74\x59\x30\x64\xbf\xaf\xe6\xf2\x6c\x2f\x7c\x0c\xb8\x2d\xfd\x52\x4a\x2d\xf8\xd9\x20\x4e\xbc\x64\x96\x30\x52\xee\x5f\x1f\x14\xed\x88\xed\xd6\x79\x01\xf3\x68\xee\xa6\xcb\x79\x6a\x68\x5e\x78\x6b\x2c\x77\xfa\xed\x82\x63\xa3\x31\x58\x3c\x07\x3a\x78\x9d\x7f\xd1\xe9\xb7\x33\x25\xf2\x03\x61\x0d\x20\xca\xb2\x19\x89\x20\x22\x42\x31\x42\xc1\x72\xc6\x37\x91\x37\x74\x74\x59\xa7\xdf\x2e\x88\x2e\xc3\xf6\x8c\x2e\x25\xca\x86\xa4\xb4\x52\x10\x0c\x90\x17\x46\x96\xf6\x66\x17\x50\x23\xb2\xa9\x14\x5a\x03\x3c\xd7\x97\x0f\x0b\x15\xc1\x97\xc3\xa2\x95\xbb\x4e\x76\x48\x7e\xe6\x1f\x09\xd9\xee\x45\xb9\x19\x78\xaa\x64\xc0\xfc\xf0\xbe\x56\xab\x19\xa0\x32\x2e\x7b\x20\xe5\xee\xf9\xa1\x12\x9e\x53\xef\x96\x6b\x4e\xa0\x2c\x54\xf1\x46\x7a\x2b\x51\xa9\xde\x2b\x25\x31\x97\xe6\x9d\x4d\x4e\xb3\x75\x15\xfc\x54\x3a\x5c\x7e\xae\xf1\xae\x72\x8e\x5d\x08\x34\x05\xa5\xa8\x7c\xde\x39\x2d\x20\x70\x30\x4b\x88\x1b\xb2\x38\x28\x25\x84\xba\x2e\x9c\xb0\x05\xea\xe7\xce\x56\x0e\x79\x9d\xa7\x1d\xbb\xf9\x6a\xeb\x61\x78\x1f\x2c\x56\x5b\xe5\xbb\x70\x9f\x25\x5c\x83\xed\x17\xcc\xfe\xce\x4e\x0e\xa9\xaf\x57\x22\x55\xea\x96\xf6\x17\xa3\xd4\x18\x2a\x69\x90\x56\xf4\x39\x14\xf2\xd0\xeb\xda\xfa\xcd\x6c\x0a\x77\x85\x62\xed\x65\xc7\xcd\xa1\xf7\x6c\x85\xab\x0c\xf6\x7b\x9a\x2f\x00\x7d\xb4\x16\xa1\xb6\xd0\x24\xe5\x7e\xbf\xa9\x6f\x95\xe0\x5c\xc2\x2f\xb6\xc7\x4d\xc3\x25\x8d\xf3\xd5\x86\x9a\xd0\xd9\x65\x0c\x68\xf3\x85\xa7\x6c\xce\xf0\x58\xce\xf0\xce\x17\x1f\xad\x16\xf1\x1b\x9c\xf8\x8d\x3c\xe2\x37\xfe\x7a\xe2\x87\x39\xc4\x5f\x2c\x26\xfe\x90\xdd\x79\x0e\xd3\x58\x0a\x68\x8f\x28\x1f\xb6\xfb\xc6\x21\x23\xd0\xc1\x28\x39\x6c\xf7\x75\x60\x22\x5e\x3d\xb0\x81\x35\xd9\x80\x76\x79\xf4\x02\x99\x8a\xb4\xf6\x04\x75\xa7\x2d\xf2\xce\xea\x92\x9c\xae\xc3\x4e\xbb\xf7\xb6\xdf\xaf\x4a\xd8\xab\x44\x64\x0a\x8a\x19\x9b\x48\x6f\x94\x81\x5f\x20\xba\xbb\xf5\x1c\xf6\x5c\x2e\x3e\xd1\x0a\x63\x69\x33\xf1\x4a\x19\xbc\xa9\xfc\x58\x35\x5b\xec\xc1\xd9\x31\x1c\x92\xcb\x28\x4c\xd0\x35\xba\x15\x31\x4a\xca\xfd\xcb\x96\x62\xff\x52\xaf\x0d\x39\xbc\xed\x9c\xe1\xdd\x2c\x9e\xfd\x0e\xc6\xac\xa4\xbb\xef\x3c\xa5\xfb\x97\x39\xdd\xbf\x5b\xb2\x72\xe4\xf8\xa5\xd8\xf5\x2f\xfa\x8f\xef\x38\x6f\x07\x7d\xbf\xd2\x92\xd5\x0b\xd2\x80\x0e\x29\xf7\xdb\xdd\x2a\xea\xac\x87\x9d\x76\x57\x9f\x97\xe2\x4e\xa8\x92\xb7\x76\x0f\x6b\x84\x5c\x0c\xe2\x10\x4e\x78\x70\x54\x0e\x87\xc2\x4e\x49\x9c\x12\x29\x1f\xb6\x0a\x36\xfd\x5d\x9a\x43\xf2\xc7\xe5\x9b\xa8\x8d\x1e\x87\xe8\x79\xbf\x34\xf6\x9a\x4e\x4a\x5d\x5c\x84\x8c\x52\x6e\xf7\xbb\x56\x18\xba\xcf\xa8\xc8\x84\x3a\x09\xe3\x24\x9b\x54\x9a\x68\xc0\x94\x82\xd1\x0c\x72\x46\xf3\xe9\x0f\xad\xab\x7c\x48\x03\x19\x1c\x5c\x00\x60\x20\xbf\x5e\xb4\x28\xdb\xfd\x6e\x7a\x09\xe6\x04\xf2\xeb\xd8\x13\x11\x41\xa5\xae\x3a\x7c\x07\x5c\xbf\xe8\xb7\xd7\x2f\xcf\xd6\x5b\x97\x6d\xe2\x84\x93\x09\x0d\xdc\x58\x98\xc8\x94\x5d\x5a\xc2\x88\x99\x16\xe9\x67\x98\xd9\x10\x77\x2c\x99\x37\x56\x06\x67\x79\x89\x08\x13\xa3\x31\x46\x7b\xe9\x17\x02\xab\xff\x50\xda\xae\xd2\x13\x04\xf8\x6b\x0b\x36\x9e\x92\xc8\x9b\x57\x30\x87\x4e\xce\x1c\xfe\xfa\xeb\xe2\x55\x94\x63\x32\x07\x6e\x40\x58\x98\xe2\x61\x5b\xb2\x28\x62\x3e\x96\x16\xd6\x93\x50\x55\xc7\xf4\x85\x05\x94\xe5\x29\x1c\x9f\xff\x80\x74\x65\xee\x29\x17\xb9\xf7\x14\xed\x1b\xb0\x80\xa9\x66\x3d\x0b\xea\xc4\xc0\x77\x50\xd7\xe7\x7b\x9a\x0e\xbc\x35\x83\xc8\xd4\x1b\xe7\xa2\x8b\x0a\xe7\xab\xd9\xcd\x3b\x15\xef\xe7\x72\xb5\x4d\x62\x10\x18\xb8\x15\x73\x96\x2c\xe8\x4b\x35\xc1\xab\xd7\xd4\xfd\x8c\x46\xf3\x6c\xfc\xfe\xa7\xfa\xe7\x1a\x64\x95\x2d\xaf\xff\x57\xf9\x57\xf7\x45\x65\xaf\x5c\xfb\xb1\xf2\x9f\xeb\xe2\xd5\x12\x63\x9a\xe7\x9a\xbc\x6c\x75\xb2\xcf\x5b\xfe\xd4\xfc\xbc\x67\xbe\xc9\xea\xeb\xdb\x05\x5c\xdf\x78\x91\xc6\xe7\x1c\x04\xad\xd4\x2b\x73\x2a\xce\x2f\xb8\xa3\xbe\xe7\x92\x8b\x7e\x3b\x37\x0c\x34\x4b\x4d\xa5\x62\xc0\x1c\x2e\xba\xd2\x5d\xa4\xae\x74\xf0\x78\xeb\xcc\xc9\x99\x78\x5a\x28\x5f\x9e\x3d\xfe\xd0\xca\xd3\x33\xff\xeb\x5f\xa9\x8b\x98\xc1\x12\x22\x27\xbd\x3a\x47\xca\xad\xcb\xf6\xe3\x87\x98\xa7\x8d\x7e\xf9\x57\x0e\x11\xc0\x59\x1e\x20\xe6\xf0\x3a\x00\x17\x06\xc8\xe4\x0b\x48\xd2\x08\x15\x18\x33\x12\x82\xeb\x23\x05\x7f\xda\x69\x18\xc7\xde\x00\xd2\xbc\xe2\xeb\xd1\x52\xc5\x5c\x84\xb2\xa9\x9e\x8e\xc0\xad\x17\xee\x00\x2f\xe1\x2e\x6f\xa5\x9f\x36\x82\xe6\x62\x52\xee\xbf\x6c\x37\xae\xa4\x03\xb1\x6a\xe1\x58\xb7\xb0\xb3\xb4\x85\x1d\xa3\x05\xeb\xe7\xfc\x00\x10\xcc\x35\xcd\x34\x8e\x67\x13\x46\xa0\x4f\x42\xfd\x7b\x3a\x8f\x8b\x27\x38\x3d\xaa\x53\xe1\xac\x0c\x21\x85\x4e\x88\xa8\x69\x7c\x8b\xf3\xd9\x1d\xf3\x49\x23\x3d\x86\xb3\xc5\xe5\x9b\xe9\xf2\xe7\x8b\xcb\x6f\x64\x1f\xa2\xb9\xc0\x35\xeb\x2b\x0b\x97\x90\x9e\xc2\xa2\x2b\x99\xa9\x56\x73\x06\x59\xe4\x0a\x22\x8f\x86\x57\x30\xf4\x3a\x1f\x3a\xf8\x82\x8c\x57\x05\x50\x83\x9d\xeb\x77\x2b\xc9\x21\x2a\xa0\xff\x51\xca\xbe\x00\x63\x52\x02\x53\x44\xff\x03\x42\x03\x79\x25\x11\x96\xd0\xf2\xbd\x51\x00\xb1\x5f\x57\xfc\x72\x05\xf1\x81\xa7\xe7\x59\x89\x3a\xf2\x7c\x3f\x4e\x45\x6e\xe3\xf3\x77\x89\xeb\x23\xa0\x36\xf9\xde\x80\x45\x90\x24\x79\x30\x27\x77\x49\xc2\x62\x85\xc0\x27\x22\xf8\x2d\x4a\x36\x04\x25\x6e\x38\x1b\xf8\x6c\x6d\x0c\x61\x39\x04\x4d\x3f\x49\x38\x25\x63\xea\x0f\x81\xa0\xc3\xd7\xa7\xe6\x22\xf9\x0f\x08\xbd\x2c\xaa\x29\x62\x84\x8a\x2b\x6f\x89\xca\xe8\xaf\xb2\x06\xb9\xdf\xf1\x8d\x0d\xe2\x31\xdf\xa5\x8a\x6f\xdb\x7d\xa5\x8a\x1f\xbe\xcb\x18\xf9\x40\x36\xff\xe3\x5f\x23\x98\xc2\x7c\xba\xa3\x6c\xa7\xa9\x37\x30\xcf\xf7\xcb\xa5\x8e\xc2\x7e\x79\xb4\xb4\x81\xa4\xfd\x1f\x43\xd2\xaa\xa9\x07\x1d\x61\xb8\xac\x91\x15\x6e\xff\xf0\x06\x60\x2e\x8e\xb2\x51\x1e\xe5\xa5\x62\x08\xcc\xff\x21\x7f\x17\x9b\x44\xb7\x7f\x41\x76\x76\xb6\x76\xd7\x1a\x19\x83\xbd\x2e\x7c\x2c\x0a\x23\x66\x6e\xa6\x1c\x1c\x80\xbe\x2f\x3c\x22\x70\xaa\x6d\xbf\x08\xe6\x8c\xc3\x2c\x64\xec\x92\xa7\x9a\x3c\x59\xf8\x3f\xff\x32\x59\xf8\xc1\x84\x8e\xe4\x7f\x1c\x97\x14\xbe\xf4\x23\x91\x41\x90\xa9\xf2\x76\x93\x8f\xbb\x31\xae\x3c\x75\x17\xb3\xed\x64\x7d\x15\xa1\x56\xee\x1b\x56\x29\x9c\xd9\x32\xb9\x8c\xc5\xd4\x66\x9e\x13\xcb\x10\xce\x6d\xae\xdf\x8a\x51\x3a\xfd\x1a\x5a\x86\x18\x1d\xb3\xf4\x8f\x46\xe9\xe6\xd2\xd2\x2f\x8c\xd2\x1b\x4b\x4b\xaf\x2d\xa6\x64\xc3\xa6\xbb\xb6\x98\x92\x54\xe9\xf5\xc5\x94\xc8\xd2\xf0\x98\xaf\x03\xf1\x2f\x41\xce\xc5\x0a\xab\xcb\x63\x41\x04\x3e\xea\x19\xe1\xd7\x3b\xb0\xd4\x1f\x46\xf4\x1e\xae\x7e\x6a\xa5\xb5\x40\xaf\xf2\xf8\xda\x3d\xf1\x82\x91\x1b\x4e\x48\xf9\x5a\x45\x31\x1f\xe8\x6f\x41\x16\x62\x52\x16\xd1\xfa\xb2\x04\xec\xe3\xb3\xc4\x19\x8b\xbf\xdb\x24\x8c\x60\x7f\x3e\xf2\x82\xc0\x8b\xe5\xc7\x3d\xfe\x49\xc4\x02\x55\xee\xad\xfa\x80\xb4\x69\x40\x5d\x8f\xca\xb8\xaa\x13\xb2\x46\x8e\x19\xd7\x1d\xc4\x07\x1f\xc8\x1a\xe9\x26\xd4\xd7\x45\x3a\xbc\x93\x6d\x08\xab\x8a\xee\xd9\xc8\xa3\xc1\xfa\x21\x35\x7a\xfb\xc8\x39\x39\x35\x3f\x79\xcd\x6b\xbc\xe4\x1f\xdf\x33\x57\x7f\xbc\x0f\x9f\x78\x71\x9c\xdd\x4f\xfe\xa2\x9d\xa4\x9c\xa3\x5f\x57\x72\x3e\xfb\x31\xe7\xb3\x17\x39\x9f\xad\xe5\x7c\x56\xcb\xf9\x6c\xbd\x68\x07\x43\x8c\x93\x7f\xca\x99\x26\xd0\xcf\x72\xee\x9a\xc5\x80\xa0\x19\xa2\xca\x29\x84\xaf\xcc\x35\xdc\x19\x73\x05\xbb\x38\x0b\x55\xc5\x42\x17\x55\x38\x1f\xe5\x52\xc6\x13\x7b\x59\x56\x2d\x67\xfc\x79\x2f\xeb\xa9\xaf\x5a\xac\x94\xc8\x6f\xbf\x11\xf5\xe7\x5a\x4e\x07\x4b\x32\x71\x2d\xe9\xe0\x47\xbb\x83\x5a\x4e\x07\x4b\xb2\x77\x2d\xe9\xe0\x85\xdd\xc1\x7a\x4e\x07\x4b\x32\x7e\x99\x1d\x3c\x23\x39\x21\x0d\x85\xa8\x28\x29\x24\x39\x69\x2a\xb0\x77\x46\xbe\x07\x3e\x97\x9e\xd8\xe4\x05\x29\x3d\x7f\x65\x2b\xe3\x59\xcc\xb7\xd5\x4e\xb3\x03\xea\xdc\xca\xe7\xb6\xc3\x4e\xfb\x40\x5b\x5f\x6f\xae\x36\x9b\xe8\xed\x3c\x9b\x2e\xd3\x91\xd2\x8b\x7f\x7b\x89\x81\x9b\xde\x31\x13\xdc\x22\xfb\xa4\x0f\xad\x14\xfb\x20\xe6\x85\x0e\xd8\x69\x85\x21\xf9\xde\xf2\x2e\x8a\x3d\x01\x0b\x1c\xfe\x7f\xb7\xdc\xc0\xee\x69\xe4\x1a\xdc\x3b\x32\xb9\xd7\x6c\x3c\x95\x7b\xbb\x8b\xb9\x57\x00\x1c\x71\xd9\xca\xf8\xd3\x41\x6b\xfb\xcb\x2d\xf7\x79\xb1\xae\x27\xd8\xf2\x7e\x16\x7e\xee\x9c\xdf\x77\x7d\xab\xeb\xac\x2b\x1f\x74\xfd\xf3\x1f\xec\x5a\xc0\xf9\x99\xca\x97\xf2\x70\xf3\xc3\x7b\x16\xa1\x8f\x9b\x13\x46\x01\x66\x14\x43\x48\x95\xc5\xb6\x20\xe5\xcc\xe8\x09\x33\x76\xc4\x9c\x70\x14\x78\xdf\xd1\xbd\x19\xfd\x70\xef\x65\xae\x85\xf1\xf4\x94\x77\xc4\xfb\x39\x98\x8d\xda\xe1\x64\x4a\x75\x3c\x3b\xc1\x58\x76\xa1\xa6\xa7\x47\x7f\xb4\x78\x1a\x8f\x66\xbe\x2f\x12\x60\x97\x7b\xdd\xcc\x0b\x3c\x34\x51\xec\x2b\x68\xe0\xe2\xa7\x9f\xb2\xc5\x17\x06\xd7\xce\xd8\x24\x8c\xe6\x00\x6b\xb6\x3e\x0b\xf8\x3f\x2b\x9b\xcb\x80\x0c\x3f\xe7\x9c\x9d\x2c\x1e\x9d\xe1\x5f\xd7\x24\xe5\xd3\x7e\xb3\x62\xbb\xd7\x81\xe7\x53\xfa\xc5\x9c\xc6\x59\x17\x3b\xe8\x2c\x58\xe6\x5f\xd7\xb4\xfd\xeb\x8c\xde\x37\x78\xef\x1b\x79\xbd\xa7\x9f\xbc\x0b\x7b\x0f\x97\xf5\xbe\x51\xd8\x7b\xb3\x4a\x7a\x70\xe1\xe7\x44\xf4\x56\xa5\xa2\x97\x47\xc5\x6f\xc5\x54\xf4\x1e\x41\x45\x33\x97\x8a\xbc\x99\xc8\xa5\xe2\xf7\x65\x54\x14\xcf\x44\xc3\xa0\xa2\x91\x4b\x45\x63\x55\x2a\xfe\x67\x19\x15\x29\x07\x50\x8c\x5c\x26\x9e\x13\x06\x24\xa0\x13\x0c\x2b\x11\xb8\x1c\x89\x97\xf8\xcc\x78\x01\x83\x3d\x01\x61\xa1\x4d\xf8\x0e\x55\xcc\x8e\x75\x80\x24\xa2\x8b\xf4\xc7\x9c\x40\x7e\xde\xde\x15\x6f\x2e\xcf\xee\x9f\x47\xf7\x32\x12\x9a\xf6\x5a\x94\x64\x59\xc0\x69\xeb\x11\xa3\x2e\x71\x42\x3f\x8c\xc8\x94\xfa\x2c\x49\x72\x9b\xda\x5c\xea\xc7\xd8\x8a\x46\x31\x71\xc2\x09\x44\x2d\xd0\x58\x47\x53\x95\x00\xb4\xb7\xb1\x17\x8d\x06\x0d\x52\xab\xd5\xc8\x1e\x7c\x70\xce\x3f\x38\x2f\x19\x09\x3f\x10\x1c\x36\x9e\xfa\x9e\x72\x67\x8f\xd9\xc4\xe3\xb4\x05\x02\x50\x92\x45\x34\x61\x90\x10\x6a\x36\x1a\x0b\xf8\x6e\x2f\x52\x69\x22\xf3\x31\x9c\x3f\xd5\x3f\xd7\xa0\xd5\x72\x69\x4f\xd8\x8d\x20\x8b\x16\xf5\xa2\x36\x24\x61\x37\xf2\xcd\x9b\x50\xf9\xeb\x90\x7c\x4e\x28\xfa\x9c\x41\x97\xc8\x1f\x69\xc1\x4f\x16\x26\x2b\x36\x2a\xec\xa5\xb2\x8c\xb6\xa2\x88\xce\xc9\x3e\xf9\x84\x60\xc2\x5c\x89\x2b\x4b\x8a\xce\x31\xd6\x66\x9f\xd4\xf7\xcc\xbf\x7f\xd2\xe4\xee\x91\x17\x2f\xf4\x37\xd6\x6d\x84\xf7\x89\x6a\x47\x6a\x48\x9f\x8c\xa6\x7e\x24\x4d\x89\x12\xac\x2a\xc1\x95\x1a\x5e\xba\x32\x65\xc9\x0b\x62\x81\x1e\x1b\x9d\xfc\xbc\x6f\xf1\x45\x42\x08\x6b\xf5\x35\xf1\x82\x19\x4b\xd7\x15\x7d\x41\x3e\x01\xeb\x5d\xb0\xf4\x4b\x89\x4c\x18\x0d\x62\x40\xff\xc5\xb4\xa5\x11\x46\xa4\x23\x0c\xbb\xe1\xa9\x8e\x02\x6b\xa4\xf7\x27\xf6\x40\x7c\x6f\x80\x53\x10\xd7\xa2\xd1\xe0\x2a\x7c\xdf\x68\x94\x4d\x5a\x3f\xe9\x61\x68\xc8\x64\x9b\x44\x1d\x18\x69\xcd\x1b\xe6\xa7\x30\xb8\xf0\x82\x94\xf6\x50\x05\x57\x35\x15\xfa\x86\xe6\x81\xa1\x8c\x17\x11\xfa\xd0\x68\x5c\x85\xed\x7e\xbf\x6c\xb5\x54\x4c\x58\xd1\x78\xc8\xbe\xd1\x45\x6e\x92\x3f\x1c\x88\x39\x5d\x4b\x5d\x36\x3e\x6f\xc2\x20\xed\x16\xbe\x86\x5e\x00\x8b\x8a\x33\x01\xe1\x4c\x33\x50\xa1\x46\xdc\x4b\x3c\xa6\x53\xb5\xa5\xea\x24\x27\x9e\x46\x4c\x15\x5e\xd5\x12\x0b\x26\x8c\x26\xe4\xb9\x48\x73\xcc\xeb\xee\x63\x24\xda\xf3\xaa\x78\xfc\x12\x81\x69\xa8\x6e\x21\xf0\xe3\x2b\x65\x69\xab\x93\x35\x72\xc0\x95\x1a\xfc\xb3\x41\xd6\x48\x77\xed\x80\xd1\xc9\x33\x85\x26\x7a\x1d\xb8\x2c\xf2\xbd\x80\xa5\xf4\x3f\x0a\x6f\x56\x80\x8b\xeb\xb2\xb5\x21\x75\x92\x90\xc4\x32\x8b\xa5\x48\xa2\x8b\x6a\xa1\x77\xc5\xd5\xc2\x26\x6c\x4f\x27\xe2\xbe\x06\xae\x0d\xe0\x5d\x0e\xb9\xd7\xe0\x96\x71\xdd\xef\x19\x81\x04\x70\x93\x43\xe2\x45\xa6\x31\x99\x17\x3c\x1b\x25\x84\x19\xa8\x14\xeb\xd2\x1b\xf3\xd6\x92\x73\x66\xf1\xb6\x28\x9e\xc6\x4d\x16\x97\x6b\x95\x75\xaf\xb2\x67\xc2\xde\xe7\x03\x75\xb6\x61\x81\x72\x25\x11\x13\x22\x5c\xf4\xdb\x64\xab\x0e\x9d\xe1\x25\x34\xf7\x14\x23\x59\x10\x5a\x89\xc7\x23\x00\xd6\x33\x90\x3c\x45\xb1\xd0\x06\xd5\x65\x64\xca\x95\xed\xef\x0a\x5f\xd5\x0e\x3a\xad\xb3\x45\x40\x2a\x7f\xb8\x83\xeb\xf3\xc3\x4e\xef\xb4\x7b\xde\x59\x25\x10\xfb\xc9\xa3\x38\xbd\x68\x9f\xe4\x42\x9f\xe2\x09\x8e\xde\x28\xc4\xf1\xbd\x29\x5e\x9c\x94\xff\x17\x75\xb9\x48\x5b\xca\x3c\x73\x89\x3b\x03\xc8\xd3\x98\x39\xb3\xc8\x4b\x20\x28\x1b\x5c\x17\x11\x17\xab\x46\x48\x8b\x44\x6c\x12\x26\x8c\xd0\xe9\xf4\x19\xe4\xa5\xa0\x18\x70\x27\xd2\x38\x0f\xc2\x64\x4c\xee\x23\x4f\x04\xe3\x02\x11\x42\x64\x15\x11\xc4\x01\x19\x61\x71\xcc\x82\xc4\xa3\xbe\x3f\x87\x96\xe8\x2d\xc3\x54\x25\xf3\x70\x16\x91\x98\xc5\x71\x2a\x7e\x59\x37\xe0\xd2\x84\x3e\x25\xd7\xe7\x33\xc8\x98\x57\x90\xc5\x11\x17\x4e\xf3\x0f\xa8\x34\x8a\xc0\xbd\xc1\xf6\xe6\x1a\x27\x52\x29\x32\xc4\x1e\x01\xb6\x34\x35\x37\x3b\xe9\x1f\x85\x00\x74\xc2\x09\x4b\xc4\x7e\xbf\xd7\x35\x21\x56\x9b\xba\x2e\x20\x97\x12\xd2\xf7\x02\x47\x64\xe5\xd6\x80\xd9\x5e\x90\xb0\x91\xf0\x47\x82\xb7\xcc\xf7\x90\x50\x04\x72\x4b\xf3\xf6\x26\x84\xfa\x98\x00\x26\xa6\x13\xb6\x5c\x4d\x92\xae\x32\x9f\x9c\x69\x5c\x6f\x34\x37\x36\xb7\xb6\x5f\x7e\xfe\x11\x7c\x66\xd6\x53\x7b\x82\xb5\x92\x45\xc3\x30\x5b\xfb\x42\x2f\xad\xd1\x24\x1c\xa8\x45\x2d\x2b\xf3\x22\x79\x47\x8e\x13\x4e\xe7\xc2\x11\x22\x6c\x4b\x16\x58\x69\x55\xa1\x66\x3a\xe9\x2c\x80\x3a\x97\x07\x3e\x0d\x6e\x2b\x66\xa8\x41\xb9\xdb\x7e\x9d\xf1\x63\xec\x77\x3f\x95\xfe\xfe\x18\xb5\xdc\x83\xf6\xfb\x53\xea\x58\x3a\xb9\x47\xa3\x11\xa6\xcc\xab\xe4\x59\x21\xae\xa7\xa4\xdc\xbe\xbe\xce\xed\xbe\xf5\x98\xee\x71\xfd\x5f\x4f\x1f\xd1\xf7\x61\x78\x1f\xf0\xde\x0f\x73\x7b\x3f\x78\x7c\xef\x10\x33\xb0\x7a\xff\xd2\xf8\x55\x6e\x5f\x1f\xe5\x92\xd0\x7e\x3c\x09\x70\x3b\x7c\x04\x0d\x07\xd4\xb9\x95\x44\x1c\xe4\x12\x71\xf8\x78\x22\x20\xe4\x77\x75\x1a\x8c\xe0\x90\xf6\xf9\x69\x25\x6d\x60\xf2\xbd\x5b\x66\x4e\x59\x15\x32\xea\x4c\x2d\x6d\x69\x12\xde\x31\x85\xd7\x00\xd1\xfa\x81\x46\x8f\xe4\x8d\xc1\x0b\x3e\xe5\xda\x32\x02\xd7\xa6\x47\xd9\xf9\x93\x67\xfb\x91\xf1\x9e\x62\x78\x97\x7c\x6f\x86\xcd\x5a\xb0\xe3\x72\x31\x3b\xae\xa7\x7f\x09\x33\x8e\xfe\xd4\x85\xf7\x34\x56\x68\x2b\x46\x6b\x10\x87\x3e\x04\xc6\xb5\x5f\x67\xfd\xad\x39\xbd\xc7\x8f\x34\x1f\x58\xdd\xe7\x92\x4d\xd6\xd2\x39\x29\xe5\x0c\x89\xa0\x29\xbe\x5e\x2e\x73\x89\x79\xfd\x24\x62\x64\xbb\xc5\xe4\xe4\x25\xba\x49\xff\xa4\x2b\x37\x16\x8e\x45\xee\x3f\x46\x2c\x53\xb9\x2d\x42\xf1\xd3\xa3\xea\x2e\xd7\x9c\x1d\xd3\x3e\x90\x1e\x01\x17\x03\x59\x80\x5f\xe3\x86\x35\xc7\xa7\x93\x69\x19\x3e\xab\x92\x46\x35\x0b\x3d\xc6\x58\xd0\xf7\xbe\xb3\x1a\xb8\xe0\x40\x03\xea\xf2\xef\xe1\x9d\xdf\x23\x3f\x61\xa3\x7b\xc4\x7b\xf1\x22\x1f\x79\x3f\x1b\xa6\x9f\xd2\x0a\x3b\x11\x57\x6d\xbd\x00\x52\xc2\xf8\x74\x4e\xca\x9d\xc3\x2a\xc2\xdb\xe7\x1f\x0c\x6f\x6c\x4b\x2e\x7c\xf6\xcb\x9b\x55\x9e\x4c\x85\x3e\x91\xab\x4e\x58\xc9\xb3\xc8\x6f\xbf\x61\x41\xc8\xde\x98\x4a\x04\xa8\x86\xc6\x38\xe5\x07\xcc\x0f\xef\xcb\xe9\x24\x02\xb2\x72\xa3\x20\x1f\x01\x54\x6d\x0d\x42\x89\x18\x95\x53\xb5\x59\x50\xd5\x40\x86\xca\xa9\xb5\x61\x27\x2b\x65\xe2\x2d\xc0\x0d\x9d\x98\xc4\x74\x8e\x48\x38\x68\xb8\x78\x8e\x9c\x87\x47\x22\x8c\xf5\x7b\x2e\xf3\x19\x95\x7c\x1f\xc0\x3a\x10\x06\x4b\x36\x07\x91\xbb\x62\x92\x62\xae\xe1\x91\x5b\xcf\xf7\x95\x3b\xb4\x40\x70\xe7\x17\x40\xc6\x26\x31\x89\x66\x12\x1b\xaa\x78\x00\xb9\x82\x80\xde\x5e\x9d\x53\x21\x05\xd9\xb0\x4e\x3e\xe3\x27\x79\x52\x70\xf2\x4f\x90\x82\x9c\x89\xbc\x0a\xf1\xd8\x5f\x20\x05\x0b\xea\xc2\x69\xfd\x58\x29\x80\xba\xfc\x90\xca\x61\xa4\xd0\x34\x4f\x01\x92\xb8\xdc\xcd\xe7\xdf\xe9\xe3\x75\x4b\x68\x70\x15\xbd\x42\x84\xe4\x0a\x02\x0e\xf3\x09\x38\x7b\x0c\x01\x2e\xb4\xf8\x58\x02\xda\x86\x8e\x7d\x28\x74\xec\x67\x1a\x07\x04\x43\x29\x20\x52\x3d\x56\x80\x24\x60\x06\x83\x9c\x3c\x3e\x1b\x26\x55\x8d\xd1\x44\xad\x33\x5e\x06\xef\xe6\x8d\x6c\x49\xc4\x5b\xde\xc8\x38\xa5\x2b\x8d\x4c\x80\xb3\x73\xb5\xbd\x9f\xaf\xb5\xf7\x1f\xd3\xfb\x5d\x82\x0d\xae\xa6\xb7\x8b\xce\x51\x6f\xef\xe3\xee\x4c\x5a\x7e\x1c\x92\x52\x37\xf0\x12\x8f\x26\x4c\x03\x9b\x0b\x1c\xcf\x44\x00\xde\x97\x72\xb3\xd4\xe0\x7e\x34\xa5\x51\xc6\xc5\x9d\x0f\xe5\x6a\xf1\x50\x52\x71\x1c\xa6\x39\xfc\xa7\x7d\xd2\xc8\xbb\xb9\xc9\xf1\xae\x7a\x53\xe8\xe9\x34\x2d\x02\x02\x6b\xc8\x68\x32\x8b\x98\x02\x40\x83\x07\x0d\xc4\xf5\x4e\xe7\xde\x94\x16\x5f\xc3\x9b\xee\x13\xf9\x99\x5c\xc6\xe4\x4a\x79\xb9\x47\x13\xea\xfb\xf3\x2a\x79\x0e\x6f\x9e\xcf\x25\x3a\x94\x48\x30\x8d\x7d\xd5\x48\x17\xac\x19\xc2\x59\x1e\x2c\x1a\xa2\x9c\xca\x50\x3a\xf0\x7c\x2f\x99\xeb\xcc\xa5\x8a\x4c\xc0\xb0\x9b\x4c\x31\xf5\x2f\x25\xae\x37\x04\x3b\x43\xa2\xa8\x94\x51\xb2\x30\x10\xde\xd6\x44\xf8\xbd\x27\xa1\xed\x92\x7f\x19\x8b\xb4\x32\xa6\x0b\x5b\x88\xb9\xb0\x58\x22\x2e\xd2\xeb\xf0\x3e\xe5\xd3\x01\xf3\x63\x32\x83\x58\x99\x31\x7b\xa0\x2e\x73\xbc\x09\x95\x29\x2b\x1a\xba\xe6\xb7\x19\x8b\xe6\x8f\xa9\xdb\x5c\xb1\x57\xf0\x43\x15\x75\x36\x56\xee\x4f\xd5\x5a\x2d\x0e\x83\x0b\xe9\xcf\x57\x4b\x22\x40\xe1\x58\x33\xb7\xa2\x4e\xc1\x75\xff\xfd\x63\x56\xae\x75\xf0\x3c\xe1\xbe\x69\x29\x9d\x07\xf9\x4a\xe7\xc7\xff\x57\x95\xce\x81\x18\x65\xb1\xd6\xa9\xaf\x37\xea\x46\xa1\xef\x39\xaf\x2f\xf3\xef\x39\xff\xfd\x4f\xb8\xe7\xf4\x30\x7b\x10\x3c\x17\xaa\xdb\xe8\x28\xa2\xd3\xb1\xe7\x58\xa9\x9f\x1f\x17\xbf\xce\xc9\x1f\x2c\xf1\x68\x82\xc4\x18\x18\xad\xae\x9f\x07\x49\xf9\x32\xf2\x26\x34\x9a\x93\x43\x1d\xb2\x6c\xfb\x50\xca\x9b\xf1\x98\x46\x2e\x1a\x3d\xc1\x60\x28\xf2\x04\x93\x12\x26\x7d\x02\x93\x5f\x0b\x73\x4e\xba\x98\x91\xe9\x19\x84\x38\x72\x5e\x96\x50\xf3\xf4\x12\x89\xb0\x0f\x7b\xad\x13\x46\x11\x24\x49\x16\xcd\x51\x01\xf3\xaf\xf2\x60\x85\x60\x66\xfc\x91\xdc\x03\xac\xa3\x8f\x38\x33\x63\x46\x4a\x85\x7c\x29\xc1\x61\x93\x83\x5f\x98\x71\x54\xc9\x3b\x6d\x7e\xc8\x09\xb9\xfb\xed\xb7\xdc\x40\xbc\x05\x3a\xe3\xc2\x20\xe3\x8c\xcd\x3c\x7f\x52\xfa\xcc\x09\x03\xf7\x8f\x4f\x4b\x29\x87\xef\xbc\xa9\x95\x58\x6f\xf1\x1d\x66\xcc\x66\x3c\x6f\x68\x35\xde\xff\xbc\x84\xf9\xcb\x19\xf8\x73\x7d\xaf\xb9\xb5\xbd\x57\x4f\x47\x6a\x83\x21\x27\x67\x8d\xdf\x14\xac\x71\xf7\x91\x6b\x5c\xb6\x88\x6b\xbd\x17\xde\xaf\xba\xd0\x0d\x30\x13\xae\x86\x2a\xd4\x37\x6d\xe1\x78\x7d\x73\xa9\x61\x2e\xc0\xe3\x23\x5e\xdd\x0c\x92\xc2\xbc\x91\xa6\x11\x03\x38\x8b\x0e\x48\x1b\x42\xf4\xca\x57\x07\x59\x3c\x22\x5e\x7e\xf4\xd7\xad\x88\xf5\x75\xd1\xb9\x44\x08\xe4\xfa\x35\xea\xd6\x85\x77\x46\xb1\x9b\xb7\xc4\xbe\x5a\x06\xd7\xba\xf4\xc5\xa9\xa0\xe7\x8d\x6c\xcf\xf0\xda\x20\xf1\x09\x0b\x3b\x6d\xf9\xbe\xe8\x37\xce\x39\x46\xfa\x4c\xa6\x69\xec\x67\x91\x00\x39\x0b\xc7\x4b\xf0\x9c\x72\x0e\xb7\x7c\x95\x36\x7b\xda\x19\x59\x16\x33\xa3\xf6\x3e\x57\xc1\xe9\x31\x4b\x71\x1a\x1c\x19\xe1\x73\x30\x9b\x60\xee\x08\x7e\xf9\x6b\x87\x20\x92\xa0\x3c\x62\x04\x67\xcc\xf5\x28\x69\x87\xd3\x39\x29\x9f\xa1\xe0\xa6\x3e\xab\xea\xd0\x8a\xa1\xe7\x98\x58\x0c\x31\xd3\x80\x02\x12\xf4\x09\x8f\x5a\x2f\xe0\xc7\x6a\x51\x26\xcd\x34\x53\xbc\x3c\xeb\x83\xb7\x04\xb4\x14\x14\x73\x94\x96\x5e\xbe\xb4\xf8\xff\x3a\x69\x31\x16\xd3\x42\x71\x11\xde\x9e\x98\x77\x32\x5f\x60\xfe\xda\x51\x2c\x12\x98\x82\x41\x18\xb6\x6c\xf3\x08\x3d\xd6\xd0\x93\xdd\x1c\x6f\x2d\xdf\x8b\xd1\xaf\x42\x86\x48\x57\x01\x00\x67\x2e\x0d\x5e\x08\x40\x8c\xa6\x01\xd1\x2a\x9c\x9c\x98\x61\x84\x60\x02\x27\xe1\x1b\x26\xdb\x10\x77\xc2\x9a\xbe\x15\x92\xba\x74\x46\x2e\x8b\x1b\x99\x0a\x06\x6d\x90\x83\xd0\x97\x99\xb5\x48\x93\x1c\x51\x4f\xe5\x75\x25\x1b\x18\x66\xe3\x90\x72\x10\x06\x6b\x70\x51\x53\x15\x37\xb5\xb3\x88\xaa\xbe\x85\x89\x21\x49\x99\x4e\xa7\x8c\x46\x31\x3f\x4c\x78\xf3\xaa\xd2\x4b\xd2\x0d\x00\x41\x4a\x7e\xb0\xc3\x3f\xc0\x5c\x2c\x55\xe2\xd5\x58\xad\x4a\xc6\x9e\xeb\xb2\x20\x15\x11\x45\x76\x49\x3b\x0a\x01\x98\x9c\xeb\x01\xe5\x4e\xfb\xac\xb5\xb6\xb9\x23\xbf\x6e\x36\xd5\x00\x03\x81\xbb\x3c\x08\xc1\x19\x23\x22\x43\x3e\x22\x55\x70\x03\xd4\x59\xaf\x68\x58\xcd\x4d\xf8\x7e\x96\x1e\x5a\x73\x8b\xf4\x13\x46\xdd\x39\xaf\x93\x90\x81\xc8\x7f\xa9\xaa\xbd\x14\xa7\xe5\x1d\xc3\x02\x1e\x0e\x53\x7d\xbf\x43\x6e\xec\x51\x62\x7e\xb6\x9c\x91\x36\x77\x51\xe1\x5e\x30\xda\x8d\xba\x84\x9e\x62\x23\xcc\xc2\x88\xde\x5f\x49\x48\x0e\x7c\x8a\x4e\xcb\xbc\x58\xa3\xb0\x58\x4f\x0d\x6c\xa3\x59\x58\xe8\x58\xfa\x88\xf3\x62\x1b\x85\xc5\x3e\x30\x2e\xa2\xb2\xdc\xe6\x02\xd2\x66\x72\xda\x37\xb6\x0a\x4b\x9d\xd1\x11\x0b\x12\x2a\x0b\x6e\x17\x16\x6c\xcf\x55\xf4\xd7\xc6\xcb\xc2\x52\xef\xc6\x5e\xa2\x7a\xdd\x2d\x2c\x26\xed\x14\x65\x81\x1b\xe0\xab\x68\x36\x64\x35\x57\x66\x17\xb1\x7a\xb3\x51\x58\x4c\xb3\x7a\xb3\x59\x58\xc8\x64\xf5\xe6\x46\x61\x31\x8b\xd5\x9b\x9b\x0b\x48\x53\xac\xde\xdc\x2a\x2c\x65\xb3\x7a\x73\xbb\xb0\xa0\xc1\xea\xcd\x97\x85\xa5\x4c\x56\x6f\xee\x16\x16\xcb\xb2\x5a\x5d\x33\xc5\x5a\x24\x65\x5c\x9e\x15\x81\x8e\x30\xa6\x77\x8c\x4c\xbc\x07\xa6\x5c\xcd\xf0\x22\x07\xe9\xa2\x4d\xdf\xb3\x41\x88\x89\xee\x46\x41\x38\x61\x6b\x52\xc5\x42\x6f\x9c\x87\x3b\x4c\xf3\x48\x01\xf9\x5f\x05\x32\x70\x6d\x17\xd0\x09\x78\x47\x61\x40\xde\x79\xb7\xde\x94\x9f\xf3\xbc\x9d\xf2\x38\x49\xa6\xaf\xd6\xd7\x59\x50\xbb\x97\x9f\xd7\xc2\x68\xb4\xce\xff\x5a\xe7\x27\xdd\x17\x84\x71\xf8\x02\x86\x7f\xb9\xdf\x1e\x85\x11\x69\x6c\xaf\xe1\x88\x15\xc5\xa9\xdd\x9c\x6f\xf2\x7a\x83\xde\x5d\xb0\xa2\x11\xfc\xda\x94\xb6\xdd\xe2\x85\x2d\x4a\x6b\xa1\xdb\x2d\x5e\xdf\xa2\xac\x29\x7b\xbb\xc5\xcb\x5c\x94\xb6\x44\x70\x77\xc1\x6a\x97\x64\x2b\x49\xdc\x2d\x5e\xf4\xa2\xb0\x2d\x90\xbb\xc5\x6b\x5f\x94\x37\xe4\x72\xb7\x78\x0b\x10\x85\x0d\xf1\x6c\xd4\x17\xac\xea\x0c\xbb\x1b\xf5\xe2\xc5\x9d\x66\x77\xa3\x5e\xbc\xc6\xb3\xec\x6e\xd4\x8b\x97\x7a\x0e\xbb\x1b\xf5\x05\x2b\x3e\xcd\xee\x46\xbd\x78\xe1\xe7\xb1\xbb\x51\x2f\x5e\xff\x19\x76\x37\xea\xc5\xdb\x40\x9a\xdd\x72\x45\xec\xec\xac\x91\x30\x22\xcd\xad\x55\x57\x06\xe4\x57\xde\x23\x5b\x64\x8f\x5c\x16\x4e\xee\x25\x96\xdc\xb4\x4b\xe6\xd1\x75\xa9\x56\x1b\xa7\x86\x6b\xfd\xe2\xbb\x72\x73\x73\x6d\xe0\x25\x95\x55\x09\x6a\x92\x3d\xd2\x23\x7b\xe4\x98\xec\x91\x83\x42\xc2\xa2\xd1\xa0\xdc\xab\x92\xe3\x2a\x39\xa8\x68\x12\xb3\x75\xf3\x48\x4d\xd5\x15\x36\x38\x86\x1e\x87\x00\xef\x26\xf7\xb6\x58\xb9\x29\x92\xe7\x5c\xe1\x79\x2e\xfc\x85\xe1\x0f\xd8\xef\x06\x30\x1d\xcf\x6b\x84\x74\x03\xde\x50\x1c\x4e\x98\xce\x36\x82\xde\x23\xbc\x2c\x26\x35\xf3\x62\x4c\x20\x0b\x8e\x82\x11\x5a\x73\x68\x2c\x1a\xe1\x17\x17\x06\x1e\x76\x00\x56\xcc\x5b\xc3\x6e\x62\xf8\x77\x0d\x4b\x61\x72\x95\x24\x0c\x71\x93\x86\x28\x11\x15\x25\x26\x88\x8c\x59\x02\xcf\x5d\x4e\x38\x81\xc4\x1b\x43\x61\x10\x82\xb7\x2f\x14\x0e\x33\x17\x6d\x5a\xf9\x9f\xac\x88\x5f\x3c\x62\x49\x73\x6b\xbb\xec\x99\x60\x60\x45\x6f\x39\xc4\x23\x2f\x48\x33\xcf\xac\xe0\x81\xc3\x3f\x40\x2d\x6c\xa5\xf0\x8b\x45\xd6\x2a\xc3\xf3\x2f\x63\xa3\x86\x66\xab\xa4\x5e\x51\xde\xbd\x26\x79\x57\xd1\x8c\xb5\xf9\x80\x1f\x41\xe4\xd6\x12\x22\x9b\xf9\x44\xca\xf0\x86\x28\xc7\x90\x6e\x11\x89\xc5\x46\x05\xc5\x36\xec\x62\x83\x82\x62\x9b\x58\xcc\xe4\x4c\x89\x8b\x35\xb8\xcc\x93\x17\xa4\x44\xaa\xfc\xd7\x91\xfe\x75\xc0\x7f\xad\x94\x14\x9b\xe0\x05\x3d\x49\xa2\x78\x95\xe8\x12\xfd\xa4\x9e\xcf\x3a\xc9\x5c\x68\xd0\x8c\x09\xcc\xf8\x5e\x3f\xf1\xe2\x98\xfb\xde\x8f\xdc\x30\x38\x21\x1f\xdd\x7f\x22\x1b\x75\x3b\xea\x5c\x3c\xc5\xd7\xcd\x78\xea\x1c\x62\xf3\x9e\xef\x1b\xd9\x3a\xb0\x2c\x65\x44\x6a\x51\xbd\x66\xb6\x1e\x5c\x95\x96\x56\xdc\xc8\x56\x14\xf7\xa9\x65\x35\x37\xb3\x35\xd5\x4d\x6b\x69\xe5\xad\x9c\x71\xc2\x6d\x73\x59\xc5\x97\x15\xf2\x0f\x44\x96\x57\x77\x4f\x9b\x78\xfc\x78\x69\x3b\x3b\x46\x3b\x78\x99\xcb\x69\x09\xbf\x58\xda\xd6\x6e\x76\x30\x71\x12\x79\xb7\x4c\x1a\x07\x96\xce\x5e\xce\xf4\x89\x69\x17\xd1\xc0\xf9\x53\x6b\x7d\x99\xd3\xec\xa2\xc9\x5d\x56\x77\xc9\xf4\x2e\xab\xbe\x60\x82\x97\x55\x7d\x99\x43\xb5\x9a\xd5\x65\x95\x77\x72\x2b\xab\x89\x5c\x56\x7d\x85\xa9\xb4\x9b\x78\x96\xc6\x3d\xc0\x2d\x61\xab\x6e\x05\x7f\x09\xb4\x38\x7e\x34\xae\x67\x94\x04\xc8\xb3\x66\xa2\x62\x85\x43\xd2\xd8\xb6\xa3\x16\x75\x53\xb2\x02\x3f\x5e\x9b\x5b\xa9\x62\x90\x93\x46\xe4\xf5\xf3\xee\x44\x96\xfc\xe1\x5c\x14\xf2\x02\x32\x9c\x41\x98\x82\x6c\xec\xdb\x8c\xfa\xde\xd0\x63\x2e\xa8\x29\x51\x95\x8c\xaa\x64\x50\x81\xd0\xa4\x5a\x6a\x43\xfb\x89\x6c\xe4\xf0\x56\x6b\x4b\x7d\x0c\x0e\x87\x28\x3b\xb2\x46\x36\xea\x2a\x4c\x2c\x67\xd3\xb1\x5a\x5a\x5f\x27\x47\x5e\x14\x27\xc4\x19\x33\xe7\x16\xdd\x0b\xb4\x46\x07\x09\xd7\x04\xec\xbd\xf8\xe1\xfb\x73\x22\x0f\x5b\xb2\x9f\x3e\x7b\xf5\x6a\x01\x1c\x0a\x55\xf0\x07\x4c\x4c\x69\x27\x0c\x2d\x1e\x06\x7c\xd1\xef\xb5\xbf\xf4\x8e\x0f\xf6\x16\xd4\x10\xab\x1b\xfa\x30\x12\x53\x13\x7e\xbe\xef\x93\x2d\x23\xef\x67\x3a\x25\x23\x3e\x2d\xa8\x41\xab\xd9\x34\x0a\xc0\x8b\x39\x0e\x11\xb5\x1f\x93\x12\x08\x9c\xe3\xfc\x84\x61\x59\xde\xa6\x66\x8c\x8e\x41\x4d\xd3\xfe\x08\xea\xff\x2c\xc7\xba\x20\xda\x11\x7f\x52\x31\x8f\x4b\x18\xe8\x98\x19\x4f\x8b\x45\x21\x67\xc5\x2d\x9c\x8d\xc3\xce\x51\xeb\xfa\xf4\xaa\x48\xba\x7e\x22\x9b\x39\x62\xaa\xd7\x5c\x4a\x4c\x37\x17\x89\xe9\xe6\xbf\x9b\x98\xe6\x0d\x63\xb1\x98\x1a\x9b\xcd\xff\x17\xd3\x5c\x06\x3a\x85\x89\x79\x57\x11\xa2\xac\x58\xca\xa6\xf2\xce\x85\x9f\xf7\xc9\x6e\x9d\xfc\xed\x6f\x20\x7c\x3f\xed\x93\x5d\xe3\xa8\x5b\xb2\x9f\xee\xd6\xc9\x0b\xb2\xb3\x57\xd4\x6c\xa3\x6e\xb6\xdb\xa8\x67\x1a\x2e\x5c\x01\xbc\x26\xb4\x2c\x39\x00\xa4\x8b\xa3\x8f\x25\x87\x68\xe1\x8b\xb3\x29\x2d\x8e\x14\xa9\x28\xd1\x95\x7c\x7f\xf7\x4c\xbd\x03\x45\x89\xa8\x97\x8d\xaa\x05\xcb\xe1\x5a\x2c\x9e\xe3\x88\x84\x4b\x41\x47\xb3\x47\x3a\x5b\x2d\x81\xec\x10\x9e\x12\x5c\xc7\x9f\xc5\x32\xa7\x78\xf9\xb0\xdf\x2b\x78\x12\xdc\x22\x6b\x76\xe1\x1a\xe9\xb1\x18\x6c\xa0\x17\x27\x15\x7e\xe7\x6e\xf7\xbb\xa4\x4e\xe0\x7e\xbe\x4d\xd6\x64\x93\xd9\x67\xf8\xcb\x5e\x85\x7c\x8a\xc2\xfb\x3d\x07\xdc\x7d\x3e\xab\x86\x44\x1b\x11\xd9\x23\x0e\xe9\xe5\x8c\x29\x78\xb4\x97\xa3\x7c\xd4\xde\x5a\xdd\xc1\xa4\x1e\x94\x56\x7c\x29\xdf\x2e\x99\x17\xa7\x28\xbc\xcf\xbb\xe4\x69\x6f\x87\x0a\xbf\xdd\x5a\x11\xfa\xc5\xe5\x65\xc2\x14\x5d\x65\xb9\x5f\x07\xdc\x4a\xc3\x7b\x33\x72\x9d\xff\xde\xcb\xf1\x95\x39\x14\x3e\x91\x13\x01\x58\x6f\x62\xc6\x0f\x18\x61\x01\xe4\xdd\x24\x77\x1e\x25\x4a\x98\x1e\x29\x7e\xc1\x9f\x2b\x7e\xdb\xe4\x31\x22\x25\x2d\xe2\xbf\x18\xc2\x44\x1a\x5b\xba\x89\x4b\x7c\xc5\x06\x83\xd1\x2c\xd6\xc5\x1b\x5c\x82\x49\x39\x62\xd4\x9d\x57\x48\x18\x3d\x93\x60\xb3\xf2\xeb\x06\xff\x9a\x8f\x1e\x8b\x80\x45\xad\x69\x34\x7c\x7d\x78\x92\x69\xb4\x89\x8d\x22\x16\x0f\x73\x79\xbb\xea\x1b\x68\x4f\x7c\x8e\x8d\x19\x6b\xe7\x44\xae\xff\x6c\x8b\x2f\xc9\x1e\x69\x90\x3d\x52\x87\xff\x02\x52\x3e\x0f\xa3\x64\x4c\x5a\x13\x16\x79\x0e\x0d\x0c\x98\x5c\xc8\xab\x40\xe3\x04\xb2\x33\xa9\x88\xd5\x18\x2d\x82\x24\x09\xc9\xcd\xd5\x26\xdf\x44\xc9\x6c\x8a\x09\x6d\x5d\x16\x84\x09\xd3\x9b\x0f\x8c\x54\x35\x07\xa0\x8b\x27\xf5\x06\xf8\x37\x31\x87\x6b\xdb\xc2\xb0\xb8\xb5\xa1\x29\x3f\x0d\x1d\x48\x60\x90\x26\x7c\x8b\x6c\x90\x40\x7d\x4b\xef\xa8\xe7\x53\x7c\x4f\x1c\x0a\xe7\x5b\xe6\xae\x79\x41\x55\x75\xa7\x58\xb5\x05\xc3\x3c\x0f\x65\xe5\x2a\xa6\xd0\xcc\x15\xbe\x5f\x9e\xbe\x51\xfc\xbf\xb5\xa6\x97\x6e\x51\x8d\x47\x6c\x7c\x9f\x7e\x69\x34\x56\xde\xfb\x9a\x8f\x6a\xb8\xf9\x88\x86\xb7\x1f\x45\x71\x73\xaf\xb1\x57\xdf\x5b\x7d\xcf\xde\xda\x78\x4c\xf3\x5b\xaa\x61\x2b\x9f\xa3\x70\x17\x84\x88\x6f\x05\x22\x06\xaf\x82\x8e\xe7\x02\x84\x3b\x3c\xde\x27\x21\x19\xf3\xbf\xc1\x6d\x26\xc4\x0d\x47\x27\xe1\x17\xfe\xe8\xb3\x98\x97\x9c\x4f\xf5\xf9\x7e\x03\x38\x12\x77\x1a\x0e\x15\x01\x71\xc4\xc2\x35\x5c\xca\xcf\xd9\x1d\x8b\x32\x5d\x18\x9e\xe3\xaf\xf9\x57\x1e\x7a\xdf\xdb\x31\x06\xa0\x51\x48\x00\x01\xb1\xdd\x1b\x6e\xe3\x2d\x00\x61\xcf\x6d\xfa\x19\x26\x6b\x0c\x42\x3b\xfa\x7d\xe4\xdd\xb1\xa0\x2a\x58\xa1\xb2\x2b\x8a\x67\xd2\xaa\x38\x5e\xbc\x18\xf1\xd8\x1f\xed\x8f\xfb\xf3\x74\x89\x43\x6e\x38\xd4\xcf\x09\xc2\xaf\x1f\x3c\xb5\xae\x7a\xb9\x8e\x37\x3f\x4c\x1f\x0f\xb5\x16\x87\xc3\xa4\x97\x03\xb7\xd6\x63\xdf\x66\x2c\x16\x00\xf1\xe8\xb3\x04\xa9\xa1\xce\x56\xcb\xae\x99\x26\xed\x3f\x0b\x86\x9a\xda\xe1\x8a\x8a\x99\xda\x64\x16\xad\x1e\xb1\x11\x4f\x9f\x46\xd9\xf3\x25\x5d\x9e\x86\xd4\x25\xa7\x9d\xc3\x18\xba\x39\x5d\xa5\x17\x42\x10\x6e\x24\x05\xb7\x4d\x63\x72\xe7\x45\xc9\x8c\xfa\xd8\x5e\x78\xc7\x22\x9f\xce\xbd\x60\x24\xdf\x57\xd4\x5c\x7b\x43\x42\x83\x39\xe4\x94\xa6\x51\x36\x07\x1f\xa7\xfb\xdb\x0a\x9c\x12\x48\x36\xc9\xdc\x17\x60\xeb\xed\x6b\xae\x8a\xdc\x5c\x6d\x35\xeb\x06\xcc\x33\x82\xcf\xa0\xd7\x0c\x42\xb8\x18\xab\xcd\xfe\x22\xe3\xa4\xd4\x04\x05\x1a\xbc\x6f\xcc\x9a\x1b\x66\x4d\x65\x68\x94\x1e\x08\xba\x8e\xf5\x55\x7a\x88\xe4\xdb\x4a\x70\x31\x8b\x03\xf9\x74\x00\x9f\x19\xce\x57\x14\x97\xf9\x14\x8c\x93\xc2\x36\x80\x01\x65\xed\xc4\xb8\x7a\x74\xdf\x5f\x40\x46\xae\xb3\x6c\x36\x6a\xf4\xcf\xc2\x95\x79\x32\x4b\x36\xff\xb9\xa4\x64\xd8\x92\x87\x1e\x24\x41\xd9\xcd\x05\x85\xb0\x41\x34\x1a\xe5\x39\x05\x83\x79\xd8\x48\x07\x8f\xd9\xdf\xb8\x56\xaf\x5c\x05\xc5\x82\x7c\x4c\x1a\x38\xd8\xae\x56\x58\xf7\x18\xe2\xc6\x57\x5e\x8f\x8d\xe0\x2a\x01\x87\xc6\x41\xbe\xcf\x69\xf4\x54\x4c\x26\x89\x14\x87\x81\xbf\x57\xe1\x54\x62\xb2\xd5\x3f\x93\x5f\x52\x90\x6e\xf5\xcf\x55\xd2\xa8\x57\xc8\x5a\x83\xbc\x52\x8f\x9e\xba\xf2\x01\x9a\xcb\x45\xfd\x46\xb6\x7e\x43\xd6\x27\x66\x03\x99\x99\xbd\xb9\xc2\xb1\xe3\xb8\xcb\x8a\xb2\xaa\xd5\xcf\x22\x4c\x04\x85\x03\x50\xc7\xb7\xc1\x1c\x44\xde\x8c\x4b\x2c\x62\xbc\x3f\x6e\x1e\x7f\x89\x96\x64\x93\x46\xd4\x44\xc3\x5f\xd5\x0b\x48\x8f\x39\x09\x0d\x46\x33\x9f\x46\x22\x8f\xe0\x61\xa7\xdd\x6e\xf5\x5a\x95\x47\xf5\xfd\x9f\x4b\xfa\x06\x68\x63\x21\xeb\x65\xae\x00\xd4\xfa\x1f\xfa\x95\x9c\x86\xe2\xa7\x82\x1b\x43\x0f\x7f\x0e\x1f\xe3\xc5\x63\x41\xa4\x4a\x32\xa1\x81\x37\x55\xf1\x6e\xf0\xe2\xe2\x26\xbc\x4e\x55\xe2\x70\xf0\x7f\xd9\x43\xc2\x82\xd8\x0b\x83\xf8\x91\xab\x32\x59\xe6\xf9\x8d\xef\x5d\x2b\xcc\x66\x8f\xcf\xe6\xe3\x3a\xff\xcf\x25\xbd\xf7\x57\x8f\x60\x7d\xa4\x35\x64\x85\x8e\xf9\x06\xea\x05\xa3\xb5\x01\x67\xf1\x1d\xbf\x2b\xca\xbc\x2f\x07\x37\x69\x4d\x64\xb5\x5e\xc9\x52\x66\xe3\x32\xcd\x08\x70\x5e\x63\xb3\x3f\x80\x9d\xcd\x87\x37\xa1\xd1\xc8\x0b\xb2\xa3\x3b\x7b\xf2\xe8\x66\x4b\xf6\x85\x70\x3a\x2f\xd8\x07\x7a\xad\xaa\xb0\x7a\x20\x64\xf7\x63\xc5\xe8\x6e\x59\x26\x53\x30\xae\x1d\x79\x3e\x3f\xd2\x04\x09\x42\xb1\xec\x1c\xf5\x1e\xd9\xdb\xaf\xa5\xfb\x65\xd3\x88\x17\x10\x95\x0c\xf4\x52\x1b\x79\x60\xa1\x74\xde\x5e\x5d\xb6\x7a\x4f\xbc\x8f\x3c\x2c\x93\x5c\x38\xc1\xd5\x7a\x95\xdb\x71\x87\x6f\x10\xe2\x12\xd6\x6a\x77\x1e\x39\xe6\x1f\x97\xf4\x7a\xe4\x01\x9a\x76\xce\xdc\x1e\xf5\x5a\x95\xaa\x8d\x66\xff\xb8\xb9\x5d\xd2\xf3\x5d\xf2\x25\xf1\x7c\x06\x90\x68\x65\xaa\x6d\x00\xe7\xad\x8b\x31\x75\x6e\xa1\xcf\xeb\xe0\x9c\x25\xaf\xa9\x73\x0b\x3e\x73\xe5\x98\x31\x22\x7c\x70\x03\x96\xf0\x52\xf7\xde\xad\x57\x73\xc2\x09\xba\xe0\xde\x18\x4d\x0e\xe5\xd6\xe3\x05\xc3\x50\x81\x26\xdb\x57\xa3\x21\x8d\x70\x2b\x86\x2b\x0f\x29\x03\xee\x02\xa1\x64\xe4\xcf\xa7\x63\x20\x00\xc3\x10\xe1\xef\xdc\xb5\xfc\xfd\xe9\x68\x01\x12\x2c\x40\x3b\x1c\x2d\xbe\x5b\xa4\xaf\x16\x46\x6c\x59\xdf\xa2\xbb\x2c\x92\x46\xa2\xe4\xa2\xfb\x22\x7e\x83\x88\x9a\x95\xda\x72\xc7\xb2\x66\x3a\x31\x7f\xee\x3b\x4c\x06\xd4\x97\x73\xff\x10\x31\xee\xd2\x43\x68\x7c\x5e\x0a\x57\xb3\xbe\x0e\xa9\x8b\xc5\x38\xf2\xa2\xe3\x96\xf4\x29\x75\x34\x1b\xe2\x05\xf7\x10\x69\x29\x45\xb3\x2a\xa6\xc3\xee\xb4\x3b\xa7\xbd\xa7\x2d\xe6\x5f\xc5\xd4\x2f\x09\xc1\xcf\x5d\x59\x1d\xb9\xb2\xea\x4f\x5c\x59\x4b\xba\x16\x3b\x89\x1c\x71\xe7\x0e\x5c\x3b\x61\x03\x39\xed\x3c\x75\xb8\xff\x58\x6d\xeb\x94\x9d\xea\x27\x05\x30\xe1\x9c\x5e\x3e\xb5\xdf\xdf\x16\xf7\x2b\x70\x67\xd0\x22\x8c\x83\xec\xb6\xff\xd0\xbe\x45\x7e\x5f\xf6\xde\x02\x38\x2f\x97\x24\xb6\x7a\x3d\xfc\x83\xbd\xfe\x4f\x7e\xaf\x7c\x75\x5f\x5c\xf7\xda\x1d\x72\xd4\x3d\xed\xbc\xc2\x02\xeb\x5f\xe3\x75\xf8\xe5\xcb\x5d\xf2\x45\x5d\xf9\xbe\x4c\xe8\xb4\xf6\x35\xe6\x55\xf8\x89\x8d\xde\xb7\x65\xa7\x42\x9a\xf5\x46\x13\x1e\x2f\xda\xe3\x28\x9c\x78\xb3\x09\xb9\xe8\x93\xd6\x2c\x19\x87\x51\x5c\x83\x8c\x46\x50\x36\x06\x73\x5f\x74\xc7\x67\x62\x7d\x9d\x5c\xc7\x0c\xb5\x35\x2f\x26\x22\x6d\x83\x23\x4c\x9d\xa3\xf0\x8e\x45\x01\x6e\xd7\x94\x1c\xf4\x0f\xd7\xd0\xde\xe3\x7b\x0e\x0b\x62\xe1\x98\xec\xd0\x80\x0c\x18\x6f\x69\x08\xce\x03\x02\xb3\xf8\xb4\xdb\xee\x9c\xf7\x3b\x64\xe8\xf9\xac\xf6\xec\x59\x69\x16\x63\x56\x5b\x27\x29\xed\x3d\x7b\xe6\x7b\x83\x5a\x94\xb8\x6c\x5a\x2e\x01\x78\x03\xc0\x91\x67\x22\xea\x26\x74\x4a\xc2\xc1\x57\xe6\xa8\xc4\x14\x7f\x87\xfd\x8e\xfc\x03\x3f\xfd\x1d\x46\x7b\x7c\xca\x0b\x4e\xf9\x52\x07\xe5\xdb\x0b\xa6\xb3\xc4\xc4\xc0\x4c\x42\x12\xce\x12\xfb\x43\xf5\xda\x03\x2d\xf4\x54\x0b\x12\x62\x95\xce\x92\x70\x42\x21\x6a\xda\x9f\x13\x27\x62\x34\x47\x72\x8d\x2c\x37\xe6\xe9\x10\xd0\x09\xab\x92\x91\x3f\xa1\x53\x01\xa1\xca\x07\x46\xf8\x8a\x1d\x87\x51\x82\x08\xfb\x68\xa6\xf6\x62\x3b\x91\x4d\x95\x1f\x8f\xc3\x99\x0f\x5f\xbb\x6c\x30\x1b\x8d\x04\x28\x3c\xef\x59\x6c\x93\x50\x7f\x1f\x9a\x01\x53\x94\x6a\x9e\x8f\x45\xb9\x19\x27\x21\x71\x20\x0c\x39\x94\x7e\xd8\x5e\x0c\x1c\xf5\xf8\x0d\x21\x4e\xa8\xef\x33\x98\x2d\x48\xea\x60\xb6\x0f\x59\x1b\x94\x8b\xf3\x1f\x6d\xbd\x97\x6e\xbd\x67\xb6\xce\x4f\x08\xe4\x94\x3e\x06\xd0\xa0\x8c\x9f\x5a\x5a\xf1\xbf\xed\xec\xd7\xa6\x51\x98\x84\xc9\x7c\x2a\xd2\x0a\x99\xd2\x60\xca\xc1\xba\x42\x02\x4f\x2c\xd2\x6b\x92\x39\x50\x98\xec\xa3\xf0\x28\x38\xd9\x91\x7f\xcb\xe6\x31\xd9\x27\x17\xb8\x18\xf8\x5f\x65\x5d\xbe\x52\x9b\xd0\x69\x59\x75\x78\xcb\x8c\x3c\xce\xd2\x09\xfb\xd7\x5f\x1f\x4a\xe4\x85\x40\x4a\xf9\x3e\xa5\x2e\x2f\x56\xe3\x1c\x69\x87\x2e\x6b\x25\xe5\x7a\xa5\x96\x84\xe2\x2d\xa7\xb1\xad\xd2\x2b\xa3\x0b\xb3\xe8\x2b\x02\xb1\x63\xf7\xa4\xc7\x46\x9d\x87\x69\xb9\x04\xaf\x6d\x48\x9d\xc0\x40\x47\x08\xf4\xcf\xa5\x2a\x29\x8d\x44\x8e\x01\xd8\xa7\x26\xd3\x59\x22\x46\xdd\x33\x47\x0d\x48\x72\xf8\x38\x24\xd1\x79\x31\xd1\x88\xc4\xbe\xe4\x42\x06\xa3\x87\x70\xb0\x64\xcc\xbc\x88\x9c\xf5\x0f\x44\x52\x19\x41\x59\x84\x5c\xfb\x07\x66\x82\x16\x04\x0d\xc3\xa8\x43\x9d\x71\xd9\x98\x09\x8b\x35\xc0\xd9\xe8\x96\xcd\xc9\xbe\x48\x24\x5f\xe3\x12\xd4\x16\x3c\xc1\xe2\x36\x8b\xc8\xdf\x48\xfd\x61\xa7\x5e\xb1\x52\x60\x43\xef\x9f\xa0\xa5\xcf\xf2\x2d\x13\xe6\xe5\x13\xb4\x20\xf2\x5e\xfd\x5e\x1b\x78\x01\x02\xf9\x56\x74\xee\x05\xa8\x95\x3f\xb3\xd1\x5f\x34\xb3\x55\x91\xcd\x21\x35\xb9\x51\xc1\xe4\x46\x8b\x27\x57\x6f\x18\x8a\xca\x38\x51\xc9\x18\x04\x8d\x71\x12\xd5\x22\x36\xf5\xa9\xc3\xca\x4a\x94\x0a\x31\x2f\x55\x43\xce\xb8\x42\xfe\x21\xdb\x30\xd8\xea\x8c\x3f\xa7\xd9\x69\xf3\xd7\xa0\xac\xf7\x58\xca\xa2\x27\x52\x16\xad\x48\x99\x09\x36\x60\xee\x5b\x02\xb9\xdb\x15\x00\x5c\x00\x84\xa8\x36\xac\x2a\xde\x9a\x5c\x36\x65\x01\x80\xf6\xc8\xd0\x6f\xf0\x26\x80\x27\xd0\xab\x6c\x5e\xd4\xa2\xcd\x6a\x42\xa7\xb1\x5c\x2d\x82\x14\x84\xd1\x39\x4e\x43\x01\xf1\x95\x0a\x7b\xa5\xb8\x8d\xdd\x25\x8d\x7a\xbd\x16\xb0\x64\xdd\x0d\x9d\x78\xfd\x2e\x69\x36\xeb\x6b\xd1\x64\x3d\xe1\xaa\x77\x73\x6d\xb3\x36\x4e\x26\xfe\x92\x9e\x65\x46\x18\x2e\x6a\xb9\xa5\xca\xc0\xfe\x92\xc0\x25\x2a\x55\x95\xc4\x97\x7e\x7d\xd8\xae\x97\x5e\x95\x7e\x9d\x35\xb7\x9c\xed\x52\x15\x76\x8f\xff\x26\x6b\x3f\x13\xd7\xa3\x93\x30\x70\x8d\x72\x0d\x51\x6e\xb7\x29\xca\x51\x5e\x6e\x14\xb1\xf9\xda\x20\x7c\x30\x0a\x36\xb1\xe0\x66\x7d\x57\x14\x1c\xf0\x82\xe3\xf5\xc4\x28\xb3\x21\xcb\x38\xa2\x8c\xc3\xcb\x0c\xd7\x87\x46\x99\x4d\x59\xc6\x15\x65\x5c\x5e\xc6\x59\x8f\x8c\x32\x5b\xb2\x0c\x15\x65\x18\x2f\xe3\x5b\xed\x6c\x43\x99\x7a\x7d\x50\x17\x65\x86\x30\x40\x36\x8a\x18\x33\x8a\xbd\x94\xc5\x1a\xa2\xd8\x88\x17\x7b\xb1\xbe\x66\x94\xd9\x11\xdd\x35\x37\x45\x99\x31\x2f\x13\xac\xfb\x46\x99\x5d\x49\xd2\x40\x94\xf1\x78\x99\x3b\x6b\xf8\x54\xf0\xb2\xb1\x23\xca\x7c\xe5\x65\xd0\x0d\x7d\x0d\x54\x4a\xa3\xf0\x40\x16\x96\xf4\xdf\xf2\xc2\x49\x38\xcd\x94\x74\x44\x49\xc5\x55\x5f\x96\xf4\xd9\xd0\x2c\xe8\xca\x26\xe5\x38\x26\x46\xff\xa9\xb2\x4c\x94\xdd\x90\x8d\x06\xc0\x62\x2f\x60\x6b\x10\x5a\x6f\x14\x1d\x62\xd1\x8d\x81\x9c\x8d\x90\x17\x8d\x1d\x1a\x34\x74\xa9\x97\x75\x59\x4a\x32\x68\x2a\x4b\x6d\x18\xa5\xa4\xb8\xd5\xe5\xa8\xbf\xc9\x52\x5b\x46\xa9\xa6\x6c\x4b\x12\x17\xc9\x52\x2f\x8d\x52\x1b\xb2\x94\x94\xa4\x58\x96\xda\x35\x4a\x6d\x4a\xa6\xc8\xb6\x12\x18\x28\x1b\x26\x6b\x89\x29\x29\x2f\x85\xd0\x6d\x29\x29\x98\xf1\x82\x30\x19\xa9\x92\xdb\x92\x77\xb2\xe4\x9d\xc1\x67\xbb\xe8\x4b\xd9\xa8\xec\xfd\x5e\xce\x9d\x5d\x6e\x47\xf2\x45\x2e\xc3\x07\x10\x2f\x81\x47\xb4\x86\x29\x47\x54\x69\x21\x8c\xcd\x6d\x49\xc0\x1c\xc7\x14\xc7\x6b\xec\xdb\x8c\x1a\x72\xfb\x92\xca\xa2\x5b\xa2\xe8\x77\xb1\xbe\x69\xc2\xa2\x4c\x69\x14\xca\xfa\x86\x23\xa7\xe7\x1f\xbc\xf4\xd4\x33\x8a\x38\xb2\x41\x59\xe4\x37\x58\x2c\x61\x92\x69\xcc\x15\x4b\x8f\x6e\x88\x92\xbf\x03\x9b\x22\x2f\xf1\xe2\xf1\xda\x94\x5f\x82\x8c\xd2\x4c\x2e\xd4\x97\xa2\xf4\xff\xc0\x7a\x0e\x13\x7d\x04\xcb\x54\x93\xd8\xc2\x93\x77\xdf\xad\xd5\x76\xdf\xd6\x4a\xbb\xaf\x18\x8e\xbd\xfb\x36\x37\x4a\xaf\x88\x3d\xf6\xff\xc8\x1f\xbb\x39\xae\xeb\x3e\x81\x4c\xc1\x7c\x38\x55\x12\x84\x12\xc5\x64\xd9\x11\x25\x61\xfa\x97\x91\x3a\x8b\x4b\x55\x74\x18\x37\x2e\xef\xb3\xc4\x79\x3a\x27\xb7\x57\xe3\xe4\xe6\x4a\xe4\xb9\x9c\x94\xa7\xf0\x51\x97\xdf\xac\xcb\xf2\x03\x26\xca\xff\x9d\x97\xdf\x58\xdf\x34\x4a\x6d\x0d\x44\xa9\xc6\x86\x5c\x6d\x9f\x78\xa9\x92\xf7\xb5\x44\x7c\x6f\x04\x2f\x33\xa4\x8c\x0e\x47\xa3\x90\xc5\x08\x9b\xc7\x9b\x1d\x0e\x7f\xa9\x18\x0d\x39\xaa\x3b\xb9\x05\xfd\xca\x1b\x6a\xac\x37\x8d\x42\xae\x2c\xf4\x52\xee\x01\x9f\xcd\xb5\x4d\x06\x34\x7a\x66\x2f\x41\x31\xe4\x1d\x73\x0d\x26\xf7\x21\x5f\x0c\xb1\xbd\x12\xb1\xe4\xf6\xb6\xb9\x14\x87\xf6\x12\x14\x04\x3a\xe6\x1a\x6c\xac\x6f\xda\x2b\x4f\x14\xda\x34\x97\x1e\x75\x66\x22\x48\xca\x14\x52\x91\xa5\xfa\xc9\x22\xf3\x72\x35\x91\x69\xa7\xb0\x9d\xb2\x25\xb6\x56\x12\xaa\x21\x92\x6b\x8b\x95\x12\x80\xba\xb3\x69\x09\x40\xab\x44\x66\x13\x9f\xce\x92\xbc\x39\x76\xb7\xcd\x39\x2e\x5d\xe4\x94\x55\xec\x76\xb6\xcc\xa9\xe6\xed\x46\xe0\x62\xa4\x4a\x2a\x9e\xbb\x8e\xc9\xf3\xd2\x4c\xb5\x6a\xeb\x72\x58\x98\xed\x9a\xca\x5c\x89\x95\xc4\x24\xe5\x89\x0f\xdb\x34\xc5\xa7\x44\xb3\xe4\x6a\x01\x1a\x5a\x02\x54\x0a\x73\xca\xaa\xa1\xb1\x2d\x53\x92\x78\xbb\xf6\xd0\xb4\x38\x0d\x8b\x86\x96\x91\x29\x4c\x6b\xfe\x54\x91\xda\x59\x4d\xa4\x7a\xab\x09\x0c\xd0\xf2\x67\x6d\x43\xac\x6e\x6e\x43\x9c\x59\xa3\x88\xde\xb1\xbc\xcd\x48\x2b\xb2\x9f\x50\xef\xb0\xe4\x45\x4d\x15\x7b\x69\x49\xa1\x53\x22\x0e\x73\x3d\xdf\xa7\x79\x62\x48\x5f\x9a\x62\x18\x0b\xf7\x97\x78\x3e\x19\x84\x3e\x29\xbb\xe1\x6c\xe0\x33\x12\x57\xf2\xe5\x67\xd7\x92\x1f\x25\x6b\x79\xe2\xb3\x6b\x89\xcf\x4c\x8e\x32\x4f\x7a\x76\x2c\xe9\x61\xd9\xa2\x2c\xb3\xff\x81\xf8\x2c\x16\x1d\x99\x11\xff\xc9\x32\xb4\xbb\x9a\x0c\xbd\x7d\x84\x0c\x11\x47\x10\x65\x0b\xd3\xd3\x84\x83\xd9\x27\x15\x2d\x11\xc7\x8b\x9c\xd9\x64\xe8\xb3\x87\x3f\x2c\x26\x8c\x5a\xbb\x15\x2b\x68\x5c\xcd\x0c\x93\x87\xeb\x7f\xe1\xb1\x69\x95\xcf\xdb\xb7\x86\x9b\xd6\xbe\x15\x16\x54\xf8\x37\x12\xbe\xe1\x20\xbd\x77\xa5\x58\x62\x0a\xe1\x31\x8b\x26\x7f\x40\xf6\x1a\xf5\xd5\x84\xef\x64\x35\x73\x00\x10\x53\x24\x73\x6a\x47\xf8\xfb\xaa\x3b\xc2\x5f\x7f\x58\xba\x96\x5e\x54\xba\xce\x39\x02\xff\xfa\x63\x6d\x68\x29\x48\xa9\xc3\x2a\x25\x1c\xee\xd0\x14\x0e\x16\x7f\x67\x49\x76\x67\x02\x64\xc0\x3f\x22\x15\x8d\xd5\xa4\xe2\xc3\x4a\x52\xe1\x21\x35\x7f\xd6\xb9\xf6\x47\xc4\xe8\x2f\x38\xe7\xd4\x76\xf1\xb9\x48\x2f\x32\xf6\x22\x5b\x87\x9a\x65\x77\x5d\x43\xd8\xea\x69\x61\x4b\x6f\x18\x5a\xd6\x9a\x69\x59\xfb\x33\xb6\x21\x66\xab\x50\x9e\x59\xd4\x14\xb6\xf3\x30\xba\x67\x23\x8f\x06\xeb\x87\xf4\x0f\xa9\xe7\x8d\xe6\x6a\x52\xd7\x59\xaa\x9f\x6f\xaf\x24\x97\x81\x22\xdc\xa5\x59\x45\x5d\x0b\x9c\xda\x7b\xfe\x9e\xda\x7b\x72\x37\xaa\x6d\x7b\xa3\xea\xe8\x6b\x5d\xee\x5e\xb5\x93\xde\xab\xe2\x24\x0a\x6f\xd9\x9f\xa4\xd8\xff\x57\xe1\xae\x66\x28\xf6\xf6\x01\x49\x17\x6f\x81\xdb\xb6\x54\xb2\xbc\xe1\x19\x92\xb9\x93\x96\xcc\xf4\xf0\xfe\x52\xe5\xbe\x3f\xfd\x83\x12\xb9\xb1\x9a\x44\x7e\x5c\x49\xde\xe2\x69\x8e\x98\xfd\x6b\xf6\x41\xda\xb0\xa4\xf4\x87\x12\x82\xa2\x26\xcc\xcd\x15\xd2\x86\x25\xa4\xe7\x25\x92\x78\xbe\x9b\x2b\xa3\x83\xa1\x25\xa3\xbf\x18\x0d\xe7\x89\xd3\xc0\xda\xe4\x52\xf3\xad\xa5\xa8\x61\x49\x51\x90\xe9\xdf\x10\xa2\x97\x96\x10\xa5\xb6\x6e\x4b\x36\xee\x99\xfb\x87\x64\x63\xc5\x87\x94\x97\x4b\x77\xab\xd7\xab\x49\x0f\xd2\x5b\xb8\x49\xed\x5a\x9b\x54\x27\x7b\x0c\xfd\x5b\x5a\x1e\x56\xda\xa0\xfe\x77\x5a\x1e\xfa\xf7\x5e\x1c\x3f\x5d\xfc\x56\xb4\x24\xef\xaf\x28\x5c\x5e\x1c\x17\x6d\x4c\x4a\x6b\xf9\x8f\x22\xad\xe5\x89\xf7\xca\x5d\x4b\x0c\xb3\x17\xad\x7f\x87\x2b\xa5\x2e\x3f\xcc\xe8\x50\x5f\x6c\x1d\xea\xcf\xb9\x7d\xfe\x1b\xdc\x31\x56\xba\x80\x82\x77\x18\x43\x67\xb4\x1a\x75\xdd\x72\x09\xdd\xe1\xe8\xcc\xf5\xc2\xf5\x01\xf3\xfd\x52\x95\x94\xf0\xaf\x70\x34\xda\x1b\xd0\x98\x6d\x6f\x96\xaa\xcf\x4a\x57\x4d\x37\xb8\xbe\x6f\xb5\x5b\xea\xe7\x70\xfc\xed\xdd\xd6\x09\xfc\x7a\x76\x74\xd7\xf9\xfa\xe1\xe0\xf5\xe8\xa8\x39\xd8\x78\xe3\xd1\xf7\x67\x58\xe4\x43\xfb\xa5\x2a\xfe\xda\x39\xc0\x5f\xda\x9b\x25\xf2\xe2\x59\xa9\x75\xbd\x1b\x7c\x6c\x9c\xb5\xcc\x9f\x4d\xea\xcf\xfa\xa3\x0e\xfc\xce\xe2\xee\x46\xa7\xbd\xb1\x9e\xf9\xd9\xb9\x3d\x74\x27\xbb\xf3\x0f\x13\xff\xfb\xeb\xb7\xad\x56\xeb\x68\x3c\x85\x06\x9d\xe3\xd1\xec\x6a\xe3\x4d\xd0\x3d\x7e\x98\x7e\xf0\x3f\xde\x39\x93\x37\x53\x67\x7e\xf0\xa6\x7b\xd8\xbd\x3f\x3b\xbc\xbd\x3f\xff\xde\xda\xc2\x6e\x3a\x47\xb2\x81\x93\xeb\x37\x87\x37\xa3\x0e\x0e\xeb\xf0\xe8\xac\x7b\xf6\xae\x55\x7f\x73\x70\x83\x14\xb6\x5a\x6f\x5b\xad\x83\xd1\x9b\xf6\xed\xc5\x6d\xf3\xe3\x9b\x13\xfa\xee\x3a\xec\x8f\xb7\x26\x6f\x7a\xdd\x7e\x7f\xe2\xfb\x67\xd7\xf7\xde\x47\xef\xda\x73\xae\x3f\x7c\xd8\xbc\x7f\x78\x18\x8f\xbf\x7e\x3d\x7c\x7d\x7c\x7c\x7c\x71\xd6\x3d\xec\xdd\x1e\xf1\xda\xad\x76\xeb\xa4\x35\xb9\x80\x06\xc3\x17\x1f\xdf\xd0\x78\x73\xeb\xe3\xc3\x28\xf8\x1a\x9c\x8c\x2e\xde\xf9\x17\x17\x27\xce\xe8\x60\x73\xda\xdb\x3c\xbc\x7d\x73\x7f\x77\x3d\xf9\xd0\xdc\x9e\x24\x27\x1f\xa3\x41\xbc\x39\x7d\xf3\x76\x74\xfe\xee\xed\x75\xab\xd5\xea\xb6\xde\x76\x46\xe3\x71\xaf\xd7\xef\xb7\x8f\x8f\x8e\x8e\x4f\xba\xd0\x60\xf7\xc3\x87\x0f\x1f\xc2\xd1\x78\xfc\xf0\x30\x9f\xb7\x8f\x83\xe0\x75\xf7\xe4\xe4\x9b\x37\x1a\x8d\xc2\xf9\xbc\xdd\x3e\xbc\x3a\x3c\x9d\x4e\xdf\x9c\x5f\x5c\xcc\x26\x61\xb8\xb9\xb9\xbd\xed\x79\xf5\x7a\xa7\x7b\x7a\x3a\xb8\xea\xf7\x6f\xef\x1f\x1a\x37\x1f\xbf\x46\x51\xfd\xf8\xfd\xfb\x87\xef\xd0\xe0\xf7\xaf\x41\x10\xbc\xbe\xbc\xb8\x60\xcc\x71\x76\x36\xdf\xbc\xbd\x3d\x7f\xd7\x7a\xdb\x1a\x71\xa6\xbd\x1d\x7d\xf8\xf8\xf1\xe0\xa0\xdd\xe6\x14\x1c\x9d\x74\x4f\x28\xfd\xe0\xf0\x8e\xba\x87\x6f\x6f\x8f\xae\x5b\x9c\x89\x23\xe0\xef\xc1\xeb\xdb\x5e\xef\x0d\x34\x18\xf7\xae\x4e\xe3\xde\xf7\xf3\x7a\xbf\x77\xb9\xe3\x3d\xf4\x3a\xdf\xdf\xf7\xce\xea\x37\x57\x37\x9d\xc6\x0d\xff\x71\x6f\x1a\xef\xdd\xc9\xfb\xf7\x6e\xc0\xff\x6b\x7c\x9c\x74\x6f\x06\xb3\xd7\x8d\x8f\xb3\xee\xcd\xa0\xd9\xbd\x71\x77\x37\x6f\xc6\xc7\xdd\x8f\xf0\x1f\x34\xc8\x7f\x79\xf1\x7a\x63\xb8\xbb\xc1\xff\xab\x8f\xce\x8f\xdf\xde\xb4\xda\xad\x83\xd6\x49\xeb\xeb\xc5\xc7\xc1\xd7\x13\xda\xf5\x8e\xbf\x9d\x7a\x17\xb4\x7b\x38\xee\xd2\xb8\x35\x3a\xb8\xe5\xd4\xb7\xda\xad\x37\xb7\x5e\x77\x7a\xfb\xed\xfc\xcd\x74\xf2\xf1\x5b\x34\x99\x0c\xa0\xc1\x64\xe2\x45\xc9\x64\xe3\x34\xf6\xbe\x9f\xc6\xa3\x79\x67\xfc\xed\x9e\x4b\xc3\x01\x4c\x3e\xff\x39\x39\x98\x4e\xbe\x7d\xcc\xff\x6f\xf2\xf1\xa3\x3f\xb9\x51\xff\x41\x83\xe6\x07\x45\xff\xbd\x3d\xfe\xda\x3d\x19\x1d\xb4\x5a\xa3\x83\xd6\xc3\x46\xc7\x79\xd8\xe8\xdc\xf6\x6e\xba\xb7\x0f\x1b\xdd\xf8\xe0\x1e\x67\x7d\xde\x6a\xb5\xa0\x41\x3e\xba\x6b\xef\xfb\x91\xf3\xb5\xf7\xda\xf9\x7e\xf5\xda\xf9\xfe\xfd\xb5\xf3\xfd\xe1\xb5\xdb\xb9\x7a\xe3\x77\xbe\x9f\xef\x76\xee\x2f\xdb\xad\xc6\xc7\x03\x4e\xf0\xa8\xd5\x45\xb2\x0f\x5a\x67\xbd\xef\x47\x4e\xef\xfb\x1b\xce\xfb\x6b\x6f\xe3\xca\xf9\x7a\xf3\x1e\x57\xca\xf7\x8d\xf7\x4e\x7d\xe3\x3d\x67\xfe\xcd\x63\x7e\x3e\xbc\xc6\x99\xe6\xac\x69\x1f\xbb\x1f\xa7\x1f\xbf\x41\x83\xa3\xd6\xe8\xfb\xed\x71\x07\x27\x03\xfb\xff\x10\xbe\x1d\x1f\x1e\xb6\xa4\x00\xbf\x6d\xb5\xba\xde\x78\xab\xdd\xa6\xf5\x37\xd1\xf7\xef\x57\xb7\x17\x93\xd9\xbb\xd1\xb7\x5e\x7f\x50\xdf\x39\x7e\x73\xf3\x26\x0e\x66\x74\xf2\x61\xb2\x71\x89\x2b\x85\xcb\xdf\xe0\x6c\xf3\xe3\xe6\xd6\xc3\xf7\xef\x5e\x70\x32\x71\xde\x8d\x26\x6e\x9b\x3a\x3b\x5b\x6f\x0e\xdf\x7c\xf3\xc3\x37\xc1\xdb\x49\x70\x79\xc1\x7a\x27\x83\x83\xed\xe6\xb4\x3e\x9d\x7e\xff\x3e\x0e\x82\xa0\xf5\xf2\xf8\xf8\xdd\xb1\xe3\xec\x6c\x4d\xeb\xd3\xf0\xf5\x37\xd7\xff\x00\x0d\xf2\x96\xdf\xb9\x6d\xba\xf5\xcd\xdb\x3a\x7a\x93\x7c\xff\x1e\x4e\xae\x27\x73\xd6\x98\xdd\xf4\x07\xce\xce\xe6\xd6\x16\xef\x48\x08\xff\xb7\x9b\x6d\xe7\x7b\xdc\xd9\xda\xfc\xf8\xf0\xfd\x7b\x18\xd0\x49\x73\xb6\xd5\xbe\x69\x3a\xce\xce\xcb\xad\x8f\x6f\xbe\xcf\x70\xa5\xbc\x0d\xc6\xc6\x4a\xc1\x06\x46\x7e\xfb\x6d\xe3\xc3\x41\x0b\x76\xb0\xde\xb8\x79\xf0\xf5\x38\xf8\xd0\x1d\x0d\x3f\x6c\x1e\x7f\x18\xbf\x1d\x4f\xbd\xe3\xab\xd7\x41\xff\xf2\x70\x7a\x31\x3a\x73\x46\xd3\xe9\xc1\xf6\xf9\xd7\xdb\x8f\x27\xd0\xe0\xb7\x0f\xe7\x6f\xaf\xc7\xb7\xc1\xf4\x7d\xbf\xcd\xb7\x20\x98\xcb\x56\xbb\xd3\x39\x7a\xd3\xed\x7e\xb8\xbe\xbe\xbe\x55\x1b\xc0\xf1\xf1\xf1\x49\xb7\x4b\x99\xe3\x8c\xc2\x6f\xdf\x4e\xfa\x7d\xcf\x8b\x4e\x4e\x4e\x2f\xcf\xce\xe2\x38\x8e\x77\xee\xe7\xd0\xe0\x7c\xfb\xfb\xe1\xf7\xaf\x51\x14\x9f\x9d\xbd\x7d\x7b\x7f\xff\x90\x9c\xbf\x39\x39\x3d\x7c\x7f\x73\x33\xb9\x38\x4f\x18\x65\xce\xf6\xe6\x56\xff\x78\xe6\x27\xee\x47\x7a\xb2\xfd\xee\xfa\xfa\x36\x9c\x4e\xfb\xad\xfa\xc7\x03\xb1\xe3\xb4\x0f\x6e\x6f\x3b\x9d\xe3\xe3\x0f\xd7\xd7\xd0\x20\x50\x30\x1d\xcf\xe7\xde\x24\x08\xbb\xdd\x93\xb4\xcc\xed\xb4\xaf\x2e\x3b\xbd\x8d\x5e\xea\xbf\xcb\x9d\xde\x43\xaf\xe3\xdd\xf4\x3a\xde\xfb\xde\x99\xd7\xb8\x3a\xfb\xde\xc0\x0d\xf6\xe6\xe8\xe6\xbd\x3b\x69\x7c\xf4\x37\xde\x0f\x92\xcd\x1b\xb7\xf9\xfa\xfd\xb0\xb1\xb1\x31\x6c\x6c\x36\x86\x47\x9b\x1f\xfd\x77\x1f\xb3\xff\xb5\xc5\x8e\x0d\x3d\x76\xba\xdd\xee\x87\xb7\xc0\x1a\x68\x70\xfc\xb1\xe7\x7d\x3d\x7c\xfd\x3a\xe8\x9e\x5f\xbc\x1d\x4d\x0e\x14\x1f\xc5\x9a\xe8\x6d\x74\xae\x1f\xb6\x3a\xce\xfc\x63\xe7\xb6\xff\xb2\x7b\x7b\xe5\x76\xe3\xef\xc3\x6e\xfd\x6a\xfd\xac\x5e\xef\x9d\xff\x5f\x4a\xde\xab\xe5\x79\xb6\x39\x17\xde\xcf\xaf\x78\xf6\x5e\x3e\x9c\x7c\x56\xb7\x1d\x58\x1b\xa7\x7a\xef\x7d\x4f\xc5\x56\xef\x5d\xbf\x7e\x61\xeb\x7e\x42\x42\x02\xeb\xcd\x05\x86\x0b\x79\x38\xe6\x2c\xd3\x8e\x19\x61\xd6\xb1\x4d\xd5\xd9\xdd\x14\x32\x5d\xf8\x07\x08\xed\x61\xed\x9c\x61\x0a\x9d\x6e\x0d\xc1\x6e\x0d\xfb\x61\x8d\xc4\x61\xed\x3d\xd2\x97\x17\x87\x2f\xf4\x9e\xfe\xd7\xcf\x2b\x85\xff\x84\xfe\x0c\x18\x54\x26\x9c\x8d\x25\x14\x8d\x25\x94\x7f\x52\x00\x06\x15\x16\x29\x58\xdc\x08\x04\x10\xfe\xbc\x94\xca\x24\xe1\x51\x68\x02\x56\x5a\xa1\x50\x79\xa1\xd0\xbc\xc3\xb0\x2d\xc2\xa1\x6f\xc2\x47\x3f\x44\x82\x74\x85\xb1\x9f\x13\x31\x7f\x52\x68\x16\x09\x43\x7b\x19\xb6\x30\xb4\x85\x30\xb6\x85\x80\x75\x45\x18\xf6\x45\x38\x0c\x4b\x24\x4e\xc7\xf0\x18\x97\xff\xcd\xa7\x22\xbb\xcb\x6c\xa8\x0e\x18\xbf\x84\x93\x1e\xe2\xef\xe3\x5a\x22\xe3\x1e\x22\x48\x04\xda\xad\x58\xa0\x64\xbf\x23\xdd\x68\x26\x31\x60\xa1\xda\x1f\xc2\x64\x7f\x94\x3f\x67\xa8\xbc\x20\x5b\x79\xb9\xbe\xc9\xb2\x5b\xa6\xfe\x00\xff\xce\x60\x7f\x97\x0e\x9b\x08\x14\xeb\xc1\x24\x67\xca\x54\x8e\x2b\xcc\xb0\x2b\xc0\xb0\x2b\xcc\xae\x6b\xbc\xfe\x5f\x01\xe8\x32\x9b\xff\xf4\x07\xdb\xa6\x0a\x9d\x16\x09\x89\xd4\xf7\xa6\xbf\x47\x5a\x1a\x46\x10\xe6\x24\x25\x25\x3d\x49\xc5\x25\x1c\x50\x34\xdf\x88\xc0\xcb\x35\x23\xca\x77\xb2\x60\xfa\x1d\x9c\x34\x5d\xa9\x42\x6b\x19\x3f\x40\xc3\x4a\x5e\x8b\x28\xe0\xdb\x76\x9e\x18\x2b\x74\xac\x63\x2a\x19\x06\xd5\x2a\x86\x65\x74\x22\x35\x3e\xd3\xd6\x1a\xc8\xbf\xbe\xcd\x00\x96\xf9\x6e\x66\x3f\x68\x9e\xe1\x78\x59\xb3\x92\x26\x33\x15\x6c\xa7\x42\xc4\x39\xe8\xea\xba\x94\x3e\xd4\x2d\xcb\xaa\xe6\x3a\xcf\x4e\xc9\xf2\x1a\xa6\xd1\xcb\x56\xd2\x2d\x2b\x69\xaa\x9a\xcc\xe5\xa2\x47\x2a\xa6\xd1\xc4\xd1\xf8\x39\x39\xff\xb5\x4f\x8a\xe0\x8d\x8a\x74\x48\xe3\xeb\x52\x9c\xa0\x38\x59\xd7\xe7\xa1\x69\x5d\xd1\xa6\x68\x9b\x8a\x95\x25\xe5\xed\x24\x4e\xd5\xe1\x3d\xbe\xdb\x67\x59\x09\x7c\x60\x4b\x8a\x11\xa5\xd9\x0e\xfa\xde\xdc\xed\xb3\x68\x79\x5e\xb0\x15\xe3\xed\x25\xd9\x8b\x24\xbf\xe5\x99\xa0\x7c\xad\x8c\x06\x46\x91\x41\x21\xe3\x5c\x39\x85\xa1\x12\x80\xf1\xa0\x3a\x71\x05\xb2\x76\xa3\xb6\x76\x95\x3d\x77\xb3\x86\x77\x55\x85\x71\x07\x3a\x6d\x03\x76\x5c\xd3\x3d\x76\xd5\x85\x5d\xd3\x45\xf6\x50\x75\xe3\xa0\xb6\x4d\x55\xb5\x3f\xa6\xe3\x9a\x2a\xeb\x9a\xae\x0b\xe1\xe1\x75\xcb\x6e\xec\xce\xe7\x69\xd6\x88\x6b\xba\xa8\x19\xba\x70\x1c\xd6\xc8\x1e\xde\x5c\x3c\x84\xd1\x53\x55\xbd\xef\xb3\xf4\x0b\xe2\xc2\x30\x1e\xbe\xfc\x57\x38\xfb\x61\xf6\x1f\x8a\x6c\xd3\xbc\x14\x9d\xe1\x75\xcb\xf0\x23\x80\x1d\xdf\x74\x1d\xd7\xad\x3d\xd7\x74\x3d\x3f\xac\xbd\x4f\xea\xba\xaf\xf0\x65\xed\x5f\x61\x55\x45\x4c\xd7\x75\xe3\xd0\x45\x3e\xee\xec\x86\xe1\x0b\xf3\x4d\xd7\x77\xd3\x1a\xf9\xa4\xae\x67\x86\x37\xef\xf5\x66\xb1\x4f\xf8\xba\x5c\xcf\xcc\x7f\x2b\x80\x5f\x2e\xfc\x15\x0e\xd2\xb0\x0e\xe2\x14\x46\x8f\xbc\x6f\x9a\x7a\xe8\x86\x62\x68\x8a\x62\x18\x86\x66\x98\x1b\x64\x18\x07\x38\xee\x96\x62\xe8\x86\x51\x9a\x9a\xf7\x30\x0e\xa7\x34\x0d\xb7\x71\x6c\xce\xf1\x72\xbd\xa2\x18\xc6\xa1\x18\xa6\xe2\x18\x86\xe2\x18\xa7\xe1\x7c\x0c\xc5\x39\xce\x43\x31\x2c\x03\x2a\x4d\x23\x15\x8f\xc3\x3a\xce\xcb\x53\xde\x8e\x73\x5c\x5a\x6a\x18\x07\x62\x9c\x96\x4b\x6e\x19\xd0\x71\x6f\xf9\x71\x29\xc9\xe7\x65\x36\x45\x2b\xf7\xc3\x3a\x2c\x43\x43\x2c\xcd\x63\x5c\x5a\x5e\x99\x1b\x28\xe9\x88\x71\x58\x8b\x51\xde\x46\x5a\x9a\x96\xfb\xb8\x14\x37\x28\xb5\x58\xd3\xf5\xfd\xb4\x66\xd1\xd2\x45\xdc\xf0\x85\xc0\x9f\x14\xc7\xe3\x17\xe6\x1d\xb1\xbd\xdc\x7f\x80\xe3\x67\x95\x92\xf7\x42\x40\x6b\x86\x9f\xc8\x33\x59\xe2\x70\xe6\x65\x75\xe1\x1e\xb7\xf9\xf6\x8c\x4f\xe9\x7c\xe5\x9a\x40\xd4\x21\x3e\x20\x71\x34\x0c\x63\xb8\x0c\xc3\x6d\x39\xe2\x62\xa5\x47\x6d\xa6\x1c\xd7\x7d\xf9\xa1\x5b\xa3\x67\x9a\x5e\xbe\x6c\xa6\x0b\x7a\xbe\x35\xef\xf5\x56\xbb\x61\x1c\x96\x62\x94\xd7\xef\xaa\x4a\x3e\xd9\x9b\x67\xb2\x9c\x20\xf1\xd3\x09\x29\xeb\xd5\x6f\x63\x69\xa6\x50\xb8\x3c\xf4\x44\x3c\x91\x35\xde\x5b\xfe\xa1\x2d\x3a\x92\x46\xda\x4a\x83\x96\xff\x01\x96\xdb\xd7\x03\x98\x9f\x07\x30\xcf\x1e\x74\x16\x33\x82\x0e\x60\xc0\x00\x9c\xf0\x4e\x1c\x67\x07\xc3\x6e\x91\x10\xc3\xca\x83\x20\x99\x8e\x62\x04\x79\x02\xe1\xd2\x6e\x1e\x8e\xc3\xf4\x83\x10\xda\x8e\x34\x05\x99\x2b\xe0\x57\xc1\x79\x88\x87\xcd\x54\x7d\x27\x85\xb6\xe5\x64\xef\xbc\x77\x49\x29\x22\x38\x07\xae\xc5\x71\x8a\x62\x27\x58\xa0\xac\x27\x43\x29\xb2\x10\x07\xaa\xfb\x61\x48\x62\xc7\xeb\x36\x33\xd8\xc1\x81\x13\x66\x75\x56\x95\xd8\xc7\x86\x67\x35\xd5\x7c\x15\x4b\x10\x2e\xe1\x04\x55\xd1\x95\x28\xf5\x91\xe1\x58\x50\x37\xbb\xd3\x2e\x1e\x11\x55\x42\x15\x2b\x0c\x91\x61\x39\x50\xd3\xcf\x3f\x45\x5e\xc5\x56\xb3\xa4\xc4\x81\xe3\x21\xd8\x0e\xe7\xfb\x57\x51\xc5\xd4\xb3\x28\x25\xc1\x9f\x34\x8a\x40\xf3\xde\x77\xe5\x5e\x90\xd5\x59\xb5\x62\x2b\x2a\xd6\x57\x5b\xad\x8a\x11\x1e\x16\xce\x57\x51\x13\x68\x96\x55\x0d\x73\x1d\x8a\xd6\x29\x1e\xf6\x4f\x51\xa0\x69\x56\x55\xf5\x73\x2f\x4a\xb6\xc4\x39\x70\xd5\x5f\x95\xc3\x14\xb8\x96\xd7\x6c\x3b\xdc\xef\x56\x4c\x7b\xdf\x6d\x89\x52\x12\x59\x56\xb3\xcd\x7b\xdd\xc7\xb6\xec\xc2\x0c\xdb\xc9\xd7\xb6\x9a\x79\x76\xc3\x31\x1a\x50\xce\x61\xfa\x51\x8c\x9c\xc0\x82\x86\x7d\x36\xc3\x31\x2e\xf9\xe6\xaa\xb1\xab\xbe\x1f\x23\xc3\xf2\xa0\xa6\xdf\xcd\x30\x2e\x0b\x94\x6b\x6a\x75\x54\xa3\xd8\x8b\x1a\x6c\xc7\xf3\x3e\x8e\x6d\xd4\x6b\x5a\x55\x1a\xd3\xd8\x71\xba\xef\x8e\xfa\x32\x8e\x51\xb7\x69\xd7\x55\x90\xae\xf3\xab\x55\xb1\xf8\x01\x46\x05\xca\xc1\x8d\x34\x77\xa1\xed\x59\xc5\xb0\xd7\xa1\x18\xc5\x34\xdf\x20\xf5\xa0\x68\xa1\x6d\x05\x55\xd3\xef\xa1\x68\x95\xd4\x57\xd1\x3c\x2d\x51\xe4\x45\xcd\xb6\xe3\x7d\x6f\x15\x0f\xbf\x41\x5a\x75\x52\x3f\xb1\xe3\x0d\xdb\x75\x29\x7b\xdf\xdb\xd6\xc3\xf7\xbc\x56\xd3\x97\x8f\xeb\x01\x40\x83\x0c\x28\xc0\x10\x80\x18\x46\xb4\x51\x89\x0e\xf8\x05\x52\x86\x13\x9c\x09\x17\x23\x93\x3c\x4e\xba\x1a\x28\x47\x56\x34\xeb\xdd\x27\xd5\x4e\x49\x56\xed\x9e\x0c\x73\x31\x29\x31\xf6\xbf\xa7\xdb\xef\x69\x80\x53\x94\x57\xb3\xd5\x34\xc8\x89\xeb\x45\x47\xd5\x7f\xcf\x46\x36\x00\xe8\xfe\x04\x52\xb2\x42\xc4\xdd\x60\x24\xda\xad\x44\xc0\x18\xdf\x67\x9c\xf0\x35\x4c\x10\x84\xbd\x59\xd0\x57\xe5\x40\x16\x15\xcb\x29\x86\x30\x38\xc1\xd7\x84\x7a\xd3\x2c\xbf\xb7\xcd\xf1\x8a\x66\x14\x5d\x18\x3c\x71\x52\xa2\x1a\xc6\x61\xba\x41\x0a\x1c\xc3\xaa\xaa\xba\x37\xbe\x75\x4a\x97\x7c\x33\x7c\xac\x52\x8e\x47\x1e\x19\x24\x82\x3f\x6c\xd4\x01\xce\x97\x8d\x7e\x75\x29\x41\x90\xa5\xac\x71\x48\x39\xc7\xd8\x4c\xd7\x0e\x01\x63\x78\xd9\x32\xa7\x69\x68\x45\x84\xcf\x9e\x6c\x3f\x8c\xb1\x1d\x18\xa0\x98\xf3\x34\x38\xac\xc3\xe7\x60\xb6\x6f\xc6\xc4\x0a\xbc\x62\xba\x52\x00\xd0\x4e\x00\x0c\x7a\xda\x18\xa1\x53\x39\xa3\x06\x22\xe0\x01\x03\x82\x6e\x37\xcb\xb3\xac\x5b\x86\x93\x15\xed\x9d\x25\x2a\xc8\x76\x3c\x3f\x18\xba\x18\xb9\x56\x50\x34\x23\xcb\xdc\xef\xea\x29\x8a\x63\x4e\xba\xfa\x56\x60\x7f\xd2\xe8\x12\x24\xf9\x97\x20\x4a\x1c\xcd\x30\x82\xd0\x87\xb6\x65\x18\x59\x9e\xb3\xa2\x44\x58\x14\xc3\x30\x42\xdf\xfb\x86\x61\x64\x45\x5e\xb3\xc2\x37\x37\x0d\xbf\xbd\xca\xa4\x19\xf2\x1a\x55\x45\xe4\x37\xc5\x52\x80\xaf\xfe\xac\x50\x00\xbb\x55\x56\x7c\x17\x9a\x9c\x94\x04\x59\x2d\x8a\xd6\x77\x75\x0c\xd3\x8b\x83\x2f\x28\x46\x51\xf5\xbb\x1b\xe0\x24\xc1\x39\x35\x3b\x4e\x82\x68\x7f\x1d\x01\x4e\x73\x52\x8a\x2c\x94\xf3\x2a\x55\x1a\x13\x37\x88\x08\xec\xaa\x0f\xfb\x34\x2c\x46\xda\xf7\x61\x76\x50\xe6\x77\x14\x45\x50\xf7\xf5\x90\xf1\x8c\x2b\x00\xd4\x8d\x25\x37\x6a\x03\xfb\xcc\xaa\x45\x12\x50\x56\x07\x85\x94\x03\x2a\x90\x80\x8c\xa2\x2a\x96\xd3\xbe\xe7\xee\x04\x5d\xb7\xe3\xf8\x7e\xdd\x32\x45\xb5\x6c\xc3\xeb\x9a\x14\x05\xc1\xc5\x02\xbe\x05\xe8\x97\x46\x68\x8a\xf2\x87\x19\xec\x7d\xfe\xa3\x16\xfc\xdf\x6c\x01\xfb\xaf\x74\xe3\x6f\x06\xf1\x03\xbc\x68\x44\x05\x00\xd5\x6f\xdf\xdc\x3d\xb1\x6c\x95\x60\x92\xd9\x31\xdf\xb2\x57\x00\xc3\xb7\xde\x26\x59\x2f\xe8\xb6\x7d\xcf\xb3\x98\xfa\xd3\x6f\x50\x9c\xc0\xba\x9e\xe5\x65\xfc\xe7\xd9\x0f\x50\x49\xa2\xe0\xef\x2f\xfe\x6e\x4e\x28\x49\xf0\xdf\x1a\x16\xff\xcc\xb3\x2b\x38\xb0\xf3\x38\xc6\xbe\xe7\x35\xcb\xfc\xa5\x0e\x11\x81\xc0\x70\xdd\x8f\xa3\x41\x82\x75\xeb\x78\xa0\x3f\x79\x0e\xbe\xee\x93\x3a\xb6\xdf\x19\x32\x00\x03\x80\x2c\xe9\x86\xd7\x34\xcd\x08\xd2\x5c\x08\x7a\x42\xb2\x98\x1f\xe0\xd7\x84\x3a\x47\x95\x34\x2b\xab\x73\x96\x94\x24\xab\x3e\xed\xaa\x97\xfa\xc8\x72\xbc\x6a\x08\x13\x58\xb4\xa4\xc2\xab\xeb\xfa\x9b\x02\x6c\xc7\xab\xba\x9f\x62\xf2\xf0\x6a\xb8\x16\x87\xef\x62\xb4\xac\xa8\x67\xd5\x8c\xae\x68\x43\x20\x30\xc2\xb0\x82\x14\xf9\x9e\xd7\x4d\xf3\x5e\x93\x92\x35\x20\x30\xc2\x49\x8a\x1a\x84\x96\xd3\x0c\xf3\x9e\xe6\xc5\x48\x73\x15\x54\x8b\x93\xfc\xdd\x26\x71\xe4\xb5\x1a\x46\xd1\xf9\xdd\xfa\x34\x4b\xb1\xef\x05\xdd\x71\xb1\x80\xaf\x89\x58\x51\x03\xc3\x8d\x24\xab\x69\x18\x51\x1b\x9d\xc5\x2d\x00\x19\x53\x6c\x49\x10\xb9\xbd\xac\x53\xd0\xfb\x8f\xf1\x52\x0c\x09\x80\x49\x5d\x56\xa0\x18\x46\x96\xe5\xce\xd7\x64\x08\xea\xe7\x14\x57\xdf\xc6\x31\x25\xe5\x1d\x24\xe9\xd5\x4e\x61\x4a\x9a\x6f\x3b\xe1\x12\xce\x45\xb0\xe3\xf9\x0e\x31\x17\xb9\x31\xb4\x25\xf9\xdb\xab\x18\xa7\x1a\x5b\x9e\x37\x7e\x72\x35\x4b\x52\x5f\xaf\xba\xca\x39\x46\x10\xba\xc0\xb4\xac\xa2\x4a\xbf\xc2\xd2\x4f\xb8\xeb\xc5\xe0\x2b\xdc\xd4\x35\x2b\x4a\x52\xe4\x31\x97\x9c\x61\x59\x45\x53\xd7\x3f\xd0\x3f\xbc\x2f\x34\xac\x0b\x54\xbc\x72\x8a\x14\x7d\xbf\x10\x84\x2e\x34\x8d\x9f\x30\x2b\x4a\xdf\x95\x5e\xc2\xa6\x65\x65\x55\xfe\xbb\xac\xe8\x02\x10\xfe\x06\xfd\x29\x72\xbe\x25\x32\x4d\x6e\x14\x00\x94\x7e\xd1\x0a\x51\xd2\x25\xa1\xd9\x20\x2c\x11\x68\x87\x2b\x05\x2b\xa3\x00\x0d\x00\x48\xd2\x7c\x20\x8e\xd6\x3b\x28\x9a\x6d\x05\xcb\xb3\x30\xcb\x48\x72\xb2\x90\x73\xd6\x2a\xca\x9a\x9f\x3c\x57\xe0\x12\x27\x80\x43\x63\xef\x4d\xd3\x76\x9a\xf5\x02\x6c\x39\x49\x71\x9c\x5b\x1a\x40\xdd\xbe\x11\x87\xe3\x56\x5d\x57\x05\xb2\x95\x0c\x07\x9c\x4e\x1b\xf9\x25\x29\x14\x00\x1b\x43\x31\x67\xe6\x00\x92\x25\x4b\xe1\xbb\xaa\x1c\x18\x3d\x90\xa8\x6d\x53\xc1\xee\x03\x83\xc1\x49\xe1\xe2\xcb\x54\xb6\x49\x3b\x66\x9e\x50\x53\xd1\x80\xa4\x98\x03\x1c\x66\xc1\x66\x0a\x93\x6b\x43\x16\x89\x85\x96\x91\x81\xcf\xd1\x02\x89\x01\xa5\x0c\x10\xa8\xd8\xd6\x4e\x99\x00\xeb\xa7\x3b\x2c\x08\x46\x46\x52\x9c\xb0\x1b\x8c\x53\x09\xd4\x15\x1c\x18\x04\xc7\xb0\x0c\xd6\x17\x85\x11\xb5\xca\xab\xe9\xec\xa2\xa1\x18\x00\x80\xcf\x00\xa8\x32\x28\x13\x0a\x29\xd2\x02\x4c\x2b\xb7\x9b\xc1\x88\x8c\x59\xe5\x92\xcd\xe0\x7f\x3a\x4f\x32\x20\x33\xf0\x04\x19\x65\xb0\x3f\xc0\x42\x28\x84\xb0\x23\xca\xed\xa6\xd0\xff\x21\x0b\x8c\xfa\x3f\xb7\x50\x29\xf0\x47\x0b\xb8\xc8\x22\x05\x72\x3d\x44\x52\x1b\x00\x23\xd0\xb6\x3f\xdf\x68\xdc\xd5\x32\x8d\xab\xee\xc7\xca\x9a\xe4\x81\xd1\x66\x76\xa8\xa5\x42\xbc\x6c\x70\x6a\x76\xf5\xc0\xd2\x56\x5e\xe2\xf7\x36\xc5\x51\xd6\x84\x85\xda\x63\x29\x24\xc5\x13\xb3\x5b\xc1\x5d\x40\x7d\xc7\xde\xc4\xac\x7a\x87\x69\x0b\xf3\x01\x76\x76\xe5\x0f\x10\x45\xef\xc3\x8b\x66\xe7\x15\x75\x0a\xf8\x5e\x36\xfb\xa3\xa6\x9c\x59\x9f\xe1\xe7\x7d\x0a\x3e\x2f\xa5\xca\xc0\x04\x38\x93\x4c\xd1\x4c\xe1\x74\x6c\x72\x6e\x03\xa5\x07\xe4\xf1\x72\x47\x80\x06\x83\xd8\x4d\x1e\xea\x21\xf7\xf7\x07\x2e\x2e\xbe\x7c\x5f\xd0\x24\x7b\x86\xdc\x1d\x7f\x94\xce\xad\xd7\x9b\x98\x63\x44\x27\xab\x3e\x6d\x24\xa0\x2f\x3a\xd6\x87\x3d\x4d\xc3\x3e\x8f\x15\xb3\xa1\x12\x7c\x94\xea\xca\x51\xaa\x63\x7f\x16\x42\xb7\x64\x78\x2a\xae\xb0\x16\xf0\xaf\x08\x7f\x25\xb7\x6b\x85\xdc\x7b\x1d\x92\x47\x88\xf8\x6c\x4a\x97\xf2\x7d\xe0\xcf\xd9\xfc\x94\x1e\xe3\xed\xe2\x3d\x2a\xb8\xf7\x59\x76\xf9\xf2\xe2\x27\x2a\x4c\x0d\x52\x8a\x0b\x1e\x72\x67\xe7\x8e\x36\x4f\xbc\xa6\x39\xc4\xbe\xdf\xf6\x2a\x4c\x82\xd6\xbf\x31\x17\x60\x34\x9c\xeb\x7d\xb7\x33\xad\xb3\x59\xee\xb6\x3f\x2c\x75\x30\x30\xf5\xd6\x01\x40\x5a\xfb\xe2\xfa\xdb\xe3\x21\xa6\x78\xdc\x34\x76\xb3\x88\x51\xe5\x3f\x70\xe8\xc5\xf3\x50\xc5\x05\xd2\x0a\x4c\xbd\xdf\x3e\x9a\x05\xf4\xc3\xd2\x41\x82\x5c\x66\x53\xb5\x6f\x7a\x23\x11\x7e\x03\x40\xac\x0d\x3a\x90\x70\xfc\x49\xa8\x8f\x17\x27\x52\xe5\x8e\xdd\x7a\x22\xa2\x9d\x14\x79\xf8\xd6\x6a\x1e\xbe\x2c\x56\x02\x85\x07\x21\x5c\xca\x2b\x5e\xf7\x5a\x1e\xda\x27\x34\xdd\xe8\xa6\x65\xe1\xf4\xaa\xbe\xfa\x79\x6c\x15\xc2\xa1\x33\xc1\x83\x61\x3f\x7f\x26\xbc\x9d\x42\x77\xab\x89\x33\x0d\xa4\x7b\x72\x78\x9b\xf2\x65\x9c\x63\x88\x7e\x54\xeb\x13\xc6\xa7\x54\x04\xa3\x84\xdd\x66\x7d\x98\x5b\xc5\x95\xb5\xb7\xa7\x71\x48\xe5\xae\x4e\x70\x6d\xb9\x47\x74\xf1\x9e\x57\x54\x8d\x47\xac\xa9\x61\xb6\xcc\x05\x7a\x98\x08\x0e\xba\x06\x0a\x9c\x77\xb9\x85\x95\x3c\x5b\xb7\x87\x77\x47\x6c\x5c\x7c\x54\xdc\x64\xe5\xbe\x67\x3f\x55\x08\x77\x6f\x28\x75\xe7\xf4\x41\x84\x8d\xd4\x2b\x26\x4e\xbf\x02\x2c\x73\xf2\x83\x2f\x58\xa4\x2e\x14\xad\x47\x3b\xf3\x43\x78\x8b\xeb\xfd\x83\x6b\xf3\x49\xee\xbd\x7d\x86\xa1\x71\xa3\x02\x26\xe7\xfd\xcf\xc0\x61\x11\x20\x8d\xba\x78\x20\x9c\x98\xab\x58\x27\xae\xb7\xdc\x4f\x40\x0f\xc4\x2f\x77\xf0\x7e\x80\x4f\x0e\x19\x23\xe0\x63\xaa\x93\x00\xb2\x75\xe7\xc7\x83\x3a\x43\x40\xde\xe4\x89\x4f\xdc\xf7\xcd\xc0\xf2\x9b\x41\xc2\x5b\x7e\x0f\x47\xd1\xd6\x77\x8b\x4c\x85\x67\x93\xd9\x6f\x90\xda\x93\xa1\x75\xac\xc3\xb4\xd9\x8b\xe4\x13\x57\xcf\xf7\x1f\xa0\x65\x9a\x41\x25\x79\xa1\xe8\x6b\x6c\xa0\x13\x2e\x06\x98\xb1\xe8\xc5\x8e\x29\xfd\x0c\x20\x9b\x68\x86\xbc\xc5\xec\x8d\x48\x37\x4f\x16\x02\x44\xc6\xf8\x53\x86\x47\x58\x38\x01\x59\x98\x47\x85\x7c\xdc\x3e\xf9\xc3\x91\xe4\x35\xf0\x2e\x46\x9f\xce\x13\xbd\xb1\x1f\xb8\x39\x83\xd3\x82\xd9\x27\xa2\xc2\x39\xa2\x1d\x33\xf2\x7e\x10\x24\x6c\xa4\x16\x64\x81\xc9\x28\x32\x59\x57\xb4\x4c\xb4\x5e\xa2\x49\x3d\x72\xd6\x07\x44\xe5\x4c\x32\xab\x4a\x34\x9e\x00\x3c\xb1\xcd\x35\xb3\xae\x1e\xac\x9e\xa0\x6c\xfd\x7a\xed\x1e\x6a\xd8\xc5\x5d\xe1\xcd\x27\xcd\x34\x84\xd7\xae\x91\x6b\x00\x7b\x33\x07\x53\x2a\x8f\xcd\x78\x91\xe3\x98\x2f\x99\x89\x00\xc9\x9e\x74\xe3\x6d\x24\xd5\x08\xb4\x8c\xd6\xf2\xd8\x66\xac\x63\xf4\x0d\x1c\xa2\x7e\x80\x95\xda\xfb\xe9\xec\x95\xde\xc3\x43\xee\xa8\x53\xbe\x7d\xd4\x79\xe1\x99\x90\x46\xf5\xc7\x04\x1d\x68\x06\x87\x29\xb6\x1e\x47\x73\x2a\x4d\xa8\xad\xce\xb0\xc7\x27\x89\x3f\x67\xdd\x18\x0a\xc8\x22\xb2\xca\x1f\xc9\xed\x93\xd0\x19\x7b\xbb\xec\xf0\xb3\xd1\xfe\xe7\x7c\x67\xb2\x9e\xc8\x81\x38\x01\x20\x1a\x60\xb4\xfd\xb2\xcd\xef\x8b\xcf\x1d\xe8\x0a\xf3\x15\xda\xbb\xc4\x1d\x9d\xf1\x71\xf1\x9e\xf0\x87\xe8\xc7\x4f\xac\x20\x06\xea\xa9\xee\xf1\x7a\x92\x9b\x33\xc7\xd4\x96\xb3\xf9\x55\x1f\x7a\x8b\xfe\x5e\x09\xed\x7d\xc7\xc2\x88\x35\x9c\x24\x93\x46\x77\xc2\xd2\xf7\xe7\xcc\x61\x1b\xd0\x00\xa6\x99\x1c\x8f\x51\xb7\xa6\x23\x86\xda\xf0\xf8\x16\xeb\x9f\x4a\xea\x26\x74\x16\xc0\xf2\x46\x57\x31\xd4\x8a\x1c\xcd\x22\xb4\x26\xae\x68\x83\xea\xd6\x47\xa8\x46\x79\x85\x74\x60\x3d\x09\x5d\x4f\xe5\x47\xf6\xec\x12\x44\x9a\xdf\x2a\x2b\x49\xa7\x64\xbe\x73\x6d\x45\x32\xb1\x63\x65\x52\xf7\x9b\xc8\x5f\x75\xd2\x10\xe4\x4c\xec\x5a\x28\x8e\x3d\x72\x3a\xc7\x20\x0c\x82\x8d\x79\x5c\xf4\xb6\x46\xca\xdb\x6a\xa7\xce\xc3\xed\x2b\x04\x96\x0b\x07\x32\xa2\x52\xaf\x8e\x0d\x00\x7e\x88\x1d\x0a\xba\x07\x53\xa0\xa5\x31\xf6\x26\x48\xad\x7f\x30\x50\x42\x15\x10\x06\xba\xbb\x9d\xd1\xcf\xd0\x05\x4a\x91\x12\xf9\x1d\x3c\x85\x37\xf9\x03\x54\xab\x9e\xb8\xef\x13\x00\x54\xc8\xc8\x4c\x20\x54\xb7\x63\x15\x08\xe3\x84\x55\x95\xa8\x85\xcf\x4c\xde\x09\x41\xf1\x4a\x4f\x54\xb5\x41\xb7\x95\x77\x0a\x9a\x23\x2a\x09\x66\x82\x0c\xb2\xaa\xc5\xbe\xb0\x3c\x8f\x6f\x0d\x84\xea\x82\x6b\xfc\xc1\x79\xa0\x99\x6f\x50\x26\x1b\x24\x2b\x51\x64\xdb\x23\x86\xe3\x18\xe1\x1d\x9e\xf3\x39\xa4\x49\xd1\xe9\x59\x2f\x78\x22\x27\x8a\x75\x49\x37\x92\x04\xd2\xf9\x8f\x81\xc4\x0f\xa8\xd3\xc1\x7a\xff\x74\x3b\x8f\xe0\x9b\xdb\x64\x02\xff\xb9\xc2\xd7\xce\x6a\xe3\xb3\x7e\x87\x09\x39\xc0\xd2\x8e\x86\x2b\x35\xbc\xc8\x2c\x22\xd0\x17\xd8\x17\x7e\xd1\x55\xf9\xfe\x80\x03\x8a\xc5\x98\x63\x13\xfb\x81\x67\x81\x4f\xf8\x2c\x34\x95\x6e\xbc\x00\xb5\x5d\xd7\x54\x4e\xc6\xe5\x13\x6c\x9a\x72\x35\x31\x0a\x3a\x22\x0a\x80\x11\x4f\x10\x00\x40\x12\x8d\x4a\x2a\x7e\x92\xd9\xf4\x93\xb7\xcc\x41\xc4\xd6\xed\x49\x95\xa0\xa6\x18\x1d\x50\xc0\xaa\xfd\x3b\xd0\x37\x5d\x13\xa5\xfa\xb5\x7f\xd3\xa8\xde\xb4\xef\x15\x79\x7b\x3d\x8a\xfa\xd9\x95\xe8\x37\x94\x5e\x3f\x27\xd1\x1c\x5c\x85\x76\x87\xfe\x0c\x6c\x69\xa2\xb4\xf5\x04\x19\x90\x8d\x02\xea\xe0\x84\x50\xcf\x09\xd1\x10\x3d\x43\x72\x0c\x50\x82\x08\x32\xc0\xe9\x50\xa4\xb6\xf8\x0e\x91\x74\xe6\x7e\xf8\xc7\x82\xd8\xf3\xf1\xb9\x12\x7d\x62\x0a\x4b\x00\x0e\x23\x27\xd9\x7b\xbd\x5a\x26\x98\xe7\x0c\x10\xb6\x1e\x7b\x21\x78\x65\x91\x33\x86\x1e\x70\x18\x00\x6e\xf4\x8e\x3d\x0c\xf4\x3e\x3e\x1f\xfc\xee\x38\x43\xd8\x90\x10\xd9\x38\x8b\x52\x77\x25\x5b\xf2\x33\x9c\xd1\xd7\x70\xa1\x6d\xd7\xc5\x7f\x2a\x42\x33\x95\xd6\x80\x7b\xd5\x69\x9d\x9c\x45\x20\x1a\x23\xd4\xda\xf2\xf1\xbc\xf7\xb9\x7b\xfd\x4a\xb0\x64\x46\x67\xa2\x5b\xcf\x1f\x9f\x0d\x66\x15\x80\x76\x70\xa0\xdd\xe8\x68\x28\x90\x0b\xbf\xc3\x13\x16\x37\x2e\xf2\x88\x51\x6d\x00\xcf\xa4\x0c\xaa\x90\xd2\x00\x09\xf2\xb8\xba\x03\xe5\x76\x07\x9b\x45\x51\x69\xed\x01\x00\x94\x84\x2d\xad\x47\xb7\xc5\x4f\xce\xa5\xcf\xf5\x4d\x17\xe1\x7a\xb6\xf1\x8c\xcc\x2c\x16\xcb\x78\x97\xaa\x70\x20\xd5\xcf\xa7\x7d\x51\x33\x06\x90\x54\xb8\x2e\x9f\xe1\x15\x50\x36\x39\x2b\x9b\x0b\x0c\x87\x01\x1b\x37\xab\xf5\x7c\x5a\x11\xbf\x02\x3a\xa0\x50\x7b\x97\xdd\x72\x28\x4c\x70\xd3\x42\xa0\xe4\x67\x32\x30\x99\x99\x00\x6d\xeb\xa8\x6c\x4d\xed\x7d\xb2\x79\xf9\x22\x8f\x0c\x4b\xdc\x3a\x2d\x46\x6e\x3a\x10\x9e\x49\xa1\x1b\x89\x9f\x3d\x7a\x2d\xb8\xc9\xe5\x6e\x58\x2b\xf2\x29\x1b\x76\x29\x51\x2c\xe3\xb6\x13\x85\xa1\x7b\xcc\x49\xc4\x89\xee\x99\xfd\x7c\x3e\xde\x5d\xe3\x39\x32\x13\xd1\x29\x84\x6d\xfc\xfb\x9a\xeb\x05\x7b\x5a\x26\x99\x8b\x58\xfb\x6a\x6d\x2d\xe4\x76\xa1\x2f\x9a\x43\x65\x52\x38\xb0\x8c\x7b\xb3\xb8\x1d\x70\x26\xff\x01\x32\x60\x28\xa4\x1a\xb9\x1b\x00\x35\x20\xcd\xdd\xbe\xc3\x7a\xf3\x19\xe4\xc1\x32\x55\x3a\xce\xfd\x18\xba\x7c\x39\x7e\x8f\x3d\x89\xc6\x2f\xac\xec\x17\x8f\x09\x4b\x92\xa2\x11\x2d\x49\x7d\xb6\xa7\x24\x26\xa3\xe8\x4f\xc2\xea\xca\xf6\x04\x00\xd0\xce\x66\x63\x75\xeb\x34\x38\x54\x37\xdb\xd8\x2b\x4a\xae\x1b\x82\x54\x12\x0b\xc4\x3c\x3f\x23\xb2\x5e\x4c\x8a\x6c\x33\x45\x4d\x85\x7a\x0c\xa7\x22\x2b\xa3\xbc\x2e\x97\x94\x00\xac\x9b\xdd\xe6\xd3\xdf\x9c\xd6\x97\x51\x5b\x94\xfb\xa8\x8c\x3c\x09\x60\xee\x6f\xd0\x5e\xb0\x9f\x41\xcc\x24\x10\x42\x4f\x7f\x9c\x2d\x34\xdd\x67\x43\x0d\x92\xab\x9c\xd3\xd7\x80\xe1\x9e\x54\xbd\x8e\x86\x29\x66\xe4\xbb\xcf\xb7\x56\xf5\xc4\x72\xe6\x86\xa6\x27\x5c\x46\xb7\x56\xf2\xfd\x60\xc8\xc2\x41\x87\x4c\x8c\x0d\xb0\xd1\x98\xfc\x7e\xca\x40\xa1\x95\x9c\x8f\x55\x00\x40\x9d\x49\xb7\x99\x9d\xf0\x2b\x1e\xde\x82\x43\x4c\x5e\x07\xd5\x8a\x11\x3a\xee\xb2\xbe\xd4\x5c\xbb\x6f\x93\xef\xbe\xd8\xa9\x42\x2a\x4c\x2f\x26\x0a\xf0\xd4\x93\xad\xb6\x98\x63\x5e\x99\xf8\xeb\x92\xb4\x47\x35\x95\x10\x95\xb2\x4a\x28\xcb\x59\x77\x3e\x95\x1b\xfb\x67\xbe\x5c\x6c\x01\x99\x09\xfb\xed\xe4\x0b\x8a\x04\x12\xa8\x49\x49\xed\x59\x78\xd2\x5e\x62\xef\x26\x07\x53\xbc\xa2\x11\xc6\x83\x9a\xcf\xc6\x65\xc6\x3f\xba\xd8\x56\xa9\x48\xac\xcc\x16\xea\x07\xe0\x0d\x52\x60\x68\x67\xac\x95\x84\x04\xe0\x6a\x48\x22\x12\xb0\x20\x63\xb8\x89\x9b\x39\x31\x18\x10\xc3\x59\x69\x01\x4d\x70\xad\x16\x6c\x41\xad\x09\xe1\x3a\x9f\x8e\x9a\x96\xe3\x9b\x7c\x7c\x0a\xa5\xf2\x04\x88\x6a\x48\x92\x00\x02\x90\x12\xf4\x09\x5e\xdd\xc4\xb0\xb5\x6d\x71\x0c\x75\x05\xd8\x5b\x12\xbf\x4d\x9a\x82\x22\xb3\x97\xf9\x41\xd5\xfb\x3a\x91\xee\x0f\x42\xde\x5b\x64\xec\x9b\xe1\xf0\xa7\x40\xf4\xcc\xe2\xce\x1a\xbf\xd1\xb0\x51\xbd\x14\x0a\x68\x45\x3c\x1a\xa4\x01\x68\x8a\x9e\x86\xbe\xeb\xf4\x65\x4e\x6f\xd0\xc5\xe8\xa9\xf7\x2b\x23\x0a\x26\x2d\x02\x3f\x73\x1b\x03\x08\xd8\x0d\xdb\xa6\x8a\x21\x99\x82\xac\x3b\xd5\x20\xa4\x02\xba\x4b\xb6\x01\x19\xa5\xf7\x29\xf7\xb3\xb8\x81\xf7\xe2\x4b\x9d\x52\x32\xee\xc7\xd0\xc2\x73\x84\x8e\x17\x06\x0f\x72\xa6\x20\x7f\x5c\x6f\x5f\xe3\x50\x1b\x92\x3d\x24\x44\xa2\x1a\xeb\xb1\xc4\x0e\xa4\x7c\x81\x34\x93\xe8\x9d\xe0\x5a\x71\x72\xe5\x3c\x4e\x30\x64\x19\xf0\x27\x76\xeb\x16\x2b\x55\xc9\xbe\xa3\x0a\xca\xe5\xc7\xf3\xe6\x9d\x0e\xb8\xd3\xf4\x4c\x3f\x81\xfd\x67\x7a\x8b\xe6\x50\xad\x50\x00\x9c\x09\xbb\xde\xac\xdb\xc7\xb2\xd4\xea\x1d\x78\xb5\xdd\xc7\x28\xd6\x7c\x10\xf3\xd3\x0c\x83\xf8\x56\xde\x55\x9d\xf3\xe0\xb3\x3c\xdc\x0e\x30\x80\xca\x00\xe8\x25\xb3\x9a\xe5\x9b\x54\x19\xb4\xa7\x6c\xc1\x55\x39\x38\xbf\xf7\x3d\x28\x69\xea\x9f\xd0\x9e\xf7\x2f\xd8\x29\x07\x83\xdc\xd0\x1d\xc3\x93\xf7\x3c\x54\xa5\xc1\x1c\x0b\xca\xbd\x48\x42\xbd\x99\x04\x0e\x39\xc3\x53\x73\x8b\xec\xb1\x69\x0d\xe1\x2d\x2d\xf4\x8e\xb0\x5a\xa2\xf5\x2e\x8a\xc5\xe9\x07\x48\x44\xf2\x90\xc5\xb9\x7e\xf6\x2b\x26\x99\x58\xa1\xd1\x45\xbd\x3d\x9f\x61\x1f\x3c\x06\x58\xd0\x94\x24\x06\x16\xd0\x80\x3b\x37\x09\xd5\x76\x71\x32\x56\x1c\x26\x71\xd6\xe3\x1e\xb6\x53\xe5\x7a\xa6\xca\xbe\x44\xc8\x74\x78\x49\x6b\xaf\x5b\x3e\x8e\x97\x07\x9e\xf4\x4a\xc8\x5f\x32\x66\x2a\x94\xe1\x00\x8c\x1b\x8b\xf9\xe3\x2a\x48\x9d\x84\x1f\x1e\x35\x50\xfb\xbe\x86\xd8\x43\x44\x02\x3e\x4f\x1a\x32\x3a\xcb\x4f\x7a\x2c\x2e\x82\x67\x32\x38\xc7\x04\x4a\x2e\x36\x75\xcd\x97\xa9\x9c\xd0\xd3\xef\x03\xee\xf0\x4a\xd6\xc3\x0e\x2b\x29\x23\x2f\x42\x1a\x2e\xe9\x3e\xfc\xee\xed\xef\x4d\x02\x72\x56\x7b\x64\x2f\x3b\xeb\xb6\x55\x37\x47\xcb\xf1\xb7\xca\x1d\x8e\x36\xc1\x77\x86\xbd\xf5\xe1\x78\x5b\x52\x5c\x3b\x2f\x7a\xcb\x6d\x41\x0a\x00\x99\x21\x3d\x8e\xc8\x85\x95\x81\xe0\x1e\xba\xb5\xd6\x14\x35\x93\xf1\x2d\xc1\xa1\x5a\xb2\x05\xe5\x29\x3c\x56\xad\x84\x67\x62\x9f\x76\xcc\x42\x6b\x32\x78\x11\x8c\x63\x90\x2c\x01\x04\x12\x34\x7a\xc0\x63\x7a\x77\x45\x9b\x80\xea\x44\x00\x68\xef\x7d\xd3\x42\x31\x2c\x1e\xf7\xfd\x41\xdc\x0f\xfe\x21\x9f\x9f\x97\x82\xfb\xa7\x29\xb5\xac\xde\xac\x6f\x65\x2a\x6a\x83\xdf\xdc\x3f\xef\x3e\xa0\xb2\x41\x3f\x75\xea\xcb\x29\xe9\x2c\x82\x8c\xa5\x24\xe5\x3f\x69\xf4\x7c\x8b\x58\x44\x84\x77\xc6\x74\x49\xe0\xd4\x80\xa1\x87\xb5\x53\x1e\xa4\x41\x82\x05\x64\xcb\xc9\x0e\x82\x3c\x37\x25\x8f\x4a\x29\xb6\x7d\xa4\x2e\x6e\xb5\x1c\xa0\xe7\x13\x1f\xbc\xce\xd4\x9b\x57\xbe\x75\x1a\xdf\xd1\x00\xd4\x97\xd9\xc4\x1b\x0d\x00\x4e\xb0\x3c\x58\xfc\x4f\xcd\x77\xe8\xe7\x8d\xcc\x33\xf7\xf2\x1d\xfa\x0d\x5e\x41\x13\x50\xa4\x01\x75\xfa\x78\x87\x0d\xea\x29\xac\x0b\xf5\x3d\xef\x3e\x76\x80\x41\x49\x08\xa2\x34\x0c\xaa\x3d\x9e\x2e\x88\x79\xc3\xbe\x26\x3e\xba\xa0\xab\x9d\xfd\x3a\xd5\x04\xad\x11\xed\xfd\xb0\x81\x2b\x03\x95\x5c\x3e\xf6\x53\xf9\xbd\xdd\xc1\x9d\x36\xa6\x5b\xcf\xef\xff\x1d\x23\x73\x7c\x8c\x2c\x11\xb5\x6d\xcc\x0a\x33\x5e\xce\x8e\x85\x53\xc5\x20\x02\x21\xf2\xb8\x7f\xae\x21\x57\xd8\xda\xa1\x1f\x7b\x27\x4a\x6e\x5e\x5f\x3a\x91\x12\x4a\x66\xf9\x48\x43\x48\xbc\xdf\x33\xe7\x6d\xa7\xbd\xcb\x6c\x00\x84\x1a\x3b\xa9\xbb\x04\x4a\xc3\xca\xc0\x0d\x90\x7a\x17\x3c\xc5\x12\x3f\x90\xad\x7c\x3f\xe1\x72\xf2\x93\xfb\xd5\x59\xb2\x35\xc3\xb3\xe9\x20\x24\x1b\x50\xa9\x74\x31\xb8\xdb\x02\x10\x55\x7c\x7d\x57\xc4\x90\x12\x98\x5f\xee\x38\x7d\xa6\x3b\xa2\xc2\x2f\x45\x7b\xc1\xd6\x6b\x4c\x9f\x0c\x6f\x87\x7c\x7b\x52\xb8\x12\x34\x1f\x83\x01\xd4\x71\x67\xc9\xe4\x4f\xcb\x14\xd0\x00\x4f\xb0\xac\xc0\xce\xa7\x09\xd4\xe9\xde\x10\xac\xea\xbb\xdd\x8b\x76\x31\x42\xe4\x60\x92\xa4\x97\x6a\xa8\xb7\xbb\x1b\xe1\xdc\xc3\x88\x17\xce\xb5\x84\x1b\x12\x85\x51\x27\xfb\xe2\x98\xba\x25\x72\xd6\xd4\x2b\xc4\x0d\xe6\xcf\xa0\x90\x3d\xef\xb8\x71\x66\x6e\x78\x99\xfb\xbd\xf3\x93\xfd\xa0\x08\xef\x63\x2f\x37\xe8\xe5\xbe\xef\xc9\x83\x20\x44\xcc\xb5\x01\xe7\xb0\x0d\xc0\xe1\x9b\x0b\x54\xa9\xb8\x1b\x7a\xa7\x6f\x41\x16\x80\x0a\x3c\x60\x5c\xe3\x31\x0b\xba\xa6\x15\xb8\x44\xf3\x6b\xf9\x7a\x29\xca\xf0\xb4\x75\x36\x41\xc7\x4e\x0a\x5b\x4e\xeb\x6c\x38\x6e\x84\xdc\xcd\x92\x87\x0f\x94\xeb\x65\x31\x05\x78\xb0\x1b\x1b\x1b\x9a\x45\xfd\xa9\xf5\x62\x7a\x93\x52\xe4\x93\x60\x85\xa5\x11\xc8\xe7\x9a\xf8\xac\xaf\x5b\xd3\xad\x4b\x01\x6f\x8e\xaa\x83\x12\xc2\x5f\x2a\xaa\xb9\xfb\x59\x61\x99\xfb\x40\xf5\x86\x79\xb2\x02\x40\x58\xbc\x31\x07\xf4\xc1\xac\xc9\x83\x58\x65\xff\xc3\x62\x23\x8d\x3b\xa2\x08\x36\x8c\xc8\x3d\x42\x0e\xa9\x18\x9f\xae\x51\xa6\x9c\xee\xb7\xea\xfc\xc6\x43\xf2\x96\x7f\x8e\x17\x7e\x7b\x11\x78\x48\xc9\xfa\x83\x44\xef\x6e\x6d\xf3\xd4\x4a\x33\xd2\x6c\xe4\x76\x83\x49\x05\x95\x01\x06\xc4\xe3\x27\xf6\x6c\x7d\x9a\xbe\x8b\xf6\xfb\xf7\x1b\x9e\xdd\xb1\x3b\x83\x2b\x38\xb4\x18\xbc\xd1\x70\xf4\x0e\xe6\x4a\xfa\x4c\x9b\x8a\xdf\x2d\x5f\xd7\x20\x91\x6e\x73\xed\x8e\xd5\x91\xd3\x8d\xf3\x7a\x9f\x30\x18\xf9\x1c\xf1\xfb\xde\x6a\x6a\xda\x26\x1d\xc5\xb7\xa4\x5b\x17\x0b\x44\x19\x1c\xe9\xd5\x7a\x70\xc7\xa5\xed\x0a\x0e\x0d\x22\xdf\xab\x71\xd1\x15\xc2\x78\x74\x27\x36\xaf\xb4\x71\xdc\xe2\x10\xe5\x4f\xad\xb8\x65\x2a\x0f\x30\x3a\x64\x32\xf0\x7f\x7e\xc2\xff\xf8\x97\xff\xef\xef\xdf\x85\xfb\x1f\xde\xfc\x4b\xba\x36\x89\xe6\x7b\x1a\xcd\xef\x7f\xfc\xeb\x5f\xff\x98\xdf\xfb\x7c\xef\xeb\xa8\x68\xff\xf1\xaf\xff\xf2\x0f\xef\x9d\xfe\xeb\x5f\x30\xfa\x17\xe8\xc7\xbf\x10\x08\x26\xfe\x82\x1e\xff\x0e\xe1\xff\x0e\x3f\xfe\xba\x41\x10\x04\xfd\x33\xf0\xbf\x5f\x24\xa8\xbb\xec\xbe\xbe\xc7\xa9\xe8\xda\xff\xae\x04\xfe\xff\x71\xe2\x7f\x85\xf4\x3f\xaf\x15\x81\x60\xfc\xdf\x20\xe2\xdf\xe0\x7f\x06\x2c\x2b\xe6\x3b\xcf\x00\xfa\xbf\xc3\xbc\xd2\x04\x86\xe1\x18\x7f\x26\x8f\x37\x1e\x7d\x9e\x44\x02\xc7\x68\x04\x25\x31\x1a\x43\x58\x84\x20\xd1\x33\x4d\x3e\xf8\x13\xfb\x4f\x4a\xfe\xe5\xff\x06\x00\x00\xff\xff\xc8\xb9\x7a\xaf\xfb\xf8\x07\x00") func staticJsHtermJsBytes() ([]byte, error) { return bindataRead( diff --git a/server/handlers.go b/server/handlers.go new file mode 100644 index 0000000..61b06dc --- /dev/null +++ b/server/handlers.go @@ -0,0 +1,238 @@ +package server + +import ( + "bytes" + "context" + "encoding/json" + "fmt" + "log" + "net/http" + "net/url" + "sync/atomic" + + "github.com/gorilla/websocket" + "github.com/pkg/errors" + + "github.com/yudai/gotty/webtty" +) + +func (server *Server) generateHandleWS(ctx context.Context, cancel context.CancelFunc) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if server.options.Once { + if atomic.LoadInt64(server.once) > 0 { + http.Error(w, "Server is shutting down", http.StatusServiceUnavailable) + return + } + atomic.AddInt64(server.once, 1) + } + connections := atomic.AddInt64(server.connections, 1) + server.wsWG.Add(1) + server.stopTimer() + closeReason := "unknown reason" + + defer func() { + server.wsWG.Done() + + connections := atomic.AddInt64(server.connections, -1) + if connections == 0 { + server.resetTimer() + } + + log.Printf( + "Connection closed by %s: %s, connections: %d/%d", + closeReason, r.RemoteAddr, connections, server.options.MaxConnection, + ) + + if server.options.Once { + cancel() + } + }() + + log.Printf("New client connected: %s", r.RemoteAddr) + if int64(server.options.MaxConnection) != 0 { + if connections > int64(server.options.MaxConnection) { + closeReason = "exceeding max number of connections" + return + } + } + + if r.Method != "GET" { + http.Error(w, "Method not allowed", 405) + return + } + + conn, err := server.upgrader.Upgrade(w, r, nil) + if err != nil { + http.Error(w, "Failed to upgrade connection: "+err.Error(), 500) + return + } + defer conn.Close() + + err = server.processWSConn(ctx, conn) + + switch err { + case ctx.Err(): + closeReason = "cancelation" + case webtty.ErrSlaveClosed: + closeReason = server.factory.Name() + case webtty.ErrMasterClosed: + closeReason = "client" + default: + closeReason = fmt.Sprintf("an error: %s", err) + } + } +} + +func (server *Server) processWSConn(ctx context.Context, conn *websocket.Conn) error { + typ, initLine, err := conn.ReadMessage() + if err != nil { + return errors.Wrapf(err, "failed to authenticate websocket connection") + } + if typ != websocket.TextMessage { + return errors.New("failed to authenticate websocket connection: invalid message type") + } + + var init InitMessage + err = json.Unmarshal(initLine, &init) + if err != nil { + return errors.Wrapf(err, "failed to authenticate websocket connection") + } + if init.AuthToken != server.options.Credential { + return errors.New("failed to authenticate websocket connection") + } + + queryPath := "?" + if server.options.PermitArguments && init.Arguments != "" { + queryPath = init.Arguments + } + + query, err := url.Parse(queryPath) + if err != nil { + return errors.Wrapf(err, "failed to parse arguments") + } + params := query.Query() + var slave Slave + slave, err = server.factory.New(params) + if err != nil { + return errors.Wrapf(err, "failed to create backend") + } + defer slave.Close() + + titleVars := server.titleVariables( + []string{"server", "master", "slave"}, + map[string]map[string]interface{}{ + "server": server.options.TitleVariables, + "master": map[string]interface{}{ + "remote_addr": conn.RemoteAddr(), + }, + "slave": slave.WindowTitleVariables(), + }, + ) + + titleBuf := new(bytes.Buffer) + err = server.titleTemplate.Execute(titleBuf, titleVars) + if err != nil { + return errors.Wrapf(err, "failed to fill window title template") + } + + opts := []webtty.Option{ + webtty.WithWindowTitle(titleBuf.Bytes()), + } + if server.options.PermitWrite { + opts = append(opts, webtty.WithPermitWrite()) + } + if server.options.EnableReconnect { + opts = append(opts, webtty.WithReconnect(server.options.ReconnectTime)) + } + if server.options.Width > 0 || server.options.Height > 0 { + width, height, err := slave.GetTerminalSize() + if err != nil { + return errors.Wrapf(err, "failed to get default terminal size") + } + if server.options.Width > 0 { + width = server.options.Width + } + if server.options.Height > 0 { + height = server.options.Height + } + err = slave.ResizeTerminal(width, height) + if err != nil { + return errors.Wrapf(err, "failed to resize terminal") + } + + opts = append(opts, webtty.WithFixedSize(server.options.Width, server.options.Height)) + } + if server.options.Preferences != nil { + opts = append(opts, webtty.WithMasterPreferences(server.options.Preferences)) + } + + tty, err := webtty.New(conn, slave, opts...) + if err != nil { + return errors.Wrapf(err, "failed to create webtty") + } + + err = tty.Run(ctx) + + return err +} + +func (server *Server) handleIndex(w http.ResponseWriter, r *http.Request) { + titleVars := server.titleVariables( + []string{"server", "master"}, + map[string]map[string]interface{}{ + "server": server.options.TitleVariables, + "master": map[string]interface{}{ + "remote_addr": r.RemoteAddr, + }, + }, + ) + + titleBuf := new(bytes.Buffer) + err := server.titleTemplate.Execute(titleBuf, titleVars) + if err != nil { + http.Error(w, "Internal Server Error", 500) + return + } + + indexVars := map[string]interface{}{ + "title": titleBuf.String(), + } + + indexBuf := new(bytes.Buffer) + err = server.indexTemplate.Execute(indexBuf, indexVars) + if err != nil { + http.Error(w, "Internal Server Error", 500) + return + } + + w.Write(indexBuf.Bytes()) +} + +func (server *Server) handleAuthToken(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/javascript") + // @TODO hashing? + w.Write([]byte("var gotty_auth_token = '" + server.options.Credential + "';")) +} + +// titleVariables merges maps in a specified order. +// varUnits are name-keyed maps, whose names will be iterated using order. +func (server *Server) titleVariables(order []string, varUnits map[string]map[string]interface{}) map[string]interface{} { + titleVars := map[string]interface{}{} + + for _, name := range order { + vars, ok := varUnits[name] + if !ok { + panic("title variable name error") + } + for key, val := range vars { + titleVars[key] = val + } + } + + // safe net for conflicted keys + for _, name := range order { + titleVars[name] = varUnits[name] + } + + return titleVars +} diff --git a/server/init_message.go b/server/init_message.go new file mode 100644 index 0000000..60801bf --- /dev/null +++ b/server/init_message.go @@ -0,0 +1,6 @@ +package server + +type InitMessage struct { + Arguments string `json:"Arguments,omitempty"` + AuthToken string `json:"AuthToken,omitempty"` +} diff --git a/app/http_logger.go b/server/log_response_writer.go similarity index 57% rename from app/http_logger.go rename to server/log_response_writer.go index 8caa803..1b75fd8 100644 --- a/app/http_logger.go +++ b/server/log_response_writer.go @@ -1,4 +1,4 @@ -package app +package server import ( "bufio" @@ -6,17 +6,17 @@ import ( "net/http" ) -type responseWrapper struct { +type logResponseWriter struct { http.ResponseWriter status int } -func (w *responseWrapper) WriteHeader(status int) { +func (w *logResponseWriter) WriteHeader(status int) { w.status = status w.ResponseWriter.WriteHeader(status) } -func (w *responseWrapper) Hijack() (net.Conn, *bufio.ReadWriter, error) { +func (w *logResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) { hj, _ := w.ResponseWriter.(http.Hijacker) w.status = http.StatusSwitchingProtocols return hj.Hijack() diff --git a/server/middleware.go b/server/middleware.go new file mode 100644 index 0000000..ee89176 --- /dev/null +++ b/server/middleware.go @@ -0,0 +1,51 @@ +package server + +import ( + "encoding/base64" + "log" + "net/http" + "strings" +) + +func (server *Server) wrapLogger(handler http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + rw := &logResponseWriter{w, 200} + handler.ServeHTTP(rw, r) + log.Printf("%s %d %s %s", r.RemoteAddr, rw.status, r.Method, r.URL.Path) + }) +} + +func (server *Server) wrapHeaders(handler http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + // todo add version + w.Header().Set("Server", "GoTTY") + handler.ServeHTTP(w, r) + }) +} + +func (server *Server) wrapBasicAuth(handler http.Handler, credential string) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + token := strings.SplitN(r.Header.Get("Authorization"), " ", 2) + + if len(token) != 2 || strings.ToLower(token[0]) != "basic" { + w.Header().Set("WWW-Authenticate", `Basic realm="GoTTY"`) + http.Error(w, "Bad Request", http.StatusUnauthorized) + return + } + + payload, err := base64.StdEncoding.DecodeString(token[1]) + if err != nil { + http.Error(w, "Internal Server Error", http.StatusInternalServerError) + return + } + + if credential != string(payload) { + w.Header().Set("WWW-Authenticate", `Basic realm="GoTTY"`) + http.Error(w, "authorization failed", http.StatusUnauthorized) + return + } + + log.Printf("Basic Authentication Succeeded: %s", r.RemoteAddr) + handler.ServeHTTP(w, r) + }) +} diff --git a/server/options.go b/server/options.go new file mode 100644 index 0000000..977c00d --- /dev/null +++ b/server/options.go @@ -0,0 +1,97 @@ +package server + +import ( + "github.com/pkg/errors" +) + +type Options struct { + Address string `hcl:"address" flagName:"address" flagSName:"a" flagDescribe:"IP address to listen" default:"0.0.0.0"` + Port string `hcl:"port" flagName:"port" flagSName:"p" flagDescribe:"Port number to liten" default:"8080"` + PermitWrite bool `hcl:"permit_write" flagName:"permit-write" flagSName:"w" flagDescribe:"Permit clients to write to the TTY (BE CAREFUL)" default:"false"` + EnableBasicAuth bool `hcl:"enable_basic_auth" default:"false"` + Credential string `hcl:"credential" flagName:"credential" flagSName:"c" flagDescribe:"Credential for Basic Authentication (ex: user:pass, default disabled)" default:""` + EnableRandomUrl bool `hcl:"enable_random_url" flagName:"random-url" flagSName:"r" flagDescribe:"Add a random string to the URL" default:"false"` + RandomUrlLength int `hcl:"random_url_length" flagName:"random-url-length" flagDescribe:"Random URL length" default:"8"` + EnableTLS bool `hcl:"enable_tls" flagName:"tls" flagSName:"t" flagDescribe:"Enable TLS/SSL" default:"false"` + TLSCrtFile string `hcl:"tls_crt_file" flagName:"tls-crt" flagDescribe:"TLS/SSL certificate file path" default:"~/.gotty.crt"` + TLSKeyFile string `hcl:"tls_key_file" flagName:"tls-key" flagDescribe:"TLS/SSL key file path" default:"~/.gotty.key"` + EnableTLSClientAuth bool `hcl:"enable_tls_client_auth" default:"false"` + TLSCACrtFile string `hcl:"tls_ca_crt_file" flagName:"tls-ca-crt" flagDescribe:"TLS/SSL CA certificate file for client certifications" default:"~/.gotty.ca.crt"` + IndexFile string `hcl:"index_file" flagName:"index" flagDescribe:"Custom index.html file" default:""` + TitleFormat string `hcl:"title_format" flagName:"title-format" flagSName:"" flagDescribe:"Title format of browser window" default:"{{ .command }}@{{ .hostname }}"` + EnableReconnect bool `hcl:"enable_reconnect" flagName:"reconnect" flagDescribe:"Enable reconnection" default:"false"` + ReconnectTime int `hcl:"reconnect_time" flagName:"reconnect-time" flagDescribe:"Time to reconnect" default:"10"` + MaxConnection int `hcl:"max_connection" flagName:"max-connection" flagDescribe:"Maximum connection to gotty" default:"0"` + Once bool `hcl:"once" flagName:"once" flagDescribe:"Accept only one client and exit on disconnection" default:"false"` + Timeout int `hcl:"timeout" flagName:"timeout" flagDescribe:"Timeout seconds for waiting a client(0 to disable)" default:"0"` + PermitArguments bool `hcl:"permit_arguments" flagName:"permit-arguments" flagDescribe:"Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB)" default:"true"` + Preferences *HtermPrefernces `hcl:"preferences"` + Width int `hcl:"width" flagName:"width" flagDescribe:"Static width of the screen, 0(default) means dynamically resize" default:"0"` + Height int `hcl:"height" flagName:"height" flagDescribe:"Static height of the screen, 0(default) means dynamically resize" default:"0"` + + TitleVariables map[string]interface{} +} + +func (options *Options) Validate() error { + if options.EnableTLSClientAuth && !options.EnableTLS { + return errors.New("TLS client authentication is enabled, but TLS is not enabled") + } + return nil +} + +type HtermPrefernces struct { + AltGrMode *string `hcl:"alt_gr_mode" json:"alt-gr-mode,omitempty"` + AltBackspaceIsMetaBackspace bool `hcl:"alt_backspace_is_meta_backspace" json:"alt-backspace-is-meta-backspace,omitempty"` + AltIsMeta bool `hcl:"alt_is_meta" json:"alt-is-meta,omitempty"` + AltSendsWhat string `hcl:"alt_sends_what" json:"alt-sends-what,omitempty"` + AudibleBellSound string `hcl:"audible_bell_sound" json:"audible-bell-sound,omitempty"` + DesktopNotificationBell bool `hcl:"desktop_notification_bell" json:"desktop-notification-bell,omitempty"` + BackgroundColor string `hcl:"background_color" json:"background-color,omitempty"` + BackgroundImage string `hcl:"background_image" json:"background-image,omitempty"` + BackgroundSize string `hcl:"background_size" json:"background-size,omitempty"` + BackgroundPosition string `hcl:"background_position" json:"background-position,omitempty"` + BackspaceSendsBackspace bool `hcl:"backspace_sends_backspace" json:"backspace-sends-backspace,omitempty"` + CharacterMapOverrides map[string]map[string]string `hcl:"character_map_overrides" json:"character-map-overrides,omitempty"` + CloseOnExit bool `hcl:"close_on_exit" json:"close-on-exit,omitempty"` + CursorBlink bool `hcl:"cursor_blink" json:"cursor-blink,omitempty"` + CursorBlinkCycle [2]int `hcl:"cursor_blink_cycle" json:"cursor-blink-cycle,omitempty"` + CursorColor string `hcl:"cursor_color" json:"cursor-color,omitempty"` + ColorPaletteOverrides []*string `hcl:"color_palette_overrides" json:"color-palette-overrides,omitempty"` + CopyOnSelect bool `hcl:"copy_on_select" json:"copy-on-select,omitempty"` + UseDefaultWindowCopy bool `hcl:"use_default_window_copy" json:"use-default-window-copy,omitempty"` + ClearSelectionAfterCopy bool `hcl:"clear_selection_after_copy" json:"clear-selection-after-copy,omitempty"` + CtrlPlusMinusZeroZoom bool `hcl:"ctrl_plus_minus_zero_zoom" json:"ctrl-plus-minus-zero-zoom,omitempty"` + CtrlCCopy bool `hcl:"ctrl_c_copy" json:"ctrl-c-copy,omitempty"` + CtrlVPaste bool `hcl:"ctrl_v_paste" json:"ctrl-v-paste,omitempty"` + EastAsianAmbiguousAsTwoColumn bool `hcl:"east_asian_ambiguous_as_two_column" json:"east-asian-ambiguous-as-two-column,omitempty"` + Enable8BitControl *bool `hcl:"enable_8_bit_control" json:"enable-8-bit-control,omitempty"` + EnableBold *bool `hcl:"enable_bold" json:"enable-bold,omitempty"` + EnableBoldAsBright bool `hcl:"enable_bold_as_bright" json:"enable-bold-as-bright,omitempty"` + EnableClipboardNotice bool `hcl:"enable_clipboard_notice" json:"enable-clipboard-notice,omitempty"` + EnableClipboardWrite bool `hcl:"enable_clipboard_write" json:"enable-clipboard-write,omitempty"` + EnableDec12 bool `hcl:"enable_dec12" json:"enable-dec12,omitempty"` + Environment map[string]string `hcl:"environment" json:"environment,omitempty"` + FontFamily string `hcl:"font_family" json:"font-family,omitempty"` + FontSize int `hcl:"font_size" json:"font-size,omitempty"` + FontSmoothing string `hcl:"font_smoothing" json:"font-smoothing,omitempty"` + ForegroundColor string `hcl:"foreground_color" json:"foreground-color,omitempty"` + HomeKeysScroll bool `hcl:"home_keys_scroll" json:"home-keys-scroll,omitempty"` + Keybindings map[string]string `hcl:"keybindings" json:"keybindings,omitempty"` + MaxStringSequence int `hcl:"max_string_sequence" json:"max-string-sequence,omitempty"` + MediaKeysAreFkeys bool `hcl:"media_keys_are_fkeys" json:"media-keys-are-fkeys,omitempty"` + MetaSendsEscape bool `hcl:"meta_sends_escape" json:"meta-sends-escape,omitempty"` + MousePasteButton *int `hcl:"mouse_paste_button" json:"mouse-paste-button,omitempty"` + PageKeysScroll bool `hcl:"page_keys_scroll" json:"page-keys-scroll,omitempty"` + PassAltNumber *bool `hcl:"pass_alt_number" json:"pass-alt-number,omitempty"` + PassCtrlNumber *bool `hcl:"pass_ctrl_number" json:"pass-ctrl-number,omitempty"` + PassMetaNumber *bool `hcl:"pass_meta_number" json:"pass-meta-number,omitempty"` + PassMetaV bool `hcl:"pass_meta_v" json:"pass-meta-v,omitempty"` + ReceiveEncoding string `hcl:"receive_encoding" json:"receive-encoding,omitempty"` + ScrollOnKeystroke bool `hcl:"scroll_on_keystroke" json:"scroll-on-keystroke,omitempty"` + ScrollOnOutput bool `hcl:"scroll_on_output" json:"scroll-on-output,omitempty"` + ScrollbarVisible bool `hcl:"scrollbar_visible" json:"scrollbar-visible,omitempty"` + ScrollWheelMoveMultiplier int `hcl:"scroll_wheel_move_multiplier" json:"scroll-wheel-move-multiplier,omitempty"` + SendEncoding string `hcl:"send_encoding" json:"send-encoding,omitempty"` + ShiftInsertPaste bool `hcl:"shift_insert_paste" json:"shift-insert-paste,omitempty"` + UserCss string `hcl:"user_css" json:"user-css,omitempty"` +} diff --git a/server/run_option.go b/server/run_option.go new file mode 100644 index 0000000..2939d63 --- /dev/null +++ b/server/run_option.go @@ -0,0 +1,21 @@ +package server + +import ( + "context" +) + +// RunOptions holds a set of configurations for Server.Run(). +type RunOptions struct { + gracefullCtx context.Context +} + +// RunOption is an option of Server.Run(). +type RunOption func(*RunOptions) + +// WithGracefullContext accepts a context to shutdown a Server +// with care for existing client connections. +func WithGracefullContext(ctx context.Context) RunOption { + return func(options *RunOptions) { + options.gracefullCtx = ctx + } +} diff --git a/server/server.go b/server/server.go new file mode 100644 index 0000000..a29fe6b --- /dev/null +++ b/server/server.go @@ -0,0 +1,253 @@ +package server + +import ( + "context" + "crypto/tls" + "crypto/x509" + "html/template" + "io/ioutil" + "log" + "net" + "net/http" + "net/url" + "sync" + "sync/atomic" + noesctmpl "text/template" + "time" + + "github.com/elazarl/go-bindata-assetfs" + "github.com/gorilla/websocket" + "github.com/pkg/errors" + + "github.com/yudai/gotty/pkg/homedir" + "github.com/yudai/gotty/pkg/randomstring" + "github.com/yudai/gotty/webtty" +) + +// Server provides a webtty HTTP endpoint. +type Server struct { + factory Factory + options *Options + + srv *http.Server + + upgrader *websocket.Upgrader + + indexTemplate *template.Template + titleTemplate *noesctmpl.Template + titleVars map[string]interface{} + timer *time.Timer + wsWG sync.WaitGroup + url *url.URL // use URL() + connections *int64 // Use atomic operations + once *int64 // use atomic operations +} + +// New creates a new instance of Server. +// Server will use the New() of the factory provided to handle each request. +func New(factory Factory, options *Options) (*Server, error) { + indexData, err := Asset("static/index.html") + if err != nil { + panic("index not found") // must be in bindata + } + if options.IndexFile != "" { + log.Printf("Using index file at " + options.IndexFile) + path := homedir.Expand(options.IndexFile) + indexData, err = ioutil.ReadFile(path) + if err != nil { + return nil, errors.Wrapf(err, "failed to read custom index file at `%s`", path) + } + } + indexTemplate, err := template.New("index").Parse(string(indexData)) + if err != nil { + panic("index template parse failed") // must be valid + } + + titleTemplate, err := noesctmpl.New("title").Parse(options.TitleFormat) + if err != nil { + return nil, errors.Wrapf(err, "failed to parse window title format `%s`", options.TitleFormat) + } + + connections := int64(0) + once := int64(0) + + return &Server{ + factory: factory, + options: options, + + upgrader: &websocket.Upgrader{ + ReadBufferSize: 1024, + WriteBufferSize: 1024, + Subprotocols: webtty.Protocols, + }, + indexTemplate: indexTemplate, + titleTemplate: titleTemplate, + connections: &connections, + once: &once, + }, nil +} + +// Run starts the main process of the Server. +// The cancelation of ctx will shutdown the server immediately with aborting +// existing connections. Use WithGracefullContext() to support gracefull shutdown. +func (server *Server) Run(ctx context.Context, options ...RunOption) error { + cctx, cancel := context.WithCancel(ctx) + opts := &RunOptions{gracefullCtx: context.Background()} + for _, opt := range options { + opt(opts) + } + + handlers := server.setupHandlers(cctx, cancel) + srv, err := server.setupHTTPServer(handlers) + if err != nil { + return errors.Wrapf(err, "failed to setup an HTTP server") + } + + if server.options.PermitWrite { + log.Printf("Permitting clients to write input to the PTY.") + } + + if server.options.Once { + log.Printf("Once option is provided, accepting only one client") + } + + server.srv = srv + + if server.options.Timeout > 0 { + server.timer = time.NewTimer(time.Duration(server.options.Timeout) * time.Second) + go func() { + select { + case <-server.timer.C: + cancel() + case <-cctx.Done(): + } + }() + } + + listenErr := make(chan error, 1) + go func() { + if server.options.EnableTLS { + crtFile := homedir.Expand(server.options.TLSCrtFile) + keyFile := homedir.Expand(server.options.TLSKeyFile) + log.Printf("TLS crt file: " + crtFile) + log.Printf("TLS key file: " + keyFile) + + err = srv.ListenAndServeTLS(crtFile, keyFile) + } else { + err = srv.ListenAndServe() + } + if err != nil { + listenErr <- err + } + }() + + go func() { + select { + case <-opts.gracefullCtx.Done(): + srv.Shutdown(context.Background()) + case <-cctx.Done(): + } + }() + + select { + case err = <-listenErr: + if err == http.ErrServerClosed { // by gracefull ctx + err = nil + } else { + cancel() + } + case <-cctx.Done(): + srv.Close() + err = cctx.Err() + } + + conn := atomic.LoadInt64(server.connections) + if conn > 0 { + log.Printf("Waiting for %d connections to be closed", conn) + } + server.wsWG.Wait() + + return err +} + +func (server *Server) setupHandlers(ctx context.Context, cancel context.CancelFunc) http.Handler { + staticFileHandler := http.FileServer( + &assetfs.AssetFS{Asset: Asset, AssetDir: AssetDir, Prefix: "static"}, + ) + + url := server.URL() + var siteMux = http.NewServeMux() + siteMux.HandleFunc(url.Path, server.handleIndex) + siteMux.Handle(url.Path+"js/", http.StripPrefix(url.Path, staticFileHandler)) + siteMux.Handle(url.Path+"favicon.png", http.StripPrefix(url.Path, staticFileHandler)) + siteMux.HandleFunc(url.Path+"auth_token.js", server.handleAuthToken) + + siteHandler := http.Handler(siteMux) + + if server.options.EnableBasicAuth { + log.Printf("Using Basic Authentication") + siteHandler = server.wrapBasicAuth(siteHandler, server.options.Credential) + } + + siteHandler = server.wrapHeaders(siteHandler) + + wsMux := http.NewServeMux() + wsMux.Handle("/", siteHandler) + wsMux.HandleFunc(url.Path+"ws", server.generateHandleWS(ctx, cancel)) + siteHandler = http.Handler(wsMux) + + return server.wrapLogger(siteHandler) +} + +func (server *Server) setupHTTPServer(handler http.Handler) (*http.Server, error) { + url := server.URL() + log.Printf("URL: %s", url.String()) + + srv := &http.Server{ + Addr: url.Host, + Handler: handler, + } + + if server.options.EnableTLSClientAuth { + tlsConfig, err := server.tlsConfig() + if err != nil { + return nil, errors.Wrapf(err, "failed to setup TLS configuration") + } + srv.TLSConfig = tlsConfig + } + + return srv, nil +} + +func (server *Server) URL() *url.URL { + if server.url == nil { + host := net.JoinHostPort(server.options.Address, server.options.Port) + path := "" + if server.options.EnableRandomUrl { + path += "/" + randomstring.Generate(server.options.RandomUrlLength) + } + scheme := "http" + if server.options.EnableTLS { + scheme = "https" + } + server.url = &url.URL{Scheme: scheme, Host: host, Path: path + "/"} + } + return server.url +} + +func (server *Server) tlsConfig() (*tls.Config, error) { + caFile := homedir.Expand(server.options.TLSCACrtFile) + caCert, err := ioutil.ReadFile(caFile) + if err != nil { + return nil, errors.New("could not open CA crt file " + caFile) + } + caCertPool := x509.NewCertPool() + if !caCertPool.AppendCertsFromPEM(caCert) { + return nil, errors.New("could not parse CA crt file data in " + caFile) + } + tlsConfig := &tls.Config{ + ClientCAs: caCertPool, + ClientAuth: tls.RequireAndVerifyClientCert, + } + return tlsConfig, nil +} diff --git a/server/slave.go b/server/slave.go new file mode 100644 index 0000000..d259abf --- /dev/null +++ b/server/slave.go @@ -0,0 +1,17 @@ +package server + +import ( + "github.com/yudai/gotty/webtty" +) + +// Slave is webtty.Slave with some additional methods. +type Slave interface { + webtty.Slave + + GetTerminalSize() (width int, height int, err error) +} + +type Factory interface { + Name() string + New(params map[string][]string) (Slave, error) +} diff --git a/server/timer.go b/server/timer.go new file mode 100644 index 0000000..7a522da --- /dev/null +++ b/server/timer.go @@ -0,0 +1,17 @@ +package server + +import ( + "time" +) + +func (server *Server) stopTimer() { + if server.options.Timeout > 0 { + server.timer.Stop() + } +} + +func (server *Server) resetTimer() { + if server.options.Timeout > 0 { + server.timer.Reset(time.Duration(server.options.Timeout) * time.Second) + } +} diff --git a/utils/flags.go b/utils/flags.go index de98dff..b5c66b9 100644 --- a/utils/flags.go +++ b/utils/flags.go @@ -10,6 +10,8 @@ import ( "github.com/codegangsta/cli" "github.com/fatih/structs" "github.com/yudai/hcl" + + "github.com/yudai/gotty/pkg/homedir" ) func GenerateFlags(options ...interface{}) (flags []cli.Flag, mappings map[string]string, err error) { @@ -100,7 +102,7 @@ func ApplyFlags( } func ApplyConfigFile(filePath string, options ...interface{}) error { - filePath = ExpandHomeDir(filePath) + filePath = homedir.Expand(filePath) if _, err := os.Stat(filePath); os.IsNotExist(err) { return err } diff --git a/vendor/github.com/braintree/manners/LICENSE b/vendor/github.com/braintree/manners/LICENSE deleted file mode 100644 index 91ef5be..0000000 --- a/vendor/github.com/braintree/manners/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2014 Braintree, a division of PayPal, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/vendor/github.com/braintree/manners/README.md b/vendor/github.com/braintree/manners/README.md deleted file mode 100644 index 09f6f96..0000000 --- a/vendor/github.com/braintree/manners/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# Manners - -A *polite* webserver for Go. - -Manners allows you to shut your Go webserver down gracefully, without dropping any requests. It can act as a drop-in replacement for the standard library's http.ListenAndServe function: - -```go -func main() { - handler := MyHTTPHandler() - manners.ListenAndServe(":7000", handler) -} -``` - -Then, when you want to shut the server down: - -```go -manners.Close() -``` - -(Note that this does not block until all the requests are finished. Rather, the call to manners.ListenAndServe will stop blocking when all the requests are finished.) - -Manners ensures that all requests are served by incrementing a WaitGroup when a request comes in and decrementing it when the request finishes. - -If your request handler spawns Goroutines that are not guaranteed to finish with the request, you can ensure they are also completed with the `StartRoutine` and `FinishRoutine` functions on the server. - -### Known Issues - -Manners does not correctly shut down long-lived keepalive connections when issued a shutdown command. Clients on an idle keepalive connection may see a connection reset error rather than a close. See https://github.com/braintree/manners/issues/13 for details. - -### Compatability - -Manners 0.3.0 and above uses standard library functionality introduced in Go 1.3. - -### Installation - -`go get github.com/braintree/manners` diff --git a/vendor/github.com/braintree/manners/interfaces.go b/vendor/github.com/braintree/manners/interfaces.go deleted file mode 100644 index fd07328..0000000 --- a/vendor/github.com/braintree/manners/interfaces.go +++ /dev/null @@ -1,7 +0,0 @@ -package manners - -type waitGroup interface { - Add(int) - Done() - Wait() -} diff --git a/vendor/github.com/braintree/manners/server.go b/vendor/github.com/braintree/manners/server.go deleted file mode 100644 index 869fe05..0000000 --- a/vendor/github.com/braintree/manners/server.go +++ /dev/null @@ -1,228 +0,0 @@ -/* -Package manners provides a wrapper for a standard net/http server that -ensures all active HTTP client have completed their current request -before the server shuts down. - -It can be used a drop-in replacement for the standard http package, -or can wrap a pre-configured Server. - -eg. - - http.Handle("/hello", func(w http.ResponseWriter, r *http.Request) { - w.Write([]byte("Hello\n")) - }) - - log.Fatal(manners.ListenAndServe(":8080", nil)) - -or for a customized server: - - s := manners.NewWithServer(&http.Server{ - Addr: ":8080", - Handler: myHandler, - ReadTimeout: 10 * time.Second, - WriteTimeout: 10 * time.Second, - MaxHeaderBytes: 1 << 20, - }) - log.Fatal(s.ListenAndServe()) - -The server will shut down cleanly when the Close() method is called: - - go func() { - sigchan := make(chan os.Signal, 1) - signal.Notify(sigchan, os.Interrupt, os.Kill) - <-sigchan - log.Info("Shutting down...") - manners.Close() - }() - - http.Handle("/hello", myHandler) - log.Fatal(manners.ListenAndServe(":8080", nil)) -*/ -package manners - -import ( - "crypto/tls" - "net" - "net/http" - "sync" - "sync/atomic" -) - -// A GracefulServer maintains a WaitGroup that counts how many in-flight -// requests the server is handling. When it receives a shutdown signal, -// it stops accepting new requests but does not actually shut down until -// all in-flight requests terminate. -// -// GracefulServer embeds the underlying net/http.Server making its non-override -// methods and properties avaiable. -// -// It must be initialized by calling NewWithServer. -type GracefulServer struct { - *http.Server - - shutdown chan bool - wg waitGroup - - lcsmu sync.RWMutex - lastConnState map[net.Conn]http.ConnState - - up chan net.Listener // Only used by test code. -} - -// NewWithServer wraps an existing http.Server object and returns a -// GracefulServer that supports all of the original Server operations. -func NewWithServer(s *http.Server) *GracefulServer { - return &GracefulServer{ - Server: s, - shutdown: make(chan bool), - wg: new(sync.WaitGroup), - lastConnState: make(map[net.Conn]http.ConnState), - } -} - -// Close stops the server from accepting new requets and begins shutting down. -// It returns true if it's the first time Close is called. -func (s *GracefulServer) Close() bool { - return <-s.shutdown -} - -// ListenAndServe provides a graceful equivalent of net/http.Serve.ListenAndServe. -func (s *GracefulServer) ListenAndServe() error { - addr := s.Addr - if addr == "" { - addr = ":http" - } - listener, err := net.Listen("tcp", addr) - if err != nil { - return err - } - - return s.Serve(listener) -} - -// ListenAndServeTLS provides a graceful equivalent of net/http.Serve.ListenAndServeTLS. -func (s *GracefulServer) ListenAndServeTLS(certFile, keyFile string) error { - // direct lift from net/http/server.go - addr := s.Addr - if addr == "" { - addr = ":https" - } - config := &tls.Config{} - if s.TLSConfig != nil { - *config = *s.TLSConfig - } - if config.NextProtos == nil { - config.NextProtos = []string{"http/1.1"} - } - - var err error - config.Certificates = make([]tls.Certificate, 1) - config.Certificates[0], err = tls.LoadX509KeyPair(certFile, keyFile) - if err != nil { - return err - } - - ln, err := net.Listen("tcp", addr) - if err != nil { - return err - } - - return s.Serve(tls.NewListener(ln, config)) -} - -// Serve provides a graceful equivalent net/http.Server.Serve. -func (s *GracefulServer) Serve(listener net.Listener) error { - var closing int32 - - go func() { - s.shutdown <- true - close(s.shutdown) - atomic.StoreInt32(&closing, 1) - s.Server.SetKeepAlivesEnabled(false) - listener.Close() - }() - - originalConnState := s.Server.ConnState - - // s.ConnState is invoked by the net/http.Server every time a connectiion - // changes state. It keeps track of each connection's state over time, - // enabling manners to handle persisted connections correctly. - s.ConnState = func(conn net.Conn, newState http.ConnState) { - s.lcsmu.RLock() - lastConnState := s.lastConnState[conn] - s.lcsmu.RUnlock() - - switch newState { - - // New connection -> StateNew - case http.StateNew: - s.StartRoutine() - - // (StateNew, StateIdle) -> StateActive - case http.StateActive: - // The connection transitioned from idle back to active - if lastConnState == http.StateIdle { - s.StartRoutine() - } - - // StateActive -> StateIdle - // Immediately close newly idle connections; if not they may make - // one more request before SetKeepAliveEnabled(false) takes effect. - case http.StateIdle: - if atomic.LoadInt32(&closing) == 1 { - conn.Close() - } - s.FinishRoutine() - - // (StateNew, StateActive, StateIdle) -> (StateClosed, StateHiJacked) - // If the connection was idle we do not need to decrement the counter. - case http.StateClosed, http.StateHijacked: - if lastConnState != http.StateIdle { - s.FinishRoutine() - } - - } - - s.lcsmu.Lock() - if newState == http.StateClosed || newState == http.StateHijacked { - delete(s.lastConnState, conn) - } else { - s.lastConnState[conn] = newState - } - s.lcsmu.Unlock() - - if originalConnState != nil { - originalConnState(conn, newState) - } - } - - // A hook to allow the server to notify others when it is ready to receive - // requests; only used by tests. - if s.up != nil { - s.up <- listener - } - - err := s.Server.Serve(listener) - - // This block is reached when the server has received a shut down command - // or a real error happened. - if err == nil || atomic.LoadInt32(&closing) == 1 { - s.wg.Wait() - return nil - } - - return err -} - -// StartRoutine increments the server's WaitGroup. Use this if a web request -// starts more goroutines and these goroutines are not guaranteed to finish -// before the request. -func (s *GracefulServer) StartRoutine() { - s.wg.Add(1) -} - -// FinishRoutine decrements the server's WaitGroup. Use this to complement -// StartRoutine(). -func (s *GracefulServer) FinishRoutine() { - s.wg.Done() -} diff --git a/vendor/github.com/braintree/manners/static.go b/vendor/github.com/braintree/manners/static.go deleted file mode 100644 index 2a74b09..0000000 --- a/vendor/github.com/braintree/manners/static.go +++ /dev/null @@ -1,35 +0,0 @@ -package manners - -import ( - "net" - "net/http" -) - -var defaultServer *GracefulServer - -// ListenAndServe provides a graceful version of the function provided by the -// net/http package. Call Close() to stop the server. -func ListenAndServe(addr string, handler http.Handler) error { - defaultServer = NewWithServer(&http.Server{Addr: addr, Handler: handler}) - return defaultServer.ListenAndServe() -} - -// ListenAndServeTLS provides a graceful version of the function provided by the -// net/http package. Call Close() to stop the server. -func ListenAndServeTLS(addr string, certFile string, keyFile string, handler http.Handler) error { - defaultServer = NewWithServer(&http.Server{Addr: addr, Handler: handler}) - return defaultServer.ListenAndServeTLS(certFile, keyFile) -} - -// Serve provides a graceful version of the function provided by the net/http -// package. Call Close() to stop the server. -func Serve(l net.Listener, handler http.Handler) error { - defaultServer = NewWithServer(&http.Server{Handler: handler}) - return defaultServer.Serve(l) -} - -// Shuts down the default server used by ListenAndServe, ListenAndServeTLS and -// Serve. It returns true if it's the first time Close is called. -func Close() bool { - return defaultServer.Close() -} diff --git a/vendor/github.com/pkg/errors/.gitignore b/vendor/github.com/pkg/errors/.gitignore new file mode 100644 index 0000000..daf913b --- /dev/null +++ b/vendor/github.com/pkg/errors/.gitignore @@ -0,0 +1,24 @@ +# Compiled Object files, Static and Dynamic libs (Shared Objects) +*.o +*.a +*.so + +# Folders +_obj +_test + +# Architecture specific extensions/prefixes +*.[568vq] +[568vq].out + +*.cgo1.go +*.cgo2.c +_cgo_defun.c +_cgo_gotypes.go +_cgo_export.* + +_testmain.go + +*.exe +*.test +*.prof diff --git a/vendor/github.com/pkg/errors/.travis.yml b/vendor/github.com/pkg/errors/.travis.yml new file mode 100644 index 0000000..567ccdb --- /dev/null +++ b/vendor/github.com/pkg/errors/.travis.yml @@ -0,0 +1,11 @@ +language: go +go_import_path: github.com/pkg/errors +go: + - 1.4.3 + - 1.5.4 + - 1.6.3 + - 1.7.3 + - tip + +script: + - go test -v ./... diff --git a/vendor/github.com/pkg/errors/LICENSE b/vendor/github.com/pkg/errors/LICENSE new file mode 100644 index 0000000..835ba3e --- /dev/null +++ b/vendor/github.com/pkg/errors/LICENSE @@ -0,0 +1,23 @@ +Copyright (c) 2015, Dave Cheney +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/pkg/errors/README.md b/vendor/github.com/pkg/errors/README.md new file mode 100644 index 0000000..273db3c --- /dev/null +++ b/vendor/github.com/pkg/errors/README.md @@ -0,0 +1,52 @@ +# errors [![Travis-CI](https://travis-ci.org/pkg/errors.svg)](https://travis-ci.org/pkg/errors) [![AppVeyor](https://ci.appveyor.com/api/projects/status/b98mptawhudj53ep/branch/master?svg=true)](https://ci.appveyor.com/project/davecheney/errors/branch/master) [![GoDoc](https://godoc.org/github.com/pkg/errors?status.svg)](http://godoc.org/github.com/pkg/errors) [![Report card](https://goreportcard.com/badge/github.com/pkg/errors)](https://goreportcard.com/report/github.com/pkg/errors) + +Package errors provides simple error handling primitives. + +`go get github.com/pkg/errors` + +The traditional error handling idiom in Go is roughly akin to +```go +if err != nil { + return err +} +``` +which applied recursively up the call stack results in error reports without context or debugging information. The errors package allows programmers to add context to the failure path in their code in a way that does not destroy the original value of the error. + +## Adding context to an error + +The errors.Wrap function returns a new error that adds context to the original error. For example +```go +_, err := ioutil.ReadAll(r) +if err != nil { + return errors.Wrap(err, "read failed") +} +``` +## Retrieving the cause of an error + +Using `errors.Wrap` constructs a stack of errors, adding context to the preceding error. Depending on the nature of the error it may be necessary to reverse the operation of errors.Wrap to retrieve the original error for inspection. Any error value which implements this interface can be inspected by `errors.Cause`. +```go +type causer interface { + Cause() error +} +``` +`errors.Cause` will recursively retrieve the topmost error which does not implement `causer`, which is assumed to be the original cause. For example: +```go +switch err := errors.Cause(err).(type) { +case *MyError: + // handle specifically +default: + // unknown error +} +``` + +[Read the package documentation for more information](https://godoc.org/github.com/pkg/errors). + +## Contributing + +We welcome pull requests, bug fixes and issue reports. With that said, the bar for adding new symbols to this package is intentionally set high. + +Before proposing a change, please discuss your change by raising an issue. + +## Licence + +BSD-2-Clause diff --git a/vendor/github.com/pkg/errors/appveyor.yml b/vendor/github.com/pkg/errors/appveyor.yml new file mode 100644 index 0000000..a932ead --- /dev/null +++ b/vendor/github.com/pkg/errors/appveyor.yml @@ -0,0 +1,32 @@ +version: build-{build}.{branch} + +clone_folder: C:\gopath\src\github.com\pkg\errors +shallow_clone: true # for startup speed + +environment: + GOPATH: C:\gopath + +platform: + - x64 + +# http://www.appveyor.com/docs/installed-software +install: + # some helpful output for debugging builds + - go version + - go env + # pre-installed MinGW at C:\MinGW is 32bit only + # but MSYS2 at C:\msys64 has mingw64 + - set PATH=C:\msys64\mingw64\bin;%PATH% + - gcc --version + - g++ --version + +build_script: + - go install -v ./... + +test_script: + - set PATH=C:\gopath\bin;%PATH% + - go test -v ./... + +#artifacts: +# - path: '%GOPATH%\bin\*.exe' +deploy: off diff --git a/vendor/github.com/pkg/errors/errors.go b/vendor/github.com/pkg/errors/errors.go new file mode 100644 index 0000000..842ee80 --- /dev/null +++ b/vendor/github.com/pkg/errors/errors.go @@ -0,0 +1,269 @@ +// Package errors provides simple error handling primitives. +// +// The traditional error handling idiom in Go is roughly akin to +// +// if err != nil { +// return err +// } +// +// which applied recursively up the call stack results in error reports +// without context or debugging information. The errors package allows +// programmers to add context to the failure path in their code in a way +// that does not destroy the original value of the error. +// +// Adding context to an error +// +// The errors.Wrap function returns a new error that adds context to the +// original error by recording a stack trace at the point Wrap is called, +// and the supplied message. For example +// +// _, err := ioutil.ReadAll(r) +// if err != nil { +// return errors.Wrap(err, "read failed") +// } +// +// If additional control is required the errors.WithStack and errors.WithMessage +// functions destructure errors.Wrap into its component operations of annotating +// an error with a stack trace and an a message, respectively. +// +// Retrieving the cause of an error +// +// Using errors.Wrap constructs a stack of errors, adding context to the +// preceding error. Depending on the nature of the error it may be necessary +// to reverse the operation of errors.Wrap to retrieve the original error +// for inspection. Any error value which implements this interface +// +// type causer interface { +// Cause() error +// } +// +// can be inspected by errors.Cause. errors.Cause will recursively retrieve +// the topmost error which does not implement causer, which is assumed to be +// the original cause. For example: +// +// switch err := errors.Cause(err).(type) { +// case *MyError: +// // handle specifically +// default: +// // unknown error +// } +// +// causer interface is not exported by this package, but is considered a part +// of stable public API. +// +// Formatted printing of errors +// +// All error values returned from this package implement fmt.Formatter and can +// be formatted by the fmt package. The following verbs are supported +// +// %s print the error. If the error has a Cause it will be +// printed recursively +// %v see %s +// %+v extended format. Each Frame of the error's StackTrace will +// be printed in detail. +// +// Retrieving the stack trace of an error or wrapper +// +// New, Errorf, Wrap, and Wrapf record a stack trace at the point they are +// invoked. This information can be retrieved with the following interface. +// +// type stackTracer interface { +// StackTrace() errors.StackTrace +// } +// +// Where errors.StackTrace is defined as +// +// type StackTrace []Frame +// +// The Frame type represents a call site in the stack trace. Frame supports +// the fmt.Formatter interface that can be used for printing information about +// the stack trace of this error. For example: +// +// if err, ok := err.(stackTracer); ok { +// for _, f := range err.StackTrace() { +// fmt.Printf("%+s:%d", f) +// } +// } +// +// stackTracer interface is not exported by this package, but is considered a part +// of stable public API. +// +// See the documentation for Frame.Format for more details. +package errors + +import ( + "fmt" + "io" +) + +// New returns an error with the supplied message. +// New also records the stack trace at the point it was called. +func New(message string) error { + return &fundamental{ + msg: message, + stack: callers(), + } +} + +// Errorf formats according to a format specifier and returns the string +// as a value that satisfies error. +// Errorf also records the stack trace at the point it was called. +func Errorf(format string, args ...interface{}) error { + return &fundamental{ + msg: fmt.Sprintf(format, args...), + stack: callers(), + } +} + +// fundamental is an error that has a message and a stack, but no caller. +type fundamental struct { + msg string + *stack +} + +func (f *fundamental) Error() string { return f.msg } + +func (f *fundamental) Format(s fmt.State, verb rune) { + switch verb { + case 'v': + if s.Flag('+') { + io.WriteString(s, f.msg) + f.stack.Format(s, verb) + return + } + fallthrough + case 's': + io.WriteString(s, f.msg) + case 'q': + fmt.Fprintf(s, "%q", f.msg) + } +} + +// WithStack annotates err with a stack trace at the point WithStack was called. +// If err is nil, WithStack returns nil. +func WithStack(err error) error { + if err == nil { + return nil + } + return &withStack{ + err, + callers(), + } +} + +type withStack struct { + error + *stack +} + +func (w *withStack) Cause() error { return w.error } + +func (w *withStack) Format(s fmt.State, verb rune) { + switch verb { + case 'v': + if s.Flag('+') { + fmt.Fprintf(s, "%+v", w.Cause()) + w.stack.Format(s, verb) + return + } + fallthrough + case 's': + io.WriteString(s, w.Error()) + case 'q': + fmt.Fprintf(s, "%q", w.Error()) + } +} + +// Wrap returns an error annotating err with a stack trace +// at the point Wrap is called, and the supplied message. +// If err is nil, Wrap returns nil. +func Wrap(err error, message string) error { + if err == nil { + return nil + } + err = &withMessage{ + cause: err, + msg: message, + } + return &withStack{ + err, + callers(), + } +} + +// Wrapf returns an error annotating err with a stack trace +// at the point Wrapf is call, and the format specifier. +// If err is nil, Wrapf returns nil. +func Wrapf(err error, format string, args ...interface{}) error { + if err == nil { + return nil + } + err = &withMessage{ + cause: err, + msg: fmt.Sprintf(format, args...), + } + return &withStack{ + err, + callers(), + } +} + +// WithMessage annotates err with a new message. +// If err is nil, WithMessage returns nil. +func WithMessage(err error, message string) error { + if err == nil { + return nil + } + return &withMessage{ + cause: err, + msg: message, + } +} + +type withMessage struct { + cause error + msg string +} + +func (w *withMessage) Error() string { return w.msg + ": " + w.cause.Error() } +func (w *withMessage) Cause() error { return w.cause } + +func (w *withMessage) Format(s fmt.State, verb rune) { + switch verb { + case 'v': + if s.Flag('+') { + fmt.Fprintf(s, "%+v\n", w.Cause()) + io.WriteString(s, w.msg) + return + } + fallthrough + case 's', 'q': + io.WriteString(s, w.Error()) + } +} + +// Cause returns the underlying cause of the error, if possible. +// An error value has a cause if it implements the following +// interface: +// +// type causer interface { +// Cause() error +// } +// +// If the error does not implement Cause, the original error will +// be returned. If the error is nil, nil will be returned without further +// investigation. +func Cause(err error) error { + type causer interface { + Cause() error + } + + for err != nil { + cause, ok := err.(causer) + if !ok { + break + } + err = cause.Cause() + } + return err +} diff --git a/vendor/github.com/pkg/errors/stack.go b/vendor/github.com/pkg/errors/stack.go new file mode 100644 index 0000000..6b1f289 --- /dev/null +++ b/vendor/github.com/pkg/errors/stack.go @@ -0,0 +1,178 @@ +package errors + +import ( + "fmt" + "io" + "path" + "runtime" + "strings" +) + +// Frame represents a program counter inside a stack frame. +type Frame uintptr + +// pc returns the program counter for this frame; +// multiple frames may have the same PC value. +func (f Frame) pc() uintptr { return uintptr(f) - 1 } + +// file returns the full path to the file that contains the +// function for this Frame's pc. +func (f Frame) file() string { + fn := runtime.FuncForPC(f.pc()) + if fn == nil { + return "unknown" + } + file, _ := fn.FileLine(f.pc()) + return file +} + +// line returns the line number of source code of the +// function for this Frame's pc. +func (f Frame) line() int { + fn := runtime.FuncForPC(f.pc()) + if fn == nil { + return 0 + } + _, line := fn.FileLine(f.pc()) + return line +} + +// Format formats the frame according to the fmt.Formatter interface. +// +// %s source file +// %d source line +// %n function name +// %v equivalent to %s:%d +// +// Format accepts flags that alter the printing of some verbs, as follows: +// +// %+s path of source file relative to the compile time GOPATH +// %+v equivalent to %+s:%d +func (f Frame) Format(s fmt.State, verb rune) { + switch verb { + case 's': + switch { + case s.Flag('+'): + pc := f.pc() + fn := runtime.FuncForPC(pc) + if fn == nil { + io.WriteString(s, "unknown") + } else { + file, _ := fn.FileLine(pc) + fmt.Fprintf(s, "%s\n\t%s", fn.Name(), file) + } + default: + io.WriteString(s, path.Base(f.file())) + } + case 'd': + fmt.Fprintf(s, "%d", f.line()) + case 'n': + name := runtime.FuncForPC(f.pc()).Name() + io.WriteString(s, funcname(name)) + case 'v': + f.Format(s, 's') + io.WriteString(s, ":") + f.Format(s, 'd') + } +} + +// StackTrace is stack of Frames from innermost (newest) to outermost (oldest). +type StackTrace []Frame + +func (st StackTrace) Format(s fmt.State, verb rune) { + switch verb { + case 'v': + switch { + case s.Flag('+'): + for _, f := range st { + fmt.Fprintf(s, "\n%+v", f) + } + case s.Flag('#'): + fmt.Fprintf(s, "%#v", []Frame(st)) + default: + fmt.Fprintf(s, "%v", []Frame(st)) + } + case 's': + fmt.Fprintf(s, "%s", []Frame(st)) + } +} + +// stack represents a stack of program counters. +type stack []uintptr + +func (s *stack) Format(st fmt.State, verb rune) { + switch verb { + case 'v': + switch { + case st.Flag('+'): + for _, pc := range *s { + f := Frame(pc) + fmt.Fprintf(st, "\n%+v", f) + } + } + } +} + +func (s *stack) StackTrace() StackTrace { + f := make([]Frame, len(*s)) + for i := 0; i < len(f); i++ { + f[i] = Frame((*s)[i]) + } + return f +} + +func callers() *stack { + const depth = 32 + var pcs [depth]uintptr + n := runtime.Callers(3, pcs[:]) + var st stack = pcs[0:n] + return &st +} + +// funcname removes the path prefix component of a function's name reported by func.Name(). +func funcname(name string) string { + i := strings.LastIndex(name, "/") + name = name[i+1:] + i = strings.Index(name, ".") + return name[i+1:] +} + +func trimGOPATH(name, file string) string { + // Here we want to get the source file path relative to the compile time + // GOPATH. As of Go 1.6.x there is no direct way to know the compiled + // GOPATH at runtime, but we can infer the number of path segments in the + // GOPATH. We note that fn.Name() returns the function name qualified by + // the import path, which does not include the GOPATH. Thus we can trim + // segments from the beginning of the file path until the number of path + // separators remaining is one more than the number of path separators in + // the function name. For example, given: + // + // GOPATH /home/user + // file /home/user/src/pkg/sub/file.go + // fn.Name() pkg/sub.Type.Method + // + // We want to produce: + // + // pkg/sub/file.go + // + // From this we can easily see that fn.Name() has one less path separator + // than our desired output. We count separators from the end of the file + // path until it finds two more than in the function name and then move + // one character forward to preserve the initial path segment without a + // leading separator. + const sep = "/" + goal := strings.Count(name, sep) + 2 + i := len(file) + for n := 0; n < goal; n++ { + i = strings.LastIndex(file[:i], sep) + if i == -1 { + // not enough separators found, set i so that the slice expression + // below leaves file unmodified + i = -len(sep) + break + } + } + // get back to 0 or trim the leading separator + file = file[i+len(sep):] + return file +} diff --git a/vendor/github.com/yudai/umutex/LICENSE b/vendor/github.com/yudai/umutex/LICENSE deleted file mode 100644 index ab7d2e0..0000000 --- a/vendor/github.com/yudai/umutex/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 Iwasaki Yudai - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/vendor/github.com/yudai/umutex/README.md b/vendor/github.com/yudai/umutex/README.md deleted file mode 100644 index e307341..0000000 --- a/vendor/github.com/yudai/umutex/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# Unblocking Mutex - -This simple package provides unblocking mutexes for those who don't want to write many `select` clauses or get confused by numerous channels. - -## Usage Example - -```go -package main - -import ( - "fmt" - "github.com/yudai/umutex" -) - -func main() { - // Create mutex - mutex := umutex.New() - - // First time, try should succeed - if mutex.TryLock() { - fmt.Println("SUCCESS") - } else { - fmt.Println("FAILURE") - } - - // Second time, try should fail as it's locked - if mutex.TryLock() { - fmt.Println("SUCCESS") - } else { - fmt.Println("FAILURE") - } - - // Unclock mutex - mutex.Unlock() - - // Third time, try should succeed again - if mutex.TryLock() { - fmt.Println("SUCCESS") - } else { - fmt.Println("FAILURE") - } -} -``` - -The output is; - -```sh -SUCCESS -FAILURE -SUCCESS -``` - -`ForceLock()` method is also availale for normal blocking lock. diff --git a/vendor/github.com/yudai/umutex/umutex.go b/vendor/github.com/yudai/umutex/umutex.go deleted file mode 100644 index 3883c07..0000000 --- a/vendor/github.com/yudai/umutex/umutex.go +++ /dev/null @@ -1,38 +0,0 @@ -// Package umutex provides unblocking mutex -package umutex - -// UnblockingMutex represents an unblocking mutex. -type UnblockingMutex struct { - // Raw channel - C chan bool -} - -// New returnes a new unblocking mutex instance. -func New() *UnblockingMutex { - return &UnblockingMutex{ - C: make(chan bool, 1), - } -} - -// TryLock tries to lock the mutex. -// When the mutex is free at the time, the function locks the mutex and return -// true. Otherwise false will be returned. In the both cases, this function -// doens't block and return the result immediately. -func (m UnblockingMutex) TryLock() (result bool) { - select { - case m.C <- true: - return true - default: - return false - } -} - -// Unlock unclocks the mutex. -func (m UnblockingMutex) Unlock() { - <-m.C -} - -// ForceLock surely locks the mutex, however, this function blocks when the mutex is locked at the time. -func (m UnblockingMutex) ForceLock() { - m.C <- false -} diff --git a/version.go b/version.go new file mode 100644 index 0000000..cbd65dd --- /dev/null +++ b/version.go @@ -0,0 +1,3 @@ +package main + +var Version = "2.0.0-alpha" diff --git a/webtty/doc.go b/webtty/doc.go new file mode 100644 index 0000000..b7d76b9 --- /dev/null +++ b/webtty/doc.go @@ -0,0 +1,3 @@ +// Package webtty provides a protocl and an implementation to +// controll terminals thorough networks. +package webtty diff --git a/webtty/errors.go b/webtty/errors.go new file mode 100644 index 0000000..ea2fcee --- /dev/null +++ b/webtty/errors.go @@ -0,0 +1,10 @@ +package webtty + +import ( + "errors" +) + +var ( + ErrSlaveClosed = errors.New("slave closed") + ErrMasterClosed = errors.New("master closed") +) diff --git a/webtty/master.go b/webtty/master.go new file mode 100644 index 0000000..3312ebf --- /dev/null +++ b/webtty/master.go @@ -0,0 +1,55 @@ +/* +Copyright (c) 2013 The Gorilla WebSocket Authors. All rights reserved. + + Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +package webtty + +// Master represents a PTY master, usually it's a websocket connection. +type Master interface { + WriteMessage(messageType int, data []byte) error + ReadMessage() (messageType int, p []byte, err error) +} + +// The message types are defined in RFC 6455, section 11.8. +const ( + // TextMessage denotes a text data message. The text message payload is + // interpreted as UTF-8 encoded text data. + WSTextMessage = 1 + + // BinaryMessage denotes a binary data message. + WSBinaryMessage = 2 + + // CloseMessage denotes a close control message. The optional message + // payload contains a numeric code and text. Use the FormatCloseMessage + // function to format a close message payload. + WSCloseMessage = 8 + + // PingMessage denotes a ping control message. The optional message payload + // is UTF-8 encoded text. + WSPingMessage = 9 + + // PongMessage denotes a ping control message. The optional message payload + // is UTF-8 encoded text. + WSPongMessage = 10 +) diff --git a/webtty/message_types.go b/webtty/message_types.go new file mode 100644 index 0000000..8b1721e --- /dev/null +++ b/webtty/message_types.go @@ -0,0 +1,29 @@ +package webtty + +var Protocols = []string{"webtty"} + +const ( + // Unknown message type, maybe sent by a bug + UnknownInput = '0' + // User input typically from a keyboard + Input = '1' + // Ping to the server + Ping = '2' + // Notify that the browser size has been changed + ResizeTerminal = '3' +) + +const ( + // Unknown message type, maybe set by a bug + UnknownOutput = '0' + // Normal output to the terminal + Output = '1' + // Pong to the browser + Pong = '2' + // Set window title of the terminal + SetWindowTitle = '3' + // Set terminal preference + SetPreferences = '4' + // Make terminal to reconnect + SetReconnect = '5' +) diff --git a/webtty/option.go b/webtty/option.go new file mode 100644 index 0000000..5dc407a --- /dev/null +++ b/webtty/option.go @@ -0,0 +1,55 @@ +package webtty + +import ( + "encoding/json" + + "github.com/pkg/errors" +) + +// Option is an option for WebTTY. +type Option func(*WebTTY) error + +// WithPermitWrite sets a WebTTY to accept input from slaves. +func WithPermitWrite() Option { + return func(wt *WebTTY) error { + wt.permitWrite = true + return nil + } +} + +// WithFixedSize sets a fixed size to TTY master. +func WithFixedSize(width int, height int) Option { + return func(wt *WebTTY) error { + wt.width = width + wt.height = height + return nil + } +} + +// WithWindowTitle sets the default window title of the session +func WithWindowTitle(windowTitle []byte) Option { + return func(wt *WebTTY) error { + wt.windowTitle = windowTitle + return nil + } +} + +// WithReconnect enables reconnection on the master side. +func WithReconnect(timeInSeconds int) Option { + return func(wt *WebTTY) error { + wt.reconnect = timeInSeconds + return nil + } +} + +// WithMasterPreferences sets an optional configuration of master. +func WithMasterPreferences(preferences interface{}) Option { + return func(wt *WebTTY) error { + prefs, err := json.Marshal(preferences) + if err != nil { + return errors.Wrapf(err, "failed to marshal preferences as JSON") + } + wt.masterPrefs = prefs + return nil + } +} diff --git a/webtty/slave.go b/webtty/slave.go new file mode 100644 index 0000000..a054aad --- /dev/null +++ b/webtty/slave.go @@ -0,0 +1,13 @@ +package webtty + +import ( + "io" +) + +// Slave represents a PTY slave, typically it's a local command. +type Slave interface { + io.ReadWriteCloser + + WindowTitleVariables() map[string]interface{} + ResizeTerminal(columns int, rows int) error +} diff --git a/webtty/webtty.go b/webtty/webtty.go new file mode 100644 index 0000000..c4df7d3 --- /dev/null +++ b/webtty/webtty.go @@ -0,0 +1,220 @@ +package webtty + +import ( + "context" + "encoding/base64" + "encoding/json" + "sync" + + "github.com/pkg/errors" +) + +// WebTTY bridges sets of a PTY slave and its PTY master. +// To support text-based streams and side channel commands such as +// terminal resizing, WebTTY uses an original protocol. +type WebTTY struct { + // PTY Master, which probably a connection to browser + masterConn Master + // PTY Slave + slave Slave + + windowTitle []byte + permitWrite bool + width int + height int + reconnect int // in milliseconds + masterPrefs []byte + + bufferSize int + writeMutex sync.Mutex +} + +// New creates a new instance of WebTTY. +// masterConn is a connection to the PTY master, +// typically it's a websocket connection to a client. +// slave is a PTY slave such as a local command with a PTY. +func New(masterConn Master, slave Slave, options ...Option) (*WebTTY, error) { + wt := &WebTTY{ + masterConn: masterConn, + slave: slave, + + permitWrite: false, + width: 0, + height: 0, + + bufferSize: 1024, + } + + for _, option := range options { + option(wt) + } + + return wt, nil +} + +// Run starts the WebTTY. +// This method blocks until the context is canceled. +// Note that the master and slave are left intact even +// after the context is canceled. Closing them is caller's +// responsibility. +func (wt *WebTTY) Run(ctx context.Context) error { + err := wt.sendInitializeMessage() + if err != nil { + return errors.Wrapf(err, "failed to send initializing message") + } + + errs := make(chan error, 2) + + go func() { + errs <- func() error { + buffer := make([]byte, wt.bufferSize) + for { + n, err := wt.slave.Read(buffer) + if err != nil { + return ErrSlaveClosed + } + + err = wt.handleSlaveReadEvent(buffer[:n]) + if err != nil { + return err + } + } + }() + }() + + go func() { + errs <- func() error { + for { + typ, data, err := wt.masterConn.ReadMessage() + if err != nil { + return ErrMasterClosed + } + if typ != WSTextMessage { + continue + } + + err = wt.handleMasterReadEvent(data) + if err != nil { + return err + } + } + }() + }() + + select { + case <-ctx.Done(): + err = ctx.Err() + case err = <-errs: + } + + return err +} + +func (wt *WebTTY) sendInitializeMessage() error { + err := wt.masterWrite(append([]byte{SetWindowTitle}, wt.windowTitle...)) + if err != nil { + return errors.Wrapf(err, "failed to send window title") + } + + if wt.reconnect > 0 { + reconnect, _ := json.Marshal(wt.reconnect) + err := wt.masterWrite(append([]byte{SetReconnect}, reconnect...)) + if err != nil { + return errors.Wrapf(err, "failed to set reconnect") + } + } + + if wt.masterPrefs != nil { + err := wt.masterWrite(append([]byte{SetPreferences}, wt.masterPrefs...)) + if err != nil { + return errors.Wrapf(err, "failed to set preferences") + } + } + + return nil +} + +func (wt *WebTTY) handleSlaveReadEvent(data []byte) error { + safeMessage := base64.StdEncoding.EncodeToString(data) + err := wt.masterWrite(append([]byte{Output}, []byte(safeMessage)...)) + if err != nil { + return errors.Wrapf(err, "failed to send message to master") + } + + return nil +} + +func (wt *WebTTY) masterWrite(data []byte) error { + wt.writeMutex.Lock() + defer wt.writeMutex.Unlock() + + err := wt.masterConn.WriteMessage(WSTextMessage, data) + if err != nil { + return errors.Wrapf(err, "failed to write to master") + } + + return nil +} + +func (wt *WebTTY) handleMasterReadEvent(data []byte) error { + if len(data) == 0 { + return errors.New("unexpected zero length read from master") + } + + switch data[0] { + case Input: + if !wt.permitWrite { + return nil + } + + if len(data) <= 1 { + return nil + } + + _, err := wt.slave.Write(data[1:]) + if err != nil { + return errors.Wrapf(err, "failed to write received data to slave") + } + + case Ping: + err := wt.masterWrite([]byte{Pong}) + if err != nil { + return errors.Wrapf(err, "failed to return Pong message to master") + } + + case ResizeTerminal: + if wt.width != 0 && wt.height != 0 { + break + } + + if len(data) <= 1 { + return errors.New("received malformed remote command for terminal resize: empty payload") + } + + var args argResizeTerminal + err := json.Unmarshal(data[1:], &args) + if err != nil { + return errors.Wrapf(err, "received malformed data for terminal resize") + } + rows := wt.height + if rows == 0 { + rows = int(args.Rows) + } + + columns := wt.width + if columns == 0 { + columns = int(args.Columns) + } + + wt.slave.ResizeTerminal(columns, rows) + default: + return errors.Errorf("unknown message type `%c`", data[0]) + } + + return nil +} + +type argResizeTerminal struct { + Columns float64 + Rows float64 +} diff --git a/webtty/webtty_test.go b/webtty/webtty_test.go new file mode 100644 index 0000000..92a3620 --- /dev/null +++ b/webtty/webtty_test.go @@ -0,0 +1,139 @@ +package webtty + +import ( + "bytes" + "context" + "encoding/base64" + "io" + "sync" + "testing" +) + +type pipePair struct { + *io.PipeReader + *io.PipeWriter +} + +func TestWriteFromPTY(t *testing.T) { + connInPipeReader, connInPipeWriter := io.Pipe() // in to conn + connOutPipeReader, _ := io.Pipe() // out from conn + + conn := pipePair{ + connOutPipeReader, + connInPipeWriter, + } + dt, err := New(conn) + if err != nil { + t.Fatalf("Unexpected error from New(): %s", err) + } + + ctx, cancel := context.WithCancel(context.Background()) + var wg sync.WaitGroup + wg.Add(1) + go func() { + wg.Done() + err := dt.Run(ctx) + if err != nil { + t.Fatalf("Unexpected error from Run(): %s", err) + } + }() + + message := []byte("foobar") + n, err := dt.TTY().Write(message) + if err != nil { + t.Fatalf("Unexpected error from Write(): %s", err) + } + if n != len(message) { + t.Fatalf("Write() accepted `%d` for message `%s`", n, message) + } + + buf := make([]byte, 1024) + n, err = connInPipeReader.Read(buf) + if err != nil { + t.Fatalf("Unexpected error from Read(): %s", err) + } + if buf[0] != Output { + t.Fatalf("Unexpected message type `%c`", buf[0]) + } + decoded := make([]byte, 1024) + n, err = base64.StdEncoding.Decode(decoded, buf[1:n]) + if err != nil { + t.Fatalf("Unexpected error from Decode(): %s", err) + } + if !bytes.Equal(decoded[:n], message) { + t.Fatalf("Unexpected message received: `%s`", decoded[:n]) + } + + cancel() + wg.Wait() +} + +func TestWriteFromConn(t *testing.T) { + connInPipeReader, connInPipeWriter := io.Pipe() // in to conn + connOutPipeReader, connOutPipeWriter := io.Pipe() // out from conn + + conn := pipePair{ + connOutPipeReader, + connInPipeWriter, + } + + dt, err := New(conn) + if err != nil { + t.Fatalf("Unexpected error from New(): %s", err) + } + + ctx, cancel := context.WithCancel(context.Background()) + var wg sync.WaitGroup + wg.Add(1) + go func() { + wg.Done() + err := dt.Run(ctx) + if err != nil { + t.Fatalf("Unexpected error from Run(): %s", err) + } + }() + + var ( + message []byte + n int + ) + readBuf := make([]byte, 1024) + + // input + message = []byte("0hello\n") // line buffered canonical mode + n, err = connOutPipeWriter.Write(message) + if err != nil { + t.Fatalf("Unexpected error from Write(): %s", err) + } + if n != len(message) { + t.Fatalf("Write() accepted `%d` for message `%s`", n, message) + } + + n, err = dt.TTY().Read(readBuf) + if err != nil { + t.Fatalf("Unexpected error from Write(): %s", err) + } + if !bytes.Equal(readBuf[:n], message[1:]) { + t.Fatalf("Unexpected message received: `%s`", readBuf[:n]) + } + + // ping + message = []byte("1\n") // line buffered canonical mode + n, err = connOutPipeWriter.Write(message) + if n != len(message) { + t.Fatalf("Write() accepted `%d` for message `%s`", n, message) + } + + n, err = connInPipeReader.Read(readBuf) + if err != nil { + t.Fatalf("Unexpected error from Read(): %s", err) + } + if !bytes.Equal(readBuf[:n], []byte{'1'}) { + t.Fatalf("Unexpected message received: `%s`", readBuf[:n]) + } + + // TODO: resize + + cancel() + wg.Wait() +} diff --git a/wercker.yml b/wercker.yml index 0e27057..02df696 100644 --- a/wercker.yml +++ b/wercker.yml @@ -1,4 +1,4 @@ -box: golang:1.7.3 +box: golang:1.8.3 build: steps: From 21899e638b4adb83f520df447cf82b106c4366fd Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Sat, 12 Aug 2017 12:32:25 +0900 Subject: [PATCH 44/82] Add guidlines --- .github/ISSUE_TEMPLATE.md | 27 ++++++++++++++++++++++++ CONTRIBUTING.md | 44 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 CONTRIBUTING.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..347e323 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,27 @@ +# When file a bug report (see below for feature requests) + +Please answer these quesions for a bug report. Thanks! + +### What version of GoTTY are you using (`gotty --version`)? + + +### What operating system are you using? + + +### What did you do? + +If possible, please provide the command you ran. + + +### What did you expect to see? + + +### What did you see instead? + +If possible, please provide the output of the command and your browser's console output. + + + +# When file a new feature proposal + +Please provide an actual usecase that requires your new feature. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..d270e85 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,44 @@ +# How to contribute + +GoTTY is MIT licensed and accepts contributions via GitHub pull requests. We also accepts feature requests on GitHub issues. + +## Reporting a bug + +Reporting a bug is always welcome and one the best ways to contribute. A good bug report helps the developers to improve the product much easier. We therefore would like to ask you to fill out the quesions on the issue template as much as possible. That helps us to figure out what's happening and discover the root cause. + + +## Requesting a new feature + +When you find that GoTTY cannot fullfill your requirements because of lack of ability, you may want to open a new feature request. In that case, please file a new issue with your usecase and requirements. + + +## Opening a pull request + +### Code Style + +Please run `go fmt` on your Go code and make sure that your commits are organized for each logical change and your commit messages are in proper format (see below). + +[Go's official code style guide](https://github.com/golang/go/wiki/CodeReviewComments) is also helpful. + +### Format of the commit message + +When you write a commit message, we recommend include following information to make review easier and keep the history cleaerer. + +* What is the change +* The reason for the change + +The following is an example: + +``` +Add something new to existing package + +Since the existing function lacks that mechanism for some purpose, +this commit adds a new structure to provide it. +``` + +When your pull request is to add a new feature, we recommend add an actual usecase so that we can discuss the best way to achive your requirement. Opening a proposal issue in advance is another good way to start discussion of new features. + + +## Contact + +If you have a trivial question about GoTTY for a bug or new feature, you can contact @i_yudai on Twitter (unfortunately, I cannot provide support on GoTTY though). From 9b8d2d5ed5ef99e7db44de5196df133b1e92d404 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Sat, 12 Aug 2017 17:56:46 +0900 Subject: [PATCH 45/82] Reduce struct variables of server.Server --- server/handlers.go | 47 +++++++++++++++++-------- server/server.go | 86 ++++++++++++++++------------------------------ server/timer.go | 17 --------- 3 files changed, 62 insertions(+), 88 deletions(-) delete mode 100644 server/timer.go diff --git a/server/handlers.go b/server/handlers.go index 61b06dc..2ca51a1 100644 --- a/server/handlers.go +++ b/server/handlers.go @@ -8,7 +8,9 @@ import ( "log" "net/http" "net/url" + "sync" "sync/atomic" + "time" "github.com/gorilla/websocket" "github.com/pkg/errors" @@ -16,46 +18,63 @@ import ( "github.com/yudai/gotty/webtty" ) -func (server *Server) generateHandleWS(ctx context.Context, cancel context.CancelFunc) http.HandlerFunc { +func (server *Server) generateHandleWS(ctx context.Context, cancel context.CancelFunc, connections *int64, wg *sync.WaitGroup) http.HandlerFunc { + once := new(int64) + + timer := time.NewTimer(time.Duration(server.options.Timeout) * time.Second) + if server.options.Timeout > 0 { + go func() { + select { + case <-timer.C: + cancel() + case <-ctx.Done(): + } + }() + } + return func(w http.ResponseWriter, r *http.Request) { if server.options.Once { - if atomic.LoadInt64(server.once) > 0 { + success := atomic.CompareAndSwapInt64(once, 0, 1) + if !success { http.Error(w, "Server is shutting down", http.StatusServiceUnavailable) return } - atomic.AddInt64(server.once, 1) } - connections := atomic.AddInt64(server.connections, 1) - server.wsWG.Add(1) - server.stopTimer() + + if server.options.Timeout > 0 { + timer.Stop() + } + wg.Add(1) + num := atomic.AddInt64(connections, 1) closeReason := "unknown reason" defer func() { - server.wsWG.Done() - - connections := atomic.AddInt64(server.connections, -1) - if connections == 0 { - server.resetTimer() + num := atomic.AddInt64(connections, -1) + if num == 0 && server.options.Timeout > 0 { + timer.Reset(time.Duration(server.options.Timeout) * time.Second) } log.Printf( "Connection closed by %s: %s, connections: %d/%d", - closeReason, r.RemoteAddr, connections, server.options.MaxConnection, + closeReason, r.RemoteAddr, num, server.options.MaxConnection, ) if server.options.Once { cancel() } + + wg.Done() }() - log.Printf("New client connected: %s", r.RemoteAddr) if int64(server.options.MaxConnection) != 0 { - if connections > int64(server.options.MaxConnection) { + if num > int64(server.options.MaxConnection) { closeReason = "exceeding max number of connections" return } } + log.Printf("New client connected: %s, connections: %d/%d", r.RemoteAddr, num, server.options.MaxConnection) + if r.Method != "GET" { http.Error(w, "Method not allowed", 405) return diff --git a/server/server.go b/server/server.go index a29fe6b..3b2c454 100644 --- a/server/server.go +++ b/server/server.go @@ -13,7 +13,6 @@ import ( "sync" "sync/atomic" noesctmpl "text/template" - "time" "github.com/elazarl/go-bindata-assetfs" "github.com/gorilla/websocket" @@ -29,18 +28,9 @@ type Server struct { factory Factory options *Options - srv *http.Server - - upgrader *websocket.Upgrader - + upgrader *websocket.Upgrader indexTemplate *template.Template titleTemplate *noesctmpl.Template - titleVars map[string]interface{} - timer *time.Timer - wsWG sync.WaitGroup - url *url.URL // use URL() - connections *int64 // Use atomic operations - once *int64 // use atomic operations } // New creates a new instance of Server. @@ -51,7 +41,6 @@ func New(factory Factory, options *Options) (*Server, error) { panic("index not found") // must be in bindata } if options.IndexFile != "" { - log.Printf("Using index file at " + options.IndexFile) path := homedir.Expand(options.IndexFile) indexData, err = ioutil.ReadFile(path) if err != nil { @@ -68,9 +57,6 @@ func New(factory Factory, options *Options) (*Server, error) { return nil, errors.Wrapf(err, "failed to parse window title format `%s`", options.TitleFormat) } - connections := int64(0) - once := int64(0) - return &Server{ factory: factory, options: options, @@ -82,8 +68,6 @@ func New(factory Factory, options *Options) (*Server, error) { }, indexTemplate: indexTemplate, titleTemplate: titleTemplate, - connections: &connections, - once: &once, }, nil } @@ -97,12 +81,18 @@ func (server *Server) Run(ctx context.Context, options ...RunOption) error { opt(opts) } - handlers := server.setupHandlers(cctx, cancel) - srv, err := server.setupHTTPServer(handlers) + // wg and connections can be incosistent because they are handled nonatomically + wg := new(sync.WaitGroup) // to wait all connections to be closed + connections := new(int64) // number of active connections + + url := server.setupURL() + handlers := server.setupHandlers(cctx, cancel, url, connections, wg) + srv, err := server.setupHTTPServer(handlers, url) if err != nil { return errors.Wrapf(err, "failed to setup an HTTP server") } + log.Printf("URL: %s", url.String()) if server.options.PermitWrite { log.Printf("Permitting clients to write input to the PTY.") } @@ -111,19 +101,6 @@ func (server *Server) Run(ctx context.Context, options ...RunOption) error { log.Printf("Once option is provided, accepting only one client") } - server.srv = srv - - if server.options.Timeout > 0 { - server.timer = time.NewTimer(time.Duration(server.options.Timeout) * time.Second) - go func() { - select { - case <-server.timer.C: - cancel() - case <-cctx.Done(): - } - }() - } - listenErr := make(chan error, 1) go func() { if server.options.EnableTLS { @@ -161,21 +138,35 @@ func (server *Server) Run(ctx context.Context, options ...RunOption) error { err = cctx.Err() } - conn := atomic.LoadInt64(server.connections) + conn := atomic.LoadInt64(connections) if conn > 0 { log.Printf("Waiting for %d connections to be closed", conn) } - server.wsWG.Wait() + wg.Wait() return err } -func (server *Server) setupHandlers(ctx context.Context, cancel context.CancelFunc) http.Handler { +func (server *Server) setupURL() *url.URL { + host := net.JoinHostPort(server.options.Address, server.options.Port) + scheme := "http" + path := "/" + + if server.options.EnableRandomUrl { + path = "/" + randomstring.Generate(server.options.RandomUrlLength) + "/" + } + + if server.options.EnableTLS { + scheme = "https" + } + return &url.URL{Scheme: scheme, Host: host, Path: path} +} + +func (server *Server) setupHandlers(ctx context.Context, cancel context.CancelFunc, url *url.URL, connections *int64, wg *sync.WaitGroup) http.Handler { staticFileHandler := http.FileServer( &assetfs.AssetFS{Asset: Asset, AssetDir: AssetDir, Prefix: "static"}, ) - url := server.URL() var siteMux = http.NewServeMux() siteMux.HandleFunc(url.Path, server.handleIndex) siteMux.Handle(url.Path+"js/", http.StripPrefix(url.Path, staticFileHandler)) @@ -193,16 +184,13 @@ func (server *Server) setupHandlers(ctx context.Context, cancel context.CancelFu wsMux := http.NewServeMux() wsMux.Handle("/", siteHandler) - wsMux.HandleFunc(url.Path+"ws", server.generateHandleWS(ctx, cancel)) + wsMux.HandleFunc(url.Path+"ws", server.generateHandleWS(ctx, cancel, connections, wg)) siteHandler = http.Handler(wsMux) return server.wrapLogger(siteHandler) } -func (server *Server) setupHTTPServer(handler http.Handler) (*http.Server, error) { - url := server.URL() - log.Printf("URL: %s", url.String()) - +func (server *Server) setupHTTPServer(handler http.Handler, url *url.URL) (*http.Server, error) { srv := &http.Server{ Addr: url.Host, Handler: handler, @@ -219,22 +207,6 @@ func (server *Server) setupHTTPServer(handler http.Handler) (*http.Server, error return srv, nil } -func (server *Server) URL() *url.URL { - if server.url == nil { - host := net.JoinHostPort(server.options.Address, server.options.Port) - path := "" - if server.options.EnableRandomUrl { - path += "/" + randomstring.Generate(server.options.RandomUrlLength) - } - scheme := "http" - if server.options.EnableTLS { - scheme = "https" - } - server.url = &url.URL{Scheme: scheme, Host: host, Path: path + "/"} - } - return server.url -} - func (server *Server) tlsConfig() (*tls.Config, error) { caFile := homedir.Expand(server.options.TLSCACrtFile) caCert, err := ioutil.ReadFile(caFile) diff --git a/server/timer.go b/server/timer.go deleted file mode 100644 index 7a522da..0000000 --- a/server/timer.go +++ /dev/null @@ -1,17 +0,0 @@ -package server - -import ( - "time" -) - -func (server *Server) stopTimer() { - if server.options.Timeout > 0 { - server.timer.Stop() - } -} - -func (server *Server) resetTimer() { - if server.options.Timeout > 0 { - server.timer.Reset(time.Duration(server.options.Timeout) * time.Second) - } -} From 2a2a034788d6f970a66a84d0ddb2a66134d08dfc Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Sun, 13 Aug 2017 13:40:00 +0900 Subject: [PATCH 46/82] Fix possible race condition on timeout --- server/handler_atomic.go | 70 ++++++++++++++++++++++++++++++++++++++++ server/handlers.go | 38 +++++++--------------- server/server.go | 18 ++++------- 3 files changed, 89 insertions(+), 37 deletions(-) create mode 100644 server/handler_atomic.go diff --git a/server/handler_atomic.go b/server/handler_atomic.go new file mode 100644 index 0000000..326d1bd --- /dev/null +++ b/server/handler_atomic.go @@ -0,0 +1,70 @@ +package server + +import ( + "sync" + "time" +) + +type counter struct { + duration time.Duration + zeroTimer *time.Timer + wg sync.WaitGroup + connections int + mutex sync.Mutex +} + +func newCounter(duration time.Duration) *counter { + zeroTimer := time.NewTimer(duration) + + // when duration is 0, drain the expire event here + // so that user will never get the event. + if duration == 0 { + <-zeroTimer.C + } + + return &counter{ + duration: duration, + zeroTimer: zeroTimer, + } +} + +func (counter *counter) add(n int) int { + counter.mutex.Lock() + defer counter.mutex.Unlock() + + if counter.duration > 0 { + counter.zeroTimer.Stop() + } + counter.wg.Add(n) + counter.connections += n + + return counter.connections +} + +func (counter *counter) done() int { + counter.mutex.Lock() + defer counter.mutex.Unlock() + + counter.connections-- + counter.wg.Done() + if counter.connections == 0 && counter.duration > 0 { + counter.zeroTimer.Reset(counter.duration) + } + + return counter.connections +} + +func (counter *counter) count() int { + counter.mutex.Lock() + defer counter.mutex.Unlock() + + return counter.connections +} + +func (counter *counter) wait() { + counter.wg.Wait() +} + +func (counter *counter) timer() *time.Timer { + return counter.zeroTimer +} diff --git a/server/handlers.go b/server/handlers.go index 2ca51a1..90e6429 100644 --- a/server/handlers.go +++ b/server/handlers.go @@ -8,9 +8,7 @@ import ( "log" "net/http" "net/url" - "sync" "sync/atomic" - "time" "github.com/gorilla/websocket" "github.com/pkg/errors" @@ -18,42 +16,32 @@ import ( "github.com/yudai/gotty/webtty" ) -func (server *Server) generateHandleWS(ctx context.Context, cancel context.CancelFunc, connections *int64, wg *sync.WaitGroup) http.HandlerFunc { +func (server *Server) generateHandleWS(ctx context.Context, cancel context.CancelFunc, counter *counter) http.HandlerFunc { once := new(int64) - timer := time.NewTimer(time.Duration(server.options.Timeout) * time.Second) - if server.options.Timeout > 0 { - go func() { - select { - case <-timer.C: - cancel() - case <-ctx.Done(): - } - }() - } + go func() { + select { + case <-counter.timer().C: + cancel() + case <-ctx.Done(): + } + }() return func(w http.ResponseWriter, r *http.Request) { if server.options.Once { success := atomic.CompareAndSwapInt64(once, 0, 1) if !success { + http.Error(w, "Server is shutting down", http.StatusServiceUnavailable) return } } - if server.options.Timeout > 0 { - timer.Stop() - } - wg.Add(1) - num := atomic.AddInt64(connections, 1) + num := counter.add(1) closeReason := "unknown reason" defer func() { - num := atomic.AddInt64(connections, -1) - if num == 0 && server.options.Timeout > 0 { - timer.Reset(time.Duration(server.options.Timeout) * time.Second) - } - + num := counter.done() log.Printf( "Connection closed by %s: %s, connections: %d/%d", closeReason, r.RemoteAddr, num, server.options.MaxConnection, @@ -62,12 +50,10 @@ func (server *Server) generateHandleWS(ctx context.Context, cancel context.Cance if server.options.Once { cancel() } - - wg.Done() }() if int64(server.options.MaxConnection) != 0 { - if num > int64(server.options.MaxConnection) { + if num > server.options.MaxConnection { closeReason = "exceeding max number of connections" return } diff --git a/server/server.go b/server/server.go index 3b2c454..48d752f 100644 --- a/server/server.go +++ b/server/server.go @@ -10,9 +10,8 @@ import ( "net" "net/http" "net/url" - "sync" - "sync/atomic" noesctmpl "text/template" + "time" "github.com/elazarl/go-bindata-assetfs" "github.com/gorilla/websocket" @@ -81,12 +80,9 @@ func (server *Server) Run(ctx context.Context, options ...RunOption) error { opt(opts) } - // wg and connections can be incosistent because they are handled nonatomically - wg := new(sync.WaitGroup) // to wait all connections to be closed - connections := new(int64) // number of active connections - + counter := newCounter(time.Duration(server.options.Timeout) * time.Second) url := server.setupURL() - handlers := server.setupHandlers(cctx, cancel, url, connections, wg) + handlers := server.setupHandlers(cctx, cancel, url, counter) srv, err := server.setupHTTPServer(handlers, url) if err != nil { return errors.Wrapf(err, "failed to setup an HTTP server") @@ -138,11 +134,11 @@ func (server *Server) Run(ctx context.Context, options ...RunOption) error { err = cctx.Err() } - conn := atomic.LoadInt64(connections) + conn := counter.count() if conn > 0 { log.Printf("Waiting for %d connections to be closed", conn) } - wg.Wait() + counter.wait() return err } @@ -162,7 +158,7 @@ func (server *Server) setupURL() *url.URL { return &url.URL{Scheme: scheme, Host: host, Path: path} } -func (server *Server) setupHandlers(ctx context.Context, cancel context.CancelFunc, url *url.URL, connections *int64, wg *sync.WaitGroup) http.Handler { +func (server *Server) setupHandlers(ctx context.Context, cancel context.CancelFunc, url *url.URL, counter *counter) http.Handler { staticFileHandler := http.FileServer( &assetfs.AssetFS{Asset: Asset, AssetDir: AssetDir, Prefix: "static"}, ) @@ -184,7 +180,7 @@ func (server *Server) setupHandlers(ctx context.Context, cancel context.CancelFu wsMux := http.NewServeMux() wsMux.Handle("/", siteHandler) - wsMux.HandleFunc(url.Path+"ws", server.generateHandleWS(ctx, cancel, connections, wg)) + wsMux.HandleFunc(url.Path+"ws", server.generateHandleWS(ctx, cancel, counter)) siteHandler = http.Handler(wsMux) return server.wrapLogger(siteHandler) From af41111458c6e9fd082e5c6935196673ce3fa9b6 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Sun, 13 Aug 2017 13:52:10 +0900 Subject: [PATCH 47/82] Show alternative URLs when address is 0.0.0.0 --- server/list_address.go | 28 ++++++++++++++++++++++++++++ server/server.go | 28 +++++++++++++++++----------- 2 files changed, 45 insertions(+), 11 deletions(-) create mode 100644 server/list_address.go diff --git a/server/list_address.go b/server/list_address.go new file mode 100644 index 0000000..de2e8b2 --- /dev/null +++ b/server/list_address.go @@ -0,0 +1,28 @@ +package server + +import ( + "net" +) + +func listAddresses() (addresses []string) { + ifaces, err := net.Interfaces() + if err != nil { + return []string{} + } + + addresses = make([]string, 0, len(ifaces)) + + for _, iface := range ifaces { + ifAddrs, _ := iface.Addrs() + for _, ifAddr := range ifAddrs { + switch v := ifAddr.(type) { + case *net.IPNet: + addresses = append(addresses, v.IP.String()) + case *net.IPAddr: + addresses = append(addresses, v.IP.String()) + } + } + } + + return addresses +} diff --git a/server/server.go b/server/server.go index 48d752f..2516279 100644 --- a/server/server.go +++ b/server/server.go @@ -81,18 +81,28 @@ func (server *Server) Run(ctx context.Context, options ...RunOption) error { } counter := newCounter(time.Duration(server.options.Timeout) * time.Second) - url := server.setupURL() + + path := "/" + if server.options.EnableRandomUrl { + path = "/" + randomstring.Generate(server.options.RandomUrlLength) + "/" + } + url := server.setupURL(server.options.Address, path) + handlers := server.setupHandlers(cctx, cancel, url, counter) srv, err := server.setupHTTPServer(handlers, url) if err != nil { return errors.Wrapf(err, "failed to setup an HTTP server") } - log.Printf("URL: %s", url.String()) + log.Printf("GoTTY server is starting at: %s", url.String()) + if server.options.Address == "0.0.0.0" { + for _, address := range listAddresses() { + log.Printf("Alternative URL: %s", server.setupURL(address, path).String()) + } + } if server.options.PermitWrite { log.Printf("Permitting clients to write input to the PTY.") } - if server.options.Once { log.Printf("Once option is provided, accepting only one client") } @@ -143,18 +153,14 @@ func (server *Server) Run(ctx context.Context, options ...RunOption) error { return err } -func (server *Server) setupURL() *url.URL { - host := net.JoinHostPort(server.options.Address, server.options.Port) +func (server *Server) setupURL(ip string, path string) *url.URL { + host := net.JoinHostPort(ip, server.options.Port) + scheme := "http" - path := "/" - - if server.options.EnableRandomUrl { - path = "/" + randomstring.Generate(server.options.RandomUrlLength) + "/" - } - if server.options.EnableTLS { scheme = "https" } + return &url.URL{Scheme: scheme, Host: host, Path: path} } From 84ec13ca191deca77b0e24b9f30eb956b6765fa0 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Sun, 13 Aug 2017 14:00:51 +0900 Subject: [PATCH 48/82] Do not show ws log --- server/server.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/server.go b/server/server.go index 2516279..cc1cb4b 100644 --- a/server/server.go +++ b/server/server.go @@ -182,14 +182,14 @@ func (server *Server) setupHandlers(ctx context.Context, cancel context.CancelFu siteHandler = server.wrapBasicAuth(siteHandler, server.options.Credential) } - siteHandler = server.wrapHeaders(siteHandler) + siteHandler = server.wrapLogger(server.wrapHeaders(siteHandler)) wsMux := http.NewServeMux() wsMux.Handle("/", siteHandler) wsMux.HandleFunc(url.Path+"ws", server.generateHandleWS(ctx, cancel, counter)) siteHandler = http.Handler(wsMux) - return server.wrapLogger(siteHandler) + return siteHandler } func (server *Server) setupHTTPServer(handler http.Handler, url *url.URL) (*http.Server, error) { From 6765efbd6148008fb37306dc0dcb30fd7b405811 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Sun, 13 Aug 2017 15:09:22 +0900 Subject: [PATCH 49/82] Add new option to allow cross origin requests to WS endpoint --- server/handlers.go | 3 +-- server/options.go | 1 + server/server.go | 13 +++++++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/server/handlers.go b/server/handlers.go index 90e6429..1a48980 100644 --- a/server/handlers.go +++ b/server/handlers.go @@ -31,7 +31,6 @@ func (server *Server) generateHandleWS(ctx context.Context, cancel context.Cance if server.options.Once { success := atomic.CompareAndSwapInt64(once, 0, 1) if !success { - http.Error(w, "Server is shutting down", http.StatusServiceUnavailable) return } @@ -68,7 +67,7 @@ func (server *Server) generateHandleWS(ctx context.Context, cancel context.Cance conn, err := server.upgrader.Upgrade(w, r, nil) if err != nil { - http.Error(w, "Failed to upgrade connection: "+err.Error(), 500) + closeReason = fmt.Sprintf("origin check error: %s", r.Header.Get("Origin")) return } defer conn.Close() diff --git a/server/options.go b/server/options.go index 977c00d..897bcb2 100644 --- a/server/options.go +++ b/server/options.go @@ -28,6 +28,7 @@ type Options struct { Preferences *HtermPrefernces `hcl:"preferences"` Width int `hcl:"width" flagName:"width" flagDescribe:"Static width of the screen, 0(default) means dynamically resize" default:"0"` Height int `hcl:"height" flagName:"height" flagDescribe:"Static height of the screen, 0(default) means dynamically resize" default:"0"` + WSOrigin string `hcl:"ws_origin" flagName:"ws-origin" flagDescribe:"A regular expression that matches origin URLs to be accepted by WebSocket. No cross origin requests are acceptable by default" default:""` TitleVariables map[string]interface{} } diff --git a/server/server.go b/server/server.go index cc1cb4b..1442603 100644 --- a/server/server.go +++ b/server/server.go @@ -10,6 +10,7 @@ import ( "net" "net/http" "net/url" + "regexp" noesctmpl "text/template" "time" @@ -56,6 +57,17 @@ func New(factory Factory, options *Options) (*Server, error) { return nil, errors.Wrapf(err, "failed to parse window title format `%s`", options.TitleFormat) } + var originChekcer func(r *http.Request) bool + if options.WSOrigin != "" { + matcher, err := regexp.Compile(options.WSOrigin) + if err != nil { + return nil, errors.Wrapf(err, "failed to compile regular expression of Websocket Origin: %s", options.WSOrigin) + } + originChekcer = func(r *http.Request) bool { + return matcher.MatchString(r.Header.Get("Origin")) + } + } + return &Server{ factory: factory, options: options, @@ -64,6 +76,7 @@ func New(factory Factory, options *Options) (*Server, error) { ReadBufferSize: 1024, WriteBufferSize: 1024, Subprotocols: webtty.Protocols, + CheckOrigin: originChekcer, }, indexTemplate: indexTemplate, titleTemplate: titleTemplate, From 4fd3ac376c99e80388f90ca87dc735a8791c5eaa Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Tue, 15 Aug 2017 13:19:47 +0900 Subject: [PATCH 50/82] Add browser to quetsions --- .github/ISSUE_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 347e323..0e3abab 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -5,7 +5,7 @@ Please answer these quesions for a bug report. Thanks! ### What version of GoTTY are you using (`gotty --version`)? -### What operating system are you using? +### What operating system and browser are you using? ### What did you do? From 91ee778665fd424cb2045163856df5b74dfb3f83 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Thu, 17 Aug 2017 14:04:17 +0900 Subject: [PATCH 51/82] Show commit ID on version --- Makefile | 7 ++++--- main.go | 2 +- version.go | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index be1ca79..f9f6e58 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,9 @@ OUTPUT_DIR = ./builds -GIT_COMMIT = `git rev-parse HEAD` +GIT_COMMIT = `git rev-parse HEAD | cut -c1-10` +BUILD_OPTIONS = -ldflags "-X main.CommitID=$(GIT_COMMIT)" -gotty: server/asset.go main.go server/*.go webtty/*.go backend/*.go - godep go build +gotty: server/asset.go main.go server/*.go webtty/*.go backend/*.go Makefile + godep go build ${BUILD_OPTIONS} asset: server/asset.go diff --git a/main.go b/main.go index 8e0c03f..edef057 100644 --- a/main.go +++ b/main.go @@ -18,7 +18,7 @@ import ( func main() { app := cli.NewApp() app.Name = "gotty" - app.Version = Version + app.Version = Version + "+" + CommitID app.Usage = "Share your terminal as a web application" app.HideHelp = true cli.AppHelpTemplate = helpTemplate diff --git a/version.go b/version.go index cbd65dd..bdab2f0 100644 --- a/version.go +++ b/version.go @@ -1,3 +1,4 @@ package main var Version = "2.0.0-alpha" +var CommitID = "unknown_commit" From 56e9b891997ed72a7badc6ebf17692c62d2163cf Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Sun, 20 Aug 2017 13:38:42 +0900 Subject: [PATCH 52/82] Log force closing --- main.go | 1 + 1 file changed, 1 insertion(+) diff --git a/main.go b/main.go index edef057..deb5171 100644 --- a/main.go +++ b/main.go @@ -136,6 +136,7 @@ func waitSignals(errs chan error, cancel context.CancelFunc, gracefullCancel con case err := <-errs: return err case <-sigChan: + fmt.Println("Force closing...") cancel() return <-errs } From 45f8f611035e6a5cf208864e2f2384afb7fa199b Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Sun, 20 Aug 2017 13:39:06 +0900 Subject: [PATCH 53/82] Fix option handling of close signal --- backend/localcommand/factory.go | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/backend/localcommand/factory.go b/backend/localcommand/factory.go index 146df36..11810ed 100644 --- a/backend/localcommand/factory.go +++ b/backend/localcommand/factory.go @@ -2,6 +2,7 @@ package localcommand import ( "syscall" + "time" "github.com/yudai/gotty/server" ) @@ -15,13 +16,20 @@ type Factory struct { command string argv []string options *Options + opts []Option } func NewFactory(command string, argv []string, options *Options) (*Factory, error) { + opts := []Option{WithCloseSignal(syscall.Signal(options.CloseSignal))} + if options.CloseTimeout >= 0 { + opts = append(opts, WithCloseTimeout(time.Duration(options.CloseTimeout)*time.Second)) + } + return &Factory{ command: command, argv: argv, options: options, + opts: opts, }, nil } @@ -35,10 +43,6 @@ func (factory *Factory) New(params map[string][]string) (server.Slave, error) { if params["arg"] != nil && len(params["arg"]) > 0 { argv = append(argv, params["arg"]...) } - return New( - factory.command, - argv, - WithCloseSignal(syscall.Signal(factory.options.CloseSignal)), - WithCloseSignal(syscall.Signal(factory.options.CloseTimeout)), - ) + + return New(factory.command, argv, factory.opts...) } From d6c98866b9758f89ade3ed147437549ef0fdbf88 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Mon, 21 Aug 2017 15:36:23 +0900 Subject: [PATCH 54/82] Output proper log when upgrade fails --- server/handlers.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/handlers.go b/server/handlers.go index 1a48980..3c2793d 100644 --- a/server/handlers.go +++ b/server/handlers.go @@ -67,7 +67,7 @@ func (server *Server) generateHandleWS(ctx context.Context, cancel context.Cance conn, err := server.upgrader.Upgrade(w, r, nil) if err != nil { - closeReason = fmt.Sprintf("origin check error: %s", r.Header.Get("Origin")) + closeReason = err.Error() return } defer conn.Close() From 8803721f3d5fea8e60aa0ad7a8d5c235c35f4870 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Mon, 22 May 2017 08:16:24 +0900 Subject: [PATCH 55/82] Add xterm itegration * Move to TypeScript from legacy JavaScript * Add support of xterm.js * Hterm is still available for backward compatibility --- .gitignore | 1 + .gitmodules | 2 +- Makefile | 30 +- js/dist/bundle.js | 6008 ++++++++++++++++++++++++++++++++ js/dist/bundle.js.map | 1 + js/dist/hterm.d.ts | 24 + js/dist/hterm.js | 77 + js/dist/hterm.js.map | 1 + js/dist/main.d.ts | 0 js/dist/main.js | 23 + js/dist/main.js.map | 1 + js/dist/websocket.d.ts | 17 + js/dist/websocket.js | 60 + js/dist/websocket.js.map | 1 + js/dist/webtty.d.ts | 48 + js/dist/webtty.js | 99 + js/dist/webtty.js.map | 1 + js/dist/xterm.d.ts | 24 + js/dist/xterm.js | 88 + js/dist/xterm.js.map | 1 + js/libapps | 1 + js/package-lock.json | 1873 ++++++++++ js/package.json | 10 + js/src/hterm.ts | 93 + js/src/main.ts | 30 + js/src/websocket.ts | 60 + js/src/webtty.ts | 152 + js/src/xterm.ts | 101 + js/tsconfig.json | 20 + js/typings/hterm/index.d.ts | 47 + js/typings/htermLib/index.d.ts | 11 + js/webpack.config.js | 23 + resources/gotty.js | 95 - resources/index.css | 7 + resources/index.html | 9 +- resources/xterm_customize.css | 19 + server/asset.go | 109 +- server/handlers.go | 5 + server/options.go | 1 + server/server.go | 2 + 40 files changed, 9051 insertions(+), 124 deletions(-) create mode 100644 js/dist/bundle.js create mode 100644 js/dist/bundle.js.map create mode 100644 js/dist/hterm.d.ts create mode 100644 js/dist/hterm.js create mode 100644 js/dist/hterm.js.map create mode 100644 js/dist/main.d.ts create mode 100644 js/dist/main.js create mode 100644 js/dist/main.js.map create mode 100644 js/dist/websocket.d.ts create mode 100644 js/dist/websocket.js create mode 100644 js/dist/websocket.js.map create mode 100644 js/dist/webtty.d.ts create mode 100644 js/dist/webtty.js create mode 100644 js/dist/webtty.js.map create mode 100644 js/dist/xterm.d.ts create mode 100644 js/dist/xterm.js create mode 100644 js/dist/xterm.js.map create mode 160000 js/libapps create mode 100644 js/package-lock.json create mode 100644 js/package.json create mode 100644 js/src/hterm.ts create mode 100644 js/src/main.ts create mode 100644 js/src/websocket.ts create mode 100644 js/src/webtty.ts create mode 100644 js/src/xterm.ts create mode 100644 js/tsconfig.json create mode 100644 js/typings/hterm/index.d.ts create mode 100644 js/typings/htermLib/index.d.ts create mode 100644 js/webpack.config.js delete mode 100644 resources/gotty.js create mode 100644 resources/index.css create mode 100644 resources/xterm_customize.css diff --git a/.gitignore b/.gitignore index 452f349..6ff0bb9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ gotty bindata builds +js/node_modules/* diff --git a/.gitmodules b/.gitmodules index 608a72e..9a646a0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "libapps"] - path = libapps + path = js/libapps url = https://chromium.googlesource.com/apps/libapps diff --git a/Makefile b/Makefile index f9f6e58..0db9946 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ gotty: server/asset.go main.go server/*.go webtty/*.go backend/*.go Makefile asset: server/asset.go -server/asset.go: bindata/static/js/hterm.js bindata/static/js/gotty.js bindata/static/index.html bindata/static/favicon.png +server/asset.go: bindata/static/js/hterm.js bindata/static/js/bundle.js bindata/static/index.html bindata/static/favicon.png bindata/static/css/index.css bindata/static/css/xterm.css bindata/static/css/xterm_customize.css go-bindata -prefix bindata -pkg server -ignore=\\.gitkeep -o server/asset.go bindata/... gofmt -w server/asset.go @@ -26,12 +26,30 @@ bindata/static/favicon.png: bindata/static resources/favicon.png bindata/static/js: bindata/static mkdir -p bindata/static/js -bindata/static/js/hterm.js: bindata/static/js libapps/hterm/js/*.js - cd libapps && \ - LIBDOT_SEARCH_PATH=`pwd` ./libdot/bin/concat.sh -i ./hterm/concat/hterm_all.concat -o ../bindata/static/js/hterm.js +bindata/static/js/hterm.js: bindata/static/js js/libapps/hterm/js/*.js + cd js/libapps && \ + LIBDOT_SEARCH_PATH=`pwd` ./libdot/bin/concat.sh -i ./hterm/concat/hterm_all.concat -o ../../bindata/static/js/hterm.js + +bindata/static/js/bundle.js: bindata/static/js js/dist/bundle.js + cp js/dist/bundle.js bindata/static/js/bundle.js + +bindata/static/css: bindata/static + mkdir -p bindata/static/css + +bindata/static/css/index.css: bindata/static/css resources/index.css + cp resources/index.css bindata/static/css/index.css + +bindata/static/css/xterm_customize.css: bindata/static/css resources/xterm_customize.css + cp resources/xterm_customize.css bindata/static/css/xterm_customize.css + +bindata/static/css/xterm.css: bindata/static/css js/node_modules/xterm/dist/xterm.css + cp js/node_modules/xterm/dist/xterm.css bindata/static/css/xterm.css + +js/dist/bundle.js: + cd js && \ + webpack + -bindata/static/js/gotty.js: bindata/static/js resources/gotty.js - cp resources/gotty.js bindata/static/js/gotty.js tools: go get github.com/tools/godep diff --git a/js/dist/bundle.js b/js/dist/bundle.js new file mode 100644 index 0000000..3347257 --- /dev/null +++ b/js/dist/bundle.js @@ -0,0 +1,6008 @@ +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // identity function for calling harmony imports with the correct context +/******/ __webpack_require__.i = function(value) { return value; }; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 14); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var CompositionHelper_1 = __webpack_require__(15); +var EventEmitter_1 = __webpack_require__(1); +var Viewport_1 = __webpack_require__(22); +var Clipboard_1 = __webpack_require__(29); +var CircularList_1 = __webpack_require__(31); +var EscapeSequences_1 = __webpack_require__(2); +var InputHandler_1 = __webpack_require__(16); +var Parser_1 = __webpack_require__(18); +var Renderer_1 = __webpack_require__(19); +var Linkifier_1 = __webpack_require__(17); +var SelectionManager_1 = __webpack_require__(20); +var CharMeasure_1 = __webpack_require__(30); +var Browser = __webpack_require__(8); +var Mouse_1 = __webpack_require__(9); +var document = (typeof window != 'undefined') ? window.document : null; +var WRITE_BUFFER_PAUSE_THRESHOLD = 5; +var WRITE_BATCH_SIZE = 300; +var CURSOR_BLINK_INTERVAL = 600; +function Terminal(options) { + var self = this; + if (!(this instanceof Terminal)) { + return new Terminal(arguments[0], arguments[1], arguments[2]); + } + self.browser = Browser; + self.cancel = Terminal.cancel; + EventEmitter_1.EventEmitter.call(this); + if (typeof options === 'number') { + options = { + cols: arguments[0], + rows: arguments[1], + handler: arguments[2] + }; + } + options = options || {}; + Object.keys(Terminal.defaults).forEach(function (key) { + if (options[key] == null) { + options[key] = Terminal.options[key]; + if (Terminal[key] !== Terminal.defaults[key]) { + options[key] = Terminal[key]; + } + } + self[key] = options[key]; + }); + if (options.colors.length === 8) { + options.colors = options.colors.concat(Terminal._colors.slice(8)); + } + else if (options.colors.length === 16) { + options.colors = options.colors.concat(Terminal._colors.slice(16)); + } + else if (options.colors.length === 10) { + options.colors = options.colors.slice(0, -2).concat(Terminal._colors.slice(8, -2), options.colors.slice(-2)); + } + else if (options.colors.length === 18) { + options.colors = options.colors.concat(Terminal._colors.slice(16, -2), options.colors.slice(-2)); + } + this.colors = options.colors; + this.options = options; + this.parent = options.body || options.parent || (document ? document.getElementsByTagName('body')[0] : null); + this.cols = options.cols || options.geometry[0]; + this.rows = options.rows || options.geometry[1]; + this.geometry = [this.cols, this.rows]; + if (options.handler) { + this.on('data', options.handler); + } + this.ybase = 0; + this.ydisp = 0; + this.x = 0; + this.y = 0; + this.cursorState = 0; + this.cursorHidden = false; + this.convertEol; + this.queue = ''; + this.scrollTop = 0; + this.scrollBottom = this.rows - 1; + this.customKeyEventHandler = null; + this.cursorBlinkInterval = null; + this.applicationKeypad = false; + this.applicationCursor = false; + this.originMode = false; + this.insertMode = false; + this.wraparoundMode = true; + this.normal = null; + this.charset = null; + this.gcharset = null; + this.glevel = 0; + this.charsets = [null]; + this.decLocator; + this.x10Mouse; + this.vt200Mouse; + this.vt300Mouse; + this.normalMouse; + this.mouseEvents; + this.sendFocus; + this.utfMouse; + this.sgrMouse; + this.urxvtMouse; + this.element; + this.children; + this.refreshStart; + this.refreshEnd; + this.savedX; + this.savedY; + this.savedCols; + this.readable = true; + this.writable = true; + this.defAttr = (0 << 18) | (257 << 9) | (256 << 0); + this.curAttr = this.defAttr; + this.params = []; + this.currentParam = 0; + this.prefix = ''; + this.postfix = ''; + this.inputHandler = new InputHandler_1.InputHandler(this); + this.parser = new Parser_1.Parser(this.inputHandler, this); + this.renderer = this.renderer || null; + this.selectionManager = this.selectionManager || null; + this.linkifier = this.linkifier || new Linkifier_1.Linkifier(); + this.writeBuffer = []; + this.writeInProgress = false; + this.xoffSentToCatchUp = false; + this.writeStopped = false; + this.surrogate_high = ''; + this.lines = new CircularList_1.CircularList(this.scrollback); + var i = this.rows; + while (i--) { + this.lines.push(this.blankLine()); + } + if (this.selectionManager) { + this.selectionManager.setBuffer(this.lines); + } + this.tabs; + this.setupStops(); + this.userScrolling = false; +} +inherits(Terminal, EventEmitter_1.EventEmitter); +Terminal.prototype.eraseAttr = function () { + return (this.defAttr & ~0x1ff) | (this.curAttr & 0x1ff); +}; +Terminal.tangoColors = [ + '#2e3436', + '#cc0000', + '#4e9a06', + '#c4a000', + '#3465a4', + '#75507b', + '#06989a', + '#d3d7cf', + '#555753', + '#ef2929', + '#8ae234', + '#fce94f', + '#729fcf', + '#ad7fa8', + '#34e2e2', + '#eeeeec' +]; +Terminal.colors = (function () { + var colors = Terminal.tangoColors.slice(), r = [0x00, 0x5f, 0x87, 0xaf, 0xd7, 0xff], i; + i = 0; + for (; i < 216; i++) { + out(r[(i / 36) % 6 | 0], r[(i / 6) % 6 | 0], r[i % 6]); + } + i = 0; + for (; i < 24; i++) { + r = 8 + i * 10; + out(r, r, r); + } + function out(r, g, b) { + colors.push('#' + hex(r) + hex(g) + hex(b)); + } + function hex(c) { + c = c.toString(16); + return c.length < 2 ? '0' + c : c; + } + return colors; +})(); +Terminal._colors = Terminal.colors.slice(); +Terminal.vcolors = (function () { + var out = [], colors = Terminal.colors, i = 0, color; + for (; i < 256; i++) { + color = parseInt(colors[i].substring(1), 16); + out.push([ + (color >> 16) & 0xff, + (color >> 8) & 0xff, + color & 0xff + ]); + } + return out; +})(); +Terminal.defaults = { + colors: Terminal.colors, + theme: 'default', + convertEol: false, + termName: 'xterm', + geometry: [80, 24], + cursorBlink: false, + cursorStyle: 'block', + visualBell: false, + popOnBell: false, + scrollback: 1000, + screenKeys: false, + debug: false, + cancelEvents: false, + disableStdin: false, + useFlowControl: false, + tabStopWidth: 8 +}; +Terminal.options = {}; +Terminal.focus = null; +each(keys(Terminal.defaults), function (key) { + Terminal[key] = Terminal.defaults[key]; + Terminal.options[key] = Terminal.defaults[key]; +}); +Terminal.prototype.focus = function () { + return this.textarea.focus(); +}; +Terminal.prototype.getOption = function (key, value) { + if (!(key in Terminal.defaults)) { + throw new Error('No option with key "' + key + '"'); + } + if (typeof this.options[key] !== 'undefined') { + return this.options[key]; + } + return this[key]; +}; +Terminal.prototype.setOption = function (key, value) { + if (!(key in Terminal.defaults)) { + throw new Error('No option with key "' + key + '"'); + } + switch (key) { + case 'scrollback': + if (value < this.rows) { + var msg = 'Setting the scrollback value less than the number of rows '; + msg += "(" + this.rows + ") is not allowed."; + console.warn(msg); + return false; + } + if (this.options[key] !== value) { + if (this.lines.length > value) { + var amountToTrim = this.lines.length - value; + var needsRefresh = (this.ydisp - amountToTrim < 0); + this.lines.trimStart(amountToTrim); + this.ybase = Math.max(this.ybase - amountToTrim, 0); + this.ydisp = Math.max(this.ydisp - amountToTrim, 0); + if (needsRefresh) { + this.refresh(0, this.rows - 1); + } + } + this.lines.maxLength = value; + this.viewport.syncScrollArea(); + } + break; + } + this[key] = value; + this.options[key] = value; + switch (key) { + case 'cursorBlink': + this.setCursorBlinking(value); + break; + case 'cursorStyle': + this.element.classList.toggle("xterm-cursor-style-underline", value === 'underline'); + this.element.classList.toggle("xterm-cursor-style-bar", value === 'bar'); + break; + case 'tabStopWidth': + this.setupStops(); + break; + } +}; +Terminal.prototype.restartCursorBlinking = function () { + this.setCursorBlinking(this.options.cursorBlink); +}; +Terminal.prototype.setCursorBlinking = function (enabled) { + this.element.classList.toggle('xterm-cursor-blink', enabled); + this.clearCursorBlinkingInterval(); + if (enabled) { + var self = this; + this.cursorBlinkInterval = setInterval(function () { + self.element.classList.toggle('xterm-cursor-blink-on'); + }, CURSOR_BLINK_INTERVAL); + } +}; +Terminal.prototype.clearCursorBlinkingInterval = function () { + this.element.classList.remove('xterm-cursor-blink-on'); + if (this.cursorBlinkInterval) { + clearInterval(this.cursorBlinkInterval); + this.cursorBlinkInterval = null; + } +}; +Terminal.bindFocus = function (term) { + on(term.textarea, 'focus', function (ev) { + if (term.sendFocus) { + term.send(EscapeSequences_1.C0.ESC + '[I'); + } + term.element.classList.add('focus'); + term.showCursor(); + term.restartCursorBlinking.apply(term); + Terminal.focus = term; + term.emit('focus', { terminal: term }); + }); +}; +Terminal.prototype.blur = function () { + return this.textarea.blur(); +}; +Terminal.bindBlur = function (term) { + on(term.textarea, 'blur', function (ev) { + term.refresh(term.y, term.y); + if (term.sendFocus) { + term.send(EscapeSequences_1.C0.ESC + '[O'); + } + term.element.classList.remove('focus'); + term.clearCursorBlinkingInterval.apply(term); + Terminal.focus = null; + term.emit('blur', { terminal: term }); + }); +}; +Terminal.prototype.initGlobal = function () { + var _this = this; + var term = this; + Terminal.bindKeys(this); + Terminal.bindFocus(this); + Terminal.bindBlur(this); + on(this.element, 'copy', function (event) { + if (_this.mouseEvents) { + return; + } + Clipboard_1.copyHandler(event, term, _this.selectionManager); + }); + var pasteHandlerWrapper = function (event) { return Clipboard_1.pasteHandler(event, term); }; + on(this.textarea, 'paste', pasteHandlerWrapper); + on(this.element, 'paste', pasteHandlerWrapper); + if (term.browser.isFirefox) { + on(this.element, 'mousedown', function (event) { + if (event.button == 2) { + Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager); + } + }); + } + else { + on(this.element, 'contextmenu', function (event) { + Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager); + }); + } + if (term.browser.isLinux) { + on(this.element, 'auxclick', function (event) { + if (event.button === 1) { + Clipboard_1.moveTextAreaUnderMouseCursor(event, _this.textarea, _this.selectionManager); + } + }); + } +}; +Terminal.bindKeys = function (term) { + on(term.element, 'keydown', function (ev) { + if (document.activeElement != this) { + return; + } + term.keyDown(ev); + }, true); + on(term.element, 'keypress', function (ev) { + if (document.activeElement != this) { + return; + } + term.keyPress(ev); + }, true); + on(term.element, 'keyup', function (ev) { + if (!wasMondifierKeyOnlyEvent(ev)) { + term.focus(term); + } + }, true); + on(term.textarea, 'keydown', function (ev) { + term.keyDown(ev); + }, true); + on(term.textarea, 'keypress', function (ev) { + term.keyPress(ev); + this.value = ''; + }, true); + on(term.textarea, 'compositionstart', term.compositionHelper.compositionstart.bind(term.compositionHelper)); + on(term.textarea, 'compositionupdate', term.compositionHelper.compositionupdate.bind(term.compositionHelper)); + on(term.textarea, 'compositionend', term.compositionHelper.compositionend.bind(term.compositionHelper)); + term.on('refresh', term.compositionHelper.updateCompositionElements.bind(term.compositionHelper)); + term.on('refresh', function (data) { + term.queueLinkification(data.start, data.end); + }); +}; +Terminal.prototype.insertRow = function (row) { + if (typeof row != 'object') { + row = document.createElement('div'); + } + this.rowContainer.appendChild(row); + this.children.push(row); + return row; +}; +Terminal.prototype.open = function (parent, focus) { + var _this = this; + var self = this, i = 0, div; + this.parent = parent || this.parent; + if (!this.parent) { + throw new Error('Terminal requires a parent element.'); + } + this.context = this.parent.ownerDocument.defaultView; + this.document = this.parent.ownerDocument; + this.body = this.document.getElementsByTagName('body')[0]; + this.element = this.document.createElement('div'); + this.element.classList.add('terminal'); + this.element.classList.add('xterm'); + this.element.classList.add('xterm-theme-' + this.theme); + this.setCursorBlinking(this.options.cursorBlink); + this.element.setAttribute('tabindex', 0); + this.viewportElement = document.createElement('div'); + this.viewportElement.classList.add('xterm-viewport'); + this.element.appendChild(this.viewportElement); + this.viewportScrollArea = document.createElement('div'); + this.viewportScrollArea.classList.add('xterm-scroll-area'); + this.viewportElement.appendChild(this.viewportScrollArea); + this.selectionContainer = document.createElement('div'); + this.selectionContainer.classList.add('xterm-selection'); + this.element.appendChild(this.selectionContainer); + this.rowContainer = document.createElement('div'); + this.rowContainer.classList.add('xterm-rows'); + this.element.appendChild(this.rowContainer); + this.children = []; + this.linkifier.attachToDom(document, this.children); + this.helperContainer = document.createElement('div'); + this.helperContainer.classList.add('xterm-helpers'); + this.element.appendChild(this.helperContainer); + this.textarea = document.createElement('textarea'); + this.textarea.classList.add('xterm-helper-textarea'); + this.textarea.setAttribute('autocorrect', 'off'); + this.textarea.setAttribute('autocapitalize', 'off'); + this.textarea.setAttribute('spellcheck', 'false'); + this.textarea.tabIndex = 0; + this.textarea.addEventListener('focus', function () { + self.emit('focus', { terminal: self }); + }); + this.textarea.addEventListener('blur', function () { + self.emit('blur', { terminal: self }); + }); + this.helperContainer.appendChild(this.textarea); + this.compositionView = document.createElement('div'); + this.compositionView.classList.add('composition-view'); + this.compositionHelper = new CompositionHelper_1.CompositionHelper(this.textarea, this.compositionView, this); + this.helperContainer.appendChild(this.compositionView); + this.charSizeStyleElement = document.createElement('style'); + this.helperContainer.appendChild(this.charSizeStyleElement); + for (; i < this.rows; i++) { + this.insertRow(); + } + this.parent.appendChild(this.element); + this.charMeasure = new CharMeasure_1.CharMeasure(document, this.helperContainer); + this.charMeasure.on('charsizechanged', function () { + self.updateCharSizeStyles(); + }); + this.charMeasure.measure(); + this.viewport = new Viewport_1.Viewport(this, this.viewportElement, this.viewportScrollArea, this.charMeasure); + this.renderer = new Renderer_1.Renderer(this); + this.selectionManager = new SelectionManager_1.SelectionManager(this, this.lines, this.rowContainer, this.charMeasure); + this.selectionManager.on('refresh', function (data) { + _this.renderer.refreshSelection(data.start, data.end); + }); + this.selectionManager.on('newselection', function (text) { + _this.textarea.value = text; + _this.textarea.focus(); + _this.textarea.select(); + }); + this.on('scroll', function () { return _this.selectionManager.refresh(); }); + this.viewportElement.addEventListener('scroll', function () { return _this.selectionManager.refresh(); }); + this.refresh(0, this.rows - 1); + this.initGlobal(); + if (typeof focus == 'undefined') { + var message = 'You did not pass the `focus` argument in `Terminal.prototype.open()`.\n'; + message += 'The `focus` argument now defaults to `true` but starting with xterm.js 3.0 '; + message += 'it will default to `false`.'; + console.warn(message); + focus = true; + } + if (focus) { + this.focus(); + } + on(this.element, 'click', function () { + var selection = document.getSelection(), collapsed = selection.isCollapsed, isRange = typeof collapsed == 'boolean' ? !collapsed : selection.type == 'Range'; + if (!isRange) { + self.focus(); + } + }); + this.bindMouse(); + this.emit('open'); +}; +Terminal.loadAddon = function (addon, callback) { + if (true) { + return __webpack_require__(23)("./" + addon + '/' + addon); + } + else if (typeof define == 'function') { + return require(['./addons/' + addon + '/' + addon], callback); + } + else { + console.error('Cannot load a module without a CommonJS or RequireJS environment.'); + return false; + } +}; +Terminal.prototype.updateCharSizeStyles = function () { + this.charSizeStyleElement.textContent = + ".xterm-wide-char{width:" + this.charMeasure.width * 2 + "px;}" + + (".xterm-normal-char{width:" + this.charMeasure.width + "px;}") + + (".xterm-rows > div{height:" + this.charMeasure.height + "px;}"); +}; +Terminal.prototype.bindMouse = function () { + var el = this.element, self = this, pressed = 32; + function sendButton(ev) { + var button, pos; + button = getButton(ev); + pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows); + if (!pos) + return; + sendEvent(button, pos); + switch (ev.overrideType || ev.type) { + case 'mousedown': + pressed = button; + break; + case 'mouseup': + pressed = 32; + break; + case 'wheel': + break; + } + } + function sendMove(ev) { + var button = pressed, pos; + pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows); + if (!pos) + return; + button += 32; + sendEvent(button, pos); + } + function encode(data, ch) { + if (!self.utfMouse) { + if (ch === 255) + return data.push(0); + if (ch > 127) + ch = 127; + data.push(ch); + } + else { + if (ch === 2047) + return data.push(0); + if (ch < 127) { + data.push(ch); + } + else { + if (ch > 2047) + ch = 2047; + data.push(0xC0 | (ch >> 6)); + data.push(0x80 | (ch & 0x3F)); + } + } + } + function sendEvent(button, pos) { + if (self.vt300Mouse) { + button &= 3; + pos.x -= 32; + pos.y -= 32; + var data = EscapeSequences_1.C0.ESC + '[24'; + if (button === 0) + data += '1'; + else if (button === 1) + data += '3'; + else if (button === 2) + data += '5'; + else if (button === 3) + return; + else + data += '0'; + data += '~[' + pos.x + ',' + pos.y + ']\r'; + self.send(data); + return; + } + if (self.decLocator) { + button &= 3; + pos.x -= 32; + pos.y -= 32; + if (button === 0) + button = 2; + else if (button === 1) + button = 4; + else if (button === 2) + button = 6; + else if (button === 3) + button = 3; + self.send(EscapeSequences_1.C0.ESC + '[' + + button + + ';' + + (button === 3 ? 4 : 0) + + ';' + + pos.y + + ';' + + pos.x + + ';' + + (pos.page || 0) + + '&w'); + return; + } + if (self.urxvtMouse) { + pos.x -= 32; + pos.y -= 32; + pos.x++; + pos.y++; + self.send(EscapeSequences_1.C0.ESC + '[' + button + ';' + pos.x + ';' + pos.y + 'M'); + return; + } + if (self.sgrMouse) { + pos.x -= 32; + pos.y -= 32; + self.send(EscapeSequences_1.C0.ESC + '[<' + + (((button & 3) === 3 ? button & ~3 : button) - 32) + + ';' + + pos.x + + ';' + + pos.y + + ((button & 3) === 3 ? 'm' : 'M')); + return; + } + var data = []; + encode(data, button); + encode(data, pos.x); + encode(data, pos.y); + self.send(EscapeSequences_1.C0.ESC + '[M' + String.fromCharCode.apply(String, data)); + } + function getButton(ev) { + var button, shift, meta, ctrl, mod; + switch (ev.overrideType || ev.type) { + case 'mousedown': + button = ev.button != null + ? +ev.button + : ev.which != null + ? ev.which - 1 + : null; + if (self.browser.isMSIE) { + button = button === 1 ? 0 : button === 4 ? 1 : button; + } + break; + case 'mouseup': + button = 3; + break; + case 'DOMMouseScroll': + button = ev.detail < 0 + ? 64 + : 65; + break; + case 'wheel': + button = ev.wheelDeltaY > 0 + ? 64 + : 65; + break; + } + shift = ev.shiftKey ? 4 : 0; + meta = ev.metaKey ? 8 : 0; + ctrl = ev.ctrlKey ? 16 : 0; + mod = shift | meta | ctrl; + if (self.vt200Mouse) { + mod &= ctrl; + } + else if (!self.normalMouse) { + mod = 0; + } + button = (32 + (mod << 2)) + button; + return button; + } + on(el, 'mousedown', function (ev) { + if (!self.mouseEvents) + return; + sendButton(ev); + self.focus(); + if (self.vt200Mouse) { + ev.overrideType = 'mouseup'; + sendButton(ev); + return self.cancel(ev); + } + if (self.normalMouse) + on(self.document, 'mousemove', sendMove); + if (!self.x10Mouse) { + on(self.document, 'mouseup', function up(ev) { + sendButton(ev); + if (self.normalMouse) + off(self.document, 'mousemove', sendMove); + off(self.document, 'mouseup', up); + return self.cancel(ev); + }); + } + return self.cancel(ev); + }); + on(el, 'wheel', function (ev) { + if (!self.mouseEvents) + return; + if (self.x10Mouse + || self.vt300Mouse + || self.decLocator) + return; + sendButton(ev); + return self.cancel(ev); + }); + on(el, 'wheel', function (ev) { + if (self.mouseEvents) + return; + self.viewport.onWheel(ev); + return self.cancel(ev); + }); + on(el, 'touchstart', function (ev) { + if (self.mouseEvents) + return; + self.viewport.onTouchStart(ev); + return self.cancel(ev); + }); + on(el, 'touchmove', function (ev) { + if (self.mouseEvents) + return; + self.viewport.onTouchMove(ev); + return self.cancel(ev); + }); +}; +Terminal.prototype.destroy = function () { + this.readable = false; + this.writable = false; + this._events = {}; + this.handler = function () { }; + this.write = function () { }; + if (this.element && this.element.parentNode) { + this.element.parentNode.removeChild(this.element); + } +}; +Terminal.prototype.refresh = function (start, end) { + if (this.renderer) { + this.renderer.queueRefresh(start, end); + } +}; +Terminal.prototype.queueLinkification = function (start, end) { + if (this.linkifier) { + for (var i = start; i <= end; i++) { + this.linkifier.linkifyRow(i); + } + } +}; +Terminal.prototype.showCursor = function () { + if (!this.cursorState) { + this.cursorState = 1; + this.refresh(this.y, this.y); + } +}; +Terminal.prototype.scroll = function (isWrapped) { + var row; + if (this.lines.length === this.lines.maxLength) { + this.lines.trimStart(1); + this.ybase--; + if (this.ydisp !== 0) { + this.ydisp--; + } + } + this.ybase++; + if (!this.userScrolling) { + this.ydisp = this.ybase; + } + row = this.ybase + this.rows - 1; + row -= this.rows - 1 - this.scrollBottom; + if (row === this.lines.length) { + this.lines.push(this.blankLine(undefined, isWrapped)); + } + else { + this.lines.splice(row, 0, this.blankLine(undefined, isWrapped)); + } + if (this.scrollTop !== 0) { + if (this.ybase !== 0) { + this.ybase--; + if (!this.userScrolling) { + this.ydisp = this.ybase; + } + } + this.lines.splice(this.ybase + this.scrollTop, 1); + } + this.updateRange(this.scrollTop); + this.updateRange(this.scrollBottom); + this.emit('scroll', this.ydisp); +}; +Terminal.prototype.scrollDisp = function (disp, suppressScrollEvent) { + if (disp < 0) { + if (this.ydisp === 0) { + return; + } + this.userScrolling = true; + } + else if (disp + this.ydisp >= this.ybase) { + this.userScrolling = false; + } + this.ydisp += disp; + if (this.ydisp > this.ybase) { + this.ydisp = this.ybase; + } + else if (this.ydisp < 0) { + this.ydisp = 0; + } + if (!suppressScrollEvent) { + this.emit('scroll', this.ydisp); + } + this.refresh(0, this.rows - 1); +}; +Terminal.prototype.scrollPages = function (pageCount) { + this.scrollDisp(pageCount * (this.rows - 1)); +}; +Terminal.prototype.scrollToTop = function () { + this.scrollDisp(-this.ydisp); +}; +Terminal.prototype.scrollToBottom = function () { + this.scrollDisp(this.ybase - this.ydisp); +}; +Terminal.prototype.write = function (data) { + this.writeBuffer.push(data); + if (this.options.useFlowControl && !this.xoffSentToCatchUp && this.writeBuffer.length >= WRITE_BUFFER_PAUSE_THRESHOLD) { + this.send(EscapeSequences_1.C0.DC3); + this.xoffSentToCatchUp = true; + } + if (!this.writeInProgress && this.writeBuffer.length > 0) { + this.writeInProgress = true; + var self = this; + setTimeout(function () { + self.innerWrite(); + }); + } +}; +Terminal.prototype.innerWrite = function () { + var writeBatch = this.writeBuffer.splice(0, WRITE_BATCH_SIZE); + while (writeBatch.length > 0) { + var data = writeBatch.shift(); + var l = data.length, i = 0, j, cs, ch, code, low, ch_width, row; + if (this.xoffSentToCatchUp && writeBatch.length === 0 && this.writeBuffer.length === 0) { + this.send(EscapeSequences_1.C0.DC1); + this.xoffSentToCatchUp = false; + } + this.refreshStart = this.y; + this.refreshEnd = this.y; + var state = this.parser.parse(data); + this.parser.setState(state); + this.updateRange(this.y); + this.refresh(this.refreshStart, this.refreshEnd); + } + if (this.writeBuffer.length > 0) { + var self = this; + setTimeout(function () { + self.innerWrite(); + }, 0); + } + else { + this.writeInProgress = false; + } +}; +Terminal.prototype.writeln = function (data) { + this.write(data + '\r\n'); +}; +Terminal.prototype.attachCustomKeydownHandler = function (customKeydownHandler) { + var message = 'attachCustomKeydownHandler() is DEPRECATED and will be removed soon. Please use attachCustomKeyEventHandler() instead.'; + console.warn(message); + this.attachCustomKeyEventHandler(customKeydownHandler); +}; +Terminal.prototype.attachCustomKeyEventHandler = function (customKeyEventHandler) { + this.customKeyEventHandler = customKeyEventHandler; +}; +Terminal.prototype.setHypertextLinkHandler = function (handler) { + if (!this.linkifier) { + throw new Error('Cannot attach a hypertext link handler before Terminal.open is called'); + } + this.linkifier.setHypertextLinkHandler(handler); + this.refresh(0, this.rows - 1); +}; +Terminal.prototype.setHypertextValidationCallback = function (callback) { + if (!this.linkifier) { + throw new Error('Cannot attach a hypertext validation callback before Terminal.open is called'); + } + this.linkifier.setHypertextValidationCallback(callback); + this.refresh(0, this.rows - 1); +}; +Terminal.prototype.registerLinkMatcher = function (regex, handler, options) { + if (this.linkifier) { + var matcherId = this.linkifier.registerLinkMatcher(regex, handler, options); + this.refresh(0, this.rows - 1); + return matcherId; + } +}; +Terminal.prototype.deregisterLinkMatcher = function (matcherId) { + if (this.linkifier) { + if (this.linkifier.deregisterLinkMatcher(matcherId)) { + this.refresh(0, this.rows - 1); + } + } +}; +Terminal.prototype.hasSelection = function () { + return this.selectionManager.hasSelection; +}; +Terminal.prototype.getSelection = function () { + return this.selectionManager.selectionText; +}; +Terminal.prototype.clearSelection = function () { + this.selectionManager.clearSelection(); +}; +Terminal.prototype.selectAll = function () { + this.selectionManager.selectAll(); +}; +Terminal.prototype.keyDown = function (ev) { + if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) { + return false; + } + this.restartCursorBlinking(); + if (!this.compositionHelper.keydown.bind(this.compositionHelper)(ev)) { + if (this.ybase !== this.ydisp) { + this.scrollToBottom(); + } + return false; + } + var self = this; + var result = this.evaluateKeyEscapeSequence(ev); + if (result.key === EscapeSequences_1.C0.DC3) { + this.writeStopped = true; + } + else if (result.key === EscapeSequences_1.C0.DC1) { + this.writeStopped = false; + } + if (result.scrollDisp) { + this.scrollDisp(result.scrollDisp); + return this.cancel(ev, true); + } + if (isThirdLevelShift(this, ev)) { + return true; + } + if (result.cancel) { + this.cancel(ev, true); + } + if (!result.key) { + return true; + } + this.emit('keydown', ev); + this.emit('key', result.key, ev); + this.showCursor(); + this.handler(result.key); + return this.cancel(ev, true); +}; +Terminal.prototype.evaluateKeyEscapeSequence = function (ev) { + var result = { + cancel: false, + key: undefined, + scrollDisp: undefined + }; + var modifiers = ev.shiftKey << 0 | ev.altKey << 1 | ev.ctrlKey << 2 | ev.metaKey << 3; + switch (ev.keyCode) { + case 8: + if (ev.shiftKey) { + result.key = EscapeSequences_1.C0.BS; + break; + } + result.key = EscapeSequences_1.C0.DEL; + break; + case 9: + if (ev.shiftKey) { + result.key = EscapeSequences_1.C0.ESC + '[Z'; + break; + } + result.key = EscapeSequences_1.C0.HT; + result.cancel = true; + break; + case 13: + result.key = EscapeSequences_1.C0.CR; + result.cancel = true; + break; + case 27: + result.key = EscapeSequences_1.C0.ESC; + result.cancel = true; + break; + case 37: + if (modifiers) { + result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'D'; + if (result.key == EscapeSequences_1.C0.ESC + '[1;3D') { + result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'b' : EscapeSequences_1.C0.ESC + '[1;5D'; + } + } + else if (this.applicationCursor) { + result.key = EscapeSequences_1.C0.ESC + 'OD'; + } + else { + result.key = EscapeSequences_1.C0.ESC + '[D'; + } + break; + case 39: + if (modifiers) { + result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'C'; + if (result.key == EscapeSequences_1.C0.ESC + '[1;3C') { + result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'f' : EscapeSequences_1.C0.ESC + '[1;5C'; + } + } + else if (this.applicationCursor) { + result.key = EscapeSequences_1.C0.ESC + 'OC'; + } + else { + result.key = EscapeSequences_1.C0.ESC + '[C'; + } + break; + case 38: + if (modifiers) { + result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'A'; + if (result.key == EscapeSequences_1.C0.ESC + '[1;3A') { + result.key = EscapeSequences_1.C0.ESC + '[1;5A'; + } + } + else if (this.applicationCursor) { + result.key = EscapeSequences_1.C0.ESC + 'OA'; + } + else { + result.key = EscapeSequences_1.C0.ESC + '[A'; + } + break; + case 40: + if (modifiers) { + result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'B'; + if (result.key == EscapeSequences_1.C0.ESC + '[1;3B') { + result.key = EscapeSequences_1.C0.ESC + '[1;5B'; + } + } + else if (this.applicationCursor) { + result.key = EscapeSequences_1.C0.ESC + 'OB'; + } + else { + result.key = EscapeSequences_1.C0.ESC + '[B'; + } + break; + case 45: + if (!ev.shiftKey && !ev.ctrlKey) { + result.key = EscapeSequences_1.C0.ESC + '[2~'; + } + break; + case 46: + if (modifiers) { + result.key = EscapeSequences_1.C0.ESC + '[3;' + (modifiers + 1) + '~'; + } + else { + result.key = EscapeSequences_1.C0.ESC + '[3~'; + } + break; + case 36: + if (modifiers) + result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'H'; + else if (this.applicationCursor) + result.key = EscapeSequences_1.C0.ESC + 'OH'; + else + result.key = EscapeSequences_1.C0.ESC + '[H'; + break; + case 35: + if (modifiers) + result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'F'; + else if (this.applicationCursor) + result.key = EscapeSequences_1.C0.ESC + 'OF'; + else + result.key = EscapeSequences_1.C0.ESC + '[F'; + break; + case 33: + if (ev.shiftKey) { + result.scrollDisp = -(this.rows - 1); + } + else { + result.key = EscapeSequences_1.C0.ESC + '[5~'; + } + break; + case 34: + if (ev.shiftKey) { + result.scrollDisp = this.rows - 1; + } + else { + result.key = EscapeSequences_1.C0.ESC + '[6~'; + } + break; + case 112: + if (modifiers) { + result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'P'; + } + else { + result.key = EscapeSequences_1.C0.ESC + 'OP'; + } + break; + case 113: + if (modifiers) { + result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'Q'; + } + else { + result.key = EscapeSequences_1.C0.ESC + 'OQ'; + } + break; + case 114: + if (modifiers) { + result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'R'; + } + else { + result.key = EscapeSequences_1.C0.ESC + 'OR'; + } + break; + case 115: + if (modifiers) { + result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'S'; + } + else { + result.key = EscapeSequences_1.C0.ESC + 'OS'; + } + break; + case 116: + if (modifiers) { + result.key = EscapeSequences_1.C0.ESC + '[15;' + (modifiers + 1) + '~'; + } + else { + result.key = EscapeSequences_1.C0.ESC + '[15~'; + } + break; + case 117: + if (modifiers) { + result.key = EscapeSequences_1.C0.ESC + '[17;' + (modifiers + 1) + '~'; + } + else { + result.key = EscapeSequences_1.C0.ESC + '[17~'; + } + break; + case 118: + if (modifiers) { + result.key = EscapeSequences_1.C0.ESC + '[18;' + (modifiers + 1) + '~'; + } + else { + result.key = EscapeSequences_1.C0.ESC + '[18~'; + } + break; + case 119: + if (modifiers) { + result.key = EscapeSequences_1.C0.ESC + '[19;' + (modifiers + 1) + '~'; + } + else { + result.key = EscapeSequences_1.C0.ESC + '[19~'; + } + break; + case 120: + if (modifiers) { + result.key = EscapeSequences_1.C0.ESC + '[20;' + (modifiers + 1) + '~'; + } + else { + result.key = EscapeSequences_1.C0.ESC + '[20~'; + } + break; + case 121: + if (modifiers) { + result.key = EscapeSequences_1.C0.ESC + '[21;' + (modifiers + 1) + '~'; + } + else { + result.key = EscapeSequences_1.C0.ESC + '[21~'; + } + break; + case 122: + if (modifiers) { + result.key = EscapeSequences_1.C0.ESC + '[23;' + (modifiers + 1) + '~'; + } + else { + result.key = EscapeSequences_1.C0.ESC + '[23~'; + } + break; + case 123: + if (modifiers) { + result.key = EscapeSequences_1.C0.ESC + '[24;' + (modifiers + 1) + '~'; + } + else { + result.key = EscapeSequences_1.C0.ESC + '[24~'; + } + break; + default: + if (ev.ctrlKey && !ev.shiftKey && !ev.altKey && !ev.metaKey) { + if (ev.keyCode >= 65 && ev.keyCode <= 90) { + result.key = String.fromCharCode(ev.keyCode - 64); + } + else if (ev.keyCode === 32) { + result.key = String.fromCharCode(0); + } + else if (ev.keyCode >= 51 && ev.keyCode <= 55) { + result.key = String.fromCharCode(ev.keyCode - 51 + 27); + } + else if (ev.keyCode === 56) { + result.key = String.fromCharCode(127); + } + else if (ev.keyCode === 219) { + result.key = String.fromCharCode(27); + } + else if (ev.keyCode === 220) { + result.key = String.fromCharCode(28); + } + else if (ev.keyCode === 221) { + result.key = String.fromCharCode(29); + } + } + else if (!this.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) { + if (ev.keyCode >= 65 && ev.keyCode <= 90) { + result.key = EscapeSequences_1.C0.ESC + String.fromCharCode(ev.keyCode + 32); + } + else if (ev.keyCode === 192) { + result.key = EscapeSequences_1.C0.ESC + '`'; + } + else if (ev.keyCode >= 48 && ev.keyCode <= 57) { + result.key = EscapeSequences_1.C0.ESC + (ev.keyCode - 48); + } + } + else if (this.browser.isMac && !ev.altKey && !ev.ctrlKey && ev.metaKey) { + if (ev.keyCode === 65) { + this.selectAll(); + } + } + break; + } + return result; +}; +Terminal.prototype.setgLevel = function (g) { + this.glevel = g; + this.charset = this.charsets[g]; +}; +Terminal.prototype.setgCharset = function (g, charset) { + this.charsets[g] = charset; + if (this.glevel === g) { + this.charset = charset; + } +}; +Terminal.prototype.keyPress = function (ev) { + var key; + if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) { + return false; + } + this.cancel(ev); + if (ev.charCode) { + key = ev.charCode; + } + else if (ev.which == null) { + key = ev.keyCode; + } + else if (ev.which !== 0 && ev.charCode !== 0) { + key = ev.which; + } + else { + return false; + } + if (!key || ((ev.altKey || ev.ctrlKey || ev.metaKey) && !isThirdLevelShift(this, ev))) { + return false; + } + key = String.fromCharCode(key); + this.emit('keypress', key, ev); + this.emit('key', key, ev); + this.showCursor(); + this.handler(key); + return true; +}; +Terminal.prototype.send = function (data) { + var self = this; + if (!this.queue) { + setTimeout(function () { + self.handler(self.queue); + self.queue = ''; + }, 1); + } + this.queue += data; +}; +Terminal.prototype.bell = function () { + if (!this.visualBell) + return; + var self = this; + this.element.style.borderColor = 'white'; + setTimeout(function () { + self.element.style.borderColor = ''; + }, 10); + if (this.popOnBell) + this.focus(); +}; +Terminal.prototype.log = function () { + if (!this.debug) + return; + if (!this.context.console || !this.context.console.log) + return; + var args = Array.prototype.slice.call(arguments); + this.context.console.log.apply(this.context.console, args); +}; +Terminal.prototype.error = function () { + if (!this.debug) + return; + if (!this.context.console || !this.context.console.error) + return; + var args = Array.prototype.slice.call(arguments); + this.context.console.error.apply(this.context.console, args); +}; +Terminal.prototype.resize = function (x, y) { + if (isNaN(x) || isNaN(y)) { + return; + } + if (y > this.getOption('scrollback')) { + this.setOption('scrollback', y); + } + var line, el, i, j, ch, addToY; + if (x === this.cols && y === this.rows) { + return; + } + if (x < 1) + x = 1; + if (y < 1) + y = 1; + j = this.cols; + if (j < x) { + ch = [this.defAttr, ' ', 1]; + i = this.lines.length; + while (i--) { + while (this.lines.get(i).length < x) { + this.lines.get(i).push(ch); + } + } + } + this.cols = x; + this.setupStops(this.cols); + j = this.rows; + addToY = 0; + if (j < y) { + el = this.element; + while (j++ < y) { + if (this.lines.length < y + this.ybase) { + if (this.ybase > 0 && this.lines.length <= this.ybase + this.y + addToY + 1) { + this.ybase--; + addToY++; + if (this.ydisp > 0) { + this.ydisp--; + } + } + else { + this.lines.push(this.blankLine()); + } + } + if (this.children.length < y) { + this.insertRow(); + } + } + } + else { + while (j-- > y) { + if (this.lines.length > y + this.ybase) { + if (this.lines.length > this.ybase + this.y + 1) { + this.lines.pop(); + } + else { + this.ybase++; + this.ydisp++; + } + } + if (this.children.length > y) { + el = this.children.shift(); + if (!el) + continue; + el.parentNode.removeChild(el); + } + } + } + this.rows = y; + if (this.y >= y) { + this.y = y - 1; + } + if (addToY) { + this.y += addToY; + } + if (this.x >= x) { + this.x = x - 1; + } + this.scrollTop = 0; + this.scrollBottom = y - 1; + this.charMeasure.measure(); + this.refresh(0, this.rows - 1); + this.normal = null; + this.geometry = [this.cols, this.rows]; + this.emit('resize', { terminal: this, cols: x, rows: y }); +}; +Terminal.prototype.updateRange = function (y) { + if (y < this.refreshStart) + this.refreshStart = y; + if (y > this.refreshEnd) + this.refreshEnd = y; +}; +Terminal.prototype.maxRange = function () { + this.refreshStart = 0; + this.refreshEnd = this.rows - 1; +}; +Terminal.prototype.setupStops = function (i) { + if (i != null) { + if (!this.tabs[i]) { + i = this.prevStop(i); + } + } + else { + this.tabs = {}; + i = 0; + } + for (; i < this.cols; i += this.getOption('tabStopWidth')) { + this.tabs[i] = true; + } +}; +Terminal.prototype.prevStop = function (x) { + if (x == null) + x = this.x; + while (!this.tabs[--x] && x > 0) + ; + return x >= this.cols + ? this.cols - 1 + : x < 0 ? 0 : x; +}; +Terminal.prototype.nextStop = function (x) { + if (x == null) + x = this.x; + while (!this.tabs[++x] && x < this.cols) + ; + return x >= this.cols + ? this.cols - 1 + : x < 0 ? 0 : x; +}; +Terminal.prototype.eraseRight = function (x, y) { + var line = this.lines.get(this.ybase + y); + if (!line) { + return; + } + var ch = [this.eraseAttr(), ' ', 1]; + for (; x < this.cols; x++) { + line[x] = ch; + } + this.updateRange(y); +}; +Terminal.prototype.eraseLeft = function (x, y) { + var line = this.lines.get(this.ybase + y); + if (!line) { + return; + } + var ch = [this.eraseAttr(), ' ', 1]; + x++; + while (x--) { + line[x] = ch; + } + this.updateRange(y); +}; +Terminal.prototype.clear = function () { + if (this.ybase === 0 && this.y === 0) { + return; + } + this.lines.set(0, this.lines.get(this.ybase + this.y)); + this.lines.length = 1; + this.ydisp = 0; + this.ybase = 0; + this.y = 0; + for (var i = 1; i < this.rows; i++) { + this.lines.push(this.blankLine()); + } + this.refresh(0, this.rows - 1); + this.emit('scroll', this.ydisp); +}; +Terminal.prototype.eraseLine = function (y) { + this.eraseRight(0, y); +}; +Terminal.prototype.blankLine = function (cur, isWrapped) { + var attr = cur + ? this.eraseAttr() + : this.defAttr; + var ch = [attr, ' ', 1], line = [], i = 0; + if (isWrapped) { + line.isWrapped = isWrapped; + } + for (; i < this.cols; i++) { + line[i] = ch; + } + return line; +}; +Terminal.prototype.ch = function (cur) { + return cur + ? [this.eraseAttr(), ' ', 1] + : [this.defAttr, ' ', 1]; +}; +Terminal.prototype.is = function (term) { + var name = this.termName; + return (name + '').indexOf(term) === 0; +}; +Terminal.prototype.handler = function (data) { + if (this.options.disableStdin) { + return; + } + if (this.ybase !== this.ydisp) { + this.scrollToBottom(); + } + this.emit('data', data); +}; +Terminal.prototype.handleTitle = function (title) { + this.emit('title', title); +}; +Terminal.prototype.index = function () { + this.y++; + if (this.y > this.scrollBottom) { + this.y--; + this.scroll(); + } + if (this.x >= this.cols) { + this.x--; + } +}; +Terminal.prototype.reverseIndex = function () { + var j; + if (this.y === this.scrollTop) { + this.lines.shiftElements(this.y + this.ybase, this.rows - 1, 1); + this.lines.set(this.y + this.ybase, this.blankLine(true)); + this.updateRange(this.scrollTop); + this.updateRange(this.scrollBottom); + } + else { + this.y--; + } +}; +Terminal.prototype.reset = function () { + this.options.rows = this.rows; + this.options.cols = this.cols; + var customKeyEventHandler = this.customKeyEventHandler; + var cursorBlinkInterval = this.cursorBlinkInterval; + Terminal.call(this, this.options); + this.customKeyEventHandler = customKeyEventHandler; + this.cursorBlinkInterval = cursorBlinkInterval; + this.refresh(0, this.rows - 1); + this.viewport.syncScrollArea(); +}; +Terminal.prototype.tabSet = function () { + this.tabs[this.x] = true; +}; +function on(el, type, handler, capture) { + if (!Array.isArray(el)) { + el = [el]; + } + el.forEach(function (element) { + element.addEventListener(type, handler, capture || false); + }); +} +function off(el, type, handler, capture) { + el.removeEventListener(type, handler, capture || false); +} +function cancel(ev, force) { + if (!this.cancelEvents && !force) { + return; + } + ev.preventDefault(); + ev.stopPropagation(); + return false; +} +function inherits(child, parent) { + function f() { + this.constructor = child; + } + f.prototype = parent.prototype; + child.prototype = new f; +} +function indexOf(obj, el) { + var i = obj.length; + while (i--) { + if (obj[i] === el) + return i; + } + return -1; +} +function isThirdLevelShift(term, ev) { + var thirdLevelKey = (term.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) || + (term.browser.isMSWindows && ev.altKey && ev.ctrlKey && !ev.metaKey); + if (ev.type == 'keypress') { + return thirdLevelKey; + } + return thirdLevelKey && (!ev.keyCode || ev.keyCode > 47); +} +Terminal.prototype.matchColor = matchColor; +function matchColor(r1, g1, b1) { + var hash = (r1 << 16) | (g1 << 8) | b1; + if (matchColor._cache[hash] != null) { + return matchColor._cache[hash]; + } + var ldiff = Infinity, li = -1, i = 0, c, r2, g2, b2, diff; + for (; i < Terminal.vcolors.length; i++) { + c = Terminal.vcolors[i]; + r2 = c[0]; + g2 = c[1]; + b2 = c[2]; + diff = matchColor.distance(r1, g1, b1, r2, g2, b2); + if (diff === 0) { + li = i; + break; + } + if (diff < ldiff) { + ldiff = diff; + li = i; + } + } + return matchColor._cache[hash] = li; +} +matchColor._cache = {}; +matchColor.distance = function (r1, g1, b1, r2, g2, b2) { + return Math.pow(30 * (r1 - r2), 2) + + Math.pow(59 * (g1 - g2), 2) + + Math.pow(11 * (b1 - b2), 2); +}; +function each(obj, iter, con) { + if (obj.forEach) + return obj.forEach(iter, con); + for (var i = 0; i < obj.length; i++) { + iter.call(con, obj[i], i, obj); + } +} +function wasMondifierKeyOnlyEvent(ev) { + return ev.keyCode === 16 || + ev.keyCode === 17 || + ev.keyCode === 18; +} +function keys(obj) { + if (Object.keys) + return Object.keys(obj); + var key, keys = []; + for (key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + keys.push(key); + } + } + return keys; +} +Terminal.EventEmitter = EventEmitter_1.EventEmitter; +Terminal.inherits = inherits; +Terminal.on = on; +Terminal.off = off; +Terminal.cancel = cancel; +module.exports = Terminal; + +//# sourceMappingURL=xterm.js.map + + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +; +var EventEmitter = (function () { + function EventEmitter() { + this._events = this._events || {}; + } + EventEmitter.prototype.on = function (type, listener) { + this._events[type] = this._events[type] || []; + this._events[type].push(listener); + }; + EventEmitter.prototype.off = function (type, listener) { + if (!this._events[type]) { + return; + } + var obj = this._events[type]; + var i = obj.length; + while (i--) { + if (obj[i] === listener || obj[i].listener === listener) { + obj.splice(i, 1); + return; + } + } + }; + EventEmitter.prototype.removeAllListeners = function (type) { + if (this._events[type]) { + delete this._events[type]; + } + }; + EventEmitter.prototype.once = function (type, listener) { + function on() { + var args = Array.prototype.slice.call(arguments); + this.off(type, on); + return listener.apply(this, args); + } + on.listener = listener; + return this.on(type, on); + }; + EventEmitter.prototype.emit = function (type) { + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; + } + if (!this._events[type]) { + return; + } + var obj = this._events[type]; + for (var i = 0; i < obj.length; i++) { + obj[i].apply(this, args); + } + }; + EventEmitter.prototype.listeners = function (type) { + return this._events[type] || []; + }; + return EventEmitter; +}()); +exports.EventEmitter = EventEmitter; + +//# sourceMappingURL=EventEmitter.js.map + + +/***/ }), +/* 2 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var C0; +(function (C0) { + C0.NUL = '\x00'; + C0.SOH = '\x01'; + C0.STX = '\x02'; + C0.ETX = '\x03'; + C0.EOT = '\x04'; + C0.ENQ = '\x05'; + C0.ACK = '\x06'; + C0.BEL = '\x07'; + C0.BS = '\x08'; + C0.HT = '\x09'; + C0.LF = '\x0a'; + C0.VT = '\x0b'; + C0.FF = '\x0c'; + C0.CR = '\x0d'; + C0.SO = '\x0e'; + C0.SI = '\x0f'; + C0.DLE = '\x10'; + C0.DC1 = '\x11'; + C0.DC2 = '\x12'; + C0.DC3 = '\x13'; + C0.DC4 = '\x14'; + C0.NAK = '\x15'; + C0.SYN = '\x16'; + C0.ETB = '\x17'; + C0.CAN = '\x18'; + C0.EM = '\x19'; + C0.SUB = '\x1a'; + C0.ESC = '\x1b'; + C0.FS = '\x1c'; + C0.GS = '\x1d'; + C0.RS = '\x1e'; + C0.US = '\x1f'; + C0.SP = '\x20'; + C0.DEL = '\x7f'; +})(C0 = exports.C0 || (exports.C0 = {})); +; + +//# sourceMappingURL=EscapeSequences.js.map + + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CHARSETS = {}; +exports.DEFAULT_CHARSET = exports.CHARSETS['B']; +exports.CHARSETS['0'] = { + '`': '\u25c6', + 'a': '\u2592', + 'b': '\u0009', + 'c': '\u000c', + 'd': '\u000d', + 'e': '\u000a', + 'f': '\u00b0', + 'g': '\u00b1', + 'h': '\u2424', + 'i': '\u000b', + 'j': '\u2518', + 'k': '\u2510', + 'l': '\u250c', + 'm': '\u2514', + 'n': '\u253c', + 'o': '\u23ba', + 'p': '\u23bb', + 'q': '\u2500', + 'r': '\u23bc', + 's': '\u23bd', + 't': '\u251c', + 'u': '\u2524', + 'v': '\u2534', + 'w': '\u252c', + 'x': '\u2502', + 'y': '\u2264', + 'z': '\u2265', + '{': '\u03c0', + '|': '\u2260', + '}': '\u00a3', + '~': '\u00b7' +}; +exports.CHARSETS['A'] = { + '#': '£' +}; +exports.CHARSETS['B'] = null; +exports.CHARSETS['4'] = { + '#': '£', + '@': '¾', + '[': 'ij', + '\\': '½', + ']': '|', + '{': '¨', + '|': 'f', + '}': '¼', + '~': '´' +}; +exports.CHARSETS['C'] = + exports.CHARSETS['5'] = { + '[': 'Ä', + '\\': 'Ö', + ']': 'Å', + '^': 'Ü', + '`': 'é', + '{': 'ä', + '|': 'ö', + '}': 'å', + '~': 'ü' + }; +exports.CHARSETS['R'] = { + '#': '£', + '@': 'à', + '[': '°', + '\\': 'ç', + ']': '§', + '{': 'é', + '|': 'ù', + '}': 'è', + '~': '¨' +}; +exports.CHARSETS['Q'] = { + '@': 'à', + '[': 'â', + '\\': 'ç', + ']': 'ê', + '^': 'î', + '`': 'ô', + '{': 'é', + '|': 'ù', + '}': 'è', + '~': 'û' +}; +exports.CHARSETS['K'] = { + '@': '§', + '[': 'Ä', + '\\': 'Ö', + ']': 'Ü', + '{': 'ä', + '|': 'ö', + '}': 'ü', + '~': 'ß' +}; +exports.CHARSETS['Y'] = { + '#': '£', + '@': '§', + '[': '°', + '\\': 'ç', + ']': 'é', + '`': 'ù', + '{': 'à', + '|': 'ò', + '}': 'è', + '~': 'ì' +}; +exports.CHARSETS['E'] = + exports.CHARSETS['6'] = { + '@': 'Ä', + '[': 'Æ', + '\\': 'Ø', + ']': 'Å', + '^': 'Ü', + '`': 'ä', + '{': 'æ', + '|': 'ø', + '}': 'å', + '~': 'ü' + }; +exports.CHARSETS['Z'] = { + '#': '£', + '@': '§', + '[': '¡', + '\\': 'Ñ', + ']': '¿', + '{': '°', + '|': 'ñ', + '}': 'ç' +}; +exports.CHARSETS['H'] = + exports.CHARSETS['7'] = { + '@': 'É', + '[': 'Ä', + '\\': 'Ö', + ']': 'Å', + '^': 'Ü', + '`': 'é', + '{': 'ä', + '|': 'ö', + '}': 'å', + '~': 'ü' + }; +exports.CHARSETS['='] = { + '#': 'ù', + '@': 'à', + '[': 'é', + '\\': 'ç', + ']': 'ê', + '^': 'î', + '_': 'è', + '`': 'ô', + '{': 'ä', + '|': 'ö', + '}': 'ü', + '~': 'û' +}; + +//# sourceMappingURL=Charsets.js.map + + +/***/ }), +/* 4 */ +/***/ (function(module, exports, __webpack_require__) { + +/** + * Implements the attach method, that attaches the terminal to a WebSocket stream. + * @module xterm/addons/attach/attach + * @license MIT + */ + +(function (attach) { + if (true) { + /* + * CommonJS environment + */ + module.exports = attach(__webpack_require__(0)); + } else if (typeof define == 'function') { + /* + * Require.js is available + */ + define(['../../xterm'], attach); + } else { + /* + * Plain browser environment + */ + attach(window.Terminal); + } +})(function (Xterm) { + 'use strict'; + + var exports = {}; + + /** + * Attaches the given terminal to the given socket. + * + * @param {Xterm} term - The terminal to be attached to the given socket. + * @param {WebSocket} socket - The socket to attach the current terminal. + * @param {boolean} bidirectional - Whether the terminal should send data + * to the socket as well. + * @param {boolean} buffered - Whether the rendering of incoming data + * should happen instantly or at a maximum + * frequency of 1 rendering per 10ms. + */ + exports.attach = function (term, socket, bidirectional, buffered) { + bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional; + term.socket = socket; + + term._flushBuffer = function () { + term.write(term._attachSocketBuffer); + term._attachSocketBuffer = null; + clearTimeout(term._attachSocketBufferTimer); + term._attachSocketBufferTimer = null; + }; + + term._pushToBuffer = function (data) { + if (term._attachSocketBuffer) { + term._attachSocketBuffer += data; + } else { + term._attachSocketBuffer = data; + setTimeout(term._flushBuffer, 10); + } + }; + + term._getMessage = function (ev) { + if (buffered) { + term._pushToBuffer(ev.data); + } else { + term.write(ev.data); + } + }; + + term._sendData = function (data) { + socket.send(data); + }; + + socket.addEventListener('message', term._getMessage); + + if (bidirectional) { + term.on('data', term._sendData); + } + + socket.addEventListener('close', term.detach.bind(term, socket)); + socket.addEventListener('error', term.detach.bind(term, socket)); + }; + + /** + * Detaches the given terminal from the given socket + * + * @param {Xterm} term - The terminal to be detached from the given socket. + * @param {WebSocket} socket - The socket from which to detach the current + * terminal. + */ + exports.detach = function (term, socket) { + term.off('data', term._sendData); + + socket = (typeof socket == 'undefined') ? term.socket : socket; + + if (socket) { + socket.removeEventListener('message', term._getMessage); + } + + delete term.socket; + }; + + /** + * Attaches the current terminal to the given socket + * + * @param {WebSocket} socket - The socket to attach the current terminal. + * @param {boolean} bidirectional - Whether the terminal should send data + * to the socket as well. + * @param {boolean} buffered - Whether the rendering of incoming data + * should happen instantly or at a maximum + * frequency of 1 rendering per 10ms. + */ + Xterm.prototype.attach = function (socket, bidirectional, buffered) { + return exports.attach(this, socket, bidirectional, buffered); + }; + + /** + * Detaches the current terminal from the given socket. + * + * @param {WebSocket} socket - The socket from which to detach the current + * terminal. + */ + Xterm.prototype.detach = function (socket) { + return exports.detach(this, socket); + }; + + return exports; +}); + + +/***/ }), +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { + +/** + * Fit terminal columns and rows to the dimensions of its DOM element. + * + * ## Approach + * - Rows: Truncate the division of the terminal parent element height by the terminal row height. + * + * - Columns: Truncate the division of the terminal parent element width by the terminal character + * width (apply display: inline at the terminal row and truncate its width with the current + * number of columns). + * @module xterm/addons/fit/fit + * @license MIT + */ + +(function (fit) { + if (true) { + /* + * CommonJS environment + */ + module.exports = fit(__webpack_require__(0)); + } else if (typeof define == 'function') { + /* + * Require.js is available + */ + define(['../../xterm'], fit); + } else { + /* + * Plain browser environment + */ + fit(window.Terminal); + } +})(function (Xterm) { + var exports = {}; + + exports.proposeGeometry = function (term) { + if (!term.element.parentElement) { + return null; + } + var parentElementStyle = window.getComputedStyle(term.element.parentElement), + parentElementHeight = parseInt(parentElementStyle.getPropertyValue('height')), + parentElementWidth = Math.max(0, parseInt(parentElementStyle.getPropertyValue('width')) - 17), + elementStyle = window.getComputedStyle(term.element), + elementPaddingVer = parseInt(elementStyle.getPropertyValue('padding-top')) + parseInt(elementStyle.getPropertyValue('padding-bottom')), + elementPaddingHor = parseInt(elementStyle.getPropertyValue('padding-right')) + parseInt(elementStyle.getPropertyValue('padding-left')), + availableHeight = parentElementHeight - elementPaddingVer, + availableWidth = parentElementWidth - elementPaddingHor, + container = term.rowContainer, + subjectRow = term.rowContainer.firstElementChild, + contentBuffer = subjectRow.innerHTML, + characterHeight, + rows, + characterWidth, + cols, + geometry; + + subjectRow.style.display = 'inline'; + subjectRow.innerHTML = 'W'; // Common character for measuring width, although on monospace + characterWidth = subjectRow.getBoundingClientRect().width; + subjectRow.style.display = ''; // Revert style before calculating height, since they differ. + characterHeight = subjectRow.getBoundingClientRect().height; + subjectRow.innerHTML = contentBuffer; + + rows = parseInt(availableHeight / characterHeight); + cols = parseInt(availableWidth / characterWidth); + + geometry = {cols: cols, rows: rows}; + return geometry; + }; + + exports.fit = function (term) { + var geometry = exports.proposeGeometry(term); + + if (geometry) { + term.resize(geometry.cols, geometry.rows); + } + }; + + Xterm.prototype.proposeGeometry = function () { + return exports.proposeGeometry(this); + }; + + Xterm.prototype.fit = function () { + return exports.fit(this); + }; + + return exports; +}); + + +/***/ }), +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { + +/** + * Fullscreen addon for xterm.js + * @module xterm/addons/fullscreen/fullscreen + * @license MIT + */ +(function (fullscreen) { + if (true) { + /* + * CommonJS environment + */ + module.exports = fullscreen(__webpack_require__(0)); + } else if (typeof define == 'function') { + /* + * Require.js is available + */ + define(['../../xterm'], fullscreen); + } else { + /* + * Plain browser environment + */ + fullscreen(window.Terminal); + } +})(function (Xterm) { + var exports = {}; + + /** + * Toggle the given terminal's fullscreen mode. + * @param {Xterm} term - The terminal to toggle full screen mode + * @param {boolean} fullscreen - Toggle fullscreen on (true) or off (false) + */ + exports.toggleFullScreen = function (term, fullscreen) { + var fn; + + if (typeof fullscreen == 'undefined') { + fn = (term.element.classList.contains('fullscreen')) ? 'remove' : 'add'; + } else if (!fullscreen) { + fn = 'remove'; + } else { + fn = 'add'; + } + + term.element.classList[fn]('fullscreen'); + }; + + Xterm.prototype.toggleFullscreen = function (fullscreen) { + exports.toggleFullScreen(this, fullscreen); + }; + + return exports; +}); + + +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { + +/** + * This module provides methods for attaching a terminal to a terminado WebSocket stream. + * + * @module xterm/addons/terminado/terminado + * @license MIT + */ + +(function (attach) { + if (true) { + /* + * CommonJS environment + */ + module.exports = attach(__webpack_require__(0)); + } else if (typeof define == 'function') { + /* + * Require.js is available + */ + define(['../../xterm'], attach); + } else { + /* + * Plain browser environment + */ + attach(window.Terminal); + } +})(function (Xterm) { + 'use strict'; + + var exports = {}; + + /** + * Attaches the given terminal to the given socket. + * + * @param {Xterm} term - The terminal to be attached to the given socket. + * @param {WebSocket} socket - The socket to attach the current terminal. + * @param {boolean} bidirectional - Whether the terminal should send data + * to the socket as well. + * @param {boolean} buffered - Whether the rendering of incoming data + * should happen instantly or at a maximum + * frequency of 1 rendering per 10ms. + */ + exports.terminadoAttach = function (term, socket, bidirectional, buffered) { + bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional; + term.socket = socket; + + term._flushBuffer = function () { + term.write(term._attachSocketBuffer); + term._attachSocketBuffer = null; + clearTimeout(term._attachSocketBufferTimer); + term._attachSocketBufferTimer = null; + }; + + term._pushToBuffer = function (data) { + if (term._attachSocketBuffer) { + term._attachSocketBuffer += data; + } else { + term._attachSocketBuffer = data; + setTimeout(term._flushBuffer, 10); + } + }; + + term._getMessage = function (ev) { + var data = JSON.parse(ev.data) + if( data[0] == "stdout" ) { + if (buffered) { + term._pushToBuffer(data[1]); + } else { + term.write(data[1]); + } + } + }; + + term._sendData = function (data) { + socket.send(JSON.stringify(['stdin', data])); + }; + + term._setSize = function (size) { + socket.send(JSON.stringify(['set_size', size.rows, size.cols])); + }; + + socket.addEventListener('message', term._getMessage); + + if (bidirectional) { + term.on('data', term._sendData); + } + term.on('resize', term._setSize); + + socket.addEventListener('close', term.terminadoDetach.bind(term, socket)); + socket.addEventListener('error', term.terminadoDetach.bind(term, socket)); + }; + + /** + * Detaches the given terminal from the given socket + * + * @param {Xterm} term - The terminal to be detached from the given socket. + * @param {WebSocket} socket - The socket from which to detach the current + * terminal. + */ + exports.terminadoDetach = function (term, socket) { + term.off('data', term._sendData); + + socket = (typeof socket == 'undefined') ? term.socket : socket; + + if (socket) { + socket.removeEventListener('message', term._getMessage); + } + + delete term.socket; + }; + + /** + * Attaches the current terminal to the given socket + * + * @param {WebSocket} socket - The socket to attach the current terminal. + * @param {boolean} bidirectional - Whether the terminal should send data + * to the socket as well. + * @param {boolean} buffered - Whether the rendering of incoming data + * should happen instantly or at a maximum + * frequency of 1 rendering per 10ms. + */ + Xterm.prototype.terminadoAttach = function (socket, bidirectional, buffered) { + return exports.terminadoAttach(this, socket, bidirectional, buffered); + }; + + /** + * Detaches the current terminal from the given socket. + * + * @param {WebSocket} socket - The socket from which to detach the current + * terminal. + */ + Xterm.prototype.terminadoDetach = function (socket) { + return exports.terminadoDetach(this, socket); + }; + + return exports; +}); + + +/***/ }), +/* 8 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var Generic_1 = __webpack_require__(33); +var isNode = (typeof navigator === 'undefined') ? true : false; +var userAgent = (isNode) ? 'node' : navigator.userAgent; +var platform = (isNode) ? 'node' : navigator.platform; +exports.isFirefox = !!~userAgent.indexOf('Firefox'); +exports.isMSIE = !!~userAgent.indexOf('MSIE') || !!~userAgent.indexOf('Trident'); +exports.isMac = Generic_1.contains(['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'], platform); +exports.isIpad = platform === 'iPad'; +exports.isIphone = platform === 'iPhone'; +exports.isMSWindows = Generic_1.contains(['Windows', 'Win16', 'Win32', 'WinCE'], platform); +exports.isLinux = platform.indexOf('Linux') >= 0; + +//# sourceMappingURL=Browser.js.map + + +/***/ }), +/* 9 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +function getCoordsRelativeToElement(event, element) { + if (event.pageX == null) { + return null; + } + var x = event.pageX; + var y = event.pageY; + while (element && element !== self.document.documentElement) { + x -= element.offsetLeft; + y -= element.offsetTop; + element = 'offsetParent' in element ? element.offsetParent : element.parentElement; + } + return [x, y]; +} +exports.getCoordsRelativeToElement = getCoordsRelativeToElement; +function getCoords(event, rowContainer, charMeasure, colCount, rowCount, isSelection) { + var coords = getCoordsRelativeToElement(event, rowContainer); + coords[0] = Math.ceil((coords[0] + (isSelection ? charMeasure.width / 2 : 0)) / charMeasure.width); + coords[1] = Math.ceil(coords[1] / charMeasure.height); + coords[0] = Math.min(Math.max(coords[0], 1), colCount + 1); + coords[1] = Math.min(Math.max(coords[1], 1), rowCount + 1); + return coords; +} +exports.getCoords = getCoords; +function getRawByteCoords(event, rowContainer, charMeasure, colCount, rowCount) { + var coords = getCoords(event, rowContainer, charMeasure, colCount, rowCount); + var x = coords[0]; + var y = coords[1]; + x += 32; + y += 32; + return { x: x, y: y }; +} +exports.getRawByteCoords = getRawByteCoords; + +//# sourceMappingURL=Mouse.js.map + + +/***/ }), +/* 10 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var bare = __webpack_require__(34); +var bareLib = __webpack_require__(35); +var TermHterm = (function () { + function TermHterm(elem) { + this.elem = elem; + hterm.defaultStorage = new bareLib.Storage.Memory(); + this.term = new bare.Terminal(); + this.term.getPrefs().set("send-encoding", "raw"); + this.term.decorate(this.elem); + this.io = this.term.io.push(); + this.term.installKeyboard(); + } + ; + TermHterm.prototype.info = function () { + return { columns: this.columns, rows: this.rows }; + }; + ; + TermHterm.prototype.output = function (data) { + if (this.term.io != null) { + this.term.io.writeUTF16(data); + } + }; + ; + TermHterm.prototype.showMessage = function (message, timeout) { + this.message = message; + if (timeout > 0) { + this.term.io.showOverlay(message, timeout); + } + else { + this.term.io.showOverlay(message, null); + } + }; + ; + TermHterm.prototype.removeMessage = function () { + // there is no hideOverlay(), so show the same message with 0 sec + this.term.io.showOverlay(this.message, 0); + }; + TermHterm.prototype.setWindowTitle = function (title) { + this.term.setWindowTitle(title); + }; + ; + TermHterm.prototype.setPreferences = function (value) { + var _this = this; + Object.keys(value).forEach(function (key) { + _this.term.getPrefs().set(key, value[key]); + }); + }; + ; + TermHterm.prototype.onInput = function (callback) { + this.io.onVTKeystroke = function (data) { + callback(data); + }; + this.io.sendString = function (data) { + callback(data); + }; + }; + ; + TermHterm.prototype.onResize = function (callback) { + var _this = this; + this.io.onTerminalResize = function (columns, rows) { + _this.columns = columns; + _this.rows = rows; + callback(columns, rows); + }; + }; + ; + TermHterm.prototype.deactivate = function () { + this.io.onVTKeystroke = null; + this.io.sendString = null; + this.io.onTerminalResize = null; + this.term.uninstallKeyboard(); + }; + TermHterm.prototype.reset = function () { + this.removeMessage(); + this.term.installKeyboard(); + }; + TermHterm.prototype.close = function () { + this.term.uninstallKeyboard(); + }; + return TermHterm; +}()); +exports.TermHterm = TermHterm; + + +/***/ }), +/* 11 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var ConnectionFactory = (function () { + function ConnectionFactory(url, protocols) { + this.url = url; + this.protocols = protocols; + } + ; + ConnectionFactory.prototype.create = function () { + return new Connection(this.url, this.protocols); + }; + ; + return ConnectionFactory; +}()); +exports.ConnectionFactory = ConnectionFactory; +var Connection = (function () { + function Connection(url, protocols) { + this.bare = new WebSocket(url, protocols); + } + Connection.prototype.open = function () { + // nothing todo for websocket + }; + ; + Connection.prototype.close = function () { + this.bare.close(); + }; + ; + Connection.prototype.send = function (data) { + this.bare.send(data); + }; + ; + Connection.prototype.isOpen = function () { + if (this.bare.readyState == WebSocket.CONNECTING || + this.bare.readyState == WebSocket.OPEN) { + return true; + } + return false; + }; + Connection.prototype.onOpen = function (callback) { + this.bare.onopen = function (event) { + callback(); + }; + }; + ; + Connection.prototype.onReceive = function (callback) { + this.bare.onmessage = function (event) { + callback(event.data); + }; + }; + ; + Connection.prototype.onClose = function (callback) { + this.bare.onclose = function (event) { + callback(); + }; + }; + ; + return Connection; +}()); +exports.Connection = Connection; + + +/***/ }), +/* 12 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +exports.protocols = ["webtty"]; +exports.msgInputUnknown = '0'; +exports.msgInput = '1'; +exports.msgPing = '2'; +exports.msgResizeTerminal = '3'; +exports.msgUnknownOutput = '0'; +exports.msgOutput = '1'; +exports.msgPong = '2'; +exports.msgSetWindowTitle = '3'; +exports.msgSetPreferences = '4'; +exports.msgSetReconnect = '5'; +var WebTTY = (function () { + function WebTTY(term, connectionFactory, args, authToken) { + this.term = term; + this.connectionFactory = connectionFactory; + this.args = args; + this.authToken = authToken; + this.reconnect = -1; + } + ; + WebTTY.prototype.open = function () { + var _this = this; + var connection = this.connectionFactory.create(); + var pingTimer; + var reconnectTimeout; + var setup = function () { + connection.onOpen(function () { + var termInfo = _this.term.info(); + connection.send(JSON.stringify({ + Arguments: _this.args, + AuthToken: _this.authToken, + })); + var resizeHandler = function (colmuns, rows) { + connection.send(exports.msgResizeTerminal + JSON.stringify({ + columns: colmuns, + rows: rows + })); + }; + _this.term.onResize(resizeHandler); + resizeHandler(termInfo.columns, termInfo.rows); + _this.term.onInput(function (input) { + connection.send(exports.msgInput + input); + }); + pingTimer = setInterval(function () { + connection.send(exports.msgPing); + }, 30 * 1000); + }); + connection.onReceive(function (data) { + var payload = data.slice(1); + switch (data[0]) { + case exports.msgOutput: + _this.term.output(decodeURIComponent(Array.prototype.map.call(atob(payload), function (c) { + return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); + }).join(''))); + break; + case exports.msgPong: + break; + case exports.msgSetWindowTitle: + _this.term.setWindowTitle(payload); + break; + case exports.msgSetPreferences: + var preferences = JSON.parse(payload); + _this.term.setPreferences(preferences); + break; + case exports.msgSetReconnect: + var autoReconnect = JSON.parse(payload); + console.log("Enabling reconnect: " + autoReconnect + " seconds"); + _this.reconnect = autoReconnect; + break; + } + }); + connection.onClose(function () { + clearInterval(pingTimer); + _this.term.deactivate(); + _this.term.showMessage("Connection Closed", 0); + if (_this.reconnect > 0) { + reconnectTimeout = setTimeout(function () { + connection = _this.connectionFactory.create(); + _this.term.reset(); + setup(); + }, _this.reconnect * 1000); + } + }); + connection.open(); + }; + setup(); + return function () { + clearTimeout(reconnectTimeout); + connection.close(); + }; + }; + ; + return WebTTY; +}()); +exports.WebTTY = WebTTY; +; + + +/***/ }), +/* 13 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var bare = __webpack_require__(0); +bare.loadAddon("fit"); +var TermXterm = (function () { + function TermXterm(elem) { + var _this = this; + this.elem = elem; + this.term = new bare(); + this.message = elem.ownerDocument.createElement("div"); + this.message.className = "xterm-overlay"; + this.messageTimeout = 2000; + this.resizeListener = function () { + _this.term.fit(); + _this.term.scrollToBottom(); + _this.showMessage(String(_this.term.cols) + "x" + String(_this.term.rows), _this.messageTimeout); + }; + this.term.on("open", function () { + _this.resizeListener(); + window.addEventListener("resize", function () { _this.resizeListener(); }); + }); + this.term.open(elem, true); + } + ; + TermXterm.prototype.info = function () { + return { columns: this.term.cols, rows: this.term.rows }; + }; + ; + TermXterm.prototype.output = function (data) { + this.term.write(data); + }; + ; + TermXterm.prototype.showMessage = function (message, timeout) { + var _this = this; + this.message.textContent = message; + this.elem.appendChild(this.message); + if (this.messageTimer) { + clearTimeout(this.messageTimer); + } + if (timeout > 0) { + this.messageTimer = setTimeout(function () { + _this.elem.removeChild(_this.message); + }, timeout); + } + }; + ; + TermXterm.prototype.removeMessage = function () { + if (this.message.parentNode == this.elem) { + this.elem.removeChild(this.message); + } + }; + TermXterm.prototype.setWindowTitle = function (title) { + document.title = title; + }; + ; + TermXterm.prototype.setPreferences = function (value) { + }; + ; + TermXterm.prototype.onInput = function (callback) { + this.term.on("data", function (data) { + callback(data); + }); + }; + ; + TermXterm.prototype.onResize = function (callback) { + this.term.on("resize", function (data) { + callback(data.cols, data.rows); + }); + }; + ; + TermXterm.prototype.deactivate = function () { + this.term.off("data"); + this.term.off("resize"); + this.term.blur(); + }; + TermXterm.prototype.reset = function () { + this.removeMessage(); + this.term.clear(); + }; + TermXterm.prototype.close = function () { + window.removeEventListener("resize", this.resizeListener); + this.term.destroy(); + }; + return TermXterm; +}()); +exports.TermXterm = TermXterm; + + +/***/ }), +/* 14 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var hterm_1 = __webpack_require__(10); +var xterm_1 = __webpack_require__(13); +var webtty_1 = __webpack_require__(12); +var websocket_1 = __webpack_require__(11); +var elem = document.getElementById("terminal"); +if (elem !== null) { + var term; + if (gotty_term == "hterm") { + term = new hterm_1.TermHterm(elem); + } + else { + term = new xterm_1.TermXterm(elem); + } + var httpsEnabled = window.location.protocol == "https:"; + var url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws'; + var args = window.location.search; + var factory = new websocket_1.ConnectionFactory(url, webtty_1.protocols); + var wt = new webtty_1.WebTTY(term, factory, args, gotty_auth_token); + var closer_1 = wt.open(); + window.addEventListener("unload", function () { + closer_1(); + term.close(); + }); +} +; + + +/***/ }), +/* 15 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var CompositionHelper = (function () { + function CompositionHelper(textarea, compositionView, terminal) { + this.textarea = textarea; + this.compositionView = compositionView; + this.terminal = terminal; + this.isComposing = false; + this.isSendingComposition = false; + this.compositionPosition = { start: null, end: null }; + } + CompositionHelper.prototype.compositionstart = function () { + this.isComposing = true; + this.compositionPosition.start = this.textarea.value.length; + this.compositionView.textContent = ''; + this.compositionView.classList.add('active'); + }; + CompositionHelper.prototype.compositionupdate = function (ev) { + var _this = this; + this.compositionView.textContent = ev.data; + this.updateCompositionElements(); + setTimeout(function () { + _this.compositionPosition.end = _this.textarea.value.length; + }, 0); + }; + CompositionHelper.prototype.compositionend = function () { + this.finalizeComposition(true); + }; + CompositionHelper.prototype.keydown = function (ev) { + if (this.isComposing || this.isSendingComposition) { + if (ev.keyCode === 229) { + return false; + } + else if (ev.keyCode === 16 || ev.keyCode === 17 || ev.keyCode === 18) { + return false; + } + else { + this.finalizeComposition(false); + } + } + if (ev.keyCode === 229) { + this.handleAnyTextareaChanges(); + return false; + } + return true; + }; + CompositionHelper.prototype.finalizeComposition = function (waitForPropogation) { + var _this = this; + this.compositionView.classList.remove('active'); + this.isComposing = false; + this.clearTextareaPosition(); + if (!waitForPropogation) { + this.isSendingComposition = false; + var input = this.textarea.value.substring(this.compositionPosition.start, this.compositionPosition.end); + this.terminal.handler(input); + } + else { + var currentCompositionPosition_1 = { + start: this.compositionPosition.start, + end: this.compositionPosition.end, + }; + this.isSendingComposition = true; + setTimeout(function () { + if (_this.isSendingComposition) { + _this.isSendingComposition = false; + var input = void 0; + if (_this.isComposing) { + input = _this.textarea.value.substring(currentCompositionPosition_1.start, currentCompositionPosition_1.end); + } + else { + input = _this.textarea.value.substring(currentCompositionPosition_1.start); + } + _this.terminal.handler(input); + } + }, 0); + } + }; + CompositionHelper.prototype.handleAnyTextareaChanges = function () { + var _this = this; + var oldValue = this.textarea.value; + setTimeout(function () { + if (!_this.isComposing) { + var newValue = _this.textarea.value; + var diff = newValue.replace(oldValue, ''); + if (diff.length > 0) { + _this.terminal.handler(diff); + } + } + }, 0); + }; + CompositionHelper.prototype.updateCompositionElements = function (dontRecurse) { + var _this = this; + if (!this.isComposing) { + return; + } + var cursor = this.terminal.element.querySelector('.terminal-cursor'); + if (cursor) { + var xtermRows = this.terminal.element.querySelector('.xterm-rows'); + var cursorTop = xtermRows.offsetTop + cursor.offsetTop; + this.compositionView.style.left = cursor.offsetLeft + 'px'; + this.compositionView.style.top = cursorTop + 'px'; + this.compositionView.style.height = cursor.offsetHeight + 'px'; + this.compositionView.style.lineHeight = cursor.offsetHeight + 'px'; + var compositionViewBounds = this.compositionView.getBoundingClientRect(); + this.textarea.style.left = cursor.offsetLeft + 'px'; + this.textarea.style.top = cursorTop + 'px'; + this.textarea.style.width = compositionViewBounds.width + 'px'; + this.textarea.style.height = compositionViewBounds.height + 'px'; + this.textarea.style.lineHeight = compositionViewBounds.height + 'px'; + } + if (!dontRecurse) { + setTimeout(function () { return _this.updateCompositionElements(true); }, 0); + } + }; + ; + CompositionHelper.prototype.clearTextareaPosition = function () { + this.textarea.style.left = ''; + this.textarea.style.top = ''; + }; + ; + return CompositionHelper; +}()); +exports.CompositionHelper = CompositionHelper; + +//# sourceMappingURL=CompositionHelper.js.map + + +/***/ }), +/* 16 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var EscapeSequences_1 = __webpack_require__(2); +var Charsets_1 = __webpack_require__(3); +var InputHandler = (function () { + function InputHandler(_terminal) { + this._terminal = _terminal; + } + InputHandler.prototype.addChar = function (char, code) { + if (char >= ' ') { + var ch_width = wcwidth(code); + if (this._terminal.charset && this._terminal.charset[char]) { + char = this._terminal.charset[char]; + } + var row = this._terminal.y + this._terminal.ybase; + if (!ch_width && this._terminal.x) { + if (this._terminal.lines.get(row)[this._terminal.x - 1]) { + if (!this._terminal.lines.get(row)[this._terminal.x - 1][2]) { + if (this._terminal.lines.get(row)[this._terminal.x - 2]) + this._terminal.lines.get(row)[this._terminal.x - 2][1] += char; + } + else { + this._terminal.lines.get(row)[this._terminal.x - 1][1] += char; + } + this._terminal.updateRange(this._terminal.y); + } + return; + } + if (this._terminal.x + ch_width - 1 >= this._terminal.cols) { + if (this._terminal.wraparoundMode) { + this._terminal.x = 0; + this._terminal.y++; + if (this._terminal.y > this._terminal.scrollBottom) { + this._terminal.y--; + this._terminal.scroll(true); + } + else { + this._terminal.lines.get(this._terminal.y).isWrapped = true; + } + } + else { + if (ch_width === 2) + return; + } + } + row = this._terminal.y + this._terminal.ybase; + if (this._terminal.insertMode) { + for (var moves = 0; moves < ch_width; ++moves) { + var removed = this._terminal.lines.get(this._terminal.y + this._terminal.ybase).pop(); + if (removed[2] === 0 + && this._terminal.lines.get(row)[this._terminal.cols - 2] + && this._terminal.lines.get(row)[this._terminal.cols - 2][2] === 2) { + this._terminal.lines.get(row)[this._terminal.cols - 2] = [this._terminal.curAttr, ' ', 1]; + } + this._terminal.lines.get(row).splice(this._terminal.x, 0, [this._terminal.curAttr, ' ', 1]); + } + } + this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, char, ch_width]; + this._terminal.x++; + this._terminal.updateRange(this._terminal.y); + if (ch_width === 2) { + this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, '', 0]; + this._terminal.x++; + } + } + }; + InputHandler.prototype.bell = function () { + var _this = this; + if (!this._terminal.visualBell) { + return; + } + this._terminal.element.style.borderColor = 'white'; + setTimeout(function () { return _this._terminal.element.style.borderColor = ''; }, 10); + if (this._terminal.popOnBell) { + this._terminal.focus(); + } + }; + InputHandler.prototype.lineFeed = function () { + if (this._terminal.convertEol) { + this._terminal.x = 0; + } + this._terminal.y++; + if (this._terminal.y > this._terminal.scrollBottom) { + this._terminal.y--; + this._terminal.scroll(); + } + if (this._terminal.x >= this._terminal.cols) { + this._terminal.x--; + } + }; + InputHandler.prototype.carriageReturn = function () { + this._terminal.x = 0; + }; + InputHandler.prototype.backspace = function () { + if (this._terminal.x > 0) { + this._terminal.x--; + } + }; + InputHandler.prototype.tab = function () { + this._terminal.x = this._terminal.nextStop(); + }; + InputHandler.prototype.shiftOut = function () { + this._terminal.setgLevel(1); + }; + InputHandler.prototype.shiftIn = function () { + this._terminal.setgLevel(0); + }; + InputHandler.prototype.insertChars = function (params) { + var param, row, j, ch; + param = params[0]; + if (param < 1) + param = 1; + row = this._terminal.y + this._terminal.ybase; + j = this._terminal.x; + ch = [this._terminal.eraseAttr(), ' ', 1]; + while (param-- && j < this._terminal.cols) { + this._terminal.lines.get(row).splice(j++, 0, ch); + this._terminal.lines.get(row).pop(); + } + }; + InputHandler.prototype.cursorUp = function (params) { + var param = params[0]; + if (param < 1) { + param = 1; + } + this._terminal.y -= param; + if (this._terminal.y < 0) { + this._terminal.y = 0; + } + }; + InputHandler.prototype.cursorDown = function (params) { + var param = params[0]; + if (param < 1) { + param = 1; + } + this._terminal.y += param; + if (this._terminal.y >= this._terminal.rows) { + this._terminal.y = this._terminal.rows - 1; + } + if (this._terminal.x >= this._terminal.cols) { + this._terminal.x--; + } + }; + InputHandler.prototype.cursorForward = function (params) { + var param = params[0]; + if (param < 1) { + param = 1; + } + this._terminal.x += param; + if (this._terminal.x >= this._terminal.cols) { + this._terminal.x = this._terminal.cols - 1; + } + }; + InputHandler.prototype.cursorBackward = function (params) { + var param = params[0]; + if (param < 1) { + param = 1; + } + if (this._terminal.x >= this._terminal.cols) { + this._terminal.x--; + } + this._terminal.x -= param; + if (this._terminal.x < 0) { + this._terminal.x = 0; + } + }; + InputHandler.prototype.cursorNextLine = function (params) { + var param = params[0]; + if (param < 1) { + param = 1; + } + this._terminal.y += param; + if (this._terminal.y >= this._terminal.rows) { + this._terminal.y = this._terminal.rows - 1; + } + this._terminal.x = 0; + }; + ; + InputHandler.prototype.cursorPrecedingLine = function (params) { + var param = params[0]; + if (param < 1) { + param = 1; + } + this._terminal.y -= param; + if (this._terminal.y < 0) { + this._terminal.y = 0; + } + this._terminal.x = 0; + }; + ; + InputHandler.prototype.cursorCharAbsolute = function (params) { + var param = params[0]; + if (param < 1) { + param = 1; + } + this._terminal.x = param - 1; + }; + InputHandler.prototype.cursorPosition = function (params) { + var row, col; + row = params[0] - 1; + if (params.length >= 2) { + col = params[1] - 1; + } + else { + col = 0; + } + if (row < 0) { + row = 0; + } + else if (row >= this._terminal.rows) { + row = this._terminal.rows - 1; + } + if (col < 0) { + col = 0; + } + else if (col >= this._terminal.cols) { + col = this._terminal.cols - 1; + } + this._terminal.x = col; + this._terminal.y = row; + }; + InputHandler.prototype.cursorForwardTab = function (params) { + var param = params[0] || 1; + while (param--) { + this._terminal.x = this._terminal.nextStop(); + } + }; + InputHandler.prototype.eraseInDisplay = function (params) { + var j; + switch (params[0]) { + case 0: + this._terminal.eraseRight(this._terminal.x, this._terminal.y); + j = this._terminal.y + 1; + for (; j < this._terminal.rows; j++) { + this._terminal.eraseLine(j); + } + break; + case 1: + this._terminal.eraseLeft(this._terminal.x, this._terminal.y); + j = this._terminal.y; + while (j--) { + this._terminal.eraseLine(j); + } + break; + case 2: + j = this._terminal.rows; + while (j--) + this._terminal.eraseLine(j); + break; + case 3: + var scrollBackSize = this._terminal.lines.length - this._terminal.rows; + if (scrollBackSize > 0) { + this._terminal.lines.trimStart(scrollBackSize); + this._terminal.ybase = Math.max(this._terminal.ybase - scrollBackSize, 0); + this._terminal.ydisp = Math.max(this._terminal.ydisp - scrollBackSize, 0); + } + break; + } + }; + InputHandler.prototype.eraseInLine = function (params) { + switch (params[0]) { + case 0: + this._terminal.eraseRight(this._terminal.x, this._terminal.y); + break; + case 1: + this._terminal.eraseLeft(this._terminal.x, this._terminal.y); + break; + case 2: + this._terminal.eraseLine(this._terminal.y); + break; + } + }; + InputHandler.prototype.insertLines = function (params) { + var param, row, j; + param = params[0]; + if (param < 1) { + param = 1; + } + row = this._terminal.y + this._terminal.ybase; + j = this._terminal.rows - 1 - this._terminal.scrollBottom; + j = this._terminal.rows - 1 + this._terminal.ybase - j + 1; + while (param--) { + if (this._terminal.lines.length === this._terminal.lines.maxLength) { + this._terminal.lines.trimStart(1); + this._terminal.ybase--; + this._terminal.ydisp--; + row--; + j--; + } + this._terminal.lines.splice(row, 0, this._terminal.blankLine(true)); + this._terminal.lines.splice(j, 1); + } + this._terminal.updateRange(this._terminal.y); + this._terminal.updateRange(this._terminal.scrollBottom); + }; + InputHandler.prototype.deleteLines = function (params) { + var param, row, j; + param = params[0]; + if (param < 1) { + param = 1; + } + row = this._terminal.y + this._terminal.ybase; + j = this._terminal.rows - 1 - this._terminal.scrollBottom; + j = this._terminal.rows - 1 + this._terminal.ybase - j; + while (param--) { + if (this._terminal.lines.length === this._terminal.lines.maxLength) { + this._terminal.lines.trimStart(1); + this._terminal.ybase -= 1; + this._terminal.ydisp -= 1; + } + this._terminal.lines.splice(j + 1, 0, this._terminal.blankLine(true)); + this._terminal.lines.splice(row, 1); + } + this._terminal.updateRange(this._terminal.y); + this._terminal.updateRange(this._terminal.scrollBottom); + }; + InputHandler.prototype.deleteChars = function (params) { + var param, row, ch; + param = params[0]; + if (param < 1) { + param = 1; + } + row = this._terminal.y + this._terminal.ybase; + ch = [this._terminal.eraseAttr(), ' ', 1]; + while (param--) { + this._terminal.lines.get(row).splice(this._terminal.x, 1); + this._terminal.lines.get(row).push(ch); + } + }; + InputHandler.prototype.scrollUp = function (params) { + var param = params[0] || 1; + while (param--) { + this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 1); + this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 0, this._terminal.blankLine()); + } + this._terminal.updateRange(this._terminal.scrollTop); + this._terminal.updateRange(this._terminal.scrollBottom); + }; + InputHandler.prototype.scrollDown = function (params) { + var param = params[0] || 1; + while (param--) { + this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 1); + this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 0, this._terminal.blankLine()); + } + this._terminal.updateRange(this._terminal.scrollTop); + this._terminal.updateRange(this._terminal.scrollBottom); + }; + InputHandler.prototype.eraseChars = function (params) { + var param, row, j, ch; + param = params[0]; + if (param < 1) { + param = 1; + } + row = this._terminal.y + this._terminal.ybase; + j = this._terminal.x; + ch = [this._terminal.eraseAttr(), ' ', 1]; + while (param-- && j < this._terminal.cols) { + this._terminal.lines.get(row)[j++] = ch; + } + }; + InputHandler.prototype.cursorBackwardTab = function (params) { + var param = params[0] || 1; + while (param--) { + this._terminal.x = this._terminal.prevStop(); + } + }; + InputHandler.prototype.charPosAbsolute = function (params) { + var param = params[0]; + if (param < 1) { + param = 1; + } + this._terminal.x = param - 1; + if (this._terminal.x >= this._terminal.cols) { + this._terminal.x = this._terminal.cols - 1; + } + }; + InputHandler.prototype.HPositionRelative = function (params) { + var param = params[0]; + if (param < 1) { + param = 1; + } + this._terminal.x += param; + if (this._terminal.x >= this._terminal.cols) { + this._terminal.x = this._terminal.cols - 1; + } + }; + InputHandler.prototype.repeatPrecedingCharacter = function (params) { + var param = params[0] || 1, line = this._terminal.lines.get(this._terminal.ybase + this._terminal.y), ch = line[this._terminal.x - 1] || [this._terminal.defAttr, ' ', 1]; + while (param--) { + line[this._terminal.x++] = ch; + } + }; + InputHandler.prototype.sendDeviceAttributes = function (params) { + if (params[0] > 0) { + return; + } + if (!this._terminal.prefix) { + if (this._terminal.is('xterm') || this._terminal.is('rxvt-unicode') || this._terminal.is('screen')) { + this._terminal.send(EscapeSequences_1.C0.ESC + '[?1;2c'); + } + else if (this._terminal.is('linux')) { + this._terminal.send(EscapeSequences_1.C0.ESC + '[?6c'); + } + } + else if (this._terminal.prefix === '>') { + if (this._terminal.is('xterm')) { + this._terminal.send(EscapeSequences_1.C0.ESC + '[>0;276;0c'); + } + else if (this._terminal.is('rxvt-unicode')) { + this._terminal.send(EscapeSequences_1.C0.ESC + '[>85;95;0c'); + } + else if (this._terminal.is('linux')) { + this._terminal.send(params[0] + 'c'); + } + else if (this._terminal.is('screen')) { + this._terminal.send(EscapeSequences_1.C0.ESC + '[>83;40003;0c'); + } + } + }; + InputHandler.prototype.linePosAbsolute = function (params) { + var param = params[0]; + if (param < 1) { + param = 1; + } + this._terminal.y = param - 1; + if (this._terminal.y >= this._terminal.rows) { + this._terminal.y = this._terminal.rows - 1; + } + }; + InputHandler.prototype.VPositionRelative = function (params) { + var param = params[0]; + if (param < 1) { + param = 1; + } + this._terminal.y += param; + if (this._terminal.y >= this._terminal.rows) { + this._terminal.y = this._terminal.rows - 1; + } + if (this._terminal.x >= this._terminal.cols) { + this._terminal.x--; + } + }; + InputHandler.prototype.HVPosition = function (params) { + if (params[0] < 1) + params[0] = 1; + if (params[1] < 1) + params[1] = 1; + this._terminal.y = params[0] - 1; + if (this._terminal.y >= this._terminal.rows) { + this._terminal.y = this._terminal.rows - 1; + } + this._terminal.x = params[1] - 1; + if (this._terminal.x >= this._terminal.cols) { + this._terminal.x = this._terminal.cols - 1; + } + }; + InputHandler.prototype.tabClear = function (params) { + var param = params[0]; + if (param <= 0) { + delete this._terminal.tabs[this._terminal.x]; + } + else if (param === 3) { + this._terminal.tabs = {}; + } + }; + InputHandler.prototype.setMode = function (params) { + if (params.length > 1) { + for (var i = 0; i < params.length; i++) { + this.setMode([params[i]]); + } + return; + } + if (!this._terminal.prefix) { + switch (params[0]) { + case 4: + this._terminal.insertMode = true; + break; + case 20: + break; + } + } + else if (this._terminal.prefix === '?') { + switch (params[0]) { + case 1: + this._terminal.applicationCursor = true; + break; + case 2: + this._terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET); + this._terminal.setgCharset(1, Charsets_1.DEFAULT_CHARSET); + this._terminal.setgCharset(2, Charsets_1.DEFAULT_CHARSET); + this._terminal.setgCharset(3, Charsets_1.DEFAULT_CHARSET); + break; + case 3: + this._terminal.savedCols = this._terminal.cols; + this._terminal.resize(132, this._terminal.rows); + break; + case 6: + this._terminal.originMode = true; + break; + case 7: + this._terminal.wraparoundMode = true; + break; + case 12: + break; + case 66: + this._terminal.log('Serial port requested application keypad.'); + this._terminal.applicationKeypad = true; + this._terminal.viewport.syncScrollArea(); + break; + case 9: + case 1000: + case 1002: + case 1003: + this._terminal.x10Mouse = params[0] === 9; + this._terminal.vt200Mouse = params[0] === 1000; + this._terminal.normalMouse = params[0] > 1000; + this._terminal.mouseEvents = true; + this._terminal.element.classList.add('enable-mouse-events'); + this._terminal.selectionManager.disable(); + this._terminal.log('Binding to mouse events.'); + break; + case 1004: + this._terminal.sendFocus = true; + break; + case 1005: + this._terminal.utfMouse = true; + break; + case 1006: + this._terminal.sgrMouse = true; + break; + case 1015: + this._terminal.urxvtMouse = true; + break; + case 25: + this._terminal.cursorHidden = false; + break; + case 1049: + ; + case 47: + case 1047: + if (!this._terminal.normal) { + var normal = { + lines: this._terminal.lines, + ybase: this._terminal.ybase, + ydisp: this._terminal.ydisp, + x: this._terminal.x, + y: this._terminal.y, + scrollTop: this._terminal.scrollTop, + scrollBottom: this._terminal.scrollBottom, + tabs: this._terminal.tabs + }; + this._terminal.reset(); + this._terminal.viewport.syncScrollArea(); + this._terminal.normal = normal; + this._terminal.showCursor(); + } + break; + } + } + }; + InputHandler.prototype.resetMode = function (params) { + if (params.length > 1) { + for (var i = 0; i < params.length; i++) { + this.resetMode([params[i]]); + } + return; + } + if (!this._terminal.prefix) { + switch (params[0]) { + case 4: + this._terminal.insertMode = false; + break; + case 20: + break; + } + } + else if (this._terminal.prefix === '?') { + switch (params[0]) { + case 1: + this._terminal.applicationCursor = false; + break; + case 3: + if (this._terminal.cols === 132 && this._terminal.savedCols) { + this._terminal.resize(this._terminal.savedCols, this._terminal.rows); + } + delete this._terminal.savedCols; + break; + case 6: + this._terminal.originMode = false; + break; + case 7: + this._terminal.wraparoundMode = false; + break; + case 12: + break; + case 66: + this._terminal.log('Switching back to normal keypad.'); + this._terminal.applicationKeypad = false; + this._terminal.viewport.syncScrollArea(); + break; + case 9: + case 1000: + case 1002: + case 1003: + this._terminal.x10Mouse = false; + this._terminal.vt200Mouse = false; + this._terminal.normalMouse = false; + this._terminal.mouseEvents = false; + this._terminal.element.classList.remove('enable-mouse-events'); + this._terminal.selectionManager.enable(); + break; + case 1004: + this._terminal.sendFocus = false; + break; + case 1005: + this._terminal.utfMouse = false; + break; + case 1006: + this._terminal.sgrMouse = false; + break; + case 1015: + this._terminal.urxvtMouse = false; + break; + case 25: + this._terminal.cursorHidden = true; + break; + case 1049: + ; + case 47: + case 1047: + if (this._terminal.normal) { + this._terminal.lines = this._terminal.normal.lines; + this._terminal.ybase = this._terminal.normal.ybase; + this._terminal.ydisp = this._terminal.normal.ydisp; + this._terminal.x = this._terminal.normal.x; + this._terminal.y = this._terminal.normal.y; + this._terminal.scrollTop = this._terminal.normal.scrollTop; + this._terminal.scrollBottom = this._terminal.normal.scrollBottom; + this._terminal.tabs = this._terminal.normal.tabs; + this._terminal.normal = null; + this._terminal.selectionManager.setBuffer(this._terminal.lines); + this._terminal.refresh(0, this._terminal.rows - 1); + this._terminal.viewport.syncScrollArea(); + this._terminal.showCursor(); + } + break; + } + } + }; + InputHandler.prototype.charAttributes = function (params) { + if (params.length === 1 && params[0] === 0) { + this._terminal.curAttr = this._terminal.defAttr; + return; + } + var l = params.length, i = 0, flags = this._terminal.curAttr >> 18, fg = (this._terminal.curAttr >> 9) & 0x1ff, bg = this._terminal.curAttr & 0x1ff, p; + for (; i < l; i++) { + p = params[i]; + if (p >= 30 && p <= 37) { + fg = p - 30; + } + else if (p >= 40 && p <= 47) { + bg = p - 40; + } + else if (p >= 90 && p <= 97) { + p += 8; + fg = p - 90; + } + else if (p >= 100 && p <= 107) { + p += 8; + bg = p - 100; + } + else if (p === 0) { + flags = this._terminal.defAttr >> 18; + fg = (this._terminal.defAttr >> 9) & 0x1ff; + bg = this._terminal.defAttr & 0x1ff; + } + else if (p === 1) { + flags |= 1; + } + else if (p === 4) { + flags |= 2; + } + else if (p === 5) { + flags |= 4; + } + else if (p === 7) { + flags |= 8; + } + else if (p === 8) { + flags |= 16; + } + else if (p === 22) { + flags &= ~1; + } + else if (p === 24) { + flags &= ~2; + } + else if (p === 25) { + flags &= ~4; + } + else if (p === 27) { + flags &= ~8; + } + else if (p === 28) { + flags &= ~16; + } + else if (p === 39) { + fg = (this._terminal.defAttr >> 9) & 0x1ff; + } + else if (p === 49) { + bg = this._terminal.defAttr & 0x1ff; + } + else if (p === 38) { + if (params[i + 1] === 2) { + i += 2; + fg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff); + if (fg === -1) + fg = 0x1ff; + i += 2; + } + else if (params[i + 1] === 5) { + i += 2; + p = params[i] & 0xff; + fg = p; + } + } + else if (p === 48) { + if (params[i + 1] === 2) { + i += 2; + bg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff); + if (bg === -1) + bg = 0x1ff; + i += 2; + } + else if (params[i + 1] === 5) { + i += 2; + p = params[i] & 0xff; + bg = p; + } + } + else if (p === 100) { + fg = (this._terminal.defAttr >> 9) & 0x1ff; + bg = this._terminal.defAttr & 0x1ff; + } + else { + this._terminal.error('Unknown SGR attribute: %d.', p); + } + } + this._terminal.curAttr = (flags << 18) | (fg << 9) | bg; + }; + InputHandler.prototype.deviceStatus = function (params) { + if (!this._terminal.prefix) { + switch (params[0]) { + case 5: + this._terminal.send(EscapeSequences_1.C0.ESC + '[0n'); + break; + case 6: + this._terminal.send(EscapeSequences_1.C0.ESC + '[' + + (this._terminal.y + 1) + + ';' + + (this._terminal.x + 1) + + 'R'); + break; + } + } + else if (this._terminal.prefix === '?') { + switch (params[0]) { + case 6: + this._terminal.send(EscapeSequences_1.C0.ESC + '[?' + + (this._terminal.y + 1) + + ';' + + (this._terminal.x + 1) + + 'R'); + break; + case 15: + break; + case 25: + break; + case 26: + break; + case 53: + break; + } + } + }; + InputHandler.prototype.softReset = function (params) { + this._terminal.cursorHidden = false; + this._terminal.insertMode = false; + this._terminal.originMode = false; + this._terminal.wraparoundMode = true; + this._terminal.applicationKeypad = false; + this._terminal.viewport.syncScrollArea(); + this._terminal.applicationCursor = false; + this._terminal.scrollTop = 0; + this._terminal.scrollBottom = this._terminal.rows - 1; + this._terminal.curAttr = this._terminal.defAttr; + this._terminal.x = this._terminal.y = 0; + this._terminal.charset = null; + this._terminal.glevel = 0; + this._terminal.charsets = [null]; + }; + InputHandler.prototype.setCursorStyle = function (params) { + var param = params[0] < 1 ? 1 : params[0]; + switch (param) { + case 1: + case 2: + this._terminal.setOption('cursorStyle', 'block'); + break; + case 3: + case 4: + this._terminal.setOption('cursorStyle', 'underline'); + break; + case 5: + case 6: + this._terminal.setOption('cursorStyle', 'bar'); + break; + } + var isBlinking = param % 2 === 1; + this._terminal.setOption('cursorBlink', isBlinking); + }; + InputHandler.prototype.setScrollRegion = function (params) { + if (this._terminal.prefix) + return; + this._terminal.scrollTop = (params[0] || 1) - 1; + this._terminal.scrollBottom = (params[1] && params[1] <= this._terminal.rows ? params[1] : this._terminal.rows) - 1; + this._terminal.x = 0; + this._terminal.y = 0; + }; + InputHandler.prototype.saveCursor = function (params) { + this._terminal.savedX = this._terminal.x; + this._terminal.savedY = this._terminal.y; + }; + InputHandler.prototype.restoreCursor = function (params) { + this._terminal.x = this._terminal.savedX || 0; + this._terminal.y = this._terminal.savedY || 0; + }; + return InputHandler; +}()); +exports.InputHandler = InputHandler; +var wcwidth = (function (opts) { + var COMBINING = [ + [0x0300, 0x036F], [0x0483, 0x0486], [0x0488, 0x0489], + [0x0591, 0x05BD], [0x05BF, 0x05BF], [0x05C1, 0x05C2], + [0x05C4, 0x05C5], [0x05C7, 0x05C7], [0x0600, 0x0603], + [0x0610, 0x0615], [0x064B, 0x065E], [0x0670, 0x0670], + [0x06D6, 0x06E4], [0x06E7, 0x06E8], [0x06EA, 0x06ED], + [0x070F, 0x070F], [0x0711, 0x0711], [0x0730, 0x074A], + [0x07A6, 0x07B0], [0x07EB, 0x07F3], [0x0901, 0x0902], + [0x093C, 0x093C], [0x0941, 0x0948], [0x094D, 0x094D], + [0x0951, 0x0954], [0x0962, 0x0963], [0x0981, 0x0981], + [0x09BC, 0x09BC], [0x09C1, 0x09C4], [0x09CD, 0x09CD], + [0x09E2, 0x09E3], [0x0A01, 0x0A02], [0x0A3C, 0x0A3C], + [0x0A41, 0x0A42], [0x0A47, 0x0A48], [0x0A4B, 0x0A4D], + [0x0A70, 0x0A71], [0x0A81, 0x0A82], [0x0ABC, 0x0ABC], + [0x0AC1, 0x0AC5], [0x0AC7, 0x0AC8], [0x0ACD, 0x0ACD], + [0x0AE2, 0x0AE3], [0x0B01, 0x0B01], [0x0B3C, 0x0B3C], + [0x0B3F, 0x0B3F], [0x0B41, 0x0B43], [0x0B4D, 0x0B4D], + [0x0B56, 0x0B56], [0x0B82, 0x0B82], [0x0BC0, 0x0BC0], + [0x0BCD, 0x0BCD], [0x0C3E, 0x0C40], [0x0C46, 0x0C48], + [0x0C4A, 0x0C4D], [0x0C55, 0x0C56], [0x0CBC, 0x0CBC], + [0x0CBF, 0x0CBF], [0x0CC6, 0x0CC6], [0x0CCC, 0x0CCD], + [0x0CE2, 0x0CE3], [0x0D41, 0x0D43], [0x0D4D, 0x0D4D], + [0x0DCA, 0x0DCA], [0x0DD2, 0x0DD4], [0x0DD6, 0x0DD6], + [0x0E31, 0x0E31], [0x0E34, 0x0E3A], [0x0E47, 0x0E4E], + [0x0EB1, 0x0EB1], [0x0EB4, 0x0EB9], [0x0EBB, 0x0EBC], + [0x0EC8, 0x0ECD], [0x0F18, 0x0F19], [0x0F35, 0x0F35], + [0x0F37, 0x0F37], [0x0F39, 0x0F39], [0x0F71, 0x0F7E], + [0x0F80, 0x0F84], [0x0F86, 0x0F87], [0x0F90, 0x0F97], + [0x0F99, 0x0FBC], [0x0FC6, 0x0FC6], [0x102D, 0x1030], + [0x1032, 0x1032], [0x1036, 0x1037], [0x1039, 0x1039], + [0x1058, 0x1059], [0x1160, 0x11FF], [0x135F, 0x135F], + [0x1712, 0x1714], [0x1732, 0x1734], [0x1752, 0x1753], + [0x1772, 0x1773], [0x17B4, 0x17B5], [0x17B7, 0x17BD], + [0x17C6, 0x17C6], [0x17C9, 0x17D3], [0x17DD, 0x17DD], + [0x180B, 0x180D], [0x18A9, 0x18A9], [0x1920, 0x1922], + [0x1927, 0x1928], [0x1932, 0x1932], [0x1939, 0x193B], + [0x1A17, 0x1A18], [0x1B00, 0x1B03], [0x1B34, 0x1B34], + [0x1B36, 0x1B3A], [0x1B3C, 0x1B3C], [0x1B42, 0x1B42], + [0x1B6B, 0x1B73], [0x1DC0, 0x1DCA], [0x1DFE, 0x1DFF], + [0x200B, 0x200F], [0x202A, 0x202E], [0x2060, 0x2063], + [0x206A, 0x206F], [0x20D0, 0x20EF], [0x302A, 0x302F], + [0x3099, 0x309A], [0xA806, 0xA806], [0xA80B, 0xA80B], + [0xA825, 0xA826], [0xFB1E, 0xFB1E], [0xFE00, 0xFE0F], + [0xFE20, 0xFE23], [0xFEFF, 0xFEFF], [0xFFF9, 0xFFFB], + [0x10A01, 0x10A03], [0x10A05, 0x10A06], [0x10A0C, 0x10A0F], + [0x10A38, 0x10A3A], [0x10A3F, 0x10A3F], [0x1D167, 0x1D169], + [0x1D173, 0x1D182], [0x1D185, 0x1D18B], [0x1D1AA, 0x1D1AD], + [0x1D242, 0x1D244], [0xE0001, 0xE0001], [0xE0020, 0xE007F], + [0xE0100, 0xE01EF] + ]; + function bisearch(ucs) { + var min = 0; + var max = COMBINING.length - 1; + var mid; + if (ucs < COMBINING[0][0] || ucs > COMBINING[max][1]) + return false; + while (max >= min) { + mid = Math.floor((min + max) / 2); + if (ucs > COMBINING[mid][1]) + min = mid + 1; + else if (ucs < COMBINING[mid][0]) + max = mid - 1; + else + return true; + } + return false; + } + function wcwidth(ucs) { + if (ucs === 0) + return opts.nul; + if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0)) + return opts.control; + if (bisearch(ucs)) + return 0; + if (isWide(ucs)) { + return 2; + } + return 1; + } + function isWide(ucs) { + return (ucs >= 0x1100 && (ucs <= 0x115f || + ucs === 0x2329 || + ucs === 0x232a || + (ucs >= 0x2e80 && ucs <= 0xa4cf && ucs !== 0x303f) || + (ucs >= 0xac00 && ucs <= 0xd7a3) || + (ucs >= 0xf900 && ucs <= 0xfaff) || + (ucs >= 0xfe10 && ucs <= 0xfe19) || + (ucs >= 0xfe30 && ucs <= 0xfe6f) || + (ucs >= 0xff00 && ucs <= 0xff60) || + (ucs >= 0xffe0 && ucs <= 0xffe6) || + (ucs >= 0x20000 && ucs <= 0x2fffd) || + (ucs >= 0x30000 && ucs <= 0x3fffd))); + } + return wcwidth; +})({ nul: 0, control: 0 }); + +//# sourceMappingURL=InputHandler.js.map + + +/***/ }), +/* 17 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var INVALID_LINK_CLASS = 'xterm-invalid-link'; +var protocolClause = '(https?:\\/\\/)'; +var domainCharacterSet = '[\\da-z\\.-]+'; +var negatedDomainCharacterSet = '[^\\da-z\\.-]+'; +var domainBodyClause = '(' + domainCharacterSet + ')'; +var tldClause = '([a-z\\.]{2,6})'; +var ipClause = '((\\d{1,3}\\.){3}\\d{1,3})'; +var localHostClause = '(localhost)'; +var portClause = '(:\\d{1,5})'; +var hostClause = '((' + domainBodyClause + '\\.' + tldClause + ')|' + ipClause + '|' + localHostClause + ')' + portClause + '?'; +var pathClause = '(\\/[\\/\\w\\.\\-%~]*)*'; +var queryStringHashFragmentCharacterSet = '[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&\'*+,:;~\\=\\.\\-]*'; +var queryStringClause = '(\\?' + queryStringHashFragmentCharacterSet + ')?'; +var hashFragmentClause = '(#' + queryStringHashFragmentCharacterSet + ')?'; +var negatedPathCharacterSet = '[^\\/\\w\\.\\-%]+'; +var bodyClause = hostClause + pathClause + queryStringClause + hashFragmentClause; +var start = '(?:^|' + negatedDomainCharacterSet + ')('; +var end = ')($|' + negatedPathCharacterSet + ')'; +var strictUrlRegex = new RegExp(start + protocolClause + bodyClause + end); +var HYPERTEXT_LINK_MATCHER_ID = 0; +var Linkifier = (function () { + function Linkifier() { + this._nextLinkMatcherId = HYPERTEXT_LINK_MATCHER_ID; + this._rowTimeoutIds = []; + this._linkMatchers = []; + this.registerLinkMatcher(strictUrlRegex, null, { matchIndex: 1 }); + } + Linkifier.prototype.attachToDom = function (document, rows) { + this._document = document; + this._rows = rows; + }; + Linkifier.prototype.linkifyRow = function (rowIndex) { + if (!this._document) { + return; + } + var timeoutId = this._rowTimeoutIds[rowIndex]; + if (timeoutId) { + clearTimeout(timeoutId); + } + this._rowTimeoutIds[rowIndex] = setTimeout(this._linkifyRow.bind(this, rowIndex), Linkifier.TIME_BEFORE_LINKIFY); + }; + Linkifier.prototype.setHypertextLinkHandler = function (handler) { + this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].handler = handler; + }; + Linkifier.prototype.setHypertextValidationCallback = function (callback) { + this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].validationCallback = callback; + }; + Linkifier.prototype.registerLinkMatcher = function (regex, handler, options) { + if (options === void 0) { options = {}; } + if (this._nextLinkMatcherId !== HYPERTEXT_LINK_MATCHER_ID && !handler) { + throw new Error('handler must be defined'); + } + var matcher = { + id: this._nextLinkMatcherId++, + regex: regex, + handler: handler, + matchIndex: options.matchIndex, + validationCallback: options.validationCallback, + priority: options.priority || 0 + }; + this._addLinkMatcherToList(matcher); + return matcher.id; + }; + Linkifier.prototype._addLinkMatcherToList = function (matcher) { + if (this._linkMatchers.length === 0) { + this._linkMatchers.push(matcher); + return; + } + for (var i = this._linkMatchers.length - 1; i >= 0; i--) { + if (matcher.priority <= this._linkMatchers[i].priority) { + this._linkMatchers.splice(i + 1, 0, matcher); + return; + } + } + this._linkMatchers.splice(0, 0, matcher); + }; + Linkifier.prototype.deregisterLinkMatcher = function (matcherId) { + for (var i = 1; i < this._linkMatchers.length; i++) { + if (this._linkMatchers[i].id === matcherId) { + this._linkMatchers.splice(i, 1); + return true; + } + } + return false; + }; + Linkifier.prototype._linkifyRow = function (rowIndex) { + var row = this._rows[rowIndex]; + if (!row) { + return; + } + var text = row.textContent; + for (var i = 0; i < this._linkMatchers.length; i++) { + var matcher = this._linkMatchers[i]; + var linkElements = this._doLinkifyRow(row, matcher); + if (linkElements.length > 0) { + if (matcher.validationCallback) { + var _loop_1 = function (j) { + var element = linkElements[j]; + matcher.validationCallback(element.textContent, element, function (isValid) { + if (!isValid) { + element.classList.add(INVALID_LINK_CLASS); + } + }); + }; + for (var j = 0; j < linkElements.length; j++) { + _loop_1(j); + } + } + return; + } + } + }; + Linkifier.prototype._doLinkifyRow = function (row, matcher) { + var result = []; + var isHttpLinkMatcher = matcher.id === HYPERTEXT_LINK_MATCHER_ID; + var nodes = row.childNodes; + var match = row.textContent.match(matcher.regex); + if (!match || match.length === 0) { + return result; + } + var uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex]; + var rowStartIndex = match.index + uri.length; + for (var i = 0; i < nodes.length; i++) { + var node = nodes[i]; + var searchIndex = node.textContent.indexOf(uri); + if (searchIndex >= 0) { + var linkElement = this._createAnchorElement(uri, matcher.handler, isHttpLinkMatcher); + if (node.textContent.length === uri.length) { + if (node.nodeType === 3) { + this._replaceNode(node, linkElement); + } + else { + var element = node; + if (element.nodeName === 'A') { + return result; + } + element.innerHTML = ''; + element.appendChild(linkElement); + } + } + else if (node.childNodes.length > 1) { + for (var j = 0; j < node.childNodes.length; j++) { + var childNode = node.childNodes[j]; + var childSearchIndex = childNode.textContent.indexOf(uri); + if (childSearchIndex !== -1) { + this._replaceNodeSubstringWithNode(childNode, linkElement, uri, childSearchIndex); + break; + } + } + } + else { + var nodesAdded = this._replaceNodeSubstringWithNode(node, linkElement, uri, searchIndex); + i += nodesAdded; + } + result.push(linkElement); + match = row.textContent.substring(rowStartIndex).match(matcher.regex); + if (!match || match.length === 0) { + return result; + } + uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex]; + rowStartIndex += match.index + uri.length; + } + } + return result; + }; + Linkifier.prototype._createAnchorElement = function (uri, handler, isHypertextLinkHandler) { + var element = this._document.createElement('a'); + element.textContent = uri; + element.draggable = false; + if (isHypertextLinkHandler) { + element.href = uri; + element.target = '_blank'; + element.addEventListener('click', function (event) { + if (handler) { + return handler(event, uri); + } + }); + } + else { + element.addEventListener('click', function (event) { + if (element.classList.contains(INVALID_LINK_CLASS)) { + return; + } + return handler(event, uri); + }); + } + return element; + }; + Linkifier.prototype._replaceNode = function (oldNode) { + var newNodes = []; + for (var _i = 1; _i < arguments.length; _i++) { + newNodes[_i - 1] = arguments[_i]; + } + var parent = oldNode.parentNode; + for (var i = 0; i < newNodes.length; i++) { + parent.insertBefore(newNodes[i], oldNode); + } + parent.removeChild(oldNode); + }; + Linkifier.prototype._replaceNodeSubstringWithNode = function (targetNode, newNode, substring, substringIndex) { + if (targetNode.childNodes.length === 1) { + targetNode = targetNode.childNodes[0]; + } + if (targetNode.nodeType !== 3) { + throw new Error('targetNode must be a text node or only contain a single text node'); + } + var fullText = targetNode.textContent; + if (substringIndex === 0) { + var rightText_1 = fullText.substring(substring.length); + var rightTextNode_1 = this._document.createTextNode(rightText_1); + this._replaceNode(targetNode, newNode, rightTextNode_1); + return 0; + } + if (substringIndex === targetNode.textContent.length - substring.length) { + var leftText_1 = fullText.substring(0, substringIndex); + var leftTextNode_1 = this._document.createTextNode(leftText_1); + this._replaceNode(targetNode, leftTextNode_1, newNode); + return 0; + } + var leftText = fullText.substring(0, substringIndex); + var leftTextNode = this._document.createTextNode(leftText); + var rightText = fullText.substring(substringIndex + substring.length); + var rightTextNode = this._document.createTextNode(rightText); + this._replaceNode(targetNode, leftTextNode, newNode, rightTextNode); + return 1; + }; + return Linkifier; +}()); +Linkifier.TIME_BEFORE_LINKIFY = 200; +exports.Linkifier = Linkifier; + +//# sourceMappingURL=Linkifier.js.map + + +/***/ }), +/* 18 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var EscapeSequences_1 = __webpack_require__(2); +var Charsets_1 = __webpack_require__(3); +var normalStateHandler = {}; +normalStateHandler[EscapeSequences_1.C0.BEL] = function (parser, handler) { return handler.bell(); }; +normalStateHandler[EscapeSequences_1.C0.LF] = function (parser, handler) { return handler.lineFeed(); }; +normalStateHandler[EscapeSequences_1.C0.VT] = normalStateHandler[EscapeSequences_1.C0.LF]; +normalStateHandler[EscapeSequences_1.C0.FF] = normalStateHandler[EscapeSequences_1.C0.LF]; +normalStateHandler[EscapeSequences_1.C0.CR] = function (parser, handler) { return handler.carriageReturn(); }; +normalStateHandler[EscapeSequences_1.C0.BS] = function (parser, handler) { return handler.backspace(); }; +normalStateHandler[EscapeSequences_1.C0.HT] = function (parser, handler) { return handler.tab(); }; +normalStateHandler[EscapeSequences_1.C0.SO] = function (parser, handler) { return handler.shiftOut(); }; +normalStateHandler[EscapeSequences_1.C0.SI] = function (parser, handler) { return handler.shiftIn(); }; +normalStateHandler[EscapeSequences_1.C0.ESC] = function (parser, handler) { return parser.setState(ParserState.ESCAPED); }; +var escapedStateHandler = {}; +escapedStateHandler['['] = function (parser, terminal) { + terminal.params = []; + terminal.currentParam = 0; + parser.setState(ParserState.CSI_PARAM); +}; +escapedStateHandler[']'] = function (parser, terminal) { + terminal.params = []; + terminal.currentParam = 0; + parser.setState(ParserState.OSC); +}; +escapedStateHandler['P'] = function (parser, terminal) { + terminal.params = []; + terminal.currentParam = 0; + parser.setState(ParserState.DCS); +}; +escapedStateHandler['_'] = function (parser, terminal) { + parser.setState(ParserState.IGNORE); +}; +escapedStateHandler['^'] = function (parser, terminal) { + parser.setState(ParserState.IGNORE); +}; +escapedStateHandler['c'] = function (parser, terminal) { + terminal.reset(); +}; +escapedStateHandler['E'] = function (parser, terminal) { + terminal.x = 0; + terminal.index(); + parser.setState(ParserState.NORMAL); +}; +escapedStateHandler['D'] = function (parser, terminal) { + terminal.index(); + parser.setState(ParserState.NORMAL); +}; +escapedStateHandler['M'] = function (parser, terminal) { + terminal.reverseIndex(); + parser.setState(ParserState.NORMAL); +}; +escapedStateHandler['%'] = function (parser, terminal) { + terminal.setgLevel(0); + terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET); + parser.setState(ParserState.NORMAL); + parser.skipNextChar(); +}; +escapedStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); }; +var csiParamStateHandler = {}; +csiParamStateHandler['?'] = function (parser) { return parser.setPrefix('?'); }; +csiParamStateHandler['>'] = function (parser) { return parser.setPrefix('>'); }; +csiParamStateHandler['!'] = function (parser) { return parser.setPrefix('!'); }; +csiParamStateHandler['0'] = function (parser) { return parser.setParam(parser.getParam() * 10); }; +csiParamStateHandler['1'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 1); }; +csiParamStateHandler['2'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 2); }; +csiParamStateHandler['3'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 3); }; +csiParamStateHandler['4'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 4); }; +csiParamStateHandler['5'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 5); }; +csiParamStateHandler['6'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 6); }; +csiParamStateHandler['7'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 7); }; +csiParamStateHandler['8'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 8); }; +csiParamStateHandler['9'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 9); }; +csiParamStateHandler['$'] = function (parser) { return parser.setPostfix('$'); }; +csiParamStateHandler['"'] = function (parser) { return parser.setPostfix('"'); }; +csiParamStateHandler[' '] = function (parser) { return parser.setPostfix(' '); }; +csiParamStateHandler['\''] = function (parser) { return parser.setPostfix('\''); }; +csiParamStateHandler[';'] = function (parser) { return parser.finalizeParam(); }; +csiParamStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); }; +var csiStateHandler = {}; +csiStateHandler['@'] = function (handler, params, prefix) { return handler.insertChars(params); }; +csiStateHandler['A'] = function (handler, params, prefix) { return handler.cursorUp(params); }; +csiStateHandler['B'] = function (handler, params, prefix) { return handler.cursorDown(params); }; +csiStateHandler['C'] = function (handler, params, prefix) { return handler.cursorForward(params); }; +csiStateHandler['D'] = function (handler, params, prefix) { return handler.cursorBackward(params); }; +csiStateHandler['E'] = function (handler, params, prefix) { return handler.cursorNextLine(params); }; +csiStateHandler['F'] = function (handler, params, prefix) { return handler.cursorPrecedingLine(params); }; +csiStateHandler['G'] = function (handler, params, prefix) { return handler.cursorCharAbsolute(params); }; +csiStateHandler['H'] = function (handler, params, prefix) { return handler.cursorPosition(params); }; +csiStateHandler['I'] = function (handler, params, prefix) { return handler.cursorForwardTab(params); }; +csiStateHandler['J'] = function (handler, params, prefix) { return handler.eraseInDisplay(params); }; +csiStateHandler['K'] = function (handler, params, prefix) { return handler.eraseInLine(params); }; +csiStateHandler['L'] = function (handler, params, prefix) { return handler.insertLines(params); }; +csiStateHandler['M'] = function (handler, params, prefix) { return handler.deleteLines(params); }; +csiStateHandler['P'] = function (handler, params, prefix) { return handler.deleteChars(params); }; +csiStateHandler['S'] = function (handler, params, prefix) { return handler.scrollUp(params); }; +csiStateHandler['T'] = function (handler, params, prefix) { + if (params.length < 2 && !prefix) { + handler.scrollDown(params); + } +}; +csiStateHandler['X'] = function (handler, params, prefix) { return handler.eraseChars(params); }; +csiStateHandler['Z'] = function (handler, params, prefix) { return handler.cursorBackwardTab(params); }; +csiStateHandler['`'] = function (handler, params, prefix) { return handler.charPosAbsolute(params); }; +csiStateHandler['a'] = function (handler, params, prefix) { return handler.HPositionRelative(params); }; +csiStateHandler['b'] = function (handler, params, prefix) { return handler.repeatPrecedingCharacter(params); }; +csiStateHandler['c'] = function (handler, params, prefix) { return handler.sendDeviceAttributes(params); }; +csiStateHandler['d'] = function (handler, params, prefix) { return handler.linePosAbsolute(params); }; +csiStateHandler['e'] = function (handler, params, prefix) { return handler.VPositionRelative(params); }; +csiStateHandler['f'] = function (handler, params, prefix) { return handler.HVPosition(params); }; +csiStateHandler['g'] = function (handler, params, prefix) { return handler.tabClear(params); }; +csiStateHandler['h'] = function (handler, params, prefix) { return handler.setMode(params); }; +csiStateHandler['l'] = function (handler, params, prefix) { return handler.resetMode(params); }; +csiStateHandler['m'] = function (handler, params, prefix) { return handler.charAttributes(params); }; +csiStateHandler['n'] = function (handler, params, prefix) { return handler.deviceStatus(params); }; +csiStateHandler['p'] = function (handler, params, prefix) { + switch (prefix) { + case '!': + handler.softReset(params); + break; + } +}; +csiStateHandler['q'] = function (handler, params, prefix, postfix) { + if (postfix === ' ') { + handler.setCursorStyle(params); + } +}; +csiStateHandler['r'] = function (handler, params) { return handler.setScrollRegion(params); }; +csiStateHandler['s'] = function (handler, params) { return handler.saveCursor(params); }; +csiStateHandler['u'] = function (handler, params) { return handler.restoreCursor(params); }; +csiStateHandler[EscapeSequences_1.C0.CAN] = function (handler, params, prefix, postfix, parser) { return parser.setState(ParserState.NORMAL); }; +var ParserState; +(function (ParserState) { + ParserState[ParserState["NORMAL"] = 0] = "NORMAL"; + ParserState[ParserState["ESCAPED"] = 1] = "ESCAPED"; + ParserState[ParserState["CSI_PARAM"] = 2] = "CSI_PARAM"; + ParserState[ParserState["CSI"] = 3] = "CSI"; + ParserState[ParserState["OSC"] = 4] = "OSC"; + ParserState[ParserState["CHARSET"] = 5] = "CHARSET"; + ParserState[ParserState["DCS"] = 6] = "DCS"; + ParserState[ParserState["IGNORE"] = 7] = "IGNORE"; +})(ParserState || (ParserState = {})); +var Parser = (function () { + function Parser(_inputHandler, _terminal) { + this._inputHandler = _inputHandler; + this._terminal = _terminal; + this._state = ParserState.NORMAL; + } + Parser.prototype.parse = function (data) { + var l = data.length, j, cs, ch, code, low; + this._position = 0; + if (this._terminal.surrogate_high) { + data = this._terminal.surrogate_high + data; + this._terminal.surrogate_high = ''; + } + for (; this._position < l; this._position++) { + ch = data[this._position]; + code = data.charCodeAt(this._position); + if (0xD800 <= code && code <= 0xDBFF) { + low = data.charCodeAt(this._position + 1); + if (isNaN(low)) { + this._terminal.surrogate_high = ch; + continue; + } + code = ((code - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000; + ch += data.charAt(this._position + 1); + } + if (0xDC00 <= code && code <= 0xDFFF) + continue; + switch (this._state) { + case ParserState.NORMAL: + if (ch in normalStateHandler) { + normalStateHandler[ch](this, this._inputHandler); + } + else { + this._inputHandler.addChar(ch, code); + } + break; + case ParserState.ESCAPED: + if (ch in escapedStateHandler) { + escapedStateHandler[ch](this, this._terminal); + break; + } + switch (ch) { + case '(': + case ')': + case '*': + case '+': + case '-': + case '.': + switch (ch) { + case '(': + this._terminal.gcharset = 0; + break; + case ')': + this._terminal.gcharset = 1; + break; + case '*': + this._terminal.gcharset = 2; + break; + case '+': + this._terminal.gcharset = 3; + break; + case '-': + this._terminal.gcharset = 1; + break; + case '.': + this._terminal.gcharset = 2; + break; + } + this._state = ParserState.CHARSET; + break; + case '/': + this._terminal.gcharset = 3; + this._state = ParserState.CHARSET; + this._position--; + break; + case 'N': + break; + case 'O': + break; + case 'n': + this._terminal.setgLevel(2); + break; + case 'o': + this._terminal.setgLevel(3); + break; + case '|': + this._terminal.setgLevel(3); + break; + case '}': + this._terminal.setgLevel(2); + break; + case '~': + this._terminal.setgLevel(1); + break; + case '7': + this._inputHandler.saveCursor(); + this._state = ParserState.NORMAL; + break; + case '8': + this._inputHandler.restoreCursor(); + this._state = ParserState.NORMAL; + break; + case '#': + this._state = ParserState.NORMAL; + this._position++; + break; + case 'H': + this._terminal.tabSet(); + this._state = ParserState.NORMAL; + break; + case '=': + this._terminal.log('Serial port requested application keypad.'); + this._terminal.applicationKeypad = true; + this._terminal.viewport.syncScrollArea(); + this._state = ParserState.NORMAL; + break; + case '>': + this._terminal.log('Switching back to normal keypad.'); + this._terminal.applicationKeypad = false; + this._terminal.viewport.syncScrollArea(); + this._state = ParserState.NORMAL; + break; + default: + this._state = ParserState.NORMAL; + this._terminal.error('Unknown ESC control: %s.', ch); + break; + } + break; + case ParserState.CHARSET: + if (ch in Charsets_1.CHARSETS) { + cs = Charsets_1.CHARSETS[ch]; + if (ch === '/') { + this.skipNextChar(); + } + } + else { + cs = Charsets_1.DEFAULT_CHARSET; + } + this._terminal.setgCharset(this._terminal.gcharset, cs); + this._terminal.gcharset = null; + this._state = ParserState.NORMAL; + break; + case ParserState.OSC: + if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) { + if (ch === EscapeSequences_1.C0.ESC) + this._position++; + this._terminal.params.push(this._terminal.currentParam); + switch (this._terminal.params[0]) { + case 0: + case 1: + case 2: + if (this._terminal.params[1]) { + this._terminal.title = this._terminal.params[1]; + this._terminal.handleTitle(this._terminal.title); + } + break; + case 3: + break; + case 4: + case 5: + break; + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + break; + case 46: + break; + case 50: + break; + case 51: + break; + case 52: + break; + case 104: + case 105: + case 110: + case 111: + case 112: + case 113: + case 114: + case 115: + case 116: + case 117: + case 118: + break; + } + this._terminal.params = []; + this._terminal.currentParam = 0; + this._state = ParserState.NORMAL; + } + else { + if (!this._terminal.params.length) { + if (ch >= '0' && ch <= '9') { + this._terminal.currentParam = + this._terminal.currentParam * 10 + ch.charCodeAt(0) - 48; + } + else if (ch === ';') { + this._terminal.params.push(this._terminal.currentParam); + this._terminal.currentParam = ''; + } + } + else { + this._terminal.currentParam += ch; + } + } + break; + case ParserState.CSI_PARAM: + if (ch in csiParamStateHandler) { + csiParamStateHandler[ch](this); + break; + } + this.finalizeParam(); + this._state = ParserState.CSI; + case ParserState.CSI: + if (ch in csiStateHandler) { + csiStateHandler[ch](this._inputHandler, this._terminal.params, this._terminal.prefix, this._terminal.postfix, this); + } + else { + this._terminal.error('Unknown CSI code: %s.', ch); + } + this._state = ParserState.NORMAL; + this._terminal.prefix = ''; + this._terminal.postfix = ''; + break; + case ParserState.DCS: + if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) { + if (ch === EscapeSequences_1.C0.ESC) + this._position++; + var pt = void 0; + var valid = void 0; + switch (this._terminal.prefix) { + case '': + break; + case '$q': + pt = this._terminal.currentParam; + valid = false; + switch (pt) { + case '"q': + pt = '0"q'; + break; + case '"p': + pt = '61"p'; + break; + case 'r': + pt = '' + + (this._terminal.scrollTop + 1) + + ';' + + (this._terminal.scrollBottom + 1) + + 'r'; + break; + case 'm': + pt = '0m'; + break; + default: + this._terminal.error('Unknown DCS Pt: %s.', pt); + pt = ''; + break; + } + this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '$r' + pt + EscapeSequences_1.C0.ESC + '\\'); + break; + case '+p': + break; + case '+q': + pt = this._terminal.currentParam; + valid = false; + this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '+r' + pt + EscapeSequences_1.C0.ESC + '\\'); + break; + default: + this._terminal.error('Unknown DCS prefix: %s.', this._terminal.prefix); + break; + } + this._terminal.currentParam = 0; + this._terminal.prefix = ''; + this._state = ParserState.NORMAL; + } + else if (!this._terminal.currentParam) { + if (!this._terminal.prefix && ch !== '$' && ch !== '+') { + this._terminal.currentParam = ch; + } + else if (this._terminal.prefix.length === 2) { + this._terminal.currentParam = ch; + } + else { + this._terminal.prefix += ch; + } + } + else { + this._terminal.currentParam += ch; + } + break; + case ParserState.IGNORE: + if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) { + if (ch === EscapeSequences_1.C0.ESC) + this._position++; + this._state = ParserState.NORMAL; + } + break; + } + } + return this._state; + }; + Parser.prototype.setState = function (state) { + this._state = state; + }; + Parser.prototype.setPrefix = function (prefix) { + this._terminal.prefix = prefix; + }; + Parser.prototype.setPostfix = function (postfix) { + this._terminal.postfix = postfix; + }; + Parser.prototype.setParam = function (param) { + this._terminal.currentParam = param; + }; + Parser.prototype.getParam = function () { + return this._terminal.currentParam; + }; + Parser.prototype.finalizeParam = function () { + this._terminal.params.push(this._terminal.currentParam); + this._terminal.currentParam = 0; + }; + Parser.prototype.skipNextChar = function () { + this._position++; + }; + return Parser; +}()); +exports.Parser = Parser; + +//# sourceMappingURL=Parser.js.map + + +/***/ }), +/* 19 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var DomElementObjectPool_1 = __webpack_require__(32); +var MAX_REFRESH_FRAME_SKIP = 5; +var FLAGS; +(function (FLAGS) { + FLAGS[FLAGS["BOLD"] = 1] = "BOLD"; + FLAGS[FLAGS["UNDERLINE"] = 2] = "UNDERLINE"; + FLAGS[FLAGS["BLINK"] = 4] = "BLINK"; + FLAGS[FLAGS["INVERSE"] = 8] = "INVERSE"; + FLAGS[FLAGS["INVISIBLE"] = 16] = "INVISIBLE"; +})(FLAGS || (FLAGS = {})); +; +var brokenBold = null; +var Renderer = (function () { + function Renderer(_terminal) { + this._terminal = _terminal; + this._refreshRowsQueue = []; + this._refreshFramesSkipped = 0; + this._refreshAnimationFrame = null; + this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span'); + if (brokenBold === null) { + brokenBold = checkBoldBroken(this._terminal.element); + } + this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span'); + } + Renderer.prototype.queueRefresh = function (start, end) { + this._refreshRowsQueue.push({ start: start, end: end }); + if (!this._refreshAnimationFrame) { + this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this)); + } + }; + Renderer.prototype._refreshLoop = function () { + var skipFrame = this._terminal.writeBuffer.length > 0 && this._refreshFramesSkipped++ <= MAX_REFRESH_FRAME_SKIP; + if (skipFrame) { + this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this)); + return; + } + this._refreshFramesSkipped = 0; + var start; + var end; + if (this._refreshRowsQueue.length > 4) { + start = 0; + end = this._terminal.rows - 1; + } + else { + start = this._refreshRowsQueue[0].start; + end = this._refreshRowsQueue[0].end; + for (var i = 1; i < this._refreshRowsQueue.length; i++) { + if (this._refreshRowsQueue[i].start < start) { + start = this._refreshRowsQueue[i].start; + } + if (this._refreshRowsQueue[i].end > end) { + end = this._refreshRowsQueue[i].end; + } + } + } + this._refreshRowsQueue = []; + this._refreshAnimationFrame = null; + this._refresh(start, end); + }; + Renderer.prototype._refresh = function (start, end) { + var parent; + if (end - start >= this._terminal.rows / 2) { + parent = this._terminal.element.parentNode; + if (parent) { + this._terminal.element.removeChild(this._terminal.rowContainer); + } + } + var width = this._terminal.cols; + var y = start; + if (end >= this._terminal.rows) { + this._terminal.log('`end` is too large. Most likely a bad CSR.'); + end = this._terminal.rows - 1; + } + for (; y <= end; y++) { + var row = y + this._terminal.ydisp; + var line = this._terminal.lines.get(row); + var x = void 0; + if (this._terminal.y === y - (this._terminal.ybase - this._terminal.ydisp) && + this._terminal.cursorState && + !this._terminal.cursorHidden) { + x = this._terminal.x; + } + else { + x = -1; + } + var attr = this._terminal.defAttr; + var documentFragment = document.createDocumentFragment(); + var innerHTML = ''; + var currentElement = void 0; + while (this._terminal.children[y].children.length) { + var child = this._terminal.children[y].children[0]; + this._terminal.children[y].removeChild(child); + this._spanElementObjectPool.release(child); + } + for (var i = 0; i < width; i++) { + var data = line[i][0]; + var ch = line[i][1]; + var ch_width = line[i][2]; + if (!ch_width) { + continue; + } + if (i === x) { + data = -1; + } + if (data !== attr) { + if (attr !== this._terminal.defAttr) { + if (innerHTML) { + currentElement.innerHTML = innerHTML; + innerHTML = ''; + } + documentFragment.appendChild(currentElement); + currentElement = null; + } + if (data !== this._terminal.defAttr) { + if (innerHTML && !currentElement) { + currentElement = this._spanElementObjectPool.acquire(); + } + if (currentElement) { + if (innerHTML) { + currentElement.innerHTML = innerHTML; + innerHTML = ''; + } + documentFragment.appendChild(currentElement); + } + currentElement = this._spanElementObjectPool.acquire(); + if (data === -1) { + currentElement.classList.add('reverse-video'); + currentElement.classList.add('terminal-cursor'); + } + else { + var bg = data & 0x1ff; + var fg = (data >> 9) & 0x1ff; + var flags = data >> 18; + if (flags & FLAGS.BOLD) { + if (!brokenBold) { + currentElement.classList.add('xterm-bold'); + } + if (fg < 8) { + fg += 8; + } + } + if (flags & FLAGS.UNDERLINE) { + currentElement.classList.add('xterm-underline'); + } + if (flags & FLAGS.BLINK) { + currentElement.classList.add('xterm-blink'); + } + if (flags & FLAGS.INVERSE) { + var temp = bg; + bg = fg; + fg = temp; + if ((flags & 1) && fg < 8) { + fg += 8; + } + } + if (flags & FLAGS.INVISIBLE) { + currentElement.classList.add('xterm-hidden'); + } + if (flags & FLAGS.INVERSE) { + if (bg === 257) { + bg = 15; + } + if (fg === 256) { + fg = 0; + } + } + if (bg < 256) { + currentElement.classList.add("xterm-bg-color-" + bg); + } + if (fg < 256) { + currentElement.classList.add("xterm-color-" + fg); + } + } + } + } + if (ch_width === 2) { + innerHTML += "" + ch + ""; + } + else if (ch.charCodeAt(0) > 255) { + innerHTML += "" + ch + ""; + } + else { + switch (ch) { + case '&': + innerHTML += '&'; + break; + case '<': + innerHTML += '<'; + break; + case '>': + innerHTML += '>'; + break; + default: + if (ch <= ' ') { + innerHTML += ' '; + } + else { + innerHTML += ch; + } + break; + } + } + attr = data; + } + if (innerHTML && !currentElement) { + currentElement = this._spanElementObjectPool.acquire(); + } + if (currentElement) { + if (innerHTML) { + currentElement.innerHTML = innerHTML; + innerHTML = ''; + } + documentFragment.appendChild(currentElement); + currentElement = null; + } + this._terminal.children[y].appendChild(documentFragment); + } + if (parent) { + this._terminal.element.appendChild(this._terminal.rowContainer); + } + this._terminal.emit('refresh', { element: this._terminal.element, start: start, end: end }); + }; + ; + Renderer.prototype.refreshSelection = function (start, end) { + while (this._terminal.selectionContainer.children.length) { + this._terminal.selectionContainer.removeChild(this._terminal.selectionContainer.children[0]); + } + if (!start || !end) { + return; + } + var viewportStartRow = start[1] - this._terminal.ydisp; + var viewportEndRow = end[1] - this._terminal.ydisp; + var viewportCappedStartRow = Math.max(viewportStartRow, 0); + var viewportCappedEndRow = Math.min(viewportEndRow, this._terminal.rows - 1); + if (viewportCappedStartRow >= this._terminal.rows || viewportCappedEndRow < 0) { + return; + } + var documentFragment = document.createDocumentFragment(); + var startCol = viewportStartRow === viewportCappedStartRow ? start[0] : 0; + var endCol = viewportCappedStartRow === viewportCappedEndRow ? end[0] : this._terminal.cols; + documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow, startCol, endCol)); + var middleRowsCount = viewportCappedEndRow - viewportCappedStartRow - 1; + documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow + 1, 0, this._terminal.cols, middleRowsCount)); + if (viewportCappedStartRow !== viewportCappedEndRow) { + var endCol_1 = viewportEndRow === viewportCappedEndRow ? end[0] : this._terminal.cols; + documentFragment.appendChild(this._createSelectionElement(viewportCappedEndRow, 0, endCol_1)); + } + this._terminal.selectionContainer.appendChild(documentFragment); + }; + Renderer.prototype._createSelectionElement = function (row, colStart, colEnd, rowCount) { + if (rowCount === void 0) { rowCount = 1; } + var element = document.createElement('div'); + element.style.height = rowCount * this._terminal.charMeasure.height + "px"; + element.style.top = row * this._terminal.charMeasure.height + "px"; + element.style.left = colStart * this._terminal.charMeasure.width + "px"; + element.style.width = this._terminal.charMeasure.width * (colEnd - colStart) + "px"; + return element; + }; + return Renderer; +}()); +exports.Renderer = Renderer; +function checkBoldBroken(terminal) { + var document = terminal.ownerDocument; + var el = document.createElement('span'); + el.innerHTML = 'hello world'; + terminal.appendChild(el); + var w1 = el.offsetWidth; + var h1 = el.offsetHeight; + el.style.fontWeight = 'bold'; + var w2 = el.offsetWidth; + var h2 = el.offsetHeight; + terminal.removeChild(el); + return w1 !== w2 || h1 !== h2; +} + +//# sourceMappingURL=Renderer.js.map + + +/***/ }), +/* 20 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +var Mouse = __webpack_require__(9); +var Browser = __webpack_require__(8); +var EventEmitter_1 = __webpack_require__(1); +var SelectionModel_1 = __webpack_require__(21); +var DRAG_SCROLL_MAX_THRESHOLD = 50; +var DRAG_SCROLL_MAX_SPEED = 15; +var DRAG_SCROLL_INTERVAL = 50; +var CLEAR_MOUSE_DOWN_TIME = 400; +var CLEAR_MOUSE_DISTANCE = 10; +var WORD_SEPARATORS = ' ()[]{}\'"'; +var LINE_DATA_CHAR_INDEX = 1; +var LINE_DATA_WIDTH_INDEX = 2; +var NON_BREAKING_SPACE_CHAR = String.fromCharCode(160); +var ALL_NON_BREAKING_SPACE_REGEX = new RegExp(NON_BREAKING_SPACE_CHAR, 'g'); +var SelectionMode; +(function (SelectionMode) { + SelectionMode[SelectionMode["NORMAL"] = 0] = "NORMAL"; + SelectionMode[SelectionMode["WORD"] = 1] = "WORD"; + SelectionMode[SelectionMode["LINE"] = 2] = "LINE"; +})(SelectionMode || (SelectionMode = {})); +var SelectionManager = (function (_super) { + __extends(SelectionManager, _super); + function SelectionManager(_terminal, _buffer, _rowContainer, _charMeasure) { + var _this = _super.call(this) || this; + _this._terminal = _terminal; + _this._buffer = _buffer; + _this._rowContainer = _rowContainer; + _this._charMeasure = _charMeasure; + _this._initListeners(); + _this.enable(); + _this._model = new SelectionModel_1.SelectionModel(_terminal); + _this._lastMouseDownTime = 0; + _this._activeSelectionMode = SelectionMode.NORMAL; + return _this; + } + SelectionManager.prototype._initListeners = function () { + var _this = this; + this._bufferTrimListener = function (amount) { return _this._onTrim(amount); }; + this._mouseMoveListener = function (event) { return _this._onMouseMove(event); }; + this._mouseDownListener = function (event) { return _this._onMouseDown(event); }; + this._mouseUpListener = function (event) { return _this._onMouseUp(event); }; + }; + SelectionManager.prototype.disable = function () { + this.clearSelection(); + this._buffer.off('trim', this._bufferTrimListener); + this._rowContainer.removeEventListener('mousedown', this._mouseDownListener); + }; + SelectionManager.prototype.enable = function () { + this._buffer.on('trim', this._bufferTrimListener); + this._rowContainer.addEventListener('mousedown', this._mouseDownListener); + }; + SelectionManager.prototype.setBuffer = function (buffer) { + this._buffer = buffer; + this.clearSelection(); + }; + Object.defineProperty(SelectionManager.prototype, "hasSelection", { + get: function () { + var start = this._model.finalSelectionStart; + var end = this._model.finalSelectionEnd; + if (!start || !end) { + return false; + } + return start[0] !== end[0] || start[1] !== end[1]; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SelectionManager.prototype, "selectionText", { + get: function () { + var start = this._model.finalSelectionStart; + var end = this._model.finalSelectionEnd; + if (!start || !end) { + return ''; + } + var startRowEndCol = start[1] === end[1] ? end[0] : null; + var result = []; + result.push(this._translateBufferLineToString(this._buffer.get(start[1]), true, start[0], startRowEndCol)); + for (var i = start[1] + 1; i <= end[1] - 1; i++) { + var bufferLine = this._buffer.get(i); + var lineText = this._translateBufferLineToString(bufferLine, true); + if (bufferLine.isWrapped) { + result[result.length - 1] += lineText; + } + else { + result.push(lineText); + } + } + if (start[1] !== end[1]) { + var bufferLine = this._buffer.get(end[1]); + var lineText = this._translateBufferLineToString(bufferLine, true, 0, end[0]); + if (bufferLine.isWrapped) { + result[result.length - 1] += lineText; + } + else { + result.push(lineText); + } + } + var formattedResult = result.map(function (line) { + return line.replace(ALL_NON_BREAKING_SPACE_REGEX, ' '); + }).join(Browser.isMSWindows ? '\r\n' : '\n'); + return formattedResult; + }, + enumerable: true, + configurable: true + }); + SelectionManager.prototype.clearSelection = function () { + this._model.clearSelection(); + this._removeMouseDownListeners(); + this.refresh(); + }; + SelectionManager.prototype._translateBufferLineToString = function (line, trimRight, startCol, endCol) { + if (startCol === void 0) { startCol = 0; } + if (endCol === void 0) { endCol = null; } + var lineString = ''; + var widthAdjustedStartCol = startCol; + var widthAdjustedEndCol = endCol; + for (var i = 0; i < line.length; i++) { + var char = line[i]; + lineString += char[LINE_DATA_CHAR_INDEX]; + if (char[LINE_DATA_WIDTH_INDEX] === 0) { + if (startCol >= i) { + widthAdjustedStartCol--; + } + if (endCol >= i) { + widthAdjustedEndCol--; + } + } + } + var finalEndCol = widthAdjustedEndCol || line.length; + if (trimRight) { + var rightWhitespaceIndex = lineString.search(/\s+$/); + if (rightWhitespaceIndex !== -1) { + finalEndCol = Math.min(finalEndCol, rightWhitespaceIndex); + } + if (finalEndCol <= widthAdjustedStartCol) { + return ''; + } + } + return lineString.substring(widthAdjustedStartCol, finalEndCol); + }; + SelectionManager.prototype.refresh = function (isNewSelection) { + var _this = this; + if (!this._refreshAnimationFrame) { + this._refreshAnimationFrame = window.requestAnimationFrame(function () { return _this._refresh(); }); + } + if (Browser.isLinux && isNewSelection) { + var selectionText = this.selectionText; + if (selectionText.length) { + this.emit('newselection', this.selectionText); + } + } + }; + SelectionManager.prototype._refresh = function () { + this._refreshAnimationFrame = null; + this.emit('refresh', { start: this._model.finalSelectionStart, end: this._model.finalSelectionEnd }); + }; + SelectionManager.prototype.selectAll = function () { + this._model.isSelectAllActive = true; + this.refresh(); + }; + SelectionManager.prototype._onTrim = function (amount) { + var needsRefresh = this._model.onTrim(amount); + if (needsRefresh) { + this.refresh(); + } + }; + SelectionManager.prototype._getMouseBufferCoords = function (event) { + var coords = Mouse.getCoords(event, this._rowContainer, this._charMeasure, this._terminal.cols, this._terminal.rows, true); + coords[0]--; + coords[1]--; + coords[1] += this._terminal.ydisp; + return coords; + }; + SelectionManager.prototype._getMouseEventScrollAmount = function (event) { + var offset = Mouse.getCoordsRelativeToElement(event, this._rowContainer)[1]; + var terminalHeight = this._terminal.rows * this._charMeasure.height; + if (offset >= 0 && offset <= terminalHeight) { + return 0; + } + if (offset > terminalHeight) { + offset -= terminalHeight; + } + offset = Math.min(Math.max(offset, -DRAG_SCROLL_MAX_THRESHOLD), DRAG_SCROLL_MAX_THRESHOLD); + offset /= DRAG_SCROLL_MAX_THRESHOLD; + return (offset / Math.abs(offset)) + Math.round(offset * (DRAG_SCROLL_MAX_SPEED - 1)); + }; + SelectionManager.prototype._onMouseDown = function (event) { + if (event.button !== 0) { + return; + } + event.preventDefault(); + this._dragScrollAmount = 0; + this._setMouseClickCount(event); + if (event.shiftKey) { + this._onShiftClick(event); + } + else { + if (this._clickCount === 1) { + this._onSingleClick(event); + } + else if (this._clickCount === 2) { + this._onDoubleClick(event); + } + else if (this._clickCount === 3) { + this._onTripleClick(event); + } + } + this._addMouseDownListeners(); + this.refresh(true); + }; + SelectionManager.prototype._addMouseDownListeners = function () { + var _this = this; + this._rowContainer.ownerDocument.addEventListener('mousemove', this._mouseMoveListener); + this._rowContainer.ownerDocument.addEventListener('mouseup', this._mouseUpListener); + this._dragScrollIntervalTimer = setInterval(function () { return _this._dragScroll(); }, DRAG_SCROLL_INTERVAL); + }; + SelectionManager.prototype._removeMouseDownListeners = function () { + this._rowContainer.ownerDocument.removeEventListener('mousemove', this._mouseMoveListener); + this._rowContainer.ownerDocument.removeEventListener('mouseup', this._mouseUpListener); + clearInterval(this._dragScrollIntervalTimer); + this._dragScrollIntervalTimer = null; + }; + SelectionManager.prototype._onShiftClick = function (event) { + if (this._model.selectionStart) { + this._model.selectionEnd = this._getMouseBufferCoords(event); + } + }; + SelectionManager.prototype._onSingleClick = function (event) { + this._model.selectionStartLength = 0; + this._model.isSelectAllActive = false; + this._activeSelectionMode = SelectionMode.NORMAL; + this._model.selectionStart = this._getMouseBufferCoords(event); + if (this._model.selectionStart) { + this._model.selectionEnd = null; + var char = this._buffer.get(this._model.selectionStart[1])[this._model.selectionStart[0]]; + if (char[LINE_DATA_WIDTH_INDEX] === 0) { + this._model.selectionStart[0]++; + } + } + }; + SelectionManager.prototype._onDoubleClick = function (event) { + var coords = this._getMouseBufferCoords(event); + if (coords) { + this._activeSelectionMode = SelectionMode.WORD; + this._selectWordAt(coords); + } + }; + SelectionManager.prototype._onTripleClick = function (event) { + var coords = this._getMouseBufferCoords(event); + if (coords) { + this._activeSelectionMode = SelectionMode.LINE; + this._selectLineAt(coords[1]); + } + }; + SelectionManager.prototype._setMouseClickCount = function (event) { + var currentTime = (new Date()).getTime(); + if (currentTime - this._lastMouseDownTime > CLEAR_MOUSE_DOWN_TIME || this._distanceFromLastMousePosition(event) > CLEAR_MOUSE_DISTANCE) { + this._clickCount = 0; + } + this._lastMouseDownTime = currentTime; + this._lastMousePosition = [event.pageX, event.pageY]; + this._clickCount++; + }; + SelectionManager.prototype._distanceFromLastMousePosition = function (event) { + var result = Math.max(Math.abs(this._lastMousePosition[0] - event.pageX), Math.abs(this._lastMousePosition[1] - event.pageY)); + return result; + }; + SelectionManager.prototype._onMouseMove = function (event) { + var previousSelectionEnd = this._model.selectionEnd ? [this._model.selectionEnd[0], this._model.selectionEnd[1]] : null; + this._model.selectionEnd = this._getMouseBufferCoords(event); + if (this._activeSelectionMode === SelectionMode.LINE) { + if (this._model.selectionEnd[1] < this._model.selectionStart[1]) { + this._model.selectionEnd[0] = 0; + } + else { + this._model.selectionEnd[0] = this._terminal.cols; + } + } + else if (this._activeSelectionMode === SelectionMode.WORD) { + this._selectToWordAt(this._model.selectionEnd); + } + this._dragScrollAmount = this._getMouseEventScrollAmount(event); + if (this._dragScrollAmount > 0) { + this._model.selectionEnd[0] = this._terminal.cols - 1; + } + else if (this._dragScrollAmount < 0) { + this._model.selectionEnd[0] = 0; + } + if (this._model.selectionEnd[1] < this._buffer.length) { + var char = this._buffer.get(this._model.selectionEnd[1])[this._model.selectionEnd[0]]; + if (char && char[2] === 0) { + this._model.selectionEnd[0]++; + } + } + if (!previousSelectionEnd || + previousSelectionEnd[0] !== this._model.selectionEnd[0] || + previousSelectionEnd[1] !== this._model.selectionEnd[1]) { + this.refresh(true); + } + }; + SelectionManager.prototype._dragScroll = function () { + if (this._dragScrollAmount) { + this._terminal.scrollDisp(this._dragScrollAmount, false); + if (this._dragScrollAmount > 0) { + this._model.selectionEnd = [this._terminal.cols - 1, this._terminal.ydisp + this._terminal.rows]; + } + else { + this._model.selectionEnd = [0, this._terminal.ydisp]; + } + this.refresh(); + } + }; + SelectionManager.prototype._onMouseUp = function (event) { + this._removeMouseDownListeners(); + }; + SelectionManager.prototype._convertViewportColToCharacterIndex = function (bufferLine, coords) { + var charIndex = coords[0]; + for (var i = 0; coords[0] >= i; i++) { + var char = bufferLine[i]; + if (char[LINE_DATA_WIDTH_INDEX] === 0) { + charIndex--; + } + } + return charIndex; + }; + SelectionManager.prototype._getWordAt = function (coords) { + var bufferLine = this._buffer.get(coords[1]); + var line = this._translateBufferLineToString(bufferLine, false); + var endIndex = this._convertViewportColToCharacterIndex(bufferLine, coords); + var startIndex = endIndex; + var charOffset = coords[0] - startIndex; + var leftWideCharCount = 0; + var rightWideCharCount = 0; + if (line.charAt(startIndex) === ' ') { + while (startIndex > 0 && line.charAt(startIndex - 1) === ' ') { + startIndex--; + } + while (endIndex < line.length && line.charAt(endIndex + 1) === ' ') { + endIndex++; + } + } + else { + var startCol = coords[0]; + var endCol = coords[0]; + if (bufferLine[startCol][LINE_DATA_WIDTH_INDEX] === 0) { + leftWideCharCount++; + startCol--; + } + if (bufferLine[endCol][LINE_DATA_WIDTH_INDEX] === 2) { + rightWideCharCount++; + endCol++; + } + while (startIndex > 0 && !this._isCharWordSeparator(line.charAt(startIndex - 1))) { + if (bufferLine[startCol - 1][LINE_DATA_WIDTH_INDEX] === 0) { + leftWideCharCount++; + startCol--; + } + startIndex--; + startCol--; + } + while (endIndex + 1 < line.length && !this._isCharWordSeparator(line.charAt(endIndex + 1))) { + if (bufferLine[endCol + 1][LINE_DATA_WIDTH_INDEX] === 2) { + rightWideCharCount++; + endCol++; + } + endIndex++; + endCol++; + } + } + var start = startIndex + charOffset - leftWideCharCount; + var length = Math.min(endIndex - startIndex + leftWideCharCount + rightWideCharCount + 1, this._terminal.cols); + return { start: start, length: length }; + }; + SelectionManager.prototype._selectWordAt = function (coords) { + var wordPosition = this._getWordAt(coords); + this._model.selectionStart = [wordPosition.start, coords[1]]; + this._model.selectionStartLength = wordPosition.length; + }; + SelectionManager.prototype._selectToWordAt = function (coords) { + var wordPosition = this._getWordAt(coords); + this._model.selectionEnd = [this._model.areSelectionValuesReversed() ? wordPosition.start : (wordPosition.start + wordPosition.length), coords[1]]; + }; + SelectionManager.prototype._isCharWordSeparator = function (char) { + return WORD_SEPARATORS.indexOf(char) >= 0; + }; + SelectionManager.prototype._selectLineAt = function (line) { + this._model.selectionStart = [0, line]; + this._model.selectionStartLength = this._terminal.cols; + }; + return SelectionManager; +}(EventEmitter_1.EventEmitter)); +exports.SelectionManager = SelectionManager; + +//# sourceMappingURL=SelectionManager.js.map + + +/***/ }), +/* 21 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var SelectionModel = (function () { + function SelectionModel(_terminal) { + this._terminal = _terminal; + this.clearSelection(); + } + SelectionModel.prototype.clearSelection = function () { + this.selectionStart = null; + this.selectionEnd = null; + this.isSelectAllActive = false; + this.selectionStartLength = 0; + }; + Object.defineProperty(SelectionModel.prototype, "finalSelectionStart", { + get: function () { + if (this.isSelectAllActive) { + return [0, 0]; + } + if (!this.selectionEnd || !this.selectionStart) { + return this.selectionStart; + } + return this.areSelectionValuesReversed() ? this.selectionEnd : this.selectionStart; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SelectionModel.prototype, "finalSelectionEnd", { + get: function () { + if (this.isSelectAllActive) { + return [this._terminal.cols, this._terminal.ybase + this._terminal.rows - 1]; + } + if (!this.selectionStart) { + return null; + } + if (!this.selectionEnd || this.areSelectionValuesReversed()) { + return [this.selectionStart[0] + this.selectionStartLength, this.selectionStart[1]]; + } + if (this.selectionStartLength) { + if (this.selectionEnd[1] === this.selectionStart[1]) { + return [Math.max(this.selectionStart[0] + this.selectionStartLength, this.selectionEnd[0]), this.selectionEnd[1]]; + } + } + return this.selectionEnd; + }, + enumerable: true, + configurable: true + }); + SelectionModel.prototype.areSelectionValuesReversed = function () { + var start = this.selectionStart; + var end = this.selectionEnd; + return start[1] > end[1] || (start[1] === end[1] && start[0] > end[0]); + }; + SelectionModel.prototype.onTrim = function (amount) { + if (this.selectionStart) { + this.selectionStart[1] -= amount; + } + if (this.selectionEnd) { + this.selectionEnd[1] -= amount; + } + if (this.selectionEnd && this.selectionEnd[1] < 0) { + this.clearSelection(); + return true; + } + if (this.selectionStart && this.selectionStart[1] < 0) { + this.selectionStart[1] = 0; + } + return false; + }; + return SelectionModel; +}()); +exports.SelectionModel = SelectionModel; + +//# sourceMappingURL=SelectionModel.js.map + + +/***/ }), +/* 22 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var Viewport = (function () { + function Viewport(terminal, viewportElement, scrollArea, charMeasure) { + var _this = this; + this.terminal = terminal; + this.viewportElement = viewportElement; + this.scrollArea = scrollArea; + this.charMeasure = charMeasure; + this.currentRowHeight = 0; + this.lastRecordedBufferLength = 0; + this.lastRecordedViewportHeight = 0; + this.terminal.on('scroll', this.syncScrollArea.bind(this)); + this.terminal.on('resize', this.syncScrollArea.bind(this)); + this.viewportElement.addEventListener('scroll', this.onScroll.bind(this)); + setTimeout(function () { return _this.syncScrollArea(); }, 0); + } + Viewport.prototype.refresh = function () { + if (this.charMeasure.height > 0) { + var rowHeightChanged = this.charMeasure.height !== this.currentRowHeight; + if (rowHeightChanged) { + this.currentRowHeight = this.charMeasure.height; + this.viewportElement.style.lineHeight = this.charMeasure.height + 'px'; + this.terminal.rowContainer.style.lineHeight = this.charMeasure.height + 'px'; + } + var viewportHeightChanged = this.lastRecordedViewportHeight !== this.terminal.rows; + if (rowHeightChanged || viewportHeightChanged) { + this.lastRecordedViewportHeight = this.terminal.rows; + this.viewportElement.style.height = this.charMeasure.height * this.terminal.rows + 'px'; + this.terminal.selectionContainer.style.height = this.viewportElement.style.height; + } + this.scrollArea.style.height = (this.charMeasure.height * this.lastRecordedBufferLength) + 'px'; + } + }; + Viewport.prototype.syncScrollArea = function () { + if (this.lastRecordedBufferLength !== this.terminal.lines.length) { + this.lastRecordedBufferLength = this.terminal.lines.length; + this.refresh(); + } + else if (this.lastRecordedViewportHeight !== this.terminal.rows) { + this.refresh(); + } + else { + if (this.charMeasure.height !== this.currentRowHeight) { + this.refresh(); + } + } + var scrollTop = this.terminal.ydisp * this.currentRowHeight; + if (this.viewportElement.scrollTop !== scrollTop) { + this.viewportElement.scrollTop = scrollTop; + } + }; + Viewport.prototype.onScroll = function (ev) { + var newRow = Math.round(this.viewportElement.scrollTop / this.currentRowHeight); + var diff = newRow - this.terminal.ydisp; + this.terminal.scrollDisp(diff, true); + }; + Viewport.prototype.onWheel = function (ev) { + if (ev.deltaY === 0) { + return; + } + var multiplier = 1; + if (ev.deltaMode === WheelEvent.DOM_DELTA_LINE) { + multiplier = this.currentRowHeight; + } + else if (ev.deltaMode === WheelEvent.DOM_DELTA_PAGE) { + multiplier = this.currentRowHeight * this.terminal.rows; + } + this.viewportElement.scrollTop += ev.deltaY * multiplier; + ev.preventDefault(); + }; + ; + Viewport.prototype.onTouchStart = function (ev) { + this.lastTouchY = ev.touches[0].pageY; + }; + ; + Viewport.prototype.onTouchMove = function (ev) { + var deltaY = this.lastTouchY - ev.touches[0].pageY; + this.lastTouchY = ev.touches[0].pageY; + if (deltaY === 0) { + return; + } + this.viewportElement.scrollTop += deltaY; + ev.preventDefault(); + }; + ; + return Viewport; +}()); +exports.Viewport = Viewport; + +//# sourceMappingURL=Viewport.js.map + + +/***/ }), +/* 23 */ +/***/ (function(module, exports, __webpack_require__) { + +var map = { + "./attach/attach": 4, + "./attach/attach.js": 4, + "./attach/package.json": 24, + "./fit/fit": 5, + "./fit/fit.js": 5, + "./fit/package.json": 25, + "./fullscreen/fullscreen": 6, + "./fullscreen/fullscreen.css": 26, + "./fullscreen/fullscreen.js": 6, + "./fullscreen/package.json": 27, + "./terminado/package.json": 28, + "./terminado/terminado": 7, + "./terminado/terminado.js": 7 +}; +function webpackContext(req) { + return __webpack_require__(webpackContextResolve(req)); +}; +function webpackContextResolve(req) { + var id = map[req]; + if(!(id + 1)) // check for number or string + throw new Error("Cannot find module '" + req + "'."); + return id; +}; +webpackContext.keys = function webpackContextKeys() { + return Object.keys(map); +}; +webpackContext.resolve = webpackContextResolve; +module.exports = webpackContext; +webpackContext.id = 23; + +/***/ }), +/* 24 */ +/***/ (function(module, exports) { + +module.exports = {"name":"xterm.attach","main":"attach.js","private":true} + +/***/ }), +/* 25 */ +/***/ (function(module, exports) { + +module.exports = {"name":"xterm.fit","main":"fit.js","private":true} + +/***/ }), +/* 26 */ +/***/ (function(module, exports) { + +throw new Error("Module parse failed: /home/yudai/archive/products/2015/gotty/src/github.com/yudai/gotty/js/node_modules/xterm/lib/addons/fullscreen/fullscreen.css Unexpected token (1:0)\nYou may need an appropriate loader to handle this file type.\n| .xterm.fullscreen {\n| position: fixed;\n| top: 0;"); + +/***/ }), +/* 27 */ +/***/ (function(module, exports) { + +module.exports = {"name":"xterm.fullscreen","main":"fullscreen.js","private":true} + +/***/ }), +/* 28 */ +/***/ (function(module, exports) { + +module.exports = {"name":"xterm.terminado","main":"terminado.js","private":true} + +/***/ }), +/* 29 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +function prepareTextForTerminal(text, isMSWindows) { + if (isMSWindows) { + return text.replace(/\r?\n/g, '\r'); + } + return text; +} +exports.prepareTextForTerminal = prepareTextForTerminal; +function copyHandler(ev, term, selectionManager) { + if (term.browser.isMSIE) { + window.clipboardData.setData('Text', selectionManager.selectionText); + } + else { + ev.clipboardData.setData('text/plain', selectionManager.selectionText); + } + ev.preventDefault(); +} +exports.copyHandler = copyHandler; +function pasteHandler(ev, term) { + ev.stopPropagation(); + var text; + var dispatchPaste = function (text) { + text = prepareTextForTerminal(text, term.browser.isMSWindows); + term.handler(text); + term.textarea.value = ''; + term.emit('paste', text); + return term.cancel(ev); + }; + if (term.browser.isMSIE) { + if (window.clipboardData) { + text = window.clipboardData.getData('Text'); + dispatchPaste(text); + } + } + else { + if (ev.clipboardData) { + text = ev.clipboardData.getData('text/plain'); + dispatchPaste(text); + } + } +} +exports.pasteHandler = pasteHandler; +function moveTextAreaUnderMouseCursor(ev, textarea) { + textarea.style.position = 'fixed'; + textarea.style.width = '20px'; + textarea.style.height = '20px'; + textarea.style.left = (ev.clientX - 10) + 'px'; + textarea.style.top = (ev.clientY - 10) + 'px'; + textarea.style.zIndex = '1000'; + textarea.focus(); + setTimeout(function () { + textarea.style.position = null; + textarea.style.width = null; + textarea.style.height = null; + textarea.style.left = null; + textarea.style.top = null; + textarea.style.zIndex = null; + }, 4); +} +exports.moveTextAreaUnderMouseCursor = moveTextAreaUnderMouseCursor; +function rightClickHandler(ev, textarea, selectionManager) { + moveTextAreaUnderMouseCursor(ev, textarea); + textarea.value = selectionManager.selectionText; + textarea.select(); +} +exports.rightClickHandler = rightClickHandler; + +//# sourceMappingURL=Clipboard.js.map + + +/***/ }), +/* 30 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +var EventEmitter_js_1 = __webpack_require__(1); +var CharMeasure = (function (_super) { + __extends(CharMeasure, _super); + function CharMeasure(document, parentElement) { + var _this = _super.call(this) || this; + _this._document = document; + _this._parentElement = parentElement; + return _this; + } + Object.defineProperty(CharMeasure.prototype, "width", { + get: function () { + return this._width; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(CharMeasure.prototype, "height", { + get: function () { + return this._height; + }, + enumerable: true, + configurable: true + }); + CharMeasure.prototype.measure = function () { + var _this = this; + if (!this._measureElement) { + this._measureElement = this._document.createElement('span'); + this._measureElement.style.position = 'absolute'; + this._measureElement.style.top = '0'; + this._measureElement.style.left = '-9999em'; + this._measureElement.textContent = 'W'; + this._measureElement.setAttribute('aria-hidden', 'true'); + this._parentElement.appendChild(this._measureElement); + setTimeout(function () { return _this._doMeasure(); }, 0); + } + else { + this._doMeasure(); + } + }; + CharMeasure.prototype._doMeasure = function () { + var geometry = this._measureElement.getBoundingClientRect(); + if (geometry.width === 0 || geometry.height === 0) { + return; + } + if (this._width !== geometry.width || this._height !== geometry.height) { + this._width = geometry.width; + this._height = geometry.height; + this.emit('charsizechanged'); + } + }; + return CharMeasure; +}(EventEmitter_js_1.EventEmitter)); +exports.CharMeasure = CharMeasure; + +//# sourceMappingURL=CharMeasure.js.map + + +/***/ }), +/* 31 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +var EventEmitter_1 = __webpack_require__(1); +var CircularList = (function (_super) { + __extends(CircularList, _super); + function CircularList(maxLength) { + var _this = _super.call(this) || this; + _this._array = new Array(maxLength); + _this._startIndex = 0; + _this._length = 0; + return _this; + } + Object.defineProperty(CircularList.prototype, "maxLength", { + get: function () { + return this._array.length; + }, + set: function (newMaxLength) { + var newArray = new Array(newMaxLength); + for (var i = 0; i < Math.min(newMaxLength, this.length); i++) { + newArray[i] = this._array[this._getCyclicIndex(i)]; + } + this._array = newArray; + this._startIndex = 0; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(CircularList.prototype, "length", { + get: function () { + return this._length; + }, + set: function (newLength) { + if (newLength > this._length) { + for (var i = this._length; i < newLength; i++) { + this._array[i] = undefined; + } + } + this._length = newLength; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(CircularList.prototype, "forEach", { + get: function () { + var _this = this; + return function (callbackfn) { + var i = 0; + var length = _this.length; + for (var i_1 = 0; i_1 < length; i_1++) { + callbackfn(_this.get(i_1), i_1); + } + }; + }, + enumerable: true, + configurable: true + }); + CircularList.prototype.get = function (index) { + return this._array[this._getCyclicIndex(index)]; + }; + CircularList.prototype.set = function (index, value) { + this._array[this._getCyclicIndex(index)] = value; + }; + CircularList.prototype.push = function (value) { + this._array[this._getCyclicIndex(this._length)] = value; + if (this._length === this.maxLength) { + this._startIndex++; + if (this._startIndex === this.maxLength) { + this._startIndex = 0; + } + this.emit('trim', 1); + } + else { + this._length++; + } + }; + CircularList.prototype.pop = function () { + return this._array[this._getCyclicIndex(this._length-- - 1)]; + }; + CircularList.prototype.splice = function (start, deleteCount) { + var items = []; + for (var _i = 2; _i < arguments.length; _i++) { + items[_i - 2] = arguments[_i]; + } + if (deleteCount) { + for (var i = start; i < this._length - deleteCount; i++) { + this._array[this._getCyclicIndex(i)] = this._array[this._getCyclicIndex(i + deleteCount)]; + } + this._length -= deleteCount; + } + if (items && items.length) { + for (var i = this._length - 1; i >= start; i--) { + this._array[this._getCyclicIndex(i + items.length)] = this._array[this._getCyclicIndex(i)]; + } + for (var i = 0; i < items.length; i++) { + this._array[this._getCyclicIndex(start + i)] = items[i]; + } + if (this._length + items.length > this.maxLength) { + var countToTrim = (this._length + items.length) - this.maxLength; + this._startIndex += countToTrim; + this._length = this.maxLength; + this.emit('trim', countToTrim); + } + else { + this._length += items.length; + } + } + }; + CircularList.prototype.trimStart = function (count) { + if (count > this._length) { + count = this._length; + } + this._startIndex += count; + this._length -= count; + this.emit('trim', count); + }; + CircularList.prototype.shiftElements = function (start, count, offset) { + if (count <= 0) { + return; + } + if (start < 0 || start >= this._length) { + throw new Error('start argument out of range'); + } + if (start + offset < 0) { + throw new Error('Cannot shift elements in list beyond index 0'); + } + if (offset > 0) { + for (var i = count - 1; i >= 0; i--) { + this.set(start + i + offset, this.get(start + i)); + } + var expandListBy = (start + count + offset) - this._length; + if (expandListBy > 0) { + this._length += expandListBy; + while (this._length > this.maxLength) { + this._length--; + this._startIndex++; + this.emit('trim', 1); + } + } + } + else { + for (var i = 0; i < count; i++) { + this.set(start + i + offset, this.get(start + i)); + } + } + }; + CircularList.prototype._getCyclicIndex = function (index) { + return (this._startIndex + index) % this.maxLength; + }; + return CircularList; +}(EventEmitter_1.EventEmitter)); +exports.CircularList = CircularList; + +//# sourceMappingURL=CircularList.js.map + + +/***/ }), +/* 32 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var DomElementObjectPool = (function () { + function DomElementObjectPool(type) { + this.type = type; + this._type = type; + this._pool = []; + this._inUse = {}; + } + DomElementObjectPool.prototype.acquire = function () { + var element; + if (this._pool.length === 0) { + element = this._createNew(); + } + else { + element = this._pool.pop(); + } + this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)] = element; + return element; + }; + DomElementObjectPool.prototype.release = function (element) { + if (!this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)]) { + throw new Error('Could not release an element not yet acquired'); + } + delete this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)]; + this._cleanElement(element); + this._pool.push(element); + }; + DomElementObjectPool.prototype._createNew = function () { + var element = document.createElement(this._type); + var id = DomElementObjectPool._objectCount++; + element.setAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE, id.toString(10)); + return element; + }; + DomElementObjectPool.prototype._cleanElement = function (element) { + element.className = ''; + element.innerHTML = ''; + }; + return DomElementObjectPool; +}()); +DomElementObjectPool.OBJECT_ID_ATTRIBUTE = 'data-obj-id'; +DomElementObjectPool._objectCount = 0; +exports.DomElementObjectPool = DomElementObjectPool; + +//# sourceMappingURL=DomElementObjectPool.js.map + + +/***/ }), +/* 33 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +function contains(arr, el) { + return arr.indexOf(el) >= 0; +} +exports.contains = contains; +; + +//# sourceMappingURL=Generic.js.map + + +/***/ }), +/* 34 */ +/***/ (function(module, exports) { + +module.exports = hterm; + +/***/ }), +/* 35 */ +/***/ (function(module, exports) { + +module.exports = lib; + +/***/ }) +/******/ ]); +//# sourceMappingURL=bundle.js.map \ No newline at end of file diff --git a/js/dist/bundle.js.map b/js/dist/bundle.js.map new file mode 100644 index 0000000..fcc8662 --- /dev/null +++ b/js/dist/bundle.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap 75bb02f622408516a58c","webpack:///./~/xterm/lib/xterm.js","webpack:///./~/xterm/lib/EventEmitter.js","webpack:///./~/xterm/lib/EscapeSequences.js","webpack:///./~/xterm/lib/Charsets.js","webpack:///./~/xterm/lib/addons/attach/attach.js","webpack:///./~/xterm/lib/addons/fit/fit.js","webpack:///./~/xterm/lib/addons/fullscreen/fullscreen.js","webpack:///./~/xterm/lib/addons/terminado/terminado.js","webpack:///./~/xterm/lib/utils/Browser.js","webpack:///./~/xterm/lib/utils/Mouse.js","webpack:///./src/hterm.ts","webpack:///./src/websocket.ts","webpack:///./src/webtty.ts","webpack:///./src/xterm.ts","webpack:///./src/main.ts","webpack:///./~/xterm/lib/CompositionHelper.js","webpack:///./~/xterm/lib/InputHandler.js","webpack:///./~/xterm/lib/Linkifier.js","webpack:///./~/xterm/lib/Parser.js","webpack:///./~/xterm/lib/Renderer.js","webpack:///./~/xterm/lib/SelectionManager.js","webpack:///./~/xterm/lib/SelectionModel.js","webpack:///./~/xterm/lib/Viewport.js","webpack:///./~/xterm/lib/addons ^\\.\\/.*$","webpack:///./~/xterm/lib/addons/attach/package.json","webpack:///./~/xterm/lib/addons/fit/package.json","webpack:///./~/xterm/lib/addons/fullscreen/package.json","webpack:///./~/xterm/lib/addons/terminado/package.json","webpack:///./~/xterm/lib/handlers/Clipboard.js","webpack:///./~/xterm/lib/utils/CharMeasure.js","webpack:///./~/xterm/lib/utils/CircularList.js","webpack:///./~/xterm/lib/utils/DomElementObjectPool.js","webpack:///./~/xterm/lib/utils/Generic.js","webpack:///external \"hterm\"","webpack:///external \"lib\""],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AChEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA,UAAU,QAAQ;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gDAAgD,8CAA8C;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,KAAK;AACL;AACA,2BAA2B,iBAAiB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,mCAAmC,yCAAyC,EAAE;AAC9E,iEAAiE,yCAAyC,EAAE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,4CAA4C;AACtE,iCAAiC,wCAAwC;AACzE,gCAAgC,0CAA0C;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,cAAc;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,wHAAwH;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,wHAAwH;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,mCAAmC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,6BAA6B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5lDA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC1DA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,qCAAqC;AACtC;;AAEA;;;;;;;;ACzCA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;;;;;;;AChKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;AC7HD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B;AAC/B;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;;AAEA,gBAAgB;AAChB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;ACrFD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;ACjDD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;ACtID;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,8CAA8C,EAAE;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC5HA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,uDAAuD,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,yBAAyB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,IAAI;AACxE;AACA;AACA,qEAAqE,GAAG;AACxE;AACA;AACA;AACA;AACA;AACA,qEAAqE,MAAM;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,GAAG,qBAAqB;;AAEzB;;;;;;;;ACx6BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B,sBAAsB,IAAI,KAAK,EAAE,IAAI,IAAI;AACzC;AACA,wBAAwB,IAAI;AAC5B;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,gBAAgB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,mCAAmC,yBAAyB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,4BAA4B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;;;;;;;ACzOA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA,2EAA2E,uBAAuB;AAClG,0EAA0E,2BAA2B;AACrG;AACA;AACA,0EAA0E,iCAAiC;AAC3G,0EAA0E,4BAA4B;AACtG,0EAA0E,sBAAsB;AAChG,0EAA0E,2BAA2B;AACrG,0EAA0E,0BAA0B;AACpG,2EAA2E,6CAA6C;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,4CAA4C;AAC/G;AACA,+CAA+C,8BAA8B;AAC7E,+CAA+C,8BAA8B;AAC7E,+CAA+C,8BAA8B;AAC7E,+CAA+C,gDAAgD;AAC/F,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,+BAA+B;AAC9E,+CAA+C,+BAA+B;AAC9E,+CAA+C,+BAA+B;AAC9E,gDAAgD,gCAAgC;AAChF,uBAAuB,wBAAwB,+BAA+B;AAC9E,oEAAoE,4CAA4C;AAChH;AACA,2DAA2D,oCAAoC;AAC/F,2DAA2D,iCAAiC;AAC5F,2DAA2D,mCAAmC;AAC9F,2DAA2D,sCAAsC;AACjG,2DAA2D,uCAAuC;AAClG,2DAA2D,uCAAuC;AAClG,2DAA2D,4CAA4C;AACvG,2DAA2D,2CAA2C;AACtG,2DAA2D,uCAAuC;AAClG,2DAA2D,yCAAyC;AACpG,2DAA2D,uCAAuC;AAClG,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,iCAAiC;AAC5F;AACA;AACA;AACA;AACA;AACA,2DAA2D,mCAAmC;AAC9F,2DAA2D,0CAA0C;AACrG,2DAA2D,wCAAwC;AACnG,2DAA2D,0CAA0C;AACrG,2DAA2D,iDAAiD;AAC5G,2DAA2D,6CAA6C;AACxG,2DAA2D,wCAAwC;AACnG,2DAA2D,0CAA0C;AACrG,2DAA2D,mCAAmC;AAC9F,2DAA2D,iCAAiC;AAC5F,2DAA2D,gCAAgC;AAC3F,2DAA2D,kCAAkC;AAC7F,2DAA2D,uCAAuC;AAClG,2DAA2D,qCAAqC;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,wCAAwC;AAC3F,mDAAmD,mCAAmC;AACtF,mDAAmD,sCAAsC;AACzF,iGAAiG,4CAA4C;AAC7I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC7dA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sBAAsB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,yBAAyB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mCAAmC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,0DAA0D;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrRA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,8BAA8B;AACpF,oDAAoD,kCAAkC;AACtF,oDAAoD,kCAAkC;AACtF,kDAAkD,gCAAgC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,iBAAiB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAoF,yBAAyB,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6EAA6E;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,4BAA4B,EAAE;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;ACrZA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;ACxEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uB;;;;;;AC7BA,kBAAkB,wD;;;;;;ACAlB,kBAAkB,kD;;;;;;;;;;;;ACAlB,kBAAkB,gE;;;;;;ACAlB,kBAAkB,8D;;;;;;;ACAlB;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpEA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,2BAA2B,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AClEA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,2BAA2B,yCAAyC;AACpE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,0CAA0C,eAAe;AACzD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,+BAA+B,gCAAgC;AAC/D;AACA;AACA;AACA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AClKA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;;;;;;;AC5CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACRA,uB;;;;;;ACAA,qB","file":"./dist/bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 14);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 75bb02f622408516a58c","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CompositionHelper_1 = require(\"./CompositionHelper\");\nvar EventEmitter_1 = require(\"./EventEmitter\");\nvar Viewport_1 = require(\"./Viewport\");\nvar Clipboard_1 = require(\"./handlers/Clipboard\");\nvar CircularList_1 = require(\"./utils/CircularList\");\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar InputHandler_1 = require(\"./InputHandler\");\nvar Parser_1 = require(\"./Parser\");\nvar Renderer_1 = require(\"./Renderer\");\nvar Linkifier_1 = require(\"./Linkifier\");\nvar SelectionManager_1 = require(\"./SelectionManager\");\nvar CharMeasure_1 = require(\"./utils/CharMeasure\");\nvar Browser = require(\"./utils/Browser\");\nvar Mouse_1 = require(\"./utils/Mouse\");\nvar document = (typeof window != 'undefined') ? window.document : null;\nvar WRITE_BUFFER_PAUSE_THRESHOLD = 5;\nvar WRITE_BATCH_SIZE = 300;\nvar CURSOR_BLINK_INTERVAL = 600;\nfunction Terminal(options) {\n var self = this;\n if (!(this instanceof Terminal)) {\n return new Terminal(arguments[0], arguments[1], arguments[2]);\n }\n self.browser = Browser;\n self.cancel = Terminal.cancel;\n EventEmitter_1.EventEmitter.call(this);\n if (typeof options === 'number') {\n options = {\n cols: arguments[0],\n rows: arguments[1],\n handler: arguments[2]\n };\n }\n options = options || {};\n Object.keys(Terminal.defaults).forEach(function (key) {\n if (options[key] == null) {\n options[key] = Terminal.options[key];\n if (Terminal[key] !== Terminal.defaults[key]) {\n options[key] = Terminal[key];\n }\n }\n self[key] = options[key];\n });\n if (options.colors.length === 8) {\n options.colors = options.colors.concat(Terminal._colors.slice(8));\n }\n else if (options.colors.length === 16) {\n options.colors = options.colors.concat(Terminal._colors.slice(16));\n }\n else if (options.colors.length === 10) {\n options.colors = options.colors.slice(0, -2).concat(Terminal._colors.slice(8, -2), options.colors.slice(-2));\n }\n else if (options.colors.length === 18) {\n options.colors = options.colors.concat(Terminal._colors.slice(16, -2), options.colors.slice(-2));\n }\n this.colors = options.colors;\n this.options = options;\n this.parent = options.body || options.parent || (document ? document.getElementsByTagName('body')[0] : null);\n this.cols = options.cols || options.geometry[0];\n this.rows = options.rows || options.geometry[1];\n this.geometry = [this.cols, this.rows];\n if (options.handler) {\n this.on('data', options.handler);\n }\n this.ybase = 0;\n this.ydisp = 0;\n this.x = 0;\n this.y = 0;\n this.cursorState = 0;\n this.cursorHidden = false;\n this.convertEol;\n this.queue = '';\n this.scrollTop = 0;\n this.scrollBottom = this.rows - 1;\n this.customKeyEventHandler = null;\n this.cursorBlinkInterval = null;\n this.applicationKeypad = false;\n this.applicationCursor = false;\n this.originMode = false;\n this.insertMode = false;\n this.wraparoundMode = true;\n this.normal = null;\n this.charset = null;\n this.gcharset = null;\n this.glevel = 0;\n this.charsets = [null];\n this.decLocator;\n this.x10Mouse;\n this.vt200Mouse;\n this.vt300Mouse;\n this.normalMouse;\n this.mouseEvents;\n this.sendFocus;\n this.utfMouse;\n this.sgrMouse;\n this.urxvtMouse;\n this.element;\n this.children;\n this.refreshStart;\n this.refreshEnd;\n this.savedX;\n this.savedY;\n this.savedCols;\n this.readable = true;\n this.writable = true;\n this.defAttr = (0 << 18) | (257 << 9) | (256 << 0);\n this.curAttr = this.defAttr;\n this.params = [];\n this.currentParam = 0;\n this.prefix = '';\n this.postfix = '';\n this.inputHandler = new InputHandler_1.InputHandler(this);\n this.parser = new Parser_1.Parser(this.inputHandler, this);\n this.renderer = this.renderer || null;\n this.selectionManager = this.selectionManager || null;\n this.linkifier = this.linkifier || new Linkifier_1.Linkifier();\n this.writeBuffer = [];\n this.writeInProgress = false;\n this.xoffSentToCatchUp = false;\n this.writeStopped = false;\n this.surrogate_high = '';\n this.lines = new CircularList_1.CircularList(this.scrollback);\n var i = this.rows;\n while (i--) {\n this.lines.push(this.blankLine());\n }\n if (this.selectionManager) {\n this.selectionManager.setBuffer(this.lines);\n }\n this.tabs;\n this.setupStops();\n this.userScrolling = false;\n}\ninherits(Terminal, EventEmitter_1.EventEmitter);\nTerminal.prototype.eraseAttr = function () {\n return (this.defAttr & ~0x1ff) | (this.curAttr & 0x1ff);\n};\nTerminal.tangoColors = [\n '#2e3436',\n '#cc0000',\n '#4e9a06',\n '#c4a000',\n '#3465a4',\n '#75507b',\n '#06989a',\n '#d3d7cf',\n '#555753',\n '#ef2929',\n '#8ae234',\n '#fce94f',\n '#729fcf',\n '#ad7fa8',\n '#34e2e2',\n '#eeeeec'\n];\nTerminal.colors = (function () {\n var colors = Terminal.tangoColors.slice(), r = [0x00, 0x5f, 0x87, 0xaf, 0xd7, 0xff], i;\n i = 0;\n for (; i < 216; i++) {\n out(r[(i / 36) % 6 | 0], r[(i / 6) % 6 | 0], r[i % 6]);\n }\n i = 0;\n for (; i < 24; i++) {\n r = 8 + i * 10;\n out(r, r, r);\n }\n function out(r, g, b) {\n colors.push('#' + hex(r) + hex(g) + hex(b));\n }\n function hex(c) {\n c = c.toString(16);\n return c.length < 2 ? '0' + c : c;\n }\n return colors;\n})();\nTerminal._colors = Terminal.colors.slice();\nTerminal.vcolors = (function () {\n var out = [], colors = Terminal.colors, i = 0, color;\n for (; i < 256; i++) {\n color = parseInt(colors[i].substring(1), 16);\n out.push([\n (color >> 16) & 0xff,\n (color >> 8) & 0xff,\n color & 0xff\n ]);\n }\n return out;\n})();\nTerminal.defaults = {\n colors: Terminal.colors,\n theme: 'default',\n convertEol: false,\n termName: 'xterm',\n geometry: [80, 24],\n cursorBlink: false,\n cursorStyle: 'block',\n visualBell: false,\n popOnBell: false,\n scrollback: 1000,\n screenKeys: false,\n debug: false,\n cancelEvents: false,\n disableStdin: false,\n useFlowControl: false,\n tabStopWidth: 8\n};\nTerminal.options = {};\nTerminal.focus = null;\neach(keys(Terminal.defaults), function (key) {\n Terminal[key] = Terminal.defaults[key];\n Terminal.options[key] = Terminal.defaults[key];\n});\nTerminal.prototype.focus = function () {\n return this.textarea.focus();\n};\nTerminal.prototype.getOption = function (key, value) {\n if (!(key in Terminal.defaults)) {\n throw new Error('No option with key \"' + key + '\"');\n }\n if (typeof this.options[key] !== 'undefined') {\n return this.options[key];\n }\n return this[key];\n};\nTerminal.prototype.setOption = function (key, value) {\n if (!(key in Terminal.defaults)) {\n throw new Error('No option with key \"' + key + '\"');\n }\n switch (key) {\n case 'scrollback':\n if (value < this.rows) {\n var msg = 'Setting the scrollback value less than the number of rows ';\n msg += \"(\" + this.rows + \") is not allowed.\";\n console.warn(msg);\n return false;\n }\n if (this.options[key] !== value) {\n if (this.lines.length > value) {\n var amountToTrim = this.lines.length - value;\n var needsRefresh = (this.ydisp - amountToTrim < 0);\n this.lines.trimStart(amountToTrim);\n this.ybase = Math.max(this.ybase - amountToTrim, 0);\n this.ydisp = Math.max(this.ydisp - amountToTrim, 0);\n if (needsRefresh) {\n this.refresh(0, this.rows - 1);\n }\n }\n this.lines.maxLength = value;\n this.viewport.syncScrollArea();\n }\n break;\n }\n this[key] = value;\n this.options[key] = value;\n switch (key) {\n case 'cursorBlink':\n this.setCursorBlinking(value);\n break;\n case 'cursorStyle':\n this.element.classList.toggle(\"xterm-cursor-style-underline\", value === 'underline');\n this.element.classList.toggle(\"xterm-cursor-style-bar\", value === 'bar');\n break;\n case 'tabStopWidth':\n this.setupStops();\n break;\n }\n};\nTerminal.prototype.restartCursorBlinking = function () {\n this.setCursorBlinking(this.options.cursorBlink);\n};\nTerminal.prototype.setCursorBlinking = function (enabled) {\n this.element.classList.toggle('xterm-cursor-blink', enabled);\n this.clearCursorBlinkingInterval();\n if (enabled) {\n var self = this;\n this.cursorBlinkInterval = setInterval(function () {\n self.element.classList.toggle('xterm-cursor-blink-on');\n }, CURSOR_BLINK_INTERVAL);\n }\n};\nTerminal.prototype.clearCursorBlinkingInterval = function () {\n this.element.classList.remove('xterm-cursor-blink-on');\n if (this.cursorBlinkInterval) {\n clearInterval(this.cursorBlinkInterval);\n this.cursorBlinkInterval = null;\n }\n};\nTerminal.bindFocus = function (term) {\n on(term.textarea, 'focus', function (ev) {\n if (term.sendFocus) {\n term.send(EscapeSequences_1.C0.ESC + '[I');\n }\n term.element.classList.add('focus');\n term.showCursor();\n term.restartCursorBlinking.apply(term);\n Terminal.focus = term;\n term.emit('focus', { terminal: term });\n });\n};\nTerminal.prototype.blur = function () {\n return this.textarea.blur();\n};\nTerminal.bindBlur = function (term) {\n on(term.textarea, 'blur', function (ev) {\n term.refresh(term.y, term.y);\n if (term.sendFocus) {\n term.send(EscapeSequences_1.C0.ESC + '[O');\n }\n term.element.classList.remove('focus');\n term.clearCursorBlinkingInterval.apply(term);\n Terminal.focus = null;\n term.emit('blur', { terminal: term });\n });\n};\nTerminal.prototype.initGlobal = function () {\n var _this = this;\n var term = this;\n Terminal.bindKeys(this);\n Terminal.bindFocus(this);\n Terminal.bindBlur(this);\n on(this.element, 'copy', function (event) {\n if (_this.mouseEvents) {\n return;\n }\n Clipboard_1.copyHandler(event, term, _this.selectionManager);\n });\n var pasteHandlerWrapper = function (event) { return Clipboard_1.pasteHandler(event, term); };\n on(this.textarea, 'paste', pasteHandlerWrapper);\n on(this.element, 'paste', pasteHandlerWrapper);\n if (term.browser.isFirefox) {\n on(this.element, 'mousedown', function (event) {\n if (event.button == 2) {\n Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager);\n }\n });\n }\n else {\n on(this.element, 'contextmenu', function (event) {\n Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager);\n });\n }\n if (term.browser.isLinux) {\n on(this.element, 'auxclick', function (event) {\n if (event.button === 1) {\n Clipboard_1.moveTextAreaUnderMouseCursor(event, _this.textarea, _this.selectionManager);\n }\n });\n }\n};\nTerminal.bindKeys = function (term) {\n on(term.element, 'keydown', function (ev) {\n if (document.activeElement != this) {\n return;\n }\n term.keyDown(ev);\n }, true);\n on(term.element, 'keypress', function (ev) {\n if (document.activeElement != this) {\n return;\n }\n term.keyPress(ev);\n }, true);\n on(term.element, 'keyup', function (ev) {\n if (!wasMondifierKeyOnlyEvent(ev)) {\n term.focus(term);\n }\n }, true);\n on(term.textarea, 'keydown', function (ev) {\n term.keyDown(ev);\n }, true);\n on(term.textarea, 'keypress', function (ev) {\n term.keyPress(ev);\n this.value = '';\n }, true);\n on(term.textarea, 'compositionstart', term.compositionHelper.compositionstart.bind(term.compositionHelper));\n on(term.textarea, 'compositionupdate', term.compositionHelper.compositionupdate.bind(term.compositionHelper));\n on(term.textarea, 'compositionend', term.compositionHelper.compositionend.bind(term.compositionHelper));\n term.on('refresh', term.compositionHelper.updateCompositionElements.bind(term.compositionHelper));\n term.on('refresh', function (data) {\n term.queueLinkification(data.start, data.end);\n });\n};\nTerminal.prototype.insertRow = function (row) {\n if (typeof row != 'object') {\n row = document.createElement('div');\n }\n this.rowContainer.appendChild(row);\n this.children.push(row);\n return row;\n};\nTerminal.prototype.open = function (parent, focus) {\n var _this = this;\n var self = this, i = 0, div;\n this.parent = parent || this.parent;\n if (!this.parent) {\n throw new Error('Terminal requires a parent element.');\n }\n this.context = this.parent.ownerDocument.defaultView;\n this.document = this.parent.ownerDocument;\n this.body = this.document.getElementsByTagName('body')[0];\n this.element = this.document.createElement('div');\n this.element.classList.add('terminal');\n this.element.classList.add('xterm');\n this.element.classList.add('xterm-theme-' + this.theme);\n this.setCursorBlinking(this.options.cursorBlink);\n this.element.setAttribute('tabindex', 0);\n this.viewportElement = document.createElement('div');\n this.viewportElement.classList.add('xterm-viewport');\n this.element.appendChild(this.viewportElement);\n this.viewportScrollArea = document.createElement('div');\n this.viewportScrollArea.classList.add('xterm-scroll-area');\n this.viewportElement.appendChild(this.viewportScrollArea);\n this.selectionContainer = document.createElement('div');\n this.selectionContainer.classList.add('xterm-selection');\n this.element.appendChild(this.selectionContainer);\n this.rowContainer = document.createElement('div');\n this.rowContainer.classList.add('xterm-rows');\n this.element.appendChild(this.rowContainer);\n this.children = [];\n this.linkifier.attachToDom(document, this.children);\n this.helperContainer = document.createElement('div');\n this.helperContainer.classList.add('xterm-helpers');\n this.element.appendChild(this.helperContainer);\n this.textarea = document.createElement('textarea');\n this.textarea.classList.add('xterm-helper-textarea');\n this.textarea.setAttribute('autocorrect', 'off');\n this.textarea.setAttribute('autocapitalize', 'off');\n this.textarea.setAttribute('spellcheck', 'false');\n this.textarea.tabIndex = 0;\n this.textarea.addEventListener('focus', function () {\n self.emit('focus', { terminal: self });\n });\n this.textarea.addEventListener('blur', function () {\n self.emit('blur', { terminal: self });\n });\n this.helperContainer.appendChild(this.textarea);\n this.compositionView = document.createElement('div');\n this.compositionView.classList.add('composition-view');\n this.compositionHelper = new CompositionHelper_1.CompositionHelper(this.textarea, this.compositionView, this);\n this.helperContainer.appendChild(this.compositionView);\n this.charSizeStyleElement = document.createElement('style');\n this.helperContainer.appendChild(this.charSizeStyleElement);\n for (; i < this.rows; i++) {\n this.insertRow();\n }\n this.parent.appendChild(this.element);\n this.charMeasure = new CharMeasure_1.CharMeasure(document, this.helperContainer);\n this.charMeasure.on('charsizechanged', function () {\n self.updateCharSizeStyles();\n });\n this.charMeasure.measure();\n this.viewport = new Viewport_1.Viewport(this, this.viewportElement, this.viewportScrollArea, this.charMeasure);\n this.renderer = new Renderer_1.Renderer(this);\n this.selectionManager = new SelectionManager_1.SelectionManager(this, this.lines, this.rowContainer, this.charMeasure);\n this.selectionManager.on('refresh', function (data) {\n _this.renderer.refreshSelection(data.start, data.end);\n });\n this.selectionManager.on('newselection', function (text) {\n _this.textarea.value = text;\n _this.textarea.focus();\n _this.textarea.select();\n });\n this.on('scroll', function () { return _this.selectionManager.refresh(); });\n this.viewportElement.addEventListener('scroll', function () { return _this.selectionManager.refresh(); });\n this.refresh(0, this.rows - 1);\n this.initGlobal();\n if (typeof focus == 'undefined') {\n var message = 'You did not pass the `focus` argument in `Terminal.prototype.open()`.\\n';\n message += 'The `focus` argument now defaults to `true` but starting with xterm.js 3.0 ';\n message += 'it will default to `false`.';\n console.warn(message);\n focus = true;\n }\n if (focus) {\n this.focus();\n }\n on(this.element, 'click', function () {\n var selection = document.getSelection(), collapsed = selection.isCollapsed, isRange = typeof collapsed == 'boolean' ? !collapsed : selection.type == 'Range';\n if (!isRange) {\n self.focus();\n }\n });\n this.bindMouse();\n this.emit('open');\n};\nTerminal.loadAddon = function (addon, callback) {\n if (typeof exports === 'object' && typeof module === 'object') {\n return require('./addons/' + addon + '/' + addon);\n }\n else if (typeof define == 'function') {\n return require(['./addons/' + addon + '/' + addon], callback);\n }\n else {\n console.error('Cannot load a module without a CommonJS or RequireJS environment.');\n return false;\n }\n};\nTerminal.prototype.updateCharSizeStyles = function () {\n this.charSizeStyleElement.textContent =\n \".xterm-wide-char{width:\" + this.charMeasure.width * 2 + \"px;}\" +\n (\".xterm-normal-char{width:\" + this.charMeasure.width + \"px;}\") +\n (\".xterm-rows > div{height:\" + this.charMeasure.height + \"px;}\");\n};\nTerminal.prototype.bindMouse = function () {\n var el = this.element, self = this, pressed = 32;\n function sendButton(ev) {\n var button, pos;\n button = getButton(ev);\n pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows);\n if (!pos)\n return;\n sendEvent(button, pos);\n switch (ev.overrideType || ev.type) {\n case 'mousedown':\n pressed = button;\n break;\n case 'mouseup':\n pressed = 32;\n break;\n case 'wheel':\n break;\n }\n }\n function sendMove(ev) {\n var button = pressed, pos;\n pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows);\n if (!pos)\n return;\n button += 32;\n sendEvent(button, pos);\n }\n function encode(data, ch) {\n if (!self.utfMouse) {\n if (ch === 255)\n return data.push(0);\n if (ch > 127)\n ch = 127;\n data.push(ch);\n }\n else {\n if (ch === 2047)\n return data.push(0);\n if (ch < 127) {\n data.push(ch);\n }\n else {\n if (ch > 2047)\n ch = 2047;\n data.push(0xC0 | (ch >> 6));\n data.push(0x80 | (ch & 0x3F));\n }\n }\n }\n function sendEvent(button, pos) {\n if (self.vt300Mouse) {\n button &= 3;\n pos.x -= 32;\n pos.y -= 32;\n var data = EscapeSequences_1.C0.ESC + '[24';\n if (button === 0)\n data += '1';\n else if (button === 1)\n data += '3';\n else if (button === 2)\n data += '5';\n else if (button === 3)\n return;\n else\n data += '0';\n data += '~[' + pos.x + ',' + pos.y + ']\\r';\n self.send(data);\n return;\n }\n if (self.decLocator) {\n button &= 3;\n pos.x -= 32;\n pos.y -= 32;\n if (button === 0)\n button = 2;\n else if (button === 1)\n button = 4;\n else if (button === 2)\n button = 6;\n else if (button === 3)\n button = 3;\n self.send(EscapeSequences_1.C0.ESC + '['\n + button\n + ';'\n + (button === 3 ? 4 : 0)\n + ';'\n + pos.y\n + ';'\n + pos.x\n + ';'\n + (pos.page || 0)\n + '&w');\n return;\n }\n if (self.urxvtMouse) {\n pos.x -= 32;\n pos.y -= 32;\n pos.x++;\n pos.y++;\n self.send(EscapeSequences_1.C0.ESC + '[' + button + ';' + pos.x + ';' + pos.y + 'M');\n return;\n }\n if (self.sgrMouse) {\n pos.x -= 32;\n pos.y -= 32;\n self.send(EscapeSequences_1.C0.ESC + '[<'\n + (((button & 3) === 3 ? button & ~3 : button) - 32)\n + ';'\n + pos.x\n + ';'\n + pos.y\n + ((button & 3) === 3 ? 'm' : 'M'));\n return;\n }\n var data = [];\n encode(data, button);\n encode(data, pos.x);\n encode(data, pos.y);\n self.send(EscapeSequences_1.C0.ESC + '[M' + String.fromCharCode.apply(String, data));\n }\n function getButton(ev) {\n var button, shift, meta, ctrl, mod;\n switch (ev.overrideType || ev.type) {\n case 'mousedown':\n button = ev.button != null\n ? +ev.button\n : ev.which != null\n ? ev.which - 1\n : null;\n if (self.browser.isMSIE) {\n button = button === 1 ? 0 : button === 4 ? 1 : button;\n }\n break;\n case 'mouseup':\n button = 3;\n break;\n case 'DOMMouseScroll':\n button = ev.detail < 0\n ? 64\n : 65;\n break;\n case 'wheel':\n button = ev.wheelDeltaY > 0\n ? 64\n : 65;\n break;\n }\n shift = ev.shiftKey ? 4 : 0;\n meta = ev.metaKey ? 8 : 0;\n ctrl = ev.ctrlKey ? 16 : 0;\n mod = shift | meta | ctrl;\n if (self.vt200Mouse) {\n mod &= ctrl;\n }\n else if (!self.normalMouse) {\n mod = 0;\n }\n button = (32 + (mod << 2)) + button;\n return button;\n }\n on(el, 'mousedown', function (ev) {\n if (!self.mouseEvents)\n return;\n sendButton(ev);\n self.focus();\n if (self.vt200Mouse) {\n ev.overrideType = 'mouseup';\n sendButton(ev);\n return self.cancel(ev);\n }\n if (self.normalMouse)\n on(self.document, 'mousemove', sendMove);\n if (!self.x10Mouse) {\n on(self.document, 'mouseup', function up(ev) {\n sendButton(ev);\n if (self.normalMouse)\n off(self.document, 'mousemove', sendMove);\n off(self.document, 'mouseup', up);\n return self.cancel(ev);\n });\n }\n return self.cancel(ev);\n });\n on(el, 'wheel', function (ev) {\n if (!self.mouseEvents)\n return;\n if (self.x10Mouse\n || self.vt300Mouse\n || self.decLocator)\n return;\n sendButton(ev);\n return self.cancel(ev);\n });\n on(el, 'wheel', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onWheel(ev);\n return self.cancel(ev);\n });\n on(el, 'touchstart', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onTouchStart(ev);\n return self.cancel(ev);\n });\n on(el, 'touchmove', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onTouchMove(ev);\n return self.cancel(ev);\n });\n};\nTerminal.prototype.destroy = function () {\n this.readable = false;\n this.writable = false;\n this._events = {};\n this.handler = function () { };\n this.write = function () { };\n if (this.element && this.element.parentNode) {\n this.element.parentNode.removeChild(this.element);\n }\n};\nTerminal.prototype.refresh = function (start, end) {\n if (this.renderer) {\n this.renderer.queueRefresh(start, end);\n }\n};\nTerminal.prototype.queueLinkification = function (start, end) {\n if (this.linkifier) {\n for (var i = start; i <= end; i++) {\n this.linkifier.linkifyRow(i);\n }\n }\n};\nTerminal.prototype.showCursor = function () {\n if (!this.cursorState) {\n this.cursorState = 1;\n this.refresh(this.y, this.y);\n }\n};\nTerminal.prototype.scroll = function (isWrapped) {\n var row;\n if (this.lines.length === this.lines.maxLength) {\n this.lines.trimStart(1);\n this.ybase--;\n if (this.ydisp !== 0) {\n this.ydisp--;\n }\n }\n this.ybase++;\n if (!this.userScrolling) {\n this.ydisp = this.ybase;\n }\n row = this.ybase + this.rows - 1;\n row -= this.rows - 1 - this.scrollBottom;\n if (row === this.lines.length) {\n this.lines.push(this.blankLine(undefined, isWrapped));\n }\n else {\n this.lines.splice(row, 0, this.blankLine(undefined, isWrapped));\n }\n if (this.scrollTop !== 0) {\n if (this.ybase !== 0) {\n this.ybase--;\n if (!this.userScrolling) {\n this.ydisp = this.ybase;\n }\n }\n this.lines.splice(this.ybase + this.scrollTop, 1);\n }\n this.updateRange(this.scrollTop);\n this.updateRange(this.scrollBottom);\n this.emit('scroll', this.ydisp);\n};\nTerminal.prototype.scrollDisp = function (disp, suppressScrollEvent) {\n if (disp < 0) {\n if (this.ydisp === 0) {\n return;\n }\n this.userScrolling = true;\n }\n else if (disp + this.ydisp >= this.ybase) {\n this.userScrolling = false;\n }\n this.ydisp += disp;\n if (this.ydisp > this.ybase) {\n this.ydisp = this.ybase;\n }\n else if (this.ydisp < 0) {\n this.ydisp = 0;\n }\n if (!suppressScrollEvent) {\n this.emit('scroll', this.ydisp);\n }\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.scrollPages = function (pageCount) {\n this.scrollDisp(pageCount * (this.rows - 1));\n};\nTerminal.prototype.scrollToTop = function () {\n this.scrollDisp(-this.ydisp);\n};\nTerminal.prototype.scrollToBottom = function () {\n this.scrollDisp(this.ybase - this.ydisp);\n};\nTerminal.prototype.write = function (data) {\n this.writeBuffer.push(data);\n if (this.options.useFlowControl && !this.xoffSentToCatchUp && this.writeBuffer.length >= WRITE_BUFFER_PAUSE_THRESHOLD) {\n this.send(EscapeSequences_1.C0.DC3);\n this.xoffSentToCatchUp = true;\n }\n if (!this.writeInProgress && this.writeBuffer.length > 0) {\n this.writeInProgress = true;\n var self = this;\n setTimeout(function () {\n self.innerWrite();\n });\n }\n};\nTerminal.prototype.innerWrite = function () {\n var writeBatch = this.writeBuffer.splice(0, WRITE_BATCH_SIZE);\n while (writeBatch.length > 0) {\n var data = writeBatch.shift();\n var l = data.length, i = 0, j, cs, ch, code, low, ch_width, row;\n if (this.xoffSentToCatchUp && writeBatch.length === 0 && this.writeBuffer.length === 0) {\n this.send(EscapeSequences_1.C0.DC1);\n this.xoffSentToCatchUp = false;\n }\n this.refreshStart = this.y;\n this.refreshEnd = this.y;\n var state = this.parser.parse(data);\n this.parser.setState(state);\n this.updateRange(this.y);\n this.refresh(this.refreshStart, this.refreshEnd);\n }\n if (this.writeBuffer.length > 0) {\n var self = this;\n setTimeout(function () {\n self.innerWrite();\n }, 0);\n }\n else {\n this.writeInProgress = false;\n }\n};\nTerminal.prototype.writeln = function (data) {\n this.write(data + '\\r\\n');\n};\nTerminal.prototype.attachCustomKeydownHandler = function (customKeydownHandler) {\n var message = 'attachCustomKeydownHandler() is DEPRECATED and will be removed soon. Please use attachCustomKeyEventHandler() instead.';\n console.warn(message);\n this.attachCustomKeyEventHandler(customKeydownHandler);\n};\nTerminal.prototype.attachCustomKeyEventHandler = function (customKeyEventHandler) {\n this.customKeyEventHandler = customKeyEventHandler;\n};\nTerminal.prototype.setHypertextLinkHandler = function (handler) {\n if (!this.linkifier) {\n throw new Error('Cannot attach a hypertext link handler before Terminal.open is called');\n }\n this.linkifier.setHypertextLinkHandler(handler);\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.setHypertextValidationCallback = function (callback) {\n if (!this.linkifier) {\n throw new Error('Cannot attach a hypertext validation callback before Terminal.open is called');\n }\n this.linkifier.setHypertextValidationCallback(callback);\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.registerLinkMatcher = function (regex, handler, options) {\n if (this.linkifier) {\n var matcherId = this.linkifier.registerLinkMatcher(regex, handler, options);\n this.refresh(0, this.rows - 1);\n return matcherId;\n }\n};\nTerminal.prototype.deregisterLinkMatcher = function (matcherId) {\n if (this.linkifier) {\n if (this.linkifier.deregisterLinkMatcher(matcherId)) {\n this.refresh(0, this.rows - 1);\n }\n }\n};\nTerminal.prototype.hasSelection = function () {\n return this.selectionManager.hasSelection;\n};\nTerminal.prototype.getSelection = function () {\n return this.selectionManager.selectionText;\n};\nTerminal.prototype.clearSelection = function () {\n this.selectionManager.clearSelection();\n};\nTerminal.prototype.selectAll = function () {\n this.selectionManager.selectAll();\n};\nTerminal.prototype.keyDown = function (ev) {\n if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) {\n return false;\n }\n this.restartCursorBlinking();\n if (!this.compositionHelper.keydown.bind(this.compositionHelper)(ev)) {\n if (this.ybase !== this.ydisp) {\n this.scrollToBottom();\n }\n return false;\n }\n var self = this;\n var result = this.evaluateKeyEscapeSequence(ev);\n if (result.key === EscapeSequences_1.C0.DC3) {\n this.writeStopped = true;\n }\n else if (result.key === EscapeSequences_1.C0.DC1) {\n this.writeStopped = false;\n }\n if (result.scrollDisp) {\n this.scrollDisp(result.scrollDisp);\n return this.cancel(ev, true);\n }\n if (isThirdLevelShift(this, ev)) {\n return true;\n }\n if (result.cancel) {\n this.cancel(ev, true);\n }\n if (!result.key) {\n return true;\n }\n this.emit('keydown', ev);\n this.emit('key', result.key, ev);\n this.showCursor();\n this.handler(result.key);\n return this.cancel(ev, true);\n};\nTerminal.prototype.evaluateKeyEscapeSequence = function (ev) {\n var result = {\n cancel: false,\n key: undefined,\n scrollDisp: undefined\n };\n var modifiers = ev.shiftKey << 0 | ev.altKey << 1 | ev.ctrlKey << 2 | ev.metaKey << 3;\n switch (ev.keyCode) {\n case 8:\n if (ev.shiftKey) {\n result.key = EscapeSequences_1.C0.BS;\n break;\n }\n result.key = EscapeSequences_1.C0.DEL;\n break;\n case 9:\n if (ev.shiftKey) {\n result.key = EscapeSequences_1.C0.ESC + '[Z';\n break;\n }\n result.key = EscapeSequences_1.C0.HT;\n result.cancel = true;\n break;\n case 13:\n result.key = EscapeSequences_1.C0.CR;\n result.cancel = true;\n break;\n case 27:\n result.key = EscapeSequences_1.C0.ESC;\n result.cancel = true;\n break;\n case 37:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'D';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3D') {\n result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'b' : EscapeSequences_1.C0.ESC + '[1;5D';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OD';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[D';\n }\n break;\n case 39:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'C';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3C') {\n result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'f' : EscapeSequences_1.C0.ESC + '[1;5C';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OC';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[C';\n }\n break;\n case 38:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'A';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3A') {\n result.key = EscapeSequences_1.C0.ESC + '[1;5A';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OA';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[A';\n }\n break;\n case 40:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'B';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3B') {\n result.key = EscapeSequences_1.C0.ESC + '[1;5B';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OB';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[B';\n }\n break;\n case 45:\n if (!ev.shiftKey && !ev.ctrlKey) {\n result.key = EscapeSequences_1.C0.ESC + '[2~';\n }\n break;\n case 46:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[3;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[3~';\n }\n break;\n case 36:\n if (modifiers)\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'H';\n else if (this.applicationCursor)\n result.key = EscapeSequences_1.C0.ESC + 'OH';\n else\n result.key = EscapeSequences_1.C0.ESC + '[H';\n break;\n case 35:\n if (modifiers)\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'F';\n else if (this.applicationCursor)\n result.key = EscapeSequences_1.C0.ESC + 'OF';\n else\n result.key = EscapeSequences_1.C0.ESC + '[F';\n break;\n case 33:\n if (ev.shiftKey) {\n result.scrollDisp = -(this.rows - 1);\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[5~';\n }\n break;\n case 34:\n if (ev.shiftKey) {\n result.scrollDisp = this.rows - 1;\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[6~';\n }\n break;\n case 112:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'P';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OP';\n }\n break;\n case 113:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'Q';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OQ';\n }\n break;\n case 114:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'R';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OR';\n }\n break;\n case 115:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'S';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OS';\n }\n break;\n case 116:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[15;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[15~';\n }\n break;\n case 117:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[17;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[17~';\n }\n break;\n case 118:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[18;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[18~';\n }\n break;\n case 119:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[19;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[19~';\n }\n break;\n case 120:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[20;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[20~';\n }\n break;\n case 121:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[21;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[21~';\n }\n break;\n case 122:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[23;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[23~';\n }\n break;\n case 123:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[24;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[24~';\n }\n break;\n default:\n if (ev.ctrlKey && !ev.shiftKey && !ev.altKey && !ev.metaKey) {\n if (ev.keyCode >= 65 && ev.keyCode <= 90) {\n result.key = String.fromCharCode(ev.keyCode - 64);\n }\n else if (ev.keyCode === 32) {\n result.key = String.fromCharCode(0);\n }\n else if (ev.keyCode >= 51 && ev.keyCode <= 55) {\n result.key = String.fromCharCode(ev.keyCode - 51 + 27);\n }\n else if (ev.keyCode === 56) {\n result.key = String.fromCharCode(127);\n }\n else if (ev.keyCode === 219) {\n result.key = String.fromCharCode(27);\n }\n else if (ev.keyCode === 220) {\n result.key = String.fromCharCode(28);\n }\n else if (ev.keyCode === 221) {\n result.key = String.fromCharCode(29);\n }\n }\n else if (!this.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) {\n if (ev.keyCode >= 65 && ev.keyCode <= 90) {\n result.key = EscapeSequences_1.C0.ESC + String.fromCharCode(ev.keyCode + 32);\n }\n else if (ev.keyCode === 192) {\n result.key = EscapeSequences_1.C0.ESC + '`';\n }\n else if (ev.keyCode >= 48 && ev.keyCode <= 57) {\n result.key = EscapeSequences_1.C0.ESC + (ev.keyCode - 48);\n }\n }\n else if (this.browser.isMac && !ev.altKey && !ev.ctrlKey && ev.metaKey) {\n if (ev.keyCode === 65) {\n this.selectAll();\n }\n }\n break;\n }\n return result;\n};\nTerminal.prototype.setgLevel = function (g) {\n this.glevel = g;\n this.charset = this.charsets[g];\n};\nTerminal.prototype.setgCharset = function (g, charset) {\n this.charsets[g] = charset;\n if (this.glevel === g) {\n this.charset = charset;\n }\n};\nTerminal.prototype.keyPress = function (ev) {\n var key;\n if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) {\n return false;\n }\n this.cancel(ev);\n if (ev.charCode) {\n key = ev.charCode;\n }\n else if (ev.which == null) {\n key = ev.keyCode;\n }\n else if (ev.which !== 0 && ev.charCode !== 0) {\n key = ev.which;\n }\n else {\n return false;\n }\n if (!key || ((ev.altKey || ev.ctrlKey || ev.metaKey) && !isThirdLevelShift(this, ev))) {\n return false;\n }\n key = String.fromCharCode(key);\n this.emit('keypress', key, ev);\n this.emit('key', key, ev);\n this.showCursor();\n this.handler(key);\n return true;\n};\nTerminal.prototype.send = function (data) {\n var self = this;\n if (!this.queue) {\n setTimeout(function () {\n self.handler(self.queue);\n self.queue = '';\n }, 1);\n }\n this.queue += data;\n};\nTerminal.prototype.bell = function () {\n if (!this.visualBell)\n return;\n var self = this;\n this.element.style.borderColor = 'white';\n setTimeout(function () {\n self.element.style.borderColor = '';\n }, 10);\n if (this.popOnBell)\n this.focus();\n};\nTerminal.prototype.log = function () {\n if (!this.debug)\n return;\n if (!this.context.console || !this.context.console.log)\n return;\n var args = Array.prototype.slice.call(arguments);\n this.context.console.log.apply(this.context.console, args);\n};\nTerminal.prototype.error = function () {\n if (!this.debug)\n return;\n if (!this.context.console || !this.context.console.error)\n return;\n var args = Array.prototype.slice.call(arguments);\n this.context.console.error.apply(this.context.console, args);\n};\nTerminal.prototype.resize = function (x, y) {\n if (isNaN(x) || isNaN(y)) {\n return;\n }\n if (y > this.getOption('scrollback')) {\n this.setOption('scrollback', y);\n }\n var line, el, i, j, ch, addToY;\n if (x === this.cols && y === this.rows) {\n return;\n }\n if (x < 1)\n x = 1;\n if (y < 1)\n y = 1;\n j = this.cols;\n if (j < x) {\n ch = [this.defAttr, ' ', 1];\n i = this.lines.length;\n while (i--) {\n while (this.lines.get(i).length < x) {\n this.lines.get(i).push(ch);\n }\n }\n }\n this.cols = x;\n this.setupStops(this.cols);\n j = this.rows;\n addToY = 0;\n if (j < y) {\n el = this.element;\n while (j++ < y) {\n if (this.lines.length < y + this.ybase) {\n if (this.ybase > 0 && this.lines.length <= this.ybase + this.y + addToY + 1) {\n this.ybase--;\n addToY++;\n if (this.ydisp > 0) {\n this.ydisp--;\n }\n }\n else {\n this.lines.push(this.blankLine());\n }\n }\n if (this.children.length < y) {\n this.insertRow();\n }\n }\n }\n else {\n while (j-- > y) {\n if (this.lines.length > y + this.ybase) {\n if (this.lines.length > this.ybase + this.y + 1) {\n this.lines.pop();\n }\n else {\n this.ybase++;\n this.ydisp++;\n }\n }\n if (this.children.length > y) {\n el = this.children.shift();\n if (!el)\n continue;\n el.parentNode.removeChild(el);\n }\n }\n }\n this.rows = y;\n if (this.y >= y) {\n this.y = y - 1;\n }\n if (addToY) {\n this.y += addToY;\n }\n if (this.x >= x) {\n this.x = x - 1;\n }\n this.scrollTop = 0;\n this.scrollBottom = y - 1;\n this.charMeasure.measure();\n this.refresh(0, this.rows - 1);\n this.normal = null;\n this.geometry = [this.cols, this.rows];\n this.emit('resize', { terminal: this, cols: x, rows: y });\n};\nTerminal.prototype.updateRange = function (y) {\n if (y < this.refreshStart)\n this.refreshStart = y;\n if (y > this.refreshEnd)\n this.refreshEnd = y;\n};\nTerminal.prototype.maxRange = function () {\n this.refreshStart = 0;\n this.refreshEnd = this.rows - 1;\n};\nTerminal.prototype.setupStops = function (i) {\n if (i != null) {\n if (!this.tabs[i]) {\n i = this.prevStop(i);\n }\n }\n else {\n this.tabs = {};\n i = 0;\n }\n for (; i < this.cols; i += this.getOption('tabStopWidth')) {\n this.tabs[i] = true;\n }\n};\nTerminal.prototype.prevStop = function (x) {\n if (x == null)\n x = this.x;\n while (!this.tabs[--x] && x > 0)\n ;\n return x >= this.cols\n ? this.cols - 1\n : x < 0 ? 0 : x;\n};\nTerminal.prototype.nextStop = function (x) {\n if (x == null)\n x = this.x;\n while (!this.tabs[++x] && x < this.cols)\n ;\n return x >= this.cols\n ? this.cols - 1\n : x < 0 ? 0 : x;\n};\nTerminal.prototype.eraseRight = function (x, y) {\n var line = this.lines.get(this.ybase + y);\n if (!line) {\n return;\n }\n var ch = [this.eraseAttr(), ' ', 1];\n for (; x < this.cols; x++) {\n line[x] = ch;\n }\n this.updateRange(y);\n};\nTerminal.prototype.eraseLeft = function (x, y) {\n var line = this.lines.get(this.ybase + y);\n if (!line) {\n return;\n }\n var ch = [this.eraseAttr(), ' ', 1];\n x++;\n while (x--) {\n line[x] = ch;\n }\n this.updateRange(y);\n};\nTerminal.prototype.clear = function () {\n if (this.ybase === 0 && this.y === 0) {\n return;\n }\n this.lines.set(0, this.lines.get(this.ybase + this.y));\n this.lines.length = 1;\n this.ydisp = 0;\n this.ybase = 0;\n this.y = 0;\n for (var i = 1; i < this.rows; i++) {\n this.lines.push(this.blankLine());\n }\n this.refresh(0, this.rows - 1);\n this.emit('scroll', this.ydisp);\n};\nTerminal.prototype.eraseLine = function (y) {\n this.eraseRight(0, y);\n};\nTerminal.prototype.blankLine = function (cur, isWrapped) {\n var attr = cur\n ? this.eraseAttr()\n : this.defAttr;\n var ch = [attr, ' ', 1], line = [], i = 0;\n if (isWrapped) {\n line.isWrapped = isWrapped;\n }\n for (; i < this.cols; i++) {\n line[i] = ch;\n }\n return line;\n};\nTerminal.prototype.ch = function (cur) {\n return cur\n ? [this.eraseAttr(), ' ', 1]\n : [this.defAttr, ' ', 1];\n};\nTerminal.prototype.is = function (term) {\n var name = this.termName;\n return (name + '').indexOf(term) === 0;\n};\nTerminal.prototype.handler = function (data) {\n if (this.options.disableStdin) {\n return;\n }\n if (this.ybase !== this.ydisp) {\n this.scrollToBottom();\n }\n this.emit('data', data);\n};\nTerminal.prototype.handleTitle = function (title) {\n this.emit('title', title);\n};\nTerminal.prototype.index = function () {\n this.y++;\n if (this.y > this.scrollBottom) {\n this.y--;\n this.scroll();\n }\n if (this.x >= this.cols) {\n this.x--;\n }\n};\nTerminal.prototype.reverseIndex = function () {\n var j;\n if (this.y === this.scrollTop) {\n this.lines.shiftElements(this.y + this.ybase, this.rows - 1, 1);\n this.lines.set(this.y + this.ybase, this.blankLine(true));\n this.updateRange(this.scrollTop);\n this.updateRange(this.scrollBottom);\n }\n else {\n this.y--;\n }\n};\nTerminal.prototype.reset = function () {\n this.options.rows = this.rows;\n this.options.cols = this.cols;\n var customKeyEventHandler = this.customKeyEventHandler;\n var cursorBlinkInterval = this.cursorBlinkInterval;\n Terminal.call(this, this.options);\n this.customKeyEventHandler = customKeyEventHandler;\n this.cursorBlinkInterval = cursorBlinkInterval;\n this.refresh(0, this.rows - 1);\n this.viewport.syncScrollArea();\n};\nTerminal.prototype.tabSet = function () {\n this.tabs[this.x] = true;\n};\nfunction on(el, type, handler, capture) {\n if (!Array.isArray(el)) {\n el = [el];\n }\n el.forEach(function (element) {\n element.addEventListener(type, handler, capture || false);\n });\n}\nfunction off(el, type, handler, capture) {\n el.removeEventListener(type, handler, capture || false);\n}\nfunction cancel(ev, force) {\n if (!this.cancelEvents && !force) {\n return;\n }\n ev.preventDefault();\n ev.stopPropagation();\n return false;\n}\nfunction inherits(child, parent) {\n function f() {\n this.constructor = child;\n }\n f.prototype = parent.prototype;\n child.prototype = new f;\n}\nfunction indexOf(obj, el) {\n var i = obj.length;\n while (i--) {\n if (obj[i] === el)\n return i;\n }\n return -1;\n}\nfunction isThirdLevelShift(term, ev) {\n var thirdLevelKey = (term.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) ||\n (term.browser.isMSWindows && ev.altKey && ev.ctrlKey && !ev.metaKey);\n if (ev.type == 'keypress') {\n return thirdLevelKey;\n }\n return thirdLevelKey && (!ev.keyCode || ev.keyCode > 47);\n}\nTerminal.prototype.matchColor = matchColor;\nfunction matchColor(r1, g1, b1) {\n var hash = (r1 << 16) | (g1 << 8) | b1;\n if (matchColor._cache[hash] != null) {\n return matchColor._cache[hash];\n }\n var ldiff = Infinity, li = -1, i = 0, c, r2, g2, b2, diff;\n for (; i < Terminal.vcolors.length; i++) {\n c = Terminal.vcolors[i];\n r2 = c[0];\n g2 = c[1];\n b2 = c[2];\n diff = matchColor.distance(r1, g1, b1, r2, g2, b2);\n if (diff === 0) {\n li = i;\n break;\n }\n if (diff < ldiff) {\n ldiff = diff;\n li = i;\n }\n }\n return matchColor._cache[hash] = li;\n}\nmatchColor._cache = {};\nmatchColor.distance = function (r1, g1, b1, r2, g2, b2) {\n return Math.pow(30 * (r1 - r2), 2)\n + Math.pow(59 * (g1 - g2), 2)\n + Math.pow(11 * (b1 - b2), 2);\n};\nfunction each(obj, iter, con) {\n if (obj.forEach)\n return obj.forEach(iter, con);\n for (var i = 0; i < obj.length; i++) {\n iter.call(con, obj[i], i, obj);\n }\n}\nfunction wasMondifierKeyOnlyEvent(ev) {\n return ev.keyCode === 16 ||\n ev.keyCode === 17 ||\n ev.keyCode === 18;\n}\nfunction keys(obj) {\n if (Object.keys)\n return Object.keys(obj);\n var key, keys = [];\n for (key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n keys.push(key);\n }\n }\n return keys;\n}\nTerminal.EventEmitter = EventEmitter_1.EventEmitter;\nTerminal.inherits = inherits;\nTerminal.on = on;\nTerminal.off = off;\nTerminal.cancel = cancel;\nmodule.exports = Terminal;\n\n//# sourceMappingURL=xterm.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/xterm.js\n// module id = 0\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n;\nvar EventEmitter = (function () {\n function EventEmitter() {\n this._events = this._events || {};\n }\n EventEmitter.prototype.on = function (type, listener) {\n this._events[type] = this._events[type] || [];\n this._events[type].push(listener);\n };\n EventEmitter.prototype.off = function (type, listener) {\n if (!this._events[type]) {\n return;\n }\n var obj = this._events[type];\n var i = obj.length;\n while (i--) {\n if (obj[i] === listener || obj[i].listener === listener) {\n obj.splice(i, 1);\n return;\n }\n }\n };\n EventEmitter.prototype.removeAllListeners = function (type) {\n if (this._events[type]) {\n delete this._events[type];\n }\n };\n EventEmitter.prototype.once = function (type, listener) {\n function on() {\n var args = Array.prototype.slice.call(arguments);\n this.off(type, on);\n return listener.apply(this, args);\n }\n on.listener = listener;\n return this.on(type, on);\n };\n EventEmitter.prototype.emit = function (type) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!this._events[type]) {\n return;\n }\n var obj = this._events[type];\n for (var i = 0; i < obj.length; i++) {\n obj[i].apply(this, args);\n }\n };\n EventEmitter.prototype.listeners = function (type) {\n return this._events[type] || [];\n };\n return EventEmitter;\n}());\nexports.EventEmitter = EventEmitter;\n\n//# sourceMappingURL=EventEmitter.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/EventEmitter.js\n// module id = 1\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar C0;\n(function (C0) {\n C0.NUL = '\\x00';\n C0.SOH = '\\x01';\n C0.STX = '\\x02';\n C0.ETX = '\\x03';\n C0.EOT = '\\x04';\n C0.ENQ = '\\x05';\n C0.ACK = '\\x06';\n C0.BEL = '\\x07';\n C0.BS = '\\x08';\n C0.HT = '\\x09';\n C0.LF = '\\x0a';\n C0.VT = '\\x0b';\n C0.FF = '\\x0c';\n C0.CR = '\\x0d';\n C0.SO = '\\x0e';\n C0.SI = '\\x0f';\n C0.DLE = '\\x10';\n C0.DC1 = '\\x11';\n C0.DC2 = '\\x12';\n C0.DC3 = '\\x13';\n C0.DC4 = '\\x14';\n C0.NAK = '\\x15';\n C0.SYN = '\\x16';\n C0.ETB = '\\x17';\n C0.CAN = '\\x18';\n C0.EM = '\\x19';\n C0.SUB = '\\x1a';\n C0.ESC = '\\x1b';\n C0.FS = '\\x1c';\n C0.GS = '\\x1d';\n C0.RS = '\\x1e';\n C0.US = '\\x1f';\n C0.SP = '\\x20';\n C0.DEL = '\\x7f';\n})(C0 = exports.C0 || (exports.C0 = {}));\n;\n\n//# sourceMappingURL=EscapeSequences.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/EscapeSequences.js\n// module id = 2\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CHARSETS = {};\nexports.DEFAULT_CHARSET = exports.CHARSETS['B'];\nexports.CHARSETS['0'] = {\n '`': '\\u25c6',\n 'a': '\\u2592',\n 'b': '\\u0009',\n 'c': '\\u000c',\n 'd': '\\u000d',\n 'e': '\\u000a',\n 'f': '\\u00b0',\n 'g': '\\u00b1',\n 'h': '\\u2424',\n 'i': '\\u000b',\n 'j': '\\u2518',\n 'k': '\\u2510',\n 'l': '\\u250c',\n 'm': '\\u2514',\n 'n': '\\u253c',\n 'o': '\\u23ba',\n 'p': '\\u23bb',\n 'q': '\\u2500',\n 'r': '\\u23bc',\n 's': '\\u23bd',\n 't': '\\u251c',\n 'u': '\\u2524',\n 'v': '\\u2534',\n 'w': '\\u252c',\n 'x': '\\u2502',\n 'y': '\\u2264',\n 'z': '\\u2265',\n '{': '\\u03c0',\n '|': '\\u2260',\n '}': '\\u00a3',\n '~': '\\u00b7'\n};\nexports.CHARSETS['A'] = {\n '#': '£'\n};\nexports.CHARSETS['B'] = null;\nexports.CHARSETS['4'] = {\n '#': '£',\n '@': '¾',\n '[': 'ij',\n '\\\\': '½',\n ']': '|',\n '{': '¨',\n '|': 'f',\n '}': '¼',\n '~': '´'\n};\nexports.CHARSETS['C'] =\n exports.CHARSETS['5'] = {\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Å',\n '^': 'Ü',\n '`': 'é',\n '{': 'ä',\n '|': 'ö',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['R'] = {\n '#': '£',\n '@': 'à',\n '[': '°',\n '\\\\': 'ç',\n ']': '§',\n '{': 'é',\n '|': 'ù',\n '}': 'è',\n '~': '¨'\n};\nexports.CHARSETS['Q'] = {\n '@': 'à',\n '[': 'â',\n '\\\\': 'ç',\n ']': 'ê',\n '^': 'î',\n '`': 'ô',\n '{': 'é',\n '|': 'ù',\n '}': 'è',\n '~': 'û'\n};\nexports.CHARSETS['K'] = {\n '@': '§',\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Ü',\n '{': 'ä',\n '|': 'ö',\n '}': 'ü',\n '~': 'ß'\n};\nexports.CHARSETS['Y'] = {\n '#': '£',\n '@': '§',\n '[': '°',\n '\\\\': 'ç',\n ']': 'é',\n '`': 'ù',\n '{': 'à',\n '|': 'ò',\n '}': 'è',\n '~': 'ì'\n};\nexports.CHARSETS['E'] =\n exports.CHARSETS['6'] = {\n '@': 'Ä',\n '[': 'Æ',\n '\\\\': 'Ø',\n ']': 'Å',\n '^': 'Ü',\n '`': 'ä',\n '{': 'æ',\n '|': 'ø',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['Z'] = {\n '#': '£',\n '@': '§',\n '[': '¡',\n '\\\\': 'Ñ',\n ']': '¿',\n '{': '°',\n '|': 'ñ',\n '}': 'ç'\n};\nexports.CHARSETS['H'] =\n exports.CHARSETS['7'] = {\n '@': 'É',\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Å',\n '^': 'Ü',\n '`': 'é',\n '{': 'ä',\n '|': 'ö',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['='] = {\n '#': 'ù',\n '@': 'à',\n '[': 'é',\n '\\\\': 'ç',\n ']': 'ê',\n '^': 'î',\n '_': 'è',\n '`': 'ô',\n '{': 'ä',\n '|': 'ö',\n '}': 'ü',\n '~': 'û'\n};\n\n//# sourceMappingURL=Charsets.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Charsets.js\n// module id = 3\n// module chunks = 0","/**\n * Implements the attach method, that attaches the terminal to a WebSocket stream.\n * @module xterm/addons/attach/attach\n * @license MIT\n */\n\n(function (attach) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = attach(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], attach);\n } else {\n /*\n * Plain browser environment\n */\n attach(window.Terminal);\n }\n})(function (Xterm) {\n 'use strict';\n\n var exports = {};\n\n /**\n * Attaches the given terminal to the given socket.\n *\n * @param {Xterm} term - The terminal to be attached to the given socket.\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n exports.attach = function (term, socket, bidirectional, buffered) {\n bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;\n term.socket = socket;\n\n term._flushBuffer = function () {\n term.write(term._attachSocketBuffer);\n term._attachSocketBuffer = null;\n clearTimeout(term._attachSocketBufferTimer);\n term._attachSocketBufferTimer = null;\n };\n\n term._pushToBuffer = function (data) {\n if (term._attachSocketBuffer) {\n term._attachSocketBuffer += data;\n } else {\n term._attachSocketBuffer = data;\n setTimeout(term._flushBuffer, 10);\n }\n };\n\n term._getMessage = function (ev) {\n if (buffered) {\n term._pushToBuffer(ev.data);\n } else {\n term.write(ev.data);\n }\n };\n\n term._sendData = function (data) {\n socket.send(data);\n };\n\n socket.addEventListener('message', term._getMessage);\n\n if (bidirectional) {\n term.on('data', term._sendData);\n }\n\n socket.addEventListener('close', term.detach.bind(term, socket));\n socket.addEventListener('error', term.detach.bind(term, socket));\n };\n\n /**\n * Detaches the given terminal from the given socket\n *\n * @param {Xterm} term - The terminal to be detached from the given socket.\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n exports.detach = function (term, socket) {\n term.off('data', term._sendData);\n\n socket = (typeof socket == 'undefined') ? term.socket : socket;\n\n if (socket) {\n socket.removeEventListener('message', term._getMessage);\n }\n\n delete term.socket;\n };\n\n /**\n * Attaches the current terminal to the given socket\n *\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n Xterm.prototype.attach = function (socket, bidirectional, buffered) {\n return exports.attach(this, socket, bidirectional, buffered);\n };\n\n /**\n * Detaches the current terminal from the given socket.\n *\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n Xterm.prototype.detach = function (socket) {\n return exports.detach(this, socket);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/attach/attach.js\n// module id = 4\n// module chunks = 0","/**\n * Fit terminal columns and rows to the dimensions of its DOM element.\n *\n * ## Approach\n * - Rows: Truncate the division of the terminal parent element height by the terminal row height.\n *\n * - Columns: Truncate the division of the terminal parent element width by the terminal character\n * width (apply display: inline at the terminal row and truncate its width with the current\n * number of columns).\n * @module xterm/addons/fit/fit\n * @license MIT\n */\n\n(function (fit) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = fit(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], fit);\n } else {\n /*\n * Plain browser environment\n */\n fit(window.Terminal);\n }\n})(function (Xterm) {\n var exports = {};\n\n exports.proposeGeometry = function (term) {\n if (!term.element.parentElement) {\n return null;\n }\n var parentElementStyle = window.getComputedStyle(term.element.parentElement),\n parentElementHeight = parseInt(parentElementStyle.getPropertyValue('height')),\n parentElementWidth = Math.max(0, parseInt(parentElementStyle.getPropertyValue('width')) - 17),\n elementStyle = window.getComputedStyle(term.element),\n elementPaddingVer = parseInt(elementStyle.getPropertyValue('padding-top')) + parseInt(elementStyle.getPropertyValue('padding-bottom')),\n elementPaddingHor = parseInt(elementStyle.getPropertyValue('padding-right')) + parseInt(elementStyle.getPropertyValue('padding-left')),\n availableHeight = parentElementHeight - elementPaddingVer,\n availableWidth = parentElementWidth - elementPaddingHor,\n container = term.rowContainer,\n subjectRow = term.rowContainer.firstElementChild,\n contentBuffer = subjectRow.innerHTML,\n characterHeight,\n rows,\n characterWidth,\n cols,\n geometry;\n\n subjectRow.style.display = 'inline';\n subjectRow.innerHTML = 'W'; // Common character for measuring width, although on monospace\n characterWidth = subjectRow.getBoundingClientRect().width;\n subjectRow.style.display = ''; // Revert style before calculating height, since they differ.\n characterHeight = subjectRow.getBoundingClientRect().height;\n subjectRow.innerHTML = contentBuffer;\n\n rows = parseInt(availableHeight / characterHeight);\n cols = parseInt(availableWidth / characterWidth);\n\n geometry = {cols: cols, rows: rows};\n return geometry;\n };\n\n exports.fit = function (term) {\n var geometry = exports.proposeGeometry(term);\n\n if (geometry) {\n term.resize(geometry.cols, geometry.rows);\n }\n };\n\n Xterm.prototype.proposeGeometry = function () {\n return exports.proposeGeometry(this);\n };\n\n Xterm.prototype.fit = function () {\n return exports.fit(this);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fit/fit.js\n// module id = 5\n// module chunks = 0","/**\n * Fullscreen addon for xterm.js\n * @module xterm/addons/fullscreen/fullscreen\n * @license MIT\n */\n(function (fullscreen) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = fullscreen(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], fullscreen);\n } else {\n /*\n * Plain browser environment\n */\n fullscreen(window.Terminal);\n }\n})(function (Xterm) {\n var exports = {};\n\n /**\n * Toggle the given terminal's fullscreen mode.\n * @param {Xterm} term - The terminal to toggle full screen mode\n * @param {boolean} fullscreen - Toggle fullscreen on (true) or off (false)\n */\n exports.toggleFullScreen = function (term, fullscreen) {\n var fn;\n\n if (typeof fullscreen == 'undefined') {\n fn = (term.element.classList.contains('fullscreen')) ? 'remove' : 'add';\n } else if (!fullscreen) {\n fn = 'remove';\n } else {\n fn = 'add';\n }\n\n term.element.classList[fn]('fullscreen');\n };\n\n Xterm.prototype.toggleFullscreen = function (fullscreen) {\n exports.toggleFullScreen(this, fullscreen);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fullscreen/fullscreen.js\n// module id = 6\n// module chunks = 0","/**\n * This module provides methods for attaching a terminal to a terminado WebSocket stream.\n *\n * @module xterm/addons/terminado/terminado\n * @license MIT\n */\n\n(function (attach) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = attach(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], attach);\n } else {\n /*\n * Plain browser environment\n */\n attach(window.Terminal);\n }\n})(function (Xterm) {\n 'use strict';\n\n var exports = {};\n\n /**\n * Attaches the given terminal to the given socket.\n *\n * @param {Xterm} term - The terminal to be attached to the given socket.\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n exports.terminadoAttach = function (term, socket, bidirectional, buffered) {\n bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;\n term.socket = socket;\n\n term._flushBuffer = function () {\n term.write(term._attachSocketBuffer);\n term._attachSocketBuffer = null;\n clearTimeout(term._attachSocketBufferTimer);\n term._attachSocketBufferTimer = null;\n };\n\n term._pushToBuffer = function (data) {\n if (term._attachSocketBuffer) {\n term._attachSocketBuffer += data;\n } else {\n term._attachSocketBuffer = data;\n setTimeout(term._flushBuffer, 10);\n }\n };\n\n term._getMessage = function (ev) {\n var data = JSON.parse(ev.data)\n if( data[0] == \"stdout\" ) {\n if (buffered) {\n term._pushToBuffer(data[1]);\n } else {\n term.write(data[1]);\n }\n }\n };\n\n term._sendData = function (data) {\n socket.send(JSON.stringify(['stdin', data]));\n };\n\n term._setSize = function (size) {\n socket.send(JSON.stringify(['set_size', size.rows, size.cols]));\n };\n\n socket.addEventListener('message', term._getMessage);\n\n if (bidirectional) {\n term.on('data', term._sendData);\n }\n term.on('resize', term._setSize);\n\n socket.addEventListener('close', term.terminadoDetach.bind(term, socket));\n socket.addEventListener('error', term.terminadoDetach.bind(term, socket));\n };\n\n /**\n * Detaches the given terminal from the given socket\n *\n * @param {Xterm} term - The terminal to be detached from the given socket.\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n exports.terminadoDetach = function (term, socket) {\n term.off('data', term._sendData);\n\n socket = (typeof socket == 'undefined') ? term.socket : socket;\n\n if (socket) {\n socket.removeEventListener('message', term._getMessage);\n }\n\n delete term.socket;\n };\n\n /**\n * Attaches the current terminal to the given socket\n *\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n Xterm.prototype.terminadoAttach = function (socket, bidirectional, buffered) {\n return exports.terminadoAttach(this, socket, bidirectional, buffered);\n };\n\n /**\n * Detaches the current terminal from the given socket.\n *\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n Xterm.prototype.terminadoDetach = function (socket) {\n return exports.terminadoDetach(this, socket);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/terminado/terminado.js\n// module id = 7\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Generic_1 = require(\"./Generic\");\nvar isNode = (typeof navigator === 'undefined') ? true : false;\nvar userAgent = (isNode) ? 'node' : navigator.userAgent;\nvar platform = (isNode) ? 'node' : navigator.platform;\nexports.isFirefox = !!~userAgent.indexOf('Firefox');\nexports.isMSIE = !!~userAgent.indexOf('MSIE') || !!~userAgent.indexOf('Trident');\nexports.isMac = Generic_1.contains(['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'], platform);\nexports.isIpad = platform === 'iPad';\nexports.isIphone = platform === 'iPhone';\nexports.isMSWindows = Generic_1.contains(['Windows', 'Win16', 'Win32', 'WinCE'], platform);\nexports.isLinux = platform.indexOf('Linux') >= 0;\n\n//# sourceMappingURL=Browser.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Browser.js\n// module id = 8\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction getCoordsRelativeToElement(event, element) {\n if (event.pageX == null) {\n return null;\n }\n var x = event.pageX;\n var y = event.pageY;\n while (element && element !== self.document.documentElement) {\n x -= element.offsetLeft;\n y -= element.offsetTop;\n element = 'offsetParent' in element ? element.offsetParent : element.parentElement;\n }\n return [x, y];\n}\nexports.getCoordsRelativeToElement = getCoordsRelativeToElement;\nfunction getCoords(event, rowContainer, charMeasure, colCount, rowCount, isSelection) {\n var coords = getCoordsRelativeToElement(event, rowContainer);\n coords[0] = Math.ceil((coords[0] + (isSelection ? charMeasure.width / 2 : 0)) / charMeasure.width);\n coords[1] = Math.ceil(coords[1] / charMeasure.height);\n coords[0] = Math.min(Math.max(coords[0], 1), colCount + 1);\n coords[1] = Math.min(Math.max(coords[1], 1), rowCount + 1);\n return coords;\n}\nexports.getCoords = getCoords;\nfunction getRawByteCoords(event, rowContainer, charMeasure, colCount, rowCount) {\n var coords = getCoords(event, rowContainer, charMeasure, colCount, rowCount);\n var x = coords[0];\n var y = coords[1];\n x += 32;\n y += 32;\n return { x: x, y: y };\n}\nexports.getRawByteCoords = getRawByteCoords;\n\n//# sourceMappingURL=Mouse.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Mouse.js\n// module id = 9\n// module chunks = 0","import * as bare from \"hterm\";\nimport * as bareLib from \"htermLib\";\n\nexport class TermHterm {\n elem: HTMLElement;\n\n term: bare.Terminal;\n io: bare.IO;\n\n columns: number;\n rows: number;\n\n // to \"show\" the current message when removeMessage() is called\n message: string;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n hterm.defaultStorage = new bareLib.Storage.Memory();\n this.term = new bare.Terminal();\n this.term.getPrefs().set(\"send-encoding\", \"raw\");\n this.term.decorate(this.elem);\n\n this.io = this.term.io.push();\n this.term.installKeyboard();\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.columns, rows: this.rows };\n };\n\n output(data: string) {\n if (this.term.io != null) {\n this.term.io.writeUTF16(data);\n }\n };\n\n showMessage(message: string, timeout: number) {\n this.message = message;\n if (timeout > 0) {\n this.term.io.showOverlay(message, timeout);\n } else {\n this.term.io.showOverlay(message, null);\n }\n };\n\n removeMessage(): void {\n // there is no hideOverlay(), so show the same message with 0 sec\n this.term.io.showOverlay(this.message, 0);\n }\n\n setWindowTitle(title: string) {\n this.term.setWindowTitle(title);\n };\n\n setPreferences(value: object) {\n Object.keys(value).forEach((key) => {\n this.term.getPrefs().set(key, value[key]);\n });\n };\n\n onInput(callback: (input: string) => void) {\n this.io.onVTKeystroke = (data) => {\n callback(data);\n };\n this.io.sendString = (data) => {\n callback(data);\n };\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.io.onTerminalResize = (columns: number, rows: number) => {\n this.columns = columns;\n this.rows = rows;\n callback(columns, rows);\n };\n };\n\n deactivate(): void {\n this.io.onVTKeystroke = null;\n this.io.sendString = null\n this.io.onTerminalResize = null;\n this.term.uninstallKeyboard();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.installKeyboard();\n }\n\n close(): void {\n this.term.uninstallKeyboard();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/hterm.ts","export class ConnectionFactory {\n url: string;\n protocols: string[];\n\n constructor(url: string, protocols: string[]) {\n this.url = url;\n this.protocols = protocols;\n };\n\n create(): Connection {\n return new Connection(this.url, this.protocols);\n };\n}\n\nexport class Connection {\n bare: WebSocket;\n\n\n constructor(url: string, protocols: string[]) {\n this.bare = new WebSocket(url, protocols);\n }\n\n open() {\n // nothing todo for websocket\n };\n\n close() {\n this.bare.close();\n };\n\n send(data: string) {\n this.bare.send(data);\n };\n\n isOpen(): boolean {\n if (this.bare.readyState == WebSocket.CONNECTING ||\n this.bare.readyState == WebSocket.OPEN) {\n return true\n }\n return false\n }\n\n onOpen(callback: () => void) {\n this.bare.onopen = (event) => {\n callback();\n }\n };\n\n onReceive(callback: (data: string) => void) {\n this.bare.onmessage = (event) => {\n callback(event.data);\n }\n };\n\n onClose(callback: () => void) {\n this.bare.onclose = (event) => {\n callback();\n };\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/websocket.ts","export const protocols = [\"webtty\"];\n\nexport const msgInputUnknown = '0';\nexport const msgInput = '1';\nexport const msgPing = '2';\nexport const msgResizeTerminal = '3';\n\nexport const msgUnknownOutput = '0';\nexport const msgOutput = '1';\nexport const msgPong = '2';\nexport const msgSetWindowTitle = '3';\nexport const msgSetPreferences = '4';\nexport const msgSetReconnect = '5';\n\n\nexport interface Terminal {\n info(): { columns: number, rows: number };\n output(data: string): void;\n showMessage(message: string, timeout: number): void;\n removeMessage(): void;\n setWindowTitle(title: string): void;\n setPreferences(value: object): void;\n onInput(callback: (input: string) => void): void;\n onResize(callback: (colmuns: number, rows: number) => void): void;\n reset(): void;\n deactivate(): void;\n close(): void;\n}\n\nexport interface Connection {\n open(): void;\n close(): void;\n send(data: string): void;\n isOpen(): boolean;\n onOpen(callback: () => void): void;\n onReceive(callback: (data: string) => void): void;\n onClose(callback: () => void): void;\n}\n\nexport interface ConnectionFactory {\n create(): Connection;\n}\n\n\nexport class WebTTY {\n term: Terminal;\n connectionFactory: ConnectionFactory;\n args: string;\n authToken: string;\n reconnect: number;\n\n constructor(term: Terminal, connectionFactory: ConnectionFactory, args: string, authToken: string) {\n this.term = term;\n this.connectionFactory = connectionFactory;\n this.args = args;\n this.authToken = authToken;\n this.reconnect = -1;\n };\n\n open() {\n let connection = this.connectionFactory.create();\n let pingTimer: number;\n let reconnectTimeout: number;\n\n const setup = () => {\n connection.onOpen(() => {\n const termInfo = this.term.info();\n\n connection.send(JSON.stringify(\n {\n Arguments: this.args,\n AuthToken: this.authToken,\n }\n ));\n\n\n const resizeHandler = (colmuns: number, rows: number) => {\n connection.send(\n msgResizeTerminal + JSON.stringify(\n {\n columns: colmuns,\n rows: rows\n }\n )\n );\n };\n\n this.term.onResize(resizeHandler);\n resizeHandler(termInfo.columns, termInfo.rows);\n\n this.term.onInput(\n (input: string) => {\n connection.send(msgInput + input);\n }\n );\n\n pingTimer = setInterval(() => {\n connection.send(msgPing)\n }, 30 * 1000);\n\n });\n\n connection.onReceive((data) => {\n const payload = data.slice(1);\n switch (data[0]) {\n case msgOutput:\n this.term.output(\n decodeURIComponent(Array.prototype.map.call(atob(payload), function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''))\n );\n break;\n case msgPong:\n break;\n case msgSetWindowTitle:\n this.term.setWindowTitle(payload);\n break;\n case msgSetPreferences:\n const preferences = JSON.parse(payload);\n this.term.setPreferences(preferences);\n break;\n case msgSetReconnect:\n const autoReconnect = JSON.parse(payload);\n console.log(\"Enabling reconnect: \" + autoReconnect + \" seconds\")\n this.reconnect = autoReconnect;\n break;\n }\n });\n\n connection.onClose(() => {\n clearInterval(pingTimer);\n this.term.deactivate();\n this.term.showMessage(\"Connection Closed\", 0);\n if (this.reconnect > 0) {\n reconnectTimeout = setTimeout(() => {\n connection = this.connectionFactory.create();\n this.term.reset();\n setup();\n }, this.reconnect * 1000);\n }\n });\n\n connection.open();\n }\n\n setup();\n return () => {\n clearTimeout(reconnectTimeout);\n connection.close();\n }\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/webtty.ts","import * as bare from \"xterm\";\n\nbare.loadAddon(\"fit\");\n\nexport class TermXterm {\n elem: HTMLElement;\n\n message: HTMLElement;\n messageTimeout: number;\n messageTimer: number;\n\n term: bare;\n resizeListener: () => void;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n this.term = new bare();\n\n this.message = elem.ownerDocument.createElement(\"div\");\n this.message.className = \"xterm-overlay\";\n this.messageTimeout = 2000;\n\n\n this.resizeListener = () => {\n this.term.fit();\n this.term.scrollToBottom();\n this.showMessage(String(this.term.cols) + \"x\" + String(this.term.rows), this.messageTimeout);\n };\n\n this.term.on(\"open\", () => {\n this.resizeListener();\n window.addEventListener(\"resize\", () => { this.resizeListener(); });\n });\n\n this.term.open(elem, true);\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.term.cols, rows: this.term.rows };\n };\n\n output(data: string) {\n this.term.write(data);\n };\n\n showMessage(message: string, timeout: number) {\n this.message.textContent = message;\n this.elem.appendChild(this.message);\n\n if (this.messageTimer) {\n clearTimeout(this.messageTimer);\n }\n if (timeout > 0) {\n this.messageTimer = setTimeout(() => {\n this.elem.removeChild(this.message);\n }, timeout);\n }\n };\n\n removeMessage(): void {\n if (this.message.parentNode == this.elem) {\n this.elem.removeChild(this.message);\n }\n }\n\n setWindowTitle(title: string) {\n document.title = title;\n };\n\n setPreferences(value: object) {\n };\n\n onInput(callback: (input: string) => void) {\n this.term.on(\"data\", (data) => {\n callback(data);\n });\n\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.term.on(\"resize\", (data) => {\n callback(data.cols, data.rows);\n });\n };\n\n deactivate(): void {\n this.term.off(\"data\");\n this.term.off(\"resize\");\n this.term.blur();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.clear();\n }\n\n close(): void {\n window.removeEventListener(\"resize\", this.resizeListener);\n this.term.destroy();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/xterm.ts","import { TermHterm } from \"./hterm\";\nimport { TermXterm } from \"./xterm\";\nimport { Terminal, WebTTY, protocols } from \"./webtty\";\nimport { ConnectionFactory } from \"./websocket\";\n\n// @TODO remove these\ndeclare var gotty_auth_token: string;\ndeclare var gotty_term: string;\n\nconst elem = document.getElementById(\"terminal\")\n\nif (elem !== null) {\n var term: Terminal;\n if (gotty_term == \"hterm\") {\n term = new TermHterm(elem);\n } else {\n term = new TermXterm(elem);\n }\n const httpsEnabled = window.location.protocol == \"https:\";\n const url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws';\n const args = window.location.search;\n const factory = new ConnectionFactory(url, protocols);\n const wt = new WebTTY(term, factory, args, gotty_auth_token);\n const closer = wt.open();\n\n window.addEventListener(\"unload\", () => {\n closer();\n term.close();\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CompositionHelper = (function () {\n function CompositionHelper(textarea, compositionView, terminal) {\n this.textarea = textarea;\n this.compositionView = compositionView;\n this.terminal = terminal;\n this.isComposing = false;\n this.isSendingComposition = false;\n this.compositionPosition = { start: null, end: null };\n }\n CompositionHelper.prototype.compositionstart = function () {\n this.isComposing = true;\n this.compositionPosition.start = this.textarea.value.length;\n this.compositionView.textContent = '';\n this.compositionView.classList.add('active');\n };\n CompositionHelper.prototype.compositionupdate = function (ev) {\n var _this = this;\n this.compositionView.textContent = ev.data;\n this.updateCompositionElements();\n setTimeout(function () {\n _this.compositionPosition.end = _this.textarea.value.length;\n }, 0);\n };\n CompositionHelper.prototype.compositionend = function () {\n this.finalizeComposition(true);\n };\n CompositionHelper.prototype.keydown = function (ev) {\n if (this.isComposing || this.isSendingComposition) {\n if (ev.keyCode === 229) {\n return false;\n }\n else if (ev.keyCode === 16 || ev.keyCode === 17 || ev.keyCode === 18) {\n return false;\n }\n else {\n this.finalizeComposition(false);\n }\n }\n if (ev.keyCode === 229) {\n this.handleAnyTextareaChanges();\n return false;\n }\n return true;\n };\n CompositionHelper.prototype.finalizeComposition = function (waitForPropogation) {\n var _this = this;\n this.compositionView.classList.remove('active');\n this.isComposing = false;\n this.clearTextareaPosition();\n if (!waitForPropogation) {\n this.isSendingComposition = false;\n var input = this.textarea.value.substring(this.compositionPosition.start, this.compositionPosition.end);\n this.terminal.handler(input);\n }\n else {\n var currentCompositionPosition_1 = {\n start: this.compositionPosition.start,\n end: this.compositionPosition.end,\n };\n this.isSendingComposition = true;\n setTimeout(function () {\n if (_this.isSendingComposition) {\n _this.isSendingComposition = false;\n var input = void 0;\n if (_this.isComposing) {\n input = _this.textarea.value.substring(currentCompositionPosition_1.start, currentCompositionPosition_1.end);\n }\n else {\n input = _this.textarea.value.substring(currentCompositionPosition_1.start);\n }\n _this.terminal.handler(input);\n }\n }, 0);\n }\n };\n CompositionHelper.prototype.handleAnyTextareaChanges = function () {\n var _this = this;\n var oldValue = this.textarea.value;\n setTimeout(function () {\n if (!_this.isComposing) {\n var newValue = _this.textarea.value;\n var diff = newValue.replace(oldValue, '');\n if (diff.length > 0) {\n _this.terminal.handler(diff);\n }\n }\n }, 0);\n };\n CompositionHelper.prototype.updateCompositionElements = function (dontRecurse) {\n var _this = this;\n if (!this.isComposing) {\n return;\n }\n var cursor = this.terminal.element.querySelector('.terminal-cursor');\n if (cursor) {\n var xtermRows = this.terminal.element.querySelector('.xterm-rows');\n var cursorTop = xtermRows.offsetTop + cursor.offsetTop;\n this.compositionView.style.left = cursor.offsetLeft + 'px';\n this.compositionView.style.top = cursorTop + 'px';\n this.compositionView.style.height = cursor.offsetHeight + 'px';\n this.compositionView.style.lineHeight = cursor.offsetHeight + 'px';\n var compositionViewBounds = this.compositionView.getBoundingClientRect();\n this.textarea.style.left = cursor.offsetLeft + 'px';\n this.textarea.style.top = cursorTop + 'px';\n this.textarea.style.width = compositionViewBounds.width + 'px';\n this.textarea.style.height = compositionViewBounds.height + 'px';\n this.textarea.style.lineHeight = compositionViewBounds.height + 'px';\n }\n if (!dontRecurse) {\n setTimeout(function () { return _this.updateCompositionElements(true); }, 0);\n }\n };\n ;\n CompositionHelper.prototype.clearTextareaPosition = function () {\n this.textarea.style.left = '';\n this.textarea.style.top = '';\n };\n ;\n return CompositionHelper;\n}());\nexports.CompositionHelper = CompositionHelper;\n\n//# sourceMappingURL=CompositionHelper.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/CompositionHelper.js\n// module id = 15\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar Charsets_1 = require(\"./Charsets\");\nvar InputHandler = (function () {\n function InputHandler(_terminal) {\n this._terminal = _terminal;\n }\n InputHandler.prototype.addChar = function (char, code) {\n if (char >= ' ') {\n var ch_width = wcwidth(code);\n if (this._terminal.charset && this._terminal.charset[char]) {\n char = this._terminal.charset[char];\n }\n var row = this._terminal.y + this._terminal.ybase;\n if (!ch_width && this._terminal.x) {\n if (this._terminal.lines.get(row)[this._terminal.x - 1]) {\n if (!this._terminal.lines.get(row)[this._terminal.x - 1][2]) {\n if (this._terminal.lines.get(row)[this._terminal.x - 2])\n this._terminal.lines.get(row)[this._terminal.x - 2][1] += char;\n }\n else {\n this._terminal.lines.get(row)[this._terminal.x - 1][1] += char;\n }\n this._terminal.updateRange(this._terminal.y);\n }\n return;\n }\n if (this._terminal.x + ch_width - 1 >= this._terminal.cols) {\n if (this._terminal.wraparoundMode) {\n this._terminal.x = 0;\n this._terminal.y++;\n if (this._terminal.y > this._terminal.scrollBottom) {\n this._terminal.y--;\n this._terminal.scroll(true);\n }\n else {\n this._terminal.lines.get(this._terminal.y).isWrapped = true;\n }\n }\n else {\n if (ch_width === 2)\n return;\n }\n }\n row = this._terminal.y + this._terminal.ybase;\n if (this._terminal.insertMode) {\n for (var moves = 0; moves < ch_width; ++moves) {\n var removed = this._terminal.lines.get(this._terminal.y + this._terminal.ybase).pop();\n if (removed[2] === 0\n && this._terminal.lines.get(row)[this._terminal.cols - 2]\n && this._terminal.lines.get(row)[this._terminal.cols - 2][2] === 2) {\n this._terminal.lines.get(row)[this._terminal.cols - 2] = [this._terminal.curAttr, ' ', 1];\n }\n this._terminal.lines.get(row).splice(this._terminal.x, 0, [this._terminal.curAttr, ' ', 1]);\n }\n }\n this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, char, ch_width];\n this._terminal.x++;\n this._terminal.updateRange(this._terminal.y);\n if (ch_width === 2) {\n this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, '', 0];\n this._terminal.x++;\n }\n }\n };\n InputHandler.prototype.bell = function () {\n var _this = this;\n if (!this._terminal.visualBell) {\n return;\n }\n this._terminal.element.style.borderColor = 'white';\n setTimeout(function () { return _this._terminal.element.style.borderColor = ''; }, 10);\n if (this._terminal.popOnBell) {\n this._terminal.focus();\n }\n };\n InputHandler.prototype.lineFeed = function () {\n if (this._terminal.convertEol) {\n this._terminal.x = 0;\n }\n this._terminal.y++;\n if (this._terminal.y > this._terminal.scrollBottom) {\n this._terminal.y--;\n this._terminal.scroll();\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.carriageReturn = function () {\n this._terminal.x = 0;\n };\n InputHandler.prototype.backspace = function () {\n if (this._terminal.x > 0) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.tab = function () {\n this._terminal.x = this._terminal.nextStop();\n };\n InputHandler.prototype.shiftOut = function () {\n this._terminal.setgLevel(1);\n };\n InputHandler.prototype.shiftIn = function () {\n this._terminal.setgLevel(0);\n };\n InputHandler.prototype.insertChars = function (params) {\n var param, row, j, ch;\n param = params[0];\n if (param < 1)\n param = 1;\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.x;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param-- && j < this._terminal.cols) {\n this._terminal.lines.get(row).splice(j++, 0, ch);\n this._terminal.lines.get(row).pop();\n }\n };\n InputHandler.prototype.cursorUp = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y -= param;\n if (this._terminal.y < 0) {\n this._terminal.y = 0;\n }\n };\n InputHandler.prototype.cursorDown = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.cursorForward = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x += param;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.cursorBackward = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n this._terminal.x -= param;\n if (this._terminal.x < 0) {\n this._terminal.x = 0;\n }\n };\n InputHandler.prototype.cursorNextLine = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n this._terminal.x = 0;\n };\n ;\n InputHandler.prototype.cursorPrecedingLine = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y -= param;\n if (this._terminal.y < 0) {\n this._terminal.y = 0;\n }\n this._terminal.x = 0;\n };\n ;\n InputHandler.prototype.cursorCharAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x = param - 1;\n };\n InputHandler.prototype.cursorPosition = function (params) {\n var row, col;\n row = params[0] - 1;\n if (params.length >= 2) {\n col = params[1] - 1;\n }\n else {\n col = 0;\n }\n if (row < 0) {\n row = 0;\n }\n else if (row >= this._terminal.rows) {\n row = this._terminal.rows - 1;\n }\n if (col < 0) {\n col = 0;\n }\n else if (col >= this._terminal.cols) {\n col = this._terminal.cols - 1;\n }\n this._terminal.x = col;\n this._terminal.y = row;\n };\n InputHandler.prototype.cursorForwardTab = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.x = this._terminal.nextStop();\n }\n };\n InputHandler.prototype.eraseInDisplay = function (params) {\n var j;\n switch (params[0]) {\n case 0:\n this._terminal.eraseRight(this._terminal.x, this._terminal.y);\n j = this._terminal.y + 1;\n for (; j < this._terminal.rows; j++) {\n this._terminal.eraseLine(j);\n }\n break;\n case 1:\n this._terminal.eraseLeft(this._terminal.x, this._terminal.y);\n j = this._terminal.y;\n while (j--) {\n this._terminal.eraseLine(j);\n }\n break;\n case 2:\n j = this._terminal.rows;\n while (j--)\n this._terminal.eraseLine(j);\n break;\n case 3:\n var scrollBackSize = this._terminal.lines.length - this._terminal.rows;\n if (scrollBackSize > 0) {\n this._terminal.lines.trimStart(scrollBackSize);\n this._terminal.ybase = Math.max(this._terminal.ybase - scrollBackSize, 0);\n this._terminal.ydisp = Math.max(this._terminal.ydisp - scrollBackSize, 0);\n }\n break;\n }\n };\n InputHandler.prototype.eraseInLine = function (params) {\n switch (params[0]) {\n case 0:\n this._terminal.eraseRight(this._terminal.x, this._terminal.y);\n break;\n case 1:\n this._terminal.eraseLeft(this._terminal.x, this._terminal.y);\n break;\n case 2:\n this._terminal.eraseLine(this._terminal.y);\n break;\n }\n };\n InputHandler.prototype.insertLines = function (params) {\n var param, row, j;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.rows - 1 - this._terminal.scrollBottom;\n j = this._terminal.rows - 1 + this._terminal.ybase - j + 1;\n while (param--) {\n if (this._terminal.lines.length === this._terminal.lines.maxLength) {\n this._terminal.lines.trimStart(1);\n this._terminal.ybase--;\n this._terminal.ydisp--;\n row--;\n j--;\n }\n this._terminal.lines.splice(row, 0, this._terminal.blankLine(true));\n this._terminal.lines.splice(j, 1);\n }\n this._terminal.updateRange(this._terminal.y);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.deleteLines = function (params) {\n var param, row, j;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.rows - 1 - this._terminal.scrollBottom;\n j = this._terminal.rows - 1 + this._terminal.ybase - j;\n while (param--) {\n if (this._terminal.lines.length === this._terminal.lines.maxLength) {\n this._terminal.lines.trimStart(1);\n this._terminal.ybase -= 1;\n this._terminal.ydisp -= 1;\n }\n this._terminal.lines.splice(j + 1, 0, this._terminal.blankLine(true));\n this._terminal.lines.splice(row, 1);\n }\n this._terminal.updateRange(this._terminal.y);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.deleteChars = function (params) {\n var param, row, ch;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param--) {\n this._terminal.lines.get(row).splice(this._terminal.x, 1);\n this._terminal.lines.get(row).push(ch);\n }\n };\n InputHandler.prototype.scrollUp = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 1);\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 0, this._terminal.blankLine());\n }\n this._terminal.updateRange(this._terminal.scrollTop);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.scrollDown = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 1);\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 0, this._terminal.blankLine());\n }\n this._terminal.updateRange(this._terminal.scrollTop);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.eraseChars = function (params) {\n var param, row, j, ch;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.x;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param-- && j < this._terminal.cols) {\n this._terminal.lines.get(row)[j++] = ch;\n }\n };\n InputHandler.prototype.cursorBackwardTab = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.x = this._terminal.prevStop();\n }\n };\n InputHandler.prototype.charPosAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x = param - 1;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.HPositionRelative = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x += param;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.repeatPrecedingCharacter = function (params) {\n var param = params[0] || 1, line = this._terminal.lines.get(this._terminal.ybase + this._terminal.y), ch = line[this._terminal.x - 1] || [this._terminal.defAttr, ' ', 1];\n while (param--) {\n line[this._terminal.x++] = ch;\n }\n };\n InputHandler.prototype.sendDeviceAttributes = function (params) {\n if (params[0] > 0) {\n return;\n }\n if (!this._terminal.prefix) {\n if (this._terminal.is('xterm') || this._terminal.is('rxvt-unicode') || this._terminal.is('screen')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?1;2c');\n }\n else if (this._terminal.is('linux')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?6c');\n }\n }\n else if (this._terminal.prefix === '>') {\n if (this._terminal.is('xterm')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>0;276;0c');\n }\n else if (this._terminal.is('rxvt-unicode')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>85;95;0c');\n }\n else if (this._terminal.is('linux')) {\n this._terminal.send(params[0] + 'c');\n }\n else if (this._terminal.is('screen')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>83;40003;0c');\n }\n }\n };\n InputHandler.prototype.linePosAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y = param - 1;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n };\n InputHandler.prototype.VPositionRelative = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.HVPosition = function (params) {\n if (params[0] < 1)\n params[0] = 1;\n if (params[1] < 1)\n params[1] = 1;\n this._terminal.y = params[0] - 1;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n this._terminal.x = params[1] - 1;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.tabClear = function (params) {\n var param = params[0];\n if (param <= 0) {\n delete this._terminal.tabs[this._terminal.x];\n }\n else if (param === 3) {\n this._terminal.tabs = {};\n }\n };\n InputHandler.prototype.setMode = function (params) {\n if (params.length > 1) {\n for (var i = 0; i < params.length; i++) {\n this.setMode([params[i]]);\n }\n return;\n }\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 4:\n this._terminal.insertMode = true;\n break;\n case 20:\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 1:\n this._terminal.applicationCursor = true;\n break;\n case 2:\n this._terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(1, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(2, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(3, Charsets_1.DEFAULT_CHARSET);\n break;\n case 3:\n this._terminal.savedCols = this._terminal.cols;\n this._terminal.resize(132, this._terminal.rows);\n break;\n case 6:\n this._terminal.originMode = true;\n break;\n case 7:\n this._terminal.wraparoundMode = true;\n break;\n case 12:\n break;\n case 66:\n this._terminal.log('Serial port requested application keypad.');\n this._terminal.applicationKeypad = true;\n this._terminal.viewport.syncScrollArea();\n break;\n case 9:\n case 1000:\n case 1002:\n case 1003:\n this._terminal.x10Mouse = params[0] === 9;\n this._terminal.vt200Mouse = params[0] === 1000;\n this._terminal.normalMouse = params[0] > 1000;\n this._terminal.mouseEvents = true;\n this._terminal.element.classList.add('enable-mouse-events');\n this._terminal.selectionManager.disable();\n this._terminal.log('Binding to mouse events.');\n break;\n case 1004:\n this._terminal.sendFocus = true;\n break;\n case 1005:\n this._terminal.utfMouse = true;\n break;\n case 1006:\n this._terminal.sgrMouse = true;\n break;\n case 1015:\n this._terminal.urxvtMouse = true;\n break;\n case 25:\n this._terminal.cursorHidden = false;\n break;\n case 1049:\n ;\n case 47:\n case 1047:\n if (!this._terminal.normal) {\n var normal = {\n lines: this._terminal.lines,\n ybase: this._terminal.ybase,\n ydisp: this._terminal.ydisp,\n x: this._terminal.x,\n y: this._terminal.y,\n scrollTop: this._terminal.scrollTop,\n scrollBottom: this._terminal.scrollBottom,\n tabs: this._terminal.tabs\n };\n this._terminal.reset();\n this._terminal.viewport.syncScrollArea();\n this._terminal.normal = normal;\n this._terminal.showCursor();\n }\n break;\n }\n }\n };\n InputHandler.prototype.resetMode = function (params) {\n if (params.length > 1) {\n for (var i = 0; i < params.length; i++) {\n this.resetMode([params[i]]);\n }\n return;\n }\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 4:\n this._terminal.insertMode = false;\n break;\n case 20:\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 1:\n this._terminal.applicationCursor = false;\n break;\n case 3:\n if (this._terminal.cols === 132 && this._terminal.savedCols) {\n this._terminal.resize(this._terminal.savedCols, this._terminal.rows);\n }\n delete this._terminal.savedCols;\n break;\n case 6:\n this._terminal.originMode = false;\n break;\n case 7:\n this._terminal.wraparoundMode = false;\n break;\n case 12:\n break;\n case 66:\n this._terminal.log('Switching back to normal keypad.');\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n break;\n case 9:\n case 1000:\n case 1002:\n case 1003:\n this._terminal.x10Mouse = false;\n this._terminal.vt200Mouse = false;\n this._terminal.normalMouse = false;\n this._terminal.mouseEvents = false;\n this._terminal.element.classList.remove('enable-mouse-events');\n this._terminal.selectionManager.enable();\n break;\n case 1004:\n this._terminal.sendFocus = false;\n break;\n case 1005:\n this._terminal.utfMouse = false;\n break;\n case 1006:\n this._terminal.sgrMouse = false;\n break;\n case 1015:\n this._terminal.urxvtMouse = false;\n break;\n case 25:\n this._terminal.cursorHidden = true;\n break;\n case 1049:\n ;\n case 47:\n case 1047:\n if (this._terminal.normal) {\n this._terminal.lines = this._terminal.normal.lines;\n this._terminal.ybase = this._terminal.normal.ybase;\n this._terminal.ydisp = this._terminal.normal.ydisp;\n this._terminal.x = this._terminal.normal.x;\n this._terminal.y = this._terminal.normal.y;\n this._terminal.scrollTop = this._terminal.normal.scrollTop;\n this._terminal.scrollBottom = this._terminal.normal.scrollBottom;\n this._terminal.tabs = this._terminal.normal.tabs;\n this._terminal.normal = null;\n this._terminal.selectionManager.setBuffer(this._terminal.lines);\n this._terminal.refresh(0, this._terminal.rows - 1);\n this._terminal.viewport.syncScrollArea();\n this._terminal.showCursor();\n }\n break;\n }\n }\n };\n InputHandler.prototype.charAttributes = function (params) {\n if (params.length === 1 && params[0] === 0) {\n this._terminal.curAttr = this._terminal.defAttr;\n return;\n }\n var l = params.length, i = 0, flags = this._terminal.curAttr >> 18, fg = (this._terminal.curAttr >> 9) & 0x1ff, bg = this._terminal.curAttr & 0x1ff, p;\n for (; i < l; i++) {\n p = params[i];\n if (p >= 30 && p <= 37) {\n fg = p - 30;\n }\n else if (p >= 40 && p <= 47) {\n bg = p - 40;\n }\n else if (p >= 90 && p <= 97) {\n p += 8;\n fg = p - 90;\n }\n else if (p >= 100 && p <= 107) {\n p += 8;\n bg = p - 100;\n }\n else if (p === 0) {\n flags = this._terminal.defAttr >> 18;\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n bg = this._terminal.defAttr & 0x1ff;\n }\n else if (p === 1) {\n flags |= 1;\n }\n else if (p === 4) {\n flags |= 2;\n }\n else if (p === 5) {\n flags |= 4;\n }\n else if (p === 7) {\n flags |= 8;\n }\n else if (p === 8) {\n flags |= 16;\n }\n else if (p === 22) {\n flags &= ~1;\n }\n else if (p === 24) {\n flags &= ~2;\n }\n else if (p === 25) {\n flags &= ~4;\n }\n else if (p === 27) {\n flags &= ~8;\n }\n else if (p === 28) {\n flags &= ~16;\n }\n else if (p === 39) {\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n }\n else if (p === 49) {\n bg = this._terminal.defAttr & 0x1ff;\n }\n else if (p === 38) {\n if (params[i + 1] === 2) {\n i += 2;\n fg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff);\n if (fg === -1)\n fg = 0x1ff;\n i += 2;\n }\n else if (params[i + 1] === 5) {\n i += 2;\n p = params[i] & 0xff;\n fg = p;\n }\n }\n else if (p === 48) {\n if (params[i + 1] === 2) {\n i += 2;\n bg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff);\n if (bg === -1)\n bg = 0x1ff;\n i += 2;\n }\n else if (params[i + 1] === 5) {\n i += 2;\n p = params[i] & 0xff;\n bg = p;\n }\n }\n else if (p === 100) {\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n bg = this._terminal.defAttr & 0x1ff;\n }\n else {\n this._terminal.error('Unknown SGR attribute: %d.', p);\n }\n }\n this._terminal.curAttr = (flags << 18) | (fg << 9) | bg;\n };\n InputHandler.prototype.deviceStatus = function (params) {\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 5:\n this._terminal.send(EscapeSequences_1.C0.ESC + '[0n');\n break;\n case 6:\n this._terminal.send(EscapeSequences_1.C0.ESC + '['\n + (this._terminal.y + 1)\n + ';'\n + (this._terminal.x + 1)\n + 'R');\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 6:\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?'\n + (this._terminal.y + 1)\n + ';'\n + (this._terminal.x + 1)\n + 'R');\n break;\n case 15:\n break;\n case 25:\n break;\n case 26:\n break;\n case 53:\n break;\n }\n }\n };\n InputHandler.prototype.softReset = function (params) {\n this._terminal.cursorHidden = false;\n this._terminal.insertMode = false;\n this._terminal.originMode = false;\n this._terminal.wraparoundMode = true;\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n this._terminal.applicationCursor = false;\n this._terminal.scrollTop = 0;\n this._terminal.scrollBottom = this._terminal.rows - 1;\n this._terminal.curAttr = this._terminal.defAttr;\n this._terminal.x = this._terminal.y = 0;\n this._terminal.charset = null;\n this._terminal.glevel = 0;\n this._terminal.charsets = [null];\n };\n InputHandler.prototype.setCursorStyle = function (params) {\n var param = params[0] < 1 ? 1 : params[0];\n switch (param) {\n case 1:\n case 2:\n this._terminal.setOption('cursorStyle', 'block');\n break;\n case 3:\n case 4:\n this._terminal.setOption('cursorStyle', 'underline');\n break;\n case 5:\n case 6:\n this._terminal.setOption('cursorStyle', 'bar');\n break;\n }\n var isBlinking = param % 2 === 1;\n this._terminal.setOption('cursorBlink', isBlinking);\n };\n InputHandler.prototype.setScrollRegion = function (params) {\n if (this._terminal.prefix)\n return;\n this._terminal.scrollTop = (params[0] || 1) - 1;\n this._terminal.scrollBottom = (params[1] && params[1] <= this._terminal.rows ? params[1] : this._terminal.rows) - 1;\n this._terminal.x = 0;\n this._terminal.y = 0;\n };\n InputHandler.prototype.saveCursor = function (params) {\n this._terminal.savedX = this._terminal.x;\n this._terminal.savedY = this._terminal.y;\n };\n InputHandler.prototype.restoreCursor = function (params) {\n this._terminal.x = this._terminal.savedX || 0;\n this._terminal.y = this._terminal.savedY || 0;\n };\n return InputHandler;\n}());\nexports.InputHandler = InputHandler;\nvar wcwidth = (function (opts) {\n var COMBINING = [\n [0x0300, 0x036F], [0x0483, 0x0486], [0x0488, 0x0489],\n [0x0591, 0x05BD], [0x05BF, 0x05BF], [0x05C1, 0x05C2],\n [0x05C4, 0x05C5], [0x05C7, 0x05C7], [0x0600, 0x0603],\n [0x0610, 0x0615], [0x064B, 0x065E], [0x0670, 0x0670],\n [0x06D6, 0x06E4], [0x06E7, 0x06E8], [0x06EA, 0x06ED],\n [0x070F, 0x070F], [0x0711, 0x0711], [0x0730, 0x074A],\n [0x07A6, 0x07B0], [0x07EB, 0x07F3], [0x0901, 0x0902],\n [0x093C, 0x093C], [0x0941, 0x0948], [0x094D, 0x094D],\n [0x0951, 0x0954], [0x0962, 0x0963], [0x0981, 0x0981],\n [0x09BC, 0x09BC], [0x09C1, 0x09C4], [0x09CD, 0x09CD],\n [0x09E2, 0x09E3], [0x0A01, 0x0A02], [0x0A3C, 0x0A3C],\n [0x0A41, 0x0A42], [0x0A47, 0x0A48], [0x0A4B, 0x0A4D],\n [0x0A70, 0x0A71], [0x0A81, 0x0A82], [0x0ABC, 0x0ABC],\n [0x0AC1, 0x0AC5], [0x0AC7, 0x0AC8], [0x0ACD, 0x0ACD],\n [0x0AE2, 0x0AE3], [0x0B01, 0x0B01], [0x0B3C, 0x0B3C],\n [0x0B3F, 0x0B3F], [0x0B41, 0x0B43], [0x0B4D, 0x0B4D],\n [0x0B56, 0x0B56], [0x0B82, 0x0B82], [0x0BC0, 0x0BC0],\n [0x0BCD, 0x0BCD], [0x0C3E, 0x0C40], [0x0C46, 0x0C48],\n [0x0C4A, 0x0C4D], [0x0C55, 0x0C56], [0x0CBC, 0x0CBC],\n [0x0CBF, 0x0CBF], [0x0CC6, 0x0CC6], [0x0CCC, 0x0CCD],\n [0x0CE2, 0x0CE3], [0x0D41, 0x0D43], [0x0D4D, 0x0D4D],\n [0x0DCA, 0x0DCA], [0x0DD2, 0x0DD4], [0x0DD6, 0x0DD6],\n [0x0E31, 0x0E31], [0x0E34, 0x0E3A], [0x0E47, 0x0E4E],\n [0x0EB1, 0x0EB1], [0x0EB4, 0x0EB9], [0x0EBB, 0x0EBC],\n [0x0EC8, 0x0ECD], [0x0F18, 0x0F19], [0x0F35, 0x0F35],\n [0x0F37, 0x0F37], [0x0F39, 0x0F39], [0x0F71, 0x0F7E],\n [0x0F80, 0x0F84], [0x0F86, 0x0F87], [0x0F90, 0x0F97],\n [0x0F99, 0x0FBC], [0x0FC6, 0x0FC6], [0x102D, 0x1030],\n [0x1032, 0x1032], [0x1036, 0x1037], [0x1039, 0x1039],\n [0x1058, 0x1059], [0x1160, 0x11FF], [0x135F, 0x135F],\n [0x1712, 0x1714], [0x1732, 0x1734], [0x1752, 0x1753],\n [0x1772, 0x1773], [0x17B4, 0x17B5], [0x17B7, 0x17BD],\n [0x17C6, 0x17C6], [0x17C9, 0x17D3], [0x17DD, 0x17DD],\n [0x180B, 0x180D], [0x18A9, 0x18A9], [0x1920, 0x1922],\n [0x1927, 0x1928], [0x1932, 0x1932], [0x1939, 0x193B],\n [0x1A17, 0x1A18], [0x1B00, 0x1B03], [0x1B34, 0x1B34],\n [0x1B36, 0x1B3A], [0x1B3C, 0x1B3C], [0x1B42, 0x1B42],\n [0x1B6B, 0x1B73], [0x1DC0, 0x1DCA], [0x1DFE, 0x1DFF],\n [0x200B, 0x200F], [0x202A, 0x202E], [0x2060, 0x2063],\n [0x206A, 0x206F], [0x20D0, 0x20EF], [0x302A, 0x302F],\n [0x3099, 0x309A], [0xA806, 0xA806], [0xA80B, 0xA80B],\n [0xA825, 0xA826], [0xFB1E, 0xFB1E], [0xFE00, 0xFE0F],\n [0xFE20, 0xFE23], [0xFEFF, 0xFEFF], [0xFFF9, 0xFFFB],\n [0x10A01, 0x10A03], [0x10A05, 0x10A06], [0x10A0C, 0x10A0F],\n [0x10A38, 0x10A3A], [0x10A3F, 0x10A3F], [0x1D167, 0x1D169],\n [0x1D173, 0x1D182], [0x1D185, 0x1D18B], [0x1D1AA, 0x1D1AD],\n [0x1D242, 0x1D244], [0xE0001, 0xE0001], [0xE0020, 0xE007F],\n [0xE0100, 0xE01EF]\n ];\n function bisearch(ucs) {\n var min = 0;\n var max = COMBINING.length - 1;\n var mid;\n if (ucs < COMBINING[0][0] || ucs > COMBINING[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > COMBINING[mid][1])\n min = mid + 1;\n else if (ucs < COMBINING[mid][0])\n max = mid - 1;\n else\n return true;\n }\n return false;\n }\n function wcwidth(ucs) {\n if (ucs === 0)\n return opts.nul;\n if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0))\n return opts.control;\n if (bisearch(ucs))\n return 0;\n if (isWide(ucs)) {\n return 2;\n }\n return 1;\n }\n function isWide(ucs) {\n return (ucs >= 0x1100 && (ucs <= 0x115f ||\n ucs === 0x2329 ||\n ucs === 0x232a ||\n (ucs >= 0x2e80 && ucs <= 0xa4cf && ucs !== 0x303f) ||\n (ucs >= 0xac00 && ucs <= 0xd7a3) ||\n (ucs >= 0xf900 && ucs <= 0xfaff) ||\n (ucs >= 0xfe10 && ucs <= 0xfe19) ||\n (ucs >= 0xfe30 && ucs <= 0xfe6f) ||\n (ucs >= 0xff00 && ucs <= 0xff60) ||\n (ucs >= 0xffe0 && ucs <= 0xffe6) ||\n (ucs >= 0x20000 && ucs <= 0x2fffd) ||\n (ucs >= 0x30000 && ucs <= 0x3fffd)));\n }\n return wcwidth;\n})({ nul: 0, control: 0 });\n\n//# sourceMappingURL=InputHandler.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/InputHandler.js\n// module id = 16\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar INVALID_LINK_CLASS = 'xterm-invalid-link';\nvar protocolClause = '(https?:\\\\/\\\\/)';\nvar domainCharacterSet = '[\\\\da-z\\\\.-]+';\nvar negatedDomainCharacterSet = '[^\\\\da-z\\\\.-]+';\nvar domainBodyClause = '(' + domainCharacterSet + ')';\nvar tldClause = '([a-z\\\\.]{2,6})';\nvar ipClause = '((\\\\d{1,3}\\\\.){3}\\\\d{1,3})';\nvar localHostClause = '(localhost)';\nvar portClause = '(:\\\\d{1,5})';\nvar hostClause = '((' + domainBodyClause + '\\\\.' + tldClause + ')|' + ipClause + '|' + localHostClause + ')' + portClause + '?';\nvar pathClause = '(\\\\/[\\\\/\\\\w\\\\.\\\\-%~]*)*';\nvar queryStringHashFragmentCharacterSet = '[0-9\\\\w\\\\[\\\\]\\\\(\\\\)\\\\/\\\\?\\\\!#@$%&\\'*+,:;~\\\\=\\\\.\\\\-]*';\nvar queryStringClause = '(\\\\?' + queryStringHashFragmentCharacterSet + ')?';\nvar hashFragmentClause = '(#' + queryStringHashFragmentCharacterSet + ')?';\nvar negatedPathCharacterSet = '[^\\\\/\\\\w\\\\.\\\\-%]+';\nvar bodyClause = hostClause + pathClause + queryStringClause + hashFragmentClause;\nvar start = '(?:^|' + negatedDomainCharacterSet + ')(';\nvar end = ')($|' + negatedPathCharacterSet + ')';\nvar strictUrlRegex = new RegExp(start + protocolClause + bodyClause + end);\nvar HYPERTEXT_LINK_MATCHER_ID = 0;\nvar Linkifier = (function () {\n function Linkifier() {\n this._nextLinkMatcherId = HYPERTEXT_LINK_MATCHER_ID;\n this._rowTimeoutIds = [];\n this._linkMatchers = [];\n this.registerLinkMatcher(strictUrlRegex, null, { matchIndex: 1 });\n }\n Linkifier.prototype.attachToDom = function (document, rows) {\n this._document = document;\n this._rows = rows;\n };\n Linkifier.prototype.linkifyRow = function (rowIndex) {\n if (!this._document) {\n return;\n }\n var timeoutId = this._rowTimeoutIds[rowIndex];\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n this._rowTimeoutIds[rowIndex] = setTimeout(this._linkifyRow.bind(this, rowIndex), Linkifier.TIME_BEFORE_LINKIFY);\n };\n Linkifier.prototype.setHypertextLinkHandler = function (handler) {\n this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].handler = handler;\n };\n Linkifier.prototype.setHypertextValidationCallback = function (callback) {\n this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].validationCallback = callback;\n };\n Linkifier.prototype.registerLinkMatcher = function (regex, handler, options) {\n if (options === void 0) { options = {}; }\n if (this._nextLinkMatcherId !== HYPERTEXT_LINK_MATCHER_ID && !handler) {\n throw new Error('handler must be defined');\n }\n var matcher = {\n id: this._nextLinkMatcherId++,\n regex: regex,\n handler: handler,\n matchIndex: options.matchIndex,\n validationCallback: options.validationCallback,\n priority: options.priority || 0\n };\n this._addLinkMatcherToList(matcher);\n return matcher.id;\n };\n Linkifier.prototype._addLinkMatcherToList = function (matcher) {\n if (this._linkMatchers.length === 0) {\n this._linkMatchers.push(matcher);\n return;\n }\n for (var i = this._linkMatchers.length - 1; i >= 0; i--) {\n if (matcher.priority <= this._linkMatchers[i].priority) {\n this._linkMatchers.splice(i + 1, 0, matcher);\n return;\n }\n }\n this._linkMatchers.splice(0, 0, matcher);\n };\n Linkifier.prototype.deregisterLinkMatcher = function (matcherId) {\n for (var i = 1; i < this._linkMatchers.length; i++) {\n if (this._linkMatchers[i].id === matcherId) {\n this._linkMatchers.splice(i, 1);\n return true;\n }\n }\n return false;\n };\n Linkifier.prototype._linkifyRow = function (rowIndex) {\n var row = this._rows[rowIndex];\n if (!row) {\n return;\n }\n var text = row.textContent;\n for (var i = 0; i < this._linkMatchers.length; i++) {\n var matcher = this._linkMatchers[i];\n var linkElements = this._doLinkifyRow(row, matcher);\n if (linkElements.length > 0) {\n if (matcher.validationCallback) {\n var _loop_1 = function (j) {\n var element = linkElements[j];\n matcher.validationCallback(element.textContent, element, function (isValid) {\n if (!isValid) {\n element.classList.add(INVALID_LINK_CLASS);\n }\n });\n };\n for (var j = 0; j < linkElements.length; j++) {\n _loop_1(j);\n }\n }\n return;\n }\n }\n };\n Linkifier.prototype._doLinkifyRow = function (row, matcher) {\n var result = [];\n var isHttpLinkMatcher = matcher.id === HYPERTEXT_LINK_MATCHER_ID;\n var nodes = row.childNodes;\n var match = row.textContent.match(matcher.regex);\n if (!match || match.length === 0) {\n return result;\n }\n var uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];\n var rowStartIndex = match.index + uri.length;\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n var searchIndex = node.textContent.indexOf(uri);\n if (searchIndex >= 0) {\n var linkElement = this._createAnchorElement(uri, matcher.handler, isHttpLinkMatcher);\n if (node.textContent.length === uri.length) {\n if (node.nodeType === 3) {\n this._replaceNode(node, linkElement);\n }\n else {\n var element = node;\n if (element.nodeName === 'A') {\n return result;\n }\n element.innerHTML = '';\n element.appendChild(linkElement);\n }\n }\n else if (node.childNodes.length > 1) {\n for (var j = 0; j < node.childNodes.length; j++) {\n var childNode = node.childNodes[j];\n var childSearchIndex = childNode.textContent.indexOf(uri);\n if (childSearchIndex !== -1) {\n this._replaceNodeSubstringWithNode(childNode, linkElement, uri, childSearchIndex);\n break;\n }\n }\n }\n else {\n var nodesAdded = this._replaceNodeSubstringWithNode(node, linkElement, uri, searchIndex);\n i += nodesAdded;\n }\n result.push(linkElement);\n match = row.textContent.substring(rowStartIndex).match(matcher.regex);\n if (!match || match.length === 0) {\n return result;\n }\n uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];\n rowStartIndex += match.index + uri.length;\n }\n }\n return result;\n };\n Linkifier.prototype._createAnchorElement = function (uri, handler, isHypertextLinkHandler) {\n var element = this._document.createElement('a');\n element.textContent = uri;\n element.draggable = false;\n if (isHypertextLinkHandler) {\n element.href = uri;\n element.target = '_blank';\n element.addEventListener('click', function (event) {\n if (handler) {\n return handler(event, uri);\n }\n });\n }\n else {\n element.addEventListener('click', function (event) {\n if (element.classList.contains(INVALID_LINK_CLASS)) {\n return;\n }\n return handler(event, uri);\n });\n }\n return element;\n };\n Linkifier.prototype._replaceNode = function (oldNode) {\n var newNodes = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n newNodes[_i - 1] = arguments[_i];\n }\n var parent = oldNode.parentNode;\n for (var i = 0; i < newNodes.length; i++) {\n parent.insertBefore(newNodes[i], oldNode);\n }\n parent.removeChild(oldNode);\n };\n Linkifier.prototype._replaceNodeSubstringWithNode = function (targetNode, newNode, substring, substringIndex) {\n if (targetNode.childNodes.length === 1) {\n targetNode = targetNode.childNodes[0];\n }\n if (targetNode.nodeType !== 3) {\n throw new Error('targetNode must be a text node or only contain a single text node');\n }\n var fullText = targetNode.textContent;\n if (substringIndex === 0) {\n var rightText_1 = fullText.substring(substring.length);\n var rightTextNode_1 = this._document.createTextNode(rightText_1);\n this._replaceNode(targetNode, newNode, rightTextNode_1);\n return 0;\n }\n if (substringIndex === targetNode.textContent.length - substring.length) {\n var leftText_1 = fullText.substring(0, substringIndex);\n var leftTextNode_1 = this._document.createTextNode(leftText_1);\n this._replaceNode(targetNode, leftTextNode_1, newNode);\n return 0;\n }\n var leftText = fullText.substring(0, substringIndex);\n var leftTextNode = this._document.createTextNode(leftText);\n var rightText = fullText.substring(substringIndex + substring.length);\n var rightTextNode = this._document.createTextNode(rightText);\n this._replaceNode(targetNode, leftTextNode, newNode, rightTextNode);\n return 1;\n };\n return Linkifier;\n}());\nLinkifier.TIME_BEFORE_LINKIFY = 200;\nexports.Linkifier = Linkifier;\n\n//# sourceMappingURL=Linkifier.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Linkifier.js\n// module id = 17\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar Charsets_1 = require(\"./Charsets\");\nvar normalStateHandler = {};\nnormalStateHandler[EscapeSequences_1.C0.BEL] = function (parser, handler) { return handler.bell(); };\nnormalStateHandler[EscapeSequences_1.C0.LF] = function (parser, handler) { return handler.lineFeed(); };\nnormalStateHandler[EscapeSequences_1.C0.VT] = normalStateHandler[EscapeSequences_1.C0.LF];\nnormalStateHandler[EscapeSequences_1.C0.FF] = normalStateHandler[EscapeSequences_1.C0.LF];\nnormalStateHandler[EscapeSequences_1.C0.CR] = function (parser, handler) { return handler.carriageReturn(); };\nnormalStateHandler[EscapeSequences_1.C0.BS] = function (parser, handler) { return handler.backspace(); };\nnormalStateHandler[EscapeSequences_1.C0.HT] = function (parser, handler) { return handler.tab(); };\nnormalStateHandler[EscapeSequences_1.C0.SO] = function (parser, handler) { return handler.shiftOut(); };\nnormalStateHandler[EscapeSequences_1.C0.SI] = function (parser, handler) { return handler.shiftIn(); };\nnormalStateHandler[EscapeSequences_1.C0.ESC] = function (parser, handler) { return parser.setState(ParserState.ESCAPED); };\nvar escapedStateHandler = {};\nescapedStateHandler['['] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.CSI_PARAM);\n};\nescapedStateHandler[']'] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.OSC);\n};\nescapedStateHandler['P'] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.DCS);\n};\nescapedStateHandler['_'] = function (parser, terminal) {\n parser.setState(ParserState.IGNORE);\n};\nescapedStateHandler['^'] = function (parser, terminal) {\n parser.setState(ParserState.IGNORE);\n};\nescapedStateHandler['c'] = function (parser, terminal) {\n terminal.reset();\n};\nescapedStateHandler['E'] = function (parser, terminal) {\n terminal.x = 0;\n terminal.index();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['D'] = function (parser, terminal) {\n terminal.index();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['M'] = function (parser, terminal) {\n terminal.reverseIndex();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['%'] = function (parser, terminal) {\n terminal.setgLevel(0);\n terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET);\n parser.setState(ParserState.NORMAL);\n parser.skipNextChar();\n};\nescapedStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); };\nvar csiParamStateHandler = {};\ncsiParamStateHandler['?'] = function (parser) { return parser.setPrefix('?'); };\ncsiParamStateHandler['>'] = function (parser) { return parser.setPrefix('>'); };\ncsiParamStateHandler['!'] = function (parser) { return parser.setPrefix('!'); };\ncsiParamStateHandler['0'] = function (parser) { return parser.setParam(parser.getParam() * 10); };\ncsiParamStateHandler['1'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 1); };\ncsiParamStateHandler['2'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 2); };\ncsiParamStateHandler['3'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 3); };\ncsiParamStateHandler['4'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 4); };\ncsiParamStateHandler['5'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 5); };\ncsiParamStateHandler['6'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 6); };\ncsiParamStateHandler['7'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 7); };\ncsiParamStateHandler['8'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 8); };\ncsiParamStateHandler['9'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 9); };\ncsiParamStateHandler['$'] = function (parser) { return parser.setPostfix('$'); };\ncsiParamStateHandler['\"'] = function (parser) { return parser.setPostfix('\"'); };\ncsiParamStateHandler[' '] = function (parser) { return parser.setPostfix(' '); };\ncsiParamStateHandler['\\''] = function (parser) { return parser.setPostfix('\\''); };\ncsiParamStateHandler[';'] = function (parser) { return parser.finalizeParam(); };\ncsiParamStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); };\nvar csiStateHandler = {};\ncsiStateHandler['@'] = function (handler, params, prefix) { return handler.insertChars(params); };\ncsiStateHandler['A'] = function (handler, params, prefix) { return handler.cursorUp(params); };\ncsiStateHandler['B'] = function (handler, params, prefix) { return handler.cursorDown(params); };\ncsiStateHandler['C'] = function (handler, params, prefix) { return handler.cursorForward(params); };\ncsiStateHandler['D'] = function (handler, params, prefix) { return handler.cursorBackward(params); };\ncsiStateHandler['E'] = function (handler, params, prefix) { return handler.cursorNextLine(params); };\ncsiStateHandler['F'] = function (handler, params, prefix) { return handler.cursorPrecedingLine(params); };\ncsiStateHandler['G'] = function (handler, params, prefix) { return handler.cursorCharAbsolute(params); };\ncsiStateHandler['H'] = function (handler, params, prefix) { return handler.cursorPosition(params); };\ncsiStateHandler['I'] = function (handler, params, prefix) { return handler.cursorForwardTab(params); };\ncsiStateHandler['J'] = function (handler, params, prefix) { return handler.eraseInDisplay(params); };\ncsiStateHandler['K'] = function (handler, params, prefix) { return handler.eraseInLine(params); };\ncsiStateHandler['L'] = function (handler, params, prefix) { return handler.insertLines(params); };\ncsiStateHandler['M'] = function (handler, params, prefix) { return handler.deleteLines(params); };\ncsiStateHandler['P'] = function (handler, params, prefix) { return handler.deleteChars(params); };\ncsiStateHandler['S'] = function (handler, params, prefix) { return handler.scrollUp(params); };\ncsiStateHandler['T'] = function (handler, params, prefix) {\n if (params.length < 2 && !prefix) {\n handler.scrollDown(params);\n }\n};\ncsiStateHandler['X'] = function (handler, params, prefix) { return handler.eraseChars(params); };\ncsiStateHandler['Z'] = function (handler, params, prefix) { return handler.cursorBackwardTab(params); };\ncsiStateHandler['`'] = function (handler, params, prefix) { return handler.charPosAbsolute(params); };\ncsiStateHandler['a'] = function (handler, params, prefix) { return handler.HPositionRelative(params); };\ncsiStateHandler['b'] = function (handler, params, prefix) { return handler.repeatPrecedingCharacter(params); };\ncsiStateHandler['c'] = function (handler, params, prefix) { return handler.sendDeviceAttributes(params); };\ncsiStateHandler['d'] = function (handler, params, prefix) { return handler.linePosAbsolute(params); };\ncsiStateHandler['e'] = function (handler, params, prefix) { return handler.VPositionRelative(params); };\ncsiStateHandler['f'] = function (handler, params, prefix) { return handler.HVPosition(params); };\ncsiStateHandler['g'] = function (handler, params, prefix) { return handler.tabClear(params); };\ncsiStateHandler['h'] = function (handler, params, prefix) { return handler.setMode(params); };\ncsiStateHandler['l'] = function (handler, params, prefix) { return handler.resetMode(params); };\ncsiStateHandler['m'] = function (handler, params, prefix) { return handler.charAttributes(params); };\ncsiStateHandler['n'] = function (handler, params, prefix) { return handler.deviceStatus(params); };\ncsiStateHandler['p'] = function (handler, params, prefix) {\n switch (prefix) {\n case '!':\n handler.softReset(params);\n break;\n }\n};\ncsiStateHandler['q'] = function (handler, params, prefix, postfix) {\n if (postfix === ' ') {\n handler.setCursorStyle(params);\n }\n};\ncsiStateHandler['r'] = function (handler, params) { return handler.setScrollRegion(params); };\ncsiStateHandler['s'] = function (handler, params) { return handler.saveCursor(params); };\ncsiStateHandler['u'] = function (handler, params) { return handler.restoreCursor(params); };\ncsiStateHandler[EscapeSequences_1.C0.CAN] = function (handler, params, prefix, postfix, parser) { return parser.setState(ParserState.NORMAL); };\nvar ParserState;\n(function (ParserState) {\n ParserState[ParserState[\"NORMAL\"] = 0] = \"NORMAL\";\n ParserState[ParserState[\"ESCAPED\"] = 1] = \"ESCAPED\";\n ParserState[ParserState[\"CSI_PARAM\"] = 2] = \"CSI_PARAM\";\n ParserState[ParserState[\"CSI\"] = 3] = \"CSI\";\n ParserState[ParserState[\"OSC\"] = 4] = \"OSC\";\n ParserState[ParserState[\"CHARSET\"] = 5] = \"CHARSET\";\n ParserState[ParserState[\"DCS\"] = 6] = \"DCS\";\n ParserState[ParserState[\"IGNORE\"] = 7] = \"IGNORE\";\n})(ParserState || (ParserState = {}));\nvar Parser = (function () {\n function Parser(_inputHandler, _terminal) {\n this._inputHandler = _inputHandler;\n this._terminal = _terminal;\n this._state = ParserState.NORMAL;\n }\n Parser.prototype.parse = function (data) {\n var l = data.length, j, cs, ch, code, low;\n this._position = 0;\n if (this._terminal.surrogate_high) {\n data = this._terminal.surrogate_high + data;\n this._terminal.surrogate_high = '';\n }\n for (; this._position < l; this._position++) {\n ch = data[this._position];\n code = data.charCodeAt(this._position);\n if (0xD800 <= code && code <= 0xDBFF) {\n low = data.charCodeAt(this._position + 1);\n if (isNaN(low)) {\n this._terminal.surrogate_high = ch;\n continue;\n }\n code = ((code - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;\n ch += data.charAt(this._position + 1);\n }\n if (0xDC00 <= code && code <= 0xDFFF)\n continue;\n switch (this._state) {\n case ParserState.NORMAL:\n if (ch in normalStateHandler) {\n normalStateHandler[ch](this, this._inputHandler);\n }\n else {\n this._inputHandler.addChar(ch, code);\n }\n break;\n case ParserState.ESCAPED:\n if (ch in escapedStateHandler) {\n escapedStateHandler[ch](this, this._terminal);\n break;\n }\n switch (ch) {\n case '(':\n case ')':\n case '*':\n case '+':\n case '-':\n case '.':\n switch (ch) {\n case '(':\n this._terminal.gcharset = 0;\n break;\n case ')':\n this._terminal.gcharset = 1;\n break;\n case '*':\n this._terminal.gcharset = 2;\n break;\n case '+':\n this._terminal.gcharset = 3;\n break;\n case '-':\n this._terminal.gcharset = 1;\n break;\n case '.':\n this._terminal.gcharset = 2;\n break;\n }\n this._state = ParserState.CHARSET;\n break;\n case '/':\n this._terminal.gcharset = 3;\n this._state = ParserState.CHARSET;\n this._position--;\n break;\n case 'N':\n break;\n case 'O':\n break;\n case 'n':\n this._terminal.setgLevel(2);\n break;\n case 'o':\n this._terminal.setgLevel(3);\n break;\n case '|':\n this._terminal.setgLevel(3);\n break;\n case '}':\n this._terminal.setgLevel(2);\n break;\n case '~':\n this._terminal.setgLevel(1);\n break;\n case '7':\n this._inputHandler.saveCursor();\n this._state = ParserState.NORMAL;\n break;\n case '8':\n this._inputHandler.restoreCursor();\n this._state = ParserState.NORMAL;\n break;\n case '#':\n this._state = ParserState.NORMAL;\n this._position++;\n break;\n case 'H':\n this._terminal.tabSet();\n this._state = ParserState.NORMAL;\n break;\n case '=':\n this._terminal.log('Serial port requested application keypad.');\n this._terminal.applicationKeypad = true;\n this._terminal.viewport.syncScrollArea();\n this._state = ParserState.NORMAL;\n break;\n case '>':\n this._terminal.log('Switching back to normal keypad.');\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n this._state = ParserState.NORMAL;\n break;\n default:\n this._state = ParserState.NORMAL;\n this._terminal.error('Unknown ESC control: %s.', ch);\n break;\n }\n break;\n case ParserState.CHARSET:\n if (ch in Charsets_1.CHARSETS) {\n cs = Charsets_1.CHARSETS[ch];\n if (ch === '/') {\n this.skipNextChar();\n }\n }\n else {\n cs = Charsets_1.DEFAULT_CHARSET;\n }\n this._terminal.setgCharset(this._terminal.gcharset, cs);\n this._terminal.gcharset = null;\n this._state = ParserState.NORMAL;\n break;\n case ParserState.OSC:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n this._terminal.params.push(this._terminal.currentParam);\n switch (this._terminal.params[0]) {\n case 0:\n case 1:\n case 2:\n if (this._terminal.params[1]) {\n this._terminal.title = this._terminal.params[1];\n this._terminal.handleTitle(this._terminal.title);\n }\n break;\n case 3:\n break;\n case 4:\n case 5:\n break;\n case 10:\n case 11:\n case 12:\n case 13:\n case 14:\n case 15:\n case 16:\n case 17:\n case 18:\n case 19:\n break;\n case 46:\n break;\n case 50:\n break;\n case 51:\n break;\n case 52:\n break;\n case 104:\n case 105:\n case 110:\n case 111:\n case 112:\n case 113:\n case 114:\n case 115:\n case 116:\n case 117:\n case 118:\n break;\n }\n this._terminal.params = [];\n this._terminal.currentParam = 0;\n this._state = ParserState.NORMAL;\n }\n else {\n if (!this._terminal.params.length) {\n if (ch >= '0' && ch <= '9') {\n this._terminal.currentParam =\n this._terminal.currentParam * 10 + ch.charCodeAt(0) - 48;\n }\n else if (ch === ';') {\n this._terminal.params.push(this._terminal.currentParam);\n this._terminal.currentParam = '';\n }\n }\n else {\n this._terminal.currentParam += ch;\n }\n }\n break;\n case ParserState.CSI_PARAM:\n if (ch in csiParamStateHandler) {\n csiParamStateHandler[ch](this);\n break;\n }\n this.finalizeParam();\n this._state = ParserState.CSI;\n case ParserState.CSI:\n if (ch in csiStateHandler) {\n csiStateHandler[ch](this._inputHandler, this._terminal.params, this._terminal.prefix, this._terminal.postfix, this);\n }\n else {\n this._terminal.error('Unknown CSI code: %s.', ch);\n }\n this._state = ParserState.NORMAL;\n this._terminal.prefix = '';\n this._terminal.postfix = '';\n break;\n case ParserState.DCS:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n var pt = void 0;\n var valid = void 0;\n switch (this._terminal.prefix) {\n case '':\n break;\n case '$q':\n pt = this._terminal.currentParam;\n valid = false;\n switch (pt) {\n case '\"q':\n pt = '0\"q';\n break;\n case '\"p':\n pt = '61\"p';\n break;\n case 'r':\n pt = ''\n + (this._terminal.scrollTop + 1)\n + ';'\n + (this._terminal.scrollBottom + 1)\n + 'r';\n break;\n case 'm':\n pt = '0m';\n break;\n default:\n this._terminal.error('Unknown DCS Pt: %s.', pt);\n pt = '';\n break;\n }\n this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '$r' + pt + EscapeSequences_1.C0.ESC + '\\\\');\n break;\n case '+p':\n break;\n case '+q':\n pt = this._terminal.currentParam;\n valid = false;\n this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '+r' + pt + EscapeSequences_1.C0.ESC + '\\\\');\n break;\n default:\n this._terminal.error('Unknown DCS prefix: %s.', this._terminal.prefix);\n break;\n }\n this._terminal.currentParam = 0;\n this._terminal.prefix = '';\n this._state = ParserState.NORMAL;\n }\n else if (!this._terminal.currentParam) {\n if (!this._terminal.prefix && ch !== '$' && ch !== '+') {\n this._terminal.currentParam = ch;\n }\n else if (this._terminal.prefix.length === 2) {\n this._terminal.currentParam = ch;\n }\n else {\n this._terminal.prefix += ch;\n }\n }\n else {\n this._terminal.currentParam += ch;\n }\n break;\n case ParserState.IGNORE:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n this._state = ParserState.NORMAL;\n }\n break;\n }\n }\n return this._state;\n };\n Parser.prototype.setState = function (state) {\n this._state = state;\n };\n Parser.prototype.setPrefix = function (prefix) {\n this._terminal.prefix = prefix;\n };\n Parser.prototype.setPostfix = function (postfix) {\n this._terminal.postfix = postfix;\n };\n Parser.prototype.setParam = function (param) {\n this._terminal.currentParam = param;\n };\n Parser.prototype.getParam = function () {\n return this._terminal.currentParam;\n };\n Parser.prototype.finalizeParam = function () {\n this._terminal.params.push(this._terminal.currentParam);\n this._terminal.currentParam = 0;\n };\n Parser.prototype.skipNextChar = function () {\n this._position++;\n };\n return Parser;\n}());\nexports.Parser = Parser;\n\n//# sourceMappingURL=Parser.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Parser.js\n// module id = 18\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DomElementObjectPool_1 = require(\"./utils/DomElementObjectPool\");\nvar MAX_REFRESH_FRAME_SKIP = 5;\nvar FLAGS;\n(function (FLAGS) {\n FLAGS[FLAGS[\"BOLD\"] = 1] = \"BOLD\";\n FLAGS[FLAGS[\"UNDERLINE\"] = 2] = \"UNDERLINE\";\n FLAGS[FLAGS[\"BLINK\"] = 4] = \"BLINK\";\n FLAGS[FLAGS[\"INVERSE\"] = 8] = \"INVERSE\";\n FLAGS[FLAGS[\"INVISIBLE\"] = 16] = \"INVISIBLE\";\n})(FLAGS || (FLAGS = {}));\n;\nvar brokenBold = null;\nvar Renderer = (function () {\n function Renderer(_terminal) {\n this._terminal = _terminal;\n this._refreshRowsQueue = [];\n this._refreshFramesSkipped = 0;\n this._refreshAnimationFrame = null;\n this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span');\n if (brokenBold === null) {\n brokenBold = checkBoldBroken(this._terminal.element);\n }\n this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span');\n }\n Renderer.prototype.queueRefresh = function (start, end) {\n this._refreshRowsQueue.push({ start: start, end: end });\n if (!this._refreshAnimationFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this));\n }\n };\n Renderer.prototype._refreshLoop = function () {\n var skipFrame = this._terminal.writeBuffer.length > 0 && this._refreshFramesSkipped++ <= MAX_REFRESH_FRAME_SKIP;\n if (skipFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this));\n return;\n }\n this._refreshFramesSkipped = 0;\n var start;\n var end;\n if (this._refreshRowsQueue.length > 4) {\n start = 0;\n end = this._terminal.rows - 1;\n }\n else {\n start = this._refreshRowsQueue[0].start;\n end = this._refreshRowsQueue[0].end;\n for (var i = 1; i < this._refreshRowsQueue.length; i++) {\n if (this._refreshRowsQueue[i].start < start) {\n start = this._refreshRowsQueue[i].start;\n }\n if (this._refreshRowsQueue[i].end > end) {\n end = this._refreshRowsQueue[i].end;\n }\n }\n }\n this._refreshRowsQueue = [];\n this._refreshAnimationFrame = null;\n this._refresh(start, end);\n };\n Renderer.prototype._refresh = function (start, end) {\n var parent;\n if (end - start >= this._terminal.rows / 2) {\n parent = this._terminal.element.parentNode;\n if (parent) {\n this._terminal.element.removeChild(this._terminal.rowContainer);\n }\n }\n var width = this._terminal.cols;\n var y = start;\n if (end >= this._terminal.rows) {\n this._terminal.log('`end` is too large. Most likely a bad CSR.');\n end = this._terminal.rows - 1;\n }\n for (; y <= end; y++) {\n var row = y + this._terminal.ydisp;\n var line = this._terminal.lines.get(row);\n var x = void 0;\n if (this._terminal.y === y - (this._terminal.ybase - this._terminal.ydisp) &&\n this._terminal.cursorState &&\n !this._terminal.cursorHidden) {\n x = this._terminal.x;\n }\n else {\n x = -1;\n }\n var attr = this._terminal.defAttr;\n var documentFragment = document.createDocumentFragment();\n var innerHTML = '';\n var currentElement = void 0;\n while (this._terminal.children[y].children.length) {\n var child = this._terminal.children[y].children[0];\n this._terminal.children[y].removeChild(child);\n this._spanElementObjectPool.release(child);\n }\n for (var i = 0; i < width; i++) {\n var data = line[i][0];\n var ch = line[i][1];\n var ch_width = line[i][2];\n if (!ch_width) {\n continue;\n }\n if (i === x) {\n data = -1;\n }\n if (data !== attr) {\n if (attr !== this._terminal.defAttr) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n currentElement = null;\n }\n if (data !== this._terminal.defAttr) {\n if (innerHTML && !currentElement) {\n currentElement = this._spanElementObjectPool.acquire();\n }\n if (currentElement) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n }\n currentElement = this._spanElementObjectPool.acquire();\n if (data === -1) {\n currentElement.classList.add('reverse-video');\n currentElement.classList.add('terminal-cursor');\n }\n else {\n var bg = data & 0x1ff;\n var fg = (data >> 9) & 0x1ff;\n var flags = data >> 18;\n if (flags & FLAGS.BOLD) {\n if (!brokenBold) {\n currentElement.classList.add('xterm-bold');\n }\n if (fg < 8) {\n fg += 8;\n }\n }\n if (flags & FLAGS.UNDERLINE) {\n currentElement.classList.add('xterm-underline');\n }\n if (flags & FLAGS.BLINK) {\n currentElement.classList.add('xterm-blink');\n }\n if (flags & FLAGS.INVERSE) {\n var temp = bg;\n bg = fg;\n fg = temp;\n if ((flags & 1) && fg < 8) {\n fg += 8;\n }\n }\n if (flags & FLAGS.INVISIBLE) {\n currentElement.classList.add('xterm-hidden');\n }\n if (flags & FLAGS.INVERSE) {\n if (bg === 257) {\n bg = 15;\n }\n if (fg === 256) {\n fg = 0;\n }\n }\n if (bg < 256) {\n currentElement.classList.add(\"xterm-bg-color-\" + bg);\n }\n if (fg < 256) {\n currentElement.classList.add(\"xterm-color-\" + fg);\n }\n }\n }\n }\n if (ch_width === 2) {\n innerHTML += \"\" + ch + \"\";\n }\n else if (ch.charCodeAt(0) > 255) {\n innerHTML += \"\" + ch + \"\";\n }\n else {\n switch (ch) {\n case '&':\n innerHTML += '&';\n break;\n case '<':\n innerHTML += '<';\n break;\n case '>':\n innerHTML += '>';\n break;\n default:\n if (ch <= ' ') {\n innerHTML += ' ';\n }\n else {\n innerHTML += ch;\n }\n break;\n }\n }\n attr = data;\n }\n if (innerHTML && !currentElement) {\n currentElement = this._spanElementObjectPool.acquire();\n }\n if (currentElement) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n currentElement = null;\n }\n this._terminal.children[y].appendChild(documentFragment);\n }\n if (parent) {\n this._terminal.element.appendChild(this._terminal.rowContainer);\n }\n this._terminal.emit('refresh', { element: this._terminal.element, start: start, end: end });\n };\n ;\n Renderer.prototype.refreshSelection = function (start, end) {\n while (this._terminal.selectionContainer.children.length) {\n this._terminal.selectionContainer.removeChild(this._terminal.selectionContainer.children[0]);\n }\n if (!start || !end) {\n return;\n }\n var viewportStartRow = start[1] - this._terminal.ydisp;\n var viewportEndRow = end[1] - this._terminal.ydisp;\n var viewportCappedStartRow = Math.max(viewportStartRow, 0);\n var viewportCappedEndRow = Math.min(viewportEndRow, this._terminal.rows - 1);\n if (viewportCappedStartRow >= this._terminal.rows || viewportCappedEndRow < 0) {\n return;\n }\n var documentFragment = document.createDocumentFragment();\n var startCol = viewportStartRow === viewportCappedStartRow ? start[0] : 0;\n var endCol = viewportCappedStartRow === viewportCappedEndRow ? end[0] : this._terminal.cols;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow, startCol, endCol));\n var middleRowsCount = viewportCappedEndRow - viewportCappedStartRow - 1;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow + 1, 0, this._terminal.cols, middleRowsCount));\n if (viewportCappedStartRow !== viewportCappedEndRow) {\n var endCol_1 = viewportEndRow === viewportCappedEndRow ? end[0] : this._terminal.cols;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedEndRow, 0, endCol_1));\n }\n this._terminal.selectionContainer.appendChild(documentFragment);\n };\n Renderer.prototype._createSelectionElement = function (row, colStart, colEnd, rowCount) {\n if (rowCount === void 0) { rowCount = 1; }\n var element = document.createElement('div');\n element.style.height = rowCount * this._terminal.charMeasure.height + \"px\";\n element.style.top = row * this._terminal.charMeasure.height + \"px\";\n element.style.left = colStart * this._terminal.charMeasure.width + \"px\";\n element.style.width = this._terminal.charMeasure.width * (colEnd - colStart) + \"px\";\n return element;\n };\n return Renderer;\n}());\nexports.Renderer = Renderer;\nfunction checkBoldBroken(terminal) {\n var document = terminal.ownerDocument;\n var el = document.createElement('span');\n el.innerHTML = 'hello world';\n terminal.appendChild(el);\n var w1 = el.offsetWidth;\n var h1 = el.offsetHeight;\n el.style.fontWeight = 'bold';\n var w2 = el.offsetWidth;\n var h2 = el.offsetHeight;\n terminal.removeChild(el);\n return w1 !== w2 || h1 !== h2;\n}\n\n//# sourceMappingURL=Renderer.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Renderer.js\n// module id = 19\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Mouse = require(\"./utils/Mouse\");\nvar Browser = require(\"./utils/Browser\");\nvar EventEmitter_1 = require(\"./EventEmitter\");\nvar SelectionModel_1 = require(\"./SelectionModel\");\nvar DRAG_SCROLL_MAX_THRESHOLD = 50;\nvar DRAG_SCROLL_MAX_SPEED = 15;\nvar DRAG_SCROLL_INTERVAL = 50;\nvar CLEAR_MOUSE_DOWN_TIME = 400;\nvar CLEAR_MOUSE_DISTANCE = 10;\nvar WORD_SEPARATORS = ' ()[]{}\\'\"';\nvar LINE_DATA_CHAR_INDEX = 1;\nvar LINE_DATA_WIDTH_INDEX = 2;\nvar NON_BREAKING_SPACE_CHAR = String.fromCharCode(160);\nvar ALL_NON_BREAKING_SPACE_REGEX = new RegExp(NON_BREAKING_SPACE_CHAR, 'g');\nvar SelectionMode;\n(function (SelectionMode) {\n SelectionMode[SelectionMode[\"NORMAL\"] = 0] = \"NORMAL\";\n SelectionMode[SelectionMode[\"WORD\"] = 1] = \"WORD\";\n SelectionMode[SelectionMode[\"LINE\"] = 2] = \"LINE\";\n})(SelectionMode || (SelectionMode = {}));\nvar SelectionManager = (function (_super) {\n __extends(SelectionManager, _super);\n function SelectionManager(_terminal, _buffer, _rowContainer, _charMeasure) {\n var _this = _super.call(this) || this;\n _this._terminal = _terminal;\n _this._buffer = _buffer;\n _this._rowContainer = _rowContainer;\n _this._charMeasure = _charMeasure;\n _this._initListeners();\n _this.enable();\n _this._model = new SelectionModel_1.SelectionModel(_terminal);\n _this._lastMouseDownTime = 0;\n _this._activeSelectionMode = SelectionMode.NORMAL;\n return _this;\n }\n SelectionManager.prototype._initListeners = function () {\n var _this = this;\n this._bufferTrimListener = function (amount) { return _this._onTrim(amount); };\n this._mouseMoveListener = function (event) { return _this._onMouseMove(event); };\n this._mouseDownListener = function (event) { return _this._onMouseDown(event); };\n this._mouseUpListener = function (event) { return _this._onMouseUp(event); };\n };\n SelectionManager.prototype.disable = function () {\n this.clearSelection();\n this._buffer.off('trim', this._bufferTrimListener);\n this._rowContainer.removeEventListener('mousedown', this._mouseDownListener);\n };\n SelectionManager.prototype.enable = function () {\n this._buffer.on('trim', this._bufferTrimListener);\n this._rowContainer.addEventListener('mousedown', this._mouseDownListener);\n };\n SelectionManager.prototype.setBuffer = function (buffer) {\n this._buffer = buffer;\n this.clearSelection();\n };\n Object.defineProperty(SelectionManager.prototype, \"hasSelection\", {\n get: function () {\n var start = this._model.finalSelectionStart;\n var end = this._model.finalSelectionEnd;\n if (!start || !end) {\n return false;\n }\n return start[0] !== end[0] || start[1] !== end[1];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SelectionManager.prototype, \"selectionText\", {\n get: function () {\n var start = this._model.finalSelectionStart;\n var end = this._model.finalSelectionEnd;\n if (!start || !end) {\n return '';\n }\n var startRowEndCol = start[1] === end[1] ? end[0] : null;\n var result = [];\n result.push(this._translateBufferLineToString(this._buffer.get(start[1]), true, start[0], startRowEndCol));\n for (var i = start[1] + 1; i <= end[1] - 1; i++) {\n var bufferLine = this._buffer.get(i);\n var lineText = this._translateBufferLineToString(bufferLine, true);\n if (bufferLine.isWrapped) {\n result[result.length - 1] += lineText;\n }\n else {\n result.push(lineText);\n }\n }\n if (start[1] !== end[1]) {\n var bufferLine = this._buffer.get(end[1]);\n var lineText = this._translateBufferLineToString(bufferLine, true, 0, end[0]);\n if (bufferLine.isWrapped) {\n result[result.length - 1] += lineText;\n }\n else {\n result.push(lineText);\n }\n }\n var formattedResult = result.map(function (line) {\n return line.replace(ALL_NON_BREAKING_SPACE_REGEX, ' ');\n }).join(Browser.isMSWindows ? '\\r\\n' : '\\n');\n return formattedResult;\n },\n enumerable: true,\n configurable: true\n });\n SelectionManager.prototype.clearSelection = function () {\n this._model.clearSelection();\n this._removeMouseDownListeners();\n this.refresh();\n };\n SelectionManager.prototype._translateBufferLineToString = function (line, trimRight, startCol, endCol) {\n if (startCol === void 0) { startCol = 0; }\n if (endCol === void 0) { endCol = null; }\n var lineString = '';\n var widthAdjustedStartCol = startCol;\n var widthAdjustedEndCol = endCol;\n for (var i = 0; i < line.length; i++) {\n var char = line[i];\n lineString += char[LINE_DATA_CHAR_INDEX];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n if (startCol >= i) {\n widthAdjustedStartCol--;\n }\n if (endCol >= i) {\n widthAdjustedEndCol--;\n }\n }\n }\n var finalEndCol = widthAdjustedEndCol || line.length;\n if (trimRight) {\n var rightWhitespaceIndex = lineString.search(/\\s+$/);\n if (rightWhitespaceIndex !== -1) {\n finalEndCol = Math.min(finalEndCol, rightWhitespaceIndex);\n }\n if (finalEndCol <= widthAdjustedStartCol) {\n return '';\n }\n }\n return lineString.substring(widthAdjustedStartCol, finalEndCol);\n };\n SelectionManager.prototype.refresh = function (isNewSelection) {\n var _this = this;\n if (!this._refreshAnimationFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(function () { return _this._refresh(); });\n }\n if (Browser.isLinux && isNewSelection) {\n var selectionText = this.selectionText;\n if (selectionText.length) {\n this.emit('newselection', this.selectionText);\n }\n }\n };\n SelectionManager.prototype._refresh = function () {\n this._refreshAnimationFrame = null;\n this.emit('refresh', { start: this._model.finalSelectionStart, end: this._model.finalSelectionEnd });\n };\n SelectionManager.prototype.selectAll = function () {\n this._model.isSelectAllActive = true;\n this.refresh();\n };\n SelectionManager.prototype._onTrim = function (amount) {\n var needsRefresh = this._model.onTrim(amount);\n if (needsRefresh) {\n this.refresh();\n }\n };\n SelectionManager.prototype._getMouseBufferCoords = function (event) {\n var coords = Mouse.getCoords(event, this._rowContainer, this._charMeasure, this._terminal.cols, this._terminal.rows, true);\n coords[0]--;\n coords[1]--;\n coords[1] += this._terminal.ydisp;\n return coords;\n };\n SelectionManager.prototype._getMouseEventScrollAmount = function (event) {\n var offset = Mouse.getCoordsRelativeToElement(event, this._rowContainer)[1];\n var terminalHeight = this._terminal.rows * this._charMeasure.height;\n if (offset >= 0 && offset <= terminalHeight) {\n return 0;\n }\n if (offset > terminalHeight) {\n offset -= terminalHeight;\n }\n offset = Math.min(Math.max(offset, -DRAG_SCROLL_MAX_THRESHOLD), DRAG_SCROLL_MAX_THRESHOLD);\n offset /= DRAG_SCROLL_MAX_THRESHOLD;\n return (offset / Math.abs(offset)) + Math.round(offset * (DRAG_SCROLL_MAX_SPEED - 1));\n };\n SelectionManager.prototype._onMouseDown = function (event) {\n if (event.button !== 0) {\n return;\n }\n event.preventDefault();\n this._dragScrollAmount = 0;\n this._setMouseClickCount(event);\n if (event.shiftKey) {\n this._onShiftClick(event);\n }\n else {\n if (this._clickCount === 1) {\n this._onSingleClick(event);\n }\n else if (this._clickCount === 2) {\n this._onDoubleClick(event);\n }\n else if (this._clickCount === 3) {\n this._onTripleClick(event);\n }\n }\n this._addMouseDownListeners();\n this.refresh(true);\n };\n SelectionManager.prototype._addMouseDownListeners = function () {\n var _this = this;\n this._rowContainer.ownerDocument.addEventListener('mousemove', this._mouseMoveListener);\n this._rowContainer.ownerDocument.addEventListener('mouseup', this._mouseUpListener);\n this._dragScrollIntervalTimer = setInterval(function () { return _this._dragScroll(); }, DRAG_SCROLL_INTERVAL);\n };\n SelectionManager.prototype._removeMouseDownListeners = function () {\n this._rowContainer.ownerDocument.removeEventListener('mousemove', this._mouseMoveListener);\n this._rowContainer.ownerDocument.removeEventListener('mouseup', this._mouseUpListener);\n clearInterval(this._dragScrollIntervalTimer);\n this._dragScrollIntervalTimer = null;\n };\n SelectionManager.prototype._onShiftClick = function (event) {\n if (this._model.selectionStart) {\n this._model.selectionEnd = this._getMouseBufferCoords(event);\n }\n };\n SelectionManager.prototype._onSingleClick = function (event) {\n this._model.selectionStartLength = 0;\n this._model.isSelectAllActive = false;\n this._activeSelectionMode = SelectionMode.NORMAL;\n this._model.selectionStart = this._getMouseBufferCoords(event);\n if (this._model.selectionStart) {\n this._model.selectionEnd = null;\n var char = this._buffer.get(this._model.selectionStart[1])[this._model.selectionStart[0]];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n this._model.selectionStart[0]++;\n }\n }\n };\n SelectionManager.prototype._onDoubleClick = function (event) {\n var coords = this._getMouseBufferCoords(event);\n if (coords) {\n this._activeSelectionMode = SelectionMode.WORD;\n this._selectWordAt(coords);\n }\n };\n SelectionManager.prototype._onTripleClick = function (event) {\n var coords = this._getMouseBufferCoords(event);\n if (coords) {\n this._activeSelectionMode = SelectionMode.LINE;\n this._selectLineAt(coords[1]);\n }\n };\n SelectionManager.prototype._setMouseClickCount = function (event) {\n var currentTime = (new Date()).getTime();\n if (currentTime - this._lastMouseDownTime > CLEAR_MOUSE_DOWN_TIME || this._distanceFromLastMousePosition(event) > CLEAR_MOUSE_DISTANCE) {\n this._clickCount = 0;\n }\n this._lastMouseDownTime = currentTime;\n this._lastMousePosition = [event.pageX, event.pageY];\n this._clickCount++;\n };\n SelectionManager.prototype._distanceFromLastMousePosition = function (event) {\n var result = Math.max(Math.abs(this._lastMousePosition[0] - event.pageX), Math.abs(this._lastMousePosition[1] - event.pageY));\n return result;\n };\n SelectionManager.prototype._onMouseMove = function (event) {\n var previousSelectionEnd = this._model.selectionEnd ? [this._model.selectionEnd[0], this._model.selectionEnd[1]] : null;\n this._model.selectionEnd = this._getMouseBufferCoords(event);\n if (this._activeSelectionMode === SelectionMode.LINE) {\n if (this._model.selectionEnd[1] < this._model.selectionStart[1]) {\n this._model.selectionEnd[0] = 0;\n }\n else {\n this._model.selectionEnd[0] = this._terminal.cols;\n }\n }\n else if (this._activeSelectionMode === SelectionMode.WORD) {\n this._selectToWordAt(this._model.selectionEnd);\n }\n this._dragScrollAmount = this._getMouseEventScrollAmount(event);\n if (this._dragScrollAmount > 0) {\n this._model.selectionEnd[0] = this._terminal.cols - 1;\n }\n else if (this._dragScrollAmount < 0) {\n this._model.selectionEnd[0] = 0;\n }\n if (this._model.selectionEnd[1] < this._buffer.length) {\n var char = this._buffer.get(this._model.selectionEnd[1])[this._model.selectionEnd[0]];\n if (char && char[2] === 0) {\n this._model.selectionEnd[0]++;\n }\n }\n if (!previousSelectionEnd ||\n previousSelectionEnd[0] !== this._model.selectionEnd[0] ||\n previousSelectionEnd[1] !== this._model.selectionEnd[1]) {\n this.refresh(true);\n }\n };\n SelectionManager.prototype._dragScroll = function () {\n if (this._dragScrollAmount) {\n this._terminal.scrollDisp(this._dragScrollAmount, false);\n if (this._dragScrollAmount > 0) {\n this._model.selectionEnd = [this._terminal.cols - 1, this._terminal.ydisp + this._terminal.rows];\n }\n else {\n this._model.selectionEnd = [0, this._terminal.ydisp];\n }\n this.refresh();\n }\n };\n SelectionManager.prototype._onMouseUp = function (event) {\n this._removeMouseDownListeners();\n };\n SelectionManager.prototype._convertViewportColToCharacterIndex = function (bufferLine, coords) {\n var charIndex = coords[0];\n for (var i = 0; coords[0] >= i; i++) {\n var char = bufferLine[i];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n charIndex--;\n }\n }\n return charIndex;\n };\n SelectionManager.prototype._getWordAt = function (coords) {\n var bufferLine = this._buffer.get(coords[1]);\n var line = this._translateBufferLineToString(bufferLine, false);\n var endIndex = this._convertViewportColToCharacterIndex(bufferLine, coords);\n var startIndex = endIndex;\n var charOffset = coords[0] - startIndex;\n var leftWideCharCount = 0;\n var rightWideCharCount = 0;\n if (line.charAt(startIndex) === ' ') {\n while (startIndex > 0 && line.charAt(startIndex - 1) === ' ') {\n startIndex--;\n }\n while (endIndex < line.length && line.charAt(endIndex + 1) === ' ') {\n endIndex++;\n }\n }\n else {\n var startCol = coords[0];\n var endCol = coords[0];\n if (bufferLine[startCol][LINE_DATA_WIDTH_INDEX] === 0) {\n leftWideCharCount++;\n startCol--;\n }\n if (bufferLine[endCol][LINE_DATA_WIDTH_INDEX] === 2) {\n rightWideCharCount++;\n endCol++;\n }\n while (startIndex > 0 && !this._isCharWordSeparator(line.charAt(startIndex - 1))) {\n if (bufferLine[startCol - 1][LINE_DATA_WIDTH_INDEX] === 0) {\n leftWideCharCount++;\n startCol--;\n }\n startIndex--;\n startCol--;\n }\n while (endIndex + 1 < line.length && !this._isCharWordSeparator(line.charAt(endIndex + 1))) {\n if (bufferLine[endCol + 1][LINE_DATA_WIDTH_INDEX] === 2) {\n rightWideCharCount++;\n endCol++;\n }\n endIndex++;\n endCol++;\n }\n }\n var start = startIndex + charOffset - leftWideCharCount;\n var length = Math.min(endIndex - startIndex + leftWideCharCount + rightWideCharCount + 1, this._terminal.cols);\n return { start: start, length: length };\n };\n SelectionManager.prototype._selectWordAt = function (coords) {\n var wordPosition = this._getWordAt(coords);\n this._model.selectionStart = [wordPosition.start, coords[1]];\n this._model.selectionStartLength = wordPosition.length;\n };\n SelectionManager.prototype._selectToWordAt = function (coords) {\n var wordPosition = this._getWordAt(coords);\n this._model.selectionEnd = [this._model.areSelectionValuesReversed() ? wordPosition.start : (wordPosition.start + wordPosition.length), coords[1]];\n };\n SelectionManager.prototype._isCharWordSeparator = function (char) {\n return WORD_SEPARATORS.indexOf(char) >= 0;\n };\n SelectionManager.prototype._selectLineAt = function (line) {\n this._model.selectionStart = [0, line];\n this._model.selectionStartLength = this._terminal.cols;\n };\n return SelectionManager;\n}(EventEmitter_1.EventEmitter));\nexports.SelectionManager = SelectionManager;\n\n//# sourceMappingURL=SelectionManager.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/SelectionManager.js\n// module id = 20\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar SelectionModel = (function () {\n function SelectionModel(_terminal) {\n this._terminal = _terminal;\n this.clearSelection();\n }\n SelectionModel.prototype.clearSelection = function () {\n this.selectionStart = null;\n this.selectionEnd = null;\n this.isSelectAllActive = false;\n this.selectionStartLength = 0;\n };\n Object.defineProperty(SelectionModel.prototype, \"finalSelectionStart\", {\n get: function () {\n if (this.isSelectAllActive) {\n return [0, 0];\n }\n if (!this.selectionEnd || !this.selectionStart) {\n return this.selectionStart;\n }\n return this.areSelectionValuesReversed() ? this.selectionEnd : this.selectionStart;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SelectionModel.prototype, \"finalSelectionEnd\", {\n get: function () {\n if (this.isSelectAllActive) {\n return [this._terminal.cols, this._terminal.ybase + this._terminal.rows - 1];\n }\n if (!this.selectionStart) {\n return null;\n }\n if (!this.selectionEnd || this.areSelectionValuesReversed()) {\n return [this.selectionStart[0] + this.selectionStartLength, this.selectionStart[1]];\n }\n if (this.selectionStartLength) {\n if (this.selectionEnd[1] === this.selectionStart[1]) {\n return [Math.max(this.selectionStart[0] + this.selectionStartLength, this.selectionEnd[0]), this.selectionEnd[1]];\n }\n }\n return this.selectionEnd;\n },\n enumerable: true,\n configurable: true\n });\n SelectionModel.prototype.areSelectionValuesReversed = function () {\n var start = this.selectionStart;\n var end = this.selectionEnd;\n return start[1] > end[1] || (start[1] === end[1] && start[0] > end[0]);\n };\n SelectionModel.prototype.onTrim = function (amount) {\n if (this.selectionStart) {\n this.selectionStart[1] -= amount;\n }\n if (this.selectionEnd) {\n this.selectionEnd[1] -= amount;\n }\n if (this.selectionEnd && this.selectionEnd[1] < 0) {\n this.clearSelection();\n return true;\n }\n if (this.selectionStart && this.selectionStart[1] < 0) {\n this.selectionStart[1] = 0;\n }\n return false;\n };\n return SelectionModel;\n}());\nexports.SelectionModel = SelectionModel;\n\n//# sourceMappingURL=SelectionModel.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/SelectionModel.js\n// module id = 21\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Viewport = (function () {\n function Viewport(terminal, viewportElement, scrollArea, charMeasure) {\n var _this = this;\n this.terminal = terminal;\n this.viewportElement = viewportElement;\n this.scrollArea = scrollArea;\n this.charMeasure = charMeasure;\n this.currentRowHeight = 0;\n this.lastRecordedBufferLength = 0;\n this.lastRecordedViewportHeight = 0;\n this.terminal.on('scroll', this.syncScrollArea.bind(this));\n this.terminal.on('resize', this.syncScrollArea.bind(this));\n this.viewportElement.addEventListener('scroll', this.onScroll.bind(this));\n setTimeout(function () { return _this.syncScrollArea(); }, 0);\n }\n Viewport.prototype.refresh = function () {\n if (this.charMeasure.height > 0) {\n var rowHeightChanged = this.charMeasure.height !== this.currentRowHeight;\n if (rowHeightChanged) {\n this.currentRowHeight = this.charMeasure.height;\n this.viewportElement.style.lineHeight = this.charMeasure.height + 'px';\n this.terminal.rowContainer.style.lineHeight = this.charMeasure.height + 'px';\n }\n var viewportHeightChanged = this.lastRecordedViewportHeight !== this.terminal.rows;\n if (rowHeightChanged || viewportHeightChanged) {\n this.lastRecordedViewportHeight = this.terminal.rows;\n this.viewportElement.style.height = this.charMeasure.height * this.terminal.rows + 'px';\n this.terminal.selectionContainer.style.height = this.viewportElement.style.height;\n }\n this.scrollArea.style.height = (this.charMeasure.height * this.lastRecordedBufferLength) + 'px';\n }\n };\n Viewport.prototype.syncScrollArea = function () {\n if (this.lastRecordedBufferLength !== this.terminal.lines.length) {\n this.lastRecordedBufferLength = this.terminal.lines.length;\n this.refresh();\n }\n else if (this.lastRecordedViewportHeight !== this.terminal.rows) {\n this.refresh();\n }\n else {\n if (this.charMeasure.height !== this.currentRowHeight) {\n this.refresh();\n }\n }\n var scrollTop = this.terminal.ydisp * this.currentRowHeight;\n if (this.viewportElement.scrollTop !== scrollTop) {\n this.viewportElement.scrollTop = scrollTop;\n }\n };\n Viewport.prototype.onScroll = function (ev) {\n var newRow = Math.round(this.viewportElement.scrollTop / this.currentRowHeight);\n var diff = newRow - this.terminal.ydisp;\n this.terminal.scrollDisp(diff, true);\n };\n Viewport.prototype.onWheel = function (ev) {\n if (ev.deltaY === 0) {\n return;\n }\n var multiplier = 1;\n if (ev.deltaMode === WheelEvent.DOM_DELTA_LINE) {\n multiplier = this.currentRowHeight;\n }\n else if (ev.deltaMode === WheelEvent.DOM_DELTA_PAGE) {\n multiplier = this.currentRowHeight * this.terminal.rows;\n }\n this.viewportElement.scrollTop += ev.deltaY * multiplier;\n ev.preventDefault();\n };\n ;\n Viewport.prototype.onTouchStart = function (ev) {\n this.lastTouchY = ev.touches[0].pageY;\n };\n ;\n Viewport.prototype.onTouchMove = function (ev) {\n var deltaY = this.lastTouchY - ev.touches[0].pageY;\n this.lastTouchY = ev.touches[0].pageY;\n if (deltaY === 0) {\n return;\n }\n this.viewportElement.scrollTop += deltaY;\n ev.preventDefault();\n };\n ;\n return Viewport;\n}());\nexports.Viewport = Viewport;\n\n//# sourceMappingURL=Viewport.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Viewport.js\n// module id = 22\n// module chunks = 0","var map = {\n\t\"./attach/attach\": 4,\n\t\"./attach/attach.js\": 4,\n\t\"./attach/package.json\": 24,\n\t\"./fit/fit\": 5,\n\t\"./fit/fit.js\": 5,\n\t\"./fit/package.json\": 25,\n\t\"./fullscreen/fullscreen\": 6,\n\t\"./fullscreen/fullscreen.css\": 26,\n\t\"./fullscreen/fullscreen.js\": 6,\n\t\"./fullscreen/package.json\": 27,\n\t\"./terminado/package.json\": 28,\n\t\"./terminado/terminado\": 7,\n\t\"./terminado/terminado.js\": 7\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 23;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons ^\\.\\/.*$\n// module id = 23\n// module chunks = 0","module.exports = {\"name\":\"xterm.attach\",\"main\":\"attach.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/attach/package.json\n// module id = 24\n// module chunks = 0","module.exports = {\"name\":\"xterm.fit\",\"main\":\"fit.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fit/package.json\n// module id = 25\n// module chunks = 0","module.exports = {\"name\":\"xterm.fullscreen\",\"main\":\"fullscreen.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fullscreen/package.json\n// module id = 27\n// module chunks = 0","module.exports = {\"name\":\"xterm.terminado\",\"main\":\"terminado.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/terminado/package.json\n// module id = 28\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction prepareTextForTerminal(text, isMSWindows) {\n if (isMSWindows) {\n return text.replace(/\\r?\\n/g, '\\r');\n }\n return text;\n}\nexports.prepareTextForTerminal = prepareTextForTerminal;\nfunction copyHandler(ev, term, selectionManager) {\n if (term.browser.isMSIE) {\n window.clipboardData.setData('Text', selectionManager.selectionText);\n }\n else {\n ev.clipboardData.setData('text/plain', selectionManager.selectionText);\n }\n ev.preventDefault();\n}\nexports.copyHandler = copyHandler;\nfunction pasteHandler(ev, term) {\n ev.stopPropagation();\n var text;\n var dispatchPaste = function (text) {\n text = prepareTextForTerminal(text, term.browser.isMSWindows);\n term.handler(text);\n term.textarea.value = '';\n term.emit('paste', text);\n return term.cancel(ev);\n };\n if (term.browser.isMSIE) {\n if (window.clipboardData) {\n text = window.clipboardData.getData('Text');\n dispatchPaste(text);\n }\n }\n else {\n if (ev.clipboardData) {\n text = ev.clipboardData.getData('text/plain');\n dispatchPaste(text);\n }\n }\n}\nexports.pasteHandler = pasteHandler;\nfunction moveTextAreaUnderMouseCursor(ev, textarea) {\n textarea.style.position = 'fixed';\n textarea.style.width = '20px';\n textarea.style.height = '20px';\n textarea.style.left = (ev.clientX - 10) + 'px';\n textarea.style.top = (ev.clientY - 10) + 'px';\n textarea.style.zIndex = '1000';\n textarea.focus();\n setTimeout(function () {\n textarea.style.position = null;\n textarea.style.width = null;\n textarea.style.height = null;\n textarea.style.left = null;\n textarea.style.top = null;\n textarea.style.zIndex = null;\n }, 4);\n}\nexports.moveTextAreaUnderMouseCursor = moveTextAreaUnderMouseCursor;\nfunction rightClickHandler(ev, textarea, selectionManager) {\n moveTextAreaUnderMouseCursor(ev, textarea);\n textarea.value = selectionManager.selectionText;\n textarea.select();\n}\nexports.rightClickHandler = rightClickHandler;\n\n//# sourceMappingURL=Clipboard.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/handlers/Clipboard.js\n// module id = 29\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventEmitter_js_1 = require(\"../EventEmitter.js\");\nvar CharMeasure = (function (_super) {\n __extends(CharMeasure, _super);\n function CharMeasure(document, parentElement) {\n var _this = _super.call(this) || this;\n _this._document = document;\n _this._parentElement = parentElement;\n return _this;\n }\n Object.defineProperty(CharMeasure.prototype, \"width\", {\n get: function () {\n return this._width;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CharMeasure.prototype, \"height\", {\n get: function () {\n return this._height;\n },\n enumerable: true,\n configurable: true\n });\n CharMeasure.prototype.measure = function () {\n var _this = this;\n if (!this._measureElement) {\n this._measureElement = this._document.createElement('span');\n this._measureElement.style.position = 'absolute';\n this._measureElement.style.top = '0';\n this._measureElement.style.left = '-9999em';\n this._measureElement.textContent = 'W';\n this._measureElement.setAttribute('aria-hidden', 'true');\n this._parentElement.appendChild(this._measureElement);\n setTimeout(function () { return _this._doMeasure(); }, 0);\n }\n else {\n this._doMeasure();\n }\n };\n CharMeasure.prototype._doMeasure = function () {\n var geometry = this._measureElement.getBoundingClientRect();\n if (geometry.width === 0 || geometry.height === 0) {\n return;\n }\n if (this._width !== geometry.width || this._height !== geometry.height) {\n this._width = geometry.width;\n this._height = geometry.height;\n this.emit('charsizechanged');\n }\n };\n return CharMeasure;\n}(EventEmitter_js_1.EventEmitter));\nexports.CharMeasure = CharMeasure;\n\n//# sourceMappingURL=CharMeasure.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/CharMeasure.js\n// module id = 30\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventEmitter_1 = require(\"../EventEmitter\");\nvar CircularList = (function (_super) {\n __extends(CircularList, _super);\n function CircularList(maxLength) {\n var _this = _super.call(this) || this;\n _this._array = new Array(maxLength);\n _this._startIndex = 0;\n _this._length = 0;\n return _this;\n }\n Object.defineProperty(CircularList.prototype, \"maxLength\", {\n get: function () {\n return this._array.length;\n },\n set: function (newMaxLength) {\n var newArray = new Array(newMaxLength);\n for (var i = 0; i < Math.min(newMaxLength, this.length); i++) {\n newArray[i] = this._array[this._getCyclicIndex(i)];\n }\n this._array = newArray;\n this._startIndex = 0;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CircularList.prototype, \"length\", {\n get: function () {\n return this._length;\n },\n set: function (newLength) {\n if (newLength > this._length) {\n for (var i = this._length; i < newLength; i++) {\n this._array[i] = undefined;\n }\n }\n this._length = newLength;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CircularList.prototype, \"forEach\", {\n get: function () {\n var _this = this;\n return function (callbackfn) {\n var i = 0;\n var length = _this.length;\n for (var i_1 = 0; i_1 < length; i_1++) {\n callbackfn(_this.get(i_1), i_1);\n }\n };\n },\n enumerable: true,\n configurable: true\n });\n CircularList.prototype.get = function (index) {\n return this._array[this._getCyclicIndex(index)];\n };\n CircularList.prototype.set = function (index, value) {\n this._array[this._getCyclicIndex(index)] = value;\n };\n CircularList.prototype.push = function (value) {\n this._array[this._getCyclicIndex(this._length)] = value;\n if (this._length === this.maxLength) {\n this._startIndex++;\n if (this._startIndex === this.maxLength) {\n this._startIndex = 0;\n }\n this.emit('trim', 1);\n }\n else {\n this._length++;\n }\n };\n CircularList.prototype.pop = function () {\n return this._array[this._getCyclicIndex(this._length-- - 1)];\n };\n CircularList.prototype.splice = function (start, deleteCount) {\n var items = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n items[_i - 2] = arguments[_i];\n }\n if (deleteCount) {\n for (var i = start; i < this._length - deleteCount; i++) {\n this._array[this._getCyclicIndex(i)] = this._array[this._getCyclicIndex(i + deleteCount)];\n }\n this._length -= deleteCount;\n }\n if (items && items.length) {\n for (var i = this._length - 1; i >= start; i--) {\n this._array[this._getCyclicIndex(i + items.length)] = this._array[this._getCyclicIndex(i)];\n }\n for (var i = 0; i < items.length; i++) {\n this._array[this._getCyclicIndex(start + i)] = items[i];\n }\n if (this._length + items.length > this.maxLength) {\n var countToTrim = (this._length + items.length) - this.maxLength;\n this._startIndex += countToTrim;\n this._length = this.maxLength;\n this.emit('trim', countToTrim);\n }\n else {\n this._length += items.length;\n }\n }\n };\n CircularList.prototype.trimStart = function (count) {\n if (count > this._length) {\n count = this._length;\n }\n this._startIndex += count;\n this._length -= count;\n this.emit('trim', count);\n };\n CircularList.prototype.shiftElements = function (start, count, offset) {\n if (count <= 0) {\n return;\n }\n if (start < 0 || start >= this._length) {\n throw new Error('start argument out of range');\n }\n if (start + offset < 0) {\n throw new Error('Cannot shift elements in list beyond index 0');\n }\n if (offset > 0) {\n for (var i = count - 1; i >= 0; i--) {\n this.set(start + i + offset, this.get(start + i));\n }\n var expandListBy = (start + count + offset) - this._length;\n if (expandListBy > 0) {\n this._length += expandListBy;\n while (this._length > this.maxLength) {\n this._length--;\n this._startIndex++;\n this.emit('trim', 1);\n }\n }\n }\n else {\n for (var i = 0; i < count; i++) {\n this.set(start + i + offset, this.get(start + i));\n }\n }\n };\n CircularList.prototype._getCyclicIndex = function (index) {\n return (this._startIndex + index) % this.maxLength;\n };\n return CircularList;\n}(EventEmitter_1.EventEmitter));\nexports.CircularList = CircularList;\n\n//# sourceMappingURL=CircularList.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/CircularList.js\n// module id = 31\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DomElementObjectPool = (function () {\n function DomElementObjectPool(type) {\n this.type = type;\n this._type = type;\n this._pool = [];\n this._inUse = {};\n }\n DomElementObjectPool.prototype.acquire = function () {\n var element;\n if (this._pool.length === 0) {\n element = this._createNew();\n }\n else {\n element = this._pool.pop();\n }\n this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)] = element;\n return element;\n };\n DomElementObjectPool.prototype.release = function (element) {\n if (!this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)]) {\n throw new Error('Could not release an element not yet acquired');\n }\n delete this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)];\n this._cleanElement(element);\n this._pool.push(element);\n };\n DomElementObjectPool.prototype._createNew = function () {\n var element = document.createElement(this._type);\n var id = DomElementObjectPool._objectCount++;\n element.setAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE, id.toString(10));\n return element;\n };\n DomElementObjectPool.prototype._cleanElement = function (element) {\n element.className = '';\n element.innerHTML = '';\n };\n return DomElementObjectPool;\n}());\nDomElementObjectPool.OBJECT_ID_ATTRIBUTE = 'data-obj-id';\nDomElementObjectPool._objectCount = 0;\nexports.DomElementObjectPool = DomElementObjectPool;\n\n//# sourceMappingURL=DomElementObjectPool.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/DomElementObjectPool.js\n// module id = 32\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction contains(arr, el) {\n return arr.indexOf(el) >= 0;\n}\nexports.contains = contains;\n;\n\n//# sourceMappingURL=Generic.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Generic.js\n// module id = 33\n// module chunks = 0","module.exports = hterm;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"hterm\"\n// module id = 34\n// module chunks = 0","module.exports = lib;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lib\"\n// module id = 35\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/js/dist/hterm.d.ts b/js/dist/hterm.d.ts new file mode 100644 index 0000000..c66354b --- /dev/null +++ b/js/dist/hterm.d.ts @@ -0,0 +1,24 @@ +import * as bare from "hterm"; +export declare class TermHterm { + elem: HTMLElement; + term: bare.Terminal; + io: bare.IO; + columns: number; + rows: number; + message: string; + constructor(elem: HTMLElement); + info(): { + columns: number; + rows: number; + }; + output(data: string): void; + showMessage(message: string, timeout: number): void; + removeMessage(): void; + setWindowTitle(title: string): void; + setPreferences(value: object): void; + onInput(callback: (input: string) => void): void; + onResize(callback: (colmuns: number, rows: number) => void): void; + deactivate(): void; + reset(): void; + close(): void; +} diff --git a/js/dist/hterm.js b/js/dist/hterm.js new file mode 100644 index 0000000..85a62b5 --- /dev/null +++ b/js/dist/hterm.js @@ -0,0 +1,77 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var bare = require("hterm"); +var TermHterm = (function () { + function TermHterm(elem) { + var _this = this; + this.elem = elem; + this.term = new bare.Terminal(); + // this.term.defaultStorage = new lib.Storage.Memory(); + this.term.getPrefs().set("send-encoding", "raw"); + this.term.decorate(this.elem); + this.term.onTerminalReady = function () { + _this.io = _this.term.io.push(); + _this.term.installKeyboard(); + }; + } + ; + TermHterm.prototype.info = function () { + return { columns: this.term.screen.getWidth(), rows: this.term.screen.getHeight() }; + }; + ; + TermHterm.prototype.output = function (data) { + if (this.term.io.writeUTF8 != null) { + this.term.io.writeUTF8(data); + } + }; + ; + TermHterm.prototype.showMessage = function (message, timeout) { + this.term.io.showOverlay(message, timeout); + }; + ; + TermHterm.prototype.removeMessage = function () { + this.term.io.showOverlay("", 0); + }; + TermHterm.prototype.setWindowTitle = function (title) { + this.term.setWindowTitle(title); + }; + ; + TermHterm.prototype.setPreferences = function (value) { + var _this = this; + Object.keys(value).forEach(function (key) { + _this.term.getPrefs().set(key, value[key]); + }); + }; + ; + TermHterm.prototype.onInput = function (callback) { + this.io.onVTKeystroke = function (data) { + callback(data); + }; + this.io.sendString = function (data) { + callback(data); + }; + }; + ; + TermHterm.prototype.onResize = function (callback) { + this.io.onTerminalResize = function (columns, rows) { + callback(columns, rows); + }; + }; + ; + TermHterm.prototype.deactivate = function () { + this.io.onVTKeystroke = null; + this.io.sendString = null; + this.io.onTerminalResize = null; + this.term.uninstallKeyboard(); + }; + TermHterm.prototype.reset = function () { + this.removeMessage(); + // this.term.reset(); + }; + TermHterm.prototype.close = function () { + this.term.uninstallKeyboard(); + }; + return TermHterm; +}()); +exports.TermHterm = TermHterm; +//# sourceMappingURL=hterm.js.map \ No newline at end of file diff --git a/js/dist/hterm.js.map b/js/dist/hterm.js.map new file mode 100644 index 0000000..55205ad --- /dev/null +++ b/js/dist/hterm.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hterm.js","sourceRoot":"","sources":["../src/hterm.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/js/dist/main.d.ts b/js/dist/main.d.ts new file mode 100644 index 0000000..e69de29 diff --git a/js/dist/main.js b/js/dist/main.js new file mode 100644 index 0000000..5b685c3 --- /dev/null +++ b/js/dist/main.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var hterm_1 = require("./hterm"); +var xterm_1 = require("./xterm"); +var webtty_1 = require("./webtty"); +var websocket_1 = require("./websocket"); +var elem = document.getElementById("terminal"); +if (elem !== null) { + var term_1 = new xterm_1.TermXterm(elem); + var httpsEnabled = window.location.protocol == "https:"; + var url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.hostname + ":8080/ws"; + var args = window.location.search; + var factory = new websocket_1.ConnectionFactory(url, webtty_1.protocols); + var wt = new webtty_1.WebTTY(term_1, factory, args, ""); + var closer_1 = wt.open(); + new hterm_1.TermHterm(elem); + window.addEventListener("unload", function () { + closer_1(); + term_1.close(); + }); +} +; +//# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/js/dist/main.js.map b/js/dist/main.js.map new file mode 100644 index 0000000..382c5ef --- /dev/null +++ b/js/dist/main.js.map @@ -0,0 +1 @@ +{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAAA,iCAAoC;AACpC,iCAAoC;AACpC,mCAA6C;AAC7C,yCAAgD;AAGhD,IAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;AAEhD,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;IAChB,IAAM,MAAI,GAAG,IAAI,iBAAS,CAAC,IAAI,CAAC,CAAC;IACjC,IAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAC1D,IAAM,GAAG,GAAG,CAAC,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,UAAU,CAAC;IACxF,IAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IACpC,IAAM,OAAO,GAAG,IAAI,6BAAiB,CAAC,GAAG,EAAE,kBAAS,CAAC,CAAC;IACtD,IAAM,EAAE,GAAG,IAAI,eAAM,CAAC,MAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAM,QAAM,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAEzB,IAAI,iBAAS,CAAC,IAAI,CAAC,CAAC;IAEpB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAC9B,QAAM,EAAE,CAAC;QACT,MAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC;AAAA,CAAC"} \ No newline at end of file diff --git a/js/dist/websocket.d.ts b/js/dist/websocket.d.ts new file mode 100644 index 0000000..0ce5eab --- /dev/null +++ b/js/dist/websocket.d.ts @@ -0,0 +1,17 @@ +export declare class ConnectionFactory { + url: string; + protocols: string[]; + constructor(url: string, protocols: string[]); + create(): Connection; +} +export declare class Connection { + bare: WebSocket; + constructor(url: string, protocols: string[]); + open(): void; + close(): void; + send(data: string): void; + isOpen(): boolean; + onOpen(callback: () => void): void; + onReceive(callback: (data: string) => void): void; + onClose(callback: () => void): void; +} diff --git a/js/dist/websocket.js b/js/dist/websocket.js new file mode 100644 index 0000000..23c3e88 --- /dev/null +++ b/js/dist/websocket.js @@ -0,0 +1,60 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var ConnectionFactory = (function () { + function ConnectionFactory(url, protocols) { + this.url = url; + this.protocols = protocols; + } + ; + ConnectionFactory.prototype.create = function () { + return new Connection(this.url, this.protocols); + }; + ; + return ConnectionFactory; +}()); +exports.ConnectionFactory = ConnectionFactory; +var Connection = (function () { + function Connection(url, protocols) { + this.bare = new WebSocket(url, protocols); + } + Connection.prototype.open = function () { + // nothing todo for websocket + }; + ; + Connection.prototype.close = function () { + this.bare.close(); + }; + ; + Connection.prototype.send = function (data) { + this.bare.send(data); + }; + ; + Connection.prototype.isOpen = function () { + if (this.bare.readyState == WebSocket.CONNECTING || + this.bare.readyState == WebSocket.OPEN) { + return true; + } + return false; + }; + Connection.prototype.onOpen = function (callback) { + this.bare.onopen = function (event) { + callback(); + }; + }; + ; + Connection.prototype.onReceive = function (callback) { + this.bare.onmessage = function (event) { + callback(event.data); + }; + }; + ; + Connection.prototype.onClose = function (callback) { + this.bare.onclose = function (event) { + callback(); + }; + }; + ; + return Connection; +}()); +exports.Connection = Connection; +//# sourceMappingURL=websocket.js.map \ No newline at end of file diff --git a/js/dist/websocket.js.map b/js/dist/websocket.js.map new file mode 100644 index 0000000..9f68726 --- /dev/null +++ b/js/dist/websocket.js.map @@ -0,0 +1 @@ +{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":";;AAAA;IAII,2BAAY,GAAW,EAAE,SAAmB;QACxC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAAA,CAAC;IAEF,kCAAM,GAAN;QACI,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAAA,CAAC;IACN,wBAAC;AAAD,CAAC,AAZD,IAYC;AAZY,8CAAiB;AAc9B;IAII,oBAAY,GAAW,EAAE,SAAmB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,yBAAI,GAAJ;QACI,6BAA6B;IACjC,CAAC;IAAA,CAAC;IAEF,0BAAK,GAAL;QACI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAAA,CAAC;IAEF,yBAAI,GAAJ,UAAK,IAAY;QACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAAA,CAAC;IAEF,2BAAM,GAAN;QACI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU;YAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,CAAA;QACf,CAAC;QACD,MAAM,CAAC,KAAK,CAAA;IAChB,CAAC;IAED,2BAAM,GAAN,UAAO,QAAoB;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,UAAC,KAAK;YACrB,QAAQ,EAAE,CAAC;QACf,CAAC,CAAA;IACL,CAAC;IAAA,CAAC;IAEF,8BAAS,GAAT,UAAU,QAAgC;QACtC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,UAAC,KAAK;YACxB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAA;IACL,CAAC;IAAA,CAAC;IAEF,4BAAO,GAAP,UAAQ,QAAoB;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,UAAC,KAAK;YACtB,QAAQ,EAAE,CAAC;QACf,CAAC,CAAC;IACN,CAAC;IAAA,CAAC;IACN,iBAAC;AAAD,CAAC,AA7CD,IA6CC;AA7CY,gCAAU"} \ No newline at end of file diff --git a/js/dist/webtty.d.ts b/js/dist/webtty.d.ts new file mode 100644 index 0000000..782c815 --- /dev/null +++ b/js/dist/webtty.d.ts @@ -0,0 +1,48 @@ +export declare const protocols: string[]; +export declare const msgInputUnknown = "0"; +export declare const msgInput = "1"; +export declare const msgPing = "2"; +export declare const msgResizeTerminal = "3"; +export declare const msgUnknownOutput = "0"; +export declare const msgOutput = "1"; +export declare const msgPong = "2"; +export declare const msgSetWindowTitle = "3"; +export declare const msgSetPreferences = "4"; +export declare const msgSetReconnect = "5"; +export interface Terminal { + info(): { + columns: number; + rows: number; + }; + output(data: string): void; + showMessage(message: string, timeout: number): void; + removeMessage(): void; + setWindowTitle(title: string): void; + setPreferences(value: object): void; + onInput(callback: (input: string) => void): void; + onResize(callback: (colmuns: number, rows: number) => void): void; + reset(): void; + deactivate(): void; + close(): void; +} +export interface Connection { + open(): void; + close(): void; + send(data: string): void; + isOpen(): boolean; + onOpen(callback: () => void): void; + onReceive(callback: (data: string) => void): void; + onClose(callback: () => void): void; +} +export interface ConnectionFactory { + create(): Connection; +} +export declare class WebTTY { + term: Terminal; + connectionFactory: ConnectionFactory; + args: string; + authToken: string; + reconnect: number; + constructor(term: Terminal, connectionFactory: ConnectionFactory, args: string, authToken: string); + open(): () => void; +} diff --git a/js/dist/webtty.js b/js/dist/webtty.js new file mode 100644 index 0000000..ff6ac0b --- /dev/null +++ b/js/dist/webtty.js @@ -0,0 +1,99 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.protocols = ["webtty"]; +exports.msgInputUnknown = '0'; +exports.msgInput = '1'; +exports.msgPing = '2'; +exports.msgResizeTerminal = '3'; +exports.msgUnknownOutput = '0'; +exports.msgOutput = '1'; +exports.msgPong = '2'; +exports.msgSetWindowTitle = '3'; +exports.msgSetPreferences = '4'; +exports.msgSetReconnect = '5'; +var WebTTY = (function () { + function WebTTY(term, connectionFactory, args, authToken) { + this.term = term; + this.connectionFactory = connectionFactory; + this.args = args; + this.authToken = authToken; + this.reconnect = -1; + } + ; + WebTTY.prototype.open = function () { + var _this = this; + var connection = this.connectionFactory.create(); + var pingTimer; + var reconnectTimeout; + var setup = function () { + connection.onOpen(function () { + var termInfo = _this.term.info(); + connection.send(JSON.stringify({ + Arguments: _this.args, + AuthToken: _this.authToken, + })); + var resizeHandler = function (colmuns, rows) { + connection.send(exports.msgResizeTerminal + JSON.stringify({ + columns: colmuns, + rows: rows + })); + }; + _this.term.onResize(resizeHandler); + resizeHandler(termInfo.columns, termInfo.rows); + _this.term.onInput(function (input) { + connection.send(exports.msgInput + input); + }); + pingTimer = setInterval(function () { + connection.send(exports.msgPing); + }, 30 * 1000); + }); + connection.onReceive(function (data) { + var payload = data.slice(1); + switch (data[0]) { + case exports.msgOutput: + _this.term.output(decodeURIComponent(Array.prototype.map.call(atob(payload), function (c) { + return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); + }).join(''))); + break; + case exports.msgPong: + break; + case exports.msgSetWindowTitle: + _this.term.setWindowTitle(payload); + break; + case exports.msgSetPreferences: + var preferences = JSON.parse(payload); + _this.term.setPreferences(preferences); + break; + case exports.msgSetReconnect: + var autoReconnect = JSON.parse(payload); + console.log("Enabling reconnect: " + autoReconnect + " seconds"); + _this.reconnect = autoReconnect; + break; + } + }); + connection.onClose(function () { + clearInterval(pingTimer); + _this.term.deactivate(); + _this.term.showMessage("Connection Closed", 0); + if (_this.reconnect > 0) { + reconnectTimeout = setTimeout(function () { + connection = _this.connectionFactory.create(); + _this.term.reset(); + setup(); + }, _this.reconnect * 1000); + } + }); + connection.open(); + }; + setup(); + return function () { + clearTimeout(reconnectTimeout); + connection.close(); + }; + }; + ; + return WebTTY; +}()); +exports.WebTTY = WebTTY; +; +//# sourceMappingURL=webtty.js.map \ No newline at end of file diff --git a/js/dist/webtty.js.map b/js/dist/webtty.js.map new file mode 100644 index 0000000..44e364e --- /dev/null +++ b/js/dist/webtty.js.map @@ -0,0 +1 @@ +{"version":3,"file":"webtty.js","sourceRoot":"","sources":["../src/webtty.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/js/dist/xterm.d.ts b/js/dist/xterm.d.ts new file mode 100644 index 0000000..9a04c18 --- /dev/null +++ b/js/dist/xterm.d.ts @@ -0,0 +1,24 @@ +import * as bare from "xterm"; +export declare class TermXterm { + elem: HTMLElement; + message: HTMLElement; + messageTimeout: number; + messageTimer: number; + term: bare; + resizeListener: () => void; + constructor(elem: HTMLElement); + info(): { + columns: number; + rows: number; + }; + output(data: string): void; + showMessage(message: string, timeout: number): void; + removeMessage(): void; + setWindowTitle(title: string): void; + setPreferences(value: object): void; + onInput(callback: (input: string) => void): void; + onResize(callback: (colmuns: number, rows: number) => void): void; + deactivate(): void; + reset(): void; + close(): void; +} diff --git a/js/dist/xterm.js b/js/dist/xterm.js new file mode 100644 index 0000000..b663fa2 --- /dev/null +++ b/js/dist/xterm.js @@ -0,0 +1,88 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var bare = require("xterm"); +bare.loadAddon("fit"); +var TermXterm = (function () { + function TermXterm(elem) { + var _this = this; + this.elem = elem; + this.term = new bare(); + this.message = elem.ownerDocument.createElement("div"); + this.message.className = "xterm-overlay"; + this.messageTimeout = 2000; + this.resizeListener = function () { + _this.term.fit(); + _this.term.scrollToBottom(); + _this.showMessage(String(_this.term.cols) + "x" + String(_this.term.rows), _this.messageTimeout); + }; + this.term.on("open", function () { + _this.term.fit(); + _this.term.scrollToBottom(); + window.addEventListener("resize", function () { _this.resizeListener(); }); + }); + this.term.open(elem, true); + } + ; + TermXterm.prototype.info = function () { + return { columns: this.term.cols, rows: this.term.rows }; + }; + ; + TermXterm.prototype.output = function (data) { + this.term.write(data); + }; + ; + TermXterm.prototype.showMessage = function (message, timeout) { + var _this = this; + this.message.textContent = message; + this.elem.appendChild(this.message); + if (this.messageTimer) { + clearTimeout(this.messageTimer); + } + if (timeout > 0) { + this.messageTimer = setTimeout(function () { + _this.elem.removeChild(_this.message); + }, timeout); + } + }; + ; + TermXterm.prototype.removeMessage = function () { + if (this.message.parentNode == this.elem) { + this.elem.removeChild(this.message); + } + }; + TermXterm.prototype.setWindowTitle = function (title) { + document.title = title; + }; + ; + TermXterm.prototype.setPreferences = function (value) { + }; + ; + TermXterm.prototype.onInput = function (callback) { + this.term.on("data", function (data) { + callback(data); + }); + }; + ; + TermXterm.prototype.onResize = function (callback) { + this.term.on("resize", function (data) { + callback(data.cols, data.rows); + }); + }; + ; + TermXterm.prototype.deactivate = function () { + this.term.off("data"); + this.term.off("resize"); + this.term.blur(); + }; + TermXterm.prototype.reset = function () { + this.removeMessage(); + this.term.clear(); + }; + TermXterm.prototype.close = function () { + window.removeEventListener("resize", this.resizeListener); + this.term.destroy(); + }; + return TermXterm; +}()); +exports.TermXterm = TermXterm; +//# sourceMappingURL=xterm.js.map \ No newline at end of file diff --git a/js/dist/xterm.js.map b/js/dist/xterm.js.map new file mode 100644 index 0000000..5356727 --- /dev/null +++ b/js/dist/xterm.js.map @@ -0,0 +1 @@ +{"version":3,"file":"xterm.js","sourceRoot":"","sources":["../src/xterm.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/js/libapps b/js/libapps new file mode 160000 index 0000000..f05b714 --- /dev/null +++ b/js/libapps @@ -0,0 +1 @@ +Subproject commit f05b714d7ff1368b3669b041ae83fcaec1742a61 diff --git a/js/package-lock.json b/js/package-lock.json new file mode 100644 index 0000000..6044aa1 --- /dev/null +++ b/js/package-lock.json @@ -0,0 +1,1873 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "acorn": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz", + "integrity": "sha512-vOk6uEMctu0vQrvuSqFdJyqj1Q0S5VTDL79qtjo+DhRr+1mmaD+tluFSCZqhvi/JUhXSzoZN2BhtstaPEeE8cw==", + "dev": true + }, + "acorn-dynamic-import": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", + "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "dev": true, + "requires": { + "acorn": "4.0.13" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } + }, + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "ajv-keywords": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", + "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "anymatch": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz", + "integrity": "sha1-o+Uvo5FoyCX/V7AkgSbOWo/5VQc=", + "dev": true, + "requires": { + "arrify": "1.0.1", + "micromatch": "2.3.11" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asn1.js": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz", + "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", + "dev": true, + "requires": { + "bn.js": "4.11.7", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dev": true, + "requires": { + "util": "0.10.3" + } + }, + "async": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", + "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", + "dev": true, + "requires": { + "lodash": "4.17.4" + } + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base64-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", + "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", + "dev": true + }, + "big.js": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz", + "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg=", + "dev": true + }, + "binary-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.9.0.tgz", + "integrity": "sha1-ZlBsFs5vTWkopbPNajPKQelB43s=", + "dev": true + }, + "bn.js": { + "version": "4.11.7", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.7.tgz", + "integrity": "sha512-LxFiV5mefv0ley0SzqkOPR1bC4EbpPx8LkOz5vMe/Yi15t5hzwgO/G+tc7wOtL4PZTYjwHu8JnEiSLumuSjSfA==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz", + "integrity": "sha1-Xncl297x/Vkw1OurSFZ85FHEigo=", + "dev": true, + "requires": { + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.0", + "inherits": "2.0.3" + } + }, + "browserify-cipher": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", + "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", + "dev": true, + "requires": { + "browserify-aes": "1.0.6", + "browserify-des": "1.0.0", + "evp_bytestokey": "1.0.0" + } + }, + "browserify-des": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", + "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "4.11.7", + "randombytes": "2.0.5" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "4.11.7", + "browserify-rsa": "4.0.1", + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "elliptic": "6.4.0", + "inherits": "2.0.3", + "parse-asn1": "5.1.0" + } + }, + "browserify-zlib": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", + "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "dev": true, + "requires": { + "pako": "0.2.9" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "1.2.1", + "ieee754": "1.1.8", + "isarray": "1.0.0" + } + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, + "requires": { + "anymatch": "1.3.0", + "async-each": "1.0.1", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "0.1.4" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "create-ecdh": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", + "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", + "dev": true, + "requires": { + "bn.js": "4.11.7", + "elliptic": "6.4.0" + } + }, + "create-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "ripemd160": "2.0.1", + "sha.js": "2.4.8" + } + }, + "create-hmac": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", + "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "inherits": "2.0.3", + "ripemd160": "2.0.1", + "safe-buffer": "5.1.1", + "sha.js": "2.4.8" + } + }, + "crypto-browserify": { + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.1.tgz", + "integrity": "sha512-Na7ZlwCOqoaW5RwUK1WpXws2kv8mNhWdTlzob0UXulk6G9BDbyiJaGTYBIX61Ozn9l1EPPJpICZb4DaOpT9NlQ==", + "dev": true, + "requires": { + "browserify-cipher": "1.0.0", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.0", + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "diffie-hellman": "5.0.2", + "inherits": "2.0.3", + "pbkdf2": "3.0.12", + "public-encrypt": "4.0.0", + "randombytes": "2.0.5" + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + } + }, + "diffie-hellman": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", + "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", + "dev": true, + "requires": { + "bn.js": "4.11.7", + "miller-rabin": "4.0.0", + "randombytes": "2.0.5" + } + }, + "domain-browser": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", + "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=", + "dev": true + }, + "elliptic": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "dev": true, + "requires": { + "bn.js": "4.11.7", + "brorand": "1.1.0", + "hash.js": "1.1.3", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "enhanced-resolve": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.3.0.tgz", + "integrity": "sha512-2qbxE7ek3YxPJ1ML6V+satHkzHpJQKWkRHmRx6mfAoW59yP8YH8BFplbegSP+u2hBd6B6KCOpvJQ3dZAP+hkpg==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "memory-fs": "0.4.1", + "object-assign": "4.1.1", + "tapable": "0.2.7" + } + }, + "errno": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", + "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", + "dev": true, + "requires": { + "prr": "0.0.0" + } + }, + "error-ex": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz", + "integrity": "sha1-SXtmrZ/vZc18CKYYCCS6FHa2blM=", + "dev": true, + "requires": { + "create-hash": "1.1.3" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "2.2.3" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "hash-base": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", + "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "1.1.3", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "hosted-git-info": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", + "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", + "dev": true + }, + "https-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", + "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=", + "dev": true + }, + "ieee754": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "interpret": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.3.tgz", + "integrity": "sha1-y8NcYu7uc/Gat7EKgBURQBr8D5A=", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "1.9.0" + } + }, + "is-buffer": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", + "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "json-loader": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "1.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "loader-runner": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", + "dev": true + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "3.1.3", + "emojis-list": "2.1.0", + "json5": "0.5.1" + } + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "0.1.4", + "readable-stream": "2.3.3" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.3" + } + }, + "miller-rabin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.0.tgz", + "integrity": "sha1-SmL7HUKTPAVYOYL0xxb2+55sbT0=", + "dev": true, + "requires": { + "bn.js": "4.11.7", + "brorand": "1.1.0" + } + }, + "minimalistic-assert": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", + "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.8" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "node-libs-browser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.0.0.tgz", + "integrity": "sha1-o6WeyXAkmFtG6Vg3lkb5bEthZkY=", + "dev": true, + "requires": { + "assert": "1.4.1", + "browserify-zlib": "0.1.4", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.11.1", + "domain-browser": "1.1.7", + "events": "1.1.1", + "https-browserify": "0.0.1", + "os-browserify": "0.2.1", + "path-browserify": "0.0.0", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "readable-stream": "2.3.3", + "stream-browserify": "2.0.1", + "stream-http": "2.7.2", + "string_decoder": "0.10.31", + "timers-browserify": "2.0.2", + "tty-browserify": "0.0.0", + "url": "0.11.0", + "util": "0.10.3", + "vm-browserify": "0.0.4" + }, + "dependencies": { + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "2.5.0", + "is-builtin-module": "1.0.0", + "semver": "5.3.0", + "validate-npm-package-license": "3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "1.0.2" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "os-browserify": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", + "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "1.0.0" + } + }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", + "dev": true + }, + "parse-asn1": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", + "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", + "dev": true, + "requires": { + "asn1.js": "4.9.1", + "browserify-aes": "1.0.6", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.0", + "pbkdf2": "3.0.12" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "1.3.1" + } + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pbkdf2": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.12.tgz", + "integrity": "sha1-vjZ4XFBn6kjYBv+SMojF91C2uKI=", + "dev": true, + "requires": { + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "ripemd160": "2.0.1", + "safe-buffer": "5.1.1", + "sha.js": "2.4.8" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "prr": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", + "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", + "dev": true + }, + "public-encrypt": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", + "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", + "dev": true, + "requires": { + "bn.js": "4.11.7", + "browserify-rsa": "4.0.1", + "create-hash": "1.1.3", + "parse-asn1": "5.1.0", + "randombytes": "2.0.5" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "randomatic": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } + } + } + }, + "randombytes": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", + "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + }, + "readable-stream": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.3", + "set-immediate-shim": "1.0.1" + } + }, + "regex-cache": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", + "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3", + "is-primitive": "2.0.0" + } + }, + "remove-trailing-separator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz", + "integrity": "sha1-abBi2XhyetFNxrVrpKt3L9jXBRE=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "requires": { + "align-text": "0.1.4" + } + }, + "ripemd160": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", + "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "dev": true, + "requires": { + "hash-base": "2.0.2", + "inherits": "2.0.3" + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "sha.js": { + "version": "2.4.8", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.8.tgz", + "integrity": "sha1-NwaMLEdra69ALRSknGf1l5IfY08=", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "source-list-map": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-1.1.2.tgz", + "integrity": "sha1-mIkBnRAkzOVc3AaUmDN+9hhqEaE=", + "dev": true + }, + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + }, + "spdx-correct": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "dev": true, + "requires": { + "spdx-license-ids": "1.2.2" + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "dev": true + }, + "spdx-license-ids": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "dev": true + }, + "stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, + "stream-http": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", + "integrity": "sha512-c0yTD2rbQzXtSsFSVhtpvY/vS6u066PcXOX9kBB3mSO76RiUQzL340uJkGBWnlBg4/HZzqiUXtaVA7wcRcJgEw==", + "dev": true, + "requires": { + "builtin-status-codes": "3.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.3", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + }, + "tapable": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.7.tgz", + "integrity": "sha1-5GwNqsuyuKmLmwzqD0BSEFgX7Vw=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.2.tgz", + "integrity": "sha1-q0iDz1l9zVCvIRNJoA+8pWrIa4Y=", + "dev": true, + "requires": { + "setimmediate": "1.0.5" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "ts-loader": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-2.0.3.tgz", + "integrity": "sha1-ibjIdZjwSN8GV2bgfhU48OrrEWU=", + "dev": true, + "requires": { + "colors": "1.1.2", + "enhanced-resolve": "3.3.0", + "loader-utils": "1.1.0", + "semver": "5.3.0" + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "typescript": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.3.2.tgz", + "integrity": "sha1-8PBF4Zb2mnLwayX9O9OdAcPOmYQ=", + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "requires": { + "source-map": "0.5.6", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "dev": true, + "requires": { + "spdx-correct": "1.0.2", + "spdx-expression-parse": "1.0.4" + } + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, + "requires": { + "indexof": "0.0.1" + } + }, + "watchpack": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz", + "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", + "dev": true, + "requires": { + "async": "2.5.0", + "chokidar": "1.7.0", + "graceful-fs": "4.1.11" + } + }, + "webpack": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-2.5.1.tgz", + "integrity": "sha1-YXQvDPivVVuHRgqc2Lui8ePuL84=", + "dev": true, + "requires": { + "acorn": "5.1.1", + "acorn-dynamic-import": "2.0.2", + "ajv": "4.11.8", + "ajv-keywords": "1.5.1", + "async": "2.5.0", + "enhanced-resolve": "3.3.0", + "interpret": "1.0.3", + "json-loader": "0.5.7", + "json5": "0.5.1", + "loader-runner": "2.3.0", + "loader-utils": "0.2.17", + "memory-fs": "0.4.1", + "mkdirp": "0.5.1", + "node-libs-browser": "2.0.0", + "source-map": "0.5.6", + "supports-color": "3.2.3", + "tapable": "0.2.7", + "uglify-js": "2.8.29", + "watchpack": "1.4.0", + "webpack-sources": "0.2.3", + "yargs": "6.6.0" + }, + "dependencies": { + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "3.1.3", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" + } + } + } + }, + "webpack-sources": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-0.2.3.tgz", + "integrity": "sha1-F8Yr+vE8cH+dAsR54Nzd6DgGl/s=", + "dev": true, + "requires": { + "source-list-map": "1.1.2", + "source-map": "0.5.6" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "xterm": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/xterm/-/xterm-2.8.1.tgz", + "integrity": "sha512-AuqLOWpprmhSe4TcGE6Gh2uwkR0wUC95V0Q736OFUmG+84W+w+g6RzcgVhrbOTo/Fzcq9i0TRR5nYksRt2DSIQ==" + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", + "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "dev": true, + "requires": { + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "4.2.1" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } + } + } + }, + "yargs-parser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", + "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "dev": true, + "requires": { + "camelcase": "3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + } + } +} diff --git a/js/package.json b/js/package.json new file mode 100644 index 0000000..3519d50 --- /dev/null +++ b/js/package.json @@ -0,0 +1,10 @@ +{ + "devDependencies": { + "ts-loader": "^2.0.3", + "typescript": "^2.3.2", + "webpack": "^2.5.1" + }, + "dependencies": { + "xterm": "^2.7.0" + } +} diff --git a/js/src/hterm.ts b/js/src/hterm.ts new file mode 100644 index 0000000..77e997d --- /dev/null +++ b/js/src/hterm.ts @@ -0,0 +1,93 @@ +import * as bare from "hterm"; +import * as bareLib from "htermLib"; + +export class TermHterm { + elem: HTMLElement; + + term: bare.Terminal; + io: bare.IO; + + columns: number; + rows: number; + + // to "show" the current message when removeMessage() is called + message: string; + + constructor(elem: HTMLElement) { + this.elem = elem; + hterm.defaultStorage = new bareLib.Storage.Memory(); + this.term = new bare.Terminal(); + this.term.getPrefs().set("send-encoding", "raw"); + this.term.decorate(this.elem); + + this.io = this.term.io.push(); + this.term.installKeyboard(); + }; + + info(): { columns: number, rows: number } { + return { columns: this.columns, rows: this.rows }; + }; + + output(data: string) { + if (this.term.io != null) { + this.term.io.writeUTF16(data); + } + }; + + showMessage(message: string, timeout: number) { + this.message = message; + if (timeout > 0) { + this.term.io.showOverlay(message, timeout); + } else { + this.term.io.showOverlay(message, null); + } + }; + + removeMessage(): void { + // there is no hideOverlay(), so show the same message with 0 sec + this.term.io.showOverlay(this.message, 0); + } + + setWindowTitle(title: string) { + this.term.setWindowTitle(title); + }; + + setPreferences(value: object) { + Object.keys(value).forEach((key) => { + this.term.getPrefs().set(key, value[key]); + }); + }; + + onInput(callback: (input: string) => void) { + this.io.onVTKeystroke = (data) => { + callback(data); + }; + this.io.sendString = (data) => { + callback(data); + }; + }; + + onResize(callback: (colmuns: number, rows: number) => void) { + this.io.onTerminalResize = (columns: number, rows: number) => { + this.columns = columns; + this.rows = rows; + callback(columns, rows); + }; + }; + + deactivate(): void { + this.io.onVTKeystroke = null; + this.io.sendString = null + this.io.onTerminalResize = null; + this.term.uninstallKeyboard(); + } + + reset(): void { + this.removeMessage(); + this.term.installKeyboard(); + } + + close(): void { + this.term.uninstallKeyboard(); + } +} diff --git a/js/src/main.ts b/js/src/main.ts new file mode 100644 index 0000000..dfa8d11 --- /dev/null +++ b/js/src/main.ts @@ -0,0 +1,30 @@ +import { TermHterm } from "./hterm"; +import { TermXterm } from "./xterm"; +import { Terminal, WebTTY, protocols } from "./webtty"; +import { ConnectionFactory } from "./websocket"; + +// @TODO remove these +declare var gotty_auth_token: string; +declare var gotty_term: string; + +const elem = document.getElementById("terminal") + +if (elem !== null) { + var term: Terminal; + if (gotty_term == "hterm") { + term = new TermHterm(elem); + } else { + term = new TermXterm(elem); + } + const httpsEnabled = window.location.protocol == "https:"; + const url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws'; + const args = window.location.search; + const factory = new ConnectionFactory(url, protocols); + const wt = new WebTTY(term, factory, args, gotty_auth_token); + const closer = wt.open(); + + window.addEventListener("unload", () => { + closer(); + term.close(); + }); +}; diff --git a/js/src/websocket.ts b/js/src/websocket.ts new file mode 100644 index 0000000..7f65177 --- /dev/null +++ b/js/src/websocket.ts @@ -0,0 +1,60 @@ +export class ConnectionFactory { + url: string; + protocols: string[]; + + constructor(url: string, protocols: string[]) { + this.url = url; + this.protocols = protocols; + }; + + create(): Connection { + return new Connection(this.url, this.protocols); + }; +} + +export class Connection { + bare: WebSocket; + + + constructor(url: string, protocols: string[]) { + this.bare = new WebSocket(url, protocols); + } + + open() { + // nothing todo for websocket + }; + + close() { + this.bare.close(); + }; + + send(data: string) { + this.bare.send(data); + }; + + isOpen(): boolean { + if (this.bare.readyState == WebSocket.CONNECTING || + this.bare.readyState == WebSocket.OPEN) { + return true + } + return false + } + + onOpen(callback: () => void) { + this.bare.onopen = (event) => { + callback(); + } + }; + + onReceive(callback: (data: string) => void) { + this.bare.onmessage = (event) => { + callback(event.data); + } + }; + + onClose(callback: () => void) { + this.bare.onclose = (event) => { + callback(); + }; + }; +} diff --git a/js/src/webtty.ts b/js/src/webtty.ts new file mode 100644 index 0000000..a536385 --- /dev/null +++ b/js/src/webtty.ts @@ -0,0 +1,152 @@ +export const protocols = ["webtty"]; + +export const msgInputUnknown = '0'; +export const msgInput = '1'; +export const msgPing = '2'; +export const msgResizeTerminal = '3'; + +export const msgUnknownOutput = '0'; +export const msgOutput = '1'; +export const msgPong = '2'; +export const msgSetWindowTitle = '3'; +export const msgSetPreferences = '4'; +export const msgSetReconnect = '5'; + + +export interface Terminal { + info(): { columns: number, rows: number }; + output(data: string): void; + showMessage(message: string, timeout: number): void; + removeMessage(): void; + setWindowTitle(title: string): void; + setPreferences(value: object): void; + onInput(callback: (input: string) => void): void; + onResize(callback: (colmuns: number, rows: number) => void): void; + reset(): void; + deactivate(): void; + close(): void; +} + +export interface Connection { + open(): void; + close(): void; + send(data: string): void; + isOpen(): boolean; + onOpen(callback: () => void): void; + onReceive(callback: (data: string) => void): void; + onClose(callback: () => void): void; +} + +export interface ConnectionFactory { + create(): Connection; +} + + +export class WebTTY { + term: Terminal; + connectionFactory: ConnectionFactory; + args: string; + authToken: string; + reconnect: number; + + constructor(term: Terminal, connectionFactory: ConnectionFactory, args: string, authToken: string) { + this.term = term; + this.connectionFactory = connectionFactory; + this.args = args; + this.authToken = authToken; + this.reconnect = -1; + }; + + open() { + let connection = this.connectionFactory.create(); + let pingTimer: number; + let reconnectTimeout: number; + + const setup = () => { + connection.onOpen(() => { + const termInfo = this.term.info(); + + connection.send(JSON.stringify( + { + Arguments: this.args, + AuthToken: this.authToken, + } + )); + + + const resizeHandler = (colmuns: number, rows: number) => { + connection.send( + msgResizeTerminal + JSON.stringify( + { + columns: colmuns, + rows: rows + } + ) + ); + }; + + this.term.onResize(resizeHandler); + resizeHandler(termInfo.columns, termInfo.rows); + + this.term.onInput( + (input: string) => { + connection.send(msgInput + input); + } + ); + + pingTimer = setInterval(() => { + connection.send(msgPing) + }, 30 * 1000); + + }); + + connection.onReceive((data) => { + const payload = data.slice(1); + switch (data[0]) { + case msgOutput: + this.term.output( + decodeURIComponent(Array.prototype.map.call(atob(payload), function(c) { + return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); + }).join('')) + ); + break; + case msgPong: + break; + case msgSetWindowTitle: + this.term.setWindowTitle(payload); + break; + case msgSetPreferences: + const preferences = JSON.parse(payload); + this.term.setPreferences(preferences); + break; + case msgSetReconnect: + const autoReconnect = JSON.parse(payload); + console.log("Enabling reconnect: " + autoReconnect + " seconds") + this.reconnect = autoReconnect; + break; + } + }); + + connection.onClose(() => { + clearInterval(pingTimer); + this.term.deactivate(); + this.term.showMessage("Connection Closed", 0); + if (this.reconnect > 0) { + reconnectTimeout = setTimeout(() => { + connection = this.connectionFactory.create(); + this.term.reset(); + setup(); + }, this.reconnect * 1000); + } + }); + + connection.open(); + } + + setup(); + return () => { + clearTimeout(reconnectTimeout); + connection.close(); + } + }; +}; diff --git a/js/src/xterm.ts b/js/src/xterm.ts new file mode 100644 index 0000000..8963091 --- /dev/null +++ b/js/src/xterm.ts @@ -0,0 +1,101 @@ +import * as bare from "xterm"; + +bare.loadAddon("fit"); + +export class TermXterm { + elem: HTMLElement; + + message: HTMLElement; + messageTimeout: number; + messageTimer: number; + + term: bare; + resizeListener: () => void; + + constructor(elem: HTMLElement) { + this.elem = elem; + this.term = new bare(); + + this.message = elem.ownerDocument.createElement("div"); + this.message.className = "xterm-overlay"; + this.messageTimeout = 2000; + + + this.resizeListener = () => { + this.term.fit(); + this.term.scrollToBottom(); + this.showMessage(String(this.term.cols) + "x" + String(this.term.rows), this.messageTimeout); + }; + + this.term.on("open", () => { + this.resizeListener(); + window.addEventListener("resize", () => { this.resizeListener(); }); + }); + + this.term.open(elem, true); + }; + + info(): { columns: number, rows: number } { + return { columns: this.term.cols, rows: this.term.rows }; + }; + + output(data: string) { + this.term.write(data); + }; + + showMessage(message: string, timeout: number) { + this.message.textContent = message; + this.elem.appendChild(this.message); + + if (this.messageTimer) { + clearTimeout(this.messageTimer); + } + if (timeout > 0) { + this.messageTimer = setTimeout(() => { + this.elem.removeChild(this.message); + }, timeout); + } + }; + + removeMessage(): void { + if (this.message.parentNode == this.elem) { + this.elem.removeChild(this.message); + } + } + + setWindowTitle(title: string) { + document.title = title; + }; + + setPreferences(value: object) { + }; + + onInput(callback: (input: string) => void) { + this.term.on("data", (data) => { + callback(data); + }); + + }; + + onResize(callback: (colmuns: number, rows: number) => void) { + this.term.on("resize", (data) => { + callback(data.cols, data.rows); + }); + }; + + deactivate(): void { + this.term.off("data"); + this.term.off("resize"); + this.term.blur(); + } + + reset(): void { + this.removeMessage(); + this.term.clear(); + } + + close(): void { + window.removeEventListener("resize", this.resizeListener); + this.term.destroy(); + } +} diff --git a/js/tsconfig.json b/js/tsconfig.json new file mode 100644 index 0000000..58346f0 --- /dev/null +++ b/js/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "strictNullChecks": true, + "noUnusedLocals" : true, + "noImplicitThis": true, + "alwaysStrict": true, + "outDir": "./dist/", + "declaration": true, + "sourceMap": true, + "target": "es5", + "module": "commonJS", + "baseUrl": ".", + "paths": { + "*": ["./typings/*"] + } + }, + "exclude": [ + "node_modules" + ] +} diff --git a/js/typings/hterm/index.d.ts b/js/typings/hterm/index.d.ts new file mode 100644 index 0000000..e77ca9b --- /dev/null +++ b/js/typings/hterm/index.d.ts @@ -0,0 +1,47 @@ +export interface Terminal { + io: IO; + onTerminalReady: () => void; + + getPrefs(): Prefs; + decorate(HTMLElement); + installKeyboard(): void; + uninstallKeyboard(): void; + setWindowTitle(title: string): void; + reset(): void; + softReset(): void; +} + +export interface TerminalConstructor { + new (): Terminal; + (): Terminal; +} + + +export interface IO { + writeUTF8: ((data: string) => void); + writeUTF16: ((data: string) => void); + onVTKeystroke: ((data: string) => void) | null; + sendString: ((data: string) => void) | null; + onTerminalResize: ((columns: number, rows: number) => void) | null; + + push(): IO; + writeUTF(data: string); + showOverlay(message: string, timeout: number | null); +} + +export interface Prefs { + set(key: string, value: string): void; +} + +export interface Storage { +} + +export var Terminal: TerminalConstructor; + +// @TODO: is there better way? +// exported variables are forced to be read-protected. +declare global { + var hterm: { + defaultStorage: Storage; + }; +} diff --git a/js/typings/htermLib/index.d.ts b/js/typings/htermLib/index.d.ts new file mode 100644 index 0000000..67575c9 --- /dev/null +++ b/js/typings/htermLib/index.d.ts @@ -0,0 +1,11 @@ +export interface Storage { +} + +export interface Memory { + new (): Storage; + Memory(): Storage +} + +export var Storage: { + Memory: Memory +}; diff --git a/js/webpack.config.js b/js/webpack.config.js new file mode 100644 index 0000000..dee3278 --- /dev/null +++ b/js/webpack.config.js @@ -0,0 +1,23 @@ +module.exports = { + entry: "./src/main.ts", + output: { + filename: "./dist/bundle.js" + }, + externals: { + "hterm": "hterm", + "htermLib": "lib" + }, + devtool: "source-map", + resolve: { + extensions: [".ts", ".tsx", ".js"], + }, + module: { + rules: [ + { + test: /\.tsx?$/, + loader: "ts-loader", + exclude: [/node_modules/], + } + ] + } +}; diff --git a/resources/gotty.js b/resources/gotty.js deleted file mode 100644 index 9235e81..0000000 --- a/resources/gotty.js +++ /dev/null @@ -1,95 +0,0 @@ -(function() { - var httpsEnabled = window.location.protocol == "https:"; - var args = window.location.search; - var url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws'; - var protocols = ["webtty"]; - var autoReconnect = -1; - - var openWs = function() { - var ws = new WebSocket(url, protocols); - - var term; - - var pingTimer; - - ws.onopen = function(event) { - ws.send(JSON.stringify({ Arguments: args, AuthToken: gotty_auth_token,})); - pingTimer = setInterval(sendPing, 30 * 1000, ws); - - hterm.defaultStorage = new lib.Storage.Memory(); - - term = new hterm.Terminal(); - - term.getPrefs().set("send-encoding", "raw"); - - term.onTerminalReady = function() { - var io = term.io.push(); - - io.onVTKeystroke = function(str) { - ws.send("1" + str); - }; - - io.sendString = io.onVTKeystroke; - - io.onTerminalResize = function(columns, rows) { - ws.send( - "3" + JSON.stringify( - { - columns: columns, - rows: rows, - } - ) - ) - }; - - term.installKeyboard(); - }; - - term.decorate(document.getElementById("terminal")); - }; - - ws.onmessage = function(event) { - data = event.data.slice(1); - switch(event.data[0]) { - case '1': - term.io.writeUTF8(window.atob(data)); - break; - case '2': - // pong - break; - case '3': - term.setWindowTitle(data); - break; - case '4': - preferences = JSON.parse(data); - Object.keys(preferences).forEach(function(key) { - console.log("Setting " + key + ": " + preferences[key]); - term.getPrefs().set(key, preferences[key]); - }); - break; - case '5': - autoReconnect = JSON.parse(data); - console.log("Enabling reconnect: " + autoReconnect + " seconds") - break; - } - }; - - ws.onclose = function(event) { - if (term) { - term.uninstallKeyboard(); - term.io.showOverlay("Connection Closed", null); - } - clearInterval(pingTimer); - if (autoReconnect > 0) { - setTimeout(openWs, autoReconnect * 1000); - } - }; - } - - - var sendPing = function(ws) { - ws.send("2"); - } - - openWs(); -})() diff --git a/resources/index.css b/resources/index.css new file mode 100644 index 0000000..26c6f33 --- /dev/null +++ b/resources/index.css @@ -0,0 +1,7 @@ +html, body, #terminal { + background: black; + height: 100%; + width: 100%; + padding: 0%; + margin: 0%; +} \ No newline at end of file diff --git a/resources/index.html b/resources/index.html index d780aaa..3164ceb 100644 --- a/resources/index.html +++ b/resources/index.html @@ -2,13 +2,16 @@ {{ .title }} - + + + +
- - + + diff --git a/resources/xterm_customize.css b/resources/xterm_customize.css new file mode 100644 index 0000000..32420b8 --- /dev/null +++ b/resources/xterm_customize.css @@ -0,0 +1,19 @@ +.terminal { + font-family: "DejaVu Sans Mono", "Everson Mono", FreeMono, Menlo, Terminal, monospace; +} + +.xterm-overlay { + font-family: "DejaVu Sans Mono", "Everson Mono", FreeMono, Menlo, Terminal, monospace; + border-radius: 15px; + font-size: xx-large; + color: black; + background: white; + opacity: 0.75; + padding: 0.2em 0.5em 0.2em 0.5em; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + user-select: none; + transition: opacity 180ms ease-in; +} \ No newline at end of file diff --git a/server/asset.go b/server/asset.go index 45f700e..40e8e0d 100644 --- a/server/asset.go +++ b/server/asset.go @@ -1,8 +1,11 @@ // Code generated by go-bindata. // sources: +// bindata/static/css/index.css +// bindata/static/css/xterm.css +// bindata/static/css/xterm_customize.css // bindata/static/favicon.png // bindata/static/index.html -// bindata/static/js/gotty.js +// bindata/static/js/bundle.js // bindata/static/js/hterm.js // DO NOT EDIT! @@ -71,6 +74,66 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } +var _staticCssIndexCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x4c\xc8\x41\x0a\x02\x31\x0c\x05\xd0\xbd\xa7\xf8\x20\xee\x66\x31\x6e\xeb\x69\xd2\xc9\x90\x84\xb6\xa9\x94\x88\x88\x78\x77\xc1\x22\xcc\xf2\x3d\x8d\x56\x17\xe4\xce\xaf\x05\xe7\xd8\x47\x33\xa7\x8a\xf7\x09\x00\x32\x6d\x45\x46\x7f\x38\x27\xe4\x4a\x5b\xb9\xfd\x5a\x77\x13\x8d\x84\xeb\xba\x5e\xe6\x3c\x8d\x43\x8f\x71\x27\x66\x73\x49\xf8\x47\xa3\x21\xe6\xd3\x9f\x6f\x00\x00\x00\xff\xff\xd7\x5b\x0e\xbd\x74\x00\x00\x00") + +func staticCssIndexCssBytes() ([]byte, error) { + return bindataRead( + _staticCssIndexCss, + "static/css/index.css", + ) +} + +func staticCssIndexCss() (*asset, error) { + bytes, err := staticCssIndexCssBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "static/css/index.css", size: 116, mode: os.FileMode(436), modTime: time.Unix(1503300248, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _staticCssXtermCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x9d\x5d\x93\xda\x48\xb6\xb5\xef\xfd\x2b\x32\xdc\x17\x6d\x3b\xa0\x0a\x89\x6f\x26\xe2\x8d\xa0\xcb\x54\x9b\x77\xca\xe0\xa8\xc2\xe3\xe9\xcb\x04\xa5\x0a\xb9\x41\x62\x24\x51\x1f\x33\x31\xff\xfd\x44\x4a\x99\x85\x2b\x37\x5a\xb9\x3d\x73\x8e\xb9\xe8\x36\xd4\x5a\x5b\x12\xa9\x07\x69\x79\x19\x5f\x7e\xf8\xf0\x46\x7c\x10\x4f\xa5\xca\xf7\x17\xdf\x8b\x49\xfd\x7f\x2d\x91\xa4\xa2\xdc\x2a\xb1\xce\xb3\xc7\x42\xe5\xfa\x47\xae\xb2\xc3\x73\x9e\xdc\x6f\x4b\xf1\x6e\xf3\x5e\x84\x9d\xa0\xd7\x0e\x3b\xc1\xa0\x25\xee\xb2\x63\xbe\x51\x37\x32\xc9\xc5\x97\x3c\x79\x90\xa5\x12\x57\xd9\xfe\x20\xd3\x67\xf1\xee\xf1\xf1\xf1\xa2\xa8\x5e\xdf\xc9\x24\xbf\xd8\x64\x7b\xf1\xee\xf3\x7c\x25\x6e\x92\x8d\x4a\x0b\xf5\xfe\xac\x71\xa8\x8d\xbb\x2d\x71\xb5\xcd\x93\xa2\xcc\x0e\x5b\x95\x8b\xff\xaf\xe2\x38\x57\xcf\x54\xbd\x2d\xcb\x43\x31\xb9\xbc\xbc\x4f\xca\xed\x71\xad\x27\x5c\x6e\xb6\xdf\xbf\x5f\x9a\x1d\x7a\x23\xaa\xfd\xfb\xa2\xf2\x7d\x52\x14\x49\x96\x8a\xa4\x10\x5b\x95\xab\xf5\xb3\xb8\xcf\x65\x5a\xaa\xa8\x25\xe2\x5c\x29\x91\xc5\x62\xb3\x95\xf9\xbd\x6a\x89\x32\x13\x7a\xeb\x0f\x2a\x2f\xb2\x54\x64\xeb\x52\x26\x69\x92\xde\x0b\x29\x36\xd9\xe1\x59\xfb\x65\xb1\x28\xb7\x49\x21\x8a\x2c\x2e\x1f\x65\xae\x84\x4c\x23\x21\x8b\x22\xdb\x24\xb2\x54\x91\x88\xb2\xcd\x71\xaf\xd2\x52\x96\x7a\x64\x9c\xec\x54\x21\xde\xe9\x03\xfa\xf6\xce\x28\xde\xbe\xaf\xe6\x44\x4a\xee\xb4\xa1\x39\xde\xf6\x55\xf1\x98\x94\xdb\xec\x58\x8a\x5c\x15\x65\x9e\x6c\xb4\x8d\x7e\x53\x36\xbb\x63\xa4\xb7\xc4\xbe\xbc\x4b\xf6\x89\x19\xa2\xe5\xd5\x61\xd4\xfb\xac\xad\x8f\x85\x6a\x55\x1b\xdc\x12\xfb\x2c\x4a\x62\xfd\x5f\x55\xed\xdf\xe1\xb8\xde\x25\xc5\xb6\x25\xa2\x44\xbb\xaf\x8f\xa5\x6a\x89\x42\x3f\x59\x1d\xd7\x96\xde\x9b\xcb\x2c\x17\x85\xda\x55\x1b\xb7\xc9\x0e\x89\x2a\xea\x9d\x3e\x6d\x63\xf5\x63\x7a\xd0\x41\x1f\xdc\xd2\x1c\xae\x42\x3f\xf3\xb8\xcd\xf6\xaf\xf7\x27\xa9\xb6\x2a\x3e\xe6\x69\x52\x6c\x55\x25\x8b\x32\x51\x64\xd5\xdc\xef\x6a\x53\xea\x67\xb4\x22\xce\x76\xbb\xec\x51\xef\xe3\x26\x4b\xa3\x44\xef\x5a\x31\x31\xef\xe2\x6a\xab\x84\x5c\x67\x0f\xaa\xda\xad\x7a\xcd\xa4\x59\x99\x6c\xea\xe3\x5f\xbd\x23\x87\xd3\x3b\x6d\x5e\x2a\xb6\x72\xb7\x13\x6b\x65\x0e\x9f\x8a\x44\x92\x6a\x37\xfd\xac\xdd\xb3\x5c\x6f\x46\x51\xca\xb4\x4c\xe4\x4e\x1c\xb2\xbc\x9a\xeb\xee\xf1\x85\xdd\x8e\x4f\x33\x71\xb7\xbc\x5e\x7d\x9b\xde\xce\xc4\xfc\x4e\x7c\xb9\x5d\xfe\x6d\xfe\x71\xf6\x51\xbc\x9d\xde\x89\xf9\xdd\xdb\x96\xf8\x36\x5f\x7d\x5a\x7e\x5d\x89\x6f\xd3\xdb\xdb\xe9\x62\xf5\x87\x58\x5e\x8b\xe9\xe2\x0f\xf1\xd7\xf9\xe2\x63\x4b\xcc\xfe\xfe\xe5\x76\x76\x77\x27\x96\xb7\xda\x6d\xfe\xf9\xcb\xcd\x7c\xf6\xb1\x25\xe6\x8b\xab\x9b\xaf\x1f\xe7\x8b\xdf\xc5\x6f\x5f\x57\x62\xb1\x5c\x89\x9b\xf9\xe7\xf9\x6a\xf6\x51\xac\x96\xd5\x4c\xe3\x36\x9f\xdd\x69\xbf\xcf\xb3\xdb\xab\x4f\xd3\xc5\x6a\xfa\xdb\xfc\x66\xbe\xfa\xa3\xa5\xbd\xae\xe7\xab\x85\x76\xbe\x5e\xde\x8a\xa9\xf8\x32\xbd\x5d\xcd\xaf\xbe\xde\x4c\x6f\xc5\x97\xaf\xb7\x5f\x96\x77\x33\x31\x5d\x7c\x14\x8b\xe5\x62\xbe\xb8\xbe\x9d\x2f\x7e\x9f\x7d\x9e\x2d\x56\x17\x62\xbe\x10\x8b\xa5\x98\xfd\x6d\xb6\x58\x89\xbb\x4f\xd3\x9b\x1b\x3d\x4d\xdb\x4d\xbf\xae\x3e\x2d\x6f\xf5\x86\x8a\xab\xe5\x97\x3f\x6e\xe7\xbf\x7f\x5a\x89\x4f\xcb\x9b\x8f\xb3\xdb\x3b\xf1\xdb\x4c\xdc\xcc\xa7\xbf\xdd\xcc\xea\x69\x8b\x3f\xc4\xd5\xcd\x74\xfe\xb9\x25\x3e\x4e\x3f\x4f\x7f\x9f\x55\xaa\xe5\xea\xd3\xac\xda\x49\xfd\x93\xf5\x66\x8a\x6f\x9f\x66\xfa\x59\x3d\x75\xba\x10\xd3\xab\xd5\x7c\xb9\xd0\xfb\x73\xb5\x5c\xac\x6e\xa7\x57\xab\x96\x58\x2d\x6f\x57\x2f\xea\x6f\xf3\xbb\x59\x4b\x4c\x6f\xe7\x77\xfa\xc8\x5c\xdf\x2e\x3f\x57\x7b\xaa\x8f\xee\xf2\x5a\xff\xd4\x7c\xa1\xa5\x8b\x59\x6d\xa4\x8f\xfc\xeb\x37\x68\x79\x5b\xfd\xfe\xeb\xdd\xec\xc5\x53\x7c\x9c\x4d\x6f\xe6\x8b\xdf\xef\xc4\x7c\xe1\xbe\xa1\xf6\x4d\x5e\xe6\xc9\x7d\x92\xca\xdd\xee\x59\xc4\x59\xfe\xa7\x8a\x44\x9c\x6b\x7c\xe9\x53\xaf\x5a\x15\xf2\x58\x6e\xb3\xfc\xd7\x1f\x97\xdc\x7b\xbd\x52\x85\x10\xd7\x72\x9d\xeb\xa5\xf7\x9b\xda\xed\x64\x1e\xfd\x5a\x88\xef\xf2\x41\x16\x9b\x3c\x39\x94\xe2\xa1\x0c\x3a\x1d\xed\x29\xbe\x17\xbb\x24\x3d\x3e\x19\x91\x26\xd9\xe4\xf2\x72\x5d\x6b\x2e\xb2\xfc\xfe\xd2\xfc\xc0\x65\xfd\x03\x04\x94\x81\x3b\xa8\xfe\x39\x7d\x9a\x64\x66\xeb\x45\xa4\x8a\xe4\x3e\x15\xb9\xda\xcb\x24\x2d\x2e\xaa\x17\x35\x1b\xab\x17\x93\xb2\x50\xbb\xd8\x8c\x97\x85\x58\x2b\x95\x0a\xf5\x54\xaa\x34\xaa\xcf\x51\x73\xca\xd4\x9f\x0a\xe2\xea\x6e\x2e\x36\x59\xa4\x8a\x96\x90\xfb\x2c\xbd\xaf\x85\x59\xa9\x01\x1d\x2b\x59\x1e\x73\x55\xe8\xc3\x77\xf9\xe6\xcd\x65\x75\x0c\xc5\x47\x15\xcb\xe3\xae\x14\x45\xf9\xbc\x53\xd5\x3e\x3f\x9d\xc0\x7c\xf9\xe6\xcd\xc5\xcb\xa6\xfc\xeb\x8d\x10\x42\xac\xe5\xe6\xcf\xfb\x3c\x3b\xa6\x51\x7b\x93\xed\xb2\x7c\x22\x7e\xe9\x74\x3a\x7f\xa9\x5e\xb3\x4f\xc4\x71\x5c\x3f\x11\x67\x69\xd9\x8e\xe5\x3e\xd9\x3d\x4f\xc4\x26\x3b\xe6\x89\xca\xdb\xa9\x7a\x6c\xd9\xdf\x68\xf0\xa5\x59\x71\x90\x1b\xf5\xa3\xa2\xde\xd2\x76\xa1\xca\x32\x49\xef\x8b\x89\x78\xbb\x4b\xee\xe5\x5b\x61\xe6\x1c\xb2\xa2\xc2\xce\x44\xe4\x6a\x27\xcb\xe4\xc1\x88\x8f\x85\xca\xdb\x85\xda\xa9\x4d\x39\x11\x69\x96\x9a\xa7\xdb\xfb\xa2\xdd\xf4\xd2\xa3\x5a\xff\x99\x94\xe7\x5e\xfe\xf7\x0f\xfb\x7e\x11\x67\x9b\x63\xd1\x3a\x3d\x31\xa9\x9e\x30\x87\x24\x3b\x96\xbb\x24\x55\xe7\x84\xe2\xa2\x3a\x9a\xed\xad\xda\x69\xf8\x1a\xc1\x69\xfb\xe5\xba\xc8\x76\xc7\xd2\x6c\x4d\x99\x1d\x26\x7a\x1f\x9b\x1d\xda\xa5\x7a\x2a\x65\xae\xa4\x71\xd2\x6f\xa2\xfe\xf5\x41\x7c\x9a\x5e\xfd\x75\xa2\x17\x44\x9c\x3c\x89\xf9\xec\xd7\x42\xac\x77\x49\xfa\x67\x85\xe9\x63\x5e\x64\xb9\xfd\xc1\xcf\x9a\xce\x2f\x36\xfa\x23\xca\x30\xb4\xd8\xe4\x7a\x71\x59\xca\xcb\x5c\xec\x54\x5c\xb6\x44\xa1\x9f\x90\x65\xf5\x6c\x6d\xa5\x3f\xa1\xd3\xac\x14\x0f\x49\x91\xac\x77\x1a\xba\x95\xf5\x25\xdc\xb9\xec\x20\x37\x49\xf9\x3c\xb1\x6f\xa2\x36\x9f\x88\xf6\x78\x3c\x1e\xab\xfd\xeb\xfd\xd7\xff\xff\x98\x44\xe5\xf6\xe5\x77\x5b\xa5\xcf\xaa\x97\xdf\xfe\xb3\x9d\xa4\x91\x7a\x9a\x88\x76\x60\x9e\xb9\xfc\xf0\x41\x7c\xc9\xd5\x83\x4a\x4b\xf1\x98\xcb\xc3\x41\xef\x78\x51\xef\xca\xfc\xf3\x4c\xc8\xc3\x41\xc9\xbc\x10\xf2\x5e\x9f\x64\xf5\xce\xbc\x1c\x04\xbb\x73\x59\x9e\xeb\xcf\x39\xbb\x07\x76\x8f\x1e\xb7\x49\xa9\xda\xd5\x22\xd5\xef\xb1\xb6\x37\xbb\xf4\xa0\xf2\x78\x97\x3d\x4e\xc4\x36\x89\x22\x95\xd6\xcf\xe6\xaa\x48\xfe\x79\x7e\x35\xd8\xb7\xcd\x9c\x28\x49\xba\x55\x79\x52\x9a\x9d\x57\x4f\x65\x3b\x52\x9b\x2c\x97\xf5\xe1\x3b\xa7\x9f\x6c\xf5\x4c\xeb\x52\xbd\x19\x13\x71\xc8\x92\xb4\x54\x79\x83\xcd\x31\x8d\x54\xae\xd7\xa7\xeb\x65\x16\x56\x92\x3e\xc8\x5d\x12\xb5\xf5\x6a\x39\x6b\xaf\x1d\xd9\x9b\x58\x9f\x29\x93\x34\x2b\xdf\x19\xff\xda\xa6\x5d\xf1\xa5\xfd\xb2\x31\xef\x1b\x7f\x64\x2d\xf3\xf7\xe2\xc5\xcf\xbc\xd6\x0c\x9f\x17\xd6\xbc\xa2\xd1\x8f\x9b\x54\x4f\xaa\xb6\xab\xd1\xf8\xe5\x14\x0e\x0e\x4f\xa2\xc8\x76\x49\xf4\x83\xb3\x79\xb1\x9d\xc5\x71\xa1\xf4\x9a\x0d\x0e\x4f\x7f\x69\xd8\x9e\x32\x97\x69\x71\x90\xb9\x4a\xcb\x73\x5b\xf1\x9f\x1f\x92\x7a\x07\x5e\xbf\x5a\x9d\xe1\xed\x2c\xe5\x1f\xae\x57\x9b\x77\x6e\x25\xbe\x7a\x2f\xcf\x6f\x0a\x99\xd6\xc2\x92\x97\x1d\x6c\xda\xcc\x73\x38\xff\xf7\xcf\x6f\xc6\x64\xb2\x56\x71\x96\xab\xff\x78\x73\xac\xc1\xcb\x49\x9a\x96\x2a\x2d\x27\xe2\xed\xdb\xfa\x58\x45\x49\x71\xd8\xc9\xe7\x89\x58\xef\xb2\xcd\x9f\xee\x47\xd1\x6b\xda\x35\xad\xd4\xff\x62\xbf\xcc\x66\xfd\x08\xc9\x75\x56\x96\xd9\xde\x41\xea\x6b\x80\x56\x6b\xd5\x33\x95\x7d\x48\xd0\xbc\xfc\x15\xa1\x2d\xb0\x39\xe3\xd7\x32\x6f\x5c\xdd\xcc\x05\xff\xb3\xef\xfd\xff\xd6\x3c\xde\x89\xf6\x5f\xec\xff\xff\xdd\x9e\xfe\xfc\x3e\xd9\x15\xfc\xe3\xc5\xc9\x26\xdb\xdb\x53\xa0\xfd\x90\xa8\x47\x22\x3e\x77\x7d\x78\x7d\x7d\xed\x9c\x51\xa7\x2b\xb2\xa6\x13\xaa\xf1\x43\xf8\xe5\x5a\x20\xf0\x6d\xdb\x85\xdc\x68\xb8\x98\x4d\x74\xcf\xe6\x73\x17\x5d\x5a\xa5\x6f\x35\x5f\xae\xb6\xc4\x32\x15\xcb\x3b\xf1\xf7\xfa\x4e\x36\x29\x44\xae\xfe\x71\x4c\xf2\xea\x8e\x55\x64\x79\xa4\x2f\xb3\xb3\xdc\x5e\x4e\x65\xfa\xae\x56\xe6\x55\x5a\x51\x5d\x7f\x88\xf8\xa8\xef\x56\xb2\x83\xfc\xc7\x51\xd9\xcb\x0b\x74\x45\x6d\xaf\x30\xda\xcf\x13\x63\x78\x7e\x43\x1f\x93\x48\xb5\x37\x5b\xf9\x23\x8b\xed\x6b\x69\x96\xef\xf5\x9b\xbc\x95\xb9\xbb\xeb\x49\x5a\x7d\xb0\x81\x23\x90\x67\x8f\xbe\xab\xd6\x57\x14\x40\x97\xb0\x95\xd7\xff\x13\x51\xf2\x70\x3a\x9e\x37\x49\xaa\x8a\x0a\xb5\x26\xc1\x29\x0e\x32\x2d\xea\xb0\x40\x3d\x95\x22\xd5\x37\x33\x22\xdb\xc8\xea\xee\xad\xba\xd7\xd3\x6f\xbd\xbe\x69\x3a\x24\xa5\x12\x6b\xa5\x45\xd5\xf1\x96\x7b\x55\x43\x4f\xbc\xfb\xa5\x1b\x0e\xdf\xc3\xcb\xb7\x73\xdb\x57\x1f\xe0\xf6\x0f\x97\xd7\xd5\x05\x6e\xb2\xab\x2e\x5b\xed\x25\xde\x39\xa5\x3e\xb6\xed\xbd\x92\x85\xbe\x6b\x51\x3b\xb5\xd7\x97\xa1\xf0\x58\x37\xb9\xfb\x0f\xf4\xcb\x15\xf3\xab\x8f\x6a\x95\xca\xf5\x4e\xb5\xf7\xd9\xb1\x50\xed\xea\x32\xb8\x38\x1d\xe4\x6f\x5b\x95\x8a\xea\x25\x61\x5e\x92\xb9\x12\xb5\x24\x12\xef\xd4\xfd\x85\x28\xf7\xc7\xa7\xf7\x2d\xa1\xaf\xa0\xf3\x97\xa4\xa7\x28\x65\x1a\xc9\x3c\xb2\x57\x98\xf6\xf2\xdf\x1c\x58\x7b\x81\x18\xd5\xb7\x90\x0d\x07\xb5\xba\xa9\xd2\x57\xd3\xbc\x7b\x1f\xb2\xa2\x7e\x3c\xbf\x5f\xdf\x47\x5c\x74\xed\xf1\xaa\xb6\xce\xec\x36\xba\x0d\x3b\x6d\xcc\x69\x11\xfe\xfc\x27\xf8\xe9\xd6\xb9\xf6\x57\xf6\x08\xd4\x80\x2b\xe8\x5d\x34\xd9\x90\x75\xb6\x8b\xcc\xfc\xea\x8e\xf7\xd1\x7c\x5c\xea\xe7\xcf\x6f\xfa\xe9\x33\xfa\x5f\x3f\x77\x9d\x6f\x27\x56\xcc\x6f\xd0\x56\x2f\x36\xdc\x77\x56\x0b\xf3\x67\xcf\x07\x7d\x1c\xda\x9d\xd7\x77\x3b\xbf\x84\xaa\xdb\xeb\x0e\x1a\x36\xef\xde\x11\x9d\x39\xfc\x48\x5f\x8b\x03\x67\xe2\x66\xd3\x21\xb7\x03\x64\x62\xd0\x3c\x11\xe9\x6b\x71\xe8\x4c\xec\xa9\xb1\xec\xf8\xf6\x31\x6c\x9e\x88\xf4\xb5\xb8\xeb\xee\x63\x4f\xfa\xf7\xb1\x0b\xf6\x11\xe8\x6b\x71\xcf\x99\xd8\xed\x0d\xfa\xb2\xe7\x99\xd8\x6b\x9e\x88\xf4\xb5\xb8\xef\x4c\x1c\xf6\xfb\x9d\xe1\xda\x33\xb1\xdf\x3c\x11\xe9\x6b\xf1\xc0\x99\xd8\x19\x8c\x47\x63\xe9\x99\x38\x00\x99\x18\xd0\xd7\xe2\xa1\x33\x31\xea\x46\xc3\x0d\xb9\xbe\x72\x26\x0e\x9b\x27\x22\x7d\x2d\x1e\x39\x13\xfb\xfd\xfe\xb0\xdf\xf5\x4c\x1c\x35\x4f\x44\xfa\x5a\x3c\x76\x26\xaa\x38\x1c\x87\x63\xcf\xc4\x71\xf3\x44\xa4\x37\x27\xb3\x0b\x9d\x91\x54\x61\xd7\xb7\x58\x03\x40\x1d\x64\x60\xd4\x2e\x76\xe2\x8d\x1a\xf7\x7c\x6f\x65\x00\xb8\x83\x0c\x8c\xda\x05\xcf\x30\x1c\xc7\xde\xe5\x13\x00\xf2\x20\x03\xa3\x76\xd1\x23\xa3\x61\x2c\x47\xbe\x99\x80\x3d\xc8\xc0\xa8\x29\x7c\x54\xa8\x42\xdf\x4c\x48\x9f\x66\x03\xa3\x76\xf1\xa3\xf4\xaf\x8d\x6f\x26\xe0\x0f\x32\x30\x6a\x02\xa0\x0e\xe7\xa3\x0b\x11\x08\x18\x18\xb5\x8b\x20\x2d\xe8\x7b\xd7\x10\x60\x10\x32\x30\x6a\x17\x42\x5a\x32\x1a\xfa\x66\x02\x0a\x21\x03\xa3\x76\x31\xa4\x25\xd2\xbb\x9f\x80\x43\xc8\xc0\x7c\xc4\xbb\x1c\xd2\x92\xc8\xb7\x9f\x21\xe0\x10\x32\x30\x6a\x97\x43\x5a\x42\x6f\xd9\xdd\x99\x80\x43\xc8\xc0\xa8\x5d\x0e\xe9\x05\xe0\x5d\xb7\x21\xe0\x10\x32\x30\x6a\x97\x43\x5a\xe2\x5d\xb7\x21\xe0\x10\x32\x30\x6a\x97\x43\x5a\xe2\x5d\xb7\x21\xe0\x10\x32\x30\x6a\x97\x43\x5a\xe2\x5d\xb7\x21\xe0\x10\x32\x30\x6a\xca\xa1\x7e\xec\x5f\xb7\x90\x43\xcd\x06\x46\x4d\x39\xd4\x3f\x13\x35\xb9\x33\x21\x87\x9a\x0d\x8c\x9a\x72\x68\x34\xf4\xaf\x5b\xc8\xa1\x66\x03\xa3\xa6\x1c\x1a\x0d\xfd\xeb\x16\x72\xa8\xd9\xc0\x5c\xf8\x53\x0e\x8d\x86\xde\x75\xdb\x85\x1c\x6a\x36\x30\x6a\xca\xa1\xd1\xd0\xbb\x6e\xbb\x90\x43\xcd\x06\x46\x4d\x39\x34\x1a\x7a\xd7\x6d\x17\x72\xa8\xd9\xc0\xa8\x29\x87\x46\x43\xef\xba\xed\x42\x0e\x35\x1b\x18\x35\xe5\x90\xf4\xf3\xb6\x0b\x39\xd4\x6c\x60\xd4\x94\x43\xd2\xcf\xdb\x2e\xe4\x50\xb3\x81\x51\x53\x0e\x49\x3f\x6f\xbb\x90\x43\xcd\x06\x46\x4d\x39\x24\xfd\xbc\xed\x42\x0e\x35\x1b\x18\x35\xe5\x90\xf4\xf3\xb6\x0b\x39\xd4\x6c\x60\xd4\x94\x43\xd2\xcf\xdb\x2e\xe4\x50\xb3\x41\xad\xee\x51\x0e\x45\x7e\xde\xf6\x20\x87\x9a\x0d\x8c\x9a\x72\x28\xf2\xf3\xb6\x07\x39\xd4\x6c\x60\xd4\x94\x43\x91\x9f\xb7\x3d\xc8\xa1\x66\x03\xa3\xa6\x1c\x8a\xfc\xbc\xed\x41\x0e\x35\x1b\x18\x35\xe5\x50\xe4\xe7\x6d\x0f\x72\xa8\xd9\xc0\xa8\x29\x87\x22\x3f\x6f\x7b\x90\x43\xcd\x06\x46\x4d\x39\x14\xfb\x79\xdb\x83\x1c\x6a\x36\x30\x6a\xca\xa1\xd8\xcf\xdb\x1e\xe4\x50\xb3\x81\x51\x53\x0e\xc5\x7e\xde\xf6\x20\x87\x9a\x0d\x8c\x9a\x72\x28\xf6\xf3\xb6\x07\x39\xd4\x6c\x50\xab\xfb\x94\x43\xb1\x9f\xb7\x7d\xc8\xa1\x66\x03\xa3\xa6\x1c\x8a\xfd\xbc\xed\x43\x0e\x35\x1b\x18\xb5\xcb\x21\x7d\x53\xe5\x5d\xb7\x7d\xc0\x21\x64\x60\xd4\x2e\x87\xb4\xc4\xbb\x6e\xfb\x80\x43\xc8\xc0\xa8\x5d\x0e\x69\x89\x77\xdd\xf6\x01\x87\x90\x81\x51\xbb\x1c\xd2\x12\xef\xba\xed\x03\x0e\x21\x03\xa3\x76\x39\xa4\x25\xfe\x75\x0b\x38\x84\x0c\x8c\xda\xe5\x90\x96\xf8\xd7\x2d\xe0\x10\x32\x30\x6a\x12\x52\xc7\x8c\x3c\xa1\x8f\x52\x6a\x60\x60\xd4\x2e\x87\xb4\xc4\xbf\x6e\x01\x87\x90\x41\xad\x1e\xb8\x1c\xd2\x02\xef\xba\x1d\x00\x0e\x21\x03\xa3\x76\x39\xa4\x25\xde\x75\x3b\x00\x1c\x42\x06\x46\x4d\x39\xc4\xc8\x13\x06\x90\x43\xbe\x3c\x61\x40\x39\xc4\xc8\x13\x06\x90\x43\xbe\x3c\x61\x40\x39\xc4\xc8\x13\x06\x90\x43\xbe\x3c\x61\x40\x39\xc4\xc8\x13\x06\x90\x43\xbe\x3c\x61\x40\x39\xc4\xc8\x13\x06\x90\x43\xbe\x3c\x61\x40\x39\xc4\xc8\x13\x06\x90\x43\xbe\x3c\x61\x40\x39\xc4\xc8\x13\x06\x90\x43\xbe\x3c\x61\x40\x39\xc4\xc8\x13\x06\x90\x43\xbe\x3c\x61\x48\x39\xc4\xc8\x13\x86\x90\x43\xbe\x3c\x61\x48\x39\xc4\xc8\x13\x86\x90\x43\xbe\x3c\x61\x48\x39\xc4\xc8\x13\x86\x90\x43\xbe\x3c\x61\x48\x39\xc4\xc8\x13\x86\x90\x43\xbe\x3c\x61\x48\x39\xc4\xc8\x13\x86\x90\x43\xbe\x3c\x61\x48\x39\xc4\xc8\x13\x86\x90\x43\xbe\x3c\x61\x48\x39\xc4\xc8\x13\x86\x90\x43\xbe\x3c\x61\x48\x39\xc4\xc8\x13\x86\x90\x43\xbe\x3c\x61\x48\x39\xc4\xc8\x13\x86\x90\x43\xbe\x3c\x61\x48\x39\xc4\xc8\x13\x86\x90\x43\xbe\x3c\x61\x44\x39\xc4\xc8\x13\x46\x90\x43\xbe\x3c\x61\x44\x39\xc4\xc8\x13\x46\x90\x43\xbe\x3c\x61\x44\x39\xc4\xc8\x13\x46\x90\x43\xbe\x3c\x61\x44\x39\xc4\xc8\x13\x46\x90\x43\xbe\x3c\x61\x44\x39\xc4\xc8\x13\x46\x90\x43\xbe\x3c\x61\x44\x39\xc4\xc8\x13\x46\x90\x43\xbe\x3c\x61\x44\x39\xc4\xc8\x13\x46\x90\x43\xbe\x3c\x61\x44\x39\xc4\xc8\x13\x46\x90\x43\xbe\x3c\x61\xe4\x72\x48\x5f\x9c\xfa\xd7\x2d\xe0\x10\x32\x30\x6a\x97\x43\x5a\xe2\x5f\xb7\x80\x43\xc8\xa0\x56\x8f\x49\x7f\x68\xc8\xc8\x13\xc6\xa8\x3f\x04\x0c\x8c\xda\xe5\x90\x96\x78\xd7\xed\x18\x70\x08\x19\x18\xb5\xcb\x21\x2d\xf1\xae\xdb\x31\xe0\x10\x32\x30\x6a\x97\x43\x5a\xe2\x5d\xb7\x63\xc0\x21\x64\x60\xd4\x2e\x87\xf4\x0d\x8e\x77\xdd\x8e\x01\x87\x90\x81\x51\xbb\x1c\xd2\x12\xef\xba\x1d\x03\x0e\x21\x03\xa3\x76\x39\xa4\x25\xfe\x75\x0b\x38\x84\x0c\x8c\xda\xe5\x90\x96\xf8\xd7\x2d\xe0\x10\x32\x30\x6a\xca\x21\x46\x9e\x30\x86\x1c\xf2\xe5\x09\x63\xca\x21\x46\x9e\x30\x86\x1c\xf2\xe5\x09\x41\x87\x82\x88\x11\x28\x9c\x64\x67\xa7\xfa\x12\x85\xa0\x43\x51\xc4\x88\x14\x4e\xb2\x86\xa9\x9e\x4e\x58\x87\xc2\x88\x11\x2a\x9c\x64\x0d\x53\x3d\xad\xb0\x0e\xc5\x11\x23\x56\x38\xc9\x1a\xa6\xe2\xf5\x1b\x74\x28\x90\x18\xc1\xc2\x49\xd6\x30\x15\xaf\xe0\xa0\x43\x91\xc4\x88\x16\x4e\xb2\x86\xa9\xbe\x35\x4c\xa1\xc4\x08\x17\x4e\xb2\xb3\x53\x7d\xe9\x42\xd0\xa1\x58\x62\xc4\x0b\x27\x59\xc3\x54\xdf\x1a\xa6\x60\x62\x04\x0c\x27\x59\xc3\x54\xdf\x1a\xa6\x68\x62\x44\x0c\x27\x59\xc3\x54\xcf\x1a\xa6\x25\xeb\x21\x23\x64\x08\x60\xcb\x1a\x38\x58\x39\x65\x13\x23\x66\x08\x50\xcf\x1a\x39\x58\x39\x65\x13\x23\x68\x08\x50\xd3\x1a\x39\x58\x39\x65\x13\x23\x6a\x08\x50\xd7\x1a\x39\x58\x39\x65\x13\x23\x6c\x08\x50\xdb\x1a\x39\x58\x39\x65\x13\x23\x6e\x08\x50\xdf\x1a\x39\x58\x39\x65\x13\x23\x70\x08\x50\xe3\x1a\x39\x58\x39\x65\x13\x23\x72\x08\x50\xe7\x1a\x39\x58\x39\x65\x13\x23\x74\x08\x50\xeb\x1a\x39\x58\x39\x65\x13\x23\x76\x08\x50\xef\x1a\x39\x18\x39\x29\x5e\x6b\x8d\x7f\x0d\xa3\xe6\x35\x72\xb0\x72\xca\x26\x46\xf4\x10\xa0\xee\x35\x72\xb0\x72\xca\x26\x46\xf8\x10\xa0\xf6\x35\x72\xb0\x72\xca\x26\x46\xfc\x10\xa0\xfe\x35\x72\xb0\x72\x97\x4d\x92\x53\x68\x08\x50\x03\x1b\x39\x58\xb9\xcb\x26\xc9\xa9\x34\x04\xa8\x83\x8d\x1c\xac\xdc\x65\x93\xe4\x94\x1a\x02\xd4\xc2\x46\x0e\x56\xee\xb2\x49\x72\x6a\x0d\x01\xea\x61\x23\x07\x2b\x77\xd9\x24\x39\xc5\x86\x00\x35\xb1\x91\x83\x95\xbb\x6c\x92\x9c\x6a\x43\x80\xba\xd8\xc8\xc1\xc8\x49\x19\x5b\x72\xca\x0d\x01\x6a\x63\x23\x07\x2b\x77\xd9\x24\x39\xf5\x86\x00\xf5\xb1\x91\x83\x95\xbb\x6c\x92\x9c\x82\x43\x80\x1a\xd9\xc8\xc1\xca\xc9\x5f\x51\xe3\x54\x1c\x02\xd4\xc9\x46\x0e\x56\x4e\xd9\xc4\x08\x25\x02\xd4\xca\x46\x0e\x56\x4e\xd9\xc4\x88\x25\x02\xd4\xcb\x46\x0e\x56\x4e\xd9\xc4\xc9\x25\x50\x33\x1b\x39\x58\x39\x65\x13\x27\x97\x40\xdd\x6c\xe4\x60\xe5\x94\x4d\x9c\x5c\x02\xb5\xb3\x91\x83\x95\x53\x36\x71\x72\x09\xd4\xcf\x46\x0e\x46\x4e\x0a\xda\x92\x53\x78\x08\x50\x43\x1b\x39\x58\x39\x65\x13\x27\x97\x40\x1d\x6d\xe4\x60\xe5\x94\x4d\x9c\x5c\x02\xb5\xb4\x91\x83\x95\x53\x36\x71\x72\x09\xd4\xd3\x46\x0e\x56\x4e\xd9\xc4\xc9\x25\x50\x53\x1b\x39\x58\x39\x65\x13\x27\x97\x40\x5d\x6d\xe4\x60\xe5\x94\x4d\x9c\x5c\x02\xb5\xb5\x91\x83\x95\x53\x36\x71\x72\x09\xd4\xd7\x46\x0e\x56\x4e\xd9\xc4\xc9\x25\x50\x63\x1b\x39\x58\x39\x65\x13\x27\x97\x40\x9d\x6d\xe4\x60\xe4\xa4\xb4\x2d\x39\x25\x88\x00\xb5\xb6\x91\x83\x95\x53\x36\x71\x72\x09\xd4\xdb\x46\x0e\x56\x4e\xd9\xc4\xc9\x25\x50\x73\x1b\x39\x58\x39\x65\x13\x27\x97\x40\xdd\x6d\xe4\x60\xe5\x94\x4d\x9c\x5c\x02\xb5\xb7\x91\x83\x95\x53\x36\x71\x72\x09\xd4\xdf\x46\x0e\x56\x4e\xd9\xc4\xc9\x25\x50\x83\x1b\x39\x58\x39\x65\x13\x27\x97\x40\x1d\x6e\xe4\x60\xe5\x94\x4d\x9c\x5c\x02\xb5\xb8\x91\x83\x95\x53\x36\x71\x72\x09\xd4\xe3\x46\x0e\x46\x4e\x8a\xdc\x11\xa7\x18\x11\xa0\x26\x37\x72\xb0\x72\x97\x4d\x11\xa7\x1a\x11\xa0\x2e\x37\x72\xb0\x72\x97\x4d\x11\xa7\x1c\x11\xa0\x36\x37\x72\xb0\x72\x97\x4d\x11\xa7\x1e\x11\xa0\x3e\x37\x72\xb0\x72\x97\x4d\x11\xa7\x20\x11\xa0\x46\x37\x72\xb0\x72\x97\x4d\x11\xa7\x22\x11\xa0\x4e\x37\x72\xb0\x72\x97\x4d\x11\xa7\x24\x11\xa0\x56\x37\x72\xb0\x72\xf2\x0d\x48\x9c\x9a\x44\x80\x7a\xdd\xc8\xc1\xca\x5d\x36\x45\x9c\xa2\x44\x80\x9a\xdd\xc8\xc1\xca\x5d\x36\x45\x9c\xaa\x44\x80\xba\xdd\xc8\xc1\xc8\x49\xb9\x3b\xe2\x94\x25\x02\xd4\xee\x46\x0e\x56\x4e\xd9\xc4\xc9\x25\x50\xbf\x1b\x39\x58\x39\x65\x13\x27\x97\x40\x0d\x6f\xe4\x60\xe5\x94\x4d\x9c\x5c\x02\x75\xbc\x91\x83\x95\x53\x36\x71\x72\x09\xd4\xf2\x46\x0e\x56\x4e\xd9\xc4\xc9\x25\x50\xcf\x1b\x39\x58\x39\x65\x13\x27\x97\x40\x4d\x6f\xe4\x60\xe5\x94\x4d\x9c\x5c\x02\x75\xbd\x91\x83\x95\x53\x36\x71\x72\x09\xd4\xf6\x46\x0e\x56\x4e\xd9\xc4\xc9\x25\x50\xdf\x1b\x39\x18\x39\x29\x7c\x47\xac\xbe\x04\x6a\x7c\x23\x07\x2b\xa7\x6c\xe2\xe4\x12\xa8\xf3\x8d\x1c\xac\x9c\xb2\x89\x93\x4b\xa0\xd6\x37\x72\xb0\x72\xca\x26\x4e\x2e\x81\x7a\xdf\xc8\xc1\xca\x29\x9b\x38\xb9\x04\x6a\x7e\x23\x07\x2b\xa7\x6c\xe2\xe4\x12\xa8\xfb\x8d\x1c\xac\x9c\xb2\x89\x93\x4b\xa0\xf6\x37\x72\xb0\x72\xca\x26\x4e\x2e\x81\xfa\xdf\xc8\xc1\xca\x29\x9b\x38\xb9\x04\x6a\x80\x23\x07\x2b\xa7\x6c\xe2\xe4\x12\xa8\x03\x8e\x1c\x8c\x9c\x94\xc0\x23\x56\x5f\x02\xb5\xc0\x91\x83\x95\x53\x36\x71\x72\x09\xd4\x03\x47\x0e\x56\x4e\xd9\xc4\xc9\x25\x50\x13\x1c\x39\x58\x39\x65\x13\x27\x97\x40\x5d\x70\xe4\x60\xe5\x94\x4d\x9c\x5c\x02\xb5\xc1\x91\x83\x95\x53\x36\x71\x72\x09\xd4\x07\x47\x0e\x56\xee\xb2\x29\x66\xf5\x25\x50\x23\x1c\x39\x58\xb9\xcb\xa6\x98\xd5\x97\x40\x9d\x70\xe4\x60\xe5\x2e\x9b\x62\x56\x5f\x02\xb5\xc2\x91\x83\x95\xbb\x6c\x8a\x59\x7d\x09\xd4\x0b\x47\x0e\xb5\x3c\x24\xbd\xf0\x98\xd3\x97\x08\x51\x2f\x1c\x39\x58\x39\xf9\x8a\x5b\x4e\x5f\x22\x44\xbd\x70\xe4\x60\xe5\x2e\x9b\x62\x4e\x5f\x22\x44\xbd\x70\xe4\x60\xe5\x2e\x9b\x62\x4e\x5f\x22\x44\xbd\x70\xe4\x60\xe5\x2e\x9b\x62\x4e\x5f\x22\x44\xbd\x70\xe4\x60\xe5\x2e\x9b\x62\x4e\x5f\x22\x44\xbd\x70\xe4\x60\xe5\x94\x4d\x9c\x2f\x99\x44\xbd\x70\xe4\x60\xe5\x94\x4d\x9c\xaf\x99\x44\xbd\x70\xe4\x60\xe5\x94\x4d\x9c\x2f\x9a\x44\xbd\x70\xe4\x60\xe5\x94\x4d\x9c\xaf\x9a\x44\xbd\x70\xe4\x60\xe4\xa4\x17\x1e\x73\xfa\x12\x21\xea\x85\x23\x07\x2b\xa7\x6c\x62\xe4\x12\x21\xfc\xfe\x6d\x6f\x5f\x22\x24\xbd\xf0\x98\xd3\x97\x08\x51\x2f\x1c\x39\x58\x39\x65\x13\x23\x97\x08\x51\x2f\x1c\x39\x58\x39\x65\x13\x23\x97\x08\x51\x2f\x1c\x39\x58\x39\x65\x13\x23\x97\x08\x51\x2f\x1c\x39\x58\x39\x65\x13\x23\x97\x08\x51\x2f\x1c\x39\x58\x39\x65\x13\x23\x97\x08\x51\x2f\x1c\x39\x58\x39\x65\x13\x23\x97\x08\x51\x2f\x1c\x39\x58\x39\x65\x13\x23\x97\x08\x51\x2f\x1c\x39\x18\x39\xe9\x85\xc7\x9c\xbe\x44\x88\x7a\xe1\xc8\xc1\xca\x29\x9b\x18\xb9\x44\x88\x7a\xe1\xc8\xc1\xca\x29\x9b\x18\xb9\x44\x88\x7a\xe1\xc8\xc1\xca\x29\x9b\x18\xb9\x44\x88\x7a\xe1\xc8\xc1\xca\x29\x9b\x18\xb9\x44\x88\x7a\xe1\xc8\xc1\xca\x29\x9b\x18\xb9\x44\x88\x7a\xe1\xc8\xc1\xca\x29\x9b\x18\xb9\x44\x88\x7a\xe1\xc8\xc1\xca\x29\x9b\x18\xb9\x44\x88\x7a\xe1\xc8\xc1\xca\x29\x9b\x18\xb9\x44\x88\x7a\xe1\xc8\xc1\xca\x29\x9b\x18\xb9\x44\x88\x7a\xe1\xc8\xc1\xc8\x49\x2f\x3c\xe6\xf4\x25\x42\xd4\x0b\x47\x0e\x56\x4e\xd9\xc4\xc8\x25\x42\xd4\x0b\x47\x0e\x56\x4e\xbe\x20\x77\xa4\x1f\xde\xa9\xe8\x1b\x72\x81\x83\x95\xbb\x6c\x0a\x42\xfd\xf0\x4e\x05\x6c\x42\x0e\x56\xee\xb2\x29\xd8\xe8\x87\x77\x2a\x60\x13\x72\xb0\x72\x97\x4d\xe1\x40\x3f\xbc\x53\x01\x9b\x90\x83\x95\xbb\x6c\xea\x76\xf4\xc3\x3b\x15\xb0\x09\x39\x58\xb9\xcb\xa6\xae\xd4\x0f\xef\x54\xc0\x26\xe4\x60\xe5\x2e\x9b\x7a\xd5\x2f\xef\x54\xc0\x26\xe4\x60\xe5\x2e\x9b\x7a\x4a\x3f\xbc\x53\x01\x9b\x90\x83\x91\x93\x5e\x78\x7f\xa4\x1f\xbe\xa9\xa8\x17\x8e\x1c\xac\xdc\x65\x53\xb5\x00\xbd\xe7\x2b\xea\x85\x23\x07\x2b\x77\xd9\x34\xd8\xe8\x87\x77\x2a\x60\x13\x72\xb0\x72\x97\x4d\xc3\x81\x7e\x78\xa7\x02\x36\x21\x07\x2b\x27\x7f\xd7\xb7\xc2\xa8\x77\x2a\xfa\xbb\xbe\xc0\xc1\xca\xc9\xdf\xf5\x95\xfa\xe1\x9d\x8a\xfe\xae\x2f\x70\xb0\x72\x97\x4d\xe3\x9e\x7e\x78\xa7\x02\x36\x21\x07\x2b\x77\xd9\x34\x56\xfa\xe1\x9d\x0a\xd8\x84\x1c\xac\x9c\x74\x2f\xab\x03\xe4\x9d\x8a\xba\x97\xc0\xc1\xca\x5d\x36\xad\x43\xfd\xf0\x4e\x05\x6c\x42\x0e\x46\x4e\x7a\xe1\xeb\x8d\x7e\xf8\xa6\xa2\x5e\x38\x72\xb0\x72\xf2\xaf\x4c\x56\x27\xb9\x77\x2a\xfa\x77\x26\x81\x83\x95\x93\x3f\xa7\xeb\xe8\x87\x77\x2a\xfa\x73\x3a\xe0\x60\xe5\xe4\xcf\xe9\xa4\x7e\x78\xa7\xa2\x3f\xa7\x03\x0e\x56\xee\xb2\xa9\xfa\x98\xf2\x9e\xaf\xa8\x17\x8e\x1c\xac\xfc\xec\x3f\xfb\xe6\x3d\x5f\x51\x2f\xfc\xe4\xf0\x3f\x01\x00\x00\xff\xff\xa8\x8d\x33\x24\xc6\x8b\x00\x00") + +func staticCssXtermCssBytes() ([]byte, error) { + return bindataRead( + _staticCssXtermCss, + "static/css/xterm.css", + ) +} + +func staticCssXtermCss() (*asset, error) { + bytes, err := staticCssXtermCssBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "static/css/xterm.css", size: 35782, mode: os.FileMode(436), modTime: time.Unix(1503299726, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _staticCssXterm_customizeCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x8e\xc1\x4e\xf3\x40\x0c\x84\xef\x79\x0a\xab\x52\xa5\xff\x97\xb2\x51\x8a\x14\x81\xb6\x57\xe0\xd6\x13\x88\xbb\x9b\x38\x65\xe9\xc6\x8e\xbc\x9b\x92\x80\xfa\xee\x28\x64\x0b\x7d\x01\x2e\xd6\x8c\x35\x9e\xcf\x45\x24\xed\x1c\xa3\x87\xcf\x0c\x00\xa0\x15\x8e\xa6\xc5\xce\xf9\xc9\xc2\xea\x9e\xde\xf0\x65\x80\x27\xe4\x00\x3b\x61\x59\xe5\xb0\x7a\x38\x91\x06\xe1\x8b\x7f\x54\xa2\x59\xe6\xb0\x23\xf6\x92\xc3\x73\x2a\xcc\xa1\x13\x96\xd0\x63\x4d\xdb\xec\x9c\x65\xc5\x38\xa3\x8c\x9c\x48\x3d\x4e\x7f\x8b\x9b\xab\xf7\xa2\x0d\xa9\x51\x6c\xdc\x10\x2c\x6c\xaa\x7e\xdc\xfe\x32\x83\xfb\x20\x0b\xe3\x68\x3c\xea\x21\x5d\xd4\xe2\x45\x2d\xec\x3d\xd6\xc7\xd4\x81\xf5\xf1\xa0\x32\x70\x63\xe1\xfd\xd5\xc5\x14\x94\x1e\x6b\x17\x27\x0b\x65\x71\x5b\x2d\xab\x1e\x9b\xc6\xf1\x61\x5e\xdd\x50\x07\x65\x51\x7d\xcf\x1f\x9d\x52\x12\x5c\x74\xc2\x16\x70\x1f\xc4\x0f\x97\xc2\x28\xbd\x85\xaa\x5c\x2f\xce\x53\x1b\xaf\x6c\x54\xe4\xd0\x8a\x76\x76\x91\x1e\x23\xfd\x33\x55\xb9\xce\x61\x9e\xff\x97\xd4\x10\x48\x4d\x20\x4f\x75\xb4\xc0\xc2\x74\x75\x9c\x98\xe9\x6d\xd8\xdc\x95\x5d\x00\xc2\x40\xc6\xf1\x36\x3b\x7f\x05\x00\x00\xff\xff\xd2\xd9\x6e\xaa\x04\x02\x00\x00") + +func staticCssXterm_customizeCssBytes() ([]byte, error) { + return bindataRead( + _staticCssXterm_customizeCss, + "static/css/xterm_customize.css", + ) +} + +func staticCssXterm_customizeCss() (*asset, error) { + bytes, err := staticCssXterm_customizeCssBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "static/css/xterm_customize.css", size: 516, mode: os.FileMode(436), modTime: time.Unix(1503300248, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + var _staticFaviconPng = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x00\x5f\x03\xa0\xfc\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\x00\x00\x20\x00\x00\x00\x20\x08\x03\x00\x00\x00\x44\xa4\x8a\xc6\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\x00\x41\x64\x6f\x62\x65\x20\x49\x6d\x61\x67\x65\x52\x65\x61\x64\x79\x71\xc9\x65\x3c\x00\x00\x01\xa4\x50\x4c\x54\x45\x1c\x1c\x1c\x2e\x2e\x2e\x1a\x1a\x1a\x25\x25\x25\x26\x26\x26\x24\x24\x24\x4e\x4e\x4e\x5f\x5f\x5f\x20\x20\x20\x1e\x1e\x1e\x1f\x1f\x1f\x22\x22\x22\x1d\x1d\x1d\x21\x21\x21\x3b\x3b\x3b\x19\x19\x19\x16\x16\x16\x2c\x2c\x2c\x29\x29\x29\x28\x28\x28\x27\x27\x27\x2b\x2b\x2b\x2a\x2a\x2a\x2d\x2d\x2d\x2f\x2f\x2f\x00\xac\x3a\x00\xa9\x3a\x60\x60\x60\x3a\x3a\x3a\x00\xae\x3b\x05\x9a\x38\x5e\x5e\x5e\x25\x24\x24\x52\x52\x52\x18\x18\x18\x39\x39\x39\x55\x55\x55\x5c\x5c\x5c\x5d\x5d\x5d\x37\x37\x37\x32\x32\x32\x50\x50\x50\x61\x61\x61\x5b\x5b\x5b\x4f\x4f\x4f\x58\x58\x58\x53\x53\x53\x59\x59\x59\x30\x27\x2d\x28\x1e\x24\x56\x56\x56\x54\x54\x54\x14\x14\x14\x2f\x2c\x2e\x17\x17\x17\x1b\x1b\x1b\x44\x44\x44\x35\x35\x35\x33\x33\x33\x4a\x4a\x4a\x36\x36\x36\x38\x38\x38\x20\x62\x36\x34\x34\x34\x30\x30\x30\x31\x31\x31\x23\x24\x24\x75\x75\x75\x2a\x22\x27\x20\x55\x32\x2e\x2b\x2d\x27\x1f\x24\x2e\x2a\x2d\x29\x26\x28\x62\x62\x62\x25\x21\x24\x26\x25\x25\x26\x2e\x29\x2b\x28\x2a\x20\x60\x36\x1f\x3b\x29\x2d\x25\x2b\x1f\x53\x32\x11\x70\x32\x25\x24\x25\x1d\x4f\x2e\x25\x29\x27\x1f\x52\x31\x00\xb1\x3b\x27\x2e\x2a\x77\x77\x77\x28\x2f\x2b\x2a\x31\x2d\x00\xb6\x3c\x23\x23\x23\x28\x25\x27\x2f\x2e\x2f\x11\x71\x32\x5a\x5a\x5a\x14\x66\x30\x30\x28\x2d\x2e\x25\x2c\x22\x5a\x35\x1e\x51\x2f\x2e\x31\x2f\x29\x21\x26\x2a\x3e\x31\x25\x26\x26\x2b\x32\x2d\x1c\x4f\x2d\x2c\x24\x2a\x30\x26\x2c\x28\x20\x25\x57\x57\x57\x00\xae\x3a\x27\x25\x26\x2a\x27\x29\x2c\x29\x2b\x25\x2d\x28\x00\xaf\x3b\x2c\x34\x2f\x22\x23\x23\x27\x1e\x24\x29\x30\x2c\x2b\x33\x2e\x04\xa0\x3a\x26\x23\x25\x1a\x50\x2d\x1f\x51\x30\x00\xb5\x3b\x00\xb3\x3b\x2b\x23\x28\x03\xa0\x39\x11\x6e\x31\x05\x99\x38\x1d\x50\x2f\x00\xb4\x3c\x2d\x2a\x2c\x63\x63\x63\x2f\x2b\x2e\x63\xda\xc5\x2e\x00\x00\x01\x51\x49\x44\x41\x54\x38\xcb\x85\xcc\xd5\x76\xc2\x40\x14\x40\xd1\x0b\x24\x78\x25\x81\x00\x2d\x69\x53\xdc\xdd\x1d\xea\xee\xee\xee\xee\xee\xde\x9f\x6e\xf2\x3c\x0c\xec\xe7\xb3\x0e\xcc\x72\x46\x19\x96\x91\x6b\x03\x2e\xc9\xd6\x62\xb1\x49\x1b\xfc\xb2\x54\x2c\x18\x0c\xae\x8b\xca\xa1\x58\x37\xf4\xb2\xdd\xbb\xf9\xa1\xfc\xe6\xf6\xb2\x01\xa5\x67\x8d\xe0\xb6\x1c\x75\xbc\x5c\xbd\x3e\x5c\xc7\xca\x1d\x2c\x42\xb0\x31\x7a\xda\xd8\xd0\x7c\xff\x87\x09\x8c\xb9\x91\xa9\x26\x3e\xd8\xef\xd4\xa3\x98\x9c\x0c\x64\x8e\xc3\x67\x21\x98\xff\xa1\x50\x3a\x07\xc7\x07\x6f\x5b\x42\x70\x77\xc1\xa0\x68\x3e\xe0\xb2\xed\x5f\x42\x30\x37\xa8\x43\x69\xb2\x76\xb0\xa7\x76\x26\x84\x60\xe6\x9c\x46\x69\x53\x36\xb0\x15\x8e\x0f\xf8\xe0\x73\xa0\x47\x83\x22\x0a\x1e\xb0\xa5\x6f\x9f\x16\xa6\xbf\xdf\x2f\x97\xb4\x28\x49\xda\x03\x1e\x67\xdf\xf0\xca\xc7\xd8\xda\xe4\x19\x81\x22\x9d\xab\x10\x70\xb6\x3e\x86\x42\xa1\xae\xfe\xbd\xb2\x81\x0f\x02\xa5\x9b\x16\xc1\xb8\xa4\x8c\xc5\x12\x1f\x14\x55\x24\x96\xaa\xe8\x83\x13\x91\x5c\x85\x25\x17\x85\x21\xac\x57\xd6\x60\x29\xf5\x56\x08\x53\x0a\x39\x96\x82\xb2\x82\x95\x51\x2b\xb1\xd4\x8c\x15\x22\x3a\x50\x60\x81\x2e\x02\x7e\x3a\xa1\xc6\x4a\xd0\x7e\x30\xd1\x62\xc0\x12\x0b\x81\xa6\x52\xa0\x31\x55\x09\xb4\x26\x70\x11\x66\x31\x96\x59\xeb\xaa\x16\x78\xf9\x20\x5e\x87\x15\x27\xbc\xe0\x25\xa3\xf5\x58\x51\x52\x0a\x19\x03\x29\xc1\x22\x0d\x19\xb0\x4b\x2b\xb2\xff\x03\x80\x64\x51\xf1\x29\x1a\xc2\x9c\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\x01\x00\x00\xff\xff\xb0\xaa\xd3\x73\x5f\x03\x00\x00") func staticFaviconPngBytes() ([]byte, error) { @@ -86,12 +149,12 @@ func staticFaviconPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/favicon.png", size: 863, mode: os.FileMode(436), modTime: time.Unix(1502261670, 0)} + info := bindataFileInfo{name: "static/favicon.png", size: 863, mode: os.FileMode(436), modTime: time.Unix(1503299028, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _staticIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x91\x41\x6f\x84\x20\x10\x85\xef\xfd\x15\x53\x9a\xde\x1a\xb1\x57\x45\xff\x4a\xc3\xca\xac\x8c\x8b\x60\x60\xd6\xd6\x18\xff\x7b\xc3\x52\x4f\x6d\xd2\x13\xc3\xbc\x2f\x8f\xf7\x82\x7a\x36\x61\xe0\x6d\x41\xb0\x3c\xbb\xfe\x49\x95\x03\x40\x59\xd4\x26\x0f\x00\x8a\x89\x1d\xf6\xfb\x0e\xd5\x63\x82\xe3\x50\xb2\xec\x8a\x9e\x78\x73\xd8\x5f\x82\xd9\xde\xe0\x85\x31\xce\xe4\xb5\x83\x7d\x09\x89\x98\x82\x6f\x40\x5f\x52\x70\x77\xc6\x16\x2c\xd2\x68\xb9\x81\xf7\xba\x7e\x6d\xe1\x93\x0c\xdb\xf3\x32\xeb\x38\x92\x6f\xa0\x5e\xbe\xda\x43\xc9\x62\x5a\x1e\x70\xe4\x6f\x10\xd1\x75\x82\x86\xe0\x05\xe4\xc0\x9d\xa0\x59\x8f\x28\x17\x3f\x0a\xb0\x11\xaf\x9d\xb8\xea\x35\xeb\x55\x5e\x3d\x3a\xc8\xb3\x84\xca\xe1\x7e\xcc\x0c\xad\x40\xa6\x13\x67\x50\xd1\x2b\x69\x68\x3d\xbb\x0c\x91\x16\x86\x14\x87\x4e\x54\x72\x4a\xd2\x66\xae\x9a\x52\xc6\x8a\xf8\x27\xa9\xef\x6c\x3f\x38\xdc\xd0\xff\xcf\x4e\x49\x8e\x81\x79\xfb\x45\x2a\x59\x72\x2a\x59\xbe\xe1\x3b\x00\x00\xff\xff\x24\xa8\xee\x8d\x9e\x01\x00\x00") +var _staticIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x91\x41\x8e\xb3\x30\x0c\x85\xf7\xff\x29\xfc\xe7\x00\xf8\x02\xa1\x57\xa9\x68\xe2\x12\xd3\x90\x20\x6c\x50\x99\xaa\x77\x1f\x85\x4c\x17\x23\x2a\xcd\x68\x56\xb1\xfc\xde\xf7\x62\xd9\xf6\xbf\xcf\x4e\xb7\x89\x20\xe8\x18\x4f\xff\x6c\x7d\x00\x6c\xa0\xce\x97\x02\xc0\x2a\x6b\xa4\xd3\xe3\x01\xcd\x5e\xc1\xf3\x69\xb1\xf6\xaa\x1e\x39\xdd\x60\xa6\xd8\x1a\x76\x39\x19\x28\x79\xad\xe1\xb1\xeb\x09\xa7\xd4\x1b\x08\x33\x5d\x5b\x73\xed\xd6\xa2\x37\xa5\x75\x20\x45\xb7\x48\x12\x88\xf4\x65\x6f\xd0\x89\x20\x27\x4f\xf7\xc6\x89\x18\xc0\x5f\x43\x77\xa5\x79\xfc\x13\x74\x76\x8b\x68\x1e\xf9\x83\xbe\xe3\xe2\x66\x9e\x14\x64\x76\xad\xc1\x41\x30\xec\x3f\x0c\x62\x4e\x16\xab\xb6\x2f\x0d\x5f\x5b\xb3\x97\xec\xb7\x2f\xd6\xf3\x0a\xec\x5b\x53\x10\x4e\x5d\x2c\x8c\xe7\xf5\x4d\x72\x83\xdd\xa2\xe1\xac\xf9\x46\xe9\x10\x7e\xf0\xba\x9c\xae\xdc\xff\xec\x1b\x04\x2f\x4b\xf2\x91\xde\xcc\x5b\xc7\xb4\x58\xcf\xfe\x19\x00\x00\xff\xff\x1d\x76\x7c\x01\x0e\x02\x00\x00") func staticIndexHtmlBytes() ([]byte, error) { return bindataRead( @@ -106,32 +169,32 @@ func staticIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/index.html", size: 414, mode: os.FileMode(436), modTime: time.Unix(1502262173, 0)} + info := bindataFileInfo{name: "static/index.html", size: 526, mode: os.FileMode(436), modTime: time.Unix(1503299786, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _staticJsGottyJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x56\x5f\x8f\xdb\x36\x0c\x7f\xbf\x4f\x41\xe8\x25\xf2\xe2\xfa\x92\xde\x06\x0c\x09\xb2\xa1\x2b\x6e\x40\x57\x6c\x57\x34\xd9\xee\xe1\x70\x28\x14\x9b\xb1\xb5\x28\x52\x20\xd1\x67\x78\x45\xbe\xfb\x20\x3b\x7f\x1c\xc7\x6e\x7a\x7a\x48\x6c\x91\x3f\xf2\x47\xd2\xa4\xc4\x57\xb9\x8e\x49\x1a\xcd\x03\xf8\x7a\x03\x00\xf0\x22\x2c\x64\x44\x5b\x77\xaf\xc5\x52\x61\x02\x33\x28\xa4\x4e\x4c\x11\x29\x13\x0b\xaf\x1a\x6d\xad\x21\x13\x1b\x05\xb3\x19\xb0\x4a\x77\xc2\xa6\x47\xb0\xb0\xa9\xeb\x00\x39\x14\x36\xce\x4e\x6a\xb9\x55\x30\x03\x7e\xe6\xea\x57\x18\x14\xce\x4d\x6e\x6f\x07\x30\xf1\x8f\xfe\x29\x80\xe1\x85\xad\xcc\x38\xea\xd8\xde\x0a\xca\xb4\xd8\x20\x0c\x3d\x78\x70\xf2\x75\x20\xec\x79\x3d\xb1\x02\x97\x44\x25\x7b\x6e\x50\xce\xc9\x7c\xc6\xd8\x68\x8d\x31\xc1\x0c\xde\x8c\xa7\x37\x47\xa1\xd9\xa2\x7e\xf4\xc8\x8b\x54\x1d\x34\x0a\x2f\xd5\x58\xc0\x23\x2e\xe7\x26\x5e\x23\xf1\xdc\xaa\xf0\xe4\x36\xd8\x9b\x3b\x00\x08\xed\xa6\xb5\xb5\x95\x3a\x5d\xc8\x0d\xda\xc6\x7e\xe1\x22\xa3\xbd\xfb\xa6\x73\x7c\x41\x4d\x4d\x06\x7b\x4d\x87\x3a\xe1\x7f\xcc\x1f\xfe\x8a\x1c\x59\xa9\x53\xb9\x2a\xf9\x57\x78\x67\xd3\x7c\x83\x9a\xdc\xa4\xaa\x4b\x08\xef\x72\xca\x16\x66\x8d\x7a\x02\xa9\x21\x2a\xbf\x88\x9c\xb2\x2f\xe4\x77\xc2\x5d\x10\x4c\xcf\xcc\x1e\x49\xc1\x0c\x1c\xd2\x07\x4d\x68\x5f\x84\xe2\xde\xd7\x27\xa9\xd3\x10\xee\x46\xf0\x03\x8c\x47\xa3\x51\x08\xc5\x59\x98\x7e\x65\x3e\xce\x28\xc1\x95\xc8\x15\xcd\xc9\x58\x91\xe2\x3e\x53\x4a\x2e\xa3\xfd\x4e\xf4\x27\x6e\x8c\x2d\x79\x1b\xed\xc1\x7b\xed\xda\xd0\x02\xed\x46\x6a\xa1\x3a\x35\xa3\x14\xe9\x93\xc5\x95\xe3\x41\xe4\x90\x38\xf3\x1c\xdf\xa0\x8e\x4d\x22\x75\xca\x42\x60\x56\x14\xac\x13\x69\xf4\xc1\xf2\x67\x14\x49\xd9\x57\xe9\x66\xb5\xa4\x81\x59\x0d\x96\x26\xda\xe6\x2e\xbb\xe0\xe4\x97\x34\x91\xd1\xff\x2c\x3e\x62\xe9\xc8\x9a\x35\x36\x2d\x3b\xb2\x5d\xc6\x9b\xc5\x64\x63\x06\x43\xf0\x8a\xd3\x0b\xbd\x5d\xb7\x3b\x8f\x9b\x57\xe5\x87\xd9\x85\xfb\x3e\x86\xa7\xe8\x9d\xfc\xef\x8c\x64\x6c\x54\xbe\xd1\x2e\x04\x6b\x0a\x77\x8d\x6e\xa7\xd0\x2f\x76\xe7\xe3\x68\x7d\x9a\xbd\xda\x7e\x75\x3b\x6a\xae\x3d\xb3\xc9\xe1\x21\xbc\x8a\xf0\x21\x4c\xaa\xdf\x6f\xeb\xee\x7a\xa5\x41\xa7\xe4\x72\xb7\xab\x36\xf5\xb7\xa2\x1d\x09\xa5\x3e\x62\xb9\x34\xc2\x26\xbc\x55\xd7\x36\x6e\xdf\x3d\xb1\xb1\x82\x90\x27\x26\xae\x3a\xd9\x7f\xe8\xf7\x0a\xfd\xe3\x6f\xe5\x87\x84\x33\xda\x97\x8f\x35\xbb\x77\xd7\x1e\x23\x1b\x74\xae\x6e\xbf\x6f\x4f\x92\x44\x90\x80\x19\x54\xb2\xc8\xbf\x44\x4e\xc9\x18\xf9\xb8\x45\xd6\x15\x92\xe2\x8c\x9f\xf4\x9e\x46\xcf\x6d\x5b\xb1\x70\x08\x83\xf1\x60\xd2\x93\x0e\x13\x15\x56\x12\xfe\xbd\xf8\xfd\x67\xbe\x9f\xe5\x82\xcc\x92\x7b\x73\xed\x51\xe4\xd7\xd2\xa2\x58\x4f\x3b\x5c\xbc\xed\x70\x71\x7b\x0b\x5b\xa3\xd3\xef\x37\x72\xd7\xc7\xd3\x21\x3d\x56\xec\x16\x92\x14\xd6\xec\x5e\x41\xee\xc7\x0e\xbb\x5b\x8b\x2b\xb4\xa8\x63\xf4\x47\x47\xd5\x1a\x5b\x61\x5d\xaf\xf1\x87\xe5\xbf\x18\x53\xb4\xc6\xd2\xf1\x06\x36\x88\x56\xc6\xde\x8b\x38\x3b\x1d\xe3\x6b\x2c\xfb\x1a\x35\x36\xda\x19\x85\x91\x32\x29\x67\x73\x24\xf2\x63\xc2\xb7\xe6\x1a\x4b\x18\x02\x9b\x54\x2f\x4d\x6e\x4f\x6b\x2c\x9f\x3b\xe8\x40\xcf\xd0\x5d\x63\x19\x7e\x0f\x7e\xf7\x9a\xfc\xfd\xd4\x91\xbf\xf6\x81\x7d\x3d\x83\x67\xc1\x57\xf7\x0d\x1f\xbd\x3d\xd8\xa8\x63\x3f\x37\x3b\x04\x06\xce\xbf\x25\x8e\x5d\x76\x79\x07\xdf\x5d\x7f\xfb\xc5\xca\xb8\xeb\xcd\x27\x57\xc0\x7d\x5e\xbb\x2a\x58\xe5\x3b\xd7\x57\x66\x08\x34\x9a\xcb\x65\xa6\x78\x78\x41\xab\x44\xc9\xd9\xfb\x3a\x28\x69\x34\xbc\xf7\x5c\x12\x16\x82\xce\x95\x6a\xcf\xa0\xf3\x02\x28\x14\xf6\x78\xea\x1f\x6f\x03\x2d\x8c\x67\x7d\x9e\xb9\x5f\x60\xd4\x15\x82\x43\xf2\x78\x93\x13\xaf\x2f\x55\x61\x2b\xe3\xf5\x55\xa2\x97\xd2\xae\x16\xec\x6e\x4e\x97\xb3\xc3\x4d\xa4\x99\xda\xf3\xa3\xea\x78\x9a\xbe\x65\xc1\x11\xef\xff\x6a\x0a\x3e\x81\xbb\x80\x07\x37\xff\x07\x00\x00\xff\xff\x14\x81\x47\xc3\x0a\x0b\x00\x00") +var _staticJsBundleJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x6b\x73\x1b\x4b\xb2\x20\xf6\x79\xf8\x2b\x4a\x9c\x1d\xa1\x21\x82\x10\x1e\x7c\x53\x90\x2e\x09\x92\x23\xdd\xa3\xd7\x92\x3c\x8f\x59\x8a\xcb\x69\x74\x17\x80\x96\x1a\xdd\x98\xee\x06\x09\x8c\xc8\xf9\x64\x3b\xc2\x1f\xfd\xc5\xe1\x0f\x1b\xe1\xd7\xb5\xef\x5d\x87\xc3\xb1\x76\x6c\x6c\xd8\xe1\xb5\x1d\x31\xe7\x8f\x39\xea\xd9\xf5\x6c\x34\x40\xea\x48\x77\xf6\x30\x66\x8e\xd0\x55\x59\x59\x59\x59\x59\x59\x59\x55\x59\x59\x4f\x9f\xe0\xbf\xa7\xc0\xe9\x4f\x22\x2f\x0b\xe2\xc8\x19\xc5\xfe\x24\x84\x69\x15\x7c\x06\x4f\x9f\x82\x1b\xd8\x1b\xbb\xde\xa7\xc3\x38\xce\xd2\x2c\x71\xc7\x2b\xbc\xc4\x6f\x9e\x3e\x05\xe7\x43\x08\x08\x3c\xf0\x5c\x6f\x08\x85\xdc\x6b\x37\x01\x41\x94\x66\x6e\x18\x42\xff\x0d\xc1\x09\x3a\xe0\xf3\xdd\x3e\x07\xd2\x71\x25\xf0\x4f\x93\x20\x81\x80\x11\x23\x40\xb0\x24\x70\x75\x45\x69\xba\xa2\xd0\x57\x57\x94\xe6\x57\x7e\x15\x7c\x36\x61\x47\xe8\xbb\x43\xe8\x7d\x02\x41\x9f\xd1\x1b\xa4\x20\x88\x34\xaa\x7f\x13\xf4\x1d\x95\xea\x0b\x86\xfd\x52\x44\x0f\x7e\xf3\x9b\xdf\x24\x30\x9b\x24\x91\xd6\xcc\xbc\x40\x1d\x4e\xc7\x71\x92\xa5\xfb\x62\xb1\x3b\x95\xb2\x04\xba\x19\x04\x2e\x88\xe0\x0d\xa3\xce\x71\x23\x1f\x8c\x27\x19\x08\x32\x10\x44\x59\x0c\xb2\x21\x65\x71\x55\x2c\x8d\x98\x4c\x4b\x74\x0a\xc8\x40\x7c\x97\x08\x0f\xf6\x00\xcb\xac\x49\x19\xe1\x1e\xe8\xbb\x61\x0a\xe5\x54\xda\x8a\x3d\xf0\x59\xa2\xdd\xdc\x95\xa8\x49\xc7\x53\xe8\x4d\x32\x88\xa9\xa6\xf4\x19\xba\xf4\x37\x23\x8d\x5f\x9e\x1b\x86\xb4\x37\x19\xef\x6a\x14\x03\xfb\x37\x4f\x37\x48\x42\xd5\x4a\xd2\x49\xe8\x0e\x44\x7a\xdc\x14\x84\xb1\xeb\x43\x5f\x27\xa8\x1e\x82\x0e\xc8\x92\x09\xb4\x22\x3b\x25\x1d\x8f\xd0\x51\x6a\x40\xdc\x17\xb0\x8b\xe0\x54\x48\x64\xe2\x45\x81\xb8\xd3\x6b\x91\x47\x06\x2a\x93\x8a\xcc\x4c\x41\xdc\xfb\x08\xbd\x0c\x38\x39\x0b\x68\xce\xd5\x95\x28\x20\x06\x0e\xd5\x47\xa0\xc3\xd0\xd8\x86\xa2\x56\xa1\x36\x4e\x4c\x88\x3d\x83\x0c\xda\x6a\x08\x7c\x18\x65\x41\x36\xe3\x62\x01\xfa\x71\x02\x50\xef\x07\xd1\x00\x0c\xdd\x64\x14\x47\x33\x10\x8c\x08\x6f\x6f\x82\x6c\x48\x46\x40\x9c\x24\xa8\xdd\x5e\x1c\x65\x70\x9a\xcd\x21\x28\x00\x1d\x8e\xdf\xb9\x76\xc3\x09\x44\x4a\x8d\xf6\x07\xfe\xde\x07\x56\x75\xe4\xc3\x7e\x10\x41\x30\x80\x59\x06\x13\x99\x4c\x46\x1e\xed\xcb\x39\x54\xf8\x22\x15\x5c\x76\x23\x77\x04\x6b\x14\xbb\xa2\x56\x82\xbe\xf3\xc8\x84\x28\x96\x4b\x57\x55\x6d\xf4\x0e\xcb\x44\x9d\x10\xfe\x3e\x89\xc7\x30\xc9\x66\x6a\x8d\x72\x91\xdf\x78\x71\xd4\x0f\x06\x93\xc4\xed\x85\xd0\x38\xf4\x7f\x03\xa3\xc9\x08\xd2\x7c\x34\x26\x94\xec\x01\xcc\xf6\x68\x33\xa4\x8c\xbb\xaa\x55\xe7\x59\x59\x3e\x80\xd9\x11\xec\xbb\x93\x30\x3b\xc6\x44\x2b\xc2\x11\x8f\xc6\x6e\x16\xf4\x82\x10\xc9\x0d\x16\x89\x28\x8e\xd6\x59\x67\x50\x91\x9e\xd3\x19\x91\xd8\x19\xa4\x88\xc2\x46\xa4\x52\x69\xa7\xb3\x71\x02\x1e\x3f\x66\xc3\xf7\xea\x0a\xa6\x44\xb4\xc1\x0b\xa9\xbd\x9c\xd4\xbc\x11\x8e\x20\x6d\xa4\xf8\x45\xc5\x27\x59\x95\xcb\x7d\x70\x07\xf6\xac\x18\x48\x15\x84\x0b\xa9\x8e\x47\x12\x5b\xf0\x1b\xb3\xd8\x39\xa4\x15\x35\x50\x71\x2b\x5c\xd2\xf6\x0d\x9a\x89\x64\xed\x97\xe9\x21\x2a\x62\xe3\x24\xce\xe2\x6c\x36\x86\xf5\xa1\x9b\xbe\xbb\x89\x98\xb0\x61\xf5\x3d\xa7\x07\x62\xb1\x07\x88\x1a\xab\x81\x31\x45\x20\xb4\xb4\x4c\x55\x7a\xf9\x82\x01\x9d\x13\x33\x9e\xf4\xc2\xc0\xbb\x1a\xbb\xd9\xf0\xea\x6a\x0e\xb9\x63\xd0\x01\xab\xab\x36\x9c\xaf\x63\xd7\x07\x30\xca\x92\x19\x9f\x56\x22\x9f\xb5\x40\x57\x0f\x34\xc3\x64\xc1\x98\xea\x46\xf6\x52\x73\x43\xec\xb3\x3b\xae\xdc\xef\xff\x27\x34\xc5\xb9\x58\x79\xfa\x04\x34\x00\x4d\xd3\xad\xc1\x1a\x28\x9c\x74\xc1\xe7\x95\x95\xd5\x49\x0a\x41\x9a\x25\x81\x97\xad\xee\xaf\xac\xcc\x51\x46\xab\xf9\x40\x5a\xad\x81\xcf\x44\x1b\x13\x05\x03\x90\xea\x40\xa3\xb0\x1b\x8f\xc6\x71\x1a\x20\x32\x5e\xc2\x70\x0c\x93\xab\x26\xe8\x18\x99\xd7\xdc\xa4\x45\x8e\xaf\x61\x94\x1d\x8f\x02\x24\xd0\x76\x68\x0a\xfc\x43\x00\x6f\x10\x39\x56\xc0\x56\x8b\x51\x12\x06\xe3\x5e\xec\x26\xbe\x1d\x74\x97\x81\x06\x89\x37\x09\xdd\xe4\x75\x90\xda\x11\xb7\x19\x09\xc7\xa9\xe7\x8e\xe1\x19\xfc\xd3\x04\x46\x1e\x4c\xed\xe8\x29\xfc\xab\x68\x3c\xc9\x5e\xba\x91\x1f\x16\xb5\x6f\x8b\x42\xbf\x77\x93\xb4\x08\x6e\x87\xc2\x9d\xc2\xc8\x87\x49\x11\x24\x6b\xdd\xeb\x20\xfa\x14\xf4\x83\x22\xd0\x6d\x0a\x7a\x06\x43\x88\x45\xe8\x8d\x1b\xb9\x83\x82\x12\xad\x06\x63\xdd\xd0\x4d\xde\x40\x37\x9d\x24\xd0\xce\x39\x06\x7c\x98\xc4\x37\x29\xd6\xd1\x26\x30\xd6\xb2\x37\xf1\x24\xb5\x23\x63\xad\xf2\x63\x6f\x32\x82\x51\x06\x3a\xc0\x41\xaa\x26\xee\x83\x9b\x20\xf2\xe3\x1b\xf0\xa8\x03\x2a\x93\x88\x08\xb1\x5f\xa9\x82\x17\x34\xa3\xce\x8b\xec\x81\x68\x12\x86\x04\xcf\x8f\xa7\xaf\xce\x8f\xaf\x0e\xbf\x3f\x39\x39\x3e\xbd\x7a\x7f\xf0\xfd\xd9\xf1\xd5\xf9\xcb\xd3\xe3\xb3\x97\xef\x5e\x1f\x81\x0e\xd8\x94\xa0\x0e\xce\xbb\x2f\xaf\xce\x5e\xfd\xab\x63\xd0\x01\xed\x46\x83\xb2\xe0\xfb\xd3\xb3\x77\xa7\x57\x87\xaf\x5f\xbd\xfd\xee\xea\xd5\xdb\xf3\xe3\xd3\x1f\x0e\x5e\x83\x0e\xd8\x42\x00\x7c\x82\x38\x87\xc9\x28\x88\xdc\xd0\x89\xc7\xe8\x1b\x2d\xd5\x56\x00\x00\x00\x61\x48\x61\xd8\x47\xd6\xeb\x30\x48\xf7\x71\x62\xd0\x07\xce\x23\x07\x7d\x13\xe3\x2c\xf2\x50\xfb\x18\x8a\x2a\x2b\x8b\xfe\xa8\x7a\x42\xcb\x10\x5e\x85\x9b\x0c\x70\x43\xd3\x8b\xc6\x65\x0d\xe4\x5f\x4d\xe9\xab\x75\x59\x25\xb5\xdd\xe1\xff\x22\x22\xea\x3d\xde\x43\xb4\xaf\xf6\xf3\x3c\x0f\x91\x81\xac\x6c\x56\x0f\x4d\x21\x20\xf2\x28\xae\x8b\x9f\x44\xed\xa3\xd6\x54\xf3\xe6\xd1\x3e\xa3\xdc\x00\x9d\x4e\x07\x54\xa2\xc9\xa8\x07\x93\x8a\xd8\x3c\x9e\x2f\xa4\xa1\x3f\x2f\x0e\xd3\x3d\x20\x35\x54\xca\x47\xd4\xef\xc9\x4d\x97\xf2\x87\x64\x3c\xee\x49\xfc\xe0\x10\x77\x22\x63\x72\x12\xd8\xaf\xdb\x5b\xbc\x24\x46\x99\x54\x65\x7e\x82\xb3\xd4\xe1\x7c\xa1\x06\x43\x5a\xad\xf7\xe3\xe4\xd8\xf5\x86\x5c\x35\x03\xe7\x13\x9c\x89\xed\x43\xac\xa0\x68\x2f\x3e\xc1\xd9\x25\xe8\x74\xb0\x70\x56\x95\xf6\xca\x30\x79\x17\x88\xe9\xfb\x52\x09\x84\x99\x81\x91\x62\x8f\x3a\x42\x41\x46\x23\xce\x52\x6b\x2b\xa8\xd1\x50\xd3\xdd\x8a\xfe\x0b\x49\x0c\x2b\xaa\xd3\x78\x27\x08\x02\xcd\xad\x7b\x71\x18\x27\x69\x3d\x84\xd1\x20\x1b\x62\x79\xd8\x31\x08\x02\x05\xcb\xb1\xb2\x72\x5e\x1c\x79\x6e\x96\xf7\xc1\x15\x4d\x4f\xc3\xc0\x83\xce\x4e\x55\x92\x75\x18\xa6\x70\x4e\xe5\xcd\xad\x87\xab\xbd\xb9\xb5\x78\xf5\x8d\x45\xaa\x27\xd5\x34\x6a\x60\xbd\x55\x9d\xc7\x09\x0c\x54\x33\x63\x58\x6f\x2d\x4e\xe8\x03\xf6\x52\x73\x6b\x11\xe2\x90\x42\xb1\x55\xb4\x9f\x43\x68\xc3\x57\xc8\x1b\xbb\x09\x99\x42\x58\xe9\x5e\xec\xcf\xd0\xf0\x66\xdf\x14\xe0\xf6\x16\x38\x7c\xf6\x78\xc1\xe7\x9e\xfa\x00\x66\xc7\x21\xc4\xea\xe3\x70\x76\xee\x0e\xde\xba\x23\xe8\x54\x10\x92\x4a\xf5\xa2\x71\x49\x27\x9a\xea\xbe\x44\xaf\x42\x6d\x2a\xd6\x37\x80\xf1\x08\x66\xc9\xec\xa2\x71\x29\x14\x42\xca\x4c\x28\x84\x3f\x4d\x85\x9a\x62\x21\x96\x0a\x3a\xe0\x82\x57\x5d\xcb\x11\x5e\xea\x43\x90\x2a\x45\xb1\x43\x09\x0b\x23\xa7\xe2\xbb\x19\x5a\x92\xa8\xa0\x5a\x87\xcc\x7a\x6e\x0a\x41\x07\x34\x04\x52\x66\x7e\x90\x8e\x95\xb4\xa9\x0a\xa3\x7c\x7b\x93\x24\x8d\x93\xb3\xcc\xcd\x54\x6c\x24\xe7\x65\xe0\xfb\x10\xaf\x0c\xd1\xfa\x57\xe2\x70\x74\x0d\x93\xec\x38\x0e\x85\xc4\x3f\x4d\xe0\x04\xe1\xa9\x54\x84\xc4\xd4\x4b\xe2\x30\x3c\x8f\x55\xd2\x48\xfa\x61\x9c\x65\xf1\x88\x4e\xcb\x84\xe7\xeb\xa0\x29\xd1\x91\x66\xf1\xe8\x3b\x38\xc3\x73\x1d\x35\xf0\x40\x87\xda\x16\x0a\xb9\x87\x61\x10\x7d\x7a\x15\x65\x30\xb9\x76\x43\x1d\xc8\x1d\x8f\xc3\xc0\x73\x11\x6f\xbf\x83\xb3\xb1\xeb\x1b\x1a\x26\xc0\x74\x31\x4e\x03\x4c\x9c\x04\x83\x20\x7a\x13\xfb\xd0\x90\x19\x44\x29\x4c\x32\x4b\xe6\x4d\xe2\x8e\xdd\x24\x9e\x44\x3e\x05\x20\x7b\x69\x3c\x3f\x8a\x93\x91\x89\x72\x6f\x88\x0c\xd6\x4c\xcf\x18\xd8\x73\x42\x78\x8d\x0d\x89\x86\x8e\x07\xc9\xf9\x05\x82\x17\x45\xd9\x87\xde\xeb\xd8\x73\xb3\x38\x11\x05\xa8\xd9\xc0\x96\xa2\x90\x74\x9d\xb5\x1a\x86\xc4\xb6\x9e\x48\x5a\xa3\xa6\x8e\xd0\x37\xee\x4d\x51\x49\xa4\x30\xf2\x4f\x62\x6f\x22\xa6\x4d\xb2\xbe\x5a\x38\x1d\x24\x6a\xd2\x24\x99\x5e\x67\x6a\x22\x24\x0a\x43\x6a\x7a\x10\xfa\x09\x8c\xc4\x11\x0f\xfb\x09\x4c\x87\x67\x99\x9b\x64\x7a\xf2\x71\xe4\x8b\x15\xbb\xd7\xd0\xff\x49\x4d\xf8\x83\x9a\xd0\x8d\xc3\x54\x42\xe5\xfa\x6e\x2f\x34\xf4\xf4\x4d\x12\x64\xe6\x1c\x1f\xf6\x0f\xb2\x0c\xc9\x9d\xd3\x00\xcf\x9e\x61\xdd\x7f\x0b\x9c\xd6\xe6\x36\xfa\xda\xa5\x1f\x5b\xe8\xa3\x51\x95\x87\x00\x2d\x27\xa2\x91\xf5\xb0\x3b\xc2\x5d\x7f\x29\x17\x43\xda\xf7\x3d\xca\x54\xa4\x65\x9c\xc0\x7e\x30\x55\x07\xf4\x38\x4e\x33\x43\x72\x20\x2c\xc0\x90\x34\xc2\x1b\x65\x4d\x56\x17\x3f\x45\x43\x95\x11\x97\xf2\x82\x6c\x79\x56\x27\x3f\x1c\xad\x02\xa2\x61\xab\x12\xa7\xc9\x4a\x8d\xab\x12\xf6\x7d\x7b\xab\x8e\x8c\x54\x59\x7f\xb1\x22\x5a\xba\x5e\x34\x64\xab\x3c\x56\x26\x4f\x40\xc0\xf0\x46\x5c\x07\xd6\xf9\x6f\xa7\xaa\xf4\x3c\x3c\x9c\xf4\xfb\x18\x8b\xd4\x17\x38\xeb\x55\xf4\x3e\x89\x07\x09\x4c\x53\x83\x02\x99\xc6\xfd\xfe\x19\x8c\xb2\xf3\xb8\xeb\x66\xde\xf0\xfb\xb1\x51\xc9\x04\x19\x3c\xcb\xe2\xf1\x18\x9a\x34\x5c\x3a\x49\x92\x78\xe0\x66\xf0\x6a\x18\x0c\x86\x6a\x37\x86\x41\x84\x4f\xa3\x50\x5b\xe4\x15\x7b\x5d\xfc\x74\x04\x1d\xde\x73\xbd\x4f\xb4\x81\xf8\x68\x4b\xd4\xe6\x24\xf9\x66\x18\x84\x10\x38\xc1\xfa\xba\x36\xeb\xe1\xfa\xea\xe3\x49\x3a\x24\x28\x7b\xa1\x1b\x7d\x7a\x1d\x44\xd0\x91\xed\x10\xbc\x9a\x31\xf5\x92\x86\x51\x05\xa8\xa7\x30\x23\xec\x76\xf2\x1a\xf5\x29\x35\x73\x7b\xb2\x3e\xca\x26\x63\xc4\xc4\x54\xea\xbc\x49\x0a\x93\x33\xdc\xea\x20\x1a\xe4\xcc\xbd\x5b\x09\xa2\x21\x4c\x82\x2c\x5f\x9f\xd4\x8a\x16\x6b\xd5\xfd\x15\x6e\x9d\xe5\xfb\x78\x30\x71\x53\x48\xc7\x70\xbe\x96\x61\x0d\xa4\x6b\x50\x47\x52\x12\x8f\xc1\x5f\x1a\xd3\x66\xbf\x8f\xb5\x82\xa4\x06\x1e\x03\x92\xb1\xbf\x72\x27\x54\x96\xb9\xd1\x20\xee\x32\x73\xee\x02\x23\xae\xfc\xb6\x05\xdb\x1b\xed\xad\x4a\x8d\x7e\x7a\x5e\xa3\xd1\x68\xf0\xcf\x0d\xb8\xeb\x36\x84\xdc\x0d\x57\xcc\x6d\x6f\x6c\x6d\xba\x1b\xfc\x73\x7b\x73\xb3\xb1\xdd\xe3\x9f\x8d\xad\xdd\x9d\x5d\x97\x7f\xfa\x6d\x7f\xdb\xeb\xf3\xcf\xcd\xcd\xcd\xed\xcd\x36\xff\x84\xfd\xd6\x6e\x6b\x97\x7f\xee\xb8\xb0\xd5\xce\x31\xf7\x3d\xb8\xbb\x91\x97\xdd\x6e\xed\xf6\x05\x54\xae\xbf\xdd\x77\x77\x04\xaa\x60\x0b\xb6\x72\xcc\xe8\xcf\xab\xac\x5c\x0a\xac\xe0\x46\xad\xa3\xf3\x1a\xc9\x31\xcf\x37\x31\x8f\x5a\xcb\xd5\x1a\xc0\x83\xb8\x31\x6d\x34\x6a\xa0\x31\xdd\xec\xa3\xff\xee\x6c\xa3\xff\xba\xf8\xb7\x8f\x7f\xf7\xfb\x97\x35\x10\x50\x5b\x30\xd7\xb2\xfd\x38\x01\xce\x3e\x08\xc0\x33\xd0\x6a\x6e\xed\x83\x60\x6d\x4d\xb2\xf3\x27\x99\x93\x5c\x38\x01\x78\x0a\xda\x5b\x55\xf0\x3b\xb0\x05\x6e\x41\xe3\xb2\x06\x68\xa2\x92\x16\xa0\x2f\x79\xbb\xc1\x52\xd7\x86\x56\x15\x6a\xc5\x0e\x58\x03\x01\x78\x02\x9a\x8d\x7d\x99\x84\x1a\x40\xff\x93\x10\x73\x96\x51\x80\x41\x0d\xf4\x44\x7c\x74\x4d\x81\xc7\x75\xe5\xb7\x15\xb0\x06\x86\x70\xea\x24\x55\xfa\x63\xc0\x7e\xf4\xaa\x66\xb4\x28\xcf\x93\x10\x82\x0e\xf0\xea\x59\x7c\x96\x25\x41\x34\x20\x3b\x79\x9c\x78\x32\x32\x3c\xb6\x62\x7a\x06\x5a\xe0\x05\xa8\x34\x50\xb5\x1e\xd8\x03\x9e\x58\x05\x03\xa6\x2b\x98\xbb\xaa\x23\x0e\xc6\x2b\xbd\xd7\xa5\xe5\x91\x08\x7b\x3d\x4f\x82\xe2\x49\x86\x35\x7c\xcd\x20\x4b\x24\xa5\x46\x7a\x88\x02\xe8\x1d\xb5\xa9\x0b\x05\x86\x04\x1d\x80\x27\xcc\x57\x51\xe6\x10\x4c\x17\xc1\x65\x3d\x9d\xf4\x52\xca\x9e\x6a\x0d\x48\x2c\x8a\x27\x19\xe9\x8c\x0b\x9e\x84\xfe\x48\x61\xf0\xfc\x39\x5e\x89\x3f\xc6\x92\x5a\xb3\x40\xec\x98\x01\x48\x3e\xc9\xe1\x19\xb2\x14\x52\x96\xc7\x93\x4c\xe3\x37\xdb\x20\xe1\x5b\x4f\xa4\x35\x7b\x1a\xa3\xa8\x0a\x86\x23\xb8\x07\xf8\x59\x51\x8d\x16\x61\x6b\x11\x7e\x4e\x87\x81\x61\x32\x42\x4b\xc5\x3d\x50\x99\xa2\xdf\x14\x9a\xad\xd8\xf6\xc0\xc5\x4e\xa3\x06\x5a\x1b\x74\xcf\x4a\x58\x41\x48\x68\xd8\x12\x69\x16\x22\x4c\xbd\x30\xf6\x3e\x51\x4c\xd7\x41\x3a\x71\xc3\x43\x18\xca\xf5\x8e\xe3\xf1\xbb\x48\x4b\xcd\xa7\xca\x3d\xd0\x6c\x34\x1a\x3c\x15\x42\xb4\x18\x49\x25\x60\x1f\xf6\x26\x03\x99\x0a\xbc\x09\x48\xac\x66\x19\x34\x48\x91\x19\x79\x96\xf9\x41\x24\x65\x4c\x52\x78\x12\xc6\x37\xdd\x38\xca\x12\x95\x33\x6e\x0f\xcd\x6c\x3f\x06\x7e\x36\xdc\x03\x3b\xd2\x04\x21\x6c\x05\x8a\xc9\x7d\x64\x9a\xf3\x45\x06\x74\xbd\xa1\x63\xd9\x8d\xab\x01\xe3\x36\x9c\xbc\x49\x66\xdb\x22\xdb\x97\x60\xeb\xb6\xfd\x38\xa5\xcc\x9d\x79\x3a\x65\x34\x5b\xa7\x52\x32\xef\xc3\x69\xe6\x26\xd0\x25\xe0\x8e\x32\x5f\xe6\xd8\x06\x30\x7b\x87\xc9\x91\x30\x7e\x82\xb3\x1a\x60\x07\xe8\xdc\x50\x79\x84\xd2\x41\x10\xe9\x14\x57\x65\x73\x25\x89\x6f\xb0\xa5\x75\x9c\x24\x71\xe2\x54\xde\xc6\x74\xe9\x4f\x0e\x71\x11\x92\x55\xa4\xc4\xd0\x8f\x35\x50\x59\xad\xe8\x26\x11\xd9\xe0\x15\xf7\x60\xf2\x6d\x48\x69\x83\x5e\xdb\xcc\xd6\xca\x18\x86\x2c\x82\x61\x4c\x36\x72\x25\xfd\xe6\xb8\x92\xde\x04\x99\x37\xd4\xb6\x80\x3d\x37\x85\xa0\x92\x8f\xc2\xca\x9e\xa4\xc5\x10\x7d\x98\x60\xf0\x2c\x37\x5e\x4d\x1b\xb6\xd8\xaf\x28\x45\xa6\x5f\xe5\x0c\x66\x19\xb2\x02\xb3\x21\x14\x86\x37\x69\x37\x08\x91\xfd\x9e\x0d\x5d\xe2\x0a\x43\xf6\xdc\x41\xdc\xc7\x5b\xe6\xa0\xb2\xaf\xe1\x45\x38\xd7\x3a\x60\xd5\x59\x05\x6b\xc2\x66\xc8\x1a\x58\xad\x82\x20\x05\x51\x9c\x01\x37\x0c\xe3\x1b\xe8\xd7\x57\xf5\xd2\x5e\x1c\xa5\x71\x08\xeb\x37\x6e\x12\x39\xa3\x74\x50\xd5\x41\x68\x8f\x0a\xab\x01\xf6\x77\xa7\x71\xc2\x2c\x4e\x52\x87\x1a\x8b\x10\x63\x9e\xce\xc2\xcf\xed\x05\x18\x23\xdd\x51\x3c\x41\x6b\x99\xf3\x24\x18\x09\x2b\xaa\x1c\xc7\x3a\x75\x46\xb1\x62\x88\x20\xf4\xd3\x53\xb2\x60\xc7\x87\x54\xf9\x4e\xd8\xba\x8c\x3e\x5f\x2d\xab\x7f\x42\xb5\x59\x12\x8c\xf0\x76\x80\x23\x96\x2d\x2a\xc7\x76\xe2\xde\xb8\xd9\xb0\x3e\x72\xa7\x8e\x90\x2a\x53\x50\x2b\x26\x80\x6d\xdf\x29\x88\x0c\x4d\xb1\x23\x42\x1d\x21\x72\xc4\xc6\x7b\xa0\x6c\x75\x38\x8d\x9a\xbc\x01\x67\xc1\x7f\xa7\xa5\xea\x29\x02\x37\x47\xee\xf4\x35\xdd\xc3\xb6\xf5\x23\xd9\x3c\xa2\xc7\xcd\xf5\x74\x16\x79\x64\x75\x75\x90\x40\xd7\xa9\x16\xc9\x69\x2f\x81\xee\x27\x75\x15\xc7\x66\x0a\xa1\x36\x5d\x96\xa5\xec\x42\x75\x21\xd8\x04\x8a\xbe\x60\x6b\xc4\x6e\x0e\x81\xec\x2e\x22\xf1\xfb\x36\x42\x55\xcc\xd8\xaa\x30\x61\xa6\xdb\x57\x75\x2f\x74\xd3\x14\xad\xb7\xeb\x59\x3c\x18\x84\xd0\x59\xc5\xa6\xcc\x3a\x29\xbe\x9e\xa2\xf2\xeb\x48\xcb\x27\x88\xe3\xab\x54\xe9\x92\x73\x3e\x9e\x5c\x51\x08\x5a\xbc\x86\x9e\x9b\xc8\xb8\x7b\x6e\xa2\x62\x35\x36\x53\xb4\x34\x2c\x1c\x54\x56\xd9\xc6\xee\x35\xcf\x3d\x09\x4c\xd1\x50\x95\xbb\xc0\x38\xdf\x5b\x7a\x4b\x14\x0d\x71\x07\xd9\x6a\x03\x68\x28\xa4\xda\x60\x84\x2c\x31\x5f\xaa\xd4\xca\xe6\x8a\xc4\xe6\x1e\x16\xb1\x1a\x60\x28\xc4\xfd\xb9\x10\xba\x89\x5c\x2b\xdb\xe1\x76\x84\x03\x3e\xa5\x72\x60\x3b\xf4\x06\xc5\x3b\xe6\x29\xcc\x38\x76\x9d\x8f\xec\x0f\x9f\x54\x2f\xd2\xb4\xf5\x38\x12\xe5\xe5\xae\x66\x3e\xcf\xaf\x16\x77\x78\x01\x2b\xec\xdd\xae\x93\x99\xc0\x51\x7c\x3d\x8f\x4c\x3e\xa7\x19\xf8\x24\x29\x0a\x44\x13\x67\x99\xb5\x44\x29\xe6\xe7\x9b\x8d\x32\x07\x7a\x01\xdd\x1b\x97\x5a\x89\xa8\x67\x94\xc4\x11\xfe\xe4\xc6\x6c\x0d\x54\xb0\x39\x5b\x11\xad\x71\x78\xad\x9e\x89\xe3\x32\x7c\xe7\x5d\xed\x65\x9e\xeb\x68\xce\x38\xf5\x6e\xa3\x7e\x7c\xd6\x45\xe6\xd7\xc5\x2b\xa9\x67\x57\xa4\xd2\x3a\xf3\x5d\xdf\x77\x28\x6d\x22\x53\x70\x55\xc3\xf8\x86\xf4\xae\xa3\x66\x19\x87\x3a\x3e\xab\x99\x11\x3e\xe4\xf0\xda\x92\x05\xe5\x2b\xe8\xe0\x28\xc8\x1c\xce\xa1\xcf\x38\x11\x95\xd9\xc3\xbf\xf8\xc1\xf9\x9d\x55\x11\xf4\xc2\x49\xe1\x26\x9d\xbc\xb2\x40\xd0\xea\xc2\x02\xf5\xe9\xa1\x8a\x65\x4e\x97\x22\x3c\x05\x3d\x4a\x39\x45\x66\x74\xfc\x31\xab\x91\xc4\x99\xc0\x9f\x07\xeb\xf7\x77\x0b\xf5\x3b\x1b\x74\xe6\xae\x2f\x18\xd9\x25\x7b\x39\x1f\x3b\x4a\x2f\x53\xa6\x2d\xd1\xc9\x41\x14\x64\xbf\x0f\xe3\x9e\x45\xbb\x20\xf5\x7a\x85\xbd\x87\x44\xfd\x8a\x52\x31\x7e\x31\x51\xea\x75\xb4\xda\x17\x8f\x3f\xf4\x61\x6e\xcd\x45\x02\x23\x66\x22\x19\x11\x74\x5c\x0d\x54\xbc\x78\x3c\x53\x44\x04\x46\x99\x3a\xee\xaf\xd4\x83\x38\x55\x04\x88\x18\x9b\xba\x57\x70\xf8\xab\xa3\xca\xd8\x79\x0e\xae\x87\x88\x5b\x8d\xb0\x45\xdf\xa9\xcf\x19\xce\x38\x35\x76\xd3\x0c\x52\x14\x3f\x26\xee\x78\x0c\xe5\x01\xc1\xa8\x67\xe3\x4a\xac\x5d\x2c\x2b\x56\x4f\x3c\x5d\x45\xf6\x08\x43\x08\x17\xaa\xd4\x4c\x15\x5b\x79\x3a\xbf\x0c\x1f\x53\xd4\xb3\xab\x1e\xa4\x27\x41\x02\xfb\xf1\x54\xda\xce\xd5\x30\xe3\x1e\xf0\xe3\x9b\xa8\xb8\xcb\x58\x15\x38\xa3\xde\x9b\x64\x19\x5a\x6f\x77\x40\xcb\x64\xdf\x8b\x2c\x4a\x82\xc1\x30\xeb\x86\x81\xf7\x49\xe1\xd3\x95\xc2\x97\xc2\x0e\xd3\x85\xe0\x4e\xf7\x5f\x29\x6a\x26\xbd\x93\x30\x82\xd1\x64\x7e\x43\xbf\x0c\xfd\x77\xfa\xce\x89\xdc\x5f\xaf\x83\x68\x32\xa7\xb7\xdc\xc9\xd4\x43\xb4\x2c\xd5\x59\x1d\xd0\x9c\xd7\x5b\x48\x41\x9e\xc3\x69\x86\xd6\x3e\xdf\x23\xe3\x1d\x1f\x6a\xd3\x19\xf1\xa1\x3b\x4e\x9d\x8b\x90\x56\x9a\x3b\x17\xe5\xbc\xf8\x04\x67\x06\xb9\x55\xf5\x0c\x77\xe1\x71\xbd\x2c\xb8\x86\xd4\x8b\x07\x3c\x22\xba\xb1\xbc\xd2\xc1\x95\x7f\x82\xb3\xa3\xf8\x26\x42\xd5\xd0\x46\xd4\xf0\xd1\xb9\x30\x6e\x35\x1a\xc7\x09\x4c\xe7\x19\x41\x0f\x4d\xe4\x7b\x54\xe7\x42\x54\x4e\xc6\x73\x48\x7c\x74\xe3\xa6\x6f\xe2\xc8\xc7\x87\xc9\xdf\xc1\xd9\xbb\x28\x24\xfe\x30\x08\xd6\x38\x7d\x93\xcd\x4c\x65\xd2\xbc\x2b\x20\x48\xd0\x91\xf3\xfb\x76\x91\xfe\x90\x11\xcf\xeb\x10\x0b\x13\x01\xdf\x2a\x20\x6b\x50\x7e\x66\x3d\xb7\x4e\x2f\x77\x95\xc7\x26\x64\x85\x9a\x44\x9e\xea\x42\x5f\x57\x21\xf1\xb0\x70\xcc\xc0\xd5\x52\x15\x4e\xc6\xbe\x8b\x67\x8e\xf9\x35\x12\xd0\xfb\x57\x09\x23\xbf\x54\x7d\x30\xf2\xcb\x54\x86\x73\xe3\xc8\xa9\x50\xb3\xd2\x8e\x9b\x34\x40\xb8\x98\xc0\x5c\xf6\x96\xac\x26\x17\x10\xdf\xcd\x5c\x4d\x44\xb0\xab\x19\xf5\xaf\x20\xde\x5a\x18\xae\x8e\x7b\xae\x06\xf0\x6f\x18\xf9\x25\x6c\xbc\x14\x26\xd9\x69\x7c\x23\xe9\xbe\x24\xbe\x11\x37\xae\xe9\x26\x7b\x42\xdd\xde\xc9\xd5\x1a\x79\x4b\x1d\x23\xe0\x9a\xc4\xc3\xf7\x56\x29\x07\x9c\x8a\x1f\x5c\x57\x74\x87\x83\x84\x1c\xce\xb8\x41\x04\x13\x64\xe4\xc2\xc8\xef\x0e\x83\xd0\xc7\xb5\x1b\x1c\x97\xc8\xf9\x5d\x9e\x49\x4d\xa2\x24\xbe\xb1\x35\x2e\x1e\x43\x79\x5f\x9e\x38\x5a\xd6\x40\x5f\x34\xfb\xed\x76\xac\xb0\x79\xc0\x0f\x2a\xfd\xe0\x5a\xf6\xda\x21\xae\x9d\xb9\x0b\xa7\x90\x9e\x1b\x47\x8f\x84\xd4\xc2\xbd\x7e\xd6\x0a\x76\xdf\x39\x05\x2e\xc3\xcd\xd6\x14\x06\x56\x52\x03\x83\x6d\x21\x93\x02\xf5\xf8\x26\x82\xc9\x11\xeb\x13\x7a\xd6\xf0\x43\x00\x6f\x44\x67\xab\xfc\x82\x83\xb5\xa8\x00\x8e\x3d\x57\x3b\x72\xd1\x79\xfe\xa9\xfb\xda\x5e\x84\x86\xc1\x2e\x2f\x96\x2d\x0c\xbc\x8a\x66\x0b\x9a\x32\xb0\xe4\x04\xb4\x2c\xe0\x3a\x3e\x68\x5d\xaf\xb0\xa3\x08\xfc\x59\xdd\x5f\x72\x2f\x4d\xab\x32\x85\xd9\x41\x96\x25\x41\x6f\x92\x41\xa7\x92\xb9\x48\x43\xc0\x69\xa5\x26\xfb\xb3\xb1\x5d\xe1\x63\xce\xb4\xb2\xfc\x52\x4a\x9a\x9b\xc8\x80\x8c\x4c\x11\x87\xa3\x09\xa5\xa9\xb6\x7c\xe3\x7a\x09\x52\xf3\xc2\x66\x6a\xc9\xf9\xd2\x3a\x52\xf8\x85\x4d\xb5\x12\x9e\x57\x50\x35\xb9\xc2\x71\x4d\xb4\x00\xed\x7a\x61\x0b\xed\x0c\xae\x1c\xab\x75\xb4\x92\x9f\x9f\xa0\x35\x17\xa0\x55\x52\xb6\x46\x2a\xd1\x4a\xa0\x1c\x81\x22\x2e\x93\xa2\x56\xbd\xfa\xb8\x8f\x60\xdd\xcd\x32\xd7\x1b\x9e\xc7\x47\xf1\x88\x9b\x9d\x35\xb9\xb0\x88\x70\x88\x27\xc9\x65\x9a\xab\x94\x34\xb7\x98\x00\x95\x6c\xb4\x82\x51\x2c\xc3\x2c\x91\x02\xfa\x18\x48\xc5\x54\xae\x88\xba\xf5\xe2\x92\xb2\x26\x71\x27\x59\x4c\xef\xc1\x57\x6a\xa0\x12\xf7\xfb\xa5\x4b\xb9\xe3\x20\x73\xc3\xe0\xcf\x70\x81\x82\xe9\x18\x86\xa1\x37\x84\x78\x45\x58\xc1\x07\xab\xe6\x62\x99\xdb\x7b\x85\x34\x9c\xe2\x5e\xcb\xf3\x5d\xdf\xc7\xd6\x3c\x62\x01\x8c\x60\xe2\x18\x36\x6f\xc5\x59\x93\x6c\xbf\x5b\xf7\x30\xf1\xb4\x7d\xa7\xec\xb6\xcc\xab\x51\xdb\x5b\xb4\x54\x68\xd8\x4e\xb3\xd7\xa7\x8a\xa1\x26\x55\x8c\x20\xf9\xf2\x06\xb7\x12\xd1\x64\xbd\x80\xd4\x2b\x25\x55\xb9\x12\xb2\xb1\xf6\xb7\x95\x25\xb6\x29\xf3\x81\xd5\xaf\xda\xd6\xb5\x34\x75\x9b\xc9\x44\x8d\xee\xb2\x3c\x97\x3b\x0a\x06\x59\xd7\xb8\xc9\x59\xf0\x67\x88\x4f\x10\xe7\xcf\x90\xf8\x18\xaf\x50\x43\xe8\x95\x1b\x6a\xa0\x08\x04\x0f\x35\x7e\x6a\xac\xf9\xa9\xe1\x1c\x6e\x5e\x3b\xba\xd1\x46\x4d\x2d\xad\x62\xa8\x4f\xb1\x5e\x7e\xff\x95\x75\x8b\x78\x23\xb6\x2e\x7c\xa9\x7a\xb5\x40\x6f\x09\x58\xf1\xe2\x03\x5f\x8e\x08\xfe\x0c\xbd\xa1\x1b\x0d\xa0\x5f\x3c\x1a\xe8\x7a\x47\x64\x12\x3f\xc3\xbc\xb3\xd5\x32\xa2\x34\x9a\x66\x70\xda\xb0\xfc\xea\x75\x9d\xfd\x74\x88\x01\x6e\x9a\xef\x6b\x36\x2b\xa2\xa6\x55\x6e\x71\x96\x47\x75\xe6\xb7\x9c\xeb\xec\xa7\xe6\x9f\x6f\x70\x9a\x47\x45\xf5\xbb\xcc\x75\x35\x49\x24\x1f\xfb\x05\xd4\xf4\x29\xb9\x98\x5c\xcd\xa3\xbb\xec\x52\xf1\x4a\x6a\x2d\xbf\xef\xc1\xd0\xcd\x5b\x32\x16\x13\x10\xc1\x9b\xdc\xb2\xa9\x49\x3b\x67\xd3\x4c\xa7\x82\xeb\x5e\xb6\x85\x81\x12\xf6\x6d\x40\xdc\x19\xcd\x92\x4f\x6a\x36\x0a\x1c\xa2\x8d\x98\x8b\xaa\x04\xb3\x25\xa3\x79\xd3\x90\x1f\x1d\x55\xf7\x65\x84\x9a\x8d\xa9\x4d\x1e\x0f\x5a\xdd\x1c\x9f\x14\xaa\x57\xd8\xd1\x8c\x78\x06\x4e\xd7\xe9\xf4\x48\xc8\xea\xff\x86\x5d\xb8\x60\x9a\xba\x03\xbc\x93\xf4\x87\x78\x02\xfc\xc0\xc7\x2e\x56\x63\x17\x7b\x6d\x41\xf0\x47\x8c\xe4\x8f\xfc\xe2\x32\x08\x22\xf0\x47\xcb\x12\xdb\xa9\xfe\xb1\xfe\x21\x12\x7c\xba\x18\xf2\xb5\x0e\xa8\x9c\x9b\x90\x45\xf1\x0d\xe0\x9e\xaf\x59\x0c\xfe\x98\x25\x13\xf8\x47\xd0\x9b\x64\x00\x4b\x63\x10\x0d\x88\xaf\x1b\x36\x85\xea\x1f\x53\xd0\xae\x37\x80\xa5\x86\x20\x03\x37\x41\x18\x32\x84\x18\x1f\x36\x46\xfe\x58\x17\x4a\xc8\x1e\x62\xa4\xb8\x20\x5e\xfc\xb0\x94\xdf\x45\xca\x77\xca\xfb\xea\x21\x21\xee\x02\x49\x42\xef\xf8\xd6\x94\xb2\xf3\xaf\xed\x97\x1b\x1c\x14\x88\x58\x88\xb3\xd7\x00\x66\xf9\x20\xad\x62\xef\xe8\xd0\x1d\xa7\xf8\x3a\x0b\x2f\x50\x0f\xd2\x2e\x4b\xaf\x81\x20\x3d\x45\x5a\x1b\x35\x81\x48\x81\x50\xa6\x03\x2a\xbd\x38\x0e\xa1\x1b\x55\xc0\x0b\xf0\x28\xcf\xd9\x13\xb0\xa1\x62\x18\x14\xe3\xa9\xc8\x07\xa6\x8f\x28\x7a\xa3\x23\x84\x36\x56\xef\xf4\x41\x89\x96\xb8\x78\x3b\x5f\xd2\xfd\xc4\xa4\x42\x32\x54\x51\x76\xa8\xc2\xd8\xf5\x0f\x7c\x5f\xf1\xab\x74\x51\x4a\x0d\x07\x83\xc2\x97\x6e\xc4\x3d\xaa\x44\x76\xb5\x2b\x08\xa8\xd2\x6a\x57\x9d\xd5\xfa\xd3\x55\xb0\x06\x30\x42\xb0\x06\x2a\x4f\x2b\xec\x4b\x3f\xda\x11\x86\x16\x0d\xfd\x84\xd8\xc4\xa8\x32\xb9\x96\xd2\xba\x9c\x8b\x4a\xfd\x29\x46\x9a\xe6\xf8\xe5\xda\x2e\x85\xd6\x14\x9c\x29\x31\xe9\x85\x64\x97\xa8\xeb\x46\x68\xb4\x22\x26\x01\x97\xc5\x97\x41\x03\x26\x9e\x64\xc0\x45\x36\xdb\x28\x8e\xfe\xfe\x0c\xc4\x09\x38\x25\xa4\xfc\xfd\x19\x80\xd1\x75\x90\xc4\x91\xb4\x87\x04\x8c\x8e\x91\x36\xff\x13\xd3\x9c\x6f\x77\x3c\x31\x19\x50\x58\x81\xa3\x59\x0f\x9b\x6b\x9c\x84\xd5\x3a\x59\xf3\xdc\x04\x3e\x5c\x47\xe5\x3e\xdf\x60\xdf\x6c\xee\x0b\x2a\x1a\x11\x38\x0b\x3c\x01\x2d\xb0\x06\x56\xc7\xd3\xfd\xbb\x55\xb0\x26\x09\xa5\xc3\xd0\x91\xfb\x97\x25\x11\x32\x64\x55\x1b\x36\xac\x87\x9f\x03\x3f\xb8\xfe\x3c\x84\xc1\x60\x98\x99\xb1\x91\xbc\x1c\x9d\xd5\x85\x82\x8d\x08\xeb\xe1\x3a\xbe\xbd\x2a\x2b\x14\x69\x47\x12\x9f\x25\x60\x9d\xd0\x6e\x51\xc3\x94\xe1\x49\x61\xe4\x1f\xe2\xa3\x37\xe5\x7c\x01\xe1\x25\x67\x72\x35\x30\x8e\x05\x9f\x28\x76\x50\x07\x06\x30\xcb\x4b\xe6\xf9\xe3\x18\x75\x35\x8d\x9a\x82\x14\xd4\xa9\x7b\x73\x38\xcb\x60\x37\x8e\x13\x3f\x75\xe0\x35\x21\x4e\xb1\x6a\x48\x48\x8f\x9c\x3b\x2c\x05\x5f\x12\x67\xf0\xa9\xe2\x9d\xf1\x68\x1c\xa7\x55\xa9\x0f\xd4\x43\x27\xd4\x3c\x72\xfe\x23\xb4\x45\xc0\xc2\x9c\x1a\xe1\x75\x3d\xbe\x86\x49\x12\xf8\xf0\x1c\xa9\xb7\xdb\x5b\x00\xaf\xb1\xa6\x53\x15\x19\x71\xd7\xcb\xcf\xa3\x65\x5f\x3d\xcc\x00\xce\x6d\x52\xe7\xbe\x06\xa1\x78\x00\x2a\x68\x27\xe3\x42\xa4\xac\x0b\x4b\x21\xbc\x19\x42\x18\x1a\xd0\x29\x05\xee\x04\x85\x22\x89\xc6\x9b\xf8\x1a\x5a\x05\x03\x74\x18\x59\x8a\x88\x7c\x53\x22\x40\x69\x5d\x93\x39\x57\x24\x18\x0a\x1f\x60\xe4\xc5\x3e\xc4\x26\x70\x0d\x78\x43\xed\xc8\x91\xac\x72\xe8\x0d\x6c\xd3\x01\xb7\x47\x42\x53\xb4\x36\x37\xab\x5a\x47\x50\x9d\x8a\x6d\x6a\x7c\x6c\xa1\x7a\x2c\x53\x04\xcf\x41\xb3\xb5\xad\x17\x47\xa8\x51\x8e\x5c\x26\xc7\xe6\x0d\x8d\xae\x47\xca\xa4\xa1\x12\xda\xd8\x30\x54\x55\x96\xd2\x67\x98\x52\xc3\x09\xbe\x85\x2a\xa0\x39\x2c\x1b\xa8\x93\x38\x61\xa6\x8f\xb3\x03\x65\xeb\x43\x44\xa0\x7b\xda\x6d\x80\x5b\x82\xeb\x39\xe0\xb1\x50\x6c\xc0\x3b\x0c\xf8\x31\x68\x4c\xdb\x27\x2a\xb8\x1a\x6d\xc6\x30\x88\x74\x39\x53\x44\x08\x4b\x50\x1e\x18\x40\x65\x1e\x95\xe0\xc7\x1d\xd0\x96\xeb\x1e\xc7\x69\x7d\x0a\xd6\x75\x9d\x80\x32\x66\xa6\x0c\x1c\xaa\xca\xcd\x5c\xd0\xd1\xe3\x86\x89\x2e\x6b\xad\x8d\x8a\xde\xb9\x82\x8b\x46\x43\xe7\x3f\x46\x8b\xcc\xec\xa6\x52\x94\x9b\x46\x92\x8b\x87\xbd\x7c\xbb\x44\xf9\x56\x41\xf9\xcd\x12\xe5\xdb\x36\xf9\xd6\x8b\xda\x2b\x6a\x54\xf4\x61\x87\x33\xfe\x72\x81\xcc\x36\xd2\x3b\x6b\xa0\x52\x63\x5f\xf8\x16\xce\xe5\x87\x44\x29\x87\xbb\x1f\xbb\x11\xe2\x65\xf9\x7e\xa1\x3a\xbb\xd3\x25\x27\x8f\x47\xf1\x05\x25\x67\xbe\x00\xf0\x49\xa1\xb5\x54\xff\xf3\xe2\x1b\x4b\x75\x3f\x2f\xbe\xb5\x54\xef\xf3\xe2\x6d\x5b\xdf\x14\x8e\x97\x8a\x86\x70\x8d\xa2\x34\x64\x54\xf6\x4d\xe0\x12\x81\xe0\x05\xd8\x00\x7b\x26\x2e\xdb\x8a\xe3\x8e\x5b\x08\x7a\x5a\x9e\x34\x04\x3e\x46\xcb\xe8\xdb\x5b\x0b\x4d\x8f\x6f\xd4\x6b\x0e\x25\x04\x37\x0f\x48\xa2\x0a\xee\xe2\xf2\x89\x4b\xac\xad\x19\xa0\xd5\xc4\xb2\x5d\xca\xbb\x90\xf0\x45\x1c\xd1\xfb\xd2\x88\x7e\xb3\x44\xd3\x59\x78\x96\xfb\x37\xbc\x64\x73\x9e\x19\x3b\xd6\x61\x52\xf7\x18\xb4\xab\x5c\xf4\x78\xda\x5f\xda\x60\x8f\x7e\x55\xc1\x3a\x68\x1b\xc6\xdd\xc3\x48\x98\x4d\x7a\xcd\xf4\x55\x46\x15\xb0\x87\xf9\x5e\x9a\xf1\xc2\xc4\x77\x21\xc4\x8b\x93\x6c\x3b\xda\x50\x4b\x2e\x6e\x50\x51\xa6\xe8\x3b\x5e\xb2\x53\xde\x20\x39\x22\x17\xf5\xeb\xfd\x24\x1e\xa1\x15\x73\x37\xf6\x21\x75\xe5\x26\x39\x64\xc7\xd5\x72\xfd\x5f\x5a\x84\x59\x96\x6f\xe9\x30\xe8\x67\x35\x30\x82\xd8\x80\xcd\x92\x10\x87\x41\xff\xb2\x8b\x20\xae\x4f\xe1\x35\x73\xed\x7c\x44\x7c\xcf\x8d\x86\xdb\x0b\xb0\xc6\x01\x8d\x00\x7b\x08\xd1\xcd\x30\xf0\x86\x85\x78\x08\x2e\x0e\xba\x0e\x9a\x56\xb0\x3d\xc5\x13\x9e\xfd\xf1\x21\x9a\xbb\xbc\xbe\x39\x7b\x75\x6c\xbb\x21\xc8\x1b\x2a\xce\x6e\xe0\x05\x68\xf0\x91\x83\x93\x36\xc0\x0b\xd0\xe4\x49\x7a\xad\xfa\xf5\xc0\x25\x16\x89\xb6\x49\xac\x10\xdd\xd1\xbb\x37\x58\x13\x91\x23\x91\x39\x5d\xe9\xc3\xcc\x0d\x42\xf0\x0c\x34\x2c\xdd\xb8\xb5\x61\xe9\xbe\xad\xcd\x87\x58\xb6\x0a\xa4\x60\x98\x23\x18\x66\xee\x1f\xc0\xf3\x2f\x42\x8f\x10\x3e\x12\x8d\x20\x52\x2d\xfe\xf9\x1d\x9c\xb1\x19\x5a\xdc\x6a\xc6\xea\x05\x5e\xd7\xd1\x2f\x02\xb2\x23\x83\xa0\xc1\x47\x40\xd0\x2f\x02\xd2\xdc\x52\xd0\xc4\x78\xf3\x16\xd7\x78\x4b\x90\xde\xe2\x82\xfb\xa6\x35\x43\xcb\xb2\x66\x40\x58\x1e\x77\x94\x72\xca\x02\x30\x5f\xbd\x0a\xf1\xc7\x4c\x88\x3a\x22\x7d\x39\x12\xde\x1b\x4e\xbb\x85\x74\x35\x02\x7d\xf6\x0c\xb4\xaa\x55\x3e\x75\x6a\x9b\x87\x62\x32\xdf\x0b\x87\x61\x81\x8b\xbf\x79\xbd\x2d\x5e\xc9\x28\x9c\x02\xe4\x0d\x2e\x45\x43\x6b\x1b\xd2\x25\x38\xab\x6a\xc9\x4e\x3e\x22\xd5\x89\xd9\x5c\xb3\xc0\x0d\x21\x90\xad\x0c\x63\xb0\x18\xc4\x3e\x92\x70\xc5\x11\x5d\x06\xf0\xf3\x5c\x42\xd0\x28\xbe\x86\x95\x1a\xdf\xc6\x51\x37\x4e\x70\x19\x16\xb5\x4e\x8b\xef\x6a\xc1\x29\x3b\x60\x4f\xc6\x4a\xff\x94\x69\x7a\xb9\x46\x71\x42\xfa\xfd\x45\x5b\x37\xb7\x28\x6e\xc4\x64\x6c\x28\x32\xaf\x5b\x80\x70\x5a\x21\x77\x53\x51\xc9\xbb\xdc\x21\x19\x4b\x3a\xd1\x6e\x0f\x2a\xe5\x9c\xa1\xac\x43\x25\xe8\xdb\x5b\xa0\x6c\x31\x18\xb3\x85\x75\xe4\x52\x43\xea\xa1\x79\xb0\xe8\x40\x47\x2d\x64\x17\xe4\xe3\xe8\x47\x54\xc3\xf2\x04\x66\xf1\xc4\x1b\x32\x47\xf8\x2f\x47\xe5\x39\xaa\x86\x04\x52\xb8\x1f\xa9\x74\x3c\x7c\x61\x4a\xd9\x7e\x70\x79\x42\xcd\x67\x1a\x3e\x4c\xb3\x24\x9e\xd9\xcf\x84\x84\x78\x90\xa6\xa8\x7d\x96\xac\x2b\x7c\xf9\x87\xc5\xe4\xe1\xc9\x43\x1e\x6c\x51\x3e\x76\xbf\x53\xb0\x6a\x27\x2c\x0c\x82\xdf\x71\x66\x7e\xc9\x8f\x1f\xcb\x5e\x80\xc4\x45\xe7\x6d\xec\x43\xed\xf8\x57\x07\xa1\x57\x3c\xad\x9e\x3c\xf6\x6b\xfc\x2c\x7a\x47\x4e\x24\xf5\xc9\x80\x91\x2f\x9d\x71\x8a\xde\x1c\x1a\x45\xdc\xcd\x03\xdf\x0d\xa0\x11\x30\x44\x4c\xc5\x64\xe8\x37\x0a\xca\x52\xc4\xfd\x3b\x45\x92\xb0\x8f\x14\x0b\x87\x88\x0b\x63\x87\xa9\x0e\xc2\xa0\xf9\x4a\x01\xdd\x55\x94\xfc\x9a\x9d\xc6\x37\x4e\xa0\x1f\x2d\xdb\xe2\x13\xf0\x1b\xd4\x46\x11\xcc\x3d\xf1\x85\xb8\xbf\x1a\x1f\xe5\x98\xc0\xcd\x7d\x95\xcb\xf4\x7e\x31\xfa\x98\x51\x17\x8d\xd9\x1c\xde\x12\xff\x10\x89\xa6\x20\x25\x57\x28\x7d\xf1\xc4\x0f\xdf\x65\x50\x79\x0b\xa5\x48\xd8\x42\x2a\x0f\x2f\x62\x09\x2a\x99\x07\x73\x69\xaa\xd7\x88\x70\x7c\x96\xf5\x75\x79\xa6\x21\x39\x38\xe0\xca\x23\xbc\x17\x68\xea\x21\x9c\x2f\x96\x14\xf7\xc7\x73\xdc\x6c\x77\x26\x67\xb9\x14\x39\x52\xa3\x98\x45\x7f\xc9\x31\x88\xc6\x24\xb9\x5e\x92\xe7\x49\x21\x82\x78\xbc\x64\x04\xb5\xae\x44\x52\x06\xeb\xd4\x83\x49\x88\xb6\x9c\x53\x86\xf1\x76\x0c\x81\x77\x16\x08\xd3\xc9\x7d\x6c\x6a\x20\xef\xd3\xa2\xb3\x7c\x01\x5f\x3a\xc6\x41\xf5\x92\xf8\xa6\x06\x98\xbb\xcf\x22\x98\xf3\xa0\xa0\x3c\xc8\xb4\xd6\x73\x79\xcf\x62\xce\x15\xf4\xac\x2a\x13\x25\xfb\xaf\x54\x3f\xca\xd2\x22\xff\xd2\x19\xa2\xf7\x34\x6f\x60\x8d\x3b\x42\x09\x22\x47\x1c\x13\xb0\x87\x8a\xc2\x0f\xd1\xdb\xc4\x02\x45\x84\x42\x77\x4b\xe1\x4e\x5d\x79\xc3\xec\x81\x51\x30\xec\x11\x69\xbb\xe0\x8f\x17\xa4\xe3\x1a\x48\x27\x63\x7c\xa0\x4a\xb8\x77\x2c\x5e\x98\xc5\xf7\x2f\x51\xa9\x67\xb6\x4e\x23\xfc\x34\x75\x5a\xc1\x4d\x4c\xad\xbf\x0c\x9e\x4d\x7c\xad\x88\x6b\x58\x13\xbb\xef\xb9\xd8\x7f\xda\x50\xb0\x84\x80\x55\xb5\x00\x41\xdb\x01\xe8\x5f\x45\xa9\xd1\x5a\x8a\x2a\x29\xd6\x07\xb9\x5b\x4e\x0e\xab\x70\x50\xc2\xd2\x50\x07\xcd\xa3\x82\x3e\x29\x25\x06\x4a\x6b\x0b\x7c\xf6\x8a\x04\xe6\xbd\x3b\x50\x3c\x68\xc6\xee\x00\x76\xe3\x49\x4e\x8d\x20\xa8\x48\xbc\x72\x00\xf0\x04\x38\x72\x5d\x73\x2a\x3b\x8f\x49\x10\x7a\x5b\x78\xa0\xbc\x8e\xf5\xd2\x12\x7f\x1e\xf3\x00\xf6\xf3\xd1\x0a\xa3\x7a\xbd\xcc\xa0\xd2\x6d\x37\xd1\xbf\x35\x37\xef\x48\x70\x63\xa2\x9c\x85\xa3\x36\x35\x90\x5b\x5d\x8e\x08\x89\x8c\x3d\xa2\xd9\xf4\x98\xd2\xcc\x0e\x14\xd1\xb3\xa8\x6e\x9d\xc2\xc7\x7c\x0c\xd1\x98\x6d\xbb\xc5\x47\xdd\xb6\x3a\x2d\x9b\xa2\x5b\x9b\x3c\x12\x1f\xe5\xd4\x09\xd1\xb2\x8b\xa8\x36\x0c\x0e\x3d\xd8\x76\x5e\x15\x28\x0a\x9f\x94\xc2\xec\x3c\x18\xc1\x78\x92\xcd\x0b\x91\x14\x44\x11\x4c\x7e\x44\xf5\x48\xee\x81\x73\xac\xa5\xbc\x94\xd5\x35\x8a\x34\x11\xf1\x88\xe9\x08\xb1\xd1\x74\x16\x69\xd4\xb4\x17\x95\x68\xcd\x34\x1e\x77\x8e\xc5\xc2\x27\xe1\x78\x41\x80\xc5\x9b\x78\x62\x83\x10\x18\xb2\xee\xb0\x7f\x01\xc1\xc4\xef\x8b\x7e\xac\x01\x2f\xad\x01\x6f\x58\x03\x5e\xec\xc3\x1a\x08\xd1\x64\xef\x0d\xaf\xb0\xd7\x59\x2d\x37\xf9\x24\x91\x35\x8a\xa4\x4e\x2e\x9e\x17\x8a\xfa\xdd\x38\x71\xcc\x95\x4b\x35\xfc\x9d\x55\x36\x95\x60\x8a\x77\x46\x53\x19\x9b\xa0\x5c\x95\x9b\xcd\xe9\xe3\xc8\x37\x40\x60\x09\xa4\x76\x38\xce\x23\x41\xf2\xc9\x3f\xea\xa9\xba\x08\x90\xc2\x0c\xdb\xef\x0e\x2e\xad\x02\x69\x76\xc0\x4c\x85\x90\x8c\x7c\xb1\x19\x35\x95\x6a\xb3\x39\x36\x7f\x04\x7e\xb9\xc1\x95\xdf\x22\xb5\x5b\x9f\x85\x71\xf6\x6d\xc3\x12\x17\x0a\xa3\x12\x0a\xd9\x21\x2e\x13\xa0\xf2\x21\xf9\xa0\x79\xf6\xe6\x08\xc9\x6d\xc0\x2e\x7b\xe0\xc4\x8f\x6f\xa2\x97\x86\x25\xbd\x67\x00\x10\x75\x81\xe0\xca\x6e\xc7\xe8\xe0\x28\xa2\x47\xc7\xef\x4f\x8f\xbb\x07\xe7\xc7\x47\xf8\x35\x46\xec\x36\xde\x83\x80\x2c\xdc\x7d\x90\xc6\x71\x54\x07\xef\x43\x88\xa6\xa8\x49\x0a\x81\x82\x4f\x7c\x82\x05\x21\x8c\xd2\x0c\xba\x3e\xf3\x32\x2f\xf0\x30\xc7\xac\x29\x42\x66\x6c\x63\x49\xbe\x29\x0f\xc3\x18\x18\x27\x42\xc8\x2e\xba\x16\x1c\xc6\xf4\x82\xa0\x80\x2f\x67\x63\x98\x64\x70\x9a\xbd\x0e\xa2\x4f\x26\x52\x94\x37\x7f\xf2\x39\xcc\xb8\x77\xa0\xdd\x8a\xa7\xfe\xce\xa4\xe1\xc0\x05\x43\x56\x1f\x40\xe5\xd9\x33\x6b\xa0\x07\xfb\x71\x02\xc5\xf0\xc9\x30\x42\xdd\xee\xe1\x77\x87\x0d\xf7\xe6\xf3\xed\x06\x4b\x23\x1c\xf9\x05\xa2\x25\x6d\x3d\x01\xf7\x0f\x6e\x18\xf8\xe4\x75\x1d\xea\xf6\x2d\x77\x99\xc1\xb3\xfd\x61\x18\x75\xcd\x2b\xe6\x0e\xe7\x0f\xc5\x2f\xbd\x4d\x8e\xe2\xd3\xbe\x1c\xdf\x12\x38\x08\xd2\x0c\x26\xa8\x3f\xde\xa0\x39\x47\x11\xaa\x04\x0e\xe0\xb4\xc6\x7a\x9f\xbf\x1a\x55\x6e\x7f\x0a\x6b\x0e\x82\xf4\x95\xaf\xbd\x66\x62\xaa\xdb\x5a\x9f\x65\xf2\x28\x88\x29\xcb\x9e\xec\x65\xf5\x17\x2b\x5e\x1f\xce\xe3\x04\x47\x54\xae\xed\x7a\xae\xb9\x0e\x01\xaf\xd1\x86\x28\xd1\xd2\xe2\xfd\xba\xa1\x9b\x9e\x09\xf7\x5f\x8a\xc3\x09\x6a\x17\xa8\xc4\xd2\x05\x51\xcb\xef\x51\x03\x4f\x38\xc7\x77\xd5\x0a\xa2\x72\x16\x57\x62\xc6\x2e\x17\xb4\x47\x5e\x27\x05\x0f\xc2\x82\x20\x9f\x16\xca\x0f\xc2\xd0\x8e\x96\xc6\x2f\x52\xe2\xcd\x69\x12\x64\x9e\x23\x98\xcd\x69\xcc\xc5\x68\x90\xe9\x89\xad\x0a\xc3\xfd\x18\xf3\x96\x81\x31\xc8\xa5\x78\xbf\x8d\xee\xdd\x6a\xb1\x77\x68\xc0\x26\x1a\x69\xc7\x08\x53\x55\x23\x45\x19\xb6\xc5\x84\x25\xa9\xd1\x62\x96\x56\xbc\xfa\x7d\xa7\xa2\xf6\x19\xcd\x3d\xbc\xe3\x0b\xd3\x49\xc8\xad\x63\x78\xed\x86\x13\x37\x83\x88\x9f\x92\x69\x9e\x1f\xbe\xe0\x6d\x4b\x5c\x08\x35\x1b\x73\xd9\xba\xba\x34\x9a\x7d\xf9\xc3\x48\xd6\x1d\xa1\x72\xf8\x9b\xf3\xf0\x6b\x5c\x10\x70\xe7\xdb\x02\xfa\x8a\x39\xdf\x31\xd0\x81\x35\x1d\x4a\xba\x9b\x9d\x50\x49\xd1\xb0\xf2\x4a\x83\xf4\x7c\x18\x24\xfe\x6b\x78\x0d\xc3\x33\xbc\x7a\xcb\xf0\x0d\x1a\x45\x26\x18\x4a\xc3\x8a\x9b\x52\x42\x2a\xd2\x8f\x0c\xe6\xd4\xff\x28\xe7\x68\x89\xfa\x84\xcd\xa7\x3c\x14\x19\x17\x00\x39\xb7\x52\x03\x39\x6e\x15\x4a\x0f\x28\x8b\x93\xe9\x04\x26\x74\x33\xcd\x2d\x66\xa9\x59\x8b\x58\x45\xd6\xa2\x57\x24\xa1\x17\x2e\xb8\xe1\xea\xa4\x57\x3a\xd0\xdf\x27\x38\xdb\x03\xf9\x3e\x78\xbe\x4a\xe2\x12\x21\x64\x13\x16\xe6\x63\x6b\x14\x93\x80\x71\xa9\xe2\xe2\xf3\xec\x19\x68\x00\xec\x04\xe7\x86\x2c\xa1\x49\x12\x98\xff\xce\xb3\x67\xa0\x45\x52\x98\xd3\xcf\xb3\x67\xcc\xfd\x4a\xf0\xab\xfb\x04\x67\x5d\xe5\x70\x10\x7b\x3a\xed\xe8\x8f\x2b\x08\x04\x98\x36\xcf\xc5\x21\x67\x1e\x70\x87\x67\xa5\x3c\xad\x64\x8f\xb3\xf9\x68\x8f\x8e\x5f\xcb\x08\x4c\x71\xcc\x77\xbf\x40\x7b\x98\xb3\xe4\xbf\x32\x3c\x06\xf1\x00\xed\x7a\x79\xae\xba\xe6\x08\x03\x58\xdb\xeb\xb2\x35\xbc\xd9\xde\x5b\xb0\xde\xee\xe9\x43\xd4\xdb\xda\x5e\xb4\xde\xe3\xb3\xee\x43\x54\xdc\xde\xd6\xbb\x9a\x8f\xa3\xfb\x75\x74\x13\xbb\x57\xe7\xd8\xc0\x1a\x68\x56\x51\xce\x91\x41\x02\xb4\x69\x68\x1e\xee\xf6\x51\xc5\xe6\xcb\x29\x91\x48\x8f\xef\x72\x27\x50\xd7\xab\x82\x17\x85\xd8\x7b\x15\xb0\x37\xaf\xfa\x4d\x53\x23\xee\x0a\x24\x58\x3e\xc2\xd0\x5e\x5d\xbd\x17\xab\xdf\xa9\xc4\x94\xba\x88\x55\xbe\x27\x8b\xd1\x1b\xc5\xca\xa0\x41\xbe\xb4\x58\x75\x1f\x44\xac\xba\x5f\x4c\xac\xfa\x65\xc4\xca\xd4\x88\xaf\x26\x56\x2a\x31\x0f\x2c\x56\xc5\xe8\x8d\x62\x65\x98\x68\xbf\xb4\x58\x1d\x3c\x88\x58\x1d\x94\x13\xab\x79\xe2\x61\x22\xe6\xab\x89\x87\x4a\xcc\x03\x8b\x47\x31\x7a\x93\x78\x6c\x34\x7e\x79\xf1\x38\x7c\x10\xf1\x38\x7c\x18\xf1\x30\x11\xf3\xd5\xc4\x43\x25\xe6\x81\xc5\xa3\x18\xbd\x51\x3c\x36\x75\xf1\x78\x24\x2e\x14\x1e\x3f\x06\x8f\xf2\x45\xc1\xfd\x04\xa6\xf5\x97\xc5\xe9\xdb\xfa\x62\xe2\xdb\xb6\x89\x6f\x31\x95\xf7\xee\xa4\xf6\xe2\x5c\x68\x17\x72\xe1\x4b\x0c\xe1\x97\xb6\x9b\xc6\x96\x51\x71\x8f\x31\x61\xaa\xea\x1e\x4d\x52\xd1\x19\xf9\x69\x90\xfa\x2f\xcb\xcf\x93\x5f\x8e\x9f\xa6\xaa\xee\xd1\x24\x15\x9d\x91\x9f\xed\x65\x17\xc7\x92\xd3\xd8\xba\x63\xdb\x42\x07\x0f\x3f\x0c\x37\x97\x18\x86\x1b\x0f\xd2\x4c\x83\xdb\xe6\x17\x6a\xe3\xd6\xe2\x6d\x6c\x36\x5b\xbf\xbc\xc1\xf0\xfe\x8b\x6a\xdc\x77\xc5\xe8\xcd\x5c\x30\x48\xf4\x97\xe6\xc2\xbf\xfc\xb2\x5c\x28\x46\x6f\xe6\x82\x41\xe0\xbf\x34\x17\x4e\xbf\x2c\x17\x8a\xd1\x9b\xb9\x50\x38\x5b\x7c\x19\x2e\x9c\x7d\x59\x2e\x14\xa3\x37\x73\xe1\xcb\x59\x62\xcd\xcd\xaf\x64\x8a\x35\x97\x98\x04\x9a\xcd\x2f\xb8\x3d\xb8\xfd\xb5\x18\xb1\xbd\x0c\x23\xbe\xe0\xce\xc3\xce\xd7\x62\xc4\xce\x32\x8c\xf8\x82\x3b\x7b\xbb\x5f\x8b\x11\xbb\x4b\x30\xa2\xf5\xe5\x36\x1b\x5a\x8d\xaf\xc4\x88\x56\x63\x19\x46\x34\xbf\x1c\x23\xac\x73\xc6\x97\x66\x44\x73\x19\x46\x7c\x39\x6b\xb2\xf5\xb5\x16\xf0\xad\x25\x56\xf0\xcd\xd6\x97\x33\x28\x5b\x1b\x5f\x8b\x11\x1b\x0b\x31\x82\x06\x27\x36\xae\xa1\xd8\xa1\x33\xdd\x6e\x52\xb7\x9f\xe8\x21\x35\xfd\xa2\xe7\xd1\x26\xae\x51\x74\xf4\x50\x1a\x3c\xef\x80\xad\x4d\x54\x4c\x48\x7b\xd6\x01\xbb\x9a\x3f\xb8\xb1\xf1\x86\xf0\x35\x22\xf2\x75\xb0\xb5\x61\xb8\x69\xaf\xc7\x3b\xe1\x8b\x7d\xa1\x30\x0e\xf8\x63\x7c\xbc\xb1\x14\x19\xa6\xd7\xdf\xcb\x55\xfc\xbc\x03\x36\x9b\x3a\x4b\x36\x37\x1f\x86\x25\x9b\x4d\xb0\x06\x5a\xdb\xf7\xe2\xcb\xe6\xd6\xd2\xb4\x34\xef\x59\x75\xab\xb9\xbb\x74\xdd\xf7\xad\xba\xb5\xbc\x54\xb6\x76\xee\x59\xb5\xf1\x61\xca\x72\x55\xef\xce\xad\xda\xb2\xc1\xfe\x48\x3f\x2f\xa4\x72\x29\x0f\x77\x45\x37\xfc\x52\xa3\xbf\x40\xf5\xcd\x19\x05\x6b\x68\x64\xdf\xa7\x3f\x9a\xbb\xe5\x34\x43\x91\x76\xfe\xe3\xdc\x73\x0f\x1b\x05\xcf\x3b\x60\x63\xc7\xa0\x21\x8c\xa1\x4f\x17\xa1\x49\xd6\x14\x1b\xf3\x65\xb6\xe8\x64\x46\x93\x1b\x7d\x9e\x10\x04\x67\x21\xb9\x41\x5d\xb0\x65\xd5\x87\x82\xb3\x29\xf5\x2d\x5d\xa4\x11\xc2\x9c\x48\xef\x75\xb3\x70\xe9\x88\x87\x05\xee\xf3\x03\xec\xb9\x27\x79\x94\x0d\x24\xff\xd7\x41\x48\x01\x06\x82\x9f\x1b\x7e\xcf\x04\x72\xe7\x4a\xfa\x99\x5e\x0c\x2e\x8b\xaa\xea\xf2\x52\x42\x65\x35\x40\x4b\xcb\xd7\x27\x72\x8c\xa0\xc3\x20\x72\x37\x4d\x89\xb2\x4e\x07\xe8\xb7\xde\x73\x0a\xa5\xc2\x36\x77\x69\xf6\x2e\x68\x81\x6b\xdd\x27\x38\x53\x08\xf8\xe5\xfc\x77\xd5\x38\x21\xcc\xbc\xa1\x5a\x42\xc4\x43\x86\x8b\x90\x69\xf4\x43\xe5\x01\xdf\x3a\x24\x36\x9c\x11\x03\x15\xdc\x62\x04\x8f\xd8\x45\x39\xa1\x4a\xfd\x2a\x3c\xc7\x89\x0b\x69\x18\xe7\xb3\x01\x6b\x76\x84\xe5\xf6\x16\x38\x4e\x3e\x26\x6f\x25\xe7\xc2\xdb\x5b\x69\x48\xa2\x01\x5b\xe4\xa0\x5a\x86\xff\xf6\x29\x2a\xf7\xee\x94\x1d\x47\xd9\x43\xb4\x06\xb7\x51\xd1\xb9\x74\x71\xaf\x52\xdd\x9d\x14\x3b\x9e\xd9\x06\x1c\xbe\xf8\x67\xbe\x50\x66\x74\x9a\xce\x27\x4f\x1c\xb0\x44\x64\x4e\xf9\xab\x73\x8c\x56\xfc\x41\xf0\xec\xeb\x50\x38\x43\x78\x6b\x17\x90\xeb\x75\x86\xf8\x03\x04\x72\x8d\xdc\x00\xb5\x06\xfc\x87\x16\x0f\xfe\xbc\x49\xd7\x41\x3a\x71\xc3\x43\x18\x86\x55\xa5\xcb\xf7\xed\x1c\x21\x7d\xc6\x9e\x96\xcc\x66\x21\xac\xf7\xe2\xc4\x87\x49\x37\x0e\x71\x20\x94\xca\xcd\x30\xc8\xd8\x8b\x1e\x73\x99\x44\xde\x3a\x2b\x42\x97\x3f\x3d\xdc\x6c\xa8\x77\xad\xc7\xf1\xf8\x5d\x24\x37\x00\xa7\xf3\x90\x6c\x66\xde\x84\xf1\x60\x0e\x6b\x7c\xd8\x9b\x0c\xcc\x5c\x11\xaf\x06\xe0\x77\x50\xeb\xf4\x2a\x1e\x1a\x69\xc6\x0c\x54\x9f\x9d\xc3\x6e\x32\x40\x2a\xf6\x20\x49\xdc\x99\x28\xab\x61\xe0\xc1\xba\xe7\x86\xa1\xc3\x1e\xb2\x91\x5e\x88\x32\xd4\x41\x03\x7e\x9a\xb2\x6b\xb8\x1a\xbb\x5b\x75\x92\xcc\x0d\x62\xf3\xb0\x2c\xc1\x35\x7e\x71\xa6\xe0\x5a\x96\x67\x4b\x02\xd3\xe0\xcf\xb2\x6b\xf9\xb4\x06\x66\x22\x6f\x82\xf4\xad\xfb\xd6\x99\x56\x51\x4b\xc9\xef\x99\x41\x85\xaa\x5a\x7b\xc6\xc2\x51\x0c\x60\xf6\x0e\xdf\xeb\x62\x91\x1f\x7a\xae\xf7\xa9\x52\x35\xdc\xeb\x37\xc1\x21\x5a\x44\xd4\xf8\x66\x78\x10\xc1\x1a\x80\x61\x0d\x04\xe4\x3a\xf8\xb0\x06\x5c\xdf\x3f\x8f\xff\x90\xf7\xd5\x34\x0f\x43\xe3\xc5\x21\xbe\xca\x3f\xcb\x93\xf0\x03\x09\x73\x9b\x30\x05\xcf\xc4\x00\xdc\xd3\x3c\x78\x11\x69\xa0\x94\x3b\xcb\x73\x3f\x02\xa1\xe6\xbc\xc0\x47\xf0\x0c\x4c\x25\xcf\xf6\x21\xe8\x80\x0b\x2a\x79\xfd\x83\x2c\x4b\x6a\xa0\x02\x2a\x35\xd0\x14\x22\xef\x06\xc0\x10\x4d\x27\xcf\xa6\x17\xef\x83\xf5\x75\x55\x2f\xd3\x1c\xa1\xec\x00\x66\x4e\x50\x65\xf7\xa7\x15\x62\xa4\xbe\x90\xe0\xe7\x3d\x45\xa0\xc5\x2b\xc2\x0c\xef\x80\xa9\x38\xc5\xc1\x6c\x32\x3e\xcb\xe2\x71\xea\x70\x90\xaa\xc2\x2d\xfc\xe8\x1f\x4e\x22\x9d\x99\x87\x19\x61\xdc\x93\xcc\x6d\xed\x31\x17\x8d\x29\x1f\xd7\xd6\xd4\x42\xc0\x1a\x0a\xea\x19\x98\xf1\x98\x2d\x6a\x00\x15\xad\x24\xb9\xe2\xf4\x5c\x08\x15\x20\xe3\x32\x85\x56\x9a\x91\x17\x8a\x50\xc3\xf0\x8e\x5a\xc1\x7a\xc0\x18\x38\x88\xfd\x11\x1c\x6a\xb0\x6e\x9d\x44\x1a\x12\xc6\xba\x3c\x05\xd6\x00\x54\xe2\x9f\xbe\xc8\xb3\x2c\xfb\x0a\x9a\x63\x0f\xf5\x64\x7a\x53\xa2\x68\xbd\x93\xdb\xe0\xec\x09\xf3\xbc\xf7\xac\xc2\xac\x3d\x19\xa9\xe3\xbe\xb3\x5b\xa6\x4c\x96\xd6\xd7\xc1\xf3\xb2\xb2\xf4\x7c\x11\x59\x52\x4a\x9a\x05\xa7\x58\x5e\x28\x83\xe3\xf1\xfc\xf5\xa3\xa1\x85\x1a\x3a\x29\xde\x98\x19\x02\x89\x8c\x09\x62\xa9\xce\x33\xf0\x15\x48\x03\x9c\x17\xd0\x02\x85\x88\xb8\x1f\xc1\xd0\xf2\xda\x49\x1c\x65\x41\xa4\x5e\xd6\x20\x55\xd8\xc2\x0d\xc2\xb0\xbc\xbe\xc3\xde\x37\x1d\xa0\xae\x13\x67\xe0\x79\x47\x6e\x19\x4d\xee\x80\x59\xee\xac\x93\x4f\x37\x64\x60\x1b\xe0\xd7\x3a\xd2\xf4\xa6\x84\xc6\x98\xa2\x6a\xa6\x5a\x31\x34\x5b\x4d\xd5\x6a\xa4\x6b\x97\x63\xe5\xf5\x60\x31\x78\x97\x4c\x23\x5f\x5a\x17\x3d\x3b\x5a\xe6\x95\x45\x12\xc6\x16\x74\x84\x90\xe2\xd4\x46\x88\x47\x30\x4b\x66\x7c\x3e\x24\x8f\x19\x71\x3c\x97\xda\x62\x8a\xd8\x2d\xca\xbb\xc1\x64\x89\x87\xca\xee\x81\x29\x8e\x04\x93\xee\x81\x59\x41\x78\x4d\x21\x70\x89\x64\x02\x49\xf6\xcf\x8c\xbf\x4a\x2b\xc4\x2d\x51\xac\x71\x25\x32\xcb\x6c\x5f\xb7\x83\x84\x10\x27\xc6\xb2\x24\x62\xcb\xcc\x46\xea\xc8\x9d\xea\x74\x4a\x9b\x27\x0a\x0d\x0d\xbd\x6f\x84\xa0\x30\xb9\xc7\x98\x75\xe3\x86\x4e\xd8\x72\x90\x45\xc9\x30\x64\x21\xe6\xd5\x6b\xc0\xc4\x1e\xce\xdc\x5e\x7a\x11\x5c\x6a\x2a\x93\xc7\x9e\x49\xe0\x35\xaa\xc1\x18\x8e\x12\x58\x02\xad\x20\xa4\x42\xd8\x52\x86\x50\x8a\x47\xa6\xbe\x26\x8c\xcd\x30\x10\xa0\x71\xa4\x5a\xa4\x99\xdb\x43\x24\xfc\x18\xf8\xd9\xd0\x60\x93\xd2\x26\x28\x57\x7b\xcd\x1c\x63\xcd\x91\x6d\x69\x91\x5f\x53\xbe\xed\x22\xd9\x94\x64\xb8\x12\xe4\x74\xb6\x11\x18\xb8\xbe\x3e\xbd\x44\x56\xc6\x14\xcf\xe5\xbc\xa0\xb4\x21\x30\xe5\x01\xe6\x50\x53\x39\xcc\x0b\xc1\x1c\x13\x23\xfc\xef\x01\x64\xd9\x36\x68\xf0\xfd\xa9\x4d\x04\x22\x38\xcd\xbe\x40\x83\xd6\xd6\x58\x83\x84\xee\xf9\x45\x1b\x06\x13\x37\x85\xa7\xf8\x51\x41\xdb\xba\x87\x2d\x33\x64\xe3\x1b\x19\xc4\xd2\xfc\x3c\x13\xef\xd2\x23\x98\xe2\x45\x05\xc2\x2a\x18\xfd\x98\x0e\x64\xf6\x3b\x55\xc5\xf0\xa7\x12\x3c\x95\x25\x78\x2a\xc7\x78\x45\xf5\x5d\x4c\xc9\x46\xa9\xa6\xe4\xc5\x90\x4c\xb3\x82\x45\xb1\x9b\xc2\xd7\xb0\xff\xcd\x32\x82\xbf\x54\x43\xe5\x68\x2a\xaf\x73\x1e\x80\x05\x38\x66\x84\x75\x5f\x40\x68\xa4\x1c\x1a\x6c\xa6\x47\x02\xd3\x9b\x29\x70\x2c\x85\x19\x9f\x19\x2d\x3c\x24\x1f\x55\x71\xbe\x94\x83\xd5\x4a\xd3\xb1\x12\x89\x51\x24\x54\x4e\xcb\xbf\xa5\x08\xc2\xcd\x52\xcf\xad\xcf\x37\xdd\xcb\xc5\x6c\x04\xcb\x47\x02\x25\x32\x4a\x44\xd0\x30\x43\xe7\x02\x84\x47\x34\xaa\xdc\xde\xd9\x9c\x7c\x25\xac\x53\x22\x06\x84\x15\x24\xdf\xcd\x32\x12\xbd\x29\x51\x75\x8f\x20\xb2\x82\xfa\x11\xd7\xf2\xfb\x8a\xa4\xbb\xe2\xfa\xbe\xc6\x06\xd5\xc5\x65\x4d\x9c\xc0\xc8\x7e\x8b\x42\x09\x93\xf4\x3a\xcf\x01\x9d\x9c\xde\x12\x33\x9f\x41\x6f\x04\xfa\xa0\xa1\x3a\x17\x65\x5b\x07\xcb\x50\x65\x9c\x12\xf5\x45\xe6\x94\x7d\x74\x0b\x3c\xb3\x6d\x80\x58\x42\x19\xca\xf6\x08\xb2\xfd\xc4\x0e\x8b\xdc\x11\x57\x55\x28\xef\xad\x3b\x82\xd2\x8c\xe2\x60\x88\x35\x50\xa9\x54\xeb\x41\xe4\xc3\xe9\xbb\x3e\x45\x82\xc7\xb3\xad\x5a\x53\x64\x74\x71\x67\x5d\x0b\x8d\xe9\x07\xa9\xdb\x0b\xe1\x59\xe6\x07\xd1\xfc\x9d\x26\x61\xf4\xda\xe3\xa6\x48\xc6\xbb\x1c\x33\x45\x0b\x73\x81\x68\xab\xd0\x07\x91\x8a\xdb\x74\x1e\x64\xa1\x3c\x1c\x32\x94\x22\x0f\x2f\x8c\x13\xa7\xa3\x31\x8b\xf3\xad\x1d\x84\x98\x6a\x37\x52\x67\x62\x1c\x6b\xb6\x4c\xd2\xd7\x1f\xfa\x2a\x48\xdc\xa0\x10\xc0\x1d\x73\xbc\x40\xd9\x70\xd0\x17\x47\x0c\x9b\x3d\x84\xfc\x35\x4c\x52\xf8\xca\xda\x18\x24\x6c\x1f\xb5\x96\xf0\x0d\xc6\x3c\x5c\xb2\x59\xa3\xe2\x85\x2c\x7d\xc2\x39\x75\xf8\x32\x3f\x97\x03\x45\x85\xd6\x80\x16\x71\x3c\x9f\x57\xec\xc5\x73\x75\x8d\x43\x8e\xcc\x8d\xdb\xa8\x46\x79\x9e\x07\x29\x45\x7a\xb6\x1b\xed\xb3\xf9\xec\x56\x0f\x88\x25\xa1\x61\x83\x8a\x2e\xb4\x95\xdd\x42\x09\x84\xee\x3d\xe6\xda\x2f\xd7\xc2\x96\xd0\x7c\x04\xd4\x1c\x9f\x2f\x2f\xcb\x23\x28\xbd\x8a\x32\x98\x5c\xbb\xf9\xde\x84\x9e\x45\xca\xf1\x66\xe2\xbd\x7c\xb2\x34\x15\x49\x95\x36\xf5\x17\x0b\x1b\x28\x94\x33\xd1\x65\x25\xa9\xf4\x2c\xcd\x9f\xb3\x48\x67\x91\x47\x22\x3a\x1f\x24\xd0\xb5\x1f\x37\xa1\x75\x54\x51\x0f\x62\xcb\x9f\x0c\xbd\x7c\x35\x75\xb7\xbf\xc2\xc1\xe9\x1b\x1d\x08\x99\x10\x10\xce\x73\xc7\xd9\x24\x81\xd2\x49\x0d\x39\x30\x09\x52\xfc\xaf\x03\xc3\xaa\xb6\x29\x7c\x01\xc3\x4b\x59\x24\xeb\xfd\x38\x39\x76\xbd\xa1\x70\x42\xc7\x9e\x92\x90\x0a\x93\x33\x3a\xd7\x27\x4f\xd1\xbe\x0e\xd2\x0c\x46\x30\x71\xcc\x54\x81\xdb\x5b\x7a\x9e\x4f\x2b\x43\xdc\x11\x5a\xd4\xef\x97\x68\x12\x0c\xe9\xb6\xd3\xa2\x35\x0a\x35\x09\x91\x85\xfa\x71\xe2\x41\xfd\x60\x8b\x40\x90\xd7\x4c\xf0\xf1\xb8\x04\x67\x9e\x97\xe0\x35\x5e\xd2\xc2\x28\x3b\x22\xae\x96\x4c\xd5\xc2\xeb\x7a\x9a\xc5\xe3\xf7\x49\x3c\x76\x07\x2e\x8b\xb4\x06\xb4\xc3\x74\x81\xc2\x20\x1a\xc2\x24\xc8\x52\x07\xef\xe4\xd5\x00\xd9\x74\x63\xf5\x73\xb0\xbe\xa3\x3b\x74\xc4\x51\x9a\x25\x13\x2f\xc3\x87\x77\xb8\xb8\x64\xf0\xe4\x32\x08\x3a\x14\x6d\x9e\x44\x20\x71\x21\x09\x2e\x82\x37\xa0\xaf\x10\x48\x4c\x81\xb8\xf7\xb1\x06\xf2\x78\x54\xcc\x58\x8e\x7b\x1f\xa5\x93\x17\xf3\xa9\x0b\xe2\x77\xdc\xfb\x88\x6d\xab\x4e\x07\xa8\xdb\x91\x94\x3b\x81\xc1\xe6\x5a\x6f\xca\xd4\xe8\xce\x0b\x30\x19\x61\xb7\x01\x81\xb0\x8c\xc3\x7c\x47\x23\x66\xc0\x64\x74\x0f\x0f\xb8\xdb\x5b\x4e\xae\x86\xea\xec\xc7\x20\xf2\x91\xa2\x50\x11\xda\xf1\x49\x2e\x2b\x84\xf1\x1d\x90\x3b\x4a\x98\xc2\x76\x89\x0d\x32\x70\x49\x6e\xf0\xe3\xc7\xe4\x72\x39\xf3\xb3\x22\x4e\x20\xdc\xed\x0c\x6c\x6c\xe3\x51\x62\xdc\x4a\xcb\xbc\x21\x3b\x7c\xcf\x3f\x04\x6d\x94\x27\x3a\x49\xb3\x06\x06\xcd\x1a\xe8\x35\x45\xde\x0f\x5d\xfc\xbe\x8c\x93\x34\x71\xac\xab\xad\x2a\xb8\x05\xce\x00\x7f\xec\xa0\xdf\x3d\xe1\xa0\x30\x47\x56\xbf\xf2\x5c\x6f\x08\x2f\x50\xe9\x4b\xd3\xe6\x99\x18\xc6\x52\x2f\xa1\x9d\x83\xfa\x41\xbf\x0f\x3a\xe0\x55\xd4\x0f\xa2\x20\x9b\xa1\x45\x05\xe8\x80\xf5\x26\x8f\x95\xed\xd5\x40\xd2\xaa\x81\x41\xab\x06\x7a\xad\x1a\x40\xf0\xfb\xea\x42\x81\x33\xe8\xda\x43\x35\xf2\x23\x46\x75\xd9\xe0\x81\x8e\x06\x7b\x11\x08\x27\x95\x49\x0b\x8d\xd0\x8b\x86\x90\x34\x20\x49\xe2\x79\x66\x8f\x24\xb5\x84\x24\xda\x0c\xa1\xd5\x7e\x90\x66\x48\x65\x09\xdc\x17\x5b\xa2\x3c\xd1\x46\xca\x9b\x02\x73\x63\x7e\x04\xf2\x46\xbe\xf5\xf1\x42\x8e\xea\x19\xe1\xac\x86\x8c\xd2\x99\x73\xd1\x56\xcd\x9d\x2e\xbb\x36\x21\xe8\x80\x30\x40\x62\xaa\xe5\xd3\x4d\x4e\x03\x53\xe4\x90\xad\x66\x06\xc9\xab\xb2\x37\x6e\x36\xac\x8f\xe3\x1b\xa7\xdd\x00\x4f\xb0\xd0\xae\x83\xa4\x55\xad\x89\xef\x43\xaf\xe5\x50\x9b\xbb\x08\x6a\x80\xa0\x06\x76\xa8\x66\x13\x41\xf5\x10\x54\x8f\x40\xc9\x33\x3a\x44\xf3\x2d\xd6\xa7\x41\x86\xe7\xb0\x38\x12\x27\x26\xa4\x52\xe9\xac\xac\xfa\x48\x00\x21\xcf\xc9\x0b\x1b\x36\x31\x1a\x44\x84\x05\xf5\xac\x4a\x2d\x2a\x4e\x2c\x30\x2f\x8e\x6a\x80\xa8\x67\xec\x38\x10\xf7\x3e\xe6\x61\xf3\x73\xb2\x6f\xdc\xf4\x4d\x1c\x91\xbb\x0f\xdf\xc1\xd9\xbb\x28\x24\xc6\x97\xe0\x16\x48\xa9\x54\xdd\x6c\xb7\x44\x0d\xaa\x66\x6e\x17\x65\xee\x48\xda\xff\x13\x9c\xa5\x88\x3d\x22\xb7\xde\xf5\x3e\x42\x0f\x3b\xc5\xa6\x1a\xb7\x84\x3c\x27\x6f\x14\xf5\x5d\xc4\x0e\x67\xa9\xf0\x9a\x2f\xe6\xdf\x27\x38\x03\x01\xe6\xb3\x3a\x7f\x51\x64\x52\x44\xd9\x77\x37\x11\x9a\xec\x61\x92\xcd\x08\x2b\x71\xaf\x7e\x82\x33\x2d\x88\x2d\xaa\x8b\xec\x16\xe5\x4e\x6b\x96\x01\x81\x40\x25\xfd\x8c\xb9\x7c\x3c\x0a\xb2\x0c\x9b\xbe\xe2\xe7\x55\x53\xca\x15\x2c\x50\x66\x58\xa0\xf1\x47\x7f\x0a\xb9\x38\x78\x6c\x1c\x89\x29\x78\x04\xc7\x68\x00\x0b\xf6\x39\x0d\xe8\x46\x7e\xec\xaf\x8c\x62\x7f\x12\xc2\x3a\x9c\x22\x13\x38\x15\xd4\xde\xfe\xca\xca\xd3\xa7\xbf\x05\x69\x3c\x49\x3c\xf8\xc6\x1d\x8f\x83\x68\xf0\xfd\xe9\xeb\xce\x14\x4f\x97\x1f\xd3\xfa\xc8\x1d\xaf\xac\xac\x3c\x7d\xf2\xe4\xc9\x53\x70\x57\xad\xad\x3c\x7d\x02\x9a\xe0\xc9\x53\x9a\xc2\xad\x4f\x87\xd4\x50\x03\xb4\x8a\x1a\xb8\xba\xba\x81\xbd\xb1\xeb\x7d\xba\x4a\xe0\x9f\x26\x41\x02\xaf\xae\x10\x6f\x57\x56\x27\x29\x04\x69\x96\x04\x5e\xb6\xba\xbf\xb2\x42\x7b\x87\x84\x67\x64\x7d\xe2\x70\x2c\xab\x57\x57\x30\x7d\x83\x71\xaf\xd6\xc0\x67\x70\xed\x86\x13\xb8\x87\xad\x6d\x6c\x9d\xee\xaf\x20\xa9\x50\x18\x6d\xf0\x5a\xe3\x29\x22\xa8\x6e\x9b\xe5\xaf\xc8\x49\x9f\xb7\xb7\xfc\x78\x86\xf4\xb8\x88\x45\x90\x2c\x25\xb4\x2f\x31\x79\x43\x6a\x01\xdb\x2a\xbb\x40\x60\x97\x4a\x95\x34\xf1\xf6\x56\x7a\xb3\x5a\x87\x20\xa2\xc9\xab\xa0\x34\xee\x17\x12\x89\x05\xa6\x0c\x95\xb9\xb5\x2d\xd5\xa9\x0e\x91\xe2\xa7\xb7\xe3\xde\x47\x63\xdb\xf6\x25\x28\x93\x49\x0a\x0a\x9d\x81\x14\xd3\x94\xd1\x8f\x58\x46\x92\xeb\x3c\x49\xcc\x37\x1d\xcb\xa3\x8a\xe9\x7b\x20\x41\x4d\x8b\xab\x61\x6a\x22\x30\x1d\x9f\x17\x72\x9d\x2c\x89\x0e\xc2\x90\x2d\x88\x52\xad\x13\x54\xd6\xcf\xe7\xbc\x0f\x43\x98\xc1\x42\xe6\x96\xa1\x2d\x56\xa7\x60\xbb\x48\x88\xab\x5b\x95\x9a\xe5\x5c\x00\xd9\x1f\xd9\x48\xe8\xf7\x69\xe5\xd2\x6b\xec\x40\xdc\xcb\x25\x44\x09\xfe\x81\xdc\x1f\x50\xef\x99\x38\x12\xa4\x80\x97\xdd\x37\x98\xe9\x69\x3d\x8e\xd4\xaa\x8b\xb9\x06\x47\x41\x56\xd8\x87\x02\x3f\xc4\x41\xcc\xa7\xfb\x2b\x7a\x68\x71\x85\x26\x7c\xce\x16\x3e\xed\x5f\x19\x1e\x40\x44\xe8\x2e\xae\x02\xb0\x0e\x9a\x48\x63\xf0\x42\x17\x57\x81\xd6\xe7\xe0\x97\x1b\xc1\x0b\x5a\x30\x80\x8c\x39\x34\x46\xe7\xf6\x62\x71\x1f\x84\xa5\x06\x93\xd8\xcb\x56\xfd\x7a\x27\x2d\xf8\xe5\xc9\xf9\x0e\x9f\x0d\xd1\x49\xa9\x68\x5a\xb7\x4d\xa7\x12\xf9\xe6\x59\xb5\xf5\x0d\xcd\xaa\xa8\x2b\xbb\x8d\xfd\x15\x61\x22\xed\xf2\x95\x48\xb7\x51\x7f\xfb\xfd\x6b\xd0\x01\x95\x0f\xd3\x46\x83\x3a\x7a\x77\x1b\xf5\xb3\x77\x2f\x69\x62\x53\x48\x3c\xff\x89\x26\xb6\xf2\xc4\x63\x9e\xd8\x16\x12\xdf\x9d\xd3\xc4\x0d\x21\xf1\xed\xbf\xa4\x89\x9b\x79\xe2\x41\xf7\x3b\x9a\xb8\x95\x27\x1e\x1e\x33\x92\xb6\x85\xc4\x33\x9a\xb6\x93\xa7\xbd\x64\xd5\xec\xe6\x69\xaf\x4f\x68\x9a\x9b\xa7\xfd\xc0\xe0\x7a\x79\xda\x09\x83\xf3\xf2\xb4\xee\x29\x4d\xf3\x45\x56\xd0\x34\x28\xa4\xbd\xa2\x69\xfd\x3c\xed\xe8\xf5\x31\x49\x6c\x0a\x7c\x3c\xea\x36\x69\x62\x53\x4c\x6c\xd1\xc4\x96\x98\xd8\xa6\x89\x6d\x31\x71\x83\x26\x0a\x7c\x7c\x7b\x40\x59\xd6\x14\xf8\x78\xf6\x87\xb7\x34\x71\x4b\xec\x9b\x43\x9a\x28\xf0\xb1\x7b\xc0\x20\x05\x46\x1e\xbf\xa1\x69\x02\x23\xcf\xbe\x67\xa5\x05\x4e\x1e\x9f\x75\x69\xa2\xc8\x4a\xda\x35\x4d\x81\x95\xbf\x67\x69\x02\x2b\x4f\x59\x9a\xc0\xca\xef\x59\x9a\xc0\xca\xb3\xf7\x24\xad\x25\x72\x92\xc9\xc4\x36\x02\xbc\xab\x3a\xdd\x06\xe8\xb0\xb1\x54\xef\x36\xf0\x15\x1c\xe1\x13\xad\x4f\xab\xd8\xa8\xb4\x8c\x62\xf9\xea\x9e\x65\x20\xb7\xbf\xa1\x81\xcc\x1b\xf7\xf2\xe0\xf4\xec\xf8\xfc\x8c\x2e\xc1\x59\xf2\xd1\xf1\xc9\xc1\xf7\xaf\xcf\xaf\x68\xb6\xc8\x1c\x5a\xe0\xa2\x72\x58\xb9\xd4\xf1\x5c\x54\x1a\x95\x4b\x1e\x9c\xbd\xf2\xc7\xca\x1e\xa8\x7c\x98\xb4\x36\xbd\xad\x0a\x09\xc0\x5e\x71\x59\xd2\x6e\x8b\x25\xf5\x48\x52\xa3\xd1\xd8\x65\x49\x1e\x4f\xf2\x58\x92\xcf\x93\x7c\x96\x04\x79\x92\xcb\x92\xfa\x2c\xa9\xd7\x60\x49\x03\x9e\xd4\x64\x49\x43\x4a\xc4\x46\x6b\x83\x25\x05\x1c\x57\x8f\x25\x7d\x64\xa4\x36\x77\x58\xd2\x27\x9e\xc4\xd1\x87\x2c\x29\x27\x75\xc4\xa1\x38\xfa\x88\x25\xb5\x39\x54\x4c\x93\xda\x3d\x4e\xfd\x98\x27\x71\x22\xfe\xc4\xd1\xf3\x1a\x13\x0e\xc5\x71\xa5\x3c\x89\x33\x27\xe3\x44\x70\xa8\x09\x4b\xca\x9b\x7d\xcd\xe9\xe2\x49\x37\x1c\x8a\x17\x9c\x72\x22\x78\xa7\xcd\x68\x52\x6b\x8b\x17\xfc\x33\x4f\xda\x64\x49\x9f\x29\x57\xdb\x1e\xa7\xfe\x96\x43\xf1\xa4\x3b\xc6\x7b\xb7\xcd\x92\xfe\xc2\x3b\x6d\xbb\xb2\x72\x67\x12\xb4\x03\x51\xd0\x7e\x8b\xc0\xff\xfa\x3f\x5a\x40\x0f\x31\x28\x71\xc4\xd4\x73\x37\x4c\x88\x28\x19\x7f\x87\x3f\xff\x5f\xf6\x79\x81\x3e\x83\x8f\xec\xf3\xc3\x07\x9c\xfd\xff\xb0\xef\x4b\xf4\x79\x2b\xb5\xfd\xaf\xff\x24\xb5\xbb\x2f\x35\xf9\xaf\xff\x51\x6a\xee\x5f\xff\xbd\x85\xfe\x2e\xa2\x10\x03\xea\x79\x9b\x02\xf5\x39\x8d\x3f\xff\x67\x95\xfc\xc1\x03\x4a\xe7\xcf\xff\xb5\x98\x86\x69\xfd\xf9\x3f\x17\x93\xfe\x35\x4e\xfa\x37\x62\x12\x1e\xc0\x3f\xff\x5b\x31\x09\x37\xeb\xe7\x7f\x10\x93\x70\xd3\x7e\xfe\x0f\x62\x12\x6e\xdf\xcf\xff\x93\x98\x84\xdb\xf8\xf3\x7f\xac\x30\xab\x4a\x6f\xcb\xe9\xbc\x9e\xf8\xf9\xbf\x93\x7a\xe2\xaf\xff\x4e\xee\x89\x9f\xff\x51\xea\x89\xbf\xfe\xa3\xd4\x15\xbc\x19\x94\xde\xff\x4b\xea\x8b\x9f\xff\x49\xee\x8b\x7f\xb2\xf4\xc5\xbf\x14\x69\x34\x11\xf5\xf3\xff\x50\x48\xd4\xcf\xff\x0b\xfb\x24\xec\xfe\xdf\xd8\x27\x61\xf5\xbf\x5f\x9e\xe4\x9f\xff\x6f\x0b\xc9\xdf\x69\x24\xe7\x9c\x91\xa5\x45\x95\x14\x4a\xf2\xbf\x91\x89\xfa\x07\x99\xa8\xff\x20\x13\x25\xcb\xf4\xcf\xff\xad\x85\xa8\x3f\xcc\x1d\x75\xff\xb8\x48\x5f\xe7\x9c\xfa\xa3\xcc\xa9\xcf\x72\x17\x11\x92\xff\x8f\x42\x3e\xfe\xaf\x16\x92\x8f\x0b\x86\xe1\x96\x3a\x0c\xff\x4e\x1f\x86\x84\xd7\xff\x85\x61\x64\xfe\x37\xcb\x8e\xcc\x7f\xd0\x47\xe6\xff\xac\x8f\xcc\xff\xf3\xde\x23\xf3\x5f\x2d\xda\x5b\xff\xbd\xd2\x5b\xff\x95\x3c\x32\xff\x3f\x59\x49\xfe\x3b\xb9\x7b\xfe\x77\xb9\x7b\xfe\xd1\xd2\x1f\x2f\x0b\xfa\x63\xdb\xdc\x1f\xff\xa5\xde\x1f\xff\x2c\x35\x65\x47\xeb\x8f\x5c\xe2\x8d\x4a\xe9\xdf\x2e\xa7\x94\xae\xe4\xf1\x61\xd4\x51\x0b\xa9\x03\xa2\xa3\xcc\x66\x34\x8d\x9e\x60\xb3\x9f\x37\xee\x65\x3f\x3f\x7d\xf2\x64\x05\x3c\x01\xaf\x46\x63\xea\x8a\x04\xb2\x21\x7b\xa4\x13\x8c\x60\x36\x8c\xfd\x1a\xc8\x86\x2e\x7b\x00\x11\x12\x00\x76\xe3\x02\x64\x31\x70\xc1\x8f\xb0\x77\x16\x7b\x9f\x60\x86\x2c\x71\xe8\x8e\xea\x08\xe5\xdf\x11\x1a\x00\xde\x1a\x7f\xea\xfa\x7e\x1c\xa5\x4f\x09\x12\xfa\x0f\x86\x0a\x03\x0f\x46\x29\x04\x6f\x5e\x9d\xaf\xa0\x96\x88\x8b\x68\x02\x46\x16\xd2\x78\x87\x2f\xc9\x6f\xa7\x3f\x7d\x42\x04\xe3\x09\xe8\xc6\xa3\x51\x1c\xfd\xfd\x19\x80\xd1\x75\x90\xc4\x11\x6a\x06\xcd\x7b\x8a\xff\xd5\x76\xf3\x09\x5e\xc7\xc0\x13\xa7\x41\x5c\xa4\xee\x84\xe8\x20\xb3\x31\x8c\xfb\x80\x2c\x29\xf0\x09\x36\x23\xb0\xa2\xd3\x72\x4a\x10\xd5\x3f\xa6\x20\x48\x81\x7b\xed\x06\xa1\xdb\x0b\xa1\x44\x0e\xc1\xe4\x5c\x54\xea\xf5\xa7\xf5\xfa\x53\xcc\x9f\xca\x65\x8d\x52\x25\x56\xaf\x62\x7f\x1f\xba\x41\x04\xe8\xa1\xbc\xb5\xb9\xb4\x75\x37\xf8\xbc\xbe\xce\x4e\x2e\x08\x5e\xb4\xaa\xcb\xf9\xfb\x53\xee\x3c\x59\xc9\xd7\x51\x95\xfd\x95\x15\xb2\x93\x95\x73\x0c\xad\x82\x56\x10\x29\x98\x96\x27\xe0\x40\x14\x86\x41\x70\x0d\x23\x49\x24\xf2\xd4\x14\xcb\x45\x1d\x97\x22\x45\xff\x6e\xec\x26\xee\x08\x7c\xc6\x95\xdf\xe1\x62\x60\x1d\x9c\x2b\x42\xd5\x63\x42\x08\x7d\x3b\x42\x8e\x8b\x0b\xe0\x1d\xcd\xa7\x18\xe9\x07\x12\x52\x22\xd1\x08\x8f\x37\x49\x12\x18\x65\xbc\x3a\x05\x57\x2f\x8e\x43\xe8\x46\x77\xa0\x17\xf8\x41\x42\x9e\x00\x74\x43\xb0\x0e\x7e\x1c\xc2\x6c\x08\x13\x59\xfe\xd3\x61\x3c\x09\x7d\x80\x83\x2e\xf8\x6e\xe6\x12\x5c\x73\xff\x68\x93\x28\x7d\x6e\x0a\x6e\x60\x68\x27\x04\xbf\x7a\x0c\x7d\x85\x86\x04\x46\x3e\x4c\x82\x68\x00\xe2\x3e\x08\x22\x2f\x1e\xa1\xdf\xe5\x88\xa0\x64\x0f\xdd\x31\x7e\x9f\x34\x4a\x33\x37\xca\xc2\x19\x88\x13\x80\x86\x3a\x18\xb9\xd3\x60\x34\x19\xcd\x47\xd4\x4f\xc8\xf2\x7e\x86\x88\x68\x0a\x34\x8d\x61\x02\x9a\x8d\x51\x4a\x1a\x85\x24\x93\xa9\x6b\xda\x15\xaa\x13\x6f\x8d\x72\xa3\x26\x33\xbe\xc6\x9b\xcf\x46\x9b\xdc\x2f\x1d\x3e\x42\x95\xf4\x0e\xa8\xf0\x67\xcc\x2a\x55\xf0\x82\xac\xf2\xf7\x64\x30\xea\xf1\x06\x93\x51\x9d\xf6\x45\x87\x92\x81\xe5\x9d\x66\x5d\xf5\xc3\x49\x3a\x24\x8f\x4f\x1b\x3d\xdc\x28\x1c\x79\xa9\x99\x14\x21\xad\x24\x52\x49\x4a\xf2\xbd\x5a\x1b\x80\x74\x2b\x0e\x00\x7c\x2f\x81\x05\x96\xb0\x95\x41\xf9\xf3\x31\x63\x28\x09\xfd\x9d\xd4\xbe\xf1\x24\x1d\x9e\xc7\x86\x06\x8a\x1e\xce\x54\x07\xdb\x5a\x27\x1e\xd7\xd9\x1a\xc8\xc3\x79\x10\xb8\x3b\xcd\x57\xd4\xce\x19\xb1\x9c\x14\x72\x43\xeb\x21\x21\x86\x86\xb0\x2b\x2e\xb4\x76\x00\xb3\x37\xfc\x81\x6b\x53\xd4\x1f\xd2\x52\x55\xee\xcc\xec\x72\xe0\x75\x5d\x7a\x36\xdd\xdc\x28\x22\x1a\x1a\xac\x81\x3a\xa4\x4a\x8e\xc8\x03\xf9\xb6\x7e\xa0\x3a\x10\xbf\x37\x2f\xe0\x63\x78\x68\xb6\xe6\xc4\x58\xa1\x2f\x68\x57\x6a\x1a\x23\xaa\xb4\x28\x6e\xb7\x38\x40\x14\x09\x8f\x23\xee\x59\x2e\x53\xcb\x1d\x29\x8a\x29\xf0\xc2\x38\xe5\xf5\xfb\x10\xf5\x33\x7d\x62\x54\xd0\x00\xcc\x4b\xd9\x8a\x05\x47\xbc\x28\x87\x45\x99\xb7\x8e\xa0\x7d\xde\xea\x27\xf1\x48\x9b\x68\x96\x99\xb8\x08\x45\xd0\x37\x63\x5c\x6c\xea\xc2\x28\x48\xc0\xa5\x2c\xa6\x98\xc5\x59\x6c\xbe\x86\x96\xa7\x39\x51\x11\x53\x6c\x36\x45\xcc\xdd\x77\x71\xc7\xf7\xfb\xf6\x9e\x17\x7a\x4b\xd0\xc7\x2c\x41\x57\xc4\x82\xba\xdd\x93\xd5\x2d\x92\x3f\xb9\x76\x2e\x06\x26\x27\xd9\x62\x89\x16\x04\x92\x9d\xfc\xe6\x35\x1b\x84\x43\x32\x6a\x54\x2b\xc1\x64\x85\x18\x84\xe3\x57\x4b\xe4\x9f\x81\x25\x82\x47\xb0\xf6\xfa\xbf\x34\x10\x4a\xda\x22\xcc\x11\x4c\x32\x6d\xe8\xf9\xec\x3c\x14\xf3\xd4\x93\x26\x81\x05\xea\xe4\xab\xeb\x14\x95\xa5\x06\xdd\x22\x8f\x6b\x85\x73\x04\x5e\xe2\x9c\xc0\x20\x19\x78\x7f\xe5\x0e\x29\x1d\x79\x19\xbc\xf9\x10\xcb\xe0\x93\x40\x60\xb7\x17\x87\x93\x51\x94\x02\x37\xf2\x71\x20\x01\x36\x54\xfc\x60\x04\xa3\x34\x88\xa3\x14\x8b\x7b\x96\x82\xa3\x77\x6f\xf8\xd5\x81\x15\x80\x31\xfd\xf6\xb7\xe0\x60\x3c\x4e\x62\xba\xcc\x5d\x07\xa7\x38\x14\xc1\x79\x32\x89\x3c\x17\xfb\xa0\x20\x44\xd7\x41\x4a\x2e\x0a\xc8\x43\x99\x78\xb1\x33\x94\x60\x08\xf1\x4d\xe5\xde\x4c\x86\x4a\xe2\x1b\x9a\xc5\x2a\x5d\x07\x5d\x42\xf3\x92\x15\xdd\x04\x7e\x36\xd4\xea\xf1\x86\x6e\xe2\x7a\x19\x4c\x50\x15\x04\xc4\xc1\x7e\x08\xc0\x0f\xd2\x71\xe8\xce\xf6\x40\x10\xe1\xcb\x8c\x6e\xa6\x53\x88\xb8\x97\x31\x62\x10\xb3\x08\x86\x9b\x20\x53\x64\xee\x09\x88\x26\xa3\x1e\x4c\x10\x91\x94\xf5\x55\xfb\x46\x42\x3f\xc8\xd0\xff\xe7\x6e\x21\xf4\x83\xec\xe1\xf7\x0f\xfa\x41\xf6\xad\x6d\x1e\xa0\x76\xde\x7b\xe7\x00\xb5\x6b\xb1\x6d\x03\xe3\x2e\x01\x1b\xd3\xe3\x24\x1e\xc7\x29\xfc\x7d\x1e\xda\xc3\x7c\x6d\x93\x78\xdd\x20\xfd\xc1\x06\x11\x91\xcb\x63\xf5\x82\x0e\x55\x03\xc2\x2a\x06\xff\x17\x11\x21\x95\x38\xcb\x66\xf8\x46\x23\x6d\xcb\x00\x66\xdd\x78\x34\x9e\x64\xd0\xc7\x39\x4e\x41\x5d\xf9\x76\xa3\x94\xfe\x12\xd2\x60\x01\x63\x17\x5f\x0a\xcc\x1c\xbd\x42\x54\x0f\x3b\x72\xfe\xc1\x0d\x27\xd0\xa9\x90\xe1\x59\xa9\xda\xd0\xe2\xa8\x13\xa0\x43\x5c\xaa\x47\xee\xd4\x69\xd4\x16\xac\xe1\x86\xc5\xad\x58\x07\xcd\x6d\xa1\x1a\xb8\x38\x27\xf4\xd2\xef\x5d\xdf\x0f\xa2\xc1\x0f\x78\x01\xc6\xe9\x82\xc5\x14\x8d\x49\xa1\xf5\x2c\x1e\x23\xba\xd6\x16\x2e\xd8\xc3\x57\x0a\x25\xa6\xc9\xf4\xbc\x8c\x97\xa1\x27\xa1\x5d\xb1\x04\x45\x21\xec\xcb\x9d\xc8\xc7\xa6\x28\x17\x9a\xb4\xac\xeb\x7c\x34\xa0\x60\x32\x60\x10\x0c\x15\xc1\xcb\x58\x40\xe0\xc5\x51\xe6\x06\xc4\x53\x0f\x77\x63\x12\xdf\x74\x59\x9a\xf0\xac\xfb\x04\xbb\x44\x9c\xc6\x37\x26\xb8\x7a\x3f\x48\x52\x56\x29\x8e\x7b\x24\x57\x00\xa3\x7c\x05\x9e\x63\xaa\x07\x51\x04\x93\x97\xe7\x6f\x5e\x0b\xd0\x6c\x96\x20\x8d\xcf\x33\x90\xce\x31\x80\xe1\x16\x8a\x95\x85\x02\x14\x8b\x06\xc4\x96\x16\x79\xcd\x24\x7a\x26\x9d\x78\x40\x07\x54\xc8\xd4\xc3\x22\x71\x1a\x48\x44\x40\x3f\x56\xf6\xc1\xd3\xa7\x54\xd3\xe7\x34\x60\x47\x3c\x12\xc9\x08\x19\x8a\x78\x2c\xd5\x80\x1b\x66\xc3\x78\x32\x18\x82\x38\x02\xa3\x38\x8a\xd3\xb1\xeb\x11\x25\x2c\x13\x2f\xb3\x64\x00\xb3\xc3\x78\x12\xa1\x6e\xea\x86\x01\x8c\xb2\x53\xe8\x65\x4e\xb5\x8e\x91\x6a\xd4\x69\xcd\x20\x04\x9e\xc2\x6b\x98\x64\x00\xe7\x82\x1e\xec\xc7\x09\x04\x9e\x1b\x7a\x93\xd0\xcd\x10\x85\x44\x9f\xd4\x40\x1a\x44\x1e\x9e\xda\x67\xf8\x2e\x0a\x4c\xea\x2b\x86\x3e\x28\x47\x20\xc1\x59\xc8\x3f\x49\x12\x68\x9f\xd0\x9b\xb8\x7c\x28\xa9\x43\xe2\xa9\x4a\x0d\x5d\x90\xd1\xeb\xb9\x7a\x39\xc2\xd3\xa7\x0a\x93\xd9\xea\x52\x88\x0f\xf5\x99\x84\x77\x22\x01\xa2\x48\x84\x27\xf4\x5f\xd9\x21\x31\x97\x20\x66\x43\xb2\x59\xa9\xaf\xba\xa1\x2a\x01\x04\x84\x9a\x2c\x13\x19\x29\x22\xac\x58\x59\x11\x65\xb3\x84\x44\xa8\xe2\xb9\x34\xa4\x15\xff\xc4\x21\x28\xf3\x79\x8c\x50\xa9\xda\xd1\x45\x73\xa8\xc5\x94\xd6\xa8\x1d\x06\xa9\x60\x4b\xab\x35\xa8\xfc\xb0\x60\x45\xb6\x81\x82\xa9\x84\x55\xbe\xf5\x20\x56\xf9\x24\x0c\x53\x2f\x81\x30\x02\xd8\xfa\xc3\xc3\x96\xdd\xb8\xb0\x5b\x88\xbc\x94\xf0\xd3\x68\x2f\x8a\xe6\x22\x87\xfc\x02\x56\x23\xc7\xfd\xcd\x19\x8f\x79\xab\xef\x6f\x43\xe6\xad\x7c\x00\x53\x92\xaf\x8c\xcf\xe3\xc1\x20\x84\x86\x6d\xbb\x4a\x2a\x54\x89\x98\x0e\xeb\x8b\x6c\xd7\x65\x04\x2f\x42\x01\x04\x1c\x96\xfd\x0f\xa1\xa6\x75\x46\x92\x90\x86\xd5\x09\x96\x96\x18\x2d\x63\xfa\xc0\x21\x77\xb5\xb5\x9d\x37\x52\x2b\x92\xeb\x33\x52\x52\xdf\x83\x53\x25\x91\x30\xa8\x1f\x09\x6a\x87\xca\x87\x40\x80\xba\xd7\xc6\xd4\x51\x3f\xe2\xb7\x83\x99\xd9\xeb\x85\x6e\x9a\xbe\x0e\x52\x1c\x26\x18\x19\x03\xa9\x53\xc9\x31\x21\x3b\xe9\x05\xa8\x90\x3d\xb7\x0a\xd8\x03\x15\xd7\x67\x5e\xa6\x82\x84\x3e\xd2\xa9\xa4\x95\xb1\xa2\x52\x11\x19\x42\xc0\x28\xec\x7f\x6b\xf4\x5d\xf4\xa3\x4b\x99\x34\xbb\x2e\xcb\xf9\x9a\xea\x7c\xd5\x69\xb5\x75\x07\xdd\x86\x50\x87\x45\x59\xa5\xb7\xfd\x10\x4a\xef\x7c\x18\xa4\x54\x87\x80\x71\x12\x5f\x07\x3e\x4c\xe9\x81\x7c\x8a\x15\x20\xd9\x6b\x42\x56\x81\xab\x1c\xc7\xd3\x2f\x3f\x36\x1e\xcc\x5b\x15\x26\x2f\x96\xff\xfa\xf5\x84\xfe\xd7\x13\xfa\x5f\x4f\xe8\xff\x93\xd9\x17\xe7\xfa\x90\x8d\xff\x83\x5f\x8f\xea\x7f\x3d\xaa\xc7\x7f\xdf\xee\x51\x3d\x52\x83\x3e\x39\x2f\xff\xfb\xb3\x77\x6f\xeb\x78\x65\xc9\x4f\xda\x39\x3b\x1c\x0c\x74\xd1\xb8\x44\xe2\xb6\x9a\x66\x7e\x3c\xc9\x56\x81\x7a\x87\xd4\x74\xe6\x6f\x3c\xf5\xc7\xc8\x9a\x97\xe2\xfd\x3b\x3d\xaa\xb6\x20\x69\x06\xf8\x82\x66\x2f\xe8\x03\x80\xdb\x9d\xe2\x97\x6a\x82\xfe\xcc\xb9\xa8\xa4\x99\x1f\x44\x34\xfa\xdb\x65\xb5\x6a\x92\xa3\x14\x66\x67\xea\xbb\x0f\x68\xb9\x5a\xb6\x06\x98\x5d\xd1\xf8\xcb\xe8\x1f\xbc\x98\xa5\x3f\xd1\x32\x57\xab\xf4\xab\xfa\x24\x48\xa0\x3c\x6e\xb4\xc4\x87\xea\x3c\x3a\x25\xcf\x05\xae\x20\x8f\x1e\xc4\x85\xa1\x24\xba\x5f\x7d\x19\xec\xbe\x0c\x0a\x0b\x7f\x75\x6a\xf8\xd5\xa9\xe1\x3f\x31\xe3\x4d\x5b\x0b\x17\x18\x71\xcb\x79\x37\x28\x18\x7f\x75\x73\x80\x85\x6a\xa7\xd0\xdf\x41\x29\x78\x0f\xc7\x87\x9d\x6f\xe8\xfe\x2c\xb2\xc5\x7e\x8f\x94\x58\xe0\x5d\x35\x41\xc7\x54\xab\xd3\x6e\x53\xc0\x20\x7d\x8b\xe3\x1f\x71\xdd\x1a\xb9\xd7\xc1\xc0\xc5\x71\xfe\xac\x4b\x02\x1a\x59\x10\x95\x9f\xa4\x30\x39\x18\x20\xd1\xe9\xe0\x27\xaa\xf0\x7b\x88\x2f\x40\x25\x8a\x7d\xbc\x65\xc5\xd1\xd5\x39\x24\x29\x38\x0e\xdd\xac\x1f\x27\xa3\xb9\xe5\x18\x60\x7e\xd5\x24\x48\x4f\x82\x04\xf6\xe3\x29\xe8\x80\x47\x8f\xfe\xc2\x11\xf3\x48\xc2\x15\x9a\x5f\xa9\x8a\x85\xde\x9c\xbd\x3a\xb6\x96\x40\x99\x15\xfc\xb6\x96\x39\xff\x3c\x09\x7c\x18\x65\x0a\x46\xd7\x03\x9d\x9c\xd7\xf9\x26\xde\x45\xe5\x8d\xeb\x05\x51\x16\xa7\xc3\x4a\x0d\xa0\x8f\x57\x51\x06\x43\xfa\xfb\xfd\xfb\x2e\xfd\xb5\xb5\xf3\x5d\xe5\xb2\xc6\x79\x21\x21\x7f\x35\x76\x7d\xd0\x11\xf8\x84\xba\x23\x78\xef\xfa\x15\x19\x6a\x18\xe3\x08\xd6\x2a\x1c\x4a\xae\xc8\xcd\x67\xc1\x03\x2d\x24\xd3\x6c\x44\xda\x8f\x41\xd4\xdc\xa2\x3f\xda\x2d\xfa\xa3\x7b\x6c\xa5\xf5\x75\x10\x4d\xa6\x02\x11\x39\xdf\x70\x4e\xa5\x0a\x9e\xe3\xa8\xce\xe6\xbb\x35\x87\x34\xc0\xa1\xf9\x6a\xcd\xee\x37\x34\xb4\xb8\x5e\xc1\x67\xf8\x71\xe2\xa7\xa7\x30\x74\xb3\xe0\x1a\x9e\xc7\xf4\xfc\xd6\xc1\xb1\x3a\x6a\x40\x09\x6c\x4a\x02\x30\x12\x57\x87\x01\xfc\xc9\xf4\xf2\x67\x81\x63\xc5\x14\x3f\xdf\xc9\x4b\xe7\xa1\xc5\x66\x52\x06\x7d\x99\x86\xc6\x1f\x62\x0e\x45\x8f\x1f\x73\xdf\xa2\x47\x9d\x0e\x79\x07\xd1\x8f\x3d\x1c\x84\x85\xff\xd0\xdc\x3c\x00\x98\x82\xf5\x0e\xf7\xa8\x8a\xfb\xfd\x14\x66\xaf\x61\x5f\x78\xdf\x6b\xa6\x03\x9c\xc7\xe3\x3c\x9f\xd5\xda\x01\x15\x92\xfb\x1e\x9f\xae\x57\x40\x10\xf1\xbc\x17\x0a\x02\x02\x02\xf6\x80\xd1\x33\x44\xe4\x0b\x65\xd7\xc5\xb4\x06\x66\x97\xfb\x2b\x77\x5c\x1c\xed\x7d\x03\x3a\x05\x1d\x67\xea\x5d\xd6\x99\xd2\xa9\x3e\x10\x9e\xe0\xc1\xcf\xdc\x74\xe3\x09\x07\xc2\xbf\x82\xf4\x0c\x3f\x25\x1c\xc4\xd2\xb9\x81\x87\x71\x16\x12\x61\xaa\x90\x9f\xd9\xa2\x12\x78\xed\x4c\x5c\x55\x3c\x18\x84\x8e\x93\x27\xaf\x21\x45\xca\x2b\x06\x2f\x44\x3a\xc9\x09\x38\x78\x0a\x5a\x60\x0f\x34\xaa\x55\x7a\xc4\x2b\xe5\xca\xf5\x34\xe5\x7a\xf2\x54\xb9\xe4\x50\x3e\x56\x56\x48\x1c\x05\x91\xc3\xdd\x6a\x78\x6e\x0d\x34\xab\x39\xe3\xf0\xb3\x5a\x96\xaa\x4d\xe5\x9b\xb4\x3c\x63\xb7\x50\x9e\x45\xbf\xc7\x80\x46\x91\x10\x99\x2f\x77\xf8\xa9\x7b\x73\x38\xcb\xe0\x3d\xfa\xbd\xb8\xab\x97\x43\xb9\x2f\xa9\x00\xce\x41\x59\x01\x70\xc6\x90\xe4\x29\x58\xeb\x80\x76\x8b\x7c\xcc\xc4\x0f\xca\x9f\xcf\x60\x8a\x1f\x66\x9a\xe1\x57\x99\x14\x3e\x49\x7c\x20\x0d\x90\x92\x6c\x4a\xfc\x4d\x3c\x49\xa1\x2d\xf8\x5e\xe3\x1b\xd2\xe1\x88\x6b\x3d\x37\x81\x36\xcb\x68\x43\x80\x79\x1d\xf4\x6c\x60\x9b\x14\xec\x1c\x26\xa3\x97\x78\xe9\x5e\x1c\xc3\x8f\xc3\x61\xbd\xac\xc5\xd5\x43\x89\x80\x68\xd3\x5c\x81\x0e\xe9\xdd\x0a\x1c\xf7\xf9\x2c\x8b\x13\xb2\x05\x17\xc1\x1b\x46\x5d\x9d\xa6\xd6\xdf\xc0\x51\x9c\xcc\x1c\x35\x60\x3c\x25\x8c\x95\xe0\xc7\x1c\x46\x40\xe2\x7c\x05\xfb\xa9\x53\xc5\x01\xed\x57\xd1\x8a\x6f\x1d\x46\x5e\xec\x07\xd1\x60\xb5\x06\x56\x13\xf7\x66\xd5\x58\xd2\x87\x5e\x9c\xb8\x19\x8d\x4a\x8f\x5b\xa8\x80\x05\xb1\xf8\x20\x44\x3d\x88\x49\x14\x40\x23\x36\xbc\x56\x0b\xc3\xef\xe0\xac\x17\xbb\x89\x2f\x3f\x2e\x40\x7e\x73\x76\x4a\x6f\x1e\xf4\x63\xcb\x76\xb3\x20\xfb\x1e\xf3\xce\x65\xc1\xe9\xd1\x17\xf3\x61\xc9\x43\xb1\xdf\x49\x11\xb6\xec\x95\xc6\x93\x6c\x3c\xc9\x0a\xf6\x08\x85\xb8\x78\xb4\xe5\xa6\x90\xc3\x0a\x03\x62\xb2\x63\xf9\xfd\xf9\x49\x73\xcb\x91\x6e\x2b\x29\x31\xc6\xec\x84\xa5\xc3\xf8\xc6\xb4\x6d\x4b\x37\x36\x6a\x20\x23\x1b\xc2\x9a\x28\x8e\x78\x21\xfa\x6b\x5f\x6e\x09\x29\x66\x7a\xd3\x52\x6a\x00\xaa\xff\xdd\x35\x4c\x42\x77\xa6\xd7\xa9\xef\xc0\x1a\xdf\x43\x9c\x8f\x10\xf3\x71\x61\xde\x90\x1d\x1f\x13\x77\xc4\x26\x3d\x7d\x8a\x56\xaa\x09\x04\x41\x0a\xa2\x18\x0c\x03\x1f\xb2\xfa\xab\x68\x99\x08\x10\x45\x64\x8f\xc3\x1d\x41\xc6\x2d\xe2\x55\xdd\x00\x29\xf4\x4c\xa2\x2d\xb7\x43\x64\x78\x0d\x34\xe4\x18\x7e\xc6\x5e\x85\x19\xb1\xd3\xe7\x3c\x18\x22\xd7\x2a\x97\x72\xd8\xd3\x21\xe5\xe4\x88\x28\x05\x98\xe0\xf8\x51\x52\x8d\x58\xb5\xaa\xd1\x03\xaf\x50\xb5\xd2\x43\xde\xe8\x4f\x8c\x8e\x4b\x8a\x19\x1e\x03\xf8\x04\xb5\x17\x28\xaf\xac\xda\x09\x47\xd5\xc5\xa8\x2e\x3e\xc1\x99\xb4\xa9\x5f\xb6\x69\x71\xf4\x2a\x52\x07\xaf\xe7\x92\x27\x8f\x35\x46\x06\x71\x3d\x8e\x7e\x38\xff\x0e\xce\xd2\x2c\x89\x3f\xc1\xc2\x21\x8f\xfe\x18\x26\x6d\xfc\x6a\x9a\x11\x6f\xef\x93\x47\xee\xef\x8b\xb5\x44\x9b\x4f\xf5\xb7\xa6\x4d\x8d\xb6\xf7\x65\xce\x0e\x36\x9d\x98\x50\x8a\x8a\xd5\xdc\xab\xec\x6e\x47\x87\xe9\xe4\x7d\x03\x10\x75\x71\xcc\xdf\x19\xd1\x18\x21\xd7\xb4\x38\x47\x7c\xe8\x7a\x59\x70\xed\x66\x76\x4d\x60\x13\x00\xf1\xf8\xd1\xd2\x9b\x66\x10\x03\xeb\x0c\x80\x98\xd0\x49\x64\x9b\x0e\x8b\xf4\x9b\xed\x21\x17\x90\xbf\x3f\x22\xa8\xc0\xc5\xa6\x61\x7b\xbd\xf8\x7c\xa6\xb8\xde\x52\x6d\xa2\x93\x35\xaf\x42\x8d\x66\x29\x1a\x5d\x02\x90\x6a\x76\x7e\x4b\x41\x9f\x71\x78\xca\x38\x8a\xc8\xea\xec\xc4\xf5\xb2\x18\x7b\x92\x16\xd9\x8c\x1a\xbc\x33\x49\xc2\x1a\xc0\xfc\x36\x3e\xa8\x34\x49\x42\xd0\x01\x93\x44\x15\x24\x5e\x02\x74\xf2\xd2\xba\x51\xa5\xd5\x27\x76\x6d\x02\x8b\x46\x08\xdb\xbc\x80\x37\x02\x16\x87\x11\x55\x53\xc8\x30\x29\x68\x8a\x41\xa3\x41\xed\x7b\x13\x13\x0d\x85\x64\x7e\x97\x66\xf4\x3c\x0e\xd3\x95\x03\x6a\x27\xdf\xf9\x56\xcb\x88\x8c\xcd\x31\x8b\x3a\x78\xac\x78\xc5\x29\x56\x47\x14\x67\xd8\xa7\x2c\x8b\xfd\x18\xbb\x99\xdd\xc0\x5e\x7e\x2e\x24\xb3\xcd\x58\x41\x89\x71\x88\x97\x03\x18\xce\x31\xf5\x86\x11\x2d\x3e\x01\x2a\x9a\xa0\x72\xcc\x86\x6b\xf1\x73\x90\x07\xe9\xbb\x22\xb6\x70\x23\x1a\xa3\x4f\xa0\xeb\xcf\xce\x32\x2c\x91\x9d\xbc\x27\xea\xdd\x77\x6f\xdf\x1e\x77\xcf\x5f\xbd\xfd\xbd\x18\xe8\x5f\x26\xcd\x56\xf6\xdd\xfb\xe3\xb7\xe6\x20\xc3\xc2\xb3\xb3\x40\x32\x59\xe5\x97\x76\x84\x76\x9a\xbb\x3d\xd2\x5a\x68\xb5\x36\x30\xa5\x71\xa4\x49\x0a\xde\x45\xb0\xda\x04\x73\x66\x3f\x0b\x55\xa7\xd0\x83\xc1\xf5\x7c\x8b\x40\x24\x6c\x64\x74\x08\x29\xa2\x8d\x6c\x53\x96\xb0\x5a\x2c\x54\x76\x35\x99\x9e\x47\xa3\x3e\x0a\xee\xc5\x3d\x4d\x41\xd9\x35\x93\xa4\x92\xf4\x79\xe9\x5b\x0a\x9b\x2c\x5c\x58\xe0\x53\xc4\xc5\xea\x0d\xec\x65\xd9\x6c\x55\x88\xa2\x3a\x4a\x07\xd8\x58\xfe\x3e\xfa\x14\xc5\x37\xd8\x77\xb8\x51\xd1\xb3\x51\x7a\x53\x4e\x7f\x4f\x0c\xa1\x4a\x4b\x4e\x26\x86\x0f\x33\x83\x10\x40\x5b\x06\xa0\x35\xbd\x63\x0b\x6c\xb5\xbe\x3c\x43\xad\x30\x36\x56\x78\xa6\x2e\x9d\xd4\x0a\xcf\xd4\x95\x4e\x65\x43\x03\x38\x85\x1e\xe9\x58\x94\xbd\x59\x21\xf3\xcc\x8f\xb0\x77\x7e\xfe\x87\x39\x73\x0c\x01\xa2\x7e\x10\x9e\x3a\x61\x91\x48\xe2\x35\xe0\x4e\xb2\xe1\x79\xfc\x09\x46\x46\xc3\x89\xde\x1e\x53\x66\x77\x0d\x19\xb9\x2d\xa4\xce\x88\x52\x19\x1a\xe3\x1d\xfd\xa3\xe6\x30\x0a\x50\x36\xfb\xbd\xaf\x1a\x8f\x39\x17\xd6\x9b\xba\x21\x41\xda\x5a\x76\xc6\xb3\xaf\x34\xc8\x56\xaa\x30\xaa\xcc\xed\xa5\xc6\x89\x38\x80\xf1\x11\x63\x10\x0d\xb0\x27\x9f\x9c\xcc\x89\xa7\x1e\x71\x72\x2e\x7e\x71\xdd\x4a\x2a\x20\x57\xf2\x98\x7e\x22\x1a\xdd\xd0\xeb\xe2\x1f\x7e\x24\x0c\x26\xa3\x57\x64\x7b\xea\x4a\x34\xb0\xfb\xb1\x63\x78\xb9\x41\xa8\xc1\xe4\xf8\xa5\x57\x81\xfe\x0e\x58\x5c\xfd\x3d\x5a\x05\x16\x28\x33\x28\xeb\x56\x0e\xca\x12\x74\xf8\xbb\xaa\x81\x40\xc2\x46\x34\x7e\x5f\x1a\x5e\x64\xf5\xe2\x70\x34\xb1\x2d\xfd\x6c\x6d\xb4\x6b\x86\x35\x50\xaa\xfd\x04\x29\xdd\xdb\x63\x24\x58\x21\xf3\x2b\x6b\x46\x10\x63\xab\xef\xf4\x24\xa1\x33\xd9\xc2\xda\x91\x18\x63\x7c\x97\x43\xc8\x77\x98\x64\xe4\x3b\x91\x3c\x45\x59\xcf\x1a\xeb\xc4\x4a\x57\x10\xc0\x00\x7d\x2f\xc1\x73\xa2\xbc\xd7\x00\x29\x6f\x68\xbb\x21\x8d\x8f\x2f\xd0\x41\xc3\x86\x3d\x72\x39\x67\x38\xcc\x21\x04\xcd\x16\xa6\xfa\x6b\x00\xbf\x9a\xd5\x6c\x34\x1a\x4a\xb6\x4a\x9a\x34\x3e\xa9\x6d\xe3\x14\x6f\xaa\x00\x7e\x81\x7d\x16\xc6\xf8\xd8\x1d\x41\x91\x17\x40\x1c\xd3\xdb\x2a\xe9\x4d\x90\x79\x43\x82\xec\xa2\xa1\xbd\x4d\xc1\x49\x71\x53\x08\xb4\x29\x6b\xcf\x2a\x95\x62\xd7\x62\x50\xc7\x87\x5e\xec\xc3\xef\x4f\x5f\x75\xe3\xd1\x38\x8e\x60\x94\x39\xea\x3b\x25\x23\x77\x4c\x5f\x29\xc9\xe2\x9e\x43\x9b\x50\xad\x89\x03\xd2\x46\x1f\xfb\xa3\xa6\x4d\xe5\x77\x15\xb0\x06\x9c\x4a\xa3\x81\xfe\xf5\xea\xde\xd0\x4d\xba\xb1\x0f\x0f\x32\xa7\x51\xad\x67\x31\xd9\xd4\x70\x9a\x5b\xd5\x2a\xe5\xcd\x7a\xcb\xc0\x9c\xbc\x63\xea\x1f\xe3\x20\x72\x2a\x95\xaa\x69\x38\xb1\x3f\xe5\x25\xb8\x22\xfe\xa1\x99\xdd\xce\xbd\x05\x10\xc9\xb6\x40\xa9\x0e\x51\xf6\x50\x19\x9f\x1f\xa4\x5d\xb2\xe5\x61\x27\x07\xcb\xa8\x64\xa2\x08\xde\xd6\xf3\x29\x92\x5b\x23\xd4\xe8\x08\x48\x1f\xac\x45\xdc\x54\x2a\x6e\x8f\x3b\xc9\x62\xd1\xaa\x5a\xa8\x45\x5e\x1c\xa5\x71\x08\xeb\x61\x3c\x70\x56\x8f\x23\xb7\x17\x22\x63\x93\xcf\xf0\x7b\x60\x15\xac\x29\x35\xac\x81\x55\x90\xa2\x2f\x3f\x5d\x9d\xcb\x2b\xd1\xd0\x91\xd0\x2c\xcc\xa4\xbb\xf2\x3a\x0b\xaf\x74\xe6\x68\x51\x7c\xd9\x81\x6b\x5c\xae\x89\x8b\xa7\x8b\x7c\xa7\xd3\x64\x75\x88\xd2\x91\x9f\x1d\x39\xab\xc2\xb2\x06\x53\xe6\xaf\xe6\x27\x15\xe2\x1f\x5a\xa1\xab\x5c\x33\x1c\x12\xb1\x3f\xd5\x0c\x23\x93\x08\xbb\xa5\x30\x7f\x0e\x91\xd9\xc6\x0d\xab\x32\xc6\x61\x41\xcb\xf1\xce\x69\x11\x2c\xb6\x0f\x6d\x00\x77\x35\x4d\x6e\x8c\x53\x16\x58\x48\x20\x90\x89\x69\x3e\x3f\xd0\x88\x61\x1b\x12\x76\xe3\x55\xbc\x24\xa3\x76\x81\x9d\x06\x69\xa3\x08\x14\x2f\x90\x89\xf1\xaf\x2e\x8e\xf9\x1a\x89\x65\xeb\xcb\xe2\x6f\xe9\x11\x92\x39\x5e\x02\xa8\x43\xf1\x2e\x03\xd2\x4f\x07\xbe\x1f\x47\xce\x6a\x3f\xc8\x56\x05\xa7\x80\x9f\x4a\x3a\x05\xfc\x64\x74\x0a\x98\x73\xfa\x62\x74\x17\x30\x9d\xf8\x6b\x3b\xfb\xf9\xc6\x0d\x2a\x5c\x8f\x6f\x22\x98\x1c\x31\x6f\x30\x32\x54\x98\x2f\xd2\xaa\x1f\x5c\x6b\xc7\xfd\xb4\x3c\xb9\x1a\xfc\xd6\x1d\x21\x4c\xab\xf8\x72\xe6\x7a\x4c\x0e\x35\x57\xcd\x25\xf2\x61\xde\x6a\x34\x1a\xda\x82\x12\xd9\xc4\xaf\xf3\x67\xcf\xec\x12\x2c\x0c\xd6\x7e\xa0\x0d\x55\x51\x89\xd1\x57\xf4\xc9\xeb\xf8\x66\x40\x51\xd1\x51\xeb\x46\xc0\x40\x76\x80\xd7\xc0\xea\x14\x4d\x23\x7a\x3e\x36\xd0\xd9\x90\x97\x9b\x59\x70\xde\xc7\x2e\xc1\xac\xa2\x81\xbd\x5a\x9b\xdb\x54\x99\x37\x6a\x3b\xe8\xfd\x55\xed\x72\xcb\x2a\x29\xa6\xe2\xb7\xe1\x94\x14\xd0\x9d\xf1\x38\x08\xeb\x21\x24\x34\x35\x3c\x4c\x2c\x4e\x19\xaa\x73\xf6\x32\x4e\x19\x9c\xf9\x92\x5b\x06\x67\xb9\xf5\x64\x4f\xad\xbb\x84\x6f\x46\x8e\x39\xbf\x22\x66\x3b\x3e\x56\xd1\x2f\xe3\x61\x31\x67\x5c\xb3\xd1\x95\xc1\x69\xd6\x25\x01\x5f\x4c\x7e\x18\x5c\x07\xd4\xf1\xe5\x06\x1f\x07\x0d\x92\x9c\x09\x84\x1e\xe4\x3b\xe7\x82\x84\x6a\x4f\x4a\xca\x97\x27\x35\x68\xd3\xe6\x77\x19\x67\x10\x11\xc9\x22\x13\xfc\x55\xde\x42\x72\x50\x49\x5a\x78\x65\x69\x22\x20\x73\xaf\xcd\xbb\x64\x6e\x4f\x96\xf3\x07\x51\x19\x49\x7d\x53\x89\x03\x7d\x27\xef\x14\x23\x27\xb4\xb6\x58\x9a\x22\x51\x6c\x94\xba\x05\x3c\x40\xb8\x9b\x6f\x46\x61\xf1\xbf\x65\xc5\xbb\xa4\xe3\xc7\xfc\x61\xb8\x88\x9b\x05\xd7\x8e\x68\x24\x4a\xda\x6b\x21\x6f\x88\xb2\x63\xb8\xb4\x3b\x84\x4c\x9c\x41\xb9\xce\x25\x8f\x6a\x34\xfc\x53\x75\x55\x28\x4b\x6e\x59\x5f\x05\x7e\xb3\x8e\xb0\xd1\xac\xcf\x51\x36\x6d\x88\x11\xa0\x17\x4e\x12\xc3\xa1\xbf\x3e\x78\x1e\xc2\xd9\x00\x2b\xa0\x12\xb5\x15\x1f\x6d\xd2\xd9\xd0\x74\xa3\x2f\xef\x33\xc3\x0c\x68\x71\x6a\x4c\xb3\x24\x9e\xd9\x7d\x13\x7e\xb2\xf9\x26\xfc\x24\xf8\x26\xfc\x64\xf6\x4d\xb8\xdf\x8b\x21\x0f\x6f\xec\x62\x5f\x53\xeb\x7d\x21\x7c\x43\x1c\xbb\x21\x17\x83\xb1\x6b\x45\xe4\xfc\xc8\x0e\xd7\xca\xe1\xc8\xc1\xb6\x1d\xb4\x49\x41\xa9\xc9\xcb\x55\xda\x00\xb2\x5b\x01\x87\xb3\x57\xbe\xb3\xca\xee\x89\x21\x59\xc6\xb7\x2d\x10\xfc\x23\xe5\x9e\x05\xdb\x8b\x27\x5d\x89\xc3\x86\xc5\x88\x50\xd2\x5f\x1d\xb0\x8a\xd9\xb0\xaa\x5e\xce\xa7\x06\x35\xe5\x51\x5d\xf1\xe5\x15\x0d\x21\xc3\x05\x7d\x5a\x78\x2a\x14\xfe\xc9\x5c\x98\xf4\x43\x36\x4e\xf1\x4e\x06\xf4\xf3\x98\x91\x61\xec\xb9\xf9\x89\xa8\x17\x87\x94\xd8\x6c\x9c\xee\x51\x7b\x1b\xdf\xc6\xc2\xfe\x1f\x8e\x84\xe3\x05\xa8\xdc\xa4\xe9\xde\xd3\xa7\x38\x82\xd0\x0d\xfe\x85\x8c\x5a\x15\xf3\x30\x4e\x33\x43\xf2\xd8\xcd\x86\x11\x32\xf3\xd7\x50\xe1\x4a\x5e\x17\x3d\x41\x52\xe1\x53\xe8\x26\xde\x30\x07\xeb\xf3\x23\x29\xc4\x04\xa1\xbf\x75\x47\x0e\xe2\x47\xc1\x44\x47\xf3\x16\xc1\xf2\x92\xe5\x88\x08\x94\x74\xac\xd6\x97\x0f\xd3\x48\xdf\xba\x93\x6c\x78\x95\xe1\x33\xb5\x1c\x11\x56\x23\x09\x96\xba\x9b\x4c\x5a\x62\x5b\x0d\xea\x49\x84\x16\x7b\x56\x83\x9d\x61\x94\xd4\x1b\xd1\x6c\xa2\x93\x45\x75\x7f\xe5\xce\xb0\xf6\xbd\x5f\xe4\xe4\x2f\xe1\xaa\x34\x1a\xc7\x69\x80\xc8\x78\x09\xc3\xf1\xdc\x27\xea\x35\x78\x07\x99\xb0\x6e\x02\xdd\x1a\xf0\xf2\xbc\x1f\x02\x78\x53\xe3\x57\x3a\x0d\xd3\x16\x29\x83\xcf\x39\xc9\x4f\xed\xac\x53\xc2\x85\x4f\x3a\xa5\x14\x83\x22\xa7\xe7\xcb\xec\xa7\x02\x11\xa4\x94\x76\xe2\x7c\x99\xbb\x72\x08\x10\x67\x90\x84\x6c\xcc\xab\xb2\x80\x0a\xc4\xbc\xcf\x21\x3f\x83\x34\x73\x93\x6c\x0f\xab\xa2\x1a\x80\x91\x4f\x7e\x02\xe9\x7d\x7e\x8d\x85\xe2\xac\x97\xe7\x61\x54\x73\x3c\x15\xa5\x26\xc9\xce\x2b\x36\x32\xeb\x0c\xaf\xd4\x11\x75\x2c\x1b\xda\x0b\xf7\xa6\xae\x50\xd6\x2c\x95\xca\x1c\xf0\x3c\xf6\x99\xeb\xfb\x4e\x05\xdb\x35\xb0\x22\xcf\xb5\x25\x59\x32\x19\xfb\xaa\x45\x24\x06\x27\x99\xbb\xea\x2a\x6e\x09\x8d\x62\xa2\x94\x21\x75\x0a\x04\xd2\xc9\x28\x15\xc7\x7f\xa9\xf5\xce\x95\xb5\x4b\x88\xbb\xd5\x55\x99\x1e\xb9\xd3\xbc\xc7\x4b\xf2\x4e\x75\xe9\xd2\x84\xa9\x8f\xc6\x4c\xf0\x67\xb1\xa9\x8e\xb8\xfe\x9f\x5f\xdb\x27\x38\xf3\x89\xcb\x88\xad\x7f\xf8\xca\x4a\x94\xdc\xdb\x5b\xfb\xf0\x53\x79\x48\xae\x57\xa2\x9a\xba\x64\x35\xd6\x01\xad\xd6\xae\x69\x65\xa9\xbb\x6c\x71\x16\x4a\x5f\x3c\xb0\x99\x82\xb6\xb9\x85\x08\x53\x13\xb7\x4d\x89\x3b\xf7\xae\x5f\x2f\x6e\xed\x12\x12\xe4\xd0\x86\x51\x5e\xb5\xcf\xe7\x14\xae\x66\x88\x8f\xa8\x0f\xa2\xd9\x39\x95\xbd\xee\xd0\x8d\x06\x30\x55\xb7\xa0\xcc\x4d\xd2\xbc\xe4\x72\x3d\x54\x42\x66\x0c\x4d\x94\xe4\xe7\xc6\x0d\xb2\x93\x38\x41\x93\x5b\x3c\x70\x55\x91\x58\x70\xbc\xe7\xaa\x88\x2c\x1c\x54\x6d\x04\xca\xcf\x15\x64\x1f\x85\xf2\x8b\x0d\x64\x47\xd9\x8d\x79\x54\x4c\x3d\x58\x6c\xe2\x61\x0d\x0e\xe8\x22\xdb\xa4\x2e\xd2\x49\x8f\xf8\x4f\x38\xc5\xfa\xbf\x66\x9f\x1f\x60\xa4\x1e\xc4\x49\x13\x2c\x95\x96\xc4\x51\x3d\x08\x0a\x2f\xf8\x60\x53\x8c\x44\x82\xe8\xea\x75\x62\xf3\x4c\x1f\x03\x74\x32\x9d\xd3\x12\xad\x18\x9e\x76\x8b\x9a\x27\x17\xb9\x33\x34\xd6\xd2\x21\xf2\x0c\x0b\xca\x2a\x7e\x20\x1d\x9a\x95\x51\x73\xec\xcf\x5e\xc2\x2c\x1e\x26\x31\xb9\x8e\x03\x1f\x34\xcc\x70\x22\x55\x5c\xe2\x8b\x0e\xe2\x18\x52\xe3\x5c\x95\x0b\x5f\x51\x57\x33\x01\x2c\x84\xd1\x85\x90\x77\x97\x31\xd5\xa2\x45\x1f\x9c\xec\x85\x88\xba\x2a\x37\x70\xcc\x48\xee\xe4\xc3\xd7\xbb\xb2\x0a\xd5\xa6\xcc\x97\xf4\xca\x8b\x43\x1f\xc7\xe7\x37\xeb\x9b\x05\x2d\x20\xac\x13\x4b\xc9\x1b\xaa\x3a\x82\x37\xac\x6a\x53\xbf\xe9\x0c\xc4\xc1\xe9\x82\x7e\x9f\x2c\x1d\x71\xd9\x7a\x02\xc7\xa1\xeb\x41\x87\xb5\xa3\x06\x2a\x15\xcb\x99\x36\x2a\x4a\xed\xad\xa2\xf3\x6c\x4b\xaf\xa2\xd2\xf3\x3b\x75\x49\x3b\xce\x6a\x84\xca\x67\x1e\x31\x8e\x33\x3f\x49\xd2\x92\x97\xf5\xc8\x5b\x20\x73\xba\x83\xcc\xea\x26\x3d\x4f\x95\x7a\x8a\x5f\x88\x90\xb9\xc2\xa2\x3a\xfc\x69\x02\x93\x19\x89\x55\x10\x27\x4e\x85\x03\xac\x93\x72\x15\x65\xc2\x24\xa9\x2a\x05\x7c\x3f\xea\x94\xdc\x11\x2b\x57\x15\x39\xab\x4c\xe2\x9b\x54\xed\xf0\x9c\xee\xf3\x78\x0c\x3a\x39\xee\x3c\xb8\x05\x58\xa3\x10\xa6\x78\x17\xc0\x66\x5f\x90\x87\x06\x42\xd8\x47\xba\x46\x2a\xff\x1a\xa5\xad\x81\xca\x78\x5a\x29\x8d\x27\xc3\xc4\xe5\x84\x2e\x58\x7c\xc8\x9e\x25\x90\x08\xa1\x0f\x06\x2c\x88\x2b\x0c\xa2\xfc\xf5\x8d\xb2\xf8\x88\x53\xaf\x84\x0e\xbf\x89\x90\xe6\xfe\xbd\x72\x5d\x96\x47\x13\x8c\xc6\x08\xd5\x04\xcb\x72\x5c\x41\x50\x9a\xd5\x4a\xb9\x1b\xfa\x34\x85\xb1\x99\x34\xb7\x2c\xae\xbc\xbf\x8c\xc8\x86\x73\x3a\x4e\x65\x89\xd4\x63\x8b\x60\x94\x97\x10\x8f\x2c\x4a\x05\x14\xe8\x7c\xb6\x10\xb8\x9a\xb3\x80\x26\xab\xcb\xc2\x99\xae\xc4\x12\xd7\x64\x88\xcf\x3b\x34\x31\x49\x8f\xb6\x91\x61\x94\x11\x06\x65\xbe\x31\xa2\x90\xa9\x5f\x1c\xd1\x37\xdb\x0c\x85\x2c\x2f\x93\x6b\x4c\xb0\x04\xe1\xb8\xdf\x33\x10\x0f\xbf\xc5\x78\x9c\x7a\xee\x18\x9e\x91\xd8\x7a\x30\xb5\x9e\x00\xb0\xb3\x02\xf6\x04\xbb\x3d\xa8\x19\x05\xc4\xa7\x8d\xb9\x63\x7a\xd1\xb6\xa5\x08\xea\x5c\x59\xf7\x25\xaf\x84\x6d\xc4\x2b\x79\x1f\x91\x88\xa5\x88\x47\x7c\xd3\xd0\xf7\x11\xd5\xf2\xe1\xe2\xd0\x4d\x6a\xc0\xc3\x01\xcf\xe4\x1d\x10\x94\x03\x9e\x77\x40\x05\x54\x4c\x53\x9d\x37\xbc\x62\x7a\xe5\xc6\xc3\xbf\x1c\x8c\x65\x5f\xb3\xa5\x64\x9a\xb1\x1b\x6f\x0a\x71\x20\x28\x73\xce\x05\xfa\xd7\xe8\xc4\xec\x11\xea\x8b\x8a\x15\x6d\x62\xe0\x7b\x02\xe4\xd1\x23\x19\xc3\x0c\xac\x69\x49\x3d\x57\x5d\xb6\x60\x45\xc3\x9b\xad\x93\x3f\xb5\xad\xa8\x14\x38\xa4\xf4\x70\x70\x1b\x27\x89\x6f\xaa\x17\x2a\x16\xb0\x0e\x9a\x56\x17\xee\xdc\x16\x5a\x0c\xdf\x45\xcb\x8a\x72\x69\x2a\x5b\x97\x55\x2b\x42\xa0\xc9\x6a\x29\x84\x17\xcd\x4b\xb0\xd6\xc1\xfd\xfc\x80\xeb\xaa\x65\xf8\xb5\x1c\x21\x0a\x2e\x32\xa9\x9c\xa2\x95\x8d\xca\xde\xd9\x5c\x2b\x1c\x18\xac\x5a\x1d\xca\xd0\x73\x53\x64\x16\x32\x31\x5d\x07\x4d\x34\x88\xd5\x21\xa3\x5c\x26\x2e\xc0\x76\x93\xb8\x63\x37\x41\x73\xf1\x1b\x45\x49\x14\x34\x7c\x0a\x3a\xb6\xc5\xbc\xca\x87\xb5\x35\xfb\xa2\x5f\x1b\xa6\xcf\xd5\xe2\xc4\xab\x8e\xf8\xd4\x15\x09\xb8\x8a\x69\x7d\xdd\x5c\xab\x01\x96\x54\x21\x6e\x32\xab\x7f\x0f\x2b\x94\x9a\xa0\xd4\x83\xf4\xc7\xc4\x1d\x8f\xf1\x09\xac\xbe\xb9\x63\xa7\x42\x4f\x29\xa0\x89\xa8\x7c\xa6\xd3\x3b\x1d\xd0\xb2\x8f\x6e\x93\x58\xea\x15\xca\x5f\xf7\x54\xbc\x0a\x54\x10\xa5\x30\xc9\x6c\x12\xd9\x8f\x13\xe0\x20\x6d\x3f\x8a\xaf\xf1\x9e\x42\x63\x9f\xfe\x7c\xc6\x47\xc6\x3e\x58\x5b\xc3\x69\x36\xb1\x21\xb7\xca\x10\x88\xaf\x13\x6e\xef\x2e\x4b\x8b\xaa\xf5\x71\x6c\x75\xd4\x46\x0d\xa4\x55\x5d\xb4\x2e\x31\xf7\x1b\x56\xe6\xeb\x13\x4f\xb1\x42\xc3\xb7\x68\x91\x72\x7d\x78\x8c\x8c\xd8\xd6\x02\x43\xaf\x24\x6a\xd0\x01\x5a\xde\x24\x39\xc8\xb2\xa4\x86\x2c\x92\x1a\x68\x5e\xde\x43\x31\xcb\x44\xd4\xd3\x31\xbe\x3e\xa4\x2a\xb1\x1a\x68\xd4\xe6\x52\xb1\xc0\x6e\xca\xc2\xdc\x98\x16\xb2\x81\x9a\x6e\x54\x9e\x2f\x0d\xab\x2d\x01\x93\xaa\x66\x97\x9f\xa9\x0c\x8a\xc2\x76\x32\xf4\x30\xed\xac\x54\x6a\xa0\x61\xe8\xed\x79\x4d\x54\xcf\x9b\xe8\x62\xc8\x62\x1c\xf7\x60\x18\x2e\xb1\xfb\x68\x32\xc8\xae\x83\x74\xe2\x86\x87\x50\x8f\xa9\x66\xdf\xa5\x52\x50\xb0\xed\x22\xb2\xa8\xeb\xc5\x89\x0f\x93\x6e\x1c\xe2\x3d\xac\xca\xcd\x30\xc8\x60\x65\xfe\xae\xa6\xbc\xc2\x2d\x89\xbc\x82\x97\xba\xcd\x86\xc9\x65\x37\x47\x31\x8e\xc7\xef\x22\x53\x0b\x15\xb8\x7e\xec\x4d\xa4\x13\xba\x32\x5d\x81\x84\xe5\x04\x42\xfb\x49\xb0\x69\x55\x11\x47\xd7\x30\xc9\x8e\xe3\x79\x14\x29\xa6\x89\xb5\x07\x24\xc3\xe4\xfe\xc6\xc8\x3c\x03\xc4\x6c\x74\xd8\x3d\x9d\xd5\x46\x95\xb3\xf1\xd4\x62\x22\x15\x65\x7a\xc6\x73\x93\x24\x70\x07\xf0\x94\x08\x56\xe1\xfe\x85\x91\xe5\x73\xc6\xa0\xeb\x7d\xc2\x4f\xab\x2e\xd2\xf3\x53\xab\xbb\xf7\x3d\x1a\x9a\xb9\xbd\x45\x5a\xa7\x24\x45\x70\x9a\x9d\x65\xf9\x7c\x5f\x5c\x57\x3a\x0c\xfa\xd9\xbb\xc9\x1c\x2f\x1a\x41\x36\x60\x36\x78\x0d\xaf\x61\xc8\xef\x02\x97\xc0\xff\xaa\x74\x6f\xe5\xe8\x1b\xa5\xd0\x13\x53\x0c\x6f\x87\x48\x55\xe0\x88\xfc\xa9\xaa\x45\x71\x2a\xbe\x48\x51\x03\x1f\xd1\xec\x95\xf7\x0b\x09\xe1\xdf\x21\xff\xe6\x71\x65\x59\xb7\x93\xec\x67\xa0\x29\xdb\xa5\xac\x54\x33\x87\x5e\xd2\xd4\xfc\xa8\x17\x9a\xe6\xb9\x38\x92\xbf\x3a\x47\xc1\xc4\x4d\x21\x9a\xa5\x9c\xaa\xc1\x2c\xa1\x91\xaf\x31\x85\xeb\xeb\xc8\xcc\xfa\x08\x9e\x2d\x31\x4c\xcd\xd6\xca\xc7\xb5\x35\x6c\xa0\x78\x43\xd3\xde\xb3\xb5\xb4\x62\x86\x96\x1a\xf5\x78\xc7\xf9\xfb\x71\xd9\xee\x2d\xd3\x87\x4a\x8b\x0d\xbd\x68\xd7\xcc\x60\x9d\x56\x30\x47\x41\x3f\x9b\xab\x17\x66\xa6\xc9\xa0\x0c\x33\x8e\x54\x0f\xa2\xaf\xc9\x8e\xb5\x72\xec\xd0\xa7\x08\x53\x44\x0c\x03\x87\x0c\xa5\xc0\xba\x99\xb6\xaf\x39\x37\xe1\x8e\x39\x89\x93\x1b\x37\xf1\xbf\x91\xbe\x99\x96\xeb\x9b\x65\x59\x64\xd8\x0b\x25\xeb\x27\x8d\xb6\x32\xac\x3b\x74\xbd\x4f\x5f\x93\x77\x5f\x54\x76\x8c\xec\x2b\xa5\x47\xa6\x25\xf4\x88\xd1\xa8\x2c\xc3\xf3\xb7\x70\x9a\xbd\xc6\x4f\x94\x7e\x13\xf2\xfa\x4d\xe9\x92\xb9\x56\x64\x09\xfe\xbe\x4f\xa0\x07\xfd\x20\x1a\x7c\x53\x4c\xfe\xb2\xf3\xd7\x43\xf1\x0e\x99\x74\x07\xbd\x34\x0e\x27\xd9\xb7\xc2\xba\x29\xc3\x9f\xcb\x4c\x99\x51\x66\x3c\x70\x35\xb7\x02\x1b\xa6\x5e\x1c\xaa\xd6\x24\x6f\x95\x2c\xad\xbc\x65\x29\xf7\xc9\x31\x6c\x88\xe0\x1b\x32\x0c\x45\xf3\xd2\x26\xf0\x86\xdd\x59\x52\xd2\xd8\xc5\x78\xd3\x30\xbe\x31\x49\x09\x21\xd9\x58\x8a\x3b\x12\x23\x98\x72\xa3\xd8\x68\x4e\xcf\x33\x02\x10\xe1\x06\xca\x0a\xda\xc3\x29\x43\x30\xe5\xd4\x3e\xc1\x56\x72\x0a\x04\x66\x71\x92\xfa\xda\x30\xbc\x92\xf8\xa6\xbc\xa0\x51\xeb\xe3\x5c\x59\x3d\x96\x1c\x30\xe0\xf6\x56\x24\x5b\x5e\x3e\x2c\x6e\x0b\xa8\xab\x50\x50\x72\x66\xc2\x8b\x9a\x57\xd1\x51\x90\x8e\x43\x77\x56\xa2\x21\x1f\x85\xad\x28\x1a\x89\x8a\xb7\x49\xbf\x83\x9a\x42\xd0\xd0\x63\xf0\x98\x16\x56\xa7\xc1\x60\xa8\x6d\xb0\x4f\x6b\x5a\x2f\x19\xb6\x60\x0d\x6b\x39\xb4\x00\x6c\xea\x90\xf8\xac\x60\xdf\xb4\x32\xc3\x41\xbe\xc1\xc7\xb5\xb5\x92\x87\x5e\x98\x66\x34\xcf\x38\x1f\x4b\x1d\xee\x19\x42\xf3\x60\xee\x34\xcb\x71\xe7\x35\xec\x3f\x20\x73\x74\x28\x2a\x7e\x1f\x75\xd1\xfb\xc2\xed\x6f\xe9\xed\x37\x50\xac\x87\x60\x57\x88\xbe\x3f\xc9\x36\x02\xdb\x3a\x81\x38\x56\x23\xd9\xfe\x73\xbd\x4f\xf4\x15\x5d\xe3\x42\x9c\x4e\x13\xeb\xe5\xda\x83\xdf\x09\x95\xf1\x16\x38\x7d\x1a\x2b\xcc\x92\x60\x74\x96\xb9\x49\xa6\x20\xb2\x9c\x45\x99\xf6\x48\xf8\x03\x48\xee\x54\xb3\x52\x70\xfe\xba\xd2\x78\x73\x48\x26\x13\x7a\x3f\x48\xc7\x45\xe8\x71\x7e\x39\xf4\x73\x25\x6c\x01\xe5\x57\xc2\x5c\xfc\x56\x54\xdd\x57\x53\x23\x0b\x8c\x5f\xeb\xb0\x5b\xbc\x9a\x32\x9d\x48\xb6\x24\x51\x05\x0b\x6f\x49\x2e\xb1\x1d\xb9\x88\x3d\xfb\x70\x5b\x93\xcc\x00\xd3\x35\x89\x78\x0c\x51\x0e\x85\xb9\x7a\xb0\x0e\x3e\xca\x73\x66\xb1\x45\x62\x75\x22\xa2\x2a\xaf\xd3\xb1\xa8\xc4\x91\x3b\x7d\x8d\x41\x4a\x1f\x24\xe6\x3a\xcd\x14\x0e\xd3\xd4\x18\x93\xc3\x87\x49\xd7\x98\xe0\x92\xf8\xc6\x94\xfc\x51\x4d\x2c\x71\xd2\x4b\xf7\x6e\xb1\xac\x35\xb4\x51\xd6\x0b\xdd\xe8\x13\x19\x17\xc9\x04\xaa\x51\x2a\x8b\x10\x7e\xac\x81\xa6\xf1\xb0\x68\xb9\x73\xde\xf2\xa5\xa4\x33\xaf\x32\x86\x32\x79\xa1\xfa\xd7\xb1\x79\xff\xb1\xf9\x37\x31\x2e\xc1\x7a\xc7\x64\x95\x9b\xcd\x00\x0d\xb4\xfc\x88\xc3\x9a\xec\x61\xc7\x1c\x16\xca\x7f\x56\xa3\x6e\x99\x43\xba\xa5\x4e\xe8\x7e\x81\x61\x77\xef\xf3\xb8\xa5\x0e\xdd\x74\x43\x49\x15\xf4\x39\xa7\x6f\x93\x74\xe8\x48\x27\x76\x65\xec\x19\xd2\xdd\xcb\x1d\xc0\xdd\x67\x53\x41\x12\x77\xe3\xe8\xd5\x7a\x89\x85\x39\x1c\x97\xe4\xcc\x12\xc8\x89\xd8\x17\x8f\xe5\xea\x3d\x87\x25\x6f\xc6\x2f\x33\x3c\x49\x81\x65\x0f\x15\xbf\x4a\x17\xb3\x5e\xf8\x52\xbd\x8c\x45\xe8\x6f\xa8\x8b\xb1\x6a\xfa\x25\xbd\x24\xbe\x8e\xe9\xf3\x2d\x7a\x4c\x5c\x7c\x5c\x5b\xbb\x04\x1d\x89\x8d\x8b\x1f\x8b\x7e\x1b\x9b\xba\xe3\x04\x5e\x2f\xb3\xa9\xeb\x0d\xdd\xe4\x7d\x9c\x7e\xfb\xe7\x39\xe0\xdb\x3c\x22\x7f\xc9\xce\x90\xd8\x23\xe9\xdf\x0c\x07\xff\x59\x78\x18\x24\x70\x0c\xdd\x8c\x9f\xc6\x22\x3d\xe8\x7a\x99\x12\x5b\x79\x91\x11\x55\x03\x21\xd9\xa2\xb3\x8e\xfc\x72\x93\xcd\xac\x5a\x23\x8a\x0a\x15\x34\xdf\x05\x42\xf5\xa9\x39\x3e\xec\x5b\x7c\xd1\x8b\x07\xb8\xb1\x96\xe5\xb4\x53\x0a\x23\xff\x08\x5e\x07\x1e\x56\xa7\x41\x6f\x92\xcd\x5d\x51\xe7\xa7\x95\x88\x8d\x86\x8d\x64\xbb\x7f\xb2\xc9\xcf\x79\x9c\xc0\x7e\xa0\xdd\x7a\x33\xdd\xd6\x48\x9d\x0a\xbe\xbe\x5e\xa9\xf2\x38\x4a\x72\x6e\x32\xbd\xce\xd6\x27\x51\xe0\xc5\x3e\xb4\x02\xa5\x5e\x02\x61\x54\xa9\x96\x58\x8e\xe2\x77\x5c\xb4\x2b\x9d\xf5\x6e\xa3\x7e\x7c\xd6\x05\x6b\xa0\x72\xf1\xa2\xb9\xdf\xf2\xd4\x3b\xf7\x96\xa0\x4b\x06\x5a\xc2\x20\x9a\x4c\x1f\x8a\x94\xad\x02\x42\x0c\x07\xa4\xc6\x6e\xc0\xcb\xf8\xca\x73\xed\xae\x66\x71\x77\x3c\x08\xfd\xcf\x1b\xfb\xad\xed\xad\xfd\xc6\x3d\xd8\x29\xf7\xff\xc3\x50\xb5\xb3\xb9\xbf\xbb\x79\x2f\xaa\x16\xec\xe4\x7c\x68\xad\x81\xca\x3d\xaa\x7d\x50\x39\x7f\xbe\xd3\xde\xdf\x68\x34\x1a\xed\x42\x4e\x94\x75\xcb\xff\xf6\x4c\x88\x59\x69\x13\xe2\xcb\x7b\x2d\x15\xf3\xef\x87\x6f\xd4\x84\xf8\xa6\x9c\xbe\xbe\xa2\x03\xe9\xcb\x1f\x4a\xfa\x09\xc9\xd3\xa8\xd9\x23\x1d\x67\x75\xcc\xae\x42\x17\x4d\x7b\xa9\xa6\x52\xca\x26\xed\x66\x57\xa4\xaf\xd2\x65\x36\x9b\x5e\x77\x75\xfa\x06\x0d\xd3\xcc\xed\x75\x43\xe8\x2e\x65\x88\x1a\xc7\x62\x47\xb7\xaa\xc8\xe6\xab\x4a\x6f\xe6\xf6\x52\xfd\x22\x9c\x89\xc1\x7c\xae\xa0\x14\x74\x3a\xa0\x3d\x87\x3f\x08\x39\xe8\x80\xcf\x77\x8b\xda\x94\xf8\x4e\x6d\x69\xf9\xcf\x03\x51\x69\x1a\x88\xdf\xc1\x0d\xc8\xfd\xdb\x00\x3c\x03\x52\xa1\x7d\x10\x98\x5d\x6b\x70\x53\x28\x25\xce\x05\xe5\x76\x70\xa9\xde\xb4\xbc\x7b\x70\xcb\x75\xee\x89\x3e\x60\x47\xdc\x1b\xe6\x47\xc4\xd4\xb9\x9c\x5f\x52\x2e\xbc\xb8\x6d\x79\xa2\x8b\x9c\xa5\x1b\xfc\x07\x2c\x65\x96\x35\x19\x5f\x68\x26\x63\x79\x3e\x18\x7c\x0c\x0c\x7c\x70\xc7\xe3\x30\x20\x01\xb9\xbb\x3c\x10\xd7\x72\xec\x28\x55\x5f\x0a\xb3\x01\x0d\xcf\xe2\x34\x6a\x42\xa4\x96\xfa\xd1\xf1\xc9\xc1\xf7\xaf\xcf\xaf\xba\x2f\x0f\x4e\xcf\x8e\xcf\xcb\xf9\xa8\x88\xe8\x9a\x0f\x8b\xae\xf5\xb0\xe8\xda\x4b\xa0\x2b\x62\xb7\xc1\xd1\xc9\x44\x81\x7b\x0d\xfd\x2e\x79\xab\xd9\xa0\x93\x4b\xb5\x82\xbc\x7f\xe0\x34\xdb\x2d\x6d\xc7\xd7\xf2\xee\xe8\x3c\xda\xb7\x4a\xd1\x1e\x27\xc1\x20\x88\xee\x35\x44\xb7\x4b\x55\x24\x87\xd1\x58\xba\xb2\xa6\x65\x04\x14\x72\xa2\x1c\x2b\xc2\x78\xe0\x54\xce\x60\x12\xb8\x21\x18\xc7\x49\x06\x12\xb4\xa0\x48\x33\xe8\x03\x61\x00\x83\x4f\x70\x36\x76\xfd\xba\x29\x3c\xa1\x01\xa9\x50\xf2\x3b\x5c\xb0\xb0\xe5\x4a\xe1\xeb\x00\xde\x20\x4a\xea\xe9\x2c\xf2\xce\xf0\x86\xfb\x41\x02\x5d\x5b\x14\x85\x22\x1e\xec\xea\x2c\x20\xfc\x6c\x34\x0c\x1a\x96\x65\x19\x98\xcd\xb2\xca\x0d\x8d\x69\xb3\xf1\x26\x9e\x60\x07\x3a\xc1\x2a\xec\x74\xc0\x6e\x39\x06\x64\xad\x86\x05\x41\x53\x7a\xb5\xac\x00\x47\x14\x27\x23\x37\xd4\x91\x3c\x2f\x8f\x62\x84\x0a\xe3\xe7\x07\xd2\x45\xba\x8f\x5d\x33\x57\x42\xab\x43\xfc\x12\xc4\x3a\x46\xba\x8e\x9f\xc0\xd7\x42\x1f\x5a\x10\xa6\x38\x6c\x62\x10\x47\x6f\xdc\xc8\x1d\xc0\xa4\xee\x07\x29\xc2\x65\x13\x08\x93\x80\x1f\x06\x38\x72\x1f\xc8\x62\x80\x29\x00\x84\x02\xab\x3c\x17\x0e\xc6\x46\xa3\x9c\x21\x80\x56\xe9\x27\xb1\x37\x29\x66\xdf\x9c\xaa\x36\x4b\x55\x35\xc9\xfa\xac\xaf\x97\xae\xa9\x9c\xbe\x48\x07\xc9\x7d\x6b\x6a\x96\x6c\x53\x32\xbd\xce\xee\x57\x57\xab\x5c\x4d\xe4\xc4\xe7\x65\xe0\xfb\x70\x4e\xec\xe2\xe2\x86\x6d\x18\xf4\x0d\xe0\xb7\x6e\xb4\x02\x1b\x86\x39\x84\x61\xb2\x4c\x2f\x26\xab\x96\x0c\xf5\xa2\x58\x2c\x38\x60\x2d\x86\x32\x86\xb2\x16\xff\xf0\x46\xfa\x9e\x71\x7b\xdd\xfe\x8e\x39\xfa\xc3\x1b\xed\x5a\x41\x9c\x3a\xa7\xa0\x1f\xa4\x63\xbd\x20\x4a\x2d\x2e\x38\xd5\x0a\x4d\xe7\xd4\xa4\xd7\x52\x5c\x80\x9f\x15\x6b\x05\xf3\xc3\xea\x12\x08\xc8\x71\xb1\x05\x07\x3d\x50\x2f\x44\x83\x96\x75\x5a\x71\x94\x68\x2d\x65\x78\x25\x9e\x23\xd3\x4c\xb0\xe2\xb7\x66\xef\x37\x3b\x1b\x30\x70\x49\x24\x3f\x4a\x97\x4b\x87\xf1\x0d\x59\x48\x58\x5f\xbe\x5d\x76\xd1\x34\xef\x14\xeb\xdb\x59\x20\x73\x5a\xfe\x76\x96\xc8\x4b\xaa\xdb\xbf\xd9\x35\xf2\x92\xfc\xb0\x98\xa6\xc6\xa0\x39\x68\xd1\x86\xac\xc9\x76\xcb\x10\x05\x8c\x2f\xec\x16\x08\xef\x45\x17\x72\x36\x4c\x8b\xac\xee\xcc\x83\xd8\xbc\x99\xc6\x2b\xf8\x45\x16\x8a\x4b\x76\xcc\x92\x2b\xc5\x65\xad\x90\x2f\xbd\x54\xc4\x23\x00\xd9\xd2\x3d\xd7\xfb\x84\x0c\x6a\xaa\xcf\xef\xbf\x42\x2c\x68\xf1\xdf\xf2\x12\x71\x81\x66\x8b\x0b\xc3\xf2\xc5\xe4\xb5\x60\xf9\x72\xf2\x02\xb0\x7c\x39\x7d\x05\xc8\x5e\xb4\x79\xc0\x45\x20\x41\xb5\x4c\x8f\x2f\xb5\x7e\x5b\x7a\x4d\xb0\xf8\x02\x6e\xf9\xaa\x16\x5e\xc1\x2d\x5d\xd5\x32\x4b\xb8\x65\xe7\xf9\xa5\xd6\x70\xcb\xae\x4d\x7f\x99\x25\xdc\xc2\x2b\x38\xd3\x7a\xcc\x70\xf5\x1b\xe3\x21\xb9\xa5\xcd\x6a\x76\xd5\xd3\x8c\xcb\x10\x97\xb5\x08\x17\xbd\xd7\x69\xc1\x85\x72\x4b\xe3\x32\x5d\x6d\x27\x78\xa6\xe5\xe9\xb1\xd3\x52\x7e\xd9\xc1\x96\x7a\x56\x5c\x1c\x62\x41\x9c\x64\xe9\x37\x07\xad\x7a\x69\x68\x0e\x66\x7a\x02\x68\xc6\x88\x32\x97\x58\xa6\x4d\xc2\x05\x16\x69\xaa\x9e\x4e\x61\x76\x38\xe9\xf7\x61\x62\xbc\x8c\x54\x7e\xd5\x98\xc0\x7e\x02\xd3\xa1\xa3\xfb\x86\xb3\x43\xea\x5f\x72\x0d\xfb\xd5\xd6\xa2\xde\xd0\x4d\x96\x70\xfc\x13\x2f\x7d\x35\x91\xcd\x2f\x6f\x2b\xcf\x0b\x38\x43\x83\xb2\xea\x82\x45\x1d\x22\xf7\x4b\xae\x38\xd1\xba\x37\x8f\x89\x42\x89\xaa\x91\xa5\x70\x0d\xf4\x43\x77\x60\x3a\x4d\xa2\x95\x3f\x7f\x0e\x9a\x3b\x35\xd0\x1f\x80\x8e\xbe\xa4\xc9\x61\x76\xab\xe0\x31\x68\x4c\x9b\xfd\x7e\x0d\xf4\x06\x76\x74\x1c\x48\x18\xb6\x34\x2a\x04\x5a\x93\x87\xc6\x75\xf8\x38\xdf\x4c\x0f\x94\xd8\xb4\x98\xd9\xe0\x79\x07\xb4\x1b\x98\xc1\xe0\x59\x07\xb4\xb7\x8d\x71\xaa\x11\x55\x63\xb0\x0e\xda\x8d\xa2\x85\x7b\x7e\xfe\x8f\xb0\x6e\xe4\x58\x37\x8c\x58\x7b\x0c\xeb\xc6\x02\x58\x77\x73\xac\xbb\x46\xac\x63\xb0\xd6\x01\x3b\xba\x88\xf3\x36\xec\x2e\x50\x5b\xb3\x91\x57\xd7\x6c\x2c\x54\x1f\x6f\x5d\x53\x3d\xbd\xb0\x56\x68\x14\x6c\x4c\xbb\x59\xce\xa8\x2c\x13\x39\xb3\xb4\x58\x95\x3b\xa1\x4c\x2e\x77\x16\xea\x2d\x45\x8d\x85\x0a\x1b\xa5\xed\x29\xe5\x8d\xba\x9d\x73\x57\x52\xc1\xb4\x51\x88\xa9\xb5\x00\xa6\xcd\x42\x4c\x1b\x0b\x60\x32\x0f\x19\x86\x69\x67\x01\x4c\xc6\xa7\x4f\x73\x3e\x6d\x2d\x80\xaa\x65\x8c\x76\x4d\x70\x3d\xee\x80\xbf\x2c\xc2\xf4\x56\x01\xd7\x11\xae\x45\xd8\xde\x2a\xe0\x3b\xc2\xb5\x08\xe3\x5b\x05\x9c\x47\xb8\x16\x61\x7d\xab\x80\xf7\x98\x5f\x8b\x30\xbf\x6d\x7c\x43\x77\xd9\xf1\x58\x3c\x20\x8c\x55\x3d\xec\xf0\x6d\x1b\x79\x23\xf8\x09\x06\x60\x0d\x34\xe7\x84\xd8\x0f\x90\x9e\x6c\x99\x4d\x8f\xbe\x81\xdc\x91\x9b\x79\x43\x1c\xed\x9b\xd7\x72\x89\x69\xc7\x33\xa0\x54\xaf\x21\xb5\xc5\x52\x0b\x5e\x32\x40\xb5\x76\x3a\x60\xbd\x69\x7f\x40\x02\x13\x66\x51\x91\x45\x8d\xb2\xbc\x68\x61\x66\x99\x71\x44\xcc\x63\x99\x34\xaf\xd3\xb6\x16\x30\xd7\x60\xe9\x17\x45\xff\x57\x85\xec\x4b\x0b\x80\x49\x5e\xbf\xbc\x00\xf4\xe6\x0b\x40\xef\x6f\x40\x00\x7a\xf7\x17\x80\x66\xc3\x6c\x97\x7c\x65\x0b\x63\xee\xb5\x03\x98\x24\x71\xe2\x54\xbe\x8f\x3e\x45\xf1\x4d\x04\xce\x7e\x7f\x0a\x5c\xb6\x16\xd9\x03\xbf\xf3\xeb\x95\x1a\x18\x97\xb8\xd2\x62\x5d\x5d\x38\x64\x86\x78\xf6\x0c\xbf\x5b\x7e\x8b\x95\xca\xb3\x67\xa8\xe1\xb7\xa0\x37\xd8\x2f\xb1\x3e\xf2\xf1\xd5\xa8\xb3\xcc\xcd\x26\x65\x56\x47\x0f\x7d\xfc\x55\x6e\xaf\x6a\xfe\xf5\x8d\x46\xb4\x8c\x67\x4a\xc9\xfd\xbf\xb9\xb5\x57\xac\x03\x78\xcd\xe0\x6c\xbe\xa6\xfa\xb4\xcb\x05\x2a\xfb\x8b\xa0\x9b\xce\x45\x77\xba\x00\x67\xbe\xc6\xc1\xdf\x43\x75\xc2\x8b\xbf\x99\x5e\x00\x7c\x53\xd4\x32\x3c\x96\xd9\xfe\x2d\x2c\x63\xe9\x83\xa2\x32\x9b\x96\x73\x9b\x7b\xef\xd8\xa4\x71\x3f\x3b\x85\x29\xcc\xe6\xa8\xa3\x85\x7c\x92\x16\x38\x4f\x5f\xe0\x44\x73\x31\xe7\xd5\xc5\x4f\xf4\x16\xdf\x86\x5b\xfc\xb8\xbc\x60\xf7\xb6\x31\x07\xca\xb6\x1f\xab\xdf\x82\x59\x7a\x7b\x6c\xfe\x1e\xf7\xac\x90\x50\xf6\x8a\xa6\xba\x2b\xab\x80\x0d\x42\x78\x0d\xc3\x32\x98\xd0\x24\x79\x81\x70\x5d\x96\x99\x5d\x53\x98\x11\xbe\x9f\x65\xb3\x70\xa9\x8b\x6c\xe0\x19\x68\x82\x17\xa0\x09\xf6\x4c\x17\x6a\x24\x2d\x6b\x0c\xac\xa8\xb8\x55\x94\x8c\x3c\x98\xc2\xec\xdd\x18\x3f\x35\x5b\xf1\x72\xfa\x2b\x35\x50\xe9\x85\xb1\xf7\xc9\xa4\xcb\x4a\x46\x01\xb5\x39\xbd\x94\x26\x60\x12\xf9\x30\x09\x83\x08\x2e\x42\xc4\xa6\x81\x08\x83\xce\x2b\xcf\x05\x37\x29\x51\xbd\xbc\x8f\x1b\xa4\x87\x61\x10\x7d\x0a\xa2\x01\xbf\x8a\xf9\x3b\xd0\x22\xf6\xad\x7d\xa0\xa9\x24\x60\x1c\x95\x9a\x80\xad\x5c\xe4\x1c\x98\x11\x85\x71\x0a\x07\xe5\x6e\xee\x99\x0d\x3d\xa9\xc9\xea\xbe\x75\x81\x2a\x71\xe4\xb0\x04\xd5\x42\xf5\xa0\x68\x17\xe1\x3a\x60\xbe\x11\xdf\xbc\x04\xcf\xcc\x8a\xe7\x85\x00\xa2\x39\x01\x92\x6b\x7d\x45\x95\x4f\x0b\xb5\xc0\xac\xec\x1b\x4d\xa9\x7b\x0d\x73\x95\x5b\x7e\x1a\xc3\x1e\x3a\x3f\x15\x06\x8c\x31\x95\xf8\x83\x35\x56\xf1\x5c\x57\xbd\x2c\x4e\x96\xa2\xd4\xa0\x8b\x29\xf1\xb7\xb7\x73\x38\x68\x6e\x41\x5e\x8c\xd2\x4c\xdf\x65\x13\x49\x57\x1f\xe1\x56\x5e\x8d\x96\x41\xd1\xa8\xa3\x8f\x2e\xcb\x2f\x4a\xc7\xe3\x8c\xb7\x0c\x3f\x52\xfd\xee\xcd\xe1\xab\xb7\xaf\xde\xfe\x1e\x29\x77\x4e\xf8\x45\x63\xda\x68\x37\x1a\x35\x80\xfe\xdd\x3a\xb9\xac\xe1\x94\x8d\x9d\x36\x4e\xd9\xd8\xd9\xe2\x29\x3b\x34\x65\xf7\xb2\x26\x95\xde\xdc\x6d\xe2\x9c\xcd\xc3\x23\x0a\xbb\x79\x78\x42\x53\x18\xbe\xcd\x2e\x85\xe9\xb6\xd4\xd2\xdd\x0d\x9a\xb3\xc9\x61\xb7\x69\xca\x36\x4d\xd9\xa2\xf4\x6d\x35\xda\x4a\xe9\xad\x26\xcd\x69\xb2\xd2\x5b\x1b\x87\x24\x65\xf3\x98\xa5\x6c\x53\x98\xed\x86\x5a\xfa\x68\x8b\xe4\x1c\x6f\x30\xd8\xe3\x6d\x9a\xb2\xc3\x53\x0e\x68\xca\x91\x52\x7a\xbb\x41\x5a\xb9\xdd\x60\xad\xdc\x6e\x92\x56\x6e\x37\x9b\x2c\xa5\x4d\xea\xde\xde\x38\x50\x4b\x1f\x90\xba\xb7\x0f\x1b\x0c\xf6\x98\x50\xbe\x7d\xd2\xa6\x29\xbb\x0d\x82\x6f\xb7\xa1\x72\x6d\xb7\xdd\x25\x39\xed\x2e\x83\xdd\xa0\xb0\x1b\x3b\x3c\xe5\x88\xa6\xa8\x94\xef\x6e\x52\xd8\x4d\xd6\xee\xdd\xad\x16\x49\xd9\xe2\x75\xef\x50\x98\x9d\xa6\x5a\xfa\x90\xd6\x7d\xc8\xeb\xa6\xbd\xbb\xdb\xe5\xf8\xba\xb4\xee\xae\x56\xf7\x31\xad\xe9\x98\xd5\x74\x40\x5b\x79\x80\x5a\x49\x52\x68\xeb\x0e\x50\xeb\xa4\xd2\x07\xb4\x95\x07\x1b\x1c\x76\x63\x9b\xa6\xec\xf0\x94\x43\x9a\xa2\xd6\x7d\x40\x25\xe1\x60\x9b\xf5\xcf\x01\x6d\xe5\xc1\x0e\xc7\x47\x5b\x77\x70\xa8\xd5\x4d\x5b\x79\xc0\x25\xf5\x80\x4a\xea\x41\x97\xd7\x4d\xdb\x7d\xa0\xb5\xfb\x80\xb6\xfb\x80\xb7\xfb\x90\xb6\xfb\xb0\xc1\xa8\x39\xa4\xed\x3e\xd4\xda\x7d\xd8\x3e\xa1\x39\x4c\xd6\x0e\x29\x27\x0e\x37\x38\x3e\xda\xdf\x87\x5a\xbb\x0f\x37\x89\xac\x1d\x6e\xb2\xd1\x7c\xb8\x43\xa8\x39\xe4\xed\x3e\xec\x12\xde\x1c\x76\xd5\x51\x72\x48\xdb\x74\xd8\x65\xe3\xbb\xdb\x3e\xc6\x29\xdd\x0d\x26\xbb\xdd\x8d\x2d\x9a\xb2\xa3\x94\xee\x6e\x1c\xd0\x1c\x5e\x7a\x73\x93\xa4\x70\x6a\xba\x94\xe7\x5d\x8d\xe7\x5d\xaa\x49\xba\x5c\x93\x74\xbb\xb4\xa6\x2e\x2f\xdd\xa5\xa5\x35\x9e\x77\x29\xcf\xbb\x9c\xe7\x47\x94\x6b\x47\x1b\x79\xca\x11\x4d\x51\x4b\x1f\x75\x09\xe5\x47\xdd\x03\x06\x7b\x44\xf0\x1d\x1d\x6d\xf0\x94\x2d\x9a\xb2\xa5\x94\x3e\x6e\x93\x9a\x8e\xdb\xac\x77\x8f\xdb\x1b\x34\x85\xe1\x3b\xa6\xb2\x7b\xbc\x71\xac\x96\x3e\xa4\xa5\x0f\x79\xe9\x43\x5a\xfa\x70\x97\xa7\x1c\xd2\x14\x95\x6b\xc7\x5d\xa2\xab\x8f\x79\x8f\x9d\x34\x49\xca\x49\x93\x95\x3e\x69\x93\x5e\x38\x69\x6f\x2a\xa5\x4f\xda\xdb\x34\x67\x9b\xc3\xee\xd2\x14\x5e\x7a\x9b\xd0\x77\xb2\xad\x52\x7e\xb2\x43\xe4\xe8\x64\x87\xf1\xe8\x64\x67\x8b\xa6\x70\x7c\xbb\x14\x66\x77\x5b\x2d\xbd\x4b\x6b\xe2\xba\xe5\x84\xf6\xf7\x09\xeb\xef\x66\xa3\x85\x7b\xac\xd9\x68\x2b\x92\xda\x6c\xb4\x5b\x34\xa7\xc5\x60\xdb\x5b\x34\x65\x9b\xa7\xec\xd2\x94\x5d\xb5\xf4\xe6\x0e\xc9\xd9\xa4\xad\x6c\x36\xb7\x30\x9d\xcd\xe6\x09\x95\xbe\x66\x7b\x13\xcb\x23\xfa\x57\x29\xbd\xdd\x24\x75\x6f\x37\x69\xbb\x9b\xdb\x94\x9a\xed\x36\x4f\xd9\xa4\x29\x9b\x6d\xb5\xf4\x36\xcd\xd9\x6e\x33\x58\xd2\xdf\xcd\xed\xc3\x4d\x9e\xb2\x4d\x53\x8e\xd4\xd2\x84\x47\xe8\x5f\x06\xdb\x25\xad\xdc\x3e\xe2\xf8\x8e\x8e\x68\x8a\x5a\x7a\xa7\x81\xe5\xa8\xb9\xd3\xa0\xd2\xd2\xdc\x39\x20\xa5\x77\x0e\x18\x27\x76\x5b\x84\x13\xbb\x2d\x65\x26\x6a\xee\xb6\xb6\x69\xce\x0e\x83\xa5\xed\xde\xe5\xbd\xb0\x4b\x79\xbe\xdb\x3e\x54\x4a\x1f\x34\x49\xe9\x83\x26\x2b\x7d\x48\xe6\xfa\xe6\x61\x83\x51\x7e\x48\xc6\x0d\xfa\x57\x29\x7d\x48\x7b\xf7\x90\x8d\xa8\x26\xd5\xa0\xcd\x43\x36\x2f\x36\x0f\x37\x08\x35\x87\x1b\x2a\xe5\x87\x5b\xa4\xdd\x87\x9c\xe7\x47\x44\x07\x36\xf9\x88\x6f\x1e\x9d\x1c\x93\x94\x13\xa5\xbf\x5b\x0d\xc2\xb5\x56\x83\xcd\xfe\xad\x46\xeb\x80\xa4\xb4\x8e\x59\x0a\x91\x9f\x56\x63\xab\xad\x96\xde\xa2\xb0\x5b\xbc\xf4\x11\x85\x3d\xa6\x29\x6d\x8a\xaf\xdd\x68\x29\x75\xb7\x1b\x64\x94\xb4\x1b\xbb\x94\xce\x83\x9d\x06\xe6\x04\xfa\x97\xa7\x1c\xd2\x14\x85\xe7\x07\x3b\xad\x4d\x92\xd3\xa2\xb0\x27\x87\x4d\xdc\x4a\xf4\x2f\x4d\x39\x26\xbd\x70\x72\xdc\x50\xea\x3e\x39\x6e\xd1\x9c\x56\x9b\xc1\x9e\x9c\x90\x14\x36\x4a\x4e\x4e\x4e\x30\x7d\x27\x27\x27\x6a\x7f\xb3\xc9\x1e\xfd\x60\x5c\x6f\x1c\x34\x36\x59\xda\x56\x9e\xd6\x65\x69\xea\x48\x6b\x1c\xb4\xe9\x40\x3d\xe0\xfd\xde\x38\x20\x13\x24\xfe\xc1\xfa\xae\xb9\x45\x84\xeb\xa8\xb9\xa5\x8e\xf5\xa3\xe6\x76\x9b\xe6\xb1\x19\x10\xfd\xdc\x64\x69\x87\x3c\xed\xe0\x80\xa6\x1d\xa8\xe3\xe6\xa8\x45\x45\xeb\xa8\xb5\x41\x47\xf8\x71\xa3\x41\xda\x87\x7f\xf0\x34\xc2\xb2\xe3\x46\x63\x5b\x69\xcb\x71\xa3\xd9\xa0\x79\xcd\xe3\x13\xf2\x28\x3b\xdd\xf8\xe0\x76\x7c\x2f\x48\xa1\x9b\x78\x43\x67\xe2\x69\x1b\x29\xa3\x20\x92\x17\x72\x38\xd1\x45\x8b\x16\x6e\xed\xe7\x8f\x8c\x34\x15\xb8\xc0\xdf\x97\x16\xc3\x13\x2f\x05\xcf\xf2\x82\x17\x8d\x4b\xba\x92\x45\x19\xcf\x85\x8c\x91\x3b\xbd\xbc\x68\x5e\x9a\xd6\xc9\xea\xc6\x1b\x8d\x80\x87\x68\x7a\xde\x41\xf4\xaa\xfb\x37\xa3\xc0\x67\x4f\x7e\xf4\xc3\x38\x4e\x1c\x07\x35\x6a\x0d\xb5\xa2\x0a\x9e\x82\x96\xe1\xc1\x71\x8d\x9c\xc0\xd7\xc9\x21\xb8\x11\x7b\x50\x0d\xda\x6b\x3f\x7c\xbf\x5f\x6d\x34\x46\xd6\x30\x21\xc3\x6c\x45\xc8\xd6\x4d\xc8\x34\x78\xca\x0f\x79\x77\x54\x88\xb2\xaa\xb1\xeb\x4e\xee\x77\xba\xa6\x53\xbb\x9d\xd1\x4c\xfc\x98\x4c\x3d\x80\xd6\x7d\xf5\x68\x12\x9a\x3a\xb7\xdd\x42\xfd\x49\x38\xd8\x01\x8d\xe9\x76\x1f\x3c\x7e\x0c\x48\x5e\x63\xea\x36\xaa\x76\x8c\x5e\x1c\x65\x49\xac\x60\x95\x84\xd3\x58\xb6\x21\x17\x08\xd2\x1f\x03\x1f\x12\x70\x63\xbc\x41\xf1\x28\x56\xe3\x56\xd3\xc8\x29\x01\xa7\x80\x92\x16\xc9\xdb\xda\xa4\x8e\x66\x84\x15\x24\x65\xb3\x0f\x6e\x6f\x25\x2a\x38\x6f\xa7\xad\x76\x6b\xb7\x30\xd7\x55\x73\xf3\xba\x5a\x70\xa7\xc1\x39\x8b\x12\xdc\x0d\x8f\xb3\xfa\x11\x46\xd0\x6e\xb4\xfb\x55\x3b\x06\xd7\x6b\xc8\x18\xfc\x6d\xb7\x5d\x00\xdf\xdf\x55\xe0\xfb\x6e\xbf\x08\x7f\x1f\x36\x15\x78\xd8\xdc\x2d\x84\x6f\xab\xf0\x5b\x85\xf8\xfb\x2a\x3d\xfd\xad\x46\x21\x3c\x54\xe1\xe1\x56\x01\x7c\xab\xd1\x50\x2a\x68\xf5\xfb\x7d\xbf\xa0\x44\x5b\x2b\xd1\xc6\x25\x58\xec\xe8\x3b\x71\x3b\x86\x8e\xbe\xfd\x95\xbb\xaa\xf3\x19\x44\x93\x70\x0f\x3f\xaf\x4c\xc6\xc0\x1e\x68\x80\xbb\xea\xfe\xca\xca\xd3\xa7\xbf\x05\x69\x3c\x49\x3c\xf8\xc6\x1d\x8f\x83\x68\xf0\xfd\xe9\xeb\x8e\xb4\x09\xf5\x31\xad\x8f\xdc\xf1\xca\xca\xca\xd3\x27\x4f\x9e\x3c\x05\x77\xd5\xda\xca\xd3\x27\xa0\xb9\x0d\x9e\x3c\xa5\x49\x7c\xc7\xc6\x19\xc5\xfe\x24\x84\x35\x40\xb7\x7d\x6a\xe0\xea\xea\x06\xf6\xc6\xae\xf7\xe9\x2a\x81\x7f\x9a\x04\x09\xbc\xba\x42\x12\xbe\xb2\x3a\x49\x21\x48\xb3\x24\xf0\xb2\xd5\xfd\x95\x95\x77\xbd\x8f\xd0\xcb\xea\x3e\xec\x07\x11\x7c\x9f\xc4\x63\x98\x64\x33\x87\x63\x59\xbd\xba\x82\xe9\x1b\x8c\x7b\xb5\x06\x3e\x83\x6b\x37\x9c\xc0\x3d\xac\x98\x70\x2b\xd0\x5c\xf0\xea\xed\x0f\x07\xaf\x5f\x1d\x5d\xbd\x7e\xf5\xf6\xbb\xab\xee\xeb\x83\xb3\x33\xd0\x01\x24\x2e\xe4\x7a\x10\x5d\xbb\x61\xe0\xaf\xe3\x3d\x59\x02\x8e\xb7\xd6\xbc\x38\xec\x86\x2e\xb9\xc5\x51\x71\x86\x59\x36\x4e\x5f\xec\x7d\xf8\xf0\xf4\xc3\x87\xa7\x55\x0a\xe7\xc7\x23\x37\x88\x78\x80\xd7\x33\x7c\x46\x51\xb9\xf8\xf0\xc1\x77\xd7\xff\xfc\xe1\x43\x7d\xfd\x72\x8d\x42\x46\x70\xe0\x66\xd0\x3f\x32\x17\xf8\xd7\x86\x12\x04\xf7\x61\xec\xcf\x04\x2a\x2a\x60\xcd\x54\xe9\x1a\xa8\x30\x92\xb2\xd0\x17\xe0\x2f\x08\xd6\xcb\xcf\xad\xda\xd6\x1d\x03\x09\xc6\x02\x84\xf3\xe1\x83\xff\xb9\x59\x6b\xdf\x7d\xf8\x50\xaf\x7e\x46\xff\x90\x4f\x06\x1c\xc6\x9e\x1b\xbe\x8c\xd3\x4c\x28\x83\xd3\x86\x71\x9a\x31\x20\xd4\x13\x42\xfe\x1e\x41\xb2\xc9\x91\x0c\xe5\xf2\x42\x33\x84\xf6\xad\x81\xca\x87\x0f\x75\x94\x95\xb7\x01\x35\xec\x16\x25\x71\x9a\xd7\x40\x05\x27\xa8\x74\x61\x16\x80\x35\x91\x94\x35\x50\x79\xc1\x08\x74\xb3\xa1\x40\xc0\x87\x0f\x4f\x2f\x70\x4f\xde\x7c\xf8\x50\xff\xf0\x61\xfd\x77\x7f\xb9\x7c\x52\x7d\x42\x61\xff\x34\x81\xc9\xec\x2c\x4b\x82\x68\xf0\xd2\x4d\x87\x27\x89\x3b\x18\xc1\x28\xd3\x3a\xad\xb1\xbe\x8b\x11\x5c\x7c\xf8\x70\xf9\xe1\x83\xf3\xe1\x43\x15\xa3\x7c\xf1\xe1\xc3\xa3\xdf\xfe\xdd\xbf\xf8\xdd\xe3\x0f\x95\x27\x6b\xb5\xbd\xfd\xbf\x7c\xf8\xd0\x21\xb5\x5c\x1a\x6a\x90\x88\x7a\x81\x1a\x50\xa6\x7a\xd4\x58\xd6\xb4\xa1\x08\x94\x63\xfb\xed\x32\xb8\xa8\x94\xbe\x47\xdc\x32\xc8\xa8\xc0\x30\x2e\xa6\x3d\x51\x40\x87\x62\x7f\x08\x3c\x5f\x33\x34\x79\xcd\x40\x39\x41\x99\x66\x6e\x82\xeb\x74\x5e\xec\xfd\x6b\xdc\xd9\xf6\xd1\x83\xa8\x77\x28\x29\x30\x42\xa6\x56\xa5\xea\xfc\x0b\xb1\x90\xd6\x18\x61\xb0\x10\x1d\xf3\x7d\x12\x9e\xc2\x01\x44\xe6\x4f\x04\x6f\xc0\x29\x1c\x1c\x4f\xc7\x0e\xa1\x62\x4d\xd5\x05\x6b\x62\x8b\xd7\x50\x9d\x54\xc5\xbc\xfc\xc3\xfb\xe3\xd3\xf3\xe3\x9f\xce\x89\x92\x79\x73\x70\xde\x7d\x79\x7c\x7a\xf5\xea\x88\x58\xb0\x08\xe4\x75\x10\x7d\x0a\xfa\x01\x4c\xe4\x8d\x6c\x36\xab\xf3\x14\x0e\xe7\xe8\x3b\xf7\x11\x79\x44\xf9\xd3\x1b\x37\xf3\x86\x30\x79\x85\x9a\x6c\xad\x5a\xdd\xbf\x4f\xe2\x9b\xf3\x60\x04\xe3\x49\xf6\xca\xc7\x67\xa0\x97\x2a\x44\x98\xa3\x36\x02\x24\x70\x10\xa4\x19\x4c\x04\x12\x1c\x99\x8b\x35\x7c\x48\x8b\x14\x31\x76\xbe\x7b\x15\xf9\x70\xba\x07\x9a\x58\x15\xe7\xd3\x10\x6f\xa2\x70\x8c\xe1\x66\x99\xeb\x0d\xcf\xe3\x23\x7c\x60\x94\xf3\xc7\x8f\xbd\x09\x92\x11\xfc\x46\x80\xe1\x30\x83\xe5\x83\x0e\x60\x3f\x0d\x0d\x4f\xc9\xfb\xa6\xa9\x74\x38\x61\x22\x03\x9f\xc8\xf5\x67\xa7\xf8\x99\x80\x9c\x8a\x24\xbe\xc1\x6d\xb1\x38\x53\xb1\x9a\xcb\x47\x99\xc6\xda\x9a\xf5\x06\x3f\x4f\x91\xba\xe8\x82\x55\xaa\x84\x5f\xe4\xc5\xb4\xd3\xe2\x10\xba\x09\x2d\x2f\x40\x99\xaa\x2f\xac\x0e\x74\x40\x0a\x33\x8e\x88\x8b\x06\xe1\x4b\xbd\x17\x44\x3e\x4e\xc5\x5d\x42\xd8\x52\x13\x98\x79\xfe\xea\xcd\xf1\xd5\xe1\xf1\xc9\xbb\xd3\x63\x2c\x92\xaf\x4e\xfe\x50\x9d\xcb\xf7\x14\x66\x2f\x67\x68\x6e\xa7\x12\x9e\x1f\x08\xe5\x9d\x30\x24\x69\xba\x0c\x88\x72\x7b\x61\x1d\x0f\x97\xf5\x21\x47\x3a\x64\x07\x4c\x0b\x90\xf5\x03\x32\x14\x88\x23\x86\x1b\x86\xf8\x2a\xb8\x48\x9d\x47\x13\x97\x27\xef\xda\x54\x01\x43\x3b\x97\x54\xc3\xe0\x94\x45\x98\x8c\x4f\xda\xf2\x1a\x5a\xf7\x04\x71\xa4\x2d\xbf\x68\x32\x5e\x08\x5c\xc7\x81\x8f\xef\x93\x00\x9e\x0a\x3e\xdf\xed\x1b\x83\xd8\xea\xaa\x09\xad\x04\xec\x7a\xf1\xf1\x63\xf0\xc8\xd0\xa1\x84\x6b\x49\x7c\x83\xb5\xf1\x31\xf1\xbe\x64\xfd\x36\x9a\xa4\x19\xe8\x41\x40\x8c\x41\xbf\x62\x14\x6d\xb2\x4b\xc0\xda\xaf\x84\x08\xf7\xf7\x6c\x9a\x74\x6d\xad\xa6\x0c\xdd\x01\x52\x5d\x84\x6b\x52\x0e\xa5\x66\x8f\xb3\x52\x5e\xf2\x0b\x7a\x8f\x72\xad\x9e\xa7\xc9\xb0\x7a\x87\xe7\x65\xf4\x3c\xb9\xec\x38\x09\xe2\x24\xc8\x66\x79\x09\x96\x82\x4f\x61\x73\xc6\xa8\xda\xd0\xf5\x7d\xa1\xe1\xe7\xf1\xeb\x20\xcd\x1c\xca\x30\x81\xa1\x74\xa9\x40\x33\xea\x6c\x3b\xa5\x40\x00\x8d\x98\x25\x11\x64\xb5\x18\xfd\x14\xc4\x51\x22\xde\xdd\xb3\x5c\xd4\x93\xc0\xf1\x63\x53\x7a\x1b\x40\xa1\x0a\x96\xc2\xd2\xd8\x69\x58\x07\xcd\x7d\x10\xe0\x55\xd6\x3e\x08\xcc\x8f\xce\x31\x2e\xf1\x2e\x78\x66\xc2\x78\x11\x5c\x72\x08\x7b\xc4\x73\x89\x06\xfa\x9c\x50\xc0\xdf\x74\x33\x37\xd2\xd4\x50\x50\xe8\x89\x6c\xaa\xa5\x61\xa8\xa1\xa0\xbf\x7d\x38\x4f\xe5\x8c\xd8\xe0\x12\x5b\x2b\xb1\xbd\x49\x6e\x1e\x5a\xb9\x6f\xbc\x91\x68\x96\x19\xc4\xdd\xc0\xc7\x22\x63\xac\xb7\x04\x97\xf5\x37\x9e\x80\x6d\xaf\xcb\xc6\x5d\xc3\xce\x57\xc1\x88\x59\xc0\xda\xa0\x4f\xf6\x8b\xa6\x82\xd5\x42\x78\x94\xc4\x37\x0b\x9a\x22\x70\x9a\x11\x13\xa9\x8e\x7e\x76\xe3\x28\x93\x0c\x29\x53\x08\xa7\xc5\x3a\x4d\x56\xcb\xc6\xee\xdb\xd7\x0a\x20\x80\x63\x12\x5a\x23\xbf\xbd\xe8\xc7\xaf\x39\xdb\xc8\xd3\x84\xe6\x41\x81\x38\x21\x22\xc8\x23\x54\x19\xaf\x22\x88\xe3\x58\x57\xbe\xb6\x0b\x16\x88\xca\xab\x30\x8e\xc7\x57\x4d\xa9\x0b\x3f\xce\x0b\x4e\x47\x23\x86\x90\xf7\x58\x38\x8d\x17\x1f\x2f\xcd\x3e\xc6\x80\x4d\x2d\x46\xea\x1c\x16\x7f\x44\xe8\xbc\x1a\xab\xa2\x26\x90\x15\xa4\xd8\x8a\x29\x22\x8e\xf1\xe2\x51\x49\x58\x80\xf7\x88\x4d\x01\x30\xf5\x7d\x97\x82\xdb\xe6\xc0\x7a\x81\x1c\xe7\xd8\xae\x9c\x5b\x6e\x2c\x31\x71\xfd\x48\xc4\xf5\x23\x78\x06\x0c\xa2\x50\xf8\xe6\x3d\xfa\xa3\x3d\x6b\x7c\x33\xdd\x4c\xb0\x9e\x52\x46\x2f\x17\xe9\x08\x51\xdc\x55\x2d\x91\x8b\xbe\xaa\x29\x60\x3a\x09\x33\x65\x0d\x47\x5c\x18\x5f\x66\xd9\x58\x56\xd8\xf9\x1c\x8f\xb5\x67\x89\x05\x25\x89\xae\xe8\x43\xba\xac\xaa\x7b\xc3\x20\xf4\xdf\xa2\x04\xf5\xb4\x26\xc3\x4f\x0e\x29\x7a\x85\x18\x44\x7c\xb4\x61\x1b\xab\xaa\xa8\x30\x52\xf4\xf6\x96\xe0\x28\x34\x08\xa8\xce\x25\x6d\xb6\x69\xb8\x49\x12\xb0\xa6\x5e\x20\xc6\xc6\x7d\xde\xee\xdc\x3c\xc3\x36\x6b\x25\x9a\x8c\x7a\x30\xa9\x80\x17\xa0\x01\xf6\x0c\x50\x0a\x4b\x93\xf8\x06\xbf\x04\x4b\x30\xd0\x3a\xea\x01\xfe\x5a\x43\xf5\x32\x69\x2b\xd4\xa6\x98\x9d\xf3\x14\x68\x44\x9c\xd2\x31\xac\x51\x61\x92\x03\x0b\x46\x09\x82\x93\xf8\x8e\x89\x7a\xd7\x77\x26\x49\x60\x50\x96\x62\xe1\xe7\x96\x8b\xe4\x8a\x56\xe6\x4a\xd9\x4b\xa0\x9b\xc1\x83\xc8\x1b\xc6\x09\xcd\x43\xb5\x70\x01\xad\xf3\x75\x87\x26\x81\x86\xb1\x85\xa8\xd1\x88\x17\x44\x20\x67\xaa\xf5\xe2\x1b\xc3\x80\xfe\x73\x3e\x1b\x43\xf3\x63\x02\xe2\x1f\x9d\x57\xe1\x38\x74\x3d\x88\x84\x19\x23\xa8\x89\xcd\x5d\x28\xf0\x85\xe5\x82\x99\xc8\xc9\x7c\x12\x40\x55\xd9\x95\x23\x6a\x0d\xd3\xb1\x08\xf2\xad\x3b\x22\x0d\xaa\x1c\x68\xd7\x76\xd4\x3f\xcb\xe8\x28\xd7\x06\x20\x28\xf7\x20\x8a\x60\xf2\xf2\xfc\xcd\x6b\xd0\x01\x95\x8a\x1d\x13\x83\x77\xc7\x63\x18\xf9\x5d\xa4\x1a\x9c\x65\x78\x58\x70\x03\x12\xf7\x6c\xae\x74\x0a\x62\x4f\xfe\xff\xec\x7d\xfb\x7b\xdb\xb6\xb2\xe0\xcf\x27\x7f\x05\xe2\xed\x8d\xa4\x4a\x96\x65\xa7\x69\x13\x3b\x72\xd7\xaf\x34\xbe\x75\xec\xac\xe5\x36\xed\x3a\x5e\x1d\x5a\x84\x25\x36\x14\xa9\x92\x94\x1f\xa7\xf1\xfe\xed\xfb\xe1\x49\xbc\x09\x4a\x4a\xdb\xbd\xf7\xe8\xfb\x12\x4b\x24\x30\x33\x18\x0c\x80\x01\x30\x0f\xf6\x31\xad\x08\x66\x28\x95\x8b\x02\x82\xc2\x6b\xb1\x51\x56\x82\x71\x2e\xe1\xbc\xee\x40\x1a\xa8\xbc\xb6\xe7\x68\x15\x3f\x88\x1f\x1a\xc8\xa7\xc4\x2b\xb5\x42\x34\x34\x89\x1f\xcc\xaf\x73\x7c\x4c\xfb\x21\x2a\x26\x78\x08\x70\xca\xa4\x71\xd0\x01\x78\x6c\xab\x68\x2b\x96\x77\x8b\x2f\x12\xfb\x98\x25\xd0\x5b\x2e\xec\xfa\x19\x9e\x2e\xf7\xc2\x10\x0a\x07\x6d\xae\x36\x6b\xc3\x9e\x36\x37\xaf\x6c\x29\x76\xb7\x2d\xd1\xe9\x85\x4c\xea\x01\x1a\x97\x64\x07\xeb\x1e\x25\xb6\xc5\x34\x67\x0d\x68\x4a\x2b\x51\xab\x62\x95\xe5\x34\xd7\x5c\x6d\x4b\xc2\x9d\xf3\x8a\xde\xd2\x2f\xb3\x02\x73\x72\xa4\x55\xb8\xed\xb3\x0c\x03\xf7\x1e\x4e\x6c\x99\x4b\x41\x33\x2c\x7d\x92\x9e\x86\x65\x47\x5c\xfe\x0c\xe7\x9c\xaa\xfe\x06\x95\xe5\x95\x1d\x30\x77\x09\x32\xb6\xc2\x36\x02\xf1\x0c\xcc\xb0\x09\x00\x78\xad\xd4\x8b\x84\x59\x30\x1e\x07\xd7\xb1\xc1\x23\x8e\x18\x32\x54\x11\x29\x02\x9b\x64\xf0\x46\x45\x24\xd1\x13\x64\x63\x72\x8f\x34\xc4\x49\x8d\x1b\xe6\x62\x41\x18\xe2\xc8\x8b\x68\xff\x00\x13\x98\x35\x1b\xa3\x38\x1a\x7d\x6a\x88\xfb\x17\x1c\x40\xd1\xb6\x7b\xb3\x1c\x27\x2a\xdd\x4a\x4b\x11\x50\x78\x64\x1b\x06\x85\xe2\xd9\x6e\x3c\x68\x34\xcc\x3a\x2b\x6b\x8a\xbe\xa1\x1a\xa5\x49\x11\x44\x49\x6e\xda\x55\xb9\x5b\xec\x37\x0b\xf9\xf1\xc6\xcc\x09\x5a\x9b\x12\x5d\x3d\x62\x84\xd9\x57\x1a\x29\x29\x59\x6a\xd4\xc1\x90\xc0\xbb\x53\xba\xd9\x10\xb7\x33\x7c\x49\x1f\xd2\x93\xa4\x21\xd2\xa3\x83\x6c\x3c\x97\xf7\x78\x43\x83\x32\xcd\x40\x5e\x0e\x23\x92\xf9\xb4\x5f\x56\xbc\x1c\x46\xc6\xe4\x54\xd4\xb9\x8f\x8c\x2a\x4a\x6a\x97\x3c\x38\x95\xb4\x37\xa3\x7a\x4f\x11\xba\x34\x7c\x02\x8b\x7a\xb6\xee\xc3\x9b\x34\x83\x4d\x4e\x68\x74\xd5\x61\x48\x8d\x7d\x40\x2b\x93\xb0\xa3\x44\xe9\x92\x8b\x7b\x76\x88\xb6\x1c\x4a\x3d\x44\x86\x32\xd1\x07\x28\x69\x1d\xc0\x17\x20\xe1\xab\xf1\xb6\xac\xac\x6d\x50\xde\x8c\x61\x9e\xca\x1a\x68\x2a\x34\x55\x97\x9c\x29\x1f\x6d\xe8\xf8\x2e\xe0\xa9\x39\xa5\x98\x72\xe1\x20\xa0\x65\x77\x0e\x01\x39\x23\xc3\x3b\xb0\x34\x03\x69\x12\x3f\x00\x3a\x26\x41\x00\xf2\x28\x19\xc7\xb0\x2c\x62\xbf\x9a\xb8\x99\xc7\xf1\x05\x39\x6d\x13\xe8\x33\x1e\xba\xe1\x3d\x99\xc4\x50\xf3\x8a\x8c\x37\xa1\xd1\x78\x52\x20\xb8\xf4\x1c\x8a\x20\x11\x74\x03\xfe\x8d\x6d\x9c\xf4\xcd\x23\x87\x81\x48\xc2\x70\x8c\x8b\x0f\x2b\xd1\x14\x70\x1a\x53\xe3\x8b\x5b\x29\xa3\xe0\x28\x08\x8d\x27\xf7\xa2\x8d\xdd\x63\x15\x6b\xcc\x1c\x2d\x4f\xf2\x35\x26\x18\x38\x19\xc3\x1b\x27\x23\x7b\x9a\x94\x1b\xce\x2d\x29\x0c\x4f\x46\x96\x28\x6b\xf1\x51\xc6\xc2\xf9\x5a\x83\x8d\x22\xad\xf5\x5b\xab\xb6\xd4\xbb\x9d\x0a\x0c\x2e\x06\x15\x92\x4b\x55\x3b\xbd\x17\x2d\xe0\xbc\x68\xe2\xa5\x35\x17\x7c\x1f\xb6\xdb\x84\x59\xbf\x48\xdb\x34\xf9\x45\xf2\xc9\x98\x39\x45\x3a\x6f\xd1\x41\x1f\x6c\xf5\x7a\xa5\xe7\xa4\x68\x51\x22\x40\x32\x1b\xee\x95\x90\x2d\x56\x7b\x2f\xff\x66\x56\x7b\x5a\xa4\x10\xd0\x37\x61\x6f\x6e\xd1\xf2\x65\x3e\x38\x4b\xc1\xe7\xb4\x20\x89\xf2\x3a\x28\x82\x02\x96\x56\x06\x7f\x3c\xee\x3c\xd1\x5f\x5c\x1a\xc3\x95\xec\x1f\x9d\x5c\xa9\x8e\xb6\x39\xd2\xed\x4b\x05\x54\x51\xa8\xba\xd7\x30\x8e\x9b\xad\x1d\x50\x03\xcb\xc9\x9b\xba\x48\xe2\x28\x81\x6f\x20\x0c\x6b\x22\xfa\xf9\xe2\x8a\x67\x26\xf1\x22\xcb\x1f\xf4\x9b\x37\x5f\x0c\xf4\xc1\x79\x5d\xf6\x8c\x82\x2c\x8b\x82\x31\x3c\xc7\x8f\x6b\x32\x69\x7f\x50\xbb\xcb\x83\xd1\xa7\x7c\x16\x8c\x60\x4d\x4c\x6f\x2f\xea\x62\x2a\x82\xeb\x9a\x38\x06\x67\x75\x71\xe4\x93\xe8\xa6\x38\x9b\x17\x75\x11\x1d\x2f\x84\xe8\xb8\x6e\xf7\x1c\x0d\x0e\x7c\x11\x91\x37\x38\x9c\x02\x02\xdb\x7c\x8f\x7f\xe3\xef\x08\xcc\xde\xfb\xa3\x43\x82\x1b\xef\xc3\x31\xb2\xd0\x30\x59\x18\xde\x5c\x36\x2e\x1b\x66\x2a\x98\x9f\x3c\xd3\x37\xca\x98\x0c\xd8\x45\x5f\xd8\xd8\x88\x01\x56\x90\x42\xff\x9e\x46\x13\xa1\xcb\xb7\x8b\xf8\x83\xc1\xf1\xf0\xfd\xde\xf9\xde\xbb\xd6\xce\x13\x1b\x81\x57\x7f\x25\x81\x67\x83\x03\x07\x69\xef\xff\x4a\xd2\x0e\x0f\x06\x0e\xd2\x86\x9e\xa4\xb9\x30\x1c\xff\x70\x7a\x76\x7e\xe4\x40\xf2\x7f\xfe\x0c\x24\xa3\xba\x4c\xe6\xb9\xb2\x6c\x10\x8f\xea\x42\x14\xa2\x73\x08\xc1\x9c\x42\x78\xcf\x82\x20\xb9\x1a\x78\x7a\x76\xfe\x6e\xef\xc4\x41\xce\x61\x5d\x72\x56\x87\xfa\x5d\x7d\xde\xde\xc2\x2c\x87\xc7\x2b\xa3\xe0\x3f\xea\x52\x90\xc3\x62\x7c\x02\x6f\x61\xdc\xec\xb5\x76\xf4\x57\x75\x52\x0b\x7b\x11\x2e\x16\xfc\x14\xcd\x4e\xd1\x1e\x6d\x12\x64\x0e\xf9\x32\xaf\xfd\x7b\xa7\xa6\x86\x7a\x4e\xf2\x8c\x1a\x36\xc7\x8f\xf2\x08\xcf\x14\x86\x49\xde\xf4\xea\xb2\xf1\xbd\x91\xcd\x46\xec\xef\x71\xcc\x9d\x66\xe3\xfb\x06\xc1\x67\x06\xb8\x5b\x1f\xe0\xae\x13\xe0\xd3\xfa\x00\x9f\x3a\x01\xf6\x6a\x00\x44\xb5\x69\x81\xee\x98\xfd\x6e\x81\xaf\xc1\x66\xcf\x85\x62\x73\x35\x28\x70\x18\x3f\x07\x9a\xad\x95\xa1\xd9\x72\xa1\x79\xbe\x32\x34\xcf\x5d\x68\xbe\x59\x19\x9a\x6f\x5c\x68\x5e\xac\x0c\xcd\x0b\x17\x9a\x6f\x57\x86\xe6\x5b\x17\x9a\xef\x56\x86\xe6\x3b\x17\x9a\x97\x2b\x43\xf3\xd2\x85\xe6\xd5\xca\xd0\xbc\x72\xa1\xf9\xaa\x06\x9a\x34\x2f\xf0\x9c\xf2\x95\x73\x4e\x59\x5b\x00\xe2\x9a\x13\x22\x58\x00\x22\x70\x42\xfc\xd8\x58\x00\xe4\xc7\x86\x13\xe6\x8e\x27\xc8\x1b\xb4\x0e\x47\xff\x82\xb4\x97\xec\x10\xff\x9c\x35\xd2\xbc\x3c\xca\x4d\xfb\x9f\x4a\xd3\xf8\xad\x27\xd1\xd5\x3b\x80\x07\x1b\x56\xb7\x7d\xe4\xd2\x03\x6b\x19\x2c\x6e\x19\x6b\xb0\x8c\x62\x6f\x61\x14\x24\xfa\xde\x4f\x33\x37\xfc\xfd\x25\xe1\x1f\xa6\x77\x89\x1b\xc3\xc1\x92\x18\xde\xa4\xd9\x5d\x90\x85\x6e\x24\xaa\x1e\x5c\x17\xc9\x7e\x30\xfa\x54\x8d\x45\x55\xfe\xeb\x62\x39\x25\x17\xcc\xd0\x8d\xe5\xcd\x92\x58\xde\x67\x70\x04\xc3\x28\x19\x57\xa3\xfa\x61\x49\x54\x48\x80\xf7\xae\xf3\x34\x9e\x17\x15\x98\xde\x2e\xdb\xa8\x34\x8f\xf0\x11\xad\x13\xcb\xf1\x6a\x64\xed\x22\xb8\x76\xe3\xf9\xcf\x85\xf1\xc0\x2c\x40\x5b\xa0\xc3\x28\x9f\xc5\xc1\x83\x1b\xcb\x8f\xcb\x62\xa9\x16\x80\x93\x25\x67\x30\x84\xa1\x62\x06\x53\xf7\x89\xfe\x28\x48\x46\x58\x0f\x14\xea\x59\x4a\x5d\x14\x1e\xf3\xf0\x60\x61\x14\x24\x36\x68\xd5\x3c\x7c\xe1\x0d\xff\x09\x30\xe6\xfd\x7a\x0d\x70\xa6\xdf\xa7\x7a\x7c\x7b\x99\x10\x69\xc2\x26\x77\x34\x4f\x4c\x04\xfd\xb2\x9c\xf0\x79\xb0\xf4\x7f\xaf\x68\xce\xae\x1c\xad\xff\x5c\x1c\xd1\x24\x40\x33\x8f\xdf\x14\x17\x2c\x8c\xe6\x2d\x9b\xdd\xce\x61\x1c\x14\xd1\x6d\x05\xa2\xeb\x85\x11\x65\x70\x06\x83\x82\x2f\x10\xdc\x55\xdc\x8d\x4f\x3d\x45\xab\x21\xfb\x30\x09\x0f\x71\xbe\x86\x32\xa3\x9d\x1b\x57\xb8\x30\xae\x38\x4a\xa0\x77\x5f\xc1\x85\xd1\xfc\x5c\xaf\xaf\x6e\x16\x17\x8a\x9f\xfd\xd6\xbc\xf1\xc2\x18\x8a\xe0\xfa\x20\x86\x41\x45\xef\x4f\x96\xe8\x7d\x92\xc7\xde\x09\x3e\x5e\x42\x98\xbd\x10\x4c\x97\x1a\xfd\xbe\x72\x9b\x2c\xb1\x04\x95\xf9\x4c\xdc\x38\x66\xf5\xd6\x08\x1e\x6a\x5d\x5b\x11\x70\x34\xf1\xc6\xd3\x86\x1c\x4f\x9c\x77\x1b\x4b\x67\x20\x2f\x13\xec\x23\x98\x35\x9b\x57\x8e\xdf\xfd\xc8\xec\x80\x19\xd9\x41\x4a\x6b\x1a\x79\x44\x8c\xfd\x41\xc3\xb8\x8c\x49\x11\xea\x7d\x96\xb2\xcc\x4d\x90\x59\x72\xc5\xe0\xe3\xee\x6e\xc9\xeb\x83\xe7\xa1\xb6\xdd\x90\xe7\xb5\x21\x4b\xd1\xb1\x9d\xc0\xfd\x76\xd1\x55\x7d\xd7\x01\x4b\xed\xb3\x85\x77\x3b\x4f\x84\x28\x21\xc2\x73\x26\x02\xc2\xa3\x4b\xf1\xfb\x1a\x81\xb9\x86\xe8\xee\xa1\xff\xd8\x83\x1d\x77\x35\x7a\xf7\x89\xeb\x61\x83\x48\xfe\xa4\xa2\x22\xbf\x77\xc4\x55\xb7\x70\xd5\xf2\x59\x75\x65\x5c\xed\x39\xab\x56\x55\xe1\x6c\x70\x80\x2b\x7c\x83\x2b\xa0\x5f\x55\x18\xc8\x35\x05\xae\xf4\x82\x60\xa1\x4f\x2a\x2a\x1e\x1e\x0c\x70\xa5\x6f\x71\x25\xf4\xab\xa2\x02\xb9\x7d\xc3\x75\xbe\xc3\x75\xe8\x03\x1c\x67\x4b\x28\x89\xa3\xd4\x89\xbf\xfb\xe0\x8f\xc7\x56\x4b\x94\x80\x8a\x18\x31\xa4\x50\x73\x18\x09\xd1\xb8\x3a\x60\xa8\xde\xf3\x94\xb6\x4c\x91\x1c\x64\x5d\xfa\xad\xda\x3d\x31\x28\xa8\x1c\xfb\xae\x96\xc9\x29\xdd\xba\x2c\xb3\x79\xa7\xe4\x94\x60\x68\x8a\x87\x82\x1c\xde\x25\x28\x02\xd5\xde\x17\x61\x46\xcf\x79\xb2\xdc\xdf\x3a\x60\x94\x77\xc0\x68\xd2\x01\x23\x62\x82\x95\xde\xa9\x14\xcd\xa8\x6e\x20\x87\x8c\x34\xa4\x41\xc8\xe7\x59\x96\x8e\x83\x02\x0e\x27\xd1\x58\xb3\x00\x44\x78\x0d\xe1\xed\xa5\x3a\xa0\x8d\x8b\x99\x4c\xf5\x6c\x35\x64\x8f\x29\x25\x06\xc1\x8e\xda\x04\x9c\x8a\x57\x7e\xa6\x5b\x0b\x63\x5f\x10\x44\xc7\xa5\x5c\x52\xf1\x8d\x18\x11\x23\x38\xcc\x4f\xb4\x7e\x1f\xa4\x21\xdc\x63\x51\x5d\x58\x1d\x83\x33\x60\xef\xfe\xf0\x65\xaf\x07\x5e\xf7\x09\x84\x67\xcf\xc8\x5f\x1c\x5a\xee\x70\xff\xcd\x1b\x93\xcd\x79\x8c\x3d\x54\xdd\xa8\xc8\xfd\x8c\xd1\xe8\x3d\xca\x4f\x83\xd3\x66\x9c\xde\x59\x0d\xda\xab\x98\x3c\x9a\x98\xfd\x72\x46\x69\x52\x44\x89\x29\x3d\xbe\x6e\x0a\x4f\x19\xd6\x6c\xe2\x2f\xeb\x80\x30\xa2\x05\xbe\x06\xbd\xfb\x6f\xd0\x97\x36\x40\x34\x92\x37\x07\xe4\x41\xef\x7e\xb3\xd7\x53\xb3\xf4\xd2\x4e\x6a\x0b\x1c\xf1\xe1\xc6\xa3\xa9\x2b\x0e\xac\x5d\xf1\xe6\xcd\x1b\x3d\x9c\xa7\xb9\xbd\x4c\xff\x11\x86\xb0\x35\xa5\x97\x3e\xb0\xed\xa9\xfd\x47\x13\x10\x25\x06\x2b\x2f\x97\xfb\x99\xc1\xb0\x67\x34\xb9\xa2\x61\x85\xf4\x39\x6b\x95\x8e\x97\x3a\xf4\x6e\x10\x86\xf8\x1e\x9a\xcd\x30\xcb\x26\x38\x07\x26\x36\xd2\xe5\xb4\x8a\x8f\x86\x5b\x70\x17\x23\x4d\x97\xe6\x2a\x27\xf9\xba\x60\x77\xbe\x73\xf8\xe6\x99\x5b\xcd\x84\x69\x64\x75\xc1\xe5\x4c\x68\x34\x1b\xe6\x46\x97\x25\x5a\x95\x25\xbe\xae\x2c\xd1\xae\x2c\xb1\x5e\x59\xa2\xeb\x28\x01\xbc\x5b\x2d\xc3\x74\xb5\x5e\xfc\xa8\x09\xad\xca\xc4\x57\x86\x89\xc5\xf4\xa9\xf0\xaf\x94\xa9\x72\x71\xdc\x8f\xaa\xcd\x2f\x40\x95\xab\x97\xfd\xa8\xb2\x24\x3b\x5d\x8a\x2a\x97\x64\xf9\x51\xf5\xfc\x0b\x50\xe5\x92\x66\x3f\xaa\xbe\x44\x0f\x56\x8d\xa0\x6a\xaa\x56\xd7\x83\x76\x9f\x76\xe0\xd4\x64\xe9\x06\x61\x29\x6f\x66\xc2\x8d\x8d\x0a\x6e\x2c\x2c\x31\x4b\x12\x2f\x6b\x21\xeb\xeb\x2b\x68\xea\x69\x45\x53\xbd\x80\x9c\xad\x02\x48\x52\x8f\xe9\xa5\x11\x9c\x1a\x8f\x7d\x21\xec\xe9\xa2\xd8\x9f\xaf\x02\xfb\xe7\xbf\x14\xfb\xe3\x5f\xca\xf9\xff\xbb\x28\x76\xd3\x86\xa4\x36\xf6\xef\xbc\xb0\x4b\x6a\xa7\x70\xec\x55\x41\x81\xdf\xae\x7b\x29\xfa\x5f\xd6\xa7\x5f\x3e\x5c\xfb\xeb\x9b\xf0\x3f\xbc\x9a\xb0\x28\x09\xea\x86\x7c\x05\x04\xbf\xad\x27\xb1\x45\x70\x3d\x20\xd6\xd8\x5f\xae\x95\x5e\x74\xf7\xeb\xd1\x1d\xa7\xe3\x66\x63\x00\xb3\x28\x88\x71\x88\x6e\x90\xc1\xdf\xe7\x30\x2f\x60\x08\x84\xf4\xb6\xe0\x13\xce\xa1\xdb\xb5\xa5\x59\xb6\x00\x37\x25\xe1\xd5\x63\xf5\x55\x00\xf1\xc8\xcb\x6b\x87\xf2\x45\x59\xbd\xbb\x08\xab\xf1\x2e\x25\x4a\xc6\x00\x07\x91\x2d\x52\xba\xdd\x5e\x21\x87\x95\xa0\x11\x1e\x50\xfe\x8e\x2c\x0e\xe1\x4d\x30\x8f\x8b\x2f\x3f\x6b\x70\x2e\x40\xe2\x60\xfe\x53\xf2\x29\x49\xef\x12\x70\x34\x38\x28\xf3\x2e\xfc\x47\xde\x6d\x74\xc0\x48\x75\xcd\xae\xd1\xa6\xe5\x0e\x28\xa8\xe6\x58\x75\x40\x21\xb8\x02\xd0\x1a\x03\xe7\x11\x40\x0e\xfa\xa6\x3a\x97\xa3\x89\x23\x50\x12\x45\x87\xaf\xbd\x36\x2a\x63\x5c\x61\x26\xab\x1e\x05\xb6\xc2\xbe\x71\x86\x40\xf5\x51\x92\xda\x36\xc5\x35\xa2\x4e\x27\x19\x94\x13\xe6\x7e\x61\xd9\x24\x74\xc0\x48\xbd\x8a\xb4\x00\x1b\xdb\x72\x68\xeb\x75\xea\x8a\xb9\xaf\x6c\x9d\x0d\x0e\x9c\x72\x85\x3a\xda\xe6\xd9\x07\x3e\x7f\x06\xae\x22\xfb\x47\x27\x2e\x01\xf1\xc0\x60\xcf\xfb\x0f\x6a\x2d\xfc\x6a\xc6\x65\x62\x90\x84\x63\x3b\xe9\xf9\xd3\xb9\x8b\x9a\x43\x56\xe5\x23\x5b\x05\xf0\x65\xef\xaa\x6a\x60\xe0\x7e\xe8\xb9\xe7\x37\x53\x92\x71\x63\x19\x43\xd2\x71\xf5\x63\x4a\x3b\xcd\x52\x39\xfb\x9c\x98\x01\x83\xd2\x13\x15\x31\xd4\xaf\x64\x38\x58\xbf\xd3\x02\xa5\x36\xb9\xc6\xbd\x40\xa0\x55\x7a\x31\xbe\x8a\x29\x18\x54\x1e\x2e\x00\xbf\x13\x0a\x53\x7e\xf5\x65\x40\x19\xd2\xb2\x6b\x65\x5e\xac\x0e\xdd\xa6\x97\x68\xf9\xc8\xd6\x66\x85\x70\x91\x42\x15\x9c\x22\x85\x7c\x78\xb0\x59\xc1\x04\x52\xc8\x90\x5f\x5e\x2f\xf4\x9d\x4f\xa1\x97\x3e\x85\x5e\xad\x50\x0e\x2a\x48\xaf\x03\xeb\x45\x45\x27\xd7\x82\x55\x21\x0b\xb5\x60\x79\xcc\x47\xfe\x82\xec\x25\x35\x3d\x2f\xb1\xf1\x1c\x15\x5e\xc3\xc2\x6f\x5c\xf8\x0d\x0c\xbf\x91\xe1\x37\x34\xfc\xc6\x86\xdf\xe0\xa8\x1a\x1d\x60\xd1\xd8\x91\xc0\xb6\x24\x2b\x91\xc4\x2a\xea\x98\xdd\xc9\xed\x15\xeb\xea\x50\x0b\xa9\x9e\x42\xf6\x19\x55\xdf\x70\x47\xc6\x15\x01\x8c\x26\x60\xb7\x0f\x1a\xbd\x06\xbe\x54\x9e\x80\xd7\x7d\xd0\x78\x55\xa9\x6d\x83\x2a\x16\x2d\xb2\x22\x4b\x10\xa8\x43\xda\x68\x22\xda\x11\xf4\x5a\x60\x1d\x7c\xf3\x72\x99\x23\x7f\x1e\x40\x96\x6d\x2d\x76\x16\x69\xec\xf2\x6a\x9d\x0f\x0f\xdc\x41\x76\xdd\x6d\x75\x05\xf3\x75\x4a\x55\x15\x51\x6d\xbb\x8d\x85\x1d\xef\x92\xbb\x52\x66\x4a\x56\xb5\x2f\x35\xf9\xc6\xb9\x37\xa6\x06\x5f\x3a\x76\x75\xbe\xca\xab\x72\xcc\x50\xd5\x9b\xaf\xe6\x1e\xec\x60\x70\xec\xc7\x2b\x0f\x2e\xd5\x60\x90\x91\x37\x5d\xc5\xee\xcc\x38\x3c\xf4\xc7\xd4\x50\x52\x7d\xcc\xec\x26\x1d\x5c\x5f\xc2\xcc\xc3\x76\xf0\x72\x30\x38\xc6\x96\x1e\x95\xa7\x2e\xae\xdd\x7a\xdd\x89\xde\xc8\x11\xc7\x40\x37\xb3\xca\x51\xc1\x77\x4c\x1d\x1e\x0c\xfe\x1b\xec\xc6\x71\xc0\xce\x02\xb0\x3c\x56\xee\x82\x38\xa9\x86\x47\x59\xdb\x8e\x5c\xb3\x29\x37\x7d\xc8\x91\xae\xc7\x0d\xb9\xaf\xde\xda\xf8\xea\x77\x0f\x68\xb3\x42\xdf\x3f\x8b\xd3\x7a\xf5\x42\xc5\xb8\xe3\x71\xec\x0b\x44\x4b\x7b\x63\x80\x5b\x7b\x6b\xd6\x7c\x5a\x23\xb5\xaa\xd1\x5b\xfb\xbd\x62\x99\x14\x3f\x9e\xa6\x0c\x02\x45\xb3\xda\x14\x7d\xbb\xb9\x36\xfb\x92\x24\x65\xb5\x29\x6a\x78\x97\x47\x9f\xb6\x6e\x32\x8b\x4f\xeb\x2f\xd2\x19\x36\x57\xac\x09\xac\xb1\xb3\x1a\xf4\xfb\x69\x51\xa4\xd3\x85\x28\xc8\xbe\x64\x77\x4c\xeb\x8b\xec\xf4\xcb\xd0\xe3\x75\x9b\x21\x7e\xdc\x4b\xe4\xe1\xc1\x00\xbc\x2f\xd8\x02\x39\xb3\x25\x6e\x30\x7d\xa8\xd8\xad\xbc\x95\xd5\x67\x6e\xda\x31\x7a\x12\x36\xad\x2b\x59\x1b\x34\xde\x37\x40\x1b\xb4\xc9\xf4\xd6\x06\x8d\xaf\x32\x9c\x46\xb8\x00\x6d\xfb\xfa\x87\x53\x15\x57\x5d\xa1\x79\x36\x8a\xda\x97\xf9\x4c\x32\xfe\xd0\xfe\x96\x4b\xc2\x92\x1d\xd3\xfe\x93\x3b\xc6\x7b\x2c\x55\x8f\x21\xa2\x1a\xb0\x71\x64\xd6\x1b\x96\xa6\xd9\xfb\x00\xa4\xee\x61\x86\xbf\xb6\x0a\xbe\xc4\x01\x88\xe9\x98\x43\xda\x64\xd7\x3d\x22\x21\xad\x20\xc7\x1d\x38\xd7\xc4\x57\x0d\xf1\x57\xdb\xef\xae\xd1\xca\xcf\xfa\xbb\x63\xa9\xa9\x46\x6a\xc5\x08\xe9\x5b\x7f\x19\x79\xb5\xd0\x52\x36\xaf\xf0\xb8\xa0\xde\x6e\xcf\xf7\xd0\x62\xb9\xa3\x09\xe2\xdf\xf5\xdf\x60\x27\xb5\xca\x61\x6d\x60\xae\x23\x09\x8b\x80\x99\xd4\xa1\x01\xb4\x35\xd7\x32\xe6\x5e\x29\x79\x97\x69\x3e\x2e\x72\x43\xfc\xc0\xbe\x67\x13\x9f\x10\x4b\x49\xdb\xed\xd9\x26\x4b\xf2\xa5\x1a\x07\xdf\xda\x0b\x48\x64\x6f\x60\x13\x16\x5e\x8b\x7e\xab\xc6\x43\xe7\x01\x29\x2c\x94\x3c\x8b\xba\x27\x90\x59\xa9\x1c\xd8\xd0\x8c\x4d\x68\x44\x0c\x52\xd7\x3a\xb4\x0f\x1b\x02\xe9\x28\xcd\x8a\x65\xe9\x43\x5b\xaf\x85\xd3\xca\x6b\xc1\x18\xa5\x82\x44\x75\x00\xca\x21\xe2\x09\x64\x16\x1f\x9e\x85\x7e\xe7\x5e\xa2\xec\xb5\x39\xe8\x3b\x25\xcb\x12\xf1\xfd\xd5\xdf\x2c\xe2\xfb\x61\x3a\xa5\x89\x8d\x08\xb0\xf7\x69\x1a\xdb\xa3\xb9\xb3\xb8\xef\xef\xf6\x7e\x19\x9e\x1f\xbd\x39\x3f\x1a\xbc\x1d\xbe\x39\xdf\x7b\x77\x34\x1c\xfc\x78\xfc\x1e\xf4\xc1\x0b\xf2\xfe\xcd\xc9\xde\x0f\x03\xc9\x99\x1a\x3f\x61\xfd\x80\x7f\x5c\x92\xff\xd7\xf6\xcf\x4e\x44\x07\x68\xfc\x73\x47\x2f\xf6\xd3\xe9\xe1\xd1\xf9\xc9\xf1\xe9\x91\xe0\xf1\x5c\x3e\x33\x54\xd8\x3f\x39\x3e\xfd\x51\x70\x5b\x26\xbf\x0d\x05\x8f\x4f\x7f\x3e\x3a\x1f\x10\xb8\x2f\x89\x0f\x31\x7d\x62\x2e\x7c\x3c\x38\xde\x3f\x21\xc5\x37\xbf\x65\xe5\xe9\x43\xec\x76\x8c\x8b\x62\x87\x63\xf2\x8d\xb9\x1a\x13\xde\x5c\x67\xe9\x27\x98\xec\xa7\x71\xc8\x4d\x83\xd0\xe3\x73\x98\x84\x30\xab\xf4\x42\x66\xc5\x9a\x0e\xc7\x63\x1f\x67\xe2\x0c\xde\x64\x30\x9f\x9c\xa7\x77\xf9\xff\x9a\xc3\x39\x54\x6e\xe7\xa4\x42\x6f\xb2\x60\x0a\xf3\xc1\xa7\x68\x36\xc3\xe9\xdc\x7a\x96\x72\x7b\x49\x34\xc5\x16\x8b\xb8\x82\x66\xf8\x44\xd7\x81\x59\x90\x68\x12\x87\xca\xc2\x3b\x8b\x30\x76\x4d\x8f\x9b\x0d\x04\xa8\xa1\x64\x30\x15\x79\xdb\x27\xf8\xd5\xd5\x5c\x62\xff\x68\x02\x47\x9f\xd0\xf7\x7d\xfc\x54\x9d\xa4\xa0\x96\x17\x4e\x4d\xe9\xfd\x45\x5a\x43\x90\xb0\x9e\x16\x26\xb8\xdf\x51\x4f\x9d\x13\x66\xab\x6b\x6e\x56\x74\x00\x4c\x42\x5d\x1a\xd4\x9e\x26\xd3\xf1\x1f\x00\xd7\xd9\x06\x65\xd5\x6d\xf4\x9f\x94\x6d\x4a\x50\xe6\x8d\x5d\x6c\xce\x12\x6f\x93\x86\xbb\x28\x09\xd3\xbb\x2e\xb5\x43\x96\x5f\x37\xa5\xaa\x27\x69\x3a\xeb\x5e\x47\x49\x48\xae\x85\x34\xfe\xd3\xd9\xda\xc0\x21\x11\x82\x75\x09\xc0\x49\x5b\x3f\x45\x33\x46\x98\xd2\xeb\x77\x59\x54\xc0\xfd\xf9\xcd\x0d\xcc\x84\xf4\xd5\x68\xc3\x62\x1f\x15\xed\x36\x78\xdd\xb7\x4c\x8b\x32\x3f\x39\xe2\x3f\x9f\x79\xc0\x99\x92\xdc\x77\xc8\x63\xee\x21\xa1\x91\x1f\xc1\x24\x94\x1b\x6a\x91\x3e\xce\xd1\x6f\x54\x06\x60\xa0\xfa\xf6\x18\x09\xa5\xd6\x47\x59\x7a\x97\x83\x75\xd1\x99\xce\x99\x23\x8e\x81\x36\xd3\x74\xd9\xbb\xea\x2a\x2d\x52\x11\x9b\xaa\x48\x2d\x06\xce\x2c\xfb\x16\x2e\x18\x33\x92\xb9\xf9\x77\x19\x51\x5a\xc1\x6b\xd2\x2a\xdb\x6e\xa5\xa2\xc9\x91\xb1\xc9\xc0\xb8\x83\x70\x53\x83\xd8\xb4\xab\x4e\x3d\xde\x7c\x8c\x0c\x7c\xd4\xa9\x30\x6d\x56\xea\xaf\x63\x5e\xeb\x13\x2d\x2b\x4e\xa9\x3b\x9e\x93\x8e\xc7\x94\x5c\xe6\xb3\x93\x07\x0b\xe2\xd1\x3a\xed\xb3\x5d\xb3\xb4\x6f\xe8\xe7\x10\x3c\x33\x9e\x79\xdd\x32\x26\xca\x03\x65\xe0\x3e\x4b\x2e\x44\x0b\x30\x31\xcb\x9d\x4e\xdf\x01\x49\xcb\xa6\x45\x0d\x30\xf5\x1c\x62\xc2\x5d\x14\x16\x13\xc3\x71\x68\x1a\x2b\xe9\xcc\x1f\xc8\x9e\x31\x33\x30\xcc\xcc\x28\xf3\xbc\x2a\x3b\x6b\xfc\x13\x26\xe1\x3f\x41\x94\x83\x22\x4d\x41\x1c\x64\x63\xd8\x05\xef\xd2\xbc\x00\x71\xf4\x09\xc6\x0f\x20\x00\xd7\x41\x08\x0e\x06\xe7\x9a\xdb\x46\xed\xd9\x88\x46\x1b\x79\x40\xeb\x03\x92\x74\xf0\x60\x4e\x33\x9e\xe1\x38\x1e\x0f\xa0\xad\x02\x7f\x08\xa3\x7c\xb6\xa3\x95\x8f\xa3\xc4\xb0\x76\xa1\xa7\x39\xda\x0d\x36\xb3\xf4\xce\x90\x24\xed\xde\x72\xdb\x6a\x38\x07\x7b\xc0\x2a\xd4\x03\x58\xd7\xdf\x5c\x07\x39\x04\xeb\x46\x42\x5b\xe0\xd9\xb3\x2a\x89\x1a\xd1\xc8\x59\x41\x01\x4d\xa5\x0d\x47\x8f\x79\x9a\xbd\x8d\xc2\x10\x26\x26\x79\xbd\xd7\xd9\x70\x6f\x13\x42\x60\x3f\xd5\x42\x60\xd6\x37\x5d\x15\x11\x03\x83\xa2\xc8\x74\x7c\x21\xbc\xd9\x2b\x8a\x4c\xe7\x37\xcb\x80\xf6\x26\x0b\xc6\x34\xb9\xac\x92\x14\xed\x50\x29\xa1\x9a\xa9\xe0\xf5\xc4\x91\x05\x1c\x47\x8a\x26\xdb\xe4\x32\x11\xae\xa9\x8b\xef\x26\x51\x0c\xb5\xbe\xc4\x49\x1d\x33\x98\x5c\x3e\x5c\xf1\xef\x0e\x63\x36\x9e\x4b\xdb\x30\x74\x0d\x90\xa4\x44\x91\xec\xe3\xa8\x27\xce\x31\xf8\xb9\xe1\x90\xde\xa1\x78\x77\x33\x18\xc3\x20\x87\xc6\xba\x8f\xf6\xb5\x9a\xe6\x0b\xc5\x73\x92\x75\x4d\xc6\xdd\x49\x22\x15\xa1\x51\x76\x19\x5d\x19\x5b\x47\x38\x24\x14\x32\x59\xcb\x93\x42\x43\x36\x09\xb2\xa2\x5b\x86\xa2\x58\x07\x67\x65\x6d\x4b\x6c\x9d\x58\x3b\x38\xea\x0f\x1e\xdb\x56\xd3\x09\xda\x4c\x75\x34\xd8\xe1\xe1\x0a\x4f\xfb\x7d\x3c\x3c\x6c\x50\x51\x41\x3c\x7c\x50\x41\xf3\x00\xaa\x3a\x7a\xe5\x03\xa1\xd2\xe8\x43\x1a\x11\x52\x1a\x7d\xfe\xdd\x7d\xff\xe3\x9b\x79\xdf\x7e\x82\xaf\x8e\x7d\x29\x39\xbf\x4c\xa0\xe3\x2e\x4a\x1b\xdb\x76\x6f\x22\x33\x29\x52\xff\x2c\xc9\x76\x1c\xdc\x57\x21\xbd\x56\x4f\xf0\x69\xc3\x3c\x7e\x83\x11\x3e\x6a\xaa\xef\x49\xc6\x28\xad\x47\x5b\x2d\x91\xd2\x1b\xb3\x88\x58\x81\x1a\xa2\x05\x2a\x6f\xdf\x57\x23\x62\x76\x1c\xab\xee\x3c\x2e\x8b\x68\xfa\x59\xd7\x32\x0f\xbb\xd1\x0b\x89\xb9\x83\x30\x6c\x36\x68\x2a\xa7\xf5\xdb\x28\x84\x69\xd5\x15\xb4\x1b\x14\x1b\x10\xeb\x44\xd7\x70\x01\x5b\xea\xc6\x0e\x9f\xff\x8d\x69\xbc\x36\xf0\x0c\xf4\xee\x37\x6f\x6e\xdc\x84\xe3\xfc\xc5\xa8\x0a\x61\xdc\xee\x2e\x78\xd5\xaa\x51\x33\x0e\xc6\x39\xc3\xb7\xbb\x0b\x36\x2b\x4c\xb9\x51\x07\x91\x3a\xcf\xc8\xb9\x67\x77\xff\xec\xe4\xd0\x67\x68\xe0\x75\xaa\x3c\x5c\xf3\xb6\x41\x73\xf6\xcb\x3d\xea\x98\xf5\xeb\x34\x0e\x7d\x4c\x0c\xaa\x2d\x55\x70\xf3\xc6\xe0\x35\x78\xe9\x4b\xdf\xcd\x18\xb4\xfb\xa0\x82\x6b\xd5\xc8\xdd\x6f\x75\xae\xf3\x93\xed\x05\x66\x25\x23\x0f\xe7\x68\xd7\x8a\xf4\x8c\x2a\x46\xd6\xa5\x14\x1f\xab\xaf\x8a\xca\xeb\x38\x4a\x3e\xad\x9a\x42\x7a\x9a\xef\x43\x23\x1a\x32\x05\x9c\xce\x40\x1f\x5c\x8f\x3d\xec\x43\xd0\xb8\xbc\xf1\x28\x88\x07\x30\x02\xec\xb1\x38\xdc\x80\x26\x6f\xc0\x26\xda\x4e\x81\xff\x2f\x24\x96\xdf\x81\xac\x4a\x16\x26\x78\xc3\xf7\x17\x0a\x03\xbe\x50\x18\x13\x0b\x90\x17\xdf\xf9\xb2\x1f\xcb\xc4\xe6\x8b\x15\xce\x56\x84\x80\x6f\x6b\xf4\xbf\x57\xf4\xba\x65\xbb\xff\x1a\x49\xa5\x27\x5d\xce\xfe\x5e\xa3\x63\x7f\xbc\x3e\x4a\xe3\x34\x5b\x5f\x03\x6d\x70\x3d\x5e\xbe\xdf\x57\x4c\x5f\x49\xdc\xcd\xe2\xc4\xf9\x5a\xdf\x98\xb7\x59\xe5\x96\xd1\x65\x95\x54\xaa\x97\xed\x3e\x58\x7b\x8d\x94\x35\x80\x5b\xd4\xff\x48\x9b\x72\x17\x85\x70\x7d\x34\x09\xb2\x8f\x6b\xbb\x6b\xd8\xe7\x0b\xb4\xc1\xda\xeb\x0d\x54\x74\x77\xcd\x67\xd3\x27\x38\x75\x29\xee\x62\xbb\x60\xeb\xc5\x8b\xc5\x49\x23\x41\x53\x56\x40\x9c\xe5\x54\xbc\x46\x04\xcd\x67\x15\x26\x9d\x52\x63\x1a\xcf\x82\xe9\x6c\xa7\x42\x99\xf7\x0a\x3e\xf3\xba\x1e\xda\xb8\x58\x09\xd6\xaa\x90\x37\x0a\xd6\xf1\xb2\x58\xbd\x6c\x3d\xa9\xb5\xd5\x6b\x2d\x0c\xbf\x27\x95\xc9\x75\x5e\xd9\x27\x1e\xce\x8b\x35\xf1\xba\xac\xef\xaa\x31\xd6\xf2\x74\xd3\x9f\xd0\xf3\x49\x3d\x56\xb6\x1e\xe2\xb8\xee\xae\x7e\x15\x9b\x41\x9d\x8a\x6a\xbc\x5e\xbb\xf4\xc5\x77\xe6\x55\xbb\x71\x9d\xc7\xcb\xed\xba\x3d\x0e\x74\x64\x94\x8e\xf3\x52\x11\xb1\x4a\x95\xd1\x6a\xc1\x7e\xf3\x63\xb9\xf5\x11\x31\xf8\xdd\xfa\xa8\x37\x74\x25\xc8\x69\x54\xa0\x5d\x3b\xbe\x2b\x6b\x74\xc0\x1f\x80\x22\xd9\xb6\x20\xef\x54\xd9\x28\xd0\x2b\x39\xeb\xc5\x1c\xc5\x35\x80\x31\x1c\xd1\x38\xf5\x55\x17\x74\xe6\x53\xf2\x9c\x41\xe0\x0d\xae\x3a\x2c\xaf\x06\xe0\xb8\x4f\x73\xa0\xbb\xec\x5d\x59\x3b\xf6\x29\xb9\x3f\xfc\xfc\x19\x3c\x35\x5c\xc7\xda\x6f\xfe\xb1\x2b\x1e\x8d\x14\x36\x40\x20\xce\xf1\x5d\x14\x86\x76\xb9\x79\x65\xb9\xe9\xd9\x31\xd6\x3f\x4a\x42\x52\x1b\x26\x61\xdd\xba\x07\x48\xd8\x42\x81\x82\x77\x41\x31\xe9\x4e\x83\xfb\xa6\x4a\x5d\x07\xf4\x5a\x2e\x18\x9c\x0a\x02\x21\x4a\x9a\x32\x7d\x9a\x4b\x00\xbb\xc1\x53\x8c\x5f\x2c\x94\x59\x6e\x68\x3f\x7f\x36\x93\xf1\x1a\xf4\xea\x75\xc6\x72\xb7\x46\xdc\x40\xe3\x00\x9b\x22\xe9\x3d\xdb\xef\xdb\x58\xfe\x3d\xed\xf4\xde\x15\xd8\x56\x6d\x3e\xd0\x34\x20\x01\x54\xbb\x4b\x03\x4b\x9b\xff\x3d\x96\x05\x0c\xd2\x79\xdb\xeb\x9c\x56\x49\x4d\xd2\x78\x3e\x9e\xe9\x1c\x6a\xe9\xa6\x0e\xe7\x42\x87\x12\xdf\x52\xb8\x34\x8d\xc2\x30\x86\xe7\xe9\x5d\x7e\x90\xce\xc9\xc5\x99\xa9\x01\xeb\xb6\x26\x4b\x57\xbe\xab\x26\x1f\xb4\xc1\x66\x07\xf4\x34\x51\x45\x4c\xeb\xa8\xa4\xb7\xfc\x04\xf7\xa9\xa5\x8f\x4c\x17\xd2\x84\x65\xd8\x16\x54\x1d\xdc\xcb\xf6\xf4\x2a\xd9\xc5\x06\x74\xaf\xc3\x29\xd6\x0d\xc6\xfc\x66\x64\x8f\xd5\xd4\x61\x04\x62\xa6\x56\x5a\x72\x32\x44\xe8\x28\x8d\x07\x64\xe9\x19\xa5\xf1\x51\x12\x76\x00\x5e\x48\xe7\xf2\x92\x8c\x3a\x91\x3d\x27\x0c\xc7\x57\xba\x38\xc5\x11\x7f\x0c\x36\x77\x94\x99\x03\x72\xac\xca\x84\xc1\x98\xd7\x08\xa3\x5b\xf1\x4c\x85\xad\xf3\x79\xf1\x10\xc3\xee\x04\x46\xe3\x09\xaa\xcd\x71\x7c\xad\xab\x1f\x41\xf6\x0e\x06\xf9\x3c\xe3\xc5\xdb\x60\x6d\x76\xbf\x66\x83\x59\x60\x4b\xbc\x2c\xbd\x5b\x01\xac\x18\xde\x20\xea\x18\x0b\xdd\x10\xc9\x56\xd9\x0d\xd0\x66\x86\xa2\x81\xf9\x1a\x34\x49\x77\x81\x75\x8e\xbe\xa5\x01\xa7\xf6\xe3\x14\x87\xc9\xb4\x9c\x49\x8e\x6a\x5c\x2e\x98\xff\x96\x45\xb8\xe4\x68\x76\xaa\x8a\xed\xaf\xb8\x68\xe0\x93\x46\xda\x8e\xf4\x2e\x81\x19\x5b\x2b\x76\x9e\x94\x52\xe2\x10\x10\xd1\x12\x15\xc6\x92\x26\xdd\x98\xc0\x38\x4e\xc1\x5d\x9a\xc5\x21\xd5\x94\xc5\x80\xa5\x7c\xf0\x40\x96\xf5\x02\x5b\xfa\xa0\x19\x04\xc6\xdd\xf4\xe6\x26\x87\xc5\x07\x7c\xc7\xce\x5f\x4e\xa4\x97\x6f\xb1\x0c\x70\xd4\xa4\x8b\x6e\xd2\xa4\xf8\xc0\xe4\xb2\x81\xef\x02\x04\xe0\x5b\x2e\xe0\x5b\x36\xe0\xe5\xba\x2d\x28\x61\x9c\x6a\xda\x55\x77\x9b\x78\xbe\xbc\xdb\x42\x0b\xfb\x84\xfc\x98\x6c\xed\x3c\x79\xb4\x18\xfe\xf3\x49\xc1\x6c\xfa\xbf\xd5\x5b\xa5\xe9\x3f\x6a\xdf\x70\x08\xef\x0b\x98\x84\x39\xe8\x13\x8d\xb5\xb4\x51\x65\x6f\x5a\xd8\x0c\x5d\x37\x83\xc5\x52\x80\x8b\x0c\x8a\xa0\x88\x70\x4c\x4d\xea\x4d\x80\xbd\x6f\xe8\xac\x76\x76\x03\x3e\x7f\xe6\xd2\xdd\xfc\x03\x0c\x87\x78\xc6\x1b\x0e\xb7\xc1\xe5\x15\x78\x04\x51\x92\x17\x41\x32\x82\xe9\x0d\xd8\xcb\xb2\xe0\x01\x1f\x57\x97\x89\xa6\x3a\xe0\x1a\xcd\x58\x61\x97\xd7\x03\x7d\x70\xbd\x03\x1e\x5b\x22\x5c\xbd\x02\xb7\xce\x98\x81\x28\x41\x8f\xf0\x81\x63\x77\x12\xe4\x67\x77\x09\x77\x74\x98\xb5\x5a\x20\xbc\x9c\x5d\x21\x98\x97\xb3\xab\x1d\x65\xa8\x69\x60\xcb\x39\x40\x6c\x39\x79\xbb\xa3\x53\x33\x1c\x22\x76\x11\x86\x8e\xd2\x24\x2f\xb2\xf9\xa8\x48\xf1\xee\x5a\x9c\x76\xc3\x72\x11\x40\x84\x70\xc3\x73\xf0\x3d\xe3\x28\x19\x60\xcd\xeb\x16\xd8\x06\xcd\xe1\x50\x2e\x5f\xfe\xea\x60\xab\x71\x84\xb5\x5c\x6c\x1e\x5b\x48\xb3\x5b\x81\x9f\xc7\xbb\x74\x8e\xb3\x80\x99\xdc\x3a\x5e\xd1\x32\xfb\x48\x8b\x25\xb9\xca\x0c\xa5\x5e\xd2\x52\x47\xb7\x68\xf7\x3a\x8d\x8a\x02\x66\x56\x4f\x91\x4d\x5a\x98\x2f\x87\xef\xd2\x10\xda\x1d\x4b\xb6\x58\xf9\xc3\xf3\xbd\x1f\x86\x83\x83\xf3\xb3\x93\x93\xe1\xbb\xbd\x5f\x86\x17\x6f\xcf\x8f\x06\x6f\xcf\x4e\x0e\x41\x1f\xbc\xe8\x99\xcb\x0c\xde\x1f\x1d\x1d\xd2\x43\x77\xf5\xfd\xf1\xe9\xc5\xd1\xf9\xcf\x7b\x27\x42\xf5\x83\x93\xa3\xbd\xf3\xe1\xbb\xb3\x9f\x06\x47\xc3\xc3\xb3\x0f\xa7\xc3\x8b\xe3\x77\x47\xa0\x0f\xbe\xe9\x99\x0a\x1c\x0f\x2e\xf6\x4e\x0f\xd0\xfb\x4d\xfa\xfa\xc3\xd9\xf9\xe1\x70\x70\xf4\x7e\xef\x7c\xef\xe2\xec\x7c\x80\x26\x25\xd0\x6c\x5d\x5e\xfd\xf1\xf8\xb1\xb1\xd6\x20\x65\x4e\x8e\x4f\x8f\x86\x87\x7b\x17\x7b\x38\x2a\xed\xf0\xf8\xf4\xf0\xe8\x17\x92\xfb\x43\x7e\xfb\xe1\xf8\xf0\xe2\x2d\x7f\xbd\x45\x5e\x9f\x9e\x9d\x0e\xf7\xcf\x8f\xf6\x7e\x3c\x3e\xfd\x61\x38\x78\xbf\x77\x70\x84\xa1\x80\x3e\x18\x14\x59\x94\x8c\xbb\x37\x59\x3a\x3d\xa0\x87\xae\xcd\xcd\x6f\x7b\x94\x77\x7b\x27\x27\x43\x43\xdd\xf3\xa3\x1f\x30\x74\x24\x5c\xe7\x70\x7c\x74\x3f\x6b\x5a\x30\x74\x40\x63\xdc\x30\x75\x9c\xe4\xc9\x23\xbd\x61\xa3\x4a\x7a\x78\x29\xff\xaa\x48\x8e\xe8\xac\x8a\x98\x2d\x38\x07\xe1\x9f\x1e\xd5\x14\x3f\x21\xea\x22\xf4\xd8\x92\x89\xc7\x73\xa3\xfc\x44\xcc\x0a\x58\xbe\x09\x92\x60\xac\x7a\xe6\x0c\xf3\xf9\xac\x0c\xe5\xc4\x27\xdc\xa6\x5a\xab\x03\x68\x49\x42\x36\x07\xa0\x96\x2b\x1d\x7a\x3a\x60\x78\x8d\xbd\x0f\x3a\x60\x28\x9e\xb1\x74\xc0\x50\xd0\x4b\x54\xab\xe2\x21\x5e\x00\xfa\x14\x5b\x77\x14\xc4\x31\x71\x00\x40\xad\x44\x5f\xca\x19\x6e\xe8\xe3\x26\x44\x0b\x11\x4a\x50\x11\xf2\x4d\x2b\x20\x52\x88\x8a\x89\xbf\xb5\xc2\x02\xfd\xa8\xac\xf0\x53\x2b\x1a\x25\x51\x71\x12\xe5\x05\x4c\x60\x96\x8b\xdb\x5b\xf2\x1e\x26\xc1\x75\x0c\xf5\xe7\xc3\x29\x9a\x68\xa8\xb8\xab\xb3\x4f\x57\x7e\xd0\x34\x25\xe9\xa2\x60\xe2\x20\x2f\xf0\x9c\x79\x98\xde\x25\x17\x11\x36\x17\xef\x69\xa5\x82\x51\x11\xdd\x42\x55\x84\xa4\xdf\x9a\xb7\x2e\x5d\x9d\x86\x65\x9f\x3c\x2a\x02\x4d\x04\x42\xdc\x5b\x48\xcc\x70\xfa\xb5\x30\x31\x90\x7b\x5c\xec\xcb\x8b\x2c\x9a\x32\x58\x12\xa8\x60\x4a\x37\x21\x12\x89\xdd\x61\x9a\xa0\x2a\xec\x35\x5f\x65\x4b\xb8\x53\xc4\xa7\x77\xe9\x2d\x34\x82\x85\xb7\xd0\x0c\xf5\x1d\xab\x46\x8b\xd8\x20\xa3\x1e\x58\x00\x32\xce\x31\xef\x86\xfc\xd3\x6c\x01\xb8\x3f\xcd\x54\xa8\x8f\xea\x8c\xa4\x75\x60\x18\xe5\x48\x5c\xdd\x4e\xa9\xa3\x18\x06\x19\x07\xd2\xd4\xbc\x62\x49\xf7\x21\x6d\xb6\xd9\x28\xb2\x68\xca\x03\x5b\xe8\xfd\xaa\xd5\x15\x47\x25\x55\x7a\xf1\x3a\xce\x2a\x34\x1b\x98\x21\x61\x7a\x97\x70\xb0\x1a\xf3\x5b\xbe\xcd\x25\x83\xb3\xc2\x05\x97\x35\x27\x59\xb2\x35\x41\x18\x7e\xc1\xa6\xe4\xb0\xd8\x67\x53\x60\xd9\x1a\x42\xa3\xad\x4d\x48\xad\x53\x26\x4b\x47\x07\x53\x1a\xcc\x3a\x9e\x9d\xb2\x0e\x58\x9b\x04\x39\x7f\x8f\x14\x3f\x8e\x6d\x0c\x8b\x6d\x0b\xef\x81\x78\x40\xc8\x37\xbe\x78\xd2\x24\x3e\xde\x1c\xe2\x40\x77\x0f\xa2\xc7\x42\xce\x6a\x47\xaa\x37\x4f\xf5\xc9\xb4\x30\x2b\x1a\x02\xdb\x3c\x1a\x0e\x4e\xcb\x63\x4a\xb4\x29\xa3\x87\x4e\x9f\x3f\x97\x47\xd6\xec\xb1\x68\x7c\xfd\xd8\x29\x37\x00\xc9\x7c\x0a\x33\x24\xa4\x44\x4d\x2e\xdf\x8c\xd2\xe4\x26\x1a\xcf\x85\x77\xa4\x93\x5a\x0b\xf7\x12\x3f\x68\xba\x80\xf7\xc5\x7f\x91\x6e\x52\xef\xc9\x74\x3f\x89\x9c\x1e\x39\x1e\xb1\x53\x63\xde\x35\x7d\xde\x35\xe2\x79\xa1\x7e\x09\x86\x9d\x62\x60\x3e\x8f\x0b\x43\xe4\x60\xf2\x42\x8a\x2c\x90\x05\x49\x1e\x07\xcc\x73\xf3\x24\x4a\xe0\x45\x4a\x14\xe6\xa6\x34\xe1\x8c\x61\xd1\x64\xc4\xb4\x3a\xa4\xfb\xb9\x3c\x75\x14\xc2\x55\xf7\x49\xc9\x6d\x80\x37\xa9\x4d\xbd\xfd\x84\x5b\x8f\x4d\xa7\x1f\xc1\x35\xa7\x91\x77\x92\x40\x5d\x64\xb8\x35\x64\x2e\x3f\x48\x88\xca\xf3\x2a\x47\x9b\x4b\x14\xa4\x8d\x96\xfc\xbf\x65\xb1\x6e\x94\x7f\xc8\xf0\x91\xaa\xed\x8e\x95\x30\xfd\x92\xf2\x9e\x3a\x72\xae\x23\xd5\xbc\xdd\xe7\xc4\x2d\x69\xa0\x21\x76\x2c\x03\x69\x20\xdd\xe6\x1e\xc8\x9a\x65\x98\x08\x16\xeb\x0b\x5a\xf7\x0b\x74\x08\x3b\xb2\x96\x6f\xf4\xc4\x46\xfc\x17\xec\x1b\x6c\x93\x9c\x66\xd3\xa0\x28\x60\x78\xce\x46\x37\x05\x3c\x0d\x66\xc2\x06\x0b\x61\x70\x4c\x41\xe8\x75\x37\x83\xb3\x38\x18\xc1\xa6\x6b\xeb\xdb\xc1\xc6\x23\xca\x7c\xd5\xea\xfe\x96\x46\x49\x93\x9e\x78\x74\xa3\xfc\xdd\xe0\x03\xf6\xb0\xce\xc1\xf7\xa0\xf1\x31\xfb\x98\x34\xc0\x36\x68\x7c\xd4\xec\x0f\xd9\x3a\x25\xb7\x61\xb5\x8b\x8c\x43\x1d\x91\x55\x88\x0a\x0d\x8b\xcc\xfb\x55\x6a\x25\xd1\x06\xdf\xa9\x1a\x52\xae\x95\x64\x9e\xb1\xde\xba\x93\x6b\x38\x48\xa4\xc7\x74\x50\x44\xd3\xf3\x68\x3c\x29\x0c\x17\x77\xca\xcd\x48\x79\xbd\x29\xdd\x8c\x08\xb7\x9e\xbd\x1d\xe5\x72\x9c\x5d\x5f\x4a\x15\xf8\x9d\x26\x5e\x7e\x94\xbb\x14\x44\x15\x27\x56\x5c\xf1\xb8\xff\xea\x5e\xf8\xdb\x3c\x2f\xe8\xfd\x9a\xb0\xcc\x1d\xa4\xb1\xa3\x34\x5f\x12\x09\x76\xe1\xe4\xd1\xe0\x93\x86\xc5\xdc\xe1\x2d\x4e\x3c\xc9\x70\xbc\x1b\xea\x45\x26\xcb\xab\xd0\x08\x6c\x9a\x14\x64\x97\xa6\xc3\xa9\x2b\x5d\x19\x50\xca\x0a\x47\x55\x64\x0d\xd7\xee\xb4\xb5\xce\xd9\xed\x83\xc8\x36\x5f\x19\xf9\x67\xca\x89\x6a\xb6\x84\xa4\x1d\xe7\x8d\x81\xf0\xbc\x1a\xbe\xcd\x5d\x19\x2b\x4f\xbc\xe3\x4c\xdd\xf9\xf9\xb3\xd4\x57\x92\xec\x71\xc9\x36\x3a\xfe\xa2\x17\x1f\x26\x51\x01\xf3\x59\x30\x82\xc7\x49\x08\xef\x69\x6f\xd2\xf3\xbe\x1c\x06\xd9\x68\xd2\xdc\xf8\x98\xb7\xbf\xda\x68\xe9\x3d\x65\x84\xf0\xd4\xea\x61\x23\xb7\x85\x5b\x48\x08\x8f\x3b\x46\xa2\x2a\x4d\xb9\x44\xc0\xaf\xfb\xe6\x2e\x5e\x48\xa9\xd4\x22\x94\x89\xcc\x99\x5f\xe7\x64\x81\x35\xe2\xeb\x88\xcd\xf5\x9e\xb9\x4c\x0e\xfd\x51\x7e\x0a\xef\x78\x1d\xbf\x73\x97\x3f\x31\x80\x8a\xb4\x10\x28\x27\x17\xe5\xcc\x2d\x85\x77\x91\x27\xc8\x72\x2d\x3c\x89\x92\x39\x0e\xd7\x68\x6f\x32\x6b\xb6\xb4\xb9\x61\x6a\x90\xf4\x50\x17\x57\xe9\xb5\xc3\xd7\x98\x9c\xf3\x61\xa3\xb1\x04\xde\xf1\x5a\x6c\x53\x2f\x81\xa9\x88\x3a\xe0\xb1\x56\x99\xba\xdc\x1a\x4c\xc7\x27\x92\x84\x6e\xee\x46\xad\xd9\x2a\xf6\x72\xd4\xce\xcd\xb9\x75\x53\x2d\xe0\x9c\x07\x18\xe8\xd5\x5e\x1c\x7b\x29\x0b\x11\x3d\x51\xd8\x8b\xe3\x3d\x7c\xb6\xa9\x25\xf6\x5c\x50\x15\x20\x87\x88\xe6\xf3\x46\x69\x20\x25\x10\x86\x79\x19\xe3\x48\x24\x4e\x39\x88\x94\xa4\x57\xac\x66\x1c\x55\x0a\xc9\xb5\x64\x63\x0c\xc9\x59\x30\x51\x63\x0e\xd2\x34\x0b\x73\xe3\x89\xa1\xd4\x92\x11\x2b\x87\xeb\xa2\xdd\x04\xa9\x49\x4a\x77\x0c\x67\x59\xec\x99\x70\x2e\x6e\x31\xff\x31\x98\x9f\x69\xdb\x3c\x82\xff\xb2\x77\x25\x2e\x7b\xf4\xe1\xa6\xf9\x21\xd2\x11\xdc\xf6\x7a\x74\x62\x21\x35\xbc\x7b\x9f\x31\x10\x1f\xd4\xd1\x3c\xa4\x53\x6a\xc3\x52\xc1\x45\x72\x79\xaf\x73\xf1\x1c\xc6\x01\x12\xd0\x8b\x94\x59\x2e\x58\xd9\xda\x92\x8e\x81\x88\x8f\x17\x69\xdd\x5b\x66\x57\x60\x32\xe7\xfb\x5a\xef\x0d\x6a\xa5\x22\x8b\x1e\xa5\x70\xb7\x4f\x82\x44\xd1\x9f\xaf\xfb\x0a\x16\xb3\x09\xa0\x78\xa9\xf0\x68\x04\x5b\x01\x86\x16\x5b\x57\xd1\x99\xc0\x96\xbc\x64\x8b\x3e\xb7\xb0\x24\xaf\x3a\x60\xdd\x7a\x03\xdb\xea\xd8\x6f\x67\x05\xa9\xa3\x38\x36\xfa\xf6\xd2\x9a\x34\xb1\xb6\x6e\x10\xc2\x82\xeb\x9c\x3e\x69\xb5\x40\x9b\x3c\xcb\xd2\x79\x12\xb2\x72\x5f\x83\xa6\xf9\x12\x78\x1d\x6c\xb6\xea\xcc\x49\x7c\xd7\xe3\x96\x43\xac\x71\xa2\x87\xdd\xeb\x79\x51\xa4\x09\x56\xae\x6a\xd8\x74\x92\xba\xb3\x0c\xff\x3d\x24\x9e\x0f\xfa\x46\x2c\xcc\x82\xb1\x32\x36\xb4\x48\x7b\x39\x1d\x48\x07\x71\x34\xfa\x84\x2d\xb4\xd8\x65\x84\x81\xd8\x7c\x12\xdd\x14\x3f\xc2\x07\xb3\x96\x91\x26\x03\xf4\x1e\x43\xd2\x80\x38\xa3\x69\x95\xc1\x62\x46\x9c\x0c\xbc\x25\x30\xaa\x9b\x1c\x5b\x94\x8c\x63\x68\x46\x07\xcc\x41\x5a\xac\x88\x8c\xbe\x4f\x0c\xd1\x61\x3a\xbf\x5e\x15\xa2\xe7\x2e\x44\x17\x59\x34\xf3\x43\xa4\x5a\x21\x06\x61\x58\x63\xc3\x2d\xcc\xeb\x1e\x52\x6d\x84\xbd\xf0\x9d\xa1\x74\xd5\x22\x99\x93\xd9\x2e\x5e\xa6\xe9\x2d\x94\x2f\x5e\xc4\xab\x41\xf7\x5d\x8e\x17\x82\xf9\x4c\x06\x5f\xde\xe2\x39\x86\xd4\x71\x52\xc0\xec\x36\x88\x2f\xa2\x29\xbe\xa0\xc9\x61\xc1\x1e\x39\x55\xe7\x12\x02\xd6\x9e\x3b\x46\xeb\x12\xff\xce\xb1\x1d\xb6\x54\xa9\x9d\x76\x26\xd9\x2f\xf3\x56\xd7\x11\x76\x1c\x5e\x7d\x81\x4f\xa0\x38\xb7\x9d\x3d\x53\xa3\x07\x4b\x95\xdb\x6b\xaa\x2f\x27\xbb\xea\xb9\x5e\x54\x3a\x73\x49\x39\x37\x4f\xa5\x4a\xc9\x23\xe1\xee\xc5\xa4\x3a\x5a\x66\x5b\xbf\x66\x94\xb3\xa8\xbb\x1d\xf6\x36\x9c\xd0\xc8\xf6\xfa\xea\x62\xdf\x03\x28\xf7\x72\x8b\x5b\x3f\xd8\xc9\xaa\xc7\xb2\x95\x75\x93\xf9\xe2\x89\x1e\xa9\x69\xd7\x01\x76\x94\x97\x9b\x57\xad\x4b\xc7\xeb\xde\xd5\xaa\xce\xd8\x9c\x48\xd4\x88\xf2\x0b\xec\x84\xa5\x15\xb4\xc6\x36\xa7\x66\xef\x91\x7a\xe6\x9e\xf2\x91\xac\x0f\x67\xe7\x87\x3b\x86\xba\x84\x25\x1f\xd2\x2c\xdc\x2b\x18\x92\x85\x86\x9a\xb0\xbc\xff\x7d\xb9\x80\x84\xc7\xce\x85\x93\x28\x81\x9c\x0b\xf2\x3d\x96\x37\x23\x74\x95\xd3\x83\x1b\xc4\xc7\x91\xda\x4d\x35\x71\x34\xe4\xa0\x80\xcd\x56\x0b\x8d\x22\xf4\xb8\xa9\xf2\x41\xa8\xc1\x7c\xc6\x74\x1b\xac\x5d\x8b\xf5\x26\x35\x71\xeb\x0e\xc3\x88\xd8\x23\xbf\xc9\xd2\xe9\x09\xab\xfe\x9e\x06\x7b\x67\xb4\xee\x1a\x4d\x3c\xcd\x7d\x20\xea\x83\xe6\xbd\x9a\xdd\x5e\x4c\x68\x93\x3a\x01\xc6\x2a\x6d\xa0\x0f\x2e\xe9\x36\x21\x18\xc3\x5f\x3a\xa0\xfc\xf1\xab\x16\xcf\xb4\x24\x4a\x89\x5f\xef\xea\x47\x27\x6b\xaa\xbb\x94\x5f\xc5\xf3\x2d\x23\xdf\xab\x59\x9a\x74\xd9\xbb\x02\xeb\x42\x3b\x7e\x69\x75\x40\x65\x9d\x4d\xb9\xce\xaf\xe2\x05\x3c\xd5\xcc\x32\xe1\xca\xcd\x7f\x97\x87\x74\x9f\xea\x56\xa2\x3d\x5a\x94\xce\xf3\x81\x69\x2d\x37\xac\x1f\xdf\x03\xf3\x9c\x7f\x84\xef\x75\x3b\xd6\x8a\x97\x9b\x57\xba\xd5\xc3\x6a\x94\x89\x72\x65\x34\xce\x1f\x7d\xd3\x0c\xa2\xca\xbe\x75\x75\x25\xa4\xf3\xb8\xc6\xb6\x85\xd0\x77\xd5\x22\x6c\xd2\xe3\x95\x78\x05\xec\x74\x43\x34\x1c\x9b\x55\xef\xce\x94\xcd\xa0\x1f\x03\xd1\x42\x64\x9e\x3c\x08\x55\x17\x29\x5d\x8c\x6c\x04\x3b\xdc\xd5\x0c\x67\x02\xb2\x28\x68\x27\x6a\x0e\x79\xd0\x80\xed\xea\x0a\x46\x6d\xa6\x3a\xa3\x70\x3b\x70\x1b\x9c\x62\xbd\x45\xe4\xb1\x5a\x0d\x54\x04\xf5\x5a\x0c\xe7\xee\xb8\x43\xf5\x53\xf8\x08\x70\x8b\xba\x47\x08\xb6\x28\x7b\x24\xed\x55\x90\x5d\x6e\xd5\x55\xf0\x08\xd8\x2a\xf5\x8e\xe1\x7a\x6a\x9c\xc8\x04\x9f\x1b\xf4\x31\x95\x61\x36\x75\xae\xbe\xf0\x01\xb3\x59\x01\x46\x9f\x24\x6c\x47\x1e\xa0\x8e\xb2\x52\x8a\x99\x75\x47\x6d\x97\xc9\x2a\x1f\x7e\x5c\xf4\x30\xca\x67\x96\xfa\x1d\xb2\x4d\x32\xdc\xd0\xfa\x8f\x3f\x57\xff\x23\x1d\xc1\x32\x02\xb5\x1b\x01\x7c\x6c\xaf\x07\x93\xce\xd2\xbb\xfc\x6a\x85\x73\x2d\x22\x49\x77\x51\xc6\xc8\x9d\x68\x96\xbe\x92\xe1\xc6\xd8\x3e\xbb\xe0\x2a\x13\x17\x0f\x7c\xa3\x34\xb9\x85\x59\xf1\x33\xf3\x3d\x4e\xe3\x8b\xf4\x60\x12\x64\xc1\xa8\x80\x19\xbb\xb3\x57\x0d\x84\x89\xb1\x97\xae\xe2\xb3\x09\x87\xd5\xe3\x37\x35\x76\x5b\x10\x5e\x04\xdb\x3c\x54\x99\x82\x94\xe8\x35\x83\x90\x85\xb7\x9d\x9c\x60\xd5\x8a\xc2\x71\x4f\xcf\xeb\xd4\xb9\x29\x22\xab\xa5\xc4\x4e\x33\x0b\xdd\x96\x7b\xa6\x4d\x8f\x1e\x38\xdd\xd3\x60\x4f\x1d\xd8\xd4\xc4\x96\x75\x20\x55\xcb\x2b\x65\xc4\x24\x17\x32\x50\x7c\x47\xcc\xc0\x32\x0c\x3b\x9a\xe4\x9c\xb1\x9b\x9c\x52\x2e\xd6\x85\xba\x4a\x8b\xe1\x4d\xf1\x21\x0a\x21\xf1\x19\xd3\xb6\x32\xa5\x11\x8a\xbd\x0c\x92\x1a\x6c\xde\x82\x90\xef\x51\x03\x5a\x62\x15\x82\x25\xc6\x10\x9f\x89\x46\x52\x11\x1a\x44\xb3\xa8\x98\xe1\xe0\xbb\x1b\x1b\x2c\xc0\x12\x5a\x54\x08\xa0\x80\x97\xf7\x8e\x64\x43\xa5\xe2\xe7\xa5\xda\x15\xd8\x59\x41\x9f\x05\xd8\x30\x87\x2a\x31\x39\x0c\x03\x1e\xa8\x61\x36\x2c\x65\x64\xc3\xd0\x4b\x06\xf4\xaa\xf6\x78\xd6\xa4\xc2\x94\x8c\x30\xb7\x58\x66\xe9\xc6\x3f\x02\x4d\xa4\x09\x4e\x8a\x8c\x17\x38\xba\x10\x9a\x48\x22\xd0\xed\xfd\x00\x5c\xb2\x47\x8d\x71\xa2\x1c\xa1\x40\x13\xcd\x00\xce\x82\x2c\x28\xd2\xcc\x22\xde\xe4\x4a\xd1\x66\xea\x66\xe8\x08\x6c\x74\x5b\xbb\x33\xbc\x3b\xc4\xd5\x29\x3a\x1f\x80\x73\xdc\xb8\x60\xb9\xc7\x54\x1b\x6c\xea\xe3\xca\x93\xb7\xd2\x90\xf3\xe1\x2c\x1d\x11\xed\x0a\xbe\x5a\xe3\x21\xfa\x89\x15\xb0\x8a\x96\x99\xad\xb6\x09\xc1\x0e\xc7\x66\x5b\xc8\x7c\x3c\x04\xa1\x6b\x8b\x93\xfc\xba\x2e\x19\xea\xfc\x4e\x0f\xf4\xf9\xb5\x3e\xe7\xf1\xba\x0c\x55\x5f\x09\xda\xa6\xa9\xbf\x6d\x50\x28\x91\xa6\xa9\x9f\xc5\xa8\x69\xc4\x08\x29\xdb\x8c\x24\x6f\x07\x39\xe9\xd4\xd6\x63\xe9\xbf\x4b\xb3\x50\x38\xbb\xe2\x7b\x62\xdb\xb1\xaf\xf3\xda\xe1\x52\x84\xd6\xcd\x59\x70\x16\xaa\x3e\x68\xa7\x6f\xce\x3b\x15\x09\x94\x68\x0b\xea\xcd\x03\x76\x5c\xf0\x67\x71\x41\xda\x58\x90\x77\x41\x56\x1e\x7a\xfc\x1c\xc4\x73\x98\x9f\x93\x58\xeb\x61\xb3\x05\xbe\x07\x3a\xbb\xc0\x36\x68\x1a\x9e\xb6\x4d\xec\x68\xe9\xbc\xf5\xe0\x8d\x61\x56\x91\x19\x34\x09\x24\x7f\x3c\x2a\x9f\x8a\xb3\x7e\x37\x42\x03\xe1\xec\x86\x16\xdf\x55\x53\x8a\x56\xf7\x0e\x39\x51\xd7\xac\xd7\xfd\x6e\xde\xe8\x6e\x09\x55\xa8\x27\x55\xd6\xc3\x2c\x39\xe2\x85\x4a\xfe\xce\x93\xc7\xa6\x1c\xae\xa1\x2b\xfe\x14\xe3\xcf\x18\x9c\xdd\x75\x68\xe6\xb8\x27\x1a\xd3\x2c\xf1\x4f\x36\xff\x66\xa9\x4f\x65\x67\xf0\x8a\xbc\x9b\x56\xcf\x71\xad\xe3\x3d\xb2\x6f\x5a\x1c\x41\x15\x11\xc4\x02\xb1\x98\xeb\x87\x26\x76\x86\x83\x66\xe7\x3d\x28\x2e\xe1\x7b\x11\xec\xbe\x5e\xf6\xf4\x6f\x95\x5b\xdb\x01\x6b\x06\xd3\xd8\x3a\xde\x93\xfc\xd8\x45\x6b\x85\xc3\x04\x1d\x8d\x4e\x55\xe1\xd6\x55\xdd\xa7\x3a\xff\x3e\x7f\x06\x4f\x0d\xbc\x70\xa0\x32\x94\x76\xe1\x15\x6b\x55\x4c\xcf\x3a\x75\xdb\x6e\x6c\x7f\x86\x63\x6c\x45\xf7\x1e\x25\xe1\x97\xef\x5c\xc3\x2c\xaa\x1f\x5d\xe1\xdc\x66\xc6\x73\x33\xac\xd9\xd7\x94\x8d\x2a\x29\xa8\x8a\xfd\x6a\x17\xb7\x4a\x49\xa8\xe4\x84\x66\x3b\xc0\x9a\x6d\x1a\xcf\xaa\xd1\x3d\xbb\xea\xa9\x64\x88\x15\xa2\x4d\xf3\xd7\x5a\xcb\x9c\x86\xcd\x04\xd8\x1d\x22\x49\x53\xf9\x75\xe5\xf2\x6d\x26\xc7\xdf\x2d\xd3\x63\x8d\x11\x3a\x33\xec\xe3\x59\x84\xb4\xda\x51\x69\x5d\x4c\xec\x82\xe3\xce\x9a\x2b\x1a\xea\xd8\xa6\x13\xc5\xfd\xdc\xdc\x3a\xc9\x8f\x7f\xf3\x8a\x64\x10\x45\x5f\x3e\x7f\x16\xbc\x77\x05\x5f\xf1\x67\xcf\x4a\xa7\xff\x5d\xd9\x6f\x56\x53\xde\x94\xc6\x7a\xf9\x1e\x58\x64\xd5\x78\x27\xa0\x09\x21\x58\xef\x03\x02\xd2\x79\x49\x25\x5d\xfa\x39\x01\x53\xb1\xaf\x0f\x96\x87\x80\xd3\x6f\xc2\xcc\xf7\x6d\x76\xf7\x50\x51\x4c\x25\x17\x10\x17\x09\x44\xe1\xd0\x88\xe0\x8c\xb2\x91\xa1\x97\xb4\xdc\xf8\xe9\x81\x22\x6c\x3a\x30\x92\x02\x35\xcc\xa2\xa6\xf3\xa9\xc5\xab\x54\x5c\x2c\x5a\x16\x05\x77\xeb\x6f\xa6\xe0\xb2\x83\xe8\x0a\xd5\x96\x15\x6b\x96\x01\xa8\x78\xc0\x57\x1e\x88\x9b\x5c\x5b\x65\x30\xe8\x00\x8f\x20\x54\x85\x6e\x49\x2c\xa8\xc5\x16\xad\x58\x41\x2a\xc6\x9d\x15\xe3\x69\x96\x22\xc3\x69\x02\x7d\x81\x40\x55\xd7\x96\x42\x4e\x19\x23\x4e\x91\x72\xc4\x58\xe7\x3c\xbd\xe3\x4e\x21\xaa\x7d\x64\x1c\xe4\xc5\x39\x1c\xa5\x59\x08\x43\x7a\x5f\x60\x33\xa5\x14\x8b\x32\xfe\x5a\xe1\x96\xe1\x3a\x93\x66\x83\x34\x84\x3b\xb9\x3d\x24\xa3\x01\x6f\x9a\x39\xad\xb7\x0e\x23\x83\x79\xf4\x2f\x58\x1b\x86\xc2\x6e\x83\xfd\xb5\x4c\x5c\x9a\x10\xb0\x66\x90\x39\x31\xf4\x4a\xe7\x85\xcb\xc0\x5a\x26\x8e\xda\x58\xf7\xa4\x1d\x11\xe3\x5f\x85\x7f\xa6\x71\x32\x37\x44\x98\x35\x5c\xba\xd2\xfc\xbb\xa4\x83\x0e\x26\x41\x32\x86\x7c\xf9\x32\x40\xe0\x17\xdb\xaa\xcc\xe8\x27\xf5\x2a\x54\xeb\x75\xaf\x41\xfc\x2c\xe8\x75\x3d\xc3\xd8\x79\x34\x60\x6e\x94\xc0\x2a\x80\xa0\x0d\x1a\xb3\x7b\x43\xe6\x03\x59\xb0\x24\xfb\xf0\x25\xa1\xeb\x41\x21\x6e\xa5\x41\xa2\xf4\x81\x63\x34\xf1\xbe\x90\x54\xf5\xea\x8e\x10\x83\xb5\xfb\xf5\x90\x73\x48\x57\x91\x50\xd1\x4d\x93\x2a\x26\x7e\x6d\xc0\xe0\xd9\x6f\x86\x40\xd7\x26\xa4\x2e\xc2\x2a\x6f\xf2\xcb\xd9\x57\x85\x6d\x1d\x86\x5f\xbb\xe7\xd4\x96\xd6\x3a\xc9\x34\xc0\x30\x27\xc8\x33\x49\xf5\xd4\x60\x9d\xcd\x75\x91\x22\x59\xb5\x1d\x89\x1e\x1c\x2b\x83\x1d\x92\xc1\x6c\xd7\x6a\x11\x01\x34\x8b\xaa\xda\x63\xa2\x9e\x57\x2c\xa8\x70\xfd\xaa\x33\x2d\x5a\x87\x94\x01\x3b\x70\x5d\x94\xe0\xde\xbd\xc0\xf1\xc4\xe5\xf6\x11\x6b\x97\xaf\xab\x66\x65\x4e\xbd\x26\xec\x1c\x32\x6a\x04\xff\x65\x64\x99\xbd\xae\x50\xd3\x5f\x6c\xd9\x22\xaa\xd8\xb1\xe8\x6e\xd1\x77\x42\x46\x0b\xe2\x0d\x59\x41\xce\x86\xa5\x37\xe4\x9d\x5a\x18\xdd\xdc\x90\x70\x99\x24\xa3\x81\x81\xb1\x36\x55\x43\x30\x88\x42\x50\x24\x07\x64\x57\x83\x3f\x4c\x20\x74\xb5\x97\x78\x30\x76\x43\x18\x17\xc1\xaf\xe6\x3b\x53\x77\xfe\x8c\xe9\x3c\x2e\xa2\x59\x1c\xe1\x63\xec\xcd\x1d\x23\x60\x6e\xcc\x89\xa9\xc1\x7a\x4e\xf7\xf0\xec\xdd\xf0\xf0\xe8\xe4\x62\x6f\x68\x32\x8a\x95\xa0\x56\x48\x9a\x61\xd4\xfa\x21\x7e\xbf\xf7\xc3\x02\x88\x8d\xeb\x83\xd5\xaa\xd4\x2e\x32\xed\x3e\x28\x19\xff\xb5\x80\xb8\x84\x05\x6f\x2d\x8e\xac\x52\x32\x1e\x63\xbf\x5f\xa4\xf3\xd1\x84\x9d\x48\xdb\x3a\x9f\x4f\x6e\xb8\xf4\xaf\x00\x53\x54\xa0\xef\x30\xbf\xec\x5d\x11\xab\xf0\x5a\x18\x0d\x96\xdf\xea\xe8\x62\xa2\xa6\x61\x5f\xb7\x63\xaf\x49\x2c\x93\xbf\xc5\xa4\xba\xba\xdf\x08\xdc\xba\xfd\x44\x75\x71\xc6\x3c\x75\xbb\x2c\xec\x20\xcb\x22\xe6\x2d\x32\xe7\xbf\x65\x73\xfc\x7c\xa9\xcd\x31\x1e\xd5\x01\x9a\x62\xff\x78\xf2\x8f\xb5\xee\x46\x50\x14\xc1\x68\x42\xff\xac\x6d\x83\x6f\x3a\xfa\xe3\xee\x6f\xb9\xf6\x06\x81\x0e\xc6\xb0\xfb\x5b\x9e\x26\x6b\xdb\x60\x8b\xbe\xbd\x89\x0a\xf4\x6f\x6d\x1b\xbc\x90\x1e\x10\x10\xc2\x33\xb5\x3e\x7b\x35\x8f\xe3\x7c\x94\x41\x98\x08\x5f\xd7\xb6\xc1\xb7\x8e\xd7\xdd\x51\x8e\x80\x6f\x39\xcb\x60\xfc\x7a\x09\x95\x8c\xef\x48\x09\x3a\xfc\xc3\x54\x2b\xf0\x52\x2d\xc0\xbf\xad\x6d\x03\xad\x36\xff\x46\xf0\x7f\xf7\xe4\x51\xc8\x45\x41\x3b\x08\x69\x93\xf0\xbe\x68\x66\xf0\x77\xd4\x43\xff\x60\xbb\x3a\x43\x74\x77\xb9\xc6\x39\xcc\xd3\xf8\x16\xe2\x8a\xad\x1d\x07\x68\xb1\x20\xc2\x80\xad\x21\xd1\x9e\x60\x1a\xcc\x2e\x33\xf8\xfb\xd5\xce\x93\x7f\x44\x37\xcd\xa7\xcd\x28\x24\xb6\x24\x60\x63\x83\x64\xca\xc0\xd6\x93\xc9\x7c\x7a\x0d\x33\x90\x66\x80\xc4\x07\x7a\xf2\x8f\x7f\x14\x93\x2c\xbd\xc3\x91\xa1\x8f\xb2\x2c\xcd\x9a\x6b\x07\x41\x92\xa4\x05\xb8\x89\x92\x10\x10\x59\x04\x8d\x35\xd0\x06\x19\xfc\x1d\xb4\xc1\x5a\xa3\xbb\xd6\xda\xe1\x4d\x8b\x42\x4c\xad\x4c\x64\xf7\x13\x7c\x90\xbc\x77\xe5\xd7\x3f\xc2\x87\xbc\x29\xf2\x87\x1e\xeb\xa0\x5a\xcd\x69\x30\x6b\x99\x40\x66\xa4\xe1\xa0\x6f\x66\xc8\xce\x13\x42\x6a\x97\x8e\x1a\xad\x9c\x06\x10\x73\x6d\xeb\xf9\x8e\x3a\x26\xbf\xf1\x18\x93\x78\xf8\x69\x08\xff\x58\x4b\x82\x29\x5c\xdb\x26\x59\x3b\xbb\x74\x1c\x76\xd6\xa6\x41\x94\xac\x6d\xaf\x95\x03\xb0\xb3\x36\xcb\xa2\xdb\xa0\x80\x6b\xdb\x48\x3b\x78\x54\x49\x78\xb1\x2a\x12\xd0\xf0\xe5\xf8\xe9\xd0\xad\x42\xfe\xad\x2f\x72\x4d\x70\xc8\xc9\x1b\x98\x05\x59\x0e\xc1\x4d\x10\xc5\x30\xdc\x06\x1b\x93\x74\x0a\x37\x1e\xe6\x61\x10\x6d\x04\xd9\x68\x12\xdd\xc2\x8d\x59\x96\x86\xf3\x51\x91\x6f\x6c\xf5\x36\x5f\x6c\x8c\xd3\xa2\x78\xd8\xc8\xb3\xd1\xc6\x38\x2a\x26\xf3\xeb\xee\x28\x9d\xd2\x0a\xe4\xd5\x6f\xf9\x46\x92\x86\x70\x48\x88\xc8\x37\x70\xdb\x36\xe2\xe8\x7a\x23\x08\xc3\x34\xc9\xed\x53\x09\xf8\x29\x81\xf7\x33\x38\x2a\x60\x08\x8a\xf4\x13\x4c\x40\x73\x73\xbb\xd7\xfa\x98\xfc\x9a\xce\xc1\x34\x78\xc0\x81\x75\x40\x90\x80\x60\x36\xcb\xd2\x59\x16\x05\x05\x04\x71\x1a\x84\x30\x03\x45\x0a\x26\x41\x12\xc6\x10\xaf\x33\xe0\x26\x42\xdf\xd0\x0a\xfa\x31\xf9\x0c\xba\x94\xbf\x1c\x1b\xf8\x03\x3d\x46\x9f\x19\xb5\xec\xd8\x06\x37\xd1\x3d\x0c\x77\xd8\xf3\x22\x9d\x6d\x83\xde\x0e\x1a\x3c\x0a\xc7\xbf\x5b\x59\x77\x97\xd3\x6c\xd9\xeb\xd2\xbc\x59\xd5\xf9\x2f\x57\x45\x4a\x39\x95\x72\x4a\xa4\x09\xb4\x8a\x90\x57\x7f\xa3\x63\x63\x3e\x8d\xcd\x32\x38\x0b\x32\x1c\xe2\xf3\x4d\x9a\x5d\x50\xbd\xb2\x89\xa6\x93\x0e\x10\xc2\x65\x32\x15\x06\x27\xe9\xd4\x1f\x0b\x3a\x06\x9d\xda\x48\xc0\xce\x8d\x8f\xd9\xf7\x1f\x93\x8d\x71\x07\x34\x3e\x66\x0d\xe9\xb8\x4f\x28\xbe\xf3\xe4\x91\xab\x22\x66\x82\x40\xdf\x42\xa9\x98\x3c\x29\x9d\x3d\xbc\xc5\xe2\x9d\x35\xe1\x6d\x07\x1f\x3f\x77\xca\xc8\x65\xd4\x6a\x45\x6c\x08\xee\xd6\x6b\x21\x36\xe8\xb1\xa4\x93\xd3\x38\x6c\xa3\x38\x9a\x5d\xa7\x41\x16\x1e\x06\x45\xd0\xcd\x61\x81\xfe\x36\x1b\x88\x90\x86\x0e\xdf\x18\xaf\x8c\xb4\x58\xd9\x67\xc3\x5b\x1b\x68\xc4\x93\x8d\x59\x1c\x44\x49\x4d\x04\x26\x5d\xb0\x64\xad\xc0\x20\x6c\x77\xcc\x7f\x89\xf2\x10\xe4\x05\x54\xb9\xc8\x98\x02\x6f\xbb\x79\x91\xce\x90\xb8\x05\xe3\x40\xbc\x47\x22\xc1\x96\xee\x85\xdc\x53\x68\x43\x19\x14\xa3\xc9\x7b\x04\x50\x52\xcb\x51\x39\x69\x27\x40\x42\xca\x39\x25\x51\xeb\x29\x26\x7f\x82\x8e\x8e\x8a\x4c\x28\xe5\x85\x1c\x2b\x8e\x8e\xdf\xfb\x22\xc8\x60\xd0\xc5\x83\x41\x89\xf5\x89\x4b\x90\x50\x6e\x98\x05\x8d\x0e\x50\x60\x70\x79\xcd\xa6\xdd\x51\x90\x8c\x60\x8c\x36\x18\x92\xae\xed\x21\x53\xa8\x88\x49\xae\xb4\x23\x08\xc2\x14\xa3\x08\x8e\x25\x11\x54\x0e\x55\x24\xbe\xab\x7c\x78\xb4\x4b\x23\xdd\xba\xfa\x10\xa5\x09\xee\xd8\x20\xb8\x8b\x90\x25\xcc\x02\x82\x18\x22\xd9\x10\x7e\x0a\xc2\x3a\x4d\x6f\xb1\xbc\xec\x65\x30\xf8\x29\x09\x61\x46\x1c\xd8\xe7\x59\x9e\x32\xe1\x25\x5d\xce\x1a\xc2\x45\x80\x9c\x5e\xce\x4a\x9b\xca\x06\x5e\xd9\x78\xb2\x33\xa9\x18\x4b\x1e\xd7\xd8\xea\xf1\x93\x4a\xa5\x08\x3f\x07\x75\x94\xa1\x49\xed\x28\x97\x61\x52\xfc\x02\xd6\xc1\x66\x4f\x3e\x01\x55\xea\x90\xa4\x7a\x65\x95\x5f\xab\xab\xfc\x8b\x79\x95\x34\x36\x7b\xbd\x9e\x5a\xe6\x26\x1d\xcd\xb9\x3f\x94\xed\xea\x46\x1a\x9a\x66\x7e\x29\x66\x64\x66\x86\x39\x0b\x71\x96\x39\x4b\x51\xa6\x39\xcb\x10\x26\x39\x8b\x70\xa6\x08\xd1\x64\x3a\xe0\x1b\x69\x7a\x74\x49\x13\xda\x8d\x38\x5e\x0b\x32\x89\xcd\xac\x71\x0c\x05\x79\x16\x25\xe4\xd8\xd7\x23\x7f\x59\x56\x7a\x94\xcd\x66\xee\x75\x42\x15\x15\xfc\x4e\x5e\x1e\x34\xca\x41\x5f\x6f\x8d\xed\x58\xe0\x80\x4d\x08\x96\x73\x81\xe7\xff\xce\x8a\xf7\xef\xac\x78\x7f\x59\x56\x3c\xc9\x38\xfa\xb7\xbc\x32\x9d\xdd\x81\x64\x4c\xe0\x91\x0d\xec\x40\x8c\xe4\x69\x4e\x04\x26\x14\xe1\x59\x67\x3b\x80\x24\x69\x37\x64\xc5\x5f\x2c\xd7\x97\x90\x1c\x34\x94\xd2\x81\x0a\x65\x24\x94\x78\x71\x15\x7e\x6b\xfa\x8e\x96\xbf\xca\xdc\x1d\x42\xeb\x24\xf3\x4f\xbc\x14\xd4\x31\xf9\x14\x0d\xe6\x86\x77\x65\xa2\x4f\xf0\x45\x0d\x58\x6d\xe4\x93\x45\x6a\x61\xfa\xd5\x6b\xd5\x55\x34\xc0\x48\x6a\x77\xca\xa5\xb5\x6e\xfc\x3f\x21\x76\x35\x05\x62\x90\x46\x50\xfa\x2f\x48\x65\xb8\xcf\x82\x4f\x96\x59\x17\x20\x83\x46\x16\x5c\xe7\x69\x3c\x2f\x60\xc3\xbb\x36\x51\x04\x1a\x3d\xff\x1a\x54\xbd\x68\xac\xbf\x7a\xf5\xea\x15\x9c\xfa\x54\x44\x6b\x28\x3e\x70\xc3\xad\x6f\x7c\xf0\x42\x06\x8b\xbd\xa2\xc8\xa2\xeb\x79\x01\x9b\x8d\x20\x8b\x82\xf5\x49\x14\x86\x10\xed\xef\x1a\xa8\x87\xcd\x2c\x92\x46\xa6\x21\x71\xb6\xd2\x5f\x32\x08\x3f\xbb\x9c\x61\x98\xb2\x49\x49\xb6\xc9\x01\x55\x57\xc4\x7a\x75\x55\x9f\x77\xc9\x6b\x59\xd1\x29\xb2\x63\x98\x4e\x61\x91\x3d\x94\xb1\x79\x64\xc6\x8e\x61\xb1\x9f\xce\x93\x30\x4a\xc6\x07\x58\x41\x3e\xa7\x6a\x8d\x28\xdd\x0c\x08\xd3\x4b\xfb\x7d\xd0\x43\x33\x28\x7f\xce\x54\xd1\x7a\x77\x35\x65\xc0\x07\x02\xf7\x69\xbf\x0f\x14\x54\x3c\x5e\x95\x70\x75\xae\x60\x35\x8f\x32\xa6\x41\xcb\xf0\x4c\x32\xc2\xd5\x68\x05\xae\xa1\x2c\xd9\xde\x8e\x26\x41\x96\x47\xff\x82\x23\x62\x07\xd3\xb0\xf5\x1b\x15\x93\x03\xd1\x92\x4e\x71\x33\x42\x2b\xa9\xd5\xd3\x48\x5e\x43\x25\x30\x16\x15\x52\x10\x14\x8b\x12\xb9\x52\xd7\xa2\x7f\x2b\x91\xff\x56\x22\x17\x56\x22\x2b\x35\xc8\x28\x1b\xcd\xe3\x20\x3b\x89\xf2\xc2\x53\x85\x14\x6a\x58\x75\x48\xa1\x4c\x73\x1a\xdc\xeb\x1e\x16\x8b\xa9\x8d\x01\x16\x3c\x92\x4c\x15\x0b\xa1\x00\x5c\x2b\x2c\x85\xae\xd0\x73\xa5\xc6\x06\x5b\xd9\x9a\xba\xa4\xd0\x4a\x49\x1b\xe3\x44\x2d\xac\x90\xe1\x86\x6a\x76\x59\x82\x5a\x96\xcb\xc0\x12\x78\xf7\xce\xc4\x66\x50\x9a\xeb\xec\x69\xbc\x93\x2a\xc9\xf3\xb0\x29\xf5\x0f\xf7\xe6\x16\xeb\x51\xd3\x5b\x6a\x8b\x66\x4d\x32\xc7\xf0\x5f\x46\x65\xd8\x2e\xdc\x46\xea\x04\x35\x86\xc5\xc1\xc3\x28\x8e\x46\x24\x2c\x49\xd4\xaa\x8e\xd6\x23\x0a\x03\x86\x6d\x5a\x75\x6c\x32\xf0\x05\x35\x74\x9b\x50\xc4\xcb\x49\x44\x2d\x59\x30\x0b\x02\xc9\x4b\x41\x5f\x82\x5d\x09\xb0\xa9\xd3\x24\x21\x90\xa8\xc0\xf2\xc0\x41\x59\x7b\x5d\xe9\x2b\xd2\xf9\xf3\x84\x70\x2c\xd4\x0d\x45\x5d\x0e\x4a\xca\xa0\x2d\x91\xff\x95\x7d\x7a\x93\x66\x47\xf8\xa2\xd9\xbf\x53\xed\x1b\x1c\x60\x5a\xcf\xd0\xa4\x78\x1d\x8c\x3e\xdd\x68\xe9\x6e\x18\xb0\x48\x0f\x57\x08\xd4\x40\x0c\x43\x61\x90\xea\x45\xcb\x7e\xc6\xcb\x05\x1a\xee\x43\x1c\x4f\x83\xf5\xee\x70\xd3\xde\xbf\x25\x81\x4d\x82\x05\x67\x8c\x1c\x6e\xb6\x3a\xa8\x5e\x75\x3a\xbe\x15\x6f\x3a\x8d\x3d\x85\x68\x92\x73\x27\x91\x48\x41\xfa\x9d\x60\xe5\xc4\x84\x2b\xca\x61\x02\x2c\x38\x73\x13\xce\x0e\x59\xb1\x75\x2f\xed\x6a\x9c\xa0\x4f\xea\xfa\xe0\x9e\xcd\x15\x67\x84\xfa\x58\xa5\xc9\x41\x41\x0e\xa4\x5d\x05\x93\x32\x66\x6e\x6b\x5c\xef\x81\x61\x4a\x56\x03\x92\x94\x20\xc5\x69\xbb\x12\xac\x09\x74\x55\x08\x4f\x61\x9f\x41\x93\x3d\x6f\xd6\xdb\x4f\x92\x46\x8b\x2d\x78\xf4\xe9\x97\x74\x66\xdd\x46\xfa\x8a\xa0\x88\x7f\x7d\x1d\xc7\x03\xf2\x93\xc7\x59\x1c\x8d\xe4\x5d\x2c\x0d\x2d\x12\xc2\x18\x16\xf0\xc0\x94\xfd\x28\x2a\xe0\x34\x57\xf2\xdd\xf2\xe9\x62\x88\xa6\x9e\xad\x1d\xf4\xf7\x35\x08\xb2\x31\x3e\x58\xe1\xd3\x0c\x18\x1a\x56\x05\x0c\xef\x72\x18\x81\x75\xb0\x85\x84\x8a\xd7\xba\x1c\x8a\x81\xe1\xe4\xcd\xab\x85\x3e\x60\xcc\x7f\x4b\xd6\x26\x49\x32\xd7\xc5\x16\x5a\x17\x2b\x1f\xa5\xc4\x4b\x77\x01\x6d\x89\xa3\x1e\x9a\x0c\xa3\xb3\x2f\x11\x6a\xe1\x06\xe9\x92\x67\xcf\x08\x2f\x2d\x5e\x00\xd6\xa5\x9b\xa6\x02\x06\xbb\x25\xbb\xd6\xd7\x17\x63\x07\x68\xcb\x24\xac\x42\xb3\x33\xe9\x9d\x22\x92\xc5\x7b\x8f\x45\x80\x21\xbd\x48\xe4\x50\x8d\x45\x68\xf1\x16\x67\xac\x93\xdb\xcb\x14\x28\xe7\xbc\x44\x42\xb1\xcf\x93\xe2\x22\xa5\x3e\xbf\x2e\x90\x2d\x66\xef\xce\x61\xea\xcb\xa7\x36\xd3\xb5\xfb\x22\x06\x5b\x85\x58\xf2\xff\xa8\x82\x2f\xcd\x8c\x02\xf4\xea\xcc\x35\xb6\x9e\x61\xed\xed\xcb\xdd\x69\x01\xe7\x33\x97\x22\xea\x74\xe3\xed\x91\xc9\x8f\x7a\x44\xa3\x9b\xba\x14\xde\x91\x14\xce\x58\xd3\xb6\x9f\x54\xf2\x5f\xb1\xc2\x16\x06\xb5\xe9\xb5\xce\xe1\x96\xd7\x24\x3e\x89\x6e\xd8\x41\x6b\x6e\x9a\xcb\x47\x24\xf0\x2b\x4d\x57\x65\xe4\xc3\xeb\xda\xa7\x87\x64\xec\xbc\x26\xa7\x91\xe4\xc7\x6e\xdf\xc9\x4d\xd5\x40\xb1\x41\x6a\xb1\xe9\x1e\xa4\xf3\x02\xa4\x37\x20\x0b\x92\x31\xd4\x4f\xf6\x64\xbc\x6d\x9e\xc2\xcc\xe4\xab\xad\xe0\xa1\x16\xb4\x98\x4f\x00\x32\x46\x45\x09\x88\xa3\xbc\x00\xd7\xf0\x21\x4d\x42\x80\x35\x2a\xd0\xb3\x23\xe6\xb9\xce\x34\x84\xd2\x04\x45\xf8\x59\xce\xa8\x3d\xf7\x6c\x9a\xb3\x4c\xef\x68\xd8\xf3\x66\xd1\x1d\xf4\x58\x7c\xa9\xa6\x79\xd7\xfd\x13\xe1\xfd\x2c\x48\x42\x24\x1d\xfb\x68\x0f\xcc\xab\x8e\x68\xc0\x34\x26\x00\xeb\x16\x81\x66\x2d\x95\xe0\x38\xe3\xff\x96\x23\x58\xac\xa3\x4f\x20\x34\x36\x9f\x54\xc9\x67\xaa\x54\x31\x99\xa2\x03\x02\x0f\x2d\x52\x2a\x67\x55\xf1\xcc\x9c\xf5\x8c\x9e\x69\x5a\xa5\x46\xd5\xca\xc5\x2a\xfa\xdf\x67\x66\x54\x96\x3e\xaf\x9d\x8f\xae\x78\xb7\x01\x2d\xfb\x1f\xc6\x35\x43\x39\x7d\x17\x28\xa9\x11\xe5\x4b\x39\x7d\x94\xa1\x58\x4e\xdf\xc5\x36\x5b\x8e\xdf\xff\x6e\x81\x0f\x0e\xd3\x29\x9d\xb3\x09\xb0\xf7\x69\x5a\x15\xdf\xcb\x54\xa5\x89\x7a\x57\xdb\xc4\xd1\xd3\x65\xf4\x47\x5d\x82\x1c\xaf\x66\x84\x84\x4b\x2d\xee\x5b\x94\xfc\x94\xa3\x4a\x7f\x3c\x8a\x07\xa0\x26\x72\xc4\xf0\x2d\x23\xcc\x40\xe7\x15\x19\x54\x2f\xee\x4b\xfd\x0a\x11\xd3\x15\xb6\x91\xda\x2c\x04\x95\x5b\x5c\x72\xcc\x7e\x0a\xef\xbc\x1d\x45\x55\x08\x18\xe5\x2c\x9d\x99\x01\x08\xac\xb8\x84\xe5\x15\x5e\x79\x37\x6a\xe4\xc7\xd9\xfe\x7f\x1e\x1d\x5c\x0c\x8f\x0f\x87\x7b\x17\x17\xe7\xc7\xfb\x3f\x5d\x1c\x61\x65\x53\x6b\x39\x1d\x34\xd2\x73\xca\xee\x0a\x46\x67\x30\x86\x41\xae\xb8\x8f\xe9\xd7\xe0\xc2\x5d\xf9\x4a\x1a\x51\xbd\xec\xa6\xf3\x38\x04\x68\xe5\x65\x14\x06\xbc\x7d\xf8\xf1\x03\x2c\x00\x95\x12\xc3\x55\x1e\xfa\x90\xad\xcf\x2a\x59\xaf\x8a\xf6\x28\x86\x41\xc2\xb3\xb3\x6a\x97\xd1\xa2\x60\xcc\xf3\x89\x52\xc2\xaf\x7f\x4a\xc9\xf4\x19\x0b\x82\xf5\x8b\x62\x8f\x50\x8e\x5f\xc5\x3d\x16\xbb\xce\x18\x89\x18\xa6\xf8\xbb\x16\x50\x16\x9a\xee\xf6\x7d\x99\xd8\x01\x51\xd8\x2d\x58\x04\xf2\xcd\x9e\x21\xfd\xcd\x02\x52\x2c\xf5\x44\x95\x2c\x33\xfa\x47\x71\x90\xe7\xa7\x24\xbd\xb5\x68\x11\xcd\xde\x47\x49\x02\xb3\xb7\x17\xef\x4e\x84\xf7\xf2\x22\x65\xa2\x8a\x79\x18\xfa\x32\x04\x01\x0f\x83\x22\x58\x4f\xaf\x7f\x5b\x8f\xc2\x86\xa5\xa6\xd8\x19\xe4\x2c\x8a\x2d\x79\x96\xb5\xc0\x4c\x9b\x79\x09\x34\x62\xb4\x2c\x85\xcb\xb9\x39\x7e\x21\x67\x8e\x11\x89\xfc\x90\x37\x83\x2c\xeb\x00\xc8\x83\x56\xd2\x7e\x0a\xb2\x8c\x07\x46\x45\x2f\x49\x58\x54\xd1\x3f\x80\x54\xc7\x1a\x38\xf9\xba\xf3\xc4\xc6\xac\x1f\x60\x02\xb3\x68\x64\xe3\xcf\xe2\x2e\x67\x93\x02\x66\x53\xd5\xa1\xe8\xf9\xe2\xfe\x63\x71\x74\x2d\x40\xc3\x5f\xf0\xf7\xab\xd6\x8e\xb9\x65\xd7\xf3\x24\x8c\x99\x09\xc2\xff\x0b\x00\x00\xff\xff\x45\xd0\x32\x65\x5a\x47\x03\x00") -func staticJsGottyJsBytes() ([]byte, error) { +func staticJsBundleJsBytes() ([]byte, error) { return bindataRead( - _staticJsGottyJs, - "static/js/gotty.js", + _staticJsBundleJs, + "static/js/bundle.js", ) } -func staticJsGottyJs() (*asset, error) { - bytes, err := staticJsGottyJsBytes() +func staticJsBundleJs() (*asset, error) { + bytes, err := staticJsBundleJsBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "static/js/gotty.js", size: 2826, mode: os.FileMode(436), modTime: time.Unix(1502428894, 0)} + info := bindataFileInfo{name: "static/js/bundle.js", size: 214874, mode: os.FileMode(436), modTime: time.Unix(1503301076, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _staticJsHtermJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\xfd\x7b\xdb\x36\x92\x38\xfe\x7b\xfe\x0a\xd4\xdb\xab\xa4\x44\x96\x25\xf9\xdd\xa9\xdb\x53\xe3\xb8\x97\x7b\xd2\xb4\xdf\x24\xdd\xbd\x7b\x1c\x6f\x0e\x22\x21\x89\x35\x45\x6a\x01\xca\xb6\xda\x7a\xff\xf6\xef\x33\x33\x78\x27\x25\xb9\xed\xee\xdd\xee\x7e\x1a\xd7\xaa\x4c\x0e\xc1\xc1\x60\xde\x31\x00\xf6\xf6\xd8\xfb\x59\xa6\xd8\x24\xcb\x05\xbb\xe3\x8a\x4d\x45\x21\x24\xaf\x44\xca\xc6\x2b\x96\x67\xe3\xb4\xac\xf6\xc6\x59\xb1\x97\x94\x45\xc2\xab\x9e\x9a\xf5\x9e\xec\xed\xb1\x57\x15\x9b\x71\xc5\xc6\x42\x14\x6c\xce\xe5\x8d\x48\x99\x14\x3c\xdd\x2d\x8b\x7c\xc5\x26\xa5\x64\xab\x72\x29\x99\xe2\x13\x51\xad\x7a\x8c\xbd\xe5\xd5\x4c\x48\x78\xb0\x9a\xf1\x82\x89\x34\xab\x58\x56\xb1\x34\x93\x22\xa9\xf2\x55\x97\x2d\x72\xc1\x95\x60\xf3\x32\xcd\x26\x2b\x56\x16\x82\x95\x13\x56\xcd\x84\x12\x4c\x95\x4b\x99\x08\x78\x16\x70\x54\xbd\x1e\x20\x00\x7f\x6a\xe4\x7e\x50\x7b\x79\x36\xee\xfd\xa0\x6a\xd7\x3e\x26\x65\x5e\x4a\xd5\x78\x6b\xd2\x78\x75\x2e\x94\xe2\x53\xf1\x71\xce\x0b\x3e\x15\xb2\x11\x66\x21\xc5\x44\x48\x51\x24\x9b\xc1\xa4\x20\xc4\x1b\x6f\xaa\xaa\x94\x7c\xba\xf1\xde\xc7\x64\x26\xcb\xf9\x66\x90\xbc\x4c\x78\xbe\x11\x62\x2e\xe6\xa5\x5c\x35\x82\x54\x42\x55\x1b\x7b\xb0\xac\x26\x27\x8d\x37\xee\x12\x7d\x79\x56\x09\x39\x87\xab\xf8\xa5\xf1\xe2\xc7\x89\xe4\xb6\x17\xd1\xad\x1b\xb1\x1a\x97\x5c\xa6\x9b\xef\x7e\x1c\x67\x45\x9a\x15\x53\xb5\x05\xec\x46\xac\xe6\x7c\xb1\x1d\x68\xc1\xab\x4a\xc8\xa2\x19\xb0\x5c\x54\x59\x59\xac\x79\xd5\x82\x4b\x65\x69\xd5\x78\xef\x63\x96\x8a\xa2\xca\x26\x99\x90\xeb\xda\x58\xc7\x3d\x31\xdc\x72\xac\x96\xe3\xe6\x7b\x2a\x91\x42\xac\xe9\x80\x4a\x64\x99\xe7\x8b\x52\x56\xcd\xf7\xe1\x23\x2b\x2c\xd7\xac\xb9\xfb\x31\x2b\xd7\x01\xdc\x57\x1f\x79\x55\xc9\x6c\xbc\xac\xc4\x9a\x3e\xde\xae\x79\xf7\x6d\xf5\x31\x99\x71\xc9\x93\x4a\xc8\x8f\x76\xac\x9e\x00\xe4\xbb\x6f\xbf\x7f\xfb\xe2\x25\xbb\x7c\xf5\xfa\xe5\x59\xa3\x60\xbf\x28\x17\x2b\x99\x4d\x67\x15\x6b\x27\x1d\x36\xec\x0f\x86\xec\xfd\x4c\xb0\x17\x20\x24\xd9\x72\xce\xbe\x7d\xc7\x46\xcb\x6a\x06\xe2\xce\x46\x79\xce\x10\x56\x31\x29\x94\x90\xb7\x22\x45\xa5\xf5\xbd\xd2\x6a\x25\x53\x5a\xab\xb0\xa4\x4c\x05\xcb\x14\x9b\x96\xb7\x42\x16\xa4\xf4\x38\xfb\xea\xdd\xc5\xae\xaa\x56\xb9\x60\x79\x96\x88\x42\x09\x50\x5b\x15\x4b\x78\xc1\xc6\xa4\x89\xca\x65\x91\xb2\xac\x00\x15\xc5\x5e\xbf\x7a\xf1\xf2\xcd\xbb\x97\xa8\x9e\x7a\x4f\x9e\xb4\x96\xa0\xb4\x2a\x99\x25\x55\xeb\xf9\x93\x27\xd9\x84\xb5\xab\xd5\x42\x94\x13\xe8\x17\xfb\xe4\x9c\xb5\x96\x45\x2a\x26\x59\x21\xd2\x56\xe7\x09\x63\xd5\x4c\x96\x77\xac\x10\x77\xec\xa5\x94\xa5\x6c\xb7\xbe\xce\xcb\x31\xcf\xd9\x4e\x9e\x8d\x77\x58\x39\xfe\x41\x24\x15\xe3\x39\xa8\xd7\x15\x13\xf7\x99\xaa\x54\xaf\xd5\x79\xfe\xe4\xc9\x2d\x97\xd8\xe4\x39\xfb\xe9\xe1\xf9\x93\x27\x7b\x4f\x9f\x3e\x61\x4f\xd9\x37\x7c\x01\x9d\xdc\x49\xc5\x42\x14\xa9\x28\x92\xd5\x0e\xab\x4a\x76\xb5\x43\x3d\xde\xe9\xb2\x5e\xaf\x77\xdd\x7b\xc2\x10\xfa\x25\x4f\x66\xcc\x81\x02\x29\xb8\x79\x67\xc1\xe7\xa2\xcb\xf2\xec\x46\x20\x2e\xbd\x89\xda\xe9\x32\xd3\x0c\x40\x42\xe7\x97\x32\x47\xe2\x40\x63\xa9\x58\xa4\xa2\x48\x15\x2b\x89\x30\xd4\x0e\xbc\x6a\xef\x09\x34\x20\x97\x45\x95\xcd\xc5\x85\x79\x5d\x26\xd4\xc7\x08\xfb\xd7\x99\xaa\x00\xfd\xc9\xb2\x48\x50\x12\x89\xf2\x85\x10\x29\xf4\x62\x2c\x58\x56\xdc\x96\x60\x6e\xd2\xa5\xcc\x8a\x29\x10\x40\x72\xb9\x62\x59\x91\x55\x19\xcf\xb3\x1f\x39\x3c\x16\x74\x4f\xe4\x62\x2e\x8a\xca\x0c\x17\x40\xbe\xe0\x79\x3e\xe6\xc9\x8d\xfa\xc8\xb8\x94\x1c\xfb\x9d\x55\x4a\xe4\x13\xc6\x59\x75\x57\xee\x9a\x67\xf0\x6e\x0f\x9b\xd2\x57\xfa\x44\x23\x35\x2b\x65\x85\xc3\x5c\x4c\x59\x2a\x54\x22\xb3\x31\x7c\xc5\x7e\xdf\x15\x42\x6a\x03\x86\xaf\x63\xb2\x5c\x56\x59\x21\xba\x6c\xa9\xc4\x64\x99\x43\x7b\x60\x24\x53\x31\x5e\x4e\xa7\x59\x31\xed\x31\xdb\xfe\xc0\x50\x36\xd1\x38\x5a\x5a\x38\x42\x46\x5d\x38\x67\x57\xd7\x8e\x84\x6f\x45\x52\xca\x14\x70\xd4\xf4\xf6\xc6\xd7\xd0\x05\x4d\x3e\xb1\xb3\x46\x89\xdd\xcd\x44\x01\x56\x9b\xdd\xf1\xa2\x02\x5a\x8b\xfb\x85\x14\x4a\xb7\xb3\x1b\x35\xc4\x68\xc4\x93\x72\xbe\x00\xc7\x01\xee\xf6\x18\x78\x05\x99\x62\x45\x09\xb4\xae\x00\xd2\x0c\x1a\x67\x93\x65\x9e\xef\x4e\x72\x91\x4e\x45\x6a\x07\x4d\xad\x54\x25\xe6\xac\x94\x9a\x7b\x4c\xe3\x95\xe4\xc9\x8d\x90\xd8\x62\x4b\xb1\x1f\x96\xaa\x02\x92\x48\x01\xcd\xcd\xf9\x8d\x00\xe7\x61\x51\x2a\x95\x8d\x73\xbc\x86\x84\x04\x10\xdd\x90\x62\x77\x59\x35\x2b\x97\x15\xe0\x5e\xc0\xb8\xf0\x3c\x27\xaa\x96\xa9\x30\x54\xf8\xd6\xf1\xb9\x62\x5c\x0a\xa6\x16\x22\x01\xe5\x9d\x32\xae\xf4\xd8\xaa\x1e\x63\x97\xa5\x64\xe2\x9e\xcf\x17\xb9\x00\xef\x83\x1e\x86\x7f\xc8\xd4\x55\x2a\x16\xed\x16\x7c\x25\x77\xa3\xd5\x65\xf8\xd7\x77\x56\xd3\x7f\x43\x8a\x1e\x84\xb6\xe1\xc5\xc8\xdb\x40\xb3\xb1\x60\xb2\x2c\xb5\xe7\x05\x4d\xb4\x7a\x8c\xfd\x77\xb9\x64\x73\xbe\x82\x51\x22\xc5\x85\xbd\x4d\x72\x40\x97\x47\x64\x2b\x0b\xc6\x8b\x95\x27\x76\x34\xd4\x82\x25\x79\x06\xac\xb5\x90\xe5\x54\xf2\x39\xb6\x07\xdc\x85\xf8\x8b\x42\x2d\xa5\x78\x5b\x17\xcd\x76\x87\x71\xe0\x70\x2e\xab\xe5\x82\x65\x05\x34\x56\xca\x54\x48\x64\x0e\x7c\x8a\x84\x13\x5a\xaa\xb1\x5a\x26\x14\x9b\xf1\x5b\xa1\x5d\x44\x61\xf1\xf9\xf7\x05\x07\x1c\x7e\x22\xf2\x3e\xb0\x5b\x2e\x3f\x72\x39\x55\xec\x5b\x70\xfa\x24\x9b\x97\xd2\x68\x0e\xd5\x3c\x20\x4e\x9f\x00\xe9\xd9\xb9\x15\x90\xb6\x69\xab\xc3\x7e\x7a\xc2\xa0\x65\xad\xe6\x9f\x3f\x01\x3d\x2b\x57\x78\xb9\xae\x71\x61\x5c\xd8\x03\x4b\x78\x95\xcc\x58\x5b\xdc\x77\x34\x1c\x36\x50\xf1\xe4\x66\x84\x3a\xe2\x9c\x89\xfb\x1e\xfe\xdd\x53\x8b\x3c\xab\xda\xad\x0f\x05\x8e\x29\x63\x0c\x5c\xe2\x82\xbd\xe3\x13\x2e\xb3\x2e\x32\x9a\x14\x6a\x99\x57\xc0\x7a\x5e\x13\x77\x59\x9e\x33\xf4\x91\x91\x36\x43\xa3\x9b\x14\xe3\x45\x4a\xfc\x4b\x8d\x81\xcb\x73\x9b\xa5\x4b\x9e\x9b\x6e\x23\x83\x4e\x4a\x39\x07\xf7\x25\x65\x69\x36\x41\xee\xaa\x72\x10\x6a\xc6\x18\xd8\x19\xf7\xa6\x5e\x2e\x8a\x69\x35\x63\x5f\x9c\xb3\x7d\xd3\x1d\x66\x8c\xde\xb9\x87\xd2\xd5\xf0\xba\x27\xc5\x22\xe7\x89\x68\xef\xfd\xf9\x83\x7a\xca\xab\x0f\xea\xd9\x5e\x97\xb5\x4c\xd7\x1e\x98\xc8\x95\xd8\xd8\xc6\x20\x6a\x63\x4a\x16\x0c\x64\xed\xdf\x83\xa6\x80\xce\x30\x16\xa0\xfc\x60\xb4\x58\xc6\xce\x59\xff\x39\xcb\xd8\xe7\x8c\xcb\xe9\x12\x69\xa1\x71\x7f\xce\xb2\x67\xcf\xfc\xa1\x58\xf0\x6a\xc6\xce\x1d\xdc\x55\x76\xfd\xdc\x76\x1d\x6f\x66\x85\xaa\x78\x91\x80\xad\x45\xc4\x5c\xcf\x2d\xbb\xf4\xf8\x62\x91\xaf\xda\x79\x36\xee\x62\x83\xcd\x9d\x84\xd7\x81\x82\x3a\x47\x99\x6b\x34\x5c\x57\xf0\xb4\x46\x80\x50\xf8\x84\xcb\x55\x47\xff\xcd\x1e\xf7\xb8\x56\xdd\xf6\x89\xde\x62\xa9\x66\x6d\x22\x71\x40\x33\xcf\x44\xbe\x44\xd1\x53\x5b\x64\x0f\xb8\x65\x2e\xaa\x2e\x88\x14\x44\x5c\xf7\x89\x40\xd7\x96\xac\x8b\x2c\xef\x9c\x8d\xbc\x15\x72\xc5\x96\xc5\x5c\x54\x0d\x16\x83\x58\x76\x2c\x58\x5e\x4e\xa7\xa4\xcf\x81\xbb\xff\xf3\x1d\x4b\xca\x42\x95\x39\xaa\xfd\x89\x36\x07\x10\xc4\x55\x18\xbd\x85\x2e\x05\x35\x8e\xea\x0b\x9b\x93\x3c\x53\x22\x40\xcb\x09\xf5\x5a\x7d\xf4\xd1\x97\x74\x27\xe1\x0b\xae\x94\x48\x81\xd4\x72\x49\x82\x6e\x99\x4b\xf3\x04\x5b\xe7\x7b\x04\x72\x8e\x34\x47\xf7\xe3\x7c\xed\x03\xfe\x98\xc3\x43\xa4\xc0\xcf\xf1\x45\x46\x27\x90\x6f\xe6\x74\x02\x67\x69\x99\x20\xc3\x02\xc5\xc0\x7f\x66\xad\xbb\xac\x48\xcb\xbb\x96\xb1\xf4\x5a\x5c\xb4\xde\x66\xf4\xd4\x5d\x29\x6f\x84\x64\x59\xd5\x52\xa6\x35\xd0\xd9\x22\x65\x2d\xf0\x53\x5a\x3d\x8b\x45\x39\xfe\x81\x9d\xb3\x36\x35\xca\x7e\xfe\x99\xc1\x7d\xcd\x3d\x4d\x82\x86\x58\x37\x09\x99\x66\xe3\x36\x02\x5c\x65\xd7\x40\xbb\x72\xfc\x43\xc7\xdd\x67\x76\xd4\xef\xb8\x2c\xda\xad\x6f\x32\xa5\x40\xc5\xed\xb4\xd8\x33\x22\xf7\x33\xd6\x42\xdf\x10\xac\x1a\x5a\xb2\x56\xd7\xa3\x6d\xe7\xb9\x6d\xc8\x8e\xdb\x84\xe7\x4a\xb8\xeb\x63\x29\xf8\x8d\xf9\xf3\xe1\x89\xfe\x42\x7d\x2c\xc7\x3f\x5c\x19\xe4\xae\x23\x95\x82\xa8\x53\xa3\x9d\x46\x2d\xdf\xba\xe4\x19\x90\xaf\x81\xc7\x93\x99\x48\x6e\x60\xdc\x1e\x7c\x37\x6a\x9a\xa9\x4a\xa0\xf4\x84\xce\x65\xe0\x90\x19\x13\xbb\x06\x84\x04\xd1\xf8\xac\x59\xc1\x24\x36\x2b\x09\x8a\xcc\x29\x78\x5e\x28\x3d\xda\xb3\x6b\x77\xd0\x1d\xa5\x67\xc0\x33\x04\x27\xd6\x34\xa8\x05\x48\x24\x22\xbb\x05\xbf\x0a\xc8\x9f\x0b\x86\x46\x55\x54\x42\x76\xd9\xdd\x2c\x4b\x66\xd0\x1e\xfa\xa9\xf6\xb9\xd0\x7b\x46\x6f\x2f\xab\xd0\x81\xcb\x45\x25\xd0\xfd\x85\x56\x2a\xdf\x6f\xad\x3b\xd4\xb1\xf5\x86\xd1\x60\x23\xed\x0d\x93\x1b\xbc\xa8\x00\x33\xbc\xd1\xe0\x02\x1b\x77\x73\x42\x4e\x1f\xfc\x73\x5e\xb0\xff\x06\x2b\xea\xe6\x4b\xe7\xc1\xb9\xc4\x1b\x28\x0e\x1d\x95\x7a\xec\xa8\x41\x29\xaa\xa5\x2c\x5c\x8b\x0f\xe4\x13\x99\xb6\x2c\xe9\x3c\xc7\x42\x3f\xff\x0a\x10\xf7\xb4\x0e\x45\x44\xe6\x49\x12\x8b\xba\x3f\x4e\x4a\xfc\x2a\x04\xbe\x46\xd6\xd7\xa8\x98\x8b\x01\xc3\xbd\x32\xfd\x11\x48\x34\xed\x23\x07\x1e\x3b\x8e\x7d\xcd\xf5\xd2\xc8\x36\xb1\x76\x60\x09\x78\x91\x22\x5b\x20\x0b\xa0\xa7\xe8\x3d\xba\x8e\x7f\xcd\xfb\x5f\x85\xf7\x81\xb7\xd4\xaa\x48\x66\xb2\x2c\xca\x25\x38\xc9\xef\x1d\xce\x26\x08\xa0\x90\x15\x54\x10\x78\xaf\x80\x1b\x46\x3e\x18\x22\x15\x48\x5b\x3b\x68\x1e\xc3\x47\x9c\xe6\x54\xfe\x83\x79\x0a\x5e\xe5\x0f\xb7\xee\x11\xf1\x74\x8c\xa7\xe1\x32\xc3\xe9\xcd\x4c\xf6\x14\x5a\x5f\x54\x1f\xf3\x72\x7a\x69\x5a\x1e\x15\x8c\xd2\x41\x3c\x0f\x5e\xa7\x04\x11\x12\x15\x66\xf8\x3a\x29\x72\x4c\x9d\xe6\xe5\x94\xe9\x5c\x22\x78\xec\x61\xe4\xe6\x73\x14\xf5\xa8\x1b\xbf\xdb\x99\x37\x72\x23\xea\x4c\x86\x36\x06\x15\x7b\x91\x55\x6f\xc0\xaa\xd4\xac\x23\xe9\x44\xe0\x21\xd2\xf5\x9d\xc0\xbd\x91\x22\x41\x67\x6a\xd5\x53\xb3\x6c\x52\xb5\x3b\xbe\x2b\x13\xa3\x63\xb5\x73\x74\xa3\xdd\x82\xd7\x9f\x31\x50\xff\x52\x24\x57\xfd\x6b\xdb\x0c\xfc\x39\xb8\x6e\x63\xe2\xa0\xc7\x73\x2e\xe7\x6d\x83\x6a\xa7\xd9\xe9\x22\x5a\xb4\x7d\xbf\xe7\xb9\xd1\xec\x3a\x83\xa2\x19\xe0\x93\x73\xd6\x32\x9d\x6d\xad\xd1\xf6\xc6\x34\x95\x40\xa2\x5b\x9e\x67\xa9\xf5\x1c\xcf\x74\x3b\xda\x52\x6f\xf6\x3a\xda\x04\xa4\x44\xf5\x3e\x9b\x8b\x72\x59\xd9\x6e\x74\x59\x9f\x4c\xc6\xc6\xfc\x55\x98\x84\xfe\xa7\x4d\x63\x69\x25\xf5\x06\xac\xef\x82\x27\x18\x8a\x30\xec\x1a\x5b\x56\x59\x9e\x55\x99\xf0\x22\x33\xea\x73\x94\xdb\xb9\xcc\xa4\xaa\xc0\x1b\x98\x83\xf6\x2d\x0a\x9c\x33\x98\x2e\x73\x2e\x4d\xae\x01\x0d\xe6\x9d\x68\x49\xc1\xa6\x25\x66\x53\x4a\x54\x1d\x88\xa1\x9e\xa4\xd0\xfa\xc1\x08\xe0\xda\x7f\x5f\xbd\x1d\xbd\x78\xc9\xfe\xfb\xdb\xef\xdf\xbe\x7b\xf9\xfa\xf2\x31\x4f\x30\xc6\xba\x7f\xfd\xeb\x5f\xff\xda\x7b\x0c\xe4\xcf\x5f\x7c\xfc\x9c\xfd\xf5\xaf\x8f\x00\xdd\xff\x9f\xdd\xdd\xdd\xd6\xee\xde\x63\x9a\xdd\x3f\x83\x7f\x1f\x6e\x3f\x6c\x87\x3d\x2f\xcf\x09\xb8\xfb\x08\x60\xf6\x33\xd3\xc0\x08\xbd\xe1\x81\xf7\xff\xf1\x92\xbd\x7d\xf9\xf5\xf7\xaf\x47\x6f\xd9\xcb\xff\xfa\xee\xed\xcb\x77\xef\x5e\x7d\xfb\xe6\xdd\xf6\x57\x8c\xde\xbe\x64\x2f\xbe\xfd\xe6\xd5\x9b\xaf\x3d\xb7\x48\x8a\x16\x98\x02\x76\xc7\x57\xe8\x80\x80\x6f\xc7\xf2\xb2\x98\xb2\xb7\x2f\x59\x9e\x55\x42\xf2\x1c\x34\x3f\xfb\x4f\x7e\xcb\xdf\xa1\xf3\xd0\x63\xec\x32\xbb\x27\x4e\xbd\x9b\xad\x58\x5a\x16\x2d\x0c\x2e\x56\xe5\xf2\x4b\xc6\xbe\x9d\xa1\x21\x63\x3c\x57\x25\xe5\x84\x82\x37\xdc\xc9\xac\x42\xb7\x88\x12\x73\xd8\x4a\x5a\x0a\x55\xb4\x28\x27\x25\x17\x52\x60\x6b\x42\x25\x7c\x21\x3c\xf3\xa6\x2a\xc1\xd3\x2e\xbb\x03\xa6\x2f\xcb\x05\x05\x3a\x99\x62\x36\xb2\xed\x30\x10\x86\x9b\x98\xc9\x7b\x52\x60\x12\xf3\x09\xba\xe8\x2f\xde\xbd\x63\x33\x71\x4f\x92\xd1\x65\x7f\x78\xfb\xf5\x57\xe0\xa8\xcf\xc4\xfd\xe0\xe8\x8c\xed\xfd\xa1\x7d\xc5\x77\x27\xfd\xdd\xd3\xeb\x4e\xd3\xb7\xbd\xac\xfb\x64\x4d\x3b\x6f\xbf\xfe\xfa\x2b\xd3\xd4\xf0\x20\x68\xea\xa7\xe1\x43\x67\xfd\x1f\x61\x9b\x72\x3a\x36\x6d\xca\xe9\xb8\x2d\xa5\xec\x4e\xa7\xd3\xee\x78\x3c\xee\x40\xe3\x72\x3a\x3e\x43\x25\xfa\x56\x4c\x5f\xde\x2f\xda\x5a\x33\xb7\x5b\x7f\xde\x53\x4f\xe5\x74\xbc\xa7\x9e\xee\xb5\xf7\xd4\xd3\xf6\x5e\xfa\xd3\xa0\xbb\xff\xd0\xd9\x53\x4f\xbb\xf1\xdf\x2d\xf6\xcc\xd8\x8b\x56\x74\x6f\x0f\x3e\x3e\x6d\x99\xdb\x1d\x97\x36\xf8\xb0\xb7\x37\xed\xb2\xd6\x87\x0f\xad\x4e\x97\xb5\xb2\x56\xe7\x71\x58\x77\x39\xe7\x06\x73\xbe\x11\x75\xbe\xa7\x9e\x06\x98\x6d\xed\x47\xf4\xb7\xff\x70\xfb\xcb\x33\x7d\xfb\x59\xfb\xcb\xb3\xbd\xde\x5e\xfa\xac\xf3\x25\x00\x75\x7e\x45\x0f\x5f\x66\xc0\xc7\xec\xed\xd7\x5f\x81\xb1\x7a\xfb\xf5\x57\x23\xdd\xa1\xfb\xcd\x1d\xfa\xf2\x7f\xa7\x47\x5f\xfe\x8a\x2e\x8d\x0a\xf6\x5f\x83\x01\xdb\x01\x7e\x4a\xd3\x74\x4f\xff\xee\xb0\x5b\x9e\x2f\x41\x85\xb3\xfb\xc1\x00\x99\x0d\xf3\x45\xf0\xcd\x31\xed\xa0\x7b\xf0\xd0\xf9\xb0\xb7\xf5\x82\x7a\xfa\xa9\x63\xee\x97\xc5\x34\xcf\xd4\x4c\x9b\x24\xf0\xbd\xe1\x2d\xf0\xff\x33\xb6\x77\xc5\x77\x7f\xbc\x86\x8f\xfe\xee\xe9\x07\x75\xfd\x6c\xaf\xeb\x3b\xde\x2f\xca\xe2\x56\xc8\x8a\x71\xc3\x6b\xed\x34\x4d\xbb\xfa\xb7\xa3\x5b\x44\xc4\x41\x85\x94\x10\x10\x42\xe7\xbc\xeb\x36\xa1\x8c\x03\x09\xad\x78\x37\x75\x08\x38\x2d\x4a\x49\xf9\x13\xed\xc0\x2b\x5e\x64\x15\xb8\x77\x29\xaf\x38\x9b\xf1\x22\xcd\x75\x0c\x64\x67\x2e\x5a\x69\x9a\xb6\xd0\x73\x2d\x0b\x9c\xc1\xc0\xd9\x99\x42\xb0\xf1\xaa\x12\x1a\x25\x97\x22\xcd\x0a\x96\x8a\x24\x9b\xf3\x7c\x7d\xae\x15\x9e\x40\x87\x23\xc4\x11\xd0\x4a\x88\x0c\x61\xcc\x64\x9e\x84\x67\xa2\x4e\x03\xb3\x16\xcb\x3c\x07\xff\x0c\xfc\x07\xba\x98\x94\xcb\xdc\xa4\xb3\x9d\xeb\x8d\x2d\x93\x6f\x1f\xea\xce\xe9\xf8\x7d\x09\xed\x06\x49\xdc\x7c\x29\xc8\x57\xb5\x5e\xb7\x4a\x78\x2e\xda\xb7\x36\x61\xc3\xce\x59\xfb\x1b\x5e\xcd\x7a\xf3\xac\x68\xdf\x76\xd9\xf0\xf0\xb0\xc3\x9e\xb2\xe1\xe1\x71\xa7\x57\x95\xef\x10\xe9\xf6\xe0\x48\xbb\x92\x77\xb3\x2c\x17\xac\x7d\x6b\x92\xa2\x9f\xb3\x03\xe3\xd1\x42\x4b\xad\x3e\xb8\xaf\xb7\x3a\x6b\xa3\x7b\x7e\xfb\xdc\x24\x16\x9c\x17\x4e\x63\x3d\xe7\x55\x32\x6b\x87\x06\x00\x3a\x72\x8f\x6f\x0b\x13\x81\xba\x31\x20\x13\x36\xaf\xff\x6e\x01\xc3\xc3\x4b\xa9\x5f\x5c\xae\xae\x06\xd7\x1d\xf6\x8c\xb5\xf6\xc2\xab\xc3\xc6\xab\xfb\xd7\x61\xaa\xc2\x32\x70\x8d\x31\x2d\xc3\x1a\xce\xee\xf5\x7a\x9d\x26\xce\x35\xe3\x4b\x4f\xcd\xf9\x0a\x67\x6d\xfc\xf6\x28\x9c\xa5\x6c\x22\xa8\x2a\xcd\x03\x34\xf6\x93\x52\xce\xa1\x19\xe8\xd7\x6c\x36\x9b\xed\xd9\x0f\x9d\x1e\xf4\x98\x58\x23\xa6\x58\x2e\x94\xa2\x7a\x90\x03\x96\x66\xd3\xac\x52\x2c\xab\x74\xc4\xb6\xe0\x69\x2a\x52\x56\x2e\x71\x2a\xea\x00\x53\xea\x9a\x0d\x52\x96\x96\x77\x18\x88\x4d\x32\x9c\xd4\xb3\x49\x10\x90\x8a\xed\xac\x1f\x93\xe8\x31\xac\x1f\x8b\xcb\xdf\x80\xf5\xef\x07\x83\xf7\x25\xb4\xeb\xb3\xfe\x66\xb6\xdf\xdb\x63\xdf\x71\x22\x8a\xd6\x2c\x77\x59\x35\xf3\xe8\x38\x29\x97\x52\x93\x12\x23\xf2\x4c\x21\x21\xc1\x13\x6a\x2f\x64\x39\xe6\xe3\x5c\x33\xe6\xde\x1e\x43\x3e\x16\x8a\xdd\x63\xed\x86\x9e\x6a\x4b\xb3\xc9\x24\x4b\x96\x39\x92\x5d\x71\x8a\xde\x49\x5d\x65\x45\x22\x08\x98\x29\x21\xe6\x10\xd7\x9a\xa6\xb8\x94\x98\x8d\x02\x1d\xaa\x47\x8e\x48\xa2\x67\x35\x0a\xb6\x10\x12\x78\x44\x3b\xff\xe5\x7c\x9c\x15\x3a\x05\x36\x31\x8d\x4c\xf9\x7c\x0e\x7c\x22\xa5\xc0\xde\x77\x35\xc5\x29\xdc\xa8\x24\x2f\x68\xf6\x03\x6f\x41\xc3\x7f\x59\xf2\xa2\xb2\xf9\x29\x1b\xf0\x5a\x31\x3f\x3f\x67\x03\x17\xf3\x42\x90\x46\x6c\xa2\x79\x6d\xc1\x2d\x7f\x21\xdd\xc6\x2b\x26\xc5\x42\xf0\xca\x4c\xe3\xda\x5a\x85\x1e\x63\x3b\x93\x1d\x36\x16\x49\x39\x17\xca\xb5\xb7\x33\x99\x4c\x26\x3b\x3d\xc6\xde\x25\x3c\xc7\x79\x60\x60\x4c\x8e\x8e\x9b\x27\x1e\x38\x0a\x58\x73\x02\xef\x18\x1e\x1e\x9b\xbc\xaf\xe2\x73\xe1\x5a\xe3\x8a\x25\xcb\x0a\xdf\x5e\x4e\x26\x56\xcd\xf7\x18\xfb\x93\x60\xea\x26\x5b\xe0\x33\xf3\x2c\x4d\x73\xf0\x51\xc5\x02\x89\x80\x73\xa3\x69\xb9\x1c\xe7\x5e\x53\x21\xf6\x36\x20\x47\xbe\xc6\x42\x95\x57\x45\xd5\xbe\x05\xa5\xd7\x65\x56\x4b\x3e\x34\x93\x70\x18\x91\x70\x9e\x41\xc0\x96\x0a\x9e\x33\xf0\xbe\x7b\x0c\x05\x6a\xc1\x53\xc5\xaa\xbb\x92\x88\x6b\xd8\x33\x26\xa9\x6b\x07\x0d\x58\x1b\x46\x17\x58\x9c\x2d\x17\x9a\x34\x1d\xa0\x26\x72\x5a\x14\x06\x12\x5c\x56\xb1\x31\x4f\x6e\x5c\x3b\x44\xf1\x62\x75\xc7\x57\xe8\xbb\x43\x6c\x8b\x24\xd1\xbd\xc5\x5c\x93\xcc\xa6\x59\xc1\x73\xe7\x7c\x34\x92\x63\x3b\x29\xf6\x03\x52\xbc\x9f\x49\x21\xc2\xfe\x82\x5c\xe8\x44\xab\x16\x83\x1a\x53\x4d\x10\x13\x7c\xaa\xe7\xda\x12\xbd\x69\x8f\x0d\xfa\x13\xc3\x63\xf0\x7d\xd2\xf3\x6c\x14\x0e\x56\x4f\x2d\xc7\xaa\x92\xed\x61\x88\x26\x0c\x0b\x52\x87\xf4\xe2\x4c\xb0\xa1\xe7\x20\xf4\x7c\x43\x84\x36\x53\x42\xd4\xdf\x8e\x3a\xce\xf6\x90\xfc\x4d\x56\xaf\xd9\xe2\x91\x03\xb7\xde\xe6\x79\xe0\x60\x3a\xde\x97\x6f\xbf\xfe\xaa\x7d\x4b\xc9\x14\xcc\x3a\x2d\xf2\x2c\x11\xed\x7e\x97\x0d\xfc\xd4\xa8\xf7\x18\xd6\x5e\xe0\x73\x23\xcc\x62\xcd\xf9\xa2\x8d\x6c\xd0\x69\x34\x7f\x8a\xca\x06\xf5\x0c\x32\x68\xd6\x96\x0e\x9b\x5a\xa1\x3b\x86\x36\xb1\x9a\x89\x4c\x5a\x93\xa8\x0b\x32\xe6\xc6\x7a\xe0\xec\x21\x39\x6e\x56\x83\x83\xa9\x41\xbf\xb7\x47\x16\x4d\x2b\x7d\x5e\xe8\xb9\x7b\x0b\xd8\x75\x66\x4c\x7b\xca\x29\x29\x6a\x30\x19\xcd\xf6\xe9\x67\x9a\xb4\xfd\x9c\xfe\xfa\xe2\x81\x8d\x8c\x4d\xf3\x4c\xad\xd4\xb5\x2a\xe5\xc4\x5d\x25\x2d\x1c\xd8\x9a\x26\x2b\x56\x6b\x1f\x33\xe0\xb6\x67\xf6\x05\xd4\x66\xcd\x56\xcd\xc4\x3d\x8e\x83\x6f\xab\xb8\x9c\x46\xd6\x4a\xb7\xd7\x9e\x85\x33\xe8\x52\x80\xb7\x36\x13\xf7\x9e\x24\x1d\x74\xd8\x97\x36\xa7\x18\x31\x16\xc6\xca\xec\xac\xe1\xf2\xf0\xc0\x4d\xbd\x11\x6f\x42\xab\xc4\x9d\x52\x74\xac\xcc\xfa\x13\xb1\xb1\x07\x16\xf8\x60\x6d\x9a\xb6\xd2\x82\x40\x6e\x18\x49\xc3\x33\xd6\xea\x32\x2f\x3e\x0a\xa1\x86\x8f\x82\xda\x77\x50\x9d\xd6\x73\x7f\x9e\x8a\xcb\xe9\xda\xb9\xea\x35\x53\xe3\xcd\xf3\x75\x5c\x4e\xaf\xb2\x6b\x76\x6e\x69\x4f\x17\xfc\x14\xaa\x9f\x63\x85\xf7\x06\xb0\x4e\xde\x35\x55\xb8\x9c\x3e\x4e\xb6\xac\x33\x09\x62\x13\xc8\x54\xb3\xd4\xd9\x44\xcb\x84\x4d\xb3\x5b\x01\x4a\x1b\x63\x76\xd7\x08\x95\x4d\xf0\x7c\x31\xe3\x6c\x92\x89\x3c\x75\x53\xd5\x8c\xdf\xf1\xd5\x3f\x9e\x6c\x5a\x1a\xd4\x05\xd4\x57\x2c\xc4\xb2\x5a\x58\xff\x8e\x52\x8a\xc1\xd4\x7f\x88\xfb\xc7\x49\x29\x28\x6f\x4f\x4a\xdd\x3c\x83\x6e\x2d\x91\x3c\xb9\x01\x9d\x6d\xb4\xbc\x93\x9c\x3f\x80\xd8\x50\x62\xff\xc7\x05\x4f\xdb\xed\x76\xc0\xf7\xfd\xeb\x0e\xfb\xfc\x73\x64\xfd\x9f\xad\x64\x34\xfe\x6b\x47\xb2\x87\xcf\xb1\x93\x5f\xf8\xdc\x50\x3f\xd7\xef\x84\xc1\x5f\x97\x1d\x75\xfe\x49\xc5\xee\x3d\xd7\x33\x74\x34\x71\x91\x28\xa5\x85\x09\x0b\x47\x33\x1c\x48\xf4\xad\xe1\x61\x8c\x82\x28\xcc\x93\xd3\x31\x30\x08\x08\x56\x18\xdf\xbd\xc5\xf7\xa8\x2d\x51\x0b\x2b\xc0\xc3\xce\xb3\x1f\x1b\xe2\x15\x7b\x2b\x8a\x59\x52\x31\x21\xc2\x00\x85\x53\x31\x31\x4e\x0a\x1a\x76\xd0\xf5\xad\x3f\xb4\xd6\x39\x06\xc6\xae\x60\x23\x76\xae\xa7\x21\xb4\xee\x55\x42\x55\x08\x15\x34\x95\x8a\x89\x1f\x56\x37\xba\x1c\xd4\x74\x63\xba\x67\x1f\x68\x75\xc0\x82\x5a\x4f\x9f\x94\x5a\x39\x91\x38\xd6\x08\xe2\xb9\x27\xa1\xc4\xad\xbc\xd9\x3b\xd4\x66\xe7\xfe\x2c\x1c\xfb\x02\xfc\xc8\x2f\x19\x59\x08\x76\xc6\x06\xcf\xc3\xc4\x00\x47\xab\x44\x82\x64\x2d\x0c\x23\x01\x09\xff\x1e\xfa\x7f\xe3\x9b\xb4\xa9\xf1\x7a\xfb\xed\xad\x90\x94\x14\x77\xda\x35\x99\xf1\xa2\x10\x39\xe8\x29\xea\xe8\x1e\x32\x0c\xf6\xab\xd6\x4d\x25\xaa\x91\xee\x85\xed\xa3\x9c\x8e\xbb\xd4\x56\xd3\x44\xe5\x3a\x05\xa2\x7b\x7c\x4e\x4f\x3e\xca\xe7\x0b\x47\xee\x9b\xec\x1e\x02\x4c\x21\x13\x51\x54\x7c\x8a\xe1\x15\x67\x55\x86\xa5\x35\x39\x4e\xf4\xc1\xd8\xb1\x31\x57\x62\x4d\x6f\xe6\x59\xa0\x1e\x01\xb2\x8b\x2d\x74\x4d\xbb\x41\x8f\x06\x6b\xba\x04\xcf\x61\x9f\x34\xdc\x70\x0d\x1c\xb4\xdc\x79\xbe\xae\xe2\xed\xe0\x39\x7b\xf6\x2c\xf3\xb5\x30\x84\xdf\x34\x2b\x3b\x04\x05\xb3\x8b\x38\xd8\x3a\x37\xfd\x07\x3b\x6f\xf4\xe3\xf5\x5d\xf0\x37\xb0\x99\xa7\xb6\x47\xb1\xb6\x59\x4f\xef\x41\x48\xf0\x77\x8b\x3c\xab\xea\x3c\x62\x65\xc4\x9a\x3b\x88\xa7\x6d\x86\xc7\xda\xfa\x6f\x0b\xa6\x96\x49\x22\x94\xea\x32\x5e\x13\x34\x53\x58\x46\x48\x61\xa5\xcb\x25\xe9\x2e\x6d\xe0\x3c\x87\x00\x5a\x33\xf0\x4a\x60\xcc\x3e\xa8\x8d\xad\xa1\xba\x3f\xc0\x78\xcb\xe9\x27\x62\x0a\xa7\xa1\x0e\x48\x43\x41\xd7\x5a\x75\x6b\x48\xd0\xeb\xf2\x7d\xbc\xf3\xdc\x9f\x64\xf7\xad\x43\x6d\x4e\xdd\xaa\xf9\xd5\x1a\x13\xf1\xd8\x97\xfe\x82\x77\xda\x72\xc2\xc1\x66\x34\x80\x31\x4c\x55\x97\xa0\xb9\xf3\x17\x60\x13\x8a\x0f\xad\x8a\x21\x4d\x69\x7e\x9f\x48\xe9\x89\x2d\xf9\xd4\xdb\xf2\x90\x58\x08\xa4\x05\x33\x70\x1c\x03\xfb\xf4\xc6\xd5\x60\x57\x32\x5b\x2c\x44\x0a\x6c\x85\xa9\x1f\xaa\x8d\x75\x6e\x50\x55\xb2\xbc\xbc\x13\x32\xe1\x4a\x17\x1f\x02\x9b\xd0\x6b\xd0\xb1\x5b\x16\x37\x45\x79\x57\x74\xb5\xb1\x53\x8e\xc3\xfc\x5a\x9a\x5c\xaf\x34\xf0\xb0\xac\x4a\x0c\xac\xe6\x7c\xb1\x80\x70\x3d\x53\x2c\x15\x32\xbb\x15\x29\x9b\xc8\x72\x4e\x29\x9b\xaa\x4c\x6e\xa0\x77\x3a\xdb\xd9\xab\xee\x2b\x7f\x5a\xba\xb9\x40\x8a\xfc\x38\xff\x3d\x5b\x33\x8e\x98\x07\x53\x8b\x12\x97\x3e\xad\x21\x5c\x68\x9f\x8d\xc5\x8b\x0b\x96\x1c\xf7\xeb\xa1\x08\x34\x15\xfc\x0f\x89\xbf\xce\x46\x3b\x08\xac\x68\xba\x46\x6d\x86\x2d\x9d\xd3\x34\x4b\x55\xbe\x86\xe1\x78\xc1\x95\x68\xdb\x74\xc0\xdf\xe7\x55\x6e\xe2\x49\x3d\xc3\x99\xa7\xd6\xdf\xe1\x85\xeb\xb8\xfb\xbd\x1d\x7e\x1a\xca\x05\xcf\x45\x55\xd5\x07\x02\x61\x5e\xc0\xf7\xef\x08\x22\xb4\x0d\xc6\xe7\x79\xc2\x58\xfb\x0a\xd3\x48\x82\xed\x8c\xde\xbc\x7b\xc5\x06\x47\x3b\xb8\xbc\x80\x31\xd6\xfa\x43\x1f\xff\x81\x71\xff\xc3\x8b\x17\xf6\xeb\xc1\xcb\xd3\x51\xff\x88\xae\x1e\x8c\xf0\xaa\x86\xdf\x3f\x38\x3a\x1c\x1d\xe0\x9d\xe3\xc3\xc3\xfe\xf1\x57\xf8\xb5\x7f\x74\x7a\x72\x3a\xc2\xaf\x17\xfb\x17\xc7\x2f\x2e\x2d\xfc\xe1\xe1\xe1\xf1\xe1\x3e\xde\x79\x79\x39\x3c\x1d\x9e\x12\x7c\xff\xab\xd1\x80\xae\x5e\xbe\x78\x79\x7a\xe0\xe0\x8f\x87\xa7\x97\xf0\x38\xdc\x19\xf6\xfb\x2f\xbe\x32\xf0\x87\x5f\x5d\x50\x2b\xf0\xef\x45\xab\x6b\x73\x52\xd0\xb1\xa3\xfb\x23\x4d\xad\x64\x39\xa6\xb5\x9b\xb5\xee\xc1\x97\xc3\x4b\xfb\xf5\xe4\xd8\x7e\x1d\xb9\xab\x17\xee\xea\xa5\x43\x0a\x1e\xb4\xad\x1c\x5e\xda\x56\x0e\x2f\x6d\x2b\x87\x97\x23\x77\xf5\xc2\x5d\x0d\x5a\x39\x39\xb6\xad\x9c\x1c\xdb\x56\x4e\x8e\x6d\x2b\x27\xc7\x23\x77\xf5\xc2\x5d\x0d\x5a\x19\x39\x5c\x46\x0e\x97\x91\xc3\x65\xe4\x70\x19\x39\x5c\x46\x21\x2e\x17\x0e\x97\x0b\x87\xcb\x85\xc3\xe5\xc2\xe1\x72\xe1\x70\xb9\x08\x71\xb9\x74\xb8\x5c\x3a\x5c\x2e\x1d\x2e\x97\x0e\x97\x4b\x87\xcb\x25\xe1\x62\x78\xe4\xd2\x0e\x12\x7c\xd5\xcd\xc0\x57\xdd\x0c\x7c\x1d\xb9\xab\x17\xee\xaa\x87\x0c\x8c\x8b\x6d\xc5\x0e\x12\x7c\xb1\xad\xd8\x41\x82\xaf\x17\xee\x6a\xd0\x8a\x1d\x24\xf8\x6a\x5b\xb1\x83\x04\x5f\x47\xee\xea\x85\xbb\x1a\xb4\x32\x72\xb8\x8c\x1c\x2e\x23\x87\xcb\xc8\xe1\x32\x72\xb8\x8c\x42\x5c\x2e\x1c\x2e\x17\x0e\x97\x0b\x87\xcb\x85\xc3\xe5\xc2\xe1\x72\x11\xe2\x72\xe9\x70\xb9\x74\xb8\x5c\x3a\x5c\x2e\x1d\x2e\x97\x0e\x97\x70\x90\x80\x2c\xba\x19\xf8\xaa\x9b\x81\xaf\xba\x19\xf8\x3a\x72\x57\x2f\xdc\x55\x0f\x19\xa0\xa8\x6d\xc5\x0e\x12\x7c\xb5\xad\xd8\x41\x82\xaf\x17\xee\x6a\xd0\x8a\x1d\x24\xf8\x6a\x5b\xb1\x83\x04\x5f\x46\xee\xea\x85\xbb\x1a\xb4\x32\x72\xb8\x8c\x1c\x2e\x23\x87\xcb\xc8\xe1\x32\x72\xb8\x8c\x42\x5c\x2e\x1c\x2e\x17\x0e\x97\x0b\x87\xcb\x85\xc3\xe5\xc2\xe1\x72\x11\xe2\x72\xe9\x70\xb9\x74\xb8\x5c\x3a\x5c\x2e\x1d\x2e\x97\x0e\x97\x70\x90\x46\x4e\x92\x46\x4e\x92\x46\x4e\x92\x46\x4e\x92\x46\x4e\x92\x46\xa1\x24\x8d\x9c\x24\x8d\x9c\x24\x8d\x9c\x24\x8d\x9c\x24\x8d\x9c\x24\x8d\x42\x49\x1a\x39\x49\x1a\x39\x49\x1a\x39\x49\x1a\x39\x49\x1a\x39\x49\x1a\x85\x92\x34\x72\x92\x34\x72\x92\x34\x72\x92\x34\x72\x92\x34\x72\x92\x34\x0a\x25\x69\xe4\x24\x69\xe4\x24\x69\xe4\x24\x69\xe4\x24\x69\xe4\x24\x69\x14\x4a\xd2\xc8\x49\xd2\xc8\x49\xd2\xc8\x49\xd2\xc8\x49\xd2\xc8\x49\xd2\x28\x92\xa4\x0b\x27\x49\x17\x4e\x92\x2e\x9c\x24\x5d\x38\x49\xba\x70\x92\x74\x11\x4a\xd2\x85\x93\xa4\x0b\x27\x49\x17\x4e\x92\x2e\x9c\x24\x5d\x38\x49\xba\x08\x25\xe9\xc2\x49\xd2\x85\x93\xa4\x0b\x27\x49\x17\x4e\x92\x2e\x9c\x24\x5d\x84\x92\x74\xe1\x24\xe9\xc2\x49\xd2\x85\x93\xa4\x0b\x27\x49\x17\x4e\x92\x2e\x42\x49\xba\x70\x92\x74\xe1\x24\xe9\xc2\x49\xd2\x85\x93\xa4\x0b\x27\x49\x17\xa1\x24\x5d\x38\x49\xba\x70\x92\x74\xe1\x24\xe9\xc2\x49\xd2\x85\x93\xa4\x8b\x48\x92\x2e\x9d\x24\x5d\x3a\x49\xba\x74\x92\x74\xe9\x24\xe9\xd2\x49\xd2\x65\x28\x49\x97\x4e\x92\x2e\x9d\x24\x5d\x3a\x49\xba\x74\x92\x74\xe9\x24\xe9\x32\x94\xa4\x4b\x27\x49\x97\x4e\x92\x2e\x9d\x24\x5d\x3a\x49\xba\x74\x92\x74\x19\x4a\xd2\xa5\x93\xa4\x4b\x27\x49\x97\x4e\x92\x2e\x9d\x24\x5d\x3a\x49\xba\x0c\x25\xe9\xd2\x49\xd2\xa5\x93\xa4\x4b\x27\x49\x97\x4e\x92\x2e\x9d\x24\x5d\x86\x92\x74\xe9\x24\xe9\xd2\x49\xd2\xa5\x93\xa4\x4b\x27\x49\x97\x4e\x92\x2e\x03\x49\xd2\xbe\xdf\x54\x8a\x15\xcd\xda\x4a\x3e\x5f\x78\xae\xdf\x09\xfc\xe0\x73\x83\x21\xfc\xd0\xd7\x17\xf0\x83\x5f\x87\x47\xf0\x83\x5f\xf7\xfb\xf0\x43\x5f\x47\xf0\x63\x31\x3d\xc0\x7f\x78\xe7\xe0\x25\xfc\x90\x71\x3c\x81\x1f\xfc\x8a\x8d\x50\xdb\x47\x2f\xe0\x07\xbf\x1e\x1f\xc1\x8f\x53\xef\x88\x0c\xa9\xec\x11\xfc\xe0\xd7\xd3\x03\xf8\xa1\xaf\x2f\xe1\x87\xd4\x05\x42\xe0\xd7\xaf\x86\xf0\x63\x5b\xf9\xea\x05\xfc\xe0\x1d\x7c\x13\xe1\x7e\xd1\x87\x1f\xfa\x3a\x82\x1f\xfc\x8a\xb8\x52\xdb\xe8\x31\xbf\xc4\xba\xba\xeb\x4e\x18\x67\x24\x4b\x29\x85\x4d\x6b\xe9\x48\xa3\x6b\x96\x3c\xaf\x68\xca\x62\xa9\x84\xc4\x5c\xde\xb4\x61\x32\x20\x59\x1b\x80\xd4\xe2\x93\xb0\xba\x3b\x65\xba\x78\x9b\x27\x49\x29\x53\x3d\xfd\x1e\xc4\xbe\xb5\xc0\xb7\xfe\xe6\x37\x7a\x65\x1c\x84\x9e\x3b\x3c\xcf\x12\x31\xce\x97\x62\xe7\x0c\x4b\x02\xdb\xc3\x83\x7e\x97\x0d\x0f\x4e\xa8\x70\x6b\xa7\x8b\x40\x45\x95\xfd\x65\x29\xee\x66\x59\xe5\xe0\x0e\x01\x6e\xff\xb0\xcb\x86\x83\x26\xb8\x81\x03\x04\x98\xfd\x53\x00\x3c\x6d\x00\x1c\x5a\xc0\x7d\x78\xe9\x70\xbf\xcb\x86\xfd\x83\x06\xc0\x7d\x0b\xd8\x3f\xec\xb2\xc1\xe9\xb0\xcb\x06\xc7\x47\x0d\x80\x07\x06\x70\x00\x6f\x1d\xec\x0f\xba\x6c\x30\xec\x1b\xc0\xbf\x2c\xf9\x9c\xcb\xac\xb0\x3d\x19\x0c\x8f\xb1\xb3\x80\xe0\xb0\x06\x35\x78\x1c\x98\xed\xc5\x60\x00\xbd\x80\xae\x0c\x4e\x4f\x6a\x60\xb6\x0f\x83\xfe\x10\xfa\x09\x1d\x39\xae\xa3\x66\x7b\x70\x84\x1d\x80\x8f\x81\xed\xe9\x8f\x4b\x19\x8d\x16\x22\xe5\x46\x0b\x00\x06\x5b\x21\x1c\xdd\x87\x07\x1a\xe3\xe1\xfe\x89\x0f\xe1\x90\x3d\xdd\xd7\xc8\x0e\xfb\x41\x1b\x1e\xa5\x07\x06\xd1\x7d\x33\xc8\x63\x91\x4d\x3d\x44\xe1\x69\xfc\xb0\x43\x31\xce\xd4\x5f\x3c\xc6\x43\x1c\x87\x48\xb8\xa3\x00\x62\xb0\x1d\x24\x62\xa2\xc1\x7e\x97\x0d\x4e\xf6\x03\x90\x88\x7d\x4e\x00\xe4\xf0\x24\x00\x89\x18\x67\x08\x70\xfd\x63\x03\x92\xf3\xe4\xc6\x00\xf4\xbb\x0c\xfe\x73\xb7\x8a\x64\x26\x52\x9e\xcf\xcb\x22\x8d\x18\x3f\xa0\x9a\x2f\x69\xd4\x86\x1b\x15\xb8\x37\xd8\x74\x73\x18\xdd\xb4\xa3\x05\x37\xf7\xa3\x9b\xc1\x2b\x0f\xc2\x9b\xde\x18\xe5\x4b\x71\x9b\x95\xb9\xa8\x5c\xd7\x4f\xba\xec\x00\xc6\x7b\x68\x49\x2c\xcb\xbb\xc2\xde\x3f\x3a\xec\xb2\x83\x21\xfc\xfa\xb7\xc3\x31\x3a\x3a\x80\x5f\xff\x7e\x38\x40\x87\xa7\xf0\xeb\xdf\x0f\x47\xe7\x70\x00\xbf\xfe\xfd\x70\x68\x80\xa8\xfb\xb6\x83\x4b\x99\xaf\xee\xca\xd2\x11\x7e\x08\xaa\xe1\xe4\x00\x3a\x5a\x03\x8a\x98\x69\x00\x7c\x7b\x58\x83\x0a\xd1\x1d\x9c\x1e\x77\xd9\xe0\xa0\x06\x15\xb1\xd4\x71\x1f\x99\x26\x86\x8a\xb8\x6a\x70\xd8\x65\x27\x06\x28\xe1\xa9\xa8\x7c\xa6\x38\x3d\x44\xb6\xec\xb2\xc1\x51\x3f\x86\x71\xaa\xe8\x70\x68\x84\xe9\xb0\xd6\x92\xd3\x44\x30\x4a\xc3\xe1\xa9\xcf\x29\x16\xca\xc9\x36\x12\x0b\x3a\xe8\x58\xc6\x42\x59\xd4\x51\x5a\xf6\x0f\x7c\xd6\x49\x66\x5c\x56\x52\x2c\x55\x83\x22\xed\xd7\x60\x1a\xd4\x68\x1d\xa8\x41\x89\xd6\x81\x1a\x54\x68\x1d\xa8\xae\x40\x1d\x4c\x99\x94\x39\xf7\x0c\xd9\x00\x86\x0d\x9a\xd9\xaf\xc1\x84\xcc\x82\xa8\xef\x1f\xc5\x40\x11\xaf\x00\xea\xfb\xfb\x31\x50\xc4\x2a\x88\xfa\x69\x0c\x14\x72\x0a\xa2\x6e\x61\x4a\xc9\xf3\x3a\x36\x27\x7d\xff\x7e\x84\xee\xe0\xa0\xcb\x4e\x8e\x7c\x80\x08\xd5\xfe\x51\xdc\x42\x88\xe6\xe9\x00\xb0\xf0\xef\x47\x18\x82\x1a\x38\x76\xf7\x8b\x09\x66\xff\x7d\x7e\x1e\xf4\x81\xba\x07\xc8\x84\x3e\xa4\xca\xf2\x9b\x50\x12\xd1\xe5\x18\xf6\x23\x98\xc1\x63\x80\x22\xed\xbf\x3f\x0c\x98\x59\x03\x85\x5d\x1b\x22\x5e\xc7\x31\x4a\xb1\xeb\x70\xe4\xbb\x0e\xc9\x8a\x17\x9e\x22\x8d\x8c\x2a\xdc\x1d\x6c\xbe\xed\x2b\xf0\xc8\xe0\xc2\x6d\x5f\x85\x47\xd6\x16\x6e\xfb\x4a\x3c\x32\xb5\x29\x97\x37\x75\xd3\x12\xde\x8f\xb0\x6f\x68\x61\x5a\xe6\xa9\x28\xa4\x53\xa4\x5a\x87\xc2\xc7\xa0\x09\x2e\xe2\xb7\x13\xd4\x5d\x4d\x80\x11\xdf\x1d\x83\x36\x39\x68\x02\x8c\xc4\xe4\x00\xcd\x70\x13\x60\x34\x50\xfd\x41\x97\x9d\xf8\x70\x92\xaf\x9c\xc5\x02\x08\xfd\x11\xc0\x08\x11\x50\xa4\xef\x99\x74\x0d\xb0\xb5\x91\x9b\x19\xbf\xc9\x1c\xbd\x4e\x8d\x67\x61\xdd\x06\x00\x9a\xf3\xa9\x28\x2a\x1e\xa0\x5c\x1b\x9f\x32\xcf\x6e\x45\x80\xd3\x09\xf9\x1f\x9e\x8c\x85\x70\x8e\xfc\xa8\x4e\x48\xe6\x87\x8d\xa0\x4e\xb3\x9e\x58\xf7\xb4\x7f\xd0\x08\xea\xf4\xeb\x91\xd1\xaf\xa7\xfd\x46\x48\x37\x06\x03\xc3\x50\x47\x3e\x9f\x94\x12\xe2\x9f\x90\x47\x0e\x22\x1a\x13\x4c\x83\x9e\xad\x03\x35\xe8\xd9\x3a\x50\x83\x9e\xad\x03\xd5\xf5\x6c\x08\x93\xcc\x32\x27\x03\x87\xfb\x5d\x86\xb1\x4e\x48\x2f\x04\x72\x56\x0d\x55\xe5\xd0\x17\x78\x07\xe5\x88\x7f\x0c\xbe\x4f\x20\xf7\x0e\xca\xd1\xfd\xf0\xc0\xbc\xb1\xde\x96\x43\xbd\x7f\xd0\x65\xa1\x45\x06\x28\x29\xd2\x98\xcd\xfc\xbe\x29\x74\x51\x1d\x21\xd1\x09\x46\xb7\xc5\xe7\x1b\x25\x78\xc0\x88\x83\x03\xf4\xa7\x81\xea\x07\xfb\x0d\x70\x83\x30\x50\xc0\x31\x3c\x6d\x02\xf4\xd8\xd0\xa8\xc0\xc1\x49\xbf\x01\xd0\x23\xc6\xa1\x89\x93\x02\xca\x1a\x40\x8f\x1e\x87\x46\xa9\x05\x64\x53\x60\x58\x7d\xdd\x78\x3c\x04\x36\x8d\xe9\x86\x60\xbe\xd6\x38\x38\xee\xb2\xe3\x53\xf8\x6d\x82\xf2\x5c\xb1\x41\x4d\xd5\x07\x90\x9e\x3b\x36\xa8\x69\xfd\x00\xd2\x73\xc9\x06\x35\x03\x10\x40\x3a\xb7\x6c\xd8\xa8\xc8\x35\xa0\xd8\xdc\x99\x6a\x29\xff\xb2\x2c\x33\x25\x02\xb3\x73\x04\x1f\x3e\x58\x14\x1e\x80\x05\xee\xa3\xe3\x6c\x60\xc4\x38\xe3\x85\xc7\x77\x43\xf0\x70\xc1\x37\x71\x10\x62\xb1\xc8\x8a\xc8\xde\xa3\x5f\x70\x1c\x81\x0c\x1e\x01\x13\xe9\x01\xf8\xdd\x8f\x61\x22\x35\x70\x84\xfa\x22\x82\x89\x4d\x88\xe7\x0b\x01\x88\xba\x59\x45\x26\x15\x85\xdc\x1b\x66\x07\x34\x78\x14\x94\x6f\xfe\x51\x15\x78\x8c\xe0\xa0\x7c\x2f\x00\x55\x81\xc7\x04\x0e\x2a\x70\x06\xfa\xa1\x1a\xc8\xe6\x81\xf9\x23\x45\x78\x18\x08\x06\x80\x88\xcd\x20\x65\x3a\x0d\x5d\xb9\x7d\x1c\x8d\x83\xa0\x73\x16\x68\xf0\x28\x28\x37\x74\x27\xda\xb1\xf0\x48\x60\xa1\xdc\xe0\xa1\xe7\x71\x14\x90\xc0\x42\xb9\xe1\x3b\xea\xb2\xe3\x13\x9f\x02\x93\x4c\x8a\xb1\xcc\x5c\xb8\x8e\xd4\xde\x47\x85\x19\x83\x84\x1c\x07\xdc\x7d\x70\x12\xc3\x84\x1c\x07\x9d\x3b\xa8\xb5\x13\x72\x1c\xc0\xed\xd7\xda\x09\x39\x6e\x08\x1d\x33\xee\xf9\x24\x07\xf7\x3a\xca\xb0\xa1\x56\xc1\x74\x9c\x61\xcc\x49\x29\x85\xaa\x02\xe5\xac\x6d\x80\xd7\xb7\x29\xcf\x0a\x35\x2e\x65\xe9\x02\xe2\x3e\xba\xcd\xbe\xef\x3c\x9d\x95\xaa\x0a\xdf\x87\xce\x75\x98\xf9\x03\x7f\x2b\x0a\x98\xbd\x78\x0b\xee\xc6\xf1\x74\x74\x3b\x72\xcd\xc1\x4f\xf3\x6f\xc7\x11\xf4\x7e\x78\x3b\x0e\x9d\x8f\xc3\xdb\x81\xb3\x3a\x44\x4d\x70\x04\xc4\x1f\xc6\x30\x91\x7f\x01\x56\xca\xaa\x8c\x75\x4e\x2a\x58\x28\x47\xd2\x35\x0e\x2a\xf6\xf9\x34\x06\x8a\x35\x0b\xaa\x32\x03\xe4\x8b\xe6\x29\xea\x0b\xfa\xf0\xee\xf7\x43\x3f\xde\xbf\xe5\xe4\xac\xcb\xe0\x3f\xff\x96\x7d\x8c\x38\xcb\xe3\x2e\xba\xdd\x8f\x38\x2b\x30\x5a\x08\x32\xf0\xe5\x93\x7e\xfd\xdb\x96\x42\xfb\x83\x2e\xa3\x5f\xff\xb6\xa5\x0d\xb8\x15\xf4\xeb\xdf\xb6\x54\x81\xa8\x8a\x7e\xfd\xdb\x87\xf6\xf6\x49\x24\x3f\x78\xfb\xc8\xda\xb2\x41\x97\xd1\xaf\x7f\xfb\xd8\xde\xde\xa7\xf4\xd5\x41\xf0\xee\x13\x7b\xfb\xa8\xcb\xe8\xd7\xbf\x7d\x6a\x6f\x9f\x44\x3a\x20\x30\xe1\x87\x5d\x06\xff\xf9\xb7\x2c\x4d\x29\x65\xe5\xa5\xad\xf0\xb6\x25\x28\xfa\x74\xf8\xeb\xdf\x76\x2d\x1f\x75\x19\xfd\xfa\xb7\x2d\x41\x29\x5f\xe6\xe5\xcc\xf0\xb6\x4b\x72\x0c\xc8\xa5\x39\x0a\xde\x6d\x09\x4a\xd9\x38\x2f\x23\x87\xb7\x2d\x41\x8f\x8e\xba\x8c\x7e\xfd\xdb\xc7\x7e\x06\x85\x7e\xfd\xdb\x96\xa0\xc7\x83\x2e\xa3\x5f\xff\xb6\x25\xe8\xf1\x41\x97\xd1\xaf\x77\xdb\xf6\xeb\xa4\xcb\x4e\x5c\xe0\x86\xb7\x2c\x41\x8f\xc1\x67\xc1\x5f\xff\xb6\x25\x28\xb9\x33\x9e\x4b\x83\xb7\x87\xbe\x67\x44\xbf\xfe\x6d\xf7\xe2\x83\x2e\xa3\x5f\xff\xb6\xf3\xab\xc0\x7d\xc1\x5f\xff\xb6\x25\x28\x84\x79\xf4\xeb\xdf\xb6\x04\x3d\x1d\x76\x19\xfd\xfa\xb7\x2d\x41\x4f\x0f\xba\x8c\x7e\xfd\xdb\x96\xa0\xa7\xc7\x5d\x46\xbf\xfe\x6d\x4b\xd0\xd3\xd3\x2e\xa3\x5f\xef\xb6\xe7\x05\x93\x27\x33\xf0\x75\xc6\x41\xdf\xdd\x1e\xea\xa0\x68\xd0\xf7\x91\x3b\x18\x6c\x72\x05\x10\xc2\xf9\xb1\x10\x91\x9a\x0f\x1f\x62\x3f\x0c\x07\xf5\x87\x0f\xe1\x05\x8c\x43\x8c\x55\xfd\x80\x15\x21\x0e\x1d\xc4\xa1\xce\x95\x0e\x06\x01\x1e\x47\x0e\xe2\x58\x9b\x84\xc1\x20\xc0\xe3\xd8\xf9\xd1\x18\xd9\xf4\xfd\x1c\x0e\x42\x9c\x38\x88\x21\xc6\x3e\x7e\x00\x84\x10\xa7\x0e\xe2\xd0\xcc\x04\x0c\x7d\x3c\x1c\xa2\x98\x19\x85\x5f\xff\xae\xa3\x38\xc4\xb2\xe6\xc3\x87\x70\x14\x47\x8f\x49\x7f\xf8\x10\x8e\xe2\x18\xa6\xe9\x0f\x1f\xc2\x51\x7c\x1f\x83\x9f\x43\x3f\xe3\x8d\x10\x9e\x25\x42\x0f\x89\x3e\x7c\x08\xd7\x91\x83\xbe\x8e\xcf\x07\x07\x01\x1e\x47\x61\x18\xa8\x3f\x7c\x08\x47\xf1\x03\x8c\xf1\x0f\xfd\x6c\x39\x42\x9c\x04\xf1\x83\xf9\xf0\x21\x1c\xc5\x31\x1e\xd5\x1f\x1e\x84\x43\x03\x0d\xaf\x97\x6a\xc2\xbb\xfd\x20\x60\x37\x1f\x3e\x84\x17\xb3\x41\x3c\xa0\x3f\x7c\x08\x47\x71\xcc\xc0\xeb\x0f\x1f\xc2\x4b\x8e\x40\x08\xa9\x3f\x7c\x08\xcf\x2d\x05\x14\xf4\x87\x0f\xe1\x28\x0e\x5a\xd7\x7c\xf8\x10\xae\xab\x47\xe8\xd3\xd0\x87\x0f\xe1\x28\x0e\xba\xd7\x7c\xf8\x10\x8e\xe2\x98\x6d\xd3\x1f\x3e\x84\xa3\xf8\xf1\x11\x4e\xa5\xfa\xf3\xa9\x00\xe1\x5e\x62\xe2\x2c\x1f\x87\x63\x47\x71\xd0\xc3\xe6\xc3\x87\x70\x14\x3f\x01\x04\xf5\x87\x0f\xe1\x25\x04\x0e\xcc\x9c\x4d\xa0\x93\x8f\x1d\xc5\x4f\x00\x41\xfd\xe1\x43\x38\x8a\x53\xfa\x8d\x3e\x7c\x08\x47\x71\x88\xcd\xcc\x87\x0f\xe1\x28\x0e\x9a\xd9\x7c\xf8\x10\x8e\x18\xa7\x47\x38\xff\xe8\x4f\x42\x22\x84\xa3\xf8\x29\x66\xee\xe9\xc3\x87\x38\x75\xce\xe3\x40\x3b\xc3\xc3\xbe\x8f\xc7\x89\x03\xa0\xe8\x37\xd0\x5b\x27\xce\x81\xeb\x63\x5c\x78\xe0\x67\xa5\x10\xc2\x4b\x09\xe2\x8c\x0e\x7d\xf8\x10\xce\xcb\xed\x9f\x62\xa8\xef\xc7\xfb\x08\xe1\x5c\x5c\x50\xd0\xe6\xc3\x87\x38\x70\x10\x80\x82\xfe\xf0\x21\x0e\x1d\x04\xa0\xa0\x3f\x7c\x88\x23\x07\x41\xa5\x01\x7e\x7d\x00\x42\x1c\xbb\xf0\x05\x27\xb2\xe8\xc3\x87\x70\xe4\xc2\x29\x6c\xfd\xe1\x43\x38\x8a\xe3\xb4\x93\xfe\xf0\x20\x1c\xc0\x3e\x04\xa3\xf0\xeb\xdf\x75\x14\xc7\x79\x34\xfd\xe1\x43\x38\x8a\xe3\xb4\x83\xfe\xf0\x21\xbc\xb8\xc2\x4e\x08\x07\x5a\xfa\xd4\x51\x7c\xff\x18\x27\x4a\xfc\xd9\x12\x84\x70\x14\xa7\xf2\x8c\x20\x28\x44\x08\x47\x71\x9c\xf6\xd3\x1f\x3e\x84\xa3\xb8\x9b\x8b\x0f\xb4\xf4\xa9\xa3\xf8\x01\xa0\xa0\x3f\x7c\x08\x47\x71\x8c\x4b\xf5\x87\x0f\xe1\x08\x8a\x93\x94\xfa\xc3\x42\x84\x29\xf7\x60\x1e\x30\x4c\x25\x36\xde\xad\x4d\xa0\x04\x77\x6b\xf3\x27\xc1\xdd\xda\xf4\x49\x70\x77\x25\xf2\xbc\xbc\x0b\x74\x26\x25\x04\x5c\xf7\xc5\x96\xb8\x4d\xac\x8f\xdb\xc4\xfa\xb8\x4d\x6c\x8e\xdb\xc4\xf6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xfa\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\xac\x8f\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xe6\xb8\x4d\x6c\x8e\xdb\xc4\xc6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8c\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xc6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8c\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xc6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8c\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x8d\xdb\xc4\xd6\xb8\x4d\x6c\x89\xdb\x66\x65\x21\x56\xa9\xb8\x0b\x7b\x43\x15\x79\xfd\x08\xa6\xa9\xf2\xbc\x06\xd4\x54\x7c\x6e\x39\xc0\x00\x35\xd4\x9f\xbb\xb2\x12\x03\xd4\x58\x82\x3e\xb0\x40\x55\xad\xf0\x80\x9c\xa4\x93\x7e\x08\x12\x97\x4e\xf6\x1b\x60\x1a\xaa\x27\x07\x47\xc7\x21\x4c\x54\x40\x79\x84\x93\xe1\x21\x48\x38\x3b\x08\xc6\xca\x2e\x14\xc8\x8a\x34\xaa\xa5\xc0\x56\x7c\x9f\xd4\x82\x44\x18\x23\x36\xfd\xa3\x18\x2a\xc4\x39\x70\x40\x2d\x4c\x88\xf3\x89\x5f\x9f\x6c\x61\xea\x48\x5b\x03\x9b\xdd\x96\x72\xd5\x10\xa2\xda\x41\x47\x80\xc1\x56\x88\xb8\x8a\x33\xe0\x09\x84\x88\x4b\x38\x03\x86\x40\x88\xb8\x7e\x33\xe0\x86\xa0\x56\x8f\xb8\x73\x3f\x70\x9b\x10\x20\xae\x38\x3d\xf2\xdd\x26\x84\x88\x11\xed\xfb\x0e\x1e\x42\xc4\x4b\x55\x4e\x7c\x77\x18\x21\x62\x44\x21\xd4\x32\x04\xcd\xf9\xad\x28\x52\x21\xdd\x6b\x0c\xaa\x4e\x66\x0d\xcc\x38\x5f\xaa\x59\x84\x71\xdf\x57\x10\x01\x60\xdc\xb7\xf5\x90\xf1\xaa\x9c\x03\x5f\x81\x06\x90\x71\x5f\xf7\xb1\x9c\xbc\x09\xb2\x69\x5d\x8e\x9d\x61\xcf\xf9\x5d\x11\x16\x9d\xe1\x3b\x0f\xbd\x02\xbe\x5c\xcc\xcb\x22\x99\x65\x93\x89\x57\xc2\xe6\x8a\x24\x6c\xdc\xe3\xc3\xc5\x6c\xb7\x16\x30\x1e\xd4\x7d\xdf\xd7\xf0\x01\x63\x26\x44\x57\xb2\xa9\xc5\xb8\xbb\xc7\x7e\xd4\x94\x67\xd3\x59\x50\xf8\x4f\x29\x27\x2c\x76\xb1\xe1\x84\x05\x0a\xeb\x0c\x69\x31\x95\xcd\x00\x59\xa8\xb0\xce\x90\x56\x52\xd9\xa0\xc1\x42\x85\x75\x86\xb8\x8c\xca\xa3\x88\x81\x0a\xeb\x0c\x8d\x6e\xf5\xa1\xc2\x8a\x74\x8c\x3f\xb0\xaa\x67\x18\xbc\xd1\xaf\x3a\x26\x2e\x0a\xd3\x57\x16\x68\xf0\x28\xa8\xc8\x0b\x0a\xab\xe9\x2c\x94\xe7\x7b\xd6\x4b\xa9\x2d\xd4\x41\x18\x4d\x86\x65\x74\x08\x55\xaf\x31\x21\x61\x18\xf8\x31\x5f\x08\x19\x2f\x7b\x3b\x5a\xdf\x68\x2c\x62\xfd\xf5\xad\xc6\x32\xd6\xaf\xb1\xd2\xba\xda\x13\xf0\x7c\x6c\x70\x10\x42\x86\x29\x4f\xcf\x31\x18\x84\x48\x78\x05\x2b\xb8\x5c\xc6\x7c\x84\x40\x41\xb9\xa8\xb1\xe9\xce\xf6\x19\xa8\xed\x4d\xd5\x0d\x36\x56\x39\x5a\x3d\x6f\x81\x22\x03\x78\x8c\x31\xc8\x61\x0c\x15\x19\xed\xa3\xa1\x1f\x4f\x59\xa8\xb8\xee\x9c\x16\x2d\xc4\x50\x21\x6d\x71\xa9\x4e\x3f\xc0\x3d\x2a\xaf\x45\xbc\x8e\x82\xf2\x5a\x0f\x6c\xf0\x48\xb8\xa8\x07\x58\x13\x3f\x38\xa8\xc3\x45\x7d\x80\x91\x3f\x3d\xa9\x83\x85\x9d\x38\x39\xf6\x12\x88\x04\x15\x15\xff\xee\x0f\x75\xb5\xa2\x5b\xa8\x48\x70\x61\x7d\xe4\x80\x16\xba\x1d\x05\x46\xca\x83\x1b\x04\x51\xeb\x10\xd3\xdc\xa1\x7c\xc7\x55\x92\x83\xa3\x03\xc3\x21\xa1\x88\xc7\x85\x92\x58\x59\x8b\x5c\x12\x49\x79\x5c\x2b\x89\xee\xd8\x70\xbf\x26\x92\xb5\x1a\xe1\xc1\xbe\xc9\x73\xc5\x38\xc6\x65\xc2\x83\x81\x5d\x27\x72\xb8\xdf\x00\x29\x1e\x01\x59\x09\x91\x87\xa6\xc0\x44\xaa\xc3\x88\x1f\x0c\x64\x54\xf9\x3f\xac\x2b\x4b\x0b\x1a\x55\xfe\x0f\xfa\x75\x72\x1a\xd0\xb0\xf2\x1f\xc3\xfe\x98\xa0\x06\x34\x2a\xfd\x6f\xa0\x69\xac\x5d\xac\xd3\x37\x3c\xa8\x83\x35\x39\x87\x4d\x70\x4d\x2e\x62\xbf\xe1\xb5\x4d\x8e\xe2\x49\xbf\x0e\xd7\xe4\x2e\x7a\x24\x9f\x87\xeb\x31\x0e\x8d\x31\xf1\x18\xbc\x10\x45\xa8\x41\xb5\x5b\xa9\x01\xa2\x95\x1f\x34\xa3\xe5\x0f\x96\x06\x18\x6c\x85\x08\xbb\x1e\x8c\xa2\x86\x08\x3b\x1d\x38\x3a\x1a\x22\xec\x6e\xb0\x02\x65\xce\x65\xe9\x34\x17\x72\xe0\x01\x04\x0c\x47\xc1\xfd\x10\xcd\xc3\xa1\x9f\x39\x22\x88\xa8\x54\xf6\xc4\x0f\x91\x08\x22\x44\x13\x45\xd7\x5a\x09\x82\x88\xca\x64\xfd\x00\x69\x2e\xd2\x6c\x39\x6f\x58\xc3\xdd\xb0\x9c\x9a\x60\x1b\x56\xdc\x3a\xb2\x20\x44\xb4\xde\xe3\xe4\x88\x62\x20\x67\x96\x7c\xb0\xd0\x4d\x19\xf4\x03\x15\xe1\x03\x86\x9e\xca\xe9\x61\x30\x60\x1e\x5c\xe8\xab\x84\x4a\xcc\x87\x0b\xbd\x95\xc3\xc3\x60\xf0\x10\x6e\xb1\x94\x8b\xdc\x51\xe4\xe0\xd8\xa8\xb0\x41\x13\x9c\xa7\x8f\x07\x3a\x8f\x1d\x77\x84\x00\xbd\xe4\x2a\x8a\xc7\xa0\xde\x13\x02\xf4\xb2\xda\xc7\xba\x28\x3d\xee\x0a\x01\x3a\x7d\xbc\x4f\x73\x50\x71\x4f\x62\x13\x84\xa6\x11\xf3\x94\x36\x5b\xaf\x01\x6b\x8a\x1b\x35\x51\xff\xa0\x8e\xa3\x5a\xc8\xac\x98\xd6\x27\xa0\xa9\xca\x3e\x00\xad\x2d\x8c\x38\x1e\xda\x8c\x5b\x08\x49\x6b\x23\xfc\x35\x37\xa7\x98\x0f\xf3\x03\xc2\x79\x96\x16\xb1\xb3\x4f\x0a\xdb\x77\xe2\xe6\x59\x51\x25\x52\xf0\x79\x98\xec\xd1\x41\x8b\x05\x52\xd5\x4a\x96\xaa\x61\xcd\xfc\xd0\xce\x72\x58\xa0\x86\x65\xf3\x0d\x50\x0d\x2b\xe7\x9d\x03\x68\xa1\x9a\x16\xcf\xdb\x8c\xb0\x85\x6a\x5a\x3f\x6f\xf3\x72\xf3\x32\x49\xb8\xca\x8a\x3a\x56\xae\xa5\x82\xdf\xf2\x1f\xca\x86\x2a\xf8\x61\xe0\xb6\x79\x60\x71\x27\xd7\xc1\xc5\x75\xe8\xc7\xfe\x04\x80\x07\x17\x17\xa4\x07\x41\x81\x07\x17\x77\x75\xe0\xcd\x0b\x16\xfc\x76\x15\xaa\x1c\x17\x14\xc1\xbd\x86\x95\x9a\xf6\x7e\x99\xa7\x39\x4f\xbc\xde\xef\x9b\x94\x9f\xb5\x29\xb8\x00\x2f\x95\x7c\xec\x94\x1f\x2e\x4f\x1f\x7a\x6b\xe2\x2d\x8c\x17\x39\x9a\x35\x82\x47\xc3\x18\xc8\x0b\x1c\x4d\x54\x75\x78\x12\x03\x85\x71\x63\x68\x07\x2d\x50\xc3\x72\x2c\x1b\xe1\x37\x2d\x07\x3c\xf2\xaa\x34\x1a\x97\x02\xd6\x01\x22\x77\x18\x90\x09\x01\xa2\x21\xdc\xdf\x8f\x01\x22\x37\xbe\x1f\xdf\xf7\xf3\x6f\x48\xb0\xd3\x06\x88\xc1\x76\x90\x10\xd3\xa3\x1a\xa2\xb5\xd4\xdb\x61\xad\xb3\xb5\xcc\xdb\xfe\xb1\x0f\xe2\x1b\x2e\x5a\xff\x40\x0a\xff\x20\x80\x88\x48\xba\x3f\xf0\x75\x4a\x6c\xad\x90\xa8\x98\xb3\xb7\x1a\x2c\x32\x54\x43\x3b\xd5\xec\x26\x41\x62\x1b\x05\xa8\x92\x66\x37\xc6\x7f\xc1\x73\xb1\x26\x9e\xa6\x08\xa3\xef\x03\x06\xe1\x24\xe5\xa2\x71\xa3\x86\x61\x0c\x34\x08\xb9\x12\x3b\x68\xd5\xb9\x85\x1a\x6e\x0a\x4d\x2d\xd4\x7e\x98\x7a\xa2\x28\xaa\x06\xe5\x8a\x0d\xcc\xc2\x9b\x13\x1f\xa6\x66\x3c\x06\xc7\x87\xb5\x4c\x45\x00\xe8\xcd\xb6\x1d\xd7\x32\x1f\x01\xa4\x27\xa7\xf5\x2d\x5b\x02\x48\x4f\x58\xeb\x19\x90\x00\xf2\x20\x70\xa1\xa2\x2c\x08\x40\xd6\x6c\x1c\xce\xf9\x50\x11\xc0\xc1\x71\x13\x60\xcc\x6f\x7d\x7f\x92\x33\x80\x8c\xd9\x0e\xc7\xb8\xf1\xe5\x31\xf7\x1d\xc4\xbc\x65\x21\xeb\x4c\x68\x53\x07\x0b\xbe\xe0\x2b\x7e\x37\xcb\x16\x51\x96\x06\x8d\xb6\x85\x12\x3c\x99\x2d\x96\x93\x49\x08\x44\x13\xa9\x87\x31\x50\xbc\xfe\xa9\x19\x2a\x36\x3f\xc1\xac\xae\x85\x8a\x8d\xcf\xa1\x9f\x85\xb0\x50\xf1\xa2\xa8\x53\x3f\x0d\xb1\x10\x72\x59\xd7\x7f\x76\x22\xbb\x9e\x5c\xa1\xfc\x9f\x7f\x3f\x5e\xd5\x3f\xf0\x13\xba\x4d\x29\x95\x53\x7f\xf2\xb7\x29\x9b\x72\xe8\xcf\xc7\x37\x24\x52\xb0\x07\xf6\x7e\xbe\x74\x4e\x10\x72\xc4\x11\x2e\x5c\x1b\x78\xf7\x63\x14\x8f\x03\x91\xc9\x97\xf3\x78\xc3\x81\xc0\x21\x04\x80\x78\x1d\x57\x10\x17\x00\x40\xbc\x86\x6b\x18\xc8\x45\x79\x97\x46\xfb\x5c\x50\x56\xe3\xc0\x37\xd4\x91\x43\x0e\xdd\xc0\x69\xc6\x83\x10\xc0\x53\x61\x7a\x05\xa2\xd7\x97\xc8\x05\x07\x52\x1e\x84\x9d\x89\x7c\xef\xa1\x5e\x7d\xe8\xf5\x26\x74\xba\x31\xb6\x09\xd2\x92\xb1\xbd\xf3\x0c\x62\x4d\x9a\xc3\x7b\xb5\xa0\xd4\xbb\x57\x0b\x47\xbd\x7b\xb5\x40\xd4\xde\x2b\xd5\x2a\xdc\x6e\x48\xaf\x3a\xf7\x27\x61\x2c\x50\xc3\xb2\x3e\x97\x27\xb4\x50\x0d\xeb\xfa\x5c\x32\xc0\x42\x35\x2c\xec\x73\x2b\xce\x2d\x54\xc3\xca\x3e\x57\x6f\x25\xcb\x15\x0f\x12\x39\x47\xd6\x50\x0e\x6b\x30\x03\x3f\xb8\xa0\xfd\x6e\x0e\x6b\x40\x16\xf5\xa3\x63\x3d\x29\xe9\x06\xde\x02\xb9\x6a\xc3\x13\x1d\x68\xd6\x31\x72\x35\x9c\xa7\xe4\x89\xb8\xd1\x57\x3c\x4d\x73\x11\x12\xbd\xb6\xfd\x4c\x9c\xd8\xb4\xd9\x7e\xeb\x6a\x34\xe6\x34\x0f\xfa\x3e\x7d\x1a\xd3\x99\x60\x1d\x6c\x78\xdf\x98\xc8\x04\x4b\x73\x12\xbe\x26\xd2\xf1\x47\x5d\x76\x78\x6c\x01\x8a\x34\x64\xa1\x21\x08\x0c\x26\x13\x6d\x36\x23\x0e\x30\x0f\x8e\x8c\x29\x3f\x8e\x20\x06\xbe\xb5\xd7\xee\xc5\x69\x04\x63\x7b\x74\x6c\xf7\xd6\xb0\x35\x52\xb5\x0d\x0d\x8e\x8e\xad\x6b\x11\xc3\x1c\x6c\x44\x47\xcd\x44\x1e\xee\x00\xa4\xe3\x82\x93\x08\x26\x9e\xe4\x6b\x04\x8a\x27\x1f\x4e\xfd\x64\xa3\x01\x8a\xa7\x1d\x8e\xfd\x39\x31\x03\xd4\x30\x93\xe9\xa6\x31\x54\x26\x8a\x82\x07\x2a\xf0\x64\xd8\x65\x76\xce\x91\xee\x37\x38\x0c\xd6\x5f\x20\x88\x06\x47\xc1\x66\xad\x09\xa2\xc1\x41\x70\x3c\x81\x10\x75\xc7\xc0\x51\x65\x6d\x2e\xdb\x46\x54\xb5\x34\xb6\x97\xef\x8e\x60\x9c\xba\x46\x3d\x8b\x16\x36\x7e\x95\xb7\x8b\xd5\x89\x2e\x26\x73\x62\x1b\xe7\xad\x71\x6a\x63\x10\x58\xa0\x7a\xe6\x03\x50\x39\x0d\xcc\x98\x85\xf1\x90\x06\x7b\x3a\x08\x36\x28\xb0\x50\x1e\xda\x58\x68\x1a\x4c\x1f\x5a\xa8\xfd\x20\xc2\x3b\x39\x6d\x7c\xa1\xc3\x1c\x06\xaa\x5f\x43\x3c\xcc\xa0\x0f\x8d\x32\xb1\x2e\x79\xc3\x3e\x1b\xa7\x27\xb5\x59\x83\x86\x3d\x36\x4e\x0e\x6b\x53\x06\x0d\xfb\x6b\x60\x22\x2b\x4c\xb5\xd5\xf7\xd6\xa0\x81\x09\x33\xdb\x0d\x49\xfd\x06\xe4\x8b\x5a\xde\x3b\x98\xba\x87\xfb\x4d\xd3\xd2\x01\x40\xc3\x74\xb4\x0b\xc8\x00\xa0\x61\x1a\xda\x85\x63\x00\xd0\x34\xfd\x6c\x3d\xe6\x75\xd9\xb0\x43\xbf\xde\xd5\x03\xaa\x2d\xcb\x68\x84\xaa\x2d\xcf\x70\x9b\x6e\x78\x50\xb5\x65\x1a\xae\xa6\xd9\x83\xaa\x2d\xd7\xb0\x75\xec\xb5\xf9\x92\x63\x5b\x88\x6b\xcd\x7a\x7d\xa6\xe4\xf4\x54\xd7\x29\x7a\xfc\x53\x9b\x23\xa1\x3d\x45\x43\x79\xad\xcd\x8e\x60\x4e\xe8\x20\x70\xb1\xea\xf3\x22\x38\xb7\xde\x0f\x38\xbf\xf2\x66\xc2\x75\x7d\x91\x5f\x7c\x52\xf1\xda\x8c\xe0\xa1\x57\x26\x5f\xf1\xd8\x72\xc2\x2b\x6c\x0c\x51\xf1\xd8\x6c\x06\x7e\x7f\xc5\x8b\x7a\xd6\xc3\x3a\x54\xd5\x2c\x53\x55\xee\xed\x88\x77\x64\xb6\x31\xb1\xbb\x8e\x6a\x90\x38\xdd\x16\xc4\xaa\x1a\x26\xce\x28\x06\x5e\x8b\x86\x89\xf3\x89\xc1\x54\x93\x86\x89\x53\x6c\x81\x24\x56\xe5\x9c\x57\x65\x80\xcd\xe9\xa9\x67\x36\xe8\xfe\x60\x1b\x40\x54\x1e\x35\xf4\xcc\x0a\x01\x84\x88\xc2\xd0\x5b\xab\x42\x00\x51\x61\xd4\x81\x67\x55\x6a\xa9\x80\x23\x5b\xed\xd8\xaf\xc1\x04\x12\x16\x6e\xed\x58\x8f\xff\xfb\xb5\x8d\x1d\xeb\x91\x7f\xbf\xb6\xad\x63\x3d\xe6\xef\xd7\x76\x75\x0c\x77\xfb\x71\x2e\x9a\x7b\x53\x3d\x1f\x00\x8a\x12\x73\x38\x56\x05\xae\x49\x05\xe0\xb4\xa2\x55\x73\x6b\xb2\x00\x58\xbd\x7d\x50\x03\x8a\x32\x65\xc1\xe2\x80\x35\xb1\x3f\xf4\xcc\xae\x23\xb9\x9b\x09\xee\xfa\x75\xe0\x92\xc5\xa7\x3e\x40\x5c\xbe\x31\xf0\xab\x96\x11\x22\xe6\x6e\xac\xbe\x3e\xf0\x21\x62\xde\x3e\xf2\x3b\x8d\x10\x31\x67\x1f\xf9\x3a\xb0\x69\x0f\x98\x80\x1d\x10\x40\xcd\xcb\x9b\xa6\xcd\x75\xad\x67\xb5\x6e\xfe\xb5\x1f\xdc\x6f\x98\x78\x0d\x01\x1a\x66\x5c\x43\x80\x86\xa9\xd6\x10\xa0\x61\x8e\x35\x04\x88\x92\x7d\x7e\x72\xf9\xc9\xc3\xf3\x27\x7b\x7b\xec\xdd\xb7\xdf\xbf\x7d\xf1\x92\x5d\xbe\x7a\xfd\x12\xcf\x9e\x4d\xcb\x6a\xef\x07\xb5\x97\x67\xe3\x8f\x93\xde\x0f\x0a\x40\x5e\x94\x8b\x95\xcc\xa6\xb3\x8a\xb5\x93\x0e\x58\xc2\x21\x1d\x0e\x3f\x93\xe5\x3c\x5b\xce\xd9\xb7\xef\xd8\x68\x59\xcd\x4a\xa9\x7a\x6c\x94\xe7\x0c\x61\x15\x93\x42\x09\x79\x2b\xd2\x1e\xb4\xf1\xbd\x72\xa7\x82\xab\x72\x29\x13\xc1\x92\x32\xc5\xf3\xf0\xa7\xe5\xad\x90\x05\x1d\x1a\xcd\xd9\x57\xef\x2e\x76\x55\xb5\xca\x05\xcb\xb3\x44\x14\x4a\xb0\x6a\xc6\x2b\x3c\xe0\x7a\x2c\xa0\xa5\x49\xb9\x2c\xf0\xe0\xd3\x6a\x26\xd8\xeb\x57\x2f\x5e\xbe\x79\xf7\x52\xef\xc8\xfd\xa4\xb5\x54\x74\x92\x56\x52\xb5\xdc\xf6\xde\x5f\x4b\x3e\x66\x63\x3e\x05\x04\x96\x55\x96\x67\xd5\xca\x1e\x15\xe5\xed\x20\x3e\x61\xe7\xec\x27\xef\xe0\xa3\xb7\x74\xea\x12\xbb\xe5\x32\xe3\xe3\x5c\x30\x29\x26\x42\x8a\x22\xc1\xb3\x94\x19\xf7\x0e\x48\x04\xf0\x3f\x6a\x30\x3a\xce\xab\xa4\xe3\xb9\xf0\xf0\xf7\x7f\xbb\xfc\xfe\xcd\x8b\xf7\xaf\xbe\x7d\xd3\xfe\xe3\xe8\xed\x9b\xd1\x37\x2f\x3b\x3d\xc6\xcc\x35\xa0\x00\x2f\x58\xb9\x00\x6c\x78\x0e\x2d\x09\x95\xf0\x85\x70\x47\x97\x56\x25\xe3\x8b\x45\xbe\x32\x1b\x92\x07\x27\x88\x5d\x96\x92\x89\x7b\x3e\x5f\xe4\xfa\xf0\x7d\x3a\xa0\x54\x1f\x19\xf5\x47\x2e\x55\x7b\xe7\xdf\xda\xc0\x07\x55\x56\x4c\x3b\x5d\xf6\x6f\xa2\x00\xca\x7f\xff\xf6\xd5\x0b\x73\x72\x1d\x9d\x97\x05\x7c\xf3\xb4\xf1\xdc\xd1\x9f\x98\x79\xfe\x8c\xed\xfc\x07\x30\xd6\x7a\x58\x3a\xb9\xea\x8c\xed\x7c\x5d\x96\xd3\x5c\x3c\xdb\x61\x0f\x9d\xe7\x1a\xd7\x3f\x65\xc0\x1d\x42\x2d\xf3\x0a\x28\x48\x4d\x75\x19\x41\xfe\xdb\xf0\xab\x1d\x6f\x30\xfc\x1e\xf8\x47\x7b\xa9\x4a\x76\x61\x48\x14\x9d\xef\xa5\x4f\xad\x52\x95\x74\xa7\x64\xfd\x5b\xfb\x8a\xef\xfe\x78\xfd\xb4\xf3\xa1\xdd\xbe\xfa\xf3\x87\xce\xf5\xb3\xce\x87\xce\xde\x34\xeb\xba\x56\xf0\x9c\xb9\x2e\x9b\x14\xd8\x96\x3b\x2e\xcc\x1c\x32\x57\xad\x16\xa2\x9c\xe0\x7b\xae\x34\xc0\x35\x1e\x99\xb7\x2c\xf0\x28\x52\x91\xb6\x3a\xf6\xac\x56\x3c\xac\x97\xb5\xbe\xa7\xf3\xd7\x2c\xbf\xd0\xf1\x71\xfa\x69\x7d\x08\xb3\x3e\x1a\x1a\x8f\x36\xf7\xdb\xb6\xb7\xe1\xe5\x93\xc2\x9c\xe8\x15\x50\xa1\x67\x79\xd6\xe1\xca\xa8\xad\x0d\xb0\x57\x93\xe2\xba\x2d\x6f\xed\x59\x78\xfa\xf8\x3d\x7a\x8f\xdf\x50\xd4\x8b\x88\x09\xa9\x33\x93\xc2\x36\xf3\x24\x3c\x5b\x4f\xde\xea\xa3\xf5\xc2\x93\x14\x2f\x0d\x1a\xbe\x14\xb3\xa5\x32\xc7\x0f\xfb\x28\x6b\x26\x79\x91\x67\xa2\xa8\x14\xc2\xf2\x34\x25\xa6\x37\x07\xd7\x55\x25\x13\xf7\x95\x28\xd2\x06\x36\xef\xac\xe1\x1e\x47\x0b\xbd\x31\xbf\x15\x80\x33\xf7\xb5\xeb\x5f\xb7\x82\x71\xd6\x70\x0d\x21\x91\x38\xff\xf1\xfe\x9b\xd7\x67\x01\x67\xfa\x67\x29\xce\xf9\x42\xbf\x0f\x4f\x4b\xf8\xbc\x75\xc6\x5a\x9f\xe5\xd5\x73\x7d\x7c\x02\x63\xad\x2f\xf0\xd2\xd4\xbf\xf4\x19\x5e\xe2\xf3\x85\x77\x6d\x07\xaf\xfd\x65\x59\x7a\x80\x3b\xad\x1d\xb8\xf8\x87\xfd\xd3\xe7\x2d\xa2\x7b\x78\xca\x77\x20\x0f\x57\x9f\x7f\xf1\xd9\x87\x9d\x0f\xad\xeb\xbd\xa9\x2f\x02\x1d\xf6\x93\x01\x9f\xf3\xc5\xd5\xfc\x9a\x24\x95\x3d\xf8\x03\xf8\xb5\xa8\x50\xe7\x98\x63\x03\x79\x92\x88\x45\x25\x52\xf6\xfd\x2b\x96\xf3\x62\xba\xe4\x53\x77\xc8\xb5\x39\x04\xd0\xbe\x83\x8e\x1a\x7e\x60\x09\xcf\xf3\x31\x4f\x6e\x2c\x3f\xc0\x40\x66\xc5\x6d\x79\x23\x88\x0f\xe0\x15\xa4\x18\x54\x8f\x81\x75\x31\xea\x05\x5b\x14\x95\x90\xa8\x27\x2d\x1a\x79\x89\x27\x6c\x80\xec\xf8\x1a\xbc\x37\x15\xd5\x08\x31\x7c\x6d\x70\x0b\x4e\xc5\xd4\x68\xb8\xa3\x01\xef\xb2\x22\x2d\xef\x7a\x09\x98\x32\xc1\x3e\xfb\x8c\xd1\xb7\x5e\x36\x38\xb1\xc2\xe1\x5d\x6a\x68\xdf\x35\xfa\x3c\x3e\xdc\x52\x89\xea\x7d\x36\x17\xe5\xb2\x6a\x5b\x14\x7c\x89\x33\x4f\xb6\xaf\x0a\x7e\x9b\x4d\x79\x55\xca\x9e\xa1\xa9\x1b\xbd\x5d\x3c\xf1\xef\x63\xab\x73\xed\x64\x18\xcc\x7c\x6d\xa8\xbe\xe3\x52\x09\xc6\xd9\x5f\x96\x42\xae\xb4\x71\x32\x27\x50\xce\xb8\x9a\x05\xc7\x40\x56\xfc\x06\x2c\x15\x5b\xca\x3c\x7e\xc0\x19\xae\x16\xd0\x77\x70\x8e\xf6\xe6\x33\xf8\x3e\xa4\xef\x2d\xc6\x8b\x14\x9a\x4a\xcc\x31\xe9\xde\x59\xcc\xe5\xf8\x07\x91\x54\x81\x01\xfc\x09\x07\x6a\x70\xc6\x5a\xf4\x78\x17\xff\x1e\xda\xbf\xd9\x43\x4f\x9f\x91\xce\xf5\x29\xe9\x78\xac\x21\x5f\x2c\x04\x68\xff\xf9\x32\xaf\xb2\x45\x2e\x58\x95\xcd\xc9\xf6\x42\xcb\x3e\xd6\x5d\x56\x16\x60\x1f\x89\x6f\x72\xae\x2a\x7d\xca\x33\x1e\x9e\x4a\xed\x98\xe7\x88\xcd\xa2\x03\x38\x8b\xd4\x1c\x55\x0e\xc6\x7b\xc1\x15\x68\x28\xd0\x88\xcb\xe9\x8c\xa5\x22\xd6\x01\x6c\x2c\x26\xa5\x14\x6c\x2c\x80\x64\x3c\x4d\x05\x92\x43\xdb\x67\x6d\xe1\x88\x10\xeb\x0e\xc8\x44\xf4\xe9\xd0\x6e\x7d\xc4\xa2\xd4\x67\x8e\xe0\xc9\xb6\x74\xc2\x67\x56\x31\x55\x71\x20\x30\x4a\x09\x37\x52\x91\x0b\x8e\x27\x94\xb4\xbe\x6c\xd1\x69\xb1\xad\x2f\x5b\xf6\xa0\xd8\x6c\x5a\x94\xd2\x3f\xc9\x7a\xd2\xc3\x26\xff\x3f\x24\x98\x27\x0e\x1e\x0a\x4e\x22\xbc\x8b\xf5\x23\xad\xbf\xd4\x56\xcf\x47\xfe\x9c\x35\x3c\x32\xa0\xd3\x7f\xad\xb1\xfb\xe9\xc1\xfe\xbd\xe0\x19\x5a\xf4\xe0\xa9\x45\x9e\x55\xed\xd6\x67\x74\xae\x65\xd3\x99\xc1\xf8\x54\xd3\xa9\xe4\xa6\x49\x76\x4e\x30\x57\xd9\xb5\x69\xee\xbc\x65\x0e\x70\xbf\xbd\xaa\x8f\x61\x1b\xc0\xaf\xfa\xd7\x9d\x6b\x76\xde\x30\xc4\x74\x7b\x70\x5d\x3b\x45\x18\x2c\x1d\xf4\xc6\x2a\x9c\xef\xdf\xbe\xf6\xa9\xba\xe0\xd5\x6c\xbb\x82\x91\xcb\x02\xb8\xb9\x7e\x45\xb7\x18\x1c\xdd\xd9\x08\x41\x2f\xf2\x8f\xee\x84\x0b\xe1\xc1\xb4\x39\x9f\x2f\xac\x4c\x65\x45\x25\xa6\x42\xa2\x3b\xc9\xd4\x42\x24\xd9\x24\x13\x29\xc3\x5a\x88\x98\x4b\x35\xec\x03\xbb\x45\xe6\x24\x61\xaa\x4a\x60\xaf\x04\x1a\x25\xf6\xaa\x83\xcf\xb3\x02\x1f\x98\x67\x45\x36\x5f\xce\xb5\xb9\x40\xef\xd9\x7a\xad\x0d\x4f\xf1\x7b\x7a\x8a\xdf\xaf\x7d\xca\xb0\x32\xbe\xde\xa7\xf7\x6d\x17\xde\xd6\x85\x87\x1d\xd9\x6f\xd9\xe7\x70\x35\xa0\xe2\x3c\x2b\x9e\xdb\xdb\x5f\x20\x7c\x70\x9b\xdf\x7b\x87\xfc\xde\x06\x84\x7c\x2d\x26\x15\x5b\xf0\xd4\x3a\xfd\x44\x44\xa2\xab\x3e\xdf\x7c\xa9\x50\x17\xe8\x8b\xc9\x8c\x4b\x9e\x54\x42\xae\x93\x7f\x55\xc9\x9a\xdc\xaf\x21\xaa\x7e\x01\x40\xa7\x42\x65\x52\xa4\xfa\x52\xaf\xa9\xe1\x72\x51\x7d\x4c\x08\xda\x04\x15\xd0\x34\xea\x0b\x8b\x55\x97\xa5\x62\xc2\xc1\xdc\xc2\x9b\x5b\xac\xb5\xfe\x44\xde\x05\xaa\xb7\xda\x69\xf0\x93\x5e\x0e\x04\x89\x3d\x73\x42\xac\xab\xb1\xa0\x01\x81\xae\x9e\x33\x12\x75\xf4\x92\x80\xce\x1a\xcd\x73\xf3\xe5\xe7\x9f\x01\x0d\x64\xe7\xbb\x59\x96\x0b\x06\x90\xe6\xec\xf8\xcf\x75\xbb\x34\x60\xd4\x9e\x7e\xee\x19\xfc\xe9\x4b\x01\xfe\xd9\x3c\x76\xc5\x72\x3e\x36\x02\x10\x8c\x1d\x6a\x57\xa3\x54\x7f\x14\xb2\xac\xb9\x34\xd4\xfd\x9f\xed\x98\xe8\xa6\x80\x40\xae\xd5\x5f\x3b\x82\x1b\xc8\xae\x1b\xe7\x2a\x88\x37\xcd\x10\xfc\x18\x0d\x01\x41\x9b\x51\x08\x22\x24\x37\x66\x11\x54\x97\xb5\xfa\xad\xd0\x6b\x7f\xab\xcf\xcb\x36\xcc\x99\x94\x45\xc5\xb3\xc2\xe7\x6f\x8d\x97\x39\xac\xda\x71\x96\x0a\xdc\x8c\xb9\xa8\x66\x65\xca\xe6\x3c\xc3\x16\xa8\x17\xbc\xca\x12\x96\xf0\x64\x66\xc3\xe4\x9c\xcb\xa9\x50\x15\xe3\xf3\x72\x59\xa0\xef\x40\x89\x18\x68\x1a\x23\xe2\x5b\x21\x99\x14\x7f\x59\x0a\x55\xe1\x89\xe9\xaf\x2a\xa6\x66\x78\x5a\x77\xab\xb2\x11\x45\x55\xb2\xa9\x28\x84\xe4\x95\x00\x47\x24\x2b\x14\x2f\x44\xbe\x62\xb3\xe5\x54\xb8\xa6\xf1\x4c\x75\xdb\xfa\x5a\xc5\xd7\x30\x64\x4d\xd8\x35\x8a\xe0\xc8\x10\xce\x9d\xe5\xad\x3b\x6a\xfb\xe0\x8d\xbf\xe7\xbb\xfe\xc9\xb6\xeb\x8f\xaa\x3f\x9a\xa0\xbd\x34\x6a\xe7\xe7\xac\x1f\x68\xb0\x56\xcb\x1a\xd9\x09\x3b\xc7\xa8\x29\x6c\xd4\xa8\xbf\x4f\x26\x3d\xd7\x03\x6a\xc2\xbf\xc2\xce\x59\xcb\x85\xf3\x81\x4c\xea\x57\x7f\x11\xc0\xf7\x7c\x04\xa3\xa6\x9e\x9d\x07\x7f\xc7\xc6\x34\x68\xc6\xb9\x1b\xba\x41\x62\x4a\xa6\xb9\xf2\x65\xa1\x96\x52\xa7\x83\xb8\xcb\x8e\x64\x0a\x1d\x69\x1d\x51\x62\x62\x26\x11\x12\xb8\x0d\xfd\x45\x96\x67\xf3\xcc\x7a\x61\xef\xb2\x39\x38\x92\x4b\xc5\xa7\x82\xe5\x65\x79\x03\x71\xe5\x8d\x20\x5a\xf5\x0c\x14\x0a\x8b\x14\xd3\x4c\x55\x42\xbe\x2a\xb2\xaa\x4d\x23\xc4\x73\x2e\xe7\xed\xb2\x80\x4b\x1d\x9b\xd5\x40\x46\x47\xe7\x2b\x2f\x41\x40\xee\xb8\x2c\xbc\xe3\xe3\xf4\x19\xf3\x40\x78\x7a\xb2\xdd\x01\x9c\x8b\xb2\xd2\x11\x90\x41\x1c\xda\x3a\x64\x4a\x24\x65\x91\x5a\x29\x7a\x35\x61\xab\x72\xd9\x02\xa7\x54\x48\x70\xa6\xa1\x65\x05\xbe\x44\xb9\x00\x4e\xc7\x58\x0a\x28\x32\xe7\x2b\x74\xea\x59\x5e\x16\x68\xe5\x67\xbc\x70\xcd\x41\x23\xe8\xb0\xf3\x02\xbd\x5b\xc6\x59\xba\xd4\x8f\x67\x60\x1a\xf3\x3c\x33\xa0\x5c\x21\xde\xd6\x78\xd0\x75\x17\x89\x85\xa8\x99\xe6\x4c\xf8\x90\x8a\xa2\x02\xc7\x02\xfc\x6d\x55\x09\x8e\x07\xda\x73\x17\x01\x9a\x71\xeb\x62\xbf\xf2\x9c\x4d\x45\x45\x8e\xed\x9d\x04\x47\x5d\x1a\x19\x2e\x25\x93\xbc\x9a\x99\xae\x70\x06\xf6\x35\x17\x06\xac\xc7\xd8\x4b\x9e\xcc\xb0\x61\x4d\x6a\x68\xc4\x3d\x7c\x47\xc9\x26\xad\xc9\xe8\xa9\x94\xdd\x0a\xa9\xa0\xd3\x5a\x1e\x2d\x5a\x77\x28\xe1\x55\x09\x6d\x70\xa6\x66\x1c\xff\xa4\xe8\x0d\x23\xd2\x4c\xc1\xa8\x81\x6b\x9a\x70\x25\x14\xbb\x9b\x09\x29\x90\x00\x77\xbc\xa0\xc4\x84\xcf\x9f\x15\x98\x13\x55\x41\x73\x65\x21\x88\x06\x4a\xd0\xc9\xfb\xfa\x9d\xd8\xa0\x61\x01\x1d\x50\x70\xf3\x4e\x26\xee\x17\x99\x74\xa1\x35\x89\x35\x32\xa0\xcd\xf7\x10\x3b\xb6\x26\xa2\x4a\x66\x3a\xda\x40\x8f\xd7\x66\x01\xcb\xb2\x87\x37\xbf\xc5\x7b\x6d\xc3\xbe\xef\x96\x49\x22\x94\xea\x74\x99\xb9\x72\xc9\xb3\x7c\x29\x85\xe3\xe9\x5a\x24\xff\xd4\x8f\xe2\x41\x29\xfa\xd9\x49\x20\x2e\xa6\x44\x0b\x6a\x31\x36\x82\xe4\x94\xcc\x15\xfb\xd6\xf0\x94\x33\x1f\x01\xeb\x41\x5b\x3c\xb3\xe1\x95\xe4\x19\x0c\xba\x89\x7a\x6c\xf3\x8c\x5d\x90\xf7\x02\x14\x3c\xec\xf7\xfb\xac\x6d\x39\xbd\x13\x9a\x54\x83\xe6\x03\xb0\xab\xed\x00\xe6\x12\x5c\x0f\x66\xc2\x84\x86\xe4\xfb\xb9\xd0\x71\x6c\x13\x11\x70\xdf\x30\x91\x69\x87\x82\xb4\xb0\x55\xe3\xcf\xad\x6d\xd3\x34\x38\x16\x21\x0e\xbc\xb2\xd6\x4b\xb1\x42\xdc\xd5\xde\x16\x24\x3a\x0c\x27\xd4\x72\x1b\x5d\x4d\x6b\xd2\xc6\x98\x88\x52\xda\x5b\x9a\x2b\xf0\xb2\x0e\xd9\x53\x36\xe8\xf7\xfb\xcf\xf5\x6d\x55\x01\xee\x86\xa7\xa6\xa2\x7a\x07\x17\x4c\x04\xa7\xd1\xaf\x27\x30\xf0\xb4\xd3\x4c\xb1\x72\x59\x09\xd9\xa4\x8d\xb3\xf9\x5c\xa4\x19\xaf\x44\xbe\x42\x83\xdd\x52\x0c\x45\xa6\x2a\x59\xc2\x17\xd5\x12\xb9\xbd\x10\x77\xa6\x35\x95\x94\x0b\xcc\x17\x20\xd9\x8c\x18\x98\x64\x6a\x2f\x38\x63\xb5\xa5\x6f\xb7\x5c\x72\x3e\x53\x46\x6a\xc7\x2b\x4a\x18\x9a\x26\x9c\xc6\x81\x30\x1f\xf5\x04\xb5\xe4\x84\x5f\xab\x14\x1b\x50\x9a\x47\xcf\xb7\xe4\x70\x00\x16\x53\x15\xe7\x36\x65\x6c\x1b\x85\x78\x99\x98\xa1\xd5\x61\x5f\x12\xd8\x99\x63\x1d\x4a\x0a\xbb\x8c\x39\x3b\xa7\xff\x7d\xc9\xda\x2d\x4a\xb6\x52\x56\xfa\x0c\xcd\xba\x4e\x18\x91\x29\xe9\x81\x85\x69\xb7\x3c\x46\x38\x8b\xd4\x46\x4a\x2d\xb4\xe7\x8a\xed\xe1\x60\x77\xd8\x33\xd6\x52\xb6\xd5\xb8\xc1\xbc\x04\xc7\xdc\x24\xb1\x90\xdd\x2d\x05\x8a\x65\x9e\xeb\xdc\x6e\x97\xcd\x55\x47\x27\x1a\xa1\xeb\x9a\x6e\x5f\x5b\x9d\xbb\x36\xd7\xe6\x79\x29\x8d\xa9\x30\xcc\xb9\xd3\x2b\xfd\xcb\x8c\x25\xb9\xe0\xd2\x8c\x80\x81\x78\xee\x01\x34\x21\x1a\x24\xa8\x5d\x14\x6d\x48\x8f\x93\x29\x6d\x00\xef\x32\x2e\xa7\xcb\xb9\x28\x2a\xe5\x92\x6b\x41\x3e\xd5\x9b\x0c\x68\x1c\xd9\xb0\x6f\x31\x41\xc2\xa4\x6c\x7c\x37\x4a\x1d\x76\xda\x8d\x5e\x78\xe5\x9f\x8b\x0b\xc6\x8e\x04\x96\x4f\x40\xee\xd4\x4d\xb6\x58\x34\xfb\xe5\x13\x69\x92\xa3\xb1\x37\x8e\x66\xa7\x12\x45\x4a\x3e\xb3\x71\x9f\x41\xf4\x52\x31\x5e\x4e\xa7\xe8\xba\x16\x5a\x6e\x35\xf6\x8a\x71\xf4\x50\xc8\x96\x04\xc6\xbd\x60\x98\xe7\xed\xb2\xb1\x48\xf8\x12\x67\xec\x9c\xdb\x43\x84\x02\x8f\x40\x31\x0e\x60\x8a\x8d\x57\xd0\x90\x0e\x40\xb5\x50\x72\xd0\x0f\xe0\x13\xdd\x81\x22\xbc\x13\x68\x55\x0d\xf2\x23\x56\xad\x16\x59\xc2\x73\x22\xc0\x1c\xe7\x22\xc1\x7b\x43\xe7\xcd\xf3\xdb\x42\x8e\x6e\xbd\x2b\xa1\xc7\xd0\x9b\xbb\x2c\xb9\xc1\x8c\x1e\xb8\x6a\x7c\xc5\x12\x3e\x17\xad\x6e\xac\xf3\x3a\xc6\x7a\x82\x76\x58\xf7\xef\x4d\x59\x65\x89\xe9\xe3\x7c\xce\xd9\x9f\x03\x3f\x10\x82\x12\xb6\x90\x59\x41\x79\xf3\xb9\x50\xe8\x6b\x6a\x67\xf0\x07\x65\x30\xec\xb2\x49\x99\xe7\xe5\x9d\x9e\xf7\x34\x79\x53\x1d\x9d\xa0\x63\x53\x50\xba\x45\xa3\x5e\x32\x29\x6e\x05\xcf\xf5\x99\xc4\xc0\xc8\x91\xb1\xa6\xb1\x27\x63\x4b\x49\xc0\x4b\xe4\x81\x30\x17\xe0\x45\x6e\xc8\x48\xc4\x27\xda\xf5\x41\x96\xc7\x47\x29\x0d\xcf\x78\x52\x2d\x79\xce\x5a\x86\x46\x2d\x1a\x02\x30\x75\xf9\x1d\x0c\x66\x43\xb6\xd1\xc0\xfa\xea\x20\xc6\xc9\x99\xa7\x00\xd3\xf3\x3a\xf2\x5f\xd6\x2f\x3d\x63\x43\x76\xc6\x86\x36\xda\xc1\x8e\x20\x0f\xe2\xa5\x4a\xae\xb4\x0e\xa1\x39\x2d\x30\xa6\x2f\xa5\x2c\x65\x5b\xe7\xe8\x13\x0e\x1e\x53\x5b\xdc\x1b\x5d\xe3\x1a\x60\xe7\x4c\xdc\xf7\x88\xbc\x3a\x8d\xf8\xa1\x68\xb9\x24\xa0\x7d\x9d\x96\x03\x4a\x6d\x46\x39\x4b\x1f\x59\x4a\x5f\xba\x17\x34\xe5\x30\xbd\x06\xaf\x32\xb6\x1b\x3c\x7f\x0d\x46\xc8\x3e\x7d\x95\x5d\xbb\x99\x81\x3f\x7f\x50\x4f\x79\xf5\x41\x3d\xdb\xeb\xb2\x56\xab\x96\xa8\xf4\x5a\x0d\xf4\xca\x45\x76\x9b\xa5\x82\x9c\xfc\xea\xae\xd4\x0c\x41\x49\xf0\x49\x5e\x96\x52\xf9\xd3\x31\x5d\xb6\x2c\x72\xa1\xcc\x35\x88\xe4\x53\x9a\x8d\x81\xab\x98\xf5\x46\xf7\x1c\xe2\x88\x44\x8a\x14\xcf\xe9\x56\x73\x60\x12\xf4\x79\xba\xe0\x18\x1a\x8e\x56\x82\x65\x4e\xa1\xa0\x08\x89\x2c\xd7\x49\x0d\xeb\x64\x2f\x95\x98\x2c\x73\xf0\xb0\x49\xfb\x99\x1c\x08\x38\x0f\x72\x59\x24\x1c\xe2\x67\xbe\x58\xc8\xf2\x3e\x9b\x73\x9a\xd9\xc3\x39\x21\x08\x7c\xa0\x21\x4a\xe5\x93\xbd\x57\x25\x4b\x4b\x50\x01\x69\x76\x9b\xa1\xeb\x6f\x26\x9c\x94\xb0\x5d\x5f\x65\x22\x87\xc8\xc7\x4d\x4e\x9b\xae\x60\xd0\x94\x97\x4a\x50\xd6\xe8\x6e\x06\x3a\x8d\x1e\x5b\x27\x7e\xc5\x72\x4e\xfa\xbd\xe9\x66\x2a\x8a\x72\x9e\x15\xf6\xb6\xf1\x53\xf5\x7d\x4f\x8a\xd4\x9c\xcb\xea\x12\xc6\x83\x06\x2c\xca\xf3\xd0\x2b\xba\xcc\x6f\xd1\x09\xd5\x2d\xcf\xd1\x22\x6a\x30\xb6\xe7\x83\x19\xcf\x4f\xd3\x9e\x9d\xb3\x6f\x78\x35\xeb\xc1\x9f\xed\x5b\x9e\x77\x4c\x9a\xc0\xdc\xdf\xc5\xe6\x3e\x67\xbd\x7e\xbf\x3f\x30\x3c\x6b\x8c\x2a\xc1\xd4\xe6\xbe\xf4\x6d\x6c\x18\x99\xca\xb6\xfc\xb0\xbd\xf0\x44\x2b\xcd\x8f\x73\x5e\xf0\xa9\x90\xff\x22\x65\x28\xdf\x50\xaf\xbe\xa1\x4e\xb1\x24\x87\xc0\x79\xc6\x8b\x34\x17\x64\x90\x65\xc1\x49\x47\x67\x3f\xda\x84\xab\x35\xe0\x6f\xca\x4a\x9c\xf9\x73\x91\x2c\x53\x45\xab\x62\x6a\x39\x99\x64\x49\x46\x93\x52\x68\x7e\xc9\x1e\xa2\x2a\x1f\xf4\x80\x44\x52\xb4\x80\xb7\xc7\x4b\x9c\xdd\xd3\x53\x11\x3a\x69\x70\x23\x70\xf2\x6e\x59\xf0\x5b\x9e\xe5\xe4\x49\x17\x2c\x23\xa3\x70\xe6\x15\x79\xcc\xaa\x6a\x71\xb6\xb7\x97\xc8\xf1\x72\xda\x4b\xca\xf9\xde\x60\xbf\x3f\xec\xf7\x0d\xc4\xb0\x47\x07\xf8\xe3\xe4\x3d\xd1\x74\xce\x57\x68\xd1\xc7\x82\x2d\x78\x72\xc3\xa7\x22\xa5\xba\x99\x17\x84\x01\x4e\xe4\x83\x44\x5a\x74\xf7\x9b\x1b\xc1\x06\x24\x4d\x3f\x03\xa7\x48\x2e\x57\x51\x93\xd5\x2c\x93\xe9\x2e\x40\xad\x3c\x9c\x9b\x5e\xe4\x0b\x25\xaa\xd4\x07\x37\x8f\xcd\x5e\x9b\xe9\x65\x7b\xa5\x2a\x59\x5e\xf2\xb4\x6b\x46\xba\x94\x29\x66\x24\x84\x7d\x0f\xe5\x21\x01\x49\x00\xc4\xec\xe4\x1b\x71\x27\xa4\x31\xfd\xca\x14\x39\xb0\x32\x87\x67\xcb\x42\xa8\x1e\x63\x2d\x51\xb4\x58\xa6\x6c\x6c\xbb\xc4\x92\x47\x70\x72\xf2\x15\xcd\x28\x9a\x44\xcc\x24\x93\xaa\xb2\x28\x81\x64\x66\x95\xc9\x20\xf1\x5c\x0a\x9e\xae\xd8\x02\xb8\x9c\x1c\x26\xd2\x1f\x11\xb3\xf9\xd9\x44\xd3\x37\x92\x64\xcc\x7c\xd9\x6b\x1f\x21\x10\xb4\xd3\xfa\x73\xbe\x68\x6b\x07\xd7\x3e\x2e\x72\xaf\x6e\x40\xe4\x0d\xf3\xd4\x58\x46\xa0\x55\x48\xd4\x7a\x0f\x8c\xc7\xfd\xb7\x93\x36\xf4\x1e\xa7\x14\x77\x07\x1d\x6d\xa9\x43\xc0\x65\xa1\x66\xd9\xa4\x22\x40\xb2\xea\x00\x61\x69\x4a\x76\xd7\xb3\x6a\xa3\x34\xb5\xce\x16\x96\xe8\x64\xba\xee\xa4\x0c\xfc\x30\xa3\x52\x1a\xe6\xc2\xe3\xa9\x6b\x05\xe1\xd8\xa4\x94\x73\xae\x59\x4f\xb3\x93\xc1\xa1\xf7\x83\x2a\x0b\x12\x79\xc6\xde\x09\xcc\x14\x7c\x6e\xc4\xa4\x4c\x45\x6f\x8a\x75\x4d\x28\x2c\x24\x74\x7b\x96\x13\xd5\x1e\x88\xf0\xae\x6d\x6a\x56\xcd\xf3\x2f\xd6\x8d\x5e\x6f\x21\xcb\xaa\x84\x28\xa4\xc7\xd3\xf4\x1b\x47\x02\x3b\x28\xa9\x98\xe8\xe1\xb4\x7e\xc8\x8d\x58\x01\xcf\xba\x3b\xa4\xf3\x53\x31\xc1\xe9\xce\x89\xba\xba\x11\xab\x6b\x2f\xca\xf9\x24\x15\x93\x1e\x8e\xe5\x0c\x19\xd5\xab\x32\x0a\x48\x8f\xcf\x51\x1b\xe6\x9a\x0e\x0f\x7d\xfd\x8f\x2e\xb4\xa9\xa0\xdb\xf9\xf4\xcd\xe8\x9b\x97\x9f\xee\x30\xbf\x79\xb2\xc3\x3b\x9f\x0e\x76\xba\x4c\x54\x49\xef\x91\xef\xb2\x0c\xe7\xc5\x80\x7b\x1f\x3e\xa5\x92\xaf\xab\x3f\x7f\x50\x1f\x3e\xbd\x7e\xd6\xf9\xf0\xe9\x5e\x36\xed\x7a\x20\xae\xec\xa5\xcb\xc2\x72\xaf\x20\x80\xb3\x84\x09\x28\x71\x05\x4f\xf4\xaa\xf2\x75\x79\x27\xe4\x0b\xae\x44\xbb\x73\xdd\x4b\x4a\x88\xa1\x2a\x3f\x16\x7d\xd0\x41\xe4\x43\x5c\x9a\xf1\xba\xe4\xa9\x27\xcb\x4e\xd7\x5a\xa9\x36\xfc\x39\x5e\x82\x3d\x58\x37\x69\xb8\xe0\x15\x98\x09\x36\xc2\xba\x0d\xf3\x57\x30\x3d\x03\x04\xd5\xc9\x49\x9c\x59\xc1\x42\x19\xa3\x65\x30\xc3\xa0\x15\xd6\xb4\xec\xad\xaf\xd9\xe9\x9a\xca\x9d\xb2\x78\x51\xce\x17\xb9\xa8\x44\x50\xbb\x33\x16\x36\xe9\x0e\x5e\x1a\x68\x3e\x2f\x51\x97\x41\x94\x43\x4f\xe9\x30\x02\xfc\x4c\x1d\xfd\x71\x83\x99\xd6\xb5\x8a\xb2\x91\xe0\xf1\xa1\x07\xca\xb3\x9c\xaa\x29\xe0\x5f\x50\xe7\x83\xd9\x36\x47\xc5\xa0\x34\x48\x4f\x4c\xf4\xbb\xac\x28\xf5\x53\x8a\xdd\x09\x29\x5c\x4b\xa8\x9c\xb7\x8b\xd8\x24\x2b\xd2\x51\x91\xc2\x90\x35\x89\x1a\x0e\xb0\xa6\x7c\xd7\x23\x8f\xf3\xbd\x72\xaf\xf4\x28\x56\x6b\x49\x09\xee\x2b\xc5\x21\x08\x8b\x58\xb1\x73\x76\x75\x6d\x2e\x11\x01\xf4\xa5\x27\x8e\x73\x59\x59\x98\xa2\x23\xf3\xce\xb6\xaa\x78\x65\x59\x19\x84\x38\xb8\xc0\x5c\xf3\x4e\xa7\x93\x5a\xed\x34\x8a\xac\x7d\xf5\x3a\x70\xa7\x2d\x1c\x44\x38\xf9\x83\xd1\xd7\x1b\x71\x6f\x0b\xa4\xd6\xbc\xca\x11\xae\x4d\x48\x76\xf5\xdb\x03\x11\xd2\x24\x89\x9a\xf4\x87\xa3\x63\x23\x3d\x20\xb4\x37\x66\x64\x7a\xb4\xb2\x78\x6b\x2b\x77\xdb\x76\xe8\x9c\x1d\xec\x3e\x69\x8e\xf4\xeb\x04\xef\x8d\xb3\x22\xc5\x96\xbb\x10\x8a\x88\x5f\xf9\xe8\x84\xe7\x8a\x92\xed\xec\xc1\x5d\xef\x98\xe0\x35\x26\x5f\xac\x48\xac\x11\x9c\xc8\x72\xce\x78\x93\x41\xda\xce\xe6\xf9\x26\xfe\x5e\xca\x1c\x78\x5b\x4f\x14\x50\x4a\xb9\x2c\x30\x86\x76\x7c\x7e\x3f\x03\xbf\x02\x82\xeb\xff\xfa\xe6\xf5\x7f\x54\xd5\xe2\x2d\x4d\x6e\xb6\xa9\x23\xf7\x33\xd9\x2b\x0b\x1c\xdc\x22\x6d\x1a\x32\x60\x23\x00\x02\x9e\x5d\x2a\xf6\xc9\x39\x1b\xf6\xfb\x61\x19\xae\xff\x5e\x4b\x69\xef\xa2\xf7\x7c\xe7\x79\x58\x91\x1a\x70\x2c\xf2\x82\x67\x3b\xdb\xff\xf9\xee\xdb\x37\x54\x15\x85\x4d\x48\xa1\x16\x65\xa1\xc4\x7b\x71\x4f\x13\x7b\x38\x84\xba\xfb\xed\xe6\x81\xc2\xfe\x2d\x44\xd1\x6e\x7d\xfd\xf2\x7d\xab\x0b\x34\x43\x40\x44\x49\x14\x69\x2d\x9b\x47\xb6\xf0\xd3\x41\xaf\xd7\xfb\xb4\xf0\x8b\xc9\x6d\x05\xa4\xc8\x05\xe6\x22\x8d\x07\xc2\xe5\x54\x27\xcd\xd6\x19\x84\xb9\x9a\xea\xc2\x0a\xdf\x0a\xf8\x0e\x0f\xe8\x54\x93\xe4\xf4\x5e\xda\x6b\xf0\x83\xf1\x75\x94\x05\x89\x1a\xb3\x0d\x50\x64\xbd\x96\xbd\x6a\xe2\xe6\x8f\xfb\x5c\x4d\x31\xdf\x1a\x56\x6e\xcf\xd5\xd4\xf9\x90\x1f\x3e\x6d\x7f\x48\x9f\x75\xfc\x3a\x55\x06\x16\x1b\xdd\xc6\x5a\x26\x19\xda\xba\xc2\x5b\x6c\x97\x0d\xae\x1b\x0b\x90\xbf\x13\x72\x37\x2b\x54\xc5\x0b\x0c\xf5\x16\x2b\xa0\x6d\x0d\xcd\x47\xc8\x4b\x43\xd7\xf0\x7d\x8f\xa1\x42\x58\x4e\xcb\x9d\xb1\x5f\xa1\x65\xeb\xda\xe4\x5c\xbe\xd2\xb8\xa1\x2d\x37\xa9\x69\x56\x95\xe5\x06\x06\x40\xa3\xde\xcc\x04\x78\x4b\x33\x93\x97\x89\x9c\x8a\xaa\x69\xfc\x41\xb0\x90\x07\xec\x34\x1d\x7f\x24\x33\x34\x16\x21\x99\x04\xaf\x6d\xcd\x56\x91\xe9\xf1\xcb\x34\x62\xba\x0b\x14\xd2\x18\x7b\x8d\xf1\x75\x8f\xe9\x2c\xb8\x0a\xba\x80\xe0\xe3\x95\x49\x21\x3f\x62\xf4\xa6\xa2\x8a\x58\xd1\x12\x1e\xbb\xdc\xf5\x31\xf6\xa6\xce\x8c\x7f\xab\xc3\x19\x8b\x6a\x11\xfa\xa9\x86\x35\x0d\x82\xe7\x91\x1b\xab\x9f\x23\x83\x1e\x58\xc2\x5a\x8d\x20\x95\x1e\x6b\x46\x77\xed\x45\x45\xc8\xba\xa3\x06\xa1\x8e\xef\xc7\xeb\x87\x9c\xb8\x84\xd3\x46\xa6\xc0\x5f\x83\xd1\x4c\x91\x6b\x27\x90\x30\x33\xf5\xe1\x0f\x67\xb4\x0a\x82\x7d\x69\x07\xf0\xcc\x87\x8b\xcc\x38\x62\x66\xa8\x1d\xd6\xdd\x45\x34\xfe\xa4\x6d\xf9\xd0\x08\x6e\x39\x21\xb5\xd4\xa1\x07\xed\xfd\x73\x76\x65\xbe\x5f\xfb\xb3\x95\x6b\x4c\xbf\x7e\x93\x1b\xf5\x48\x55\xc8\x12\xd4\x3d\xe3\x79\x6e\x64\x66\x07\xe8\xbd\xc3\x20\x3a\x63\xbc\xaa\x64\x36\x5e\x56\x60\x77\x4d\xee\xc7\xcc\xba\xa4\xe5\x9c\x4d\x24\x9f\xce\x85\x9b\xb4\xc0\xea\x04\x4c\xd4\xd8\x27\x8d\xeb\xad\x05\x8a\x71\x06\x76\xc8\x14\x0a\x93\xa7\x7c\x23\x8c\x8f\xcc\x6f\x44\xa1\xd3\xf2\x63\xe1\x35\x82\xce\xb0\x9d\xcc\xf4\xeb\x96\x7d\xf9\xf0\x2b\x48\x00\xcc\x7b\x13\x9b\x61\x39\xd9\xce\xc7\x1d\xd6\x86\x91\x94\x2a\x29\xa5\xe8\xc0\xab\xbb\x2c\xab\x5a\x4a\x4b\x2a\xa5\x62\x4d\x1e\x02\x53\xbd\xe2\xbe\x7a\x41\x71\x8f\x21\x91\xb6\x59\xe6\x6d\xdf\xf8\x28\x60\xba\x0c\x6d\x0e\x48\x7d\x89\xc5\x1c\x1e\x19\x69\xea\x9d\xe2\x6c\xdd\x0c\xd9\x42\x9a\x20\x5a\x48\x31\xc9\xee\x69\xf6\xa6\x9a\x31\xce\xd2\x32\xcf\xb9\x64\x2a\x9b\x16\x3d\xe6\x2f\x7c\xf2\x67\x80\x3e\x1f\x2f\xab\xaa\x2c\x58\x96\x9e\xb7\xc0\x0c\xef\xd2\xdf\xad\x70\xbd\x12\x8c\xcb\x79\xeb\xa7\x1d\x2e\x33\xbe\x9b\xf3\xb1\xc0\xdd\x1f\x3e\xcd\xd2\x9d\x2e\xd0\xe5\x8c\xed\xbc\x7b\xf9\xe6\xe2\xe3\x57\xdf\xbf\x7f\xff\xed\x9b\x8f\xaf\x47\x5f\xbd\x7c\xbd\xf3\x10\xb5\xf1\xc5\xe7\x7b\xd4\xf6\x17\x36\x99\x00\xca\xd1\x34\x18\x6a\x2b\x53\x9c\x0d\x71\xd1\xb2\x22\xa2\x06\xef\x18\xbd\x7d\x35\xd2\x2f\xea\xe9\x7c\x1f\x4d\x33\xf1\x4a\xb3\x62\xba\xe3\x31\xc1\x1d\x0c\xe1\x62\x61\x27\xf1\x30\x99\xcf\x25\x16\xd3\x18\xa0\xae\x29\xd3\xf7\x8a\xd2\x75\xc5\x3e\x3d\xf4\xfd\x77\xdf\xbd\x7c\xfb\x71\xf4\xe6\xe2\xe3\xf7\x6f\x2e\x5e\xbe\x65\x98\xf0\x7c\x84\x36\x5d\x90\xa4\xbc\x1a\x9c\x14\x23\x37\x9c\x7e\x3e\xa2\x9c\x93\xfa\xc1\xb4\x2d\xbe\x91\x3a\x91\x43\x04\xbd\xcb\x8b\x74\x37\xe5\x6a\x26\xd4\x4e\xcc\xd7\xb8\x8c\x80\x1e\xdc\x89\xd0\xdb\xb1\xf8\xf9\x65\x13\xcb\xe2\x46\xaf\xbc\x69\x5c\xfb\x62\xb3\x52\xbd\xaa\xfc\x7e\xb1\x30\xe1\xbb\x8b\x2d\x8a\x32\x45\xdc\xd3\x72\xde\xa3\x92\x74\x91\x8b\xa4\x2a\xe5\x28\xcf\xdb\xad\x2b\x60\x94\x6b\x9d\x81\x6a\xaa\x4b\xc7\xc7\xd7\xd5\xa5\xc3\x4d\x70\x91\x01\xe6\x2a\xd3\x0e\x0a\x36\x00\x6a\x81\x6e\xe0\x92\x12\x43\x83\x76\x0b\xee\xb4\x02\x75\xee\xdb\x03\x50\x1c\x59\xb1\x34\xab\xc9\xdc\x44\x17\x33\x4d\x7a\x8e\x2d\x3e\x68\x82\xaf\xda\x94\x97\x33\x0b\x02\x3d\xe9\xd6\x0b\x5e\x7c\x68\x55\xb4\xfa\x80\xea\x0f\x00\xbb\x8a\x4f\xdf\x00\xff\x3e\x63\xad\x3f\xd8\x8b\x59\x0a\x7f\xa3\xe5\x68\x8c\x7f\xbc\x37\x9b\x39\x38\x71\x1f\x38\xe4\x71\x9a\xca\x5f\x6f\x63\xaa\x56\xa6\xba\x2c\x02\xee\xe9\x64\x95\x8b\x0c\xf4\xed\xfa\x12\x85\x4f\xbd\x85\x79\xae\x0d\xe2\x93\x3a\xbd\xa3\x66\x06\x1d\x2c\x94\xf8\x08\x3d\xbd\x11\xab\x4e\xb0\x6a\x0f\x7c\x6d\x57\x55\xd9\x8e\x4d\x26\x60\x05\xbd\x01\x24\x3e\xb6\xfc\xfc\x12\x11\xd2\x53\x9d\xe7\xd0\x56\xb4\x20\x2f\x02\x57\x3e\x96\xa8\x98\xe7\x6a\x1a\xd7\x28\x3c\x6e\x36\x65\x61\xbd\xfe\x7f\xb1\x09\x95\x17\x65\xa1\x2a\xb9\x04\x61\x45\x86\x02\x9d\xf5\x9d\xed\xac\x49\x7d\x93\xcd\xf3\x0a\x21\x04\xa0\x4c\x17\x59\x2a\x78\x4e\xe6\x65\x21\xa4\xca\x54\xa5\xab\xe4\x0b\x9d\xfb\x57\xb4\x0a\x41\x55\xa5\x34\xc1\x54\x51\x56\xd9\x64\xa5\xb3\x5d\x20\x43\xcb\x39\x66\x33\x67\xa2\x60\x0b\x2f\xaa\xa3\x56\xac\x15\xae\xc2\xb2\x0b\xa3\xd6\xc7\x3c\xb9\xc1\x92\xce\xaa\x94\x40\x3a\x3d\x95\xa0\x6c\xe5\x42\xe9\x4a\x20\xff\xe3\xfd\x37\xaf\x0f\xa1\x31\x8d\x4e\x97\x8d\x97\xd8\x8a\x04\xbb\x23\x8a\x56\xc5\x78\xb1\x02\x9b\xad\x6b\x14\xf5\x3b\xe6\x25\x5a\x68\xc6\x5e\xe9\xb5\x5d\xcb\x8a\x0a\x15\x75\x7a\x4c\xcf\xb1\x70\x33\x35\xc4\x17\x19\xf5\x1d\x50\x52\xab\x22\xd9\x45\x22\x00\xb7\xef\x91\x67\x80\x2b\x6d\xc8\x05\xb9\x13\xad\x14\x8b\x35\xf4\x54\x70\x6d\xc1\x13\x8c\xca\x3b\x42\xb8\xf7\xf4\xc1\x92\x92\xd6\x3e\xd0\x77\xed\x96\x54\x25\xe2\x8e\xce\x89\xa6\x8b\x9d\x64\x01\x5c\xd6\x46\x1a\xe4\x29\x44\x4b\x1e\xe8\x5a\x54\xdf\x02\xbe\x9d\x1b\x24\x3f\x2d\xaa\xd7\x1d\xb2\xd6\x5e\xcb\x15\xb3\x7b\x93\x3b\xa6\xc2\x5c\x09\x40\xa0\x12\x2c\x17\xb7\x22\xc7\x50\x7d\x26\x32\xc9\x65\x32\x5b\xd9\x45\xd1\x99\xad\xda\x9d\x96\xba\x14\x78\xc6\x6f\x35\xcb\xdf\x64\x45\xaa\x65\xa6\x98\x52\x52\x73\x21\xcb\xdb\x0c\x93\x60\x30\x3e\x84\x7a\x34\xbf\x84\xeb\xc0\x8c\x27\xd4\xda\x6b\xd1\x83\x45\x59\x79\x0f\x67\x55\xb8\xac\x63\xaf\xe5\x8c\x79\x5d\x30\x82\xa5\x1b\x9a\xa1\x1c\x35\xbd\xd9\x21\x33\x4c\xe7\x66\xc0\x9e\x47\x77\xbe\x1d\xa3\x46\x90\x1f\x8d\x7e\x2c\x0b\x3d\xe2\x2f\x50\x08\x3e\xd6\x92\x5c\x00\x94\xa9\x51\x52\x65\xb7\x02\x9e\xc2\x8c\x98\x6d\x96\xc3\x75\x5e\x89\xb6\x07\x5d\x49\x5d\x15\x4f\x90\x66\x31\x19\x8d\xf2\xb9\xcf\x06\x3f\xff\x0c\x3d\x37\x93\xd8\x74\xd1\x28\x78\xfd\x97\xce\x16\xef\x82\xd1\xf8\xe4\x1c\xc0\xc9\x68\xe8\x16\x9e\x9d\x53\x0b\xe6\xdd\xf6\x2d\xf4\x25\xbc\xf1\x56\x24\xa5\x4c\x71\xe6\x8c\x4a\x41\xc8\x42\xe4\xe5\x98\xe7\x86\x30\x78\x57\xe7\x73\xf1\x76\x32\xcb\xf2\xf4\x92\x83\xea\xca\x84\x7d\x96\xfc\x9e\x6f\xf8\x02\xe7\x20\x33\x55\xed\xa2\xf9\xaa\x4a\xf6\xd3\x9c\x2e\xe2\x73\x88\x86\x99\xc9\x52\x0f\xf4\xd4\x08\xb4\x0b\x3a\xc2\x6c\x6f\x8f\x2e\x79\xaf\x7a\x9d\xa9\x8a\x5e\xf3\xc4\x14\x37\xb5\x16\xb2\x04\xf5\xba\x9b\xa5\xaa\x75\xe6\xdd\x60\xac\x55\x16\xa2\x75\xc6\x6a\x2c\xd3\xf5\x61\xaa\xbb\x72\x1b\x8c\x41\x07\x8d\x55\xd7\xc7\x8c\xb1\xd6\x44\x96\xe3\x86\x77\x07\xcf\xe8\x6f\x0f\x4f\x9a\xfb\x12\xce\x00\x7e\xaf\x70\x36\x18\xe7\xd1\x73\xda\x2d\x21\x2b\xd2\x2c\x01\x61\xb5\xfa\xd6\x54\xd2\x91\x1e\xd3\x31\x8c\xd3\x08\x5a\xda\x74\xcc\x45\x21\x18\x66\x59\x2b\x5c\x07\x42\x11\x30\x3d\xab\x23\x60\x97\xbd\x73\xad\xd8\x10\xf0\x2f\x4b\x8e\xbb\x4d\x54\x42\x55\x8a\xf1\x29\x87\x88\x96\x8c\x25\x35\xf2\xcd\xf7\xef\xde\xa3\xd2\x6b\x9d\x9f\x9f\xb7\x58\x29\x59\xeb\x13\xf8\x42\x6a\x8b\x27\xc9\x12\x74\xcd\x06\x29\xf6\xbc\xf2\x8b\x97\x97\xa3\xef\x5f\xbf\xff\xf8\xc7\xd1\xeb\xef\x5f\xea\xcc\xac\x5e\x74\xd5\xd2\xf7\xd0\xb3\x34\x13\xa6\x05\x92\xe7\x36\x4b\x97\x3c\x6f\x40\x3e\x34\x94\x18\x5e\xe2\x2b\x75\x81\xad\x68\x18\x7a\x2c\x87\x07\x0a\xe2\xb2\x9c\x42\xd8\x8a\x7a\xaa\x72\x80\xa7\xe6\x2c\xcd\xa4\x48\xaa\x7c\xb5\xa9\x53\x24\x53\x41\xc5\x0b\xa6\x6b\xf4\x08\xfc\x11\x68\xe7\x29\x28\xaf\x7e\xd6\x0a\xa0\x0f\x4a\x33\x88\xf6\x4f\x0b\xa3\x99\xc1\xc0\xe0\xb5\x80\x8a\x16\xb2\x34\x82\xac\xe5\xd8\x9f\x78\xa6\xe9\x26\x9b\x5c\x04\xd2\x84\x43\x01\x4e\x42\xa5\x17\x09\xcc\xf9\x0d\xd6\x40\x61\x49\xd5\xad\x90\xe3\x52\x6d\x1c\x5e\xa2\xc4\xfa\x51\xb6\x39\xc8\x47\x73\x86\x9f\x92\xa6\x15\x2e\xfe\xf2\x0c\x62\x3c\xbb\x30\x85\x4a\xb0\x32\xe5\x8b\x88\x76\x8f\xd6\x2e\xfa\xd7\x65\x5f\x66\x65\x76\x23\x72\x0f\xcc\x50\x34\x58\x4c\x60\x8b\xed\xcd\xee\x00\x54\x81\xaa\x97\x72\x24\x22\xbb\xa5\xb9\x43\x60\x6d\xfd\x9a\x38\xcd\xe9\x10\xed\xba\x75\x03\x29\x96\x76\x99\x0e\xe8\x70\xb9\x6e\x11\xb9\x72\x93\x8a\xea\x17\x8d\x0a\x4f\x53\xa3\xeb\x83\xaa\x47\x7d\xcd\xe3\x55\xcb\x49\xbd\xc5\x52\xcd\x1c\x44\xa8\xca\x0a\x69\xc7\xa6\x70\xa4\xb2\x15\xcc\x6b\x48\xef\x51\x75\x04\x84\xb8\xcd\xca\xa5\xc2\x9c\x32\x35\xe6\x2f\x5d\xf8\x25\xbd\x93\x62\x5e\xde\x8a\xed\x1d\x34\xb1\x71\xd4\x51\x53\xf4\xe1\xf5\x95\x6c\x73\xc6\xbe\xb0\x6b\xd8\xa2\x67\xd4\x02\xc2\x84\x76\x06\x71\x5d\xb8\xa3\x08\xae\x76\xb1\x89\x2f\x1b\x7c\x84\x0a\xec\xd1\x5d\x8b\x12\xc3\x6e\x91\x5d\x83\x82\x38\x6f\x52\x11\xfe\x6c\xd6\xde\x9f\xdb\x7a\x9d\x28\x95\xf3\x75\x3e\xdd\xeb\x81\xea\x37\x69\xd4\x9a\x62\xea\x44\xf5\xe3\x35\x80\x7a\x15\x7a\x83\x72\x3b\x67\x2d\xb3\xfa\xc7\xaf\xbe\xf8\x93\xb0\x4b\x93\xec\x32\xa8\x17\xdf\x7e\xf7\xdf\x46\x52\x42\x73\xa6\x4a\x32\x92\x4b\x05\x5a\x2e\xe1\x85\x6b\x68\x5e\xa6\xd9\x64\xa5\x73\xff\x92\xaf\xc0\x4c\x69\x97\x1d\x8c\x5f\xb9\xac\x48\x27\x98\x09\x82\xa0\xe1\x5e\xd8\x43\x2f\x3f\x81\x5f\x4d\x79\xf8\xaa\xdd\x40\x9c\x20\x65\xb0\x9e\x44\x61\xd9\x6b\x6d\xe0\x02\xf6\x79\x57\x95\x8b\x9a\x46\xd3\xae\x94\xb6\xf4\xd2\x0b\xc9\xc0\xed\x8d\xf4\xdd\x0b\x5c\x70\x86\xa5\xaa\x75\x2f\x5f\xdd\x81\x9f\xb6\xac\x70\xd1\x57\xd3\x1b\x20\x06\x29\x28\xa6\x53\xa5\x09\x99\xd0\x6e\xa6\x25\x18\x4d\xe0\x47\x8c\x30\x33\x91\x32\x3e\x86\xa6\x32\x29\x45\x2e\x6e\x61\x28\x3d\x54\xb6\xfb\x03\xa9\x30\x7e\x74\x33\x87\x7f\x12\x7a\xe1\x9d\xc6\x8a\xe9\xd6\x9b\xb2\x62\xa6\x9d\xb4\xf5\x28\xf7\x5d\x13\x2e\x52\x1b\xed\xc6\x88\xa1\x13\x8d\x0e\x04\x39\xdb\x46\xc0\x2c\x3c\x74\x0a\xce\x75\x35\x5d\x37\xb8\xe4\x9c\x50\x42\xda\xd2\x25\xa3\x7a\x7b\xf2\xe0\xec\x02\x89\x1e\x63\xff\x6d\x07\x44\x7b\x31\x7a\x9d\x21\x00\xf1\x8a\x61\x75\x19\xcf\xb3\x1f\xf5\x02\xcc\x0c\x9c\x13\x8e\xc5\x7c\x98\x3f\x0f\xab\xf9\x74\xa5\x0c\x59\x17\x9b\x38\x4f\x5c\xf6\xe2\x71\xe3\xb9\x79\x34\x1f\x35\x98\x23\x5d\x2e\xb8\x75\x40\x2b\xb9\xac\x8f\xa7\x67\xe4\x1e\x33\x98\x6f\x85\x2e\x7a\x1a\x47\xc3\xa9\xd7\x78\x29\x5f\x42\xec\xe0\xfe\xb7\x76\x21\xf3\x94\xa5\x7a\xe7\xa7\x12\x86\xb1\x99\xea\xb8\xea\x5e\xe2\x17\x53\xec\x44\x2b\xcb\x71\xe1\xe5\xc4\xe7\x03\x3d\x5b\x49\x51\x7e\x83\x68\xa2\x93\x31\x2f\x8b\xac\xd2\x4b\xd0\xbc\x14\x84\x8f\xb9\x66\xc6\x2e\x68\xcc\x95\x43\x16\x22\xf1\x3a\xaf\xcc\x4b\x5a\x11\x5a\x60\x27\x82\xaa\x43\x9b\xc3\x96\x22\x59\x4a\x95\xdd\x0a\xb4\xd4\x3c\x55\xc1\xeb\xa0\x29\x17\xf5\x85\x38\x2b\xcd\x73\x77\x22\xcf\x9b\xdb\x06\x76\x55\xab\x22\x99\xc9\xb2\x28\x97\xaa\xab\x75\x96\xc5\x14\xde\x57\x27\x52\xd7\x2c\x17\x7e\x3a\x5f\xaa\xea\x29\xad\xc9\x34\x2b\xf3\xb6\x39\x21\xed\x8e\xde\x83\xc2\xb8\x94\x76\xfe\x77\xd2\xb0\xf9\x93\x5b\x26\xc9\x6d\xd1\xd7\x8c\xbb\xfa\xb1\xf4\x71\xb2\x01\x8f\xbf\xb3\x69\x8a\x60\xd5\x49\xb8\x10\x0d\x93\x06\xa2\x48\xb3\x62\xfa\x02\xa8\x2a\x45\x81\xc9\xfc\xa8\xd2\x0a\xef\xd9\x0a\x25\xdf\xc6\xef\xee\xd6\x1e\x3f\x67\x7d\xf6\xd9\x67\x41\xa7\x8d\x5d\xf7\xaf\xb5\xc3\x55\x24\x38\xd1\x77\xae\xd7\x53\xf5\xe0\xaf\x76\x2d\xa7\xd0\xd9\x5e\x82\xeb\x27\x28\x9e\x31\x91\x07\x85\x2a\x51\x21\x2e\xe6\x50\x08\xb5\x60\x9d\xd4\x77\x5e\xda\x12\x28\x49\x73\xc2\x5e\xcb\x9e\x96\x30\xca\x60\x2a\xaa\x57\x95\x98\xab\x36\x60\xee\x6d\x2b\x96\xc1\xc5\x30\x95\x4f\x6d\xbc\xd6\xbb\x16\xf8\xed\x9a\x89\x13\x93\x66\xaf\x4d\x0b\x84\x8d\xd9\xb5\x0d\x18\xae\xe1\xcd\x60\x62\x20\x58\x90\x79\x23\x56\x61\xd6\xe7\xb5\xd9\x54\x20\x00\x16\x22\x7d\xb7\x2a\x12\x76\xce\xda\xc1\xd4\xbe\x9f\x6a\xf8\xec\xb3\x35\x65\x5e\x8c\xc5\x5e\xcc\x2d\x85\xa6\x9f\x9c\xaf\x7d\x82\x35\xf9\x3d\xfe\xa0\x63\xb5\xe9\x75\xe0\xc2\x74\x3a\x6e\x2a\xa2\x21\xf5\xd4\xf0\x04\x6e\x30\xe8\x1c\x48\xc3\xbd\xa6\xbb\x61\xf9\x6b\xc4\xd1\xcf\x9e\x05\x0b\x2c\x71\xd4\x57\x45\xf2\xc2\x50\x44\x07\xe3\x91\x94\x74\xfc\xb5\x97\xe6\xff\xde\xdc\xc8\x2f\x11\x9b\x60\xef\xb4\x00\x40\xbb\x84\x21\x8f\xfb\x8b\x9b\x30\x2b\xc3\x78\x63\x42\x23\x53\x36\x14\x52\x8c\xb3\x20\xa7\x60\xe2\x49\x08\x16\xa1\x67\xa0\xe4\x75\xde\x42\xbb\x6d\x0d\x4d\xc6\xc9\x68\xe4\xa0\xf7\x6b\x23\x52\xb3\x91\x80\x99\x0c\x26\xbe\xc4\x8c\x8a\xbf\xcc\x5c\x4b\xb3\x89\x6c\xea\x71\xaa\x5e\x1e\x7f\x27\xb3\xaa\xc2\x1a\x01\x6d\xf9\x8c\x6c\xd6\x51\xd3\x01\xc9\xcf\xe3\xb2\xcc\x05\x2f\x7e\x26\xad\xf3\x33\x56\x55\xfc\x5c\x2c\xf3\xfc\x41\x8b\xd5\xfb\x5a\x60\x40\x3b\xa6\x18\x4e\x08\x7b\x33\x2a\x56\x34\x4b\xe1\xef\xee\x28\x85\x5e\x8d\x40\x8b\x33\xb0\xf0\x00\x97\xc6\xdf\xf2\x3c\xb3\x4a\x3e\x0e\x12\x7e\x7d\x22\x61\x51\x7d\x74\x61\xaf\x2d\x1f\xda\x60\x6b\x1a\x72\x19\x6b\xd3\x0c\xa6\xbd\xed\xd9\x86\x35\x69\x06\xd3\xc0\x6f\xc8\x36\xf8\x2e\x3d\x70\xb7\x83\xa8\x15\x6e\x12\x4b\x6b\x64\xa9\x50\x92\x58\x19\x04\xde\x6c\xc8\x66\x92\x6b\x6b\xf4\x88\x89\xce\x09\x2e\x28\xb0\x25\x72\xe9\xcd\x17\xda\xde\xcb\xea\x9b\x1f\x6e\x7b\x0b\x73\x1a\x12\x1c\xd4\x4d\xe1\x7a\xfd\x45\xc6\xaa\x05\x3d\xf4\x5e\x1b\xb8\xaa\x01\x50\x93\xb2\xb0\xfb\x0b\x2e\xe2\xa2\x4c\xbb\xe9\x88\x65\x27\x50\x44\x6b\x96\x11\xd9\xa9\x97\x51\x61\xe2\xe4\x09\xdb\xdf\x35\x95\x2d\x54\xfe\x6e\xb6\x2d\xa9\x66\x52\xd8\xaa\x17\x9b\xa8\xc2\xa7\xa2\x22\x21\x60\xb3\x2b\x9c\x01\x36\xc3\xaa\xfb\x72\xed\xb1\x0f\x69\x28\xd3\xce\xe3\x72\x21\xeb\xd9\x2a\x5e\x5b\x82\xdd\x8a\xd6\x97\x78\x35\x10\x06\xa2\xa9\x0c\xc2\x84\xeb\x41\xfb\xb6\xcd\xab\xec\xfa\xaa\x7f\xed\x36\x23\x83\xbf\x07\xd1\xdf\xc3\xeb\xfa\x56\x97\x46\xcb\x17\xb4\x1e\x4b\xa4\x76\x35\x41\xec\x2a\xbb\xb0\x3d\xbe\x81\x29\xed\x34\x9b\xe0\xdf\x15\xc5\xfe\x3f\x2c\x55\x85\x5a\x14\xeb\x2f\xbd\x61\xf4\xaa\xa7\x28\xca\xd3\x3b\x76\x08\xdc\x82\x06\x9b\xa6\x7d\x9c\x6d\xad\x29\xae\x18\xaa\xbb\xec\xc6\x04\xcc\x05\x2f\x82\x5d\x79\xb4\x0a\xf3\x27\x9f\xbd\xf4\x7c\xad\x5b\xa4\x6e\xa6\xa2\xa2\xcd\x80\x50\xb5\x72\x93\x42\x35\x39\x85\x96\x14\x18\x97\x48\xbd\xb3\x59\x29\xd1\x66\x98\xfd\xeb\x0a\x66\xeb\xf8\xea\x21\x46\xb0\xc9\x74\x6c\xe7\x80\xda\x58\x16\x32\x22\x6d\x68\x62\x83\x60\x14\xa4\x28\x6c\x6f\x81\xae\x6e\x2f\x95\x65\x91\xfd\x65\x69\x5d\xad\x75\x54\x12\xee\x35\xda\x60\x26\x38\x3b\x5d\xe7\x72\xaa\x24\x6b\x34\x95\x76\xda\xb6\x2a\xf5\xba\x93\x88\x63\x4c\x6b\x7a\x10\x53\x6d\x0b\x70\x81\xbb\x2a\xe9\xf9\xac\x00\x4a\xef\xf1\x34\xdd\xa3\x9c\x86\xdb\x7c\x89\x06\x8a\x36\x3d\x5a\xf9\xfa\x3e\x26\x05\x56\xc0\x2d\x68\x73\x32\xbd\xe4\xb1\x9e\xbe\xf5\xa6\x05\x57\x6c\x14\xed\x0e\x63\xbc\x86\x78\xaf\x33\x3b\xe9\xac\x59\xcf\x94\x8f\x2b\x61\x5e\x9e\x6a\x7a\x4e\x74\xcb\xb6\xdd\xd8\xe2\x3d\x71\xbb\xee\x82\x4c\x6c\x2a\xa8\xd0\xe6\xce\x0c\x65\x6a\x79\x00\xb4\x39\xbe\xb7\x3e\x4e\xbf\xc8\xca\x79\xe1\x59\x68\xe3\x0c\x57\x74\x03\x72\x69\x03\xb7\xb7\xd7\xe4\x02\xe2\x04\x7c\x99\xa7\x4d\x0c\xe0\x8d\xfc\x93\x75\xfa\xca\xbd\xf2\xea\x7a\xdd\x92\x0f\x93\xc2\x2e\xac\x9f\x5c\x9b\xfc\xee\x5a\xdc\x29\xb7\xd9\x34\x15\x7c\x65\x40\xae\xb1\xea\xd7\x75\xf0\x79\xc3\x24\x68\x00\x1c\x4d\x87\xda\xd9\x1d\x60\x3c\xad\x5c\xb6\xcf\xe2\x5c\x5a\x5e\xa4\x19\x6c\x36\xf2\xe6\x86\x2c\x17\xce\xb0\xf4\x10\x87\x5c\xdc\x0a\xb9\x8a\x2c\x0e\x39\x3c\x5c\x29\xdc\x93\xc5\xe4\x1c\xbc\x7c\x5a\x59\x84\x2e\x1f\xb9\xa3\x0f\xb8\x67\xf6\x88\xe9\xb9\x6e\x7f\x56\x96\x76\x2b\x4d\xbc\xbd\x90\xc2\x17\x98\x97\x46\xef\xe1\xc5\xc6\x69\xc6\xc6\xf9\x9b\xc0\xf8\x11\x11\xba\x80\x92\x4b\xb5\x69\xca\x7c\xf6\x19\xd3\x39\x79\x7d\xe1\x93\x73\xd6\x32\x4f\xb6\xd6\x64\xe0\x5e\x15\xa8\xaa\xc9\x74\x9f\xe9\x27\x55\xcb\x05\xea\x74\xc5\x9b\x13\x89\x2b\x09\x68\xde\x48\x83\xb9\xaa\x69\xc0\xd0\xcb\x93\x87\x05\x8b\x26\xb2\xb5\xdd\x30\xa5\xd6\x41\xc8\x1b\x64\x1e\x3a\x41\xf9\x9e\xd7\x03\x53\x3f\xee\x86\xc7\xdb\xae\xe8\xb9\xb7\xde\xa6\x21\x42\xf5\xdd\xb2\x39\x5f\xd0\xd5\x06\xf3\x9e\xa9\x05\x37\xd3\x3c\xc4\xa8\xcc\xcd\xc0\x9a\xac\x58\x8c\x86\xf2\x6a\xad\x74\x49\x93\xde\x49\x22\x4c\xdf\xe2\xc6\x39\x7e\xc2\xc8\xe4\x9a\x14\xae\xf2\xd6\x2b\xbc\x31\x39\x8f\xe5\xb4\x8b\x45\x9e\x25\x94\x72\xc4\xe5\x75\x00\x04\xf1\x30\xb9\x88\x4b\x25\x64\x13\x12\x68\xf7\xfc\xfd\xee\xf5\x6c\x81\x35\xf1\x69\xa3\x7f\x80\x93\x07\xe8\x8b\x60\x65\xf6\x13\xdc\x8e\x2e\x07\xf5\x4c\x6a\xb7\x4b\x42\x47\x75\xcf\x14\xd2\xa8\xbb\xac\x4a\x66\x76\x53\x5a\xe7\xd2\xe8\x1c\xcb\xa3\x04\x80\xaa\xda\x46\x79\x5e\xcf\x2e\xd7\xb8\xa8\xce\x2c\xbe\xb3\x47\x2d\x69\xdd\xd7\xb6\x25\x92\xc1\x00\xbf\x29\x8d\xb9\x5c\x33\xbc\xba\xae\xfe\x37\x47\xdc\x3a\x30\x25\x82\xff\x12\x4a\x68\xfc\xe3\x12\x04\x97\x44\x7c\x6c\x14\xf5\x89\x0e\xa3\x9a\xd5\xc1\x76\x61\xc2\x8d\x3a\xc2\xc4\x8e\x8e\x71\xa6\xc2\x2c\xb5\x6b\x72\xca\x9b\x75\x87\xef\xa1\xaf\x57\x31\x57\xd9\xb5\x8e\xb9\x82\x24\xd4\xda\x77\x69\x84\xdc\xec\x6d\x43\x20\x10\xc3\xc0\x3b\xfc\xd6\xbb\x3a\x76\xd5\x45\x62\x11\xc3\xbc\x90\x02\x77\x75\x75\xde\x45\x83\xaf\x67\x3c\x10\xb3\x03\x33\x40\x81\x81\xf4\x2a\x5a\x5c\x7d\xe0\x2c\x2b\xa2\x25\xc4\x78\x0a\x0b\x07\x6f\x46\x27\x60\x68\x17\x06\x5d\x2d\xc0\x97\x55\xb9\x6b\x5c\x2e\xf4\x6d\x62\xd7\x07\xe4\x1d\xde\x49\xd3\x47\x52\x23\x60\x7c\x2e\xda\x79\x53\x2a\x81\x12\x1e\x96\xf9\x81\x2b\xb5\xc4\xbd\x71\xb6\x3a\xdc\xb8\x3f\x86\xed\x19\x6a\x36\x22\x8d\x71\xbd\x6c\x00\x02\x4a\x64\x6d\xc5\x24\xf6\xfe\xdb\x80\x16\x18\x70\x24\xf9\x32\x15\xa6\x08\xd7\x38\x46\x6b\x5b\xc9\x52\xd7\x46\x86\x94\x2a\x6f\x85\x94\x59\x4a\xe8\x58\x6a\xe9\x36\xb6\xcb\x1e\xf5\x85\x42\x35\x7f\xcb\x0a\xeb\x7e\x19\xdc\xd7\x3b\x61\x5b\xfe\x11\xda\x5e\xb9\x42\xaa\xfc\xa2\x6e\xeb\x9f\x3d\xb7\xf7\x9f\xfb\xc9\x86\xcc\xe6\x43\xb2\xd4\x6c\x56\x95\x3e\xb7\x06\x15\x9c\x48\x53\xed\x00\xa0\x9f\xb8\x0d\x2e\x1a\x84\xff\x62\x49\x96\x45\x53\x9a\x24\xdf\x8e\xb4\xa9\xb0\x67\x59\xda\xa9\xaf\x1b\xdb\xdb\x63\xdf\x65\xc9\x0d\xe3\x4c\xf2\x22\x2d\xe7\x5d\xc3\x8e\x07\xbb\x69\x36\xcd\x2a\x36\x13\xf7\xfe\x66\xac\xbe\x77\xae\x0b\xff\x68\x66\x5e\x6f\xec\xfb\x49\x96\xb2\x9f\x7f\x66\xcd\x1d\x70\x8b\x0c\x52\xb3\x59\x10\xed\xe9\x83\x5f\x09\x81\x76\x87\x3d\x65\xfd\xfb\xc9\x64\x32\x61\xcf\xd8\xa0\xd3\xab\x4a\x5d\x7c\x36\x38\x72\x35\xf2\xa9\xdd\x68\xf2\xc7\x05\x4f\xdb\x59\xda\x65\x07\x41\x05\xbd\x19\x60\x97\x09\xb6\x84\x46\x2e\x05\xaa\x10\x51\x1a\xd6\x89\x23\x19\x5d\x79\xeb\x66\xf7\x5a\x7b\xe4\x19\xad\x38\xf7\x1f\xb5\xb5\xa6\x6e\xd2\xa4\x06\x22\x85\x12\xd5\x28\xcf\xfd\x12\xd5\x46\xc7\xfc\x2a\x4b\xad\x27\xaf\x1f\x26\x8e\x4a\x75\x05\x90\x46\x80\xd2\xec\x1e\x0b\x02\x6a\x2a\xd8\x84\x33\x6c\x23\x70\xf5\x31\x28\xe5\xf5\x34\x81\x55\x07\x46\xb1\x10\xa8\x6a\x80\xb5\x1e\x08\x68\x23\xdc\x76\x51\x61\x39\xb9\xdf\x1a\x46\xd1\x29\xcd\xcc\x3c\x4a\x55\xf9\x56\xd9\x53\x5b\xd1\x8a\x52\xba\xe3\x76\xa0\xa3\x20\xbb\x51\xed\x64\xa9\xa7\x02\x5f\x5d\x3c\x76\x76\x10\xda\xdb\xa0\x56\x7c\x8d\x00\xfd\xf5\x75\x02\x3e\x16\xc2\xc2\x78\x21\x58\xcc\x06\x8f\xd2\x28\xec\x3c\x16\x33\x57\x0f\x15\xc8\x1b\x40\x85\x75\x50\xd6\x62\x37\x31\x8a\x16\x84\x54\xe0\x6e\x1d\x9b\x39\xb2\x79\xbb\xf7\x75\x86\xd5\xd9\x14\xcf\x37\x23\x9d\xee\xad\x30\xf4\xc6\xb7\x94\xd6\x78\x98\x9d\x8a\xc8\xcf\xa9\xec\xf4\x87\x74\xbb\x5b\xda\xb3\x28\x9e\x78\xdb\x42\xea\xc9\x07\xa9\xd5\x26\x2f\x98\xb8\x4f\xc4\x82\x66\xb5\x27\xac\x28\x23\x48\xcc\x23\x51\x21\xfc\xaf\x30\xa2\xb8\x99\x64\x56\x3c\x96\xe5\x2c\xcc\xd3\x70\xa9\x73\xe0\x61\x84\xf8\xd5\x96\x3d\x07\x39\x12\x4d\x24\x5a\xf4\xfc\x28\x9e\x36\x9c\xb9\x8e\xa1\x1b\x56\x34\x53\xc8\x67\xa9\xd0\x30\xd3\xd9\xd9\xe2\xa6\x3a\xa2\x85\xc6\xca\x73\x55\x4d\x63\x81\xfe\x8d\x59\xd0\x3a\xc7\xed\x2c\xa5\x3d\xc9\x34\x50\xc7\x0f\x4f\xb7\x2f\x3e\xde\x16\xa3\xee\xc4\x16\x75\xc7\x37\xb5\xc6\xb0\x5a\x05\x1b\x2d\x5f\x7e\x88\x75\x2f\x60\x58\x93\x9e\x17\x3c\x4f\x96\xb9\x71\xc1\x4c\xf4\x95\x08\x36\x16\xd5\x9d\x10\x05\xee\x7d\x03\x38\xa8\x38\xd9\x44\x3b\x02\xa0\x30\x79\xfb\xe3\xf8\x40\xe4\x0e\xd7\xf2\x75\x24\xae\xc1\x96\xa1\xb8\x97\x12\x3a\xac\x3b\x5d\xb6\x43\x0a\x0f\xbe\x82\x32\xdf\x49\xca\xf9\xbc\x2c\x76\x40\x40\x16\x42\x56\x99\xb0\xd3\x10\xfa\xca\x4a\xef\x44\xc6\x99\xbf\xce\x60\x97\x7c\xba\xff\xa9\xe4\x52\xfc\x4f\xb8\xe2\xb6\x4b\x4a\x20\xd8\x7a\x95\xb3\x73\x76\xd5\xa2\x27\xef\x5b\x5d\xa6\xbf\xae\x5a\xd7\x1a\x60\xec\x01\xd0\x55\x7d\x03\x88\x66\xb3\x66\xaa\xcd\xbb\x6c\xdc\x61\xe7\x5f\xd8\xe5\xb6\x3f\x91\x2b\x7e\xc6\x7e\x62\xb6\xfd\x33\xac\x51\x62\x0f\x5d\x6d\x2d\xe0\xee\x43\x97\x51\x57\x3d\xc8\x95\x85\x04\x5f\xc1\xad\xd3\x85\x06\x75\x36\x37\xf5\x08\xc3\xb8\x52\x4b\xb3\x3d\xde\xff\xf0\xff\x01\xc9\xf4\xd7\x0d\xf8\xf1\x44\x30\xff\x73\x45\xea\xe2\xfa\x81\x71\x3a\xcb\xa6\x54\x15\xa6\x56\xf5\x43\xb5\xc1\x5f\xf7\xf8\x98\x8d\x0a\xbd\x55\xdc\x9a\xe7\xcc\x9e\x91\x26\x6b\x36\x2a\xfc\x72\xcc\xb0\x6b\x7b\x44\x10\x7f\xe8\x37\xa8\x97\x70\x20\x7c\xd5\x42\x63\xf2\x53\x70\xa6\x13\x8a\x8e\x19\x99\x87\xee\x13\x67\xba\xbd\x0b\x76\x40\xf0\xef\x87\xb5\x31\x24\x6f\x0a\x1a\x41\x0b\x8c\xad\xa5\xe4\x57\xd9\x75\xcd\x25\x95\xb7\x3d\x7a\xc5\x15\xdc\xbe\xf6\x6a\xd7\x6a\x4b\x2b\xe5\x6d\x0f\xb1\x6d\x82\x34\xe2\xde\x84\xda\x78\x1d\x6a\xed\xf1\x55\x76\x0d\xfa\xcb\xb4\xdc\x01\x1f\xda\xbf\x4a\xa8\x75\xd6\xac\xdf\x95\xb7\xda\x35\x49\xaf\xc6\x11\x4a\x4d\x27\x4e\x99\x22\x49\x5d\xcf\x95\xfd\x28\xbc\x13\xf1\xd6\xd8\x6e\xe5\x4d\x0b\xd8\x95\x2a\x9a\x99\xa1\x31\x7c\xdc\xb9\x75\xe4\xd5\xd4\x0e\xb6\xa0\x36\xaa\x8c\x4e\x56\x59\xb1\x79\xa6\xf0\xb4\x23\x57\x87\x56\xa4\x54\x4b\x66\xe4\xa4\x56\x53\x06\x0d\x62\x5e\xcb\x14\x29\x60\xf5\x00\x55\x22\x7a\x05\x6d\x28\x77\xb8\x85\x17\x9e\x62\xe1\x8e\x6e\x0b\xe7\x66\x69\x1b\xfd\xb1\xd0\xde\xce\xaf\x31\xf9\xca\x91\xb1\xb9\xfc\xe0\x57\xd5\xb1\x41\xab\x4f\x1a\xb6\x41\x7b\x94\x4d\x0f\xaa\x6c\x36\xcc\x7b\xc4\x65\x6d\x9b\xea\xda\xea\x65\x6d\x3a\xed\xf9\xb7\xaf\x6a\xd3\x9b\xf3\xd7\xb4\x96\x9e\x38\x10\xec\x29\x4d\x6d\x3f\xa5\xc5\x90\xdc\xaf\x8a\xee\x85\xa9\xae\x57\x6b\x9d\x68\xf7\x1e\xbd\x8d\x89\x65\xc1\xca\xec\x8c\xed\x6a\x6c\x81\xa0\x9a\xd1\xcc\xbb\x54\x45\x0c\x8d\x8d\x53\x63\x88\xb0\x7e\x5c\x14\xa9\xb7\xe8\x33\xcd\x54\xc2\x25\xb9\x94\x88\x5e\x99\xa7\x84\x5a\xad\x6c\xaf\xd1\xcf\x89\x4e\xc1\x7b\x8c\xd2\x6d\x3b\x0a\x74\xf5\xeb\xd6\x27\xde\x1c\xec\xba\x2d\x08\x30\x7a\x76\x60\xb8\x0b\x81\xbd\xa9\x69\xf2\x0a\xb7\x50\x3a\xd7\x6f\x8b\x03\x13\xbd\xde\xde\x07\x75\xab\x36\x98\x79\x48\xc7\x29\x3e\x18\x85\x2c\x6e\xb2\x61\x73\x44\x12\x96\x0c\xfe\x86\x48\xde\xbe\xcf\x6f\x23\x38\x76\x33\xda\x0e\x07\x17\x37\xa3\x7b\xae\x17\x61\x6f\x4d\xc6\x78\x2d\x69\x75\x4e\x7f\xdb\x7a\xb7\x47\x64\x13\x18\xfb\xc5\x59\x03\x7a\x68\x6d\xb1\x5e\x94\x9f\xb0\xf3\x1b\xed\x50\xee\xe3\x0d\xf6\x9a\xf8\x4a\x0f\x6a\x03\x4f\x6d\x8f\x2e\xe9\x59\x30\x67\x41\xa9\xce\x27\xb1\x82\x69\xd4\x2d\xeb\xcb\xfe\x82\x78\x55\xe1\x36\x5a\xe1\xfc\x6e\x86\xcb\xf9\x29\x4c\xc0\x79\x9a\xba\x19\x4b\xfd\x79\xa5\x5a\x91\x5f\x56\x9b\x3c\xa0\xc8\x8d\xb6\xc0\xd7\x5b\x81\x37\xcf\x9a\xd6\x66\x23\x42\xd4\x30\x4b\xf0\xd8\x54\x85\x0a\x57\x24\xfd\xdf\xcc\x3a\x34\xac\xe3\x78\x55\x89\x79\x3b\xac\x36\x76\xf0\xae\x5e\x2c\xac\x42\xfd\x64\xe3\x9a\xa9\xa6\x27\xd6\x2d\xc3\xfc\x05\xb3\x4b\x9a\x3f\x82\xa5\xfe\x8a\x99\xe5\x8d\xd5\x4c\x64\xb2\xce\x29\x8f\x1c\x9a\xc6\x19\x32\xd2\x58\x34\xa9\xe7\xf6\xed\x34\x72\xb5\x31\xe0\xf6\x54\xf5\xe3\x43\x67\x5f\x68\xa3\xf8\xd9\xed\xee\xe2\x07\xac\x41\x9e\xaa\x59\xfa\xb7\x4e\xee\xd9\x2a\xf2\x6d\x95\xc7\x9b\xc7\xfc\xd1\xe5\xcb\xeb\xd8\x80\xd9\xe9\x3c\x4c\x9f\x7a\x7b\xb0\x3c\xfc\xba\xf2\xfa\xb0\xae\xbe\x61\x41\x9e\x57\x5d\x1f\xef\x04\xb9\x51\x5a\xa8\x36\x9e\x40\x0c\xce\x93\x52\x42\xe0\xdd\xae\x33\xf3\xda\x92\x66\x73\x0e\x0c\x04\xb1\xa0\xa3\xee\x4a\xb3\xe7\x97\x73\x54\xc0\xa6\x65\x54\xd6\x52\x94\xd5\xae\xf8\xcb\x92\xe7\x5e\x7a\x6e\x5c\x56\x33\x7f\xa3\x30\xbb\xed\x96\x4a\x78\xce\x25\xd6\x31\x50\xde\xb7\x9c\x2f\x00\x00\x1b\x08\x93\x0f\xd0\x94\x39\xb9\x01\xd7\x7b\xb1\x76\x51\x7a\xf9\x8e\x4e\x97\xf6\x2a\xb9\xcb\x94\x3d\xf5\x0a\x70\x0e\xd4\xb0\xd9\x52\x0c\x1c\xfa\x1c\x0f\x46\xa4\xad\x8a\xef\xdc\x5a\xc5\x64\x26\x92\x1b\xe8\x68\xa0\xe0\x71\x4d\x88\x9b\xc6\x65\x6f\xbd\xa3\xe1\xf0\xd8\x3b\x73\x68\x14\x36\xa1\x7b\x41\xde\xf7\xbd\xe9\xf9\x9d\xa0\x02\x3f\x43\x2c\x5c\x8f\xfe\x84\xce\x6d\xd6\xa7\x99\x8c\xbd\x92\xc0\x58\xc9\x3f\x85\xd0\x7e\xe4\xd2\x79\xfa\x2d\x71\x3e\x70\xbc\x06\xe6\x11\x75\x4f\xd9\x64\xd2\x1c\x73\xef\xed\x99\x24\x2b\x00\x46\xa5\x8b\x5d\x66\xce\xcc\x82\x51\x34\x1b\xc3\x33\x45\x47\x1d\x2e\x64\x36\xcf\x30\xc6\xa2\xa2\x1b\x0a\x5c\x75\x6a\x8d\x77\x50\x5a\xcd\x9f\x63\x88\x5f\xb5\x00\x7c\xd2\xde\xfb\x73\xdb\xa6\xda\x6c\xe1\xb8\xae\x23\x27\x83\x17\xaf\x6f\xe5\x9d\x4e\x74\x3c\x44\x53\x38\xcb\xf1\x9d\xe3\x30\x89\x46\xa6\xb8\xbe\x2c\x35\x2a\xa3\x6c\x60\x26\x7b\x54\x88\x5a\x8e\xf1\x4c\x05\x08\x4c\x1b\xd6\x4a\xf9\xb3\xc0\x36\x24\x4a\x4b\x61\x36\xd2\xaf\x84\x7c\xcc\x0e\x11\xe6\x3c\x14\x5a\xeb\x87\x7c\x89\xde\x44\x9e\x46\x25\xed\x8c\xfd\x89\x82\x42\x5e\xe9\x7a\x29\xd5\x6d\xac\x78\xa0\xfc\x1d\xd5\xf6\x99\xa5\x9f\xbf\xac\xdc\xc1\xce\x62\xa3\xf8\x98\x6d\x87\x7c\xa6\x2c\xc4\xdd\x1f\x6d\x7d\x3f\x78\x02\x21\x95\xcd\xec\xe0\x2f\x2d\x1c\x0e\xea\xc1\xeb\xdb\x35\x98\xb7\xfe\xef\xfb\x2f\x2e\xe0\x00\x31\x31\xae\x89\xbf\x6c\xd8\xc3\xce\x3b\xd2\xee\x22\x20\xcb\x8c\xe3\x11\x1b\x4e\xef\x04\xbb\x0b\x3f\xfc\x7a\xc7\xc7\x1c\x9e\x87\x1b\xb9\xd0\x6e\x8c\xb6\xc4\x4d\x57\x79\x93\xa6\xaa\x8b\x85\xde\x73\x09\x14\x80\x16\x68\xeb\x47\x45\x5b\x5e\x98\xfe\x3d\x6f\xc2\x7b\xdb\x23\x4f\x36\xf9\x5b\x8f\x14\xdc\xa6\xba\xfa\x98\xb1\x1b\x2b\xff\x90\xb9\x77\xbf\x60\xde\x66\x53\x9a\x3e\x2b\xbb\xb3\xad\xe3\xe1\x60\x89\xc6\x23\x4b\x4c\x03\xc6\x0d\x77\x29\x36\x25\x72\xf1\x5a\x34\xaf\x76\xae\x61\x2d\x04\x6d\xd1\xc6\x17\xb8\x1e\xad\xee\x92\xbe\x6b\x08\x58\xe2\x31\xff\x3f\x88\x57\xa0\x6b\xf5\x70\x45\x45\xdb\x03\x3f\xf5\x17\x07\x59\xd3\x06\x50\x8f\x5a\x01\x64\xc6\x27\x5a\x08\x14\x1f\xed\xbe\x31\x31\x56\x8f\x89\xfe\x2f\xb5\x8b\xce\x04\xad\xad\xc7\x8a\xb4\x8f\x01\xf5\x55\x4e\x5c\xaa\x69\xbd\xeb\x5f\xa0\xaf\x9a\xc3\xa7\x50\xec\x03\xd7\x54\xd1\x9a\xcd\x86\x28\xce\x6b\x7d\xcd\x4a\x9e\x5f\x14\xa5\x3d\x36\x72\x74\x89\xc3\x3f\x09\xbb\x26\x79\xce\x0b\xe4\x5f\xa6\x44\x91\xda\x6a\x29\xb2\x8c\xba\x0e\xd3\xd4\xfb\xdb\xea\x06\xdc\x0c\xed\x4e\xb8\xe4\xa0\x59\x42\x2d\x6e\x71\x57\x59\x2c\x09\x9e\x64\x74\xe6\xa8\xdf\x92\x39\xb2\xf0\x4e\xb4\x6e\x85\x3d\x4e\x47\x6b\x7c\x6a\xce\x73\x0a\xf4\x48\xa8\x12\x4c\x3f\x35\xaa\x84\xf0\x8a\x2e\x1d\x2a\x2c\x15\x39\x5f\xe1\xca\x0a\xda\x1a\x83\x1a\x0b\xa8\xb8\x2c\xaa\xcc\x9c\xe7\xe7\xa1\xdb\xd5\xaa\x82\x32\xea\xde\x39\xaa\xba\x76\x95\xe3\x2a\x0e\xdd\x59\x3a\x70\xd0\x9b\x4d\x37\xdb\x22\xb8\xed\x37\xcc\xae\x5b\xef\x63\x32\x22\x05\xbd\x33\x87\x55\xa9\xcf\x5e\x52\xba\x88\x9a\x27\x09\xd6\x10\xe1\x70\xa4\x62\x81\x03\x52\x50\x6b\x9c\x79\x0b\xcb\x83\x76\xe1\x9d\x5e\x22\x67\x53\xa8\xa3\x0f\x63\xe9\xb2\x7e\x68\x56\xbe\x16\x55\xb8\xc7\xcb\x63\x56\x5f\x36\x6b\xb3\xe9\x63\x53\x2f\xd3\x7f\x84\xc4\x8b\x99\xf2\x09\x54\x4a\x43\xad\x46\x9e\xb3\xa2\x2c\x76\x8d\xcd\x0d\xd6\x35\x29\xbb\xb1\x74\x81\xc1\x6f\xe0\x33\x53\x89\x1f\x95\xf6\x14\x74\x14\x7d\xf3\xc6\x02\x76\x57\x81\xed\x94\x13\xf7\x8b\x52\x56\x23\xf5\x9f\xaa\x2c\x9a\xb3\x23\x34\x61\xf8\xd0\x5c\x95\xbe\x31\xe5\xb0\x6e\x51\xb6\x3f\x03\x68\x56\x14\xea\x53\x54\x82\x84\x4a\x34\x93\x10\x6c\xd9\xda\x98\x52\xd7\x0f\x35\x25\x3f\xc3\xa4\xba\x06\xb4\x1b\xfb\xfa\xb8\x50\x6e\xe2\xa7\x2c\x3d\xc3\x52\x8c\x1f\x54\x59\x9c\x45\x15\x45\x85\xa9\x26\x0a\xc8\xd7\xee\x3c\x74\xa2\x74\x72\x34\x8b\xf9\x58\x6e\x34\x04\x6c\xf6\x4e\x9b\x9c\xd3\x5a\x2f\x9c\x6d\x0b\xf7\xd3\x09\x92\x2d\xcd\x93\x94\xaf\xe6\xd0\x27\xc3\x88\xe3\xbc\x1c\x87\x4b\x3a\x94\xbf\x7d\x8b\x2b\x14\xc5\x29\x4a\x9f\x1e\x75\xa7\x48\xd7\xbb\xfe\xad\x78\x37\x43\x44\x2f\x65\x39\x8f\xb9\x17\x06\x6d\x4d\x05\xbc\xbb\xf5\x58\x26\x8d\x13\x7c\xd0\x42\x38\x56\x6b\x99\x11\x9e\x78\x1c\x37\x52\xba\xef\xba\xa7\x8b\x56\xa3\x37\x03\x15\x9a\xa6\x54\x74\x86\xb1\x70\xb5\x61\xe6\x51\x37\x8d\xe2\x3d\xdb\xf1\x4a\x6f\xd7\xb6\xeb\xea\x78\x8d\xb3\x86\xa7\x2d\xbb\x8a\x9b\xa6\xa7\xa3\xb1\x68\x07\x7d\x42\x92\x6f\x96\x0c\x5b\x19\x47\xaf\x74\x24\x5e\x77\x2c\xd7\x0b\xef\x08\x2b\x7d\x4a\x7f\x54\xc8\x56\xdf\xd0\xf7\x91\x01\x46\x7d\x19\x58\x53\xa1\x96\xbf\xc9\x6a\xb0\xc3\x82\x37\xe1\xb9\x06\x5f\x6e\xe2\x12\xdf\x7d\xf8\x85\x28\x86\x9b\xb4\xfe\xd2\x28\x28\x48\x08\x67\xf7\xe1\xc9\x3d\x37\x62\xd5\xcb\xb9\xaa\x5e\xe9\xc9\x44\x0f\x10\x8c\x3d\x68\xa0\x7e\x67\xcd\x44\xda\x83\x9b\xa1\xac\xef\xe5\x51\xdf\x3d\x24\x98\x64\xdc\xb4\xa2\xc9\xdf\x1c\x0d\x8f\x86\xce\xe6\x98\x15\x6c\xe5\x79\xd3\xbe\x5b\x54\x08\x8a\x71\x0d\xc7\x85\xb4\xa6\x28\x41\xe7\xc4\x7a\xb5\xa2\x8e\x08\xf9\xed\x5a\xda\xf5\xd3\xe4\x67\xce\x6d\x10\xd9\x0b\x1d\xf9\xf5\xeb\x40\xea\xba\x19\x0f\x6f\x8d\xb7\xae\xd3\xd0\x8d\x2a\x3f\x6a\xb8\x7d\x5b\x66\x29\xba\x64\xe1\x40\x63\x6c\x12\x2d\xda\x88\x83\x92\xa0\x74\xcf\x75\x2b\x3a\x34\xc4\x69\xb0\xe6\xe8\xa2\x09\xd9\xb5\x1b\xa6\x3f\x26\x0e\xf2\x26\x67\x37\xcd\x23\x3d\x7a\x53\x75\x29\x68\xb7\xf3\x7f\x91\xad\xd4\xdf\xf9\x1b\x5c\xf1\x02\x5e\x65\x7a\x18\xed\x9c\x0e\xa2\xb0\x54\x14\xa0\x81\x07\xfa\x9f\xfc\x96\xbf\x4b\x64\xb6\xc0\x7d\x6d\x8b\xa9\x27\x31\x49\x99\xe7\x22\x01\x2b\x9d\x2e\x69\x45\x3d\x1b\x2f\x75\xd1\xab\xaa\xc4\x42\xcf\x38\x98\x03\x29\xb2\x82\x92\x22\x42\x66\xb4\x86\xb9\x05\x1a\xcc\x12\x9a\xa7\x69\xbb\xd7\xeb\x75\xe8\x04\x72\xe5\xce\xdc\xc4\x83\x25\xfe\xdd\xc0\xed\xe8\x0d\x66\xb3\x5b\x5a\x02\x63\xc6\x6d\x9c\x15\x7b\x74\xfa\x5e\x4f\xcd\xbc\xcd\xac\x8a\xb2\xc0\x93\xe5\x97\x4a\xd0\x52\x7c\x55\x4b\x32\xeb\xe5\x9d\x76\x93\xec\x70\xe3\x2f\x1d\xd3\xae\xca\xa5\xb4\x34\xd3\x67\x59\x40\x7f\x40\x94\xb0\xe1\x32\xcf\xf1\xfc\x69\x4f\x3b\x5b\xf0\x73\x7d\x22\x96\xa6\xf8\xc7\x33\xf6\xd3\x43\x7c\xb8\x29\xb7\xf7\x37\x26\x87\xa3\x15\xf9\xf6\x19\xe6\xef\xac\x66\x36\x47\xc7\xd3\x4f\x75\xd9\x3d\x62\xea\xa1\x49\xbe\x98\xc5\xc9\x1c\x36\xa7\x66\x9c\x16\x4f\xe3\x31\xbc\x8d\x05\xd3\x38\x0f\x31\x62\x73\x9c\x8d\x81\xef\x31\x32\x38\x63\xb1\x23\xf9\xdd\x0e\x95\x72\xeb\x14\x9e\x5e\x69\x39\xce\x6b\xe9\xeb\x94\x57\xdc\xcb\x3e\x69\x3b\xed\xd3\x23\x24\x28\x30\x4b\x3d\x61\x04\xb8\x74\xb1\x2d\x52\x40\xc1\x13\x8e\xf8\xd6\xf7\xd5\xc9\xbe\xd5\x42\x9c\xd1\xb3\xf8\x37\xdc\x3d\xa3\xa4\x09\x55\x44\xf0\x8a\x9f\xe1\x27\xd5\x37\x86\xc1\x9a\xcc\x04\x96\x3a\xd9\xa1\xd6\xca\xca\x9b\x8c\xb0\xb7\xb0\x97\x99\x5d\x65\xa1\x8f\xc7\xd9\x81\xcb\x3b\xae\x52\xd7\x76\x1e\xdc\x6e\x00\x1b\xfb\x41\xde\xa3\x26\x0c\xec\x1b\x1b\xce\x02\x0b\x2b\xda\xdd\xa4\x41\xb9\xe5\x14\x2f\xdb\xa6\x39\xd3\xb8\x28\x2b\xcf\x52\x7a\x65\xab\x65\x73\xd9\xea\x0e\x90\x78\xa7\xcb\x76\x00\x53\x53\xb9\x1c\xf4\x3d\x28\x5e\xb5\x03\xd7\x10\xb6\x77\x6b\x5d\xf0\x0b\xe0\x8d\x87\xb0\x66\xf8\xb7\x94\xa0\x37\xda\xb3\xa0\x0e\xdd\x46\xf9\xa6\x4d\x17\xe3\xaf\x2d\x37\x6f\xdc\xc9\x74\x23\x7f\x36\x33\x5a\xc0\x4b\xff\x44\x3c\xf1\xf4\xa1\x2e\x0a\xcd\x63\x7d\x01\x42\xf2\xff\xe0\x78\xf7\x80\x24\x5b\x06\x1d\x33\x3f\xa4\x8f\x96\xb2\xb6\x4d\xd1\x3f\xf6\xf0\x8f\x1c\xe2\x4c\x14\xe0\xf8\xa4\xec\x56\x48\x85\xe9\xde\xad\xfa\x5e\x33\xc6\xf7\x32\x7f\x2c\x6f\x90\x83\x6e\xed\x6f\xdc\xda\xba\x67\x9f\xbb\xe1\x6a\x21\xc2\x30\xd4\xf6\x41\xb4\x76\xcf\x58\xab\x1b\x5c\xb5\x23\xb7\xd9\xa5\x34\x49\xf3\x7f\x0d\x8f\x12\xa2\x57\xb5\xe0\x7a\xd1\x18\xd6\x22\xcc\x45\x51\xe9\x4d\x73\xca\x89\x39\x70\x07\xf3\xdd\x8b\x52\xa9\x6c\x9c\xaf\x58\x92\x97\xcb\x74\x77\xcc\x93\x1b\xa1\xdd\x44\xbb\xa3\x1d\x8d\xb8\xdb\xe4\xb3\x10\x77\xba\xba\xa7\xdd\x79\x24\x69\x3f\xea\x53\x14\xff\x35\x28\xac\x3b\x63\x62\xff\x31\x57\x22\x65\x58\x01\xa1\xd7\x81\x14\xb4\xf7\x2b\x9d\x89\x31\xe1\x66\x37\x04\x7d\x0e\x91\xa4\x64\x01\xb8\x5b\x76\x05\x11\x6d\x4c\x1d\x9c\xd8\x13\x0f\x5d\x6d\x28\x7a\xfa\x58\xfc\xfa\x71\x32\xf5\x23\x64\x3e\x36\x9c\x21\x53\x36\x9c\x91\x12\x76\xad\x67\xa6\x3e\x71\x5f\xb7\xd7\xc8\x34\x66\x0b\x62\x7b\x6b\x7d\xfd\x94\xce\x9a\xe8\x53\x2b\x0c\xb9\xc2\x6e\x79\x05\xfc\xe6\xbe\xa2\x7d\xcf\x33\x7f\xdf\x88\xb0\xcb\x51\xba\x87\xd0\xf0\xe9\x60\xb7\x0a\xe6\x52\x70\x37\x9f\x80\xe1\x79\xd0\xc3\x2b\x03\x70\x6d\x53\xb3\x86\x62\xeb\x37\x75\x89\x37\x7b\x28\x9b\xb7\x79\xf0\xe7\xac\xcb\x60\x8b\x07\x8d\x5e\x53\x01\xa5\x3d\x18\xc2\x5f\xeb\x60\x76\x11\x5a\xb3\x2d\x77\x6d\x01\xc5\x9c\x2f\x3a\x0f\x6e\xfb\xa0\xa0\xf0\xa6\x69\xe9\x04\x35\xfb\xc4\x6e\xc8\x15\xe5\xb2\xd6\x12\x7f\xcd\xe1\x0b\xe1\xc6\xbf\x31\x89\x30\x41\xdf\x5c\x5f\xec\x9f\xbe\x10\x57\xeb\xfc\x4d\x8f\x5e\x58\xdb\xa3\xf5\x07\x2e\xd4\x77\x33\xae\x1f\xb8\xf0\xd1\x96\xf0\x07\xdb\xa6\xfa\x2b\x8c\x9b\x58\x62\xfd\x99\x0b\x17\x54\xf4\x8d\x5b\x3d\xd1\x6c\xbf\xd9\xba\xcd\xd3\xcf\x7f\x0b\x16\xa0\xea\xf2\x27\x9b\xf7\x81\x5e\x4b\x35\x5c\xb4\xbe\x79\xfb\xe7\x40\xb4\xe8\x01\x6f\xce\xfe\xd1\xf5\xe8\xb5\xf9\xca\xb7\x6e\xfe\xb5\x56\x3f\xc6\x9d\x4e\xa9\xc4\x7c\xdb\xe4\x25\xfc\xdf\x2c\x48\x5e\x2e\x36\x6c\x8c\xda\x79\x3c\x59\x6d\x35\x93\xa1\xec\x58\x08\x70\x57\xc9\x7f\x7c\x0c\x69\xf5\x6e\xcf\x3e\x71\xb1\xe2\x65\x13\x75\xc1\x8b\x0a\x81\xc8\x09\x6a\x3c\xc7\x43\x05\x05\x43\x3e\xc1\x6a\xfa\x45\x6f\xb7\x89\x05\xbe\xf6\xc4\xdc\x6d\x24\xc3\xbc\xf5\x2f\x23\x98\xc2\x65\x4a\x9b\x48\xf6\x28\x9a\xa9\x88\x68\xea\x51\x54\x53\x31\xd9\xc2\x4a\x22\xbd\xe6\xbd\x58\x27\x80\x4d\x5c\x65\xb2\x30\xd6\x5b\x1f\x0b\x9d\x6a\x78\x44\xb5\x8f\x83\x5d\x53\xf3\xa3\x84\xc4\xbd\xf9\x85\x5d\xd3\x8e\x1e\x85\x2d\xfa\x49\x12\xb1\xa8\x6a\xb9\x9d\xdf\xb4\xd8\xce\xbc\x48\x89\x2a\x58\x6b\xe7\x1f\xdf\x40\xc7\xee\x95\xe1\x16\xf6\xf0\x80\x2e\xce\x45\xc5\x66\x76\xfd\x7a\xe2\x8e\x1f\x92\xe6\xf0\x02\xb3\x09\x71\x46\xbb\x49\x05\x87\x0c\x60\x05\xea\x22\xc5\x99\x4b\xaf\x18\xc2\x3f\xdb\x6a\x2d\x77\xa8\x35\x12\xe5\xed\xdd\x5b\xd7\xf5\xe5\xf8\x07\x7b\xcc\x5c\x39\xfe\x01\xe7\x09\xdc\x4e\xdf\x31\x2b\x29\x51\xb5\xcb\xf1\x0f\x51\x63\x35\x6e\xb2\x52\xa7\xb9\x7e\x3d\x57\x35\x16\xeb\xdd\x88\xd5\x9e\x7e\x92\xaa\xc2\xa2\x06\x7e\x1f\x6b\x33\xd6\x2a\x3c\x39\x29\x1e\x98\x06\x65\xf0\x88\x11\x34\x7b\xbf\xd0\x66\xf9\xe1\x12\xdb\xc7\x99\x1a\x2c\xd8\xc3\x55\xc8\x7f\xfb\xe1\xd2\xdb\xa5\xfe\xc6\x11\x33\xad\x99\xad\xf9\xfe\xfe\x23\xe6\x0a\xd7\x6a\x02\xba\x6d\xcc\xe8\xd1\x06\xd8\xa6\x61\xb3\xb2\x87\x96\x6e\xe3\xe8\xad\x33\x7b\xbf\x0f\xdf\xa6\xe1\x6b\xb0\xbe\x8f\x1f\xc0\x18\xf8\xf1\x49\x9c\x8f\xd8\x91\x7f\x91\x44\xc3\x5d\x56\xa4\xe5\x5d\x0f\xbb\xf4\xee\x97\x67\x1b\x70\xa5\x44\x98\x70\xf8\x0d\xd9\x86\xd7\xc8\x21\xb5\x22\xb3\xe6\x54\x42\x3d\xfb\xd0\xd0\x17\x00\xd3\x97\x79\x9a\xbe\xbc\x15\x45\x65\x73\x0c\x2d\xfd\x68\xab\x6b\x76\xf7\x7d\x67\xd8\xe4\x7f\x31\xdd\x80\x7d\x6e\xaa\xdc\x08\xb2\x0d\x5e\x76\xc1\x26\x16\x46\x52\xf0\xed\x29\x85\xbd\x3d\xf6\xea\x25\x65\xb3\x55\x6d\xa7\x25\x77\x62\x1b\x32\x1b\x6e\x57\x03\x30\xf3\x45\xb5\xd2\x67\x33\xf4\xdc\xd6\x59\xb7\x66\xfa\x5d\xf4\x6c\x85\xf4\x97\xfe\xa9\x6f\xee\x7a\x87\x9d\xb1\x9d\x9d\xe7\x6e\xe1\xbf\x7b\xd4\xd6\x0d\x44\x8f\xba\x92\x6f\xff\xd1\xd2\xf9\x44\x57\xa2\xa7\x7d\x22\xca\x7a\x98\x77\x9d\x39\xdc\xf4\x2c\x9e\x6e\xe9\xcc\xbe\x78\xe3\xee\x24\xbf\x2e\xc1\x52\xfe\xb3\xa5\x56\x62\x46\xfb\xa7\xcf\xac\xc4\x1d\xfa\x3d\xb1\xf2\x88\xc4\x4a\x4c\xb4\xdf\xf3\x2a\x7f\xab\xbc\x4a\x4c\xd9\xc7\xa5\x55\xfc\x43\xaf\x6a\xc9\x02\x5c\x5c\x71\x23\x56\xde\x51\x5f\x34\x87\x79\x6b\x27\x2e\x89\x14\xb6\xea\xaa\x92\x2b\xaf\x2c\x95\x9a\xf5\xb4\xac\x3b\x66\x85\x31\xe0\xb0\x2a\x99\x31\x63\x5b\x74\xf1\x1c\x2d\x70\x48\x38\xf8\x80\x64\x19\x3c\x67\x0e\x17\xae\x99\x89\xc0\x8a\x2d\x0b\x84\xd0\xd5\x72\xb6\x6a\xd8\x63\x00\x2b\xbd\x68\x51\xa9\x50\x94\x90\xa8\xb1\xc3\xbf\x42\xd2\xe8\x11\xfc\xb0\x35\x65\xb4\xb6\xa4\x3e\xa3\x62\x49\xe5\x9d\x70\x0f\x06\xec\x0b\x32\x64\xbb\xbb\xfe\x7e\x03\x20\x11\x04\x6d\x4b\xd8\x1f\xcb\x69\xd1\x74\xf9\x5a\x56\x0b\x99\x0d\x0b\xcb\xb5\x79\x5e\xc3\x70\xcd\x2c\xf7\x1b\x99\x2e\x7c\xf3\x6d\x58\x14\xd8\x50\x51\x88\x04\xac\x6f\xbc\xf9\x58\xde\x95\xb7\x75\xc6\xfd\x3d\x6b\xf7\x4f\x99\xc9\x89\xe5\xf3\x17\x27\xed\x6a\xe9\x1c\x23\x44\xdd\xf8\x18\x40\x92\x82\xf5\x36\xf3\xb1\x16\xf3\xf7\x8c\xde\xff\x1e\x1f\x3c\x26\xa1\x17\x17\xd0\x97\xe3\x1f\x82\x88\xe1\x51\xcc\x61\x72\xbd\x9d\xfa\xf1\x67\xbf\x86\x47\x7e\xcf\x19\xfe\x1d\x78\xe2\x37\xa7\x0c\xeb\x9e\xdc\x6f\x1c\xdf\xdf\x93\x8b\x7f\xdf\x71\x0e\x37\x48\x95\x8d\x03\xdd\xb8\xd5\xa9\x5c\xad\x4d\x20\x34\xf1\x04\x97\xab\xab\xec\xfa\xb7\x89\xfe\xe3\xb2\x96\x73\x31\x2f\xe5\xea\x5f\x24\x6d\xf9\xaa\xd8\xa5\xfe\xb8\xac\xca\xaf\x29\x8e\x42\x78\x68\xef\x57\xa5\x2b\xbf\x21\x0c\x7e\x75\xbe\x72\xdd\xa1\x5e\xff\x90\xe9\x23\xea\xec\xbf\x52\xfe\xa8\xd6\xa3\xdf\x13\x48\x8f\x48\x20\xd5\xa8\xf6\x88\x0c\x12\x10\x4c\xd8\x44\x6e\xec\x35\x85\xf9\x6b\xad\x30\x85\x09\xe9\x7e\x72\x69\xde\x00\x10\xef\x77\xbd\x5c\xaf\x59\xd8\xf6\x60\x75\x69\x93\xbc\x85\xea\x34\x12\xdc\x5f\x9d\x1f\x6e\xcc\x10\x07\xab\xce\xbc\x29\x85\xae\x59\x7d\xf7\x7b\xfa\x6c\x13\x5f\xfd\xc6\xfc\x99\x3e\x3c\xfe\xf7\xbc\xd9\x3f\x5b\xde\x6c\x1d\x23\xfc\xe3\x25\xce\x34\x8b\xfd\x9e\x30\xfb\x3d\x61\xf6\xff\x42\xa2\xa4\x26\x98\xbf\xae\xcc\xcd\xed\xad\xd5\x2c\x4c\xf5\xab\x46\x42\xe2\x84\x9a\xdd\xaf\xcb\xf9\x16\x4d\x6e\x43\x7d\x8b\xae\x33\x42\xf1\x9f\xc0\x1d\xf8\x3d\x33\xf8\x0f\xc8\xf0\x8f\x49\x0d\xfa\x6c\xb9\x39\x53\xf8\xcb\x3d\x5d\x93\x31\x7c\xa8\xef\xca\xb6\x4e\x60\x6c\x92\xf1\x79\x83\xde\xfe\x3f\x61\xfb\xbf\x59\x26\xec\xf7\x4c\xe7\xdf\x94\xc7\x7f\x51\xaa\xd3\x3f\x31\xa0\xd9\xf1\xfe\x3d\xcd\xf9\x8f\x3d\xc8\x7f\xe3\x3c\x67\x23\x43\x50\x8e\xf3\xfa\xef\x98\xe3\xac\x84\xaa\x3e\xea\x3d\xc2\xfe\x45\x32\x9c\xff\x0e\x77\xe1\x25\xb7\x99\xb8\x63\xde\x4e\x2c\xcb\x22\xab\x18\x74\x18\xdc\xd7\x89\xe4\x73\x71\x57\xca\x1b\x1c\x24\x7f\xd3\x46\x5e\x58\x2f\x96\xfb\xd7\xe1\xc9\xf0\x14\x28\x78\x91\x39\xb5\x93\x36\xbc\x06\xde\x79\x2f\x54\xf5\x8d\x77\x6a\xa8\x14\x39\xb2\x1a\xe6\x59\xf1\x90\xb9\x11\x6d\xe3\x38\x2f\xe7\xfa\xbc\xa9\xac\x6a\x29\xdc\xbd\xd0\x6d\x0e\x83\x5b\x50\xaa\xac\x98\xe6\x82\xde\x43\xac\x8c\x90\x52\x70\x55\x16\x7c\x9c\xaf\x98\x9a\x73\x3a\xf5\xa9\x7d\xfe\xd7\xc1\x0d\xcb\xb3\x42\x80\x63\x04\xef\xa5\x46\x59\x5e\x56\x4c\x70\x95\x91\x80\x98\xc3\x8c\xcb\x42\x37\x8b\xfb\xcb\xe0\x36\x2d\xd0\x3f\x68\x69\xc6\x65\x21\x94\xa2\x5d\xe4\x33\x74\x36\xbc\x07\x95\xb8\x15\x45\xb0\x6b\x78\x99\xe7\xe5\x1d\x90\x54\x77\x90\xf6\x61\xd7\x0b\xda\xbd\xa3\xf0\x62\xda\xec\xd2\xe6\x06\x65\x59\xe9\x14\x34\x20\x2d\x8a\x4a\xae\x16\x65\x56\x90\xd8\xe3\x96\x69\x18\x6d\x08\x88\xcc\x96\x94\x4c\xae\x37\xd6\x7b\x5d\x4e\xd9\x2e\x7b\x5d\x4e\xa7\x00\x0d\x9c\x98\xd1\x92\xf8\x06\xd8\x77\xcb\xac\x12\x6c\x97\x8d\x0c\xb9\xcd\x6a\x7a\x33\xc0\x0d\xcf\xc0\x77\x7c\x44\x0f\x09\xc0\x6e\x00\x7d\xbb\x2c\xd8\x2e\xa3\x2b\xc4\x19\xe2\x5e\x24\x4b\xf3\x26\x8e\xba\x6c\xcb\x2b\xdf\x0a\xb5\xcc\x6b\x2f\x05\x39\x5b\xe6\x7a\xf3\x4e\xab\xf3\x81\x88\x7a\xdb\x10\x2d\x2a\x96\xd9\xd9\x4c\x64\x92\xcb\x64\xb6\x22\xb6\xb8\x11\x62\x21\xa4\xd9\x3d\x20\x2f\xa7\x6b\xf6\x4a\x69\xa0\x30\xe9\x7b\x78\xc4\xaa\xfa\xa6\x71\x70\xed\xa1\x10\xbd\x2e\xa7\xca\x9c\x17\xee\x49\xa3\x3e\x70\x08\x74\x5a\x39\x9f\x67\x55\x90\x33\xf5\xf9\x24\x4a\x90\xe6\xe5\xd4\xcb\x90\x03\x32\xe7\x16\xad\x9f\x7f\xc6\x05\xf0\x0d\x48\xe1\x86\xa1\xcd\x07\xa7\x1b\xd6\x32\x04\xb4\xe7\x96\xe3\x0d\xa3\x1b\xd7\x04\x02\xa8\x72\xef\xbd\x5d\x5b\xc8\x6e\x2e\x40\x12\xe8\x94\x74\x68\x44\x21\xc7\x29\x51\x2d\x17\xed\x4e\xd7\x10\x66\x21\x05\x9f\x8f\x73\xd1\xd6\x02\x8b\xa0\x09\x07\x11\xd2\x5b\x43\x39\x34\xe4\xb2\xe8\x31\xd2\x3a\x66\x9c\x95\x3e\x98\xdd\xf3\xe3\xe3\x8e\x3f\x45\xad\xdb\x63\xec\x15\xe8\x02\x51\x54\xff\x3f\x7b\xef\xbe\xdf\xb6\x91\x34\x88\xfe\xef\xa7\xe8\x78\x77\x43\x32\xa6\x78\xd3\xd5\x72\x94\x2c\x45\x49\x13\x6d\x7c\xdb\x48\x89\xcf\xf7\x39\x1e\xa7\x09\x34\x45\x44\x20\x1a\x83\x06\x24\x71\xc6\xde\xdf\x79\x8d\xf3\x7a\xe7\x49\xce\xaf\xab\xaa\x6f\x00\x28\x29\xc9\x64\x76\xbf\xdd\xe3\x3f\x2c\xa9\xd1\xd7\xea\xea\xea\xaa\xea\xba\x24\x85\x48\xd7\xac\xca\xcd\x7e\x78\xb3\xbb\x85\x87\x9e\xb2\x63\xf5\x8e\x90\x92\x02\x93\x90\x35\x77\xa5\x91\x9e\xdc\x60\x7d\x5d\x9d\x4d\x11\xf0\x48\xa9\xd2\xb6\x3b\xd4\x92\x22\xdf\x52\xa3\x7b\x22\xfc\xd9\xfd\xe2\x4a\xc9\x28\x71\x11\x32\x1b\x9b\x66\x59\x05\x4b\xb6\x67\x14\xc8\x77\xc5\xd7\x7e\x56\x76\x24\x71\xfa\xea\x84\x27\xb0\x3c\x2f\x64\x5e\x40\x5e\x3f\xb3\x98\x87\x80\x20\x33\x5a\xc6\xcc\x70\x27\x1e\x20\x4a\xfc\xd4\x43\x99\xc6\x3e\x52\xe8\x8b\x08\x0d\xdf\x01\xe5\xcc\xee\x33\x59\x95\x79\xd5\x38\x8f\x5e\x1c\x01\xc8\x32\x61\x0f\xe3\x99\xe1\xb6\x5a\xf9\x2f\x58\x94\x4b\x22\x0d\x31\x92\x41\xcb\x8d\x08\x26\x0d\x15\xc0\x08\xcd\xe6\x24\xf6\x6d\x3e\x30\x7d\xac\x28\x3f\x49\x3b\x0c\x5e\xc2\x09\xac\x1f\x51\x33\xa9\xf0\xa8\x9a\xd2\x8f\xee\xcc\xda\xd9\x7f\xfa\xe4\x85\x4a\xe8\xb1\x7f\xf8\x33\xd0\x05\x9f\xad\x8a\x83\x72\x66\xe9\x4e\x3a\x1d\x57\x0a\xd1\xbb\x5a\x0b\x2f\x4a\x1e\x5d\x9b\xd7\xc4\x46\x00\x31\x13\xf6\x4b\x02\x31\x5c\x09\xa5\xf8\x95\x08\x2f\x7a\x99\x41\x98\xe9\x85\x88\x4a\x15\xd4\x72\x61\xdd\x20\xd3\x25\x85\xa2\x36\x01\xe8\x93\x3b\x48\xc0\x5c\xa9\xe5\xe6\xdc\x15\xaa\x2c\x6c\x78\x66\x9c\x45\x5e\x60\x48\xe9\x52\xb2\x45\x55\x56\x85\x68\xcc\xab\x75\x13\x3c\x64\xd4\x23\xbe\xc5\xfe\x82\xf8\x13\x85\xb7\x1b\x3e\x64\xf0\x71\x51\x7f\x6f\x81\x66\xb3\xf6\xaf\x32\xc9\xba\x9d\x4e\xab\xd8\x51\x86\x49\x5e\x35\xd8\x00\x30\x34\x7d\x5a\xe6\xa3\x16\x21\xf3\xe6\x1a\x36\x2e\x40\xe6\xdd\x3f\x30\xf9\xff\x5e\x89\x4a\x68\xb2\xe8\x1f\x8c\xbc\x48\x30\xf7\x8e\x39\x21\x2e\x73\x10\x07\x46\x0b\x54\x9b\x14\x1b\x9d\x70\xb2\x6f\x9e\x19\xa1\x13\xfd\x1d\x56\x0f\x89\xd8\x7c\xa6\xc9\x55\x80\x34\x2b\x94\x9b\x00\x87\xa4\x7b\x83\x2e\x67\x8c\x86\xbe\x48\xf5\x0e\xf5\x98\x2c\xb0\x4e\x9a\x75\x7b\xc0\x38\x2a\x38\xe0\xa0\x99\xad\x31\x63\xfa\xdc\x2b\xf1\xb7\x0a\xa2\x00\x53\x8a\x64\x60\x28\x92\x8c\x5d\xbe\x7b\x83\xac\x22\x71\x0b\xba\x2b\xbd\x42\x9f\x5b\x83\xcd\x48\xb2\xb2\xdb\x59\x8a\x34\x95\x1a\x62\xf5\x0f\xac\x59\x98\x66\xdd\xce\xad\x2c\xd2\x18\x3f\xe9\xaf\xef\x96\x9a\xcf\xe4\xac\x5c\xe7\x10\x53\x50\x95\xfa\xde\xdb\x4a\x13\xc8\x4f\xa4\xe7\x6a\xa2\xb5\x9b\xe9\xe1\x88\x0c\xfa\xf9\x39\x23\x2f\x23\xcd\xb2\x3e\x81\x6c\x4b\x0a\xb2\x53\xb8\x7a\x3f\x67\xa6\xe6\x43\x87\xcc\x6d\x2e\x8f\xe3\xda\xd6\x3e\x88\x8f\x80\x0e\x6d\xe7\xc9\x85\x7c\x25\xc2\x14\xd8\xae\x58\x6a\xf5\xec\x48\x8f\xdf\x48\x24\x50\x27\x69\x01\x06\x3f\xb3\x4d\x7c\x74\x7d\x0b\x53\x21\x24\xf4\x70\x45\x33\x11\x80\x29\xc0\xb6\xbb\x08\xf9\x7f\x3a\x58\xd2\xec\x91\x80\x71\x2b\x26\x8c\x76\x39\x55\xfc\xeb\xa1\xdb\x04\x42\xed\xe9\x0e\x56\xc9\x33\x7b\xf0\x7c\x1a\xf9\x98\x69\x23\x98\x1a\x94\xc5\xe5\xa8\x08\xa7\xec\xb9\x85\x6d\x9a\xac\xa9\xbf\xe9\x9a\x6a\x3c\x40\x2b\xe2\x3f\xf5\x3d\x57\x16\x55\x54\xca\xc2\xbb\xb9\x21\x39\x2c\x26\x65\x5d\x8a\x22\x29\x41\x83\x03\xe7\xb4\x4d\x9a\x31\x3b\xfc\xa3\x12\x61\x7e\x32\x60\x01\x1a\xdc\x2e\xf1\xa3\x94\x1a\x0a\xf8\xc3\x30\x8b\xba\xee\x0b\xe3\x0b\xa6\x6b\x96\x64\x49\x49\xcf\x3b\xed\x93\xb5\x0a\x1a\xd7\xe1\xbf\xc9\x0a\x84\xf8\x72\x29\x40\x4b\xe3\x31\x5b\x96\x11\x06\x7c\x75\x4c\x30\x5b\x89\x72\x29\x63\x05\xd1\x2f\x45\xa4\xf7\xb2\x58\x43\x1d\xc0\x4a\xcb\x1c\x3f\xc1\xdc\x64\xc1\x80\x96\x6c\xdd\xf0\x82\xbd\x5a\x6b\xf8\x28\x8a\x86\xd5\x0a\xaf\x6e\x87\x2a\x39\x32\xc5\x4c\xbb\x50\x6d\x5d\xe5\x81\x39\x0b\xb2\xb3\x5f\x99\xd7\xc4\x0b\x51\x2a\xd2\xd9\x24\x7f\xc7\xdc\x66\x77\xf8\x6b\xb2\xd0\x87\x50\xdc\x25\xaa\x54\x36\x17\x59\x23\x19\xd0\x78\xe4\x75\x86\x51\x3f\xad\xdc\x64\x02\x77\x9b\x64\x3a\xd1\x5d\x9f\xfd\x43\xf7\x7d\xc8\xc6\xa3\xcf\x86\xf2\x7e\xbe\x6f\xfe\x06\xb8\xfe\x12\x90\x7e\xf6\x59\x63\x29\x72\x85\xf2\x80\x62\x5d\x2d\xe3\x33\x55\x45\x7a\x13\x16\x55\xaa\x49\xaf\xea\x01\xd3\xac\x92\x58\x6c\x09\xe0\x84\x10\xd1\xd2\x44\x95\x7d\xa6\xa4\xd7\x53\x21\x08\xe3\x92\x92\xcd\xc5\x42\x16\x64\x8a\xe3\x0b\xcd\xe6\x1c\x61\xdc\x77\xb0\xf2\xc2\xe2\x8d\x1a\x74\xbd\x72\xa7\x31\xa3\x1c\xf8\xae\x97\xf7\xc9\x07\x76\xc4\x12\xdb\xcf\xe7\x06\x78\x86\x43\x76\xcc\x55\x12\xb1\xba\x52\xc7\x86\xb7\xf5\x60\xc8\xe3\x58\xff\xd2\xed\xe4\x32\xdf\x42\x75\x5d\xa7\xff\x00\x10\xbd\xd9\x58\x86\xe4\x2b\xf7\xd1\xa4\xab\x4b\x20\x9d\xbe\x28\xf0\xe8\xf0\x24\xa5\x0c\x68\x7a\x2a\xc0\xff\xc3\x49\x54\xa5\xcc\xd9\x52\x14\x62\xe0\x7a\x20\xd1\x1f\x5b\x9f\xfe\xf7\xae\x1b\x0e\x67\xd8\xf7\x50\x71\x0b\x1f\x9c\xc3\xf1\xa7\x24\x1e\x55\x4a\xdf\xb3\x71\x12\xd1\x2e\x2d\xb9\x32\x22\xeb\x7c\x0d\xac\x83\x95\x3e\xf1\x50\x36\x27\xa1\xab\x77\x7b\x0e\xdc\xbd\x00\xd0\x17\x1c\xd2\xec\x35\xf4\x67\xf7\x82\x1a\x6a\x6f\xfd\x26\x80\x6b\x44\x51\x22\x5d\xd0\xbd\x19\x2e\x18\x1c\x68\x8d\x72\xba\x4e\xea\x4d\xa5\x36\xb8\xea\x1e\x43\xb8\x42\x49\x00\xd7\x66\xf3\x1a\x44\x02\xdc\x23\xf8\xbf\xe3\x49\xc9\xc6\xa3\xd1\x4a\xb9\x9c\x8e\x7a\xeb\x79\x51\xf0\x35\x23\x23\x0b\x4b\x4d\xf9\xb5\x53\xa2\x8a\x3b\x80\xa8\xb7\x0f\x2d\xe6\x03\x7d\xdd\x77\x6d\xd7\x1f\x44\x49\x83\x06\x70\xe3\x38\x11\x3a\x13\x22\x56\x8c\x67\x68\xdf\x39\xb1\x73\xf6\x52\xb7\xd7\xf0\x9a\xb4\x09\x36\x79\x60\x21\x20\xd9\x85\x06\xcb\x50\xa3\x39\x39\x7f\x67\x7d\x52\x2a\x7a\xd9\x39\x9d\x7c\x0a\xdd\xa1\xf6\x3f\x59\x09\x48\x74\xd4\xc4\xbd\x42\xb3\xb5\x0a\x96\xdf\x9d\xd0\x8a\x1b\x58\xe8\x98\xd9\x06\xdb\xa3\x6f\x80\xd7\x6d\xf1\x3e\xdd\xe5\xd8\xce\x43\xa0\xe6\xd0\x67\x75\x4c\x57\xa4\xef\x37\x37\xa2\xbe\x1f\x41\xec\xa7\x96\x16\x71\xcd\x8e\x78\xdf\x80\xe9\x73\x7f\xfa\x4f\x93\x76\xa2\x47\x6e\xd2\x14\x3d\xd5\xdc\x0e\x55\xde\x05\x75\x09\xbd\x10\xe8\x81\x37\xb5\xa3\xaf\x74\xde\x28\xbc\x67\x93\x95\xa0\xef\xb6\x7e\x9c\x28\x3e\x4f\xc5\xbd\x6d\xbc\x3a\xb6\xdd\x95\x28\xef\x6d\x43\xdf\xeb\xf5\x29\x15\xc8\xbd\x6d\x74\x1d\xdb\xae\xa4\x02\x67\x2e\x6c\x8b\x5f\xf1\xfc\xa3\xb5\x70\x80\x52\x7b\x37\xea\x62\xf6\xf1\x23\xfc\xfd\xf1\xe3\xe1\x86\xf1\x5c\x75\x7c\x8d\x6e\xaf\x65\xd8\x10\xa1\xc8\x4c\xb7\x94\x45\x90\xb8\x48\x17\x04\x1c\x20\x2c\x52\x2e\x36\xa8\xa6\x5d\x7f\x7d\xa3\xce\xa5\x17\xae\xa5\x58\xb3\x5b\xe1\xe9\xd7\x37\xa3\xa9\x37\x2b\x13\x42\x32\x50\x7b\x00\xae\x43\x6c\xf9\x7b\x39\xca\x4b\x77\x09\xe0\xa1\xcd\x13\x14\x50\x35\x6f\xe5\x0d\x61\x1e\xf8\xd6\x18\xe4\x1e\x18\x80\x7b\xa7\xe7\xd0\x30\xd0\x93\xbd\xc6\xa0\xe4\x42\x95\xa1\x0a\x09\x64\x09\x51\xcb\x19\x6d\xf6\xd8\x4f\x2c\xd5\x39\xa9\x20\x60\x7a\x49\xc7\x19\x23\x93\x77\xd8\x33\x66\x9a\x5b\xeb\x97\x12\xc7\xdf\xa4\x94\x24\x8d\xe4\x86\x59\x59\x3e\xdf\x4c\xe2\xbd\xa9\xf8\x81\x0e\x74\x50\x03\x30\x14\xd1\x43\xff\x59\x37\x58\x5e\x80\x34\xce\x19\x1d\xa4\xd8\xf2\x4a\x9b\xc0\x17\x9e\xca\xff\xb8\x20\xf4\xb5\x7c\x9d\x13\x7f\xf5\x6e\xc4\xc1\xa2\x4a\xd3\x66\xe2\x97\xbf\x88\xb2\x05\x7b\x01\x22\x26\x05\x9e\xbe\x73\xf4\xec\xff\x69\xd8\xdc\x76\x9f\x58\x98\xd6\xaf\x93\x58\xa8\xa4\xf0\xf6\xd2\x85\x76\x6e\x9b\xb4\x09\xf6\x0d\x77\x1b\xb5\x02\xc9\xc1\x86\xd8\x26\xa1\xe2\x96\x2b\x97\x1e\x80\xe1\x0b\xe9\x7d\xa8\xe2\x08\x71\x03\x4d\x02\xe5\xfc\x06\x6c\x6e\xc2\x3c\x23\x86\xa5\x85\x80\xa1\xe4\xd5\xaa\x99\xff\xd7\x90\x95\xf0\x16\xa9\x89\xf7\xf5\x85\xc2\xa1\x6c\x98\x83\xb9\xc0\xfa\x4c\xda\x07\x07\x14\x99\x0d\x5e\xf5\x59\x5e\x19\x26\x59\xb8\x2c\x04\x94\x37\x98\x24\x75\x30\x30\x97\x59\x29\xee\xca\x40\x1c\x44\x3d\x4d\x21\x57\xbe\x4c\xa8\x58\x9c\xc0\x54\xb5\xd0\xeb\x24\xc1\x27\x5e\xc6\x8d\x24\x2b\x45\x46\xea\xc4\xb9\xb0\x29\xc3\xed\xe3\x2d\xce\xb1\xa3\xac\x7c\x4d\xf0\x45\xee\x0a\x71\xc8\xa5\x45\x56\x96\xd1\x0c\x1e\x81\x92\x68\x09\x82\xde\x5c\x18\x99\x3d\x86\x1d\x28\x64\x75\xb5\x34\xba\x42\xb3\x2a\x7a\xe9\x63\xec\x4c\x16\x96\x45\xf5\x94\x88\xaf\xd6\xb5\x6b\xf4\x01\x89\xba\x26\xf2\xaa\x87\x64\x5e\xe2\x3b\xc3\xe9\x50\xea\xe0\x8e\x6e\xd6\x71\x7b\x53\x22\x26\x19\xf9\xc8\xe4\x96\x46\xa3\x12\xb3\x5d\x56\x30\x27\x31\xde\xcf\xde\x5e\x6b\x7b\x05\xd4\xa7\x45\xa2\xdf\xf4\x54\x18\xdd\xc1\x01\xaf\x4d\x56\x6f\x82\x7b\xd3\x1a\xb4\x35\xb4\x18\xe2\x5e\x19\xc9\xe8\x40\x23\xa0\x26\x38\x43\x3f\x27\x30\xd9\x20\xca\xcc\x87\x6a\x1b\x12\x93\xce\x18\xdb\x6a\x11\x41\xc4\x0c\xf3\xce\x13\x6c\x10\xc3\x16\xbe\xdd\x0e\xa6\x0d\x50\x7e\xd0\x7a\x93\x92\xa3\x86\x14\xf7\x9c\xd1\x00\x1d\xda\xd2\x0d\xeb\x6d\x37\xab\xae\x3b\x0c\x6b\x94\x0f\xbf\xe1\x0a\xdf\x5f\xeb\x7b\xb7\x0b\xdf\x35\x52\x7d\xcb\xa2\x3b\x5d\x76\x68\x6b\xbf\xbf\xfe\xd0\x4c\x41\x4c\xa4\x06\x7c\xda\xe8\xbc\xa0\x46\xdd\xc0\xb1\xca\x5b\x44\x03\xa3\xc7\x37\xdb\x5f\x0b\x64\x65\xa4\x36\x47\xe0\x38\xcb\xe4\x96\xcc\xf1\x95\xad\x76\x62\x51\xab\xfd\xb7\x2a\x29\x84\x62\x4a\xae\x04\xbb\x4e\xb2\x58\x77\x02\x9f\xb7\x6e\x93\x98\x74\x66\xa4\x09\x4f\xd0\xa4\x20\x4f\x39\xa6\x26\x88\xfd\xe7\x05\x78\xea\x5d\x90\x66\x18\xcc\xb6\x99\x2a\xf5\x55\x4e\xdb\xd4\x4a\xcd\x40\xf8\xc3\x6a\xb4\xf9\xba\x2b\x0e\x0a\xa0\x44\x83\x46\x33\x8a\x69\x4a\xfa\x21\x93\x5f\x0d\xa0\x01\x2b\xe2\xd9\xda\x7b\xc0\xf4\x94\x1a\xf8\xe6\x0c\xc7\xcb\x8d\x6b\x13\x9c\x20\x9a\xc5\x89\x8a\x78\x01\xcf\x67\x59\x4c\x6a\x4a\x99\x39\x34\x24\xaa\xaf\x71\xc0\x9c\xd3\x42\xac\x08\xfd\x03\xab\x9c\x69\x86\x1a\x2a\x26\xe8\xad\x4e\x56\x25\xfc\x6d\x36\xa4\x65\xf1\xa8\x0d\x99\x0b\x96\xc4\x62\x95\xcb\x52\x64\x78\x57\x7b\x24\xad\xaf\x0f\xc1\x5a\x56\x1d\x7c\xe7\xd3\xc3\x9e\xbc\x79\xc5\x32\x19\x53\x3a\x23\x16\xcb\xa8\x5a\x41\xd0\xfe\x95\x96\xda\x55\x55\x00\xc8\x16\x49\x81\x36\x35\xc8\x6c\xa3\x84\x2d\xd6\x1d\x48\x9c\x56\xda\xc7\xa3\x12\xf4\x3c\x8c\xc8\x19\x5c\x75\x7d\x63\x21\x57\x2e\xc5\x8a\x15\x1c\xa4\xf0\x72\xc9\x33\x44\x96\x0a\xfd\x16\x56\x61\x02\x23\xdd\x67\x24\xab\xac\xa4\xbd\x4e\x0a\xdc\x53\xcf\x0e\x8e\xc4\x87\xbc\x90\x73\x3e\xc7\x6c\xd8\xa9\x58\xe8\xf5\x2f\x35\xce\x81\x4d\x96\xde\x3e\xe2\x3f\xfc\xc4\x4f\x1a\xb8\x2e\x06\x9a\x23\x14\x7c\xae\xc5\x7c\xb7\x2b\xb1\xb3\x2e\xf1\xc9\xda\x1f\x21\x89\x8f\x22\x24\x2d\xf7\xca\xa3\x0f\x7a\x0c\xcf\xae\x5b\x88\x1e\x70\xe8\xff\x85\xa7\xdc\x1f\xf9\x71\x67\x1c\x38\x02\xf2\xbd\xa8\xc8\xd0\x04\x33\x55\x71\x36\xaf\xb2\x68\xa9\xbb\x9d\xcb\x24\x15\x45\x9e\x72\x63\x7a\x32\x2c\x05\x2f\x62\x79\x9b\x91\x2d\x5e\x86\xa7\x29\x51\x96\x71\x30\x5b\xae\xfe\x84\x3d\x6f\x37\x6f\xfa\x6c\x9e\xfd\x28\xd1\x8d\xfe\x35\xb0\xc3\x11\xac\xca\x23\xb9\x82\x54\xd1\x74\x9d\x59\x6e\xfa\x4f\xc3\xa6\x07\xf5\xe6\xbf\x09\xb1\xa4\x2a\x71\x7f\x35\xfc\xb7\xf4\x06\xfc\xff\xc8\xf5\x7f\x32\x72\x49\x55\x3e\x1a\xbb\x70\x78\x56\x88\xbc\x10\x4a\x5f\xa6\x90\x30\xd0\xb7\x07\x4c\x42\x11\x65\xd0\xc8\x4b\x68\xae\x4f\xd0\xf1\x17\xa5\xb5\xfc\xbb\x4f\x2b\x63\x85\x07\x80\x85\x7f\xc5\x88\x1b\x51\x58\xf3\x6c\xfb\x1a\x08\xf7\xf5\x7c\xcd\x96\x3c\x6b\x88\xc9\xad\x03\x91\x16\x76\x06\x86\x9f\x97\x21\x5b\x82\xd6\xa0\x8e\xc5\x6d\xf0\xb1\x83\x07\xa5\x70\xb4\xf6\x76\xb2\x78\xe2\x3d\x3f\xf4\xe1\x9e\x44\x7b\x56\x92\xe0\xfc\xdd\xa7\x49\x18\xad\x41\xd3\xfe\xaa\x1d\xd7\xfa\xb4\x55\xbd\xcf\x81\x8e\x23\xf0\xf3\x7c\xe2\x2c\xf5\xc8\x2c\x3e\xb4\x35\x84\xdb\x96\x59\x79\x8f\x5e\x64\x38\xfb\xc1\x58\x46\x10\xc7\x02\xc6\x82\x6e\xd6\x35\x9c\x6c\x0a\xdf\x8d\x73\xd3\x44\xd2\xba\x82\xc0\xed\xce\x46\xed\x0d\xf0\xde\x80\xa6\x8c\x48\xd9\x3d\x7b\x18\xbe\x4a\x83\x43\xe5\x57\xc3\x27\xbe\x9e\x1b\x51\xe1\xc8\xc3\x0b\x8c\xc2\xea\x0f\xb0\x61\x5b\x5b\x76\xb4\x65\x2b\xfd\x11\x2d\xb2\x1c\x85\x2a\xad\x60\x34\xca\x70\xd9\x32\xdc\x6f\x19\xca\xe8\xae\x82\xa5\x79\x2a\xfa\x67\xac\xf3\xde\x57\xad\xe9\x82\x0f\x1d\x13\x81\xb6\xee\x26\x0c\x66\x3d\x01\xd6\x0c\xfc\x35\xf9\x06\x76\xfe\xdf\x81\x8e\xe3\x14\x4c\x91\x45\x78\x9e\x7c\x45\x43\x64\x83\xf5\x36\xd5\x6b\x35\x5c\xec\xfb\x64\x85\xb7\xd9\x27\x90\x5d\x64\x0b\xa7\xaa\x97\x92\x94\x8f\x25\x1b\x8f\x26\xe9\x9b\x35\xa7\xfa\x77\xdf\x97\x23\x34\x57\xc5\xde\xc8\xc2\xcc\xfa\x1b\xeb\x3d\x40\x9d\x96\x66\xfe\xf3\x3c\x4d\x9c\x7d\x56\xce\x21\x78\xc0\xfd\x4a\xfc\x41\xf8\xe8\x63\x77\x68\xa0\x3b\x5b\xd3\xa8\x88\x0f\x7d\x2f\x89\x78\xcb\xbf\xf7\xe6\x92\xa0\x36\x64\x56\x3a\x88\xee\xc8\x3b\xcd\xfa\x3c\xdf\xf9\xd9\xfb\xc4\x9d\xdd\xad\x16\x85\x1d\x82\x15\x8a\x8c\xe9\xaa\x49\xe4\xe7\x19\xbd\xb8\x47\x4e\x63\xe4\x05\x04\xa3\xe0\x09\x50\x28\x2f\x38\x32\x6a\x6d\xc5\x9d\x9f\x26\x59\xdc\x0d\x54\x69\x9d\x62\xea\xa5\xfe\xec\xc0\x15\x29\x4c\x84\x1c\x0c\x6b\xda\x90\x19\xdf\xcf\x59\xa7\xd7\xbb\x27\x03\x72\x6b\xdb\x5e\xcd\x6b\x3b\x58\x9f\x79\xdf\xd4\xcb\xfb\x68\x36\xe7\x6c\x7a\xfe\xf2\xf4\xa4\xcf\x16\x3c\x55\xa2\x19\xbd\xf8\x47\x62\x92\xa2\xa5\x94\x4a\xd4\x8c\xfb\xd1\x05\xa4\xca\x50\x5c\xf3\x65\x74\x95\x26\x57\xcb\x32\x5d\xb3\x95\x84\xb4\xc0\xd9\x8d\xc8\x12\x91\x95\xcd\x8b\x15\x6f\x6c\x25\x36\xda\x00\x6d\x30\xc6\xee\xf6\x1e\x38\x54\x9f\xfd\x87\x47\x4b\xc2\xad\xf3\x4a\x8b\x16\xd7\xdc\x39\xe6\x54\x6f\x60\x95\xa6\xf6\x52\x0a\xec\xe1\xc1\xd9\xc4\x9c\x51\x65\xae\x3a\x8f\xd7\xf4\x6e\x48\x0d\xc4\xfb\x95\x95\xb2\x00\x23\x86\x9b\x24\xae\x78\xea\x19\x08\x6d\x3e\xfc\x35\x03\xf5\xd6\x07\xda\xe0\x0a\xf0\x40\x50\x77\x4b\xb0\x5a\xb4\xe6\xcd\xe2\xe5\xfd\xf7\xdf\x75\xfd\xce\x2f\x96\xb2\x28\xa3\xca\xd9\x97\x86\xbd\x77\x14\xd9\xdf\xf9\x5d\xa3\xaf\x83\xd7\xa5\x2e\x69\x5e\x5b\xd6\x3e\x9e\xb6\xe0\x71\xe6\xff\xa1\x03\x02\xf6\xb6\x94\xb7\x56\x5e\x00\x03\x70\x30\x14\xb3\x8e\x07\x1b\x3c\x0e\xe8\x25\x34\x9c\x7b\x74\xc7\x8e\x34\x62\x7c\xfa\x64\x1c\x7b\xc3\x8b\x9d\xde\x43\x3d\x17\x08\xd0\x96\x88\x0c\xf4\x19\x60\x24\xb0\xe0\x49\x5a\x15\x8d\x9e\x4d\xb1\xcb\x93\xf7\xa8\x9e\x11\x23\x6b\x7d\xe5\xc1\x73\x69\x1d\xae\x90\xb9\xd9\x07\xb0\x2a\x79\x01\xc6\xf2\xb2\x60\x59\xa5\x6f\xb3\x05\x59\xd3\x64\x9d\x12\xc3\x75\x50\x15\xb6\x86\xec\xa1\x01\xd3\xa3\xbf\x9c\x70\xb0\x27\xd0\x8d\x37\x0c\x98\x64\x6c\x95\xa4\x69\xa2\x44\x24\xb3\x58\x59\x25\x92\x9b\x45\x29\xe5\xb5\x6f\x9a\xe1\x4f\x07\x3b\x73\x73\xb2\xe1\x89\x5a\x26\x14\x57\x05\x8a\x9e\x9b\xe6\xe3\xd9\x75\x87\x57\x6f\x00\x80\x60\x6e\x34\x2c\x41\x01\xbb\xd2\x23\x33\x76\x9e\x39\xaf\xcd\x58\x94\xfa\x02\x07\x61\xd2\x6c\xa7\x93\x54\x81\x57\x48\x05\x24\xd8\xb6\xe1\x51\x4a\x70\x56\x63\xf0\x16\xe1\x7c\x3c\x02\x8c\xc3\xd0\x3e\xc4\xaf\xb4\xad\xe9\x75\xb5\x9a\xa3\x68\xb9\xe2\x77\xc9\xaa\x5a\x39\x14\x63\xe1\x49\x72\x16\x59\xb7\xe6\x15\x81\x65\xd8\x3a\xa1\xb3\x52\x08\x1e\x2d\xf1\x88\x2c\xd8\x48\x03\xc4\xf9\x52\x38\x45\xa8\xb9\x1a\x94\x20\x37\x3f\x52\xa8\x2a\x3d\x4c\x9f\x89\x1b\x91\xd1\x96\x2d\x50\x8c\xd7\x33\xaa\x2d\x6c\xc5\xef\xce\x1c\xce\x8f\x6a\xfb\x54\x54\x02\x77\xc1\xf3\x1c\x62\xf8\x6c\x24\x78\x91\xae\xd9\x5c\x44\xbc\x42\xf7\x4c\x9e\xb1\x2a\x13\x77\x39\x4e\x45\xe3\x57\xd2\xc2\x9d\xe7\x3c\x4b\x22\x4d\x36\xf5\xed\x67\xf8\x52\x63\xc0\x60\xcc\x6f\x03\xea\xeb\x28\x21\x18\xd6\xdb\x14\x96\xde\x9d\x09\x84\x1f\x5f\x1e\x88\xfc\x3b\x97\x29\x04\x4e\xb7\x87\x72\x92\x6f\x9e\xe4\x54\xd0\xc8\x47\xea\x9e\xe0\x0d\x07\xa1\x79\x2f\xe1\xf7\x2e\xc9\xe9\xcb\x97\x1f\x2f\x4f\x2f\x2e\x2f\xe8\xe5\xfa\x02\x44\xc8\x6e\xe7\x6b\x9e\xa6\xa0\x2c\x51\xdf\x74\x7a\x75\x7b\x09\x5f\xe6\xf6\xc9\xe7\x46\xb9\xbf\x39\x2e\xce\xb3\xed\x2d\xd6\xf3\x6b\x70\x60\x6b\x58\x0b\x3c\x76\x84\x86\x99\x12\x86\xc7\xf2\x44\x3a\x99\x97\x1f\x73\x5e\x96\xa2\xc8\x5c\xd4\x05\x2a\x20\xdf\x1c\xf3\xd7\xa7\x4f\x38\x2f\x0b\x34\x93\x60\x02\xc7\x9a\x81\xbe\x19\xf0\xd0\x59\x04\xd0\xeb\xab\x27\xef\x78\xcf\xb2\x64\xf4\x6d\x5f\x74\x7e\x45\x43\xcf\x5f\xd9\xd7\xb6\xad\x75\x90\xfe\xd5\x39\x48\x7b\xd6\x06\xa6\xda\xfb\x5f\x29\x88\xd0\x70\xc8\x5e\x4b\x83\x24\xb7\xa2\x53\x68\x6e\x42\xa3\xe5\xd3\x2f\x8e\x8e\x9e\xfa\xea\x73\x5d\xf2\x94\x29\xe9\x57\x5d\x69\xae\x19\xf4\x0c\xd8\x95\xde\x5a\x87\x22\x88\x1c\x96\xd2\xf9\x7d\xd9\x57\xaf\xac\x54\x46\xad\xe2\x72\x7f\x20\x97\x6b\xc0\xf8\xc5\xd1\x51\x0d\x8e\x21\x37\x6c\xea\x79\xcc\xf0\x0f\xe2\xea\xf4\x2e\xf7\xb9\x61\x30\x4f\xa7\x9a\x80\x28\x80\x1d\x56\x9a\xed\xf5\x3c\x01\x42\x4f\x2c\xc9\xbc\x18\x45\xc8\x1e\x1b\x23\x10\x27\x02\x7f\x71\xc4\x02\x54\xd8\xd0\xdc\x67\x96\xe9\x9d\xd6\x60\xb3\xc1\x51\xc0\x32\x87\x15\xcf\x9e\xd5\x73\x79\x7b\x1f\x6b\xaf\xee\x29\x3e\xd7\x64\xc0\xd5\x01\x43\x8c\xe7\xbc\x94\xec\x0a\x21\x6e\xfc\x3e\xc8\x23\xd1\x35\x33\x62\xb8\xe2\x64\xc0\x4c\xed\xf5\x0e\x49\xf0\x99\x06\xdf\x6a\x79\xbb\xc9\x82\xe3\x13\x02\xfa\xb3\x3d\x00\x6f\xe9\x67\x15\x10\xa4\xc0\x59\x17\xc8\xfc\x3d\x94\xa5\xef\xd1\x2a\x5e\x84\x24\xca\x34\x37\xce\x46\x7d\xf4\x2f\xb3\x14\x05\x39\x9f\x3b\x1e\x81\x70\xa0\x91\x53\xc0\x15\xd1\xde\x07\x4e\xde\xf4\x01\x03\x1a\x84\x86\x2e\xf1\xbb\xf3\x51\xb3\x30\x30\xb6\x28\x49\x46\xa6\x27\x99\xbd\x0f\x79\x8c\x37\x01\x37\x4b\x80\x29\x81\xd6\x0f\xb9\x1a\x61\xbd\xd4\x9d\xe9\x26\x5c\x39\x9e\x5c\xf0\x78\x8a\xf8\xd6\x12\x1e\x4b\xb1\x1a\xc4\xa9\x41\x6d\x36\x84\x57\x78\xd0\x42\xaf\x25\xf6\x82\xdf\xf7\xb3\x23\x1f\xbb\xd1\x59\xe0\xa1\x3e\xdf\x27\x1f\x1e\x10\xdd\xe9\x9f\x59\x55\x10\xd0\xe1\x0b\x6f\xf8\xc0\x46\x34\x70\xaa\x7a\x2d\xfd\xcd\x15\x31\x4d\x1a\x8c\x4d\x8b\xa4\x14\x45\xc2\x51\xf4\x6e\x8c\xf1\xc0\xd9\xfb\x4e\xca\x6b\x11\x93\x50\x40\x19\x9f\x64\x26\x8a\x42\x16\xc6\x0d\xd9\xf3\xb9\x4d\x3c\xb6\x0d\xb5\x0d\x56\xf2\x47\xc7\x0c\x20\xab\xa0\xe3\x71\x96\x13\x57\x92\x55\x59\xc4\xab\xab\xe5\x3d\x8a\x99\x10\x31\x64\xf6\x23\xb5\x38\x35\xfd\x7f\x6c\xdc\x68\xe4\xef\xd3\x87\x48\x06\x7d\x70\x87\xd2\x00\x24\xb8\x1a\x6f\x20\x13\x5c\xb4\x63\x7a\x7c\x8c\x0e\xa4\xd3\x63\x47\x47\x6c\xc4\x3e\x7d\xa2\x8d\x6d\xf4\xa6\x4a\x5e\x56\xea\x90\xf8\x96\x4e\x8f\x22\x95\x7a\x6a\x23\xe2\x5f\x79\x68\x20\xae\x09\x1c\x15\x68\xe6\xae\xdb\x23\x9d\x5e\x21\x57\x8c\xbb\xa0\xab\x8c\xbd\xd3\x97\x93\xe9\xcc\x3c\x15\x5f\x49\xf2\xd4\x8a\x05\x4f\x51\x2c\x4f\xca\xba\x6a\x3f\x54\x62\xe0\x00\xee\x72\xe3\x56\x6f\x93\x94\x30\x0c\x70\x60\x8a\x2f\xb4\x6c\xa8\xfe\x56\x89\x34\x22\x8b\x2d\x44\x02\xe7\x55\xc5\x9c\x05\x55\x81\x37\x83\x43\xe2\x26\xcf\xdd\xf0\x9c\xf2\x36\x05\xa2\xfc\xd9\xfd\x00\xf5\x67\xa3\xfd\xc0\x70\xa6\xa7\x7a\x1a\xaf\xb0\xe1\xc7\x5e\xa8\x97\x23\x91\x6e\xc5\xd7\x60\xb1\x0e\x31\x60\xf4\xe2\x90\xb7\x5d\xf2\x2c\x4e\x35\xe7\x6b\x5f\x99\x6a\x90\x32\x0a\x54\x37\x4f\x5a\x93\xa6\x2a\xc0\xeb\x1f\xb1\x0e\x9e\x82\x8e\x0b\x89\xd9\x9c\x2a\x22\x83\xcd\x29\x16\x7e\x7c\x7b\xfa\xfa\xe4\xfc\xf5\x5f\x10\x1e\xa6\x53\xf0\x14\xee\x04\x1e\x65\xee\xb0\x5b\xc8\xb8\x89\x6b\x18\x41\xdb\x67\xac\xe3\xb8\x6d\x38\xf2\x6d\xa4\xa7\x65\x1a\x75\x4b\xca\x96\x81\xcd\xee\x3c\x63\x9d\x3e\x8c\x08\x21\x42\x9e\xb1\xce\xa1\xfe\x03\xce\x97\x9b\x71\xd8\x7b\x88\x73\x2d\x15\xea\x4a\x34\x47\x99\x48\xb0\x68\x3a\xfc\x6b\x82\x64\xe5\x2d\x5f\xa6\x0c\xc3\xec\xd6\xed\x09\xc9\xd1\x14\xa2\x19\x6f\x15\x55\xa6\x58\x52\x82\x93\x08\x0f\xa2\xfd\xf4\x03\x62\x96\x8a\xd2\xbc\xa9\x9c\xbc\x79\xa5\x25\xd6\x79\x92\x26\x7f\x47\xc5\x88\x5a\xca\xa2\xdc\x2a\x45\xb1\x02\xa1\x5c\x56\x65\xe0\x0c\x61\xbc\x9c\x62\x11\xa5\xbc\xf0\xde\x94\x3c\x55\x8c\x73\x9b\xf0\x19\x90\xb9\x94\xa9\xe0\x19\xfa\xf2\xab\xeb\x24\x27\x97\x0e\x30\x05\x29\x2a\x41\x9e\x41\x54\xa8\x79\x80\xeb\x24\xcf\xc9\x52\xa6\xfe\x70\x05\xf4\xd9\x83\x4d\xe0\x02\x4a\xba\x36\xd2\xbf\x03\xb3\x60\xde\x77\x81\xf4\x68\x52\x92\x84\x26\x63\xf7\xc7\x3e\x68\xa3\xd9\xb5\x18\x08\x4d\x8a\x5d\x5b\xa6\xe7\x74\xd9\xfa\xc5\x3d\x81\x24\x86\x17\x81\xa3\x0e\x9c\x08\xd8\xad\x80\x13\xec\x95\x28\x30\xea\x8b\xf5\x88\x19\x0c\x06\x7d\x36\xea\x81\x62\x62\xc5\xd7\x73\x4b\x47\x73\xb8\xec\x48\x85\xa2\x37\x1a\x9e\x4f\x6f\xf9\xda\xf3\xb8\x2c\x8b\xe4\x0a\xf4\x9f\x20\x8f\x97\x64\xc8\x23\x4c\x2b\x91\xc5\xa6\x37\x1b\xe2\xa8\x04\xef\x1b\x25\xd9\xad\x80\x64\x80\xe8\xd8\xac\x28\x1e\x37\x3e\xb2\x2b\x51\x96\xa9\x60\xf0\x46\x4e\x08\x23\xab\xc2\x74\x85\x2b\x8c\x34\x36\x54\x39\xd8\x50\x86\x3e\x3e\x18\x20\xae\x01\xe1\x30\x1c\x62\x1f\x90\x86\x38\xf1\x1a\x45\xab\xeb\x78\xba\x5a\xf2\x3d\xe1\xa5\xe8\xf6\x7a\x6c\xab\xa6\x93\xaa\xd1\x25\xe3\x8a\xdf\x6d\x27\x1b\x9d\xcf\x8e\x84\xe7\x3e\x97\x05\xc4\x0a\x2f\xc8\xfe\xbd\x94\xca\x2a\x5e\xbc\x76\x68\x86\xa4\xdb\xdd\xd3\x70\xa5\x2e\xe5\x05\xaa\xc6\x88\xea\x98\x25\xf6\x36\xcc\xb5\xe3\x91\x30\x55\xad\x56\xbc\x48\xfe\x2e\x48\x26\xad\xb1\x3f\x9e\xd2\xa8\xae\xdb\x6d\x6e\x05\x6e\xc2\x3d\x49\x2f\x37\xbc\xa4\x19\x63\x38\x2f\xb8\x49\x23\x6c\xc9\xef\x7e\x13\x43\x7b\x5e\x4d\x31\x7f\xad\x54\xe9\x1e\x8c\x1b\x41\xca\x1f\x3a\xd9\x38\x52\x5b\x70\x93\xf6\x67\x33\xff\x59\xcb\x59\x3c\x74\x37\xbd\x53\xb5\x5d\x81\x56\x31\xe5\x25\xde\xcc\x98\xed\x6b\xe3\xd5\xc7\xbc\xa7\xa5\x6f\x99\xfd\xf5\x90\x89\x3b\xf3\x58\x14\xe8\xb5\x02\x5e\xe6\x71\x38\x6f\x30\xbe\x08\x6e\x7f\x73\x6b\x36\x27\xd5\x44\x55\x6a\xb9\x01\x59\x7d\xe7\x78\x4d\x1d\xc3\x71\x8e\x8e\x58\xf0\x30\x15\x00\xd1\x9e\x24\x50\x1e\xd1\xe6\x78\xab\xa6\x4b\xd9\xa8\x88\x10\xc1\x03\xed\xc0\xa6\xc1\xde\x4e\x2f\x2e\x6a\x83\xe5\x9e\xd3\x93\x37\x54\x33\xbe\x41\x6d\x6b\xaf\x33\x4d\x04\x09\x55\x0d\x23\xed\x01\x34\x60\x55\x80\xff\xd8\xbc\xd9\xc1\x74\x03\xd2\xf7\xd0\x36\x17\x55\xf6\x5a\xdc\x95\xc4\x25\xff\x53\x4e\xae\x3b\x6f\xc4\xb0\x3f\xf1\x34\xd4\x31\xb9\x44\x3a\xb7\x4a\xfa\x42\x77\xac\xff\x04\x5f\x29\x8c\x08\x42\xfa\x4f\x7d\xa5\x40\xdc\xb0\x79\x75\x75\xb5\x76\xa6\x99\xe6\x41\xc6\xd8\x73\xd2\x08\x20\xb4\x3d\xb1\xc1\x32\x98\xcc\x98\xb8\xd3\x72\x02\x72\x0d\x19\xe3\x57\x3c\xc9\x48\xe6\xc8\x42\x37\x5d\x3f\xed\x03\xbe\x55\xc2\x95\xcb\x53\x05\x2f\x79\x20\x5f\x70\x25\xdc\x43\x44\xca\x15\x84\x30\xf1\x79\x6a\xa8\x01\x7a\x66\x7d\x07\xea\x7b\x16\xf3\x52\xe8\x0e\x11\x46\x74\xc9\x92\xb5\x9a\xbd\x68\x21\xae\x93\x0d\xa2\x83\x6c\x0d\x46\x4b\xb0\xf6\xb1\x58\xf9\x09\x44\xaa\xd3\xec\x7d\xe1\xc0\x6a\x14\xf8\x20\x63\x69\x31\x40\xa1\x1c\x50\xe7\xa6\x9d\xc3\x35\xdc\xf8\xba\x2f\xf0\x50\x05\xbf\xf7\x72\x09\xae\x0e\xe4\x16\x6d\x04\xaf\x06\xc7\x79\x9e\x81\xd5\x33\x5a\x14\x15\x62\xcb\xec\xa5\x93\x97\xa7\x2f\xdf\x4d\xff\xed\x82\xad\xe4\x8d\x50\xe0\xf3\x6a\x5e\x3f\xcd\x2c\xf3\x24\x6d\x70\x84\x7f\x06\x89\x6f\xd8\x4a\xa5\xbc\x14\x17\x78\xbe\x31\xfe\x07\xfc\x1a\x3e\x2d\xf1\xb2\x14\xab\x9c\xa2\xd1\x14\x22\x92\x45\x1c\xbc\x00\xc3\xeb\x14\x2f\x36\x3b\x1f\x6d\xbe\x46\x7e\x10\x6d\x17\x89\x77\x6f\xf4\xbd\x19\x86\x11\xa4\x1c\x15\x79\xc9\x4b\x27\xe9\xda\x08\x5a\xbf\x93\x8c\x78\xc3\x99\x17\x8e\x19\xb9\x27\xc3\x2e\xa7\xde\x60\x20\x46\x9a\x3d\xc4\x37\x1b\x7c\xf8\x83\x70\x8b\xb1\xac\xe6\xa9\xd8\xca\x41\xcd\x0e\x66\xd7\xd8\x1d\x7d\x5e\x25\xaa\x52\x81\xbf\xb1\x46\x98\xe9\xdb\x73\x93\x2d\x1a\xf4\x0b\x36\x0c\x0c\xd2\x57\xa3\x73\xf0\x48\x2c\x24\x47\x81\xaa\xdf\x1c\xb1\x51\x1b\x51\x36\x91\xe7\x75\x25\x17\x7d\xfe\xfe\x3b\x22\x4c\xca\x8c\x46\x0b\x2c\x83\x67\x7c\x32\x35\xd4\x05\x7f\xab\x44\xb5\xc1\x41\xba\xb9\xe7\x3e\x91\x6d\x8f\xb7\xe2\x51\xe9\x4f\x9f\xd8\x17\xf5\x47\x10\xe4\x08\x7b\x0d\xba\xde\xe4\x85\xbd\x0b\xb3\xf1\x50\xf6\xe5\x97\xed\x8c\xe6\x37\x47\x8d\x47\xb5\xcd\x3c\xc9\xab\xf0\x99\x90\x6c\xed\xe9\xe5\xaf\x8f\x76\xab\x7e\xb0\xca\x41\xa7\xe5\x3e\x6a\x9f\x37\xdd\x4b\xc3\x21\x7b\x2b\xc4\xb5\x11\x35\x4a\x99\x63\x67\xe0\x48\x80\xca\x1a\x13\x39\x17\xdf\x4b\x0b\xcc\x59\x40\xf2\x04\x22\xd9\x5c\x56\x25\xf6\x85\x04\xb5\xef\xbd\x77\x50\x7c\xdd\x38\x51\x65\x55\xcc\x61\x90\x24\xb3\xa7\x88\xb8\x4f\xbd\x2a\x13\x18\x4a\x77\x43\xd4\x99\x7a\x40\x5f\x7e\x1c\xb0\xa8\x32\xb0\xee\x03\xeb\xe1\xe0\x89\x26\xdc\xc5\xf7\xa3\x0f\xf6\xd9\x88\x38\x8f\x96\x47\xda\x6f\xdb\x14\x0b\x58\xff\xd0\x63\xc5\x2d\x93\x89\xda\x53\xf8\xae\x31\xa7\x1b\x3a\x76\xd0\xa3\xbf\x67\x5d\xd8\xab\xc5\xdb\x0e\x36\xf7\xdc\x44\xb9\x01\x51\x52\xb7\xf1\x1c\x50\xdb\x2c\xf7\xac\x1d\x91\x59\x91\x09\xaf\xe3\xd5\xee\xd6\xe5\x86\xbe\x31\x87\xf0\x83\x7b\x37\xf9\x61\x8a\xa9\x50\x8b\x1d\x89\x8e\x35\xf4\x6a\x95\xc9\x12\x69\x8f\x55\x09\x6a\xc0\xd0\x15\xea\x6c\x6c\x36\xa0\xb2\xd5\xaa\x1a\x1d\x2f\x0c\x80\x2b\xfe\x7d\xec\x33\xbb\x1f\xbd\x9b\xf2\xa8\xdd\xc6\x3a\x6f\x7d\xd9\xee\xfc\x0b\x42\xe1\x3f\x3a\xfe\x1c\xa0\x91\x0d\x76\xd7\xed\x30\xd6\xe9\xf9\xf1\x11\x1a\x36\x00\x2d\x6e\xca\xf8\x91\x1c\x95\xd1\x0c\x8f\xf9\xef\x59\x64\xbd\x4d\x51\x8a\x9a\xdd\xfa\x3b\x1a\x9a\xfa\x11\x01\x53\xcb\x64\x51\xfe\x51\xc9\xc7\x04\x04\xd5\x18\x61\x26\xf3\x87\x25\xa0\x16\x39\xa7\x55\xba\x0f\x81\xfa\x4f\xde\xf8\xf0\xb4\x17\x55\xb6\x11\x54\xc3\x21\xf3\x6b\x19\x5d\x16\xd6\x03\xc8\xb8\xb7\x08\x64\x75\x29\xcd\xd3\x0a\x59\xaf\xc0\x80\xc8\xe5\x82\xb9\x92\x25\x38\x1f\x40\x5c\x92\x95\xe0\x18\xca\xb9\x80\x77\xc3\xb2\x80\xeb\xdc\xdc\x7c\x65\x3d\x78\xf4\xa6\xe3\xf5\xe0\x1e\x16\x55\xf6\x27\x08\xb0\x2d\xb7\xb7\x7d\xaa\xf3\x0d\xa1\xac\x62\xc1\x0b\xfa\x14\xa8\xd0\xab\xac\xa1\x2c\x55\x10\x26\x9a\x45\x3c\x03\xd7\x35\xa5\x2a\x32\x87\x42\xb5\xa3\x2f\xe8\x78\x5a\x5b\x6b\xbb\xec\x71\xf1\x99\x2a\x05\x8f\xfb\xa0\x18\x42\xfd\x9b\x6f\xe1\x8c\xae\x87\xc6\x04\x59\x2f\xdc\x1a\xfd\xdc\xaf\xfd\xb5\x9d\x80\x12\x2f\x95\x57\xe4\x42\x82\xcf\xc6\x35\x07\x12\xc6\x15\xba\xc3\x2d\x79\x9e\x6b\x06\x8e\x78\xf3\x27\x18\x09\xd1\xfa\xb6\x92\x04\xb8\xd9\x0e\x70\xc0\xd8\xf1\xda\x3a\xf1\x90\xcd\x12\xf9\x48\x9b\xc0\x06\x7d\x62\xd2\xc9\xd2\xe5\x26\x11\xb7\xc2\xc6\x34\x6f\x09\x89\x2c\x17\x68\x6b\x35\x2f\xe4\xad\x12\x85\xf2\xdd\x85\xa8\x8c\x9c\x35\x13\x05\xc6\x53\xc5\xca\x9f\x2c\x08\x64\xc6\x4e\x05\x03\x07\xbf\x13\xe8\x3d\x8e\x8f\xba\xe8\xf7\x47\x9c\x80\x44\x31\x06\x15\x8f\x96\x53\xa0\xad\xd6\x97\x69\x8e\xb1\xbe\xac\x1b\xe9\x22\x74\x11\xec\x33\x74\xcb\x4c\x05\xa7\xf8\x9f\x66\x8a\x28\x38\x2d\x40\x05\x9b\x19\x13\x4d\x34\x8e\xb0\xfe\x3f\xd6\x7a\x2f\xc9\x36\x44\x2f\x66\xb2\x68\x5e\x84\x7e\xbc\xdc\x27\x10\xab\x8e\x1c\xb6\x60\xef\xd1\xc0\xa9\x66\x24\x87\xec\xd9\x6f\x60\x5b\x37\xc4\x1d\x0d\xce\xf9\x0f\xc4\xff\x58\xf5\x67\x83\x71\xb5\xef\x35\x10\xd4\xb6\x53\x53\x26\xb5\xdd\x5d\x0d\x25\x24\x91\xd7\xe6\x83\xa8\xa7\xfc\x7d\xd1\x6a\x56\x68\x35\xbc\x2f\x1e\xa1\xf3\x38\x93\xc5\x8a\x97\xa1\xb5\x21\x57\x9a\xd6\x45\x64\x0b\x40\xa5\x8f\x85\xa1\xaf\xf0\xf2\x81\xb9\x52\xfe\xb3\x7e\xa4\xd8\x11\xeb\xae\x14\x1b\xb2\xf1\x68\x34\xea\x0d\x4a\x79\x96\xdc\x89\xb8\x3b\x81\x59\xdb\xd7\xeb\x08\x14\x6c\x2a\x8c\xa4\xf8\x92\x4e\xb9\xc9\xe3\x67\x54\x4a\xa0\xd7\x5d\x3f\xda\x0a\xc1\xa8\x81\xef\x11\x50\x6a\x82\xc3\x83\x09\x5f\x6a\xf5\xdb\xd2\xbd\x04\x98\x84\xaa\xbc\x43\x87\x49\xa6\x83\xf7\xc9\x87\x96\xa7\x3b\x2f\x8f\x98\x9d\x62\x53\x68\xda\xc8\x63\x5c\xba\xf7\x7c\x43\x4c\x0f\xef\x45\xe2\xf6\x7b\xca\x61\x36\x78\x15\x43\xd4\x2f\x2b\xf6\x84\xd7\x11\x2a\x10\x88\x0a\x1b\x0d\xc6\x22\xb4\xab\x6b\xf1\x5d\x33\x76\xf0\x22\x6e\x1a\x23\xf4\x81\x4a\x21\x17\xe0\x27\x0d\x01\x17\x6c\x8a\x16\x2b\x29\x3e\x86\xe7\x74\x39\x75\x46\x56\xf6\x01\x07\xdd\x95\x9c\xcf\x55\x02\x14\x43\x0b\x76\x24\x7f\x99\xa7\x30\x50\xb8\x51\x76\x0a\xf6\x95\xf3\x8f\x8c\x63\x2f\x26\xb4\x67\x1d\x08\xd4\xdf\x29\x50\x68\xf2\x2e\x26\x1a\xf9\x67\x53\x04\x0a\xd0\xbb\x98\xd8\x80\x14\x36\xd2\xc6\xef\xb4\x8c\xc4\x56\x5e\x48\xb9\x60\xb7\x85\xbe\xba\xc8\x34\xde\x68\xed\x40\x95\x45\x93\x7d\xf0\xf9\x80\x4e\x02\x7a\x01\x68\x86\x41\x5f\x30\xc6\x4e\xde\x79\x9b\x85\x6e\x00\xc1\x13\xa1\x4b\x46\x70\xaf\xbb\x1f\x79\xfb\x41\xff\xa8\x79\x0e\x3c\xc3\x8c\x2a\x0e\x0d\x1e\x8c\x02\x2b\x75\xc6\x5d\x76\x24\x63\xfd\x75\xef\x92\x70\x3d\xce\x82\x17\xe5\xa5\xfb\x3b\x6c\x92\x09\x2b\x34\xd4\xc3\xb8\x87\x52\x42\xd3\x67\xe0\x21\x00\xd6\x20\x57\x77\x1e\x40\x1f\x05\xfa\xad\x69\x84\xfd\x00\xf8\xee\x5f\x66\xc3\xe9\xce\x18\x69\x6e\xf0\x22\xf8\x8d\x5d\x7a\xe6\x99\x1b\xac\xd9\x6f\x85\xb5\x88\x87\xf7\xf3\x34\xb5\x81\x44\x8d\xe6\xcf\x33\x25\xbf\x15\x70\xa6\x3d\x0b\xf2\x3f\xc3\x86\xfe\x5f\x66\x3f\x6f\x2e\x29\x52\xb7\x06\x8e\xa9\xad\xe8\x60\x9e\x60\xf0\x2f\x32\x23\x31\xfa\xc9\x69\x16\xda\xe7\xd4\x56\x05\x1a\x78\x08\x1c\x49\x72\x48\x29\xd9\x95\xc8\x44\xc1\xc1\x0a\x01\xbb\x6c\xb5\xb0\xb1\xf3\xf7\x23\x4e\x4b\x8a\x03\x42\x79\xee\x8c\x07\x22\x4d\xf1\xbe\x13\xe4\xdd\xb3\xb4\x02\x76\xc4\x3a\x64\x37\xde\x79\xf1\x70\x2b\xbc\x19\x99\x6e\x85\xbf\x3e\xa6\x11\x3e\x56\x41\x23\x32\xd0\xf2\xfd\x1f\x8d\x44\x06\xe1\xce\xb2\xf6\xb7\x57\xd6\x05\xf9\x44\x16\xc0\xa3\xf6\x80\x8a\x8b\x0c\x22\x7b\x64\x12\x4d\x4c\xe5\xc2\xc4\x23\x41\xf5\xa8\xda\x6c\x0c\xde\x62\x62\xb6\xf1\x11\x15\xf8\x34\x43\x7d\xf0\x97\x76\xfb\xef\x96\x4e\x3d\x10\x94\x92\x4c\x97\x37\x85\xc1\xea\x3c\xa2\x3f\x8f\x2b\x68\x57\xaa\x13\x63\xd0\xe9\x07\xef\x78\x7e\x03\x2c\xf7\xd3\xaf\x5c\xe8\x63\xeb\xbd\x34\xdc\x4b\x1f\x1f\x83\x58\xad\xdc\x7a\x23\x36\xec\x23\x59\x64\x58\x60\x41\x09\x49\x6a\x2a\x65\xf7\x28\xea\x1f\x49\xf6\xe5\x97\x46\x6f\x8d\xd6\x1a\xb5\x08\xf0\x01\xd7\x15\x27\x31\x85\x47\xc5\x50\xdb\xe4\x05\xc1\xb3\xd8\xfb\x04\x31\xe0\xc8\x8e\x39\x59\x89\x41\xa0\xf5\x6a\x31\xb5\x7a\xc8\x43\xd1\x59\xc2\xd5\x48\x86\xa1\x3f\x48\x09\x54\x8d\x4a\x78\xa6\x55\x14\x24\x07\x53\x19\xf1\xa8\xb4\x41\xe3\x9d\xc1\xa7\x66\x47\xe0\x05\x63\x83\x5c\x0b\x89\x6f\x56\x49\x56\x61\xf4\x09\xdf\xfe\xcf\xa5\x85\x78\xe2\xdf\x3f\x40\xc4\x20\xa0\xec\x57\x99\x2c\xbf\x62\xbc\x2a\xe5\x8a\x97\x64\xdd\x05\x0c\x14\x79\x1c\x85\xeb\x4a\x6c\x80\x3c\xcf\x81\xec\x91\xb8\x84\x90\xf0\x29\xe2\xe6\x24\x1a\x9b\xe8\x27\x04\xed\xf7\x45\x2b\x1b\x17\xb6\x99\xc9\x46\xef\xaf\x32\x71\x6e\x1f\x31\x3f\x99\x91\x49\x50\xcb\x73\x4a\x80\x83\xfe\x3d\x54\x47\xe0\x2f\x42\x04\x6e\x0f\x72\x1f\xe2\xad\x8b\xc7\xeb\x09\xb1\x8f\x40\x45\x0f\x0c\x61\xac\x61\xee\xed\x31\x46\x1b\xb6\xf8\x5e\x8f\x34\xac\x1b\x1f\xe3\x8b\x83\xdf\x8a\x74\x4a\xa0\xb7\xc3\xcc\xcd\x10\x71\x98\x7b\xfc\xb5\xc7\x55\xf8\xa7\x0a\xe8\x36\x0d\x14\x4b\xa6\x64\x90\xdc\xa3\x7c\x20\x8e\x31\xce\xc4\x58\xe6\xe9\xb3\x03\x71\x57\x12\xf7\x9a\x0c\xa9\x13\x75\x33\x8c\xbb\xc1\xad\x09\x1f\x49\x75\x98\x48\x19\x9f\x15\x6d\xc7\xca\x46\xbc\xca\x64\x69\x15\x44\x56\x30\x00\x51\x62\x5e\x91\x91\x1a\x28\xe1\x4c\x1c\x76\x63\x20\xe7\xe4\x2a\xdf\x11\x1e\x8e\x54\x68\x2b\x0b\x26\xc7\x5e\x18\xe5\x9a\xcb\x84\x8d\x31\x83\x32\x15\x67\x0b\x71\xcb\x52\xbe\x16\x05\xa8\xb6\x64\x68\x4a\xc9\xa6\x6f\xcf\x81\x70\x48\x13\x27\xd0\x97\xcc\x28\x03\x11\x66\xf0\x88\x04\xcb\x45\x81\x5d\x59\x69\x82\x67\x4c\xa8\x32\x59\x91\x76\x69\x29\x6f\x59\x2a\xb3\x2b\x14\xbf\x6c\x00\x6f\x34\xcd\xd3\xa2\x5d\x0b\x72\x18\x71\x00\x7c\x19\x56\xca\x77\xed\xf3\x19\x3f\x1b\x5c\xf3\xb1\xf7\x8a\x07\xa1\x16\x05\x86\x93\xbc\x0d\xd9\x87\x73\x04\xce\x8a\x81\xdd\x9e\xfd\xee\xd9\x92\xb9\x53\xda\x62\xe5\x47\x1f\x03\xeb\xbe\x95\xaa\x67\xdc\xc9\x4d\x9c\x1c\xef\x65\x5a\x1a\x04\xde\x9c\xf4\xa3\xfe\xee\xef\xab\x46\x6d\x7c\xf6\x56\x0b\x55\x0c\x0f\x6b\xf3\x4c\xd1\x37\x6b\xa4\x92\x5d\x69\xca\x06\x96\x2d\x9a\x85\x76\x21\x4a\x4b\x49\x91\x65\x4b\x92\x8f\x2c\x0f\x64\x85\xda\x47\xee\x48\x40\x70\x42\xc2\xac\xd7\xd2\x77\xd3\xac\x6d\x51\xfb\xcd\x1d\xdc\xd3\x8f\x37\x8e\x64\xac\xce\xa1\x1b\x26\x27\x7c\x01\xfa\xa1\xca\x1a\xb6\x73\x4e\x5f\xd7\x34\x93\xaa\xb7\x71\x86\x12\xe6\x7d\xca\x59\x39\x59\xdd\x0f\x2f\xae\x20\xf6\x9c\x7d\xd3\xfe\x9a\x4d\xd8\xa7\x4f\x1e\x24\x68\x00\xbd\x01\x9b\x5f\xc0\x02\xb6\xaf\xc5\x98\x71\x0a\x7a\x09\x22\xdd\x19\xe5\x2c\x32\xb9\xe8\x95\xf5\x57\x12\x7f\x03\x4d\xaf\x24\x4e\x81\x84\x0f\xa8\x16\x30\x14\x95\xa2\xc4\x88\x1e\x9f\xd0\x39\x3a\x3a\xea\x30\x99\x6b\xf6\x03\x9c\xfb\x9d\x79\x36\x06\xa0\x82\x48\xdc\x91\x14\x45\xe4\x99\x4c\x91\x55\xd0\xc6\x9c\x0a\x7a\x76\x2b\x5e\x5c\x1b\x52\x6c\x5e\xef\x31\xd8\xa0\xbf\x6a\xf0\x27\xf5\xac\x0d\x15\x09\x08\xf5\xa3\xf4\xd5\x67\xb3\x7c\x88\x11\x80\xbf\xae\x04\xd7\xc2\x81\xb7\x56\xbf\xbe\x85\x84\x8b\xb8\x69\x8a\x5a\x2d\x74\xf4\xe6\x41\xe0\x99\x69\xa6\x7f\xc7\xf3\x06\x05\x46\xe5\x94\xc4\x22\x2b\x93\xc5\x3a\x30\xca\x71\x40\xf0\x5e\xac\x9a\xe9\xdd\xcc\x55\x65\x38\xba\x45\x92\x8a\xc3\x34\xc9\xac\xf6\xc5\x38\x92\x68\x76\xe5\x5e\xfd\x88\x77\x34\x4d\xfa\x84\x86\x4d\x0f\x02\xa8\x6f\x17\xdc\xb7\xab\x23\xed\xc9\x90\xfd\x58\x26\x69\x52\xae\x83\x87\xa0\xbc\x10\x65\xb9\x36\xf1\x37\x29\x1c\x82\x9f\x73\x66\xc5\x4b\xca\x67\xef\xd9\x03\xe8\xa9\xc8\x05\x81\xf8\xe8\x88\x75\xd0\xab\xad\x13\x06\x35\xc1\xef\x74\x5c\x41\x50\x28\x0b\x76\x64\x1c\x81\x4d\x92\x7c\xf3\x91\x17\x6b\x64\xea\xc0\xa8\xa6\xc4\xb8\x23\x83\x15\xcf\x6d\x02\x70\xd6\xd5\x93\x30\x9d\xd7\x52\x88\x8b\x1e\x26\x26\x60\xe6\xbc\xae\xad\xf5\x09\x1b\x3b\x9d\xb0\xcb\xa3\x40\xac\xf5\x92\x2b\x7d\x5e\x21\x51\x57\x1f\x35\x20\x7a\xe3\xe4\x62\xc1\xf4\x06\x97\x8a\x69\xe1\x15\x92\x40\xd1\xb3\x8d\xeb\x09\x2c\x41\x5c\xda\x57\x4d\x36\xc1\x03\xf0\x8a\x27\x99\x16\xb9\xc8\x00\x91\x46\x02\xb1\xcb\x0c\x35\x08\x21\xa5\x17\xcb\x9e\x41\xda\x62\x17\x74\x85\x54\xd0\x61\xc4\x15\x23\xd1\xb4\xd5\x0c\x08\x16\x1e\x98\xa3\xa3\x23\x8b\x12\x0d\x06\x54\x83\x3d\xc3\xa8\x49\xf6\x28\x7c\x4b\x91\x92\x6c\x01\x44\x4a\x62\x87\x90\x5e\xc9\x0f\x07\xd1\xed\x18\x5c\xd4\xd5\x33\xdf\xf8\x0b\x2b\x5d\x89\x12\x2c\x3c\x8b\x97\x32\xe2\x98\xc4\x69\xdc\x6b\x37\x10\x23\x3c\xc3\x39\x43\x1d\x70\xe5\x05\xe7\x18\xfc\x64\xd7\x70\x0f\xbd\x74\x74\xb2\x2c\xfe\x14\x42\x88\x01\x1a\x3c\x21\xcd\xdc\xcd\x38\xf0\x2f\x7a\xd8\x5f\x30\x4e\x16\x18\x0c\x81\xd5\xe5\xd3\xb2\xa8\x12\xb5\x7c\x1a\x92\xe7\x7f\x3d\x3d\xb5\x3c\xc6\x6f\xa2\xaa\xff\xe1\x49\x65\x90\x40\x9c\x68\x64\x48\x19\x6b\xa7\x05\x9c\x3b\xfe\x94\x93\xf2\xc7\xcf\x09\x91\x4e\x3a\x27\x75\x4e\xd5\x58\x62\x00\xf8\x20\x9d\x00\x90\x2d\x60\x56\x4d\xba\x21\xb4\x72\x00\xd3\x8a\xe6\x01\xe1\x2c\x4e\x8a\x72\xcd\x96\xe8\x1b\x79\x5e\x22\x2a\xa9\x20\xf6\x54\x1f\x6d\x41\x40\x14\xc3\x94\xba\xe2\x8e\xaf\x34\x4d\x33\x7a\x3a\x1c\xc3\xc6\x04\xb7\x7b\x17\x9a\x07\xb7\x4a\x15\x30\xb1\x73\x30\xb9\xbc\xb4\x3d\x41\x21\xbe\xef\xe8\x25\x0e\x18\x1b\x99\xe0\x9a\xf4\x09\xa8\x32\x3d\x69\x90\x57\x9b\x73\x55\xeb\xb3\x31\x04\x76\x2f\x29\xe6\x5a\x81\xb3\x56\x92\xd1\xa9\xb6\x4e\xda\x06\xd9\xa7\x86\x64\xd3\xd4\x91\x06\xb1\xa7\x01\x5c\xf1\xca\x7b\xfa\x48\x64\x6c\x6e\xb2\x8f\x98\x6e\xd9\x75\x17\x0f\xc7\x50\x82\xfa\x63\xa3\xd9\x8e\x46\x50\x04\xc6\x91\x35\x66\xf1\x2f\xd2\xf7\x1e\x64\x9f\xb1\xc9\x87\xfa\xbd\x8b\x18\x01\x6e\xcf\xdd\x61\xf7\xfd\x5f\x87\x1f\x9e\x1d\xfe\x1c\x3f\xeb\xe9\xff\x7e\xee\x7d\xfb\x9f\x87\xa1\x91\xa5\x6e\xf4\xad\xfe\xff\xfd\xf8\x83\xc6\xf8\x6f\xbf\xfd\xb6\xd3\x50\x88\xbd\xa3\x34\xb8\x56\x11\x26\xfd\x77\xc9\x8d\xa9\x0f\x1b\xb0\x6b\xc9\x7e\x48\x5d\xd6\x22\x7a\x68\xae\xbe\xc5\xd3\x32\x3c\x27\xaf\x78\x71\x1d\x1a\x57\x10\x12\xeb\x5b\xbf\x2a\xbd\xd7\xd3\x76\x19\x5f\x23\x16\x8a\xc9\xb0\x35\x35\x62\x1c\x9e\x13\x8c\x8f\xe1\xbf\x9d\x1b\x8b\x11\x55\xca\x7c\x93\xf0\xa8\x09\x8a\x81\x99\x15\x03\x3d\x20\x3e\x26\x7f\x64\x03\x88\xa0\x54\xa9\xa5\x10\x0e\xa0\xd8\x26\xe5\xf4\x9a\xfa\x55\xbf\x9d\xe7\xa6\xba\x59\x45\x45\xce\x72\xcd\x1d\x30\xb1\x68\xfe\x27\xef\xc0\x63\x10\x10\x83\x66\xb6\xe9\x01\x5b\x16\x8e\xaf\x22\xfe\xc2\x87\x43\x76\xf1\xe6\xc7\x1f\x66\xa7\xec\xec\xfc\xe5\x29\xa4\x41\x8a\x65\x39\xfc\x55\x0d\xd3\x64\xfe\xb1\x2a\x17\x07\x83\x5f\xd5\x13\x30\x87\xcf\xd7\x45\xa2\xc9\x64\x37\xea\xb1\xc9\x68\x3c\x01\x32\x38\x5b\x16\x72\x95\x54\x2b\xf6\xe6\x82\x4d\xab\x72\x29\x0b\x35\x60\xd3\x34\x65\x50\x17\xd4\xf8\xa2\xb8\xd1\x42\x8e\xe6\xf2\x95\x7b\x71\x57\xb2\x2a\x22\x41\xc1\x82\x15\xbb\x92\x37\xa2\xc8\x4c\xd0\xc9\xe3\x8b\x93\x2d\x55\xae\x53\xc1\xd2\x24\x12\x99\xf1\x36\xa1\x77\xf7\xe1\x10\x73\x9e\x98\x8b\xfb\xe5\xf9\xec\xf4\xf5\xc5\x29\xdc\x2d\x83\x27\x4f\x3a\x95\x42\x16\x3a\x2a\xe1\xd1\x67\xc8\x2e\xdf\x9c\xbc\xe9\xc6\xfc\x26\x89\xe7\x22\xeb\x1d\xb2\x77\xc6\xa0\x8c\x68\xa9\xc8\x22\x19\x93\x1d\x3e\xd0\x63\x13\x8a\x59\xc4\xfd\x27\x90\xd0\x90\x22\x25\xe3\xf6\x52\x4c\xd5\x0c\xdd\x72\x92\x6c\xcb\x18\x3c\x85\x21\x9c\xf5\x92\x75\xeb\x65\x59\xe6\x87\xc3\xe1\x6d\x72\x9d\x0c\x6e\x97\xbc\xbc\xbd\x1a\xc8\xe2\x0a\xfe\x1e\xe2\xad\x79\x4a\xe3\x7b\xb5\xe3\x9b\x48\x0d\x6e\xb7\xa1\xe6\xf2\x6a\x68\x66\x38\x2c\xf8\xed\x96\x5e\xe7\xb0\x4c\xf2\xe1\x9b\x1b\x51\xdc\x24\xe2\x76\xb0\x2c\x57\xa9\x63\x3c\xd1\xa8\x60\x51\xa5\xec\xc7\xcb\xb3\xad\x03\x16\x0b\x0d\x65\x8f\x37\xf9\xf1\xf2\xec\xe0\x04\x0b\x9b\xb8\x43\x1e\xb7\x2e\x18\xc8\x7c\x5d\x0a\x85\xde\xb6\x04\x70\xfb\x90\x49\xe9\x85\xed\x7b\x22\x54\x7d\xa9\x6b\x52\x40\x20\xea\x2c\x01\x9b\x85\xab\x42\x40\x4c\xd8\x58\xb0\x5c\x26\x99\x66\x55\x35\xd0\x71\x7a\x31\x04\xd9\x77\x1d\x7c\xc3\x46\x03\x87\xc9\xb1\x78\x2b\x93\xac\xde\x6d\x2a\x6f\x45\xc1\xe6\x80\x0b\x32\xf3\xf4\xa0\x6e\x8c\x7b\x7a\x85\xd6\xc7\xd0\x18\xba\x0d\xf2\x31\x45\x10\xdb\x9f\x23\x9f\x4c\x60\xe4\x25\xef\xb3\x92\x5f\x83\xc1\x7b\xa6\xa9\x5d\x84\xb6\xf2\x68\x18\x07\xde\x54\x79\x21\x6e\x12\x59\x01\xc3\xa1\x1b\x50\xb6\x63\xb8\xf6\x6d\x0a\x15\x44\x38\x51\xd4\xa9\xec\x85\x97\x97\x17\x1a\x43\x9c\x07\x5d\xb5\xef\x22\x40\x1b\xb6\xdb\x89\x0b\x86\xbf\xb8\xf0\x84\x39\xd4\x9d\x6a\x30\x54\x59\xd2\x88\x1f\xad\x01\xc2\xe6\xa2\xbc\x15\x22\x63\xa3\xbb\xd1\xc8\xcb\xc0\x37\xba\x3b\x3b\x0b\x79\x0f\x33\x2d\x88\x56\xae\xa7\x45\x3b\x46\x40\xf0\x05\x17\x0d\xa9\xf1\x9e\x0b\x82\xd4\x44\x38\x8f\x76\x61\x37\xad\xaf\x2b\xfa\xf6\x2f\x44\x69\x93\xb9\xb7\x99\x59\x69\x79\xbc\xc5\xb8\x0a\xb2\x3e\x92\xb8\x1e\x2d\x79\x31\x93\xb1\x98\x96\xdd\xc4\x93\xc0\xeb\xb8\xea\x79\xd0\x60\x85\x88\x7d\x7d\xc4\x46\x77\xfb\x67\x61\x28\xd2\x92\x72\x38\x43\xbf\x5e\x9f\x81\xfb\xe4\xe8\x6e\x36\xd2\xcd\x23\xf6\xe5\x97\x8c\x3a\x3a\x09\x3a\x6a\xe0\x74\xc4\xb6\x98\x6e\xf6\x22\xac\xe2\x9f\xa6\x71\xed\x5b\x88\xbc\x77\x07\xa3\xd6\x99\x9c\x36\x66\x72\xfa\x98\x99\x9c\xde\x37\x93\xc9\x43\x33\x69\x9f\xca\x59\x63\x2a\x67\xfb\x8f\x98\xca\xd9\x7d\x53\xd9\xbe\x7f\x2a\xe3\xd1\x68\xd3\x64\x0e\x1a\x93\x39\x7e\xcc\x64\x0e\xee\x99\xcc\xce\xfd\x93\x99\x8c\x36\xcf\x66\xd6\x98\xcd\xc9\x63\x66\x33\xbb\x67\x36\xbb\xf7\xcf\x66\x67\xd4\x36\x9d\x06\xae\x77\x7e\xae\x16\x8b\x45\xdc\xa9\x05\x01\x0b\x6b\xe3\x22\x0e\x1a\xfb\x7b\xdc\x44\x35\x3b\xc3\xad\xad\x17\x9b\x97\xd7\xad\x95\x7c\xfd\x35\xdb\xd3\x52\x67\x17\xd7\x7d\x30\xea\xb9\xc6\x0f\x1e\x67\x86\xfa\xb0\xbf\xc8\x12\xec\xcc\xbd\xa4\xf8\x03\x36\x83\x04\xac\xc6\x77\x0f\x23\x60\xe0\x75\x02\xfe\x03\x61\x0f\x8b\x24\x2d\xf5\x85\x58\x95\x4c\x55\x45\x21\xaf\xf0\xed\x2e\x29\xac\xc2\x8c\x19\xea\xe3\xad\x25\x5c\xca\x0b\xaf\x26\xd0\x19\xb7\xc6\xfa\x36\xd5\x0c\x2e\x3f\x7d\xd2\x40\x3e\x39\x18\x21\x98\x6d\x3b\x0d\x6e\xd7\x09\xd2\x9a\xb3\xb3\x5e\xb3\xb5\xab\xf5\x0d\x1c\x8d\x33\x5d\x2d\x80\xd2\xc6\x5d\x6f\xc5\x10\x82\x0a\xb0\x2e\x42\xdf\x48\x44\xfa\x4d\xbe\xca\xaa\xcc\xab\x72\x10\x54\xaf\xaf\x98\x4e\x68\x7d\x16\x76\x1e\x78\xef\x0c\xf4\xbd\x3a\x23\x42\xee\xda\xf7\x5e\x04\x8d\x5a\xe7\x87\xa9\x88\x83\xcd\x1a\xd4\x2a\xb8\xf9\x6c\x35\x48\xc6\x23\xa6\xd3\x30\x8b\xa5\x3d\x7a\xc6\xba\xde\x52\xbf\xf9\xe6\x1b\x36\x1e\xf5\xd8\x97\x6c\x74\xb7\x7d\x76\xd6\x6b\x06\x0b\x1b\xdd\x9d\xcc\xb0\x99\xb7\xb5\x54\xbb\xbe\xd2\x27\x6d\xbf\x7f\xde\x74\x92\x35\xab\x24\x25\x3c\xe0\x22\x23\x97\x64\x6c\x55\xa5\x65\xb2\x05\x4c\x80\x3b\x0c\x3f\x88\xdb\x24\x8b\x89\x5f\xc1\x50\x26\x7e\x27\xe8\x2d\x90\x4a\x32\xac\x07\xa7\x50\xdd\xc3\xe0\x21\x9a\xb1\x89\x35\x24\x9c\x70\x94\xe0\xb3\xa7\x29\xb6\xd2\x7c\x21\xca\x56\xce\xcc\xb1\x64\x03\x2f\xd0\x96\x0d\xa2\x1d\x89\x30\x3b\x3d\x1a\x5c\x80\x5c\x26\x2c\x6b\x96\x38\xef\x6e\x08\x48\xf0\x7f\x0c\x3b\x86\x0d\x34\x53\xe6\x33\x5f\x5a\xd8\x0b\xec\xc3\xba\xe6\xb1\xd0\x63\xdf\xba\xbd\x1e\x35\xc7\xfa\x61\x62\x81\xcc\xb0\xcd\xc1\xc0\x38\x31\xd8\x31\x2b\x28\xd7\x24\xb2\x13\x88\x9c\x03\xee\x47\xdc\x89\x2f\x37\xa2\x50\x7e\x2e\x1c\x23\x04\x3a\xdf\x7f\x5d\x3b\x38\xdf\x0c\x14\x4b\x40\x85\x6e\x31\x5b\x82\xfa\x96\xbd\xc3\xe8\x85\x79\x2e\x32\xa5\xa9\x10\x84\x46\xb8\x16\xeb\x1c\x04\x12\xf4\x6e\x45\x13\x26\x30\x77\x20\xe3\x5a\x98\x8b\xe6\xf4\x78\x44\x84\x1f\x52\x89\x69\xec\x3f\x7e\xf5\xf6\xdb\x7b\x90\xe5\xd2\x89\x96\x60\x34\xa8\xa1\xb2\x79\x0f\x7d\x21\x14\xb1\x09\x40\xd5\xdf\x84\x57\xfe\x9b\x0d\x1e\xe9\x1a\x32\x5a\x3c\x53\x28\x93\x10\x46\x59\x54\x42\x24\xc0\xf1\xea\x48\xf0\xcf\xe0\xc0\xf5\x75\x0b\xc9\x11\xab\x2c\x81\xb9\x78\x22\x1f\x29\x51\x74\xcb\xc7\x72\xeb\x44\x1b\x1b\x2c\xb5\x7f\x7f\x45\xc0\xd5\x9c\x9d\x9d\x9d\x04\x2f\x53\xd4\xfc\xa0\xa5\xf9\xb1\xdf\x1c\xbc\xe9\x9f\x8d\x83\x25\xf9\xd7\x92\x9e\x65\xdc\x32\xcb\x67\xe3\x1a\x2b\xe2\xe6\x1a\xeb\xc1\xe2\xb6\xb9\x12\x88\x2e\x6e\x21\x28\x69\x03\x83\xfd\x1b\x2a\x72\x7c\x2c\x5e\x29\xf6\x52\xd0\x4c\x91\xbe\x52\x9e\xb1\x6e\x6c\x0b\x03\xf6\x02\xa3\xaf\x6e\xb8\x15\x9a\x10\xbb\xf7\x12\x69\x56\x0e\xc2\xc1\x3a\x3e\x20\xd2\x27\xcf\x9c\x74\x02\x9c\xa5\xfc\x6e\x4b\x5b\xe4\xab\xfb\xa4\xab\x30\x16\xad\xb7\xb7\xb6\x9f\x66\x47\x6d\xb7\x35\x88\x66\x9f\x74\x33\x7d\x23\xef\xb9\x9b\xb5\x45\xd2\x6a\x8e\x12\x72\x4c\xf7\x0e\x73\xea\x0d\x33\x9e\xb4\x8f\x33\x09\xc6\x19\x7e\xe5\x0f\x65\xd8\xb3\xaf\x86\x8f\x1b\xef\xcc\x1f\xef\xa0\x7d\xbc\xed\x17\xfe\x96\xdd\x2e\x93\x54\xb0\x6e\xa0\x19\x71\x8b\x6b\xe1\xd3\xef\x1d\xff\x00\xc6\xa7\x09\x74\xf7\xd8\x57\xae\x87\x9e\x61\x7b\x7a\xc1\x53\x70\xe3\x82\xbf\x5f\x11\x79\x1b\x6d\x52\x43\xee\xfc\x6e\x35\xa4\x26\x82\xb7\xd1\xbf\x50\x11\xe9\x45\x3e\xf7\xee\xe8\x34\x99\x17\x90\xf3\x57\x31\x32\x18\xb4\xa9\x81\x6f\xa3\xdb\x24\x2e\x97\x83\x5f\x15\x5b\xc9\xb8\x42\xcf\xd0\x4c\x5f\x26\xbf\x2a\xfb\xe8\x2b\x8b\xe4\x0a\x94\x5e\xb5\x04\x72\xe4\x6c\x8a\x13\xe4\xe5\x21\x5c\x9a\x65\x99\xab\xc3\xe1\x30\xcb\x57\xbf\x2a\xd0\x2d\xe6\x3c\xba\xe6\x57\x62\xe8\x86\x82\x0b\xc2\x4c\xd6\x9b\xa7\x89\x2b\x24\x17\xa0\x25\xaf\x14\xfb\xbe\x5a\x66\x5a\x6e\xc2\xa6\xdd\x5e\x6d\x06\x9e\x31\xef\x42\x6a\x52\x07\xb7\xdc\x5d\x9e\xf2\x8c\x66\x28\x57\x42\xb9\xd5\xda\x85\xcc\x6a\x1d\x1d\xd6\x62\x23\xf1\xac\x25\x59\x9e\x9b\x05\xcf\x62\x76\x1b\x29\xf3\x67\xd7\x26\xcf\x06\xbe\xe1\xfc\xf4\xf4\x94\x5d\x94\x31\x1b\x8f\x46\x93\xc1\x78\x6b\x32\x1a\x8d\x7b\x70\xbb\xfd\x88\xb7\x95\x61\x51\x8c\xda\xf6\xf6\x76\x20\x73\x91\x5d\x15\xb2\xca\x01\x64\x32\x4b\x93\x4c\xe4\xd5\x5c\x0d\x47\xa3\xfd\xe7\xa3\x9d\xe7\xfb\xbb\x43\xeb\x73\x65\x21\x09\x3a\xd9\x3f\xd4\x8f\x0a\x3a\xa2\x98\x43\x8b\xe4\x4e\xc4\x5b\xf0\x85\x84\x2c\x16\x8b\x9b\x24\x12\xaa\xcf\x5e\xf2\x32\xc9\x1c\xcb\x02\x61\xaf\x99\x8c\xa2\x2a\x5f\x5b\x47\x3b\xdd\xcd\xd3\x48\xa4\xe9\x53\x96\x4b\x95\x18\xf0\xa1\xd9\x16\x74\xdb\xd7\xdc\x72\x21\xb8\x62\x49\x2c\xe4\x55\xc1\xf3\x65\x12\xb1\xd9\x7f\xfb\xde\xeb\x19\xac\x40\xb1\x63\xcd\x67\xa9\x4a\xb3\xb7\x22\x4d\xd5\x80\x9d\x67\xa5\x80\xf7\x55\x08\xa0\x59\xae\x2d\x63\x8b\x6e\xca\x3c\xdd\x32\xaf\xe7\x90\x4d\x09\x9f\x1c\xd1\x5f\xbf\x5b\x8a\x54\x94\xeb\x5c\xe0\x99\xeb\x79\xdc\x97\x69\xac\x98\x7d\x36\x01\xc3\x76\x10\x03\xac\xfe\xde\xa6\x40\xe4\x57\x85\x00\xfc\x60\x32\x33\xce\xd7\xb6\x2f\xb2\x4b\xe5\xf1\x0d\x87\xf0\x3c\x5f\x19\xa5\xb6\x92\x05\x64\xa3\x92\xb7\x6c\x05\x4e\xd1\x22\x4d\x2d\x94\xd4\x80\xbd\x96\x4c\xa8\x92\xcf\xd3\x44\x2d\x31\x1f\xed\x8a\xc3\x1e\xab\x92\x67\x31\x2f\x62\x85\x19\xbe\x19\x87\x20\x0d\x2a\x18\xff\x47\xc3\x0c\x79\xf3\x70\xfb\xf3\x84\xd2\xad\xb4\x8c\xab\xbb\x68\x01\xc4\x80\xdc\x24\x0b\x59\x95\x49\x26\x20\xcc\x38\x40\x15\x83\xc5\x98\xf8\x4d\x7a\x73\xe1\x04\x60\x58\x93\x68\xc9\xe6\x62\xc9\x6f\x12\xbd\x54\xae\x30\x7b\xb3\x82\xe3\xc4\x8a\x2a\xc5\x97\x72\x2f\xcd\x15\x08\x18\x79\x21\x6f\x92\xd8\x39\x98\x9b\xa5\xcc\x64\xa6\x34\x55\xa8\x6c\x62\xa3\x33\x59\xa0\xca\x9c\xd0\x86\xa7\x1e\xd2\xf4\x83\xc6\x06\x66\x40\x12\x92\x28\x29\xc9\x2b\x1d\x4e\xab\xf2\x59\xef\x2d\x80\x07\xa2\xfc\x4d\xc2\xa1\x17\x5c\x92\xcb\x94\x29\xd8\x29\x57\x25\x9b\xaa\x04\xc5\x83\xb3\x2a\x4d\xdf\x41\x8b\xee\x59\xaf\xcf\xde\x69\xce\xbd\xfb\xae\xd7\x67\xdf\xf1\x74\x41\xc7\xa7\xfb\x5d\x0f\xdf\xdb\x5f\xf3\xa2\x90\xb7\xac\xfb\x9a\xf7\xbc\xf4\x35\x18\xe2\x0b\x65\x46\x85\x41\xcf\x70\x09\x05\x39\x18\x30\xbe\x9a\x27\x57\x95\xc6\x71\x88\xb9\x43\x1b\x8d\x9d\x73\xb4\xdb\xc6\xcd\xa2\xad\xae\x94\x18\x00\x88\xbc\x23\x4a\x57\x87\x9b\x3d\x9b\x42\xaf\xb2\x52\xac\x3b\xed\x41\x24\x01\x4a\xc3\xa7\x6f\x04\xe8\x3b\x5a\xca\x24\xd2\x30\xc8\x45\x16\x2b\x96\x57\x90\xd6\x07\xc2\x52\xe5\x85\x58\x88\x42\x90\x6f\xeb\x9c\x47\xd7\xb7\xbc\x88\x4d\x70\x06\x5e\x26\x74\x28\x51\x2a\x4d\xc0\x08\x6c\x99\xa8\x52\x16\x74\xc6\x65\xc1\xde\x09\x05\xe1\xd8\x73\xf0\xfc\x8e\x50\x74\x99\x2d\xa5\x84\x93\x87\x64\x84\x40\x48\x59\x99\x94\x08\x96\x04\x96\x67\x10\x8b\xe6\xd7\x4a\x81\xe1\x0d\xb7\x16\x18\x3c\xcf\x0b\x99\x17\x89\x66\x77\x53\x99\x5d\x61\x54\x5d\x25\xd3\x0a\xdf\x45\x31\x2e\x03\x4c\xc5\x8c\x4f\x7e\x56\x71\xa2\xf2\x94\xaf\xe9\xf4\x87\x43\x72\x65\x02\x6f\x11\x84\xdc\xd5\x62\x56\xa7\xbb\xa8\x5d\x1b\x80\xf7\x1a\xf5\xd6\xac\x7b\xb0\x35\x4f\x4a\x2b\x84\x79\x5d\x83\x67\x33\x8d\x8d\x16\x4d\x01\x04\x34\xfe\x8c\xf7\xa0\xb1\xd4\x78\xeb\x4f\x83\x82\x83\x69\x20\xfd\xa5\x10\xe2\x1a\x1c\x60\x66\xeb\x22\x49\xd3\x24\xea\x33\x51\x46\x03\xbc\xae\xc0\x98\x3f\x5b\xb3\x72\x9d\x5b\x82\x1b\x51\xfc\x31\x1e\xb8\xf2\xbe\xd2\x27\x38\x85\x77\xb4\x14\x9c\x6d\x10\x5c\x84\x11\xfa\x1e\xf4\xf7\x85\xbd\x96\x65\xed\x60\x74\x5f\x8b\xaa\x2c\x78\x4a\x98\x3e\x60\xa7\x9a\x62\x69\xa0\x5a\x70\x5b\xcf\x87\x38\x89\xe0\x65\x8b\x7b\xbd\xf2\x6c\x4d\x2e\x00\xf5\x4d\x18\xb0\x73\x23\x46\x43\x96\xd0\x72\x29\x60\xa2\x98\x11\x5b\x33\x4f\x80\x03\x6e\x89\xe0\xc4\x83\x89\xc5\x25\xba\x85\x68\x91\xdd\x52\x3a\xb8\x4f\x30\xaf\x9a\xdd\x0c\x4d\xc0\x80\x42\xa1\x0b\xa2\x75\xb1\x3d\x7d\xc5\x2e\xde\x4e\x67\xa7\x1a\x7d\x7f\x7a\xf3\xf2\xc7\x57\xa7\xec\xfc\xf5\xe5\xe9\x5f\x7e\x98\xbe\xf4\x82\x6f\xe8\x35\xcd\x29\x57\xae\x27\x31\xc7\xfa\xf2\x2b\xf5\x11\x82\x53\xc1\xc3\x0d\xbe\x4a\xd7\xf9\x72\x10\xb2\x31\xd0\x85\xa5\xbb\x8e\xd8\xaf\x04\x9c\x44\xae\x54\x72\x95\xb9\x8e\x3c\xfa\x85\xcb\xd5\xed\x33\xdc\x87\x80\x3e\x12\x31\x48\xc0\x61\x09\x4d\x0c\x1c\x8e\x3a\x45\x97\xf5\x6d\xa2\x84\x5e\x8a\x97\x89\x5a\xf0\xa8\x94\xc5\xda\xc4\xab\xd6\xdb\x00\x5e\x28\x06\x8f\x34\xf9\x06\xc7\x15\x68\x6a\xae\x31\x54\x40\xe1\x4d\xe6\x48\x32\x05\xe3\xb8\x8d\xf4\xa5\xc2\x07\x6c\x8a\x6e\x06\x2b\x89\x39\xce\x8d\x12\x4d\x44\x09\xe8\x67\x10\xc0\x21\xae\xf9\x88\xe6\xed\x9f\x99\x58\x7d\x13\xe6\xeb\xf0\x00\x03\xd4\x95\xd9\xb4\xb5\x00\xbb\x46\x9e\xa9\x5b\x5c\xc8\xda\x5c\x53\x6b\x93\x10\xd7\xde\x60\x8e\xa1\x34\x37\x8d\xbe\xc3\xe6\x10\x90\x12\x73\xb5\x0c\xd8\x85\x28\x4b\xda\xc6\x2a\x07\xaa\xa9\x19\x16\xb7\x7e\x73\x7c\xec\x55\x29\x17\xc4\x6a\xb4\x5c\xc4\xba\x17\xb0\xf9\x20\xee\x03\x4c\xda\x0a\x50\x60\xf1\x8c\xa7\x6b\x45\x39\xac\x20\xe6\xb6\x66\xb5\x78\x1b\x37\x00\xb4\x61\x5e\x95\x18\x68\xd3\x54\x23\x00\x71\x6b\xf2\xdc\x87\xeb\xb5\xb4\xd9\x3d\x38\x08\x3b\xf6\x38\x06\x88\x09\xe1\x2b\x6f\x24\xdc\xdc\xc6\xcf\x89\x2d\x78\xd1\xc2\xe1\x92\xa6\x06\xf8\x52\xfa\x7d\x48\x51\x35\x87\x65\x31\x1e\x0f\x0d\xf9\x71\x9c\x3f\xdb\xda\x62\x93\xd1\x68\x7f\x6b\xb4\xbb\x35\xd9\x63\x5d\xb3\xa2\xdd\xc1\xa8\x47\xb5\xdf\x6a\x10\x29\x45\xf6\xdc\x95\x12\x7d\x16\xc9\x7c\xdd\xd7\xd2\x4c\xb2\x58\xf7\xc9\xe9\x51\x8b\x48\xf3\xaa\x14\x4e\x22\x5b\x94\xb7\xc4\xcd\x10\xc9\xd1\x77\x5c\x0e\xc9\x15\x33\x74\x12\x05\x5f\x2a\x01\x17\xb1\xbe\x90\xe7\x6b\xcd\x71\x68\x4c\xc2\x93\x8a\x60\xa1\x5b\x23\x4a\x79\xb2\x42\x66\xf8\x96\x17\xba\x5a\x22\xc8\x8e\xa3\x10\x57\x7a\xbf\x29\x91\x9d\x37\xb6\x81\xd1\x4b\x0e\x46\x39\xa4\x89\x3c\xf4\x61\x16\xa5\x83\x88\xaf\x06\x3c\x1a\x54\xd7\xc3\xff\xb1\xba\xba\x9e\xec\x0e\xab\xc8\x09\x00\x51\x20\x49\x85\x62\x90\x55\x4e\x1b\x76\x07\xbd\x78\xd2\x6a\x95\x11\xa1\xc0\xf4\x5c\xe7\x17\x6f\xd8\x78\xb4\xb7\xb3\xe7\x10\xc5\x92\x3f\xdd\x97\x32\xb2\x11\xdb\x22\xab\x8d\xd4\xa3\x28\xac\xfb\xe3\x33\x7c\x61\x01\x54\x68\x0c\x30\x1a\x50\xd3\x37\xc0\x07\xcc\x46\xc3\xd9\x18\x0e\x49\x21\xd3\xe0\x76\xcd\x62\x76\x72\xfa\x92\x02\x2b\x09\x8e\x21\x2f\x02\x53\x7a\xdd\xdd\xd6\xd8\xf4\xf7\x5a\x66\x5b\x2a\xe7\x11\x1c\xce\x2c\xd6\xd7\x6a\x8a\xdc\x43\x24\x57\x73\xe4\x45\xbd\xfe\xbb\xe8\x72\x9a\x32\x7d\x0b\x5c\x69\x22\x06\x98\xf4\xca\x84\xa3\x97\x05\x7b\x65\x63\x70\xd5\x4f\x75\xcf\xf8\xa8\x6d\x5c\xdd\xc5\x9b\xb3\x4b\xf6\xdd\xbf\xbd\xfd\xee\xf4\x35\x42\x64\x7a\xb2\x09\x22\xe3\x10\x22\x64\x5d\xf9\xf0\x54\x67\x8b\x8d\xd3\xa3\x35\x68\x30\xfc\xfb\xe9\x0f\x6f\xd8\xbb\xf3\x93\xcb\xef\xe8\xb6\xea\xfe\xf8\x6c\x32\x1a\x1d\x3f\xbc\x84\xef\x78\x76\x55\xa5\xec\xbf\xf1\x95\x64\x10\xd3\x3f\x65\x37\xf2\x56\xa4\xb8\x37\xc6\xe8\x25\x53\x32\xe3\x59\xa9\x74\xbf\xe3\xf1\xde\x68\x4b\xff\x38\x3b\x33\xdd\xd3\x4c\x36\xc3\x89\x76\xec\x5e\xee\xd4\x70\xd2\x7a\x53\xbc\x62\xcd\x6f\x1b\xb6\xfa\xcc\xac\xd9\xc2\x48\xb3\x67\x56\x0a\xb7\x20\xba\x14\xd1\x32\x03\x19\x81\x5c\xd9\xfe\xd3\x78\xbc\x01\x12\xd4\xe1\xc4\x4c\xb5\xce\x2e\x43\xe0\x62\x0f\x61\x0b\x01\xae\x82\x59\x68\xa7\x93\x98\x7e\xf0\xd8\xcf\x7e\xbd\x76\xbc\xf6\x22\xe5\x57\xc0\xb9\x66\x7c\x9e\x12\x19\x59\x6f\xda\x17\x3b\x0f\x50\x31\x41\x92\xfa\x3a\x4a\xbb\x14\xd1\x9a\xee\x80\x89\xa2\xee\x18\x4e\xf4\xc1\xc1\xee\xf3\xad\x31\x6c\xdd\xbb\xbf\xbc\xdc\x31\xd0\xf2\x18\x01\x7b\x3d\x34\x0e\xa3\x61\x1b\x37\xcc\x6c\x1c\x06\x92\x0e\xf9\x5d\x0c\xda\x66\xde\x51\x42\x70\x19\xce\x37\xf1\x88\xce\xa0\x46\xc1\x12\x65\xb5\x55\x85\x48\x35\x11\x25\xab\x2b\x0a\x69\x6b\xdf\x2e\xa7\xa5\xe1\xba\xe8\xee\x53\x55\x4e\xca\x2d\xd4\xc2\x68\x98\xd8\xe8\x66\xec\xad\x4c\xd7\x0b\xf4\xe5\xce\x64\x39\x60\xec\x42\x08\x5f\x5d\x15\x8b\x1b\x91\xea\x1b\x7a\xb0\x92\x7f\x4f\xd2\x94\xc3\x3d\x25\xb2\xad\x1f\x2f\x86\xb1\x8c\xd4\xf0\x9d\x98\x0f\x9d\xaa\x6a\xf8\x83\x91\x81\x86\x7f\x81\x14\xde\x1f\x31\x33\xad\x22\x73\xbb\xa1\x37\xcf\xff\x44\x63\xa7\xb0\x54\x08\x28\x4a\x2a\x4e\xdf\xe7\xd0\x56\x47\x15\x69\xb7\x66\x32\xc7\x58\xa0\xea\x63\xc3\x21\x3c\x65\x51\xf2\x30\x5c\x3a\xfb\x05\xd8\x95\x5f\x86\xbf\x68\xbe\xf7\x17\xbc\x7e\x7e\xa9\x32\x3a\x17\xbf\x0c\x7f\xd1\xb4\xfb\x17\xf7\x28\xe2\x06\x0d\xf2\x62\x91\x56\x20\x7c\xbb\x80\xd7\xb1\x23\xf4\xf7\x0e\x8d\x2e\xb4\x5c\x7b\xb9\xce\x85\x67\xa2\xed\x6b\xfa\xc9\xf5\x09\xa3\x44\x90\x09\xbf\xf5\x4f\xb4\x15\x30\x32\x16\xbd\x22\xd2\x83\x8f\x73\x35\xfa\xe5\x52\x9e\x67\xa5\xb8\x12\xc5\x2f\x5e\x23\x13\xc7\xd8\x2a\x99\xbe\x25\xa7\x5c\x6f\x09\x87\xee\x25\xd8\xc5\x33\xfe\xe2\x08\xdb\xf6\xd8\x3f\x74\xef\x73\x51\xea\x9b\xec\x97\x44\xbd\xe6\xaf\x7f\x71\x8f\x2d\xd4\xfd\xa8\xbe\xa2\xe1\x90\x4d\xe9\xb8\x6b\xde\x41\x56\xe5\x96\x5c\x6c\x91\x51\x07\x38\xaa\x0a\x7d\x69\xd6\x06\xfd\x1a\x52\x3d\x31\x1b\x51\x59\x2f\xb9\x66\xfb\xa5\xaf\x3a\xbb\x5d\x2d\xa3\xfe\x45\x18\x4f\xec\x02\xc2\x88\xd0\x1b\x9c\x07\x12\xfc\x62\x01\xe9\x3f\x24\xc1\x82\x03\x98\x83\xc7\xb2\x0f\x1d\x3d\x46\xe4\x0c\x56\xfe\xdf\xff\xfb\xff\x51\xc6\xa5\xa1\x30\xa1\xb4\x82\x87\x24\x3b\x79\x1c\xf7\x9b\x23\x63\x9c\xf0\xe5\x97\x54\x64\x5f\xc2\x74\xd1\x70\xc8\x96\xc9\xd5\xd2\x75\x62\xdb\xc3\xfe\x7f\x43\xc0\x79\xc6\xc6\x94\x23\x11\xd5\x20\x1c\x4d\x01\xea\xeb\xf5\x81\x87\x6b\xd9\xbc\x70\xdd\x67\xed\x1d\x8d\x9a\xe0\x9c\x67\x38\x67\x2a\xf3\x5f\xd4\xf4\x4c\x52\x79\xdb\x32\x67\xd8\x12\x62\xd6\x56\xbc\x5c\x26\x5c\xcd\xd7\x99\xc8\xd4\x60\x2e\x86\x99\x2c\x85\x1a\xfe\xca\x6f\xb8\x02\x82\xb1\x65\x14\x88\xff\xc9\x76\xb4\xa5\xaf\xfe\x2a\xe5\x7e\x8f\xe6\x59\x1c\x81\xb7\x45\xe0\xec\xb1\xaf\xd0\xa0\x8a\x3d\x33\x53\xdc\x72\xf6\x1c\x0d\x93\x92\xcf\x35\xcc\x31\x39\x90\x74\x9f\xf4\x40\xe2\xde\xc9\x90\x6e\x0d\x10\xe9\xde\x92\xd7\x8a\x03\x6d\xeb\xe7\x6e\x9d\x7e\xf5\x59\xc7\x23\x26\x9d\xbe\xb7\x33\x1d\xe0\xdd\x3a\x87\x01\xe5\x76\x5f\x23\x99\x2d\x92\xab\xaa\xd0\x17\x57\xe7\x10\x13\x12\xb9\xaf\xb7\x45\x52\x7a\x5f\xcc\xba\xda\x7d\x03\xef\x23\xaa\xec\xc8\x1f\xdf\x7b\x25\xea\x82\x1f\x11\xc6\xbd\xb9\x8d\xd8\x11\xa6\x8e\x1e\x0e\xd9\x3b\xcb\x22\x6b\x92\xe7\xae\xb2\x01\x55\x1d\x64\x15\x69\xff\x30\x55\x60\xd8\x24\xb8\x54\xfd\x56\xf4\xa1\xd6\xf2\x4c\x73\x06\xc6\xaf\x9d\x72\xb3\x43\x60\xf8\x56\x9d\x9d\xa7\x0f\x31\xdd\xb6\x70\x1b\x2e\x9b\x6e\x30\xb5\xec\x81\x3e\xdd\x4c\xbd\xce\xcc\x74\x27\xd8\xdb\x05\xde\xb3\x26\xdc\x6b\x26\xb3\x2d\x79\x23\x8a\x94\xe7\x39\xd9\x62\x88\xe2\x86\xa7\xca\x7c\x54\x0d\xae\x4f\xf7\x62\x82\xc0\x80\x64\xfe\xb4\xca\x12\x25\x4a\xf6\x2c\xe2\xe5\xd1\x2b\x41\x3f\x33\xfc\x39\x5b\xb0\x2d\xcd\x52\x33\x64\x39\x35\xc3\xc9\x80\xab\x65\xd1\x53\x07\x58\xc3\xf5\x1f\xb1\xf7\xb0\xbf\xef\xd9\xe8\x6e\xb4\x3d\x1a\xf5\xe1\xe7\xde\x19\xfb\xd0\xc7\xb2\x9d\x83\xed\x3e\xfe\xdc\xf3\xca\x0e\xa8\xec\x39\xa3\x4c\x8b\x50\xbe\xfb\x7c\x0c\xe5\xbb\xc7\x27\xb6\xee\xee\xf1\x19\x95\xb9\x3e\x77\x67\x54\x6f\x36\x09\xdb\xcf\x76\xa8\x7c\xd7\xab\xbb\x4f\x65\xfb\xb6\x6c\x8f\xe6\xb9\x37\xda\x0e\xda\xef\x8d\xa9\x7c\xec\xda\xef\xed\x1c\x63\xd9\xee\xa9\x2b\xdb\xa7\x7a\xfb\xa3\xb0\xfd\xc9\x1e\x96\x9f\xee\xb8\xba\xa7\xfb\x54\x76\xe0\x95\x4d\xa9\xec\x24\x68\xbf\x3f\xc2\xb5\xee\x8f\xdc\x5a\xf7\xc7\xb8\xd6\xfd\xf1\xd8\x95\x6d\xe3\xf8\xfb\x3b\xd3\xb0\xfd\x14\xc7\xdf\x3f\x1e\xb9\xba\xa7\x38\xff\xfd\xb3\x6d\x5b\xf6\x7c\x84\x7d\x3e\x1f\x85\xf0\x7b\xbe\x3d\xeb\xd3\x4f\x57\x77\x87\xea\xee\x1c\x78\x65\x27\x54\x16\xce\xff\xf9\x2e\xd5\xdd\x75\xeb\x7f\xbe\x37\xc1\xb2\x3d\x6f\xfc\x03\xaa\x77\x30\x0e\xdb\x1f\xd3\xf8\xc7\xde\xf8\xb4\xd7\xcf\x67\x5e\x9f\x33\x1a\x7f\x56\x1b\xff\x94\xc6\x3a\x75\x63\x4d\x69\xad\x53\x58\x2b\x95\xd1\x3a\xa7\xb0\x4e\xd7\x7e\x4a\x6b\x9d\xee\x78\x75\x77\xf6\xa9\xec\xc0\x2b\x3b\xa6\xb2\x70\xfc\x29\xe1\xc5\x74\xdf\xed\xd5\x94\xd6\x3a\x3d\xf0\xfa\xa4\x75\x4e\x8f\x6b\xe3\xd3\x5a\xa7\x1e\xfe\x4e\x09\x7f\xa7\x33\x6f\x7c\x5a\xff\xb4\xb6\xfe\x29\xad\x7f\xea\xad\xff\x98\xd6\x7f\x3c\x72\x73\x3a\xa6\xf5\x1f\xd7\xd6\x7f\xbc\x7d\x46\xe5\x0e\xff\x8e\x09\x26\xc7\x3b\x5e\x9f\xb4\xff\xc7\xb5\xf5\x1f\xef\x22\xfe\x1d\xef\xba\xb3\x7e\x7c\x80\x73\x3a\xf6\xd6\x7f\x3c\x43\x38\x1d\xcf\xc2\xf3\x73\x4c\xeb\x3a\x9e\xb9\xf3\x3f\xdb\x3e\x85\xb2\xd9\x8e\xc3\xe9\xd9\xce\x1e\x95\x1d\x04\xed\x67\x3b\x53\x2a\xf7\xda\xef\xee\x62\x99\x37\xa7\x19\xc1\x7f\x56\x83\xff\x8c\x68\xcd\xcc\xa3\x35\xb3\x19\x8d\x35\xf3\xda\xcf\xa8\x7d\x0d\xfe\x33\x82\xff\xcc\x83\xff\x09\xc1\xef\x64\xc7\x2f\x3b\xa1\xb2\xb0\xfd\xc9\x0c\xe7\x7f\x32\x9b\xba\xba\x27\xd8\xe7\xc9\xc9\x8e\x57\xb6\x47\x65\x7b\x41\xfb\xd3\x6d\x1c\xeb\x74\xdb\xed\xf5\xe9\xf6\x0e\x95\xb9\x3e\x4f\x09\xa7\x4f\x77\x4e\xc3\xf6\xc7\xd4\xfe\xd8\x6b\x7f\x4c\xed\x8f\x9f\x7b\x65\xc7\x54\x16\xc2\xef\x74\x86\x74\xfd\xd4\xdb\xbf\xb3\x31\x96\x9d\x8d\x5d\xfb\xb3\x6d\xdc\x93\xb3\xed\xdd\xa0\xfd\xd9\xf6\x3e\x95\xef\x7b\x75\x9f\x53\x99\xd7\x7e\x1f\xe7\x79\xb6\x1f\xce\xff\xec\x00\xf1\xea\xec\xc0\xc1\xea\xec\x60\x8f\xca\xbc\x3e\x9f\x53\xbd\xe7\xfb\x61\xfb\xe7\x34\x96\x47\x7f\xce\x68\xff\xcf\xdc\xfe\x8f\x47\x13\xd8\xbf\xf1\x68\x3b\xc0\xdf\xf1\x68\x7b\x42\xe5\x13\x57\x77\x7b\x8f\xca\xf6\xbd\xb2\xe7\x54\xf6\x3c\x6c\xbf\x7b\x80\xe5\xbb\x76\xad\xfa\x0e\x86\x32\x7d\x0d\x9b\xb2\xed\x5d\xc0\x53\xfd\x33\x68\xbf\x3f\xc6\xf1\xf7\xc7\x76\xfd\xe3\x7d\x9a\xd3\xfe\xb6\x57\xb6\x4b\x65\xbb\xdb\x61\xfb\x7d\x2a\xdf\xdf\x76\x75\x71\xff\xc7\xfb\xc7\xbb\x5e\xd9\x3e\x95\x9d\x84\xed\x11\x56\xfa\xa7\xab\x3b\xc3\xb5\xee\x9f\x78\x7d\x9e\x9c\x50\x59\xd8\xfe\x60\x04\x78\x35\x3e\x18\x59\xfc\x19\x1f\x4c\xb1\xfd\xc1\xd4\xc1\xe4\xf9\x04\x61\xf2\x7c\x12\xdc\x5f\xe3\xe7\x93\x7d\x2a\x3f\x70\x75\x69\xfd\xcf\xbd\x3d\x79\x4e\xf0\x7f\xbe\x7d\x1c\xb4\x9f\x8e\xb1\xfd\x74\xec\xda\x1f\x23\xaf\x30\x3e\x1e\xb9\xf9\x1f\xe3\x99\xd2\x3f\x83\xf6\xc7\xb4\xd7\xc7\xee\xac\x8d\x89\xd6\x8e\x8f\xdd\x9d\x3a\x3e\xde\xc1\x39\x1d\xef\x84\xf3\x3f\xde\xc3\xf5\x1f\x7b\xf0\x3f\x41\x5a\x39\xf6\x68\xc2\xf8\xe4\xec\x14\xcb\xce\x82\xfd\xd7\x4c\x5a\x1f\x7f\x5a\x5c\x99\x8c\x26\x53\x2c\x9b\x9c\xba\x32\xc4\xa9\xc9\x68\x6f\x3b\x6c\xbf\x47\x75\xf7\xbc\xf6\x27\x54\xf7\xd4\x96\x6d\x53\x9f\xdb\xa3\x49\x30\xfe\xf6\x08\xcf\xcf\xf6\xe8\xb9\x9d\xeb\xf4\x60\x04\x30\xd1\x3f\xbd\xb2\x63\x2a\x0b\xe0\x3f\x3d\x98\xec\x62\xf9\xc4\xd6\x3d\x3b\x1e\xc3\x5a\xf5\x4f\x5b\x76\x8a\x7b\x72\x76\x3a\x0a\xc6\x3f\x3b\x9d\x50\xf9\x64\xdb\xd5\x3d\x3b\xeb\xd3\x4f\x5b\x76\x76\x06\xf3\x3c\x3b\x3b\x0b\xf7\xdf\x30\x0b\xfa\x17\xb7\x03\xa3\xe9\x68\xd7\x94\xee\xf9\xa5\x33\x53\x7a\x56\xeb\x65\x9b\x8e\xf1\xd4\xc3\x83\xd1\x14\x2f\x57\xf8\xc5\xed\xe4\x78\x0f\x51\xee\x64\xbc\x17\xd2\x82\x93\xf1\xfe\x36\x7d\x71\x37\xa7\xfe\x63\xd7\x94\x1e\x7b\xa5\xd3\x29\x95\x4e\xc3\x13\x75\x32\x21\x54\x3b\x99\xec\xd8\xf3\x7f\x3a\x1a\xe1\x3a\xe1\x17\xaf\x14\xc1\x77\x3a\x1a\xed\x07\x2b\x3a\x1d\x8d\x47\xf4\x65\xac\xb1\xe0\xc9\x87\xdf\x2e\x99\x3c\x20\x5b\x6d\x16\x51\x40\xbd\xbe\x35\x65\x5b\x24\xab\x6c\x91\xac\xb2\x45\xb2\x8a\x13\x4a\xb8\x27\x8d\x79\x42\xc9\x68\x8a\x97\xc5\x68\xea\x2e\xb5\xd1\x74\x87\xca\x76\xbc\xb2\x7d\x2a\x0b\x99\x8a\x11\xc2\x56\xff\xf4\xea\x9e\x52\x99\x13\x0a\x46\xc7\x78\xa9\x8c\x8e\x77\xc2\xf6\xc7\x7b\x54\xee\xb5\x27\x06\x64\xe4\x31\x1a\x23\xba\x68\x46\xb3\xf0\x52\xa7\x03\xa8\x7f\xba\xba\x27\x34\xd7\x93\x03\xaf\x8c\xe6\x74\x1a\x32\xd5\xa3\x53\xea\xf7\xd4\x31\x30\xa3\xd3\x03\x2a\xf3\xe6\x74\x4a\x73\xaa\x09\x25\xa3\x33\x1a\xff\xcc\x1b\xff\x6c\x42\x65\xdb\x5e\x19\xcd\xe9\x6c\x5a\x6b\x4f\xfd\x9e\xcd\xbc\xba\x34\xd7\x33\x07\xbf\x31\x31\xaa\xe3\x51\x38\xff\x31\x09\x40\x63\x4f\x00\x1a\x8f\xb7\xa9\x6c\xdb\x2b\x3b\xa6\xb2\xe3\xb0\xfd\x04\xd7\x3f\x9e\x38\x06\x60\x3c\xa1\xba\x93\x63\x57\x46\xcc\xd3\x78\x3b\x14\x0a\xc7\x78\x9a\xf5\x4f\xaf\x2e\x32\x8a\x63\x4f\x50\x18\xef\xec\x50\x59\xb8\xff\xe3\x1d\x6a\xbf\xe3\x8d\x45\x0c\xe0\xd8\x63\x54\xc7\x78\x29\x8f\xc6\xbb\xb5\xf1\xf7\x68\xfe\x7b\xde\xfc\xf7\x68\xfe\x7b\x5e\x9f\x33\x84\xe9\x78\x16\x32\x45\x63\xc2\x9f\xb1\x87\x3f\x63\x62\x2a\xc7\x27\xde\xfc\x4f\x68\xfe\x27\xb5\xf9\x13\xb3\x39\x3e\xd9\xf3\xea\xd2\x9a\x3c\xfc\x1b\x9f\x4c\xa9\x6c\x5a\x6b\x3f\xa3\x72\xb7\xff\x13\x12\x14\x27\xbb\x6e\x4f\x27\x7b\x54\xb6\x17\xee\xff\x84\x84\xfa\x89\x27\x00\x4e\x48\x28\x9a\x78\x42\xfd\x04\x19\x8d\xd1\x64\x76\x5c\x6b\x7f\x42\xe5\x0e\xd6\x13\x82\xc9\xc4\x83\xc9\x84\xd6\x34\x39\xa9\xb5\x3f\xa1\xf6\x27\x7e\xfb\x33\x2a\x73\xe7\x77\x9b\x94\x17\xdb\xd3\x70\xfe\xdb\xd3\x6d\x2a\x77\x0c\xec\x36\x31\xda\xdb\x33\xb7\xfe\xed\x19\xd5\x9b\x85\x4a\x91\x1d\x3a\x17\x3b\x9e\x00\xb7\x43\x8a\x8a\x9d\x1d\x4f\xd1\x42\x30\xdd\xd9\x1d\x87\x97\xfa\x98\x2e\xf0\xf1\xc8\x5d\xea\x78\x7e\x26\xa3\xf1\x9e\x57\x76\x40\x65\xcf\x6b\xed\x67\x54\x7e\xe2\x31\x15\xd4\xe7\x64\xe2\x95\xed\x50\xd9\x7e\xd8\x7e\x9b\xea\x6e\x7b\xe3\x23\x53\x36\x19\x6d\x6f\x7b\x65\xbb\x54\xb6\x5b\x6b\x4f\x4c\xcd\xf6\xb1\x57\xf7\x94\xca\x3c\xa6\x66\x9f\xc6\xdf\xdf\x09\xdb\xef\x9f\x51\xb9\xc7\xd4\xa0\x50\x3e\x19\x39\x41\x61\x32\x9a\xd2\x3a\xa7\x81\x50\x33\x19\x8f\x10\x56\x63\xc7\x12\x4c\xc6\xc8\x11\xe8\x9f\x5e\xd9\x73\x2a\x0b\xe1\x47\xb4\x6a\xe2\xd1\xaa\xc9\x78\xbc\x47\x65\x0e\xfe\xe3\x09\xce\x69\x1c\x32\xb5\x13\xa2\x5f\xfa\xa7\x57\xf7\x98\xca\x1c\x4c\xc6\xbb\x34\xce\x6e\xb8\xfe\xf1\x2e\xd5\x75\x0a\xac\x09\x09\x15\x13\x8f\x7e\x4c\xc6\xfb\x54\xb6\x5f\x9b\xff\x73\x2a\x7f\xfe\xdc\xd5\x3d\x46\x5c\x19\x1f\x7b\x65\x48\x53\x26\x48\x53\xbc\xf6\x48\x57\x26\x63\x27\xc0\x4e\xc6\xa8\x14\xd3\x3f\x6d\xd9\x04\x79\x0c\xfd\x33\x68\x3f\x19\x4d\xa8\x7c\xdb\xab\xbb\x4f\x65\x07\x5e\xd9\x31\x95\x1d\xd7\xda\x9f\x51\xb9\xdb\xff\x09\xde\x29\xfa\xa7\x57\xb6\x4b\x65\x21\xfe\x4d\xc6\x53\x2a\x9f\x7a\x75\x4f\xb0\x6c\xe2\x70\x7a\x32\xd9\xa6\xb2\x90\xa9\x9e\x4c\xa8\xdf\xc9\xae\x57\x97\xe6\x3f\x99\x79\x65\xa7\x54\x76\x1a\xb6\x47\x61\x63\x32\xd9\xf6\x60\x85\x42\xc5\x64\xb2\xed\xce\xe4\x04\xef\x19\xfd\x33\x6c\xbf\x43\x75\x77\xbc\xb1\x76\x09\xa6\xbb\xee\xfc\x4e\x08\x27\x6a\xf4\x77\x32\xd9\xa3\xf1\xf7\xbc\xf1\x49\x50\x98\x78\xf8\x33\xd9\xa3\xf9\xef\x85\x42\xc9\xe4\x80\xc6\x3a\xf0\xf6\x0f\x85\xf2\xc9\xe4\xc0\xeb\xf3\x39\xc1\xe9\x79\x0d\xfe\x28\x54\xe8\x9f\xae\xee\x94\xea\x4e\x3d\x98\x1e\xd3\x3e\x1f\x87\xe3\x6f\xa3\x50\xac\x7f\xda\xba\x3b\xb4\xd6\x9d\x53\xd7\xe7\x0e\x2a\x4a\x27\xbb\x3b\x21\xfe\xec\xee\x62\xdd\x5d\x27\x94\x4d\x76\x0f\xa8\xec\xc0\xe1\xd4\xee\x73\x1c\x67\xb7\x36\xff\xdd\x29\xd5\x75\xfc\xe7\x64\x17\xef\x84\xc9\xae\xbb\x13\x26\xbb\xc7\xd4\xfe\x38\xc4\x9f\x5d\xe4\x1f\x27\xbb\xc7\xfb\x5e\xdd\x19\x95\xb9\xfd\xdf\x9d\xd1\x38\xb3\x70\xff\x76\x67\xd4\xde\x29\x10\x27\xbb\x33\x5a\xeb\xec\xd8\x2b\xc3\xfd\xdb\x3d\xa9\xb5\x3f\xa5\x79\x9d\x3a\x58\xef\x9e\x9e\x51\x99\x5b\xff\x1e\xd1\xc4\xbd\x51\xc0\xbf\x4e\xf6\x88\x2e\xee\x8d\x9e\x7b\x75\x4f\xa9\xcc\x6b\x3f\x46\x3c\xdb\xab\x9d\xbf\x3d\xba\x7f\xf6\xc6\x33\xaf\x2e\xb5\x77\x42\xe1\x64\x6f\x07\xd7\xbf\xb7\x13\xd2\x8f\x3d\x94\x80\xf4\x4f\x57\x97\xf6\x7f\x6f\x6f\xec\x95\x6d\x53\x59\x6d\x7c\x94\xd0\x26\x7b\x7b\x53\xaf\x2e\xcd\x69\xef\xc4\x2b\x3b\xa3\xb2\x10\xff\xf6\xb7\x91\x56\xec\x7b\x67\x75\x7f\x1f\xf7\x64\xdf\xdd\x49\x5a\x16\xeb\x43\x4c\x8a\x50\xa8\x3f\x3b\x3b\x83\xf6\xfa\xa7\x15\x60\x47\xa6\xb2\x5f\x0a\x0f\x93\xa8\x2c\x18\x61\x39\x0a\x6a\x68\xed\x71\x9c\x64\xbc\x58\x33\x25\x78\x11\x2d\xd1\x0a\x97\xde\x9e\xcb\xa5\x60\x57\xc9\x8d\xc8\x9c\x7f\xa7\x35\x38\x83\x07\x61\x95\xf3\x48\xf8\x8f\x56\x8d\x68\x7a\xa2\xb8\x12\xc5\x67\x56\x45\x8a\x4d\x5b\x7a\xf1\xdd\x70\xac\xcb\xac\x0d\x12\x79\x59\x54\x22\x9c\xc7\xfd\xe3\xbf\xc0\xb7\x36\x1b\xaf\xb1\x5c\x8a\xe2\x36\x51\x5e\x06\xe3\xdb\x68\x90\xa8\x0b\x68\xe5\xfb\x43\x47\xca\x46\x44\x9a\x56\x77\x49\x9a\x68\x80\x04\x6e\xe5\xf3\x00\x48\x49\x66\x65\x58\x06\x2f\xa3\x26\x27\xee\x2a\xc9\xd8\x11\x1b\xf5\xd9\x8a\xdf\xb1\x23\x56\x7f\x14\x33\xd1\x60\xb7\xd0\xf7\x10\x5b\xc4\x36\x6e\xbf\x86\xd2\xd7\x8d\x46\xef\x47\x1f\xde\x8f\x3e\xb0\x4f\x9f\x00\x8a\xdf\x34\xbf\xaf\xf8\xdd\x87\xf7\xe3\x0f\x41\xe2\x64\x7a\x74\xb4\xee\x7f\x7a\x3e\xdf\x1c\xe9\xf9\x99\x47\xe5\x55\x12\xb3\x23\xf6\x8a\x97\xcb\xc1\x22\x95\xb2\xe8\x76\xf5\xe4\x9f\xe9\x99\xf7\xd8\x90\x4d\x3c\xbf\xdc\x4d\xe3\x26\x31\x8c\x6b\x9f\x7e\x71\xf5\xba\xe3\x67\x2d\xce\x95\x1b\x56\x07\xbd\x8c\xfc\x5e\x00\x74\xba\x97\xad\x5a\x2f\xb5\xf0\xb3\x2e\x2d\xa9\x0d\x3a\x1b\xae\xde\x8f\xd1\xda\xbe\xad\x80\xea\xa0\x92\x78\x04\xb6\x9f\x72\xcc\xba\x7e\xcf\xa3\xed\xbf\x18\xff\xdb\x74\x27\xe0\x01\xe2\xcf\xc8\xc3\xfc\xfa\xcb\x74\xe3\x00\x6c\xc6\x61\xab\x43\xf9\x2d\x38\x6c\x1b\x6d\xc0\x61\xf7\xfd\x5f\x8b\xc3\xde\xb8\x7f\x00\x87\x6b\xbd\xfc\xe9\x38\x7c\x62\xf2\x7f\xb6\xda\x10\xb7\x20\x49\x1b\x3e\xfe\x76\x74\xb4\xad\x2e\x1f\x3f\xaa\xc5\x39\x5d\x6a\xcc\x16\x9a\xe8\xa6\x41\xba\xd1\x74\xc2\x40\x93\xe6\x51\xef\xf0\x07\x68\x60\x6b\x43\xa7\x8d\x58\xfb\x1b\xda\x9e\x24\xaa\xd8\xd4\xfc\x0f\x41\xdc\x5a\xac\x1b\xd3\x11\x4d\x5b\x1e\xa4\x1b\x8d\xf4\x7d\xff\x33\x37\xaa\x09\x9b\x4d\x57\x25\x64\x1a\xd1\x54\x14\x3d\xaa\x9a\x16\xac\x03\x8f\x26\x1c\x41\xb0\xa6\x96\x4d\x31\x06\x3c\x2f\x02\x02\xb2\x0d\x89\x0d\xf0\xd4\x82\xe3\xff\x82\x7d\xf9\x25\xc3\x6f\xa3\x3b\x3e\xea\xb5\x75\xe5\x5b\xf5\x98\xe4\x69\x6f\xf2\x32\x59\x25\x7f\x87\xf8\xb9\x6c\x7a\x31\x3b\x3f\xdf\x30\xc1\xaf\x61\x94\xa0\xdb\xb1\xe9\xe4\xb8\x7e\xfb\xa3\x85\xef\x46\xbb\x9a\x41\x88\xdb\xc4\x72\x00\xf0\x82\x01\x46\x66\x00\xcc\x4f\xcd\x8b\x22\xb9\x11\x94\xa2\x5a\xcf\x89\x6c\x6a\xb9\x67\x4c\x2f\x37\x5a\xef\x0f\x1c\xed\x18\x53\xc8\x66\x07\xbf\xf1\x18\x4c\xeb\x90\xf8\xe0\x7a\xb1\x78\x77\xa1\x01\xed\xff\x1b\x0e\x03\x23\xf4\x24\x4b\xca\x81\x67\x72\x4e\xf4\x0b\xf7\x14\xc4\xa7\xc9\x73\x43\xd8\x4d\x01\x67\x9f\x3e\x51\x3d\x37\x85\x89\x38\x18\xd9\x4d\xd4\x05\x7c\x27\x5a\xd8\x39\x61\x8f\x5f\x1c\xc1\x2b\xd1\xf6\xa2\x17\xce\x6a\x38\x04\x3f\xc1\xc1\x60\xc0\xfe\x2d\x69\xf4\xcc\xa3\x51\xd8\x73\xbc\xcf\xb7\xb1\x07\xb7\x98\x8b\x75\x9a\xea\x5d\x53\x8d\xe6\x8b\xe7\xb5\xe6\x0b\xbe\x58\xd8\xe6\x7a\xdc\x59\xe0\x51\x79\x6e\x9c\xa5\x5b\xba\x12\xe3\x5a\x57\x62\xfc\xdc\x76\xf5\x93\x28\x20\xa3\x15\x78\x1b\xb4\x35\xde\xae\x37\xde\xbb\x6f\x1e\x67\xed\xbd\x2c\xea\xab\x59\xec\x8d\x6c\x2f\x67\x55\x9a\x22\x4d\xd8\xd4\x5a\xd4\x5b\x8b\xbd\x5e\xeb\x76\x42\xac\x12\xbf\xea\x64\xb1\x58\xc4\xad\x75\xb7\x1b\x75\xb7\xa1\x2e\x46\x8a\xa0\xb8\xad\x87\x4c\xac\xe4\xaf\x89\x6f\xae\x5e\xa9\x0a\x5c\x07\x8d\xbf\x15\xf2\xfb\x10\xe6\x29\x89\x43\xb7\xd0\x54\xd3\xdd\xab\x25\x76\xe7\xf1\x45\xb8\x58\x95\x8b\x88\x29\xbe\x86\xf3\xb4\xd4\x9c\x38\xbb\x40\x07\x35\x7d\xec\xe2\x18\x2a\x24\xe0\xec\xa1\x6c\xd2\x43\xb1\xfa\xf6\x8f\x5d\x06\xf5\x4b\xc0\xf9\x66\xfe\xaf\x7e\x09\xfc\xf0\x88\x1b\x20\x20\x70\xfe\xc5\xdd\xa4\x73\x9b\x6c\x19\x5f\x78\xfc\xce\xa3\xef\xe8\xdf\xb1\x25\x2e\x2c\x56\x5b\xa8\x6b\x55\x16\x36\xda\xfa\xef\x85\x67\x3d\xf0\xd6\x6d\x34\x50\x65\x93\xf3\x09\x82\x2e\x91\xe7\x70\x71\x43\x16\xa8\x0f\x86\x5e\x0a\x02\x9f\x7a\xa1\x07\x21\x94\x8e\xb3\xab\xb5\xf1\x74\x6e\x69\xf8\x3a\x68\x1b\xb1\xf5\xf4\x56\x62\xe5\xaf\xcd\x25\x6d\xf7\x65\x8b\xf8\xd7\xe2\x86\x3d\x3b\xc2\x2e\xa9\x91\xfe\xbb\x5b\x8b\x49\xb8\x58\x68\xd2\xf9\x2d\x1b\xb3\x43\x8c\x7b\xe3\xb3\xb4\xc5\x4d\xb0\x7b\xc6\x8e\x5e\x55\x73\xf2\x4c\xa0\xb4\xa6\x84\xa2\x08\x6c\xb9\x58\x28\x51\xd6\xb0\xd7\xdb\x87\xfb\x76\x35\x0c\xcf\x75\x25\x4a\x6f\xac\x45\x21\x57\x83\xd6\xf3\x86\x76\xf6\x97\xc6\xe2\x1e\x9d\xd9\xfc\xb9\xd4\xfb\x6a\xef\x46\xe6\xe5\x47\x04\xea\x26\xd4\x09\x3a\x78\xd2\x96\x04\xe0\xb2\x5e\xcb\x61\x17\x94\xd6\x70\x8b\x72\xc7\xf4\xdd\xd8\x5e\x82\x4c\xfd\x05\x62\xef\xf7\x99\xc8\x62\xfa\xed\xd6\x1e\x43\xc0\x3d\x57\x09\x45\xc0\x5b\x6b\x20\xed\xb5\xaf\xc5\x03\x73\x1f\x5c\x60\x30\x6c\xf7\xac\x05\xf5\x6a\x81\xb5\x5c\xe3\x5e\x03\x17\xbf\xc1\xae\x0d\x3e\xce\x0b\xc1\xaf\x83\x7c\x58\x0e\xc2\x5f\x1c\x39\x8f\x8d\x20\x61\xbb\x59\x29\x26\xee\xb2\x00\x70\xeb\x7a\x62\x79\x0c\x5b\xd5\x5f\x9e\xbe\xb4\xcc\xc9\xb0\xc3\x79\x8d\x1e\xbd\x50\xd3\x7b\xaf\xe7\xc0\xff\xec\x59\xcb\x9a\xdd\xd6\x3d\x09\xe7\x65\x22\x34\x99\x3c\xf9\x65\x31\xb0\xa8\xd1\x6d\xdb\xdd\x5e\xfd\xfc\xb9\x26\x3e\xdc\x1b\x67\x72\xc3\x79\xc4\x63\x81\x4e\x9e\x71\x78\x22\xfe\xf5\x67\xb0\xbd\x95\x9e\xd8\x25\x44\xdd\x8e\x5b\x5b\xfc\xae\x33\x56\x4b\xac\xeb\x1f\x33\x91\xc5\x41\x1c\xc5\xa0\x5d\xbd\x26\xdb\x22\x7c\x06\x80\xeb\xaa\x85\xc0\x90\x54\x03\x1e\xc7\xdd\x0e\xc5\xc1\x8a\x96\x3c\xbb\x12\xa9\xbc\x1a\x92\x2b\x72\xa7\xcf\x3a\xa5\xb8\x2b\x87\x79\xca\x93\xac\xd3\x7f\xd2\x19\x0f\x9e\x77\xd8\xb3\x27\x9d\xce\x93\x1e\xe5\x0a\x7e\xa0\xa7\x98\x97\xa2\xd9\xcd\x64\x34\xde\x01\x9f\xee\x7d\xaf\xb7\x7a\x74\xae\xa5\xbe\x61\x87\xbf\xaa\x21\xfc\xf2\x1f\x3d\x45\x00\xc0\xaa\x8c\x45\x0e\x40\x1a\x5c\x94\xb2\xe0\x57\xa2\xd3\x73\x07\xe0\xbf\xea\x86\x92\xc2\xed\xb3\x13\x11\xa5\xbc\x20\xaf\x6d\x84\xc0\x57\x90\x3e\x07\x39\x51\x4c\xe1\xb2\x12\x6c\xce\x55\x12\x31\xb5\xe4\x85\x88\x59\x05\x29\xce\x12\x93\x8b\x86\x97\xe8\xa5\x2a\x25\x53\x2b\x88\x32\x23\x59\x8c\x90\x60\xb1\xc0\x3c\xa9\x31\xcc\x97\xb2\x6b\x6b\x6a\x0d\x63\x59\x3f\x18\xe7\x58\x0e\xe9\xa0\x20\xf8\x47\x16\xcb\x5b\xb6\x94\x18\xd1\x03\xa7\x56\x8b\x9e\xa5\xaf\x2a\xae\x58\x4e\x5e\x63\x58\x47\x8b\x73\xdd\xde\x80\x79\xe9\xe9\x74\xed\xec\x86\xa7\x49\xcc\xaa\xac\x4c\x20\x66\x05\x84\xdc\xe1\x69\xf2\x77\x1b\xc0\x0b\x73\x65\xe3\x0c\xb1\x2b\x9c\xc3\xa5\x9e\x91\x4d\x40\x6b\xb2\xae\xf0\x02\xa4\x55\x2f\x61\x08\x05\x56\x71\x39\x98\x28\x60\x0e\x04\x6c\x35\x79\x15\xfe\x2e\xe5\xca\xf7\xcd\xa5\x15\xfd\x9b\xac\x60\xbf\x4d\x7a\x06\xc8\xd4\x54\x2e\xd9\x5a\x56\x05\xa6\x46\x93\x91\x9e\xac\x88\xcd\x88\xfe\x3c\x75\xa7\x34\x21\x97\xe7\xb7\xf3\xef\x6f\xde\xbc\xd2\xf7\xc6\x78\x34\xfa\x2f\x5e\xd0\xb6\xe3\x22\x11\x0b\x86\xd6\x6a\x6b\x3b\x7f\x1b\x15\x06\xa7\xab\xcf\x91\x9e\x66\x24\x73\x8a\x9e\x04\xfc\x67\x9a\xe4\x73\xc9\x0b\x3b\xed\xe3\x35\x8b\xc5\x82\x57\x29\x64\x73\xa3\x00\x2e\x86\x8f\x3f\x7e\x39\x9d\x7d\xcf\x2e\x66\xe7\x17\x17\x6f\x7e\xb8\xf0\xc2\x43\x40\x6c\x88\x35\xae\x98\x82\x67\xfc\x86\x45\xfb\x08\x00\x71\x28\xea\x53\x5f\x0a\xd6\x41\xf0\x6e\xd9\x09\x6f\x65\xb2\x4c\x22\xd1\xf1\x82\x0a\x01\x12\x04\x1b\x61\xc0\xa9\xeb\x2e\xd6\x9a\x04\x78\xd0\xfc\xb9\x9a\xec\x8f\x26\x1a\x8e\x16\x5b\x35\x8c\xd4\x52\x4f\x34\xc9\x18\xd7\x28\x7f\x5d\xca\x9c\x41\x73\x0a\x06\x66\xc3\x6f\x18\x6c\x80\xd0\x18\x22\x4d\x07\x8c\xfd\x5c\x4d\x26\x7b\x18\xba\xd7\xc2\xec\xf4\xfc\x2f\xdf\x5d\x7e\xc7\x5e\xbf\xb9\x3c\xed\xb3\xff\xd2\x2d\x93\x32\x15\xbd\x5a\x2a\x5e\x0d\x2b\x1b\xbf\xca\x62\x19\x54\xf5\x57\x41\xd3\x79\xed\xcd\xe6\x52\xd7\xa1\xc5\xec\xed\x4d\xdd\x00\xf8\xb7\x87\x24\x2f\xc9\xb0\x11\x82\x09\xd3\x59\x85\xe8\x11\xaa\x4a\xe8\x90\x80\x94\x87\x85\x4b\x5e\x64\x42\xd9\x90\x28\x94\x5a\xde\x24\xf1\x5f\x83\x8b\x34\x46\x13\xa3\x7c\xc3\x45\x95\x65\xf6\x2e\xc2\xe9\xea\x8e\x4e\x44\x0e\x16\x8c\x1d\x2c\xba\x88\x0a\x99\xa6\x6f\x65\x81\x09\x3d\x95\x26\xf0\xf6\x8b\x10\x99\x29\x7d\xc2\x1a\xff\xa8\xde\x25\x41\xa7\xde\xfe\xa7\xcb\x87\xdb\xfe\x74\x39\x98\xf1\x2c\x13\x31\xd6\xfc\x10\x92\x29\x04\x89\x26\x22\xf6\xe2\xec\xb3\x42\x5c\x25\x0a\x12\x74\x23\x22\xe3\xc5\x85\x65\xe7\x48\x96\x6a\x08\x4c\x79\xb4\xe2\x0a\x2e\x61\x5d\x3f\x09\xea\x19\x06\xc0\x8c\xf1\x99\xc9\x4c\xf7\x84\x31\x38\xcc\x43\x8f\x6b\xc7\x6e\x21\x68\x42\x05\xc1\x86\x92\xec\x46\x5e\x0b\x38\x15\xe6\xc5\xb0\x46\xf5\xe0\x84\xbb\xf4\xc3\xc3\x27\x8d\x19\x23\x30\x3a\x7d\x2f\xa5\x11\x4c\x00\xb9\x02\x3b\x03\x99\xbd\x03\x5a\xd9\x45\x92\x69\x38\xd4\x16\x32\x8a\x7f\x0c\x34\x99\x47\x6e\xcf\x4b\x19\x8c\x5d\xf7\xd9\xc8\x31\x76\xde\x08\x97\x7c\xde\x2d\xf9\x3c\xc8\x90\xc9\xe7\xc8\xbf\x42\x9f\x91\xbe\x9d\x3d\x5f\x67\xfc\x9b\x86\x87\x0c\x70\xba\x01\xfd\x7d\x1e\xf7\x81\xa4\xf7\xed\xdc\xdb\xbd\x3d\x4d\xce\x9d\xe2\x2a\xc9\x62\xde\x3b\xb4\x5b\x07\x91\x05\xd9\x2d\xf0\x62\xac\xca\x31\xbc\x0b\xbb\x19\x33\x9e\xe7\x1d\x05\xf1\xca\xae\x0a\xb8\xb8\x73\xa4\x5c\xa6\xbb\x57\x7c\x3d\x17\x2c\x00\x4a\x27\x93\x99\xe8\x50\xc4\xa9\x39\xa5\xb0\xf6\xc2\x8b\x41\xd2\x6f\x1b\x2d\xc7\xf4\xd5\x02\xdd\x4e\x06\xe1\x8f\x6c\xc4\xf2\x8d\xc0\xad\xe5\xb1\xfc\xc2\xd0\x0c\x20\xe6\xc4\x35\xf8\xd2\x38\xe6\x2f\xcb\xf8\x4d\x72\xc5\x4b\x59\x0c\x2a\x25\x8a\xe9\x95\xc8\x4a\x93\xcd\xec\x67\x05\xcc\x91\xf8\x79\xd8\xfd\x39\xfe\x39\xee\x0d\xbd\xa4\xa3\x26\xf8\xf5\x11\x65\x34\xcb\x79\xa1\xc4\x79\x56\x76\x31\xb5\x59\x8f\x1d\x5a\x21\x1c\x05\x05\x6f\x3b\x21\xd0\x31\x6e\xa4\xc2\x69\x35\x4b\x06\x6a\x9d\x45\x9e\xa2\xd5\x0e\xf8\x0d\x9b\x78\x59\x49\xdb\xd6\xa8\x17\x45\xa1\xc1\xa9\x64\x80\xeb\xe8\xb6\x0c\xd1\x8e\x21\x8f\xec\xf6\xa5\xbe\xcc\xba\x75\xe0\x53\xfa\x1f\x1a\xac\xe4\x73\x65\x32\x37\xd5\x63\x4d\x30\x8a\x6f\x1a\x6b\xc4\x50\x14\x70\x48\x94\x22\x2a\xf1\x79\x17\x3b\x5b\xcb\xaa\x03\x71\x9b\xfc\xda\x78\xc7\xa4\x49\xa9\xc9\x3f\xbf\x85\x38\x7a\xe6\x41\x3f\x51\x6f\xa9\xe6\x34\xcf\x9d\x33\xef\xfd\x3b\x51\x68\x36\xaa\xad\x44\x1f\xb2\x57\x3c\x4b\x16\x42\x95\x3e\xfa\xac\xa8\x8c\x1d\xdd\xd3\xa0\xeb\xa1\x4c\x7d\x5a\xa6\x83\x81\x5e\xce\x97\x5f\x06\x7f\x0f\xdc\x59\x0b\xa4\xe7\xa0\x0f\x2f\xa2\xf7\x5b\x1f\x90\xc0\xba\x42\x90\x37\x8f\x91\x48\x1c\xc3\xa6\xb7\x64\xd0\x24\x54\x48\x32\x30\xa9\x39\x92\x91\x7f\x68\x92\x76\xc8\x3a\xb9\xcc\xab\xbc\xf3\xb9\x67\xc9\x98\x8f\x2d\xf7\x01\x55\x8f\x14\xa4\xd0\xd5\x88\x71\x25\xca\x19\xa5\xa8\xc2\x3c\x8b\xba\x04\xf9\x2c\x4d\xfc\xe0\x8e\x4d\x14\x7b\x4a\x79\xac\xd2\xb5\xb9\x5b\x9f\x62\x86\x54\x88\x6f\x66\x3a\x2c\x65\xbe\x92\xfa\x62\x2f\xd8\x42\x46\x98\x52\x94\xcf\x07\x21\xb9\x84\x05\xbb\x61\xbb\x40\x78\xdb\x31\xff\x91\x10\x21\x9a\xe4\x40\x62\xf0\xff\x73\xaf\x91\x58\x33\x16\x51\xb2\xe2\x29\xfb\x87\x51\x1e\x2e\x05\x88\x61\x9f\x89\xbe\xa2\xa4\x1e\xcb\x15\x06\x0f\xf6\x18\x08\x3d\xe5\x34\x11\x59\x79\x81\x31\x3e\xec\x85\x15\xcb\x55\x20\xc3\xc6\x12\x2a\x43\x6a\x92\x24\xbb\xc2\x46\x3f\x88\x08\xf0\xaf\x99\xea\xd3\xcc\xc8\x8b\x1b\xf8\x98\x59\x34\x34\xa3\xbf\x61\x1a\x03\x52\xc2\x6c\x9e\x0c\x41\xe5\xd1\xb3\xf9\x0e\xeb\xff\xce\xe9\xe0\x68\xc1\x7c\x34\x77\x5c\x4b\xa0\x96\x0a\x9b\xef\x1a\x74\x7f\x6b\x55\x8a\x55\x53\x66\x30\x2c\xcd\x77\x97\xaf\x5e\x9e\xc8\x08\x32\x21\x52\x06\x08\xfa\xcb\xe5\xa5\x0b\x3a\x8d\x64\xbe\xf6\x17\xa7\xff\xbe\x30\x15\x2e\xe5\xcc\x0c\x14\xae\x12\xbb\xac\x27\xfc\x34\xe5\x03\x71\x27\xa2\x99\x5c\xad\x78\x16\x77\x3b\xba\xc7\x4e\x98\xfb\x73\x91\x14\x62\x21\xef\x4e\x4d\xb6\x43\x8f\x8c\x9c\x5f\x65\xb2\xc0\x4c\x7a\x03\x76\x76\xd6\x96\xc5\x95\x6c\x5b\x34\x9f\xc0\xf1\x4b\x51\xc8\x82\x62\x69\xda\xf7\x1c\x46\x51\x48\xbc\x47\x1c\x48\x6c\xec\xdb\x49\x0c\xea\x2f\xf7\x6f\xb9\x2a\x45\x2b\xa0\x31\x50\x14\xe4\x66\xc3\x88\x49\x08\x4f\x38\xf1\xbf\x61\x13\x4a\xc9\x72\x18\x43\x77\xe7\xc3\x1d\x4a\xcf\x0a\xb9\xfa\x27\x40\x1c\xfa\xfa\x8f\x02\xf2\x99\xcc\x54\x59\x54\x51\x09\xf4\x53\x9f\x3c\x92\x46\x34\xc1\x29\x44\x24\x1d\x92\x9f\x53\x34\x4f\x65\x35\x40\x10\xa2\x14\x43\x5d\xe5\xd5\x3c\x4d\x22\x56\x08\x1e\x0f\x6f\x21\x7b\xeb\x4a\xac\xe6\xa2\x50\xe6\xe1\x8f\x62\xb1\xe2\xb1\xdb\xf8\x6a\xe6\x54\xef\x9e\xce\x3d\x51\xde\x4c\x9a\x6d\x88\x6e\x80\x04\x83\xbf\x36\x5b\x99\x7d\xae\xd3\xd1\x80\x20\x7b\xc9\x39\x8d\xaa\xd9\x6a\x8e\xa1\x74\x69\x28\x4e\x0b\xf1\x98\xc6\x00\x6c\x17\x05\xd8\xad\xb6\x65\x3e\x0f\x2c\x5e\xf3\x59\xbf\x0b\x00\xba\xe1\xa3\x80\xe0\x85\x7a\x29\x84\xfa\xd3\xa0\x42\x24\x9e\x03\xa1\xdb\x04\x07\xa3\xdb\x75\xb3\xfb\xcc\xa6\xb8\x14\xb7\x69\x36\x96\xac\x23\xa4\x7c\xe5\xc1\x1a\x02\x92\x59\xe4\xda\xb0\xd4\x28\x95\x99\x68\xe6\xd4\xa4\x09\x84\x23\x76\xdd\x92\xfb\xfe\x42\xc3\x0b\xf5\x82\x9e\xc3\x08\x08\x18\xff\xd2\xdf\x38\x3b\x6f\x1b\xce\xdb\x24\xf7\xf7\x66\x58\xc3\x08\x1f\x10\xc0\x0d\x41\x22\x01\x88\x26\x64\x2e\x0d\xab\x85\xdf\xb0\x52\xcd\xc6\x48\x7f\xa5\xba\x9f\x96\xad\xd4\xc5\x83\x0d\xfb\x09\xdf\x5a\x36\x15\x4c\x88\x92\x45\xcb\x42\xdc\x6a\x13\x45\x31\xeb\x81\x6c\x83\x5a\xeb\x91\xcb\xdc\xd4\xe5\xa0\x69\x6e\xe9\x59\x5b\xce\x65\xb9\xb4\x55\x89\x26\x85\x48\x32\xc4\x95\xf4\xef\x35\x37\x6e\x85\x25\x2c\x44\xb5\x03\xd3\x58\x04\x7a\x30\xf5\x81\xaa\x59\xe1\x00\xa8\x9b\xa1\x6a\x8f\x0a\xbd\x5e\xd8\xf0\xbb\xbc\xf4\x93\x2c\xf9\xe0\x68\x7d\x19\xb1\x29\xc8\x91\x8f\xc6\xdc\xfa\x09\x69\xc3\x37\x91\x26\xa7\x4b\x71\xbd\x6f\x80\x46\x29\x2f\x1a\xcf\x2b\x01\x2c\x3a\xef\x5d\x3b\x2f\x59\x3d\x3d\xba\xb1\x4e\xdf\x95\xd1\x24\x20\xfd\xfd\x8b\xc7\x5c\x4b\x3f\xc8\xdb\x99\x4c\xff\x79\x17\x13\x64\x81\xb6\x0f\x63\x81\x26\x0b\xfb\xc0\x38\x91\x02\x6e\xdd\x8e\xbc\x11\xc5\x22\x95\xb7\x1d\x36\x4f\x4a\x17\x41\xb1\x52\x02\x55\x53\xf8\x2c\x60\x95\x84\x0c\x55\xc1\x26\xd2\xff\x92\x2b\x36\x17\x22\x63\x2b\x1e\x43\x83\x95\x24\x24\xa5\xdc\x06\xf4\xf2\x65\xb2\x5b\xe3\x93\x18\x3d\x3b\xeb\x8e\x14\x6a\x08\x99\x49\x90\x9c\x28\x9b\x35\xeb\x56\xb0\x54\xf0\xd6\xee\xe8\xed\x1b\x72\x7e\x73\x08\x7d\xa7\x8b\x9f\xd8\x20\xe1\xd4\x2d\x28\xb0\x15\x51\x33\xb3\x50\xbd\xce\x01\x63\xe7\x34\x1a\x26\xd2\xa5\xee\xf5\xec\x35\xf3\x03\x84\x97\xa6\x81\x52\x51\xba\x46\x75\x38\xcf\xd6\x76\xf1\x9a\xf3\x2a\x92\xac\x04\x22\xeb\x99\x00\x45\xbc\x52\x98\x4e\xa0\x18\xa6\x10\xff\x13\x42\xad\x6d\xbc\x23\x21\x60\xe2\x52\xc0\xcf\xc7\xdc\x8d\x04\x04\xef\x31\xff\x9e\x56\xd6\x86\x5b\xe6\xe5\x47\x0b\x03\x9b\x48\x9d\x3e\x9b\x8d\xb6\x67\x4c\x43\x0c\x11\xd3\x1c\x23\xbd\xd5\xa6\x7d\xa8\x87\x27\x04\xf6\xce\x4e\x21\x6f\xfb\x34\xb7\x7e\x30\xb0\x47\xad\xf5\x6a\x8f\xf4\x9a\x5f\xb8\x9c\xcb\xb0\x98\x23\x6a\x69\xcb\xed\xac\x8f\xd8\x17\x5f\xf8\xbd\x6d\x62\x56\xc2\x13\xf0\x58\x56\xc5\x6c\x83\xde\xcd\xdf\xb1\x15\x80\x04\xff\xeb\x6c\x87\x47\xdd\xe0\x4c\xfe\x4f\xde\x9d\xdf\xc1\x34\xe1\x3a\x42\xb6\x89\x50\x6d\x03\xe3\x44\xfb\x0e\x8e\x07\x96\xf8\x6d\x04\xcb\x63\x19\x27\x6c\xd8\x35\x60\xe9\xfb\xe0\xe8\x87\x30\x68\xe7\xa3\x36\xa0\xe3\x43\x5c\x14\x4d\xb8\x95\xc1\x30\xb0\x79\x2c\x27\xd5\x58\xfc\x43\xbc\x14\xee\x3f\xdc\xeb\xad\x48\x00\x5f\x36\x63\x02\x7c\x6e\x45\x84\x76\x46\xab\xbe\xaf\x8f\x67\xb5\x9a\x90\xd8\xdc\xed\x1f\x60\xb7\x0a\x79\x3b\x34\x5b\xfe\x30\xb3\xd5\x00\xf7\x23\xd8\xad\xae\x83\xbb\x03\xbc\xe5\xb5\x0c\xe0\x03\xc8\xfb\xaa\xf4\xc6\x1e\xd4\x36\xa1\x55\x67\xf6\xe7\x32\x66\xed\x78\x7f\x1f\x5b\xd6\x80\xdb\x83\x8c\x59\xd7\x70\x66\xd8\xd4\xe3\xcd\xf4\xe8\x21\x67\x46\xf3\x30\x85\x1b\x41\x07\xac\x5b\xaf\x35\x45\x5c\x68\x84\xf2\x71\x51\xf0\x95\xf8\xdf\xcc\x14\x65\xe1\x1b\xa1\x9c\x41\xdc\xd9\xb8\xe0\x0b\x6b\xf8\x08\xbe\x64\x0b\x1e\xb9\xf4\xb1\xc1\xfb\xb6\xde\x70\xae\x57\x50\xc4\x60\xf0\xb1\x66\x71\xc2\x53\x79\x55\x7f\x51\x2d\x64\x75\xb5\xd4\x7c\x58\xd9\x21\x9d\x8e\xdf\xcd\xd6\x37\xd8\x8a\xa5\x7c\x2d\x8a\x01\x63\x97\xd2\xbe\x80\x32\x78\x5c\xc3\x1c\x18\xa2\x93\xa6\x98\xbe\x82\x12\xb9\x46\xa8\xb1\xda\xfa\xc6\x4e\xc8\xf6\xa0\x01\x04\xe9\x04\xf0\x64\x4b\xb6\xe0\x51\x92\x26\x25\xc4\xf0\xfd\xaa\xd9\xd2\xce\x41\x16\x2c\x4e\x0a\x4d\x5e\x6d\x1d\xfa\xa2\xff\xae\x32\x7a\xb5\xb7\xac\x3b\x4b\x56\xfc\x0a\x6d\x81\x2d\xcf\x0d\x03\xa3\x1d\x14\x53\xc9\x55\x06\x6f\xfd\xf0\x0e\x40\xc6\x10\x2e\x5d\x6c\x18\x02\xdd\x4a\x0d\x10\xf6\xf8\x96\x01\xca\x59\x73\x05\x54\x29\x9b\x19\xd7\x28\xa4\x05\xc1\x3f\xc2\x57\x76\x54\x20\xe6\x1c\xf4\xc1\xb6\x12\xde\x20\x3e\xb3\x52\x15\x69\x98\x36\x56\x17\x94\x92\xa5\x92\x5b\xd4\xc2\x13\xe0\x35\x02\x0e\x20\xc7\x2c\x62\xff\xc0\x68\xc1\x9f\x1d\x7f\x63\xbe\x98\xf9\x63\x73\x06\x89\x5c\x6c\xe4\xf8\x90\x9d\x39\x83\x05\xfb\x94\x93\x66\xdc\xd7\xf3\xe9\xfb\x03\x7a\xf7\x97\xa9\xf4\x51\x5f\x46\xf4\xbb\xbd\xa8\xe2\xe4\xc6\x2f\x87\xbf\xed\x47\xbd\xc8\x23\xdd\xb5\xbb\xd7\x68\xd2\x47\xc1\xe2\x3e\x7d\x02\x9b\x28\xaa\x93\xc0\x4a\x3e\x5a\xfb\x23\x7b\x5f\x62\x5e\xdf\xa2\xf1\x85\x2c\x65\x66\x4b\x9e\x65\x22\x75\x9f\x3d\x22\xfd\x1d\xe6\x1b\xa6\x9a\x5e\xda\xc2\xc4\x42\x3d\x00\x92\x47\x37\x65\x46\x26\x31\x1f\x7d\xc8\x09\x67\x2f\x2f\x06\x90\xc8\x3a\xd3\xb0\xfd\xe2\x88\x75\x92\x3c\xda\x4a\xb2\xa4\xdc\x92\xd7\x1d\xa3\xc8\x05\x57\x9b\x54\x0c\x52\x79\xd5\xed\xfc\x98\xa1\x8d\x89\x31\x44\x82\xc9\xc0\x3c\x0e\x3b\x7d\x86\xdd\xf5\x7c\xbb\x50\xfb\xc4\x07\xcb\x55\x22\x8b\x0d\xfe\x9d\x67\x0b\xf9\x11\x1f\x11\xdb\x40\x31\xc8\x65\x51\x8e\x07\x32\x5b\x59\xab\x1e\xdc\x06\xb3\x26\x7c\xbb\xb2\x31\xe3\xe9\xe3\x4b\xc9\xe3\xda\xcb\x10\x3e\x8e\x28\x16\xc1\x7b\xbd\x26\xa0\x05\xa6\x53\x4e\x54\x9f\x9d\xb3\xab\x4a\x28\xab\x69\x3f\x2f\x21\x09\x55\xd6\xb1\xaf\xb9\x98\xb3\x3c\x07\x1a\xab\x4a\x91\x41\x26\x04\x2d\x03\x9e\x77\x56\xf4\xea\x6b\xac\x67\xd0\x20\x20\xcc\x3a\xb5\x14\x85\x30\xf4\x2d\x2f\xe4\x9c\xcf\xd3\xb5\x09\x2d\x5f\x4a\xa6\x72\xc1\xaf\x89\xae\x60\x4e\x2a\x59\x15\x74\x28\xd5\xa3\xb6\xb6\x76\x27\x36\x11\x07\xd1\x84\x21\x68\x30\xe7\xf4\xfd\x1d\xeb\x7a\x1f\x9b\x57\xed\x26\x7c\x15\xb7\xec\x55\x50\xfa\x07\xf6\xf4\x63\xdb\xa6\xb6\x77\x02\xb6\xab\xde\x50\x74\xf4\x06\x94\x6a\x89\xde\x37\x73\xa9\x4a\xea\xdb\xa4\xcc\xff\x87\xc6\xf6\x43\x87\xeb\x9d\x3e\xe3\xc5\xd5\xcd\x21\x7b\xff\x0f\x1a\xe9\xad\x2c\xca\xc3\xcd\x63\x4f\x3e\x7f\xf8\x6c\x2c\x91\xde\x6f\xae\xf5\xa1\x6f\x29\x49\x3b\x3e\xae\xf8\x3a\xc4\xc6\x87\xb7\x65\xf3\x66\x5f\x40\x42\xbe\xe0\xf2\x4c\xb2\x85\xf4\x2d\x1e\x1f\x47\x33\x1a\x47\xb4\x89\x09\xc0\x1f\x0c\xae\x44\x39\x8d\x22\x91\x97\x2f\x79\x76\x55\x69\xd2\xe4\xb2\x53\xa4\xa6\xc8\xbd\x90\xc3\x02\xfd\xed\xe8\x04\x13\xed\xf4\xd9\x7b\x2f\x4b\x34\x0f\x7b\x3e\x64\xb6\x47\xcf\x06\x6c\x21\x0b\x81\x86\x04\x33\x99\xca\xe2\xb0\x46\xf3\xf5\x0c\xcf\xc2\x2a\xdd\x9e\xd7\xdc\xd9\x21\x6c\x6c\x7e\x1c\x56\x09\x9a\xa3\xb2\x68\x63\xd3\x99\xfb\x1c\x34\x5b\x48\x7c\xf3\x6e\x9f\x2d\x7e\x6b\x34\x38\xe3\xab\x24\x5d\x6f\x6a\x82\x5f\x6b\x6b\x53\xe2\xc7\x1f\x5e\x1e\xba\xbd\xfa\xf1\x87\x97\xdd\xce\xb0\xd3\xf3\xf8\xdd\xcf\x1f\xec\x1f\xe6\xa1\xdf\x3b\x7f\x21\xd2\xfe\xa8\x44\xc1\xa2\x34\x89\xae\x49\x81\x17\xa5\x52\x09\x4d\x08\x4b\x30\xf7\x72\xf7\x38\x8b\xb5\x38\x6f\x79\xa1\xcd\x08\x3d\xd3\x3d\xcc\xb0\xcb\x4d\xf4\x06\x46\x69\xd0\x73\xa9\x88\xab\x7a\x10\x9b\x71\x96\x8d\xbe\xc1\x88\xaa\x7e\x35\x7f\xfa\xc4\xea\x65\x03\xa4\xc4\xaf\x65\x2c\x42\x37\xa4\x17\x4f\x9a\x77\xbb\x57\x79\x50\x88\x95\xbc\x11\xb3\x65\x92\x22\x34\xbd\x6a\xfe\x6d\x35\xf3\x97\xf7\x07\xe9\xc3\xac\x65\xa9\x35\x02\xc1\xf8\x6f\xa7\x07\xde\x91\xf5\x3b\xd7\x44\x14\x09\x67\x1d\xa2\x35\x62\x88\x70\xc3\x7c\x30\xfa\xae\xc0\x7c\x30\x1d\xd3\x65\x84\xd5\xac\x09\x95\x28\x59\x95\x0f\x40\xf8\xb8\x97\xfc\xfb\x94\x84\x28\xba\x9b\xd2\x21\xfc\xff\xb9\xa6\x87\x59\xca\x5b\x4c\x94\x75\x4e\x8c\xa7\x8f\x40\xc6\x52\x94\x6e\x4b\x55\x44\x66\x4a\x9a\xcf\x15\x64\x8a\x8e\x8d\xc8\xb4\xc7\x1a\x84\xde\x4b\x4e\x97\xa0\x09\xa9\xe1\x1f\x26\x5a\x49\x17\x74\x01\xbe\x08\x6d\x27\xf3\x92\xc0\x4b\x56\x6a\x3f\xf1\xb4\x12\xbe\x21\x25\xf0\x6b\x49\x06\x5d\x18\xbe\xb4\xe6\x26\xe7\x7f\x7a\xaf\xeb\x7f\x78\xf1\xc4\x77\xd7\xf1\xbb\xb6\x3c\x5a\xdb\xb4\x4c\x96\x1f\xff\xa4\x38\x75\x44\xdb\x41\xa9\xf1\x8d\x02\x37\x1c\x19\x78\x9e\x16\x82\xc7\x6b\x76\x93\xa8\x64\x9e\x92\x2d\x41\x83\x57\x04\x8f\x03\xc1\x63\x51\x58\x4b\x98\xce\x78\x2f\xbf\xeb\xbc\x30\x5f\xe3\xe4\x86\x1e\xbc\x5b\xcc\x89\xba\x96\xbd\xef\xd9\x06\xe6\x55\x50\x03\xb7\x03\x7f\x74\xfa\x6c\x6f\x07\x2d\x9c\x70\x3c\x1a\x09\x6a\xe0\x5f\x9d\x3e\xdb\x39\x70\x55\x52\xcc\x67\xdf\xa5\xc1\xe9\xdd\x67\x8b\x91\x67\xdb\x10\x3d\x0c\x75\xcd\x52\xe6\x7e\x45\xea\x7b\xcb\xbe\x3b\x43\x55\xb3\x14\x63\xc2\x71\x54\x27\xef\xe6\xcb\x47\x5b\xd7\x02\xdc\x54\x0e\x24\x0b\x6b\xb4\x11\x15\x82\x97\xe2\x14\xe5\xa8\x6e\x27\x4e\x6e\x10\xd0\xb6\xf6\x00\xb4\x06\x83\x48\x29\x30\x8b\x3f\x62\x86\x39\xea\x98\x1c\x49\x87\x8c\xcf\x21\x37\xae\x78\xe1\x94\x24\x1d\xb2\xb9\x3b\x64\x5b\xb7\x62\x7e\x9d\x94\x5b\x8b\x54\xdc\xf9\x15\xfc\xf2\x2d\x64\x6b\xa1\x33\xd2\x11\x7a\x35\x4b\x99\x1f\xb2\xf1\xe8\xbf\xf8\x65\x1a\xc0\x87\x6c\x27\x28\x03\xe0\x1e\xb2\xe7\x61\x4d\x04\xe4\x21\x3b\x08\x8b\xe7\xf2\x6e\x4b\x2d\x79\x2c\x6f\x0f\xd9\x88\x8d\xd8\x24\xbf\x73\x8a\x9f\xfb\x19\x03\xf6\x8c\x75\xc2\xae\x8a\x58\x14\x87\xbf\xb5\x0b\xa6\x64\x9a\xc4\x2f\x3a\x0e\xf3\x10\x91\x1f\xb3\x3d\x58\x73\xf3\xde\x3c\x1a\xfa\x94\xfc\x78\x8b\x78\xe1\x43\x06\xdb\x21\xb2\xb8\x0d\x84\x7a\x71\xc1\x61\xab\x03\xc2\xf2\x40\x5b\x11\x32\x3b\xbf\x13\xa2\xf7\xb6\x6e\x70\x5a\xf5\xd6\x9a\x0d\xda\x52\xc0\x38\x69\x52\xd0\xf8\xb4\x20\x16\x69\xd3\xe4\x1c\x9b\x54\x3b\x0a\xa0\x6e\x89\xf1\xaa\x46\x38\xf4\x2c\xe1\x03\x1d\xaf\x67\xd1\xf4\x1a\x92\x89\x5a\xbd\x85\xcf\x03\x0d\xac\x31\x2c\xf1\x44\x8f\xd8\x70\x66\xda\x2a\x51\x4e\x4b\x4a\x46\xda\xed\x14\x32\x05\xf7\x38\xfc\x58\xaf\xba\x01\x3b\x18\xeb\xac\x78\x71\x95\x64\x5b\x70\xb2\xb6\xb6\x03\x18\xb9\xaf\x05\xee\x7a\xe3\x33\xb2\xb3\x87\x2c\x97\xa0\xda\x7b\x51\x1b\xb6\x14\x77\xe5\x0c\xd1\x89\x5c\x52\xf8\x64\xd1\x09\xaa\xf0\x38\x3e\xd5\xd2\xe5\x4b\x92\x93\xbb\x1d\xe0\x17\x3b\xfd\x80\xdb\x31\x0c\x5f\xc8\x69\xea\x6e\x08\xfd\xfd\xfd\xc0\x9e\x7b\xc1\xc5\x40\x37\xf4\x51\x5d\xe3\xb2\x09\xda\x58\x03\x97\x43\xec\x8e\xcc\x52\x14\xa6\x3c\xa5\x41\x5d\xf4\xa4\xaa\x7f\xfc\x30\xea\xf2\x43\x36\x6e\xa1\x69\xe0\xea\x15\x0c\x16\xa0\x81\x2a\xa2\x4e\x20\x43\x6e\xaa\x27\xf8\x2a\x15\x4a\xe9\xca\x45\x25\xee\x41\x6f\x6c\xee\xf1\x56\xfa\x8e\x0c\x6a\xd8\x76\x8f\x52\x7c\x5f\x8b\x35\x1a\x8b\xfe\xef\xa3\xfb\x46\x76\xe2\x7b\xb3\xb0\xef\xc5\xfa\x15\xcf\x7d\x5d\xb8\xf9\xc4\x96\xa0\x5e\xb1\x41\xad\x66\x32\xc3\x1c\x97\x32\xfb\x5e\xac\xbf\x42\x45\x0b\x66\x49\x45\xcf\x1e\xfd\xe5\xa7\xcb\xef\xc5\x5a\x95\x85\xbc\x16\x46\x66\xe2\x4a\xc9\x28\xe1\x25\x66\x78\x0f\x55\xb4\x9e\x36\x16\x59\x78\x01\x5a\xee\x43\xf6\xfe\xff\xba\x3c\xfd\xe1\xd5\x07\xc6\x35\xf4\xc8\x43\x0e\xd6\x7a\x53\x0e\x7e\x6d\x98\x8d\xb6\xe9\x7d\x6b\x43\x78\xd3\x30\xaf\xa9\x89\x62\x76\x7f\x3d\x06\xd7\xae\xbf\x45\x17\xeb\x42\x31\x39\xcd\xf2\x4d\x89\x6f\x05\x79\x21\x28\x28\x50\x40\x9d\x03\xc5\xac\x6b\x6c\x6d\x61\x45\xa7\xb0\x56\xcb\xe9\x9a\x45\x3c\x2f\xd1\xfb\xca\xcc\xcd\x00\x7a\x21\x5d\xe7\xe6\x1b\xd1\x00\xa7\x56\xf5\x06\xd0\xad\xcc\x1e\x2a\x8c\x76\xe4\xf2\x9f\x03\x30\xd1\x69\xa3\x5c\x8a\xa4\x60\x90\xc6\x11\xd8\x7d\x7d\x1d\xaa\x3e\x53\xfc\x46\xef\x98\xee\x4e\x49\xf4\x9b\x43\xd4\x63\x55\x06\x6f\x5a\xe0\x29\x46\xa9\x9e\xb5\x2c\x18\x90\xc6\x3e\xea\xfb\x29\x8e\x4c\x6c\x27\x6e\xe6\xf3\xd1\x66\x06\x60\xec\x7d\x67\x9e\x56\x85\xa3\xa2\xc7\x69\x55\xf8\xc4\xea\x83\xd5\x45\x75\xae\xc5\x3a\x96\xb7\x99\xab\xfb\xbd\x58\x9f\xc8\xdb\x6c\x73\xf5\xbc\x20\xc2\x61\xeb\xbf\xd5\x25\x9b\x1b\x54\x79\x50\xfb\xc7\x7c\x43\x55\x7d\x5f\x9c\x67\x79\x55\xba\xea\x97\xa6\x28\x68\xf2\x84\x31\x14\x4d\xe0\x7c\x31\x12\xc3\x8c\x9d\xfa\xb5\x58\xb3\x15\xcf\xe1\x72\xfd\x6a\xe8\xed\xef\x2b\x9e\x93\xf2\xb1\xf5\xc4\x1a\x3a\x6e\x5a\xe8\x01\x93\xec\x4a\xb5\xb7\x39\xa6\xaf\x5e\x2b\x3b\x9b\x4c\x66\xe2\x90\x9d\x24\x0a\x42\x6c\xf1\x6c\xcd\xa6\x69\xf9\x97\x82\x15\x22\x85\xd3\xb2\xaa\xb2\x2b\xe3\xe5\xf5\x15\x8b\xca\x22\xdd\xe2\x69\x79\xc8\xa6\x90\xf2\x96\xcd\xca\x22\x7d\x36\x4d\x4b\xb6\x12\x3c\x53\xd8\x96\xea\x6a\x6e\x37\xa8\x0b\xf2\x45\x7b\x5d\x20\x95\x41\x65\x24\xb4\xad\xb5\x2d\x9c\xb8\x2e\x7b\xa5\xc9\xa7\x71\x5a\x0b\xd7\x76\xbe\xc0\xd4\x8a\xec\x62\x99\x2c\xca\xad\xf3\x4c\x89\x82\x5e\xc7\x16\xe0\x19\xbe\x84\xf7\x39\xa3\x2c\x30\x4e\x36\x90\xc0\x1a\x6c\xc1\x07\xb6\x1f\xe0\x94\x20\x41\xbf\xde\x33\x22\x71\xd0\xd3\x1c\xb4\xe1\xd6\x52\x6b\x29\xc1\x06\xca\x9f\xa6\xd2\xa3\xe3\xe0\x68\x27\x7f\x44\x71\x08\x5b\xe7\xba\x94\x2b\x31\x14\x60\x8d\x9a\xa6\x36\xec\x58\xf0\xfa\xa8\xc0\x15\x75\xce\x0b\xf4\x88\xd7\xdd\xdb\x66\xd8\x1b\xb4\x55\x02\xcf\x37\xfb\xe9\x52\x4f\x5a\xdf\x33\x6a\xc0\xec\x6a\xf4\xa7\xcc\x0d\xa7\x40\xc3\xfa\xd3\x25\xdc\x47\x0a\x2d\x4c\x74\x57\x61\xf7\x34\xb6\xaa\x2d\x51\x7f\xd6\xa4\x1f\x9d\x64\xbd\x2c\x8c\xde\x0a\x2f\x40\x40\x56\x8c\xcf\xe5\x8d\xe8\x93\x8d\x3c\xf0\x9a\x39\xbf\x12\xac\xca\x87\xf0\x53\x9f\xf0\x5a\xef\xba\xfc\xa1\xde\x2d\xfc\x34\x46\x6e\xbd\x4d\x2b\x35\x7c\x95\x64\x95\x1a\xfe\xbb\x28\xa4\x01\xa3\x02\x8f\xf7\xc6\xae\x42\x13\xc4\x91\x7b\x1b\x52\x4d\xf8\x4c\xf0\xfa\xeb\xc7\x3e\xf6\xe6\x86\x85\x76\xb1\xb4\xa1\xaf\xc2\xb5\xe8\x13\xa4\xab\x41\x27\xba\xea\xbf\x4b\xb9\x6a\xc5\x08\x38\x5a\x33\x74\x7a\x57\xe0\x48\x00\xeb\xa3\x71\x67\x1a\xe1\x34\xb2\xe9\x2f\xd6\x43\xc0\x34\x83\xc5\x3c\x9b\xb5\x56\xc6\x6e\x5c\xb7\x5e\xe3\x60\x96\x33\xf0\xaa\x69\x05\x36\x8c\xf1\x13\x9e\x91\xe6\xd4\x7e\x7a\xc4\xd4\x7e\x6a\xad\x8c\xdd\xb8\x6e\x37\x4d\xed\x27\x73\x8e\x5a\xe6\x76\x0a\x2e\xf4\xc3\xd8\x50\xb4\x3c\x4f\x8d\xfb\xbb\xbe\x10\x78\x8c\xfd\x19\x5a\x9c\x28\x7a\xb0\x26\x33\x5b\xbe\x66\x59\xb5\x12\x45\x12\xc1\x41\x87\x6b\x13\xce\xb7\x7d\x97\xf4\xb8\x86\x80\x18\xb9\x81\xbe\x87\x71\x1e\x35\x3d\x60\x91\xbc\x29\x5a\x13\xcd\x58\x3c\x38\x4f\xaa\xfb\xbb\xa7\x89\x2a\xfc\x07\x8e\x13\x10\x46\xcd\x13\x40\x04\x0e\xf2\xa9\x07\xca\x72\x7c\xc1\xba\x9d\x9f\xef\x46\x07\x9d\x3e\xe3\xd7\x9c\xfd\xf5\xbb\xde\x80\x61\x7e\xff\xdb\x44\x09\xec\x27\x6c\xae\xaf\x3b\xbf\x8b\xce\xcf\x77\xfb\x8b\x4e\x6d\x86\xb6\x3a\xbc\xf9\x1c\xdb\xc6\xad\xf3\xc4\xf0\x33\x98\x64\xd8\x28\x2e\x35\x49\x89\x79\xc9\x1f\xa2\xcb\xd6\x98\xf5\xd4\x74\x70\xc4\x3a\x55\xb9\xd8\x3a\xa8\xdd\x23\x17\xa2\x74\x79\x6a\x97\x42\x8f\xc3\x71\x2d\x80\xc3\x9c\xa5\x82\x43\x7b\xa1\x22\x9e\x0b\x26\x0b\x48\xb7\x1e\x8e\xa6\x1b\xc1\x8a\x4e\xb1\x52\xdb\x91\xf7\x07\xd2\xf5\xb7\x7e\x42\x07\x4b\x63\x58\x2c\xdb\x96\xa1\x3f\xbe\x12\x25\xff\xa9\x9d\x8a\x18\x02\x66\xd4\xc3\x3c\x45\xb6\x03\x6c\x90\x35\x3b\x16\x1c\x08\x5a\xc2\x00\xff\x91\x56\x3d\x63\xa7\x17\x33\x08\x56\x91\xdc\xd1\x51\xc6\x20\xa4\x03\x53\x6f\x1a\xc7\x6c\x3c\x39\x30\xc0\xae\x32\xb8\x35\x44\xec\x85\xcf\xe3\x4a\x33\xf0\x77\x14\x39\x05\xfa\xa0\x0b\x77\xeb\x5a\xac\x07\x03\xf6\x8e\x27\xa5\x55\x3d\x18\xde\x8d\x18\x59\xb8\xe7\x84\x60\xb7\xc6\x4c\xd4\xdc\xd5\x8a\xaf\x95\xe9\x2e\xfc\xd7\x85\x33\x73\x2b\xb3\x4e\xc9\x6e\x65\x71\xcd\x6e\x45\x9a\x6a\xa9\x24\x4f\x79\x09\x11\x21\xc9\x69\xde\xeb\xae\xb5\x23\x96\x8b\x02\xeb\x73\x1b\x5f\x84\xbb\x98\xd6\x10\x90\x46\x03\x55\x89\xbf\x55\x5a\x50\x51\x83\x5e\xfd\xe4\x2a\x51\x82\x95\x2b\x44\x08\x59\xf1\x12\x0c\xa8\x81\x45\xd6\x0d\x13\xc5\xe2\x44\x95\x49\x16\xd1\xf1\x05\xfc\xea\xf2\xb4\x3c\x87\x8d\x65\x89\xc2\xbe\x90\x1c\xf6\x1a\x4c\x10\xa0\xd5\x3b\x0d\x9a\x23\xd6\xc1\x0d\x7c\x00\x83\x0d\x12\xf0\x48\xcb\x70\x0a\x1e\x4e\x10\xa7\xfb\x60\xb2\x26\x38\x98\xaf\xe7\x85\x8c\x2b\x08\xb6\x0a\xdb\x4d\x3c\x60\x10\x77\xd5\xae\xb3\xa8\xe0\xd5\x05\x23\x98\xf4\x0d\x8b\x01\x81\x68\xb0\x44\x8b\x28\xba\x80\x57\xa5\x44\x57\x71\x67\x13\x6a\xf6\xa4\xc9\xe0\x11\x08\x1e\x20\x52\x05\x58\xe3\x49\x72\x41\x67\x27\xa7\x2f\x61\x79\x24\x3b\xd9\xa0\x40\x00\x5d\x9e\x96\x5b\x8e\x24\xc9\x8c\xce\x09\x3a\x40\xbf\xb9\x60\x37\x64\x83\xc2\xa1\x73\xdb\x17\xa0\xa3\xbf\x62\xa7\xd2\x3b\x64\x53\x32\xec\x4a\x56\x18\x2e\xa8\x48\xf4\x7e\xf7\xf5\xd2\x6c\xc7\xfd\xda\xc8\x89\xd2\xac\x7f\x2e\x88\xcf\x2a\xa5\x1e\x6a\xc0\x2e\x74\xed\x4a\x69\x0c\x59\xf1\xb5\x66\x2f\x97\x3c\xcf\xd7\x4e\x6c\x45\xf3\x0c\xb0\xc8\xb4\x55\x16\x45\xa5\xca\x02\xa5\x6c\x66\xc2\x20\x25\x65\x47\xb1\x64\x95\x4b\x05\x8f\x11\x00\x1f\x89\x74\xc5\xce\x62\x00\x40\x5c\xe2\x88\xb4\x79\x0a\xa5\x63\x7d\xde\x89\xb9\xb9\x85\xef\x00\x91\x24\xba\x86\x53\xae\x0f\x53\x08\x21\x3c\xaf\x4d\x10\x1f\x5a\x18\x07\xc5\x7d\xdd\x2b\xf1\xa9\x22\x40\xca\x2b\x09\x4c\x60\x1f\x19\xd4\x2b\x51\x32\x6e\xc6\x40\xc6\xdb\x5f\x23\xb9\x6e\x98\x4d\xc6\xe3\x94\xc9\x12\xf7\x4b\xc4\x03\x50\x2b\x50\xc2\xfa\xa8\x98\x57\x57\x83\x48\xae\x86\xe3\xfd\x9d\x9d\xf1\x88\x35\xf1\xcd\xde\x37\x88\x78\x0f\x5c\x3f\x3f\x12\x59\xbe\x16\x22\x67\x65\xc1\xa3\x6b\x63\x40\x68\x24\x3c\xbd\x66\xb8\x2a\x4a\x88\x9c\x61\x5d\x4f\x32\x11\x09\xa5\x20\x42\xbe\x2c\xdc\x5d\x79\xdf\x0c\x5c\xb4\x20\xe4\xa1\x81\x2a\x1a\x82\x69\x65\x21\xec\xcb\xd5\x05\xa3\x40\xb4\x46\xe4\x6c\x9e\x94\x2b\x9e\x23\x2e\x21\xf5\x9b\x27\x25\x33\x8f\x22\x8a\x45\xb2\x28\x84\xca\x65\x66\xa2\x2c\x61\x6f\x4f\x53\x89\x2c\xc3\x53\x4d\x12\x20\x1b\xbe\x59\xa7\x3d\x66\x4d\x50\x1a\x69\x5b\xc4\x36\xe2\x66\x0b\xbb\x6e\xcf\xdd\x4a\xc4\x09\x47\x6e\xc6\x08\x56\x78\x3e\x68\x2a\x49\xc1\xce\x00\x94\xe2\x6f\x55\x72\xc3\x53\x3b\x26\x3b\x1d\x5c\x0d\xd8\x53\x0d\xa8\xa7\x2d\x4d\xcf\xc6\x03\x9f\xd7\xc7\xf1\xc8\x44\x12\x2c\x88\x8c\x50\xd7\xb8\xb0\xe3\x84\x6b\xb1\x63\x5a\x88\x33\xfd\xb3\x1d\x05\xbe\x93\x29\x59\xa6\xe4\x85\xb8\x49\x64\xe5\x91\xfb\x05\x0b\xa8\x33\x50\xfc\x93\xd3\xd9\xc5\xe9\x25\x83\x9c\xb3\xe8\x82\x14\x0f\xc0\x2f\x08\xbb\x3b\x39\x9d\xfd\x70\x11\x7e\xee\x87\xbd\x58\x4e\x30\x06\xce\xca\x1a\x8f\xa3\x36\x07\x76\x9a\x44\xfb\x0a\x94\x34\xb2\x6a\x70\x0c\x34\xd1\xa9\xd7\x6d\xab\x6d\xde\x05\x85\xe9\x05\x40\x41\x04\x41\xe4\x37\x67\x20\x22\x42\x9c\x29\xab\xa7\x4a\xf9\x1a\x47\x6a\xa8\xd2\xf4\x2f\xd3\xc8\x58\x17\xfe\x23\xe0\x4e\xb4\x18\xae\xa7\x23\xb2\xf2\xc4\xdc\xad\xfa\xae\x2f\x65\xfe\xb6\x90\x39\xbf\xf2\x03\x57\xa1\xca\xce\x63\x09\x48\xc4\xc2\xbe\x44\x20\x2b\xcc\xa6\xaf\x67\xa7\x2f\x0f\x41\x1d\x82\xd6\x9d\xdd\x0e\x96\x75\x7a\xfd\x1a\x0b\xa9\x89\x9d\xb9\xe3\xf5\x46\x9a\x5b\xde\x99\xfb\x46\x41\xf8\x2c\xcd\xaf\x80\x1c\x0d\x41\x2b\x50\x05\x8b\x7d\x99\xe8\x12\xa6\x05\x69\xd8\x6a\x7a\x03\x6b\x87\x0e\x8a\x86\x22\xc9\x30\xbe\x39\xdc\xbe\xb6\x2b\x3f\xc8\xfd\x06\x35\x43\x30\x07\x99\x09\x73\x26\x57\x32\x4e\x16\x89\x61\x67\x70\x2a\xaa\x5f\x8b\x03\xa7\x3b\xa5\x55\xc3\x17\x9c\xb9\x9d\xf8\x42\x8f\xdc\xa5\xbb\x63\xdd\xb3\x04\x1c\xc3\x2b\x27\x65\xc0\x34\x6e\x99\x5b\x84\x3a\x31\xac\x10\x46\x60\x54\x48\x6f\x66\x17\xe7\x7d\x8a\xa3\x40\x5f\xcd\xc2\x38\x38\x35\x99\xbb\x8b\x31\xf4\xc9\x03\xf7\xbd\x60\x3d\x0c\x14\xbe\x82\xb8\xc9\x58\xa8\xa8\x48\xe6\xb8\x7a\xa3\x31\x36\x06\xbb\x18\xdd\xcc\x74\x67\xc2\xc7\xeb\x4f\x4f\xdf\xce\xb6\x2e\x40\xb1\x7e\x66\x2c\x12\xf4\xe1\x7e\xca\x14\x3e\xe6\xb6\x2f\xcc\xe8\x61\x88\x73\xd6\xf7\x93\xdd\x5c\x5d\xb6\x61\x4b\x5d\x98\x39\x3b\x19\xd3\xaa\xca\x73\x51\x44\x5c\x09\x1b\x1f\x88\x26\xe8\x98\xe7\x6b\xb1\x8e\x38\xc4\xcb\x21\x23\x74\xdb\xc9\xde\x0e\xeb\x62\x74\xfd\xce\x7f\xed\xf4\xa0\xcf\xe7\xbb\xb6\xe8\x63\xa7\x47\x97\xe7\x7d\x03\xd9\xce\x1a\x03\xae\x40\xc1\xb1\xb7\x83\x51\x0d\xb3\xd2\x5c\x21\x2b\x7e\x2d\x14\xeb\xfc\xf5\xbf\x76\xac\xf8\x36\x1a\x75\x9c\xaa\x88\x31\xd6\xf9\xeb\x47\xf7\x71\xbc\xe8\x0c\x18\xeb\xbe\x96\xc6\xb5\x52\xe3\xe8\x32\xb9\x42\x2e\x94\x97\x6c\x74\x37\x5e\xe8\x41\x46\x77\x93\x91\xbb\x1b\xdd\xbe\xc1\x4e\x16\xaa\xf4\x20\x8a\x4b\x84\x48\x8a\x01\x9f\xed\xb6\xca\x13\x70\x7e\xf3\x36\x01\xd4\x82\xf1\x31\x66\xa3\xb9\xd4\xfd\x7c\x30\x06\x68\x55\xce\xe6\x6b\x2d\xfd\x34\x31\x67\x85\xdc\xbb\x9b\x47\x24\xb3\x45\x72\x55\x15\x78\x33\x29\x92\xae\x90\x65\xef\x03\xc8\xe6\x9d\xe0\xbc\xdb\xb9\x50\xac\xba\xe6\x49\x75\xc4\x4b\x78\xb2\xfe\xc9\xe9\xd9\xf4\xc7\x97\x97\x21\xfd\xa3\xc2\x3a\x01\x9c\xa1\x27\x67\x18\xc0\x4f\x32\x99\x97\xfa\xee\x80\x58\x96\x86\xfe\x07\x37\xbe\x13\x15\x52\xbc\xf0\x3c\x91\x9f\xc4\xb3\x58\x00\xa9\x29\x97\x96\x62\xe8\xc9\xbd\x9d\x5e\x5c\x84\x33\xd3\x25\xf5\x69\x91\xba\xd6\x21\x81\x16\xb6\x44\xa4\x79\x13\xb7\x0f\x8e\x0b\x99\xf1\xbc\xef\x04\x0a\x81\x5a\xd7\xef\xc5\x7a\xe0\x14\x05\x7a\xe6\x06\xb8\x24\xfb\x22\xe5\xa4\x77\x04\x7c\x11\x11\x83\xf0\x42\xea\xf6\x4c\x23\x22\xcc\xc6\x28\xca\x6e\xf6\x79\x49\x57\xf5\xa2\x4a\xc9\xe9\x99\x48\x56\x6c\xa4\x2c\x88\xc8\x87\x1c\x57\x52\x32\xcd\x14\x65\x65\x02\xc1\xf6\x55\x59\x24\xb9\x72\x07\xd2\x12\x3b\x4c\xc3\x43\x73\x31\xc0\x37\x80\x05\x36\xbb\x10\x1c\xe3\x6d\xd1\xa5\x70\x6d\x56\xab\x81\x7c\x71\xf9\xc3\xf9\xdb\x10\xca\x50\xd4\xe9\xf9\x37\x3c\xa8\x3e\x84\x73\x91\xe2\x51\x24\x8b\xd8\xeb\xb3\xa3\x91\x74\xcb\xa8\x58\xfc\x90\x95\xad\x57\xbd\xe7\x0c\x86\x3d\xb7\x45\x63\x77\x36\x57\x4d\x0d\x8c\x55\xc1\x04\x11\xed\x83\x37\xb5\xc1\x4d\x49\xbd\xff\x78\x79\x76\x00\xdd\xbe\x08\xc3\x2e\x87\xf6\x94\xf0\xa6\x26\x1a\x2f\x6a\xfe\x75\xea\x3d\x0f\xd2\xd3\x5c\xe0\xc9\xe3\xe4\x22\x4f\xaf\xc6\x4c\xcf\xb6\x47\x2d\x62\x46\xf8\x4e\x4a\x21\x31\x8d\x67\x0c\x78\x93\x1b\x9d\x3e\x48\x27\xee\xe6\x4d\x8a\xba\x5a\x41\x16\x6c\x5e\xcd\x49\x64\x43\x4f\x3f\x9a\x95\x7d\xfb\x7c\xcb\x95\x82\xfd\x42\xb1\xda\xc5\xd6\x49\x53\xf7\x42\x17\xcc\xd7\x3e\x06\xb6\x45\xdd\xa1\x97\xc4\xcf\xb6\xa3\xe0\x91\x72\x29\x95\xb0\x50\x5b\x9a\xb0\x80\x11\xad\xbe\xcf\xb4\x00\x83\x6a\x13\x23\xe3\xfb\xea\xcd\xfb\x5e\x59\x3d\x7c\xa1\x39\xb7\xbd\xbf\xd2\x44\x3c\xbf\x0e\x9a\xd9\xd1\x51\xfb\x83\xa8\x8f\x3b\xd6\xd8\xc5\x34\x32\xd6\x7d\xed\x8d\xd0\xea\x22\x9c\x0b\x44\x10\xeb\x6d\x4c\x19\x10\x3e\x6d\xda\x40\xed\x89\x8b\xcf\x0e\x76\x52\x58\xc1\x58\x65\xd8\xfa\xef\x93\x0f\x2e\xd8\x60\xb0\x52\xfd\xcf\x60\x63\xc3\xf8\x84\xda\xbf\x1f\x7d\xe8\x9b\xae\xdf\x8f\x3f\xb4\x47\x46\x6b\x5d\xee\xa0\xe5\xdd\xf6\x81\x5e\x03\x5f\x97\x96\x47\x68\x9a\x6c\x98\x33\x82\x30\x21\x3c\x7d\x06\x79\x82\x53\x06\xc8\xcb\xd3\x94\x14\x95\x36\xe6\x9d\xd4\x42\xa7\x96\x96\x7d\x9d\x8e\x09\x58\xf0\x00\x56\xd9\xb3\xd0\x86\x57\x9e\x21\xf6\x86\x1d\x6f\xba\x9b\x78\xef\xbc\x34\x15\xb3\x86\x77\xf0\x96\x0f\x09\x84\xa2\x12\x13\xa9\x80\x8f\x0d\xa9\x08\xae\xd0\x4f\x5a\xcb\xa0\xf3\xaa\x64\xb7\x82\xc5\xd2\x18\x49\xbc\xe2\x91\xe1\x5c\x35\xa3\x06\x4e\x7f\x70\x57\x84\x3e\x86\x3c\xcf\x49\xe5\xac\xd6\x59\xb9\x14\x25\x3d\x52\x80\x54\x01\xfa\x2f\x94\x6e\x1f\x80\x89\xff\x54\xbd\xc1\x71\xea\x0b\x72\x75\xaa\x9f\x23\x72\xa8\x52\x79\x9a\x94\xdd\x4e\xa7\x37\x58\xc8\xe2\x94\x47\xcb\x6e\x48\xa0\x03\x4b\x10\xf7\x1a\x6e\x2b\xf4\x36\x80\xd6\x68\x0c\x3c\xc8\xde\xbb\x0e\xfb\x9e\xdf\xb2\x0c\x93\xb5\xc3\x1a\x2a\x6a\xe4\x39\xa2\xbb\x70\xa0\xef\xcf\x19\xa5\x0b\xe8\x8a\x01\xb0\x9e\xce\x10\x56\xde\x8a\xe2\x7b\xa8\xae\xaf\xd4\x52\xbe\xd4\x05\x33\x8e\xb6\xec\x08\xa1\xae\x80\x97\x28\x5d\xeb\xd3\x27\x26\x40\xbd\xff\xbd\x58\xf7\x34\x79\xe9\xba\x0e\x8e\x58\x27\xea\xe8\x1a\x41\xd1\x4d\xa7\xe7\x59\xdd\xbd\xc9\x30\x7a\x98\x70\x7a\x46\xd6\xd5\x78\xa4\xff\xd4\xac\x63\x8f\x0e\x0d\xbc\x05\x2c\x12\x7d\xe3\x40\x36\x45\x99\xaf\x87\xee\x9d\x5a\x77\xf5\x52\x40\xec\xeb\xe0\x75\xdb\x48\xad\xe6\x92\x31\xe7\x6a\x2e\x96\xfc\x26\x91\x15\xbe\xaa\xd7\x6d\x94\xd1\x7d\x0e\xb5\x38\x96\x64\x86\xba\xe6\x23\xd6\xf1\x34\xf8\x1d\x5d\x4b\xd8\x1c\x0c\x90\x9c\xca\x0f\x96\x06\x29\xb7\xae\x64\xc9\x50\xed\x24\x20\x7e\x08\xe8\x00\xf5\xdf\xe2\x2e\xa7\xd8\xa1\xb5\xa3\x4f\x3a\x1a\x9e\x99\x8e\x7c\x55\x3b\x9c\xa4\xa4\x64\x71\x12\x67\x9d\x52\x1f\xa8\xa4\x24\xc9\xe7\x56\xb0\x15\x98\x10\xcc\x05\x06\x1d\x60\x6f\x2e\x4c\xba\x38\xdb\x55\x66\x02\x6e\xb3\xf3\x57\xa7\x14\xba\xce\x44\x4d\x01\x63\x2b\x9c\x21\x80\xd3\xe8\x5a\xe0\x05\x63\x2b\x4d\x50\x0d\xa9\xbb\x21\x40\x16\x66\x17\x4c\xf9\xa5\x1f\xe7\x05\x56\x0d\xfa\x7f\x50\xb7\x2f\xc8\xd4\x46\x8b\x56\xeb\x3c\x89\x80\x5c\x00\x79\xf0\xde\x27\xf0\xae\x35\xdd\x41\x7c\x79\x7f\x03\x4a\xc9\x44\x02\xdc\x81\x51\xfa\x6b\xce\xa1\x03\xaa\xfa\x8e\xb3\xd7\x8c\x96\x1b\xd1\x9e\x54\x39\x5e\x5a\x8c\x2f\x1c\xe3\x6c\x2c\xee\xa1\x7d\xb4\x6c\x1e\x03\xc6\x88\xc3\x8b\x96\x7e\xea\x8d\x51\x8f\x3d\xd3\xe2\x10\x1c\x3c\x2f\x99\xa3\x87\x1b\xdf\x1c\xb1\xed\x89\x35\xa4\xd7\xfd\xbb\x8f\x01\x06\x46\x4b\xef\x56\x6e\x27\x2f\xdd\xb6\xa5\x45\xcb\x5e\x8f\x08\x56\x9d\x99\x7f\x01\xa5\x35\x05\x53\xcd\x05\xe7\x2d\xb6\xb1\x47\x26\xd0\x7f\x65\x32\xdb\x02\x3b\x18\x23\x00\x5a\x9f\x43\xb8\x05\x96\x90\x30\x67\x35\x4f\x32\x63\x20\x45\x2a\xc7\x5c\x4f\x5f\x81\x00\xde\xe1\x79\x4e\xa1\x92\x07\x8b\x2a\x4d\x29\x3e\x90\xf1\x86\x39\x55\x51\xa7\x6f\x58\x46\x0a\xca\x0d\x59\x71\x65\xb9\xb4\x44\x01\x3e\xea\x3f\xaa\x9c\xc8\x65\xff\x09\x49\x5f\xa7\x17\x33\x92\x76\x57\x3c\xc9\xb4\x64\x02\x57\xb0\x9e\x4c\x92\x31\x37\xa0\x99\x99\xbe\x57\x4c\x5c\xea\xfb\x49\x2e\x01\x13\xdb\x4d\xf3\xfc\xb5\xcc\x66\x65\x91\xc2\x9b\x3e\x41\x78\xe3\x95\x12\x46\x9a\xfd\xf4\x89\x85\x25\x10\x4b\xb7\xb5\x94\x20\xd5\xab\x91\x29\x42\x57\x8f\x0a\x37\x90\xb7\x6d\xf7\xf5\x36\xdf\x73\xa5\x80\xf9\x59\xcb\x12\x36\x29\xb5\x1f\xe8\x0e\x6d\xc8\x36\xba\x27\xd3\x01\xd4\xc4\x72\x7c\xe0\xa1\x7a\x7d\xa0\x96\xc2\x2f\xd9\xff\xe8\x8e\xd9\xd7\x5f\xeb\x6e\x8c\x7a\x9e\x6d\xb1\x71\xcf\x99\x77\x07\xfd\x4f\xf6\xbd\xfe\x1f\xb3\x8f\x5d\xb1\xf9\x96\xd6\xd2\xf2\x6f\xb8\xa4\xc1\x48\xef\xcf\x00\xc2\x27\xf6\x2f\x80\x81\xe3\x1f\x4e\x84\xf1\x1d\x22\x1b\xbd\x01\x16\xaa\xf7\x76\x98\x0f\x16\x35\xf1\x53\xdd\x5d\xe8\x96\x17\x59\xb7\xf3\x5a\x32\x48\x9f\x94\x58\xbd\x32\x35\x47\x03\xff\x3a\x65\xae\xdd\xcd\x64\xe3\x69\x92\x93\x90\xd4\x88\xb6\xa4\x57\x92\x84\xf7\x4a\xd9\x34\xd9\x85\x50\x32\xbd\x11\x31\x2a\xe1\xc3\x0c\x22\x2d\x5e\x51\x9e\xaf\x16\x38\xc1\x5a\x87\x38\xef\x3a\x37\xc9\xc4\x9c\x7a\xa3\x16\xad\x81\x0a\x33\x8c\x7c\x60\x54\x73\x56\x65\xc5\x4d\x47\x2e\x5f\x41\x9c\xa8\x1c\x62\xae\x26\x65\xa3\x45\x2c\x16\xa2\x50\x46\x5a\x0f\x14\x60\x7d\xd3\x13\xad\xd2\xbc\x0b\x82\x66\x6a\x60\x9c\xc2\xda\x00\xc0\x57\x82\x9c\xc6\x20\xa6\x3c\x8e\x74\x44\xfb\x6c\x9c\xca\xcc\xc5\xa8\x81\xed\x60\xad\x79\x1f\x33\x73\xeb\x73\x6a\x7b\xc0\x5f\xc0\xd4\x66\xdd\x05\x4f\x35\xc4\x96\x3e\x7b\x2f\xfa\xd4\xff\x87\x1e\x8d\xad\x3b\xb7\xbd\x1e\x19\xc5\x9d\x66\xa6\x6c\xd8\x02\x7a\x54\x68\x8c\xe3\x76\xc7\x56\x09\xbd\xe0\xb0\xa6\x8f\x37\x4e\x17\x4b\x6f\xba\xa0\xf5\x2b\x92\x3c\x15\x5b\x14\xbe\xa7\xdb\x39\x3a\x3a\xea\xf4\x98\xcc\x45\xc1\x4b\x59\xe0\x73\xaf\x2a\x31\x56\x51\x52\x9a\x17\x4b\x8c\x59\xab\x50\xe5\x51\x72\x7d\x01\x81\x36\xad\x88\x91\x73\x43\x9b\x86\xab\x4a\x2d\xf5\x05\x74\xe5\x94\xa8\x54\x1d\x75\x58\xf0\x09\x7b\xd3\xe0\x65\x69\x52\x8a\x82\xa7\x41\xc4\x1d\xc3\x43\x95\xd2\x18\xfe\xbb\x90\x45\xf3\x35\x66\x00\x81\x3d\xc4\x07\x1e\xeb\x35\xd7\xf2\x00\x35\xc0\x2a\x86\xd3\x37\xd0\xbe\xaf\x05\xd5\x31\x4d\xde\x4e\x2f\x2e\xee\xad\xaf\x2b\x98\xca\xa0\x71\xbb\xb7\x36\xd4\x08\x1c\xe0\x0a\x88\x32\x67\x2f\x36\xd3\x95\xe6\x7b\x8f\xea\x66\x11\xdf\x92\x9d\xc5\x21\x33\xbc\xba\x4d\x12\x8e\x56\x13\x8d\xfa\x8e\xa9\x0f\xc5\x96\x43\xf7\x87\xcd\x92\x9b\x99\x23\xbe\xb5\xd2\xc8\x7b\x2b\x98\xaa\x0a\xcc\x22\xe1\x94\xae\x96\x27\xb2\xea\x74\x78\x19\x7c\xfa\x7e\x30\x18\x7c\x78\xea\xe2\xfa\x5b\x65\xfb\x11\xfb\xa2\x3b\xfc\xeb\xcf\xef\x7f\xbe\x7d\xf6\xf3\x87\xff\x3c\x84\x5c\x2b\x5d\x3c\x14\x03\xec\x92\xc8\xb7\xba\x4d\x20\x04\x73\x68\xeb\x6b\x09\xaa\x66\xce\x3b\xc6\x20\xb9\x73\x68\x0f\x93\x3f\xd6\x97\x5f\x5a\x90\x7e\xf9\xa5\x06\x61\x10\xd2\xde\x34\x76\x53\x27\x63\x63\x18\x6c\xc0\xd8\x3b\xc1\xa2\x54\xf0\x02\xf4\xe0\xfe\x33\x10\x3d\x79\x38\x89\xc4\x68\x6d\xf1\x19\xf6\x96\x27\x25\x2a\xf8\x85\x7d\x37\x80\x3b\x28\xb1\x20\x8d\xed\x0d\x6a\x23\xde\xdb\xbd\xb7\x59\x0f\xe0\xb4\xc3\xbe\x7b\x45\x9f\xe1\x7f\x4a\xcf\xe7\x81\xc2\xda\x50\x6f\x86\x45\x4d\x4c\xb7\x9a\xb9\x3a\x67\x31\xe9\x79\x79\x4b\xfe\xe0\xb4\x8c\x19\xf8\x1f\x9f\xd5\xf8\x8f\xce\xca\xf3\xb2\x32\x94\xd1\xc8\x19\xd8\x9d\xe9\xbf\x8d\xc2\x52\x95\x8e\x9f\x46\x01\x68\xb7\x43\xaa\xb6\x66\x7a\xe5\xf5\x26\xfa\x9c\xdd\xd7\x46\x7f\xef\x34\xd3\x35\xdc\x4f\xf7\x1d\x8d\x3f\x5f\xe8\xb3\xcc\xd5\xf5\x05\x31\xc3\x10\x7c\x5c\x8b\x8f\x5d\x4a\xed\x63\x3b\xe8\x69\xe9\x19\x71\x1e\x28\x2a\xd8\x7a\xe3\xe3\xd9\x13\xc2\x6d\x74\x68\xe6\x51\x24\xab\xac\x24\x41\x84\xd0\xd8\xbc\x6b\x00\xca\x5b\xe3\x50\xd2\x80\x69\xa9\x3b\x81\x50\xa2\x4f\xe8\xa2\x2f\xb4\xac\x3a\x70\xd9\x86\xac\xd7\x0b\x88\xc5\xf0\x8e\xad\x3b\xf7\xac\xb1\x2f\xf9\xdc\x3c\x0b\x7a\x66\xa3\xd8\xdf\xd3\xd9\xc5\x39\xfb\x77\x4a\x2c\x01\x7f\x8c\xd9\x0b\x36\x61\xff\xfe\xd4\xdc\x06\xb8\x9a\x23\x2d\x16\x04\xd0\x00\x3d\x85\x11\x14\x02\xf6\x4e\x9f\xc9\x23\x82\xb6\x65\xc8\x2c\x33\x86\x9c\x06\x34\x3c\xf4\x7a\xe8\xeb\xd9\xe8\x49\xfc\x62\x07\xfd\x85\xcc\xa0\xe6\xf2\x86\x74\x33\x9a\xd4\x1c\x1a\xac\xc5\x8e\xc0\xdb\x81\xa7\x25\xfe\xa5\xf7\xfc\x10\xfe\xd7\x3b\x69\x67\x45\x8e\x1d\x86\x92\x1b\x3f\x0f\x70\x29\xc5\xdf\xbb\x34\x71\xc7\xf2\x52\x25\x8f\x5b\x9b\x05\x44\xcc\xbe\x30\xcd\x93\x52\x31\x25\x51\x17\x99\x75\x4a\x08\x90\x5f\x4a\xf0\xf9\x10\xc1\x53\xbd\xe3\xd6\x70\x13\x1d\x24\x20\x54\xa6\x39\x8b\x78\xfc\x56\x81\xc1\xde\x46\xfe\x2b\xcc\x0e\x64\x91\x9b\x66\x3f\xf0\x4e\xe8\xef\xe6\xc0\xb4\xec\xdc\x45\x9b\xb9\x80\xc6\xf4\x99\x03\x9a\xa7\x6d\xd0\xd3\x7f\xb4\xaa\xcb\xcd\x83\x18\x04\x0f\xde\xef\xc8\xb4\x33\x30\xda\x09\x7a\x40\xeb\xb7\xcd\x16\xaf\x56\xa3\x77\x9e\xd9\x2f\xfd\xd0\xf2\x15\x0f\x04\x84\x79\x33\xd1\x7f\xb1\xa9\xbd\x6d\x9c\x09\x17\x1c\x65\x97\xc1\x29\xcc\x62\xdf\x92\x56\x6a\xe6\x65\xbd\x5e\x39\xf3\x30\x7c\xbe\x12\xc2\xa4\x61\x4c\x79\x74\xcd\x56\xfc\x2a\x89\x06\xe1\x26\x1a\x1e\xc8\x81\xd6\x71\xb8\xc0\x40\x7d\xfa\xb4\x89\xeb\xfd\xc2\x10\x63\x5d\x47\xef\xc8\xa7\x4f\x80\x51\xbd\x5e\xa8\x4d\xb4\xe6\x40\x89\x0a\xf4\xec\xde\xdb\x2e\x65\xa5\x23\x88\x41\xda\x2a\x4c\x0c\xe8\xb4\x89\x55\x16\xbc\xd4\xda\x48\xab\xe1\x8b\x1c\xe9\x14\xc5\x9d\xbe\xd6\xe1\x41\xd0\x77\xaf\x1b\x78\xb3\x02\x9b\x4b\x9e\xd5\xfa\xed\xeb\xf2\xf6\x77\x67\xd4\x77\x9b\xf4\x5d\xa6\xa7\x88\x67\x68\x62\x09\x16\xc6\x95\xfe\x06\x54\x10\xad\x1f\x22\xda\xdc\x04\x5e\xc8\x5b\xd5\x8e\xf3\x54\x46\xd7\xb0\x55\xc4\x36\xeb\xed\x72\x26\x04\xc8\x97\x6a\xce\xab\xef\x62\x7b\x52\xa0\x41\x78\x90\x36\x9d\x05\xf4\x82\x2c\xcc\xb2\x6b\x5c\xa6\x04\x7d\x68\x2a\x42\x8b\xec\xd0\xa8\xce\x59\xcd\x1a\xa9\xd5\xd4\x43\xcb\xec\xeb\x4c\xde\x92\xe4\x5a\x16\x6b\x12\x5d\x13\x93\x58\x43\xd4\xf8\x2a\xd0\xe8\x9a\xce\xcc\x13\x2a\xa0\x62\xb8\x5f\x1b\x35\xda\x1e\xca\x01\x08\xec\x2d\x9c\x86\x84\xcc\xa3\x5d\x35\xb9\x70\x80\x54\xeb\x9f\x20\x18\x7a\x6a\x84\x87\x05\x43\xff\x84\x04\xbc\xb2\x49\x9c\x7c\x74\xc4\x26\x8d\xf1\xc2\x9a\x94\x27\xb7\x8b\x74\x1b\x93\x86\x8f\x7a\x7d\x36\x76\x54\xf0\x37\xa8\x4b\x9b\x10\x45\xd1\xaa\xf5\xed\x95\x6a\x7d\x11\x2e\x24\x04\x9d\x96\x74\x51\xea\x6b\xc4\xe6\x43\xa5\xc9\x39\x65\x4d\xe5\x14\x74\xa3\xc3\x9e\xb1\xff\x76\xf1\xe6\xf5\x00\x5b\x25\x8b\x35\x8d\xd3\xdb\xa8\x36\xb9\xd0\xb8\x1d\x22\xb5\x49\x5a\xd5\xf4\x10\x76\x0c\x8e\x4a\xc0\x5c\x0d\xec\x04\xaa\x15\x0a\xd0\xd8\xa1\xed\x66\xc9\x95\x65\x96\x20\x56\xfc\x3d\x1c\xd3\x80\xa0\xd2\x76\x2d\x1e\x31\xc7\x69\x3a\x28\xd4\xd1\xd2\x63\x26\x37\x74\x02\x7c\x67\x80\xdd\xbf\xa1\x31\x32\xa0\xd4\xba\x7e\x9d\xd7\x0e\x93\x41\xab\x51\x9f\x4d\x7a\xd0\xfa\xe7\xbb\xf1\xfc\x3d\xdc\x91\x5d\xa2\xdf\x1e\x45\x07\xe4\xf3\x49\xf9\x65\xa8\x17\x32\xd6\x50\xee\x8d\x07\x0d\xbb\xb3\x18\x32\xb2\x72\xc5\xca\x22\xb9\xba\x82\xb4\x96\xce\xf2\x12\xe8\x01\x58\x76\x45\xa8\x12\x73\xef\xcd\x66\x87\xe0\xc6\x5d\xf1\x35\xde\x5f\xa5\x44\x63\x46\x5f\xc9\x54\x4a\xd3\x55\xab\xf1\x21\x91\x4f\x45\xd9\xae\x93\x72\xe0\x94\x47\x2b\x19\x7b\xa7\x16\x0f\x18\xdc\x65\x21\x00\x3c\x01\x66\x25\x63\xcd\x03\xbd\x98\x74\x82\x27\x7b\x8f\x0d\xf9\x82\xfa\xb9\xb7\xf9\x76\xb3\xb9\x1d\xdd\xf4\x53\x13\x6e\x5c\xe3\x9d\x66\x63\x4f\x5a\xf6\xc6\xd7\x32\x4e\xb3\xf9\xee\x3d\x63\xfb\xfd\x04\x62\xb7\x69\xbc\xb7\x71\xdd\x7e\x53\xc4\x96\x46\xe3\xfd\x87\x57\xbd\x71\xd1\x07\xa6\x6d\x9d\xca\x7a\x94\x74\x3b\x50\x13\x80\x47\x06\x29\xaf\xb4\x9c\x61\x1d\x7d\x90\xf9\xfa\xbb\x28\xa4\xb3\x4c\x55\xac\xca\x52\x7d\xa5\x9b\xfb\x7f\x50\x27\xca\x78\x3e\xc6\x9a\x7a\xe9\x39\x3d\x63\xe1\x39\x9a\x18\x82\xdc\x96\xfc\xf3\x0d\x7a\x7d\xf0\xf4\x96\xaf\x69\x78\x5e\xb2\x54\x70\x85\xc6\x95\x76\x1a\x8d\x51\x1b\x87\x35\x5c\xf4\x16\x1b\xf7\xcc\x84\xa8\xa9\x6b\x6e\x5a\x35\x9b\x78\xa0\x6c\x64\x16\x6c\xb2\x77\x0e\xaa\xbf\xe3\x86\xa2\x96\x2d\xd2\xba\x39\x84\xce\x8e\x75\x43\xbf\x23\x07\x5a\xd3\x86\x5e\x30\x6d\xd3\xf0\x21\xd3\xd5\xc5\x61\xf1\xe9\x72\x6f\x07\x11\x2c\x16\xec\xeb\x23\xf6\x7c\xd7\x9f\x87\xb7\xb4\xd6\x77\x49\xdd\x68\x8b\xed\xed\x78\x5d\x7f\x7e\xe2\xff\xf4\xd1\xf2\x3e\x71\x04\x5f\x79\x9d\x20\xe2\x61\xaf\x97\x64\xd4\x5b\xa2\x11\x89\xda\x1e\x6a\x1f\x39\xf3\x5e\x70\x72\xb4\x9c\x23\xb4\x68\x97\x43\x80\x8d\xb4\x1c\xd6\x5d\x1c\x21\xcb\x59\x62\x2d\x34\x57\x3c\xb7\x6f\x15\x5c\x39\x5d\xaf\xe9\x0d\xaf\x71\xdf\x87\x14\x12\xa5\x15\x36\x4c\x60\x8c\x52\x15\x8c\x63\x7b\x72\x52\x90\xa3\xdf\xd1\x52\x44\xd7\x6d\x53\x1a\x58\xe0\xde\x0f\x5d\x7a\x4f\xef\xb1\x4f\x9f\xec\x3e\x81\xda\xc6\x36\xa9\x75\xdc\x6b\xc1\x6d\x32\xe7\x7d\xe6\xa9\xe1\xeb\x46\x54\x1b\x9e\xb4\x89\x8d\xf9\x2d\x31\x6a\x3e\x5a\xd5\xc0\x86\x60\x35\xbb\xff\x41\x82\xd5\x98\x44\x27\xe0\xc1\x03\x6f\xee\x85\x5c\xb5\x28\xd0\xdf\x82\x1b\x25\xe4\x62\xe4\x99\x63\xac\xd0\x9c\x2c\x10\x66\xcf\x40\x41\x7d\x8b\xeb\xb0\x91\x32\xcc\x4a\x42\xe5\x13\xb8\xc1\x99\x77\x78\x78\xdb\x6c\x0f\xc0\xc1\x54\xe9\x3c\x88\x14\xe4\x14\xa7\x1b\x62\x5e\x25\x69\xb9\x95\x64\x26\xb6\x47\x0e\x9b\x82\xc1\x97\x3b\x60\x38\x99\x25\x11\xdc\x59\x68\xa2\x02\x5e\x7b\x64\x1e\x7f\x83\x2f\x27\x73\xb1\x29\x82\x07\x1a\x38\xb7\x3e\xb9\x1e\xbb\x10\x20\x6d\x06\x6e\x66\xdd\x1f\xd9\x11\xc4\xcd\x0c\xd2\x24\x40\xee\x14\x30\x72\x31\x48\x74\xdf\x08\x41\xfc\x51\xc1\x0b\x6f\x44\xf6\xc8\x21\xa7\x71\x4c\x91\xde\x8d\xba\xc7\x04\xa8\x5e\x80\x97\x1a\xb2\x58\x9e\x6a\xc4\xec\xb6\x61\xb1\x21\x81\xbb\xc2\x24\xfd\x28\x58\x3b\x1a\x61\xfa\x7a\x05\xec\x5a\x2e\xa2\x64\x81\x86\x72\xd4\x89\x62\x25\xbf\x06\xcb\xea\x48\xc4\xc8\x31\x02\xe0\xc1\xcc\x15\x5d\xe3\x92\x34\x8e\x78\x11\xab\x01\x63\x7f\x49\x6e\x30\x63\xb9\xc5\x1c\x3d\xad\xa7\xa0\xa5\x9c\x3e\x05\xc6\x14\xff\xf8\x6a\x6b\xfa\xb4\x4f\x99\x01\xec\x67\xd2\xf4\xa3\xea\xc6\x94\x7a\xbd\xe1\xf4\x21\x6b\xb5\x25\x97\xae\x3b\xa0\x93\x18\xef\x2b\x86\x1c\x50\xed\xa1\x8f\x5a\x8e\xc5\x67\x6f\xbd\x7e\x03\xa4\xb1\xff\x1f\x7b\xef\xda\xde\xc6\x8d\x24\x0a\x7f\xcf\xaf\x80\xb5\x67\x43\x32\x26\x29\x51\xbe\xd3\x51\x66\x65\x59\x4e\xbc\xbe\x48\x2b\xca\xf6\xec\x48\x8a\x5f\x90\x0d\x92\x3d\x6a\x36\x38\x8d\xa6\x28\x26\xf1\xfc\xf6\xf7\x41\x55\xe1\xd6\xdd\xbc\x29\xce\xec\xcc\x9e\xe3\x67\x37\x43\x75\xa3\x0b\x40\xa1\x50\x28\xd4\xf5\x37\xb3\x5e\xbf\x2d\x33\x4c\x7d\xa1\x1d\xb5\x21\x1d\xf0\x28\x7a\x61\x35\x95\x96\xfc\xdc\x10\x8c\xb8\xe1\x5c\xf3\x9c\x62\xd3\x24\x8c\x07\xcf\xbb\x58\xe5\x45\x5d\xe7\xe7\x0b\x07\xa7\x64\x65\xd7\x1f\x18\xd6\x5b\xe5\x9b\xab\xdf\x57\x79\xe4\xba\xaf\x2f\xe2\xab\xb6\xd7\x01\x2c\x85\xc3\xa3\x37\x87\x86\x7f\xce\xbb\xe1\x13\x0c\x77\x9e\x5b\x63\x83\x7f\xa8\x7b\xd7\xa6\x82\x7a\x36\xd4\x77\xda\x83\xba\xa4\xfd\x77\x3d\xfe\xea\xc6\xd4\x65\x65\x1c\x77\xe9\x7f\xbf\x78\x37\x92\x7b\x3e\x9e\x8a\xdb\xb3\x0a\xbf\xec\x80\x5d\x50\x83\xab\xe5\x3e\xc5\x2b\x41\xb4\xa7\x33\x35\xb6\xb3\xb5\x02\x1c\xac\x88\x92\x59\xee\xd2\x69\xf3\x26\xeb\xfb\xc8\x25\xeb\xf5\x52\xe2\x86\xcf\x8f\xe4\x64\xca\x33\x51\xf7\x44\x2f\xc6\x78\xdb\xc7\x47\xdf\xfb\xcb\x0a\x5c\x5f\xc2\xa2\xcf\x21\x4f\xb2\xc9\xf0\xed\x66\xd7\x77\x4f\x8c\xeb\x9e\x91\xc3\xbd\x16\x63\xe4\xd0\x6c\xa5\x2e\x89\x2d\x4d\xd6\x6e\xb7\xbf\xf8\xee\xcc\x10\x54\x83\x73\x38\xe5\x99\xf1\x64\xd6\xbf\xf0\x5e\xc9\xa7\xa4\xbf\x4c\x73\xc9\xdc\xe4\x94\xcd\xcb\xa5\x21\xe9\xce\x20\x04\x49\x61\xbb\xd2\x06\x76\x3b\xb6\xc8\x1b\x4c\x59\x8a\x09\x9f\x6e\xbd\x8b\x83\x53\x64\xc2\xa7\x6e\xdf\x86\x69\xa9\x70\x62\xf5\x82\x6f\x3c\xce\x8a\xd9\xef\x18\x9b\xb6\xb5\x60\x01\x66\x5e\xaf\xac\xba\xb9\x48\x11\x6d\xb8\xf2\xbc\xcc\xdd\xfe\x0f\xd8\xb4\x0d\x48\x7b\x23\x16\x3d\x7a\x68\xeb\xd6\x9b\x22\xbd\xe2\x36\xb0\x0c\x7a\x79\x79\xc5\xad\x5d\x78\x7d\x6b\x88\xd3\x99\x28\x5d\xff\xee\x4d\xdb\xb1\x3a\xa2\xba\x2b\xf5\xc6\x32\x50\x53\x93\xea\xf7\x18\x7c\x55\x45\x64\x8a\xfc\x99\xb1\xa2\x46\xca\xfc\xd5\x58\xdd\xb1\xc1\xc8\x84\x4f\xf5\xe6\xb9\xf2\xd0\x12\x58\x3e\x7c\xa4\x58\x16\xe1\x50\x42\x76\xc0\xff\x05\x08\x41\x41\xdc\x52\x60\xbd\x3a\xf7\x99\x61\xcb\x16\xa8\x3d\x59\x9e\x17\xf7\xf3\x99\x09\x1d\xb2\xbb\xd9\xea\xfa\xe0\x99\x50\x39\x1d\xbc\xa1\xe7\x92\x31\x04\x62\xd9\x36\x70\xaa\xd4\x02\xe4\x2c\x49\x5c\x35\x67\xc8\x31\x80\x5f\x2f\xdb\x76\x06\xcc\x61\x6a\x72\x10\x82\x68\xc1\x8d\x61\xd1\x45\xd2\xeb\xed\x0e\x4a\x04\x13\x47\x33\xd1\x82\x8b\x29\x92\x47\xcd\x62\xa1\x5c\xf4\x22\x25\x08\x74\xda\x71\x88\xd0\x04\xe7\x61\x03\x34\xe5\x13\x41\x55\xa8\x26\x33\x3b\x53\x94\x71\xc0\xf5\x0c\xf5\x67\xcb\x79\xac\x83\xbd\x21\xf7\x70\x26\xc9\x82\x0c\x00\x86\x36\xcb\x40\x96\x1e\xf1\xba\x59\xd9\x8b\x0e\x0e\x2e\x4f\x9b\xeb\xfc\xd6\xb6\x39\xee\x43\x89\x23\x38\xb2\xbd\x23\xb9\x4a\x0e\xd0\xa3\xb2\x93\x28\x24\x21\xa7\xcf\xac\x52\x34\x18\xe1\x16\x57\x37\xbc\x1b\xff\xaf\xce\x32\x4a\xee\x4e\x7e\xa6\xd1\x73\xcf\xcc\x46\x77\x25\x58\xd3\x31\xa5\x08\x32\x69\x47\x73\xf0\x61\xe6\xf6\x3e\x28\x87\x2e\x05\x01\xa4\xde\x00\x0f\x4c\x56\xe7\xd7\x98\x94\xc9\x39\x56\xaa\x06\xee\x0b\xfd\x58\x03\xf3\x5c\x2e\x73\x91\x24\xc8\x07\x0a\x69\x3f\xa9\x00\xad\xbe\x2e\xda\xe0\x03\x9b\x3c\xcf\x3f\xde\xc9\xfe\x0a\xa9\x85\x86\x90\xb2\x4b\x61\xc4\x80\x3e\xc0\x4d\x42\x88\x52\x80\xb1\x82\x38\x20\x32\x02\x6a\x58\xce\x23\xc8\xb7\xfe\x86\x31\x08\xcd\xa2\x26\x85\xa2\xc2\xe7\x99\x4c\x47\x56\x0b\xfe\x9d\xc1\x62\x93\x5c\x95\x32\xac\xe6\x65\x4d\xb9\x2e\x74\x4f\x79\x0e\xeb\x2f\xe3\x21\x04\x74\xe6\x94\xc1\x41\x35\x99\x9a\x0d\xc6\x7a\x0e\x2f\x6f\x64\xc6\xaf\x83\x99\x06\xc9\x53\xa1\x2f\x98\xab\xc4\xa0\x25\x82\xc0\x72\x1b\xd2\x00\x37\x4b\x83\x3f\xc6\xd1\x79\x4c\xa6\x61\x64\x22\x85\x65\x80\xc7\xe0\x2c\xeb\x43\x24\xf1\x77\x46\x33\x3f\xe3\x09\x4d\xd9\xc3\xbf\xe6\xc1\x94\xfa\x26\x56\x4a\x4b\x47\x30\x30\x2f\x4a\x5f\x5f\xec\xc1\x2d\xed\x43\xcf\x76\xa4\x18\x54\xb4\x47\x27\x7a\x7c\xf2\x8d\x49\x24\x03\x7a\xa6\xb0\x66\x99\x4d\xa5\x86\xc1\x29\x1c\x6d\xe0\xba\x6f\x70\x74\x44\x8b\xac\x89\x11\x99\xf0\x05\xd6\xd3\xbd\x21\xd3\x2c\x58\x88\xf5\x21\x46\xab\xe2\x8f\xde\x53\x21\x7b\xbc\xd8\x5a\xb4\xf5\x4e\x00\x8b\x2d\x8c\x60\x59\x32\x5c\x0d\x0b\xf2\xe1\x36\x31\xcd\x02\xde\x26\x4d\xa5\x50\x41\x36\x8d\x38\x4f\x44\xc4\x76\x0e\x29\xb1\x06\x78\x01\x42\xbe\x83\x65\x99\x3a\x30\xf3\xa8\xcf\xbf\xe1\x95\x77\xaf\xbf\x76\xa1\x74\xe6\xe7\x73\xef\x1d\xec\xc6\x03\xbf\x6c\x18\x4a\x3a\x8d\x0a\x0d\x80\x16\xa9\x71\x83\x79\x9b\xd3\x47\x94\xb7\x65\x21\x81\xcd\x98\xab\xb1\x71\x02\x35\xd1\x42\x43\x99\x24\x72\x4e\x67\xa2\xea\xb2\x1a\x6a\x7d\x6b\x4d\xeb\x62\x02\x87\xb8\xb5\xab\xa1\x80\x0d\x16\x32\xd3\x15\x6b\x19\x6f\x46\xe8\x85\x9c\x4f\xa9\xd2\xe3\xc2\x8b\x7c\x6f\x33\x50\x27\xd9\x9d\x4d\x81\xaf\xba\x63\x9b\x1d\x94\xe9\xed\xe9\x36\x9b\xb8\xe5\x58\xfc\x6a\x2e\x3d\x3e\x50\xb1\x68\xdf\x14\xd3\x31\x50\xbe\x06\xea\x53\xdc\x72\x2d\x91\x35\x59\x8d\x1f\x42\xfa\xf4\x17\xfa\xbf\x9d\x7b\x35\x9c\xce\xc1\xfd\x1a\x36\x24\x30\x81\x4b\xe6\x92\xa1\x19\x77\x4e\xa4\x3f\xf5\xb7\x19\xd7\x82\x47\xc6\x07\xc4\xc4\x90\xc8\x18\x63\xb5\x8b\xd7\xef\x7b\x57\xba\xbf\x8b\xb7\xc7\xaf\xce\xaf\x74\x57\x2f\x16\x7a\x21\x20\x38\x5d\xa6\xcd\x42\x7f\xb4\x63\x29\xeb\xb0\xcb\x41\x41\xf0\xfa\xb3\xdc\xe4\xaa\x41\x7f\x31\x3a\x47\x4c\xca\x60\x3f\x02\x9b\xb5\xd8\x7b\x74\xf8\x26\xc9\xcd\x98\xeb\xf4\xb6\x75\x73\xb1\x49\x10\x4c\xad\x41\xb1\x30\xee\x21\x94\x0a\x8a\xfa\x36\xa6\xd8\xbe\xb3\x16\xa6\x4e\x94\x6a\x33\x48\x18\xd5\x17\x89\x9c\x5b\xc1\x90\x6a\xa5\x09\x63\x7b\x56\xde\xd8\x28\xc1\xde\x57\x1a\x1c\x4f\xa4\xbf\x8d\x0d\x43\xbb\xf3\xe8\x0e\x93\xfc\x8f\x19\x99\xef\xf4\xba\xf5\xa8\x28\xab\xdd\x1f\x30\x2c\xd0\xd1\xdf\x6d\x5c\x26\x45\x11\xe5\xb9\xf6\xf2\xe9\x2c\x4f\x67\xc4\x95\xcd\xcb\xaf\x45\x2a\xdd\x11\x06\x6e\x15\xfc\xd8\xc1\xf7\x88\xa7\x8c\x67\x19\x5f\x54\xc6\x43\x94\x1d\xdf\x51\xeb\x08\x43\x26\x76\x44\x39\x0b\xfc\x72\x7a\x61\x2e\xa0\xbc\x68\x4b\x87\xfe\x58\x0c\xa5\xde\x63\xd4\x7b\xa6\xa4\x61\x5e\x66\x69\xa7\x63\x15\xac\xe3\x28\x26\x5a\x0b\x38\x25\xc9\x32\x47\xd8\x40\xa6\x51\x2b\x97\x2d\x28\x4e\x6f\xa2\xeb\x09\x65\xd8\xb1\xaf\x9b\x9d\x67\x71\x9e\x8b\x34\xe0\x76\x58\x96\xbe\x90\xb5\x88\x98\x29\x57\x46\x77\x2b\xa2\x20\xad\x8f\x4b\xe7\x63\x53\xf9\x40\x11\xd7\x30\x9b\x8f\x7f\x74\xae\x38\xea\x42\xed\xc7\x1b\x13\xe2\xe3\x1f\x7f\xe0\xfa\xa9\x0f\x22\x17\xb3\x64\xae\x70\x74\x68\x9b\x53\xaf\x51\xe1\xb4\xf2\x72\x86\xf9\x56\x45\x18\xe1\xe3\xe2\x7b\x0a\x27\xe7\x85\xa7\x81\x8b\xc4\xb0\x74\x66\x4e\x66\xa8\xa0\x2a\x48\xba\x98\x8c\x8b\x8e\x53\x2d\x7a\x05\xb2\xaa\x55\xcf\xe7\x90\xc1\xc7\x1c\x06\xfe\xf7\x5c\xe9\x4b\x52\x8c\x39\x73\xb3\x11\x96\xec\x81\xeb\x14\x63\xc7\x7c\x30\x06\xaa\x36\xcf\xe3\x2a\x18\xde\x72\x71\x47\x7c\x66\x1c\x75\x22\x4f\x37\x14\x29\xaf\xd1\xbc\x07\x39\xbc\xf4\x37\x7a\xcb\xf5\xe3\x11\x1e\xf2\x73\x81\x15\x2d\x21\xb0\x17\xd2\x3a\x82\x08\x6f\xd0\xe9\xd4\x64\x99\x20\x23\xa0\xa6\x5a\x96\xc8\x1c\xef\xcf\x5a\x06\x05\xe9\xf8\x06\x3c\x5c\xda\x0d\x1a\x88\x9e\x4c\x69\xe4\x9e\x2f\xe5\x63\x9b\x6b\xa3\xcb\xdc\xf2\x9b\x04\x33\xc5\xd0\xa3\xef\x5c\x48\x80\x71\x86\x76\x79\x3c\xc0\x65\xcd\xd9\x2a\x1b\xc4\x8f\x88\xf2\x1c\xbd\x11\x6b\x02\x7d\x9f\xe0\x29\x5d\x72\x30\xb8\xc6\x4f\xfc\xb1\x05\x0d\x07\x0a\xbc\x1b\x9e\x7d\xe6\xd9\x88\xaa\x15\x56\xdd\x9b\xcd\xca\xaa\xaa\xcb\xb3\xd1\xcc\x20\xe4\xba\x6d\x7b\x11\x5f\x5d\xec\x5d\x35\x03\x05\x2c\xfd\xfb\x95\x10\xd6\x65\x41\xeb\x4e\x75\x6b\x46\x68\x2d\xb4\xde\x5f\xd6\x9a\x50\x5e\x68\xfe\x60\x59\x73\x74\xb4\xf6\x9b\x3e\x5c\xd6\x14\xbd\xb0\x83\xb6\x8f\xae\xaa\x9a\x7e\x29\xeb\x9b\x7a\x50\xdb\x2d\xf0\x1e\x45\xfe\xe6\x27\xaf\xc3\x64\xff\x1b\xac\x24\xc8\xcc\x4b\x6c\x79\xa1\x90\xbd\xa4\xb0\x99\xf1\x04\xb5\x1b\x8e\xb2\x09\x1a\xaf\xd8\x9d\x09\x1f\x64\x72\xc7\xbe\x57\x78\x7c\x41\x31\x57\xca\xf4\x15\x93\x93\x9b\x9f\x41\xd4\xc4\x8c\x81\x6b\x75\x83\x01\x10\xbb\xdf\x89\x3d\x80\x49\x76\x41\x99\x6b\xa0\x45\xdb\x0f\x2a\x24\xa7\xb3\xba\xd9\x31\x7a\x7b\xf9\xe5\xdf\x36\xf0\xa8\x0c\xe2\xdb\xbc\x40\x3b\x72\xa4\xbc\x5a\x1b\x07\xf7\x7a\x88\x72\x67\x29\x3b\x38\xe3\x4d\x34\x74\xf4\x9d\xee\x40\x99\xab\x78\x06\x99\x37\x67\x84\x96\x8a\x8f\xc9\x73\x35\xce\xad\xd8\x62\xa4\x16\xdf\x1d\xc8\x62\x82\x5f\x07\xb6\x0f\x1a\xad\x8b\x92\xf5\x10\x53\x08\x52\xac\xbb\xf8\x03\x0c\xe4\x0a\x92\x51\x54\x44\x78\xf9\x9e\x0c\xfe\xbf\x7b\x26\x3e\x91\x62\x6e\x8a\x59\xcc\x1b\xec\x4f\x8c\xb3\x2e\xeb\x3f\x0f\x51\x5f\xb9\x88\xa4\xd0\x2d\x20\x7a\x22\x23\x4a\x89\x5d\x95\xea\xfc\x6e\xf8\xa6\x8f\xb7\xc5\xf7\xe0\x9f\x18\xdf\x98\x8e\xfd\x2b\xe0\x5b\x23\xda\xa6\xd9\x6d\x41\xc2\x98\x56\x90\x83\x3d\x24\x73\x1f\x41\x7d\x75\x57\x04\x15\xe6\xb5\x2c\x89\xfb\x57\x99\x9c\xb7\x16\xd5\xd3\x50\xe3\x3b\x4f\xc3\x83\x5d\x18\x6b\x21\x8a\xc8\x24\x5b\xff\x7d\x13\x21\xca\xa9\x9e\x06\x4f\xf2\xdf\x31\x0f\x02\xfd\x15\x30\xee\x7b\xe1\x57\x0e\x74\x22\xa3\x3b\x0f\x74\xeb\x9d\xf5\x7b\x77\xc8\x91\x9c\x4c\x67\xb9\x96\x15\x8d\xe8\xe6\x54\xa4\x98\xbc\x0f\xed\x40\x41\x8c\x8c\x9d\xea\x20\x4f\xea\x83\x71\x83\xfd\x6a\xba\xad\x4e\x3f\x52\xf0\xb3\x03\x97\x3f\x37\x02\x0e\xc9\xb3\xa9\x5c\x81\xd3\x86\x4e\xf8\x14\x02\xd7\x39\x66\xd7\xf3\x3a\xad\x4f\xbc\x1e\x9d\xb3\x0d\xe1\xd5\xcf\x92\x77\x31\xb9\xa2\xc7\x5f\xdc\x22\x12\x97\x44\xa2\xcb\x33\x52\xa4\xbb\x84\xcb\xe1\x62\x8a\xa8\x3e\x4c\x37\x5b\x4a\x30\xd1\x84\x3b\xbf\x94\x36\xd9\xb7\xec\xef\xee\xb2\x17\x10\x99\xa2\x39\x42\x93\xbd\x92\xd9\x9c\x67\x11\x8a\xf2\x67\x02\xaa\xd6\x21\xff\x97\x8c\xdf\xc8\x38\x62\x29\xbf\x89\x47\x1c\xd4\x64\x7c\xce\x51\x27\xeb\x43\xcb\xbd\x54\xdb\x53\x3e\x12\xed\xa2\x13\x41\x21\xbf\xc4\xe3\xc7\x48\x4b\xc1\xb3\x27\x15\xcf\x9e\x36\xd8\x9f\x02\x06\xbe\x2e\xa4\x9c\x75\x37\x6c\x6e\x62\xa3\x98\xe7\xfb\x59\x20\xe1\xe1\x32\xf2\xd5\x5b\xe7\xb8\x77\x64\x9d\x0b\x8d\xdf\xcc\x51\xef\xb5\xf5\x2c\xb6\x0f\x7b\xbd\x07\xe6\xe1\x89\x2b\x2d\xfb\x2f\x1d\x23\x1f\x5e\x45\x54\xdd\x38\x7c\xa2\xf1\x73\x18\x8b\x24\x02\x9d\x63\x97\x5d\x90\xd1\xa1\x49\xaa\x48\x73\x75\x6b\xda\x20\x4c\x88\xbd\x04\x89\xff\xea\x1b\x0f\x8e\x0b\xb0\xb3\x25\xe7\x09\x14\xdb\x73\x05\x1f\x60\xd7\x30\xf6\x09\x22\xa6\xfe\x3a\x53\xb9\x09\x0d\x89\xf3\x9a\x32\xd0\x6c\x2e\x8e\x08\x15\x35\x68\xd6\xc3\xeb\x6e\x7f\x61\x6f\x09\x78\x3f\x90\xca\xcb\x42\xce\x2e\xf6\x9a\xa0\x76\xfd\xf0\xfe\xcd\xfb\x93\x4f\xef\xaf\x6a\x4d\x40\x6a\xf9\xbf\x57\x4d\x3b\xf8\x57\x90\x25\x35\x93\x73\x02\xb1\xff\xa4\xa9\x41\x1c\xf7\x8e\xf4\xe7\xc7\xbd\xa3\x66\x95\x40\xc2\x6c\xb2\xd8\xa6\xfb\xe1\x3d\xa5\xab\xd2\x45\xa7\xb3\xdf\x64\xb5\x8b\x57\x1d\x0d\x0c\x38\xbe\xa6\xaf\xfb\xac\x76\x5a\x6b\x02\xfd\xc1\xcf\x86\x07\x04\x1f\xee\xec\x3f\xf8\xfb\x4e\xb3\x0c\xed\x01\x40\xdb\x2f\x42\xfb\x2f\x07\xed\xbf\x2a\xa1\x3d\xac\x84\xf6\x10\xa0\x3d\x28\x42\x3b\x73\xd0\xce\x2a\xa1\x3d\xaa\x84\xf6\x08\xa0\x3d\x2c\x42\xeb\x39\x68\xbd\x4a\x68\x8f\x2b\xa1\x3d\x06\x68\x8f\x00\x1a\x7d\xde\x79\xf4\xf7\x5a\x71\x35\x4a\xd0\x9e\x56\x42\x7b\x02\xd0\x1e\x07\xd0\x9e\x6c\x00\xed\x59\x25\xb4\xa7\x00\xed\x49\x00\xed\xe9\x7a\x68\x0f\x3a\x95\xd0\x9e\x01\xb4\xa7\x01\xb4\x67\x1b\x40\xdb\xaf\x82\xb6\xbf\x07\xd0\x9e\xf9\xd0\xf6\xf7\x36\x80\x56\x49\x6f\xfb\x1d\xa4\xde\xbd\x2b\xb7\x88\xfb\x9d\x0d\xa0\x55\xd2\xdb\x3e\xed\x85\x8e\x0f\xed\xc1\x7a\x68\x0f\xab\x67\x8a\x7b\xa1\xb3\xef\x43\x7b\xb8\x01\xb4\xc2\x4c\x0d\x23\xe8\x61\x96\x64\xc7\x09\x3a\xcf\xf4\x78\xff\x3f\x0d\xd1\xc2\x50\xe3\xba\x96\x65\x6a\xff\xa1\x29\x19\x7e\xfd\x5c\x6b\x34\x9a\x61\x47\xee\x1f\xf1\x1a\x00\xf7\xf0\x99\x66\x2c\x9d\x7b\x3e\xb8\x41\xbd\x86\xf9\x93\xde\xcf\x26\x90\x7f\x9c\x31\x7c\x76\x98\xe4\xe6\x11\xfc\xfd\x4e\xe4\x1c\x1f\x18\x70\x8f\x34\xaf\xab\xed\xff\xc7\xd7\x02\xd7\xd1\xe0\x1e\xfc\xdb\xd7\x02\xb7\xaf\xc1\x3d\xfc\x3f\x5f\x0b\xdc\x03\x0d\xee\xd1\xbf\x7f\x2d\x70\x0f\x35\xb8\xc7\x3f\x7f\x2d\x70\x8f\x34\xb8\x27\xdf\x7e\x2d\x70\x8f\x35\xb8\xa7\xdf\x7d\x2d\x70\x70\xa0\x3d\xab\x7f\x25\x70\x0f\x9f\x6a\x70\x7b\x8d\x12\xb8\xa0\x3e\x9f\x86\x50\x00\x58\xd9\xc8\xee\xe6\xa7\x9a\x0b\xb6\x3e\xaf\x87\xba\xe6\xbd\x03\xa8\x59\xfe\xc1\xfd\xaf\x05\x10\x25\x05\x31\x94\xb7\xac\xf5\x19\x24\xef\x83\xfb\xd4\xd3\x93\x07\x5f\x77\xe8\x8f\x3b\x7f\xd4\xc8\x5f\xe7\x3c\x89\x79\xca\xee\x7f\x67\x86\xae\xbb\xba\x5f\xa6\xb4\x3b\x74\x85\x10\x9f\xa2\x00\xf6\xe2\x4d\xef\x54\xb3\xe5\xbe\xaa\x63\xb5\xba\x26\xab\x5d\xf6\x35\x1c\x78\xd2\x87\xbf\xf5\xf3\xc6\x52\xf1\xc9\x09\x97\x71\xe6\x73\xe5\x67\xd8\xc3\xf9\xe1\x0b\xdd\x81\x1a\xd7\x6b\x97\xb9\x3b\x00\xfe\xa2\x21\x82\xe4\xdb\xb4\x0c\xb8\xc9\xca\x72\xd9\x53\x60\x77\x7f\xfb\xaf\x5a\x73\x09\xe7\x66\xc8\xdd\x41\x9a\x2a\x89\x7a\x16\x0a\x6c\xad\xf9\xa7\x75\x50\x3e\xad\x84\xf2\x18\x0e\x06\x71\xbc\x0e\xca\xf1\xea\xb1\x00\xc7\xcd\xce\xd6\x41\x39\x5b\x0d\x05\x38\x63\x7e\xbe\x0e\xca\xf9\x6a\x28\x30\xa3\xc5\x7f\xaf\x83\xf2\xdf\xab\xa1\x00\x5b\x9d\x7d\x58\x07\xe5\xc3\x4a\x28\x4f\xe0\xe8\x88\x5f\xaf\x83\xf2\x7a\x35\x14\x98\x91\x3c\x59\x07\xe5\x64\xf5\x8c\xe0\xcc\x9e\x9e\xae\x83\x72\xba\x12\xca\x3e\x4a\x8c\xbf\xae\x83\x72\xb1\x1a\x0a\xc8\x76\x57\x5f\xd6\x41\xb9\x5a\x03\x45\xcb\x9b\x97\x97\xbf\x01\x98\xe5\x50\x2e\x2f\x83\xad\x5e\xde\xe6\xaf\xe4\x2c\xcb\xc7\xb0\xcf\x59\xfd\x93\x80\x04\x19\x5e\x4e\xa3\xff\x84\x6a\x8e\x98\xe9\x08\x53\xa1\xbe\x14\x37\xe7\x52\x26\x54\x37\x90\x5d\xec\x03\x6e\x2f\x8e\x0e\x4f\xc1\xe5\xc6\xed\x7c\xfb\x63\xc9\xbf\x65\x2c\xe2\x31\x90\x1f\x78\x0d\xb1\x00\x45\x30\xa1\x43\x3a\x35\x2b\xfe\x2d\x5d\x7d\xa0\x44\xd5\xab\x06\xd8\xdb\x1e\xe0\x63\x38\x8a\xa3\x97\xd5\x00\x5f\x6e\x0f\xf0\x09\xe0\x70\xf8\xaa\x1a\xe0\xab\x3b\x00\x04\x36\x3b\xfa\xb1\x1a\xe0\x8f\x77\x00\x08\x5c\x6e\xfc\x53\x35\xc0\x9f\xee\x00\x10\x18\xde\x5f\xff\xb3\x04\xd0\x48\xfa\xff\xa9\x61\x6a\x1a\x29\x80\x5e\x0a\x10\xc8\xe6\xfa\xcd\x52\x80\x6f\xac\x70\x05\x09\xa6\x3e\x9b\xfb\xc3\x52\x80\x20\x0e\x26\x6f\x97\x02\x7c\xbb\xe5\x08\x3b\x4f\xf5\xdd\xfa\x79\xb7\x04\xd0\x3b\x37\xb7\xc2\xe1\x3e\x5c\xec\x2e\x6b\x3b\xb5\xe6\xd7\x01\xd8\x79\x80\x3a\x98\xf7\xe7\xc7\x67\xe0\x3f\x77\x99\x21\x68\xd4\xb1\x2d\x87\x68\xdf\x57\x30\x98\x78\x68\xf8\x0b\x25\x53\xc3\x74\x15\x8a\x5c\xc6\x4c\x56\x78\xa6\xc6\x32\xcb\x07\xb3\x5c\xb5\x19\x3b\x49\x41\x71\x65\x60\xb8\x24\xe3\x90\xca\x07\xf8\xd3\xd1\xee\x47\xa8\x58\x49\xa5\x25\xe1\x85\x96\x9a\xf5\x0b\x4c\x86\x48\x3a\x2e\xcc\x3a\x6e\x40\xd1\xb7\xd8\xd2\xb8\x52\x00\x8f\x2b\xd4\x55\x37\x26\x3a\x8c\x9f\xe0\x4c\x89\x44\x18\x3f\x0a\x93\x90\x3d\xf2\x59\xe5\x47\x04\xfa\x5d\xeb\xa3\x01\x4b\x89\x0f\xaa\xa0\xd7\x21\x49\x8b\x81\x84\xce\x13\x4a\x88\x09\xb9\x3b\x65\x62\x20\x47\x69\xfc\x0b\x7a\xa7\x20\x7e\x72\x29\x1b\xe6\x86\x0c\xa4\x79\xd1\xfb\xe9\xf5\xab\xf3\xa2\xb2\xad\xfc\x6f\x19\xa3\x7d\x06\x5c\xe7\x97\xbf\x84\x47\x08\x90\xf6\x5f\xca\x1b\x7a\x29\x77\x05\x66\x78\xfb\xe7\x0a\x28\x7f\xde\x1c\xca\x63\x90\xe8\x06\x47\x05\x28\xe6\xba\x74\xf4\x39\x00\x15\x36\xd0\x68\x3f\xf2\xe4\xf8\xa7\x80\x9d\x9b\x8f\x4b\x60\x7d\x5c\x07\xeb\xa3\x7f\x27\x00\x58\xe0\xbc\x5a\xc1\x01\x5e\x14\x38\x80\xdf\xc0\xfe\x86\xf7\x96\xa9\x00\xb6\xd2\xf7\x4b\xc6\xf6\x7e\xdd\xd8\xde\x7b\x63\x7b\x02\x38\x9b\xbc\xab\xc0\xfc\xbb\xcd\x31\xdf\xd1\x0b\x58\x6b\x7e\x1f\x42\xe1\x49\x5e\x27\x2e\x12\x70\xb8\xa5\x50\x34\x31\xd5\xda\x3f\xfc\x5e\x28\x5a\x36\xda\xfd\x53\x35\xb6\x3f\x5b\xdd\xcf\x9f\x80\x77\xaf\x90\x6a\x7a\xf1\x6d\x3e\xc6\x8a\xa3\xe0\x84\xe7\x29\x97\x50\xcd\x7c\x74\x7e\xf6\x76\x99\xb8\x12\x3c\x72\x68\x82\xef\x0e\xdf\xc2\x86\xdb\xfc\xbb\x67\x70\x12\x5f\xbc\x3d\x3c\xdd\xae\xbf\x07\x70\xe0\xb2\x5a\x09\x65\x4e\x0d\xb6\x0c\x8b\xcf\xe0\xd3\x8b\xb3\x6d\xbb\x7c\x86\xdc\xff\xec\xdd\xf1\xfb\x0f\x8e\xab\xac\xfc\x2e\xb4\x68\x80\xad\xc0\x98\x04\x1e\xe2\x28\x4e\xcf\xce\x7b\x47\x67\x2b\x2d\x02\x88\xdf\x87\xa0\xc6\xee\x1d\x9d\xbd\x7d\xe3\x8d\x7a\x69\x73\xb8\x17\x5c\xbc\x38\x3b\x3e\x5c\xd3\x3c\x30\x96\x80\x35\x4f\x0e\x99\x8a\x6f\xd1\x74\x87\xa5\x69\xc9\x07\x14\x2b\x0a\xc0\xe0\x41\x98\xb8\x78\xfd\xbe\x77\x7c\x06\x0b\x0e\x1b\xf0\x8d\x58\x60\x99\x37\xda\xa5\xc5\x05\x28\xad\xc4\x03\xe4\xd3\x3f\x9d\xbc\x3b\x46\xaa\x31\x60\x7e\x92\x13\x61\xb7\xfa\x7a\x30\xb8\x30\xa7\x3f\x7e\x38\x0d\xc1\x9c\xf2\x91\xf8\x30\xdd\x74\x34\x0f\x71\x34\x2f\x8f\x91\x2c\x1c\x98\x97\x22\x71\x7c\x67\xfd\x68\x1e\x91\x90\xf0\xb2\x00\xe6\x38\x8d\xb6\x01\xf3\x90\x26\xf5\x92\x2c\x46\xfe\xa4\x20\x05\x7f\x15\x8d\x57\x6d\xf6\x43\xbd\x72\xd6\xc6\xa5\x8f\x6d\x2f\x9f\x21\xf8\x62\x9b\xb4\x2f\xb0\xce\x65\xbf\x1c\xac\x76\x6c\xc0\xb9\x0c\x83\xf0\x2d\x1d\xe2\x50\xfd\xd0\xe4\x54\x32\xf1\x55\x30\x0f\x30\x4a\x98\x95\x61\x7c\x50\x27\x95\x88\xbe\xc0\x90\x29\xe6\x70\xdd\x54\x70\x7d\xc0\x84\x60\xd0\xe1\x41\x7a\xe1\x20\xbd\xd8\x08\xd2\x03\xb8\xa8\x9e\xbd\xfe\xf1\x27\x20\x5e\x07\xe9\xc8\x41\x3a\xda\x0c\xd2\x13\x17\x45\x11\x8c\xe9\xa5\x83\xf4\x72\xa3\x85\xba\xe8\x3c\x04\xb3\xd7\xfb\x0f\xef\xde\x9e\x1c\xbd\xd9\xc8\x46\xf8\x29\xce\xc7\x2c\x9d\x4d\x68\xdb\x0e\x6d\xd0\xca\x94\x47\x6c\x24\x52\x91\x51\x31\x6d\x4a\xaf\x0e\x31\x23\x18\xbb\xa5\xbc\x4d\xed\x0b\x6c\x35\x9f\x07\xd4\x42\x13\x29\x5a\xf6\x21\x76\xd6\x41\x32\x9e\xf8\x99\x50\x26\x87\xda\xee\x2e\x43\x77\x33\x74\x0f\xb7\x03\x4c\xbd\x31\xcd\xd2\xf8\x6f\x33\x6f\x44\xed\xb6\xd1\xa3\xe1\x2e\x7c\x73\x0a\xb6\x9d\xa5\x68\x2b\x73\xf5\x27\xf4\x5d\x67\xcb\xef\x9e\xd2\x77\xfb\x5b\x7e\xf7\x8c\xbe\x7b\xb0\xdd\x77\x9d\x3d\x20\xe3\x37\xa7\x0f\xb7\xfd\xae\x83\xdf\x3d\xda\xf6\xbb\x7d\xfc\xee\xf1\xb6\xdf\x3d\xc0\xef\x9e\x6c\xfb\xdd\x43\xfc\xee\xe9\xb6\xdf\x3d\xc2\xef\x9e\x6d\xfb\xdd\x13\xfc\xee\xfe\xd5\xd7\x53\xd2\xef\x3d\x43\x98\xad\xaf\x09\xf3\x31\xc2\xfc\x6e\xcb\xf9\x75\x68\xdd\x77\xb7\xfd\x8e\xe8\xac\xbd\xf1\x77\xf6\x0e\x68\xab\xb8\xdb\xe0\xc0\x5c\x4e\x7d\x21\xf1\x31\xcc\xe5\xc5\x21\xf2\x29\x06\x5e\x46\x64\x5a\xbf\x6f\x5c\x08\xf4\x8f\x46\xc1\xae\x7e\x7f\x89\xff\xc0\x63\xb4\x83\x7f\x32\x47\x66\x00\xef\xbf\x0c\xbc\xff\xaa\x82\x57\x69\xd1\x7d\x0c\x87\xce\xd9\xf1\xdb\x93\x43\x00\x19\xc0\x3b\x33\xf0\xce\xaa\xe0\x55\xfa\x10\x3c\x45\x9b\x2e\x49\x6a\x85\xf1\xf5\x0c\xbc\x5e\x15\xbc\x4a\x2f\x82\xa7\xb0\x27\x3f\x51\x18\x1e\xc2\xf3\x9c\x09\x82\xcb\x49\x01\x5e\x95\x1f\xc1\x3e\x7a\x25\xbc\x38\x7b\x7d\xde\x42\x37\x07\x0f\xde\x93\xd5\xf0\xaa\x3c\x09\xf6\xd1\x2f\x41\xc3\xbb\x5f\x82\xf7\x74\x25\xbc\xd0\x97\xc0\x92\x54\xe7\xc9\x03\x76\xf1\xee\xc3\xf9\xf1\x55\x93\x75\x9e\x3c\x64\x17\x1f\x4f\xde\xb6\xae\xe0\x3c\xe9\x3c\x79\x04\x7f\xde\xbf\x82\xf8\x42\x70\x68\x73\x8e\xed\x96\x16\x0d\x24\x2c\x1f\xc5\x26\x3c\xe5\x23\x91\x35\x31\xe3\x79\x0d\x32\x59\xdf\x80\x9f\x0f\xc8\x25\x93\xb6\x57\x1c\x45\x77\x1e\x2b\xc6\x13\x25\x0b\x96\xa7\x9a\x62\xad\xcf\xc6\x23\x48\x13\x77\x18\xd6\x7a\x8c\x05\xd9\x5c\x15\x4b\xd4\x34\xc8\x8c\x8a\x3d\xc3\xf1\x65\x02\xae\x36\x8b\x04\xf0\xa5\xe4\x25\x35\x94\x82\xb0\x5c\x74\xa7\xc4\x0f\x4e\xa1\xf7\x20\xe1\x7d\x90\x4c\x61\x9d\x87\x96\x4b\x6a\x80\xbe\x65\xfb\x7f\xaf\x55\x4d\x57\x0d\x32\x49\xe5\x66\xf1\x27\x14\xcb\xeb\xcf\x86\x43\x91\xfd\xfe\xb9\x83\x68\xbf\xac\xaa\x58\x38\xf5\xb1\x9c\x88\x37\x62\xa1\x7a\x38\xa0\x9f\xfd\x79\x7b\x11\x06\x58\x04\xa5\xd2\xe1\xd4\x35\xf7\x1c\xb8\x0b\xbd\x54\x38\x6d\x1b\x17\xc7\x00\x5b\x3f\x85\xa9\x46\xfd\x77\x27\xf8\xae\x5c\x4e\xd5\xa5\x04\x44\x4c\xea\xc9\x63\x7a\x97\xb5\x4b\x66\xdc\xf6\xfe\xd1\xeb\xa3\x6f\x29\x7f\xc0\xf2\x54\x3b\x04\x7f\xcd\xf5\x79\xb5\x62\x7d\x5e\x6d\xb8\x3e\xc7\x69\xf4\x4f\xbe\x3c\x74\xa5\xdd\x6c\x85\xa6\x7c\xb4\x74\x85\x4a\x48\xba\x78\xf4\xf7\xda\xf3\xb5\x18\xc2\xfe\x7f\x3f\x92\x10\x09\x79\x36\x13\xec\xe5\xf1\x5b\x88\xa8\x55\xb3\x3e\x24\x9a\x12\x39\x77\x11\x0e\x26\xe2\xf0\x24\x75\x47\x41\x93\xf2\x2d\x5e\xa7\xc4\x96\x79\x62\xea\x9c\x30\xcc\xcf\x47\x35\x79\x47\x22\x67\x5c\xc3\xa7\x14\xff\x98\xe9\xfb\x3b\x36\x48\x78\x3c\xa1\xb8\x94\xc2\xf7\x50\xce\x1b\x63\x92\x9b\x41\x1f\x1a\x0a\x26\x3a\xb5\xe5\x7a\x21\x99\x50\x4a\x89\x1d\x38\x66\x9b\xc4\x12\x57\x31\xa4\x50\xf5\x66\xc1\x5e\x98\x5a\xf6\xd4\x6e\x9a\x89\x21\x74\x30\xe0\xa9\x9e\x39\x65\x0f\x09\x27\x6f\xf3\x48\x0c\xb8\xda\x86\x48\x5e\x8a\x64\xb3\xc3\x85\x27\xb9\x8d\xe6\xc0\xa2\x52\x2e\xb8\xe3\xdb\x6f\x69\x97\x95\x3e\xf1\xeb\xf8\x7c\xeb\x82\x13\xca\x24\x05\xae\x14\xcf\x8b\xc7\xce\x83\xff\x89\x63\xc7\x6a\x4d\xfe\x88\x9d\xf3\x78\xd3\x9d\x03\xf9\x87\xee\xbc\x77\xb0\xf0\x0b\xe5\xa2\x99\xf0\x6c\xb1\x0b\x71\xdd\x29\xcf\x01\x65\x42\xa4\xca\x84\xd1\x96\x51\xb8\x29\xae\xd0\xf8\x17\x60\xc9\x14\x33\xa8\xc8\x1a\xe2\x26\x39\x8f\xa7\xe2\x48\xa6\xb9\x48\x73\xf5\xbb\xd9\x03\x98\x84\xc0\x76\xd4\x69\xb7\x9f\x15\x8d\x43\x86\x18\xb4\x9c\x17\x84\xcd\x13\xaf\x70\x92\x1f\x82\x70\x96\xa8\x67\x54\x1a\xc7\xd6\xf4\xc6\x82\x2b\x53\x31\x88\x79\xe2\xe5\x71\x99\x80\x0c\x0a\x11\xfb\x12\xbb\x89\x53\xac\x15\xac\x3b\x1f\xa5\x72\x22\x5a\x76\xe6\x18\xe9\x96\xf1\x74\x04\xa6\xb0\x4c\x00\x64\xe8\x6f\xbf\xdd\x7e\x0a\xdc\x08\x8a\x80\x9b\x7a\x21\x0c\x26\x85\x65\x08\x88\xa9\xe5\x99\xe0\x39\xea\x64\xe6\x63\x99\x18\x70\x34\xb2\x8d\xd7\x8e\x3c\xe7\x56\xac\xde\xff\x7c\xc8\x4c\x99\x0b\x59\x4c\xea\x65\xa7\x39\xf4\x45\x46\xcc\xe5\xae\xa2\xae\x29\x38\xb7\x3c\x79\x78\x58\x7c\xae\x53\xeb\xda\x5d\xdd\x21\x59\x02\xdf\xec\xbb\x37\xc6\xba\xe0\xbf\x7e\x50\x78\x7d\x11\xbe\x7e\x58\x78\x7d\x79\x19\xbe\x7f\x54\x78\x7f\x15\xbe\x7e\x5c\x78\xfd\x73\xf8\xfa\x49\xe1\xf5\xe7\xf0\xf5\x53\x6f\x52\x96\x1b\x9b\x97\xcf\xbc\x97\xcf\x6a\xa5\x10\x68\x7f\x2f\x1e\x26\xf9\xd6\x5b\x71\x13\x8a\x25\x37\xcc\x15\x04\xbb\x86\x5c\x10\xc0\xef\xa7\x96\xb5\x2d\xe9\x4a\xbb\x94\x5b\x81\x71\xfb\x8f\x40\x91\x71\x75\xbd\x3b\x8e\x08\xc2\xff\x2c\x92\xe8\xf8\xfe\xf9\x08\x0a\x37\xa5\xb9\xc8\xa6\x99\x2b\x3b\x8b\xa9\xd2\xb1\x9a\xfa\x40\x4e\x17\x6c\x20\x27\x13\x9e\x56\x27\xc7\x5e\xc2\xf9\x8e\x56\xa1\x88\x82\xea\x85\x89\x54\x5c\x82\xae\x91\xc8\x5f\x52\x0a\x98\x7a\x43\xff\xd5\x33\xdf\x78\x55\x72\xee\x59\x40\x90\x59\x33\x49\xf8\x54\x89\x28\x08\x7a\x0f\xa0\xeb\x2b\xcf\xd1\x91\x9e\x55\x01\xfd\x7e\x31\x08\x74\xbc\x30\xae\x11\x80\x03\x3f\x41\xa5\xef\x60\x81\xb8\xd4\x98\x34\xa6\x98\xb6\x83\x73\x4a\x85\x94\x8c\xf7\x08\xeb\x2f\x58\x22\xf2\x52\x35\x7e\x3a\x8a\xb0\x5b\x74\x29\x99\x48\x95\x3b\x40\xd4\x90\xaa\xad\x99\x2c\x21\xdf\xc9\x34\x59\x7c\xc7\xe6\x1c\x12\xd6\x4c\x13\x2d\x29\xe6\xe2\x36\x37\x81\x8f\x83\x24\x9e\xa2\xca\xd0\x0b\xee\xa3\xd0\xbe\x5a\x94\xc5\x37\xa2\xd5\x5f\xd4\xd8\x5c\xf4\xcd\x98\x57\x10\x2f\x24\x24\xb7\x2b\x70\x38\xcc\x45\xa6\xd1\xe8\xc7\x20\x2a\x91\x9f\xc7\x13\x21\x67\x79\xdd\xad\xca\x80\xd6\xe4\x5c\x1e\xa7\x11\xe4\xa5\x74\x2f\x1b\x4d\xf6\xc8\xd5\x82\x28\x84\xec\x6d\x12\xe7\xe7\xa7\x56\x5d\xb1\xce\xab\x96\x19\x1d\x62\xfe\x88\xc5\x9e\xf0\x14\x04\x1b\xe3\x4c\x04\xf9\xf0\xe7\x32\xbb\x86\x9c\x32\x2a\xce\x67\x94\xf8\x0e\x6a\x94\x39\x40\x26\xef\x51\x5b\xdc\x8a\xc1\x11\xee\xbd\x7a\x4d\x83\xac\x35\x50\x77\x96\xc8\xb9\x2b\x7f\xf2\x4f\xb1\x66\xcb\x06\x20\xa7\x0b\xdb\xff\xb9\x3c\x32\x04\x59\x6f\x3c\xdf\x74\xb1\x5d\xc8\xa4\x97\xed\xdb\x1d\xa3\x7b\x0f\xaa\x2f\x30\xc4\xe1\xde\x6b\x0e\x27\xa7\x22\xa5\xa4\xf8\xa4\xb1\x24\xd6\x0f\x86\x38\x53\xde\x7c\x2b\xc1\x6e\xdd\x09\x50\xa6\x38\x2a\xbe\xaf\xc7\x52\xb7\x2b\x6c\xfb\x1e\xc3\x15\xb4\x56\x2b\x67\x4f\xa9\x61\xb9\xfe\x83\x54\x36\x07\x89\x54\xe2\x60\x21\x54\x33\x13\x2a\xfe\x05\x7f\x9a\xcb\x45\xa6\xe0\xcf\x5a\x50\x65\x86\x40\x4c\xe2\x34\x9e\xc4\xbf\xf0\x7e\x82\xdf\xcc\xe3\x28\x1f\x1f\xd4\xd8\x7d\x33\xaa\x38\x4d\x45\xf6\x49\x3f\xad\xfa\xbc\x39\x16\xf1\x68\x9c\x97\x3e\xf8\x09\x1e\x07\x25\xc1\x36\x5a\xc8\xe2\x12\x8a\x95\x4b\xf8\x11\x32\x7c\x59\xb5\xaf\xe1\x99\x90\x0a\x72\xc5\xc9\x05\xea\x61\x4c\x23\x64\x4f\xaf\x62\x72\xd4\xbe\x18\xf3\x9b\x58\x9f\x81\x0a\x53\x88\xab\x5c\x98\x64\xa0\x46\x33\xa0\x94\x50\x81\xeb\x1c\x5a\x5e\xb1\x5c\xea\x77\x38\xc0\xa5\x9f\x7c\xa4\xa2\xac\x94\xf9\x6c\x98\xc4\xa0\x4f\xf7\x33\x75\x61\xa1\xe5\x9b\x16\x74\x5e\x03\x5d\x04\x66\xa2\xdc\x86\x1e\x3f\xae\xa3\xc7\xba\x9f\x7e\xc1\x54\x5a\x09\x98\xe5\x47\xd0\x68\x7b\xca\xbf\x7a\xf8\x45\x05\x7f\xa5\x4f\x0a\x01\xed\xeb\xf9\x76\x61\xfd\x3b\x8f\x2b\xd7\xbf\x5c\x2c\xf2\xeb\xef\x65\x74\x53\xfb\xdf\xb5\x97\xe5\x2c\xdf\x6e\x2f\xc3\x07\x5f\x63\x2f\xff\x1e\x59\x94\x9c\x5c\xef\xb2\xd5\x71\x93\x87\x72\x2a\x55\x3c\xf1\x73\x8a\x7b\xc7\xb8\xde\xf1\x15\x5b\x16\xc6\x40\xf2\x00\x15\x26\x05\x73\x16\xe8\x1e\x32\x9e\xaa\x09\x94\x5d\x36\xe5\x87\xea\xf1\x90\x15\x0b\x33\xc1\x31\xdf\xa0\xc4\xa9\x68\x39\xab\x0d\x6a\xba\xc3\xda\x51\xad\x6a\x60\x81\x78\x31\x07\x8a\xc7\x19\x7b\x08\x30\x49\x8b\x49\xf9\x08\x9a\x4a\x53\x77\xd8\x66\x32\xb4\xf2\xb4\x92\x6e\x66\xd7\xa9\x9c\x2b\x50\x76\x08\xb0\x1c\x8f\xc5\x84\x0a\xa9\x24\xba\x99\x04\xed\x02\xde\x86\x10\x8d\x63\x0e\xe9\x0a\x65\x61\x59\xfa\x0b\x0c\xc5\x1f\xc7\x4e\x78\xbd\x16\x0b\xc6\x47\x3c\xde\x6a\xb3\xad\xbd\x17\x98\xed\xb4\xe1\xb5\xe0\x79\x69\x8f\xb2\xdf\x7e\x73\x12\x54\x78\x69\xa8\xba\x21\x98\x92\xb7\x61\x89\x6e\xd6\x17\x7a\x9a\x63\x91\x44\x40\x2d\x3e\x1d\xd9\x11\x16\xe4\x42\xeb\xb9\x43\x48\x73\x59\x97\x28\xff\xb5\x8c\x04\xe6\x6d\xe4\x11\xea\x05\x8f\x7b\x47\xac\x9a\x86\xf2\x6c\xe6\x9c\xbc\xe6\x82\x90\x4f\x19\x90\x23\x31\x88\x23\xc1\xfa\x22\x9f\x0b\x91\x02\x7d\x81\xb7\x10\x10\x98\xdb\xbd\x95\xba\x96\x20\x09\x0f\x14\x81\x0b\xaa\x94\x9a\x42\x78\xe0\x52\xb6\xa4\xfe\xac\xde\x03\x15\x57\xc3\xdf\x21\x87\x7a\x32\xa8\x9f\x94\x6d\xe9\x32\x06\xe2\x69\xbd\xc1\xbe\x58\x91\xf4\xcb\x26\xcc\x08\x8f\xa1\x32\x27\x82\xdc\x1a\xd2\xa5\xe5\x80\x65\xfc\xd8\x64\x91\x98\x52\x65\x4a\x99\x16\xce\x67\xc8\x1d\x89\x4e\x77\xf0\xb5\xc7\x41\x3e\x62\x25\x4c\xcd\xcb\x36\xe2\x63\x28\x4c\xa0\x08\xb2\xe5\x85\x1b\x1d\xc1\x37\x3f\xc5\xee\xa6\x69\x28\x2a\xe5\x51\x97\xf1\xd1\x26\x73\x59\x0d\xc9\x26\x71\xd9\xee\x90\xf8\x09\x69\x6e\x28\xd3\x9c\xfd\x22\xe5\xc4\x2b\x68\xe5\x65\x14\xa9\x29\x57\x1c\x4c\xb7\xc2\x9a\xb1\xac\x1f\xe7\x98\x84\x18\x53\x99\x33\x9e\xb3\x81\xc8\x72\x6e\x5a\x25\xe2\x46\x24\x98\x77\xf5\x30\x47\xd7\xba\x09\xa7\x3c\xe5\x30\xa4\x26\x65\xbe\xe5\x6a\x96\x89\x88\xe1\xd1\x89\x55\x50\x33\x39\x87\x54\x92\xfa\xba\x1d\x41\xa2\x77\x45\xb7\x6c\xe4\xc7\xd4\x16\x34\xdf\x73\xae\x98\xb8\x9d\x26\xf1\x20\xce\x93\x85\x26\x77\x33\x87\x4f\xb6\xba\x96\x08\xb6\x1a\x0c\xcf\xe4\xeb\xd1\x4c\x99\xaa\xc6\xa3\x09\xe4\x54\x66\x79\x4d\x21\x52\xb4\xec\x00\xf5\xf9\xbe\xa3\xbc\x3e\xba\x19\x4c\x77\x53\xea\x09\x9d\xa4\xd6\x50\xd1\xbd\x0a\x75\x4a\x00\xe0\x2f\x7a\xe4\x81\x89\x26\xe4\xb4\x20\xed\x9e\xbe\xfb\x8b\xd1\x77\x2b\x9c\xab\x35\x95\xf8\x4c\xd8\xda\xfe\xa4\x0d\x89\x81\xcf\xa1\xd1\x52\x20\x50\x41\xc0\x83\xe2\x5b\x11\x0d\x18\x3a\xdb\xd9\x9c\x63\x52\x45\xeb\x31\x6b\xb5\xf0\x98\x84\x56\xe5\x82\x43\xe1\x15\x3e\x1c\x6a\xf6\x93\x8e\xa0\x27\x57\xec\x30\x60\xb2\x90\x51\xb1\xf5\xb9\x98\x4b\x51\x8b\x0b\xc3\xda\x73\xe8\xf8\xe7\xcf\xd6\x0d\xe7\x24\x4d\x16\xec\xe7\xcf\x7a\x88\x50\x7d\x19\x89\x4d\x92\x50\x14\x14\x42\x4d\xa5\x49\x5f\xda\xbe\x93\x7c\xb6\x82\x35\x8f\x44\xae\x97\xec\x15\x1f\xe4\x32\xab\x37\xd8\x3d\xaf\xca\x25\xae\x18\xd6\x10\x87\x1c\x83\x39\xeb\x74\x3b\x88\xeb\x21\x7c\xd0\xb4\x87\x84\xbe\x85\xb0\xfb\xbb\xad\xdd\x3d\xa4\x5b\x83\x48\xaf\x8c\xb0\x4f\xdc\xe0\x2b\x04\x71\x50\x82\xab\x18\x79\xa3\xf1\x5e\x9d\x11\xaf\x1c\x09\xcc\xb6\xa7\x7f\x77\xf6\xf6\xfe\x7d\xc3\xb9\x07\xb7\x0c\x28\xd3\x09\x79\xf7\x57\xd7\x2d\x85\x2a\xa4\xb4\x82\x7b\xb5\x42\x3d\xaf\x0a\x2b\xa2\xc8\x5f\xc9\x34\xef\xc5\xbf\x08\x2a\x66\x1a\x14\xf1\x02\x05\xa7\xde\x98\xab\x84\x18\x0b\xc0\x2f\x4b\x6e\xc6\xd0\xaa\x69\x39\xa6\x4c\x5d\xe8\x07\xe9\xc6\x07\xbd\xb4\x0e\x58\xa7\xb2\x94\x18\xbc\xbd\xef\xde\x7a\xf5\x80\x56\xcf\x49\x7f\xd8\xd8\x5c\xbc\xf7\x8c\x87\x5b\x54\x66\x99\x52\x41\x98\xff\x2d\x65\x35\xb1\xac\x91\x1e\x80\xab\x6c\x1d\xe7\x68\x06\x36\x89\xae\x20\x4f\x2c\xc8\x70\xc3\x38\x15\x64\x42\x2f\x54\x6a\x3c\xf7\x53\x76\x43\xb5\x21\x70\xc6\x13\xe9\x6c\x22\xb0\xa6\x25\x8d\x4b\xe5\x3c\x8f\x07\xac\xaa\xb4\x90\x86\x63\x2b\x16\x99\xf4\xb3\x90\xa0\xd9\x42\x26\x9d\x04\x88\x9a\x58\x83\x1c\x44\xdd\x9d\xef\x76\xb4\xe4\x9a\xcd\xe0\xe0\x4b\x95\x39\xd0\xfc\x24\xe2\x58\xf8\xa8\x2f\xa8\x32\x78\x4e\xdf\xe3\x07\x5a\x40\x84\xf7\xa9\xcc\xf1\xb2\xb1\xf3\xdd\x8e\x83\x15\xe7\x2c\x92\x42\xa5\x35\xa8\x9c\x94\x2f\x37\x86\x9b\xc2\x94\xde\x81\xa4\xa6\x62\xe0\x19\xbe\x4d\x31\xc9\x23\x39\x83\x0b\xc3\x9e\x5f\x2c\x03\x13\xce\x81\xd5\xd6\xfc\x09\xfb\x6c\x93\xba\x4c\x43\x99\x69\x5c\x39\x69\x74\x22\x23\x3f\x67\xf3\xc5\x44\x46\x57\x04\x1c\x7f\xff\xf6\x9b\x2b\xe3\xee\xf8\x2d\xb5\x3b\x60\xb5\xef\xec\xa1\x50\x1e\xf9\xfd\xfb\xb0\xd3\x50\xcf\xaa\x5f\x37\x42\xcf\xc7\x8f\x50\x9b\x3f\xa4\x88\x35\x48\x73\x73\x61\x07\xec\xe2\x1b\xc6\x6a\x70\x24\xd6\x9a\xa8\x6e\xd2\xff\xcb\x13\xf8\x13\x0a\xd2\x7f\x73\xe5\xd3\xf1\x00\xeb\xff\x41\x22\x62\xe0\xbf\x9a\x31\x1f\x42\xca\x71\x27\x37\x40\x9d\xc1\x46\x20\x8b\x05\xf5\x5f\xf5\xc9\xaa\x28\x42\x54\x4b\x4f\x78\xca\xf2\x0c\x4a\x65\x65\x72\x36\x1a\xdb\x04\xfc\x83\x5c\xa8\xdc\x54\x12\x9a\x9a\x4a\xa2\xc3\x38\x53\x79\x13\x6f\xb3\x3c\x67\x89\x94\x4a\x24\x0b\x5b\xd5\xc5\xb6\xc3\x52\xdd\x4c\x5f\xb7\xa1\x7a\x88\xcc\xe2\x7c\xa1\xbf\x81\x24\xff\x50\x22\xc4\x36\xde\xa2\xc8\x27\xdf\xb0\x5d\x7f\xcd\x42\x78\x05\x15\x7d\x4a\x76\x39\x3d\xa1\x1e\x75\x81\x94\xbf\x67\xfd\xf0\x49\x20\xb2\xb7\x3a\xd6\xfa\x55\xfc\xf0\x87\x95\x1f\x76\x7c\x71\x7e\x2f\xa0\xb1\xd3\x2c\xbe\xe1\xb9\x30\x99\x33\x0d\x9b\x32\xb5\xcd\xa8\x7c\xce\xd4\xd4\x8a\xd5\xd7\x7e\x95\x93\xb0\xe2\xbd\x51\x54\xd3\x0d\xb2\xc0\xcb\x79\x8a\xbe\x5e\x25\xbc\x9b\x4a\x6e\x9a\x6c\xa8\x84\x5b\xee\x15\x7d\xb3\xed\xa8\x52\xdb\x17\x64\x47\xe8\x68\x46\x76\x1a\xca\x4f\xec\xd7\x93\xfd\xa0\xc4\x70\x96\x60\x30\xf4\x42\xce\x80\x04\xb1\x96\x45\x2e\x4d\xd9\x0b\xe0\x47\x48\x14\x38\x37\x33\x15\x9e\x96\x26\xb3\x6e\x8f\xb9\xcd\x00\xa0\x02\xd1\x59\xf6\xff\xda\xc4\x7e\xde\xe9\x77\x65\xd3\x30\xb0\xa7\x7b\x07\x7a\xfa\xe6\xcf\x60\xad\x88\x9b\x90\x08\x93\xdd\xd8\xac\xb8\x5f\x81\x85\x69\x88\x13\x19\x7d\xe4\xc9\x4c\x13\xa5\x7e\xa5\x8f\x14\xd9\xff\x6b\x83\xfd\x49\xff\x0f\xf2\xad\x6e\x91\xa5\xdd\xcb\x6e\x34\xa3\xab\xdf\x73\x13\x33\xba\xe4\x80\xd3\xe9\x46\xc1\x43\xd3\x59\x28\x18\x9b\x4c\xe2\x7a\x6e\xb6\xa7\x02\x1b\x74\xf4\x9a\xdd\x3c\xaf\xaa\x41\x48\x84\x51\x2e\x32\x48\x74\x15\x63\x81\x33\x57\x8c\x30\x24\xe5\xff\x3b\x6b\x0c\x2e\x27\x62\xaa\xcb\xb7\xb4\xce\xa0\xaf\x0b\x40\xaa\x37\xef\x49\x06\x68\x6c\xb6\x4a\xcb\x8f\xfb\x58\xb9\xba\x4e\x46\xad\xcf\x49\x0a\x01\xed\xaa\xd8\x9c\x8b\x6f\x3d\xf7\x0a\x99\xc3\x2b\x74\xbb\x02\x03\xb6\x32\xae\x9e\xea\x46\xe5\xe5\xe5\x14\x65\xe7\x7f\xf1\xda\x84\xb4\xd0\xff\xa1\xdf\xea\x4e\x6e\x62\x31\xa7\xf2\x08\x71\x22\x58\x3c\x99\x52\x99\x0d\xaf\xde\xcf\x09\x4e\x1d\x2b\x02\x42\xa9\x0f\xac\xf8\xa6\x72\x99\x09\x65\xb3\x0e\xeb\xbd\x80\x09\x8a\x07\x32\x8d\xa8\x9a\x8a\xb9\x24\x06\x1e\x7f\x9a\x2e\xcc\x76\xd7\xe0\xe0\xf8\xf2\x6f\xef\x4c\x89\x4c\xef\x41\x39\x64\x40\x34\x02\x0a\x06\x5a\x05\x9d\xe2\x37\x71\x3a\xda\xcd\x84\x1e\x01\x15\x09\xc1\x78\x5b\xaa\x43\x62\x7a\xd7\x97\xd5\x64\x41\x05\x52\xa4\xde\xaf\x37\x71\x84\x15\x7f\xb8\x5a\x90\x0b\x86\x1e\xe2\x40\x4e\x26\x32\xd5\x9f\x0e\xe3\xd1\x2c\x03\x75\x12\x9c\x8d\xb4\xea\xc6\x93\x3a\x8b\x47\x10\xf4\x0f\x0b\xd5\x5f\xb0\x23\x99\x2d\xd8\x3b\x3e\x18\xf0\x2c\x23\x52\xdf\x75\x3e\xa7\x32\x55\x79\x36\xd3\x17\x6f\x8b\x87\x2a\x8c\x52\x2f\xe0\xfa\xc8\x51\x6b\x61\x35\xb6\x34\x21\x03\xa7\xc2\x2a\x8a\xb7\x0d\xae\x42\x46\x93\x4f\xbb\xbb\xbb\xf3\xf9\xbc\x7d\x93\x77\xf6\xf6\xda\xa9\xc8\x77\x23\x39\x50\xbb\x37\xf9\xa3\xce\x5e\x2b\x9b\xec\xbe\x3c\x3e\xea\x9d\x9f\xa1\xcc\x35\x10\x53\xa3\xfa\xd2\xf7\x16\x2c\x7d\x33\xcb\xe5\x3c\xe3\x53\x56\xd7\xff\xc5\x7a\x85\x0d\x9b\xac\x37\x27\x17\x4c\x2c\x56\x25\xc4\x44\x91\x52\xab\x2f\xd8\x5c\x3f\x43\x87\x4f\x7d\x73\xa8\xde\xfe\x84\x81\x83\x2f\x7a\xf2\x9f\x41\x37\x7d\x42\x58\xb0\x99\xbf\x41\x99\x26\xa7\x0b\x94\x31\x3c\x2c\x78\x7c\xc2\x60\xd2\x3f\xcb\x09\xa0\x75\xda\xd4\x1b\x90\xe7\x79\x16\xf7\x67\x39\x94\x8f\x26\xdb\x0c\x14\xb8\xd4\xc8\x9b\xce\xfa\x49\x3c\x70\xf4\x05\xc4\xc1\x07\x03\xa1\x14\xc5\x52\x21\x20\x4b\xc4\xd6\x61\xd9\xe1\x86\x1d\xb8\x99\xfc\xc9\xfe\xf4\x1b\x74\x6d\x9e\x7c\xaa\x05\x78\x23\x32\x25\x3e\xad\x83\x50\x6e\xe7\x1d\xf4\x00\x49\x02\x55\xbe\xc3\x0b\x54\x15\x08\xaf\x41\xf1\x5b\xbd\xcc\x47\x3c\xcb\x62\x3e\x12\xc4\xfd\xab\x61\x54\x34\x2c\xc2\xc2\x2d\xf8\x31\xc6\x12\x29\xd5\x60\xc2\x36\xd5\x10\x5e\x24\x71\x7a\xbd\xf2\x7b\x6c\x51\xfc\x3a\x86\x48\xaf\x15\x78\xf0\x1a\x14\xbf\x25\x2c\x7f\x8c\x23\x21\x57\x2f\x04\x36\x29\x7e\xdf\xcf\xf8\xe0\x5a\xe4\x22\xc2\x40\xb3\x6a\x08\x85\x46\x16\xc6\xfa\xd3\x07\xaa\x5c\x67\xff\xea\xaa\x97\x6d\x0b\xe3\x16\xf6\x3c\x83\x22\xeb\xd5\x15\xb7\x16\x69\xce\x6f\xf1\x20\xd1\xac\x16\xad\xa9\xd6\x94\x37\x53\xb9\x9c\xc4\xbf\x70\xcb\xcc\x0d\xfb\xa0\x7a\xf4\xa5\xea\x42\x30\x00\xa6\x87\xa0\xe5\x0d\x53\x6c\x1e\x6f\x40\x84\x2e\x7c\x04\x4a\xce\xef\x76\x0d\x19\xd0\xbb\x03\x56\xc3\xa8\x86\x22\x9c\x14\x5c\x49\x11\x8e\xcd\xd6\x2f\x95\xa9\xf6\xe9\x83\x9a\x4a\x85\x3a\x92\xa5\xc3\xf9\x13\xc1\xb1\x1e\xe8\x14\x92\xb3\x06\xf0\x60\xcc\x0e\x5c\x69\xe6\x00\x11\x9e\x88\x05\x15\xcd\x83\xe2\xf7\x42\x29\x3e\x12\x81\x54\x95\x8a\x39\x3b\xc6\xd2\xe7\x00\x80\xe1\x57\x3c\x87\xd2\x6e\x76\x1a\xf7\x59\x0d\x8b\xbd\x19\x18\x2b\x7b\x76\x15\xd7\xcb\xeb\xe2\x4b\x73\x80\xa0\x03\x1f\xef\xa6\x66\xd7\x2a\xe8\xa5\x72\x52\xf8\x29\x1c\xc2\x9f\xa7\x52\x79\xfa\x2a\xbb\x98\xf8\xe3\x79\xb8\x32\xd4\x5e\x5f\x9e\x9c\x22\x0b\x70\x4b\x83\x09\x75\xd6\xfe\xe5\x1d\x50\x55\x0e\xc7\x41\x75\x8e\xff\x54\x6f\x47\xba\xac\xe0\x3d\x45\xda\xca\xc7\x5e\x29\x12\x77\xf0\x43\xe1\x5d\x7f\xde\x54\xb8\x15\x6e\x16\xe6\x83\x37\x62\xa1\x02\x8f\x07\x6e\x53\x49\xb4\x19\x7b\x23\x48\xe6\x88\x84\xf5\x83\xe2\x29\x18\x42\x47\xe8\x91\xad\xff\xb2\x60\xad\x11\x6d\x69\xb7\xa6\x44\x75\x9b\xb1\x77\xae\x7a\x0a\xea\x58\xb1\x76\xb5\x2b\x76\xf9\x57\xa9\x27\x02\x72\x04\x5e\x27\x22\xa8\x72\xeb\x05\x53\x20\x92\x52\xa6\x19\x68\x16\xab\x6b\x50\x56\xd2\x30\x8d\x16\x24\x4e\x23\x2c\x34\x68\x83\xd4\x66\xa9\x2b\xc9\x17\xe8\x5c\xf5\xe9\x6f\xa4\x2f\x03\xdd\x2b\x31\xdb\xc5\x3b\xdd\x61\x97\xc1\xed\x59\x90\x53\x28\x0f\xd2\xc0\xec\x1c\xee\x84\x43\x64\x8c\x3d\x7e\xd4\x65\x3d\xbc\x0a\x61\x1e\x20\x7a\xbe\x77\xfb\xb0\x53\xfd\x06\xfc\xcf\x8a\x1d\xe1\x43\xbf\xc5\x32\xc0\xf0\x72\x0d\x74\x34\x74\x57\xf6\x41\xaf\xfc\xd6\xdf\xf9\x2d\x71\x20\x50\x8b\x72\x2e\xb4\x38\xa5\xbc\xc2\x66\x01\xc5\x02\xce\x4d\x1e\x3e\x2a\x4d\xaa\x19\x42\x22\xb8\xf2\x4c\x4f\x9a\x00\x0e\x6d\x1d\x4d\x60\xf6\xb4\xb7\xed\x9d\xbe\x70\x97\x07\x8d\x68\x13\x2c\x8a\x5e\xc5\x8a\xa6\x21\x23\xec\xca\xdd\xdf\xcb\x5c\xde\x63\x02\x70\x9c\xbe\x11\x8b\x9e\x19\x75\x89\xd1\x58\x2d\x0e\xaa\x60\x6c\xc9\x4a\xcd\x37\xbf\x81\x42\x24\x7e\x01\xc1\x6b\x77\xbb\x5f\xb3\xf1\xac\xf3\xdd\xcd\xc5\x46\xed\x2f\xae\xaf\xae\x02\x7d\x8b\xee\x77\x3e\xd6\x77\xb5\xba\x65\x46\xdf\x57\x30\xc1\xa0\x66\xa1\xba\x8e\xa7\xbd\x29\x1f\x38\xe3\x95\x1e\x75\x2e\xaf\x85\xf5\xe7\x07\x94\x9c\xeb\x27\xc6\xd9\x17\xd4\x5f\xfa\x41\x1b\x0e\x9d\x83\x03\x56\x23\x2e\xe0\x19\xb4\xb2\x1b\x4f\x79\x8f\xad\x6f\x78\x42\x8a\x2f\x6b\xe0\xaa\x02\x65\x27\x5c\x0b\xab\xe8\x78\x40\xb6\xc6\xaa\xa7\x2d\xb3\x75\x54\xd6\x21\xd8\xeb\xef\xea\xb9\x85\xa2\x47\x92\xdd\xa0\x46\xec\xdb\x6f\x99\xf9\x79\x2f\xb0\x0d\x20\x7e\x33\x70\x7f\x8b\x15\x1e\x99\x7e\xa1\x53\xd3\x0f\x1e\x7e\x5e\x47\x0d\xd7\x91\x81\xec\xe9\x0b\x2b\x11\xb7\x1e\x21\x86\x9f\xfa\xc8\x08\x96\x67\xed\x97\x05\x5c\x84\x43\x71\x40\xcb\x53\xfe\x90\x5e\xa7\x72\x0e\xca\xbc\xe5\x73\xfd\xb2\x8e\x24\xd4\x62\xd2\x97\xc9\x0a\x72\x30\xfa\x4a\x37\x14\x57\xc2\x33\xba\x13\xb1\x20\xb9\x4c\x37\x26\x96\x38\xf2\x68\xc4\x6a\x59\x2f\xa6\x57\x8d\xc0\x75\x13\x1e\xb1\x03\xa6\x87\xeb\xda\x7f\xd9\x06\xa1\x58\x6a\x5f\x44\x0c\xb1\xb2\x0a\xad\x15\x30\xcb\x10\x8f\x0d\x3c\xef\x24\xf7\xf7\x60\xd9\xe4\x5c\x66\x1a\x56\x21\x3e\x18\xc3\x4e\x68\xd9\x9d\xd0\xcf\x04\xbf\xf6\x5a\x79\x74\x77\x0f\x85\xcd\xc6\x8a\x91\xe5\x19\xf7\x85\x79\x3e\xd4\xc2\x6c\xce\xb3\x91\x00\x3b\x53\xcd\xf4\x4f\x45\x8f\x6e\x78\x3a\x10\x75\xcf\x0d\xae\xd0\xe3\x81\xdf\x63\xb9\xbf\x77\xb1\x52\xe0\x14\x59\xec\xa0\xa0\xb9\x5e\x73\x76\x1c\x9a\x70\xa8\xaa\xc2\xa4\x45\xdc\xad\x61\xb7\xdf\x54\x72\x5b\x94\xf2\x6b\x81\x9d\xa1\xc8\x62\x37\xe3\xac\xdb\xb0\x11\x2a\x06\xde\xa8\x0a\xf8\x58\xde\xbc\x8a\x75\xac\xe4\x13\xe4\x23\x5e\x4d\xd7\x94\x6d\x62\x29\x0d\x53\x1d\xf0\x12\x09\xaf\x5c\x37\x21\xae\x31\xde\x76\xf5\xb5\x42\x8b\xf0\x07\xac\x76\x59\xab\x19\xbb\x88\x79\xb4\x53\x5b\x4d\x18\x42\x5c\xbf\x76\x82\xf1\x9a\x4e\x50\x19\x5d\xdf\xbd\xe0\xad\x5f\x3e\x5f\xed\xc6\xab\xef\x44\x00\x9b\x36\xee\xa6\x80\xf7\x5a\xcf\xae\x76\xd7\x80\xb5\x54\x58\x86\xea\x6f\xf6\x90\xf1\x3a\xd9\x48\x03\xe9\x5a\xc6\xdd\x64\xb0\x82\x5d\x33\x92\x2f\xcf\x97\xed\xda\x60\xaf\x15\x9d\x9e\x42\x3c\xd6\x1b\x01\xfd\x9b\x2e\xbd\x75\x0f\xbb\x85\x29\xf9\x9f\x7f\x79\x5e\x82\x8e\x64\xb0\x04\x32\xed\xba\x0a\xa8\xe6\xb3\x0a\x88\xb4\x36\xcb\x06\x4b\x62\x53\xd5\x48\xcd\x87\x1a\x68\x25\xd1\x7b\x47\x01\x6c\x93\xda\x06\x4b\xba\x8a\x0c\x5d\xf0\x5d\x35\xa2\x57\x1d\x1d\xe1\x66\x2b\x5c\xc7\x75\xc7\x64\x57\x41\xb2\xde\x6b\x3d\xfb\x7c\x75\x7f\x37\x1e\x6d\x32\xe2\x65\xc4\xad\x89\xad\xcf\x95\x96\x5f\x3a\x7b\x21\xe2\x89\x30\xf7\x6a\x36\x42\x66\x99\x30\xcc\x5a\xac\x53\x48\xca\x11\x5e\xd2\x3d\x55\x45\x47\xdf\xd7\x01\xf0\x6d\xad\x10\x2a\x63\x46\x5a\xaf\x98\xf0\xde\xad\xde\x70\xbc\x35\xbc\xba\xbf\x3b\x8a\x1b\x25\x6f\xac\x55\xdf\x5e\x46\xf7\x77\x47\x8d\x6a\x25\x01\x55\xb2\x97\x19\x8b\xe4\xac\x9f\x08\xf6\xb7\x99\x74\x2c\xd0\xb7\x07\x14\xd5\x3e\x36\x03\xb9\x8c\xd3\xdc\xe8\x86\xe0\x8c\xe5\x09\x42\xf1\xae\xad\x8c\xf5\xa0\x23\x0d\x2c\xe8\x41\xa1\x0f\x7c\x9f\xf2\x2c\x88\x88\x25\x71\x2e\x32\x9e\x24\x8b\x66\x61\x48\xd0\x70\x9a\x49\xd0\x9b\x0b\x70\x8e\xb7\xb7\xbb\xf3\x93\x97\x27\xf5\x6c\x14\xa7\x11\x6f\x74\xd9\x47\x53\x60\x1f\xfd\xab\x65\x62\xa3\x80\x7c\x4b\xc1\x29\x6e\x3a\x9e\x8b\x2f\x6c\x6a\x7f\xfb\x2d\x8c\x5a\x0e\x67\x73\x58\x42\x56\xab\x38\xcd\xe0\xa2\x49\x5f\xaf\xbd\x28\x2e\x3b\x35\x80\x0f\x0a\x35\x4b\x72\xa7\xf0\xd3\xcf\xb0\xd3\x03\xc3\x06\x8d\xbf\x22\x3e\xbe\x07\x07\x89\xa6\x58\xf7\xf7\x65\xad\xb6\x6c\xef\x51\xdf\x86\x05\xd0\xbe\x2b\xb1\x54\x3b\x1a\x76\x00\x4a\xb9\x33\x31\x3a\xbe\x9d\xd6\x6b\x17\x97\x97\x97\x97\xfa\x84\xc5\xce\xee\xb3\x1a\xe4\xde\x1f\x11\x9c\x6d\x2e\x92\x99\x68\x27\x5c\xe5\xaf\xd3\x48\xdc\x5a\x29\x46\x2a\xdf\xdd\x40\x40\x08\x6c\xdd\x83\xd1\x58\x2e\xf6\x7d\x48\xc9\x9c\xe2\x1d\xe8\x44\x5a\x35\x57\xb5\x1c\xb0\x7b\xff\xa0\x62\xcf\x6a\x56\x6c\x06\xd1\x0c\x47\xd7\x62\x9d\x4a\x91\xb1\xd0\xc8\x4e\xdb\x6b\xef\x16\xea\xc0\x2e\x54\x20\x16\x5c\x16\xbd\x4d\x8b\x27\x5b\x69\xd4\x40\x43\x18\x2b\xe2\xe2\x68\x07\x32\xcd\xe3\xd4\x94\x4d\xfe\x52\xd5\xb9\x96\x40\x56\xf5\x5e\xe8\x06\x09\x6d\xc5\xb0\x96\x76\xe9\xf5\x00\xbd\x6f\x30\x41\x53\xa4\x75\x96\xe4\x85\x50\xdf\xad\x17\x1a\x0e\xbe\x90\xe9\xa5\xc4\x3d\xd0\x24\x01\x29\xa2\xaa\xf4\xda\xac\x4e\x76\x68\x9f\xcf\xa1\x19\x52\x37\x07\x8f\x34\x4f\x3b\x7e\xf8\xea\xfc\xf8\x0c\xde\x24\x82\x43\x7c\x08\x24\x8b\x4a\xb8\x1a\xb7\x1b\x45\x25\xd4\xa6\xbc\x81\x62\x80\x2a\x79\xc3\x04\x1c\x99\x11\x97\xb5\x9d\x5a\x57\xff\x07\x5d\xda\xf5\xda\x76\xe1\xbf\xe6\xef\x4b\xf8\xfb\xd2\xfc\xcd\xe1\xcf\xdb\xbd\x27\xe6\x41\x9f\x1e\x3c\x35\x0f\x04\x3e\xe8\xf4\xcd\x83\x21\xb5\x18\x98\x07\x29\x3d\xe0\xe6\x41\x46\x0f\x22\xf3\x20\xa7\x07\xcf\xcc\x83\x1b\x7a\x60\x81\xde\xd6\xba\xc5\x99\x19\x09\x90\xae\xe4\x2b\x0e\xff\xab\x5f\xf7\xbf\xe0\xe9\x1f\x90\x4d\x55\xd2\x1b\x7b\x3a\x02\xd4\x26\xeb\x3c\x6e\x98\x1b\x29\x8d\x64\xf6\xfb\x46\xf2\xf0\x2b\x8c\xc4\xea\xfd\xbc\xc8\x8a\xc1\x18\x52\x8f\xf1\xe9\x52\xe9\xc9\xdc\x79\x90\xa4\xbb\xce\x32\x32\x18\x3b\xc6\x6d\xa6\x30\xe1\xd3\x0b\x7a\x79\xf5\x7c\x09\xa3\x87\x2d\xbb\x98\x0a\x39\x64\x4e\x2d\x62\x50\x43\x07\x89\x81\x07\xff\xdb\x1e\xf0\x24\x41\x17\x2d\x5f\x6a\xa3\x4b\x64\x49\xe6\x70\x5e\x3f\xc6\x7f\x50\xe5\x3c\x03\xb7\x84\xa5\x5b\xb1\x78\x74\xe3\xf9\xf3\xc5\x42\x38\xb4\xbf\x02\xb7\xaa\xdc\x37\x5f\x81\x83\x87\x9a\xf2\xb4\xcd\xd8\xbb\x0f\xbd\x73\xd4\xe8\x92\x2a\x19\x9a\xee\x8c\x12\xd9\xe7\xc9\x0e\x1d\x6f\x6c\x98\xf0\xd1\xdd\x8e\xf4\x0a\xc7\xa1\xa9\xef\x35\x04\x2b\x6c\x7c\xce\xb0\xd7\x65\xeb\xab\x25\xd7\x2c\xe5\x09\xda\xbe\xba\xac\x37\xe5\xa9\x73\x77\x35\x9e\xd7\x08\x83\x0e\x36\x03\x78\xd9\x79\x0a\x75\xe1\xb3\x05\x3b\xb0\x2d\x4b\xe7\xaa\xa3\x43\xdd\xf0\xb7\xdf\x2a\x60\xb6\x34\x8c\x8b\xbd\x2b\x23\x03\xdf\x73\x9d\xac\x95\xf4\xad\x07\x1e\xd2\xab\xc1\x8d\x13\x3e\xd0\x06\x56\xd5\x69\x67\x19\xdd\xd2\x1a\xe1\xa0\x42\xbe\x7f\x88\x2d\x37\x22\x2d\x63\x42\x1d\xc8\x19\xf8\x8b\x2e\x5d\x68\xea\xde\x5f\x63\xf8\xc6\x53\xd3\x80\xc4\x7f\x80\xa0\x42\x1b\xde\x8a\x3b\x42\xc9\x9e\x17\x4a\xa3\xe4\xd2\x82\x12\x1b\x3b\x64\x49\xac\x20\x06\x0d\x82\x86\x58\x2a\xd3\xd6\x7c\x1c\xe7\x02\x13\x05\x06\xc4\x4f\xce\xaf\xe6\xb0\x64\x38\x77\x47\xdc\x37\x32\x8e\x56\x92\xb6\xd5\x3a\x15\xdd\x61\x70\x30\x1e\x69\xef\x5e\xaa\xdd\x76\x2e\x54\x6e\xb8\x58\x70\x71\x0d\xe5\xc9\xdd\x4b\x75\x7f\x77\x34\xc1\xb4\x74\x4b\x68\xd6\x64\x09\x32\x16\x53\x0f\x7d\x46\xfc\x35\xd2\x61\x20\x18\x7a\xb4\xe4\xc3\x76\x74\xb6\xd9\x62\x50\x17\xc5\xa9\x06\xe2\x4d\x3b\xd6\x90\x4f\x86\x41\xab\x83\x03\xd6\xea\x34\x36\x51\x9b\xca\x14\xac\xaf\x7a\x37\x78\xcb\x7b\x9f\xd5\x9a\xe8\x01\x01\x1b\x25\xb0\x0b\x18\x16\xef\xc4\xa3\x4d\xfd\x3c\x3e\xfb\x0a\xb6\x7f\x71\x9f\x0f\xeb\x0b\x97\x50\x40\x30\x78\xf5\xf9\x06\x64\x99\x85\xda\xc5\x32\x85\x7b\xe8\xd0\x02\x55\x49\x97\xb0\xd4\xca\x8d\xd2\x17\x18\x37\xbb\x36\xa6\xe2\x1b\x34\x70\x76\x4d\x6c\xc5\x37\x8c\x1d\x26\xfa\x3d\x84\x58\x7c\xc3\x20\x2a\xb8\x6b\x42\x2d\xbc\x7d\xfe\xc6\x16\x6e\x98\x79\xae\xeb\xa8\xb8\x26\x1f\x61\x1b\x08\x68\xb8\xd6\xa9\xde\x86\x98\x38\x48\xe3\x79\x22\x55\x9e\x2c\x58\x22\x86\x39\x93\xb3\xdc\x2e\x07\x30\x89\xbe\x18\xf0\x99\xa9\x0d\xa2\x91\x3d\x91\x37\x82\xa1\xd3\x17\xd8\xc4\x4d\x1e\x54\xeb\xd8\x92\xc8\x01\x4f\x04\x18\x53\x4d\xee\x01\x93\xb3\x20\x2d\x38\x18\xb0\x24\xbe\x16\x6c\x07\x0c\xb9\xc7\xbd\xa3\x9d\xa6\x0d\x69\x1f\xc8\x89\x50\xe6\x68\x37\x63\x91\x43\x08\xfe\xf1\x10\xcb\xd8\x6b\x70\xcf\x16\x7f\x9b\xc5\x37\x3c\x11\x18\x89\x89\x00\xf7\x9f\xec\x60\xe4\x10\x99\xa1\x3b\xfd\x9d\xd5\xcb\x68\x4d\x4e\xb4\x44\xbb\xbb\xec\xdc\xa5\xc9\x3f\xee\x1d\x75\xd9\xfe\x13\xbd\x16\xaf\x3a\x5d\xd6\xe9\xec\xc3\xcf\x7d\xfd\xf3\x01\xfc\x7c\xa0\x7f\x3e\x84\x9f\x0f\xf5\xcf\x47\xf0\xf3\x91\xfe\xf9\x18\x7e\x3e\xd6\x3f\x11\xc2\x13\xfd\xf3\x29\xfc\x7c\xaa\x7f\x3e\x83\x9f\xcf\xba\xac\xb3\xbf\x87\x5d\xec\xe9\xdf\x1d\xfc\xad\xfb\xdb\xc7\xfe\x3a\xba\xc3\xfd\x07\x4d\x8a\xb4\x3f\xd3\xac\x61\x2e\xf5\x00\x4f\xde\x1f\x77\xd9\x43\x00\x74\xfe\xe9\xa4\xcb\x1e\x01\xa0\xf3\x9f\xce\x8e\x8f\xbb\xec\x11\x42\x3a\xf9\x70\xd6\x65\x8f\x10\xd2\xeb\x8f\xfa\x39\x0c\xbd\xf7\xfa\xcf\x5d\xf6\x08\x86\xde\x3b\xfe\x78\xfc\xbe\xcb\x1e\xc1\xe0\x8f\x5f\xff\xf8\xd3\x79\x97\x3d\x82\xe1\xbf\x7f\xad\x3b\x78\x04\xe3\xff\xcb\xf1\xd9\x49\x97\x3d\x84\x09\xbc\x38\x3c\x7a\xd3\x3b\x3d\x3c\x3a\xee\xb2\xa7\xc1\xb0\xc6\x99\x80\xdc\x56\xe7\x87\x2f\xba\x0c\xc6\xf5\x5f\x5d\xf6\x14\x06\xf2\xa9\xcb\x9e\x02\xa0\xe3\x2e\x7b\x0c\xaf\xce\xba\xec\x29\x8c\xeb\xbc\xcb\x9e\xc2\x48\xfe\xbb\xcb\x9e\xc2\xab\x0f\x5d\xf6\x14\x86\xf3\xba\xcb\x9e\xc0\x78\x4f\xba\xec\x09\xbc\x3a\xed\xb2\xa7\x7b\x7e\xa7\x43\x39\x83\xf4\x96\x47\x87\xa7\xbd\xb7\x27\x47\x6f\xba\x0c\xf1\x79\xd8\x65\x8f\x01\x46\xaf\xcb\x9e\x02\x8c\x97\x5d\xf6\x18\x17\xa0\xcb\x9e\x40\x9b\x1f\xbb\xec\x09\x8c\xee\xa7\x2e\x7b\x02\x63\xf9\xcf\x2e\x7b\x02\x63\x79\xd3\x65\x4f\xe0\xf3\xb7\x5d\xf6\x04\xb0\x01\x35\x03\xbb\xac\x13\xac\xc4\x30\x06\xe7\x06\xf6\x97\x2e\x7b\x06\x20\xff\xdc\x65\x4f\xa1\x93\xa3\x2e\x7b\x0c\x13\xfe\xd8\x65\x4f\x01\xc0\x8b\x2e\x7b\x8c\x78\xed\xb2\x27\xd0\xe6\x5d\x97\x3d\x79\x62\xc0\x1d\xe7\x03\x0d\x89\x10\xfb\x00\x86\x73\x7a\xf6\xfa\xfd\xf9\xe7\xde\xd1\xd9\xb1\x5e\xa2\x87\xf0\xac\x77\x74\x76\xf2\xf6\xed\x67\x9c\x6b\xe7\x21\x0c\x12\xaa\x44\x75\x19\x12\x15\xd6\x74\xea\x32\x7c\xf5\xd3\xc9\x3b\x0d\x0e\x3a\x3e\xfd\xf1\xc3\x69\x97\x3d\x40\x6c\x1c\xbf\xed\xb2\x87\x34\xb3\x97\x5d\xf6\xe0\x11\xb6\x78\x79\xf2\xe9\x7d\x97\x3d\x00\x24\x40\x6b\x18\x29\x3e\x7d\x08\x53\x3c\x43\x1a\x79\x00\x9d\xbd\x3d\x7e\xa5\x7f\xc3\x4c\xa9\xf0\x8d\x1e\xd5\x43\x33\x2b\x2c\x23\xa3\x11\x7a\xba\xd7\x65\xcf\xa0\xbf\x37\xa7\x9d\x2e\x7b\xf6\x04\x7f\xee\x77\xd9\xb3\xa7\xf8\xf3\x41\x97\x3d\x7b\x86\x3f\xf5\x76\xda\xdb\xc3\xdf\x7a\x3f\xed\x75\xf0\xb7\xde\x50\x7b\xfb\xf8\x5b\xef\xa8\xbd\x07\xf8\x5b\x6f\xa9\x3d\x5c\xb8\x53\xbd\xa7\xf6\x1e\xe1\xef\xcf\xa7\x6f\x3f\xf4\xf4\xdf\xd4\xdb\xe7\x77\xaf\xdf\xe3\x03\xea\xe8\x73\xef\xfc\x50\xaf\xea\x1e\x8d\xec\xf3\xcb\xd7\x1f\x5f\xbf\x3c\xd6\x3b\xb4\x63\x9e\x1c\x1f\xbd\x7e\x77\xf8\x56\x3f\xb2\x94\xe7\x0a\x6c\x4c\x44\x14\x03\x8f\x53\x1a\x03\x87\x1f\x5f\xff\x78\x78\x7e\xfc\x59\x6f\x91\x2e\xeb\xd0\x7a\x9b\xa7\xaf\x4e\xce\x3e\x1d\x9e\xbd\xd4\x2f\x60\x3c\x58\xde\x42\xff\x89\x74\xf9\xe1\xed\x5b\xbb\xd8\x1d\x24\xda\x4f\xaf\xdf\xbf\x3c\xf9\xf4\xf9\xe4\xe3\xf1\xd9\xc7\xd7\xc7\x9f\xf4\xf3\x7d\x5c\x71\xbd\x0a\xef\x8f\x7b\xbd\xcf\x7a\x95\xf6\x91\xe1\x78\x4f\x71\xc5\xf6\x3b\x4f\xfc\xb3\xe3\xb5\x77\x84\x91\x83\xa2\x3e\x3f\x9d\x21\xac\xca\x61\xa5\xc2\xce\x66\xf8\xa5\x71\x08\x3c\xcd\x4c\x7a\x6e\x97\x8d\x40\x73\x62\xe7\x8c\xaf\x16\x2a\x17\x13\xe4\xef\x90\x12\xc4\x5c\xbc\xe0\x43\xe7\x1b\x88\x41\xc1\xdd\xb5\x61\xc3\xcd\xc0\x21\xf1\x13\x8f\x73\xca\x7c\xbb\x73\x2d\x16\x10\xb8\xbf\x83\xa0\x9b\x2e\x4c\xdf\xbc\x61\x26\xb3\x6d\x21\x99\x27\x0d\x81\x32\x4a\xac\x1a\x83\xa9\x98\x11\x0c\xe2\x6d\x21\xf3\x09\xe6\x9d\x0a\xe7\x4f\xd9\x50\x68\x34\xae\xcf\xd3\xc3\x5e\x6f\x55\x87\x50\x3c\x2a\xe8\xad\xe7\x92\x6d\x1b\x87\x70\x90\x0e\xa7\x7c\x24\xd8\x6c\xea\x40\xfb\x59\xdf\x3d\xe5\x85\xf9\xc8\x7a\xe8\x2c\xcf\x12\xbf\x5d\xea\x80\x2d\x86\x19\xc9\x79\x5a\x35\xd0\x97\x72\x9e\x6e\x37\x54\x97\x96\xfb\x6b\x0f\x96\x48\x24\x97\x25\x94\x9e\xcb\x73\xb9\x05\x46\x6d\x65\x82\x3f\x68\x84\x7d\x99\xe7\x94\x64\x22\x18\xe4\x0b\x78\xfe\x0f\x1e\xa7\x4b\x74\x6e\x87\x09\xf9\xef\x2a\x72\x9a\xd3\x70\x31\xdb\x8f\x7d\xbf\xc9\x78\xcb\x09\xcb\xb7\x4c\x72\xb1\xc1\x4d\xc8\x26\xee\xf9\x4c\xf5\x6a\xfe\xd5\x43\xaf\x3c\xef\x77\xfd\x73\x58\x6b\x32\xf8\xd1\xcb\x65\xc6\x47\xc2\x77\x7c\x3f\xb5\x93\x7f\x87\x73\x67\x6a\xd6\xc7\x78\x15\x40\x86\xe6\x6b\xa8\x51\x62\xef\x79\xaf\xf7\x93\x97\xe6\xc8\x59\xdc\x28\xf3\x2c\xe9\x53\x12\x4a\x09\xc6\x53\x26\xb3\x48\x64\x60\xc8\x43\xcd\x04\xea\x27\x07\x32\x4d\x29\x25\xd9\x34\x93\x7a\x0a\xe1\x91\x54\x1a\x92\xaf\x3b\xc3\x0f\x5e\x53\xc8\xaa\x9e\x55\xa9\xbd\xd3\x42\x36\x89\x48\x28\x80\x89\xe6\x5f\x4e\xbf\x17\xfc\xab\x21\x5d\xec\x9a\xb1\xed\x82\x5e\xca\xf6\x6b\xd4\x66\x91\x18\x2a\xe7\xcd\x55\x1a\x03\x75\xe9\x5e\x80\xbe\x0d\x3d\x4e\xf5\x9d\x44\xd5\x35\x80\x46\x39\x1c\xf7\xda\x65\x13\x84\x9b\x3d\xfa\x5c\x3b\x38\xba\x41\x13\x7a\xbf\xb8\x16\x8b\xab\x8b\xce\x55\x63\x49\x96\x80\x65\x43\x1b\xf0\x5c\x8c\x24\x84\xbd\xe1\x1d\x77\x7d\x43\xbb\xcd\xd8\x01\xab\x99\xdf\xb5\x8d\xbe\x3c\x9c\x4e\x05\xcf\x48\x3f\x56\x73\x7f\x6d\xf6\xb5\xde\x83\x26\xd0\xa5\x66\xff\xd8\xec\xdb\x9e\xde\x31\x7a\x8e\x35\xfc\xb5\xe1\x57\xc0\x9f\xd0\x0c\x5b\xb3\x7f\x6c\xf6\xed\x71\x3a\x90\x11\x7d\x6a\x7e\x6f\xf6\xe5\xbb\x58\x0d\x44\x92\xf0\x54\xc8\x19\x0c\x39\x78\xe0\xa9\x37\xde\xd2\x56\x72\xdf\x36\xed\x36\xeb\x2f\x58\x14\xab\x69\xc2\x17\xf8\x88\xd5\x73\x39\x85\x54\x0b\x70\x3e\x34\x56\x6d\x32\x33\x98\xc5\x4b\xeb\x1e\x67\x52\x44\xfc\xca\xe2\xa8\xbb\x94\xd0\x2b\x97\xba\x49\x5c\xfc\x36\xef\xfa\x6b\xce\xea\x43\x99\xe6\xaa\xc9\x06\x32\x91\x99\x6a\xb2\x78\xc2\x47\x42\x35\x6a\x60\x7b\xd9\xb8\x1f\x4b\x07\x41\x37\x98\xd3\x99\x21\x81\x6c\x07\xd0\xac\x55\x00\xcf\x2e\xe0\x76\xb0\xcc\xee\x08\x60\xd9\x2d\xb3\x1d\x2c\x4b\x7e\x01\x30\x47\x94\x5b\x42\x83\x5d\x10\x82\xc2\x8d\xb1\x1d\x9c\x80\x34\x03\x70\xfa\x4d\xbb\xf6\x05\xb2\x86\x2c\x25\xb4\x32\x67\xa4\xab\x46\x8d\x27\x79\x6b\x94\xb5\x26\x32\x12\xb5\xee\x37\x8c\x5d\x6c\x83\x6e\xf0\xc4\x84\xd1\x5c\xc0\x2f\x56\x4b\x65\x2a\x4c\x62\x93\x16\x65\x35\x49\xc4\x30\x37\xbf\xe1\xbc\x86\x3f\xb0\xa4\x5e\x0d\x53\x09\xea\x83\xeb\x30\xc9\x7f\xd4\x2c\x3e\xa7\x73\x6a\xcc\x07\xd7\x3f\x7f\x1a\x8b\x59\x16\xab\x3c\x1e\xb4\x2f\x53\xd2\xc1\xd6\xbc\x5f\x35\xdd\xef\x65\xad\xab\xa5\x02\x89\xdf\x3a\x4d\x5a\xca\x6f\xe2\x11\xcf\x65\xd6\x4e\x78\x3a\x9a\xf1\x91\xe8\xba\x4f\xf1\xe0\xb9\xac\x89\xb4\x35\x53\x97\x35\x76\xf0\x03\xbb\x84\xe1\x5f\xd6\x9a\xe8\x6e\x0b\x4f\xec\x80\x2f\xc3\x6e\xa1\x61\x97\xbd\x8c\x15\x06\xd4\xa6\x0b\x9a\x40\x26\x12\xb0\x85\x4f\x66\xa9\x3e\xc9\xfd\x61\x5b\xac\xc0\x80\x95\x9a\x4d\x30\x5e\xe2\xfe\x61\x92\x53\xba\x1e\x80\x11\x7c\x63\xb0\xe7\x7d\x03\x0a\xc6\x55\xdf\x78\x83\xb6\x1f\xa1\x54\x55\xf1\x15\xd6\xb7\xac\x05\x65\x99\x5a\xb1\x6a\x85\x15\x97\xee\x40\x1c\x94\xc6\xa8\xd6\x97\x12\x15\xb1\xac\xf6\x7a\xc8\x94\xc8\x9b\x6c\x96\x46\x92\x62\xfd\xdc\x95\xff\x30\xc9\x5b\xb6\xca\x52\xeb\x87\x97\xc7\x6f\x59\x26\x26\x7c\xea\xf2\xce\x98\x19\x06\x63\x65\x71\x1a\x09\x11\x61\x32\x76\xbf\xb4\x94\x3f\x33\x9a\xcf\xd7\x99\x45\x4f\xe4\x6c\x3e\x16\x36\x31\xb2\xa9\x92\xc5\x07\xb9\xc2\xe0\x6e\xdd\x17\x3c\xd2\x77\x67\xfd\x20\xd2\x34\x9c\x0e\x72\xd3\x36\x18\x9c\xbe\x49\xab\xd6\x7c\xcc\xf3\x3b\x8c\xaf\x86\xa6\x67\x1c\xda\x85\xfd\x8b\xd5\x9e\xb6\xfa\x31\xec\x39\xba\x38\xb7\xae\xc5\xc2\xec\xba\x23\x93\xaa\x6f\x5c\x2e\x14\x86\x77\xe9\xa8\x72\xbf\x31\x32\x74\xb7\xf1\x1f\xeb\x41\x62\xda\x14\x34\xcd\x5a\x4a\x8d\x6f\xdb\x7e\x63\x18\x42\xdb\x34\x3e\x8c\x22\xd6\xd9\x7f\x6a\x2e\x56\xb3\x14\x54\xf6\x22\xf2\x63\x1c\x95\xad\x27\x14\x00\xf2\xa6\xd0\x6e\x3b\xb5\x44\xa0\x7d\x40\x55\x09\xa6\x03\xa7\x38\x75\x5f\x6d\x50\xdc\xf9\xee\x9f\xe2\x50\x00\xbc\x0e\x32\xf5\x5c\xa6\x97\xb5\x1c\x2a\x03\x60\x30\x94\x96\x98\x13\x9e\x0f\x65\x36\xa1\xe2\x00\x00\x76\x39\x38\xd3\x21\x25\xb9\x81\xd5\x0f\x33\x67\xdb\xda\xd1\x1a\xeb\xce\xa8\xd0\xa8\x7d\xc3\x98\x21\x8b\x59\x14\xf7\x13\xd1\xea\x8b\x24\x69\x29\x7d\x62\x6c\x4c\x1a\x74\xe4\xc0\xf5\xa3\x95\x09\xbc\x01\x75\x51\xbe\xd6\x60\xe5\xae\x06\x4a\xa4\x3c\xcb\xcc\xaf\x0f\x67\x6f\x4d\x00\xa2\xbd\x5b\xea\x86\x0c\x7a\x6f\x33\x76\x3c\x99\xe6\x0b\xe3\xe2\xa3\xa7\x90\x4a\x46\xc3\x84\x86\x96\xa4\x23\xa1\xae\x73\x39\x6d\xa5\x32\xb7\xd9\x3b\x61\x22\x5b\x4f\xa1\x9a\x83\x60\x92\xb4\x60\x90\xca\x5c\xd2\xf4\xee\x1f\x61\x20\x3d\x38\x2c\x0e\xc0\xad\x91\x71\xf6\x49\xf4\x2d\xfb\x78\xef\x0d\xac\xed\xa7\x53\x98\x3f\x68\xcb\x6c\xb4\x7b\x7e\xb6\xeb\x8f\x5d\xed\x06\x5b\x01\x7f\xbc\x44\xa1\x4f\xe3\x22\x68\xcb\x32\xf1\xb7\x59\x9c\x09\xa5\xd7\x7f\x12\x2b\x05\x0b\x6e\x3c\x2b\x66\x90\x40\x1a\x4a\xcd\xc3\xf5\xd4\x80\xc5\x28\x45\xbd\xfb\x94\x00\xcb\x0b\xce\x11\x50\x45\x69\x8a\xf3\x5c\x4c\xa6\xf0\x8e\xab\x6b\x97\x9a\x51\x2f\x84\xd7\x93\x01\x18\x0f\x59\x2a\x06\x42\x29\x9e\x2d\xa8\xe2\xab\x29\x5b\xc2\x26\x7c\x01\x19\x24\xd5\x98\xcc\xa1\x3e\x00\x3d\x7c\xa1\x72\x16\x0f\x59\xec\x18\x6e\x04\xc6\xed\x9c\x61\xae\x01\x8d\x51\xbf\xb4\x1f\x92\x75\x25\xc3\x20\xee\x2e\x6e\x73\x91\x2a\xac\xaf\x41\xe9\xf6\xd9\x4e\x80\xb7\x1d\x7f\x10\x90\x46\xcc\xfb\x3b\x97\xde\x48\x50\xd8\x0e\x3e\xb6\xa4\xe7\x96\xbf\x05\xe2\xee\xc6\x14\xe7\x89\xd1\xac\x96\x8d\xfa\xf5\xce\xe3\x26\xc3\xff\x6f\x80\x3c\x03\xd0\x90\x04\xcf\x43\x3a\x83\x57\xc8\x8e\xc4\x2d\x85\x33\xa6\x92\xa2\x27\xf1\xa5\xcb\x4f\x51\x35\x52\x10\xc8\xef\x36\x52\x3d\x34\xe3\xd2\x8e\xf8\xee\xf5\xc8\x3d\x88\xf6\xb2\x37\x50\xe8\x67\xc9\x46\xc6\x77\x55\x2b\xe8\x07\xcc\xfa\x4c\x6f\x96\x25\x75\xbd\x75\x54\x77\x77\x77\x24\x65\x7b\x94\xec\xf2\x54\x44\xe7\x6f\x1a\x7e\xab\x24\x4e\x05\xcf\x5a\xa3\x8c\x47\xb1\x48\x73\xb8\x1c\xe1\xcd\xa8\xc9\xfa\xe0\x82\x95\x89\xa8\x51\x81\x14\x15\xff\xf2\x0f\xc3\x09\xa4\xe6\x6c\x33\xf6\xd2\xe4\x5c\xc9\x25\xd3\x02\x5e\xd5\x62\x19\xc7\x95\x7f\xd8\xd8\xac\xa7\xcc\x36\x8b\xd3\xd9\xfb\x77\xfd\xff\xfe\xa3\x81\x48\x73\x91\xf9\x33\x42\x39\x0b\x85\x8f\xaf\x2f\xe7\x11\x97\xa6\x29\xa1\xa4\x46\xbe\x9c\x60\x39\x78\xd1\x63\xf5\xcb\xda\xe5\xe5\xed\xde\x53\x2d\x71\xf3\x6b\xce\x7e\xfe\xa9\xd1\x66\x5e\xce\x73\x33\xf8\x10\x08\xd8\xbd\x3d\x40\x00\xe4\xc9\xf0\xb2\x66\x97\xcb\xca\x13\xad\x09\x9f\xb6\x4c\x4e\x67\x75\xa7\x25\xa3\x7b\x0d\xac\x91\xf1\x9b\x34\xca\x37\x17\x76\x0e\x11\xd3\x14\xd0\xdc\x26\x53\x3a\x67\x6a\x8a\x1e\xaf\x59\xc6\x17\x4d\x92\x1d\x04\x1f\x8c\xf5\x72\xa0\x37\x49\xcd\x26\x19\xa3\x2a\x52\x4e\x14\xd2\x07\x01\xa8\x2d\x4d\x36\x66\x0a\xee\xf2\x7a\xa2\x70\x6c\x7b\x8c\xb0\x5a\xd8\x27\x8b\x73\x25\x92\x61\x1b\x0b\x16\xf0\xbc\x30\x20\x18\x4a\x71\x00\x16\x54\x26\x06\x22\xbe\x09\xa5\xb3\xe2\x48\x20\x88\x1f\x19\xb2\xdf\xd0\x91\xaa\x47\xab\x4b\x88\x55\xe3\xe2\xd7\x9d\xbd\x9d\xee\xaf\x3b\xf7\x77\xba\x3b\x97\x97\xb3\xfd\xce\xb3\xfd\x9d\xe6\x4e\xd3\xfe\xb5\xb7\xd3\xdc\x69\xd9\xbf\x3a\x3b\xcd\x9d\xb6\xfd\xeb\xc1\x4e\xd3\x0d\x59\x83\x81\xe7\x8f\x9e\x3e\xdd\xf9\xf2\xc5\x13\xa7\xa0\xc0\x47\x4b\xa6\x2d\x71\x1b\x6f\x2e\x64\x87\x97\x6e\xa2\x68\x9f\xcc\x3f\xd1\x25\x00\x78\x28\x9c\xcd\xd0\x11\x56\xab\xc4\x82\x28\x73\x3c\xeb\x6d\x1a\x79\xa6\x47\xe0\x8e\x01\xcc\x78\xd3\xea\x27\x71\x7a\x7d\x27\xfa\xac\xd8\x7c\xe5\x51\x01\x78\xe3\x7f\xa7\x64\x66\x33\x3d\x25\x79\xe5\x48\x5a\x83\xc5\x20\xb9\x1b\xfb\xbd\xe8\xec\xed\xed\x35\xd9\xa3\xbd\xbd\xab\x70\xdb\xd4\xce\xbd\xee\x61\x3c\x99\x96\x23\xe2\x94\x4d\xe2\x24\x89\x95\x18\xc8\x34\x52\x95\x5c\xee\x90\xe5\x73\xc9\x04\xe6\x2e\x33\xd4\xeb\x9c\xc0\xe5\x90\x52\x96\xc5\x78\x9f\x49\xa4\x71\x3e\xc5\xde\x5c\x06\x0a\x2b\x6e\x41\x95\x08\xdd\x61\xf0\x4d\x9c\x7b\x6d\xe5\x70\x58\xc4\xcd\xef\x13\x29\x78\x7d\xff\xd1\xa3\x26\xdb\xc3\xff\x6b\x3f\x6a\x10\x5e\x8a\xa2\x05\x8a\x0c\x74\x1c\xdc\x50\x2e\x25\x1c\x81\x1b\x90\x6e\xd3\x9a\xf2\x44\xe4\xb9\xf8\xea\x1c\xae\x76\x62\xd2\xe0\xa3\xce\xd0\x08\xd7\xe6\x1a\x43\xfd\x56\xae\x95\x5f\x61\xa9\xc8\x1f\x91\x29\x61\x92\x11\xc3\x2b\xd9\xeb\x61\xa9\x9d\x5d\x26\x4a\x23\x87\xec\x14\xd4\x18\x11\x65\xb1\x5d\xc1\x5c\x2d\x47\xb3\xb2\xb0\xe6\xc5\x90\xaf\x39\x1e\x80\xb2\xe0\x96\xc5\x29\x5d\x42\x11\xd9\xab\x26\x04\xb9\x32\x97\x4c\x29\x99\x48\x30\xba\x2c\xd8\x40\x29\x82\x85\x4e\xd9\x94\x08\xcf\x0e\x81\x52\x66\xb0\x7f\x3b\xfb\xf1\x45\x93\xfd\xdb\xd9\xd9\x8f\x3f\xbe\x78\xd1\x64\x5a\xd2\x6c\xb7\xdb\x0d\xf8\xc5\xe9\x27\x94\x84\xd1\x30\x01\x1e\xe6\x9c\x76\x47\x21\xcf\x31\x25\x5c\xa2\x24\x9b\xf2\x2c\x37\x94\xa2\x72\x39\xb8\x66\x7f\xee\x74\x34\xa8\x76\x7e\x9b\xa3\xa1\xaa\x6a\x4a\xff\x2d\x67\x30\x9f\x99\x12\xcc\x68\xd0\xd0\x3d\x5b\x4f\x6e\xe1\x32\xab\x98\x05\x47\x86\xef\xf6\x86\x66\x2b\x06\x58\x5f\x50\x4d\x84\xc8\x4c\x3a\xb6\x2e\x74\x70\xd1\xbd\x8e\xa7\x53\xc8\x7a\xc7\xd4\x84\x27\x09\x43\x17\x5f\xf0\x13\x4c\xa3\x78\x10\x7b\xb3\xb3\xcc\xd2\x9e\x30\x95\x24\xe4\x6d\x83\xe9\x42\x73\x75\x2c\xfe\xb2\x31\xf5\x3b\x5d\x76\x05\x4f\x3f\x9c\xe5\x72\xc2\xf3\x78\x00\x19\xfb\xb0\x76\xa0\x04\x5b\x9f\x2d\xea\x63\x68\xc7\x14\xd0\xb3\xe3\x99\x29\xd1\x22\x9c\xb5\x90\xff\xb7\xa0\x52\xe0\x1d\x06\xb6\x82\xaf\xe7\x92\x91\x23\xa1\x5d\x20\x3a\x6c\xb0\xac\x25\xd6\x51\x9b\x59\x59\x0f\x4c\xc0\x2d\x3b\xfc\x16\x44\xe0\xdf\x79\x60\xcb\x4f\x41\x38\xfe\x8c\x7d\xda\x61\x0b\x03\xfe\x75\x77\x71\x3a\x72\x4b\x97\x67\x49\x6b\x9a\xcc\x54\x6b\x12\xa7\x33\xd5\xfa\x45\x64\xb2\xf5\x8b\x94\x93\x3b\x08\xa0\xe5\x21\x59\xf9\x13\x5c\x16\x4f\x93\x99\xda\x85\xa2\x18\xbb\x7f\x11\x99\x0c\x0b\x55\x78\x3b\xe4\xf5\xd0\xa0\xdd\x4b\x9b\xb3\xf2\x63\x6a\x09\xaf\x41\x1a\x55\xec\xe7\xcf\x56\x22\xa9\xb9\xde\xe1\xd3\x48\x5f\x2b\xf2\x71\x09\x0d\x83\xed\x16\x63\xa5\xe4\x0d\xfa\xe4\x23\x8d\x6e\xbd\xb1\x62\x83\x07\x53\x2b\x33\x97\xe0\x95\xa3\x5f\xc0\xc7\xde\xec\xe1\x4b\x98\xf3\xfd\x23\x33\x97\xe0\x03\x84\xe4\x20\x23\x80\x60\x26\xa6\x72\xde\xd7\x9b\xca\x47\xac\xc2\x53\x9a\xca\xc7\x0d\xa7\xf2\xd1\x4c\xe5\x63\x79\x2a\x0e\x72\x38\x15\xc1\x55\xde\xe2\x2a\xe6\x69\x8b\x4f\xfa\xf1\x68\x26\x67\xaa\xc5\x55\x2b\x9f\x4b\x2d\x03\xcc\x26\x9b\xdf\xfe\x36\xd6\x23\x1f\x73\x95\xb3\x43\xdd\x27\x3b\x34\x7d\xfa\x01\x04\x58\x6f\x6a\xae\xe9\x4f\x0f\x80\x41\xa5\x39\x37\x62\x48\xeb\xd9\x02\x7d\x6b\x8b\x28\xf4\xeb\x8c\x11\x92\x7d\xe7\xd2\x24\x0e\x85\x1e\xca\xe5\xd1\x8d\xae\x0e\x12\x74\x61\x32\xf0\x7c\x2c\x26\x85\xd3\xe7\x37\x64\x17\xe2\xb2\x96\x24\x2c\x13\x6a\x8a\x77\x18\x98\x57\xab\xbf\xc8\x05\xbb\x11\x99\x32\x5e\xe4\x39\x64\x61\x2e\x77\x65\x77\x57\x26\x46\x3c\x8b\x12\xa1\x94\x73\xf7\xc0\x7a\xbe\x45\xbc\xf4\x65\xb2\xb9\xfe\xb4\x42\x36\xca\xb3\x58\xe5\x3c\x17\x3e\x4e\x82\x04\xe8\x9a\x1f\xeb\x4e\xd8\x1c\x2b\x0d\x41\x35\xa0\x50\x25\x84\xbe\x44\x49\xb4\xdb\x47\x4b\x8c\xb5\x65\x18\xdd\x50\x9b\xb1\x57\x06\x87\x86\xbf\xa7\x32\x9b\xf0\xc4\x87\xda\x66\xec\xfd\x2c\x01\xef\x24\x6e\x4d\x5e\x55\xf3\xd5\x04\x8b\x5d\xdd\x69\xe6\x65\x9e\xba\x64\xd6\x38\x1b\x12\x14\xeb\x4f\x5b\x9d\x47\x4c\x33\x7d\xd6\x79\x1c\x0a\x57\x0d\x3b\x63\x70\x28\x4c\x17\x15\xb8\x61\x65\x64\xb8\xe2\xbe\x85\x39\xda\xd3\x17\xf4\xcc\x5b\x28\x2e\x56\x9e\x65\x3d\x7d\x19\xe0\x26\x95\xa1\x11\x7c\xad\xae\xd9\x0a\x28\xc0\x48\xe6\x59\xac\xf9\xc7\x52\x71\xa0\x34\x52\xf8\xe0\x2b\x89\x29\xb6\x30\x23\x0c\x25\x97\x38\x1a\x16\xc5\x99\xc0\x7c\xdd\x54\x89\x13\x1d\x24\x97\x0e\x2e\x12\x83\xce\xfe\x5d\x6f\xc4\x15\xfc\xe2\xcc\xdb\xd6\x7a\x64\x97\x35\xe5\xeb\xae\xbd\xf2\x59\xc1\x5d\x50\x6f\xaf\x99\x96\x1b\xb5\xa4\x68\x08\xe5\xe5\xf1\x91\xad\x85\x00\x79\x5d\x3b\xfb\xde\xf0\x6f\xe2\x4c\xa6\xfa\x46\x78\xd7\xd1\xff\x5a\x3b\x3f\x3e\x7b\x57\xeb\xb2\x1a\x18\x9c\x5a\xfb\x8f\x1e\xe3\x5d\x0c\xa3\x52\x4b\x97\x57\x23\x6c\x79\x5d\xb3\x1b\xca\x75\xa0\x9a\xa1\x0e\xc8\x0c\x53\x6f\xd9\xd6\x90\x4f\xe2\x64\xf3\xf3\xbd\xe0\xd2\x51\xdb\x79\x29\xfe\xca\x3f\xce\x58\x8f\xa7\x8a\xbd\x93\xa9\xdc\x69\xb2\x9d\x63\xcd\x2a\x65\x6a\xfe\x7e\x95\x09\xa1\x7f\x36\xd9\xce\x3b\x91\x26\xd0\xe4\x9c\xa8\xd6\xa9\x48\x6a\x13\x99\x4a\x54\xf3\x15\x15\x91\xa4\xfb\x24\xce\x05\x03\x2e\xa5\xf7\x86\x1d\x1b\x4e\xed\xce\x6a\xda\xce\xa3\x26\xa4\x4e\xa9\xc0\xaf\x2b\xa5\x16\xa7\x6c\x1a\xdf\x8a\x44\x15\x3a\x9d\x48\x14\xa3\xee\x76\x17\xe7\x69\x1e\xf3\x24\xe6\x4a\x44\x95\xfa\xd8\xb0\x0f\x7b\x9f\xf4\xc6\x90\x89\xaf\x63\x64\xd8\x7f\xb8\xd7\x64\xe6\x3f\x95\x76\x06\xd7\xd7\x1d\xed\x0c\x63\x39\x11\xad\x6b\xb1\x50\x2d\x74\x12\xfd\xca\xfa\x5d\x0d\x7e\x57\x58\x6b\x9b\xab\x33\xe6\x88\xc6\xd6\xd1\x45\xdb\x2c\x54\x83\xb3\x9f\xd9\x9b\x9f\xfe\xdc\x7a\x94\x7f\x3c\x37\x35\x9a\x14\x6a\x08\x48\xb8\xd0\xdc\xd7\x7e\x8a\x72\xdd\xc7\x73\x8a\xda\xe2\x1e\xb4\x42\x27\x38\x02\x87\x93\x6b\xb1\x30\xf5\x71\xee\xea\xf3\x12\x72\x87\x43\xc8\x06\x20\x87\x85\x64\x99\x32\x88\x00\x80\xec\xab\x5e\x31\x39\x13\xfb\x6c\x52\xc0\xba\x3d\x9a\x85\x05\x9e\x56\xe7\x73\x0d\x93\xb9\x46\x62\x10\x6b\x89\xc1\x83\x37\x16\xb7\xdc\x3c\xc6\xbb\x37\xb8\xaf\x11\x20\x17\x85\x40\xe0\x4c\x28\x42\x49\xe1\x61\x05\x16\x63\x3a\xb2\xa5\xfa\x9c\xb7\x7f\x93\xb4\x3b\x64\xe8\x0e\x80\xbf\x82\x3e\x87\x5a\x78\x31\xa0\xac\x8f\x2a\x4d\x03\x55\x1f\xc5\x6f\x55\x13\x2c\xfa\x05\x63\xd3\xd3\x43\xf9\x72\xef\x59\xbb\xc2\x27\xc8\xfe\xea\x81\xae\x99\x79\xcb\xed\x19\x49\x7e\xa5\x78\xb6\xc3\x24\x6f\xbd\xd9\xe9\xb2\x9d\x82\xa7\xf4\x4e\xd3\xb7\x9e\xec\x78\x37\xc2\xb7\xba\xf5\xe9\x61\xaf\x57\xd5\xe4\x27\xfd\xf2\xb2\xf6\xd3\xf1\xdb\xb7\x27\x97\x97\xe9\x65\x6d\xc7\xb5\xf9\x62\x08\x70\xc2\x6f\x5b\x88\xc4\x96\xa1\x87\x8d\x09\xd1\xfa\xcd\xb1\xce\xde\x1e\xe8\x5a\x3d\x36\xfa\x8e\xdf\x32\x0a\x08\x87\x4a\x0b\x2f\x8f\x7a\x4d\x76\xd2\x3b\x6a\xb2\xd3\x77\xb0\x36\x87\xa7\x3d\x47\xa0\x7d\x31\x84\xb2\x3d\x98\x11\x80\xcd\xa6\xc1\x26\x72\x72\x3c\x52\x9b\x1d\xbc\x88\x62\x8e\x2c\x85\x67\xa2\x35\xd4\xbf\xbe\x32\x57\x19\xc8\xf4\x46\x64\xb9\x17\x04\x44\x44\x16\x67\xec\x95\x26\x16\x17\xa6\xd8\x66\xee\xd6\x9e\x88\x3c\xb4\x19\x85\xb5\x72\x4d\x91\x57\x6f\x26\x39\x27\xfb\x17\xb9\xcd\x7c\x0d\xdd\x43\xd1\x3b\xc8\xfa\x02\x21\xc3\xe2\x36\x41\x09\xa5\x41\x41\x35\xbd\x1b\x94\x9c\x29\x81\xd7\xe8\x56\x7f\x96\xe7\x5b\x98\x1a\x3d\x81\xb1\xe8\x98\xb7\xd7\x64\x9d\x26\xdb\x6f\xb2\x07\x4d\xf6\xb0\xc9\x1e\x35\xd9\x63\x72\x05\x7a\x07\xca\x2d\x2c\x75\x8b\xfd\x01\xa1\xa4\xe5\x4b\xc6\x32\x03\xa4\x6b\xd2\x64\x73\xbc\xdc\xe5\xd9\xc2\xbb\x34\x4e\xe2\x48\xe3\x1f\xa1\x53\x57\x68\x77\x4e\x5b\x7f\xee\x74\xec\x9a\x59\x3f\x9b\x36\x63\x27\x29\xe8\x32\xe7\x02\xe3\x64\x63\xb4\x63\x20\x84\x07\x16\x59\x53\x3e\xfa\x23\x4f\x37\x0a\xfa\xd9\x85\xea\x59\xdb\x9d\x70\x76\x4e\x25\x10\x1b\x9d\x72\xc1\x67\xf6\x58\x2b\x9f\x78\xd8\x59\xd0\xba\x78\xda\x4d\xb9\x52\x2d\x9e\xe4\x2d\x64\xfe\x77\x3f\xf1\x0a\xb7\x60\x9f\xce\xdd\x9d\x50\xf7\x06\x9e\x7c\x9d\x76\xfb\x59\xb1\x74\xfa\x52\x83\x01\xb9\x9d\x2d\xf0\x82\x95\xcd\x52\x88\xb9\x46\xf7\x97\x58\xdf\x26\x6d\xd5\x66\xde\x77\xee\x80\x0b\x39\x63\x11\xfa\x6b\xd9\x13\x45\x2a\xe3\x52\xa8\x6f\x1e\x3b\x6a\x1e\x43\xb1\x26\xa9\xbf\xdc\x71\xb1\xd5\x7c\x30\x10\x89\xc8\x78\x0e\x91\x24\xe8\x91\x93\xca\xdc\x76\xed\x14\xf7\x8c\xeb\x4f\x59\x0c\x37\x99\xbe\xbe\xc9\x66\x7e\x91\x5a\x25\x7c\xfe\x84\x97\x31\x2c\xfa\xbe\x30\x47\xa8\x81\x45\x85\x70\xd8\x4d\x3c\xd1\x3b\x4c\x4c\xf8\xa0\xda\xde\x65\xe9\xcf\xe2\xd1\x64\x69\x23\xdf\x3c\x93\x40\xdd\x2b\x49\x6f\x99\xa0\xfd\x26\x10\xad\xf4\x49\x4e\x41\xdd\x36\x32\x0f\xbe\xc2\xb5\xe5\x15\xde\xb3\xd6\x8f\x8d\x76\xa5\x13\x00\x40\xdc\x03\x85\x33\x24\xa6\x08\x08\x0d\xd4\x80\xff\x38\x4a\x83\x33\xf7\xff\x91\xda\xef\x27\x35\x87\xc8\x2d\x68\xcd\x7d\xf4\x8f\x26\x36\xa2\x36\x38\xc1\xff\x71\xd4\x06\x15\xe5\xff\x1f\xb5\xfd\x7e\x6a\x73\x88\xdc\x82\xda\xdc\x47\xff\x33\xac\x0d\x88\xed\xe6\xab\xcb\x88\x00\xf6\x23\x1b\x89\x5c\x01\x95\xa1\x8d\x1b\xa6\x61\xba\x27\x5f\x9c\x96\x30\xe1\x31\xdb\x5f\x16\x6a\xb3\x7c\xd8\x7a\x5a\x6b\xb2\x0b\xfb\xab\x96\xf1\xb9\x0b\xc3\x40\x95\x9d\xcd\x46\x6b\xba\x02\x41\x2d\xe2\x39\x67\xd6\x21\xc8\x7a\xb3\xc2\x18\x97\xd8\xcc\xe3\x08\x8d\xb8\x58\x83\xeb\x12\x3b\xbd\xac\x81\xd0\x72\xa9\x7b\xf6\xfc\xb5\x50\x62\x69\xc9\x14\x44\xb9\x3c\x93\xd7\x9b\x4b\xe2\x2e\x5c\x67\x95\x19\x50\x51\x7c\xaf\x1f\xd2\x0b\x6a\xea\x74\xc1\x6c\x9f\x15\xe3\x91\xb3\x7c\x3a\xdb\x5c\xc1\xe8\x0d\x66\x95\x58\xb9\x6c\x34\x2e\x92\x1b\xba\x2d\x8c\xa7\xcf\xb3\x16\xb9\x83\x7c\x1d\xec\x9c\x8f\xc1\xe0\x02\xa6\x6e\x4f\x86\x9d\xf8\x97\x3d\x42\xc5\x7c\x2c\x44\xd2\xd2\x92\x78\x6b\x32\x4b\xf2\x78\x9a\xc4\x5b\x70\x5c\x6f\x14\x9d\x92\xd6\xcf\xc1\xb3\xfa\x46\xd0\xf9\xb1\x48\x24\x39\x07\xff\x20\x7d\x43\x81\x11\x90\x8f\x3f\x24\xd2\xb1\xac\xc2\x4a\xc7\x88\x55\x68\xd8\xd6\x62\x10\x98\xcd\xe4\x9c\x0d\x4d\x6d\x12\x10\x93\x8b\xe2\xb1\xe6\x77\xff\x88\x8d\x55\xda\x4f\x86\x69\x05\x3b\x1d\xe4\xf9\x16\x96\x32\xbb\xb3\x2d\xb5\xca\xac\xa1\xaf\x09\xf7\xd9\x6b\x00\x5c\x65\x52\xcd\xcb\xf6\x54\xcf\xab\x21\x6b\x0d\xd4\xdd\xbc\x8b\xc0\xe5\xb5\x14\x65\x00\x6e\xe3\x10\x7a\xad\xc6\x02\x3d\xde\x8d\x3a\xac\x68\x72\x89\xe4\x60\x36\xd1\x17\xfd\xda\xd5\xca\x08\x5b\x9b\x28\x8d\x22\xdb\x3e\x7f\x86\x27\x9f\x3f\x77\x97\x44\x2c\xdb\x0f\x36\x89\x57\x9f\xf5\xd5\xac\xff\xaf\x1e\xa3\x4e\xe1\xac\x1f\xf2\x38\x89\xf3\x05\x95\x48\x34\x75\x95\x78\x14\x61\xa9\x44\x35\xde\x55\xb3\xbe\x1a\x64\x71\x5f\xec\xce\x52\xfb\xdb\x06\x84\x73\xf8\x1a\x33\xda\xf1\x94\x89\x5b\x88\x6d\x1a\x19\xd3\x87\x1f\xf1\x3a\xeb\xf7\x66\xfd\x25\x55\x14\x64\x1f\xf0\x91\xa9\xcf\x14\x12\xed\x25\x54\x39\x74\x83\x69\x32\x3b\x02\x74\x8d\xf2\x87\x84\x15\xb2\xb1\x78\x68\xe5\x48\x34\xb0\xf7\x46\x49\xee\xd5\xff\x25\xa7\x29\xf2\x30\xe3\x50\x12\x7d\x36\x18\x8b\x88\x84\x30\x91\xc1\x5a\xa4\x92\xa5\x02\xf0\x03\x85\x51\x65\x96\x2d\x18\xef\xcb\x59\x0e\xc8\x23\xf3\x00\x1a\xa8\xc2\xe2\x44\x55\x65\x8c\x65\xff\xaf\x85\x22\xdb\x1a\xe7\x40\x02\xe4\xb3\xa3\x05\xb0\x32\xfe\xda\x3c\x8a\x5e\x98\x06\x61\x59\x6b\x97\x8e\x16\x29\x94\x12\x44\xfb\x5f\x63\x06\x07\x5b\x4a\x65\xe2\x95\x87\x40\xe8\x76\x1f\x98\x10\x78\xa8\x39\x7d\xe5\xe2\xec\x0b\xcd\x2e\x26\x57\x18\xf7\x8e\x5d\x36\x6c\xce\x07\xb3\x78\x3d\xbb\x3c\xe8\xab\x87\xa1\x1a\x02\x8a\xbf\x92\x61\x55\x11\x16\xb9\x5e\x5c\x7f\xad\x8a\xb9\xbf\xe9\x35\x96\xe6\x9b\x59\xc4\x29\xaf\x8b\xa0\x48\xb9\x45\x0e\x22\xbd\xf1\xc5\x15\xce\x07\x73\x0a\xbd\x46\x86\x73\x23\xaf\x8d\x22\xca\x0f\x26\x29\x2f\x80\x97\x84\xd1\x76\xec\x17\x99\xc3\x81\x35\x6d\x5f\x5e\x2e\x46\xf3\xd2\x14\x26\xf5\xc8\xde\xcf\x92\xe8\x9e\x5e\xd0\x07\x7a\x01\x2e\xae\x5c\xae\xc4\x8a\x16\xed\xe9\x4c\x8d\xeb\xb6\xd3\x60\x07\x7d\xf0\x37\x2e\xc6\xea\xdc\x0d\xd5\xb3\x02\xa0\x4d\xd1\x7d\xe8\x7e\x4e\x33\x71\x13\xcb\x99\x4a\x16\x2c\x13\xa3\x58\xe5\x10\x39\x7f\x13\x73\x53\x41\xcc\xf6\x50\x6f\xac\xc4\xbe\x3f\x96\xf5\xf8\xd7\xe4\x0e\x16\x86\x83\xa5\x18\x34\xe9\x2b\xef\xe9\x76\x7e\xde\xd4\xda\xeb\x14\x53\x7a\x52\x4b\xcc\x94\x4a\x7f\xd8\x8c\x98\x31\x3b\x80\x1e\x6c\xf6\x49\x6f\x2d\x10\x70\xcc\xbe\x67\x7b\x01\xe0\xf7\x32\x77\xf3\x8d\xca\x70\x01\x9e\x9a\x6a\x6e\x5f\x8f\xcb\xd5\x05\x91\x29\x7a\x2e\x0a\x4b\x36\x92\xdd\x84\x99\x62\x75\xe3\xb8\x6f\x8a\xe1\xb1\x21\xd6\x39\xb6\xe8\xd2\x0c\x10\xf7\x43\xc4\xb8\x5a\xa4\x83\x71\x26\x53\x58\xb1\xb6\xcd\x36\x82\xbc\x16\x2f\x6c\x94\x0e\x86\x0c\x08\x3c\x5d\xc8\x14\x43\x13\x06\xf9\x0c\xfc\x26\xcd\x9e\xdf\x92\xd8\xa6\x66\x7a\x7a\x52\xed\x2a\x26\x2a\xa0\x3e\x60\xd6\x8f\xf3\x8c\x67\x0b\xcb\xc0\x95\x92\x83\x98\x63\x9d\x02\x70\x28\x01\xe6\xed\x85\xf9\xad\xa6\x5a\x39\xcd\x3f\x27\x5c\xe5\x47\x96\x7a\x53\x0f\x59\x1e\xd3\xd0\x28\x43\x8f\x46\x5b\xfd\x2e\x49\xdc\x7a\x1a\x47\xad\xbe\xc0\x6b\xb7\xc5\xc1\x52\x92\x36\x33\xae\x22\x67\xaa\x5b\xe9\x0f\x0c\x29\xdb\x8e\x08\xba\x58\xbc\x8d\x55\x5e\x8f\x0d\xfb\xd6\xa2\x0c\x08\x9d\xb1\x62\x79\x3c\x11\x9a\x3c\x68\xa1\x60\x89\x6d\x6a\x66\x02\x09\x27\xde\x5c\xb0\x48\xa6\xb5\x9c\xfc\xcc\xa4\x81\x34\x90\xe9\x40\x64\x29\x93\xb3\x4c\x89\xe4\x46\x50\xfc\x1e\x56\x95\x26\x6e\xc9\x1c\xa9\x03\xf1\xba\xaa\x1c\xa6\x3e\x80\x12\xf9\x39\x8e\xa4\xee\x46\x0c\x46\x89\x98\xdd\x77\xe9\xf9\xf5\xd7\x17\xf1\x55\xdd\x2b\x13\xb4\xc5\x1e\x86\x2d\xec\x70\x00\xa9\x29\x20\x1f\x3c\xf4\x15\xa7\x6c\xc0\x15\x18\x12\xd0\x07\x45\x51\x7d\x84\xb9\xa8\x65\x74\x46\x2d\x4c\xc9\x57\xd3\xe5\xc5\x55\x5b\x23\x80\xe7\x08\x3c\xa8\x66\x53\xbd\x32\xe5\xa1\xd0\x8e\x06\x56\x5d\xfa\x86\xf2\xc7\x86\xe5\xbd\x4c\xe7\xc5\xd6\x57\x85\x64\xfc\xb6\xa7\x6f\x56\xe3\x78\x6f\xa3\x12\xf8\x6a\x90\x09\x91\xfe\xab\x8b\xb8\xcb\xd2\x30\xcd\x4d\xe2\x7c\xca\x37\x84\xbb\xf1\x4c\xce\x8f\xa0\xb4\x11\xfd\xdd\x8b\x7f\x11\xee\xaf\x73\x71\x9b\x1f\x5a\x8f\x8a\xa0\x74\x71\xb9\xc0\x3e\x0a\xd3\x36\xff\xb9\x72\xc5\x5d\x7c\x33\x91\x66\x0b\x60\x01\xd7\x88\x11\xb7\x96\x5b\xbf\xce\xd9\x84\xc7\x69\xce\xe3\x54\x05\x79\xb2\xc9\x49\xca\x16\x45\xd0\x9c\x7c\xcc\x15\xeb\x73\x15\x0f\xac\xf8\x6b\x9c\x42\x20\xab\x2b\x5e\xf1\x20\x4d\xe0\x8d\xc8\xc0\x2b\x8c\x62\x0a\xa2\x88\xea\x6a\x65\x62\x22\x6f\xf4\xef\x4c\xce\x95\xd3\xe7\x10\x09\xf8\x29\xa6\x70\x5a\xba\xc7\x54\x42\x2a\xa9\x44\x44\x23\x1b\xac\x58\x95\x77\xcc\x56\xac\x71\x7e\xfe\xd0\x8b\x4c\xbd\x3e\x34\x11\x44\x02\x31\x03\x2a\xb9\x64\x61\xae\xf3\xe1\x67\x58\xee\xc1\x94\x3e\xe6\x49\x22\x32\x9a\xa1\x72\x41\x1c\x34\x6e\x50\xfa\x71\xd3\x6a\xce\x53\x8c\xe4\x14\xa9\x9a\xe9\x43\xca\x16\xdb\xe7\x69\xbe\x72\x70\x4d\x16\xe7\x35\x45\xe6\xe6\x4c\xa8\xa9\x4c\x55\xdc\x8f\xe9\xd6\x83\xc8\x23\x78\x19\x64\x4a\xcd\x30\xf0\x44\xff\x81\x63\x73\xe7\xde\xb9\x9b\x32\x78\xec\x22\x23\x92\x69\x9e\x71\xe0\x4a\x8a\x89\x74\x28\xb3\x81\xa0\x74\xbf\x78\xe0\xba\x34\xbf\xd3\x8c\x0f\xf2\x78\x20\xda\x6d\x38\xc1\x5a\x00\xd0\x90\x27\xd1\x15\xad\x91\x4c\xf4\x45\x68\x2e\xe9\x75\x8f\x10\x4d\xe5\xf6\xd1\xa6\x2a\x8c\x8e\x45\x03\x9b\x66\xf1\x44\x9f\xa1\x34\x3e\xa0\x18\xd7\x82\xf1\x04\x52\xdf\xe7\x45\xba\x30\x63\x98\x24\xa6\x0f\x1c\x00\x2c\xe2\x80\x67\x90\xd7\x83\xe7\x88\x58\x2d\x58\xfc\x74\xfe\xee\xed\x31\x06\x6f\x81\xa1\x33\x35\x03\x48\x78\x36\x02\xdf\xa5\x14\x3c\x9a\xe4\x10\x87\xde\x64\x63\x39\x17\x37\x22\xc3\x20\x2f\x80\x33\xe6\xd3\xa9\x48\xe9\x42\xe1\x42\x0e\x35\xff\xf0\xea\x22\xa3\xa2\xe9\x54\x12\xfd\xd3\x59\x46\xee\x33\x8c\xb3\xa1\x98\xb3\x6c\x96\x08\xca\xd2\x81\x25\x4e\xda\x8c\x1d\xf3\xc1\xd8\x2c\xa7\xc9\xe9\x9f\x49\x28\x7b\x44\x54\x89\x45\xc6\x61\x2a\x2c\xe7\x23\x56\xbb\x6d\x65\x72\x5e\xc3\x8d\x05\xab\x0f\xdf\x41\x8f\x86\x32\x30\x91\xba\x0d\x47\x42\xa6\x26\x33\xa4\xa8\xc8\x6a\xd6\x31\x22\x89\x76\x14\xd2\x10\x39\x5d\xa4\x66\x4f\x2f\xdd\x6e\x4c\xaf\x05\x24\x1b\x05\x47\x44\xe0\x3b\x99\x70\x34\xd5\x5f\x14\x88\x05\x32\x4d\xdb\x4c\xd4\x18\x3d\x8a\xce\xab\xa8\x0b\x30\xc2\x41\x81\x86\xfc\x01\x81\x67\x49\x25\xd2\x51\xd0\xb1\x49\xc1\x4d\xea\x05\x7d\x23\x55\x21\x35\x56\x6c\x0f\xaa\x5d\x95\x2c\x0c\xb7\x41\xfa\xd1\x7c\x8b\x4d\xf8\x6d\x3c\x99\x4d\x8c\xef\x3b\x64\xf4\xd7\xc3\xd8\x2b\x8a\x97\x54\x8b\xed\x0b\x55\xe5\xd7\xad\x8f\xa0\x31\x68\x1a\x09\x8a\xdb\xfb\xd8\x82\xf8\xe7\x38\x36\x15\x8d\x2d\x3f\xe9\x09\x41\x3b\xda\x54\x87\x0b\xf9\xaa\x7d\xaa\x01\xc4\x1a\xe9\x13\x4c\x06\x0e\xf2\x2b\x41\x83\x4c\x24\x48\xbf\x8a\x1c\x88\xa5\x64\x13\x88\xf0\x72\x4e\xed\x10\xd3\x15\x45\xa0\x6b\x90\x9a\x36\xe5\x3c\x8c\x48\x27\x68\x7b\xfa\xd8\x4f\x65\xae\xe9\xea\x26\x8e\x42\xe9\x92\xd6\xab\x50\x1f\xc0\xc3\x43\xa1\xfe\x3d\xdc\x26\x06\x4d\x96\x09\x1e\xb5\xb0\xf8\xf5\x00\xea\x7b\x11\x69\xc2\x12\xd0\xc5\xd5\x71\x01\xbf\xdc\xbc\x6e\x71\x08\x61\x7d\xf6\xb6\xba\xbb\x6b\xb0\x1d\xc4\x2a\x58\x24\x7b\x80\x30\x8d\xbe\x1b\xde\x67\xaa\xbc\xee\xaf\xdc\x6f\xbf\xb1\xa7\x7b\x3e\x60\x7b\x34\xca\x44\x66\x4d\xf0\x1b\x87\x84\x42\x22\x4b\xe2\x94\xd2\xa5\x83\x4f\xb1\xe7\x0d\x69\xfa\xca\x83\x23\x3d\xd0\x96\x84\xa7\x7d\x1d\xad\x40\x6d\xa3\x7d\x6c\x98\x11\x1c\x51\xef\x10\xaf\x84\x06\x25\x3a\xa3\x07\x52\x66\x11\x24\xc7\x70\xfd\xe1\xab\x53\x73\x7a\xfb\xfd\xa1\xec\x51\x27\xf9\xcc\x4d\x2f\x95\x11\x6e\x35\x8e\x89\xe7\x0d\x57\x70\xa7\x20\x76\x17\x2b\x2b\x15\xc0\x09\x5a\xe8\xf3\x4c\xce\xdf\xcb\x48\x68\x8c\xa6\xb3\x24\x59\xd7\x83\x9a\xf2\xd4\x08\x25\xdb\x76\xb5\xac\x1f\x39\x1c\x2a\x91\xe3\x81\xe7\xd1\x01\x1c\xdb\xfe\x97\x2e\xa9\x4e\x55\x7f\x85\xce\x4e\x00\xa8\xeb\xce\xbb\x1b\x9f\x99\x7a\x85\x96\xa7\x80\x13\x31\xfa\x65\x3b\x01\xaf\xa0\x1d\xb4\x05\x38\x5c\x8b\x2f\xe5\xd6\x15\x95\x6d\x88\x10\x90\x9b\x98\xdb\xa0\x11\x28\x38\x3a\xec\x02\x77\x29\x6d\xa0\xc2\x7e\xf5\x6e\x83\x23\x91\x43\xa7\xcb\xaa\x80\x3a\xf2\xd1\xcd\xea\xa5\xfd\xd3\x2c\xec\x4a\x53\xe5\x6d\x19\x9e\xc2\x49\xd8\xd1\x97\x47\x1c\x60\xca\x72\xd9\x0a\x31\x6f\xbb\xc9\xfe\x84\x81\x2d\x2b\x8b\x9e\x16\x27\xb3\xf9\x5c\x96\x2f\xc0\x26\xd3\xb9\xdb\xf2\x7d\x02\x1a\x5f\x5d\xc5\xd5\x5b\xb0\x60\x32\xc6\x56\xb4\xfc\xa0\x9a\x8a\x8c\xca\x28\x54\x1f\x7b\x83\x0d\x0e\x3b\x0f\xc6\xd2\x89\x28\x91\x1f\x79\x3c\x78\x45\x91\x9d\x02\xf7\xa6\x62\x3b\x41\x21\xcf\x80\x07\xd2\x07\xec\x07\x6a\xeb\xe9\x40\x75\xa7\x41\xdb\xca\xef\x33\x39\x6f\xd2\x3c\x5b\x45\xed\xd8\x19\x8a\xe6\x2e\x35\x00\xc8\xe7\xe1\xf5\x06\xb6\x26\x2d\x47\x5c\xe6\x02\x9e\xb0\x8a\x04\xe1\x00\x6d\x41\x08\x60\xc6\x3b\x93\xf3\xd5\x84\x60\x5a\xa9\x7a\xa7\x61\xab\x26\x85\x53\x09\x2f\x68\xb9\x9c\x7a\xb2\x60\x61\x32\xf9\x58\x4c\x82\x28\xe9\xf5\x44\x52\xd8\xbb\xf6\x72\x13\x56\x26\xc2\xcd\xf7\xbd\x87\x99\x1f\x10\x35\x18\xe3\x2b\x22\xf8\x7a\x23\x7c\xa8\x25\xa4\x54\xbd\xdf\x49\x0b\xba\x47\xeb\x1d\xae\x35\x99\x32\x41\x52\x32\xf5\x4f\x4b\xf8\x29\xe2\xa0\xb4\xba\x70\xb2\x4a\x12\xf2\x56\x4e\x81\xd2\xd5\x15\x16\x35\x93\x73\x6f\x33\x54\x0d\x7d\xaf\xa9\x3b\xa9\x1c\x3b\x9e\x14\x1b\x0e\x7d\xe9\x2a\x98\xa5\xdb\x6a\x0e\xaa\x30\x09\x55\x39\x0b\x6a\xdf\xe6\xd3\x69\xb2\xa8\x87\x2f\x61\x5a\x6a\xe9\xfe\x4b\xf8\xd7\xd9\x7e\x16\xce\x16\xbb\x6f\x2a\xa7\x6b\xf7\x1e\xb6\xd9\x78\xe7\x19\x27\x8d\x7f\xc5\xcd\x47\x53\xbd\xcb\xd6\xab\x3c\x80\x59\x0b\x67\xb1\xf1\xb6\xac\x42\xde\x57\xdc\x99\xd3\x99\x1a\x6f\xb8\x2d\x41\x0b\xbb\xc9\x76\xdc\x64\xc8\x5f\x63\x47\xd2\xd8\x97\x6c\x47\x58\x5a\xdd\x64\xe3\x1d\x58\x85\x7e\x17\xc2\x43\x67\xef\x1f\xb5\x10\xd8\xa4\xb0\x14\xa0\xde\x40\x1e\xb8\x82\x51\x52\xab\x0d\x99\xe5\x76\x33\xfa\x1a\xeb\x64\xa7\xa6\xaa\xe7\x46\x0b\x66\xcd\xec\x31\x3b\x60\x7b\xcf\x59\xcc\xbe\xc7\x45\x24\xd1\x95\xc5\xf7\xef\x07\x99\xe6\xab\x11\xc1\xee\xb3\xd8\x20\x43\x5d\xc4\x57\x65\x1b\x3b\x31\x29\x5e\xc5\x67\x57\x22\x67\x5b\xfe\xeb\xb3\x99\x95\x18\x42\xe6\x55\xb5\xf8\x1b\xf0\x19\x42\xe4\xff\x05\xcc\xd8\xa2\xa9\x8a\x90\x36\x65\xcb\x41\xf3\xc2\x66\x01\xb3\x35\xcf\xc5\x2a\x33\x42\xa0\xe2\x57\x22\x57\x95\xda\x8a\x5c\x32\x54\x4f\xe0\x6d\x36\x11\x3c\x53\x50\xd7\x0e\x72\xd7\xc6\x54\x19\x55\xc3\x89\x78\xce\x0d\xcc\x43\x0c\xf6\xa6\x00\x41\xb2\x46\xc8\xcc\x29\xcd\x28\x7c\x15\x8c\x6f\xde\xa5\xdf\x9a\x38\x62\x05\xea\xcc\x24\x86\xb2\x78\x68\x6e\xe6\x31\x56\x8e\x96\x7d\x35\x98\x65\xc2\xd9\x1f\xd7\x6c\x5a\x83\x8c\xa3\xa2\x1e\xa6\xca\x21\xa9\x70\xd1\xd0\xeb\x64\xd4\x33\xab\x55\x2b\x2b\xb4\x21\x9b\xea\x2e\x5c\x61\x97\x01\x55\x5e\x31\xe4\x4d\xe8\x59\xb7\xfd\x60\x79\x8e\xcc\xf8\x56\xce\xd0\x8c\xbf\x1d\xa7\xa9\xc8\x40\xa5\x8d\x15\xee\xab\x5b\x21\xc5\x5a\xd5\x58\xbd\x96\xc4\x29\xe6\x1c\x1b\x26\x72\x5e\x2b\x62\xc7\x4d\x72\xef\xf9\x12\xcc\x12\x5f\x5a\xd1\xc2\x40\xd7\xf3\xe0\x89\x12\xd6\xe3\x42\xd3\xce\x73\xff\x76\x19\x6a\xf4\xda\xb1\x22\x95\x69\xbd\xe1\xea\xda\xdc\xe6\x76\x82\x81\xa9\x95\xde\x80\xa1\x10\xee\xee\xb6\x74\x6b\x59\xb3\xe2\x8c\xbf\xbb\xbb\xec\x93\x09\x0b\x00\x8b\xb9\x4c\xe5\x2c\xd3\x34\x2b\x32\x65\x53\xa6\x81\xa2\x17\x16\x05\x72\x5f\x69\x4e\x24\x78\x53\x6f\x09\xa8\xbe\x8b\x70\x20\xef\x40\x4d\x41\x72\x4b\x0a\xe1\x16\x19\x57\xc2\xe5\x70\x6a\x1b\x4f\x13\x82\x7e\x50\xa5\xc7\x6c\xd3\xdb\xe7\xd5\x6a\xce\xb6\xfb\x98\x90\x59\xdd\x4c\x2d\xd2\xc1\x11\x8c\xbe\xee\x6a\x57\x83\xb2\xb0\xba\x57\xcc\xad\x7c\x84\x8a\x44\x91\xd5\xf5\xeb\x65\x7b\xa5\x0d\xfa\xef\xe8\x68\x1c\x27\x51\x5d\xc3\x2c\x36\xb4\xdb\x46\x46\xc2\x39\x3d\x2d\x9d\xc8\x9a\x19\x87\x53\xf1\xf6\xd9\x3b\x9e\x5d\x07\x9c\x11\xe4\x24\xf0\xda\x00\xdb\x28\xd1\x9d\xb0\x51\xcd\xa9\xa6\x11\x4d\xf1\xbe\xc9\x02\x14\xcd\x96\x46\x21\x78\x84\xb2\x9e\x45\xb4\xf0\x18\xc0\x8a\x69\xcf\x32\x48\x79\xe1\x14\x64\x1a\x32\xd9\x7e\xd1\xf0\x7b\x2d\x14\x8b\xa1\x26\x32\x26\xfb\x83\xd3\x67\x20\x27\x7d\xdd\x4d\x3e\x87\xe8\x70\x88\x0a\xb7\x5d\x5a\x9b\xb2\x05\x09\xce\x98\xc6\xe4\x1c\x8e\x17\xc3\x50\x6c\x06\x7a\xbf\xcc\x37\x24\xe0\x10\x7a\x98\x64\xe3\x09\x27\xd5\x66\x0c\x59\x0a\x18\xa1\xcc\x2b\x48\xdb\xc6\x73\x63\xe7\x9b\x66\x31\x6a\x45\x43\xa5\xb1\xe5\xe7\x14\x37\x39\x99\xc4\x39\x9a\xc6\x02\xec\x35\xd9\x2c\x85\x14\x3e\x98\xe5\x6f\x9a\x89\x81\x88\x8c\x67\x40\x26\x0c\x14\x58\x1c\x9f\x21\x82\x61\x58\x32\x0e\x41\xa4\x85\x51\xaf\xe4\x93\x30\x90\xb7\x71\x2a\x4e\x3c\x1e\xb3\x9e\x57\x2a\x91\x2f\x65\x81\xe8\x71\x5d\xbc\x0a\x27\x72\xe0\x1d\xc3\x0a\x9c\x3b\x19\xc7\x50\x6b\xa0\x3a\xab\x22\x5e\x2a\x9f\xe8\x66\x9a\xde\x20\x45\x00\x1a\x1b\xe8\x1c\xa8\x92\x65\x80\xa9\x16\x9a\xbb\x0e\x56\xea\xfa\x96\x1e\x8f\xa4\x6d\xd3\x40\x3c\xa7\xc6\x6a\x25\x33\x71\xd5\x81\x4c\x95\x4c\x44\x7b\xce\xb3\xb4\x5e\x3b\x74\xb9\x5f\x20\xa3\x6d\x81\x38\x64\xca\x04\xa6\xa3\xc6\x61\xd5\x82\x7a\x63\x81\xc3\x8d\x46\xc6\x0f\x07\x4b\x14\xdc\x85\xbe\xa9\xbe\xb3\x3e\x09\xa9\x10\x6f\x1f\x52\xca\xa3\xbb\x1d\x5e\x31\xa0\x1b\x58\xfe\x65\xb7\xdc\x8e\x77\x62\x98\x11\x7c\xaf\xe5\xa1\xdf\xd3\xd9\x5e\x30\x29\xa7\x0d\x2d\x9f\x38\xd5\xdd\x1c\x91\x50\x5f\xee\x89\x96\xe9\x39\x7d\x45\x67\x6c\x59\x4b\x5b\x9e\x18\x35\x5e\x3e\xb7\x6d\x3b\x75\x93\xdc\xea\x74\xcf\x70\xb7\x95\x96\xe4\x22\x93\xf3\xab\xe7\xe1\x89\x44\x6d\xdb\xa0\x9f\x85\x73\xc5\x55\xcd\x87\x03\x86\x66\x52\x68\x2e\xe7\xa9\xc8\x5e\x9a\x98\x02\x3c\xc2\xce\xc5\x6d\xae\x5f\xd6\x6b\x35\xb7\x54\xd0\xba\xf2\xd4\xb2\x8e\x69\x74\x86\x1c\x79\xb3\x76\xb4\x8a\x13\x39\xa8\x62\x26\xbe\xab\x58\x91\x00\x2a\x25\xa5\x56\x85\x80\xe5\xfc\xcb\xfc\x23\xda\x3b\x4c\x9f\xd3\xeb\xe2\x28\xb7\xec\xc7\x73\x3a\x0b\x64\xa7\x4a\x79\x98\xe6\xbd\x72\xf5\x41\xae\xf6\xf9\x0a\x60\x0d\xef\x03\x75\x7f\xe5\x34\x8a\xc9\x86\x78\xc0\xec\x08\x83\xe9\x3c\xb7\x0d\xe7\x64\x77\xa9\x32\xe6\xb6\x35\x54\x30\xcc\xb8\x45\xf4\x28\xa5\xad\xcf\xf8\x5e\xdc\x87\x02\x64\xbf\xfd\x46\xa0\x7e\xa0\xbe\xfd\xfa\xf1\x4b\xa4\x95\xd2\x6b\x27\x03\x23\x0c\xd3\xc4\x71\x35\xc2\x4f\x71\x75\xee\x1f\x60\xef\xcf\x7d\xd2\x2d\x8e\xb1\xec\x70\x4f\x76\x23\xe3\x12\xe0\x25\xdf\x74\xb1\x06\x90\x34\x77\xc0\x33\x91\xfb\xb9\x39\x73\x5f\x18\x02\x0f\xa9\xf2\x4d\x71\xf9\xc9\xb1\x48\x07\x3d\x03\xeb\x08\x40\xfb\x6e\xac\xe6\x0d\x1d\xaa\xd9\x82\x30\x69\x5f\x68\xb2\x4b\xf8\x54\x89\x7a\x11\xb5\xcd\x2a\x82\x47\xa6\x35\xd0\xe2\x33\xab\x0f\xe3\x4c\x0c\xe5\xed\x6b\x48\x52\x12\x1d\x9b\xfb\xa0\xe7\x00\xfa\xea\x15\xb8\x10\xa2\xdb\x35\x44\x87\x50\x1b\x88\x7b\x1a\x0b\x92\xcb\x62\x7d\xd3\x1a\x36\x59\xc6\x29\x63\x07\x4f\xb1\x96\x62\x2a\x73\x03\x8a\x4a\xb9\x58\xd3\x2f\x0d\xbb\x5d\x5a\x88\x69\x12\xe7\x4e\x0c\x83\xf5\x43\x79\x6f\x2e\xe1\x2f\xab\xc1\xd2\x52\x40\x4a\xd4\x61\x8e\x7f\x3f\x3f\xba\xfe\xfb\x47\x68\xa3\x5b\xbf\x3c\x79\xc7\x86\x19\x1f\x41\xca\xb1\xda\xf7\x51\x7c\xf3\xc3\xf7\x6a\xca\xd3\x1f\x7e\x12\x49\x22\xd9\x27\x99\x25\xd1\xf7\xbb\xf0\xe4\xfb\x5d\xfd\xb6\x86\xbe\xf0\x4c\xe9\x01\x01\x46\xc1\xe1\x8b\x2b\x15\x18\xfc\x31\xd3\xb0\xd9\x64\x72\xc8\x1e\x9b\x1c\xbe\x73\x08\x7a\xc6\x2c\x44\xe8\x01\x65\xfb\x47\x59\xb3\xaf\x05\x54\xd1\xad\x18\x8d\x19\x08\xfc\xb7\x62\x68\xe8\xa7\x67\xc6\x00\x7e\x44\x1c\x13\x1e\x3b\x87\x0d\x0c\x33\xc6\x41\x38\x87\x6a\x48\x3d\xea\x49\xe6\x73\x9a\x85\x82\x4a\x3d\xbe\x80\x9e\xcb\x56\x5f\xb4\x60\xf6\xb8\x0a\x9e\x77\x96\x71\x7d\x10\x99\x0b\xb8\x36\xf0\xd0\x35\x02\x1d\x4f\x35\xc2\x12\x3e\x10\x11\xde\x01\x72\xe9\xeb\xcb\x3c\x65\xa9\x46\xef\x17\xfc\xd2\x7a\x57\x40\x32\xe5\x24\xce\xab\x45\x35\xc2\x77\xe0\x23\x61\x26\xa5\xbf\x76\x0e\x11\x38\x03\xbc\x6b\x5a\x17\x83\xc1\x00\xee\x85\x2b\xf6\xa5\x5d\x75\x7f\x3f\x6a\xd0\xcd\x80\xa9\x69\xbe\x09\xbe\xec\xef\x3d\x46\x33\x48\x64\x2a\xe0\x34\x84\xb3\xb9\x11\x5c\xbd\xa9\x2c\xac\x69\xeb\x3d\xd2\x9b\xb3\xf8\x6c\x15\x3b\xee\xcd\xfa\x2a\xcf\x68\x50\x7b\x76\x5c\x1a\x8c\x1d\x52\x01\x16\xfa\xf1\x42\x08\x4e\x8e\xb7\x4d\x7a\xe7\x7d\x4d\xe7\x6f\x25\x88\x86\x65\xaa\xed\x29\xd7\xfc\x0e\x1a\xa0\x86\xea\x05\x38\xc8\xbb\xef\x9a\x25\xae\x6b\x43\x3a\xee\x15\xa7\x59\x0d\x17\xd5\x26\x81\xe8\xe0\x71\x8a\x63\x74\x4a\x45\xe2\xd3\xe4\x05\xbe\xb6\xf1\x74\x2a\x22\x5b\x66\xc1\x79\xc3\x0c\x12\x3e\x99\x3a\xca\xf7\xdd\xe0\x56\x12\xc2\x84\x2f\xfa\xe2\x28\x89\xa7\xe4\xb5\x54\xa9\x19\xda\xe2\xf4\xac\x92\x65\x2c\xce\x11\xc6\xf7\x2b\x24\x59\xcf\x7d\x4a\xf3\x64\x28\x01\x97\xca\x1c\x43\xec\x60\xf6\x10\x51\xdb\x9f\xe5\x58\xa3\x08\x1f\xf3\xc9\xd4\xfa\xe5\xaf\x77\x2a\x58\xda\xf9\xf6\x4e\x06\x95\x92\x73\xa3\xe2\xb8\xaf\x12\x6c\xf5\x8d\x30\x38\xe8\x0b\x37\x9a\xdd\x5d\xd6\xd3\xec\x48\x0e\x87\xa1\xa6\x16\x67\x82\x21\x19\x9a\x13\xc1\x1a\xb2\x4c\xa8\x1c\x22\x38\x72\x96\xf0\x5c\x58\xbd\xd0\xe6\xc2\x9d\xf1\xcc\x7a\x67\x2c\xb4\xee\x52\x8a\xfe\x12\xe0\x4a\x6c\xae\x8b\x5f\x0d\x59\xd8\xa9\x31\x57\x98\xac\xaf\xa8\x38\xe0\x19\x79\x7c\x1a\xbc\x81\xe3\xdc\xf6\xb4\x58\x20\xc4\x0a\x41\xec\x7b\x82\xaa\xc7\x54\x16\x60\xf1\x86\xbf\x1d\xe3\xb2\xc1\x04\x65\xd1\x65\xaf\x4a\x7a\xa1\x38\x17\xb7\xfa\x06\x25\x49\x62\x24\x03\xc8\x93\xee\x56\xa6\x5d\x7d\x29\x0a\xb7\xdf\xf3\x0a\x35\x9d\x3f\xa9\x40\x6c\xac\x16\xb3\xcd\x5d\xa7\x82\x61\xad\xb8\x5d\x94\x05\x52\x73\xa3\x0d\x28\xf2\xfb\x95\xdc\xe0\x75\xa0\xe2\x9e\x73\x8c\x2e\x8a\x03\x1f\x3e\x97\xa4\x4e\xe5\x3c\xcb\x45\x84\x09\xb2\xdc\x86\x50\x56\x4a\x73\x32\xeb\x5d\x5c\x8a\xfc\x71\x37\x4a\xba\xe2\xdd\x5d\xaf\x30\x51\x22\x38\xe6\x24\x33\xce\x1b\xc6\x51\x81\x76\x6f\xb5\x32\xad\x48\x76\xab\xd8\xc6\x97\x4a\xa3\x2e\x25\x5e\x0c\xa5\x76\xaf\x40\x8f\x55\xab\x38\x47\x6e\x4f\xb4\x87\x9d\x17\x38\xc5\x02\xf4\xff\x96\x33\x14\x8f\x40\x62\xac\x38\x32\xea\x0d\xa2\xcd\x98\xaa\x8b\x63\xa6\xff\x78\xea\xa9\x4b\x1d\xfc\x94\x78\x76\x48\xc9\x26\xca\x05\x8a\x74\x2a\xc9\x66\x53\x7b\x98\x61\xb8\x46\x2e\xc9\x53\x3e\x59\xd8\x50\x18\x0a\xdf\x2a\xe9\x5a\x35\x2c\x9c\x61\x70\xee\x55\xe8\xf6\xc2\x78\xd2\x25\x56\x5d\xf4\xe2\x0e\xae\x2e\x79\xe6\xce\x46\x47\xf4\x4b\x2e\xd9\x61\xa3\x73\x34\x2a\xb8\x07\xa1\x94\x74\x67\x23\x8b\xb5\x3c\xe8\xa3\x11\x62\x33\x00\x3d\xc8\xd7\x6c\x0d\x10\x98\x49\x7f\xc1\xa6\x99\x98\x0a\xc8\x79\x89\xd6\x3a\xa8\xa4\x97\x8e\x10\xc8\xdc\xda\x39\x94\x09\xfe\xa3\x28\x77\xd0\x3b\x67\x91\x0f\x0c\x3b\xe0\x63\xc1\x21\x80\x3b\x8f\x27\xc2\x70\x26\x95\x67\xc6\xdd\xd1\xc8\x66\xf4\x04\x30\x68\xc6\xfc\x1e\x6c\x1e\x7a\xc0\xf3\x31\xcf\x9b\x66\x47\x83\x37\x8f\x8d\x64\x84\xb2\x48\x3e\x37\xb0\x3e\xc3\x49\x02\x82\x3b\xc2\xd2\x58\xa2\x98\xf9\xc9\x6c\x30\x5e\xe2\x68\x6d\xe4\x81\xfb\x07\x76\x8c\x66\x30\x6f\xe5\x00\x22\x5f\x07\x63\x51\xb0\xb0\xd9\xcb\x58\xa8\x78\xa8\xd2\x88\x18\x0e\x8e\xd6\x08\x23\xc3\xe3\xf0\xe9\xaf\x89\xe0\x5a\xc2\xf3\xb2\xe5\x88\x34\x0a\xd7\xa9\x8d\x60\xa0\x34\x44\x3c\x99\x26\xb1\xd1\xa8\x87\xc2\x1f\xcf\x8b\x9f\xd3\x3b\x90\x38\xcd\x21\x81\x63\x39\x31\xa3\x5e\x73\x78\x3a\xea\x6c\xb0\x96\x55\x52\x18\xe5\x55\x00\xcb\x53\x0a\xee\xee\xb2\x43\x96\x8a\x11\xcf\x41\x87\x1d\x4e\x1f\xab\x0a\x2f\xf5\x1a\x9f\x9a\x24\x2c\x22\x8d\x0c\x30\x33\x1d\x17\x05\x21\xc9\xc9\x0b\x0c\x18\x8c\x7d\x12\x35\x7d\x3c\x12\x6d\x92\x2d\x19\x3c\x64\x2d\x39\x17\x08\xba\xed\x14\x42\x6a\x89\x69\xaf\x15\xcc\xcf\xc4\x9e\x82\xcf\x7a\xac\x3c\x50\x5e\xbd\x9b\x81\xd4\x97\xf2\x5c\x24\x0b\x36\x4b\x21\x54\x31\x6a\x33\xf6\xc1\xc4\x1c\x34\xbd\xaa\x7d\x2e\x70\x16\xa2\x13\x20\x47\x63\x9e\xc5\xd7\x22\x1f\x67\x72\x36\x1a\xd3\xa5\xb6\xef\x4a\x3b\xc9\xd4\xeb\xb4\xe9\x24\xbf\x5a\xce\x66\x4a\x58\x5c\xa5\x44\xaf\x52\xe1\xc5\x59\x61\xc2\x96\x24\xa2\x74\x29\x60\x50\x32\x6a\xad\x4a\xdb\xa8\x8b\x91\xf8\xed\x37\x2f\x16\xb2\xd2\x7e\x16\x0c\x79\x6d\x73\xaf\x68\xe1\xda\xb6\xf3\x01\xb0\xd2\xb5\xed\xf2\x38\x11\x2f\x79\xce\xd9\x3d\x34\x97\x37\x9c\x20\xbf\xbb\xcb\x5e\x08\x38\xb0\x34\x2e\x06\x22\xe5\x59\x2c\x9b\x46\x60\x06\xe5\xcd\x34\x13\xb9\xc9\xb3\x89\x9c\x8e\xcd\xf5\xa5\xda\xab\x98\xe4\x80\x51\x55\xd3\xc4\xdb\x97\xa0\xa7\xca\x33\x76\xa0\xe9\xe8\xbe\xfe\x19\x84\xea\x92\xa0\x63\x38\xbc\xde\x58\xe7\x90\x7a\xe6\x80\x3d\x08\xa7\x06\xff\xee\xf9\x8d\xab\x10\xc0\xac\xaa\xd6\x1e\x1a\x71\x22\x36\x69\x07\xd4\x08\xb8\x7b\xa9\x59\x37\x86\x1f\x6d\xf4\x8d\x5b\x34\xb0\x94\x86\xf8\xed\x61\x75\xb4\xbe\x41\x73\x33\x74\xb1\xa7\x38\x5e\x4e\xd6\x4a\x4b\x86\xc5\x8d\xc8\x96\x9c\x83\xec\xc0\xc7\x1f\x1c\x99\xf7\x35\xaa\xab\x03\xa2\xf5\xb9\x27\x33\x3b\x92\xb9\xb0\x91\x7d\x03\x3f\xc6\xcc\x68\x5e\x56\x8c\x06\x19\x03\x9d\xe5\xde\xd0\x56\x5a\x05\xec\xb0\x96\x79\x51\x78\x0a\x04\x04\xde\xf4\x61\x17\x75\x08\x55\x97\x86\x60\x34\x40\x74\xef\x37\xd3\x2c\xb3\x03\x16\xf2\xb3\xe7\x25\xbc\x93\x40\x32\x57\xc1\x75\x14\x65\x89\x54\xce\x21\xaa\x17\x2b\x75\x59\x8d\x04\xc6\xc4\xd3\xc1\x83\x82\xad\x95\x31\xab\xcf\x20\x56\x3a\x81\x42\x3b\x57\xd5\x0e\x07\x47\x08\xa1\x9c\x03\x81\x77\x2a\x79\x47\xce\x39\xe9\xe6\x40\xbc\xa4\xcc\x83\xa4\x98\xb3\xc5\x2e\xe2\xb4\x7a\x50\xe5\xe3\xec\xe0\xc0\x9d\x67\x2b\xa8\xb3\x48\x9c\x95\x1c\x40\x6e\x05\x52\xb3\x93\xfb\x05\xc0\x95\xe4\xbe\x0c\x82\xb7\xa7\xd7\xdd\x4e\x1d\x08\x5f\xb9\x46\x75\x32\x1d\x77\xbb\xbf\x15\x20\x4f\x45\x67\xc9\xa8\xea\xa2\xeb\x0b\x5d\xac\x52\xf3\x71\x1e\xae\x95\x11\x9d\xe6\x99\xd4\xf2\x2a\xa4\x02\x30\x51\xc8\x66\xe5\x51\x6b\xec\x13\x26\x82\xea\x8b\x51\x8c\x99\x2d\x65\xb6\x44\x46\x6a\xe2\x8d\x11\x62\x9a\xa3\xbf\xf2\x41\xc0\xc1\xf4\x65\x84\x7f\x43\xf7\x47\x8d\xe7\x18\xc4\xc3\x34\x02\xbf\xb1\xb6\xcd\xf6\x50\x5e\x6a\x2d\x0d\x91\xb3\xb0\x1b\x43\x75\xe7\x6c\x30\x16\x83\x6b\xb2\xd1\x60\x2e\x1c\xa6\x90\x25\x38\x81\xc5\xbc\x31\x96\xa8\x80\x41\x15\x5e\x3a\x0b\x56\xf1\xab\x6f\xbf\x0d\x35\x13\xeb\xf6\x5c\xe1\x7b\xef\x14\x28\xbc\x09\x68\x11\xd7\x78\x05\x37\xab\x1c\xef\x12\x4e\x56\xbc\x3b\xac\xe8\xb8\xb1\xc2\x92\x06\x6a\x10\x11\xe8\x4a\xd6\x38\x2c\xe1\x25\x65\x23\xbe\x4e\x80\x7d\xc6\x5e\xfe\xd4\x5a\x05\xc5\xdc\xb1\xef\xca\x29\xaf\xdc\x20\xab\x99\x96\x23\xbb\x15\xd4\xee\x11\x1c\x18\x2f\x4a\xc4\xe6\x9b\x3c\x0f\x96\x9c\x56\x8e\xc8\xfc\xd6\xdb\x12\x98\x7f\xfc\x79\x36\x6b\xf7\xb4\x92\x4d\x2e\x79\xbf\x82\xe2\x4a\x03\xdf\x90\xda\x1c\x11\xfc\x0f\x52\x55\x59\x46\x58\x47\x56\xe4\x85\x88\xbe\xde\x58\xab\xd2\xdd\x93\x30\x93\x22\x4f\x17\xe6\xa2\xe4\x5f\x6b\xc6\x22\xd3\xd7\x8c\x38\x1d\x08\x48\x74\x61\xc0\x8d\x24\xf9\x81\x39\x69\xaa\xa4\xb2\x72\x68\x5c\x67\x67\xc7\xb1\x56\x7b\xf3\x94\xe4\x39\xcd\xd4\x95\x9c\x08\x34\x7c\xd1\x61\x4e\x55\x03\x2a\xe4\x0d\xba\x18\x22\x24\x23\x0a\xa2\xa9\x2c\xce\x4b\x06\x57\x48\x1d\x83\x5e\xc8\x33\x58\x4b\x67\x00\xd4\x5d\xf5\x45\x3e\xf7\xc3\xd1\x9d\xf1\x6c\xd9\xe1\x77\x77\x92\xb8\x0b\x9b\x29\xc9\x8f\xab\x29\x63\x0d\xbb\xf1\xb4\x8a\x27\xce\x21\x9b\x2e\x90\x25\xc5\x62\xb5\xd7\xf8\xff\xc5\x0a\xc3\x42\xe6\x87\xa5\x3a\xc3\x09\xbf\x7d\x8b\x5e\x64\xd5\x0e\x58\xab\xcc\x34\x74\x85\xb7\x20\x1a\xde\x16\x62\x17\x2a\xcf\xae\xac\x49\x76\xbe\x52\xfb\xb6\x85\xe4\x5d\x32\xa6\x38\x36\xbf\xca\x4e\x62\x6d\xb1\x15\xde\x49\x07\x40\x76\x81\x1c\x1f\x2b\x2f\x0a\xc0\xea\x41\x38\x4b\x65\x4b\x4e\x9b\x78\x71\x9f\x14\xcc\x53\x2e\xac\x63\x29\x33\x0a\x9d\x66\x56\xab\x03\xe7\x4b\x4f\x5d\xf8\x2e\x12\x89\xc8\xc5\xd1\x98\x67\xaa\xfe\x8e\xe7\xe3\xf6\x24\x4e\xeb\x94\xb8\xc7\x2d\x88\xdb\x86\x41\x72\x10\xc4\xba\xb7\xc3\x5e\xc9\x6c\xce\xb3\xa8\x85\x50\x51\x85\x43\x9e\xbc\x7e\xe6\x8f\x8d\x36\xdd\x39\xf9\x20\x80\xe3\x0a\x04\xcd\x13\x63\x44\xe0\x91\x0f\x31\x56\x58\x17\x44\x44\x2c\x11\xc3\x1c\x32\xff\x24\x0b\xc6\x87\x43\x31\xc8\x21\xc9\x49\x51\xe5\x26\x98\xe2\x13\x61\x9c\xa1\xcb\x1b\x71\x45\xe4\x4c\x90\xdb\x41\x0e\x7d\xd0\xb9\xa4\xd1\xb9\xca\xd0\xc6\x89\xa1\xda\xa2\x8d\x40\xa0\x20\x70\x59\x15\xdc\x5e\x1e\xb4\x5f\x1c\x43\x41\xab\x68\xb3\x12\x12\xae\x56\x6e\x71\x8f\x04\x96\x44\x4c\xae\xb0\xb7\x3d\xdf\x50\x7b\xec\x9b\x6e\xe1\xe5\x46\x06\x5c\x46\x68\x3f\x60\x96\x36\x29\x10\xb3\x8a\xc7\x54\xc0\x77\x3e\x0c\x5e\xec\x3d\x61\x74\xcf\x79\x61\xde\xb8\x40\x7e\xa3\xe8\xe7\x59\x8e\xc4\xdf\xd4\x62\xe7\x5b\x4a\xc4\x10\x1a\x14\xd9\xb7\xdf\xfa\x11\x4c\xcc\xff\x6c\x2b\xcf\xbc\xaf\xe0\x47\xe2\x5d\x75\x37\xfb\x94\x56\xec\xbe\x0d\xaa\xd2\x9f\xda\xa9\x6e\x35\x7c\x4a\x4e\x70\x10\xcc\xbf\xe5\xe3\xcd\xc8\xd5\xd2\xa8\xd8\xfd\x96\xdf\x7e\xeb\xf5\xfb\xed\xb7\x21\x16\x0f\xdc\xbb\x40\x5f\xf7\x5e\xfa\x04\x0f\xaa\x4e\xc3\x18\x4c\xcd\xd2\xcc\xd3\x68\xa3\x08\x95\x81\xcb\x60\x9f\xf7\x93\x05\xcb\xb3\x85\x51\xa8\x03\x40\xbb\x77\x81\x6d\x85\x89\x7c\x30\x9d\xec\x3c\x8e\xbc\x5d\xe6\x24\x33\x93\x20\x2d\x50\xb1\x56\x34\x06\x41\x94\xf8\x3b\xe8\x73\xb4\xf0\x06\xd9\x25\xad\x03\x5d\x49\x77\x07\x0f\xb6\x10\xbc\x6a\xac\x66\x85\xfb\x95\x8e\x3f\x16\xf0\x12\xc7\x9f\x25\x64\x89\x41\x45\x45\x52\xd9\xb3\x4a\x38\x43\x09\x9d\x8a\x3b\x05\x6a\x17\x97\xf8\x77\x22\x7d\x78\x40\x0f\xd8\x9e\x26\x06\x40\xdc\xbd\x32\xe3\x09\xbd\x81\xd7\xf8\x21\x31\x72\xe8\x75\x1e\xa6\x34\x18\x7c\x25\xcb\x2a\x3c\xe7\xaf\x50\x92\x3e\xe3\x21\x85\x6e\x70\xe3\xca\x9f\xca\xb4\x05\xa2\x9d\xb9\x42\x14\x9c\x32\xc8\x7f\xc0\xe8\xcc\xef\x1d\xb0\x07\x7a\x6a\xf7\x56\x49\x1a\xbe\x4f\xf0\x5a\x83\x2c\x2b\xea\xe7\x8b\x4a\x8e\x55\x2e\xbd\xeb\x94\x2e\x77\xbb\x0f\x79\x8a\xb7\x15\xe3\x5a\x69\x63\xf0\x28\x72\xc3\xf1\x6f\x7a\x25\xde\xab\x54\x43\x6a\x54\xc3\x82\x2e\xf7\x3e\xd9\xd0\x9b\x7e\x7d\x44\x98\xed\x67\x95\x86\xdc\x36\xda\x68\x32\x4b\x6f\xe0\xfe\x86\x28\x68\x73\x80\xd6\xe9\x3c\xcc\x6e\x42\x59\x2e\x4e\x23\x45\xc9\x60\xfe\xdc\x3a\x3b\xf9\x84\x05\x16\xe1\xb2\xe1\xe5\xd2\x72\xc1\xd7\xd0\x08\x64\x96\x0f\x94\x61\x5f\xcd\xa6\x53\x99\xe5\xe1\x05\xa5\x28\x61\xa1\x37\xa9\x16\xc4\xb0\x17\xf0\xdc\x1e\xc5\x29\x53\x82\x67\x03\xcc\xa2\xe6\x52\xd2\xc8\xa1\x8d\xf5\x72\xa2\x11\x82\xd0\x72\x11\x81\xa0\x3c\x7f\x7c\x89\xb6\xd2\x40\x58\x99\xd7\x48\x5f\x92\x7a\xfa\x24\x3a\x93\xf3\xcf\x95\xa9\x16\x48\x12\xc8\xe4\xbc\x48\xd7\xbe\xce\x88\x55\xbc\x6f\x8f\xb9\x5a\xee\xfa\xe0\xf9\x29\x61\x84\x41\xd5\xbe\xfc\xe2\x2d\x9c\x9c\x07\x2b\xf7\x23\xc4\x37\x9b\xc4\x85\x88\x7d\x87\x03\x38\x70\x4c\x50\x55\x0f\x57\x48\x6d\xba\x44\xaf\x42\x72\x28\x2f\x85\x49\x77\x0d\xd2\x3b\x45\xf6\xfa\x2d\xd7\xa2\x5c\x7f\x58\x8d\x6e\x72\x0d\x23\xeb\xce\xce\xce\xf3\x60\x09\x3c\xa4\x19\xeb\x9a\x9e\x64\x49\x95\x46\xc1\x2a\x9b\xad\x80\xbf\x06\x25\xde\x52\xe0\x1e\xfd\x4c\xf0\x6b\x3f\x61\xb1\xbf\x3e\x68\xfa\x28\xa5\xf1\x52\x45\x82\x4d\x07\xe0\xe5\x65\x08\x95\xce\x93\x8a\xc5\x80\x73\xec\x3d\xd9\xff\x46\xc2\xac\x89\x05\x30\xc4\xab\x4c\x71\x8f\x14\x5a\xc9\x21\x69\x50\x4d\xfd\x4b\x4a\xb5\x08\xf9\x87\xd7\x2e\xd7\x9f\xcf\xe4\xfc\x90\x40\x95\x1c\xaf\x83\x2d\xe2\x7b\xdf\x81\x7a\xd5\xd8\x90\xdf\xeb\x4b\xd8\xc1\xc1\x01\xab\xc1\xc8\x6a\x8d\x32\x32\xfd\x98\x10\x77\xca\x17\xb6\x00\x86\xa5\x54\xe0\xd7\x0b\xca\x04\x3f\x3b\xa4\x73\xef\xd2\xa6\x99\x04\x9d\xff\xd4\xc4\x20\x7d\xeb\xcd\x41\xc8\xcd\x43\x86\xe3\xf6\xc8\xea\x05\x74\x11\x82\xc3\x95\x4e\xf4\x27\x9e\x03\x7d\x40\x1f\xa5\x8b\xe2\xe9\xdd\xe7\xbe\x72\xdd\x0d\xdc\x4f\x71\x3e\x36\x6a\xa4\xe2\x96\x6d\xb2\xb2\xf7\xbd\x8b\x54\xf3\xaf\x61\xad\x8e\xb9\x74\x19\xb2\x3c\x73\x31\x8a\x45\x2a\x73\x02\x1d\x00\xf3\xbe\x58\x02\x73\xea\x42\x3c\xf7\x3c\x86\xe1\x77\x75\xef\x80\x79\xfc\xc3\x7e\x70\x7f\xad\x88\xe3\x02\x1d\x37\x62\x2a\x5a\xe4\x2b\x30\x92\xbb\xf0\x99\x60\x8a\x25\x5e\xe3\x86\x6f\x11\xe8\x2f\x57\x9c\xea\xd3\xac\x62\x81\x36\xda\x3c\x74\x00\x6f\xb2\x77\x5e\x1a\x57\xf7\xbb\xca\x00\xc1\x96\x40\xe8\x5b\xed\x22\xcb\x00\x57\x6f\x23\x6f\xdc\xcb\x41\xac\xdd\x59\x9b\x23\x66\xe3\x8d\x85\x2b\xb5\xe1\xae\x2a\x30\xc7\x02\x49\xfb\x99\x55\xaa\xe9\xa1\xf0\x7d\xb1\x1b\xdf\x8a\xbe\x11\x59\x05\xb0\xf6\x1a\x86\x59\x57\x6d\xc8\x25\x09\x84\xda\x03\x2d\xae\xbe\x87\x52\xc1\x15\xa9\x84\x3c\x75\xd2\x7b\x1b\xee\xea\x7d\x73\x11\x5f\x05\xf7\x22\xd7\x10\x4f\x92\x46\xb8\x99\xbc\x5d\xe3\xc7\x2f\x6e\xc1\x0b\xbc\x3e\x1a\x85\xb3\x49\xef\xd4\x8a\xcd\x65\x83\x9f\x20\xc1\x32\x12\x8b\x4b\x96\x4d\xd9\x64\xaa\x8e\xaf\x3f\xf2\x6c\xb2\x14\x6e\x3b\xae\x3c\x44\xc0\x6f\x36\xcf\x62\x71\x53\x9a\x43\x45\xfe\xa0\x2f\xec\x7c\x2e\x99\xc0\xfc\x41\x98\xa0\xc8\xbf\x41\x14\x91\xa0\x31\x20\x06\x79\x7c\x23\x30\x37\xfc\xca\x2d\xa3\x67\x78\x98\x46\xb8\x9b\x57\x1f\x48\x66\x4a\x45\xe1\x5d\xf3\x65\x3b\xdd\x1f\x36\x61\xfa\xbe\x28\xf3\xfb\xd8\xbe\xed\xb7\xb5\xc5\x69\xf3\xf5\x4e\x0b\xb3\x97\x4b\x58\xf4\x37\xb4\xc5\xdb\xd7\x23\x63\x73\xfd\xf8\xc3\x4f\x89\xf5\xf4\x4c\xc9\xde\xfe\x59\xc9\x79\xc9\x31\x10\xd2\xf2\xdd\x79\x68\xba\x92\x79\x9a\x16\x9a\x26\x3f\xdd\x29\xdc\xdc\xa2\xfd\xfb\x83\x10\x92\xdb\x02\x4b\xee\x03\xbd\xd3\xc3\xf7\x35\xd7\x0a\x72\xb8\xb3\x97\x59\x9c\x24\x0c\x8a\xbe\x93\xf4\x6b\x4d\xdb\x90\x40\x45\x7f\xd4\x06\x14\xdb\xcb\xf7\x66\x84\x8e\xe7\x9d\x47\xe9\xf8\x75\x61\x33\x39\xa3\x64\xd8\xfe\xca\xb6\xf7\x34\x31\xfe\xd6\x0e\xa6\x5e\xbc\xba\x54\x67\xf5\xfe\x67\x3f\x20\x40\x49\xcf\x40\x41\xe2\x5f\x5d\x28\xc6\xbc\x38\x9a\xd2\xe7\x22\x8d\xd8\x71\x1a\x6d\xf1\xe9\x99\x7e\xfb\x85\x1a\xc1\x1f\x90\x5b\x4a\x46\xf1\x70\xcd\xbe\x52\x22\x87\xf6\xe5\x6d\x04\x93\x00\x03\x4f\x13\x01\x3b\x4d\x03\xbc\x0a\xc8\xc5\xbb\x93\x2c\x3f\x75\x3c\xb8\xf6\x9a\x52\x05\x8a\x5c\xbc\x0b\x76\x59\xd0\x40\xa6\xd1\x5d\xbb\x15\x69\x64\x3b\x2d\x83\xa9\xee\x12\xa6\xad\x51\x04\x4b\x59\x31\xd6\x8b\xbd\xab\x66\x05\x36\x2e\x3a\x98\xa4\xd1\x7e\x7f\x9c\x46\xa5\x4e\xe1\xdb\xd2\x43\xf8\xd2\x0f\x0d\xbe\x9d\xf2\x34\x52\x5e\x96\x06\xd0\x1d\x66\xe8\x5f\xff\xe1\xec\x6d\xa9\xc0\xa4\xcd\xc1\xf0\xc5\xfb\xa8\xe7\x7f\x2e\x00\xe6\x6a\xba\xc0\x36\xee\xb3\xe5\xa9\x1c\xe0\xb2\xe9\x9e\x05\x28\x34\x9a\x29\xa0\xc8\x03\x2f\xd7\xc3\x88\xc8\xee\x30\xaf\xef\xb9\x2b\x2b\xb6\xfb\xed\x37\x42\x5c\x2e\x4d\x49\x0d\xf4\x51\xa8\xef\x5e\xaa\xdd\x46\x75\x0f\xc1\xb5\x38\x50\x4f\xd6\xab\x2f\xcb\xb4\x36\xba\x95\xb5\x10\x35\xbc\xa1\x84\xb7\x66\xdb\x11\x7c\xe0\xe5\x46\xaa\x92\xf8\x43\xca\xf3\xef\x07\x1b\xff\xab\x1a\xdd\xef\x86\x74\xe2\xbc\x96\xec\xd6\x73\x53\x39\x60\xad\xce\x92\x3d\xf7\x47\xcf\x17\xc7\x28\xd2\xe8\x77\xcd\xd5\x42\x29\xcc\x33\x98\x40\x79\x96\x14\x08\x8d\x4e\x30\xe0\x52\x8e\xec\x1b\x74\xc1\xb5\xbf\xd7\x98\xcc\x58\xad\x5d\x33\x4e\x72\x53\x9e\x8f\x15\x1b\x66\xe2\x6f\x33\x91\xe6\xc9\x82\x45\xd2\x84\x5d\x25\x62\x98\x03\x1c\xc6\xd8\x01\xab\x5d\xfc\x7c\x79\xa9\x2e\x2f\x2f\x2e\x2f\xaf\xea\x8d\x5f\xbf\x7c\xff\xc3\xce\x65\xed\xf2\xf2\xe7\x7b\xff\xf1\x6f\xff\xe7\xdf\xbf\xfd\xae\xf9\xbc\xfb\xff\x5d\xd5\x0c\x92\xc1\x89\x83\xbe\xdd\xe4\xd3\xbf\xb7\xbd\x8f\xe3\x54\xc5\x91\xc0\xaf\x97\x7f\x7c\xf5\x5d\x8d\x26\x0b\x41\xdf\x38\x49\xf2\xb8\x00\xc7\x90\x92\x1a\xd9\xdf\x4e\xa0\x7a\xb6\x72\x36\x16\xe2\x4b\xc5\x87\xe9\xb9\x3c\xa3\xcd\x1d\x24\x64\xd0\xbb\x96\x00\x81\x21\xde\x5b\x03\x07\x40\x0c\xf3\x33\x31\x9a\x25\x3c\x3b\xbe\x9d\x66\x42\x29\x57\x15\xe5\x4c\x8c\x8e\x6f\xa7\x75\x87\xd1\xfb\xc1\x2c\xef\xb3\x9d\xff\xb3\x63\x01\x21\xaf\x12\x11\x1e\xb8\x07\xe1\xc8\xda\x68\x2a\xa9\x57\xf6\xe6\x68\x24\x04\xa1\xa9\x44\xf3\xa1\xf0\xf1\x0f\xe1\xee\xaf\x20\x23\xc0\x2c\x44\x1a\x79\xbe\x39\x6d\x0f\x61\xaf\x32\x39\x59\x8f\xb0\xa0\x9b\x8d\xb7\x42\xd1\xef\x8b\xc0\x35\x1a\x01\x91\xad\xc1\xf8\xce\xcf\x3b\x25\x5c\x3b\xe2\xb4\xa0\xb0\x08\xdf\x41\x38\x27\xe2\xd2\xd5\xdd\x38\xd6\x0a\xdf\x56\x72\x1a\xc2\xf6\x31\x80\x0e\xd9\xd3\xfd\xd2\xf4\x00\xcc\xc5\xde\x55\x69\x0d\xe1\xf3\xe2\x0a\xea\x87\xdf\x07\x64\x58\x5c\x3d\x13\x22\x8e\xe2\x10\x09\x0d\xfe\xfa\x37\x7d\x60\x46\x26\xd2\x9d\xbb\x63\x8d\x47\x11\x7c\x5e\x37\x2f\x37\xaa\xb4\x28\x93\x44\x8b\xa3\xff\x1b\xab\x2d\xfa\x75\x4e\x0b\x95\x15\xbd\x0a\x8a\x87\xac\x76\x13\x8b\xb9\x46\x42\x8d\x41\x15\x45\x39\x64\xc3\xf8\x56\x44\xad\x31\xd6\x84\x81\xcc\x96\xc0\x91\xcd\x6d\x18\x62\x94\x5c\xea\xaa\x14\x7c\x48\x07\x72\xba\x68\xe5\xb2\x35\x48\xe2\x29\x94\xbf\x37\xc2\x51\xed\xa3\x85\x6f\x4a\x07\x40\xbc\xa0\x89\x53\xe5\x39\x56\xac\xd3\xb3\x34\xa1\x98\xb6\x64\x5d\x6c\xf3\x2e\x61\x96\x4e\x5b\x9c\xed\x14\x53\x6c\x65\x50\xa4\xac\xb3\xb7\xd7\xdc\xdb\xdb\x83\xcf\x30\x6d\x89\x6e\xe5\x15\xa1\x8b\xa9\x2a\xde\xfe\x23\x57\xcc\x90\x27\x09\x05\xa4\x98\x57\x91\x9c\x18\x5f\xe5\x4c\x50\x48\x5b\x84\xa5\xdd\x7c\x60\x10\x09\xcd\xd5\x35\xa3\xea\x79\x67\xde\x68\x5c\x28\x9c\xde\xd8\xc1\x74\x64\xca\x22\x31\x81\x4c\x4f\x94\x56\x49\xf7\x82\x34\x28\xf4\x3a\x53\x26\x4d\x1f\x0f\x3c\x13\x3c\xc8\x1f\x6a\xd6\x0a\xeb\x36\xaa\x78\xa4\xc9\xc9\x24\x4f\xc2\x35\xa1\x7c\x96\x85\xd5\x60\x2a\xd7\xc3\x9e\xcb\xec\x5a\x35\x35\x38\x71\x23\x52\x74\x49\xe2\x49\xa2\x0f\x5a\x2f\x22\xd3\x5b\x5d\x2c\xf4\x80\x43\x94\xc3\x61\x21\xb3\xfb\x7b\x99\x0b\x17\x2a\xfd\xe7\x4e\x87\x4d\xa4\xa6\x4c\xd7\xad\xcd\x2d\xa3\x7b\x76\x8e\xc2\xc5\x8e\xbf\xf1\x8a\xeb\xf9\x7d\x7b\x5d\x32\xf6\x3a\x77\xce\xaa\x51\x3c\x1c\xc6\x83\x59\x02\xe7\xe8\x30\xbe\x45\xc2\xd2\x64\x4a\x05\xdf\xa8\xc8\xa6\x46\x11\x38\xe6\xa7\x39\xdc\x36\x21\x7c\x5e\x5f\x50\x79\x3e\x96\x89\x1c\x91\xcb\x3e\x54\x40\xf4\xba\xd6\x14\xaa\xfc\x44\x56\xfe\x22\x93\xf7\x96\x33\xa3\xaa\xea\x22\x85\x39\x1f\xb1\x94\x4f\x84\x29\x52\xe8\x4a\x38\x63\x29\x4c\x65\x82\xfc\x60\xd3\xff\x6d\x16\x0f\xae\x93\x05\xe3\x4a\x8f\x99\xbc\x31\xb3\x4c\xaf\x28\xd5\x59\x64\xb8\x23\x3d\x3a\x71\x7b\x73\xa0\x4a\xb7\x11\x6f\xc8\x5f\x82\x2d\x73\x68\xd3\xd1\x0d\xf8\x14\x42\x47\xe5\x90\x72\xd6\xd9\x5a\xa4\xdc\x7a\x88\x66\x9c\x42\xfe\x30\xf9\x35\xee\x90\x82\xe7\xa6\xd9\x1a\xe1\x45\xd6\x74\x88\x97\x95\x65\x95\xf4\xe1\x92\xd0\x70\xe7\x80\xf7\x21\x65\x32\x34\x7f\x1a\x81\xb1\xf7\xe9\xf0\xc7\xd0\xb5\x14\x0b\x8c\xcd\xd2\x3c\x4e\x6c\xba\x1e\x8c\xfb\xc7\x5c\x61\xe4\x7f\x62\x9a\x53\x69\xaf\x42\x11\xaf\xce\x5e\x93\x75\x5c\x0d\xb8\x97\x27\xef\x50\xcf\x01\xd9\x84\x35\xcf\x73\xdd\x11\x70\x70\xb6\xb1\xe3\x9e\x25\x38\x62\x5b\x7e\x8d\x8e\x35\x77\x8f\xf3\x3a\x74\xb5\x1a\xed\x45\xcf\x43\x04\x04\xf8\x4f\xf8\x94\x92\x15\x63\x01\xcb\x83\x1f\x6c\x0a\x9a\xa0\xd4\xa9\xb1\xd2\x47\x19\x9f\x43\x12\x36\xb3\x93\x4d\x38\x1d\xe5\x9f\xc8\x84\x6e\xf1\xb9\xde\x00\xcf\xfd\x36\x63\xef\xc9\xb4\x8e\x3e\x89\x50\xa8\xbb\xd8\x18\x9b\x7a\xe1\x0c\x14\x59\xa0\x47\x71\xc4\x07\xe3\x52\xbd\xb9\x2d\x87\x3d\xe7\x15\xe3\xb6\x31\x85\x36\x46\xaf\x30\x74\x33\x1e\xf3\xbe\x38\xa0\x5f\xbf\x98\xe1\x80\xcb\x4f\x34\x83\x18\x01\xe4\x63\xc0\xf8\x72\xf2\x89\xce\xf5\x26\x30\x7e\x99\x54\xbb\x70\xa1\xdb\x62\x61\xce\x98\x8a\x93\xc6\xbf\x08\xdb\x67\xc2\x55\x8e\x57\x76\x90\x85\x4a\x19\xe6\xdd\x7b\xac\xa9\x56\x2a\xc8\x97\xcd\x84\x49\x7c\x38\x53\x8e\x9b\xf4\x21\x05\x91\xc9\x78\x4d\xac\x1c\x33\x92\xa5\x14\x18\x82\xa9\xa6\xdb\xdf\x38\x2f\x7e\x4c\x27\xad\xb7\xb0\x73\x2f\x65\x63\xa9\x72\x06\x97\x24\x95\x2b\x62\xc8\x51\xc6\x47\x66\xe6\xe6\xb8\x30\xa5\xc6\x11\x9e\x16\x9d\x67\x53\xaa\xda\x0e\x41\x3b\x9a\x26\x21\xfb\xbd\x13\xb2\x4a\x44\x7d\x9c\x42\xe7\x9f\x6d\xc6\x1c\x17\x57\x6a\x0b\x62\xa0\xf3\x25\x72\x4b\xc7\x23\xf5\x1b\xca\x93\x99\x35\x59\x26\x5a\x53\x39\x9d\x25\x50\x39\x1e\xd7\x0b\x21\x41\x6a\x4b\x58\x38\x44\x27\xc4\x85\x38\x4c\x43\xf1\x46\x2a\x79\x16\x14\xa7\xa4\xc5\x9e\x8f\x85\x48\xd8\x34\xbe\x15\x09\x8b\x44\x92\x73\x36\x99\x25\x79\x3c\x4d\x62\x3c\xac\xe3\x54\x1f\xd7\x4a\xec\x46\x42\xe1\x2f\x04\x91\x3b\x10\x6a\x2a\xe0\xec\x23\x4c\x22\x44\x44\x65\x9b\xf5\x84\xd0\x62\x65\x3e\xed\xee\xee\x8e\xa4\x6c\x8f\x92\x5d\xf5\x67\x91\xa4\x7f\xb3\x98\x02\x20\x9f\xf4\x47\xef\x6c\xcf\x7a\xb4\x1d\x1c\xad\xa9\x00\xea\x93\x05\x60\x8e\x7a\x07\x42\x8c\xbc\xf1\xc0\xe9\xaf\x29\x64\x0c\x7b\xc8\x24\x0c\x43\xd3\x85\x5f\x11\x34\x56\x3d\x3a\xb8\x51\xa8\x2f\xae\xcf\x40\x29\xa8\xc1\x6b\x89\x01\x4a\xd1\x4a\x2c\x8a\x2c\x13\x24\x25\x61\x22\x1c\xb8\xe9\x01\x60\xdf\x66\x72\x7e\xa4\xd4\xd9\x2c\x29\x30\x00\x33\x9d\x43\x36\x9a\x09\x55\x8a\xa9\x30\x85\x73\x33\x53\x84\x19\x24\x4d\x4d\xe1\xb8\xcb\x70\x75\xbd\x49\xd0\x87\x3d\xf3\x1d\xec\xb9\xd3\x5b\x8d\xbf\xc7\x61\x8f\x9f\xc6\x82\xf2\x86\x0a\x36\xc8\xb3\xa4\x75\xc3\xae\xc5\xa2\x50\xed\x9a\xf6\xda\x94\x2b\x4a\x03\xe5\xf5\x94\x67\xc9\xc7\x53\xfd\x22\xc8\x86\x8c\xd1\x28\xf1\x4d\x69\x9f\x9b\x82\xa4\xc5\xfd\x7d\xa4\x51\x3e\x30\xba\x63\x0e\x16\x16\x5b\xfe\x7f\xcc\xd3\x28\xf1\xcb\xa0\xe2\x73\xe5\x31\x2d\x78\xee\xaa\xeb\x17\x5e\xbc\x3c\x7e\xf1\xe1\xc7\xcf\x6e\x84\x5f\xac\x20\x7f\x9a\xc9\xdb\x85\x8b\xd6\xc6\xd4\x30\xa5\xfc\xb3\xf3\x71\x3c\x18\x23\xa3\x53\x39\x68\x37\xc7\x68\x68\x9a\xf3\xe4\x1a\x62\xbb\x50\xa6\xd5\x87\x1f\x08\x56\x26\x05\xa2\x33\x24\x19\x19\x00\x53\xaa\x48\x08\xe7\x33\x80\x07\x72\x22\xc8\x39\xb3\x28\x8d\x14\xcf\xbd\x2f\x44\x0c\x20\x37\x68\x7a\x44\xdb\x7c\xb9\x80\xb4\x5f\xaa\xb8\x2c\x72\xb4\xab\xf5\xa4\xf6\xbd\x97\x48\xde\x3d\x84\x50\x3c\xfb\x57\x61\x23\x12\x6f\x2a\xd6\x65\xcd\xab\xc4\x63\xa4\x21\xf3\x61\xac\x20\x27\x54\x5f\xf8\x19\xf5\x32\xa8\x33\xbf\xb0\x95\x69\x50\x8e\xa5\x76\xa1\xbc\xcb\xd3\xc1\x58\x66\x08\x8d\xd6\x71\x28\x07\x33\xba\xd2\xc4\xfa\xa6\x69\x0e\x55\x7d\x9b\x9c\xf1\x8c\xa7\x39\xc5\x9a\xf6\x05\x4b\x84\x52\xad\x7c\xcc\xd3\x96\xcc\x5a\xe2\x6f\x33\x9e\xb4\x72\x89\xd0\xf0\x96\x35\x34\xd1\xca\x67\x86\x59\xe0\xdb\xd7\x43\xbc\x02\xc9\x94\xea\x5e\x2b\x57\x47\x07\x2e\x48\x8a\x14\xba\x14\xf6\x70\x06\x25\x91\x5f\x07\x82\x03\x42\xf2\xe8\x2d\x2b\x0b\xf3\x26\x5d\x6f\x05\x54\xbd\x83\x0a\x1b\xd2\xbd\xae\xe0\x2f\x4b\x56\xc9\x4f\xed\xf4\x4f\xb9\x46\x23\xb8\x1c\x66\x1b\x2c\x93\x99\xfe\x3f\xff\x42\x61\x47\xd5\xcb\x44\xa7\x9a\x85\x70\xef\x20\xa0\x3f\xef\xb0\x82\xd3\x11\x8c\x82\xab\x00\x95\x86\x0a\xb1\x8a\x9c\x4d\x65\xac\x65\x0c\x2f\x75\x34\x95\xfb\x28\xf5\x73\x64\xe7\x56\x51\xfd\x07\x33\x3d\x73\x96\xc4\x0a\x16\xc2\xdc\x01\x4c\xfd\x73\x2f\x63\xb1\x2b\x71\xe5\x6e\x0a\x7a\xfd\x34\x98\xd8\x38\xa8\xf3\xc1\x00\x6a\x51\x8f\xb0\xe4\x44\x24\xa6\xf9\xb8\x85\xaf\x50\x37\x6a\xb8\xa4\x31\xae\x3a\x6f\xd7\xd4\x45\x5c\x8f\xe3\x24\xca\x04\x54\xae\x71\x2e\xb0\xab\x58\xa1\x67\x4c\xd2\x1c\xfc\x95\xcd\xcc\xef\xf3\x48\xb4\x06\x03\xd3\x6d\x62\x1f\x87\xd9\xa2\x14\x58\x87\x0d\x8a\xc9\xfd\x97\xf8\xcf\x1a\x28\x6d\xa8\x8b\x75\x32\xa4\x06\xf7\x9c\xe6\xbf\xe0\x19\x1b\x7a\xde\x96\xfc\x02\x1a\x41\x0c\x04\x84\xc3\xc1\x2a\x86\x93\x22\x2b\xb9\x9d\xc2\x73\xcf\x82\x9f\xdd\x34\x8a\x46\xf2\xec\x26\x88\x01\x4a\x57\xe5\x76\x5f\x61\x0e\xef\x2d\xd2\xc1\x38\x93\xa9\xbe\x4a\x82\xee\xc1\x9c\xb0\x20\x40\x7b\x32\x8f\xa6\x0e\x9f\x19\x05\xc5\x60\xb8\xde\xcb\xad\x39\x5f\x80\xa0\x8b\xf0\x20\x75\x54\xd3\x52\x56\x61\x67\xba\xcc\xdb\x18\xc4\x89\xdd\x36\x41\xc7\x02\x69\xef\x60\x0b\x68\x88\x3c\xdb\x92\x56\xf4\x10\xaa\xd3\x12\x2b\x91\x0c\x09\xf9\xbe\x08\x19\xc9\x49\x59\xc4\x18\x73\xb8\x48\xea\x11\x40\x81\x1d\x90\xc2\xb5\x70\x80\x1b\x49\x8b\x08\xb4\x3b\xe2\xd4\x09\xdb\x46\x9c\x32\x79\xd7\x4c\x36\x81\x61\x3c\xb2\xd9\x90\xe4\x2c\xc7\xcb\x8f\x77\x03\xb2\x79\x0b\x83\xb2\x3f\xfa\x6a\x83\x97\x3b\xab\x9c\xda\x41\xce\xbd\x63\x33\xce\x18\x29\xc5\x81\xc0\x16\x40\x58\xf5\x86\xcb\x91\x3f\xf4\x8f\x22\x6c\x73\x26\xe7\xcf\x0b\xaf\xc9\xdf\xcf\x53\x48\x43\x4b\x17\x26\xe3\x9a\x5a\x03\x7a\xb1\xb1\x9f\x39\x0a\x9a\x5b\xd6\x0a\x67\x4c\xd8\x2b\xd9\xaf\x03\x30\xd0\xac\xd0\xa5\xf0\x2c\xf6\x85\x96\xae\x3f\x97\x10\x68\x2b\x9c\x02\x94\x55\x28\x85\x06\xab\x31\x5a\x31\xb5\x6a\x84\x56\x4d\x6e\x19\x3e\x0b\xd3\x2b\xa2\xb3\x6a\x15\xab\xf0\x59\xb9\x86\xd5\x08\x2d\xae\xa0\x2d\x4e\xe2\x2b\x80\x8a\x72\x68\x7b\x24\x72\x13\xb5\x55\x6f\x40\xd5\x79\xab\x0d\xf2\x54\x62\x25\x51\xa8\xfa\xe4\x5d\x71\x96\x56\x1e\x7f\xce\x75\x80\xfd\xf6\x9b\x37\x15\xaf\x55\x98\xcb\xd9\x7b\x51\x69\xa1\xb7\x68\x5d\x81\x44\xe7\xe9\x4e\x4d\xbf\xfd\x96\xdd\xab\xd7\x8c\xd4\x04\x46\x02\xfb\xd2\xba\x34\xfa\x90\xed\xef\x52\xdc\x85\xe7\x7f\x4f\xdf\x57\x57\xd1\xe9\x15\xc4\x39\x94\x8c\x72\xa3\xc5\x85\xd4\x2b\xe6\x9a\x03\xd5\x75\x2a\xec\x80\x55\xf3\xb3\xbe\x62\xd5\xe9\x56\xd0\x7a\x87\xd4\xbe\x9c\xb2\x09\x41\xb6\x61\x05\x7e\xcc\x3b\x8b\x1e\x0f\xaa\xf9\xb9\x14\x39\xf6\xe3\x75\xb8\x81\x86\xbf\x0f\x35\x76\x62\x6b\x30\x03\xa5\x02\xec\xb2\x5a\x09\xfa\x7b\x37\x1b\xf3\x2c\x24\x08\xe2\x2c\x40\x80\x5e\xb4\x66\x05\xa8\x1f\x96\x83\xf2\x79\x54\x11\x52\xc5\x54\x20\xa1\x46\xc5\xe2\xfb\x82\x50\x35\x5b\x60\xdf\x57\x73\x28\x27\xe6\x14\x66\xc5\xca\xbe\x7e\xe1\x60\xad\x1c\x53\x4c\x91\x7d\x1e\xc8\xc9\xc0\x3f\x50\x86\x15\xfa\xce\x1f\x87\xa9\x26\xe8\xee\xa2\xd2\x5a\xee\xf9\x2d\x72\x48\xec\x03\xd0\x60\xd5\xbd\x5a\x2a\x2e\x7d\x15\x70\x7c\x3f\x2e\xb5\x20\x9a\x59\xea\xb0\x4b\xd2\x64\x17\x55\xd8\x6b\x56\x51\xcd\x55\xc3\x13\x11\xef\xd9\xbe\x8c\x48\x87\x15\x65\x52\x31\x67\xc7\x48\xbb\x1f\x52\x71\x3b\xc5\xeb\x10\x50\x33\x08\x55\xa0\xfa\xb5\xb0\x6b\x3e\x48\x6f\xf4\xab\xd7\xf4\xae\x2b\xe3\xa7\x34\x09\xd9\x72\x05\x89\xde\x3b\x28\xd3\x28\x8a\x9c\x46\xe6\x3c\xd7\x92\x28\x67\x51\x7c\x63\x0a\x95\xc4\xaa\x6c\x50\xa8\x16\xf8\xfc\xc4\x1a\x90\x9f\x54\xf8\xa2\x5e\x14\xdf\x78\x9a\x12\xd2\x77\x45\xf1\x8d\x3b\x83\xe2\x61\xc6\x27\x82\x1e\x57\xc6\x1b\x53\x25\xde\x7a\x0d\x9b\x7a\x05\x49\xe9\x5b\xca\x77\x3a\x50\x8a\xbc\x5c\x0c\x79\xd4\xfa\x90\x9d\xa8\xcb\xf6\x9e\x3b\x8e\x52\x43\xe5\x63\x97\x75\xf6\xf6\xfe\xdd\x7f\x6e\x7c\x33\xbb\x8c\xf7\x95\x4c\x66\xb9\xf0\xdf\x82\x62\x11\x3f\x72\xd9\xba\x4d\x61\x26\x1c\x08\x53\xd9\x40\xcb\x96\xff\xa6\x09\xfb\xd5\xab\x36\xf3\x32\xca\x5b\x2d\x3a\xce\x41\xe1\xf7\x89\xe4\x11\xea\x7c\x35\xc5\x0b\x85\x1f\xb2\x38\xf7\xab\xf1\xe6\xae\x68\xac\xb9\xba\x61\x7f\x26\xf4\xbe\x36\x91\xbf\xbc\x4e\x53\x91\xa1\x7d\xe0\xcf\xc0\xcb\xe7\x71\x1a\x69\x66\xac\xbb\x21\xf9\x8a\x6b\xd8\x70\xd1\x47\x7b\x69\xbe\xf8\x86\xb1\x22\x2a\x33\x2d\xaa\xd7\xfe\x0d\x1d\x8b\xf4\x92\xf8\x61\xdc\x7e\xd3\x46\x69\x0d\xdb\x34\xca\x4f\xd0\x75\x9b\x47\xd1\xb1\x9e\xda\xdb\x58\xe5\x02\x92\x35\xa0\x32\xb6\xb6\xad\x27\x18\xaa\x2e\xd3\x33\xf8\xfa\x73\xbb\x1f\xa7\x38\x92\x86\xab\x5d\x13\xc9\x81\xe1\x14\xbe\x02\xb5\x6a\x74\x86\xba\x34\x15\x45\x72\xd0\xee\xcb\x68\xb1\x9c\x82\x26\x3c\x1b\xc5\x69\x97\xed\x4d\x6f\x03\x5a\x41\x33\x70\xe9\xf9\x32\xda\xf2\xa8\xc7\x7f\x6c\xfc\x94\xbb\x6c\x1c\x47\x91\x48\xfd\x77\xad\xb9\xe8\x5f\xc7\x79\x6b\xa6\x44\xd6\x42\x26\xd2\x85\xfb\x7b\xd0\x68\x22\x7f\xa9\x6a\xd1\xf0\xbc\x1b\x17\x89\xde\x92\x7a\xaa\x85\xfd\x04\xaf\x70\x3b\xb9\x2c\xc3\x5e\xee\x0b\xb0\x2e\xb3\x5f\xbf\xd4\x0c\xaa\xc6\x82\x47\x01\x3d\xc0\x67\x1e\x21\x14\xf4\xf7\xfa\x1b\x68\xd2\x1b\x0b\x91\xab\x8b\xbd\x2b\x8d\x62\xfd\x56\x41\x1d\xf0\x8a\xaf\x68\x25\x8c\x65\xfa\x80\xd5\xfa\x89\x1c\x5c\xd7\x5c\x1f\x7a\xb6\x47\x4a\xbd\x8d\xd3\xeb\xcf\xd5\xf3\x4a\xe2\xf4\xda\xe3\x12\xfe\x07\x85\x32\x9f\x99\x48\x6a\x4d\x86\x88\x50\x7a\x8c\x6e\x6b\x9f\x9f\xbc\x3c\xa9\xeb\xb5\x8f\x78\xa3\xcb\x7a\x32\xcb\x16\x98\x86\x87\xd5\x50\xe9\xff\xb9\x46\x47\x9b\x3d\xf2\xf2\x31\x14\x6f\x50\x41\x12\x32\x84\x06\x29\x55\xc8\xe1\xe0\xaf\xaa\xcd\xd8\x6b\x9b\xcd\x6f\x1a\x0f\xae\x19\x67\x7d\x01\x19\xf4\xc1\xae\x3f\x94\x99\xcb\x07\x2e\x26\xa0\xe4\xb9\x91\x71\xe4\xae\xb5\x03\x99\x24\xb1\x0a\x4c\x67\x38\xa8\x6a\x8c\xdc\xb6\xf0\xb5\x87\x15\x6a\x5f\x44\x88\x4c\x84\xc6\x88\xa6\x84\xbe\xbc\x5d\xdb\x3e\xe7\x7d\xd0\xc9\xe8\x6f\x5a\x9d\xaa\xe6\xcb\x36\x16\xad\x70\x97\xc1\xfa\xfa\x34\x3d\x94\x69\xde\x1a\xf2\x49\x9c\x2c\xba\x6c\x22\x53\x09\xb9\x5b\x4a\x2d\x34\x33\xe8\xb2\xce\xa3\xcd\x36\xa0\xd9\x69\xad\x45\x97\x54\xf4\xcf\x6d\x94\x40\xeb\xb6\x6a\xff\x41\x46\xc5\x16\xf4\xdd\x65\xd3\x6c\xd9\x61\x10\x74\x32\xcb\xf5\x31\x8c\x9b\x90\xdd\x8b\x27\x53\x99\xe5\x3c\x35\x54\x65\xb9\x4d\x89\xa5\x12\xb6\xfc\xab\x19\xe1\xaf\xcc\x44\x71\xf4\xb5\xa6\x61\x8b\x78\x16\x17\xd8\xe2\x5a\x28\x60\x74\x04\x9b\x63\x11\x12\xd8\x14\xb7\x04\x67\x10\xf0\xf2\xe4\xdd\x3b\x0d\xb8\x57\x39\xc6\xbb\x40\xae\x0d\xe4\x74\xe1\x00\x1d\xc9\xe9\x62\x5b\x08\x60\x95\x73\x20\xc0\x16\x57\x3e\x45\xdc\xe2\x94\x00\x5c\x8b\x45\x24\xe7\xa9\x03\xf1\x42\x46\x8b\x37\x62\xf1\x52\xce\xd3\x32\x20\xcf\x86\x0e\x59\x2e\x79\x9c\x7a\x09\x29\x8d\x21\x0d\x0d\x94\x19\x95\x44\x32\x0e\x2a\xa0\xa4\x5c\xb2\x87\xa3\xf8\xc6\xdb\x5f\xb6\xf1\x5d\x76\x98\x93\x74\x60\x18\xbf\xeb\x44\x82\x82\xed\x2b\x4f\x24\x6c\x51\xb1\x52\xc5\x5d\x60\xe7\xe4\x10\x69\xb3\x7c\x9a\xb4\xef\x72\x38\x24\x9b\x2b\xf8\x30\x90\x0b\x06\xb2\xc4\xe9\x02\x65\x29\x67\x06\x95\x53\xbc\x76\xbe\xe0\xa3\xe5\x9c\x11\x5a\xb4\xfa\x7c\xe4\x8d\x31\xf8\xf2\x2e\x28\x5e\x85\xc7\x32\x67\xf1\x36\x7e\x5f\xe6\xb9\x9c\x04\xc3\xae\x18\x91\x2b\xe2\xe7\x55\x61\x01\x7b\x42\xdf\xe4\x57\xcc\xe5\x94\x0d\x35\xca\x38\xe4\xf9\x4f\xc8\xac\x8f\xf0\xe9\x4d\x26\x68\x78\xe8\x8d\x08\xae\x83\xdf\x50\x39\x8a\x64\x81\x4a\x3a\x83\x79\x70\xdf\x02\x15\x1d\x0f\xeb\x2c\x78\x17\x42\x7d\xdf\x03\x1f\x47\xd4\x51\x27\x0b\x72\xb6\xf0\x3d\xfd\xcc\xd8\x64\x66\xc6\x42\x60\xac\x57\xa3\xb1\xaf\x98\x79\xbf\x92\x49\xb4\x74\xf9\xf4\x44\xc2\x85\x83\xe6\xa5\x35\x2b\xad\x55\xc5\x56\x2a\x51\xa4\x81\x56\x5a\x1f\x33\xa4\xb0\xcf\x60\x55\xd6\x43\xf7\x40\x85\xac\x03\xd7\x04\xee\x63\x7c\x00\x6e\x2e\xca\x32\x0e\x28\x3b\x3f\xe0\x09\xa6\x4a\x23\x27\x0b\x57\xc7\x24\x55\xb3\x09\x38\xc3\x20\x38\x9e\x24\xce\xa1\x8f\xae\xe7\xfd\xd9\x70\x28\x32\xb2\x7a\x2d\x30\x97\x1c\xe1\x1e\x0c\x94\x35\x05\x75\x7c\xd0\x45\x44\x39\xaf\x29\xe7\x64\xa1\xe5\x91\xe9\x54\xf0\xcc\xb8\x41\x38\x01\x03\x2b\xa2\xc4\x98\xe7\xb3\xaa\xdc\x97\xbe\x08\x15\x7d\x61\x34\xcc\x58\x61\xed\x1f\x5f\x13\x8f\xe9\x61\x95\xc8\x59\x0d\x06\x18\x27\x71\xbe\x30\x3b\xaa\xa6\x87\x71\x2d\x04\xe6\x95\xed\xeb\x19\x6a\xfe\x0a\xd5\x78\x20\xd7\x9d\x97\x2a\x19\xc1\xc5\xd6\xe7\xc9\x51\x2c\x3a\x8c\xa2\xc7\x54\x0d\xbc\x99\xf0\x9d\xaa\xb1\xd9\x74\xce\xb3\x48\xb1\x3a\x3c\x06\x5e\x2e\xd1\x97\x85\xf0\xe1\xdc\x62\xc9\xa9\x86\xfb\xc2\x60\x3c\x11\x8d\x36\x63\x9f\xd0\x75\x14\x88\xa1\x59\xe8\x7c\x24\x72\xba\x08\x52\xe1\xed\xf9\x98\x0f\xae\xdb\xa1\x63\xc1\x61\x26\xf8\x46\x47\x82\xd7\xbc\x4c\xfd\x15\xf8\x5b\xcf\x90\x3d\x88\x21\x81\xaa\x9b\x91\x8d\x08\x36\xca\xfc\x0a\xc7\x37\xb3\x28\xb1\x62\xbf\x48\x39\xb1\x06\xf0\x99\xca\xa1\x00\x2b\xf8\xe2\x61\xa5\x07\x53\x51\x6d\xa6\x45\x67\xa9\x72\x6b\xb8\x41\x0f\x49\xe3\xae\xc3\xb1\x1e\x49\xdf\xfa\xb0\xb6\xab\xa4\x75\x34\xc7\x3b\x3f\x70\x90\xc7\x59\x2a\x94\x51\x35\xa6\xe6\xc6\x0e\x3e\xd7\xa9\xcc\x0d\x38\xc3\xb1\x68\x26\x66\x02\x7a\xf4\x2c\x11\x37\x22\xc1\x0c\x88\xe4\xef\x03\x36\x27\xe3\xdc\x66\x45\x78\xd0\x1d\x04\xa2\xf9\x8d\x63\xe3\x51\x7c\x53\x9d\x55\x8d\x16\xf5\x7d\xcf\x1e\x2e\xe4\xfe\x35\x9f\xcf\xdb\xf3\x07\x6d\x99\x8d\x76\xf7\xf7\xf6\xf6\x76\xd5\xcd\x08\xee\x2c\x37\xfe\x79\xa5\xbb\x28\x88\xe6\xb7\x93\x24\x55\xe8\xa0\xbf\x14\xce\x4a\x00\x37\x22\xd3\x37\x0c\x0d\xa2\xd3\xee\x94\xda\x2e\x3b\x13\x57\xab\x51\x72\x39\x2d\xa8\x63\x12\x31\xcc\x0b\x8f\x2a\x88\x55\xd3\x9f\xad\x90\xa6\x44\x1a\x91\x1a\xd9\x68\xab\x0c\x35\xfe\x15\x69\x0b\x0a\x90\x71\x74\xc8\x62\x63\x20\x6c\xe5\x95\x5e\x42\x48\x03\x3e\xcd\x67\x54\x88\x17\x5a\x46\x2e\x63\xf5\x10\x53\xfb\x6a\x9e\x41\x01\x9a\x72\x22\xb4\x54\x3f\x1f\xcb\xff\x9f\xbd\xbf\xef\x72\xe3\xb6\xf2\xc4\xf1\xff\xf5\x2a\x60\xef\x8e\x48\x5a\x24\xbb\xe5\xd9\xec\x26\x6a\x77\xe6\x48\x2d\x69\xa3\x5f\x24\xcb\x47\xdd\xb6\x33\xe3\x78\x35\x60\x15\xc8\xae\x74\xb1\x50\x53\x28\x36\x9b\x1e\x6b\x5f\xfb\xef\xe0\x5e\x3c\x5c\xa0\x50\xc5\x6a\x59\x4e\x32\xd9\xaf\xcf\x9c\x89\x9a\x05\x5c\x3c\x5d\x00\x17\xf7\xe1\x73\x21\xcb\xb6\x97\xdb\xa0\xea\x15\x6f\x36\x88\x4f\x97\xd8\xa7\x9a\x2a\x6f\x04\x27\x73\x48\x2b\x8d\x7d\x53\x85\x75\x92\xf3\x3f\x34\xfb\xfe\x6d\x44\x9e\x4c\xee\x29\x43\x7f\x33\x4b\x52\xdf\x9d\x39\x4d\xfc\x04\x2f\xab\x50\xe1\x31\x91\x35\xcf\x60\x95\x4e\xfb\xba\x69\x94\x2e\x2f\xf2\xa2\x05\x8f\x70\xe2\x2f\x38\x7c\xf6\x50\x2a\x3d\xb4\x7b\x9f\x21\x7a\xbe\x5f\x55\xf5\xae\xb5\x22\x3b\xfa\xc7\x7d\xe3\x2b\x5f\xd9\x12\x5d\xf9\x1d\x6f\x6d\xe3\x36\x18\x9a\xe6\x8d\xf3\x2c\xf8\xe6\xb8\x37\xaa\x61\x17\xfd\x22\xdd\x4a\x89\x3a\x00\xbc\xac\x5d\x8c\x43\x6d\xd4\xa7\xd4\x6f\xcd\x22\xc7\xe9\x9a\x2f\x91\xd0\x77\xbc\xdc\x39\xef\x8c\x8b\xcb\xcb\xe0\x29\x0c\xd7\x9d\xbe\x7e\x2c\x6d\xeb\x47\x4f\x9a\x60\xec\xd2\x3b\xfd\xfa\xa7\x33\xb4\xb1\x4c\x35\x2e\xeb\xf6\xbd\xef\xf5\x5b\xc8\x9e\xce\x4b\x76\x0b\x1d\xd1\x0d\x39\x99\x3f\x1c\x20\x86\x1c\xe8\xff\x9e\x8b\x35\xdf\x95\xe8\xf7\xec\x00\x42\x4d\x66\x41\x83\xae\xe6\x20\x13\x8f\x6a\x90\x95\x68\x5f\xfa\xe9\x20\x6a\x64\x3f\x49\xf3\xb0\xcf\xa1\x1b\x1e\xd1\x38\xac\x03\x3a\xee\x0f\x1b\x58\x96\x20\x92\x24\x83\xa3\xd7\x9d\xba\x74\xd3\x74\x1e\x76\xe1\x2c\x36\x93\x8c\x26\x83\xe0\xb2\x5e\x93\xaf\x0e\x55\x76\x41\x63\x09\x2c\xff\x0d\x4c\xd9\xa6\x6f\xca\x70\x50\x14\x0f\xa2\x6f\x82\x22\x1e\x6f\x19\xb7\x81\x26\x5e\x2f\x46\xd3\x4e\x78\x79\x2e\x62\x6d\xca\x0b\xd5\xae\x2c\xe7\x70\x07\x23\x48\x88\x25\x99\x29\x78\x19\x97\x92\xe7\x20\x0e\xe8\xf6\x8a\x16\xf2\xeb\xd9\x6a\x4c\x36\x10\x8a\x72\x2d\x42\x76\x02\xd8\x12\xcc\xa9\xeb\x3c\xf8\xf5\xf6\xab\xeb\xb2\x10\x39\x69\x60\x0c\x9f\x7d\x8b\x4a\x41\x3a\x63\xbb\xa6\xf4\xe1\xef\xee\x8f\xe3\x4a\xc4\xeb\x46\xac\x27\x73\xa6\x6b\x50\xb3\x52\xb7\x9a\xb7\x9c\x7a\x4b\x13\x55\x58\x77\xf5\xab\x1d\x1a\x34\x6f\xad\x33\x9f\xf7\x35\x42\xfb\x1f\x35\x42\x31\x52\x7b\x1a\x39\xc6\x79\x78\xff\x76\x38\x2e\x50\xb9\x43\x99\x69\xf7\xe9\xef\x7e\x1f\xc3\xdd\x8d\x20\x59\xec\xee\xc3\xe2\x90\xa2\xf1\x68\x1b\x6a\xb0\x0d\xa0\xd1\x7b\xca\x64\xa6\xf8\xb8\x96\x36\xa2\x7d\x16\xe6\xe4\xbb\xcf\x68\xa2\x74\x7e\x63\xc6\x35\xd0\xda\xf0\xb8\x56\x9d\x8a\xa3\xe7\xd2\xb7\xf9\x6a\xcb\x37\x81\x31\xb0\xd0\x3f\x8c\x68\xd3\x56\x84\xf2\xf7\x6b\xd3\x44\x60\x79\x87\xed\xe2\xa7\x31\x2d\x9a\x6a\xba\xf4\xfd\xda\x23\x30\x0a\xae\xcd\x10\xac\x68\xb0\x5d\x52\xdd\xd6\x1a\xd3\xfe\x45\x10\x53\xe0\x96\xd4\xfd\x4a\x5a\x0e\xc2\x0f\xfc\x1f\x31\x80\xae\x09\x1b\x02\x11\x0d\x62\xde\xac\x6a\xc7\xc7\x86\x84\x11\x9a\x57\x2e\x35\xb1\x7b\x42\xd9\xfb\x21\x7c\xd7\x43\xa1\xa3\x27\xf2\x46\x98\xe0\xa6\x78\x01\x89\xaf\x20\x7e\x41\x22\x1b\xd1\x5e\x94\x85\x7e\x12\xea\x6b\x32\xd2\xa1\xbb\x5d\x84\xe7\x9f\x15\x7b\x21\xdc\x0a\xff\x40\x0b\xa4\x11\x7d\xe1\x77\x9b\x3e\x7e\x28\x3a\x44\x9f\x8a\x43\x13\x17\xa6\x6a\xee\x9f\x39\x9b\x0d\xaf\xc8\x37\x80\x98\xe8\x73\x62\x7c\xf4\xb4\x59\xb8\xaa\x81\xd3\x24\x98\xe2\xe9\xcc\x8c\x78\x68\x3c\x3e\x4a\xa7\x77\x40\xe3\x7a\x87\x21\x56\xf7\xeb\x1e\x36\x9e\x40\x8a\x0a\xdc\x3a\xcd\xfb\x5e\x96\xb9\xea\x06\x7a\xdb\x70\xf9\x7b\x7b\x32\x10\xef\xb9\xe1\x4e\xbb\x5b\xb5\x17\xd1\xca\x2a\xc6\xdc\x03\x35\xea\xf0\x2f\xee\x28\x4e\x9a\x71\x95\x39\x7e\x99\x04\x1d\xbd\x28\x41\x87\xb7\x6b\x21\x95\x18\xe4\xcc\xce\x6d\x50\xe5\x71\x29\xaa\x11\xfa\x28\x82\x44\xdb\x69\x29\x60\x30\xac\x73\x44\xa8\x25\xed\xe9\x35\x22\x60\x11\xff\x67\x12\xc0\x1b\x6c\x2d\x38\x8f\xc0\x7d\xc2\xc5\x03\x62\x36\x70\x88\x5f\x87\xf8\x4b\x6e\x02\x3f\xe3\x37\xd9\x5b\xf0\x34\xbe\x57\x50\xb3\x5d\x43\xfb\x1e\xb2\x50\x04\xf7\x5e\x4a\x25\x5a\x1a\x0b\x3e\x14\xf1\x6c\x5f\xa8\x66\xf6\x43\x65\x73\x6f\x8c\xb3\xbb\x8a\xae\x45\xbe\x2b\xc5\x3b\x98\x81\xe8\x85\xfb\xaa\x5a\xcb\x66\x1b\xa3\x1c\x38\xbf\xdc\x46\xca\x96\xc4\x2e\x00\x5e\x83\xdc\x42\xd2\x23\x88\xb9\x0f\xf4\xf8\x9a\x9e\xc3\x5b\xa8\x24\x2b\x65\xb5\x11\x8d\x7e\x5b\x16\x0e\xc3\xe1\x92\xa4\xb7\x33\xd6\x75\x92\x94\x9b\x23\x80\xc1\xba\x3b\x36\x00\x9b\x42\x8e\x99\xce\x58\x25\xf7\xd0\x98\xd9\x76\xfa\x19\x5a\xb5\x45\x23\xca\x03\x84\xf3\x0b\x9f\xd2\x18\x22\x38\x8a\x96\xe5\x45\x6e\x94\x44\xa8\x91\xb4\x68\x02\x9a\x4c\xe5\xa3\x6a\x68\x0f\x02\x1f\x1c\xef\xab\xe8\xb2\xc2\x23\xd4\x04\xb2\x04\x46\x6b\x64\xc0\xb3\x79\xc0\x9c\xea\xa6\xa8\x95\x99\x34\xa4\xea\xc0\x03\x80\xec\x5a\xbf\x7f\x90\x39\xd1\x7b\xce\x4c\x87\xbe\x5f\x57\x18\x32\x0e\x81\x20\x06\x49\x80\x61\x42\xbd\xe8\x78\xbe\xe6\x8a\xad\x20\x2c\xd1\xd8\x5d\x00\xf0\xdc\x69\x65\x7d\xec\xec\x35\x57\x51\x47\x07\x59\xb4\xa8\x60\xf1\x22\x17\xaf\x74\xce\x24\x67\x13\x89\x62\x1f\x68\x3a\x21\x9b\xe6\x84\xda\x41\x28\x58\x63\x90\xc2\x32\x9d\x44\x85\xa0\xef\x1a\x6d\x5b\x5f\x3e\x14\x92\x09\x25\x0e\xc5\x18\x3c\x88\xec\x69\x75\x0b\x76\x8f\xfa\x9d\x0b\x3f\x77\xd7\xd6\x95\xff\x75\xea\xd0\x74\x70\x4c\x89\xd2\xcf\x82\x0f\x53\x42\x92\xa8\x9f\xf4\xfa\x7f\x87\xdb\xe8\x9d\xdc\xab\xf7\xb4\xd8\x3c\xa2\x7d\xfc\x15\x65\xb7\xfc\xab\x81\xf5\xf3\x99\xe4\x6c\xe8\x28\x59\xee\x34\x6c\x1a\x8d\xdd\x88\xe3\x4e\x43\x5e\x51\xa2\xbd\xc2\x2f\x53\xe7\xc1\x3f\xf5\x3e\x90\x26\x0f\x11\x38\xc1\xa7\x28\xd8\xc0\x1b\x28\xe0\x7f\x76\xee\x90\x88\xb9\x1c\x29\x31\xac\x96\x2e\x10\x67\xef\x77\x1e\x83\xbe\x26\x92\x47\xeb\xbb\x41\x95\x93\x29\x5e\xdf\xb1\x47\x6c\x52\xdf\x11\x1b\x4b\x9f\x6e\xa7\x2b\xdb\xd8\x0b\xee\x97\xf4\x7e\x93\xee\x7d\x20\x16\xd4\xbc\x51\xe2\x55\xd5\x4e\x07\xc6\x12\x76\xf2\x8d\xc1\xbe\x80\xf3\xc6\x74\xcc\x39\xf0\x7a\x14\x8b\xa2\xc2\xc8\xf8\x0e\x72\x08\x55\x3b\xee\x51\x26\xbc\xb2\xcb\x64\xfe\x6e\xa5\x05\xc1\x80\x43\x6b\x52\xc9\x66\xcb\xcb\x09\x2b\xd6\xf6\x86\x95\xdb\xa2\x35\x39\xde\x3c\x52\xad\x87\xdb\xf8\xc0\x9e\x46\x00\x1c\xe6\xfe\x3e\x3a\x67\xa6\xdd\x8b\x08\xcd\xc3\x4d\x9e\xef\x35\x41\x49\xc4\xab\x09\x20\x3a\x02\x7d\x8b\x43\xed\x88\xb4\x2f\x7d\x16\xbc\xa0\x5a\xaf\x71\xe5\x98\x79\x25\x65\x60\x49\x9a\x58\x92\x46\x96\xf0\xbb\x7d\x36\xf1\x5d\x2b\x89\x2f\x53\x58\xc8\x3c\xa1\x3a\x65\xac\x26\xcc\x64\xa1\xb7\xae\x6e\xc6\x9b\xd5\xc2\x4f\x70\xa6\x6a\x0e\xd6\x95\x2d\xbf\x21\x6c\x95\xf1\x32\xdb\x95\x10\xaf\x66\xa9\x84\x30\x3f\x45\xc5\x5e\x16\x8d\x58\xcb\xbb\x68\xea\x2e\x6b\x5e\x1d\x9f\x75\xdd\x6a\x77\xda\xa1\x6e\xe4\x03\x39\x9d\xfc\x29\xf1\x5f\x3a\x3c\xa1\xf3\xdf\x3f\x4e\xdd\x04\x8b\x76\xbd\x77\xdc\x1c\xda\xc5\xf7\x3f\x3f\xe3\x4a\x94\x45\x25\xee\xb7\x34\xc8\x3c\x7b\x5e\xb5\x88\x1f\x81\x21\x42\xd6\x24\x77\x2d\xd8\xca\x90\xed\x6b\xad\x7b\x30\x4f\x4e\xcd\xa1\x9c\x2e\x1f\x39\xc0\xfe\x29\x52\xd0\x13\x36\xf1\x94\xbf\xb7\x8f\x5b\x72\xaa\xfd\xfc\x33\x28\xf7\x47\xf8\x80\x98\xa3\xc3\xe1\xf9\x41\x0b\x47\x34\x1d\xf1\x4c\x13\xed\x48\x04\x3d\xe4\xc8\x99\xd7\xfe\x49\xb0\x84\x34\xd1\x2b\x06\xc6\x0e\x7b\x66\x7b\x6a\x78\x36\x50\x7b\xd9\x10\x53\xb8\xf9\x45\x57\x63\x4d\xc0\xae\x9c\xe5\x87\x68\x1d\x10\xfe\xf9\x4a\xd6\x67\x51\x03\x1d\xbd\x75\xa7\x81\xee\x9c\xa7\xeb\xd0\xb2\x09\xa3\x7c\x8f\x9f\xe6\xed\x86\x0c\xe2\x27\x29\xb7\x2f\x79\xd6\x82\x82\xd4\x5b\xc6\xa9\xb3\xc2\xd9\xb1\x26\x3a\x9d\x33\x4d\xf8\x6b\xda\x2b\x25\x93\x11\xc2\x31\x5a\x55\xf7\x2d\xdc\x88\xc5\x96\x5c\xdc\x2e\x0f\x6d\x08\x72\x05\x81\xe8\x39\x98\xcf\x3d\x42\x8b\x81\x4f\xe3\x15\x43\x5f\x70\x38\xa9\xdb\xec\xb8\x62\xaa\x23\xee\xf4\xa9\x08\xa2\x32\xf0\x63\xea\x22\x9e\x7a\x56\xd7\x2b\xed\x34\x4a\x5d\x2a\x86\x39\x63\x01\x2c\xe1\x64\x7e\x6d\x89\x78\x8a\x83\x0e\x80\x43\xe5\x63\xb7\xbd\xa1\x2a\x5d\x23\x33\x15\xc0\x11\x8a\x85\xe4\x55\xfe\x1e\xa3\x64\x27\x90\xf2\x73\xb5\xdb\x6c\x20\xad\x99\x60\x3c\xcf\x99\x89\x43\xb0\xb8\x6d\x9a\xa5\x1c\x0e\x13\xbc\x2e\xad\xbb\xa4\x25\x66\xd4\x50\xf8\x2a\xb7\x5e\x5f\x29\x33\x11\x09\x8b\x30\x8d\x5c\xc9\x9a\x9d\xbb\x03\xe2\x68\x71\x7c\xe8\x90\x1a\xff\x0c\x46\xbd\xe3\xcb\xf5\x21\x94\x8b\x95\xd0\xef\xf5\xad\xa8\x14\xe0\x46\x69\x3e\x25\x5a\x3e\xf3\x92\x6d\xa5\xf5\x94\x03\xad\x04\x37\x6f\x5a\x63\xab\xd4\x84\x08\x09\x23\x4e\x7b\xa7\xb5\x31\xaa\xae\x01\x1e\xee\xc5\x12\x8a\x4e\x70\x04\x39\x0d\x94\xd5\x6c\xd1\x35\x19\x67\xbe\xf0\x59\x60\x1b\x0e\xf1\xaa\x82\xa7\x85\x79\xb5\xaa\xe7\x6e\x94\xef\xc9\x8e\x49\x3d\xd5\xea\xdd\xaa\x2c\x94\x4b\x5c\xe9\x62\x73\xd8\x7f\x12\x08\x9b\x27\xa8\x93\xf9\x60\xef\x85\x68\xf8\xf8\x1f\x06\x4c\x43\x9d\x77\x72\x7f\x25\x71\xe1\xa7\xf0\x73\x42\x69\x03\xb8\x5a\xd3\x99\x83\x53\x70\x04\x62\xbd\x14\x7e\xfc\x90\x7e\xda\x39\x20\x7d\x70\xbf\x23\x8f\x24\x07\x25\x68\x59\x7d\xd4\x59\x95\x98\xbf\x1e\x2b\x04\xb5\x52\xa4\x14\xd7\x7e\xc9\x12\x88\x6e\xbe\xf6\xd2\x25\x2a\x8f\xca\x7a\x74\x37\x52\xf8\xda\x9f\x1c\x28\x14\x01\xc0\x9a\x13\x8d\x00\xb3\x8b\x5b\xe4\x19\x98\x82\x95\x30\x50\x73\x01\xb6\xa5\x6a\xf5\xc6\x73\x20\x68\x20\x82\x5b\xfc\x37\xeb\x1e\xb5\x2e\x25\xa4\x65\x3f\xb0\x35\x14\x96\x06\x06\x0c\x77\x9a\xf3\x7a\xba\x75\xea\x89\x0b\x93\xb3\x1a\x10\x62\x97\x6a\xcb\x9b\xf6\xa5\xa6\xf1\xbc\xd0\xeb\x6e\x19\xac\x33\x9a\x79\xff\x61\x40\x9c\x0d\x45\xc5\x32\xb9\xad\x77\xad\x88\x80\xc3\xe4\x4e\x3f\x34\x5b\xb1\x69\x78\xc9\xaa\xdd\x76\x25\x1a\x03\x0f\xa8\x2c\x3a\xb3\xef\xa2\x0a\xef\x8b\xb8\xef\x03\xe7\x52\xd0\x13\xb0\x3c\x18\x8d\x62\x26\xd8\x4a\xb4\x7b\x21\x02\xef\x56\xd3\x3f\x0e\x78\xd1\xad\x99\x38\xf3\xa3\x7e\x05\x29\xe7\x3d\xba\x12\x6c\xcb\x73\x70\x1f\x84\x13\x4b\x81\x53\x34\x86\x9b\xa1\x93\xa1\x7d\x35\x35\x22\x93\x4d\x8e\x3b\x11\x3d\x73\x94\x64\x45\x6b\x7d\xd8\x2a\xab\x18\x64\x25\x6f\x11\x7d\x2e\x17\xb8\xa8\xce\x11\xdc\xea\x8a\x12\xab\x77\x25\xeb\x37\xd0\xa8\xcd\x50\x15\x7d\xc7\xdd\xec\x8a\x74\x96\x91\x2d\xba\xf3\xec\xf7\x40\xe4\x8e\x8d\xc3\xb3\x37\x43\x7f\x57\xec\x65\xf0\xc0\x2b\xde\x34\x99\xb7\x41\xe2\xe2\x5e\x95\x63\x22\x7d\x68\x02\x58\x26\xa4\xf9\xa8\x73\x5a\x9b\x73\x36\xa1\x42\xec\x49\x1d\xfc\x21\x0a\x0a\xed\xde\x38\x81\x75\xca\xc5\x84\x74\x03\x40\xac\xd7\x90\x31\xea\xc5\xa7\x46\x2c\xda\xc4\xf5\x9c\xd0\xd1\xdd\x00\x8f\xe2\x61\x0f\x53\x2a\xc5\xba\x25\xf0\x12\x70\x3d\xa1\x6c\xfe\x5a\x7f\x39\x52\x5b\x33\x74\xb2\xb2\x96\x24\x16\x3d\x3d\x39\xa6\xcb\x8c\xee\xc1\xee\x29\x0d\xa9\xac\x95\x15\x8e\xad\x67\x76\x23\x38\x71\x5b\x07\xa4\x64\xb9\xdb\x5c\x43\xa8\x2d\x2e\x84\x62\xe2\x56\x34\x87\x00\x8f\x30\x86\x82\xec\x33\x44\x98\x3b\x6d\xc0\x15\xdb\xad\xc9\xb4\x5f\x04\xfa\x62\xcc\x03\x3d\xd1\xaf\x51\x0f\xfb\xfe\xbd\xf6\x11\xb5\x83\x43\x61\x9c\x5e\xa1\x86\x60\x42\x7a\x93\x9b\x0b\xdf\x59\xe3\x20\xd2\x04\x9e\x5c\x8c\x5b\xd4\x22\x70\xf1\xb2\x4f\x9a\x57\xc6\x4c\xba\x15\xed\xb5\xcc\x01\xb6\x08\x0d\x34\x06\x7b\x13\x9d\xee\x95\x75\xff\x05\x69\x00\x29\x5f\x73\x65\x64\xc2\x0c\xfd\xf7\xbf\x60\xcd\xae\x22\xa0\x67\x58\x4c\x66\xd9\xae\x19\xe1\x3e\x16\x88\x2a\xa3\x74\xe9\xd8\xc0\x47\xe8\xd1\x1b\xdb\xc6\x47\xe9\xd0\xb1\x76\xa0\x3f\x77\x90\xb7\x7d\xca\x73\x33\x2a\xfa\x54\xec\x60\x27\xea\xe7\x7b\x6e\xb5\x30\x5d\x10\x4e\x2b\x9c\xd9\x85\x83\x17\x0c\x36\x5c\x54\x9b\x39\x3c\x5e\x1a\x01\x6e\xd4\xeb\x5d\xe9\xf4\x7f\xca\x21\x32\x39\xcb\x38\xe2\x8f\x23\x46\x22\xe4\x2d\xb1\x9e\x81\xae\x51\x0f\xb9\x02\x66\x46\x2d\x0f\xed\xc0\x8e\x0d\x7e\xfe\x07\xb6\xe7\x87\x25\x63\xcf\x25\xc0\x35\x48\x23\x0c\x69\x49\x68\xd7\xac\x2c\x31\x47\x04\xa3\x57\xb2\xd2\xb8\x2d\xee\x6a\xc6\xd7\x2d\x22\xbf\x59\x39\x0a\xc5\xaa\x75\xc9\xd5\xb5\x50\x98\x40\x4a\xb5\x16\xac\xbe\xa8\x2c\xb4\x36\xe9\x17\x60\x94\xab\x76\xc9\xd8\xab\x4a\xb5\x82\xe7\x30\x01\x98\xc9\xc9\xa1\x71\x21\xa8\x96\xfe\x53\x09\x0f\x85\xad\xc5\x00\x00\x54\x57\x2d\x57\xd7\x51\xf4\x08\x4c\xcb\x09\x40\x13\xee\x5a\x55\xe4\x22\xbe\x66\xe0\xd0\x43\xc5\xb9\xc3\x85\x77\xd9\xe7\x94\xb3\x72\xda\xe2\xc6\xaf\xf3\xde\x96\x6b\x0b\xe9\x9c\x7e\x1d\x81\x9d\xda\xbd\x8b\xd5\x7b\x7a\x4a\x3a\x64\x0c\xbd\xdd\x03\x60\xa2\xc4\x6b\xe7\x88\x57\x81\x41\x33\xfd\xab\x9b\xe9\xae\x8c\xd4\x11\x15\x21\x25\x9e\x79\xf3\xe6\xb4\x63\xba\xfb\x38\x83\xdf\xb8\xa7\xdf\xa0\x5d\xb3\x77\x2e\xcf\xc6\xa2\x72\x43\xa1\x18\x0d\x78\xea\xdf\xb3\xf1\x9c\xdb\x1c\xbd\xb1\xf4\xfd\xfb\xf3\xc4\xa5\x16\xa5\xcc\xaa\xc2\xb3\xa1\xea\x8d\x75\x6c\x84\x4b\x83\xe0\x3c\x09\x82\xfb\xa3\xb3\x83\xf4\xde\x3d\xc1\xc3\x85\x64\x69\xf0\xb4\x83\xb0\x44\x97\x4f\x20\xe1\xe2\x81\xa0\x96\xad\xc1\xaf\x03\xd5\xdb\x4a\x18\x9d\x1a\xc9\xa6\x80\x5b\x11\xe4\x10\x4d\x8d\x5c\x56\x6e\x14\x53\x8c\x10\x6e\x54\xcb\x30\xc0\xd1\xbe\x65\xe7\x8c\xdf\xf0\x40\xda\x9d\x91\xc1\x55\xb2\x9d\x87\x84\x6c\x27\x3c\x3d\xf2\x28\x86\x5a\x10\xbf\x95\x35\x05\xc6\x14\x9a\x0e\xfa\x3b\xd6\xa5\x59\xd8\xda\xe9\xf0\xb3\x87\xa7\x94\x39\x5b\x35\x31\x77\xbc\x7a\xef\x9b\xce\x31\x4d\x4f\x41\xbc\xa0\x95\xf3\x30\xd3\xe7\x20\xc6\x35\xb8\x49\xf3\xc7\xe2\xf6\x38\xfe\x0c\xd9\x8d\xf4\x30\xa2\x1b\x33\x32\xdc\x91\x13\xc8\x42\xa1\xfd\xfc\x33\xf5\xcd\xee\x16\x20\xd0\x4f\xe7\xac\x43\xda\x3c\x00\x08\xb2\xa2\x73\x45\xf1\x21\xb8\x76\x79\xe6\x18\xad\x44\xef\x3e\x81\xeb\xa6\x67\x81\xb9\x20\x49\x5c\x39\xc0\xa1\x5c\x3a\xff\xf2\x48\xe2\xf6\x40\x9a\xce\xad\xc2\x05\xaf\xd2\x01\xf9\x1a\x45\xa5\x44\xd3\x3e\x03\xf6\x0b\xa3\x5d\xe7\x71\x51\x4f\xdc\x9a\x76\x12\x38\x5b\xf1\x8c\x52\x5c\xa2\xbe\x49\x35\x98\xad\xc7\xa7\xf4\xad\xcd\xe4\xe2\xd6\xa9\xa0\xfb\x5f\x4f\x5a\x34\x35\x89\x95\xa3\x0e\x25\xbf\x7c\x92\x46\x48\xbd\x23\x3a\x32\xeb\x84\x8f\x9c\x9c\xb0\x67\xb2\xbd\xf6\xbe\x53\x23\x87\x69\xe6\x72\x70\x90\x4e\x5c\xfc\x35\x87\xd9\xed\xc8\x2c\x40\x46\x85\x64\x05\xc5\x16\xa4\xb3\xa2\xd2\xfb\x59\xe4\x05\x6f\x05\xe8\xc8\x15\x8e\xcf\xbc\xd7\xc7\xad\xe4\x83\x63\x7d\xe9\x1d\x77\xd7\xfa\x72\x7c\xb1\x08\xfe\x16\xf4\x72\xc4\x4e\xec\x52\x0d\x7d\x05\x06\x4c\x55\xe9\x3d\x18\x29\xc9\xd3\xd7\x63\x7f\xcc\xff\x27\xb9\x21\x3d\xf9\x5f\xf9\x86\xb4\x22\x78\x38\x8e\x29\x76\x34\x93\x55\xde\x7f\x49\x7a\xcf\xb2\xe4\x3d\x49\xe9\xd1\xab\x12\x12\x25\xfc\x83\xdf\x94\xcf\x02\x1c\x03\x77\x59\x46\xa2\x66\xef\x7d\x69\x20\x42\xc7\x1e\xec\x5f\x9d\xc7\x42\xec\xb1\xeb\xd2\x9f\x7a\x64\x95\xc6\xde\x98\xb0\x80\xc3\x17\xa6\x2e\x12\xee\x52\xea\x86\x98\x3e\x2e\x8e\x23\x38\x7c\xb2\x9b\xb1\x2b\x6e\x0c\x4d\xa1\xbb\x1e\xcd\xb2\x14\x74\xf7\x27\x6e\x0d\xd2\xef\xe4\x85\xd1\x39\x40\xc7\x5e\x1b\x84\xf0\x47\xdf\x1c\x23\xae\xc4\x4f\x34\xb8\xf8\x34\xfe\xd5\x07\xe8\x1a\xfc\x7f\xe9\x42\xec\xee\xb4\xbe\xee\x8c\xbf\x0d\x1d\xcd\xe3\x97\x21\x30\x0d\x35\xd5\x68\xf1\x1b\x30\x71\xfc\xb9\xa2\x86\xaf\xc5\x2b\x72\xce\x73\xa5\x76\x5b\x9b\x62\x2d\x50\x00\xcc\x80\x6a\xfc\xe2\x9f\x21\xe4\x38\x2f\x1b\xc1\xf3\x83\xd1\x3c\xa2\x9e\xc9\x5f\x76\x50\x04\x94\xed\x9a\x07\xec\x7d\xea\x2f\x90\x46\xee\x09\xf8\x2b\xde\xca\x0f\x30\x53\x84\xff\x55\x54\xf9\x2c\x18\x28\x8c\x8c\xdc\x5f\x8d\xc8\x0e\x59\x29\x14\x75\xe1\x07\xb8\x94\x6b\x11\xa7\xc4\x32\x8e\xe5\xb5\x54\xd0\x15\xf4\x45\xb7\x09\x0a\xad\xda\xac\x91\xfb\x4b\xcc\x44\x69\x35\x78\x95\xb0\xc6\xd7\x62\xcd\x2a\x91\x09\xa5\x78\x73\xf8\x47\xbd\x42\xa9\xc2\xa6\x93\x01\x61\x48\x81\x33\x84\x7f\xff\x47\x21\x6a\x8c\x73\xc6\xc0\xe9\x5c\x28\x93\x3d\x16\xdc\x3e\x20\x27\x1f\x8e\x13\xe1\x6d\x5d\x72\x3a\x51\x81\x81\x56\x34\x06\x5d\x07\x70\x0e\x00\x23\x99\xb1\xab\x6b\x9b\x2a\x72\xcd\x8b\x72\xd7\x88\x00\x4c\x1d\xf7\xd9\xb7\x9a\x10\x44\x54\x04\xf4\x3d\x1d\xbb\x4b\xcd\x51\x44\x4a\xc1\xc6\xee\x94\x33\x97\x1f\x29\x37\x23\xde\x23\x9a\xa5\x27\xcf\x0b\x0c\x6d\x70\x7d\x37\x64\x60\xdc\x13\x73\xa3\x9a\x1c\x10\xa4\x39\x44\xd5\x5d\xa7\x6e\x6c\x47\xfa\x85\x25\x29\x82\x9d\xee\xf4\x2d\xa9\x76\x00\x49\x54\x70\x8b\xd7\x4e\x9a\xb4\x2a\xf4\xa0\x17\xf4\xaf\x6e\x68\x02\x73\xa4\x48\x4c\x76\x70\xa6\xd9\xef\xf1\x29\xaa\x65\xa2\x6b\xd9\xb4\xd7\x06\x88\x84\x41\x5c\x89\x32\x3e\x40\x1b\x69\x1c\x7e\x30\x92\xa9\x94\x2e\x1b\xb1\xe3\xfb\x4b\x8f\xeb\xde\x73\x88\x9f\xc5\x55\x5e\x58\xc8\xf7\xe4\x01\x1d\xaa\x4b\xf5\x84\xb3\xae\xd0\x44\x33\x38\x80\xa9\x14\xfb\x2b\xee\xf8\x16\x33\xe9\x50\xb0\x36\xb3\x55\x8b\x56\x34\xdc\x82\xe5\x8c\x8b\x21\xb1\x4a\x5e\x58\xc0\xe7\x0d\x77\xfe\x07\x6f\x78\x7b\xbd\xdc\x16\x98\xef\x30\xd6\x32\x8e\xb8\xac\x8f\x18\xf7\x50\xc0\xd3\xcb\x31\x05\x3e\x21\x2d\x9f\x9e\x91\x3f\xbf\x8a\xbb\x46\x3e\x3e\x7a\x44\x03\x5c\x1a\xa2\x76\x26\x2a\xeb\x47\xbe\x7c\x94\xc9\x44\x33\x3e\x79\xd2\xb8\x7d\x06\x3e\x21\x93\x5b\xc1\xae\x8b\xb6\x2b\x32\xef\xbd\x2b\x01\xca\x33\x8c\xc3\x41\x6d\x53\xbb\xb9\x70\x9b\x7d\x00\xb8\x2d\xda\xec\xda\xe8\x7e\x21\x75\xb2\xd7\x58\xbb\xad\x6d\xaa\x50\x67\x20\x8b\xfa\x5e\xca\xcd\xf4\xf3\x0b\x7d\x40\x57\x93\x96\x01\x31\x4c\x2d\xa4\xa9\x3c\x61\x9f\xb3\x47\xac\x43\x93\xb1\x55\x23\xf8\x8d\xf3\xfc\x79\x30\x42\x28\x33\x5d\x98\x33\x62\xa7\x87\x5e\xb4\x45\xb5\x13\x81\x98\xe5\xf2\xc1\xf8\x79\x3f\x67\x31\x68\xbb\xc7\xb8\xb2\xd1\x5d\xc6\x2c\x82\xf9\x9b\x01\xad\x6a\x8e\x17\x14\x2f\x65\xb5\xb1\x33\x38\x90\xee\x65\xb0\x43\xdd\x3d\xfb\xf0\x61\x77\x23\x8f\xe9\x72\xf7\xd9\x6e\x53\x39\x85\xe6\x1e\x7d\xb1\xcf\x2d\x92\x06\x5e\xd6\x70\x87\x78\x5a\x7b\x81\x09\xda\x30\xc5\x29\x83\x47\x4d\x78\x43\x54\x21\xb2\xfa\x65\x28\xd6\xba\xd9\xe8\x8e\xe3\xa3\xa6\xc6\x9c\x4d\x74\x62\x5e\x44\xef\xcb\x71\xd3\x22\xaa\xfc\xaf\x37\x29\x2f\xfc\x63\x26\x35\x25\x2f\x3a\x5a\xb2\x51\xcc\x1b\x20\xca\x5f\x7a\xa5\x35\xeb\x7c\x7c\x11\x49\xfa\xe8\x38\x26\xc8\xb5\xe8\xf4\xa9\x27\xa9\xfc\x66\x46\xe6\x0b\x7c\xcd\xc0\xeb\xc8\x10\x3b\x08\x63\xd2\x0c\x4e\x14\x48\xab\x27\x78\xfe\xff\xd4\xc9\x82\x8c\x66\x33\xa1\x61\x14\x28\xa0\x1e\xf1\x92\xf1\x95\x45\xff\x63\xc8\x20\x98\xcf\x6d\x02\x07\x8b\xdc\x35\xc6\x40\xfd\x4e\xc0\xd1\x62\xc9\x15\x24\xe1\x93\x4b\x01\x46\x62\x63\x75\x6b\x3e\x5b\xc2\x7d\x26\x38\x3d\xbd\xbf\x64\x72\xc9\xd4\x26\x98\xb5\xd3\xd4\xc7\x9c\x94\xf7\x5d\x27\x3a\xc8\xe0\xbd\xea\x24\xb3\xd5\x6e\xb3\xc1\xa8\xe8\xc1\x67\x67\x2a\x80\xb4\x43\x35\x50\xf6\xf4\x46\xb6\x3e\xe8\x3f\x33\xc8\x9d\x1e\x9a\x3d\x01\xfe\x48\xf3\xcf\x4a\xb6\xd7\x16\x70\x72\xc5\x37\xe8\x06\x6d\x8e\x2b\x80\x08\x77\x0f\x39\xeb\x92\x4d\x80\x3a\xac\x47\x01\xe2\xb8\xba\x00\xac\xc0\x7d\xd1\xea\x79\x93\xa9\x0e\x35\x1d\x13\x3e\xcc\x6d\xf2\x60\x85\x19\xc1\x20\xb9\x41\x90\x4d\xdd\xe2\xc8\xb2\x75\x81\x98\xaf\xbb\x96\xb8\x61\x1b\x08\x67\x07\xd4\x3b\x02\x62\x80\x38\x0f\x0c\xf9\xda\x04\x0e\xfb\x3d\x28\x48\x61\xa1\x28\xda\x87\xc6\x05\xf5\x51\xeb\xea\x24\x82\x92\xb3\x80\x15\x08\x0b\x1c\xef\x5a\xa7\xdc\x40\xef\x06\x68\x76\x3b\x18\x17\xee\x6a\x4c\xbe\xd1\x27\x4f\x10\xd3\x6e\x1c\x7b\x00\x36\x41\xae\x9d\x42\xc2\xf9\xa5\xc4\x4a\x91\x2d\x3f\xa0\x33\x95\x75\x45\x35\xa2\xbe\x75\xed\x7a\x7f\x74\xa5\xa1\x2d\x7b\x66\x45\xe8\x07\x7e\xae\x7a\xfd\x12\x7e\x30\xc5\x9c\x44\xf0\x23\xc2\x1f\xe0\xdb\x8d\x8c\xf5\x25\x1c\x69\xd4\x51\xdc\x21\xeb\x6e\x20\x49\x63\x61\xfc\x64\x3b\x41\x34\x2d\x26\x49\xc1\x2a\x76\xb7\xe1\x14\x15\x6b\xa2\x29\x91\x8d\xad\x01\x99\xb2\x99\xac\x80\xf1\x5d\x15\x8a\xf2\x80\x08\x79\xc4\x34\xe1\x26\xcc\x48\x9e\x75\x23\x37\x8d\x50\x0e\x2b\x84\x18\x4d\x72\x9b\xaf\x8f\x84\xf4\xe8\xde\x1c\x9d\xea\xe0\x7a\x88\xa6\x3a\xd2\x4f\xb8\x6c\x8a\x8e\x9d\xd3\xee\x24\x0f\x1f\x92\xf4\xa4\xd5\x80\xe3\x89\x65\x79\xfa\xcc\x4b\x16\xfc\xc1\x2d\x64\x47\x1b\x4c\xeb\xf6\x81\x42\x04\x97\x54\xb8\x21\x53\xec\x33\xf3\x7b\x2b\x60\x44\x7b\xfe\x3f\x88\xf2\x4b\x76\x41\x21\x79\x59\x06\x20\xcb\xb7\x85\xd8\xd7\xe3\xe2\xcc\x75\xfd\xa7\x65\x99\x8e\x37\x00\xb3\x1f\xbc\xc0\xa3\xc3\xae\xf3\x32\x0e\x12\xfe\x9c\x46\xca\x9a\x41\x07\xe9\xf1\xda\xe0\x5e\x0a\xc1\x6d\x6d\xfb\x9c\x96\x47\x4e\x67\xc9\x5b\x37\xb8\xd3\x2d\x85\x79\x64\xbf\x26\x35\x07\x5c\x9f\x22\x7e\x89\xbb\xd3\x07\x4d\xe1\x72\xa9\x19\x47\xa4\xc0\x25\xac\x5f\x2f\xc0\x16\xec\xf1\x59\x58\xf3\x2c\x71\x03\x24\xe7\x2d\x58\x33\xda\x6c\x6a\xf9\x7a\xec\x1a\xe3\x57\xaf\x8f\x40\xb0\x78\xa6\x17\xe9\xb5\x0b\xba\x98\x5c\x46\x6a\x22\x33\xa5\xbb\x2b\x12\xb5\x31\x66\x82\xce\x06\x53\x1f\xfa\x38\xb4\x38\xd5\x21\xcd\x1a\x67\x23\x88\x09\x7b\x9d\x46\x45\xc4\x5d\x2b\x2a\xd7\xf3\xb9\xed\x69\x22\x85\x2c\x71\xc2\xeb\xb8\x31\xa6\x71\x1d\xb6\xfc\xae\xd8\xee\xb6\xd6\x25\xdd\x45\x30\x05\x70\x09\x23\xe0\x9e\x64\x59\xbe\xe1\x77\xc1\xc9\x2d\x02\x60\x87\x69\x3a\x92\xa1\x8d\x3c\xd3\x67\x81\xe7\x76\xdb\xeb\x1f\x3e\xe8\xfc\xbd\x20\x24\x86\x9b\x85\x78\xb7\xd8\x05\x1c\x66\xc2\x5f\xbe\x6e\x3b\x98\x8b\x0d\xf2\x04\xac\x7b\xdd\x52\x29\xb6\x04\xc4\x02\x89\xe6\x83\xa7\x81\xff\xdf\x54\x37\xfa\x5e\xd4\x79\x1d\x73\xef\x76\xa1\x6c\x10\xf2\xd8\x77\x41\xb6\xc7\x3c\x55\xd3\xbe\x91\x8d\xd7\xf3\xdd\xcb\x1d\xd2\x07\xa0\xc9\xb2\xc4\x8e\x39\x52\x83\x81\x95\x0f\x86\x17\x38\xa2\xfc\x86\xdf\x85\x91\x6d\x86\xdd\x70\x33\x81\x5e\xc6\xf5\xe0\xf7\xbe\x0e\xde\xa0\xb4\x73\xee\x53\x78\x1a\x3a\x9c\x11\x5f\xf4\xdc\xd7\xeb\x78\xc8\xf7\xd5\xf1\x55\xc6\x21\x5b\x1d\x65\xb5\x30\x17\xc5\xdf\x84\xdb\x5c\x5c\xd4\x3f\x36\xc3\x0d\x9f\x28\x70\x1e\xbb\x26\x17\x1f\x19\xb1\x17\xf2\xe9\x57\xec\xb4\xcb\x9f\xa7\xbf\x3a\x5f\xa6\xaf\x01\xa7\x4e\xb1\xcc\x82\xee\x9d\x24\x36\x2c\x4e\xe6\x1d\x44\x5b\x44\xb7\x07\xe6\xe1\x1f\x78\x36\xa0\x8d\xb3\x21\x90\x84\x10\xc8\xaf\x1f\xf2\x5f\xa0\x3e\xe9\x0b\x78\x4f\xb4\xf6\xc0\x1d\x73\x0b\x5d\x05\x1e\xf6\x69\x78\xa1\xe1\x70\xd0\xf4\xfc\x0d\xc7\x84\x8e\x9c\x4f\x70\xfe\xf9\xfb\x98\x4e\x3c\x54\xc6\xcc\xe8\xb3\x38\x10\xa1\xdf\x7d\xd9\xa2\x3a\x06\x26\xa3\xe4\x2e\x01\xc9\x94\xcc\xda\x1f\x00\x06\x1f\x93\x50\x99\x81\x83\x1e\x46\x51\x54\x57\x9b\xad\x2b\xc8\x4b\x09\xda\x1f\x2f\x3b\x4c\x14\xd9\x4a\x36\x99\xa4\x89\xb9\x57\xa0\x03\xc2\x79\xda\x72\x50\x09\xe4\x3b\x61\x8f\x59\x48\xb4\xb2\xe5\xd5\x8e\x97\xe5\x81\x18\xfa\x6d\xec\x10\xbc\x9f\x39\xce\x38\xdf\x6e\x79\x5b\x64\x86\xee\xd1\x59\x74\xa9\xd0\x12\x92\xd1\xc8\xd0\x6d\x77\x70\x84\xf1\x96\x9f\x91\x13\x32\x88\xe8\x76\xde\x5b\xdd\xb0\xd8\x6e\x1d\x13\xd9\x3d\xa3\xd9\x74\x0b\x65\xa6\x59\xcf\x14\x2f\x95\x84\xf9\xa6\xea\x13\x88\x64\x9c\xae\x76\x6d\x18\xd6\x06\x3f\x43\xd5\xcf\x66\xcb\x80\x9e\xc9\x76\xd1\xcd\xc2\x82\x19\x79\x82\xd9\x66\x5c\x05\x99\x9c\x90\xae\xa3\xf7\xaa\x32\x01\x49\x00\x36\x08\x96\x44\x1b\x72\x5e\x6c\x2a\x19\x20\x0f\x9a\x71\xf0\x2a\x67\xa5\x68\x99\x4d\xd7\x69\x49\x61\x06\x06\x63\xc9\xc6\x5d\x66\x4d\x0b\x73\x74\x0b\x05\x17\x86\x9c\xed\x6a\x43\x90\xc0\x5a\xec\x1b\x09\x21\xeb\x98\x30\xc6\x45\xfe\x83\x5f\x28\x0f\x3a\x8d\xaf\x11\x87\xab\xc1\xba\x0e\x79\xa6\x04\x09\x82\x43\x25\x84\x81\x43\xf0\xe9\xf5\x52\x38\x08\xb3\x08\x3e\xb5\x00\x28\x8d\x8c\x57\x00\xe3\xd8\x14\xa0\xa8\x2f\x94\xcf\xad\x64\x66\xeb\x5a\xb8\x8b\x14\x72\xee\x45\xdb\xce\x12\xd2\x4c\x90\x71\x3b\x97\xf0\x16\x12\x55\x6b\x60\xf5\xa7\xb3\x0e\x59\x97\xfd\xc8\x83\x3f\x3a\x55\x13\x30\x13\xcc\xba\xb5\xb9\xfb\x36\x47\x6d\x23\xc8\xd6\x17\x6f\xa5\xc1\xc3\x64\x91\x1a\x1b\x3d\x52\xbe\xf7\xdf\xe9\xb9\xe2\xcf\x05\xcb\xa1\x45\x38\x5b\x7a\x72\xdd\xd9\xdb\xe9\x3a\x63\xcf\x0c\xd8\x01\xdc\xa6\x8d\xac\x5a\xc8\x20\xe4\x12\x14\xa5\xe3\xda\xac\xf7\x8f\x49\xc5\xe7\xd8\xea\xf9\xab\xef\xe6\x94\xaf\xb1\x0b\xd6\x37\x09\x6c\x3b\xab\x03\xcb\x71\x51\xc2\xa0\x3e\xe8\x1e\xbf\x15\x18\xc9\x0a\x0c\x5f\xb4\xee\xb4\xbb\xdf\xcc\xa7\x4e\x31\xe0\xd4\xa0\xd4\x54\x78\xf4\x18\xb1\x34\x9d\xfa\x06\xf9\x26\x91\x4c\x1f\xf7\xf4\xcb\x97\x73\xcf\x10\xfa\x8a\x0b\xd3\x36\xc2\x1e\xae\x77\xad\x0a\x2e\x48\xfd\x42\x65\xb9\x28\x5b\xee\xb4\xf9\x9a\xdc\x24\x17\x2d\x2f\xca\x09\x5b\x17\xa2\x74\x96\x03\xe4\x5f\x80\x56\xc5\x43\xad\x2c\x6a\x9b\x0e\xb1\xae\xf5\x14\x42\xb2\xab\x22\xbb\x66\x79\xd1\x58\x23\x03\x24\x2c\x63\x95\xd8\xf0\xb6\xb8\x15\x16\xd4\x01\xf3\x38\x05\x49\x27\xac\xb3\x08\x76\xe7\x9c\x89\xa5\x9e\x3f\x2d\xb0\xc5\x19\x28\xd9\xbf\xb0\xe9\xe2\x31\xfb\x82\xe9\xc9\xd1\x1d\x9d\xb1\x27\x4c\x2c\x61\x4d\x9f\xeb\xda\xff\xaa\x4f\x00\xa4\xf3\x85\x8f\x55\xb7\xd3\xfb\x06\x03\x8b\x0b\xd1\xbc\xa7\xd1\x85\x71\x54\x3b\x91\x57\x91\x96\xbd\x49\x5a\x2a\x7c\xb6\x44\xec\xbc\xcf\x7b\xab\x4d\xbd\xb4\xda\xbe\x37\x96\xac\xbd\x9b\x65\xdc\x3d\x72\xf5\xbc\x41\xff\x32\xdf\x73\x93\xed\x8d\x07\xc7\xf9\xdc\x2c\x52\xdb\x14\x9b\x8d\x68\x8c\xc0\x63\xb1\x93\x7b\xc5\x38\x74\x68\xf1\x10\x80\x6f\x31\xe7\x34\x3d\xcd\x70\xe7\xef\xc1\x6b\x85\x67\x2d\x8a\x03\x16\xaf\x16\xef\x87\xf6\x5a\x34\x62\xe2\x76\x9d\x25\xd6\x4a\xb7\x33\xfd\x75\x54\x73\xa3\x23\x47\x9e\x6e\xaf\x1b\x88\xee\x57\x92\x5d\x5c\x37\x72\x0b\x49\x9f\x6c\x52\x2f\xe4\x5d\x4c\xbb\x76\x2b\x1a\xcf\x52\x8c\x89\xce\x99\xdb\x31\x96\xd0\x63\x8f\x5e\xc3\xc1\x81\x67\xaf\x5c\x63\x08\x80\x52\x3b\xc5\xd4\x0e\x6c\x0f\x5e\xd6\x06\xe1\x51\xb5\xfc\xa0\x88\x00\x6e\x0d\xef\x9a\x58\xdd\x88\x35\x62\x7a\x90\x37\xaa\x41\xe2\xd2\xf5\xee\x29\x68\xba\x24\xda\x89\xc3\x05\x70\x13\x16\x0e\x7c\x53\x15\x55\x26\xdc\x35\x6e\xaf\x13\x14\x2d\xf4\xd8\x83\xd4\x68\x56\xf2\x1b\x44\x3b\xed\xdc\xce\x1f\x7f\x95\xfa\x5c\x9f\x7f\xaf\x77\xe8\x85\xee\x61\x34\xc9\xac\x87\x8d\xf4\x68\x16\xad\x5c\x64\x65\x51\xaf\x24\x6f\xf2\x68\x68\xaf\xd6\x29\x98\x6d\x54\x3b\x9a\x24\xb2\x60\x70\xf5\x66\x58\x08\x30\xe7\x07\xe7\xf7\xb5\xd6\x7c\x58\x54\xc4\x71\xd7\xbb\x44\x27\x82\x7d\x42\x97\x19\x23\xcf\x9b\x1b\xad\xf1\xe8\x32\x70\x7f\x16\x6b\xe3\xe7\xb7\x2d\x94\xc2\x20\x7b\x0f\x6e\xed\xfa\xd8\x8a\xbb\xd6\xa4\x86\xd4\x83\x61\xb5\xac\x77\x25\x6f\x85\xc2\x3c\xd7\xe0\x59\x78\xed\x42\x87\x04\xfb\x9c\xd8\xba\x3f\xf7\xae\x10\xb6\x0d\x4d\x6e\xe4\x22\x0c\xdc\xa3\xfa\xf3\x3d\x2f\x50\xcb\xc1\xf7\x0a\x69\xff\xa8\x78\xd3\x38\x82\x66\x31\x22\x42\x84\x7d\x69\x4f\xf8\x48\xe8\xfd\x6b\x45\xc5\x0f\x45\x5f\x92\x6e\xf6\x84\xcd\xb6\xe6\x25\xa2\x68\x40\x50\x37\xc8\xdb\xfb\xbd\x88\x2a\x7f\xc6\xb3\x1b\xcd\xdd\xc6\x48\xe0\xbc\x3f\x8e\xcc\x66\xb2\x0f\xd0\x8b\x17\x10\x80\x34\xae\x0f\xac\xd3\x83\x3e\x07\xda\xc0\x8e\x11\x59\x43\xa2\x20\x28\x34\x41\xa8\x44\xbc\xf0\xb1\x46\x07\xad\x82\x5d\x7f\x9a\x21\x67\x88\x3e\x9b\x17\x00\x12\x4f\x1f\x04\x46\x83\xa1\xb5\x7e\xc4\x1e\xcf\x3b\xfd\x1d\x61\x00\xec\x76\xf0\xb8\x03\xef\xf8\x78\x95\x11\x06\xc4\x1e\x6e\xee\x04\x2c\x8f\x09\x6b\x8b\x96\x93\x38\xe7\x7a\x56\x86\xde\x8e\x64\xe6\x44\x28\x7a\x4f\x37\x7a\x39\x7a\xa0\x37\x2c\xd1\x97\x7e\x47\xf2\x60\xa9\x8f\x33\x37\x54\x53\xe9\xe0\xbe\xe3\xcd\x8f\xb2\xa4\xfa\x7e\x3c\x18\xed\x5d\x33\x92\xdd\xbb\x3d\x9b\x1f\xd9\xee\x63\x59\x3d\xee\x5f\x0f\xdd\xae\x38\xfa\x52\x66\x20\xb7\x1b\x75\x26\x26\x3c\x35\xe6\x07\x59\x31\x0e\x39\x9f\x16\xb7\xcc\xe4\xb0\xb7\x62\x3d\x57\x46\x1c\x78\xf9\x52\x97\x31\x13\x21\x6c\x96\x4e\xfb\x74\x36\x99\x7a\x31\xd7\xaa\xc8\xa9\x0a\x0a\x5b\x1a\xe7\xc6\x15\x66\xcc\x4f\x5c\xc8\xfe\x86\x24\x49\xac\xe2\xbb\x57\x6f\x93\x1b\xa1\xa5\xaa\x4b\xc0\x91\x5f\x6a\x19\x4d\x4b\x99\x17\x32\x17\x53\xfd\xa8\x2b\xb2\x6b\x77\x87\x95\x72\x2f\x9a\x3f\x42\xf1\x1b\x71\x58\xb6\xf2\xb5\xfe\xe1\x82\x2b\xa2\xe8\x9b\x0a\x68\x4f\x97\xfa\xf9\x67\x26\x96\x5b\xd1\xf2\x3f\x8a\xc3\x8c\x3d\x7c\x48\xea\x9f\xb3\xcf\x6f\x3f\x27\x1e\x22\x41\x0e\xd2\x20\x93\x5d\x20\xdb\xb9\xf4\xb3\xf8\x24\x31\x0b\xd4\x06\x38\xfe\xa8\x47\x25\xe9\x81\x46\x4c\x25\x4c\x4e\xaf\x54\x93\xee\x5c\x1a\x6a\x2a\x01\x29\x45\x10\xa5\x20\xc2\xc6\xa9\xc5\x80\x2e\x68\xc5\xf4\xce\x79\x62\xbe\xd2\xc6\x10\x9a\xf0\xc3\x2c\x40\x9b\x4a\x94\xf0\xbe\x6c\x1e\x3a\x34\x4c\x0a\xc8\x92\xb8\x54\x38\xab\x0a\x10\x2b\x4d\xf2\xd6\x70\x6a\x29\xef\x2f\xd9\x65\x2b\x6b\x54\xd8\x83\x2c\x8f\x8f\x29\x59\xf3\x0d\x87\x40\x2a\xae\xfc\xf3\x11\x12\x72\xa1\x1b\x38\xb4\xe1\xb3\x51\xdb\xc9\x46\x37\xb7\xa3\x8b\x33\x90\x66\x36\xb1\x5e\x62\xa9\x5a\x59\x7f\x63\x3b\x85\xfe\x0a\x09\xa8\x53\x9f\xf1\xdd\xa9\x6d\xb7\x32\xff\xc8\x9c\x16\x0e\xa5\xd6\x04\xaf\x05\xc9\xf2\x5a\xde\xf6\x67\xcb\xd3\xcf\xb2\x75\x29\xf7\xff\xca\xce\x19\x94\x64\xff\xc2\xac\xb6\x94\x3d\x61\x13\x97\x55\x3c\x1a\x42\xa0\x46\xdb\x3a\x85\xca\x12\x1f\x15\xbc\x6c\x45\xa3\xd8\xb5\xdc\xb3\xed\xce\x78\xe6\x99\x2d\x81\x15\xf5\xd1\x06\xa6\x04\xc8\xbd\x1e\x6b\x18\xc7\x0d\x17\x75\x39\xf2\x56\x18\x7d\x4e\x98\x5f\xc9\xf7\x29\x1c\x7b\x42\x09\xc4\xce\xc9\x08\x60\xa4\xfa\x76\x7b\xfb\xed\xbb\x8b\x17\xec\xe5\xab\xd7\x2f\x9e\xa0\x96\xf1\xe4\x2f\xea\x04\xfe\xf1\xde\x82\xab\x2e\xff\xa2\x74\x51\xfd\xe2\xc0\x40\x92\x69\x36\x63\x5f\x9e\x3e\xfe\x12\xd4\x05\xa0\xa3\x28\x76\x5b\xf6\xf6\x92\x3d\xdd\xb5\xd7\xb2\x51\x4b\xf6\xb4\x2c\x31\xe8\x44\x31\xfd\xe0\x68\x20\x37\xfe\xc9\x09\xfb\x56\x09\x07\xb0\xa0\x30\xfc\x32\x33\xa1\x2a\x1b\xbd\x46\x15\xa4\xff\x67\x9c\x3d\xbb\x7c\xbe\x80\xa5\x63\x65\x91\x89\x4a\x19\x27\x72\x44\x0c\xd5\x94\xd6\x10\xee\x68\x78\xfd\xf5\xab\x8b\x17\x5f\x5f\xbe\xd0\x4f\x45\xb1\x7c\xf0\x60\xa2\x67\x5b\xb5\x4d\x91\xb5\x93\xb3\x07\x0f\xca\x62\xb5\x6c\xda\x5c\xd4\xd3\x89\xfe\x27\x64\x83\x84\xe4\xe2\xfa\xaf\x6f\x40\x49\x21\xaa\x4c\xbc\xe1\x15\xdf\x88\xc6\x7e\x68\x04\x76\xd0\xfe\xbd\xcf\x26\x54\x8c\x83\xdf\xd6\x98\xa2\x5c\x2f\xe2\x1f\xc5\x01\x9e\xbf\xfe\x17\xcc\x48\xac\xfc\x0f\x89\xa6\x28\x41\xc7\x0c\x42\x54\xbe\x12\x39\x6f\xfd\x6f\x00\x76\xdc\xad\xab\x77\xac\xcb\xed\x4a\x1a\xfe\xee\x0a\x72\x5a\x58\x75\x85\xac\x54\xdb\xec\x00\xfa\xdd\xba\x8f\x5e\x99\xa5\x66\x59\xc9\x95\x7b\xbb\x3f\xf5\xbf\xd7\x3b\xcd\xcd\xad\xdc\x88\xf6\xda\x00\x5a\xc4\xfd\x9b\x33\x3a\x02\x78\x2f\xdb\xe6\x1f\x9f\x9e\x42\xae\x26\x4d\x5c\xc0\x79\x85\x49\xc8\x0c\xa8\xbb\xdc\xd6\x00\x00\x68\x19\xce\xb1\x37\x2f\x8b\xf6\x40\x74\x53\x0d\x62\xef\x71\x82\x99\x0b\x57\xdd\x02\xd2\xdb\xfb\xde\xe2\x91\xa7\x28\xcf\x18\xb8\x45\x44\xd3\xc6\x6c\xf9\x18\xf9\x5b\x15\xf8\x9a\xb7\xce\xa8\x4a\x36\x73\xf3\xe4\x37\xbb\xbf\x11\x1b\x07\xaf\x27\x71\xf8\xa6\x21\xd0\xc1\xbb\x09\x5f\x32\xf6\x07\xb9\x17\xb7\xa2\x99\x9b\xb0\xe4\x62\xcb\x9b\x03\x81\x7c\x84\x00\xf9\xba\x11\xed\x74\x66\xb5\x93\x90\xc8\x46\xb1\xef\xae\x34\x2d\xa1\x32\x5e\x6b\x69\xf7\x3f\x76\x9a\x4d\xd0\x53\xbe\xa8\x6e\xe5\x8d\x31\x7e\xf1\x5a\xdf\x03\x0d\x04\xd8\xc7\xa3\x0d\x4c\xc5\x30\xd5\x6c\xcf\x15\xbb\x16\xfc\xb6\x80\xb4\x23\xeb\x12\xa8\xc2\x0e\xbb\x90\xcd\x81\xbd\xe1\x59\xc6\x9b\x46\x56\x62\xa2\xd8\xcb\x86\x6f\xc5\x6a\xb7\x5e\x8b\x26\xe4\x82\xab\xb7\xcf\xdf\x4e\x9b\x4d\x51\xe5\x7c\xf6\x84\x41\xd2\x72\xd4\x78\x46\x21\x9d\x56\x5f\x03\xd1\x49\x0d\xc1\xe8\x57\x66\xa8\xbc\x31\x60\xe6\xaa\x2e\xf9\x41\x17\xde\x17\x19\x44\xae\xef\x35\x2b\x70\xa5\x8f\xe6\x2a\xe7\x0d\xa0\x01\x17\x15\xa1\x60\xd5\x38\x78\xd9\x99\x16\x80\x99\xff\x7f\x7f\x64\x53\xd0\xf9\xa3\x0f\xf3\xc1\xac\x10\x49\x10\x20\x5a\x35\x1b\x4a\xe6\x53\x37\x52\x9f\x1b\xaf\x72\x9f\x43\xbc\x76\x3b\x95\x99\xaf\xac\xe2\x5b\x81\xaa\x5d\x93\x6a\x4d\xff\x67\xb8\x38\x9f\x5b\x93\x0a\x74\x6f\x62\xfe\x08\xa0\xd9\xdd\x6a\x45\x49\x79\x5c\xeb\x54\x0e\xb2\xbf\x05\x90\x75\x27\x27\xec\x6a\x2f\xed\x05\x53\x54\x7a\xb2\x32\x9a\xca\x1f\xd9\x0d\xb7\xdf\xfb\x30\x9f\x06\xfc\x46\x54\x3d\x70\x73\x55\xbc\x15\xc3\xa5\x7d\x4c\xec\xe7\xc6\xf3\xf8\x73\x9f\x3f\x33\xb8\x67\xbd\x3f\x34\xed\x04\xa5\x50\x4a\x2d\x06\x54\x12\x9e\x52\x3e\x2d\x27\x5c\x96\xc5\x4f\x7a\x6e\xb1\xd2\x33\x60\x41\x65\xf5\x97\x90\x31\x1b\xb4\xb8\xc0\x44\x16\xfb\x3b\x2f\x32\xd0\xc0\xa1\xbd\xad\xd6\x97\x8c\x49\x38\xb5\x64\xec\x39\x5a\xa0\x31\x1d\x0f\x6a\x77\x0d\xb6\xdc\x5e\x82\x6a\x31\x2f\x14\xdf\x34\x02\xec\xae\x27\x27\xec\x69\xa9\x24\x16\x28\x2a\x9e\x81\xfd\xc6\x80\xeb\x2b\x24\x82\xa1\x51\x78\xdf\x8b\xdc\x84\xad\x17\x60\x7e\x02\x1c\x6c\xd8\x9a\x50\x11\x09\x26\xe7\xe8\x32\x99\xe5\xe4\x14\x65\x45\x3f\x4f\xce\xa9\xa3\x69\xf5\x0e\x43\x8f\xf9\x9d\x32\x9b\xcc\x6c\x1e\xd6\x46\x88\xcc\xcb\xf0\xee\xd7\xe7\x71\x67\x51\xcd\xef\xf0\x68\x8b\xe1\x7e\xa1\xc2\x52\xed\x56\x2a\x6b\x8a\x95\x98\x7a\x48\x7d\xa3\x6f\x34\xba\xf7\xe5\xaa\xa8\xd0\x23\x77\x76\x94\x84\xb3\x46\x07\xa6\xbf\x7b\x91\xb0\x92\xbb\xa1\x80\x12\xed\x51\x02\x4e\x83\x4d\x74\xa5\xb4\x16\x9d\xee\xbc\xb8\x35\xd7\x84\x45\x52\x46\x91\xda\xca\x3e\x34\x07\x4a\xbc\x1b\x3b\xb9\x5c\x09\x0d\x41\x2c\xf0\x9a\x25\xf1\x48\xf0\x61\x0f\x9b\x52\xae\xf4\x05\xa2\x09\x39\x22\x70\xc3\xd1\x14\x18\xee\x46\xd4\x2f\x01\x77\x29\x22\xac\x6a\xb1\xd6\x2c\x78\xcd\x55\x35\x69\x21\x65\xa2\xdd\x1b\xfa\x7d\x0e\xef\x80\x56\x32\xee\x89\x1f\x44\x8b\xd6\x99\x46\x2c\x94\x00\xd3\x72\x2e\x32\xd9\x40\x36\x3a\x3f\x4e\xeb\x8d\xcc\xce\xd9\xbe\xa8\x72\xb9\x77\x3f\xd1\x71\x7b\x80\x5b\xd8\xa2\xd6\xf8\x45\xd5\xf8\x90\x94\x25\x48\x9f\xc9\xf3\xbc\x11\x0a\xf2\xf3\x46\xfc\xba\xe2\xd9\x8d\x85\xa2\xf8\xe1\x47\xdb\xd0\x25\xbf\xd5\x13\xc6\x57\x4c\x3f\x36\x3c\x8f\xb7\x7c\x05\x2f\xa4\xb0\x34\x80\x4f\xb4\x0d\xcf\x6e\xd0\x40\x8b\x92\x8a\x39\x8b\x3d\x15\xec\x30\xa4\x98\x14\x0d\x57\x22\x3f\x73\xce\x18\x57\xcf\x2e\x0c\x30\x7d\x29\x38\x1c\x41\xa5\xaf\x47\xce\x78\xde\x08\x3d\xe7\x8d\x50\xad\x6c\xd0\x1d\xcb\xda\xc9\xe0\x64\x00\xb7\x0e\xe1\xd3\x0d\x98\x8a\x57\xa6\xdb\x9a\x31\x9b\x9d\xa0\xd3\xf9\xdd\x15\xda\x0a\xc9\xd9\x18\x21\xbd\xc0\x26\x67\x5a\x80\x76\x01\x4a\x60\xac\xd0\x82\x03\x74\x19\x24\x17\xe7\x09\x00\xcf\xc4\x2a\x27\xee\x28\x99\xdc\x6e\x79\x95\xfb\x59\xbc\x35\x0f\x8c\x2b\x59\x77\x32\xdb\xda\x6f\xa8\x33\x4f\x31\xfe\xf3\x57\xdf\x39\x4d\x8b\x95\x22\xed\x81\x84\x7d\x59\x92\x98\x27\x25\x1b\x1b\xb1\x13\x13\x72\xf1\x3f\x38\x00\x75\xad\x25\x20\x3b\x07\xf1\x2e\xc4\x42\x97\xba\xcc\x7b\x97\xa3\xc4\x5e\xad\xf4\xeb\xf2\xd9\xeb\xb7\x17\x7f\x4c\xb6\x03\x49\xe1\x4d\x03\xc9\x9e\x42\xda\xf8\xb8\xab\x17\xd8\xbd\x55\x59\x54\x37\x4c\x56\x27\x9a\xd1\x01\x91\x46\xef\xa3\xad\x9a\x83\xe5\x6f\xdf\x14\x6d\x2b\x2a\x2d\x60\x69\x11\x42\x3f\xff\x32\xb8\x1d\x0e\x5a\x52\x2a\x25\xcf\x21\xf7\x1f\x6d\xec\x99\x26\x78\xa1\x09\x01\x37\x3f\x3e\x3d\x9d\xb3\xc7\xa7\xa7\x8e\xab\xbf\x69\xc4\x62\x05\x6f\x1d\x59\x5d\xf8\x1a\xef\xad\x45\xcb\x66\xbe\xc0\x40\x67\xeb\xc0\x91\x4b\xa3\x3d\x90\x0d\x13\xdc\x5e\x9b\x66\x8a\x4d\xef\xf5\xb3\xac\xc8\x0a\x84\x01\x80\x1e\x6d\x0f\x6f\xc3\x36\xfc\x09\x4a\x7e\x4d\x1f\xa4\x4a\x98\x21\x23\x38\x36\xa0\x58\xa7\x7a\xd6\x08\x9e\xa3\x81\x12\x05\x02\xbd\x85\xf8\x46\x80\x99\x0c\x89\xe9\xfe\x32\xb9\x6b\xeb\x1d\xda\xf3\x6e\xc4\x41\xb5\x8d\xbc\x11\x34\x3e\xb3\xa8\x8a\xb6\xe0\x65\xf1\x13\x8a\xb3\x06\x05\xc8\x0a\x6d\x5b\x7c\x5f\xb9\x81\xf9\xa4\xf5\xd1\xda\x9a\xef\x6b\xd9\x88\xa1\xef\xb8\x8b\xde\x56\x6f\xa1\x57\xbd\x9f\xff\x68\x7b\xda\xe1\xf3\x66\x27\xd0\xd8\x68\xc3\xa0\x9d\x9d\x18\x55\x03\xa8\x0b\x6a\x84\xbe\xf5\xcd\x4d\xcf\xcb\x52\xee\xed\x24\x39\x55\x2a\x39\x52\x04\x6f\xc1\x5b\xe4\x1d\xd4\xc2\xf8\x52\x5e\x2a\x7f\xae\xd8\xbb\x63\x25\xca\x52\xbf\xb6\x2b\xcf\x7b\xfa\xa7\xa7\xbb\xbc\x90\xc7\x93\xda\x71\x5d\x6c\xe2\x2f\x5a\x5f\x75\xa9\x84\x7f\x6e\x4e\x27\x75\x23\x34\x87\xeb\x67\x27\xdf\xb5\x72\xe2\xb8\xe3\xa9\x3e\x46\x83\xce\xe8\x93\x6e\xad\x25\x38\x48\x30\xe1\xaf\x11\x38\x95\x37\xa2\x12\xfa\x52\xca\xd9\x54\x0b\x5d\x16\x89\xa9\x28\x0f\x46\xb8\xba\x96\xfb\x6a\x16\x0c\xe5\x6b\x42\xef\x75\xa1\xda\xf0\x62\xf8\xde\x5c\x05\x7b\x81\xad\xd4\xba\x2f\x4a\xe9\xb3\x96\x48\x54\x41\x9f\xc8\x3c\xab\x9b\x56\xd6\xb4\x81\x67\xc2\xb8\x69\xd2\xc9\xbe\x08\x8f\x5f\xbc\xfc\xdc\xcb\x90\x29\xb8\xc9\xc0\x14\xfc\xfc\xc5\xc5\xe5\x85\xbf\xfe\xf4\x07\xa3\x29\x20\x48\xe0\xd1\x99\x05\x2a\xb3\x55\xd1\x2a\x77\xd4\x76\x4e\x46\xe9\x69\x78\xa1\xcf\x10\x26\xa2\xbc\x41\xd7\x07\x1b\xbb\x4b\xec\x02\x19\x0a\xf5\x95\xb7\xec\x60\xf8\x77\xba\xf4\xdd\x55\xfc\x4a\xf5\xaf\x5a\xb2\xe3\x6e\xdb\xa0\x23\xdf\x5d\x75\x25\xaf\x1b\xa3\x31\x81\x93\x8c\x54\x75\xbf\x53\x02\x56\xbd\x12\x92\xf9\xdf\xc0\x2a\x25\x7b\xf5\x16\x3b\xb1\xe6\x59\xa0\x28\x32\xe1\x12\x20\x72\x15\x4d\x8e\x49\x86\x84\x82\x85\x90\xbb\x96\x89\x3b\xbd\x60\x36\xa3\x10\x62\x10\x82\xbd\xc9\xb1\xab\x4b\xbf\x6a\x82\x14\x64\xd0\x2b\x77\xf3\xbc\x7a\x1b\x8d\xcf\x6c\x78\xd8\xdd\x8b\xac\x2c\xb2\x9b\x45\xde\xf0\x8d\xdd\xfe\xca\x47\x74\x74\x56\x52\x54\x5a\x40\x82\xad\xfd\xbc\xe1\x1b\xe3\xd7\x46\x64\x06\xbc\x3d\x64\x7d\x78\x5b\x99\x00\xce\xe8\x3c\x82\x56\x41\x56\x7e\xb6\x6b\x5b\x88\x34\xa3\xa7\x91\xdd\x0f\x06\x86\x09\x02\xef\xad\x63\x13\x48\x7c\xe8\xa2\xb2\x12\xd7\xfc\xb6\x90\x3b\xbf\x32\xba\x47\x58\xf0\x7b\x28\x67\xfd\x44\xdc\x46\xc0\x9e\x69\x4e\x72\x56\xb3\xa7\x5a\xb6\xb2\xe2\x78\x30\x82\x46\xc0\xf9\xad\x5f\x41\xef\xa7\xbf\x3d\x9d\xb3\x2f\xff\x07\xf5\x45\xb0\x6e\x2f\x56\x6a\x0a\x20\xf6\x45\xfb\x0d\xbe\x91\xc3\x37\x34\xe4\xae\xb4\xaf\xef\x94\xd1\x95\x9a\x0a\xec\xdd\x66\x17\xf1\x9d\xe0\xf9\x61\x3a\x63\x1f\xc2\xf7\x05\x8d\x35\x37\x71\xd2\x81\xac\xa2\x52\xaf\x7c\x2a\x8a\xe8\x2d\xf4\x80\x31\x10\x48\x9e\xb0\x09\xfc\x2f\x74\xee\xd9\x8b\xa7\x6f\xf4\x0f\x2f\x9e\xbe\x81\xbf\xbf\xfd\xfa\xf9\x8b\x77\xaf\x5f\x7d\xfd\xe2\x09\x9b\xb8\x7f\x4f\x52\x9e\x46\xf1\x25\x42\xac\x00\x78\x8c\xe9\xc3\xc6\x7a\xa7\xd2\x37\x84\xc3\xf1\xd3\xe7\xc8\x4e\x09\xea\xf7\xe5\xcb\xd9\xbb\x95\x3b\x1f\x02\x92\xd2\x04\xf5\x60\xd8\x03\x7c\x79\x30\x62\x5e\x7b\x60\xa2\x5b\x3a\x79\x4e\x92\xb3\x44\x4d\x43\xc1\x32\x44\x81\x19\xd4\xf9\xe8\x39\x11\xe8\xe1\x40\x95\x6b\xf6\x5b\x97\xdc\x91\xdd\x41\x0b\xc3\x8d\xb5\x7c\xf5\xbd\x49\x4f\xf4\xdb\x6e\x30\x74\x42\xfb\xd3\x0d\xa9\xd7\x37\x5d\x38\xbb\xbe\x96\x8a\xa2\xf2\xa9\x0a\xc9\x26\xdb\xe0\x4a\xc9\x0c\xd4\x78\xfa\xb5\x0b\x27\x69\x4b\x1b\x36\x6a\x0b\x02\xa4\x22\xf6\x03\x1d\x8b\xf5\x5a\x95\xd8\x7f\xad\x5b\x03\x38\x33\xee\x7d\x9a\x12\x14\x18\x7b\x29\x9b\xbd\x3e\x6f\x55\xc9\xd5\xb5\x55\x6d\x51\xed\x9d\x09\xdb\xc7\x98\xdc\xdc\xa3\x01\x80\x4e\x8c\x36\x6f\xd7\x0c\x15\x6b\x7a\xe1\xb5\xe4\xe5\xf5\x6a\xee\x17\x80\xf3\xba\x95\x37\xc2\xb3\xa9\xe9\x8f\x6d\xbf\x6d\x78\x65\x63\x4c\x95\x53\x11\x1f\x59\x58\x7f\x2e\x04\x69\xcf\xed\xf1\x30\x0f\xba\xd5\xa7\x70\x73\x7f\x2c\x1b\xc4\xb5\x99\x9e\xfc\xf9\xe4\x64\x33\x67\x93\x89\xb7\x46\xb6\x5e\x9d\xd7\x5a\x00\x44\x8a\x33\xb0\x56\x34\x2e\x1f\x7f\x58\xe6\x02\x94\x44\x26\xfd\xfb\x83\xe0\x63\x70\xaf\x74\x2c\x05\xd3\xa8\x9b\xc4\xf7\x1f\x49\xf3\x3c\x7f\xbb\x02\x43\x4b\xa3\xa6\xfa\xb0\x9f\x1b\x5b\xe8\x84\x97\xed\x62\xd3\x2c\xb4\x08\x31\x79\xe2\x27\xe5\x36\x44\x3a\xbc\x05\xb8\x9b\x5d\x59\x52\xd4\x22\x80\x84\xe1\xb7\xc5\x86\xb7\xb2\x59\x96\xbc\xda\xec\xf8\x46\x84\xe6\x68\x70\x5c\x16\xd5\x62\xa7\x26\xb4\x2a\x63\xb7\xec\x9c\x4d\x2a\x59\x89\x89\x07\x32\x8a\xbc\x2b\x5c\x31\x30\x15\x2d\x78\xd9\xd2\xb2\x0f\x82\x3a\x30\xb9\x87\x5a\xc8\x35\x83\xbe\x4e\x90\xd5\x83\x46\x35\xad\xdb\xae\xb5\x3c\xd9\x72\xb7\x7b\x1f\x28\x62\xe3\x67\x27\xff\x67\xaa\xbf\xfe\x0c\x2e\x08\xbc\x6c\x7f\x2e\xc5\x1a\xba\xf8\xb3\xeb\xec\xec\xbf\x9f\x2c\x5b\xa1\xda\xe9\xed\x6c\x96\xa4\x6b\x9d\xe3\x2c\xa3\x5a\xc9\x66\xc9\xcb\xf6\x7f\x37\x6f\x10\x0a\xe2\xd6\xda\x8c\x1f\xf8\xf5\xd2\xec\xa9\x6a\x9e\x89\x45\xa1\x16\x5b\xd1\x72\xff\x4b\xcf\x1a\x26\xdb\x78\x66\x2b\xbd\x52\x6f\x44\xcb\xdd\x9f\x3d\xad\x9a\xb6\xee\xd3\x02\x12\xee\xa1\xa7\x44\x95\xab\xc5\xfe\x9a\xb7\x03\x8c\xa7\x27\x1a\x05\xca\x9f\x7f\xbb\x58\x15\xed\xcf\xc6\x37\x77\x71\x23\x0e\xfd\x13\x8c\x35\x8e\x4c\xf1\xa5\x6e\xff\x7b\x2d\x0d\x26\xfa\xb7\xcb\xf5\x4d\xbe\xd0\xaf\x87\x05\xbc\x8d\x7a\xfa\xa8\x37\x3b\x6f\x0e\xc0\x59\x70\xc3\x4c\x4f\xfe\x4f\x59\xac\x16\xd6\x3c\xf8\x64\xfa\xe7\xcb\x47\xb3\x93\x00\x01\x8c\x37\x07\xca\x96\xae\x73\xbd\x4f\x27\xd5\x64\x49\x71\xa5\xe7\x3f\x6a\x9e\x5c\x6e\x44\xfb\x9c\xb7\xfc\xdb\xa6\xd4\xed\xfe\xf0\xf8\xc7\x59\x3f\xd3\x8f\xec\x09\xbb\xf5\x24\xc2\x69\x33\xcf\xa1\x05\x7d\x2c\xc1\x1c\x0e\x1e\x2d\x0f\x1f\x32\xfa\x80\x4a\xce\x4d\xff\x43\x2b\x98\x17\xfa\x7d\x49\x1e\x72\xe7\xfa\x48\xd8\x34\xbc\x6a\x45\x4e\x0e\x11\xf4\xcd\x39\xd6\x46\x78\x70\x9d\x9c\xe8\x56\xc4\x13\x9f\xaa\x14\x5c\xb2\x83\x96\x0d\x3e\xce\x37\xbe\x03\xa0\xba\x35\x89\x4b\x43\x62\xc6\x89\x5f\x57\x81\xb0\x21\x84\xde\xf1\x80\xfd\x8d\x50\x5a\x9e\x91\x6b\xc6\x31\x92\x08\x13\x97\xb2\x29\x78\xdc\x73\xc5\x78\x15\x12\x94\x15\x3c\x28\xac\x06\x68\x86\x12\x99\xbe\x08\x58\x59\xa8\x56\xbf\x89\x50\x0d\xd3\xec\x12\xd9\xe8\x08\xa5\x90\xec\x53\xb6\xe7\x07\x50\x9d\xca\xe6\x06\xf4\x87\x16\x52\x58\x0b\x3d\x16\xbc\x8d\xbc\x98\x39\xcb\x0b\x5e\xca\x8d\x8f\xa9\x21\xd4\xdc\x05\x09\x12\x0c\x67\x9f\xe3\x23\xa8\x95\x0b\x33\x77\x0b\xbf\x7a\x9f\xb3\x15\xbc\x53\x68\xef\x2c\xa8\xdb\x9e\x37\xd5\xb4\x9f\xef\xc0\x22\xa8\x1f\x5b\x0e\xef\x0f\x2c\x35\xf0\xce\x9f\xf4\x67\xf7\x9b\x8c\xd1\x01\x4c\x66\xbd\xb7\xd1\xbd\x18\xd8\x3e\x90\x92\x3b\xca\xab\xa6\x16\xa0\x99\x3c\x76\xfa\x2a\x01\xc7\x3a\xd1\x56\x4d\x6f\x67\x67\xbd\x34\x8b\x2d\xdf\x1c\xbd\x33\x02\xe3\x0b\xa5\xff\x4a\xd7\x1e\xa4\x0f\x46\xa2\x8f\x25\x0f\x06\xb0\x21\xea\x56\x9d\xf2\xd1\x2d\x7c\x63\x08\xa4\x5b\xc1\x2b\x16\xaf\xa9\xfb\x5f\xb0\xae\x06\xdc\x33\x43\x97\xab\x93\xa5\x17\x5b\x5e\x2f\xec\xab\x4d\x0d\xdd\x8a\x5e\x20\xd3\x6f\xda\x5b\x67\xee\x95\x6b\xf6\x16\x54\x12\xb3\x14\xbc\x24\x6e\x96\x6f\x82\x67\x04\x69\x19\xd2\xf6\x39\xb5\x9b\x35\x6a\x56\xfd\x1b\x65\x82\xea\x8f\x27\xba\x04\xb9\x14\xa8\x8b\x3e\xa3\x92\x93\x03\x18\xce\x0c\x12\xdb\x6d\x20\x9e\xf1\x86\x6d\xca\x2d\xaf\x9d\xe6\xfe\xbb\xab\xa5\x8b\xb4\x79\xc3\xeb\xe5\x96\xd7\xea\x07\x5d\xf7\xc7\x25\x14\xf4\x0d\x3a\xca\x8d\xc8\x44\x71\x8b\x6e\x6e\xb7\x58\x36\x3c\xbe\xa1\xe2\x0f\xb6\xd8\x8f\x7a\x39\xb0\x98\xff\xad\xbb\xad\xd9\xf1\x0e\x81\x49\x67\x0a\xd4\xfb\x6e\x47\x7c\xf4\x2f\xc0\x46\x30\x62\x1f\x13\xa5\xfa\xf4\xb3\xcf\x3a\x1c\x4a\xa9\x2d\xc0\xd4\xd0\x43\xd3\x5e\xb3\x84\x47\x9e\x36\x0d\x3f\xb0\x87\x0f\x83\x65\xb5\xe2\xf3\x0f\xa7\x3f\x82\x04\x8d\x4e\x34\x93\xde\x62\x8f\x83\x62\xe1\x2c\xb7\xa1\xa2\x23\xb4\x62\xdc\x76\x24\xfe\x8e\xf4\x7e\x7f\xa2\x3f\xdc\xce\xd9\xed\x8f\x83\x6f\x89\x93\x13\xf6\x92\xab\xd6\x18\x69\xbc\x93\x00\xaf\x98\x68\x1a\xb4\xf3\x8c\x6b\x8b\x98\x61\x42\x56\x89\x57\x67\xec\x99\x7d\xe1\x2d\x4b\xdd\xb3\x08\x88\x2c\x6a\x5e\x8a\xb6\x15\x9f\xe8\x7c\xe8\xfc\x0c\x2c\x31\xf2\xd4\x48\xf7\x87\x9c\x18\x1c\xf8\x4b\x36\x9f\xee\xe8\xf0\x9e\x79\xf8\x3f\xdf\x60\xeb\x26\x35\xbb\xf9\xa2\x5a\x99\xdd\x5c\x90\xcf\xcb\x4c\x56\x19\xb7\x38\x32\x6e\x2b\xd0\x51\xba\x93\xe3\x46\x1c\x3a\x47\x12\x1e\x4a\x85\x7e\xf5\xf3\x46\x89\x57\x55\x3b\xd5\xef\x8e\x33\x52\x40\x13\x2c\xd4\xd7\xfc\xeb\x69\x31\xd3\x93\x5a\xb0\xaf\xd8\x29\xfe\xe3\xf7\xec\xcb\xdf\xfc\x26\x24\x17\xa2\xd1\x4e\x5e\x55\xb7\xbc\x2c\x72\x93\xfa\xbc\xa8\x98\x99\x54\x9c\x16\xdd\xa3\x47\x6c\x62\xe6\xe8\x87\x1b\x71\xf8\x31\x68\x3a\x06\x94\x8d\xa6\xcc\x0d\xf7\x87\xe2\xc7\xb8\x17\x70\x54\x6e\x56\xe1\xf4\x55\xb2\xd9\x82\xce\xf5\xe2\xf2\x12\x6b\x85\xad\x69\x62\xcd\x66\x35\x8b\x56\xb4\x67\x69\x7e\x28\x00\xa7\x72\xb3\x0a\x3b\x17\xff\xeb\x43\xe7\x8d\x16\xfa\x08\x41\x34\x83\xf7\x5a\xc4\x73\x96\xae\xf1\x74\x16\x13\x88\xbd\x97\x46\x90\xe8\xec\xb8\xfa\xb0\x90\xd5\x02\x0d\x6b\xc7\xf6\x6f\xa4\x6b\xff\xec\xb3\xf8\x82\xdf\x29\xb1\x30\x6a\xe7\x05\xaa\xd0\x17\xba\xce\x31\xba\x3d\xfa\xf4\x2e\x7d\x50\xa9\x2f\x9c\x15\x70\x01\x0e\x0b\xa3\x9a\xe8\x57\xc6\x27\x5a\x69\x9b\x72\x51\x97\x3b\xb5\xd8\x16\xd5\x4e\x2d\x7e\x12\x8d\x5c\xfc\x24\xe5\x76\xb4\x48\xa4\x29\x7c\x53\xee\xd4\x1b\x5d\xff\xdf\x44\x23\xff\x4d\x02\x26\x54\xb2\xa5\x6c\xd4\x00\x02\xda\x17\xa6\xef\x49\x7a\xb7\x0b\xf4\x16\xba\x0f\x41\x8c\xd6\xa0\x57\x56\x9f\x4c\x79\xe1\x4a\x77\xcf\x6f\xc1\x55\xbb\xe0\xaa\xe0\xd5\x82\x6f\x57\xc5\x66\x27\x77\x6a\xc1\xd5\xa2\xdd\x4b\x7d\x41\xec\xb6\x7d\x02\x2c\xfa\x15\x2f\x1b\xb1\xe1\x4d\x7e\xf1\x97\x9b\xa7\xb6\x76\x62\x8c\x68\x16\x5a\x80\x92\x64\xa1\xcf\x85\x46\xf6\xbd\xba\xdd\x18\x6e\x5b\x63\x4d\xfa\xed\xb3\x02\x22\x86\x1a\x59\x26\x97\xde\x10\x5f\xc9\xb2\x4f\x0f\xe2\xe7\xe5\x50\x65\xcf\x64\x99\x5f\xf2\xb5\xb8\x6c\x79\x62\x73\x11\x62\x7a\x16\x56\xa0\x30\x3b\x46\x76\xf8\x50\x40\x92\xba\xd9\xa7\xea\x59\x63\xb2\xd1\xbb\x61\xdc\xe3\x68\x18\x26\x14\x0f\xc1\x05\x35\x2f\xf6\x4d\x71\x9c\xb5\xdc\x74\x5f\xd8\x7a\xdf\xeb\x6a\x43\x2d\xe4\x22\x7b\xfc\xe5\x68\xba\xcf\x75\xe9\x24\xb9\xb5\xac\xda\xc5\x9a\x6f\x8b\xf2\xe8\x8e\xd2\x0b\xf8\x52\x56\xed\x4b\x28\xdd\x59\x3d\xa0\x34\xea\x59\x27\x5a\x4d\x26\xfd\x88\x43\x2a\x5b\x89\xf0\x07\xbf\xb8\x4b\xd6\x3d\x63\xb4\xbc\xf5\x32\xf4\xe8\xe8\x76\xf0\x5a\x6e\xc5\xe2\x46\x1c\xd4\xc2\xb8\x29\x8e\x3d\x36\x74\xc5\x3f\x8a\x83\x72\x76\xd9\x78\x29\x74\x49\x2d\x7b\x56\x9b\x3e\x09\x2e\xf1\x96\x34\x15\xf0\xbc\x8e\xc4\x99\xcf\x6e\x67\x1d\xe9\x29\x92\x05\xc7\x3d\x0f\x41\x08\x9e\x4e\x5e\xe8\xff\xd1\xc2\x08\xe9\x29\xb1\x0c\x3d\x61\x2f\xee\x6a\x8c\x7c\x47\x19\x6e\x72\x5c\x7a\x6b\x9b\x43\x4a\x27\xd2\x1d\x1f\xcf\xf3\x67\xe6\xdf\x53\xa2\x65\x64\x19\x18\xef\xa6\x34\xfa\xf3\xfe\xfd\xd6\x62\x14\xc1\xf6\x8f\x24\xf6\x2d\xbf\x5b\xa0\xd1\x60\x61\x5d\x17\x46\x6c\xbc\x2d\xbf\xc3\x88\xbd\x4b\xeb\xee\xd0\x5d\x71\x48\x79\x87\xcc\xc4\x1b\xb1\x58\xeb\x7f\x8d\x5e\x7a\xa8\xac\x19\xea\x69\x23\x5e\xea\xff\x4d\x36\xd0\x72\xa3\xa7\x30\x9a\xef\xf1\xd4\x5b\x0e\xfa\x89\x17\xe8\xb4\x91\xa0\x0d\x2e\x0a\x70\x75\x2e\x50\x0d\x37\x66\xb7\xbe\x89\x5c\x0c\x3a\x7b\xb6\xe6\x9b\x8f\xdb\x5f\xba\xe2\xe0\xfe\xaa\xb9\x52\x0b\x5e\xb6\x0b\xf3\x86\xbc\xa7\x51\x4b\x4b\xc6\x52\xdd\x79\xf7\x56\x6f\xe1\xda\x29\xd1\x3c\xdd\x88\xaa\xb5\x9a\xfe\x37\x3c\x63\x6f\x2f\xd9\x9f\x4e\xfc\x86\x84\x57\xe6\x6b\xd1\xb2\xa7\x65\xbb\x78\xbc\x5c\xfe\xce\xc0\xb7\xc8\x00\xae\x6c\xda\x4a\x66\xee\x68\xf4\x20\xdd\x17\x6d\x76\x0d\x80\xc7\xb2\xa2\x94\x2a\x59\x2d\x74\x0b\x4c\x1d\x54\x2b\xc0\x8f\x10\x90\xd5\x41\x1d\x61\x1f\x5c\xb2\x16\x15\x6a\x3c\xf4\xd3\xab\xae\x6d\xcf\xfd\x98\xd8\x39\x9b\x7e\xa6\x47\xf5\xf0\xa1\xd1\x64\x60\x91\xab\x43\x0d\x09\x1d\x26\xb5\xac\x77\xf5\x64\xd6\xdd\xb8\xee\xfe\xe5\x4a\x3d\x2d\xdb\xaf\x31\xb0\xa6\x67\xd6\x41\xce\xfa\xdb\x4e\xbb\x96\xc3\xfe\xd1\xe6\x5d\x8f\x69\x78\xe2\xe1\x00\xf8\xdb\x4e\xfc\x1b\xdd\x85\x5f\x3e\xf1\x9f\x68\xd2\x7f\xf1\x9c\xeb\xe1\x8c\x98\xf3\xdb\x7b\x9c\x5b\x48\xf4\xbb\x04\x3d\xa3\x79\x5c\x88\x2a\x93\x79\xbf\x3c\x64\xae\xf3\x93\xff\x33\xdd\xb5\xeb\xc5\x6f\x7f\x6e\xf8\x7e\xf6\xdf\x4f\x66\xce\x06\x4a\xdf\xf8\xa1\xf2\x26\xd4\x33\xac\x65\xc3\x3e\x8f\xdb\xfc\xbc\xab\x8a\x41\x5b\x2a\xb4\xe5\x6d\x66\x5e\xbd\x40\xaf\x41\xa7\x48\x7e\x61\xc8\x25\x46\x69\x80\xf4\x64\xb5\x70\x2e\xbb\xe3\x14\xf7\x91\xe7\x6c\x3f\x5d\xf4\x0a\x1e\x4b\xd4\x7b\xeb\xa6\x29\xae\x78\xb3\x30\x2e\xeb\x23\x24\xca\x38\xf8\xb8\x2b\x52\x52\x20\xc1\xc5\x56\xde\x8a\x85\x8f\xb7\x1d\xdd\x40\x37\xdc\x37\xd1\x90\xa8\xf2\xbf\x2a\x2f\x05\x0d\xfe\x02\x46\xf2\x6f\xef\x31\xec\x74\x5d\xac\xdb\x05\x86\xb3\xdc\xf3\x69\x0f\x55\x31\xbb\x57\xf4\xc0\xa7\x2a\x9b\x66\x91\xa9\xa3\x72\x5a\xa4\x06\xf8\x56\x89\xe6\x42\x79\xd9\x15\xf2\x5e\x76\x9c\x79\x96\x8d\xe0\xf9\x25\x7a\xb6\x77\xe1\x09\x68\x41\xb0\x38\x1e\x9e\x96\xa5\x93\xf9\xf5\xba\x05\x6e\x4a\xa6\x47\xf4\x37\x83\xf3\xd2\x75\x54\x0c\x21\x86\x55\xe4\xf3\xa5\xac\x63\x3c\x7a\xec\x21\x7c\x57\xb5\x2e\x36\x36\xb7\x65\x18\xf8\x34\xe4\x69\xb5\x11\xed\x37\xe0\xee\xdf\x87\xa0\x4c\x06\x19\xa6\x85\x82\x87\xac\x3e\xf8\xf3\x02\x22\x81\xd8\xaa\xe1\xd9\x8d\xd0\xcf\x0d\x04\x41\xd8\xca\x7c\x84\x9f\xd7\x33\x5b\xcb\x2e\x70\x2f\x12\x80\xf5\x8c\x5e\xae\xe2\x2a\x50\x32\x09\x5b\x80\x41\x22\xd6\x8d\xcf\x45\x89\x58\x44\xb3\x83\xdc\x11\xf8\x05\x25\x5a\xeb\xb4\x5f\x8b\x46\x15\xaa\x9d\x33\x08\xb0\xf2\x58\x7e\x38\x11\x73\xd6\x70\x13\x3e\xcd\x31\x2f\x15\x7a\xf7\x39\x77\xc9\xe3\xc3\x26\x76\x04\x3a\x66\xe8\x6f\x98\x66\x88\x06\xb2\xc0\xe7\xb3\x44\x3c\x8e\x81\x47\x88\xe2\x23\xc6\xd4\x90\x4d\x2e\x9a\xa8\x74\x1a\xe3\x3a\x0a\xf0\xc1\xa9\xe5\x80\xd6\x88\x50\x28\x47\x39\xad\x67\xd0\x5d\x7e\xa3\xc3\x3e\xc2\x75\x18\x77\x81\x70\xda\x90\x14\x8c\x40\x0c\x55\xb1\x63\xf6\x91\x45\xb9\xf4\x69\x0b\x35\xed\x7c\x88\x1b\xfb\xbc\xbb\xfb\x79\xd1\x2f\x0e\xce\xdd\xdf\x05\x1f\x3e\xeb\x70\x4c\x2f\x2f\x26\x82\x6f\xfa\x6c\x12\x58\xf5\x2c\x1d\xd1\x1c\xab\xf2\xbc\x8b\xb8\x0a\x80\xd9\xe3\x60\x9e\x79\xba\x1b\xfd\xc1\xd0\xbf\x5a\x43\xbd\x6e\x0a\xa8\xa3\xb2\xa3\x1f\xde\x46\x3e\x92\xa6\x8f\x2f\xaa\x56\x54\xb9\x39\xdf\x81\xc9\x5d\x50\x3c\xe2\x2f\xa4\x43\xc6\x20\x16\x42\x90\x20\x08\x0b\xe1\xa9\xde\xfb\x28\x88\x23\x1b\x75\x80\x2b\xba\x9b\x35\x9e\xa7\x24\xf3\xfb\x39\xfe\x3b\x62\xfe\x48\xb9\x38\xc4\xfc\x89\xc8\xb2\xff\x8f\xf9\x53\x0a\xda\x7b\x32\x7f\x2f\x5f\xfc\xed\x98\x7f\x80\x2b\xba\xcc\x1f\x4f\x5f\x08\x28\x0b\x11\x78\x26\x2f\xad\x55\xed\xa2\x83\xa0\x9b\x00\x13\xce\x8b\xb9\x34\x77\x95\x4b\xba\xca\x31\xe8\x00\x62\x0c\x9a\x0d\x46\x7e\xfb\x7b\x36\xed\xac\x6f\x68\x5d\x00\x66\x08\xc4\x9d\x45\x10\x31\xdd\x76\x97\xa9\xa8\x03\xde\x6c\x50\x57\x0a\x44\xa2\xe6\x3d\xd2\xb1\xb4\xa8\x2f\x96\xd0\xc0\xbc\x36\xbb\xea\x82\xf6\x2e\xd8\x6a\xfe\xf7\xb9\x6f\xdb\xe7\x4c\x10\xd5\x6d\xd1\xc8\x6a\x4b\x60\xf2\x8c\xd4\xbd\x11\xed\x74\x42\x3e\x4f\x3c\x5e\x35\x3a\xa9\xd0\xaa\x9f\x9d\x5b\x67\x86\x09\x20\xad\x51\xaa\x46\xdd\x02\x1b\x23\x6c\xce\x44\xcd\x25\x90\xcb\x4c\xf8\x16\x2e\x1f\x7a\xfd\xd3\xa1\xd8\x5d\xf6\x9f\x7e\x48\x4f\xc8\xcc\xfe\xfc\x33\x9b\x10\x5f\xe1\x42\x3e\xb1\x91\x69\xcb\x7a\xa7\xae\xa7\x33\xff\x8d\x74\xe8\x09\xfd\xc3\x97\x90\xd5\x8b\xbb\xa2\x7d\x42\xe7\x34\xcc\x5b\x6c\x50\xce\x34\x71\x59\x4f\x03\x77\x01\xf8\xb0\xab\x80\x3d\xcb\xd2\xc5\xe7\x75\x7c\x27\x10\x4a\x8d\xcc\x7b\x56\x4a\x25\xf4\x6b\x5e\xdc\x15\xed\x64\x16\x7b\x1b\x18\x75\x0f\x94\x9a\xa6\x3c\x30\x69\xce\xa0\x54\xe3\x74\x7e\x35\xff\x24\x93\x9a\x19\xaf\xd1\x62\x1d\x1c\x2f\x16\x5b\x45\x05\xf8\x3d\xf8\xeb\x1c\xdd\x38\x7d\xe6\xd8\x23\x9c\x5b\xa8\x6f\xe8\x09\x3e\x7c\x1c\x38\x14\x95\x1e\x18\x15\xd2\xff\x57\x38\x66\xe8\x61\x10\x42\x69\x11\x99\x3b\xcf\xb8\x30\x72\xc9\x80\x4a\x07\xda\x3b\x88\xe8\x51\x42\x20\x6a\xc0\xc1\x87\x5c\xeb\x7b\x15\xa1\xa6\x4d\x0a\xdc\x91\x42\x71\xb4\x30\xdd\xc1\x07\x91\x9e\x9d\x75\xec\x5c\x18\x1b\xd1\x3e\x37\x01\xca\xd3\xd9\x72\x25\xf3\x83\x5e\x54\x37\x27\xdf\x5a\x36\xbc\xc7\xac\x0c\xf4\xbe\xc3\xd5\xf7\xed\x3f\x1c\x0a\xb4\x83\x5e\x9c\x31\x28\x35\xfd\x2b\x75\xa1\x87\x41\x6d\xab\xa7\x33\x8c\x9b\xd7\xd2\x8c\x39\x3b\x6d\xb8\xa6\x23\x17\x2c\xb3\xed\xaa\xcb\xfb\xc0\xc0\xf1\xf3\xe0\x7a\x00\xe6\x5d\xa2\x17\x88\x6f\x06\x54\x34\x7f\x60\xf5\x1d\x62\x9c\x08\x55\x34\x70\xa5\x9a\xd6\xe6\xe9\xb4\x7f\x7d\xc2\x12\x8e\x23\x88\xc8\xba\xf3\xd0\x99\xf5\x1d\x38\xef\x9b\x3c\x03\xf5\x5d\xea\xa8\xf6\x36\xe9\x59\x90\xc0\x2a\x14\x28\xcc\x7c\xd5\x77\xfe\x34\xd7\xe5\xf6\xd9\x85\x52\xef\x76\xa5\x4f\xe0\x1a\xfd\x6c\x9e\xb4\x7b\x13\x12\xd8\x21\x1e\x66\x74\xc2\x62\x5f\xb0\x2f\x89\xe7\xdb\xa4\xbe\x9b\x74\xd0\x4d\xff\xb7\xd5\x25\x98\xc3\x25\x58\xac\x63\xa2\x44\x77\xce\x92\x87\x06\xdd\x20\x6e\x02\xc2\xf3\x2e\xd9\x0d\xf4\x14\x18\xd7\x11\x34\xca\xdf\xbb\x2b\xde\x96\x9f\x10\xeb\x2f\x2e\x2f\xd9\xe7\xc4\x67\xe1\xf3\x7b\xef\xd1\xd0\x65\xa0\x67\x83\x26\x58\xc4\x74\x2b\xcd\x62\xc6\x81\x62\x36\x22\x16\xa7\x87\x47\x9d\xc7\x03\x85\x26\x4a\x79\xcc\x74\x26\x25\x15\xb7\x1d\x64\xfb\xea\x1a\x6a\x61\x0b\xcf\x41\xd4\xdb\xb5\x12\x33\x44\xe8\x23\xbc\x58\x3b\xd4\x84\x63\x6b\x9c\xb2\xe5\xa6\x93\xf9\xae\xec\xb7\xce\xc8\x13\x16\xe4\x58\x9e\xb2\x95\xbb\x9e\xbf\x7d\x01\xeb\x58\x03\xaf\xff\x04\x20\x3c\x86\x64\x0d\x98\xb2\xfe\x3c\xfd\xd3\xe3\xc7\x67\x7f\x56\x8f\x48\x7c\x16\xa8\xc4\x75\xcd\x9f\x7f\xd6\x04\x7e\xf8\x12\x1d\x9c\x2f\x9a\xb7\x97\x47\xfb\xf3\xe5\x59\x9c\x08\xb6\xaf\xe4\x3f\x77\x4e\x82\x84\xce\x53\x96\x79\xb8\xba\xc4\x69\x0a\x97\xb5\xb3\xa6\x9a\xd2\x7d\x96\x35\x60\xb9\xf4\x9a\x7a\x6f\xa8\xb4\x80\xec\x9d\xc2\xdc\xfc\x91\x2a\x9f\x45\xd6\xc6\x11\xcf\xd6\xa0\x41\xff\xc7\x99\xaf\x3f\xde\x81\x2b\x41\x21\xc1\x28\xf8\xc4\xa6\x89\xd3\xe8\xa1\x60\x32\x86\x24\xd2\x7d\x60\x2a\x81\x32\xbf\x57\xcd\x89\x9d\x2b\x43\xa0\x50\x76\x11\x34\xb3\xba\x9e\x2c\xc5\x7f\xec\x78\xa9\xa6\x96\xbe\x67\x4e\x5f\xc1\x4e\x6a\x68\x9b\x81\x71\x93\xd0\x6c\xc3\x4f\xf9\x13\x06\xfd\xd4\x3b\x4d\x97\xd8\x63\x1a\xb7\xbc\x40\x28\xbd\xa4\x93\xf6\x04\x84\x3e\xec\x14\x04\x81\xbb\x6b\x81\x15\xea\x49\xba\xce\xb1\xb3\xde\xc3\xcf\xdf\x97\x17\xfc\xc0\x47\x6b\x26\x7a\xeb\x77\x55\x08\x1c\x11\x2d\xe4\x3a\xa5\x90\x76\xe9\x13\xad\x14\x64\x2e\xb6\xff\xc4\xdd\x05\x09\x09\xcb\x0f\x20\x09\xe1\xbf\x8d\x46\x80\x35\xc2\xe0\x0e\xda\x04\x2b\x96\x30\xa5\x38\xb4\x49\xf9\xad\x30\xb8\x31\x63\x1e\x07\x46\xbb\x6d\x43\x9a\xf4\x0b\xa9\x72\x57\xc9\xd0\x25\x1e\xc2\xc2\x8e\x6b\x2b\x9c\xeb\x23\x6d\xa8\xa1\x36\x42\x4a\x09\x84\xe6\x36\xae\x9a\x6a\xbb\x5f\x25\x14\xe4\xf2\x59\x73\xd0\x59\xf0\xba\x2e\x0b\x8f\xb5\x17\x8b\xd8\x6e\x85\xad\xa0\x7b\x35\x4c\xef\xb8\x9c\xf4\x6f\x52\x6e\x5f\x62\xdb\xa3\xe5\xa4\x50\xac\xfc\xc9\x51\x08\x55\x41\x80\x03\x81\xa3\x28\xda\xd2\xa3\x27\xdb\x31\x4d\x94\x77\x90\x38\x22\x89\xa3\x93\xf9\x15\x90\xa1\x0b\xa4\x7f\xc0\xae\x46\x80\x7f\xcb\xd6\x94\x85\xff\x8d\x16\x02\xb0\xef\x10\x2d\x03\x72\x19\x94\x07\x83\x72\xd4\xb7\xad\xcc\xe3\x22\xdc\x55\xa6\xb0\x5e\x00\x87\x9d\x84\xaf\x1d\x4d\xfe\x98\x72\x08\x4b\x75\xf7\x10\x52\xf5\xf7\x5c\x03\xf9\xda\x31\xa9\x6b\x56\xf2\x6d\x6d\x4a\x2c\x1b\xc8\xa3\x3e\xa7\x0c\x49\xf3\x60\x2e\xd8\x63\x77\x19\xa0\x23\x77\x9a\x0c\x7e\x4b\x52\xc2\xe7\x82\x25\x14\x30\xbe\x33\xe7\xb9\x28\x45\xe8\x0e\x12\x73\x77\x42\xd0\x04\xfb\xbd\xed\x87\x4b\xbd\x13\x7e\x3f\x3f\xb7\x05\x1e\x3e\xb4\x9f\x2c\xf8\x79\x70\x4f\xf7\x1c\x2a\xb6\xac\x43\xeb\x89\x44\x99\x8b\x52\x70\x6a\x14\x9d\x28\xe6\xaa\xac\x4b\x7e\xcc\x98\x07\xee\xad\x38\xe8\xb7\xbe\xa5\x1e\xd1\xfd\x48\xff\x4c\x54\x6d\x28\x48\x2b\xd2\x37\xc4\xe7\x19\x69\x52\xb5\x50\x3d\xde\x70\xa7\x7f\xe8\x98\x54\x1d\xf4\x20\x7c\x3e\x23\x59\x95\xf4\x1b\x12\x49\x41\x1a\x96\x0f\xa9\x07\xd8\xc8\x4e\x6d\x7a\x3b\xd5\x67\xf2\xc4\x6e\xa5\x34\x0e\xc8\x7f\x11\x9e\xe2\x1c\xf1\x2a\xed\xbd\xf5\xed\x2b\x87\x9f\x33\xe6\x14\xc1\x67\x32\x35\x79\xec\xb6\x15\x24\xed\xf5\xaf\x7a\xf2\x63\xec\x94\xd6\x5a\x38\xd5\xe8\xdd\x3d\x79\x7c\x7a\xfa\x4f\x93\xa4\x20\xd7\x57\xe5\x0d\x6f\xaf\x97\x99\x28\xca\x38\x33\xf3\xf0\xdb\xdd\xee\x1c\xd2\xc7\x47\x89\xaa\x78\x21\x38\xbf\x1f\x18\xf8\x37\x77\x33\xf6\xc8\xbd\xf7\xbb\x38\x56\x84\x66\xdf\xa9\x42\x0f\x02\x4c\xfa\x7e\x79\xa8\xb2\xf0\x24\x78\xdf\xf3\x6e\x36\xe7\xd2\x27\x5c\x4e\x4c\xec\x1b\xe5\x6d\x8f\x16\xd3\xfe\x72\x6c\x25\xaf\x2d\xad\x7b\x2c\xa5\xad\x33\x6e\x01\x4d\xe9\x2f\x98\xeb\xd2\xd0\x62\x24\xcf\xe2\xb9\xab\xfb\x31\x0b\xf1\x5c\x58\x48\x03\x67\x11\xa1\x30\xd3\xe6\xb2\x1b\xbc\xb3\x7c\x07\x7b\x76\x11\xe9\x61\x72\x3f\x85\x29\x32\xfd\xc8\x08\xe0\x90\x69\x05\x33\x3d\x07\x3b\xd4\x21\x15\xb9\x19\x4c\x90\x33\x8c\xda\xa1\x67\xb2\x40\x4f\xc9\x0c\x1a\xa4\x5e\x51\xe5\x60\xc9\x08\x67\xa5\x95\xac\x2e\x77\x9b\xa2\x22\x00\x7a\x01\xd4\x97\xea\x6e\x1a\x42\x7b\x78\xde\x71\x33\x87\x13\x9f\x52\x80\xee\xaf\x39\xc2\x1c\x5a\x88\xb4\x5c\x56\x22\x01\x8f\x16\xd0\x83\x74\x7e\xbb\x16\x35\xe3\xbb\x2a\x07\x9f\x29\x4c\x0a\x6b\x13\x49\x02\xe2\x07\xb1\x25\xb3\xa2\x72\x29\x27\xdf\x4f\x67\x16\x0c\x04\xc6\x0d\xd9\x0f\x64\x1e\x26\x36\x6c\x76\x15\x0b\xd0\x39\x48\xea\xdd\x44\x0e\x71\xc5\xe4\x9a\xaa\xe0\xb1\xc3\x76\xe0\xef\x44\x79\x80\xdc\xb4\x61\xde\xec\x56\x32\x05\x99\xa9\x21\x0a\x1a\xc0\x40\x82\xcc\x9f\x26\x43\xad\x4d\xb9\x28\x5b\xb6\x02\x3d\xbf\xf1\x81\xc9\x64\xd3\xe8\xa7\x0e\xe6\x4c\x39\x88\xd6\xcf\x5b\x25\xee\xda\x0e\x14\xe4\x75\xd1\x1e\x53\x09\x07\xac\x79\xaf\x7b\xe4\x2b\xa7\x25\x6e\xaf\xb5\x44\xa7\xf9\xed\x05\x86\x86\x3c\x6d\x5b\xb1\xad\x5b\x03\x30\xab\xe9\xb3\x15\xcf\x71\x86\xd0\x5d\xb1\xb3\x07\x5c\x0e\xde\x0b\xf8\xa2\xd8\x79\x70\x21\x2c\x42\x31\x64\x63\x2e\xbe\x69\xa8\x80\x0e\xa5\xbc\x80\x42\x52\xdc\xf3\x9f\xd3\x9b\x32\xe8\xd0\xef\xd9\xa9\x3d\x69\x9d\x32\x3b\x82\x92\x9e\x05\xc7\x66\x17\x33\xb1\x4f\x1a\xa5\xed\xcc\x3a\x9a\x2d\x17\x32\x5d\xb8\xec\x7c\x16\x71\x7b\x59\x8a\x6a\x83\x02\xed\x19\x2b\xd8\xef\xcf\xd9\xe9\x19\x2b\x16\x8b\xd0\x11\x3d\xac\xf3\x43\xf1\x23\xfb\x2a\x58\x00\xa7\x59\x58\x35\x82\xdf\x78\x14\xa7\xb0\x29\x62\x72\xfc\x10\x5c\x1f\x3d\x33\x9a\x3e\x14\x8f\x1d\x23\xe6\x4a\xf9\x74\xe7\x48\x48\xf0\xbf\xc2\x41\x82\x3d\xfe\xaf\x7a\x92\x98\x4b\x69\xa4\x08\x73\xff\x43\x04\x67\x07\x4f\x91\xf0\xe2\x73\x47\xc8\x3b\xb9\xd7\xe7\x87\x6b\xa4\x7b\x78\x60\x27\x7b\x4e\x0f\x27\x37\x59\x02\x8e\x7a\x66\x9f\xb6\xad\x05\x0b\x46\xf1\x64\x1a\x1d\x19\xd0\x81\xaf\xfc\x79\xa1\xaf\x64\x34\x3b\x6f\x64\xcb\xd4\x96\x97\xa5\x30\xf0\x17\xbe\xfc\x17\xe7\x6c\x61\xd2\x0d\xee\xaf\x8b\x52\x10\x5a\x21\xfe\x59\xc9\x15\xa4\x7b\xf5\xb9\x54\xdf\x99\x8e\x4e\x67\x70\x12\x90\xad\x6f\xcb\x2e\xa8\x28\xe7\xe0\xfd\xed\xf1\xa1\x9f\xa9\xee\x05\xde\x77\x1c\xb8\x93\x04\x1b\x84\x74\x86\x86\xfc\x6c\xf0\x08\xb1\xf3\x5e\x43\x9a\x54\xef\x44\xe0\x86\xb7\x58\xd8\x63\xe5\x01\x0b\x30\xde\xc2\xe3\xe5\xba\x58\x43\x22\x45\x32\x2f\x67\x0f\x22\x29\xd5\x0f\xad\xde\xa9\xeb\x25\xaf\x6b\x6b\x5d\x8a\xbe\xcf\x75\x13\x33\x9f\x57\xfc\x7b\xc1\xfe\xb2\x53\xad\x43\xd5\x84\x8c\x0a\x0e\x5a\xb3\x95\x75\x98\x24\x65\xae\x77\x96\xdd\xf0\xbb\x3a\xe7\xad\x4b\x04\x4e\x1e\x97\x44\xee\xf7\xaa\x01\xd4\x7e\xc0\x5b\x69\xcb\xef\x88\xea\xc3\x5e\x04\xba\x7f\x98\x86\x24\x00\x6c\xf1\x9c\xf2\xfb\x3e\xce\x2a\x79\x03\x38\xeb\xee\x92\x22\xdc\x78\x3e\xc4\x01\x21\x83\xf9\x32\xe6\x9d\x61\x7a\x5b\x54\x53\xd2\xc1\x21\x72\x67\x84\x5a\x83\xbb\x31\x59\x5c\xd5\x65\x91\x89\xe9\x83\xa4\x4e\xbb\xc3\xa6\x8b\xb8\x67\xf3\xf8\x07\xd7\x70\xc0\x39\xbb\xca\xf3\x4e\xe3\xd9\x86\x6e\xbe\xc5\x79\x4c\xea\x2c\x54\xe8\xe8\xf5\x79\xd4\x53\xe8\x43\x62\xc2\x03\x51\x00\x6e\x96\x1c\xc6\x12\x31\xef\x07\x0a\xa2\xfc\xdd\x15\xbe\x6e\xdf\x41\x86\x2b\x83\x1b\x6a\x9c\x17\x88\x66\xc3\xe9\xd8\xac\x62\x2d\x7c\x9b\x76\xb1\xac\x9d\xe2\x35\xe0\x62\x33\x0e\x86\x49\xa6\x8e\x3d\x4d\xa1\xfc\x1f\xe4\x36\xa1\xff\xe8\xda\x76\x71\x14\x72\x7f\x25\xaf\x64\x3d\x3d\x1d\xdd\x41\x71\xd4\x01\x0d\x49\xbf\xa8\xfa\x7c\x40\x7a\xba\x81\x89\x33\xa6\xdd\xf3\xf2\x78\xd7\xb4\x54\x51\xf3\x8d\x60\xbb\x9a\x4d\x01\x89\x03\x7e\x2a\x8b\x4a\xcc\x58\x23\x4a\x0e\x09\x8a\xac\x17\x1d\x2a\x29\xc0\x5d\x71\xa4\xd5\x01\x3b\xcc\x37\xe2\xdb\x3a\x6d\x15\x2c\x52\xf6\xae\x54\xba\xed\x63\xeb\x50\x84\x17\x21\xbd\xeb\x1e\x81\x42\x74\xec\x4c\x40\xf6\xd7\x5f\x75\x2e\x9e\xeb\x16\x7e\xed\xd9\x78\x34\xac\x67\xee\xa8\x59\x63\x07\x34\x25\x32\x59\xe5\xf4\x17\x5e\xe5\x1f\xb5\xbb\xf6\x45\x2d\x4c\x06\xe1\x84\x41\x68\xf0\xe6\x66\xa7\xc9\xc1\x22\xe6\x0e\xcf\xae\x2d\xb6\xf1\x0f\x09\x13\xe0\x3c\x6d\xd9\xfb\x71\xb9\x96\xcd\x0b\x9e\x5d\xfb\x58\x29\x1c\xa0\xbd\x25\x7c\x5e\x77\x76\x6e\x93\x6b\x05\x42\x95\x3d\x0d\x4d\x21\x72\x5f\xb9\x63\x0c\x6d\x3d\x78\x24\x9e\xce\x0d\xb9\xf0\xf8\x06\xed\xb4\x3e\x72\x6c\xf3\xe4\xf1\x11\xc6\x5a\x51\xd7\x8e\x84\xc2\x28\x31\x3f\x05\x46\xd5\x75\xbd\x3f\x5e\xee\x68\x7a\x0c\x9b\x38\xe8\x88\xd9\x43\xb4\x3d\xab\x06\x43\x78\x5a\x96\x14\x35\x7f\x14\xa4\xbe\x1f\x7b\x62\xdd\xc6\x7a\xa5\x23\x46\x5e\x3f\xd5\x78\xe1\xc7\xbb\xa1\x77\x28\x77\xf0\xf3\x3a\xee\x0b\x01\x1a\x1f\x5d\xb4\xdb\x36\x41\x4e\xae\xdb\x77\xf6\x47\x7a\x2c\xc9\x75\x9b\x58\x1d\xc8\x06\x20\x9a\xb5\x6c\xb6\x8c\x33\x5d\x39\xed\xa0\x07\x31\x94\x0a\x61\x59\x73\x93\xb5\xfa\xba\x6d\xeb\x27\x27\x27\xfb\xfd\x7e\x79\xdb\x3e\x3e\x3d\x5d\x56\xa2\x3d\xc9\x65\xa6\x4e\x6e\xdb\xdf\x3c\x3e\x5d\x34\xdb\x93\xe7\x2f\x2e\x2e\xaf\xde\xfd\xb7\xab\xdf\x2c\x7e\x77\xe4\x00\xb3\xdd\xee\xb2\xc3\xc9\x09\xc3\x2f\xfe\x38\xc5\x40\x38\xd3\xc7\xa2\x89\x7a\x79\xcf\x54\x22\xdf\x43\x2e\x9b\x3d\x95\x3e\x65\x45\xa7\x62\xb5\x6b\x2d\x1c\x2b\xac\x2e\xbe\x26\x01\x9a\x0f\x1e\x81\x9d\xf6\x28\x14\x1f\x80\xdc\xa0\x3e\xc0\xa6\x22\xa1\x9f\x6d\x27\xfe\x04\x91\xe3\x90\x2a\x10\x1a\x55\x24\x7a\xcf\x40\xad\x85\xbd\x9a\x63\xee\xb4\xf6\x1a\x22\x42\x8a\x16\x9e\xf6\xd5\xa4\x35\xa9\x65\x84\xd8\xba\xc7\x3d\xda\x40\x45\xce\x78\x75\xd8\xeb\x37\x7a\x4f\xa6\xc5\x91\xe8\x63\xe3\xd9\x3c\xae\xeb\x53\xa6\x40\x72\x03\xb6\xe5\x15\x5e\x8b\xe2\x4e\x4b\xb3\x45\x0b\xa6\xd7\x83\xc9\x5c\x07\x4e\xbe\xa8\x5a\x08\x87\xbe\x1c\x29\xf8\x75\x66\x56\x2f\xb3\xea\x5d\xe7\xb9\x59\x68\xa1\x52\x4b\x6d\xe6\x35\x58\x6f\xb7\x75\x6d\x24\x75\xdb\xec\x44\xb8\xed\xde\xd8\x14\xfb\xa6\xc5\xb5\x49\x51\x60\xb6\x17\x68\x0c\x6c\x66\x36\x40\x11\x30\x1f\xf4\xf3\xd0\x68\x9a\x40\xf7\xb0\x66\x95\x64\x5b\x48\xfb\xee\xf2\xbf\xf1\x46\xb0\xe3\x87\xac\x69\xd1\x1c\x95\x69\xd1\xc0\x99\x84\x07\xdd\x34\xa0\x10\x4c\x6b\xa0\x57\x3b\x3d\x03\x28\xc1\xa4\x7a\xed\x8c\x15\x8f\x1e\x75\x74\x7f\x81\x42\xcd\x1a\x82\xa3\x7b\x8e\x86\x88\xee\xb6\x55\xb7\xa2\xbb\xf1\x28\x92\x8f\x53\xaf\x9d\x9c\x18\x1e\x73\xeb\x99\x39\x83\x6f\x60\xe7\xd5\x3c\xf0\x87\x2b\x3d\xf3\x17\x7f\xb8\x5a\x9a\xf9\xa0\xc6\xe3\x11\x36\xdc\xb3\x0e\x43\xd0\x4e\x8f\xb3\xa1\xf7\x9b\x87\x7d\x2b\x03\x7c\xa5\xc5\x1b\xca\x58\xd6\x99\x21\xc9\x5c\xeb\xa2\x49\x70\x57\xa7\xca\x58\x0e\xb3\x6d\xff\x7a\x2c\x76\x3f\xd5\xed\xb0\xe2\xf6\xd3\xf2\x59\x92\x46\xfc\x22\x10\x2d\xe3\x6e\x56\x99\xc9\x88\x89\x29\x55\xb0\x4f\xb1\x6b\x49\x51\xb5\x1f\xec\x8c\xfd\x9b\x68\xa4\xf1\xb0\xf4\x85\x87\x4d\xa1\x89\x85\xa0\x63\xff\xe4\x53\xeb\x7c\x35\x66\xd1\x54\xdd\x7f\x39\x7c\x4f\x8c\x82\x43\x3f\x36\x1e\x83\x43\x0a\x71\x27\x19\x5e\x8e\x0e\x8d\xd3\xb0\x7e\xd2\x0b\x24\x5e\x9e\x23\xbe\x75\x5f\x4b\x26\xd6\x6b\x91\xb5\x26\xf2\xa6\x31\xb9\x75\xef\x43\xe7\x98\x7b\x89\x59\xc6\xa7\x6d\x9f\x6f\xdd\xc7\xec\xab\x9e\x75\x2f\xf4\xf3\xef\xed\x7a\x1a\xf9\xec\x14\x7a\x6d\x17\x8f\x67\x0f\xa2\x55\xed\x59\xab\x79\xfa\xf9\x17\xa4\x1f\x1d\x33\x72\x22\xf7\xf7\x3c\x0f\x3a\x1c\x4b\x9f\x73\xdd\x34\xa5\x49\x17\x1b\xb6\xab\x03\x19\x97\x64\x48\x55\x2d\xc7\xfc\x85\xa0\xc7\xe4\xc9\xcd\x7a\x65\xa2\x75\x15\x6e\x6e\x58\x74\x71\x2b\x9a\x83\x35\xf6\xb1\x7f\x72\x7d\x05\x93\xdb\x8c\x59\xf7\x2a\x4b\x1e\x12\x58\x59\x4d\xa9\xaa\x45\x86\x19\xaf\x6c\x31\xd9\xb0\x53\x73\x38\x1b\x8a\x85\x72\xa9\xba\xd1\xf4\x02\x72\x8d\xbe\xc7\xc0\xa0\xb2\xde\xb5\xbb\x46\x18\x6b\x06\x66\x18\x47\x7f\x8b\x2d\xdb\xd5\x41\xbf\x13\xd7\xa2\xb8\x2b\x14\x7a\x80\xba\xf3\x1f\x2e\x8a\x39\x84\x9f\xc6\xeb\x62\x73\x6f\xb5\xd7\xbc\x4d\x1e\x5f\xb2\x6e\xdf\xc3\x38\x7d\xd6\x24\x37\xab\x3f\xf9\x33\xcd\xfd\x66\x07\xbd\x53\x62\xbd\x2b\x6d\xf6\x24\xdd\xc4\xba\xc0\xc4\xaf\x72\xd7\x32\xc8\x75\x10\xf4\xb1\x27\x3d\x98\x9e\x81\x11\x11\xd0\xcf\xbb\xac\x42\x93\x9a\x43\xef\xfc\x66\xc3\xf1\x9c\x93\xb1\xfd\xfc\x33\xf2\x9d\xfe\xba\x27\xdb\x0a\x16\xfc\xcc\xbc\x5e\x20\xba\x17\xcb\x6b\x96\x83\x64\xc6\x11\xcf\x69\xc9\xc3\x52\xc7\xff\x5d\xb0\xc7\x6c\xc1\xa6\x53\xf7\xd7\x8c\xfd\x13\xdb\xcf\xd8\x23\x06\xf2\x46\x70\x88\x43\x19\x22\x86\xc5\x22\x87\xfe\xf4\xe8\x9c\x45\x8e\x73\xee\xa2\x98\x16\x91\x46\xb5\x2f\xcf\x6f\x10\xbd\x67\x72\x25\xea\x67\xa3\xb5\x75\xc9\x35\x4d\x75\xef\x22\x99\x6d\xd2\xab\xd8\x36\x86\x02\x06\xea\x79\x5c\x36\x72\x27\x16\x67\xbc\x2c\xfb\xd2\x82\xa9\xb6\x61\x97\xc9\x56\x31\x23\x97\xed\x1b\xbc\x9e\x94\xb2\x91\xf3\x47\x83\xfd\x6c\xbd\x00\xf7\x82\x86\xc1\xdf\xb6\xbe\x14\x7c\xfa\x08\xd7\x9b\x2b\x7e\x83\x42\x28\x91\x03\x9e\xbf\xfa\xce\x45\x7a\x73\x15\xf2\xb3\x49\xea\x11\xcf\xc5\x1f\xae\xde\xbc\x7e\x5e\xdc\x9a\xfc\xa6\x1f\x20\x01\xb8\x4b\x04\x2e\x8f\x51\x1a\x98\x06\x9b\x4c\x9b\xce\x42\x5e\xdc\x92\x59\x30\x39\xc4\xf3\xe2\x36\x1d\xc5\xe6\xd2\x71\xeb\x6a\xc7\x51\x23\x30\x3b\x47\x47\xef\xd1\xc9\xfe\xd1\x97\x66\xbd\x93\x8a\x63\x88\x14\x46\xdf\x8d\xa0\xe4\x9c\x59\xa9\x7c\xd2\x43\xd4\xe5\xf7\xe8\x27\x6c\x01\x97\x3a\x64\x1c\x80\x13\x55\xed\x80\x63\xd9\x5a\x66\x3b\x67\x00\x82\x3f\xe2\x94\xc5\x76\x23\xbb\x90\xb9\x0e\x75\x12\x71\x18\x06\x72\x85\xa1\x6d\x84\x56\x07\x1f\xac\x43\xb3\x8b\x3a\x36\x0b\xb4\x73\xbd\x00\x60\x7d\x33\x39\x08\x38\x16\x4c\x0b\x49\xea\x9e\xd2\x65\xfb\xd8\xda\x44\x1d\x08\xb7\x5d\xca\x2a\x93\x55\x2b\xee\xda\xad\xa8\x76\x71\x7a\x46\xe3\x90\x8a\x01\xd2\x3e\xf0\x5d\x56\x10\x5a\xe6\xd3\x48\xc3\x9f\x61\x02\x69\x67\x00\x14\xa2\xfa\x1a\x33\xa2\xa5\x7a\x78\xe9\x0a\xa0\x36\xc5\x57\x58\xf2\x3c\x7f\x71\x2b\xaa\xf6\xb5\xc9\x7d\x64\x02\xd2\x72\xb9\xaf\x26\x73\xdb\x87\x91\x95\x76\xf5\xbd\xab\xe8\x79\x8f\x2a\x75\x06\x20\x2b\xb2\xb6\xfa\x22\xc4\xc2\x30\x51\x43\x2d\x98\x85\x9f\x00\x13\x4f\xe6\x76\x1a\x5f\xea\x3f\x31\x32\x80\x4c\xe6\x1c\x6e\x1b\x64\xa9\x93\x13\x86\x44\xe0\x74\x74\xf3\x81\x9e\x1a\xca\xba\x76\x90\x59\xe7\x8a\x15\x15\x7b\xf9\xd2\xc4\x08\x67\x3b\x65\x92\x71\x63\x05\x44\xcb\x58\xed\x56\x26\x75\xff\xe8\xe9\xef\x80\x9f\xe9\xeb\x13\x35\x7a\xd3\xd1\xa3\xe9\x2a\xdf\xc7\x4c\xda\xaa\xdc\x35\xc7\xe7\x0c\x78\x76\xe6\xfd\x39\xc0\x2b\xf5\x68\x52\x6c\x28\x85\x41\x71\xe8\xc6\xaa\x77\x86\x31\xa8\x38\x5f\xd6\xe9\xc4\x3c\x28\x16\x95\xcc\xc5\x0f\x30\xab\xe7\x9f\x43\x83\x9f\xff\xc8\xfe\x93\x44\x58\x4d\x18\x5b\xc9\xbb\x05\xfa\xf0\x3e\x61\x08\xae\xb5\x58\xc9\xbb\xb3\xa8\x50\x94\x2c\xea\x09\xa6\xc9\xac\x39\xbc\x95\x3e\x2b\xb6\xb5\x6c\x5a\x5e\xb5\x71\x35\xa4\x67\xbc\xe1\xbe\xac\x3b\x64\xf1\x3b\x8c\xe4\x09\x53\xb2\x2c\xf2\xa0\xc4\x07\xfa\xc7\x72\x9f\xc1\x78\xe2\x01\x98\x4b\xf2\x09\x2b\xaa\xb2\xa8\xc4\x62\x55\xca\xec\x26\x6a\x48\xcf\xd2\x82\x97\xc5\xa6\x7a\xc2\x32\xa1\x05\x82\xa8\x00\x71\xd8\xeb\x6c\xa2\xde\x30\x6c\x36\x89\x46\xf4\x81\xa4\x2b\xf7\x4b\x78\x2d\x78\x6e\x0c\xe3\x17\xd7\x45\x99\x4f\x61\xbc\xd1\xca\x5f\x5e\x0b\xd1\xaa\xee\xfa\x93\x8f\x2e\x20\x04\xc3\xc7\x15\x08\x92\xee\xeb\x0f\xe4\xdf\x44\x2d\xf0\xe3\xd2\x16\x77\x3d\xf3\x01\xe8\xec\xdc\x11\xfb\xc1\xfe\x83\xd6\x25\xf6\x14\x0f\xc4\x76\x94\x47\xf3\xe2\x96\xcc\x03\x85\x70\x03\x28\x1c\xc8\x0f\x7b\xee\x12\xd9\xe8\x25\x9d\x0c\x00\xbe\x65\x4a\x5d\x69\xf1\xd2\x33\xb7\xbd\xbc\x9f\x30\xbe\x52\xb2\xdc\xb5\x22\x58\x84\x56\xd6\x4f\xd8\xe2\x77\xbf\x8b\xd6\xc6\xb1\x49\x97\x3f\xee\xbb\xf8\xdd\x85\xa7\xae\x5a\x47\x48\x38\x3b\x74\x4c\x63\xb1\x17\xab\x9b\xa2\x5d\xf8\x04\xb4\x4f\x98\xac\x79\x56\xb4\x87\x79\x67\x03\xb2\xc7\xa7\xa7\x5b\x05\xf6\x68\x1e\xf2\xf2\x62\x2b\x7f\xfa\x28\x1a\x29\x1b\x17\x42\x24\xf5\x59\xb8\x10\x13\x3f\x94\x25\xee\x6b\x1b\xeb\x8d\x63\xe9\x11\x07\xe8\x3e\x8a\x39\x66\x46\x12\x8d\x57\x36\xd3\x41\x84\x78\x37\xd1\xcf\x4d\xb9\x5e\xb3\xbd\x7e\x77\xfb\xd0\x2f\xfd\xc8\x16\xc8\xc1\x2c\x2f\x1a\x91\xb5\x36\xed\x3f\xfa\x4e\xba\x40\x78\xab\x19\x82\x54\x28\x8c\x33\x48\x2f\xb8\x64\xf8\x4c\xdf\xf2\x1b\xa1\x6c\xe2\x45\x97\x6a\xd9\xd8\x22\x7c\xbe\x65\x77\x7f\xdb\x6b\xce\x65\x5b\x36\x92\x15\xf0\xa8\x68\x96\x8c\x5d\x16\x15\xa4\x96\xb7\x44\x82\xef\x90\x22\x9b\xd5\x42\x34\x6c\x0a\x36\x10\x96\xe9\x89\x99\x85\xbe\x2f\xfa\x6c\x9e\xfb\x01\xe8\x76\xa3\x3b\x16\x35\x0b\xdc\x26\x65\xf7\xd5\x40\x25\x01\x7f\x2d\x1f\x98\xc4\x8d\x27\x27\xec\x55\x3b\xd1\xed\x5e\xf3\xec\x06\x8d\x30\x85\xfe\x01\xb4\x67\xa5\xe0\x95\x50\x2d\x64\x74\x7c\xc5\x32\x48\xde\xb8\x2e\xc0\xd9\x85\x6e\x8c\x67\xd8\xff\x8f\x39\x4f\xba\x04\xfe\xea\x07\xc5\xe3\xd3\x9e\xed\x8f\x1f\x52\x77\x40\x9a\x77\xbb\x63\x99\xdd\x53\x86\x1d\x2f\xf1\x31\xf6\x43\x20\x20\x11\xb9\x33\x90\x27\x27\xc0\xd0\xfa\x1f\xf9\xaa\x34\xff\xd6\x03\x4d\xf8\x4a\x00\xff\x10\xd4\xa6\xbe\xf5\xe9\x48\x4a\x50\x31\x14\x5d\x3d\x01\x7a\x05\xdc\xaf\xa6\x9f\xee\x91\xf5\x7a\x9c\x2b\x06\x7b\x30\x2c\x65\x76\xe5\xcc\xf8\x1d\x68\x7d\x3b\x7a\xfc\x3a\x44\xfb\x4e\xdc\x8a\x46\x89\xef\x8a\x5c\xc8\x29\x4a\x89\xe9\x57\x3b\x50\xee\x75\x01\x42\xed\xc6\x3b\x91\x37\x7c\x9f\x44\xa2\x82\x0d\xfb\x87\xab\x37\xaf\x9d\xc9\x19\x94\x83\x80\xa6\xce\x8b\x2a\x52\x45\x3c\x7f\xfb\x86\xe9\xab\xfa\x98\x3e\x98\x3c\xea\x86\xe3\x07\xdd\x62\x85\x4e\x29\xf0\x84\xbe\x07\x0a\xaa\x7d\x73\x1f\x73\x91\x73\x93\x35\x30\x0f\xe6\xc4\x31\xc8\x73\xa8\xe8\x69\xe4\x9e\x81\xb2\x3d\x50\xc7\xc2\xb9\x8b\xa8\x8d\x5e\x21\xfc\x4e\xee\xbf\x41\x65\x6f\x83\x2a\xad\x35\xcf\x04\xdc\x0c\xc2\x78\x99\xe9\xae\xb0\x9d\x42\xe7\xfc\x02\x4e\xd7\xb5\x68\xb3\x6b\xf4\x1c\x95\x15\xcb\x05\x62\xeb\xc1\x14\x1c\xd0\x9e\x07\x35\xc1\x89\xa3\x95\xec\xb6\x10\x7b\xd7\x93\xb7\xcf\xdf\x4e\x9b\x4d\x51\xe5\x7c\xf6\x84\x5d\xc8\x4a\x41\xd3\x8a\xdf\x16\xd5\x86\x7a\x66\x01\x75\xae\xd8\x14\x46\x89\xe9\x9b\xe7\x08\x3e\x9b\xe1\xd3\x61\x06\xbe\x6b\xbc\x40\x7d\x5c\x26\x2b\xc8\xe8\xce\xb6\x62\x2b\x9b\x8e\x22\x4b\x8f\x6d\x23\x9a\x0f\x38\x2f\x30\x3c\xc8\xd8\x85\x0a\x62\x37\x61\x73\x66\xa0\x2a\xf2\xd8\x61\xce\x2a\x8b\x51\x55\xda\xeb\xa7\xc9\xd8\xdb\x6a\x61\x90\xd1\x60\x08\xe0\x61\xc0\xcb\x3d\x3f\x28\x03\xa0\xe8\x69\x81\x43\xb0\x6a\x31\xf9\x62\x81\x6c\xea\xe3\xed\xf5\xc0\x9d\xe2\x4d\x77\x78\x72\xb7\x68\xe4\x7e\xe2\xae\x7c\xc3\xf4\x60\x42\x30\xe0\xcb\x26\x5d\x30\x0e\xe9\x38\xd7\xbf\x93\x7b\xa3\x46\x70\xac\x08\xd3\xe0\x43\x01\x70\xba\xbe\x1a\x74\x27\x26\x86\x9b\x64\xb9\x1f\x80\xc8\x8f\xfe\xed\x00\xd3\x03\xce\x80\xec\xdc\x2c\xc8\xa0\x07\xfc\x59\x0f\xee\x82\x9e\x60\xc8\xd4\xf8\x03\x21\xf9\x63\xdf\x76\xa1\xbc\x13\x6e\x17\x40\x0d\x90\x6b\x58\xb0\x5f\x75\xcb\x04\x5d\xf0\x5b\xc7\x99\x17\x30\xa3\x35\x46\x56\x18\xae\xae\x0f\xe8\x7f\xa4\x49\x79\xd4\x65\xeb\xc4\x69\x53\x67\xf5\xb2\x3b\xb2\x6b\x1f\xbb\x83\xa8\x04\x25\xf4\xe8\x3c\xf3\x5b\x06\x8d\x9d\x46\x3f\x86\xf9\x2d\xad\x68\x0f\xf4\x30\x7f\xdc\x7f\x51\xe5\x83\xbd\xd7\xdf\x65\xf5\x8b\x7b\x1e\x6c\x3c\x6b\x00\x78\xca\x54\x51\x6d\x4a\x61\x31\x39\xc9\x7e\x73\xfc\x84\xb8\xff\x86\xae\x65\x24\xd7\x09\xcd\x4f\x8c\xbd\x2e\x2a\x61\x0e\x82\x95\x60\x95\xd8\xeb\xd7\x0b\xcb\x45\x59\x6c\x8b\x56\xe4\x73\x94\xa4\x2b\xc9\xda\x86\x17\x60\x85\x32\x65\x46\x6d\x60\x23\x40\x06\x20\xda\x5a\x76\x16\x55\xee\x8d\x4a\x18\xb0\xf1\xc3\x8f\x43\x56\x1d\x51\xe5\x81\x2b\x0d\x02\x02\x79\x25\xa3\x3f\x2f\x8c\x2d\x87\x69\xb2\x08\xa4\xa9\xcb\x51\xb5\x0e\xf1\x32\x35\xa4\xc1\xd6\xf4\xf0\x21\xfb\x0c\x8a\x6e\x82\x3c\xfa\xa0\x02\xb1\x2e\x28\x1e\xe4\xd2\x51\x9f\xfc\xd9\x80\x64\x81\xf5\xc8\x2c\x93\xfe\xfa\x17\x59\x54\xd3\xc9\xa4\xf7\x86\xec\xdf\xf2\x72\xff\x0f\xb6\xd1\x87\xef\x35\x0c\xd3\xd2\xf3\xf2\xf7\xb0\xc9\x13\x1b\x6d\xe4\x0e\xc3\x89\xb9\xc7\xf5\x16\x6f\x0e\x72\xbd\x0d\xf1\x37\x94\x22\xd7\x4e\xcc\xdf\xbd\x0c\x27\x5b\x5e\x32\xf4\x9e\xb6\x37\x8a\x0d\xea\xe3\x79\xde\x08\x85\x90\x66\x66\xfe\x34\x4f\xe0\x57\x58\xf5\x78\xae\x3b\xf8\x35\xbf\x12\xcf\x66\x72\x5b\xef\x5a\xf3\x8e\x36\xd0\x58\x74\xf1\x9b\x0e\x16\x90\x63\x3b\x4d\x37\x35\xdc\x7b\x25\xc7\x78\xe7\x20\x13\x8e\xc3\x01\x75\x7c\xec\x1f\xf5\xc8\x04\x4e\x76\xe8\x62\x45\xbb\x77\x01\x9c\x09\x95\xd8\x1b\x69\x53\x4b\xb1\xf0\xdc\x45\x77\x06\x1f\xf6\x12\x63\x48\xc4\xeb\x00\x1e\x7f\x55\x79\x70\x81\x9b\x7b\x0e\x61\xa5\x3c\xcf\x0d\x30\xb5\x6d\xd2\x9c\x42\x9a\x7d\x19\xfb\x5a\xb6\x05\x28\x4a\x38\xc4\x61\xa0\x55\x7a\x8f\xbb\x56\x99\xae\x78\x60\x26\xe3\xae\x6f\xba\x52\x16\xaa\xb5\x53\x8e\xa1\x0d\xd6\xdd\x42\x93\xd2\x72\x60\x01\x5e\x1a\xb8\x38\x7a\x47\x4d\xed\x2d\x65\x02\x31\x58\xdd\xc8\x5a\x34\xed\x01\x54\x2f\xce\x33\x8f\x0a\x41\x06\x38\xbe\xbd\x2e\xaa\x1b\x0f\x21\x8f\x23\x5a\x95\xbc\x02\x31\x9d\x29\xb9\x15\x7b\x74\x4f\x32\xe0\x8b\x45\x9e\x5b\xf4\xa5\x00\x08\x77\xce\x4a\x29\x6f\xf0\x55\xa0\x9f\xee\x18\x60\x30\x0b\xa6\xd3\x70\xb4\x73\x1e\xa9\xf9\x01\x4e\xca\xca\x9e\x87\xb7\xc6\xf6\x77\x25\xeb\x13\x8c\x1c\x9a\xeb\x8b\x3a\x13\xd0\x43\x75\x2d\x77\x25\x9c\x6d\x2b\x7d\xcc\xea\x81\xdb\x96\xa6\x33\xdd\xc1\x8c\x2b\x88\x4f\xd6\xfd\x85\x07\xcb\x1e\x14\x3e\x5b\xdd\x46\xe3\x7b\xe2\x74\x66\xf6\xde\xb6\x8a\x19\x91\x33\x6e\x1d\x1b\xd9\xa9\x5d\x0e\x74\x77\xc4\xfc\x3b\x22\x67\x23\x6e\x6f\x12\x75\x16\x3a\xd1\xb9\x50\x5c\x1f\xd3\xfa\xae\xeb\x26\xda\xe5\x73\xa3\x82\x59\xaf\xd1\xc3\x7d\x78\xcf\x38\xba\x1d\x89\xc0\xb8\xda\x42\x3f\x3a\xf2\x40\xe3\x3b\xd2\xab\xfa\xc2\x57\x8a\x91\x00\x34\xa3\x77\x54\x48\x71\x55\x7d\x48\xc3\xb9\x3b\x99\xcc\x48\x3d\xc7\xa8\xe7\x76\x54\x8f\x58\x71\xd6\x45\x65\xd2\x32\xc2\x3b\xb9\x9f\x36\x72\x3f\x0b\xe0\x0c\xc5\x5d\xdb\xd8\x70\xe3\xc1\xc9\xeb\x0d\xbd\x72\x40\x8e\x8e\x12\x89\x96\x39\x1a\x09\xeb\x6a\x99\x41\x61\x93\x9e\x05\x46\x06\xc1\x32\xea\xe0\x18\x84\xc9\x98\xbc\x8f\x22\x7f\x51\xe5\x21\xba\x81\x75\x14\x81\xef\xcf\xe5\xde\x86\xda\x7c\x78\x10\x20\x65\x69\xc6\xfa\xfd\x91\xc9\x99\x91\xf0\xd8\x11\x8c\x88\x31\xce\x44\x37\xf4\xd4\xe8\x31\x23\xf8\x2e\x47\x10\x83\x69\x83\xfb\xb4\x94\x99\x3e\xa7\x7d\x94\x2f\x06\xb7\x79\xb1\x24\x71\x97\xea\xe3\xb6\x02\xbc\xf1\xf8\x74\x86\xfc\x4d\x20\x00\x65\x87\xac\x34\x64\x73\x4c\xe3\xf4\xdd\x95\xb9\xe5\x94\x9e\x5f\xa9\x04\xdb\x5f\x17\xd9\x35\x68\x31\xf2\xc6\x26\x07\x58\x1d\x74\x41\x03\x93\xae\x82\xa4\x18\xfa\x9b\x93\xe8\xb6\xbc\x2a\xea\x9d\x16\xa7\x8c\x04\xe3\x6f\xd0\x99\xf3\x54\xc2\xdb\x51\x1f\x43\x73\xe3\xfa\xaf\x0f\xd2\x12\x1e\x09\xa1\xe2\xc4\x53\x60\x0d\xc4\x1e\x40\xb7\xb6\x3c\xb7\x8f\x0c\xb8\x31\xe0\x22\xdb\x13\xa5\x8b\x5c\xaf\xf1\xc6\x57\xc2\x49\x62\x45\xd3\x39\xf7\x0b\xa1\x7b\xd1\x88\xf5\xae\x2c\x0f\x78\x69\xe0\x65\x21\x72\xa6\x24\xe3\x78\xfc\xa2\x6a\x65\x6d\xd5\xec\x5e\x86\x38\x72\xbc\xb9\xe3\x9d\x1e\x6e\x7a\x2d\x5f\xa1\x9e\x25\x33\xa8\x4f\xf2\x55\x28\x91\x25\x36\x14\x06\x7d\xc3\x8e\x8a\x09\x74\x7d\xdc\xf1\x08\x86\xc2\x86\x36\x89\x25\x77\xfe\x75\xf0\x3c\xb2\x9b\xdb\x11\x65\x5f\x85\xfd\xf1\xee\x72\xae\x08\xee\x46\x01\x11\xae\xa6\x2c\xe0\xa5\x98\x68\xe3\x00\x19\xc4\x56\x36\xe5\x68\x55\xdf\x24\xad\xfc\xe0\x41\x32\x00\x8f\x3c\xe8\x06\xf5\xa6\xaf\xfa\xa2\xe6\xde\x19\x72\xe9\xeb\xdf\xee\xa9\x41\x65\x88\x7d\x16\x68\x41\x43\x80\xd4\x8a\x02\x3d\x70\x64\xe7\x05\x61\x02\x2e\x81\x7f\x82\x47\x04\xc8\xff\xef\x88\x50\xdc\x95\x79\x33\x5e\x21\x1e\x06\xe1\x47\x6a\x53\x42\x0d\xa3\x91\x73\xe8\x39\x30\xd5\xd7\x7f\xc6\xab\x49\xab\xdf\xd6\x02\xe5\xd9\xad\x0d\x42\x37\x7f\x88\x36\x9b\xcd\x89\xa0\x00\x1b\x04\xc0\x82\xa5\x47\x08\xb1\xd3\x15\xa9\x23\x8f\x46\x1a\x92\x45\x4b\x3f\xc8\xe7\xe8\xd5\x49\xc2\x35\xbd\x3e\xcc\xba\x7c\xe2\x1f\x3f\xff\x1c\xb0\xb5\xb7\xb0\x8c\xb8\xde\xef\xf3\xc8\x37\xf1\xa1\x5e\x93\x56\xfc\xd8\x7f\xef\x06\xe0\x86\xdf\x34\x05\xc8\x82\x3e\x61\x49\xaf\x84\xdc\x08\x55\x8b\xcc\xc3\x0d\x82\x03\x06\x6e\x54\x60\xa8\x7d\xc3\x6b\x8e\xf9\x69\xb6\xa0\xae\x07\xb7\x63\xd4\x9c\xe6\x08\x95\x05\xc7\x23\x1c\x79\xbd\x42\xb9\x5d\x69\x70\xe3\x5d\xaf\x5d\x4c\x7d\x74\x94\x12\x5e\xb3\x71\x29\x14\x27\xda\xb3\x3b\x0c\xab\x50\xec\x8b\x4a\xb6\x5f\xe8\xdb\xc7\xa6\x01\x34\x1e\xa6\x99\xe9\xea\xb7\xe6\x68\xf4\x3e\x9b\x33\x2b\xc4\x16\xe6\x94\xe6\xed\xc4\x40\xe2\x1c\xe4\x6e\xd2\x08\x34\xc4\x86\x6f\xf9\xc0\xef\x94\xf4\xa0\x95\xac\xd6\x53\x7d\x84\xfb\xa0\x4c\xd2\xa7\xd4\x1d\x7a\x6f\x2d\xef\x9c\x92\xc3\xb0\xb1\x10\x85\x65\xb1\x5a\xee\xb3\xa5\xfd\xc5\x38\x9e\x3e\x70\x70\x27\x94\xc4\x57\xae\x62\x27\x68\xc3\xc5\x27\x92\x45\x7d\xf8\x70\x54\x1c\x52\x1c\x35\x63\x4b\xcb\xed\xb6\x68\x5f\x17\x95\xb0\x28\x98\xd3\x30\x12\xb9\x12\x7b\xfd\xd5\xc3\x1f\x39\xe9\x2c\x33\xaf\x4a\x37\xcc\x05\x9d\x89\x33\x57\x2e\x2f\xf2\xb7\x1d\xac\x4c\xfb\x51\xed\x56\xaa\x6d\xe2\x40\x93\xc1\x28\x08\x7b\xaa\x47\xb2\x15\x01\x5a\x72\x43\x0d\x9b\xb6\x30\xa2\x20\x71\x99\xce\x27\x09\xc4\xa8\x39\x3d\xc1\x18\x2c\xc2\xbf\x20\x8d\x3d\x7c\xc8\x3e\xeb\x5b\x31\xdf\xbd\x93\x13\xfd\x08\x6c\x3d\x3b\xda\xc5\x12\xb9\x79\x86\x56\x02\xcc\xe9\x64\xb9\xd1\x59\x01\x84\x1b\xa3\xdb\xb0\xa4\x20\xe2\x10\x38\x55\x10\x64\x6e\x7b\x14\xaf\x84\x0f\x4b\x94\xb4\xd1\xa5\xa7\x70\xf5\xf6\xf9\xdb\x27\x24\x41\x8b\x3e\x1f\x5a\xc9\xe4\xae\xd1\xf7\xd9\xaa\x14\x5b\xe3\x98\x00\xce\x9d\xab\x43\x2b\xd8\xb7\x57\x2f\x17\x8f\xff\x67\xe8\x34\x8e\xa6\x1c\x58\x58\xc2\xfa\xf0\xb7\x66\xfc\x39\x65\x13\x23\x6a\xa0\x7b\x3c\xc5\xf9\x4e\x56\x73\x8c\xf6\x78\x16\x2f\xa4\xfd\x68\x96\x85\x8a\x0a\xf7\xed\x4c\x97\xd5\x5b\x79\x23\x00\x97\xcd\x9e\x10\x61\x62\xb2\xba\x2c\xda\xef\x8b\x5c\xe8\x59\xc0\xe4\x48\x53\x6c\xc1\x50\x4a\x46\x5b\x02\xc9\x54\x94\xa5\xd9\x07\xf0\x5d\xdf\x18\xfb\x4c\x3f\xdf\x3c\xcc\x50\xc0\x9a\x51\xd4\x2e\x96\x75\xbc\x1e\xc3\x17\x39\x6e\xc4\xfb\xe1\x4d\x27\xc7\x52\x42\xda\x33\x03\xf2\xfd\xf1\xe3\xea\xcc\x73\x44\x40\xb3\xf3\xbe\x29\x5a\x31\x4c\x23\x75\x2e\xf5\x8d\x8b\x1c\x1f\x66\x7d\x82\x6a\x5b\x7e\x58\x89\x8b\xb2\xa8\x2f\xf0\x22\x24\xa0\x4b\xf4\x88\x7d\x74\x9e\x12\x0c\x8f\x04\x00\x3c\xe8\x3c\x14\x5d\x62\xe7\x59\x8c\xc5\xf4\xd1\x28\x2c\x06\x5d\xd5\xbd\x9c\xcc\xdb\x24\xb8\xf1\x3b\x41\xe6\x61\x64\x9a\xbd\xc5\xad\x8b\x0b\x83\xf0\xb9\x99\xfb\x6e\x14\x3a\xf1\xe5\x89\xd1\xb6\xbc\xae\x05\x47\xa3\x6f\x2e\x6d\xab\x97\x36\xa3\x61\xe7\xc9\x64\xe3\x51\x77\x65\xd9\x83\x08\x8b\x27\x09\x04\x1f\xd9\x47\x55\x38\x32\xe6\x9e\x92\x5f\x7c\xfd\xf6\xea\x0b\xec\xcc\x56\x2a\x0f\x17\xa0\x74\x57\x18\xfb\x5e\xe8\xcb\xdd\x47\x9a\x6b\x72\x1b\xa9\xfb\xf5\xb9\x5c\xaf\x17\x5a\x0a\xfa\x1c\x11\xec\x2c\x4c\x5d\xd1\x1a\xff\xab\x7f\x47\xfe\xf8\x77\x10\x88\xfe\xbd\xdd\xee\xee\xfe\xdd\x87\x08\x5b\x11\x46\xd3\xd3\x6f\xe3\xb2\x2b\xcb\xcc\xcd\xc3\x15\x81\xe5\x82\xb7\x27\x6a\x36\x31\x43\x74\xbd\xd9\xd5\x27\xf5\x26\xaf\x10\x1b\xaf\x6a\x8b\x6a\x07\x72\xfb\x5e\x36\x37\xfa\xcd\x07\xc3\xd2\x8f\x59\x65\x14\x63\xe2\xae\x36\x19\xfd\xd2\x06\x46\xab\x8b\x8b\x6d\x0f\x1d\x38\x23\xc2\x27\x7d\x64\x90\x05\x63\x4a\xa1\xe2\x33\x20\x36\xb7\x86\x87\xa2\xca\xca\x9d\x2a\x6e\x47\x24\x43\x0e\xc3\xf9\x03\x91\xc9\x8e\x65\x1e\xf4\xc7\x5b\xc3\xfd\x60\xcf\xcf\xd9\xa9\xbe\x42\x83\x7e\x9f\xf7\x81\xc3\xe2\xdd\x41\xe2\xa2\x88\x0e\x13\x90\x23\x76\x65\x79\xd6\xfd\x8a\x64\x69\x81\x6e\x4e\x95\x88\x92\xeb\xe1\x20\x39\xda\xeb\x8e\x60\x1f\x98\x33\x6a\x62\x43\xe2\x59\x26\x9b\x9c\x08\xfb\xdf\x5d\x75\x33\xa6\x19\x8d\xfd\x29\xdb\x55\xa5\x50\x91\x43\xce\x35\x57\x6c\x85\xca\x9a\x32\xb7\xd0\xf5\x4d\x91\xb5\x5e\x74\x37\x32\xbe\x92\x5b\xc1\xb4\x98\xd1\x18\x5d\xf9\xab\xd6\xa9\x72\xf4\x5d\x05\xdf\xbf\xbb\x8a\x0f\x16\xcc\xc9\x96\x87\xe4\xac\xde\x66\xd8\x8a\xd1\xca\x1a\x78\x1f\xc7\x1b\xf4\x7b\xa2\xba\x2c\x3c\x6c\xd1\xb0\x3c\x76\x95\x0a\x55\x77\x47\x74\xb0\x76\x9f\xd1\xf4\x88\xd4\xee\x41\x4b\x9d\x11\x03\xe8\x69\x9f\x11\xca\xec\x97\x8f\x5b\xb8\xb6\x17\x38\x9b\xae\x68\xd1\x76\xd6\x12\x35\x48\xf1\x72\xba\xb5\xbc\x2e\x36\xd7\xe3\x16\x93\x42\x52\x75\xd6\x73\xe4\x62\xe2\x14\x7c\xfa\xf5\xb4\x1b\xfd\xe8\x92\xda\xbd\x76\x74\x55\x4d\x41\xba\xb0\xfd\x67\x08\xc5\xac\xff\xa6\x91\xfa\xd9\xca\x38\x9b\xfc\xb9\x9a\x78\xf1\x96\xd8\x6e\xc8\xcd\x5b\xb8\x38\x96\x35\x82\xf3\xc8\x7d\x67\x7d\x5b\x2f\x55\xa3\x15\x0c\x0c\x3d\xa0\xff\x74\xb6\x9e\x40\xc3\x43\x96\xc6\x1e\x17\x64\xca\x3b\xaf\x6e\xa0\xe4\xfc\x2d\xf4\x5f\x6f\x6d\x7a\x48\x8c\x3c\x01\x4b\x4d\x20\x30\xb4\x2e\x2a\x19\xc2\x79\x4d\x8f\x21\x74\xf3\xb8\x05\xd8\xbc\x0b\x7b\x62\xda\xa1\x81\xa7\xed\x8b\x2a\x7f\xbb\x76\x59\x27\x07\xdf\x76\x60\xfc\x38\x27\xa2\x68\xe2\xbf\xa3\xaa\xf1\x48\x4a\xeb\xe3\x17\x0f\x20\xf9\x54\xef\x8c\xcb\x40\xa4\xd1\x02\x56\xd6\x16\xb7\xc2\xe0\x5c\xde\x8a\xc6\x2e\x99\x35\x66\x2e\x47\xbd\x56\x71\x44\x49\x86\x0c\x9e\x80\x28\xd7\x18\xb4\x01\xa2\x7a\xf1\x3d\xc3\xcb\x74\xce\x6a\x87\xf3\xe4\xe4\xc3\x25\x15\x9e\x6d\x2b\xdf\xd6\xd3\xc7\x11\x1c\x64\xaf\xa5\xe0\xc8\x08\x2c\x18\x67\x00\xc7\x99\x58\xde\x51\x23\xb2\xaa\x4b\x67\xd1\x85\x04\x75\x28\x6b\x42\x64\xfc\xae\x0d\x9f\xb4\x1d\x46\x3d\x5d\xfe\x3a\xa3\x22\x9d\x7f\x6a\x30\x96\xe0\xc3\x9c\xf1\xfc\x96\x1b\xe5\xa8\xed\x0e\x10\x80\x6c\xc7\x42\xd9\x8c\x1a\x16\x58\xe0\x13\x74\xce\xe0\x65\x50\xc8\xb7\x51\x53\x7f\x74\xe2\x97\x8c\x3d\x25\x67\x0f\x3d\x72\x9c\x9a\xcf\x52\x02\x81\xd6\xb9\x8a\x38\x49\xa5\x73\xec\x2c\xbd\x24\x44\x91\x3e\x1f\x77\xa1\xbc\xe3\xa9\x25\x4a\x6a\x7d\x3c\x00\x02\x6d\x7c\x44\x2d\x1f\x7c\xda\xe9\x0c\x44\xb1\xd7\xc5\x0d\xb8\x04\xa0\x7a\x6b\xce\xc4\x5d\x26\x6a\xfd\x62\x28\xc0\x4f\x86\xae\xf8\x28\xdc\x96\xb2\xa8\xc4\x4b\x21\x12\xf0\x9c\xf7\x86\xf9\x48\xe9\xde\x3a\x71\x38\xbb\x6d\x35\x4d\x41\xa2\xbc\x5a\x43\xc2\xbe\x0b\xde\x34\x05\xdf\x08\x23\xbb\x20\xd4\x05\xaa\x8d\xe8\xa0\xf5\x4a\xd8\x9e\xa3\xb3\xc0\x30\x14\xd5\x36\x3d\xc4\xae\x8a\xa1\xdb\x87\x40\x48\x0f\xc6\xd6\x95\xbc\x7d\x97\x3a\xeb\x16\x23\x27\xed\x6a\xb0\x60\xc2\xae\xac\xa5\x52\xc5\xaa\x3c\x18\x05\x38\x48\x38\xc4\x06\x98\xf0\x40\xf0\xb8\x1c\x10\xf2\x02\x61\x99\x47\x53\x81\xa3\x43\xfe\xeb\xc1\x05\x27\xcf\x19\xe7\x02\x45\x24\x57\x9f\xdb\x2f\x73\xaa\x8a\x23\xdc\xd1\xc8\xfd\x19\xb1\x30\xbb\x4a\xe4\x61\x12\x4c\x31\xce\x01\x38\x48\xa6\x36\x64\x7a\x5b\xbd\x93\x7b\x4a\xdc\xaa\xda\xa2\x47\x4c\x5d\xf2\x4c\x00\x2c\x4c\x08\xdc\x00\x2a\x46\xb1\x6e\x7b\x12\xdc\xf9\xa8\xa6\x9a\xa3\x06\xa2\x23\x59\x85\x3e\xec\x08\xd1\x82\x1a\xcc\xba\x91\x2b\xae\xd7\xf6\x0b\xb4\x59\xa2\x32\x81\xb4\x0f\x11\x4f\x06\xc9\x1a\x3a\xa8\xe9\x99\x54\xf4\xd0\xe0\xcc\x63\xfd\xa0\x99\x8b\xd6\xe6\x00\x36\xb1\x12\x07\x69\x90\x4c\xc3\xbe\xdf\x03\xcb\x55\x34\x5c\x89\x2b\xf9\x5a\xcf\xc3\x80\x78\x94\xc6\x52\xef\xd9\xe8\xa7\x5d\x63\x6c\xac\x5d\xc3\x6c\x60\x1b\xd1\x7e\x7f\x5d\xb4\x02\x06\x1c\xa5\xec\x7a\xc4\x1e\xcf\xee\x83\xa7\xfc\x42\x0f\xc4\xb9\x75\x7a\x4f\xb4\xee\x9a\x37\xf4\x4d\xe3\xce\xee\x78\xaf\x39\x0d\x95\x7e\x9f\x54\x64\xaf\x85\x22\x35\x26\xbf\x73\xb1\x89\x06\x44\xd1\xec\xd0\x96\xe0\xfd\x74\xca\xb4\x26\x2f\x01\xc8\xd9\xc6\x06\x06\x13\xa1\x02\xaf\x02\xb4\x60\x12\xcd\xd3\xae\x5a\xcb\xa6\xdd\x55\xbc\x15\x24\xc7\x01\xaa\xc8\xac\xdb\x30\xd0\x31\x12\x3c\x02\x47\x81\x07\xa5\xf3\x26\x25\x81\x6f\x79\xb1\x5e\x17\x19\xa0\xc3\x80\xff\x9f\x60\xbb\x9a\xf0\xa2\xf1\x5f\xc3\xf8\x6e\xb1\xad\xdb\x83\x21\x0e\xd1\x36\xa0\x18\xaa\x26\x2d\x6b\x9b\xa2\xb6\x08\x47\xc8\x6b\x78\xdf\x3f\x30\x89\x17\xec\xc4\x19\x76\x7b\x07\x4b\xa0\xc7\xb3\xa9\x64\x23\xac\xef\x23\xc3\xcc\x90\x88\xb2\xc2\x1d\x6e\xa2\x51\x7e\xd9\x39\xc8\xc5\x6d\xc1\x5b\x34\x02\x82\x4f\x08\x68\x03\x71\x48\x7c\xd3\x08\x61\x14\xff\x9b\x4a\x6e\xc5\xc2\x3d\x6a\xb4\x10\x74\x83\x69\x41\xe7\xec\x6e\x9d\x89\xff\xe1\xbe\x2d\x19\xbb\x14\xb8\xc5\x9b\xd5\x6e\xb3\xcc\xe4\xf6\xe4\xcb\x7f\xfe\xf2\x9f\x7f\x77\x0a\xaf\xd2\x5c\xb4\xbc\x38\x9a\xb4\x3b\x18\x5a\x84\xec\x93\x85\x69\x15\x46\xd9\xc0\x62\x14\x2c\xbd\x19\xb7\xfc\xee\xe2\x93\x18\x83\xa8\x4d\xcc\x75\x90\xfd\x8b\x07\x90\x77\x3f\xce\x5d\xa3\x33\xf6\xc4\xfd\xbb\xa3\x61\x4e\x29\xc2\x09\xcb\x9f\x9f\xc7\xa9\xaa\x52\x15\x9e\xbf\x78\xf9\xf4\xdb\xd7\x57\xef\x2f\xde\xbe\x7e\xfb\x8e\x3a\x57\x1d\xf7\x39\xfa\xe1\xc8\x65\xf4\xa3\xf7\x9e\x4a\xda\x45\x2a\x99\x63\x72\x1d\xef\x8e\x34\x63\x5f\x9d\xa7\x6d\x05\x83\xa6\xbe\x1e\xe3\x25\xee\xe3\x8b\x6b\xde\xa8\x69\xd6\xc5\xc0\x4f\xa4\xf8\x9b\x0e\xa3\xcf\x8d\x3d\x9c\xef\x73\x02\x43\xbf\x8e\x9e\xba\xc3\x5d\xee\x9c\xc9\xf4\xa4\xec\x11\x6c\x7a\x0f\xdb\x63\xfb\xed\xd8\xb3\x7e\xd4\xd4\x90\x81\x38\x1b\xcc\x27\x1c\x7f\x24\x79\x78\x08\xb6\xc8\xbd\xde\xf8\xae\x0d\x5f\xe7\x73\xfd\xf4\xe7\x4d\x0e\x0a\x38\xb9\xee\xb3\xbc\xfc\xf2\x99\x7d\xba\xd2\xa2\xeb\xbd\xa7\xd6\x4e\x0e\x91\x2b\xcc\xcf\x49\xdf\x52\x97\xb4\x21\xb0\x2a\x1e\x79\x44\x15\xfe\xc5\x79\x74\x1d\xa9\x2b\xd5\xaf\xb9\x98\x3d\xc8\x8b\x5d\x2f\x15\xe3\xdf\x0f\xba\x85\xbf\xd2\x52\x3e\x13\xc9\x84\xa1\xf7\x5c\xca\x77\x24\x15\x4f\x80\x2c\x3f\xa4\xa5\x8c\x96\x9d\x26\xe9\x40\xd0\xcf\xaf\xce\x0d\xa1\xbf\x7f\x06\x78\x59\xc4\x99\x16\x8c\x8c\x64\xf0\x1a\x3b\xaf\x03\xef\xc4\x4e\x20\x10\x8d\x0b\xd4\xa0\xe5\x34\x06\xa0\xcb\xae\x91\x0f\x9c\x9f\x84\x41\x5c\xb3\xc1\x9e\xeb\xa2\x3c\x1a\x69\xac\x3b\x4f\xbd\xcb\xaf\xef\xc7\x04\xfd\x8b\x71\x6a\x17\xc3\xad\x34\xfa\x86\x9f\x9e\xc1\x3f\xba\x20\x81\xc6\xa1\x5a\x7f\xf5\x2b\xee\x2a\x67\xb2\xc4\xca\xfa\x1f\xbd\x08\x83\x99\x2c\xa9\x13\xc2\x91\x2e\xda\x04\xc1\xe9\xb4\x33\xf1\xcd\x98\x5d\x27\xd3\xa7\x8d\x7d\x82\xe0\x76\x6f\x8b\x46\x58\x70\x1f\x10\x3d\x4b\xc1\x43\x55\x00\x6f\x8d\xb1\x3b\x0d\x95\x49\xf9\x64\x90\x49\xa8\xb8\xfd\x81\x7a\x0e\x7a\x24\x4c\x77\xb7\xc8\x5a\x00\xd6\x1e\x98\xb2\x0d\x1a\xa5\xb2\x96\xd3\xe8\xee\x31\x7a\xb8\x11\x00\xaa\x71\xba\x99\x8f\x76\x6d\x1c\x91\xb2\xe2\x41\x90\xb1\xe2\xfc\x3c\x48\xb1\xf4\x02\xdf\x27\xde\xe9\xd4\xab\x6c\x97\x0f\x58\x37\xab\x6a\xea\x4a\x4a\x9c\x46\xa6\x1f\xdd\xc4\xd3\xe4\x1c\x32\x65\x7a\x4f\xa0\x5e\x1a\xa7\x1d\xaf\xf7\x5e\x36\xd2\xc7\x8d\xdc\x19\xc5\x0f\xc9\x9e\x9f\x82\x0c\x3e\x7a\x6f\xb0\xa3\xfc\x86\x76\xbc\xbf\x4f\x96\xfb\x84\xec\xe6\x4e\x3f\xbb\x84\x91\x70\x5f\xca\x40\xab\x99\xcc\x76\xd2\xbb\xba\x34\x61\x7a\xa0\xdf\x08\x97\xdc\xc7\x14\x20\xa2\x28\x28\x03\x30\x10\x20\x8d\xec\x1c\x87\xad\x26\x1d\x6b\x63\xdf\x15\x70\xb7\xae\x77\xea\x1a\x43\x03\xa8\x89\x98\x37\xc6\xa5\x44\xb5\xfa\x4d\x07\xc1\x50\xfa\x5d\x0f\xb9\x2a\x76\x75\xaf\x93\xf6\xac\xd7\x1d\x04\x5f\x94\x61\x54\x20\x8e\xc8\x8d\xf0\x28\x40\xaa\x53\x09\x7e\x4c\x5c\x54\x8f\x42\xb2\x2b\xba\x74\xac\xba\xb8\xda\x59\x9c\x53\xcd\x3c\x87\x4d\xe5\x85\x6f\x39\x48\x36\xb1\x95\xb7\x02\xdf\xe8\x26\x1c\x30\x0a\x8a\x24\xf9\xe8\x1a\x1b\xde\x02\xf9\xe7\x6e\x04\x6b\xa4\xdc\xea\x43\xe9\x81\x4b\x50\x67\x4c\x1f\x53\x35\x33\xa1\x9b\x19\x25\x9d\x17\xaa\x45\x83\x0f\x46\xd1\x81\x6b\xbb\x4d\x2b\xe0\x3b\x72\x9e\xe8\xb3\xfe\xb7\xc9\x04\xfd\xd8\x86\x3f\xb8\x1a\xc4\x45\xcc\x07\xe7\x91\x30\x1d\x57\x70\x4e\x08\x3e\x72\x0e\x89\x1d\xa9\xcf\x7a\x4d\x26\x51\xde\xc7\x46\x07\xb1\x47\xec\x7e\x72\x5f\xef\xfe\x32\x41\x01\x23\xf7\xd7\xd7\x2e\x2a\xb4\x81\x70\xa3\x54\x1c\x66\xd7\xd1\x4c\x2f\x27\x46\xdb\x80\x76\x77\xc9\x34\x9d\x07\x98\x82\xdb\xa4\x3a\x00\x07\x09\x30\x2c\x42\x04\xa2\xa9\xb4\xab\x8d\x82\x4d\x77\x16\x82\x76\x00\x90\xdb\x04\x90\x1b\xbc\xbd\xa3\x98\xba\x7a\x80\xe3\x76\x4e\xaf\xd8\x87\xbe\xa4\x75\x20\xb5\x77\xae\xe8\xfe\x0d\xd4\xd5\x58\x39\x26\xd4\x54\x0d\xdb\xf5\x6d\x32\xa7\x73\xf2\x84\xe4\xad\xb8\x34\x71\x34\x9e\x9d\x63\x16\xce\x6c\x6e\x6e\x47\x20\xc5\xca\x90\xa1\xc2\xb6\x64\xe9\x0e\xbc\x52\x3b\x11\x90\x47\x78\xd6\xf7\xf5\xbe\x3c\xfb\xa9\xde\x2a\xaf\xe0\xec\x54\x24\x9c\xc7\x1f\x43\x46\xc9\x3c\x2e\xf5\x40\x8f\x1c\x31\xde\xfe\x64\x1c\x73\x81\xa5\x7f\x11\x2f\x42\xf0\x66\xaf\xd6\x4a\xdf\xee\x89\x44\x27\x81\x5b\xf0\x5e\x75\x0b\xf4\x38\xe1\x7e\xb2\x37\x23\xe6\xc3\x59\xf8\x38\x24\x82\xbc\x9f\x34\x52\x38\x88\x7a\xbf\x3e\x09\x8b\xce\xe8\x2b\x37\x34\x7f\x18\x63\xc2\x98\xd3\x03\x34\x95\x03\x2b\x86\xa5\xf2\xf8\xd6\x4d\xab\x39\x4d\xca\x4d\xa8\xe0\xc2\x0d\x7a\x94\xc0\x85\x32\x52\xe2\x74\xd6\x55\x01\xf7\xe9\xf3\xee\x99\x12\xc7\xf4\x25\xb5\x2f\x03\x8e\x49\xb1\x9b\xad\x4b\x2b\xf7\xb2\xc9\x87\x07\xe3\x79\xe5\xf2\xba\x58\xb7\x01\x50\x44\x78\xad\xec\x6a\xcd\x4a\x8a\xad\x0e\x09\x33\x17\x5c\x66\xc9\x2b\xcb\x85\xa2\x1b\x86\x1a\x70\xa2\x05\xd8\x12\xa3\xe5\xd0\x74\x6e\xb9\x16\x4f\x72\x0b\x5f\x73\xe5\x05\x12\x3c\x01\x74\x59\x2d\x4b\xee\x5a\x6f\x2d\xb5\xe7\x09\x18\x9c\xb8\x5f\xd6\xfe\x0c\xe1\x80\xfd\x68\xac\x54\xa1\x8c\x89\x63\x68\x19\x2f\x4b\x2b\xbe\x82\xaf\x07\x42\x96\xd0\xd0\x2e\x3d\x50\x2d\xbc\x8e\x38\xb6\x20\xd5\x96\xe8\xc7\x4f\x49\xed\x22\xe8\x08\x45\x93\x1c\xda\x3f\xde\xb3\xe9\xe3\x0f\xbc\x7e\x7b\x77\xd2\x3c\x4f\x40\x1b\xfd\xd5\x3f\x25\xf2\xd8\x48\x0d\x06\x61\xc1\x15\x28\x0d\xc9\x0b\x13\x90\xb0\x8f\xf3\x5e\xb8\xc0\x23\xde\x25\x63\x78\xb6\xcf\x85\xfc\xbf\x26\xc3\xfa\x37\x57\xc0\xb3\xbf\x1e\x27\xc6\x69\x5a\x23\x93\xe4\x2f\xd7\x01\x26\x99\xd2\x0a\x3e\x1d\xff\x0e\xdf\xfc\x28\xde\x8c\xe3\x4d\x8e\x4b\x2a\x06\x37\x25\x11\x8d\x4c\x7d\x27\xd7\x1d\x97\x74\x4d\x66\x22\x9b\x62\x53\x54\x10\x7f\x3a\x61\x88\xc2\x9b\x43\x76\x9c\x98\x5c\x02\x7a\x40\x5a\x37\xd6\xde\x35\xd5\x5d\xb3\x6c\x49\x22\x1b\xc2\x67\xc7\x7d\xab\x8d\x4d\xd5\x15\xae\x5a\x94\xfa\x7f\x1e\xe4\xc8\xea\xfa\x48\xe1\xbc\xd0\x30\x2c\xcb\x14\xef\xcc\xc4\xf4\x68\x5d\x6d\x8a\xa7\x11\x0e\x3d\xfd\x75\x81\x13\x86\xc6\x96\xee\xc4\xe0\x18\x47\x7b\x3e\xa1\x42\x1b\x85\x81\xac\xe4\xdb\x7a\x8a\x16\x8c\x4e\x98\x08\xfc\xb3\xef\x4d\x64\xb4\x0a\xc6\xb5\x8e\x52\xb3\xd9\x88\x4e\xe7\xbd\x66\xfd\x84\x6c\xdb\xd5\x36\x85\xb3\x76\x6c\xc6\xd2\x53\x3f\x38\x63\xc9\x89\x48\xf6\x3b\x48\xd1\xfc\x57\x1f\x76\xfa\xc4\xe8\x4d\x7f\x67\x8f\x5b\xe8\xe3\xa7\xda\x66\x17\x76\xc8\xc9\xb4\x78\xbf\xd4\x27\x38\x35\x5c\x12\xf9\x91\x1e\x71\x32\x42\xe2\x23\xc7\xb9\xe9\x1f\x67\x12\xb1\x6b\xc8\x1f\xa5\x7f\xc9\x02\x3d\xe7\x7f\xb5\xf3\x3d\x1c\xc3\x30\xcf\x74\x04\xbd\x68\x1f\x8e\xe2\x1a\xe0\x8c\xe3\x13\x7e\x8c\x6b\xc8\xa4\x8f\x65\x99\x51\x28\x7c\xc3\x63\x1b\xc1\x2f\x4d\x94\x97\xf4\x1d\x82\xdc\xa2\x2f\x5a\x08\x4a\xc3\x1a\xc0\x8e\x66\x45\xab\x44\xb9\x66\x4a\x86\x82\x82\xf9\x4a\xb3\xfe\x72\x75\xa8\xb2\xeb\x46\x56\x72\xa7\xca\xc3\x1c\xaa\x18\x9c\x7c\x98\x1b\x5e\x42\x4e\xb9\xec\x86\xed\x8b\x0a\x2c\xba\x7b\x0c\x61\xb4\x19\x87\xa0\x88\x87\xf7\xcc\x24\x2f\x85\xca\x2c\x84\x0f\xb7\x18\xa2\xd8\xf4\xd1\x14\xfb\x14\x01\xfb\xfd\x80\x0f\xb3\x4f\xf4\x8c\x84\x93\x7e\x63\x30\x07\x78\xc1\xb9\xf3\x34\xae\xc8\xce\x29\xfa\x77\x02\x1b\xdc\xe8\x30\x34\xad\x4e\xe5\x33\x87\x1f\x5e\xae\xa3\x04\xf7\x30\x00\x07\xc9\x90\xc0\x78\xea\x5f\xc3\x15\xc1\x32\x0a\x74\xae\x01\x3e\x07\xee\xfa\xbf\xc5\x52\x7a\x21\xdc\xc7\x3b\xc3\xbb\x20\x8a\xbb\xf5\x6f\x50\xf3\x88\xf1\x63\x9c\x1b\x3d\xaf\x22\xe6\x4a\x4d\x2c\x97\xfe\x85\xe2\xdd\x04\x68\xcc\xdb\x08\xee\x21\xa0\x5f\xa3\x38\x48\xb9\xf2\x1f\xc1\x45\x8a\x3e\x35\x3e\x86\x93\x3c\x81\x5e\x6e\xea\x06\xa9\x43\x91\x38\x48\xdd\x70\xda\xe3\xd3\xe1\xf4\xd8\xbb\x1a\x9c\xad\xbb\xea\x38\x8a\x78\x74\xaf\x57\xd9\x36\x6c\xe1\x98\x25\x13\x0a\xf5\xaa\x09\xe8\x81\x88\x45\xf5\xdc\x4c\x17\x54\xe1\x39\x3c\x40\x78\xb2\xff\x1d\x0c\x31\x7e\x7f\x92\x41\x5a\x03\x80\x1f\x93\xb5\x31\x6c\x8b\x0a\xcd\xfe\x2e\x1a\x2f\xf1\x14\x61\xff\x92\x96\xda\xd9\x13\xf3\xf8\x34\x36\x88\x8f\xa2\x64\x05\x77\xf6\x24\x15\xea\x37\x28\xf1\x3e\xa0\x28\x89\x54\xe6\x3d\x1e\x00\x84\x76\x89\xde\xe0\x42\x37\x2d\x73\x3f\xae\xc0\x15\xbf\xab\x32\x42\x38\xc4\x01\x3e\x81\x28\x88\x34\x9f\xa0\xc4\x40\x71\x40\x4d\x40\x49\x8c\xd5\xa4\x05\x32\x23\x4d\xc1\x91\xd6\xd2\xbc\xe0\x7a\x64\xba\x7c\x6d\x8e\x50\x8b\xae\x60\x75\x2f\x0d\xaa\x9a\x2a\xb6\x17\xe0\x28\x8f\xae\xe4\x90\x45\x13\xca\x91\xb6\xb8\x62\x7b\xd1\xcd\xd5\x39\xac\x04\xc7\x41\x7c\x2c\xfb\xc6\xc1\x11\x47\xd8\x37\x30\x45\x7d\xc5\xba\xf9\x8c\x49\x20\xcd\xc5\xfd\x22\xad\xba\xaf\x72\xb3\x1a\xdf\x77\x10\x7b\x46\xfb\x99\x77\x10\x7e\x0a\x45\x62\x85\x8d\x26\x1a\x63\x26\xb6\xbc\xd9\x14\xd5\x1c\x52\x2c\xec\xb6\x02\x42\x99\x70\x98\xad\x64\x1b\xd1\xb2\xa2\xf5\xb4\x60\x1d\x6d\x98\x0d\x77\x29\xe0\xad\xe3\x09\xc4\x54\xf2\xba\x2e\x0b\x61\xd2\xea\xee\x21\x20\xb0\xa8\x2c\x87\x79\x52\x11\xab\x2d\x29\x9c\xce\x62\x31\xc6\x8f\x9a\x80\xcb\x7c\x96\x79\xbb\x60\xd7\xb9\xda\xd9\x1b\x2a\xb1\x1f\xe9\x54\x40\x6a\xb8\xe5\x0c\x97\x77\xe1\x11\x5c\xb0\x0f\xbe\xe8\x57\xde\x81\x89\xf9\x36\xcd\x3f\x16\x68\x17\x5d\x97\x52\x36\x86\x9f\x4e\xd2\x4f\xe5\x99\x75\xb7\x24\x2d\xbc\x03\xef\xbb\x53\x0a\x9a\x73\x72\x62\xa1\x53\x4a\x25\x61\x5a\x8d\x0b\xab\xde\x80\xa7\xc1\x6a\xa1\x44\xcf\xa2\x8e\xf5\x1c\x7a\x8f\x6c\x89\x7f\xea\xf3\xf6\x8b\xf0\x73\xe8\x5c\xa5\xdf\xfe\x8f\x48\x99\x2e\xd5\x3d\x81\x4f\x7a\x90\xb0\xff\xb8\x27\x11\x1a\x96\xf9\x9d\x99\x10\x2d\x7e\xce\x3d\x65\xe4\x8c\x40\x31\x15\xaf\xa4\x23\x90\x5c\xd2\xd8\xb8\x1b\xd9\x9f\x68\x43\x47\x22\x03\x71\x87\x8d\x3a\x84\xff\x1a\x67\x5e\x27\x8c\xe5\x93\x1c\x7a\x29\x2d\xd0\xf8\xc8\x8a\xfe\x4b\x91\xb1\xb1\x4a\xa4\x11\x31\xa9\x26\x85\x11\x7a\xd6\xca\x46\x98\x10\x16\x7d\xa9\xc5\x41\x5c\x6a\x10\x0f\x1c\x8f\x38\xfb\x20\x10\x77\xe6\x91\xb3\xe7\x8a\xe9\x47\x51\xe5\xd2\x3d\x24\xac\x0e\x61\x64\xa1\x7e\x20\xe1\xc6\x85\x2c\xeb\x10\x5e\x6d\xef\x61\xef\xfd\x65\x40\x34\x7c\x4b\x46\xe5\x01\xe0\x1c\xa4\x45\xdf\x9c\x2d\x06\xaf\x26\x88\xff\x2a\xaa\xac\xc8\x85\x7f\x7b\x98\xf0\x35\xd0\x9c\x54\x72\xe1\xaa\x4e\xcc\x04\x2c\x19\x7b\x73\x60\x9b\x9d\x50\xca\xe4\x8b\xc7\xb8\xc7\x4a\x1e\x73\xef\x8a\x92\x45\x45\x38\x99\xad\x20\x1a\x8f\xf8\xb6\xb3\x15\xa0\x9c\xbd\x17\x49\xa5\x74\x4e\xe4\x97\x6e\x2d\x7b\x12\x03\xc6\x29\x06\x27\xb3\xc8\x40\x9c\x4e\xdd\xdc\x43\xcd\xb3\x4e\x40\x2d\xa1\x05\xbf\x67\x37\x7b\x08\x7f\x64\x37\x7b\x06\x1d\xc6\xd0\xfa\x3c\x0c\x46\x99\xb6\x12\xd1\xbb\x17\x9e\xca\x80\xd2\x5e\x72\xc4\x41\xd6\x45\x18\xdf\xe5\x85\x3e\x80\x00\x62\x9d\x57\x4c\x56\x99\x60\xb5\xd0\x6f\xc9\x4c\x56\x47\x63\x97\x8b\x6a\xf3\x4c\x84\x8e\xeb\x84\x2d\xf0\xb0\xa0\x59\xf4\x56\xe1\x68\x59\x1c\x74\x46\x73\x23\xc7\xf3\x3c\xeb\x7b\xe7\x0e\xbf\x65\xe1\x01\x3a\xa2\x27\x58\xb0\x3f\x0f\xa5\x7b\xb5\x7e\x79\x7a\xea\x1c\x0a\xf5\x1c\x5e\xfe\xc7\x4e\x94\xd9\xb5\xe9\xc2\x7b\x77\xa0\xac\xa4\xde\xca\x30\xbf\xfa\x68\xaa\x64\x5b\xac\x8b\x8c\x83\x9a\x41\xd7\x03\xe4\x0f\x27\x05\x26\x28\x75\x8e\xe8\xa0\xf0\x53\x4d\xf9\x7d\x94\x9f\x45\x35\xd9\x64\x16\xec\x31\x52\x54\xaf\x7c\xe0\x8d\x01\x6d\x8a\xa8\xfb\xc7\x74\x03\xcc\x63\xf6\xa6\xbb\xed\x44\x09\x92\x83\x6e\xce\x7e\x73\x7a\xda\xdd\x5e\x23\x28\x7d\x08\x06\x9e\x0b\x75\xd3\xca\xfa\x6b\x32\x97\x9a\xff\xde\x7b\xa7\x15\x92\x18\x97\xab\x97\x98\x96\x2d\xc8\x93\x83\xd2\x1b\xa3\x24\xa6\x6e\x68\x78\xef\x99\x88\xef\xef\x78\xa3\x4c\x30\x62\xa2\xdd\xab\xa2\x2d\xc5\xd0\x8d\xf7\x9f\x93\x56\x17\x99\x3c\x01\x25\x96\xdc\xbb\xae\x2d\xe1\x77\x7d\x2f\x4f\x80\xfa\xe4\xc3\x2c\x5e\x15\xda\xd0\xeb\x42\xb5\xef\x4d\xf2\x1e\x53\xce\xc1\x6b\x5e\x62\x34\xfb\x5e\xb0\xb6\x81\x38\xe0\x86\x17\xe6\x66\xc4\x46\x01\xc3\xee\x5f\xa0\x52\xb5\x94\x15\x64\x5c\x8c\xd3\x9c\xe3\x0e\x29\x25\x04\x22\x05\x4d\xab\xf7\xd3\xd9\x19\xfb\xd0\x39\x6f\xac\x11\x80\xa8\xea\xd9\xaa\x68\xc9\x23\x94\x7e\x81\x9b\x76\xce\x32\xd1\x00\x14\x86\xc7\x02\x4b\xe3\x45\xd9\xb4\x37\xcc\x25\xd9\xd1\xc2\x2f\x88\x54\xa2\x15\x5d\x33\x40\x27\x48\x87\x51\xb4\x22\x14\x9c\x21\xdb\x87\xaa\x65\x95\x53\x68\x62\xe2\xb5\xd0\xb5\x25\xd8\xc1\x58\x97\x78\xf0\x95\x5f\xaf\x63\x19\x6f\x25\x65\x29\x78\xf5\x01\xef\x3a\x76\xd5\x20\x48\x9f\x12\x2d\x9d\x03\x93\x90\x1b\xe2\x82\x2a\x25\x46\x5c\xbd\x6f\xbd\xe2\x63\xcc\xc5\x2b\x69\x71\x77\xed\xf6\xc8\xdc\xdd\x90\x06\xbb\xa0\xc6\xb3\x3d\xb1\xa0\xf4\x8b\x59\x50\x71\x57\x28\x84\x75\xd1\x02\x4d\x08\x76\x10\x38\xf6\x18\x35\x2d\x44\xd6\xa1\xb7\x85\x91\xa6\x63\xbf\x6a\xd8\x99\x9a\x5a\xb8\x86\xf6\x57\xe6\x22\x81\x60\x15\x79\x75\x08\xfb\xf0\xcb\x97\x8c\x8c\xf2\xfe\x4b\xf6\xca\xe1\xa0\x8e\x5a\xb2\x82\x16\x37\x4b\x96\x58\x12\xbe\xd3\x72\x9f\xc1\x3e\xb1\x3a\xc7\x70\x6d\x92\x45\x1c\x8e\x58\xc5\xb8\x9e\xdb\xed\x5a\x04\x50\xbe\xa0\x3b\x30\x38\xd8\xe8\xfe\xc2\x15\x62\xf9\x94\x45\x25\xe6\xde\x94\xe6\xf3\xef\x2a\x0e\x79\x87\x19\x07\x8f\x22\x4d\xcf\xf8\xf0\xe4\xc5\x7a\x2d\x1a\x00\x06\x58\xc9\xa2\x54\xa8\x20\xdf\x83\xc8\xba\xbf\x16\x00\x96\xa0\x57\x57\x26\xcc\xbd\x46\x3e\x1e\x33\xc1\x4f\xbb\x48\x34\x63\x26\x3a\x01\x60\x33\x34\xe1\xb1\xde\x2c\x9c\xeb\x84\x56\x2d\x3e\xdc\xec\x39\x66\x12\x4a\x46\x6e\x5a\x2d\xbe\xeb\xc9\x31\x14\xc4\x19\xaf\xa5\xae\xa0\x39\x1a\x01\xf8\x02\xe0\x35\x0a\x12\x07\x8f\x33\x67\x77\x01\xec\x86\x18\xa3\x09\xf3\x24\x91\xdc\x65\xb0\x77\x58\xcd\x55\xcb\x8a\x16\x1d\xb9\x10\xdf\x21\xb9\x73\x3a\x96\xf8\x81\x8d\x13\x4d\xcb\xfd\x37\x8f\x57\x90\x8d\x5a\xd3\x3d\x2d\xde\xbf\x96\xe6\x3d\xb2\xb8\xff\x9a\xae\xd7\xbf\x6c\x51\xc9\x62\x50\x2d\xeb\xc8\x15\xc5\xad\xa1\xc9\x9d\xfe\xf2\x43\xad\x67\x12\xee\xbf\x46\xef\x62\x5d\xe6\x7d\xde\x84\xdf\x1f\x5b\xb1\x12\xa5\x66\xd1\xee\x85\xb0\x68\x23\xc5\x96\x37\x18\x9e\x09\x5e\xa1\x80\xa9\x82\xbc\x4d\x35\xde\xfe\x1b\xdd\x92\x70\x78\x46\xb5\x3c\x20\x1f\x5d\x08\xbb\x81\x6c\x7b\x9d\xb2\x16\xba\x78\xcf\xeb\xda\x64\xbf\xd5\x5d\x30\x66\x41\x26\xd0\xd7\x50\xf6\xc4\x60\xd9\xea\x2f\x78\x76\x6d\x69\x5b\x60\x30\xc5\x8a\x56\x31\x7d\x54\xf6\x78\xcd\x7d\xfc\xb2\x87\xb3\x72\xff\xd5\x7e\x6a\xeb\x0f\xdc\x68\xf7\x03\x72\xb0\x0b\x6f\x4d\x39\xae\x87\x97\xe6\xfb\x13\x66\x9e\xbf\xb0\x0e\x97\x24\xa3\x46\x47\x5b\xde\x41\x6c\x7c\xf8\x30\x15\x3b\xec\xf1\x47\x4e\x49\xba\x8c\xcf\x06\xb3\x72\x90\x80\xd5\x57\xc1\x71\x6a\x02\x2a\x20\xf3\x9e\x32\xd9\x16\xf6\xfa\xff\x1a\xc1\xf8\x9e\x1f\xe6\x80\x6e\x6f\x5b\x11\x8a\x6d\xf9\xc1\x52\x5a\x69\xe1\xca\x24\x9d\x5b\xba\xd7\xc8\xd8\x24\x21\xfd\x19\x77\xec\xf8\xfa\xc1\xe1\x79\x73\x48\x23\xc3\xf3\x66\x38\x89\x48\x37\xc0\x9a\x97\xc5\x4f\x88\xc2\xf2\x3e\xed\xba\x4f\xa1\x39\xa0\x30\xda\xbf\xba\xa5\xaf\x63\xbb\x18\xd5\x8a\x1c\xaa\x0c\x0d\x7c\x3e\xac\x38\x51\xac\x08\x92\xe8\x8c\x0b\x08\x09\x3d\x1f\xf4\x3a\xc6\x3e\xfe\x81\x7b\xd3\x62\x55\x16\xd5\x4d\xea\xca\x08\xbe\x93\x03\xc7\x61\x93\x69\x89\x17\x3e\x82\xe9\xa4\x80\x90\xc0\xdb\x42\x15\xab\x32\x38\x7a\x40\xee\xb2\x1f\xbc\x59\xd8\x38\x31\x03\x05\xdb\xea\xbf\xfa\x54\x38\x20\x34\xe3\x1b\x49\x32\x14\x08\x75\x49\x9b\x4f\xa5\x58\xdb\xec\x25\x08\x69\xde\x4a\x08\x51\x96\x0a\x71\x9b\x1e\x04\x79\xfe\xbc\x9c\xa7\xeb\x94\x25\x2b\x05\xbf\x61\x9c\x19\xbb\xff\x2f\x96\x0c\x3a\x33\x79\xff\x93\x08\x17\xf3\x19\x50\x18\x73\xe3\x64\x41\x79\x73\xd7\x98\x43\xe4\x33\xec\xa1\x4d\x74\xe2\xbd\x1b\x48\x25\xbb\x45\xc0\x56\x15\xa4\xdb\x4f\x17\x3f\xeb\x28\x33\x92\xe5\xba\xea\x8c\xa8\xc7\xdf\x21\x1b\xcc\x12\xf6\x0a\xf3\x69\xda\x36\x3b\x31\xc8\xb1\x96\x95\xfa\x79\xd6\x96\xe8\xe3\x5a\x91\xe2\x53\xcd\xc1\x56\x85\xf8\xa9\x58\x82\x76\xf5\x63\x99\xc2\xcc\xcb\x3d\xd8\xc2\xd7\x48\x31\x46\xc7\x3a\x3b\xc8\x20\xf7\x65\x91\x91\x4c\x62\xcd\x70\x3d\x4a\x54\x59\xf3\xac\x68\xf5\x55\x30\x39\x9d\x9c\xa5\x70\x13\x90\x77\x7a\x33\x4f\x1c\xa7\xfb\x78\x72\x36\xc4\xa8\xc1\x24\x1c\x99\xaa\x08\x22\xcb\x0f\x4c\x56\x64\x5f\xbf\x4f\x60\x77\xfe\x1d\xac\x41\xa8\xf5\x32\x4e\x6b\x70\xfb\xeb\x6d\x13\x1d\xdb\x98\xda\x15\x75\x7c\x24\x31\x74\x1c\xc8\xa2\x49\xb9\x17\x30\xa0\xbd\x73\x63\x58\x1a\x62\xf8\xee\x62\xa6\x01\x83\x5a\x59\xbf\xf3\x17\x7a\x4a\xaf\x7e\xe5\x4b\x78\xdc\x50\x74\xdb\x3b\x52\xf3\x59\x50\x68\x4a\x9a\x9a\x9d\xc5\xd1\xfe\x09\x3a\xdd\xe4\xa6\x29\x89\xad\x07\x16\x20\xc8\x84\x89\xc4\x7f\x1f\xf5\x9a\xc8\x6d\x17\xee\x51\x45\x73\x2d\x3a\xe4\x11\x30\xb8\x16\x2d\xd3\x2b\x5f\xe4\x2e\x8b\xb2\x5d\x4f\xde\x08\xbe\x1c\xda\x81\x18\x76\xbd\xe8\xcc\x91\xd3\xae\x84\xb6\xf7\x49\x7d\x97\xde\xa7\x47\x2e\x82\x48\xa6\xed\xf6\xc3\x02\x8f\x9c\x9f\xb3\x49\x25\x2b\x31\x21\x53\xf0\x4e\x2c\xec\xe7\xc0\x32\x64\xdf\x9b\x6b\x38\xd2\xb9\x62\xd7\x45\x9e\x0b\x97\x1d\x73\x2b\x77\x2a\x81\x98\x3c\xd0\x36\x9b\x4c\xcc\x80\xfa\x8f\x96\xd6\xc7\x6f\xd0\xf9\x32\x13\x0e\xfe\x82\xf5\x1b\x70\x5e\xe9\x30\xc5\xf0\xe4\x7e\xd1\xe1\x8a\x05\xdd\x02\x3e\x0d\x94\x5d\x83\x9e\x0e\x96\xe8\x42\x74\xa4\x51\x34\x58\x7f\x31\x82\x6d\x9d\x61\x1c\xdb\x4d\x36\x1c\x58\x6e\xd0\x56\x30\x68\x41\xc7\x71\x4c\x27\x71\x22\xed\x94\x97\xda\x71\x3a\x73\x76\x8c\x90\x1d\xc3\x71\x5a\xb3\x89\xb3\x88\x7d\x5b\xe7\xdc\x04\x52\x67\xbc\x11\x26\x99\xff\xe3\xc7\x07\x56\xef\x1a\x2d\x82\xaa\xa5\xb7\xe2\x99\x13\xb2\x93\xa7\x78\x23\xda\x4b\xfb\x75\xea\x02\x94\x7d\x85\x87\x0f\x7d\xed\x65\xa1\x2e\x64\x59\xf2\x5a\x89\x7c\xd6\x0d\x17\x86\xc7\x84\x2d\x7b\xa1\x7b\xe4\xe9\x84\x82\xd4\xd3\xfc\x2f\x3b\x65\x3d\x83\x01\x4e\xd5\x24\x75\xa7\xab\xd6\xcd\xd0\x11\xc5\xe7\xab\x6b\x5e\xa3\x54\x5f\x51\x6d\x6b\x26\xca\x92\xe5\xc5\x56\x54\x4a\x6f\xf4\xa3\x98\xd0\xd0\x01\x3c\xc5\x7a\x0e\x7a\x68\xc8\x4e\x1d\x36\x7e\xa9\x7f\x8a\xde\xcb\x94\xe3\x42\x5b\xe1\x5a\x66\x3b\x35\x99\xc1\xe1\x01\xc2\x17\x3d\x3d\x9e\x96\x7b\x7e\x50\x08\x2f\xc3\xd9\xaa\x94\xd9\x8d\x93\x12\xf5\x83\x66\x57\x41\x75\xd0\x1c\x32\xe6\x3a\x13\x8d\x88\x74\x6b\xf9\xec\xf5\xdb\x8b\x3f\x9e\x51\x70\x4c\x9c\xe4\xf3\x9e\x2d\x09\xc3\xc0\xcd\xb9\x37\x89\x0f\x47\xed\x4e\xb2\xe5\xd4\xbe\x68\xb3\x6b\x36\x85\xde\x39\xa1\x9e\x2b\x31\xd8\xcf\x17\x4f\xdf\x58\x7f\x52\x6c\xfe\xda\xfa\xa6\xde\xff\xbc\xb7\x24\xba\xd6\xe6\x49\xdb\xf0\x4a\xd5\x5c\xf3\x4e\x5c\x58\x36\xb9\x68\xf0\xb2\xbd\x34\x73\xe4\xf3\x0e\x85\xa5\x5e\x8b\x75\x6b\xcb\x4c\x94\x2c\x8b\xdc\x11\x5b\x35\x82\xdf\x18\x81\xeb\xd8\xa0\xbf\xfd\xfa\xf9\x8b\x77\xaf\x5f\x7d\xfd\xe2\xe3\x46\xbe\xe2\x4a\x40\x7e\xc1\x5f\x65\xec\xd1\xb8\x4e\x4e\x5c\xf2\x7e\xd8\xaa\xc5\x4f\xf0\x6c\xa8\x01\x30\x99\x89\x3b\x0e\xa0\x2d\x36\x98\xde\xf4\xec\xc8\xd4\xd1\xe9\xa5\xf3\x66\xbc\x6b\xfe\x0a\xfc\x40\x36\x01\xfc\xf4\xfe\xd3\xf0\x44\x62\x60\xf7\x94\x6a\x3b\x71\xd8\x69\xd9\xd5\x45\x7b\x1c\xaa\xec\x6f\x13\xeb\x71\xa8\xb2\xb1\x61\x17\x63\x84\xe9\x54\xf8\x85\xab\xf7\x31\xe1\x17\xae\xf2\x51\x17\x0b\x0c\xab\x48\x3f\xdf\xb0\x44\x4f\x80\x86\xab\xd2\x17\xcc\x73\xa9\xcf\x73\xd9\x68\x99\x0f\xef\xe8\x9f\xa4\xdc\xb2\x3d\x6f\x2a\x4c\xde\xe9\x96\x91\xfe\x0e\x8a\x70\xb6\x15\x4a\xf1\x8d\x70\x3f\xb6\x36\x95\xba\x0d\x0c\x2a\x1a\xb6\x6a\xe4\x5e\xff\x04\xb5\xb7\x3b\xd5\xa2\x77\x1b\x26\x8b\x90\xec\xf1\xe9\xe9\x3f\xb1\xa2\x62\xc0\xa5\x20\x18\x5c\x5b\x9f\x39\x17\xc0\x8f\xb9\xae\xcb\xc3\x58\x75\xc2\xb5\x31\xc4\x98\xee\x11\x3d\x02\x8c\xb1\x38\xaa\x49\xb8\x96\xfb\x7f\x93\x72\xfb\x3d\x0e\x2b\x4e\x07\x6d\x35\x02\xa0\x21\x80\x15\xfd\xc9\x17\x86\xdb\x8a\x3e\x83\x8d\x0e\xa1\xf7\xc9\x1b\xd7\xed\x4a\x3e\x59\x23\x78\x2b\x5e\x94\x42\xff\x39\x9d\xe4\xc5\xed\x84\xfa\x86\xc4\x04\x8c\xf4\x9a\x29\x75\x25\xee\x20\x7c\xc2\x09\x6b\x13\xf0\x5b\x7a\xc2\x56\x25\xcf\x6e\xce\x26\x44\x8c\xeb\xb8\x94\x3d\x61\xff\x6d\xbd\xfe\xf2\xcb\x2f\xbf\x0c\x8b\xad\x65\xd5\x2e\xf4\xf1\xfa\x84\x95\xbc\xd9\x88\x88\x08\xac\xe2\xa2\xe1\x79\xb1\x53\x4f\xd8\x6f\xeb\xbb\xf0\xbb\xd1\x26\x3c\x61\xa7\xcb\xff\xf5\x9b\xf0\x53\xcd\x73\x2d\x41\xe9\x4f\x5f\x8a\x2d\x3b\x5d\xfe\x06\xfe\xbf\xfb\x77\x58\xba\x95\xf5\x93\xd4\xef\xe0\x42\xf0\x84\x3d\xd6\xf5\x22\xfa\x66\xc3\x3c\x71\x69\x2b\xc3\xef\x8b\xbd\x58\xdd\x14\xed\xa2\x15\x77\x38\xc0\x05\x07\xd9\xef\x09\xd3\x8f\xa8\x74\x59\xcd\xea\x0b\x94\x1c\x93\xc5\xb6\xf2\xa7\x71\xf4\x74\xc1\x04\xb1\x08\x8d\xa6\xb3\xd0\x9a\xf6\x85\x41\x19\x43\xff\xdc\x37\xc8\xf1\x6f\x78\xc5\x37\xa2\xb1\x4e\x4b\xef\x84\xb1\xc4\x2b\xcb\x0a\xc8\xfa\x84\xa0\xa9\x68\xdf\x1a\x3f\x40\xc2\xec\x57\x55\x3b\x3d\x72\x9f\x69\x12\x2f\x79\xd6\xca\x86\x7d\xa1\xf7\xf2\xec\x47\xa2\x4e\xea\xe1\x4c\xcd\x43\x2f\xf9\xb6\x28\x9d\xe5\x22\xf4\x94\xac\xda\xc5\x1a\x3e\x4f\x3c\x76\x68\x47\x11\x97\xde\x78\x4b\x14\x20\x68\x3e\x5b\xdc\x4c\xc5\x2d\xfd\x66\x52\x09\x5d\x5c\x17\x25\x3a\xa3\x75\x77\xf0\x59\x98\x16\xe9\x68\x6b\xd4\xbf\x6e\xa0\xdc\x12\x53\x8b\x1c\x6d\xb9\x73\x40\x07\xef\x75\x79\x2b\x1a\xfd\xce\x86\x77\x94\x81\x76\xe1\x5b\x70\xe3\xd6\xef\x93\x62\x1b\xe0\xb5\x77\xaa\xd9\x1c\xac\x45\xc5\x8a\x0a\x1d\x92\x6f\xc1\x3b\xb7\xa8\x18\xc7\x7d\xcd\xf4\x32\xcc\x59\x26\x2a\x00\xde\x01\x24\x94\x5b\x73\x3d\x93\x0c\x0c\xc4\xfe\xe0\xbc\x88\x6f\x84\xc0\x9c\x12\xb6\x39\x7b\x4b\xac\x9a\x42\xac\x21\xe7\x27\xe4\x87\x45\x1f\x92\xa8\x49\x78\x22\x1d\xe4\xce\x93\xd3\x53\x37\x69\xbd\xd5\x22\xbb\x16\xd9\x8d\x93\xf2\x10\xa2\x25\x9c\x9d\x75\xd1\x74\x01\x5a\x2c\x2c\xf3\x56\x6d\xcc\xa4\xdc\xb5\x98\xd0\xe5\x0f\x57\x6f\x5e\xcf\x5c\x27\x8d\x5d\x44\xf7\xdb\x84\xd1\x98\x61\x04\x18\x1f\xe8\xb2\x8f\x30\xaa\xe6\xae\x05\xaa\xe1\x22\x80\x0b\x00\x2f\x5a\xb6\x12\x6b\xd9\x08\xb6\xe6\xf0\x48\x94\x3b\xb8\x03\x91\x5d\x3c\x7d\x16\x28\xcf\x1f\x2f\x7f\x63\xfc\x6d\xd5\x92\xb1\x6f\xb8\x52\x20\xb7\xc1\x25\x66\x41\x89\x4d\x4d\x4b\x4c\xb5\xfc\xc0\x76\x35\xf8\xbf\xeb\xb5\x9a\xca\x86\xed\xaa\xb6\x28\x0d\x2a\xa5\x71\x96\x2a\xf9\xe1\x58\x1a\x26\x7d\x01\xbe\x35\xab\x47\xee\xbe\xad\xda\xcc\xe9\x90\xe3\x6b\xd0\x50\xef\x5e\x81\x6e\x0f\x0e\x68\x7e\x49\xdd\x7b\x5f\x81\xb4\xf2\xd0\xf5\x17\xdd\x4f\x8f\x7f\x13\x5f\x50\xe4\x7a\xbb\xbb\x5b\x24\x6e\xb8\x4f\x76\x83\x8d\xbd\x8f\x8e\xdd\x31\xf6\xda\xd2\xaf\x27\x43\xd0\xea\xec\x1f\xff\xf6\x74\xab\x98\xe0\x4a\x2c\x8a\x6a\xdc\x8d\xd3\xbd\xbe\x8e\xd3\x9d\xf5\x2d\xe3\x92\xe7\xf9\x8b\x5b\x51\xb5\xaf\x0b\xd5\x8a\x4a\x34\xd3\x09\x68\x12\xb5\x34\x3f\x99\x7b\xb6\x22\x29\xc2\x85\xbe\x0a\x74\x15\x07\x27\x77\xe6\xbe\xa8\x56\xd6\xdf\x34\xb2\xe6\x1b\xee\x75\x40\x20\xd0\x1a\x03\x18\xbd\x2b\x53\x1c\x41\x5f\x55\xc3\xde\xf4\x67\x03\x64\x7a\x9e\x69\xc3\xce\xfe\x43\x04\xef\x7b\x1d\x76\xe9\x84\x72\xc0\x56\x6d\x86\x9a\xa3\x96\xa2\xe5\xff\xfa\x8d\x37\xea\x74\xf7\x70\xe7\x36\xf5\x77\x69\xe7\x02\x0d\xf6\xbe\x7b\xfe\xe4\xc5\xad\x16\x13\x9c\x16\x68\x23\xda\x8b\xb2\x10\x55\xab\x7f\x9d\xfa\x63\xc1\x9a\x0a\x0c\x95\x63\x75\xba\x8d\xf5\x8d\x16\x94\xcc\x86\x85\xa6\xa6\x37\x3e\xea\x97\x34\x67\xbd\x0f\xd8\x09\xfb\x92\x3c\xcf\xfb\xe8\x1a\xdd\xb0\x23\x69\xc3\x96\x28\x45\xf3\x5b\xaf\xee\x1a\xdf\xce\x97\x16\x70\x00\x7c\x28\xbe\xb9\x0b\x7b\x90\x7a\x46\x06\x46\x02\x6c\x2f\x0c\x0f\xe8\x1a\xbf\xe2\x62\x8e\x08\xbd\xc0\xce\xcf\xbb\xe9\x6e\x3b\x93\x3b\x3a\x26\x00\xde\xa1\x47\xf8\x6f\x72\x96\x28\x7c\x8f\xa8\x03\xa7\x03\x5e\x0f\xf3\xad\xfd\x6f\xa8\x64\x20\x99\x75\x0a\xba\x73\x68\xa0\xb7\x54\xaf\x32\x76\x06\x70\x07\xda\x1a\x2e\x92\xc4\xfc\x41\x57\xe7\xe7\x9f\xd9\x63\x0c\x98\x20\xa2\xe1\x37\x5c\xb5\x82\x64\xa7\x39\xa8\x56\x6c\x59\x56\x16\xf5\x4a\xf2\x26\x8f\xb3\x6f\x1e\xb9\xf6\x6b\xa0\xd6\xd1\x7a\x60\x79\xf8\xf8\xb2\x91\xdb\x0b\x4b\x7d\x1a\x5e\xd2\x61\xcf\x2e\x64\x7d\x60\x9c\xa1\xd8\xe5\xbc\x5a\xa3\xfe\x39\x1c\x41\xd9\x8a\x27\xc6\xb1\xaa\x11\xa8\x5b\xc0\x8b\x49\xe4\xac\xe1\xd5\x46\xc4\x49\xa0\xe7\x5a\x7a\x34\xca\x1f\xcd\xed\x47\x21\x6d\x33\x59\x1f\x10\x20\xf4\x4a\xba\x11\x84\x0f\xfb\x26\x52\xf2\xd0\x63\x18\xa3\xe4\x17\xae\xe7\x8b\x4a\xb6\x45\x26\x26\x33\x64\x30\xc2\xa8\xb8\xcf\xbd\x00\xe5\x23\x5e\xe6\x66\x26\x21\xea\xe7\xa0\x27\xc8\xbe\xba\x20\x12\x86\x44\x11\x61\xdc\x65\x7d\xb8\x94\xbb\x26\x13\x47\xc5\xa1\xba\x11\x13\x83\xd8\x65\xeb\x44\x77\x82\x6a\x9b\xe8\x7b\x9f\x94\x94\x16\x3c\x34\x35\x22\x1d\x24\xe4\x87\xb8\xc4\xa0\x7c\x83\xef\xf7\xc5\xef\x7e\x57\xdf\xd1\x4b\xcd\x0f\x70\x25\xf3\x43\x70\xc7\xf8\x9e\x07\x21\x5f\xe3\x8d\x45\xe0\x2b\x57\x65\xd7\x68\x4f\xc0\xd0\x2e\x63\x2c\xf2\x3f\x87\x05\xdf\x5a\x47\xbc\xb8\x28\x7e\xb0\x85\xc1\xe8\xd1\x21\xea\x7e\x0d\x8a\x25\x48\x92\xdf\xd1\x40\xe1\xbe\xe0\xbf\x9e\x96\x25\x4c\x41\x23\xaa\xce\x2c\x20\x3f\xc1\xaf\xb6\x16\xe1\xee\xee\xfe\x44\x73\xdc\xab\x17\xe0\x4d\x06\xa9\x02\x76\x75\x2d\x1b\xe2\x99\xb0\x14\x77\xad\xa8\xf2\xa5\x4d\x84\xc3\x2b\xe5\x51\x7e\x5c\x29\xa4\x83\xd9\x06\x4c\x68\x81\xac\xd8\xab\x17\xcb\xd8\x2a\x67\xc8\xb9\xa4\x1c\xee\xf7\xcc\x98\xe7\xa6\x7e\xf2\xe7\xc1\xb4\xdb\x14\x1d\x11\xa5\xa9\x9b\xd7\x39\x9d\x51\x2f\xfd\x11\x16\xef\x39\xdb\x83\x49\x1c\xc4\xdb\xa3\x5c\x64\xb6\x49\xca\xe8\x16\xb3\x61\x18\xcd\x69\x3e\x9e\x85\x4b\x7b\xa8\x32\x92\x19\x65\xc0\x70\x69\xa6\x17\xef\x16\xb3\x80\x97\x26\x38\x00\x78\xc9\x44\x46\x91\xb4\x56\x2b\xb1\x29\xaa\x0a\x1d\xff\x10\x1b\x00\x13\xb8\x19\x03\x1b\x6f\xda\x04\x1b\x92\xdf\x2d\xc7\x56\x31\x4f\x43\x19\xe4\x69\xd3\x71\x5d\x04\xd2\xf0\x7d\xcd\xb7\x82\x7d\x76\xce\x26\x7f\x5a\xbc\x7b\xfb\xfd\x24\xe1\x2e\xeb\x66\xc9\xf1\x1e\x8e\xa2\x62\xbc\x62\x77\x8b\x46\xee\xa1\xc1\x39\x86\xa7\x14\x2d\xe8\x8a\x21\x42\xc8\x24\x8c\x96\x5b\x81\xc9\x9d\x8b\x4a\x59\x55\x35\xd4\x5b\x32\xf6\x34\xcf\x21\xf4\x27\xce\xf2\xe5\xdc\xec\x55\xb1\x2a\x8b\x6a\xa3\x2c\x35\x9f\x69\x9a\xcc\xe5\xf2\x81\x7b\xb2\x86\x03\x3b\x3f\x67\x93\xff\xa6\x4f\xb8\x09\x7b\xf8\x10\xba\x49\x99\x2b\x28\x76\xf9\xcd\xd3\xaf\x27\x31\x3e\x47\x65\x5c\xd0\x5b\xab\x78\xc0\x1f\x00\xe7\x47\x9f\xc3\x39\x53\x35\xb7\x3e\x28\xbb\xda\x5d\x97\x35\xaf\xb0\x35\x43\xcd\xac\x48\xd4\x81\x00\x52\x01\x3d\x90\xb1\xff\x76\xf4\x97\x38\x78\x82\x59\x41\xe9\x84\x85\xbc\xf1\xc8\xf3\xc9\x23\x6f\xc4\xed\xc9\xbf\xa8\xff\x15\x27\x60\x3a\x39\x61\x2f\x20\xe0\xa1\x87\x4d\x49\x34\x04\x65\x50\x51\xe5\x8e\x3d\x8f\xa5\x7d\x24\xa7\x43\x95\xa3\x1a\x6e\x91\xf2\x4c\x08\xca\x91\x13\x23\xc9\xe5\x86\xd4\x27\xe1\x71\x18\xe3\xaf\xca\xe1\x3e\x36\xa8\x97\xc5\x85\x5b\x85\x7f\x34\x06\xaf\xc4\x5d\x3b\xc8\xdc\xa4\x80\x53\x24\x38\xfe\xfa\x38\xb6\x06\x88\xa8\x5b\x82\x3c\xfb\x4e\xee\x41\x88\x9a\x46\x07\xe5\x3b\xb9\x77\x7e\xf4\xc3\x3e\x3c\x01\xef\xd1\x6a\x90\x50\xf9\xcc\xc3\x8a\x95\xc5\x6a\xb9\xcf\x96\x6a\xb7\x42\xb9\x7a\xda\xdc\xce\xe9\x4e\x9d\xbb\x12\x2d\x3e\x27\xa7\xcd\xed\x8c\x2d\x18\xe5\xfa\x58\x46\x0f\x40\xbe\x1d\x03\xf7\x08\xec\x86\x77\x31\x9d\x53\xd1\x1a\x9b\x2d\xc7\x28\x4e\x2d\x48\xe4\xc2\xa8\x4a\x8f\x89\xe2\x09\x79\xa5\xc7\x79\x11\x2f\x5e\x3b\xdb\xc1\x85\xec\xfd\x80\xa0\xd4\x67\xf4\xfd\x8a\xc6\xf3\x94\xd4\x0f\x85\x8f\xdd\xfd\xa1\x26\x22\x85\x64\x40\x64\xfc\x9e\x9c\x05\x8f\xd8\xe4\x2e\x72\xa8\x0a\x03\x1d\x82\xe4\x1f\xb7\xf2\x46\xe4\x6c\x75\x88\x7d\x32\xfe\x28\x0e\x38\x3d\x7b\x8c\xdb\xfc\xee\x8a\xdd\x88\x83\x6a\x1b\x79\x03\x7b\x2e\x17\x2d\x3c\x94\xfa\x34\xde\xe6\x09\x76\x65\xc2\xa2\xf1\xaf\x46\x60\xda\xe6\xd6\x9a\x6d\x1d\xc9\xb9\xde\xb6\xdf\x5e\xbd\x5c\x3c\xfe\x9f\x47\xd6\x51\x56\xdf\x5d\xfd\xd1\xf5\x24\x7c\x4a\xb9\x1d\x49\x83\x74\x64\x59\xbe\xad\x5c\x8d\xf7\xa1\x67\xd6\x00\x5e\x20\xd9\x69\x1e\x2f\xd0\x81\x94\xcb\xb0\x23\x58\xfa\xc6\x4c\xda\x52\x54\x99\xcc\x85\xed\x52\xec\xdd\x95\x07\x8f\xca\x77\x72\x8f\x30\x68\xe6\x6f\x03\x1b\x84\xe6\xe7\xb6\x10\x06\x98\x67\xa7\x04\x03\x25\xa5\xd2\xa5\x0d\x2c\x5a\xc5\xd6\x98\x36\x84\xe1\xee\x91\xd5\x1b\x5d\x70\x3a\x4b\x59\x62\x8e\x37\x94\x49\x08\x05\x83\xee\x05\x58\xc9\xe0\x29\xec\xdd\x2c\x5c\x3a\x49\xd2\xad\xa3\xcb\x06\x3d\x0b\xac\xda\xc4\xa2\xad\x25\x02\x99\x09\xa5\x44\xfe\xec\x60\xab\xff\x81\x57\x79\x29\x9a\xf7\xe4\xce\xfb\x5e\x40\x6c\xbd\xd2\x07\x80\xdc\x35\xd8\x34\xbb\xc6\x82\x36\xce\xd8\xf9\x3e\xcf\x2d\x06\x9c\xfe\xdf\x96\xa4\x48\x41\x62\x16\x7c\xce\x04\xed\x83\x6f\x99\x68\x96\x8c\xbd\xa1\xb3\x0d\x0f\x11\x99\x65\xbb\xc6\x92\x37\x7e\x27\x9e\x50\x48\xc0\x46\x66\x2a\x69\x6c\x5e\xdd\x6e\xad\x76\x2d\xdb\xeb\x1f\xf4\x75\xbd\xe7\x00\x8b\x66\x89\x99\x89\xd0\x35\xb6\xac\xdd\x17\x99\xb9\xa7\x4e\x4e\xc8\x24\x64\x5c\xd7\xfc\x8b\xbe\xca\x8d\xee\x9a\xad\x76\x2b\xb8\x72\x48\xaa\x77\x04\xf6\xc1\xc0\x1a\x06\x97\x3b\x06\x08\xaa\x39\x53\xae\x3d\xdd\x0f\x91\xc9\xc6\x3a\x4b\x22\x35\xb9\xfa\x8b\xc8\x5c\xee\x03\xc4\xeb\xd1\x6c\x72\xd0\x62\x42\x2b\x78\x9e\x4c\x93\x08\xd7\x94\xd0\x8f\x3b\x98\xc2\x17\x38\x83\xe7\xce\x18\x23\xd6\x82\xe3\xa7\x77\x50\x4a\xbd\x8f\x3c\x8b\x6f\xdb\xe5\xd6\x7f\x76\xe1\x71\xb7\xed\xf2\xcd\xdb\x6f\x2f\x5f\xbc\x7f\xf7\xe2\x9b\xb7\xef\xae\xde\x3f\x7f\x75\xf9\xf4\xd9\xeb\x17\xcf\x71\x47\x0e\x32\x8f\x3e\xc5\x9b\x9d\xb0\xcf\xd0\xb7\x15\xba\x62\x41\xe6\x87\x13\xe3\x58\x0a\x81\x5a\xb9\x5d\xa6\x90\xa9\x99\x58\xd2\x0d\x74\xce\x9c\x91\x7a\x2a\x96\x19\xa8\x88\xff\x95\x24\x53\x1f\xf2\x28\x9e\xb1\x93\xa1\x1b\x79\x94\x13\xd7\xcc\xe6\xb0\xf2\xdd\x72\x00\x64\xae\x67\xb6\x63\x7f\x1a\x6e\xf0\x78\x9b\x06\x31\xee\x11\xc1\xed\x12\x4b\xbd\x9f\x41\x28\xf3\x76\x15\x2d\xbf\x75\x3a\xf4\xfb\x3e\x00\x3a\xb7\x9b\xdf\x58\x02\x71\xd6\xc0\x86\x78\xbe\xdf\xdb\x53\x9d\x7d\xd6\x61\xc1\xae\xd4\xec\x83\x9d\x9d\xaf\x7d\x95\x1b\x60\xc1\x4a\x6a\xa1\xa4\x02\xb3\x69\x70\xf0\xda\x08\x77\xa4\x74\x2d\x55\xab\x77\xf8\xdc\x01\x52\x9a\x9d\xec\x9d\x9a\x62\x5f\x77\xb8\x4c\x1d\x8f\x59\x42\xbe\x2f\x68\xed\x96\xb5\x85\x3e\xbc\x11\xa2\x56\x49\x4a\x20\x86\x03\x6c\xc2\x5a\xe8\x4b\xc6\xed\x66\xbd\x61\x4b\x99\xf1\x12\x65\x18\x2f\xe5\x39\x21\x3c\x64\xe8\x05\x7b\xac\x17\xf3\x98\x1f\xb7\xdb\xa6\x09\xce\x1b\x41\x82\x02\xda\xb3\x51\xae\xfc\x10\x45\x60\xa4\xe0\xc8\x23\xe2\x1e\xe1\x07\xa3\x83\x06\x88\xac\xdd\xcb\xe5\xd4\xba\x2c\x96\xbc\x6c\xff\x28\x0e\xec\xe7\x9f\x07\xf8\xcd\x72\xdc\x77\x57\x86\x91\xb0\xa4\x71\x65\xcb\x0b\xe5\x31\xe5\xf5\x41\x8d\xf0\x6b\x70\x48\x8a\x1c\x96\xd2\x53\xe1\x65\xbb\x70\x5d\x31\x2c\xe7\x4f\x2b\xbc\x72\x7c\xe8\x37\x72\x40\xb4\xf8\x2e\xf1\x4f\xf7\x14\xb6\x87\x24\x3d\x15\x88\xd8\xfb\x02\xe1\x5a\xa7\xce\xe6\x19\x05\x48\xe1\xd1\xea\x42\xf4\xe0\x4a\x59\xeb\x2b\x7a\x5f\x89\x46\x5d\x17\x0e\xdd\x06\x7b\xeb\xf0\x72\x46\xf4\x0b\xbc\xe8\x82\x8e\xf5\x29\x5c\x9d\x7a\xef\x4a\xbe\xa8\xf2\xe9\xec\xe8\x68\x80\x34\xb1\xf5\xa6\xad\xc0\x01\x5f\xf4\x2f\x75\xc4\x35\xf9\xaa\x04\x88\xa3\x98\x13\xed\xfe\x10\x77\x35\xaf\x72\xdf\xfb\xc1\x91\xb9\x3e\xde\x57\xf5\xca\xfc\x0b\xf6\xc8\xd9\xbd\xbf\x2e\xb2\x6b\xb7\x8b\xe1\x2b\x98\x79\x9e\xed\xda\x56\x56\x81\x5b\x13\xd8\x64\x1c\x54\x6a\x8a\xee\xae\x8e\xa9\x3e\x76\x71\xae\xba\xf3\x6f\x2b\xec\x3e\x3d\x55\x62\xd0\xac\x68\x6d\xa9\x8a\xd2\xcd\xe8\x2f\x9c\x8e\x4e\xbf\xb7\xf2\x56\x4c\xf4\x8e\x4e\x0c\x68\x46\x3b\x4b\xae\xcd\x67\x28\xf4\xe1\xd9\x22\xaa\x0d\xdf\xd0\x1e\x9e\x9c\xb0\xe7\x85\xc2\x9f\xc9\x0d\xb7\xb0\xa2\x22\x3e\x65\x65\x65\x23\xbf\xdc\x5d\xb3\xec\x1a\x70\x53\x2d\x25\x37\x48\xa2\x38\x0d\x7e\x9a\xa0\x09\x84\x4c\x87\xd9\xcb\x27\x5f\xf8\x33\x36\xc1\xe7\x5f\x9c\x74\xbc\x6b\xc6\x4c\xc1\xd1\xe3\xd4\x09\x03\xb7\xc9\x29\x02\x8d\x12\x78\x14\x6a\x52\xe4\x96\x75\x2e\x5f\x58\x41\xf7\x97\xd2\x83\x1b\xd2\x81\x7a\x2d\xc7\xae\x5d\x74\x14\x8e\x9b\xd2\x40\x14\xfc\xcd\x2c\xf2\xb4\x3f\x46\xc3\x9a\xf5\xbd\xd8\x96\x20\x42\x2e\xc1\x24\xdb\x46\xb3\xf9\xf6\xda\xca\x10\xc4\x9c\x92\x37\x7c\xb3\xb0\x59\x10\xb8\xbf\x80\xd8\xd3\x97\x57\x2f\xde\x91\x03\x1a\xee\x18\x4a\xae\xa8\x18\xee\x65\x88\xdf\x40\x1c\x26\x29\x59\x69\x72\x12\xf7\x32\x78\x34\xed\xf7\x3d\xba\x87\x7c\x73\x3e\xd0\xed\x8c\x12\xa1\x79\xfd\x12\xb7\x9c\x81\xd3\xe9\xde\xe7\x0d\x84\x32\xc2\x53\x01\x5f\x44\xb2\x62\x86\x9e\x9e\x1e\x33\x31\x30\xaf\xad\xd8\xd6\xb2\xe1\x4d\x51\x1e\xc2\xeb\x9c\xf1\x07\xa9\xeb\x7c\xc9\xd8\xdb\x4a\x97\x95\x48\xd9\x89\x89\x5e\x35\x56\x28\x26\x30\x67\xbd\x84\xb5\xa4\xaf\x37\x78\x45\x16\xdb\xad\xc8\x0b\xde\x8a\xf2\xc0\x6e\x4c\xa2\x3b\x70\x8b\x57\xb1\x18\x30\xe6\xb2\x0d\x5c\x41\xd1\x11\x46\x59\x9f\x4b\x2d\xa4\x36\x28\xe1\x16\xca\x24\xcf\x39\x40\x8c\x1d\xec\xca\x4a\xee\x19\x5f\xc9\x5d\x1b\xc8\xce\x54\x21\x81\x2f\x4c\x8f\xa3\x67\x03\x2a\x38\xab\x64\xb3\xe5\x25\x7b\xfe\xf6\x8d\x0d\xff\x04\x98\x40\xac\x80\x13\x98\xe7\x20\x51\x72\x48\x3a\x3f\x21\x92\xec\x04\x24\xf8\x49\x28\x9b\x4e\x88\x7a\x63\x9c\x86\x22\x56\x50\xb0\x00\xef\x57\x8b\x58\x7b\xd4\xbb\x64\x3b\x65\x70\x58\x8e\x53\x06\xf8\xc7\x0b\x28\x1c\x68\x40\x4c\xe8\x5a\x1f\x52\x69\x22\x4a\xce\x18\x20\x4d\x46\x52\x73\x54\xd3\x18\x3d\xaf\x9d\x34\x05\xc1\xc3\x06\x04\x37\xa2\xa1\xec\xc5\x58\x7c\x90\x1e\x6e\x94\x6e\x85\x84\x33\x1f\x1d\x3b\x56\x4b\xc4\xb5\x98\x43\xb1\x37\x12\x66\xa0\x37\xfa\x65\x53\x28\xc0\x0f\xb3\xe1\x37\xfe\xec\xd1\x3d\x3c\xda\x2b\x10\x6e\x52\xda\x28\x70\x20\xe3\x2d\x67\xe7\x0c\xfd\x19\xac\x3f\xfb\xf4\xe4\xcf\xd5\xc9\x76\x33\x67\x93\x3f\x1b\xdf\x3a\x53\x2c\xa9\xfa\xd3\xdf\xbc\x9e\x38\x78\xaf\xae\x1a\x9e\xdd\x88\x56\xe4\xd0\x07\x5c\x15\x43\x6a\xf2\xe7\xbb\xc7\xab\x1f\xbe\x3c\x3d\xfd\xbf\x13\xf6\x08\x7f\x7c\xe4\x7e\x7c\xfc\x7f\x27\x81\x02\x52\x3f\x51\x4d\xf6\x59\xd3\x5a\xff\xda\x61\x7c\x4c\x63\xb4\x89\x5a\x62\x22\xfe\x3b\xe3\x67\xed\x42\xd6\x87\x3e\x15\x1e\x4a\x04\x3b\x25\xcc\x49\xfd\x3d\xc0\x7e\xea\x1a\xf6\x00\xed\x3b\xcb\x63\x3f\x96\x3e\x81\x2e\x80\x71\x3d\x4d\x80\x0f\x0f\xf1\x2b\x82\xec\x44\xce\x3f\x61\xca\x4e\x73\xbe\xe9\xe7\x7f\x5e\x34\x02\xa2\xf7\xac\x4a\x54\x2f\x2a\x5e\xa2\x80\x15\xa5\x0c\x48\x25\xc0\x46\xc1\x51\x84\xd1\x40\x31\xc8\xb7\xbe\x83\x79\xcb\x6e\x0a\x34\x3b\x02\x95\x95\x28\x65\xb5\x51\x98\xbf\xc0\x03\x19\x31\xcc\xdd\x1c\xc0\x15\xcd\xed\x71\xaf\x6f\x96\x8c\x57\xfa\x94\x14\xff\x7f\xf6\xbe\xbd\x3b\x8d\x63\xd9\xf7\x7f\x7f\x8a\x8e\xcf\xb9\x1b\x88\x11\x02\xf4\xb0\x64\x45\xc9\x46\x08\xc9\x58\x4f\x83\x24\xbf\xe2\xe3\xd3\xcc\x34\x30\xd6\x30\x83\x67\x06\x49\x78\x27\xe7\xb3\xdf\xd5\x55\xfd\x9c\x07\x20\x25\xd9\x7b\xdf\xb3\xae\xd6\x4a\x2c\x41\x3f\xaa\xab\xab\xbb\xab\xab\xab\x7e\xf5\xc0\x9c\x19\x17\x7b\x2b\x9c\x4d\x5a\x50\xe0\x18\x92\xd8\x3a\xd3\x28\x1c\x45\x74\x32\xa1\x89\xe7\x10\x7c\x1d\xc0\x1d\x6b\xe9\x44\xf7\x80\x5b\x05\x01\xbf\x78\x99\x6f\x9b\x09\xd9\x31\xf1\x40\xc6\x9a\xc4\x0f\x55\xb8\xf0\xe0\xbb\xd0\x12\x03\x18\x59\xd9\x20\xf5\xdb\x6f\xa4\xbe\xa7\x33\xa7\x48\x52\x10\x34\x37\x9e\xd0\x28\x39\xe2\x04\x1d\x7a\x77\x9e\xcb\x16\x90\x25\x61\x9d\x16\xbf\x94\xad\x68\x98\x43\xa2\x14\xbc\xbd\xe6\xd1\x4f\xfb\xa4\xce\xbf\x55\x94\xf2\x0f\x6c\xa3\x36\xbd\x0b\x3d\x57\x5c\x00\x62\x2f\x99\xe1\x86\x2c\x42\x16\xe0\x7c\x15\x41\x8c\x71\x38\x61\x89\x37\x61\x86\x92\x20\x85\x4d\x36\x37\x62\x09\x17\x77\xae\x15\xba\x7a\x95\x2b\x3c\x90\x30\x22\xee\x2c\x92\x2f\x30\x5e\xe0\x25\x1e\xf5\x89\x1f\x52\xb7\x2a\x6c\x60\x68\x5d\x96\xcd\xb9\x8c\xfa\xd2\x0e\x4c\x13\x69\x8b\xc6\xa5\xc3\x45\x12\x0c\xdd\x82\x3a\x6f\x08\x31\x92\xcc\x95\xc1\x07\xf6\xfe\xc2\xbf\x74\x66\x3e\x45\x3c\x79\x6d\xff\x52\xc1\xe9\x5c\xe8\xaa\xa0\xb1\x72\xfa\xb8\x6e\xe3\xdd\xe1\xf3\x54\x9d\xeb\x14\x77\x68\xa5\x13\xb1\xb0\x7c\x27\xab\x93\x3b\xea\xcf\x58\x5c\x68\x8d\xf6\xe2\x73\x76\x2f\xde\xd3\xac\x49\xf9\xa1\x28\x9d\xc4\x6f\xbf\xe5\x09\x83\x9a\xbb\x9c\x7a\xea\x65\xed\x99\x9c\x4e\xa9\xc8\xf1\xdd\x4e\xa6\x17\x84\xf0\x60\xd7\x73\xb9\xb2\x86\xab\xb0\x8a\x06\xfc\x24\x84\xc8\xc4\x59\x04\x9a\x51\x34\xc7\xe4\x5e\x5e\xfc\x4c\x6a\xde\x22\xa0\xd4\x82\x33\xe3\x1d\x7f\x31\x07\x54\x55\x24\x1a\x20\x63\xa9\x90\xc2\x47\xc4\x55\xfd\xb0\x2f\xb3\x13\x71\x69\x56\x5c\x34\x74\x08\xe3\xad\x32\x0d\x7b\x96\xd6\x46\x1e\x79\xd2\xf7\x59\x74\xe7\x39\x56\xce\x0b\x04\xed\x32\x90\xc0\x16\x1f\x53\x06\x9c\x4f\x7e\x3c\xed\x0f\x79\x26\x64\x0b\xcd\x67\x45\x6c\x9e\x22\xeb\xf4\x63\xd0\x0e\xb4\xc8\x15\x18\x2b\x95\xef\x2e\xb8\x2f\x5b\x51\x5f\x4b\xc1\x93\x54\xc9\xdc\x41\xd8\xee\xce\x68\xfb\x99\x5f\x58\x0c\x5c\x8e\x04\x92\xd9\x2b\x8d\x0e\xda\x73\xc7\x67\x5f\x3e\xd5\x3f\x17\xa4\x34\x58\x09\x54\xea\x5f\x4f\x7f\xe3\x73\x4e\x84\x1c\xb3\xb3\x7a\x2f\x84\x3c\xcb\x16\x32\x50\xcf\xee\xf8\x05\x05\x0c\xb6\xea\xfd\x23\x8d\x80\xc6\x9b\xf9\x6b\x30\xd0\xf2\xc9\x7f\x3c\x0c\x9a\x0a\x29\x58\x01\x09\x2d\x95\x7a\x22\x5d\x55\x94\xcf\x45\x97\x93\xe6\x8b\x31\x63\x3e\x7a\xf6\x4c\x30\x3c\xdf\x83\xa7\x5b\x9d\x62\x42\xe4\x5d\x1f\x87\xf7\x64\x48\x63\xac\x3c\xa5\x23\x04\xff\x86\x46\xf4\x15\x1e\x5b\xb3\x6f\xaa\x76\x5c\x5c\x8a\x9f\x32\x14\xcf\xe8\x7b\x45\x06\xbd\xe3\x5d\x9d\x85\x77\x4c\xa2\x0a\x44\x56\xb0\x9b\x6a\x6f\x19\xb7\xb2\xed\x98\x95\x6d\x8f\x1b\x7e\xdb\x23\x94\x73\x8d\x0d\xac\xf4\x0f\x31\x41\xa7\x6e\x38\x62\xad\x94\x1d\xcb\xee\xb4\x05\x37\xc8\x82\x5b\x5e\x7e\x26\x81\x61\x18\x75\xa8\x33\xd6\x51\x16\xc6\x03\x51\x80\x3d\x28\x23\xbc\x3e\x47\xf2\xdb\x12\x40\x5e\xfb\x5c\x05\xfb\x7d\xef\xd9\xfa\x3a\xe9\x5f\x5c\xf7\xda\x1d\x72\xd4\x3d\xed\xbc\x42\x4b\xf1\xfa\xd7\x78\x1d\x7e\xf9\x22\x87\xfa\xc5\x0b\x6b\x5f\x63\x5e\x9a\xdf\x53\x10\x0a\xbe\xec\x54\x48\xb3\xde\x68\x82\xa9\xa2\x3d\x8e\xc2\x89\x37\x9b\x90\x8b\x3e\x69\xcd\x92\x31\xe4\xb1\x69\xf9\x3e\xc2\xc6\x23\x5e\x78\x74\xc7\xaf\x15\xeb\xeb\xe4\x3a\x56\x48\x3d\x24\x46\x27\x7a\x47\xb8\xa8\x8d\xf8\x69\x19\x20\x9f\x29\x39\xe8\x1f\xae\x21\xe6\x8c\xef\x39\x2c\x90\x6f\xf5\xa8\xe0\xf3\x96\x86\x80\x4e\x2c\x54\xfa\xd3\x6e\xbb\x73\xde\xef\x90\xa1\xc7\xf7\x81\x67\xa5\x19\xd7\x11\x93\xc8\x73\x12\x7e\x1f\xe4\x3a\x6f\x94\xb8\x6c\x5a\x2e\xf1\x5f\xf1\xfa\x79\x7d\x75\xb4\x03\x3e\xee\xca\xcf\x67\x3a\x4b\xd6\x2f\x66\x09\x60\x93\xc0\xab\x21\x75\xe0\x56\x08\x14\x29\x4c\x69\xb8\x1b\x4e\x26\xb3\x80\xf3\xd6\xc8\xed\x93\x4e\x5a\xd4\x96\x15\x7c\xef\x96\x91\xff\x0e\x68\x1c\x8f\xff\x1b\x74\xb3\xff\x76\xa2\x90\xff\x1e\x31\x87\x79\xa0\xaf\x81\xc3\x00\xe5\x7a\xac\xe4\x8d\xe3\xd3\x38\x26\x98\x71\x68\xaa\x11\xc7\xbd\x88\xd0\x68\x74\x27\x5c\x0f\xe4\x5a\x06\x84\x6b\xe9\x0d\x21\x81\xc3\x13\xcc\x64\x12\x31\xaa\x35\x5c\x13\x4c\x14\x28\x0f\x67\x09\x61\x0f\xd3\x30\x16\xba\xee\x04\xab\x11\x16\x24\x5e\x94\x06\xa1\x51\x54\x9a\x86\x2a\x04\x5d\x96\xec\x41\xcf\x49\xc3\xfa\xc5\x88\xed\x03\x54\xc1\x3c\x12\xfa\x5a\x5e\x21\x13\x96\x8c\x43\x4c\xf5\x60\x8f\x5e\x81\x4f\x24\xa1\xe2\x95\xf2\x86\x8a\x55\x43\x24\xc4\x39\x93\x10\x4f\x08\x37\x03\xa8\xf6\x2c\x4e\xbc\x80\x9a\x08\xcd\xdd\x38\xf4\x69\x62\x65\xb0\x50\xea\xbf\xe2\xcc\x34\x0a\xf9\xa5\x08\x2f\xb0\xda\x8f\x73\xc0\x02\x36\xf4\x92\xf8\x15\x6f\x68\x8d\x5c\xca\x52\x94\x4c\x18\xd7\x56\xbd\x18\x33\x4a\x51\xa1\x83\x0b\x74\x5b\x9b\x03\xa9\xf1\x63\x88\xb0\x72\xce\x41\xfc\xd9\xe0\x2e\x04\x78\xd8\x78\x36\x50\x54\x96\x63\x86\xfc\x84\xdc\x22\xc8\xc6\x29\x24\xe7\x14\xfc\x03\x7f\x26\xb2\x06\x93\xe2\xe1\x28\xf9\xd6\x4d\x39\xab\xbc\x84\x30\x1a\x7b\xc8\x4a\xc0\xa3\x15\x56\x39\xce\x63\x35\xbd\x40\x19\xc6\x1d\x28\xca\x60\x26\xf8\x4d\x4a\x08\x0b\x9e\x18\x26\xff\x44\xb7\x5d\xcc\xf5\x7e\x34\x4b\xb8\x92\xae\xd3\x83\xd0\x39\x89\x66\xe0\xbc\xc0\x37\xd6\xfb\x30\xba\x15\xe3\x8c\xc4\xa5\xed\x1e\x0d\xa6\x81\x3f\x07\xfb\xe6\xc0\x67\xd8\x33\x9f\x4e\xea\x43\xd2\x43\x4a\x32\x22\xa8\x12\x5a\xd2\x80\x74\x2f\xdb\x7a\x06\xd2\xa7\x90\x2d\xc2\xbf\xe7\xed\xd8\xdd\x0b\x73\x4b\x96\x52\x60\x6c\xcd\x6a\x2b\x24\xfb\x4a\x48\xe4\x4d\x86\x0f\xba\x7b\x21\x7d\x81\x40\x52\xe5\xac\x93\xee\x45\x0d\xa6\x48\x5d\x4c\xa4\x4b\x77\xf7\x42\x87\xa5\xfd\x7f\x3c\x81\xff\x8f\x27\xf0\x4f\xc6\x13\xe0\x72\xb9\x14\x52\x40\x46\xc0\x65\x60\x05\xec\x25\x61\x79\xdb\xe6\x56\xb2\x44\xfc\x02\x50\xa6\x02\x32\x8c\xe8\x44\xc5\x0e\x4a\x2f\x67\xe3\x68\x0a\xdc\xf0\xbe\x4a\xa6\x21\x3f\x88\x5d\xed\x95\x2e\xb2\x39\xf2\x96\x66\x91\x3a\x6a\xe1\xf5\x75\x46\x7d\x7f\x4e\xee\x59\xc9\xf7\x8d\xc4\x79\x4c\x20\xc0\xaf\xcb\xb0\xb7\x75\xe1\xc8\x07\xf9\xc3\xf1\x6e\x5b\x93\xeb\x07\x2c\xc0\x42\xca\xc1\x64\x23\x36\x24\x99\xf6\x71\x1d\x0d\xa4\x78\x2c\xf0\x01\x14\xc9\xde\x2c\xf2\xa1\xc1\xeb\xde\x29\xaf\xeb\x87\x54\x69\x2a\xaa\x9e\xaa\x74\x01\x5b\x07\x8a\x98\xa0\x88\x5c\x4c\xf1\x01\x47\xf0\x49\x12\x4a\xc8\x79\x98\x10\x6f\x32\xc5\x00\xc3\x82\x97\x05\x6b\x7a\x51\x79\x3d\x82\x66\x8c\xe9\x9d\x45\x7e\xd5\xec\xd1\x4a\x92\x1d\xb0\x7b\x71\xf4\x43\xbd\xb2\x3d\xe3\x55\x92\xa9\x6c\xab\xd2\x70\xb4\x10\x91\x4c\x43\xa6\x9a\x99\x46\x21\x57\xce\x94\x5b\x6c\x5a\x5d\x12\xdc\x10\xc5\x20\xa8\x41\xb1\x13\x72\x71\x02\x1f\x86\x45\xcd\xf2\x53\x82\x6b\x22\x34\xc9\x37\xdc\xda\x22\xcf\x12\xf9\xc5\xa5\xa8\x6f\xb0\xc6\x20\x21\x5f\xe0\x59\x22\x6a\x59\x45\x6d\x1e\x00\xd7\x31\x43\x4f\xda\x6d\xbc\x7b\xa1\x4f\x31\x50\x99\xf8\x79\xec\x25\x52\x93\x12\xde\x49\x57\xca\x62\xf9\xa3\x3c\x5c\x68\x1c\x87\x8e\xa7\x1f\x4a\xf1\x6d\x31\xa3\x93\x79\x90\x3b\x12\xf4\xd6\x24\x24\x53\xbe\xa1\x38\x61\x90\x44\xa1\x9f\xd9\x40\xf9\xc1\x35\x1c\xe2\x11\xab\x95\x0d\xcc\x13\x04\xda\x92\x38\xc0\x84\x8e\x21\xcd\xeb\xb2\x6d\x79\xd4\xc9\xe6\xf5\x9b\xac\x6a\x8b\x6b\x02\x53\x9f\x15\x61\x26\x5b\xd3\xc2\x35\x9b\x7c\x6b\xba\x17\x8a\x44\x70\x99\xea\x29\xd9\xc4\xe7\xa4\x50\x3d\x35\xb5\xe9\x94\xeb\x23\xee\x97\xf4\x1b\x94\xfa\x02\xed\x77\x61\xcd\x36\xd8\x8b\x37\x16\xf5\x91\x68\xd6\xb0\xa3\xa3\x21\x4f\xfc\x2d\x1b\xb1\xcf\xf7\x94\xdc\x78\xe1\x5e\x56\x98\x60\x64\xfc\x1b\xbd\xfa\xf8\x5f\xd6\x8b\x8d\x7c\x4f\xd7\x42\x51\x8a\x75\x00\x9d\x52\x3e\x56\x60\x70\x38\x2d\xb8\x7c\xa6\x08\x4a\x2b\x2b\xb6\x6c\xa3\xf5\x1a\x26\x1b\x9e\xdf\xf8\x26\x1b\x4b\x13\x2d\x0b\x92\x0c\xd8\xaa\x10\x2b\x79\x31\x5a\xf4\x54\x6e\xa8\xfa\x56\x0e\xc6\x70\x48\xa6\xc2\xdd\x94\xf7\xb9\x42\x48\x05\x90\x06\xf6\x9b\x82\xcc\x98\xa9\x2d\x41\x6a\xe4\x45\xf1\x12\xeb\xeb\xe4\xc2\x24\xb5\x06\x31\xad\x41\x1c\xfa\xac\xe6\x87\xa3\x72\xe9\x3a\x40\x35\xde\x54\xef\x5f\x01\x6e\xaf\x68\xa6\x90\x8b\x54\xaf\xc8\x85\x01\x24\x4f\xe5\x9c\xbe\x34\x99\xda\xa2\xee\x0a\x58\x25\xad\x69\x78\x3b\x76\xb3\xd8\xb9\x25\x3e\xac\x35\xf8\xda\x0b\x46\x25\x7c\x3c\x93\x1b\xf1\x6a\x31\x2e\xb7\x6c\x4e\x62\xf6\x6d\x26\x6b\x2c\x9e\x93\x95\xc2\x58\x56\x98\x96\x70\x00\x06\x88\xc8\xb5\x22\x74\x70\x6a\xde\xf4\x2f\xce\x6b\xd8\x9e\x37\x9c\xa7\xa2\x51\x16\x13\x27\x3f\xcf\x79\x07\x84\x57\x92\x2a\x91\xaf\x5e\x72\x1b\x0b\x07\x5f\x0d\xc8\x49\x11\x2f\x17\x0e\xbe\x4a\x93\x4e\x38\xf8\x9a\xda\x87\x8c\xcc\xdc\xfc\x4b\x63\xff\x31\x33\x81\x63\xbb\xbc\x80\xb5\x66\x2d\xd8\x9d\x14\xb9\x29\x12\x0b\x45\x53\x09\x26\x28\x3e\x9e\x74\xe7\xf8\xc3\x22\x89\x9a\x54\xbe\xd4\xfc\xa6\x52\x71\x1b\x0a\xa1\x9b\x8c\x6b\x2b\x15\xc5\x11\xad\x22\x5d\x36\x47\x96\xcc\x5f\x56\xce\x0c\x8e\xbd\x03\x8b\x0b\x85\xe8\xac\x1d\xb5\x82\x06\xf3\x84\xa5\x70\x36\x0a\xb4\x9e\xbc\xe5\x62\xb7\xa5\x9b\x99\x46\x5e\x41\x24\x91\x35\x3c\x30\x02\x5d\x5f\x1d\xed\x2c\x8d\xff\xb2\xf6\x7e\xf1\x74\x27\xdf\xb0\xa2\xf0\x9e\x94\x5a\x98\x94\x4e\x75\x2e\x1d\xeb\x85\xc2\xa2\x0f\x20\xc3\xf7\xc2\x68\x54\xe6\x2d\x2c\xe7\x6d\x83\x8f\xe6\x9c\xb0\xc7\x08\xa3\x5c\xe4\x67\x92\x6c\xfd\x45\xac\xf4\x83\x7f\x47\x66\x82\xeb\x4b\xf4\x6b\x50\x2a\xe6\x6a\x63\x9b\xbc\xa1\x77\xb4\xef\x44\xde\x34\x79\xba\x38\x3e\x9a\x6b\x38\xba\xfd\x95\x84\xb4\xb1\x5d\xc4\x58\x18\xbf\x92\xe5\xb2\x6d\xbe\xcd\x0f\x1e\xbc\x84\x8e\x57\x1f\xbc\x25\x51\x2a\xa7\xe6\x5f\xc6\x12\x3f\x58\x85\x29\x20\x6e\xab\xb0\x05\xe5\x72\x21\x63\x96\x1a\xfa\x1f\x92\x2f\x46\xd2\xfc\xff\x5d\xc6\x7e\x4c\xac\x6f\x1a\xfa\xdb\x61\x10\x27\xd1\x0c\x9e\xf0\xf9\x6d\xd4\x0a\x32\x17\xab\xcf\x54\x94\x62\xf5\x21\x99\x00\x7c\x2b\x60\x20\xa1\xed\x87\x3d\x24\x44\xb3\x8e\xc4\x33\x67\x4c\x28\xc4\x7e\x0a\x9c\xb9\x75\x00\x55\x56\xc8\x74\x98\xe7\xbf\x4a\x06\xa1\xef\x56\xc9\x90\x7a\x41\x52\x25\x5e\x42\x7d\xcf\xa9\xe2\x03\x7e\x95\xcc\x02\x97\x45\x98\xd6\x15\x2c\xb2\x49\xe4\xdd\x32\x61\xee\x54\x64\x59\x34\xcb\x3b\x60\x9c\xbe\xa0\x39\x72\xa8\x84\x82\xc3\xa8\xf0\xd4\x62\x91\xb6\x21\x08\x4b\xaf\xa9\xaf\xeb\x01\x41\xd4\x0d\x5f\x2e\x2c\x4e\xe0\x59\x40\x26\xf0\xb5\x1b\x1b\xa2\x5b\x16\xbf\xea\xd1\xc4\x1b\x78\xbe\x97\xcc\xb3\x50\xe4\x86\x88\xc9\xb5\xe5\xe8\xa9\x30\xd7\xda\xeb\xab\xb3\xd3\x43\xe1\x8b\xf3\xbb\xf6\xca\xb9\x82\xd7\x49\x68\x4b\x7d\x96\x84\x04\x62\x7b\x20\xf8\x9d\x5f\xba\x95\xe5\x9a\xc0\x85\xd1\x22\x34\x75\x07\x35\xb1\x05\xcc\x85\x26\x1b\x37\x96\x9a\xf2\x81\x26\xfb\xaa\xef\x3d\x65\x00\x8e\x19\x57\xef\x3c\x3a\xf0\x53\x01\xc2\x42\xe8\xc5\xb5\x1b\x71\x0e\x69\x4c\x98\x97\x8c\x59\xf4\x4a\x60\xc6\xf4\xda\x5f\x0e\x3b\x47\xad\xeb\xd3\x2b\x42\xca\xe0\xd0\x1b\x06\x20\x58\xc2\x87\xa7\xa2\xcb\xf5\x8e\x0f\xf0\xe9\xaf\xac\x4c\x61\x7c\x51\x94\xa2\xd1\xa0\x4c\xa2\x2a\x19\x55\xc9\xa0\x52\x82\x04\xc2\xa2\x16\xda\x2f\xc5\xc3\x7d\x39\x13\x5c\xee\x01\x98\x01\x1c\x41\x48\xdd\x94\xfa\x2c\xc1\xd7\xa3\x59\x0c\xae\x2c\x30\x7e\x2d\xd0\x36\xf2\x95\x41\xbc\x7e\x7c\x54\xd2\xbe\xa0\xac\xc9\x3b\x33\xba\x9a\x3a\x63\xbc\xea\x82\xcf\x92\x32\x10\x02\x6d\x09\x67\x30\x06\x06\xa7\xe9\x79\xa6\x82\x95\x33\xbd\x9b\xf3\xe1\xd0\x20\x0c\xc0\x8b\x40\xbb\x44\xa5\xc6\x27\xa9\x15\x94\x7e\x69\x5f\x9c\x5e\xf4\x72\xc6\x56\x50\xee\x99\xf6\x1d\xe7\x73\x77\x64\xb6\x0b\xd3\xd4\xdc\xda\xaa\x12\xf9\xbf\x8a\x86\x32\x14\x15\x0e\xcc\x0e\xa0\x42\xbd\x4a\x20\x05\xb8\xa1\x0f\xf0\xdd\xc3\xf4\x44\xc7\x21\x50\x38\x6f\x53\x9f\xe2\xde\x92\xf9\x78\x20\xd3\xf3\x59\x9f\xaa\x9d\x27\xf3\x8d\xb5\x09\x65\x3b\x11\x6f\x0b\x39\x9f\x6b\x3f\x07\xeb\x9b\x7b\x47\xe0\x72\xd9\x1f\x27\x9e\xcf\x0e\xd1\xcd\x57\xe0\x2a\x29\xb8\x08\x3f\x8c\x2e\x85\x6c\x6a\x40\x3f\xe9\x4d\xc5\x92\xb6\x51\x20\xe5\x2a\xd5\x1d\x62\x2f\x55\x72\x2f\x53\x28\x23\x1a\x13\xe7\xa2\xda\x94\x72\xed\x67\x43\x38\x22\x54\x84\x3b\xd8\xe3\x29\x56\xe4\x23\x06\x3c\x0e\xf0\x3c\x8d\x09\x55\x79\xb5\x13\xf5\x5e\x91\x8c\x29\xca\x9d\xf0\xd9\xbf\x47\x78\x4b\x51\xb5\x78\x33\x32\x94\x01\x84\xb7\x3b\xc0\x09\x17\x41\xda\x7a\x5c\xfc\x83\x2a\x6c\x80\x03\x3c\xab\xf1\xb4\x23\x65\x6f\x48\xe8\x1d\xf5\x7c\x5e\xb9\x02\xc3\x00\xa2\xcd\xbc\xeb\x30\xd0\x98\x25\x32\xd2\x92\x6f\x05\x53\x16\xb8\x2c\x50\xe9\xad\x8d\xce\x45\xc1\x47\xd2\xdc\x8a\x0f\x22\x99\x7e\xc3\xa2\xbd\x45\x70\x17\x62\x3e\x9e\x51\x34\x48\x94\x4b\xe3\xf3\xfb\x31\x4d\x98\x7c\x83\x92\x8e\x8c\xb8\x05\x00\x9d\xe2\x8d\x18\x77\xc9\xe7\x2b\x91\x64\xad\x52\x61\x4b\x14\x0f\xd0\x25\x53\x37\x68\x69\x72\x84\x76\x27\x8f\x52\xdc\x70\xe7\x38\xdf\x4a\x99\x11\x34\xa5\x76\xec\x95\x48\x32\xf7\xfd\x7d\x52\x12\x55\xf9\x2a\x7f\x24\x31\xf6\x41\x43\x35\x55\x94\x40\xce\x55\xf0\x98\x36\x0f\x08\xf5\x8e\x12\xad\x4c\x28\x3f\x78\x70\x3f\x2a\x69\x66\x5d\x59\x2e\xb3\x02\x0c\x01\x22\xa0\xa4\x35\xe0\x1e\xc5\x9f\x1f\xc2\x41\xe8\x32\xdb\x95\x26\xcf\x7a\xfd\x78\x0d\x60\xa5\x21\xc4\x2c\x91\xad\x3d\xe9\xa0\xcf\xb3\xec\xbb\x8c\x4d\x31\x4a\x40\xaa\xb8\xda\x0c\x0b\x43\x11\xe6\xdc\x7f\xe4\xd1\xf6\x3b\x69\x2d\x6c\x60\xe9\x88\x1c\x3f\x0c\x72\xf0\x6f\x14\x06\x92\x69\x2c\x37\x9b\x28\x03\x0e\x0f\x6c\xac\x2a\xfd\xf0\x2d\x9b\xcb\x55\x25\x2d\x51\xd1\xdd\xa7\x5b\x36\xff\x2c\x0e\x39\xf8\x5d\xd9\x93\xa2\xbb\xf4\x76\x9c\xd9\xa2\x6b\x4e\x18\x38\x54\x04\x2f\x08\x3e\x44\x77\x69\xb3\xb6\xce\x85\x2a\x30\x8e\x60\xe3\xc9\xaa\x89\xb0\x53\xa9\x34\xbb\xc2\x67\x0d\x5d\xd5\xb0\x37\x02\x37\x8d\x9c\x73\x40\xbc\x36\x81\x4b\xf6\x8f\xa4\x9b\xe0\xab\x9e\xc4\x00\x33\x5a\xe2\x07\x0f\x98\x41\xab\xf8\x58\xcd\x3b\xe2\xfb\x11\x57\x30\x57\x9a\x0f\xe8\xbc\xc0\xb8\xfe\xa7\x2b\x4f\x7f\xb6\xd2\xf2\xbf\x56\xad\xc8\x97\xb7\xb4\xa2\x6b\x1e\x33\xe0\x55\xb9\xfa\x8c\xb7\xed\x85\x90\x37\xfb\xa9\xb5\xa2\xef\xa4\xc5\x2b\x06\x79\x33\x0f\x1c\x68\x3e\x4e\xe9\x33\x57\xfc\x32\xe6\x0d\x0b\xee\x56\xc4\x65\xb1\x13\x79\xfc\x12\x18\x08\x84\x37\xf3\xd4\x57\xbb\x92\xf2\x76\x05\x3f\xd7\xa7\x34\xb7\x94\x43\x5e\x2c\xfc\x1c\xb2\x9c\x11\x54\x94\x0b\xd6\x47\x56\xe8\xcd\xc8\xf2\xc2\xa5\xb2\xac\xda\x0f\x5a\xcc\x73\x3e\x47\x49\xcf\xf9\x42\x08\x7b\x5e\x53\x20\xef\x39\x5f\x68\x91\xcf\xf9\xd2\x96\xfa\xbc\x0e\x85\xe0\xe7\x7f\x95\x4e\x37\xaa\xbf\x14\xe2\x9f\x65\x95\xd6\xab\x05\x10\x5b\xfe\x91\x66\xdf\xea\xcb\x14\x61\x00\xc1\xf5\x48\x61\x07\x56\x44\x8c\xa9\x48\x08\x08\xfe\x64\x89\x33\x96\xde\x85\xab\x6d\xe6\xe2\x39\x19\x9e\x9c\x1c\xd9\xfb\xd4\x87\x6b\x9a\x06\x29\x1c\x6a\xd4\x42\xae\x90\x0b\xf9\xab\x8a\x20\x30\x1a\x80\x43\x0f\xd2\x98\x2a\x8b\x25\x6b\x84\x1c\xa2\x0f\xb7\x4f\x9d\x5b\x4e\xce\x24\x0c\xc2\x78\x4a\x1d\x46\xee\x3d\x97\xe9\xa0\x1a\xde\x1e\xea\xf9\x61\x40\x1c\x16\xc1\x85\x11\x21\xf6\x62\x52\x66\xb5\x51\x0d\x0d\x5f\x8c\x5c\xf4\x2b\x70\x8f\x00\xc7\x12\x91\xc8\x8e\x51\x67\x9c\xd3\x20\x82\x2c\x02\x07\x87\xa4\xdd\xef\x0b\xaf\xc6\x52\xed\xde\x59\xe3\x03\x2c\x09\x65\x69\x4c\xf9\xe9\x36\x83\x2c\x6e\x08\x16\xa3\x5f\x3b\x3a\xbc\xe9\xbb\xe4\x0b\x9f\x40\x7c\xd0\xf4\xd0\x2d\x1e\x0e\x32\x75\x9d\x97\x76\x34\xe8\x4d\xce\x0f\x64\x5a\x83\x39\x91\x54\x55\xf1\x3b\x45\x0b\xe3\xd4\xf0\x16\x45\x5c\x30\xfc\xfe\xe5\xa7\x91\x3f\x9f\x8e\x85\xe5\xe0\xe7\x52\x91\x21\x14\x5c\x7c\x0c\x2c\x6b\xe5\xb2\x02\x93\xe0\x88\x4f\xa5\xbb\x07\xd7\x47\x94\x68\xd5\xac\x9d\x88\xcf\x22\x97\xdb\xdf\x49\xcb\x9c\xd2\x30\xd2\xb2\x20\x67\xd4\x12\x37\x33\x45\x33\xff\xb1\x65\x6d\xb9\x06\x05\x72\xd7\x56\xe2\x6e\xec\x51\xa9\xa1\xa5\x4c\xfc\x6a\x5b\x2b\x57\x2c\x24\x60\x5b\x7f\x14\xed\xf3\xee\xf9\xe0\x32\x6d\x6a\xb0\x6c\x3e\xd8\x65\x40\xe2\xbc\x50\x49\x21\xa3\xca\x5c\x9c\xfc\x53\x23\xff\xa6\xa2\xd0\x50\x0c\x7e\xc8\x3b\xf1\x05\x34\x7a\x36\xf9\x86\xae\x68\x37\x68\x68\x10\x4b\x1b\x2c\x48\xc3\xa1\x3f\xb6\x9b\x36\xee\x98\x12\x70\x80\x6f\xd0\x66\x8b\x7c\x65\xbe\x93\x69\x1c\x4b\xfc\xdb\x54\xc2\x73\xd8\xb9\x45\x0d\xce\x12\xa9\xb3\x28\x50\x33\x3d\x77\xb0\x95\xa7\x1b\x57\xb9\x2b\xf1\xeb\x54\xeb\x03\x9d\x19\x7d\x49\x15\x89\x8a\x79\xa8\x5d\xcc\x24\x76\x92\x6a\x4d\x9d\x0c\x2a\x44\xc9\xae\xf0\x62\x9f\x94\xb4\x09\x58\x04\xf7\xc0\xa8\x4c\x35\x4a\xc2\x6f\xfc\x6e\x01\x39\x9a\xe7\xca\xa2\xe6\x79\x23\x6b\xa2\x9c\xd9\x43\x5a\x1d\xcb\xf4\x62\xb5\xa5\xb0\xc3\x11\xe4\x23\x3d\x6e\xfb\x83\x6c\xf4\x17\x1e\x56\xaa\x11\xde\x3f\x6c\x4a\x88\x67\x4b\x4a\x72\x97\x34\xe8\x53\xea\x9d\x26\xcc\xce\xfd\x28\x4e\x39\x09\x37\xaa\xc3\x47\x31\x12\x13\x2e\xa5\x00\xa2\x20\x5a\x4a\xc2\x10\xc2\x87\xef\x19\xa1\xae\x72\x33\xd4\x64\x8c\x59\x24\x90\x05\x53\xf4\x01\x1b\x61\x2f\x86\x2d\x53\x61\x89\x4a\x12\x0c\xa2\xf9\x47\x45\x64\xa7\x37\x05\xa3\x96\x95\x25\x20\x55\xce\xf4\x16\xe2\xa5\x33\xea\xa1\x84\x9c\x90\x9e\xec\xae\xbc\x9e\x8b\x87\xa1\x6a\x76\x8b\xad\xc0\x39\x04\xb6\x04\x3a\xc1\x00\x20\x10\x71\xf8\xd0\x8b\x49\xca\x5c\x9e\xef\x76\x16\xb8\x10\x14\x21\x91\xe9\x79\xdb\xf2\x19\x20\x66\xa6\x56\xa9\xa6\xc2\x0b\x62\x16\xf1\xf3\x4b\x46\x93\xe3\xc9\x29\x9f\xe8\x68\x34\x62\x89\xb2\x1f\xc8\xce\x8e\xc4\xa1\x22\x93\x54\xab\x0b\x34\xea\x15\x55\x9d\xde\x02\x6d\x33\xb1\xe7\xb2\x88\xb9\xa6\x1a\x53\xe0\x79\xa0\xcf\xa2\x70\xf0\x15\xcc\x0d\xda\xb1\x3b\x61\xe8\x6c\xbc\x44\x87\x56\x2c\xd7\x9a\x94\xc9\x59\xc5\x56\xed\x19\xcc\x8f\xf3\x7c\xce\x2e\x3d\xc4\xe0\x30\x64\x71\xfe\x29\x26\x1d\x4b\x60\x81\xcc\xa7\x2c\x1c\xa2\xa7\xc8\x3e\x29\xe1\x70\x01\xc7\x29\x1c\x7c\x05\x60\xe5\x2b\x01\x00\xb3\x91\x3d\xd4\x8c\x13\x6f\x2f\x9d\x0f\x9a\x57\xd7\x47\x90\x0c\xed\x35\x30\x3b\x41\x45\x9a\xa8\xf4\xb0\x1a\x25\x1b\xf4\x23\xb1\x10\x51\xc7\x84\xf7\x3c\x7c\xec\x10\xc1\x0e\x4e\x38\x99\x80\x7f\x89\x27\x9e\x77\xf4\x81\x5d\x33\xae\x11\x3f\x98\x5b\x8a\x1c\x94\xdc\x60\x6c\x45\x39\x7f\xab\x90\x75\xe4\x62\xad\xe4\x28\xd1\xe6\x75\x7b\xdf\x3a\x3d\x17\xdd\x4d\x74\xd9\xf4\xc1\x68\xd5\x5a\x7c\x18\xf2\x46\x7e\xf8\x21\x73\x1a\xe6\xb4\x80\x37\x92\xdf\x7e\x33\xaf\xe9\x99\xea\x78\x78\xd9\x7c\x49\xdf\x5b\xa0\x0a\x67\x49\xd1\x55\x26\xef\x2e\xa3\x2a\xd9\x47\x91\xed\x4d\xb5\xc0\x46\x27\xdd\xe2\x2d\xf8\x17\xc9\xf5\xaa\xf1\xb6\x63\x5a\xec\x72\x5e\x5a\x4c\x3d\x66\xc1\xfb\x4a\x4a\x27\x59\x7c\xed\xc6\x5c\xf9\xe6\xdb\x6e\xea\xbd\xc9\x7c\xc7\x42\xf8\x54\x7e\x99\x10\xf7\x21\xd8\x1a\x99\xc2\x25\x16\x70\xb3\xd2\xd8\x90\xa7\x5f\x4b\xf7\x04\x63\x60\x57\xb6\xd7\x82\xfa\x1c\xa5\x90\xab\xda\xb3\xd8\xdc\x5a\xe4\x3d\x12\x76\x3d\x4d\x68\x8e\x1f\x95\xee\xce\x60\x90\xd5\x5d\xfa\x0d\x7b\x59\x77\x9a\x3c\x31\xc0\xe5\x46\x5a\xc5\xf9\xac\xbd\x40\xe1\x8f\x8c\x58\x82\x4f\x0a\x00\xc3\x5e\xf6\x4c\x68\x41\x8f\xfc\x44\x76\xd2\xb0\x92\xda\xe2\xe3\x19\xa1\x5e\x7e\x78\x0f\xfb\xb2\x3f\x94\x6f\x1d\xad\xf3\x7e\x97\x34\xb6\xab\xa0\x08\xec\x48\x4c\x2e\xe9\x92\x4b\x5e\x90\x1d\x0b\x1b\x0f\x1b\x57\xb6\x42\xd5\x70\x63\xdb\xb6\x2f\x55\xe5\x8b\x13\x58\x1d\x22\xf6\x6d\xc6\x8f\x67\x11\xb8\x27\x5b\x12\xbb\x38\xbe\x4a\xb1\x31\xbd\xf3\xc2\x88\xd3\x35\x0a\xc2\x09\x5b\x33\x9c\x74\x0c\x8a\x2c\x04\x87\x22\x0b\x63\xfa\x73\x79\x81\x28\xb2\x32\xa6\x3f\x97\xe5\xf3\xd6\x58\xbe\x21\xd1\x28\x7d\xb0\xc2\x5b\xa9\x56\xcc\x51\x76\xe4\xec\x15\x0d\x28\x8f\x40\x52\x38\x9c\xbc\xe1\xdb\xe8\xd0\x5e\x30\x66\x91\x27\xed\x82\xe2\x64\x29\xc5\xf2\xa9\x3e\x98\x4f\x42\xa9\x01\x16\xf2\x20\x33\xdc\x3d\xb3\x7c\x96\x0b\x99\x86\xb2\x9a\x6c\xce\x0b\x9a\x7d\x1e\x68\xa1\xcf\x70\xea\x87\xc5\x56\xb0\x85\xe5\x7b\xc7\x07\x7a\xfd\xe4\xcc\x41\x6a\xf5\xa5\x4b\xe4\xa1\x81\xda\x56\xab\x05\xf3\x9b\x3f\xb5\x8f\xe3\xba\x4c\x6f\xd2\x67\xb8\x01\xad\xa7\x77\xad\x98\xcc\x02\x9f\xc5\x31\xa1\x7e\xc4\xa8\x3b\x27\x96\x1f\x45\x34\x1a\x94\xd5\x23\xd9\x30\x8c\x26\xb5\x67\x2b\x30\xd9\x60\x5a\xd6\x2c\x5f\xce\xd6\xcd\x31\x53\x56\xc8\x2f\x45\x08\x0c\x59\x06\xbc\xca\xda\x95\x3f\xa5\x3b\xf9\x5c\xc9\x0a\x95\xb4\x6f\xa6\x2d\x89\x92\x78\x01\x5b\x14\x46\x57\xe1\x19\xbd\x65\x47\xe2\x12\x5d\xce\xd8\x14\xf6\x73\x4d\x00\xc5\x43\xd0\x6a\x51\xe1\x60\x74\xeb\x66\xf6\x58\x8b\x93\x86\xe1\x7c\xe2\x3d\x94\xd3\x94\x56\x53\xde\x12\x55\x52\xaf\x6d\x6c\x6c\x6c\xd8\x8c\xc8\xec\x14\x8b\x26\xd2\x7a\x37\x29\x67\xeb\x3e\x69\x22\x8d\xfd\x20\x6f\x22\xd3\x9d\xe4\x61\x6a\x24\x80\x55\x25\x6c\xa8\xf2\x49\x38\x31\x5e\x05\x52\xb7\xbe\x58\x5e\xfb\x62\xbc\xf7\xc5\xc2\x82\xaa\xcd\x6b\x15\x1d\x6a\xa8\xef\x28\xff\xe4\xdb\x56\x83\xb4\x82\xdc\xdb\xd6\x82\x3a\x4d\xd2\x0a\x50\x95\x7a\xf4\x35\x4d\x3b\x85\x15\x8d\xbd\x40\x61\xd1\x15\xcf\xc0\x12\x69\xdf\xb8\x1a\x55\xa0\x2b\xef\xe2\xd5\x30\x6f\x5e\xd6\x25\x6b\x71\x3f\x5d\x75\xfb\x82\x96\x75\x86\xd0\xc1\xd7\x86\xbe\xb9\xfd\x00\x57\xb1\xa6\xfa\xc0\xea\x40\x3c\x87\xe5\x56\xcc\x5e\xf9\xa4\xd5\x4c\x5d\xf3\x1a\x78\xcf\x6b\xc8\x8b\x9e\xf1\x55\x93\x88\x7e\xf5\x1d\x50\x5e\xca\xb0\xaa\x34\x30\x8a\x5b\x50\x33\xef\xca\x24\x4a\x66\x2c\x87\xaa\xce\xc2\xab\x93\xa8\x6d\x5a\x09\x55\xc5\xa2\xcb\x92\x51\x47\x58\xf2\xac\x2a\x39\x17\x24\x51\x23\x6d\xe6\x52\xd5\x52\xb6\xb1\xbd\xe2\x15\x6b\x2c\x56\x19\xd2\x6d\x3f\xbc\x28\xb3\x7e\x9c\xff\x86\xf7\xaf\x5e\x90\x0b\xd7\x95\xa8\x60\x3c\xd8\xac\xb2\x96\xba\x79\x4f\x85\xca\x80\x21\x05\x33\xdf\x86\x91\x6b\xc4\x58\xcc\xff\x91\x7e\x0a\x56\xef\x2d\xe8\x3c\x03\x26\xc7\x98\x18\xc6\xb6\x3c\xd7\x14\x61\x97\xff\x1d\x1f\xaa\xf8\x3d\x09\xde\x2d\x18\x7e\x6c\xf6\xa0\x9a\x36\x5a\x94\xf7\x25\x7e\x69\xb0\x39\xaa\xa2\x59\xae\x72\x88\x43\x47\xb2\x3c\xf2\x0a\xb8\xab\xd2\x65\x99\x4c\x0d\x94\xd1\x55\x25\x1b\xb3\x2d\xb1\xa9\x8c\x56\x32\x5f\x15\x94\xb4\x1f\x30\x52\x58\x55\x32\x78\x38\x55\x50\xc0\xce\x88\x63\x6c\xf9\x9c\x60\x0e\xad\xc2\xd9\x20\xc2\xf5\x9e\x46\x09\x7a\xaf\xe2\x5b\xa0\x2b\xeb\x21\xbb\x28\x62\x50\x4c\x67\x88\x7d\x9a\x79\x58\x7b\xfa\x84\x6a\xf2\x16\xce\xa8\x68\x5b\x4d\x28\x12\xac\x48\xc7\x1c\x90\x90\xec\x2c\x87\xba\x6c\x75\x1c\xd5\x95\x12\xa8\x24\x24\x0e\x46\xb0\xe6\xd7\xcf\x15\x28\xf6\x90\x80\xed\xcd\x35\x07\xf1\x14\xa1\xea\x63\xf5\x94\x54\x89\x84\x67\x55\x62\xa4\x30\x59\x4d\xc6\xa0\xb9\x8c\x84\xa5\xda\x5b\x59\xde\x44\x73\xd9\xca\xab\x4b\x1f\xa0\xbd\xa0\x09\x67\x91\x18\xa2\x95\x5c\x49\x22\x2f\xcc\x20\x4c\x81\xff\xf1\xbf\x4d\x04\x99\xb0\x08\x89\x28\xdc\x45\x55\x57\x92\x3e\x23\x0d\xea\x13\x05\x30\x15\xac\x6b\xc9\xa0\xca\x6d\xfb\x08\x09\xf4\x82\x51\xb1\x10\x32\x71\x35\x79\x84\x08\xf2\xf6\xd2\xb5\x17\xc9\x60\x3c\xf5\xbd\xc4\x38\xbc\x03\x8c\xe0\x48\xbc\xd1\x2c\x9c\xc5\x24\x9a\x05\x70\xd4\xe3\xc3\xfe\x1a\xf0\xdb\x7a\xde\x47\x48\x24\x59\x0c\x5d\x0a\xd6\x14\xa4\xad\x28\xb3\x20\xae\x29\x15\xd4\x04\xe4\xd8\x13\xda\x8a\x22\x3a\x87\x77\x7a\xca\x7f\x23\x78\x1a\xc3\x15\x03\x03\x76\x84\xaf\xbd\x1a\x3f\x12\x9c\x44\x55\x44\xfc\x91\x42\x0a\x1e\x13\x5a\x0c\x3c\x19\x12\x01\xde\xab\x0b\x07\x6c\x8c\x44\x36\x06\x6f\x07\xf9\xa3\xad\x11\x50\x96\xa4\x12\x63\x90\x18\xa7\xea\xc8\xc6\x0c\x5f\x09\x2f\x89\xe5\xf3\x84\x4e\xec\x05\x2e\xd3\xa0\x0e\x45\xb3\x45\xb7\x04\x60\xde\x3b\xcf\x65\xbc\xc1\xdc\xc0\xf2\x94\xc3\xe6\xa7\xcf\xda\x38\x07\x3e\x6f\xf5\x2a\x31\x01\xdb\x4c\x87\x4d\x0f\x3e\x22\x1e\xf9\x89\xf3\x56\x1e\xb0\xd6\x3d\x1e\x53\x8b\xd7\x9c\xd0\x65\x97\xa1\x17\x24\xad\xa4\xec\x89\xab\x35\xb4\x10\x38\x11\x13\xee\xb0\x65\x07\xc0\x76\x1f\x86\xc3\xe1\xb0\x42\x7e\x21\x0d\xf2\x8a\x34\xf7\x94\x81\xc9\x21\x3f\x91\x46\x73\x87\x6b\x59\x62\xb5\xf0\x21\xa1\x52\x80\x4f\x0b\x0d\x6d\x33\x12\x14\xbf\xd8\xd7\x3d\xe4\xa6\xc2\xe1\x0d\x63\x59\x33\x27\x43\x74\x07\x18\x10\x65\x2e\x94\xaf\x80\x7e\xb1\x97\x73\x96\x48\x76\x54\x7e\x4f\xa5\x37\x58\x50\xcf\xab\x6a\x3a\x2a\x55\x31\x9b\xaf\x60\xee\x74\x2b\x82\xdf\x1e\x79\x91\x26\x9a\x58\x33\xa0\x7b\xf4\x32\x03\x54\x06\x06\x41\xe3\xb3\xc7\x0d\x27\xe5\x25\xbb\x2c\x62\xef\x2e\xf9\xdf\x19\xa4\x57\x25\xf0\xd7\x50\xfe\x72\x7d\x75\xb4\xc3\xef\x54\x2e\x8b\x4a\x26\x44\x69\x09\x97\xdc\xcd\x55\xad\x2d\x97\xeb\x19\x9d\x2e\x8a\xf1\xc3\x54\x4a\x84\xc5\x0e\x9d\x32\x05\x41\x40\x54\x38\x2d\xfa\x24\x49\xa7\x76\xe3\x63\xc2\x17\x3e\xbc\xfb\x84\x16\x4e\x83\xd8\x52\x1c\x3a\x05\x80\x20\x80\xa7\x88\x86\x21\xff\x76\xa4\x52\x28\xfe\x88\xe0\x9b\xd8\x84\x17\x06\x71\x95\x4c\xa9\x87\xd1\x57\x7a\x1f\xab\x12\x96\x38\xa9\x77\x74\xdd\xbf\xf8\x33\x70\xd1\xcc\x33\x60\x2a\xcc\xce\x17\xe0\x83\x0f\x9c\xa8\x2a\x49\xc6\xf0\x04\xe7\x81\x26\x80\x8f\x0e\x31\x40\x61\xeb\xbc\x52\x11\x23\x2c\x0e\x13\x16\x79\x4e\x9a\x15\xea\x5c\xe8\xf3\x1a\xea\x53\xd0\x62\x26\x34\xba\x65\x2e\x79\xfe\x4e\xc0\xa9\xea\xe0\xc1\xe7\x1a\x88\x5a\x86\x22\x48\x1c\x2f\x0c\x08\x54\x77\xcf\x88\xf9\xec\x4e\xa6\x7e\xe3\x04\x23\x8e\xb6\x67\x83\x35\xdd\xb1\x08\x9c\x02\x6c\x80\xa3\x67\x12\xd7\xd5\x26\xe7\x3c\x4c\xe4\xf3\x9a\x3f\x37\xeb\x14\x51\x85\xaf\x3e\x88\x5b\xe1\x85\x91\xc7\xf7\x73\xf0\xf0\x83\x52\x13\x3a\x17\xa1\x93\xc3\x19\xa0\x6f\xa9\x16\x09\x44\x7c\x4c\x18\xc2\x51\x29\x46\x31\x06\x5e\x78\xaf\xf0\xe8\xf8\x74\x73\xd5\xa8\xd7\x3f\x13\xf8\x87\x2f\xaa\x88\x1c\xcf\x3c\x57\x1d\x79\xf8\x33\x4e\x92\xe9\xab\xf5\xf5\xbb\xa4\x51\xaf\xd7\x02\x96\xac\xbb\xa1\x13\xe3\x9f\x6b\xb3\xd1\xba\x33\xa6\xd3\x84\x45\x1b\xb5\x71\x32\xf1\x55\xbb\x5b\x0d\x68\x77\xab\x51\x27\x37\x80\xde\xa6\xd0\xf0\x2e\x05\x78\x3d\x8b\x48\x37\xe0\xd2\x07\x62\xb6\x5a\x97\x5b\x8d\xfa\x5a\x34\x59\x17\x8e\x7a\xe2\x34\xfd\xf4\xfe\xaa\xd3\x3b\xfb\x4c\xde\xc3\x14\xb5\x05\xae\x4f\x5f\x8a\x43\x6e\xcb\xca\x90\xbc\xe6\xc5\x3e\x0d\x5c\xe8\x04\x84\x72\xdd\x49\xfc\x98\x7d\x8b\xe5\xbf\xe6\xb0\xda\x57\xbd\xd3\xcf\x84\xbc\xf3\x6e\xbd\x29\x73\x3d\xfa\x8a\xb4\xeb\x20\x13\xed\x86\xea\xb7\x1d\xba\x05\x7d\xb2\xa0\x76\x2f\x6b\xd6\xc2\x68\xb4\xce\xff\x5a\x6f\xd7\xbf\xd0\xc0\xfd\xd2\x6e\x7c\x11\x88\x44\x5f\x1c\xdd\xc2\xa7\x76\xbf\xfb\x99\x58\x3d\xc2\x9b\x5f\x07\x17\x02\xef\xeb\x31\x5d\x89\x0e\x24\x6b\xbe\x74\xf9\xdf\xee\xcc\x41\x01\x23\x64\x42\x03\xb2\x25\xf6\x8b\x61\x58\x85\xbf\xf9\x6f\xce\x64\x5a\x95\xbf\x90\xb5\x53\x5c\xbd\x6b\x01\xbb\x5f\x8c\x5b\xa8\x77\x1e\x35\xf9\x32\xf4\x55\xc6\xd9\xa6\x36\x33\xa9\x98\xdc\x5c\x15\xa3\x1b\xc2\x6e\x49\x64\x28\x8f\x40\xc3\x4b\xef\x71\xb9\xb0\x53\x77\x5e\x94\xcc\xc0\xd9\xd3\x78\x9c\xfc\x71\x3d\x8d\x58\x90\x06\x4c\x54\xc5\x75\x26\x19\x28\xaf\xc1\x38\x30\x05\xae\x91\xc6\x42\xbd\xe0\x9b\x49\x4f\x45\xb5\xdc\x84\xa7\xd2\x11\xe5\x92\x46\x70\xe6\xd0\x84\x11\x48\x1f\x05\xb8\x86\xfa\x09\x98\xc6\x09\xa6\x03\xb5\xe1\x0d\x31\x2d\x2c\xc3\xaf\xb8\x8e\xce\x24\xc8\xbc\xc0\xec\x9a\xd2\x38\x96\x19\x55\xe6\xe1\x2c\xc2\x92\x24\x0a\x67\x09\x04\x6d\x47\x14\x54\x59\x08\xfe\x8b\x18\x20\x01\x62\x0b\x40\xb2\x6e\xf6\x8b\xf2\x79\xd2\xf8\x90\xc6\x97\x66\x0c\xcf\xcd\x55\xed\x52\x7d\x55\xd6\x45\xaf\x83\xdb\x20\xbc\x0f\xbe\x28\x5c\xfd\x56\x30\x27\xcf\x7d\xec\x94\x4c\x42\x17\xa2\xbc\xe2\xe7\xea\x0c\x4c\xed\xfa\x55\x15\xb1\x5e\xfa\x85\x1f\xba\xa4\x84\x11\xdf\x63\x31\x66\xb4\xad\xab\x76\x88\x04\x38\x12\xd1\x42\x48\x44\xbb\xdf\xfd\xa2\x46\x20\xfa\x3e\x13\x55\xbe\x08\x07\x48\x83\xba\x24\xa2\x9e\x6f\x93\x57\x23\xa4\x4f\x27\xcc\x4c\x72\xc0\xb8\xdc\x11\x4a\xd2\x63\xa9\x62\x4b\xec\xc1\x61\xd3\x44\xfa\x95\x45\x4c\xe8\x1e\x98\x2a\x0e\xae\x94\xb3\x09\x1c\x73\x34\x1a\x81\x47\xad\x0e\xf5\x95\xfd\xe7\x93\xf8\x6e\xcc\xf0\x3d\x21\x82\x93\x0e\x41\xce\xa6\x32\x4c\x48\xb0\x0f\x76\x15\xe0\xa9\x8c\x9f\xcc\x00\xd5\x60\x5f\x00\xcc\x8b\x59\x96\x40\x61\x46\x68\x3c\x33\x8d\x94\x06\x11\x4d\x21\x4a\x62\x9a\x55\x7e\x40\x8a\xeb\x18\xe0\x4b\xaa\x79\xc4\x5c\x29\x34\x20\x17\xfd\xb6\x09\xa9\x24\x96\x53\xec\x5c\x79\x13\x76\xea\x4d\x3c\x88\x64\x6b\xd6\xeb\xf5\xba\xec\xac\x6d\x80\x02\x44\x6c\x34\xf3\x69\x44\xd8\xc3\x34\x62\x71\x2c\x12\xcc\x6b\x17\x6b\x10\x2f\x12\x06\x6c\x0d\x20\x59\x24\xd0\x1b\x9f\xa8\xb8\xf6\x4c\xbb\x56\xca\x80\x59\x2f\x20\x96\x60\xf2\xd6\xbe\xcd\x3c\xe7\xd6\x9f\x93\x18\x32\x61\xc8\x0b\xa6\x76\x0c\x7f\x48\xb0\x21\xb3\x71\xbc\xbd\xc9\x5c\x2a\x4e\x83\xec\x13\x84\x49\xac\xdd\xb2\x79\x5c\xd6\xfa\x5f\xbb\x51\xa9\x4d\xe8\xb4\x2c\xdf\xac\x53\x49\x77\xc4\xfd\x00\x75\xeb\xd2\xaf\xbf\x42\xd6\x77\x4c\x81\xf2\x7d\x4a\xdd\x32\x83\xcb\x0c\xdf\xfb\x5b\x49\xb9\x52\x4b\x42\x11\x14\xda\xd8\xae\x54\x49\x53\xa6\x74\xfc\xbd\x52\xfb\x1a\x7a\x01\x86\x8a\xca\xb0\x1e\xa7\x71\x49\x93\x84\x45\x81\x5c\xaa\x3d\x36\xea\x3c\x4c\xcb\xa5\x4f\xbc\x0f\x4e\xf3\x0b\x52\xfa\x5c\x52\x4b\x53\x28\xb2\xc8\x5f\x0f\xef\xc9\x08\x4c\xe3\xc2\x37\xca\x1b\x48\x04\x4d\x25\x43\xa9\xfb\xca\x0e\x52\x2a\xb1\x70\xc6\x53\x7b\xb8\x14\x5d\x80\x42\x94\xcb\x83\xec\xac\x0d\xbc\x24\xcb\x5b\xcc\x06\x22\x6a\xb6\x82\xa2\x62\x88\xc0\x6f\x1c\x32\xf0\x96\x32\x26\xbc\x70\xcc\x84\x19\x0c\xb3\xf4\xfe\x28\x13\x77\xdc\x87\xd1\x2d\xd7\x96\x5f\x42\x93\x72\x65\xc4\x98\xa6\x87\x6b\x62\xbe\x2f\x9e\xdc\xee\x43\x44\xfa\x61\xdf\x66\xde\x1d\xf5\x55\x4e\xc7\x1f\xc9\x59\x18\x27\x90\x3c\x38\x26\x71\xc2\x95\x44\xc0\x07\x96\x5b\x73\x72\x1f\xa2\x3c\x8a\x48\x6a\x6b\x30\xef\x54\x90\x77\x6a\x4c\xb0\x68\x07\x73\x15\xa4\x4b\x94\xe8\x9a\x40\xd3\x90\x65\x06\x5b\xf2\xe2\x78\x26\xa0\x8f\xc9\x73\xea\x38\x9e\xcb\x82\x84\xfa\xcf\xc9\x0c\x00\x64\x45\xae\x22\xa1\x3e\xca\x80\x90\x81\xf2\x99\x42\xed\x55\x9e\xae\xaa\x01\x5e\x1d\xb1\x4a\xbd\xe0\x2e\xf4\xef\x00\xf5\x20\x29\x81\xc9\xd1\x0b\x68\x34\x97\x00\x77\xe6\x79\x8a\x0e\x21\x3b\x07\x5e\x22\x75\x23\x6b\x07\xc9\x13\x01\xbe\xf5\x00\xb7\xf8\x0e\xb1\xd5\xd4\x97\x1e\x13\x21\x1c\xcc\x89\x10\xe7\x42\x1c\x95\x42\x2a\xaf\x6b\x95\x60\x0a\xa1\x85\xcc\x84\xe1\xb2\xf3\x9e\xb1\x51\xf2\xa9\x2b\x81\x5b\xab\x04\x3b\x72\x34\x2a\xa8\x95\xaf\x84\x4b\xfd\x8c\xef\x1e\x22\x41\x33\x42\x91\x1c\x76\xda\xe4\x32\x02\x38\x4f\xcc\x14\xd1\x68\xe6\x92\x75\xc8\x9c\x46\x33\x9f\x17\x68\x73\x9c\x02\x80\x1e\x91\xa8\x75\xd2\xda\xc6\x77\x1f\x88\xa7\x11\xf8\x64\x46\x12\x20\x4e\x7a\xaa\x2f\xb5\x1c\x3a\xb2\x99\x7d\x52\x9a\x25\xc3\xb5\x9d\x92\xdd\xe7\x19\x7d\x90\x26\x03\xdc\x9d\x67\x81\x16\x06\x72\xd8\xee\x57\xf9\x6c\x54\xc9\xe5\x19\x3f\x60\x5a\x97\x7a\xeb\x96\xc8\xc1\xf7\x0c\x9e\x04\xb1\xb9\xd9\x14\x34\x62\x03\xb3\xc0\xc1\xb7\x3b\x25\xec\x08\xa0\xc1\x57\x14\x0b\x64\xfa\x44\x11\xd8\x2e\x15\x45\x7e\x05\x2e\xf7\xaf\xaa\xa4\xf4\xeb\xc3\xae\x53\xaa\x92\x4e\xbf\xcd\xb7\xc2\x52\x45\x64\xe7\xff\x91\x94\x0f\x3a\xa7\xf0\x7d\xfd\x65\xa9\x62\x9a\xc0\xc6\x4c\xe4\x56\x22\xcf\xc5\xb6\x2d\xe9\x7d\x4e\x26\x61\xe0\xc9\xec\x95\x9a\x55\x13\xfa\x80\xdd\x4b\xc5\x98\xec\x93\x46\xbd\xb9\x69\xf3\x49\x41\x17\xb0\x09\xa4\x83\x84\xd4\x3b\x02\xfd\xfc\x1e\x21\x08\x81\x73\xc2\x1e\x68\x6f\x49\x61\x24\xce\x61\x6c\x4b\xcb\x35\x5f\x86\x2a\xd7\x63\xc4\x9c\x70\x14\x78\xdf\xc1\xb7\x98\x3d\x4c\x7d\xcf\xf1\xe0\x9e\x08\xcc\x4c\x51\xcd\x29\xb8\x0e\x8c\x2b\x64\xae\x80\x5f\x19\x71\xa2\xc7\xf5\x5a\xad\x76\xbc\x61\x90\x35\xa1\xd3\x38\xd5\xec\x71\x9d\xec\x93\x5c\x5b\x05\x3f\xb3\xe2\x4f\xa5\x83\xd2\x67\x75\xa0\x1c\x37\x96\x14\xae\x9b\x85\x9b\x8f\x69\x79\x63\x95\xc2\xe9\x91\xe2\xf6\x2d\xa3\x0d\x2d\xd5\xcc\x96\x40\xdc\x43\x29\x67\xc0\x14\x4e\x76\x04\x34\x1b\x80\x46\x26\x51\x38\xe5\xe5\x02\x62\xcb\xc4\x23\xde\xf1\x29\x6f\x0c\x9b\x51\x66\x59\x2e\x6c\xbb\x9b\x70\x2e\x08\x7f\xcd\xfa\x43\xb3\x01\x79\xac\x1e\x5e\xa6\x65\x5f\x4f\x07\x34\xc5\xe9\x28\x1d\x94\xaa\xe4\xba\x4f\x5a\xfd\x76\xb7\x9b\x9e\x8f\x53\xbe\x70\x8f\xeb\xa5\xec\x68\x77\xfe\xfa\xd1\xf6\x56\x1c\x2d\x15\xa3\x1d\xa6\xa5\xf4\xb8\x67\x91\xbf\x4e\xfa\xf4\x0e\xf0\xec\xf8\x2e\x29\xd5\xaf\xc3\x4e\xbb\xdf\x46\xd5\xcc\xd6\xcf\xa8\x48\x10\x9c\x84\x04\x01\x65\x29\x82\x0f\xdc\x5c\x61\x0b\x55\xe2\x01\x03\x7f\x0c\xc2\x04\x37\x61\x01\x49\x67\xeb\x25\x31\xef\x33\xff\x8a\x82\x19\x85\xf4\x1d\xc5\x76\x82\x38\x0f\x33\xc9\x4e\xf5\x15\xd5\x70\x03\xce\xbd\xd3\x09\x1b\xb8\x68\x8a\x8f\xb1\x73\x25\x0e\x86\x7a\xbd\x2e\x4d\x32\xe2\x72\xa8\xf3\xf3\xae\xcf\xa6\xa2\x3b\x50\x20\x56\xeb\xb3\x7d\xda\x6d\x9f\xf0\x6d\xab\xb0\xc3\xe6\xc2\x0e\x01\xd3\x39\xbc\x43\xd3\x11\x82\x7c\x52\x32\x80\x1c\xe1\x00\xea\x1a\xde\x07\x2b\x0e\xbe\xd7\x3a\x26\xe0\xcb\xa0\xa0\xed\xd4\x25\x90\x18\xd0\x59\x96\xed\x50\xbe\x75\x44\xd4\xb9\x8d\x6d\x7c\x05\x33\xfb\xa2\xbc\xf8\x76\x13\x88\x4e\x19\x7a\xcc\x77\x63\xa9\x94\x9b\x81\xbc\x83\xd9\x70\xc8\x8f\x02\x89\x9f\x2e\xed\xbb\xf2\x73\x3e\x5a\xd5\xa0\xd2\xbf\xd3\xaf\x4c\xf2\xf3\xdf\x95\x3f\xe3\x2c\x70\xac\x15\x0c\xf5\x23\xab\x81\xdc\x90\xd3\xc1\x6c\xa8\x43\x4d\xf5\x63\x15\x7a\xa2\x5b\xe3\x45\x0a\x53\xac\x36\x38\x68\x02\x81\x68\xa2\xf8\xdf\x55\xd9\x53\x4e\x98\x81\x74\x44\xdf\x27\xa9\x4f\x34\x08\xc2\x6c\x28\x42\xb6\xf8\x6f\xbf\xfd\x66\xa3\x15\x4d\xc3\x58\x3e\x27\xa0\x8f\x23\x67\x44\x71\x63\x34\x1a\xc5\xe2\x75\x28\x17\xcc\x20\xc5\xb6\xaa\x35\x2f\x72\xce\x0a\x79\xb0\x08\xc0\x22\xcb\x02\x28\x02\x95\x8f\x94\x77\xbe\x8d\xc2\x74\x30\x1b\x96\x8d\x81\x9b\xf7\x25\xf8\xbe\x25\x6f\xe3\x99\xbc\xb5\x05\xe3\xc9\x5b\xb6\xc5\xe4\x5b\xb4\x15\x81\x71\x20\xbf\xf3\xe6\xb4\x80\x24\xe4\xa8\xc5\x50\x45\x56\x9e\x94\x5a\x12\xca\x37\x48\x84\x32\x03\x10\xa6\xd9\xb0\x2a\xa7\x1a\xe0\x71\xb9\x68\xac\x3c\xbc\x03\x10\xac\x05\x13\x84\x92\xa7\x5c\x0e\xc5\x44\x98\x5e\x87\xe4\x17\xf5\xf1\xab\x02\xb9\xcc\xe5\x81\x32\xa3\x10\xdf\x8b\x93\x85\xc3\xe7\xed\xd3\x68\xf4\xe5\x3b\x8b\x42\xcd\x07\x99\x43\x53\xf3\x82\x4b\xf6\xa7\xfa\xe7\x95\x47\xaf\x64\x27\xcd\x03\xd9\x99\xc1\x08\xde\x76\xcd\x7e\xbb\x33\x7d\x31\x4d\x0a\x7f\xe0\xaa\x7c\xe0\xb2\xa1\x17\x30\xb7\x64\xe4\x6e\x14\xf4\x89\xa5\x2c\xcb\x5b\xfc\x39\x66\x80\x8a\x28\x99\x03\x16\xab\x80\x08\xaf\x87\xa2\x74\x68\x34\x1a\x05\xb3\x09\x9a\x7c\x64\x45\x81\xd2\x07\xd6\xa6\x24\xe2\x17\x92\x55\xd8\xe2\xd1\xc8\x7a\x54\xc6\x96\x95\x80\xdd\x70\x56\xeb\x57\x66\xf4\xd8\xd1\x43\xc3\xd2\x9f\x25\x6f\xd4\x8b\xb4\x78\x93\x86\xcd\x00\x56\x63\x37\x00\xb4\xd9\x2a\x69\xd4\x2b\x2a\x82\xa2\x65\x0c\x3b\x1c\x12\x60\xa5\x17\x93\x44\xe0\x3b\x89\xad\x58\x6e\xee\x30\xeb\x35\xf5\xa4\x0c\x8d\xef\x93\x7a\x45\x47\xd9\xe8\x2d\x10\xc8\x36\x13\x47\xf2\x7f\x64\x14\xb2\xf8\xc4\x2e\x6a\xcc\x48\xcb\xbd\xa3\xf2\xca\x82\x27\xd2\x34\x8c\xf3\x0e\x24\xe5\x9a\x02\x37\x0d\xcc\x30\x81\x93\x10\x0e\x85\x3a\xc6\x2f\xd1\xd8\xdc\x2a\x93\x21\x8a\x9a\xf3\x01\x4d\x1b\x52\xc9\x97\xd8\x8b\x7d\xec\x31\xb5\xce\x44\xac\x25\x23\x11\x9b\x50\x0f\x9e\xae\x20\x0d\x13\x82\x65\x1b\xbb\x50\x36\x0f\x93\x1a\x2a\x3c\x6c\x19\x3b\xbe\xe5\xb9\x61\xa6\xd2\x58\xd2\xc7\x2a\xa3\x9d\x32\x76\xdb\x93\xcd\xa4\xf6\x25\xdb\x67\x53\xec\x4b\xf2\xe9\x5b\x32\x22\xbd\xff\x2b\x06\x40\xf6\x1a\xf4\xf8\x30\xcd\x50\xc1\x9f\xcd\x04\xe8\xa7\xa0\x83\x55\x39\xc0\xaf\x52\x8f\x1e\x79\x15\x92\xc6\x3e\x7d\xf0\xfc\x1c\xa2\x69\x31\x37\x87\x0d\x06\x3b\x2e\xc2\x7f\xe9\xf8\xb9\xfe\x39\x9b\xb0\x27\xb1\xe0\xc5\x8b\x42\x26\x18\x9e\xc4\x62\xbc\x5e\x4c\xd8\x64\x9a\xcc\xe5\xcb\x84\xa1\x89\x62\x76\x7b\x69\x10\x5f\x69\xcb\x8c\xdb\x22\x1f\xc9\x52\xa2\x25\x56\x8e\x0a\xa6\xe5\x03\x11\x67\xca\x4f\xfb\x6a\x45\x9b\xb1\xad\xf6\x1d\xc8\xec\xe1\xce\xdc\x07\xee\xc0\x26\x7f\x97\xec\x99\x77\xaa\x72\xa5\xb8\x25\x33\x48\x92\xde\x15\x02\x4d\xa1\x59\x6d\x5f\x75\xa2\x5e\xe1\xa0\x16\xb6\x67\xa6\x21\x4e\xd2\x08\xb8\xd9\x8a\x23\x96\xa4\xf0\xe3\x2a\x08\x3d\x67\xb6\x03\xd7\x6a\x55\xf7\xf8\x74\xcf\xba\xb0\xea\x2f\x0c\x78\x54\xb0\x8c\xe8\x6f\xea\xb6\x15\x44\x7f\xd1\xb0\x2d\x1e\xfa\x8b\xa6\x6d\xdd\xd0\x5f\x6c\xac\xc4\x46\x99\xb9\x26\x9f\x93\x16\x0b\x44\x51\xc1\x3e\x83\xd3\x06\x07\x6c\x66\x67\x78\x96\xc3\x6d\xc9\xc5\x54\x23\x9a\x95\x06\x1b\x91\x79\xea\x8b\x5e\xaa\x8a\x62\xa5\xc1\x46\x64\x9e\xfa\xa2\x61\x7f\xa1\x58\x69\xb0\x11\x99\xa7\xbe\x48\xb3\x71\x35\xa4\xbb\xff\xd7\x0c\x5e\x69\xab\x50\xae\xa1\xe5\x09\x66\x8f\xc7\x3f\x59\x1b\x5b\xe1\x6b\x78\x64\xd5\x4f\x8a\x69\xab\x89\x74\x3e\x01\xb3\x2c\xbe\xa2\x5f\xf1\xdb\xbe\x17\x8c\x9e\x93\x98\x39\xf2\x44\xff\x04\xae\x05\x69\x05\x3b\x2f\x01\x06\xbe\xb9\x9b\x73\xca\x52\x98\x47\xd6\x40\x16\x8d\xc4\x8c\x24\x52\xaf\x9b\x6c\x32\x0d\x23\x1a\xcd\xc1\xf0\x44\x47\xa8\xff\x87\xb3\x08\xde\x56\xc3\x20\x66\xf2\xa5\x4f\xfe\x2d\x6b\xca\x37\x5a\x4c\x1c\x23\xed\x50\xbc\xe4\x24\x74\x4d\xcd\x9e\xd5\xe2\xb1\x37\x4c\x4e\xd8\x1c\x09\xe0\x5f\xff\xb6\x4f\x36\xf5\xf7\x13\x96\xd0\x13\x36\xe7\xbb\xb9\x9d\xa9\x41\xa5\x84\xaa\x51\x3f\xe9\xc6\x67\x2c\xa1\xe4\x6f\x7f\x23\x8c\xff\xc9\xdb\xb3\x1a\xdc\xd1\x0d\x3a\x49\xe4\xa7\xfb\x6b\x6c\xab\x31\x5f\x1c\x5e\x94\xa3\x91\x17\xb8\xb4\xf2\x8a\xbc\x63\x56\x5a\x39\x91\x64\x53\xd9\x93\xb6\xf8\xa1\xbe\x1e\x46\xfc\xf7\x6d\xae\x77\xb2\x87\x84\xa1\x5d\x45\x3e\x8d\x42\x2a\x1e\x7e\xa8\x00\x7c\x19\x98\x14\xc3\xd9\x68\x5c\x15\x4f\xde\x53\x4c\x18\x4a\x31\xb0\x10\x52\xe6\x53\xe2\x7b\x49\xe2\xb3\x2a\xe9\x92\x7b\x1a\x83\x4b\x16\x80\x64\x8b\x84\x76\x23\x96\x90\x3b\x0f\xac\xe3\x13\xea\xc4\xd2\x88\x22\x1c\x71\x51\x23\x8c\xf1\xf5\x25\x96\x5c\x7f\x20\xfb\xe2\x75\xa1\x36\x8c\xc2\x49\x5b\xbc\x9d\x96\xf1\x45\xd5\xf1\xe9\x64\x5a\x66\x8a\xb3\xf8\xf0\x4d\x5e\x90\x8d\x66\x15\xfe\x6b\x6e\x6d\x55\x14\x88\xd5\xfc\x51\x6d\xf5\xc2\xfb\x6c\x43\xcf\x08\x89\xef\xbd\xc4\x19\xf3\xf9\xe0\x32\x2d\x6f\x30\x0e\x8d\x19\x29\xe9\xb4\xd5\xa5\x57\x1a\x13\x00\x57\x0c\x66\xb3\xb6\x6f\x2c\xc2\x46\xd7\xe0\x3c\x69\x92\xa9\x3f\x83\xeb\x1c\x75\x5d\x4f\x5c\x62\xb7\x37\x25\x2e\xc0\x00\x22\x42\x59\x0d\x9a\x39\x64\x7e\x42\x3f\x90\x9f\x49\x9d\xdf\xaf\xeb\xe4\x15\x69\x54\xc8\x0b\xb2\xbb\xad\x3c\x4c\xb9\x6c\x4c\x42\x77\x4f\xdd\x77\x50\xcc\xf9\x2e\xf3\xeb\x43\x63\xf0\xe9\xac\x44\x5e\xe4\x32\x63\xc0\x1b\x7a\x20\x2f\xc8\x7c\xef\x99\x1e\xc2\x89\x4c\xbc\xa9\xc1\x20\xa2\x70\x22\x32\x76\x23\x4a\x33\xba\x59\x43\x3e\x20\x16\x24\x06\x7c\x8b\xa0\x28\x62\xf4\x56\x34\x69\x30\xcb\x0d\xef\x03\x93\x57\x07\xc0\x11\x74\xbb\x53\x79\xa1\x14\xa3\xc4\x85\x09\x18\xb5\xd1\x94\x9d\x82\x0b\x33\xd9\x27\x67\x34\x19\xd7\x26\x5e\x00\x5c\xf2\x9c\x31\x59\x23\x8d\x2a\x69\x56\x60\x1a\xcd\xd1\xb4\x02\x97\x4c\xbc\x07\xa9\x82\x4e\x8c\x35\x1f\xd7\x32\x1c\xfc\x43\x2c\x5c\x38\xf8\xd9\x34\x2b\x26\xb3\x29\x98\x47\x83\x50\x62\x1b\x89\xbd\x15\x47\x24\xf8\x70\x4f\x63\xf0\x6f\xa4\xb1\x78\xf1\xcd\xa5\xef\xd7\x87\xe6\x46\x69\x45\x52\x26\xe1\x1d\x53\xc4\x3c\x62\x13\xee\xb5\x8e\x71\xef\x02\xfa\x4c\x17\x88\xf5\x75\xd2\x4f\x68\xe0\xd2\xc8\x95\x64\x0f\xbc\x44\xf1\x17\x25\x7a\xa3\x49\x5e\x14\xce\x9b\x62\x3d\x4e\x9a\xeb\xf2\xe2\x89\x62\x0c\x13\xe7\xd4\x24\x14\x57\x2f\xd5\xee\x8b\x7d\x73\xc2\x57\x9e\xf2\x9c\x49\xff\x63\xd3\xfe\xfb\xb3\x42\xa6\x3b\xbe\xe7\xdc\x0a\x86\xe3\x27\xee\xc0\x37\x3f\xb4\x2b\x09\xf3\x83\xfc\x4a\xa6\x1b\x63\x51\x14\x46\xe5\x92\xf0\x7d\x31\xcf\x6d\xcc\x35\x86\x7b\x54\x95\xb0\xf4\x32\x34\xfc\xc7\xe5\x00\x0d\x43\x94\x3a\xa8\xbc\xd0\x48\x53\xa7\x4b\xda\x60\xf7\xd2\x09\x50\x7b\xda\x84\x43\xcb\xd9\x58\xbc\x4d\xc9\x5b\x73\xc4\x62\x30\x46\x8a\xb4\x93\xda\xd9\xef\x99\x99\x2b\xdc\x86\xb6\xbe\x32\xaf\xe2\x98\x35\x0e\x7d\x58\xf2\xb2\xc6\x89\x17\x76\x9d\x38\x2e\x95\x35\x2e\x57\x37\x51\xbe\x8c\xa6\x52\x62\x1b\x3b\x0d\x5f\x39\x6d\x7c\x16\x66\x5d\x07\x24\x60\x36\x14\x87\x84\xc8\xb4\xf6\x43\xa6\x9e\xbe\x0e\x96\x2b\xa6\xf5\xcb\x34\x12\x9b\xe5\xf9\xe7\x3a\x88\x02\x4d\xa6\x99\x42\x70\x29\x54\x3b\x21\xd8\x46\x32\x65\x06\xb3\xa1\x90\xa5\xdc\x3e\x6a\x0e\xf5\x7d\x18\x4c\x35\x53\x40\x2e\x44\xb5\x2d\xa4\x2b\xf3\xbd\x01\xfe\x95\x90\x21\x29\xe2\xf8\xf7\xfc\x1f\x23\xbc\x39\x8f\x3e\x5e\x4c\x71\x9c\xe8\x04\x56\x97\x68\xa1\x77\x3d\x17\xe1\xb8\x7d\xe9\x72\x07\xfa\xd9\x0f\x25\x13\x03\xc4\x10\x4c\x74\x5a\xd2\x52\xf9\x27\x09\x8a\xf0\x9d\xca\x0b\xad\x51\x0c\xca\x71\xdf\x50\xfe\x1b\x39\x08\x9e\xcc\xcc\xa2\x64\x05\x67\xc4\x49\x64\x2d\x36\x68\xcf\xc8\xb3\x25\x87\x16\xa3\x63\x57\xc6\x53\x7c\xb1\x4b\x31\x36\x52\x34\x50\x9d\xdc\x29\x77\xb0\x46\x3c\x9b\x9d\x06\xca\xde\x1e\xd4\x2c\xa0\xe7\x99\x19\x69\x86\xdd\x2f\x61\xf4\xb2\xfe\x33\xae\x6b\x72\x31\x66\x28\xc9\xbc\xfd\x65\xde\x0e\xe1\x39\x13\xf6\x17\xf0\x1c\x4c\x74\x70\x9a\xf4\x1d\x84\xfc\xdf\xa4\x91\xf5\x4d\x44\x9b\x56\xb9\x5d\x5f\x6f\x37\x52\x21\x72\xa0\x29\xa1\xf7\x79\xa5\x46\xc0\x25\xd5\x00\x1e\x76\xc2\x09\x66\xfa\x1f\x9a\x1e\x37\x72\x97\x13\xa1\x03\x66\x4a\x6a\xb9\x43\xf2\x75\xca\x02\x85\x2c\x61\x13\xa2\x36\x49\x2f\x9e\x02\xd4\x53\xda\x56\x65\x98\x15\x2d\xef\x49\x33\x2b\xb1\x5a\x9d\x86\x49\x9f\xf9\x43\x95\x50\xd2\x44\xc9\x02\x22\x4d\x93\x3e\x58\xf8\x99\x3f\xfc\xc4\xff\x57\x3b\x3e\xfd\x5c\x3b\x3e\x95\xd6\x77\x7c\x18\x48\x7f\xab\x85\x3f\x53\xbb\xf7\xb9\x76\xdc\x2b\xac\x0d\xdf\x9a\xb5\xe1\x63\x75\x88\x69\xd2\xe0\xdc\x53\xae\x0c\x8c\x46\xce\xd8\xf2\x0a\x35\x43\x01\x07\x7e\x88\x08\xce\x7a\xae\xe4\x9d\x04\x77\xd8\xa9\x61\xed\x4b\xd9\xa6\xcb\xea\xca\x11\x88\x10\x4d\xf4\x9f\x03\xc3\x24\x74\x5b\x4e\x7b\x74\x6a\x90\x0d\xab\xca\x3e\xd7\xf0\x15\xa6\xe8\x3b\x56\x02\xef\x88\xd9\x64\xe0\x33\x17\x63\xab\x70\x29\xe5\x78\x2d\xd5\xf4\x66\x2f\xa5\xa0\x5c\x6a\xb7\x1b\xa5\x2a\x31\x0c\xa4\xf5\x2a\x69\x54\xaa\xc6\x60\x84\xa6\x60\x8c\x4e\x98\x7e\xcb\x8d\xca\x9e\x75\xd5\x36\x74\x88\x14\xcd\x6b\x0d\x0b\x08\x95\x45\xe8\x31\x1d\x84\x39\x5e\xa1\x2a\xbb\x0a\xae\x34\xa4\x1a\xa7\x8c\x9f\x05\x19\x6a\xe0\xe0\x2d\xe7\x93\xa2\xaa\x19\xa3\x33\x48\xab\xe8\xb7\xe1\x05\x1c\x31\x2a\xe4\xf2\x26\x87\x33\xe6\xf0\x5f\xa4\xed\xcc\x18\x14\x40\x33\xa1\x2d\x44\xc7\x6f\xe0\x92\xa7\x81\xab\xd6\x2b\xf1\xac\xa8\x1f\x8c\x24\x01\xf7\xef\x70\xa2\x22\x86\x3c\x1d\x80\x43\xe8\x20\x9c\x49\xef\x74\x47\x5c\xa0\x17\xac\xf7\x76\xbf\xbb\x74\xad\x03\xd2\x4c\x4a\xca\xb9\xb2\xab\xa5\x5b\xb8\x0a\x98\x1c\x89\x46\xb1\x92\x64\x67\x4c\x7e\xde\x27\xa5\xbf\x97\xb8\x5e\xe0\x80\x0d\xbb\xf4\x3f\xa5\x34\x46\xae\x17\x8b\x9d\x95\x6b\x7d\x4b\xa4\xb7\xdf\x2d\x55\x0b\xbc\xfe\x5f\x14\xf9\xda\xbf\x20\xce\xd8\x0c\xe5\x93\x3f\x8b\x44\x3e\xdf\xef\x40\xc7\x62\x8b\xd1\xf1\x43\x7d\xcf\x1c\xd0\x25\x8d\xe8\x04\x82\xe8\x5c\xe6\x7b\x13\xa6\x06\xa2\x11\x83\xd3\xf4\x59\xe8\x81\xa9\xfa\x1e\x38\x24\xaa\x08\x83\x4c\x1c\x03\x18\x65\x28\xb8\xbd\x92\x29\x75\x5d\xdf\x0b\x4a\xf2\x32\xb3\xca\x68\x72\x83\x64\x7f\x30\x9e\xb2\x53\xf7\xb9\xab\x31\x9b\x93\x70\xe2\x25\x70\x1c\xa9\xe3\x10\x1e\x38\x2d\x8c\xfa\x78\x36\x9d\xfa\x73\x14\x62\xf1\x03\xad\x42\x70\xaa\xf0\xd1\xb0\x2e\x48\x39\xdf\xfe\x9e\xe5\x37\x97\xa6\xba\x29\x4d\xbb\x26\xf3\xcf\x01\x73\x72\x9e\xe8\x1c\x6e\xc2\x2d\x67\x2a\xb9\x5a\x7b\xf6\x98\xc9\x38\x17\x01\x1d\xaa\xfa\x5f\x36\x15\x8f\x9c\x09\xed\x27\xe0\x8c\x15\x27\xed\xea\xa2\x90\xe9\x95\xb0\x46\x1a\x9f\xe1\x31\x78\x6c\x07\x33\x17\xf0\x99\x98\x7c\xfe\x45\xfe\xf1\xc3\x3e\x29\xbd\x32\x99\xae\xec\xa5\xa9\x95\x5b\x4c\x7f\xc1\xf2\xd5\x84\xa5\x86\x52\xb4\xac\x8d\x0a\xa9\x11\xa4\xcf\xd6\x5a\xc2\xe2\xa4\xec\x8c\x2b\x06\xdd\xed\x47\x1c\x97\xce\x38\x75\x08\xa4\x41\x19\xd6\xd7\xc9\x75\xa0\x3c\xbf\xad\x27\x4e\x1d\xf7\x34\xa0\x9e\x4f\xc2\x99\x58\x12\x2b\xc8\x04\x1e\x69\xf9\xe7\xb0\x09\x35\x74\xeb\x4d\x31\xd0\xcc\xd0\x57\x67\x41\xe2\xf9\x5a\xaf\x29\xf2\xcf\xee\xf4\xdb\x44\xba\x65\xff\x48\x0e\x98\xef\xdb\x9e\xd9\xe6\xf5\x5b\x23\x27\x50\xc7\x99\x4d\x66\x3e\x4d\x8c\xf0\x1b\xbd\xfd\x7f\xaa\x7f\xae\x11\x72\x46\x6f\x19\x89\x67\x11\x13\x01\x4d\xe8\xd5\x03\xc8\x39\xca\xab\xa6\x0c\xde\xe3\x69\x4e\x28\xaf\x9b\x8a\x54\x8a\x15\x78\x88\x76\x23\x14\x74\x7d\x08\x67\x10\x0d\x8e\x69\xeb\xd1\x1f\x9b\x17\xc0\x2b\x06\xc4\x2d\xc3\xcb\xeb\x60\x4e\x9c\x31\x83\x07\x0b\x9d\xc1\x4c\x3d\x63\x2b\x25\x76\x4c\x55\xb6\x71\x00\x87\x4c\xa7\xea\xc9\xbf\x35\x74\x87\xb6\x07\xf9\x04\x15\x79\x1a\x90\xac\x6b\xba\x69\x16\xb9\x67\x90\xb6\x1f\x7a\x7a\x26\xa2\x10\x2c\xef\x7d\x33\x7e\x62\xc0\x48\xc4\xd6\x80\x00\x57\xc7\xc6\x2c\x70\x65\xcc\xc7\xcd\x52\x6e\xf0\x8a\x4b\x31\x09\x83\x51\x08\x56\x9b\x48\x31\xac\x46\xac\x1c\x86\xa5\x3b\x8d\xa3\xf1\xe0\x30\xe6\x8a\xed\x7f\x42\x1f\x48\xca\x4b\x7f\xd9\x35\x23\xf1\x7c\x64\x89\x96\xc5\xa5\x8a\xc8\x23\xf5\x6d\x43\xca\x2d\x95\x7b\xbd\xfc\xeb\x43\x63\xf0\xeb\xaf\xbf\x71\xd9\xae\xac\xaf\xaa\xc5\xe4\xed\x62\x7a\x07\x2e\x09\xeb\x03\x7c\xd2\xf8\x2c\x5e\xea\x0e\x29\xe6\x84\x4c\xa9\xc8\x26\x65\x29\x2d\xf9\x3c\x54\x41\x3c\x61\x04\x59\x00\xaa\x22\x64\x29\x15\x87\x87\x0e\x1b\x42\x57\xb6\x88\x79\x01\xa3\x15\x07\x3b\x0c\x6c\x10\x46\x49\x8f\xd1\x38\x0c\x8c\x6b\x95\x5c\xa3\xe2\x58\xf8\xb9\x20\x8a\x42\xde\xb6\x8c\x46\xf8\x70\x93\x30\x24\x7e\x18\x8c\xd0\xbe\x68\xb7\x95\xd3\x09\x00\x13\x5d\x0c\xcb\x60\x3a\x2d\x55\xf8\xf9\xb1\xd6\x28\x68\x9a\x4d\x06\xcc\xe5\xa2\x85\xb1\x16\x76\x0f\xa9\x86\x8c\xae\x34\xbf\xc9\x9a\x9a\x86\x9f\x73\xa2\x12\x8b\x46\xe4\x4d\x18\xd7\x9d\xd9\xc3\xd4\x8b\x98\x8b\xdd\xe6\x35\x6a\x0e\x4f\x37\xa1\x0f\x36\x69\x94\xf5\xc3\x51\xb9\xb4\x40\xdc\x5f\x21\x05\x9e\x62\xa2\x6e\x2c\x4f\x4f\x15\x1c\x50\x3a\x53\xe6\x2e\x94\x2e\x60\x23\x30\x1a\x6a\x56\xce\x59\xa2\x3d\x4c\xac\x1b\x55\x36\x6f\x44\x4a\x6a\x5e\xa4\x57\x5a\xa1\x18\x99\xb7\x57\x11\x33\x6b\x84\x93\xc2\x91\xa5\x8f\xc8\x19\x84\xd3\x60\xfc\x5d\x32\xf6\x82\x5b\xc4\xbb\x96\x42\x97\x7f\x74\x96\xd5\x02\x20\xfa\xc6\x98\x66\x02\x0c\xc4\x5e\x29\xa9\x4b\xa2\x1e\x0c\x4a\xd7\x0a\x27\x74\xc1\x55\xd0\x60\xcb\x8b\x9c\x09\x25\x84\x94\x53\xf7\x4d\x5d\x83\x5f\x39\xe1\x5e\x01\x72\x4e\x7e\x21\x4d\x78\xdc\xb3\x8c\x82\x38\x39\xa6\x8d\x4d\xde\x1a\xc5\x79\xa5\x0e\x34\x91\x43\x36\x70\x7d\x16\x2b\xe8\xc7\x76\xbb\x01\x21\x59\xe0\xde\xd4\xee\x77\xf9\x3f\x37\x57\x5b\x4d\x19\xea\x55\x60\x8d\x93\x7d\x98\xa1\xfd\xf0\xb8\xe0\x00\x0a\x56\xde\xc6\x8d\x3d\x47\x86\x6b\xc4\x27\x5e\xe5\xf3\x27\x5e\x45\xf9\x81\xfe\x20\x8a\x99\x96\xa3\xfc\x18\xa9\x4a\x6a\xa5\xf1\x02\xfa\xf5\x03\x52\xa2\xcc\xa7\x8c\xbc\x20\x25\x20\x0a\x97\xd7\x9b\xfe\xc5\x79\x0d\x37\x4c\x6f\x38\x2f\xf3\x2f\x2a\xc5\x96\x0c\x45\xb2\xe1\xce\x81\x01\x5c\x4f\x25\xaf\x0b\xb5\xdd\x3f\x87\xbc\x44\xa0\x4d\x82\x66\x0a\x3a\x79\xe8\x32\xf2\x33\x17\x97\x97\xc3\x92\x86\x5a\xce\x44\x6f\x1a\xeb\xb0\xcb\x97\xd4\xad\x27\xe2\xb9\xc9\x58\x28\x3a\x53\xb0\x1f\x78\xb1\x38\x7c\x06\xb3\xa4\x56\xab\x89\x3a\xaa\xea\x50\x44\x89\x4b\x69\x00\xe3\xb3\xa0\x06\xe5\x00\xc2\x07\x79\x0f\xa3\x30\xc9\x89\xdf\xad\xca\xa6\x70\xad\x97\xc0\x2c\x94\xa0\x7f\x82\xc0\x15\xc6\x29\x50\xb1\xb4\x2e\x8b\x7f\x21\xe4\xcd\x2c\x4e\x64\x58\xa2\xbc\x56\x6a\xba\xc0\x90\x20\x5e\x9e\xe1\x09\x9d\x45\x11\x0d\x12\x52\x86\x00\xc8\xd2\xaf\x0f\xbb\xf5\x52\xa5\x4a\xca\x10\x0a\xc9\xff\x74\xe1\xcf\xcb\x33\xfc\x8b\xa9\xc8\x44\xde\x58\xb9\x75\x29\x4a\x0d\x4b\x15\xb4\xde\xfa\x21\xea\x8e\xb3\xd4\x23\x38\x3f\x99\xa5\x79\xd8\x4b\x62\x15\xfd\xa9\x9a\xd2\x51\x90\xbc\x87\x8c\x72\x9d\x2f\x2c\xbc\xc5\x6c\x24\xf1\x2b\x52\x7f\x28\xe5\x6d\x28\xb0\x6c\x8d\xa0\xf2\xba\x1d\x55\x9e\x2f\x4c\x42\xce\x6b\x94\x5f\xd4\xc5\xbb\xcf\x27\xbd\x86\x71\x55\x7f\x4e\xdd\x34\x58\x02\x9e\x9e\x66\xfe\x02\xe1\xc6\x6e\xfa\x0e\xb9\x4c\x3e\xf4\x8a\xf7\xc1\xbb\xf0\x56\xa0\x9d\xcb\xb7\xd4\x24\x24\xfd\xb3\xf5\xde\x99\x2c\xd3\x91\x77\x27\x4c\x92\x0e\xfc\x84\x31\xa3\xda\xd9\x24\x6b\xe4\x44\xf8\xcc\x90\x16\x6e\x6d\x67\xbc\x9f\x72\xeb\xac\x52\x23\x24\x0b\x13\x54\xc3\x8a\x9b\x64\x8d\x74\x21\xdf\x8f\x28\xdf\xed\x9d\x55\xc4\x77\x0d\xde\x6a\x9f\x05\xee\xba\x78\x06\x22\xe5\x7e\x6f\x71\x73\xcd\x3a\x59\x23\xad\x59\x12\x4e\x00\x47\xef\x9c\xdd\x43\x96\x92\xf2\xe9\xf9\x99\xba\x2a\x19\x17\x41\xbe\x14\x66\x56\x8c\xa7\x18\x1e\xe5\x97\x1a\xcf\x17\x30\x42\xb8\x3f\x14\x6e\xbc\xfc\x4a\x74\xde\xef\x9e\xa5\x1e\x9d\x1c\x89\x3d\x98\x18\x9e\x53\xf8\x32\xb5\x4f\x4a\x9b\x25\x0b\x57\xdc\xf4\x14\x44\x7e\x9c\xe1\x13\x89\xb4\x7e\x99\xf7\x7f\xd9\x46\xb3\x5e\xdc\x08\x67\x42\x9b\x46\x91\x47\x47\x0c\x1d\x69\xf3\x1b\x2b\xd8\x28\xa5\xd3\x4c\x6a\x1f\x37\x59\x05\xd2\x75\xa6\xb6\x49\xd8\x17\xb3\xc0\xe4\x5c\x22\x23\x71\xbf\x34\x44\x33\x1d\xcc\xbd\x4c\x18\x31\xda\x6e\xfd\xb0\xd3\xee\xf5\xaf\x56\x14\x4a\x2e\x42\x5c\x1c\xa6\x53\x5f\xba\x69\xa0\x5f\x1e\x17\xd5\x98\x94\x0f\x3b\xed\xf6\x89\x92\x36\x21\xc5\x9f\x7e\xf8\x4c\x0e\x59\xec\x8d\xc0\xb3\xea\xba\x0f\x31\xa3\xd8\xb2\x19\x00\x1a\x93\xe3\xfa\xda\xf1\x06\x34\xd2\x3a\x3f\xab\xe0\xb6\x0a\xc1\x9c\x06\x5e\x10\x02\x3f\x4d\xc4\xa9\x8d\x9f\x6d\x90\x35\xd2\xd8\x68\x12\xe1\x09\x85\x52\xcf\x49\xb9\x38\x35\x69\xe1\x0b\xe3\xd3\xc3\x67\xd2\x9f\x84\x61\x32\x26\xe5\xbe\x1f\xde\x57\x48\x1f\xdc\x79\xa0\x7c\xbf\x6d\x95\xdf\x22\x6b\xa4\xc7\x30\xd9\x0a\x22\x42\x61\xa1\x73\xb3\xd0\x36\x59\x23\x17\x91\x37\xf2\x8c\x7e\x2f\xcc\x02\x2f\xc9\x1a\x79\x17\xd1\xa9\x70\x1a\x53\x85\x5a\xef\xcc\x52\x3b\x82\x36\x2e\x63\x6b\x11\x9b\x32\x9a\x68\x96\xb6\x7a\x66\xd1\x5d\xc1\x52\xbe\x8c\x85\xff\xcc\x7b\xf2\x37\xf2\x81\x84\x81\xf4\x39\x01\x94\x11\x55\xa3\x51\x97\x03\x1f\x87\xf7\x5c\xaf\xf4\x07\x34\x22\xe5\xe8\xe1\x2e\xd1\xcd\xe2\xce\x00\xd8\xa5\x07\xbe\x17\xc0\xce\x2f\xa6\xb6\x4c\x93\x64\xbb\x51\x37\xca\xee\x08\x12\x2e\x23\x0f\x93\x4f\x4e\xc8\x90\x31\x17\x88\xbd\x3c\x3a\x32\x4a\xee\xca\xae\x59\x82\x2f\x15\xe8\x74\x07\x58\x05\xc3\x19\x3c\x3a\x46\x8c\x05\x58\xb3\xf3\x5e\xd7\x6c\x72\xee\x03\xc1\x92\x8a\xc3\x4e\xfb\xaa\xdd\x31\x38\xb1\x51\x97\x9c\xe0\xc5\xd0\x2d\x2b\x67\x64\x1b\x5b\x82\x86\x0e\xe8\x07\x90\x81\x74\x0d\xfc\x18\xe1\x14\x13\x7b\x4b\x9c\xa9\xb6\xa3\xaa\x71\x01\xbd\x62\xb7\x49\x14\x06\xde\x83\x9e\xc1\xab\xce\x89\x2e\xbe\x09\xdb\x24\xa0\x41\xec\xd4\x85\x3c\x9e\x99\x52\xba\xd9\x10\xd4\x4e\xc2\x88\x95\x1b\x15\x32\xf4\x1e\x48\x39\x66\x08\xd4\xc0\x00\x2e\x10\xd3\x7b\xe8\x2a\x72\xf5\x08\xca\xcf\x71\xc5\xf5\x18\x84\x18\x43\x50\x50\xdb\x5e\x41\x9c\xac\xf3\x5e\xdb\x60\xd2\xe6\xa6\x68\xe3\x8a\x6b\xd1\x17\x01\x39\xa3\x11\x17\xd6\x03\x86\x21\x71\x58\xc8\x10\xf5\xb5\x7b\x5b\x58\x75\xa1\x6d\x39\x97\x20\x25\xa7\xe1\x68\x84\x6f\x57\xe2\xeb\x97\xa2\xa3\xeb\x98\x91\x96\x9f\xb0\x08\x96\x7b\x1f\xe7\xf7\x40\x45\x3c\xe0\xaa\xd9\x16\x85\xcd\x9d\xe4\x96\xcd\xa7\x14\x85\xe8\xdc\xdc\x44\xb6\x79\xcb\x07\xd4\xb9\xa5\x51\x14\xde\xa3\x93\x2a\x0b\xdc\x18\x8c\x48\x98\x67\x96\xd7\x39\xd0\x75\x1a\xf5\x7a\x5d\x1c\x74\x8b\x56\x08\x02\xb9\xa2\x4b\x59\x8d\x90\x72\x36\x3e\xb9\xa2\xda\x6b\x18\xa3\x7b\xed\xf9\x5e\xc2\x88\xed\x14\xac\xbb\xe6\xb3\xc6\x8b\xb5\x99\xef\x93\xb3\x50\x9c\xdc\x56\xd9\x74\x67\x87\xbd\xd6\xb1\xee\x6b\xc3\xe2\x64\x51\x1b\xaa\xf8\xa6\xb9\x21\x1c\x85\xce\x2c\xee\x06\xeb\xf0\xef\x05\xbf\xe2\x2b\x8f\x66\x2c\xbd\x65\xcb\x54\xe7\x41\xa0\x1e\x62\xeb\xc6\x8c\x37\xea\xb0\x71\x88\xfd\x31\x09\xc9\x20\x4c\x92\x70\x02\x2e\x4c\xc9\x9c\x84\xb3\x84\x6b\xcf\xd6\xaa\x69\xd4\x1b\x8d\x82\x2a\x7c\xd6\x90\xe9\xa9\x1a\x1b\x72\x5b\xd6\x3e\x55\xcf\x27\x2c\xa1\xcf\x79\x95\x2a\x8a\xb5\x56\xa7\x75\xb5\xd4\xaa\x86\x0c\x33\xa8\x8a\x09\x14\x2d\x7e\xc0\xb4\xfc\x04\x26\xf9\x7c\x36\x39\x0d\x9d\x5b\xe9\xf9\x26\x9a\xd8\x96\x32\xd2\xe9\xb7\x11\x15\x03\xdc\x92\x45\x13\xfc\xf2\x78\xcb\xe6\xba\xf8\x4b\x93\xcf\x87\x9d\x53\x0d\x66\xc2\x5c\x50\x89\xd7\x84\x04\x1f\x32\x30\xc0\x5a\x95\x77\x33\x7d\x71\xda\x0a\xba\xda\x94\x3b\x36\xb8\xa0\xc6\xcc\x17\xee\xe6\x7c\x2e\xb9\x8a\xc1\xf5\xb4\xb1\x37\x1a\xfb\x9c\x2f\xa8\x46\x61\xbd\x86\xa8\x77\x2d\x20\x7c\xda\xa7\xdd\xcb\x83\x8b\x56\xef\x50\x37\xa2\x0b\xa7\x76\x97\xeb\x68\xc4\x02\x67\x4e\xee\xbd\xc0\x0d\xef\xc9\x84\x06\x74\xc4\x22\x32\xf6\x20\xbe\x9e\xdf\xa1\x51\x31\x5f\x3b\x26\x5e\xac\x10\x5d\x74\x73\x1b\x76\x73\x11\xf5\x62\x03\x7c\x5a\xb4\xba\x4a\x43\xab\x6f\x24\x8d\xfa\x26\xdf\xa5\xfb\xf4\x4e\xc1\xdd\xd0\xd8\x84\x67\x10\x85\x76\x8b\x0b\xa1\xc2\x5a\xdc\x53\x95\x38\x3e\xa3\x11\xc0\xe6\x18\x6a\x88\x97\xe0\x3b\x60\x8d\x94\x31\xd5\x36\xc2\x5a\xba\x5e\x4c\xc1\x4d\x61\x30\xc7\x4b\x93\x97\xb0\x6e\x30\xf6\xf8\xbd\x46\xef\xef\x22\x2b\xd9\x8f\xe6\x75\x66\x32\xf0\x02\x91\x9b\x8c\x41\xbc\x5d\x2c\x39\x07\x1c\xe1\x54\xc2\x68\x51\xb3\x13\x13\xec\x21\x6c\x92\xd5\x94\xc4\x42\x5c\x43\x64\x75\xaa\x37\xd8\xd8\xc2\xcc\xe3\x4d\x6f\xbe\x34\x35\xa9\x46\x7d\x4b\x9d\xa8\x2c\x51\x0d\xad\xf3\x5f\x1c\x3a\x55\x47\x25\x17\xf3\x54\xbd\x86\x71\xcc\xf7\x67\xc1\xa2\xa2\x4d\xa3\xe8\xeb\xcb\x45\x25\x37\xcc\x46\xdb\x17\x0b\x8a\x6e\xd7\x8d\xa2\x3e\x1b\x51\x67\x4e\x64\xbc\x01\x61\xf0\x6c\xc3\x97\x4f\xf9\x7d\xa3\xd1\xdb\xd6\x5b\xcf\x76\xc3\x18\xee\xcd\x55\xb3\x59\xcf\xa9\xa5\xae\x41\xb0\xcf\xf2\x92\x03\xbe\x03\x33\xae\x24\x4f\x69\x2c\x94\x6d\xa9\x3f\xf3\xd6\xd6\x48\x21\x66\x6a\x55\x0a\x8a\x78\xad\x1d\xce\x92\x59\x84\xe3\xe0\xe4\xaf\x15\x5c\xc3\x8a\xee\x48\x87\x9d\xf6\xd2\x2b\x92\x74\xdd\x77\x0c\x58\x76\x74\xbe\x6d\x94\x5e\x21\x64\x1a\x28\xed\xd6\xcb\x63\x36\x68\x43\x8b\x51\x5b\x06\xc0\x41\x27\xc5\x2e\xd6\x1b\x46\xf3\x17\xa7\x67\x69\x37\xeb\x22\xd0\x3e\xf3\xd1\x37\x73\x05\x43\x3c\x6c\x84\xd8\xf8\x05\x74\xac\x57\x64\xa7\x6e\x3a\x4d\xdb\x55\x60\xed\xbe\x0e\x27\x4c\xfb\xe4\xe7\xb4\x7a\x73\x85\x27\x56\x8f\x8d\x00\xe1\x7e\xe6\xfb\x55\x99\xc0\x1f\xab\xfc\x5e\x38\xca\x2d\x3d\x4a\x7e\x33\xc8\xe5\x62\xcc\x12\xa1\x5c\xc1\x35\xc2\xb8\x35\xe6\xb7\xb9\xad\xdb\xbc\x28\x6c\x11\x2f\x1d\xa9\x2b\x6d\x7e\x7b\x2f\x75\x7b\xad\x77\x85\x0d\xea\x4b\xca\xd2\x06\x1b\x4d\xd1\x22\xde\x0c\xd2\x53\x6b\x80\x86\x55\x8a\xb9\x8e\x72\x04\x97\x8d\xa5\x1d\x36\x0d\x36\xf3\x4b\x40\xd1\x18\xb0\xcd\x1b\xc4\x17\x5a\xda\xea\x66\x5d\xb4\x1a\x84\x6b\x5c\x7f\xc8\x6d\x75\x01\xb8\xe4\x92\x05\xb0\xb9\xb5\x42\xf3\x5a\x36\x1e\xc1\xff\x6d\x63\x46\x0f\x96\x2d\x5d\xa5\x25\x73\xf5\x23\x3e\x50\x3a\xf3\x52\xfa\xb9\x16\x2d\xfa\x11\xe1\x10\xa1\x74\xb7\x07\xa7\x7d\x85\xf6\xa3\x7b\xb7\x23\xf1\xca\x86\xdd\x4e\xae\xd9\x6c\x38\x05\x02\x01\xbd\x5a\x14\xed\xb6\x90\xc6\xe6\x62\x1a\xc1\xc3\x2c\xa2\xa3\xf8\x8f\xd2\x09\x61\x1f\x4f\x26\xb3\x21\x59\xc9\xb5\xdf\x7c\x49\x80\x3d\xe8\x22\xb8\x40\xc5\x7a\x85\xe9\x69\x34\x56\x6d\xf3\x84\xcd\xe3\x24\x0a\x6f\x57\x9a\xf5\x8d\xed\x15\xe4\x56\x89\x17\xd7\xd5\x41\xb2\x04\xc2\xf3\x2a\x1d\xec\xe6\x76\x80\xf8\x18\xea\xe0\xd2\x1f\xfe\x50\xd0\xf5\x34\x62\x77\x5e\x38\x8b\x5b\x7e\x02\x14\xbc\x1b\xd3\xc4\x3a\x3f\x0a\x89\xce\xad\x49\xf6\x53\x76\xe6\xe2\x00\x46\x55\x69\x6f\x79\x5f\x66\x71\x78\xf2\x05\x3e\x95\x74\xcd\xdf\x6d\x77\x26\xed\xa9\xf5\xf8\x01\xaf\x44\xc2\xb3\x15\xc6\x98\xdb\x53\xd1\x11\xba\x8c\xad\x0a\x02\x87\x2c\x3c\x4a\x37\x5f\x5a\xb1\x41\x5c\xef\x5d\x6d\x03\x55\xaa\xfb\x4a\xa7\x21\x57\xa3\x45\xbb\xc5\x17\x07\xdd\x91\x11\x92\xac\x10\x04\xec\xd6\xa4\x34\x83\xa2\xfe\x02\xd5\xf4\x17\x78\x6d\xa8\x2d\x12\xed\xc2\xe6\xf3\xb9\xbc\x64\xa0\xb9\xaa\x8f\x6e\x2d\xe3\x2b\xf7\x94\xc6\x4d\x62\x45\xc0\x7e\x39\xeb\xd7\x98\x73\x7c\xd7\xeb\x9b\x82\x49\x07\xf9\xca\x73\x3e\x49\xaa\xf0\x25\x2f\xbb\x60\x66\x53\xa1\x62\xcb\x9f\x2b\x17\xdb\xe1\x4d\x53\x7a\x8e\x39\x9e\xd8\x31\x65\x86\x6d\x5e\xa1\x62\xc5\x63\x1a\xe1\x35\x30\xc7\xfb\x9b\x1f\x49\xe9\xc4\x10\xf8\x6c\x4d\x31\x79\x4f\xfe\xf3\x88\x78\x09\xb4\x31\x01\x7e\x37\xb3\x71\xf8\xbe\x8e\x4b\xcf\xe9\x57\xc0\x4f\xe3\x53\x00\x95\x08\x28\x26\x86\x89\xc8\x8b\xe1\xf8\x33\x57\x5c\x46\xd3\x31\x1d\x60\x55\x50\x29\x04\xd0\xe8\x18\x83\xb7\x36\xc4\x7a\x48\x78\x50\x08\x07\xa1\x11\x43\x1f\xed\x1a\x21\x57\x12\x85\x58\x82\x09\xcb\xeb\x6d\xbb\x21\xf0\x7d\x79\x69\xf9\xb2\x86\xd7\x23\xde\x88\x1a\x7d\xa7\xdf\x26\x8e\x1a\xa1\xe9\xa4\x87\x2f\xb1\x93\x80\x4d\xc2\xc0\x73\xe0\x29\x97\x40\x48\x53\xac\x7c\x03\xa8\x74\x94\xd3\x50\xe6\x0a\x6d\x5b\x58\x23\x90\x83\x70\xb9\xc6\xd7\x62\x89\x85\xec\x6a\x6f\x7d\xcc\xdb\x32\x04\xac\xc1\x00\x03\xb3\x0c\x8a\x69\x30\x17\x83\xe2\x6d\xa9\xa0\x2a\x97\xb8\xa1\xa3\xd0\xd1\xcd\x09\x6d\xb7\x1b\x64\x7f\xc1\x14\x2a\x00\x66\x44\xff\x8b\x98\xa0\x58\x0b\x8d\xf2\x12\x04\xef\xb8\x0e\xda\x3c\x8c\x1e\x38\xd3\x16\xf5\xd0\xee\x77\x49\x79\x81\x93\x7e\x25\x9b\xb9\x04\xb1\x70\x35\x09\x03\x36\xf2\x02\xec\x1f\x5c\x2b\x3f\x95\xf0\xe1\x86\x5f\x74\x13\x7a\xcb\x10\xb4\x2a\x14\x2e\x82\x26\x50\xbc\xc5\x8a\x7e\x77\x21\xa1\x17\xfd\x36\x29\x5f\x60\x86\x97\x60\x44\xfa\x08\xa6\xac\xde\xf9\x1f\x4d\xe5\xe7\x52\x95\x0c\x43\xae\xda\xcb\xbc\x3b\xca\x7f\x44\xc4\x5b\x03\x00\xd0\x33\x48\x3d\x17\x19\xd8\xf3\x09\x96\x17\xf1\xfb\xfd\x2b\x3e\xb2\x83\xce\x69\x6a\x38\x17\x4b\xf8\x0e\xae\x27\x19\xa2\xdf\x8d\x19\x00\x3f\xc2\xb7\x13\xb8\xc8\x63\x6a\x00\x3b\x51\x8c\x34\x32\xa5\xfa\x84\x5a\x76\xa7\xe7\x33\xdf\x27\xe5\xf3\xeb\x53\xf5\x52\xdb\x5f\xfc\x02\xdb\x6e\x37\x3e\x95\x7e\x7d\xa8\xd7\x4b\x9f\x8d\x7d\x86\xa4\x36\x9a\x4e\xf0\x6d\xe6\x45\x73\x52\xee\x9c\xbf\xd5\xee\xb2\x11\x0d\xe2\x89\x97\x10\x1a\xc4\xf7\x2c\x02\x57\xd2\x09\x8b\x63\x3a\x62\xe6\x62\x95\xde\x9b\xd9\x52\x7c\xe4\x80\xa5\x01\xee\xb6\x01\xc2\x11\x09\xee\x57\x49\x1c\x92\x7b\x06\x90\x0b\x7a\x83\xc4\x03\x23\x7f\x04\x5b\x30\x82\xd4\xde\x69\x00\x21\xf1\x29\x55\xbe\xbf\x95\x82\x46\x5e\x5a\x6c\x30\x21\x58\x34\x6e\x8d\x17\x8c\x78\x3b\x29\xa8\x45\x7d\xcd\x2a\x1f\xf4\x15\x8f\xce\xc2\x3b\x0b\x9b\x5b\x6c\x4f\x98\x36\x23\x30\xc1\xa8\x24\xfa\x52\x55\x66\x52\x47\xd4\x58\xaa\x3c\x8a\xa1\xce\x04\xde\x72\xaa\x9c\x73\x18\x44\x0e\xc7\x6d\x10\x02\xa6\x2c\x97\x34\x87\x77\x54\x30\xb8\x9d\xe5\x83\x43\x32\x4f\xd9\x30\x49\x3b\x60\xbf\x0e\x23\xef\x7b\x18\x24\xd4\x27\x57\x74\x40\xca\xaf\xaf\x96\x0d\x12\x7c\x38\x13\x3a\x20\x71\x12\x4e\x11\x65\x0a\xbf\xc0\x88\x2e\x1c\x0a\x1a\xb7\xc9\x70\x16\x71\xb9\x07\x07\x61\x51\x03\x45\x5f\x64\xec\x95\x61\xd4\xbe\x17\xa4\x9d\xb7\xe4\xe8\x76\x97\x8f\x6e\x18\x46\xf7\x34\x72\xaf\xe8\xa0\x9f\x84\xd3\xd4\x04\x9e\x7a\x01\x23\x47\xf0\xa8\x79\x7a\x54\xb1\xce\x47\x70\x16\x70\xe8\x2c\x06\xbb\x3d\x78\x43\xc0\xeb\x27\x64\xc8\xc3\x0c\x02\x81\x91\x8e\xaa\x46\x20\x9c\x49\xb9\x50\xc0\xc2\x4c\x7b\x51\xe4\x8c\x80\xae\x34\x82\x09\xa7\x31\x45\xfb\x0d\x8b\x12\xcf\x91\x53\x73\xa3\xa7\x46\x3d\xb1\x20\xc0\xc4\xe9\x51\x41\xd7\x03\x7b\xf1\x18\x14\x19\xaa\x4e\x18\x4d\x04\x83\x8e\x8e\x1e\xdd\x83\xf3\xe4\xc1\x49\x0f\x0c\x89\x65\x56\x6e\xf7\x6c\xd1\xcb\x59\x5b\x42\xb8\x42\x3b\x44\x66\x81\xf4\xb8\xcb\xc9\x53\xd6\x26\xb4\x0d\x95\xeb\x29\xbf\xa1\xb1\x37\x4c\xc8\xc5\x2c\x21\xe5\xfe\x45\xa5\x4a\xe8\x2d\x25\xf0\x04\x85\x5f\xd4\x49\xf9\xb4\xdf\xa8\xd8\x2e\x1a\xe4\xb8\x91\x4a\xce\xe2\x05\xe4\x38\x7d\xb6\x48\x1a\x59\x21\x8d\x02\x6a\xa9\x51\xca\xa1\xa8\x1b\x90\x72\xbf\x5b\x40\x50\x3d\x43\x50\xfd\x11\x04\x0d\x97\x11\x54\xb7\x09\x52\x27\xc6\x45\x40\xca\xef\x2f\xce\x55\xe7\x85\xe6\x73\xb5\x0c\x2d\xd8\x9f\xae\x2c\xf0\x4b\x2e\x5d\x8d\xc6\xe2\xa3\x40\x93\x31\x1c\x72\x3a\x0c\x69\xfe\x93\x09\xd9\x58\x4c\x48\x9b\x06\x0e\xf3\x49\xb9\xdd\xd2\xac\xe8\x0e\x09\x6c\x78\xee\x0c\x63\xde\x95\x5a\xaf\x1d\x88\x4d\x77\x62\x48\xb3\x31\x99\x30\xd7\xa3\x09\xf3\xe7\x86\xd2\xf2\x4c\xe4\x6f\xe6\x3a\x2b\x7b\x60\xce\xcc\x18\x45\x37\x41\xc0\x24\xb1\xa7\xc1\x1b\x54\x14\x59\xfe\x39\x18\x8d\x21\x40\x2d\x8a\xd4\x86\x46\xea\x48\x49\xbb\xc7\x2a\x67\xca\x3b\x46\xc0\x01\x43\x69\xfa\x19\xc9\xaf\x62\x01\x7e\xec\x81\x8e\x00\x81\x9e\xa1\x4c\xf0\xa4\xd5\x88\x0c\x84\xbc\xba\xfa\x71\x99\xc3\x55\x60\x39\x74\x59\x30\x64\xbf\xaf\xe6\xf2\x6c\x2f\x7c\x0c\xb8\x2d\xfd\x52\x4a\x2d\xf8\xd9\x20\x4e\xbc\x64\x96\x30\x52\xee\x5f\x1f\x14\xed\x88\xed\xd6\x79\x01\xf3\x68\xee\xa6\xcb\x79\x6a\x68\x5e\x78\x6b\x2c\x77\xfa\xed\x82\x63\xa3\x31\x58\x3c\x07\x3a\x78\x9d\x7f\xd1\xe9\xb7\x33\x25\xf2\x03\x61\x0d\x20\xca\xb2\x19\x89\x20\x22\x42\x31\x42\xc1\x72\xc6\x37\x91\x37\x74\x74\x59\xa7\xdf\x2e\x88\x2e\xc3\xf6\x8c\x2e\x25\xca\x86\xa4\xb4\x52\x10\x0c\x90\x17\x46\x96\xf6\x66\x17\x50\x23\xb2\xa9\x14\x5a\x03\x3c\xd7\x97\x0f\x0b\x15\xc1\x97\xc3\xa2\x95\xbb\x4e\x76\x48\x7e\xe6\x1f\x09\xd9\xee\x45\xb9\x19\x78\xaa\x64\xc0\xfc\xf0\xbe\x56\xab\x19\xa0\x32\x2e\x7b\x20\xe5\xee\xf9\xa1\x12\x9e\x53\xef\x96\x6b\x4e\xa0\x2c\x54\xf1\x46\x7a\x2b\x51\xa9\xde\x2b\x25\x31\x97\xe6\x9d\x4d\x4e\xb3\x75\x15\xfc\x54\x3a\x5c\x7e\xae\xf1\xae\x72\x8e\x5d\x08\x34\x05\xa5\xa8\x7c\xde\x39\x2d\x20\x70\x30\x4b\x88\x1b\xb2\x38\x28\x25\x84\xba\x2e\x9c\xb0\x05\xea\xe7\xce\x56\x0e\x79\x9d\xa7\x1d\xbb\xf9\x6a\xeb\x61\x78\x1f\x2c\x56\x5b\xe5\xbb\x70\x9f\x25\x5c\x83\xed\x17\xcc\xfe\xce\x4e\x0e\xa9\xaf\x57\x22\x55\xea\x96\xf6\x17\xa3\xd4\x18\x2a\x69\x90\x56\xf4\x39\x14\xf2\xd0\xeb\xda\xfa\xcd\x6c\x0a\x77\x85\x62\xed\x65\xc7\xcd\xa1\xf7\x6c\x85\xab\x0c\xf6\x7b\x9a\x2f\x00\x7d\xb4\x16\xa1\xb6\xd0\x24\xe5\x7e\xbf\xa9\x6f\x95\xe0\x5c\xc2\x2f\xb6\xc7\x4d\xc3\x25\x8d\xf3\xd5\x86\x9a\xd0\xd9\x65\x0c\x68\xf3\x85\xa7\x6c\xce\xf0\x58\xce\xf0\xce\x17\x1f\xad\x16\xf1\x1b\x9c\xf8\x8d\x3c\xe2\x37\xfe\x7a\xe2\x87\x39\xc4\x5f\x2c\x26\xfe\x90\xdd\x79\x0e\xd3\x58\x0a\x68\x8f\x28\x1f\xb6\xfb\xc6\x21\x23\xd0\xc1\x28\x39\x6c\xf7\x75\x60\x22\x5e\x3d\xb0\x81\x35\xd9\x80\x76\x79\xf4\x02\x99\x8a\xb4\xf6\x04\x75\xa7\x2d\xf2\xce\xea\x92\x9c\xae\xc3\x4e\xbb\xf7\xb6\xdf\xaf\x4a\xd8\xab\x44\x64\x0a\x8a\x19\x9b\x48\x6f\x94\x81\x5f\x20\xba\xbb\xf5\x1c\xf6\x5c\x2e\x3e\xd1\x0a\x63\x69\x33\xf1\x4a\x19\xbc\xa9\xfc\x58\x35\x5b\xec\xc1\xd9\x31\x1c\x92\xcb\x28\x4c\xd0\x35\xba\x15\x31\x4a\xca\xfd\xcb\x96\x62\xff\x52\xaf\x0d\x39\xbc\xed\x9c\xe1\xdd\x2c\x9e\xfd\x0e\xc6\xac\xa4\xbb\xef\x3c\xa5\xfb\x97\x39\xdd\xbf\x5b\xb2\x72\xe4\xf8\xa5\xd8\xf5\x2f\xfa\x8f\xef\x38\x6f\x07\x7d\xbf\xd2\x92\xd5\x0b\xd2\x80\x0e\x29\xf7\xdb\xdd\x2a\xea\xac\x87\x9d\x76\x57\x9f\x97\xe2\x4e\xa8\x92\xb7\x76\x0f\x6b\x84\x5c\x0c\xe2\x10\x4e\x78\x70\x54\x0e\x87\xc2\x4e\x49\x9c\x12\x29\x1f\xb6\x0a\x36\xfd\x5d\x9a\x43\xf2\xc7\xe5\x9b\xa8\x8d\x1e\x87\xe8\x79\xbf\x34\xf6\x9a\x4e\x4a\x5d\x5c\x84\x8c\x52\x6e\xf7\xbb\x56\x18\xba\xcf\xa8\xc8\x84\x3a\x09\xe3\x24\x9b\x54\x9a\x68\xc0\x94\x82\xd1\x0c\x72\x46\xf3\xe9\x0f\xad\xab\x7c\x48\x03\x19\x1c\x5c\x00\x60\x20\xbf\x5e\xb4\x28\xdb\xfd\x6e\x7a\x09\xe6\x04\xf2\xeb\xd8\x13\x11\x41\xa5\xae\x3a\x7c\x07\x5c\xbf\xe8\xb7\xd7\x2f\xcf\xd6\x5b\x97\x6d\xe2\x84\x93\x09\x0d\xdc\x58\x98\xc8\x94\x5d\x5a\xc2\x88\x99\x16\xe9\x67\x98\xd9\x10\x77\x2c\x99\x37\x56\x06\x67\x79\x89\x08\x13\xa3\x31\x46\x7b\xe9\x17\x02\xab\xff\x50\xda\xae\xd2\x13\x04\xf8\x6b\x0b\x36\x9e\x92\xc8\x9b\x57\x30\x87\x4e\xce\x1c\xfe\xfa\xeb\xe2\x55\x94\x63\x32\x07\x6e\x40\x58\x98\xe2\x61\x5b\xb2\x28\x62\x3e\x96\x16\xd6\x93\x50\x55\xc7\xf4\x85\x05\x94\xe5\x29\x1c\x9f\xff\x80\x74\x65\xee\x29\x17\xb9\xf7\x14\xed\x1b\xb0\x80\xa9\x66\x3d\x0b\xea\xc4\xc0\x77\x50\xd7\xe7\x7b\x9a\x0e\xbc\x35\x83\xc8\xd4\x1b\xe7\xa2\x8b\x0a\xe7\xab\xd9\xcd\x3b\x15\xef\xe7\x72\xb5\x4d\x62\x10\x18\xb8\x15\x73\x96\x2c\xe8\x4b\x35\xc1\xab\xd7\xd4\xfd\x8c\x46\xf3\x6c\xfc\xfe\xa7\xfa\xe7\x1a\x64\x95\x2d\xaf\xff\x57\xf9\x57\xf7\x45\x65\xaf\x5c\xfb\xb1\xf2\x9f\xeb\xe2\xd5\x12\x63\x9a\xe7\x9a\xbc\x6c\x75\xb2\xcf\x5b\xfe\xd4\xfc\xbc\x67\xbe\xc9\xea\xeb\xdb\x05\x5c\xdf\x78\x91\xc6\xe7\x1c\x04\xad\xd4\x2b\x73\x2a\xce\x2f\xb8\xa3\xbe\xe7\x92\x8b\x7e\x3b\x37\x0c\x34\x4b\x4d\xa5\x62\xc0\x1c\x2e\xba\xd2\x5d\xa4\xae\x74\xf0\x78\xeb\xcc\xc9\x99\x78\x5a\x28\x5f\x9e\x3d\xfe\xd0\xca\xd3\x33\xff\xeb\x5f\xa9\x8b\x98\xc1\x12\x22\x27\xbd\x3a\x47\xca\xad\xcb\xf6\xe3\x87\x98\xa7\x8d\x7e\xf9\x57\x0e\x11\xc0\x59\x1e\x20\xe6\xf0\x3a\x00\x17\x06\xc8\xe4\x0b\x48\xd2\x08\x15\x18\x33\x12\x82\xeb\x23\x05\x7f\xda\x69\x18\xc7\xde\x00\xd2\xbc\xe2\xeb\xd1\x52\xc5\x5c\x84\xb2\xa9\x9e\x8e\xc0\xad\x17\xee\x00\x2f\xe1\x2e\x6f\xa5\x9f\x36\x82\xe6\x62\x52\xee\xbf\x6c\x37\xae\xa4\x03\xb1\x6a\xe1\x58\xb7\xb0\xb3\xb4\x85\x1d\xa3\x05\xeb\xe7\xfc\x00\x10\xcc\x35\xcd\x34\x8e\x67\x13\x46\xa0\x4f\x42\xfd\x7b\x3a\x8f\x8b\x27\x38\x3d\xaa\x53\xe1\xac\x0c\x21\x85\x4e\x88\xa8\x69\x7c\x8b\xf3\xd9\x1d\xf3\x49\x23\x3d\x86\xb3\xc5\xe5\x9b\xe9\xf2\xe7\x8b\xcb\x6f\x64\x1f\xa2\xb9\xc0\x35\xeb\x2b\x0b\x97\x90\x9e\xc2\xa2\x2b\x99\xa9\x56\x73\x06\x59\xe4\x0a\x22\x8f\x86\x57\x30\xf4\x3a\x1f\x3a\xf8\x82\x8c\x57\x05\x50\x83\x9d\xeb\x77\x2b\xc9\x21\x2a\xa0\xff\x51\xca\xbe\x00\x63\x52\x02\x53\x44\xff\x03\x42\x03\x79\x25\x11\x96\xd0\xf2\xbd\x51\x00\xb1\x5f\x57\xfc\x72\x05\xf1\x81\xa7\xe7\x59\x89\x3a\xf2\x7c\x3f\x4e\x45\x6e\xe3\xf3\x77\x89\xeb\x23\xa0\x36\xf9\xde\x80\x45\x90\x24\x79\x30\x27\x77\x49\xc2\x62\x85\xc0\x27\x22\xf8\x2d\x4a\x36\x04\x25\x6e\x38\x1b\xf8\x6c\x6d\x0c\x61\x39\x04\x4d\x3f\x49\x38\x25\x63\xea\x0f\x81\xa0\xc3\xd7\xa7\xe6\x22\xf9\x0f\x08\xbd\x2c\xaa\x29\x62\x84\x8a\x2b\x6f\x89\xca\xe8\xaf\xb2\x06\xb9\xdf\xf1\x8d\x0d\xe2\x31\xdf\xa5\x8a\x6f\xdb\x7d\xa5\x8a\x1f\xbe\xcb\x18\xf9\x40\x36\xff\xe3\x5f\x23\x98\xc2\x7c\xba\xa3\x6c\xa7\xa9\x37\x30\xcf\xf7\xcb\xa5\x8e\xc2\x7e\x79\xb4\xb4\x81\xa4\xfd\x1f\x43\xd2\xaa\xa9\x07\x1d\x61\xb8\xac\x91\x15\x6e\xff\xf0\x06\x60\x2e\x8e\xb2\x51\x1e\xe5\xa5\x62\x08\xcc\xff\x21\x7f\x17\x9b\x44\xb7\x7f\x41\x76\x76\xb6\x76\xd7\x1a\x19\x83\xbd\x2e\x7c\x2c\x0a\x23\x66\x6e\xa6\x1c\x1c\x80\xbe\x2f\x3c\x22\x70\xaa\x6d\xbf\x08\xe6\x8c\xc3\x2c\x64\xec\x92\xa7\x9a\x3c\x59\xf8\x3f\xff\x32\x59\xf8\xc1\x84\x8e\xe4\x7f\x1c\x97\x14\xbe\xf4\x23\x91\x41\x90\xa9\xf2\x76\x93\x8f\xbb\x31\xae\x3c\x75\x17\xb3\xed\x64\x7d\x15\xa1\x56\xee\x1b\x56\x29\x9c\xd9\x32\xb9\x8c\xc5\xd4\x66\x9e\x13\xcb\x10\xce\x6d\xae\xdf\x8a\x51\x3a\xfd\x1a\x5a\x86\x18\x1d\xb3\xf4\x8f\x46\xe9\xe6\xd2\xd2\x2f\x8c\xd2\x1b\x4b\x4b\xaf\x2d\xa6\x64\xc3\xa6\xbb\xb6\x98\x92\x54\xe9\xf5\xc5\x94\xc8\xd2\xf0\x98\xaf\x03\xf1\x2f\x41\xce\xc5\x0a\xab\xcb\x63\x41\x04\x3e\xea\x19\xe1\xd7\x3b\xb0\xd4\x1f\x46\xf4\x1e\xae\x7e\x6a\xa5\xb5\x40\xaf\xf2\xf8\xda\x3d\xf1\x82\x91\x1b\x4e\x48\xf9\x5a\x45\x31\x1f\xe8\x6f\x41\x16\x62\x52\x16\xd1\xfa\xb2\x04\xec\xe3\xb3\xc4\x19\x8b\xbf\xdb\x24\x8c\x60\x7f\x3e\xf2\x82\xc0\x8b\xe5\xc7\x3d\xfe\x49\xc4\x02\x55\xee\xad\xfa\x80\xb4\x69\x40\x5d\x8f\xca\xb8\xaa\x13\xb2\x46\x8e\x19\xd7\x1d\xc4\x07\x1f\xc8\x1a\xe9\x26\xd4\xd7\x45\x3a\xbc\x93\x6d\x08\xab\x8a\xee\xd9\xc8\xa3\xc1\xfa\x21\x35\x7a\xfb\xc8\x39\x39\x35\x3f\x79\xcd\x6b\xbc\xe4\x1f\xdf\x33\x57\x7f\xbc\x0f\x9f\x78\x71\x9c\xdd\x4f\xfe\xa2\x9d\xa4\x9c\xa3\x5f\x57\x72\x3e\xfb\x31\xe7\xb3\x17\x39\x9f\xad\xe5\x7c\x56\xcb\xf9\x6c\xbd\x68\x07\x43\x8c\x93\x7f\xca\x99\x26\xd0\xcf\x72\xee\x9a\xc5\x80\xa0\x19\xa2\xca\x29\x84\xaf\xcc\x35\xdc\x19\x73\x05\xbb\x38\x0b\x55\xc5\x42\x17\x55\x38\x1f\xe5\x52\xc6\x13\x7b\x59\x56\x2d\x67\xfc\x79\x2f\xeb\xa9\xaf\x5a\xac\x94\xc8\x6f\xbf\x11\xf5\xe7\x5a\x4e\x07\x4b\x32\x71\x2d\xe9\xe0\x47\xbb\x83\x5a\x4e\x07\x4b\xb2\x77\x2d\xe9\xe0\x85\xdd\xc1\x7a\x4e\x07\x4b\x32\x7e\x99\x1d\x3c\x23\x39\x21\x0d\x85\xa8\x28\x29\x24\x39\x69\x2a\xb0\x77\x46\xbe\x07\x3e\x97\x9e\xd8\xe4\x05\x29\x3d\x7f\x65\x2b\xe3\x59\xcc\xb7\xd5\x4e\xb3\x03\xea\xdc\xca\xe7\xb6\xc3\x4e\xfb\x40\x5b\x5f\x6f\xae\x36\x9b\xe8\xed\x3c\x9b\x2e\xd3\x91\xd2\x8b\x7f\x7b\x89\x81\x9b\xde\x31\x13\xdc\x22\xfb\xa4\x0f\xad\x14\xfb\x20\xe6\x85\x0e\xd8\x69\x85\x21\xf9\xde\xf2\x2e\x8a\x3d\x01\x0b\x1c\xfe\x7f\xb7\xdc\xc0\xee\x69\xe4\x1a\xdc\x3b\x32\xb9\xd7\x6c\x3c\x95\x7b\xbb\x8b\xb9\x57\x00\x1c\x71\xd9\xca\xf8\xd3\x41\x6b\xfb\xcb\x2d\xf7\x79\xb1\xae\x27\xd8\xf2\x7e\x16\x7e\xee\x9c\xdf\x77\x7d\xab\xeb\xac\x2b\x1f\x74\xfd\xf3\x1f\xec\x5a\xc0\xf9\x99\xca\x97\xf2\x70\xf3\xc3\x7b\x16\xa1\x8f\x9b\x13\x46\x01\x66\x14\x43\x48\x95\xc5\xb6\x20\xe5\xcc\xe8\x09\x33\x76\xc4\x9c\x70\x14\x78\xdf\xd1\xbd\x19\xfd\x70\xef\x65\xae\x85\xf1\xf4\x94\x77\xc4\xfb\x39\x98\x8d\xda\xe1\x64\x4a\x75\x3c\x3b\xc1\x58\x76\xa1\xa6\xa7\x47\x7f\xb4\x78\x1a\x8f\x66\xbe\x2f\x12\x60\x97\x7b\xdd\xcc\x0b\x3c\x34\x51\xec\x2b\x68\xe0\xe2\xa7\x9f\xb2\xc5\x17\x06\xd7\xce\xd8\x24\x8c\xe6\x00\x6b\xb6\x3e\x0b\xf8\x3f\x2b\x9b\xcb\x80\x0c\x3f\xe7\x9c\x9d\x2c\x1e\x9d\xe1\x5f\xd7\x24\xe5\xd3\x7e\xb3\x62\xbb\xd7\x81\xe7\x53\xfa\xc5\x9c\xc6\x59\x17\x3b\xe8\x2c\x58\xe6\x5f\xd7\xb4\xfd\xeb\x8c\xde\x37\x78\xef\x1b\x79\xbd\xa7\x9f\xbc\x0b\x7b\x0f\x97\xf5\xbe\x51\xd8\x7b\xb3\x4a\x7a\x70\xe1\xe7\x44\xf4\x56\xa5\xa2\x97\x47\xc5\x6f\xc5\x54\xf4\x1e\x41\x45\x33\x97\x8a\xbc\x99\xc8\xa5\xe2\xf7\x65\x54\x14\xcf\x44\xc3\xa0\xa2\x91\x4b\x45\x63\x55\x2a\xfe\x67\x19\x15\x29\x07\x50\x8c\x5c\x26\x9e\x13\x06\x24\xa0\x13\x0c\x2b\x11\xb8\x1c\x89\x97\xf8\xcc\x78\x01\x83\x3d\x01\x61\xa1\x4d\xf8\x0e\x55\xcc\x8e\x75\x80\x24\xa2\x8b\xf4\xc7\x9c\x40\x7e\xde\xde\x15\x6f\x2e\xcf\xee\x9f\x47\xf7\x32\x12\x9a\xf6\x5a\x94\x64\x59\xc0\x69\xeb\x11\xa3\x2e\x71\x42\x3f\x8c\xc8\x94\xfa\x2c\x49\x72\x9b\xda\x5c\xea\xc7\xd8\x8a\x46\x31\x71\xc2\x09\x44\x2d\xd0\x58\x47\x53\x95\x00\xb4\xb7\xb1\x17\x8d\x06\x0d\x52\xab\xd5\xc8\x1e\x7c\x70\xce\x3f\x38\x2f\x19\x09\x3f\x10\x1c\x36\x9e\xfa\x9e\x72\x67\x8f\xd9\xc4\xe3\xb4\x05\x02\x50\x92\x45\x34\x61\x90\x10\x6a\x36\x1a\x0b\xf8\x6e\x2f\x52\x69\x22\xf3\x31\x9c\x3f\xd5\x3f\xd7\xa0\xd5\x72\x69\x4f\xd8\x8d\x20\x8b\x16\xf5\xa2\x36\x24\x61\x37\xf2\xcd\x9b\x50\xf9\xeb\x90\x7c\x4e\x28\xfa\x9c\x41\x97\xc8\x1f\x69\xc1\x4f\x16\x26\x2b\x36\x2a\xec\xa5\xb2\x8c\xb6\xa2\x88\xce\xc9\x3e\xf9\x84\x60\xc2\x5c\x89\x2b\x4b\x8a\xce\x31\xd6\x66\x9f\xd4\xf7\xcc\xbf\x7f\xd2\xe4\xee\x91\x17\x2f\xf4\x37\xd6\x6d\x84\xf7\x89\x6a\x47\x6a\x48\x9f\x8c\xa6\x7e\x24\x4d\x89\x12\xac\x2a\xc1\x95\x1a\x5e\xba\x32\x65\xc9\x0b\x62\x81\x1e\x1b\x9d\xfc\xbc\x6f\xf1\x45\x42\x08\x6b\xf5\x35\xf1\x82\x19\x4b\xd7\x15\x7d\x41\x3e\x01\xeb\x5d\xb0\xf4\x4b\x89\x4c\x18\x0d\x62\x40\xff\xc5\xb4\xa5\x11\x46\xa4\x23\x0c\xbb\xe1\xa9\x8e\x02\x6b\xa4\xf7\x27\xf6\x40\x7c\x6f\x80\x53\x10\xd7\xa2\xd1\xe0\x2a\x7c\xdf\x68\x94\x4d\x5a\x3f\xe9\x61\x68\xc8\x64\x9b\x44\x1d\x18\x69\xcd\x1b\xe6\xa7\x30\xb8\xf0\x82\x94\xf6\x50\x05\x57\x35\x15\xfa\x86\xe6\x81\xa1\x8c\x17\x11\xfa\xd0\x68\x5c\x85\xed\x7e\xbf\x6c\xb5\x54\x4c\x58\xd1\x78\xc8\xbe\xd1\x45\x6e\x92\x3f\x1c\x88\x39\x5d\x4b\x5d\x36\x3e\x6f\xc2\x20\xed\x16\xbe\x86\x5e\x00\x8b\x8a\x33\x01\xe1\x4c\x33\x50\xa1\x46\xdc\x4b\x3c\xa6\x53\xb5\xa5\xea\x24\x27\x9e\x46\x4c\x15\x5e\xd5\x12\x0b\x26\x8c\x26\xe4\xb9\x48\x73\xcc\xeb\xee\x63\x24\xda\xf3\xaa\x78\xfc\x12\x81\x69\xa8\x6e\x21\xf0\xe3\x2b\x65\x69\xab\x93\x35\x72\xc0\x95\x1a\xfc\xb3\x41\xd6\x48\x77\xed\x80\xd1\xc9\x33\x85\x26\x7a\x1d\xb8\x2c\xf2\xbd\x80\xa5\xf4\x3f\x0a\x6f\x56\x80\x8b\xeb\xb2\xb5\x21\x75\x92\x90\xc4\x32\x8b\xa5\x48\xa2\x8b\x6a\xa1\x77\xc5\xd5\xc2\x26\x6c\x4f\x27\xe2\xbe\x06\xae\x0d\xe0\x5d\x0e\xb9\xd7\xe0\x96\x71\xdd\xef\x19\x81\x04\x70\x93\x43\xe2\x45\xa6\x31\x99\x17\x3c\x1b\x25\x84\x19\xa8\x14\xeb\xd2\x1b\xf3\xd6\x92\x73\x66\xf1\xb6\x28\x9e\xc6\x4d\x16\x97\x6b\x95\x75\xaf\xb2\x67\xc2\xde\xe7\x03\x75\xb6\x61\x81\x72\x25\x11\x13\x22\x5c\xf4\xdb\x64\xab\x0e\x9d\xe1\x25\x34\xf7\x14\x23\x59\x10\x5a\x89\xc7\x23\x00\xd6\x33\x90\x3c\x45\xb1\xd0\x06\xd5\x65\x64\xca\x95\xed\xef\x0a\x5f\xd5\x0e\x3a\xad\xb3\x45\x40\x2a\x7f\xb8\x83\xeb\xf3\xc3\x4e\xef\xb4\x7b\xde\x59\x25\x10\xfb\xc9\xa3\x38\xbd\x68\x9f\xe4\x42\x9f\xe2\x09\x8e\xde\x28\xc4\xf1\xbd\x29\x5e\x9c\x94\xff\x17\x75\xb9\x48\x5b\xca\x3c\x73\x89\x3b\x03\xc8\xd3\x98\x39\xb3\xc8\x4b\x20\x28\x1b\x5c\x17\x11\x17\xab\x46\x48\x8b\x44\x6c\x12\x26\x8c\xd0\xe9\xf4\x19\xe4\xa5\xa0\x18\x70\x27\xd2\x38\x0f\xc2\x64\x4c\xee\x23\x4f\x04\xe3\x02\x11\x42\x64\x15\x11\xc4\x01\x19\x61\x71\xcc\x82\xc4\xa3\xbe\x3f\x87\x96\xe8\x2d\xc3\x54\x25\xf3\x70\x16\x91\x98\xc5\x71\x2a\x7e\x59\x37\xe0\xd2\x84\x3e\x25\xd7\xe7\x33\xc8\x98\x57\x90\xc5\x11\x17\x4e\xf3\x0f\xa8\x34\x8a\xc0\xbd\xc1\xf6\xe6\x1a\x27\x52\x29\x32\xc4\x1e\x01\xb6\x34\x35\x37\x3b\xe9\x1f\x85\x00\x74\xc2\x09\x4b\xc4\x7e\xbf\xd7\x35\x21\x56\x9b\xba\x2e\x20\x97\x12\xd2\xf7\x02\x47\x64\xe5\xd6\x80\xd9\x5e\x90\xb0\x91\xf0\x47\x82\xb7\xcc\xf7\x90\x50\x04\x72\x4b\xf3\xf6\x26\x84\xfa\x98\x00\x26\xa6\x13\xb6\x5c\x4d\x92\xae\x32\x9f\x9c\x69\x5c\x6f\x34\x37\x36\xb7\xb6\x5f\x7e\xfe\x11\x7c\x66\xd6\x53\x7b\x82\xb5\x92\x45\xc3\x30\x5b\xfb\x42\x2f\xad\xd1\x24\x1c\xa8\x45\x2d\x2b\xf3\x22\x79\x47\x8e\x13\x4e\xe7\xc2\x11\x22\x6c\x4b\x16\x58\x69\x55\xa1\x66\x3a\xe9\x2c\x80\x3a\x97\x07\x3e\x0d\x6e\x2b\x66\xa8\x41\xb9\xdb\x7e\x9d\xf1\x63\xec\x77\x3f\x95\xfe\xfe\x18\xb5\xdc\x83\xf6\xfb\x53\xea\x58\x3a\xb9\x47\xa3\x11\xa6\xcc\xab\xe4\x59\x21\xae\xa7\xa4\xdc\xbe\xbe\xce\xed\xbe\xf5\x98\xee\x71\xfd\x5f\x4f\x1f\xd1\xf7\x61\x78\x1f\xf0\xde\x0f\x73\x7b\x3f\x78\x7c\xef\x10\x33\xb0\x7a\xff\xd2\xf8\x55\x6e\x5f\x1f\xe5\x92\xd0\x7e\x3c\x09\x70\x3b\x7c\x04\x0d\x07\xd4\xb9\x95\x44\x1c\xe4\x12\x71\xf8\x78\x22\x20\xe4\x77\x75\x1a\x8c\xe0\x90\xf6\xf9\x69\x25\x6d\x60\xf2\xbd\x5b\x66\x4e\x59\x15\x32\xea\x4c\x2d\x6d\x69\x12\xde\x31\x85\xd7\x00\xd1\xfa\x81\x46\x8f\xe4\x8d\xc1\x0b\x3e\xe5\xda\x32\x02\xd7\xa6\x47\xd9\xf9\x93\x67\xfb\x91\xf1\x9e\x62\x78\x97\x7c\x6f\x86\xcd\x5a\xb0\xe3\x72\x31\x3b\xae\xa7\x7f\x09\x33\x8e\xfe\xd4\x85\xf7\x34\x56\x68\x2b\x46\x6b\x10\x87\x3e\x04\xc6\xb5\x5f\x67\xfd\xad\x39\xbd\xc7\x8f\x34\x1f\x58\xdd\xe7\x92\x4d\xd6\xd2\x39\x29\xe5\x0c\x89\xa0\x29\xbe\x5e\x2e\x73\x89\x79\xfd\x24\x62\x64\xbb\xc5\xe4\xe4\x25\xba\x49\xff\xa4\x2b\x37\x16\x8e\x45\xee\x3f\x46\x2c\x53\xb9\x2d\x42\xf1\xd3\xa3\xea\x2e\xd7\x9c\x1d\xd3\x3e\x90\x1e\x01\x17\x03\x59\x80\x5f\xe3\x86\x35\xc7\xa7\x93\x69\x19\x3e\xab\x92\x46\x35\x0b\x3d\xc6\x58\xd0\xf7\xbe\xb3\x1a\xb8\xe0\x40\x03\xea\xf2\xef\xe1\x9d\xdf\x23\x3f\x61\xa3\x7b\xc4\x7b\xf1\x22\x1f\x79\x3f\x1b\xa6\x9f\xd2\x0a\x3b\x11\x57\x6d\xbd\x00\x52\xc2\xf8\x74\x4e\xca\x9d\xc3\x2a\xc2\xdb\xe7\x1f\x0c\x6f\x6c\x4b\x2e\x7c\xf6\xcb\x9b\x55\x9e\x4c\x85\x3e\x91\xab\x4e\x58\xc9\xb3\xc8\x6f\xbf\x61\x41\xc8\xde\x98\x4a\x04\xa8\x86\xc6\x38\xe5\x07\xcc\x0f\xef\xcb\xe9\x24\x02\xb2\x72\xa3\x20\x1f\x01\x54\x6d\x0d\x42\x89\x18\x95\x53\xb5\x59\x50\xd5\x40\x86\xca\xa9\xb5\x61\x27\x2b\x65\xe2\x2d\xc0\x0d\x9d\x98\xc4\x74\x8e\x48\x38\x68\xb8\x78\x8e\x9c\x87\x47\x22\x8c\xf5\x7b\x2e\xf3\x19\x95\x7c\x1f\xc0\x3a\x10\x06\x4b\x36\x07\x91\xbb\x62\x92\x62\xae\xe1\x91\x5b\xcf\xf7\x95\x3b\xb4\x40\x70\xe7\x17\x40\xc6\x26\x31\x89\x66\x12\x1b\xaa\x78\x00\xb9\x82\x80\xde\x5e\x9d\x53\x21\x05\xd9\xb0\x4e\x3e\xe3\x27\x79\x52\x70\xf2\x4f\x90\x82\x9c\x89\xbc\x0a\xf1\xd8\x5f\x20\x05\x0b\xea\xc2\x69\xfd\x58\x29\x80\xba\xfc\x90\xca\x61\xa4\xd0\x34\x4f\x01\x92\xb8\xdc\xcd\xe7\xdf\xe9\xe3\x75\x4b\x68\x70\x15\xbd\x42\x84\xe4\x0a\x02\x0e\xf3\x09\x38\x7b\x0c\x01\x2e\xb4\xf8\x58\x02\xda\x86\x8e\x7d\x28\x74\xec\x67\x1a\x07\x04\x43\x29\x20\x52\x3d\x56\x80\x24\x60\x06\x83\x9c\x3c\x3e\x1b\x26\x55\x8d\xd1\x44\xad\x33\x5e\x06\xef\xe6\x8d\x6c\x49\xc4\x5b\xde\xc8\x38\xa5\x2b\x8d\x4c\x80\xb3\x73\xb5\xbd\x9f\xaf\xb5\xf7\x1f\xd3\xfb\x5d\x82\x0d\xae\xa6\xb7\x8b\xce\x51\x6f\xef\xe3\xee\x4c\x5a\x7e\x1c\x92\x52\x37\xf0\x12\x8f\x26\x4c\x03\x9b\x0b\x1c\xcf\x44\x00\xde\x97\x72\xb3\xd4\xe0\x7e\x34\xa5\x51\xc6\xc5\x9d\x0f\xe5\x6a\xf1\x50\x52\x71\x1c\xa6\x39\xfc\xa7\x7d\xd2\xc8\xbb\xb9\xc9\xf1\xae\x7a\x53\xe8\xe9\x34\x2d\x02\x02\x6b\xc8\x68\x32\x8b\x98\x02\x40\x83\x07\x0d\xc4\xf5\x4e\xe7\xde\x94\x16\x5f\xc3\x9b\xee\x13\xf9\x99\x5c\xc6\xe4\x4a\x79\xb9\x47\x13\xea\xfb\xf3\x2a\x79\x0e\x6f\x9e\xcf\x25\x3a\x94\x48\x30\x8d\x7d\xd5\x48\x17\xac\x19\xc2\x59\x1e\x2c\x1a\xa2\x9c\xca\x50\x3a\xf0\x7c\x2f\x99\xeb\xcc\xa5\x8a\x4c\xc0\xb0\x9b\x4c\x31\xf5\x2f\x25\xae\x37\x04\x3b\x43\xa2\xa8\x94\x51\xb2\x30\x10\xde\xd6\x44\xf8\xbd\x27\xa1\xed\x92\x7f\x19\x8b\xb4\x32\xa6\x0b\x5b\x88\xb9\xb0\x58\x22\x2e\xd2\xeb\xf0\x3e\xe5\xd3\x01\xf3\x63\x32\x83\x58\x99\x31\x7b\xa0\x2e\x73\xbc\x09\x95\x29\x2b\x1a\xba\xe6\xb7\x19\x8b\xe6\x8f\xa9\xdb\x5c\xb1\x57\xf0\x43\x15\x75\x36\x56\xee\x4f\xd5\x5a\x2d\x0e\x83\x0b\xe9\xcf\x57\x4b\x22\x40\xe1\x58\x33\xb7\xa2\x4e\xc1\x75\xff\xfd\x63\x56\xae\x75\xf0\x3c\xe1\xbe\x69\x29\x9d\x07\xf9\x4a\xe7\xc7\xff\x57\x95\xce\x81\x18\x65\xb1\xd6\xa9\xaf\x37\xea\x46\xa1\xef\x39\xaf\x2f\xf3\xef\x39\xff\xfd\x4f\xb8\xe7\xf4\x30\x7b\x10\x3c\x17\xaa\xdb\xe8\x28\xa2\xd3\xb1\xe7\x58\xa9\x9f\x1f\x17\xbf\xce\xc9\x1f\x2c\xf1\x68\x82\xc4\x18\x18\xad\xae\x9f\x07\x49\xf9\x32\xf2\x26\x34\x9a\x93\x43\x1d\xb2\x6c\xfb\x50\xca\x9b\xf1\x98\x46\x2e\x1a\x3d\xc1\x60\x28\xf2\x04\x93\x12\x26\x7d\x02\x93\x5f\x0b\x73\x4e\xba\x98\x91\xe9\x19\x84\x38\x72\x5e\x96\x50\xf3\xf4\x12\x89\xb0\x0f\x7b\xad\x13\x46\x11\x24\x49\x16\xcd\x51\x01\xf3\xaf\xf2\x60\x85\x60\x66\xfc\x91\xdc\x03\xac\xa3\x8f\x38\x33\x63\x46\x4a\x85\x7c\x29\xc1\x61\x93\x83\x5f\x98\x71\x54\xc9\x3b\x6d\x7e\xc8\x09\xb9\xfb\xed\xb7\xdc\x40\xbc\x05\x3a\xe3\xc2\x20\xe3\x8c\xcd\x3c\x7f\x52\xfa\xcc\x09\x03\xf7\x8f\x4f\x4b\x29\x87\xef\xbc\xa9\x95\x58\x6f\xf1\x1d\x66\xcc\x66\x3c\x6f\x68\x35\xde\xff\xbc\x84\xf9\xcb\x19\xf8\x73\x7d\xaf\xb9\xb5\xbd\x57\x4f\x47\x6a\x83\x21\x27\x67\x8d\xdf\x14\xac\x71\xf7\x91\x6b\x5c\xb6\x88\x6b\xbd\x17\xde\xaf\xba\xd0\x0d\x30\x13\xae\x86\x2a\xd4\x37\x6d\xe1\x78\x7d\x73\xa9\x61\x2e\xc0\xe3\x23\x5e\xdd\x0c\x92\xc2\xbc\x91\xa6\x11\x03\x38\x8b\x0e\x48\x1b\x42\xf4\xca\x57\x07\x59\x3c\x22\x5e\x7e\xf4\xd7\xad\x88\xf5\x75\xd1\xb9\x44\x08\xe4\xfa\x35\xea\xd6\x85\x77\x46\xb1\x9b\xb7\xc4\xbe\x5a\x06\xd7\xba\xf4\xc5\xa9\xa0\xe7\x8d\x6c\xcf\xf0\xda\x20\xf1\x09\x0b\x3b\x6d\xf9\xbe\xe8\x37\xce\x39\x46\xfa\x4c\xa6\x69\xec\x67\x91\x00\x39\x0b\xc7\x4b\xf0\x9c\x72\x0e\xb7\x7c\x95\x36\x7b\xda\x19\x59\x16\x33\xa3\xf6\x3e\x57\xc1\xe9\x31\x4b\x71\x1a\x1c\x19\xe1\x73\x30\x9b\x60\xee\x08\x7e\xf9\x6b\x87\x20\x92\xa0\x3c\x62\x04\x67\xcc\xf5\x28\x69\x87\xd3\x39\x29\x9f\xa1\xe0\xa6\x3e\xab\xea\xd0\x8a\xa1\xe7\x98\x58\x0c\x31\xd3\x80\x02\x12\xf4\x09\x8f\x5a\x2f\xe0\xc7\x6a\x51\x26\xcd\x34\x53\xbc\x3c\xeb\x83\xb7\x04\xb4\x14\x14\x73\x94\x96\x5e\xbe\xb4\xf8\xff\x3a\x69\x31\x16\xd3\x42\x71\x11\xde\x9e\x98\x77\x32\x5f\x60\xfe\xda\x51\x2c\x12\x98\x82\x41\x18\xb6\x6c\xf3\x08\x3d\xd6\xd0\x93\xdd\x1c\x6f\x2d\xdf\x8b\xd1\xaf\x42\x86\x48\x57\x01\x00\x67\x2e\x0d\x5e\x08\x40\x8c\xa6\x01\xd1\x2a\x9c\x9c\x98\x61\x84\x60\x02\x27\xe1\x1b\x26\xdb\x10\x77\xc2\x9a\xbe\x15\x92\xba\x74\x46\x2e\x8b\x1b\x99\x0a\x06\x6d\x90\x83\xd0\x97\x99\xb5\x48\x93\x1c\x51\x4f\xe5\x75\x25\x1b\x18\x66\xe3\x90\x72\x10\x06\x6b\x70\x51\x53\x15\x37\xb5\xb3\x88\xaa\xbe\x85\x89\x21\x49\x99\x4e\xa7\x8c\x46\x31\x3f\x4c\x78\xf3\xaa\xd2\x4b\xd2\x0d\x00\x41\x4a\x7e\xb0\xc3\x3f\xc0\x5c\x2c\x55\xe2\xd5\x58\xad\x4a\xc6\x9e\xeb\xb2\x20\x15\x11\x45\x76\x49\x3b\x0a\x01\x98\x9c\xeb\x01\xe5\x4e\xfb\xac\xb5\xb6\xb9\x23\xbf\x6e\x36\xd5\x00\x03\x81\xbb\x3c\x08\xc1\x19\x23\x22\x43\x3e\x22\x55\x70\x03\xd4\x59\xaf\x68\x58\xcd\x4d\xf8\x7e\x96\x1e\x5a\x73\x8b\xf4\x13\x46\xdd\x39\xaf\x93\x90\x81\xc8\x7f\xa9\xaa\xbd\x14\xa7\xe5\x1d\xc3\x02\x1e\x0e\x53\x7d\xbf\x43\x6e\xec\x51\x62\x7e\xb6\x9c\x91\x36\x77\x51\xe1\x5e\x30\xda\x8d\xba\x84\x9e\x62\x23\xcc\xc2\x88\xde\x5f\x49\x48\x0e\x7c\x8a\x4e\xcb\xbc\x58\xa3\xb0\x58\x4f\x0d\x6c\xa3\x59\x58\xe8\x58\xfa\x88\xf3\x62\x1b\x85\xc5\x3e\x30\x2e\xa2\xb2\xdc\xe6\x02\xd2\x66\x72\xda\x37\xb6\x0a\x4b\x9d\xd1\x11\x0b\x12\x2a\x0b\x6e\x17\x16\x6c\xcf\x55\xf4\xd7\xc6\xcb\xc2\x52\xef\xc6\x5e\xa2\x7a\xdd\x2d\x2c\x26\xed\x14\x65\x81\x1b\xe0\xab\x68\x36\x64\x35\x57\x66\x17\xb1\x7a\xb3\x51\x58\x4c\xb3\x7a\xb3\x59\x58\xc8\x64\xf5\xe6\x46\x61\x31\x8b\xd5\x9b\x9b\x0b\x48\x53\xac\xde\xdc\x2a\x2c\x65\xb3\x7a\x73\xbb\xb0\xa0\xc1\xea\xcd\x97\x85\xa5\x4c\x56\x6f\xee\x16\x16\xcb\xb2\x5a\x5d\x33\xc5\x5a\x24\x65\x5c\x9e\x15\x81\x8e\x30\xa6\x77\x8c\x4c\xbc\x07\xa6\x5c\xcd\xf0\x22\x07\xe9\xa2\x4d\xdf\xb3\x41\x88\x89\xee\x46\x41\x38\x61\x6b\x52\xc5\x42\x6f\x9c\x87\x3b\x4c\xf3\x48\x01\xf9\x5f\x05\x32\x70\x6d\x17\xd0\x09\x78\x47\x61\x40\xde\x79\xb7\xde\x94\x9f\xf3\xbc\x9d\xf2\x38\x49\xa6\xaf\xd6\xd7\x59\x50\xbb\x97\x9f\xd7\xc2\x68\xb4\xce\xff\x5a\xe7\x27\xdd\x17\x84\x71\xf8\x02\x86\x7f\xb9\xdf\x1e\x85\x11\x69\x6c\xaf\xe1\x88\x15\xc5\xa9\xdd\x9c\x6f\xf2\x7a\x83\xde\x5d\xb0\xa2\x11\xfc\xda\x94\xb6\xdd\xe2\x85\x2d\x4a\x6b\xa1\xdb\x2d\x5e\xdf\xa2\xac\x29\x7b\xbb\xc5\xcb\x5c\x94\xb6\x44\x70\x77\xc1\x6a\x97\x64\x2b\x49\xdc\x2d\x5e\xf4\xa2\xb0\x2d\x90\xbb\xc5\x6b\x5f\x94\x37\xe4\x72\xb7\x78\x0b\x10\x85\x0d\xf1\x6c\xd4\x17\xac\xea\x0c\xbb\x1b\xf5\xe2\xc5\x9d\x66\x77\xa3\x5e\xbc\xc6\xb3\xec\x6e\xd4\x8b\x97\x7a\x0e\xbb\x1b\xf5\x05\x2b\x3e\xcd\xee\x46\xbd\x78\xe1\xe7\xb1\xbb\x51\x2f\x5e\xff\x19\x76\x37\xea\xc5\xdb\x40\x9a\xdd\x72\x45\xec\xec\xac\x91\x30\x22\xcd\xad\x55\x57\x06\xe4\x57\xde\x23\x5b\x64\x8f\x5c\x16\x4e\xee\x25\x96\xdc\xb4\x4b\xe6\xd1\x75\xa9\x56\x1b\xa7\x86\x6b\xfd\xe2\xbb\x72\x73\x73\x6d\xe0\x25\x95\x55\x09\x6a\x92\x3d\xd2\x23\x7b\xe4\x98\xec\x91\x83\x42\xc2\xa2\xd1\xa0\xdc\xab\x92\xe3\x2a\x39\xa8\x68\x12\xb3\x75\xf3\x48\x4d\xd5\x15\x36\x38\x86\x1e\x87\x00\xef\x26\xf7\xb6\x58\xb9\x29\x92\xe7\x5c\xe1\x79\x2e\xfc\x85\xe1\x0f\xd8\xef\x06\x30\x1d\xcf\x6b\x84\x74\x03\xde\x50\x1c\x4e\x98\xce\x36\x82\xde\x23\xbc\x2c\x26\x35\xf3\x62\x4c\x20\x0b\x8e\x82\x11\x5a\x73\x68\x2c\x1a\xe1\x17\x17\x06\x1e\x76\x00\x56\xcc\x5b\xc3\x6e\x62\xf8\x77\x0d\x4b\x61\x72\x95\x24\x0c\x71\x93\x86\x28\x11\x15\x25\x26\x88\x8c\x59\x02\xcf\x5d\x4e\x38\x81\xc4\x1b\x43\x61\x10\x82\xb7\x2f\x14\x0e\x33\x17\x6d\x5a\xf9\x9f\xac\x88\x5f\x3c\x62\x49\x73\x6b\xbb\xec\x99\x60\x60\x45\x6f\x39\xc4\x23\x2f\x48\x33\xcf\xac\xe0\x81\xc3\x3f\x40\x2d\x6c\xa5\xf0\x8b\x45\xd6\x2a\xc3\xf3\x2f\x63\xa3\x86\x66\xab\xa4\x5e\x51\xde\xbd\x26\x79\x57\xd1\x8c\xb5\xf9\x80\x1f\x41\xe4\xd6\x12\x22\x9b\xf9\x44\xca\xf0\x86\x28\xc7\x90\x6e\x11\x89\xc5\x46\x05\xc5\x36\xec\x62\x83\x82\x62\x9b\x58\xcc\xe4\x4c\x89\x8b\x35\xb8\xcc\x93\x17\xa4\x44\xaa\xfc\xd7\x91\xfe\x75\xc0\x7f\xad\x94\x14\x9b\xe0\x05\x3d\x49\xa2\x78\x95\xe8\x12\xfd\xa4\x9e\xcf\x3a\xc9\x5c\x68\xd0\x8c\x09\xcc\xf8\x5e\x3f\xf1\xe2\x98\xfb\xde\x8f\xdc\x30\x38\x21\x1f\xdd\x7f\x22\x1b\x75\x3b\xea\x5c\x3c\xc5\xd7\xcd\x78\xea\x1c\x62\xf3\x9e\xef\x1b\xd9\x3a\xb0\x2c\x65\x44\x6a\x51\xbd\x66\xb6\x1e\x5c\x95\x96\x56\xdc\xc8\x56\x14\xf7\xa9\x65\x35\x37\xb3\x35\xd5\x4d\x6b\x69\xe5\xad\x9c\x71\xc2\x6d\x73\x59\xc5\x97\x15\xf2\x0f\x44\x96\x57\x77\x4f\x9b\x78\xfc\x78\x69\x3b\x3b\x46\x3b\x78\x99\xcb\x69\x09\xbf\x58\xda\xd6\x6e\x76\x30\x71\x12\x79\xb7\x4c\x1a\x07\x96\xce\x5e\xce\xf4\x89\x69\x17\xd1\xc0\xf9\x53\x6b\x7d\x99\xd3\xec\xa2\xc9\x5d\x56\x77\xc9\xf4\x2e\xab\xbe\x60\x82\x97\x55\x7d\x99\x43\xb5\x9a\xd5\x65\x95\x77\x72\x2b\xab\x89\x5c\x56\x7d\x85\xa9\xb4\x9b\x78\x96\xc6\x3d\xc0\x2d\x61\xab\x6e\x05\x7f\x09\xb4\x38\x7e\x34\xae\x67\x94\x04\xc8\xb3\x66\xa2\x62\x85\x43\xd2\xd8\xb6\xa3\x16\x75\x53\xb2\x02\x3f\x5e\x9b\x5b\xa9\x62\x90\x93\x46\xe4\xf5\xf3\xee\x44\x96\xfc\xe1\x5c\x14\xf2\x02\x32\x9c\x41\x98\x82\x6c\xec\xdb\x8c\xfa\xde\xd0\x63\x2e\xa8\x29\x51\x95\x8c\xaa\x64\x50\x81\xd0\xa4\x5a\x6a\x43\xfb\x89\x6c\xe4\xf0\x56\x6b\x4b\x7d\x0c\x0e\x87\x28\x3b\xb2\x46\x36\xea\x2a\x4c\x2c\x67\xd3\xb1\x5a\x5a\x5f\x27\x47\x5e\x14\x27\xc4\x19\x33\xe7\x16\xdd\x0b\xb4\x46\x07\x09\xd7\x04\xec\xbd\xf8\xe1\xfb\x73\x22\x0f\x5b\xb2\x9f\x3e\x7b\xf5\x6a\x01\x1c\x0a\x55\xf0\x07\x4c\x4c\x69\x27\x0c\x2d\x1e\x06\x7c\xd1\xef\xb5\xbf\xf4\x8e\x0f\xf6\x16\xd4\x10\xab\x1b\xfa\x30\x12\x53\x13\x7e\xbe\xef\x93\x2d\x23\xef\x67\x3a\x25\x23\x3e\x2d\xa8\x41\xab\xd9\x34\x0a\xc0\x8b\x39\x0e\x11\xb5\x1f\x93\x12\x08\x9c\xe3\xfc\x84\x61\x59\xde\xa6\x66\x8c\x8e\x41\x4d\xd3\xfe\x08\xea\xff\x2c\xc7\xba\x20\xda\x11\x7f\x52\x31\x8f\x4b\x18\xe8\x98\x19\x4f\x8b\x45\x21\x67\xc5\x2d\x9c\x8d\xc3\xce\x51\xeb\xfa\xf4\xaa\x48\xba\x7e\x22\x9b\x39\x62\xaa\xd7\x5c\x4a\x4c\x37\x17\x89\xe9\xe6\xbf\x9b\x98\xe6\x0d\x63\xb1\x98\x1a\x9b\xcd\xff\x17\xd3\x5c\x06\x3a\x85\x89\x79\x57\x11\xa2\xac\x58\xca\xa6\xf2\xce\x85\x9f\xf7\xc9\x6e\x9d\xfc\xed\x6f\x20\x7c\x3f\xed\x93\x5d\xe3\xa8\x5b\xb2\x9f\xee\xd6\xc9\x0b\xb2\xb3\x57\xd4\x6c\xa3\x6e\xb6\xdb\xa8\x67\x1a\x2e\x5c\x01\xbc\x26\xb4\x2c\x39\x00\xa4\x8b\xa3\x8f\x25\x87\x68\xe1\x8b\xb3\x29\x2d\x8e\x14\xa9\x28\xd1\x95\x7c\x7f\xf7\x4c\xbd\x03\x45\x89\xa8\x97\x8d\xaa\x05\xcb\xe1\x5a\x2c\x9e\xe3\x88\x84\x4b\x41\x47\xb3\x47\x3a\x5b\x2d\x81\xec\x10\x9e\x12\x5c\xc7\x9f\xc5\x32\xa7\x78\xf9\xb0\xdf\x2b\x78\x12\xdc\x22\x6b\x76\xe1\x1a\xe9\xb1\x18\x6c\xa0\x17\x27\x15\x7e\xe7\x6e\xf7\xbb\xa4\x4e\xe0\x7e\xbe\x4d\xd6\x64\x93\xd9\x67\xf8\xcb\x5e\x85\x7c\x8a\xc2\xfb\x3d\x07\xdc\x7d\x3e\xab\x86\x44\x1b\x11\xd9\x23\x0e\xe9\xe5\x8c\x29\x78\xb4\x97\xa3\x7c\xd4\xde\x5a\xdd\xc1\xa4\x1e\x94\x56\x7c\x29\xdf\x2e\x99\x17\xa7\x28\xbc\xcf\xbb\xe4\x69\x6f\x87\x0a\xbf\xdd\x5a\x11\xfa\xc5\xe5\x65\xc2\x14\x5d\x65\xb9\x5f\x07\xdc\x4a\xc3\x7b\x33\x72\x9d\xff\xde\xcb\xf1\x95\x39\x14\x3e\x91\x13\x01\x58\x6f\x62\xc6\x0f\x18\x61\x01\xe4\xdd\x24\x77\x1e\x25\x4a\x98\x1e\x29\x7e\xc1\x9f\x2b\x7e\xdb\xe4\x31\x22\x25\x2d\xe2\xbf\x18\xc2\x44\x1a\x5b\xba\x89\x4b\x7c\xc5\x06\x83\xd1\x2c\xd6\xc5\x1b\x5c\x82\x49\x39\x62\xd4\x9d\x57\x48\x18\x3d\x93\x60\xb3\xf2\xeb\x06\xff\x9a\x8f\x1e\x8b\x80\x45\xad\x69\x34\x7c\x7d\x78\x92\x69\xb4\x89\x8d\x22\x16\x0f\x73\x79\xbb\xea\x1b\x68\x4f\x7c\x8e\x8d\x19\x6b\xe7\x44\xae\xff\x6c\x8b\x2f\xc9\x1e\x69\x90\x3d\x52\x87\xff\x02\x52\x3e\x0f\xa3\x64\x4c\x5a\x13\x16\x79\x0e\x0d\x0c\x98\x5c\xc8\xab\x40\xe3\x04\xb2\x33\xa9\x88\xd5\x18\x2d\x82\x24\x09\xc9\xcd\xd5\x26\xdf\x44\xc9\x6c\x8a\x09\x6d\x5d\x16\x84\x09\xd3\x9b\x0f\x8c\x54\x35\x07\xa0\x8b\x27\xf5\x06\xf8\x37\x31\x87\x6b\xdb\xc2\xb0\xb8\xb5\xa1\x29\x3f\x0d\x1d\x48\x60\x90\x26\x7c\x8b\x6c\x90\x40\x7d\x4b\xef\xa8\xe7\x53\x7c\x4f\x1c\x0a\xe7\x5b\xe6\xae\x79\x41\x55\x75\xa7\x58\xb5\x05\xc3\x3c\x0f\x65\xe5\x2a\xa6\xd0\xcc\x15\xbe\x5f\x9e\xbe\x51\xfc\xbf\xb5\xa6\x97\x6e\x51\x8d\x47\x6c\x7c\x9f\x7e\x69\x34\x56\xde\xfb\x9a\x8f\x6a\xb8\xf9\x88\x86\xb7\x1f\x45\x71\x73\xaf\xb1\x57\xdf\x5b\x7d\xcf\xde\xda\x78\x4c\xf3\x5b\xaa\x61\x2b\x9f\xa3\x70\x17\x84\x88\x6f\x05\x22\x06\xaf\x82\x8e\xe7\x02\x84\x3b\x3c\xde\x27\x21\x19\xf3\xbf\xc1\x6d\x26\xc4\x0d\x47\x27\xe1\x17\xfe\xe8\xb3\x98\x97\x9c\x4f\xf5\xf9\x7e\x03\x38\x12\x77\x1a\x0e\x15\x01\x71\xc4\xc2\x35\x5c\xca\xcf\xd9\x1d\x8b\x32\x5d\x18\x9e\xe3\xaf\xf9\x57\x1e\x7a\xdf\xdb\x31\x06\xa0\x51\x48\x00\x01\xb1\xdd\x1b\x6e\xe3\x2d\x00\x61\xcf\x6d\xfa\x19\x26\x6b\x0c\x42\x3b\xfa\x7d\xe4\xdd\xb1\xa0\x2a\x58\xa1\xb2\x2b\x8a\x67\xd2\xaa\x38\x5e\xbc\x18\xf1\xd8\x1f\xed\x8f\xfb\xf3\x74\x89\x43\x6e\x38\xd4\xcf\x09\xc2\xaf\x1f\x3c\xb5\xae\x7a\xb9\x8e\x37\x3f\x4c\x1f\x0f\xb5\x16\x87\xc3\xa4\x97\x03\xb7\xd6\x63\xdf\x66\x2c\x16\x00\xf1\xe8\xb3\x04\xa9\xa1\xce\x56\xcb\xae\x99\x26\xed\x3f\x0b\x86\x9a\xda\xe1\x8a\x8a\x99\xda\x64\x16\xad\x1e\xb1\x11\x4f\x9f\x46\xd9\xf3\x25\x5d\x9e\x86\xd4\x25\xa7\x9d\xc3\x18\xba\x39\x5d\xa5\x17\x42\x10\x6e\x24\x05\xb7\x4d\x63\x72\xe7\x45\xc9\x8c\xfa\xd8\x5e\x78\xc7\x22\x9f\xce\xbd\x60\x24\xdf\x57\xd4\x5c\x7b\x43\x42\x83\x39\xe4\x94\xa6\x51\x36\x07\x1f\xa7\xfb\xdb\x0a\x9c\x12\x48\x36\xc9\xdc\x17\x60\xeb\xed\x6b\xae\x8a\xdc\x5c\x6d\x35\xeb\x06\xcc\x33\x82\xcf\xa0\xd7\x0c\x42\xb8\x18\xab\xcd\xfe\x22\xe3\xa4\xd4\x04\x05\x1a\xbc\x6f\xcc\x9a\x1b\x66\x4d\x65\x68\x94\x1e\x08\xba\x8e\xf5\x55\x7a\x88\xe4\xdb\x4a\x70\x31\x8b\x03\xf9\x74\x00\x9f\x19\xce\x57\x14\x97\xf9\x14\x8c\x93\xc2\x36\x80\x01\x65\xed\xc4\xb8\x7a\x74\xdf\x5f\x40\x46\xae\xb3\x6c\x36\x6a\xf4\xcf\xc2\x95\x79\x32\x4b\x36\xff\xb9\xa4\x64\xd8\x92\x87\x1e\x24\x41\xd9\xcd\x05\x85\xb0\x41\x34\x1a\xe5\x39\x05\x83\x79\xd8\x48\x07\x8f\xd9\xdf\xb8\x56\xaf\x5c\x05\xc5\x82\x7c\x4c\x1a\x38\xd8\xae\x56\x58\xf7\x18\xe2\xc6\x57\x5e\x8f\x8d\xe0\x2a\x01\x87\xc6\x41\xbe\xcf\x69\xf4\x54\x4c\x26\x89\x14\x87\x81\xbf\x57\xe1\x54\x62\xb2\xd5\x3f\x93\x5f\x52\x90\x6e\xf5\xcf\x55\xd2\xa8\x57\xc8\x5a\x83\xbc\x52\x8f\x9e\xba\xf2\x01\x9a\xcb\x45\xfd\x46\xb6\x7e\x43\xd6\x27\x66\x03\x99\x99\xbd\xb9\xc2\xb1\xe3\xb8\xcb\x8a\xb2\xaa\xd5\xcf\x22\x4c\x04\x85\x03\x50\xc7\xb7\xc1\x1c\x44\xde\x8c\x4b\x2c\x62\xbc\x3f\x6e\x1e\x7f\x89\x96\x64\x93\x46\xd4\x44\xc3\x5f\xd5\x0b\x48\x8f\x39\x09\x0d\x46\x33\x9f\x46\x22\x8f\xe0\x61\xa7\xdd\x6e\xf5\x5a\x95\x47\xf5\xfd\x9f\x4b\xfa\x06\x68\x63\x21\xeb\x65\xae\x00\xd4\xfa\x1f\xfa\x95\x9c\x86\xe2\xa7\x82\x1b\x43\x0f\x7f\x0e\x1f\xe3\xc5\x63\x41\xa4\x4a\x32\xa1\x81\x37\x55\xf1\x6e\xf0\xe2\xe2\x26\xbc\x4e\x55\xe2\x70\xf0\x7f\xd9\x43\xc2\x82\xd8\x0b\x83\xf8\x91\xab\x32\x59\xe6\xf9\x8d\xef\x5d\x2b\xcc\x66\x8f\xcf\xe6\xe3\x3a\xff\xcf\x25\xbd\xf7\x57\x8f\x60\x7d\xa4\x35\x64\x85\x8e\xf9\x06\xea\x05\xa3\xb5\x01\x67\xf1\x1d\xbf\x2b\xca\xbc\x2f\x07\x37\x69\x4d\x64\xb5\x5e\xc9\x52\x66\xe3\x32\xcd\x08\x70\x5e\x63\xb3\x3f\x80\x9d\xcd\x87\x37\xa1\xd1\xc8\x0b\xb2\xa3\x3b\x7b\xf2\xe8\x66\x4b\xf6\x85\x70\x3a\x2f\xd8\x07\x7a\xad\xaa\xb0\x7a\x20\x64\xf7\x63\xc5\xe8\x6e\x59\x26\x53\x30\xae\x1d\x79\x3e\x3f\xd2\x04\x09\x42\xb1\xec\x1c\xf5\x1e\xd9\xdb\xaf\xa5\xfb\x65\xd3\x88\x17\x10\x95\x0c\xf4\x52\x1b\x79\x60\xa1\x74\xde\x5e\x5d\xb6\x7a\x4f\xbc\x8f\x3c\x2c\x93\x5c\x38\xc1\xd5\x7a\x95\xdb\x71\x87\x6f\x10\xe2\x12\xd6\x6a\x77\x1e\x39\xe6\x1f\x97\xf4\x7a\xe4\x01\x9a\x76\xce\xdc\x1e\xf5\x5a\x95\xaa\x8d\x66\xff\xb8\xb9\x5d\xd2\xf3\x5d\xf2\x25\xf1\x7c\x06\x90\x68\x65\xaa\x6d\x00\xe7\xad\x8b\x31\x75\x6e\xa1\xcf\xeb\xe0\x9c\x25\xaf\xa9\x73\x0b\x3e\x73\xe5\x98\x31\x22\x7c\x70\x03\x96\xf0\x52\xf7\xde\xad\x57\x73\xc2\x09\xba\xe0\xde\x18\x4d\x0e\xe5\xd6\xe3\x05\xc3\x50\x81\x26\xdb\x57\xa3\x21\x8d\x70\x2b\x86\x2b\x0f\x29\x03\xee\x02\xa1\x64\xe4\xcf\xa7\x63\x20\x00\xc3\x10\xe1\xef\xdc\xb5\xfc\xfd\xe9\x68\x01\x12\x2c\x40\x3b\x1c\x2d\xbe\x5b\xa4\xaf\x16\x46\x6c\x59\xdf\xa2\xbb\x2c\x92\x46\xa2\xe4\xa2\xfb\x22\x7e\x83\x88\x9a\x95\xda\x72\xc7\xb2\x66\x3a\x31\x7f\xee\x3b\x4c\x06\xd4\x97\x73\xff\x10\x31\xee\xd2\x43\x68\x7c\x5e\x0a\x57\xb3\xbe\x0e\xa9\x8b\xc5\x38\xf2\xa2\xe3\x96\xf4\x29\x75\x34\x1b\xe2\x05\xf7\x10\x69\x29\x45\xb3\x2a\xa6\xc3\xee\xb4\x3b\xa7\xbd\xa7\x2d\xe6\x5f\xc5\xd4\x2f\x09\xc1\xcf\x5d\x59\x1d\xb9\xb2\xea\x4f\x5c\x59\x4b\xba\x16\x3b\x89\x1c\x71\xe7\x0e\x5c\x3b\x61\x03\x39\xed\x3c\x75\xb8\xff\x58\x6d\xeb\x94\x9d\xea\x27\x05\x30\xe1\x9c\x5e\x3e\xb5\xdf\xdf\x16\xf7\x2b\x70\x67\xd0\x22\x8c\x83\xec\xb6\xff\xd0\xbe\x45\x7e\x5f\xf6\xde\x02\x38\x2f\x97\x24\xb6\x7a\x3d\xfc\x83\xbd\xfe\x4f\x7e\xaf\x7c\x75\x5f\x5c\xf7\xda\x1d\x72\xd4\x3d\xed\xbc\xc2\x02\xeb\x5f\xe3\x75\xf8\xe5\xcb\x5d\xf2\x45\x5d\xf9\xbe\x4c\xe8\xb4\xf6\x35\xe6\x55\xf8\x89\x8d\xde\xb7\x65\xa7\x42\x9a\xf5\x46\x13\x1e\x2f\xda\xe3\x28\x9c\x78\xb3\x09\xb9\xe8\x93\xd6\x2c\x19\x87\x51\x5c\x83\x8c\x46\x50\x36\x06\x73\x5f\x74\xc7\x67\x62\x7d\x9d\x5c\xc7\x0c\xb5\x35\x2f\x26\x22\x6d\x83\x23\x4c\x9d\xa3\xf0\x8e\x45\x01\x6e\xd7\x94\x1c\xf4\x0f\xd7\xd0\xde\xe3\x7b\x0e\x0b\x62\xe1\x98\xec\xd0\x80\x0c\x18\x6f\x69\x08\xce\x03\x02\xb3\xf8\xb4\xdb\xee\x9c\xf7\x3b\x64\xe8\xf9\xac\xf6\xec\x59\x69\x16\x63\x56\x5b\x27\x29\xed\x3d\x7b\xe6\x7b\x83\x5a\x94\xb8\x6c\x5a\x2e\x01\x78\x03\xc0\x91\x67\x22\xea\x26\x74\x4a\xc2\xc1\x57\xe6\xa8\xc4\x14\x7f\x87\xfd\x8e\xfc\x03\x3f\xfd\x1d\x46\x7b\x7c\xca\x0b\x4e\xf9\x52\x07\xe5\xdb\x0b\xa6\xb3\xc4\xc4\xc0\x4c\x42\x12\xce\x12\xfb\x43\xf5\xda\x03\x2d\xf4\x54\x0b\x12\x62\x95\xce\x92\x70\x42\x21\x6a\xda\x9f\x13\x27\x62\x34\x47\x72\x8d\x2c\x37\xe6\xe9\x10\xd0\x09\xab\x92\x91\x3f\xa1\x53\x01\xa1\xca\x07\x46\xf8\x8a\x1d\x87\x51\x82\x08\xfb\x68\xa6\xf6\x62\x3b\x91\x4d\x95\x1f\x8f\xc3\x99\x0f\x5f\xbb\x6c\x30\x1b\x8d\x04\x28\x3c\xef\x59\x6c\x93\x50\x7f\x1f\x9a\x01\x53\x94\x6a\x9e\x8f\x45\xb9\x19\x27\x21\x71\x20\x0c\x39\x94\x7e\xd8\x5e\x0c\x1c\xf5\xf8\x0d\x21\x4e\xa8\xef\x33\x98\x2d\x48\xea\x60\xb6\x0f\x59\x1b\x94\x8b\xf3\x1f\x6d\xbd\x97\x6e\xbd\x67\xb6\xce\x4f\x08\xe4\x94\x3e\x06\xd0\xa0\x8c\x9f\x5a\x5a\xf1\xbf\xed\xec\xd7\xa6\x51\x98\x84\xc9\x7c\x2a\xd2\x0a\x99\xd2\x60\xca\xc1\xba\x42\x02\x4f\x2c\xd2\x6b\x92\x39\x50\x98\xec\xa3\xf0\x28\x38\xd9\x91\x7f\xcb\xe6\x31\xd9\x27\x17\xb8\x18\xf8\x5f\x65\x5d\xbe\x52\x9b\xd0\x69\x59\x75\x78\xcb\x8c\x3c\xce\xd2\x09\xfb\xd7\x5f\x1f\x4a\xe4\x85\x40\x4a\xf9\x3e\xa5\x2e\x2f\x56\xe3\x1c\x69\x87\x2e\x6b\x25\xe5\x7a\xa5\x96\x84\xe2\x2d\xa7\xb1\xad\xd2\x2b\xa3\x0b\xb3\xe8\x2b\x02\xb1\x63\xf7\xa4\xc7\x46\x9d\x87\x69\xb9\x04\xaf\x6d\x48\x9d\xc0\x40\x47\x08\xf4\xcf\xa5\x2a\x29\x8d\x44\x8e\x01\xd8\xa7\x26\xd3\x59\x22\x46\xdd\x33\x47\x0d\x48\x72\xf8\x38\x24\xd1\x79\x31\xd1\x88\xc4\xbe\xe4\x42\x06\xa3\x87\x70\xb0\x64\xcc\xbc\x88\x9c\xf5\x0f\x44\x52\x19\x41\x59\x84\x5c\xfb\x07\x66\x82\x16\x04\x0d\xc3\xa8\x43\x9d\x71\xd9\x98\x09\x8b\x35\xc0\xd9\xe8\x96\xcd\xc9\xbe\x48\x24\x5f\xe3\x12\xd4\x16\x3c\xc1\xe2\x36\x8b\xc8\xdf\x48\xfd\x61\xa7\x5e\xb1\x52\x60\x43\xef\x9f\xa0\xa5\xcf\xf2\x2d\x13\xe6\xe5\x13\xb4\x20\xf2\x5e\xfd\x5e\x1b\x78\x01\x02\xf9\x56\x74\xee\x05\xa8\x95\x3f\xb3\xd1\x5f\x34\xb3\x55\x91\xcd\x21\x35\xb9\x51\xc1\xe4\x46\x8b\x27\x57\x6f\x18\x8a\xca\x38\x51\xc9\x18\x04\x8d\x71\x12\xd5\x22\x36\xf5\xa9\xc3\xca\x4a\x94\x0a\x31\x2f\x55\x43\xce\xb8\x42\xfe\x21\xdb\x30\xd8\xea\x8c\x3f\xa7\xd9\x69\xf3\xd7\xa0\xac\xf7\x58\xca\xa2\x27\x52\x16\xad\x48\x99\x09\x36\x60\xee\x5b\x02\xb9\xdb\x15\x00\x5c\x00\x84\xa8\x36\xac\x2a\xde\x9a\x5c\x36\x65\x01\x80\xf6\xc8\xd0\x6f\xf0\x26\x80\x27\xd0\xab\x6c\x5e\xd4\xa2\xcd\x6a\x42\xa7\xb1\x5c\x2d\x82\x14\x84\xd1\x39\x4e\x43\x01\xf1\x95\x0a\x7b\xa5\xb8\x8d\xdd\x25\x8d\x7a\xbd\x16\xb0\x64\xdd\x0d\x9d\x78\xfd\x2e\x69\x36\xeb\x6b\xd1\x64\x3d\xe1\xaa\x77\x73\x6d\xb3\x36\x4e\x26\xfe\x92\x9e\x65\x46\x18\x2e\x6a\xb9\xa5\xca\xc0\xfe\x92\xc0\x25\x2a\x55\x95\xc4\x97\x7e\x7d\xd8\xae\x97\x5e\x95\x7e\x9d\x35\xb7\x9c\xed\x52\x15\x76\x8f\xff\x26\x6b\x3f\x13\xd7\xa3\x93\x30\x70\x8d\x72\x0d\x51\x6e\xb7\x29\xca\x51\x5e\x6e\x14\xb1\xf9\xda\x20\x7c\x30\x0a\x36\xb1\xe0\x66\x7d\x57\x14\x1c\xf0\x82\xe3\xf5\xc4\x28\xb3\x21\xcb\x38\xa2\x8c\xc3\xcb\x0c\xd7\x87\x46\x99\x4d\x59\xc6\x15\x65\x5c\x5e\xc6\x59\x8f\x8c\x32\x5b\xb2\x0c\x15\x65\x18\x2f\xe3\x5b\xed\x6c\x43\x99\x7a\x7d\x50\x17\x65\x86\x30\x40\x36\x8a\x18\x33\x8a\xbd\x94\xc5\x1a\xa2\xd8\x88\x17\x7b\xb1\xbe\x66\x94\xd9\x11\xdd\x35\x37\x45\x99\x31\x2f\x13\xac\xfb\x46\x99\x5d\x49\xd2\x40\x94\xf1\x78\x99\x3b\x6b\xf8\x54\xf0\xb2\xb1\x23\xca\x7c\xe5\x65\xd0\x0d\x7d\x0d\x54\x4a\xa3\xf0\x40\x16\x96\xf4\xdf\xf2\xc2\x49\x38\xcd\x94\x74\x44\x49\xc5\x55\x5f\x96\xf4\xd9\xd0\x2c\xe8\xca\x26\xe5\x38\x26\x46\xff\xa9\xb2\x4c\x94\xdd\x90\x8d\x06\xc0\x62\x2f\x60\x6b\x10\x5a\x6f\x14\x1d\x62\xd1\x8d\x81\x9c\x8d\x90\x17\x8d\x1d\x1a\x34\x74\xa9\x97\x75\x59\x4a\x32\x68\x2a\x4b\x6d\x18\xa5\xa4\xb8\xd5\xe5\xa8\xbf\xc9\x52\x5b\x46\xa9\xa6\x6c\x4b\x12\x17\xc9\x52\x2f\x8d\x52\x1b\xb2\x94\x94\xa4\x58\x96\xda\x35\x4a\x6d\x4a\xa6\xc8\xb6\x12\x18\x28\x1b\x26\x6b\x89\x29\x29\x2f\x85\xd0\x6d\x29\x29\x98\xf1\x82\x30\x19\xa9\x92\xdb\x92\x77\xb2\xe4\x9d\xc1\x67\xbb\xe8\x4b\xd9\xa8\xec\xfd\x5e\xce\x9d\x5d\x6e\x47\xf2\x45\x2e\xc3\x07\x10\x2f\x81\x47\xb4\x86\x29\x47\x54\x69\x21\x8c\xcd\x6d\x49\xc0\x1c\xc7\x14\xc7\x6b\xec\xdb\x8c\x1a\x72\xfb\x92\xca\xa2\x5b\xa2\xe8\x77\xb1\xbe\x69\xc2\xa2\x4c\x69\x14\xca\xfa\x86\x23\xa7\xe7\x1f\xbc\xf4\xd4\x33\x8a\x38\xb2\x41\x59\xe4\x37\x58\x2c\x61\x92\x69\xcc\x15\x4b\x8f\x6e\x88\x92\xbf\x03\x9b\x22\x2f\xf1\xe2\xf1\xda\x94\x5f\x82\x8c\xd2\x4c\x2e\xd4\x97\xa2\xf4\xff\xc0\x7a\x0e\x13\x7d\x04\xcb\x54\x93\xd8\xc2\x93\x77\xdf\xad\xd5\x76\xdf\xd6\x4a\xbb\xaf\x18\x8e\xbd\xfb\x36\x37\x4a\xaf\x88\x3d\xf6\xff\xc8\x1f\xbb\x39\xae\xeb\x3e\x81\x4c\xc1\x7c\x38\x55\x12\x84\x12\xc5\x64\xd9\x11\x25\x61\xfa\x97\x91\x3a\x8b\x4b\x55\x74\x18\x37\x2e\xef\xb3\xc4\x79\x3a\x27\xb7\x57\xe3\xe4\xe6\x4a\xe4\xb9\x9c\x94\xa7\xf0\x51\x97\xdf\xac\xcb\xf2\x03\x26\xca\xff\x9d\x97\xdf\x58\xdf\x34\x4a\x6d\x0d\x44\xa9\xc6\x86\x5c\x6d\x9f\x78\xa9\x92\xf7\xb5\x44\x7c\x6f\x04\x2f\x33\xa4\x8c\x0e\x47\xa3\x90\xc5\x08\x9b\xc7\x9b\x1d\x0e\x7f\xa9\x18\x0d\x39\xaa\x3b\xb9\x05\xfd\xca\x1b\x6a\xac\x37\x8d\x42\xae\x2c\xf4\x52\xee\x01\x9f\xcd\xb5\x4d\x06\x34\x7a\x66\x2f\x41\x31\xe4\x1d\x73\x0d\x26\xf7\x21\x5f\x0c\xb1\xbd\x12\xb1\xe4\xf6\xb6\xb9\x14\x87\xf6\x12\x14\x04\x3a\xe6\x1a\x6c\xac\x6f\xda\x2b\x4f\x14\xda\x34\x97\x1e\x75\x66\x22\x48\xca\x14\x52\x91\xa5\xfa\xc9\x22\xf3\x72\x35\x91\x69\xa7\xb0\x9d\xb2\x25\xb6\x56\x12\xaa\x21\x92\x6b\x8b\x95\x12\x80\xba\xb3\x69\x09\x40\xab\x44\x66\x13\x9f\xce\x92\xbc\x39\x76\xb7\xcd\x39\x2e\x5d\xe4\x94\x55\xec\x76\xb6\xcc\xa9\xe6\xed\x46\xe0\x62\xa4\x4a\x2a\x9e\xbb\x8e\xc9\xf3\xd2\x4c\xb5\x6a\xeb\x72\x58\x98\xed\x9a\xca\x5c\x89\x95\xc4\x24\xe5\x89\x0f\xdb\x34\xc5\xa7\x44\xb3\xe4\x6a\x01\x1a\x5a\x02\x54\x0a\x73\xca\xaa\xa1\xb1\x2d\x53\x92\x78\xbb\xf6\xd0\xb4\x38\x0d\x8b\x86\x96\x91\x29\x4c\x6b\xfe\x54\x91\xda\x59\x4d\xa4\x7a\xab\x09\x0c\xd0\xf2\x67\x6d\x43\xac\x6e\x6e\x43\x9c\x59\xa3\x88\xde\xb1\xbc\xcd\x48\x2b\xb2\x9f\x50\xef\xb0\xe4\x45\x4d\x15\x7b\x69\x49\xa1\x53\x22\x0e\x73\x3d\xdf\xa7\x79\x62\x48\x5f\x9a\x62\x18\x0b\xf7\x97\x78\x3e\x19\x84\x3e\x29\xbb\xe1\x6c\xe0\x33\x12\x57\xf2\xe5\x67\xd7\x92\x1f\x25\x6b\x79\xe2\xb3\x6b\x89\xcf\x4c\x8e\x32\x4f\x7a\x76\x2c\xe9\x61\xd9\xa2\x2c\xb3\xff\x81\xf8\x2c\x16\x1d\x99\x11\xff\xc9\x32\xb4\xbb\x9a\x0c\xbd\x7d\x84\x0c\x11\x47\x10\x65\x0b\xd3\xd3\x84\x83\xd9\x27\x15\x2d\x11\xc7\x8b\x9c\xd9\x64\xe8\xb3\x87\x3f\x2c\x26\x8c\x5a\xbb\x15\x2b\x68\x5c\xcd\x0c\x93\x87\xeb\x7f\xe1\xb1\x69\x95\xcf\xdb\xb7\x86\x9b\xd6\xbe\x15\x16\x54\xf8\x37\x12\xbe\xe1\x20\xbd\x77\xa5\x58\x62\x0a\xe1\x31\x8b\x26\x7f\x40\xf6\x1a\xf5\xd5\x84\xef\x64\x35\x73\x00\x10\x53\x24\x73\x6a\x47\xf8\xfb\xaa\x3b\xc2\x5f\x7f\x58\xba\x96\x5e\x54\xba\xce\x39\x02\xff\xfa\x63\x6d\x68\x29\x48\xa9\xc3\x2a\x25\x1c\xee\xd0\x14\x0e\x16\x7f\x67\x49\x76\x67\x02\x64\xc0\x3f\x22\x15\x8d\xd5\xa4\xe2\xc3\x4a\x52\xe1\x21\x35\x7f\xd6\xb9\xf6\x47\xc4\xe8\x2f\x38\xe7\xd4\x76\xf1\xb9\x48\x2f\x32\xf6\x22\x5b\x87\x9a\x65\x77\x5d\x43\xd8\xea\x69\x61\x4b\x6f\x18\x5a\xd6\x9a\x69\x59\xfb\x33\xb6\x21\x66\xab\x50\x9e\x59\xd4\x14\xb6\xf3\x30\xba\x67\x23\x8f\x06\xeb\x87\xf4\x0f\xa9\xe7\x8d\xe6\x6a\x52\xd7\x59\xaa\x9f\x6f\xaf\x24\x97\x81\x22\xdc\xa5\x59\x45\x5d\x0b\x9c\xda\x7b\xfe\x9e\xda\x7b\x72\x37\xaa\x6d\x7b\xa3\xea\xe8\x6b\x5d\xee\x5e\xb5\x93\xde\xab\xe2\x24\x0a\x6f\xd9\x9f\xa4\xd8\xff\x57\xe1\xae\x66\x28\xf6\xf6\x01\x49\x17\x6f\x81\xdb\xb6\x54\xb2\xbc\xe1\x19\x92\xb9\x93\x96\xcc\xf4\xf0\xfe\x52\xe5\xbe\x3f\xfd\x83\x12\xb9\xb1\x9a\x44\x7e\x5c\x49\xde\xe2\x69\x8e\x98\xfd\x6b\xf6\x41\xda\xb0\xa4\xf4\x87\x12\x82\xa2\x26\xcc\xcd\x15\xd2\x86\x25\xa4\xe7\x25\x92\x78\xbe\x9b\x2b\xa3\x83\xa1\x25\xa3\xbf\x18\x0d\xe7\x89\xd3\xc0\xda\xe4\x52\xf3\xad\xa5\xa8\x61\x49\x51\x90\xe9\xdf\x10\xa2\x97\x96\x10\xa5\xb6\x6e\x4b\x36\xee\x99\xfb\x87\x64\x63\xc5\x87\x94\x97\x4b\x77\xab\xd7\xab\x49\x0f\xd2\x5b\xb8\x49\xed\x5a\x9b\x54\x27\x7b\x0c\xfd\x5b\x5a\x1e\x56\xda\xa0\xfe\x77\x5a\x1e\xfa\xf7\x5e\x1c\x3f\x5d\xfc\x56\xb4\x24\xef\xaf\x28\x5c\x5e\x1c\x17\x6d\x4c\x4a\x6b\xf9\x8f\x22\xad\xe5\x89\xf7\xca\x5d\x4b\x0c\xb3\x17\xad\x7f\x87\x2b\xa5\x2e\x3f\xcc\xe8\x50\x5f\x6c\x1d\xea\xcf\xb9\x7d\xfe\x1b\xdc\x31\x56\xba\x80\x82\x77\x18\x43\x67\xb4\x1a\x75\xdd\x72\x09\xdd\xe1\xe8\xcc\xf5\xc2\xf5\x01\xf3\xfd\x52\x95\x94\xf0\xaf\x70\x34\xda\x1b\xd0\x98\x6d\x6f\x96\xaa\xcf\x4a\x57\x4d\x37\xb8\xbe\x6f\xb5\x5b\xea\xe7\x70\xfc\xed\xdd\xd6\x09\xfc\x7a\x76\x74\xd7\xf9\xfa\xe1\xe0\xf5\xe8\xa8\x39\xd8\x78\xe3\xd1\xf7\x67\x58\xe4\x43\xfb\xa5\x2a\xfe\xda\x39\xc0\x5f\xda\x9b\x25\xf2\xe2\x59\xa9\x75\xbd\x1b\x7c\x6c\x9c\xb5\xcc\x9f\x4d\xea\xcf\xfa\xa3\x0e\xfc\xce\xe2\xee\x46\xa7\xbd\xb1\x9e\xf9\xd9\xb9\x3d\x74\x27\xbb\xf3\x0f\x13\xff\xfb\xeb\xb7\xad\x56\xeb\x68\x3c\x85\x06\x9d\xe3\xd1\xec\x6a\xe3\x4d\xd0\x3d\x7e\x98\x7e\xf0\x3f\xde\x39\x93\x37\x53\x67\x7e\xf0\xa6\x7b\xd8\xbd\x3f\x3b\xbc\xbd\x3f\xff\xde\xda\xc2\x6e\x3a\x47\xb2\x81\x93\xeb\x37\x87\x37\xa3\x0e\x0e\xeb\xf0\xe8\xac\x7b\xf6\xae\x55\x7f\x73\x70\x83\x14\xb6\x5a\x6f\x5b\xad\x83\xd1\x9b\xf6\xed\xc5\x6d\xf3\xe3\x9b\x13\xfa\xee\x3a\xec\x8f\xb7\x26\x6f\x7a\xdd\x7e\x7f\xe2\xfb\x67\xd7\xf7\xde\x47\xef\xda\x73\xae\x3f\x7c\xd8\xbc\x7f\x78\x18\x8f\xbf\x7e\x3d\x7c\x7d\x7c\x7c\x7c\x71\xd6\x3d\xec\xdd\x1e\xf1\xda\xad\x76\xeb\xa4\x35\xb9\x80\x06\xc3\x17\x1f\xdf\xd0\x78\x73\xeb\xe3\xc3\x28\xf8\x1a\x9c\x8c\x2e\xde\xf9\x17\x17\x27\xce\xe8\x60\x73\xda\xdb\x3c\xbc\x7d\x73\x7f\x77\x3d\xf9\xd0\xdc\x9e\x24\x27\x1f\xa3\x41\xbc\x39\x7d\xf3\x76\x74\xfe\xee\xed\x75\xab\xd5\xea\xb6\xde\x76\x46\xe3\x71\xaf\xd7\xef\xb7\x8f\x8f\x8e\x8e\x4f\xba\xd0\x60\xf7\xc3\x87\x0f\x1f\xc2\xd1\x78\xfc\xf0\x30\x9f\xb7\x8f\x83\xe0\x75\xf7\xe4\xe4\x9b\x37\x1a\x8d\xc2\xf9\xbc\xdd\x3e\xbc\x3a\x3c\x9d\x4e\xdf\x9c\x5f\x5c\xcc\x26\x61\xb8\xb9\xb9\xbd\xed\x79\xf5\x7a\xa7\x7b\x7a\x3a\xb8\xea\xf7\x6f\xef\x1f\x1a\x37\x1f\xbf\x46\x51\xfd\xf8\xfd\xfb\x87\xef\xd0\xe0\xf7\xaf\x41\x10\xbc\xbe\xbc\xb8\x60\xcc\x71\x76\x36\xdf\xbc\xbd\x3d\x7f\xd7\x7a\xdb\x1a\x71\xa6\xbd\x1d\x7d\xf8\xf8\xf1\xe0\xa0\xdd\xe6\x14\x1c\x9d\x74\x4f\x28\xfd\xe0\xf0\x8e\xba\x87\x6f\x6f\x8f\xae\x5b\x9c\x89\x23\xe0\xef\xc1\xeb\xdb\x5e\xef\x0d\x34\x18\xf7\xae\x4e\xe3\xde\xf7\xf3\x7a\xbf\x77\xb9\xe3\x3d\xf4\x3a\xdf\xdf\xf7\xce\xea\x37\x57\x37\x9d\xc6\x0d\xff\x71\x6f\x1a\xef\xdd\xc9\xfb\xf7\x6e\xc0\xff\x6b\x7c\x9c\x74\x6f\x06\xb3\xd7\x8d\x8f\xb3\xee\xcd\xa0\xd9\xbd\x71\x77\x37\x6f\xc6\xc7\xdd\x8f\xf0\x1f\x34\xc8\x7f\x79\xf1\x7a\x63\xb8\xbb\xc1\xff\xab\x8f\xce\x8f\xdf\xde\xb4\xda\xad\x83\xd6\x49\xeb\xeb\xc5\xc7\xc1\xd7\x13\xda\xf5\x8e\xbf\x9d\x7a\x17\xb4\x7b\x38\xee\xd2\xb8\x35\x3a\xb8\xe5\xd4\xb7\xda\xad\x37\xb7\x5e\x77\x7a\xfb\xed\xfc\xcd\x74\xf2\xf1\x5b\x34\x99\x0c\xa0\xc1\x64\xe2\x45\xc9\x64\xe3\x34\xf6\xbe\x9f\xc6\xa3\x79\x67\xfc\xed\x9e\x4b\xc3\x01\x4c\x3e\xff\x39\x39\x98\x4e\xbe\x7d\xcc\xff\x6f\xf2\xf1\xa3\x3f\xb9\x51\xff\x41\x83\xe6\x07\x45\xff\xbd\x3d\xfe\xda\x3d\x19\x1d\xb4\x5a\xa3\x83\xd6\xc3\x46\xc7\x79\xd8\xe8\xdc\xf6\x6e\xba\xb7\x0f\x1b\xdd\xf8\xe0\x1e\x67\x7d\xde\x6a\xb5\xa0\x41\x3e\xba\x6b\xef\xfb\x91\xf3\xb5\xf7\xda\xf9\x7e\xf5\xda\xf9\xfe\xfd\xb5\xf3\xfd\xe1\xb5\xdb\xb9\x7a\xe3\x77\xbe\x9f\xef\x76\xee\x2f\xdb\xad\xc6\xc7\x03\x4e\xf0\xa8\xd5\x45\xb2\x0f\x5a\x67\xbd\xef\x47\x4e\xef\xfb\x1b\xce\xfb\x6b\x6f\xe3\xca\xf9\x7a\xf3\x1e\x57\xca\xf7\x8d\xf7\x4e\x7d\xe3\x3d\x67\xfe\xcd\x63\x7e\x3e\xbc\xc6\x99\xe6\xac\x69\x1f\xbb\x1f\xa7\x1f\xbf\x41\x83\xa3\xd6\xe8\xfb\xed\x71\x07\x27\x03\xfb\xff\x10\xbe\x1d\x1f\x1e\xb6\xa4\x00\xbf\x6d\xb5\xba\xde\x78\xab\xdd\xa6\xf5\x37\xd1\xf7\xef\x57\xb7\x17\x93\xd9\xbb\xd1\xb7\x5e\x7f\x50\xdf\x39\x7e\x73\xf3\x26\x0e\x66\x74\xf2\x61\xb2\x71\x89\x2b\x85\xcb\xdf\xe0\x6c\xf3\xe3\xe6\xd6\xc3\xf7\xef\x5e\x70\x32\x71\xde\x8d\x26\x6e\x9b\x3a\x3b\x5b\x6f\x0e\xdf\x7c\xf3\xc3\x37\xc1\xdb\x49\x70\x79\xc1\x7a\x27\x83\x83\xed\xe6\xb4\x3e\x9d\x7e\xff\x3e\x0e\x82\xa0\xf5\xf2\xf8\xf8\xdd\xb1\xe3\xec\x6c\x4d\xeb\xd3\xf0\xf5\x37\xd7\xff\x00\x0d\xf2\x96\xdf\xb9\x6d\xba\xf5\xcd\xdb\x3a\x7a\x93\x7c\xff\x1e\x4e\xae\x27\x73\xd6\x98\xdd\xf4\x07\xce\xce\xe6\xd6\x16\xef\x48\x08\xff\xb7\x9b\x6d\xe7\x7b\xdc\xd9\xda\xfc\xf8\xf0\xfd\x7b\x18\xd0\x49\x73\xb6\xd5\xbe\x69\x3a\xce\xce\xcb\xad\x8f\x6f\xbe\xcf\x70\xa5\xbc\x0d\xc6\xc6\x4a\xc1\x06\x46\x7e\xfb\x6d\xe3\xc3\x41\x0b\x76\xb0\xde\xb8\x79\xf0\xf5\x38\xf8\xd0\x1d\x0d\x3f\x6c\x1e\x7f\x18\xbf\x1d\x4f\xbd\xe3\xab\xd7\x41\xff\xf2\x70\x7a\x31\x3a\x73\x46\xd3\xe9\xc1\xf6\xf9\xd7\xdb\x8f\x27\xd0\xe0\xb7\x0f\xe7\x6f\xaf\xc7\xb7\xc1\xf4\x7d\xbf\xcd\xb7\x20\x98\xcb\x56\xbb\xd3\x39\x7a\xd3\xed\x7e\xb8\xbe\xbe\xbe\x55\x1b\xc0\xf1\xf1\xf1\x49\xb7\x4b\x99\xe3\x8c\xc2\x6f\xdf\x4e\xfa\x7d\xcf\x8b\x4e\x4e\x4e\x2f\xcf\xce\xe2\x38\x8e\x77\xee\xe7\xd0\xe0\x7c\xfb\xfb\xe1\xf7\xaf\x51\x14\x9f\x9d\xbd\x7d\x7b\x7f\xff\x90\x9c\xbf\x39\x39\x3d\x7c\x7f\x73\x33\xb9\x38\x4f\x18\x65\xce\xf6\xe6\x56\xff\x78\xe6\x27\xee\x47\x7a\xb2\xfd\xee\xfa\xfa\x36\x9c\x4e\xfb\xad\xfa\xc7\x03\xb1\xe3\xb4\x0f\x6e\x6f\x3b\x9d\xe3\xe3\x0f\xd7\xd7\xd0\x20\x50\x30\x1d\xcf\xe7\xde\x24\x08\xbb\xdd\x93\xb4\xcc\xed\xb4\xaf\x2e\x3b\xbd\x8d\x5e\xea\xbf\xcb\x9d\xde\x43\xaf\xe3\xdd\xf4\x3a\xde\xfb\xde\x99\xd7\xb8\x3a\xfb\xde\xc0\x0d\xf6\xe6\xe8\xe6\xbd\x3b\x69\x7c\xf4\x37\xde\x0f\x92\xcd\x1b\xb7\xf9\xfa\xfd\xb0\xb1\xb1\x31\x6c\x6c\x36\x86\x47\x9b\x1f\xfd\x77\x1f\xb3\xff\xb5\xc5\x8e\x0d\x3d\x76\xba\xdd\xee\x87\xb7\xc0\x1a\x68\x70\xfc\xb1\xe7\x7d\x3d\x7c\xfd\x3a\xe8\x9e\x5f\xbc\x1d\x4d\x0e\x14\x1f\xc5\x9a\xe8\x6d\x74\xae\x1f\xb6\x3a\xce\xfc\x63\xe7\xb6\xff\xb2\x7b\x7b\xe5\x76\xe3\xef\xc3\x6e\xfd\x6a\xfd\xac\x5e\xef\x9d\xff\x5f\x4a\xde\xab\xe5\x79\xb6\x39\x17\xde\xcf\xaf\x78\xf6\x5e\x3e\x9c\x7c\x56\xb7\x1d\x58\x1b\xa7\x7a\xef\x7d\x4f\xc5\x56\xef\x5d\xbf\x7e\x61\xeb\x7e\x42\x42\x02\xeb\xcd\x05\x86\x0b\x79\x38\xe6\x2c\xd3\x8e\x19\x61\xd6\xb1\x4d\xd5\xd9\xdd\x14\x32\x5d\xf8\x07\x08\xed\x61\xed\x9c\x61\x0a\x9d\x6e\x0d\xc1\x6e\x0d\xfb\x61\x8d\xc4\x61\xed\x3d\xd2\x97\x17\x87\x2f\xf4\x9e\xfe\xd7\xcf\x2b\x85\xff\x84\xfe\x0c\x18\x54\x26\x9c\x8d\x25\x14\x8d\x25\x94\x7f\x52\x00\x06\x15\x16\x29\x58\xdc\x08\x04\x10\xfe\xbc\x94\xca\x24\xe1\x51\x68\x02\x56\x5a\xa1\x50\x79\xa1\xd0\xbc\xc3\xb0\x2d\xc2\xa1\x6f\xc2\x47\x3f\x44\x82\x74\x85\xb1\x9f\x13\x31\x7f\x52\x68\x16\x09\x43\x7b\x19\xb6\x30\xb4\x85\x30\xb6\x85\x80\x75\x45\x18\xf6\x45\x38\x0c\x4b\x24\x4e\xc7\xf0\x18\x97\xff\xcd\xa7\x22\xbb\xcb\x6c\xa8\x0e\x18\xbf\x84\x93\x1e\xe2\xef\xe3\x5a\x22\xe3\x1e\x22\x48\x04\xda\xad\x58\xa0\x64\xbf\x23\xdd\x68\x26\x31\x60\xa1\xda\x1f\xc2\x64\x7f\x94\x3f\x67\xa8\xbc\x20\x5b\x79\xb9\xbe\xc9\xb2\x5b\xa6\xfe\x00\xff\xce\x60\x7f\x97\x0e\x9b\x08\x14\xeb\xc1\x24\x67\xca\x54\x8e\x2b\xcc\xb0\x2b\xc0\xb0\x2b\xcc\xae\x6b\xbc\xfe\x5f\x01\xe8\x32\x9b\xff\xf4\x07\xdb\xa6\x0a\x9d\x16\x09\x89\xd4\xf7\xa6\xbf\x47\x5a\x1a\x46\x10\xe6\x24\x25\x25\x3d\x49\xc5\x25\x1c\x50\x34\xdf\x88\xc0\xcb\x35\x23\xca\x77\xb2\x60\xfa\x1d\x9c\x34\x5d\xa9\x42\x6b\x19\x3f\x40\xc3\x4a\x5e\x8b\x28\xe0\xdb\x76\x9e\x18\x2b\x74\xac\x63\x2a\x19\x06\xd5\x2a\x86\x65\x74\x22\x35\x3e\xd3\xd6\x1a\xc8\xbf\xbe\xcd\x00\x96\xf9\x6e\x66\x3f\x68\x9e\xe1\x78\x59\xb3\x92\x26\x33\x15\x6c\xa7\x42\xc4\x39\xe8\xea\xba\x94\x3e\xd4\x2d\xcb\xaa\xe6\x3a\xcf\x4e\xc9\xf2\x1a\xa6\xd1\xcb\x56\xd2\x2d\x2b\x69\xaa\x9a\xcc\xe5\xa2\x47\x2a\xa6\xd1\xc4\xd1\xf8\x39\x39\xff\xb5\x4f\x8a\xe0\x8d\x8a\x74\x48\xe3\xeb\x52\x9c\xa0\x38\x59\xd7\xe7\xa1\x69\x5d\xd1\xa6\x68\x9b\x8a\x95\x25\xe5\xed\x24\x4e\xd5\xe1\x3d\xbe\xdb\x67\x59\x09\x7c\x60\x4b\x8a\x11\xa5\xd9\x0e\xfa\xde\xdc\xed\xb3\x68\x79\x5e\xb0\x15\xe3\xed\x25\xd9\x8b\x24\xbf\xe5\x99\xa0\x7c\xad\x8c\x06\x46\x91\x41\x21\xe3\x5c\x39\x85\xa1\x12\x80\xf1\xa0\x3a\x71\x05\xb2\x76\xa3\xb6\x76\x95\x3d\x77\xb3\x86\x77\x55\x85\x71\x07\x3a\x6d\x03\x76\x5c\xd3\x3d\x76\xd5\x85\x5d\xd3\x45\xf6\x50\x75\xe3\xa0\xb6\x4d\x55\xb5\x3f\xa6\xe3\x9a\x2a\xeb\x9a\xae\x0b\xe1\xe1\x75\xcb\x6e\xec\xce\xe7\x69\xd6\x88\x6b\xba\xa8\x19\xba\x70\x1c\xd6\xc8\x1e\xde\x5c\x3c\x84\xd1\x53\x55\xbd\xef\xb3\xf4\x0b\xe2\xc2\x30\x1e\xbe\xfc\x57\x38\xfb\x61\xf6\x1f\x8a\x6c\xd3\xbc\x14\x9d\xe1\x75\xcb\xf0\x23\x80\x1d\xdf\x74\x1d\xd7\xad\x3d\xd7\x74\x3d\x3f\xac\xbd\x4f\xea\xba\xaf\xf0\x65\xed\x5f\x61\x55\x45\x4c\xd7\x75\xe3\xd0\x45\x3e\xee\xec\x86\xe1\x0b\xf3\x4d\xd7\x77\xd3\x1a\xf9\xa4\xae\x67\x86\x37\xef\xf5\x66\xb1\x4f\xf8\xba\x5c\xcf\xcc\x7f\x2b\x80\x5f\x2e\xfc\x15\x0e\xd2\xb0\x0e\xe2\x14\x46\x8f\xbc\x6f\x9a\x7a\xe8\x86\x62\x68\x8a\x62\x18\x86\x66\x98\x1b\x64\x18\x07\x38\xee\x96\x62\xe8\x86\x51\x9a\x9a\xf7\x30\x0e\xa7\x34\x0d\xb7\x71\x6c\xce\xf1\x72\xbd\xa2\x18\xc6\xa1\x18\xa6\xe2\x18\x86\xe2\x18\xa7\xe1\x7c\x0c\xc5\x39\xce\x43\x31\x2c\x03\x2a\x4d\x23\x15\x8f\xc3\x3a\xce\xcb\x53\xde\x8e\x73\x5c\x5a\x6a\x18\x07\x62\x9c\x96\x4b\x6e\x19\xd0\x71\x6f\xf9\x71\x29\xc9\xe7\x65\x36\x45\x2b\xf7\xc3\x3a\x2c\x43\x43\x2c\xcd\x63\x5c\x5a\x5e\x99\x1b\x28\xe9\x88\x71\x58\x8b\x51\xde\x46\x5a\x9a\x96\xfb\xb8\x14\x37\x28\xb5\x58\xd3\xf5\xfd\xb4\x66\xd1\xd2\x45\xdc\xf0\x85\xc0\x9f\x14\xc7\xe3\x17\xe6\x1d\xb1\xbd\xdc\x7f\x80\xe3\x67\x95\x92\xf7\x42\x40\x6b\x86\x9f\xc8\x33\x59\xe2\x70\xe6\x65\x75\xe1\x1e\xb7\xf9\xf6\x8c\x4f\xe9\x7c\xe5\x9a\x40\xd4\x21\x3e\x20\x71\x34\x0c\x63\xb8\x0c\xc3\x6d\x39\xe2\x62\xa5\x47\x6d\xa6\x1c\xd7\x7d\xf9\xa1\x5b\xa3\x67\x9a\x5e\xbe\x6c\xa6\x0b\x7a\xbe\x35\xef\xf5\x56\xbb\x61\x1c\x96\x62\x94\xd7\xef\xaa\x4a\x3e\xd9\x9b\x67\xb2\x9c\x20\xf1\xd3\x09\x29\xeb\xd5\x6f\x63\x69\xa6\x50\xb8\x3c\xf4\x44\x3c\x91\x35\xde\x5b\xfe\xa1\x2d\x3a\x92\x46\xda\x4a\x83\x96\xff\x01\x96\xdb\xd7\x03\x98\x9f\x07\x30\xcf\x1e\x74\x16\x33\x82\x0e\x60\xc0\x00\x9c\xf0\x4e\x1c\x67\x07\xc3\x6e\x91\x10\xc3\xca\x83\x20\x99\x8e\x62\x04\x79\x02\xe1\xd2\x6e\x1e\x8e\xc3\xf4\x83\x10\xda\x8e\x34\x05\x99\x2b\xe0\x57\xc1\x79\x88\x87\xcd\x54\x7d\x27\x85\xb6\xe5\x64\xef\xbc\x77\x49\x29\x22\x38\x07\xae\xc5\x71\x8a\x62\x27\x58\xa0\xac\x27\x43\x29\xb2\x10\x07\xaa\xfb\x61\x48\x62\xc7\xeb\x36\x33\xd8\xc1\x81\x13\x66\x75\x56\x95\xd8\xc7\x86\x67\x35\xd5\x7c\x15\x4b\x10\x2e\xe1\x04\x55\xd1\x95\x28\xf5\x91\xe1\x58\x50\x37\xbb\xd3\x2e\x1e\x11\x55\x42\x15\x2b\x0c\x91\x61\x39\x50\xd3\xcf\x3f\x45\x5e\xc5\x56\xb3\xa4\xc4\x81\xe3\x21\xd8\x0e\xe7\xfb\x57\x51\xc5\xd4\xb3\x28\x25\xc1\x9f\x34\x8a\x40\xf3\xde\x77\xe5\x5e\x90\xd5\x59\xb5\x62\x2b\x2a\xd6\x57\x5b\xad\x8a\x11\x1e\x16\xce\x57\x51\x13\x68\x96\x55\x0d\x73\x1d\x8a\xd6\x29\x1e\xf6\x4f\x51\xa0\x69\x56\x55\xf5\x73\x2f\x4a\xb6\xc4\x39\x70\xd5\x5f\x95\xc3\x14\xb8\x96\xd7\x6c\x3b\xdc\xef\x56\x4c\x7b\xdf\x6d\x89\x52\x12\x59\x56\xb3\xcd\x7b\xdd\xc7\xb6\xec\xc2\x0c\xdb\xc9\xd7\xb6\x9a\x79\x76\xc3\x31\x1a\x50\xce\x61\xfa\x51\x8c\x9c\xc0\x82\x86\x7d\x36\xc3\x31\x2e\xf9\xe6\xaa\xb1\xab\xbe\x1f\x23\xc3\xf2\xa0\xa6\xdf\xcd\x30\x2e\x0b\x94\x6b\x6a\x75\x54\xa3\xd8\x8b\x1a\x6c\xc7\xf3\x3e\x8e\x6d\xd4\x6b\x5a\x55\x1a\xd3\xd8\x71\xba\xef\x8e\xfa\x32\x8e\x51\xb7\x69\xd7\x55\x90\xae\xf3\xab\x55\xb1\xf8\x01\x46\x05\xca\xc1\x8d\x34\x77\xa1\xed\x59\xc5\xb0\xd7\xa1\x18\xc5\x34\xdf\x20\xf5\xa0\x68\xa1\x6d\x05\x55\xd3\xef\xa1\x68\x95\xd4\x57\xd1\x3c\x2d\x51\xe4\x45\xcd\xb6\xe3\x7d\x6f\x15\x0f\xbf\x41\x5a\x75\x52\x3f\xb1\xe3\x0d\xdb\x75\x29\x7b\xdf\xdb\xd6\xc3\xf7\xbc\x56\xd3\x97\x8f\xeb\x01\x40\x83\x0c\x28\xc0\x10\x80\x18\x46\xb4\x51\x89\x0e\xf8\x05\x52\x86\x13\x9c\x09\x17\x23\x93\x3c\x4e\xba\x1a\x28\x47\x56\x34\xeb\xdd\x27\xd5\x4e\x49\x56\xed\x9e\x0c\x73\x31\x29\x31\xf6\xbf\xa7\xdb\xef\x69\x80\x53\x94\x57\xb3\xd5\x34\xc8\x89\xeb\x45\x47\xd5\x7f\xcf\x46\x36\x00\xe8\xfe\x04\x52\xb2\x42\xc4\xdd\x60\x24\xda\xad\x44\xc0\x18\xdf\x67\x9c\xf0\x35\x4c\x10\x84\xbd\x59\xd0\x57\xe5\x40\x16\x15\xcb\x29\x86\x30\x38\xc1\xd7\x84\x7a\xd3\x2c\xbf\xb7\xcd\xf1\x8a\x66\x14\x5d\x18\x3c\x71\x52\xa2\x1a\xc6\x61\xba\x41\x0a\x1c\xc3\xaa\xaa\xba\x37\xbe\x75\x4a\x97\x7c\x33\x7c\xac\x52\x8e\x47\x1e\x19\x24\x82\x3f\x6c\xd4\x01\xce\x97\x8d\x7e\x75\x29\x41\x90\xa5\xac\x71\x48\x39\xc7\xd8\x4c\xd7\x0e\x01\x63\x78\xd9\x32\xa7\x69\x68\x45\x84\xcf\x9e\x6c\x3f\x8c\xb1\x1d\x18\xa0\x98\xf3\x34\x38\xac\xc3\xe7\x60\xb6\x6f\xc6\xc4\x0a\xbc\x62\xba\x52\x00\xd0\x4e\x00\x0c\x7a\xda\x18\xa1\x53\x39\xa3\x06\x22\xe0\x01\x03\x82\x6e\x37\xcb\xb3\xac\x5b\x86\x93\x15\xed\x9d\x25\x2a\xc8\x76\x3c\x3f\x18\xba\x18\xb9\x56\x50\x34\x23\xcb\xdc\xef\xea\x29\x8a\x63\x4e\xba\xfa\x56\x60\x7f\xd2\xe8\x12\x24\xf9\x97\x20\x4a\x1c\xcd\x30\x82\xd0\x87\xb6\x65\x18\x59\x9e\xb3\xa2\x44\x58\x14\xc3\x30\x42\xdf\xfb\x86\x61\x64\x45\x5e\xb3\xc2\x37\x37\x0d\xbf\xbd\xca\xa4\x19\xf2\x1a\x55\x45\xe4\x37\xc5\x52\x80\xaf\xfe\xac\x50\x00\xbb\x55\x56\x7c\x17\x9a\x9c\x94\x04\x59\x2d\x8a\xd6\x77\x75\x0c\xd3\x8b\x83\x2f\x28\x46\x51\xf5\xbb\x1b\xe0\x24\xc1\x39\x35\x3b\x4e\x82\x68\x7f\x1d\x01\x4e\x73\x52\x8a\x2c\x94\xf3\x2a\x55\x1a\x13\x37\x88\x08\xec\xaa\x0f\xfb\x34\x2c\x46\xda\xf7\x61\x76\x50\xe6\x77\x14\x45\x50\xf7\xf5\x90\xf1\x8c\x2b\x00\xd4\x8d\x25\x37\x6a\x03\xfb\xcc\xaa\x45\x12\x50\x56\x07\x85\x94\x03\x2a\x90\x80\x8c\xa2\x2a\x96\xd3\xbe\xe7\xee\x04\x5d\xb7\xe3\xf8\x7e\xdd\x32\x45\xb5\x6c\xc3\xeb\x9a\x14\x05\xc1\xc5\x02\xbe\x05\xe8\x97\x46\x68\x8a\xf2\x87\x19\xec\x7d\xfe\xa3\x16\xfc\xdf\x6c\x01\xfb\xaf\x74\xe3\x6f\x06\xf1\x03\xbc\x68\x44\x05\x00\xd5\x6f\xdf\xdc\x3d\xb1\x6c\x95\x60\x92\xd9\x31\xdf\xb2\x57\x00\xc3\xb7\xde\x26\x59\x2f\xe8\xb6\x7d\xcf\xb3\x98\xfa\xd3\x6f\x50\x9c\xc0\xba\x9e\xe5\x65\xfc\xe7\xd9\x0f\x50\x49\xa2\xe0\xef\x2f\xfe\x6e\x4e\x28\x49\xf0\xdf\x1a\x16\xff\xcc\xb3\x2b\x38\xb0\xf3\x38\xc6\xbe\xe7\x35\xcb\xfc\xa5\x0e\x11\x81\xc0\x70\xdd\x8f\xa3\x41\x82\x75\xeb\x78\xa0\x3f\x79\x0e\xbe\xee\x93\x3a\xb6\xdf\x19\x32\x00\x03\x80\x2c\xe9\x86\xd7\x34\xcd\x08\xd2\x5c\x08\x7a\x42\xb2\x98\x1f\xe0\xd7\x84\x3a\x47\x95\x34\x2b\xab\x73\x96\x94\x24\xab\x3e\xed\xaa\x97\xfa\xc8\x72\xbc\x6a\x08\x13\x58\xb4\xa4\xc2\xab\xeb\xfa\x9b\x02\x6c\xc7\xab\xba\x9f\x62\xf2\xf0\x6a\xb8\x16\x87\xef\x62\xb4\xac\xa8\x67\xd5\x8c\xae\x68\x43\x20\x30\xc2\xb0\x82\x14\xf9\x9e\xd7\x4d\xf3\x5e\x93\x92\x35\x20\x30\xc2\x49\x8a\x1a\x84\x96\xd3\x0c\xf3\x9e\xe6\xc5\x48\x73\x15\x54\x8b\x93\xfc\xdd\x26\x71\xe4\xb5\x1a\x46\xd1\xf9\xdd\xfa\x34\x4b\xb1\xef\x05\xdd\x71\xb1\x80\xaf\x89\x58\x51\x03\xc3\x8d\x24\xab\x69\x18\x51\x1b\x9d\xc5\x2d\x00\x19\x53\x6c\x49\x10\xb9\xbd\xac\x53\xd0\xfb\x8f\xf1\x52\x0c\x09\x80\x49\x5d\x56\xa0\x18\x46\x96\xe5\xce\xd7\x64\x08\xea\xe7\x14\x57\xdf\xc6\x31\x25\xe5\x1d\x24\xe9\xd5\x4e\x61\x4a\x9a\x6f\x3b\xe1\x12\xce\x45\xb0\xe3\xf9\x0e\x31\x17\xb9\x31\xb4\x25\xf9\xdb\xab\x18\xa7\x1a\x5b\x9e\x37\x7e\x72\x35\x4b\x52\x5f\xaf\xba\xca\x39\x46\x10\xba\xc0\xb4\xac\xa2\x4a\xbf\xc2\xd2\x4f\xb8\xeb\xc5\xe0\x2b\xdc\xd4\x35\x2b\x4a\x52\xe4\x31\x97\x9c\x61\x59\x45\x53\xd7\x3f\xd0\x3f\xbc\x2f\x34\xac\x0b\x54\xbc\x72\x8a\x14\x7d\xbf\x10\x84\x2e\x34\x8d\x9f\x30\x2b\x4a\xdf\x95\x5e\xc2\xa6\x65\x65\x55\xfe\xbb\xac\xe8\x02\x10\xfe\x06\xfd\x29\x72\xbe\x25\x32\x4d\x6e\x14\x00\x94\x7e\xd1\x0a\x51\xd2\x25\xa1\xd9\x20\x2c\x11\x68\x87\x2b\x05\x2b\xa3\x00\x0d\x00\x48\xd2\x7c\x20\x8e\xd6\x3b\x28\x9a\x6d\x05\xcb\xb3\x30\xcb\x48\x72\xb2\x90\x73\xd6\x2a\xca\x9a\x9f\x3c\x57\xe0\x12\x27\x80\x43\x63\xef\x4d\xd3\x76\x9a\xf5\x02\x6c\x39\x49\x71\x9c\x5b\x1a\x40\xdd\xbe\x11\x87\xe3\x56\x5d\x57\x05\xb2\x95\x0c\x07\x9c\x4e\x1b\xf9\x25\x29\x14\x00\x1b\x43\x31\x67\xe6\x00\x92\x25\x4b\xe1\xbb\xaa\x1c\x18\x3d\x90\xa8\x6d\x53\xc1\xee\x03\x83\xc1\x49\xe1\xe2\xcb\x54\xb6\x49\x3b\x66\x9e\x50\x53\xd1\x80\xa4\x98\x03\x1c\x66\xc1\x66\x0a\x93\x6b\x43\x16\x89\x85\x96\x91\x81\xcf\xd1\x02\x89\x01\xa5\x0c\x10\xa8\xd8\xd6\x4e\x99\x00\xeb\xa7\x3b\x2c\x08\x46\x46\x52\x9c\xb0\x1b\x8c\x53\x09\xd4\x15\x1c\x18\x04\xc7\xb0\x0c\xd6\x17\x85\x11\xb5\xca\xab\xe9\xec\xa2\xa1\x18\x00\x80\xcf\x00\xa8\x32\x28\x13\x0a\x29\xd2\x02\x4c\x2b\xb7\x9b\xc1\x88\x8c\x59\xe5\x92\xcd\xe0\x7f\x3a\x4f\x32\x20\x33\xf0\x04\x19\x65\xb0\x3f\xc0\x42\x28\x84\xb0\x23\xca\xed\xa6\xd0\xff\x21\x0b\x8c\xfa\x3f\xb7\x50\x29\xf0\x47\x0b\xb8\xc8\x22\x05\x72\x3d\x44\x52\x1b\x00\x23\xd0\xb6\x3f\xdf\x68\xdc\xd5\x32\x8d\xab\xee\xc7\xca\x9a\xe4\x81\xd1\x66\x76\xa8\xa5\x42\xbc\x6c\x70\x6a\x76\xf5\xc0\xd2\x56\x5e\xe2\xf7\x36\xc5\x51\xd6\x84\x85\xda\x63\x29\x24\xc5\x13\xb3\x5b\xc1\x5d\x40\x7d\xc7\xde\xc4\xac\x7a\x87\x69\x0b\xf3\x01\x76\x76\xe5\x0f\x10\x45\xef\xc3\x8b\x66\xe7\x15\x75\x0a\xf8\x5e\x36\xfb\xa3\xa6\x9c\x59\x9f\xe1\xe7\x7d\x0a\x3e\x2f\xa5\xca\xc0\x04\x38\x93\x4c\xd1\x4c\xe1\x74\x6c\x72\x6e\x03\xa5\x07\xe4\xf1\x72\x47\x80\x06\x83\xd8\x4d\x1e\xea\x21\xf7\xf7\x07\x2e\x2e\xbe\x7c\x5f\xd0\x24\x7b\x86\xdc\x1d\x7f\x94\xce\xad\xd7\x9b\x98\x63\x44\x27\xab\x3e\x6d\x24\xa0\x2f\x3a\xd6\x87\x3d\x4d\xc3\x3e\x8f\x15\xb3\xa1\x12\x7c\x94\xea\xca\x51\xaa\x63\x7f\x16\x42\xb7\x64\x78\x2a\xae\xb0\x16\xf0\xaf\x08\x7f\x25\xb7\x6b\x85\xdc\x7b\x1d\x92\x47\x88\xf8\x6c\x4a\x97\xf2\x7d\xe0\xcf\xd9\xfc\x94\x1e\xe3\xed\xe2\x3d\x2a\xb8\xf7\x59\x76\xf9\xf2\xe2\x27\x2a\x4c\x0d\x52\x8a\x0b\x1e\x72\x67\xe7\x8e\x36\x4f\xbc\xa6\x39\xc4\xbe\xdf\xf6\x2a\x4c\x82\xd6\xbf\x31\x17\x60\x34\x9c\xeb\x7d\xb7\x33\xad\xb3\x59\xee\xb6\x3f\x2c\x75\x30\x30\xf5\xd6\x01\x40\x5a\xfb\xe2\xfa\xdb\xe3\x21\xa6\x78\xdc\x34\x76\xb3\x88\x51\xe5\x3f\x70\xe8\xc5\xf3\x50\xc5\x05\xd2\x0a\x4c\xbd\xdf\x3e\x9a\x05\xf4\xc3\xd2\x41\x82\x5c\x66\x53\xb5\x6f\x7a\x23\x11\x7e\x03\x40\xac\x0d\x3a\x90\x70\xfc\x49\xa8\x8f\x17\x27\x52\xe5\x8e\xdd\x7a\x22\xa2\x9d\x14\x79\xf8\xd6\x6a\x1e\xbe\x2c\x56\x02\x85\x07\x21\x5c\xca\x2b\x5e\xf7\x5a\x1e\xda\x27\x34\xdd\xe8\xa6\x65\xe1\xf4\xaa\xbe\xfa\x79\x6c\x15\xc2\xa1\x33\xc1\x83\x61\x3f\x7f\x26\xbc\x9d\x42\x77\xab\x89\x33\x0d\xa4\x7b\x72\x78\x9b\xf2\x65\x9c\x63\x88\x7e\x54\xeb\x13\xc6\xa7\x54\x04\xa3\x84\xdd\x66\x7d\x98\x5b\xc5\x95\xb5\xb7\xa7\x71\x48\xe5\xae\x4e\x70\x6d\xb9\x47\x74\xf1\x9e\x57\x54\x8d\x47\xac\xa9\x61\xb6\xcc\x05\x7a\x98\x08\x0e\xba\x06\x0a\x9c\x77\xb9\x85\x95\x3c\x5b\xb7\x87\x77\x47\x6c\x5c\x7c\x54\xdc\x64\xe5\xbe\x67\x3f\x55\x08\x77\x6f\x28\x75\xe7\xf4\x41\x84\x8d\xd4\x2b\x26\x4e\xbf\x02\x2c\x73\xf2\x83\x2f\x58\xa4\x2e\x14\xad\x47\x3b\xf3\x43\x78\x8b\xeb\xfd\x83\x6b\xf3\x49\xee\xbd\x7d\x86\xa1\x71\xa3\x02\x26\xe7\xfd\xcf\xc0\x61\x11\x20\x8d\xba\x78\x20\x9c\x98\xab\x58\x27\xae\xb7\xdc\x4f\x40\x0f\xc4\x2f\x77\xf0\x7e\x80\x4f\x0e\x19\x23\xe0\x63\xaa\x93\x00\xb2\x75\xe7\xc7\x83\x3a\x43\x40\xde\xe4\x89\x4f\xdc\xf7\xcd\xc0\xf2\x9b\x41\xc2\x5b\x7e\x0f\x47\xd1\xd6\x77\x8b\x4c\x85\x67\x93\xd9\x6f\x90\xda\x93\xa1\x75\xac\xc3\xb4\xd9\x8b\xe4\x13\x57\xcf\xf7\x1f\xa0\x65\x9a\x41\x25\x79\xa1\xe8\x6b\x6c\xa0\x13\x2e\x06\x98\xb1\xe8\xc5\x8e\x29\xfd\x0c\x20\x9b\x68\x86\xbc\xc5\xec\x8d\x48\x37\x4f\x16\x02\x44\xc6\xf8\x53\x86\x47\x58\x38\x01\x59\x98\x47\x85\x7c\xdc\x3e\xf9\xc3\x91\xe4\x35\xf0\x2e\x46\x9f\xce\x13\xbd\xb1\x1f\xb8\x39\x83\xd3\x82\xd9\x27\xa2\xc2\x39\xa2\x1d\x33\xf2\x7e\x10\x24\x6c\xa4\x16\x64\x81\xc9\x28\x32\x59\x57\xb4\x4c\xb4\x5e\xa2\x49\x3d\x72\xd6\x07\x44\xe5\x4c\x32\xab\x4a\x34\x9e\x00\x3c\xb1\xcd\x35\xb3\xae\x1e\xac\x9e\xa0\x6c\xfd\x7a\xed\x1e\x6a\xd8\xc5\x5d\xe1\xcd\x27\xcd\x34\x84\xd7\xae\x91\x6b\x00\x7b\x33\x07\x53\x2a\x8f\xcd\x78\x91\xe3\x98\x2f\x99\x89\x00\xc9\x9e\x74\xe3\x6d\x24\xd5\x08\xb4\x8c\xd6\xf2\xd8\x66\xac\x63\xf4\x0d\x1c\xa2\x7e\x80\x95\xda\xfb\xe9\xec\x95\xde\xc3\x43\xee\xa8\x53\xbe\x7d\xd4\x79\xe1\x99\x90\x46\xf5\xc7\x04\x1d\x68\x06\x87\x29\xb6\x1e\x47\x73\x2a\x4d\xa8\xad\xce\xb0\xc7\x27\x89\x3f\x67\xdd\x18\x0a\xc8\x22\xb2\xca\x1f\xc9\xed\x93\xd0\x19\x7b\xbb\xec\xf0\xb3\xd1\xfe\xe7\x7c\x67\xb2\x9e\xc8\x81\x38\x01\x20\x1a\x60\xb4\xfd\xb2\xcd\xef\x8b\xcf\x1d\xe8\x0a\xf3\x15\xda\xbb\xc4\x1d\x9d\xf1\x71\xf1\x9e\xf0\x87\xe8\xc7\x4f\xac\x20\x06\xea\xa9\xee\xf1\x7a\x92\x9b\x33\xc7\xd4\x96\xb3\xf9\x55\x1f\x7a\x8b\xfe\x5e\x09\xed\x7d\xc7\xc2\x88\x35\x9c\x24\x93\x46\x77\xc2\xd2\xf7\xe7\xcc\x61\x1b\xd0\x00\xa6\x99\x1c\x8f\x51\xb7\xa6\x23\x86\xda\xf0\xf8\x16\xeb\x9f\x4a\xea\x26\x74\x16\xc0\xf2\x46\x57\x31\xd4\x8a\x1c\xcd\x22\xb4\x26\xae\x68\x83\xea\xd6\x47\xa8\x46\x79\x85\x74\x60\x3d\x09\x5d\x4f\xe5\x47\xf6\xec\x12\x44\x9a\xdf\x2a\x2b\x49\xa7\x64\xbe\x73\x6d\x45\x32\xb1\x63\x65\x52\xf7\x9b\xc8\x5f\x75\xd2\x10\xe4\x4c\xec\x5a\x28\x8e\x3d\x72\x3a\xc7\x20\x0c\x82\x8d\x79\x5c\xf4\xb6\x46\xca\xdb\x6a\xa7\xce\xc3\xed\x2b\x04\x96\x0b\x07\x32\xa2\x52\xaf\x8e\x0d\x00\x7e\x88\x1d\x0a\xba\x07\x53\xa0\xa5\x31\xf6\x26\x48\xad\x7f\x30\x50\x42\x15\x10\x06\xba\xbb\x9d\xd1\xcf\xd0\x05\x4a\x91\x12\xf9\x1d\x3c\x85\x37\xf9\x03\x54\xab\x9e\xb8\xef\x13\x00\x54\xc8\xc8\x4c\x20\x54\xb7\x63\x15\x08\xe3\x84\x55\x95\xa8\x85\xcf\x4c\xde\x09\x41\xf1\x4a\x4f\x54\xb5\x41\xb7\x95\x77\x0a\x9a\x23\x2a\x09\x66\x82\x0c\xb2\xaa\xc5\xbe\xb0\x3c\x8f\x6f\x0d\x84\xea\x82\x6b\xfc\xc1\x79\xa0\x99\x6f\x50\x26\x1b\x24\x2b\x51\x64\xdb\x23\x86\xe3\x18\xe1\x1d\x9e\xf3\x39\xa4\x49\xd1\xe9\x59\x2f\x78\x22\x27\x8a\x75\x49\x37\x92\x04\xd2\xf9\x8f\x81\xc4\x0f\xa8\xd3\xc1\x7a\xff\x74\x3b\x8f\xe0\x9b\xdb\x64\x02\xff\xb9\xc2\xd7\xce\x6a\xe3\xb3\x7e\x87\x09\x39\xc0\xd2\x8e\x86\x2b\x35\xbc\xc8\x2c\x22\xd0\x17\xd8\x17\x7e\xd1\x55\xf9\xfe\x80\x03\x8a\xc5\x98\x63\x13\xfb\x81\x67\x81\x4f\xf8\x2c\x34\x95\x6e\xbc\x00\xb5\x5d\xd7\x54\x4e\xc6\xe5\x13\x6c\x9a\x72\x35\x31\x0a\x3a\x22\x0a\x80\x11\x4f\x10\x00\x40\x12\x8d\x4a\x2a\x7e\x92\xd9\xf4\x93\xb7\xcc\x41\xc4\xd6\xed\x49\x95\xa0\xa6\x18\x1d\x50\xc0\xaa\xfd\x3b\xd0\x37\x5d\x13\xa5\xfa\xb5\x7f\xd3\xa8\xde\xb4\xef\x15\x79\x7b\x3d\x8a\xfa\xd9\x95\xe8\x37\x94\x5e\x3f\x27\xd1\x1c\x5c\x85\x76\x87\xfe\x0c\x6c\x69\xa2\xb4\xf5\x04\x19\x90\x8d\x02\xea\xe0\x84\x50\xcf\x09\xd1\x10\x3d\x43\x72\x0c\x50\x82\x08\x32\xc0\xe9\x50\xa4\xb6\xf8\x0e\x91\x74\xe6\x7e\xf8\xc7\x82\xd8\xf3\xf1\xb9\x12\x7d\x62\x0a\x4b\x00\x0e\x23\x27\xd9\x7b\xbd\x5a\x26\x98\xe7\x0c\x10\xb6\x1e\x7b\x21\x78\x65\x91\x33\x86\x1e\x70\x18\x00\x6e\xf4\x8e\x3d\x0c\xf4\x3e\x3e\x1f\xfc\xee\x38\x43\xd8\x90\x10\xd9\x38\x8b\x52\x77\x25\x5b\xf2\x33\x9c\xd1\xd7\x70\xa1\x6d\xd7\xc5\x7f\x2a\x42\x33\x95\xd6\x80\x7b\xd5\x69\x9d\x9c\x45\x20\x1a\x23\xd4\xda\xf2\xf1\xbc\xf7\xb9\x7b\xfd\x4a\xb0\x64\x46\x67\xa2\x5b\xcf\x1f\x9f\x0d\x66\x15\x80\x76\x70\xa0\xdd\xe8\x68\x28\x90\x0b\xbf\xc3\x13\x16\x37\x2e\xf2\x88\x51\x6d\x00\xcf\xa4\x0c\xaa\x90\xd2\x00\x09\xf2\xb8\xba\x03\xe5\x76\x07\x9b\x45\x51\x69\xed\x01\x00\x94\x84\x2d\xad\x47\xb7\xc5\x4f\xce\xa5\xcf\xf5\x4d\x17\xe1\x7a\xb6\xf1\x8c\xcc\x2c\x16\xcb\x78\x97\xaa\x70\x20\xd5\xcf\xa7\x7d\x51\x33\x06\x90\x54\xb8\x2e\x9f\xe1\x15\x50\x36\x39\x2b\x9b\x0b\x0c\x87\x01\x1b\x37\xab\xf5\x7c\x5a\x11\xbf\x02\x3a\xa0\x50\x7b\x97\xdd\x72\x28\x4c\x70\xd3\x42\xa0\xe4\x67\x32\x30\x99\x99\x00\x6d\xeb\xa8\x6c\x4d\xed\x7d\xb2\x79\xf9\x22\x8f\x0c\x4b\xdc\x3a\x2d\x46\x6e\x3a\x10\x9e\x49\xa1\x1b\x89\x9f\x3d\x7a\x2d\xb8\xc9\xe5\x6e\x58\x2b\xf2\x29\x1b\x76\x29\x51\x2c\xe3\xb6\x13\x85\xa1\x7b\xcc\x49\xc4\x89\xee\x99\xfd\x7c\x3e\xde\x5d\xe3\x39\x32\x13\xd1\x29\x84\x6d\xfc\xfb\x9a\xeb\x05\x7b\x5a\x26\x99\x8b\x58\xfb\x6a\x6d\x2d\xe4\x76\xa1\x2f\x9a\x43\x65\x52\x38\xb0\x8c\x7b\xb3\xb8\x1d\x70\x26\xff\x01\x32\x60\x28\xa4\x1a\xb9\x1b\x00\x35\x20\xcd\xdd\xbe\xc3\x7a\xf3\x19\xe4\xc1\x32\x55\x3a\xce\xfd\x18\xba\x7c\x39\x7e\x8f\x3d\x89\xc6\x2f\xac\xec\x17\x8f\x09\x4b\x92\xa2\x11\x2d\x49\x7d\xb6\xa7\x24\x26\xa3\xe8\x4f\xc2\xea\xca\xf6\x04\x00\xd0\xce\x66\x63\x75\xeb\x34\x38\x54\x37\xdb\xd8\x2b\x4a\xae\x1b\x82\x54\x12\x0b\xc4\x3c\x3f\x23\xb2\x5e\x4c\x8a\x6c\x33\x45\x4d\x85\x7a\x0c\xa7\x22\x2b\xa3\xbc\x2e\x97\x94\x00\xac\x9b\xdd\xe6\xd3\xdf\x9c\xd6\x97\x51\x5b\x94\xfb\xa8\x8c\x3c\x09\x60\xee\x6f\xd0\x5e\xb0\x9f\x41\xcc\x24\x10\x42\x4f\x7f\x9c\x2d\x34\xdd\x67\x43\x0d\x92\xab\x9c\xd3\xd7\x80\xe1\x9e\x54\xbd\x8e\x86\x29\x66\xe4\xbb\xcf\xb7\x56\xf5\xc4\x72\xe6\x86\xa6\x27\x5c\x46\xb7\x56\xf2\xfd\x60\xc8\xc2\x41\x87\x4c\x8c\x0d\xb0\xd1\x98\xfc\x7e\xca\x40\xa1\x95\x9c\x8f\x55\x00\x40\x9d\x49\xb7\x99\x9d\xf0\x2b\x1e\xde\x82\x43\x4c\x5e\x07\xd5\x8a\x11\x3a\xee\xb2\xbe\xd4\x5c\xbb\x6f\x93\xef\xbe\xd8\xa9\x42\x2a\x4c\x2f\x26\x0a\xf0\xd4\x93\xad\xb6\x98\x63\x5e\x99\xf8\xeb\x92\xb4\x47\x35\x95\x10\x95\xb2\x4a\x28\xcb\x59\x77\x3e\x95\x1b\xfb\x67\xbe\x5c\x6c\x01\x99\x09\xfb\xed\xe4\x0b\x8a\x04\x12\xa8\x49\x49\xed\x59\x78\xd2\x5e\x62\xef\x26\x07\x53\xbc\xa2\x11\xc6\x83\x9a\xcf\xc6\x65\xc6\x3f\xba\xd8\x56\xa9\x48\xac\xcc\x16\xea\x07\xe0\x0d\x52\x60\x68\x67\xac\x95\x84\x04\xe0\x6a\x48\x22\x12\xb0\x20\x63\xb8\x89\x9b\x39\x31\x18\x10\xc3\x59\x69\x01\x4d\x70\xad\x16\x6c\x41\xad\x09\xe1\x3a\x9f\x8e\x9a\x96\xe3\x9b\x7c\x7c\x0a\xa5\xf2\x04\x88\x6a\x48\x92\x00\x02\x90\x12\xf4\x09\x5e\xdd\xc4\xb0\xb5\x6d\x71\x0c\x75\x05\xd8\x5b\x12\xbf\x4d\x9a\x82\x22\xb3\x97\xf9\x41\xd5\xfb\x3a\x91\xee\x0f\x42\xde\x5b\x64\xec\x9b\xe1\xf0\xa7\x40\xf4\xcc\xe2\xce\x1a\xbf\xd1\xb0\x51\xbd\x14\x0a\x68\x45\x3c\x1a\xa4\x01\x68\x8a\x9e\x86\xbe\xeb\xf4\x65\x4e\x6f\xd0\xc5\xe8\xa9\xf7\x2b\x23\x0a\x26\x2d\x02\x3f\x73\x1b\x03\x08\xd8\x0d\xdb\xa6\x8a\x21\x99\x82\xac\x3b\xd5\x20\xa4\x02\xba\x4b\xb6\x01\x19\xa5\xf7\x29\xf7\xb3\xb8\x81\xf7\xe2\x4b\x9d\x52\x32\xee\xc7\xd0\xc2\x73\x84\x8e\x17\x06\x0f\x72\xa6\x20\x7f\x5c\x6f\x5f\xe3\x50\x1b\x92\x3d\x24\x44\xa2\x1a\xeb\xb1\xc4\x0e\xa4\x7c\x81\x34\x93\xe8\x9d\xe0\x5a\x71\x72\xe5\x3c\x4e\x30\x64\x19\xf0\x27\x76\xeb\x16\x2b\x55\xc9\xbe\xa3\x0a\xca\xe5\xc7\xf3\xe6\x9d\x0e\xb8\xd3\xf4\x4c\x3f\x81\xfd\x67\x7a\x8b\xe6\x50\xad\x50\x00\x9c\x09\xbb\xde\xac\xdb\xc7\xb2\xd4\xea\x1d\x78\xb5\xdd\xc7\x28\xd6\x7c\x10\xf3\xd3\x0c\x83\xf8\x56\xde\x55\x9d\xf3\xe0\xb3\x3c\xdc\x0e\x30\x80\xca\x00\xe8\x25\xb3\x9a\xe5\x9b\x54\x19\xb4\xa7\x6c\xc1\x55\x39\x38\xbf\xf7\x3d\x28\x69\xea\x9f\xd0\x9e\xf7\x2f\xd8\x29\x07\x83\xdc\xd0\x1d\xc3\x93\xf7\x3c\x54\xa5\xc1\x1c\x0b\xca\xbd\x48\x42\xbd\x99\x04\x0e\x39\xc3\x53\x73\x8b\xec\xb1\x69\x0d\xe1\x2d\x2d\xf4\x8e\xb0\x5a\xa2\xf5\x2e\x8a\xc5\xe9\x07\x48\x44\xf2\x90\xc5\xb9\x7e\xf6\x2b\x26\x99\x58\xa1\xd1\x45\xbd\x3d\x9f\x61\x1f\x3c\x06\x58\xd0\x94\x24\x06\x16\xd0\x80\x3b\x37\x09\xd5\x76\x71\x32\x56\x1c\x26\x71\xd6\xe3\x1e\xb6\x53\xe5\x7a\xa6\xca\xbe\x44\xc8\x74\x78\x49\x6b\xaf\x5b\x3e\x8e\x97\x07\x9e\xf4\x4a\xc8\x5f\x32\x66\x2a\x94\xe1\x00\x8c\x1b\x8b\xf9\xe3\x2a\x48\x9d\x84\x1f\x1e\x35\x50\xfb\xbe\x86\xd8\x43\x44\x02\x3e\x4f\x1a\x32\x3a\xcb\x4f\x7a\x2c\x2e\x82\x67\x32\x38\xc7\x04\x4a\x2e\x36\x75\xcd\x97\xa9\x9c\xd0\xd3\xef\x03\xee\xf0\x4a\xd6\xc3\x0e\x2b\x29\x23\x2f\x42\x1a\x2e\xe9\x3e\xfc\xee\xed\xef\x4d\x02\x72\x56\x7b\x64\x2f\x3b\xeb\xb6\x55\x37\x47\xcb\xf1\xb7\xca\x1d\x8e\x36\xc1\x77\x86\xbd\xf5\xe1\x78\x5b\x52\x5c\x3b\x2f\x7a\xcb\x6d\x41\x0a\x00\x99\x21\x3d\x8e\xc8\x85\x95\x81\xe0\x1e\xba\xb5\xd6\x14\x35\x93\xf1\x2d\xc1\xa1\x5a\xb2\x05\xe5\x29\x3c\x56\xad\x84\x67\x62\x9f\x76\xcc\x42\x6b\x32\x78\x11\x8c\x63\x90\x2c\x01\x04\x12\x34\x7a\xc0\x63\x7a\x77\x45\x9b\x80\xea\x44\x00\x68\xef\x7d\xd3\x42\x31\x2c\x1e\xf7\xfd\x41\xdc\x0f\xfe\x21\x9f\x9f\x97\x82\xfb\xa7\x29\xb5\xac\xde\xac\x6f\x65\x2a\x6a\x83\xdf\xdc\x3f\xef\x3e\xa0\xb2\x41\x3f\x75\xea\xcb\x29\xe9\x2c\x82\x8c\xa5\x24\xe5\x3f\x69\xf4\x7c\x8b\x58\x44\x84\x77\xc6\x74\x49\xe0\xd4\x80\xa1\x87\xb5\x53\x1e\xa4\x41\x82\x05\x64\xcb\xc9\x0e\x82\x3c\x37\x25\x8f\x4a\x29\xb6\x7d\xa4\x2e\x6e\xb5\x1c\xa0\xe7\x13\x1f\xbc\xce\xd4\x9b\x57\xbe\x75\x1a\xdf\xd1\x00\xd4\x97\xd9\xc4\x1b\x0d\x00\x4e\xb0\x3c\x58\xfc\x4f\xcd\x77\xe8\xe7\x8d\xcc\x33\xf7\xf2\x1d\xfa\x0d\x5e\x41\x13\x50\xa4\x01\x75\xfa\x78\x87\x0d\xea\x29\xac\x0b\xf5\x3d\xef\x3e\x76\x80\x41\x49\x08\xa2\x34\x0c\xaa\x3d\x9e\x2e\x88\x79\xc3\xbe\x26\x3e\xba\xa0\xab\x9d\xfd\x3a\xd5\x04\xad\x11\xed\xfd\xb0\x81\x2b\x03\x95\x5c\x3e\xf6\x53\xf9\xbd\xdd\xc1\x9d\x36\xa6\x5b\xcf\xef\xff\x1d\x23\x73\x7c\x8c\x2c\x11\xb5\x6d\xcc\x0a\x33\x5e\xce\x8e\x85\x53\xc5\x20\x02\x21\xf2\xb8\x7f\xae\x21\x57\xd8\xda\xa1\x1f\x7b\x27\x4a\x6e\x5e\x5f\x3a\x91\x12\x4a\x66\xf9\x48\x43\x48\xbc\xdf\x33\xe7\x6d\xa7\xbd\xcb\x6c\x00\x84\x1a\x3b\xa9\xbb\x04\x4a\xc3\xca\xc0\x0d\x90\x7a\x17\x3c\xc5\x12\x3f\x90\xad\x7c\x3f\xe1\x72\xf2\x93\xfb\xd5\x59\xb2\x35\xc3\xb3\xe9\x20\x24\x1b\x50\xa9\x74\x31\xb8\xdb\x02\x10\x55\x7c\x7d\x57\xc4\x90\x12\x98\x5f\xee\x38\x7d\xa6\x3b\xa2\xc2\x2f\x45\x7b\xc1\xd6\x6b\x4c\x9f\x0c\x6f\x87\x7c\x7b\x52\xb8\x12\x34\x1f\x83\x01\xd4\x71\x67\xc9\xe4\x4f\xcb\x14\xd0\x00\x4f\xb0\xac\xc0\xce\xa7\x09\xd4\xe9\xde\x10\xac\xea\xbb\xdd\x8b\x76\x31\x42\xe4\x60\x92\xa4\x97\x6a\xa8\xb7\xbb\x1b\xe1\xdc\xc3\x88\x17\xce\xb5\x84\x1b\x12\x85\x51\x27\xfb\xe2\x98\xba\x25\x72\xd6\xd4\x2b\xc4\x0d\xe6\xcf\xa0\x90\x3d\xef\xb8\x71\x66\x6e\x78\x99\xfb\xbd\xf3\x93\xfd\xa0\x08\xef\x63\x2f\x37\xe8\xe5\xbe\xef\xc9\x83\x20\x44\xcc\xb5\x01\xe7\xb0\x0d\xc0\xe1\x9b\x0b\x54\xa9\xb8\x1b\x7a\xa7\x6f\x41\x16\x80\x0a\x3c\x60\x5c\xe3\x31\x0b\xba\xa6\x15\xb8\x44\xf3\x6b\xf9\x7a\x29\xca\xf0\xb4\x75\x36\x41\xc7\x4e\x0a\x5b\x4e\xeb\x6c\x38\x6e\x84\xdc\xcd\x92\x87\x0f\x94\xeb\x65\x31\x05\x78\xb0\x1b\x1b\x1b\x9a\x45\xfd\xa9\xf5\x62\x7a\x93\x52\xe4\x93\x60\x85\xa5\x11\xc8\xe7\x9a\xf8\xac\xaf\x5b\xd3\xad\x4b\x01\x6f\x8e\xaa\x83\x12\xc2\x5f\x2a\xaa\xb9\xfb\x59\x61\x99\xfb\x40\xf5\x86\x79\xb2\x02\x40\x58\xbc\x31\x07\xf4\xc1\xac\xc9\x83\x58\x65\xff\xc3\x62\x23\x8d\x3b\xa2\x08\x36\x8c\xc8\x3d\x42\x0e\xa9\x18\x9f\xae\x51\xa6\x9c\xee\xb7\xea\xfc\xc6\x43\xf2\x96\x7f\x8e\x17\x7e\x7b\x11\x78\x48\xc9\xfa\x83\x44\xef\x6e\x6d\xf3\xd4\x4a\x33\xd2\x6c\xe4\x76\x83\x49\x05\x95\x01\x06\xc4\xe3\x27\xf6\x6c\x7d\x9a\xbe\x8b\xf6\xfb\xf7\x1b\x9e\xdd\xb1\x3b\x83\x2b\x38\xb4\x18\xbc\xd1\x70\xf4\x0e\xe6\x4a\xfa\x4c\x9b\x8a\xdf\x2d\x5f\xd7\x20\x91\x6e\x73\xed\x8e\xd5\x91\xd3\x8d\xf3\x7a\x9f\x30\x18\xf9\x1c\xf1\xfb\xde\x6a\x6a\xda\x26\x1d\xc5\xb7\xa4\x5b\x17\x0b\x44\x19\x1c\xe9\xd5\x7a\x70\xc7\xa5\xed\x0a\x0e\x0d\x22\xdf\xab\x71\xd1\x15\xc2\x78\x74\x27\x36\xaf\xb4\x71\xdc\xe2\x10\xe5\x4f\xad\xb8\x65\x2a\x0f\x30\x3a\x64\x32\xf0\x7f\x7e\xc2\xff\xf8\x97\xff\xef\xef\xdf\x85\xfb\x1f\xde\xfc\x4b\xba\x36\x89\xe6\x7b\x1a\xcd\xef\x7f\xfc\xeb\x5f\xff\x98\xdf\xfb\x7c\xef\xeb\xa8\x68\xff\xf1\xaf\xff\xf2\x0f\xef\x9d\xfe\xeb\x5f\x30\xfa\x17\xe8\xc7\xbf\x10\x08\x26\xfe\x82\x1e\xff\x0e\xe1\xff\x0e\x3f\xfe\xba\x41\x10\x04\xfd\x33\xf0\xbf\x5f\x24\xa8\xbb\xec\xbe\xbe\xc7\xa9\xe8\xda\xff\xae\x04\xfe\xff\x71\xe2\x7f\x85\xf4\x3f\xaf\x15\x81\x60\xfc\xdf\x20\xe2\xdf\xe0\x7f\x06\x2c\x2b\xe6\x3b\xcf\x00\xfa\xbf\xc3\xbc\xd2\x04\x86\xe1\x18\x7f\x26\x8f\x37\x1e\x7d\x9e\x44\x02\xc7\x68\x04\x25\x31\x1a\x43\x58\x84\x20\xd1\x33\x4d\x3e\xf8\x13\xfb\x4f\x4a\xfe\xe5\xff\x06\x00\x00\xff\xff\xc8\xb9\x7a\xaf\xfb\xf8\x07\x00") +var _staticJsHtermJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x7b\x77\x1b\x37\x92\x38\xfa\xbf\x3f\x05\xa2\xc9\x86\xa4\x4d\xf1\xa5\xb7\x1d\x25\x4b\x5b\x56\xc6\x7b\x1c\x27\xd7\x76\x66\x7e\x7b\x64\x8d\x17\xec\x06\x49\x44\xcd\x6e\x06\x00\x25\x31\x89\xe6\xb3\xdf\x53\x85\x37\xba\x49\x2a\xb3\xbb\xbf\x7d\xdc\x6b\x45\x0c\xd5\x5d\x8d\x2e\x14\xea\x8d\x02\xd0\xef\x93\x8f\x73\x2e\xc9\x94\x17\x8c\xdc\x51\x49\x66\xac\x64\x82\x2a\x96\x93\xc9\x9a\x14\x7c\x92\x57\xaa\x3f\xe1\x65\x3f\xab\xca\x8c\xaa\x9e\x9c\xf7\x9e\xf4\xfb\xe4\x8d\x22\x73\x2a\xc9\x84\xb1\x92\x2c\xa8\xb8\x61\x39\x11\x8c\xe6\xfb\x55\x59\xac\xc9\xb4\x12\x64\x5d\xad\x04\x91\x74\xca\xd4\xba\x47\xc8\x7b\xaa\xe6\x4c\xc0\x83\x6a\x4e\x4b\xc2\x72\xae\x08\x57\x24\xe7\x82\x65\xaa\x58\x77\xc9\xb2\x60\x54\x32\xb2\xa8\x72\x3e\x5d\x93\xaa\x64\xa4\x9a\x12\x35\x67\x92\x11\x59\xad\x44\xc6\xe0\x59\xc0\x51\xf6\x7a\x80\x00\xfc\x69\x90\xfb\x59\xf6\x0b\x3e\xe9\xfd\x2c\x6b\xd7\x3e\x2f\xab\x62\x3d\xe5\x45\xd1\x78\x33\xab\x8a\x4a\xc8\xc6\x5b\xd3\xc6\xab\x0b\x26\x25\x9d\xb1\xcf\x0b\x5a\xd2\x19\x13\xcd\x6f\x14\x6c\xca\x04\x2b\xb3\xed\x60\x82\xe9\x5e\x35\xde\x94\xaa\x12\x74\xb6\xf5\xde\xe7\x6c\x2e\xaa\xc5\x76\x90\xa2\xca\x68\x73\xcf\x2d\xc4\x82\x2d\x2a\xb1\x6e\x04\x51\x4c\xaa\xad\x3d\x58\xa9\xe9\x69\x7c\x43\xcd\xb9\xc8\x3f\x2f\xa9\x50\xeb\xfe\x5d\x76\xc7\x73\x35\x47\xc8\xbb\xcc\xc0\xcd\x15\x13\x0b\x78\x1e\xbf\x34\x5e\xfc\x3c\x15\xd4\x75\x2b\xb9\x75\xc3\xd6\x93\x8a\x8a\x7c\xfb\xdd\xcf\x13\x5e\xe6\xbc\x9c\xc9\x1d\x60\x37\x6c\xbd\xa0\xcb\xdd\x40\x4b\xaa\x14\x13\x65\x33\x60\xb5\x54\xbc\x2a\x37\xbc\x6a\x49\x85\x74\xc4\x6b\xbc\xf7\x99\xe7\xac\x54\x7c\xca\x99\xd8\xd4\xc6\x26\x76\x4a\xe1\x56\x13\xb9\x9a\x34\xdf\x93\x99\x60\x6c\x43\x07\x64\x26\xaa\xa2\x58\x56\x42\x35\xdf\x87\x0f\x5e\x3a\x36\xda\x70\xf7\x33\xaf\x36\x01\xdc\xab\xcf\x54\x29\xc1\x27\x2b\xc5\x36\xf4\xf1\x76\xc3\xbb\x6f\xd5\xe7\x6c\x4e\x05\xcd\x14\x13\x9f\xdd\x58\x3d\x01\xc8\x0f\x3f\xfc\xf4\xfe\xd5\x6b\x72\xf9\xe6\xed\xeb\xe7\x8d\x6a\xe0\x55\xb5\x5c\x0b\x3e\x9b\x2b\xd2\xce\x3a\x64\x34\x18\x8e\xc8\xc7\x39\x23\xaf\x40\x6a\xf8\x6a\x41\x7e\xf8\x40\xc6\x2b\x35\x07\xf9\x27\xe3\xa2\x20\x08\x2b\x89\x60\x92\x89\x5b\x96\xa3\x8a\xfb\x49\x1a\x25\xc4\xa5\xd1\x41\x24\xab\x72\x46\xb8\x24\xb3\xea\x96\x89\x52\xab\x48\x4a\x5e\x7e\xb8\xd8\x97\x6a\x5d\x30\x52\xf0\x8c\x95\x92\x81\x92\x53\x24\xa3\x25\x99\x68\xbd\x55\xad\xca\x9c\xf0\x12\x14\x1a\x79\xfb\xe6\xd5\xeb\x77\x1f\x5e\xa3\x32\xeb\x3d\x79\xd2\x5a\x81\x8a\x53\x82\x67\xaa\xf5\xe2\xc9\x13\x3e\x25\x6d\xb5\x5e\xb2\x6a\x0a\xfd\x22\x5f\x9c\x93\xd6\xaa\xcc\xd9\x94\x97\x2c\x6f\x75\x9e\x10\xa2\xe6\xa2\xba\x23\x25\xbb\x23\xaf\x85\xa8\x44\xbb\xf5\x5d\x51\x4d\x68\x41\xf6\x0a\x3e\xd9\x23\xd5\xe4\x67\x96\x29\x42\x0b\x50\xc6\x6b\xc2\xee\xb9\x54\xb2\xd7\xea\xbc\x78\xf2\xe4\x96\x0a\x6c\xf2\x9c\xfc\xf6\xf0\xe2\xc9\x93\xfe\xd3\xa7\x4f\xc8\x53\xf2\x3d\x5d\x42\x27\xf7\x72\xb6\x64\x65\xce\xca\x6c\xbd\x47\x54\x45\xae\xf6\x74\x8f\xf7\xba\xa4\xd7\xeb\x5d\xf7\x9e\x10\x84\x7e\x4d\xb3\x39\xf1\xa0\x40\x0a\x6a\xdf\x59\xd2\x05\xeb\x92\x82\xdf\x30\xc4\xa5\x37\x95\x7b\x5d\x62\x9b\x01\x48\xe8\xfc\x4a\x14\x48\x1c\x68\x4c\xb7\x23\x49\xa5\xe9\xa2\x9b\x81\x37\xf5\x9f\xc0\xf3\x62\x55\x2a\xbe\x60\x17\xf6\x6d\x9c\xc9\xcf\x09\xf2\x6f\xb9\x54\x80\xfd\x74\x55\x66\x28\x88\x9a\xf0\x25\x63\x39\x74\x62\xc2\x08\x2f\x6f\x2b\xb0\x4d\xf9\x4a\xf0\x72\x06\xfd\x17\x54\xac\x09\x2f\xb9\xe2\xb4\xe0\xbf\x52\x78\x2c\xea\x1d\x2b\xd8\x82\x95\xca\x8e\x16\x40\xbe\xa2\x45\x31\xa1\xd9\x8d\xfc\x4c\xa8\x10\x14\xbb\xcd\x95\x64\xc5\x94\x50\xa2\xee\xaa\x7d\xfb\x0c\xde\xed\x61\x53\xe6\xca\x40\x93\x48\xce\x2b\xa1\x70\x94\xcb\x19\xc9\x99\xcc\x04\x9f\xc0\x57\xec\xf7\x5d\xc9\x84\xb1\x76\xf8\x3a\x22\xaa\x95\xe2\x25\xeb\x92\x95\x64\xd3\x55\x01\xed\x81\x45\xcd\xd9\x64\x35\x9b\xf1\x72\xd6\x23\xae\xfd\xa1\x25\x6c\x66\x70\x74\xb4\xf0\x84\x4c\xba\x70\x4e\xae\xae\x3d\x09\xdf\xb3\xac\x12\x39\xe0\x68\xe8\x1d\x0c\xaf\xa5\x0b\xfa\x07\x9a\x9b\x0d\x4a\xe4\x6e\xce\x4a\x30\xf1\xe4\x8e\x96\x0a\x68\xcd\xee\x97\x82\x49\xd3\xce\x7e\xd2\x10\xd1\x03\x9e\x55\x8b\x25\x78\x19\x70\xb7\x47\xc0\x85\xe0\x92\x94\x15\xd0\x5a\x01\xa4\x1d\x34\x4a\xa6\xab\xa2\xd8\x9f\x16\x2c\x9f\xb1\xdc\x0d\x9a\x5c\x4b\xc5\x16\xa4\x12\x9e\x79\xb0\x71\x25\x68\x76\xc3\x04\xb6\xd8\x92\xe4\xe7\x95\x54\x40\x12\xc1\xa0\xb9\x05\xbd\x61\xe0\x69\x2c\x2b\x29\xf9\xa4\xc0\x6b\x48\x48\x00\x31\x0d\x49\x72\xc7\xd5\xbc\x5a\x29\xc0\xbd\x84\x71\xa1\x45\xa1\xa9\x5a\xe5\xcc\x52\xe1\x07\xcf\xe6\x92\x50\xc1\x88\x5c\xb2\x0c\x74\x77\x4e\xa8\x34\x63\x2b\x7b\x84\x5c\x56\x82\xb0\x7b\xba\x58\x16\x0c\x5c\x15\xfd\x30\xfc\x43\xa6\x56\x39\x5b\xb6\x5b\xf0\x55\xbb\x1f\xad\x2e\xc1\xbf\x7e\x74\x8a\xfe\x7b\xad\xe7\x41\x66\x1b\x5e\x8c\xbc\x0d\x34\x9b\x30\x22\xaa\xca\xb8\x69\xd0\x44\xab\x47\xc8\xbf\x56\x2b\xb2\xa0\x6b\x18\x25\xad\xb7\xb0\xb7\x59\x01\xe8\xd2\x84\x6c\x55\x49\x68\xb9\x0e\xc4\x4e\x0f\x35\x23\x59\xc1\x81\xb5\x96\xa2\x9a\x09\xba\xc0\xf6\x80\xbb\x10\x7f\x56\xca\x95\x60\xef\xeb\xa2\xd9\xee\x10\x0a\x1c\x4e\x85\x5a\x2d\x09\x2f\xa1\xb1\x4a\xe4\x4c\x20\x73\xe0\x53\x5a\x38\xa1\xa5\x1a\xab\x71\x26\xc9\x9c\xde\x32\xe3\x4f\x32\x87\xcf\x3f\x2f\x29\xe0\xf0\x9b\x26\xef\x03\xb9\xa5\xe2\x33\x15\x33\x49\x7e\x00\x0f\x51\x90\x45\x25\xac\xe6\x90\xcd\x03\xe2\xf5\x09\x90\x9e\x9c\x3b\x01\x69\xdb\xb6\x3a\xe4\xb7\x27\x04\x5a\x36\x5a\xfe\xc5\x13\x50\xb3\x62\x8d\x97\xeb\x0a\x17\xc6\x85\x3c\x90\x8c\xaa\x6c\x4e\xda\xec\xbe\x63\xe0\xb0\x01\x45\xb3\x9b\x31\xea\x88\x73\xc2\xee\x7b\xf8\x77\x4f\x2e\x0b\xae\xda\xad\x4f\x25\x8e\x29\x21\x04\xfc\xe7\x92\x7c\xa0\x53\x2a\x78\x17\x19\x4d\x30\xb9\x2a\x14\xb0\x5e\xd0\xc4\x1d\x2f\x0a\x82\x0e\x35\xd2\x66\x64\x75\x93\x24\xb4\xcc\x35\xff\xea\xc6\xc0\xe3\xb9\xe5\xf9\x8a\x16\xb6\xdb\xc8\xa0\xd3\x4a\x2c\xc0\x7b\xc9\x49\xce\xa7\xc8\x5d\xaa\x00\xa1\x26\x84\x80\x99\xf1\x6f\xea\x15\xac\x9c\xa9\x39\xf9\xe6\x9c\x1c\xd8\xee\x10\x6b\xf3\xce\x03\x94\xae\x46\xd7\x3d\xc1\x96\x05\xcd\x58\xbb\xff\xb7\x4f\xf2\x29\x55\x9f\xe4\xb3\x7e\x97\xb4\x6c\xd7\x1e\x08\x2b\x24\xdb\xda\xc6\x30\x69\x63\xa6\x0d\x18\xc8\xda\x3f\x47\x4d\x01\x9d\x61\x2c\x40\xf9\xc1\x68\x11\x4e\xce\xc9\xe0\x05\xe1\xe4\x6b\x42\xc5\x6c\x85\xb4\x30\xb8\xbf\x20\xfc\xd9\xb3\x70\x28\x96\x54\xcd\xc9\xb9\x87\xbb\xe2\xd7\x2f\x5c\xd7\xf1\x26\x2f\xa5\xa2\x65\x06\xa6\x16\x11\xf3\x3d\x77\xec\xd2\xa3\xcb\x65\xb1\x6e\x17\x7c\xd2\xc5\x06\x9b\x3b\x09\xaf\x03\x05\x75\x8e\x32\xd7\x68\xb8\xae\xe0\x69\x83\x80\x46\xe1\x0b\x2a\xd6\x1d\xf3\x37\x79\xdc\xe3\x46\x75\xbb\x27\x7a\xcb\x95\x9c\xb7\x35\x89\x23\x9a\x05\x26\xf2\x35\x8a\x9e\xdc\x21\x7b\xc0\x2d\x0b\xa6\xba\x20\x52\x10\x9e\xdd\x67\x0c\x3d\x5b\x6d\x5d\x44\x75\xe7\x6d\xe4\x2d\x13\x6b\xb2\x2a\x17\x4c\x35\x58\x0c\xcd\xb2\x13\x46\x8a\x6a\x36\xd3\xfa\x1c\xb8\xfb\x5f\x3e\x90\xac\x2a\x65\x55\xa0\xda\x9f\x1a\x73\x00\x11\x9f\xc2\x50\x2f\xf6\x28\x74\xe3\xa8\xbe\xb0\x39\x41\xb9\x64\x11\x5a\x5e\xa8\x37\xea\xa3\xcf\xa1\xa4\x7b\x09\x5f\x52\x29\x59\x0e\xa4\x16\x2b\x2d\xe8\x8e\xb9\x0c\x4f\x90\x4d\xbe\x47\x24\xe7\x48\x73\x74\x3f\xce\x37\x3e\x10\x8e\x39\x3c\xa4\x15\xf8\x39\xbe\xc8\xea\x04\xed\x9a\x79\x9d\x40\x49\x5e\x65\xc8\xb0\x40\x31\x70\x9f\x49\xeb\x8e\x97\x79\x75\xd7\xb2\x96\xde\x88\x8b\xd1\xdb\x44\x3f\x75\x57\x89\x1b\x26\x08\x57\x2d\x69\x5b\x03\x9d\xcd\x72\xd2\x02\x3f\xa5\xd5\x73\x58\x54\x93\x9f\xc9\x39\x69\xeb\x46\xc9\xef\xbf\x13\xb8\x6f\xb8\xa7\x49\xd0\x10\xeb\x26\x21\x33\x6c\xdc\x46\x80\x2b\x7e\x0d\xb4\xab\x26\x3f\x77\xfc\x7d\xe2\x46\xfd\x8e\x8a\xb2\xdd\xfa\x9e\x4b\x09\x2a\x6e\xaf\x45\x9e\x69\x72\x3f\x23\x2d\x74\x0d\xc1\xaa\xa1\x25\x6b\x75\x03\xda\x76\x5e\xb8\x86\xdc\xb8\x4d\x69\x21\x99\xbf\x3e\x11\x8c\xde\xd8\x3f\x1f\x9e\x98\x2f\xba\x8f\xd5\xe4\xe7\x2b\x8b\xdc\x75\xa2\x52\x10\x75\xdd\x68\xa7\x51\xcb\xb7\x2e\x29\x07\xf2\x35\xf0\x78\x36\x67\xd9\x0d\x8c\xdb\x43\xe8\x46\xcd\xb8\x54\x0c\xa5\x27\x76\x2e\x23\x87\xcc\x9a\xd8\x0d\x20\x5a\x10\xad\xcf\xca\x4b\x22\xb0\x59\xa1\xa1\xb4\x39\x05\xcf\x0b\xa5\xc7\x78\x76\xed\x0e\xba\xa3\xfa\x19\xf0\x0c\xc1\x89\xb5\x0d\x1a\x01\x62\x19\xe3\xb7\xe0\x57\x01\xf9\x0b\x46\xd0\xa8\x32\xc5\x44\x97\xdc\xcd\x79\x36\x87\xf6\xd0\x4f\x75\xcf\xc5\xde\x33\x7a\x7b\x5c\xa1\x03\x57\x30\xc5\xd0\xfd\x85\x56\x54\xe8\xb7\xd6\x1d\xea\xd4\x7a\xc3\x68\x90\xb1\xf1\x86\xb5\x1b\xbc\x54\x80\x19\xde\x68\x70\x81\xad\xbb\x39\xd5\x4e\x1f\xfc\xf3\x5e\x70\xf8\x06\x27\xea\xf6\x4b\xe7\xc1\xbb\xc4\x5b\x28\x0e\x1d\x15\x66\xec\x74\x83\x82\xa9\x95\x28\x7d\x8b\x0f\xda\x27\xb2\x6d\x39\xd2\x05\x8e\x85\x79\xfe\x0d\x20\x1e\x68\x1d\x1d\x10\xd9\x27\xb5\x58\xd4\xfd\x71\xad\xc4\xaf\x62\xe0\x6b\x64\x7d\x83\x8a\xbd\x18\x31\xdc\x1b\xdb\x1f\x86\x44\x33\x3e\x72\xe4\xb1\xe3\xd8\xd7\x5c\x2f\x83\x6c\x13\x6b\x47\x96\x80\x96\x39\xb2\x05\xb2\x00\x7a\x8a\xc1\xa3\x9b\xf8\xd7\xbe\xff\x4d\x7c\x1f\x78\x4b\xae\xcb\x6c\x2e\xaa\xb2\x5a\x81\x93\xfc\xd1\xe3\x6c\x83\x00\x1d\xb1\x82\x0a\x02\xef\x15\x70\xc3\xc8\x07\x43\xa4\x12\x69\xeb\x06\x2d\x60\xf8\x84\xd3\xbc\xca\x7f\xb0\x4f\xc1\xab\xc2\xe1\x36\x3d\xd2\x3c\x9d\xe2\x69\xb9\xcc\x72\x7a\x33\x93\x3d\x85\xd6\x97\xea\x73\x51\xcd\x2e\x6d\xcb\xe3\x92\xe8\x6c\x10\x2d\xa2\xd7\x49\xa6\x09\x89\x0a\x33\x7e\x9d\x60\x05\xe6\x59\x8b\x6a\x46\x4c\x6e\x11\x3c\xf6\x38\x72\x0b\x39\x4a\xf7\xa8\x9b\xbe\xdb\x9b\x37\xed\x46\xd4\x99\x0c\x6d\x0c\x2a\xf6\x92\xab\x77\x60\x55\x6a\xd6\x51\xeb\x44\xe0\x21\xad\xeb\x3b\x91\x7b\x23\x58\x86\xce\xd4\xba\x27\xe7\x7c\xaa\xda\x9d\xd0\x95\x49\xd1\x71\xda\x39\xb9\xd1\x6e\xc1\xeb\x9f\x13\x50\xff\x82\x65\x57\x83\x6b\xd7\x0c\xfc\x39\xbc\x6e\x63\xde\xa0\x47\x0b\x2a\x16\x6d\x8b\x6a\xa7\xd9\xe9\xd2\xb4\x68\x87\x7e\xcf\x0b\xab\xd9\x4d\x02\xc5\x30\xc0\x17\xe7\xa4\x65\x3b\xdb\xda\xa0\xed\xad\x69\xaa\x80\x44\xb7\xb4\xe0\xb9\xf3\x1c\x9f\x9b\x76\x8c\xa5\xde\xee\x75\xb4\x35\x90\x64\xea\x23\x5f\xb0\x6a\xa5\x5c\x37\xba\x64\xa0\x4d\xc6\xd6\xf4\x55\x9a\xb1\xf6\x79\xac\xd1\x60\x78\xf2\x3f\x24\x87\x65\x54\xd4\x3f\xc3\x5d\x78\xc9\x2d\x67\x77\xe4\x47\xd3\x31\x89\x22\xfe\xfa\xc3\x68\x30\x3c\x7e\x46\xa6\x8c\x2a\xf4\x4f\xef\x98\x4b\x25\xac\x24\xd3\x22\xa0\x73\x82\x6a\x29\x9f\xf7\xfb\x39\xbb\x65\x45\xb5\x64\xa2\xb7\xa8\x7e\xe5\x45\x41\x7b\x95\x98\xf5\x59\xb9\xff\xd3\x87\x7e\x5e\x65\xb2\xff\x57\x36\xe9\xff\x0b\xbd\xa5\x1f\xd0\xa8\xf4\xdf\xdb\x70\xba\xaf\xf3\x63\x9f\x75\x14\x2d\xfb\x1f\xd0\x16\xf5\x97\x34\xff\x00\xc1\x2a\x26\xdc\xbe\xd0\x17\x7b\x4b\x51\xa9\x0a\x98\xa7\x67\x6f\x6b\x29\xd8\x78\x3b\x14\x23\x45\xc5\x8c\xa9\xb7\x28\x3c\x10\x2d\xe4\xfa\x29\x2b\x47\xe0\xdf\x69\x03\x67\xd2\x40\xa0\x14\x4d\x9a\xae\xa8\xca\x19\x61\x65\xb5\x9a\xcd\xbb\xa0\x0b\xe7\x98\x1b\xaa\x48\x5e\x7d\xa1\xd9\x35\x68\x9a\xec\x9b\x38\xc1\xb8\x64\x4e\x74\x23\xa0\xaf\xcf\xc9\xa0\xe3\x64\x0b\xcd\x88\x46\xa7\x0d\xcf\x5a\x9f\x53\x87\x42\x06\x51\x72\x7e\x7e\x4e\x5c\xae\xd1\x3e\x1c\xdc\x26\x2d\xd2\x8a\x9c\xd5\x8c\x4a\x6d\x7d\x96\x34\x87\xee\x2c\x20\x84\x5d\x16\x8c\x64\x73\x2a\x24\xf6\xaa\xd7\x8c\xde\x37\xbe\x5d\xab\x6e\x1a\xde\xe7\x61\x04\x5b\x32\xaa\xda\x71\x23\xfd\x7a\x23\xe4\x19\x19\xda\xce\x99\x6e\x7b\x18\x09\x9c\xdd\x1e\x74\x23\x72\xc2\x23\x31\x65\x50\x91\x3c\xfc\x67\x33\xdf\xeb\x32\xdf\xcc\x7a\xaf\xcb\x7c\x33\xe3\xbd\x2e\xf3\xff\x9f\xed\xfe\xdb\xb3\x5d\xd8\x6d\x8c\x76\xb6\x73\xa1\x63\xbb\xed\xd6\x21\x9a\xb2\xfc\x1f\x3b\xc7\x61\xec\xc3\x3b\x88\xcd\x96\x34\xc3\x44\x15\xc1\xae\x91\x95\xe2\x05\x57\x9c\x05\x79\x3b\xdd\xe7\x24\xf3\x7f\xc9\x85\x54\x10\x2b\x2e\xc0\x37\x2f\x4b\x9c\x7e\x9e\xad\x0a\x2a\x6c\x26\x1a\xc3\xa9\x3b\xd6\x12\x8c\xcc\x2a\xc3\xd8\x80\x06\x62\x68\xe6\xbb\x8d\xf7\x68\xdd\xb3\x8d\xff\x5e\xbe\x1f\xbf\x7a\x4d\xfe\xf5\x87\x9f\xde\x7f\x78\xfd\xf6\xf2\x31\x4f\x10\x42\xba\x7f\xff\xfb\xdf\xff\xde\x7b\x0c\xe4\xef\xdf\x7c\xfe\x9a\xfc\xfd\xef\x8f\x00\x3d\xf8\xb7\xfd\xfd\xfd\xd6\x7e\xff\x31\xcd\x1e\x3c\x87\x7f\x9f\x6e\x3f\xed\x86\x3d\xaf\xce\x35\x70\xf7\x11\xc0\xe4\x77\x62\x80\x11\x7a\xcb\x03\x1f\xff\xfc\x9a\xbc\x7f\xfd\xdd\x4f\x6f\xc7\xef\xc9\xeb\xff\xf3\xe3\xfb\xd7\x1f\x3e\xbc\xf9\xe1\xdd\x87\xdd\xaf\x18\xbf\x7f\x4d\x5e\xfd\xf0\xfd\x9b\x77\xdf\x05\x41\xb3\x60\x2d\x08\x14\xc8\x1d\x5d\x63\x78\x0a\x91\xbf\x56\x61\xef\x5f\x93\x82\x2b\x26\x68\x01\x71\x01\xf1\x8a\xb8\x47\xc8\x25\xbf\xd7\x9c\x7a\x37\x5f\x93\xbc\x2a\x5b\x98\x7a\x5a\x57\xab\x6f\x09\xf9\x61\x8e\x61\x0e\xa1\x85\xac\xf4\x8c\x41\xf4\x86\x3b\xc1\x15\x06\xcd\x5a\x31\x60\x2b\x79\xc5\x64\xd9\xd2\x33\x16\x62\x29\x18\xb6\xc6\x64\x46\x97\x2c\x08\x7e\xa4\x62\x34\xef\x82\x4f\x23\x55\x55\x2d\x75\x1a\x8c\x4b\xe2\xf2\x9e\x1d\x02\xc2\x70\x93\x32\x79\x4f\x30\x9c\xe2\x7a\x82\xaa\xee\xd5\x87\x0f\x64\xce\xee\xb5\x64\x74\xc9\x9f\xde\x7f\xf7\x12\xf4\xda\x9c\xdd\x0f\x8f\x9f\x93\xfe\x9f\xda\x57\x74\x7f\x3a\xd8\x3f\xbb\xee\x34\x7d\xeb\xf3\xee\x93\x0d\xed\xbc\xff\xee\xbb\x97\xb6\xa9\xd1\x61\xd4\xd4\x6f\xa3\x87\xce\xe6\x3f\xe2\x36\xc5\x6c\x62\xdb\x14\xb3\x49\x5b\x08\xd1\x9d\xcd\x66\xdd\xc9\x64\xd2\x81\xc6\xc5\x6c\xf2\x1c\x5d\xec\xf7\x6c\xf6\xfa\x7e\xd9\x36\x9a\xb6\xdd\xfa\x5b\x5f\x3e\x15\xb3\x49\x5f\x3e\xed\xb7\xfb\xf2\x69\xbb\x9f\xff\x36\xec\x1e\x3c\x74\xfa\xf2\x69\x37\xfd\xbb\x45\x9e\xd9\x68\xa2\x95\xdc\xeb\xc3\xc7\x97\x2d\x7b\xbb\xe3\x93\xca\x9f\xfa\xfd\x59\x97\xb4\x3e\x7d\x6a\x75\xba\xa4\xc5\x5b\x9d\xc7\x61\xdd\xa5\x94\x5a\xcc\xe9\x56\xd4\x69\x5f\x3e\x8d\x30\xdb\xd9\x8f\xe4\xef\xf0\xe1\xf6\xb7\xcf\xcd\xed\x67\xed\x6f\x9f\xf7\x7b\xfd\xfc\x59\xe7\x5b\x00\xea\xfc\x03\x3d\x7c\xcd\x81\x8f\xc9\xfb\xef\x5e\x42\x28\xf3\xfe\xbb\x97\x63\xd3\xa1\xfb\xed\x1d\xfa\xf6\xff\x4e\x8f\xbe\xfd\x07\xba\x34\x2e\xc9\xff\x19\x0e\xc9\x1e\xf0\x53\x9e\xe7\x79\xdf\x7d\xec\x91\x5b\x5a\xac\x40\x8b\x93\xfb\xe1\x10\xf9\x0d\x27\x14\xe0\x9b\xe7\xdb\x61\xf7\xf0\xa1\xf3\xa9\xbf\xf3\x82\x7c\xfa\xa5\xe7\xef\xd7\xe5\xac\xe0\x72\x6e\xac\x52\x49\x17\xf8\x16\xf8\xff\x73\xd2\xbf\xa2\xfb\xbf\x5e\xc3\xc7\x60\xff\xec\x93\xbc\x7e\xd6\xef\x86\x99\x99\x57\x55\x79\xcb\x84\x22\xd4\xb2\x5b\x3b\xcf\xf3\xae\xf9\xed\x98\x16\x11\x71\xd0\x22\x15\xa1\xba\x7f\xc1\x75\x37\xe3\x88\x63\x09\xad\x04\x37\x4d\x8e\x70\x56\x56\x42\x27\xd8\x4d\x86\x47\xd2\x92\x2b\x88\xff\x73\xaa\x28\x99\xd3\x32\x2f\x4c\x92\xcc\x4d\x6d\xb7\xf2\x3c\x6f\x61\x6a\xa3\x2a\x71\x8a\x1b\x67\xef\x4b\x46\x26\x6b\xc5\x0c\x4a\x7e\x0e\x8d\x97\x24\x67\x19\x5f\xd0\x62\xf3\x64\x1c\x3c\x81\x3e\x47\x8c\x23\xa0\x95\x69\x32\xc4\x49\x35\xfb\x24\x3c\x93\x74\x1a\xf8\xb5\x5c\x15\x05\x78\x6d\xe0\x42\xe8\x8b\x59\xb5\x2a\xec\x7c\xa7\xcf\xcd\x60\xcb\x3a\xf9\x13\xab\xcf\xd9\xe4\x63\x05\xed\x46\xb3\x7c\xc5\x8a\x69\x6f\xd8\xa5\x65\x64\x46\x0b\xd6\xbe\x75\x19\x7d\x72\x4e\xda\xdf\x53\x35\xef\x2d\x78\xd9\xbe\xed\x92\xd1\xd1\x51\x87\x3c\x25\xa3\xa3\x93\x4e\x4f\x55\xc6\x95\x1b\x1e\x9b\x5c\x83\xe9\x8c\xce\x55\xfc\xba\xa4\x39\x3c\x72\xa8\x5d\xb8\x27\x51\x22\x46\x8f\xe6\x82\xaa\x6c\xde\x8e\xb5\x3c\xa0\x7a\x8f\x8f\xc4\x73\x41\xa6\x6d\x20\x04\xfa\x93\xe6\xef\x16\xb0\x74\x8b\x3c\x33\x98\x53\xb1\xbe\x1a\x5e\x83\x5f\xd9\xea\xc7\x57\x47\x8d\x57\x0f\xae\xe3\x6c\xb5\x67\xd1\x82\xcd\x68\xb6\x76\x63\x71\xcb\x52\xd6\xb4\x3c\xdc\xeb\xf5\x3a\x4d\x3c\xfa\x71\xce\xd6\x44\xd1\x1b\xed\x91\x4f\x2b\xb1\x78\x0e\x97\x87\x23\x32\xe1\xea\x39\x1a\x2d\x6f\xd7\xf7\xbf\x21\x7f\x7a\x3f\x18\x0c\xbe\x1b\x0c\x06\x2f\x07\x83\x01\x40\x8e\x0e\x2d\x24\x9a\xa5\x10\xf2\xfd\x60\xf0\xdd\x77\x83\xc1\xcb\x97\x1a\xf2\xe0\xd8\x41\xbe\xff\x0e\x60\x5f\x7a\xc8\xf7\x83\xef\xbe\xfb\x6e\xf0\xf2\xe5\x4b\x84\x3c\x3c\xf5\x90\x00\x0a\xb0\x2f\x0d\xb6\x92\xa1\x00\x01\xb6\x8b\x4a\x2a\x22\xf9\xac\xe4\x53\x9e\xd1\x52\xc1\x43\xce\x8a\x7f\x14\xab\x32\xa3\x56\x2e\x24\xc1\xec\x6f\x5e\xdd\x61\x52\x4f\x23\x4d\x24\x2f\x33\xed\x08\xb7\x24\x66\x57\x81\x5a\x72\xb5\x5c\x56\x42\xd5\x3c\xd8\xde\xfd\x70\xf8\x67\x76\xff\xb1\x02\xa0\x90\x41\x35\x1b\x22\x1f\xdc\xf6\x70\x06\x5d\xfe\x95\xab\x79\xbb\xf5\xa7\x56\xa7\x81\x2b\x50\x3f\x01\x4f\x2e\x75\xe6\x97\xd1\x1c\xdc\x93\x3f\x91\x6a\x3a\x05\x25\x05\xdc\x7c\xdb\x93\xab\x89\x54\xa2\x6d\xc2\x92\x7e\x9f\xbc\x67\x58\x45\xb0\x2a\x6f\x4a\xe8\x84\xe4\xbf\xa2\xc7\x82\xef\xbd\x3a\xe8\x92\xe3\x2e\x39\xeb\x92\xe1\xe8\xba\xc7\xcb\x9c\xdd\xff\x30\x6d\xdf\xba\xf0\xe6\xfc\x9c\xec\x0f\x9b\x19\xd4\xb7\x5c\x56\xe5\x3e\xb8\x19\x9a\x5e\xb6\xe9\x5b\xc3\xfe\xfd\xab\xbf\x19\x75\xdb\xe7\x4d\xbd\x32\xdd\x5a\x16\x5c\x99\xca\x0b\xf4\xfa\xab\x95\xea\xd9\xc9\x79\xfe\x2b\xc3\xae\x15\x36\x0e\x3b\x78\x61\x6e\x89\xb0\xcb\x83\x2e\x82\x76\xec\xcd\x59\x78\x13\xee\x24\xf7\x27\xe9\x7d\x10\x9d\x10\x4c\xa3\xf6\xae\x12\x0b\x93\x6f\xaf\xc8\xf0\xd8\xf2\x8a\x57\x2a\x65\x25\x16\xc3\xe3\x58\xab\x60\x99\xdf\x9b\x52\x81\x86\x48\xf5\x87\xee\xcf\x39\x19\x91\x6f\xc9\x2d\x79\xee\x84\xa4\xdf\x37\xcd\x3f\x09\x3c\x62\x0b\x3c\x44\xe0\xaf\xbf\x26\x87\xfa\x89\x7e\x9f\x9c\xa6\xb0\xb7\xe4\x9b\x6f\x48\xfb\x90\x3c\x25\xba\x3b\xfb\x64\xd4\xe9\xbc\x40\xd8\xd1\x21\xa8\xd9\x83\x91\x79\xe4\xe1\x49\xa4\xcd\x0c\x9f\x62\x15\xd3\xc7\x0a\x9c\x87\xf6\x95\xe8\x92\x59\x97\x4c\xae\x7b\x0b\xba\x6c\xeb\x2e\x76\x36\x28\x93\x9a\x1d\xfb\x23\x4a\x04\x9f\xd5\x4f\x2d\xe8\x1a\xab\x80\xc2\xf6\xf4\xf4\x88\x9e\x9d\x06\x95\x62\x4c\xc6\xd4\x69\x1d\x68\x06\x94\xe4\x7c\x3e\x9f\xf7\xdd\x87\x99\x6e\x0e\x6c\x9e\x41\x4c\x92\x82\x49\xa9\x8b\x91\x0f\x49\xce\x67\x5c\x49\xc2\x95\x99\x01\x58\xd2\x3c\x67\x39\x30\x1f\x0c\xf6\x21\x96\x68\x18\xab\x91\x3b\x1d\x30\xe5\x58\x24\xe6\x26\xd5\xc0\x88\xee\xb6\x94\x29\x89\x1e\x63\x29\x53\xeb\xfa\x1f\x60\x29\xef\x87\xc3\x4d\x8a\x68\x93\x95\xec\xf7\xc9\x8f\x54\x13\xc5\xa8\xc4\x3b\xae\xe6\x01\x1d\xa7\xd5\x4a\x18\x52\xe2\x0c\x0f\x97\x48\x48\x50\x4e\xed\xa5\xa8\x26\x74\x52\x18\x2b\xd7\xef\x13\xd4\x0a\x4c\x92\x7b\x2c\x05\x36\xa5\x5b\x39\x9f\x4e\x79\xb6\x2a\x90\xec\x92\xea\xd9\x20\xed\xdd\xa0\xa6\x45\x60\x22\x19\x5b\x48\xa2\x2a\xdb\x14\x15\x02\x67\x37\xc1\x9e\x99\x91\xd3\x24\x31\x55\x32\x25\x59\x32\x01\x3c\x62\xd2\x05\xd5\x62\xc2\x4b\x33\xa5\x3a\xb5\x8d\xcc\xe8\x62\x01\x7c\x22\x04\xc3\xde\x77\x0d\xc5\x75\x82\x42\x09\x5a\x4a\x5d\x4e\x83\xf7\xa0\xe5\x5f\x56\xb4\x54\x6e\xc2\xd3\x25\x9c\x9c\x7e\x02\x69\xf5\x93\x28\xa0\xdc\x34\x9f\x18\x66\x5b\x52\xc7\x60\x48\xb8\xc9\x9a\xe8\x74\x93\xad\x0b\x74\xb5\xaf\x3d\x42\xf6\xa6\x7b\x64\xc2\xb2\x6a\xc1\xa4\x6f\x6f\x6f\x3a\x9d\x4e\xf7\x7a\x84\x7c\xc8\x68\x81\x85\x85\xc0\x99\x94\x38\x25\xec\x32\x3b\xa6\x86\x19\xde\x31\x3a\x3a\xb1\x85\x04\x92\x2e\x98\x6f\x8d\x4a\x92\xad\x14\xbe\xbd\x9a\x4e\x9d\x5b\xd8\x23\xe4\xaf\x8c\xc8\x1b\x63\x6d\x16\x3c\xcf\x0b\x08\x6b\xd9\x12\x89\x80\xc5\x76\x79\xb5\x9a\x14\x41\x53\x31\xf6\x71\x3a\xd0\x6b\x44\xf2\x8c\x84\x5a\xf1\xa1\x99\x84\xa3\x84\x84\x0b\x5e\x50\x41\x72\x46\x0b\x02\x01\x7b\x8f\xa0\x44\x2d\x69\x2e\x89\xba\xab\x34\x71\x9d\xc9\x4e\x48\xea\xdb\x41\x87\xb7\x0d\xc3\x0b\x3c\x4e\x56\x4b\x43\x9a\x0e\x50\x13\x59\x2d\xc9\x1c\x69\x38\xae\xd0\x0d\xf0\xed\x68\x8a\x97\xeb\x3b\xba\xc6\x70\x3f\xa3\xa5\x26\x89\xe9\x2d\x4e\x5e\x0a\x3e\xe3\x25\x2d\x7c\xb0\xd2\x48\x8e\xdd\xa4\x38\x88\x48\xf1\x71\x2e\x18\x8b\xfb\x0b\x82\x61\x66\xee\x8d\x1c\xd4\x98\x6a\x8a\x98\xe0\x53\x3d\xdf\x16\xeb\xcd\x7a\x64\x38\x98\x5a\x1e\x83\xef\x53\x7b\x1f\xfd\x09\x18\x2c\x6b\x23\x47\x31\x9a\x30\x2c\x48\x1d\xad\x18\xe7\x8c\x8c\x82\x80\xa2\x17\x9a\x3c\xf4\xb1\x45\xb5\x2a\xf3\x76\xd2\x71\xd2\x47\xf2\x37\xf9\xd0\xcd\xfe\xb3\x0e\xf8\x62\x0f\xda\x2b\xaa\x3f\x43\xf8\x63\x66\xc6\xb5\x87\xab\x85\xb7\x17\x10\xb6\xd1\xd3\x6a\xb2\x87\x81\xdf\xd6\xbe\x35\x7d\x67\x85\x64\x1b\x1f\x00\x63\x85\xf6\xd3\x80\x63\x8f\x70\xee\x74\x69\x93\xbf\xc3\x70\x82\x7f\x83\xed\x85\x27\xc0\xea\x22\xef\x35\x1b\x5d\xa9\x57\xca\x98\x3a\x48\xd0\xe7\x2d\xe3\x47\xb7\xe2\x98\x11\x2d\xb1\x9a\x33\x2e\x9c\x21\x36\x65\xc5\x0b\x6b\xb3\xb0\x06\x4e\x47\x97\xce\x6e\x80\x81\xc3\xf8\xbc\xa7\xed\xa8\x31\x35\xb4\x34\x15\xa8\x0e\xb0\xeb\x8d\xa7\x89\xe8\x73\x6d\x1e\xc0\x50\x35\x5b\xc5\xdf\x75\xe9\xe1\xd7\xfa\xaf\x6f\x1e\xc8\xd8\x5a\xd2\xc0\xc0\x0b\x53\x71\x5d\x4d\xfd\x55\xad\xfb\x23\x0b\xd7\x64\x3b\x6b\xed\x63\x1d\x87\xeb\x99\x7b\x81\xf3\x57\x63\x0b\x39\x87\x21\x87\x77\x06\x16\x92\x8a\x99\x9f\x6b\xc7\x3c\x9c\x99\x6d\x0f\x18\x13\x2f\xbf\xf0\x30\xa3\xc3\x46\x98\xd1\xa1\xae\x3e\xb3\xc6\xd6\x20\xd6\x9e\xfb\x82\x52\x60\xd3\x39\xbb\x0f\x34\xc0\xa1\xd7\x00\xa0\xe4\xcf\xe1\xd3\x65\x50\xf0\xc5\x5d\x8f\xec\xbc\x4b\x8c\xf3\x16\x56\x64\x19\x1a\xed\xfd\x69\x8f\x3c\x23\xc2\xfc\xce\xcc\xef\x04\x7e\x5d\x35\x55\x30\xb5\x1e\x0a\x24\xbc\x53\x8b\x24\x76\xa3\xe3\xa7\x82\xc2\x92\xc6\xd4\xb9\x8f\x42\xd9\xb6\x2e\x00\x33\x1a\x40\x47\xb3\x5a\x0d\x3c\x23\xad\x2e\x09\x72\x49\x31\xd4\xe8\x51\x50\x07\x1e\xaa\xd3\x7a\x11\x56\x7c\x51\x31\xdb\x58\xf5\xb9\xa1\xc8\xb4\xb9\xf2\x8d\x8a\xd9\x15\xbf\x26\xe7\x6e\xd8\xf4\x85\xb0\x18\x21\xac\x56\x80\xf7\x46\xb0\x5e\x2d\x18\xaa\x50\x31\x7b\x9c\x7c\x3b\x37\x1a\x44\x37\x92\xeb\x66\xc9\x77\x49\xe9\x29\x99\xf1\x5b\x06\xd6\x0a\xf3\x9b\xbe\x11\x5d\x80\x4c\x8b\xe5\x9c\x92\x29\x67\x45\xee\x8b\x3e\x09\xbd\xa3\xeb\xff\x7e\xfa\xc1\xd1\xa0\xae\x24\x42\xe5\xa6\xd9\xd6\x28\x8c\xff\x44\x4d\x81\x59\xa7\x3f\xa3\x3c\xd6\x35\x45\x4d\xc0\xc1\x6a\x05\x95\xa4\xbe\x62\xc7\xb4\x96\x09\x9a\xdd\x80\xed\xb0\xe6\x6d\x87\x6c\x85\xa2\xf5\x27\x90\xab\x20\x2f\xd5\x6e\x47\x82\x31\xb8\xee\x40\xe8\x08\xb2\xf1\x7b\x18\x30\xd6\xff\xb5\x13\xe1\xc4\xe7\xc8\xe9\x1f\x7c\x6e\x64\x9e\x1b\x74\xe2\x34\x5a\x97\x1c\x77\xfe\x87\xca\xe5\x47\x6a\x8a\xe1\x74\x8d\x50\x26\xa5\x91\x36\x9c\xbf\xe6\x38\xd2\x18\x76\xc0\xc3\x18\x20\xea\x08\x58\xcc\x26\xc0\x41\x20\x79\x71\xe8\xfb\x1e\xdf\x23\x77\x04\x74\x98\x5c\xc0\xec\x43\x3d\x94\x73\xb7\x92\x70\x2e\x67\x53\x9f\x59\xca\xd9\x74\x6b\x6a\xa9\xc1\xf0\x61\x03\xae\xa4\xaa\x21\x7d\xd9\x53\x4c\x2a\x84\x8a\x9a\xca\xd9\x34\x4c\x5d\x36\xfa\x45\xba\xe9\xc6\x8c\xe4\x01\xd0\xe9\x90\x44\x4b\xaa\x42\x32\x1a\xcd\xa5\x65\xb5\x46\x8c\xc0\x7f\x8a\xc5\x71\x1d\x14\xc9\xa1\xaa\x3b\x0f\x8b\xdd\xc8\x37\xe0\x5d\x7f\x4b\xb4\xf9\x20\xcf\xc9\xf0\x45\x9c\x7c\xa5\x68\xb2\xb4\x10\x39\xf3\x43\xb4\x70\xc4\x7f\x8f\xc2\xbf\xf1\x4d\xc6\x0e\x05\xbd\xfd\xe1\x96\x09\x3d\xbb\xe8\x55\x6f\x36\xa7\x65\xc9\x0a\x50\x62\xba\xa3\x7d\x64\x16\xec\x57\xad\x9b\x92\xa9\xb1\xe9\x85\xeb\xa3\x98\x4d\xba\xba\xad\xa6\x7a\xc0\x4d\xda\xc5\xf4\xf8\x5c\x3f\xf9\x28\xa7\x34\x1e\xb9\xef\xf9\x3d\xc4\xdd\x4c\x64\xac\x54\x74\x86\x41\x27\x25\x8a\x63\x05\x7b\x81\xf5\x74\x30\x76\x64\x42\x25\xdb\xd0\x9b\x05\x8f\x74\x27\x40\x76\xb1\x85\xae\x6d\x37\xea\xd1\x70\x43\x97\xe0\x39\x97\xd5\xa3\x62\x3d\xda\x00\x07\x2d\x77\x5e\x6c\x5a\x58\x72\xf8\x82\x3c\x7b\xc6\x43\x15\x9d\xf3\xe9\x54\x17\x3f\x8e\x40\xb9\xec\x23\x0e\x6e\x39\x89\xf9\x83\x9c\x37\x46\x37\xe6\x2e\x38\x23\xd8\xcc\x53\xd7\xa3\x54\xd3\x6c\xa6\xf7\x30\x26\xb8\xce\x91\xd6\x78\xc4\xc9\x88\xb3\x85\x5c\x49\x9f\xf8\x72\x8e\xc0\x0f\x25\x91\xab\x2c\x63\x52\x76\x09\xad\x09\x9a\x5d\xbf\xa1\x91\xc2\x82\xf2\x4b\xad\xb7\x8c\xf5\x0b\xbc\x05\x68\xcd\xc2\x4b\x86\x99\x8c\x61\x6d\x6c\x2d\xd5\xc3\x01\xc6\x5b\x5e\x37\x69\xa6\x08\xb5\x13\xf4\xaa\xd5\xa9\x9b\x49\x0d\xb9\x69\x3e\x85\x06\xe6\x32\x08\x07\x49\x53\xd9\xaa\x53\xef\xeb\x0d\xa6\xe1\xb1\x2f\xfd\x03\xef\x74\x2b\x76\x86\xdb\xd1\x00\xa6\xb0\x0b\x27\x98\x2e\x4f\x7d\x05\xb6\xa0\xfc\xd4\x52\x04\xe9\xa9\x4b\x68\x35\x19\x03\x91\xd5\x0e\xc1\xae\xd4\x2c\xd6\xda\x1b\xa1\x8c\x3c\xca\xc8\x2e\xbd\xf3\xcb\x1c\x95\xe0\xcb\x25\xcb\x81\xa5\x30\x1b\xa6\x97\x9f\x79\xff\x48\x55\xa4\xa8\xee\x98\xc8\xa8\x34\xeb\x7b\x80\x45\xf4\x6b\xd0\xe3\x33\x73\x0e\x5d\x63\xe4\xa4\xe7\xae\xb0\x5c\xbd\x30\x8b\x79\x03\x2c\x55\x85\x51\xdf\x82\x2e\x97\xa6\x74\x2d\x67\x82\xdf\xb2\x9c\x4c\x45\xb5\x30\x55\x6d\x55\x76\x03\xbd\x33\x09\xe0\x9e\xba\x57\x61\x6d\x4f\xf3\x1a\x84\x8f\x76\x86\xc1\xbd\x67\x67\x12\x16\x53\x83\x72\x59\xe1\xe6\x02\x1b\x08\x17\xdb\x65\x6b\xed\xd2\x35\x01\x9e\xf3\xcd\x50\x44\x5a\x0a\xfe\x87\xc4\xdf\x64\x9f\x3d\x04\x2e\x1a\xb8\x46\x4d\x86\x2d\x9d\xeb\x89\x6a\x55\xbd\x85\xe1\x78\x45\x25\x6b\xbb\x04\xc9\x7f\xce\xab\xfc\xec\xbd\x7c\x86\xd3\xf7\xad\xff\x84\x17\x6e\xe2\xee\x8f\x6e\xf8\xf5\x50\x2e\x69\xc1\x94\xaa\x0f\x04\xc2\xbc\x82\xef\x3f\x6a\x88\xd8\x2e\x58\x7f\xe7\x09\x21\xed\x2b\x4c\xac\x31\xb2\x37\x7e\xf7\xe1\x0d\x19\x1e\xef\xe1\x0a\x5e\x42\x48\xeb\x4f\x03\xfc\x07\x86\xfd\x4f\xaf\x5e\xb9\xaf\x87\xaf\xcf\xc6\x83\x63\x7d\xf5\x70\x8c\x57\x0d\xfc\xc1\xe1\xf1\xd1\xf8\x10\xef\x9c\x1c\x1d\x0d\x4e\x5e\xe2\xd7\xc1\xf1\xd9\xe9\xd9\x18\xbf\x5e\x1c\x5c\x9c\xbc\xba\x74\xf0\x47\x47\x47\x27\x47\x07\x78\xe7\xf5\xe5\xe8\x6c\x74\xa6\xe1\x07\x2f\xc7\x43\x7d\xf5\xf2\xd5\xeb\xb3\x43\x0f\x7f\x32\x3a\xbb\x84\xc7\xe1\xce\x68\x30\x78\xf5\xd2\xc2\x1f\xbd\xbc\xd0\xad\xc0\xbf\x57\xad\xae\xcb\xd2\x41\xc7\x8e\xef\x8f\x0d\xb5\xb2\xd5\x44\xef\xa5\x52\xeb\x1e\x7c\x39\xba\x74\x5f\x4f\x4f\xdc\xd7\xb1\xbf\x7a\xe1\xaf\x5e\x7a\xa4\xe0\x41\xd7\xca\xd1\xa5\x6b\xe5\xe8\xd2\xb5\x72\x74\x39\xf6\x57\x2f\xfc\xd5\xa8\x95\xd3\x13\xd7\xca\xe9\x89\x6b\xe5\xf4\xc4\xb5\x72\x7a\x32\xf6\x57\x2f\xfc\xd5\xa8\x95\xb1\xc7\x65\xec\x71\x19\x7b\x5c\xc6\x1e\x97\xb1\xc7\x65\x1c\xe3\x72\xe1\x71\xb9\xf0\xb8\x5c\x78\x5c\x2e\x3c\x2e\x17\x1e\x97\x8b\x18\x97\x4b\x8f\xcb\xa5\xc7\xe5\xd2\xe3\x72\xe9\x71\xb9\xf4\xb8\x5c\x6a\x5c\x2c\x8f\x5c\xba\x41\x82\xaf\xa6\x19\xf8\x6a\x9a\x81\xaf\x63\x7f\xf5\xc2\x5f\x0d\x90\x81\x71\x71\xad\xb8\x41\x82\x2f\xae\x15\x37\x48\xf0\xf5\xc2\x5f\x8d\x5a\x71\x83\x04\x5f\x5d\x2b\x6e\x90\xe0\xeb\xd8\x5f\xbd\xf0\x57\xa3\x56\xc6\x1e\x97\xb1\xc7\x65\xec\x71\x19\x7b\x5c\xc6\x1e\x97\x71\x8c\xcb\x85\xc7\xe5\xc2\xe3\x72\xe1\x71\xb9\xf0\xb8\x5c\x78\x5c\x2e\x62\x5c\x2e\x3d\x2e\x97\x1e\x97\x4b\x8f\xcb\xa5\xc7\xe5\xd2\xe3\x12\x0f\x12\x90\xc5\x34\x03\x5f\x4d\x33\xf0\xd5\x34\x03\x5f\xc7\xfe\xea\x85\xbf\x1a\x20\x03\x14\x75\xad\xb8\x41\x82\xaf\xae\x15\x37\x48\xf0\xf5\xc2\x5f\x8d\x5a\x71\x83\x04\x5f\x5d\x2b\x6e\x90\xe0\xcb\xd8\x5f\xbd\xf0\x57\xa3\x56\xc6\x1e\x97\xb1\xc7\x65\xec\x71\x19\x7b\x5c\xc6\x1e\x97\x71\x8c\xcb\x85\xc7\xe5\xc2\xe3\x72\xe1\x71\xb9\xf0\xb8\x5c\x78\x5c\x2e\x62\x5c\x2e\x3d\x2e\x97\x1e\x97\x4b\x8f\xcb\xa5\xc7\xe5\xd2\xe3\x12\x0f\xd2\xd8\x4b\xd2\xd8\x4b\xd2\xd8\x4b\xd2\xd8\x4b\xd2\xd8\x4b\xd2\x38\x96\xa4\xb1\x97\xa4\xb1\x97\xa4\xb1\x97\xa4\xb1\x97\xa4\xb1\x97\xa4\x71\x2c\x49\x63\x2f\x49\x63\x2f\x49\x63\x2f\x49\x63\x2f\x49\x63\x2f\x49\xe3\x58\x92\xc6\x5e\x92\xc6\x5e\x92\xc6\x5e\x92\xc6\x5e\x92\xc6\x5e\x92\xc6\xb1\x24\x8d\xbd\x24\x8d\xbd\x24\x8d\xbd\x24\x8d\xbd\x24\x8d\xbd\x24\x8d\x63\x49\x1a\x7b\x49\x1a\x7b\x49\x1a\x7b\x49\x1a\x7b\x49\x1a\x7b\x49\x1a\x27\x92\x74\xe1\x25\xe9\xc2\x4b\xd2\x85\x97\xa4\x0b\x2f\x49\x17\x5e\x92\x2e\x62\x49\xba\xf0\x92\x74\xe1\x25\xe9\xc2\x4b\xd2\x85\x97\xa4\x0b\x2f\x49\x17\xb1\x24\x5d\x78\x49\xba\xf0\x92\x74\xe1\x25\xe9\xc2\x4b\xd2\x85\x97\xa4\x8b\x58\x92\x2e\xbc\x24\x5d\x78\x49\xba\xf0\x92\x74\xe1\x25\xe9\xc2\x4b\xd2\x45\x2c\x49\x17\x5e\x92\x2e\xbc\x24\x5d\x78\x49\xba\xf0\x92\x74\xe1\x25\xe9\x22\x96\xa4\x0b\x2f\x49\x17\x5e\x92\x2e\xbc\x24\x5d\x78\x49\xba\xf0\x92\x74\x91\x48\xd2\xa5\x97\xa4\x4b\x2f\x49\x97\x5e\x92\x2e\xbd\x24\x5d\x7a\x49\xba\x8c\x25\xe9\xd2\x4b\xd2\xa5\x97\xa4\x4b\x2f\x49\x97\x5e\x92\x2e\xbd\x24\x5d\xc6\x92\x74\xe9\x25\xe9\xd2\x4b\xd2\xa5\x97\xa4\x4b\x2f\x49\x97\x5e\x92\x2e\x63\x49\xba\xf4\x92\x74\xe9\x25\xe9\xd2\x4b\xd2\xa5\x97\xa4\x4b\x2f\x49\x97\xb1\x24\x5d\x7a\x49\xba\xf4\x92\x74\xe9\x25\xe9\xd2\x4b\xd2\xa5\x97\xa4\xcb\x58\x92\x2e\xbd\x24\x5d\x7a\x49\xba\xf4\x92\x74\xe9\x25\xe9\xd2\x4b\xd2\x65\x24\x49\xc6\xf7\x9b\x09\xb6\xd6\xf3\xd8\x82\x2e\x96\x81\xeb\x77\x0a\x3f\xf8\xdc\x70\x04\x3f\xfa\xeb\x2b\xf8\xc1\xaf\xa3\x63\xf8\xc1\xaf\x07\x03\xf8\xd1\x5f\xc7\xf0\xe3\x30\x3d\xc4\x7f\x78\xe7\xf0\x35\xfc\x68\xe3\x78\x0a\x3f\xf8\x15\x1b\xd1\x6d\x1f\xbf\x82\x1f\xfc\x7a\x72\x0c\x3f\x5e\xbd\x23\x32\x5a\x65\x8f\xe1\x07\xbf\x9e\x1d\xc2\x8f\xfe\xfa\x1a\x7e\xb4\xba\x40\x08\xfc\xfa\x72\x04\x3f\xae\x95\x97\xaf\xe0\x07\xef\xe0\x9b\x34\xee\x17\x03\xf8\xd1\x5f\xc7\xf0\x83\x5f\x11\x57\xdd\x36\x7a\xcc\xaf\xb1\x38\xf9\xba\x13\xc7\x19\xd9\x4a\x08\xe6\x52\x5a\x26\xd2\xe8\xda\x5d\x85\xd6\x7a\x2e\x63\x25\x99\xc0\x3c\xde\xac\x61\x96\x20\xdb\x18\x80\xd4\xe2\x93\x78\x89\x4c\x6e\x6b\xe1\x68\x96\x55\x22\x37\x05\x09\x51\xec\x5b\x0b\x7c\xeb\x6f\x7e\x67\x36\x9f\x80\xd0\x73\x8f\x16\x3c\x63\x93\x62\xc5\xf6\x9e\x63\x5d\x75\x7b\x74\x38\xe8\x92\xd1\xe1\xa9\x2e\x7d\xdd\xeb\x22\x50\xa9\xf8\x2f\x2b\x76\x37\xe7\xca\xc3\x1d\x01\xdc\xc1\x51\x97\x8c\x86\x4d\x70\x43\x0f\x08\x30\x07\x67\x00\x78\xd6\x00\x38\x72\x80\x07\xf0\xd2\xd1\x41\x97\x8c\x06\x87\x0d\x80\x07\x0e\x70\x70\xd4\x25\xc3\xb3\x51\x97\x0c\x4f\x8e\x1b\x00\x0f\x2d\xe0\x10\xde\x3a\x3c\x18\x76\xc9\x70\x34\xb0\x80\xbf\xac\xe8\x82\x0a\x5e\xba\x9e\x0c\x47\x27\xd8\x59\x40\x70\x54\x83\x1a\x3e\x0e\xcc\xf5\x62\x38\x84\x5e\x40\x57\x86\x67\xa7\x35\x30\xd7\x87\xe1\x60\x04\xfd\x84\x8e\x9c\xd4\x51\x73\x3d\x38\xc6\x0e\xc0\xc7\xd0\xf5\xf4\xd7\x95\x48\x46\x0b\x91\xf2\xa3\x05\x00\xc3\x9d\x10\x9e\xee\xa3\x43\x83\xf1\xe8\xe0\x34\x84\xf0\xc8\x9e\x1d\x18\x64\x47\x83\xa8\x8d\x80\xd2\x43\x8b\xe8\x81\x1d\xe4\x09\xe3\xb3\x00\x51\x78\x1a\x3f\xdc\x50\x4c\xb8\xfc\x25\x60\x3c\xc4\x71\x84\x84\x3b\x8e\x20\x86\xbb\x41\x12\x26\x1a\x1e\x74\xc9\xf0\xf4\x20\x02\x49\xd8\xe7\x14\x40\x8e\x4e\x23\x90\x84\x71\x46\x00\x37\x38\xb1\x20\x05\xcd\x6e\x2c\xc0\xa0\x4b\xe0\x3f\x7f\xab\xcc\xe6\x2c\xa7\xc5\xa2\x2a\xf3\x84\xf1\x23\xaa\x85\x92\xa6\xdb\xf0\xa3\x02\xf7\x86\xdb\x6e\x8e\x92\x9b\x6e\xb4\xe0\xe6\x41\x72\x33\x7a\xe5\x61\x7c\x33\x18\xa3\x62\xc5\x6e\x79\x55\x30\xe5\xbb\x7e\xda\x25\x87\x30\xde\x23\x47\x62\x51\xdd\x95\xee\xfe\xf1\x51\x97\x1c\x8e\xe0\x37\xbc\x1d\x8f\xd1\xf1\x21\xfc\x86\xf7\xe3\x01\x3a\x3a\x83\xdf\xf0\x7e\x3c\x3a\x47\x43\xf8\x0d\xef\xc7\x43\x03\x44\x3d\x70\x1d\x5c\x89\x62\x7d\x57\x55\x9e\xf0\x23\x50\x0d\xa7\x87\xd0\xd1\x1a\x50\xc2\x4c\x43\xe0\xdb\xa3\x1a\x54\x8c\xee\xf0\xec\xa4\x4b\x86\x87\x35\xa8\x84\xa5\x4e\x06\xc8\x34\x29\x54\xc2\x55\xc3\xa3\x2e\x39\xb5\x40\x19\xcd\x99\x0a\x99\xe2\xec\x08\xd9\xb2\x4b\x86\xc7\x83\x14\xc6\xab\xa2\xa3\x91\x15\xa6\xa3\x5a\x4b\x5e\x13\xc1\x28\x8d\x46\x67\x21\xa7\x38\x28\x2f\xdb\x48\x2c\xe8\xa0\x67\x19\x07\xe5\x50\x47\x69\x39\x38\x0c\x59\x27\x9b\x53\xa1\x04\x5b\xc9\x06\x45\x3a\xa8\xc1\x34\xa8\xd1\x3a\x50\x83\x12\xad\x03\x35\xa8\xd0\x3a\x50\x5d\x81\x7a\x98\x2a\xab\x0a\x1a\x18\xb2\x21\x0c\x1b\x34\x73\x50\x83\x89\x99\x05\x51\x3f\x38\x4e\x81\x12\x5e\x01\xd4\x0f\x0e\x52\xa0\x84\x55\x10\xf5\xb3\x14\x28\xe6\x14\x44\xdd\xc1\x54\x82\x16\x75\x6c\x4e\x07\xe1\xfd\x04\xdd\xe1\x61\x97\x9c\x1e\x87\x00\x09\xaa\x83\xe3\xb4\x85\x18\xcd\xb3\x21\x60\x11\xde\x4f\x30\x04\x35\x70\xe2\xef\x97\x53\xcc\xfe\x87\xfc\x3c\x1c\x00\x75\x0f\x91\x09\x43\x48\xc9\x8b\x9b\x58\x12\xd1\xe5\x18\x0d\x12\x98\xe1\x63\x80\x12\xed\x7f\x30\x8a\x98\xd9\x00\xc5\x5d\x1b\x21\x5e\x27\x29\x4a\xa9\xeb\x70\x1c\xba\x0e\xd9\x9a\x96\x81\x22\x4d\x8c\x2a\xdc\x1d\x6e\xbf\x1d\x2a\xf0\xc4\xe0\xc2\xed\x50\x85\x27\xd6\x16\x6e\x87\x4a\x3c\x31\xb5\x39\x15\x37\x75\xd3\x12\xdf\x4f\xb0\x6f\x68\x61\x56\x15\x39\x2b\x85\x57\xa4\x46\x87\xc2\xc7\xb0\x09\x2e\xe1\xb7\x53\xd4\x5d\x4d\x80\x09\xdf\x9d\x80\x36\x39\x6c\x02\x4c\xc4\xe4\x10\xcd\x70\x13\x60\x32\x50\x83\x61\x97\x9c\x86\x70\x82\xae\xbd\xc5\x02\x08\xf3\x11\xc1\x30\x16\x51\x64\x10\x98\x74\x03\xb0\xb3\x91\x9b\x39\xbd\xe1\x9e\x5e\x67\xd6\xb3\x70\x6e\x03\x00\x2d\xe8\x8c\x95\x8a\x46\x28\xd7\xc6\xa7\x2a\xf8\x2d\x8b\x70\x3a\xd5\xfe\x47\x20\x63\x31\x9c\x27\x3f\xaa\x13\x2d\xf3\xa3\x46\x50\xaf\x59\x4f\x9d\x7b\x3a\x38\x6c\x04\xf5\xfa\xf5\xd8\xea\xd7\xb3\x41\x23\xa4\x1f\x83\xa1\x65\xa8\xe3\x90\x4f\x2a\x01\xf1\x4f\xcc\x23\x87\x09\x8d\x35\x4c\x83\x9e\xad\x03\x35\xe8\xd9\x3a\x50\x83\x9e\xad\x03\xd5\xf5\x6c\x0c\x93\xcd\xb9\x97\x81\xa3\x83\x2e\xc1\x58\x27\xa6\x17\x02\x79\xab\x86\xaa\x72\x14\x0a\xbc\x87\xf2\xc4\x3f\x01\xdf\x27\x92\x7b\x0f\xe5\xe9\x7e\x74\x68\xdf\x58\x6f\xcb\xa3\x3e\x38\xec\x92\xd8\x22\x03\x94\x60\x79\xca\x66\x61\xdf\x24\xba\xa8\x9e\x90\xe8\x04\xa3\xdb\x12\xf2\x8d\x64\x34\x62\xc4\xe1\x21\xfa\xd3\x40\xf5\xc3\x83\x06\xb8\x61\x1c\x28\xe0\x18\x9e\x35\x01\x06\x6c\x68\x55\xe0\xf0\x74\xd0\x00\x18\x10\xe3\xc8\xc6\x49\x11\x65\x2d\x60\x40\x8f\x23\xab\xd4\x22\xb2\x49\x30\xac\xa1\x6e\x3c\x19\x01\x9b\xa6\x74\x43\xb0\x50\x6b\x1c\x9e\x74\xc9\xc9\x19\xfc\x36\x41\x05\xae\xd8\xb0\xa6\xea\x23\xc8\xc0\x1d\x1b\xd6\xb4\x7e\x04\x19\xb8\x64\xc3\x9a\x01\x88\x20\xbd\x5b\x36\x6a\x54\xe4\x06\x90\x6d\xef\x8c\x5a\x89\x5f\x56\x15\x97\x2c\x32\x3b\xc7\xf0\x11\x82\x25\xe1\x01\x58\xe0\x01\x3a\xce\x16\x86\x4d\x38\x2d\x03\xbe\x1b\x81\x87\x0b\xbe\x89\x87\x60\xcb\x25\x2f\x13\x7b\x8f\x7e\xc1\x49\x02\x32\x7c\x04\x4c\xa2\x07\xe0\xf7\x20\x85\x49\xd4\xc0\x31\xea\x8b\x04\x26\x35\x21\x81\x2f\x04\x20\xf2\x66\x9d\x98\x54\x14\xf2\x60\x98\x3d\xd0\xf0\x51\x50\xa1\xf9\x47\x55\x10\x30\x82\x87\x0a\xbd\x00\x54\x05\x01\x13\x78\xa8\xc8\x19\x18\xc4\x6a\x80\x2f\x22\xf3\xa7\x15\xe1\x51\x24\x18\x00\xc2\xb6\x83\x54\xf9\x2c\x76\xe5\x0e\x70\x34\x0e\xa3\xce\x39\xa0\xe1\xa3\xa0\xfc\xd0\x9d\x1a\xc7\x22\x20\x81\x83\xf2\x83\x87\x9e\xc7\x71\x44\x02\x07\xe5\x87\xef\xb8\x4b\x4e\x4e\x43\x0a\x4c\xb9\x60\x13\xc1\x7d\xb8\x8e\xd4\x3e\x40\x85\x99\x82\xc4\x1c\x07\xdc\x7d\x78\x9a\xc2\xc4\x1c\x07\x9d\x3b\xac\xb5\x13\x73\x1c\xc0\x1d\xd4\xda\x89\x39\x6e\x04\x1d\xb3\xee\xf9\xb4\x00\xf7\x3a\xc9\xb0\xa1\x56\xc1\x74\x9c\x65\xcc\x69\x25\x98\x54\x91\x72\x36\x36\x20\xe8\xdb\x8c\xf2\x52\x4e\x2a\x51\xf9\x80\x78\x80\x6e\x73\xe8\x3b\xcf\xe6\x95\x54\xf1\xfb\xd0\xb9\x8e\x33\x7f\xe0\x6f\x25\x01\x73\x10\x6f\xc1\xdd\x34\x9e\x4e\x6e\x27\xae\x39\xf8\x69\xe1\xed\x34\x82\x3e\x88\x6f\xa7\xa1\xf3\x49\x7c\x3b\x72\x56\x47\xa8\x09\x8e\x81\xf8\xa3\x14\x26\xf1\x2f\xc0\x4a\x39\x95\xb1\xc9\x49\x05\x0b\xe5\x49\xba\xc1\x41\xc5\x3e\x9f\xa5\x40\xa9\x66\x41\x55\x66\x81\x42\xd1\x3c\x43\x7d\xa1\x3f\x82\xfb\x83\xd8\x8f\x0f\x6f\x79\x39\xeb\x12\xf8\x2f\xbc\xe5\x1e\xd3\x9c\x15\x70\x97\xbe\x3d\x48\x38\x2b\x32\x5a\x08\x32\x0c\xe5\x53\xff\x86\xb7\x1d\x85\x0e\x86\x5d\xa2\x7f\xc3\xdb\x8e\x36\xe0\x56\xe8\xdf\xf0\xb6\xa3\x0a\x44\x55\xfa\x37\xbc\x7d\xe4\x6e\x9f\x26\xf2\x83\xb7\x8f\x9d\x2d\x1b\x76\x89\xfe\x0d\x6f\x9f\xb8\xdb\x07\x3a\x7d\x75\x18\xbd\xfb\xd4\xdd\x3e\xee\x12\xfd\x1b\xde\x3e\x73\xb7\x4f\x13\x1d\x10\x99\xf0\xa3\x2e\x81\xff\xc2\x5b\x8e\xa6\x3a\x65\x15\xa4\xad\xf0\xb6\x23\x28\xfa\x74\xf8\x1b\xde\xf6\x2d\x1f\x77\x89\xfe\x0d\x6f\x3b\x82\xea\x7c\x59\x90\x33\xc3\xdb\x3e\xc9\x31\xd4\x2e\xcd\x71\xf4\x6e\x47\x50\x9d\x8d\x0b\x32\x72\x78\xdb\x11\xf4\xf8\xb8\x4b\xf4\x6f\x78\xfb\x24\xcc\xa0\xe8\xdf\xf0\xb6\x23\xe8\xc9\xb0\x4b\xf4\x6f\x78\xdb\x11\xf4\xe4\xb0\x4b\xf4\x6f\x70\xdb\xf5\xeb\xb4\x4b\x4e\x7d\xe0\x86\xb7\x1c\x41\x4f\xc0\x67\xc1\xdf\xf0\xb6\x23\xa8\x76\x67\x02\x97\x06\x6f\x8f\x42\xcf\x48\xff\x86\xb7\xfd\x8b\x0f\xbb\x44\xff\x86\xb7\xbd\x5f\x05\xee\x0b\xfe\x86\xb7\x1d\x41\x21\xcc\xd3\xbf\xe1\x6d\x47\xd0\xb3\x51\x97\xe8\xdf\xf0\xb6\x23\xe8\xd9\x61\x97\xe8\xdf\xf0\xb6\x23\xe8\xd9\x49\x97\xe8\xdf\xf0\xb6\x23\xe8\xd9\x59\x97\xe8\xdf\xe0\x76\xe0\x05\x6b\x4f\x66\x18\xea\x8c\xc3\x81\xbf\x3d\x32\x41\xd1\x70\x10\x22\x77\x38\xdc\xe6\x0a\x20\x84\xf7\x63\x21\x22\xb5\x1f\x21\xc4\x41\x1c\x0e\x9a\x8f\x10\x22\x08\x18\x47\x18\xab\x86\x01\x2b\x42\x1c\x79\x88\x23\x93\x2b\x1d\x0e\x23\x3c\x8e\x3d\xc4\x89\x31\x09\xc3\x61\x84\xc7\x89\xf7\xa3\x31\xb2\x19\x84\x39\x1c\x84\x38\xf5\x10\x23\x8c\x7d\xc2\x00\x08\x21\xce\x3c\xc4\x91\x9d\x09\x18\x85\x78\x78\x44\x31\x33\x0a\xbf\xe1\x5d\x4f\x71\x88\x65\xed\x47\x08\xe1\x29\x8e\x1e\x93\xf9\x08\x21\x3c\xc5\x31\x4c\x33\x1f\x21\x84\xa7\xf8\x01\x06\x3f\x47\x61\xc6\x1b\x21\x02\x4b\x84\x1e\x92\xfe\x08\x21\x7c\x47\x0e\x07\x26\x3e\x1f\x1e\x46\x78\x1c\xc7\x61\xa0\xf9\x08\x21\x3c\xc5\x0f\x31\xc6\x3f\x0a\xb3\xe5\x08\x71\x1a\xc5\x0f\xf6\x23\x84\xf0\x14\xc7\x78\xd4\x7c\x04\x10\x1e\x0d\x34\xbc\x41\xaa\x09\xef\x0e\xa2\x80\xdd\x7e\x84\x10\x41\xcc\x06\xf1\x80\xf9\x08\x21\x3c\xc5\x31\x03\x6f\x3e\x42\x88\x20\x39\x02\x21\xa4\xf9\x08\x21\x02\xb7\x14\x50\x30\x1f\x21\x84\xa7\x38\x68\x5d\xfb\x11\x42\xf8\xae\x1e\xa3\x4f\xa3\x3f\x42\x08\x4f\x71\xd0\xbd\xf6\x23\x84\xf0\x14\xc7\x6c\x9b\xf9\x08\x21\x3c\xc5\x4f\x8e\x71\x2a\x35\x9c\x4f\x05\x08\xff\x12\x1b\x67\x85\x38\x9c\x78\x8a\x83\x1e\xb6\x1f\x21\x84\xa7\xf8\x29\x20\x68\x3e\x42\x88\x20\x21\x70\x68\xe7\x6c\x22\x9d\x7c\xe2\x29\x7e\x0a\x08\x9a\x8f\x10\xc2\x53\x5c\xa7\xdf\xf4\x47\x08\xe1\x29\x0e\xb1\x99\xfd\x08\x21\x3c\xc5\x41\x33\xdb\x8f\x10\xc2\x13\xe3\xec\x18\xe7\x1f\xc3\x49\x48\x84\xf0\x14\x3f\xc3\xcc\xbd\xfe\x08\x21\xce\xbc\xf3\x38\x34\xce\xf0\x68\x10\xe2\x71\xea\x01\x74\xf4\x1b\xe9\xad\x53\xef\xc0\x0d\x30\x2e\x3c\x0c\xb3\x52\x08\x11\xa4\x04\x71\x46\x47\x7f\x84\x10\xde\xcb\x1d\x9c\x61\xa8\x1f\xc6\xfb\x08\xe1\x5d\x5c\x50\xd0\xf6\x23\x84\x38\xf4\x10\x80\x82\xf9\x08\x21\x8e\x3c\x04\xa0\x60\x3e\x42\x88\x63\x0f\xa1\x4b\x03\xc2\xfa\x00\x84\x38\xf1\xe1\x0b\x4e\x64\xe9\x8f\x10\xc2\x93\x0b\xa7\xb0\xcd\x47\x08\xe1\x29\x8e\xd3\x4e\xe6\x23\x80\xf0\x00\x07\x10\x8c\xc2\x6f\x78\xd7\x53\x1c\xe7\xd1\xcc\x47\x08\xe1\x29\x8e\xd3\x0e\xe6\x23\x84\x08\xe2\x0a\x37\x21\x1c\x69\xe9\x33\x4f\xf1\x83\x13\x9c\x28\x09\x67\x4b\x10\xc2\x53\x5c\x97\x67\x44\x41\x21\x42\x78\x8a\xe3\xb4\x9f\xf9\x08\x21\x3c\xc5\xfd\x5c\x7c\xa4\xa5\xcf\x3c\xc5\x0f\x01\x05\xf3\x11\x42\x78\x8a\x63\x5c\x6a\x3e\x42\x08\x4f\x50\x9c\xa4\x34\x1f\x0e\x22\x4e\xb9\x47\xf3\x80\x71\x2a\xb1\xf1\x6e\x6d\x02\x25\xba\x5b\x9b\x3f\x89\xee\xd6\xa6\x4f\xa2\xbb\x6b\x56\x14\xd5\x5d\xa4\x33\x75\x42\xc0\x77\x9f\xed\x88\xdb\xd8\xe6\xb8\x8d\x6d\x8e\xdb\xd8\xf6\xb8\x8d\xed\x8e\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8e\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xe6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8d\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xd6\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\x6d\x8d\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xd6\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\x6d\x8d\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xd6\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\x8e\xb8\x6d\x5e\x95\x6c\x9d\xb3\xbb\xb8\x37\xba\x22\x6f\x90\xc0\x34\x55\x9e\xd7\x80\x9a\x8a\xcf\x1d\x07\x58\xa0\x86\xfa\x73\x5f\x56\x62\x81\x1a\x4b\xd0\x87\x0e\x48\xd5\x0a\x0f\xb4\x93\x74\x3a\x88\x41\xd2\xd2\xc9\x41\x03\x4c\x43\xf5\xe4\xf0\xf8\x24\x86\x49\x0a\x28\x8f\x71\x32\x3c\x06\x89\x67\x07\xc1\x58\xb9\x85\x02\xbc\xcc\x93\x5a\x0a\x6c\x25\xf4\x49\x1d\x48\x82\x31\x62\x33\x38\x4e\xa1\x62\x9c\x23\x07\xd4\xc1\xc4\x38\x9f\x86\xf5\xc9\x0e\xa6\x8e\xb4\x33\xb0\xfc\xb6\x12\xeb\x86\x10\xd5\x0d\x3a\x02\x0c\x77\x42\xa4\x55\x9c\x11\x4f\x20\x44\x5a\xc2\x19\x31\x04\x42\xa4\xf5\x9b\x11\x37\x44\xb5\x7a\x9a\x3b\x0f\x22\xb7\x09\x01\xd2\x8a\xd3\xe3\xd0\x6d\x42\x88\x14\xd1\x41\xe8\xe0\x21\x44\xba\x54\xe5\x34\x74\x87\x11\x22\x45\x14\x42\x2d\x4b\xd0\x82\xde\xb2\x32\x67\xc2\xbf\xc6\xa2\xea\x65\xd6\xc2\x4c\x8a\x95\x9c\x27\x18\x0f\x42\x05\x11\x01\xa6\x7d\xdb\x0c\x99\xae\xca\x39\x0c\x15\x68\x04\x99\xf6\xf5\x00\xcb\xc9\x9b\x20\x9b\xd6\xe5\xb8\x19\xf6\x82\xde\x95\x71\xd1\x19\xbe\xf3\x28\x28\xe0\x2b\xd8\xa2\x2a\xb3\x39\x9f\x4e\x83\x12\x36\x5f\x24\xe1\xe2\x9e\x10\x2e\x65\xbb\x8d\x80\xe9\xa0\x1e\x84\xbe\x46\x08\x98\x32\x21\xba\x92\x4d\x2d\xa6\xdd\x3d\x09\xa3\xa6\x82\xcf\xe6\x51\xe1\xbf\x4e\x39\x61\xb1\x8b\x0b\x27\x1c\x50\x5c\x67\xa8\x17\x53\xb9\x0c\x90\x83\x8a\xeb\x0c\xf5\x4a\x2a\x17\x34\x38\xa8\xb8\xce\x10\x97\x51\x05\x14\xb1\x50\x71\x9d\xa1\xd5\xad\x21\x54\x5c\x91\x8e\xf1\x07\x56\xf5\x8c\xa2\x37\x86\x55\xc7\x9a\x8b\xe2\xf4\x95\x03\x1a\x3e\x0a\x2a\xf1\x82\xe2\x6a\x3a\x07\x15\xf8\x9e\xf5\x52\x6a\x07\x75\x18\x47\x93\x71\x19\x1d\x42\xd5\x6b\x4c\xb4\x30\x0c\xc3\x98\x2f\x86\x4c\x97\xbd\x1d\x6f\x6e\x34\x15\xb1\xc1\xe6\x56\x53\x19\x1b\xd4\x58\x69\x53\xed\x09\x78\x3e\x2e\x38\x88\x21\xe3\x94\x67\xe0\x18\x0c\x63\x24\x82\x82\x15\x5c\x2e\x63\x3f\x62\xa0\xa8\x5c\xd4\xda\x74\x6f\xfb\x2c\xd4\xee\xa6\xea\x06\x1b\xab\x1c\x9d\x9e\x77\x40\x89\x01\x3c\xc1\x18\xe4\x28\x85\x4a\x8c\xf6\xf1\x28\x8c\xa7\x1c\x54\x5a\x77\xae\x17\x2d\xa4\x50\x31\x6d\x71\xa9\xce\x20\xc2\x3d\x29\xaf\x45\xbc\x8e\xa3\xf2\xda\x00\x6c\xf8\x48\xb8\xa4\x07\x58\x13\x3f\x3c\xac\xc3\x25\x7d\x80\x91\x3f\x3b\xad\x83\xc5\x9d\x38\x3d\x09\x12\x88\x1a\x2a\x29\xfe\x3d\x18\x99\x6a\x45\xbf\x50\x51\xc3\xc5\xf5\x91\x43\xbd\xd0\xed\x38\x32\x52\x01\xdc\x30\x8a\x5a\x47\x98\xe6\x8e\xe5\x3b\xad\x92\x1c\x1e\x1f\x5a\x0e\x89\x45\x3c\x2d\x94\xc4\xca\x5a\xe4\x92\x44\xca\xd3\x5a\x49\x74\xc7\x46\x07\x35\x91\xac\xd5\x08\x0f\x0f\x6c\x9e\x2b\xc5\x31\x2d\x13\x1e\x0e\xdd\x3a\x91\xa3\x83\x06\x48\xf6\x08\x48\xc5\x58\x11\x9b\x02\x1b\xa9\x8e\x12\x7e\xb0\x90\x49\xe5\xff\xa8\xae\x2c\x1d\x68\x52\xf9\x3f\x1c\xd4\xc9\x69\x41\xe3\xca\x7f\x0c\xfb\x53\x82\x5a\xd0\xa4\xf4\xbf\x81\xa6\xa9\x76\x71\x4e\xdf\xe8\xb0\x0e\xd6\xe4\x1c\x36\xc1\x35\xb9\x88\x83\x86\xd7\x36\x39\x8a\xa7\x83\x3a\x5c\x93\xbb\x18\x90\x7c\x11\xaf\xc7\x38\xb2\xc6\x24\x60\xf0\x92\x95\xb1\x06\x35\x6e\xa5\x01\x48\x56\x7e\xe8\x19\xad\x70\xb0\x0c\xc0\x70\x27\x44\xdc\xf5\x68\x14\x0d\x44\xdc\xe9\xc8\xd1\x31\x10\x71\x77\xa3\x15\x28\x0b\x2a\x2a\xaf\xb9\x90\x03\x0f\x21\x60\x38\x8e\xee\xc7\x68\x1e\x8d\xc2\xcc\x91\x86\x48\x4a\x65\x4f\xc3\x10\x49\x43\xc4\x68\xa2\xe8\x3a\x2b\xa1\x21\x92\x32\xd9\x30\x40\x5a\xb0\x9c\xaf\x16\x0d\x6b\xb8\x1b\x96\x53\x6b\xd8\x86\x15\xb7\x9e\x2c\x08\x91\xac\xf7\x38\x3d\xd6\x31\x90\x37\x4b\x21\x58\xec\xa6\x0c\x07\x91\x8a\x08\x01\x63\x4f\xe5\xec\x28\x1a\xb0\x00\x2e\xf6\x55\x62\x25\x16\xc2\xc5\xde\xca\xd1\x51\x34\x78\x08\xb7\x5c\x89\x65\xe1\x29\x72\x78\x62\x55\xd8\xb0\x09\x2e\xd0\xc7\x43\x93\xc7\x4e\x3b\xa2\x01\x83\xe4\x2a\x8a\xc7\xb0\xde\x13\x0d\x18\x64\xb5\x4f\x4c\x51\x7a\xda\x15\x0d\xe8\xf5\xf1\x81\x9e\x83\x4a\x7b\x92\x9a\x20\x34\x8d\x98\xa7\x74\xd9\x7a\x03\x58\x53\xdc\xa8\x89\x06\x87\x75\x1c\xe5\x52\xf0\x72\x56\x9f\x80\xd6\x55\xf6\x11\x68\x6d\x61\xc4\xc9\xc8\x65\xdc\x62\x48\xbd\x36\x22\x5c\x73\x73\x86\xf9\xb0\x30\x20\x5c\xf0\xbc\x4c\x9d\x7d\xad\xb0\x43\x27\x6e\xc1\x4b\x95\x09\x46\x17\x71\xb2\xc7\x04\x2d\x0e\x48\xaa\xb5\xa8\x64\xc3\x9a\xf9\x91\x9b\xe5\x70\x40\x0d\xcb\xe6\x1b\xa0\x1a\x56\xce\x7b\x07\xd0\x41\x35\x2d\x9e\x77\x19\x61\x07\xd5\xb4\x7e\xde\xe5\xe5\x16\x55\x96\x51\xc9\xcb\x3a\x56\xbe\xa5\x92\xde\xd2\x9f\xab\x86\x2a\xf8\x51\xe4\xb6\x05\x60\x69\x27\x37\xc1\xa5\x75\xe8\x27\xe1\x04\x40\x00\x97\x16\xa4\x47\x41\x41\x00\x97\x76\x75\x18\xcc\x0b\x96\xf4\x76\x1d\xab\x1c\x1f\x14\xc1\xbd\x86\x95\x9a\xee\x7e\x55\xe4\x05\xcd\x82\xde\x1f\xd8\x94\x9f\xb3\x29\xb8\x00\x2f\x17\x74\xe2\x95\x1f\x2e\x4f\x1f\x05\x6b\xe2\x1d\x4c\x10\x39\xda\x35\x82\xc7\xa3\x14\x28\x08\x1c\x6d\x54\x75\x74\x9a\x02\xc5\x71\x63\x6c\x07\x1d\x50\xc3\x72\x2c\x17\xe1\x37\x2d\x07\x3c\x0e\xaa\x34\x1a\x97\x02\xd6\x01\x12\x77\x18\x90\x89\x01\x92\x21\x3c\x38\x48\x01\x12\x37\x7e\x90\xde\x0f\xf3\x6f\x48\xb0\xb3\x06\x88\xe1\x6e\x90\x18\xd3\xe3\x1a\xa2\xb5\xd4\xdb\x51\xad\xb3\xb5\xcc\xdb\xc1\x49\x08\x12\x1a\x2e\xbd\xfe\x41\x2b\xfc\xc3\x08\x22\x21\xe9\xc1\x30\xd4\x29\xa9\xb5\x42\xa2\x62\xce\xde\x69\xb0\xc4\x50\x8d\xdc\x54\xb3\x9f\x04\x49\x6d\x14\xa0\xaa\x35\xbb\x35\xfe\x4b\x5a\xb0\x0d\xf1\xb4\x8e\x30\x06\x21\x60\x14\x4e\xea\x5c\x34\x6e\xd4\x30\x4a\x81\x86\x31\x57\x62\x07\x9d\x3a\x77\x50\xa3\x6d\xa1\xa9\x83\x3a\x88\x53\x4f\x3a\x8a\xaa\x41\xf9\x62\x03\xbb\xf0\xe6\x34\x84\xa9\x19\x8f\xe1\xc9\x51\x2d\x53\x11\x01\x06\xb3\x6d\x27\xb5\xcc\x47\x04\x19\xc8\x69\x7d\xcb\x96\x08\x32\x10\xd6\x7a\x06\x24\x82\x3c\x8c\x5c\xa8\x24\x0b\x02\x90\x35\x1b\x87\x73\x3e\xba\x08\xe0\xf0\xa4\x09\x30\xe5\xb7\x41\x38\xc9\x19\x41\xa6\x6c\x87\x63\xdc\xf8\xf2\x94\xfb\x0e\x53\xde\x72\x90\x75\x26\x74\xa9\x83\x25\x5d\xd2\x35\xbd\x9b\xf3\x65\x92\xa5\x41\xa3\xed\xa0\x18\xcd\xe6\xcb\xd5\x74\x1a\x03\xe9\x89\xd4\xa3\x14\x28\x5d\xff\xd4\x0c\x95\x9a\x9f\x68\x56\xd7\x41\xa5\xc6\xe7\x28\xcc\x42\x38\xa8\x74\x51\xd4\x59\x98\x86\x58\x32\xb1\xaa\xeb\x3f\x37\x91\x5d\x4f\xae\xe8\xfc\x5f\x78\x3f\x5d\xd5\x3f\x0c\x13\xba\x4d\x29\x95\xb3\x70\xf2\xb7\x29\x9b\x72\x14\xce\xc7\x37\x24\x52\xb0\x07\xee\x7e\xb1\xf2\x4e\x10\x72\xc4\x31\x2e\x5c\x1b\x06\xf7\x53\x14\x4f\x22\x91\x29\x56\x8b\x74\xc3\x81\xc8\x21\x04\x80\x74\x1d\x57\x14\x17\x00\x40\xba\x86\x6b\x14\xc9\x45\x75\x97\x27\xfb\x5c\xe8\xac\xc6\x61\x68\xa8\x13\x87\x1c\xba\x81\xd3\x8c\x87\x31\x40\xa0\xc2\xcc\x0a\xc4\xa0\x2f\x89\x0b\x0e\xa4\x3c\x8c\x3b\x93\xf8\xde\x23\xb3\xfa\x30\xe8\x4d\xec\x74\x63\x6c\x13\xa5\x25\x53\x7b\x17\x18\xc4\x9a\x34\xc7\xf7\x6a\x41\x69\x70\xaf\x16\x8e\x06\xf7\x6a\x81\xa8\xbb\x57\xc9\x75\xbc\xdd\x90\x59\x75\x1e\x4e\xc2\x38\xa0\x86\x65\x7d\x3e\x4f\xe8\xa0\x1a\xd6\xf5\xf9\x64\x80\x83\x6a\x58\xd8\xe7\x57\x9c\x3b\xa8\x86\x95\x7d\xbe\xde\x4a\x54\x6b\x1a\x25\x72\x8e\x9d\xa1\x1c\xd5\x60\x86\x61\x70\xa1\xf7\xbb\x39\xaa\x01\x39\xd4\x8f\x4f\xcc\xa4\xa4\x1f\x78\x07\xe4\xab\x0d\x4f\x4d\xa0\x59\xc7\xc8\xd7\x70\x9e\x69\x4f\xc4\x8f\xbe\xa4\x79\x5e\xb0\x98\xe8\xb5\xed\x67\xd2\xc4\xa6\xcb\xf6\x3b\x57\xa3\x31\xa7\x79\x38\x08\xe9\xd3\x98\xce\x04\xeb\xe0\xc2\xfb\xc6\x44\x26\x58\x9a\xd3\xf8\x35\x89\x8e\x3f\xee\x92\xa3\x13\x07\x50\xe6\x31\x0b\x8d\x40\x60\x30\x99\xe8\xb2\x19\x69\x80\x79\x78\x6c\x4d\xf9\x49\x02\x31\x0c\xad\xbd\x71\x2f\xce\x12\x18\xd7\xa3\x13\xb7\xb7\x86\xab\x91\xaa\x6d\x68\x70\x7c\xe2\x5c\x8b\x14\xe6\x70\x2b\x3a\x72\xce\x8a\x78\x07\x20\x13\x17\x9c\x26\x30\xe9\x24\x5f\x23\x50\x3a\xf9\x70\x16\x26\x1b\x2d\x50\x3a\xed\x70\x12\xce\x89\x59\xa0\x86\x99\x4c\x3f\x8d\x21\x39\x2b\x4b\x1a\xa9\xc0\xd3\x51\x97\xb8\x39\x47\x7d\xbf\xc1\x61\x70\xfe\x82\x86\x68\x70\x14\x5c\xd6\x5a\x43\x34\x38\x08\x9e\x27\x10\xa2\xee\x18\x78\xaa\x6c\xcc\x65\xbb\x88\xaa\x96\xc6\x0e\xf2\xdd\x09\x8c\x57\xd7\xa8\x67\xd1\xc2\xa6\xaf\x0a\x76\xb1\x3a\x35\xc5\x64\x5e\x6c\xd3\xbc\x35\x4e\x6d\x0c\x23\x0b\x54\xcf\x7c\x00\x2a\x67\x91\x19\x73\x30\x01\xd2\x60\x4f\x87\xd1\x06\x05\x0e\x2a\x40\x1b\x0b\x4d\xa3\xe9\x43\x07\x75\x10\x45\x78\xa7\x67\x8d\x2f\xf4\x98\xc3\x40\x0d\x6a\x88\xc7\x19\xf4\x91\x55\x26\xce\x25\x6f\xd8\x67\xe3\xec\xb4\x36\x6b\xd0\xb0\xc7\xc6\xe9\x51\x6d\xca\xa0\x61\x7f\x0d\x4c\x64\xc5\xa9\xb6\xfa\xde\x1a\x7a\x60\xe2\xcc\x76\x43\x52\xbf\x01\xf9\xb2\x96\xf7\x8e\xa6\xee\xe1\x7e\xd3\xb4\x74\x04\xd0\x30\x1d\xed\x03\x32\x00\x68\x98\x86\xf6\xe1\x18\x00\x34\x4d\x3f\x3b\x8f\x79\x53\x36\xec\x28\xac\x77\x0d\x80\x6a\xcb\x32\x1a\xa1\x6a\xcb\x33\xfc\xa6\x1b\x01\x54\x6d\x99\x86\xaf\x69\x0e\xa0\x6a\xcb\x35\x5c\x1d\x7b\x6d\xbe\xe4\xc4\x15\xe2\x3a\xb3\x5e\x9f\x29\x39\x3b\x33\x75\x8a\x01\xff\xd4\xe6\x48\xf4\x9e\xa2\xb1\xbc\xd6\x66\x47\x30\x27\x74\x18\xb9\x58\xf5\x79\x11\x9c\x5b\x1f\x44\x9c\xaf\x82\x99\x70\x53\x5f\x14\x16\x9f\x28\x5a\x9b\x11\x3c\x0a\xca\xe4\x15\x4d\x2d\x27\xbc\xc2\xc5\x10\x8a\xa6\x66\x33\xf2\xfb\x15\x2d\xeb\x59\x0f\xe7\x50\xa9\x39\x97\xaa\x08\x76\xc4\x3b\xb6\xdb\x98\xb8\x5d\x47\x0d\x48\x9a\x6e\x8b\x62\x55\x03\x93\x66\x14\x23\xaf\xc5\xc0\xa4\xf9\xc4\x68\xaa\xc9\xc0\xa4\x29\xb6\x48\x12\x55\xb5\xa0\xaa\x8a\xb0\x39\x3b\x0b\xcc\x86\xbe\x3f\xdc\x05\x90\x94\x47\x8d\x02\xb3\xa2\x01\x62\x44\x61\xe8\x9d\x55\xd1\x00\x49\x61\xd4\x61\x60\x55\x6a\xa9\x80\x63\x57\xed\x38\xa8\xc1\x44\x12\x16\x6f\xed\x58\x8f\xff\x07\xb5\x8d\x1d\xeb\x91\xff\xa0\xb6\xad\x63\x3d\xe6\x1f\xd4\x76\x75\x8c\x77\xfb\xf1\x2e\x9a\x7f\x53\x3d\x1f\x00\x8a\x12\x73\x38\x4e\x05\x6e\x48\x05\xe0\xb4\xa2\x53\x73\x1b\xb2\x00\x58\xbd\x7d\x58\x03\x4a\x32\x65\xd1\xe2\x80\x0d\xb1\x3f\xf4\xcc\xad\x23\xb9\x9b\x33\xea\xfb\x75\xe8\x93\xc5\x67\x21\x40\x5a\xbe\x31\x0c\xab\x96\x11\x22\xe5\x6e\xac\xbe\x3e\x0c\x21\x52\xde\x3e\x0e\x3b\x8d\x10\x29\x67\x1f\x87\x3a\xb0\x69\x0f\x98\x88\x1d\x10\x40\x2e\xaa\x9b\xa6\xcd\x75\x9d\x67\xb5\x69\xfe\x75\x10\xdd\x6f\x98\x78\x8d\x01\x1a\x66\x5c\x63\x80\x86\xa9\xd6\x18\xa0\x61\x8e\x35\x06\x48\x92\x7d\x61\x72\xf9\xc9\xc3\x8b\x27\xfd\x3e\xf9\xf0\xc3\x4f\xef\x5f\xbd\x26\x97\x6f\xde\xbe\x7e\x4e\x0a\x3e\xc9\x2b\xd5\xff\x59\xf6\x0b\x3e\xf9\x3c\xed\xfd\x2c\x01\xe4\x55\xb5\x5c\x0b\x3e\x9b\x2b\xd2\xce\x3a\x60\x09\x47\xfa\xbc\xfc\xb9\xa8\x16\x7c\xb5\x20\x3f\x7c\x20\xe3\x95\x9a\x57\x42\xf6\xc8\xb8\x28\x08\xc2\x4a\x22\x98\x64\xe2\x96\xe5\x3d\x68\xe3\x27\xe9\xcf\x49\x97\xd5\x4a\x64\x8c\x64\x55\xce\x08\x97\x64\x56\xdd\x32\x51\xea\x63\xb4\x29\x79\xf9\xe1\x62\x5f\xaa\x75\xc1\x48\xc1\x33\x56\x4a\x46\xd4\x9c\x2a\x3c\xf2\x7b\xc2\xa0\xa5\x69\xb5\x2a\xf1\x44\x54\x35\x67\xe4\xed\x9b\x57\xaf\xdf\x7d\x78\x6d\x76\xe4\x7e\xd2\x5a\x49\x7d\x92\x56\xa6\x5a\x7e\x7b\xef\xef\x04\x9d\x90\x09\x9d\x01\x02\x2b\xc5\x0b\xae\xd6\xee\xa8\xa8\x60\x07\xf1\x29\x39\x27\xbf\x85\xc7\x7a\x09\x46\x15\x23\x94\xac\x4a\xfe\xcb\x8a\x11\x56\xae\x16\xf1\xe9\x5d\xff\x2c\x57\xcb\xa5\x60\x52\x92\xdf\x0a\x5e\xaa\x57\x73\x96\xdd\xc8\x87\x8d\xc7\x61\x8d\xc9\x7c\xb5\xa0\x25\x99\x0a\xce\xca\xbc\x58\xeb\xab\x53\x3c\xd6\x72\xb2\x9a\xcd\xcc\x49\x8b\xfe\x60\xac\x1f\x26\x3f\xb3\x4c\x3d\x90\x71\x84\x02\xd2\xe3\xae\x2a\x5b\x0a\xcf\x9d\xa3\x82\x11\xf6\xcb\x8a\x16\x04\x0f\xa6\x5b\xab\x39\x2f\x67\x78\xc6\x5a\xd0\xb5\x5e\x86\x9d\x79\x0d\xcf\x37\x9e\x93\xd5\xef\x93\xbf\x32\x02\xe4\xa3\x44\x1f\x21\x4a\x2a\x7c\x3b\xa1\x92\x94\x95\x6f\x94\xc8\x39\x9e\x98\x39\x01\x68\x73\xde\xf9\x82\xec\xef\x93\x3b\x46\xee\x68\xa9\xf0\xd4\x68\x68\xce\x0e\x45\x39\x23\x4b\xc1\x17\x5c\xf1\x5b\x26\xcd\x09\x9b\xc5\xba\x47\xc8\xcb\x95\x32\x1d\x67\x42\xea\x23\xee\x78\x99\x15\xab\x9c\x91\x6a\xa5\x8f\x0c\xeb\x05\xe7\x52\xb1\x3b\x83\x98\xc6\x3a\x3a\xa3\xea\xbd\x3e\x20\x8b\xdc\x52\xc1\xe9\xa4\x60\x44\xb0\x29\x13\xac\xcc\xf0\x4c\x6e\x42\x83\x73\x2c\x01\xfc\x2f\x06\x4c\x9f\xbc\x56\xe9\x93\xd4\xa6\x95\x58\x90\x7f\xba\xfc\xe9\xdd\xab\x8f\x6f\x7e\x78\xd7\xfe\xcb\xf8\xfd\xbb\xf1\xf7\xaf\x3b\x3d\x42\xec\x35\x60\x56\x5a\x92\x6a\x09\xb4\xa3\x05\xb4\xc4\x64\x46\x97\xcc\x1f\x3f\x0b\x43\xb0\x5c\x16\x6b\xbb\x77\x7c\xc4\x2e\x97\x95\x20\xec\x9e\x2e\x96\x05\xd3\x07\xe7\xea\xa1\x31\xa7\x7b\xfd\x85\x0a\xd9\xde\xfb\xa7\x36\x88\xac\xe2\xe5\xac\xd3\x25\xff\xc4\x4a\x10\x92\x9f\xde\xbf\x79\x65\x0f\x18\xd4\x9d\x07\x11\x7f\xda\x78\x34\xec\x6f\xc4\x3e\xff\x9c\xec\xfd\x19\x74\xc0\x66\x58\x7d\xc8\xd8\x73\xb2\xf7\x5d\x55\xcd\x0a\xf6\x6c\x4f\x1f\x46\x8d\xb8\xfe\x15\x86\x43\x30\xb9\x2a\x14\x50\x50\x37\xd5\x25\x1a\xf2\x9f\x46\x2f\xf7\x42\xe6\x0a\x7a\x10\x72\x97\x54\xa2\x0b\x43\x22\x35\x8b\x99\x81\x94\x4a\xf8\x03\xcd\xfe\xa9\x7d\x45\xf7\x7f\xbd\x7e\xda\xf9\xd4\x6e\x5f\xfd\xed\x53\xe7\xfa\x59\xe7\x53\xa7\x3f\xe3\xc1\x01\xdb\x78\x24\x60\x97\x4c\x4b\x6c\xcb\x73\xac\x3d\x0f\x50\xad\x97\xac\x9a\xe2\x7b\xae\x0c\xc0\x35\x39\x3f\x27\xad\x55\x89\xa7\xc5\xb2\xbc\xd5\x71\xc7\xe9\xe2\x81\xcb\xa4\xf5\x93\x3e\x2a\xcf\xf1\x8b\x3e\xe9\xcf\x3c\x6d\x0e\xd2\xd6\x87\x13\x0a\x3c\x97\x3f\x6c\xdb\xdd\x86\x97\x4f\x4b\x7b\xf8\x5a\x44\x85\x9e\x53\x2f\xd1\xa1\xe0\xb7\xe6\x44\x82\x0d\xb0\x57\xd3\xf2\xba\x2d\x6e\xdd\xb1\x85\xe6\xa4\x44\xfd\x9e\xb0\xa1\xa4\x17\x09\x13\xea\xce\x4c\x4b\xd7\xcc\x93\xf8\x18\x44\x71\x6b\x4e\x41\x8c\x65\xe8\xd2\xa2\x11\x2a\x5c\x90\x62\x73\x84\x74\x88\xb2\x61\x92\x57\x05\x67\xa5\x92\x08\x4b\xf3\x5c\x33\xbd\x3d\x63\x50\x55\x84\xdd\x2b\x56\xe6\x0d\x6c\xde\xd9\xc0\x3d\x9e\x16\xe6\x0c\x05\x27\x00\xcf\xfd\xd7\x6e\x78\xdd\x09\xc6\xf3\x86\x6b\x08\x89\xc4\xf9\xf3\xc7\xef\xdf\x3e\x8f\x38\x33\x3c\xf6\x72\x41\x97\xe6\x7d\x78\xb0\xc5\xd7\xad\xe7\xa4\xf5\x55\xa1\x5e\x98\x93\x2e\x08\x69\x7d\x83\x97\x66\xe1\xa5\xaf\xf0\x12\x5d\x2c\x83\x6b\x7b\x78\xed\x97\x55\x15\x00\xee\xb5\xf6\xe0\xe2\x9f\x0e\xce\x5e\xb4\x34\xdd\xe3\x93\xda\x23\x79\xb8\xfa\xfa\x9b\xaf\x3e\xed\x7d\x6a\x5d\xf7\x67\xa1\x08\x74\xc8\x6f\x16\x7c\x41\x97\x57\x8b\x6b\x73\x6c\xfc\x43\x38\x80\xdf\x31\x85\x3a\xc7\x9e\xf0\x48\xb3\x8c\x2d\x15\xcb\xc9\x4f\x6f\x48\x41\xcb\xd9\x8a\xce\xfc\x41\xe5\xd6\x40\xb9\x77\xe8\xd3\xa0\x1f\x48\x46\x8b\x62\x42\xb3\x1b\xc7\x0f\x30\x90\xbc\xbc\xad\x6e\x98\xe6\x03\x78\x85\x56\x0c\xb2\x47\xc0\x11\xb0\xea\x05\x5b\x64\x8a\x09\xd4\x93\x0e\x8d\xa2\xc2\xc3\x50\x40\x76\x42\x63\xdb\x9b\x31\x35\x46\x0c\xdf\x5a\xdc\xa2\xc3\x4b\x0d\x1a\xfe\x14\xc7\x4d\x4f\xf5\x32\xf0\x43\xd8\x87\xd5\x72\x59\x09\xc5\xf2\xb6\x3b\xd1\x54\xdf\xe8\xf1\xe1\x69\xd9\xf0\x9c\x7f\xc5\x8b\xf4\x54\x52\xc9\xd4\x47\xbe\x60\xd5\x4a\xb5\x1d\x42\xa1\xfc\xd9\x27\xdb\x57\x25\xbd\xe5\x33\xaa\x2a\xd1\xb3\x14\xf6\x63\xb9\x8f\x47\x35\x7e\x6e\x75\xae\xbd\x44\x83\x7f\xe6\x07\xee\xb1\x5d\x0a\x09\x13\xe9\xd2\x3b\x5e\xe6\xd5\x9d\x01\x27\x5f\x7d\x15\x76\x39\x12\xee\x1f\xa9\x40\xd3\xfe\xcb\x8a\x89\xb5\x35\xcb\xe6\x74\xd2\x39\x95\xf3\xe8\x88\x50\x45\x6f\xc0\x34\x92\x95\x28\xd2\x07\xbc\xa5\x6c\xc1\x80\x0e\xcf\xd1\xc0\x7d\x05\xdf\x47\xfa\x7b\x8b\xd0\x32\x87\xa6\x32\x7b\xb6\x7e\x70\x3e\xb7\x71\x29\x42\x8b\xfb\x1b\x72\xc6\xf0\x39\x69\xe9\xc7\xbb\xf8\xf7\xc8\xfd\x4d\x1e\x7a\xe6\x60\x7d\x6a\x8e\xd6\x47\xaf\x89\x2e\x97\x0c\xcc\xcd\x62\x55\x28\xbe\x2c\x18\x51\x7c\xa1\x8d\x3d\xb4\x1c\x62\xdd\x25\x55\x09\x06\x59\x33\x6a\x41\xa5\x32\x27\x7f\xa3\xc7\xa1\xdb\xb1\xcf\x69\xbe\x4e\x0e\x67\x2d\x73\x7b\xbe\x3d\x78\x0b\x4b\x2a\x41\x25\x82\x0a\x5e\xcd\xe6\x24\x67\xa9\xd2\x21\x13\x36\xad\x04\x23\x13\x06\x24\xa3\x79\xce\x90\x1c\xc6\x21\x30\x26\x55\x13\x62\xd3\xe1\xa9\x88\xbe\xf1\xc2\xf4\xf1\x9b\xc2\x9c\x47\x83\x27\x1e\xeb\xd3\x5f\xb9\x22\xfa\x30\x5f\x2d\x96\xd4\x8a\x61\xc1\x28\x9e\x5e\xd3\xfa\xb6\xa5\x4f\x11\x6e\x7d\xdb\x72\x07\x08\xf3\x59\x59\x89\xf0\x74\xf3\x69\x0f\x9b\xfc\x7f\x90\x60\x01\x9b\x05\x28\x78\x11\x0c\x2e\x46\x07\x09\x7f\x6b\x8f\x39\x0f\x11\x3f\x27\x11\xf8\x6a\x22\x95\xc0\x33\x79\x9f\x04\x96\xf5\xb7\x07\xf7\xf7\x92\x72\x74\x1f\xa2\xa7\x96\x05\x57\xed\xd6\x57\xfa\xbc\xd3\xa6\x73\xa4\xf1\xa9\xa6\x53\xea\x6d\x93\xe4\x5c\xc3\x5c\xf1\x6b\xdb\xdc\x79\xcb\x08\xa4\xb8\xbd\xaa\x8f\x5f\x1b\xc0\xaf\x06\xd7\x9d\x6b\x72\xde\x30\xbc\xfa\xf6\xf0\xba\x76\xb2\x34\x98\xd5\x48\xa8\x7f\x7a\xff\x36\xa4\xe8\x92\xaa\x79\x83\x36\xfb\xe9\xfd\xdb\x06\x0d\x16\x1a\x08\x23\xd3\x62\x55\x02\x8f\x9b\x67\x74\x73\xe1\xc1\xad\x70\xa1\x8e\xc1\xbf\x5b\x95\x98\xd7\xd6\xaf\x98\x17\xc4\x27\x21\x17\x74\xb1\x74\x82\xca\x4b\xc5\x66\x4c\xa0\x53\x4c\xe4\x92\x65\x7c\xca\x59\x4e\xb0\xf8\x26\x65\x7d\x03\xfb\x40\x6e\x91\xe3\xb5\x84\xaa\x0a\x78\x36\x83\x46\x35\xcf\xd6\xc1\x17\xbc\xc4\x07\x16\xbc\xe4\x8b\xd5\xc2\x18\x3d\x8c\x01\x9c\xef\xdd\xf0\x14\xbd\xd7\x4f\xd1\xfb\x8d\x4f\xb9\xc8\x09\xfb\x14\x90\xed\xb6\x0b\x6f\xeb\xc2\xc3\x7e\x3c\x6f\xc9\xd7\x70\x35\x1a\xb8\x05\x2f\x5f\xb8\xdb\xdf\x20\x7c\x74\x9b\xde\x07\xa7\x4a\xdf\x46\x84\x7c\xcb\xa6\x8a\x2c\x69\x4e\x28\x29\x57\x8b\x89\x25\xa2\xa6\xab\x39\x4c\x1f\xc5\xde\x4a\xfb\xaf\x4c\x54\x35\xe3\xae\xf5\xc6\xef\xae\xdb\xa6\x29\xe8\xb9\x6f\x75\x49\x37\x90\xd6\xbc\x06\xa0\x73\x26\xb9\x60\xb9\xb9\xb4\xf9\xf4\xe6\x25\xaa\x3b\xdb\x38\x95\x51\xe4\x65\x09\xfa\x2b\xf4\x2b\x0c\x42\x11\xba\x6b\x1a\x8f\x98\xd2\x06\x7c\x08\xd1\xe9\x2d\x69\xfe\x01\xd4\x4e\x5b\x83\x76\x49\x6b\xd0\x4a\x03\x41\x7d\xd2\xb7\x55\x99\x59\x55\x2a\xca\x4b\xd4\xc4\xd6\x7c\x68\xe4\xec\x31\xdb\x24\x9b\x53\x41\x33\xc5\xbc\x5b\x8b\x46\x70\xc1\xd4\xbc\xca\xc9\x82\x72\x6c\x41\x77\x85\x2a\x9e\x91\x8c\x66\x73\x17\x35\x16\x54\xcc\x98\x54\x84\x2e\xaa\x55\x89\x96\x4d\xa7\x90\xa0\x69\x0c\x10\x6f\x99\x20\x82\xfd\xb2\x62\x52\xe1\x39\xef\x6f\x94\x89\xa0\x21\x7e\xb7\x0e\xb6\xaa\xc8\x8c\x95\x4c\x60\xbe\x01\x04\x47\xd2\x92\x15\x6b\x32\x5f\xcd\x98\x6f\x1a\x4f\x82\x77\xad\x6f\x94\xa0\x86\x71\x6b\xc2\xae\xd7\x64\x79\xc6\x96\x70\xfe\x14\x72\xd3\x51\xd7\x87\x80\x09\x02\x57\xee\xaf\xae\xdd\x70\x68\xc3\x21\x45\xad\xa7\x51\xfb\xfa\x9c\x0c\x22\x51\x68\xb5\x9c\x19\x98\x92\x73\x0c\x22\xe2\x46\xad\x1c\x7d\x31\xed\xf9\x1e\xe8\x26\xc2\x2b\xe4\x9c\xb4\x7c\x74\xab\x1b\xbd\x9b\xf3\x82\xb9\x57\x7f\x13\xc1\xf7\x42\x04\x93\xa6\x9e\x9d\x47\x7f\xa7\xea\x3e\x6a\xc6\x58\xb7\x81\x63\x62\xcd\x94\xc4\x70\xe5\xeb\x52\xae\x84\x49\x64\x51\x9f\x2c\xe0\x12\x3d\x49\x13\x60\x61\x9e\x22\x63\x02\xb8\x0d\xbd\x19\x52\xf0\x05\x77\x3e\xc2\x07\xbe\x00\x37\x67\x25\xe9\x8c\x91\xa2\xaa\x6e\x20\xcc\xba\x61\x9a\x56\x3d\x0b\x85\xb1\x96\x60\x33\x2e\x15\x13\x6f\x4a\xae\x8c\xa1\xa1\x05\x15\x8b\x76\x55\xc2\xa5\x8e\x0b\xf2\x91\xd1\xd1\x35\x28\x2a\x10\x90\x3b\x2a\xca\xe0\xe0\x3b\x73\x3a\x3e\x10\x5e\x3f\xd9\xee\x00\xce\x65\xa5\x4c\x40\x60\x11\x87\xb6\x8e\x88\x64\x59\x55\xe6\x4e\x8a\xde\x4c\xc9\xba\x5a\xb5\xc0\x65\x62\x02\x5c\x3d\x68\x59\x82\x71\xa9\x96\xc0\xe9\x18\x5a\x00\x45\x16\x74\x8d\x2e\x27\x29\xaa\x12\xcd\xc5\x9c\x96\xbe\x39\x68\x04\xdd\x49\x5a\xa2\xef\x45\x28\xc9\x57\xe6\x71\x0e\x3a\xb6\x28\xb8\x05\xa5\x12\xf1\xb6\x09\x1a\xd3\x84\x0f\x4c\x62\xd4\x6c\x73\xd6\xb9\xcd\x59\xa9\xc0\x42\x81\x37\x28\x15\xa3\x78\x14\x3f\xf5\x01\x91\x1d\xb7\x2e\xf6\xab\x28\xc8\x8c\x29\xed\x76\xdd\x09\x70\x23\x85\x95\xe1\x4a\x10\x41\xd5\xdc\x76\x85\x12\xc9\xcb\x59\xc1\x2c\x58\x8f\x90\xd7\x34\x9b\x63\xc3\x86\xd4\xd0\x88\x7f\xf8\x4e\xe7\x5e\x8c\x26\xd3\x4f\xe5\xe4\x96\x09\x09\x9d\x36\xf2\xe8\xd0\xba\x43\x09\x57\x15\xb4\x41\x89\x9c\x53\xfc\x53\x87\x2f\x18\xa0\x71\x09\xa3\x06\xce\x53\x46\x25\x93\xe4\x6e\xce\x04\x43\x02\x98\x7c\x1d\x61\x21\x7f\x2a\xb0\x29\x52\x41\x73\x55\xc9\x34\x0d\x24\x43\xe5\x61\xdf\x89\x0d\x5a\x16\x30\xee\x2e\xb5\xef\x24\xec\x7e\xc9\x85\x8f\x34\xb5\x58\x23\x03\xba\xf4\x87\x66\xc7\xd6\x94\xa9\x6c\x6e\x7c\x61\xf4\xc9\x5c\x52\xac\xaa\x7a\x78\x53\x67\x40\xdb\x96\x7d\x3f\xac\xb2\x8c\x49\xd9\xe9\x12\x7b\xe5\x92\xf2\x62\x25\x98\xe7\xe9\x5a\x60\xfb\x34\x0c\x6a\x41\x29\x86\xc9\x3a\x20\x2e\x66\x08\x4b\xdd\x62\x6a\x09\x1f\x80\x99\x3e\x2f\x24\xf9\xc1\xf2\x94\x37\x1f\x11\xeb\x41\x5b\x94\x3b\xe7\x5f\x50\x0e\x83\x6e\x7d\x72\xd7\x3c\x21\x17\x6c\x4a\x31\xa9\x26\xc9\xd1\x60\x30\x20\x6d\xc7\xe9\x9d\xd8\xae\x5a\x34\x1f\x80\x5d\x5d\x07\x30\xb4\xf6\x3d\x98\x33\x1b\xb8\x68\x27\xc2\x07\x36\x13\x17\x97\xc3\x7d\xcb\x44\xb6\x1d\x1d\x42\xc4\xad\xda\x28\x63\x63\x9b\xb6\xc1\x09\x8b\x71\xa0\xca\x59\x2f\x89\x79\xda\xf4\x6d\x51\xdc\x6f\x39\xa1\x16\xea\x77\x0d\xad\xb5\x36\xc6\xbc\x0c\xc4\x03\x66\x00\x7e\xff\x9d\x1c\x91\xa7\x64\x38\x18\x0c\x5e\x98\xdb\x52\x01\xee\x96\xa7\x66\x4c\x7d\x80\x0b\x36\xc6\x30\xe8\xd7\x23\x78\x3c\xa7\x95\x4b\x52\xad\x14\x13\x4d\xda\x98\x2f\x16\x2c\xe7\x54\x31\x4c\x53\xbf\x51\x2d\x49\x50\x64\x54\x45\x32\xba\x54\x2b\xe4\xf6\x92\xdd\xd9\xd6\x64\x56\x2d\x75\x1e\x1f\xc8\x66\xc5\xc0\xe6\x16\x7b\xd1\xe9\xb0\x2d\x73\xbb\xe5\x73\xd5\x5c\x5a\xa9\x9d\xac\x75\xfe\xcc\x36\xe1\x35\x0e\x04\xa1\xa8\x27\x74\x4b\x5e\xf8\x8d\x4a\x71\x21\x8f\x7d\xf4\x7c\x47\x12\x03\x60\x31\x90\x3e\x77\x19\x54\xd7\xe8\xf9\x39\x69\x69\x66\x68\x75\xc8\xb7\x1a\xec\xb9\x67\x1d\x9d\x23\xf5\x09\x64\x72\xae\xff\xf7\x2d\x69\xb7\x74\xee\x51\x27\x69\x9f\xa3\x59\x37\x19\x13\x6d\x4a\x7a\x60\x61\xda\xad\x80\x11\x9e\x27\x6a\x23\xd7\x2d\xb4\x17\x92\xf4\x71\xb0\x3b\xe4\x19\x69\x49\xd7\x6a\xda\x60\x51\xcd\xda\xc8\x07\xee\x8e\xa7\x40\xb9\x2a\x0a\x93\xea\xec\x92\x85\xec\x98\xbc\x1b\x74\xdd\xd0\xed\x3b\xa7\x73\x37\xa6\x9e\x02\x2f\xa5\x31\x17\x84\x29\x68\xfd\xca\xf0\x32\x21\x59\xc1\xa8\xb0\x23\x60\x21\x5e\x04\x00\x4d\x88\x46\xf9\x5a\x1f\x01\x5a\xd2\xe3\xdc\x42\x1b\xc0\xbb\x84\x8a\xd9\x6a\xc1\x4a\x25\x7d\x76\x29\x4a\x2f\x06\xb9\xf1\xc6\x91\x8d\xfb\x96\x12\x24\xce\x51\xa6\x77\x93\xdc\x59\xa7\xdd\xe8\x85\xab\xf0\x44\x5f\x30\x76\x5a\x60\xe9\x14\xe4\x4e\xde\xf0\xe5\xb2\xd9\x2f\x9f\x0a\x9b\x2b\x4c\xbd\x71\x34\x3b\x8a\x95\xb9\xf6\x99\xad\xfb\x1c\x4d\xa1\x61\xba\x47\x3b\xda\x1a\x7b\x49\x28\x7a\x28\xda\x96\x44\xc6\xbd\x24\x98\xf6\xec\x92\x09\xcb\xe8\x0a\xe7\x1a\xbd\xdb\xa3\x09\x05\x1e\x81\x24\x14\xc0\x24\x99\xac\xa1\xa1\xdc\xa8\x70\x2d\x94\x14\xf4\x03\xf8\x44\x77\x38\x2f\xa7\x67\xc1\x2c\xf2\x63\xa2\xd6\x4b\x9e\xd1\x42\x13\x60\x81\xb3\xa8\xe0\xbd\xa1\xf3\x16\xf8\x6d\x31\x47\xb7\x3e\x54\xd0\x63\xe8\xcd\x1d\xcf\x6e\x30\xdf\x04\xae\x1a\x5d\x93\x8c\x2e\x58\xab\x9b\xea\xbc\x8e\xb5\x9e\xa0\x1d\x36\xfd\x7b\x57\x29\x9e\xd9\x3e\x2e\x16\x94\xfc\x2d\xf2\x03\x71\x5a\x6f\x29\x78\xa9\xd3\xc8\x0b\x26\xd1\xd7\x34\xce\xe0\xcf\xd2\x62\xd8\x25\xd3\xaa\x28\xaa\x3b\x33\x63\x6b\xb3\x7a\x26\x3a\x41\xc7\xa6\xd4\x71\xbb\x41\xbd\x22\x82\xdd\x32\x5a\x98\xd3\x94\x81\x91\x13\x63\xad\xc7\x5e\x1b\x5b\x9d\xa2\xba\x44\x1e\x40\x95\x59\xd5\x4d\xaf\x66\x24\xcd\x27\xc6\xf5\x41\x96\xc7\x47\x75\x56\x9a\xd0\x4c\xad\x68\x41\x5a\x96\x46\x2d\x3d\x04\x60\xea\x8a\x3b\x18\xcc\x86\x5c\x98\x85\x0d\xd5\x41\x8a\x93\x37\x4f\x11\xa6\xe7\x75\xe4\xbf\xad\x5f\x7a\x46\x46\xe4\x39\x19\xb9\x68\x07\x3b\x82\x3c\x88\x97\x94\x58\x1b\x1d\xa2\xa7\x78\xc0\x98\xbe\x16\xa2\x12\x6d\x93\xa4\xce\x28\x78\x4c\x6d\x76\x6f\x75\x8d\x6f\x80\x9c\x13\x76\xdf\xd3\xe4\x35\x89\xae\x4f\x65\xcb\xa7\xa9\xdc\xeb\x8c\x1c\xe8\xe4\x5b\x92\x55\x0b\x91\xd5\x09\x36\xff\x82\xa6\x2c\x5b\xd0\xe0\x15\x27\xfb\xd1\xf3\xd7\x60\x84\xdc\xd3\x57\xfc\xda\xa7\xc6\xff\xf6\x49\x3e\xa5\xea\x93\x7c\xd6\xef\x92\x56\xab\x96\x4a\x0b\x5a\x8d\xf4\xca\x05\xbf\xe5\x39\xd3\x4e\xbe\xba\xab\x0c\x43\xe8\x14\xed\xb4\xa8\x2a\x21\xc3\xd9\x89\x2e\x59\x95\x05\x93\xf6\x1a\x44\xf2\xb9\x9e\x9c\x80\xab\x98\x93\x45\xf7\x1c\xe2\x88\x4c\xb0\x1c\x4f\x18\x97\x0b\x60\x12\xf4\x79\xba\xe0\x18\x5a\x8e\x96\x8c\x70\xaf\x50\x50\x84\x18\x2f\xec\x8c\xbd\x75\xb2\x57\x92\x4d\x57\x05\x78\xd8\x5a\xfb\xd9\x44\x08\x38\x0f\x62\x55\x66\x14\xe2\x67\xba\x5c\x8a\xea\x9e\x2f\xa8\x9e\xe8\xc2\x29\x12\x08\x7c\xa0\x21\x9d\x68\xd6\xf6\x5e\x56\x24\xaf\x40\x05\xe4\xfc\x96\xa3\xeb\x6f\xe7\x5f\x24\x73\x5d\x5f\x73\x56\x40\xe4\xe3\xe7\x6a\x6d\x57\x30\x68\x2a\x2a\xc9\x74\xea\xe8\x6e\x0e\x3a\x4d\x3f\xb6\x49\xfc\xca\xd5\x42\xeb\xf7\xa6\x9b\x39\x2b\xab\x05\x2f\xdd\x6d\xeb\xa7\x9a\xfb\x81\x14\xc9\x05\x15\xea\x12\xc6\x43\x0f\x58\x92\xec\xd1\xaf\xe8\x92\xb0\x45\x2f\x54\xb7\xb4\x40\x8b\x68\xc0\x48\x3f\x04\xb3\x9e\x9f\xa1\x3d\x39\x27\xdf\x53\x35\xef\xc1\x9f\xed\x5b\x5a\x74\x6c\x9a\xc0\xde\xdf\xc7\xe6\xbe\x26\xbd\xc1\x60\x30\xb4\x3c\x6b\x8d\xaa\x86\xa9\x4d\xfe\x98\xdb\xd8\x30\x32\x95\x6b\xb9\x36\xdb\x46\x89\xa0\x65\x5e\x2d\x5c\xa6\x13\x63\x78\xcc\x6f\x92\x36\xd6\x32\x48\x7e\xcb\x3a\x9b\xc8\x6d\x73\x97\xa0\x4b\xa5\x0a\x1b\x41\x8e\xb5\x69\xd2\xfa\x73\x26\x7b\x39\xe7\xb3\xf9\xf6\x07\x93\x31\x22\x63\x8b\xb0\x61\xcc\x09\x53\x77\x8c\x61\xa6\x92\x7c\x05\xed\x46\xf3\xb2\x08\xfa\xa6\x54\xe1\xf8\xc5\x99\xcf\x3a\xad\xf0\xab\x7e\xb2\xdd\x21\x4f\x49\x1b\x90\xdd\xc7\x17\x3c\x23\xc3\x0e\x78\x73\x98\x16\xdd\x59\x7c\x64\xcc\xcf\xe7\x05\x2d\xe9\x8c\x89\xff\x25\xa5\x48\xdf\xeb\x5e\x7d\xaf\x3b\x45\xb2\x82\x4a\x49\xe6\xb4\xcc\x0b\xa6\x5d\x1b\x51\x52\x6d\xed\xf8\xaf\x2c\x37\x2e\x88\x73\x85\xde\x55\x8a\x3d\x0f\xe7\xf8\x08\x97\x65\x4b\x11\xb9\x9a\x4e\x79\xc6\xf5\xe4\x13\x3a\x32\xda\xb3\x40\xa3\x38\xec\x01\x89\x04\x6b\x81\x96\x98\xac\x70\x16\xcf\x64\xf9\x4d\xfa\xe5\x86\xe1\x24\xdd\xaa\xa4\xb7\x94\x17\x3a\x26\x29\x09\xd7\xe6\xf5\x79\x50\x3d\x32\x57\x6a\x29\x9f\xf7\xfb\x99\x98\xac\x66\xbd\xac\x5a\xf4\x87\x07\x83\xd1\x60\x60\x41\x46\xf8\x2a\x30\xfc\xe8\xf2\x01\x51\x17\x74\x8d\xce\xd1\x84\x91\x25\xcd\x6e\xe8\x8c\xe5\x5a\x4a\x5e\x69\x14\xb0\x44\x00\x94\x9b\xc3\xf7\xa0\xb9\x11\x6c\x40\xe8\x89\x6d\x60\x15\x41\xc5\x3a\x69\x52\xcd\xb9\xc8\xf7\x01\x6a\x1d\x20\xdd\xf4\xa2\x50\xaa\xd0\x3a\x3d\xf8\x19\x72\xf2\xd6\x4e\x5c\xbb\x2b\xaa\x22\x45\x45\xf3\xae\x1d\xea\x4a\xe4\x98\xdc\x61\xee\x3d\xbe\x28\x0a\x00\x31\xd1\xfb\x8e\xdd\x31\x61\xbd\x28\x69\xcb\x27\x48\x55\xc0\xb3\x55\xc9\x64\x8f\x90\x16\x2b\x5b\x84\x4b\x97\x26\x58\x61\xdd\x2b\xf8\x8b\xc5\x5a\x4f\x1d\xda\x9c\xd6\x94\x0b\xa9\x1c\x4a\xa0\xe4\xb8\xb2\xc9\x38\x5a\x08\x46\xf3\x35\x59\x02\x9b\x6b\xdf\x53\xcb\x70\xc2\x6d\x61\x62\xd6\xf6\x4d\xcb\x31\x26\x11\xdd\xb5\xcf\x10\x53\xbb\xb9\xe8\x05\x5d\xb6\x4d\xac\xe0\x1e\x67\x45\x50\x91\xc0\x8a\x86\x39\x6f\x2c\x50\x30\xda\x38\x69\xbd\x07\x76\xf8\xfe\x87\x69\x1b\x7a\xdf\x81\x98\x64\x7f\xd8\x31\x4e\x4f\x0c\xb8\x2a\xe5\x9c\x4f\x95\x06\xd4\x0e\x12\x40\x38\x9a\x6a\x17\x26\x50\xca\xe3\x3c\x77\x7e\x2b\x16\xff\x70\x53\xd1\x52\x45\x2e\xad\xd5\x29\x0d\x93\xde\xe9\x1c\xb5\x34\x25\x7a\x0b\x6a\x58\xcf\xb0\x93\xc5\xa1\xf7\xb3\xac\x4a\x2d\xf3\x84\x7c\x60\x98\x74\xf9\xda\xca\x49\xce\x6e\x59\x51\x41\x7c\x6e\x64\x16\x44\xc6\x31\xa2\xec\x83\x08\xef\xdb\x96\xbe\xd9\x34\x6e\xbd\xa5\xa8\x54\x05\xa1\x5c\x8f\xe6\xf9\xf7\xbe\xf3\x6e\x38\x72\x36\x35\x03\xe9\x9c\xb9\x1b\xb6\x06\x6e\xf5\x77\xb4\xe1\xcc\xd9\x14\x67\x35\xa7\xf2\xea\x86\xad\xaf\x83\x50\xf1\x8b\x9c\x4d\x7b\x38\x8a\x73\x64\xd1\xa0\x72\x29\x22\x3a\x3e\xa7\xdb\xb0\xd7\x4c\x8c\x1d\x1a\x51\x8c\x43\x6c\x55\xde\xde\x97\xef\xc6\xdf\xbf\xfe\x72\x8f\x84\xcd\x6b\x67\x66\xef\xcb\xe1\x5e\x97\x30\x95\xf5\x1e\xf9\x2e\xc7\x6a\x41\x20\xdd\xff\xf4\xa5\x2e\x23\xbb\xfa\xdb\x27\xf9\xe9\xcb\xeb\x67\x9d\x4f\x5f\xf6\xf9\xac\x1b\x80\x78\xfb\xd5\x25\x71\x09\x59\x14\x05\x3b\xc2\x44\x94\xb8\xc2\x52\x44\x55\xbd\xad\xee\x98\x78\x45\x25\x6b\x77\xae\x7b\x59\x05\x81\xa8\x0a\x03\xfa\x07\x13\x89\x3f\xa4\xbe\xc2\xdb\x8a\xe6\x81\x14\x7b\x35\xeb\xe4\xd9\x72\xe6\x64\x05\xa6\x60\x53\x5d\xc0\x92\x2a\xb0\x10\x64\x8c\xa5\x19\xf6\xaf\x68\x8e\x0b\x08\x6a\x32\xbc\x38\x3d\x85\xc5\x37\x56\xbf\x60\x9a\xc6\xa8\xaa\x59\xd5\xdb\x5c\x07\xd4\xb5\xd5\x40\x55\xf9\xaa\x5a\x2c\x0b\xa6\x58\x54\x0f\x34\x61\x6e\xe6\x02\x5c\x5d\xd0\x79\x41\xb6\x93\x4b\x2c\x4c\x85\xa7\x4c\x2c\x06\xce\xba\x09\xa1\xa9\xc5\xcc\x68\x59\xa9\x53\xba\xe0\x36\xa3\x1b\x4f\x79\xa1\x0b\x26\xe0\x5f\x54\x3b\x84\x29\x4b\x4f\xc5\xa8\xdc\xc8\xcc\xee\x0c\xba\xa4\xac\xcc\x53\x92\xdc\x31\xc1\x7c\x4b\xa8\x96\x77\x8b\xd8\x94\x97\xf9\xb8\xcc\x61\xc8\x9a\x44\x0d\x07\xd8\x50\xbe\x1b\x90\xc7\x3b\xb0\x45\x50\xce\x94\x2a\xb4\xac\x82\x18\x40\x07\x73\x08\x8b\x58\x91\x73\x72\x75\x6d\x2f\x69\x02\x98\x4b\x4f\x3c\xe7\x92\xaa\xb4\xf5\x41\xf6\x9d\x6d\xa9\xa8\x72\xac\x0c\x42\x1c\x5d\x20\xbe\x79\xaf\xcd\xb5\x42\xed\x34\x8a\xac\x7b\xf5\x26\x70\xaf\x2d\x3c\x44\x3c\x83\x86\x21\xec\x3b\x76\xef\x6a\x99\x36\xbc\xca\x13\xae\xad\x91\xec\x9a\xb7\x47\x22\x64\x48\x92\x34\x59\x2f\x61\xb0\x96\x23\x18\x33\x6d\x74\x8c\xb2\x78\xef\xaa\x81\xdb\x6e\xe8\xbc\x05\xec\x3e\x69\x4e\x97\xd4\x09\xde\x9b\xf0\x32\xc7\x96\xbb\x10\xcf\xb1\x7f\xf0\xd1\x29\x2d\xa4\x9e\xb1\x20\x0f\xfe\x7a\xc7\x66\x00\x52\xf2\xa5\x8a\xc4\x99\xbf\xa9\xa8\x16\x84\x36\x99\xa2\xdd\x6c\x5e\x6c\xe3\xef\x95\x28\x80\xb7\xcd\x6c\x8b\xce\xcb\x57\x25\x26\x22\x3c\x9f\xdf\xcf\xc1\xa3\x28\xd9\x1d\xf9\x3f\xdf\xbf\xfd\xb3\x52\xcb\xf7\x7a\x86\xb8\xad\x3b\x72\x3f\x17\xbd\xaa\xc4\xc1\x2d\x1b\xaa\x4e\x34\x1b\x01\x10\xf0\xec\x4a\x92\x2f\xce\xc9\x68\x30\x88\x4b\x7b\xc3\xf7\x3a\x4a\x07\x17\x83\xe7\x3b\x2f\xe2\x2a\xd7\x88\x63\x91\x17\x02\xdb\xd9\xfe\x97\x0f\x3f\xbc\xd3\x85\x4f\xd8\x84\x60\x72\x59\x95\x92\x7d\x64\xf7\x7a\x76\x14\x87\xd0\x74\xbf\xdd\x3c\x50\xd8\xbf\x25\x2b\xdb\xad\xef\x5e\x7f\x6c\x75\x81\x66\x08\x88\x28\xb1\x32\xaf\xa5\x44\xb5\x2d\xfc\x72\xd8\xeb\xf5\xbe\x2c\xc3\x02\x75\x57\x55\xc9\x0a\x86\x09\x5d\xeb\x7b\x50\x31\x33\x99\xc7\x4d\x06\x61\x21\x67\xb6\x5a\x3f\xb0\x02\xa1\xab\x03\x3a\xd5\x66\x8a\x83\x97\xf6\x1a\x3c\x60\x7c\x9d\x4e\x25\x25\x8d\xb9\x06\x74\x7a\x62\x23\x7b\xd5\xc4\x2d\x8a\x1c\xe5\x0c\x93\xd6\x71\x35\xf8\x42\xce\xbc\xf7\xf8\xe9\xcb\xf6\xa7\xfc\x59\x27\xac\x7d\x25\x60\xb1\xd1\x61\xac\xa5\xe3\xa1\xad\x2b\xbc\x45\xf6\xc9\xf0\xba\xb1\xa8\xf9\x47\x26\xf6\x79\x29\x15\x2d\x31\xca\x5b\xae\x81\xb6\x35\x34\x1f\x21\x2f\x0d\x5d\xc3\xf7\x3d\x86\x0a\x69\xd2\xc0\x19\x7b\xbd\x02\xa4\xeb\x32\x9c\xc5\xda\xe0\x86\xb6\xdc\xe6\xf7\x89\xaa\xaa\x2d\x0c\x80\x46\xbd\x99\x09\xf0\x96\x61\xa6\x20\x9d\x3b\x63\xaa\x69\xfc\x41\xb0\x90\x07\xdc\x5c\x27\x7d\x24\x33\xd4\xd0\x82\xa6\x6c\x96\xdc\xb5\xe6\x6a\xba\xcc\xf8\x71\x83\x98\xe9\x82\x0e\x66\xac\xbd\xc6\xd0\xba\x47\xcc\x54\x82\x8c\xba\x80\xe0\x93\xb5\xcd\xc3\x3f\x62\xf4\x66\x4c\x25\xac\xe8\x08\x8f\x5d\xee\x86\x18\x07\xf3\x8f\xd6\xbf\x35\x81\x8c\x43\xb5\x8c\xfd\x54\xcb\x9a\x16\xc1\xf3\xc4\x8d\x35\xcf\x69\x83\x1e\x59\x42\x68\x35\xaa\xbc\xc3\xb0\xde\x2a\x3b\xdf\x5e\x52\xca\x6c\x3a\x6a\x11\xea\x84\x7e\xbc\x79\xc8\x8b\x4b\x3c\xf7\x66\x17\x0d\x18\x30\x3d\xdd\xe6\xdb\x89\x24\xcc\xce\x1f\x85\xc3\x99\xac\xac\x20\xdf\xba\x01\x7c\x1e\xc2\x25\x66\x1c\x31\xb3\xd4\x8e\xab\xe0\x12\x1a\x7f\xd1\x76\x7c\x68\x05\xb7\x9a\x6a\xb5\x64\xca\x22\xdd\xfd\x73\x72\x65\xbf\x5f\x87\x53\xbe\x1b\x4c\xbf\x79\x93\x1f\xf5\x44\x55\x88\x0a\xd4\x3d\xa1\x45\x61\x65\x66\x0f\xe8\xbd\x47\xe6\x6a\x51\x10\xaa\x94\xe0\x93\x95\x02\xbb\x6b\xd3\x3e\x76\xea\x2a\xaf\x16\x64\x2a\xe8\x6c\xc1\xfc\xcc\xcf\x47\x4c\x3a\xd3\x82\xdc\x55\xe2\x86\xcc\xe9\x72\xc9\x4a\xac\x4f\x5e\xea\xf7\xbc\x19\x9e\x96\x63\xdb\xe6\x23\x58\xb8\xe9\xb1\x38\x08\xac\x16\x9e\x73\xcb\x2a\xc7\xbb\x79\xb5\xe8\xe9\x82\x5a\x56\xb0\x4c\x55\x62\x5c\x14\xed\xd6\x15\xf4\xeb\xda\x84\xd4\x4d\x55\xb5\xf8\x78\x94\xef\xf7\x76\xb4\x09\x91\x36\x3e\x70\xc5\xaf\x9b\x49\x1a\xd0\xd2\x91\xd1\xe6\x52\x7c\x5d\x28\xb4\x11\x52\x0f\x13\x5c\x1e\xde\xc4\x2d\x46\x1b\x11\x4a\xc0\x88\xdb\x42\x6a\x1d\x66\xdc\x30\x1b\x60\xd0\x1b\x56\x9a\x89\xa1\x09\x0b\x1a\xc1\x48\xc2\x4d\xa7\x87\x75\xdd\xa1\x72\x09\x6b\x98\x00\x2c\x78\x13\x99\x63\x55\xe3\xde\xe7\x3d\xd2\x06\x31\x10\x32\xab\x04\xeb\xc0\xab\xbb\x84\x2b\x69\xb4\x9c\x9e\x0b\xb0\xd9\x1b\x9c\x6b\x60\xf7\xea\x95\x8e\x19\x2d\x7b\x19\x7b\x6f\x5f\xf6\x7d\x88\x01\x66\x19\xd1\x5e\x83\xc6\xac\xb0\x9a\x28\x60\xc1\xaa\xf4\xd9\x09\xd3\x8c\xf6\x23\xf4\x0c\xe5\x52\xb0\x29\xbf\xd7\xd3\x87\x6a\x4e\x28\xc9\xab\xa2\xa0\x82\x48\x3e\x2b\x7b\x24\x5c\x88\x16\x4e\x41\x7e\x3d\x59\x29\x55\x95\x84\xe7\xe7\x2d\x70\x61\xf6\xf5\xdf\xad\x78\xfd\x18\x0c\xcb\x79\xeb\xb7\x3d\x2a\x38\xdd\x2f\xe8\x84\xe1\xc6\x29\x5f\xf2\x7c\xaf\x0b\x64\x79\x4e\xf6\x3e\xbc\x7e\x77\xf1\xf9\xe5\x4f\x1f\x3f\xfe\xf0\xee\xf3\xdb\xf1\xcb\xd7\x6f\xf7\x1e\x92\x36\xbe\xf9\xba\xaf\xdb\xfe\x26\x18\x6f\xdf\x60\xac\xe9\x6d\xed\x3a\xc4\x94\x2b\xa5\x89\x1a\xbd\x63\xfc\xfe\xcd\xd8\xbc\xa8\x67\xd2\xa4\x7a\x9e\x93\x2a\xc3\x7a\x79\xc8\x78\x77\x30\x82\x20\x8e\x66\x16\x19\x67\x93\xa8\xc0\x6a\x2e\x0b\xd4\xb5\xab\x18\x82\x9a\x7d\xb3\xa0\x41\x3f\xf4\xd3\x8f\x3f\xbe\x7e\xff\x79\xfc\xee\xe2\xf3\x4f\xef\x2e\x5e\xbf\x27\x98\x27\xfe\x07\xc5\x38\x9a\x1f\xa9\x72\xbf\x22\xf3\x95\x7e\xa3\xee\x44\x51\xdd\x31\xb1\x4f\xcb\x7c\x3f\xa7\x72\xce\xe4\x5e\xca\xd6\xb8\xca\x42\x3f\xb8\x97\xa0\xb7\xe7\xf0\x0b\xeb\x76\x56\xe5\x8d\x59\x09\xd5\xb8\x16\xc9\xe5\xf2\x7a\xaa\xfa\x69\xb9\xb4\xa9\x0f\x1f\x97\xa1\x80\x9e\x6b\xb9\x9d\x31\xe5\xb5\x41\x0b\xee\xb4\xdc\x6c\xcc\x17\xde\xa6\x59\xe7\x3c\x9a\xeb\x34\xed\x04\x4e\x39\x3e\xb0\x61\xc6\xd3\x9a\x33\x86\x11\x40\xeb\x15\x2d\x3f\xb5\x94\x5e\x18\xa1\x8b\x4f\x00\x1d\x45\x67\xef\x80\x77\x9e\x91\xd6\x9f\xdc\x45\x9e\xc3\xdf\xda\xe2\xb9\x37\xd8\xa9\x56\x76\xef\x66\x21\xfb\x7d\x1d\x68\x61\x7d\x9e\xf7\x3b\x64\xa0\xab\x8c\xf2\x8a\x55\x94\xec\x35\x64\xe0\xf0\x45\x61\xe5\x11\x43\x64\x42\x7e\x64\x2d\xcd\xe0\x92\x29\xa5\x67\x14\x6d\xd1\x9c\x52\x10\x63\xdd\xb0\x75\x50\xba\x62\xcd\xed\x39\x36\x6d\xd2\x78\xa6\x75\x10\xec\xbd\xf3\x69\x55\xed\x75\x89\x60\xfb\xb6\xa2\xc1\xf9\xfd\x79\x24\x59\x3d\xe7\x34\x98\x36\xa3\x45\x1d\xe7\xad\x8e\xf7\x21\xa0\x33\xe7\xc4\x81\xf9\xc5\x1c\xc6\x51\xd9\x84\xd3\xc3\x93\x08\xb5\x2f\x35\x6a\x19\x2d\xb2\x55\x41\x15\xab\xb9\x75\xdb\x51\xfa\xd2\xae\x33\x09\xdf\xa8\xf9\xb8\xce\x84\x35\x64\xb1\x92\xe8\x33\x0c\xfe\x0d\x5b\x5b\x97\x09\x30\xe3\xda\xf5\x2e\x6c\x96\xce\xa6\x1a\x43\x92\x07\x55\xc9\xed\xd8\x5b\x02\x64\xf5\x40\x9d\xa3\xb4\xd8\xca\x28\x64\xc3\x40\xe9\x23\xf9\xf4\x23\xe0\x00\x86\x60\x32\xc4\x1b\xda\xea\x02\xac\x9f\x73\xdc\x3e\x53\xb6\x74\xc3\xfb\xbf\x6c\xb2\xec\x55\x55\x4a\x25\x56\xe0\xb6\xa0\x58\x81\x62\xfd\xd1\x75\xd6\xce\x6a\x68\xbb\x1c\x94\x0b\x31\x40\x59\x5f\x24\x39\x7a\x60\x60\x03\x97\x4c\x48\x2e\x15\x46\x49\x73\x5a\x9a\x69\x1d\xa9\x17\x7d\x48\x55\x09\x1b\x2d\x97\x95\xe2\xd3\xb5\x49\x67\x82\xb2\x59\x2d\x30\x5d\x3d\x67\x25\x59\x06\x61\xbb\x6e\xc5\x79\x0a\x2a\x2e\x4e\xb2\xb6\x67\x42\xb3\x1b\x2c\x7c\x56\x95\x00\xd2\x99\x59\x22\xe9\xea\x7b\x2a\x5f\x28\xfc\xe7\x8f\xdf\xbf\x3d\x82\xc6\x0c\x3a\x5d\x32\x59\x61\x2b\x02\x8c\x23\x2b\x5b\x8a\xd0\x72\x8d\x0b\xeb\x75\x25\xaf\x79\xc7\xa2\x42\x37\x82\x90\x37\x66\x7d\xde\x4a\xe9\x72\x5e\x93\xff\x34\xd3\x67\xd4\x4e\xfb\xd1\x25\xd7\x7d\x07\x94\xe4\xba\xcc\xf6\x91\x08\xc0\xd3\x7d\xed\xbe\xe0\x8a\x29\xed\x26\xdd\xb1\x56\x8e\x25\x4d\xa6\x60\xa2\xb6\x68\x0d\x46\xe5\x83\x46\xb8\xf7\xf4\xc1\x91\x52\xaf\x5b\xd3\xdf\x8d\xeb\xa4\x2a\xbd\xc1\x00\x4e\x44\x6a\xba\xb8\xf9\x33\xc0\x65\x63\x28\xa9\xdd\x99\xb8\x18\xc8\x5c\x4b\xaa\xc0\x40\x65\xfb\x41\x0a\xf3\xde\x66\xb1\x2a\x69\xf5\x5b\x7e\xc9\x47\xb4\x99\x81\x36\xec\x92\x01\x02\x8a\x91\x82\xdd\xb2\x02\x73\x31\x73\xce\x04\x15\xd9\x7c\xed\x56\xd2\x73\x57\xdb\x3e\xab\x4c\xc1\xfc\x9c\xde\x1a\x96\xbf\xe1\x65\x6e\x64\xa6\x9c\xe9\xac\xf5\x52\x54\xb7\x1c\xb3\x9c\x30\x3e\x1a\xf5\x64\xea\x10\xf5\x9c\x75\xd7\x5a\xfd\x96\x7e\xb0\xac\x54\xf0\x30\x57\x36\xe6\x45\xe6\x05\x28\xe7\x71\xd4\x05\x23\x5a\x89\x6f\x18\xca\x53\x33\x98\xf8\xb3\xc3\x74\x6e\x07\xec\x45\x72\xe7\x87\x09\x6a\x04\xf1\xd9\x6a\xc1\xaa\x34\x23\xfe\x0a\x85\xe0\x73\x2d\x8b\x09\x40\x5c\x8e\x33\xc5\x6f\x19\x3c\x85\x29\x4f\xd7\x2c\x85\xeb\x54\xb1\x76\x00\xad\x84\x59\x3b\xa2\x21\xed\xa2\x40\x3d\xca\xe7\x21\x1b\xfc\xfe\x3b\xf4\xdc\x39\x17\xfa\x6a\x8f\x95\xb9\xb1\x12\x7d\x6b\x25\x0c\xfc\xb3\x73\x0d\xff\xc4\x05\x30\xa6\x4d\xfd\x25\xbe\xf1\x9e\x65\x95\xc8\x71\x0a\x54\x97\x47\x69\xad\x5f\x54\x13\x5a\x58\x32\xe0\x5d\x93\x9e\xc7\xdb\xd9\x9c\x17\xf9\x25\x05\x45\xc5\x99\x7b\x56\x7b\x12\xdf\xd3\x25\x4e\x26\x73\xa9\xf6\xd1\x62\xa9\x8a\xfc\xb6\xd0\x17\xf1\x39\x44\xc3\x4e\x49\xca\x07\xfd\xd4\x18\x74\x09\xfa\xe6\xa4\xdf\xd7\x97\x82\x57\xbd\xe5\x52\xe9\xd7\x3c\xb1\x05\x7f\xad\xa5\xa8\x40\x99\xee\xf3\x5c\xb6\x9e\x07\x37\x08\x69\x55\x25\x6b\x3d\x27\x35\x06\xe9\x86\x30\xea\xae\xda\x05\x63\xd1\x41\xbb\xde\x0d\x31\x23\xa4\x35\x15\xd5\xa4\xe1\xdd\xd1\x33\xe6\xdb\xc3\x93\xe6\xbe\xc4\x53\xb9\x3f\x49\x74\xb3\xb0\x22\xa2\xd0\x1b\x6a\xf0\x32\xe7\x99\xf6\x1a\x8c\xe6\xb3\xd5\xa5\x5a\x6b\x99\xb0\xca\xcb\xbf\x91\x2d\x13\x05\xea\xa0\x10\x93\xe6\x0a\xd7\x46\xe9\x84\x86\x7e\xd6\x24\x34\x7c\x32\xd6\xb7\x62\x15\xde\xeb\x5f\x56\x14\xf7\x8e\x51\x4c\x2a\x49\xe8\x8c\xf2\x52\x2a\x6d\x1a\x75\x23\xdf\xff\xf4\xe1\x23\xaa\xb8\xd6\xf9\xf9\x79\x8b\x54\x82\xb4\xbe\x80\x2f\x5a\x49\xd1\x2c\x5b\x81\x66\xd9\x22\xb3\x41\xa0\x70\xf1\xfa\x72\xfc\xd3\xdb\x8f\x9f\xff\x32\x7e\xfb\xd3\x6b\x57\xe4\xee\xb7\x71\x69\xb7\x0c\x04\x86\xf1\x76\xfe\xbb\x44\x22\xdd\xf2\x7c\x45\x8b\x86\x2e\xc4\xc6\x11\xc3\x5e\x7c\xb1\x29\x3d\x67\x0d\x0c\x80\x0b\x45\xfc\x8a\xb5\x92\xb9\xc5\x26\xba\x6c\x45\xef\xff\x92\x73\xc1\x32\x55\xac\xb7\xf5\x4d\x8b\x56\xba\xfd\x4c\xd7\x0e\xc4\x5f\x80\x84\x81\x56\x0a\x4a\xcb\x9d\x1c\x86\xa0\x7a\x5e\xd8\xfd\xe9\x60\x0c\x4f\x58\x18\xbc\x16\x11\xd3\x41\x56\x56\x9e\x8d\x38\x87\x85\x04\x7a\x12\xd1\xa5\x8c\x81\x36\xf1\x88\x80\x67\xa0\xcc\xfa\x99\x05\xbd\xc1\xf2\x40\xac\x36\xbc\x65\x62\x52\xc9\xad\xa3\xac\x29\xb1\x79\xb0\x5d\x66\xf9\xd1\x0c\x12\x4e\x34\xe8\xc5\x5f\xe1\xca\x25\xcd\x7f\x6e\xcd\x96\xae\x4e\xe4\x32\x94\x14\xe3\x13\x6d\xdc\x1e\xc2\x54\x44\xda\x25\xf5\x8d\xc8\x3d\x10\x4b\xd1\x68\x9d\x8d\x5b\x87\x62\xf7\x91\xd0\xc5\xd9\x66\x95\x53\xc6\xf8\xad\x8e\x03\x4a\x76\x67\x0b\x2f\xd3\xe4\xb5\x47\xb4\xeb\x97\xd4\xe4\x58\xf5\x68\x3b\x60\x02\xf9\xba\x19\xa4\xd2\x4f\x15\xcb\x3f\x34\x2a\x34\xcf\xad\xca\x8f\x0a\x82\xcd\xb5\x80\x57\x1d\x27\xf5\x96\x2b\x39\xf7\x10\xb1\x46\x2b\x85\x1b\x9b\xd2\x93\xca\x15\xf7\x6f\x20\x7d\x40\xd5\x31\x10\xe2\x96\x57\x2b\x89\x33\x05\xba\xb1\x70\x55\xcf\x1f\xe9\x9d\x60\x8b\xea\x96\xed\xee\xa0\x4d\x0d\x26\x1d\xb5\x45\x3c\x41\x5f\xb5\x41\xe6\xe4\x1b\xb7\xbc\x33\x79\x46\x2e\x21\x36\x68\xf3\x2e\x19\x26\x7b\xcf\xe0\x42\x30\x97\x91\x73\x11\x47\xac\xc1\x1e\xdd\xb5\x24\xdd\xef\xd7\x9f\x36\x28\x88\xf3\x26\x15\x11\xce\x51\xf6\xff\xd6\x36\xeb\xa8\xcd\x32\xe4\x2f\xfb\x3d\xb0\x00\x36\x39\x5e\x53\x4c\x9d\x64\x69\x45\x0d\xa0\xbe\x40\xa3\x41\xb9\x9d\x93\x96\x5d\x18\x17\xd6\xd4\xfc\xd5\xed\xb2\xe5\x57\x08\xbe\xfa\xe1\xc7\x7f\xb5\x92\x12\x5b\x35\x59\x69\x5b\xb9\x92\xa0\xe5\x32\x5a\xfa\x86\x16\x55\xce\xa7\x6b\x33\xa3\x23\xe8\x1a\xac\x95\xf1\xd3\xc1\x06\x56\x2b\xa5\x75\x82\x9d\xf6\x89\x1a\xee\xc5\x3d\x0c\x32\x37\xf8\xd5\xae\x9c\x58\xb7\x1b\x88\x13\x25\x06\x36\x93\x28\xae\x08\xaf\x0d\x5c\xc4\x3e\x1f\x54\xb5\xac\x69\x34\xe3\x51\x19\x83\x2f\x82\x38\x0c\x7c\xdd\x44\xdf\xbd\xd2\xb9\x1e\x08\xe1\xea\xae\xbd\xbc\x03\x77\x6d\xa5\x70\x3d\x64\xd3\x1b\x20\xf0\x28\x75\x20\x27\x2b\x1b\x27\xa1\xe1\xcc\x71\x9b\x36\xe0\x47\x0c\x2b\x39\xcb\x09\x9d\x40\x53\x5c\x08\x56\xb0\x5b\x18\xca\x00\x95\xdd\x6e\x41\xce\xac\xf3\xdc\xcc\xe1\x5f\xc4\xae\x77\xa7\x71\x31\x41\xeb\x5d\xa5\x88\x6d\x27\x6f\x3d\xca\x67\x37\x84\x4b\xd4\x46\xbb\x31\x4c\xe8\x24\xa3\x03\x91\xcd\xae\x11\xb0\x6b\x72\xbd\x82\xf3\x5d\xcd\x37\x0d\xae\xf6\x4e\x74\xaa\xdc\xd1\x85\xeb\xa5\x28\xda\x91\x73\x6b\x87\x7a\x84\xfc\xab\x1b\x10\xe3\xc5\x98\x25\xb8\x00\x44\x15\xc1\x6a\x41\x5a\xf0\x5f\xcd\xda\x64\x0e\xce\x09\xc5\xe2\x4c\xae\x5a\x32\xa9\xce\x34\xf5\x4f\xda\xba\xb8\x94\x7e\xe6\x53\x16\x8f\x1b\xcf\xed\xa3\xf9\xa8\xc1\x1c\x9b\xf2\xcf\x9d\x03\xaa\xc4\xaa\x3e\x9e\x81\x91\x7b\xcc\x60\xbe\x67\x26\x49\x36\x49\x86\xd3\x2c\x7f\x94\xa1\x84\xb8\xc1\xfd\x57\xe7\x43\x92\xdc\xec\x11\x56\xc1\x30\x36\x53\x1d\x77\xa5\x10\xf8\xc5\x96\xb0\xe9\x4d\x17\x70\x4d\xf2\x34\xe4\x03\x33\x07\xad\x43\xfb\x06\xd1\x44\x27\x63\x51\x95\x5c\x99\xd5\x99\x41\xde\x21\xc4\xdc\x30\x63\x17\x34\xa6\x77\x78\x31\xfc\xae\xf3\xca\xa2\xd2\x8b\xa5\x4b\xec\x44\x54\x45\xea\xb2\xeb\x82\x65\x2b\x21\xf9\x2d\x43\x4b\x4d\x73\x19\xbd\x0e\x9a\xf2\xc1\x5f\x8c\xb3\x34\x3c\x77\xc7\x8a\xa2\xb9\x6d\x60\x57\xb9\x2e\xb3\xb9\xa8\xca\x6a\x25\xbb\x46\x67\x39\x4c\xe1\x7d\x75\x22\x75\xed\x4a\xfa\xa7\x8b\x95\x54\x4f\xf5\x72\x65\xbb\x68\x75\x97\x13\xd2\xee\xe8\x4c\x8c\x73\x29\xdd\xac\xfe\xb4\x61\x9b\x30\xbf\x82\x98\xba\x52\xbe\x39\xf5\x55\x81\xf9\xe3\x64\x03\x1e\xff\xe0\x72\x13\xd1\x82\xac\x78\x8d\x26\x66\x0a\x58\x99\xf3\x72\xf6\x0a\xa8\x2a\x58\x89\x73\x99\x49\xfd\x1c\xde\x73\x75\x67\xa1\x8d\xdf\xdf\xaf\x3d\x7e\x4e\x06\xe4\xab\xaf\xa2\x4e\x5b\xbb\x1e\x5e\x6b\xc7\x0b\xac\x70\x06\xf2\xdc\x2c\x35\xec\xc1\x5f\xed\x5a\x6a\xa1\xb3\xbb\xa4\x3a\xcc\x53\x3c\x23\xac\x88\xca\x8f\x92\xc2\x6a\x4c\x9c\x74\xa2\xa9\x11\x5c\x42\xf8\x63\x90\xab\x04\x4a\xea\x79\x8f\xa0\xe5\x40\x4b\x58\x65\x30\x63\xea\x8d\x62\x0b\xd9\x06\xcc\x83\x0d\xe8\x38\x5c\x8c\x17\x0f\xeb\x36\xde\xea\xba\xcb\xf3\xb0\x5d\x3b\x6f\x6c\x0b\xb2\x6a\x33\x22\x71\x63\x6e\xd9\x0f\x86\x6b\x78\x33\x98\x40\x20\xf1\x5a\xe5\x1b\xb6\xb6\x09\xfd\x10\x81\x4e\x02\xcc\x58\xfe\x61\x5d\x66\xe4\x9c\xb4\xa3\x82\x8d\x30\xe3\xf0\xd5\x57\x1b\x8a\xf7\x08\x49\xbd\x98\x5b\x1d\x9a\x7e\x71\xbe\xf1\x09\xd2\xe4\xf7\x84\x83\x8e\x35\xc4\xd7\x91\x0b\xd3\xe9\xf8\xa2\xb5\x86\x0c\x54\xc3\x13\xb8\x15\xa5\x77\x20\x2d\xf7\xda\xee\xc6\x45\xcd\x09\x47\x3f\x7b\x16\xad\x3d\xc6\x51\x5f\x97\xd9\x2b\x4b\x11\x13\x8c\x27\x52\xd2\x09\x97\x25\xdb\xff\x07\x15\x7a\x7f\x44\x6c\xa2\x7d\xf5\x22\x00\xe3\x12\xc6\x3c\x1e\xae\xfb\xc3\xe4\x0c\xa1\x8d\x19\x0d\x2e\x5d\x28\x24\x09\x25\x51\x4e\xc1\xc6\x93\x10\x2c\x42\xcf\x70\x65\x96\xce\x5b\x18\xb7\xad\xa1\xc9\xc6\xbd\x7b\x3f\x6e\x8c\x48\xed\x1e\x1b\x76\x9a\x5a\xf3\x25\xa6\x54\xc2\x1d\x18\x8c\x34\xdb\xc8\xa6\x1e\xa7\x9a\x9d\x23\xee\x04\x57\x0a\x8b\x17\x8c\xe5\xb3\xb2\x59\x47\xcd\x04\x24\xbf\x4f\xaa\xaa\x60\xb4\xfc\x5d\x6b\x9d\xdf\xb1\x56\xe6\xf7\x72\x55\x14\x0f\x46\xac\x3e\xd6\x02\x03\xbd\x99\x90\xe5\x84\xb8\x37\x63\xbb\x87\x70\xb8\x0f\xa8\x60\x66\x75\x89\x9e\xfc\xc4\x8a\x08\xdc\x35\xe2\x96\x16\xdc\x29\xf9\x34\x48\xf8\xc7\x13\x09\x4b\xf5\xd9\x87\xbd\xae\x28\x6c\x8b\xad\x69\xc8\x65\x6c\x4c\x33\xd8\xf6\x76\x67\x1b\x36\xa4\x19\x6c\x03\xff\x8e\x6c\x43\xe8\xd2\x03\x77\x7b\x88\x5a\x39\xae\x66\x69\x83\xac\x2e\x7f\xd5\xac\x0c\x02\x6f\x77\xd3\xb3\xc9\xb5\x0d\x7a\xc4\x46\xe7\x1a\x2e\x2a\x9b\xd6\xe4\x32\xfb\x92\xb4\x83\x97\xd5\x37\xc6\xdc\xf5\x16\xe2\x35\x24\x38\xa8\xdb\xc2\xf5\xfa\x8b\xac\x55\x8b\x7a\x18\xbc\x36\x72\x55\x23\xa0\x26\x65\xe1\x36\x86\x5c\xa6\xa5\xb6\x6e\x3f\x1e\xc7\x4e\xa0\x88\x36\x2c\x0b\x73\xf3\x2d\xe3\xd2\xc6\xc9\x53\x72\xb0\x6f\x6b\x6e\xf4\xa2\x06\xbb\xa3\x8f\x9a\x0b\xe6\xea\x71\x5c\xa2\x0a\x9f\x4a\xaa\x97\x80\xcd\xae\xb0\x66\xc8\x0e\xab\xe9\xcb\x75\xc0\x3e\x5a\x43\xd9\x76\x1e\x97\x0b\xd9\xcc\x56\xe9\x8a\x21\xec\x56\xb2\x6a\x28\x28\x01\xb3\x10\x4d\xab\xbe\x6d\xb8\x1e\xb5\xef\xda\xbc\xe2\xd7\x57\x83\x6b\xa7\x83\xf1\xef\x61\xf2\xf7\xe8\xba\xbe\xa2\xd6\x6a\xf9\x52\xaf\xaf\x63\xb9\x5b\x23\x92\xba\xca\x3e\x6c\x4f\x6f\x60\x4e\x3b\xe7\x53\xfc\x5b\xe9\xd8\xff\xe7\x95\x54\xa8\x45\xb1\xaa\x36\x18\xc6\xa0\xac\x4b\x47\x79\x66\x33\x1b\x86\xbb\x33\x61\xd3\x7a\xc7\x6f\x57\x41\x8c\x2b\xc0\xea\x2e\xbb\x35\x01\x0b\x46\xcb\x68\xc3\x2a\xa3\xc2\xc2\x19\xe7\x20\x3f\x5f\xeb\x96\x56\x37\x33\xa6\xf4\x3e\x59\xa8\x5a\xa9\x4d\xa1\xda\x9c\x42\x4b\x30\x8c\x4b\x84\xd9\xf9\xaf\x12\x68\x33\x4c\xae\x82\x96\xc4\x55\x67\xd6\x43\x8c\x78\xf7\xfa\xc4\xce\x01\xb5\xdf\xe9\x7d\xea\xdd\xc6\xf4\xe1\x4a\x9d\xcc\x18\x79\xd7\x5b\xa0\xab\xdf\x66\xc8\x6c\x51\xcf\xeb\xb9\xe5\x90\x4a\xcc\xbf\xc6\x18\xcc\x0c\xa7\xa4\xeb\x5c\xae\x6b\xdc\x1a\x4d\xa5\x9b\xab\x55\x95\x59\x4d\x94\x70\x8c\x6d\xcd\x0c\x62\x6e\x6c\x01\xee\xfd\x20\x2b\xfd\x3c\x2f\x81\xd2\x7d\x9a\xe7\x7d\x9d\xd3\xf0\xfb\x92\xe9\x81\xd2\xfb\x81\xad\x43\x7d\x9f\x92\x02\x6b\xf3\x96\x7a\xdf\x3e\xb3\x84\xb5\x9e\xbe\x0d\x66\x07\xd7\x64\x9c\x6c\x9c\x64\xbd\x86\x74\x1b\x40\x37\xd3\x6c\x58\xcf\x2e\x0a\x90\x2c\x1e\x07\x46\xa6\xa6\x65\xd7\x6e\x6a\xf1\x9e\xf8\xfd\x99\x41\x26\xb6\x55\x51\x18\x73\x67\x87\x32\x77\x3c\x00\xda\x1c\xdf\x5b\x1f\xa7\x3f\x64\xe5\x82\xf0\x2c\xb6\x71\x96\x2b\xba\x11\xb9\x8c\x81\xeb\xf7\x9b\x5c\x40\x9c\x75\xaf\x8a\xbc\x89\x01\x82\x91\x7f\xb2\x49\x5f\xf9\x57\x5e\x5d\x6f\x5a\xc8\x63\x53\xd8\xa5\xf3\x93\x6b\x33\xde\x5d\x87\xbb\xce\x6d\x36\xcd\x08\x5f\x59\x90\x6b\xac\xe5\xf6\x1d\x7c\xd1\x30\x17\x1a\x01\x27\xb3\xa2\x6e\x76\x07\x18\xcf\x28\x97\xdd\xb3\x38\x97\x8e\x17\xf5\x44\x36\x19\x07\x73\x43\x8e\x0b\x75\x8d\x32\x0e\x39\xbb\x65\x62\x9d\x58\x1c\xed\xf0\x50\x29\x71\xbb\x22\x9b\x73\x08\xf2\x69\x55\x19\xbb\x7c\xf6\xf4\x8a\x05\x5d\x92\x31\x31\x53\xde\xe1\xe4\xac\xae\xa6\xcb\x82\x6d\xc2\xe2\x17\xd8\x97\x26\xef\xa1\xe5\xd6\x69\xc6\xc6\xf9\x9b\xc8\xf8\x69\x22\x74\x01\x25\x9f\x6a\x33\x94\xf9\xea\x2b\x62\x72\xf2\xe6\xc2\x17\xe7\xa4\x65\x9f\x6c\x6d\xc8\xc0\xbd\x29\x51\x55\x6b\xd3\xfd\xdc\x3c\x29\x5b\x3e\x50\xd7\x57\x82\x39\x91\xb4\xa0\x40\xcf\x1b\x19\x30\x5f\x0b\x0f\x18\xa6\x75\x93\xce\x58\xdb\xc8\xd6\x75\xc3\x16\xd0\x47\x21\x6f\x94\x79\xe8\xb8\x55\xb6\x49\x0f\xec\xaa\x00\x3f\x3c\xc1\x4e\x5e\x2f\x9e\x3c\xd9\x16\xa1\x86\x6e\xd9\x82\x2e\xf5\xd5\x06\xf3\xce\xe5\x92\xda\x69\x1e\xcd\xa8\xc4\xcf\xc0\xda\xac\x58\x8a\x86\x0c\x0a\xac\x4c\x1d\x93\xd9\x64\x25\x4e\xdf\xe2\x9e\x52\x61\xc2\xc8\xe6\x9a\x24\xae\xda\x37\x2b\xf6\x31\x39\x8f\x85\xbe\xcb\x65\xc1\x33\x9d\x72\xc4\x45\x93\x00\x04\xf1\xb0\x76\x11\x57\x92\x89\x26\x24\xd0\xee\x85\x27\x23\x98\xd9\x02\x67\xe2\xf3\x46\xff\x00\x27\x0f\xd0\x17\xc1\x92\xf1\x27\xb8\x53\x63\x01\xea\x59\xab\xdd\xae\x16\x3a\x5d\x91\xad\x43\x1a\x79\xc7\x55\x36\xb7\x46\x3d\x70\x69\x4c\x8e\xe5\x51\x02\xa0\x4b\xd9\xc6\x45\x51\xcf\x2e\xd7\xb8\xa8\xce\x2c\xa1\xb3\xa7\x5b\x32\xba\xaf\xed\xaa\x1f\xa3\x01\x7e\x57\x59\x73\xb9\x61\x78\xcd\x6a\x89\x7f\x77\xc4\x6d\x02\x53\x4d\xf0\x3f\x42\x09\x83\x7f\xf3\x09\x38\x7f\x24\x8a\xfa\xc2\x84\x51\xcd\xea\x60\xb7\x30\xe1\x1e\x36\x71\x62\xc7\xc4\x38\x33\x66\x17\x50\x36\x39\xe5\xcd\xba\xa3\x79\x9d\x46\x0a\x76\xc5\xaf\x4d\xcc\x15\x25\xa1\x36\xbe\xcb\x20\xe4\x67\x6f\x1b\x02\x81\x14\x06\xde\x11\xb6\xde\x35\xb1\xab\xa9\x0c\x4b\x18\xc6\x1d\xb0\xe4\xbc\x8b\x06\x5f\xcf\x7a\x20\x9a\x77\x34\x14\x18\xc8\x70\xa5\x88\x2b\x0a\x9c\xf3\x32\x59\x18\x8e\xe7\xf5\x50\xf0\x66\x4c\x02\x46\xef\xaa\x61\xaa\x05\xe8\x4a\x55\xfb\xd6\xe5\x42\xdf\x26\x75\x7d\x40\xde\xe1\x9d\x7a\xfa\x48\x18\x04\xac\xcf\xa5\x37\xa5\x15\x92\xa1\x84\xc7\xb5\x7d\xe0\x4a\xad\x70\xdb\xa8\x9d\x0e\x37\xee\x77\xe2\x7a\x86\x9a\x4d\x93\xc6\xba\x5e\x2e\x00\x01\x25\xb2\xb1\x4c\x12\x7b\xff\x43\x44\x0b\x0c\x38\xf4\x99\x4a\x26\xea\xb4\x8e\xd1\xc6\x56\x78\xee\xdb\xe0\x48\xa9\xea\x96\x09\xc1\x73\x8d\x8e\xa3\x96\x69\x63\xb7\xec\xe9\xbe\xe8\x50\x2d\xdc\x82\xc4\xb9\x5f\x16\xf7\xcd\x4e\xd8\x8e\x7f\x1a\xed\xa0\x5c\x21\x97\x61\xbd\xb6\xf3\xcf\x5e\xb8\xfb\x2f\xc2\x64\x03\x77\xf9\x10\x9e\xdb\x7d\xdc\x72\x5f\xdc\x0d\x4e\xa4\xad\x76\x00\xd0\x2f\xfc\x86\x25\x0d\xc2\x7f\xb1\xd2\x96\xc5\x50\x5a\x4b\xbe\x1b\x69\xbf\xfe\x20\xef\xd4\x57\x03\xf6\xfb\xe4\x47\x9e\xdd\xb8\x7d\xa5\xba\x96\x1d\x0f\xf7\x73\x3e\xe3\x8a\xcc\xd9\x7d\xb8\x4f\x71\xe8\x9d\x9b\xfa\x3f\x3d\x33\x6f\xf6\xbc\xfe\x82\xe7\xe4\xf7\xdf\x49\x73\x07\xfc\x4a\xeb\xdc\x1f\x4b\x64\xb7\x7c\x6a\x0f\xbb\x64\x70\x3f\x9d\x4e\xa7\x9d\x9e\xaa\xcc\x36\xec\xc3\x63\x97\x0e\x0e\x9e\xf9\x75\x49\xf3\x36\xcf\xbb\xe4\xd0\xdf\x35\x84\x85\x41\xf5\xd9\x5f\x47\x5c\xe4\x4c\xa0\x84\x26\x44\xc3\x8a\x7f\x24\x9d\xaf\x63\xdd\xee\x52\x1b\x2f\x9c\xeb\xbd\x03\xc2\x47\x5d\x51\xa9\x9f\x28\xa9\x81\x08\x26\x99\x1a\x17\x45\x58\x8b\xda\xe8\x8c\x5f\xf1\xdc\x79\xef\xe6\x61\xcd\x45\xb9\xa9\xfa\x31\x08\xe8\xd4\x7a\xc0\x76\x80\x9a\x8c\xf6\xa4\x8d\xdb\x88\xdc\x7b\x0c\x44\x69\x3d\x35\xe0\x54\x80\x55\x26\x1a\x54\x36\xc0\x3a\xaf\x03\x34\x10\xee\x42\x2a\xb1\x6e\x3c\x6c\x0d\x23\xe7\x5c\xcf\xc6\x3c\x4a\x3d\x85\x96\x38\x50\x55\xc9\xda\x60\x7d\xc7\x6f\xc8\xa8\x03\xeb\x46\x55\xc3\xf3\x40\xed\xbd\xb9\x78\xec\x8c\x20\xb4\xb7\x45\x95\x84\x5a\x00\xfa\x1b\xea\x01\x7c\x2c\x86\x85\xf1\x42\xb0\x94\x0d\x1e\xa5\x45\xc8\x79\x2a\x5a\xbe\x06\x2a\x92\x31\x80\x8a\x6b\x9f\x9c\x95\x6e\x62\x14\x23\x08\x39\xc3\x7d\x57\xb6\x73\x64\xf3\xe9\x07\x9b\x8c\xa9\xb7\x23\x81\x3f\xa6\xf5\x78\xb0\xdc\x31\x18\xdf\x4a\x38\x83\x61\x77\x9b\xd2\xbe\x8d\x72\x53\x1e\xc2\x6f\xf6\xea\xd6\x47\x3d\x09\x76\x49\x35\x13\x0e\xc2\xa8\x4a\x5a\x12\x76\x9f\xb1\xa5\x9e\xc9\x9e\x92\xb2\x4a\x20\x31\x77\xa4\x2b\xde\xff\x01\xc3\x89\x7b\xab\xf2\xf2\xb1\x2c\xe7\x60\x9e\xc6\x8b\xd6\x23\xaf\x22\xc6\xaf\xb6\x80\x3d\xca\x8b\x18\x22\xe9\xe5\xeb\x8f\xe2\x69\xcb\x99\x9b\x18\xba\x61\x6d\xba\x0e\xf3\x1c\x15\x1a\x66\x37\x3b\x3b\x5c\x53\x4f\xb4\xd8\x40\x05\xee\xa9\x6d\x2c\xd2\xbf\x29\x0b\x3a\x87\xb8\xcd\x73\xbd\xb1\x9c\x01\xea\x84\x21\xe9\xee\x65\xe4\xbb\xe2\xd2\xbd\xd4\x8a\xee\x85\xe6\xd5\x1a\x53\xa7\x60\x93\x85\xe8\x0f\xa9\xee\x05\x0c\x6b\xd2\xf3\x2a\x5a\x95\x66\x23\xae\x8c\xb9\x5d\x12\xd5\x5d\x85\x38\xc8\x34\xc1\xa4\xf7\x76\x40\x61\x0a\x76\x3a\x0a\x81\xb4\x0b\x5c\xcb\xd1\x69\x71\x8d\x76\xd0\xc5\x5d\xb1\xd0\x49\xdd\xeb\x92\x3d\xad\xf0\xe0\x2b\x28\xf3\xbd\xac\x5a\x2c\xaa\x72\x0f\x04\x64\xc9\x84\xe2\xcc\x4d\x3d\x98\x2b\x6b\xb3\x9b\x1c\x25\xe1\x12\x83\x7d\xed\xc7\xfd\x9b\x12\x2b\xf6\x6f\xf1\xfa\xdf\xae\x56\x02\xd1\x4e\xc4\x94\x9c\x93\xab\x96\x7e\xf2\xbe\xd5\x25\xe6\xeb\xba\x75\x6d\x00\x26\x01\x80\xbe\x6a\x6e\x00\xd1\x5c\xa6\x4c\xb6\x69\x97\x4c\x3a\xe4\xfc\x1b\xb7\xf8\xf7\x37\xed\x7e\x3f\x27\xbf\x11\xd7\xfe\x73\xac\x4b\x22\x0f\x5d\x63\x2d\xe0\xee\x43\x97\xe8\xae\x06\x90\x6b\x07\x09\xbe\x82\x5f\x35\x0c\x0d\x9a\x0c\x6e\x1e\x10\x86\x50\x29\x57\x76\x8f\xc3\x7f\xa3\xff\x06\x92\x19\x2e\x19\x08\x63\x88\x68\xce\xe7\x4a\xab\x8b\xeb\x07\x42\xf5\x19\x41\x95\x54\x98\x4e\x35\x0f\xd5\x06\x7f\xd3\xe3\x13\x32\x2e\xcd\x76\x7f\x1b\x9e\xab\x9d\xf3\x5a\x86\x25\x98\x71\xd7\xfa\x9a\x20\xe1\xd0\x6f\x51\x2f\xf1\x40\x84\xaa\x45\x8f\xc9\x6f\xd1\x21\x5c\x28\x3a\x76\x64\x1e\xba\x4f\xbc\xe9\x0e\x2e\xb8\x01\xc1\xbf\x1f\x36\xc6\x8d\xb4\x29\x50\x04\x2d\x30\x71\x96\x92\x5e\xf1\xeb\x9a\x1b\x2a\x6e\x7b\xfa\x15\x57\x70\xfb\x3a\xa8\x57\xab\xed\x1e\x25\x6e\x7b\x88\x6d\x13\xa4\x15\xf7\x26\xd4\x26\x9b\x50\x6b\x4f\xae\xf8\x35\xe8\x2f\xdb\x72\x07\xfc\xe6\xf0\xaa\x46\xcd\x25\xd0\xc0\xef\xe1\xa5\xab\xc4\x10\xb7\xc6\x35\xc9\xaf\x26\x09\x4a\x4d\x47\x84\xd9\xc2\x48\x53\xc3\xc5\x7f\x65\xc1\x79\x89\x1b\x6c\xb7\x0c\xa6\x02\xdc\x22\x15\xc3\xcc\xd0\x18\x3e\xee\xdd\x3a\xed\xd5\xd4\xce\x79\xd1\x6d\x28\xae\x0f\x1a\x5a\x93\x05\x97\x78\x88\xaf\xaf\x3d\x2b\x73\x5d\x3f\x66\xe5\xa4\x56\x47\x06\x0d\x62\x2e\xcb\x16\x26\x60\xc5\x80\xae\x3e\x0c\x8a\xd8\x50\xee\x70\x33\x36\x3c\xd4\xc5\x9f\xb3\x17\xcf\xc7\xea\x53\x25\x26\xcc\x78\x3b\xff\x88\xc9\x97\x9e\x8c\xcd\x25\x07\xff\x50\xed\x1a\xb4\xfa\xa4\x61\x43\xbb\x47\xd9\xf4\xa8\xb2\x66\xcb\x5c\x47\x5a\xca\xb6\xad\x96\xad\x5e\xca\x66\x52\x9d\xff\xf1\x95\x6c\x66\x9d\x7a\x4d\x6b\x99\xc9\x02\x46\x9e\xea\xe9\xec\xa7\x7a\xd5\x23\x0d\x2b\xa1\x7b\x71\x7a\xeb\xcd\x46\x27\xda\xbf\xc7\x6c\x48\xe3\x58\x50\xd9\x8d\xe2\x7d\x5d\x2d\x10\xd4\x30\x9a\x7d\x97\x54\x9a\xa1\xb1\x71\xdd\x18\x22\x6c\x1e\x67\x65\x1e\xac\xee\xcc\xb9\xcc\xa8\xd0\x2e\x25\xa2\x57\x15\xb9\x46\xad\x56\xaa\xd7\xe8\xe7\x24\xc7\x16\x3e\x46\xe9\xb6\x3d\x05\xba\xe6\x75\x9b\x93\x6d\x1e\x76\xd3\x59\x86\x18\x3d\x7b\xb0\x2b\x7e\x1d\xee\x09\xa0\x31\x78\x83\x9b\x61\x9d\x9b\xb7\xa5\x81\x89\x59\x57\x1f\x82\xfa\x95\x1a\xc4\x3e\x64\xe2\x94\x10\x4c\x87\x2c\x7e\x82\x61\x7b\x44\x12\x97\x09\xfe\x3b\x22\x79\xf7\xbe\xb0\x8d\xe8\x18\xd6\x64\x63\x23\x5c\xc5\x8c\xee\xb9\x59\x6d\xbd\x33\x01\x13\xb4\x64\xd4\xb9\xfe\xdb\xd5\xb8\x3d\x22\x9b\x40\xc8\x1f\xce\x1a\xe8\x87\x36\x16\xe8\x25\xf9\x09\x37\xa7\xd1\x8e\xe5\x3e\xdd\x2a\xb1\x89\xaf\xcc\xa0\x36\xf0\xd4\xee\xe8\x52\x3f\x0b\xe6\x2c\x2a\xcf\xf9\x22\x55\x30\x8d\xba\x65\x73\xa9\x5f\x14\xaf\x4a\xdc\x10\x2d\x9e\xd3\xe5\xb8\x6e\x5f\x87\x09\x38\x37\x53\x37\x63\x79\x38\x97\x54\x2b\xec\xe3\xb5\x09\x03\x1d\xb9\xe9\x13\x21\xcc\xce\xf8\xcd\x33\xa5\xb5\x19\x88\x18\x35\xcc\x12\x3c\x36\x55\x21\xe3\x55\x48\xff\x35\x33\x0d\x0d\x6b\x37\xde\x28\xb6\x68\xc7\x15\xc6\x1e\xde\xd7\x88\xc5\x95\xa7\x5f\x6c\x5d\x27\xd5\xf4\xc4\xa6\xa5\x97\x7f\x60\x46\xc9\xf0\x47\xb4\xa6\x5f\x12\xbb\xa4\x51\xcd\x19\x17\x75\x4e\x79\xe4\xd0\x34\xce\x8a\x69\x8d\xa5\x27\xf2\xfc\x0e\xac\x56\xae\xb6\x06\xdc\x81\xaa\x7e\x7c\xe8\x1c\x0a\x6d\x12\x3f\xfb\xed\xdb\xc2\x80\x35\xca\x53\x35\x4b\xff\xce\x09\x3d\x57\x39\xbe\xab\xda\x78\xfb\x98\x3f\xba\x64\x79\x13\x1b\x10\x37\x85\x87\xe9\xd3\x60\x4b\x95\x87\x7f\xac\xa4\x3e\xae\xa5\x6f\x58\x84\x17\x54\xd4\xa7\x7b\x7a\x6e\x95\x16\x5d\x0f\xaf\x41\x2c\xce\xd3\x4a\x40\xe0\xdd\xae\x33\xf3\xc6\x32\x66\x7b\x2c\x12\x04\xb1\xa0\xa3\xee\x2a\xbb\x01\x99\x77\x54\xc0\xa6\x71\x5d\xca\x52\x56\x6a\x9f\xfd\xb2\xa2\x45\x90\x9e\x9b\x54\x6a\x1e\xee\x5a\xe6\x36\x01\x93\x19\x2d\xa8\xc0\xda\x05\x9d\xf7\xad\x16\x4b\x00\xc0\x06\xe2\xe4\x03\x34\x65\x0f\x32\xc1\x35\x5e\xa4\x5d\x56\x41\xbe\xa3\xd3\xd5\x9b\x92\xdc\x71\xe9\x0e\x81\x03\x9c\x23\x35\x6c\x37\x38\x03\x87\xbe\xc0\x73\x42\xf5\xa6\xd3\x77\x7e\x7d\x62\x36\x67\xd9\x0d\x74\x34\x52\xf0\xb8\x0e\xc4\x4f\xdd\x92\xf7\xc1\x49\x89\x78\x0a\xa4\x3d\x43\x0d\x9b\x30\xbd\xd0\xde\xf7\xbd\xed\xf9\x1d\xd3\x45\x7d\x96\x58\xb8\x06\xfd\x89\x3e\x64\xdb\x1c\xee\x33\x09\xca\x00\x53\x25\xff\x14\x42\xfb\xb1\x4f\xe7\x99\xb7\xa4\xf9\xc0\xc9\x06\x98\x47\xd4\x3a\xf1\xe9\xb4\x39\xe6\xee\xf7\x6d\x92\x15\x00\x93\x72\xc5\x2e\xb1\x47\xc8\xc1\x28\xda\xcd\xfd\x89\xd4\x27\x7f\x2e\x05\x5f\x70\x8c\xb1\x74\xa1\x8d\x0e\x5c\x4d\x6a\x8d\x76\x50\x5a\xed\x9f\x13\x88\x5f\x8d\x00\x7c\xd1\xee\xff\xad\xed\x52\x6d\xae\x58\xdc\xd4\x8e\x6b\x83\x97\xae\x69\xa5\x9d\x4e\x72\x5a\x4a\x53\x38\x4b\xf1\x9d\x93\x38\x89\xa6\x4d\x71\x7d\x29\x6a\x52\x3a\xd9\xc0\x4c\xee\xe4\x1c\xb9\x9a\xe0\xc1\x18\x10\x98\x36\xac\x8f\x0a\x67\x7e\x5d\x48\x94\x57\xcc\x1e\x86\xa0\x98\x78\xcc\xe6\x10\xf6\x78\x20\xbd\xbe\x0f\xf9\x12\xbd\x89\x22\x4f\xca\xd8\x09\xf9\xab\x0e\x0a\xa9\xb2\xfb\x38\x76\x1b\xab\x1c\x74\xfe\x4e\xd7\xf3\xd9\xe5\x9e\x7f\xac\xc4\xc1\xcd\x5c\xa3\xf8\xd4\x0e\x80\x79\xfa\x00\xc6\xff\x2f\xae\xa6\x1f\x3c\x81\x98\xca\x76\x46\xf0\x8f\x16\x0b\x47\x35\xe0\xf5\x2d\x1a\xec\x5b\xff\xef\xfb\x2f\x3e\xe0\x00\x31\xb1\xae\x49\xb8\x54\x38\xc0\x2e\xd8\x67\xed\x22\x22\xcb\x9c\xe2\x39\x29\x5e\xef\x44\xfb\x44\x3f\xfc\xe3\x8e\x8f\x3d\x4b\x12\xf7\x70\xd1\x5b\x43\xba\xb2\x36\x53\xd9\xad\x35\x55\x5d\x2c\xcc\xe6\x4a\xa0\x00\x8c\x40\x3b\x3f\x2a\xd9\xe6\xc2\xf6\xef\x45\x13\xde\xbb\x1e\x79\xb2\xcd\xdf\x7a\xa4\xe0\x36\xd5\xd2\xa7\x8c\xdd\x58\xed\x87\xcc\xbd\xff\x0d\x09\x76\x95\x32\xf4\x59\xbb\x3d\x8a\x3d\x0f\x47\xcb\x32\x1e\x59\x56\x1a\x31\x6e\xbc\xdf\xb4\x2d\x8b\x4b\xd7\x9f\x05\xf5\x72\x0d\xeb\x1f\xb0\x28\x7f\x41\x97\xb8\x06\xad\xee\x92\x7e\x68\x08\x58\xd2\x31\xff\x2f\x88\x57\xa0\x6b\xf5\x70\x45\x26\x1b\x3d\x3f\x0d\x17\x04\x39\xd3\x06\x50\x8f\x5a\xf5\x63\xc7\x27\x59\xfc\x93\x1e\x99\xbf\x35\x31\x56\x8f\x89\xfe\x2b\xb5\x8b\xc9\x04\x6d\xac\xc1\x4a\xb4\x8f\x05\x0d\x55\x4e\x5a\x9e\xe9\xbc\xeb\x3f\xa0\xaf\x9a\xc3\xa7\x58\xec\x23\xd7\x54\xea\x75\x9a\x0d\x51\x5c\xd0\xfa\x86\xd5\x3b\x7f\x28\x4a\x7b\x6c\xe4\xe8\x13\x87\x7f\x65\x6e\x1d\xf2\x82\x96\xc8\xbf\x44\xb2\x32\x77\x15\x52\xda\x32\x9a\xda\x4b\x5b\xe3\xef\xaa\x1b\x70\xd7\xb3\x3b\xe6\x93\x83\x76\xd9\x34\xbb\xc5\x3d\x6e\xb1\x0c\x78\xca\xf5\x11\xbc\x61\x4b\xf6\x04\xcf\x3b\xd6\xba\x65\xee\x48\x24\xa3\xf1\x75\x73\x81\x53\x60\x46\x42\x56\x60\xfa\x75\xa3\x92\xb1\xa0\xd0\xd2\xa3\x42\x72\x56\xd0\x35\xae\xa6\xd0\xdb\x61\xe8\xc6\x22\x2a\xae\x4a\xc5\xed\xf1\x96\x01\xba\x5d\xa3\x2a\x74\x46\x3d\x38\x56\xd8\xd4\xab\x52\x5c\xb9\x61\x3a\xab\xcf\xdf\x0c\x66\xd3\xed\x56\x08\x7e\xcb\x0d\xbb\xe1\xd6\xc7\x94\x8c\x48\xc1\xe0\x08\x6e\x59\x99\xf3\xb3\xa4\x29\x9c\xa6\x59\x86\x75\x43\x38\x1c\x39\x5b\xe2\x80\x94\xba\x35\x4a\x82\xc5\xe4\x51\xbb\xf0\xce\x20\x91\xb3\x2d\xd4\x31\xc7\xea\x74\xc9\x20\x36\x2b\xdf\x31\x15\xef\xeb\xf2\x98\x15\x97\xcd\xda\x6c\xf6\xd8\xd4\xcb\xec\xbf\x43\xe2\xc5\x4e\xf9\x44\x2a\xa5\xa1\x56\xa3\x28\x48\x59\x95\xfb\xd6\xe6\x46\x6b\x99\x64\xb2\xcb\x75\xe4\x33\xeb\xb2\x3e\x5d\xda\x53\x32\xa9\xd8\xa6\xcd\x04\xdc\x4e\x02\xbb\x29\xc7\xee\x97\x95\x50\x63\xf9\x2f\xb2\x2a\x9b\xb3\x23\x7a\xc2\xf0\xa1\xb9\x12\x7d\x6b\xca\x61\xd3\x42\xec\x70\x06\xd0\xae\x22\x34\xe7\xe1\x44\x09\x95\x64\x26\x21\xda\xaf\xbe\x31\xa5\x6e\x1e\x6a\x4a\x7e\xc6\x49\x75\x03\x88\x29\x75\x7b\xd7\xe2\xa2\x73\x13\xbf\xf1\xfc\x39\x96\x62\xfc\x2c\xab\xf2\x79\x52\x51\x54\xda\x6a\xa2\x88\x7c\xed\xce\x43\x27\x49\x27\x27\xb3\x98\x8f\xe5\x46\x4b\xc0\x66\xef\xb4\xc9\x39\xad\xf5\xc2\xdb\xb6\x78\x0f\x9d\x28\xd9\xd2\x3c\x49\xf9\x66\x01\x7d\xb2\x8c\x38\x29\xaa\x49\xbc\x8c\x43\x86\x5b\xb6\xf8\xe2\x50\x9c\xa2\x0c\xe9\x51\x77\x8a\x4c\x8d\xeb\x7f\x14\xef\x72\x44\xf4\x52\x54\x8b\x94\x7b\x61\xd0\x36\x54\xbd\xfb\x5b\x8f\x65\xd2\x34\xc1\x07\x2d\xc4\x63\xb5\x91\x19\xe1\x89\xc7\x71\xa3\x4e\xf7\x5d\xf7\x4c\xa1\x6a\xf2\x66\xa0\x42\xd3\x94\x8a\xc9\x30\x96\xbe\x36\xcc\x3e\xea\xa7\x51\x82\x67\x3b\x41\xb9\xed\xc6\x76\x7d\xed\xae\x75\xd6\xf0\xf0\x71\x5f\x71\xd3\xf4\x74\x32\x16\xed\xa8\x4f\x48\xf2\xed\x92\xe1\x2a\xe3\xf4\x2b\x3d\x89\x37\x1d\xb0\xf6\x2a\x38\x8c\xac\x2a\x9b\x0a\x15\xeb\x3b\xf7\x3e\x32\xc0\xa8\x2f\xfd\x6a\x2a\xd4\x0a\x77\x53\x8d\x76\x55\x08\x26\x3c\x37\xe0\x4b\x6d\x5c\x12\xba\x0f\x7f\x10\xc5\x78\x37\xd6\x3f\x1a\x05\x45\x09\x61\x7e\x1f\x9f\xc1\x74\xc3\xd6\xbd\x82\x4a\xf5\xc6\x4c\x26\x06\x80\x60\xec\x41\x03\x0d\x3a\x1b\x26\xd2\x1e\xfc\x0c\x65\x7d\xff\x8e\xfa\x8e\x21\xd1\x24\xe3\xb6\x55\x4c\xe1\x86\x68\x78\x52\x3a\x5f\x60\x56\xb0\x55\x14\x4d\x7b\x6d\xe9\x42\x50\x8c\x6b\x28\x2e\x9e\xb5\x45\x09\x26\x27\xd6\xab\x15\x75\x24\xc8\xef\xd6\xd2\xbe\x9f\x36\x3f\x73\xee\x82\xc8\x5e\xec\xc8\x6f\x5e\xfb\x51\xd7\xcd\x78\x96\x71\xba\x5d\x9d\x81\x6e\x54\xf9\x49\xc3\xed\xdb\x8a\xe7\xe8\x92\xc5\x03\x8d\xb1\x49\xb2\x50\x23\x0d\x4a\xa2\xd2\x3d\xdf\xad\xa8\x6e\x8f\xfc\xfe\x7b\x78\xeb\x1c\xb5\x43\xa8\xd6\x9a\x43\x8e\xa6\x1e\x38\x8d\x10\xab\x82\xc7\x05\x47\xc1\x8c\xed\xb6\xc9\xa5\x40\x73\x6c\xdf\x52\x5d\x30\xbd\xd7\xf9\xff\x92\x8d\xd4\x3f\x84\x3b\x5d\xd1\x12\x5e\x65\x7b\x98\xec\x9b\x0e\xf2\xb1\x92\x3a\x6a\x03\xb7\xf4\x5f\xe8\x2d\xfd\x90\x09\xbe\xc4\x7d\x6e\xcb\x59\x20\x46\x59\x55\x14\x2c\x03\xd3\x9d\xaf\xf4\xd2\x7a\x32\x59\x99\x4a\x58\xa9\xd8\xd2\x4c\x43\xd8\x33\x33\x78\xa9\x33\x25\x4c\x70\xbd\x98\xb9\x05\x6a\xcd\x11\x9a\xe6\x79\xbb\xd7\xeb\x75\xf4\x29\xfd\xd2\x1f\xa6\x8a\x67\x5f\xfc\xb3\x85\xdb\x33\x3b\xcd\xf2\x5b\xbd\x16\xc6\x8e\xdb\x84\x97\x7d\x7d\xb8\x62\x4f\xce\x83\x5d\xad\xca\xaa\xe4\x19\x2d\xc8\x4a\x32\xbd\x26\x5f\xd6\x32\xcf\x66\x9d\xa7\xdb\x22\x3b\xde\x01\xcc\x04\xba\xeb\x6a\x25\x1c\xcd\xcc\x71\x1b\xd0\x1f\x90\x2f\x6c\xb8\x2a\x0a\x3c\xa3\x3d\x50\xd9\x0e\xfc\xdc\x1c\x78\x66\x28\xfe\xf9\x39\xf9\xed\x21\x3d\xb5\x96\xba\xfb\x5b\x33\xc6\xc9\xd2\x7c\xf7\x0c\x09\xb7\x58\xb3\x5b\xa3\xe3\xb1\xb6\xa6\x16\x1f\x31\x0d\xd0\xd4\x0e\x9a\xc3\xc9\x9e\x25\x28\xe7\x54\xaf\xa2\xc6\xf3\x95\x1b\xab\xa8\x71\x72\x62\x4c\x16\x38\x45\x03\xdf\x53\x64\x70\x1a\x63\x4f\xd0\xbb\x3d\x5d\xdf\x6d\xf2\x7a\x66\xc9\xe5\xa4\xa8\xe5\xb4\x73\xaa\x68\x90\x92\x32\xc6\x3b\xa4\x47\x4c\x50\x60\x96\x7a\x16\x09\x70\xe9\x62\x5b\x5a\x01\x45\x4f\x78\xe2\x3b\x87\xd8\x64\x00\xd7\x4b\xf6\x5c\x3f\x8b\x7f\xc3\xdd\xe7\x3a\x93\xa2\xcb\x24\xa8\xa2\xcf\xf1\x53\x17\x3d\xc6\x11\x9c\xe0\x0c\xeb\x9f\xdc\x50\x1b\x65\x15\x9d\x01\x65\x6e\x61\x2f\xb9\x5b\x7a\x61\x4e\xf0\xd9\x83\xcb\x7b\xbe\x7c\xd7\x75\x1e\x7c\x71\x00\x8b\x22\xbf\x47\xcd\x22\xb8\x37\x36\x1c\xf5\x16\x97\xb9\xfb\x99\x84\x6a\xc7\x21\x6d\xae\x4d\x7b\x58\x75\x59\xa9\xc0\x7c\x06\xb5\xac\x55\x73\x2d\xeb\x1e\x90\x78\xaf\x4b\xf6\x00\x53\x5b\xce\x1c\xf5\x3d\xaa\x68\x75\x03\xd7\x10\xcb\x77\x6b\x5d\x08\xab\xe2\xad\xdb\xb0\x61\xf8\x77\xd4\xa5\x37\x19\xb9\xb8\x38\xdd\x85\xfe\xb6\x4d\x1f\xf8\x6f\xac\x41\x6f\xdc\xd2\x74\x2b\x7f\x36\x33\x5a\xc4\x4b\xff\x83\x78\xe2\xe9\x43\x5d\x14\x9a\xc7\xfa\x02\x84\xe4\xff\x83\xe3\xdd\x03\x92\xec\x18\x74\x4c\x07\x69\x7d\xb4\x12\xb5\xfd\x8a\xfe\x7b\x0f\xff\xd8\x23\x4e\x58\x09\x8e\x4f\x4e\x6e\x99\x90\x98\x03\xde\xa9\xef\x0d\x63\xfc\x24\x8a\xc7\xf2\x86\xf6\xda\x9d\xfd\x4d\x5b\xdb\xf4\xec\x0b\x3f\x5c\x2d\x44\x18\x86\xda\x3d\x88\xd6\xee\x19\x69\x75\xa3\xab\x6e\xe4\xb6\xbb\x94\x36\x93\xfe\xbf\xc3\xa3\x84\x90\x56\x2e\xa9\x59\x49\x86\x05\x0a\x0b\x56\x2a\xb3\x7b\x4e\x35\xb5\xc7\xed\x60\x12\x7c\x59\x49\xc9\x27\xc5\x9a\x64\x45\xb5\xca\xf7\x27\x34\xbb\x61\xc6\x4d\x74\x5b\xdb\xe9\x11\xf7\xbb\x7d\x96\xec\xce\x94\xfc\xb4\x3b\x8f\x24\xed\x67\x73\x48\xe6\xff\x0e\x0a\x9b\xce\xd8\x84\xc0\x84\x4a\x96\x13\x2c\x8b\x30\x8b\x43\x4a\xbd\x09\xac\x3e\x23\x63\x4a\xed\xb6\x08\xe6\x14\x22\xa1\x33\x08\xe0\x6e\xb9\x65\x45\x7a\x87\xea\xe8\xbc\x9e\x74\xe8\x6a\x43\xd1\x7b\xa5\xcf\x0c\xaa\x1f\x26\x53\x3f\x40\xe6\x73\xc3\x09\x32\x55\xc3\x99\x29\x71\xd7\x7a\x76\x3e\x14\x37\x78\x7b\x8b\x4c\x63\xf7\x22\x76\xb7\x36\x17\x55\x99\x54\x8a\x39\xbf\xc2\x92\x2b\xee\x56\x50\xd5\x6f\xef\x4b\xbd\x01\x3a\x0f\x37\x90\x88\xbb\x9c\xe4\x80\x34\x1a\x21\x1d\xdc\x9e\xc1\x54\x30\xea\x27\x19\x30\x66\x8f\x7a\x78\x65\x01\xae\x5d\xbe\xd6\x52\x6c\xf3\xee\x2e\xe9\xae\x0f\x55\xf3\x7e\x0f\xe1\x44\x76\x15\xed\xf5\x60\xd0\x6b\xaa\xaa\x74\x27\x44\x84\x0b\x20\xec\x76\x42\x1b\xf6\xe7\xae\xad\xaa\xf8\x7f\xd9\x7b\xf7\xfe\xb6\x8d\x24\x51\xf4\x7f\x7f\x8a\x4e\xee\x3d\x21\x19\x53\x14\x49\x3d\x2d\x8f\x92\xa5\x28\x6a\xe2\x13\xdb\xf1\x46\x76\x72\x77\x3d\x5e\x9f\x26\xd0\x24\x11\x81\x68\x0c\x1a\x90\xc4\x19\x7b\x3f\xfb\xfd\x75\x55\xf5\x0b\x00\x25\xc5\x79\xec\xcc\x9c\xf8\x0f\x4b\x6a\xf4\xb3\xba\xba\xba\xaa\xba\x1e\x6b\x9e\xf7\x3e\xba\x38\x42\x81\x35\x4e\x9b\x3f\x05\x76\xfb\xc8\x46\xe6\xaa\x29\xb8\xb6\x02\x7f\x4b\x16\x86\x30\x02\x70\x1d\x44\xa0\xb5\x6f\x37\x3a\xf6\xd3\x30\xd4\x4d\x78\x7e\xd5\x1c\x0c\x5b\x57\xb4\x3d\xf3\x42\x33\xac\x71\x33\xf3\xc2\x7b\x6b\xd7\x1f\xc4\x4f\xf5\xdd\x8e\xdb\x50\x62\x7b\xf2\x85\x73\xb4\x04\x87\x98\x4f\x68\x02\x60\x62\xb8\x79\xf4\xf9\xd7\x40\x01\x34\x39\x7f\x74\x77\x40\xe8\xad\x50\x03\x4f\xf6\xbb\xe3\x40\x07\x47\x0b\x1b\x78\x0f\xf9\x0f\x36\x52\x6f\x3c\x62\x7e\xef\x1e\x65\x1b\x46\x65\xdc\xd1\x94\x52\xac\xef\x7b\xd1\xd4\x3f\x8d\x97\x72\x95\xdf\x11\x21\xb5\xf7\x70\xb0\x5a\x13\x27\x03\xd9\xb9\x10\x9a\x5d\x45\xfe\xf1\x21\xa0\xa5\xb0\xcf\x3e\x70\xc1\x0c\xe6\x2e\xe8\x6a\x2e\x2a\xac\x84\x4c\x50\x6b\x42\x0f\x15\x58\x11\xf9\x00\x6b\xd0\x17\x8a\xbb\x09\x56\xbf\x36\xa7\xef\x7d\x20\x03\x65\xf6\xcf\x03\x98\x02\xdf\xa5\xbb\x40\xf6\x20\x98\xa9\x1a\xd0\xd4\x83\xa0\xa6\xea\x60\x0b\xcd\x8b\xc8\x11\x3e\xdb\x76\x00\xdb\xb0\xca\x68\x61\x2c\xb7\x3e\x17\xa4\x6a\x78\x80\x09\x90\xab\xbb\xc5\x10\x48\x89\x02\x82\xf4\x0b\xeb\xe8\x0e\x1c\x85\xb5\x04\x8a\x22\x91\x97\x0d\xdd\xce\x2f\xf2\xc0\x33\x03\x29\x51\x06\x0e\x78\x7e\x1e\x07\x4c\xba\x27\xc3\x58\xf6\xba\x01\x59\xec\x02\x61\x33\xe1\xbf\x1e\xb9\x3c\x44\x85\xc9\x62\x60\xa2\x11\x27\x18\x56\x2a\xc8\x36\x00\x66\xa9\x79\x0c\xcf\x99\x9e\x85\x84\x9f\xe4\x6a\x2b\x76\xa8\x2d\x27\xca\x0b\xe2\xdb\xa4\xf5\x72\xfe\x93\x4d\x3b\x27\xe7\x3f\xc1\xe3\x81\x0b\xf9\x5d\x47\x25\x25\xca\xae\x9c\xff\x54\xeb\xac\x81\x4d\xf6\xd4\x11\xd6\x6f\xc7\xaa\x56\x0b\xbe\x2b\xb1\xd9\xa5\x96\x68\x2a\x56\xeb\xe0\x8f\xbd\x36\x7b\xad\xc2\x14\x4a\xf5\x8d\x69\x21\x06\x0f\xd8\x41\x13\x10\x06\xa3\xe6\x87\x7e\xb7\x0f\xbb\x6a\xc0\x8a\x0f\x5c\x93\x7f\xfd\xed\xa2\xb8\xa9\xbf\x70\xc7\x4c\x6f\x26\x46\xdf\x6f\xbf\x63\xce\x9a\xad\x71\x40\xef\xdb\x33\x6c\xda\x52\xb7\x6d\xdb\xec\xd9\x83\x9b\xee\xce\xdd\xdb\x76\xed\xfd\xb1\x7d\x77\x6d\x5f\xcb\xed\xfb\xf0\x0d\xac\x57\x7e\xb8\x12\xe7\x3d\x2c\xe4\x5f\x44\xd1\x70\x93\x64\xb1\xbc\x19\xc0\x92\x2e\x7f\xbe\xb6\x01\xdc\x27\x42\x85\xc3\x2f\xd0\x36\x3c\x07\x0c\x69\x58\x9e\xb5\xab\x12\x9a\xda\x87\x96\xb5\xe8\x6a\x54\xcc\xe3\x78\x76\x2d\xb2\xd2\xea\x18\x3a\xd4\xb4\xd3\x37\x61\x7e\x2f\x0d\x9a\xfc\x8e\xea\x06\x58\x73\x9b\x39\x47\xa0\x6d\xf0\xb4\x0b\x56\xb1\x30\x29\x04\xbf\x5f\xa5\xb0\xbb\xcb\xfe\xf7\x25\x6a\xb3\x55\x23\xfc\x92\x4b\xdd\x06\xc8\x06\x31\x6c\x74\x9d\x75\x5e\x6e\x28\x49\xc3\x80\x5d\x4a\x46\xce\x5d\xd8\x9d\xcc\xd2\x0d\xc5\x3d\x24\x65\xb0\x0d\xdd\x54\x16\x55\xb9\xda\x0c\x5c\x3c\x74\x74\xc6\xf7\xba\xeb\xbb\x00\xe5\x64\x7f\x9a\xc5\x18\xf1\x17\xac\xc2\x32\x59\x42\x16\x0d\xdd\xbb\xf5\xd6\xd7\x22\xb7\x79\xf9\x17\x03\x6b\xb1\xfd\xb5\x9f\x79\xce\x95\xf7\xd8\x89\x57\xeb\xa9\x0b\x48\xe0\xba\xb0\x46\x0b\xb5\x2e\x9c\x29\xfa\x89\x57\xcb\x74\x21\x1d\x7b\xf6\x56\x0c\x88\x3d\x43\x05\x8c\x19\xed\xc4\xcd\x95\x1e\x14\xa9\x8f\x13\x3b\x81\x3b\xa3\xa7\x7c\x9a\xae\x47\xfe\xb3\x69\x79\xea\x38\xff\x4f\xaf\xe4\xa9\x2f\xe8\x0f\x1d\xcf\x03\x74\x3c\x75\xa0\xfd\xa1\xe2\xf9\xb5\x54\x3c\x75\xc8\x3e\x4c\xc3\xe3\x27\xe2\x6a\xe8\x2d\xc0\xf9\xe3\x4a\x6c\xbc\xf4\x63\xf8\x9c\x7a\x6d\xdf\x50\x11\x14\x36\x61\x69\x59\x6c\x3c\xb3\x59\xec\xd6\xa3\xb6\x2e\xf5\x0b\x63\x1a\xc3\xca\x68\xc5\xcc\x35\x47\xc6\x7d\xe8\x80\x11\x71\xcd\x8e\xe2\x7d\xe3\xf1\x95\xe0\x58\x67\xde\x24\x4b\x56\x65\xee\xce\xf0\xac\x9a\x3d\x04\xb0\xa7\x17\x2e\x77\x34\x64\xc5\x49\x34\xd0\xe1\x5f\x41\x7f\xf5\x00\x7c\xb8\x57\x7b\xb5\xd5\xe4\x3f\x41\x63\x4e\x63\x5d\xcf\x76\xd8\x48\x5f\x60\x5f\xe1\x45\xb6\xb3\xe3\xc7\x43\xd0\x27\x02\x6b\x5b\x13\xfb\x87\x62\x5a\xed\xe5\x7e\x2b\xaa\x85\xc8\x06\x86\xef\x74\x3d\x6f\x41\xb8\x76\x94\xfb\x85\x48\x17\x8e\x7c\x1d\xda\x27\xb6\x18\x37\x02\x00\x9b\x81\x41\x1f\x8a\xbb\xc5\x75\x13\x71\xff\x50\x20\xfe\x53\x2a\x95\xea\xe7\xf3\x67\xeb\x0f\x1b\x9a\x25\x73\x88\xfa\xf5\xd4\x84\x78\x0a\xb6\xdf\x99\x0f\xbd\x31\xff\x50\x2e\xfe\x7e\x78\xf0\x10\xdd\x62\xdd\xc0\x5f\xce\x7f\x0a\x24\x86\x07\x21\x87\x51\x3b\xf7\x9a\x29\xd9\x3e\x05\x47\xfe\x50\x5f\xfe\x06\x38\xf1\x8b\xb5\x97\x4d\x4e\xee\x17\xee\xef\x1f\x7a\xce\xdf\x76\x9f\xc3\x00\xae\x45\xeb\x46\xb7\x86\x62\x2d\x36\x5b\x15\x08\x6d\x38\xc1\x8b\xcd\xdb\xe4\xdd\x2f\x3b\xfa\x0f\x53\xa0\xae\xc5\x5a\x16\x9b\x7f\x11\x0d\xea\xb3\x6c\x07\xd7\xe3\xb4\x2a\x9f\x62\xa7\x05\xf5\x75\x7f\x9f\xa4\x39\x7d\x81\x33\xf8\x64\xd5\xe9\xb6\x44\x63\xff\x90\xea\x23\x5c\xec\xbf\x92\xfe\xa8\xb1\xa2\x3f\x14\x48\x0f\x50\x20\x35\xa0\xf6\x00\x0d\x92\x06\x98\xb0\x8a\xdc\x3a\xd7\x14\xaa\xd2\x89\x60\x0a\x23\xd2\xfd\xdd\xa9\x79\x83\x8a\xf0\xbd\xef\xe9\x7a\x8d\xe3\xdd\x47\x4b\x4b\xdb\xce\x5b\x48\x4e\x6b\x07\xf7\x93\xf5\xc3\xad\x1a\xe2\xc0\x01\xce\x7b\xdd\xe8\x1b\xef\xc0\x3f\xd4\x67\x77\xe1\xd5\x2f\xd4\x9f\x51\x42\xfb\x3f\xf4\x66\xff\x6c\x7a\xb3\x6d\x88\xf0\x8f\xa7\x38\x23\x14\xfb\x43\x61\xf6\x87\xc2\xec\xff\x06\x45\x49\xe3\x60\x7e\x9a\xc5\x9d\x8b\xfd\xd5\x7e\x98\x9a\xa5\xe6\x84\xd4\x15\x6a\x36\x9e\x98\xe3\x2d\xda\xd8\x86\x66\x08\xb1\x13\x9c\xe2\x3f\x01\x3b\xf0\x87\x66\xf0\x1f\x10\xe1\x1f\xa2\x1a\xf4\xd1\xf2\x6e\x4d\xe1\xcf\xe7\x74\x8d\xc6\xf0\x63\x33\x6a\xdc\xb6\x03\x63\x95\x8c\x4f\x5b\xe8\xf6\xff\x08\xda\xff\x6a\x9a\xb0\x3f\x34\x9d\xbf\x2a\x8e\xff\x2c\x55\xa7\x9f\xd1\xa0\x9d\xf1\xfe\x43\xcd\xf9\x8f\xbd\xc9\xbf\xb2\x9e\xb3\x15\x21\x50\xc7\xf9\xee\x37\xd4\x71\x96\x42\x95\xef\x29\x86\xd9\xbf\x88\x86\xf3\xdf\xf4\x57\x3d\xc8\x75\x22\x6e\x98\x17\x14\xa6\xca\x92\x92\xe9\x05\x6b\xf6\x75\x51\xf0\xb5\xb8\x91\xc5\x15\x6c\x92\x1f\x54\x92\x67\x96\x8b\xe5\x7e\xb9\x6e\x19\x66\xa9\xd2\x03\x99\xac\xa2\x18\x90\x5b\xe3\xce\x6b\xa1\xca\x17\x5e\x56\xd3\x42\xa4\x80\x6a\xa0\x67\x85\x24\x78\x13\x0c\x33\xb9\x96\x6b\xca\x87\x95\x94\x1d\x05\xd1\x15\x5d\x9c\x1a\x08\x91\xa9\x92\x6c\x99\x0a\x1c\x07\x51\x19\x6a\x16\x82\x2b\x99\xf1\x79\xba\x61\x6a\xcd\x31\x2b\x55\xf7\xf4\xbf\x47\x57\x2c\x4d\x32\xa1\x19\x23\x3d\x2e\x76\xca\x52\x59\x32\xc1\x55\x82\x07\xc4\x24\x58\x96\x19\x75\x0b\xa1\x6e\x20\x62\x8c\x5e\x9f\xee\x69\xc5\x8b\x4c\x28\x85\x51\xee\x13\x60\x36\xbc\x86\x4a\x5c\x8b\x2c\x88\x6a\x2e\xd3\x54\xde\x68\x90\xd2\x02\x31\x4e\x3c\xf9\xd6\x7b\xa9\xfa\xea\xb0\xd9\xc1\x38\x0b\x52\x96\xa4\x82\xd6\x93\x16\x59\x59\x6c\x72\x99\x64\x78\xec\x21\xa4\x1b\x48\x1b\x42\x4b\x66\x15\x2a\x93\x9b\x9d\x0d\x9e\xcb\x25\xdb\x61\xcf\xe5\x72\xa9\x6b\x6b\x4c\x4c\xd0\x3b\xbf\xa5\xee\x65\x95\x94\x82\xed\xb0\x89\x01\xb7\x71\xec\x37\x1b\xdc\xd2\x46\xff\x0e\x4d\x68\x4b\x74\xdd\x3b\xaa\x7e\x5f\x65\x6c\x87\x61\x09\x62\x86\xb8\x15\x51\x65\x46\xe2\x40\xcb\xee\x19\xf2\x7b\xa1\xaa\xb4\x31\xa8\x3e\x67\x55\x4a\xc1\x45\x2d\xcd\xd7\x40\xa4\x08\x26\x74\x54\x2c\xb2\xb3\x55\x22\x0a\x5e\x44\xab\x0d\xa2\xc5\x95\x10\xb9\x28\x4c\x20\x83\x54\x2e\xb7\x84\x6d\x69\x81\x30\xd2\x7b\xdd\xc4\x92\xfa\xb6\x7d\x70\xfd\xc1\x21\x7a\x2e\x97\xca\xe4\x30\xf7\x4e\x23\x25\x44\xd2\x34\x4d\xae\x93\x32\x50\x99\xfa\x68\x52\xd3\x8f\xa6\x72\xe9\x29\xc8\xf5\x5c\x4e\xed\xac\x30\xc0\x57\xdb\x9c\x20\x9e\x69\x7b\x2e\x77\x83\x59\x06\x7e\x36\x95\x3a\x7c\x30\xa4\x71\x8b\x1c\x00\x14\xf7\xd6\x8b\x1f\x83\xd7\x66\xae\x0f\x02\x26\x6e\xd7\x9d\x28\x40\x38\x25\xca\x2a\xef\xf6\xfa\x06\x2e\x79\x21\xf8\x7a\x9e\x8a\x2e\x9d\x57\xa8\x1a\x71\x7d\x82\x28\x48\x95\x9b\x46\x51\x65\x03\x86\x44\xc7\x6c\xb3\xa2\x5c\xf1\x1e\x1b\x5f\x5f\xf8\x97\x40\x74\x07\x8c\x3d\xd3\xa4\x40\x64\x65\x52\x88\x74\xc3\xaa\xdc\x6c\x87\x37\xbb\x1b\x78\xe7\x29\x3b\x56\xed\x08\x19\x33\x30\x47\x5a\x73\x57\x1a\x19\xd3\x0d\xd2\xd7\xb5\xd9\x14\xa0\x8f\x74\x2a\x6d\xbb\x43\x2d\x29\x30\x2f\x35\xba\x23\x00\xa1\xdd\x2f\xae\x94\x8c\x12\x17\xc0\xb3\xb1\x69\x96\x53\xb0\x54\x7b\x4a\x71\x86\xd7\x7c\xe3\x27\x8a\x47\x0a\xa7\x6f\x4e\x78\x01\xcb\xf3\x42\xe6\x05\xa4\x1d\x34\x8b\xb9\x0f\x08\x32\xa3\x65\x4c\x0d\x73\xe2\x01\xa2\xc4\x4f\x3d\x14\x69\x6a\xb6\xf9\x62\x21\x21\x3e\x34\x4c\xfc\xfe\x25\x25\x0a\x70\xe1\x9e\xb3\x8a\xa4\xe3\x23\xd1\x0a\x13\xcf\x46\xff\x1a\x20\xb9\x60\x55\x1e\xc9\x35\x84\x89\x26\x24\x32\x64\xad\x8e\xe8\xd1\x2d\x26\x33\x94\x59\x29\x6e\x83\x6e\xdc\x8e\xdc\x07\x24\x5d\xef\x15\x21\xbd\x0f\x1f\x9c\x5a\x9f\x01\xb2\x34\x41\x64\xc2\x4f\x3f\x10\x42\x8b\x24\x4b\xd4\xaa\xf9\xcc\xf7\xc9\x30\xa2\x0e\xe3\xdf\x0f\x46\x52\x95\x0f\x06\xd2\x39\xf0\x33\xe8\xca\x01\x33\x36\x54\x84\xc9\xaa\xcc\x2b\x2f\x0e\xf3\x0d\x9b\xbc\x7a\x66\x73\x7e\xd8\x64\x3c\x94\x4a\xc4\x90\x63\x22\xde\x8c\x89\xc1\x72\xc0\x7e\x14\x4c\x55\x39\x04\xd5\x4d\xb2\x85\x24\xea\x05\x39\xec\x7a\x7d\x26\x20\xbe\xb4\xfe\xa5\x8c\x06\x83\x01\xaa\x4f\xd3\xe4\xca\xf6\x36\xa0\x46\x54\xe1\x2e\x22\x4a\xc3\xbf\x6e\x4c\x05\xd8\x7a\x59\x69\x7a\x9d\xa6\xfa\xbe\x5a\x22\x69\x2c\x64\xb5\x5c\xd9\x4b\xe6\xd2\x44\x93\x83\x64\xdc\x4c\x71\xb9\x16\xb0\x5e\x5a\x9e\x2a\x79\x16\xf3\x22\xb6\x9d\x4f\x5e\x3d\x6b\xdf\x8b\xe7\x70\xa5\x84\x54\x0c\xdb\x9c\xd2\x4f\xdf\x58\x45\xcb\x29\xa7\x98\x99\xc8\xaa\xe0\x62\x8c\x0b\xd5\xe9\xd8\x12\x0c\x72\xf7\xbe\xad\xf0\xb2\xe4\xd1\xd5\x7b\xcc\x9a\x89\x2e\x26\x53\x9e\x97\x55\x81\xcb\xf5\x77\x06\x58\x23\x06\xbc\x11\xa8\xa8\x60\x93\x81\xab\xe6\x80\x5a\x90\x87\x08\x02\x12\xea\x66\x8a\xdc\x5f\x30\x04\x61\xba\x19\x30\xbd\x99\x26\xdd\xd1\x5c\x30\x93\x80\x10\x53\x53\x2a\x21\x28\x68\xe2\xc0\x86\xc6\xe7\xa9\x92\x10\x16\x59\x99\x2c\xd3\xba\x2b\x80\x6a\x29\x99\x66\x19\xf5\x68\xa2\x50\xac\x0b\xc8\x72\x23\x2c\xfc\x11\x43\x7a\x03\xb3\x56\x5a\xc3\x7b\xba\xac\xe9\x4f\x0d\x8a\xb7\x9d\x54\x2e\x3b\x7d\xd6\x89\xc5\xbc\x82\x5f\x34\xce\xe8\x9f\xba\x0f\xfd\x13\xb0\xac\xf3\xce\x26\xb1\xea\xa6\xe2\x5a\xa4\x3d\x76\xfa\x15\x89\x4e\xa9\x28\xd9\x5a\x2d\x5f\x61\x24\x41\x03\x63\xc6\xd4\x4d\x02\x4f\x00\x54\xdf\xe6\x28\xd3\x70\xa3\xe1\x4e\x82\x32\x18\x31\x2c\xc2\xc1\x4f\xec\x03\x80\x3f\x0e\xf4\x3b\x28\xe5\x9b\x3c\x17\xc5\x94\x2b\xd1\xed\x51\xca\x46\x17\xcc\x78\x5e\x08\x7e\x15\xc4\x68\xd5\x6b\x2f\x99\x44\x34\x0b\x80\xf3\x16\x3a\x7c\xe7\x74\x53\x54\xb0\xa5\x1e\x3b\x65\xdd\xc1\x60\xc0\x8b\xa5\xf2\x80\xe1\x05\x4e\xd5\xc8\xe9\xa2\xdd\x3a\xd4\x7c\x7c\x1a\x62\xe5\x63\x6f\x55\x8f\x99\xee\x6f\xf0\x93\x4c\xb2\x6e\x87\x75\x60\x41\x7f\xc9\xec\x82\xf4\xb4\x07\x3c\xcf\xd3\x4d\x37\x98\x52\x1f\x9a\x19\x85\x15\xc8\xab\x36\x6b\xea\x8f\x05\xcf\x77\xe7\x49\x86\x82\xf9\xb2\x90\x55\x6e\x8f\x17\x60\xdb\xdb\x0e\x14\xea\xbd\x86\x5f\xa6\x32\x4d\x79\xae\x44\xec\x6f\x3a\x7c\xf1\xd6\x49\x60\xfc\x33\x74\x57\x07\x10\x54\xf6\x01\x89\x05\x5b\xea\x69\x40\xa6\x7c\x2e\xd2\xd3\x4e\x27\x80\x24\xf6\x8e\xdf\x82\x2c\x9f\x3f\x13\xbc\xd0\x41\x0d\x92\x75\xba\xc0\x58\x67\x50\x88\x5c\xf0\xb2\xfb\xf8\x71\x83\x3e\xb4\x40\xd6\x07\xc0\x2c\x8b\xeb\x6b\x1b\x2c\xe9\x83\xa5\x37\xcb\xfb\x6a\x6a\x38\x78\xeb\xb7\x5d\x9b\xf4\x7d\x77\x4c\x79\x67\xa7\x7d\xca\x8d\x20\x94\x90\xc8\x0d\x19\x6f\x58\x40\x51\x45\xa5\x2c\x3c\x8d\x11\x24\xed\xc5\x64\xb9\x2b\x51\x24\x25\x68\xae\x1e\x41\xce\xe8\x16\x29\xce\x5c\x29\x6f\x94\x08\xf3\xc6\x01\x43\xd7\x60\xf3\x89\x11\xa7\x94\x5d\xc0\x18\x87\xd9\xed\x75\x5f\x18\xe2\x31\xdd\xb0\x24\x4b\x4a\x7a\xd6\x6a\x9f\xac\x55\x4c\xb9\x0e\xff\x43\x56\xa0\xbc\x28\x57\x02\xb4\x53\x1e\x97\x69\x25\x00\xe0\xf6\x1d\xf7\xcf\xd6\xa2\x5c\xc9\x58\x41\x00\x52\x11\x09\xa5\x78\xb1\x81\x3a\x3c\xf6\xa5\x82\x47\x98\x33\x2e\x18\xd0\x0a\xd7\xd7\xbc\x60\x2f\x36\x1a\x3e\x8a\x02\x92\xb5\xc2\xab\xdb\xa1\x4a\x1d\xbd\x3d\xd4\x96\x8a\x42\x75\x3d\x9c\x2a\x67\xc6\x83\x7c\xfc\x97\xe6\x15\xf5\x52\x94\x8a\x6e\xc0\xe4\x6f\x98\x73\xee\x16\x7f\x4d\x16\x2c\x29\x99\xb8\x4d\x54\xa9\x6c\x8e\xb8\x46\x92\xa6\xd1\xd0\xeb\x0c\x03\xaf\xda\xab\xdc\x04\x54\x37\x49\x8e\xa2\xdb\x3e\xfb\xbb\xee\xfb\x84\x8d\x86\x90\xa7\xe0\x4b\x3a\x0a\x5b\xe7\x9f\xdf\xc7\x65\xfa\x4b\xd1\x9c\x02\xc8\xe1\xac\x2b\xae\x21\xa3\x5b\xa4\x37\x61\x51\xa5\x4c\x66\x42\xf5\x40\x5a\x50\x49\x2c\x76\xc4\x62\x01\x0c\x89\x46\xb4\x34\x51\x65\x9f\x29\xe9\xf5\x54\x08\xc2\xb8\xa4\x34\x7c\x3d\x98\x20\xf9\xca\x02\x23\xb7\x62\x3c\x7e\xb0\x6e\xc3\xe2\xad\x2f\x07\x7a\xe5\x4e\x53\xf8\xa5\x4f\x6e\x52\x8c\x52\xcf\x4e\x59\x62\xfb\xf9\xd8\x00\xcf\xee\x2e\x3b\xe3\x2a\x89\x58\x5d\x99\x65\x23\x0c\x7b\x30\xe4\x71\xac\x7f\xe9\x76\x72\x99\xef\xa0\x9a\xb2\xd3\xbf\x07\x88\xde\x6c\x06\xb9\xcc\xbb\x1e\x6a\x31\xe6\xd2\x08\x26\x4a\x73\xef\xa2\xc0\xa3\xc3\x93\x94\x32\xd3\xe9\xa9\xc0\x65\x0b\x27\x51\x95\x32\x07\x07\xde\x81\xeb\x81\x54\x1e\xd8\x7a\xf6\xef\x5d\x37\x1c\xce\xb0\xef\xa1\xe2\x0e\x3e\xb4\x87\xe3\x4f\x48\x44\xd0\xfc\x69\x92\xc5\x49\x44\xbb\xb4\xe2\xca\xc8\xea\xf3\x0d\x70\x33\x56\xec\xc6\x43\xd9\x9c\x84\xae\xde\xed\x39\x70\xf7\x02\x40\x5f\x72\x48\x7f\xd8\xd0\x1b\xde\x09\x6a\xa8\xbd\xf3\xb3\x00\xae\x11\x45\x89\x74\x41\xb4\x3c\x5c\x30\x38\x10\x1b\xa5\x7c\xdd\xc6\xd2\x54\x6a\x83\xab\xee\x31\x84\x2b\x94\x04\x70\x6d\x36\xaf\x41\x24\xc0\x3d\x82\xff\x8f\x3c\x29\xd9\x68\x38\x5c\x2b\x97\x6b\x53\x6f\x3d\x2f\x0a\xbe\x61\x64\x5c\x62\xa9\x29\xbf\x72\xca\x63\x71\x0b\x10\xf5\xf6\xa1\xc5\x6c\xa2\xaf\xfb\xae\xed\xfa\xbd\x28\x69\xd0\x00\x6e\x1c\x27\x46\x66\x42\xc4\x8a\xf1\x0c\xed\x5a\xc7\x76\xce\x5e\x4a\xfd\x1a\x5e\x93\x1a\xc5\x26\x75\x2c\x04\xc8\x4b\x1a\x2c\xbb\x1a\xcd\xc9\xff\x3e\xeb\x93\x32\xd5\xcb\x9a\x5a\xca\xa0\x3b\x7c\xf5\x48\xd6\x02\x12\x50\x35\x71\xaf\x10\x7f\xad\x84\x82\xe5\x77\xc7\xb4\xe2\x06\x16\x36\xe5\x2c\xf3\x86\x07\xb7\xdf\xcb\xb6\x90\xab\xee\x72\x6c\x97\x89\x50\x63\xea\x87\x55\x34\x5d\xd1\x3b\x87\xb9\x11\xf5\xfd\x08\xfa\x0e\x6a\x69\x11\xd7\xec\x88\xf7\x4d\xf3\x10\xde\x9f\xfe\x93\xac\x9d\xe8\xa9\x9b\x34\x05\xb0\x35\xb7\x43\x95\x77\x41\x4f\x44\x7c\xb5\x1e\x78\x5b\x3b\xfa\x4a\xe7\x8d\x22\xac\x36\x59\x09\xfa\x6e\xeb\xc7\x89\xd2\x32\xd2\x9d\x6d\xbc\x3a\xb6\xdd\x52\x94\x77\xb6\xa1\xef\xf5\xfa\x94\xa2\xe5\xce\x36\xba\x8e\x6d\x57\x52\x81\x33\x93\xb6\xc5\x2f\x78\xfe\xde\x5a\x76\x40\xa9\xbd\x1b\x5d\x76\x62\xbc\xac\xba\xed\x03\xda\xfa\x3d\xdb\x85\xcf\x02\x6d\x99\x27\xec\x51\x7b\x87\x86\x65\x11\x8a\x4c\x99\x4b\x59\x04\xc9\xa7\x74\x41\xc0\x2d\x02\x40\xe4\x62\x8b\xfa\xde\xf5\xd7\x37\x2a\x6f\x7a\x05\x5c\x89\x0d\xbb\x11\xde\x1b\xc4\x76\x94\xf6\x66\x65\x22\x7e\x06\x61\xee\xe1\x5c\x40\x2a\x80\x3b\xb9\xcf\xd7\xee\xc2\xc0\x03\x9e\x27\xa8\xfd\xd5\x7c\x98\x37\x84\x79\x04\xdd\x60\x4e\x02\x80\xff\x9d\xd3\x73\x28\x1b\x28\x13\x5f\x62\x0c\x79\xa1\xca\x0b\x2a\x76\xf1\x36\xcc\x77\x6b\x1f\x6c\xf0\xc1\x4f\x0e\xd6\x39\xaf\x20\xbe\x7d\x49\x47\x1f\x03\xc9\x77\xd8\x63\x66\x9a\x5b\x0b\xa1\x12\xc7\xdf\xa6\xb9\x25\xb5\xed\x96\x59\x59\xd9\xc3\x4c\xe2\xad\xa9\xf8\x8e\x0e\x7f\x50\x03\xb0\x19\xd1\x43\xff\x59\x37\xea\xd6\xbb\x09\x61\xa5\xf1\xd0\xc5\x96\xaf\xda\x06\xbe\xf0\x04\xff\xf3\x82\xd0\x68\xd3\x52\xb9\xec\x76\xce\xfd\xd5\xbb\x11\x07\x8b\x2a\x4d\x9b\xc9\x7b\xfe\x0c\x16\x83\xad\xaf\x59\x26\x8d\xa1\xbe\x9f\xf4\xec\x7f\x35\x6c\x6e\xbb\x7b\x2c\x4c\xeb\x57\x4f\x2c\x54\x52\x78\x7b\xe9\x22\x71\xb7\x4d\xda\xc4\x66\x87\x7b\x90\x5a\x81\x94\x61\xc3\xb4\x90\x00\x72\xc3\x95\xcb\xe6\xc0\xf0\x15\xf9\x2e\x54\x71\x44\xbb\x81\x26\xc1\x0b\xc6\x16\x6c\x6e\xc2\x3c\x23\xe6\xa6\x85\x80\xa1\x94\xd6\xaa\xc9\xfe\x7d\xc8\x4a\x78\xe3\xd4\x8c\x98\xea\x0b\x85\x43\xd9\x30\x99\x73\x79\x10\x98\xb4\xaf\x32\x28\x5e\x1b\xbc\xea\xb3\xbc\x32\x0c\xb5\x70\x49\x23\x28\xf7\x33\x49\xf5\xa5\xa7\x30\xf7\x45\x47\x90\x7f\xc1\x68\xc5\x93\x1f\x15\x8b\x13\x98\xaa\x16\x90\x9d\xd4\xf8\xc8\x4b\x90\x92\x64\xa5\xc8\x62\x04\xd3\x5c\xd8\xb4\xef\xf6\x81\x1b\xe7\xd8\x51\x56\x16\x27\xf8\x22\x27\x86\x38\xe4\x52\x5b\x2b\xcb\x94\x06\x2f\x65\x49\xb4\x02\xa1\x70\x2e\x8c\x7c\x1f\xc3\x0e\x80\x4a\xda\x58\xb9\x84\xcf\x00\x03\xc6\x2e\x64\x61\xd9\x59\xef\x59\xfc\xc5\xa6\x76\xe3\xde\x23\x7d\xd7\xc4\x63\x75\x9f\x7c\x4c\x3c\x6a\xed\x55\x02\xd3\x3f\x77\x74\xb3\x8e\xdb\x9b\x12\x31\xc9\xc8\x52\xe6\xad\x00\x0d\x6f\xcc\x76\x59\x21\x9e\x44\x7e\x3f\x03\x7f\xad\xed\x12\xa8\x4f\x8b\xf4\xbf\xed\x29\xe0\xa1\x4f\x28\x8d\x86\x16\x43\xdc\x53\x2c\x19\x66\x68\x04\xd4\x04\x67\xd7\xcf\xeb\x4c\x76\x9a\x32\xf3\xa1\xda\x86\xc4\xf0\xea\x6a\xd6\xac\xc5\x09\x11\x53\x78\x29\x82\x0d\x62\xd8\xc2\xb7\x6d\xc2\x2c\x0f\xca\xcf\x31\x60\x32\xa8\xd4\x90\xe2\x8e\x33\x1a\xa0\x43\x5b\xca\x68\xbd\xed\x66\xd5\x75\xa7\x6a\x8d\xf2\xe1\x37\xd2\x83\x5e\x81\xb2\x13\xbe\x6b\xa4\xfa\x9a\x45\xb7\xba\xec\xc4\xd6\x7e\x7b\xf5\xae\x99\x46\x9a\x48\x0d\xbc\x18\xd0\x79\x89\xf0\x6d\x8e\xe0\x58\xe5\x2d\x62\x84\x31\x10\x31\xdb\x5f\x8b\x3b\x66\x24\x3c\x47\xe0\x38\xcb\xe4\x8e\xcc\x31\x97\x6d\xed\xc4\xea\xce\x34\xd9\x4f\x0a\xa1\x98\x92\x6b\xc1\xae\x92\x2c\xd6\x9d\xc0\xe7\x9d\x1b\x78\xf5\xd1\x07\x07\x95\x01\x60\xb5\xa2\xc9\x4e\xca\x31\x93\x44\x2c\x59\x62\xa9\x05\xbc\x87\xc3\x51\x87\x07\x10\x59\xc0\x03\x51\x29\xcc\x36\xb5\x52\x33\x10\x14\xb1\x1a\x6d\xbe\xee\x8a\x83\xb2\x28\xa1\xc7\x14\x78\xb3\x01\xf2\x6e\x72\xe4\x01\x34\x60\x45\x3c\xdb\x78\xaf\x73\x9e\x02\x04\x1f\xe6\xe1\x78\xb9\x71\x6d\x3e\x1a\x44\xb3\x38\x51\x11\x2f\x34\x61\x03\xc5\x20\x5c\x01\x32\x73\x68\x48\x54\x5f\xe3\x80\x39\xa7\x85\x58\x13\xfa\x07\x96\x4b\x93\x0c\xb5\x59\x0c\xb5\x59\x4a\x8b\x9a\xf0\xb7\xd9\x90\x96\xc5\xa3\xe6\x64\x2e\x58\x12\x8b\x75\x2e\x4b\x91\xe1\x5d\xed\x91\xb4\xbe\x3e\x04\x1b\x59\x75\x0a\xc1\x78\x1c\xeb\x61\xcf\xbf\x7b\xc1\x32\x19\x53\xf6\x29\x16\xcb\xa8\x5a\x43\x8e\x85\xb5\x96\xf0\x55\x55\x00\xc8\x16\x49\x81\x76\x47\xc8\x6c\xa3\x34\x2e\x36\x1d\x48\x7e\x57\xda\xe4\xc8\x25\xe8\x84\x18\x91\x33\xb8\xea\xfa\xc6\x8a\xb0\x5c\x89\x35\x2b\x38\x48\xec\xe5\x8a\x67\x88\x2c\x15\x3e\x5b\xad\xc3\x7c\x53\xba\xcf\x48\x56\x59\x49\x7b\x9d\x14\xb8\xa7\x9e\xad\x20\x89\x0f\x79\x21\xe7\x7c\x8e\x19\xcd\x53\xb1\xd0\xeb\x5f\x69\x9c\x03\xbb\x35\xbd\x7d\xc4\x7f\xf8\x79\xba\x34\x70\x5d\xc8\x3a\x47\x28\xf8\x5c\x16\xa5\xb7\x2b\xb1\xb3\xc0\xf1\xc9\xda\xaf\xfb\xaa\xfc\xb0\x7b\xe5\xc1\x07\x3d\x96\x2c\x2f\xc4\x0e\xa2\x07\x1c\xfa\xdf\xf1\x94\xfb\x23\x3f\xec\x8c\x03\x47\x40\xfe\x29\x15\x59\xe3\x60\x62\x31\xce\xe6\x55\x16\xad\x74\xb7\x73\x99\xa4\xa2\xc8\x53\x6e\xec\x73\x76\x4b\xc1\x8b\x58\xde\x64\x64\xaf\x98\xe1\x69\x4a\x94\x65\x1c\xcc\x96\xab\xdf\x60\xcf\xff\x91\xed\x38\xea\xd8\x74\xaf\x8e\xfd\x67\x21\x96\x54\x25\xee\xaf\x86\xff\x8e\xde\x80\x3f\x90\xeb\x1f\x05\xb9\x7e\x07\x03\x98\x06\x72\xfd\x1c\x13\x18\x1c\x9e\x15\x22\x2f\x84\xd2\x97\x29\xe4\x77\xf4\x6d\x26\x93\x50\x44\x19\x34\xd2\x48\x9a\xeb\x13\xde\x03\x8a\xd2\x5a\x47\xde\xa5\x95\xb1\xc2\x03\xc0\xc2\xbf\x62\xc4\xb5\x28\xac\x09\xbb\x55\x9b\xc1\x7d\x3d\xdf\xb0\x15\xcf\x1a\x62\x72\xeb\x40\xa4\xb1\x9d\x82\x71\xec\xeb\x90\x2d\x41\x8b\x59\xc7\xe2\x36\xf8\xd8\xc1\xbd\x52\x38\x5a\xc4\x3b\x59\x3c\xf1\x9e\x2a\xfa\x70\x4f\xa2\xcd\x2f\x49\x70\xfe\xee\xd3\x24\x8c\xd6\xa0\xe9\x1a\xd0\x8e\x6b\x7d\xda\xaa\xde\xc7\x40\xc7\x11\xf8\xc2\x7a\xe6\x8c\xe4\x3a\x10\x1a\x64\xc2\x6d\xcb\xac\xbc\x47\xaf\x37\x9c\x91\xb5\xac\xe5\x58\x38\xda\x1b\x98\xee\x6a\x38\xd9\x14\xbe\x1b\xe7\xa6\x89\xa4\x75\x05\x81\xdb\x9d\xad\xda\x1b\xe0\xbd\x01\x4d\x19\x91\xb2\x3b\xf6\x30\x7c\xc1\x06\xa7\xd3\x2f\x77\x1f\xf9\x3a\x71\x44\x85\x53\x0f\x2f\xd0\xc8\xc2\x1f\x60\xcb\xb6\xb6\xec\x68\xcb\x56\xfa\x23\x5a\x64\x39\x0d\x55\x5a\xc1\x68\x94\x90\xb4\x65\xb8\x9f\x33\x94\xd1\x5d\x05\x4b\xf3\xd4\xf9\x8f\x59\xe7\xad\xaf\x5a\xd3\x05\xef\x3a\xc6\xc0\xa4\xee\x4a\x0d\x86\x9c\x01\xd6\x0c\xfc\x35\x99\xcd\x31\xef\x0f\xe6\xef\x40\xc7\x31\x03\x73\x6d\x11\x9e\x27\x5f\xd1\x10\xd9\xd8\xca\x4d\xf5\x5a\x0d\x17\xfb\x3e\x59\xe1\x6d\xb6\x0c\x64\x3c\xda\xc2\xa9\xea\xa5\x24\xe5\x43\xc9\xc6\x83\x49\xfa\x76\xcd\xa9\xfe\xdd\xf7\x77\x09\x6d\x7a\xb1\x37\x32\x80\xb3\x3e\xd9\x7a\x0f\x50\xa7\xa5\x99\xff\x3c\x4f\x49\x4f\x05\xf7\x27\x87\x00\x0b\x77\x2b\xf1\x07\xe1\x03\x91\xdd\x21\x32\x35\xa2\xe7\x2f\xc0\x87\xfe\x23\x76\xd7\xbf\xb7\xe6\x92\xa0\x36\x64\x7b\x3b\x88\x6e\xc9\x83\xcf\xfa\x85\xdf\xfa\xc9\x16\xc5\xad\xdd\xad\x16\x85\x1d\x82\x15\x8a\x8c\x7d\xaf\x31\xfc\xf1\x42\x57\xbb\x07\xd1\x22\xc9\xca\x34\xeb\x76\x80\x60\x14\x3c\x01\x0a\xe5\xc5\xb2\x46\xad\xad\xb8\xf5\x53\x5d\x8b\xdb\x81\x2a\xad\xe3\x50\xbd\xd4\x9f\x1d\xb8\x6b\x85\x79\xab\x83\x61\x4d\x1b\x32\xe2\xfa\x4b\xd6\xe9\xf5\xee\x48\x58\xdd\xda\xb6\x57\xf3\x6c\x0f\xd6\x67\xde\x42\xf5\xf2\xde\x9b\xcd\xb9\x98\x3c\x7b\x3e\x3b\xef\xa3\x29\x64\x33\xc2\xf3\x1b\x62\x92\xa2\x95\x94\xfa\xce\x0d\x1c\x20\xd0\x4d\xa6\xca\x50\x5c\xf3\x65\x74\x95\x26\xcb\x55\x99\x6e\xd8\x5a\x42\x16\xe7\xec\x5a\x64\x89\xc8\xca\xe6\xc5\x8a\x37\xb6\x12\x5b\xed\x85\xb6\x58\xac\x77\x7b\xf7\x1c\xaa\x8f\xfe\x23\xa5\x25\xe1\xd6\xc1\xa7\x45\x8b\x6b\xee\x1c\x73\xaa\xb7\xb0\x4a\x13\x7b\x29\x05\x4e\x03\xe0\x90\x63\xce\xa8\x32\x57\x9d\xc7\x6b\x7a\x37\xa4\x06\xe2\xdd\xca\x4a\x59\x80\xc1\xc3\x75\x12\x57\x3c\xf5\x8c\x89\xb6\x1f\xfe\x9a\x15\x7f\xeb\x63\x6e\x70\x05\x78\x20\xa8\xfb\x6e\x58\x2d\x5a\xf3\x66\x71\xee\x1d\xc1\x1b\xb0\xdf\xf9\xe5\x4a\x16\x65\x54\x95\x86\x94\xd4\x7a\xef\x28\x96\xca\x65\xad\x6b\x74\x08\xf1\xba\xd4\x25\xcd\x6b\xcb\xdc\xf5\x66\x0b\x1e\xe6\x23\x11\x7a\x69\x60\x6f\x2b\x79\x63\xe5\x05\xbd\x3b\x68\x54\x66\xbd\x33\xb6\xb8\x65\xd0\x4b\x68\x38\xf7\xe8\x96\x9d\x6a\xc4\xf8\xf0\xc1\x38\x3f\x87\x17\x3b\xbd\x87\xba\x19\xa0\xb6\x44\x64\xa0\xcf\x00\x83\x82\x05\x4f\xd2\xaa\x68\xf4\x6c\x8a\x5d\x5a\xc3\x07\xf5\x8c\x18\x59\xeb\x2b\x0f\x9e\x4b\xeb\x70\x85\x44\xdb\x3e\x80\x55\xc9\x8b\x52\xc4\xf0\x48\x03\x81\xf3\x51\xcb\xbf\xe2\x2a\xeb\x94\x18\xd2\x84\xaa\xb0\x0d\x24\x7b\x0d\x98\x1e\xfd\xe5\x9c\x83\xed\x81\x6e\xbc\x65\xc0\x24\x63\xeb\x24\x4d\x13\x25\x22\x99\xc5\xca\x2a\x91\xdc\x2c\x4a\x29\xaf\x7c\x33\x0e\x7f\x3a\xd8\x99\x9b\x93\x0d\xe1\xd4\x32\xa1\xb8\x2a\x50\xf4\xdc\x36\x9f\xb5\x04\x17\xad\x48\xd3\xa8\xe0\xea\x0d\x00\x10\xcc\x8d\x86\x25\x28\x60\x57\x7a\x64\xc6\x9e\x65\xce\xb3\x35\x16\xa5\xbe\xc0\x41\x98\x34\xdb\xe9\x24\x55\xe0\x15\x52\x01\xf9\xd0\x6d\x08\x99\x12\x1c\xfa\x18\xbc\x45\x38\x47\x98\x00\xe3\x30\xfc\x11\xf1\x2b\x6d\x6b\x7a\x59\xad\xe7\x28\x5a\xae\xf9\x6d\xb2\xae\xd6\x0e\xc5\x58\x78\x92\x9c\xf5\xd6\x8d\x79\x45\x60\x19\xb6\x4e\xe8\xac\x14\x82\x47\x2b\x3c\x22\x0b\x36\xd4\x00\x21\xcf\x2f\x5f\x0f\x6a\x6e\x06\x25\xc8\x13\x92\xf4\xa9\xe0\xf8\xd2\x67\xe2\x5a\x64\xb4\x63\x0b\x94\xe2\xf5\x84\x6a\xeb\x5a\xf3\xdb\x0b\x87\xf2\xc3\xda\x36\x15\x15\xa5\x82\xf0\xbc\xab\x18\xbe\x1a\x09\x5e\xa4\x1b\x36\x17\x11\xaf\xd0\x83\x95\x67\xac\xca\xc4\x6d\x8e\x53\xd1\xe8\x95\xb4\x30\xe7\x39\xcf\x92\xc8\xf9\x01\x20\x5b\x6a\xec\x17\x72\x91\xc5\xd6\x85\xd1\x10\x5f\x47\x08\xff\xbd\x12\x95\xb0\x09\x47\xbd\x2b\x13\xe8\x3e\x3e\x3c\x10\xf5\x77\x6e\x65\x08\x9c\x6e\x0f\xc5\x24\xdf\x92\xc9\x69\xa0\x91\x8d\xd4\x3d\xc1\x13\x0e\x42\xf3\x4e\xba\xef\xdd\x91\x93\xe7\xcf\xdf\xbf\x9e\x5d\xbe\xbe\x24\x53\x8f\x05\xdd\x9a\xb3\xac\x5a\x77\x3b\x7f\xe2\x69\x0a\x1a\x13\xf5\x55\xa7\x57\x37\x9a\xf0\x05\x6f\x9f\x86\x6e\x15\xfe\x9b\xa3\xe3\x6c\xdb\x1e\x64\x3d\xdf\x0b\x07\xbc\x86\xc9\xc0\x43\x47\x68\xd8\x35\xa1\xdf\x80\x27\xd7\xc9\xbc\x7c\x9f\xf3\xb2\x14\x45\xe6\xc2\x53\x50\x01\x39\x33\x98\xbf\x3e\x7c\xc0\x79\x59\xd0\x99\x4c\x1c\x38\xd6\x14\x94\xce\x80\x8d\xce\x2c\x80\x9e\x60\x3d\xa1\xc7\x7b\x9b\xa5\x5c\x01\xf6\x59\xe7\x27\xb4\x0c\xfd\x89\xfd\xc9\xb6\xb5\x9e\xe4\x3f\x39\x4f\x72\xcf\xe4\xc0\x54\x7b\xfb\x13\x19\xc3\xef\xee\xb2\x97\xd2\xa0\xca\x8d\xe8\x14\x9a\xa5\xd0\xc8\xf9\xf9\x67\xa7\xa7\x9f\xfb\x3a\x74\x5d\xf2\x39\x53\xd2\xaf\xba\xd6\xac\x33\x28\x1b\xb0\x2b\xbd\xb5\x0e\x51\x2e\x41\xc9\x60\xc9\x9d\xdf\x97\x7d\xfa\xca\x4a\x65\x74\x2b\x94\xaf\xc5\x32\xc0\x06\x8c\x9f\x9d\x9e\xd6\xe0\x18\xb2\xc4\xa6\x9e\xc7\x11\x7f\x2f\x96\xb3\xdb\xdc\x67\x89\x21\xdd\x3a\xd5\x04\x44\x01\xec\xb0\x22\x6d\xaf\xe7\x49\x11\x7a\x62\x49\xe6\x05\x73\x42\x1e\xd9\x58\x82\x38\x39\xf8\xb3\x53\x16\xa0\xc2\x96\xe6\x3e\xc7\x4c\x8f\xb5\x06\x9b\x0d\x8e\x02\x96\x39\xac\x78\xfc\xb8\x9e\x7f\xdd\xfb\x58\x7b\x7a\x4f\xf1\xcd\x26\x03\xd6\x0e\xb8\x62\x3c\xed\xa5\x64\x4b\x84\x38\x5e\x3b\xca\xf8\x6e\xba\x66\x46\x16\x07\xb7\x2f\xc0\x10\x6c\xaf\x77\x48\x82\x73\x39\x38\xa1\xcb\x9b\x6d\x66\x1c\x1f\x10\xd0\x1f\xed\x01\x78\x45\x3f\xab\x80\x2c\xb9\xf7\x26\x00\xc8\xb3\x05\xbb\x83\xbe\xf4\x3d\x8a\xc5\x8b\x90\x50\x99\xe6\xdc\x66\xe3\x81\x64\x3e\x96\xa2\x20\xfb\x73\xcb\x23\x90\x10\x34\x72\x0a\xb8\x28\xda\xfb\xc0\xc9\x9b\x3e\x60\x40\x83\xd0\xd0\x25\x7e\x47\x19\x36\x8e\x3d\x18\x18\x83\x94\x24\x23\xfb\x93\xcc\x5e\x8a\x3c\xc6\xfb\x80\x9b\x25\xc0\x94\x40\xf5\x87\xac\x8d\xb0\xee\xfc\xce\xd6\x13\x2e\x1e\x4f\x38\x78\x38\x45\x7c\x65\x09\x8f\xa5\x58\x0d\xe2\xd4\xa0\x36\x5b\xe2\x50\xdc\x6b\xa6\xd7\x12\xa4\xc2\xef\xdb\xb8\xb9\x78\x94\x74\x8b\x2d\xa1\xeb\xf3\x6d\xf2\xee\x1e\xf9\x9d\xfe\x99\x55\x05\x91\x2f\x3e\xf3\x86\x0f\x8c\x4a\xb5\x18\x00\x1e\x67\x9d\x97\xd2\xdf\x59\x11\xd3\x8c\xc1\x34\xb5\x48\x4a\x51\x24\x1c\x85\xef\xc6\x00\xf7\x1c\xbc\x6f\xa4\xbc\x12\x31\x89\x05\x94\xa2\x4b\x66\xe0\x1d\x66\xbc\xb5\x3d\xd7\xe4\xc4\x63\xdc\x50\xdf\x60\x65\x7f\x74\xe3\x00\x9a\x0a\x5a\x1e\x67\x3b\xb1\x94\xac\xca\x22\x5e\x2d\x57\x77\xa8\x66\x42\xac\x90\xd9\x1b\x6a\x31\x33\xfd\xbf\x6f\x5c\x67\x6b\xa1\x14\x5f\x8a\x3e\xc4\x7b\xe8\x43\x88\x08\x0d\x3d\x02\x2a\x7d\xb5\x21\x58\x3b\xa6\xc7\x87\x68\x41\x3a\x3d\x76\x7a\xca\x86\xec\xc3\x07\xda\xd5\x46\x6f\xaa\xe4\x65\xa5\x4e\x88\x75\xe9\xf4\x28\x9e\xab\xa7\x38\x22\x0e\x96\x87\xe6\xe4\x9a\xba\x51\x81\xe6\xef\xba\x3d\xd2\xea\x15\x72\xcd\xb8\x0b\x4d\xcb\xd8\x8f\xfa\x66\x32\x9d\x99\xc7\xe2\xa5\x84\x43\xad\xb9\x66\x9e\xa2\x60\x9e\x94\x75\xe5\x7e\xa8\xc6\xc0\x01\xdc\xcd\xc6\xad\xe6\x26\x29\xd1\x77\x52\x33\x61\x8a\x2f\xb4\x74\xa8\xfe\x5a\x89\x34\x22\x9b\x2d\x44\x02\xb3\xf2\x47\x4e\x2b\xc4\xca\x02\xaf\x05\x87\xc1\x4d\xae\xbb\x91\x01\xcd\xdb\x14\x88\x85\x68\xf7\x03\x14\xa0\x8d\xf6\x03\xc3\x9c\xce\xf4\x34\x5e\x60\xc3\xf7\xbd\x50\x33\x47\x42\xdd\x9a\x6f\xc0\xbe\x1d\x5c\x6a\xf5\xe2\x90\xbd\x5d\xf1\x2c\x4e\x35\xf3\x6b\xdf\x99\x6a\x90\x32\x2a\x54\x37\x4f\x5a\x93\x26\x29\xc0\xed\x9f\xb2\x0e\x9e\x82\x8e\x0b\x1c\xda\x9c\x2a\x22\x83\x4d\x02\x17\x7e\x7c\x35\x7b\x79\xfe\xec\xe5\x9f\x11\x1e\xa6\x53\xf0\xfd\xc6\x3e\xed\x49\x47\xaf\x63\x07\x17\x37\x6d\x0d\x21\x68\xf9\x98\x75\x1c\xbb\x0d\x07\xbe\x49\x75\x5a\xa6\x50\xb7\xa3\x6c\x0c\x6a\xf6\xe5\x31\xeb\xf4\x61\x34\x08\xa1\xf2\x98\x75\x4e\xf4\x1f\x70\xb2\xdc\x5c\xc3\xbe\x43\x6c\x6b\xa9\x50\x57\xa0\x39\x9a\x44\x52\x45\xd3\x33\x5e\x93\x22\x2b\x6b\xf9\xf2\x64\x18\x86\xb8\x6e\x4b\x58\x6e\xf2\x44\x23\xfb\x86\x15\x62\xa7\xa8\x32\xc5\x92\x12\x9c\x49\x78\x10\x0d\xa9\x1f\x90\xb1\x54\x94\xe6\x3d\xe5\xfc\xbb\x17\x5a\x5a\x9d\x27\x69\xf2\x37\x54\x8a\xa8\x95\x2c\xca\x9d\x52\x14\x6b\x10\xc8\x65\x55\x06\x4e\x13\xc6\x1b\x2a\x16\x51\xca\x0b\xef\x3d\xc9\x53\xc3\x38\xf7\x0a\x9f\xef\x98\x4b\x99\x0a\x9e\xa1\x8f\xb8\xba\x4a\x72\x72\xfd\x00\x33\x90\xa2\x12\xe4\x41\x44\x85\xfa\xea\xbf\x4a\xf2\x9c\xac\x64\xea\x8f\x56\x40\x99\x3d\xd8\xb0\x64\xbd\x16\x71\xc2\x4b\x01\xee\xd1\x00\x22\xd2\xbd\x03\x8f\x60\xde\x76\x81\xe8\x68\x22\x92\x84\xe6\x62\x77\x07\x87\x68\xa3\xd6\xb5\x20\x11\x4d\x5a\x5d\x5b\xa6\xb3\x49\xfe\xac\xf5\x8b\x7b\xfe\x48\x0c\x0b\x02\x87\x1c\x18\x10\xb0\x59\xe1\x1a\x2b\x97\xa2\xc0\xa8\x38\xd6\x73\x66\x30\x18\xf4\xd9\xb0\x07\x4a\x89\x35\xdf\xcc\x2d\x05\xcd\xe1\x9a\x23\xf5\x89\xde\x68\x78\x3a\xbd\xe1\x1b\xcf\x33\xb3\x2c\x92\x25\xe8\x3e\x41\x18\x2f\xc9\x88\x47\x98\x56\x22\x8b\x4d\x6f\x36\x04\x54\x09\x5e\x3a\x4a\xb2\x1b\x01\x79\x1b\xc9\xd7\x9c\xe2\x95\xe3\x03\xbb\x12\x65\x99\x0a\x06\xef\xe3\x84\x30\xb2\x2a\x4c\x57\xb8\xc2\x48\x63\x43\x95\x83\xfd\x64\xe8\x0b\x54\x62\x4e\xcc\x3a\x84\xc3\x70\x91\x7d\x40\x1a\x62\xc0\x6b\xb4\xac\xae\xdf\xe9\x66\xe2\x86\x9d\xf3\x52\x74\x7b\x3d\xb6\x53\xd3\x47\x85\x14\x69\x19\x38\xca\xda\x62\x08\x7e\xe0\xe9\xcc\x4c\x14\x5d\x4d\x9d\xf0\x3e\xec\xb7\x92\xa6\x40\x65\xe7\x37\x42\xa3\x23\xdd\x68\x5b\xab\xb5\x7a\x2d\x2f\x51\x0b\x46\x44\xc6\xac\xa8\xe7\x51\x26\x55\xad\xd7\xbc\x48\xfe\x26\x48\xc2\xac\xf1\x33\x9e\x1e\xa8\xae\xae\x6d\x42\x18\x61\x7b\x47\xda\xd1\x2d\x8f\x63\xc6\xbe\xcd\x0b\xea\xd2\x08\xd7\xf2\xc9\xcf\x5c\x68\xa2\xab\x09\xe1\x4f\x95\x2a\xdd\x1b\x70\x23\x36\xfb\x7d\x07\x16\x47\x6a\x0b\xea\xd2\xfe\x12\xd6\x80\x57\xe9\xc7\xf3\xb0\x16\x0c\xa4\xee\xb5\x88\xe8\x9e\xb7\x9c\xe5\x43\xad\x72\x79\xbb\xed\xfd\xaa\x79\x31\x5a\x7d\x95\x97\x3d\x35\x63\xb6\xe7\x2d\x17\x22\xf3\x9e\x9b\xbe\x66\xf6\xd7\x13\x26\x6e\x7b\x81\x07\x38\x29\xbb\x1a\xdc\x4d\x51\xbf\xe5\xa9\xe0\xd5\xe4\xf2\x72\x76\xde\x6b\x9b\x6c\xd0\x04\x06\xb1\xb2\x37\x7d\xb2\x27\xf2\x2b\x76\x30\x1c\xf6\xda\x98\xfe\xcb\x54\xde\x18\x75\x93\xbc\x72\x7c\x52\x70\x18\x6a\xdd\xf5\xc2\xa3\xea\x9f\xe0\xd6\xd5\x9c\xda\xd5\xe0\x3d\x1d\x00\xdf\x9e\x55\xd0\x43\x11\x66\x78\x10\xa3\x8b\xde\x68\x9b\xf0\x74\x05\x8a\x86\x6d\x83\x11\xe8\xfc\xc1\x72\xcf\x89\xca\x1b\x2a\x78\xd9\x6b\xa2\xc4\x55\xa6\xc9\x2a\x9d\x12\xc3\x94\x6b\x48\x15\x2d\xac\x0f\x45\xb1\x68\x47\x92\xe6\x96\x85\x3e\x03\xad\xe8\x01\x5f\x8a\x2a\x7b\x29\x6e\x4b\xe2\xb7\x7f\x15\x92\xe1\x0e\x3a\xb1\xfe\x8f\x3c\x6d\x77\x4c\xae\x98\xce\x9d\x93\xbe\xd0\x9d\xed\x3f\xe7\x57\xaa\x02\x8e\x88\x94\xa9\xfa\x8a\x82\x38\x6d\xf3\x6a\xb9\xdc\x38\x33\x4f\xf3\xb8\x63\x6c\x43\x69\x04\x10\xff\xd0\xbe\x0c\x67\x9a\x31\x71\xab\x25\x0e\xe4\x42\x32\xc6\x97\x3c\xc9\x48\x7a\xc9\x42\xf7\x60\x3f\xcd\x06\xbe\x7b\xc2\x15\x0e\xc1\x57\x28\x4e\x0f\x18\x0c\xdb\x47\x8d\x94\xab\x92\xf1\x28\xe0\xce\x31\x16\x0c\xaf\x20\xfc\x1e\xdc\xdb\x98\x07\x44\x77\x88\x30\xa2\x4b\x9b\x2c\xdf\xec\xc5\x0d\x81\xb4\x20\xc0\x92\xd3\xd3\x62\x94\x06\x6b\x6b\x8b\x95\x1f\x41\x64\x40\x2d\x28\x14\x0e\xac\xe6\x31\x00\xa4\x35\x2d\x50\x28\x94\x28\xea\x9c\xb9\x73\xf4\x06\x0e\x42\xf7\x05\x9e\xb1\xe0\x6f\x5f\xae\xc0\x6d\x82\xdc\xb1\x8d\x08\xd7\xe0\x60\x9f\x65\x60\x41\x8d\xd6\x49\x85\xd8\x31\x7b\xe9\x24\xef\xc9\xf3\x1f\x27\xff\x71\xc9\xd6\xf2\x5a\x28\xf0\xb5\x35\x2f\xa9\x66\x96\x79\x92\x36\x38\xcc\xdf\xe2\x6e\x69\xd8\x5d\xa5\xbc\x14\x97\x78\xb6\x5f\x63\x30\x22\xfd\x6b\xf8\x4c\xc5\xcb\x52\xac\xf3\x92\xa4\x33\x11\xc9\x22\x0e\x5e\x93\xe1\xa5\x8b\x17\xdb\x1d\x99\xb6\xdf\x5f\xdf\x8b\xb6\x1b\xcc\xbb\x7b\xfa\xde\x0c\xc3\xe8\x7a\x86\x82\x3c\xe7\xa5\x93\x98\x6d\xa0\xa9\x4f\x22\x21\xde\x50\x36\xe4\x11\xb9\x44\xc3\x0e\xa7\xde\x50\x20\x8c\x9a\xfd\xc3\xc7\x1f\x7c\x40\x84\xd0\x96\xb1\xac\xe6\xa9\xd8\xc9\x41\x53\x0f\xe6\xdb\xd8\x1d\x7d\x5e\x27\xaa\x52\x81\x8f\xb3\x46\x16\x0c\xfc\x84\xa9\x68\xb2\x58\xdc\x9a\x70\x28\x44\x57\x8d\xe6\xc2\x23\xad\x90\x88\x06\xaa\x7e\x75\xca\x86\x6d\xc4\xd8\x44\xf9\xd7\x95\x5c\xa4\xff\xbb\xef\x86\x30\x01\x36\x1a\x3f\xb0\x0c\xcc\x01\xc8\x64\x51\x17\xfc\xb5\x12\xd5\x16\xa7\xec\xe6\x7e\xfb\x04\xb6\xe9\xd8\x65\x85\x72\xa4\xd0\x1f\x3e\xb0\xcf\xea\xef\x28\xc8\x6b\xf6\x1a\x34\xbd\xc9\x57\x7b\x17\x65\xe3\xc5\xed\x8b\x2f\xda\x59\xd8\xaf\x4e\x1b\xaf\x73\xdb\x78\x98\x17\xe1\x63\x23\x59\xec\xd3\xfb\x61\x1f\xad\x5f\xfd\xb0\xa0\x83\x4e\xcb\x4d\xd4\x3e\x6b\xba\x91\x76\x77\xd9\x2b\x21\xae\x8c\xd0\x52\xca\x1c\x3b\x03\x77\x04\x54\xf8\x98\x18\xc5\xf8\xea\x5a\x60\x78\x33\x92\x4c\x10\xc5\xe6\xb2\x2a\xb1\x2f\x24\xa5\x7d\xef\xc1\x84\x22\x19\xc7\x89\x2a\xab\x62\x0e\x83\x24\x99\x3d\x41\xc4\xf0\xea\x55\x25\x14\x18\x59\x77\x43\x74\x99\x7a\xc0\xe8\x01\x38\x60\x51\x65\x60\x23\x08\x36\xc8\xc1\x1b\x4f\xb8\x87\x6f\x87\xef\xec\xbb\x13\xf1\x1b\x2d\x4f\xbd\x5f\xb7\xa9\x28\xb0\xfe\x89\xc7\xfd\x5b\xbe\x16\xd5\xaf\xf0\x5d\xe3\x4d\x37\x74\x0f\x21\xd3\x01\xcf\x46\xb1\x17\xbe\xd9\xc0\x87\x5a\xac\xa4\xa6\xe0\xd4\xfc\xd4\xad\x75\xeb\x4c\x02\x6d\x03\xb3\x48\x13\xe3\xc7\xab\xdd\xad\x73\xe3\x75\xc6\xfb\x63\x3b\x43\x4d\x81\x1d\x6a\x91\x3b\xd1\x63\x87\x5e\xc2\x32\x59\x22\x31\xb2\x9a\x46\x0d\x2b\xba\x4f\x9d\xf1\x4e\x2b\x6e\x5b\x55\xad\x51\x1c\x43\xf7\x48\x4a\x3f\x8d\x03\x67\x77\xe3\x7b\x53\xd4\x0d\xe5\x95\x1a\xb8\xed\x23\x99\x1f\x71\xa1\x61\x29\xd0\xe2\xcc\x8c\x1f\xc9\x9d\x19\x8d\xf5\x98\xf7\xe0\xd5\x2e\x1b\x99\x30\x48\xcd\x51\xea\xbb\x45\xf2\xd1\xc3\x1a\x84\x23\x12\x79\x53\xab\x64\x51\x76\x7f\x91\x1c\x65\x22\xb3\x6a\xe4\x30\x53\xf9\x85\xf2\x54\x8b\xfc\xf1\xdb\xec\x73\x78\xda\x8b\x2a\xdb\x0a\x8a\xdd\x5d\xe6\xd7\x32\x5a\x31\xac\x07\x6b\x77\xef\x19\xc8\xe4\x52\x42\xad\x35\x32\x5d\x81\x19\x92\xcb\xba\xb3\x94\x25\xb8\x30\x40\x24\x94\xb5\xe0\x18\x34\xbb\x80\x87\xc7\xb2\x80\xcb\xdc\xdc\x7b\x65\x3d\x4c\x77\xfb\x59\xba\x77\x8f\x8a\x2a\xfb\xd5\xc5\xdd\x96\x7b\xdb\xbe\xf3\xf9\xa6\x54\x56\x8f\xe1\x85\x98\x0a\x54\xf0\x55\xd6\x50\xb9\x2a\x08\xc6\xcd\x22\x9e\x81\xf3\x9b\x52\x15\x19\x54\xa1\xf2\xd2\x17\x6f\x3c\xdd\xaf\xb5\x7e\xf6\x78\xf7\x4c\x95\x82\xc7\x7d\xd0\x34\xa1\x16\xcf\xb7\x91\x46\xe7\x45\x63\xc4\xac\x17\x6e\xcd\x86\xee\xd6\x21\xdb\x4e\x40\x15\x98\xca\x25\x39\xa1\xe0\x9b\x73\xcd\x05\x85\xa2\x6f\x6e\xd8\x8a\xe7\xb9\x66\xdd\x88\x23\x07\xfb\x4c\xb9\xb4\xde\xb1\x24\xf7\x6d\xb7\x24\x1c\x30\x76\xb6\xb1\x6e\x40\x64\xf5\x44\x5e\xd6\x26\x34\x42\x9f\x58\x73\x32\x96\xb9\x4e\xc4\x8d\xb0\x91\xe3\x5b\x02\x4f\xcb\x05\x5a\x6b\xcd\x0b\x79\xa3\x44\xa1\x7c\x87\x23\x2a\x23\x77\xcf\x44\x81\xf9\x55\xb1\xf6\x27\x0b\x62\x98\x31\x72\xc1\xf8\xcc\x3f\x0a\xf4\x3f\xc7\x17\x61\xf4\x1c\x24\x2e\x40\xa2\xf0\x82\xea\x4b\xcb\x25\xd0\x56\xeb\x8b\x34\xc7\xc8\x62\xd6\x11\x75\x11\x3a\x19\xf6\x19\x3a\x76\xa6\x82\xa3\xc3\xa3\x9d\x22\x8a\x4b\x0b\x50\xe4\x66\xc6\xc8\x13\x2d\x2b\xac\x07\x91\xb5\xff\x4b\xb2\x2d\x41\xa2\x99\x2c\x9a\x37\x9e\x1f\x4e\xf6\x11\x44\xc6\x23\x97\x2f\xd8\x7b\xb4\x91\xaa\x99\xd9\x21\x6b\xf6\x33\x18\xd6\x2d\x49\x40\xad\xfe\xb4\xf3\x3d\x31\x3e\x56\xad\xd3\xe0\x57\xed\x73\x4f\x57\xf5\x3a\x5b\x34\x9a\x44\x38\x9b\xcf\xa5\x9e\x82\xf8\x69\xab\xd9\xa1\xd5\x02\x3f\x7d\x80\x1e\xe3\x42\x16\x6b\x5e\x86\xd6\x88\x5c\x69\x2a\x16\x91\x99\x00\x95\x3e\x14\x42\xbe\x0e\xcb\x07\xd5\x5a\xf9\x2f\xfe\x91\x62\xa7\xac\xbb\x56\x6c\x97\x8d\x86\xc3\x61\x6f\x50\xca\x8b\xe4\x56\xc4\xdd\x31\xcc\xda\xbe\x6d\x47\x4a\xc3\x4a\x75\xc2\x38\x3b\x74\x86\x4d\x2e\x44\xa3\x24\x02\x25\xf1\xe6\xc1\x06\x0a\x46\xa7\x7c\x87\xe0\x51\x13\x08\xee\x4d\x9a\x53\xab\xdf\x96\x32\xc7\xbb\x0b\x50\x31\x77\xe2\x10\xc5\x34\x7f\x9b\xbc\x6b\x79\xda\xf3\x32\xb1\xd9\x09\x36\x45\xa1\x76\x33\x83\xd7\xee\xa1\xdf\x50\xc9\x93\x3b\x11\xb4\xe5\xfa\xb1\x28\x8b\xde\xc6\x10\x39\xcc\x0a\x32\xe1\x25\x83\xca\x00\xa2\xad\x46\x1b\xb1\x08\x4d\xed\x5a\x7c\xda\x8c\x7d\xbc\x88\x9b\x26\x0a\x7d\xa0\x3d\x78\xaf\xfb\x09\x57\xc0\x35\x5b\x66\x70\xdc\x25\xc5\xcd\xf0\x9c\x31\x27\xce\xee\xca\x3e\xee\xa0\x1b\x93\xf3\xc5\x4a\x80\x0e\x68\x51\x8d\x24\x2a\xf3\x4c\x06\xca\x33\xca\xec\xc1\xbe\x74\x7e\x93\x71\x6c\x5e\xcf\x55\x60\x30\x08\x34\xdd\x29\x43\x68\xf2\x2e\xae\x1a\xf9\x6d\x53\x64\x0a\x8a\x0e\x8e\xf1\x05\x29\xf4\xa4\x8d\x01\x6a\x99\x83\x9d\xbc\x90\x72\xc1\x6e\x0a\x7d\x21\x91\xc9\xbc\xd1\xc0\x81\x5a\xca\x0b\x4c\x7b\xa7\x9e\x88\x4e\x00\x7a\x07\x68\x36\x40\x5f\x1b\xc6\x7e\xde\x79\xa1\x85\xee\x01\xc1\xf3\xa1\x4b\xe4\x70\xa7\x1b\x20\x79\x01\x42\xff\xa8\x41\x0e\x3c\xc6\x8c\x5a\x0d\xcd\x20\x8c\x32\x2a\x75\xf6\x5e\x76\x24\x63\x10\x76\xe7\x92\x70\x3d\xce\xb2\x17\xc5\x9d\xbb\x3b\x6c\x92\x07\x2b\x26\xd4\x63\xe0\x87\x72\x41\xd3\x97\xe0\x3e\x00\xd6\x20\x57\x77\x2a\x40\xdf\x05\xfa\xad\x69\x9c\x7d\x0f\xf8\xee\x5e\x66\xc3\x19\xcf\xd8\x6d\x6e\xf1\x2e\xf8\x99\x5d\x7a\x16\x9b\x5b\xac\xdc\x6f\x84\xb5\x94\x87\xb7\xf5\x34\xb5\xc1\x48\x8d\x16\xcf\x33\x31\xbf\x11\x70\xa6\x3d\xcb\xf2\xdf\xc2\xb6\xfe\x77\xb3\xab\x37\x97\x13\xa9\x4e\x03\x87\xd5\x56\x74\x30\x4f\x29\xf8\x17\x19\x97\x18\x7d\xe3\x24\x0b\xad\x76\x6a\xab\x02\x6d\x3a\x04\x9f\x24\xd9\xa2\x94\x6c\x29\x32\x51\x70\xb0\x50\xc0\x2e\x5b\xed\x6e\xec\xfc\x3d\xf2\xfd\x4a\x52\x7c\x10\xca\x11\x68\x3c\x13\x69\x8a\x77\x9d\x20\xef\x7e\xa5\x15\xb0\x53\xd6\x21\x83\xf2\xce\xd3\xfb\x5b\xe1\x9d\xc8\x74\x2b\xfc\xf5\x21\x8d\xf0\xd1\x09\x1a\x91\xd9\x96\xef\x17\x69\xa4\x2c\x08\x83\x96\xb5\x3f\xe0\xb2\x2e\x48\x1d\xb2\x00\xce\xb3\x07\x54\x5c\x64\x10\xf1\x23\x93\x68\x75\x2a\x17\x26\x4e\x09\xaa\x3b\xd5\x76\xfb\xf0\x16\xc3\xb3\xad\x2f\xb1\xc0\x9f\x19\xea\x83\xbf\xb4\x9b\x84\xb7\x74\xea\xa7\x61\x90\x64\xcd\xbc\x2d\x3c\x56\xe7\x01\xfd\x79\x2c\x41\xbb\x8a\x9c\xb8\x82\x4e\x3f\x78\x91\xf3\x1b\x60\xb9\x9f\xbb\xe6\x52\x1f\x5b\xef\xd5\xe0\x4e\xfa\xf8\x10\xc4\x6a\xe5\xc1\x1b\xf1\x65\x1f\xc8\x1a\xc3\x02\x0b\xca\xe6\x52\x53\x11\xbb\xc7\x4d\xff\x48\xb2\x2f\xbe\x30\x7a\x68\xb4\xe4\x78\x1f\x2a\xd8\x03\x5f\xca\x38\x89\x29\xc4\x2a\x86\xeb\x26\xf7\x08\x9e\xc5\xde\x27\x88\x0d\x47\xa6\xcd\xc9\x5a\x58\xd5\x30\xea\x40\x9a\x66\x58\xf7\x79\x2e\x3a\xfb\xb8\x1a\xc9\x30\xf4\x07\x29\x81\xaa\x51\x09\xcf\xec\x8a\x82\xe7\x60\x1a\x28\x1e\x95\x64\xce\xec\x9b\x81\x6a\x76\x04\x5e\x24\xb6\x48\xab\x90\x77\x63\x9d\x64\x15\x46\xa5\xf0\xad\x02\x31\xe8\xba\x2f\xbd\x3a\x22\x06\x41\x69\xbf\xcc\x64\xf9\x25\xe3\x55\x29\xd7\xbc\x24\xcb\x2f\x60\xa0\xc8\x13\x29\x5c\x57\x62\x03\xe7\x79\x8e\x65\x0f\xc4\x25\x84\x84\x4f\x11\x03\x7f\xf9\xb2\xf0\x4e\xe9\x36\xfa\xa9\xca\x30\x0c\xa8\x8d\x12\x10\x35\xd3\x00\xe9\xfd\x55\x26\x56\xee\x03\xe6\x27\x33\x32\x17\x6a\x79\x1e\x09\x70\xd0\xbf\x87\xea\x08\xfc\x59\x88\xc0\x0d\x03\xce\x16\xbc\x75\x31\x7d\x3b\xee\xac\x3c\x00\x15\x3d\x30\x84\xf1\x8a\xb9\xb7\xc7\x18\xb1\xd8\xe2\x7b\x3d\x5a\xb1\x6e\x7c\x16\x64\x19\x82\x56\xa4\x29\x02\x4d\x1c\x66\xbd\x86\xa8\xc5\xdc\xe3\xaf\x3d\xae\xc2\x3f\x55\x40\xb7\x69\xa0\x58\x32\x25\x07\x2e\xd2\x1c\x8d\x70\x47\x2c\x64\x9c\x89\xb1\xda\xd3\x67\x07\xe2\xb1\x24\xee\x65\x18\xd2\x4e\xea\x66\x18\x8f\x83\x5b\xf3\x3e\x92\xe7\x30\x09\x35\x3e\x13\xda\x8e\x95\x8d\x84\x95\xc9\xd2\xaa\x7d\xac\x60\x00\xa2\xc4\xbc\x22\x03\x36\x50\xad\x99\x58\xee\xc6\x78\xce\xc9\x55\xbe\x83\x3c\x1c\xa9\xd0\x82\x16\x0c\x91\xbd\x50\xcc\x35\x2f\x0a\x1b\x7b\x06\x65\x2a\xce\x16\xe2\x86\xa5\x7c\x23\x0a\x50\x58\xc9\xd0\xcc\xd2\x64\x53\x59\x4a\x13\x3f\xd0\x97\xcc\x70\x2c\xa0\x34\xe0\xa0\x91\x8b\x02\xbb\xb2\xd2\x04\xcf\x98\x50\x65\xb2\x26\x9d\xd1\x4a\xde\xb0\x54\x66\x4b\x14\xbf\x6c\x10\x70\x34\xdb\xd3\xa2\x5d\x0b\x72\x18\x71\x00\xdc\x1b\xd6\xca\x77\xf9\xf3\x19\x3f\x1b\x74\xf3\xa1\xf7\x8a\x07\xa1\x16\xc5\x85\x93\xb9\x0d\xd9\x87\x73\x04\x4e\x8c\x81\x4d\x9f\xfd\xee\x19\xa4\xb9\x53\xda\x62\x01\x48\x1f\x03\xcb\xbf\xb5\xaa\x27\x49\xcd\x4d\xfc\x1c\xef\xa5\x59\x1a\x04\xde\x1a\x41\xbb\xf1\x86\xef\x2b\x3c\x6d\x8c\xf7\x56\xeb\x55\x0c\x1b\x6b\x13\xe7\xd1\x37\x6b\x70\x92\x2d\x35\x65\x03\x2b\x15\xcd\x42\xbb\xd0\xa5\xa5\xa4\x88\xb3\x25\xc9\x47\x96\x07\xb2\x42\xed\x03\x77\x24\x20\x38\x21\x61\xd6\x6b\xe9\xbb\x69\xd6\xb6\xa8\xfd\xe6\x0e\xee\xe9\x87\x1b\x4e\x32\x56\xe7\xd0\x0d\x93\x13\xbe\xd9\x7c\x5f\x65\x0d\x03\x3c\xa7\xa7\x6b\x9a\x3b\xd5\xdb\x38\xa3\x07\xf3\x22\xe5\x2c\x96\xac\xd6\x87\x17\x4b\x88\x49\x67\xdf\xa8\xff\xc4\xc6\xec\xc3\x07\x0f\x12\x34\x80\xde\x80\xed\x6f\x5e\x01\xdb\xd7\x66\x11\x49\x11\xef\xb5\x90\x71\x23\x31\x32\x2c\xba\x3b\x89\xbf\x56\x3c\x7d\xe0\xfe\x41\xb3\xd9\xbf\x07\x5b\xc7\xa3\xb2\xe2\x69\xdf\x8a\x2a\x9e\xc5\x30\x7e\x82\xf7\x5a\xfb\xd5\x7f\x23\xb7\x35\x34\x07\x66\x6b\xd8\x2b\x0f\x3f\x1a\xb8\x7c\x76\x6a\x87\x68\xb3\x12\x70\x8e\xaf\xad\x29\x6f\xfd\xae\x9e\xb2\xc7\x8f\x93\x9e\x7d\x55\xc6\x6f\x6f\x93\x77\xfe\x10\x6f\x93\x77\x61\x80\x0d\x6f\x80\xc0\xb7\xc2\x83\xf1\x04\x74\x3f\x74\x3d\x66\x34\x26\x31\x88\x98\x48\x00\xdc\xc4\x00\xe0\x46\xcd\x64\x05\x3c\xa8\x16\x30\x6d\x95\xa2\xc4\x9d\x1e\x2f\xd6\x39\x3d\x3d\xed\x30\x99\x6b\x16\x0f\x02\x2b\x38\xf3\x78\x0c\xfe\x05\x01\xd6\x23\x29\x8a\xc8\x33\x31\x23\x2b\xaa\xad\xb9\x2f\xf4\xec\xd6\xbc\xb8\x32\xd7\x9d\xb1\x79\xc0\x40\x8f\x3e\x66\x81\x33\xaf\x67\xd3\xa9\x48\x08\xab\x93\xab\x2f\x3f\x9a\xe5\x43\x7c\x06\xfc\x75\x2d\xb8\x16\xc0\xbc\xb5\xfa\xf5\x2d\x24\x5c\xb4\x53\xbb\xdf\x6d\x94\x50\x1f\x10\x08\xfa\x33\xc9\xf4\xef\x48\xd3\xa0\xc0\xa8\xf5\x92\x58\x64\x65\xb2\xd8\x04\x46\x4c\x0e\x08\xde\x3b\x1f\x84\x71\x80\x5b\x93\xdc\xc1\x0d\x37\x60\x98\xe6\x45\x92\x8a\x93\x34\xc9\xac\x82\xcb\x78\xf0\x40\xfa\xb1\x87\x9e\x1e\xca\x72\xd1\x30\x81\xaa\x1f\xa1\xbe\x5d\x1c\x29\xa8\x76\xd9\x9b\x32\x49\x93\x72\x13\xbc\xa0\xe5\x85\x28\xcb\x8d\x09\x7d\x4a\x91\x28\xfc\xd4\x40\x6b\x5e\x76\x01\x92\x7e\xa0\x19\x3d\x15\xb9\x20\x08\x9f\x9e\xb2\x0e\xfa\x12\x76\x6a\xe8\x0e\xdf\x89\x22\x82\x2c\x56\x16\xec\x94\x3c\x6c\xa9\xd3\xa7\xf6\x23\x2f\x36\xc8\x37\x83\x1d\x52\x89\x21\x5f\x06\x6b\x9e\xdb\xfc\xf4\xac\xab\x27\x61\x3a\xaf\x65\xb8\x17\x3d\xcc\x1f\x61\x0e\xa4\xcd\x4f\xcd\xbe\x62\x23\xa7\x6e\x77\xe9\x2e\x48\x7a\x59\x71\xa5\x49\x22\xa4\x1c\xee\xa3\x92\x49\x6f\x9c\x5c\x2c\x98\xde\xdf\x52\x31\x79\x93\x81\x53\x8c\x79\xef\x72\x3d\x81\xf9\x8c\xcb\x4a\xac\x6f\x26\xf0\xbb\x5c\xf2\x24\xd3\x52\x2d\xd9\x6b\xd2\x48\x20\xd9\x9a\xa1\x06\x21\xa4\xf4\x62\x21\x6b\xd9\xc6\x8b\x77\x43\xfa\xfd\x30\xd8\x8d\x11\x1a\xdb\x6a\x06\x77\x02\x9e\x97\xd3\x53\x47\x8f\x1a\x3c\xfe\xee\x2e\x3b\xb7\xae\x65\x91\x5c\xaf\xa5\xcb\x00\xbb\xc9\x85\xa2\x60\xa2\xbe\x1c\xc7\xb3\x0e\xe8\xa8\x30\xac\x4f\x6e\xdc\x42\x6b\x61\x7d\x1c\xa2\xe8\x3b\xcd\x50\xfc\x26\x99\x6f\x89\x3f\xa4\x51\x21\xc3\x20\x5a\xf6\x74\x7e\x4d\x81\xb3\x6c\x01\x04\xce\x62\x27\x90\x23\xcf\x8f\x0e\xd2\xed\x98\xf3\xa1\xab\x67\xbe\x05\x1f\x56\x5a\x8a\x12\x8c\x74\x8b\xe7\x32\x82\x9b\xfe\x7d\x77\xd4\x6b\xb7\xf2\x23\xdc\xc7\x39\x43\x1d\x70\xea\x06\x7f\x29\xfc\xe4\x96\xb1\x9d\x84\x3b\xd2\xad\x49\xfd\x6f\x40\x9b\x31\x5e\x87\x27\x9b\x1b\x96\x0c\x07\xfe\x3f\x7a\xd8\xff\x83\x61\xd3\xc0\xf2\x0b\x0c\x67\x3f\x2f\x8b\x2a\x51\xab\xcf\xc3\x1b\xe3\xf7\x27\xf1\x96\xb5\xfc\x59\x84\xfe\x9f\x9d\x7a\xb7\x71\x3e\x21\xb1\xae\x1d\x60\x70\xf7\xa9\x1f\xde\x5f\xe5\xa0\xfc\xf2\x63\x42\xd4\x9c\x8e\x49\x5d\x3e\x31\x16\x35\x00\x3e\x48\x2e\x01\x94\x14\x44\x14\x93\xa8\x0a\x2d\x56\xc0\x44\xa6\x79\x3e\x38\x8b\x93\xa2\xdc\xb0\x15\xfa\xc9\x3e\x2b\x11\x93\x54\x10\x89\xac\x8f\x36\x3d\x20\x80\x63\x16\x6a\x71\xcb\xd7\x9a\xcc\x1a\xed\x2c\x8e\x61\x23\xc4\xdb\xbd\x0b\x0d\xbc\x5b\x65\x49\x98\xd8\x33\x30\x9c\x7d\x6d\x7b\x82\x42\x7c\xd5\xd3\x4b\x1c\x30\x36\x34\xa1\x56\xe9\x13\x5c\x14\xf4\x90\x45\x7e\x8e\xce\x79\xb1\xcf\x46\x10\xe6\xbf\xa4\x08\x7c\x05\xce\x5a\x49\x46\x87\xda\x7a\xeb\x1b\x5c\x9f\x98\x5b\x84\xa6\x8e\x24\x88\x7d\x1e\xc0\x15\x6f\xe1\xcf\x1f\x88\x8c\xcd\x4d\xf6\x11\xd3\x2d\xbb\xe9\x1d\x64\xc4\x88\x19\x66\xce\xdd\x62\x7e\xa5\x11\x14\x81\x71\x6a\x0d\x93\xfc\xbb\xfd\xad\x07\xd9\xc7\x6c\xfc\xae\xce\x0a\x20\x46\x80\x0b\x7c\x77\xb7\xfb\xf6\xbf\x76\xdf\x3d\x3e\xf9\x4b\xfc\xb8\xa7\xff\xfb\x4b\xef\xeb\xff\x77\x37\x34\x96\xd5\x8d\xbe\xd6\xff\xbf\x1d\xbd\xd3\x18\xff\xf5\xd7\x5f\x77\x1a\x6a\xd0\x1f\x0b\x88\x80\xe5\xd4\x9f\xd2\x7f\x8d\x46\xf6\xe7\x21\xb0\x23\xc5\x58\xa0\x12\xc0\x2e\x6b\xa1\x5d\xb4\x2c\x67\xad\x40\x4c\x95\xe0\x90\xbc\xe0\xc5\x55\x68\x25\x43\x18\xac\xb9\x90\xaa\xf4\x1e\xcc\xdb\xd5\x3a\x1a\xab\x50\x33\x02\xfb\x52\x23\xc4\xe1\x21\xc1\x28\x29\xbe\x99\x84\x31\xfd\x51\xa5\xcc\xb7\xe9\x0b\x34\x35\x31\x00\xb3\x92\xbf\x07\x41\x48\xf0\x28\x3d\x06\xf2\x21\x10\x04\x3d\x5a\x2d\x43\x71\x00\xc2\x36\xc1\xb6\xd7\x54\xa9\xfb\xed\x3c\xaf\xe5\xed\x5a\x49\xf2\x9d\x6c\xee\x80\x89\x4b\xf4\x3f\xbc\x03\x0f\xc1\x3e\x8c\x9f\xda\xa6\xfa\x6d\x59\x38\x3e\x84\xf9\x0b\xdf\xdd\x65\x97\xdf\xbd\xf9\x7e\x3a\x63\x17\xcf\x9e\xcf\x4e\x58\x9a\xcc\x63\x59\xee\xfe\xa4\x76\xd3\x64\xfe\xbe\x2a\x17\xc7\x83\x9f\xd4\x23\xf0\x68\xc8\x37\x45\xa2\x69\x64\x37\xea\xb1\xf1\x70\x34\x06\x1a\x38\x5d\x15\x72\x9d\x54\x6b\xf6\xdd\x25\x9b\x54\xe5\x4a\x16\x6a\xc0\x26\x69\xca\xa0\x2e\xbc\xdc\x88\xe2\x5a\xcb\x5c\x5a\xea\x50\xce\xc8\x42\xc9\xaa\x88\x28\xdd\x73\xa2\xd8\x52\x5e\x8b\x22\x33\xf1\x47\xcf\x2e\xcf\x77\x54\xb9\x49\x05\x4b\x93\x48\x64\xc6\x59\x88\x4c\x2d\x76\x77\x31\xfd\x8d\xb9\xb4\x9f\x3f\x9b\xce\x5e\x5e\xce\xe0\x62\x19\x3c\x7a\xd4\xa9\x14\xb2\xf4\x51\x09\xef\x7c\xbb\xec\xf5\x77\xe7\xdf\x75\x63\x7e\x9d\xc4\x73\x91\xf5\x4e\xd8\x8f\xc6\x32\x90\x08\xa9\xc8\x22\x19\x93\x2b\x05\x10\x63\x13\x95\x5b\xc4\xfd\x47\x90\x07\x93\x82\x66\xe3\xf6\x52\x78\xdd\x0c\xbd\xaa\x92\x6c\xc7\x58\xae\x85\xd1\xbc\xf5\x92\x75\xeb\x55\x59\xe6\xea\x64\x77\xf7\x26\xb9\x4a\x06\x37\x2b\x5e\xde\x2c\x07\xb2\x58\xc2\xdf\xbb\x78\x67\xce\x68\x02\x7e\x75\x33\xa9\x81\xca\x45\xe4\xb7\x73\xdc\x25\x1a\x8c\x2c\xaa\x94\xbd\x79\x7d\xb1\x73\xcc\x62\xa1\xc1\xe9\x71\x20\x6f\x5e\x5f\x1c\x9f\x63\x61\x13\x49\xc8\xd3\xda\xc5\x7e\x99\x6f\x4a\xa1\xd0\xcb\x9a\x20\x6b\x1f\xa9\xc5\x5f\x2b\x41\x61\x0f\x01\x91\xa0\xea\x73\x5d\x93\xe2\x3f\x51\x67\x09\xd8\xa3\x2c\x0b\x01\x71\x80\x63\x81\xd9\xbd\xd9\x5c\x68\xe8\xe2\xf4\x62\x48\xac\xe0\x3a\xf8\x8a\x0d\xbd\xac\xda\xb1\x78\x05\x2d\xc2\x6e\x53\x79\x23\x0a\x36\x87\x4d\x97\x99\xa7\xe3\x76\x63\xdc\xd1\x2b\xb4\x3e\x83\xc6\xd0\x6d\x90\x83\x2b\x82\x7c\x0e\x1c\x99\x61\x02\x23\x2f\x79\x9f\x95\xfc\x0a\xdc\x13\x32\x4d\xd6\x22\xf4\x6c\x40\x53\x46\xf0\x7a\xcb\x0b\x71\x9d\xc8\x0a\xd8\x0a\xc8\x92\xac\xca\x42\xf0\x35\x5c\xee\x36\x6d\x0e\x62\x96\x28\xea\xe4\xf4\xd2\xaa\x5f\x0b\x6c\x0c\x91\x3d\x74\xd5\xbe\x8b\xfa\x6d\x78\x6b\x27\x13\x18\x2e\xe2\xd2\x93\x22\x51\x2f\xae\xc1\x50\x65\x49\x23\x66\xb8\x06\x08\x9b\x8b\xf2\x46\x88\x8c\x0d\x6f\x87\x43\x2f\x43\xe3\xf0\xf6\xe2\x22\xe4\x30\xcc\xb4\x20\x42\xbd\x9e\x16\xed\x18\x01\xc1\x97\x4e\x34\xa4\x46\x87\x2e\xe6\x55\x13\xe1\x3c\x22\x85\xdd\xb4\xbe\x9c\xe9\x3b\xbe\x10\xa5\x4d\x72\xde\xa6\x6d\x53\x65\xd1\x66\x30\x07\x59\x41\x49\x4f\x10\xad\x78\x31\x95\xb1\x98\x94\xdd\xc4\x13\xfd\xeb\xb8\xea\x79\x3b\x61\x85\x88\xfd\xe9\x94\x0d\x6f\x8f\x2e\xc2\xf0\xb3\x10\x0c\xc8\xf4\xeb\xf5\x19\xb8\xb8\x0e\x6f\xa7\x43\xdd\x3c\x62\x5f\x7c\xc1\xa8\xa3\xf3\xa0\xa3\x06\x4e\x47\x6c\x87\xe9\x66\x4f\xc3\x2a\xfe\x69\x1a\x3d\xad\x7b\x95\xf8\xc8\x7b\x7b\x3c\x6c\x9d\xc9\xac\x31\x93\xd9\x43\x66\x32\xbb\x6b\x26\xe3\xfb\x66\xd2\x3e\x95\x8b\xc6\x54\x2e\x8e\x1e\x30\x95\x8b\xbb\xa6\xb2\x77\xf7\x54\x46\xc3\xe1\xb6\xc9\x1c\x37\x26\x73\xf6\x90\xc9\x1c\xdf\x31\x99\xfd\xbb\x27\x33\x1e\x6e\x9f\xcd\xb4\x31\x9b\xf3\x87\xcc\x66\x7a\xc7\x6c\x0e\xee\x9e\xcd\xfe\xb0\x6d\x3a\x0d\x5c\xef\xfc\xa5\x5a\x2c\x16\x71\xa7\x16\xf3\x2d\xac\x8d\x8b\x38\x6e\xec\xef\x59\x13\xd5\xec\x0c\x77\x76\x9e\x6e\x5f\x5e\xb7\x56\xf2\xa7\x3f\xb1\x43\x2d\x5b\x76\x71\xdd\xc7\xc3\x9e\x6b\x7c\xef\x71\x66\xa8\x88\xfb\xb3\x2c\xc1\x33\x20\x4d\xdd\xad\x45\xcf\x15\xc6\xcf\x12\x23\x9f\xe0\x75\x02\xde\x1e\x61\x0f\x8b\x24\x2d\xf5\x85\x58\x95\x4c\x55\x45\x21\x97\xf8\x2e\x9b\x14\x56\x53\xc7\x0c\xf5\xf1\xd6\x12\x2e\xe5\xa9\x57\x13\xe8\x8c\x5b\x63\x7d\x9b\x6a\x96\xb4\x1f\x3e\x68\x20\x9f\x1f\x0f\x11\xcc\xb6\x9d\x06\xb7\xeb\x04\x69\xcd\xc5\x45\xaf\xd9\xda\xd5\xfa\x0a\x8e\xc6\x85\xae\x16\x40\x69\xeb\xae\xb7\x62\x08\x41\x05\x58\x14\xa1\x6f\x24\x22\xfd\x26\x47\x69\x55\xe6\x55\x39\x08\xaa\xd7\x57\x4c\x27\xb4\x3e\x0b\x3b\x0f\xbc\x77\x06\xfa\x5e\x9d\x12\x21\x77\xed\x7b\x4f\x83\x46\xad\xf3\xc3\x54\xd5\xc1\x66\x0d\x6a\x15\xdc\x7c\x76\x1a\x24\xe3\x01\xd3\x69\xd8\x3b\xd3\x1e\x3d\x66\x5d\x6f\xa9\x5f\x7d\xf5\x15\x1b\x0d\x7b\xec\x0b\x36\xbc\xdd\xbb\xb8\xe8\x35\x63\xc3\x0d\x6f\xcf\xa7\xd8\xcc\xdb\x5a\xaa\x5d\x5f\xe9\xa3\xb6\xdf\x3f\x6e\x3b\xc9\x9a\x55\x92\x12\x1e\xe7\x91\x91\x4b\x32\xb6\xae\xd2\x32\xd9\x01\x26\xc0\x1d\x86\xef\xc5\x4d\x92\xc5\xc4\xaf\x60\x08\x1b\xbf\x13\xf4\xef\x48\x25\xb9\x42\x80\x03\xaf\xee\x61\x70\x1f\xcd\xd8\xc6\x1a\x12\x4e\x38\x4a\xf0\xd1\x53\x51\x5b\x99\xbd\x10\x65\x2b\x67\xe6\x58\xb2\x81\x17\x5a\xcd\x06\x4e\x8f\x44\xf0\x44\x41\xc6\x34\x20\x80\x09\xcb\x9a\x25\xce\x0b\x1f\xc2\x46\xfc\x5f\xc3\x8e\x61\x03\xcd\x94\xf9\xcc\x97\x96\xea\x02\xdb\xbf\xae\x79\x08\xf6\xd8\xb7\x6e\xaf\x47\xcd\xb1\x7e\x98\x4c\x22\x33\x6c\x73\x30\x30\x4e\x0c\x76\xcc\x4a\xc4\x35\xd1\xeb\x1c\x22\x26\x81\xc3\x18\x77\xe2\xcb\xb5\x28\x94\x9f\xff\xc8\x48\x7b\x2e\x46\x83\xae\x1d\x9c\x6f\x06\xea\x23\xa0\x42\x37\x98\x21\x43\x7d\xcd\x7e\xc4\x60\x95\x79\x2e\x32\xa5\xa9\x10\x84\xb0\xb8\x12\x9b\x1c\x04\x12\xf4\x45\x46\xf3\x34\x30\x65\x21\xc3\x69\x98\x8b\xe6\xf4\x78\x44\x84\x1f\xd2\xc7\x69\xec\x3f\x7b\xf1\xea\xeb\x3b\x90\xe5\xb5\x93\x21\xc1\x20\x54\x43\x65\xfb\x1e\xfa\xd2\x26\x62\x13\x80\xaa\xbf\x0d\xaf\xfc\xc7\x22\x3c\xd2\x35\x64\xb4\x78\xa6\x50\x26\x21\x8c\xb2\xa8\x84\x48\x80\xe3\xd5\x91\xe0\xd7\xe0\xc0\xf5\x75\x0b\x09\x31\xab\x2c\x81\xb9\x78\x22\x1f\x69\x4b\x74\xcb\x87\x72\xeb\x44\x1b\x1b\x2c\xb5\x7f\x7f\x45\xc0\xd5\x5c\x5c\x5c\x9c\x07\x4f\x62\xd4\xfc\xb8\xa5\xf9\x99\xdf\x1c\x22\x1f\x3c\x1e\x05\x4b\xf2\xaf\x25\x3d\xcb\xb8\x65\x96\x8f\x47\x35\x56\xc4\xcd\x35\xd6\x83\xc5\x6d\x73\x25\x10\x5d\xde\x40\x0c\xda\x06\x06\xfb\x37\x54\xe4\xf8\x58\xbc\x52\xec\xa5\xa0\x99\x22\x7d\xa5\x3c\x66\xdd\xd8\x16\x06\xec\x05\x06\xdb\xdd\x72\x2b\x34\x21\x76\xe7\x25\xd2\xac\x1c\x44\xff\x75\x7c\x40\xa4\x4f\x9e\x39\xe9\x04\x38\x4b\xf9\xdd\x96\xb6\xc8\x57\x77\x49\x57\x61\xe8\x61\x6f\x6f\x6d\x3f\xcd\x8e\xda\x6e\x6b\x10\xcd\x3e\xe8\x66\xfa\x46\x3e\x74\x37\x6b\x8b\xa4\xd5\x1c\x25\xe4\x98\xee\x1c\x66\xe6\x0d\x33\x1a\xb7\x8f\x33\x0e\xc6\xd9\xfd\xd2\x1f\xca\xb0\x67\x5f\xee\x3e\x6c\xbc\x0b\x7f\xbc\xe3\xf6\xf1\xf6\x9e\xfa\x5b\x76\xb3\x4a\x52\xc1\xba\x81\x66\xc4\x2d\xae\x85\x4f\xbf\x73\xfc\x63\x18\x9f\x26\xd0\x3d\x64\x5f\xba\x1e\x7a\x86\xed\xe9\x05\x6f\xd0\x8d\x0b\x7e\x8b\xc6\xb1\x5c\x25\x45\xfc\x3e\xe7\x45\xb9\xd9\xbd\x89\x6e\x92\xb8\x5c\x81\x0a\xf2\x26\xda\xa6\x80\xdc\xff\x64\x05\xa4\xa6\x8a\x37\xd1\xef\xa8\x82\xf4\xe2\xdf\x7b\x97\x76\x9a\xcc\x0b\x48\xfc\xac\x18\x59\x87\xda\xfc\xd0\x04\x81\xc1\x4f\x8a\xad\x65\x5c\xa1\x73\x6f\xa6\x6f\x97\x9f\x94\x7d\xea\x95\x45\xb2\x04\x2d\x58\x2d\x8b\x20\xf9\x0b\xe3\x04\x79\x79\x02\xb7\x28\x69\x15\xb3\x7c\xfd\x93\x02\x35\x62\xce\xa3\x2b\xbe\x14\xbb\x6e\x28\xb8\x31\xcc\x64\xbd\x79\x9a\x80\x50\x72\x01\xfa\xf1\x4a\xb1\x6f\xab\x55\xa6\x05\x29\x6c\xda\xed\xd5\x66\xe0\x59\x6e\x2f\xa4\xa6\x7d\x70\xed\xdd\xe6\x29\xcf\x68\x86\x72\x2d\x94\x5b\xad\x5d\xc8\xb4\xd6\xd1\x49\x2d\xa8\x15\xcf\x5a\x32\x26\xba\x59\xf0\x2c\x66\x37\x91\x32\x7f\x76\x6d\x06\x75\x60\x24\x9e\xcd\x66\x33\x76\x59\xc6\x6c\x34\x1c\x8e\x07\xa3\x9d\xf1\x70\x38\xea\xc1\x75\xf7\x06\xaf\x2f\xc3\xb3\x68\x58\x9d\xec\xee\xde\xdc\xdc\x0c\x64\x2e\x32\x08\x65\x00\x20\x93\x59\x9a\x64\x22\xaf\xe6\x6a\x77\x38\x3c\x7a\x32\xdc\x7f\x72\x74\xb0\x6b\x1d\xec\x2c\x24\x57\xe5\x3a\xfd\x65\xfd\xa8\xa0\x23\x0a\x16\xb5\x48\x6e\x45\xbc\x03\x5f\x48\xea\x62\xb1\xb8\x4e\x22\xa1\xfa\xec\x39\x2f\x93\xcc\xf1\x30\x10\xf6\x9c\xc9\x28\xaa\xf2\x8d\xf5\xaa\xd4\xdd\x7c\x1e\x89\x34\xfd\x9c\xe5\x52\x25\x06\x7c\x68\x3f\x06\xdd\xf6\x35\xfb\x5c\x08\xae\x58\x12\x0b\xb9\x2c\x78\xbe\x4a\x22\x36\xfd\xdf\xdf\x7a\x3d\x83\xc9\x2f\x76\xac\x19\x2f\x55\x69\x7e\x57\xa4\xa9\x1a\xb0\x67\x59\x29\xe0\x59\x15\x22\xa9\x96\x1b\xcb\xe9\xa2\xa7\x39\x4f\x77\xcc\xa3\x39\xa4\xd4\xc2\x97\x46\x0c\xb7\xd0\x2d\x45\x2a\xca\x4d\x2e\xf0\xcc\xf5\x3c\x76\xcc\x34\x56\xcc\x3e\x98\x80\x17\x03\xc8\x05\x56\x73\x6f\xf3\x60\xf2\x65\x21\x00\x3f\x98\xcc\x8c\xff\xbc\xed\x8b\x8c\x90\x79\x7c\xcd\x21\xb6\xd2\x97\x46\xcb\xad\x64\x01\x29\xc9\xe4\x0d\x5b\x83\x5f\xbb\x48\x53\x0b\x25\x35\x60\x2f\x25\x13\xaa\xe4\xf3\x14\xf2\x46\xe2\x93\x2b\xec\xb1\x2a\x79\x16\xf3\x22\x56\x98\xe6\x9d\x71\x88\xa2\xa1\x82\xf1\xdf\x18\xee\xc8\x9b\x87\xdb\x9f\x47\x94\x73\xa7\x65\x5c\xdd\x45\x0b\x20\x06\xe4\x13\x5b\xc8\xaa\x4c\x32\x01\x76\x97\x00\x55\x8c\xf5\x63\x02\x6f\xe9\xcd\x85\x13\x00\x2f\xeb\x7a\x9f\xe6\x62\xc5\xaf\x13\xbd\x54\xae\x30\x85\xb7\x82\xe3\xc4\x8a\x2a\xc5\x07\x72\x2f\xd7\x19\x48\x1c\x79\x21\xaf\x93\xd8\xc5\x08\x30\x4b\x99\xca\x4c\x69\xaa\x50\xd9\xec\x56\x17\xb2\x40\x1d\x3a\xa1\x0d\x4f\x3d\xa4\xe9\x07\x8d\x0d\xcc\x80\x24\x24\x51\x52\x52\x60\x01\x38\xad\xca\xe7\xc5\x77\x00\x1e\x88\xf2\xd7\x09\x87\x5e\x70\x49\x2e\x5d\xaa\x60\x33\xae\x4a\x36\x51\x09\xca\x0b\x17\x55\x9a\xfe\x08\x2d\xba\x17\xbd\x3e\xfb\x51\xb3\xf2\xdd\x1f\x7b\x7d\xf6\x0d\x4f\x17\x74\x7c\xba\xdf\xf4\xf0\x99\xfd\x25\x2f\x0a\x79\xc3\xba\x2f\x79\xcf\xcb\x61\x84\xb1\xd9\x50\x88\x54\x18\xad\x0e\x97\x50\x90\x37\x09\xe3\xeb\x79\xb2\xac\x34\x8e\x43\xc8\x24\xda\x68\xec\x9c\xa3\x91\x3e\x6e\x16\x6d\x75\xa5\xc4\x00\x40\xe4\x1d\x51\xba\x3a\xdc\xec\xd9\x04\x7a\x95\x95\x62\xdd\x49\x0f\x82\x41\x50\x2e\x46\x7d\x23\x40\xdf\xd1\x4a\x26\x91\x86\x41\x2e\xb2\x58\xb1\xbc\x82\xdc\x4e\x10\x53\x2c\x2f\xc4\x42\x14\x82\x1c\x99\xe7\x3c\xba\xba\xe1\x45\x6c\xe2\x6b\xf0\x32\xa1\x43\x89\x62\x6a\x02\xe6\x68\xab\x44\x95\xb2\xa0\x33\x2e\x0b\xf6\xa3\x50\x10\x8e\x3f\x07\xf7\xfe\x08\x65\x99\xe9\x4a\x4a\x38\x79\x48\x46\x08\x84\x94\x9a\x4b\x89\x60\x49\x60\x03\x07\x71\x83\x7e\xaa\x14\x98\xdb\x70\x6b\x78\xc1\xf3\xbc\x90\x79\x91\x68\xfe\x37\x95\xd9\x12\xc3\x2b\x2b\x99\x56\xf8\x22\x8a\xa1\x35\x60\x2a\x66\x7c\x72\xaa\x8b\x13\x95\xa7\x7c\x43\xa7\x3f\x1c\x92\x2b\x13\x35\x8d\x20\xe4\xae\x16\xb3\x3a\xdd\x45\xed\xda\x00\xbc\xd7\xa8\xb7\x61\xdd\xe3\x9d\x79\x52\x5a\xa9\xcc\xeb\x1a\xdc\xd8\x69\x6c\xb4\x63\x0a\x20\xa0\xf1\x67\x74\x08\x8d\xa5\xc6\x5b\x7f\x1a\x14\xd9\x4d\x03\xe9\xcf\x85\x10\x57\xe0\xed\x34\xdd\x14\x49\x9a\x26\x51\x9f\x89\x32\x1a\xe0\x75\x05\x9e\x1b\xd9\x86\x95\x9b\xdc\x12\xdc\x88\x82\xc7\xf1\xc0\x6f\xfb\x85\x3e\xc1\x29\x3c\xac\xa5\xe0\x59\x85\xe0\x22\x8c\xd0\xf7\xa0\xbf\x2f\xec\xa5\x2c\x6b\x07\xa3\xfb\x52\x54\x65\xc1\x53\xc2\xf4\x01\x9b\x69\x8a\xa5\x81\x6a\xc1\x6d\xdd\x5c\xe2\x24\x82\xa7\x2e\xee\xf5\xca\xb3\x0d\xf9\x7b\xd4\x37\x61\xc0\x9e\x19\xb9\x1a\x52\xc5\x96\x2b\x01\x13\xc5\xb4\xe8\x9a\x79\x02\x1c\x70\x4b\x04\x8f\x2d\xcc\x2e\x2f\xd1\x07\x48\xcb\xf0\x96\xd2\xc1\x7d\x82\xc9\xf5\xec\x66\x68\x02\x06\x14\x0a\xfd\x4d\xad\x3f\xf5\xec\x05\xbb\x7c\x35\x99\xce\x34\xfa\xfe\xf0\xdd\xf3\x37\x2f\x66\xec\xd9\xcb\xd7\xb3\x3f\x7f\x3f\x79\xee\xc5\x4f\xd1\x6b\x9a\x53\xc2\x64\x4f\x84\x8e\xf5\xe5\x57\xea\x23\x04\xa7\x82\x87\x1b\xbc\x4c\x37\xf9\x6a\x10\xb2\x31\xd0\x85\xa5\xbb\x8e\xd8\xaf\x05\x9c\x44\xae\x54\xb2\xcc\x5c\x47\x1e\xfd\xc2\xe5\xea\xf6\x19\xee\x43\x40\x1f\x89\x18\x24\xe0\x9d\x86\xc6\x05\x0e\x47\x9d\xe6\xcb\x3a\xb2\x51\x56\x37\xc5\xcb\x44\x2d\x78\x54\xca\x62\x63\x02\x97\xeb\x6d\x00\x97\x23\x83\x47\x9a\x7c\x83\x97\x12\x34\x35\xd7\x18\x6a\xa4\xf0\x26\x73\x24\x99\xe2\xa9\xdc\x44\xfa\x52\xe1\x03\x36\x41\x9f\x92\xb5\xc4\x44\xf7\x46\xab\x26\xa2\x04\x14\x36\x08\xe0\x10\xd7\x7c\x44\xf3\xf6\xcf\x4c\xac\xbe\x09\xf3\x4d\x78\x80\x01\xea\xca\x6c\xda\x46\x80\x35\x23\xcf\xd4\x0d\x2e\x64\x63\xae\xa9\x8d\xc9\x8a\x6c\x6f\x30\xc7\x50\x9a\x9b\x46\xdf\x61\x73\x88\x24\x8a\xb9\x7a\x06\xec\x52\x94\x25\x6d\x63\x95\x03\xd5\xd4\x0c\x8b\x5b\xbf\x39\x3e\xf6\xaa\x94\x0b\x62\x35\x5a\x2e\x62\xdd\x0b\x58\x7b\x10\xf7\x01\x96\x6c\x05\x68\xb4\x78\xc6\xd3\x8d\xa2\x44\x66\x10\x7c\x5d\xb3\x5a\xbc\x8d\x1b\x00\xda\x30\xaf\x4a\x8c\x90\x6a\xaa\x11\x80\xb8\x35\xbe\xee\xc3\xf5\x5a\xda\xec\x2e\x1c\x84\x1d\x7b\x1c\x03\xc4\x84\xb8\xa3\xd7\x12\x6e\x6e\xe3\xd4\xc6\x16\xbc\x68\xe1\x70\x49\x75\x03\x7c\x29\xfd\xbe\x4b\xe1\x50\x77\xcb\x62\x34\xda\x35\xe4\xc7\x71\xfe\x6c\x67\x87\x8d\x87\xc3\xa3\x9d\xe1\xc1\xce\xf8\x90\x75\xcd\x8a\x0e\x06\xc3\x1e\xd5\x7e\xa5\x41\xa4\x14\x59\x96\x57\x4a\xf4\x59\x24\xf3\x4d\x5f\x4b\x33\xc9\x62\xd3\x27\x0f\x57\x2d\x22\xcd\xab\x52\x38\x89\x6c\x51\xde\x10\x37\x43\x24\x47\xdf\x71\x39\x64\xd8\xcc\xd0\x23\x18\x1c\xe7\x04\x5c\xc4\xfa\x42\x9e\x6f\x34\xc7\xa1\x31\x09\x4f\x2a\x82\x85\x6e\x8d\x28\xe5\xc9\x1a\x99\xe1\x1b\x5e\xe8\x6a\x89\x20\x0b\x8e\x42\x2c\xf5\x7e\x53\x36\x43\x6f\x6c\x03\xa3\xe7\x1c\xcc\x71\x48\x35\x79\xe2\xc3\x2c\x4a\x07\x11\x5f\x0f\x78\x34\xa8\xae\x76\xff\x7b\xbd\xbc\x1a\x1f\xec\x56\x91\x13\x00\xa2\x40\x92\x0a\xc5\x20\xab\xad\x36\xec\x0e\xba\x6c\xa5\xd5\x3a\x23\x42\x81\x49\xda\x9e\x5d\x7e\xc7\x46\xc3\xc3\xfd\x43\x87\x28\x96\xfc\xe9\xbe\x94\x91\x8d\xd8\x0e\x99\x71\xa4\x1e\x45\x61\xdd\x37\x8f\xf1\xc9\x05\x50\xa1\x31\xc0\x70\x40\x4d\xbf\x03\x3e\x60\x3a\xdc\x9d\x8e\xe0\x90\x14\x32\x0d\x6e\xd7\x2c\x66\xe7\xb3\xe7\x14\x1b\x4b\x70\x8c\x6f\x12\x18\xf5\xeb\xee\x76\x46\xa6\xbf\x97\x32\xdb\x51\x39\x8f\xe0\x70\x66\xb1\xbe\x56\x53\xe4\x1e\x22\xb9\x9e\x23\x2f\xea\xf5\xdf\x45\xff\xe2\x94\xe9\x5b\x60\xa9\x89\x18\x60\xd2\x0b\x93\x97\x40\x16\xec\x85\x0d\xa1\x56\x3f\xd5\x3d\xe3\x90\xb8\x75\x75\x97\xdf\x5d\xbc\x66\xdf\xfc\xc7\xab\x6f\x66\x2f\x11\x22\x93\xf3\x6d\x10\x19\x85\x10\x21\xa3\xca\xfb\xa7\x3a\x5d\x6c\x9d\x1e\xad\x41\x83\xe1\x3f\x67\xdf\x7f\xc7\x7e\x7c\x76\xfe\xfa\x1b\xba\xad\xba\x6f\x1e\x8f\x87\xc3\xb3\xfb\x97\xf0\x0d\xcf\x96\x55\xca\xfe\x37\x5f\x4b\x06\xc9\x1d\x52\x76\x2d\x6f\x44\x8a\x7b\x63\xac\x60\x32\x25\x33\x9e\x95\x4a\xf7\x3b\x1a\x1d\x0e\x77\xf4\x8f\x8b\x0b\xd3\x3d\xcd\x64\x3b\x9c\x68\xc7\xee\xe4\x4e\x0d\x27\xad\x37\xc5\x2b\xd6\xfc\xb6\x61\xab\x2f\xcc\x9a\x2d\x8c\x34\x7b\x66\xa5\x70\x0b\xa2\xd7\x22\x5a\x65\x20\x23\x90\xdf\xe2\xff\x33\x1a\x6d\x81\x04\x75\x38\x36\x53\x6d\x65\x97\x7d\x8c\x2d\x04\x38\x86\x66\xa1\xe5\x4e\x62\x3a\xc2\x73\x3f\xfd\xe9\xca\xb5\x5e\xa4\x7c\x09\xac\x6b\xc6\xe7\x29\xd1\x91\xcd\xb6\x8d\xb1\x13\x01\x1d\x93\x58\xf3\x26\x4e\xbb\x44\xe1\x9a\xf0\x80\x75\xa2\xee\x18\x8e\xf4\xf1\xf1\xc1\x93\x9d\x11\xec\xdd\x8f\x7f\x7e\xbe\x6f\xc0\xe5\x71\x02\xf6\x7e\x68\x9c\x46\xc3\x37\x6e\x99\xd9\x28\x0c\x01\x1e\x32\xbc\x18\x78\xcf\xbc\xac\x84\xe0\x32\xac\x6f\xe2\x51\x1d\x7c\x3e\x78\x44\xb4\xf1\x14\xf3\xb7\xee\xee\xb2\x1f\x2d\x89\xd2\x14\xc7\xf5\x34\xa0\xaa\x83\xac\x22\xe9\x0b\x53\x75\x85\x4d\x1a\x6b\xb2\xcd\xe8\x4b\xad\xe9\x85\xde\x19\xe3\x45\x4a\x19\x92\x21\xac\xf2\x3d\x58\x60\xbb\x6d\xd9\x6d\x97\xd4\x32\x98\x5b\x76\x4f\x9f\x6e\xa6\x5e\x67\x66\xba\x63\xec\xed\x12\xb5\x78\x26\x64\x62\x26\xb3\x1d\x79\x2d\x8a\x94\xe7\x39\xbd\x8e\x89\xe2\x9a\xa7\xca\x7c\x54\x8d\x63\xa7\x7b\x31\x21\x17\x80\x35\xfa\xbc\xca\x12\x25\x4a\xf6\x38\xe2\xe5\xe9\x0b\x41\x3f\x33\xfc\x39\x5d\xb0\x1d\x4d\xd3\x18\x9e\x79\x7d\xe2\x19\x90\x15\x16\x7d\xee\x00\x6b\xc8\xee\x29\x7b\x0b\x7a\xd9\xb7\x6c\x78\x3b\xdc\x1b\x0e\xfb\xf0\xf3\xf0\x82\xbd\xeb\x63\xd9\xfe\xf1\x5e\x1f\x7f\x1e\x7a\x65\xc7\x54\xf6\x84\x51\xaa\x33\x28\x3f\x78\x32\x82\xf2\x83\xb3\x73\x5b\xf7\xe0\xec\x82\xca\x5c\x9f\x07\x53\xaa\x37\x1d\x87\xed\xa7\xfb\x54\x7e\xe0\xd5\x3d\xa2\xb2\x23\x5b\x76\x48\xf3\x3c\x1c\xee\x05\xed\x0f\x47\x54\x3e\x72\xed\x0f\xf7\xcf\xb0\xec\x60\xe6\xca\x8e\xa8\xde\xd1\x30\x6c\x7f\x7e\x88\xe5\xb3\x7d\x57\x77\x76\x44\x65\xc7\x5e\xd9\x84\xca\xce\x83\xf6\x47\x43\x5c\xeb\xd1\xd0\xad\xf5\x68\x84\x6b\x3d\x1a\x8d\x5c\xd9\x1e\x8e\x7f\xb4\x3f\x09\xdb\x4f\x70\xfc\xa3\xb3\xa1\xab\x3b\xc3\xf9\x1f\x5d\xec\xd9\xb2\x27\x43\xec\xf3\xc9\x30\x84\xdf\x93\xbd\x69\x9f\x7e\xba\xba\xfb\x54\x77\xff\xd8\x2b\x3b\xa7\xb2\x70\xfe\x4f\x0e\xa8\xee\x81\x5b\xff\x93\xc3\x31\x96\x1d\x7a\xe3\x1f\x53\xbd\xe3\x51\xd8\xfe\x8c\xc6\x3f\xf3\xc6\xa7\xbd\x7e\x32\xf5\xfa\x9c\xd2\xf8\xd3\xda\xf8\x33\x1a\x6b\xe6\xc6\x9a\xd0\x5a\x27\xb0\x56\x2a\xa3\x75\x4e\x60\x9d\xae\xfd\x84\xd6\x3a\xd9\xf7\xea\xee\x1f\x51\xd9\xb1\x57\x76\x46\x65\xe1\xf8\x13\xc2\x8b\xc9\x91\xdb\xab\x09\xad\x75\x72\xec\xf5\x49\xeb\x9c\x9c\xd5\xc6\xa7\xb5\x4e\x3c\xfc\x9d\x10\xfe\x4e\xa6\xde\xf8\xb4\xfe\x49\x6d\xfd\x13\x5a\xff\xc4\x5b\xff\x19\xad\xff\x6c\xe8\xe6\x74\x46\xeb\x3f\xab\xad\xff\x6c\xef\x82\xca\x1d\xfe\x9d\x11\x4c\xce\xf6\xbd\x3e\x69\xff\xcf\x6a\xeb\x3f\x3b\x40\xfc\x3b\x3b\x70\x67\xfd\xec\x18\xe7\x74\xe6\xad\xff\x6c\x8a\x70\x3a\x9b\x86\xe7\xe7\x8c\xd6\x75\x36\x75\xe7\x7f\xba\x37\x83\xb2\xe9\xbe\xc3\xe9\xe9\xfe\x21\x95\x1d\x07\xed\xa7\xfb\x13\x2a\xf7\xda\x1f\x1c\x60\x99\x37\xa7\x29\xc1\x7f\x5a\x83\xff\x94\x68\xcd\xd4\xa3\x35\xd3\x29\x8d\x35\xf5\xda\x4f\xa9\x7d\x0d\xfe\x53\x82\xff\xd4\x83\xff\x39\xc1\xef\x7c\xdf\x2f\x3b\xa7\xb2\xb0\xfd\xf9\x14\xe7\x7f\x3e\x9d\xb8\xba\xe7\xd8\xe7\xf9\xf9\xbe\x57\x76\x48\x65\x87\x41\xfb\xd9\x1e\x8e\x35\xdb\x73\x7b\x3d\xdb\xdb\xa7\x32\xd7\xe7\x8c\x70\x7a\xb6\x3f\x0b\xdb\x9f\x51\xfb\x33\xaf\xfd\x19\xb5\x3f\x7b\xe2\x95\x9d\x51\x59\x08\xbf\xd9\x14\xe9\xfa\xcc\xdb\xbf\x8b\x11\x96\x5d\x8c\x5c\xfb\x8b\x3d\xdc\x93\x8b\xbd\x83\xa0\xfd\xc5\xde\x11\x95\x1f\x79\x75\x9f\x50\x99\xd7\xfe\x08\xe7\x79\x71\x14\xce\xff\xe2\x18\xf1\xea\xe2\xd8\xc1\xea\xe2\xf8\x90\xca\xbc\x3e\x9f\x50\xbd\x27\x47\x61\xfb\x27\x34\x96\x47\x7f\x2e\x68\xff\x2f\xdc\xfe\x8f\x86\x63\xd8\xbf\xd1\x70\x2f\xc0\xdf\xd1\x70\x6f\x4c\xe5\x63\x57\x77\xef\x90\xca\x8e\xbc\xb2\x27\x54\xf6\x24\x6c\x7f\x70\x8c\xe5\x07\x76\xad\xfa\x0e\x86\x32\x7d\x0d\x9b\xb2\xbd\x03\xc0\x53\xfd\x33\x68\x7f\x34\xc2\xf1\x8f\x46\x76\xfd\xa3\x23\x9a\xd3\xd1\x9e\x57\x76\x40\x65\x07\x7b\x61\xfb\x23\x2a\x3f\xda\x73\x75\x71\xff\x47\x47\x67\x07\x5e\xd9\x11\x95\x9d\x87\xed\x11\x56\xfa\xa7\xab\x3b\xc5\xb5\x1e\x9d\x7b\x7d\x9e\x9f\x53\x59\xd8\xfe\x78\x08\x78\x35\x3a\x1e\x5a\xfc\x19\x1d\x4f\xb0\xfd\xf1\xc4\xc1\xe4\xc9\x18\x61\xf2\x64\x1c\xdc\x5f\xa3\x27\xe3\x23\x2a\x3f\x76\x75\x69\xfd\x4f\xbc\x3d\x79\x42\xf0\x7f\xb2\x77\x16\xb4\x9f\x8c\xb0\xfd\x64\xe4\xda\x9f\x21\xaf\x30\x3a\x1b\xba\xf9\x9f\xe1\x99\xd2\x3f\x83\xf6\x67\xb4\xd7\x67\xee\xac\x8d\x88\xd6\x8e\xce\xdc\x9d\x3a\x3a\xdb\xc7\x39\x9d\xed\x87\xf3\x3f\x3b\xc4\xf5\x9f\x79\xf0\x3f\x47\x5a\x39\xf2\x68\xc2\xe8\xfc\x62\x86\x65\x17\xc1\xfe\x6b\x26\xad\x8f\x3f\x2d\xae\x8c\x87\xe3\x09\x96\x8d\x67\xae\x0c\x71\x6a\x3c\x3c\xdc\x0b\xdb\x1f\x52\xdd\x43\xaf\xfd\x39\xd5\x9d\xd9\xb2\x3d\xea\x73\x6f\x38\x0e\xc6\xdf\x1b\xe2\xf9\xd9\x1b\x3e\xb1\x73\x9d\x1c\x0f\x01\x26\xfa\xa7\x57\x76\x46\x65\x01\xfc\x27\xc7\xe3\x03\x2c\x1f\xdb\xba\x17\x67\x23\x58\xab\xfe\x69\xcb\x66\xb8\x27\x17\xb3\x61\x30\xfe\xc5\x6c\x4c\xe5\xe3\x3d\x57\xf7\xe2\xa2\x4f\x3f\x6d\xd9\xc5\x05\xcc\xf3\xe2\xe2\x22\xdc\x7f\xc3\x2c\xe8\x5f\xdc\x0e\x0c\x27\xc3\x03\x53\x7a\xe8\x97\x4e\x4d\xe9\x45\xad\x97\x3d\x3a\xc6\x13\x0f\x0f\x86\x13\xbc\x5c\xe1\x17\xb7\x93\xa3\x43\x44\xb9\xf3\xd1\x61\x48\x0b\xce\x47\x47\x7b\xf4\xc5\xdd\x9c\xfa\x8f\x03\x53\x7a\xe6\x95\x4e\x26\x54\x3a\x09\x4f\xd4\xf9\x98\x50\xed\x7c\xbc\x6f\xcf\xff\x6c\x38\xc4\x75\xc2\x2f\x5e\x29\x82\x6f\x36\x1c\x1e\x05\x2b\x9a\x0d\x47\x43\xfa\x32\xd2\x58\xf0\xe8\xdd\xcf\x97\x4c\xee\x91\xad\xb6\x8b\x28\xa0\xdf\xd8\x99\xb0\x1d\x92\x55\x76\x48\x56\xd9\x21\x59\xc5\x09\x25\xdc\x93\xc6\x3c\xa1\x64\x38\xc1\xcb\x62\x38\x71\x97\xda\x70\xb2\x4f\x65\xfb\x5e\xd9\x11\x95\x85\x4c\xc5\x10\x61\xab\x7f\x7a\x75\x67\x54\xe6\x84\x82\xe1\x19\x5e\x2a\xc3\xb3\xfd\xb0\xfd\xd9\x21\x95\x7b\xed\x89\x01\x19\x7a\x8c\xc6\x90\x2e\x9a\xe1\x34\xbc\xd4\xe9\x00\xea\x9f\xae\xee\x39\xcd\xf5\xfc\xd8\x2b\xa3\x39\xcd\x42\xa6\x7a\x38\xa3\x7e\x67\x8e\x81\x19\xce\x8e\xa9\xcc\x9b\xd3\x8c\xe6\x54\x13\x4a\x86\x17\x34\xfe\x85\x37\xfe\xc5\x98\xca\xf6\xbc\x32\x9a\xd3\xc5\xa4\xd6\x9e\xfa\xbd\x98\x7a\x75\x69\xae\x17\x0e\x7e\x23\x62\x54\x47\xc3\x70\xfe\x23\x12\x80\x46\x9e\x00\x34\x1a\xed\x51\xd9\x9e\x57\x76\x46\x65\x67\x61\xfb\x31\xae\x7f\x34\x76\x0c\xc0\x68\x4c\x75\xc7\x67\xae\x8c\x98\xa7\xd1\x5e\x28\x14\x8e\xf0\x34\xeb\x9f\x5e\x5d\x64\x14\x47\x9e\xa0\x30\xda\xdf\xa7\xb2\x70\xff\x47\xfb\xd4\x7e\xdf\x1b\x8b\x18\xc0\x91\xc7\xa8\x8e\xf0\x52\x1e\x8e\x0e\x6a\xe3\x1f\xd2\xfc\x0f\xbd\xf9\x1f\xd2\xfc\x0f\xbd\x3e\xa7\x08\xd3\xd1\x34\x64\x8a\x46\x84\x3f\x23\x0f\x7f\x46\xc4\x54\x8e\xce\xbd\xf9\x9f\xd3\xfc\xcf\x6b\xf3\x27\x66\x73\x74\x7e\xe8\xd5\xa5\x35\x79\xf8\x37\x3a\x9f\x50\xd9\xa4\xd6\x7e\x4a\xe5\x6e\xff\xc7\x24\x28\x8e\x0f\xdc\x9e\x8e\x0f\xa9\xec\x30\xdc\xff\x31\x09\xf5\x63\x4f\x00\x1c\x93\x50\x34\xf6\x84\xfa\x31\x32\x1a\xc3\xf1\xf4\xac\xd6\xfe\x9c\xca\x1d\xac\xc7\x04\x93\xb1\x07\x93\x31\xad\x69\x7c\x5e\x6b\x7f\x4e\xed\xcf\xfd\xf6\x17\x54\xe6\xce\xef\x1e\x29\x2f\xf6\x26\xe1\xfc\xf7\x26\x7b\x54\xee\x18\xd8\x3d\x62\xb4\xf7\xa6\x6e\xfd\x7b\x53\xaa\x37\x0d\x95\x22\xfb\x74\x2e\xf6\x3d\x01\x6e\x9f\x14\x15\xfb\xfb\x9e\xa2\x85\x60\xba\x7f\x30\x0a\x2f\xf5\x11\x5d\xe0\xa3\xa1\xbb\xd4\xf1\xfc\x8c\x87\xa3\x43\xaf\xec\x98\xca\x9e\xd4\xda\x4f\xa9\xfc\xdc\x63\x2a\xa8\xcf\xf1\xd8\x2b\xdb\xa7\xb2\xa3\xb0\xfd\x1e\xd5\xdd\xf3\xc6\x47\xa6\x6c\x3c\xdc\xdb\xf3\xca\x0e\xa8\xec\xa0\xd6\x9e\x98\x9a\xbd\x33\xaf\xee\x8c\xca\x3c\xa6\xe6\x88\xc6\x3f\xda\x0f\xdb\x1f\x5d\x50\xb9\xc7\xd4\xa0\x50\x3e\x1e\x3a\x41\x61\x3c\x9c\xd0\x3a\x27\x81\x50\x33\x1e\x0d\x11\x56\x23\xc7\x12\x8c\x47\xc8\x11\xe8\x9f\x5e\xd9\x13\x2a\x0b\xe1\x47\xb4\x6a\xec\xd1\xaa\xf1\x68\x74\x48\x65\x0e\xfe\xa3\x31\xce\x69\x14\x32\xb5\x63\xa2\x5f\xfa\xa7\x57\xf7\x8c\xca\x1c\x4c\x46\x07\x34\xce\x41\xb8\xfe\xd1\x01\xd5\x75\x0a\xac\x31\x09\x15\x63\x8f\x7e\x8c\x47\x47\x54\x76\x54\x9b\xff\x13\x2a\x7f\xf2\xc4\xd5\x3d\x43\x5c\x19\x9d\x79\x65\x48\x53\xc6\x48\x53\xbc\xf6\x48\x57\xc6\x23\x27\xc0\x8e\x47\xa8\x14\xd3\x3f\x6d\xd9\x18\x79\x0c\xfd\x33\x68\x3f\x1e\x8e\xa9\x7c\xcf\xab\x7b\x44\x65\xc7\x5e\xd9\x19\x95\x9d\xd5\xda\x5f\x50\xb9\xdb\xff\x31\xde\x29\xfa\xa7\x57\x76\x40\x65\x21\xfe\x8d\x47\x13\x2a\x9f\x78\x75\xcf\xb1\x6c\xec\x70\x7a\x3c\xde\xa3\xb2\x90\xa9\x1e\x8f\xa9\xdf\xf1\x81\x57\x97\xe6\x3f\x9e\x7a\x65\x33\x2a\x9b\x85\xed\x51\xd8\x18\x8f\xf7\x3c\x58\xa1\x50\x31\x1e\xef\xb9\x33\x39\xc6\x7b\x46\xff\x0c\xdb\xef\x53\xdd\x7d\x6f\xac\x03\x82\xe9\x81\x3b\xbf\x63\xc2\x89\x1a\xfd\x1d\x8f\x0f\x69\xfc\x43\x6f\x7c\x12\x14\xc6\x1e\xfe\x8c\x0f\x69\xfe\x87\xa1\x50\x32\x3e\xa6\xb1\x8e\xbd\xfd\x43\xa1\x7c\x3c\x3e\xf6\xfa\x7c\x42\x70\x7a\x52\x83\x3f\x0a\x15\xfa\xa7\xab\x3b\xa1\xba\x13\x0f\xa6\x67\xb4\xcf\x67\xe1\xf8\x7b\x28\x14\xeb\x9f\xb6\xee\x3e\xad\x75\x7f\xe6\xfa\xdc\x47\x45\xe9\xf8\x60\x3f\xc4\x9f\x83\x03\xac\x7b\xe0\x84\xb2\xf1\xc1\x31\x95\x1d\x3b\x9c\x3a\x78\x82\xe3\x1c\xd4\xe6\x7f\x30\xa1\xba\x8e\xff\x1c\x1f\xe0\x9d\x30\x3e\x70\x77\xc2\xf8\xe0\x8c\xda\x9f\x85\xf8\x73\x80\xfc\xe3\xf8\xe0\xec\xc8\xab\x3b\xa5\x32\xb7\xff\x07\x53\x1a\x67\x1a\xee\xdf\xc1\x94\xda\x3b\x05\xe2\xf8\x60\x4a\x6b\x9d\x9e\x79\x65\xb8\x7f\x07\xe7\xb5\xf6\x33\x9a\xd7\xcc\xc1\xfa\x60\x76\x41\x65\x6e\xfd\x87\x44\x13\x0f\x87\x01\xff\x3a\x3e\x24\xba\x78\x38\x7c\xe2\xd5\x9d\x51\x99\xd7\x7e\x84\x78\x76\x58\x3b\x7f\x87\x74\xff\x1c\x8e\xa6\x5e\x5d\x6a\xef\x84\xc2\xf1\xe1\x3e\xae\xff\x70\x3f\xa4\x1f\x87\x28\x01\xe9\x9f\xae\x2e\xed\xff\xe1\xe1\xc8\x2b\xdb\xa3\xb2\xda\xf8\x28\xa1\x8d\x0f\x0f\x27\x5e\x5d\x9a\xd3\xe1\xb9\x57\x76\x41\x65\x21\xfe\x1d\xed\x21\xad\x38\xf2\xce\xea\xd1\x11\xee\xc9\x91\xbb\x93\xb4\x2c\xd6\x07\x2f\xe1\x50\xa8\xbf\xb8\xb8\x80\xf6\xfa\xa7\x15\x60\x87\xa6\xb2\x5f\x0a\x8e\x1e\xa8\x2c\x18\x62\x39\x0a\x6a\x68\x30\x70\x96\x64\xbc\xd8\x30\x25\x78\x11\xad\xd0\x0c\x8a\xdc\x57\xcb\x15\x66\x9b\xcf\x9c\xc7\x8d\x7d\xf1\x07\xbf\x38\x95\xf3\x48\xf8\x8f\x56\x8d\x28\x46\x62\x29\x8a\x8f\xac\x8a\x14\x9b\xb4\x74\xe2\x9b\x41\x5b\x1f\x26\x1b\x9a\xeb\x75\x51\x89\x70\x1a\x77\x0f\xff\x14\x9f\xda\x6c\x98\xac\x72\x25\x8a\x9b\x44\x79\xe9\x3f\x6f\xa2\x41\xa2\x2e\xa1\x95\xef\xa0\x16\x29\x1b\xa2\x62\x52\xdd\x26\x69\xa2\xe1\x11\xf8\xf9\xcd\x03\x18\x25\x99\x15\x61\x19\xbc\xb5\x9a\x94\x92\xeb\x24\x63\xa7\x6c\xd8\x67\x6b\x7e\xcb\x4e\x59\xfd\x4d\xcc\xc4\x05\xdc\x41\x67\x10\x6c\x11\xdb\x88\xa1\x1a\x4a\x7f\x6a\x34\x7a\x3b\x7c\xf7\x76\xf8\x8e\x7d\xf8\x00\x50\xfc\xaa\xf9\x7d\xcd\x6f\xdf\xbd\x1d\xbd\x6b\x8b\x27\x6a\xfd\x31\xf4\x7c\xbe\x3a\xd5\xf3\x33\xce\x18\xeb\x24\x66\xa7\xec\x05\x2f\x57\x83\x45\x2a\x65\xd1\xed\xea\xc9\x3f\xd6\x33\xef\xb1\x5d\x36\xf6\x1c\xa5\xb6\x8d\x9b\xc4\x30\xae\xf5\xee\xc0\xd5\xeb\x8e\x1f\xb7\x78\xbb\x6c\x59\x1d\xf4\x32\xf4\x7b\x01\xd0\xe9\x5e\x76\x6a\xbd\xd4\x02\x11\xba\xac\x7e\x36\xfc\x60\xb8\x7a\x3f\x32\x5e\xfb\xb6\x02\xa6\x83\x46\xe2\x01\xc8\x3e\xe3\x98\xae\xf8\x8e\x37\xdb\xdf\x17\xfd\xdb\x34\x27\x60\x80\xeb\x4f\xc8\x43\xfc\xfa\xbb\x74\x03\xff\xb7\xa3\xb0\xd5\xa0\xfc\x1c\x14\xb6\x8d\xb6\xa0\xb0\xfb\xfe\xfb\xa2\xb0\x37\xee\x2f\x40\xe1\x5a\x2f\xbf\x39\x0a\x9f\x9b\x0c\x7a\xad\x26\x5c\x2d\x48\xf2\xeb\xa0\xa3\x6d\xf5\xfa\xe1\xa3\x5a\x9c\xd3\xa5\xc6\x68\xa1\x89\x6e\x1a\xa4\x5b\x0d\x27\x0c\x34\x69\x1e\xf5\x0e\xbf\x87\x06\xb6\x36\x74\xda\x88\x6b\xbd\xa5\xed\x79\xa2\x8a\x6d\xcd\x7f\x11\xc4\xad\xc1\xa0\x31\x1c\xd1\xa4\xe5\x5e\xb2\xd1\x48\x95\xf5\x3f\xb9\x51\x4d\xd8\x6c\xbb\x29\x21\xaa\xbf\x26\xa2\x68\xd0\xde\xb4\x1f\x1a\x78\x34\xe1\x14\x82\x67\xb4\x6c\x8a\xb1\xdf\x79\x1a\x10\x90\x3d\x08\x22\x8e\xa7\x16\x1c\x31\x17\xec\x8b\x2f\x18\x7e\x1b\xde\xf2\x61\xaf\xad\x2b\xdf\xa6\xc7\x04\x99\xfd\x2e\x2f\x93\x75\xf2\x37\xcc\xb8\x3e\xb9\x9c\x3e\x7b\xb6\x65\x82\x7f\x82\x51\x82\x6e\x47\xa6\x93\xb3\xfa\xe5\x8f\xf6\x55\x5b\xad\x6a\x06\x21\x6e\x13\xc7\x01\xc0\x0b\x06\x18\x9a\x01\x30\xbb\x2b\x2f\x8a\xe4\x5a\x50\x82\x57\x3d\x27\x32\xe7\xe5\x9e\x2d\xa3\xdc\x6a\x3c\x39\x70\xb4\x63\x44\x81\x32\x1d\xfc\x46\xa3\xe1\x90\x7d\xf1\x05\x12\x1f\x5c\x2f\x16\x1f\x2c\x34\xa0\xfd\x7f\xbb\xbb\x81\x0d\x60\x92\x25\xe5\xc0\xb3\xf8\x23\xfa\x85\x7b\x0a\xc2\xd3\xf8\x89\x21\xec\xa6\x80\xb3\x0f\x1f\xa8\x9e\x9b\xc2\x58\x1c\x0f\xed\x26\xea\x02\xbe\x1f\x2d\xec\x9c\xb0\xc7\xcf\x4e\xe1\x8d\x68\x6f\xd1\x0b\x67\xb5\xbb\x0b\x6e\x1a\x83\xc1\x80\xfd\x47\xd2\xe8\x99\x47\xc3\xb0\xe7\xf8\x88\xef\x61\x0f\x6e\x31\x97\x9b\x34\xd5\xbb\xa6\x1a\xcd\x17\x4f\x6a\xcd\x17\x7c\xb1\xb0\xcd\xf5\xb8\xd3\xc0\xa1\xe5\x99\xf1\x55\x6b\xe9\x4a\x8c\x6a\x5d\x89\xd1\x13\xdb\xd5\x0f\xa2\x80\xec\x31\x60\xec\xd9\xd6\x78\xaf\xde\xf8\xf0\xae\x79\x5c\xb4\xf7\xb2\xa8\xaf\x66\x71\x38\xb4\xbd\x5c\x54\x69\x8a\x34\x61\x5b\x6b\x51\x6f\x2d\x0e\x7b\xad\xdb\x09\xbe\xe3\x7e\xd5\xf1\x62\xb1\x88\x5b\xeb\xee\x35\xea\xee\x41\x5d\xf4\xdc\xa5\x80\x79\x27\x4c\xac\xe5\x4f\x89\x6f\x2c\x58\xa9\x0a\x3c\x37\x8c\xb9\x3b\xb2\xfb\x10\x76\x23\x89\x43\xaf\x9c\x54\xd3\xdd\xe5\x0a\xbb\xf3\xf8\x22\x5c\xac\xca\x45\xc4\x14\xdf\xc0\x79\x5a\x69\x46\x9c\x5d\xa2\x7f\x80\x3e\x76\x71\x0c\x15\x12\xb0\xb5\x55\x36\xc1\x98\x58\x7f\xfd\xcb\x2e\x83\xfa\x25\xe0\x5c\x63\xfe\xd1\x2f\x81\xef\x1f\x70\x03\x04\x04\xce\xbf\xb8\x9b\x74\x6e\x9b\x25\xa3\x9f\x8e\xe0\xc1\x77\xf4\x27\x6c\x89\x0b\x53\xd2\x16\x63\x54\x95\x85\x8d\x71\xfb\xa9\xf0\xac\x07\x42\xb9\x89\x06\xaa\x6c\x72\x3e\x41\x10\x0c\x72\xdc\x2a\xae\xc9\xfe\xf4\xde\x50\x18\x41\x20\x3a\x2f\x14\x14\x84\x36\x30\x7f\x7b\xf1\x0d\x6e\x68\xf8\x3a\x68\x1b\xb1\x8e\xf4\x56\x62\xe5\x3f\x99\x4b\xda\xee\xcb\x0e\xf1\xaf\xc5\x35\x7b\x7c\x8a\x5d\x52\x23\xfd\x77\xb7\x16\x23\x6a\xb1\xd0\xa4\xf3\x6b\x36\x62\x27\x18\x87\xc0\x67\x69\x8b\xeb\x60\xf7\xfe\x2c\x28\x5f\x73\x35\xa7\xc8\x23\x94\x42\x90\x50\x14\x81\x2d\x17\x0b\x25\xca\x1a\xf6\x7a\xfb\x70\xd7\xae\x86\xe1\x52\x96\xa2\xf4\xc6\x5a\x14\x72\x3d\x68\x3d\x6f\x18\x88\x9f\x02\x2e\xa3\x27\x7a\x38\x97\x7a\x5f\xed\xdd\xc8\xbc\x7c\x8f\x40\xdd\x86\x3a\x41\x07\x8f\xda\x42\x2f\xbf\xae\xd7\x72\xd8\x05\xa5\x35\xdc\xa2\x24\x02\x7d\x37\xb6\x97\x8c\x4e\x7f\x81\x88\xc7\x7d\x26\xb2\x98\x7e\xbb\xb1\xc7\x10\x70\xcf\x55\x42\x11\xf0\xc6\x9a\x47\x7b\xed\x6b\xf1\x59\xdc\x07\x17\xa8\x05\xdb\x3d\x6e\x41\xbd\x5a\xa0\x13\xd7\xb8\xd7\xc0\xc5\xaf\xb0\x6b\x83\x8f\xf3\x42\xf0\xab\x20\xf7\x8c\x83\xf0\x67\xa7\xac\xca\xc8\xee\x3f\x48\x8a\x6c\x56\x8a\x49\x72\x2c\x00\xdc\xba\x1e\x59\x1e\xc3\x56\xf5\x97\xa7\x2f\x2d\x3a\x19\xa7\x0e\xaa\x5e\xab\x07\xaf\xd4\x74\xdf\xeb\x39\xf8\x3f\x7e\xdc\xb2\x68\xb7\x77\x8f\xc2\x89\x99\x90\x19\x26\x19\x75\x59\x0c\x2c\x6e\x74\xdb\xb6\xb7\x57\x3f\x80\xae\x89\x0f\xf8\xc6\xa1\xdc\x72\x20\xf1\x5c\xa0\x93\x4d\x1c\x1e\x89\xdf\xff\x10\xb6\xb7\xd2\x13\x7b\x0d\x61\x50\xe3\xd6\x16\x9f\x74\xc8\x6a\x59\x2c\xfd\x73\x26\xb2\x38\x08\x6c\x15\xb4\xab\xd7\x64\x3b\x84\xd0\x00\x70\x5d\xb5\x10\x18\x12\x64\xc0\xe3\xb8\xdb\xa1\xc0\x24\xd1\x8a\x67\x4b\x91\xca\xe5\x2e\xb9\x82\x75\xfa\xac\x53\x8a\xdb\x72\x37\x4f\x79\x92\x75\xfa\x8f\x3a\xa3\xc1\xe8\xb0\xc3\x1e\x3f\xea\x74\x1e\xf5\x28\x33\xe7\x3d\x5d\xc5\xbc\x14\xcd\x7e\xc6\xc3\xd1\xd1\xce\xf0\x78\x27\xe8\xad\x1e\x2f\x65\xa5\xef\xd8\xdd\x9f\xd4\x2e\xfc\xf2\xcf\x1e\x9d\x19\x60\x55\xc6\x22\x07\x20\x0d\x2e\x4b\x59\xf0\xa5\x80\xa4\xf7\x74\x02\xfe\x4d\x37\xd4\xe3\x5f\x27\xe2\x86\x9d\x8b\x28\xe5\x05\xb9\xcd\x21\x04\xbe\x84\xb4\x05\xc8\x8b\x62\xe8\xfc\xb5\x60\x73\xae\x92\x88\xa9\x15\x2f\x44\xcc\x2a\xc8\x76\x93\x98\x1c\x00\xbc\x44\x2f\x21\x29\x99\x5a\x83\x9b\xbf\x64\x31\x42\x82\xc5\x02\xb3\x12\xc6\x30\x5f\xca\x65\xab\xe9\x35\x8c\x65\x1d\x61\x9c\x67\x1f\x64\xe1\x00\xef\xeb\x2c\x96\x37\x6c\x25\xd1\xa5\x1a\xa7\x56\x0b\x5f\xa2\x2f\x2b\xae\x58\xae\x8f\x92\x5c\x50\x1d\x2d\xd0\x75\x7b\x03\xe6\x25\x2a\xd2\xb5\xb3\x6b\x9e\x26\x31\xab\xb2\x32\x01\xa7\x61\x88\x79\xc0\xd3\xe4\x6f\x36\x82\x0a\x66\xa6\xc5\x19\x62\x57\x38\x87\xd7\x7a\x46\x36\xdd\xa3\x89\x76\xcf\x0b\x90\x57\xbd\x58\xed\xe4\xd9\xee\x52\x5f\x50\xc4\x02\x08\xa1\x67\x42\x5a\xff\x4d\xca\xb5\xef\x1b\x45\x2b\xfa\x0f\x59\xc1\x7e\x9b\xc8\xd8\x90\x21\xa3\x5c\xd9\xf4\xea\x2c\x95\x91\x9e\xac\xb0\x99\xd0\xfd\x79\xea\x4e\x69\x42\x2e\xab\x66\xe7\x3f\xbf\xfb\xee\x85\xbe\x39\x46\xc3\xe1\xff\xf2\xa2\xe6\x9c\x15\x89\x58\x30\xb4\x56\xdb\xd8\xf9\x5b\xb7\x7c\x9c\xae\x3e\x47\x7a\x9a\x91\xcc\x29\x7c\x05\x70\xa0\x69\x92\xcf\x25\x2f\xec\xb4\xcf\x36\x2c\x16\x0b\x5e\xa5\x90\xd8\x87\x3c\xe8\x0d\x27\x7f\xf6\x7c\x32\xfd\x96\x5d\x4e\x9f\x5d\x5e\x7e\xf7\xfd\xa5\xe7\x9f\x0b\xce\xb9\x1b\x5c\x31\x79\x2f\xff\x8c\x45\xfb\x08\x00\x8e\xc0\xf5\xa9\xaf\x04\xeb\x20\x78\x77\xec\x84\x77\x32\x59\x26\x91\xe8\x78\x51\x1d\x00\x09\x82\x8d\x30\xe0\xd4\x75\x17\x1b\x4d\x02\x3c\x68\xfe\xa5\x1a\x1f\x0d\xc7\x1a\x8e\x16\x5b\x35\x8c\xd4\x4a\x4f\x34\xc9\x18\xd7\x28\x7f\x55\xca\x9c\x41\x73\x8a\xc6\x62\xfd\x9f\x0d\x36\x80\x6f\xb2\x48\xd3\x01\x63\x7f\xa9\xc6\xe3\x43\x0c\xa6\x68\x61\x36\x7b\xf6\xe7\x6f\x5e\x7f\xc3\x5e\x7e\xf7\x7a\xd6\x67\xff\xab\x5b\x26\x65\x2a\x7a\xb5\xc4\x97\x1a\x56\x36\x80\x88\xc5\x32\xa8\xea\xaf\x82\xa6\xf3\xd2\x9b\xcd\x6b\x5d\x87\x16\x73\x78\x38\x71\x03\xe0\xdf\x1e\x92\x3c\x27\xc3\x46\x08\xef\x48\x67\x15\xdc\x77\x21\xa1\xb9\x95\xe5\x26\x58\xb8\xe2\x45\x26\x94\xf5\x49\xa7\x44\xce\x26\x65\xf6\x06\xdc\xf6\x30\x9c\x0b\x65\xf7\x2c\xaa\x2c\xb3\x97\x11\x4e\x57\x77\x74\x2e\x72\xb0\x60\xec\x60\xd1\x65\x54\xc8\x34\x7d\x25\x0b\x4c\x9f\xa7\x34\x81\xb7\x5f\x84\xc8\x4c\xe9\x23\xd6\xf8\x47\xf5\x5e\x13\x74\xea\xed\x7f\x78\x7d\x7f\xdb\x1f\x5e\x0f\xa6\x3c\xcb\x44\x8c\x35\xdf\x85\x64\x0a\x41\xa2\x89\x88\xbd\x39\xfb\xac\x10\xcb\x44\x41\x3a\x5c\x44\x64\xbc\xb8\xb0\xec\x19\x92\xa5\x1a\x02\x53\xfe\x92\xb8\x82\x5b\x58\xd7\x4f\x82\x7a\x86\x03\x30\x63\x7c\x64\x32\xd3\x3d\xa1\x13\xb4\x79\xe9\x71\xed\xd8\x0d\x78\xad\x56\x10\xed\x21\xc9\xae\xe5\x95\x80\x53\x61\x9e\x0c\x6b\x54\x0f\x4e\xb8\x4b\xf6\xb9\xfb\xa8\x31\x63\x04\x46\xa7\xef\x65\x93\x80\x09\x20\x5b\x60\x67\x20\xb3\x1f\x81\x56\x76\x91\x64\x1a\x1e\xb5\x85\x8c\xe2\x1f\x03\x4d\xe6\x91\xdd\xf3\x12\x74\x62\xd7\x7d\x36\x74\x9c\x9d\x37\xc2\x6b\x3e\xef\x96\x7c\x1e\x24\x4b\xe3\x73\xe4\x60\xa1\xcf\x48\xdf\xce\xc2\x8b\x6d\x08\x7f\xd3\xf0\x90\x79\x47\x37\xa0\xbf\x9f\xc5\x7d\x20\xe9\x7d\x3b\xf7\xf6\xa4\x60\x26\xdd\x41\xb1\x4c\xb2\x98\xf7\x4e\xec\xd6\x41\x68\x27\x76\x03\xcc\x18\xab\x72\xf4\xaf\x67\xd7\x23\xc6\xf3\xbc\xa3\x20\x60\xcc\xb2\x80\x8b\x3b\x47\xca\x65\xba\x7b\xc1\x37\x73\xc1\x02\xa0\x74\x32\x99\x89\x0e\x85\xfc\x98\x53\xc2\x58\x2f\xbe\x0b\xa4\xd8\xb5\xe1\x0a\x4c\x5f\x2d\xd0\xed\x64\x10\x7f\xc2\xc6\x90\xdd\x0a\xdc\x5a\x4a\xb3\xcf\x0c\xcd\x00\x62\x4e\x5c\x83\x0f\xe9\x00\xc4\x10\x0e\x12\x81\xab\xb0\x6a\xb3\x64\xa0\x36\x59\xe4\xf6\xa2\xad\x7f\xca\x10\xee\xf1\x29\x03\x60\xb0\x44\xb7\xad\xab\xd6\xdd\x79\x60\xb7\xcf\xf5\x45\xd2\xad\x2f\x9c\x92\x21\xd0\x60\x25\x9f\x2b\x93\xb0\x22\x93\x9a\xd2\xe5\x14\x45\x2e\xc9\x18\x05\x77\x83\x34\xdc\x8a\xa2\x2d\x88\x52\x44\x25\xbe\xad\x62\x67\x1b\x59\x75\x20\x68\x85\x5f\x1b\xe9\x7b\x9a\x94\x9a\xf4\xf2\x1b\x08\x22\x64\x5e\xd3\x13\xf5\x8a\x6a\x4e\xf2\xdc\x39\xd2\xde\x0d\xf1\x42\xb3\x30\x6d\x25\x1a\xc1\x5f\xf0\x2c\x59\x08\x55\xfa\xaa\x94\x35\x95\xb1\xd3\x3b\x1a\x18\xe0\xd4\xa7\x64\x1a\x0f\xf4\x52\xbe\xf8\x22\xf8\x7b\xe0\x70\x3c\x90\x5b\x83\x3e\xbc\xd8\xa6\xaf\x7c\x20\x02\xcb\x08\xd1\x6d\xbc\x0b\x3c\x71\x8c\x92\xde\x8e\x41\x93\x40\xe0\x51\xc5\xd4\xbd\x78\x7c\xff\xae\x49\xc9\x09\xeb\xe4\x32\xaf\xf2\xce\xc7\x9e\x25\x1f\x3e\xa6\xdc\x05\x50\x3d\x52\x90\xc5\x50\x23\xc5\x52\x94\x53\x4a\xd6\x81\x79\xa5\x74\x09\xf2\x37\x9a\xe8\xc0\xdd\x96\x28\xf6\x39\x65\xf4\x48\x37\xe6\x4e\xfb\x1c\x13\xc2\x41\x60\x17\xd3\x61\x29\xf3\xb5\xd4\x17\x6a\xc1\x16\x32\xc2\x0c\x6a\x7c\x3e\x08\xc9\x14\x2c\xd8\x0d\xdb\x05\x82\xd7\x8e\xf5\x0f\x84\x08\xd1\x02\x07\x12\x83\xfb\x1f\x7b\x8d\x44\x62\xb1\x88\x92\x35\x4f\xd9\xdf\x8d\xda\x6e\x25\x40\xfc\xf9\x48\x74\x0d\x45\xe4\x58\xae\x31\x6a\xa2\x77\x71\xeb\x29\xa7\x89\xc8\xca\xcb\xe4\x6f\x81\xd5\x49\x2c\xd7\x81\xf0\x18\x4b\xa8\x0c\x41\xda\x93\x6c\x89\x8d\xbe\x17\x11\xe0\x5e\x33\xb5\x99\x99\x91\x17\x30\xe9\x21\xb3\x68\xe8\x24\x7f\xc6\x34\x06\xa4\xfd\xd8\x3e\x19\x82\xca\x83\x67\xf3\x0d\xd6\xff\xc4\xe9\xe0\x68\x61\xa2\x60\x99\x6f\x6a\xa9\x64\x52\x61\x53\x8e\x82\xd6\x6d\xa3\x4a\xb1\x6e\xf2\xea\x86\x95\xf8\xe6\xf5\x8b\xe7\xe7\x32\x82\xe4\x4f\x14\x0b\x9b\xfe\x72\xa9\x78\x82\x4e\x23\x99\x6f\xfc\xc5\xe9\xbf\x2f\x4d\x85\xd7\x72\x6a\x06\x0a\x57\x89\x5d\xd6\x13\x9c\x99\xf2\x81\xb8\x15\xd1\x54\xae\xd7\x3c\x8b\xbb\x1d\xdd\x63\x27\xcc\x75\xb6\x48\x0a\xb1\x90\xb7\x33\x93\xe0\xc9\x23\x23\xcf\x96\x19\xe6\x53\x4f\xd4\x80\x5d\x5c\xb4\x65\xad\x23\xab\x12\x7d\x3f\x73\xfc\x52\x14\xb2\xa0\x20\x62\xf6\x25\x05\xcf\xa6\x5e\xae\x7d\x3e\xf9\x09\x33\xdd\x3b\x0b\x85\x41\xfd\xcd\xfc\x15\x57\xa5\x68\x05\x34\x06\xc8\x80\x2c\x35\x18\x29\x02\xe1\x09\x27\xde\x6c\xc2\x4b\x59\x8a\x13\xf6\x2c\x43\x4d\x82\xd8\xbd\xc0\x65\x6a\x8a\xb8\x2b\x6e\x4b\x91\x41\x88\x1f\x91\x5d\x27\x85\xcc\x20\x3d\x17\x64\x7b\xef\xa4\x29\xc6\xf8\xa6\x78\x51\x9f\xdb\x41\xbf\x17\x3c\xfe\x9c\xe5\x36\x3c\xd0\x80\xe9\xde\x31\x39\x6a\xd8\x0d\xe6\xc8\x03\x74\xe4\xe9\x0d\xdf\x80\xf0\x0e\xa9\xc2\x28\x50\x9c\xa1\xbc\x0b\x48\xcc\x0e\x34\x6d\x9e\xca\xe8\x4a\x31\x1e\x45\x9a\xbd\xd7\x58\xaf\x44\x54\x15\x49\xb9\x61\x85\xe0\xca\x8b\xa6\xf6\x00\xec\x2a\x25\xcb\x01\x78\x1a\x4e\x83\xfb\x4d\x82\xb0\xb2\xaa\xa2\x48\x88\x38\x94\xd0\xe0\xd3\x45\x21\xd7\x3f\x0b\xf9\xec\x89\x6b\xc3\x41\xe8\xf2\x13\x91\x50\x63\xe1\xfe\x10\xb8\x02\x99\xc6\xa2\x20\x46\x2e\xc9\x22\x59\x14\x02\xb2\x4a\x53\xfe\xb2\x10\x47\x3d\x1c\xac\xa1\x2a\xc4\x63\x13\x3c\xd6\x32\x18\x4e\x1b\xd4\x89\x06\x23\x9b\x36\x44\x01\x8e\x4e\x0b\x81\xc1\xe6\x34\x1f\xe4\x8b\xa3\xf5\xdd\xfa\x0e\x32\xd2\x7e\x64\xf0\xa7\x62\x3f\xf0\x22\x91\x95\xc2\x3f\x05\x3c\x3c\x1a\xf9\xb5\xde\x4b\x43\x15\x8a\x5d\x0c\x40\xa0\x44\x45\x0e\xfc\xd6\x25\xde\x4c\x19\xf2\x84\xb7\x70\x47\xe1\xf7\xde\x5d\x7d\xcd\x65\xbc\xc1\x1c\xac\x24\x86\x43\x41\x77\xcd\x13\x54\x50\xf4\x9a\x42\xbb\x8f\x06\xd8\x8b\x7b\x21\x88\xc5\x82\x9d\xb2\xae\x26\x9c\x7d\x0d\xb8\x54\xb3\x2f\x3d\x76\xfa\x15\xd0\x52\xc8\x40\x6b\x95\xec\xec\x6b\x2c\x3c\xb1\x15\x0d\x5b\x46\xa0\x3a\x0d\x6a\x7f\xf8\xc0\xbc\x72\x7d\x0b\xa3\x72\xdb\x14\xa2\x96\x0b\xb9\x7f\x51\x2c\x91\x7e\x54\x4a\x14\x1d\x45\x01\x07\xbd\x3c\x68\x46\xa3\xa2\x30\xb4\x9a\xc6\xaf\x1f\x05\xa5\x91\x28\xf9\x95\x60\x49\x89\x5d\xc5\x09\x21\x57\x92\xc1\xc3\x2e\x28\x50\xb8\x62\xaa\xac\x16\x0b\x23\x83\x6a\x7c\x53\x9a\xb0\x65\x57\x86\xed\xc4\x84\xae\x30\x2d\x62\x28\x3a\x1a\xb2\x9d\x13\x1f\xf0\x46\x32\xee\x24\x91\xcc\x3a\x27\x7a\x56\xb4\xf6\x81\x2e\xe9\xb3\x40\x2b\xbb\x14\xe5\x39\x2f\xf9\x9b\x22\x25\x89\x71\x37\x59\xf3\xa5\x50\xbb\xba\xee\xce\x93\xc3\x4e\x0f\x72\x77\x7c\x34\xd9\x55\x4b\xd2\x44\x78\xbd\x42\x51\xdf\xc8\x72\xf6\x90\x22\x9a\x18\xe8\x7f\x86\x7f\xc2\xdc\x4c\x1f\x24\xa2\xea\x2a\xa6\x48\xcf\x6d\x31\x20\x5d\xc9\x0f\xbc\x50\xdd\xbb\x75\x22\x7d\xf6\xf7\x0e\xb4\xed\x9c\x60\x1f\x1f\x7b\x2e\x11\x2c\xc9\x13\x7e\xa3\x2e\x4d\x96\x20\x09\xd3\xcb\x06\x32\x8b\xd2\x24\xba\x6a\x66\x86\x63\x66\x55\x70\x17\x18\x56\x1b\x33\xdc\xa4\x52\x09\xca\xf3\xf9\xd4\x71\x05\x59\xed\xd2\xcf\x54\x59\x54\x51\x09\x0c\xa4\x66\x3d\x48\x0d\xa2\x39\xae\x42\x44\xd2\xdd\xf2\xcf\x28\x8e\xa3\xb2\xaa\x67\x08\x4e\x89\x31\x8e\xf2\x6a\x9e\x26\x91\x26\xdd\xf1\xee\x0d\xa4\xeb\x5c\x8b\xf5\xdc\x1c\x73\x17\x85\x13\xf9\x8e\xad\x0f\xf6\xee\xd5\xcf\x7b\xee\x4b\x94\x37\x93\x66\x1b\x62\x9c\x40\x75\x82\xbf\x36\x5b\x99\xa3\x5c\x67\x24\x03\x8e\xd4\x4b\xc8\x68\x5e\xb9\xec\x9b\x15\x94\xae\x0c\xcb\xd5\xc2\x3d\x4d\x62\xb8\xe0\x5d\xfc\x57\xb7\xda\x96\xf9\xdc\xb3\x78\x8d\x14\x9f\x04\x00\xdd\xf0\x41\x40\xf0\x52\xbe\x15\x42\xfd\x66\x50\x21\x1e\x97\x03\xa7\xb7\x0d\x0e\xe6\xaa\x76\xb3\xfb\xc8\x26\xb8\x14\xb7\x69\x36\x8a\xa8\xe3\x24\xf9\xda\x83\x35\xc4\x4a\xb4\xc8\xb5\x65\xa9\x51\x2a\x33\xd1\x3c\x44\xe6\x64\x04\x23\x76\xdd\x92\xfb\xfe\x42\x43\x89\xe2\x92\x5e\xe2\x09\x08\x18\xf9\xd0\xdf\x38\x3b\x6f\x1b\xc8\xd9\x24\x98\xf7\x66\x58\xc3\x08\x1f\x10\x20\x0e\x42\x08\x79\x4a\xf1\x8e\x5c\xb3\x7d\xff\xdb\xb2\x52\x2d\xc7\x49\x7f\xa5\xba\x9f\x96\xad\xd4\xc5\x83\x2d\xfb\x09\xdf\x5a\x36\x15\xac\x17\x93\x45\xcb\x42\xdc\x6a\x13\x45\xd1\xca\xe1\x6e\x06\x7d\xfa\x03\x97\xb9\xad\xcb\x7b\xd8\xba\xb9\x2c\x57\xb6\x2e\x11\xa5\x10\x4b\x76\x71\x29\xfd\x3b\x3d\x1d\x5a\x81\x09\x2b\x51\xed\xd0\x34\xd6\xc8\x1e\x50\x7d\xa8\xb2\x2f\xbe\x08\xa1\xba\x1d\xac\xf6\xac\xd0\xc3\xa9\x8d\xbc\xca\x4b\x3f\xe1\x8e\x0f\x8f\xd6\x47\x59\x9b\x74\x1a\x35\x09\x98\x4c\x3d\xa1\x77\xb8\x6d\xb4\xc9\x69\x71\x5d\xef\x5b\xa0\x51\xca\xcb\xc6\xcb\x6e\x00\x8b\xce\x5b\xd7\xce\x4b\x4f\x4e\xef\xfd\xac\xd3\x77\x65\x34\x09\x48\x78\xfe\xa0\x7b\xe9\x7b\x79\x33\x95\xe9\xaf\x77\x33\x21\xeb\x6c\xde\xe4\x03\x1d\x3a\xf6\x81\x11\x02\x05\xf0\xcf\x1d\x79\x2d\x8a\x45\x2a\x6f\x3a\x6c\x9e\x98\x48\xe2\x98\xf3\x1c\x95\xe2\xf8\x20\x49\xef\x96\xa0\x19\x37\x01\xde\x57\x5c\xb1\xb9\x10\x19\x5b\xf3\x18\x2a\xaf\x25\x21\x28\x85\xb4\xa7\x07\x77\x93\xce\x18\x5f\xe2\xc9\xdc\x45\x77\xa4\xf0\x5d\x82\x99\x8c\xb8\x89\xb2\xd9\x93\x6e\x04\x4b\x05\x6f\xed\x8e\x6c\x6e\x20\xc9\x33\x57\x25\x15\x3f\xb2\xb1\xa1\xa9\x5b\x78\x36\x53\x44\xca\xcc\x22\xf5\x1a\x51\xe6\xc3\x77\x66\x88\x32\x4d\xdd\xeb\xd9\x6b\x1e\x0a\xa8\x2e\x4d\x03\x75\x42\xe9\x06\x1f\xe1\x78\xb6\xb1\x8b\xd7\xe2\x59\x91\x64\x25\x50\x58\xcf\xf4\x30\xe2\x94\x2d\x3e\x2a\x76\x53\x88\xfa\x08\x51\xf1\xb7\x5e\x90\x7a\xb3\x34\x8d\xd0\x3f\x1f\x72\x31\x12\x10\x3c\x23\xa2\x3b\x5a\x59\x8a\x22\xf3\xf2\xbd\x85\x81\xcd\x9c\x4d\x9f\xcd\x26\xdb\xf3\xa5\x21\x86\x48\x69\x8e\x90\xde\x6a\xd3\x3e\x94\x2d\x09\x79\xbd\x73\x53\xc8\x9b\x3e\xcd\xad\x1f\x0c\xec\x91\x6a\xbd\xda\x53\xbd\xe6\xa7\x2e\xf7\x2e\x2c\xe6\x94\x5a\xda\x72\x3b\xeb\x53\xf6\xd9\x67\x7e\x6f\xdb\x38\x95\x10\xfb\x1f\xca\xa7\x98\x6d\xd0\xbb\xf9\x09\x5b\x01\x48\xf0\x8f\xb3\x1d\x1e\x65\x83\x33\xf9\x3f\xbc\x3b\x9f\xc0\x31\xe1\x3a\x42\x9e\x89\x50\x6d\x0b\xd7\x44\xfb\x0e\x0e\x4f\x96\xf0\x6d\x05\xcb\x43\xb9\x26\x6c\xd8\x35\x60\xe9\xfb\xe0\xe8\x87\x30\x68\x67\xa2\xb6\xa0\xe3\x7d\x2c\x14\x4d\xb8\x95\xbb\x30\xb0\x79\x28\x1b\xd5\x58\xfc\x7d\x8c\x14\xee\x3f\xdc\xe9\xad\x48\x00\x5f\xb6\x63\x02\x7c\x6e\x45\x84\x76\x2e\xab\xbe\xaf\x0f\xe7\xb3\x9a\x90\xd8\xde\xed\x2f\xe1\xb5\x0a\x79\xb3\x6b\xf6\xfc\x7e\x4e\xab\x01\xef\x07\xf0\x5a\x5d\x07\x78\x07\x79\xcb\x68\x19\xc8\x07\xa0\xf7\x9c\x25\x58\x63\x13\x6a\xbb\xd0\xfa\x64\xf0\xdb\x72\x65\xed\x88\x7f\x17\x4f\xd6\x80\xdb\xbd\x5c\x59\xd7\xb0\x65\xd8\xd4\x63\xcc\xf4\xe8\x21\x5b\x46\xf3\x30\x85\x5b\x41\x07\x7c\x5b\xaf\x35\x57\x58\x68\xfb\xf6\x7e\x51\xf0\xb5\xf8\x17\xb3\x80\x5b\xf8\xb6\x6f\x17\x90\xcf\x27\x2e\xf8\xc2\x5a\x5c\x83\x9f\xf3\x82\x47\x2e\x8f\x68\x60\x56\xa3\x37\x9c\x33\x48\xa6\x06\x76\x66\x1b\x16\x27\x3c\x95\xcb\xba\x21\x07\xa4\xa8\xd7\x8c\x58\xd9\xa1\x57\x04\xbf\x9b\x9d\xaf\xb0\x15\x4b\xf9\x46\x14\x03\xc6\x5e\x4b\x6b\x78\xc1\xe0\x4d\x1f\x73\x1f\x88\x4e\x9a\x62\xda\x02\xca\xe8\x19\xa1\x7a\x7a\xe7\x2b\x3b\x21\xdb\x83\x06\x10\x84\x91\xc7\x93\x2d\xd9\x82\x47\x49\x9a\x68\x06\x10\xaf\x8c\x5a\x4b\x3b\x07\x59\x90\xe6\xd0\xd5\xa1\x2f\xfa\xef\x2a\xab\xe9\x8a\x9f\xb1\x64\xcd\x97\xe8\x84\x60\x19\x6e\x18\x18\xcd\x2f\x99\x4a\x96\x19\x68\xc6\xe0\xc9\x80\x6c\xb0\x5c\xde\xd0\x41\x10\xbc\xdf\x8a\x0c\xa4\x9d\x06\x94\xb3\x5a\x66\x7c\x51\x33\x33\xae\x91\x48\x0b\x82\xbf\x87\xc6\x3d\xf8\xcc\x90\x73\x78\x0e\xb3\x95\xf0\x0a\xf1\xb9\x95\xaa\x48\xc3\xfc\xa1\xba\xa0\x94\x2c\x95\xdc\xa2\x16\x9e\x00\xaf\x11\xb0\x00\xa4\x2f\xb5\xea\x72\xcb\xe0\x98\x2f\x66\xfe\xd8\x9c\x41\x02\x0f\x1b\x30\x3c\xe4\x67\x2e\x60\xc1\x3e\xe5\xa4\x19\xf7\xf5\x7c\xfa\xfe\x80\xde\x05\x66\x2a\xbd\xd7\xb7\x11\xfd\x6e\x6f\xaa\x38\xb9\xf6\xcb\xe1\x6f\xfb\x51\x2f\xf2\x54\x77\xed\x2e\x36\xab\xfe\xf5\x17\xf7\xe1\x03\x28\xa9\xa9\x4e\x02\x2b\x79\x6f\xcd\x1e\xed\x85\x89\x09\x5e\x8b\xc6\x17\x52\xd1\x4f\x57\x3c\xcb\x44\xea\x3e\x7b\x44\xfa\x1b\x4c\x3c\x4b\x35\xbd\x74\x75\x89\x85\x7a\x00\x24\x8f\x6e\xca\x8c\x2c\xf1\xde\xfb\x90\x23\x03\x15\x75\x93\xc0\x6b\x8d\x18\x40\x56\xe3\x8c\x3b\x1b\x20\xd0\x8a\x77\x92\x3c\xda\x49\xb2\xa4\xdc\x91\x57\x9d\x13\xf7\x2a\xff\x23\xbc\xf2\x1b\xd6\x4d\xe5\x52\xd3\x1d\xbe\x00\x37\x57\x48\xb3\x03\x12\xde\x9a\x99\xe6\x40\x0b\xc0\x9e\x6d\x91\x64\x89\x5a\x99\xf7\x7b\x58\xbf\xae\x6e\x10\xf2\x59\xb6\x90\xef\xbb\xbd\xa7\x81\xa3\xc9\x53\x6f\x42\xf6\x48\x26\xd9\x42\x7e\xe2\xac\x82\x3e\xb6\x4d\x4d\xd3\xfb\x95\xbc\x41\xdc\x84\x2f\x90\x14\x91\xaf\x45\xdf\x34\xc9\x58\x21\xe6\x89\x96\x62\xab\xc2\x3e\xb4\x60\x8e\xe0\x82\xa4\x52\xd7\x59\x44\x8f\x21\x6c\x2e\x52\x79\x13\x00\xc0\xa1\xc6\x00\x28\xf9\xc0\x98\xc3\x9e\xb2\xce\x22\x15\xb7\xd6\x24\xa9\x0d\x5d\x06\xb9\x2c\xca\xd1\x40\x66\x6b\x6b\x70\x89\xa8\x6a\xf6\x1d\xcd\x1b\x74\x59\x2f\xe8\x47\x66\xcf\x25\x8f\xdb\x61\x4d\xef\x28\x06\xb6\xe0\xe2\x99\x8a\x41\x2a\x97\xdd\xce\x9b\x0c\x2d\x1b\xcd\x78\x80\x8b\x00\x98\x93\x4e\x9f\x21\x26\xb5\x74\x1a\xbe\xb2\xc1\x53\xbd\x62\x11\x3c\xf6\xe9\xfb\xac\xc0\x34\xc7\x89\xea\xb3\x67\x6c\x59\x09\x65\x9f\x47\x9f\x95\x90\x0b\x2a\xeb\x58\xbb\x22\xcc\x25\x9e\xc3\x95\xa7\x4a\x91\x41\x3e\x02\x2d\x93\x3f\xeb\xac\xc9\xfe\xc8\xd8\x50\xe2\x6b\x62\x98\xfc\x69\x25\x0a\x61\xae\x9b\xbc\x90\x73\x3e\x4f\x21\x3f\x60\x89\xbb\xa6\x72\xc1\xaf\xdc\x03\x51\x29\x61\x7b\x91\x46\xaa\x07\x9d\xb4\x1a\x8b\xd2\x3c\xc7\x78\x6a\x19\xee\x00\xe6\x82\xbe\xbb\x63\x5d\xef\x7d\x93\xf3\xd9\x46\x3e\xc4\x0d\x7b\x11\x94\xe2\x2e\x7f\x12\xfa\xbc\xaf\xe1\xcf\x1d\x9d\x80\x0b\x83\x37\x14\x51\xc2\x01\x65\x3c\x22\x6b\x9b\x5c\xaa\x92\xfa\x36\xa9\xec\xff\xae\x09\xcf\x89\xa3\x36\x9d\x3e\xe3\xc5\xf2\xfa\x84\xbd\xfd\x3b\x8d\xf4\x4a\x16\xe5\xc9\xf6\xb1\xc7\x1f\xdf\x7d\xec\xfb\xc8\x0d\xf7\xc1\xdb\xed\xf5\xdf\x85\x4c\xb0\xc1\xc7\x35\xdf\x84\xd8\x78\xff\xb6\x6c\xdf\xec\x4b\xc8\x8b\x17\xf0\x32\x40\x70\x3c\xbb\xf7\x87\x91\xf0\x06\x81\x6c\x62\x02\xbe\xda\x2d\x45\x39\x89\x22\x91\x97\xcf\x79\xb6\xac\xf4\x4d\xd1\xb5\xf5\x52\x53\xe4\xec\xb5\x60\x81\xfe\x76\x84\xd4\xb5\xd3\x67\x6f\xbd\xec\xcd\x3c\xec\xf9\x84\xd9\x1e\x3d\x4b\xe0\x85\x2c\x04\x9a\xb5\x4d\x65\x2a\x8b\x93\xda\x15\xac\x67\x78\x11\x56\xe9\xf6\xbc\xe6\xce\x2a\x6e\x6b\xf3\xb3\xb0\x4a\xd0\x1c\x95\x77\x5b\x9b\x4e\xdd\xe7\xa0\xd9\x42\xa2\x05\x56\xfb\x6c\xf1\x5b\xa3\xc1\x05\x5f\x27\xe9\x66\x5b\x13\xfc\x5a\x5b\x9b\x12\x6f\xbe\x7f\x7e\xe2\xf6\xea\xcd\xf7\xcf\xbb\x9d\xdd\x4e\xcf\x13\x3f\x3e\xbe\xb3\x7f\x18\xb3\x33\xef\xfc\x85\x48\xfb\x46\x89\x82\xc1\xb3\x29\x29\x54\xe1\x41\x54\x13\xc2\x12\x8c\x7e\x1d\x5b\x05\xd9\xfa\x0b\xcb\x9a\x6e\x47\xe8\xa9\xee\x61\x8a\x5d\x6e\xa3\x37\xf6\xd9\x35\x38\x3f\x52\x11\x93\x7b\x2f\x36\xe3\x2c\x1b\x7d\xe3\x13\x75\x8d\x53\xfa\xf0\x81\xd5\xcb\x06\x48\x89\x5f\xca\x58\xf4\x6a\x97\x4c\x93\xd5\xf2\x2a\x0f\x0a\xb1\x96\xd7\x62\xba\x4a\x52\x84\xa6\x57\xcd\x91\x2c\x02\x81\x59\xde\x2f\xa4\x0f\xd3\x96\xa5\xd6\x08\x04\xe3\x3f\x9f\x1e\x78\x47\xd6\xef\x3c\x43\xde\xa4\x58\x5e\xd7\x21\x5a\x23\x81\x64\x03\x00\x66\x35\xfa\xae\x98\x15\x85\x2c\xba\x1d\xd3\x65\x84\xd5\xac\x31\xaf\x28\x59\x95\x0f\x3a\x3d\x07\xe0\x76\xf2\xef\x53\x12\xa2\xe8\x6e\x4a\x27\xf0\xff\xc7\x9a\x5e\xcc\x30\x58\x6f\x9e\x91\x1c\xe0\x23\x90\xf1\x17\xa0\xdb\x52\x15\x91\x99\x92\x16\x3b\x04\x39\x24\x91\x71\x16\x1a\x9a\x5a\xb7\x80\x3b\xc9\xe9\x0a\x34\x53\x35\xfc\x03\x47\x58\x91\x2e\xe8\x02\x7c\x1a\x5a\xd0\xe7\x25\x81\x97\x38\xa3\x1f\x78\x5a\x05\x46\xde\xfa\xab\x96\x84\x74\x17\x46\x4c\xa8\xb9\x4b\xfb\x9f\xde\xea\xfa\xef\x9e\x3e\x0a\x8c\xab\xbc\xae\x9f\xfa\x16\x1f\xf5\x69\x81\xf9\x7e\xed\xa4\x38\xed\x50\xdb\x41\x31\x3c\x3d\xf1\x71\x02\x37\x1c\xe5\x29\x9e\x16\x82\xc7\x1b\x76\x9d\xa8\x64\x9e\x92\x1d\x57\xc8\xb9\xd1\x3c\x56\x82\xc7\xa2\xb0\x76\x99\x9d\xd1\x61\xae\x79\x53\x63\x23\x94\x5c\x93\xf5\x41\x8b\x71\x6b\xd7\x4a\x5b\xce\x3a\xc4\x3c\xd1\x6a\xe0\x76\xe0\x8f\x4e\x9f\x1d\xee\xa3\xbd\x2d\x8e\x47\x23\x41\x0d\xfc\xab\xd3\x67\xfb\xc7\xae\x4a\x8a\x79\xe6\xbb\x34\x38\xbd\xc1\xed\x30\xf2\x70\xde\x45\x4f\x73\x30\x9b\x91\xb9\x5f\x91\xfa\xde\xb1\x46\x00\x50\xd5\x2c\xc5\xd8\xdd\x9d\xd6\xc9\xbb\xf9\xf2\xde\xd6\xb5\x00\x37\x95\x03\x41\xcf\xda\xe2\x44\x60\x57\x36\x43\xb1\xb6\xdb\x89\x93\x6b\x04\xb4\xad\x4d\xac\x7f\xa4\x14\x38\x47\x9d\x32\xc3\x1c\x75\x4c\x0e\xe6\x13\xc6\xe7\x90\xa2\x56\x3c\x75\x3a\xab\x0e\xc9\x0a\x27\x2c\x93\x59\xf0\x41\x4b\x0e\x3b\xc8\xc6\x42\x63\xd2\xd1\x7a\x35\x4a\x99\x9f\xb0\xd1\xf0\x7f\xf9\x65\x1a\xa0\x27\x6c\x3f\x28\x03\x60\x9e\xb0\x27\x61\x4d\x04\xdc\x09\x3b\x0e\x8b\xd7\x49\xb6\x63\x3e\x8d\x6b\x9f\xf8\xed\xce\x96\x56\x73\x79\xbb\xa3\x56\x3c\x96\x37\x27\x6c\xc8\x86\x6c\x9c\xdf\x3a\x6d\xdd\xdd\xec\x03\x7b\xcc\x3a\x61\x57\x45\x2c\x8a\x93\x9f\xdb\x05\x53\x32\x4d\xe2\xa7\x44\xe6\xf4\x11\x03\xe5\xae\x67\xb7\xf8\x12\xb2\x47\x5a\x85\x85\x7f\xdb\xf6\x99\x92\x2c\x0b\xbf\x1b\x2f\x4c\x38\x34\x94\xe5\x78\x60\x3d\x0b\xa8\xf8\x01\x18\xc2\xa8\xee\x56\x04\xf1\x91\x40\x6f\xfa\x53\x5f\xa3\xd9\xa1\xe4\xc7\x3b\xc4\x84\x63\x95\x1d\x91\xc5\x61\x35\xb3\x2f\x1a\x62\xc1\x39\x0f\xa1\xab\xe1\x6b\x19\xb0\x9d\x08\x39\xad\x4f\xdb\x28\xc6\x3a\x77\xb6\x6f\x30\x7a\xcd\xf6\x9a\x0f\xdb\x51\xc0\xb9\x69\x5a\xd4\xf2\x71\x41\x5c\xda\xb6\x29\x3a\x4e\x8d\x60\xed\xce\x23\xa8\xe0\x62\xe4\x17\x10\x22\x3d\xa2\xd7\x7a\xff\x88\xcb\x7a\xd0\xfe\x61\xdd\x81\x12\xe5\xa4\xa4\x2c\xa3\xdd\x4e\x21\x53\x70\xbb\xc6\x8f\xf5\xaa\xdb\xb7\x7a\xcd\x8b\x65\x92\xed\xc0\xd9\xdd\xd9\xab\x2f\x9a\xbe\x16\xb8\x99\x8d\xcf\xc8\x20\x9f\xb0\x5c\x82\xee\xf6\x69\x6d\xd8\x52\xdc\x96\x53\xc4\x13\x72\x75\xe4\xe3\x45\x27\xa8\xc2\xe3\x78\xa6\xe5\xd5\xe7\x24\x79\x77\x3b\xc0\x81\x76\xfa\x01\xff\x64\x58\xc8\x90\x77\xf5\x70\xd9\x07\x2e\xf6\xdc\x0b\xae\x1a\xba\xf3\x4f\xeb\x2a\xb5\x6d\xd0\xc6\x1a\x1d\x32\x76\x84\x0b\x5f\x66\x29\x8a\x67\x9e\xb6\xa3\x2e\xcc\x52\xd5\xad\xa4\x77\xdb\xb9\x02\xe2\x7a\xc2\x46\x2d\x54\x12\x5c\x86\x83\xce\x83\x6d\x57\x45\x64\x60\x55\x15\xe9\x1d\xf5\x04\x5f\xa7\x42\x29\x5d\xb9\xa8\x44\xed\xae\xf0\xc1\x87\xcd\x3d\xee\x4c\xdf\xb2\x41\x0d\xdb\xee\x41\x2f\x19\x57\x62\x83\xce\x0f\xff\x3a\x8f\x19\xc8\x90\x7c\x6b\x16\xf6\xad\xd8\xbc\xe0\xb9\xff\xb8\x61\x3e\x19\xed\x9d\x61\x3f\xa7\x32\xc3\x5c\x95\x32\xfb\x56\x6c\xbe\x44\x55\x0d\xa6\x3b\x45\x0f\x51\xfd\xe5\x87\xd7\xdf\x8a\x8d\x2a\x0b\x79\x25\x8c\xd4\xc5\x95\x92\x51\xc2\x4b\x4c\xd5\x1e\xea\xdc\x3d\xf5\x3a\x0a\x01\x02\x9e\x2d\x4e\xd8\xdb\xff\xef\xf5\xec\xfb\x17\xef\x18\xd7\xd0\x23\x4f\x6b\x58\xeb\x75\x39\xf8\xa9\xe1\x2d\xd0\xa6\xc8\xaf\x0d\xe1\x4d\xc3\xbc\x8f\x27\x8a\xd9\xfd\xf5\x58\x64\xbb\xfe\x16\xe5\xba\x0b\xea\xe7\x9e\x0a\xae\x4b\x7c\xfc\xc9\x0b\x41\xe1\xe5\x02\xe2\x1a\x68\xda\x5d\x63\xeb\xdb\x21\x3a\x85\xf5\xc2\x49\x37\x2c\xe2\x79\x89\x5e\xbc\x66\x6e\x06\xd0\x0b\xe9\x3a\x37\xdf\xe8\xcc\x3b\x3d\xb9\x37\x80\x6e\x65\xf6\x50\x61\xdc\x3c\x97\xc8\x1c\x80\x69\x95\xb7\x49\xc1\xe6\x80\x4c\x46\x31\xab\xfa\x4c\xf1\x6b\xbd\x63\xba\x3b\x25\x51\x29\x8c\xa8\xc7\xaa\x0c\x1e\x29\xc1\xe3\x98\x72\x36\x6b\x69\x32\x20\x85\x7d\x7c\xc0\xa1\x88\x64\xb1\x9d\xb8\x99\xcf\x7b\x9b\x61\x86\xb1\xb7\x1d\xb0\x67\x96\x55\xe9\x28\xe7\x85\x2e\xf9\xae\x2a\x7d\x22\xf5\xae\x6f\x1b\x5c\x89\x4d\x2c\x6f\x32\x57\xff\x5b\xb1\x39\x97\x37\xd9\xf6\xea\x79\x41\x04\xc4\xd6\x7f\xa5\x4b\xb6\x37\xa8\xf2\xa0\xf6\x9b\x7c\x4b\x55\x7d\x4f\x3c\xcb\x72\x7f\xf2\xaf\x4d\x51\xd0\xe4\x11\x63\x28\xe4\xc0\x39\x63\x24\xd0\x19\xff\xab\x2b\xb1\x61\x6b\x9e\x03\x53\xf4\xe5\xae\xb7\xcf\x2f\x78\x4e\x6a\xcc\xd6\x93\x6b\xe8\xb7\x69\xa1\x07\x4c\xb2\xa5\x6a\x6f\x73\x46\x5f\xbd\x56\x76\x36\x9a\x67\x3e\x61\xe7\x89\x82\xa0\x8d\x3c\xdb\xb0\x49\x5a\xfe\xb9\x60\x85\x48\xe1\xd4\xac\xab\x6c\x69\xbc\x86\xbf\x64\x51\x59\xa4\x3b\x3c\x2d\x4f\xd8\x04\x52\xd8\xb2\x69\x59\xa4\x8f\x27\x69\xc9\xd6\x82\x67\x0a\xdb\x52\x5d\xcd\x47\x07\x75\x41\x52\x69\xaf\x0b\x24\x33\xa8\x8c\x04\xb7\xb5\xb6\x85\x13\xd7\x65\x2f\x34\x19\x35\x4e\xd0\xe1\xda\x9e\x2d\xe0\xe6\xe8\xb3\xcb\x55\xb2\x28\x77\x9e\x65\x4a\x14\xf4\xec\xb9\x80\x48\x23\x2b\x78\x78\x35\x6a\x07\xe3\xc2\x04\x19\xa9\xc1\xa3\x67\x60\xfb\x01\x4e\x18\x32\xee\xeb\x3d\x23\x52\x07\x3d\xcd\x41\xaf\x6e\x6d\xf0\x56\x12\xac\xdb\xfc\x69\x2a\x3d\x3a\x0e\x8e\xfe\x5f\xa7\x14\xd9\xb6\x75\xae\x2b\xb9\x16\xbb\x02\x8c\x8c\xd3\xd4\x06\xb2\x0c\x9e\x95\x15\x84\x36\x98\xf3\x02\x23\xac\xe8\xee\x6d\x33\xec\x0d\xda\x9a\xe7\x1e\xf6\xc3\x6b\x3d\x69\x7d\xdf\xa8\x01\xb3\xab\xc1\xf7\x1b\x3b\x9c\x02\x5d\xed\x0f\xaf\xe1\x5e\x52\x68\x3b\xa4\xbb\x0a\xbb\xa7\xb1\x55\x6d\x89\xfa\xb3\xbe\x02\x30\xe8\x82\x97\xd5\xd7\x5b\xe1\x25\x88\xda\x8a\xf1\xb9\xbc\x16\x7d\x72\x65\x02\x59\x21\xe7\x4b\xc1\xaa\x7c\x17\x7e\xea\x13\x5e\xeb\x5d\x97\xdf\xd7\xbb\x85\x9f\xc6\xc8\x9d\x57\x69\xa5\x76\x5f\x24\x59\xa5\x76\xff\x53\x14\xd2\x80\x51\x41\x04\x95\xc6\xae\x42\x13\xc4\x91\x3b\x1b\x52\x4d\xf8\x4c\xf0\xfa\xaf\xf7\x7d\xec\xcd\x0d\x0b\xed\x62\x69\x83\x29\x86\x6b\xd1\x27\x48\x57\x83\x4e\x74\xd5\xff\x94\x72\xdd\x8a\x11\x70\xb4\xa6\x18\x44\x45\x81\x5b\x1b\xac\x8f\xc6\x9d\x6a\x84\xd3\xc8\xa6\xbf\x38\xd7\x2e\x6a\x06\x8b\x79\x3c\x6d\xad\x8c\xdd\xb8\x6e\xbd\xc6\xc1\x2c\xa7\xe0\x2d\xda\x0a\x6c\x18\xe3\x07\x3c\x23\xcd\xa9\xfd\xf0\x80\xa9\xfd\xd0\x5a\x19\xbb\x71\xdd\x6e\x9b\xda\x0f\xe6\x1c\xb5\xcc\x6d\x06\x21\x59\x76\x63\x43\xd1\xf2\x3c\x35\xe1\x54\xf4\x85\xc0\x63\xec\xcf\xd0\xe2\x44\x91\x25\x02\x19\x4f\xf3\x0d\xcb\xaa\xb5\x28\x92\x08\x0e\x3a\x5c\x9f\x70\xbe\xed\x83\xb3\xc7\x3d\x04\xc4\xc8\x0d\xf4\x2d\x8c\xf3\xa0\xe9\x01\xab\xe4\x4d\xd1\x1a\xdf\xc6\xe2\xde\x79\x52\xdd\x4f\x9e\x26\x3e\x06\xdc\x73\x9c\x80\x30\x6a\xde\x00\x22\x3a\x51\x8c\x16\xa0\x2c\x67\x97\xac\xdb\xf9\xcb\xed\xf0\xb8\xd3\x67\xfc\x8a\xb3\xff\xfa\xa6\x37\x60\x98\xb0\xff\x26\x51\x02\xfb\x09\x9b\xeb\xeb\xce\xef\xa2\xf3\x97\xdb\xa3\x45\xa7\x36\x43\x5b\x1d\x5e\x8f\xce\x6c\xe3\xd6\x79\x62\x3c\xb3\x48\xc6\x18\x4e\x09\x54\xa0\x9a\xa4\xc4\xbc\xe4\xf7\xd1\x65\x6b\xa6\x3c\x33\x1d\x9c\xb2\x4e\x55\x2e\x76\x8e\x6b\xf7\xc8\xa5\x28\x5d\xde\x73\xf0\x28\x2c\x39\xae\x05\x70\x98\xb3\x54\x70\x68\x2f\x54\xc4\x73\xc1\x64\xa1\x0f\x7f\x6d\x34\xdd\x08\x56\x34\xc3\x4a\x6d\x47\xde\x1f\x48\xd7\xdf\xf9\x01\x03\x07\x18\x93\x71\xd9\xb6\x0c\xfd\xf1\x85\x28\xf9\x0f\xed\x54\xc4\x10\x30\xa3\x68\xe6\x29\xb2\x1d\x60\x5d\xae\xd9\xb2\xe0\x40\xd0\x12\x06\xf8\x8f\xf4\xf3\x19\x9b\x5d\x4e\x21\xf8\x51\x72\x4b\x47\x19\xc3\x5a\x0f\x4c\xbd\x49\x1c\xb3\xd1\xf8\xd8\x00\xbb\xca\xe0\xd6\x10\xb1\x17\x90\x95\x2b\xcd\xc8\xdf\x52\x24\x2e\xe8\x83\x2e\xdc\x9d\x2b\xb1\x19\x0c\xd8\x8f\x3c\x29\xad\xea\xc8\xf0\x6e\xc4\xd0\xc2\x3d\x27\x04\xbb\x31\x06\xc0\xe6\xae\x56\x7c\xa3\x4c\x77\xe1\xbf\x2e\x9c\x99\x1b\x70\x7c\xbc\x91\xc5\x15\xbb\x11\x69\xaa\xa5\x93\x3c\xe5\x25\xc4\x18\xa6\x20\x2c\x5e\x77\xad\x1d\xb1\x5c\x14\x58\x9f\x5b\xef\x4a\xee\x92\x24\x40\x80\x33\x0e\x1e\x97\x7f\xad\xb4\xc0\xa2\x06\xbd\xfa\xc9\x25\x67\x4c\x8c\x38\xb5\xe6\x25\x98\xc6\x03\xab\xac\x1b\x26\x8a\xc5\x89\x2a\x93\x2c\xa2\xe3\x0b\xf8\xd5\xe5\x69\xf9\x0c\x36\x96\x25\x0a\xfb\x42\x72\xd8\x6b\x30\x41\x80\x56\x3f\x6a\xd0\x9c\xb2\x0e\x6e\xe0\x3d\x18\x6c\x90\x80\x47\x5a\x96\x53\xf0\x04\x83\x38\xdd\xf7\x9d\x87\xf3\x42\xc6\x15\x84\xef\x86\xed\x26\x1e\x30\x88\xe4\x6d\xd7\x59\x54\xf0\x7e\x83\x11\xb1\xfa\x86\xc5\x80\xc0\x66\x58\xa2\x45\x15\x5d\xc0\xab\x52\x62\xf8\x13\x67\xed\x6b\xf6\xa4\xc9\xe0\x11\x08\xee\x21\x52\x05\x98\x59\x4a\x0a\xab\xc2\xce\x67\xcf\x61\x79\x24\x43\xd9\x20\x73\x00\x5d\x9e\x96\x3b\x8e\x24\xc9\x8c\xce\x09\x06\xf6\xf8\xee\x92\x5d\x93\x71\x11\x87\xce\x6d\x5f\x80\x8e\xfe\x8a\x9d\x76\xee\x84\x4d\xc8\x62\x2f\x59\x63\xf8\xb9\x22\xd1\xfb\xdd\xd7\x4b\xb3\x1d\xf7\x6b\x23\x27\x4a\xb3\xfe\xb9\x20\x3e\xab\x94\x7a\xa8\x01\xbb\xd4\xb5\x2b\xa5\x31\x64\xcd\x37\x9a\xbd\x5c\xf1\x3c\xdf\x38\xf1\x15\x0d\x3d\xc0\xd4\xd6\x56\x59\x14\x95\x2a\x0b\x94\xb6\x99\x09\xab\x97\x94\x1d\xc5\x92\x75\x2e\x15\x3c\x6b\x00\x7c\x24\xd2\x15\x3b\x8b\x01\x00\x91\xfc\x89\x69\xf3\x14\x4a\xc9\xfa\xbc\x13\x73\x73\x03\xdf\x01\x22\x49\x74\x05\xa7\x5c\x1f\xa6\x10\x42\x78\x5e\x9b\x20\x3e\xb1\x30\x0e\x8a\xfb\xba\x57\xe2\x53\x45\x80\x94\x4b\x09\x4c\x60\x1f\x19\xd4\xa5\x28\x19\x37\x63\x20\xe3\xed\xaf\x91\x1c\x72\xcc\x26\xe3\x71\xca\x64\x89\xfb\x25\xe2\x01\xa8\x17\x56\x65\x99\xab\x93\xdd\xdd\xa8\x98\x57\xcb\x41\x24\xd7\xbb\xa3\xa3\xfd\xfd\xd1\x90\x35\x11\xce\x5e\x38\x88\x79\xf7\xdc\x3f\x6f\x88\x2e\x5f\x09\x91\xb3\xb2\xe0\xd1\x95\x31\x0d\x35\x22\x9e\x5e\x34\xdc\x15\x25\x84\x62\xb2\x1e\x45\x99\x88\x84\x52\x90\x73\x45\x16\xee\xb2\xbc\x6b\x06\x2e\xfc\x1c\x32\xd1\x40\x16\x0d\xc5\xb4\xc2\x10\xf6\xe5\xea\x82\xb9\x27\xda\x99\x72\x36\x4f\xca\x35\xcf\x11\x99\x90\xfc\xcd\x93\x92\x99\xf7\x15\xc5\x20\xe6\x80\xca\x65\x16\x7b\xe6\x5b\x5f\xb2\xcf\x53\x89\x3c\xc3\xe7\x9a\x26\xe4\xa2\x28\x37\x66\x9d\xf6\x9c\x35\x41\x69\xc4\x6d\x11\xdb\x20\xce\x2d\xfc\xba\x3d\x78\x6b\x11\x27\x1c\xd9\x19\x23\x59\xe1\x01\xa1\xa9\x24\x05\xbb\x00\x50\x8a\xbf\x56\xc9\x35\x4f\xed\x98\x6c\x36\x58\x0e\xd8\xe7\x1a\x50\x9f\xb7\x34\xbd\x18\x0d\x7c\x66\x1f\xc7\x23\xe3\x57\x30\x46\x32\x52\x5d\xe3\xc6\x8e\x13\xae\xe5\x8e\x49\x21\x2e\xf4\xcf\x76\x14\xf8\x46\xa6\x64\xe4\x92\x17\xe2\x1a\x42\x20\x58\x7a\xbf\x60\x01\x79\x06\x92\x7f\x3e\x9b\x5e\xce\x5e\x33\x48\x62\x8e\x9e\x65\xf1\x00\x5c\xbe\xb0\xbb\xf3\xd9\xf4\xfb\xcb\xf0\x73\x3f\xec\xc5\xb2\x82\x31\xb0\x56\xd6\x2f\x00\xd5\x3a\xb0\xd3\x24\xdb\x57\xa0\xad\x91\x55\x83\x65\xa0\x89\x4e\xbc\x6e\x5b\xad\x2e\x2f\x29\xf2\x3b\x00\x0a\x82\x48\x20\xc3\x39\x05\x19\x11\x02\x17\x5a\x85\x55\xca\x37\x38\x52\x43\xa7\xa6\x7f\x99\x44\x7e\xd8\x00\xc7\x9e\x68\x39\x5c\x4f\x47\x64\xe5\xb9\xb9\x5c\xf5\x65\x5f\xca\xfc\x55\x21\x73\xbe\xf4\x23\x21\xa2\xee\xce\xe3\x09\x48\xc6\xc2\xbe\x44\x20\x2c\x4c\x27\x2f\xa7\x33\x6b\x6b\x42\xca\xf2\xac\x5a\x77\x3b\xf8\xa5\xd3\xeb\xd7\x38\x49\x4d\xf3\xcc\x55\xef\x87\x52\x70\xe6\xdc\x51\x10\x95\x51\xb3\x2d\x20\x4e\x43\x4c\x26\xd4\xc8\x62\x5f\x26\x78\x92\x69\x41\x0a\xb7\x9a\xfa\xc0\xfa\x19\x80\xbe\xa1\x48\x32\x4c\x9c\x01\x97\xb0\xed\xca\xcf\x9e\xb2\x45\xdb\x10\xcc\x41\x66\xc2\x9c\xcc\xb5\x8c\x93\x45\x62\xb8\x1a\x9c\x8a\xea\xd7\xc2\x8b\xea\x4e\x69\xd5\x14\xaa\x43\xcf\xdc\x4e\x1c\x4c\x47\xbb\x74\x85\x6c\x7a\x96\x8e\x63\xdc\xfe\xa4\x0c\x78\xc7\x1d\x73\x99\x50\x27\x86\x23\xc2\xc8\xbe\x14\xa4\x62\x7a\xf9\xac\x4f\x61\x82\xe8\xab\x59\x18\x07\xaf\x35\x73\x85\x31\x86\x0e\x97\xe0\x9b\x19\xac\xc7\x45\x18\xd1\xac\x4b\x2c\x54\x54\x24\x73\x5c\xbd\x51\x20\x1b\x83\x6c\x0c\x9a\x69\xba\x33\x79\x49\xf4\xa7\xcf\x5f\x4d\x77\x2e\x41\xcf\x7e\x61\x4c\x1c\xf4\x11\xff\x9c\x29\x7c\x2d\x6e\x5f\x98\x51\xc7\x10\x03\xad\xaf\x29\xbb\xb9\xba\x6c\xcb\x96\xba\xe8\xa5\x76\x32\xa6\x55\x95\xe7\xa2\x00\xc3\x5e\x0a\x68\x6c\x26\xe8\x78\xe8\x2b\xb1\x89\x38\x84\x82\x23\x27\x03\xdb\xc9\xe1\x3e\xeb\x62\xda\x96\xce\xbf\x75\x7a\xd0\xe7\x93\x03\x5b\xf4\xbe\xd3\xa3\x3b\xf4\xae\x81\x6c\x67\x8d\x01\xd7\xa0\xe7\x38\xdc\xc7\x60\xb9\x59\x69\x2e\x92\x35\xbf\x12\x8a\x75\xfe\xeb\xdf\x3a\x56\x8a\x1b\x0e\x3b\x4e\x63\xc4\x18\xeb\xfc\xd7\x7b\xf7\x71\xb4\xe8\x0c\x18\xeb\xbe\x94\xc6\x6f\x56\xe3\xe8\x2a\x59\x22\x33\xca\x4b\x36\xbc\x1d\x2d\xf4\x20\xc3\xdb\xf1\xd0\xdd\x90\x6e\xdf\x60\x27\x0b\x55\x7a\x10\xc5\x25\x42\x80\xde\x80\xdd\x76\x5b\xe5\xc9\x39\x3f\x7b\x9b\x00\x6a\xc1\xf8\x18\x0a\xd8\x5c\xed\x7e\xa2\x31\x03\xb4\x2a\x67\xf3\x8d\x16\x82\x9a\x98\xb3\x46\x26\xde\xcd\x23\x92\xd9\x22\x59\x56\x05\xde\x4f\x8a\x84\x2c\xe4\xdc\xfb\x00\xb2\x79\x27\x38\xef\x76\x2e\x14\x02\xb5\x79\x52\x1d\xf1\x12\x9e\xc8\x7f\x3e\xbb\x98\xbc\x79\xfe\xba\x8d\x0a\xd2\xa7\x3a\x19\x9c\xa2\xc3\x6e\x18\x1d\x56\x32\x99\x97\xfa\x1e\x81\x40\xc9\xe6\x2e\x08\x6e\x7f\x27\x37\xa4\x78\xf9\x79\xf2\x3f\xc9\x6a\xb1\x00\x82\x53\xae\x2c\xdd\xd0\x53\x7c\x35\xb9\xbc\x6c\x9b\x9f\x2e\xaf\x4f\x8e\x34\xb8\x0e\x21\x30\xa6\x94\xe6\x56\xdc\x9e\x38\xbe\x64\xca\xf3\xbe\x93\x31\x04\x2a\x62\xbf\x15\x9b\x81\xd3\x1d\xe8\xf9\x1b\x40\x93\x38\x8c\x54\x94\x9e\x16\xf0\xb1\x44\x0c\xc2\x2b\xaa\xdb\x33\x8d\x88\x48\x1b\x8b\x2b\xbb\xf1\xcf\x4a\xba\xbc\x17\x55\x4a\xde\xed\x44\xbe\x62\x23\x78\x41\xd0\x57\xe4\xc1\x92\x92\x69\x36\x29\x2b\x13\xc8\xe8\xa2\xca\x22\xc9\x95\x3b\x9c\x96\xf0\x61\xae\x37\x9a\x8b\xd9\x02\x17\x79\x4b\xae\x59\x21\x38\x86\x95\xa4\x0b\xe2\xca\xac\x56\x83\xfa\xf2\xf5\xf7\xcf\x5e\xb5\xc1\x1a\x3e\x74\x7a\xfe\xcd\x0f\x3a\x11\xe1\x9c\xe2\x78\x14\xc9\x22\xf6\x7a\xee\x68\xb4\xdd\x31\xba\x17\x3f\x36\x72\x2b\x0b\xe0\xb9\xff\x61\xcf\x6d\x89\x3f\x9c\x59\x57\x53\x35\x63\x75\x33\x41\xf2\x94\xe0\xd1\x6d\x70\x5d\x52\xef\x6f\x5e\x5f\x1c\x43\xb7\x4f\xc3\x00\xff\xa1\xc9\x26\x3c\xba\x89\xc6\x93\x9b\x7f\xc1\x7a\xef\x87\xf4\x76\x17\xf8\x6e\x39\x81\xc9\x53\xb8\x31\xd3\xb3\xed\x51\xcb\x9e\x11\x3e\xa4\x52\xec\x65\xe3\x0b\x05\x01\x04\x8c\xb2\x1f\xc4\x16\x77\x17\x27\x45\x5d\xdf\x20\x0b\x36\xaf\xe6\x24\xcb\x51\x98\x36\x9c\x95\x7d\x1c\x7d\xc5\x95\x82\xfd\x42\x79\xdb\x05\x93\x4b\x53\xf7\x84\x17\xcc\xd7\xbe\x16\xb6\x45\x63\xa3\xa7\xc6\x8f\xb6\xa3\xe0\x15\x73\x25\x95\xb0\x50\x5b\x99\xf8\xb3\x11\xad\xbe\xcf\xb4\x60\x83\xfa\x14\x23\xfc\xfb\x7a\xcf\xbb\x9e\x61\x3d\x7c\xa1\x39\xb7\x3d\xd0\xd2\x44\x1c\xf2\x98\x99\x9d\x9e\xb6\xbf\x98\xfa\xb8\x63\xad\x9c\x4c\x23\x63\x40\xd8\xde\x08\xcd\x30\xc2\xb9\x40\xc8\xcc\xde\xd6\xec\x34\xe1\xdb\xa7\xcd\x09\x92\xb8\x54\x20\x60\x07\x45\xee\x32\xa7\xb5\xfa\x6f\x93\x77\x2e\xff\x45\xb0\x52\xfd\xcf\x60\x63\xc3\x1a\x85\xda\xbf\x1d\xbe\xeb\x9b\xae\xdf\x8e\xde\xb5\x87\x02\x6d\x5d\xee\xa0\xe5\x61\xf7\x9e\x5e\x8d\xdd\xca\xb6\x57\x6a\x9a\x6c\x98\x9e\x88\x30\x21\x3c\x7d\x06\x79\x82\x53\x06\xc8\xcb\xd3\x94\x34\x98\x36\xc8\xab\xd4\xc2\x28\x04\x28\xf3\x94\x3d\x26\x46\xc5\x3d\x58\x65\xcf\x42\x1b\x5e\x79\xb6\xde\x5b\x76\xbc\xe9\xd1\xe2\x3d\x00\xd3\x54\xcc\x1a\x7e\x84\xc7\x7e\xc8\x55\x17\x95\x98\xb3\x0b\xdc\x78\x48\x75\x80\x0e\x5b\x42\xcb\xa6\xf3\xaa\x64\x37\x82\xc5\xd2\x58\x51\xbc\xe0\x91\xe1\x65\x35\xeb\x06\x6e\x9e\x70\x63\x84\x5e\xa5\x3c\xcf\x49\x17\xad\x36\x59\xb9\x12\x25\xbd\x5e\x80\x9c\x01\x8a\x31\x94\x7a\xef\x81\x89\xff\x86\xdd\xe2\x2a\x07\xd6\xd4\xe4\xdd\x54\x3f\x47\xe4\x3e\xa7\xf2\x34\x29\xbb\x9d\x4e\x6f\xb0\x90\xc5\x8c\x47\xab\x6e\x48\xa0\x03\x53\x11\xf7\x4c\x6e\x2b\xf4\xb6\x80\xd6\x68\x12\x3c\xc8\xde\xb9\x0e\xfb\xd0\xdf\xb2\x0c\x93\x20\xca\xda\xaf\x6a\xe4\x39\x65\xe8\xdb\x39\xd0\xb7\xe8\x94\x12\xd3\x74\xc5\x00\x98\x51\x67\x6b\x2b\x6f\x44\xf1\x2d\x54\xd7\x17\x6b\x29\x9f\xeb\x82\x29\x37\x41\xd8\x34\x84\xba\x02\x9e\xa8\x74\xad\x0f\x1f\x98\x00\xbd\xff\xb7\x62\xd3\xd3\xe4\xa5\xeb\x3a\x38\x65\x9d\xa8\xa3\x6b\x04\x45\xd7\x9d\x9e\x67\x6e\xf9\x5d\x86\x11\x4a\x85\x53\x40\xb2\xae\xc6\x23\xfd\xa7\x66\x26\x7b\x74\x68\xe0\x91\x60\x91\xe8\x1b\x07\xf2\xf6\xca\x7c\xb3\xeb\x1e\xb0\x75\x57\xcf\x05\x24\x59\x08\x9e\xbd\x8d\x1c\x6b\x2e\x19\x73\xae\xe6\x62\xc5\xaf\x13\x59\x0c\x82\x4d\xf6\x42\x34\x0b\x52\xee\x58\x8a\x19\xea\xa0\x4f\x59\xc7\xd3\xec\x77\x74\x2d\x61\x93\xfd\x40\x1a\x44\x3f\x14\x26\x24\x77\x5c\xca\x92\xa1\x36\x4a\x40\xc4\x18\xd0\x0d\xea\xbf\xc5\x6d\x4e\x71\xb2\x6b\x27\x9f\x54\x37\x3c\x33\x1d\xf9\x2a\x78\x38\x48\x49\xc9\xe2\x24\xce\x3a\xa5\x3e\x4f\x49\x49\xa2\xd0\x8d\xa0\x30\xa6\x73\x81\x61\x26\xd8\x77\x97\x26\x31\xa9\xed\x2a\x33\x89\x1d\xd8\xb3\x17\x33\x0a\xd5\x6a\xe2\xe4\x80\x31\x16\xce\x10\xa0\x69\x54\x30\xf0\xb2\xb1\x93\x26\xa8\x9e\xd4\xdd\x84\x70\xdc\xdd\x35\xe5\xaf\xfd\xc8\x3e\xb0\x6a\x78\x17\x00\x35\xbc\x09\x18\xa9\x65\xad\x4d\x9e\x44\x40\x2d\x80\x3a\x78\xef\x16\x78\xd5\x9a\xee\x20\x8f\x89\xbf\x01\xa5\x24\x5b\x5b\xfb\x18\xa0\x19\x87\x0e\xa8\xf0\x3b\xce\xfe\x36\x5a\x6d\xc5\x7a\xd2\xf0\x78\xf9\x97\x3e\x73\xdc\xb3\xb1\xe9\x87\xf6\xd1\xaa\x79\x0a\x18\x23\x06\x2f\x5a\xf9\x39\x9e\x86\x3d\xf6\x58\xcb\x47\x70\xee\xbc\xb4\xc1\x1e\x6e\x7c\x75\xca\xf6\xc6\xd6\x54\x5f\xf7\xef\x3e\x06\x18\x18\xad\xbc\x4b\xb9\x9d\xba\x74\xdb\x96\x16\xad\x7a\x3d\xa2\x57\x75\x8e\xfe\x29\x94\xd6\xf4\x4e\x35\x27\x9f\x57\xd8\xc6\x9e\x98\x40\x2d\x96\xc9\x6c\x07\xec\x63\x8c\x44\x68\xbd\x1a\xe1\x12\x58\x41\x6a\xb6\xf5\x1c\x42\x7e\xa2\x26\x04\x35\x91\x2e\xfc\x2e\xeb\xf0\x3c\x1f\x98\x68\x8f\x55\x9a\x52\x44\x28\xe3\x6f\x33\x53\x51\xa7\x6f\x38\x46\x4a\xfe\x00\xe9\xd7\x65\xb9\xb2\x34\x01\x3e\xea\x3f\xaa\x9c\xa8\x65\xff\x11\x09\x62\xb3\xcb\x29\x89\xbf\x6b\x9e\x64\x5a\x3c\x81\x1b\x58\x4f\x26\xc9\x98\x1b\xd0\xcc\x4c\x5f\x2b\x26\xff\xc1\xdd\x14\x97\x80\x89\xed\x26\x79\xfe\x52\x66\xd3\xb2\x48\xe1\xad\x9f\x20\xbc\xf5\x46\x09\x23\xab\x7f\xf8\xc0\xc2\x12\x88\x1d\xdf\x5a\x4a\x90\xea\xd5\xc8\x14\xa1\xab\x47\x84\x1b\xc8\xdb\xb6\xfb\x7a\x9b\xef\xb8\x51\xac\x69\x5a\xcb\x32\xb6\xe9\xbb\xef\xe9\x12\xed\xcb\xb6\x80\xc5\x1e\x42\x4d\x30\x47\xc7\x1e\xba\xd7\x07\x6a\x29\xfc\x82\xfd\x77\x77\xc4\xfe\xf4\x27\xdd\x8d\xd1\xdc\xb3\x1d\x36\xea\x39\xd3\xfe\xa0\xff\xf1\x91\xd7\xff\x43\xf6\xb2\x2b\xb6\x5f\xd4\x5a\x6c\xfe\x19\xf7\x34\x18\xf0\xfd\x16\x40\xf8\xc0\x7e\x07\x18\x38\x16\xe2\x5c\x18\x0f\x25\xb2\xdf\x1b\x60\xa1\x7a\xfb\xff\xb3\xf7\xae\xed\x6d\xdc\x48\xa2\xf0\xf7\xfc\x0a\x58\x7b\x36\x24\x63\x92\x12\xe5\x3b\x1d\x65\x56\x96\xe4\x44\x1b\xdb\xd2\x8a\xb2\x3d\x33\x92\xe2\x05\x49\x50\xea\x51\xb3\xc1\x69\x34\x45\x31\xb1\xe7\xb7\xbf\x0f\xaa\x0a\xb7\xbe\xf0\x22\x2b\x99\x99\xf3\x1e\x3f\xbb\x19\x8a\x04\x0a\x40\xa1\x50\x28\xd4\xd5\x0e\x73\x61\xc9\x13\x7f\xca\x07\x25\xcd\x78\x9a\xd4\x6b\xef\x24\x83\xcc\xc0\x91\x55\x36\x53\x77\xf4\xe1\xcf\x73\xe7\xdc\xfd\x4c\x7e\xa0\xa6\x10\x16\x3d\x1c\xd1\xdf\xf4\x52\xd2\xfb\x7d\x8a\x8a\x72\x3d\xf3\x54\x28\x19\xdf\x88\x21\xea\xe7\xc3\x6a\x55\x25\xb1\x57\x5e\x44\x18\x84\xda\xda\xb0\x3b\xef\x4a\x37\xa5\x2b\x9d\x9e\x23\x97\xa2\x83\xbe\x4c\x30\xdd\x85\xd1\xd7\x59\x3d\x16\x37\x80\x5c\x6d\x9c\x61\xa4\x26\x90\x55\x3b\xca\x0a\x3d\x86\x62\x24\x52\x9b\x21\x3a\xd0\x8a\x35\x0d\x24\x5a\xa5\xb1\x19\x82\xa2\xaa\x6d\x42\xcf\xca\x10\xc0\xc7\xc2\x0b\x75\xa0\x91\x76\x68\x9f\x4d\xe8\x9a\xb9\x1c\x35\xb2\x1d\xae\xb5\xfc\x63\x66\x6e\x23\x5b\x2d\x04\xfc\x00\x6e\x38\xf3\x3a\xc4\xc3\x21\xb5\x34\xd9\x99\x68\x12\xfc\x0b\x13\x66\xa1\x81\x5b\xa8\x3b\x46\x9b\xa7\x05\x2a\x08\xb6\x7b\xe0\x4a\xb6\x14\xc6\x71\xbb\x63\x9b\x84\xb1\x76\xd8\xd2\xa7\x1b\xa7\xa0\x25\x7b\x2f\x28\x01\xd3\x68\x12\x8b\x16\xe5\x6c\xaa\xd7\x76\x76\x76\x6a\x0d\x26\x27\x22\xe5\x99\xc4\x1c\x0f\x42\x65\x98\xa1\x2a\xca\x8c\x31\x13\xd3\x92\x2b\xd4\x7a\x64\x1c\x52\xc8\x47\x09\x83\xb8\x24\x52\x03\x68\xa1\x6e\x1a\xa9\x2b\x7d\x0b\x5d\x3a\xd5\x2a\xb5\x47\x6d\x16\xfc\x84\xe0\x34\x7e\x59\x1c\x65\x22\xe5\x71\x90\x67\xc9\x08\x52\x99\x34\xd1\x01\x2e\x51\x55\x7f\x8e\xe5\xa6\x60\x13\xd1\xec\x63\x83\xf3\x4a\x8c\x53\x6d\x6c\x62\xa4\x7d\x83\xee\x45\x3d\xa8\x8d\xe9\x72\xbc\xdb\xeb\x2d\x6c\xaf\x1b\x98\xc6\xa0\x75\x5b\xd8\x1a\x5a\x04\x71\x76\x29\x24\x17\xb4\xb7\x9b\x01\xa5\x85\xdf\x9d\xbc\xcf\xc4\x9f\xc8\x09\xa3\xcb\x8c\xc0\x6e\x9a\x8f\xd1\xa5\xa2\xd0\xde\x49\xf6\xe1\xd3\xa5\xeb\xfe\xb0\x45\xd9\x13\x73\xc6\x5b\x63\x4d\xbd\x33\xc1\xd4\x34\xc5\x92\x45\x4e\xfd\x6a\x05\x23\xab\x64\x07\xab\xe1\xc6\x59\xbb\xdd\xbe\xd8\x70\x85\x6c\xac\x0a\x7e\x87\x3d\xa8\x6f\xfe\x72\x7e\x76\x3e\x7b\x78\x7e\xf1\x7f\x36\xa1\xb0\x57\x1d\x4f\x45\x1b\x41\x12\xff\x36\x79\x5b\x42\x47\xe0\x30\x75\x8b\xf1\x56\xa6\x0c\x29\x54\x5d\xc6\x8e\xf5\xed\xb7\x16\xa5\xdf\x7e\xab\x51\x18\xd4\x71\x31\x9d\xdd\xd4\xc9\x13\x19\x06\xc3\xb4\xea\x83\x58\xf0\x14\xf4\xe2\xbe\x71\x88\x0c\x21\xee\x59\x62\xf4\xb7\x68\xa2\x9d\xf1\x28\x43\xb5\xbf\xb0\xd6\x04\xb8\x84\x22\x8b\xd2\xa1\xbd\x42\x6d\x99\x17\xbb\xf7\x36\x69\x3f\x1c\x77\xd8\x77\xef\xab\x2f\xf0\x5f\xaa\x06\xeb\xa1\xc2\x3a\x58\x57\xe3\x22\xf7\x54\xb7\xda\xb9\xbc\x68\xb1\xdd\xf0\x8a\x64\x7d\xe5\xb4\x8c\x8f\xf8\xd7\xcf\xaa\xf3\xb5\xb3\xf2\x42\xaf\x0c\x6b\x34\x8f\x0d\x04\x67\xe0\x97\xb1\x58\x6a\x52\xf3\x6b\x07\x01\xf3\x76\x44\x55\xd6\x4d\xaf\x3c\xdf\x45\x9f\xb3\x45\x7d\xf4\xef\xb5\x62\x8d\xa2\xc5\x8c\xdf\x31\xf9\xc3\x91\x3e\xcb\x5c\x5d\xf7\x48\x22\xc6\xa4\xff\x22\x63\x75\xaa\x23\x67\x01\x34\xf4\x13\x1a\x69\x1e\x38\x2a\x38\x82\xa3\x49\xed\x1b\xa2\x6d\x8c\x9b\xe6\x83\x81\x9c\x26\x19\xbd\x46\x88\x8c\x8d\x85\x03\x48\xde\x7a\x8e\x92\x16\x4c\x3f\xbd\x21\x27\xd2\xfc\x1b\xba\xe9\x53\x08\x0e\x75\xa5\xed\x6c\x68\x0c\xbc\x8d\xc1\xba\xad\x81\x7b\xae\xda\xa7\xbc\x6f\x8c\x85\x9e\x4f\x29\xc2\xdb\xd8\xeb\x1d\xb2\xbf\x52\x35\x25\xf8\xa3\xc3\x5e\xb2\x6d\xf6\xd7\x0d\x73\x1b\xe0\x6a\x76\xf4\xdb\x20\xc0\x06\x28\x2b\xcc\x6b\x21\x90\xef\xf4\x99\x34\x45\x0f\xac\x44\x66\xa5\x31\x14\x35\xa0\x63\xd7\x83\xd0\xd4\xb3\xd1\x93\xf8\x5f\x3b\xe8\xff\x92\x8f\x54\x5f\xde\x90\x7e\x46\xb3\x9a\xae\xa1\x5a\x04\x04\xa1\x10\x3c\xce\xf0\x2f\xbd\xe7\x5d\xf8\x2f\x66\xfa\xa7\x59\x51\xd4\x87\xe1\xe4\x26\x08\x04\x42\x47\xf1\x73\x9d\x26\xee\x64\x5e\x6a\xe4\x89\x6b\x7b\x01\x13\xb3\xb6\xa6\x7e\x94\x29\xa6\x24\xea\x23\xa1\x7a\x44\x0a\xa9\x80\xc6\xd3\x84\x4a\x50\x18\x6d\x8b\x13\xd7\x52\x17\xe1\x6b\xf0\xeb\xce\x22\x1e\xbf\x71\xe0\xcd\x57\x29\x80\x85\xa5\xe8\x2c\x71\xd3\xec\xdb\xde\x09\xbd\xb3\x08\xa6\x1f\xd0\x75\x74\xa8\x0b\x78\x4c\x93\x39\xa4\x79\x2a\x07\x3d\xfd\x95\xf5\x5d\x6e\x1e\x24\x20\x78\xf8\xfe\x48\x7e\x9f\x81\x43\x4f\x00\x01\x5d\xe3\xaa\xdd\x61\xad\x56\xef\x30\xb1\xbf\x34\x43\xb7\x58\x3c\x10\x90\xdc\xcf\x24\x7d\xc6\xae\xf6\xb6\xf1\xb2\x73\xe9\xa3\xec\xca\x05\x3a\x53\xaa\x1d\x27\xac\x61\xb8\x67\x4d\xad\x03\x39\x76\xae\x63\x68\xc2\x12\xc2\xd4\xfc\x8d\xf9\xe0\x9a\x8d\xf9\x65\x34\x68\x87\x9b\x68\x64\x20\x87\x5a\x27\xe2\x82\x00\xf5\xf9\x73\x95\xd8\xfb\xc0\x30\x63\xdd\x46\xef\xc8\xe7\xcf\x40\x51\x8d\x46\xa8\x52\xb4\xae\x42\x91\x0a\x74\xed\x9e\x95\x97\x4a\xa0\x12\xc6\xa0\x46\x22\x56\xa1\x75\x2a\xc5\x69\x12\xd8\x6c\x0b\x35\x56\x0c\x8b\x03\xc5\xa2\xb8\x8d\x28\xf1\x5a\x10\x83\xd7\xf6\x66\x05\x0e\x99\x3c\xc9\xc1\x6d\xea\xef\xcb\x2d\xd0\xa8\xf3\x36\xb5\x22\x0d\xa4\x01\x4f\xd0\xff\x12\xdc\x8f\xa7\xfa\x37\xe0\x82\xe8\x13\x31\xa0\xcd\x8d\xc0\x56\x5e\xaa\x7b\x84\xc2\x4c\xb0\x55\x24\x36\xeb\xed\x72\x8e\x05\x28\x97\x6a\xc9\xab\xe9\x32\xba\x52\x7a\x49\x30\x4d\x1b\x60\x01\xbf\x20\xef\xb3\xe4\x1a\x97\x29\x41\x29\x1a\x8b\xd0\x5d\x3b\x74\xb8\x73\x2e\xb5\xe6\xd9\x6a\xda\xa1\xdb\xf6\x75\x22\x67\xf4\x74\xcd\xd2\x39\xbd\x5d\x23\x53\x3b\x49\xe4\xe4\x2a\x50\xeb\x1a\x60\xc6\x8c\x0a\xa4\x18\xee\x57\xa5\x5a\xdb\x23\x39\x40\x81\xbd\x85\xe3\x90\x91\x79\xbc\x2b\xf7\x30\x6c\x23\xd7\xba\x87\x97\xa1\xa7\x47\x58\xfe\x32\xf4\x4f\x48\x20\x2b\x9b\x3a\xfd\x3b\x3b\x6c\xbb\x30\x5e\xd8\x92\xaa\xb2\xd7\x91\x6f\xff\x89\x75\x58\x97\x6d\x35\x9a\xac\xe3\xb8\xe0\x1a\x3a\xd3\x22\x46\xf1\x69\x55\x6a\x7f\xa5\x56\x0f\xc2\x85\x84\xa8\xd3\x4f\x5d\x7c\xf5\xd5\xca\xb5\x26\x87\x54\xa2\x9b\x53\xae\x8f\x1a\x7b\xc8\xfe\xbb\x77\xf4\xae\x8d\xbd\xa2\xd1\x9c\xc6\x69\x54\xea\x4d\x7a\x9a\xb6\x43\xa2\x36\x95\x1a\x8b\x61\xc4\x4e\xc0\x51\x11\x38\xb1\x81\xaf\xc0\x74\x8c\x2f\x68\x04\x68\xc1\x5c\x71\x65\x85\x25\x28\x11\xb0\x40\x62\x6a\x13\x56\xca\xae\xc5\x1d\xe6\x24\x4d\x87\x85\x3c\x59\x7a\xc2\x64\x05\x10\x90\x3b\x03\xea\x5e\xa3\x33\x0a\xa0\xd4\x3b\x7f\x9d\xe7\x0e\x93\x21\xab\xad\x26\xdb\x6e\x40\xef\xf3\xdb\x4e\xff\x0c\xee\xc8\x3a\xf1\x6f\x8f\xa3\x03\xf1\xf9\xac\xfc\x34\x54\x0c\x19\x1f\x29\x67\xe8\xa1\x3a\x0c\x43\x53\xbd\x2a\x4b\xa3\xcb\x4b\xa8\xa1\xec\xfc\x31\x81\x1f\x80\xbf\xd7\x00\x75\x62\xce\xe6\x6c\x76\x08\x6e\xdc\x31\x9f\x53\x9d\x3c\x89\x2e\x8e\xbe\x96\x29\x93\x06\x54\xa9\x4b\x22\xb1\x4f\x2d\x81\x1a\xc7\x48\xab\x3d\x1a\xcb\xa1\x77\x6a\xf1\x80\xc1\x5d\x16\x22\xc0\x7b\xc0\x8c\xe5\x50\xcb\x40\x2f\xb7\x6b\x81\xd9\xde\x13\x43\x1e\x10\x9c\x85\xdd\x1f\x15\xbb\xdb\xd1\x0d\x9c\xdc\xe3\xc6\x75\x7e\x5c\xec\xec\xbd\x96\xbd\xf1\xf5\x1b\xa7\xd8\xfd\xc9\x82\xb1\x7d\x38\xc1\xb3\xdb\x74\x7e\x5a\xb9\x6e\xbf\x2b\x52\x4b\xa1\xf3\xb3\xe5\xab\xae\x5c\xf4\x73\xd3\x37\xcf\x65\x3d\x4e\xfa\x28\x50\x13\x40\xb8\x06\x29\xaf\xf4\x3b\xc3\x46\x01\xa1\xf0\xf5\xab\x48\xa5\x5f\x11\x6f\x9a\xc4\xfa\x4a\x37\xf7\x7f\x3b\xcf\x94\xf1\x7c\x74\x34\xf7\xd2\x73\x7a\xc8\xc2\x73\xb4\x6d\x18\x72\x59\xa5\xe9\x23\x0c\x09\xc1\xfa\x8c\x38\x3c\xcf\x58\x2c\xb8\x42\x97\x4b\x3b\x8d\xc2\xa8\x85\xc3\x1a\x2e\xba\xc5\x3a\x0d\x33\x21\xea\xea\xba\x9b\x5e\xc5\x2e\x1e\x2a\x0b\xe5\x74\x8b\xe2\x9d\xc3\xea\x1d\x6e\x28\xea\x59\xf2\x5a\x37\x87\xd0\x79\xb7\x56\xc0\xdd\x72\xa8\x35\x7d\xc8\x8c\x69\xbb\x86\xd6\x4c\xd7\x16\x87\x45\xfb\xe5\xd3\xc7\x48\x60\x43\xc1\xbe\xdf\x61\x2f\x9e\xf8\xf3\xf0\x96\x56\x6a\x9c\xd4\x9d\x5a\xec\xe9\x63\x0f\xf4\x97\x6f\xfc\xff\xf5\xc9\x72\xd1\x73\x04\x4d\xbd\xee\x21\xe2\x51\x6f\xc7\x4d\xc8\x5b\xa2\x79\x12\x95\x59\x6b\x57\x9c\x79\x23\x38\x39\x98\x8b\x38\x15\x6a\x02\x59\x38\xe2\x6c\x33\x1f\xff\x08\xd5\x54\x23\xeb\xab\x39\xe6\x13\x6b\xac\xe0\xca\xe9\x7a\x0d\x34\xbc\xc6\xfd\x00\x53\x28\xc8\x9a\xda\x6c\x84\x43\x7c\x55\xc1\x38\x16\x92\x7b\x05\x39\xfe\x3d\xb8\x12\x83\xeb\xb2\x29\xb5\x2d\x72\x17\x63\x97\x8c\xea\x0d\xf6\xf9\xb3\xdd\x27\x50\xdb\xd8\x2e\x39\xc0\x8d\x12\xda\x26\x27\xdf\x87\x9e\x1e\x3e\xef\x48\x55\x61\xd7\x26\x31\x66\x9d\x44\x36\x9f\xac\x6a\xa0\x22\xa3\xcd\x93\x7f\x93\x8c\x36\xa6\xbe\x0d\x44\xf7\x80\xe1\x3d\x95\xe3\x12\x05\xfa\x31\xc4\x58\x42\x01\x62\x9e\x38\xc1\x0a\x5d\xca\x82\xc7\xec\x6b\x50\x50\xcf\x70\x1d\x36\x8d\x86\x59\x49\xa8\x7c\x82\x18\x39\x63\x8c\x07\xe3\x66\x79\x76\x0e\xa6\x32\x17\x5d\xa4\x19\x72\x6c\x6e\x88\xfe\x34\x8a\xb3\x56\x94\x98\xc4\x1f\x13\xd8\x14\xcc\xf1\x5c\x03\xe7\xc9\x24\x1a\xc0\x9d\x85\x7e\x2a\x10\xd2\x47\x4e\xf3\x37\x68\x3a\xd1\xcf\xc4\xf2\xf4\x1e\xe8\xea\x5c\x6a\x73\x7d\xe5\xf2\x83\x94\x39\xb9\x99\x75\x7f\xa2\x62\xa3\x41\x71\x0c\x28\x99\x03\x9e\x2e\x86\x88\x16\x8d\x10\xa4\x39\x15\x3c\xf5\x46\x64\x2b\x0e\xb9\x3b\x1c\x52\x7e\x7f\xa3\xee\xb1\x45\xc0\xf4\xa6\xf2\x18\x0a\xed\xa3\xe4\xa7\x30\x39\xd1\x84\xa7\xe0\xe5\x0d\x49\x7f\x14\xc6\x1a\x4f\xa6\x68\x80\x86\x00\x40\x08\xcf\xc2\x32\x61\x7c\x38\xa4\xc9\xc2\xa6\x8e\xb5\xdc\x36\x14\x19\x8f\xe2\x8a\x0c\x43\x25\x84\xf5\x45\x6f\x20\x7d\x2e\xd6\xa0\xfd\x6c\x56\xfc\xb9\xca\xb4\xf3\x85\x68\x72\x45\x4c\xba\x29\x07\x96\x72\x37\x07\x73\x63\x3b\x0f\x37\xa7\x1b\x34\x99\xf6\xc1\x81\x2d\x52\x59\x5e\x5d\xf8\xe9\xcc\xc1\x29\x58\xaa\x75\x07\xc3\xbd\xca\x5c\x5c\xf5\xef\x65\x8e\xad\xae\xf7\x59\x74\xd1\xf6\x06\x18\xf3\x6c\x70\xe5\x10\xe9\xad\xa1\xe1\x5f\x95\x6e\xfa\x04\xc3\x5d\x89\x56\x5f\xef\xdf\x8b\xde\xcb\x23\xa7\xe1\x0c\x55\x86\xf6\xae\x2b\x28\xd0\xdd\x88\xbf\xb9\x39\x75\x59\x11\xc7\x5d\xfa\xdf\x2f\x9e\x50\xff\xc0\xc7\x53\x9e\xc2\xcb\xf0\xcb\x76\xd8\x19\x35\xb8\xa8\x76\xcd\x5d\x08\xa2\x3d\x99\xaa\x2b\xbb\x5a\x2b\x03\xc1\x8e\x28\x99\x66\x2e\xf1\x35\x6f\xb2\xbe\x8f\x5c\xb2\x00\x57\x52\x37\x74\xdf\x93\xe3\x09\x4f\x45\xdd\x93\x5e\x18\xe3\x6d\x1f\x1f\x7d\xef\x2f\x2b\xb3\x7c\x09\x9c\x82\x57\x3a\xd6\x23\x08\x4c\x75\x47\x92\x44\x02\xc3\xc4\xcd\xcb\x59\xdc\x46\x2a\x53\xf0\xd2\xa3\x88\x0d\x77\xf5\x1b\x58\x6f\xe1\x15\x36\x11\x83\x68\x84\x3e\xb0\x04\x44\x61\xf1\xe3\x49\x2a\x06\x62\x88\x0f\x41\xe0\xa7\xe0\xc1\x8e\xd1\xb0\x51\x3c\x1c\xf0\x74\xa8\xda\x8c\xfd\x18\xdd\x08\x38\xd7\xf6\x42\xd0\xd3\xda\x00\xe3\xc3\xee\x06\xbc\x37\xf1\x8f\xef\x5a\xbb\x1b\x4d\x2a\xf3\x62\x7f\x26\x03\x1e\x6a\x64\xcd\xb7\x1e\x34\x9c\x3e\x1c\x04\x2b\x05\x39\x70\x20\xfe\x60\x70\xc6\x10\x2a\xfa\xf9\x68\x72\x4f\x61\x12\x88\x9a\x3e\x3a\x6c\x65\x41\xf4\xef\xc4\xfd\x3d\xd6\xac\x31\x6d\x03\x87\xb4\xfc\xc7\xc0\xd4\xb7\x9f\xb8\xe5\xe3\x49\x2c\xba\xe8\xaa\xaf\x05\x37\x0d\x8e\xca\x1f\x53\x5e\x1b\xdf\x9b\xd8\xd5\x19\x43\x2b\xfc\xc6\x55\x34\xe7\x0f\x36\xda\xd8\xdf\xb1\xaa\x7a\x0d\xfb\xd6\x9a\x6c\xa3\x06\x6d\x6a\x1b\x9a\x36\xfc\x51\x06\x3c\x19\x88\x38\x17\x17\x29\x92\x2c\x4a\x45\x0c\xc5\xba\xa1\x60\xb5\x97\x4d\xa7\x51\x32\xcc\x6e\x9c\xb5\xf6\x6b\xcd\xa5\x76\xfd\xfc\xe0\xe2\x56\x0c\xa6\x54\x8e\x1f\x83\x5d\x92\xa1\x8b\x2b\xf1\xf4\x31\xa5\xeb\x3a\xad\x35\x73\x77\x29\x46\x3a\x04\x95\x22\x7e\x94\x19\xe3\xec\xf4\x41\xcd\x8c\xbd\xe0\xf0\xe5\x5c\x04\xbe\x33\x67\xe9\xbb\x92\x0b\xe6\x5f\xef\x62\xca\xdd\x4b\xe1\x85\x64\xfc\x7c\xc1\x09\x09\x5d\x80\x16\x08\x6d\x78\x8b\x43\x1e\x20\x85\xbb\x3f\xb3\x5a\x31\xd2\x0a\x6a\xf1\xa9\x44\x25\x88\xf2\xba\xbb\x2c\x83\x99\x54\xa9\xfd\x7e\x42\xed\x3a\xcb\xf4\x99\x43\xa7\x25\x77\xbe\x8c\xb9\x30\xcc\xc6\x86\x67\x8a\x14\x9d\x93\xb6\x96\x8b\xc1\x4b\xc1\x3a\x8a\x1b\x2d\x00\x66\x68\x4b\xe7\x34\x3f\xab\xb6\xda\x61\x13\x7b\x22\x7b\xf4\x25\xd5\xf1\x66\x03\x8e\x05\x69\x6e\xcb\x73\x56\x8b\xdb\xf2\x95\xc0\x35\x34\x69\x47\x6a\x8f\x4a\x43\xd5\x1b\xe5\x00\x26\x26\xf9\xf5\x01\xf8\x56\x8b\xa1\x29\x43\x6a\x66\x87\xca\x53\xf3\x57\xb5\xbe\xb4\x82\x21\xc1\xba\xd0\x51\xcb\xbe\xd5\x8c\x6e\x14\x4c\x03\x03\x1e\xc7\xbc\x1f\x8b\xdc\x9e\x7a\x4a\xf2\xdc\xb6\x1a\x0c\x07\x1b\xe9\xb0\xea\xbd\xaa\x26\x39\x3e\x57\xb7\xca\x92\x02\x56\x2b\xf1\x1a\xd6\x81\xf9\xf2\x4f\xc2\x6f\x81\x94\xcb\x73\x01\x1a\x31\xca\x42\xf3\xc8\x3d\x77\xf7\xda\x92\x31\xf6\x52\xd3\x02\x34\xe6\x2c\x99\x52\xcc\x98\x7e\x85\xcb\x91\x61\x17\x5d\xbb\xa7\xed\x76\xfb\x8b\x1f\x91\x03\x31\xa2\xfe\x59\x80\x60\x1c\xd8\x78\x50\x8b\xf2\x09\x99\xdf\x92\x4c\x32\x37\x4d\x65\x73\x4f\x6a\x48\x7a\x30\x88\xab\x55\xd8\xae\xc0\xa4\x1c\x57\xaa\xbc\xaf\x0c\xdb\xfd\xda\x6b\x8b\x99\xcb\xaa\xeb\x2e\xab\x66\x0e\xf6\x9d\x2f\x2b\x46\x57\x54\x77\xe9\x15\x85\x43\x7e\xc9\x31\x7d\x53\x39\x6c\xcc\x27\x6b\xf3\xe5\xe0\xc9\x37\xe6\x13\xa4\x59\x2b\xca\xe3\x26\x31\xfb\x43\x81\xf0\x90\x85\x8e\xf9\x44\x8b\xa0\x17\x8d\x42\x1d\xa3\x13\x77\x5f\x1a\xf1\xc6\x18\x4d\xe0\x3b\xa1\x32\x12\x75\x42\x1f\x50\xe3\x51\x81\x65\x4f\x61\xdd\xfa\x25\x3e\x8d\x63\x52\x0a\xa5\x02\x33\xb9\x60\xef\xfc\xcb\xcc\xa0\xc4\x80\xd9\x35\xd7\x06\xee\x33\x37\x1e\x1a\x2e\x5d\x89\x26\x3c\xd0\xc6\x9a\xa0\x44\x78\xf8\x99\x22\xb3\xd4\x2c\x12\xca\x05\x87\x53\x3a\x56\x67\x66\x84\x00\x78\x08\xc5\x30\x40\x13\x3e\x16\x54\xc4\x71\x3c\xb5\x2b\x45\xa9\x12\x9c\x78\xd1\x10\x51\x2d\x69\x3b\xd8\x2b\xee\xac\xf3\xed\xc8\xdd\xb8\xe0\xb1\x60\x9f\x7f\x95\x0f\x3d\xdd\xac\xe8\x8f\x0c\xcf\x17\x8f\x0d\x39\x0f\xe0\x75\x1e\x7d\xe1\xbb\x33\x78\xb8\x79\x0f\xb3\xb2\xd7\xa0\x9e\x95\x5d\x44\xae\x68\x04\x75\xb3\x9c\x31\x98\xe1\x1a\x3a\x30\x54\x32\xfe\x5f\x9d\xd3\x99\x98\x89\x9f\xd7\xf9\xd4\xf3\x57\x20\xa5\x13\xec\xe9\x15\x25\x62\x33\x49\x9e\x33\x88\x08\xe1\x56\xb1\x86\x42\x16\xe6\x79\x81\xfc\x46\xe0\xcb\xce\xea\xfc\x1a\x53\xdf\x39\x17\x75\xd5\xc0\x73\xa1\xbf\xd6\xc0\x3c\xe7\xf5\x4c\xc4\x31\xf2\x81\x5c\x92\x65\x2a\xde\x2e\x67\x5e\x28\x97\x4d\x51\xea\x5f\x34\xe4\xc8\x02\x09\xdc\x50\x5b\xa3\x30\xfe\x4a\x5f\x25\x26\xeb\x4e\x21\x7f\x83\x82\xa0\x4a\xf2\xa6\xd0\xb0\x9c\x6b\xa5\xef\x46\x13\x46\x74\x35\xf3\x2a\x69\x4a\xba\x31\x4b\x65\x72\x69\xcd\x89\xdf\x19\x2c\x36\xe9\xdd\x90\x62\x31\x4c\xeb\x13\xe3\xe2\xa0\x95\x17\xfe\xb3\x1f\x8d\x20\x3a\x3e\xa3\x34\x39\xaa\xc9\xd4\x74\x70\xa5\xd7\xb0\x7f\x23\x53\x7e\x1d\xac\x34\x48\x55\x0d\x63\xc1\x5a\x25\x46\x80\x12\x04\x96\xd9\x00\x31\x50\xd1\x19\xfc\x31\x8e\x5e\xb8\x32\x09\xc3\xbc\x29\xc8\x0d\x7c\xaf\xa7\x69\x1f\x52\x34\x7c\x67\x1e\x3a\x53\x1e\xd3\x92\x3d\xfc\x6b\x1e\x4c\x09\xc6\x22\xa5\xa6\xe6\x12\xf5\x92\xa0\x28\x3d\x4a\x22\x93\xd6\xfb\x9e\x1d\x48\x69\x46\x0e\x0d\xed\x37\xdf\x98\x74\x5d\xa0\xb0\x0f\x4b\x7e\xda\x84\x95\x18\xea\xc7\xd1\x99\x48\x8f\x0d\x2e\xe3\xe8\xda\x62\x22\xee\xc6\x7c\x8e\xf5\xe8\x6f\xc8\xc7\x05\x5c\x6d\xb4\x68\x44\xbb\xe2\xcf\xde\xb3\xc5\x79\xbc\xd8\xba\x06\xe9\x93\x00\xae\x2f\x30\x83\xaa\xd4\xe3\x1a\x16\x64\x1f\x6f\x62\x16\x1b\x7c\xbf\x1b\x51\x42\x90\x71\x38\xca\x62\x31\x64\x1b\xbb\x94\xbd\x08\xdc\xa9\x21\x9d\x4c\x55\x3a\x24\xcc\xef\xec\xf3\x6f\xf8\xc9\x53\x90\x5e\xbb\xb8\x64\xf3\xf1\xa5\xf7\x1b\x9c\xc6\x1d\xbf\xea\x26\xca\xc8\x45\xb9\x8f\x33\x2d\xdc\xe1\x01\xf3\x0e\xa7\x8f\x28\xef\xc8\x82\x28\x7f\xc5\xd5\x95\xf1\xa6\x37\xb1\x97\x23\x19\xc7\x72\x46\x77\xa2\xea\xb2\x1a\x9a\xcf\x6a\x4d\xeb\xab\x07\x97\xb8\x75\x50\x40\x51\x0f\x5c\x0d\xcc\x50\xac\x65\xdc\xc2\xbd\x07\x83\x29\x94\x3c\xf7\x52\x8a\xb4\x19\x48\x7a\xf6\x64\x93\x18\xa5\x07\xb6\x39\x98\x99\x3e\x9e\xee\xb0\x89\x5b\x8e\xc5\x0a\x67\xd2\xe3\x03\x25\x9b\xf6\x4d\x3e\xdb\x0d\xa5\xc3\xa1\x31\x49\xba\x6c\xb2\x1a\xdf\x85\xe2\x14\xaf\xf4\x7f\x3b\x0f\x6a\xb8\x9c\x9d\x87\x35\x6c\x48\x60\x02\xdf\xf6\x8a\xa9\x19\xbf\x78\xa4\x3f\xf5\xf7\x29\xd7\x82\x47\xca\x07\xc4\xc4\x90\xc8\xb4\x98\x78\x76\xf8\xae\x77\xa1\xc7\x3b\x7b\x73\xf0\xfa\xf4\x42\x0f\xf5\x6a\xae\x37\x02\xf2\x7d\xc8\xa4\x99\x1b\x8f\x4e\x2c\xe5\x78\x77\x29\x7e\x08\x5e\x7f\x9a\x99\x84\x60\xe8\x78\x4b\xf7\x88\x49\xd0\xee\xa7\xb3\x60\x2d\xf6\x0e\x43\x67\x48\x72\x33\x7e\x0f\xfa\xd8\xba\xb5\xd8\x1c\x33\xa6\x54\xaf\x98\x1b\x3f\x3b\x4a\xb8\x47\x63\x1b\x9f\x96\xbe\x73\xbb\x48\x9c\x28\xd5\x66\xa0\x95\x87\x42\xa0\x56\x30\xa4\xda\x96\xc2\x38\xf1\x28\x6f\x6e\x94\xc6\xf4\x9e\x26\xc7\x63\xe9\x1f\x63\xc3\xd0\xee\x3c\xbb\xdd\x38\xfb\x7d\x66\xe6\x47\x0f\xac\x3d\x2b\xca\x1d\xfa\x3b\x4c\x0b\x8c\x9d\x77\x9b\x97\xc9\x03\x47\x55\x05\xbc\x74\x65\xd5\x39\xe3\xb8\xb2\x55\x4f\xb4\x48\xa5\x07\xc2\x30\xd8\x5c\x40\x10\x38\x71\xf2\x84\xf1\x34\xe5\xf3\xd2\xc8\xb2\x62\x04\x11\xea\x79\xbd\x77\x21\x25\xbb\x0a\xca\x9f\x86\xa9\xd6\xb2\xbc\x53\x12\x8c\xc7\xa2\x0c\x24\x0d\xd4\x34\x27\x64\xaa\xab\x72\x59\xa2\x6b\x15\xdc\x8c\x50\x4c\xb4\xae\x44\x94\x89\xd0\x5c\x61\x03\x99\x0c\x5b\x99\x6c\xc5\x5c\x65\x36\xf3\x0a\xa1\x0c\x07\xf6\xb5\xe1\xb3\x34\xca\x32\x91\x04\xdc\x0e\x32\x4f\xe6\x93\xc2\x11\x33\xe5\xca\x68\xcb\xc5\x30\xc8\x9a\xe6\xb2\xa5\xd9\x4c\x69\xf0\x00\x0f\x93\xa5\xf9\x57\xe7\x82\xab\x2e\x7c\x99\xfe\x6c\x82\x25\xfd\xeb\x0f\x7c\xe8\xf5\x45\xe4\xa2\x3f\xcd\x13\x8e\x2e\x6d\x73\xeb\x35\x4a\xbc\xff\xf6\xa7\x98\xd5\x5a\x84\xb1\x92\x2e\x52\x32\x77\x73\x9e\x79\x76\x98\xa1\x18\x55\xeb\x4a\x72\xa2\x2e\xa6\x3c\xa4\xfb\x54\xcb\x5e\x81\xb0\x6a\x0d\x9d\x19\x64\x48\x33\xb7\x81\xdf\x9f\x2b\xfd\x4a\x8a\x30\x35\x79\x7a\x89\x35\xd6\xe0\x3d\xc5\xd8\x01\x1f\x5c\x01\x59\x9b\xef\xa3\x32\x18\xde\x7e\x71\x47\x7d\x66\x1e\x75\xa2\x4f\x37\x15\x29\xaf\xd1\x51\x02\x54\x12\xba\x8f\x3e\x73\xfd\xe8\x12\x6f\xf9\x99\xc0\x12\xc4\x90\x27\x01\xb2\xe7\x82\x0c\x6f\xf0\xe9\x34\x36\xa9\x20\x77\x0a\x4d\xb6\x2c\x96\x19\x3e\xa0\xb5\x10\x0a\xe2\xf1\x0d\xf8\x0a\xb6\x1b\x34\x11\xbd\x98\xc2\xcc\x3d\xaf\xf4\xa7\x36\x73\x51\x97\xb9\xfd\x37\x49\xbb\xf2\x51\x9c\xdf\xb9\xe0\x2a\x13\x56\xe2\xb2\x22\x81\xf3\xaf\xf3\xfa\x68\x10\x43\x22\xd2\x73\x04\x47\xbc\x09\x54\x4f\x82\x27\xf4\xca\xc1\x38\x45\x3f\x8d\xd2\x1a\x44\x1c\x68\x57\x6e\x78\xfa\x89\xa7\x97\x2a\xa7\x62\xf1\x1e\xce\x66\x67\x55\xd9\xeb\xd9\x28\x5e\x10\x72\xdd\xb6\x3d\x8b\x2e\xce\xb6\x2e\x9a\x81\x1d\x8e\xfe\xfd\x46\x08\xeb\xb2\xa0\x75\xa7\xbc\x35\x23\xb4\xe6\x5a\x6f\x57\xb5\x26\x94\xe7\x9a\x3f\xaa\x6a\x8e\x21\x2b\x7e\xd3\xc7\x55\x4d\x31\x9e\x25\x68\xfb\xe4\xa2\xac\xe9\x97\xa2\xc2\xa9\x07\xc5\x38\x03\x3f\x7c\x64\x70\x7e\x8a\x50\xac\xa9\xb2\xc2\x4e\x82\xd0\x5c\xe1\x15\x11\x4a\xd9\x15\x95\x28\x8d\x4f\xbd\x3d\x70\x94\xb3\xd5\xc4\x17\x6c\x8c\xf9\x20\x95\x1b\xf6\x77\x45\xd5\xcf\x19\x3b\xcc\x28\x93\x62\x44\xee\xc2\x7e\xa2\x66\x13\x7e\x0b\x41\x2a\x0d\x06\x40\xec\x79\x27\xf6\x00\xce\x2d\x73\xca\x03\x06\x2d\xda\x7e\x7c\x36\xb9\xef\xd6\xcd\x89\xd1\xc7\xcb\xaf\xd7\xb9\x82\x6f\x7a\x10\x2a\xec\xc5\x2c\x93\x4b\xfa\xc5\xd2\x90\xe2\xc3\x11\x0a\x9e\x85\x22\x0c\x8c\x37\xd1\xde\xdd\x77\xca\x03\x65\xde\xe2\x29\xe4\x37\x9e\x12\x5a\x4a\x3a\x53\x0c\x40\x94\x59\xb9\xc5\x88\x2d\xbe\x63\xa5\xc5\x04\xbf\x0e\x4c\xe0\x34\x5b\x97\x70\xc0\x43\x4c\x2e\xde\xbb\xee\x22\xb9\x30\x24\x36\x48\xed\x53\x12\x2b\xeb\xfb\x84\xf9\xff\x1e\x98\x50\x6f\x8a\x5e\xcc\x17\x8b\x68\xb0\x3f\x31\xce\xba\xac\x1f\xda\x20\xca\x37\x91\x2c\x13\x39\x44\x8f\xe5\x90\x2a\x0f\x94\x55\x94\xb8\x1b\xbe\xa9\xf3\xba\xf8\x1e\xfc\x0b\xe3\x1b\xab\x5e\xdc\x03\xbe\x35\xa2\x6d\x36\xf3\x16\xa4\xdf\x6a\x05\xa5\x2e\x42\x32\xf7\x11\xd4\x57\x77\x45\x50\x6e\x5d\x55\xb5\x32\xee\x65\x71\xde\x5e\x94\x2f\x43\x5d\xdd\x79\x19\x1e\xec\xdc\x5c\x73\xf1\x98\xa6\xa6\xc5\xd7\x2d\x84\x28\xa7\x7c\x19\x3c\xce\xbe\x62\x1d\x04\xfa\x1e\x30\xee\xc7\x33\x95\x4e\x74\x2c\x87\x77\x9e\xe8\xda\x27\xeb\x6b\x4f\xc8\x9e\x1c\x4f\xa6\x99\x96\x15\x8d\xe8\xe6\x74\xa4\x98\x10\x15\x0d\x41\x41\xb4\xa1\x5d\xea\x20\x8b\xeb\x83\xab\x06\xfb\xcd\x0c\x5b\x9e\xcd\x29\xe7\xb1\x0c\xce\xd3\x6e\x06\x1c\x6a\x14\x50\x55\x18\xa7\x0e\x1d\xf3\x09\xe4\x00\xe1\x98\xab\xd4\x1b\xb4\x3e\xf6\x46\x74\x6e\x8b\x84\x57\x3f\xe7\xe8\xd9\xf8\x82\xbe\xfe\xe2\x36\x91\xb8\x24\x12\x5d\x96\x92\x26\xdd\xa5\xb5\x0f\x37\x53\x0c\xeb\xa3\x64\xb5\xad\x04\x1b\x4d\x78\xf2\x0b\xc9\xe9\x7d\x07\xaf\xcd\x4d\xf6\x0a\x62\xfc\x34\x47\x68\xb2\xd7\x32\x9d\xf1\x74\x88\xa2\xfc\x89\x80\xa2\xa0\xc8\xff\x25\xe3\x37\x32\x1a\xb2\x84\xdf\x44\x97\x1c\xf4\x64\x7c\xc6\x51\x29\xeb\x43\xcb\xbc\x82\x06\x13\x7e\x29\xda\x79\x5f\xb2\x5c\xaa\x9e\xa7\x4f\x91\x96\x82\xef\x9e\x95\x7c\xf7\xbc\xc1\xfe\x14\x30\xf0\x65\x16\x52\xd6\x5d\xb1\xb9\x89\x32\x65\x9e\x17\x7d\x8e\x84\x47\x55\xe4\xab\x8f\xce\x41\x6f\xcf\xba\x69\x1b\xb7\x8e\xbd\xde\xa1\x8d\xd1\xb0\x5f\xf6\x7a\x8f\xcc\x97\x47\xae\x16\xf8\xbf\x75\xb6\x91\xf0\x29\xa2\xea\xc6\x75\x1e\xad\x9f\xa3\x48\xc4\x43\x50\x3a\x76\xd9\x19\x59\x1d\x9a\xa4\x8b\x34\x4f\xb7\xa6\x0d\x67\x87\x28\x76\x90\xf8\x2f\xbe\xf1\xe0\xb8\x50\x65\xc8\x5b\x69\x4c\x2e\x9a\x30\xb6\x5c\x5d\x1d\x38\x35\x8c\x7d\x84\xd8\xd3\xbf\x4d\x55\xe6\x3b\x92\x18\x68\x36\xad\xd1\x10\x35\x35\x68\xd7\xc3\xe7\x6e\x7f\x6e\x5f\x09\xf8\x3e\x90\xca\xab\xf5\xc0\xce\xb6\x9a\xa0\x77\x7d\xff\xee\xe7\x77\x47\x1f\xdf\x5d\xd4\x9a\x80\xd4\xe2\x7f\x2f\x9a\x76\xf2\xaf\x21\xf3\x74\x2a\x67\x04\x62\xfb\x59\x53\x83\x38\xe8\xed\xe9\xee\x07\xbd\xbd\x66\x99\x40\xc2\x6c\x32\xee\xa6\xfb\xe0\x7d\x4b\x4f\xa5\xb3\x4e\x67\xbb\xc9\x6a\x67\xaf\x3b\x1a\x18\x70\x7c\x4d\x5f\x0f\x59\xed\xb8\xd6\x04\xfa\x83\x8f\x0d\x0f\x08\x7e\xb9\xb1\xfd\xe8\x1f\x1b\xcd\x22\xb4\x47\x00\x6d\x3b\x0f\xed\x7f\x1c\xb4\xff\x29\x85\xf6\xb8\x14\xda\x63\x80\xf6\x28\x0f\xed\xc4\x41\x3b\x29\x85\xf6\xa4\x14\xda\x13\x80\xf6\x38\x0f\xad\xe7\xa0\xf5\x4a\xa1\x3d\x2d\x85\xf6\x14\xa0\x3d\x01\x68\xd4\xbd\xf3\xe4\x1f\xb5\xfc\x6e\x14\xa0\x3d\x2f\x85\xf6\x0c\xa0\x3d\x0d\xa0\x3d\x5b\x01\xda\x8b\x52\x68\xcf\x01\xda\xb3\x00\xda\xf3\xe5\xd0\x1e\x75\x4a\xa1\xbd\x00\x68\xcf\x03\x68\x2f\x56\x80\xb6\x5d\x06\x6d\x7b\x0b\xa0\xbd\xf0\xa1\x6d\x6f\xad\x00\xad\x94\xde\xb6\x3b\x48\xbd\x5b\x17\x6e\x13\xb7\x3b\x2b\x40\x2b\xa5\xb7\x6d\x3a\x0b\x1d\x1f\xda\xa3\xe5\xd0\x1e\x97\xaf\x14\xcf\x42\x67\xdb\x87\xf6\x78\x05\x68\xb9\x95\x1a\x46\xd0\xc3\xcc\xf3\x8e\x13\x74\x5e\xe8\xf9\xfe\xaf\x86\x68\x61\xa8\xab\xba\x96\x65\x6a\xff\xa5\x29\x19\x3e\xfd\x52\x6b\x34\x9a\xe1\x40\xee\x1f\xf1\x1a\x00\xf7\xf8\x85\x66\x2c\x9d\x07\x3e\xb8\x41\xbd\x86\xa9\xe8\xde\x4d\xc7\x50\xdf\x81\x31\xfc\x6e\x37\xce\xcc\x57\xf0\xf7\x5b\x91\x71\xfc\xc2\x80\x7b\xa2\x79\x5d\x6d\xfb\xbf\xee\x0b\x5c\x47\x83\x7b\xf4\x1f\xf7\x05\x6e\x5b\x83\x7b\xfc\x7f\xee\x0b\xdc\x23\x0d\xee\xc9\x7f\xde\x17\xb8\xc7\x1a\xdc\xd3\x5f\xee\x0b\xdc\x13\x0d\xee\xd9\xb7\xf7\x05\xee\xa9\x06\xf7\xfc\xbb\xfb\x02\x07\x17\xda\x8b\xfa\x3d\x81\x7b\xfc\x5c\x83\xdb\x6a\x14\xc0\x05\x65\x50\x35\x84\x1c\xc0\xd2\x46\xf6\x34\x3f\xd7\x5c\xb0\xf5\x69\x39\xd4\x25\xbf\x3b\x80\x9a\xe5\xef\x3c\xbc\x2f\x80\x28\x29\x88\x91\xbc\x65\xad\x4f\x20\x79\xef\x3c\xa4\x91\x9e\x3d\xba\xdf\xa9\x3f\xed\xfc\x5e\x33\x3f\xcc\x78\x1c\xf1\x84\x3d\xfc\xce\x4c\x5d\x0f\xf5\xb0\x48\x69\x77\x18\x0a\x21\x3e\x47\x01\xec\xd5\xcf\xbd\x63\xcd\x96\xfb\xaa\x8e\x45\x41\x9b\xac\x76\xde\xd7\x70\xe0\x9b\x3e\xfc\xad\xbf\x6f\x54\x8a\x4f\x4e\xb8\x8c\x52\x9f\x2b\xbf\xc0\x11\x4e\x77\x5f\xe9\x01\xd4\x55\xbd\x76\x9e\xb9\x0b\xe0\xaf\x1a\x22\x48\xbe\x4d\xcb\x80\x9b\xac\x28\x97\x3d\x07\x76\xf7\xf7\xff\xa9\x35\x2b\x38\x37\x43\xee\x0e\xd2\x54\x41\xd4\xb3\x50\xe0\x68\xcd\x3e\x2e\x83\xf2\x71\x21\x94\xa7\x70\x31\x88\x83\x65\x50\x0e\x16\xcf\x05\x38\x6e\x7a\xb2\x0c\xca\xc9\x62\x28\xc0\x19\xb3\xd3\x65\x50\x4e\x17\x43\x81\x15\xcd\xff\xb2\x0c\xca\x5f\x16\x43\x01\xb6\x3a\x7d\xbf\x0c\xca\xfb\x85\x50\x9e\xc1\xd5\x11\x1d\x2e\x83\x72\xb8\x18\x0a\xac\x48\x1e\x2d\x83\x72\xb4\x78\x45\x70\x67\x4f\x8e\x97\x41\x39\x5e\x08\x65\x1b\x25\xc6\xdf\x96\x41\x39\x5b\x0c\x05\x64\xbb\x8b\x2f\xcb\xa0\x5c\x2c\x81\xa2\xe5\xcd\xf3\xf3\xcf\x00\xa6\x1a\xca\xf9\x79\x70\xd4\x8b\xc7\xfc\xb5\x9c\xa6\xd9\x15\x9c\x73\x56\xff\x28\x20\xd5\x90\x97\x1d\xee\xbf\x31\x7c\x04\x72\xc6\x61\x66\xe9\x7d\x71\x73\x2a\x65\x4c\xe5\x59\xd9\xd9\x36\xe0\xf6\x6c\x6f\xf7\x18\x7c\x6e\xdc\xc9\xb7\x1f\x2a\xfe\x55\xb1\x88\xa7\x40\x7e\xe0\x36\xc4\x02\x14\xc1\x82\x76\xe9\xd6\x2c\xf9\x57\xb9\xfb\x40\x89\xaa\x57\x0e\xb0\xb7\x3e\xc0\xa7\x70\x15\x0f\xf7\xcb\x01\xee\xaf\x0f\xf0\x19\xe0\x70\xf4\xba\x1c\xe0\xeb\x3b\x00\x04\x36\x7b\xf9\x63\x39\xc0\x1f\xef\x00\x10\xb8\xdc\xd5\x4f\xe5\x00\x7f\xba\x03\x40\x60\x78\x7f\xfb\xef\x02\x40\x23\xe9\xff\xb7\x86\xa9\x69\x24\x07\xba\x12\x20\x90\xcd\xf5\xcf\x95\x00\x7f\xb6\xc2\x15\xa4\xea\xfb\x64\xde\x0f\x95\x00\x41\x1c\x8c\xdf\x54\x02\x7c\xb3\xe6\x0c\x3b\xcf\xf5\xdb\xfa\x65\xb7\x00\xd0\xbb\x37\xd7\xc2\xe1\x36\x3c\xec\xce\x6b\x1b\xb5\xe6\xfd\x00\xec\x3c\x42\x1d\xcc\xbb\xd3\x83\x13\x70\xa0\x3b\x4f\x11\x34\x85\x55\x54\x02\xb4\xbf\x97\x30\x98\x68\x64\xf8\x0b\xa5\xa5\xc4\xc4\x3f\x8a\x7c\xc6\x4c\x8d\x0d\xa6\xae\x64\x9a\x0d\xa6\x99\x6a\x33\x76\x94\x80\xe2\xca\xc0\x70\x35\x1b\x20\xf2\x09\xf8\xd3\xde\xe6\x07\x28\x0c\x4c\x15\x7c\xe1\x07\x2d\x35\xeb\x1f\x30\xad\x2c\xe9\xb8\xb0\x88\x83\x01\x45\x7d\xb1\xa5\x71\xa5\x00\x1e\x47\x0e\x4a\x36\x77\x1a\x99\xe8\x30\x80\x82\x33\x25\x62\x61\xfc\x28\x4c\x7d\x8b\xa1\xcf\x2a\x3f\x20\xd0\xef\x5a\x1f\x0c\x58\x4a\x21\x53\x06\xbd\x0e\xe9\xae\x0c\x24\x74\x9e\x50\x42\x8c\xc9\xdf\x29\x15\x03\x79\x99\x44\xbf\xa2\x77\x0a\xe2\x27\x93\xb2\x61\x5e\xc8\x40\x9a\x67\xbd\x9f\x0e\x5f\x9f\xe6\x95\x6d\xc5\x7f\x55\x8c\xf6\x05\x70\x9d\x5f\xff\x1a\x5e\x21\x40\xda\x7f\x2d\x1e\xe8\x4a\xee\x0a\xcc\xf0\xf6\xcf\x25\x50\xfe\xbc\x3a\x94\xa7\x20\xd1\x0d\xf6\x72\x50\xcc\x73\x69\xef\x53\x00\x2a\x6c\xa0\xd1\xbe\xe7\xc9\xf1\xcf\x01\x3b\x37\x1f\x2a\x60\x7d\x58\x06\xeb\x83\xff\x26\x00\x58\xe0\xbd\x5a\xc2\x01\x5e\xe5\x38\x80\xdf\xc0\x7e\x86\xdf\x2d\x53\x01\x6c\x25\xef\x2a\xe6\xf6\x6e\xd9\xdc\xde\x79\x73\x7b\x06\x38\x1b\xbf\x2d\xc1\xfc\xdb\xd5\x31\xdf\xd1\x1b\x58\x6b\x7e\x1f\x42\xe1\x71\x56\x27\x2e\x12\x70\xb8\x4a\x28\x9a\x98\x6a\xed\x1f\xbe\x16\x8a\x96\x8d\x36\xff\x54\x8e\xed\x4f\x56\xf7\xf3\x27\xe0\xdd\x0b\xa4\x9a\x5e\x74\x9b\x5d\x61\x5d\x67\xf0\xc2\xf3\x94\x4b\xa8\x66\xde\x3b\x3d\x79\x53\x25\xae\x04\x5f\x39\x34\x41\xbf\xdd\x37\x70\xe0\x56\xef\xf7\x02\x6e\xe2\xb3\x37\xbb\xc7\xeb\x8d\xf7\x08\x2e\x5c\x56\x2b\xa0\xcc\xa9\xc1\xaa\xb0\xf8\x02\xba\x9e\x9d\xac\x3b\xe4\x0b\xe4\xfe\x27\x6f\x0f\xde\xbd\x77\x5c\x65\x61\xbf\xd0\xa2\x01\xb6\x02\x63\x12\x78\x8c\xb3\x38\x3e\x39\xed\xed\x9d\x2c\xb4\x08\x20\x7e\x1f\x83\x1a\xbb\xb7\x77\xf2\xe6\x67\x6f\xd6\x95\xcd\xe1\x5d\x70\xf6\xea\xe4\x60\x77\x49\xf3\xc0\x58\x02\xd6\x3c\x39\x62\x2a\xba\x45\xd3\x1d\x16\x00\x27\x27\x50\x2c\xd0\x02\x93\x07\x61\xe2\xec\xf0\x5d\xef\xe0\x04\x36\x1c\x0e\xe0\xcf\x62\x8e\xa5\x33\xe9\x94\xe6\x37\xa0\xb0\x13\x8f\x90\x4f\xff\x74\xf4\xf6\x00\xa9\xc6\x80\xf9\x49\x8e\x85\x3d\xea\xcb\xc1\xe0\xc6\x1c\xff\xf8\xfe\x38\x04\x73\xcc\x2f\xc5\xfb\xc9\xaa\xb3\x79\x8c\xb3\xd9\x3f\x40\xb2\x70\x60\xf6\x45\xec\xf8\xce\xf2\xd9\x3c\x21\x21\x61\x3f\x07\xe6\x20\x19\xae\x03\xe6\x31\x2d\x6a\x9f\x2c\x46\xfe\xa2\xa0\x9a\x49\x19\x8d\x97\x1d\xf6\x5d\xbd\x73\xd6\xc6\xa5\xaf\x6d\x2f\x33\x2c\x38\x63\x9b\x04\x5a\xb0\xcf\x45\xbf\x1c\xac\x29\x6f\xc0\xb9\x5c\xad\xd0\x97\x2e\x71\xa8\x2e\x6b\xb2\xd3\x99\x00\x2b\x58\x07\x18\x25\xcc\xce\xd8\x55\xc0\xa4\x68\x6f\x96\xef\x0c\x18\x0f\x0c\x22\x42\x18\x2b\xa1\x02\x67\x02\xcf\xd3\x93\xc3\x1f\x7f\x02\x92\xe5\x83\x3a\x29\x67\xf4\xad\x4a\x46\xa1\xbd\xd5\x20\x3d\x73\xc1\x13\x4d\xe6\x41\xda\x77\x90\xf6\x57\xda\x9e\xb3\xce\x63\x30\x76\xbd\x7b\xff\xf6\xcd\xd1\xde\xcf\x2b\x59\x06\x3f\x46\xd9\x15\x4b\xa6\x63\x3a\xac\x23\x1b\xab\x32\xe1\x43\x76\x29\x12\x91\xf2\x8c\xc4\x47\x28\x4f\x01\xa1\x22\x18\xb2\xa5\xbc\xa3\xec\x8b\x69\x35\xff\xe4\xd7\x42\xc3\x28\xda\xf3\x21\x64\xd6\x41\x32\x0e\xf8\xa9\x50\x26\x07\xe5\xe6\x26\x43\x27\x33\xf4\x0a\xb7\x13\x4c\xbc\x39\x4d\x93\xe8\xef\x53\x6f\x46\xed\xb6\xd1\x9e\xe1\xd9\xfb\xf9\x18\x2c\x3a\x95\x68\x2b\xf2\xf2\x67\xd4\xaf\xb3\x66\xbf\xe7\xd4\x6f\x7b\xcd\x7e\x2f\xa8\xdf\xa3\xf5\xfa\x75\xb6\x80\x84\x7f\x3e\x7e\xbc\x6e\xbf\x0e\xf6\x7b\xb2\x6e\xbf\x6d\xec\xf7\x74\xdd\x7e\x8f\xb0\xdf\xb3\x75\xfb\x3d\xc6\x7e\xcf\xd7\xed\xf7\x04\xfb\xbd\x58\xb7\xdf\x33\xec\xf7\xf0\xe2\xfe\x54\xf3\x5b\x2f\x10\x66\xeb\x3e\x61\x3e\x45\x98\xdf\xad\xb9\xbe\x0e\xed\xfb\xe6\xba\xfd\x88\xce\xda\x2b\xf7\xb3\x2f\x3f\xd4\x5f\x1d\xb9\x10\x4b\x96\xc9\x89\x2f\x1a\x3e\x85\xb5\xbc\xda\x45\x3e\xc5\xc0\xb7\x88\x0c\xea\x0f\x8d\xe3\x80\xfe\xd0\xc8\x59\xd3\x1f\x56\x78\x0d\x3c\x45\xeb\xf7\x47\x73\x51\x06\xf0\xfe\xc7\xc0\xfb\x9f\x32\x78\xa5\x76\xdc\xa7\x70\xd5\x9c\x1c\xbc\x39\xda\x05\x90\x01\xbc\x13\x03\xef\xa4\x0c\x5e\xa9\xe7\xc0\x73\xb4\xe4\x92\x7c\x96\x9b\x5f\xcf\xc0\xeb\x95\xc1\x2b\xf5\x1d\x78\x0e\x67\xf2\x23\x45\xdf\x21\x3c\xcf\x85\x20\x78\x92\xe4\xe0\x95\x79\x0f\x6c\xa3\x2f\xc2\xab\x93\xc3\xd3\x16\x3a\x37\x78\xf0\x9e\x2d\x86\x57\xe6\x3f\xb0\x8d\xde\x08\x1a\xde\xc3\x02\xbc\xe7\x0b\xe1\x85\x1e\x04\x96\xa4\x3a\xcf\x1e\xb1\xb3\xb7\xef\x4f\x0f\x2e\x9a\xac\xf3\xec\x31\x3b\xfb\x70\xf4\xa6\x75\x01\xf7\x49\xe7\xd9\x13\xf8\xf3\xe1\x05\x84\x15\x82\x1b\x9b\x73\x67\xb7\xb4\x68\x20\x61\x0d\x3e\x36\xe6\x09\xbf\x14\x69\x13\x2b\x46\xd4\xa0\x12\xc0\x0d\x78\xf7\x80\x34\x32\x6e\x7b\xd5\xa5\xf4\xe0\x91\x62\x3c\x56\x32\x67\x6f\xaa\x29\xd6\xfa\x64\xfc\x80\x34\x71\x87\xd1\xac\x07\x58\xd5\xd2\x55\x02\x46\xfd\x82\x4c\xa9\x84\x3e\x5c\x5f\x26\xce\x6a\x35\xff\x7f\x5f\x36\xae\x28\x42\x17\x44\xe3\xa2\x13\x25\x76\x38\x86\xd1\x83\x82\x21\x41\x0e\x85\x65\x7e\x59\x2e\x97\x01\x7a\x94\x6d\xff\xa3\x56\xb6\x5c\x35\x48\x25\x95\xec\xc6\x8f\x50\x71\xb4\x3f\x1d\x8d\x44\xfa\xf5\x6b\x07\x81\xbe\xaa\x34\x63\xb8\xf4\x2b\x39\x16\x3f\x8b\xb9\xea\xe1\x84\x7e\xf1\xd7\xed\xc5\x15\x60\x11\xa9\x52\x37\x53\xd7\xdc\x73\xdb\xce\x8d\x52\xe2\xaa\x6d\x1c\x1b\x03\x6c\xfd\x14\xa6\x6a\xf6\x7f\x3b\xc2\xdf\x8a\x25\xa9\x5d\x4a\x55\xc4\xa4\x5e\x3c\xa6\x08\x5a\xba\x65\xc6\x59\xef\x8f\xde\x1f\xfd\x36\xf9\x1d\xb6\xa7\xdc\x0d\xf8\x3e\xf7\xe7\xf5\x82\xfd\x79\xbd\xe2\xfe\x1c\x24\xc3\x7f\xf1\xed\xa1\x87\xec\x6a\x3b\x34\xe1\x97\x95\x3b\x54\x40\xd2\xd9\x93\x7f\xd4\x5e\x2e\xc5\x10\x8e\xff\xf5\x48\x42\x24\x64\xe9\x54\xb0\xfd\x83\x37\x10\x48\xab\xa6\x7d\x48\x0d\x24\x32\xee\xe2\x1a\x4c\x9c\xe1\x51\xe2\xae\x82\x26\xe5\xab\xbd\x4e\x88\x2d\xf3\xd8\xd4\x89\x62\x98\x08\x91\xea\x9a\x5f\x8a\x8c\x71\x0d\x9f\x4a\xa4\x60\xa5\x84\xef\xd8\x20\xe6\xd1\x98\xa2\x51\x72\xfd\x13\x99\x99\x50\xe4\x66\x30\x86\x86\x82\x89\xa2\x6d\xc9\x73\xc8\x21\x94\x50\x3e\x07\x8e\xd9\x7a\xb1\x44\x60\x04\x29\xa8\xbd\x55\xb0\x57\x1c\xf2\xc5\x26\xa6\xdd\x24\x15\x23\x18\x60\xc0\x13\xbd\x72\x4a\x1a\x12\x2e\xde\xa6\x8f\x18\x70\xb5\x0e\x91\xec\x8b\x78\xb5\xcb\x85\xc7\x99\x8d\xe1\xc0\xa2\x7c\x2e\xa4\xe3\xdb\x6f\xe9\x94\x15\xba\xf8\x75\xd0\xbe\x75\x21\x09\x45\x92\x02\x07\x8a\x97\xf9\x6b\xe7\xd1\x3f\xe3\xda\xb1\xba\x92\xdf\xe3\xe4\x3c\x5d\xf5\xe4\x40\xda\xa1\x7f\x6d\x06\x63\xd4\x31\xab\xe1\xa9\xc0\x9c\x73\xe2\x89\x1f\x6a\x5a\x85\x98\x37\x51\x62\x59\xca\x1a\x88\x09\xb3\x33\x7d\x65\x20\xd7\xf2\x3b\xe7\x4f\xb4\xd7\xbb\x35\xd6\xa5\x5b\x65\xf7\x9f\x40\xc7\x4e\xd3\xf5\xc7\x6e\x90\xa3\xdc\x7f\xfd\x2d\x7a\xe5\xb6\xe8\x55\xb8\x45\x58\x7a\x8e\x92\x38\x8d\x79\x3a\xdf\x84\x84\x08\x09\xcf\x60\xb3\x84\x48\x94\x09\x3f\x2f\x6e\xde\xaa\xbb\x84\x46\xf3\x60\x7b\x4c\x39\xa5\x92\x74\x3b\x0e\xd9\xb3\x68\x22\xf6\x64\x92\x89\x24\x53\x5f\xcd\x24\xc0\x94\x0a\x36\xd7\x4e\xbb\xfd\x22\x6f\x54\x35\x64\xa8\x5f\x4a\x41\xbe\x09\xba\x6d\xdd\xdb\x09\x41\x38\x0b\xee\x0b\x2a\xce\x87\x29\x9c\xe2\x39\x95\x7c\x9b\x88\x41\xc4\x63\x2f\x01\xd2\x18\x5e\x71\x90\xea\x42\xe2\x30\x51\xc2\x6e\xf5\x42\xf4\xe0\x97\x89\x1c\x8b\x96\x5d\x39\x46\x88\xa6\x3c\xb9\x04\x13\x72\x2a\x00\x32\x8c\xb7\xdd\x6e\x3f\x87\xfb\x5c\x83\x9a\x99\x8a\x65\x0c\x16\x85\x85\x90\x48\x2c\x80\x6c\xaa\xa8\xd5\x9c\x5d\xc9\xd8\x80\xa3\x99\xad\xbc\x77\xe4\x71\xba\x60\xf7\xfe\xf9\xa1\x66\xc5\x7b\xdc\x62\x52\x6f\x3b\xad\xa1\x2f\x52\xba\x9e\xef\xfa\x58\x34\x25\x6f\xab\xcb\x97\x84\xe5\x6f\x3b\xb5\xae\xbd\x17\x3b\x24\x8d\xe3\x2f\xdb\xee\x17\x63\x95\xf3\x7f\x7e\x94\xfb\xf9\x2c\xfc\xf9\x71\xee\xe7\xf3\xf3\xf0\xf7\x27\xb9\xdf\x2f\xc2\x9f\x9f\xe6\x7e\xfe\x25\xfc\xf9\x59\xee\xe7\x4f\xe1\xcf\xcf\xbd\x45\x59\x79\xc6\xfc\xf8\xc2\xfb\xf1\x45\xad\x90\x3a\xc0\x3f\x8b\xbb\x71\xb6\xf6\x51\x5c\x85\x62\xc9\x7d\x79\x01\xc1\x2e\x21\x17\x04\xf0\xf5\xd4\xb2\xb4\x25\x29\x85\x2a\xb9\x15\x38\x85\xfc\x1e\x28\x32\x2e\xe2\x77\xc7\x11\x41\xf8\xe7\x22\x89\x04\x87\x5f\xf6\xa0\x74\x64\x92\x89\x74\x92\xba\xca\xf7\x94\x1e\x16\x5e\x28\x03\x39\x99\xb3\x81\x1c\x8f\x79\x52\x5e\x9e\xa3\x82\xf3\xed\x2d\x42\x11\x25\xa3\x10\x26\xc2\xb7\x02\x5d\x97\x22\xdb\xa7\xdc\x49\xf5\x86\xfe\xab\x67\xfa\x78\x75\xfa\x1e\x58\x40\x90\xdf\x38\x8e\xf9\x44\x89\x61\x90\x2c\x22\x80\xae\x25\x85\xbd\x3d\xbd\xaa\x1c\xfa\xfd\x72\x54\xe8\xb0\x64\x5c\x8a\x00\x07\x7e\x66\x57\xdf\x31\x09\x71\xa9\x31\x69\x4c\x98\x6d\x07\xe7\x98\x4a\x39\x1a\xaf\x2b\xd6\x9f\xb3\x58\x64\x99\xc9\x17\x97\xab\x2d\x89\xc3\xa2\x2b\xd6\x58\xaa\xcc\x01\xa2\x86\x54\xef\xd5\x64\xd7\xf9\x4e\x26\xf1\xfc\x3b\x36\xe3\x90\xe9\x09\xb3\x07\x67\xe2\x36\x33\x01\xc3\x83\x38\x9a\xa0\xd2\xdd\x0b\x8a\xa5\x90\xd8\xda\x30\x8d\x6e\x44\xab\x3f\xaf\xb1\x99\xe8\x9b\x39\x2f\x20\x5e\x28\x89\x62\x77\x60\x77\x94\x89\x54\xa3\xd1\x8f\xdd\x55\x22\x3b\x8d\xc6\x42\x4e\xb3\xba\xdb\x95\x01\xed\xc9\xa9\x3c\x48\x86\x90\xd0\xd5\xfd\xd8\x68\xb2\x27\xae\x1a\x55\x2e\xd4\x75\x95\xf8\x58\xaf\xaa\xd4\x83\x05\xfb\xbc\x68\x9b\xd1\x91\xec\xf7\xd8\xec\x31\x4f\x40\xb0\x31\x4e\x78\x50\x91\x67\x26\xd3\x6b\xc8\xc5\xa4\xa2\x6c\x4a\x19\x23\xa1\x4a\xaa\x03\x64\x12\x86\xb5\xc5\xad\x18\xec\xe1\xd9\xab\xd7\x34\xc8\x5a\x03\xb5\xcf\xb1\x9c\xb9\x02\x6c\xff\x12\x7b\x56\x35\x01\x39\x99\xdb\xf1\x4f\xe5\x9e\x21\xc8\x7a\x2e\x61\xf9\x4a\x2f\x00\x2f\xa3\xb9\xbb\x46\xb7\x1e\x95\x3f\x9d\x88\xc3\xbd\xd3\x1c\x4e\x4e\x20\x6d\x7f\x22\x66\x46\xe7\x4f\xac\x1f\x4c\xd9\xb1\x44\xd9\x7f\x2d\xc1\x6e\xd9\x0d\x50\xa4\x38\x1c\xb9\xad\xe7\x52\xb7\x3b\x6c\xc7\xbe\x02\x25\x4e\xad\x56\xcc\x3a\x54\x1b\x80\x54\xba\x93\xc8\xe6\x20\x96\x4a\xec\xcc\x85\x6a\xa6\x42\x45\xbf\xe2\x47\xf3\xb8\x48\x15\xfc\x59\x0b\xea\xdc\x11\x88\x71\x94\x44\xe3\xe8\x57\xde\x8f\xb1\xcf\x2c\x1a\x66\x57\x3b\x35\xf6\xd0\xcc\x2a\x4a\x12\x91\x7e\xd4\xdf\x96\x75\x6f\x5e\x89\xe8\xf2\x2a\x2b\x74\xf8\x09\xbe\xfe\xba\xa7\x9c\xde\x42\xb1\x70\x0b\x3f\xc0\x25\xa5\xd4\x54\x4b\xc9\x68\x36\xf1\x2e\xa4\x7c\xa2\xe0\xbe\xb8\xe2\x37\x11\xf4\xc0\xc4\xee\xba\x3d\x25\xc6\x35\xea\x32\xa5\x84\x0a\xbc\x48\xd1\x1d\x01\x6b\xb0\x7f\x87\x63\x56\x76\xf9\x40\x95\xde\x29\x0b\xe0\x28\x8e\xc0\xc8\xe4\x67\xad\xab\x69\xe6\xd3\xba\x69\xc1\xe0\x35\x50\xd0\x61\x56\x56\x9a\xf0\xaa\x54\xf6\x61\x19\x95\xd5\xfd\x64\x24\xa6\x82\x5b\xc0\x02\x3f\x80\xa5\xc7\x53\x8a\xd7\xc3\x1e\x25\x5c\x93\xba\xf8\x65\xbf\x85\xa9\xa0\x4e\x61\xea\x7a\x61\x90\x83\x6c\x9a\x2a\x11\xdf\xa0\x17\x08\x64\xef\x89\x63\x7b\x57\x6d\x1e\xf5\xb0\x2c\x19\xe1\xcd\xab\x63\x47\xfd\xdb\x4c\x3f\x0f\x79\x3f\x9e\x83\x57\xf1\x98\x0f\x8e\x7a\x4d\x6a\xbd\xe9\xef\x8f\x97\x98\xde\xd6\x5c\xfe\x49\xce\xc4\x8d\x48\xe9\x46\x84\x0a\xca\x2c\x9d\x26\x98\x8f\x7f\x26\xfa\xe0\x46\x92\x46\x48\x7c\x60\xdc\x8b\x46\x2c\xca\xd8\x88\x47\xb1\x02\x7d\x29\x94\x3a\x33\xe0\x46\x9c\x5e\xe8\xc4\x1a\xfc\x6b\x3a\xe1\x59\x74\x23\x1c\x69\xd5\xaf\xe4\x44\x8c\xa6\x71\x3c\x6f\x30\xa5\x1f\xad\x53\xd5\xae\x10\x37\x7c\xd9\x0f\xea\x2e\xdc\x85\xed\x89\x58\x89\x75\xef\xc6\xdc\x19\xeb\x3c\x2d\x3d\x63\xc5\x92\xe0\xf7\xcf\x2f\xd1\x85\xf6\xff\x2e\x7e\x29\xa7\xd9\x7a\xfc\x12\x3a\xdc\x07\xbf\xfc\x1a\x79\x9f\x1c\xf0\xa5\x6f\x87\x36\x22\x28\xa4\xa4\xae\x7e\x08\x60\x1e\xc3\xf0\x2d\x40\x95\x9d\xfc\x82\x07\x9e\xa8\xa4\x59\x70\x09\x0f\x85\x39\x90\xcc\x45\xe5\xe7\xc1\xe8\x0e\xfa\x9d\x94\x27\x6a\x1c\x65\x8c\x27\xa6\xc8\x64\x3d\x1a\xb1\x7c\xf9\x4d\x10\xa5\x1a\x94\xd5\x19\xed\xfb\xb5\x41\x4d\x0f\x58\xdb\xab\x95\x4d\x2c\x10\xe1\x66\x40\xf1\xb8\x62\x0f\x01\x26\xa3\x3a\x99\x48\xc0\x9e\x02\x2a\x3e\x89\x0a\x23\xcc\x99\x6d\xde\x2c\x4a\xba\x95\x5d\x27\x72\xa6\x40\xa1\x24\xc0\xbf\xe5\x4a\x8c\xa9\xae\x56\xac\x9b\x49\xd0\xe0\xe0\x8b\x13\xd1\x78\xc5\x21\x97\xaa\xcc\x6d\x4b\x7f\x8e\x69\x42\xae\x22\xc7\x79\xa0\xa4\xcf\x25\x8f\xd6\x3a\x6c\x4b\xdf\x5e\xe6\x38\xad\xf8\xf4\x7a\x59\x38\xa3\xec\xf3\x67\x27\xa5\x86\x0f\xb3\xb2\x57\x18\x66\x89\x02\x0c\x42\x01\x5c\x32\x90\xf5\x85\x5e\xe6\x95\x88\x87\x40\x2d\x3e\x1d\xd9\x19\xe6\x64\x6f\xeb\x5f\x48\x48\x73\x19\xe1\x28\x39\xbf\x1c\x0a\x4c\x2a\xcb\x87\xa8\x7b\x3d\xe8\xed\xb1\x72\x1a\xca\xd2\xa9\x73\x40\x9d\x09\x42\x3e\xa5\x67\x1f\x8a\x41\x34\xd4\x2c\x3f\x9b\x09\x91\x00\x7d\x81\x4f\x23\x10\x98\x3b\xbd\xa5\xfa\xac\x20\x41\x18\x94\xfa\x0d\x6a\xd1\x9b\x72\xc7\xe0\xee\x1a\xd3\x69\xcb\xbd\x04\xf5\x19\x28\x79\x7e\x7f\x85\xac\xef\xc9\xf9\x7e\xc2\xc8\xca\x6d\x0c\x9e\x00\xf5\x06\xfb\x62\xc5\xfe\x2f\xab\x30\x23\xbc\x86\x8a\x9c\x08\xf2\xfe\x48\x97\x32\x08\xb6\xf1\x43\x93\x0d\xc5\x84\xea\x8f\xcb\xa4\x28\x30\xb1\x5d\x74\x08\x86\xde\x1e\x07\xf9\x80\xf5\xce\x35\x2f\x5b\x89\x8f\xa1\x74\x57\x90\x21\x57\x3d\x58\x4b\xe5\xb1\xaf\xd6\xe6\xe4\x4d\x87\xa8\x2f\xfa\x60\x13\x4d\x2d\x86\x64\x13\x4c\xad\x77\x49\xfc\x84\x34\x37\x92\x49\xc6\x7e\x95\x72\xec\xd5\x37\xf4\xb2\x1d\xd5\x94\x2b\x01\xab\x5b\xb1\x2b\xa0\xd0\x7e\x94\x61\x86\x74\x23\xa2\x67\x6c\x20\xd2\x8c\x9b\x56\xb1\xb8\x11\x58\x9d\x94\xed\x66\xe8\x00\x3c\xe6\x54\x44\x81\x44\x33\x4c\xcb\xcd\xd5\x34\x15\x43\x86\x57\x27\xd6\xba\x4f\xe5\x0c\xd2\xdc\x8a\xdb\x8c\x0d\xa1\x0a\x85\x22\x4d\x06\xf2\x63\x6a\x0b\xd6\x85\x19\x57\x4c\xdc\x4e\xe2\x68\x10\x65\xf1\x5c\x93\xbb\x59\xc3\x47\x5b\x6c\x51\x04\x47\x0d\xa6\x67\x72\x89\x69\xa6\x7c\x89\xbf\xa3\xa1\xf6\x58\xa6\x59\x4d\x21\x52\xb4\xec\x00\xd2\xeb\x77\x94\x73\x4c\x37\x83\xe5\xae\x4a\x3d\xa1\x2b\xe7\x12\x2a\x7a\x50\xa2\xb2\x0a\x00\xfc\x55\xcf\x3c\x30\x24\x87\x9c\x16\x9e\x1f\xc7\x6f\xff\x6a\x6c\x0a\x0a\xd7\x6a\xcd\x51\x3e\x13\xb6\x1e\x0a\xd2\x86\xeb\x41\x77\x68\x54\x09\x04\xca\x9b\x78\x50\x7c\x5f\x07\x03\x86\xee\x76\x36\xe3\x98\xf0\xd5\x7a\xf3\x5b\x4b\x07\x66\xc8\x56\x99\xe0\x50\x64\x8c\x8f\x46\x9a\xfd\x24\x97\x30\x92\x93\xa8\x03\x26\x0b\xd9\x5e\x5b\x9f\xf2\x79\x5e\xb5\xb8\x30\xaa\xbd\x84\x81\x7f\xf9\x64\x9d\x05\x8f\x92\x78\xce\x7e\xf9\xa4\xa7\x78\xc3\xe3\x68\x88\xc4\x26\x49\x28\x0a\xca\xdd\x27\xd2\xa4\x56\x6e\xdf\x49\x3e\x5b\xc0\x9a\x2f\x45\xa6\xb7\xec\x35\x1f\x64\x32\xad\x37\xd8\x03\xaf\x96\xb9\x5f\x5f\x10\x5e\x50\x19\xeb\x74\x3b\x88\xeb\x11\x74\x68\xda\x4b\x42\x3f\x89\xd8\xc3\xcd\xd6\xe6\x16\xd2\xad\x41\x24\x3c\x3b\x03\x45\x21\xf4\xc7\x47\x8f\xa6\x62\xc1\x55\x84\xbc\xd1\xf8\xd8\x4f\x89\x57\x5e\x0a\xcc\x04\xaa\x3f\x77\xb6\xb6\xfe\x73\xc5\xb5\x07\xaf\x0c\x28\xc6\x0e\x45\x41\x16\x57\xa7\x87\x5a\xf3\xb4\x83\x5b\xb5\x5c\xc9\xd9\x12\x8b\xb1\xc8\x5e\xcb\x24\xeb\x45\xbf\x0a\x2a\x59\x1f\xd4\x99\x05\x25\xb2\x3e\x98\x8b\x84\x18\x0b\xa0\xe1\x55\xbc\x35\x73\x68\xd5\xb4\x1c\x53\xa4\x2e\xf4\xd6\x76\xf3\x83\x51\x5a\x3b\xac\x53\x5a\xed\x16\x7e\x7d\xe8\x7e\xfd\x66\xa1\x15\xdc\x9b\x92\xee\xd8\x58\x5d\xbc\xf7\x0c\xb4\x6b\x94\x8d\x9a\x50\xb5\xaa\xff\x5b\x8a\xa7\x63\xcd\x35\x3d\x01\x5b\x0d\xa0\x1f\x65\x68\x6a\x37\x49\xf8\x20\x87\x35\xc8\x70\xa3\x28\x11\xe4\x20\x91\x2b\xdc\x7b\xea\xd7\x13\x80\x52\x68\xe0\x32\x2c\x92\xe9\x58\x60\xe5\x72\x9a\x97\xca\x78\x16\x0d\x58\x59\xdd\x33\x0d\xc7\x96\x53\x33\xa9\xb1\x21\x79\xbc\x85\x4c\x4a\x22\x10\x35\xd9\x88\xc7\x4a\x80\xa8\xbb\xf1\xdd\x86\x96\x5c\xd3\x29\x5c\x7c\x89\x32\x17\x9a\x5f\xe1\x00\xab\xb2\xf5\xa1\xf0\xaf\x12\x49\x46\xfd\xb1\x83\x16\x10\xe1\xf7\x44\x66\xf8\xd8\xd8\xf8\x6e\xc3\xc1\x82\x52\x7e\x42\x25\x35\x28\xeb\x96\x55\x3b\x1c\x98\xba\xa5\xde\x85\xa4\x26\x62\xe0\x39\x17\x98\xda\xc2\x7b\x72\x0a\x0f\x86\x2d\xbf\x92\x0f\x26\xc3\x04\xcb\xb8\xf9\x13\xce\xd9\x2a\x45\xe3\x46\x32\xd5\xb8\x72\xd2\xe8\x58\x0e\x7d\x1f\x92\xb3\xb1\x1c\x5e\x10\x70\xfc\xfc\xf9\x33\xa2\xe0\x65\xa0\x6b\xa1\x76\x3b\xac\xf6\x9d\xbd\x14\x8a\x33\x7f\xf8\x10\x4e\x1a\xea\xb2\xf5\xcf\x8d\xd0\x3f\xfb\x83\xbe\x1d\x72\x14\xb1\x04\x69\x6e\x2d\x6c\x87\x9d\x7d\xc3\x58\x0d\xae\xc4\x5a\x13\xf5\x7f\xfa\x7f\x79\x0c\x7f\xea\xc7\x47\xed\x9b\x0b\x9f\x8e\x07\x58\xa2\x1a\x92\xa4\x03\xff\xd5\x8c\x79\x17\xca\x21\x38\xb9\x01\x4a\x61\x37\x02\x59\x2c\xa8\xf2\xaf\x6f\x56\x45\xd1\xeb\x5a\x7a\xc2\x5b\x96\xa7\x50\xc7\x0f\x0b\x29\x9b\xea\x20\x83\x4c\xa8\xcc\x94\x39\x9b\x98\xc2\xd2\xa3\x28\x55\x59\x13\x5f\xb3\x3c\x63\xb1\x94\x4a\xc4\x73\x5b\x72\xca\xb6\x83\x0b\x92\x33\xfd\xdc\x86\xd2\x46\x32\x8d\xb2\xb9\xee\x03\x15\x48\xa0\x7e\x91\x6d\xbc\x46\x21\x7a\xbe\x62\xbb\xfe\x92\x8d\xf0\x6a\x7e\xfb\x94\xec\xf2\x0d\x6b\x5a\xe1\x39\x52\xfe\x9e\xf5\xc3\x6f\x02\x91\xbd\xd5\xb1\x16\xc6\x7c\xc7\x1f\x16\x76\xec\xf8\xe2\xfc\x56\x40\x63\xc7\x69\x74\xc3\x33\x61\xb2\xfa\x1a\x36\x65\x0a\x2f\x52\x6d\xaf\x89\x29\x1d\xae\x9f\xfd\x2a\x23\x61\xc5\xfb\x45\x51\xc1\x49\xa8\x50\x21\x67\x09\x7a\xa4\x16\xf0\x6e\xca\x4c\x6a\xb2\xa1\xfa\x92\x99\x57\x91\xd2\xb6\xa3\x32\x92\x5f\x90\x1d\xa1\x3b\x2c\xd9\xc2\x28\x77\xba\x5f\x5e\xfc\xbd\x12\xa3\x69\x8c\x89\x1a\xe6\x72\x0a\x24\x88\x85\x76\x32\x69\x6a\xf2\x00\x3f\x42\xa2\xc0\xb5\x99\xa5\xf0\xa4\xb0\x98\x65\x67\xcc\x1d\x06\x00\x15\x88\xce\xb2\xff\xb7\x26\x8e\xf3\x56\xff\x56\x34\xbf\x03\x7b\x7a\xb0\xa3\x97\x6f\xfe\x0c\xf6\x8a\xb8\x09\x89\x30\xe9\x8d\xcd\xd8\x7d\x0f\x2c\x4c\x43\x1c\xcb\xe1\x07\x1e\x4f\x35\x51\xea\x9f\xf4\x95\x22\xfb\x7f\x6b\xb0\x3f\xe9\xff\x41\xbe\xd5\xcd\xb3\xb4\x07\xe9\x8d\x66\x74\xf5\x07\x6e\x61\x46\xb3\x1f\x70\x3a\xdd\x28\xf8\xd2\x0c\x16\x0a\xc6\xa6\xca\x81\x5e\x9b\x1d\x29\xc7\x06\x1d\xbd\xa6\x37\x2f\xcb\x0a\xa4\x12\x61\x14\x2b\xa0\x12\x5d\x45\x58\x7d\xd1\x55\x4a\x0d\x49\xf9\xff\x9f\x05\x50\xab\x89\x98\x8a\x86\x56\x16\x41\xf5\x75\x01\x48\xf5\xe6\x77\x92\x01\x1a\xab\xed\x52\xf5\x75\x1f\x29\x57\x74\xce\xa8\xf5\x39\x49\x21\xa0\x5d\x15\xab\x73\xf1\xb5\xd7\x5e\x22\x73\xb8\xb2\xaa\x8b\x30\x40\x4d\x9a\xb0\xd4\xc6\x2a\x92\xb0\x9c\xa0\xec\xfc\x6f\x5e\x38\x95\x36\xfa\xbf\xf4\xaf\x7a\x90\x9b\x48\xcc\xa8\x74\x4b\x14\x0b\x16\x8d\x27\x54\x02\xc8\x2b\x46\x76\x84\x4b\xc7\x72\xa5\x50\x86\x08\xcb\x51\xaa\x4c\xa6\x42\xd9\x8c\xe8\xfa\x2c\x60\xf2\xf4\x81\x4c\x86\x54\xe9\xc9\x3c\x12\x03\xaf\x4a\x4d\x17\xe6\xb8\x6b\x70\x70\x7d\xf9\xaf\x77\xa6\x44\xaa\xcf\xa0\x1c\x31\x20\x1a\x01\xd5\x4c\xad\x82\x4e\xf1\x9b\x28\xb9\xdc\x4c\x85\x9e\x01\x15\x30\xc2\x5c\x00\x54\x23\xc9\x8c\xae\x1f\xab\xf1\x9c\x8a\x37\x49\x7d\x5e\x6f\xa2\x21\x96\x23\xe3\x6a\x4e\x6e\x2e\x7a\x8a\x03\x39\x1e\xcb\x44\x77\x1d\x45\x97\xd3\x14\xd4\x49\x70\x37\xd2\xae\x9b\x78\x8f\x34\xba\x84\x84\x24\xb0\x51\xfd\x39\xdb\x93\xe9\x9c\xbd\xe5\x83\x01\x4f\x53\x22\xf5\x4d\xe7\xd7\x2b\x13\x95\xa5\x53\xfd\xf0\xb6\x78\x28\xc3\x28\x8d\x02\xee\xa5\x1c\xb5\x16\x56\x63\x4b\x0b\x32\x70\x4a\xcc\xd4\xf8\xda\xe0\x2a\x64\x34\xd9\xa4\xbb\xb9\x39\x9b\xcd\xda\x37\x59\x67\x6b\xab\x9d\x88\x6c\x73\x28\x07\x6a\xf3\x26\x7b\xd2\xd9\x6a\xa5\xe3\xcd\xfd\x83\xbd\xde\xe9\x09\xca\x5c\x03\x31\x31\xaa\x2f\xfd\x6e\xc1\xb2\x5c\xd3\x4c\xce\x52\x3e\x61\x75\xfd\x5f\x2c\xa6\xda\xf0\x13\x89\xa3\x9f\x2b\x96\xd2\x13\x62\xac\x48\xab\xd5\x17\x6c\xa6\xbf\x43\xaf\x5a\xfd\x74\x28\x3f\xff\x84\x82\x9d\x2f\x7a\xf5\x9f\x40\x39\x7d\x44\x68\xb0\x65\x09\x40\x9b\x26\x27\x73\x14\x32\x3c\x34\x78\x8c\xc2\xa0\xd2\xbf\xcc\x09\xa0\xf5\x8c\xd5\x27\x90\x67\x59\x1a\xf5\xa7\x19\x94\x59\x27\xe3\x0c\x94\xdf\xd5\xd8\x9b\x4c\xfb\x71\x34\x70\x04\x06\xd4\xc1\x07\x03\xa1\x14\x85\x7c\x22\x20\x4b\xc5\x36\xae\xc2\x21\x87\xed\xb8\x95\xfc\xc9\x7e\xf4\x1b\x74\x6d\x11\x0f\xaa\x54\x7a\x23\x52\x25\x3e\x2e\x83\x50\x6c\xe7\xdd\xf4\x00\x49\x02\x59\xbe\xc5\x17\x54\x19\x08\xaf\x41\xbe\xaf\xde\xe7\x3d\x9e\xa6\x11\xbf\x14\xc4\xfe\xcb\x61\x94\x34\xcc\xc3\xc2\x33\xf8\x21\xc2\xfa\x4d\xe5\x60\xc2\x36\xe5\x10\x5e\xc5\x51\x72\xbd\xb0\x3f\xb6\xc8\xf7\x8e\x20\x20\x75\x01\x1e\xbc\x06\xf9\xbe\x84\xe5\x0f\xd1\x50\xc8\xc5\x1b\x81\x4d\xf2\xfd\xfb\x29\x1f\x5c\x8b\x4c\x0c\x31\x1e\xb6\x1c\x42\xae\x91\x85\xb1\xfc\xfa\x99\xf0\x54\x89\xf4\xdf\x5d\xf7\xb2\x6e\xd9\xee\xdc\x99\x67\xc7\x1a\x0b\xe5\xe5\x00\xe7\x49\xc6\x6f\xf1\x26\xd1\xbc\x16\xcd\xa9\xd6\x96\x37\x55\x99\x1c\x47\xbf\x72\xcb\xcd\x0d\xfb\x00\x88\x69\xb1\xf4\x19\x4c\x80\xe9\x29\x68\x81\x83\xfd\x86\x65\x31\xf1\x09\x44\xe8\xc2\xaf\x40\xcb\xf9\xdd\xa6\x21\x03\xfa\x6d\x87\xd5\x30\xf8\x2a\x0f\x27\x01\x7f\x5d\x84\x63\x4b\x89\x48\x65\x6a\x11\xfb\xa0\x26\x52\xa1\x92\xa4\x72\x3a\x7f\x22\x38\xd6\xcd\x9f\x22\x07\x97\x00\x1e\x5c\xb1\x1d\x57\x38\x3e\x40\x84\x27\x63\x89\x34\x95\x01\x62\xc6\x42\x29\x7e\x29\x02\xb1\x2a\x11\x33\x76\xa0\x1b\xd6\x6b\x00\x80\x61\x2f\x9e\x41\xe1\x49\xbb\x8c\x87\xac\x86\xa5\x28\x0d\x8c\x85\x23\x47\x4a\xbf\xc0\x63\x91\x89\xe2\xbe\xf8\xe2\x1c\x20\x68\xc7\xc7\xbb\x29\x28\xb8\x08\x7a\xa1\xd6\x1d\x76\x85\x5b\xf8\xd3\x44\x2a\x4f\x61\x65\x37\x13\x3f\xbc\x0c\x77\x86\xda\xeb\xd7\x93\xd3\x64\x01\x6e\x69\x32\xa1\xd2\xda\x7f\xbd\x03\xaa\x8a\xd1\x56\xa8\xcf\xf1\xbf\xd5\xc7\x91\x5e\x2b\xf8\x50\x91\xb6\x2e\xbb\x57\x27\xc9\xdd\xfc\x50\x16\xdc\x5f\x37\x95\x95\x86\xa7\x85\xe9\xf0\xb3\x98\xab\xc0\xe5\x81\xdb\x8c\x37\x6d\xc6\x7e\x16\x24\x74\x0c\x85\xf5\x4c\xe3\xe0\x0b\x25\x2e\xd1\xed\x5d\xff\x65\xc1\x5a\x2b\x5a\xe5\xb0\xa6\x80\x7e\x9b\xb1\xb7\xae\xb4\x13\x2a\x59\xb1\xb2\xbe\x2b\xc5\xfb\x37\xa9\x17\x02\x72\x04\xbe\x27\x86\x50\x83\xdb\x8b\x58\x41\x24\x25\x4c\x33\xd0\x34\x52\xd7\xa0\xad\xa4\x69\x1a\x35\x48\x94\x0c\xb1\x0c\xaa\x8d\xa5\x9d\x26\xae\x5e\x68\xa0\x74\xd5\xb7\xbf\x11\xbf\x0c\x74\xaf\x00\x76\x17\x1f\x75\xbb\x5d\x06\xcf\x67\x41\x9e\xb7\x3c\xc8\x51\xb5\xb1\xbb\x11\x4e\x91\x31\xf6\xf4\x49\x97\xf5\xf0\x2d\x84\x49\xca\xe8\xfb\xad\xdb\xc7\x9d\xf2\x5f\xc0\x49\x2d\x3f\x10\x7e\xe9\xb7\xa8\x02\x0c\x3f\x2e\x81\x8e\x96\xee\xd2\x31\xe8\x27\xbf\xf5\x77\x7e\x4b\x9c\x08\x54\xca\x9d\x09\x2d\x4e\x29\xaf\xea\x62\x40\xb1\x80\x73\x93\x24\x94\x0a\x27\x6b\x86\x10\x0b\xae\x3c\xdb\x93\x26\x80\x5d\x5b\xe5\x17\x98\x3d\x9d\x6d\xfb\xa8\xcf\x3d\xe6\x41\x25\xda\x04\x93\xa2\x57\x4e\xa7\x69\xc8\x08\x87\x72\x0f\xf8\x22\x97\xf7\x98\x00\x5c\xa7\x3f\x8b\x79\xcf\xcc\xba\xc0\x68\xac\x1a\x07\x75\x30\xb6\xa0\xae\xe6\x9b\xdf\x40\x95\x24\xbf\xba\xe9\xb5\x7b\xde\x2f\x39\x78\xb6\xd4\xd5\xcd\xd9\x4a\xed\xcf\xae\x2f\x2e\x02\x85\x8b\x1e\x77\x76\xa5\x1f\x6b\x75\xcb\x8c\xbe\x2f\x61\x82\x41\x10\xa5\xba\x8e\x26\xbd\x09\x1f\x38\xeb\x95\x9e\x75\x26\xaf\x85\x0d\x9a\x00\x94\x9c\xea\x6f\x8c\x47\x35\xe8\xbf\xf4\x17\x6d\xb8\x74\x76\x76\x58\x8d\xb8\x80\x67\xd1\x4a\x6f\x3c\xed\x3d\xb6\xbe\xe1\x31\x69\xbe\xac\x85\xab\x0c\x94\x5d\x70\x2d\xac\xd6\x36\x1d\x18\x4d\x97\x07\xae\x9d\xc9\xf7\x93\x89\x48\xf7\xb8\x12\xce\xe3\x5b\x83\x35\xcd\x57\xdd\x00\x17\x42\xee\xdc\x1b\x96\x74\x69\x5f\x71\x75\x34\x4b\x8e\x49\xdd\x63\x86\x6c\xf8\xce\xef\xa4\xa4\xb3\xa5\xa5\x96\x6d\x2b\xc1\xb8\x78\x69\x21\xe8\xc5\xa4\x37\xa8\x84\xfb\xf6\x5b\x66\x3e\x3e\x08\xcc\x11\xb8\xa3\x29\x78\xdc\x45\x0a\x2f\x69\xbf\xf0\xb3\x19\x03\xaf\x5b\x0f\x81\x0d\x37\x90\x81\xec\xa9\x28\x73\x5b\xb5\x0a\x4e\x2d\xf7\x0e\xf0\xb9\x0c\xad\xf6\x32\x58\x01\xa5\x01\x69\x2d\x85\xe8\x61\x34\x5c\x90\x03\x58\x44\xdc\xfb\xe4\x3a\x91\x33\xd0\x42\x56\x63\xec\xcb\x32\x52\x56\xf3\x71\x5f\xc6\xb5\xb0\x52\x9d\x07\xc9\x2a\x5a\xdd\x54\x5c\x5d\xe4\xe1\xda\xac\xc3\x11\xdc\x64\x65\x72\x8b\x86\x1e\xa5\x59\xf5\xf0\xd9\xe4\xa2\x11\x6c\x1e\x7c\xc5\x76\x98\x9e\xae\x6b\xff\x65\x1d\x84\x8a\xdb\x89\x18\x64\x62\xc8\x10\x2b\x8b\xd0\x5a\x02\xb3\x08\xf1\xc0\xc0\xf3\x24\x10\x9f\x77\x14\x6d\xe5\x45\x66\x67\x35\xf9\x83\x2b\x38\x4f\x2d\x7b\x9e\xfa\xa9\xe0\xd7\x5e\x2b\x8f\xe6\x1e\xa0\x90\xdc\x58\x30\xb3\x2c\xe5\xfe\x23\x84\x8f\xb4\x10\x9e\xf1\xf4\x52\x80\x81\xac\x66\xc6\xa7\x4a\x72\x37\x3c\x19\x88\xba\xe7\xbf\x97\x1b\x71\xc7\x1f\xb1\x38\xde\xdb\x48\x29\xf0\xe6\xcc\x0f\x90\x53\xb9\x2f\xb9\xf3\x76\x4d\xac\x5c\x59\xb5\xe7\x3c\xee\x96\x5c\x13\xdf\x94\xde\x12\xf8\x3a\xa9\x05\x06\x92\xfc\xd5\xb0\xda\x8d\x90\x3f\x48\x8b\x8e\x0a\xa7\xca\xd2\x1e\x3f\x5a\xd6\x36\xcf\x85\x7c\x32\x2d\x75\xaf\xaf\x06\x75\xe6\xf5\xbd\xb0\xdb\xbe\x80\xdf\x90\x93\x7c\xf9\xf9\xa0\xa4\x40\x95\x67\x01\x31\x5c\x3c\x0a\x0b\xf7\x5f\x88\x6b\x0c\xea\x5e\xfc\xac\xd2\x4f\x98\x1d\x56\x3b\xaf\xd5\x8c\x61\xc8\x7c\xb5\x51\x5b\x4c\x60\x42\x5c\x1f\xba\x87\xc1\x92\x41\x50\x1b\x5f\xdf\x3c\xe3\xad\x5f\x3f\x5d\x6c\x46\x8b\xdf\x84\x00\x9b\x18\xc0\xaa\x80\xb7\x5a\x2f\x2e\x36\x97\x80\xb5\xd4\x5c\x84\xea\x33\x8d\x90\x81\x3b\xd9\x50\x03\xe9\xda\x0b\xa0\xc9\x60\x07\xbb\x66\x26\x5f\x5e\x56\x9d\xfe\xe0\xcc\xe6\xbd\xbe\x42\x3c\x9a\x40\x0f\x23\x1d\xd3\x90\xde\xbe\x87\xc3\xc2\x92\xfc\xee\x5f\x5e\x16\xa0\x23\x19\x54\x40\xa6\xd3\x5b\x02\xd5\x74\x2b\x81\x48\x7b\x53\x35\x59\x12\x1b\xcb\x66\x6a\x3a\x6a\xa0\xa5\x44\xef\x5d\x29\x70\x4c\x6a\x2b\x6c\xe9\x22\x32\x74\x11\x9e\xe5\x88\x5e\x74\x05\x85\x87\x2d\xa7\x8e\xd0\x03\x93\x61\x09\xc9\x7a\xab\xf5\xe2\xd3\xc5\xc3\xcd\xe8\x72\x95\x19\x57\x11\xb7\x26\xb6\x3e\x57\x5a\x06\xea\x6c\x85\x88\x27\xc2\xdc\xaa\xd9\x80\xad\xaa\xc7\x00\x6b\xb1\x4e\x2e\x77\x52\xa8\xa4\xf0\x54\x35\x9d\x26\xeb\x34\x00\xf0\x6d\x2d\x57\x98\xd7\xcc\xb4\x5e\xb2\xe0\xad\x5b\x7d\xe0\x78\x6b\x74\xf1\x70\xf3\x32\x6a\x14\xdc\xd1\x16\xf5\x3d\x1f\x3e\xdc\xbc\x6c\x94\x2b\x49\xf4\x95\x17\x43\x7a\xc3\xa1\x9c\xf6\x63\xc1\xfe\x3e\x95\x8e\x05\xfa\x06\x91\xbc\xda\xcb\x96\x87\x90\x51\x92\x19\xdd\x18\xdc\xd5\x3c\x46\x28\xde\xb3\x9d\xb1\x1e\x0c\xa4\x81\x05\x23\x28\x0c\x02\xe8\x53\x32\x0f\x31\x64\x71\x94\x89\x94\xc7\xf1\xbc\x99\x9b\x12\x34\x9c\xa4\x12\xec\x06\x02\xa2\x03\xec\xeb\xf6\xf4\x68\xff\xa8\x9e\x5e\x46\xc9\x90\x37\xba\xec\x03\x4f\x23\x30\xb3\xa0\x83\xb9\x8c\x6d\x18\x94\x6f\x29\x39\xc6\x43\xc7\x33\xf1\x85\x4d\xec\x67\xbf\x85\x51\x4b\xe2\x6a\x76\x0b\xc8\x6a\xe5\x97\x19\x3c\xb4\xa9\xf7\xd2\x87\x72\xd5\xad\x01\x7c\x50\xa8\x69\x9c\x39\x85\xa7\xfe\x0e\x07\xdd\x31\x6c\xd0\x38\x6c\xe2\xd7\x0f\xe0\x22\xd1\x14\xeb\xfe\x3e\xaf\xd5\xaa\xce\x1e\x8d\x6d\x58\x00\x9d\xbb\x02\x4b\xb5\xb3\x61\x3b\xa0\x94\x3c\x11\x97\x07\xb7\x93\x7a\xed\xec\xfc\xfc\xfc\x5c\xdf\xb0\x38\xd8\x43\x56\x83\xc2\x28\x97\x04\x67\x9d\x87\x74\x2a\xda\x31\x57\xd9\x61\x32\x14\xb7\x56\x1a\x92\xca\xf7\xb7\x10\x10\x67\x5d\xf7\x60\x34\xaa\xc5\xc7\xf7\x09\x99\x93\xbc\x0b\x9d\x48\xcb\x0a\x8e\x84\xdd\x87\x3b\x25\x67\x56\xb3\x62\x33\x89\x66\x38\xbb\x16\xeb\x94\x8a\x9e\xb9\x46\x76\xd9\x5e\x7b\xb7\x51\x3b\x76\xa3\x02\xb1\xe0\x3c\xef\x6e\x9b\xbf\xd9\x0a\xb3\x06\x1a\xc2\x60\x19\xf7\x74\x1f\xc8\x24\x8b\x12\x53\xd3\xfe\x4b\xd9\xe0\x5a\x02\x59\x34\x7a\x6e\x18\x24\xb4\x05\xd3\xaa\x1c\xd2\x1b\x01\x46\x5f\x61\x81\xa6\x82\xf6\x34\xce\x72\xf1\xe4\x6b\x6f\x34\x5c\x7c\x21\xd3\x4b\x88\x7b\xa0\x49\x06\x32\xf9\x95\xe9\xf5\x59\x9d\x0c\xf1\x3e\x9f\x43\x33\xac\x6e\x0e\x2e\x79\x9e\x75\x60\xf7\xf5\xe9\xc1\x09\x45\xa4\x72\x08\x90\x81\x9c\x7e\x31\x57\x57\xed\x46\x5e\x09\xb7\x2a\x6f\xa0\x20\xa8\x52\xde\x30\x06\x4f\x6e\xc4\x65\x6d\xa3\xd6\xd5\xff\x41\x9f\x7e\xbd\xb7\x5d\xf8\xaf\xf9\xfb\x1c\xfe\x3e\x37\x7f\x73\xf8\xf3\x76\xeb\x99\xf9\xa2\x4f\x5f\x3c\x37\x5f\x88\x1a\xa5\xd3\x32\x5f\x8c\xa8\xc5\xc0\x7c\x91\xd0\x17\xdc\x7c\x91\xd2\x17\x43\xf3\x45\x46\x5f\xbc\x30\x5f\xdc\xd0\x17\x16\xe8\x6d\xad\x9b\x5f\x99\x91\x00\x6f\x8c\x96\xaa\xf2\xf2\xbf\xf8\x6d\xfb\x0b\xde\xfe\x01\xd9\x94\x65\x56\xb2\xb7\x23\x40\x6d\xb2\xce\xd3\x86\x79\xd9\xd2\x4c\xa6\x5f\x37\x93\xc7\xf7\x30\x13\xab\xf7\xf4\x42\x4b\x06\x57\x90\x21\x92\x4f\xf4\x51\x1d\xf3\x49\xe1\x49\x85\x8d\x1a\x95\xc2\x95\x79\x12\x21\xc5\x77\x9d\xe1\x68\x70\xe5\xf8\xba\x59\xe1\x98\x4f\xce\xe8\xc7\x8b\x97\x15\xf7\x00\x9c\xe8\xf9\x44\xc8\x11\x73\xda\x17\x83\x39\xba\x67\x0c\x3c\xd4\x2d\x0e\x78\x1c\xa3\x0b\x9b\x2f\xd4\xd1\x5b\xb5\x20\x92\x38\xaf\x28\xe3\x5f\xa9\x32\x9e\x82\xdb\x46\xe5\x49\xcd\xdf\xec\x78\x3d\x7d\xb1\x10\x76\xed\xa7\xc0\xed\x2c\xf3\xad\x7b\xe0\x00\xa3\x26\x3c\x69\x33\xf6\xf6\x7d\xef\x14\x15\xde\xa4\x69\x87\xa6\x1b\x97\xb1\xec\xf3\x78\x83\x6e\x3f\x36\x8a\xf9\xe5\xdd\x6e\xfc\x12\xc7\xaa\x89\xef\x55\x05\x04\x60\x7c\xf2\x70\xd4\xaa\xfd\xd5\x82\x6d\x9a\xf0\x18\x4d\x83\x5d\xd6\x9b\xf0\xc4\xb9\x03\x1b\xcf\x74\x84\x41\xf7\x9e\x01\x5c\x75\xdd\x6a\x8a\xe0\xe9\x9c\xed\xd8\x96\x85\x6b\xd7\x91\xa9\x6e\xf8\xf9\x73\x09\xcc\x96\x86\x71\xb6\x75\x61\x44\xe4\x07\x6e\x90\xa5\x0f\x01\xeb\xa1\x88\xf4\x6a\x70\xe3\x64\x13\x34\x11\x96\x0d\xda\xa9\xa2\x5b\xda\x23\x9c\x54\x78\x2d\xec\x62\xcb\x95\x48\xcb\x58\x98\x07\x72\x0a\xfe\xb4\x95\x1b\x4d\xc3\xfb\x7b\x0c\x7d\x3c\x6d\x10\x3c\x08\x76\x10\x54\x68\xe2\x5c\xf0\x84\x28\x98\x3b\x43\x61\x95\x3c\x7e\x50\xa0\x63\xbb\x2c\x8e\x14\xc4\xe8\x41\x50\x15\x4b\x64\xd2\x9a\x5d\x45\x99\xc0\x74\xaf\x01\xf1\x93\x73\xb0\xb9\x4b\x19\xae\xdd\x11\xf7\x8d\x8c\x86\x0b\x49\xdb\x2a\xb7\xf2\xde\x42\x38\x19\x8f\xb4\x37\xcf\xd5\x66\x3b\x13\x2a\x73\xfc\xcb\x7b\x07\x85\xe2\xe6\xe6\xb9\x7a\xb8\x79\x39\xc6\xd4\x88\x15\x34\x6b\x32\x55\x19\x83\xb2\x87\x3e\x23\x1d\x1b\xe1\x31\x90\x1b\x3d\x5a\xf2\x61\x3b\x3a\x5b\x6d\x33\x68\x88\xfc\x52\x03\xe9\xa7\x1d\x69\xc8\x47\xa3\xa0\xd5\xce\x0e\x6b\x75\x1a\xab\x68\x67\x65\x02\xc6\x69\x7d\x1a\xbc\xed\x7d\xc8\x6a\x4d\x74\x10\x81\x83\x12\x18\x31\x0c\x8b\x77\xd2\xd3\xaa\x6e\x30\x9f\x7c\xfd\xdb\xbf\xb9\x4b\x8c\xf5\x15\x8c\x29\x60\x1a\xbc\x1e\x7d\xfb\xba\x4c\x43\xe5\x63\x91\xc2\x3d\x74\x68\x79\xcb\x3b\x7a\x6f\xfd\x28\x20\x8c\x4d\x02\x23\x39\x38\xdd\xa3\xe6\x9a\xbc\x9b\x6d\x08\xa3\xf7\xa2\xd6\xa2\x68\x2a\xd8\x74\x32\x81\xf8\x23\x3d\x6f\x69\xb2\x43\x27\x32\x1d\xf3\x18\xa2\x59\x4d\x0c\x60\x94\x4c\xa6\x19\x18\x76\xfb\xe0\x55\x79\x19\xdd\xd0\x0b\x9d\x6d\xec\x9d\x9e\xbc\x69\xed\x6e\x60\x7c\x11\x1a\x93\xe9\x0f\x08\x11\xe5\x1b\xe8\xc5\x18\xc7\xe0\x76\x37\xc9\xc4\xd0\xcf\xfa\xd9\x65\xef\x60\xee\x10\xd6\x3f\xe0\x49\x22\x33\x08\xc4\x8d\xf9\x04\x6d\xc3\xcb\xed\x4d\x0b\xb1\x16\x1a\x08\x51\x64\x85\xea\x8c\x5d\x1b\x89\xf3\x0d\x63\x7a\x0d\x5d\x13\x91\x63\x73\x6e\x8e\x65\xc2\x78\x1c\x71\xc8\xdb\xb2\x77\xf4\xee\xf4\xe4\x28\x68\xb5\xfb\x46\x43\x81\xf0\x9d\x6f\x18\x7b\x7b\x70\xba\xdb\x35\x61\x3c\xde\x46\xfd\x6c\x4b\x17\x4d\xbd\xb0\x88\xc5\x3b\x74\xac\x59\x18\x26\xfe\xd2\x34\x3a\x96\x2a\x8b\xe7\x2c\x16\xa3\x8c\xc9\x69\x66\x49\x19\x18\x6c\x5f\x0c\xf8\xd4\xd4\xc4\xd2\xfb\x37\x96\x37\x7a\x77\x35\xa1\x82\xbb\x85\xc9\x04\x6e\x7d\xa6\x62\x39\xe0\xb1\xc0\xed\xa4\xbc\x16\x26\x1f\x46\x92\xf3\x5d\x61\x71\x74\x2d\x68\x5b\x0f\x7a\x7b\x1b\x4d\x9b\x2e\x61\x20\xf5\xb6\x91\x58\x64\xe6\x22\x47\x10\x58\xe6\xa1\x9f\xb1\x43\x70\xfd\x17\x7f\x9f\x46\x37\x3c\x16\x18\xe5\x8b\x00\xb7\x9f\xf9\x54\xb3\x75\xdb\xe9\x6f\xfc\x4e\x24\x6a\xa6\xef\x0d\x77\xa0\x06\xfa\x4f\xfa\x4b\xc0\x5f\x15\x74\xfa\x51\x60\x96\x0e\x23\x90\x0d\x3c\xd2\xf0\x2a\x52\x99\x92\x57\x6d\xc6\x36\x08\xfa\x10\x3e\xf1\x89\x40\xe0\x94\xf9\xc9\x36\xbc\x97\x73\x10\x98\xb3\x17\x9f\x05\x6b\xd8\xdd\x31\xfe\xb3\xa7\xae\xce\xce\x41\x6f\x6f\xf7\xf8\xa0\xcb\xb6\x9f\x35\xf1\x2f\xf3\xf1\x75\xa7\xcb\x3a\x9d\x6d\xf8\xb8\xad\x3f\x3e\x82\x8f\x8f\xf4\xc7\xc7\xf0\xf1\xb1\xfe\xf8\x04\x3e\x3e\xd1\x1f\x9f\xc2\xc7\xa7\xfa\x23\x42\x78\xa6\x3f\x3e\x87\x8f\xcf\xf5\xc7\x17\xf0\xf1\x45\x97\x75\xb6\xb7\x70\x88\x2d\xfd\xb9\x83\x9f\xf5\x78\xdb\x38\x5e\x47\x0f\xb8\xfd\xa8\x49\x29\x31\x4e\xf4\x1d\x35\x93\x7a\xba\x47\xef\x0e\xba\xec\x31\x00\x3a\xfd\x78\xd4\x65\x4f\x00\xd0\xe9\x4f\x27\x07\x07\x5d\xf6\x04\x21\x1d\xbd\x3f\xe9\xb2\x27\x08\xe9\xf0\x83\xfe\x1e\xa6\xde\x3b\xfc\x73\x97\x3d\x81\xa9\xf7\x0e\x3e\x1c\xbc\xeb\xb2\x27\x30\xf9\x83\xc3\x1f\x7f\x3a\xed\xb2\x27\x30\xfd\x77\x87\x7a\x80\x27\x30\xff\xbf\x1e\x9c\x1c\x75\xd9\x63\x58\xc0\xab\xdd\xbd\x9f\x7b\xc7\xbb\x7b\x07\x5d\x86\x7f\xff\xdc\x3b\x36\x1f\x7b\xf0\xc1\x9b\xea\x55\x2a\x20\xf9\xdf\xe9\xee\xab\x2e\x83\xb9\xfe\x4f\x97\x3d\x87\xc9\x7d\xec\xb2\xe7\x88\xe9\x2e\x7b\x0a\x3f\x9d\x74\xd9\x73\x98\xeb\x69\x97\x3d\x87\xd9\xfd\xa5\xcb\x9e\xc3\x4f\xef\xbb\xec\x39\x4c\xf1\xb0\xcb\x9e\xc1\x1a\x8e\xba\xec\x19\xfc\xa4\x07\xdf\xf2\x07\x1d\xc9\x29\xe4\xff\xdd\xdb\x3d\xee\x7d\x7a\x73\xb4\xf7\x73\x97\x21\x92\xf5\x17\xf9\xbf\xcd\xe7\xdd\x2e\x7b\x0a\x03\xe8\x25\xc0\x00\xfb\x5d\xf6\x14\x77\xac\xcb\x9e\x41\x9b\x1f\xbb\xec\x19\x4c\xfd\xa7\x2e\x7b\x06\x13\xfd\xef\x2e\x7b\x06\x13\xfd\xb9\xcb\x9e\x41\xf7\x37\x5d\xf6\xec\x29\x71\xd0\x8f\x02\x1e\x8f\x22\x01\xff\xc5\x64\xe8\xec\x85\x97\x02\x9c\x8b\xc4\x0d\x14\xf2\x85\x10\x44\x6c\x45\xea\x0e\x4a\xc8\xdc\x17\xac\xb3\x85\xb0\x0c\x93\xd3\x9c\x90\x4d\x84\x9c\xc4\x82\x12\x43\x43\xc1\x04\xa9\x39\x84\x3e\xbd\x7d\xcd\x1e\xc1\x1b\x3f\x52\x99\x4c\xe7\x70\x9e\xda\x8c\x1d\xc7\x53\x45\xd3\x02\x10\x86\x17\xaa\xcd\x49\x2a\x2f\x53\x3e\x86\x0c\xd2\x26\xe3\x2b\xcd\x8f\xc7\xa9\xe0\x43\x7d\x9e\x31\x31\xcd\xdc\x4c\x0c\xe3\xd9\xc0\x6d\x5c\x62\xf2\x32\xe8\x88\xd9\x27\x44\x92\xc5\xf3\xa6\x63\xc7\xc0\x3a\x88\x41\x33\x88\x1c\x8e\x06\xf4\x3a\xd5\xbb\xff\xee\xf4\xe0\xa4\xcb\xf0\x4c\x1d\xbc\x3b\x35\x1f\x4f\x0e\x4e\xdf\x9f\xbc\xf3\xfe\xc2\x8f\xde\x36\x47\xe0\x01\xc6\xfe\xda\x65\x2f\x60\x7b\xfe\xdc\x65\xcf\x61\xc3\xf6\xba\xec\x29\x50\xd6\x87\x2e\x7b\x0e\x9b\xf1\xaa\xcb\x9e\x22\x51\x77\xd9\x33\x68\xf3\xb6\xcb\x9e\x3d\x33\xe0\x0e\xb2\x81\x86\x44\x54\xfd\x08\xb6\x56\x13\x35\x7e\x3a\x3e\x39\x7c\x77\xfa\xa9\xb7\x77\x72\xa0\x4f\xca\x63\xfa\xee\x54\xf3\x07\xfc\xa3\xb7\x77\x72\xf4\xe6\x0d\x91\x5a\xe7\xf1\x13\xfa\xee\x8d\xfb\x0b\x8a\x81\x76\x19\x1e\xfb\x57\x27\xf6\x23\x56\xf1\xec\x32\x6c\x75\xf8\xae\x67\x3e\xfe\x74\xf4\x56\xcf\x04\xe6\x7c\xbc\xfb\xe3\xc1\xa7\xf7\x7a\x3a\x80\x8a\xe3\x1f\xdd\xe7\xfd\x83\x37\x07\xa7\x9a\x0d\x3c\xa5\xbf\xcc\xc7\x83\x77\xfb\x5d\xf6\xe8\x89\xed\xbe\x7f\xf4\xf1\x5d\x97\x3d\x7a\x8c\x00\x72\x7f\xd9\xcf\x00\x18\xd0\x83\x2d\x1e\x03\x5e\x4f\x90\x2b\x3c\x82\x19\xbf\x39\xd0\x92\xc3\x23\x40\x2f\x55\x4e\xd4\xab\x7c\x6c\x50\x89\x75\x08\xf5\x89\x38\xde\xea\xb2\x17\x30\x99\x9f\x8f\x3b\x5d\xf6\xe2\x19\x7e\xdc\xee\xb2\x17\xcf\xf1\xe3\xa3\x2e\x7b\xf1\x02\x3f\x6a\x06\xba\xb5\x85\x9f\x35\x07\xdd\xea\xe0\x67\xcd\x42\xb7\xb6\xf1\xb3\xe6\xa1\x5b\x8f\xf0\xb3\x66\xa2\x5b\x78\xf2\x8e\x35\x17\xdd\x7a\x82\x9f\x3f\x1d\xbf\x79\xdf\xd3\x7f\xd3\x68\x9f\x76\xf7\xf7\xfd\x3f\xdf\x1e\xbe\xc3\xdf\x69\xdc\x4f\xbd\xf7\xaf\x4e\x4f\x76\xf7\x4e\x83\xef\x4e\x77\x35\x45\x6e\x3d\x35\x9d\xde\xbf\x39\x3d\x3c\x7e\xf3\x17\xff\xbb\xfd\xc3\x0f\x87\xfb\x07\x9a\x95\x77\xcc\x37\x07\x7b\x87\x6f\x77\xdf\xe8\xaf\xb6\xcc\x64\x0e\x4e\x0e\x8f\xf6\xe9\x9b\x6f\x72\xa5\xde\xc6\x62\x18\x81\xac\xa1\x34\x2a\x77\x3f\x1c\xfe\xb8\x7b\x7a\xf0\x49\x73\xd7\x2e\xeb\x10\xb5\x9a\x6f\x5f\x1f\x9d\x7c\xdc\x3d\xd1\x90\x90\xb0\xb1\xd0\x9a\xfe\x13\x39\xd4\xfb\x37\x6f\x2c\x81\x76\x90\x7d\x7d\x3c\x7c\xb7\x7f\xf4\xf1\xd3\xd1\x87\x83\x93\x0f\x87\x07\x1f\xf5\xf7\xdb\x48\x7d\x7a\x3b\xdf\x1d\xf4\x7a\x40\x53\xdb\x78\x57\x79\xdf\xe2\xd6\x6f\x77\x9e\xf9\x32\xdc\xa1\x27\x86\x93\x0f\xba\x7e\x03\x38\x5b\xff\xb2\x9b\xd7\x78\x30\xec\x84\x2e\xe8\xc7\xa9\x29\x14\xe3\x32\xce\x68\x4e\xe9\x02\xae\xd4\x5c\x65\x62\x8c\x72\x16\xa4\x7d\x32\xca\x23\xe8\xe8\xdc\xbf\x31\xf1\x43\x77\x69\x6a\x88\x66\xe0\x73\xfe\x91\x47\x19\x65\x90\xdf\xb8\x16\x73\x48\xce\xb2\x81\xa0\x9b\x2e\x15\x8b\xf9\x85\x99\x0c\xf1\xb9\xa4\xd8\x34\x05\xca\x1a\xb4\x68\x0e\xa6\x76\x5b\x30\x89\x37\xb9\xec\x56\x98\x5b\x30\x5c\x3f\x65\xbc\xa2\xd9\xb8\x31\x8f\x77\x7b\xbd\x45\x03\x42\x19\xd3\x60\xb4\x9e\x2b\x97\x61\x62\x7e\xe0\x85\x3b\xe1\x97\x5a\xd8\x74\xa0\xfd\xfa\x43\x9e\x7e\xd6\x74\xb2\x4e\x98\xd5\xf5\x8a\xd6\x4b\x0f\xb3\xc6\x34\x87\x72\x96\x94\x4d\x74\x5f\xce\x92\xf5\xa6\x7a\xd7\x32\x1b\xcb\x27\x4b\x24\x92\xc9\x02\x4a\x4f\xe5\xa9\x5c\x03\xa3\xb6\x46\xd6\xef\x34\xc3\xbe\xcc\x32\x4a\x24\x14\x4c\xf2\x15\x7c\xff\x07\xcf\xd3\x15\x0c\xb1\xd3\x84\xa4\xb3\x25\xb5\x41\x68\xba\x98\xd1\xcd\xfe\xbe\xca\x7c\x8b\x85\x3f\xd6\x4c\x64\xb4\x82\x36\xc7\x26\x67\xfb\x44\x95\x13\xff\xdd\xc3\x6b\xbd\x00\x27\xfd\x71\x54\x6b\x32\xf8\xd0\xcb\x64\xca\x2f\x85\x1f\xdb\x74\x6c\x17\xff\x16\xd7\xce\xd4\xb4\x8f\x21\x89\x80\x0c\xcd\xd7\x50\x2b\xce\xde\xf1\x5e\xef\x27\x2f\x95\x9d\xa7\xa3\xc1\x0c\xee\xa4\x13\x8e\x29\xed\x23\x4f\x98\x4c\x87\x22\x05\x5f\x05\xd4\xae\xa2\x8d\x65\x20\x93\x84\xd2\x4e\x4e\x52\xa9\x97\x10\x5e\x49\x85\x29\xf9\xfa\x7f\xec\x70\x48\x69\x09\xf4\xaa\x0a\xed\x9d\x25\xa5\x49\x44\x42\xd1\xa2\xb4\xfe\x62\x8a\xd5\xe0\x5f\x0d\xe9\x62\xd3\xcc\x6d\x13\x74\xeb\x76\x5c\xa3\xfa\x1f\x8a\x91\x72\x8e\xaf\x85\x39\xd0\x90\xee\x07\xb0\x19\x60\x50\x81\x7e\xdc\xaa\xba\x06\xd0\x28\xa6\x5c\xb8\xce\x55\x1e\xc2\xb0\x1a\x07\x47\x37\x68\xc2\xe8\x67\xd7\x62\x7e\x71\xd6\xb9\x68\x54\x64\x82\xa9\x9a\xda\x80\x67\xe2\x52\x42\x68\x33\xea\xe9\x96\x37\xb4\xc7\x8c\xed\xb0\x9a\xf9\x5c\x5b\xa9\xe7\xee\x64\x22\x78\x4a\x3a\xfe\x9a\xfb\x6b\xb5\xde\xfa\x0c\x9a\x58\xc6\x9a\xfd\x63\xb5\xbe\x3d\x7d\x62\xf4\x1a\x6b\xf8\x69\xc5\x5e\xc0\x9f\xd0\xd3\xa4\x66\xff\x58\xad\xef\x41\x32\x90\x43\xea\x6a\x3e\xaf\xd6\xf3\x6d\xa4\x06\x22\x8e\x79\x22\xe4\x14\xa6\x1c\x7c\xe1\xa9\x68\xdf\xd0\x51\x72\x7d\x9b\xf6\x98\xf5\xe7\x6c\x18\xa9\x49\xcc\xe7\xf8\x15\xab\x67\x72\x02\xef\x3e\xb8\x1f\x1a\x8b\x0e\x99\x99\xcc\x7c\xdf\x7a\x12\x9b\x34\x40\xbf\xb1\x68\xd8\xad\x24\xf4\xd2\xad\x6e\x12\x17\xbf\xcd\xba\xfe\x9e\xb3\xfa\x48\x26\x99\x6a\xb2\x81\x8c\x65\xaa\x9a\x2c\x1a\xf3\x4b\xa1\x1a\x35\x30\x2f\xaf\x3c\x8e\xa5\x83\x60\x18\xac\x8d\xc0\x90\x40\xd6\x03\x68\xf6\x2a\x80\x67\x37\x70\x3d\x58\xe6\x74\x04\xb0\xec\x91\x59\x0f\x96\x25\xbf\x00\x98\x23\xca\x35\xa1\xc1\x29\x08\x41\xe1\xc1\x58\x0f\x4e\x40\x9a\x01\x38\xfd\x4b\xbb\xf6\x05\x32\x43\x55\x12\x5a\x91\x33\xd2\x53\xa3\xc6\xe3\xac\x75\x99\xb6\xc6\x72\x28\x6a\xdd\x6f\x18\x3b\x5b\x07\xdd\xe0\xb4\x0e\xb3\x39\x83\x4f\xac\x96\xc8\x44\x98\xe4\x55\x2d\xca\x5c\x15\x8b\x51\x66\x3e\xc3\x7d\x0d\x7f\x60\x71\xe7\x1a\xa6\x8b\xd5\x17\xd7\x6e\x9c\xfd\xa8\x59\x7c\x46\xf7\xd4\x15\x1f\x5c\xff\xf2\xf1\x4a\x4c\xd3\x48\x65\xd1\xa0\x7d\x9e\x90\x1d\xa9\xe6\x7d\xaa\xe9\x71\xcf\x6b\x5d\x2d\x15\x48\xec\xeb\x34\xda\x09\xbf\x89\x2e\x79\x26\xd3\x76\xcc\x93\xcb\x29\xbf\x14\x5d\xd7\x15\x2f\x9e\xf3\x9a\x48\x5a\x53\x75\x5e\x63\x3b\x3f\xb0\x73\x98\xfe\x79\xad\x89\x91\x09\xf0\x8d\x9d\xf0\x79\x38\x2c\x34\xec\xb2\xfd\x48\x61\xd2\x84\x64\x4e\x0b\x48\x45\x0c\xee\x3e\xe3\x69\xa2\x6f\x72\x7f\xda\x16\x2b\x30\x61\xa5\xa6\x63\x0c\x89\x7b\xb8\x1b\x67\x94\x92\x0d\x60\x04\x7d\x0c\xf6\xbc\x3e\xa0\xe8\x5f\xd4\xc7\x9b\xb4\xed\x84\x52\x55\x49\x2f\xac\xb4\x5e\x0b\x0a\x84\xb6\x22\xd5\x0a\x6b\x7f\xde\x81\x38\x28\x55\x5d\xad\x2f\x25\x1a\x44\x58\xed\x70\xc4\x94\xc8\x9a\x6c\x9a\x0c\x25\x85\x73\xbb\x27\xff\x6e\x9c\xb5\x6c\xbd\xcf\xd6\x0f\xfb\x07\x6f\x58\x2a\xc6\x7c\xe2\x72\x8b\x99\x15\x06\x73\x65\x51\x32\x14\x62\x88\x45\x4d\xfc\x22\xa7\xfe\xca\x68\x3d\xf7\xb3\x8a\x9e\xc8\xd8\xec\x4a\xd8\xe4\xf7\xa6\x5e\x2b\x1f\x64\x0a\x13\x78\xe8\xb1\xe0\x2b\xfd\x76\xd6\x5f\x0c\x35\x0d\x27\x83\xcc\xb4\x0d\x26\xa7\x5f\xd2\xaa\x35\xbb\xe2\xd9\x1d\xe6\x57\x43\xf7\x19\x9c\xda\x99\xfd\x8b\xd5\x9e\xb7\xfa\x11\x9c\x39\x7a\x38\xb7\xae\xc5\xdc\x9c\xba\x3d\x93\x8e\xf5\xaa\x58\xb2\x16\xdf\xd2\xc3\xd2\xf3\xc6\xc8\x59\xa7\x8d\xff\x58\x0f\x92\x8f\x27\x60\xf1\xd1\x52\x6a\x74\xdb\xf6\x1b\xc3\x14\xda\xa6\xf1\xee\x70\xc8\x3a\xdb\xcf\xcd\xc3\x6a\x9a\x80\x81\x4d\x0c\xfd\x30\x76\x65\xeb\xf2\x05\x80\xbc\x25\xb4\xdb\x4e\x2d\x11\x68\x1f\x50\x55\x82\x35\x38\x28\x15\x89\xaf\x36\xc8\x9f\x7c\xf7\x4f\xf1\xb9\x6a\x33\x56\x07\x99\x7a\x26\x93\xf3\x5a\x06\x15\x76\x30\xde\x55\x4b\xcc\x31\xcf\x46\x32\x1d\x53\x91\x1d\x00\x5b\x0d\xce\x0c\x48\x89\xcc\x60\xf7\xc3\xea\x08\x7a\xea\x90\xc4\x58\x63\xdd\x19\xf7\x1a\xb5\x6f\x18\x33\x64\x31\x1d\x46\xfd\x58\xb4\xfa\x22\x8e\x5b\x4a\xdf\x18\x2b\x93\x06\x5d\x39\xf0\xfc\x68\xa5\x02\x5f\x40\x5d\x94\xaf\x35\x58\xb9\xa9\x81\x12\x29\x4f\x53\xf3\xe9\xfd\xc9\x1b\x13\x63\x6e\xdf\x96\xba\x21\x83\xd1\xdb\x8c\x1d\x8c\x27\xd9\xdc\x78\x31\xea\x25\x24\x92\xd1\x34\xa1\xa1\x25\xe9\xa1\x50\xd7\x99\x9c\xb4\x12\x99\xd9\x0c\xcd\xb0\x90\xb5\x97\x50\xce\x41\x30\x11\x66\x30\x49\x65\x1e\x69\xfa\xf4\x5f\x62\xae\x14\xf0\xc9\x1e\x80\xe7\x36\xe3\xec\xa3\xe8\x5b\xf6\xf1\xce\x9b\x58\x1b\x52\xe6\x28\xca\x99\x33\x7b\xd4\x96\xe9\xe5\xe6\xe9\xc9\xa6\x3f\x79\xb5\x19\x9c\x05\xfc\xb0\x8f\x52\x9f\x46\x46\xd0\x96\xa5\xe2\xef\xd3\x28\x15\x4a\x13\xc0\x38\x52\x0a\x76\xdc\xb8\x87\x4d\xa1\x4a\xc0\xc7\x2b\x41\x99\x68\x0c\x58\x8c\x44\xd7\xc7\x4f\x09\x30\x81\xe2\x22\x01\x57\x94\x8b\x3e\xcb\xc4\x78\x02\xbf\x71\x75\xed\x0c\x9b\x7a\x27\xbc\x91\x0c\xc0\x68\xc4\x12\x31\x10\x4a\xf1\x74\xde\xc6\x02\x9a\xa6\xa6\x0a\x1b\xf3\x39\xa4\x09\x56\x57\xe4\xd3\xe1\x03\xd0\xd3\x17\x2a\xa3\x42\x27\x06\xdc\x10\x3c\x74\x32\x86\xf9\x64\x34\x4a\xfd\x2a\xd3\x48\xd7\xa5\x1c\x83\xd8\xbb\xb8\xcd\x44\xa2\xb0\x50\x15\x15\xb9\x61\x1b\x01\xde\x36\xfc\x49\x40\xae\x48\xef\xef\x4c\x7a\x33\x41\x69\x3b\xe8\x6c\x69\xcf\xed\x7f\x0b\xe4\xdd\x95\x49\xce\x93\xa3\x59\x2d\xbd\xec\xd7\x3b\x4f\x9b\x0c\xff\xbf\x01\x02\x0d\x40\x43\x1a\x3c\x0d\x09\x0d\x7e\x42\x7e\x24\x6e\x29\x64\x3d\x91\x14\x21\x8f\x3f\xba\x1c\x44\x65\x33\x05\x89\xfc\x6e\x33\xd5\x53\x33\x61\x3b\x88\xef\x5e\x8f\x7c\x1c\xe9\x30\x7b\x13\x85\x71\x2a\x4e\x32\xfe\x56\xb6\x83\x7e\x52\x04\x9f\xeb\x4d\xd3\xb8\x6e\xce\xce\xa5\x94\xed\xcb\x78\x93\x27\x62\x78\xfa\x73\xc3\x6f\x15\x47\x89\xe0\x69\xeb\x32\xe5\xc3\x48\x24\x19\xbc\x8e\xf0\x69\xd4\x64\x7d\x70\x33\x4d\xc5\xb0\x51\x82\x14\x15\xfd\xfa\x87\xe1\x04\xf2\x2f\xb7\x19\xdb\x37\x89\xb5\x32\xc9\xb4\x84\x57\xb6\x59\xc6\xfb\xee\x0f\x9b\x9b\x75\xf7\x5b\x67\x73\x3a\x5b\xff\xa9\xff\xdf\xff\x6a\x00\x36\x54\x7f\x45\x28\x68\xa1\xf4\x71\xff\x82\x1e\xb1\x69\x5a\x12\x8a\x6a\x64\xc0\x05\xd3\xc1\xab\x1e\xab\x9f\xd7\xce\xcf\x6f\xb7\x9e\x6b\x91\x9b\x5f\x73\xf6\xcb\x4f\x8d\x36\xf3\x0a\x5b\x98\xc9\x87\x40\xc0\x01\xc5\x03\x04\x40\x9e\x8d\xce\x6b\x76\xbb\xac\x40\xd1\x1a\xf3\x49\xcb\x24\xee\x57\x77\xda\x32\x7a\xd8\xc0\x1e\x19\xdf\x70\xa3\x7d\x73\xa9\x45\x20\x2b\x06\x25\xad\x68\x93\x4f\x0b\x67\x6a\x82\x5e\xfd\x69\xca\xe7\x4d\x12\x1e\x04\x1f\x5c\xe9\xed\x40\x97\xb8\x9a\xcd\x24\x49\xe5\x18\x9d\x2c\xa4\x2f\x02\xd0\x5b\x9a\x94\xfb\x14\x08\xeb\x8d\x44\x29\x37\xec\x35\xc2\x6a\xe1\x98\x2c\xca\x94\x88\x47\x6d\xac\x4a\xc3\xb3\xdc\x84\x60\x2a\xf9\x09\x58\x50\xa9\x18\x88\xe8\x26\x14\xcf\xf2\x33\x81\x44\x2d\xc8\x90\xfd\x86\x8e\x54\x3d\x5a\xad\x20\x56\x8d\x8b\xdf\x36\xb6\x36\xba\xbf\x6d\x3c\xdc\xe8\x6e\x9c\x9f\x4f\xb7\x3b\x2f\xb6\x37\x9a\x1b\x4d\xfb\xd7\xd6\x46\x73\xa3\x65\xff\xea\x6c\x34\x37\xda\xf6\xaf\x47\x1b\x4d\x37\x65\x0d\x06\xbe\x7f\xf2\xfc\xf9\xc6\x97\x2f\x9e\x3c\x05\x55\x9c\x5a\x32\x69\x89\xdb\x68\x75\x29\x3b\x7c\x75\x13\x45\xfb\x64\xfe\x91\x5e\x01\xc0\x43\xe1\x6e\x86\x81\x00\x2f\x54\xf5\x6a\x86\x77\xbd\xad\x15\xc2\xf4\x0c\xdc\x35\x80\x59\xcd\x5a\xfd\x38\x4a\xae\xef\x44\x9f\x25\x87\xaf\x38\x2b\x00\x6f\x9c\x88\x95\x4c\xbd\x74\x7e\xa5\x33\x69\x0d\xe6\x83\xf8\x6e\xec\xf7\xac\xb3\xb5\xb5\xd5\x64\x4f\xb6\xb6\x2e\xc2\x63\x53\x3b\xf5\x86\x87\xf9\xa4\x5a\x8e\x88\x12\x36\x8e\xe2\x38\x52\x62\x20\x93\xa1\x2a\xe5\x72\xbb\x2c\x9b\x49\x26\x30\x41\xa5\xa1\x5e\x17\xe8\x22\x47\x94\x97\x32\xc2\x07\x4d\x2c\x8d\x07\x3d\x8e\xe6\xb2\x0c\x59\x71\x0b\x4a\x01\xe9\x01\x83\x3e\x51\xe6\xb5\x95\xa3\x51\x1e\x37\x5f\x27\x52\xf0\xfa\xf6\x93\x27\x4d\xb6\x85\xff\xd7\x7e\xd2\x20\xbc\xe4\x45\x0b\x14\x19\xe8\x3a\xb8\xa1\x7c\x79\x38\x03\x37\x21\xdd\xa6\x35\xe1\xb1\xc8\x32\x71\xef\x1c\xae\x76\x64\x6a\x9d\xa0\xd2\xd0\x48\xd7\xe6\x1d\x43\xe3\x96\xee\x95\x5f\xd7\x30\xcf\x1f\x91\x29\x61\x22\x29\xc3\x2b\xd9\xe1\xa8\xd0\xce\x6e\x13\xe5\x0a\x45\x76\x0a\x7a\x8c\x21\xa5\x2a\x5f\xc0\x5c\x2d\x47\xb3\xb2\xb0\xe6\xc5\xc6\xb5\x06\x9c\x9d\xb1\xc0\x5f\x66\x91\xbd\x68\x41\x90\x5b\xa4\x62\x49\x31\x78\x0b\xf1\x64\xce\x06\x4a\x11\x2c\xf4\xdd\xa1\x6c\xa7\x76\x0a\x94\x16\x89\xfd\xc7\xc9\x8f\xaf\x9a\xec\x3f\x4e\x4e\x7e\xfc\xf1\xd5\xab\x26\xd3\x92\x66\xbb\xdd\x6e\xc0\x27\x4e\x1f\xa1\xee\x97\x86\x09\xf0\xd0\x79\xd7\x5d\x85\x3c\x23\x4f\x44\x25\xd9\x84\xa7\x99\xa1\x14\x95\xc9\xc1\x35\xfb\x73\xa7\xa3\x41\xb5\xb3\xdb\x0c\x2d\x55\x65\x4b\xfa\x8b\x9c\xc2\x7a\xa6\x4a\x30\xa3\x42\xc3\x18\x13\xbd\xb8\xb9\xcb\x9e\x65\x36\x1c\x19\xbe\x3b\x1b\x9a\xad\x18\x60\x7d\x41\x85\x6f\x86\x66\xd1\x91\xf5\x65\x85\x97\xee\x75\x34\x99\x40\x6a\x53\xa6\xc6\x3c\x8e\x19\xc6\x29\x80\xb3\x73\x32\x8c\x06\xde\xe2\x2c\xaf\xb4\x17\x4c\x29\x05\x79\xa7\x60\x32\xd7\x4c\x1d\x0b\x7c\xad\x4c\xfc\x4e\x97\x5d\xc2\xd2\x77\xa7\x99\x1c\xf3\x2c\x1a\x80\x2b\x17\xd6\xe0\x95\x60\xeb\xb3\x85\xdb\x0c\xe9\x98\x42\xb4\x76\x3e\x53\x25\x5a\x84\xb2\x16\xb2\xff\x16\x54\xdc\xbd\xc3\xc4\x16\xb0\xf5\xcc\xf9\x8b\x99\xfd\xa1\xbb\x06\xcb\x43\x53\x85\x49\x8b\xa4\x58\x0b\xe0\x76\xf6\x2d\xc8\x55\x72\xe7\x79\x55\xdf\x81\x70\xf9\x19\xf3\xb4\x43\x16\xa6\x46\xd1\xc3\x45\xc9\xa5\xdb\xb9\x2c\x8d\x5b\x93\x78\xaa\x5a\xe3\x28\x99\xaa\xd6\xaf\x22\x95\xad\x5f\xa5\x1c\xdf\x41\xfc\x2c\x4e\xc9\x4a\x9f\xe0\xbc\x7b\x1c\x4f\xd5\x26\xd4\x3d\xda\xfc\xab\x48\x65\x58\x8b\xc8\x3b\x1f\x87\x23\x83\x75\x2f\x31\xda\xc2\xce\xd4\x12\x7e\x06\x59\x54\xb1\x5f\x3e\x59\x79\xa4\xe6\x46\x87\xae\x5e\xfd\xd1\x00\x0d\x83\xf5\x36\x63\xa1\xdc\x0d\xea\xe4\x3d\x8d\xee\x48\x28\xc8\xe4\x0d\x78\x30\x25\xa7\x33\x09\x4e\x39\xfa\x07\xe8\xec\xad\x1e\x7a\xc2\x9a\x1f\xee\x99\xb5\x04\x1d\x10\x92\x83\x8c\x00\x82\x95\x98\x6a\xb5\xf7\xb7\x94\x0f\x58\x68\xad\xb0\x94\x0f\x2b\x2e\xe5\x83\x59\xca\x87\xe2\x52\x1c\xe4\x70\x29\x82\xab\xac\xc5\x55\xc4\x93\x16\x1f\xf7\xa3\xcb\xa9\x9c\xaa\x16\x57\xad\x6c\x26\xb5\x04\x30\x1d\xaf\xfe\xf6\x5b\x59\x8d\x7c\xc0\x55\xc6\x76\xf5\x98\x6c\xd7\x8c\xe9\xc7\x40\x61\x49\xc1\x99\xa6\x3f\x3d\x01\x06\xc5\x44\xdd\x8c\x21\x73\x73\x0b\xd4\xad\x2d\xa2\xd0\xfb\x99\x23\xd4\x73\xc8\xa4\xc9\x0d\x0d\x23\xb8\xda\x5b\x76\x7e\xa6\xae\x4c\x26\x4d\xbd\x87\xec\x4a\x8c\x4b\xef\x9e\x8f\xe2\xbc\x16\xc7\x2c\x15\x6a\x82\x2f\x18\x58\x57\xab\x3f\xcf\x04\xbb\x11\xa9\x32\x81\x30\x19\xb8\xf8\x17\x87\xb2\xa7\x2b\x15\x97\x3c\x1d\xc6\x42\x29\xe7\xed\x81\xf5\x76\xf3\x78\xe9\xcb\x78\x75\xf5\x69\x89\x64\x94\xa5\x91\xca\x78\x26\x7c\x9c\x04\x35\x2e\x34\x3b\xd6\x83\xb0\x19\x16\x93\x83\x82\x6f\xa1\x42\x08\x5d\x89\xe2\xe1\x66\x1f\x0d\x31\xd6\x94\x61\x34\x43\x6d\xc6\x5e\x1b\x1c\x5a\x77\x60\x88\x63\xf0\xa1\xb6\x19\x7b\x37\x8d\xc1\x39\x89\x5b\x8b\x57\xd9\x7a\x35\xc1\xe2\x50\x77\x5a\x79\x91\xa7\x56\xac\x1a\x57\x43\x62\x62\xfd\x79\xab\xf3\x84\x69\xa6\xcf\x3a\x4f\x43\xd1\xaa\x61\x57\x0c\xfe\x84\xc9\xbc\x04\x37\xac\x88\x0c\x57\x23\x3f\xbf\xc6\x3b\x3f\x98\x56\x59\x9a\x4f\x9d\xf8\x56\x29\xdd\x27\xa2\xf5\x48\x6f\x4b\x6e\x7e\x56\x38\x00\x35\xf8\x1a\x6a\x95\x85\x77\x6d\x4f\x3f\x55\xb8\x49\xa6\x6b\xc4\x72\xab\x0a\xb7\xf2\x13\x30\xba\x59\x1a\x69\xfe\x56\x29\xad\x14\x66\x0a\x1d\xee\x49\x8a\xb2\xb5\x81\x61\x2a\x99\xc4\xd9\xb0\x61\x94\x0a\x2c\x19\x41\xc5\xa0\xd1\x7f\xb3\x72\x72\x43\x31\xe8\x6c\xdf\xf5\xbd\x5e\xc2\xcf\x4e\xbc\x8d\xd5\x33\x3b\xaf\x29\x5f\xb3\xee\x55\x70\x0c\x5e\xaa\xfa\xf8\x4f\xb5\x54\xab\xe5\x58\x43\xc8\xfb\x07\x7b\xb6\x1c\x0f\x64\x16\xef\x6c\x7b\xd3\xbf\x89\x52\x99\xe8\xf7\xea\x5d\x67\xff\x5b\xed\xf4\xe0\xe4\x6d\xad\xcb\x6a\x60\x0f\x6b\x6d\x3f\x79\x8a\x2f\x45\xcc\x0b\x50\x78\x5a\x1b\x59\xd0\x1b\x9a\xdd\x50\xb6\x19\xd5\x0c\x35\x54\x66\x9a\x9a\xa5\xb4\x46\x7c\x1c\xc5\xab\xcb\x1f\x39\x8f\x93\xda\xc6\xbe\xf8\x1b\xff\x30\x65\x3d\x9e\x28\xf6\x56\x26\x72\xa3\xc9\x36\x0e\x34\x2b\x97\x89\xf9\xfb\x75\x2a\x84\xfe\xd8\x64\x1b\x6f\x45\x12\x43\x93\x53\xa2\x5a\xa7\xc0\xa9\x8d\x65\x22\x51\x09\x99\x57\x93\x92\x66\x96\x38\x2b\x4c\xb8\x50\x61\x02\x38\x4a\xb8\xb4\x3b\x2b\x91\x3b\x4f\x9a\x90\xbc\xaa\x04\xbf\xae\x9a\x67\x94\xb0\x49\x74\x2b\x62\x95\x1b\x74\x2c\x51\xcc\xbb\x9b\xa6\x80\x27\x59\x84\xb1\x63\xc3\x52\x6d\x71\x38\x86\x7d\xed\x7a\x73\x48\xc5\xfd\x98\x40\xb6\x1f\x6f\x35\x99\xf9\x4f\xa9\x15\xc4\x8d\x75\x47\x2b\xc8\x95\x1c\x8b\xd6\xb5\x98\xab\x16\xfa\xb0\xde\xb3\xf6\x59\x83\xdf\x14\xd6\x18\xe8\x4a\x5d\x3a\xa2\xb1\xa5\xdc\xd1\x74\x0c\x05\x49\x6d\x37\xfb\x30\xd5\xdd\xad\xc3\xfb\x87\x53\x53\x26\x50\xa1\xfe\x82\x84\x1f\xcd\x7d\x6d\x57\x94\x3b\x3f\x9c\x52\x70\x27\xf7\xa0\xe5\x06\xc1\x19\x38\x9c\x5c\x8b\xb9\x29\xd1\x76\x57\x97\x9c\x90\x3b\xec\x42\xf0\x92\x1c\xe5\xd2\x35\xcb\x20\x40\x01\xf2\x7f\x7b\xf5\x4c\x4d\x34\xa3\x49\x42\xee\xce\x68\x1a\xd6\x18\x5c\x9c\x51\x3c\x4c\x27\x3e\x14\x83\x48\x4b\x34\x1e\xbc\x2b\x71\xcb\xcd\xd7\xa8\x19\x00\xef\x3a\x02\xe4\x82\x24\x08\x9c\x89\x94\x28\xa8\x63\xac\x40\x65\x0c\x5b\xb6\x5a\xac\x0b\x46\x68\x92\xee\x89\xec\xf0\x01\xf0\xd7\x30\xe6\x48\x0b\x57\x06\x94\xb8\x9d\xc4\x3c\xc1\x30\x5b\x52\xb2\x8c\xb4\x44\x06\xc1\x0f\x82\xe5\x8c\x5f\x6f\x3e\x9e\x24\xc3\xb4\x54\xe6\xed\x81\xce\x9b\x79\x1b\xeb\x19\x6b\x7e\xf3\x8d\x34\x14\x21\x1d\x67\xad\x9f\x37\xba\x6c\x23\xe7\xbd\xbd\xd1\x2c\xb6\xc5\x67\xea\x1b\xdd\xfa\x78\xb7\xd7\x2b\x6b\xf2\x93\xfe\xf1\xbc\xf6\xd3\xc1\x9b\x37\x47\xe7\xe7\xc9\x79\x6d\xc3\xb5\xf9\x62\xa8\x6e\xcc\x6f\x5b\x88\xb9\x96\x21\x82\x95\xa9\xcf\xfa\xf2\xb1\xce\xd6\x16\xa8\x7f\x3d\xde\xf9\x96\xdf\x32\x4a\xb4\x01\x15\x7e\xf6\xf7\x7a\x4d\x76\xd4\xdb\x6b\xb2\xe3\xb7\xb0\x21\xbb\xc7\x3d\x47\x95\x7d\x31\x82\x72\x71\x98\x69\x85\x4d\x27\xc1\xc9\x71\x8f\x0b\x24\x31\x3b\x79\x31\x8c\x38\xf2\x11\x9e\x8a\xd6\x48\x7f\xba\x67\x56\x32\x90\xc9\x8d\x48\x33\x2f\x30\x89\x28\x2b\x4a\xd9\x6b\x4d\xaa\x2e\x84\xb9\xcd\x9c\x2a\x21\x16\x59\x68\xc6\x0a\x6b\xb4\x9b\xe2\xe2\xde\x4a\x32\x4e\x26\x39\x72\xe5\xb9\x0f\x85\x48\xde\x63\xc9\xfa\x27\x21\x97\xe2\x36\x2f\x14\x65\x9f\x42\xcb\x81\x9b\x94\x9c\x2a\xd1\x42\xaf\xb2\x41\x1c\x0d\xae\xd7\x7c\xe7\x2f\x14\x15\xd1\xd5\x58\x26\xe4\xa1\x86\xca\xb6\xfe\x34\xcb\x64\xc2\x60\xb0\x72\x9b\x00\x16\x93\xb2\x6e\x13\xfa\x48\xdf\xa0\x3d\x01\xcb\xc0\x43\x61\x2a\x3c\xb4\x1b\x38\x7f\x98\x73\x0b\x21\x6f\x38\x66\x4c\x6f\xc6\xb2\x31\x30\xf2\x1a\xfd\x82\xf4\x0d\x40\x9b\x06\xfe\x77\xdf\xd2\x7c\xf5\x77\x62\xc8\xc6\x11\x84\x19\xa4\x28\xde\xe6\x30\xe7\x8f\x7c\x17\xa4\xe5\xdd\x2c\xb7\x9a\xac\xd3\x64\xdb\x4d\xf6\xa8\xc9\x1e\x37\xd9\x93\x26\x7b\x4a\x8e\x5d\x6f\x01\x7b\x58\x9c\x1e\xc7\x83\x23\x96\x14\xdf\x8c\x55\xd6\x64\xd7\xa4\xc9\x66\xf8\x56\x37\xcf\xd1\x71\x34\xd4\xcb\x0f\x76\x08\xdd\x07\x92\xd6\x9f\x3b\x1d\x8b\x52\xe7\x2f\x55\xc7\x5b\x44\x53\x96\xf5\xf3\x03\x13\x6f\xc2\xfe\xdc\xe9\x14\x06\xf0\x29\xc0\xaa\x97\x71\x9c\xba\xa9\x3a\x25\x98\xe6\xc8\x37\xd6\xbe\x36\x36\x31\x14\x94\x0a\x0d\x96\x7e\x13\x71\x7f\xc6\xee\xee\x72\x33\x6f\x94\x62\x60\x8b\xed\xec\xe0\xfe\xd6\x27\x69\x34\xe6\xe9\xbc\x41\xed\xbd\xe6\x1d\x28\x95\x88\xa0\xeb\x7c\x7a\x1b\xc5\x51\x79\xc3\x6d\xdd\x90\xc2\x59\xd0\xdc\x54\xde\xee\x6b\xa8\xba\x70\x2a\xff\x28\xd2\x9e\xc9\x74\xd8\x82\x2c\xda\x2d\x48\x8a\xd4\xd2\x7d\xef\x40\xdd\x30\x9d\xb3\x5f\xce\xcf\xd5\xf9\xf9\xd9\xf9\xf9\x45\xbd\xf1\xdb\x97\xef\x7f\xd8\x38\xaf\x9d\x9f\xff\xf2\xe0\xbf\xfe\xe3\xff\xfc\xe7\xb7\xdf\x35\x5f\x76\xff\xf7\xa2\x20\x0c\x9f\x88\xcb\x69\xcc\x53\x26\x6e\xc1\x01\x90\x34\xf3\x57\x3c\xa6\x32\x8c\x24\x04\x60\xda\x3b\xbd\xa3\x90\xad\xab\x61\xea\xcc\x91\x82\xba\x02\x3b\xe9\x18\xf4\xff\x19\xd9\x33\xb8\x67\x05\xc7\x50\x9d\x4c\xb2\x54\x80\x79\x8a\x64\x90\x81\xa7\xa4\x6a\xfb\xfa\x2e\x2a\x2d\xb6\xf1\x0f\x4a\xf9\xd0\xde\xf0\xab\xa9\x71\xc5\x26\x3c\xbb\x52\x6c\x04\x9e\x57\x10\xcb\x03\x13\x35\xba\x11\xe9\x29\x3f\x0a\x38\x5f\x4f\xc3\xb3\x2e\xd2\xff\xd1\xfe\x3a\xb4\x13\xe9\x8b\x64\xf8\xc7\x60\xbd\x12\x4d\x78\x58\xef\x19\x4f\x17\xdf\xad\x88\x1b\x2a\x60\x4b\x01\x86\x9e\x2a\x93\xf4\x37\x38\xbb\xdf\x9b\x10\xdd\xa7\xf7\x54\x2d\x47\xdc\x4e\x8c\x47\x87\xb3\xd7\xa8\x69\x0a\x0f\x3a\x13\x48\x6c\x53\xdc\x41\x92\x49\x8b\xe2\x09\xbf\xfc\x3d\x1f\x6e\x14\x6e\xbb\x09\xb5\x89\xd7\x7b\xbc\xd9\x5b\xa8\x00\x62\xa5\x07\x5c\xd0\xcd\x71\xd2\xc2\x63\x0e\x07\x0b\x5a\xe7\x1f\x72\x13\xae\x54\x8b\xc7\x59\x0b\xdf\x35\x77\x7f\xcc\xe5\x14\xd0\xbe\x34\xe7\x74\x96\x7a\x34\xf0\xa1\xef\xb4\xdb\x2f\x6c\xf4\x2a\x25\xf0\xa9\xbc\x6b\xc8\xe1\x7b\x8e\xba\xc3\x74\x9a\x40\xd6\x21\xf4\x3b\x8d\x12\xc6\xad\xc0\x9a\xf1\xbe\x73\xc4\x9f\xcb\x29\x1b\xa2\xa7\xb4\x81\x06\x7e\x2f\x78\xc9\x9f\xd7\x14\xdb\x50\xb3\x08\x4a\xe1\x4a\xdd\x73\xc3\x65\x17\xe2\x83\x81\x88\x45\xca\x33\x88\xe1\x44\x57\xd8\x44\x66\x76\x68\x67\x31\x67\x5c\x77\x65\x11\x28\xe9\xfa\x22\xcb\xd0\xc8\x68\x76\x51\x09\x5f\x0a\x47\x3d\x23\xcc\x8f\x12\x6b\x78\xee\x1e\x54\x66\x94\xdd\x44\x63\x2d\x0d\x89\x31\x1f\x94\x9f\x0c\x4b\x7f\x16\x8f\x26\x05\x34\x79\xc5\x9b\xea\x54\x06\xaf\xcc\x13\xf5\x6d\x9f\x40\x6b\xa0\x1f\xa9\x94\xd6\xc8\xc6\xc4\x43\x2f\xdc\x5b\x5e\x12\xb7\x62\x3d\xc8\x49\x8e\x72\x6f\x5b\xd0\x64\x80\xd8\x03\x69\xed\x02\x42\x03\x0b\xdc\x1f\x47\x69\xf0\xb2\xfc\x7f\xa4\xf6\xf5\xa4\xe6\x10\xb9\x06\xad\xb9\x4e\x7f\x34\xb1\x11\xb5\xc1\x3b\xf5\x8f\xa3\xb6\xb7\x7a\xb8\xff\x47\x6d\x5f\x4f\x6d\x0e\x91\x6b\x50\x9b\xeb\xf4\xcf\x61\x6d\x40\x6c\x37\xf7\xae\x09\x01\xb0\x1f\xd8\xa5\xc8\x14\x50\x19\x4a\x45\xb0\x0c\x33\x3c\x39\xc1\xb6\x84\x09\x4c\x5d\x5f\x25\x56\x9b\x66\xa3\xd6\xf3\x5a\x93\x9d\xd9\x4f\xb5\x94\xcf\x5c\x00\x24\x5a\xa3\x6c\xa9\x0b\x33\x14\x3c\xad\x87\x3c\xe3\xcc\x7a\xe2\xda\x30\x12\x98\x63\x85\xb3\x5a\x34\x44\xf7\x29\x2c\x70\x7c\x8e\x83\x9e\xd7\x40\x68\x39\xd7\x23\x7b\x8e\xd2\x28\xb1\xb4\x64\x02\xa2\x5c\x96\xca\xeb\xd5\x85\x64\x17\x28\xbb\xc8\x03\x47\x51\x66\x0d\x3f\x99\x06\x58\x88\x93\x39\xb3\x63\x96\xcc\x47\x4e\xb3\xc9\x74\xf5\x97\x8d\x37\x99\x45\x62\x65\xd5\x6c\x5c\x0e\x15\x18\x36\x37\x9f\x3e\x4f\x5b\xe4\x87\x79\x3f\xd8\x39\xbd\x02\x5f\x07\x70\x32\xf3\x64\xd8\xb1\xaf\xd2\x24\x54\xcc\xae\x84\x88\x5b\x63\x3e\x07\xa5\x60\x8b\xa7\xa9\x9c\xb5\xd6\x52\x6f\x2e\x46\x0d\xb0\x29\xb4\x6b\x52\x1c\xa0\x48\x49\xc1\xa2\x06\xa9\x10\x09\x65\x14\x41\xaf\xc4\xfd\x83\xbd\xbd\x9f\xdf\xb2\xfa\xee\x04\xcb\xce\xe9\x07\xc3\x1e\x1a\x4a\x0d\x05\x62\xbd\x32\xa3\xbb\x10\x4d\x52\xe7\xc0\x3a\x0c\xfe\x21\x54\x8f\x14\x0f\x62\x3c\x8d\x21\x44\x4b\xaf\x0c\x75\xa1\xa5\x0c\xcc\xe4\xe5\x60\x99\x18\x4f\x64\xca\xd3\x28\x86\xd0\x7b\xde\x27\xe6\x75\x25\x63\xf7\x68\x01\xe1\xfc\x5a\xcc\xab\xef\x07\xef\xb9\x8d\xb9\x2a\xa7\x13\xbc\x2a\x10\x19\x5a\xb0\x4f\x15\xab\xc7\x42\xa9\x86\xe6\xad\x29\x69\x48\xc7\x1c\xdf\x08\x5e\xec\x16\x99\xbc\xc4\x30\xca\xc0\x0b\xe2\x26\xda\x4c\x78\x22\xa1\x1b\x42\x43\x54\x6e\x66\xe3\xe9\x6d\xc5\x06\xcb\x1b\xd1\x1a\x4f\xe3\x2c\x9a\xc4\xd1\x1a\x57\xaa\xb7\xb9\x9d\x82\xc5\xd2\xc1\xb3\xb6\x52\xb0\x57\xb2\xa1\x88\x33\xae\xef\x0d\xdc\x15\xda\x0e\x48\xa1\x67\xef\x01\xfb\xf4\xc1\x2d\x83\x96\x6d\x2d\xe3\x82\x3b\x92\x9c\xb1\x91\xa9\xea\x09\x6f\xa0\xfc\xdb\x07\xa8\xf5\x0f\xe0\x9a\x05\x66\x69\x6e\xa4\x80\x8d\x9b\xf3\xfd\x55\x33\x8a\x94\x6c\x6d\x6f\x6d\x6f\x9b\x50\x5b\xf7\xb7\x9b\x2d\x7e\x68\xc5\x72\x70\x2d\x86\x66\xb2\xbe\xf5\xd8\x72\x1a\x3b\xf3\xfa\xfe\xd1\x5e\xaf\x5c\x1b\x79\xd8\x3b\x82\x11\xc8\xfd\xca\xf3\x08\xc3\x74\x84\x29\x4f\x54\x4c\x61\x87\x75\x48\xc5\x7a\x99\xf2\xc9\x55\x34\x80\x74\x85\xca\x07\xfa\xfe\xf4\x75\xeb\xb9\x39\x2f\x8a\xa9\xe9\x64\x22\x53\x13\x45\x2b\x55\x95\x2f\xb7\x60\xb8\x14\xf4\x24\x48\x4c\xf0\x78\x80\x7a\x4a\x47\xea\xfc\x80\x19\x07\xa9\x27\x8b\xc6\x8e\x8c\x40\x23\x6b\xd7\x8e\x56\x06\x17\xfa\x5a\xe5\xa4\x6c\xc2\x7c\xb2\x68\x70\x8d\xfa\x30\x5c\xc7\x34\x01\xbf\x2f\x2d\xad\xa1\x7b\x8d\x16\x2c\xae\xb5\x9c\x27\x92\xa1\x00\xf3\x1f\xb4\xb6\x32\x9c\xb8\xe4\x83\x39\xe3\x8e\x6d\x79\x94\x0a\x06\x34\x2c\x10\x7f\x67\xff\xc5\x32\x57\x1d\xcd\x82\x1e\xb2\x43\x00\x5c\xe6\xc6\x98\x15\x7d\x18\x3d\x47\xe2\xb4\x35\x50\x77\xf3\xe7\x87\x20\xb3\x42\x60\x2f\x04\x6a\x42\xb6\x23\x75\x25\x30\xc6\xd4\x98\x78\xf3\x6e\x44\x43\x39\x98\x8e\x85\xa7\xec\x31\xd3\x69\x69\x3e\x77\xf7\x39\x01\x3f\x8a\xa3\x44\xb4\x42\xa7\x06\xa8\xd1\xce\xf6\x7a\x3d\xe4\xa3\xe0\x34\x9e\xcd\x6d\x2a\x3b\x9b\x98\x4a\x4f\x67\x51\x92\x1d\x9b\xef\x9d\xed\x68\xc0\x26\xf3\x0f\xc6\x00\xd7\xcb\xf3\x16\xd9\x3e\x8d\x05\x39\x63\x5c\x2d\xfa\xea\xec\x43\xcb\x73\x5e\x4d\xfb\x6a\xda\xff\x77\xcf\x73\x45\x29\x71\xde\xeb\x8d\xcc\xe6\xa4\x82\x34\xe5\xb7\xf9\x70\xc8\x26\xd3\x7e\x1c\xa9\xab\x4d\x35\xed\xab\x41\x1a\xf5\xc5\xe6\x34\xb1\x9f\x6d\x52\x29\x0e\xbd\x31\xb3\x3f\x4f\x98\xb8\x85\xfc\x08\x97\xc6\x3f\xc9\xcf\x9a\x33\xed\xf7\xa6\xfd\x8a\xa2\x95\xb2\x0f\xf8\x48\xd5\x27\x4a\xab\xe4\x25\x65\xdc\x75\x93\x69\x32\x3b\x03\x94\x63\xfc\x29\x8d\x45\x76\x25\x87\xf0\xdc\x2a\x9f\x09\xe6\x60\x26\x4f\x16\x57\x66\xda\xd8\x61\x28\x48\x05\x12\x38\xcb\xe9\xe0\x4a\x0c\xe9\x39\x29\x52\xd8\x8b\x44\xb2\x44\x00\x7e\x34\xa0\x99\x4c\xd3\x39\x25\xa2\xd5\xc8\x23\x1f\x1e\xb4\xf2\x84\x35\xac\xfd\x0a\x0a\xa6\x32\xb6\xec\xff\x0d\x08\xc5\xc4\xff\x21\xce\x81\x04\x8c\xdf\x3f\xcb\x64\x11\x7f\x6d\x3e\x1c\xbe\x32\x0d\xfc\x1a\x08\xfd\xbf\xb9\xaa\x3d\x48\xa1\x54\x47\xcb\xef\x8d\x59\xe0\x6c\xe5\xda\xb1\x57\x8d\x13\xa1\xbb\x53\x44\x69\xb4\x64\xff\x6f\x67\xe3\x0b\x77\x5a\x72\xcd\xce\xc6\x17\x98\x3b\x0b\x87\x6c\xd8\xbc\x71\x66\xf3\x7a\x76\x7b\x30\xdc\x07\xa3\xbd\xf5\x1b\x72\x64\xbc\x1f\x15\x61\x91\xeb\xcd\xf5\xf7\x2a\x5f\x22\x8d\x7e\x06\xbc\x99\xcf\xfa\xb9\xed\x0d\xd1\xf6\xfb\x59\xe4\x20\xd2\x1b\x5f\xd8\x80\x53\x76\x3d\xf0\x79\xa2\x9f\x91\x83\xde\xc8\x6b\x41\x46\x50\x3f\x1e\xbd\xb8\x01\x5e\x31\x0a\x3b\xb0\xb7\x11\x34\xb1\xa6\x1d\xcb\xab\x49\x61\x7e\xc4\x13\x1a\x90\xbd\x5f\x2d\xc2\x7d\x7b\x46\x1d\xf4\x06\x9c\x5d\xb8\x9a\x11\x25\x2d\xda\x93\xa9\xba\xaa\xdb\x41\x83\x13\xf4\xde\x3f\xb8\x18\xee\x7f\x37\x54\x4f\x73\x80\x56\x45\xf7\xae\xfb\x38\x49\xc5\x4d\x24\xa7\x2a\x9e\xb3\x54\x5c\x46\x2a\x83\xec\x5b\x37\x11\x37\x85\xe6\xed\x08\xf5\xc6\x42\xec\xfb\x73\x59\x8e\x7f\x4d\xee\x90\x49\x6f\xa7\x12\x83\xa6\x8c\xc7\x03\xdd\xce\xaf\x1f\x53\x3b\x4c\xb0\xb4\x09\xb5\xc4\x8a\x31\xf4\x87\xad\x0c\x12\xb1\x1d\x18\xc1\x56\xe1\xf0\xf6\x02\x01\x47\xec\x7b\xb6\x15\x00\x7e\x27\x33\xb7\xde\x61\x11\x2e\xc0\x53\x5a\xd6\x11\xf5\xa8\x50\x95\xe5\x18\x99\xa2\xe7\x47\x5c\x71\x90\xec\x21\xd4\x8f\x1a\x63\x29\x42\xe3\x34\x8f\xd9\x08\x64\x05\x87\x2e\xcd\x00\xf1\x3c\x0c\x19\x57\xf3\x64\x70\x95\xca\x04\x76\xac\x6d\x33\x16\x22\xaf\xc5\x87\x1f\xa5\x94\x24\x87\x1f\x9e\xcc\x65\x22\xe8\xdd\x38\x05\x93\x97\x39\xf3\x6b\x12\xdb\xc4\x2c\x4f\x2f\xaa\x5d\xc6\x44\x05\xdb\x4d\x18\x4f\xfb\x51\x96\xf2\x74\x6e\x19\xb8\x52\x72\x10\x71\x2c\xe7\x08\x96\x57\x60\xde\x5e\xaa\x90\xc5\x54\x2b\x27\xd9\xa7\x98\xab\x6c\xcf\x52\x6f\xe2\x21\xcb\x63\x1a\x03\x28\x22\x30\xca\x44\x6a\x68\x57\x7f\xa1\x3c\x64\x43\xb4\x47\x5f\xa0\x02\xd1\xe2\xa0\x92\xa4\xcd\x8a\xcb\xc8\x59\x34\x0b\x13\x43\xca\xb6\x33\x82\x21\xe6\x6f\x22\x95\xd5\x23\xc3\xbe\xb5\x28\x03\x2f\xac\x48\x31\x2d\xc6\x6b\xf2\xa0\x8d\x82\x2d\xb6\x25\xaa\x08\x64\x93\x8a\x2f\x60\xce\x75\x0c\x56\x91\x06\xd2\x40\x26\x03\x91\x26\x4c\x4e\x53\x25\xe2\x1b\x41\x29\x40\xc4\xed\x40\x4c\x0c\xb7\x64\x8e\xd4\x81\x78\x5d\xf1\x52\x53\x46\x51\x89\xec\x14\x67\x52\x77\x33\x06\x57\x98\x88\x3d\x74\x55\x0c\x75\xef\xb3\xe8\xa2\xee\x55\x53\x5e\xe3\x0c\xc3\x11\x76\x38\x80\xf4\x76\xe0\x3f\x00\x63\x45\x09\x16\x9a\x88\x32\x7a\xe9\x28\x2a\x23\x39\x13\xb5\x94\xee\xa8\x39\x56\x95\xa0\x99\x00\xff\xd5\xf2\xe3\x80\x67\x08\x3c\x28\xfa\x5b\xbe\x33\xc5\xa9\xd0\x89\x06\x56\x5d\xe8\x43\x75\x74\xc2\x6a\xea\x66\xf0\x7c\xeb\x8b\x5c\xcd\x42\x3b\xd2\x37\x8b\x71\xbc\x85\x2c\x64\x89\x88\x8b\x6a\x8e\x7f\x77\x11\xb7\x2a\x95\xeb\xcc\xd4\x17\xa4\x9c\xa5\x78\x1a\x4f\xe4\x6c\x0f\x2a\x40\xd3\xdf\xbd\xe8\x57\xe1\xfe\x3a\x15\xb7\xd9\xae\x75\x7b\xf6\xb3\xc0\xfe\x97\x1e\x5c\xaf\xe1\x26\x12\x33\xe4\x8e\x28\x4c\xdb\x3a\x70\xca\xd5\xc0\xf5\x0d\xde\x9a\x2d\x80\x9b\xaa\x46\x8c\xb8\xb5\xdc\xfa\x30\x63\x63\x1e\x25\x19\x8f\xe8\x81\x6e\xea\x85\x51\x24\x83\xad\x1d\xa9\x39\xf9\x15\x57\xac\xcf\x55\x34\xb0\xe2\xaf\xf1\xdc\x86\x0a\x2d\xf8\x66\x85\x54\xe3\x37\x22\x85\xd0\x0d\x0a\x4b\x1e\x0e\xa9\xfc\x78\x2a\xc6\xf2\x46\x7f\x4e\xe5\x4c\x39\xcd\x34\x91\x80\x9f\xa6\x16\x97\xa5\x47\x4c\x24\xa4\xa3\x8d\xc5\xf0\xd2\xe6\x3b\x29\xcb\x5d\x6c\x0b\xfb\xba\x50\x61\x18\x45\x26\xde\x18\x9a\x08\x86\x02\x31\x03\xc6\x85\x78\x6e\x74\x57\x61\x37\xac\x8a\x49\x11\xcd\x9a\x63\x41\x39\x18\xbd\x42\xe5\xe2\xc0\x69\xde\x60\xbe\xe0\xa6\xd5\x8c\x27\x98\x0c\x46\x24\x6a\xaa\x2f\x29\x0d\x0a\x5e\x83\x3c\xc9\x16\x4e\xae\xc9\xa2\xac\xa6\xc8\x3d\x34\x15\x6a\x22\x13\x15\xf5\x23\x7a\xf5\x20\xf2\x08\x5e\x0a\x45\x39\x52\x8c\x5d\xd7\x7f\xe0\xdc\xdc\xbd\x77\xea\x96\x0c\x61\x7f\xc8\x88\x64\x92\xa5\x1c\xb8\x92\x62\x22\x19\xc9\x74\x20\xa8\x74\x4f\x6c\x2a\xc7\x50\xc9\x9e\x49\xca\x07\x59\x34\x10\xed\x36\xdc\x60\x2d\x00\x68\xc8\x93\xe8\x8a\xf6\x48\xc6\xfa\x21\x34\x93\xf4\x73\x8f\x10\x0d\x0b\x1e\x80\xb3\xc4\x51\x22\x8c\x32\x51\x03\x23\x27\x39\x33\x3f\xa0\x18\xd7\xc2\xaa\x93\xf3\x74\x61\xe6\x30\x8e\xcd\x18\x38\x01\xd8\xc4\x01\x4f\x21\x37\x20\xcf\x10\xb1\x5a\xb0\xf8\xe9\xf4\xed\x9b\x03\xcc\xff\x00\x2e\x1b\x89\x99\x40\xcc\xd3\x4b\x08\x30\x48\x40\x77\x20\x47\x38\xf5\x26\xbb\x92\x33\x71\x23\x52\xcc\x13\x01\x70\xae\xf8\x64\x22\x12\x7a\x50\xb8\xac\x25\x9a\x7f\x24\x1a\x94\x5d\xb3\x8c\xe3\x63\x49\xf4\x4f\x77\x19\xf9\xb8\x33\xce\x46\x62\xc6\xd2\x69\x2c\x28\xd3\x1f\x56\x82\x6d\x33\x76\xc0\x07\x57\x66\x3b\x4d\x6d\xc3\x54\x42\x75\x68\xa2\xca\x01\xea\x39\xf4\x52\x58\xc6\x2f\x59\xed\xb6\x95\xca\x59\x0d\x0f\x16\xec\x3e\xf4\x83\x11\x0d\x65\x60\x41\x39\x9b\xd1\x00\x99\x9a\x4c\x91\xa2\x86\xd6\x46\x88\x49\x0d\xe8\x44\x21\x0d\x91\x93\x74\x62\xce\x74\xe5\x71\x63\x54\x4d\x29\x4a\x48\xc7\x87\x18\xb7\x34\xd5\x9f\xe7\x88\x05\xaa\x46\xd9\xaa\x52\x98\x80\x06\x23\xcc\x50\x17\x60\x84\x83\x1c\x0d\xf9\x13\x02\x6f\xb0\x52\xa4\xa3\xa0\x63\x8b\xa3\x99\xf4\x6d\xfa\x45\xaa\x42\x6a\x2c\x39\x1e\x54\xe2\x3b\x9e\x1b\x6e\x83\xf4\xa3\xf9\x16\x1b\xf3\xdb\x68\x3c\x1d\x9b\x00\x5a\xa8\x6c\xa8\xa7\xb1\x95\x17\x2f\xa9\x64\x3d\x0a\x74\xd8\x7a\x0f\x1a\x83\x4a\x9d\xa0\xb8\xb3\x8f\x2d\x4c\x99\xa7\x48\x91\x4c\x67\xf9\x49\x4f\x08\x3a\xd1\xa6\x88\x7e\xc8\x57\xed\xb7\x1a\x40\x94\x60\x80\x01\xb0\x69\x2d\xbf\x12\x34\xc8\x66\x88\xf4\xab\x28\xca\x4f\x4a\x36\x86\x24\x11\xce\x9d\x0c\xd2\x42\x0c\x87\xa0\x6b\x90\x9a\x36\xe5\x2c\x4c\x6a\x45\xd0\xb6\xf4\xb5\x9f\xc8\x4c\xd3\xd5\x4d\x34\x0c\xa5\x4b\xda\xaf\x5c\x9d\x44\x0f\x0f\x8d\x5c\x8d\x0a\x2d\x7c\x0e\x9a\x60\x1f\x69\xc1\xf9\xe5\x03\x28\x83\x6e\x7c\x00\xf5\x16\xd0\xc3\xd5\x71\x01\xca\x4e\x0f\xf2\x98\x6e\xb1\x0b\x99\x41\xec\x6b\x75\x73\xd3\x60\x3b\x08\x78\xb6\x48\xf6\x00\x61\x39\x41\x37\xbd\x4f\x6c\xa7\xb0\x73\x9f\x3f\xb3\xe7\x5b\x3e\x60\x7b\x35\xca\x58\xa6\x4d\x08\x3e\x85\xa4\xa4\x22\x8d\xa3\x84\x4a\x9f\x85\x61\x9f\xca\x8e\x95\x05\x57\x7a\xa0\x2d\x09\x6f\xfb\x3a\xda\xb3\xdb\x46\x9d\xda\x30\x33\xd8\xa3\xd1\x21\xe9\x01\x9a\xc6\xe9\x8e\x1e\x48\x99\x0e\x21\xbf\x9e\x1b\x0f\x7f\x3a\x36\xb7\xb7\x3f\x1e\xca\x1e\x75\x92\xcf\xdc\xf2\x12\x39\xc4\xa3\xc6\xb1\x88\x9c\xe1\x0a\xee\x16\xc4\xe1\x22\x65\xa5\x02\xb8\x41\x73\x63\x9e\xc8\xd9\x3b\x39\x14\x1a\xa3\xc9\x34\x8e\x97\x8d\xa0\x26\x3c\x31\x42\xc9\xba\x43\x55\x8d\x23\x47\x23\x25\x32\xbc\xf0\x3c\x3a\x80\x6b\xdb\xef\xe9\x12\x73\x96\x8d\x97\x1b\xec\x08\x80\xe6\x87\x3b\x11\x97\xe2\x96\xea\xb5\xa1\x67\x24\x98\x11\x64\x3a\x74\xde\x91\x6e\x57\xf4\xf7\xaf\x52\xc1\xaf\xdf\xf2\x6c\x70\xf5\x46\x8c\x32\x0b\xae\xb4\xc5\x09\x48\xc2\x0b\x9b\xbc\x45\x8f\x72\xd3\xc6\x7b\xb1\x9f\x50\x65\x2c\xc7\xe9\x20\xfe\x10\x43\x3a\x9d\xd8\x99\xd3\x59\xda\xf2\xa8\xae\xc5\x97\x62\xeb\x92\xba\xc3\x44\x9e\xc8\xe3\xcc\x1b\xd5\x88\x39\x1c\x63\xfd\x80\xe7\x15\x8e\x75\x8e\x8b\x78\x6f\xd4\x4b\x91\xc1\xa0\x05\x3d\x2e\x4d\xd2\x11\xb5\x6e\x56\x2f\x9c\xea\x66\x8e\x57\x98\x12\xfd\x55\x78\x0a\x17\x61\x67\x5f\x9c\x71\x80\x29\xcb\xfb\x4b\x84\xcf\xf5\x16\xfb\x93\xa0\x0d\x2f\x5f\x6e\xe9\x62\x56\x5f\x4b\xf5\x06\xac\xb2\x9c\xbb\x6d\xdf\x47\x38\x79\x0b\x17\xe4\x6f\x58\xb0\x18\x63\xae\xad\xbe\x3e\x27\x22\xa5\x4a\x83\xe5\x97\xf1\x60\x85\x2b\xd8\x83\x51\xb9\x10\x25\xb2\x3d\xef\x66\x58\x50\x02\x39\x77\xa7\x50\x29\xe4\x6f\xfc\xd2\xb9\x01\x67\xa6\x0e\xec\x07\x6a\xeb\x69\x66\xf5\xa0\x41\xdb\xd2\xfe\xa9\x9c\x35\x69\x9d\xad\xbc\xce\xee\x04\x1f\x0c\x2e\xe7\x19\xbc\x1a\xc2\x47\x97\x5f\x44\x2f\x2a\x72\x01\x4f\x84\x46\x82\x70\x80\xd6\x20\x04\xb0\x96\x9e\xc8\xd9\x62\x42\x30\xad\x54\xbd\xd3\xb0\x35\xad\xc3\xa5\x84\xcf\xc6\x4c\x4e\x3c\x09\x35\xb7\x18\xa8\x9e\xe7\xe7\x7f\x5a\x4e\x24\xb9\xb3\x6b\x9f\x5c\x61\xdd\x68\x3c\x7c\xdf\x7b\x98\xf9\x01\x51\x83\x0c\x5f\x0c\xa1\xf7\x4a\xf8\x50\x15\xa4\x54\x7e\xde\x49\x37\xbb\x45\xfb\x1d\xee\x35\x59\x8c\x41\x7e\x63\x74\x8b\x16\xf0\x93\xc7\x41\xb0\xbb\xba\xe3\xa9\xb9\xf3\x25\x89\x9f\x0b\x97\x41\xc9\xb8\x73\x1b\x9b\xca\x99\x77\x20\xca\xa6\xbf\xd5\xd4\x83\x94\xce\x1f\x6f\x8b\x15\xa7\x5f\xba\x13\x00\xe1\xd4\xc8\x90\xeb\x2e\x44\xe5\x56\xa2\x4a\x97\x42\xed\xdb\x7c\x32\x89\xe7\xf5\xf0\x47\x58\x9b\xaa\x3c\x88\x31\xbf\x9f\x73\x68\xe1\xac\x71\x0c\x27\x72\xb2\xf4\x10\x62\x9b\x95\x8f\xa0\xf1\x86\xfb\x77\x3c\x85\xb4\xd4\xbb\x9c\xc1\xd2\x9b\x98\xb5\x70\x15\x2b\x9f\xcf\x32\xe4\xdd\xf3\x11\x9d\x4c\xd5\xd5\x8a\xe7\x13\x14\xc5\xab\x9c\xcb\x55\xa6\x7d\x6f\x47\x93\x16\x50\x71\x2e\x61\x8f\x75\x93\x95\x8f\x62\xd9\x3e\xb8\x7c\x00\xfa\xcb\x85\xeb\xb2\xf4\x8a\xca\x93\x53\xab\x46\xb1\xab\x31\xef\xa6\xf6\x3d\xee\x22\x36\xc9\xed\x23\x8c\x8b\x9c\x74\x01\xbb\xa5\x56\x2b\xb2\xdc\xdf\x05\x13\xaa\xfd\xbb\x50\x86\x45\x8a\x2a\xc7\x0a\x91\x88\x75\x40\x88\xd8\x0e\xdb\x7a\xc9\x22\xf6\x3d\x4e\x8a\xc4\x67\x16\x3d\x7c\x18\xd4\xf1\x2a\x47\x21\x7b\xc8\x22\x83\x46\x75\x16\x5d\x14\xbd\x0f\x88\x3f\xf2\x35\xb8\xfb\x32\x54\x7a\xba\xb9\x0a\x36\x58\xb8\x17\x7c\xf6\xb7\x10\x7d\x08\xad\x8c\xa6\x56\xe0\x7f\x84\xe5\x3f\xfa\x92\x28\x21\x35\x8c\x7a\x0d\xec\x0a\xed\x7f\x95\x0b\xc6\xa2\xb8\x8c\x42\x57\xbd\x6a\x82\xe6\xb9\xf3\x0b\x9e\x02\x3c\x13\x8b\x2c\x37\x81\x55\x45\x89\x4c\x95\x2a\x88\x32\xc9\x50\x23\x84\x4f\xf5\x58\xf0\x54\x31\x39\xcd\xb0\xe4\x88\x46\x62\x4a\x4a\xdc\x21\xcf\xb8\x81\xb9\x8b\x49\xb0\x28\x78\x97\x4e\xbd\x4c\x9d\x9e\x92\xd2\xfa\x80\xbd\xd3\xd3\xb3\x58\xab\x52\xa4\x40\x83\x1c\x47\x43\x70\x73\x02\x0b\x3f\x8f\x94\xc0\xac\x53\x6a\x30\x4d\x85\x33\xf9\x2e\xe1\x06\x06\x19\x7b\x79\xd5\x57\x99\x0f\x58\xee\x15\xa5\xf7\xc9\x68\xc4\x16\x6b\xb3\x16\x28\xa0\x16\xaa\x8b\xbc\x7d\x73\xf5\x38\x07\x54\x30\xd3\x1c\x0d\x42\xcf\xb2\xa3\x0b\xdb\xb3\x67\xe6\xb7\x70\x85\x66\xfe\xed\x28\x49\x44\x0a\x56\x84\x1d\x56\xab\x55\xac\x92\x28\xd6\x6a\x23\xeb\x35\x70\xbc\xd4\xdb\x39\x8a\xe5\xac\x96\xc7\x8e\x5b\xe4\xd6\xcb\x0a\xcc\xd2\xfb\x76\x41\x0b\x03\x5d\xaf\x83\xc7\x4a\x58\x27\x17\x4d\x3b\x2f\xfd\xa7\x73\xa8\x44\x6d\x47\x8a\xb4\xd4\xf5\x86\x2b\x47\x7a\x9b\xd9\x05\x06\xd6\x6d\xfa\x05\x6c\xb3\xa0\x98\xb8\x8a\x32\x01\x69\xc3\x8a\x6a\x23\x67\x6f\xc7\x8a\xf3\xe8\x50\x0c\x4e\x0a\x32\x01\x85\xfb\x8d\x48\x95\xcd\x73\x0d\xaa\x75\xd8\x13\x48\x58\xac\x99\x98\xe0\x4d\x1b\xc3\x8d\x60\x20\x1d\x5b\x4d\x41\x45\x02\xca\x6c\x25\x52\xae\x84\xf5\xc0\x6b\x1b\xd7\x1e\x02\xbe\x53\xa6\x38\x6e\xd3\xaf\x2f\xcb\xf5\xca\x6d\xd7\x99\x50\x59\xde\x4c\xcd\x93\xc1\x1e\x4c\xbe\xde\xb0\xe8\x06\xed\x6c\xf9\xa8\xe8\x0c\xbb\x87\x9a\x5b\x91\xd6\xf5\xcf\x55\x27\xa5\x0d\x06\x87\xe1\xde\x55\x14\x0f\xeb\x1a\x66\xbe\xa1\x3d\x34\x72\x28\x9c\x97\x59\xe5\x42\x96\xac\x38\x5c\x8a\x77\xca\xde\xf2\xf4\x3a\xe0\x8b\x20\xf0\x81\x9b\x0c\x18\xa3\x89\xea\x84\xcd\xf5\x94\x68\x0a\xd1\xf4\xee\xdb\x88\x40\xb3\x6f\x29\x14\xe2\x0e\x29\x53\xf5\x90\xf6\x1d\x33\xfc\x60\xaa\xea\x14\x12\x01\x3a\xdd\x9f\x86\x4c\xc6\x76\xb4\xb4\x5f\x0b\xc5\xa2\x4c\xf3\x3f\x4c\xd0\x0e\x77\xcf\x40\x8e\xfb\x7a\x98\x6c\x06\x39\xb3\x20\x57\x96\x1d\xd2\x1a\xf1\x2d\x48\xf0\x7e\x35\x36\xfe\x70\xbe\x18\xc1\x68\xcb\x86\xd9\x0b\xd8\xa4\x25\x14\x7a\x9a\x64\x54\x0b\x17\xd5\x66\x14\x92\x03\x56\x3f\xf3\x13\xa4\xda\xe6\x99\x31\xac\x4e\xd2\x08\x15\xbe\xa1\x96\xde\x72\x73\x0a\xb9\x1f\x8f\xa3\x0c\x6d\x91\x01\xf6\x9a\xc6\x01\x1f\x33\xb3\x4f\x52\x31\x10\x43\xe3\x8a\x91\x0a\x03\x05\x36\xc7\x67\x87\x60\x89\x97\x8c\x43\xc6\x98\xdc\xac\x17\x72\x49\x98\xc8\x9b\x28\x11\x47\x1e\x87\x59\xce\x29\x95\xc8\x2a\x19\x20\xfa\xec\xe7\x1f\xf7\xb1\x1c\x78\x97\xb0\x02\x6f\x5a\xc6\x31\x17\x15\x50\x9d\xd5\x7e\x57\x4a\x36\xe6\x4d\x00\x89\xd3\xd0\xba\x93\x7f\x43\x78\x92\x0c\xb0\xd4\x5c\x73\x37\xc0\x42\x35\x66\xe5\xe5\x48\x8a\x44\x0d\xc4\xf3\x22\x2d\xd7\x9f\x13\x4f\x1d\xc8\x44\xc9\x58\xb4\x67\x3c\x4d\xea\xb5\x5d\x97\x11\x13\xaa\x90\xe4\x88\x43\x26\x4c\x60\x09\x21\x9c\x56\x2d\x28\x12\x1d\x78\x38\x69\x64\xfc\xb0\x53\xa1\xbb\xcf\x8d\x2d\xd2\x54\xa6\xf5\x9a\xbe\x07\xb5\xb8\x22\x47\xac\x0f\x75\xc0\xd0\xbf\x11\xdf\x3c\x30\x0c\x6c\x7f\xd5\xbb\xbd\xe3\xdd\x17\x66\x06\xdf\x6b\x69\xe8\x6b\x06\xdb\x0a\x16\xe5\x14\xbd\xc5\xfb\xa6\x7c\x18\x54\x39\x97\x8d\x44\xdb\xf4\x92\x7a\xd1\x0d\x5b\x54\x40\x17\x17\x46\x8d\xab\xd7\xb6\xee\xa0\x6e\x91\x6b\xdd\xed\x29\x9e\xb6\xc2\x96\x9c\xa5\x72\x76\xf1\x32\xbc\x91\xa8\x6d\x1b\x54\xcf\x70\xaf\x58\x8d\xfa\x03\xb8\x60\x68\x25\xb9\xe6\x72\x96\x88\x74\xdf\x44\xa5\xe0\x15\x76\x2a\x6e\x33\xfd\x63\xbd\x56\x73\x5b\x05\xad\x4b\x6f\x2d\xeb\x09\x48\x77\xc8\x9e\xb7\x6a\x47\xab\xb8\x90\x9d\x32\x66\xe2\xfb\xe6\xe5\x09\xa0\x54\x4e\x6a\x95\x88\x57\xce\xa1\xcf\xbf\xa2\xbd\xcb\xf4\x25\xfd\x9c\x9f\xe5\x9a\xe3\x78\x5e\x7e\x81\xe4\x54\x2a\x0d\xd3\xba\x17\xee\x3e\x48\xd5\x3e\x5f\x01\xac\xe1\x6b\xa0\xee\xef\x9c\x46\x31\x19\x6d\x77\x98\x9d\x61\xb0\x9c\x97\xb6\xe1\x8c\x4c\x4a\x65\xd6\xf3\xb6\x86\x0a\x36\x27\xb7\x89\x1e\xa5\xb4\xf5\x1d\xdf\x8b\xfa\x10\x25\xf4\xf9\x33\x81\xfa\x81\xc6\x76\x78\xae\x94\x56\x0a\x3f\x3b\x09\x18\x61\x98\x26\x8e\xab\x11\x7e\xf2\xbb\xf3\x70\x07\x47\x7f\xe9\x93\x6e\x7e\x8e\xc5\x08\x07\x32\x89\x19\x1f\x0c\x2f\x05\x8f\x0b\xee\x80\x42\x27\x03\x9e\x8a\xcc\xaf\xa8\x90\xf9\xc2\x10\xb8\xa4\x15\xdf\x89\xd5\x37\xc7\x3c\x19\xf4\x0c\xac\x3d\x00\xed\xfb\x0d\x9b\x5f\xe8\x52\x4d\xe7\x84\x49\x97\xb9\x69\x20\xe3\x98\x4f\x94\xa8\xe7\x51\xdb\x2c\x23\x78\x64\x5a\x03\xc8\x80\x54\x1f\x45\xa9\x18\xc9\xdb\x43\xc8\xe2\x38\x3c\x30\xaf\x41\xcf\xe3\xf6\xf5\x6b\xf0\xd9\x44\x3f\x77\x08\xc7\xa1\x36\x10\x39\x77\x25\x48\x2e\x8b\xf4\x3b\x6b\xd4\x64\x29\xa7\x94\x86\x3c\xc1\x02\xf8\x89\xcc\x0c\x28\xaa\xbf\x69\xad\xda\x34\xed\x76\x61\x23\x26\x71\x94\x39\x31\x0c\xf6\x0f\xe5\xbd\x99\x84\xbf\xac\x4a\x4d\x4b\x01\x09\x51\x87\xb9\xfe\xfd\x9a\x56\xfa\xef\x1f\xa1\x8d\x6e\xbd\x7f\xf4\x96\x8d\x52\x7e\x09\x89\x98\x6b\xdf\x0f\xa3\x9b\x1f\xbe\x57\x13\x9e\xfc\xf0\x93\x88\x63\xc9\x3e\xca\x34\x1e\x7e\xbf\x09\xdf\x7c\xbf\xa9\x7f\xad\x61\xf0\x01\x53\x7a\x42\x80\x51\xf0\xb0\xe3\x4a\x05\x1e\x16\x58\x1d\xc6\x1c\x32\x39\x62\x4f\x4d\xdd\x95\x19\x04\x4b\x42\x6e\x56\xf4\x38\xb3\xc3\xa3\xa8\xd9\xd7\xf2\xa9\xe8\x96\x4c\xc6\xcc\x03\xfe\x5b\x32\x33\xf4\x8b\x34\x53\x00\xbf\x2d\x8e\x35\x6a\x9c\x83\x0c\x26\xa8\xc0\x39\x38\x07\x76\xa8\x17\xe1\x09\xe6\x33\x5a\x84\x82\xea\xaa\xbe\x7c\x9e\xc9\x56\x5f\xb4\x60\xf1\xb8\x09\x9e\x37\x9c\x71\x35\x11\xa9\x4b\xd5\x61\xe0\xa1\x2b\x0a\x3a\xfa\x6a\x7c\xc5\x7c\x20\x86\xf8\x04\xc8\x64\x89\x8a\x4e\xbf\x9c\x35\x76\xbf\x60\x4f\xeb\xcd\x02\xf5\x6f\xe2\x28\x2b\x97\xd4\x08\xdd\x81\x4f\x8a\x59\x94\xee\xed\x1c\x50\x70\x05\xf8\xd0\xb4\xce\x13\x83\xc1\x34\x5d\x7c\x2c\xed\xa6\xfb\xc7\x51\x83\x6e\x06\x3c\x4d\xb3\x4d\x88\x1d\x78\xe7\xf1\x99\x41\x2c\x13\x01\x97\x21\x5c\xcd\x8d\xe0\xdd\xbd\x87\x9a\x09\xd3\xd6\xfb\x4a\x9f\xcd\xfc\x77\x8b\xb8\x71\x6f\xda\x57\x59\x4a\x93\xda\xb2\xf3\xd2\x60\xec\x94\x72\xb0\xd0\x6f\x1a\x42\x9e\x32\x7c\x6c\xd2\x6f\x5e\x6f\xba\x7e\x4b\x41\x34\x2c\x4f\x6d\x4f\xb8\x66\x77\xd0\x00\xd5\x53\xaf\x20\x20\xc1\xf5\x6b\x16\x98\xae\x0d\xa1\x79\x90\x5f\x66\x39\x5c\xd4\x99\x04\x92\x83\xc7\x28\x0e\xd0\x09\x18\x89\x4f\x93\x17\xf8\x36\x47\x93\x89\x18\xda\xca\x78\xce\xfb\x68\x10\xf3\xf1\xc4\x51\xbe\xef\x76\xb8\x90\x10\xc6\x7c\xde\x17\x7b\x71\x34\x21\x2f\xb1\x52\xb5\xd0\x1a\x97\x67\x99\x28\x63\x71\x8e\x30\xbe\x5f\x20\xc8\x7a\xee\x6a\x9a\x25\x43\xd9\xee\x44\x66\x18\xd2\x08\xab\x87\xe0\xf8\xfe\x34\xc3\xb2\xb2\xf8\x35\x1f\x4f\x6c\x1c\xc4\x72\x77\x89\xca\xc1\xd7\x77\x9f\x28\x15\x9c\x1b\x25\xb7\x7d\x99\x5c\xab\x1f\x84\xc1\x3d\x9f\x7b\xd0\x6c\x6e\xb2\x9e\x66\x47\x72\x34\x0a\xd5\xb4\xb8\x12\x0c\x81\xd1\x9c\x08\xf6\x90\xa5\x42\x65\x58\x1e\x82\xc5\x3c\x13\x56\x2d\xb4\xba\x6c\x67\x5c\xd3\xde\x1a\x93\xb3\x7b\x93\xa2\x27\x08\xb8\x6e\x9b\xd7\xe2\xbd\x21\xcb\xf8\xc3\xa1\x11\xc4\x94\xea\x40\xbd\x01\x4f\xc9\xc3\xd6\xe0\x0d\x5c\xe2\xd6\xa7\xc5\x1c\x21\x96\xc8\x61\xdf\x13\x54\x3d\xa7\xa2\xfc\x8a\x0f\xfc\xf5\x18\x97\x0d\xde\x28\x4a\x2e\x5b\x65\xc2\x0b\xc5\x15\xb9\xdd\x37\x28\x89\x63\x23\x18\x40\x71\x2b\xb7\x33\xed\xf2\x37\x51\x78\xfc\x5e\x96\x68\xe9\xfc\x45\x05\x52\x63\xb9\x94\x6d\x9e\x3a\x25\x0c\x6b\xc1\xe3\xa2\x28\x8f\x9a\x07\x6d\x40\x91\xdf\x2f\xe4\x06\x87\x81\x7e\x7b\xc6\x31\x9a\x2b\x0a\xbc\x13\x5d\x12\x6f\xb0\xe9\x08\xe0\x8d\x89\x77\x20\x94\x15\xd2\x9c\xc8\x7a\x17\x67\x29\x7f\xde\x8d\x82\xa2\x78\x73\xd3\xab\x25\x1b\x0b\x7d\x74\xb5\xa4\x47\x2e\x29\xc6\xf3\x82\x4e\x6f\xb9\x2e\x2d\x4f\x76\x8b\xd8\xc6\x97\x52\xe3\x34\x65\xa3\x0f\x85\x76\x2f\x91\x87\xd5\xaa\x38\xc7\x79\x4f\xb2\x87\x93\x17\x38\x21\x03\xf4\xbf\xc8\x29\x8a\x47\x20\x30\x96\x5c\x19\xf5\x06\xd1\x66\x94\x30\x99\x0e\x4d\x79\xb6\x68\xe2\x69\x4b\x1d\xfc\x84\x78\x76\x48\xc9\x26\xaa\x28\x52\x58\x6c\x70\x3a\xb1\x97\x19\x86\xc7\x64\x92\x22\x13\xe2\xb9\x0d\x3d\xa2\x70\xb9\x82\xaa\x55\xc3\xc2\x15\x06\xf7\x5e\x89\x6a\x2f\x8c\xdf\xad\xb0\x15\xa3\xd7\x7c\xf0\x72\xc9\x52\x77\x37\x3a\xa2\xaf\x78\x63\x87\x8d\x4e\xd1\xa2\xe0\xbe\x08\xa5\xa4\x3b\x5b\x58\xac\xd9\x41\x5f\x8d\x10\x0b\x03\xe8\x41\xbe\x66\xcb\x36\xc2\x4a\xfa\x73\x36\x49\x21\xc5\x33\xe4\x0b\x92\x63\xc1\xa0\xf8\x79\x72\x89\x40\x66\xd6\xc8\xa1\x4c\xb0\x25\x65\x15\x00\xb5\x73\x3a\xf4\x81\xe1\x00\xfc\x4a\x70\x08\x98\xcf\xa2\xb1\x30\x9c\x49\x65\xa9\x71\xe4\x34\xb2\x19\x7d\x03\x18\x34\x73\x7e\x07\x16\x0f\x3d\xe1\xd9\x15\xcf\x9a\xe6\x44\x83\x7b\x92\x8d\x1c\x85\x4a\xb6\x3e\x37\xb0\x3e\xda\x90\x50\xfa\x46\x20\x2c\x8d\x25\xca\x51\x30\x9e\x0e\xae\x2a\x1c\xdb\x8d\x3c\xf0\x70\xc7\xce\xd1\x4c\xe6\x8d\x1c\x40\xa4\xf1\xe0\x4a\xe4\xcc\x6b\xf6\x2d\x16\xea\x1d\xca\x14\x22\x86\x83\xa3\x31\xc2\xc8\xf0\x38\x7d\xfa\x6b\x2c\xb8\x96\xf0\xbc\x3c\x6b\x22\x19\x86\xfb\xd4\x46\x30\x50\xcf\x2f\x1a\x4f\xe2\xc8\x28\xd4\x43\xe1\x8f\x67\xf9\xee\xf4\x1b\x48\x9c\xe6\x92\xc0\xb9\x1c\x99\x59\x2f\xb9\x3c\x1d\x75\x36\x58\xcb\xea\x28\x8c\xee\x2a\x80\xe5\xe9\x04\x37\x37\xd9\x2e\x4b\xc4\x25\xa6\xf4\x4a\xc3\xe5\xbb\x64\x3e\xa5\x5e\xfa\x13\x93\xe1\x49\x24\x43\x03\xcc\x2c\xc7\x45\x9d\x48\xf2\x5a\x03\xfb\x05\x63\x1f\x45\x4d\x5f\x8f\x44\x9b\x9e\xfb\x88\x23\xe7\x1c\x41\xb7\x9d\x3e\x48\x55\xd8\xf5\x5a\xc1\xfa\x4c\xac\x2f\xc4\x08\x44\xca\x03\xe5\x95\x28\x1d\x48\xfd\x26\xcf\x44\x3c\x67\xd3\x04\x42\x43\x87\x6d\xc6\xde\x9b\x18\x8f\xa6\x57\x68\xdd\x05\x2a\x43\x34\x08\x64\xf7\xcd\xd2\xe8\x5a\x64\x57\xa9\x9c\x5e\x5e\xd1\xa3\xb6\xef\xaa\xf1\xca\xc4\x1b\xb4\xe9\x24\xbf\x5a\xc6\xa6\x4a\x58\x5c\x25\x44\xaf\x52\xe1\xc3\x59\x61\xc6\x9f\x78\x48\x79\x6d\xc0\x9e\x64\xb4\x5a\xa5\x86\x51\x17\x93\xf2\xf9\xb3\x17\x7b\x5a\x6a\x3e\x0b\xa6\xbc\xb4\xb9\x57\x67\x7e\x69\xdb\xd9\x00\x58\x69\xd0\xee\x41\x59\x43\xae\x06\x51\x54\x6c\x5b\xd6\x34\x8b\x62\xb1\xcf\x33\xce\x1e\xa0\x5d\xbd\xe1\x84\xfe\xcd\x4d\xf6\x4a\xc0\xe5\xa6\xf1\x36\x10\x09\x4f\x23\xd9\x34\xc2\x35\xe8\x79\x26\xa9\xc8\x4c\x36\x67\xe4\x8a\x6c\xa6\x1f\xe0\x5e\x41\x5c\x07\x4c\xa6\xd1\x25\x46\xcf\xda\x33\x0c\x2a\xad\x2c\x65\x3b\x9a\xe6\x1e\xea\x8f\x41\x18\x35\x09\x45\xe6\x36\xd0\x87\xf0\x14\xf2\x0a\xed\xb0\x47\xe1\xd2\x10\x17\x7e\xe3\x32\x64\x99\x76\x5e\xb3\x0a\x54\xd1\x3f\xff\x2a\x8a\x62\xb1\x4a\x3b\xa0\x71\xc0\xf2\xbe\xbe\x10\x30\x88\x6c\xa5\x3e\x8e\x14\xc0\xfc\x1a\xee\x44\x0f\xcb\x64\xf7\xcd\x86\x34\xc3\x90\x04\x8a\xc6\xe6\x64\x02\xb5\xc4\x9d\x3f\xde\xac\xe2\x76\x65\x3b\x3e\xa6\xe1\x22\x7e\xa8\x37\xa5\x3c\xac\x5d\xdf\xa6\x32\xb5\x33\x99\x09\x1b\x9f\x39\xf0\x23\x05\x8d\x3e\x67\xc1\x6c\x90\xdd\x90\x84\xe0\x4d\x6d\xa1\xa9\xc1\x4e\xab\xca\x31\xc3\x53\x4b\x20\xf0\xa6\x0f\x3b\xaf\x99\x60\xe5\xfa\xe9\x40\x78\x41\x30\x2b\xa8\xab\xd9\x0e\x0b\xb9\xe4\xcb\x02\xde\x49\xcc\x99\xa9\xe0\x91\x8b\x12\x4a\x22\x67\x10\x9b\x8d\xd9\xb7\xac\x9e\x03\x33\x1b\xd0\x75\x86\xe2\xb2\x95\x5c\xcb\x6f\x36\x56\xb8\xd7\x42\xe3\x59\x19\x2f\x00\xe7\x0a\xa1\x9c\x57\x82\x77\xd7\x79\x17\xd9\x29\x69\xfc\x40\x68\xa5\x6c\x90\xa4\xee\xb3\x75\x05\xa3\xa4\x7c\x52\xc5\x4b\x72\x67\xc7\xdd\x92\x0b\xa8\x33\x4f\x9c\xa5\xbc\x42\xae\x05\x52\x33\x9e\x87\x39\xc0\xa5\xe4\x5e\x05\xc1\x3b\xd3\xcb\xde\xbc\x0e\x84\xaf\xb2\xc3\xb4\x78\xcc\xf1\xc1\x87\x6b\x01\xf2\x14\x7f\x96\x8c\xca\x9e\xcf\xbe\x28\xc7\x4a\xf5\x29\xa7\xe1\x5e\x19\x81\x6c\x96\x4a\x2d\x05\x43\x42\x07\x13\x4b\x6e\x76\x1e\x75\xd1\x3e\x61\x22\xa8\xbe\xb8\x8c\x30\xd3\xb2\x4c\x2b\x24\xaf\x26\xbe\x43\x21\x32\x7d\xf8\x37\x3e\x08\x38\x98\x7e\xe2\xf0\x6f\xe8\x55\xaa\xf1\x1c\x81\xd0\x99\x0c\xc1\x15\xad\x6d\x73\x76\x14\xb7\x5a\xcb\x58\xe4\x4f\xed\xe6\x50\x3e\x38\x1b\x5c\x89\xc1\x35\x19\x7e\x30\xa3\x11\x53\xc8\x12\x9c\x18\x64\x7e\x31\xe6\xad\x80\x41\xe5\x7e\x74\x66\xb1\x7c\xaf\x6f\xbf\x0d\xf5\x1d\xcb\xce\x5c\xae\xbf\x77\x0b\xe4\x7e\x09\x68\x11\xf7\x78\x01\x37\x2b\x9d\x6f\x05\x27\xcb\xbf\x48\x16\x0c\xdc\x58\x60\x9e\x03\xe5\x8a\x08\x34\x30\x4b\xbc\xa0\xf0\xe9\xb3\x12\x5f\x27\xc0\x3e\x63\x2f\x76\xb5\xa6\x46\x31\x73\xec\xbb\x74\xc9\x0b\x0f\xc8\x62\xa6\xe5\xc8\x6e\x01\xb5\x7b\x04\x07\x26\x91\x02\xb1\xf9\x76\xd4\x9d\x8a\xdb\xca\x11\x99\xdf\x7a\x5d\x02\xf3\xaf\x3f\xcf\x10\xee\xbe\x2d\x65\x93\x15\xbf\x2f\xa0\xb8\xc2\xc4\x57\xa4\x36\x47\x04\xff\x44\xaa\x2a\xca\x08\xcb\xc8\x8a\x1c\x1b\xa9\xf6\x0b\x66\xce\xb2\xaf\x2f\x4c\xf0\xc9\x93\xb9\x79\x7e\xf9\x8f\xa5\x2b\x91\xea\xc7\x0b\x14\xd6\x8a\xb2\x9a\x55\xca\x5d\x4a\x72\x2e\x73\xd2\x54\x41\x11\xe6\xd0\xb8\xcc\x78\x8f\x73\x2d\x77\x11\x2a\xc8\x73\x9a\xa9\x2b\x39\x16\x68\x4e\x0b\xea\xe3\x94\xc9\x1b\xf4\xdc\x44\x48\x46\x14\x44\x03\x5c\x94\x15\xac\xb8\x90\x00\x08\x1d\x9b\xa7\xb0\x97\xce\xac\xa8\x87\xea\x8b\x6c\xe6\x27\x15\x70\x26\xb9\xaa\xcb\xef\xee\x24\x71\x17\x36\x53\x90\x1f\x17\x53\xc6\x12\x76\xe3\xe9\x2a\x8f\x9c\x8f\x37\x3d\x4b\x0b\xea\xca\x72\x47\xf4\xff\x1f\xab\x21\x73\xf9\x3b\x2a\x35\x91\x63\x7e\xfb\x06\x5d\xd3\xca\xbd\xba\x16\x19\x7f\x48\x31\x60\x41\x34\xbc\x23\xc4\xce\x54\x96\x5e\x58\x43\xef\x6c\xa1\x4e\x6f\x0d\xc9\xbb\x60\xa2\x71\x6c\x7e\x91\xf5\xc5\x5a\x78\x4b\x5c\x9e\x76\x80\xec\x02\x39\x3e\x52\x5e\x60\x81\xd5\xae\x70\x96\xc8\x96\x9c\x34\xf1\x89\x3f\xce\x19\xbd\x5c\x94\x49\x25\x33\x0a\x3d\x71\x16\x2b\x19\x67\x95\xb7\x2e\xf4\x1b\x8a\x58\x64\x62\xef\x8a\xa7\xaa\xfe\x96\x67\x57\xed\x71\x94\xd4\x29\xfd\x92\xdb\x10\x77\x0c\x83\x14\x2f\x88\x75\xef\x84\xbd\x96\xe9\x8c\xa7\xc3\x16\x42\x45\xc5\x10\xb9\x07\xfb\xf9\x5b\x56\x3a\x74\xa7\xe4\xd9\x90\xd9\x02\x6b\xc4\x18\x11\xf8\x30\x28\x30\xa6\x30\x15\xbe\x18\x42\x09\x3c\xc8\xdf\x14\xcf\x19\x1f\x8d\xc4\x20\x83\x54\x35\x79\x45\x9e\x60\x8a\x8f\x85\xf1\xb0\x2e\x1e\xc4\x05\xc1\x38\x41\x86\x0e\x39\xf2\x41\x67\x92\x66\x67\x5c\x55\x6c\x9e\x9c\x0a\x3b\x39\x02\x19\x47\xc9\xb4\x44\xc1\xdc\xae\x4e\x72\x90\x9f\x43\x4e\x57\x69\x73\x4b\x12\xae\x16\x1e\x71\x8f\x04\x2a\x02\x4b\x17\x58\xf1\x5e\xae\xa8\x93\xf6\x0d\xc2\xf0\xe3\x4a\x66\x61\x46\x68\xdf\x61\x96\x36\x29\x5e\xb5\x8c\xc7\x94\xc0\x77\x9e\x11\x5e\xae\x02\xc2\xe8\x96\x73\xed\xbc\x71\x89\x0f\x8c\xf9\x80\xa7\x19\x12\x7f\x53\x8b\x9d\x6f\x28\x71\x45\x68\xa6\x64\xdf\x7e\xeb\x07\x45\x31\xbf\xdb\x5a\xee\x7e\xf7\xe0\x9d\xe2\x3d\x75\x57\xeb\x4a\x3b\xf6\xd0\xc6\x69\xe9\xae\x76\xa9\x6b\x4d\x9f\x92\x39\xec\x04\xeb\x6f\xf9\x78\x33\x72\xb5\x34\x8a\x7b\xbf\xe5\xb7\xdf\x7a\xe3\x7e\xfb\x6d\x88\xc5\x1d\xf7\x5b\xa0\xaf\x7b\x27\x7d\x82\x07\xa5\xa8\x61\x0c\x33\x7a\xfc\xa6\x9e\x9e\x1c\x45\xa8\x14\xfc\x10\xfb\xbc\x1f\xcf\x59\x96\xce\x8d\x9a\x1e\x00\xda\xb3\x0b\x6c\x2b\x4c\xc7\x84\x49\x81\x67\xd1\xd0\x3b\x65\x4e\x32\x33\x69\xee\x02\x65\x6c\x49\x63\x10\x44\x89\xbf\x83\x3e\x47\x0b\x6f\x90\x23\xd4\x7a\xe5\x15\x74\x77\xf0\xc5\x1a\x82\x57\x8d\xd5\xac\x70\xbf\xd0\x9d\xc8\x02\xae\x70\x27\xaa\x20\x4b\x8c\x53\xca\x93\xca\x96\x55\xc2\x19\x4a\xe8\x94\xbc\x29\x50\xbb\x58\xe1\x34\x8a\xf4\xe1\x01\xdd\x61\x5b\x9a\x18\x00\x71\x0f\x8a\x8c\x27\x74\x31\x5e\xe2\xdd\xc4\xc8\x4b\xd8\xb9\xad\xd2\x64\xf0\x27\x59\x54\xe1\x39\x2f\x88\x82\xf4\x19\x8d\x28\x1e\x84\x9b\xf8\x80\x44\x26\x50\x32\xc0\x3e\x21\x72\xae\x1e\xe4\x95\x60\xb4\xeb\x0f\x76\xd8\x23\xbd\xb4\x07\x8b\x24\x0d\xdf\xd1\x78\xa9\x99\x97\xe5\x35\xf9\x79\x25\xc7\x22\x3f\xe1\x65\x4a\x97\xbb\xbd\x87\x3c\xc5\xdb\x82\x79\x2d\xb4\x46\x78\x14\xb9\xe2\xfc\x57\x7d\x12\x6f\x95\xaa\x21\x35\xaa\x61\x43\xab\x7d\x5a\x56\x74\xd1\x5f\x1e\x66\x66\xc7\x59\xa4\x21\xb7\x8d\x56\x5a\x4c\xe5\x0b\xdc\x3f\x10\x39\x6d\x0e\xd0\x3a\xdd\x87\xe9\x4d\x28\xcb\x45\xc9\x50\x51\xf2\x9c\x3f\xb7\x4e\x8e\x3e\x62\x69\x5b\x78\x6c\x78\x19\xd1\x5c\xfc\x3d\x34\x02\x99\xc5\x14\x5e\x35\xd5\x57\x82\x07\x4a\x5e\xc2\x42\x1f\x55\x2d\x88\xe1\x28\xe0\x0e\x7e\x19\x25\x4c\x09\x9e\x0e\x30\x17\x9e\x4b\xe1\x23\x47\x36\x80\xcc\x89\x46\x08\x42\xcb\x45\x04\x82\xb2\x35\xf2\x0a\x6d\xa5\x81\xb0\x30\x0f\x94\x7e\x24\xf5\xf4\x4d\x74\x22\x67\x9f\x4a\xb3\x51\x90\x24\x90\xca\x59\x9e\xae\x7d\x9d\x11\x2b\xf9\xbd\x7d\xc5\x55\xb5\x43\x85\xe7\xfd\x84\x61\x0b\x65\xe7\xf2\x8b\xb7\x71\x72\x16\xec\xdc\x8f\x10\x32\x6d\xd2\x4f\x22\xf6\x1d\x0e\xe0\xc2\x31\x91\x5a\x3d\xdc\x21\xb5\xea\x16\xbd\x0e\xc9\xa1\xb8\x15\x26\x69\x39\x48\xef\x14\x2c\xec\xb7\x5c\x8a\x72\xdd\xb1\x1c\xdd\xe4\x70\x46\xd6\x9d\x8d\x8d\x97\xc1\x16\x78\x48\x33\xd6\x35\xbd\xc8\x82\x2a\x8d\x22\x60\x56\xdb\x01\x7f\x0f\x0a\xbc\x25\xc7\x3d\xa0\x0e\xb3\x17\x90\x12\xec\x0f\x9a\x3e\x0a\x69\xcf\x54\x9e\x60\x93\x01\xf8\x8e\x19\x42\xa5\xfb\xa4\x64\x33\xe0\x1e\x7b\x47\xf6\xbf\x4b\x61\xf6\xc4\x02\x18\xe1\x53\x26\x7f\x46\x72\xad\xe4\x88\x34\xa8\xa6\x76\x3e\x25\xcc\x84\x2c\xd2\x4b\xb7\xeb\xcf\x27\x72\xb6\x4b\xa0\x0a\xee\xdc\xc1\x11\xf1\x7d\xfa\x40\xbd\x6a\xac\xcd\xef\xf4\x23\x6c\x67\x67\x87\xd5\x60\x66\xb5\x46\x11\x99\x7e\xa0\x89\xbb\xe5\x73\x47\x00\x63\x5d\x4a\xf0\xeb\x45\x7a\x82\xf7\x1e\xd2\xb9\xf7\x68\xd3\x4c\x82\xee\x7f\x6a\x62\x90\xbe\xf6\xe1\x20\xe4\x66\x21\xc3\x71\x67\x64\xf1\x06\xba\xb0\xc3\xd1\x42\xd7\xfc\x23\xcf\x2d\x3f\xa0\x8f\xc2\x43\xf1\xf8\xee\x6b\x5f\xb8\xef\x06\xee\xc7\x28\xbb\x32\x6a\xa4\xfc\x91\x6d\xb2\xa2\x4f\xbf\x0b\x7f\xf3\x9f\x61\xad\x8e\x79\x74\x19\xb2\x3c\x71\x81\x8f\x79\x2a\x73\x02\x1d\x00\xf3\x7a\x54\xc0\x9c\xb8\xb8\xd1\x2d\x8f\x61\xf8\x43\x3d\xd8\x61\x1e\xff\xb0\x1d\x1e\x2e\x15\x71\x5c\xf4\xe4\x4a\x4c\x45\x8b\x7c\x39\x46\x72\x17\x3e\x13\x2c\xb1\xc0\x6b\xdc\xf4\x2d\x02\xfd\xed\x8a\x12\x7d\x9b\x95\x6c\xd0\x4a\x87\x87\x2e\xe0\x55\xce\xce\xbe\x71\xa0\xbf\xab\x0c\x10\x1c\x09\x84\xbe\xd6\x29\xb2\x0c\x70\xf1\x31\xf2\xe6\x5d\x0d\x62\xe9\xc9\x5a\x1d\x31\x2b\x1f\x2c\xdc\xa9\x15\x4f\x55\x8e\x39\xe6\x48\x1a\xbd\x99\x67\x82\x65\x29\x07\x23\x9b\xd5\x42\x65\x72\x92\x33\x18\xa7\xa2\x06\xfb\x76\x45\x19\x52\x46\x51\x32\x84\x77\x6b\x3b\x64\xde\xde\x60\x3b\xe4\xd8\x54\xa4\x4f\xff\x48\x2e\xa0\xc6\x1c\xc0\xfc\x22\x7d\x1b\xfe\x4a\x44\x1d\xc0\xda\x6a\x98\xab\xa2\x8c\x1d\x54\xa4\x5a\x6a\x0f\xb4\xb0\xfc\x0e\x0a\xe7\x97\x24\x5d\xf2\x94\x59\xef\x6c\x04\xaf\xd7\xe7\x2c\xba\x08\x5e\x65\x01\xaa\x2c\xff\x2b\x3b\xb3\x7e\x48\xe6\x1a\x9c\xc8\x1b\xa3\x91\xbb\x19\xf5\x3e\x94\x1c\x6d\x1b\xd0\x05\x49\xba\x91\x54\x5d\xc2\x75\xda\xfc\xb2\xcb\xf3\xf7\xbc\x19\xed\xf9\xb2\x03\x97\x5e\x61\xe0\x0b\x9c\xa5\x91\xb8\x29\xac\xa1\x24\x21\xd2\x17\x76\x3a\x93\x4c\x60\x42\x24\xcc\xd6\xe4\xbf\x5f\xf2\x48\xd0\x18\x10\x50\xd2\x15\xeb\x0b\x2c\x3c\xb0\x7a\x85\xbb\xc9\x10\x79\xc9\xe2\xeb\xd0\x2c\x29\xff\x74\xd0\xb7\x82\x5d\xee\x0f\xab\x5c\x39\xbe\x20\xf5\x75\x97\x8e\x1d\xb7\xb5\xc6\x5d\x77\x7f\x77\x95\x39\xcb\x05\x2c\xfa\x07\xda\xe2\xed\xfe\xc8\xd8\x3c\x7e\x7e\xf7\x3b\x6a\x39\x3d\xdb\x3c\x69\xff\x9a\xe4\x5c\x71\x09\x85\xb4\x7c\x77\x1e\x9a\x2c\x64\x9e\xa6\x85\xa6\xc9\x8f\x77\x8a\xa0\xb7\x68\xff\x7e\x27\x84\xe4\x8e\x40\xc5\x6b\xa4\x77\xbc\xfb\xae\xe6\x5a\x41\x1d\x00\xb6\x9f\x46\x71\xcc\x86\x72\x06\xc9\xc7\x12\x2f\x35\x3c\xe6\x84\xd1\x9d\xda\x80\x62\xfb\xf4\x5f\x8d\xd0\xf1\xbe\xf3\x28\x1d\x7b\xe7\x0e\x93\x33\x89\x86\xed\x2f\x6c\x7b\x4f\x0f\xe4\x1f\xed\x60\xe9\xf9\x87\x53\x79\x0e\xf6\x7f\xf5\x0b\x02\x73\xe8\x81\x7a\xc6\x7f\x38\x51\xd8\x7c\x7e\x36\x85\xee\x22\x19\xb2\x83\x64\xb8\x46\xd7\x13\xfd\xeb\x17\x6a\x04\x7f\x40\xb6\x2c\x88\x41\x5f\x7c\xae\x94\xc8\xa0\x7d\xf1\x18\xc1\x22\xc0\xbc\xd4\x44\xc0\x4e\xcf\x01\x3f\x05\xe4\xe2\xbd\x88\xaa\x6f\x1d\x0f\xae\x7d\x24\x95\x81\xf2\x25\x36\x67\x15\x06\xfd\x67\x32\xbc\xeb\xb0\x22\x19\xda\x41\x8b\x60\xca\x87\x84\x65\x6b\x14\xc1\x56\x96\xcc\xf5\x6c\xeb\xa2\x59\x82\x8d\xb3\x0e\xa6\xb3\xb4\xfd\x0f\x92\x61\x61\x50\xe8\x5b\xf8\x12\x7a\xfa\xe1\xce\x50\x03\x41\x79\x89\x27\x40\x73\x99\x62\xcc\xc0\xfb\x93\x37\x85\x22\xa5\x36\xad\xc4\x17\xaf\x53\xcf\xef\x8e\x75\x15\x16\xd3\x05\xb6\x71\xdd\xaa\xb3\x53\xc0\x53\xd7\x7d\x17\xa0\xd0\xe8\xc5\x80\x22\x77\xbc\xf4\x15\x97\x44\x76\xbb\x59\x7d\xcb\x3d\x98\xb1\xdd\xe7\xcf\x84\xb8\x4c\x9a\xb2\x2c\xe8\x21\x51\xdf\x3c\x57\x9b\x8d\xff\x8f\xbd\xb7\xed\x73\xe3\x36\xf2\x45\xdf\xeb\x53\xc0\x3a\xbb\x26\x69\x91\x9c\x91\xf7\xe4\x9c\xec\x8c\x27\xb9\xd2\x68\x94\xe8\x46\xf2\xe8\xa7\x19\xdb\x39\xeb\x78\x15\xb0\x1b\x24\x3b\xd3\x6c\x74\x00\x90\x1c\x3a\xd6\x77\xbf\x3f\x54\xe1\xb9\xd1\x24\x47\x96\xb3\xd9\x9c\x9b\x17\xb1\x86\x0d\x14\x9e\x0b\x85\x7a\xf8\x57\xbe\x85\xe8\x51\x1e\x29\x47\x87\xf9\xa7\xba\x59\x1b\x5d\xca\xd9\xa7\x46\x41\x57\xe2\x37\xbb\x6b\x08\x2a\x04\x70\x4f\x39\x89\x3f\xde\x79\xe1\xfb\xe0\xe8\xff\xe5\x7a\xf7\xb3\x29\x5d\x7b\x9f\x29\x77\xf4\xfc\x50\x2e\xc8\xe4\x69\xcf\x99\xfb\xa5\xc7\x8b\x7d\x64\x4d\xf9\xb3\xc6\xea\xa8\x24\xe3\x8c\x06\xd0\x1d\x25\x9a\xd3\xbe\x91\xe8\xe6\x02\x09\xba\x0b\xde\xcc\xab\xc5\x5a\x40\x3c\x05\x6c\x3d\x22\x99\x52\x55\xb3\x90\x36\x6c\xac\x66\x73\x05\xf9\x42\x08\xb1\xb3\xd2\x4d\x46\x62\xa7\x10\x1c\x44\x4c\xe9\x6c\x61\xc8\x4b\x72\xee\x00\x0b\x65\x55\x32\x2c\x9e\x2d\x8d\x29\x4a\x4c\xcf\x21\x2a\x1d\x2f\x1c\xf3\x6c\x06\x1f\x93\x8e\x46\x3a\x3c\x1b\xa0\xc5\x76\x42\x33\x66\x66\x6c\xd8\x37\xed\x2d\x7f\x67\x4e\x6a\x84\x18\xa1\x8f\xa0\x21\x04\x36\xfd\x60\x42\x3d\x01\x36\x57\xef\xd8\x62\x5d\x53\x71\x75\xdf\x0a\x26\xa5\x4f\x93\xf3\x8e\x2d\xae\xee\xdb\xa1\x9f\xb2\x27\xd1\x18\x9f\x90\xc7\xff\xf2\xd8\x11\x42\xc6\xc3\x4a\xbc\x3d\x2f\xe2\x9e\x4d\xd1\xea\x32\xcc\xb6\xe6\x17\x3c\x26\xa1\x97\x5c\x33\x95\xf8\xe7\xdf\xc4\x47\x39\xb3\x27\x60\x66\x21\xbc\x29\x70\xf3\x99\x06\x13\xf6\x52\xf0\xd5\xe1\x09\x8b\x9a\x39\x7a\x5f\xa7\x2e\x64\x86\xdc\x68\x14\xed\xa9\x03\x33\xfe\xf8\x3f\x1f\x77\xe6\xda\xef\x45\x47\x0a\xb3\x32\x5e\xc4\x63\x32\x2c\x37\xdf\x8c\xe7\x93\x50\x37\xcb\x36\xcc\x6c\x5f\x01\xe9\x98\xd7\x3c\xe9\x0c\x0f\xc8\x7c\x7f\xfa\x43\x67\x0d\xa1\x7a\xba\x82\xfa\xc7\xaf\xa2\x6d\x98\xae\x9e\x8d\x61\x47\xd9\xc6\x48\x00\xe1\xfa\x8f\x43\x62\x56\xc0\xd1\x8d\xfb\x3b\x8a\x96\x25\x54\x1f\xda\x8f\x47\xa5\xde\xe4\x75\xad\x65\xcb\x7f\xc6\xf4\x9b\x61\xe2\xdb\x24\xd5\x66\x90\x52\xf3\x19\x19\x6c\x2a\xb6\xd5\x93\x30\x20\x90\x56\x93\xcf\xc9\xbc\xba\x67\xe5\x64\x89\xe9\x78\x00\x79\x13\x0c\x7d\xf6\x69\x0b\xe1\x4e\x1e\x5a\xab\x01\x77\xd4\x82\xb7\xbb\x89\xe2\x93\xa2\xae\xda\x19\xa7\xc2\xa5\x62\x1c\x7c\xeb\xe8\xdb\x64\x0d\x10\xa4\x68\x03\x69\xa9\xc2\x14\x86\x7a\x94\x36\x56\xd4\xe5\x30\xac\x1c\x2e\x14\xa2\x88\x3a\x44\xf0\xb7\x08\x01\x26\x20\x6b\xdd\xd3\xd3\xd3\xf1\xe9\xe9\x29\x54\x43\x5c\x15\x5d\x2a\xc8\x4a\x58\x99\x34\x89\x5f\xfe\xca\x67\xb7\xa4\x75\x6d\x54\x95\xf6\x53\xc9\x57\xd6\xed\x59\x30\x13\x1d\x57\x62\xae\xbf\x90\x18\x84\x6a\x53\x79\x47\x4c\x3a\xc5\x77\x41\x6f\x7c\x54\x9d\x3e\xd8\xd1\x70\x78\x43\x4a\xb6\x02\x24\x2a\x83\xfb\xa4\x5b\xc1\x3d\xc8\xf4\x3a\x1b\xa4\xcf\x70\x1e\xa8\x60\x34\xc2\x37\xb5\x6b\x85\x89\x3c\x65\xb5\xd0\xdb\xc9\xa2\x3b\xe1\x9a\x18\xbc\xcd\x64\x35\x88\x54\xba\xdb\x5b\x2e\xee\xe4\x58\x93\x63\x1b\xd6\xa0\x77\x13\xad\x6b\xc2\x45\x18\x06\x1a\xac\x2e\xa6\xd6\xc0\x2e\xf2\xf9\x3c\x41\xc3\xff\x9a\x2b\xe6\x63\xb9\xff\xf8\xf4\x29\x59\x71\xbd\x33\x7d\xb3\x0e\xfc\x46\xb7\xec\x7d\x8e\xd3\x86\x1f\x05\xd9\x16\xc3\xb6\x83\x26\x09\x79\xa5\xbc\xdf\x6b\x59\xcd\xe7\x55\xb1\xae\x15\x2a\x96\xef\x71\x63\xe9\x6d\x6a\x32\x00\x9a\xac\xab\x7a\x8a\xc0\xc7\xbf\x51\xf0\x74\x84\xf8\x7e\xfd\xda\xa4\x6a\xc9\x6b\xbe\x30\xde\xff\x90\x12\x33\x68\x5a\xef\x50\x19\x22\x6d\x85\x8b\x6c\x1c\xc1\xbc\x45\x56\xe6\xb3\x56\x2a\xba\x20\x0d\x5d\x31\x9b\xb5\x72\xea\x96\x11\x73\xa3\x4a\x1b\x2f\x08\x87\xfe\xaf\xeb\xaa\xb8\xab\x77\x84\x4a\xdd\x67\xe3\xd8\x29\x84\x5e\x51\x93\x78\x93\xe0\x89\x0c\xf6\x89\x3f\x9b\x85\xec\x3c\x2d\x82\x2e\x7f\x88\x8e\xcc\x33\x07\x97\x57\xd0\x16\xa4\x26\x3e\x37\x98\x7a\x2e\x39\x2d\x75\xce\xa6\x82\x9a\xe8\x41\x84\xe6\xc6\x13\x92\x38\x81\xda\xa3\x11\xbf\x4a\x6d\x83\xf8\xf2\x88\x12\x71\xd3\xb2\x7c\x6e\x90\x9f\x41\xe2\x1f\xf9\x7b\x20\xa8\x68\x90\x16\xed\x9f\x56\xfa\xbb\xf9\xee\xd9\xef\x62\x2f\x55\xcc\xed\xb6\x6e\x54\x55\x3b\x3c\x21\x04\x26\x40\x30\x33\xe3\xca\x62\x8b\x9b\xac\x6a\x49\xfe\xb4\xa7\xa7\x63\xf2\xd4\x27\x05\x7c\x71\xfd\x06\x95\x16\x80\x76\xac\x79\x9e\x6f\xce\x10\x07\xbf\x1d\xd7\xef\x75\x8d\x3d\x76\x09\xf2\xcc\xb5\xe6\x1f\x65\x41\x83\x3e\x79\xa7\x7b\xb5\x05\x13\x01\x08\x04\x2b\xda\x1a\x30\x65\xcc\x68\x7a\xf1\x1b\x87\x91\x13\xe5\xbe\xb5\x06\xff\x52\xd0\x2d\xa0\xc4\xd9\x93\x6c\x23\xf3\x0c\x40\x86\x60\xba\xc4\xfb\xe1\x08\x82\x00\xa6\x84\x7c\x6d\xac\xf4\xe8\xde\x08\x99\xdb\xd3\xc2\x58\x34\x88\x8c\x30\x41\x0a\xba\x17\x97\xb4\x58\x76\x12\x10\x3e\xb0\xdb\x5b\x9a\xe9\xb7\x0b\x4f\x74\xe1\x7e\x49\xd7\x6d\x7f\xec\xf7\xb4\x43\x7f\xfb\x10\x3c\x14\x4a\x52\xae\x21\xdc\x00\xf9\x18\x30\x3e\x65\xdc\xab\x95\x3e\x04\xd6\xc5\xd3\x24\xb3\xdc\xe9\xb2\x98\xa9\xb5\x32\xd9\x6a\xab\x1f\x99\x6b\xb3\xa6\x52\xe1\xfb\x1b\x64\xa1\x0e\xfe\xbd\xff\x8e\xe9\xec\x3a\x19\x1a\xc5\x9a\x59\x60\x46\x78\xbe\x78\xf8\x05\x5a\x3b\x44\x6e\xc3\xca\x11\x32\xad\x31\x31\x26\x08\x85\x3d\x7d\xe4\x03\x02\x10\xee\x5a\x1f\x61\xef\xa9\x4a\x96\x5c\x2a\x22\xd8\x5f\xd7\x4c\x2a\x69\x18\x72\x29\xe8\xc2\x8e\xdc\x5e\x17\x36\xf7\x3c\xd2\xd3\xa2\xf3\xba\x35\x69\xfc\x21\xfe\x47\xef\x49\xc0\xe6\xf7\x42\x56\x67\x53\x5f\x35\xd0\xf8\x7b\x07\xe9\xe3\x43\x54\x5d\x8a\x26\xf4\xe3\x44\x6e\xe9\x79\xa4\xfe\x62\x70\x3c\xc5\x98\x08\x36\x69\x79\xbb\xae\xf5\x8d\x6b\xd6\x0b\x29\x01\xf4\x26\x2c\x1c\x4e\x27\x84\x98\xf8\x99\x86\x6c\x9e\x26\xdb\x5c\x94\xad\xd4\x2c\xf6\x76\xc9\x58\x4d\xda\xea\x9e\xd5\xa4\x64\xb5\xa2\x64\xb5\xae\x55\xd5\xd6\x15\x5e\xd6\x55\xa3\xaf\x6b\xc9\x4e\x4a\x86\xff\x40\x0a\xca\x53\x90\x2d\x83\xab\xcf\x4c\x24\x12\xc4\x99\x9c\x92\x1b\xc6\xb4\x54\xa9\x5a\x79\x76\x72\xb2\xe0\x7c\xba\xa8\x4f\xe4\x1f\x59\xdd\xfc\xd5\xcd\x14\x50\xf9\x4e\xd7\x7a\xe3\x5a\xd6\xbd\x7d\xda\x99\x2b\xc5\xd7\xc5\xd2\x2e\xd2\x96\x11\x49\xb7\xa1\xe3\x1b\x7e\x46\xb4\x6b\xa4\x5a\x35\x0b\xc8\xeb\x5c\xb2\x7b\x56\x9a\x80\xde\x9d\x29\x57\x95\xac\x51\xd5\xbc\x02\xde\xd8\x14\xcc\xb2\x45\x08\xf8\x5a\x21\x2e\x0d\x6d\xc0\x3d\x19\x2b\x50\x50\xec\x47\x93\x7b\xab\x3f\x84\xe7\xc9\xe6\xaf\x0d\xf7\x30\x74\xdd\xcc\x15\x9c\x9a\x32\x98\x3d\xd3\x71\xbd\xc7\xb7\x01\xfc\x1a\x1a\x4d\xc2\x7c\xb6\x95\xbc\x31\x52\x06\xbe\x40\xfc\x66\xb2\x6d\x3e\x23\x8b\x35\x93\x9d\x80\x0f\x9b\x9b\x59\xd8\x3c\xdf\x20\xbb\xea\x33\x83\xe7\x16\xf7\x4b\xd0\x92\xa9\x78\x63\xeb\xc1\x29\x7e\x7b\xaf\x57\xe4\x7f\xc5\x2d\x7e\xb7\x64\x06\x29\x95\x91\x42\x89\x7a\xb2\x21\x77\x6c\x97\x24\x54\x37\xa7\xb7\xa5\xd2\x20\x5f\x05\x2d\x29\x51\x7f\xfb\x56\x7f\x88\xf0\x9f\x31\x54\xa6\xda\x74\x38\x87\xcd\x79\x9b\x72\x8c\x4b\x3d\x2f\x85\x55\x2d\xe3\x3a\x01\x3e\x11\x5f\x2b\xb2\xa4\x4d\x59\x87\x99\x76\xf1\x77\x19\x2c\x1b\xfc\xce\x67\xf0\x46\x11\x9d\x0f\x2f\xae\x9e\x7f\xf3\xbb\xf7\xbe\x87\x1f\xdc\xd3\xe0\xad\xe0\xf7\x3b\x1f\x4a\x8e\x68\x38\x1d\xc4\xdd\xed\xb2\x2a\x96\xc8\x3a\xa5\x02\xe5\xe7\x12\xed\x50\x5b\x5a\xdf\x41\xe0\x19\x4a\xc9\xfa\x3a\xb5\x3e\x00\x36\xf9\x87\xb1\x33\x59\xa9\x02\x51\x64\x38\xc4\x1a\x5a\xc2\x05\x5f\x31\xe3\x39\x9a\xca\x37\xe9\x4d\xfa\xc1\x6c\x06\x90\x44\xf4\xa9\x42\xd3\x7d\x37\x47\x79\x98\x0d\xbb\x2b\xc4\x4c\xf3\x6a\x54\xf7\x3d\x80\xce\xf7\x3f\x42\x9c\xa0\xfb\x2b\x39\x2d\x86\xdb\xa5\xa9\x7f\x55\x4e\xe0\xc6\x3d\x64\x2b\x56\x12\x60\xb0\x66\x2c\x04\x11\x14\x64\xbe\xd6\xff\xb0\x99\x78\x50\x32\x36\xe5\x62\x09\x9a\x36\xc5\x92\x0b\xa4\x66\xd6\x71\xce\x8b\xb5\x79\x24\x55\xfa\xed\x6a\xaf\x69\xfd\x3e\x5d\x53\x41\x1b\x65\x02\x61\x67\x8c\xd4\x4c\xca\x89\xe6\x13\x13\x2e\x26\xec\xaf\x6b\x5a\x4f\x14\x47\x6a\xf8\x6e\x9b\xdb\x50\xea\x77\xf6\x44\xe3\xd7\x57\x73\x7c\x54\x69\xf6\x02\x59\xfa\xa4\xcf\x1b\x04\x4f\x2e\x69\xf4\xbd\x26\x26\xe3\x1d\x64\xdd\x7e\x15\x89\x22\x48\x29\xd8\x6f\xa2\xfb\x3c\xb0\x00\xc5\x19\xaa\xfa\x04\x25\x07\xd2\x7f\x0e\xce\xd7\x81\x55\x0a\xd1\xac\xfe\x21\xd7\x68\x01\xcf\x4d\x71\xc4\x32\xd9\xe1\xff\xe3\x2f\x14\x36\x94\x5f\x26\x73\xf5\x38\x0a\x9f\x5d\x44\xfb\x2f\xb8\x51\xe0\xbe\x05\x9b\xe1\x3e\x42\x9d\xae\x42\x20\x25\x25\x2d\xaf\xb4\xd4\x12\x80\x65\x9b\x04\x27\x9d\x76\x2e\xdd\xd8\x32\xd9\x8e\x10\xdb\x9a\x92\xba\x92\xb0\x10\xf6\x55\x61\x53\xec\x07\x20\xcd\x3e\x1d\x98\x7f\x7b\xe8\xf5\xd3\x64\x2a\xeb\x3d\x4f\x8b\x02\xd2\x9d\x2f\x30\xc9\x46\xc9\x5a\xb5\x9c\xe0\x27\xd4\xb6\x5a\x2e\x69\x6d\xaf\xde\x15\xb7\xf1\xe1\xe0\xcb\xaa\x2e\x05\x83\x54\x3d\xde\x3f\x77\x1f\x2b\x0c\x6c\x4d\x9a\x83\xbf\x74\xb9\x08\x42\x1e\x89\xc6\x62\x60\xba\x63\x6c\xe3\x99\xd8\x75\xa2\xfe\xb0\x40\x9a\xce\xa0\xc7\xb9\xd7\x52\x99\x42\x1e\xb0\xeb\xb9\x29\xf0\x99\x37\x0c\x24\x6e\xbb\xb1\x67\x59\xc7\x6d\x60\x14\x05\x68\x40\xac\x1e\xac\x62\x3c\x28\x63\x44\x77\x43\x38\x0f\x0c\xfc\x62\x33\x4a\x6d\xe8\x62\x13\x05\x28\x35\xfb\xd0\xec\xf7\x58\xcb\x6f\x76\x4d\xb1\x14\xbc\xd1\x8f\x53\xd0\x66\xd8\x1b\x16\x44\xf2\x40\xe6\xd1\xbb\x23\x64\x46\x51\xfa\x1b\xaa\xcf\xf2\x64\x4b\x77\x20\x3a\x23\x3d\xc0\xb5\x1a\xbb\x9d\x95\x9c\x4c\x0f\x36\x8e\x11\xa6\xd8\xec\x18\xb4\x36\x80\xf4\x07\x47\x40\x53\xa4\xe2\x81\x7b\x45\x77\x21\x8f\xc4\x2c\x59\x3d\x37\x93\x1f\x0a\xc2\x25\x5f\x75\x45\x8c\x25\x85\xa7\xa9\xee\x01\xa4\x14\x02\xb9\x5e\x0b\x07\x78\x90\xb4\x88\x60\x4e\x47\xd5\x78\xf9\xdd\x8a\x53\x16\x6a\xce\x42\x1d\x80\xad\xc8\x68\xad\xf8\x5a\xe1\x73\x2a\x78\x53\x39\xa8\xc6\x28\xd1\x91\x7e\x2c\xe1\x73\xd1\xa9\xbb\x1e\x23\xe7\x7e\xec\xe0\x70\xac\x94\xe2\x49\x60\x09\xd8\x58\xc3\x91\xcf\x0a\x30\x0f\xaf\x22\x2c\xf3\x8e\x6f\xcf\x93\xcf\xc6\x1d\x30\x50\x71\x43\x49\x1f\xc3\xe3\x8b\x3a\xfb\x7a\x5a\x38\x84\xb5\x82\xe2\x8e\xb5\xc2\x1d\x13\xb7\x6a\xcc\xdb\x11\x19\x28\x96\x34\xc9\x02\x83\x7e\x52\xd2\xb7\xe7\xd1\x8a\x1e\x34\xa7\x40\x65\xdf\x94\x42\x81\xfd\x33\x9a\x19\x5a\x7e\x42\x73\x83\xeb\x9b\xcf\x64\x78\xe9\x74\xe6\x56\x31\x37\x9f\xd9\x35\xcc\x4f\x68\xba\x82\x2e\x1d\x4b\xa8\x52\x4a\xe5\xd0\xe9\x82\x29\x1b\x52\x36\x1c\xe9\xbf\xbc\x7e\x29\x50\xb2\x75\x44\xa1\xfc\xcd\xbb\xe7\x2e\xcd\x5e\x7f\xde\xb3\x80\xfc\xf4\x53\x30\x94\xa0\x54\x0c\x5f\x1d\x7c\xc8\x1a\xf0\xdd\xb4\xee\x99\x44\xef\x86\x6f\x8a\x7e\xfe\x39\xf9\x6c\x38\xb0\x52\x13\x98\x1d\xdc\x47\xe7\xf1\x18\x52\x76\xff\xee\x04\x85\x04\xc1\x01\xa6\x7e\x3e\x6f\xd0\x4d\x22\xce\xa1\x64\xa4\xac\x5e\x18\x70\x61\xec\x33\x07\xf2\x09\x65\x2c\x8b\xb9\xf1\x39\x57\xb2\x3c\x16\x0c\xda\x03\x71\xb7\xf7\xef\x6c\x33\x41\xae\x60\x66\x7e\xec\x37\x37\x3d\x01\x55\xfb\xcf\xde\xc9\x71\x95\x0f\xcd\x0d\x14\xfc\x79\x53\xe3\x06\x76\x60\x66\x20\x3b\x82\x5b\x56\x27\x41\x7f\xe5\x47\x63\x7f\x8b\x37\x84\xe1\x2c\xb0\x01\x83\x50\xd2\x0c\xa9\xdf\xf4\x93\x0a\x79\x54\x4a\x29\x33\x14\x40\xfb\xc8\x2c\x7e\x28\x08\xe5\xd9\x02\xf9\x2a\xcf\xa1\xbc\x98\x93\x8c\x8a\x74\x5d\x01\xe3\xce\x3a\x39\x26\x45\x05\xbf\x8d\xe4\x64\xe0\x1f\x28\xc3\x32\xfd\xe6\xaf\x62\x1c\x0c\xf3\x76\x91\xcd\x40\x05\x6e\x8d\x14\x50\x87\x80\x1a\xac\x7a\x90\x3d\xc6\x63\x6b\x01\xc7\x0f\x83\x66\x13\xd1\xcc\xed\x0e\xb7\x24\x63\xf2\x7d\x6e\xf6\xc6\xb9\x5d\xf3\xc3\x28\x10\x11\x3f\x73\x6d\x59\x91\x0e\x73\xe8\x34\x6c\x4b\xae\x70\xef\x7e\xd3\xb0\xfb\x16\x9f\x43\xb0\x9b\x41\xa8\x02\x65\xb2\xa3\x3d\x08\x49\x06\xbd\xdf\xbf\xa6\x1f\xbb\x32\x21\xde\x4a\xcc\x96\x33\x5b\xf4\xb3\x8b\xee\x1e\x45\x91\xd3\xca\x9c\xb7\x5a\x12\xa5\xa4\xac\x36\x36\x37\x4b\x25\xbb\x26\x8a\xbc\xc0\x17\xa2\x7e\x00\x78\x2a\x0b\x45\xbd\xb2\xda\x04\x9a\x12\xa3\xef\x2a\xab\x8d\xbf\x83\xaa\xb9\xa0\x2b\x66\x7e\xce\x06\x43\x9b\xcc\xc3\xc3\x01\x16\x0d\x12\xb0\x9a\xba\x06\x8c\xb5\x90\xd2\xf8\xcd\xd8\xed\x31\x98\x01\x74\xd2\x19\x39\x3d\xf7\x1c\x65\x80\xf6\xb3\x33\xf2\xf4\xf4\xf4\x5f\xc3\xdf\xad\xeb\xe6\x19\xa1\x33\xc9\xeb\xb5\x62\xe1\x57\x50\x2c\x62\x25\x0f\x50\x6e\x53\x51\x61\x47\x88\x14\x85\x96\x2d\xff\x87\xde\xd8\x2f\x5f\x4e\x49\x00\xa2\xef\xf4\xf2\x38\x06\x89\xf5\x6b\x4e\x4b\xd4\xf5\xea\x1d\xcf\x24\x56\x24\x95\x0a\xb3\x0f\x2b\x9f\x24\xd7\x3e\xdd\xb0\x3d\x8b\x0b\x30\x58\xf1\x1f\x5f\x35\x0d\x13\x68\x71\xf8\x23\xf0\xf2\x6d\xd5\x94\x9a\x19\xeb\x66\x8c\x7c\x45\x35\x6d\x78\xe8\xa3\x05\x56\xed\x1e\x11\x92\x4e\xa5\xd0\xa2\xfa\xe0\x7f\x0c\x60\x88\x7a\x49\xc2\x18\xf3\xb0\xe8\xa8\xb3\x86\x53\xd3\xcb\xef\xa0\xe9\x29\x2d\xcb\x2b\x3d\xb4\xd7\x95\x54\x0c\x90\x24\x50\x19\x3b\x78\xa8\xa3\x18\xaa\x2e\x9b\x77\x50\xfb\xfd\x74\x56\x35\xd8\x93\x91\x4f\xd7\x53\xf2\xc2\x72\x8a\x50\x81\x9a\xeb\x9d\xdd\x5d\x7a\x17\x95\xbc\x98\xce\x78\xb9\xeb\xdf\x41\x2b\x2a\x16\x55\x73\x46\x4e\xdb\xfb\x68\xaf\xa0\x61\xb9\xf3\x7b\xdf\xde\x0a\x76\x4f\xf8\xb3\x75\x63\x3e\x23\xcb\xaa\x2c\x59\x13\x7e\xc3\xb8\xfa\x33\x3d\xbc\xe1\x64\x02\xe7\x6e\x02\xd6\x87\x09\x7e\x41\xb7\x91\x51\x58\x65\xb2\x65\xb3\xbb\x4a\x4d\xd6\x92\x89\x09\xf2\x9d\x33\x78\xf2\x47\x85\x56\xfc\xc7\x5c\x89\x24\xa5\x08\x6a\x84\x83\x80\xaf\xef\x50\x58\x1f\x00\x2c\xca\x6c\xbd\x58\x40\xe8\x37\x23\xb4\x2c\x89\x99\x0e\x6b\x90\xd6\x53\x1a\x65\x9b\xe2\xf3\x39\x6a\xca\x2d\x31\x13\x6d\x80\x3e\x16\xc6\xcf\x21\x00\xa7\x72\x6b\x18\xae\x8e\x69\xe4\x96\xb7\x01\x8e\xeb\xc1\xe2\xcf\x31\xef\xba\xaf\x31\x28\x68\x5d\x0c\xc3\x59\x2d\x96\x54\xe8\xad\x65\x7c\x5d\x46\xe4\x0b\xf2\x6f\xa3\x41\x2c\x6c\x83\x8b\xce\x05\x6c\x98\x84\x2b\xc1\x27\x64\x4a\x1e\x48\x3a\xc0\x68\xb6\xf3\x0e\xd6\x7f\xf2\xb7\x60\x25\x88\x35\xe9\x9f\x91\x59\xcd\x8b\xbb\xf3\xe8\x9b\xdd\x4a\xfb\x7a\x1a\xd7\x80\x40\x9d\x87\x56\xfb\x80\x5d\xd7\x03\x5b\x32\x5a\x46\xc7\xdd\xec\x30\x77\xce\xf5\xae\xb9\x94\xf2\x75\xd5\xdc\xbd\xcf\x4f\x46\x5d\x35\x77\x01\x83\x0e\x2b\x24\x39\x65\x05\xab\x07\x63\x82\xb3\x27\x97\x8c\xa9\x41\xb7\x21\x1b\xb9\xbf\x7f\xd6\xb3\x5d\xef\x90\x71\x3c\xfb\xf6\xfa\xc5\xf5\x50\x1f\xea\x92\x8e\xce\xc8\x0d\x17\x62\x87\xe0\x4f\x64\x80\x7b\xf4\xfd\xc0\xc8\x2c\x4e\x96\xc1\xd8\x45\x2a\x23\xe8\x3b\xa4\x06\x40\x3e\xc6\x37\xe5\x2f\x72\x4a\xc8\x2b\x87\x21\xd9\x56\xc5\x1d\xa1\x64\xc6\x20\x1b\x04\xb8\x80\xcc\xb9\xf0\xd8\xf6\x6c\x05\xda\xbb\x0d\xaf\x4a\xaf\xaf\x28\x78\x5d\x57\xd2\xa8\x97\x6d\x0a\x8c\x3b\x9b\x3f\xa2\x62\x75\x49\x58\x59\x29\xf0\xd7\x60\x98\x30\x0f\x81\xf6\x8d\x19\xd7\x03\x75\x81\x1d\x99\xd0\x66\x07\xbd\x7f\x64\x11\x89\x66\x0c\x08\x30\x8c\xc1\x74\xa7\x14\xbc\xdb\x18\x7a\x35\x95\x21\x44\x1a\x8e\x1d\xb4\x4f\x9b\x4a\x68\xda\x48\xea\x8e\xed\xc0\xb7\x07\xc5\xbf\x57\x6f\xae\xf4\xe0\x9f\xaf\x31\xc1\x33\xe2\x60\x6f\x19\x01\x1d\x17\x9f\xcf\xc1\xcb\x07\x6e\xae\xa6\x5d\x2b\xb2\x64\x75\xcb\x04\x01\xcf\x1b\x3b\x76\xaa\xc0\x4d\x48\x8f\x01\x49\x80\x37\x1c\x22\x6d\xea\x26\x56\xd0\x9d\xaa\xa1\xe5\x86\x09\x7d\xb8\xea\x1d\x59\xad\x11\xb4\x58\x42\x86\x1a\x4d\xda\x4c\xdb\x8d\x1e\x0c\xce\xb2\x64\x61\xaa\x3d\xf0\xb6\x52\xb4\x29\xa9\x28\xcd\x93\x08\x34\x5b\xf8\x65\x26\xf8\x16\xac\xf1\x06\x13\x74\x6c\xec\xa9\x6b\x15\x18\xe8\x25\x9d\xb3\x7a\x47\x2a\xcc\xc5\x48\x66\x3b\xa3\x1b\x33\x95\xbd\x15\xce\x6c\xa7\xfc\x06\xbe\x9f\xe0\xe7\xe0\xb4\x98\xf2\xc9\x41\x31\xd7\x96\x5d\x75\x7d\x68\x94\x58\xb3\x83\xf5\x64\xcb\xea\x1a\x30\x6c\x75\x15\xb0\xeb\x1d\xac\x43\xd7\x8a\xdb\xf4\x0f\xba\x16\x9f\xcf\x8f\xac\x03\x2e\x4a\x0f\xaa\x42\x5b\x45\x6b\x10\x07\xc8\x40\xdf\x40\x07\x6b\x09\x6e\x46\xcf\xee\xd5\x8c\xdf\x1f\x2c\xaf\xe8\x0c\xf4\xc5\xba\xce\xe4\x69\xae\x78\xdf\xa5\x0f\x79\x43\x27\x90\xd4\xe2\x8c\x28\x41\x1b\x89\x8f\xde\x90\x6f\xf6\xb3\xee\x39\x6f\xd4\x64\x4e\x57\x55\xbd\x3b\x23\x2b\xde\x70\x00\xc6\xea\x94\xd0\x0c\xf9\x8c\x3c\xfd\x55\x2c\x40\xc0\xa7\x0d\x15\x15\x6d\xd4\xa4\xae\x16\x54\xad\x05\x93\xdd\x5b\xbc\x4f\xd0\xb0\x12\xc5\x64\x77\x66\x4c\x91\xe7\x2e\x58\x6a\x72\x9f\x93\x33\x00\xd6\x76\x02\x7d\x3c\x23\xad\xe8\x13\x7a\xa3\x46\xd6\x4a\xdf\x35\xd8\x2b\xf2\x59\xb5\x6a\xb9\x50\xb4\xb1\x2c\xdc\x49\x55\x1d\x86\x6c\x66\x3e\x54\x41\x99\xb5\xe8\x0a\x8b\xd8\xfb\xc1\xd8\x8a\x7f\xf8\xe6\x48\xc4\xbf\x83\x54\xc0\x53\x23\x25\x02\x8e\x18\x0f\xa5\x04\x0e\x12\xf0\xe2\xf5\xe4\xd0\x37\xe2\x63\x08\xad\xf8\x86\x7d\x0a\x3a\xac\x29\x3f\x05\x99\x82\x36\x45\x38\x4f\x1f\x45\xa9\xe0\xed\xce\x93\xb8\xe4\xed\xee\xa1\x14\xc0\x81\xc2\x93\x00\xb7\x89\x0e\x8d\x93\x13\xf2\x02\xdd\x9d\xd0\xa1\xe9\x73\x52\x0a\x0e\xde\x66\x9a\x33\x9c\x18\x7e\x89\x38\x7a\x78\x27\xa2\x7b\x84\x49\x61\xa6\x6f\xa2\xe1\x8e\xa9\xdf\x8e\x0c\x77\xb7\x19\x28\x4b\x36\xa7\xeb\x5a\x91\x99\x71\x49\x44\x1b\x60\xc1\x9b\xf9\x5a\x32\x7b\xf7\x1f\x1e\x83\xee\xcc\x60\xec\x9f\xc0\xee\xb1\x8f\x58\x65\xfa\x05\x82\x0d\x0d\x23\x9d\x95\xf5\xbc\x20\xe4\x43\x7a\x8a\x3a\x4d\xdc\xb1\x5d\xc9\xb7\x8d\x9f\xa8\xe7\xbc\xdc\xfd\x81\xed\x5e\xf0\x6d\xd3\x7d\x1f\x05\x6e\x62\x80\x09\x4d\xab\x26\x80\x6f\xb6\x9e\x1d\xe8\x31\x23\x4c\x5a\x42\xeb\x83\x09\x56\xb3\x9e\x1b\xac\xac\x36\x01\x53\x75\x85\xa7\x55\xa9\x5f\x90\x30\x5d\x67\x82\x6f\x27\x60\x9f\x19\x64\x0a\xf6\xf2\xdf\x7e\xde\xea\xdf\xe8\xd0\xdf\x63\xdf\x52\xd9\x87\x91\xde\x2d\xfb\x1f\x46\x58\x22\xb3\x71\x53\xbe\xe6\xc6\xe4\x67\xdc\x81\x67\xdb\x6c\x2a\xee\x0d\x84\xfe\x7c\xc6\x1d\x11\x65\xbe\x76\x87\x5a\x00\xef\xc0\xc3\x5b\x54\x98\x3e\xa7\x8b\x7e\x01\x02\x4a\x4c\x66\x74\x11\xf4\x31\xaa\xf9\x31\x53\xbc\x6f\x1e\x1f\xfa\xb8\xe8\xde\x2d\x01\xeb\x9f\xc1\xcb\x2c\x1a\x66\x66\x04\x3e\x43\x6f\x90\x62\x0d\x2c\xe7\x33\x0b\x73\xac\x78\x4b\xe6\x7a\x8a\x29\xa4\xdb\xa9\x8d\x97\x19\xd2\x37\x5f\x04\x33\xc3\x41\x4f\x7e\x70\xbb\x7f\x64\x72\x4d\xd5\x3b\x34\x47\xd9\x95\x02\xd7\x67\x10\x48\x69\x9c\x18\x29\x50\x7d\x6a\x91\x10\xe2\x03\xd0\x1a\x5b\xef\x8c\xa3\x62\xe8\x25\x6f\xfb\xc6\x85\xed\x8b\x21\xe3\x22\x02\xac\x27\x81\x1d\xf7\x4b\x5e\x97\xbd\xcb\xad\x07\x12\x2f\x34\x14\x8f\xce\x9b\xe2\x2d\x94\x9b\xcc\xb9\xd0\xef\xcd\x89\xeb\xf1\xa0\x5b\x31\xdd\x1c\x9d\x4d\x91\x39\xb3\x9d\xad\x6f\xa9\x75\x16\xd6\x8e\x25\x6e\x33\x5a\xce\x6e\xf9\x68\x30\xf8\xfb\xc1\xf1\xec\xe9\x5c\x40\x39\xe6\x85\xb8\x17\x40\xe3\x49\x0b\x70\x4d\x95\x8e\x13\xea\xe7\x45\x55\xd0\x1a\x91\x52\x8d\x97\xac\x4f\x8e\xd6\xc8\xf5\x0a\xc4\x7e\x73\x7b\x98\x87\x0d\x6c\x1a\xa3\x00\x9f\xad\xe7\x73\x26\x8c\x5f\xc9\x0e\xa1\x64\xad\x92\x83\x90\x57\x6a\x20\x21\x39\x20\x7a\x4a\x4a\xef\xe9\xec\xdd\x18\xf5\xc3\xb0\x6d\x19\x15\xd6\xd1\xd0\xbf\x17\xf0\x35\x54\x21\xcc\x77\x2e\x87\xe8\x76\xc9\x9a\xd4\x81\x55\xd3\xac\x24\x26\x14\x0c\x6d\xdd\x88\x0e\x2f\x99\x22\x03\xe8\x60\x55\x57\x6a\x67\x4f\xfe\x40\x77\xe3\x8e\x31\x84\x95\xb7\x6f\x23\x4c\xf1\x07\x50\xb7\x41\xa6\x04\x24\x57\x39\x3f\x65\x7f\x52\x30\xc8\x03\xbd\x9c\x07\x70\x61\xe3\x37\x39\x20\xeb\x76\x0b\x2f\xc8\x21\xfc\x0c\x97\x13\xb8\xd7\x82\xdf\x92\x9e\x0f\x1f\xca\x62\x7c\x4b\x69\xf8\x2a\xaf\x56\x6c\xa4\xaf\x79\x0c\xf7\x80\xcd\x30\x4e\x1a\x5f\x30\x65\x54\xad\xba\x04\x9f\xeb\x79\x2f\xee\xa6\xb1\xeb\xde\x33\xc1\xe8\x51\x77\x5c\x50\x3c\xda\xa8\xf8\x3b\x15\x8c\x0e\xb2\x65\x3b\x07\x2d\x33\xd7\x87\x2f\x99\x80\x62\xbc\x99\xe5\x66\xe1\xe0\x3b\xac\x69\x3d\xe3\xd8\x6e\x17\xb0\x92\xe4\x47\xce\x57\xce\x1d\x4d\x4b\x39\x33\xeb\x6b\x8f\x49\xa1\x6c\x4a\xd7\xb5\x1e\x1e\x97\xca\xb9\x51\x60\x04\x84\x75\x9e\xa5\x98\xba\x6c\xe6\x62\x54\xa6\x39\x15\x0b\x3a\xc7\xf9\x38\x2f\x98\x33\xd2\x30\x69\x0d\x7f\x8d\xd5\x9f\x83\xf6\xa1\xe1\xca\x92\xb3\x5c\xd5\x8c\xc4\x0e\x40\xf7\x9e\xd4\x6c\xc3\x6a\x14\xf2\xcc\xd3\x1c\x3c\x40\xac\xf3\xba\xd3\xbb\x80\x26\xdf\xeb\x53\xbe\xe6\x8a\xd9\x2e\xe1\xc0\xc1\x73\xfb\x0c\x74\x92\x92\x59\x3d\x48\x41\x1b\xe8\x07\x46\x71\x81\x0b\xa0\x99\x60\xd7\x35\x1b\x55\x7a\xbf\xaa\x1b\x89\x7b\x01\xe8\x6c\xb7\xdb\xe9\xf6\xdf\xa6\x5c\x2c\x4e\xbe\x3c\x3d\x3d\x3d\x91\x9b\x45\xb0\xb8\x1b\x7f\xcf\x95\xd5\x26\x8f\xfe\x6a\x76\xdf\xd7\x37\x43\xa0\x3d\x26\x03\x4d\x63\x14\x11\x89\xf6\x9f\x9e\x90\x09\x4e\x12\x17\x71\x63\xc9\x9b\x18\x08\x0e\xc6\xd8\xe9\xd1\xbe\x92\x1b\x26\xa4\x66\xb3\x63\x32\x78\x3a\x7d\x9a\xb6\xde\x2b\x57\xec\x37\xa2\x28\xde\x26\xc6\x98\x9a\xcd\x55\xf2\x53\xe6\x70\xe8\xfd\xee\xf4\x61\x92\x35\xa5\x31\x22\x5b\x5b\x95\x5d\x9c\xbf\xe0\x92\x42\xc6\x55\x8a\xee\xd8\x64\x09\x07\x49\x06\xb9\x26\x91\x52\x41\x5b\x85\x2e\x40\x0c\x4b\x96\x3e\x99\xc6\x1c\xb3\x0e\x68\x7e\x66\xd0\x1b\xf8\x8a\xe9\xb7\xee\x76\xc9\x49\x41\x45\xe0\x6a\x0d\x55\x6f\xa9\x58\xb0\x3e\x55\xa5\xa6\x0a\xbc\xc1\xcf\x61\x58\x29\x5a\x49\xf4\x30\x9f\xc0\xf7\x89\x82\x02\x83\x7c\xad\x23\x75\x1d\x71\x9d\xec\xaa\xed\x5b\x33\xaf\x67\x08\xd4\x14\x4e\x2d\x10\xfe\x66\x16\xb2\xbd\x3f\x77\xd6\xfb\x01\x5e\xbf\xb1\x91\x64\xc0\x5b\x5a\xc0\xda\x9e\xf6\x75\xd3\xbc\xe0\xae\xac\x9e\x33\x08\x04\xd8\xcf\x21\x43\x2a\x3d\xb4\x3b\x8f\x29\xb7\x35\xd9\xbd\x7a\xd5\xb4\x6b\xf7\xba\xc7\x47\xe3\x5b\x5f\xf9\xd6\x96\xe8\x3e\xb1\x50\x0e\x31\xa1\x06\xb1\x3b\x9f\x09\xe1\x01\x7f\x5e\xa7\x17\x32\x9b\xac\x51\x13\xb9\xe2\x06\x1a\x0f\xc5\x0f\x17\x69\xd9\x1a\x93\x6b\xe8\xeb\x6e\xa1\x70\x75\xcd\x97\x48\xe8\x5b\x5a\xaf\x9d\x47\xe7\xe5\xcd\x4d\xa4\x7e\x82\x0b\x5c\x5f\xa8\x96\xb6\x8d\xe6\x0b\x9a\x20\xe4\xc6\x87\x1e\x79\x75\x15\xb4\x31\xcd\x35\xce\x5b\xf5\xde\xf7\xfa\xba\xd5\x3b\x87\xd6\x64\x03\x1d\xd1\x0d\xb9\xd7\x56\x3c\x40\x0c\x7c\xd4\xff\x33\xef\x5f\x38\xbe\x0e\xf1\xdc\x24\x60\x36\x70\xb1\x0e\x03\xfa\xa0\xd5\x59\x32\xf5\xd2\x4f\x47\x60\x7a\xf6\x93\x34\x8e\xfb\x1c\xbb\xee\x07\x9a\xc0\x79\x44\xc7\xfd\x61\xc3\xdb\x33\x44\xb2\x64\x70\xf4\xba\x53\x37\x6e\x9a\x2e\xe2\x2e\x9c\xa7\xae\x15\x47\x93\x19\x78\xbb\x14\xd6\xd9\x35\xc5\x65\x18\xd1\x68\xf7\xdf\x9e\x29\x5b\xf4\x4d\x19\x0e\x2a\x84\x98\xea\x9b\xa0\x64\x8f\x2b\x42\x6d\xb8\xab\x37\xe8\x84\x79\xb4\xbc\x84\x9a\x6c\xed\x70\x2f\x34\xeb\xba\x1e\x83\xa4\x80\xb8\x63\x96\x64\x21\x41\x79\x51\x73\x5a\x82\xd0\xa2\xdb\xab\x14\xa4\x21\xb6\xd5\x08\x17\x10\x10\xab\x2f\xea\x70\x3b\x01\x12\x1a\x80\xee\x53\x17\x47\xa8\x8f\x5f\xdb\xd6\x15\x2b\x83\x06\x8e\xd9\x67\xdf\xa0\x39\xe9\x1b\x51\x87\x93\xb6\x16\xb5\x07\xd5\x71\x7f\x1c\x36\x80\x2d\x05\x9b\x0f\xc6\x44\xd7\x08\xbd\x51\xba\xd5\xbc\xc3\x95\x77\x50\x89\x8c\x9e\x7b\x8d\x5f\x40\x23\xcc\xf0\xef\x2c\xbc\x7d\x8d\x84\xfd\x4f\x1a\x09\x71\xdf\x7b\x1a\x39\xb4\xf9\xfc\x3c\x9a\x4b\xc8\x4d\xa4\xe6\xc0\xc1\xd9\x0c\x8d\x77\x89\x4d\x55\x39\xec\xeb\x3d\x0d\xa1\x84\xd0\xd9\xdd\x91\x4b\x00\x94\x19\x76\x15\x3c\xee\xf7\x63\x4e\x92\x60\x41\x0a\xe0\x87\x1c\x27\x30\x30\x1c\x6c\x43\xee\x6d\x03\x68\xf4\x72\xb4\xc2\x14\x3f\xae\xa5\x05\x53\xcf\xe3\x84\xc6\x0f\x19\x4d\x92\x0b\xf9\x98\x71\xed\x69\x6d\xff\xb8\x66\x9d\x8a\x47\xcf\xa5\x6f\xf3\xd5\x8a\x2e\x22\x67\xa5\x4a\xff\x70\x44\x9b\xb6\x22\x94\x7f\x58\x9b\x26\xe6\xdc\x07\x94\x55\x3f\x1e\xd3\xa2\xa9\xa6\x4b\x3f\xac\xbd\x00\x05\xca\xb5\x19\x63\x2d\xee\x6d\x37\xa8\x6e\x6b\x1d\xd3\xfe\x65\x14\xf3\xe8\x96\xd4\xfd\x1a\xb4\x1c\x85\x47\xfa\x3f\xd2\xec\x03\x26\x50\x1a\xc4\x41\x88\xf2\xb7\x0a\x39\x1f\x60\x1a\x63\x52\xdc\x2e\x99\x49\xb5\xe3\x1e\x95\xf6\x2e\x8a\xb5\x22\x50\xe8\x20\xf7\x5f\x30\x13\xce\x9d\x2e\x60\x10\xcb\x80\x5f\x90\xc8\x82\xa9\xcb\xba\xd2\x8f\x64\x7d\x25\x27\xb6\x2f\x77\x8a\x90\xd1\x5a\x11\x1b\x02\xcc\xf1\x0f\xf4\x90\x32\x62\x36\xfc\x8e\x63\x99\xec\x8d\x5e\xd5\xec\x77\xdf\xc4\x45\xb9\xbd\xf6\xcc\x9c\x4d\x25\x5c\x95\x0b\x80\x9b\xf6\x09\xc5\x3e\x7a\xda\x2c\xda\xe6\x1e\x6e\x12\x4d\xf1\x70\x64\x46\xbc\x6f\x3c\x06\x9a\x66\xdf\x80\x8e\xeb\x1d\x06\x95\x3f\xac\x7b\xd8\x78\x06\xe8\x32\x0a\x3b\x31\x1a\x0f\x5e\x97\xb2\x0b\x6d\x63\x01\x82\x1e\xec\x69\x19\x78\xf7\xef\xef\xb4\xbb\xbe\x7b\x01\x39\xad\x5a\xd1\x3d\xa1\x93\x0e\xff\xec\x8e\xe2\xa4\x19\x57\xde\xc3\x97\x49\xd4\xd1\xcb\x1a\x34\xa0\x6b\x05\x79\x58\x0b\x5a\x2c\xd1\x44\xf5\x75\x3f\xf8\x48\xd0\xb8\x60\x9a\x15\xe9\x4a\x3d\x52\xc0\x5e\x20\x8b\x23\xc0\x25\xc2\x9e\x2e\x11\xc0\x33\x88\xcf\x0a\x20\x4b\xa2\xa3\x05\xfc\x08\xdc\x3b\x1d\x02\x02\x8c\x0c\x11\x7b\x00\x71\x82\x1a\xa8\x8b\xf4\xfd\x77\x0d\x91\x50\x0f\x82\x71\xb1\x6b\x68\xdf\x5e\x16\x7c\xe9\xc1\x4b\x29\x99\x0a\xd1\x6f\xf6\x61\xbc\xd8\xd7\xb0\x99\xfd\x61\x64\x24\xec\x45\x75\x71\x57\xd1\x92\x95\xeb\x9a\xbd\x83\x19\x48\x5e\xd3\xaf\x9a\x39\x17\xab\x14\xd7\xc9\xb9\x19\x0a\xce\x55\x10\x5b\x09\x08\x55\xe0\x08\x24\x10\x65\x28\xb2\xbe\x68\x7a\x0e\x61\xaa\xe1\xa4\xe6\xcd\x82\x09\xfd\x8e\xad\x1c\x6a\xd5\x4d\x90\x1b\xd8\x38\x89\x79\x3f\x20\x48\xa2\x5a\xa2\x96\x3f\x19\x1b\x60\x65\xe2\x8e\x19\x8e\x48\xc3\xb7\xd0\x98\x39\x76\xfa\xc9\xdb\xa8\x4a\xb0\x7a\x07\x00\x46\x4c\xb8\x6c\xea\x10\x61\x5a\x29\x52\x56\xa5\x51\x63\xa1\x8e\xd6\xe2\x27\x69\x32\x8d\x8f\xfa\x0d\x7b\x10\xf9\x08\xfb\x58\x0a\x6b\xf5\x35\xe0\x5a\xb8\x25\x30\x9a\xb4\x80\x3d\x5b\x46\x9b\x53\xde\x55\xad\x34\x93\x86\x54\x1d\x5c\x12\x90\x9d\xeb\xb7\x16\x6e\xce\x71\xe8\x16\xa5\xef\xd7\x19\x82\xe4\x40\xa0\xaa\xc1\x4e\x22\x98\x8d\x38\x61\xcf\x4b\x2a\xc9\x0c\x60\x13\x8c\xb5\x0c\xb2\xc5\x38\x3d\xb5\x47\x0b\x59\x52\x99\x74\x74\xef\x16\xad\x1a\x58\xbc\xc4\x05\x3d\x9f\x70\xd2\x19\xa4\x92\xd8\xcc\x30\x17\xa3\xcd\x11\x17\x5a\x91\x42\xac\xe9\x28\xff\x77\x3e\x03\x5d\x90\x3c\xc0\xe8\x03\xfb\x92\xc9\x05\x69\xe4\xd2\x50\xd1\xbd\x8c\xc8\x72\xab\x0d\x58\x8d\xda\x77\x0e\x70\xc7\x5d\x5b\xb7\xfe\xd7\xa1\xc3\x0f\xc4\x31\x65\x4a\x3f\x8f\x3e\x0c\x03\x92\x81\xaa\x4b\xaf\xff\xb7\x78\x8c\xde\xf1\xad\x7c\x1f\x16\x1b\x27\xb4\x0f\xbf\xa2\xec\x91\x7f\xb5\x67\xfd\x7c\x1a\x5e\x0b\x6d\x11\x2c\x77\x1e\xf5\x35\x8c\x2d\x4d\x71\x31\xe2\xbd\x22\x99\xba\xc5\x2f\x43\x17\x61\x38\xf4\x31\x1a\x26\x89\x23\x04\xe9\xe5\x28\xd8\xc0\x60\x28\xe0\x7f\x76\xe1\x1a\x98\x32\x22\x51\x98\x58\x8d\x60\x24\xce\x3e\x8c\x1f\x83\x6e\x28\x91\x47\xdb\xfb\xbd\xea\x2d\x53\xbc\xbd\x27\x4f\xc8\xa0\xbd\x0f\x6c\x05\x7d\x7a\xa4\xae\x6c\x63\x2f\xb8\x9f\xd3\xfb\x45\xbe\xf7\x91\x58\xd0\x52\x21\xd9\xab\x46\x0d\xf7\x8c\x25\xee\xe4\x1b\x83\xf6\x05\xfc\xc6\x74\xcc\x05\x18\x79\xdc\xae\xaa\x41\x2c\xa0\x0e\x56\x5a\xa8\xe2\xdc\xa2\x4c\x78\x6b\x97\xc9\xfc\xad\xb8\x85\xfd\x02\xa6\x35\x68\xb8\x58\xd1\x7a\x40\xaa\xb9\xbd\x61\xf9\xaa\x52\x26\x41\xae\x07\xda\xf7\x00\x63\x1f\xc8\xb3\x04\x72\xcc\xdc\xdf\x07\xe7\xcc\xb4\x7b\x99\xe0\x97\xb9\xc9\xf3\xbd\xc6\x69\x3c\x39\x21\x5f\xaf\x57\x33\x26\x2c\xf0\xb9\x37\x0d\xd2\x0d\x13\xd4\xc8\x2b\x5e\x8a\xee\x4e\x95\xb5\x71\x35\x40\xe7\x7a\xfe\x1a\xa8\x5c\x90\xa7\xa7\xa7\xe7\x69\x0b\xe0\x07\x42\xc0\xad\xb7\x6a\x58\xb6\x29\xf7\x00\xe9\x6f\x49\xd7\x75\x49\x40\xa1\x99\x47\xa1\x62\x0c\xe1\xd5\x22\x15\x95\x43\x5c\x4b\x14\x56\x7d\x96\xdc\xa8\x5a\xec\xac\xa4\x7f\x9a\xb8\x2e\x81\x87\xe6\xa0\x5b\xa5\xcf\xf6\x75\xc8\xfa\x95\xb3\x7f\x65\x2d\x60\x59\x1b\x58\xfc\xdd\xbe\x19\xe9\x5a\xf1\xc0\x01\x33\x2e\x64\xde\x8f\x9d\x32\x56\xdf\x88\xe6\x34\xe7\xae\x6e\x42\x8d\x2c\xda\x18\x25\xb2\xa5\x60\xfc\x32\x0e\xe8\xe6\x4c\x15\xb4\x2e\xd6\x35\x80\x09\x58\x2a\x31\xaa\x63\xd5\x90\x97\x95\x60\x73\x7e\x9f\x4c\xdd\x4d\x4b\x9b\xc3\x0b\xa5\x5b\xed\xae\x14\xd4\xcd\xac\x96\x2e\x3d\xd1\xed\x23\x2a\x41\x67\xb9\x4c\xbd\xa6\x61\xe2\xf7\xb7\x6f\x5e\x07\x71\x20\xc3\xc1\x1f\x07\x53\xc1\x5a\x46\xd5\xd0\xef\xba\x91\x66\x8c\x7f\x12\x83\x91\xfd\x14\x6d\xfd\xcc\x06\xea\xfa\x82\xb9\x66\xed\x3c\xfb\x9f\x9f\x53\xc9\x74\x5b\x9f\x7a\x16\x66\x86\xae\x19\x3e\x2e\xec\x96\x36\xc0\xaf\x2c\xea\x8a\xb5\x66\x2e\x19\xb1\xe5\xfb\xba\xd7\xbd\x31\x06\xa7\xe6\xb6\xc8\x97\x4f\x52\xfa\xfe\x31\xb1\x52\x04\x9d\xf7\x94\xbf\xb3\xaf\xee\x80\xdd\xfe\xf4\x13\x58\x38\x8e\x70\xed\x31\x9c\xc0\x41\x2b\x43\x0b\x07\x54\x30\xe9\xd2\x04\x6a\x9b\x04\x05\xd2\x91\x33\x6a\x88\x93\x80\x31\xed\x0f\x5f\xf3\x35\x0d\x63\x3d\x21\xe9\x16\x7a\x74\xcc\x0e\x72\x73\x8b\x91\x45\x9a\xa0\x5d\x35\xbb\x79\x92\x35\xc0\x94\x1a\xb7\xbc\x3d\x4f\x1a\xe8\x68\xed\x3b\x0d\x74\xe7\x3b\x5f\x27\x2c\x9b\x71\x5f\xe8\x71\xfa\xde\x2c\x82\x41\xfc\xc8\xf9\xea\x25\x2d\x14\x68\x6d\xbd\x43\x41\xe8\x53\x72\x7e\xa8\x89\x4e\xe7\x4c\x13\x5e\x76\xf0\x9a\xd2\x2c\xac\x4a\x0a\x1a\xda\x7d\xa0\x0b\x36\x59\x05\xd2\x84\x95\x79\x12\xac\x51\x40\xef\x29\xc1\xeb\xc0\x5f\xa5\x06\xc5\x96\x36\x04\x43\xbe\x80\x83\xaa\xe2\xb0\xb6\xac\x23\x83\xf5\xe9\x2d\x92\x32\xf0\x63\x4e\x3a\x18\x1e\xb2\x4e\xbf\xd3\x8f\x74\x52\x56\x2b\xd6\x48\xc0\x79\xd4\x03\x0a\x74\x54\xe6\x1d\xa6\xaf\x71\xf4\x92\x83\x37\x35\x35\x2f\x32\x63\xd5\xd3\x84\x02\x12\x46\x18\xf4\x0e\x6b\xc7\x28\x6a\xf6\x0c\xb6\x17\xa9\x2f\x39\xe6\x08\x4a\x1e\xa9\x5a\xc9\xa4\x6b\x5c\x2d\x7c\xe1\xf3\xc8\x8a\x1a\xe3\x4b\x46\x82\xb1\x79\x73\xc9\x17\x6e\x94\xef\x87\xa3\xbd\x0f\x8d\x76\x3d\xab\x2b\xe9\x72\x56\xbb\xc8\x57\xf2\xb7\x00\x20\xee\x0c\x35\x0a\x1f\x2c\x43\x49\x86\x1f\x3c\x2a\xb0\xce\x3b\xbe\xbd\xe5\xf8\x3e\x1b\xc2\xcf\x19\x95\x03\xe0\x60\x0e\x47\x0e\xac\xc8\x11\x48\xb5\x2a\xf8\xf1\x43\xfe\x61\xe2\xb2\xd8\x80\xeb\x5d\x20\xe2\x3b\xe8\x5f\xab\x2f\x3c\x6a\x53\x67\xe6\xaf\x47\x87\x1e\xea\xd8\x73\x6a\x57\xbf\x64\x19\x04\x56\x5f\x1b\xb9\xf6\x5e\x34\xd6\xa0\xb0\x55\xe5\x3a\x0f\x23\x8c\x1a\xb0\xf7\x27\xc0\x56\x52\x8b\xeb\x06\x53\x30\x63\x06\x1a\x36\xc2\xa2\x96\x4a\x1f\x3d\x17\x6c\x07\x32\x94\xc5\x6b\xb5\xee\x47\xf3\x9a\xeb\x13\xd4\xec\xc8\x1c\x0a\x73\x83\x84\x89\x27\xcd\x79\x15\x6d\xdc\xe3\x1a\x16\xd4\x24\x2b\x98\x4f\xe5\x8a\x0a\xf5\x52\xd3\x78\x51\xe9\x75\xb7\x1b\xac\x33\x9a\x71\x86\x55\x4c\xad\x87\xb6\x87\x5a\x6a\x48\xc1\x57\xed\x5a\xa5\x4f\x01\xbe\xd6\xcf\x24\xc5\x16\x82\xd6\xe6\xfe\x32\x70\xbe\x2e\x9b\x86\xef\xa2\x74\xfa\xf3\x6c\xdf\xbf\xe8\xef\x4a\xd4\x13\xd0\x9b\x1b\x7d\x58\xc1\xc8\x8c\xa9\x2d\x63\x91\x67\xab\xe9\x1f\x04\x6c\x70\x65\x26\xce\xfc\xa8\xc5\x58\xe9\x3c\x47\x67\x8c\xac\x68\x09\xee\x80\xc0\xb1\x24\x38\x62\x63\x30\x37\x3a\x0d\x5a\xb1\x57\xb0\x82\x8b\x12\x4f\x22\xfa\xb0\x48\x4e\x2a\x65\x7d\xc4\x1a\xab\xd6\x22\x35\x55\x88\x16\x5b\x32\x5c\x54\xe7\x7c\x6e\x35\x1d\x99\xd5\xbb\xe5\xed\x1b\x68\xd4\xa6\x87\x4c\xbe\xe3\x69\x76\x45\x3a\xcb\x48\x26\xdd\x79\xf6\x67\x20\xf1\xe4\xc6\xe1\xd9\x80\xe7\xfe\xae\xd8\xa7\xff\x23\xaf\x36\xd2\x64\x1c\xf8\xd0\xe9\xf9\x3e\x85\x59\x26\x73\x78\x06\xb6\x2d\xa6\xf9\xa4\xc3\xad\x0d\x9f\xcd\x28\xc0\x32\x49\xfd\x43\x24\x29\xcb\xa2\xba\x37\x4e\x64\x5b\x71\x01\x2e\xdd\x68\x16\xeb\x5f\x63\x4c\x52\x29\xd7\x48\x35\x23\x69\xbd\xa5\xdd\xec\xdd\x03\xf0\x24\x1d\xf6\x7e\x4a\xfa\xe5\x17\x80\x37\xc1\xf5\x84\x42\xdc\x6b\xfd\xe5\x40\x6d\xbd\xa1\xb3\x95\x6f\x79\x4b\x26\x3d\x3d\x39\xa4\x89\x4b\xee\xc1\x2e\x97\x3e\x39\x21\x88\xc3\x10\xa2\x23\x53\xc1\x68\xe0\xb2\x0e\x99\x0d\x20\x2a\xb9\x72\xc0\x2f\x92\xb0\x0d\x13\x3b\x0b\xfa\xeb\xd8\x72\x08\xdd\xdc\xa7\x46\x37\x77\xda\x1e\xd7\x6a\xb7\x26\xc3\x5e\x56\x83\x58\x97\x87\xfe\x97\xe9\x57\x0e\x89\x28\x5f\x2f\x7b\xd6\x3e\xa2\x76\xc4\x14\x8e\x22\xa0\x17\x37\xb9\xc9\xcd\x85\xef\x6c\x49\x10\xdd\x02\xb2\x39\xa1\x16\x13\x10\x9c\xa1\xac\xec\xfb\xca\x18\xf9\x56\x4c\x2d\x79\x09\xa0\x80\x68\x5e\x30\x58\xd9\xe8\x70\x2f\xad\x7b\x2d\x48\x03\x48\x79\x49\xa5\x91\x09\x0b\xf4\xdd\xff\x82\x88\x75\x13\x40\x8a\x62\x31\x5e\x14\x6b\x71\x84\xa3\x55\x24\xaa\x1c\xa5\x09\xc6\x06\x3e\x42\x0b\x2c\x6c\x1b\x1f\xa5\x01\xc6\xda\x91\xf6\xd7\x41\xd4\xf7\xa9\x7e\xcd\xa8\xc2\x37\x45\x07\x99\x18\xd1\xbd\x79\xd3\x03\x71\x6d\x85\x33\xbb\x70\x00\xcc\x81\x0d\x57\xcd\x62\x0c\x98\x1c\x82\x81\x9b\xf2\x7c\x5d\x3b\x05\x8e\x74\x78\x87\xce\xae\x8b\xf9\x42\x10\x81\x18\x92\x86\x59\x1f\x3a\xd7\xa8\x07\x34\x03\x23\x99\xc1\x1f\xb7\x7e\xfb\x3b\xb2\xa5\xbb\x29\x21\x2f\x38\x80\x21\x71\x23\x0c\x69\x49\x68\x2d\x66\x96\x98\x23\x82\x91\x2b\x45\x6d\x1c\xfc\xd6\x2d\xa1\x73\x85\xb8\xaa\x56\x8e\x42\xb1\x6a\x5e\x53\xb9\x64\x12\xb3\x37\x4a\x65\x93\xcb\x54\x8d\x4d\x85\x11\xf4\x0b\x72\x8a\x48\x05\x10\xe8\x52\x31\x5a\xc2\x04\x60\x1a\x45\x87\x75\x89\xca\x21\x83\x06\xe0\x52\x57\x68\x31\x00\x30\x14\xa4\xa2\x72\x99\x44\x8e\xc0\xb4\x9c\x00\xf0\xef\x5a\xc9\xaa\x64\xe9\x35\x03\x4c\x0f\xd5\xbe\x2e\x8f\x8b\x4b\xfd\x2a\x9d\x8d\xce\x16\x37\x1e\x90\x0f\xb6\xbb\xda\x14\x0c\xf9\xd7\x11\x58\x59\x5d\xb4\x9c\x7c\x1f\x72\x49\x87\x3b\xa5\x8f\x7b\x04\xfb\x97\x79\xed\x1c\xb0\x89\x1b\xac\xf0\xbf\xbb\x91\xe9\xd6\x48\x1d\x49\x91\xa0\xc4\x73\x6f\x9c\x1b\x76\x0c\x4f\x1f\x67\xae\x3a\xee\xe9\xb7\xd7\x2a\xd7\x3b\x97\xe7\x47\x39\x1f\x78\x6c\xaf\x18\x10\x7f\xe8\xdf\xb3\xe9\x9c\xdb\xf4\xfc\xa9\xf4\xfd\x9b\x8b\xcc\xa5\x96\xe4\xab\x6c\x62\xde\xd0\xf4\xc6\x57\x0a\xe6\xd2\x16\x39\x3b\x78\x74\x7f\x74\x4e\x90\x3e\xbb\x27\xc8\x5c\x82\xac\x4a\x9e\x76\x14\x0a\xe9\xf2\xff\x64\x1c\x14\x88\x72\x6f\x04\xbe\x42\x1d\xcd\x8c\x19\xe5\x4b\x90\xfd\x08\x8f\x22\xc8\x21\x9a\x5a\x70\x59\xb9\x51\x0c\x31\xdc\x59\x48\x45\x30\xa8\xd2\xbe\x65\xc7\x84\xde\xd1\x48\xda\x1d\x05\x83\x6b\xb8\x1a\xc7\x84\x6c\x27\x3c\xbd\xe0\x51\x0c\xb5\x20\x1e\xab\x10\x15\xc6\x13\x9a\x0e\xfa\x3b\xd6\xa5\x45\x5a\xd9\xe9\xf0\xb3\x87\x5c\xca\xf0\x56\x4d\xcc\xb1\x57\xef\x3b\xd2\x61\xd3\x21\x17\xc4\x0b\x5a\x3a\xff\x28\xcd\x07\x31\x02\xc0\x4d\x9a\x67\x8b\xab\xc3\xe8\x6e\xc1\x69\x8c\xbc\x76\x83\x83\xe9\x73\x8b\xa6\x1c\xc8\x02\x8d\xfe\xf4\x53\xe8\xc2\xdc\x2d\x10\x00\x2b\x5e\x90\x0e\x69\xf3\x00\x08\x70\x8b\x9d\x23\x85\x0f\xfb\xb5\xcb\x33\xc6\x68\xa0\xf0\xee\x63\xb8\x6e\x7a\x16\x88\x0b\x90\xc4\x95\x03\x94\xe7\xa9\x73\xc3\x4e\x24\x6e\x0f\x53\xed\x9c\x02\x5c\xdc\x6b\x38\xa0\x20\x08\xbe\x91\x4c\xa8\xe7\xb0\xfd\xe2\x40\xd9\x71\x5a\xd4\x13\xb7\x06\x83\x0c\x8a\x65\x3a\xa3\x21\xea\x5f\xdf\xa4\x1a\x44\xf4\xc3\x53\x7a\x6d\x33\xaf\xb9\x75\xaa\xc2\xf3\xaf\x27\x2d\x99\x9a\xcc\xca\x85\xee\x10\x3f\x7f\x92\x8e\x90\x7a\x8f\xe8\xc8\xa8\x13\x68\x71\x72\x42\x9e\x73\xb5\xf4\x9e\x3f\x47\x0e\xd3\xcc\xe5\xde\x41\x3a\x71\xf1\x97\x1c\x66\xb7\x23\x21\x5e\xa7\x49\x2e\x54\xad\x40\x3a\xab\x1a\x7d\x9e\x59\x59\x51\xc5\xd0\x02\x8c\xe3\x33\xef\xf5\xe3\x56\xf2\xd1\xa1\xbe\xf4\x8e\xbb\xab\xa6\x3f\xbc\x58\x01\xba\x25\xf4\xf2\x88\x93\xd8\xa5\x1a\xdb\x87\xf7\xd8\x34\xf2\x67\xd0\x46\x31\xec\xbd\x1e\xfb\x71\x06\x3e\xc9\x0d\xe9\xc9\xff\xc2\x37\xa4\x15\xc1\xe3\x71\x0c\xb1\xa3\x05\x6f\xca\xfe\x4b\xd2\xfb\x45\x65\xef\xc9\x90\x5e\x78\x55\x42\xae\xa0\x7f\xf2\x9b\xf2\x79\x04\x81\xe0\x2e\xcb\x44\xd4\xec\xbd\x2f\x0d\x00\xf7\xb1\x8c\xfd\xab\x8b\x54\x88\x3d\x74\x5d\x7a\xae\x17\xac\xd2\xb1\x37\x26\x2c\xe0\xfe\x0b\x53\x17\x89\x4f\x69\xe8\x44\x97\x67\x17\x87\xd1\x1b\x3e\xd9\xcd\xd8\x15\x37\xf6\x4d\xa1\xbb\x1e\xcd\xb2\x54\xe1\xe9\xcf\xdc\x1a\x21\x9e\x45\xee\xc2\xe8\x30\xd0\x63\xaf\x8d\x80\xf0\x47\xdf\x1c\x47\x5c\x89\x9f\x68\x70\x29\x37\xfe\xc5\x07\xe8\x1a\xfc\xbf\xe9\x42\xec\x9e\xb4\xbe\xee\x1c\x7f\x1b\x3a\x9a\x87\x2f\x43\xd8\x34\xa1\xa9\x46\x8b\xdf\x80\xc3\xe3\xf9\x8a\xdc\x7f\x2d\xde\x06\x7c\x9e\x4a\xb9\x5e\xd9\x94\xa8\x91\x02\x60\x04\x54\xd3\x17\xff\x08\x13\x7a\xd0\x5a\x30\x5a\xee\x8c\xe6\x71\x6c\x20\xbd\xec\x65\x07\x45\x40\xd9\xae\xf7\x80\xbd\x4f\xfd\x05\x22\xf8\x36\x80\x56\xc7\x5b\xf9\x11\xe6\x61\xf2\xbf\xb2\xa6\x1c\x45\x03\x85\x91\x05\xf7\x97\x60\xc5\xae\xa8\x99\x0c\x1d\xd0\x01\x2a\x65\xc9\xd2\x14\x96\xc6\x2d\xba\xe5\x12\xba\x82\x9e\xd4\x36\xa1\xb0\x55\x9b\x09\xbe\xbd\xc1\xcc\xd1\x56\x83\xd7\x30\x6b\x7c\xad\xe6\xa4\x61\x05\x93\x92\x8a\xdd\x3f\xeb\x15\x1a\x2a\x6c\x3a\xf9\x85\xf6\x29\x70\xf6\x65\x97\xf9\x03\x63\x2d\x46\x04\x63\x88\x71\xc9\xa4\xc9\xf6\xee\x50\x4e\xcd\x38\x11\x3c\xde\x25\x93\x65\x0d\x18\x68\x99\x30\xc8\x3a\x80\x08\x00\x19\x08\x08\xb9\x5d\xda\xd4\xce\x73\x5a\xd5\x6b\xc1\xa2\x54\x25\x78\xce\xbe\xd1\x84\x20\x1e\x20\xa2\xef\xe9\xd8\x53\x6a\x58\x51\x50\x0a\x0e\x76\xa7\x9c\xb9\xfc\x82\x72\x3e\x23\x11\x02\xd8\x0f\x5e\x54\xe8\x98\xef\xfa\x6e\xc8\xc0\xb8\x07\xe6\x46\x35\x19\x96\x82\xe6\x10\xb3\x7e\x9e\xbb\xb1\x1d\xe9\x2b\x4b\x92\x45\x27\xdd\xe9\x5b\x72\xed\x00\x4e\x37\xa3\x36\x1b\x4a\xd0\xa4\x55\xa1\x47\xbd\x08\xff\xea\x3a\xd6\x13\x47\x2a\x08\x5d\x8e\x78\x9a\xfd\x9e\x72\x51\x2d\x13\x2d\xb9\x50\x4b\x03\xf4\x81\x51\x11\xd2\x40\x5b\x2f\xb8\x09\x1b\xc7\x38\x9c\x9a\xab\x69\x9a\x6f\xe5\xc6\x67\x4d\xe9\x61\xe2\xe7\x69\x95\x2b\x9b\x50\x25\xcb\xa0\x63\x75\xa9\x9e\x70\xd2\x15\x9a\xc2\xfc\x48\x60\x2a\xc5\xfe\xb2\x7b\xba\xc2\x3c\x75\x21\xa0\x9c\x39\xaa\x95\x62\x82\x5a\xf0\x9b\xe3\x22\x20\xac\x92\x17\x16\xf0\x85\xa0\xce\xff\xe0\x0d\x55\xcb\xe9\xaa\xc2\xfc\xc4\xa9\x96\xf1\x88\xcb\xfa\x80\x71\x0f\x05\x3c\xbd\x1c\x43\xd8\x27\x41\xcb\xa7\xe7\xc1\x9f\x5f\xa5\x5d\x0b\x3e\x3e\x79\x12\x86\x67\x88\x40\xed\x1c\xa8\xac\x9f\xf8\xf2\x49\x9e\x30\xbd\xf1\x83\x27\x8d\x3b\x67\xe0\x13\x32\xd8\x30\xb2\xac\x54\x57\x64\xde\x7a\x57\x02\x94\x67\x08\x05\x46\x6d\xb3\x9b\xba\x60\x91\x6d\x94\xce\x82\xa9\x62\x69\x74\xbf\xef\x87\x22\xd4\x58\xbb\xa3\x6d\xaa\x84\xce\x40\x36\xa7\x4a\xcd\x17\xc3\xc7\x97\x9a\x41\x37\x03\x45\x80\x18\x26\xee\xd3\x54\xce\xc8\x63\xf2\x84\x74\x68\x12\x32\x13\x8c\xde\x39\xcf\x9f\x47\x47\x08\x65\xa6\x0b\x63\x12\xd8\xe9\xa1\x17\xaa\x6a\xd6\x2c\x12\xb3\x5c\xb6\x35\x3f\xef\x17\x24\x4d\x89\xe2\x31\xab\x6c\x6c\x92\x31\x8b\x20\xd6\x34\xa0\x4f\x8d\xf1\x82\xa2\x35\x6f\x16\x76\x06\xf7\x24\x53\xdb\xdb\xa1\xee\x99\xfd\xfc\xf3\xee\x41\x3e\xa6\xcb\xdd\x67\xbb\x4d\x94\x18\x9b\x7b\x10\xaf\xda\x60\x4e\xe0\x65\x0d\x77\x88\xa7\xb5\x65\x98\xfe\x14\x53\x92\x13\x78\xd4\xc4\x37\x44\x13\xe7\x2d\xb9\x89\xc5\x5a\x37\x1b\xdd\x71\x7c\xd4\xd4\x18\xde\x14\x4e\xcc\x55\xf2\xbe\x3c\x6e\x5a\x58\x53\xfe\xfd\x26\xe5\xca\x3f\x66\x72\x53\x72\xd5\xd1\x92\x1d\xb5\x79\xa3\x7c\x2d\x37\x5e\x69\x4d\x3a\x1f\xaf\x12\x49\x1f\x1d\xc7\x58\x70\x2d\x3a\x7d\xea\x49\x2e\x7b\xa8\x91\xf9\x22\x5f\x33\xf0\x3a\x32\xc4\x76\xcc\x98\x34\x23\x8e\x02\x49\x6b\x19\x2d\xff\xaf\xe2\x2c\xb8\xd1\x6c\x9e\x51\x8c\x61\x04\x7c\x20\x5a\x13\x3a\xb3\xc8\x7f\x04\x37\x08\x66\x4b\x1d\x00\x63\xe1\x6b\x61\x0c\xd4\xef\x18\xb0\x16\x4b\xae\x0a\xd2\x29\xba\x04\x9b\x41\x64\xa7\x6e\xcd\xe7\x22\x7a\xc8\x04\xe7\xa7\xf7\xe7\x4c\x6e\x30\xb5\x99\xcd\xda\x69\xea\x63\x38\xe5\x43\xd7\x29\x1c\x64\xf4\x5e\x75\x92\xd9\x6c\xbd\x58\x60\x4c\xef\xde\x67\x67\x2e\xfc\xb1\x43\x35\x52\xf6\xf4\xc6\x65\x3e\xea\xe7\x19\xc1\x9d\x1e\x9b\x3d\x01\x28\x48\xef\x9f\x19\x57\x4b\x0b\x36\x39\xa3\x0b\x74\x83\x36\xec\x0a\xf2\x34\xb8\x87\x9c\x8d\xd7\x08\x60\x26\xac\x47\x01\x62\xc7\xba\x08\x9a\xc8\x7d\xd1\xea\x79\xb3\x89\x84\x35\x1d\x13\xfc\x4a\x6d\xb2\x7f\x89\x39\x05\x20\x75\x10\x9f\xcf\x2d\xa2\x81\xc7\xae\x25\xf3\x0a\x71\x66\xd7\x2a\x70\xc3\x36\xa8\xdb\x0e\x4c\xf8\x88\x00\xf9\xc0\x79\x60\x9f\xaf\x4d\x84\xc9\xdb\x03\x16\x14\x17\x4a\x42\x42\xc2\xe0\x91\x3e\x6a\x5d\x9d\x44\x54\x72\x14\x6d\x85\x60\x0b\x1c\xee\x5a\xa7\xdc\x9e\xde\xed\xa1\xd9\xed\x60\x5a\xb8\xab\x31\x79\xab\x39\x4f\x14\x91\x6d\x1c\x7b\x20\xe8\x9f\xcf\x9d\x42\xc2\xf9\xa5\xa4\x4a\x91\x15\xdd\xa1\x33\x95\x75\x45\x35\xa2\xbe\x75\xed\x7a\x7f\x70\xa5\xa1\x2d\xcb\xb3\x92\xd8\x7d\x3f\x57\xbd\x7e\x09\xdf\x9b\x62\x4e\x22\xf8\x01\x83\xf7\xf1\xed\x16\x8c\xf5\x25\xb0\xb4\xd0\x51\xdc\xa1\xea\x2e\x20\x05\x72\x65\xfc\x64\x3b\xd1\x16\x0a\x53\x90\x61\x15\x7b\xda\x70\x8a\xaa\x79\xa0\x29\xe1\xc2\xd6\xf8\xeb\x1a\xf4\x0d\x0d\x6c\x7c\x57\x25\xc4\x28\x40\x2c\xb9\xc0\x34\xe1\x26\xcc\x48\x9e\xad\xe0\x0b\xc1\xa4\x43\xba\x08\x8c\x26\xa5\xcd\x86\x1b\xc4\x7e\xe8\xde\x1c\x9c\xea\xe8\x7a\x48\xa6\x3a\xd1\x4f\xb8\x5c\xc5\x6e\x3b\xe7\xdd\x49\x3e\xff\x3c\x48\xfe\xdd\xec\x71\x3c\xb1\x5b\x3e\x7c\xe6\x65\x0b\x7e\xef\x16\xb2\xa3\x0d\x0e\xeb\xf6\x41\x1a\x44\x97\x54\x7c\x20\x73\xdb\x67\xe4\xcf\x56\xb4\x11\x2d\xff\x7f\x94\x64\x6f\xee\xc2\x27\xd2\xba\x8e\x00\x96\x37\x15\xdb\xb6\xc7\x45\x49\xeb\xfa\xcf\xea\x3a\x1f\x6f\x00\x66\x3f\x78\x81\x27\xcc\xae\xf3\x32\x8e\xd2\xe9\x9d\x26\xca\x9a\xbd\x0e\xd2\xc7\x6b\x83\x7b\x29\x44\xb7\xb5\xed\x73\x5e\x1e\x39\x1d\x65\x6f\xdd\xe8\x4e\xb7\x14\xc6\x89\xfd\x3a\xa8\xb9\xc7\xf5\x29\xd9\x2f\x69\x77\xfa\x80\x15\x5c\x2a\x2d\xe3\x88\x14\xb9\x84\xf5\xeb\x05\xc8\x84\x3c\x3d\x8f\x6b\x9e\x67\x6e\x80\xec\xbc\x45\x6b\x16\x36\x9b\x5b\xbe\x1e\xbb\xc6\xf1\xab\xd7\x47\x20\x5a\x3c\xd3\x8b\xfc\xda\x45\x5d\xcc\x2e\x63\x68\x22\x33\xa5\xbb\x2b\x92\xb4\x71\xcc\x04\x9d\xef\x4d\x2c\xec\x83\x54\xd3\x44\xc2\x61\x4e\x56\x1b\x66\x1a\x6c\xaf\xd3\xa4\x08\xbb\x57\xac\x71\x3d\x1f\xdb\x9e\x66\x12\xb4\x07\x4e\x78\x1d\x37\xc6\x3c\x2a\xc1\x8a\xde\x57\xab\xf5\xca\xba\xa4\xbb\x08\xa6\x28\xd8\xff\x08\xb0\x22\x5e\xd7\x6f\xe8\x7d\xc4\xb9\x59\x04\x4b\x30\xcc\x47\x32\xa8\xc4\x33\x7d\x14\x79\x6e\xab\x5e\xff\xf0\xbd\xce\xdf\x93\x80\xc4\xfe\x66\x21\xde\x2d\x75\x01\x87\x99\xf0\x97\xaf\x3b\x0e\xe6\x62\x53\x26\x6b\x4a\x8f\x5b\x6a\x88\x8c\x00\xb1\x40\x4c\x7c\xf0\x34\xf0\xff\x4d\x75\xa3\xef\x45\x9d\xd7\x21\xf7\x6e\x17\xca\x06\x99\xfc\xfa\x2e\x48\x75\xc8\x53\x35\xef\x1b\x29\xbc\x9e\xef\x41\xee\x90\x3e\x00\x8d\xd7\x35\x76\xcc\x91\xda\x13\xc0\xe4\x16\xb9\x6f\x81\x13\xca\x6f\xe8\x7d\x1c\xd9\x66\xb6\x1b\x1e\x26\xd0\xcb\xb8\x1e\xfc\xc6\xd7\xc1\x1b\x34\xec\x9c\xfb\x14\x73\x43\x87\x92\xe1\x8b\x5e\xf8\x7a\x1d\x0f\xf9\xbe\x3a\xbe\xca\x71\xb8\x4c\x07\xb7\x5a\x9c\xff\xe2\xbf\x64\xb7\xb9\xb8\xa8\x7f\xee\x0d\xb7\x9f\xa3\x00\x3f\x76\x4d\x4e\x3e\x32\x62\x2f\xde\xa7\x5f\x91\xd3\xee\xfe\x3c\xfd\xc5\xf7\x65\xfe\x1a\x70\xea\x14\xbb\x59\xd0\xbd\x33\x88\x0d\x8b\x5e\x1f\x95\x8c\xa3\x2d\x92\xdb\x63\x4a\x0e\x3c\x1b\xd0\xc6\x29\x02\x40\x3d\x88\xf8\xd6\x0f\xf9\x2f\x50\x9f\xf4\x05\xbc\x27\x94\x65\xb8\xc7\xdc\x42\xb7\x91\x87\x7d\x1e\x1c\x07\xcc\x31\x60\x51\xed\x9b\xe0\x93\xfe\x45\xec\xbd\x44\x3b\xb3\x07\xae\x3e\xff\x18\x93\x87\x2c\xe4\x98\xf9\x7b\x9e\x86\x1d\xf4\x3b\x2b\x5b\x04\xc2\xc8\x40\x94\x3d\x13\x20\x87\x06\xb3\xf6\x7b\x80\x87\xc7\xfc\x59\x66\xe0\xa0\x75\x91\x21\x02\xa9\x4d\x38\x17\xe5\x78\x06\x5d\x8f\x97\x14\x06\x32\x38\x38\x36\x31\xb3\x89\xb0\x97\xa0\xf1\xc1\x79\x5a\x51\x50\x00\x94\x6b\x66\x99\x2a\xa4\x54\x59\xd1\x06\xf3\x7d\x7a\xb3\xbe\x8d\x14\x82\xd7\x32\xc5\x19\xa7\xab\x15\x55\x55\x61\xe8\x1e\x9c\x45\x97\x6e\x2f\x23\x07\x1d\x19\xa8\xed\xd8\x44\x1c\x5d\xf9\x59\xc0\x0f\xa3\xf8\x6d\xe7\xab\xd5\x0d\x82\xed\xd6\x31\x71\xdc\xa3\x30\x33\x7d\x25\xcd\x34\xeb\x99\xa2\xb5\xe4\x30\xdf\xa1\xb2\x04\xe2\x16\x87\xb3\xb5\x8a\x83\xd8\xe0\x67\xa8\xfa\xd9\x68\x1a\xd1\x33\xb9\x23\xba\x39\x54\x30\xf7\x4e\x34\xdb\x84\xca\x28\x57\x14\xd2\x75\xf4\x5e\x35\x26\xfc\x08\x80\xf1\xc0\x6e\x68\x03\xcc\x31\x93\x68\x78\x84\x70\x1c\xb4\x29\x49\xcd\x14\xb1\xa9\xaf\x2d\x29\x93\xce\x0e\xed\xd6\x78\xca\xac\x21\x61\x8c\x4e\xa0\xe0\xb0\x50\x92\x75\x6b\x08\x06\xb9\x99\xb7\x82\x43\x80\x3a\xa6\x7b\x71\x71\xfe\xe0\x05\x4a\xa3\x4e\xe3\xdb\xc3\xc1\x46\x90\xae\xfb\x9d\x29\x11\x84\xbc\xa1\xca\xc1\x80\x1f\xf8\x14\x8e\x39\xd4\x83\x51\x02\xf5\x59\x41\x3e\xe8\x82\x36\x00\x39\x28\xaa\xd2\x24\xbd\x75\x59\x94\xcc\x6c\x2d\x99\xbb\x36\x21\xb9\x63\x72\xec\x2c\x21\xbd\x09\x0a\x6a\xe7\xb2\x93\x7a\xaf\x43\xd6\xe5\x39\xf2\x40\x85\x4e\xb1\x04\x9b\x09\x66\xdd\x5a\xd8\x7d\x9b\x47\x1d\x23\x48\x38\x99\x1e\xa5\xbd\xcc\x64\x92\x1b\x5b\xc8\x52\xbe\xf3\xdf\x43\xbe\xe2\xf9\x82\xdd\xa1\x55\x3c\x5b\x7a\x72\x1d\xef\xed\x74\x9d\x90\xe7\x06\xda\x00\xee\x4e\xc1\x1b\x05\xf9\x7f\x5c\x7a\xa1\x7c\x14\x9b\xf5\xf5\x31\x59\x04\xdd\xb6\x7a\xf1\xea\xdb\x71\xb8\xaf\xb1\x0b\xd6\x13\x09\x2c\x39\xb3\x9d\x4d\xbc\x18\x87\xf0\x41\xf7\xe8\x86\x61\xdc\xaa\xcd\xdf\x68\xb9\xdd\xc3\x66\x3e\xc7\xc5\x60\xa7\x46\xa5\x86\xcc\xa7\x40\x67\x53\xd3\xa9\xb7\xb8\x6f\x58\xd9\x91\x51\x4e\x4e\xc8\xcb\x6a\xb1\x16\x90\x26\x89\x2c\xf9\x96\xcc\xa9\xc9\xe0\x81\xab\xa2\x77\x96\x24\x98\xa5\x06\xc7\x6f\xdd\x30\x4a\x56\x2b\x1a\x04\x6f\xdb\x1e\xbc\xd0\xbf\xdb\x6e\x98\x58\xbb\x34\xc6\x3b\x90\xde\x90\x8e\xe5\xb4\x2a\x14\xc5\x54\x20\x84\x3d\xe4\xf5\xa1\x72\xef\x0e\xd5\xf7\xe2\xe0\xad\x77\x3a\x4c\xbb\x17\xb0\xe6\x37\xe8\x6d\xe5\x7b\x6e\xf2\x9e\xd1\x88\xdd\x8d\xc9\x76\x59\x15\x4b\xa2\x44\xb5\x58\x30\x21\x83\x08\xe3\x80\x1f\xe5\x84\x42\xa5\xc5\xc1\xc8\x59\x37\x3e\xed\x78\x32\xb6\xe0\xc3\xe1\xd2\x63\x5b\xec\x51\xe4\x9f\x6a\xc9\x04\x1b\xb8\x5d\x69\x89\xb9\x95\x0b\xd9\x75\x4b\x8d\xc6\x18\x97\x59\x2d\x05\xc4\xba\x4b\x1e\x24\x8f\xb2\x29\xab\x30\xb5\x1b\x26\x20\xdb\x30\xe1\xb7\x41\x5f\x3a\xd0\xc8\x74\x70\x69\xa0\xd6\x98\xdb\x5e\x94\x04\x7c\xc1\x5a\x2c\x1d\xd5\xe8\x11\x05\x3b\x0a\x72\xdd\x7c\x20\x0c\x58\x07\x26\x57\x0b\x09\xe8\xd1\x08\x5e\x30\xcc\x7f\xe1\xe1\x0a\x11\xf1\xe3\x03\xf9\xbd\x69\x76\xe8\xb4\x28\xa3\x68\x37\x1f\xf3\xf8\xf2\x3b\xbb\x47\x96\x30\xbb\x58\xbf\x4c\xb6\x95\x2a\x96\x78\xfa\x6a\x45\xdf\x04\x56\x1c\x7d\x6b\x12\x3f\xa4\xe9\x8b\xeb\x37\xef\x5f\x5c\xbd\xbe\x7d\xf6\xfe\xed\xab\x3f\x5e\xbd\x3e\x73\xa6\x47\x6c\xc7\x50\xf8\x3f\xf6\x29\x13\x74\xe5\x0d\x86\xb3\x57\x4c\xbc\xcf\xd8\x58\xfb\xdb\x79\xfd\xea\xeb\xab\x43\xcd\xe4\x5f\x4c\x0f\x68\xe4\xed\xb3\xdf\x7d\x54\x23\xc1\x38\xe1\x78\x2c\x98\x0a\x91\x8c\xa2\xf6\x3f\x04\x9e\x64\xb2\x5a\x34\x28\x98\x43\x52\xf5\x12\xef\x3b\x48\x4e\xa8\x77\x3c\x6c\x2f\x76\xdf\x9a\xd4\x6e\x66\x7b\x60\xc7\xbe\x20\x13\x23\x11\x7f\xe4\x1d\x0e\xa1\xe4\xff\xd8\xb7\x37\xa4\x41\x3e\xf2\xde\x4e\x87\x73\x0c\xe9\x3d\x17\x13\x7c\x7f\xf8\x95\x74\x75\x0f\x20\x44\xe6\xe9\xcb\xea\x32\xf0\x42\xbe\xf5\x3d\x34\x31\xf7\xe8\xbb\xe6\x44\x48\x49\x37\xe8\xb8\x82\xb4\xb0\x64\x59\x61\xbe\xbb\xb1\xbe\x7f\x97\x54\x12\xc1\x0c\x44\x0f\xdc\x6c\x98\xfb\x1e\x21\x4c\x25\x19\xd6\xd5\x1d\x43\xdc\xb3\x91\x01\x9a\xd6\x94\x30\x77\xbf\x54\x55\x71\x67\xfd\x80\x11\x48\xac\xe6\x7a\x49\xaa\x15\x33\x0f\x1d\xb2\xa5\x3b\xdd\x13\x30\x77\xc2\xf5\x2f\x57\x00\xdd\x8d\xf4\x1d\xb0\x12\x5f\xa3\x39\xc0\xcc\xa2\x54\x54\xb1\xa9\xbf\xeb\xd6\xb3\xce\xca\x29\xcb\x49\xa2\xdc\x0b\x84\x54\xe5\x19\x51\xd3\xaa\x64\x8d\xaa\xe6\x15\x13\xd6\x95\x71\xa7\x7f\x46\xb0\xb0\xff\x63\x7f\xbb\xf7\xbf\xfd\x11\x7f\xfb\x70\x8e\x49\x17\x4c\xd3\xd5\x18\xb7\xc1\x79\xc4\xcc\xf4\x8a\x47\x7c\x2c\xcc\x25\x7e\xe6\x7d\x7e\x6e\xe8\x86\x25\xae\xd6\xf8\x9a\x00\xcc\x05\x69\x9d\x7e\xc0\x49\xb2\x42\xc7\xc8\x8a\x7c\x45\xd8\xd4\x00\x64\xdf\x9a\x72\xa8\x43\x3f\x27\x4f\x9e\x54\xa1\x8b\x8f\x32\x53\xe2\xe7\x67\x98\x56\xfd\xbe\xfa\x21\xf0\xea\x71\x6f\x2e\x9c\xe5\xef\x81\xc0\xb4\x2a\x7f\x80\x3b\xd7\x0c\x93\x18\xdf\xda\x80\xc5\xa4\x03\x35\xc9\xc5\xcf\xd2\xdf\x59\x53\x86\xc3\x07\x37\x6a\x42\xf5\x0e\x60\xf7\x95\x54\xf8\x68\x81\x7e\xd9\xed\x3a\x00\xc7\x87\xa6\x92\x4b\x56\x82\x0b\xcf\x47\xcd\x89\x1b\xa0\x81\xf5\x48\xc7\x99\x99\x95\x60\x83\xfc\x70\xbe\x7f\xb4\x90\xd9\x3d\x18\xd6\x77\xb4\xbe\x0b\xe1\xe7\xed\x90\x2c\x12\x3f\x6f\x58\xf0\xde\x5b\x31\xb1\x60\x41\xf1\x4a\x78\x4a\x46\x27\x40\xaa\x46\x9f\xbb\x86\x21\x23\xb6\x27\xa7\x66\x9a\x6f\x5a\xac\x96\x79\xd5\x80\x10\x65\xc4\x97\x39\x95\x06\x64\x97\x90\x58\x06\x3d\x3d\xff\x7b\x6f\x2b\x6c\xf9\x89\x05\xeb\xc9\x6d\xb0\xe9\x0e\x10\x8c\xf4\x5f\xbb\x8f\xdb\x90\x7e\xd6\x5e\xc1\xd5\xe6\x50\x18\xfd\x1a\x18\x50\x31\xff\x42\x46\x4e\xa7\xdf\x2d\x7c\xee\x5e\xfa\xdb\xaa\x29\x0d\xea\x99\xef\xfc\x17\x17\x70\xf9\x05\xd3\x79\xac\xa4\x4e\x48\x46\x5a\x4f\x25\x76\x4b\xf4\x18\xa9\x3d\x24\xd8\x91\xdc\x49\x8f\xf4\x1e\x56\x3a\x28\xc1\x93\x4f\x2a\xc5\x93\x83\x92\x7c\x96\xa7\x04\x62\x0b\x27\xa5\x49\xff\xbf\x60\x52\xad\xf5\xd3\x17\x21\xf5\xf0\x41\x89\x49\xce\x1a\xc5\xc4\x9c\x09\x17\xd5\xa1\x2f\x0c\xb7\xd2\xba\x27\x39\xf1\xbb\xe7\x66\x0f\x35\x44\xd1\x5b\xdc\xef\x11\xf0\x48\x81\x52\x6b\x49\xe4\x1a\xb6\x99\x57\xfa\x82\x5e\x53\x2a\xba\x93\x81\x26\xd8\x7a\x80\x6a\x62\x2d\xdc\xa9\x89\xb1\xc4\x60\x87\xea\x7a\x0f\xd4\x81\x5a\x85\x51\x4e\xbc\x00\x00\xaf\x89\xc3\x30\x97\x55\x53\x30\xa7\x61\xb2\xb2\x12\x6a\xbd\xf4\xd8\xa3\x9c\xbb\x56\x29\xb9\x17\x34\x7e\x1f\xde\xe8\x03\x25\x44\x9f\x18\xff\x1f\x55\x40\xbc\xd4\x3d\x4c\x26\x99\xf4\x6c\x23\x3d\x9a\x89\xe2\x93\xa2\xae\xda\x19\xa7\xa2\x4c\x86\xf6\x6a\x9e\xcb\x56\x82\xf6\x6f\x56\xfa\xf0\x4c\xef\x0f\x08\x48\x47\x74\xe7\x02\x10\xe6\x7a\x1f\x56\x4d\x10\x41\xe6\x63\xf3\x32\x51\xe7\xb1\xef\xb6\xbd\x47\x96\xa6\xcb\x0e\xe6\x10\x54\x3b\xd5\xdc\x5c\xbf\xab\x4a\x4a\x44\x7b\xf2\x39\x42\x5c\x1f\x15\xbb\x57\x26\x3f\xb9\x1e\x0c\x69\x79\x0b\xef\x57\xbc\xe5\x30\x0f\xfe\xd2\xc5\xb0\x33\xf2\x38\x70\xba\x7c\xec\x7d\x72\x6d\x1b\x9a\xdc\x91\x8b\xb0\x47\x92\xd6\x9f\x1f\x28\x48\xdb\x1d\xfc\x20\x6c\xa5\x8f\x02\x3e\x49\x43\xb9\x27\x47\x84\x2a\x93\x2f\x63\x59\x36\xf2\xde\xf8\x7b\xc0\x33\xed\x83\x01\x09\xba\xd9\x83\xdf\xa2\x8c\x92\x5c\x86\x91\xe9\x5d\xb4\x21\xef\x80\xcd\x9a\xf2\x39\x2d\xee\xf4\xee\x36\xde\x2a\xce\x0d\xf9\xc0\x6c\x66\xfb\x80\xef\x24\x88\x84\x3f\xae\x0f\xa4\xd3\x83\xbe\x48\xae\xc8\xa1\x26\x71\xcb\x49\xa2\xf1\xd1\x17\x46\x66\x80\x6b\x0e\x35\xba\xd7\x3d\xad\xeb\xd8\xbd\xcf\x2b\xb7\xcf\xf9\x0a\x52\x1b\x0c\x93\xfb\x7a\xcf\x5a\x3f\x21\x4f\xc7\x9d\xfe\x1e\xe1\x89\xd6\xed\xe0\xe1\x48\xb2\xbe\xce\x74\x7d\xae\x8e\xf0\x64\xeb\xd9\xcd\x1d\xe4\x9c\x63\xf0\x15\x92\xe5\x0c\xa2\xc4\xfc\x56\x86\xde\x1e\xb9\x99\x33\x98\x48\x3d\xdd\xe8\xdd\xd1\x7b\x7a\x43\x32\x7d\xe9\x8f\x68\x8c\x96\xfa\xf0\xe6\x86\x6a\x32\x8f\x32\x71\xb8\xf9\xa3\x5c\xfa\x7c\x3f\x1e\x1d\xed\xe6\x7d\xe4\x76\xef\xf6\x6c\x7c\xe0\xb8\x1f\xbb\xd5\xd3\xfe\xf5\xd0\xed\x6a\x82\x5f\xf2\x02\x84\x6d\x63\x69\xc7\xcc\xf6\xc6\x0f\x86\x37\x84\x12\x4c\x1c\x4f\xee\xd8\xae\xe4\xdb\xc6\xca\xe2\x54\x1a\x71\xe0\xe5\x4b\x5d\xc6\x4c\x04\xb3\x89\xd5\xad\x55\x67\x85\x69\xf3\x31\xa9\x3e\x2b\x43\xeb\x28\xb6\x74\x5c\x3c\x01\x6f\x9e\xf3\x72\xf7\x07\xb6\x7b\xc1\xb7\x4d\xee\x42\xf6\x37\x64\x90\x0b\x34\xbd\x7b\xf5\x31\xb9\x63\x5a\xaa\xba\x81\x74\x3c\x53\x2d\xa3\x69\x29\xf3\x92\x97\x6c\xc8\xa6\xf0\xbe\x70\x77\x58\xcd\xb7\x4c\xfc\x01\x8a\xdf\xb1\xdd\x54\xf1\xd7\xfa\x87\x4b\x2a\x03\x1b\xb4\x7e\x8f\x2a\x51\xeb\x52\x3f\xfd\x44\xd8\x74\xc5\x14\xfd\x03\xdb\x8d\xc8\xe7\x9f\x07\xf5\x2f\xc8\xe3\xcd\xe3\xc0\x55\x39\x4a\x1b\x1f\x25\x04\x8e\x64\x3b\x40\x06\x77\x73\x64\x17\x48\x45\xe9\x90\xd0\xc4\x1f\x64\x59\x3c\x62\x2a\x61\x72\x7a\xa5\x9a\x7c\xe7\xf2\x98\xa7\x19\x6c\xd3\x00\xda\x14\x42\xbd\x9d\xc5\x16\xe8\x82\xc1\x56\x9f\x9c\x33\xf3\x35\x6c\x0c\x31\xb2\x3f\x8c\x22\xd8\xd3\x4c\x09\x1f\x54\xe1\x31\xec\xe3\xdc\xca\x24\x0b\x90\x8a\xb3\x2a\x01\x3a\xdd\xe4\xdb\x8f\xa7\x36\xdc\xfb\x53\x72\xa3\x78\x8b\xbe\x24\x20\xcb\xe3\x63\x8a\xb7\x74\x41\x41\x7f\x44\xa5\xb7\xdc\x40\x5e\x53\x8c\x47\x84\x36\x4a\x6b\xcd\x74\x93\x8d\xf1\x16\x07\x17\x07\xab\xbf\xf5\x63\xbe\xb5\x3d\xcd\xad\x17\x9b\x4a\xc5\xdb\xb7\xb6\x53\xe8\x38\x9b\xc1\xdc\xdf\x30\x81\xc8\x0d\xde\xa3\x60\xc5\xcb\x8f\x4c\x0d\xe6\xd2\x25\x18\x14\x85\x28\xe7\xb0\xa2\xaa\x3f\xe9\xb0\x7e\x96\xcd\x6b\xbe\xfd\x3f\xe4\x02\xd5\xaa\xe4\xb7\xc4\x1a\xf2\xc9\x19\x19\x60\x36\xa2\x41\x67\x08\x91\x85\x77\xe5\x6c\x2c\x53\x7c\x54\xd0\x5a\x31\x21\xc1\x8c\xb5\x5a\x1b\x25\x4c\xa4\x7f\xd1\xac\x0d\xbc\x5c\x52\x1b\xd5\x51\x99\xd9\x03\x2b\xee\x1b\xbe\x61\xc6\xc4\x13\xa7\xa9\xf4\x7d\x8a\xc7\x9e\xb1\x0b\x91\x8b\x60\x04\x30\x52\x7d\xbb\x5d\x7f\xf3\xee\xf2\x8a\xbc\x7c\xf5\xfa\xea\x0c\x0d\xe0\x27\x7f\x91\x27\xf0\x8f\xf7\x16\xe5\x7f\xfa\x17\xa9\x8b\xea\x17\x07\x46\x34\x0f\x8b\x11\xf9\xf2\xf4\xe9\x97\xa0\x2e\x00\xf3\x60\xb5\x5e\x91\xeb\x1b\xf2\x6c\xad\x96\x5c\xc8\x29\x79\x56\xd7\x18\xfd\x2c\x89\x7e\x70\x88\x0d\x2b\xa7\x9a\xc6\x37\x92\x39\xa4\x2f\x89\x38\x20\x85\x89\x99\x5e\xe8\x35\x6a\x34\x9f\xde\x11\x4a\x9e\xdf\xbc\x98\xc0\xd2\x91\xba\x2a\x58\x23\x4d\x34\x23\x42\xd7\x6b\x4a\x73\xd0\xb7\x9b\xbd\xfe\xfa\xd5\xe5\xd5\xd7\x37\x57\xfa\xa9\xc8\xa6\x8f\x1e\x0d\xf4\x6c\x4b\x25\xaa\x42\x0d\xce\x1f\x3d\xaa\xab\xd9\x54\xa8\x92\xb5\xc3\x81\xfe\x27\x24\xd5\x96\x83\x31\x81\xbf\xde\x3a\xc5\xff\x1b\xda\xd0\x05\x13\xf6\x83\x60\xd8\x41\xfb\xf7\xb6\x18\x84\x62\x1c\xfc\x36\xd7\x1f\x71\x11\xff\xc0\x76\xf0\xfc\xf5\xbf\x5c\xb7\x7a\x85\xa4\xff\x21\xd3\x54\x48\xd0\x6d\x06\xc6\x1a\x5f\x29\xe0\xb7\xfe\x37\xc8\xba\xd1\xad\xab\x4f\xac\xcb\xc5\x1f\x34\xfc\xed\x2d\x64\xc7\xb2\xea\x0a\xde\x48\x25\xd6\x90\xac\xc6\xc6\x31\xdd\x9a\xa5\x26\x45\x4d\xa5\x7b\xbb\x3f\xf3\xbf\xb7\x6b\xbd\x9b\x15\x5f\x30\xb0\x8c\xe4\xdc\x25\xc6\x24\x1c\x01\xbc\x97\x6d\xf3\x4f\x4f\x4f\x21\xe5\xa5\x26\x8e\x06\x16\xcc\xe5\x6a\x0c\x03\x7c\xd5\xa2\xca\xda\xb6\x66\xb7\x37\xad\x2b\xb5\x0b\x74\x53\x02\x41\xa0\x69\x90\xbc\x01\xae\xba\x49\xcd\x36\xac\xf6\xbd\x45\x96\x27\xc3\x3d\x63\x70\xbf\x31\xad\x0b\xda\x7e\x50\x7b\xda\x54\xf8\x9a\xb7\x36\x0a\xc9\xc5\xd8\x3c\xf9\xcd\xe9\x17\x6c\xe1\x70\x9e\xd1\x30\x64\x3b\x0a\xee\x21\x6e\xc2\xa7\x84\xfc\x9e\x6f\xd9\x86\x89\xb1\xc1\xc7\xa9\x56\x54\xec\x02\xec\x71\x50\xe0\xb5\x82\xa9\xe1\xc8\xaa\x14\x21\x1f\xa0\x24\xdf\xde\x6a\x5a\x4c\x16\xb4\xd5\xd2\xee\x5f\xd7\x68\x8a\x02\xa5\x43\xb3\xe1\x77\xc6\x2f\x8b\xb6\xfa\x1e\x10\x80\xf4\x94\x8e\x36\xf2\x62\x84\xa9\x26\x5b\x2a\xc9\x92\xd1\x4d\x05\x09\xcc\xe6\x35\x50\x85\x13\x76\xc9\xc5\x8e\xbc\xa1\x45\x41\x85\xe0\x0d\x1b\x48\xf2\x52\xd0\x15\x9b\xad\xe7\x73\x26\xe2\x5d\x70\x7b\xfd\xe2\x7a\x28\x16\x55\x53\xd2\xd1\x19\x01\xdb\x2e\x3a\x1b\x24\xd8\x22\x56\x5f\x03\x61\xf2\x22\xc8\x2a\x24\xcd\x50\xa9\x30\x59\x75\x64\x5b\xd3\x9d\x2e\xbc\xad\x0a\x80\x50\xda\xea\xad\x40\xa5\x66\xcd\x4d\x49\x05\xa4\xa5\xa8\x9a\x80\x82\x55\xe3\xe0\x65\x67\x5a\x80\xcd\xfc\xff\xfe\x81\x0c\xf5\x2c\x99\x60\xba\x9d\x59\xa1\x20\xa5\x11\x53\x72\xb4\x2f\x27\x62\x2b\xb8\xe6\x1b\xaf\x4a\x82\x27\x56\xef\x76\x77\x52\x89\xf9\x4a\x1a\x0a\xe6\x3c\x84\x02\xb4\x59\x11\xcd\x2e\x2e\xc7\xd6\xdb\x07\xba\x37\x30\x7f\x44\x39\x82\xdc\x6a\x25\xb9\x0d\x5d\xeb\xa1\x1c\x64\x7f\x8b\xb0\x93\x4f\x4e\xc8\xed\x96\xdb\x0b\xa6\x6a\xf4\x64\x15\x81\xde\xd2\x6c\x37\x3c\x7e\xef\xe3\xec\x5f\xf0\x5b\xa0\xea\x81\x9b\xab\xa1\x8a\xed\x2f\xed\x4d\xea\x8f\x8d\xf5\xee\xb1\x4f\x43\x1e\xdd\xb3\x3e\x30\x2f\xec\x44\x48\xa1\xe6\x5a\x0c\x68\xb8\x35\x45\x84\x97\x65\xf5\xa3\x9e\x5b\xac\xf4\x1c\xb6\xa0\xb4\xfa\xcb\x0d\x83\xbc\x8a\x3f\x32\xdc\x44\xd6\x56\x5a\x56\x05\x68\xe0\xd0\x15\xac\xd5\x97\x8c\xc9\xdb\x39\x25\xe4\x05\x3a\x47\x62\x62\x3f\xd4\xee\x1a\x90\xe3\x2d\x07\xd5\x62\x59\x49\xba\x10\x0c\x8c\xab\x27\x27\xe4\x59\x2d\x39\x16\xa8\x1a\x5a\xa8\x6a\x63\x7b\xa6\x45\x5c\x4d\x04\x63\xf4\xf1\xbe\x67\xa5\xc1\x4f\xaa\x20\xa2\x19\x12\xb2\xc0\xd1\x84\x8a\x48\x30\x3b\x47\x37\xd9\x9c\x6c\xa7\x28\x2b\x06\xce\x0b\xd6\xdf\x58\x80\x6d\x10\x43\x37\xd7\xd2\x1c\x32\x73\x78\x88\x4a\x52\x83\x4c\xe3\xbb\x5f\xf3\xe3\xce\xa2\x9a\xdf\xe1\xd1\x96\xe6\x9d\x80\x0a\x53\xb9\x9e\xc9\x42\x54\x33\x36\xf4\xb9\x9d\x8c\xbe\xd1\xe8\xde\xa7\xb3\xca\x38\x67\x8f\x0e\x92\x70\x8e\x92\x91\x57\xda\x83\x48\x58\xc9\xdd\x50\x40\x89\xf6\x20\x01\xa7\xc1\x0e\x74\xa5\x61\xad\x70\xba\xcb\x6a\x63\xae\x09\x9b\xd2\x03\x45\x6a\x2b\xfb\x84\x59\xdb\xd2\xd3\xd8\x49\x89\x1f\xd0\x60\x81\x73\xa8\xde\x92\xc8\x12\x7c\xfc\xed\xa2\xe6\x33\x7d\x81\x68\x42\x8e\x08\xdc\x70\x01\xa4\xa9\xbf\x11\xf5\x4b\xc0\x5d\x8a\x88\xef\x5f\xcd\x8d\xef\x42\x33\x50\x90\x79\xda\x9e\x0d\x89\x4e\x2f\x60\x50\xa5\x9e\xf8\x8e\x29\xb4\xce\x08\x36\x91\x0c\xbc\x1e\x4b\x56\x70\x01\x49\x7d\xfd\x38\x6d\x58\x1c\xb9\x30\x56\x42\xf7\x53\x38\x6e\x9f\x69\x01\xfd\x19\x8c\xdf\x59\xa8\xc6\x87\x34\x72\x51\x16\x72\x5a\x96\x82\x49\xb0\x72\x25\xfb\x75\x46\x8b\x3b\x8b\x89\xf6\xfd\x0f\xb6\xa1\x1b\xf4\xdc\xa0\x33\xa2\x1f\x1b\x7e\x8f\x2b\x3a\x83\x17\x52\x5c\x1a\x50\xd0\x94\xa0\xc5\x9d\x66\x2f\xdb\x25\x4a\x2a\x86\x17\x7b\x2a\xd8\x61\xc8\xd4\xcd\x04\x95\xac\x3c\x77\x7e\xc2\xb7\xcf\x2f\x4d\x86\xa4\x9a\x51\x60\x41\xb5\xaf\x17\xf0\x78\x2a\x98\x9e\x73\xc1\xa4\xe2\x02\x23\x05\xac\x9d\x0c\x38\x03\x78\x1c\x33\x9f\xf7\xca\x54\xbc\x35\xdd\xd6\x1b\x53\xac\x59\x38\x9d\xdf\xde\xa2\x9b\x5e\xc0\x1b\x13\xc8\x41\x38\xe4\x44\x0b\xd0\x2e\x52\x1e\x8c\x15\x5a\x70\x80\x2e\x83\xe4\xe2\x9c\x54\xe1\x99\xd8\x94\x81\x1d\xb8\xe0\xab\x15\x6d\x4a\x3f\x8b\x1b\xf3\xc0\xb8\xe5\x6d\x98\x72\x3b\xfa\x86\x3a\xf3\xdc\xc6\x7f\xf1\xea\x5b\xa7\x69\xb1\x52\xa4\x65\x48\xd8\x97\x69\x10\x7c\x2f\xb9\xb0\xa1\xe3\x29\x21\x17\x88\x8e\x03\x90\x4b\x2d\x01\xd9\x39\x48\x4f\x21\x16\xba\xd1\x65\xde\xbb\x64\x79\xf6\x6a\x0d\xbf\x4e\x9f\xbf\xbe\xbe\xfc\x43\xb6\x1d\x2d\xfe\xdb\x06\xb2\x3d\xbd\xd4\x25\xd2\xae\x5e\x62\xf7\x66\x75\xd5\xdc\x11\xde\x9c\xe8\x8d\x0e\xd0\x88\xfa\x1c\xad\xe4\x18\x2c\x7f\x5b\x51\x29\xc5\x1a\x2d\x60\x69\x11\x42\x3f\xff\x0a\xb8\x1d\x76\x5a\x52\xaa\x39\x2d\x21\x85\x72\xd8\xd8\x73\x4d\xf0\x52\x13\x82\xdd\xfc\xf4\xf4\x74\x4c\x9e\x9e\x9e\xba\x5d\xfd\x56\xb0\xc9\x0c\xde\x3a\xbc\xb9\xf4\x35\xde\x5b\x8b\x96\x4d\xc1\x86\x88\x3b\xd6\xb7\xb8\xe4\x46\x7b\xc0\x05\x61\xd4\x5e\x9b\x66\x8a\x4d\xef\xf5\xb3\xac\x2a\x8c\xe1\x18\x7a\xb4\xda\x5d\xc7\x6d\x78\x0e\x1a\xfc\x9a\x67\xa4\x92\x99\x21\x63\x96\x16\x48\xa7\x92\xeb\x99\x60\xd4\xf8\xe3\xa1\x40\xa0\x8f\x10\x5d\x30\x30\x93\x19\x07\x2d\x5a\x2c\x09\x5f\xab\x76\x8d\xf6\xbc\x3b\xb6\x93\x4a\xf0\x3b\x16\x02\x85\x54\x4d\xa5\x2a\x5a\x57\x3f\xa2\x38\x6b\xe0\x28\xad\xd0\xb6\xc2\xf7\x95\x1b\x98\x66\x2f\x0b\xf0\xd0\x4a\xd6\xd6\x7c\x9f\x73\xc1\xf6\x7d\xc7\x53\x74\xdd\x5c\x43\xaf\x7a\x3f\xff\xc1\xf6\xb4\xa7\x04\xbc\xc8\x9f\x09\xc1\xb7\xba\x64\xe7\x30\x88\x35\x43\x8b\xa4\x75\x81\x75\xc6\x64\xd4\x1f\xa0\xc2\x48\x30\x2d\x1a\x18\x71\x80\xd6\x35\xdf\xda\x99\x74\xfa\xd6\x80\xef\x30\xaa\xde\xe8\xca\xef\xa0\x16\xa2\xa1\xd0\x5a\x7a\xe6\x63\x2f\x98\x19\xab\x6b\xfd\x24\x6f\xfc\x06\xd5\x3f\x3d\x5b\x97\x15\x3f\x9c\xd8\x97\xea\x62\x03\x7f\x1b\xfb\xaa\x51\x5e\x5f\xfd\xf3\x04\xcb\xe6\x8a\x4a\xe6\x9f\xaf\xc3\x41\x2b\x98\x3e\x31\xfa\x19\x4b\xd7\x8a\x0f\xdc\x6e\x7b\xa6\xd9\x72\xd4\x6f\xcd\x39\xe7\x5a\x22\x84\xcc\x69\xfe\x5a\x02\x2e\xbf\x60\x0d\xd3\x97\x5c\x49\x86\x5a\x88\xb3\x10\xa3\x55\xbd\x33\xc2\xda\x92\x6f\x9b\x51\x34\xea\xaf\x03\x7a\xaf\x2b\xa9\xe2\x8b\xe6\x3b\x73\xb5\x6c\x19\xb6\xd2\xea\xbe\x48\xa9\x79\x77\x20\xa1\x45\x7d\x0a\x96\x44\xde\x29\xde\x86\x0d\x3c\x67\x26\x22\x29\x5c\x97\xcb\x98\x9d\xe3\x65\xea\x5e\x9a\xc6\xa7\x11\x4c\xcb\x2f\xae\x2e\x6f\x2e\xfd\x75\xaa\x3f\x18\xcd\x43\x90\xe2\x26\xe1\x81\xa0\x82\x9b\x55\x4a\x3a\xd6\xdd\xe1\xb4\xdc\xd3\xf0\x42\xa4\x21\x1c\x3c\x0d\x4c\xda\x28\xb0\xd9\xbb\x8c\x85\x90\x9f\x59\x5f\xa1\xd3\x4e\x72\xaa\x4e\x97\xbe\xbd\x4d\x5f\xbd\xfe\x95\x1c\x9c\xe0\x8d\x8a\x3a\xf2\xed\x6d\x57\x92\xbb\x33\x1a\x18\xcb\x19\x5d\x5d\xf7\x21\xa4\x60\xf5\x35\x31\x9d\xdf\xc1\x5e\xa9\xc9\xab\x6b\xe3\x6c\x43\x8b\x48\xf3\x64\x02\x81\x41\x86\xab\x44\x89\xe9\x33\x99\x84\x95\xe0\x6b\x45\xd8\xbd\x5e\x31\x9b\x2b\x13\xd1\xb5\xc1\x80\xe5\xf6\xab\x4b\x8b\x6f\xc2\x6f\x79\xd4\x2b\x77\x95\xbd\xba\x4e\x06\x68\x98\x03\x70\x82\x49\x51\x57\xc5\xdd\xa4\x14\x74\x11\x7b\xcb\xe7\x97\x92\x35\x5a\xe2\x02\x36\xf0\x42\xd0\x85\x09\xde\x0b\x84\x10\xbc\x8e\x78\xbb\xbb\x6e\x0c\x34\x49\xc2\xbe\xa0\xd5\x77\x7a\x7d\x2f\x75\xcb\x20\x86\x67\xcb\xc0\x97\xe7\x6b\xa5\x00\x67\x21\xe4\x6e\xf6\xd0\x18\x10\x52\x80\x9d\xb2\x81\x0c\x20\x66\xa2\x5f\xcc\x8c\x2d\xe9\xa6\x0a\xae\x64\xdd\x69\x2c\xf7\x1d\x14\xb3\xbe\x29\xee\xb0\x60\xe7\xf5\x6e\x73\x96\xba\x67\x5a\x9e\xb3\x4f\x80\x68\x90\x82\xc1\x9d\xa1\x5f\x5e\xef\x87\xbf\x3e\x1d\x93\x2f\xff\x67\xe8\xff\x60\x5d\x6d\xac\xa4\x16\xe5\x97\x62\xea\x2d\xbe\xcb\xe3\x77\x3b\x64\xf7\xb6\x2f\xfe\x9c\xa1\x37\x34\x4f\x38\x3f\x68\xb3\x46\xef\x18\x2d\x77\xc3\xd1\x39\xf9\x10\x3f\x6a\x42\xa4\x25\x83\x12\x14\x09\x48\x32\xa7\x5a\x08\xe5\x1f\x7d\xce\x1e\x11\x02\x52\xd0\x19\x19\xc0\x7f\xa1\x77\xcf\xaf\x9e\xbd\xd1\x3f\x5c\x3d\x7b\x03\x7f\x7f\xf3\xf5\x8b\xab\x77\x10\x05\x40\x06\xee\xdf\x83\x9c\x7b\x53\x7a\x29\x05\xa6\x07\xe4\x75\x9a\x23\xd9\x68\xad\xf0\xe1\xe2\x50\xac\x35\xb3\x59\x4b\x16\x3a\x9b\xf9\x72\xf6\x42\xa7\xce\x71\x21\x48\xe8\x87\xca\x37\xec\x01\x3e\x77\x48\x60\xd3\x7b\x64\x02\x05\x3a\x59\xfe\xb2\xb3\x14\xf9\xab\x87\xeb\x90\x84\x25\x87\x1e\x4f\x2f\x82\x57\x04\x7a\xde\xcd\xc9\xaf\xbd\xf7\xe5\x3d\xb4\xb0\xbf\x31\x45\x67\xdf\x99\xe4\x9c\xbf\xee\x42\x01\x65\x54\x4e\x5d\x40\x29\x7d\x1d\xc6\xb3\xdb\x06\x6e\xeb\x31\x26\x55\xa8\xb7\xb2\xa9\xe6\xa8\x94\xbc\x00\xdd\xa1\x7e\x62\x03\xbb\x55\x61\xc3\xd6\x15\xd7\xc3\x08\xb2\xed\x9e\x8e\xa5\xca\x34\x7f\x24\x00\xce\x97\x7a\x57\xaa\x0c\x0d\x42\x5e\x72\xb1\xd5\x5c\x59\xd6\x54\x2e\xad\x46\x2d\x54\x1a\x1a\xd8\x2a\xc4\xa4\x29\xbd\xc7\x3f\xa8\xe2\xc2\x0e\xd8\x55\x43\x7d\x9e\x5e\x7a\x2d\xf0\x79\x75\x9e\xfb\x05\xe0\x6c\x37\xfc\x8e\xf9\x8d\x6a\xfa\x63\xdb\x57\x82\x36\x16\x63\x45\x3a\xcd\xf4\x81\xa5\xf5\xac\x21\xdc\x42\x6e\x3a\xc6\x51\xb7\xfa\xf4\x7c\xee\x8f\xa9\x40\x5c\xc7\xe1\xc9\x9f\x4e\x4e\x16\x63\x32\x18\x04\xa1\x73\x5e\x8b\xa8\x2c\x00\x78\x88\xb3\x35\x97\x21\x2e\x15\xfe\x30\x2d\x19\xe8\xa6\xe0\x9d\x1f\x25\x79\x9b\x27\xd7\x7b\xc7\x40\x31\x4c\xba\x19\x44\xc3\x22\x69\x5a\x96\xd7\x33\xb0\xef\x08\x39\xd4\xec\x7e\x6c\x4c\xb0\x03\x5a\xab\xc9\x42\x4c\xb4\xa4\x31\x38\xf3\x93\xb2\x89\x91\xbe\x37\x00\xf7\xb8\xae\xeb\xd0\x2d\x17\x20\x11\xe9\xa6\x5a\x50\xc5\xc5\xb4\xa6\xcd\x62\x4d\x17\x2c\xb6\x82\xeb\x7a\x03\xd6\x4c\xd6\x72\x10\x56\x25\x64\xa3\xa5\xcd\x86\x37\x6c\xe0\x3d\xac\x13\xa7\x0e\x57\x0c\x2c\x54\x13\x5a\xab\xb0\xec\xa3\xa8\x0e\x4c\xee\xae\x65\x7c\x4e\xa0\xaf\x03\xdc\xec\x51\xa3\x9a\xd6\xa6\x6b\xa4\xcf\xb6\xdc\xed\xde\x87\xd0\x75\xf9\xb3\x93\xff\x1c\xea\xaf\x3f\x81\xe7\x03\xad\xd5\x4f\x35\x9b\x43\x17\x7f\x72\x9d\x1d\xfd\xcb\xc9\x54\x31\xa9\x86\x9b\xd1\x28\x4b\xd7\xfa\xe4\xd9\x8d\x6a\xe5\x9f\x29\xad\xd5\xef\xc4\x1b\x84\x42\xdb\x58\x53\xf5\x23\xbf\x5e\x7a\x7b\xca\x96\x16\x6c\x52\xc9\xc9\x8a\x29\xea\x7f\xe9\x59\xc3\x6c\x1b\xcf\x6d\xa5\x57\xf2\x0d\x53\xd4\xfd\xd9\xd3\xaa\x69\xeb\x21\x2d\x20\xe1\x1e\x7a\x92\x35\xa5\x9c\x6c\x97\x54\xed\xd9\x78\x7a\xa2\x51\xee\xfc\xe9\xd7\x93\x59\xa5\x7e\x32\x2e\xc1\x93\x3b\xb6\xeb\x9f\x60\xac\x71\x60\x8a\x6f\x74\xfb\xdf\x69\x99\x31\xd3\xbf\x75\xa9\xef\xf2\x09\x3c\x84\xe0\xb5\xd5\xd3\x47\x7d\xd8\xa9\xd8\xc1\xce\x82\x3b\x66\x78\xf2\x9f\x75\x35\x9b\x58\xab\xe4\xd9\xf0\x4f\x37\x4f\x46\x27\x91\xb3\x3c\x15\xbb\x28\x84\xc1\x76\xae\xf7\x85\x25\x45\x91\x95\x58\x7a\xfe\x17\x5a\x45\xa7\x0b\xa6\x5e\x50\x45\xbf\x11\xb5\x6e\xf7\xfb\xa7\x3f\x8c\xfa\x37\xfd\x91\x3d\x21\x9b\x51\xec\x27\xef\xa6\xcd\xbc\x9a\x26\xe1\x9b\x0a\xe6\x70\x2f\x6b\xf9\xfc\x73\x12\xbe\xb3\xb2\x73\xd3\xff\x1e\x8b\xe6\x25\xfc\x3e\x0d\xde\x7b\x17\x9a\x25\x2c\x04\x6d\x14\x2b\x03\x26\x82\x2e\x41\x87\xda\x88\x19\xd7\xc9\x89\x6e\x85\x9d\xf9\x54\xfd\xe0\x09\x1e\xb5\x6c\xf0\x21\xdf\xfa\x0e\x80\xc6\xd8\x24\xee\x8f\x89\x99\xb0\x5d\x5d\x05\x02\xe9\x11\x7a\xd2\x27\xac\x12\x4c\x6a\x89\x86\xcf\x09\xc5\xd8\x7a\x4c\xdc\x4f\x86\xe0\xe8\x4f\x25\xa1\x4d\x4c\x90\x37\xf0\xec\xb0\xcf\xab\x11\xca\x64\xfa\x22\x20\x75\x25\x95\x7e\x39\xa1\xf6\x47\xac\x33\xd9\x98\x03\x4a\x31\xd9\x67\x10\x1d\xc7\xe7\x64\xcb\xc5\x1d\xa8\x2d\x6d\x4a\x0d\x2d\xf6\x58\xf0\xe2\xe0\x61\x4d\x49\x59\xd1\x9a\x2f\x1c\x42\x6c\x48\xcd\x5d\x90\x20\xc3\x50\xf2\x18\x9f\x4a\x8a\x4f\xcc\xdc\x4d\xfc\xea\x3d\x26\x33\x78\xa9\x84\xbd\xb3\xa0\xc6\x5b\x2a\x9a\x61\xff\xbe\x03\x43\xa4\x7e\x92\x39\xbc\x6b\x30\x10\x81\x3a\x60\xd0\x9f\xdd\x7a\x70\x8c\xaa\x60\x30\xea\xbd\x8d\x1e\xb4\x81\xed\x1b\x29\x7b\xa2\xbc\x46\x6c\x02\x0a\xd1\x43\xdc\x57\x32\x60\xeb\x81\x92\x6c\xb8\x19\x9d\xf7\xd2\xac\x56\x74\x71\xf0\xce\x88\x6c\x3e\x21\xfd\x57\xba\xf6\x5e\xfa\x60\x9b\xfa\x58\xf2\x60\x77\xdb\x47\xdd\x6a\x5d\x3e\xba\x85\xb7\x86\x40\xbe\x15\xbc\x62\xf1\x9a\x7a\xf8\x05\xeb\x6a\xc0\x3d\xb3\xef\x72\x75\xb2\xf4\x64\x45\xdb\x89\x7d\xb7\xc9\x7d\xb7\xa2\x17\xc8\xf4\xb3\x76\xe3\xac\xcc\x7c\x4e\xae\x41\x71\x31\xca\xc1\xab\xe3\x61\x79\x1b\x3d\x24\x82\x96\x21\x6d\xb5\xd3\xce\x59\x5b\x6a\xd3\x7f\x50\x06\xa8\x24\x39\xd3\x25\x82\x4b\x21\x8c\x0c\x20\x11\x24\xbb\x9d\xa4\x8d\xf2\x71\xe4\x6f\x68\x6b\xa2\x1d\xbc\x38\xd6\x5f\x50\x32\x75\x6d\x27\xa8\xbb\x6a\xf8\xb0\x9e\x80\xf2\xff\x88\x93\x12\x68\xcb\x87\x9f\x7d\xb6\x97\xda\x04\x6c\x08\x3d\x34\xed\x45\x16\xac\xc2\x33\x21\xe8\x8e\x7c\xfe\x79\x34\x71\x56\x40\xfd\xfe\xf4\x07\x90\x51\xd1\x3b\x66\xd0\x5b\xec\x69\x54\x2c\xbe\x86\x54\xac\x4c\x88\xcd\x13\x9b\x8e\x4c\xdd\x91\x8f\x1f\x4e\xf4\xfb\xcd\x98\x6c\x7e\xd8\x2b\xad\x9f\x9c\x90\x97\x54\x2a\x63\x7d\xf1\xd6\x7f\xda\x10\x26\x04\x17\xd3\xa3\xdb\x0a\xec\x2b\xae\xbd\xec\xea\x1c\xcb\x15\x2f\xbd\xc9\x28\xb3\x6f\xf4\xcf\x93\x96\xd6\x4c\x29\xf6\x89\x4e\x60\xe7\x67\xd8\x12\x47\x9e\xcb\x7c\x7f\x82\x33\x49\x61\x7f\x71\xf1\xe9\x0e\xa7\x77\xb9\xc3\xff\xbc\xc5\xd6\xc9\x45\xf8\x45\x2a\x5e\xdc\x5d\x06\x9f\xa7\x05\x6f\x0a\x6a\x91\x0a\xdd\x51\x08\x47\xe9\xd2\xea\xdc\xb1\x9d\x96\x05\x36\xc9\x43\x90\x0a\x52\xe9\x77\x35\x15\x92\xbd\x6a\xd4\x50\x4b\xf6\xe7\x41\x01\x4d\xb0\x92\x5f\xd3\xaf\x87\xd5\x48\x4f\x6a\x45\xbe\x22\xa7\xf8\x8f\xdf\x90\x2f\x7f\xf5\xab\x98\x5c\x9c\xef\x60\xf0\xaa\xd9\xd0\xba\x2a\x09\xba\x05\x57\x0d\x31\x93\x8a\xd3\xa2\x7b\xf4\x84\x0c\xcc\x1c\x7d\x7f\xc7\x76\x3f\x44\x4d\xa7\x29\x0b\x92\x29\x73\xc3\xfd\xbe\xfa\x21\xed\x05\x24\x01\x5a\xcc\xe2\xe9\x6b\xb8\x58\x81\x62\xf3\xf2\xe6\x06\x6b\xc5\xad\x69\x62\x62\x31\x1b\x25\x2b\xda\xb3\x34\xdf\x57\x80\x84\xbe\x98\xc5\x9d\x4b\xff\xd5\x65\xbf\xb1\xf3\x0f\x84\x29\x78\x77\x44\xe4\xc5\xe1\x1a\x67\xf8\x72\xea\x97\x74\x34\x8d\xe0\xc8\xb5\xbb\x09\x6f\x26\x68\x0d\x3b\x74\x80\x13\xa5\xf7\x67\x9f\xa5\x77\xe8\x5a\xb2\x89\x51\xee\x4e\x50\x4f\x3d\xd1\x75\x0e\xd1\xed\xd1\x5a\x77\xe9\x83\xe2\x7a\xe2\x4c\x77\x13\x70\x45\x38\xaa\x89\x7e\x95\x77\xa6\x15\x25\xea\x49\x5b\xaf\xe5\x64\x55\x35\x6b\x39\xf9\x91\x09\x3e\xf9\x91\xf3\xd5\xd1\x52\x87\xa6\xf0\xb6\x5e\xcb\x37\xba\xfe\x7f\x30\xc1\xff\x83\x03\xec\x68\xb6\xa5\xe2\xa8\x01\x44\xb4\x2f\x4d\xdf\xb3\xf4\x36\x13\xf4\x03\x7a\x08\xc1\x6f\xad\x91\x62\xd3\xd9\x64\x89\xd8\x76\xe9\x4a\x77\x19\x38\xa3\x52\x4d\xa8\xac\x68\x33\xa1\xab\x59\xb5\x58\xf3\xb5\x9c\x50\x39\x51\x5b\xae\x6f\x88\xf5\xaa\x4f\x46\x44\x8f\xe1\xa9\x60\x0b\x2a\xca\xcb\xbf\xdc\x3d\xb3\xb5\x33\x63\x44\xfb\xcc\x04\xf4\x10\x13\xcd\x18\x04\xef\x7b\xd8\x86\x02\x0c\x56\xfb\xf5\xf3\x0a\x62\x81\x04\xaf\xb3\x4b\x6f\x88\xcf\x78\xdd\xa7\x6a\xf0\xf3\xb2\x6b\x8a\xe7\xbc\x2e\x6f\xe8\x9c\xdd\x28\x9a\x39\x5c\x01\x31\x3d\x0b\x33\xd0\x49\x1d\x22\xbb\x9f\x2b\x20\x49\xdd\xec\x33\xf9\x1c\xdd\xcb\x83\x61\x3c\x80\x35\xec\x27\xd4\x19\xc2\x51\xa2\x9c\x9e\x10\x5d\x70\xef\x6c\xb8\xc8\xe7\xc9\x56\x54\x87\x77\xa9\x5b\xb9\x4b\x5b\xef\x3b\x5d\x6d\x5f\x67\x4b\x56\x3c\xfd\xf2\x68\xba\x2f\x74\xe9\x2c\xb9\x39\x6f\xd4\x64\x4e\x57\x55\x7d\xf0\x70\xea\xa1\xbf\xe4\x8d\x7a\x09\xa5\x3b\x43\x07\x4a\x47\x3d\xc2\x98\xd2\x64\xf2\x4f\x2e\xa4\xb2\xe2\x08\x4f\xf6\xb3\xbb\x64\x7d\x38\x8e\x96\xdd\x5e\xc6\x6e\x1f\xdd\x0e\x2e\xf9\x8a\x4d\xee\xd8\x4e\x4e\x8c\x2f\xe3\xb1\x1c\x48\x57\xfc\x03\xdb\x49\x67\x6b\x4d\x97\x42\x97\xd4\x72\x6c\xb3\xe8\x93\x06\x33\x2f\x3f\x53\x01\x59\x7f\x22\x1a\x7d\xb6\x19\x75\x24\xb1\x44\xae\x3c\xee\x31\x07\x02\xf5\x70\x70\xa5\xff\xa3\x05\x9b\xa0\xa7\x81\x1d\xe7\x8c\x5c\x01\x80\x16\x2b\x8d\x45\x7b\x70\xc4\x33\x4d\xec\x72\x1a\x8c\xee\xf8\x68\x59\x3e\x37\xff\x1e\x06\x3a\x41\x52\x50\xc4\x1e\xba\xff\x39\xfd\xd6\x22\x59\x90\x89\x2a\x91\xfe\x57\xf4\x7e\x82\x2a\xfe\x89\xf5\x47\x38\xe2\xe0\xad\xe8\x3d\x86\xf5\xdd\x58\x1f\x86\xee\x8a\x43\x82\x66\xdc\x4c\x54\xb0\xc9\x5c\xff\xeb\xe8\xa5\x87\xca\x7a\x43\x3d\x13\xec\xa5\xfe\x6f\xb6\x01\x45\x8d\x56\xc1\xe8\xa9\x8f\xa7\xae\x28\x68\x13\xae\xd0\x13\x23\x43\x1b\xdc\x0e\xd0\x04\x81\x1a\xb5\xa3\x6e\xe4\x1e\xbf\x81\x3c\x75\xa0\x38\x41\x95\xdc\x31\xbc\xe0\x4d\xe2\x70\xd0\xe1\x08\x2d\x5d\x7c\xdc\xe9\xd5\x15\xf7\x9e\xde\x96\x4a\x39\xa1\xb5\x9a\x98\xd7\xee\x03\x0d\x5c\x5a\x86\xe7\xf2\xde\x7b\xd8\x7a\x6b\xd7\x5a\x32\xf1\x6c\xc1\x1a\x65\xb5\xfe\x6f\x68\x41\xae\x6f\xc8\x1f\x4f\xfc\x71\x87\xf7\xf0\x6b\xa6\xc8\xb3\x5a\x4d\x9e\x4e\xa7\xff\x6e\xc0\x1b\x79\x04\xe6\x3b\x54\x9c\x18\x61\x02\x9d\x58\x01\xb9\x0b\x92\x7f\xf0\x26\xa4\xd4\xf0\x66\xa2\x5b\x20\x72\x27\x15\x03\x57\x46\xc8\x32\x04\x36\x41\xfb\x34\xe4\x2d\x6b\x30\xb6\x50\x3f\x12\xdb\xd6\xf6\xdc\x8f\x89\x5c\x90\xe1\x67\x7a\x54\x9f\x7f\x6e\xcc\x89\x58\xe4\x76\xd7\x42\x72\xb3\x41\xcb\xdb\x75\x3b\x18\xf5\x6b\x6f\xf4\x28\x9e\xd5\xea\x6b\x8c\xed\xe9\x99\x75\x10\x08\xff\x6b\xa7\x5d\x0b\x8c\xff\x6c\xf3\xae\xc7\xb4\x7f\xe2\x81\xbd\xfc\xd7\x4e\xfc\x1b\xdd\x85\x9f\x3f\xf1\x9f\x68\xd2\x7f\xf6\x9c\xeb\xe1\x1c\x31\xe7\x9b\x07\xf0\x2d\x24\xfa\x6d\x86\x9e\x60\x05\xab\x36\x6c\xc2\x9a\x82\x97\xfd\xd2\x96\x11\x16\x4e\xfe\x73\xb8\x56\xf3\xc9\xaf\x7f\x12\x74\x3b\xfa\x97\x93\x91\xb3\x87\x86\xda\x88\x58\xcd\x14\x6b\x44\xe6\x5c\x90\xc7\x69\x9b\x8f\xbb\x4a\x23\xb4\xab\x42\x5b\xde\x7e\xe6\x15\x21\x59\x85\xed\x95\x21\x97\x19\xa5\x81\x99\xe6\xcd\xc4\x79\x0d\x1f\xa7\xc4\x4f\x9c\x77\xfb\xe9\xa2\x63\xf2\xb1\x44\xbd\xc3\x70\x9e\xe2\x8c\x8a\x89\xf1\x9a\x3f\x42\x5e\x4d\xe3\x9f\xbb\x02\x6b\x08\xb3\x3d\x59\xd1\x1d\xc8\x03\x13\x2a\x04\xdf\x4e\x8e\x11\x38\xfa\xfc\x94\x7b\xe6\xc3\xb4\xc3\x37\x6c\xe2\x43\x8b\x8f\x1e\x48\x37\xb2\x39\x33\x20\xdd\xff\xbf\xe7\x9e\x8d\x1a\xfc\x19\x1b\xd6\x2b\x23\x8e\xd9\xb6\xcb\x6a\xae\x26\x18\xb9\xf3\x40\x5d\x07\x54\xc5\x8c\xba\x7d\xe2\x95\xad\x74\x68\x1e\xc3\xc3\x26\x99\xb2\xfd\xed\x2e\x8a\x66\xda\x93\x42\x1e\xb9\x9b\x9c\xa2\xe5\x1b\xc9\xc4\xa5\x94\xdf\x88\xba\x9f\xe4\x44\xbf\xea\x3f\x8e\x2e\xc0\x9d\x74\x08\x6f\xb9\x28\x27\x00\xb7\x37\x81\x1b\x66\x52\xb3\xf9\x43\x55\x16\x9a\xc6\x73\x4d\xe2\x8d\xa6\xf0\x9a\xcd\x55\x56\xaf\xd4\xd1\x50\xec\xab\xd7\xdf\xc1\x8f\x51\xaa\xc4\x2d\xbd\x33\xda\x8f\x07\x77\x31\xa9\xd8\xdf\xc7\x55\x55\x96\x87\x59\xd6\xde\x4e\xbe\x01\x12\x1f\xd3\xcb\xb4\xe6\x87\xf1\x23\x02\xd8\x1d\x89\x73\x9a\x60\xb4\xbc\xc1\xf0\x92\x2e\x46\x48\x58\x10\xec\xef\xbb\x67\x75\xed\xde\xd4\x9a\xa3\x44\x4e\x7b\xa6\x8b\xe1\x6f\x06\x6c\xa9\xeb\xb8\x1b\xa7\xa0\x91\x89\x07\xa4\xb4\xd1\x29\xe8\xc1\x8a\x18\x7a\xcd\xbc\x5a\x60\x50\x57\x1a\x7d\xf8\x45\x04\x61\xde\xe3\xa7\xf7\x61\xbf\x7f\xe2\x82\xa9\xb7\x10\x9b\xd3\x97\x77\x27\x98\x8c\x38\x99\x30\x28\x94\xb4\x88\x64\xc1\x29\x67\x82\x16\x77\x4c\x3f\xfb\x11\xb1\x64\xc5\xcb\x8e\x3f\xe8\x8c\xf3\x9a\xd1\xe6\x83\x41\xda\xb8\x5d\x32\xc3\x60\x15\x27\x18\x16\x77\xc0\x99\xf2\xb9\x6d\xc4\x72\xb4\x5e\x94\x0f\x1b\xa5\x30\x9d\xa5\x55\xa0\x64\x16\x92\x04\x03\xc0\xac\xb7\xac\x8b\x00\xb3\x68\x85\x3b\xbe\x0e\xa0\x55\x24\x53\x36\xd6\xa6\x65\x42\x56\x52\x8d\x01\xc0\xb8\xf2\x10\xf9\x38\x6f\x63\x22\xa8\x81\x46\xa0\x98\xfc\x18\x9d\x68\x9d\x57\x72\x9f\xd7\x2c\x76\xe7\xd6\x75\xec\xd8\x49\x0a\x0c\x8f\xe1\x0c\x01\x91\x38\xf3\x6d\x18\xd2\x06\x9f\xcf\x33\x91\x79\x06\x28\x25\x89\x94\x3a\xa6\x06\x17\x25\x13\x49\xe9\x7c\x22\xa6\x24\xd4\x0f\xc7\x4b\x01\x6c\x15\x41\x91\xa2\xbd\x6e\x26\xe8\xe0\xd6\xee\x99\x88\xee\x06\x0f\xa7\xe2\xc0\x36\xc7\x80\x2b\xcc\x03\x05\xb9\xab\x03\x00\xb2\x26\x8d\xb2\xf8\xb4\x9b\xff\xc6\x27\xe3\xd7\x5d\x29\xf7\x6d\xff\xbe\xc8\x8e\xfe\xcd\xef\xd7\x17\xa7\xff\xbf\xe1\xc6\x7f\xde\xd9\xa2\xbd\x9b\x3f\x13\xf7\xd7\x67\x35\xc5\xaa\xe7\x79\x30\x85\xd4\xd6\xe0\x23\x45\xa4\x05\x58\xcb\xc6\x11\x8e\xf3\xdd\xe8\xc7\x61\xf8\xc5\x1a\xea\x75\x55\x42\xcd\xb7\x1d\xfd\xfe\x73\xeb\x83\xee\xfa\x76\x51\xa3\x58\x53\x9a\x5b\x0d\x4e\x90\xc3\xe3\x40\xe8\x97\x7c\xb4\x2a\x44\x4d\xb1\x20\x5c\xca\xa2\x07\xcb\xf7\x3e\x5e\xea\x8b\x8f\x62\x0e\x7b\x36\x4b\x97\x41\xa4\xd3\x97\x3d\x41\x7e\xea\xff\xdb\x9e\xa0\xc4\xee\xb1\xef\x04\x65\x22\x63\xff\xff\x13\x94\xb3\x1d\x3d\xf0\x04\xf5\xee\xa2\x7f\xb8\x13\xb4\x67\xb3\x74\x4f\x50\x3a\xab\x31\x4e\x36\xc4\x0c\x13\x0a\x11\x27\xd6\x18\x85\x0e\xc8\x6e\x5e\x0c\x4a\x01\xb8\x16\x8b\x75\xa3\x0f\x8b\xf1\xe4\x85\xb0\x26\x88\x62\x12\x0b\x04\xb4\xf0\x42\x43\x3e\x18\xc8\xd0\xba\x04\x28\x24\x3c\x25\x31\xf2\x55\xb7\xdd\x69\xee\x98\x51\xb1\x40\xeb\x0e\x10\x49\x9a\xf7\xb9\x93\xb8\x05\xb3\xb2\x84\xf6\xcc\xab\x58\x37\x97\x61\xef\xa2\x13\xe8\x7f\x1f\xfb\xb6\x7d\x66\x21\xd6\x6c\x2a\xc1\x9b\x55\x80\xfe\x69\xde\x31\x0b\xa6\x86\x83\xe0\xf3\xc0\x67\xc0\x42\x17\xbd\xb0\xea\x67\x17\xd6\x95\x6b\x00\x00\x92\x21\x55\xa3\xc2\x85\xf3\x12\x37\xf7\xb7\x0f\x7d\x80\x8c\x26\x88\x14\x97\x0f\xa3\x8a\xc2\xa1\xd8\xc3\xf7\x37\x3f\xa4\xb3\x60\x66\x7f\xfa\x89\x0c\x82\x58\x84\x8a\x9f\xd9\xf8\xd8\x69\xbb\x96\xcb\xe1\xc8\x7f\x0b\x3a\x74\x16\xfe\xe1\x4b\xf0\xe6\xea\xbe\x52\x67\xe1\x9c\xfa\x9c\x4b\xf8\x3f\x00\x6f\xd4\xc4\x79\x3b\x8c\x9c\xa5\xe0\xc3\xba\x81\xed\x59\xd7\x2e\x4a\xb8\xe3\x39\x86\x08\x91\xc1\xbc\x17\x35\x97\x6c\xc2\x9b\x09\xbb\xaf\xd4\x60\x94\xfa\x5a\x19\x15\x32\x94\x1a\xe6\x3c\xbc\xc3\x9c\xbc\xb9\xc6\xc3\xf9\xd5\xfb\x27\x9b\x34\xdc\x78\xa5\x57\xf3\x38\xe3\x8a\x81\x8c\x92\x11\x2c\x19\xfe\x3a\x46\x37\x71\x64\x32\xdb\xca\x47\x67\x3a\x46\x61\x25\xda\xfd\x3b\xba\x92\x6f\x43\x86\xbf\x9f\x4d\x38\xd0\xa8\x1e\xd4\xa8\x60\x5c\xaf\x70\x2e\xa0\xe7\x69\x84\xb7\x79\xc4\x65\x1e\xcc\x3e\x66\xd2\x60\xe8\x47\x96\x02\x88\x24\x94\x8c\x21\x48\xca\xce\x23\x4c\xe8\x4b\x1b\x91\xf5\x21\xb0\xe0\x8b\x88\xee\xbe\xc1\xc7\x0b\xd6\x1d\x7c\x14\x87\xde\x59\xdf\xce\xfd\xb2\x60\xea\x85\x81\x5a\x18\x8e\xa6\x33\x5e\xee\xf4\x62\xbb\x39\xf9\xc6\x6e\xcf\x07\xcc\xca\x9e\xde\x77\x76\xfb\x43\xfb\x0f\xcc\x22\xec\xa0\x96\x95\x28\xb9\xbc\xb9\xd1\x8c\xa2\x32\x78\x3f\xf0\xe5\x6b\x90\x18\xea\x1d\x76\xb0\x92\xa8\x04\x41\xc1\xc5\x15\x96\x51\x46\x46\x88\xf7\x04\x1f\xf7\x3e\x39\x08\x42\x4d\xf1\xa5\x85\x04\x02\x49\xa8\x53\x18\x5f\x63\xd1\xbb\x8c\x4a\xc8\x18\x66\x38\x78\xd8\xe5\xa4\xf6\x6f\x2d\x62\x1c\x9b\x57\xf7\x71\x8b\xae\x93\x27\xe6\x2b\x06\xba\x1f\xf1\x8e\x97\xf2\x5b\x1a\x5d\xab\x9a\xd4\x18\x7b\xf7\x80\xe8\x2c\xa7\x9f\xc2\xf6\x2f\x06\x93\x09\x34\x3b\x19\x04\x4b\xe8\x01\x3c\xec\xbf\x0c\x84\x87\x79\xcc\x63\x24\x2b\x24\xeb\xb5\x0c\xfb\xcf\xff\xf2\x37\x4f\xf5\xc3\xbf\xfc\x4d\xf7\xee\xc3\x9f\x4d\xff\xf2\xa0\xaf\x73\x6e\xb0\xd8\xfa\x0f\xe8\xa5\xde\xbd\xa1\x73\xd0\xe9\x08\xd1\x61\xf4\x3e\x30\x0b\x61\xf1\x01\x1c\xb9\xe8\x74\xdb\xe9\x72\x89\x37\x09\xc4\x19\xec\x5c\x0f\xc0\x3f\x29\x50\xbc\xa5\xbb\xc7\xa6\x03\x6c\x71\x25\x4b\x26\x2b\x01\x82\x97\x69\x6d\x4c\x5c\x7e\xc0\x63\x44\x6a\x1c\x47\x14\x00\x7c\xef\x01\xa2\xdb\x7b\x88\x15\x33\xa9\x71\xda\xfb\xdc\xcd\xed\x9d\xaa\x46\x51\xbe\xf0\x58\xec\x34\xf3\xd5\xde\x47\xc0\x05\xb8\x8b\x86\x10\xf3\xa1\x49\x4c\x20\x2f\xb1\x45\x4e\x0b\x89\xc4\x89\xf6\x30\x7d\xf1\x13\x32\x68\xef\x07\xfb\x09\x62\x4a\xbe\x5c\xbc\xe0\x81\x26\x6c\x8a\x77\xdb\x46\xb0\x61\x7e\x67\x55\x72\xe6\xa2\xea\xac\x74\x9a\xbb\xf1\x08\x69\xb5\xbb\x0e\xd9\xfb\x27\xe4\xb5\x6e\x52\x8f\xe8\x1d\xba\xcf\xfd\x0c\x69\xda\x3a\xb0\x3d\xb8\x87\xde\xef\x2d\x73\xe4\x34\xaf\x7d\x1c\xf8\xf7\x3d\x7e\xf0\x2d\x10\xbb\xd7\xf5\x5c\x01\x99\xdd\x68\xba\x95\xdf\xcd\xc6\xd9\x70\x74\x04\x1f\xeb\x39\x0e\xce\x3b\x30\xc4\xfa\xcb\x39\xaa\x76\x26\x25\x87\x49\x12\x65\x76\xef\xba\x1d\x01\xb7\x18\xc3\x23\x63\xad\x38\x66\x3b\xd5\x42\x42\x35\x77\xb0\x41\xbb\x23\xa6\x31\xf5\x4c\xea\x4e\x26\x24\x2a\xb1\xdf\x3a\x23\xcf\xf8\x43\xa5\x92\xbc\xad\xdc\x8d\xb8\xe9\x03\x63\xc1\x1a\x28\x78\x66\x32\xac\x60\xb0\xf1\x1e\xc7\x8c\x3f\x0d\xff\xf8\xf4\xe9\xf9\x9f\xe4\x93\x20\xf2\x18\x0c\xaf\xba\xe6\x4f\x3f\x11\x8c\x02\x86\x1e\x5d\x8a\xeb\x9b\x83\xfd\x79\x7a\x8e\x09\xb8\xd0\x98\x63\x14\xae\x2e\x1e\x33\x0a\x02\xea\x23\xf1\x25\x92\x40\xab\x55\x87\xc2\x01\x43\x06\xaf\xcb\x78\x3b\x04\xce\xcd\xb8\x0f\x3a\x9b\x40\x53\x7a\xc8\x3e\x88\xf6\x68\x7e\x13\x78\xaf\xe5\xfc\x5b\xce\x3b\x6f\xbb\x09\x0f\xaa\x7c\x96\x38\xdb\x1c\xa1\x78\x89\x1a\xf4\x7f\x9c\xfb\xfa\xc7\x3b\x5a\x67\x28\x64\x76\x16\x2a\x89\xc2\xac\xfa\x21\x17\x31\x39\xbb\x32\x09\xb7\x30\x99\x4f\x5d\x3e\xa8\xe6\xc0\xce\x95\xcd\x5d\x29\xed\x22\xe8\xdd\xed\x7a\x32\x65\x7f\x5d\xd3\x5a\x0e\x2d\x7d\xbf\x9b\x7d\x05\x97\xdc\x32\x72\x19\x80\x71\x07\x28\x25\x66\x3f\x95\x67\x04\xfa\xa9\x8f\xa6\x2e\xb1\xc5\x4b\xaf\xac\x10\xcc\x36\x1b\x4d\x35\x80\x77\x08\x76\x0a\xf0\x50\xdc\xf5\x42\x2a\x79\x96\xaf\x73\xe8\x72\xf0\x09\x60\x1e\xba\x17\xfc\xc0\x8f\xd6\xad\xf5\xd6\xdf\x7f\xf2\x20\x88\x2f\x7b\xf4\xe0\x8b\x3e\x00\xc7\x1c\x2e\xe7\x98\xdf\x77\x57\x79\x21\xa6\xe1\x25\x9b\x94\x6b\x01\x21\xa8\xbd\x22\x4c\xee\xe4\x41\x98\xc0\x88\xfc\x96\x0c\x4e\xa7\xff\x5b\x42\xae\x80\xd3\x41\xfe\x0a\x46\x06\x64\x51\x9a\x00\xbb\x3e\x1a\x64\x47\x07\x68\x6d\xa7\xc7\xdc\x26\x37\x40\xef\xe0\x40\x0d\x3c\x18\x86\x30\x42\x1f\x7a\x47\xbb\x51\xc6\x3d\x17\x90\x01\xdd\x53\x7c\xa3\xa6\x6f\xae\xbf\xb9\xb9\x7a\xff\xee\xea\xed\xf5\xbb\xdb\xf7\x2f\x5e\xdd\x3c\x7b\xfe\xfa\xea\x05\xf9\x6d\xfe\x0a\x1f\x6c\xa8\x18\xda\xa7\x46\xd4\xbc\xde\x2c\xa3\x01\x39\x7b\x68\xbd\x96\x03\xf4\xda\x68\x90\xd5\xa6\x52\xc4\x09\xe3\xf3\x9c\x45\xd1\x06\x6e\xf7\xd8\xcd\xdf\xf1\xed\x25\xaf\x3f\x80\xb8\x8f\xff\x36\xca\x51\x22\x98\x81\x90\xb6\xb9\xf2\x2c\xe1\x90\xe2\xbe\x75\xa2\x1b\x66\x20\xfb\x8e\x51\x7c\x18\x53\xa4\x0d\x13\x9f\x16\x35\x6f\x52\x21\x26\xab\x3d\xbe\x57\x21\xde\xfc\xc7\x0a\xa1\x71\x9e\x80\xe3\x7a\x1c\x1f\xfd\xec\x01\xe8\xeb\x5e\xf2\x00\x8f\x29\xa1\x4e\xd5\xff\x79\xac\x0d\xa3\x7f\x0c\x31\xfd\x4c\x4a\x10\x95\x56\xdd\x33\xb6\xcc\x2a\x44\xc9\x23\xe7\x14\xb4\xc9\xb4\x6d\xeb\xca\x83\x3b\xf7\xfa\x6f\xd8\x37\xe7\xed\x7e\x7a\x07\x86\xbf\x60\xea\x3f\x38\x5f\xbd\xc4\xb6\x8f\x7e\x47\xc4\xcf\xb2\x1f\x1d\x85\x58\x49\x0f\x18\x60\x38\x8a\x4a\xd5\x3e\x5d\x87\x1d\xd3\x40\x7a\x77\xd8\xfc\xfa\x42\xb5\x5b\x47\xe0\xd8\x15\xc5\x48\xc9\x5b\xa8\x13\x2e\xa7\xfe\x01\x07\x96\xe0\x51\x4f\x95\x29\x0b\xff\x4d\x96\x0d\xa0\x99\x11\x57\x0d\x52\x6d\xd5\x3b\x03\x9a\xd9\xc7\x2a\xcc\x28\x62\x4e\x61\x0a\xeb\xc1\x38\x28\x4e\x54\x53\x68\xf2\x87\x94\xfc\x58\xaa\xcb\x17\x90\xaa\x17\x02\x05\xdf\x1a\xbb\xda\x7c\x5a\xd4\x74\xd5\x9a\x12\x53\xc1\xb7\x63\x72\x3a\x0e\xb7\x6f\xf8\xa4\x9e\x90\xa7\x4e\x52\xc2\x68\xc4\x3c\x19\xfc\x96\xa5\x84\xef\x7f\x4b\x28\x3a\x26\xce\xc7\xc4\xa1\x59\x40\x77\x90\x98\x13\x98\xa2\x26\xc8\x6f\x6c\x3f\x5c\x66\xc8\xf8\xfb\xc5\x85\x2d\xf0\xf9\xe7\xf6\x93\xcd\xcd\x13\x09\xb1\x3d\x8c\xd2\x96\x75\xc0\x8e\x89\x9c\x7f\x59\x43\x0e\x7e\xe7\xd7\x33\x90\xc4\x55\x99\xd7\x74\x71\x60\xc5\x20\xb0\x0a\x07\x7d\xed\x5b\xea\x79\x08\x1f\xe8\x9f\x41\x5f\x89\xf9\xa4\x0c\xfa\x86\x48\x8e\x3d\x87\x08\x61\xb0\x21\x1f\x00\xfc\xeb\x61\x5e\x41\x16\x02\xd2\x3b\x8e\xe8\x1f\x3a\x5e\x41\x0e\x47\x1b\x3e\x9f\x07\x29\x42\xb5\xe4\x80\xa4\x20\xa7\xe0\x87\x9c\x4e\xa4\x33\x84\x8f\x73\xdc\xe9\xf4\xb5\xcf\x71\x07\x7b\x9b\xaa\x99\x75\x67\x70\x13\x27\x98\xe1\x63\xc4\x64\xb7\x17\xfa\x37\xaf\x1c\x5c\x63\x9f\x22\x10\x77\xe6\x25\x5f\x37\xea\x08\x66\x85\x50\x8e\xa1\xe1\xdc\x56\xf6\x5a\xbf\xe0\xc7\x34\x2e\x42\xd9\xa4\x02\x46\xf3\xba\x35\x04\x07\x4f\x4f\x4f\xff\x75\x90\x7d\x4c\xf5\x55\x79\x43\xd5\x72\x5a\xb0\xaa\x8e\x0c\xdc\x87\x74\x7e\x5f\xd8\x03\x1a\xf4\xf1\x49\xa6\x2a\xde\x52\xce\xf5\x1c\x06\xfe\xf6\x7e\x64\xf4\x79\xe7\x59\x64\xd5\x80\x66\x1f\xf3\x0a\xf9\xcd\x92\x95\xeb\x9a\xdd\xec\x9a\x22\x66\x38\xef\x7b\x94\x5d\x86\xfd\xfd\xec\x05\x17\x9a\xcb\xeb\x71\xdf\x7a\xa2\x55\x63\xf3\x69\x1c\xd8\x01\xbf\x67\xc6\x59\xd6\x6d\x01\x4b\xce\xaf\xbf\x6b\xe0\xc0\xe2\x2f\x2d\xad\x07\xac\xbe\xad\x73\xdc\x9a\x9b\xd2\x5f\xf8\x31\xef\x5b\xbf\xec\x2d\x31\x76\x75\x3f\x66\xed\x5e\x30\x0b\xca\xe5\xde\x3f\x61\x7e\x96\x23\xce\x24\xa2\x8a\xba\xc4\x4f\xf8\x45\x4e\x0f\x2e\xac\xaf\x72\xc4\xc2\x86\xd3\xd0\x73\xbc\x83\x79\xc8\x1e\xf4\x38\xf5\xbc\x9f\xbf\x00\x98\xd3\xb4\x02\x67\x29\x3a\x2d\x3e\x13\xb1\x1b\x42\x86\x9c\x39\x41\x1d\x7a\xb8\x25\xdf\x0f\x83\x75\x32\x89\x34\x58\x53\x82\x45\x3e\x9e\x7b\xc5\x49\x5b\xaf\x17\x55\x13\xc0\x51\x47\xa0\xb8\xb2\x7b\x9a\x03\xda\xfb\x57\x17\xb9\x4c\xb2\xbc\x19\xcb\xcd\x76\x49\x11\x35\xdc\x82\x09\x97\xbc\x61\x19\x20\xe1\x88\x1e\x64\xdb\x5e\x2b\xb4\xe4\xae\x9b\x12\xbc\xa9\xa7\x84\xbc\x52\x2e\xcf\x3b\x20\xe3\x05\x8e\x55\xfa\x64\xbb\x34\x36\xc3\x91\x05\xcd\x83\x71\x43\x72\x32\x5e\xc6\x79\xc7\xc5\xba\x21\x11\x8a\x1d\x64\x70\xc7\xf4\x98\xad\xe0\x0b\x41\x57\x2b\xaa\xaa\xc2\xc1\xe6\xf2\x79\x68\x32\xc6\x0e\xdb\x81\xbf\x63\xf5\x4e\x73\x26\xa3\x0b\xb0\x32\x3f\x5c\xeb\x4d\x49\xd6\x80\x65\x04\xa0\x79\x51\x62\x7e\xb2\x62\xb4\x91\x2e\x23\x3a\x57\x64\x06\x76\x69\x63\x1f\x2d\xb8\x10\xfa\xf9\x8a\xbe\xa6\x3b\xa6\xfc\xbc\x35\xfa\x31\x96\x22\xab\x2f\x2b\xf5\xf3\x4e\xda\xe1\x93\x83\x7b\xfa\x41\x37\xe3\x57\xce\x2e\xa6\x96\x5a\x14\xd6\x1b\xf5\x0a\xa3\xb9\x9f\x29\xc5\x56\xad\x32\x89\x23\x34\x7d\x32\xa3\x25\x4e\x2d\xc6\xe6\x74\x0e\x8f\x16\x86\x4b\x56\x2b\x7a\x89\xdd\x26\x17\xd1\xd0\x26\xb1\xfc\xb6\x30\x57\xf9\x30\x36\xb9\xc5\xe2\x71\x44\x21\x2b\x27\xfb\xcf\xf9\xd3\x1c\x75\xe8\x37\xe4\xd4\x5e\x04\x0e\xbb\x37\x49\x11\x33\x8a\xb8\x7a\x17\x97\xbc\x4f\x8c\x0f\xdb\x41\x55\x60\xa8\x47\x77\x88\x49\x95\xcb\xba\x6d\x33\xe9\x4c\x6b\xd6\x2c\xf0\x25\x70\x4e\x2a\xf2\x9b\x0b\x72\x7a\x4e\xaa\xc9\x24\x8e\xee\x8c\xeb\x7c\x5f\xfd\x40\xbe\x8a\x16\xc0\xa9\x7a\x20\x56\xc4\xc3\xa4\xc6\x4d\x05\x3e\x37\x1f\xa2\xdb\xad\x67\x46\xf3\xdc\xf4\x10\xff\x31\x37\xde\xa7\x63\x40\x31\xc1\xff\x0e\x1c\x08\x7b\xfc\xdf\x87\x05\xfd\xec\x6b\xdb\x5c\x80\x47\x0a\x65\x0f\xe7\x3b\x38\xa1\xc8\x78\xe2\x4b\xd6\x71\x9d\x77\x7c\xab\x59\x8e\x6b\xa4\xcb\x6f\xb0\x93\x3d\x0c\xc7\x49\x82\x96\x80\xa3\x5e\x58\x35\x02\x56\x71\x0a\xc7\x61\xc2\x65\xa0\x03\x5f\x79\x16\xa3\xaf\x7f\x74\xc9\x5a\x70\x45\xe4\x8a\xd6\x26\x37\x06\x09\x3a\xfc\xc5\x05\x99\x98\xcc\xe3\xdb\x65\x55\xb3\x80\x56\x8c\x49\x5c\x53\xa9\xde\xe1\xfb\x5b\x77\x03\x33\x8d\xe3\x31\x1d\x01\xf3\x08\xb8\x85\x2d\x3b\x09\x85\x53\x97\xe9\xcb\x72\x9c\x8b\x0b\xe2\xb5\x1d\x7d\x1c\xc4\x31\x1f\x6c\x10\x42\xfd\x0c\xf9\xd1\x5e\xae\x63\xe7\xbd\xe5\xed\x3b\xbe\xf5\x8e\x77\x6e\x78\x93\x89\xe5\x44\x8f\x48\x84\xbb\x1c\x73\xa4\x65\x35\x87\x9c\xea\xc1\xbc\x9c\x3f\x4a\xe4\x6e\x3f\xb4\x76\x2d\x97\x53\xda\xb6\xd6\x2e\x9e\x7c\x1f\xeb\x26\x6c\xa8\xd9\xc9\x09\xf9\x8e\x91\xbf\xac\xa5\x72\x48\xf7\x90\x5c\xcd\xc1\xdd\x2b\xde\xc6\xf9\x12\xc7\xfa\x30\x5a\x1e\xb1\x6e\x4b\xaa\x98\xa5\x14\x3c\xcd\x83\xc7\x8f\x57\xc3\xa0\xa6\x09\x1e\x8c\x2b\x7a\x1f\xa8\x99\xec\xdd\xa1\xfb\x87\x19\x09\x23\x88\x47\xbf\x53\x7e\xd3\xb7\xb3\x6a\x2a\x20\xe5\x92\xbb\xd7\x82\xdd\x78\xb1\x6f\x07\xc4\x1b\xcc\x97\x31\x2f\x27\xd3\xdb\xaa\x19\x06\x1d\xdc\x47\xee\x3c\xa0\x26\xf0\x34\x66\x8b\xcb\xb6\xae\x0a\x36\x7c\x94\xd8\x45\x7a\xb6\xe9\x24\xed\xd9\x38\xfd\xc1\xa3\xd9\x85\x3b\x67\xdd\xf8\xbd\x23\xfc\xb6\x09\x0f\xdf\xe4\x22\x25\x75\x1e\x2b\xcf\xf4\xfa\x3c\xe9\x29\xf4\x21\x33\xe1\x91\xf4\x00\x97\x51\x09\x63\x49\x36\xef\x87\x30\xb7\xc9\xb7\xb7\xf8\xc4\x7f\x07\xc9\x6e\x0d\x96\xbf\x71\xec\x0b\xf4\x42\x4e\x9f\x69\x95\x98\xf1\x03\xbd\x9b\x85\xc6\xa9\xc4\xa3\x5d\x6c\xc6\x41\x30\xdf\xec\xa1\xc7\x36\x94\xff\x3d\x5f\xf5\x1a\xc0\x42\xaf\x14\x1c\x05\xdf\xde\xf2\x5b\xde\x0e\x4f\x8f\xee\x20\x3b\xe8\xb4\x8d\xa4\xaf\x9a\x3e\xff\xc8\x9e\x6e\x60\x0e\xbd\x61\x97\x5f\x1e\xee\x9a\x16\x44\x5a\xba\x60\x64\xdd\x92\x21\x40\xf7\xc1\x4f\x75\xd5\xb0\x11\x11\xac\xa6\x90\xab\xd4\x7a\x9e\xa3\xa6\x06\x3c\xff\x8f\xb4\x5a\x61\x87\xe9\x82\x7d\xd3\xe6\xdd\x13\xaa\x9c\xe1\x7d\xc1\xd4\x2d\xb0\xd3\x57\x4d\xc9\xee\x87\x3d\x21\x12\xf1\x3a\x54\xf1\x45\x18\x3b\x86\x3d\x7d\xc0\x4c\x94\x7c\xdb\xfc\xb2\x73\xf1\x42\xb7\xf0\x4b\xcf\xc6\x93\xfd\x3a\xfd\x23\x66\x43\x0f\x5c\xef\x8b\x9e\xa1\x3f\x6c\xdc\xaf\xab\xe6\xef\xb3\x07\x1e\x32\x38\x58\xea\x4f\x36\xbc\xbf\xd3\xb2\x26\x03\x44\x83\x44\xea\x72\x2f\x59\xc1\x9b\x32\xfc\x85\x36\xe5\x47\xf1\xc6\x6d\xd5\xb2\x4b\xde\x28\xc8\xd0\xb4\x8f\x2d\x75\xe5\x2e\x72\x9a\x1d\x13\x42\xac\xd2\x62\x69\xb3\xc5\x7c\x9f\xf1\x24\x19\xe7\x1d\x44\x7e\x98\xce\xb9\xb8\xa2\xc5\xd2\xc7\xdb\xe3\x00\xed\x1d\x8f\x3e\x3d\x90\xd0\xf4\xc2\x66\x49\x8e\x44\x62\x7b\x97\x99\x42\x81\xb4\xe1\x2e\x21\x7c\x18\xe0\x85\x76\x3a\x36\xe4\xe2\xcb\x17\xec\x38\xfa\xc2\xb0\xcd\x07\xaf\xcd\x38\x5e\x3f\x74\x29\xcc\x28\x30\x33\xf3\x53\x21\x66\x48\xd7\xeb\xf0\xe5\x3a\xcc\x4b\x68\x33\xc0\x1e\x30\x10\x32\xd5\xb3\x6a\x30\x84\x67\x75\x1d\xa6\x22\x3b\x2a\x4f\x99\x1f\x7b\x66\xdd\x8e\x0d\xcf\x73\xb8\xe9\x3d\x54\xd3\x85\x3f\x3e\x1e\xaf\x43\xb9\x83\x97\xde\xf1\xc5\x89\xd0\xd7\xc3\x45\xdb\xa8\x0c\x39\x3e\x57\xef\xec\x8f\x21\xa7\xe1\x73\x95\x59\x1d\xc8\xb0\xc6\xc4\x9c\x8b\x15\xa1\x44\x57\xce\xfb\xa0\x83\xb7\xbb\xc4\x44\x17\x25\xa9\x20\x10\x6d\xa9\x54\x7b\x76\x72\xb2\xdd\x6e\xa7\x1b\xf5\xf4\xf4\x74\xda\x30\x75\x52\xf2\x42\x9e\x6c\xd4\xaf\x9e\x9e\x4e\xc4\xea\xe4\xc5\xd5\xe5\xcd\xed\xbb\xff\x71\xfb\xab\xc9\xbf\x1f\xe0\x53\xb6\xdb\xdd\xed\x70\x72\x42\xf0\x8b\xe7\x90\x88\x7a\x60\xfa\x58\x89\xa4\x97\x0f\xcc\xe1\xf8\x1d\xe4\x1b\xdd\x86\x6f\x07\xde\x84\x53\x31\x5b\x2b\x9b\xe0\x02\x56\x17\xd5\x07\xe0\xab\x05\xaf\xfe\x4e\x7b\x21\xf4\x3a\x00\x91\xa2\x02\xc8\xe6\x80\x0c\x3f\xdb\x4e\xfc\x11\x22\x3d\x20\xe7\x3b\x34\x2a\x03\xa8\x06\x03\xad\x1d\xf7\x6a\x8c\x49\xb0\xd5\x12\x02\x69\x2b\x05\xba\x9c\x66\xa0\x4c\x4e\x4f\xc6\x56\x4e\x9b\x83\xde\x02\xac\x24\xb4\xd9\x6d\x97\x4c\xb0\x9e\x94\xf9\x47\x82\x4d\x1f\xbf\xcd\xd3\xba\x3e\x57\x25\x24\x8c\x23\x2b\xda\xa0\x50\xc3\xee\xf5\x5b\xa4\x52\xe0\xa4\xb0\x33\x29\xc8\x21\x7c\x09\x75\x49\xf1\xd0\xa7\x47\x8a\xed\x9d\x99\xd5\xcb\x2c\x7b\xd7\x79\x6c\x16\x9a\xc9\xdc\x52\x9b\x79\x8d\xd6\xdb\x1d\x5d\x8b\x47\xa5\x44\x1a\x12\xf2\x86\x6f\x58\xd8\xe2\xdc\x24\x7d\x33\xc7\x0b\x54\x44\x36\xc5\x36\x60\xb1\x99\x0f\xfa\x71\x6f\x54\x8b\xa0\x6c\x9a\x93\x86\x93\x15\x17\x2c\x48\xe4\x4d\x05\x3b\xc2\x28\x6e\x5a\x34\xac\x32\x2f\x01\x38\xe7\x89\xbd\x4e\x5a\x50\x08\xa6\x35\x52\xa4\x9e\x9e\x03\x74\x7c\x56\x9f\x7a\x4e\xaa\x27\x4f\x3a\xca\xde\x48\x83\x6a\x5d\x26\x92\x7b\x2e\x44\xf8\x58\xaf\x9a\x6e\x45\x77\xe3\x85\x68\xab\x4e\x9f\x7a\x72\x62\xf6\x98\x5b\xcf\xc2\xb9\x46\x44\x1e\x11\x7a\x0f\xfc\xfe\x56\xcf\xfc\xe5\xef\x6f\xa7\x66\x3e\x42\x37\x8b\x23\xbc\x1d\xce\x3b\x1b\x22\xec\xf4\x71\xde\x26\xfd\x8e\x14\xbe\x95\x3d\xfb\x4a\x8b\x37\xe1\xc6\xb2\x6e\x3f\xd9\xcd\x35\xaf\x44\x66\x77\x75\xaa\x1c\xbb\xc3\x6c\xdb\xbf\xdc\x16\x7b\x98\xae\x7e\xbf\xa6\xfe\xd3\xee\xb3\x2c\x8d\x54\xc8\x87\x68\x40\x3b\xab\x84\xaa\x20\x4d\x25\xf6\x29\x55\x08\x57\x8d\x62\x0b\x6f\x94\x22\xff\xc1\x04\x37\xce\xb4\xbe\xc2\x01\xff\xc0\xee\x62\x84\xe3\xff\xe4\xd3\xeb\x3c\x9b\x46\xc9\x74\x3d\x7c\x49\x7c\x4f\x8c\x8a\x0a\xde\x15\xe0\xbe\x15\x38\x5f\xed\x5f\x92\x0e\x8d\xd3\xb8\x7e\xd6\x67\x2a\x5d\xa2\x03\xde\xb5\x5f\x73\xc2\xe6\x73\x56\x28\x13\x6f\x2c\x18\x02\x68\x3e\x84\xce\x21\x67\x2c\xb3\x8c\xcf\x54\x9f\x77\xed\xc7\x9c\xad\x9e\x75\xaf\xf4\x4b\xef\x7a\x3e\x4c\x3c\xdc\x2a\xbd\xb6\x93\xa7\xa3\x47\xc9\xaa\xf6\xac\xd5\x38\xff\x04\x84\x68\x5d\xcb\x58\x8e\x19\x79\x20\xfb\xf7\x3c\x11\x3a\x3b\x36\x7c\xd2\x25\x06\xc5\x3e\x87\x34\xb2\x6e\x23\x39\xd7\x75\x71\xac\xef\x7a\xcc\x33\x0f\x9a\x68\x9a\x3d\xb0\xb7\x06\xe8\x44\xe2\x01\x87\x45\x67\x1b\x26\x76\xd6\xc2\x4b\xfe\xd5\xf5\x15\xec\xac\x23\x62\x9d\x11\x2d\x79\x4d\xc6\xe9\xba\x65\xcb\x0a\xcc\x24\x6c\x8b\x71\x41\x4e\x0d\x83\x36\x14\x2b\x49\x5a\xc1\x37\x55\xc9\x4a\xb4\xb7\x81\x6c\xa3\xef\x32\xb0\xa2\xcd\xd7\x6a\x2d\x98\x31\x61\x59\x7f\x62\x4d\x7c\x45\xd6\x6d\xd4\xef\xcc\xd5\xc8\xee\x2b\x89\x3e\xe0\xee\x0e\x80\xcb\x62\x0c\x58\x1c\xe9\xba\x3c\x32\x39\x8d\xd5\x92\xaa\x5e\x16\xc6\x5b\xf5\x1e\xc6\xea\xf3\xd1\xba\x99\xfd\xd1\xf3\x35\xf7\x9b\x1d\xf8\x5a\xb2\xf9\xba\xb6\x79\x69\x75\x33\xf3\xaa\xae\xc1\x80\xb7\x56\x04\xb2\xc8\x45\xfd\xec\x49\xbd\xac\x67\xe1\xa0\x62\xb3\xf3\xa0\x0c\x77\x9c\x1b\x80\x3f\x70\x38\x9e\x8b\x60\x6c\x3f\xfd\x84\x7b\x4f\x7f\xdd\x06\x47\x0b\x16\xfd\xdc\xbc\x62\x00\xee\x04\xcb\xeb\x6d\xc7\x09\xed\xec\x3b\x2d\x81\x58\xea\xf8\xdf\x09\x79\x4a\x26\x64\x38\x74\x7f\x8d\xc8\xbf\x92\xed\x88\x3c\x21\x20\x77\x44\x8c\x1c\xca\x04\xe2\x58\x2a\x7a\xe8\x4f\x4f\x2e\x48\xe2\x6a\xea\x2e\x8b\x61\x95\xe8\xc5\xbb\x87\x08\xbd\x4e\x23\x7c\x02\x93\xac\x5e\x3f\x1f\xad\x91\x93\xcf\x83\x10\x21\x0f\xed\x62\xd3\x09\xa7\x46\x51\x14\x34\x50\xdf\xc3\x4a\xb2\x6e\x54\x55\x7b\xf1\xb8\xa0\x75\x07\x65\xcc\xb9\x89\x2a\x41\x6e\xb2\xad\x62\xae\x63\xdb\x37\x78\x45\x49\x69\x81\x87\x0e\xc2\x19\xd8\x7a\x11\xf6\x58\x88\x0b\xb4\x51\xbe\x14\x7c\xfa\x08\x97\xb0\x5b\x7a\x87\xc2\x68\x20\x0f\xbc\x78\xf5\xad\x83\xbe\xa1\x32\xde\xcf\x26\x5d\x62\x3a\x17\xbf\xbf\x7d\xf3\xfa\x45\xb5\x31\x81\xec\x1f\x48\x59\x6d\x30\xa0\xbb\xda\xd8\x6c\xf3\x7b\x28\xed\x99\x86\x92\x15\x5c\x24\xf1\x45\x65\xb5\x09\xc3\xe9\xab\x8d\x7e\x5c\x97\xd5\x26\x1f\xb0\x6d\x29\x40\xb5\xc3\x58\x5c\x98\xf7\xb0\xa3\xff\xe8\xe4\x55\x1c\x1d\x41\x0b\xa2\xe1\xf6\x91\xc2\x40\xf3\x23\x28\x39\xf7\xef\x50\x46\xe9\x21\xea\x32\x27\xf6\x13\x0e\x50\x60\x3b\x94\x1c\xb0\xec\xc1\xea\x60\x01\xee\xad\x8f\x28\xb2\xa1\xaa\x08\x1c\x27\xe7\xbc\x58\x3b\x73\x20\xfc\x11\x28\x03\x23\x8d\x94\x8b\x08\xef\x34\x11\x04\xe9\xc7\x01\xc9\x71\x88\x76\x40\xab\x83\xda\xdc\xa1\xd9\xc5\x82\x1e\x45\xda\xbe\x5e\xb8\xe4\xbe\x15\xd9\x0b\xcf\x1c\x4d\x8b\xc5\x83\xe8\x51\x81\x7b\x14\x92\x4c\x1d\x00\x26\x99\xf2\xa6\xe0\x8d\x9e\xef\x15\x6b\xd6\x69\x0a\x7d\xe3\xc5\x8d\xa2\x07\xf1\xd8\x41\xbc\x81\xa8\x36\xdb\xaa\xf9\xf3\x7d\xb4\x1c\xce\x1e\xcc\x58\xf3\x35\x26\xad\xce\x75\xf1\xc6\x15\x40\xf5\x8c\xaf\x30\xa5\x65\x79\xb5\x61\x8d\x7a\x6d\xd2\xd3\x9a\xf8\xb8\x92\x6f\x9b\xc1\xd8\xf6\xe1\xc8\x4a\xeb\xf6\xc1\x55\xf4\xc4\x27\x95\x3a\x03\xe0\x4d\xb0\xb8\xfa\x46\xc5\xc2\x30\x51\xfb\x5a\x30\x2b\x3f\x80\x5d\x6c\x61\x1e\x78\xf3\x52\xff\x89\x21\x3c\xc1\x64\x8e\xe1\xda\xc2\x3d\x75\x72\x42\x90\x08\xb0\x59\x37\x1f\xe8\xeb\x23\xad\x73\x50\x30\xeb\x14\xd0\x58\x5e\xbe\x34\xb8\x1a\xc5\x5a\x22\x15\x53\x01\x71\xc8\x66\xeb\x19\x22\xa6\x1c\x3f\xfd\x1d\x44\x5e\x7d\x0f\xa3\x8a\x70\x78\xf4\x68\xba\xda\xfc\x63\x26\x6d\x56\xaf\xc5\xe1\x39\x83\x4d\x3b\xf2\xee\x3d\xd2\x84\x60\x26\x87\xa0\x00\x54\x33\x73\xfb\x0c\x07\x18\x74\x89\x3b\x04\xfc\xb4\xf5\xd1\x30\x16\x1a\xe7\xac\x3d\x1c\x98\xd7\xc9\xa4\xe1\x25\xfb\x1e\x66\xf5\xe2\x31\x34\xf8\xf8\x07\xf2\xb7\x20\xf2\x77\x40\xc8\x8c\xdf\x4f\xd0\xaf\xfd\x8c\x20\xd8\xea\x64\xc6\xef\xcf\x93\x42\x49\x3e\xdf\x33\xa2\x04\x6d\x64\x4b\xe1\xe1\xf5\x59\xb5\x6a\xb9\x50\xb4\x51\x69\x35\xa4\x67\xfc\x29\xbf\x6c\x3b\x64\xf1\x3b\x8c\xe4\x8c\x48\x5e\x57\x65\x54\xe2\x43\xf8\xc7\x74\x5b\xc0\x78\xd2\x01\x98\xdb\xf6\x8c\x54\x4d\x5d\x35\x6c\x32\xab\x79\x71\x97\x34\xa4\x67\x69\x42\xeb\x6a\xd1\x9c\x91\x82\x69\xc9\x22\x29\x60\xba\x58\xd0\xba\x18\x86\xa1\xa3\x31\xe0\xc9\x88\x7c\x41\xbe\x1c\x25\x55\xa1\x51\xeb\xba\x95\xad\x6b\x43\x12\x7a\x87\x76\x26\x38\x57\xe9\xb8\xf2\x5d\x40\xef\xb0\xce\x41\xef\x85\x5d\x39\x3f\x40\x34\xf4\x39\x3b\x40\x35\x44\x5a\xe9\x23\x8b\xdb\x8e\xcf\xe7\x92\x29\xbd\x55\xce\xc8\xe9\x51\x45\x05\xdf\xf6\x17\xc5\x54\xb6\x51\x94\xf5\x19\x39\x9d\xfe\x6f\xd9\x53\xbe\x13\x27\x7c\x06\x1b\xe0\x98\xd2\x26\x3a\xf8\xcc\xbe\x1c\x8e\xa9\x63\xb6\xef\xfe\x48\xe5\xfe\xc5\xff\x7f\xee\xd8\x6e\x2e\xe8\x8a\x49\x63\xf5\x48\xf6\x01\xbc\x5e\xff\x46\x78\x4b\x8b\x4a\xed\xce\xc8\xd3\xe9\xe9\x39\xf9\x90\xec\x6f\x1e\x96\x38\xed\x94\x88\x0f\x92\x9f\xcf\xb4\x2d\xda\x54\x2b\x4c\x43\xde\xd0\x15\x3b\xc3\x0e\x9d\xf7\x95\xf1\x8b\x11\x8e\x3d\xb3\x5a\xe9\x91\xf1\x24\x2a\xc5\xb0\xc8\xa4\xe0\xeb\x46\xe9\x43\x3c\xaf\x9a\x4a\xb1\xde\x1a\xaa\x5a\x55\xcd\x62\x62\xf9\xfb\x19\x61\x54\xb2\x49\x05\xa9\x33\xfa\x7b\x5a\x09\x66\x8a\x3b\xd3\x4a\xb2\x22\xfe\x02\xf5\xcc\x77\xc9\x68\x69\x3c\x9c\x2e\x97\x55\x5d\x0e\x61\xa9\x43\xbb\xa5\xc7\xab\x3e\xc8\xba\xcb\x6a\x13\x34\x12\x22\x5d\x57\x25\xb9\x20\x03\x98\xbd\x33\x97\x4d\xc1\x44\x18\x66\x2b\x00\x58\xe7\xd7\x14\x3c\x96\x06\x01\xab\xcf\x97\xc6\x8b\xa2\x40\xa9\x36\xb8\x24\xac\x34\x7d\x46\xe8\x4c\xf2\x7a\x9d\x4c\x49\xcd\xe6\xea\x28\x8e\x18\x7d\x4d\x19\xc0\x28\x5e\x7b\xc5\xdb\x7d\x34\x0d\xa7\xdc\x4b\x54\xf0\x6d\x42\xd4\xdd\x00\x5d\xd6\x6f\x78\xe6\x9e\x01\x44\xc5\x1f\xcc\xc6\x27\x5b\x36\xbb\xab\xd4\x04\xae\x43\x33\x9b\xe6\x1c\x8e\x3b\xb7\x26\x79\x7a\x7a\xba\x92\x70\x61\xd0\xf8\x02\x9a\xac\xf8\x8f\x1f\x45\x23\x67\xe9\x46\xc4\xd8\x3e\x3b\x37\x66\x2f\x8c\x5f\x00\x0f\xb5\x90\xf7\x46\x72\xf6\x08\xf1\xe1\x11\x4a\xb7\xa7\x37\x14\x2f\x59\x63\x73\x52\x26\x98\xe3\x03\x52\x49\xc2\xe7\x73\xb2\x65\x44\x30\x1f\x2a\xbd\xac\x24\x61\x78\xbe\x08\x1e\xf1\x7a\x87\xc4\xd0\x65\xbe\x83\x9b\x01\xf9\x6f\x09\x25\x90\x64\x6e\x4a\x50\x51\xb7\xa2\x77\x4c\x92\xcb\xa5\xe0\x2b\x2d\x8f\x4a\x5e\x54\xe8\xf3\x7a\x72\x42\xe4\x7a\x86\x6a\x14\x83\x00\xa4\x85\x6e\x2b\x9b\x1a\x1c\x65\xeb\x55\x83\x82\x07\x13\x53\x42\x6e\xaa\xa6\x60\x08\xf2\x08\x44\xa2\xef\x7a\x2c\x94\xb4\x8c\x09\x32\x04\x4b\x28\x29\xf4\xc4\x8c\x62\xff\x45\x2d\x50\x8d\xfd\x00\x74\xbb\x89\x60\x8c\xba\x45\xe3\xe2\x1f\x56\x03\xa5\x24\xfc\x35\x85\x2a\x58\xef\x95\x1a\xe8\x76\x97\xb4\xb8\x43\x53\x6c\xa5\x7f\x00\xfd\x79\xcd\x68\xc3\xa4\x22\x5b\xba\x23\xaf\x48\xc1\xd7\x75\x49\xe6\x15\x38\x2c\x86\x32\xc1\x73\xec\xff\xc7\x70\xbb\x2e\x81\x88\xe9\xe1\x75\x59\x0a\xba\x98\xc4\x73\x35\xd8\x47\xe1\x23\xf9\x1a\xb0\xa0\xc9\xbf\xff\x7b\x22\xc4\x1c\x66\x22\x4f\x4f\x93\x2a\x96\x5b\xe0\x87\xdc\x05\x92\xdf\xfd\xdd\xb1\xf4\x20\xf2\xf5\x3e\xdf\x08\xf9\x3e\x7a\xed\x04\x8f\xc8\xe8\x71\x38\x80\x8d\xae\xff\x51\xce\x6a\xf3\x6f\xdd\xfd\x8c\x27\x15\xec\xab\x00\xc5\xb6\x6f\xd6\x3b\xcf\x1e\xa8\x18\xbf\x43\x3d\x81\xf0\x1e\x7a\x58\x4d\x3f\x89\x47\xd6\xeb\x71\xbd\xda\xdb\x83\xfd\x4f\xc6\xee\xa3\x31\xd5\xea\x58\xcf\xaf\x1e\xaf\x2f\xa6\xde\xb1\x0d\x13\x92\x7d\x5b\x95\x8c\x0f\xf1\xc9\x97\x5f\x6a\xa0\xdc\xeb\x07\x88\x3a\xcf\x77\xac\x14\x74\xdb\x0f\xe4\xf2\xfb\xdb\x37\xaf\x9d\x43\x0a\x98\x0d\x20\x63\x1d\xad\x9a\x44\x41\xf9\xe2\xfa\x0d\xd1\xf2\x42\x17\xe3\x05\xb4\x9d\x86\xc2\xe1\x10\x7b\x5b\x72\x7f\x7c\xbd\x5b\xc9\xd8\x9f\x0d\xb4\x65\x29\x9c\xc9\x5e\x4f\x0b\x54\xaf\x1d\xf2\x8d\x76\x33\xb9\x67\x92\x0c\x9b\x32\x30\xdd\xa8\x1b\x16\x7c\x4b\xc0\x46\x17\x59\x71\x80\x59\x23\x4e\xbe\xb7\x23\xbd\xe3\xdb\xb7\x68\x23\x12\xa8\x05\x9f\xd3\x82\xc1\x75\xc2\x8c\xcf\xa9\xee\x0a\x59\x4b\x0c\xe4\xaa\x80\x25\xcf\x99\x2a\x96\x18\x32\xc0\x1b\x52\x32\x04\x22\x87\x29\xd8\xa1\x2b\x00\xd4\x04\xff\x2f\xc5\xc9\xa6\x62\x0e\x03\xe5\xf6\xfa\xc5\xf5\x50\x2c\xaa\xa6\xa4\xa3\x33\x72\xc9\x1b\x09\x4d\x4b\xba\xa9\x9a\x45\xe8\xd4\x09\xd4\xa9\x24\x43\x18\xa5\xe4\x6b\x51\xb0\x31\x22\xe7\x14\xa8\x24\x18\x81\xd3\x32\xad\x50\x85\x5f\xf0\x46\x32\xb1\x61\x64\xc5\x56\x5c\x74\x74\xdf\xce\xca\x04\xf3\x02\xc3\x83\xdc\xee\x68\x53\x72\x13\x36\x26\x06\x2c\xad\x4c\xfd\x69\xad\x7d\x09\xad\x2b\xbd\x0e\xfa\x84\x5c\x37\x13\x03\x23\x0d\x43\x00\xe7\x24\x5a\x6f\xe9\x4e\x1a\x10\x7a\x4f\x0b\x22\x41\xa4\xd2\x4d\x57\x05\x93\xd3\xce\xfe\x75\xaa\x7a\xdd\xdf\xc1\xbd\x16\x18\x07\x4e\x4c\x30\x07\x02\x0c\x8f\x26\x47\x8f\xd0\x17\x3c\x38\xde\x09\x84\x9d\xd9\xbf\xe9\xdf\xf1\xad\xd1\x17\xba\x9d\x08\xb3\xe0\x43\xc0\x70\xb6\xbe\xda\x1b\x46\x12\x98\x7b\xb3\xe5\xbe\x07\x22\x3f\x78\xf5\x10\xcc\x0e\x78\x0b\x93\x0b\xb3\x1e\x7b\x23\x9f\xce\x7b\x90\x96\xf4\xfc\x3e\x13\x82\xee\xbe\x0f\x48\xfe\xd0\x77\x5a\xc2\xad\x13\x9f\x16\xc0\xf1\x09\xc2\xe7\x7e\xb1\x13\x13\x75\xc1\x9f\x1c\x67\x90\x5c\x4b\x2d\xd2\x61\x44\x9d\xd9\xd4\xed\x0e\x3d\x17\x35\x29\x9f\x5a\xc7\xba\x78\xdb\xc4\xe8\xbd\xbb\x1d\x77\x6b\xdf\x6e\x07\xf1\x0a\x4a\xe8\xd1\xf9\xbd\x6f\xf7\x67\xea\x52\xfe\x31\x7b\xdf\xd2\x4a\x8e\x40\x7e\xef\xa7\xdd\x67\x4d\xb9\xb7\xf3\xfa\x3b\x6f\x7e\x76\xc7\x73\xa0\x2c\xe4\x19\x91\x55\xb3\xa8\x99\x4d\x5f\x10\x1c\x37\xb7\x9d\x10\x18\xdb\xd0\xb5\xfb\xc8\x75\x42\x6f\x27\x42\x5e\x57\x0d\x33\x6c\x60\xc6\x48\xc3\xb6\xe8\xb2\xcf\xea\x6a\x55\x29\x56\x8e\x51\xf8\x6e\x38\x51\x82\x56\x60\xb6\x36\x65\x8e\x3a\xbf\x46\x62\x8c\x32\x1f\x69\x71\x9b\x35\xa5\xb7\x42\x63\x9c\xde\xf7\x3f\xec\x33\x03\xb3\xa6\x8c\x7c\xf0\x10\x90\xd2\x1b\x13\x3c\xbb\x30\xc6\x5f\xa2\xc9\x62\xce\x01\x5d\x2e\x54\xdf\x06\xee\xe9\x86\x34\x18\xa7\x3f\xff\x9c\x7c\x06\x45\x17\xcc\x7b\x80\x0e\x07\xa0\x75\xb4\xbe\x6b\x3e\x1f\x80\xa3\x3e\xf8\x93\x41\x75\x05\x73\xb3\x59\x26\xfd\xf5\x2f\xbc\x6a\x86\x83\x3c\xfa\xdd\xfe\x13\xef\x31\xb9\xfe\x49\xce\xf9\xfe\x5b\x0d\xa3\x73\xf5\xbc\xfc\x03\x9c\xf1\xcc\x39\x3b\xf2\x80\xe1\xbc\x3c\xe0\x72\x4b\xcf\x46\x70\xb9\xed\xdb\xde\x50\x2a\xb8\x74\xd2\xed\xdd\xbb\xdf\xb8\xa2\x75\x12\x8e\x6d\xa3\xbf\x69\x59\x0a\x26\x11\xd7\xd3\x4c\x9f\xde\x12\xf8\x15\x16\x3d\x9d\xea\x0e\x9e\xdc\x2f\xb4\x65\x0b\xbe\x6a\xd7\xca\xbc\xbc\x0d\x32\x6b\xb8\xf6\xa2\x23\x59\xbb\x5d\xd7\x8d\x3e\xc7\x01\x1d\x8f\xa5\x1d\x84\xf9\x1d\x03\xcf\xd7\x89\xcd\x79\xd2\x23\x11\x38\xc9\xa1\x9b\x55\xc7\xbd\x18\x80\x25\x34\x6c\x6b\x44\x4d\x2d\xc2\xc2\xf3\x16\x5d\xa0\x7c\xb0\x63\x0a\x9f\x94\xae\x03\x78\x0a\x37\xf5\xce\x45\xf8\x6f\x29\xe0\x0f\xd0\xb2\x34\x29\x7c\x6c\x93\x86\x09\xe9\xed\x4b\xc8\xd7\x5c\x55\xa0\x5a\xa1\x10\x7d\x87\x5e\x2c\x5b\x3c\xb4\xd2\x74\xc5\x03\x25\x9a\x30\x1f\xd3\x95\xba\x92\xca\x4e\x39\x86\x44\x59\x17\x2d\x4d\x4a\x4b\x81\x15\x78\x76\xe1\xe2\xe8\x13\x35\xb4\x97\x94\x89\xd3\x22\xad\xc9\x5e\x00\xca\x1a\xe7\xd1\x1b\x8a\x40\x26\x4f\x97\x5a\x56\xcd\x9d\xcf\xd8\x85\x23\x9a\xd5\xb4\x01\x19\x9d\x48\xbe\x62\x5b\x74\x69\x34\x60\xe1\x88\x53\x8d\xed\x85\x28\x0b\x63\x52\x73\x7e\x87\x4f\x02\xfd\xa8\xc7\xc0\xa4\x51\x34\x9d\x66\x47\x3b\x87\xb3\x96\xee\x80\x51\x36\x96\x1d\x6e\x8c\x8d\xff\x96\xb7\x27\x18\x2f\x3a\xd6\xf7\x74\xc1\xa0\x87\x72\xc9\xd7\x35\xb0\xb6\x99\xe6\xb2\x7a\xe0\xb6\xa5\xe1\x48\x77\xb0\xa0\x12\x80\x2c\x74\x7f\xe1\xb5\xb2\x05\x15\xd1\x4a\xb7\x21\x7c\x4f\x9c\x96\xcd\x5e\xdb\x56\x11\xc3\x4a\x42\xad\x43\x34\x39\xb5\xcb\x81\x6e\xd2\x98\x95\x98\x95\xc4\x5e\xde\x79\xf0\x98\x3c\x6c\x03\x9c\x44\xd8\xa0\x87\x7c\xd0\x82\x30\xe5\xd8\x67\xd7\x61\x37\x78\x10\x84\x77\x5d\xcf\xf4\xee\x11\x31\x8e\x06\xa0\x92\xee\x0b\x01\x77\xc7\xcd\xd1\xed\xc8\x12\xc6\xbb\x1f\xfa\xd1\x91\x24\x84\xef\x48\xaf\x9e\x0d\x9f\x37\x46\x76\xd0\x67\xa4\xa3\x6d\x4a\xab\x6a\xfe\x0e\x2c\x7b\x30\x18\x05\xf5\xdc\x1e\xbf\xb0\xa3\x7a\x42\xaa\x18\x84\x00\xa1\x0e\xd6\x72\xf9\x8e\x6f\x87\x82\x6f\x47\x11\x10\x37\xbb\x57\xc2\xe2\x53\xec\x9d\xbc\xde\x58\x5d\x07\x41\xee\x28\x05\x01\x7a\x07\xa1\x13\x5c\x2d\x33\x28\x6c\xd2\x6f\x81\x23\x51\x13\x48\xe8\x4f\x1d\x45\xe6\xc9\x1b\xf3\x40\xbf\x6a\xca\x18\x41\xc7\xfa\xa4\xc1\xf7\x17\x7c\x6b\xa3\xfb\x3e\x3c\x8a\x60\x2c\xf5\xc6\xfa\xcd\x81\xc9\x19\x05\x78\x0a\x47\x6c\x44\x04\xc5\x08\x14\x4e\xcf\x8c\xca\x33\xc1\xd6\x74\x04\x11\x7d\x21\xba\x8a\x6b\x5e\x68\x16\xef\x61\x21\x30\x1a\xda\x0b\x34\x99\x6b\x58\x73\xea\x06\x92\x3a\xa5\x8c\xdd\x66\xdc\x11\xac\xd8\x15\xb5\x21\x5b\x62\xf6\xe1\x6f\x6f\xcd\x05\x29\xf5\xfc\x72\xc9\xc8\x76\x59\x15\x4b\xd0\x7e\x94\xc2\x66\x60\x9b\xed\x74\x41\x93\x8b\x4a\x46\xe9\x0b\xf5\x37\x27\x0b\xae\x68\x53\xb5\x6b\x2d\x88\x19\xe1\xc7\x5f\xbe\x23\xe7\x14\x89\x17\xab\xe6\x60\x63\x13\x6d\xa4\x79\x70\x0d\xcf\x8b\x58\xe1\xe2\x29\x10\x01\xe1\x4e\xd0\xad\x15\x2d\xed\xf3\x04\x2e\x1b\xb8\x03\xb7\x81\xb2\x86\xcf\xe7\x28\x2c\x48\xe6\x64\xb8\x4a\x74\xae\x8c\x8a\xe9\x5e\x08\x36\x5f\xd7\xf5\x0e\xef\x1b\xe4\x65\xac\x24\x92\x13\x8a\x9c\x1b\x55\x32\x73\xab\xd3\xf7\xe2\x47\x1f\x67\xd4\xeb\xf5\xca\x89\xb1\x28\x86\x3a\x25\xd6\x83\xf8\xa8\x66\xf9\xd9\x4a\x8a\xfb\x06\x4a\x26\x55\xd5\x50\x93\xa9\xd6\x34\xb3\x87\xed\xba\x1b\x2b\x64\xba\xae\xcf\x63\xec\xd0\xd8\x36\x91\xbe\xbd\xe2\x9d\xcf\xdc\xa5\x94\x12\xe8\x86\xfb\xe0\xad\x02\x85\x0d\xed\x00\x14\xc5\xb9\x18\xc3\x83\xcf\x32\x1d\x3f\x93\x5f\xc5\xfd\xf1\x1e\xc3\xae\x08\x72\x09\x06\x50\x0d\x76\x7a\x9e\x18\x26\x9e\xa2\x62\xd9\xca\xa6\x5c\x58\xd5\x37\x19\x56\x7e\xf4\x28\x1b\x8b\x1c\x3c\x51\xf7\x2a\x89\x5f\xf5\x05\x10\xbf\x33\xe4\xf2\x12\x8d\x3d\xeb\x7b\xb5\x3b\x76\x87\x69\xd9\x89\x81\x20\x0e\x4f\x14\x38\x28\x9d\x27\x91\x09\x3d\x87\x6d\x1d\xbd\x8a\x60\x97\xbd\x0b\xc4\xfc\xae\x14\x5f\xd0\x06\xa1\xa0\x82\x63\x12\xda\xd5\x50\x61\x6a\x24\xb7\x90\x3d\x0d\xb5\x40\x53\xd0\x66\xa0\x48\xc9\xc0\x19\x5a\xcb\xa5\x16\x4c\xc5\xfc\xc1\x54\x31\x1a\x07\xa2\x0f\x9c\x5b\x4d\xa9\xe1\x1e\x1c\xcb\xce\x56\xa2\x5d\xed\x3b\x88\x5e\x67\x74\xe8\x10\x5a\xf5\x8c\x99\xc0\xa4\x14\x1e\x25\xf4\x3a\x34\xde\xfd\xc8\x71\x6f\x97\x21\xf3\xb5\xdd\x3b\x18\x02\x1e\x6c\xa1\xbc\xc2\x63\x1c\x34\x12\xb8\xe0\xdb\x34\x7b\x41\x0f\x7e\xfa\x29\x3a\x64\xde\xdb\xf2\x08\x21\xe8\x21\x4a\x14\x13\xb8\xef\x15\x95\xd5\x0f\xfd\xd2\x49\x84\xcf\xfc\x56\x54\x20\x6c\xfb\xdc\x99\xbd\x4f\x10\xc1\x64\xcb\x0a\x8f\x98\x0c\x8e\x6c\xc8\x36\x60\x7b\x6f\x05\x6d\x29\x66\x50\x5d\x81\xa5\x04\x62\x41\x50\x2f\x5d\x22\xda\x25\x5c\x22\x70\x31\xf4\xbe\x7a\xec\xc6\x83\xb8\x8a\xf9\xdc\x41\xd5\x24\x17\x4e\xb0\xf5\x6d\xc0\x60\x98\x07\xc6\x1f\x3e\x18\x56\x25\xc9\x17\x0d\x57\x5f\xe8\x3b\xda\xe6\xf8\x37\x2e\xff\x85\xe9\xea\x37\xe6\x02\xf1\x4e\xf4\x23\xfb\x4a\xa8\xcc\x5d\x46\xd5\xc0\x80\xd3\xed\xf8\x7a\x20\x18\xda\xc6\xe3\xed\x1d\x05\x02\x04\x3d\x50\x9c\xb4\x7a\xaa\x0f\xec\x3e\x28\x93\x75\xf2\x77\x2c\xf8\xda\xee\x9d\xd3\x80\x35\x0b\x0b\x7f\x5c\x57\xb3\xe9\xb6\x98\xda\x5f\x4c\x24\xc0\x23\x87\x22\x16\x92\xf8\xca\x55\xec\x44\xd2\xb9\xc0\xf1\x60\x51\x3f\xff\xfc\xa8\x00\xd1\x34\x9c\xd1\x96\xe6\xab\x55\xa5\x5e\x57\x0d\xb3\x40\xde\xc3\x18\x22\xa2\x61\x5b\xfd\xd5\x03\x11\x3a\x19\xb6\x30\xcf\x76\x37\xcc\x49\x38\x13\xe7\xae\x5c\x59\x95\xd7\x1d\xb8\x6f\xfb\x51\xae\x67\x52\x89\x34\xfa\x6f\x6f\x68\x9a\xbd\x63\x12\x09\x34\x80\x3c\x74\x43\x8d\x9b\xb6\x48\xe8\x20\x97\x9a\xce\x67\x09\xa4\x60\x74\x3d\x11\x72\x24\x81\x95\x0a\x1a\xfb\xfc\x73\xf2\x59\xdf\x8a\xf9\xee\x9d\x9c\xe8\x57\xb6\xf2\xdb\xd1\x2e\x16\x2b\xcd\x3b\xbf\x81\x4c\x4d\xe1\x19\x46\xff\x11\x10\x01\x8d\xf2\xc8\x92\x82\x50\x70\xd8\xa9\x2c\xc8\xbc\x63\x6f\x86\x19\xf3\xf1\xe2\x3c\x6c\x74\xea\x29\xdc\x5e\xbf\xb8\x3e\x0b\x72\x82\x6a\xfe\xa0\x38\xe1\x6b\xa1\x6f\xd7\x59\xcd\x56\xc6\x57\x04\xbc\xe4\x67\x3b\xc5\xc8\x37\xb7\x2f\x27\x4f\xff\x57\x1c\xc5\x83\x86\x32\x58\xd8\x60\xeb\xc3\xdf\x7a\xe3\x8f\xc3\x6d\x62\x04\x1f\x8c\x57\x0a\xf3\xf8\x64\xab\xb9\x8d\xf6\x74\x94\x2e\xa4\xfd\x68\x96\x25\x14\x5c\x1e\xda\x99\xee\x56\x57\xfc\x8e\x01\x42\xaa\xe5\x10\x71\xea\xec\xb6\xae\xd4\x77\x55\xc9\xf4\x2c\x60\x9e\xde\x21\xb6\x60\x28\x65\xc3\xe0\x81\x64\x2e\xfc\x7d\x6f\x16\x8e\xe9\xb6\xb0\x3e\xfe\x40\x40\x5f\x29\xf8\x53\x16\x55\x2d\xa9\x4c\x65\x51\x55\x9d\xfa\xee\xd7\x2e\x8c\xa0\xdb\xbe\x78\xa1\xbc\xe9\xe4\x07\xce\x08\xab\x66\x06\x3c\x7d\x3f\x11\x9d\x85\x49\x08\xe8\xfd\xbf\x15\x95\x62\xfb\x69\x3c\x64\x9a\x02\x7e\xf3\x80\xb9\x71\x9c\xc2\x6c\x82\xa8\xe2\x8a\xee\x66\xec\xb2\xae\xda\x4b\xbc\x6d\x03\xc0\xc4\x90\x8f\x3f\xb9\xc8\xc9\xc2\x07\xc2\xbe\x1e\x75\xde\xec\xd7\xcd\xf5\x5a\xb5\x6b\xf5\x7e\x14\xf5\xe4\xe7\x20\xa8\x19\x78\x78\xf7\x88\x35\xcf\xc4\x48\xac\xe8\x40\x8c\xc4\x31\xc9\x56\x54\xb0\x8e\x49\x04\x02\xa7\x47\xee\xbb\x51\xcb\xa5\x37\x34\x62\x2d\xd0\xb6\x65\x14\xed\xf6\x25\xb7\xad\xde\x30\x95\xbc\x7f\xed\xeb\xd5\xa2\x11\xac\xeb\xba\x07\xd2\x1e\xd9\x15\x84\x9d\xda\xf7\x6d\x3c\x32\xe2\x5e\xf5\x5f\x7c\x7d\x7d\xfb\x05\x76\x66\xc5\xa5\x07\x8b\x91\xba\x2b\x84\x7c\xc7\xb4\x04\xe1\x71\x46\x34\xb9\x05\xd7\xfd\x7a\xcc\xe7\xf3\x89\x16\xb5\x1e\x23\x60\xad\x45\xa5\xad\x94\xf1\xbb\xfb\x33\xee\x8f\x3f\x83\xd4\xf5\x67\xb5\x5a\xdf\xff\xd9\x03\x44\x58\x39\x49\xd3\xab\x79\x41\xeb\xae\xc0\x34\x36\x3a\x04\xc4\x91\x8d\xd4\x00\xa8\x9f\x06\x0d\xd1\xa4\x5d\xac\xdb\x93\x76\x51\x36\x08\x85\xdb\xa8\xaa\xc1\xec\xbc\x5b\x2e\xee\xf4\xf3\x1b\x86\xb5\x96\x4c\x48\xa3\xde\x64\xf7\x6d\x98\xd8\xbe\x63\x24\xb6\x1a\xd5\xd4\x80\xd4\x81\x22\x0c\xf6\x49\x1f\x19\xdc\x82\x29\xa5\x58\x7d\x1d\x11\x1b\x5b\xeb\x51\xd5\x14\xf5\x5a\x56\x9b\x23\x52\x01\xc7\x60\x2e\x91\x5c\x66\xc7\x32\x8e\xfa\xe3\x3d\x1a\xfc\x60\x2f\x2e\xc8\xa9\xbe\xa7\xa3\x7e\x5f\xf4\x81\xc8\xe3\x05\x15\x44\xc3\x06\x9a\x68\xc0\x0d\x5a\xd7\xf5\x79\xf7\x2b\x92\x0d\x0b\x74\x13\x36\x26\x94\x5c\x0f\xf7\x92\x0b\x7b\xdd\x79\x3d\x44\x46\xa9\x36\x30\x04\xd2\xa2\xe0\xa2\x0c\x5e\x14\xdf\xde\x76\x33\x81\x1b\xbb\xcb\x29\x59\x37\x35\x93\x89\xc3\xd5\x92\x4a\x32\xc3\xa7\x5b\x5d\xda\x14\x3f\xa2\x2a\x94\x7f\x1f\x98\x87\x84\xe4\x2b\x46\xb4\x2c\x23\x8c\xc5\xe3\x95\x72\x5a\x35\x7d\x21\xc2\xf7\x6f\x6f\x53\xc6\x82\xb9\xc6\xcb\x98\x9c\x55\xa1\xed\xb7\x45\x29\xde\xc2\xde\xc7\xf1\x46\xfd\x1e\xc8\xee\x16\xde\x6f\x97\xb2\x7b\xec\x36\x07\x54\xe2\x58\x74\xb4\x76\x9f\x99\xe4\x15\x1d\x8f\x98\xb0\xd4\x79\x60\xc5\x3e\xed\x33\x25\x9a\xf3\xf2\x71\x0b\xa7\x7a\x33\x7f\x84\x2b\x5a\xa9\xce\x5a\xa2\x32\x2f\x5d\x4e\xb7\x96\xcb\x6a\xb1\x3c\x6e\x31\x43\x38\xc9\xce\x7a\x1e\xb9\x98\x66\x0a\x3e\xfd\x82\xda\x93\x7e\x70\x4d\xed\x61\x3b\xb8\xac\xa6\x60\xb8\xb2\xfd\x4c\x24\xcc\xcb\xf3\x56\x70\xfd\x38\x26\x94\x0c\xfe\xd4\x0c\xbc\x10\x1d\x98\xe0\x82\xab\xb7\x72\x51\x87\x73\xc4\x66\xe3\xdb\xce\x02\x2b\x2f\xbb\xa3\x31\x13\xec\x75\xa0\x8b\x76\x26\xbb\x48\xad\x15\xac\x8d\xe5\x17\xc1\x94\x77\xde\xf6\x40\xc9\x79\xcd\xe8\xbf\xae\xd5\x92\x89\x6d\x85\x5a\xe9\x4a\x82\xf6\x35\x92\x18\x94\x03\xa4\x00\x14\x07\xd3\x63\x88\xd8\x3f\x6c\xc8\x37\xaf\xcf\x1e\x38\x13\x68\xe0\x99\xba\x6a\xca\xeb\xf9\x8d\xd5\xf3\xec\x7d\x41\x82\x21\xea\x22\x90\x5f\x33\xff\x3b\x68\xa6\x48\xc4\xb4\xbe\xfd\xe2\xd1\x9f\x9f\xe9\xa3\x71\x13\xc9\x34\x5a\xc2\x2a\x54\xb5\x61\x06\xa4\x7a\xc3\x84\x5d\x32\x6b\x93\x9e\x1e\xf5\x26\xc6\x11\x65\x37\x64\xf4\xd0\x44\xc1\xc6\x00\xcd\x04\x0a\x1e\xdf\x33\xbc\x4d\xc7\xa4\x75\x30\x7f\x4e\x40\x9c\x86\xf2\xb3\x6d\xe5\x9b\x76\xf8\x34\xc1\x72\xee\xb5\xda\x1c\x18\x81\x45\xd2\x8e\xb0\xb4\x33\xcb\x7b\xd4\x88\xac\xbe\xd6\x19\xe6\x21\x2f\x36\x0a\x9b\x00\x8a\xb2\x56\xf1\xc3\xb9\xb3\x51\x4f\xa7\xbf\xcc\xa8\x82\xce\x3f\x33\x10\x7b\xf0\x61\x4c\x68\xb9\xa1\x46\x23\x6c\xbb\x03\x04\xf4\xe9\x34\x38\x8b\x08\xf3\x87\x98\x32\x9f\xa0\x73\x06\x2a\x29\x44\xfc\x3c\x6a\xea\x0f\x4e\xfc\x94\x90\x67\x01\xef\x09\x59\x8e\x53\x26\x5a\x4a\x20\xd1\x3a\x8f\x1f\x27\xaa\x74\xd8\xce\xd4\x8b\x42\x21\x4c\xf7\xd3\x6e\xea\x8e\x74\x6a\x03\xcd\xbc\x66\x0f\x00\x1f\x9f\xb2\xa8\x80\xfa\x27\x99\xce\x48\x16\x7b\x5d\xdd\x81\x67\x07\x2a\xd1\xc6\x84\xdd\x17\xac\xd5\x4f\x86\x0a\xdc\x9d\xc2\x15\x3f\x0a\xb2\xab\xae\x1a\xf6\x92\xb1\x0c\xb6\xf6\x83\x11\x9e\x72\x1a\xbe\x4e\x00\xd6\x7a\xd5\x0c\x73\x68\x58\xaf\xe6\x90\xf6\xfb\x92\x0a\x51\xd1\x05\x33\xc2\x0b\xa2\x1c\xa1\x72\x2a\x1c\xb4\x5e\x09\xdb\x73\xf4\xf9\xd8\x8f\x44\xb8\xca\x0f\xb1\xab\x97\xe8\xf6\x21\x92\xd2\xa3\xb1\x75\x45\x6f\xdf\xa5\xce\xba\xa5\xc0\x79\xeb\x16\xac\xc9\x70\x2a\x5b\x2e\x65\x35\xab\x77\x46\xcd\x0e\x22\x4e\x60\x8f\xcd\x38\x92\x78\x48\x26\x88\x75\x82\x20\xfa\x43\x9e\x1e\x02\x23\x2e\x5e\xef\x5d\xf0\xe0\x3d\xe3\x3c\xd9\x02\xd1\xd5\x67\x08\x2f\x9c\xae\xe2\xc0\xee\x10\x7c\x7b\x1e\x58\xfb\x5d\xa5\xe0\x65\x12\x4d\x31\xce\x01\xb8\xb9\xe6\x0e\x64\xfe\x58\xbd\xe3\xdb\x90\xb8\x55\xe8\x25\xaf\x98\xb6\xa6\x05\x03\x44\xb0\x18\xaf\x07\x14\x99\x6c\xae\x7a\xb2\x1b\xfb\x70\xb6\x96\xa2\x0a\xa2\x23\x59\xc5\x71\x08\x88\xce\x85\x7a\xd2\x56\xf0\x19\xd5\x6b\xfb\x05\xda\x69\x51\x9b\x10\xb4\x0f\xa1\x6e\x26\x0d\x05\x74\x50\xd3\x83\x26\x29\x36\x38\xf2\x30\x6f\x68\xdb\x0b\x6b\x53\xc0\x18\x9a\xb1\x1d\x37\x40\xd6\x71\xdf\x1f\x1d\x0f\xc4\xce\x04\x95\xec\x96\xbf\xd6\xf3\xb0\x47\x3c\xca\x27\x42\xe9\x39\xe8\xa7\x5d\x03\x74\xaa\x92\xc3\xb4\xa9\x0b\xa6\xbe\x5b\x56\x8a\xc1\x80\x93\xdc\xa6\x4f\xc8\xd3\xd1\x43\x92\x21\x5c\xe9\x81\x38\xe7\xdc\x20\x9d\x56\x67\xcd\x45\xf8\xa8\x71\xbc\x3b\x3d\x6b\x4e\x45\xa5\x1f\x28\x4d\x70\xd6\x62\x91\x1a\x73\x0a\xbb\xa0\x54\x83\xa1\x6b\x4e\xa8\x0a\xa0\xde\x3a\x65\x94\xc9\x43\x04\x72\xb6\xb1\xb4\xc1\x44\xc8\xc8\xc3\x03\xcd\xb6\x81\xea\x69\xdd\xcc\xb9\x50\xeb\x86\x2a\x16\xe4\x34\x42\x1d\x99\x75\xfe\x06\x3a\x46\x82\x47\xcc\x40\x70\x84\x75\x3e\xc1\x41\xc4\x63\x59\xcd\xe7\x55\x01\xa0\x60\xe0\xc6\xc9\xc8\xba\x0d\xf6\xa2\x71\x43\x44\x34\x0e\xb6\x6a\xd5\xce\x10\x87\x70\x2a\xd0\x0c\x35\x03\x45\x94\xa8\x5a\x0b\x6e\x17\x9a\x6c\x1f\x99\x44\x4b\x76\xe2\xcc\x76\x7b\x87\xc9\x1f\x25\xa9\x16\x0d\x17\xcc\xba\xb0\x12\x4c\x0b\x8e\xe0\x5a\xd4\xc1\xe6\x1a\xed\x97\x9d\x83\x92\x6d\x2a\xaa\xd0\xd4\x08\xfe\x39\xa0\x0e\xc4\x21\xd1\x85\x60\xcc\x98\x17\x16\x0d\x5f\xb1\x89\x7b\xd4\x68\x21\xe8\x8e\x37\x92\xd7\x6c\x4c\xee\xe7\x05\xfb\x9f\xee\xdb\x94\x90\x1b\x86\x47\x5c\xcc\xd6\x8b\x69\xc1\x57\x27\x5f\xfe\xdb\x97\xff\xf6\xef\xa7\xf0\x2c\x2d\x99\xa2\x55\xdd\x6b\xea\xe6\xad\x7a\x9f\xf3\x24\x89\x77\x1e\x8c\xfc\xb8\xc3\xf8\x2e\x4d\x75\xe9\x5a\x48\xee\xaf\x43\xc6\xba\xe0\xad\xe9\xcc\x89\x2b\x7a\x7f\xf9\x49\xac\x56\xa1\xf1\xce\x4f\xc1\x6f\x7d\x02\x19\xf7\xe3\xd8\x35\x3a\x22\x67\xee\xdf\x1d\x2d\x75\x4e\x9d\x1e\x9c\x9a\x8b\x8b\x34\xf9\x66\xae\xc2\x8b\xab\x97\xcf\xbe\x79\x7d\xfb\xfe\xf2\xfa\xf5\xf5\xbb\xd0\x57\xee\xb0\x0b\xd9\xf7\x07\xee\xb3\x1f\xbc\x33\x5c\xd6\x80\xd3\xf0\x12\xf3\xf1\x79\xef\xb2\x11\xf9\xea\x22\x6f\xa3\xd8\x6b\x93\xec\xb1\xe1\x20\x2b\xb8\x5c\x52\x21\x87\x45\x37\x07\x4e\x26\x9d\xf2\x70\x3f\x76\xe9\xb1\xfc\xfd\x21\x4c\x1c\xfa\x75\x90\x71\xef\xef\x72\x87\xad\x87\xcc\xb6\x47\x36\xea\xe5\xd7\x87\xce\xdb\x21\xcd\xc0\x51\x53\x13\x0c\xc4\xd9\x71\x3e\xe1\xf8\x13\xe1\xc5\x03\x78\x26\x71\x16\xc6\x1b\x66\xbf\x44\x30\x26\x82\x2d\xa8\x28\x41\x89\xc7\xe7\x7d\xd6\x9b\x9f\x3f\xb3\xcf\x66\x5a\xfa\x7d\xf0\xd4\xda\xc9\x09\x44\x13\xf3\x73\xd6\x55\xd8\x25\x6d\x8a\xcc\x9f\x07\xde\x61\x95\x7f\xb4\x1e\x5c\xc7\xd0\x03\xed\x97\x5c\xcc\x1e\xdc\xde\xae\x3b\x8d\x89\xf4\x00\xf5\xc4\xdf\x69\x29\x9f\xb3\x6c\x72\xf6\x07\x2e\xe5\xbb\x20\x15\x5f\x94\x9b\x64\x9f\xa2\x33\x59\xf6\x30\x49\x17\x42\x46\x7f\x75\x61\x08\xfd\xe3\x6f\x80\x97\x55\x9a\x7e\xc7\x88\x59\x06\xed\xb7\xf3\xc0\xf0\xe1\x0c\x01\x80\xae\xf1\xd5\xda\x6b\x7d\x4d\xa1\x4b\x8b\x25\xee\x03\xe7\xd0\x61\xb0\x3a\x6d\xd0\xef\xbc\xaa\x0f\x06\x9c\xeb\xce\x87\xc1\x02\xcb\x87\x6d\x82\xfe\xc5\x38\xb5\x8b\xe1\x56\x1a\x5d\xfd\x4f\xcf\xe1\x1f\x5d\x78\x59\xe3\x1f\xaf\xbf\xfa\x15\x77\x95\x0b\x5e\x63\x65\xfd\x8f\x5e\x6c\xda\x82\xd7\x5d\x6f\x89\xde\x2e\xc2\x8b\xbd\xe0\x75\x3e\xed\x5c\x7a\x33\x16\xcb\x6c\xc6\xd5\x63\x5f\x31\x78\xdc\x55\x25\x98\x45\x73\x03\xe9\xb5\x66\x34\xd6\x26\x50\x65\x0c\xe6\x79\xa0\xe5\x70\x9f\xec\xdd\x24\xbd\x4e\x96\x1e\x43\xd9\xdd\x2d\xbc\x65\x80\xd2\x0a\xe6\x70\x83\x63\x2c\xad\xf5\x35\xb9\x7b\x8c\x2a\xef\x08\xf8\xed\x34\xdd\xdc\x47\xfb\x60\x1e\x91\xf4\xe8\x51\x94\xf3\xe8\xe2\x22\x4a\xb1\x78\x85\x4f\x1c\xef\xac\xeb\xb5\xbe\xd3\x47\xa4\x9b\x27\x3e\x77\x25\x65\xb8\x91\xe9\x87\x7b\x29\xe7\xf8\x90\x29\xd3\xcb\x81\x7a\x69\x9c\x76\x82\x18\x7a\xb7\x91\x66\x37\x7c\x6d\x74\x47\x56\x65\xda\x03\x38\x7f\xf0\xde\x20\x07\xf7\x1b\xda\x02\xff\x31\xb7\xdc\x27\xdc\x6e\x8e\xfb\xd9\x25\x4c\x84\xfb\x9a\x47\x8a\xd1\x6c\xbe\xac\xde\xd5\xf5\x17\xde\x98\x44\x2a\x92\x78\xc9\x7d\x88\x08\x62\x51\x83\x3e\x01\xe3\x3a\xf2\x79\x01\xd2\xf8\xe5\xac\x07\x70\xea\xff\x02\x6e\xea\xed\x5a\x2e\x31\xd2\x23\x34\x33\x53\x61\xdc\x52\xa4\xd2\x6f\x3a\x08\x8b\x6b\x06\x0a\xb3\x1d\xad\xdb\x5e\xe7\xf6\xd1\x9e\x74\x14\xdd\x47\x35\x8e\xc8\x8d\xf0\x20\xb4\xb6\xd3\x2a\x7e\x4c\x98\x5b\x8f\x4e\xb3\x2b\xba\x74\x0c\xc3\xb8\xda\x45\x9a\x53\xd5\x3c\x87\x4d\xe5\x89\x6f\x39\x4a\x57\xb4\xe2\x1b\x86\x6f\x74\x13\x18\x9a\x44\xa7\x04\xf9\x68\x85\x8d\x56\x82\xfc\xb3\x77\x8c\x08\xce\x57\x9a\x29\x3d\x72\x09\x6a\x8d\xf5\x64\x28\x47\x26\x88\xb7\x08\x49\x97\x95\x54\x68\x33\xc2\x90\x17\x08\x09\xb0\x89\x69\x7c\x47\x2e\x32\x7d\xd6\xff\x86\x8f\x4f\x50\x4c\xd3\x4c\xd5\xd5\x08\xdc\xcc\x7c\x98\x66\x10\x75\xe5\x0a\x8e\x03\x82\x4f\x9c\xe7\x64\x47\xea\xb3\xee\x9d\xd9\x1c\x21\xc7\x06\x7b\x91\x27\xe4\x61\x72\x5f\xef\xf9\x32\xc1\x14\x47\x9e\xaf\xaf\x5d\x7c\xb0\x80\xe8\xb1\x5c\x44\x6e\xd7\x59\x4d\x2f\x27\x06\x4f\x81\x82\x78\x4a\x34\x1d\xe0\xa8\x96\x14\x3a\x59\x80\x6d\x12\x62\x51\x4d\xa5\x75\x6b\x74\x74\xba\xb3\x10\x83\x05\xe9\x1c\x0c\x92\x80\x81\xd6\x7d\x48\x6c\xa9\x3b\x74\x46\x19\x79\x08\xc8\x5d\x17\x3a\xee\xd0\xf5\x4a\x8c\xe8\x2f\xdb\x46\x02\x7f\xe7\x76\xef\x3f\x7b\x5d\x65\x97\xdb\xbf\x9a\xaa\xd9\xb1\x7d\xe7\xd3\xa9\xab\x3c\x21\xbe\x61\x37\x26\x72\xc9\x9f\x84\x74\xf7\xe3\x0f\x9f\x5d\x78\x02\xb9\x53\x00\xe9\x91\x6c\x4b\x96\xee\x9e\x07\x6e\x27\x16\xf6\xc0\x76\xf7\x7d\x7d\xe8\x76\xff\x54\xcf\x9c\x57\xc0\x76\x65\x10\x40\xe5\xf7\x92\x51\x71\x1f\x97\xf3\xa6\x47\x04\x49\xac\x5f\xc7\x6e\x63\xd3\xf4\xc3\x2e\x8f\x1b\x38\x49\x3f\x6b\x1f\x43\x08\x70\xaf\xb2\x4c\x0b\x15\x99\x0c\x5d\x91\x17\xb4\x09\xe2\x3d\xc6\x7f\xf8\x93\x3d\x55\x31\x91\xdb\xc4\x87\x8d\x05\xe9\x62\xb2\x4a\x6e\x97\x53\xc5\xaf\x6d\xc6\x16\x75\xf4\x4d\x1f\xab\xcf\x1f\xc0\x79\x40\x41\xba\x67\xc5\xb0\x54\x99\x5e\xf6\x79\xed\xaa\xc9\xf4\x0d\x15\x5c\x38\x46\x8f\xee\xf9\xff\x63\xef\xed\xfb\xdb\xb6\xb1\x7c\xf1\xff\xf3\x2a\x90\xee\x6e\x29\xc5\xb2\x2c\x39\x4d\x9b\xda\x75\x7b\x6d\xd9\x69\x3d\xb5\xe3\x5c\xcb\x69\xbb\x9b\x64\x32\x10\x09\x49\xac\x29\x42\x43\x52\x96\xd5\x49\xf6\xb5\xff\x3e\x38\x07\xcf\x04\x25\x39\x6d\x77\xee\xee\x6f\xe7\x73\xef\x36\x16\xf1\x8c\x03\xe0\x3c\x7e\x4f\x5a\x4a\xe6\xb4\xd5\xae\x6b\x9e\x9b\xd4\x88\x0f\xcc\xe5\x26\xc7\x12\x3a\xd3\x0e\xc5\x84\xc8\x4d\xd5\xb5\x2b\x37\x92\xc9\xc7\x47\xdb\xd3\xca\x70\x9a\x8e\x2b\x07\xa9\xc4\x7d\xcd\x16\x73\x41\x4a\x25\x19\xad\x02\x06\x3a\x78\x5c\x82\x2f\xa5\xc6\x42\x90\x04\xb5\xc6\xff\x17\x60\x73\xa4\x72\xe5\x11\xc0\xe5\x0a\xae\x28\x51\xf0\x49\x37\x86\x0f\xc2\xdb\x43\x94\x15\x2c\xec\xa2\x32\x76\x5e\x75\x17\x81\xa9\x8c\x9a\x6d\xb5\x99\x64\x45\x53\x56\xe2\x46\x69\x5f\x73\x59\x5b\x9c\x43\x45\x68\x96\x29\xae\x19\xbc\x54\x10\x32\xc7\x0e\x7d\x13\x13\x15\x3c\xf3\x16\x57\x1e\x40\x35\xd7\xaf\xbc\xb5\xa7\x48\x85\x33\x6b\x0f\xac\x75\xe7\xc7\xf8\x64\x7d\xfa\x85\xd7\x6c\xa9\x0f\x3a\x16\x58\x28\xa1\x86\x6d\x68\x59\x6c\xe0\x96\x8a\x13\x8b\x04\x47\xa0\xab\xb4\x04\x5b\xc8\xb8\xb0\x99\xf6\xdc\x0d\xde\x42\x1c\xda\x86\x66\x9b\xbc\xdf\xff\x7b\x12\xac\x11\xf5\x1c\x9a\xfd\xf3\x28\xd1\x4f\x23\xee\x59\x42\x7f\xbf\xea\x31\x48\x94\x8a\x69\xaa\x79\xa6\x98\xee\xb7\xa2\x4d\x3f\x54\x66\x33\x97\x23\x81\x7b\x02\xc1\xe3\xb6\xd7\xe7\xb8\xe6\x4d\x2f\x9a\x89\x78\x91\x4e\xd2\x1c\xe2\x73\x23\x82\xc0\xd1\x09\xa4\x74\xf3\x9b\x0b\x00\x58\x70\xe5\x80\xdb\xb8\xa7\x62\x68\x8a\x2c\xad\xa0\x0c\x57\xda\x79\x68\xb5\x6d\xf3\x4b\xba\xbb\x66\x53\x84\x52\xcc\xea\xc4\x8e\x75\xef\x2e\x5c\x17\x3b\xea\x4c\x11\xc5\xb5\x5c\x98\x06\x65\xaf\xca\x4b\xb8\x85\x2b\x52\x73\xdd\x75\xee\x60\xf6\xc6\xa4\x55\x19\x4c\xb7\x1f\xe2\x6e\x0b\xbe\x0c\x33\xbd\x32\xc7\xea\xfa\xc5\x0c\xcf\x7a\xed\xa2\x6e\xed\x24\x86\x8a\x7b\xe4\x3e\xe2\x8c\xce\xe6\x2d\xb4\xd4\xd4\x42\x6a\xe0\x9f\x4d\x02\x9c\xd4\x9e\x48\x2f\x44\xbb\x35\x95\xaf\xaf\xd7\x69\x74\x5f\x08\x30\xd3\x75\xad\x9a\xbb\x4d\x6b\xb6\x48\x9d\x40\xcd\xfb\xfe\xb9\x7b\x13\xa6\xaa\xb5\x7b\x13\x5c\xf2\xe0\x0a\x59\x41\x48\xff\xbc\x05\xf6\x2e\xc3\xed\x52\xd2\xfe\x51\x37\xc8\x40\x4d\x39\x98\xa6\xf6\xf7\x3a\x6a\x87\xa6\x6b\xc5\xe3\x84\x67\x1c\x8c\x5b\xf9\xc4\x79\x4e\x9a\xe7\x19\x44\xc3\x5b\xe7\xe1\xd3\xbc\x65\x8e\xe6\xf8\xbf\xdb\xd3\xe5\xce\xe1\x21\x87\xf1\xda\xb5\x80\x17\x0a\x0d\x61\x9b\x07\x61\xf3\x82\x6f\xa2\x1a\x6b\xd1\xb7\x25\x99\xad\x10\x2e\x83\x73\xdb\x9a\x58\x0a\x2f\x51\xf8\x35\x62\x47\xa3\x77\x60\xe5\x22\x46\x16\x00\xd7\x2e\xde\x39\x96\x8d\x49\xc9\x5d\x06\x48\x7e\xb5\xd3\xf0\xd3\x72\x95\xc7\xd3\x82\xe7\x7c\x51\x66\xab\x0e\x54\x91\x29\x2b\x60\x61\x68\x06\xc9\x5d\xe3\x5b\xb2\x4c\x73\x30\x90\x2f\x31\xaa\x54\xa5\xec\x83\x22\x06\x36\x37\xe6\x34\x63\x65\xac\x00\xae\xa8\xc2\xe6\xc5\xae\x37\x91\x83\x03\x3a\xff\x7e\x8d\x57\x79\x85\x08\xf9\xe5\xfb\x2e\x36\x1c\x74\xc3\x83\x35\xc0\x77\x54\x5f\xa6\x7e\x45\x72\x64\x03\xee\x07\xe0\xf8\xa5\x6e\x46\xb4\x55\xab\x7c\xa8\x21\xfb\xb3\xb1\x13\xe9\x8d\x9f\xdf\x6b\x28\x8e\x00\x02\x5a\xf3\x1e\x8e\x2c\xa4\x2f\x47\x85\xed\xe0\xb2\xe0\x91\xff\x67\x6c\xa5\x11\x2e\x4c\x08\x3a\xc8\x3b\x5e\x28\xb4\x91\xad\xa5\x70\x66\xe6\xd8\x91\x6a\xf3\xd2\xb2\xfe\x8a\xc6\x12\x6e\x24\x2f\xe3\x75\x61\x87\x21\x6e\x41\x3d\x16\x24\xde\x56\x14\x54\xea\xf2\x9f\x40\x45\xa5\x2d\x42\x7d\x0a\x25\x99\x06\x1a\xa9\xa9\x8e\x1b\x00\x45\x7c\xdc\x00\x49\x69\xfd\xde\x7a\x66\x6b\x31\x07\xf7\xf7\xba\x9a\x31\x04\x35\xb5\x95\xb4\x39\x73\x7b\xd8\x64\x18\x86\x42\x8d\xea\x0f\xfb\x42\xc4\xa2\x62\x6d\x5a\xbb\xb6\x22\x77\xfd\x04\x41\x15\xf1\xff\xc0\x14\x7d\xb9\xda\x9a\xa4\x32\x8a\x98\x39\x29\xbb\xcb\x2c\xcd\xd1\x8b\x42\xc7\x47\x06\x44\x2c\xf2\x5d\x58\x38\x20\x07\x52\xa8\x96\x76\x99\x4f\x6a\x49\xc9\x07\xe4\x20\x14\x7c\xb9\x96\xdd\x7d\x64\x63\x88\xda\x0c\xef\xe6\x90\x2c\xb4\xd5\x34\x86\x7b\xea\x65\xe9\x98\x79\x39\xc1\x11\x75\x55\x18\x82\x85\xae\xa1\x13\x88\x4b\x09\xd3\x09\xb2\x0b\x36\xc0\xae\x0c\xf1\xf1\x31\xba\x04\x37\x26\x59\x29\xb8\xd2\xa4\x83\xbd\xc6\xe8\x85\xf2\x73\x79\x85\x2a\xc0\x0b\x25\x81\x16\xa8\x42\xcb\xc9\x92\x41\xe8\x02\x3a\xf7\x43\x3a\x6b\x28\x67\xf5\x45\x4b\xb2\x64\xf5\xa4\xd9\xeb\x95\xfb\x38\x89\x4f\x25\x5f\x3f\x5c\x65\x03\xf9\x3a\xe6\xb9\x6f\x48\x3f\x78\x97\xca\x99\x0f\x1e\x16\xfb\x56\xd7\x36\xc8\xdd\xf8\xb9\x86\xd4\xb4\xb5\xdb\x7e\x0d\xd9\x29\x2d\xad\xe8\x6d\xa9\x61\xc7\x28\x96\x19\x2d\x26\x69\xde\x81\xc4\x25\x8b\x19\x83\xe0\x32\x9c\x66\xc5\xc9\x84\x55\x24\xad\x4c\x5b\xb0\x8f\x2a\xf0\x89\x96\x0a\x82\x58\xf9\xf1\x40\x94\x2b\x9d\xcf\xb3\x94\xc9\xfc\xf6\x4b\x08\xd1\x4c\x73\x45\x61\xa6\x29\x8f\xd4\xba\x36\x8c\xd2\xee\xee\x36\x6e\xe9\x16\x46\xd0\xe3\xd8\xd8\x4a\xeb\xbe\xea\xda\x8e\x92\xb3\xe5\x96\x3e\x1a\x56\x0d\xbd\x9d\xee\xf6\xee\x1a\x50\x1d\x1c\x83\x29\xfa\x8d\xf1\x07\x23\xa6\x4f\xf9\x8f\x5d\xb4\x15\x8f\x33\xce\x0b\x49\x4f\x7b\x61\x39\xb9\xad\xbc\x57\xad\x1e\xae\xc1\x99\xb1\x67\x63\x1f\xed\xed\x29\x34\x9b\xac\xe4\xb0\xac\xd2\x23\x58\x1c\xc0\x9e\xb3\x5b\xc8\xce\x13\x6f\x60\x0d\x97\xde\x8e\x2a\xf1\x6f\x4d\xce\x93\x1e\x0c\x92\xbd\x56\x61\xc1\x7f\xc7\x2a\x53\x6f\x75\x69\xc1\x66\x3d\x0a\xd8\xb5\xb4\x3c\x84\xc6\x76\x7a\x2f\x17\x44\xb0\x9f\x1d\xd3\x32\x52\x86\xa3\x70\xf3\x77\x52\x37\x10\xdc\x52\xdf\xe0\xed\xd9\xd5\xec\x8e\x36\x29\xe7\x60\x21\xb7\xba\x84\xff\x2b\xee\xbc\x5a\x54\xd0\x1f\x72\xe9\x85\x54\x40\xdb\x07\xaa\x34\x3f\x8a\x84\x6c\xab\x41\xda\x22\x4a\x58\x66\x0d\x43\x47\x65\x5e\x30\x19\x11\x24\x1e\x35\x3f\xac\xae\x5c\x0b\xb4\x8f\x57\x9c\x12\x08\xd8\xbd\x14\x72\x96\xb4\x24\x42\x28\xca\x75\x1a\x95\x80\x35\xc5\x8d\xf5\x14\x02\x12\x1e\xdc\x8a\x93\x92\x41\xc0\xbb\x7a\x87\x8d\x33\x9d\xc4\x35\x31\x3d\x49\x7d\x07\xe0\xa5\x58\x3d\x9a\xee\x54\x31\x90\x9a\x20\x22\x2f\xcd\xe3\x34\x61\x46\xf6\x90\x01\x85\xa0\x36\xc9\xf9\xae\xae\x1a\xc9\x05\xe8\x12\x72\xb9\x22\x93\x05\x2b\x21\x5c\x50\x47\xa2\xe6\xbc\x66\xaf\x19\x71\x9e\x31\x9a\x03\x5a\x6b\xc5\x14\x5a\x2b\x7a\x93\x95\x6c\x93\x7f\x84\x97\xce\xcd\x83\x53\xad\x98\xa5\x1d\xf1\x1f\x47\x55\x01\xca\xa9\x67\xd4\xaa\x14\x02\x28\x63\xd5\x0b\xbd\xf5\x0d\x29\x3d\xfd\xe4\xa0\x51\xdb\xb3\x93\xdb\xad\x9d\xe8\xc2\x0d\xad\x19\x4a\x73\x5a\x0b\x18\x03\x1e\x38\xcc\x86\x86\x3f\x71\x98\x0d\x93\x76\x83\xa0\x4d\x3e\x14\xa9\x78\x1b\x31\x4f\x4c\x06\xc9\x1a\xb2\x25\x64\x14\x41\xc5\x45\x11\x42\x17\x49\x2a\xee\x2b\x48\x75\x40\x73\xc2\xf3\x98\x91\x39\x13\xa2\x67\xcc\xf3\x8d\xc1\xe7\x69\x3e\x39\x61\x6e\xd8\x80\x45\x16\x78\xb7\xd8\xd9\x2b\x47\xee\x6c\x89\x1f\xf2\xa7\x57\x66\x52\x5f\xe7\x76\x93\x58\xbc\x5e\xf4\x05\x79\x75\x8b\x91\x60\xc1\xe6\x0c\xb2\x5a\xc8\xdd\xef\xf5\xb4\x3b\xa7\x58\xc3\xe1\xdf\x17\x2c\x8b\xa7\x72\x08\xef\xf5\xfd\x33\xe2\xe2\xe4\xc3\xfa\x8a\x9b\x2c\xe7\x55\x3a\x4e\x63\x04\x13\x17\xf5\x00\xba\x45\x33\x8d\x81\x96\x6a\x37\xba\x53\xf8\x58\xb4\xfc\xde\x4b\x93\x54\x16\x71\xd4\x76\xce\x98\x55\x54\xec\xbc\xe3\x94\x02\x7d\x32\x6f\xf8\x9b\x54\x09\xc4\x20\x4d\x87\x87\xad\x39\x0f\x2b\x4b\x64\x87\x3c\xeb\xf5\xea\xc7\x6b\x8b\x96\x3e\x3a\x13\x4f\x58\x79\x5b\xf1\xf9\x4b\x6b\x2d\x05\xfd\xbd\x37\xbe\x3b\x56\x36\x6b\x5a\xbe\xc0\xdc\x88\x4e\xba\x2a\x8d\xcf\x09\x1b\x52\x5f\x10\xbb\xed\x8b\xb4\xac\xde\xcb\xf4\x55\xb2\x9c\x06\x40\x1d\x22\x12\xc0\x92\x91\xaa\x80\x18\xea\x82\xa6\xf2\x0d\x5b\xa6\x79\xc2\x97\x00\x00\xf8\x1d\x54\xca\xbb\x3c\x87\x74\xa4\xde\x41\x91\xc4\x99\x71\x88\xc0\x72\xba\x2e\xdf\xb7\xda\x87\xe4\x63\xed\xa8\x2b\x5d\xbd\xa5\x51\x27\xa3\xb4\xb2\xc4\x45\xfb\x0b\xbc\x89\x1d\x12\xb3\x02\x60\x44\x0c\x90\x5a\x18\x6c\x4b\x25\x7e\x22\x3a\xcd\x94\x60\x53\xe1\x35\x61\x15\xab\x6b\xeb\x6b\xd1\x49\xc4\x46\x7a\x42\x16\x17\x12\xde\x94\x73\x9e\x27\x36\x78\xb4\xe5\x37\x51\x57\xf9\xab\xc9\xa8\x58\x00\x08\x12\x18\x8f\x37\x3d\x6f\xc5\x42\xbd\x6c\xf6\x1a\x74\x10\xdc\x13\x02\xa2\xf2\xad\x5e\xbd\x2b\xa3\xa2\xd8\xe6\xcd\xe3\x76\x71\xfd\xe2\x35\x70\xc7\xf5\x58\x0e\xb5\xa1\xd2\xa5\x3f\xb0\xa1\xf6\x17\xb9\xa1\xec\x3e\x2d\x11\x12\x47\xb0\x1e\x2e\x50\x84\xe3\x5a\x24\x15\xaa\x10\x52\x88\xfe\x1e\x92\xef\xf5\x1d\xca\xc1\x78\x22\x5a\x73\xf7\x50\xfd\x4a\x74\x08\x14\xec\x22\xcd\x57\xee\x18\x7e\xff\x96\x59\xb3\x7c\xf8\x96\x9d\x6b\xe0\xd9\xad\xb6\x2c\xb5\x8b\xcb\x2d\x0b\x6c\x09\x5d\x08\x0e\x4d\xe2\xc6\x28\xed\xa0\xbb\x37\xc1\x22\x1a\x83\x2d\x27\x54\xac\xed\x6c\xcc\x1c\xb0\x65\x90\xf2\x25\x52\x39\x3a\xe0\xd0\x12\x71\x90\xb2\x34\x67\x1d\x63\xf1\x32\x49\xab\x4b\x0a\xc9\xba\x09\x05\x9f\x26\xd1\x9e\xf4\x22\x4a\xd2\xf1\x98\x15\x00\xaa\x30\xe2\x69\x56\xa2\x2a\x7b\x09\xcc\xe5\x72\xca\x00\x68\x42\xec\x2e\x0f\x58\x65\x25\x27\xcb\xfe\x78\xc6\xf1\xb8\x0e\xfa\xb3\xcd\xbe\x04\xb0\x82\xd6\xed\x8f\xaf\x10\x73\xb7\x26\xa0\x2e\xf3\xef\x42\x75\xed\xc9\xfc\xab\x9e\x5f\x59\x85\x02\xbb\x75\x6b\x39\xf1\xd8\x63\x2e\x2a\x88\x03\x80\x60\x87\x0e\xc6\x9d\x8d\xc7\x07\x52\x97\x36\xa8\x00\x4c\x86\x0f\x87\x85\x99\xc5\xac\x64\x7f\x70\xd4\xc8\x9c\x96\x15\x49\x2b\xf4\x3c\x43\x28\x8d\xe0\x41\xab\xd9\xd7\xd7\x9c\x33\x6f\x59\x1e\x7e\xd6\x8c\xe6\x6b\xab\x3d\x5d\xda\xc5\x9b\xf7\x52\x4a\x0e\xbb\x0f\xdf\xd3\xf1\xf8\xf7\x6d\xaa\xb5\x19\xb6\xfa\x74\xcb\x1d\xd5\x7e\x1f\x80\x07\xf7\x3b\xef\xc0\x86\x45\x78\xf8\x1e\x5d\xfb\x4a\xca\x87\x48\x6f\x3f\x6f\xda\xb1\x0c\xf9\x5b\x56\x2d\x19\x53\xc0\x2e\xe9\x8c\x16\x18\xc6\x0a\x6e\xac\x00\x5f\x83\xb4\x6d\xab\xb2\xcd\x37\xfb\x48\xc2\x5d\xeb\xd5\x32\xd8\x87\xf6\x46\xa8\x03\xa4\xfa\xab\x95\x55\x30\xd1\x4b\x3a\x9f\xcb\x64\xd1\x62\x08\xd2\xde\x47\x18\x3a\x47\xf2\x86\x58\x35\x55\xfd\x8c\xc6\x53\xd5\xb6\xc2\x60\x2b\xc1\x83\x4b\xdc\xac\x0d\x6e\x7e\x9f\xbe\xed\xee\xaa\x3c\x7c\xb7\x8f\x55\xfd\x35\x0f\xe0\xc3\x00\x2f\xd4\xc6\x2b\x1b\x8d\x1e\xe1\x50\x7e\x3f\x20\x52\x50\x85\x7d\x18\x5a\x29\x52\x6a\x6a\xf0\x1a\x38\xe6\xe7\x9f\x87\x62\xac\x0d\x4e\x4b\xcf\xca\x7f\xf2\x78\x6d\x9a\x15\x2b\xb0\xf7\xdc\xb9\x4e\x65\xf4\x08\xe4\xaa\x2c\x65\xfa\x8c\xa5\xf8\x7f\x05\x23\x74\x49\x57\x1d\x48\x57\xa0\x7a\x61\x25\x99\xd1\x95\x6a\x69\x24\x78\x31\x99\xa6\xb1\xab\xe5\x86\x6d\xb3\xbe\x34\x27\x74\x52\xf3\x6b\x46\xfb\xa7\xc5\x2a\x0c\xf5\x4f\x8b\xf5\x59\x61\xea\x81\xe8\x34\x4b\x7f\x43\xb4\x9a\xf7\xe1\x58\x03\x1b\xc2\x04\x0a\xa3\x61\xab\x5e\x7a\xea\x1b\xbc\x6c\xfd\xc5\x2a\x8f\xd1\x72\x67\xc2\xaf\x03\xc5\x52\x27\x47\xd3\x76\x11\x2c\xae\x4b\x83\xd8\x47\x3f\x28\xc1\x71\x5a\xda\x1d\x65\x69\x7e\x1b\x7a\x32\x9c\xef\xd6\x85\xa3\x61\xe0\x04\x83\x0c\x1f\xc1\x26\x92\x42\xe8\xe4\x5d\x5a\xa6\xa3\xcc\xb9\x7a\x80\x4d\x53\x1f\x8c\xbd\x57\x7a\x5d\x43\x0b\xaa\xd7\x7f\x37\xa9\x96\x80\xc7\x46\x91\x8a\x13\xe4\x1f\x45\x49\x95\x20\x27\x1d\xab\x74\x34\x08\x1f\x5f\x71\x08\xe5\xe6\x25\x42\x64\x3d\x72\x32\x63\x1a\xb6\x50\xd4\xc9\x32\x92\x31\x7a\x4b\x28\x91\x06\xfd\xdf\xcd\x19\xd4\x56\xf2\xe1\x37\x11\x6e\xe6\x09\xb4\xb0\xcd\x8b\x13\x3b\xe5\xe5\x5b\x23\x2f\x91\xc7\x38\x42\x95\xb9\xc6\xb8\x2d\x58\x95\xd4\x11\x01\x23\x94\x52\x5a\xac\x29\x7e\x58\x53\x3b\x04\xcb\xd5\x15\x0f\xde\x88\x7f\x42\x32\x68\x07\x0c\x11\xf2\x53\xab\x2a\x16\x6c\x2d\xc5\x2a\x52\x6a\xa6\x59\x55\xa2\x89\x6a\x59\x88\x4e\x05\x05\x2b\x65\xdf\x1f\x45\x12\xf6\x50\x3f\x95\x28\xe4\xba\x3c\x80\x2c\x4c\x8d\x10\x61\xd4\xcc\xae\x6b\x09\xe4\xa1\x24\xb2\x25\x91\x28\xfb\x5a\x83\xba\x93\xcf\x69\x9c\x56\xe2\x29\x88\x7a\xd1\x61\x08\x5f\x02\x69\xa7\x31\xcb\xc7\xe6\x76\xfb\xd1\xe1\x3a\x42\x75\x16\x61\xc3\x52\x79\x50\x62\x66\x62\x3c\xb7\xce\xf5\xfb\x00\x4c\xea\xff\x03\x7b\xe0\x2a\xc9\xa4\x37\x1a\xbc\xfe\xe2\xd8\x78\xd7\x36\x26\x43\x46\x45\xa1\x95\x49\xdd\x8f\xbc\x11\x4d\x69\x81\x19\x90\xf5\xa9\xb4\x18\xad\x23\xf8\xfa\x66\x86\x81\x95\x2a\x3e\xbf\x36\x0f\x7a\x48\x03\x7e\x63\x4a\x18\x88\x56\xf4\xc7\xdb\x50\xf3\xc4\x29\xd4\xb2\xba\x6a\x1f\xfa\xa8\x08\x81\x76\xea\x39\x7d\x43\x1c\x5b\x03\x7c\x82\x93\x00\x16\x1b\xff\xd6\x1b\xb5\xc5\xb7\x0d\xb4\x50\x65\xa7\x18\xd5\x08\x2d\x60\x49\x4d\x2b\x22\x76\x3e\x4d\x74\xde\x71\xb5\x9f\xb4\x60\xd4\x05\x66\x1e\x94\xe5\x4f\xb4\xd0\xca\x7b\xe4\x93\x20\x69\x70\x87\x44\xbb\x7d\x9d\x3a\xd8\x3d\x86\x1b\xee\x79\x8f\x65\xad\x1f\x48\x85\xbf\x72\x74\x44\xa2\x9c\xe7\x2c\xb2\x66\x78\xcd\x76\xd5\x67\xc7\x44\xa3\xc4\xc9\x31\xdc\xd8\xb4\x24\xd3\x34\x49\x98\xce\xf9\x3a\xe3\x8b\x32\x80\x3d\xbd\xa6\x6f\x12\x45\x7a\x42\x7b\x7b\x44\x07\x17\xd8\x0e\x78\x90\xee\x7a\x30\x1c\x0a\x12\x48\x41\xe5\x3a\xa3\xd5\xb4\x4b\x40\xb8\x66\x24\x41\x91\x58\xfc\x46\xd2\x9c\xfc\x65\xd8\x31\x40\x13\xe3\x8c\xd3\x0a\x3f\xc1\xfb\x22\xe4\xe6\xc5\x9c\x8c\x18\x66\xd0\x2e\x40\x7c\x8e\x51\x48\xa3\xd8\xab\xe8\x08\xd3\xd5\x88\x1a\xd8\x94\x46\x34\xd5\x12\x79\x41\xe3\x5b\xc9\xfc\x8c\x98\x14\x9d\xfc\xfd\x94\xcb\x1f\xda\x56\xf9\xe9\x6f\xff\xfa\x0f\x8f\xea\x76\xed\x23\xf6\x91\xec\x90\xbf\x69\x3a\xfe\xdb\xbf\xfe\xa3\x76\x6c\x24\x4d\x81\xaf\xe3\xfc\x12\x1c\x6f\x3e\xce\xef\xff\xe6\x9a\xb2\x83\xd4\x15\xf3\x2c\xda\xd2\x07\x3c\x78\xa7\x3b\x26\x9c\x2a\xad\x32\x16\xad\xb5\xbc\xe3\x52\xb4\x22\x3f\xb3\x7d\x83\x2d\x7f\x73\x53\x1d\xb2\xa9\x2d\xf0\x94\xdb\xdc\x50\x3b\xd2\xa6\xb1\xd7\xf3\x84\xca\xc0\xf2\x98\x16\xac\xc2\xbc\xf6\xfd\xfe\x8a\xcc\x17\x85\xe0\x70\xcb\xae\x31\xe7\xc9\x0b\xb8\x96\xfd\x7b\xc2\xaa\xa1\xfa\xda\xd2\x01\xdb\xa6\xc2\xe7\x9f\x9b\xda\xdd\xb4\x1c\xf0\x2c\xa3\xf3\x92\x25\xed\x7a\xf8\x34\xc8\x2a\xaa\xec\x40\x8c\xc8\xb4\xe3\xf2\x69\xc7\xc9\xaf\x8b\x52\x79\x14\x03\x30\x2e\x1f\xd7\x76\xad\x9e\x6c\xc5\xc3\x3a\x28\xa7\x74\x8e\x42\x43\x6e\xeb\x7e\x63\x96\x65\x24\x49\x67\x2c\x2f\xc5\x45\xb3\x11\xdd\x1b\x06\x80\x97\x64\xc3\x3b\x02\x1d\xa9\xa5\xc3\xce\x87\xe2\x27\x4f\x1c\xb7\x29\xce\x35\x1a\x8e\x79\xbc\x28\xa3\x36\x5c\x5e\xc0\xdb\xd9\xb7\xd7\x71\xb6\xa4\xab\x12\x51\x7e\x28\x19\x65\x3c\xbe\xd5\x4c\xa8\x90\x97\x16\x39\x54\x07\xc5\x24\x21\x7a\x30\xde\x8c\xac\x61\x75\x4f\x2e\xae\x06\x3f\x1e\xda\x18\xa5\xb8\xc8\x47\x0d\x17\x1c\x4c\xa3\x5c\xa6\x55\x3c\x25\x2d\x68\x5f\x73\xfd\xb4\x64\x6b\x7b\x3a\x3b\xbe\x54\x9e\xa4\x78\x57\x4e\x95\x57\x6a\x74\x47\x8b\xd6\xee\x2e\x54\xde\x15\xbb\x23\x24\xcc\x5d\x29\xeb\x46\x87\x4e\xa5\xba\xa9\x38\xaa\x0a\x9a\x97\x73\x2a\xf6\xdb\x2f\xcc\x8b\x84\x15\xf8\xfe\x0e\xe5\xbc\x4c\xda\x27\xb7\xd4\x05\x1b\x57\xaa\x4c\x54\xf2\x2c\x4d\x74\x63\xa3\x82\xd1\x5b\xc9\x83\x6d\x9a\xe6\xeb\x97\xa7\x67\xd7\x17\xe7\x2f\xcf\x1a\xe6\x5a\xbb\xe9\x34\x35\x82\x80\x3f\xa2\x25\x83\x1c\x92\x3b\x24\x9a\xdf\xff\xd1\x73\xf7\xe6\x25\x1e\x00\x54\xad\xe0\xf1\x4a\x7f\x03\x49\x62\x0e\x70\xd5\x84\xdd\x53\xc0\xbb\x51\x80\x00\x72\x64\x1b\x96\xce\x5e\x5e\x7b\xdd\xa4\x27\xcd\x9f\x42\x01\x16\xa9\xc2\x4f\xef\xff\x18\x2a\x08\x4c\xe5\x81\xac\x6d\x2d\x7a\x3c\xcc\xc0\xea\x58\x8e\x55\x1e\xff\x73\x22\x39\x56\x79\xbc\x6d\x50\xc5\x36\x1c\x75\x28\xb8\x42\xd7\xfb\x94\xe0\x0a\x5d\x79\xa3\x47\x04\x06\x4d\x84\x65\x38\x2c\xd1\x10\x7e\xa1\xab\x34\x85\xea\x0c\xc5\xad\xcb\x0b\xc1\x19\xe2\x4b\xfa\x1b\xe7\x33\xb2\xa4\x45\x8e\x29\x59\xf5\x36\xda\xbf\x83\x36\x9c\xcc\x58\x59\xd2\x09\xd3\x3f\x8a\xda\x8b\x12\x51\xe7\x2b\x89\x3b\x35\x2a\xf8\x52\xfc\x04\xb5\x67\x8b\xb2\x42\xdf\x35\x4c\xce\xc1\x49\xbf\xd7\xfb\x37\xc1\x05\x02\x95\xc2\xf3\x3d\x55\x1e\x71\x1a\x76\x00\xf3\xa9\x67\xab\x6d\x75\x0a\x53\x69\x8d\x91\xc3\xb3\x94\x09\x30\xc7\x74\xa3\x3a\x61\xca\x97\xff\xc1\xf9\xec\x67\x9c\x96\x9f\xe4\x5b\xa9\x05\x40\x4d\x00\x3b\xfa\x9b\x29\x0c\x6f\x8a\x2d\x0b\x4b\x45\x42\xa3\xdc\xeb\xd7\xad\xf3\x27\x71\xc1\x68\xc5\xce\x32\x26\xfe\x6c\x45\x49\x7a\x17\xd9\xfe\x24\x7e\x03\xdd\x34\x11\x37\x0f\xcc\xee\x40\x7c\xdc\x95\xdb\x13\xad\xab\x84\x97\x45\x5c\x96\x37\xec\x1e\x22\x2a\x34\x1f\x16\x81\x6f\xd2\x01\x19\x65\x34\xbe\x3d\x8c\x2c\x0e\xad\xe6\x36\x76\x40\xfe\x65\x3c\xde\xdf\xdf\xdf\x77\x8b\x8d\x79\x5e\xed\x8a\x9b\xef\x80\x64\xb4\x98\x30\xaf\x11\xd8\xfa\xdd\x82\x26\xe9\xa2\x3c\x20\xcf\xe7\xf7\xee\x77\xa9\x87\x38\x20\xbd\xee\x57\xcf\xdc\x4f\x73\x9a\x08\xe6\x48\x7c\xda\x67\x33\xd2\xeb\x3e\x83\xff\xab\xff\xed\x96\xae\xf8\xfc\x20\xf4\x3b\xf8\x2a\x1c\x90\xbe\xa8\xe7\xb5\x2f\x4f\xd9\x81\x4e\x2e\xea\x7e\xdf\x5d\xb2\xd1\x6d\x5a\xed\x56\xec\x1e\x27\xb8\x4b\x81\xad\x3b\x20\x42\x3e\x0b\x97\x15\xe7\x63\x17\x99\xc2\x60\xb1\x19\xff\x6d\xbb\xf6\x44\xc1\x40\x63\xed\x75\xc4\xd5\xa5\x49\x72\x76\xc7\xf2\xea\x22\x2d\x2b\x96\x33\x21\x65\x64\x69\x7c\x1b\x75\x0c\x85\x33\x0f\xcf\x16\x5f\x61\x51\xbd\x8b\x79\x48\x06\xd3\x34\x93\x2e\x57\xf2\x4e\xf1\xc0\x7e\x6a\xbd\x8a\xf9\x0c\x24\x76\x1c\xba\x09\x5f\xe2\xd1\xbc\xa4\x39\x9d\xb0\xa2\x2b\xf3\x97\x5c\x33\xe9\x66\x50\x2a\xf2\xc3\x33\x6a\x35\x28\x2b\x2a\xd1\xe5\x0d\xe4\x6b\x3f\xcf\xab\xd6\x06\x06\x44\x34\xf1\x82\xc6\x15\x2f\xc8\x13\x71\xe9\xb4\xdf\x59\x82\x52\xc3\x69\x10\x74\xfb\x82\xce\xd2\x4c\xdb\x59\x5c\x0f\xcc\xbc\xda\x1d\xc3\xe7\xc8\x20\xc2\xd6\xd4\x86\xe1\x1b\xc2\x5a\xd5\xb6\xbd\xd8\x49\x7a\x67\x7f\x93\x39\xa6\xcc\x8a\xd7\xaf\x9a\x43\x37\x5f\xd6\xc6\xde\x6c\xbf\xbd\x35\xe5\x6a\x7b\xdd\xd0\x73\xed\x25\x71\xd4\x0f\xfc\x8e\x15\x19\x5d\xa1\x58\x26\x91\x73\xe8\x0c\xbc\xc9\x85\xb8\x93\xce\x1c\x14\xfe\x5a\x35\x95\x9d\x37\xcd\x49\x9a\xa3\x5f\xf4\x1d\x78\xfd\xa6\x39\xa1\x78\x97\x10\xb1\x0d\x1d\x12\xb3\x1c\x70\x8d\x00\x68\xe6\x4e\xf2\x11\x56\x6a\x0e\xcb\x5a\xa2\x9d\x99\x6f\x19\xc3\x64\x23\xaa\x3b\xf5\x9c\x8d\x8a\x94\x8d\x21\x1b\x2c\x64\x0e\x46\x07\x19\xaf\x4b\x90\xb8\x56\x7c\x61\x9a\x13\x4b\x17\x55\xc6\xc6\x12\x4f\x59\x7c\xab\x19\x50\x44\xc0\x71\x57\x67\x9c\x16\x75\xfc\x1b\x05\xb6\x3d\x2b\x27\x72\x51\xee\x2b\xcc\xf4\xf3\xc3\xcd\xe5\x45\x5b\x0f\x52\x5a\x71\xc4\xb8\x65\x34\x8f\x9c\x46\x37\x84\x1c\xc1\xe7\xd5\x7b\xc9\x14\x40\xab\xee\x26\x80\xc3\x02\x4d\x2b\x32\x62\x63\x5e\x30\x32\xa6\x20\x73\xf2\x05\x3c\xd6\x48\x2e\xa6\x7d\xe2\xa8\xfa\xfb\xdd\x67\xd2\x8f\xb7\xec\x12\xf2\x8a\x96\x25\x30\x98\xf0\xda\x2a\xa8\x69\x59\x53\x35\x56\x56\x74\x45\x16\x73\x70\xc3\x17\x7b\xd5\xe2\x05\x59\xe4\x55\x8a\xb0\xe6\xb9\xf2\x04\xcb\xe8\x6a\x53\x7e\x2e\xf1\x52\x5f\xc9\xdd\xb3\x1e\xe9\x59\x39\xe9\xd8\x53\xf6\xdf\x6b\xd9\x7a\xfd\xad\xd6\x67\x70\x8d\x9e\xda\xaa\xfb\xe0\xb7\xda\xae\xbc\xee\xc9\xf5\xde\xc4\xfe\x33\xff\x51\xb4\x9e\xd4\xfb\xfb\xdd\xc0\xab\xfa\x87\xbd\x9a\xdb\xbe\x81\x9b\xde\x35\xf5\x54\x0a\xc1\x4e\x36\xa8\x2c\x0c\xfd\xe7\xbd\x59\x49\x18\x2d\xd9\x6e\x9a\x6f\xf7\xca\xd5\x9f\xcc\xcd\xed\xb6\x9b\xb6\x31\xf0\x2a\x82\x62\x54\x88\x1d\x0d\x2f\x23\x13\x4f\x81\xa8\xa2\xd1\xfa\x0e\xf5\x97\xb2\xe2\xf3\x57\x05\x9f\xd3\x09\x35\x2a\x25\xe0\xbc\xa5\xb9\xce\x7e\x2b\x43\x14\x61\x8b\x7f\xeb\xbd\xf4\x0f\xd7\x34\xd3\x20\x4f\xae\x0f\x22\x58\xd7\xe0\x43\x9f\xc3\x7a\x3b\x2e\x1f\x30\x2b\x27\xeb\xba\xb3\xed\x5a\xdd\xaf\x9e\x19\x13\x54\xfd\x0c\xd7\x5e\x53\xf3\x96\xd6\x1e\x50\xe7\xec\x6b\x39\x2d\x49\xef\x04\x9b\xa0\x95\x4a\x13\x56\x0d\xb2\x94\xe5\x95\xf8\xb5\x65\xae\x05\x65\xd8\x90\xad\x6c\xaa\x53\xef\xac\x69\xb6\x80\x53\x2b\x49\xa8\x25\x47\x63\x82\x8f\xad\xee\x94\xaf\x04\xd9\x23\xfb\x96\x36\xa5\xa9\xdd\x0c\xa3\x5c\x75\x93\x2a\x7a\xca\x6e\x51\xfe\xd6\x14\x26\x21\x85\xfc\xa1\xc2\x3d\x00\x8f\x8f\x57\xf7\xee\x08\x42\xf2\xae\x63\xf3\xc0\xfe\xdc\xb0\x83\xba\xa9\xce\x2f\xa6\x1b\xb1\x1f\xb0\xa3\xa3\x7a\x1e\xe4\xda\xe2\x6e\x1d\x6b\x00\x02\xf3\x06\xfa\x8b\x0e\x03\x85\x1f\x10\xcd\xa0\x55\xca\xe3\xf5\x74\xab\xfe\xb7\xae\xa4\xc3\x99\xd5\x0a\xea\x7b\x68\xcd\x68\x6d\x05\xd0\xb6\x2b\x80\x27\x50\xd5\xd0\x11\x2a\xf2\x0f\x7b\x77\x3e\x7c\x20\x7d\x0c\xc4\xb0\x58\xc3\x57\xb4\xac\x98\x95\x73\x68\x55\x56\x6c\x46\xe2\x2c\x9d\x8f\x38\x2d\x12\x3f\x2d\xeb\x86\x67\x7f\x0e\xad\x35\x61\xcd\x60\x35\x28\xf3\xa2\xe0\xb3\x81\xea\xa4\xe5\xbe\xd5\xee\x00\x07\x7c\xbe\x22\x94\x20\xf7\xa5\x5d\x71\xbd\x61\x6a\xb4\x46\x5e\xb1\x03\xe9\x0d\x56\x30\xd4\x85\xe0\xfb\xc4\x12\x52\xd0\x7c\xc2\xfc\x24\xe1\x1d\xc1\x44\x4a\x65\x95\x20\xfa\x3a\x02\xa7\xe2\xfb\xca\xaa\x90\xbe\xd0\x6a\x24\x31\x9f\xaf\x36\x45\x77\xf2\xf9\x0a\x41\x5b\x6f\xb8\x9e\xaf\xab\xb6\x28\x3c\x15\x96\x7d\x77\x63\x84\xff\xae\x9e\xe7\x6e\xce\xab\x34\x66\x51\x1b\xa9\xd2\xa2\x6e\xbc\x1c\x0c\xd7\x65\xc2\x6f\x3a\x4e\xc4\x8b\x58\x4e\x25\xaa\x41\x58\x8e\x15\xd2\x84\x31\xa3\xf3\xd5\x90\x2f\x8a\x98\x6d\xe4\xa1\xe6\x05\x8b\x24\xd4\x98\xaa\xe3\xa8\x38\xc4\xcf\xbb\x15\xb7\x46\x5f\x42\xa1\xc8\xab\xe3\x3e\x3e\x65\x55\x78\xdf\x9b\xd8\xb1\x30\x87\x23\x5a\xb3\xd8\x90\x00\xa3\xe2\x97\x58\xcb\x48\xa1\x72\x62\xf7\xeb\xaf\xe7\xf7\xf6\xeb\x69\x16\x65\xc4\x93\x95\xf3\x98\x99\x91\x3b\x31\x6b\xdb\x1b\xb9\xc0\x85\x30\x8f\xa7\x68\x07\xc1\xd8\x34\x69\xe4\x32\x3f\xbb\x05\xaf\x94\x7f\xa2\x5f\x14\x3f\xa8\xc2\x60\xac\xa9\x35\xaa\x7f\x75\x8a\x05\x9a\xb4\x7e\x47\xb3\x8c\xfe\x82\xff\x3a\xce\x32\x58\x82\x82\xe5\xb5\x55\x40\x1a\x84\x5f\x55\x2d\xeb\x44\xd4\x6f\x00\x34\x23\x9e\x9f\x81\x93\x1d\x64\x9a\x58\xcc\xe7\xbc\xb0\x1c\x36\xba\xec\xbe\x62\x79\xd2\x55\x79\x94\x68\x5e\x1a\x54\x23\x5d\x0a\xdb\xc1\x64\x15\xf2\x1a\xe2\x39\x39\x3f\xeb\xfa\xd6\x44\xd9\x9c\xce\xe9\xa2\x7f\x8f\xa5\x59\xb1\x65\x16\xbf\xe3\x2c\xbb\xca\xf0\xe2\xb5\xd4\xd2\xeb\xda\xb1\x57\xd4\xb0\x99\x16\x89\x37\x3c\x22\xce\x22\xd6\x00\xc4\x4a\x6b\xa6\x2c\x01\xb2\x06\x54\x35\x90\xf2\xd2\x31\xc9\x39\xca\xa8\x90\x70\x19\x0b\xd5\x40\xc6\xf0\x32\xfb\x20\xaa\x7c\xdc\x88\x26\x66\x76\x0e\x0f\x62\xc8\x1c\xe9\x13\xba\x1b\xf0\x2a\x3f\x1e\xba\xc4\xb3\xca\x63\x2b\x75\xcf\x1a\x93\xae\x1c\x35\x3e\x93\x92\x44\x86\x32\x2a\x03\xa8\x55\x46\xb0\x59\x79\xd7\x46\x6c\x92\xe6\x39\x7a\x5c\x22\xda\x02\x66\x18\x94\xa6\x47\x5a\x54\x01\x42\xb7\x7e\x57\x67\x22\xf7\x4f\x0d\x94\xc1\x53\x23\x07\x2e\x8a\x40\x9e\xc8\x97\x74\xc6\xc8\xe3\x23\x12\xfd\xb2\x7b\x7d\xf5\x73\x14\xf0\x53\xd6\xab\xa4\xa9\x1b\x67\x91\x13\x9a\x93\xfb\xdd\x82\x2f\xa1\xc3\x0e\x86\x11\xa5\x15\xe8\xe7\x21\x92\x4b\x26\x45\xe7\x33\x86\x09\xcc\xd3\xbc\x54\xe6\x01\xa8\xd7\x25\xe4\x38\x49\x20\x44\xcb\x4f\x43\xa7\xe3\x1b\xca\x74\x94\xa5\xf9\xa4\x54\xad\x99\x6c\xea\xd6\x5a\x76\x1f\x69\xe9\xdb\x9d\xd8\xd1\x11\x89\xfe\x45\x10\x56\x44\x3e\xff\x1c\x86\x69\x93\xaf\x53\x6c\xf8\xea\xf8\x65\xe4\x23\x9e\xe4\xd2\xf7\xbf\x52\x3a\x14\xfc\x01\x90\x93\xc4\x4d\x9f\x90\x72\x4e\x95\xf3\xcf\x62\x6e\x30\x3a\x69\x8e\xbd\xc9\xd6\xe4\x8e\x78\x03\x70\x40\x2a\xd0\xf5\x1b\xc7\xaf\x66\x3f\xc4\xc9\x5b\x28\x20\x76\x3b\x6e\x21\x63\xb0\x33\x74\xb2\x63\xcc\xdb\x0d\x09\x42\xc5\xbf\xfc\x0c\x61\x7b\x7b\xe4\x0c\x22\x4d\x1a\xc8\xd4\x0a\x43\xb1\x09\x94\xe5\x89\x26\xcf\x4d\x79\x49\xad\xfb\x27\x4f\x50\xa3\xb8\x1b\xf2\xd9\x70\xca\x59\x77\x52\x8d\xc2\x65\x33\x7f\x08\x7d\xc3\xfc\xfe\x54\xea\x36\x01\x59\x8d\xe4\xcd\xf4\x0e\xfc\x4f\x23\xee\x9c\xdd\x57\x6b\x09\xdb\x2a\xa0\xf5\x21\x9a\xb6\x3e\x8d\xa4\x01\x70\xeb\xce\x82\x0b\xbe\xe6\x4b\x60\xd1\x5a\xde\x25\x79\xcd\x97\x3a\x78\x61\xbd\x67\x93\x43\x7b\x76\x35\x48\x18\x7e\x68\x24\x89\x2c\x1d\x75\x97\x71\xb7\x5c\x8c\xf0\x01\x6b\x15\x77\x1d\xfb\x94\x76\x74\x89\x0a\xa5\xe2\x56\x71\xd7\x26\xbb\xc4\xa6\x78\x5f\xc6\x70\xa0\xe0\x35\x01\x37\x08\x1c\x92\x76\x31\xd7\x58\x5a\x49\x1b\x39\xc5\x48\x5b\xc1\xa6\x24\x4c\x6a\x7c\x37\x09\x07\x01\x6e\xa8\xc1\x63\x14\x1f\x5d\xb5\xda\xce\x63\x6c\xbc\xa3\xa0\xd4\x63\x5b\x0c\x47\x67\x85\x90\x1c\x02\x85\xe5\x4a\x34\x0e\xd2\x55\xa8\x84\x80\x1e\x2c\xa9\xa3\x21\xb3\xc5\x0e\x89\xee\x3d\x1f\x33\x37\xba\xc4\x49\x2f\x73\xc7\x6f\x59\x42\x46\x2b\xdf\xeb\xe5\x47\xb6\xc2\xe5\x59\x62\x6c\xed\x4f\x37\xe4\x96\xad\xca\xaa\xe0\xb7\x70\xe6\x12\x56\xb9\x4c\x4e\x5d\x80\x13\xd7\xc3\x8d\x0c\x5d\xc7\xbf\x0a\x86\x69\xc9\x2b\x65\x26\xd7\x4d\x76\xc4\xb1\x7d\x7d\xf3\x62\xb7\xff\xe5\x86\x7d\xe4\xf9\x4f\x37\x3f\xea\x91\xb8\xc2\x9d\x3e\x91\x76\x64\x14\xcf\xb2\xab\x5c\xd7\x78\xef\xfa\xab\xad\x41\x5f\xb4\x4e\x9a\x41\x5f\xd4\x50\xf6\xdc\x1d\x08\x96\xbe\x95\x8b\xd6\x65\x79\xcc\x13\xa6\x86\xe4\xae\xf9\x05\x5d\xe4\xf1\x94\x95\x64\x51\x64\x78\x59\x41\xe4\x37\x1d\x35\x2d\xa5\x28\xf7\xfa\xfa\x42\x9c\x8e\x0c\xea\xd6\x6a\xad\x5b\xae\x39\xcb\x5f\x17\x0e\x6c\xc8\xa2\xc8\xcc\x2a\x21\x80\x42\x37\x9e\x16\x7c\x06\x11\x20\xce\x0f\x5d\xe9\xb7\x60\xbd\x3a\x2f\x78\x41\x06\x58\xfa\x6e\x9f\xd0\xf9\xbc\xec\xd8\x69\xd4\xd0\xe3\x34\x2d\xc9\xf1\xab\x73\x70\x37\x92\x5e\x0b\x44\x0c\x44\x36\x5e\xe2\xc5\xeb\x76\x01\x23\xbd\xa1\xa3\xd6\x3f\xa2\x45\x91\x45\x07\x62\xda\x1f\xeb\xfe\xef\x90\x05\x28\x15\x1c\xaf\x1c\xa8\xa8\x26\xa6\xd4\x21\xd1\xfb\x51\x46\xf3\x5b\x65\x6a\x58\xa6\x52\x88\xd2\x29\xc8\xf4\x16\x5c\xcd\x65\x30\xa5\xe6\xe7\x17\xc5\x26\x6d\x8b\xe8\x67\x28\x8b\xbf\x2e\xb2\x26\x0f\xc1\xaa\x58\x77\x6d\x3c\xb2\x1e\x6e\x54\x99\xe4\xdc\xdc\x7f\x1d\xc0\xb7\xa0\x79\x42\xd8\xfd\x5c\xfc\x07\xde\x65\x69\xc7\x5b\x11\xb0\x51\xa3\xf7\x1f\xda\x58\x0b\xa2\x54\x80\x1e\x86\x0e\x78\x61\x62\x1b\x46\xdc\x5d\x2b\x0a\x2b\xb1\x6a\xe3\xf0\xd5\x04\x60\x30\xe0\x02\x93\x13\x86\x99\x3e\xe7\x34\x66\x1d\xf9\x68\x74\xf5\x93\x6f\x0f\xd3\x33\x27\x19\x76\xed\x52\xc7\x6e\x09\x42\x4f\x4b\x02\x51\x6c\xca\x10\x27\x96\x1e\xbd\x70\x54\x8b\xca\x59\xfe\x5b\xb2\xdf\xfb\xe2\x39\xf9\xf0\x41\x8c\xbc\x5b\x32\x5a\xc4\xd3\xd6\xde\x9b\xb7\xe5\xdb\x37\x6f\xdf\xb5\xda\xff\xf8\xf8\xcd\xb7\x9f\x45\x6f\xdf\xfe\xf5\x6f\xef\xf6\xda\x90\xec\xae\xa6\x2c\x35\x7c\xd4\xeb\xeb\x73\x92\x02\xff\x84\xf2\x26\x4b\x94\xba\x0a\x48\xd7\x07\xe4\x00\xb9\xb3\xc4\xa0\x54\xd1\xca\xcf\x4c\x27\x88\x5b\xd2\x95\xe0\x2f\x6f\x73\x64\x91\xe0\xad\x93\x9e\x78\x65\x3c\x65\x33\xda\x21\x25\x27\xb4\x04\x9c\xc1\x69\x55\xcd\xed\x99\xc9\x49\x44\x7f\x7d\x43\x77\x7f\x3b\xde\xfd\x8f\x77\xf2\xbf\xbd\xdd\xaf\x77\xba\xbb\xef\x9e\x1c\xec\xed\x45\x6d\x1b\xfb\xce\xea\x1b\x80\x08\xd2\x8a\x65\x69\x59\x11\x4a\xc6\x6c\x49\x80\x80\x63\x9e\x49\x71\x3d\xa3\xf1\x2d\xa1\x8b\x6a\xca\x8b\xb4\x4a\x59\x29\xe1\x2c\x17\x9a\x7f\xcb\x81\xde\x94\xdf\xf8\xde\x5e\x97\x90\x8b\xf4\x96\x91\x19\x4d\xb3\x4a\x26\x6e\xd5\x1e\xa2\x62\xb8\xf3\x2c\xad\x5a\xd1\x41\xd4\x21\xfd\xf6\x9b\xde\x3b\x2b\x02\x85\x96\x8c\x44\x58\x2f\x32\x28\xa3\xda\xd7\x8e\xd4\xfd\x06\x15\x01\x46\x62\x51\xc4\x44\xc9\x8e\x52\x51\xd5\x2a\xbb\x61\x98\xf2\x9a\x03\x0d\xdf\xa1\x38\xe9\xc6\xc3\x38\x71\x54\x90\xd7\x7c\x89\x73\x96\x7f\x4b\xc8\x3b\xbc\xa6\x60\x45\x00\x54\x4e\x2c\x00\x58\xb6\x60\x85\x24\xa4\x67\x4e\xc6\x98\xca\x8b\x20\xaf\xc2\xf3\x4b\x51\xb0\xd5\x0e\x99\xef\x37\x77\x14\x73\x88\x76\x86\xe1\x39\x20\xff\x10\x0c\x63\x9c\x08\x75\x66\x69\x6b\x58\xfe\x5b\x01\x86\xbb\x8f\x84\xc9\xac\x97\xba\x1c\x1a\xa0\xf3\x24\xdb\x94\xf0\x4b\xce\xc5\xb9\xd6\x2c\x0f\x2f\x21\xad\xf1\x98\x95\x25\x4b\x4e\x56\xaa\xfa\x0f\xd0\x70\xf1\xde\xa5\xc4\x82\x4d\xd2\x52\x30\x68\x7c\x51\xc8\x41\xe0\x08\x0a\x85\xd5\xa1\x03\x82\x3a\x0a\xf1\x54\xfc\xb7\xb2\x12\x9d\x61\x63\x0a\x6a\x55\x02\xdf\x80\x47\x34\x2b\xba\x84\x5c\xda\xfb\x03\x74\xcd\xe3\x78\x51\x10\x37\x02\xc3\x34\xe4\x36\xa0\xe0\x0a\xc4\x19\x04\xd7\x8a\xfa\xb0\x46\x8b\x0a\x63\x34\xc4\x75\xb0\xa4\xb0\x8e\xaa\x31\xb9\x10\xa2\xc6\x8c\x54\xcb\x34\x96\x72\xc4\xde\x9e\xb5\x08\x31\x15\x35\x7f\x15\xa2\x96\x34\x91\x92\xd1\x62\x04\x22\x01\x19\x31\x15\x98\x81\x30\x76\x18\x6d\x4a\x40\xf8\xc2\xa8\xf9\x52\x5c\x10\xaa\x35\x31\x0e\x16\xf3\x42\xb9\xf8\x63\x6b\x7c\xf4\xab\xb8\x4f\xa4\x0f\x2a\xa2\xd3\x09\xc2\x5a\x09\x31\xae\x62\x34\x09\xe6\x58\x06\x31\x82\xcd\x79\x51\xc1\x12\x9e\xe1\x0a\x1e\x69\x9b\x3f\x1b\x33\x8a\x9f\xae\xa1\x54\xf9\xde\x8b\xc7\xb9\xab\xba\x33\xf3\x59\xc7\x8c\xdf\x55\xdd\xcb\xab\xd7\xc3\xb3\xf7\xd7\x67\xaf\xae\xae\x6f\xde\x9f\x9e\x0f\x8f\x4f\x2e\xce\x4e\xf1\xcd\x58\x4b\x3c\xe2\xbd\x29\x16\x4c\x5d\xc6\x57\x39\x3a\x23\x43\xfe\xa6\x3d\x19\x57\x01\xd1\xcb\x89\xda\x26\xf7\x18\x10\xd6\xb5\x8f\xdc\x11\xd1\xbe\x50\x2d\xd6\x8d\xc1\x12\xf9\xef\x64\xb7\xce\xf0\x05\x62\x50\xda\x64\x6f\x9d\xc4\xb4\xc1\xb7\x4a\x59\x24\x65\x16\x4b\x33\x2c\x0d\xb7\xa9\x47\xa6\x06\xf6\xcb\xfa\x0e\x37\xf7\x29\xf1\x51\x77\x2c\x94\x4a\xd6\x15\xe7\x19\x84\x66\x63\xbe\x17\x8c\x5d\x6d\x40\xdf\x36\xc1\xad\xea\xd3\x7c\xa9\x1a\xf0\x53\x0e\x17\x56\x38\xd8\x83\xe3\xbb\xc8\xe3\x1a\x09\xd6\xb5\x1a\x06\x01\x44\x07\xa0\x09\x86\x08\x60\x74\x73\x2e\x84\xc6\x3c\xc1\x68\x28\xfb\x2a\x90\xb0\x2f\xd8\xd2\x94\x8b\x57\x70\x3e\xef\x68\xf8\x65\x79\x92\x8d\x93\xaf\x1f\x21\x06\xc2\x8e\xa6\x31\xd5\x90\x19\x0b\x3a\x55\xf1\xb9\x02\xfa\xbd\x65\x6c\x5e\x06\x5b\x02\x35\x09\x40\x0f\x8d\x99\x60\xe3\xf5\x69\x16\x07\x36\xe3\x31\xcd\x50\xc6\x34\x52\xb8\xe6\x98\x5c\x82\xde\x25\x7d\xb1\x99\x9b\x22\x86\xf4\x31\x0d\x50\xde\x16\x4d\xd8\xb9\x5b\xc8\x56\x01\x70\x10\x7b\x27\x9f\x62\xcf\xf1\xee\x01\x41\x7b\x5b\x87\xda\x59\x0f\x7e\x23\x95\xdb\x4e\x4c\xac\x4b\xb3\xea\x47\xb6\x12\xbc\x61\x33\xbd\x29\x8a\xfb\xe9\x46\x12\x12\x96\x94\xae\xdd\x49\x5a\x9a\xf4\x29\xe2\xa2\x46\xb0\x51\xb8\x24\x59\x02\x5b\x69\x5a\xa1\x59\xb5\xab\x87\x22\x49\xce\xdc\x56\xf8\xe4\x18\x3c\x14\xa4\x00\x6f\xf3\x75\xfa\xbe\xfa\x2d\xac\x2e\x49\xfb\x56\xb0\x18\xf4\x33\x04\x27\x6f\x69\xd7\x1a\x4f\x6a\xc2\xab\x55\xc7\xad\xc3\x93\x32\x16\x4f\xf4\x32\x67\x45\x39\x4d\x35\x42\x1c\x8e\x56\x63\xce\x6d\x31\x2e\xf0\x2a\x77\x06\xd6\x24\x63\x68\xe3\xce\x0d\x3f\xcb\x13\xe3\x2b\xd4\x38\x1b\x68\xda\x72\x29\x0a\x3b\x1b\x39\x74\xd1\xbc\xd5\x1e\xd5\x24\xa3\x0c\x7d\x7e\x35\xea\x41\xcc\xe7\xab\x2b\x29\xe2\x79\xe4\xf9\x7b\x44\x2a\x5b\x27\xb4\x95\x31\x8e\x18\xad\xa3\x37\x66\x33\xe0\xc7\xac\x0b\x18\x73\x82\xc0\x3f\xff\x5c\x14\x8a\xab\x22\x93\xe4\xce\xba\x33\x56\xd1\x1f\xd9\xaa\xed\x90\xf9\x29\x1b\xf1\x05\xe4\x27\x17\x37\x17\x72\x11\x06\x0a\x57\x2e\x87\x7c\x56\x21\x48\x75\xc5\x17\x0a\x70\x31\xe1\x8b\x51\xc6\xa0\x84\x45\xf1\x4a\x2b\x01\xf2\x51\x5a\x75\x94\x5e\x00\x88\x7d\x9c\x16\x0c\xa5\x44\x3c\x0b\xaa\x07\xcd\x5c\x81\x99\xd0\xb4\x06\x02\x0c\x2e\x30\x4b\x3c\xc5\xb6\x4c\xcb\x88\xb1\xb1\x69\x51\x56\xc4\x1e\xac\x92\x37\xd6\x44\xbc\x4b\xf1\xc0\xdd\x92\xda\x67\xd7\x85\x45\xcb\x15\xb6\xd4\x6f\x03\x6d\x6e\x78\xba\xed\xff\x3d\xd3\x6e\x22\x41\x4c\xf6\x8d\x37\x1a\x16\xc1\x21\x21\xff\x25\x78\x8d\x81\x58\x04\xf4\x29\x81\xf7\x7d\xb4\xa8\x2a\x9e\x8b\x26\xf6\xc9\xde\x13\x89\x3e\x28\x7f\x7c\xb2\xd7\x26\x1f\x3e\x58\x43\xb6\x8b\x9b\x76\xa1\xb5\x13\xf8\x60\x7b\xee\x18\x87\x33\x70\x28\x69\xb5\x6d\x47\x9d\x98\xe7\x25\xcf\x58\x57\x06\x58\xb4\xa2\x01\x78\x18\x03\x02\x2e\x0c\x6e\x46\xf3\x05\xcd\xb2\x15\x49\x30\x34\x65\xc9\x46\xa4\x60\x98\x72\x5d\xb0\x08\x51\xfb\xd0\xc5\x50\x5f\xb3\x2c\x8b\x79\xe4\x4f\xb6\x17\x3c\xc2\xf6\x8b\xe8\xe3\x95\x7a\xf7\x92\x6d\xfa\xf4\xde\xa5\x4f\x3d\xb5\xb5\x71\xcf\xf8\x1d\x8b\xf0\x74\xd6\x26\xd4\xb6\xc7\x6a\x71\x7c\x27\x28\xaf\xe0\xb3\xc8\xf2\x09\x9d\xd8\x03\x14\x47\x3a\x2d\xf1\x67\x8b\x39\xdb\x55\x52\x0e\x6a\xc9\x79\xae\x22\xf9\x35\x9b\xd4\xad\xbb\xb8\x85\x7a\x0a\xde\xed\x81\xe2\x96\xe7\x1e\x89\xd0\x77\xc3\x59\x8e\xbd\x3d\x72\x36\x5b\x64\x42\x7c\xa1\x85\x60\x55\x6e\xd9\x4a\x08\x45\x65\xc9\x04\x73\x47\x75\x92\xa3\x29\x63\x99\x33\x44\x4f\x8b\xfb\xb3\x28\x70\x2c\x9a\xf8\x91\xad\xca\xf7\xf5\x7b\xd0\x5d\x43\xad\x8c\x85\x44\x0c\x08\xf5\x2a\xc3\xcc\x34\x84\x6d\x5a\xbe\xb2\x61\xb5\x5a\x6d\xf7\xc0\x59\x7b\x05\xa3\x8b\xec\x33\x21\x13\x60\x57\x34\x68\x7d\x37\x23\x3e\x15\x65\x5a\xcc\x72\x49\x13\x35\x33\x99\xd4\x1f\xd1\xe2\xcb\x19\x2d\xaa\x17\x19\xe7\xc5\x69\x7a\x97\x26\xac\xe5\xdc\x2d\x00\xd3\x4f\x47\x65\x0b\xba\x6b\x77\xb6\x94\x44\x74\x66\x08\x39\x56\x0a\x43\x8d\xde\xde\xf7\x47\x57\x11\xd9\x21\xd8\x1c\xf9\x86\xf4\xc8\x77\x24\x3a\x89\xc8\x01\x89\x8e\x23\x6b\x9c\x4a\xd3\x2d\x78\x6d\x99\x0c\x5b\x34\xd2\x2d\xd8\x9c\xd1\xaa\x05\x53\x68\xdb\xdd\x34\xfb\x03\x7f\x34\x4f\x35\xf2\x25\x7b\x4f\xcc\xf6\x06\xde\xec\x27\x7b\x35\x87\xf4\x6d\xce\xc4\x16\x17\xa9\x14\x6c\xee\x82\x67\x06\xac\x97\x10\x84\x23\x9a\xb2\x24\x06\x1d\x25\x81\x15\xc4\x78\xed\xf6\x80\xdb\xd7\x20\xbf\xdd\x6d\x0f\xb3\xc7\xd6\x6d\x77\xc6\x1c\xb1\xf6\x59\xdb\x8b\x25\xde\xd4\x86\xf2\x84\x35\x22\x68\xa0\x11\x8b\xa1\x0f\xde\x63\xde\x6a\x5e\x4d\x95\x3c\x64\x39\x06\x25\x05\x9d\xec\xaa\xa3\x4d\x0d\x33\x4d\x8e\x5f\xdc\x9c\x5d\x5b\xcc\x26\xf0\xcb\x76\x73\x69\x2e\x91\x2c\x40\x83\x88\xb8\xac\x9c\x93\x4c\xa2\xa2\x36\xde\x78\xde\xb2\x3f\x94\x0d\xdd\x86\x7c\x8d\x96\x5d\xe9\xfe\x2c\x4f\xf6\x35\xcf\xd5\x83\xdf\x1f\x00\x33\x01\xb5\x07\xb2\x6b\x3c\x27\xb2\x3d\xb1\x3c\x72\x61\x60\x5d\x2b\x36\x9b\xf3\x82\x16\xa9\x78\x5f\x6d\xd1\x84\x50\xad\x47\xb3\x45\x93\x2e\x21\x57\xb9\x28\xcb\xb1\x65\x2d\xf2\x1a\x76\x4b\xb0\x87\xa8\xd2\xe7\xb0\x97\xb6\x26\x0a\x34\x62\xe9\x6c\xc6\x92\x94\x56\x2c\x5b\x91\x5b\x99\x7a\x1b\x42\x5e\x4b\x5f\xa4\xd9\x46\x70\x70\xa2\xa7\xd0\x77\xbc\x54\x61\x4a\x42\xe0\x2e\x50\x5a\x4f\x4b\x99\xf3\x72\x05\x28\x17\x70\x2a\x73\xbe\x24\x74\xc4\x17\x95\xa3\x07\xb0\xd5\xb1\xc8\xe7\x1a\x5c\x6d\x15\x2c\x4d\x49\xce\x8b\x19\xcd\xc8\xe9\xd5\xa5\x02\x80\x31\x3c\xa5\x5c\xc0\x24\x01\xe9\x98\x66\x90\x22\xc2\x92\xca\x23\xd0\x46\x44\xae\x9c\x1d\x59\xca\xdd\x3f\x4b\x3f\xeb\xab\x67\x89\xe3\xa8\x26\x04\xcc\x25\xea\xa9\xe3\x45\x29\xa1\x19\x6b\x63\xd1\x01\xc3\x12\x4e\x02\x43\x86\xd3\xb1\xfa\x5b\x45\x0a\x3b\xd9\x40\xd7\x0e\x0d\xc0\xdf\x07\xd0\x9b\xa3\x40\x96\x0d\x36\xe5\x29\x08\x40\x63\x74\xd4\x20\x6c\xd0\x44\x1b\x98\xc3\x18\xdf\xd5\xe8\x8f\x8e\xf0\x16\xb5\x0d\xf0\x8d\x30\xef\x8f\xc2\xeb\x55\xb9\xb9\x19\x2d\x88\xa4\x8d\x73\xc7\x6a\x01\x73\xa0\xbc\x87\x1b\x03\xeb\xd7\x8c\x46\x3a\x12\x02\xf7\x9c\x58\x1e\x63\x7a\x84\x6b\xc9\x4b\x50\x34\x32\xde\x0f\x25\x31\xe0\xfe\x43\x26\x00\x8b\x7f\x40\x17\x62\x15\xab\xda\xda\x7b\x9b\xef\xcd\x26\x1d\x12\xbd\x95\x71\x33\xb2\x58\xd0\x1e\x2e\xbe\x19\xe7\x09\x47\x49\x38\x2a\x68\x7c\xcb\x2a\x96\xc0\x18\x70\x2f\x6d\x8e\xe5\xcd\x7e\xaf\xf7\x9f\x82\x6b\x81\x1f\x77\xf4\x8f\xfd\xff\x8c\x1c\xab\xbc\xc7\xab\xac\xdd\x71\x0c\xd2\x2f\xa4\xd1\x47\xf0\xfa\x96\x6f\xfe\xf6\x6b\x0d\x15\xb5\x55\x66\xed\x02\x0f\xf8\x7c\xd5\x64\x62\x41\x2e\x67\x51\x32\xf9\xfa\xfc\x0c\xf6\x6d\x51\x43\x3d\x0a\x4d\xef\x93\x2f\xb4\x36\x49\x2d\x4e\x96\x88\x5e\x20\xb7\xc9\xba\x03\x81\xc8\xa0\x9e\xf3\x3f\x3c\xfa\x1a\xa1\x40\xde\xd9\x42\xf0\x4b\xd2\x82\x01\xbe\x88\x32\x72\x89\xfd\x47\xc6\x00\x00\x6e\x51\x69\x0a\xfa\x51\x79\xbd\x22\x7a\x81\x9f\x72\x48\xf0\x15\xb4\x22\xb7\x29\xba\xec\x41\x2b\x23\x96\xf1\x7c\x52\x62\x36\x35\x83\xbe\x0a\xf6\x9e\x27\xc4\xc1\x58\xed\xa8\x27\x4c\xbc\x96\x31\xcd\xc5\xcd\xcf\xee\x59\xbc\x10\xe7\xca\x81\xdf\x50\x1a\x6e\x78\x5a\x15\x20\xe8\xbc\xe0\x93\x82\xce\x66\xb4\x4a\x63\x82\xde\x35\x78\xa7\x6e\xdc\xe8\x6b\x58\xad\x06\x27\x01\x54\xb6\x0e\x64\xa6\x29\x2b\x0d\x5a\x8d\xaf\x17\x8c\x02\x48\x26\xe8\x57\xb5\xc1\x40\x41\xb6\x36\x18\x7c\xf8\x40\x7a\x87\x26\x8f\xa3\x1a\x4a\x83\x30\xd2\x3c\x2c\x85\x45\xbb\x5e\x17\xb2\xa5\xe1\x04\x07\xa5\x93\x6d\x99\x35\xfa\x46\xc8\xf8\x1f\x3e\x98\x91\x8a\x1f\x5c\xa3\x23\xbd\xe3\x69\x22\xa5\xdc\x32\xad\x16\x78\xe3\xcb\xc8\x65\xe0\x19\x24\xe8\x4a\xc9\x67\xac\x4a\x67\xcc\x62\x7c\x14\xb1\xa9\xe6\x26\xac\x12\xe4\x2e\x38\xdd\xc4\x5c\x08\x1a\xc4\x90\x17\x24\x59\x14\xca\xb0\x9f\xe6\x69\x95\xd2\x8c\x64\x9c\x26\x1d\x69\xa3\x40\xeb\x9f\x6a\x2e\x61\x34\x53\x8a\x36\x5a\x29\x5b\x21\x1e\x1d\x41\x92\x60\x88\x94\xa3\x4b\xc7\x80\xe9\xc2\xb4\xeb\x83\x7b\x15\x89\x8f\x31\x88\xd2\xa5\x6d\xe8\x30\x90\x57\x82\xe8\x3a\xc0\x85\x8b\xf1\x09\x7e\x2d\xbd\x43\xf7\xae\x9e\xe0\x93\xee\xd0\x8a\x22\xad\xee\xe2\xd2\xeb\x91\x3b\x9a\x2d\x58\xd9\x68\x2d\x4c\xcb\x97\x6c\x29\xfd\xd1\x9c\x4d\x79\xdc\x94\xdc\xce\xd1\x32\xe9\xff\xe9\xbd\x0b\xd4\xb3\xe5\x55\xdc\x4e\xc5\x9c\x8a\xdb\x4e\x65\x3a\x07\x00\xa3\x24\x4d\x04\x03\x8a\xa7\xb0\x83\x06\x56\x04\xb3\x03\xef\x11\x76\xc7\x8a\x15\xa6\x1a\x4e\xcb\x47\x4a\x9a\x90\x00\x38\x8a\x9d\x80\xfb\x41\x74\xfc\xde\x9e\x50\x47\x0f\xd1\x82\xa1\xf3\x20\x50\x1e\x00\xaf\xf0\xf8\x48\xe5\x4a\x15\xd4\xac\x57\xd1\x62\x52\x2c\x5f\x3f\x1f\xab\xd9\x67\x77\x1e\xc8\x4a\x0c\x59\x71\x97\xc6\x0e\xf2\x1f\x22\x0d\x5b\xf0\xc5\xeb\x9f\x29\x0b\x83\x34\x8c\xff\xf3\x38\x64\xe2\x73\x20\x48\xb7\x04\x14\x6d\xb2\x1e\x3e\x04\x43\xcd\x90\x5c\x83\x31\x49\x87\xf0\x41\x14\xa3\xe3\x2d\xb5\x11\xf1\x95\xd4\xd5\xc5\x1e\x94\xb2\xf7\xfa\xce\x56\x57\xce\x02\x3e\x44\x4f\xec\x0c\x0a\xaa\x0f\x56\x71\xc6\xde\xbf\xe9\xbd\x6b\xc8\x98\xb6\x15\x12\xee\x3f\x7f\xfc\xfd\x77\x01\xa0\x0c\x09\xd2\xac\x8d\xca\xeb\x70\x9a\xeb\x85\x2c\xa8\xe6\x3b\x21\x74\x81\x41\x4d\xdb\xa7\x7d\xd8\x66\x70\xfb\xfb\x53\x80\x9b\xc3\xc3\x7f\x38\x76\xb3\x8e\x2c\xde\x02\xbe\xd9\xcb\x6c\xe7\x57\x95\xe5\x83\x90\xd8\x8e\xb6\x15\x3c\xe3\x67\x08\x27\x96\x82\x6b\x8d\xc9\x60\x87\xc9\xd5\xc8\x94\x2f\xc9\x98\x96\x58\x79\x4e\x27\x98\xe0\x08\x1a\x01\xb5\x84\xa7\xb6\xad\xad\x65\xdf\x5f\x4a\x05\xc6\x61\xba\x45\xa1\xd8\xfc\xb9\x6d\xea\x9b\xa1\x51\xb2\x5e\xf2\x3b\xa6\x60\xd1\x0a\x07\x04\x43\x37\xbb\x69\xf9\xea\xed\xd8\x95\x5d\x17\x76\x21\x5f\x12\x2a\x96\x91\x8d\x9c\x74\x73\x25\xc1\xb8\x4d\x78\x73\x9d\x14\x81\x9b\xf0\x27\x1b\x64\xd6\x06\xb9\x32\x9c\x3e\x6d\xcc\x8b\x33\x1a\x4f\x4d\xf4\xb5\x65\xc4\xc9\xb1\x87\x96\x83\x56\xb4\xa6\x2d\xe9\x61\x79\x24\x78\xb2\x8f\x87\x8f\xf6\xf6\xc8\xf0\xea\xf5\xf5\xe0\x8c\xbc\x38\xbf\x38\x3b\x40\x77\xf1\xbd\x5f\xcb\x3d\xf8\xc7\x7b\x35\xd5\xf7\x29\xef\xfe\x5a\x8a\xd2\x42\x70\x41\x0b\x54\x2b\x6e\x93\xfd\x5e\x7f\x1f\xb6\x19\x4c\x84\xe9\x62\x46\xae\x86\xe4\x18\xfc\x10\xcb\x2e\x39\xce\x32\xb4\x56\x61\x92\xa4\xe2\x4e\xc8\x19\x7b\x7b\xe4\x75\xa9\x01\x41\x09\x86\xb3\xa2\x04\x90\x96\x64\x22\x9e\xcf\x1c\xd7\x99\x92\x93\xe1\xe9\x2e\x42\x5b\x66\x69\xcc\x72\xe5\x5c\x85\x1c\xbf\x68\x69\x0c\x39\x56\x24\x8f\x7f\x71\x3e\x38\x7b\x39\x3c\x23\xe3\x54\x5c\x0c\x8f\xa2\x45\x89\x81\xc6\x71\x25\x64\x49\xc1\x04\x17\x55\xc2\xe6\xad\x48\xfc\x13\x45\xd7\xd7\x37\x2f\x9e\x43\x48\xaa\x76\x9c\x9f\x2f\xaa\xbd\xab\x45\x05\x70\x8a\xe0\xe6\x41\x63\x90\x28\x61\x44\x3a\x33\x0e\xc8\x95\xb3\xd9\x22\x17\x6b\x6b\xa5\x1e\xf5\x73\xaa\x0e\x54\x85\x2c\xbd\x65\xe4\x6f\x39\x2d\xcb\xe9\xdf\x80\x59\xfb\x5b\x5c\x70\xf1\xef\x82\xc5\x2c\x05\x06\x0e\x3c\xbc\xa8\x60\x6c\xd5\xda\xc4\x19\x2d\x4b\x82\x09\x51\xe7\x26\x6f\x52\x5a\x10\x5a\x4c\xee\xa4\xaf\x98\x3a\xdc\x90\xa7\x47\xb9\xaf\xa9\xf4\x47\x15\x66\x4e\x2c\x18\x35\x2c\xaf\x9d\x12\x01\x46\xce\x17\x15\x61\xf7\x73\x5e\x4a\xe6\x77\x86\xd5\x08\xcb\xab\xb4\xf0\x71\x33\xf5\x28\x6d\x6d\x1c\xa6\x8e\x51\xcb\x83\xa1\x48\x96\x8a\x8f\x11\xd7\xa9\xbe\x8d\xc9\xf3\x8c\x48\xdf\x26\x33\x56\x4d\x39\xe6\xb7\x73\x67\xaf\xd1\xf3\x2a\xae\xd7\x4a\x87\x17\x94\xba\x21\xc2\x71\xcf\x14\x92\x2c\xfa\xe5\x42\x2a\x2f\x56\x56\x69\x4e\x2b\x2b\xcf\xcc\x79\xc9\x33\x5a\x39\x69\xfb\xb4\x3c\xa0\x57\x66\x5e\x70\x21\x25\xa1\x44\x6b\x02\xa3\x46\x2c\x67\xe3\xb4\x2a\x0f\x44\x43\xbb\xe4\x95\x2a\x45\xc9\x8c\x09\xf6\x35\x2d\x31\xe1\x2d\x95\x4c\xb9\xcc\xd1\xe1\xae\x80\x37\x7f\x84\x0e\xd2\xde\x94\x98\x45\x23\xbf\xe3\xe0\x88\x5d\x2e\x46\x7a\x94\xad\x92\xe1\x7a\x42\x42\x45\x5c\xc6\x39\x9f\x9b\xf5\x03\x97\x55\xb2\x0b\x9b\x92\xe2\x2c\x79\x0e\x29\x34\x4a\x40\x07\xa5\xa5\xbc\x88\x21\xab\x86\x54\x24\x8a\x35\xd6\xdb\x0b\x23\xc3\x30\x61\x3d\x32\xd8\x09\x21\x5a\x49\x62\xc1\x27\xc4\x5e\x3f\xd9\xed\x79\x0e\x3d\xbf\x58\x54\x82\x6b\x37\x39\x11\xe9\x8a\x14\x0b\xf0\x36\x13\x17\xeb\x92\x17\xb7\x72\x9e\x85\x94\xe2\x96\xa8\x15\xce\xb3\x15\x28\x71\x47\x19\xc3\x9e\xc5\x76\xd2\x0c\x72\xb2\x53\x52\x23\x41\x9d\x6f\x9f\xe6\xe4\xfc\xd5\xc0\xec\x80\xff\x36\xb9\x24\x1c\x0c\xd2\x3d\xbf\xb2\xaf\x64\x45\x05\xd6\xd5\xac\xaf\x42\x72\xa4\x89\x44\x89\x36\x62\xd2\xe7\x57\xca\x79\x13\x28\x55\xed\x3a\x39\xbf\xea\xc2\x16\x69\x49\x45\xc5\x47\x9e\x5f\x19\xb8\x8a\xff\xc5\x19\xfb\x5f\x9c\xb1\xff\x62\x9c\x31\x41\x97\x1b\xa1\xc6\x14\xc8\x45\x0d\x6e\xcc\x3d\x12\x4e\xf8\x5a\xb0\x92\x43\xe2\x10\xa7\x43\x73\x32\x2e\xe8\x4c\x83\x89\xa8\xb0\x41\xeb\x69\xca\x13\xbe\xec\x90\x39\x17\x0f\x71\x62\xc2\x3c\x65\xb2\x79\xd1\x92\x8c\xef\x81\x8c\x63\x82\x55\x45\x7f\x94\x25\x8b\xb2\xcc\xca\xeb\xcd\x64\x1e\xab\x3d\x85\x52\xb1\x27\x3d\xaf\xc5\xe5\x28\x85\xdd\xae\x3a\x3f\xa0\x3d\x96\x54\x0e\x3a\x1c\x79\x21\xa9\xac\xf4\x7b\xa8\x31\xc5\x67\x41\x4c\x60\x5d\x7c\xd7\xcd\x94\xe9\x18\x2f\x4e\x35\xa7\xa2\xeb\xe9\x4a\x57\x70\x75\x20\x89\xc9\x11\x91\xab\x39\x5a\xa9\xe4\x3a\xa9\x81\x12\xf2\x92\x57\x24\x9d\xcd\x11\x43\xa4\xc1\x96\xe1\x6c\x2f\x32\xaf\x2f\xa0\x19\x37\x62\xac\x63\xf7\xe8\x00\xcd\xe4\x6c\x29\x9f\x7e\xa8\xd7\x72\x77\xbc\x43\x6a\x95\x5d\x56\x1a\x9e\x16\x7c\xab\x0a\x05\x7c\x29\xb6\x44\x30\x67\x3a\xf2\xc1\x67\x97\xe4\x6a\xc8\x62\x10\x25\xac\x97\x53\x2c\x65\x0e\xeb\x30\x6e\x6a\x56\xbc\x12\x82\x13\xa1\x55\x58\x93\xeb\x92\x3c\xab\xd4\x87\x57\xb2\xbe\xb5\x34\xd6\x10\xc2\x04\xcf\x2a\x59\xcb\x29\xea\xae\x01\xac\xba\x0c\xe9\xab\x3f\x37\xfa\x15\x03\x96\x49\xbc\xc7\x69\xa5\x38\x29\xe9\x4e\x7a\xa3\x55\x98\x4f\xd4\xe3\x42\xcb\x92\xc7\xa9\xb1\x06\xa3\x01\xb5\xc6\x93\xa5\x90\xda\x1e\xf8\xd6\x8a\x93\xb9\xb8\x50\x62\x9e\x57\x05\xcf\x6a\x17\xa8\x78\xb8\xc6\x63\x7c\x62\x0d\xb3\x81\xc9\x51\x81\x5b\x92\x0f\x98\xe4\x31\x94\xbe\x5d\xb5\xad\x9e\x3a\xd5\xbc\x31\x3c\xeb\xb6\x04\x27\x30\xcf\x58\x53\xe6\x17\x67\x5b\x04\x67\x13\x56\xaf\xa7\x5c\x3c\x97\xa1\xa5\xf4\x68\x13\x4d\x51\x5c\x9b\xa9\x06\x74\x2e\xf8\x91\xe4\xbd\x6f\xbf\xd2\x1f\x50\xa1\xc7\xbb\xae\x06\x5f\x1a\x5d\xf4\x4f\xb2\x59\x4b\xb1\x8e\x9a\x3d\xf9\xb7\x6a\xc4\x7d\xdf\x3d\xba\x49\xf9\x61\x9d\x98\x60\x66\xe2\x8b\x39\x7d\xe2\x2f\xc7\x84\xa3\x9c\x06\x0c\x51\x44\xa5\x41\xa3\xd0\xcc\xc7\x16\x0b\x0c\xde\x26\x21\xe1\xd3\x1b\x90\xcf\xac\xb8\xb4\x8d\xea\x6c\xd8\x6c\x30\xdd\x89\x4b\xb6\x54\x3a\x5b\x69\x9e\x74\x40\xd4\x25\x59\x29\xc1\x68\x9d\x3f\x80\xc5\xea\x3b\x39\xdf\xf9\x98\xcc\x65\x7c\x00\x38\x2c\x6d\x8e\x51\x86\xa1\x81\xde\xa1\x21\x13\xbf\x77\x25\x28\x8e\xbc\x29\x00\x79\x6f\x8f\x5c\xd9\x43\xed\x3e\x32\x7e\x92\x19\x9f\xb4\xa2\xd7\x39\xb2\xf1\x36\x7b\x7f\x40\x64\xc0\x9b\x68\xa6\x71\x15\xa9\x39\x91\x6b\x23\xb2\x3f\x75\xe5\x8c\xd0\x64\x73\x8b\xa6\x2b\x58\x2a\xa5\x5e\x43\xe9\x38\xa9\xa7\xe8\x88\xc4\xb4\x76\xe1\x73\x9a\x4f\x22\xb4\xa6\xa9\x8b\x78\xbb\xa0\xf1\x5b\xb6\x22\x25\xfb\xfb\x42\xd5\x58\xbf\x27\x5b\xc5\x85\x6f\xb1\x2d\x7c\x04\x0a\x88\x22\x71\x42\xde\x71\x6b\xfe\x32\xbc\x7a\xd9\xc5\xf6\xd2\xf1\xca\x0b\xef\x5e\x3f\x38\xf5\x7b\xc0\x30\x08\x66\x93\x0e\x51\x66\x30\x75\x8d\xf1\xd1\xaf\x16\x66\xbe\x04\xa0\xe0\xa3\x5f\x95\x4a\x87\x8f\x7e\xf5\xee\x21\x68\xe8\x50\x7f\xb4\xee\x1f\x6c\x5b\x7f\x22\x47\x50\xc0\x39\xb3\x4e\x34\xa5\x37\x5c\x6f\x88\x8d\xa4\xa9\x09\x13\x18\x9f\x54\x79\xa0\xfc\x6e\x92\x44\x4e\x2a\x4c\x35\x1f\x04\xd3\x37\x11\x5c\xb7\xc5\x10\x26\xd5\xb4\xbb\x55\x51\x9c\xd1\x36\xd4\xe5\xae\xc8\x86\xfd\xab\xd3\x99\xb5\x62\x3f\x83\xc6\x85\x02\xdc\xc1\x73\x7d\x82\x46\xab\x8a\x79\xc0\x7b\x0d\x5c\x4f\xe8\xb8\xb8\x6d\x99\x66\xe6\x45\xda\xe0\x96\xe0\x4c\x0f\x94\x40\xaf\x6f\x5e\x3c\xdf\x08\xa8\xe0\xdc\xfd\xd2\x96\xa7\x8c\x5a\x05\x5f\x92\xe8\x18\x53\x6b\xeb\xce\x55\x24\x94\x64\x58\xcc\x03\x64\xf9\x6d\x58\x8d\xaa\x64\xed\xad\xd0\x35\xf8\xe0\x95\x93\xfa\x18\xa9\x94\x2b\xb2\x5a\xaa\xe0\x3f\x69\x29\xb3\xfc\xff\xc5\xc5\x04\xb7\x99\xe2\x6d\x1e\x35\xaf\x6a\xff\x4b\xf2\x17\x7a\x47\x87\x71\x91\xce\xab\x4f\x27\xc7\x07\xaf\x1a\xce\xee\x68\x2b\x22\xed\x7f\xd9\xb4\xb0\x30\x7f\x4d\xcb\x2d\x57\x7d\x1b\x46\xe3\x78\x05\x1d\x6f\x3f\x79\x87\xa2\x80\x63\x97\x10\x52\x7f\xce\x92\x64\xf9\x36\x8b\x02\xe4\xb6\xcd\xb2\x20\x5d\xae\x5d\x98\x8d\x8a\xfe\xfb\xea\x3d\x35\xb0\x45\xff\xb3\x94\xfd\x80\xff\x5c\xda\x8a\xfe\x01\xcf\xcb\xaa\x58\x80\x4d\x5f\x48\xa3\x0e\x6a\x93\x3c\x7d\x36\xa3\x54\xea\x1f\xc9\x0c\xd2\x3a\x00\x28\x2a\xea\x7e\x30\x8a\x49\x2d\x1d\x29\x17\xf1\x94\x50\x08\xef\x97\xf8\xd3\x7b\x90\x15\x46\x23\x56\x13\x18\x4e\x87\x8c\x78\x06\x4e\x99\x69\x5e\x75\x48\x5a\xd1\x2c\x8d\x3b\x68\xd1\xef\x90\x45\x9e\xb0\x42\x90\x20\x3a\x9f\x88\x99\xdd\x32\xa9\xee\xd4\xc3\x72\xc6\xac\x64\xc0\xd2\x17\xd0\x62\x35\x55\x42\xa5\x5f\x1b\xb8\x6e\xb1\xc2\xe8\x10\xa4\xa6\xd7\xe6\xd7\xcd\x84\x20\x4c\x52\x1c\x17\x56\x56\x60\x16\xb8\x4f\x4b\x50\xfe\xba\x8d\x8d\xd1\x4f\x4b\x88\x7a\xb4\x4a\x47\x69\x96\x56\xab\x7a\x2e\x25\x8b\xc4\xd4\xd9\x8a\xcd\x56\xd8\x67\xed\x87\x9b\xcb\x8b\x53\xe9\x9c\xf3\xd1\xb8\xe9\xdc\x80\xb9\x12\xda\xd2\xbf\x49\x7c\x1a\xe0\x55\x40\xd5\xa1\x35\xd7\x04\x04\x46\x67\xa0\x9e\x0c\x6a\x83\x75\xd9\x07\x4d\x35\x6e\x1d\x35\xed\xe8\x4d\x8e\x74\xdf\x87\x5a\x01\x5c\x32\x9d\x11\xd2\xc5\x80\x90\x44\x2f\xc5\x6e\xc4\x3f\xa7\x25\x61\x69\x35\x65\xc5\x81\x04\x60\xbc\x1e\xbc\x3f\x3d\x7b\x71\xfc\xfa\xe2\x86\x90\x16\x78\x2d\xf3\x1c\x08\x4b\x3a\xf5\xb4\x4d\xb9\xeb\xef\x4f\xd0\xf4\xd7\xd2\xaa\x30\x71\x28\xa2\x62\x32\x6a\x91\xa2\x43\x26\x1d\x32\x6a\x47\x62\x3f\x66\xb2\x16\xea\x2f\xa5\x25\xbf\x55\x43\x6b\x4a\x01\x1d\x0c\x9e\x20\x1c\xdd\x9c\x66\xac\x42\xeb\xd1\xa2\x04\xdf\x16\x98\xbf\x21\x68\x17\xdc\xd6\x1a\xbc\x31\x3e\x6a\x6a\x5f\x53\xd6\x5e\x3b\x1b\x40\x83\xc6\x53\x14\x75\xc1\x89\x49\x2b\x08\x61\x6c\x95\x58\x60\x0c\x36\xf4\xc7\xf3\x48\xa3\x4b\xd4\x7a\xb7\xf7\x23\xa6\x39\xcf\xc1\xad\xc0\xf8\x48\x79\xf3\x53\xa3\x95\x23\x7d\x3f\xb8\xba\xb8\xba\x0e\xcc\xad\xa1\xdc\x23\xe3\x20\x2f\xf6\xee\x85\xdd\x2e\x6c\xd3\xfe\xb3\x67\x1d\xa2\xfe\x4f\xdb\x40\x9c\xcb\x0a\x27\x76\x07\x50\xa1\xd7\x21\xe2\xff\xb5\x2d\x7e\x40\xdc\x1e\xb6\xbb\x3d\x4e\x81\xc2\x7b\xeb\xfd\x8a\x77\x4b\xed\xe7\x91\x4a\x32\xee\xfc\xaa\x6f\x9e\xda\x17\xe7\x12\xaa\x77\x22\x6d\x0b\x81\xdf\x8d\xe3\x83\xf3\x65\x19\x4b\x18\x5d\xf7\x67\x5a\xc6\x69\x2a\xbf\xa8\x30\x1a\xe9\xe9\x92\xb1\x53\xf4\x1d\x96\xe8\xa5\x3a\x9c\x2f\xe3\xc5\x2b\x49\xb4\x06\x01\x5c\xf9\x5d\xb1\x6a\x60\x15\xf0\x9c\xaa\xce\xc7\xd8\x3d\xa0\x5d\xa5\x93\x5c\x69\x59\x60\x79\xf5\x6d\x15\x54\xac\x8d\xe1\xed\xd0\x58\x25\xa0\xa8\xa7\x58\x51\x2c\x05\x26\x8e\xa5\x15\x22\x68\x27\xe9\x18\xa4\xe4\x4a\x1b\x32\x74\x8e\x57\x19\xb1\xb0\x44\x3c\x7c\x59\xb5\xf9\x96\xb2\xb8\x04\x84\xb6\x3e\x41\x4a\x90\x70\x1b\x66\x5e\xe2\x87\x0e\xdc\x8c\x23\x7c\xc4\xf1\x19\x24\xad\x74\x4c\xe8\x1d\x4d\x33\x51\xb9\x0d\xd3\x80\x41\x83\x03\xb8\x3d\xd1\x92\x55\x2a\x66\x5e\xdc\x11\x73\x96\x27\x2c\x57\x56\x68\x62\x75\x2e\x0b\x3e\x70\xcc\xc7\xe5\x49\xa1\x12\x2c\x3a\x63\x3f\x26\x78\x3d\xb1\x0c\x1f\x2f\x9a\x57\xda\xf9\xf1\xb3\xe5\x94\x56\x0a\x3c\x4b\xbb\x3c\xe2\xdd\x00\xe3\x94\xc6\x63\xbc\x3e\x3f\xdb\x6a\x48\xce\xf1\xd5\xfe\xb2\x12\xa9\x3b\x5f\xcc\x5a\x91\xcd\x3a\x1c\x9b\x41\x49\xe6\x4f\xbd\xb4\x78\x1f\xaf\x70\xd7\x35\xaf\x23\x47\xe6\x5d\xe8\x5b\x0d\xcc\x7e\x16\x8e\x48\x24\xab\x8a\x4b\xe0\x81\x83\x71\xdf\x21\x6a\x46\x45\x11\x92\x0b\x3c\xac\xed\xf7\x43\x9b\x59\x8a\xad\x07\x2a\xde\x25\xbc\xae\x22\xb3\x58\x37\x8e\x8b\xad\x04\xb7\x81\x28\x30\xa5\x2c\x58\xe2\x21\x10\x6f\x74\xce\x13\xe6\x7a\xda\x84\x94\xdb\x0f\x67\x10\xb6\x9a\x42\xc9\x2a\xd5\xda\x27\xf1\x01\x21\xc5\x7f\xc2\xd8\x1c\xe3\x08\x14\x07\x6c\xb4\xb4\x0e\x84\x74\x68\x6c\x1f\xc9\xf1\xda\x06\x36\xce\x28\xce\x78\x1e\xc0\x9b\xd4\x98\xa3\xb6\x2e\xdd\x6e\xa2\x05\xa0\x6e\x70\xbd\x8a\xbb\xa1\x25\x2a\xdc\xb2\x95\x3a\x5b\x4a\x51\x55\xdc\xbd\xb9\x65\xab\x77\xf2\x0d\x84\x7f\x6b\x75\x53\x71\xe7\x5f\xca\xb5\x8b\xba\x1b\xf3\x3c\xa6\x32\xd8\x41\xae\x43\x71\xe7\x6b\xbd\xa5\x77\x9b\xc1\x14\x85\xeb\xa7\xce\x45\xc2\x7d\x95\x70\x56\x42\x98\x82\xf4\x71\x43\xd7\x36\xec\x8d\x80\x20\x12\x78\x0d\xa4\x31\x0a\x5c\xb8\x9f\x90\xf3\x0a\x8d\x7e\x0a\x73\xd7\x6a\x49\x3c\x3f\xa0\x25\xed\xa0\x2d\x5b\x74\x24\x6e\x25\xc1\x7f\x6e\xb5\x1f\xd0\x79\x83\xee\xfd\x0f\xe7\xad\xfe\x68\x9e\xe6\xff\x7f\x5c\x47\x98\x10\x7d\x06\xd9\x7e\x85\xc0\x3d\x73\x7b\x52\x18\xb8\x27\x24\x44\x16\xde\x21\x32\xb2\x6c\xf3\x51\xc2\x45\x5b\xe5\x31\x34\x5f\x7a\xec\xce\x8d\x10\xe2\xd2\x71\x83\x4c\x46\x12\x56\xc6\x45\x2a\x84\xc7\x5c\x42\x2d\xdb\x4c\x81\xbe\xae\xb4\xdb\xac\x0a\x31\x7c\x70\x73\x1b\x57\x28\x2d\xa5\x7f\x44\x63\x26\x94\x56\xc3\xc1\xa9\x9f\x06\x1b\x43\xa0\xf1\x0c\x6d\xaa\xf6\xd8\xd0\x7f\xe0\x77\x3c\x02\x81\x0f\xf2\x14\x84\x9a\x82\x83\x10\xf8\x60\xce\x42\xe0\xa3\x7b\x1c\x42\x1d\xca\x13\x11\xfe\xa4\xd1\xba\x6a\x1f\xe5\xb9\xa8\x2f\x95\x39\x19\xf5\x6f\x86\x25\x97\x50\xa0\xe1\x77\xd0\xd5\x14\xb4\x28\x62\x75\x83\x3b\x93\x06\xf8\x6e\xcb\xe0\x5c\x99\xcb\x1c\x7c\xd4\xaa\x78\xaa\x3c\x16\xb7\x7b\x01\xa4\x89\x1a\xcc\x58\xb1\xea\x7d\x9e\x81\xe8\x67\x90\xc4\x95\x01\x1c\xc3\x31\x15\x6d\x76\x64\xa4\x19\xcd\xc1\x49\x08\xc7\xe8\x95\xc5\x92\x5d\x42\x4e\xd1\x51\x1c\x70\x37\xf9\x98\xcc\x78\xce\x01\x28\x95\x2c\xd3\x84\x99\xc8\x1d\xd1\x1e\x8a\x08\x3c\x27\x31\x2b\x40\x08\x45\x1c\xec\x92\xb4\x58\x77\xd2\x55\xe0\x3a\x57\xc3\xb6\x03\xb8\x3b\x5f\x54\x84\xd1\x78\x1a\x68\x10\x91\xd0\x61\x05\xc7\x64\x30\x1c\x4a\x4f\xc9\xa8\xbb\x8c\x77\xc5\x04\x23\xc9\x61\x4d\x69\x29\x11\x7e\x64\x68\x9a\x65\x41\x39\x13\x4d\xdf\x55\xef\xc5\x06\xa2\x91\x34\x45\xdf\x7b\x78\xfd\xb4\x8a\x40\xe9\xe6\xa0\x37\xb5\x3f\x90\x7e\x1a\xf6\x44\x8d\xaa\x83\xdf\xf4\x58\x98\x18\x8d\x68\x51\x06\x54\xc3\xbf\xdf\x7f\x33\xc9\x56\xf3\xa9\xd4\x46\x7c\x1b\x35\x29\x57\xc1\x6d\xc8\x4a\x67\xa3\xdd\x60\x60\x13\x62\xf9\xab\x72\x21\x11\x4c\x8c\x26\xad\xae\x73\x4b\x89\x5d\x14\x74\xfb\x91\x1c\xdb\x5b\xca\x0b\x43\x0b\x6a\x47\x1d\x72\x53\xb4\xa6\x54\x48\x2e\xad\x6d\x66\xbb\x80\xee\x06\x9a\xdc\xad\xfb\xcb\x9b\x9a\x67\x36\xd0\x57\x9e\xc2\xe1\x91\x13\x71\x99\x4e\xd9\xbe\xe8\x5e\x4c\xae\xd6\xa6\xc9\x97\x23\x26\xbb\x29\xff\x90\x28\x14\xe9\x8c\x39\xa5\x4c\xa2\x2e\x7e\xc5\xb0\x13\xf5\x45\x6d\xeb\x11\x79\xf3\xce\xcd\x7d\x66\x71\x18\x8f\x43\xac\x83\xcc\xb2\x54\x4f\xfe\x67\x2a\xba\x0d\x5a\xac\xc8\xc6\x06\x1b\xd2\x00\x9a\x9f\xdd\xa6\x2d\x91\x55\xa1\x37\x88\x0b\xdd\x6e\x51\x9c\xd6\x9f\x75\x86\x7b\xf1\x35\xf2\xe6\x2b\x6e\x7a\x59\x43\x2c\x93\x62\x7e\x34\xda\xa5\xd9\x4f\xb8\xfa\xfd\xc6\x75\x5a\x7f\xfc\xec\xb5\x3e\xb2\x63\xad\xe4\xa2\x83\x4f\x4c\x2b\x82\x4f\x78\xc0\x55\x80\xb0\xe8\x1f\x7e\xf6\xd4\x25\x3a\xcc\x4f\x10\xc6\xa9\xf1\x75\x53\xa8\x7b\xba\x3b\xfd\xd4\xe8\xe0\x29\xb7\xc2\xce\x11\x89\x8c\x2e\x3a\xb2\xba\xb5\x19\x36\xd3\xad\x0d\xee\x63\x3f\x54\xeb\x9a\x17\x8d\xec\xca\x72\x76\x0f\x3e\xe3\x57\xeb\xc5\x69\x4b\xe7\x1c\x42\x48\x15\x7f\xde\xee\x0f\xf5\xb8\x34\x7c\xfd\xc2\x0b\xaf\xae\x55\x7b\xd5\x35\x17\x69\x80\x5e\xe0\x77\x9b\x8d\xb4\x90\x30\xdc\xf4\xfa\xf2\xcd\x7c\xec\xa2\x7c\xbb\x9d\xc2\xed\x29\x7b\xac\x7f\x79\xaf\x33\x01\xa8\xd6\xec\xc1\x89\xdf\x42\x14\xa1\x53\x0d\x5a\xd7\x85\x55\xcb\x49\x21\xe6\x95\x33\x01\xbc\x72\x2c\x18\x47\x62\x55\x87\x0f\x98\xd8\x43\x0f\xf8\x57\x9e\xe6\xad\x88\xc8\xa4\x5f\xf2\x3a\x13\xa5\x6b\x3c\xa9\x02\x01\x51\x6e\xf7\x89\x52\x16\x48\x2b\x56\xa7\x7e\x77\xb7\xe1\x81\x03\xcd\x06\x9d\x61\xf8\x12\x1c\x2d\xf8\x31\x2d\x89\xa7\xdb\x0f\xfb\xc8\xe5\x09\x44\x70\xa8\xac\x57\xa2\x6d\x65\xb3\x28\x99\xcd\xca\xc6\xa0\xad\x18\x81\x9d\x85\x15\xe2\x61\x54\xb1\xf0\xf8\x24\x2b\x7b\x22\x2d\x26\xac\xd2\xda\x0c\xd5\xd9\x0b\xf9\x5a\xcd\x17\xc5\x9c\x8b\x7b\x54\x89\xf3\xc8\xb0\x74\x4c\x72\x3e\xd4\x14\x95\x69\xc2\x0a\x96\xd8\xfc\x51\x83\x9b\x84\x79\xe4\xf8\xe8\x57\x50\x7e\x18\x2f\xf4\x8a\xa1\x67\xf4\x06\xc6\x5d\x2f\xb9\x61\xd1\xec\x95\xd5\xcb\x6a\xdc\x98\x05\x9f\x10\x5e\xd9\x8d\xaf\x23\xbc\xb2\xac\x0c\x3f\x8f\xca\x0b\x06\xce\xca\x6a\xce\xf8\x18\xdd\x5a\x8e\x48\x84\xd3\x05\xa8\x35\x3e\xfa\x15\xd2\xaa\xdc\x48\x48\x9e\xa7\xf5\xd7\xd2\x7a\x4a\xcd\x7b\x28\x2f\x5e\x51\x5d\xbe\x6d\x56\x60\xb2\x85\x08\x0d\xbc\x97\x8c\x11\x63\x76\x8e\x1c\x60\xbc\xe4\xc9\x47\xe6\x15\x8c\x8f\x68\x99\x91\x91\x19\x31\x9f\xcd\xc0\x19\x26\x95\xb6\x28\xc3\x09\x74\x2d\xd9\xe5\xb1\x7d\xed\xa8\x49\xa9\x4b\x68\x1d\x0f\xae\xe4\x94\x06\xae\xfc\x71\xf8\x8e\x51\x3d\xa8\x9b\x21\xd4\x87\xad\x2a\x38\x72\x1e\xec\x75\xe2\x93\x29\xeb\xbf\xc5\x4e\xad\xf5\xef\xaf\x68\xe4\xf1\xe3\xda\x03\x1c\xe8\x17\x95\x07\xb8\x89\xe6\xe5\xab\x17\x54\xca\x07\xb7\x5d\x7c\x7b\xdd\x05\xf3\x65\x2e\xa8\x22\x9a\x6f\x12\xc3\x42\x72\x98\xae\xe4\xbe\x7a\xae\x07\xd9\x1a\xc5\xa3\x0a\x05\x70\x40\x76\xd4\x76\x74\x2c\x7b\x96\xad\x86\x0c\x58\x97\x6c\x9e\x6a\x8d\x4d\xc9\xe3\x8f\xd6\xab\x0c\x5e\xcf\x13\x05\x57\xaf\x3a\x72\x6d\x6c\xb6\xed\x0e\x31\xbe\x85\xb0\x23\xe5\x35\xb8\x61\x99\x86\xdb\x97\x98\xe8\x4a\x51\x12\xe2\xff\x95\x4b\x86\x35\xb1\x1b\xd7\x53\x43\xff\x8e\xe4\x29\x44\x81\x45\x69\xdf\x50\x4a\x06\x86\xcb\xd3\x0c\x34\xe0\x3b\x66\xba\xb3\x16\xc8\xe9\xce\xb7\xdb\x6f\xea\xce\x0c\x4f\x4e\x70\xb3\xe6\x59\xaf\x7c\x5d\xd7\xa1\x41\x58\x26\xac\x42\x6b\x09\xe4\x72\x6a\xa5\x36\xfe\x6d\x4a\xbe\x21\xcf\x7d\xec\x63\xa3\xad\x4a\xad\xf0\xb6\x8c\x2f\xe1\x7a\xcf\xc6\xca\x8c\x73\xfc\x72\x78\x4e\xfa\x5f\x76\x08\x4d\x12\xf2\xbc\xeb\xa0\x99\x92\x94\xec\x90\xe7\x3e\xec\xe3\xf9\xd8\x28\x40\x75\xc3\xfd\x2f\x5d\xdd\x58\x47\x19\xd3\x40\x63\x52\xb0\xbf\x2f\xc4\x2b\x2f\x83\x15\x55\x4b\xf2\x31\x40\x83\x1b\x9b\xd2\xbb\x94\x17\x62\x5c\x93\x9c\xcf\xd8\xae\xe5\x98\x64\x8d\xc8\xe1\x6f\x9b\xd4\xa6\xfe\xef\x4a\x8c\x69\x52\x9d\xfa\xbf\xab\xf2\xa1\x33\x16\xd6\x8e\x5a\xa5\x4f\xb6\xb0\x0f\x1b\x21\x01\x69\x47\xed\x5e\xd3\x84\x42\x03\x24\x8d\xd3\x09\x4d\xdf\x4d\x61\x90\xe6\x53\x56\xa4\x4a\xa7\x29\x1f\xa8\xa8\x54\xee\x09\xf9\x6a\xc6\x0b\x99\x00\xa1\x71\x0d\x6a\xd3\x3d\xb4\xcb\xd7\x57\xa1\xd6\x50\x9d\x37\x0e\x18\x07\xdd\x87\xc2\x10\x7d\x6d\xa5\x1e\xaf\xd7\xe0\xad\x2d\x7f\xfd\xfd\x89\x39\x3f\x81\x3d\xf0\x4e\x9f\x5f\x22\x04\x59\xed\x6a\xdc\xd6\xec\x6f\x78\x6b\x1f\xb6\xea\x2a\xe1\xce\x90\xe1\x05\xb4\xe7\xdf\x5a\x25\x59\xe4\x19\x2b\x4b\x42\xb3\x82\xd1\x64\x45\x1c\xdf\x91\x62\x32\x6a\x69\xcb\xdf\x98\x17\xb3\xee\xa3\x2d\x16\xd9\x5a\xb4\xba\xad\xa1\x55\xaf\x1b\x50\xb1\xb6\xc9\x77\x4d\x30\x14\xf5\x05\x38\xa8\xeb\xc4\xdf\xf8\x9d\xbc\x6b\xd7\x89\x4a\xe9\x66\x7d\x2d\x68\xdb\xca\x3d\x05\x8d\xde\xf0\x4b\x7a\xcb\x5e\x48\x81\xbe\x55\xd3\x6f\x1c\x05\xd5\x11\xcd\x53\x30\xec\x48\xe3\x64\x4c\xeb\xed\xc3\x86\x95\xb4\x94\xfe\xb3\xf4\xbe\xe5\x8f\xb4\xe3\x79\x88\x74\x48\xaf\xfb\xf4\xe9\xd3\xa7\xee\x42\xd4\x6e\x8a\x75\x1b\xe9\x18\x83\x5a\xf5\xba\x9f\xb4\x91\xd6\x7d\x10\xda\x48\xbf\x93\x10\xb0\x48\x05\x80\x5d\x52\xc7\xab\xec\xdc\x95\x65\xd1\xf0\x84\xc7\x52\x49\x8f\x25\x8a\x8f\xa5\xd4\xf0\x1a\xf5\x5f\xdb\x84\x57\x1a\x51\xe7\xbf\x58\x68\xeb\x93\xe3\x3c\x28\xb4\xad\xa9\xb3\x4f\x8e\x73\x64\xa5\x1e\x2c\xed\x19\x47\xb8\xa6\xb9\x37\x30\x2c\xa6\xe2\x25\x68\x4a\x5d\xc1\xad\xdf\x81\x71\x85\xe4\xb7\xbe\x2d\xc0\x39\xb2\xda\xfa\x7e\xce\xb5\x10\x07\x2d\xeb\x77\x53\x34\x69\x04\xc0\xc7\x20\x0c\xec\xeb\x1f\x9c\x0e\xa4\x0a\x26\x58\xb1\x2e\x39\x2a\x0d\x9e\x96\x16\xfb\x28\x2e\xf6\x5d\x5d\x28\xfc\xb1\x4f\x64\xbf\x46\x94\x54\xb2\x1d\x56\x55\xca\x4e\x29\x1e\xed\x87\x64\x29\x59\xb2\xa6\xc5\xd4\x75\xd6\xca\x54\xb2\xb6\xad\xb1\xd4\x15\x9b\xa4\x28\xab\x8e\x54\x44\x3a\x55\x02\x02\x92\xac\xe1\x6b\xd4\x74\x35\x4f\x0d\x77\xd8\x7c\x62\xad\xc3\xaa\xc2\xd8\x5d\xc3\x90\x36\x3b\x94\x61\xfb\xe3\x3f\xfb\x40\xae\x3d\x57\xb2\x82\x65\x50\xda\xe6\x2c\x9d\x87\xcc\x9c\x5a\x0f\xa2\x08\x33\xac\x0a\x09\xea\x42\xd6\xaf\xff\xc4\x98\xb1\xb5\x3d\x08\x3d\x82\x40\xc3\x59\x12\x4b\xe5\x17\xf2\xb7\x91\x76\x83\x8f\x68\x48\x13\x72\x12\xd8\x55\x18\xfe\x6c\xf7\xa0\x9b\xb6\x5a\x54\xf2\x92\x10\x1a\xdc\x15\xd5\x11\x3c\x37\x81\xc1\xa1\x8f\x5c\x68\x78\x0d\xab\xab\x73\xee\xda\x8b\x9a\x6b\xfd\x2e\x00\x9d\x01\x31\x68\x25\x8a\xf6\x69\x71\x53\xe3\xaa\xc4\xb7\x50\xd8\x35\xb2\x78\xa0\x5d\x2a\x68\xda\x2b\x28\xd5\xa4\x7e\xa2\xca\xc6\x7d\xc1\x64\xbc\x8d\x3b\x42\x64\xc8\x01\x2d\x2a\xf4\xda\x45\x7b\x65\xa2\xea\xe1\x92\x51\xc4\xde\x98\x2f\x10\x65\xb6\x66\xfc\xfb\xf4\x4d\x35\xc3\x5b\xbb\xab\xb2\x6d\xbd\xa9\x38\x60\x3d\x74\x4c\x24\x0f\x59\x93\x03\xa3\xab\x57\xc7\x59\xdd\x68\xa2\xaa\x38\x89\x31\x72\x37\x5c\x3f\x48\x54\xec\xbe\x02\x35\x5e\x62\x4f\xe2\x53\x08\x6b\x88\xd5\x3d\xca\x92\x99\x93\x3b\xc4\xca\xb5\xb5\x3d\x9d\x41\x93\x35\x2a\xf3\xda\xdc\x9a\xe6\x64\x73\xf5\xca\xdb\x53\x20\x20\xdd\xa0\x2a\x67\x1d\x29\xa2\xd2\x5d\x53\xa3\x28\xcc\x20\x44\x43\xfc\xf1\x3f\x8d\x0c\x99\xd4\x0c\xc9\x08\xe4\x75\x55\xb7\xa2\x40\x6c\xe4\xf7\x10\xa1\x17\xa8\xec\xd0\x21\x53\xba\xc2\x07\x52\x61\x9a\x4f\x9a\x09\x91\x49\x31\xe5\x01\x64\x28\xda\xf3\x6b\xaf\x7d\xa2\x20\xf3\xa8\xf5\x92\xe7\x18\xc2\x52\xa5\x93\x05\x5f\x94\xa4\x58\xe4\xf0\xee\xa3\x17\xc2\x2e\x2c\xba\xe3\x8b\x80\x98\x50\xaa\x18\xfa\x3f\xec\x6a\x90\x5f\x59\x66\x4d\x60\x97\x17\xd5\x05\xc3\x71\x77\xf5\xb8\x28\xe8\x0a\x9c\x0a\xa8\xf8\x17\xc1\xa7\x19\xe4\x0d\x8c\x58\x92\xc1\x06\x7a\x01\x70\xc0\x55\xd1\x41\xc8\x23\x45\xa9\xe0\xde\x61\x68\x21\x55\x31\x21\xe0\x9f\xbb\x76\xc2\xd6\x4c\x54\x63\x60\x8f\x08\xcf\xb6\x4b\x80\x73\x0a\x8e\xd1\xad\xa3\x1a\xb3\x1c\x3b\xd2\xaa\x54\x26\x0f\x93\x8a\x12\x5c\xc3\x81\x37\x2a\x16\x6c\x4d\xf3\x7a\x70\x79\xb6\x22\xc7\xc3\xc1\xf9\xb9\xf2\xdf\xc0\x86\x8d\x11\xa3\xa9\xed\xe6\x63\x00\x1b\xf3\x73\x9a\x30\x31\xd8\x60\xd4\xbe\xe7\xee\xfa\xe6\x9d\xd1\x02\x82\xc7\x60\xaf\x43\x6c\x34\x3c\xfc\x56\xf7\x03\xb4\xdd\x60\x53\x28\x4a\x52\xf2\x0d\x31\xe9\x8a\x0f\x1d\x45\x02\x39\x82\x4f\x31\x4f\xd8\x2b\x9e\xe6\xd5\x71\xd5\x4a\xa5\x6c\x0f\x2d\xe4\x71\xc1\xa4\x93\x71\x2b\x06\xc8\xe3\xfb\xf1\x78\x3c\x6e\x93\xef\x48\x9f\x1c\x90\xfd\x43\xad\xe1\x8a\xc9\x37\xa4\xbf\x6f\x29\x76\xe5\x68\x77\x8e\x4c\x2b\xb5\x4c\x7d\xf2\x30\x8b\x45\x41\xde\x25\x6e\x8b\x4e\xfa\x5b\xb4\x42\x48\xd0\x7a\x5d\xcb\x39\x07\xdd\xa0\xf9\xd7\x4a\x18\x52\xdc\xa1\x7d\xfa\x1f\x8e\xec\x50\x1c\x60\x0a\x67\x7c\x92\xc4\xc2\xab\x45\x77\xc0\xa5\x75\xc7\x07\xe6\x9f\xe6\xfb\x47\x2b\x99\x47\x28\x3a\x84\xe8\x54\x1e\xa1\x61\xf8\x83\x48\x3b\x66\xe2\xd6\x20\x90\xc8\x0f\x30\x6a\xa2\xde\xdd\x81\x0c\x13\x79\xe4\x0f\x49\x12\x53\x4a\x76\xea\xeb\xe9\x92\x97\x1a\x64\x5a\x5b\x7b\xad\xa6\x71\x97\xd5\x9f\xcb\x56\xcb\xd9\xbc\x94\x1f\x8d\x4a\xc8\xf5\xb7\xde\x10\x1b\x7a\x57\xfd\xcf\x0c\x07\xed\x10\xf8\x6b\xac\xfe\xf1\xfa\xe6\xc5\x73\x21\xc9\x26\xac\x88\x6c\xe2\x8c\xf0\xfe\xf9\xe9\xa6\x3b\x50\xf7\xe2\x25\x9d\xaf\x8b\x26\xc5\x2c\x8b\x84\x95\x31\x9d\x33\x0d\x76\x41\x74\xe0\x36\x7a\xaa\xa9\xf8\x08\xeb\x67\x22\x6e\x41\xb0\xb6\x71\x07\x11\x44\x0a\x97\x31\x9d\x03\x14\x15\x00\xa1\x14\x63\x2e\xbe\x4e\x74\x76\xe5\x27\x88\xfb\x8a\x4d\xa4\x3c\x2f\x3b\x64\x4e\x53\x8c\xf3\x33\x0f\x46\x87\xb0\x2a\xf6\x9c\x20\x4c\xff\xf2\x4f\x4c\xd6\x07\x60\x2e\x2a\xa0\x33\x93\x30\x97\xf7\x62\x50\x1d\x52\x4d\xc1\xf0\x99\x02\xdf\x85\xa6\x9e\x12\x50\xd8\x4d\xca\xc9\x82\x11\x56\xf2\x8a\x15\x69\xec\x2f\x45\x69\x00\x32\x11\x35\x48\x7f\x00\xb6\x51\xb9\xab\x21\xe3\x88\xe4\x98\xf0\x78\x4f\x96\x1e\xea\x56\x66\xc9\x06\xa8\x3f\xb3\x84\x1a\x3d\x50\x45\x8b\xaa\xd0\x54\x6f\x57\xd4\x73\xf3\xd3\x4d\x33\x20\x20\x6c\x3b\x51\xe1\x2d\x12\x40\xce\xdf\xac\x20\x52\xd3\x5d\x5a\x54\x0b\xf0\x65\xb4\x6c\x5b\x4f\xf6\xfc\x20\x7f\x1f\x63\x50\x17\x37\xf9\x62\xa0\xbc\xc1\xaf\xc0\x34\xdf\x56\x2a\x08\x6d\x00\xb6\x13\x3b\xcb\x6a\xc1\xa4\xce\xca\x1d\xe2\x15\x2d\xe0\xf0\xd0\x8a\x11\x48\x2b\x05\x50\x80\xc6\x82\x48\xcb\x0a\x53\x1e\xbb\x88\x80\x2a\xb7\x3c\x7c\x12\x5c\x1d\x53\x40\xed\x12\xe6\x6a\x4e\xcb\x52\xa5\x3d\x59\xf1\x45\x81\x25\x49\xc1\x17\x15\xc4\x39\x17\x14\x98\x1f\x08\x8b\x2b\x18\x80\xe7\x61\x0b\x30\x64\xd3\xec\x7b\xed\x79\x63\x20\x15\xad\x8f\x76\x5c\xcb\x4f\x37\xdd\x57\xfa\x53\xcb\x14\x7d\x9d\xdf\xe6\x7c\x99\xbf\xd7\xd8\xf4\xc7\xf9\x8a\x7c\x96\x61\xa7\x64\xc6\x13\x88\x7c\x2a\x3f\xd3\x87\xd9\x23\xdf\x8e\x0e\xf2\x8e\xbe\x13\xb7\x07\x89\x30\x48\x7a\x2a\xe7\x8c\xaa\x59\xdd\x0e\x51\x98\x40\x32\x82\x06\x07\x31\x18\x9e\xbf\xd7\x33\x90\x7d\x5f\xca\x2a\xef\xa5\xab\x9e\x35\xba\xaa\xa0\x69\xe6\x0e\xaf\x4b\xc8\x90\xce\x98\x9d\x28\x80\x09\xba\x23\x94\xf8\x73\xe9\x60\x4b\xec\x3e\x66\xf3\x4a\x79\x37\x15\x4c\x5e\xa2\x98\x53\x10\x24\x91\xc5\x0c\xce\x2b\x2d\x26\x70\x02\x4d\x74\xac\xea\x3f\x3c\xc4\x9f\xa7\x0c\xd5\xd1\x05\x98\x85\x11\x17\x6c\xae\x42\x67\xe4\xf2\xc5\xe0\x71\x2b\xd6\x54\x45\x16\xd6\xb0\x5d\xa4\x73\x4b\x96\xf1\x25\x66\x5f\x02\x26\x06\xd1\xe4\xec\xf4\x52\x06\x77\xd3\x03\x61\xc4\x54\xd2\xcb\x14\x32\xb6\x69\x48\x46\xbd\x8f\x98\x6f\x84\xe6\xe4\x6a\x38\xb0\x51\x88\xe4\x71\x2a\xe3\x9b\x74\xc6\x2e\xd2\x59\x0a\xd1\x5d\xfb\xbd\x5e\xaf\xa7\x3a\x93\x4f\x03\xba\x0a\xa7\xc8\x3e\x23\xa8\x48\x02\x5f\xb4\x57\x83\x8c\x68\xa9\xc6\xea\x35\x51\x44\xe9\x3d\x32\xd2\x37\x49\x5f\x26\x6a\x0d\x01\xc6\x4e\xed\x13\x79\xbe\x3b\x4a\x2b\x8d\xae\xe6\x88\x30\x84\xc8\x9a\xc7\x79\x53\x31\x84\x53\xb7\x6e\x3b\xd0\x09\x4f\x89\x28\x5c\x32\x29\xc6\x63\x4a\xec\x27\x2a\x0b\xc3\x92\x17\xb7\xe2\xfd\xf9\x0a\x9a\x54\x5b\x54\x62\xce\x15\xb6\x02\x80\x6c\x34\x1d\x2c\x39\xa2\xb4\xb0\xbf\x2f\xd2\x3b\x9a\xe9\x14\x8f\x4f\xc8\x25\x2f\x2b\xc8\xd4\x5d\x92\xb2\x4a\xb3\x0c\x45\x00\x75\x47\x54\x4b\xbe\x0b\x15\x65\xb0\xab\x33\x99\x9f\x75\x1c\xae\x37\x27\xa0\x9e\xd1\x4a\x47\x50\x12\x1d\x8e\x6b\x83\x04\x43\xca\x10\x6c\x29\x2d\xcb\x85\x84\xad\x25\x9f\xd1\x38\x4e\x13\x96\x57\x34\xfb\x8c\x2c\x00\xfc\x53\x26\x9e\x91\x22\x8b\x72\xbc\x1f\x69\xdf\x0f\x04\xdd\x52\xd7\xbc\x6e\x40\x54\x47\x9c\xc9\x34\xbf\xe3\xd9\x1d\x44\xac\x57\x11\xa8\x4c\xd2\x9c\x16\x2b\x05\x4e\x66\x5f\xec\x68\xd8\x7e\x7e\x92\x56\xea\xc5\x73\x48\x39\x44\x02\xe2\x0c\xc0\x6a\x09\x52\x7d\xb6\x6f\xd8\x08\x1b\xdd\x19\xd4\x21\x10\x4f\x40\x62\x9d\x0f\x28\xd4\xb5\xce\x16\x84\xb0\x30\x76\x76\x7e\xd5\xf9\xb5\x75\x62\xc5\xd6\x45\xe0\xe5\xa7\x80\x6a\x62\x83\xe8\xe8\x24\x9f\x10\x54\xbf\x28\xc9\xa2\x94\xd9\xd0\x11\x46\xe2\xf4\x6c\x40\x5e\x15\x00\xc5\x88\xb0\xff\xfd\xfd\xe0\xb0\x4e\x59\xdc\xdf\x0f\xaf\x05\xea\x4c\xe6\x00\x7e\x46\x14\xe2\x98\x52\x14\x88\x03\x0d\x71\x0b\x12\x5b\xca\xca\xe8\x22\x86\xee\xf5\xa5\x8f\xc3\x99\x6a\xe6\x88\x44\x8b\x6a\xbc\xfb\x3c\x72\xfb\xbc\xa4\xf7\x8a\x69\xc7\x6b\x62\x91\x1b\x62\x20\xa7\x83\x61\x47\xec\x46\x87\xbc\xba\x14\x37\xdd\xf1\x2b\x73\x87\x28\xd4\xd7\x25\x03\xd3\x06\x36\xb7\x98\x83\x32\xc2\x0a\x2b\x8f\xd1\x06\xa1\x89\x1d\xc1\x0f\xc4\x89\x12\x57\x93\x8c\xb0\x90\xd2\xac\x7c\xda\x05\x53\xd9\x1a\xde\x74\x48\xf4\xf6\xfe\xeb\x38\xea\x90\xb3\xe1\x80\x44\x6f\xdf\x46\x6d\x30\x67\x8a\x56\x5a\x27\x67\x17\xf0\xbd\xf7\x55\xd4\xb6\xa5\xf7\x29\x93\x89\x72\xc8\x67\x52\xcb\xa0\xc6\xfb\x19\x99\xf1\x3c\x55\xe9\x15\xcd\x52\xcd\xe8\x3d\x76\xaf\x98\x2c\x72\x44\xfa\xbd\xfd\x2f\xdc\x75\xd2\xd1\xe5\x6c\x06\xf9\x0a\x21\x8f\x8a\x44\xae\x5e\x22\x7c\x1c\xac\x9c\x54\x65\xb8\x57\x12\x2f\xe4\x83\x80\x6d\x19\xba\x16\xc7\x50\x27\x23\x2c\x58\xcc\x27\x79\xfa\x1b\xb8\x5a\xb2\xfb\x79\x96\xc6\x69\x25\x0e\x1d\x2c\xa6\x37\x6a\x31\x82\xd7\xb9\x85\x89\x1a\x24\x70\xd0\xec\xc8\xf8\x21\x15\xff\x6e\x8d\x6b\x46\xe7\x25\x80\x6f\x80\x04\xf2\x7d\xaf\xdb\xed\x7e\xff\x14\xd2\x52\x2d\xdb\x4d\x04\x75\x29\xea\x78\x2c\x87\x2d\x25\x94\xfe\x25\x7f\x63\xc5\x0b\xaa\x2e\xdc\x21\x74\xf5\x35\x68\x25\xf4\x11\x5b\xf8\x7a\xb8\x87\x3a\x94\x19\x9d\x63\x4a\x1c\x44\xd0\xa6\xa5\xca\xc0\x95\x4e\x72\x79\xdd\x01\x07\x22\x8f\xa3\xba\xc0\x11\x4a\x26\xad\x0c\x1e\xf8\x94\xea\x5b\x53\xdf\x8e\xd9\x8a\x94\xcb\x14\x42\x61\xb0\xdb\x49\x41\xe7\xd3\x34\x2e\xb1\x35\x67\xac\xa4\x35\xa8\x8a\x6c\xf7\x65\xbb\x4b\x80\x49\x91\x89\xb5\xe4\x4e\xd2\x1c\xc1\x8d\xd5\xad\xaf\x1a\x12\x35\xb1\x31\x88\xd3\x52\xb7\x29\xa6\x98\x04\x10\xd4\x7c\xb5\xa4\x2b\x2b\xcd\x53\xc1\xc0\xdd\x8c\x4c\x16\xb4\xa0\x79\xc5\x18\x59\x42\x88\x3d\xf0\xa8\x34\x5f\x61\x6b\x4a\xf0\x10\x5b\x42\xd1\x38\x40\xa1\x31\x00\xcf\x4f\xe3\x45\x46\x0b\x05\x97\x6d\x6f\xe6\xf7\x3d\xc5\x17\x7f\xdf\xd7\xff\xda\xd7\xff\x7a\x4a\x8e\xa4\x30\x58\xdf\xfa\xee\x84\x55\x97\x74\xde\x8a\x4e\xa2\xc0\x3e\xe3\x03\xaa\x62\xee\x1c\x2e\xcd\xbd\x03\xf0\x15\xa3\x62\xe8\x73\x71\x48\x25\x1c\xd8\x08\x98\x33\x85\x61\xa9\xe4\x0c\x88\xa2\x92\xa6\xa0\xef\x2f\x44\x63\x72\x67\x50\xe7\x86\xde\x74\x5f\x7f\x01\x2f\xb3\xf4\xfc\xeb\xdd\xef\xf7\x21\x2d\xd4\xfd\x57\xfe\xed\x63\x88\x11\x9a\x12\xe3\x88\x4e\xa2\x0e\x79\x3d\x44\x85\x9d\xbf\x56\x17\xe2\xea\xfc\xbe\x17\xd5\x67\xfb\xfc\xcf\x9f\xed\xf5\x96\xb3\xa5\x72\xb6\xe3\xda\x56\x5f\x37\x0e\x5f\x39\xac\xea\x97\xc6\xcf\x59\xe7\xb2\x28\xc0\xcf\x48\xa0\x7c\x72\x36\xb8\x3c\xde\x7d\xfa\x0c\xce\x17\xb0\x84\x90\xa0\x6e\xc2\xd5\x85\x2e\x0d\xc6\x44\x50\xb2\xc5\x52\xe8\xae\x24\x62\x13\xe4\xbb\x15\x4c\x08\xf7\xaf\x1b\x28\x36\x84\x77\xfe\x75\x35\x7e\xfe\xbe\x16\xbe\x6c\x97\xb8\x80\x66\x6a\xcc\xf2\xc0\xc2\x81\x2a\xd8\x04\x4e\x03\xbb\x87\x8c\xdd\x00\x55\x62\x47\xc0\x81\x78\x24\x18\x47\x64\xd3\xec\x3b\xbc\xec\x3e\x32\x89\xce\x14\x14\x4a\x9a\x13\x47\xb0\x12\xad\xfd\x7d\x91\xc6\xb7\x62\x91\x20\x1b\x9a\x52\xa9\x9b\xb8\xbd\xfb\x0a\x1b\xaa\x3d\x10\x9a\x85\x8e\xe3\xfe\x2b\xc1\x81\x14\xf9\x7b\x1f\xd6\x65\x01\x4e\xc9\xea\x39\x47\xd1\xaf\xa5\xc5\xb9\x21\xbd\x03\x8c\x3f\x71\x3d\xa8\xf1\x9d\x9e\x0d\x86\x03\x1c\xbb\x3b\x01\x2a\x33\x43\x57\x9c\x20\xc8\x2e\x45\xc4\x85\x9f\x6e\xb0\x85\x8e\xb8\x92\xd2\x92\x3c\xc9\x79\x85\xcc\x8d\x84\xe9\x73\xf9\xfd\x52\xf4\x19\x96\x41\x31\xed\x92\x11\x42\x5d\x27\x89\x97\xbc\x96\xe5\xd6\xe8\x20\x2c\x37\xe1\xa0\xd0\x8e\xba\x45\xd5\x94\x98\xe3\xd9\x8d\x64\xb8\x7a\xbd\x9e\x52\x8e\x48\xe9\xdf\x24\x66\xde\x5b\xcc\x65\x77\x40\xc8\xdb\xf5\x39\xb8\x38\x1f\xfc\x28\xd8\x81\xc6\x0e\xf7\xd7\x76\x08\x38\xd7\xfc\x0e\xb5\xdf\x08\x7c\x4a\x89\xcc\xf7\x0f\xe8\x0d\xcb\x7c\xcb\xc9\x5f\x1f\x7f\x4f\xc0\xd7\x41\xc3\xfd\x69\x29\x9f\x58\x70\x62\x8e\x96\x4b\x39\x74\x14\x34\xbe\x2d\x5d\x50\x09\x3b\x45\xa5\xd2\x6c\x9c\x57\x10\x04\x33\x4e\x59\x96\x94\x8a\x6a\xed\x40\xe4\xd1\x62\x3c\x16\x2c\x96\xc2\x94\x57\x9a\x48\xf5\xbb\x98\xad\x6e\x50\x2b\x92\x7c\x75\x95\xfa\xfd\xa3\xf6\x77\x5c\xe4\xb1\x73\x2f\x43\xfd\xc2\x69\x20\x18\x32\x3b\x5a\x8c\x4d\xa8\xac\xb1\x5f\xa1\xa7\xba\x33\x5f\x1c\xa1\xb7\xd4\xd6\x0a\xda\xe8\x27\x66\x50\xe2\xef\x8e\xea\x29\x10\x86\xa0\x1c\xd5\x8f\x88\xf7\x8b\x41\x7e\x58\x8c\x65\x60\x99\xf8\xd7\x87\x0f\xee\x89\x9e\xf3\x52\x29\xca\xd1\x07\x52\x2c\x44\x73\x63\xb4\x98\xa8\x68\xd4\x20\x50\x83\xb7\x6c\x1d\x67\x5f\xd4\x9e\x35\xae\xc1\x3a\xd4\x8e\xfa\x12\x40\x11\xa8\xfc\x42\x7b\xef\xbb\x00\x54\x27\x8b\x71\xcb\x9a\x78\x14\x79\xdf\x8f\x95\xba\xa5\x96\x3d\xb8\x61\x3e\xa1\x63\xdb\x3c\x7c\x67\x6c\x4d\x08\x24\xb8\xde\xa1\x3d\x6d\x18\x12\xae\xa8\xb3\xa0\x7a\x58\x21\x2a\x75\x28\x54\x5c\x90\x08\xef\x06\xf8\x53\x8b\x71\x47\x6d\x35\xf0\x8c\x82\x34\xb6\x9e\xde\x09\x10\xd6\x9a\x0d\x42\xca\xd3\x2e\x89\x72\x23\x6c\xaf\x44\xf2\x9d\xfe\xf9\xa0\x81\x2e\x83\x6b\xa0\xf5\x64\x24\x4b\xcb\x6a\xed\xf4\x45\xfb\xb4\x98\xbc\xff\x8d\x15\xdc\xac\x83\x4a\x34\x6a\xd6\x42\x50\xf6\x9b\xde\xbb\xad\x67\xaf\x69\xc7\x5f\x03\xd5\x99\xb5\x10\xa2\xed\xae\x6b\x95\xb2\x7d\x35\xed\x11\x3e\x16\x22\x72\x9e\xb0\x71\x9a\xb3\x24\xb2\x12\x5c\xca\xf1\xc9\xa3\xac\xca\x3b\xeb\xf3\x3d\x03\xa4\x48\xb5\x38\xa0\x92\xcc\x89\xf4\x86\x68\x4a\x1c\x47\x8b\x49\xbe\x98\xa1\x4e\x4f\x55\x94\xc8\x85\xa0\x4e\xac\x8a\x94\xdd\xb1\x6d\x96\x25\xa5\x85\x63\x0b\xc6\x96\x35\x81\xfd\x24\x96\xda\x18\x87\xd1\x9b\xc7\x4c\x0d\x4b\xbf\x53\x6b\xa3\x0d\xc9\xd2\x94\x0c\x97\x01\x9c\xc6\xf3\x1c\x10\x78\x3b\xa4\xdf\x6b\xeb\x08\x8b\x63\x6b\xda\x7c\x4c\x60\x29\xd3\x92\x54\x12\xd4\x4a\x5e\xc5\xea\x72\x87\x5d\xef\x6a\x8b\x2f\x34\x7e\x44\x7a\x6d\x13\x85\x63\xae\x40\x18\xb6\x9d\x5d\x53\xfc\x47\x05\x44\xcb\x5f\xdc\xa2\xd6\x8e\x1c\x27\x77\x54\xa9\x02\xf0\x45\xb2\xef\xc0\xa0\xbf\x0b\x88\xf0\x98\x76\x03\x77\x81\x8f\x25\x97\x2d\xe4\x45\x6c\x6f\x9b\xdd\x90\x45\xed\x0d\x81\xa6\x2d\xb2\x14\x67\x6c\xe7\x08\x7b\xf4\x0e\x9a\x8c\xe9\x64\xa4\x60\x33\x9a\x02\x04\x1c\xe4\xa6\x42\x04\x71\xeb\x1a\xaa\x27\xa7\xd2\x73\x15\x2d\xd5\xa6\xab\xbc\x39\xec\xfc\x22\x1b\xfa\xd8\x66\xb6\x73\xc6\x6e\xaf\x55\x33\xde\xc5\xe4\x3a\x75\xca\x8b\x49\x19\x73\xd5\x42\xf8\x0f\x80\x5e\x00\x48\xe9\x83\x5e\x20\xb6\x7e\x37\xff\xa3\x17\x01\xfa\x69\xe8\x60\xdb\x15\x18\x4c\x69\xf1\xe0\x99\x77\x20\xb5\xee\xa7\x4f\x5e\x3c\x44\xd4\xa7\x73\x7b\xda\xa0\x09\x17\x24\xfc\xa7\xce\x5f\x30\xa0\x8b\x19\xfb\xa4\x25\xd8\xd9\x69\x5c\x04\xcb\xd5\x58\xce\x37\x2d\x09\x9b\xcd\xab\x95\xb2\x3d\x59\xac\x68\x49\xe6\x2a\xb7\xa7\x97\xf9\xa2\xf1\xce\x2c\x07\x32\x49\xcb\xc6\x41\x2b\xb0\x1f\xc1\xc9\xe8\x89\xc8\x47\xe5\x9b\x23\x7d\xa2\xed\xe0\x57\x57\x08\xb2\x7b\xb8\xb3\xef\x81\x3b\xb0\xba\xdc\x55\x87\xb6\x50\xd5\x6a\x37\xb7\x64\x47\x51\xd2\xbb\x46\x14\x2d\xd4\x57\x1f\xe9\x4e\xb4\x9d\x15\x6a\x61\x7b\x76\xb2\xe6\xca\x87\x05\xae\x57\x9c\xb0\xca\x43\xcd\x6b\x23\xe0\x9e\xdd\x0e\x68\x4b\x74\xdd\xef\x2f\x0e\x1d\x3d\x84\xf9\x60\x61\xc6\x1a\x65\x14\x7c\x31\xfc\xb0\xd1\x4d\xc1\x87\xbe\xf9\xb0\xef\x7c\xd8\x37\x1f\x9e\x3a\x1f\x9e\x6e\xb5\x8c\x2a\x9d\x4f\x78\x25\x9d\x25\x90\x45\xe5\xf2\x59\x2b\x6d\xad\x80\xbb\xd8\xb5\x35\x0b\xac\xb6\x5a\x45\xaf\x11\xb3\x94\xd6\x32\xe2\xe2\xe9\x0f\xd7\x5e\x15\xa3\xd7\xeb\xb9\x55\x8c\x9a\xaf\xef\x7e\x30\x5a\xbf\x7d\xf7\xc3\x53\xa3\x0e\xf4\x96\x71\x3b\x7c\x3f\x33\x96\x35\xfa\xc3\xda\x4e\x87\xcb\xf6\xec\xb2\xfb\x0f\x68\xf7\xe9\x16\x65\x03\x8a\xbe\xa0\xee\xec\x13\x74\x1e\x0f\x77\x48\xb0\xae\xc1\x1f\xc0\x84\x6e\x0c\xc6\xbe\xca\x04\x7c\x49\x25\x06\xc3\x67\xe8\x23\x71\x23\x44\xfd\x34\x9f\x7c\x46\x4a\x16\xab\xd7\xfc\x0d\xf8\xaf\xf8\xdc\x75\x28\x23\x08\x7a\x54\xd8\xfb\xc9\x3c\xc0\x26\x67\x22\xeb\x66\x62\x87\x19\x69\xdb\x35\x9b\xcd\x79\x41\x8b\x15\x68\x9d\xe8\x04\x99\x7f\xbe\x28\xc0\x72\xce\xf3\x12\xf8\x42\x64\x39\xf1\x6f\x55\x53\x59\xe0\x31\x93\x8e\x52\x42\x89\x92\x33\x9e\xd8\x6c\x3d\xeb\x96\xd3\x74\x5c\xfd\xc8\x56\x38\x00\xf1\xf9\xc3\x11\xf9\xc2\x7c\x9f\xb1\x8a\xfe\xc8\x56\xe2\x26\x77\x53\x57\xe8\x1c\x59\x5d\x9a\x55\xe7\xe5\x25\xab\x28\xf9\xfc\x73\xc2\xc4\x9f\xa2\x3d\xa7\xc1\xe7\xa6\xc1\xb8\x2a\x32\xbf\xbf\xfe\x97\x7a\xce\x57\xa7\x57\xad\x62\x92\xe6\x09\x6d\x1f\x90\x9f\x99\x93\x67\x4f\x29\x53\x95\x32\x09\xd4\xa9\x7b\xbc\x10\xff\xfe\x52\xf0\x9c\xec\xbe\x62\xa8\x54\x51\x8a\x43\xc8\x4d\x24\x1e\x14\xc0\x5e\x03\x2d\x31\x5f\x4c\xa6\x1d\xe9\xd0\x30\xc7\x0c\xaa\x14\xa3\x0e\x7f\x5d\x94\x15\xa1\x24\x4b\xab\x2a\x63\x1d\x72\x4e\x96\xb4\xcc\x23\xa9\x84\x54\x19\xfe\x26\xac\x22\x77\x29\x98\x9c\x66\x34\xd6\xe6\x0b\xe9\x98\x8b\xdc\x60\x89\x26\xcd\x52\xad\xfa\x3d\x39\x92\x26\xbb\xee\xb8\xe0\x33\xf1\xf0\x0f\x78\xc2\x5a\x12\x46\x38\xa3\xb3\x79\x8b\xe9\x95\x45\xb7\x06\xb2\x43\x9e\xee\x77\xe0\xff\xef\x3f\x7b\xd6\xd6\x08\x5c\xab\x07\xb5\x75\xcd\x97\xf5\x86\x1e\x11\x65\xc0\x11\x25\x57\x73\x83\x6a\x44\x4b\x46\x22\x48\xec\x1d\x1d\x48\x09\x03\xc8\x49\x82\xe7\xb3\xcc\x93\x54\xa4\x6e\xae\x2f\x96\x63\x9f\xcc\xb3\x05\x88\x71\x34\x49\x52\x29\xbc\x7e\xf9\x85\xc2\x0b\x18\x41\xa4\x68\x8b\x75\x13\x96\x55\xf4\xdf\xc9\x13\xb2\xdb\x6f\x93\x6f\x49\x4f\x48\xd6\x3d\x72\x40\xfa\x6d\xb2\x43\xbe\xfe\x52\x7b\x4d\x0a\xc2\x98\xf1\xe4\x50\x4b\x3a\x48\xe3\xe2\x8a\x79\x7b\xdf\x1f\xbd\xb9\x8c\xc8\x4e\x70\x25\x46\xa2\xa1\x7b\xb2\x43\x56\x87\x8f\xcc\x24\x7e\x54\x69\x48\x0d\x4c\x44\xc1\x67\x32\xa1\x39\x42\x53\xc3\xff\x18\x64\x47\x62\x79\x65\xe1\xc3\xc8\x11\x15\x8c\xde\xca\x26\x71\xa5\xe0\x78\x27\x7c\x99\xdb\xab\x75\x02\x6b\x82\x06\x26\x9d\x25\x4b\x2f\x95\x94\x94\x60\xa9\x9e\xee\xab\x4e\xc1\xe7\x98\x1c\x91\x4b\x5a\x4d\xbb\xb3\x34\x6f\xb1\x2e\x96\xef\x90\xfd\x36\x6c\xa0\x3d\x95\xe3\x3c\x21\xb3\xf4\x5e\x31\x9e\x33\xeb\xb4\x97\xdd\xda\xf2\xfd\xae\xf5\x5b\x3b\xf3\xc5\xbc\x4e\x25\x8b\x39\x68\x45\x73\xae\x90\x93\xe4\xad\x8a\x80\x83\x72\x11\x96\xb4\x24\x05\xcb\x18\x2d\xa5\x03\x45\x70\x7c\x6f\xef\xf7\x9f\x46\x5b\x0e\x65\xc6\xef\x98\x1e\xcc\x03\xae\xdf\xeb\xe3\xef\xf1\xd6\xc2\x91\x95\xb6\xbf\xf2\xde\x1e\x19\x56\x34\x4f\x68\x91\xa8\x81\x8f\x52\x89\x50\xc1\xc8\x2f\xe2\x15\x20\xf0\x2c\xc4\x5c\x7a\xaf\x14\xd0\x95\x4c\x08\x9d\x16\x65\x65\xb7\x25\x9b\x00\x73\x8a\x44\x76\x4c\xc7\xe8\x3f\xf7\x39\x3a\xc2\x02\xc9\xc0\x77\x96\x74\xe4\x4f\x69\x29\xed\xd9\x89\xe5\x89\x2c\x93\x18\xa4\x95\x63\x64\xb2\xfa\x25\xd5\xb4\x60\x4c\x76\x29\x46\x7c\x3e\x26\xb9\x90\x6d\xf0\x7e\x9a\x89\x9e\xec\xd6\x74\xa7\xd5\x94\xe5\x72\x6a\xe3\x8c\x4e\xc0\x06\x0c\xee\x62\x72\xbb\xba\x84\xfc\x0c\xb9\x53\x13\xae\xe3\x82\xbb\xba\x25\x41\xc2\x16\xa9\xa2\xb3\x60\x91\xf2\x22\xad\x56\x60\xda\xd2\x78\x1e\xd0\xc5\x01\xcc\xbe\x43\x66\x69\x92\x88\x0b\xb7\x90\x29\xb9\x88\xd9\x46\xbd\x31\xe4\x73\xd2\xbb\xef\xdb\xdb\x03\xad\xcb\xcd\x85\x55\xc4\x92\x5d\xab\xc0\x88\xec\x68\xcf\x6a\xe2\x7a\xc1\xbb\x0d\x7f\xd1\xd4\x30\x0e\xad\xa9\xe9\xfe\x16\x4d\xef\x37\x35\x8d\xfb\xdb\xd0\xf2\x7e\xad\xe5\x5a\x23\xb0\x1f\x64\x9a\x4e\xc4\xbb\xa3\x76\xda\x6f\xe7\xa9\xd5\x8e\xb3\x2d\xc7\x49\x42\x9e\xee\x8b\xd7\x4b\x21\x9c\x49\x86\x69\xc6\xa5\xfc\xef\x34\xe3\x6d\xea\x36\x37\x50\xe0\x0e\xfa\x7d\xb7\x90\x9e\x40\xfd\x0e\x88\xb3\x34\xbe\x95\xe7\x1f\x7f\x49\x46\x99\xfd\xa3\x5b\x49\x2a\xc1\xd4\x27\x95\x08\x90\x15\x05\x2f\x5a\x91\x34\x51\xda\x0c\x24\x66\x01\xc4\xc7\xb2\x43\x98\xff\x24\x58\xfe\xf9\x6a\x82\x96\x3a\x54\x73\x4c\x29\xb7\x12\x48\x9a\x92\x6e\xb6\x09\xe5\x6b\x6c\x0c\xa2\x7c\xec\x38\x67\x4b\xbb\xb7\x52\xdd\x14\xac\x04\x95\xb8\x4c\x08\x6b\x7c\x8a\x1f\xd9\x59\xfc\x5d\x54\xf9\x1b\x5b\x1f\x84\xf9\x1c\xd1\x43\x31\x94\xcf\x51\xfa\x4f\x99\x94\x8e\x5e\x3e\xc7\x20\x93\xac\x5d\xa6\x6d\xee\xd8\x55\xb9\x5b\x2e\xb9\xc6\x04\x22\x8d\x0b\x31\x50\xc0\x62\x2c\xb9\x15\x99\x03\xf1\x71\xad\x9e\xd1\x49\xb4\xda\xb6\x0e\xd6\x36\x55\xd8\xe5\xc5\xef\x26\xd2\x06\x15\xf7\xb5\x42\xa0\x99\x50\x65\xd0\x30\x50\x2b\x33\x5a\x8c\x25\x2d\x05\xfb\xe8\xc6\x34\xcb\x60\x32\x9d\x5a\x81\xb6\xac\xa8\x5f\x29\xbf\xb2\x78\xaa\xe0\xbf\x0a\xd8\xc6\x1b\x9c\xf8\x2e\xfe\x63\x05\xe1\x87\xc6\x27\x8a\xe9\x15\x27\x26\xb5\xdc\x2b\xb4\x13\x25\x69\x82\x48\xf8\x99\xf2\xec\x05\x41\xe1\x71\x64\x23\xd5\x58\x84\x89\x2e\xa9\x86\x2a\xff\x20\x42\x91\x9e\xb1\xa1\xb8\x2c\xbd\x40\x01\xe7\x3c\xed\x9d\x17\xc0\xc1\x65\x76\x7e\x33\x17\x58\xb2\x2a\x9c\xc3\x06\xed\x59\x19\xf0\xd4\xd4\x4a\xf4\xd1\xb0\xa5\x46\x21\x80\x1c\x90\x69\x55\xcd\xcb\x83\xbd\x3d\x96\x77\x97\xe9\x6d\x3a\x67\x49\x4a\xbb\xbc\x98\xec\x89\xbf\xf6\xb0\x95\xa6\x99\x9a\xbc\x6b\xc1\xd9\x5a\xa1\x96\x6e\x86\x36\xf7\x7e\xd0\xdb\x80\x8e\xc5\x76\x0c\x24\x76\xbf\x61\xa5\x37\xf5\x5f\xf3\x4c\x56\xa7\xb1\x36\x92\x21\x53\xea\xc3\x46\x77\x98\xa0\x95\x4b\x97\xf7\xf3\x75\xeb\x0f\x90\x8e\xb7\x6a\x9c\x48\xc9\x2a\xcb\x4b\xd3\xc8\xde\xf2\x37\x9c\x8e\x16\x70\x9c\x5f\x1b\xaf\xfe\x25\x2d\xf2\x56\x74\x9e\x43\xae\x13\xcb\xd4\xf6\x99\x9a\x8d\xa6\xea\xcf\xe4\x5b\xa0\xda\x3d\x34\x1c\xf0\x0b\x9a\x65\xc4\xa4\x60\xd3\x6f\x51\x5a\xf2\xdd\xfd\xde\xfe\xbe\x7e\x8b\x36\xbb\xec\x04\x4b\xd5\xdc\x76\xbc\x47\x48\xf5\x07\x27\x63\x17\x7d\x85\x36\xf7\x69\xc7\xc8\xad\xe9\xd2\x2e\x16\xee\xf1\x0f\xeb\x2a\x3c\x3b\x93\xa5\xb6\xc9\xb5\xc7\xd1\x89\x8f\x0b\x56\x4e\x31\x74\x07\xfd\x1d\x04\x8b\xa3\x53\x8f\x1b\xc7\x2a\x0c\x1c\x68\x24\xb6\x50\x5f\x75\x0d\x1e\x62\xde\x61\x64\x01\x3a\xfd\x3f\x07\x0d\x40\x47\xba\xaa\x96\x0b\x60\xf9\xd0\x01\xce\x8f\x74\x12\xf7\xcd\x12\x98\xea\x9c\xdd\x81\x4f\xe6\xde\x1e\x29\x41\x53\xc5\x4b\x46\x76\x77\xd1\x95\xb3\x9a\x82\x77\xee\x54\xc1\xcc\x8a\x4e\x1e\x2b\xf0\xed\xb8\x4f\x8e\xc8\x15\x3e\xf2\x82\x09\x6b\x19\x35\xdb\xa0\xaf\x8c\x85\xdd\x71\x2a\x2e\xfb\x56\x8b\xb5\xc9\xd1\xb7\x12\xec\xaa\xbe\x4f\x1f\x3e\x10\x06\x77\xae\xe0\xc3\x8e\xab\x56\x9b\x7c\x43\x7a\xf7\xcf\xb5\xcd\xb1\x3b\xa3\x73\xd5\x46\xf4\xf6\xed\xbd\x38\x0e\xa8\x7d\xf8\x6d\x4e\x93\x96\x5b\xb7\x5b\x71\xc9\xef\xf4\xbf\x6c\x0b\x69\x56\xb7\x82\xd0\xbf\x96\xf6\xd1\x73\xe6\x62\x4b\x72\xcd\x26\x67\xf7\xf3\xd6\xdf\xde\xfc\xeb\x3f\xe2\xb8\xff\xf1\xdd\xdf\xbc\x54\x15\xbe\x13\x4c\xcd\x89\x06\xfc\x7a\x80\xc5\x01\x1f\xb3\xca\x04\x6e\x2b\x2f\x33\x14\x97\xfa\x75\x2f\x36\xb4\xed\xb4\x06\xbd\xbd\x41\xdf\x0b\x1f\x07\xc5\xc1\x9b\xc1\xcd\xf5\xc5\x3b\xed\xd7\x6a\x32\x08\xc4\x1c\x62\xee\xa4\xb7\xb7\x72\xe9\x56\x8c\x16\x58\x9b\x8a\x14\x3c\x90\xbd\x0c\xa3\x52\xfa\x52\x10\x4c\xee\x40\x34\x9f\x96\x96\x73\x90\xa1\x7c\x9b\x8d\x65\x5e\x73\xfc\xec\x2c\x5a\x35\x0c\x82\x65\xdb\x66\xd9\x58\x67\x9b\xb6\xe1\x24\x61\x90\xb6\x6d\x1b\x60\x02\x44\xf1\x00\xc9\x7c\xfe\x39\x34\xf4\x06\x3e\x7f\x7f\xf1\xae\xfb\xfd\x85\xda\x67\x34\x9e\xfb\x5f\xcd\xd3\x4c\xe0\x9b\x61\x92\x4d\xbf\x70\xe8\xb5\xc3\x1e\xa3\x45\x3c\x75\x9c\x03\xed\x18\xf8\x91\xb8\xed\x20\xea\x51\x6f\x84\x52\xbe\x21\x07\x37\xb7\x4c\x5a\x9e\x01\xb6\xa5\x75\x6b\xb9\x04\x27\xc0\xe8\x0b\xb0\xbe\x41\xb7\x2d\x9f\x3e\x0d\xd4\x94\x53\xe5\x88\xf4\xd4\x6a\x01\x94\x62\x04\x3e\x80\x8b\xd9\x28\x63\x89\x92\xe7\xc5\x4b\x1d\xf0\x79\xef\x1a\x66\x52\x6d\x71\x2b\x1a\x0c\xfa\x51\x87\x58\x56\xc0\x5e\x87\xf4\xdb\x1d\x6b\x32\xf2\xf9\xb1\x66\x27\xed\x9b\xad\x7e\xfb\xd0\xd1\x29\x5b\x32\x8a\x37\xe6\xdd\xbe\x35\xe8\x1b\x74\x18\x2f\x18\xc9\x79\x20\xa6\x48\xa7\x4f\xc3\x63\x84\xa3\xc6\x2d\x13\xbc\x66\x6d\x34\xc0\xd8\xb7\xc2\x43\xd1\xd5\xac\xd9\x59\x43\x6b\x9b\x9b\x61\xcd\x8a\x58\x15\x82\x6b\x13\x58\x19\x7b\xfa\x3b\xbe\x31\x15\x63\x1b\xa9\x0e\x3b\xd5\x41\x0e\xe7\xe2\xef\x64\x11\xb3\x02\xcf\x33\xcd\x13\x7d\x18\x49\x5a\xd9\xbc\xe2\x9b\xc1\xf0\xfc\x1d\x46\xb1\xf1\x19\xf8\x97\x8e\x17\x19\x49\xf3\x31\x2f\x66\xa8\x10\xa3\x23\xbe\x50\x41\x76\xb1\xd4\x14\xaf\x39\xcc\x83\xe1\xf9\xc6\x83\x0c\x78\x6b\x1e\x95\x0b\x61\xda\x50\xb7\x74\x88\xb3\x57\xa4\x98\x94\x06\xb7\x7d\x4a\xbe\x3d\x22\xd1\xff\x89\xc4\x69\x8e\xc1\x50\x1b\xfd\x67\xe4\x90\x06\xba\xc3\xe2\xb5\x29\x1e\xd5\x0d\xd4\x3b\x3c\x8f\x3a\x0d\xc1\x8b\x3b\x4d\x21\x83\x3b\x24\x9e\xda\xa1\xd5\xea\x7f\xeb\x48\x3e\xec\x5d\xf7\xc8\x51\xca\xc4\x00\xc1\x1c\x1d\xda\x13\x7a\x25\x18\x53\x08\x6a\x4e\x58\x96\xce\x52\x3d\x11\x83\xc4\xef\x8f\xcf\xc1\xd0\x0d\xd4\xb7\x02\x25\x6b\xe1\x98\xa0\x38\xa4\x10\x34\x45\xe6\x34\x49\xb2\x34\x8f\x94\xb2\x64\x9b\xd9\x04\x61\x16\x1e\x5b\x0e\x5b\x9e\xf2\xf2\x66\xca\x56\x84\xcf\xd2\x0a\xde\x1a\xfd\xd6\x01\x3b\xee\x64\x92\x29\x17\xf3\x79\xb6\x42\x22\x96\xff\x83\x56\x31\x9b\x40\xd4\xae\x29\x60\x02\x5f\x3f\xd6\xd7\x5b\x50\x53\xcf\xa6\xa6\xaf\xed\xc5\x7f\x09\xc8\xcb\xab\xca\x64\x6f\x95\xce\xa7\x73\xb5\xaa\xdd\x47\x0f\xd9\x8c\x97\x32\x2e\x55\x57\xff\xd3\xb6\xe2\x81\x3b\x61\xbc\xe1\xe2\xa9\x5e\x49\x5f\xa7\xa7\xfc\xca\xb4\xef\xdd\x2e\xe9\xbf\x03\x8f\xa7\xa9\x8b\x5f\xd1\xb0\xce\xc4\x5e\xe7\xef\xd4\x1f\x8f\x8f\x48\x74\x60\x2f\xba\x36\x0c\x7a\x27\xb7\x79\xfc\x0d\xc7\xd7\x0c\xcc\x9b\x4a\xd3\xb1\xb6\x2a\x78\x33\xf0\xdf\xd6\x6e\xc5\xca\xaa\x15\x4f\xdb\xd6\xb8\x07\x0f\x78\x2e\xe3\xa9\xf7\x08\xf8\x70\x44\x7b\x7b\xe4\x75\xae\xe3\x06\x1d\x3f\x1e\x13\xbe\x3d\xa2\x69\x46\xf8\x42\x1e\x89\x2d\x68\x02\x9f\xb4\xf0\x3b\x6c\x4b\xcd\xb7\xe9\x1c\xe3\xe5\x2d\x66\x74\x91\x57\x69\x66\xf8\x9a\xa6\xe8\xbe\xb3\xe1\x80\xa8\xa0\xbe\x27\xe4\x84\x65\x99\x1b\xd7\x67\xab\xf7\x0c\x64\x10\x8d\xe3\xc5\x6c\x91\xd1\xca\x8a\xc2\x30\xd7\xff\x9b\xde\xbb\x2e\x21\x97\xf4\x96\x91\x72\x51\x30\x19\x97\x8d\xa2\x3d\x60\xc7\x69\xdf\xd1\x16\x84\xaa\xf8\x2b\xa1\x7d\x4b\xdb\x8a\xe3\xd5\xd0\x59\xc6\x59\x5e\x8e\xeb\xdf\xf9\x02\x02\x59\x12\x56\x61\x14\x29\x45\xbe\x1d\x35\x18\x80\x23\x01\xee\x45\xa3\x15\x89\xa7\x0c\x2c\xf3\x26\x39\xa9\xf6\xd5\xd2\x1c\xea\x94\x96\x52\x7c\x43\xac\x79\x3f\xd9\x5e\x58\x24\x00\x39\xcd\x8a\x3f\x9c\x21\x97\x4e\x73\x52\x0f\x6c\xb4\xd5\xae\x4b\x21\xb1\x49\x54\xfb\x47\x32\x86\xd5\x89\xfd\xb4\xa3\x6f\x47\x8c\x14\x6c\x17\x06\x90\x98\xc8\xea\x35\x0e\xfb\x61\xf4\x48\x1d\x44\xa9\x57\xa9\x24\x3c\x9f\x70\xd0\xb6\x14\x7a\xc1\xd0\xbe\xa3\x93\x14\x47\x77\x06\x40\xea\x3e\x66\x2c\x91\xd7\xff\x8c\xde\x13\x2f\xc6\x73\x93\x0c\x51\xa5\x19\x2e\x89\xa1\xc5\x8d\x8c\xc8\x03\xf9\x6d\x8b\xca\x1d\x96\x7b\xaf\xf5\xf6\xbe\x3f\x7a\xfb\xf6\x83\xa0\xed\xf6\xde\xb6\x5c\x4c\xe8\x16\x33\x37\x70\x24\xb5\x9b\xf0\x4b\xff\x9d\x14\x33\x4f\x29\x26\x7d\xf6\x58\x64\x7b\x64\x1e\x97\xfc\x92\xeb\x10\x70\x5e\x80\x65\xab\x23\x03\xde\x3d\x38\x01\xf4\x4a\x94\xbc\xb2\x33\x98\x1d\x98\xad\x7c\xd8\x61\x62\x23\x5e\x54\xd7\x8c\x96\x3c\xb7\x34\xc4\xea\x8c\xca\x67\xe1\xdb\x86\x18\x5c\x25\x6d\x59\x8d\x88\xe9\x56\x9c\x93\x8c\xe7\x13\xd4\x59\xb9\x6d\x05\x3a\x01\x58\xbe\xab\x71\x0b\x4c\x33\x51\x5b\xbc\x1f\xbb\xfd\x86\xa6\xd9\x6c\xc4\x12\x41\x5a\xa8\xce\x70\x7b\xf0\x1a\xb2\xba\x32\xeb\x4d\x76\xf5\x36\x7c\x1b\x00\x57\x68\x9a\x51\x3a\x63\x82\x77\x66\xf7\xf3\xb4\x60\x09\x76\x1b\x6a\xd4\x9e\x9e\x69\xc2\x3c\x6c\x4a\xf3\x97\xf1\x49\x2b\x5a\x43\xee\x07\x38\x82\x54\x2f\xa2\x69\x2c\xc4\xa7\xca\x15\xd0\x3c\x53\x4d\x16\xf2\x0b\xb8\x38\xc4\x16\x9b\x15\x78\x4b\x8c\x1b\xa5\x23\x51\xd5\x73\x38\x79\x54\xb3\xe3\x9f\xb4\x46\x32\xb2\xa5\x57\x09\xfd\x61\xa1\x62\xc0\x93\x65\x9e\xc8\x05\x04\x63\x23\x7a\x43\x35\x4d\xf3\x5b\xcc\xfa\xa0\x88\x2e\xfc\x74\xb6\xf4\x01\x20\x46\x62\xf4\x17\x01\x26\xe2\x9e\x14\x4f\x48\x34\x93\x41\xea\xda\xe2\x85\x6e\x10\x05\xad\x65\xd9\x09\x6c\x28\x21\xa4\xe5\xc9\x9b\xa6\x86\x10\x39\x41\xae\x00\x3a\x27\xdf\x91\x7d\x70\x64\x71\x8c\x0e\xb5\x5c\xb1\xa7\x4a\x6a\x94\xef\x95\x7e\xd0\x64\x92\xf8\x3c\xc9\x58\xa9\x01\x90\x07\x83\x3e\x04\xf4\x83\x0f\xef\x60\x78\x2e\xfe\xf3\xd3\xcd\xb3\x7d\x05\x14\xd0\xa0\xec\x57\x7d\xd8\x08\x45\x60\xbc\x8c\x41\x2d\x19\xba\xb8\xb1\x67\x71\x0d\xab\x06\xdf\x88\x2a\xef\xde\x88\x2a\x3a\xda\xe1\xb1\x2c\x66\xab\x85\x80\x98\x6a\x11\xf6\xed\xa0\x8e\x5d\x59\x57\x21\x3f\xd9\x6a\xce\xc8\x0e\x89\x60\x50\x78\xbc\xfe\x32\xbc\x7a\xd9\xc5\x0b\x33\x1d\xaf\x5a\xe2\x43\xbb\x59\x93\xa1\x87\x6c\xc6\xdc\x45\x77\x89\x4f\x1d\xde\x39\x3a\x5b\xfc\x31\xc3\xab\x24\xe6\x32\x70\xa6\xc0\x93\xf3\x84\x91\x6f\x05\xb9\x7c\x35\x8e\x4c\xc2\x81\x1a\xf6\x87\x75\x0e\xcf\xc5\x91\xba\x4d\x25\x2c\x0d\x99\x4a\x46\x67\x0e\xfa\x83\xb4\x94\x8f\xcf\x68\x51\x75\xbb\x5d\x59\x47\x57\x55\x2a\x69\x45\x0d\x60\xdc\x92\xa3\x41\x3a\x40\x37\x92\xa8\x24\x13\x5e\x05\xd0\x5f\x3a\xaa\x29\x3c\xeb\x11\xa8\x85\x2a\x74\x38\x91\xe8\xfa\xb8\x05\x1a\x89\x25\x61\xe5\x77\x84\xfc\x65\x51\x56\x0a\xd4\x42\x89\x95\x66\x5c\xa0\x48\x90\x5e\x56\xe0\x30\xc6\x8a\x82\xe6\x15\x69\x01\x7c\x46\xf4\xf6\xfe\xeb\x5e\xd4\xee\x90\x16\x00\x69\x88\x3f\x13\xf8\xf3\xd5\x25\xfe\xc5\x34\xae\x85\x68\xac\x75\xfc\x4a\x96\x1a\x47\x6d\x54\xcd\x66\x1c\x79\xc7\x85\xe7\xf0\x25\x5e\x66\xa5\xfb\x4d\xab\x52\x63\x87\xe8\xa6\x0c\x86\x86\xe8\xa1\xc6\x5c\x87\x89\x45\xb4\x58\xc7\xa1\x39\x20\xbd\xfb\x28\x74\xa1\xc0\xb1\xb5\x34\xe4\x3d\x57\x45\x1e\x26\x26\x49\xe7\x5d\x2a\x04\x75\x69\x57\x7e\x63\xce\x30\x9e\xea\x77\x75\xfb\x9c\x71\xf9\xc1\x2c\x3e\x32\x58\xcb\x76\x92\x4d\x18\x7a\x35\x29\xf6\x38\xbf\xe3\xb7\x32\xe7\x87\xf2\xd5\xa8\x38\x19\x5e\xee\x5d\x5f\xaa\x32\x96\xf4\x24\xe8\x67\xe1\xc0\x6a\x80\xed\x0c\xbd\xdf\xca\x34\x63\xb9\x41\xe4\x68\xd6\x58\x0b\x39\xe2\xe5\xf0\xfc\xd2\xb3\x04\xc7\x0a\xae\xb6\xb2\xfc\x6a\x63\x99\xe3\xec\x8b\x36\xf9\x07\x52\x39\xa4\xdb\x23\x50\xb9\x75\x7e\x7d\x19\xf2\xbc\x28\x59\x85\xc5\x2e\xd1\x94\xa9\xd4\x48\xb6\x20\x2d\xdb\xdd\xef\xa9\x86\x8f\x17\x15\x9f\x01\xf6\xec\x4b\xb6\x84\x34\x5f\xad\x8b\x97\x4d\xcd\x8b\xc2\x03\x5a\x14\x29\x9d\x30\x0c\xc8\x08\x77\xd3\x70\x17\x29\x07\x4c\xef\xaa\xb4\x17\x16\x36\xf0\x52\xdf\x44\x70\xf5\xd4\xc1\x72\xc5\xa6\x17\x52\x84\xb3\x76\xdf\x47\xdb\xd9\xb4\xdf\x18\xb6\xbd\x77\x7a\x36\xb8\x1e\xde\xac\xdb\xb7\xd3\xb3\xc1\xc6\x6d\x53\xb6\x58\x1d\x13\x87\x25\xfa\xbd\xb6\xe3\x78\xda\x3f\x40\x14\xad\xb3\xc1\xe0\xc7\x4b\x47\x9d\x50\x77\x39\x9e\xcf\x33\xe9\x5c\x38\x50\xa1\x1b\xd0\x61\xa3\x9b\xe0\x53\xd3\xf8\xd5\xc5\xa5\xa5\xb6\xc1\xb0\xbe\x06\x38\x31\x5b\x8f\x53\xdb\x72\x44\x4f\x45\xc3\xe2\x77\xa4\xff\x54\xbc\xfd\xcf\x7b\x6d\xcb\xdb\xc9\xad\x12\x67\x8c\x16\x3f\xf0\x19\x6b\x59\x68\xa5\xb5\x56\x7f\xba\x19\x82\x4b\xea\x35\x9b\x00\x64\xf3\x22\xcb\x3a\x2a\x73\x36\x56\xf9\xd8\x34\xc7\x67\x7a\x8e\xc3\xc1\xcb\xf0\x0a\x96\xac\xba\x66\x90\x4f\xea\xa7\x34\x61\xdc\xa2\xd1\x60\x8b\x5f\xea\x16\xaf\x1a\xdb\xbb\x2a\xd2\x49\x9a\x7b\x07\x2b\xd8\xda\x57\xba\xb5\xe3\x9f\x1b\x9b\xfb\xb9\xa0\x73\xf4\xc7\xde\xd4\x5c\x7f\xff\x40\x39\x69\x16\x15\x62\x4d\xd9\x60\x97\xee\x0e\x5b\x60\x52\xed\xe6\xc5\x47\x62\x3a\x11\x4d\x6d\xea\x7d\xdf\xac\xf6\xcd\xe0\xac\x71\x3a\xd8\xe2\x4f\x88\x79\xb2\xa9\xcd\xa7\x3d\x39\xa3\x29\x5f\x4a\xcf\xe4\x11\x2d\x9a\x9a\x1e\xaa\x02\x5b\xb6\xfe\x85\x6c\xfd\x18\x70\xc3\x9e\xf7\xc8\x2e\x10\x6d\x4b\x9e\x89\x36\x5c\x2e\xc1\xce\xd6\xa0\xed\xad\x3f\x75\x5f\xc8\x45\x92\x34\xb7\xbb\xd4\x9b\xdb\xdc\x99\x21\xd1\xed\x49\xe1\x4b\x49\x5a\x27\x34\xbe\xa5\x45\xc1\x97\x18\xf9\xc0\xf2\xa4\x04\x85\x0d\x66\x5e\x17\x33\x3d\xf9\xf1\xb2\xbd\xfe\x6e\xd1\xe5\x87\xa2\xfa\x89\xae\xbd\x69\xae\xfd\x5e\xaf\x77\x60\x3b\x78\x72\xe5\x42\x08\x8e\x88\x1a\x47\xc3\xf4\xed\x86\xb9\xb4\x2c\x5e\x41\x5d\x2a\x75\x8f\x65\x84\xd8\x38\x58\x17\x4a\x72\x18\x5e\xd6\x55\x1e\x83\x8b\x36\x64\x70\x59\xe3\xd5\xde\xef\xf5\xf6\xd7\xce\x03\x2c\x5f\x05\x9d\x94\xbf\x77\x2e\xe0\x7d\xfd\xe7\x4e\xa5\xaf\x4e\x14\x9c\x15\x50\xcd\xf1\xaa\xe2\x33\x70\x97\xac\x56\x84\x2f\xaa\xf9\xa2\x0a\xf7\x02\x55\xae\xf2\x2b\x28\xb2\xc5\xf6\xf7\xfb\xcd\x7d\x09\x72\x04\x27\xeb\xb5\x5d\xfd\xc8\x56\x65\x55\xf0\xdb\x6d\x88\xed\xa9\xbc\x9b\x05\x95\x02\xe0\x1b\xf8\xb6\x40\x18\x8e\xb4\x72\x08\x19\xf2\x96\xad\xd6\x53\xfb\x8c\x55\x14\x08\xfd\x0c\xbd\x52\xb6\xe8\xf8\xeb\x50\xc7\xc7\x59\x15\xee\x17\x23\xe4\x35\x2f\x60\x7e\x7c\xdc\x30\x22\x21\x18\xa4\x7c\x51\x1e\x67\x15\x0c\xec\xe7\x29\xad\xde\xbb\x4e\xd4\x0f\xa9\xa9\xb1\xb9\x36\x54\xa6\x56\xa5\xc3\xcd\x7d\xd9\xc5\x41\x1d\x06\xcb\x17\xd9\xee\xd6\xf2\xbf\x1e\xef\xf7\x09\x13\xde\x6a\x08\x8f\xb6\x98\x63\xb0\xa7\x26\x5e\x64\xd3\xb2\x6a\x10\x0c\xb2\x8e\x27\xf9\x42\xde\xcc\xaf\x4b\x26\x68\x84\x15\x10\x8d\x35\x8c\x0b\xc6\x72\x72\x02\x3e\xc8\x36\x71\x7d\xf1\xd5\x41\xd3\xa3\xa0\x6b\x6f\xc3\x6a\xf4\x7b\x5f\x3c\x3f\xd0\x48\x4f\x0a\x8f\x92\x96\x0e\xce\x93\xee\xc6\x8a\x52\xd4\x01\xc5\x4e\x5b\x92\xe4\xc5\xf8\xc8\x0e\x34\x2e\x38\x70\xc1\xcf\x75\xd7\x91\x79\x63\xe3\xe1\x15\xdf\x30\xc9\x20\x3f\x69\x5a\xab\xd9\x14\x3f\xa5\x71\x7b\xb0\x32\x7a\xb7\x55\xb7\xff\xd6\x99\xa1\x5e\xef\x0b\xf9\x02\x17\x34\xbe\x65\x42\x5e\x99\xd3\x52\x0a\x1b\xdd\xa6\x2d\xd5\x85\x5f\x89\xb2\x6b\xf6\xd4\xf3\xda\xdc\xac\xd4\x59\x2f\x4a\xd9\xd2\x50\x40\xa2\x22\xae\xdb\xa1\x25\x5e\x69\x84\x9c\x72\x4a\x0b\x44\x81\x0c\xf8\xc8\x88\x07\xb2\xe6\xe4\x87\x00\x8c\x98\xdb\x23\x2c\x0f\x4b\x7d\x89\xeb\x5c\xf8\xd1\xc6\x90\xcf\x32\x13\xa6\x1a\xe8\x57\x62\xb5\xa1\x34\x47\x15\x18\x82\x0d\x67\x20\xd1\xdc\xe3\x6c\x91\xc8\xa4\xba\xbe\x5b\x9b\xf8\x6d\xd0\x83\x29\x0c\xfa\xa4\x64\x90\x22\x11\x7c\x5a\xc0\xdd\x4d\x41\x70\x82\x47\x9c\x90\xf1\xc1\x93\xa5\x4b\xc8\x8d\x42\xfa\x55\x80\xbd\x4a\xf2\x1c\xf4\x25\x86\x2e\xc0\xb6\x4b\xfd\x03\x9a\xfc\x45\x23\x7a\xf6\xe2\x25\x89\xf5\x0c\x6d\x53\x26\xea\xab\x66\x39\x9b\xf1\x3c\x8d\x31\x8e\x08\x1c\xcb\x4b\xad\x41\xa5\xca\x9c\x68\x70\xab\x35\x34\x9d\x54\xa9\xe1\x0a\x0a\xc9\x97\xa0\x4e\x4d\xe1\x0d\x27\xc6\xa7\x09\xb3\x0d\x8c\x01\x77\x2c\x47\xf7\x78\x6b\xc4\x34\x5f\xc9\x49\x89\xb6\xb4\x6b\x7b\xa2\xc1\xe8\x7d\x2f\x9e\xc1\xa0\x4f\x8e\xd6\x6c\xa1\x06\x39\x46\x24\xb0\x82\xc9\x11\x1b\xa2\xd1\xb6\x54\xb0\x21\x9e\xc1\xb5\x65\xf7\x20\x16\x6d\x5d\x0f\x83\xe1\x39\x69\xad\x71\x65\x6a\xd7\xf1\xf6\x11\x6f\xd6\x0c\x61\xc4\x26\x69\x8e\xfd\x83\x01\xfa\x4d\x84\x5a\xc3\x19\x5d\x91\x8a\xde\x32\x04\xb0\xe1\xd2\x90\x6a\xa3\x82\x3b\x4b\x31\x3c\x5f\x3b\xd0\xab\xe1\x80\xb4\xae\x30\x2f\x41\x3e\x21\xe8\x5b\x48\xb4\x36\xf4\xc1\xa3\x7c\x17\x75\xc8\x98\x0b\xb1\x45\x65\x8b\xd0\x5a\x76\x19\x81\x09\x58\x20\x98\x9e\xaa\xb0\x80\xc6\x2b\x2c\x2f\xc3\x79\x87\x37\x62\x66\x27\x67\x17\xde\x74\xae\x36\xac\x3b\x28\xe8\x6b\x83\xfe\x59\x30\x4a\x69\x8e\x5f\xd1\x3d\x58\x66\x3b\x77\x73\x1b\xa4\xa5\x90\x55\xfd\xeb\x01\x6a\xb9\x9d\xbe\x5c\x64\x19\x69\xbd\x7c\x7d\xa1\x4d\xff\xc3\xf5\x2a\xb7\xc1\xa0\xff\x26\x7a\x7b\xdf\xeb\x45\xef\x48\x4d\x65\x6e\xc7\x45\xfc\x7d\x91\x16\x2b\xd2\x3a\x7b\xf9\x7f\x8d\x57\x41\x41\xf3\x72\x06\xe0\xab\xe5\x92\x15\x60\x71\x9f\xb1\xb2\xa4\x13\x66\x9f\x56\x65\xe4\xae\x97\x12\x53\x87\xd8\x7a\xf0\x4a\xc8\x11\x9a\x44\x2e\x3f\xc0\x61\x2e\x19\x84\x60\x9b\x1b\x12\x5f\x8c\xf0\x14\x9e\xad\x9f\xc2\xb5\xd8\x53\xed\x22\xd1\x6e\x68\xe4\x2b\x68\x24\x04\xc7\x60\x30\x2c\xd2\x7c\x22\xda\xf1\x1c\xcc\x8d\x5c\xd8\x3a\x19\xea\x35\xba\xe4\x77\x0e\x00\xb6\xbc\x9f\x30\x49\x42\x6e\x03\xd3\x28\x24\x96\x8e\x4a\xbb\x8c\x10\x92\x54\x3b\x5e\x40\x9d\x19\x2d\x26\x69\xde\x11\x2b\x87\x01\xb4\xf0\xda\xe6\x1c\x00\x26\x05\xa9\xc5\xa2\xa3\x86\xc9\x3d\xdf\x3c\x39\x1c\xe6\x05\x1b\x57\xbe\x9f\xca\x0f\xbc\x48\x7f\xe3\x79\x45\x33\x72\x43\x47\xa4\xf5\xc3\xcd\xa6\x49\x82\xa9\xbb\xa2\x23\x52\x56\x7c\x8e\x88\x33\xf8\x01\x1d\x5f\x71\x2a\xe2\xe9\xce\x39\x19\x2f\x0a\x84\x1f\x7e\xa2\x6b\x94\x3a\xfa\x15\x80\xb1\xd0\x27\x2c\x4b\x73\xdf\xc6\xa5\x66\xf7\xf5\xe6\xd9\x8d\x79\xb1\xa4\x45\x72\x43\x47\xc3\x8a\xcf\xbd\x0d\xbc\x48\x73\x46\x5e\x30\x96\x90\xd6\xc5\x8b\xb6\xf3\x40\x82\x2a\x38\xa6\x8b\x12\x44\x19\xd0\xfc\x8e\x45\x41\xc8\xa0\x85\x30\xfd\xb9\x95\x45\xa5\x4b\xc0\xeb\x53\xab\x8b\xe1\x64\xda\x1a\xe3\x86\x19\xd0\xad\x66\x30\x13\x63\xf4\xc6\xfe\x13\x2b\xaa\x34\x56\x5b\xf3\x93\xd9\x1a\x1d\x3d\x88\x31\xe7\x17\x2f\x1a\xba\x1e\xb9\x87\xc7\x1a\x91\xc5\xeb\xf0\x62\x26\x17\xe8\xc5\x8b\x07\xf7\x10\x6f\xd1\x83\xd2\x97\x2b\x04\xa3\xd6\xe0\xda\x25\xb2\xc0\x29\x92\x64\xc4\x5d\x9f\xc1\x35\x74\x92\x6c\x5e\x65\xad\xa6\x43\x15\x57\xab\xe7\x19\x52\xa6\xe9\xb8\x22\x57\x8b\x8a\xb4\x86\x57\xed\x0e\xa1\xb7\x94\x5c\xf0\xf8\x56\x7e\xe8\x91\xd6\xc5\xb0\xdf\x76\x15\xea\xe4\xfb\xbe\x97\x74\x23\xcd\xc9\xf7\xfe\x33\xa2\xc6\xc8\x1a\xc7\x28\x41\x56\xfa\x51\x60\x44\xe7\x39\x69\x0d\xcf\x1b\x06\xd4\xab\x0d\xa8\xf7\x80\x01\x8d\x37\x0d\xa8\xe7\x0e\x48\xbf\x0d\x57\x39\x69\xfd\x72\xf5\x52\x77\xfe\x92\x57\x6a\x93\xc4\xa3\x64\x78\x70\x7d\xe0\x1c\xc0\x8f\x73\x55\xe0\xbb\xe0\xb8\xfa\xfd\xf5\x97\xbe\x19\xc6\x78\x2c\xc6\x61\xd1\xed\x1f\x3c\x90\xa7\xeb\x07\x32\xa0\x79\xcc\x32\xd2\x1a\x1c\x9b\xa5\x38\x1f\x13\xb8\xda\x92\x05\x06\x19\x6a\x0e\xde\x78\x54\xd8\xfe\x15\x10\xf9\x3f\x9b\xb1\x24\xa5\x15\xcb\x56\x16\x7f\xf2\x48\xa6\x74\x15\xec\x29\xbb\x67\xf1\xc2\x9a\xc5\x79\x85\x50\x29\xf2\xf6\x02\x8b\x6e\x51\x70\xcb\xe1\x53\xba\xa7\xc9\x28\xe2\x26\x0e\xa1\xef\x3d\x1e\xbe\xbf\x80\xb6\x2e\xdf\x31\x02\x10\x32\x9a\xa9\xaf\x51\x7e\x07\x0b\x88\x07\x0e\xb8\x01\xf0\x7c\xe7\x2a\x71\x8f\x61\x18\x6a\x78\xe0\x5a\xca\x13\x34\x87\xa7\xc0\x49\x42\xef\x00\x10\x7d\xdc\xce\x07\xc4\x3d\xf8\x18\x81\x10\x7d\x17\x79\x07\x7e\x31\x2a\xab\xb4\x5a\x54\x8c\xb4\x86\xaf\x4f\x9a\xee\xbe\xc1\xf1\xcb\x86\xc5\xa3\xc1\xcb\x4f\xac\xa9\xc5\x63\xa1\x80\xd8\x3a\x1b\x0e\x1a\x1e\x88\xfe\x68\xfd\x1e\x98\x50\x1d\xf1\xe1\x6c\x38\xa8\x95\x08\x47\x06\x58\xf0\x73\x2d\xdb\x35\x4b\xba\xc8\xa3\xcb\x96\xe3\x9d\x64\x87\x3a\x1b\x77\xdb\xb3\xe1\xa0\xc1\xdd\x16\xdb\xb3\xba\x54\x61\xcd\x6a\xa4\xed\x06\xef\xa8\x90\x5f\xad\xef\xde\x23\x63\xbb\x55\x53\x5e\x74\x2c\x38\x90\xb6\x4e\x1b\x59\xbe\xaf\xc6\x4d\x27\x77\x8f\x3c\x27\xe1\x44\x3a\x0a\xa9\x39\x2d\x82\x09\x6d\x3a\x98\x01\xa2\xdb\xed\x5a\x51\xfc\x09\xbb\x27\xad\xf3\x97\xa7\x9a\x78\x2e\xd2\x5b\xc1\x23\x01\x5b\xd0\x41\xe1\xf3\x56\x41\xd2\xfc\xa2\xd9\xc1\xe0\x98\x9f\x7f\x21\xc6\xec\x48\x7d\x6f\xa2\xd3\xcd\xef\x9a\xe8\x2a\xc0\x3d\x80\xe7\x3d\xb0\x3f\xad\x97\x67\x17\x0d\x03\x1c\x2d\x2a\x92\x70\x56\xe6\x51\x45\x68\x92\xc0\x0b\xdb\xc0\x68\x3e\x7f\x16\x18\xde\xd9\xa7\x3d\xbb\x61\x06\xf5\x94\x2f\xf3\xf5\x0c\xea\x22\xc3\xc0\x9a\x21\xab\x04\xaf\x3a\x6c\xd8\xfd\xe7\xcf\x03\x43\xfd\x61\xab\xa1\x2a\x2e\xd2\xfd\x30\xf1\xe6\xd0\xf6\xc3\x50\xc1\x90\xa5\xe8\xe1\xfa\xdc\xe5\x6f\x16\x73\x90\x0a\x9a\xb9\x97\xe7\x49\x60\xbc\x97\x5b\x08\x2d\xd8\xef\x45\x98\x00\x86\xa8\x18\x42\x6e\x61\x9f\xb4\x86\xc3\x7d\x23\x40\x62\x8e\x0d\x3e\x26\xdf\xef\x13\x9d\xa7\x04\xd6\xd5\x8d\xbd\x33\xc9\x5a\x2c\x44\xe3\xb5\xaf\x6c\x60\x7a\x2c\x30\xbd\x97\xeb\x9f\x56\x67\xf0\x4f\xc5\xe0\x9f\x86\x06\xff\xf4\xcf\x1f\xfc\x38\x30\xf8\xab\xf5\x83\x3f\x65\x77\x69\xcc\x4c\x70\x19\xaa\x1e\x5a\xa7\x83\xa1\xf5\xc8\x48\x38\x16\x4a\x4e\x07\x43\xe3\xa9\x8d\x42\x06\x36\xb0\xab\x1a\x50\x44\x00\x7a\xed\x37\xbf\xdc\x9c\x5d\x5f\x02\x70\xdd\x43\xd9\x9d\x01\xcf\xcb\x34\x61\x85\x29\x29\xc6\x75\x7a\x36\xb8\xfe\xbf\xc3\x61\x47\xe1\x8c\x54\x2a\x9a\x99\xb1\x19\x91\x2e\x18\xa3\xac\x81\x74\xbf\xee\x05\x96\xe7\xd5\xfa\x17\xad\x31\xb8\xa0\xe6\xc0\x59\x03\xf8\x08\x3b\xef\x1e\x7a\x89\xa4\x0b\x24\x8e\x05\x2d\x12\x96\x90\xe3\x82\x51\xd2\x1a\xbe\x3a\xd6\x8b\xff\x73\x9a\x65\xc0\x57\xe9\x75\x68\x98\xdc\x97\x81\xc9\xfd\xb4\x49\xa9\x92\xd4\x3b\x3f\xfb\x94\xce\xbf\x0a\x74\xfe\xf3\x86\x53\xa3\xe6\xae\x48\x6e\x78\x35\x7c\x78\xc7\xa1\xdb\xf3\x97\xad\x8e\xab\x39\x8c\x56\x1c\x65\x6b\x38\x38\xef\x20\xbf\x7a\x7a\x36\x38\x37\x6f\xa5\x94\x07\x75\x42\xce\xf3\xd3\x2e\x21\x57\xa3\x92\xc3\xeb\x2e\x84\x62\x31\x15\x54\x47\x92\x38\x22\xad\xd3\xe3\x86\x0b\xff\x6b\x1a\x18\xf2\x7f\x6c\xbe\x40\x5d\xa8\x1e\x84\x2a\xfa\xae\x7f\xb8\x1f\x7b\xac\xe2\xba\x30\xd1\xd6\x60\x78\xee\xc4\xe4\x64\x8c\xca\xec\x96\x33\x5e\xd6\x71\x00\xe4\x11\x87\xe8\xd1\x86\xd9\x8c\x02\xb3\x79\xf3\xbb\xce\x54\x38\xbe\x4b\x45\x4a\x34\x44\x73\xa9\xcf\xeb\x0e\xe4\x60\x78\xee\x1f\xbf\x40\x54\x93\x5e\x9f\xd7\xd2\x9d\x54\x8b\x39\xe2\xf6\xdb\xbb\x1a\x0e\xf6\x5e\x5d\xee\x1d\xbf\x1a\x90\x98\xcf\x66\x34\x4f\x4a\xa9\x08\xd3\xea\x67\x85\xd9\x62\x2b\x9e\x1f\xc9\xec\x58\x70\x5b\xa9\x5c\xa0\xca\x53\x35\xad\xa4\xcf\x2c\x2d\xd1\xf5\xd5\x18\x02\x9c\xfe\xb9\xd2\x50\xf9\x1b\x04\x60\x37\x6b\x2e\x9d\x48\xa6\xa0\x6b\xd8\xc3\x38\xb0\x87\x6f\xdf\xae\x3f\x45\x01\xcd\x38\xac\x06\xf8\xc8\xb6\x4d\xaa\x5c\xb9\x44\x05\xcb\xb0\xb4\xd4\x9c\x70\x5d\x1d\x33\x01\x36\x8c\x2c\xc4\x6c\xbc\xfb\x1d\xd4\x55\x93\x51\xae\x82\x32\x8a\x71\x06\x58\xb3\xa8\x76\x3d\x27\xee\xd3\x0a\x76\xd3\xa2\xf3\x92\xfa\x51\x08\xb6\x47\xad\x36\x64\xae\x13\x52\xc4\xba\xda\xdd\xfc\xac\x9d\x9f\x13\xc1\xb2\xa9\x80\x2c\x2b\x88\x6f\xc5\xaa\x35\x7d\xe9\x26\x44\xf5\xae\x96\xcd\x68\xb1\xaa\x07\x33\xbd\xe9\xbd\xeb\x02\x50\x5e\x6b\xef\xaf\xad\xb7\xc9\x4e\xfb\xb0\xd5\x7d\xd2\xfe\xd7\x3d\x69\x9c\xc4\x00\x8f\x95\x19\x5e\xbd\x3a\x39\x12\x2d\xbf\xd9\x7f\xe7\x38\xd0\x18\xd1\xed\x0a\x44\x37\x51\xa4\xff\x2e\x00\x27\xe0\x99\x92\xc3\x20\x39\x57\xc3\x41\xd0\x27\xbe\x3e\x9a\x76\xdb\xc2\x94\x5a\x27\xce\x5d\x79\xe2\x1c\xd8\x68\xe3\x15\xb9\x94\x06\x84\xd6\xab\xcb\x87\x3f\x5a\x21\x1e\xf3\xaf\xff\x4c\x3e\xe4\xd8\x38\xaf\x92\x57\x32\x1f\x9e\x7a\x47\x5a\xc7\xaf\x06\x0f\x9f\x62\x88\x13\x7d\xff\xcf\x9c\x22\x44\xaa\xde\xef\xf7\xc8\x2e\x79\x9d\x83\x9f\x02\x64\x0f\x03\x00\x1e\x04\x45\x29\x19\xe1\xe0\x38\x4a\x2b\x96\x40\x8e\xa4\x32\x1d\x41\xc6\x54\xb4\x11\x6d\x64\xca\x0f\x30\xc6\x51\xf7\xf4\x82\xec\x2a\xfe\xff\x2b\x62\xc1\xec\xa0\xf1\xd9\x72\x6f\x2e\x49\x6b\xf8\xd5\xa0\x8f\x4f\x8f\xdd\xc2\xf7\xa6\x85\xe7\x1b\x5b\x78\x6e\xb5\xe0\xfc\xef\xe5\x09\xe0\x16\x9b\x31\xd3\xb2\x5c\xcc\x18\x81\x3e\x09\xcd\x96\x74\x55\x36\x6f\xb0\x3f\xab\x0b\x18\x53\x85\xce\xdf\x31\x47\x08\x09\x71\xc5\x65\xec\x8e\x65\xa4\xef\xcf\xe1\x72\x7d\xf9\x7d\xbf\xfc\xcb\xf5\xe5\x9f\xd6\xed\xcd\x82\xe0\xf6\x7b\x5b\x13\x97\xa4\x9e\xc6\xa2\x5b\xa9\xa8\xb6\xf3\xf9\x58\xe7\xf1\xa1\x9e\x86\x03\x98\x7a\x4f\x4c\x1d\x5c\x3e\xa6\xdb\xa2\x49\xc0\xcd\xf5\xd1\xc9\x6b\x86\x0c\xe8\xbf\x44\xae\xa1\xd7\x5f\xad\x7f\xf9\xe7\x2c\x95\x54\xe6\x3d\x8f\xda\xca\x4b\x59\x39\x5d\x1d\x67\xe9\x24\x87\xec\x33\x37\x42\xa4\x6b\x9d\x9e\x0d\x8e\x2f\x5e\x86\x9d\x62\xc7\x69\x96\xb5\xa2\x33\x1d\xc1\xf9\xf0\x65\x62\x65\x3a\x01\x76\xea\x0a\x2c\xdd\x03\x44\xdd\x92\x5c\x4c\xeb\xf4\x6a\x50\x53\xd5\xc0\xaa\xfd\xdb\x7f\xed\xaa\xa9\x27\x5a\xeb\xb4\x55\xa2\x45\x0b\x2a\x4c\xc2\x33\x01\x48\x38\x93\x41\xe9\x98\xed\x46\x30\x62\xf8\xe4\x7b\xf0\x21\x01\x78\xb3\xb6\x83\x19\x21\x77\x69\x2f\x32\x7e\x4b\xeb\xb7\x76\x4b\x78\x8a\x26\x16\xe4\x55\xc1\x63\x56\x96\x2e\x04\x5a\x21\xc8\xb7\x94\x89\xb9\x75\xb0\x46\x6c\x81\x40\x20\xc8\xdb\xff\xd1\x00\x6f\xe8\x58\xa7\x73\xc0\x9e\x0d\x2e\x8f\xc9\xd3\x67\x5d\xcf\x95\xcc\xc0\xf4\xb5\x0c\x04\x9e\xe5\x70\x66\x3b\x78\xa9\x3e\xbe\x6f\xea\x43\x01\x32\x36\xf6\x20\xe1\x20\xd7\x37\xbf\xe7\x36\x7f\x95\x0b\x5e\x71\x45\xaa\x82\xe6\x32\x31\x4a\xc5\x01\xb4\x07\xc1\xd6\x04\x17\x64\xfa\xdc\xe2\xe4\x35\x2d\xa0\x33\x41\xf4\x87\x04\xf8\xc6\x0b\x7d\x8b\x7b\xc5\x7e\x08\x14\xdb\xaf\x17\x3b\x0f\x14\x7b\xda\x75\x5c\x41\x31\x94\x17\x30\xdb\x21\x8b\x34\x16\x85\xeb\xbd\x0c\x40\x38\xaf\x59\x5c\x85\x28\xd8\x3e\x74\x4a\xbb\xeb\x4c\xea\xde\x7a\xf8\xbf\x6d\x7c\xf6\xe4\xd4\x82\xf1\xa2\xe2\xae\xfd\x37\xb2\xa7\x05\xbd\x70\x3c\xe6\xb4\x1d\x1e\x9d\xfa\xf3\x63\x03\x79\xd4\x86\xbc\xdd\x70\xd7\x0d\xf5\x01\x03\xb5\x06\x59\x0f\xfe\xde\xee\xa2\x75\xb5\x9d\xc8\xc6\x08\x7a\x6e\x0d\x2d\xdd\x22\x3e\xfc\x2d\xf2\xaa\x94\xcf\x7e\xcd\x28\xdc\xfa\xe9\xa6\xdf\xeb\xd9\xac\x51\xdb\x2a\xed\xdb\xb4\x5b\x3f\xdd\xec\xef\x3b\xa5\x9f\x58\xa5\xf7\x37\x96\xde\xb1\x4a\x3f\xdd\x58\x7a\x77\xfd\x48\x9e\xba\xe3\xee\xae\x1f\x89\x57\x7a\x6f\xfd\x48\x54\x69\x60\xdf\xb3\x2c\xe8\xb6\xc5\xe2\x29\xaf\x83\xfa\x85\x1e\xb7\x56\x80\x5d\x6f\x07\x7e\x7b\x12\xf8\x6d\x27\xf0\xdb\x6e\xe0\xb7\x6e\xe0\xb7\xbd\xa6\x47\x15\xe3\x47\xff\x4b\x18\x12\x89\x2c\x11\x10\x5d\xd7\xbd\x66\xde\xa0\xd6\x3e\x73\x90\xe6\x84\xce\xd7\x66\xb2\xd1\x7c\x9f\x18\x99\x28\xfc\xf8\xe8\x88\xe8\x5c\x86\xde\x1b\x2d\x03\x43\xa3\x56\x54\xf3\xed\x86\xa4\x3d\x33\x3a\x3f\xac\x3b\xfb\xeb\x6a\xed\x88\x7c\xf8\x40\xf4\x9f\xbb\x81\x56\xfa\x9b\x5b\x79\xe2\xb6\xd2\x0d\xb4\xb2\xbf\xb9\x95\x1d\xb7\x95\xbd\x40\x2b\x4f\xbd\x56\x1e\x91\x40\x10\x43\x63\x00\xab\x87\xab\xa1\x74\x05\xee\x81\x02\x60\x5d\xe5\x71\x4d\x76\x48\x24\x31\x75\xf5\xae\x7c\xea\x25\x78\x42\xe3\x5b\x65\x6b\x3b\x3d\x1b\x9c\x18\xf5\xeb\x4f\x37\x5f\xec\xa3\x57\xf3\x62\xde\x25\x5b\x9b\x7a\xe0\xd8\x7c\xb9\x41\xc3\x4d\xef\x18\x91\x51\xa8\x2d\x88\x2d\x08\x72\xb4\xcd\xae\x86\xa1\x00\x01\x37\x95\x28\xe4\xdb\xb2\xba\xb8\x0e\x77\xd1\xec\xf0\xd7\xe0\xd6\xff\xd1\xf1\xf6\x5a\xd2\x22\xb1\x56\xef\x85\xbd\x7a\xfb\xfd\x4f\x5d\xbd\xaf\xd7\xaf\x9e\xad\x0c\xb9\x65\xab\x39\x4d\xa0\xf3\x1f\x5f\x1d\xd7\xfc\xe6\xa0\xb9\xa3\xcd\xba\xfb\x50\x94\xf0\x8f\xd8\xf4\x51\x1d\x8d\xe3\xa5\x90\x78\x33\xb7\xef\xba\xcf\x1e\xf4\xfd\xed\xef\xec\x5b\xc2\x9b\xd8\xaf\xb6\x76\x70\xcb\xf8\x92\x15\xe8\xe2\x16\xf3\x22\xc7\x54\x42\x25\x48\x6c\xeb\xd5\x41\x8f\xac\x8c\xf9\x32\x09\x49\xcc\x27\x79\xfa\x1b\x3a\x32\xa3\xc3\xad\xc6\x3d\x9e\xce\x2f\x44\x47\xa2\x9f\x93\xc5\x64\xc0\x67\x73\x5a\x91\x82\x49\xcf\xf7\xb4\x44\x7d\xb7\xaf\x67\x82\xd9\xbf\x58\xbf\x91\x2f\x16\x59\x26\xd3\xde\xb6\xae\xcf\xc3\x52\x5d\xdc\xb8\x80\x16\x4e\xa8\x6f\xc9\x96\x1f\xac\x55\xbb\x64\x33\x5e\xac\x40\x46\xdb\x5b\xe4\xe2\x3f\x5b\x6b\xcc\x60\x18\x59\xe0\x6d\x9c\xad\x9f\x9d\xe5\x5e\xb7\x4f\x5a\x17\xc3\xfd\xb6\xeb\x5d\x07\x8e\x4f\xbe\xc1\x9c\x96\x75\x0f\x3b\xe8\x2c\xdf\xe4\x5e\xb7\xef\xba\xd7\x59\xbd\x3f\x15\xbd\x3f\x0d\xf5\xee\x5b\xbc\x1b\x7b\xe7\x9b\x7a\x7f\xda\xd8\xfb\x7e\x87\x5c\x83\x37\xaf\x18\xc4\xf5\xb6\xa3\xb8\x0e\x8d\xe2\x43\xf3\x28\xae\x1f\x30\x8a\xfd\xe0\x28\x42\x3b\x11\x1c\xc5\xc7\x4d\xa3\x68\xde\x89\xbe\x35\x8a\x7e\x70\x14\xfd\x6d\x47\xf1\x9f\x9b\x46\xe1\xf9\x7f\x62\xfc\x35\x49\x63\x9e\x23\x82\xbe\xb8\x9a\x97\x69\x9e\xf0\x25\xa9\xd2\x2a\x63\x96\x11\x0c\xee\x04\x84\xc9\x83\x51\xf9\xc5\xdc\xa8\x86\x37\xd1\x06\xd5\x5e\x00\x05\x41\xb4\x77\x23\x9a\x0b\xa9\xfe\x43\xe3\xde\x34\x84\x7d\xf7\x2c\xaa\x61\x39\x28\x17\x7b\x05\xa3\x09\x89\x79\xc6\x0b\x32\xa7\x19\xab\xaa\x60\x53\x5f\x6c\x74\x63\x3c\x2e\x26\x25\x89\xf9\x0c\xc2\x13\x20\xd5\x91\x8c\x9b\x8a\x00\xc4\xac\x7f\x58\x4c\x46\x7d\xd2\xed\x76\xc9\x21\xfc\xf0\x52\xfc\xf0\x32\xb2\x00\x90\x51\xc2\x2e\xe7\x59\xaa\xfd\xd6\x4b\x36\x4b\xc5\xd8\x72\x09\xb0\xc3\x0a\x5a\x31\x95\x1a\x40\xc2\x19\xa6\x85\xce\x0f\x17\xc6\xb4\x7b\xd3\x7b\xd7\x85\x56\x5b\xd1\xa1\xd4\xc0\x41\xd6\x12\x9a\x16\x03\xc8\xbc\x6c\x65\x99\xb6\xa1\x43\xf7\xc8\xbe\x46\xcb\x83\x05\x7a\x85\xeb\xa3\x38\xe2\x6a\x6d\x86\x52\xab\xc2\xa1\x97\x5e\xf0\xb8\x28\xe8\x4a\xa6\xd4\x7f\x44\x80\x8d\x6b\xa9\x11\xbd\xc4\xa8\x9a\x23\xd2\x3b\xb4\xff\xfe\xc6\x0c\xf7\x90\xec\xec\x98\x2f\x8e\x04\x21\xfa\x44\xc6\xc3\x9b\xd2\x1b\xab\xa9\x27\x64\x5f\xa1\xa6\xe9\x4a\x90\xc6\x1a\x8c\x5d\xb5\xb2\x64\x87\x38\x20\x70\x56\x27\xdf\x1e\x39\xeb\xa2\x20\xd5\x0c\x03\x5b\xa5\xf9\x82\xf9\x75\x65\x5f\x80\xaf\xea\x98\x06\xa3\xef\x22\x32\x63\x34\x2f\x01\x0d\x0d\xf1\xf9\x31\x13\x98\x84\xa5\xb4\x1c\xd5\x91\x60\xad\xa4\xde\xc4\x9d\x48\x96\x8e\x70\x0b\xca\x6e\x31\x19\xdd\xf0\x5f\xfa\xfd\x96\x3d\xd6\x37\x66\x1a\x06\x42\xce\x1d\xa2\xd1\x4f\x38\xfb\x86\x78\xbd\xd6\x2a\xec\x90\xe8\x10\x99\x70\x5d\xd3\x68\xcb\xf4\x1a\x58\xec\x78\xd3\x40\xef\xfb\xfd\x1b\x3e\x18\x0e\x5b\x4e\x4b\xcd\x03\x6b\x9a\x0f\x39\xb2\xba\x38\x0c\x25\x55\xc2\x89\xd8\xdb\xb5\xd1\x6b\xe3\xdd\x17\x30\x49\xb7\x05\x4c\x3d\x70\x18\xb5\xc5\x22\x20\xbc\x93\x73\x4f\xa5\x37\xac\x98\xed\x93\x49\xc1\x97\xc0\x4e\xa4\x63\xc9\xca\xf9\x1a\xfe\x2b\xc3\xe1\xae\xbb\x63\x80\x3f\x03\xc5\x71\xb2\x98\xcd\x95\xfa\xb5\x4a\x0b\x66\xa5\x9c\x01\x88\x4e\x1d\x4f\x25\xaf\x3f\xe8\x7c\xd5\xfa\x47\x34\xe2\xc9\x2a\x3a\x08\x5c\x11\x1f\x83\x57\x2c\xa8\x71\x30\x1f\xc1\x98\x17\x6c\x82\x98\x1b\xb0\xbc\xa1\x29\xf4\x37\xdc\xfa\xeb\xee\x49\x15\xc0\x35\x02\x54\xc6\xaa\xa0\x78\x9d\x41\xc2\x82\x78\x0a\x68\xfc\x32\x4a\x13\xe2\xf1\xd2\x7c\x82\x0d\x5e\x0d\x07\x8e\xe5\xe4\x01\x37\xa1\x05\xf5\x59\x4b\x9c\xaa\xef\x86\xe3\x62\xe2\xdc\x82\xbf\xf4\xfb\x0d\x74\x0b\x97\x27\x38\xa9\xb7\xda\xba\x75\x55\xa7\x01\xef\xe9\x85\x5e\xd5\x81\x28\x68\x8a\x1f\xda\x18\x8c\x06\xb6\x53\x27\x06\x68\x30\xd6\x4f\x4a\x43\x95\x78\x78\xbc\x1d\xea\x47\xef\x9a\xe0\xbf\xde\xd5\x71\xa0\xea\x64\x20\xae\xa2\x8d\x64\xd0\xff\x5f\x32\x78\x18\x19\x9c\xe8\x55\x0d\x91\xc1\x1e\xd8\xaf\xd9\x81\x04\x1d\x56\xf9\x6b\xc5\x94\xfb\xfb\x3b\x80\xd5\x9b\xc8\xc5\x91\x5e\x49\xdd\x3f\x87\x78\xf6\x37\x13\x0f\x11\xe4\x10\x48\xef\x24\x63\xb0\xca\x29\x9d\x6b\xb6\xd2\x00\xdf\xa7\x06\x45\x4f\x06\x96\xc8\x28\x10\x70\xd2\xfb\x4c\xe6\x78\x16\x75\x8f\x30\xee\xf6\xb3\x8e\xf4\x01\x90\x61\xb8\x28\x72\x22\x52\xd9\x81\x56\x53\xf7\xc8\x2e\x39\x11\x82\x1d\xfe\xd9\x27\xbb\xe4\x7c\xf7\x84\xd1\x19\xfe\xbd\x0f\x7e\x05\x09\x2b\xb2\x34\x67\x9e\x0c\x4c\xc1\x74\x0f\x58\x89\x09\xdb\x1d\xd3\xb8\xe2\xa4\x54\x69\x3c\xe5\x0e\xa0\x68\x0c\xb7\x3c\xd9\x07\x16\xed\x47\xa9\xb5\x02\x0f\x2f\x08\xb0\x81\x7c\x5f\xa0\xce\x79\x3d\xbc\xb6\x62\xa9\x40\x9f\x85\x83\x97\xd4\xad\x12\xa2\xd7\x43\x22\x31\x2b\x89\x5e\x3a\xff\xb8\x3d\xdb\x70\xeb\xae\x3f\x09\xd2\x43\xc8\x5e\xe2\x56\xb7\xbd\x97\x7a\x07\x23\x88\x2c\x37\x00\x26\x45\x08\xca\x08\x92\x2d\x28\xf2\x59\x0f\x3a\x43\x55\x5c\x90\x93\x27\x75\x60\x42\x65\xec\x92\xa0\xbb\x6e\x22\xe1\xbe\xb4\x4e\xd9\x43\xec\x1f\xc8\x9d\x6c\x04\x85\xb0\x4a\xcb\x2c\x46\x37\x6e\x34\x00\x7c\xea\x9e\x9c\x1d\x5f\xae\x49\xcd\xbb\x1f\xe8\x7b\xff\xc0\x50\xcd\xef\xed\xfe\xf5\xcb\xd3\xb3\xeb\x8b\xf3\x97\x67\x6b\xf1\x2a\x6a\x43\xe8\x1d\x20\x5d\xff\xee\xd9\x5f\x5c\x0d\x7e\x0c\xc2\xff\xa1\x60\x84\x7e\x7e\x24\xce\xd2\x39\xea\xa3\xb4\x67\x2d\x4d\xc4\x29\x71\x74\x24\x2c\x21\xc9\x82\x61\xda\xb5\x78\x01\xc9\x5a\x63\xe9\x10\x2e\xb9\x1e\x42\x8e\x49\xc1\x66\xbc\x62\x84\xce\xe7\x10\xb6\x3b\xa5\x18\xb0\x2c\xd3\x62\x8f\x78\x35\x25\xcb\x22\x95\x68\x06\x30\x08\x79\x0a\xf4\x20\x48\x0c\x64\xc7\xca\x52\x30\x3f\x34\xcb\x56\xd0\x12\xbd\x65\x88\x88\xbf\xe2\x8b\x82\x94\xac\x2c\x3d\x00\x08\xd3\x40\x42\x2b\xfa\x29\x29\x2b\x1f\x41\xd6\xa5\x86\x64\x84\x78\x16\xf7\x7f\x87\xa4\xa8\x07\x78\x38\xfa\xf2\x8b\x5d\x31\x48\x2d\x1f\x12\x77\x06\xd8\xd2\xdc\xbe\x3f\x95\xe7\x69\x89\xae\x47\xe8\xde\x2a\xc1\x33\x7e\x31\x35\x01\xec\x82\x26\x49\xc1\x4a\x70\x44\x4d\xf3\x58\x66\x39\x37\xb8\xac\x69\x5e\xb1\x89\xf4\xf4\x04\x2c\x84\x5f\x00\xb7\x1e\x8d\xbf\x98\xf7\x37\xcb\x1c\xa3\xef\x56\x57\xcc\x5f\xdf\xc4\xf3\xb2\xd7\xdf\x7f\xfa\xc5\xb3\x2f\xbf\x7a\xf7\x04\xbc\x11\xf7\xb6\x78\x7f\x61\xb7\x8e\xa4\xb8\xdf\xa5\x15\x1f\xe9\x7b\x42\x55\x16\x45\x42\x4f\x6b\xcc\xe7\x2b\xe9\x62\xc6\x07\x6a\x09\x9c\xec\xa0\x50\xd3\xe5\x7d\x5f\x5f\xdf\xdf\x55\x64\xce\x0a\xc0\x35\x5d\x64\x36\x5c\x84\x49\x5d\xa3\xdc\xae\xf1\x84\xc0\xea\x8f\x56\xa4\xb8\xbf\xab\x76\x17\x79\xaa\x73\xfb\xa4\x55\x59\x6b\x8a\x5c\x8d\x00\x09\x29\x5b\x89\x65\xd5\xa9\xdd\xe0\x51\x87\xb2\xbc\x20\xf1\xa2\xac\xf8\x4c\xd5\x52\xb8\x06\x59\x0a\xa9\xe5\xc7\x6c\x09\x8e\xcc\x10\xe8\x25\x5e\xbd\x52\x01\xaa\x90\x71\x9a\x27\x32\x55\x90\x1e\x35\x8b\xa7\x79\x1a\x8b\x83\x22\x46\x5e\x30\x3c\xb9\x04\xf3\x08\x19\xe4\x5f\x74\x27\x97\x3d\x12\x3e\x62\x2b\x70\x23\xfb\x06\x7f\x01\x0d\xd1\xb7\x87\xea\x2f\xb1\x03\x1d\xb2\x28\x17\xd0\xec\xa1\x4e\x5d\x93\x7c\x1b\x38\x15\x5f\x7d\xf5\xd5\x36\x4f\xd4\x4a\x71\x58\x0b\xb1\x8c\x97\x3c\xd9\xc0\xbb\x75\x48\xbf\xfd\xa6\xf7\xce\xc9\x44\xaf\xaa\xba\x4f\x08\xca\x3f\x76\x9a\xf1\x17\x30\x79\xeb\x07\x2c\x72\x08\xda\xa4\x43\x29\x40\xc9\xaf\x62\x48\xf0\x7b\x47\x49\x56\xea\xb2\xde\xe8\x77\xfb\xe6\xaf\x87\xef\x76\x0e\x5b\xe2\x3f\x4f\xda\xad\xc3\xd6\x9b\xb7\xe5\xdb\xe1\xbb\x27\xed\xf6\x77\xda\x0f\x37\xe0\x89\x4b\xb0\x3b\xe9\x7e\xdb\x7f\x67\x4c\xfc\x0a\x03\x03\xbf\x3c\x7d\xe7\x03\x67\x79\xe2\x1e\x34\x13\x1d\xa8\xd1\x2b\xf1\x4f\xb6\xf2\x71\x1b\x90\xa4\xb0\x6f\x02\x2c\xb3\xa4\x95\x0d\x4f\x7d\x13\x08\x92\x04\xdc\x6d\x8d\x32\x9a\xdf\xb6\xed\x38\xc9\xd6\xf9\xe0\x87\x5a\x20\xc6\xf0\xfc\x4d\xf4\x7f\x1e\xa2\x54\x4c\xa1\xfd\xe1\x9c\xc6\x8e\x46\x31\xa5\xc5\x04\x13\xa0\xb5\x43\x36\x94\xd7\x73\xd2\x1a\xbc\x7e\x1d\xec\xfe\xf8\x21\xdd\xe3\x33\xfb\x7a\xfe\x80\xbe\x4f\xc5\xca\xb6\x06\xaf\x4f\x83\xbd\x9f\x3c\xbc\x77\x08\x78\xdc\xbe\x7f\x65\xbc\x6b\x0d\x5e\xbf\x08\x0e\x61\xf0\xf0\x21\x80\x6e\xfb\x01\x63\x10\x92\x90\x1a\xc4\x49\x70\x10\xa7\x0f\x1f\x04\x20\x93\x6c\x3f\x06\x2b\xb2\x75\xf0\xf2\xa2\xed\xdf\xfe\x59\x7a\xcb\xec\x2d\xeb\x40\x7e\x94\xb9\x23\xe7\xcc\xf8\x1d\xd3\xb8\x52\x80\x2a\x94\x9b\xdc\xb6\xa2\x31\x80\xf5\x80\x8c\x9d\x99\xef\xdc\x01\xb3\x3c\xfb\x83\x77\xfb\x81\x60\x15\x72\x7a\xaf\x04\x0b\x04\x3c\x91\x5c\x8e\x57\xeb\x97\xe3\xf5\xfc\x4f\x59\x8c\x17\x7f\xe8\xc1\xfb\xb4\xa5\x30\x36\x98\xe3\x51\xc9\x33\x88\xea\x1f\xfc\x50\x0f\x18\x13\xe3\xfd\xfe\x81\xc6\x0f\xa7\xfb\xe0\xb0\xc9\xae\x9f\x61\x50\xed\x90\x8c\xf8\x16\xe7\xe5\x55\x70\x30\x3f\x7c\xd2\x60\x54\xbb\xcd\xc3\x09\xa5\x2d\xf1\xff\xe7\x57\xee\xaf\x9d\x8b\xba\x7f\xac\x40\xec\xd6\x40\x22\x06\xf9\xb3\x3a\xdf\xcc\x50\xc4\xb6\x75\xc3\x9f\x81\x20\x03\x55\x00\xb3\xce\xc6\x19\x9d\xcd\x5b\xf0\x5b\x87\xf4\x3b\x75\x6c\x55\xc6\xf2\x61\xfa\x1b\xeb\x2e\xd3\x44\x66\x4e\xd1\xa6\x8b\x14\x2d\x16\x29\xf9\x06\x1b\x3d\x24\xe9\xce\x8e\x83\x32\x51\x35\xa3\x09\x79\xef\xe2\x59\x21\x58\x96\x34\x87\x04\x1f\x19\x5d\x91\xd6\xd9\x69\x07\x91\xd4\xc3\x0f\xc3\x5f\x5c\x3b\x34\xfc\xf6\xdd\x5f\xb6\x71\xd2\x92\x6c\x7b\x90\x85\x71\x52\x21\x91\x0f\x1f\xb0\xa0\x95\x9a\xd4\x9d\x16\x13\xa3\x3e\x61\x19\x5f\xb6\x7c\xac\x7a\x59\xb1\xbf\xa6\xe2\xf1\x88\x2b\x44\xcb\x7a\xc5\xfd\x70\x45\x0b\xb7\xb2\x5e\xe7\xa9\x9b\x8b\x54\xfa\x2f\x24\x3c\x2e\x49\x49\x57\x88\xd3\x87\xc6\x96\xcf\x70\xbd\xc1\xb5\x05\xe1\x09\x3e\x53\x39\x69\xa2\x2c\x43\x75\x3b\x74\xa5\x9a\x03\xb0\x11\xb9\x35\xa5\x10\x9f\xc8\x6d\x9a\x65\x3a\x8a\x4b\xa2\x69\xc7\xb7\x10\xdf\x5c\x92\x62\xa1\x90\x2b\x9b\x87\x1f\xdc\x7e\x04\x7e\x3a\xbb\x90\x7b\x5f\x47\xa2\x10\xfb\xfc\x63\x68\xef\x7f\xfc\x67\xec\xfd\x0d\xc7\xa7\xfe\x13\x76\xff\x86\xc3\x03\xfd\xb0\xed\x87\x9a\xe2\x55\x0a\xac\xa1\x64\x2d\xc5\x57\xc1\x4d\x86\x97\xee\xe2\xe1\xcc\x24\x34\xb8\x0d\x23\x21\x01\x44\xe4\x00\x4e\xc3\x03\xb8\x7c\xc8\x00\x12\x68\xf1\xa1\x03\x18\x58\x4c\xf5\xa9\x64\xaa\x1f\x19\x7c\x32\x0c\xfe\x04\x5d\x75\xa9\x81\xd2\xc0\x6a\x07\x29\x55\x32\x36\xae\x3a\x06\x3c\x92\x3a\x8f\xba\x82\x1a\x09\xcd\x6c\x43\x7c\x7e\x68\x66\x62\xa4\x5b\xcd\x4c\xc2\x62\x0b\x3e\x7d\x18\x66\xd3\x87\x0f\xe9\xfd\x4e\xe2\xdf\x6f\xc7\xa8\xcb\xce\x91\x51\x1f\xe2\x75\x4c\x8e\xb3\x92\x93\xe8\x3c\x4f\xab\x94\x56\x8c\x4c\xd3\xc9\x34\x43\xac\x3a\x80\x3b\xaf\x0a\x0a\x79\x64\xa2\x2e\x09\x38\x16\xe1\x55\x34\xa7\x45\x2d\x28\x4f\x4c\xe5\x66\xfd\x54\xbc\xc8\x53\x5b\xdb\xff\x8d\x38\x72\x81\x63\xa3\xe6\xbb\xad\x68\x70\x6d\x52\x80\x48\x6c\xce\x31\xa3\xd5\xa2\x60\x1a\x99\x15\x45\x55\xc8\x06\xe2\xa7\x4e\x54\x06\x6a\xcb\x6b\xfc\x0d\xf9\x96\xbc\x2a\xc9\x8d\x8e\xcb\x2b\x66\x34\xcb\x56\x1d\xf2\x19\xb8\x68\x7d\xa6\x60\x2b\x65\x7e\x60\xec\xab\x4b\xce\x41\x4b\x28\xc3\xfb\x40\x53\x28\xcb\xe9\x04\x93\xa3\x34\x4b\xab\x95\x49\x3c\xa9\x87\x09\xe0\xba\xb3\x39\x66\x6e\xa5\x24\x49\xc7\xa0\xbf\xab\xf4\x28\x15\xa6\x07\x4c\x44\xb4\x35\x93\x91\x7a\x15\x77\x83\x08\x5f\x95\x32\x2d\xcd\x81\x31\x2f\x9c\x72\x4c\x65\xc4\x2a\xa9\xa0\xda\x03\x77\x9a\x8c\x8e\x58\x56\x92\x05\x44\xf7\x4e\xd9\x3d\x4d\x58\x9c\xce\xd0\x8f\x5b\x5a\x22\x64\xcd\xbf\x2f\x58\xb1\x7a\x48\xdd\xfd\x2d\x7b\x55\xa1\x2e\xa2\xce\xd3\xad\xfb\xd3\xb5\xb6\x8b\x1c\x15\x44\xfa\xed\xcd\x06\xc4\x0a\x78\xd1\xec\xab\xe8\xac\x41\xbe\xff\xe5\x21\x27\xd7\x79\x75\x3e\x41\xc0\x74\xb8\xcc\x93\x30\x97\xf9\x1f\xff\x5d\xb9\xcc\x91\x9c\x65\x33\x9b\x69\xe4\x19\x2d\x42\x18\xc1\xe6\x07\x0b\x4f\x64\x08\x9e\x61\xe5\xa7\xc8\x41\x7f\xf3\x00\xcc\xa4\x6c\xb4\x76\x10\xd7\x00\x3a\x70\x07\x83\xb8\x0e\xb6\x4a\x7f\x8f\x74\xb5\x01\x77\xa9\x29\x77\xdf\x1a\x99\x26\x78\x69\xce\x55\x68\xdf\x5c\x4b\xd0\x93\x82\xce\xa7\x69\xec\x24\x1f\x7e\x18\x60\x90\x98\xfc\x68\x83\x17\x39\xcb\x13\x05\x0f\x64\x1c\xb2\x48\xeb\x55\x91\xce\x68\xb1\x22\xa7\x66\x5f\x5d\xe8\x1e\x25\xcd\x4f\x69\x91\xa0\x3d\x04\x6c\x09\x32\x53\x2d\x89\xd0\x05\x00\xac\x01\xc7\x98\xf5\x30\x21\x90\xfb\x07\x71\x25\xc4\x4e\x44\xc8\x37\xa7\x15\xa0\x6a\x8c\x18\x3e\x17\x31\x2f\x0a\x48\xd3\x2b\x9b\xa3\x04\x22\x72\x4c\x9a\x28\x0e\x16\x88\x27\xa8\xbc\xce\x32\x22\x53\xda\x93\xa8\x71\x5d\x22\x78\x2f\x03\xd8\xd0\x35\xd7\xe0\xd0\x83\xf9\xff\xb1\xf7\xe7\x5f\x8e\x22\x49\xbe\x28\xfe\x7b\xfd\x15\xea\xef\xbd\x67\x22\xeb\x2a\xab\x04\x02\xb4\x74\x4d\x75\x8f\xb3\x49\x80\x24\x04\x08\x24\xe8\xee\x5b\x5f\x36\x01\x62\xdf\x04\xa2\xa7\xef\xdf\xfe\x0e\x20\x45\x28\xb6\xcc\xc8\xac\xee\x37\xf3\xde\x79\x71\x8e\x4e\x2a\x91\x61\xee\x6e\xfe\x31\x73\xf3\xcd\xec\x0f\x6f\xec\x7e\xff\xe7\x7f\xbe\xb9\x27\xfe\xae\xc7\xfb\xc5\xb8\x2e\xaf\x36\xd3\xde\xee\x12\xc9\x36\xe3\xc8\xfa\xfd\x9d\xf2\xf0\x86\xd4\x5b\x56\x1f\x12\xfc\x33\xa9\x77\xfd\xf5\x5c\xec\xdd\x31\xa6\x0f\x49\xfe\x4f\x5f\x11\xfd\xd7\x05\xf8\x27\xe8\x97\x31\x36\xf9\x05\x7a\x19\x1c\xa7\x5b\x7a\x7a\xc3\x48\x29\xdb\xb7\xad\x8e\xf5\x8d\xf6\xe1\xc6\xb1\xb7\x04\x62\x5c\x7d\x74\x09\xe6\x2e\x76\x5c\xeb\x47\x3f\x86\xd3\x7d\x5a\x93\x59\x2a\xdb\xf7\xec\xe8\xd7\x17\x6e\x8e\x6f\x58\xcf\xe5\xbd\xf5\xdc\xe9\xc6\x80\xe8\xa2\x22\x7c\xda\xe1\xaf\xc3\x3f\xb6\xf4\xce\xbf\x4a\x1f\x46\xa3\x6b\xd1\xb7\xc0\xcb\xed\xf4\xa0\x9f\x1a\xbc\x3b\xdb\xbd\x0e\x46\xe0\x6a\x73\x3f\x75\x17\x19\x5e\xce\xfa\xde\x2e\x17\x79\x55\x6e\xb7\x05\x79\x0b\xfa\xfc\x6e\x91\x20\x08\xae\xa5\xe6\x6f\x8c\x81\x92\x7d\x4b\xf8\x27\xbd\x0e\xaf\xdc\x8a\xcf\xfd\x4a\xe8\xcc\x37\x46\xe6\xb7\xfd\xf1\xd7\x43\xf5\x5d\xb2\xc2\x57\x6d\xf6\xfe\xf6\xb9\xbb\x61\xf2\xba\xc6\x2f\x53\x4e\xf4\x91\x0a\xfb\x34\x7b\x6f\xb6\xe0\xcf\xff\xda\x26\x5c\xf3\xf6\x7d\x43\x0b\xd6\xb6\xe5\xe9\x03\x22\x4e\x2e\x83\x4f\xeb\x1e\xb4\x2f\x9e\x7d\xee\xc3\x0c\x24\xb6\xe9\x1d\x3d\xf3\x3e\xf4\x55\x6e\x3f\xc5\x6f\xba\xc5\xd7\xec\x07\x59\x2f\x6a\x07\xd4\xb7\x26\x58\x6f\x09\xc5\x7b\x6b\xd5\xc4\xfb\x4a\x24\xf8\x6e\x56\xd1\xa3\x45\x7c\x1b\x2d\xc1\x7f\x1d\x5a\xee\x54\xe9\x8b\x70\xb9\xde\xac\xe9\x13\x32\xbe\x0d\x98\x7f\x6d\x2b\xbe\x04\x98\x77\x1a\x71\xe7\x71\xde\x0f\x9f\x8b\xa7\x28\xdf\xcc\x1b\x27\xe3\xbb\xad\xf2\xf8\xf8\x14\xd1\xeb\x73\x17\x6b\xf0\x72\x5b\xa8\xd3\x6f\xbc\xae\xb7\x1a\xf2\x81\xa1\xe7\x7d\x54\xe4\xeb\xe9\xfb\xdb\x9b\xd7\x69\xec\xcf\x6f\x49\x2b\xfc\x60\x6c\x5d\xc7\x2e\xc6\xd8\xe4\x93\x77\x1f\xac\xea\xbd\x99\xfb\xc0\x1b\x0c\x07\xe3\xb7\x6c\xb0\xd7\x9d\x46\x1f\xfc\xe1\xd7\x01\xf6\x3c\xb2\xee\x35\x89\xd2\xdd\xe9\x89\x57\x6e\x6a\xc7\xf4\xf3\x00\x7a\x4a\x50\x7f\x5f\xb9\x5d\x56\xda\xfd\xd1\xc3\x8f\x57\x11\xfb\x72\x15\xc7\x6f\x56\xf1\xb6\x9f\x9e\xbd\x31\x65\x7a\x56\xc5\x9e\xcc\x79\x87\x0c\x79\x4e\x66\xbc\x43\x86\xf6\x64\xf7\x72\x79\xc8\x1c\xe3\x53\x77\x96\xbb\xcb\xc9\xfc\xb9\xfd\xea\x3c\x7d\x35\xda\xaf\x3f\x3e\x3c\x0a\xa9\x5b\x26\x2d\x8a\x2c\xff\xc8\xb5\x87\xa7\x75\xd3\xb7\x05\x77\x13\x6d\xc7\xf0\xfe\xb2\xda\xab\x03\x71\xdf\xa9\x65\x6f\x2e\xea\xf6\xd2\xb8\x93\xc4\x6d\x71\xf5\xdf\x07\x08\xf4\xfc\x92\xf2\xdd\x3a\x6f\x37\xd4\x5e\x6f\x35\x7e\xba\x2e\x95\xfc\xf8\x14\xe0\xe1\x8d\x26\xbc\xb7\xec\xdb\x27\x74\x8a\x03\xeb\xe5\xdb\x46\x1c\x3c\xdd\xa5\x7c\x8f\xc3\xf8\xc6\x81\xd6\xbd\xa8\x78\xc9\xe2\xd8\x3e\xfc\x2a\x0f\xe4\x31\xc9\x6f\xa1\x07\x9e\xf9\x92\x89\xd7\x3d\xfd\x2a\x97\xc7\x54\xc1\xaf\x4e\xff\xdd\x18\x95\xb7\x1f\xbe\xca\x0b\x7b\x94\x4b\xe0\x45\xfe\x2b\xc1\xb4\x0f\xbf\xca\x63\xfa\x94\xba\xb8\x0b\xd3\xfb\xaa\x59\xfd\xe3\xaf\xf2\x99\xdd\xf1\xe9\x53\x80\xbe\xc1\xa9\xff\xe1\xab\xbc\xe6\x37\x5e\x44\x16\x77\x29\xa4\xe2\xf2\x55\x9f\xe5\x45\xe6\xf9\xf6\xcd\x56\x7f\xb5\xff\xc7\x4f\x60\x2c\x06\x1d\x64\xfe\xad\x1b\xe1\x8f\x6f\xe1\xe1\x0a\xa9\xeb\x15\xd9\xb7\xb1\xf2\xec\xc7\x37\x0a\x44\xee\x0b\xf4\xbe\x8c\x98\xaf\xf1\x42\xef\x79\x3d\xc2\xe3\x95\x26\xdc\x03\xe7\x6b\x2c\xb1\x67\xf2\xf8\x12\x7c\xbe\xc6\xe9\x11\x40\x52\x61\xeb\xd6\xe5\x7d\xfc\x7c\x8d\xd1\x23\x82\x94\xaf\xe3\xe7\x6b\xbc\xe6\xf7\xcd\x33\x3f\x8e\xa2\xe7\x7c\x7f\x78\x19\x6f\xa0\xb7\x77\x18\xf4\xec\xca\xd5\x35\x4c\xdb\x31\xce\xec\xd1\xcb\x8b\x0d\x7d\x1e\xb3\x6b\xea\x4d\x57\x0f\x8e\xad\x33\x01\x4f\x9e\xdf\x15\x7c\x62\x75\x7b\xa1\x75\x1c\xc6\xd8\x0b\xb2\x2e\xe5\xcb\x35\x6b\x9e\x77\xb6\x07\x79\xe7\xdb\x5e\xae\x44\x5e\x34\x38\x96\xdd\x29\xd6\x1b\xb3\xb4\xd4\x03\xef\xe8\xd9\xd6\xa0\x1d\xac\xb2\xcf\x03\xe7\xf3\xc0\xf8\xb1\x3b\xb0\xf7\xf3\x0b\x6b\xfd\xef\x03\x64\x76\x7f\x70\xec\x0a\xf5\xc7\x6b\x25\x52\x7f\x25\xbb\x3b\xde\x3f\xf8\x69\x80\x40\x8f\x97\xb3\xde\x30\x93\xcf\x38\xb5\x26\xd7\xcb\xf2\x62\x60\xba\xb6\xe9\xf7\xab\xe4\x59\x69\x5f\x2b\xdd\xc5\xb8\xb8\xc6\x9a\xbf\xfe\x75\xc7\xe4\x6e\x7e\xc4\xe0\xd7\x97\x6e\xc5\x93\x3a\x76\xf1\x1f\x1e\x09\xff\xd0\xa7\x80\x7c\x1e\xe5\xe8\xfd\x66\x74\x3f\x48\x22\xf1\x9b\xb8\xc0\x7f\xf9\xc2\x1b\x57\xc3\xd2\x95\xf1\x2c\xac\x90\x37\x18\xfe\x3a\xc0\xee\x62\xf9\xbc\x4c\x78\xd8\xdb\xaf\xc7\x46\x3f\xf6\xe6\x1d\x41\xb7\xf0\xdb\x37\xb1\x77\xeb\xee\x6b\xd2\xdd\xf7\x68\xe5\xd9\x35\xeb\xd9\x7a\xe2\xeb\x20\x47\x5d\x6d\xc6\xcf\x1f\x75\xef\xff\xe9\xd6\xd6\x2f\xdc\x31\xec\xff\x5e\xdc\x34\xfc\x8a\x00\xcd\xfb\x28\x46\xef\x43\x61\xfe\x31\x50\x3d\xf6\x06\x49\xd1\x40\x5e\xed\xde\x43\xd7\xbf\x0f\xd0\x37\x60\xfa\xa4\x73\x2f\x60\x8a\x7e\x09\xa6\xe8\x7f\x37\x98\xbe\xd5\x8c\x2f\xc3\xf4\xce\xd8\xfc\x7f\x30\x7d\x53\x80\xe6\xeb\x60\x5b\xaf\x24\xf0\x01\xe9\x3f\xc2\xf2\xc6\xea\xad\x71\xe1\x4f\xbf\x0e\xe6\xd0\xe0\xdf\xfe\xad\x03\xdf\xbf\xff\x3a\x98\x4f\x9f\x7a\xf9\x2b\xf6\x74\x0e\x0d\x86\x83\xd9\x2f\xef\xb1\x85\xa1\x7b\xbe\x30\xf4\x8a\xf1\xbb\x1a\xd0\xbe\xd9\x71\xbe\x49\xa0\xab\xfa\x75\xe8\xb3\x0b\xb2\x77\xc8\xf3\xd7\xfb\x19\x2f\x6f\x14\xfe\xf8\xf6\x39\xad\x57\xef\xbd\xbc\x82\xf6\x72\xe7\xdb\x2e\xfa\xcd\xd0\x9f\xf2\xeb\xc2\xcc\xe0\x16\xa4\xa4\xdf\x2f\xfd\xc6\x3d\xc3\xaf\x04\xca\xb8\xae\x97\xb7\x13\x98\x32\xbf\x65\x10\xff\x44\x4a\xe2\x3b\x8b\x43\xd8\xe0\xa7\xe7\xc4\x3f\x0f\x44\x3b\x2f\x83\x62\xf0\x89\xe7\x7e\x1c\x78\x79\x97\xc3\x12\x1a\x74\x07\xe6\x27\x83\x9f\x6e\x2c\x5f\x2f\xc6\x6e\xc5\x1f\x07\x7f\xc9\xe2\xea\x17\xb3\xdb\x12\xfa\xdb\x23\xa3\x2b\x8f\x6c\xf0\xcb\xc0\x1c\x88\x6f\xb4\x29\xfa\xe6\xcd\xfa\xeb\xe2\x26\xf6\xe1\x4d\x06\x28\x7a\xf8\xd8\x7a\xe9\xe4\x7e\x46\x98\xc5\xd5\x5b\xb3\xd7\xa7\xf5\xee\x1f\xdb\x49\xfb\xb3\x3b\xf1\xef\xd3\x3f\xed\x94\xdd\x5e\xf9\xfa\xca\x7e\x37\xdd\x8e\xab\xfb\xbb\xe2\xed\x77\xf1\x8d\xdd\x12\xf2\xba\xad\x7f\x4d\x02\x9e\xdd\x07\x6a\x37\xec\x81\x1d\x75\x39\x2d\x07\x67\x4f\x1f\x3c\x02\xe9\x1b\xa1\x17\xfd\x73\xa1\x37\x19\x7c\x0b\x9c\xba\x1d\x00\x89\x19\xfc\xf9\x0e\x48\x03\x18\x7b\x62\xb1\xed\xd7\x32\xbb\xfc\xe9\x65\xfe\x44\x0e\xb7\xe8\x1d\x7c\xca\x5a\x4f\xfd\xc7\x41\x9c\xfd\x70\x8b\x19\x7c\xfb\x19\x6e\x7f\x6e\x5b\xdf\x93\x74\x0b\xab\xe3\x3b\xc6\x32\xc9\xbd\x62\x3a\xee\x99\xf6\xd1\x6f\x6c\xab\xe5\xfb\xf8\x4b\xc7\xef\xfa\xbc\x67\x76\xa7\x37\xdc\x4d\xf7\x5f\x73\x9c\x0e\x7e\x19\xc0\x83\x5f\x06\x50\xf7\x89\x06\x9f\x36\x71\x56\xb8\x03\x10\xda\x99\x67\xea\xd1\x5d\xb4\xe3\x2e\x99\x81\x9e\x17\x5d\x3a\xa4\xc7\xcb\x4c\x79\xbf\x4e\x37\x28\xe2\x81\xb2\x43\x5b\x03\x3a\x28\x93\x3e\x59\xac\x65\x47\x71\x61\x3f\x19\x9e\xae\xa5\x8f\xec\x5a\x8a\x15\x07\xc1\xdd\x0e\x97\x6d\xb6\x9e\x76\x9f\x95\x65\x80\x21\x4f\x35\x5f\xc5\x66\x97\x35\xe0\x65\xc5\xb1\x01\x32\x88\x1e\x7f\xd5\xcf\xba\x17\xb4\x50\xfb\xdc\x2a\x59\x7f\x7e\xc4\xb6\x7e\xf2\xa2\xcf\x8f\xc5\x3d\x8a\x0a\xeb\x9a\xb9\x89\x6f\x2f\x7f\xee\xb3\x53\xbe\x09\xbe\x3f\x7f\xb7\x91\xf8\x7f\x94\x46\x7f\xcd\x3c\xc1\x1f\x37\x79\x7f\xf9\x33\x0c\x7f\xd4\xea\x8d\xbf\x85\xed\xf8\xe3\x6c\x27\xdf\x52\xdb\xf1\x2f\xf0\x2f\xd0\x2f\x1f\xb6\xd4\x18\xf2\x0d\xcc\xb1\x47\xb6\xcf\xd2\x26\x5e\xb7\x89\x6f\x97\xd0\xfa\xc3\xae\x45\x3c\xb0\x6c\xd3\xb3\xba\x68\xe9\x5d\xa0\xc9\x22\x1e\xb8\xed\xff\xbb\x2d\x93\xb8\x37\x33\x4f\x29\xed\xaf\x07\xa9\xca\xbc\xa5\xbc\x24\x4f\x23\xba\xd2\xdd\x55\xee\x4f\x3e\x3d\x1e\x96\x7a\x54\xd7\xbb\xb3\x50\x1b\xfb\x6c\x67\xaf\x8a\xb8\x3b\xf2\xb4\x6c\x7f\xf2\xfa\x63\x63\xcf\x0f\xc7\x75\x3e\xc4\xed\x46\xe9\xd5\xc8\xdf\x9d\x77\x02\x5d\xbc\xf3\x37\x59\xff\xd0\xe7\x44\x8c\xe2\xe7\xd7\x21\x1d\xef\x6c\x47\x9f\xaf\xa2\x78\x4c\x62\x78\x5d\xc7\xfc\x7c\x1d\x54\xbc\xbc\x0f\x7d\xfe\xcd\xa7\x30\xfe\x94\x7c\xe5\x18\x46\x7c\x2c\x1e\x63\x77\x5e\x0f\xa4\x75\xbb\x74\xbb\xb7\x8f\xb4\xfc\x21\xf9\xf6\x90\x66\x79\x7c\x2c\xc4\x37\xc2\x9a\x89\x7d\x1c\xe6\x3e\x16\x7b\xbf\x5f\xd5\x65\x60\x5a\x7f\x2c\x89\xe5\xcb\xaa\xfd\xcf\x77\x9a\xfa\xc2\xae\xbd\x47\x76\xef\x3f\xbe\x0e\x0c\xdf\x07\x3a\x5c\x7d\x5f\xcd\xfe\x7f\x5f\x29\x72\x15\xeb\xd6\x60\x45\x91\x79\x57\xcc\xea\x23\xa5\x0c\x06\xfd\x95\x76\xc3\x7e\x76\xad\x59\xcf\x07\x67\x2f\x2b\x4a\x3d\xe8\xf9\xc5\x67\x3b\x0b\xf4\x4b\x17\x7c\xe2\x7f\x3d\x8b\xd3\xda\xa2\x5b\x8f\x2e\x5d\x92\x66\x3d\x7b\x9d\xea\xae\xad\x77\xfa\x01\x49\x5d\xa3\x25\x14\x97\xc0\xbe\x0a\x49\x6e\x1d\x10\x65\x87\x5d\x83\xd9\xbe\x64\x3a\x48\x3f\x14\x04\xe0\xcb\xc7\xbd\x6f\xcb\xff\x77\x47\xbe\xdf\x39\xb7\xfd\x3d\x57\xcc\xdf\xe5\xd1\xad\x81\x7f\x7a\xda\x2e\xfe\xe8\x11\xf0\x7f\x41\x25\xde\x3c\x92\xf0\xf2\x4e\xc1\x3f\xeb\xb2\xff\xf7\x8a\x03\xfd\xbf\xb5\x22\x5f\x12\xc9\x3b\xe3\xed\x77\x85\x5f\xf8\x5e\x69\xbc\x33\x38\xff\xf3\xeb\xf0\x4a\x10\x6f\x85\xc4\xb8\x5d\x90\xbd\xd7\xe0\xfe\x82\xac\x9e\x39\x6f\x9d\x40\xe9\x56\xa0\xef\x12\xba\x67\x71\x71\x8d\xb9\xfd\xb4\x43\xdd\x5b\x80\x6f\x49\xf1\xd6\xd9\xc7\x0f\x18\x9a\xfe\x30\x78\x3b\x00\x8b\xb6\xd3\xcd\x58\xba\x51\x0a\x7f\xfb\x80\x43\xf6\xbd\x81\x46\x6e\x17\xbb\xfb\xdb\x31\xbb\x38\xb9\x05\x5b\x83\xfe\x36\xf8\xf3\x8b\x58\x6d\xd0\xdf\x3e\x0f\x60\xe8\xc7\xc1\x4f\xf0\xe0\x8f\x8f\x9b\xc6\x4f\x2f\xe3\xfd\x8a\xfc\xf5\x7d\xf8\xf5\xfb\xf0\xed\xfd\xc1\x3d\x83\x57\x3d\xab\xec\xfa\xb6\xf7\xed\xfe\xf4\x58\xb3\xcf\xcf\xca\xf9\xd2\x75\xc1\xc7\x2b\x72\x50\xbf\xb7\xfa\x46\xb0\xdd\x57\xe7\x2f\xba\xa0\x64\xdf\xb8\x56\xf2\xe7\xec\x2b\x59\xa2\xfb\x20\x4d\x77\x87\x23\xbc\x68\x20\xda\x66\xa1\x47\x4e\x19\xe8\xd9\x35\x47\x20\x49\x11\x04\x10\xc1\x8f\xdf\x54\xf6\xff\xfc\x4a\xd9\x5d\xd4\xe2\x2b\xd6\x3f\xb5\x1e\xc7\xcf\x92\x2a\xfd\xf8\x06\xa3\xfc\x7b\xe3\x16\x77\x25\xfc\x73\xe4\x98\x7f\xb9\x2d\x7d\x08\xca\x41\xa8\x47\x5e\xf2\x78\x32\xbc\xdb\xd4\xb1\x8a\xf6\x9d\xcf\xb7\x2b\xaa\xed\xbf\x76\x5d\xd8\x51\xee\xc5\x51\xfe\x8d\x5a\x59\x7c\xed\x98\x51\xbf\xe9\xf6\x81\xde\x14\xdb\xde\xfc\xb6\xc2\xff\xe7\x57\x4a\x97\x3e\x7e\xd7\xe3\x1b\x17\x5d\x3e\x50\x70\x6b\x40\xbd\xc8\xf9\xc9\x68\x45\x7c\x6e\x27\xa5\x57\xcb\xb7\xc7\x95\x7b\xd7\xe7\xe3\xa5\x0e\xbe\x2a\xec\x5e\x4d\x5f\x01\xf8\x2d\x66\xe5\xef\x08\x8b\xdd\x36\x2f\xd4\x33\xc7\x8b\x5e\xb7\x6e\xfd\xdd\xad\x2b\xbf\x62\x17\xe2\xe4\xf2\x8e\x1d\x10\xc1\xe7\xeb\xe2\x4a\x1f\x8d\xfb\x5b\x61\x74\xfe\x5a\x8e\xd2\x6e\x0d\x8f\xf6\x82\x76\x48\xbb\x56\xe1\xea\xc9\x52\xb4\xf8\x8d\xa5\xfd\xf5\xa1\xfa\x5a\x37\xf6\x33\x9e\xc7\x44\x9f\xdb\xa7\xb5\xa4\x4e\x51\x28\x61\xb7\x05\xe2\x77\x4e\x80\xea\xaf\x21\xb7\x1b\xc1\x1f\xf5\xf5\x66\x8e\xa9\xd6\x40\x5c\x67\x7d\x80\xa0\xbe\xb1\xcd\xff\xeb\x2b\xa5\xd2\x5e\x17\x26\xfb\x8d\xbe\xa5\x45\xf0\xe3\xe7\xe7\x81\xea\xbf\xad\x6f\xbf\x52\xf2\xb9\xf8\xad\xf0\x02\xbb\x0b\xca\xf3\x49\x7f\x5a\x74\xd8\x00\xde\xd5\x4d\xbf\x2b\x53\x8e\x36\x76\xb1\xd4\x4d\xbf\x1d\x09\x06\x9f\x72\xdb\x1e\xb8\x45\x91\xe4\x7f\x1c\x8d\x22\xbb\x68\xc9\x2a\xcf\xf7\x7e\x36\xe3\x70\xd4\x7e\x19\x29\x77\x3c\x8f\x37\xdb\xe3\x45\xc7\xf8\x31\x1c\xf2\xf3\xc9\xd8\x51\xcf\x7a\x5b\xdc\x4d\xb2\x06\x9f\xba\x2b\x8a\x03\x7d\xe0\x04\x97\xc4\xed\x6a\xd0\x1f\x78\xef\xfe\xff\xa6\x32\x37\xdf\x7f\xb1\xee\x76\xaf\xee\xe9\xc4\xd6\x97\xe7\x56\xaf\x4e\x56\x75\x6f\x77\xa7\x2e\xee\x6b\xfd\xe9\x9a\x0f\xb2\x07\x6e\x9f\x2c\xb9\xff\xa5\x8f\x12\xf7\xe3\xcf\x5f\x3f\x95\x37\x7e\x99\x6f\xff\xcd\x9d\x9e\x57\xc1\x7a\x5b\xd9\x93\x7d\x90\xa5\x97\x0d\xe8\x63\xcf\x7c\xe1\x3a\xef\x68\xd4\x65\x24\xbe\xb6\xe2\xad\x73\xd8\x5f\x29\xf1\xe6\xa0\x3d\xbf\x04\xdd\x1b\x90\xdb\x6a\x6c\xbf\x74\xdb\xe7\xb8\xa6\x08\x6a\x25\x7e\x9f\x26\xff\xf5\xda\xed\x5f\xb9\xa9\xf6\xa6\x5a\x51\x37\xb5\x82\xbe\x53\xad\xbe\x52\xf4\xd5\x8c\xdc\x5a\x4c\x9d\xbb\x1b\xb8\x9d\xf5\x58\x51\xdf\xdb\xdc\xbf\x7f\xcc\x6e\xde\x0a\x7d\xda\xb6\xe8\x16\x8c\x56\xdb\xef\x2d\xf7\x3f\xbf\x5c\xee\xf5\x7a\x76\xbf\xee\xdc\x37\x92\x21\x7e\x97\xd1\xfa\xeb\x35\x02\xfb\x17\x36\x75\xba\xfb\xd0\xdb\x41\xfe\xac\x58\xf2\xf7\x16\xfb\x7f\xde\x2e\xb6\xd5\x6e\x5e\x16\x09\x6a\x40\x33\x2b\xea\x8f\x3d\xc1\xe8\x94\x8f\xba\x2f\xbf\x9d\x8b\xdf\x1e\x67\x7c\xbf\x85\x7a\xf2\xf3\x29\x6f\x5f\x69\x07\xec\xac\x8f\x05\x6f\xfe\x38\x18\x43\xf0\xb8\xdb\x22\x21\xdc\x2c\x0e\xbd\x32\x1c\xf0\xd2\x00\x94\x85\x1b\x67\xf9\xcf\x5d\xfa\xa0\x8e\x36\xef\x96\x17\xb3\x73\xdb\x17\xa3\xd1\x40\xce\xed\xde\x59\xf3\xf2\xc1\x35\x1d\x83\x79\x5d\x5a\x75\xe2\xb3\x9d\x45\xbd\xb5\xd6\x07\xb8\x44\xfe\xd4\xaf\x2f\x05\x9e\x69\x47\xb9\xdd\x87\x10\x33\xf5\x68\x60\xd8\x2d\xa7\x63\x77\x3c\xe1\x1a\x87\x73\xc5\x10\xd4\x46\xa2\x06\x47\x2f\xb0\x7f\xfe\xe1\x87\x87\x32\xef\x43\xb5\x9a\xc5\xc3\x2f\x3f\xfc\x10\x78\xc6\xcf\x59\x61\xd9\xc9\xa7\x87\xee\x96\x63\x17\x66\xfc\xd5\xe9\xed\x50\x4f\x06\xb1\x71\xb2\xcd\xc7\x84\x13\x6b\x3d\x49\x5a\xad\xee\x9c\xec\x6b\xb4\x3d\xeb\x7a\xb9\xb7\x8b\xaf\xf0\x28\xa5\xcf\xfd\x38\x63\xd9\x89\x1d\x75\xb7\xe9\x6e\x67\xb4\xbb\x6d\x9e\x6e\x95\x7a\xf7\x3c\x3d\xcc\xad\x8c\x85\xd8\x16\xdc\xe7\x56\x8a\x9e\xc1\xf8\x31\x8a\xe7\x8d\xf4\x3f\x3a\xf3\x3b\xf8\x7b\x1f\x73\xef\x1f\x03\xcb\xce\xcd\xcc\x4b\xfa\x6b\x47\x03\xb7\x0c\xf5\xa8\xdb\x72\xea\x6c\xd3\xfd\x8f\x37\x81\xb7\x5d\x79\xcf\x88\xef\x5a\xfb\x8f\x81\x13\xb4\x6d\x6f\xfb\x72\xb1\x6a\x89\x9e\x1a\xed\x45\x49\xd9\x5d\xd1\x8a\xcb\xa2\xfd\xf6\x14\x05\xeb\x25\xde\xee\xf2\x0f\xdd\x8f\x5c\x77\xd5\xf8\xdc\x97\x73\x0d\x34\xd8\x4a\x7f\xd0\x1a\x16\x37\xce\x8a\x67\xb5\xed\x97\xf0\xbd\xfc\xb9\xbc\x3e\x5f\xa3\xc6\x75\x3f\x5b\xb6\x51\x3a\xce\x35\x30\x7d\x5b\x8f\x5b\xea\xdf\x3b\x36\xbf\xde\x33\xbd\xc6\xa9\xbd\x96\xd9\xb6\xf4\xf1\x74\x79\x11\x0f\xcc\xee\xb2\x4e\x7c\xcb\x1f\xd2\x4b\xaa\x85\xa4\x17\xe5\x85\x1e\x04\x76\x87\xb3\x2e\xcd\xc4\x7d\x69\x5d\x1e\x89\xc7\x93\xed\xa3\xd1\x6d\x1b\xc0\xb7\xed\x64\xa0\x47\x83\x32\xba\xee\x12\x5b\x83\xc7\xa0\x8c\xb7\x2b\xe8\x7d\x57\x3c\x46\xcd\xd6\x83\x20\xae\x5a\x67\xa5\xbb\x0e\xa7\x47\x76\x97\xe1\x24\xb7\x6f\xb1\xd5\xaf\x09\xae\xfb\x54\xb2\x41\xb7\x39\xd8\x9d\x62\xec\xea\xd1\x89\x15\xd7\x73\xfb\xb7\xc1\xaf\xbd\x8c\x6f\x15\xda\xc4\xd5\x20\xbf\x44\x66\xf7\x76\xb7\x25\xf1\xf8\x76\xeb\xa0\x44\xb6\x6d\xf5\x87\x3d\xfb\x79\xc2\x25\x32\x7f\x7b\x31\x33\x60\x6e\x2f\xb9\x76\x90\xd8\x59\x27\xfd\xcc\x6e\x29\x5b\x8c\x3c\x67\xf9\xf3\x7d\x92\xf3\xc7\x5c\x2c\x57\x3c\xe5\xd7\x7b\x0c\x2f\xc1\xdc\x63\xf0\xcf\xff\x18\xc4\x49\xf1\x5b\x0f\x44\x60\x59\x9d\x9d\xd7\x83\xa7\x97\x5b\x08\xf6\xab\xda\x9d\x6a\xc5\xc9\x5d\x78\xa6\xee\x48\x50\x3b\x32\x5e\xa9\xbf\x00\xcd\x9f\x93\x2c\x2e\xe2\xe2\x92\xd8\x7d\x6b\xef\xa1\xfa\x58\x81\xc7\x50\x98\xcc\xf1\x1a\x90\xb0\x57\xce\x4e\x51\xaf\xf9\x31\xfb\xce\xe9\xf3\x62\xb7\xd2\x6c\xbb\xe9\x16\xd5\xf8\x0f\x2f\x7b\xe5\xdf\xfe\x6d\xf0\x87\x17\xdc\x5f\x43\x68\xd0\xc5\xb6\xeb\x86\x81\xa7\xf7\x7f\x7b\xeb\x79\x66\xff\xf6\xe6\xa1\xfc\xee\xc4\x68\x5f\xa9\xe2\x99\x2e\xff\x3c\xb8\xa6\xfc\xcc\xec\x7e\xe3\x69\xa0\x3f\x06\x70\xec\x29\xae\xad\x32\x33\xbb\x83\x46\xcf\x2c\xb2\xab\xab\x41\xec\xb6\xe6\xe2\xc0\xba\x46\x6f\xcf\x1c\xdb\xea\x10\x3c\xe8\xd1\x5b\xe9\x97\xde\xd9\x8d\xba\x50\x34\xd1\x33\xf0\xde\xa4\xf2\x24\x80\xa7\xe6\xf7\x6d\x1c\xfc\x3a\xe8\x51\xf0\xb3\x9e\xe7\x9e\x13\x7d\xfa\xfb\x3f\x3e\xbf\x44\xf6\xe7\x27\x7c\x74\x6b\x5e\xad\xc3\xf7\x06\x9f\x17\x6f\x3d\xc6\xe8\x74\x82\xd6\x98\xe4\x4f\x25\xf9\xf6\xe5\x7a\x38\xa9\x7f\xf7\xc7\x9f\x43\x3d\xf9\xf4\xc9\xb7\x2f\x3f\x0e\x7e\xfd\xd3\xd5\x4d\x7d\xf8\xeb\x5f\xeb\x87\xc1\xf0\x7a\x35\xbe\x49\x74\xab\x25\xe8\x72\xad\x11\xb1\x65\x83\xe2\x13\xf4\xe3\xcf\x45\x7c\xdd\x03\x85\x27\x3f\xde\x85\xef\xea\xba\xa9\xed\x5c\xbb\x1a\x88\xb6\x43\xd5\xc9\xa7\x87\x6e\x5b\xfa\x5a\x95\x6b\x28\xeb\x3e\x38\xff\xdf\x1e\x3e\x0f\x1e\x9c\x6b\xf6\x8b\x27\x60\x7c\xca\x8b\xac\xad\x4e\x3b\x94\xfd\x9c\xd9\x49\xa0\x9b\xf6\xa7\x27\xee\x9f\xfb\xec\x9b\xbf\xfe\xe9\x5e\x08\x7f\x31\xdd\xbf\xbd\x15\x22\xa3\x55\xac\x9b\x2d\x79\xb4\x23\x8f\xea\xf5\xc9\xf2\x72\x53\xef\xc3\xcb\x66\x65\x54\x78\xa1\x3d\x28\x13\x4b\x2f\xec\xa7\xf5\xa3\xdb\xc9\x92\x3e\x1e\x86\x1e\x5d\x3a\xbb\xd9\x5b\x2c\xbb\xe0\xcf\x76\x96\x79\x96\x9d\x3f\x05\xae\xed\x59\xbe\x76\xc2\xde\xd6\xc7\x1e\x31\xaf\x56\x30\x6e\xe9\x6a\x07\xae\x7e\xb6\xa3\x87\x62\x60\xd8\x76\xf4\x65\x14\x77\x3a\xfb\xd0\xed\xd5\xba\xd7\x78\xb9\x1d\xf3\x1b\x12\xef\x21\xf3\x87\x5f\x5f\x81\xe6\x0e\x9f\x6f\x59\xc4\x75\x0b\xff\x5b\xc1\xb7\xbb\x59\x9d\x81\x7e\x1a\x61\xaf\xf7\x01\xaf\xc3\x67\x2b\xfa\xd6\xd4\xf6\x79\xf5\xcb\x3e\x63\x56\xaf\xa3\x76\xed\xe5\xdd\xc4\xe1\xb1\x27\xf4\x7c\xe0\x75\x87\xb9\xae\x6a\x56\x79\x85\x7b\xdb\xc5\x7b\xa4\xbe\x59\xbb\xc1\xa7\xaa\x8b\xab\xaa\xe7\x57\xd5\xed\xe9\x7f\xfc\x79\x30\x90\x4a\xa3\x8f\x37\x5f\x3c\x75\x53\x5b\xc5\xee\x2a\xbb\xd7\xc5\xc7\xcd\xe2\x6a\xa0\xb7\xba\x9b\x64\x76\x17\xf0\xb5\x33\xb1\x6d\x27\xb6\x1d\xda\x16\x94\xbf\x6d\xad\xef\x3d\x86\xa7\x1e\xb8\xd9\xe8\x8e\xc1\xab\x86\x7d\xd0\x28\xdf\x03\xe9\x0e\x0b\x77\x96\xf3\xae\x63\x6e\xe6\xe0\x19\xd8\xbb\x5b\x54\xfa\xc0\x8c\x93\xcb\xbd\xe3\x73\x1b\x18\xba\xd6\x5c\xef\x5a\xfd\xfd\xcd\xea\xfc\x63\x00\x3a\xad\x7d\xdb\xb7\xe9\x5c\x82\xd7\xd1\x95\xdf\x69\x8f\x19\xc4\xfd\xa5\x89\xe7\xa0\x7e\x4a\xde\xf8\x6e\x41\x9f\x5e\x3a\x34\xaf\x4c\xe2\x63\x74\xe1\x0f\xe1\xb9\x45\xe6\xbd\x74\x9f\x19\xbf\x96\xd3\x55\x26\x9d\xf7\xf0\x8f\x67\x97\xb8\x83\xce\x65\x37\xef\x1d\xe5\x2f\x75\x67\xfe\xce\x32\x64\xfb\xda\x6f\xcf\x6e\x8c\x3f\xcb\x59\x79\x3d\x32\xda\x7e\xff\x2f\xf6\xa7\xda\x8a\xde\xdc\xa9\xa7\x9a\xbf\x48\x90\x15\xfb\x83\x32\x19\xe8\x8f\xba\xd3\x15\xe0\x78\x79\x61\x67\xd7\xc1\xf1\x85\xea\x48\x57\xaf\xbd\xcb\x64\xd5\x6a\x4e\xf7\xe5\xba\x70\x7d\x55\x9f\x20\x8e\xfd\xf2\xea\xa3\x7f\x05\xa3\xbb\xfe\xad\xee\x30\x97\x57\x3c\xe4\xbd\x5d\x7c\xaa\xc2\x97\x3a\xe8\x0e\xa0\x7d\xa6\xd0\xfb\x1e\x6b\xab\xf5\xb4\xca\xf4\xd4\xfe\x9f\x5d\x3d\xe7\xab\x68\x9b\xc5\x89\x9d\x15\x97\x9e\xee\x7e\xa9\xe9\x4e\x56\x7f\x69\x7f\xfc\xdb\xb3\x71\xfa\x4a\xf3\x98\x7d\xf4\x85\xd6\xf6\xd5\x1e\xe8\x9d\x42\xdc\x49\x0f\x44\x97\xf7\x45\xdc\x05\x4f\xea\x14\xbc\x93\xe5\x9b\x03\xcf\xb7\x74\xc1\xb3\xc9\xd1\x3b\x72\xbf\xd9\xbd\x6b\x8f\xdd\x2a\xf4\x41\x71\xeb\x96\xf5\x86\xb8\x3f\x0f\x1e\xad\xdb\x73\x99\x0f\x7e\xfd\xf5\xd7\x17\x98\xbc\x1b\x9d\x6e\x0a\xf5\x8e\xf3\xf4\xf4\xca\x2f\xcf\x54\xb0\xef\x9c\x5b\xfe\xd3\x57\x8e\x42\xe7\x3e\x76\x4a\xaf\x47\x56\x17\xc6\xc0\x2b\xf2\xab\xb4\x5f\xfa\x0f\x8f\x6e\xff\x07\x9a\xfe\xce\xf8\xfe\xa2\xc1\xad\xfd\xfa\xba\x81\x78\x43\x08\x1f\xb1\x2a\x1f\x1d\xc5\xbb\xe6\xbf\x37\xf4\x75\x92\x00\x5d\x6c\xab\xf8\xf8\xce\x20\xd1\x7b\xcd\x5f\x34\x92\x1f\x18\xf4\xda\x92\xfe\xa5\xa8\xb8\xbf\xc8\xdb\xa9\x82\xd7\xd9\xff\xfc\xfe\x28\xe7\x5d\x8e\xe1\x6b\x56\xe1\x4e\xf1\x7f\x79\x5c\xed\xfd\x42\x5e\xe1\xb7\x31\xd7\x0f\x8a\x4f\xb7\x72\x5f\x52\x3d\x1f\xa6\xda\x1f\xfa\xe7\xb7\xac\xb9\x4f\x36\xe5\xfa\x6e\xaf\x54\x57\x4d\x7a\x7f\x40\x7d\xe8\x8e\x0e\xb6\x2e\xf8\xa3\xce\xdd\x38\xbf\x75\x66\xf1\x29\x4c\xdc\xb5\xab\x9f\xb2\xaa\x7c\x7c\x28\xbc\xc7\xdf\xe0\xd7\xc1\xdf\xef\x4a\xe8\x23\x16\x2d\x5e\x46\x5d\x7a\xb4\x43\x6e\x51\x24\x7f\x1c\x8d\xce\x05\x0c\x41\x3f\x47\x76\x31\xb2\x62\x33\x1f\x9d\x8b\xf1\x18\xfa\x29\x0b\x47\x1d\x46\xc7\x3f\xa1\x3f\xbb\x45\x18\x7c\xb0\x06\xb7\xb4\x87\xef\xcb\xa8\x13\xeb\xc3\x35\x14\xd4\xc3\xe7\xc7\x9e\x7c\xf8\x6b\x3d\x81\x1e\xfe\xf8\xf0\xd7\x72\x8c\x99\x93\x87\xcf\xdd\x48\xfb\xff\x1f\xfc\xf4\xa7\x81\xe5\xe9\x61\x1c\x59\x77\x74\xf0\x95\x6e\x3e\xbe\xd2\xe9\x2d\x9d\x93\xd9\x97\x9f\x8c\xb8\xbe\x23\x1c\xf7\x84\x28\x34\xbf\x12\x1a\x2d\xa1\x3b\x2a\xee\x68\x90\x1b\x8d\x79\xa5\x31\x5b\x9a\xe3\xe8\x78\x47\x83\xde\x68\xac\x2b\x8d\xd5\xd2\x98\xa3\xec\x8e\x06\xbb\xd1\xe8\x57\x1a\xbb\xa5\x09\x9e\xf1\x99\x74\x34\x10\x64\x40\x57\x9a\x63\xd7\x40\xdb\xc9\x6c\xfb\x8e\x6c\x7a\x23\x83\xaf\x64\x4e\x4b\x36\x1c\xfd\x74\x47\x33\xbb\x16\x37\x46\xaf\x34\x6e\x4b\x13\x8d\x82\x3b\x9a\xf9\xad\x4a\xc6\x95\xc6\x6b\x69\xce\xcf\x9a\xaf\x5f\x65\x09\xcf\xae\x34\xa7\x96\xa6\xbf\xf5\xf9\x53\xb7\xbe\x7a\x47\x6c\xdc\x88\x6f\xf5\xf7\x5b\xe2\x22\x4e\x5e\x51\x9a\x57\xca\x47\xa9\x06\x37\xca\xc0\x3e\xde\x13\x5a\x37\x96\xb7\x76\x84\x77\xe5\xbf\xa0\xb5\xaf\xb4\xc8\x8d\x69\xd4\x89\xd8\x8b\xec\x9f\xba\x7b\xb2\x77\xa4\xc7\x9e\x14\x31\x6e\xbd\x11\xb7\xa4\xb9\xa9\x47\xf0\x13\xd5\x14\xba\x51\xdd\x04\x94\xdc\xa8\x90\x3b\xaa\x1b\xdc\xa0\x5b\xab\xd3\x1b\x15\x76\x47\x35\xbe\xf1\xba\x55\x2e\xbb\x51\x4d\xef\xa8\x90\x1b\xd5\x0d\x49\xf9\x8d\x6a\x7e\x47\x85\xde\x84\x72\xe3\x55\x74\x0d\xb5\x8f\xc5\x4f\xc5\x3d\x52\xa6\x57\xd0\x61\x8f\x28\x28\x5b\xc2\xae\x33\x5e\x50\x4e\x6e\xb2\xbb\x51\x9e\xef\xe4\xfc\x9c\x74\x7a\x63\x7a\x2b\xbd\xba\xf5\xdd\x73\xba\xd9\x4d\x2e\x37\x35\xac\x3b\x78\x5d\x83\x40\xfd\xd4\xe7\x94\x7a\xa4\xbe\x82\x71\x3c\xb9\x55\xe0\xd2\xb7\x29\xcf\x7f\xb2\xd3\x52\xbf\xc3\xed\x54\xbf\x91\x62\x57\xd2\xe6\xaa\xdf\x7a\x61\x67\xaf\xa8\x7b\x50\x42\x88\x79\xeb\x9e\xbf\xb7\xd4\x89\x77\x47\x62\xde\x18\xde\x48\xfe\xb3\x53\x96\xb8\x78\xc5\xcc\xba\xaa\x9e\x8e\x5c\x29\xff\xd1\x89\x29\xf3\x0a\x2f\x77\x7f\x4a\xe2\xf2\xde\x10\x4d\xed\x9b\xa2\x4e\xaf\xd4\xff\xa7\xd3\xe7\xb8\x07\xed\x3f\xee\x36\x01\xf0\x9e\xc3\x77\x5b\x61\xec\xdb\xac\x30\xf8\x90\x15\xbe\x36\xeb\xb9\x15\x1e\x23\x0f\x7f\x1c\x3c\x97\xc1\xff\x78\x5b\x06\xf7\xed\x93\xa5\x01\x90\x08\x86\xe9\x67\x0c\x51\x7c\xf3\x78\x3e\x3a\x74\xdd\xb2\x3b\x7c\xad\xca\x65\xfe\xf0\xb9\xbf\xaf\x79\xb7\xb5\x55\x16\xe6\xf7\x4b\x76\xf2\x6d\x92\x45\x3f\x54\x4d\xab\xad\xd2\xf7\xc8\xf5\x89\x1e\x85\x6e\xf4\x86\x7d\xa5\xff\x8f\x96\x1e\x19\xa1\x77\x54\x98\x71\xa5\x82\x91\x9b\x16\xfe\xa5\xa5\x7a\xf0\x4e\x0f\x83\xc0\x73\xba\xd3\x4b\x83\x4f\xfd\x2d\x00\x27\xee\x16\xcf\x0a\x77\xd0\xb2\x3d\x1e\xff\xfc\xe3\x1d\x23\xf3\xb1\xb8\x9b\x69\xfa\x6b\xcb\x08\x1e\x8d\xef\x88\xac\x1b\xd1\xf4\x66\x1b\xfe\x76\xaf\xf3\x03\x43\xcf\x7e\x78\xae\x9a\xd7\x26\xcf\xee\x75\xb3\xa8\xe2\x56\x49\xf2\xe7\x1a\xda\x53\x4e\x26\xf7\x2a\x7a\x7c\xae\x9a\xd7\x0a\x9a\xf7\xba\x09\x8f\xd0\xe7\x1a\x79\x25\x42\xef\x55\x52\x37\xcb\x6b\xac\x82\x7b\xd0\xd2\x5e\x14\xfd\x1e\xa5\x9c\x7e\x1b\x74\x88\x17\x41\xb7\xde\xa7\xc4\x3e\x04\xb2\x63\x5f\xfd\xe7\x30\x7b\x04\x04\x64\xa2\xcf\x00\x01\x1e\x06\x65\x18\xe8\x65\xf1\x56\x9f\x5b\x93\xfb\x3e\x7f\xe0\xdf\xa0\x7d\x14\xbf\x89\xdd\x77\x7d\xcb\x37\xeb\x93\x50\xde\x28\x1f\xfb\xc0\x32\xef\xfb\xe0\xa1\x7c\xe4\xfa\xdc\xe7\xeb\x89\xed\xf9\xbd\xd3\xf7\x60\x3f\x5c\x3b\xed\x2d\x38\xd9\xe8\x3d\x9c\x1e\xf4\xd7\xd5\x7d\x02\xd4\xf1\x19\xa0\x1e\xe2\x37\x68\x1f\x9b\x66\x63\xf7\xc8\x6a\xf9\x3e\x6f\xda\x13\xbc\x8e\xef\x35\xed\x15\xc6\x32\x3b\xfa\x1d\xd6\x69\xf6\x6d\x10\x13\x3f\x06\x9c\xae\x4e\xff\x2c\xf3\x64\x43\xf7\xe6\xa9\x15\x9a\x93\xe9\x67\xfb\x2d\x23\xf5\xe4\xf8\xfe\xa5\xf7\x53\x9e\xe1\xe6\xb1\xcb\xec\xe9\x33\x34\x9a\x0f\x03\xd3\xb6\xbc\x20\xd0\xdf\x82\xa3\x3e\xbd\x87\x63\x7e\x3d\x3a\x9e\x5f\x42\x23\x0e\x06\x9f\xac\xb8\x34\x02\x7b\x90\xff\xf8\x36\x8e\xe6\xcf\x70\xf4\x88\xb9\xb7\x60\x34\x7f\x06\xa3\xf2\xd6\xca\xb7\x50\x34\x7b\x86\x22\xfb\x35\xa9\xfd\xca\x2e\x76\x30\xfa\x32\x84\x08\x3d\xd2\x2d\x4f\x8f\xbe\x1b\x4b\xf3\x6f\xc3\x92\xf0\x0d\x58\x1a\x98\xd7\xca\x3d\x07\xd5\xf7\x81\xc4\x7e\x3e\x92\xe9\x0f\x03\xd3\xcb\xcc\x32\x3c\x06\x76\xfd\xbb\xe1\x62\xeb\xcf\xac\x97\xfd\x0e\xf3\xc7\x1e\xb2\x6f\x83\xef\xff\xee\x87\xd5\x67\xf4\x6f\xd9\xb1\x23\xfa\xcc\x8e\xc5\xef\xbc\xf0\xdf\x08\x84\x47\xe3\xa5\x2d\x7b\x21\x92\x7b\x30\x2e\xec\x2c\xfc\x1d\x18\x84\xa1\x6f\x03\x21\xf7\xb1\xe5\x84\xae\x52\xef\x61\xef\xd1\x42\xfc\xc7\x47\x2d\xc4\xbf\x7e\x10\xb5\x9e\xf9\x4f\x0f\xf2\x1b\x43\xe3\xbf\x7e\xb8\x3b\x3e\x73\xa4\x5e\x0c\x62\x2f\x40\x62\x1d\xef\x41\x62\xe7\x8d\x5d\xbc\xb6\x54\x5d\x74\xb9\xdf\x83\x0e\xf8\xdb\xd0\xa1\x7e\x08\x1d\x5e\x5f\xab\x7f\xd6\x78\xf7\x7b\xe0\xf4\x2f\x18\xff\x1e\xcd\xc7\xdf\xde\xf3\x9b\xee\x6c\xd3\x73\x1f\xab\x7c\x6d\x85\xef\x40\x07\xbd\x04\xdd\x4b\x03\xf2\x84\xb9\xf1\x4b\xcc\xfd\x33\xcc\x92\xfd\xdc\xc5\xf2\xee\x49\xef\x41\xb7\x89\xb3\xca\x76\x3c\x3d\x1a\x91\xfa\xef\x72\xe7\xe1\xf1\xb7\xa1\x8f\xfa\xb0\x3f\x3f\xf9\x10\x4e\xa3\xc7\x86\x58\xfa\x6b\xc7\xfe\x09\x80\x8f\x36\xe9\x3f\x5e\xd8\xa4\x37\x0d\xd8\xe4\xb9\x01\xa3\x9e\xa6\x85\x6f\xda\xb0\xd9\x4b\x1b\x96\x17\x59\xec\xdb\xff\xa4\x89\xc0\xff\x7e\xd7\xda\xdd\x4d\x04\x9e\x0f\xa0\xfa\x97\x4d\xe3\xe4\x39\x4a\xed\xb7\x9a\x77\x87\xd4\xd9\x4b\xa4\xbe\x6c\xde\xbf\x74\x32\x20\x25\xbf\x13\xa1\xc8\xb7\x21\x54\xfb\x10\xee\xf2\xe4\x0d\xb8\xfd\xd7\xd8\x47\x1d\x7e\x86\xd6\x3f\x3c\x0c\xba\x18\x8c\x85\x6d\xbd\x09\x56\xf8\x19\x58\x37\x0f\x83\xc2\x0b\xac\x37\xb1\x6a\x1c\x9f\x61\xf5\xcf\x77\x8c\xdf\x82\x95\xf1\xcc\xf8\xbd\xe8\xf7\x27\x34\xc1\xcf\xd0\x14\xbd\x2a\xff\x0e\x4c\xd3\x67\x60\x7a\x61\xd2\x9f\x61\xa4\xb2\xad\xdf\x85\x91\x6f\xdc\xb0\x99\x7e\xd8\x8a\x2d\x3f\x86\xa6\xbe\xfe\xef\x1a\xaf\xf9\x33\xe3\x45\xbd\x1e\xae\xfe\x5b\xae\x60\x7c\xc8\x70\xfd\xbf\x73\x05\x43\xaa\xbc\x3c\xff\x7e\x38\x7e\xe3\xca\xf5\xaf\x1f\x04\x99\x97\xe7\xef\x19\xac\x47\x2f\xe7\x7f\xbc\xe7\xe5\x7c\xe7\xbc\x74\xfe\x0c\x8e\xaf\x27\x6a\xff\x1d\xa6\xa4\x4f\xf4\xc7\x57\x3e\xd7\x6f\xcf\x7d\xae\x7f\xce\xec\xf5\xbf\xc1\xdc\xe4\x43\x13\xd8\xee\x8a\x86\xdd\xdf\x08\xf9\x59\xb7\xac\x4f\x0f\xfd\x9d\x14\xbd\xb4\xbc\x78\x64\xd8\x41\xf0\xf0\x79\xf0\xd0\xff\x2f\x76\x9c\x5f\x0c\x3d\xb7\x27\xe8\xc3\xe7\x1f\x1e\x76\x63\x2b\x92\x2b\x40\x80\xc7\x3f\xd2\x4d\xf7\x18\xd7\x7d\x5d\xd3\x67\xea\xa4\xe2\x4b\x87\x1e\x1b\x08\xeb\xe9\x87\x75\x4f\xa2\x12\xd3\x47\xf2\xa5\x89\xf7\x5f\x08\xf4\x61\x30\xfc\xe1\x01\xc8\xf3\x48\x83\xd7\xe0\xfe\x0f\xd5\x83\x52\x72\xa8\xee\xbb\x9d\x33\x08\x45\x20\xa3\x57\x7f\x33\x9f\xb4\xc2\xf9\x45\x0d\x83\x66\x29\x00\x00\x68\x37\xe9\x18\x9a\x0b\xa7\xdc\x21\x6c\xc4\x2c\xea\x44\x0d\xb4\xb3\x19\xb2\x89\x79\xc1\x59\x86\x64\xaa\x35\xe9\x57\x9b\x06\x60\x7d\x31\x14\x7d\x63\xc0\xc9\x2c\xa9\x38\x54\xdf\x2c\x92\x5e\x33\xeb\x3d\x80\x58\x5c\xe9\x6b\x08\x80\x00\x00\xee\xb0\x84\xcf\xfb\x63\x8d\xe5\xf4\xbd\x1c\x4b\x2e\x16\xb2\x22\x23\x49\x61\x10\xac\xe5\xca\xd3\x3c\xd9\x33\x65\x55\x45\xab\xba\x76\xdd\xd3\x89\x5c\x2e\x16\x0b\x7e\xcd\x90\xa2\x4f\xb7\x6f\x03\x02\x70\x20\xe4\x3b\x86\xf1\x50\x63\xf5\x1c\xc5\xb4\xda\x89\x4e\x11\xe7\xf0\xfb\x80\xe7\x39\xd3\xc1\xd1\x44\x44\x49\x9f\xad\xce\x72\xa8\x8e\x27\x61\xc1\x69\x99\x91\xa3\x09\x2b\x38\x9b\xbd\x20\x03\x00\x18\x20\x50\x8e\xeb\x8a\xa2\x24\x11\x0b\x9a\x5e\x70\x4c\xc7\x90\x51\x55\x55\x8d\x1d\xd7\xad\xeb\xcb\x85\x58\x44\xd1\x92\xe1\xb8\xd4\x73\x1c\x27\xbe\x5c\x08\x82\xdc\x91\xab\x24\x61\x37\x3c\x5f\x86\x71\x8c\xa2\x93\x89\xe7\x41\x10\xc5\xac\x56\xc6\x4e\x92\xfc\xaa\x86\x15\xed\x94\x65\xd0\xe2\x70\xa8\x9b\x8e\x61\x73\x8a\xa2\x68\xb9\xe5\x79\xdb\x36\xcd\x19\xca\x0a\xfe\x66\x0f\x04\xe0\xb4\x42\x13\x1c\x55\xd3\x70\x9c\x20\xda\x1a\xd0\x1c\xc3\xe9\xba\x6a\xb6\x05\x31\xa4\xe0\xd3\x32\x68\x85\xe8\x74\xf2\xc5\x97\xbe\x28\xb2\x1d\xc3\x5c\xdc\xad\x72\xb1\xd9\x40\x92\xb8\x9d\x79\xb5\x48\x35\x07\x71\x0d\x29\x3b\x85\x82\x95\xf6\xcf\x52\xe0\x83\x15\x1e\x0e\x56\xd4\x7e\x60\x2d\x64\x14\xa3\x5c\xc2\x5a\xc9\x28\xc6\x98\x51\xac\x39\xaa\xb8\x0b\x46\xeb\x3e\x1d\xc3\xf6\xcb\x70\x89\x1c\xe7\x48\xfb\x81\x9c\xcd\x42\x50\x00\x01\x70\xc0\x81\x13\xaf\x19\x27\x4e\x67\xbc\x45\xba\xf2\x78\x9d\x21\x5d\x46\xcf\x81\x83\xfb\x6d\xed\x01\x01\x58\xdf\x63\x12\x3f\xdd\xb0\x49\xa8\xa5\x59\x18\x1a\x1d\xc3\x22\xf4\xb2\x22\x44\x56\xb9\xd7\xac\x72\xe7\x42\xb9\x69\xd5\xa2\x01\xef\x3a\xbf\xfd\xe3\xf0\x24\x4c\xb5\xb7\x3f\xa1\xa6\x05\xa1\xf2\xf8\xe9\x18\xde\x3f\x78\xef\x23\x2c\x4e\x0c\xe7\xe0\x00\x38\x38\xa8\x11\xca\xac\x11\xca\x17\x15\xc6\xaf\x11\x26\xc7\xab\xbe\xd7\x2f\x00\x80\x8e\x61\xdb\x3a\xd9\x6b\x68\xf3\x24\x2e\xcd\x66\xb7\x34\x9b\x66\x69\x36\xf5\xd2\xa2\x76\x6c\x40\x35\x9b\x39\x55\x6d\x09\x00\x6b\x78\x5b\x61\x07\x30\x7d\xb5\x71\xb0\x16\x1b\xda\x14\x1b\xb6\x95\xbd\xec\x21\x3b\xf3\xa4\x1c\x7a\x4d\x69\x90\x83\x09\x21\x87\x56\xf8\xca\xb7\xfc\xa9\xcb\xbe\xa7\x5b\xd1\x10\x0b\x4b\x4b\xb4\xb4\x63\xe8\x00\xa7\xf1\x17\x54\xdf\x19\x7d\xf9\x6a\x2c\xb8\x24\x09\x6e\x00\x16\x00\x60\x3c\x17\x23\x08\x1d\x62\xb3\xa6\xd9\xf9\x7c\x58\xee\x9d\x54\x94\x0c\x68\xb6\x60\x15\x36\x8f\x4a\x3d\x54\x43\x64\xdb\x6b\x4a\x8b\x3f\x63\x8d\x6a\x28\x56\x37\x8d\x17\x71\xa1\xb9\x77\x42\x8b\xd0\xcd\x19\xc6\x92\x6c\x1a\xc4\x6c\x24\x84\xd1\x96\xb7\x45\xce\xc0\x27\xe3\x04\x4a\x92\xa6\x71\xa3\x28\x02\xd3\xc5\x62\xbf\x30\xcd\x19\x96\x40\x49\xbc\x4c\xad\x40\xed\x18\xb6\x9c\xf7\x16\xa1\x63\xa9\x87\xd1\x6c\xd1\x34\x71\x28\x87\x17\x1b\x2e\x15\xc9\x30\x67\x28\x86\xb5\x05\x5d\xc1\x9f\x2a\x13\xb3\xc9\x29\x0c\xd5\xea\xa6\x89\x23\x3d\x1c\x97\x18\xa1\x8c\x4d\x73\x36\xc5\x34\xb6\x29\x7b\x4d\x11\x22\xf7\x4e\x53\x7a\x06\x4e\x40\x08\xb0\x8a\x83\xce\x82\x89\xee\x18\x3f\x2d\x22\x95\x71\x8e\x2a\xba\x50\x5d\xc1\x4d\xbc\xc5\x6e\x19\x49\x5b\x32\xe1\x9d\xb5\xe9\x24\x09\x3e\xd9\x9c\x7c\x8d\xeb\x18\xa6\xea\x46\x90\x5d\x3f\x4a\x0e\x12\xd1\x9a\xa0\xae\x2f\x01\x41\x51\x34\xcb\x30\xaa\x2c\xcb\xfe\xa3\x01\x58\x2c\x16\x1c\xc3\xe8\xb6\x69\x3a\x71\x9a\x72\x92\xe4\x79\x19\xc7\xad\xb6\xeb\x75\x9e\xe7\xf9\xac\xba\x74\x0c\x2f\x93\x86\x6c\x4e\x59\x96\xaf\xd7\x82\x50\x55\x75\xb1\x61\xb9\x15\x79\x50\x94\x90\xdf\x14\xb6\x6e\x9b\x13\x14\x93\x16\x65\x50\x58\x9a\xce\x4d\xf6\xb2\xec\xc7\x49\x22\x01\x48\xc3\xaf\x16\x87\xc0\x7d\x9f\xa2\x16\x0b\x55\x96\x3b\x86\x5d\x0d\x12\xf7\x72\xf1\xc2\x28\x66\x18\xee\x25\xe6\x66\xc4\x6e\x4b\x89\x88\xf8\xe2\xb3\x9d\x89\xb5\x48\x79\x8a\x48\x79\x07\x71\xed\xc1\xbb\x75\x03\xf7\x06\x56\xa1\x95\x83\x15\xc2\x5a\x80\x1c\x8c\x02\x55\xac\xf1\xf2\x70\x84\x11\xe4\x08\xa3\xf0\x91\x46\xb5\x60\xaf\xbd\xfe\x10\x57\x8b\xdd\x95\x48\x31\x0c\xa3\x0a\x9d\x68\x3a\x86\xae\x26\x7a\x27\x72\xb9\x8c\x98\x0d\x2f\x38\x21\xfe\x28\xc7\xab\x4e\x88\x08\x25\xd7\x18\x65\x5e\x34\xca\x97\xa6\x8c\xbf\xb3\x98\xbc\x39\x32\xd0\x6e\xb4\x86\x20\x71\x43\xcb\x3b\x71\x23\xd7\x8a\x05\x89\x0a\xdc\x31\x84\x6a\x2d\x90\x1b\xcd\x82\x1a\x25\x80\x60\x25\x80\x0f\x5a\x30\x36\xb4\x60\x3f\xb5\xe6\x7b\x43\x9b\x23\x23\xeb\xf9\x67\x6e\xc1\x57\xd3\xef\x00\x81\x70\x98\x26\x94\x18\x2f\x94\x98\xd3\x75\x08\x40\x21\x4f\xc2\x19\x69\x91\x01\x06\x68\x9d\x96\x12\x0e\xc7\x4c\x3d\x9e\x41\x4f\x92\xc6\xf8\x7b\x8d\x09\x6d\x4d\x8b\x3c\x2d\x4d\x42\x6d\x9a\xa4\x3a\xc3\xf5\x66\xac\x53\x22\xea\x3a\x84\x3a\x3a\x93\x46\x3d\xb0\x99\x34\xf2\x98\x2c\xf2\x18\x34\xf6\x34\x2d\xf1\xb4\x34\x2d\x75\x36\xbf\xa4\xd3\xac\xfc\x96\x8f\x8f\xc7\x3d\x6c\x88\x18\x08\xdd\x80\x63\x5d\xd8\xee\xa3\x48\x2c\xa5\x5c\x58\x60\x32\xa4\xe2\xd3\x60\xed\x74\x22\xad\x48\xca\x14\x60\xc6\xaf\xa7\x4c\xbe\x3b\xae\xaf\x32\x5c\xcf\xa1\xdd\x7a\xae\x1c\x44\x9a\xae\x9c\x4d\xc7\xf0\x36\x82\xdd\x5c\x87\x8a\x05\x6b\x69\x4a\x99\x8d\x45\xf9\xb2\xc2\x14\xb0\xc2\xc0\xb0\xc2\x14\x8a\x22\xcc\xbf\x66\x80\x7a\xd8\xdc\xfd\xc1\x3b\x71\x03\x35\x12\x0e\xb1\x44\xdb\xd3\xad\x48\x4f\x82\xa0\x6a\x2e\x4e\x70\x66\x82\x13\xc6\x09\x56\x09\x72\x19\xb2\x60\xef\xf2\x82\xee\xd6\xb8\x47\x25\x35\x68\x48\xd2\xdf\x30\x91\x24\x74\x0c\x05\xc9\x9c\x97\x2c\x83\x55\x55\xd3\xa0\x34\x13\xd3\xb2\xb8\x76\x50\x28\xd8\xa0\xa8\x43\x9a\x5c\x78\xa0\xa2\x80\x07\x6e\xab\xdb\x14\xa0\xa9\xb6\x31\xf5\x85\x5c\x52\x8b\xe5\x8a\x97\xcc\xd0\x11\xd7\x68\x4d\x68\x63\xf9\x42\xfa\x7d\xa7\x24\xda\x56\x92\x24\xbf\x08\x5c\xa7\xe1\xa4\x7d\x48\x85\xdb\x53\xc4\x6d\x25\xc9\x0c\xfd\x00\x77\x57\x5e\x32\xf6\xa9\x90\x67\x33\xa1\x53\xf2\x65\x8b\x4f\x62\xb2\x14\x7c\x5c\xc6\x85\x56\xa5\x16\xcc\x5a\x76\xe2\xc4\xd5\x44\xa9\xb7\x36\x5e\x14\xfa\xf4\x8a\x5b\xdb\xb2\x29\xfb\x31\x96\x60\xf5\xae\x39\xf9\xcc\x52\xdd\x71\x6b\x41\xb7\x9c\x1a\x24\x89\x58\xef\x1a\x2f\x5a\x2e\x99\xdd\x5a\xb0\xf7\xa6\x33\xc7\xf1\xd6\x3d\x63\xd6\x2d\xca\x48\x20\x78\x0e\xa4\x51\x72\x3f\xa6\x50\x84\x09\xd0\x25\xf0\x1b\x6c\x0d\x49\xb5\x10\x48\xf5\x86\x6e\x6a\x31\x80\xeb\xcd\x06\xc6\x64\xa8\xd9\x09\xb0\xac\x88\xca\xa5\xde\x28\xb0\x22\x2a\xe3\x5a\xdb\x28\x86\x1a\xec\xc4\xcd\x66\x77\x14\x65\x45\xdc\xd0\x8a\xa8\x28\x10\xa6\xf5\xbd\xac\x18\x4a\xd1\x34\x62\x30\x56\x44\x05\x11\x35\x05\x36\xb4\x60\x5c\x6b\x43\x05\xd3\x60\xa4\xd9\x6c\xf6\xed\x33\xab\x65\xa2\xc0\x30\xa6\xcd\x0f\x73\xad\x38\x68\xce\x63\x41\x3b\x51\xec\x0b\x6a\xb4\xbe\x97\xe1\xa9\x0a\xcb\x07\x51\x91\x15\x25\xd8\x2b\xa2\xb2\x3f\x68\xc1\xfe\x68\x29\xca\x5c\x9b\x4b\x75\x4b\xbc\xd9\x8c\x45\x45\x51\x0c\x4d\x19\x1f\x95\x42\xd1\xb4\x39\x7a\x10\x95\x83\x62\x05\xe3\xa3\xa5\xec\x45\x6d\xb8\x9f\xdb\x34\x7a\xd4\xe6\xbd\xea\x89\x6e\x57\x03\x78\xae\xc0\x2d\xb1\x6a\x69\x81\x6a\x58\x30\x72\x71\x93\x30\x0c\xd2\x38\xf5\xd2\xd0\xf3\xd2\x34\x0d\xd3\x22\x1c\xa7\x59\x0a\x1b\x71\xe9\xa5\x71\x9a\x71\x79\x68\xa7\x59\xda\x70\x79\x3a\xcc\xb2\xb0\xc9\x7a\xd5\xf3\xbc\x34\x4b\xbd\x34\xf7\x2e\x69\xea\x5d\xb2\x3c\x6d\xa6\xa9\xd7\x64\x45\xea\xa5\x65\x8a\x70\x79\x46\x18\x59\x7a\xce\x8a\x72\xb6\xaa\x2e\x4d\x56\x46\x44\x9a\xa5\x93\x2c\x2f\x7b\xba\x32\x45\xb2\x3a\x5a\x66\xe5\x09\x9f\xf5\xb0\xf1\xa2\x55\x92\x9e\xd3\x32\x0d\x27\x65\x38\xcd\xca\x68\xb9\x2e\x42\xc8\x8c\x27\x59\x7a\xf6\xb2\x55\x95\x91\x5c\x5e\x8e\xb2\xd2\x1b\x42\x96\x44\x8b\xca\xe1\x60\x05\x34\x72\x52\xc6\x8a\x36\x1f\xc3\x47\x0b\xc3\x8c\x39\xba\xbf\x18\xbb\x72\xd4\x31\xcc\x8e\x67\xce\xb4\xcb\x09\x74\x76\xb0\x66\x3c\x33\x4b\x43\x2b\x96\xab\x4d\xb9\x98\x0e\x8b\xe1\xcc\x68\xb8\x66\xee\xf2\xcc\x24\xd0\xb0\x74\x6c\xe8\x69\x9a\x69\x65\x9a\x0e\xcb\x8b\xe1\x9d\xc9\x8c\x2f\x08\x59\x51\xe6\x07\x4d\x09\x90\xc6\xb2\x7a\x5d\x16\xad\x12\x69\x6c\x7e\x3f\xb7\x37\x71\x9a\xa5\xa5\x97\xad\xce\x6d\xad\x4e\x4b\xb3\x0e\x67\x66\xd9\x00\xf3\x60\xe5\xe3\x53\x70\x3e\x44\x06\x57\x10\x08\x7c\xba\x6c\x4d\xb6\x19\x9f\x8d\x3a\x5a\x4e\xf9\x72\x3b\xb6\x74\xfe\x4c\x82\x68\xd9\x31\x3c\x55\xad\x06\x50\x9d\x06\x50\xb3\x04\xc4\x12\x95\x81\x18\xa0\x40\x00\x0b\xc6\x36\x65\xb9\x06\x69\x2d\xe1\x10\x45\xaf\x52\x86\x13\xe5\xb5\xa0\xba\x26\x84\x71\xb5\x78\x91\x65\x2a\x49\x19\x6d\x27\x73\xb9\xea\x28\x0c\xd6\x3b\x9c\x17\xf6\xb2\xa3\xfc\x24\xe6\xb4\x9d\x24\x3b\xb6\x9b\x28\x38\xa7\x4f\x16\x32\x1c\xb0\x59\xae\x1b\xb2\x5a\x42\x4e\x82\x6b\x9c\x2e\x8d\x65\x28\x48\xd2\xd4\x34\xe4\x7d\x5c\x89\x6a\x0d\x2e\xd8\x44\xf4\x1b\xdf\x67\x13\x43\xd8\x4b\xa1\x5f\xf4\xce\x12\x84\x71\xd8\x84\xf0\x49\x9f\xe5\x12\x5d\x90\x25\x28\x2e\x94\xbc\x66\x2f\x3a\x71\x82\x7c\x9a\x49\x75\x41\x92\xa1\x30\x29\xba\x82\xf6\x3e\xed\x17\xdc\xda\x50\xe5\xfd\x18\xad\x61\xb7\x6e\x0b\xf2\xa9\xa0\x60\x39\x53\xbd\x0e\xa3\x63\xa8\xa8\x93\xf8\x54\x7b\xb8\xdf\xf8\x11\x1b\xb1\x6b\xa9\x2d\x2d\xd8\xb0\x3a\xa6\x79\x72\x5b\x50\xa8\xf2\x92\xe4\xa7\x45\xa0\xb1\x52\xc3\x5e\x76\x5d\x41\x2a\xcf\x4b\xbe\x9f\x14\x09\xcb\xed\xb8\x85\x0c\xfb\x49\xef\x39\xe4\xaa\x22\xed\xc3\xaa\x86\x93\x5a\x32\xc8\x7d\xdb\x2c\x96\x33\x75\x49\x0a\xab\xa2\x0e\x12\x63\xb7\x52\x60\x8a\x8e\x57\x7d\xb3\xc2\xa2\x50\xb4\x4c\x4f\x91\x85\x4c\x25\x19\xab\xcb\xaa\x04\xa5\x75\x21\x6a\x99\x71\x5a\x86\xbd\x8f\xed\x27\x49\xa6\x0b\xd2\x1e\x0a\x93\x5a\xd4\x8c\x93\x87\x2c\xc2\x60\x93\x6d\x74\x63\xaf\x87\x68\x8d\xb9\x89\x61\xec\x90\x7d\x18\x6d\xb8\xcc\x32\x64\x39\x6e\x5b\x94\x9c\x0c\x03\x51\xc2\xe8\x7c\x66\xb8\x5e\x7e\xc1\x86\xf5\x3a\x86\xba\x87\x2c\xe0\x90\x2b\x62\x6d\xb7\x97\xbc\xb4\x0e\x34\x56\x37\xc8\x65\x38\x0e\xd2\x35\xaf\xed\x24\xd5\x0f\x93\x5a\x63\xa5\x13\xd1\x16\x54\xe4\xa5\xae\xef\xf5\xb0\xaa\xb1\x24\x91\xbc\xe9\x21\x1c\x47\x9b\x7c\x73\x34\xe4\x7d\x5a\xf5\x9d\x52\x27\xc9\x4e\x9a\x1e\xf6\xfb\x88\xdf\x96\x47\x65\x0f\x00\x09\x1c\xb0\x06\x02\x03\x58\x4d\x27\x05\x9f\x95\x41\x67\x48\xa9\x05\x23\xe7\x18\xab\x8b\xf8\xa5\x21\xfd\x94\x90\x57\x6b\x5e\xb2\x13\xd3\xaf\x09\x4e\x0a\x94\x86\xa2\xfa\x99\x14\x6b\x1c\x5a\xe9\x26\xb5\xa5\x62\x04\xb1\x0f\x68\x3f\x4f\x57\xa6\xb2\xd7\x2f\x7e\xd2\xca\x66\x25\x00\x10\x5f\x0d\x29\xee\x8f\xd9\x5a\xa0\x38\x52\xf1\x59\x40\x09\xed\xb3\x05\xd3\x02\x13\xa8\x5a\x22\x7a\x64\xef\x39\xe0\x9e\x4f\x2f\xd6\x02\x93\xca\x6a\x0b\xa1\x44\x14\x4f\x6d\x6f\x2f\x96\x6b\x5e\xf0\x62\x4d\x9d\x61\x38\x47\x84\x94\x4c\xc5\x29\xa7\xca\x82\xe4\xfb\x41\x22\xb4\x7e\x4a\x6c\xb6\x23\xbc\xb1\x21\xe4\x3d\x7e\x71\x20\x16\x5c\x67\xa3\x32\x90\xdb\xd9\x68\x5b\xd6\x5a\x55\x1d\x8b\x16\x2e\x9c\xbb\xa0\x76\x54\x1c\xa5\x2a\x25\xec\x9d\xb2\xb0\x2c\x4d\xd2\x27\x07\xba\xa1\x93\x34\x33\x76\xaa\x00\xbc\xc2\xb5\xd4\x8b\x74\x39\x2c\x60\x3a\x09\x33\x53\x52\xf7\x5e\xde\x0f\x01\x80\x6f\x00\x10\xc8\xbc\xa2\x98\x78\xb3\x10\x02\xc0\x82\x25\xa0\x80\x1a\xd7\xe2\xa9\x39\x05\x11\xb5\x58\xad\x79\xdb\x31\x37\xc0\xa9\x31\xf7\x42\x91\x5e\xb6\x88\x98\x35\x2f\x38\x8e\xd2\xd6\x9e\x20\x16\x54\x43\xfa\xad\x07\x76\x1d\x46\x4b\xd5\x74\xdb\x09\x22\xb7\x20\x29\x8a\x61\x12\x6d\x27\x09\x82\xe3\xba\x34\xcb\x4d\x24\x82\xa2\x28\x26\x49\x0e\x82\x20\x38\x9e\x1b\xd0\x4c\x3b\x36\xa5\x5d\x5b\x57\xb8\xa8\x2d\x79\xc2\xd7\xf1\x76\x88\x25\xc0\xd2\xbf\xd6\x90\x01\xb5\x74\xf2\x97\xb1\x26\x2e\x38\x53\x75\x02\x96\x95\xda\xda\x51\x54\xc2\xa6\x07\x66\x2d\x78\x7e\x52\x2b\x2a\x86\x4f\x16\x72\x40\x67\x39\xc3\xee\x5a\x45\x80\x2d\x17\xe7\x74\x09\x59\xec\xfd\x0d\x97\x99\x8a\xaa\x4f\xd0\xde\x3f\x4c\x2c\xcd\xcb\xc8\xc3\x01\xa6\xd3\x75\x61\xeb\xba\x0e\xc5\xad\x86\x64\x8d\xe1\x03\xb0\xa9\x68\xbc\x22\x2a\x50\x17\xf4\xc6\x33\x55\x42\x8a\x21\x8d\x90\x81\x0f\x4c\xe0\x10\x84\x4f\x2f\xf8\x56\xee\xb2\x1a\xc7\x35\x86\xd5\x7d\x2f\x13\x44\x44\x87\xcb\x2d\xcf\xe9\xaa\xda\xcf\x02\x5a\x07\xb4\x9d\x46\xf0\xeb\xf5\x75\x66\x50\x27\x6e\x37\xb5\x58\xde\x66\x0b\xe8\xf3\xe9\xc6\x6d\x06\xd1\x31\xec\xa7\x11\x3e\x00\x44\x52\xb5\x63\x77\x4e\xd3\xbe\x89\x72\x62\x4c\xb5\x6e\x2f\x03\xd2\xd6\xdf\xc6\xe9\xbd\x1a\x57\x75\xed\x3a\x06\x71\x5d\x6f\x58\xcb\xaa\xd4\x3f\x73\x4f\xc6\xf5\x59\xc7\x70\x6d\xea\xea\xed\x87\xdb\xe2\xc4\xda\x54\x5f\x2d\x58\x7c\xe4\x59\x6f\x1c\xe8\x22\xcb\x8c\xc3\x7e\x1f\x96\x45\x3b\x75\xd0\x27\x63\x18\x0e\x92\x2c\x13\x70\x70\xae\xe2\x25\xd8\xce\x96\x0b\xb8\xef\x4f\xe2\x52\x75\x32\xa4\x00\x0a\x00\x7e\x22\xc3\x25\xcf\xf3\x82\x6a\xb9\x8c\x9a\x4c\x38\x89\xea\x18\xb6\x10\x8a\xe5\x0d\xc7\x4b\x4e\xe0\xd2\x38\xc7\x49\x41\xb3\xf3\x13\x2e\xd1\x25\x79\xef\xa7\x9a\x09\xb3\x12\xe7\xed\x83\x20\x68\x87\x80\x9d\xbc\xf7\xe3\xae\x60\xfc\xb2\x0f\xe0\x80\x4d\xdb\xca\xf0\x8e\x17\x14\x1b\x51\xef\xad\xcd\x64\x0c\x8f\x29\x9a\xe1\xf4\xc3\x7e\x1f\xe7\x45\x1d\xe0\x9c\x94\x8e\xe1\xf1\x82\x5b\x6f\x54\x4d\x92\xc3\xb4\xa8\x2d\xd7\xcb\xc8\x85\x0f\x05\x6c\xbe\x6a\x9b\x39\xb9\xb8\xc1\x46\xd3\xf5\xa6\x6d\x7a\x5e\x70\xc6\x61\xaf\xc6\x97\x7e\x16\xd0\x42\x44\xd2\x43\x18\x0e\xb9\xd5\xc6\xd2\x74\xa2\x22\x1d\x23\x02\xc0\xa1\xbc\xca\x54\x75\x25\x59\x6d\x09\xc8\xbe\x82\x97\xa0\x70\x00\x44\xa2\x47\xc1\x5a\x10\x1c\xc7\x95\x5b\xc8\x4c\x88\x4e\x29\xfa\x75\x1b\x59\xe4\xd6\xb6\x6a\x5a\xfd\x72\x0a\x75\x22\x97\x51\xcc\xf4\xc4\x2e\x0b\x6a\xcc\xad\x21\xaa\x9f\xdc\x08\x7c\x69\xde\xb4\x8a\x92\xfd\x2c\x5a\x2e\x85\x8e\x2e\xa0\x71\xa2\xd5\xaa\xde\x9d\xa3\x18\x26\x56\x45\x49\xf2\x7c\xab\x25\xe6\x3a\xe2\x38\x61\xd5\x96\x38\x0c\x02\x9a\xe5\x38\x7d\x4f\xf5\x74\x82\x24\x79\x61\x10\x74\x4c\xaf\xf3\x3e\x4d\x90\x7a\xa6\x6c\x3f\xa6\x70\x7a\xfb\x03\xc3\xc4\x9a\x28\x74\xc4\x34\xcb\xb5\x35\xed\x89\x45\x49\x72\x7c\xb7\xeb\x2c\xbd\x67\xc0\xdc\x98\x76\x05\xc9\xad\x8b\x4c\xe2\x15\x01\x00\xb1\xed\xa7\x15\x2c\xb7\xe5\x98\xb0\x82\x50\x93\x21\xe5\xc5\x89\x91\x1c\x02\x90\x00\x00\xd3\x72\xd3\xc9\x25\xda\x5f\x08\x92\x8e\x18\x69\x2f\xa1\x92\x60\xba\xb8\xb7\x72\x69\xc9\x3b\x05\xcb\x7c\xaf\x30\x0b\x53\x56\x61\x4d\xa8\x13\x51\xdc\xc9\xe1\xb9\x67\x18\x2d\xb8\xb5\x2c\x0f\x2d\x15\x8a\xeb\x6a\x72\x91\x15\x3f\x8e\x7d\x75\x25\x99\xe9\x05\xb6\xf2\x0a\x6f\x27\x29\x04\x00\x15\x45\x50\x8d\x23\x03\x9c\xc6\x4f\x4c\x5b\x2b\x17\x08\x09\xe0\x88\xaa\xda\x80\xfa\x00\x04\x0a\xc3\x99\x7e\xbe\x4c\x38\x15\x57\xa3\x62\x03\x85\x3e\x09\x70\x82\xba\x80\x8b\xe8\xd1\xce\x9a\x72\xf9\xd4\xd1\x59\x8f\x77\x70\xf5\xb0\x20\x19\x1c\x05\xeb\x93\x3a\x86\xbc\xea\x1c\xaf\x73\x40\x1f\xac\x1a\x66\x18\xc1\xc1\x89\x05\x53\x0b\x94\xec\x33\x44\x6f\x1c\xa8\x31\x86\xa2\x0e\xbc\x2d\xd7\x14\xcb\xfb\xfb\x80\x74\xfa\x69\x28\x0a\x00\x58\x3a\x00\xf8\x0e\xe4\x30\x1e\xa7\xf3\x2a\xca\x9f\xaa\xa1\x40\xb1\x94\xe8\xbb\xdc\x8e\xc2\xae\x2b\x4f\x2b\x80\x3b\x60\x06\x1c\x42\xa0\x3b\x86\x1e\xe3\x31\x5a\x3c\x39\x55\xc3\x35\xf9\x48\x0b\x84\xe0\x7e\x09\x95\x00\xd7\x52\x40\x3f\x59\x24\x80\xbb\xd5\xc6\xd6\x0e\x00\x41\xe5\xab\xeb\x2f\xfc\xa2\x5f\x32\x35\xfc\xb8\x9b\x95\x85\xe6\x14\x25\x45\xe7\xb2\x39\xad\x27\xf3\x1d\x68\xf8\x9d\x3f\x45\xad\x68\x55\x1a\x76\x95\x1b\xba\x13\x6a\xde\x26\x41\x2d\x88\x33\x72\xaa\x96\xd4\x11\x83\x1c\xe4\x5d\xc5\x3a\xbe\xad\x59\x11\xbc\x54\xd1\x26\x3e\x75\x0c\x11\x64\x94\xce\x49\xba\x38\x23\xb2\x07\x8f\x4e\x61\x3d\x0d\x08\xb9\xd8\x16\xf0\x6c\x94\xab\xc7\xf9\xda\x77\x40\x0e\x16\x22\x6e\x21\xce\x7a\xb1\x45\x73\x79\x98\x12\x5b\x15\xbf\xcc\x95\x0c\x20\x6a\xca\xc6\xf9\x1e\xd9\x8f\x47\xf6\x11\xf6\xfa\xf9\xf2\xa8\x44\x4c\x67\xa6\x2d\x46\xd8\xf4\x24\x0f\x93\x6d\x68\x2c\x28\x56\x76\xfc\x63\xa4\x33\xc8\x9c\x34\xb6\x69\x6d\x59\x5a\xe2\x1a\x6b\x31\x24\x4c\x2c\xe3\x02\x5f\x5e\xfb\x97\x7a\xe6\x31\x71\xe9\x60\x16\x7b\x86\x79\x75\x39\xd7\xb1\xb9\x39\xec\x6b\xb8\xb0\xcf\xa9\x39\xd5\xc6\x07\xda\x22\x4f\xab\x51\xba\x6c\x0a\xf1\x78\xda\x53\xfb\x9a\x1d\xe9\xde\xc2\x6e\x4e\xb1\x5b\xce\x97\x39\xa1\x59\x02\xce\x19\xde\x12\x52\x0a\x79\x84\x84\x33\x2c\x20\x17\xe3\xdd\x68\x58\xfb\x9a\xa9\x46\x87\x21\xd5\x33\xd4\xd3\xe6\x3c\xaa\x77\x0e\x1f\xef\xe8\xc5\xb0\x9e\x4a\x9b\x54\x40\x37\xc3\x18\x00\x5c\xaa\x4b\xe5\x50\x4d\xa7\xac\x85\x19\x61\xb8\x0b\x4b\x56\xf7\x0f\x53\x0c\x9a\x2f\x97\x90\xbf\x50\xb9\x33\x10\xb7\x49\x75\xe4\x25\xb0\xbd\x48\x5b\x60\x8e\x7b\xd8\xf8\x91\x4d\x56\xf8\x78\x59\x01\xc0\x06\x02\xa9\x72\x18\x36\x9b\x6c\xa6\xf3\x05\x4b\x9c\x6a\x74\x98\x4c\x74\x52\xb6\xc6\xd3\x83\x74\x16\x2f\x87\x15\xeb\x33\x04\xa6\x6a\xf0\x69\x75\xc6\x82\x84\x77\xb5\x5d\x03\xe5\x43\x32\x8c\x68\xd8\xea\xbd\xaf\xa4\xc8\xa2\xf5\x44\x26\x1d\x66\x0f\xc3\x07\x77\x66\x2e\x77\x16\x34\x92\x42\xc3\xe1\x81\x55\x9b\x97\x7d\xb5\x6e\x67\x9c\x99\x86\x1c\x37\xd2\x51\x33\x1a\xce\x53\x33\x0e\x1d\x16\xdb\xb4\x88\xd6\xca\x8a\xb7\xf7\xfc\x62\xec\x2b\x67\x59\xed\x9b\x9c\x8c\xb7\xec\xc8\xf5\x89\x00\xd3\x69\x91\x47\x77\xab\x85\xba\xd5\x4c\x46\x46\xce\xea\x1a\x76\x63\x57\x42\x4f\x4b\x3a\x88\x2e\xfb\xd1\x78\x87\xb1\x53\x7f\x91\x4b\xee\x61\xbf\x9b\x6d\x20\x4c\x19\x22\xc4\x68\xb1\x4d\x59\x58\xb0\xf6\x5e\xbe\xd8\xf6\x06\x96\x6a\x96\xe9\x81\x91\xf0\x2d\xe3\x45\x7b\x52\x2e\xa6\x8c\xcd\x9e\x47\x47\x8c\x2f\x1a\xbc\x4e\x76\x8d\xa6\x09\x43\x42\xa5\xdc\xe5\xe1\x98\x2e\x50\x1d\xe0\x42\xe0\x4d\xc7\x0b\xd6\xdd\xa0\x31\x7b\x1e\xba\x07\x13\x24\x80\x6d\xe7\x0e\xfb\x8e\xe1\x6c\x31\xce\x74\x70\x40\x37\xb2\x09\xf0\x48\x29\xa6\x53\xa2\xd1\x00\x3e\x5c\xe5\x4b\x53\xb1\x87\x02\xea\x0e\x05\x1c\xae\xdc\x91\x96\xb1\xbb\x6d\x2d\xe1\x16\x33\x0b\x9d\x9d\x0d\xac\x5d\x2e\xf0\x31\x2d\x53\x91\x33\xc7\x97\xa6\xb2\x75\xeb\x8e\xa1\x24\x8a\xaa\xcf\xed\x35\xf6\xc0\xd3\xea\x76\xa2\xa0\x80\xca\xbc\x84\x8d\xa9\xd3\xc1\x01\xe3\x8a\x15\xb5\xa5\x44\xd5\x21\x4b\x86\x33\x1a\x02\x13\x87\x3a\xe4\x0e\xa6\xa3\x5a\x0e\x56\x4c\x91\xad\xf1\xe9\xf0\xe8\x4e\x65\x6e\x75\x56\xf7\xfd\x8c\xde\x2a\x72\xb2\xa2\x8f\x70\xd8\xa8\x8d\x04\xd3\xb3\xf1\x06\x76\xc7\xfc\xa5\x18\xdb\xd3\x09\x0e\x0b\x96\x04\x49\x20\x17\x3c\x67\xb5\x5d\xf3\x0e\x2b\xcd\x59\x91\x98\xba\xf4\x01\x4c\x7c\x39\x5f\xd1\x1b\x8e\xc4\x4c\x80\x99\x3b\xf1\xec\x48\xfd\x1a\xec\xd6\x44\xe8\x60\x3e\xaf\xf7\x88\xb0\xf3\x46\xeb\xa5\x38\x23\xa9\x70\xb2\x8f\xce\xba\x22\x80\x5d\x25\xa6\x22\x77\xba\x54\xc2\x1c\xcf\x32\xb7\x74\xc4\x31\xe0\x76\xf9\x56\xb0\x05\xd3\xcf\x00\xef\x90\xbc\x6b\xec\x28\xe9\x92\x1d\x04\x0c\x22\x3a\x86\xfe\x26\x39\x58\xc5\xfe\xb4\x9f\xee\xc7\x23\x44\x3e\xd9\x07\x44\x9e\x63\x0e\x63\xe9\xc1\x51\x04\x31\x08\x53\x99\xf2\xaa\x04\x43\x5c\xc2\x32\x89\x2a\x70\xd0\xe9\xd1\x34\x8e\x4d\x10\x0a\x6b\xe0\xe8\xb8\xef\x4e\xcd\xe1\xd1\x24\x1d\x7a\xd8\xe3\xf0\x58\x91\x87\x63\x63\x3b\xab\xad\xb9\x52\xd9\x1c\x00\x56\x00\xd9\xee\x70\x8a\xdc\x51\x79\x58\x5c\x90\x33\xbc\xf4\x91\x44\x99\x8c\x90\x02\xcb\xca\xfd\x0c\x3e\x4e\x92\xec\x68\xac\xc7\x02\xb2\xdf\x28\x97\xf9\x0c\xaf\xe4\xc2\x20\x2a\x97\x76\x7b\xff\x70\x5f\x6e\xed\xf3\x84\xb7\x47\xa8\xa6\xd3\x82\x6c\x3a\x5c\xa6\xe4\xa8\x65\x1f\x1b\x17\xde\x01\x12\xc0\x24\xe5\x62\x06\xa2\x04\xa4\x4e\x11\x15\x66\x0c\x8d\xed\xd1\xe7\xe2\x1c\x29\x18\x50\xda\xc8\x99\xd5\x78\xcf\x45\x1c\x1d\x09\x26\xbd\xb5\x41\xb6\xd2\x91\xf1\xb3\xd5\x19\xda\x02\x69\x36\xd9\x6e\xad\xd5\xd4\x99\xc5\xe6\x98\x2b\xec\x0d\xcd\x71\x0d\x27\xda\x2e\x7f\x1e\x3b\x6c\x4c\xaf\xf0\xed\x21\xd4\x0f\xe7\x2d\x2e\x30\x2b\x87\x8d\x23\xc8\x30\xf6\x78\xde\x64\xaa\xa6\xaa\x15\x35\xed\xa7\xb7\xc1\xf8\x34\x3c\xef\x2c\x79\xaa\x24\xfe\x18\x5e\x79\x32\x24\xe8\xa7\xad\x7f\xa9\x00\x58\xa6\x86\x4c\x40\x23\x35\x57\x79\xcb\x40\xed\x09\xce\x27\x53\x0a\x32\x09\x0f\x42\x41\x3c\xda\x39\xe4\x4c\x53\xc0\xda\xb3\x26\xee\x08\xcc\x18\x1b\xef\x18\x6e\xfc\x64\x32\xaa\x73\x00\x08\x8d\x5a\x51\x2a\xe3\x0f\x2f\x67\x66\x22\x34\xf0\x66\x33\x09\x98\x63\x81\x8f\x26\xcc\x7a\x7f\xda\xb3\x1b\x3e\xdd\xee\xd6\xb6\x05\xc2\x8b\x7e\x9a\x50\x39\x24\xe0\x7e\xc0\x26\x9e\xb4\xdf\x2f\x23\x61\x4c\xc4\x6a\xbf\xfd\xb1\xd8\x83\xb0\x18\x42\xce\x4a\xc0\x69\x8e\xc0\xa3\x64\x2c\xc8\xb2\xa0\x8d\xe0\xc2\x2d\x34\x12\x67\xe5\x84\xde\xab\xb3\x71\x83\xa0\xb1\x19\x67\xf8\x64\x1c\x1f\xa6\x29\x8e\x5d\xa0\x78\x0b\xce\xa3\x63\x5c\x2f\xc7\x58\xa5\x84\x0e\xb3\x3c\xf6\xe6\xab\xa6\xf9\x6c\x16\xd8\x9a\x89\xa7\x30\x57\x23\xda\x99\x48\xe7\xb8\xa3\x4f\x90\x39\xa8\xcb\x65\xb9\xdd\xac\x46\x53\x58\x25\x68\x94\xba\x54\x6c\x92\x2e\x69\x70\x98\x1c\x68\x28\x3f\x29\x46\x09\x36\xd1\xf9\x6c\xad\xcc\xac\x3c\xaa\x15\xbf\xee\x17\x31\x3c\x52\x9f\x78\x00\x9d\xcc\x80\x0a\x00\x3e\x09\x37\xf8\xfa\x60\x3a\x3b\x72\xb6\x94\xc4\x94\x45\xcf\xd5\x8c\x38\x81\x80\xa0\xb6\x80\x00\x52\x70\x18\x81\x6d\xb5\xe5\x59\x2e\x98\xd7\xed\x30\xba\x0d\x23\xfb\x3c\xb6\xf7\x09\x82\x1c\x9c\x7e\xa0\xaf\x10\xf2\x7c\x6c\x26\xe1\x65\xe1\x23\xf1\x65\x3b\x53\x77\x5c\x4e\xf0\xe7\x06\x38\x60\x25\x78\x50\x0c\x9b\x93\x4d\x93\x8f\xf9\xf1\xd6\x19\xbb\x28\x20\x18\x16\x38\x60\xb1\x85\xf4\x4d\x84\xd5\x10\x4e\x3a\xca\x71\x39\x2d\xc7\xbb\xe2\x72\xec\x07\x7a\x53\x64\x4a\x15\x5c\x04\x17\xa7\x47\xc1\x59\x12\x41\x51\x38\x60\xb2\xdb\x1a\x7b\x0d\xcc\x1d\x5d\xce\xb4\x3d\x90\x29\x00\x86\x64\x8d\x4e\x05\x64\x94\xcd\xa6\xcb\x5a\x96\x53\x2d\xc4\x21\x3c\x94\xcb\x75\x10\x9f\xe8\xd3\xb2\x80\x1d\xb2\xdf\x5c\x88\xa2\x73\x79\x98\xad\x99\x30\x3f\x49\x29\xb6\xf7\x1b\xa9\x59\x48\x93\x31\x4f\x31\x01\x5f\x1e\xf7\x7b\xbb\xa9\xf7\xc9\x79\x42\xe3\x0e\xe9\xb0\x4a\x50\x1c\x0f\xb4\x5a\x6c\x00\x88\x52\x19\xaa\x85\x98\x84\xd4\x95\x77\x88\x31\x93\xc6\x84\x7e\xf2\x88\x12\x91\x0a\x17\xf8\x0a\xf8\x1a\xc1\x03\x1c\xb8\x86\x3f\x02\xeb\xe1\x08\x54\x12\x41\x58\xc1\x1e\x00\xb0\x36\xe9\x93\x34\x8d\x2b\x63\xb6\x50\xc8\xe6\x6c\x93\x9e\x76\x6e\x22\xa3\x18\x17\x34\x6a\xac\xb0\xd8\xda\xc0\x2a\x17\xcc\x66\xbb\x7e\x6a\x46\x01\x9c\xd0\xce\xe5\x31\x9d\xab\xc4\x0e\x2f\xd6\x95\x02\x04\x99\x02\xd5\xa2\xd8\x04\x45\x23\xe9\xcb\x33\x20\x55\x02\xd9\xd5\x2b\xe5\x94\x7a\x22\x18\xf2\x1a\x58\xbb\x8d\x99\x52\x8e\x68\x02\xbe\x8a\x09\xe7\x6c\xed\xea\x7c\xb7\x5c\xf5\x93\x47\x8a\x9e\x0c\x63\xde\x18\x0f\xb7\x80\x99\x99\xde\x56\x30\x0f\xce\x34\xe1\xd5\xe1\xea\x54\x0b\xd2\x79\x7c\x3c\x85\x74\x79\x42\x50\x67\x51\x35\x08\x0c\x8d\x8c\x05\x37\x69\x90\xda\xd9\xcd\x66\x53\x3b\x0e\xf7\xf2\x8a\xd2\x49\x0b\x42\xab\xa5\xdd\xef\xeb\xa9\xb5\x75\x32\x1d\x65\x2c\xd5\x67\xa9\x8a\x20\x25\xd6\x0e\xac\x98\xfa\x22\x81\x01\x49\x18\x85\xa5\x12\x03\x39\x3f\x4c\x81\x03\x84\x35\xbe\xd1\x95\x0a\x80\x00\xe0\x62\xbd\x1b\xc1\xdb\xf0\x98\xae\x52\x49\xdc\x90\x86\x7b\x30\xa0\x5e\x97\x0d\x3b\x4b\x70\xc4\x98\xa3\xa7\xa4\xdc\x53\xda\x09\x27\xc8\x31\x6f\x5a\x07\x3a\x21\x38\xca\x21\xc8\xa3\x49\x6f\xd7\xd5\x0c\x00\x40\xca\xd5\x0e\x0d\x22\x39\xc4\xa0\x20\xac\xb2\x64\xbd\x76\xb7\x02\xc3\x9d\x26\x25\x44\xcd\x8e\xd9\xf8\xdc\xcf\xa4\xf0\xc8\x59\x6f\x2c\x26\xc8\xb4\xdc\x73\x4e\xba\x1b\x9c\x4a\x6b\x02\x68\xc5\x19\x16\xcd\xa1\x92\xa3\xc3\x0a\xd9\xb1\xab\x44\x3f\xe9\x7b\x0e\xa0\x4a\xb7\xd1\xee\xd1\xc7\x94\x75\x38\xa0\x41\xb3\x43\x56\x48\x88\x55\x17\xc2\x46\x35\x7b\x77\x6e\x7b\x56\xa9\xc5\x8c\x08\xce\x99\x20\xb2\x0e\x6e\x27\x6e\x15\x6d\xf6\xec\xa9\x58\xa4\x61\x32\x51\xa8\xad\x74\xc6\xed\x29\x85\x7b\x32\x92\x3a\xac\x21\x80\x8a\x44\x57\xf6\x6c\x05\xd6\xe4\xda\x5d\x1a\x1b\x00\x40\xe0\x70\xc3\x82\xce\xb1\xde\x1e\x0e\xd5\x0b\x6b\xce\x2f\x44\xc4\xea\x48\x56\xaf\xb6\x65\xb0\x88\xea\x2a\x3f\x28\x73\x3a\xf7\xc7\x3e\xba\xf5\x72\x02\x2c\x89\x19\xed\x57\xc6\x82\x9a\x3b\x6c\xb7\x4a\x12\x5d\xfc\xfc\x04\x11\x16\xbd\xd6\x56\x2b\x27\x6e\x66\xeb\x21\x7d\xdd\x5f\xf6\x2a\x15\x77\x98\x7a\xd8\x2c\x3d\x02\x07\x1c\x08\x70\x6e\x93\xd0\x70\xce\xcf\xd9\x44\x31\x2f\x94\x37\xd7\x33\x18\x53\x83\xa5\x93\x95\x05\x76\xdc\xb2\x91\x6f\xb1\x93\x33\x55\x69\xdb\x0b\x58\x0a\x38\x43\x91\x72\x16\xac\x4d\x1c\x80\x7e\x41\x72\xcc\x01\x09\x12\xd2\x21\x5b\x89\x39\x85\x02\x56\x2b\xd6\x11\x20\x27\x8b\x88\x57\x2b\x35\xe0\x19\xed\x5c\x34\xf2\xc6\x3a\x65\x36\x3e\x3d\x7a\x6b\x7f\xcf\x40\x44\x88\xe3\x13\xc0\x00\xce\x44\x66\x60\x1e\xe7\x14\x1d\xec\xa4\x05\x45\xf4\x06\x76\x68\x1a\xb6\x48\x12\x90\x2e\x26\xab\x65\xba\xd9\x26\x81\xc9\x8d\xa6\x93\x55\x1d\x8d\xb3\x24\x4c\x2f\x87\x5c\x65\xf7\xa2\x37\xa2\x85\x6e\x6b\x58\xf0\xe7\x6b\x02\xf0\x9e\x91\x09\xb8\x00\x48\x82\xcc\xd3\x24\x8e\xb7\x65\x61\x0d\xa1\x7e\x46\x4f\xd8\x73\x67\xe2\x51\x96\xa7\x1e\x1c\x25\x14\x00\x83\x0e\xd1\x2a\xf7\x29\x9c\xf2\xf0\x20\xde\x08\x13\xce\x83\x46\xdc\x4e\x80\x84\xd3\xfe\x78\xaa\x1b\x6f\x08\xec\xf2\xc0\xc5\xeb\x13\xa5\x1c\x05\x5e\x6b\x32\xe8\x32\x47\xe1\x74\xe5\xac\xc7\x57\xd5\xab\xcf\x86\xc6\xa7\x66\xad\x4d\xd8\x89\x9f\x05\xd9\x09\xbd\x8c\x4f\x73\x60\x39\x1c\x59\x4f\x16\x11\x9b\x2b\x2b\xd7\x30\xd1\x71\x99\x62\x33\x74\x18\x97\x92\xb5\xc1\x93\x98\xf0\x08\x65\x99\x35\xc3\x7d\x23\x83\x11\x49\x16\xe4\x0c\xec\xae\xbb\xb7\x88\x0b\x05\x6b\x02\x80\xc6\xa4\xcf\x43\x69\x78\x94\xa4\x8d\x6f\xab\xfb\x60\x97\x18\x08\x1a\x1e\xc7\xe2\x31\x4c\x53\xd6\x5e\xdb\x7e\xe0\x2e\xc1\xb1\x9c\x2a\x31\xa0\x00\xe1\x00\x90\x70\xa2\x5f\xac\x86\x9c\x2f\x90\xfb\x75\xa5\xf6\x9e\x83\xdc\x9d\xf7\x20\xb8\x3c\x99\x41\xb5\x9b\xcc\x61\xf9\x94\x0a\x78\x85\xd4\x28\x66\xda\x45\xea\x9f\x04\xea\x52\x22\x8b\x39\x3e\xd9\x0c\xc5\x09\x06\xc9\xe9\x8c\x57\x3c\x67\x5a\xf1\xe1\x64\x5f\x46\x90\xad\xa3\x01\x47\x6e\x63\xdd\x60\xf3\x8e\xe1\x44\x5f\xa5\x8e\xe1\x6e\x9b\xe4\x8c\x72\x22\xea\xf1\xa4\x17\x54\xb3\x99\x96\xa8\xd3\x14\x66\xf8\xb5\x69\x00\x09\xf0\x40\x29\x42\x93\x88\x62\xc3\xcc\xfc\x05\xca\x2d\xa4\xe9\x48\x8b\x72\x5f\xd9\x8b\x1b\x7a\xce\x42\xa2\xbc\xe4\xf8\xa8\xef\xe5\xcb\x65\xbe\x07\x33\xf2\x3c\x59\xb5\x93\x31\x71\x4d\x08\x32\x40\x17\x99\x57\x1c\x95\xf5\x38\x30\xb5\xe3\x12\x11\x90\xdd\xe8\xac\xa1\x53\x76\xac\x2e\x5d\x33\xc4\xf5\xe6\x74\xb4\x2e\xa5\x32\xc6\x9c\x15\x68\x32\x13\x32\xfb\xd9\x54\xbf\xbf\x4c\xb8\x93\xad\xd5\x3e\x58\x5c\xf6\x27\x7a\x8f\x5e\x24\xf3\xa4\xef\xf5\x71\xb8\x30\xe3\xe3\xb2\xde\xd7\x76\xc5\x81\x95\x13\xec\xf1\x64\x25\x9f\xab\xca\x1f\xca\xbc\x8b\xd9\x9b\xc5\x45\xe6\x73\x78\x44\xd1\xc3\x44\xcb\x86\xa5\x85\xf1\x4d\x3f\xbd\x5d\x54\xaa\x05\x00\xee\x8c\x13\x6c\xbc\xf2\x24\x07\xa8\x23\x4d\x09\xf8\xd0\x0b\x28\x67\x19\x4d\x16\x08\x6f\x56\xea\xa9\x61\xa6\x67\xfe\x04\x17\x93\x3a\xaf\x51\x09\x09\x70\x75\x3e\xa1\x64\x01\xa7\x27\x80\xc1\x41\xb8\x55\x97\xe8\x36\xee\xad\x8d\x4a\xc4\x2c\x00\xe4\xde\x1e\xf2\x1a\xab\x79\xd3\x51\x3d\x9d\x8c\x2e\xcb\xe9\xaa\x39\xce\xd7\xd8\xa1\x11\xb9\x88\xde\x86\x67\x7b\x9d\x7b\x81\xb0\xac\x94\xeb\xd9\x07\x64\x25\x90\xb3\x2d\xd1\xce\x29\x49\x47\x87\x84\xf2\x84\xaf\xae\xc3\x68\x63\xb3\xa8\x3e\xd1\x46\x94\xa8\xe0\x40\x0e\x00\x45\xa6\xe7\x78\x3d\xc5\x05\x1c\x94\xc0\x29\x1b\x3a\x65\x56\x45\x78\x5a\x22\x9c\x85\x56\x47\x2e\x36\x22\xde\x05\x48\x33\xc3\xd2\x7d\x2c\x6e\xc3\xb9\x5b\xc5\xfc\x32\x26\x01\x08\x7a\xd8\x18\x15\x09\x00\x36\xa1\x97\xa0\x3c\x1c\x83\x65\x8c\x1c\xed\x71\x51\x2c\xe6\x07\x99\xb4\xc1\x5c\x0d\x55\x02\x17\xa0\x78\x9b\x8d\x60\x81\x98\x31\xe7\x92\x68\xe5\x9d\x18\x32\x10\x08\x6e\x3c\x5e\x87\x14\xc2\x4f\x67\x0a\x30\x96\xc2\xae\xdf\xf1\xd9\x32\xdb\x4d\xbc\x9b\x37\x1b\x13\x09\xc6\xbc\x3d\xdd\x01\x65\x05\x36\x78\x79\xdc\xcd\xd6\xdd\xe9\x8e\x45\xb3\x43\xb7\xd2\xac\xfd\x1e\x53\xab\xc5\xd2\x18\x97\x3a\x51\x55\xd4\x19\xa6\xf6\x2e\x9d\x79\xb2\x6f\x00\x1d\x68\xe3\xe9\xe8\xd8\x6f\x72\x69\xd1\x4e\x3b\x18\xfb\x06\xc1\xab\x7d\x72\x92\xf5\xb5\xc6\x89\xa7\xa9\xa5\x41\xec\x68\xe4\xc8\xf6\xce\x4a\x14\xaa\x02\x40\xe3\xe9\x7c\x53\x73\xe0\x24\x48\x0e\x18\x02\x7c\x1b\xab\x33\xf6\x84\x5d\xc6\xd5\xc9\x9e\xc1\xa7\xfc\x60\x8e\xfa\x95\xa5\x1d\x2f\xec\x77\xa4\xaa\xe1\x21\xf0\x37\xa4\x97\x2a\x55\x09\xc6\x1b\x76\xde\xd6\x88\xc2\x39\x50\xcc\x95\x2c\x3f\xe6\xa3\xf1\x06\x9e\xaf\xf9\x39\x2c\xcd\x33\x6b\x46\x2d\x77\xda\x32\x6a\x08\x6c\xad\x86\x47\x81\x02\xc4\x65\x44\xe3\xe6\x75\xc9\x14\x90\x00\x33\x51\xc7\x43\x9b\x99\x08\x36\xf9\x28\x9c\xd0\x9b\x83\x12\xcf\x49\x05\x9d\xb0\x0b\x18\xc7\xc9\xd2\x4f\x83\x6a\xa4\xe8\xd8\x62\x2a\x18\xe5\x42\x91\x98\xe1\x58\xd7\xf4\x78\x75\x60\x33\x4b\x39\x8d\x9b\x80\x98\x6b\x98\x40\x5d\x37\x0a\xe9\x66\x84\x09\x8d\xa3\x68\x3d\xdc\x47\xf1\xc1\xac\x2f\xc4\x64\x7f\xdc\x95\x43\x68\xae\xd8\x23\x73\x3a\x99\xb0\xa8\xb2\x03\x0b\x99\x0e\x01\x06\x0f\x15\xb0\xe1\xbc\x91\xb0\x8d\xb7\x95\xea\xa8\xc0\x07\x53\x18\xe3\x97\xa8\x04\xf5\xbb\x15\x18\x47\x2e\xcf\xa7\xf9\x7c\xbd\x4e\x67\xbb\x2d\x6d\x22\x59\xcc\x69\xd1\x82\x8f\x77\xb0\x11\x32\xae\xe2\x98\xd3\x03\x58\xf7\x87\xc5\xd6\x60\x0f\x2b\x86\x50\x21\x8e\x9e\x34\x7c\xc2\x5a\x43\xce\x1a\x1f\x4d\xd4\x93\xf8\xc9\xf8\xd8\xef\xf8\x9c\xe7\xc3\x30\x3e\x97\x1e\x5c\xc9\x9b\x2d\x38\x41\xd8\x7c\x83\xf0\x4a\xdd\xf8\xa8\xa3\x4c\x91\x6d\x48\xcd\x68\x06\x8c\x69\x2c\x14\x53\x64\x4a\x9d\xcd\xe9\xe4\xbc\x3a\x1c\x69\x34\x23\x31\x99\x65\x41\x85\x4e\xdc\xfd\x64\xa5\x11\x06\x96\xf7\x5b\x99\x2b\xab\x1e\xfa\x4d\x6b\x0f\xf1\xa1\x7b\xbc\xcc\xb1\xe1\x7c\x82\x69\xc4\x6a\x3b\xc5\x91\x91\x12\xec\x96\xc4\x99\xa4\xb8\x42\x70\x77\x21\xca\x79\x84\x03\x28\x60\x64\x47\x63\xbf\xdb\xe6\x79\x5b\xe9\x43\x62\xdb\x70\xa1\x64\x71\xa3\xf6\xc6\x21\x42\xe1\x8a\x84\x75\x5b\x2d\x7c\xee\x98\x57\x1b\x6c\x24\x1d\xb6\x3c\xc4\x92\x91\xcb\x8f\xd0\x40\x97\xe3\xac\x38\x8f\x72\x14\x1e\x1f\x2f\x86\x3d\x8a\xf8\x8d\x15\x99\x31\xb1\x8c\x70\x25\xf0\x4a\x88\x10\x16\xf8\x3e\xd8\xaa\x23\x8c\xab\x7a\xe3\x10\x8e\x57\x23\x3f\x2b\xb7\xeb\x89\x30\x8d\x1b\xb4\x38\x93\xc2\x65\x68\x68\xc8\xb2\xe1\xbd\xa1\xb3\x59\x02\x94\xd4\x28\x07\xfc\xda\x11\x3f\xfc\xf0\xe3\x2d\x38\xf3\x1b\x27\xff\xbc\x50\x77\xec\x7c\xe4\x99\x71\xf4\xd3\x7c\xf2\xf0\x79\xf0\xd0\x3d\x19\x25\xd1\xfd\xe9\x3f\x4f\xc1\x79\xb1\x82\xb8\x85\x13\xb7\x2d\xdc\x48\xb2\x4b\xc9\x4e\xab\x41\xdd\x51\x23\x87\x68\x7d\x73\x40\x7a\xe1\xd2\x44\xbb\x27\x0b\x0b\xdf\xb5\x2e\xef\x6a\xb1\x25\x46\xb5\xdb\x1d\x13\x01\x74\x23\xfb\x56\xaf\xeb\x80\x9b\xf2\x4b\xde\x6f\x9f\x3a\x2a\xe4\x4a\x3b\x01\x00\xdb\x53\x01\x60\x08\x0a\x00\x72\xd2\xfd\xc0\x3b\x00\x2c\xe5\x0a\x00\x32\x6d\xd9\xf3\x89\x03\x00\x6e\x55\xd1\x2a\x11\xb7\x1d\x3c\x34\x4f\x82\xac\x7e\x05\x14\x6c\x67\x60\x54\x91\xa3\x78\x35\x8e\xfc\x0e\xaa\x41\x25\xd1\x41\x03\x00\x28\x99\x0a\x80\x95\xb7\xc6\x6d\x4e\x1e\x59\x0e\x00\x34\xe7\xb2\x22\x45\xcb\xf6\x26\x2b\x0e\x87\x20\x3f\xac\x2d\x6c\x84\x40\xcd\x6c\x82\xce\x4b\xb2\xe9\x19\x86\xb5\x48\x7b\x06\x93\xf3\x07\x6d\xa6\x30\xd1\x8e\xa5\x55\x69\x8f\xe8\x66\x41\xc1\x66\xb1\xf7\xcd\x82\xa2\x27\x0c\xa4\x88\x34\xb5\x07\xb1\xe7\x0a\x31\x38\x09\x74\xe8\xe1\xb1\xb3\xd7\x19\x0a\x90\x34\x11\x0a\x07\x3f\x28\x62\x08\xed\x87\x59\x1e\x8a\xac\x3d\x83\x1a\xb5\xa6\x07\xfb\x25\xeb\x45\x3b\xb5\xf0\x45\x96\xf6\xcd\xa2\x09\xe6\x8d\x35\x9f\x4e\x87\x33\x13\x9d\x0f\xe5\x53\xe9\x25\x06\x41\xc2\x97\xe1\x7c\xa8\xdb\x53\xec\x7c\x0e\xd9\xe0\x8c\x38\xfc\x58\x15\xcb\xee\xd3\x5b\xf4\xf6\x3f\x72\x09\x8a\x2c\xc6\x37\x48\x74\xb4\xb9\x5c\x97\x0e\xfb\x32\xd3\xb3\xb3\x78\x96\xb3\x5d\x14\x98\xa6\x32\xc2\x74\x24\x20\x45\x5b\xe4\x68\xcb\x44\x35\x7d\x12\x35\xe7\xfd\xd8\x98\xf2\x4c\x52\x69\xee\x74\x83\x4c\xbd\xa5\xda\x4f\xd0\xb7\x4d\x71\x39\x5f\x50\x2f\x05\x10\xb4\x8b\x9c\xd1\xfe\xb0\x84\x8f\xc8\x42\xc8\x69\xdf\x83\x04\xa3\x19\x9a\x40\x81\xc7\x27\x5b\xf4\x77\x55\x25\x5b\xe3\xcb\x31\x57\x98\xd9\x9c\x3f\x19\xab\xac\x8a\x62\x96\x59\x55\x33\x2a\x06\x3c\x03\x68\xa7\xd7\xa4\x8a\xdc\x11\xb5\x09\x58\x9c\x62\x19\x8f\x01\x4e\xec\x31\x04\x60\x1c\xc6\x61\x70\x76\x91\x58\x5b\x91\x10\x53\x24\xdf\x12\x38\x60\x81\xe7\xcd\x04\x07\xf8\xa3\x2d\x43\xfb\x12\x8e\x0b\x67\x17\x11\x44\x5f\x38\x14\x14\x81\x73\x49\xbf\x0c\xb3\x9c\x1b\x19\xe6\xae\x3d\xdf\x35\x1d\x54\x50\x50\x4b\xf5\x1d\x20\xd2\xb8\xe4\x87\x81\x1c\x46\xc9\x74\x15\xae\x0e\xb3\x2c\x98\xa5\x73\x8c\xdf\x72\x2c\x44\x0a\x84\xbf\xb5\x77\x94\x29\x64\x80\x84\xa7\xf3\xe1\x74\x38\x5d\xe5\x5b\xe4\x5c\xf4\xc6\xa3\x9a\x03\x58\x3b\x1b\x15\x7d\x14\xd6\xa3\x0c\x1e\x81\x0b\x39\x41\xb9\x15\x7e\xc6\xd8\x25\xa3\x33\x15\x93\x30\xd8\x82\x31\xec\xb3\x35\x1b\x67\x10\x83\xf0\xeb\xd3\x99\x3d\xf2\x31\x76\x3c\x12\x69\x05\x53\x2e\x23\x06\x82\xe0\x21\x3a\x32\xed\x7d\x70\x48\x2f\x8e\x3b\x05\x1f\x8f\xb7\x2e\x53\x2e\x8b\x39\x56\x44\x11\x9e\x4d\xb1\x66\xb9\x19\x81\x05\x90\x62\xf5\x74\xa9\x15\x65\x47\xf0\xc4\xf6\xc8\xef\x37\xf3\x7c\x71\x2c\xed\xa1\x75\x1c\xad\xd0\x0c\x69\x66\x6b\x69\x21\xf3\x67\x44\xdf\xab\x64\xbf\x57\x90\xa2\x08\x4e\x1d\x0e\x94\x20\x6e\x09\x81\xc3\x52\x3a\xb0\xe9\xb5\x65\x95\x7c\xb5\x56\x90\x3d\x27\xe3\x07\x5a\xb9\x28\x07\xb7\x08\x91\x53\x76\x2a\xce\x15\x8c\x9c\xcb\x15\x5c\x6e\x0f\x0b\x00\x64\xc7\xf5\x17\xc1\x6a\x7b\x60\xe7\xda\x59\xeb\x7d\xf0\xd5\x14\x99\xc5\xcd\x6c\x99\xf3\x2e\x4d\x8f\x4b\x44\x5f\x42\xd4\x8c\xa5\xce\x60\xef\xda\xc3\x68\xbc\x5d\x92\x53\x48\x9b\x8e\xea\xd0\x34\x8f\x2b\x5c\xe2\xe6\x6b\x38\x3a\x40\x20\x8d\x54\x5a\xe2\x3c\x7c\x7a\x64\x3c\xbe\x71\x10\x7f\x0c\xe3\xfd\x4c\x4b\x5d\xee\x61\x67\xed\x67\xf0\x88\xc4\xf1\xe1\x64\xe9\x2f\x56\xbb\x3a\x14\x8f\x46\x7d\x9c\x0f\x53\x73\x34\xdb\xe7\xcd\x7a\x1e\x34\xf4\x7c\x8e\x4e\x66\x45\x55\x6b\x04\x48\xb1\xca\x10\xbc\x35\x21\x52\xfb\x2d\xee\x93\x07\xcb\x46\x6c\x06\x9d\xf5\xe3\xf6\xd0\xb5\x47\x43\xb8\x1c\xd9\xc5\xc8\x44\x00\x37\x1c\x95\x52\x73\x59\xed\xce\x0e\x37\xcd\xc2\x61\x81\x53\x28\xa1\x01\x78\x29\xea\xf4\x6e\x1a\xa7\x1b\x81\x23\x08\x2b\x4f\xf1\x64\x02\x2f\xc8\xb9\xbd\xc4\xc9\xe9\xf4\x50\x46\x2c\x3c\x89\x47\xfd\x82\xe5\x24\x1d\x8e\xcc\x15\xab\xae\xb6\xe3\xa3\xdb\x1c\x17\x0b\x5f\x54\xbd\x0a\x17\xb9\xf1\x31\x5a\x8d\x10\x4f\x6c\xa6\xa3\x72\x37\x9a\x45\xc7\xb2\x6c\xc6\xbb\x3a\xd0\x67\x43\xf7\x20\x1a\xec\x44\x90\x39\x5c\x5f\x95\x6c\xe8\x28\x2b\x56\xe4\x4a\xa9\xdf\x48\x0c\x18\x3c\xd1\x0b\x8f\xa2\x41\x02\x08\x86\x5e\x2e\x47\x01\x18\x8d\x36\xcb\x13\x82\xa4\x36\x64\x6f\xcf\x02\x7b\xa0\xf4\x11\x1b\x2d\x29\x26\x06\xb8\x6a\xcd\xc7\xd8\xa8\xe1\xb7\xc7\x21\x7b\xc2\xeb\x35\x4b\x8c\x46\x97\xfa\x30\x5c\xa8\xba\xd6\x6b\xca\x02\x68\xb9\x0d\x41\xa5\x0d\x97\xf8\xe5\xb2\x5f\x0b\xd9\x82\x0a\x2c\x45\xe1\x88\xbd\x21\x38\x00\x4c\xf8\xc8\x76\x84\xed\x74\x3e\x9f\x36\x67\x7d\xbb\x1c\x3b\x8b\x9c\x49\x04\xcf\xda\x97\xb1\x58\x81\x51\x3c\x1e\x19\x64\x33\x85\xe2\xe3\xb1\x6f\x72\x44\x33\xfa\xe8\x68\x36\xcd\x78\x9b\x8e\xdd\x46\x32\x44\x3f\x5f\x11\x75\xbe\xd9\xa1\x08\xce\x4c\x4f\x2a\xb1\x1f\x79\xae\x35\x32\x71\x6e\xaf\xed\x34\x57\x30\x69\x65\x9e\xae\x4f\x02\xe4\x84\x54\x15\xa2\xae\x9f\xe6\xbc\x42\x9d\xc8\xd8\xe9\xd7\x17\x91\xa9\xc1\x9f\xce\x3a\x15\xe0\xdc\xca\x6b\x42\x55\x71\xb8\xbd\xb6\x87\xe0\xe5\xc9\xe6\x57\x0b\x1d\x18\xb2\x97\xc4\xec\x6e\xbf\x04\x5c\xa5\xa3\x9c\x9a\x84\x4b\x82\x95\x71\x28\x10\x88\x58\x86\x72\x93\x83\x1c\x62\xcd\x8a\x52\x9a\xf2\xfd\x5e\xc1\xd2\x0e\x20\x2a\xd5\x12\x26\xa1\x19\x83\x94\xed\x4d\x55\xf1\xeb\xf1\x65\xea\xf0\xa8\x15\xed\xdd\x4c\x6a\x14\x1a\x27\xa9\x66\x9d\xf8\xf2\x6a\xb3\x86\x50\x9c\x71\xe8\x5c\x82\x1d\xa7\xde\xc8\x0d\xa7\x48\x1e\x21\xe6\x14\x4e\xc9\x54\x7c\xdd\x1e\x11\xd3\xf1\x19\x5b\x6e\x0e\xa7\xb5\x05\xcf\x12\x69\xa9\xd8\x5a\x54\x96\x91\xa7\xe9\x71\xc2\x30\x02\x0e\x18\x37\x92\x53\xe7\x6c\xc0\x85\x8c\xf0\x38\x47\x7b\x7b\xc2\x5a\x5f\x2c\x80\xef\xf1\xe5\xd0\x60\x62\xe2\x0c\x10\x71\x23\xcf\xb9\xde\xc3\x25\x79\x4f\x77\x17\xe3\x03\x00\xa0\xc9\x1b\x1e\xdd\x2c\x7d\x8d\xd9\x98\x1c\x58\x95\x96\x25\x2e\x3d\x44\xd9\xd3\xa2\xbd\x32\xf7\x97\x99\xe5\xd6\x3c\xa6\xd3\xc9\xd9\x77\xf5\x90\xc4\x96\x74\x25\x08\xa5\x54\x38\xd5\x6a\x9b\xe4\x7c\xa3\xf7\x67\xde\xb1\x05\x39\xba\x90\xe8\x9a\xac\xc6\x27\x85\xc8\x88\xf5\x52\xf2\xe5\x2a\xac\x72\xc4\x27\xd6\x80\x24\xa1\x05\xa1\x25\x9e\x1e\xac\x17\x88\xe1\xe9\x68\x91\x29\x39\x3b\xac\x7d\x16\x70\x92\x2c\x15\x6b\x28\xde\xe7\x92\x90\x39\xbb\x85\x75\x1d\x02\xd6\x87\x20\xa0\x42\xbb\xa1\x47\x4b\xd1\x6d\x86\x04\x6a\x4c\xdc\x0b\xe5\x64\xd1\xe5\xa4\xac\x56\x8d\x6b\xba\x31\xec\xd1\x39\xe9\x2d\xe2\x90\x6f\x8a\x21\x99\x8f\x66\xcd\x74\xcb\x34\xe1\x51\x44\xe6\xf6\x16\xb6\x14\x45\xe2\x29\xef\x24\x42\xfd\xc9\x35\x31\xa7\x33\x07\x66\xa4\x24\xf4\x63\x61\x6e\xee\xca\x63\xcd\x65\xb8\xb1\x0c\x63\x39\x66\xb5\x7d\x18\x6c\xc9\x83\xa8\x39\xd6\x9a\xdc\xe4\xf5\x6c\x59\x1e\x8c\xa2\x46\x9a\xf3\xd9\x15\x05\x6e\x67\xd1\xe1\x4a\x00\x44\xbc\x1b\x5b\x95\x3a\xef\x8d\xc3\x51\xdc\x07\x67\x00\x87\x70\xcd\x5e\xc6\x0c\xe5\x38\xfe\x36\x8b\xe4\xf3\x01\x9f\xaf\xa1\x60\xe1\xeb\x9e\x52\x0f\x6b\x71\x04\x48\xa1\xdc\x8a\x02\x48\x12\x5d\x85\xd8\x63\xc3\xe3\x38\x74\x8a\x69\x90\xa3\xfc\xc5\xc0\xe6\x14\xa4\x4e\x93\xbe\x97\x51\x92\x24\xad\xb0\x42\xa7\x2b\xe7\xe2\x08\x4b\xc3\xc8\xa7\xcc\x09\x65\x93\xc5\x9a\xa9\x4e\x0b\x91\x36\x69\xa8\xa6\x59\x93\xb4\x28\x28\x91\x0d\x44\x15\x60\x57\xdd\xe7\x24\x2d\xd5\xc7\xe3\xf4\xec\x2c\xd7\x17\x1e\xf1\xfd\xf5\xc2\xd3\x41\xbf\xf9\xd0\x48\x26\xa8\x1a\x1c\x52\x95\x20\x04\xe5\x32\x46\x1a\x61\xe9\x73\xba\x9c\x24\xbb\x25\x90\x05\x7c\x25\x44\x40\x0d\x51\x16\x85\x8f\x36\x11\x58\x60\x61\x2f\xed\x31\xad\x13\xe9\xfc\x68\x1d\x84\xf5\x76\x96\x16\x58\x8e\x4f\xf8\x60\x61\xf4\x0c\xd1\xc4\xc7\xab\x06\x77\x16\xcb\x98\x5b\x5b\x26\xb3\x98\x8d\xa9\x0a\x12\xb9\x89\x9c\xee\xea\x25\x60\xa9\xa5\x84\x13\xab\x50\x59\x12\xfa\xf9\x50\xc9\x66\xb5\x48\x0e\x6b\x96\x91\xc6\x6a\xa4\xb8\x59\x0a\xc1\x26\xe0\x85\xda\x27\xa6\xea\xba\x9f\xba\x61\xde\xe4\x5c\x79\x13\x6c\xa5\xa0\x45\xc6\x70\x30\xb4\x60\x2f\xcb\xd5\x39\xd9\xed\x44\x88\xd4\xb4\x80\x2d\x28\x6a\x5d\x8b\x43\x46\x61\xd9\x9d\x14\xd0\x80\xb6\xb4\x15\x3a\x3d\xc5\xb4\x93\x57\x19\xa5\x21\x07\x68\x42\x9e\x11\x1b\x2c\xa7\xfd\x41\xb3\xa9\x12\xce\x46\x05\x94\xcf\xa2\x75\x60\xcd\xb7\x27\xdc\x5d\x12\x1b\x78\x31\xb5\x82\x10\x9d\x43\x0e\x92\x31\x0d\x51\x8c\xb0\xcb\x92\xd9\x7b\x00\xb3\xea\x85\x80\x2d\x79\xb3\x35\x79\xa5\xba\xd0\xd2\xb2\xda\x49\x9b\xdd\x61\x0d\x62\x47\xe9\x1d\x52\xa9\xf4\x4b\x70\xa8\x82\x86\x96\x13\x49\x24\x2e\x01\x6c\xd6\x43\x25\xe6\xf1\x66\xa4\x79\x73\xe4\x7c\xb1\x49\x0a\x9e\x18\x35\xec\x95\xab\x9c\xc9\x79\x69\x25\xed\x89\xb2\xaa\x28\x17\xd2\xe7\xee\xa8\xac\xc9\x7c\x38\x76\xf6\x51\x4d\x9e\x7a\xf3\x35\x9d\x5b\x02\x77\x72\x03\x07\x35\xb4\x60\x74\xf6\x3d\x9d\x0c\x0b\xff\x7c\xd8\xd0\x5e\x18\xca\xe2\x9a\x45\x15\x95\xf7\xf1\x44\x0a\x2c\xa9\x74\xe6\xf0\x8e\x54\x3d\x86\xb4\x0e\x55\x41\x9d\x77\x36\xb9\x09\x6a\xad\x42\x2e\x23\x04\xdd\x92\x3d\xb0\xad\x72\x45\x78\xa3\x35\x3a\xb4\x05\x48\x2b\x30\x93\xb0\x18\x78\x31\xa2\x39\xba\x76\xb0\x70\x4d\xcd\xc5\x69\x26\xae\xf7\x3b\x6f\x04\x8a\x86\xdf\x46\xd4\x66\xc5\x1d\x94\x71\x71\xc9\xc0\x30\xa0\xd3\xc6\xe7\x7c\x04\xdf\x30\x90\x8f\xe0\xfb\xde\x3f\xc4\xf2\x8a\x3c\x80\x69\x15\x84\x90\x41\x53\x3e\xc5\x93\xc6\xa9\xd9\x6f\x9b\x90\x4c\x77\x15\xba\x24\x23\xe3\xd4\x60\xd3\xbc\xb2\x96\x26\x97\x60\x93\xe1\xa9\xb0\x47\x3e\xa4\x94\x59\x21\xca\x4c\x24\x6d\xd9\x03\x89\xa8\x73\x48\x3d\x1e\xcc\x7e\x25\x5e\x2b\xa6\x0c\x3a\x2f\x46\x6b\x14\x5b\xb1\x98\xe6\xd0\xd3\x60\x0d\x8c\x7c\x33\xc7\x8f\xde\x81\xc2\xca\xc2\x3d\x50\x0d\x8d\x73\xc3\x5d\x02\xdc\x4c\x29\x23\x00\x28\x9b\x4a\x50\x52\x40\xe3\xcb\x45\x60\x86\x47\x5f\x3a\x45\xa3\x62\x91\x6b\xfd\x6c\x75\x6f\x82\xf9\x09\x39\x9c\xce\xfe\x08\x52\x0b\x7b\x3a\x3e\x93\x33\xfa\xa2\x55\x23\x75\xac\xe8\xa5\x98\x03\x80\xce\x10\x26\x24\xa3\x61\x4c\x8f\x67\xe4\x6a\xd4\xa4\x74\x84\x54\x91\x37\xaa\x4d\x4a\x92\xe2\xdd\xd9\xa7\xea\xda\xc2\xf1\x8d\x17\x74\x0c\xe9\x88\x00\xc1\x0a\x5f\xaf\x87\x4b\xd7\xf2\x91\x65\xb1\x73\x63\x86\x82\x77\x65\xb0\x2b\xc9\x20\x37\x81\x03\xca\x4d\x4d\x80\xc9\x61\x83\x2d\xb7\xc3\xad\x3e\x73\xed\x7d\xbe\x04\x8e\x24\x5c\x00\xa4\x35\x74\x36\x63\x16\x4b\x77\x49\x94\xbe\x7d\x1d\x02\xac\x63\xb8\xe6\x13\x63\x56\x39\xc1\x05\x1a\xc3\xa7\x83\xbf\xcb\x4f\x6a\x38\x27\x20\xf5\xb4\x61\x25\x87\x3e\x2f\x4b\xb0\x9d\xa6\xc6\x1a\x20\xbb\xc4\xac\x40\x0c\xc7\x31\xc9\x57\xd5\x89\xdb\x2d\xc7\x02\x79\x2e\x47\x81\x83\x04\x44\x54\xf5\x4b\x59\x93\xb9\x59\x9b\x52\xc2\x9a\x33\x4b\x63\xb7\x0e\x20\x6c\xbb\x04\xaa\xeb\x1c\xa1\xad\x35\x61\x4f\x97\x35\xc8\x0e\xd8\x68\x11\x68\xb3\xdc\x19\x23\x32\xb6\x23\x8e\x43\x4a\x2a\x20\x81\x26\x08\xda\xdb\xab\x26\x0d\x23\xb0\xbf\x43\x03\xb7\x5f\x28\x4a\x48\xe9\x00\xd6\x97\x21\x95\xc2\x5b\x70\x50\x01\xa3\x2e\xf1\x72\xce\x77\x5a\x62\x9f\xcd\x60\x7d\x9c\x5e\x80\x3f\x9d\x61\x8d\x54\x1e\x66\xde\x54\x9d\xcc\x34\x3e\x26\xc0\xa4\xb6\xf6\xb3\xcd\x78\x54\xa2\x3b\xd1\x1a\x5b\xd5\x14\xa3\xfb\xa5\xfd\xed\x36\x8d\x4a\x84\x0c\xcb\xe9\x06\x9d\x8b\x79\xb3\x5f\x79\x97\xc5\xd9\x59\x88\xc7\x35\x3a\x5d\x9e\x36\x56\x13\x3a\x13\x79\xe2\x8b\x2b\x90\x43\xe3\x6a\x01\x0e\x95\x67\xe3\x95\xe3\x38\xb1\xbe\x96\xc9\x69\xcc\x4c\xa6\xc7\x90\x5a\x1a\xa7\x73\x7f\x9c\xd0\x39\x86\x19\xbe\x6b\x90\x39\x76\xac\x30\x3f\x5f\x71\xdc\x78\x92\x84\x4e\xc3\x43\x15\x91\xd3\xa6\x86\x4d\x27\x87\xda\xde\x25\x9a\xd5\xd4\x3a\x71\x2c\x87\x4b\x70\x10\x9d\xc9\x18\xb5\xa5\x1d\xd4\xb8\x23\x0b\x9f\xd0\x07\xf2\xc4\x21\x3b\xb9\x77\x45\x94\x4a\x10\x29\x39\x2e\x20\x40\x13\x14\x55\x23\xf2\x4c\x8b\x71\x87\x02\x4a\x65\xc5\x72\xe4\xda\x74\xb4\x5f\xac\x9a\x02\xc0\x17\x74\x77\x1a\x35\x35\xc1\x5c\xe4\x8a\x19\xda\x61\xae\x6f\x23\x2c\xa2\x67\xe9\xe5\x4c\xd3\x39\x44\x8e\x88\xde\xda\x40\x98\x16\x79\xc8\x29\x49\xe1\xb5\x3a\x1a\x52\xc4\xf4\x14\x49\xce\xe8\x38\xc4\x1c\x7c\x32\xbf\x1c\xaa\x11\x6e\x46\x2a\x7e\x24\x19\x7b\x9d\xa9\xfa\x6a\x3f\x01\x04\x50\xe9\x30\x3c\x25\xde\x54\x4d\x93\x90\x10\xf7\xeb\x74\x1c\xea\x2b\x87\xe9\x97\xa5\x53\xda\x94\x85\xe9\x9a\xca\x12\x4c\xab\xd3\x30\xd2\x20\xb6\x86\x86\x0c\xbb\xdf\xe0\x4c\x86\xa5\x49\xde\x04\x33\x6c\x3c\x3a\x56\xc9\x14\xd1\x36\x04\xb2\xad\x42\x97\x23\x04\x20\xef\x89\x05\x28\xb1\x75\xb9\x09\x32\x8f\x12\xa8\xcb\xa4\xe9\x4f\x0c\xd1\x7a\xb9\x72\x97\xce\x44\x20\x82\x8d\x7d\x2a\xec\xb9\x2a\x30\x84\xb9\x82\x3d\xc4\x9f\x8d\x50\x99\xb5\x46\x86\xa6\x2d\xa9\xdd\xa2\x5a\x10\x2a\x37\xbb\x34\xa7\x0a\x71\xd1\xf3\x92\x0e\xc1\xe1\x12\xc2\x73\xab\x3e\x6e\x28\x88\x2a\xcc\xd4\xef\xe7\x29\x3b\x65\xbb\xb3\x2c\x28\xa5\x41\x22\x6e\x37\x3a\x55\x98\xb5\x00\x3c\x00\xed\xec\x80\xb0\xb9\xb3\x48\xee\xa4\xf8\xb0\xdf\xa9\xac\x81\xb9\xf1\x14\x13\x53\xc8\x07\x89\x51\x91\x59\xe2\x66\xbc\x48\x59\x10\x93\x60\x80\xc7\xcb\x8b\xeb\xf5\x43\xc0\x32\x2f\x8a\x04\x47\xf1\xd8\xf5\xe4\x30\xd5\x12\xc7\x0e\xd0\x75\x0d\xa7\x71\x99\x45\x2a\x61\x98\xb2\x83\x56\xc9\xca\x34\x65\x3d\x57\x34\x85\x58\x01\x56\xd6\x5c\x4e\x97\x77\x09\xe6\x9e\x77\x7b\x22\x39\x44\xc0\xa4\x18\x3e\x5f\x40\xfd\x32\xcc\xb1\x2e\x15\x55\x4c\x27\x6b\x80\x58\x07\x8c\x2d\x89\x45\x81\xd5\x2e\x05\xd2\xbd\x9f\xa2\x0c\x81\xae\x87\x0b\xd5\x50\xa0\x91\xb1\x62\x27\xee\x7c\x6c\x85\x81\xce\x32\x8b\xf9\xce\xf5\x2f\x8d\x41\xcd\x1d\x01\xca\x54\x7c\x12\x24\x92\x23\x9b\x7d\x2f\x13\xbb\x19\x01\x45\x42\xb3\x95\xcf\x04\xe9\x8f\xe3\xa9\x77\xc9\x65\x19\x72\xc2\x9c\x36\x25\x82\x88\x58\x2d\x4f\xec\x74\x82\x17\x5b\xd9\x47\x96\x52\x9d\x2d\x08\x97\xd3\x92\xb0\x1c\xc9\x63\xa7\xe2\xf2\xf5\x36\x1e\x6b\x23\x6a\x88\xcc\xa7\xd7\x75\xee\x15\xbd\x42\x67\xd4\x7a\x49\xa7\x0b\x6b\x34\xaa\x21\x1f\x9d\x3b\x6a\x25\x0e\x95\xbd\xbc\x38\x87\x40\xa8\x49\x78\xbc\xd0\x34\x27\xae\xe1\x22\xf1\x4a\x49\x9f\x2c\x79\x82\x65\xd8\x59\x19\xd6\x31\xe6\x52\x2b\xbe\x3e\x4b\xf4\x96\xf2\x7a\xd5\x63\x6a\x53\xc4\x3c\xeb\xb0\x69\x94\x34\xad\x22\xe1\x80\x6b\x8e\x9b\xcd\x32\x2c\x1c\x71\xc6\xd2\xa9\x9b\x7c\x18\x6f\x28\x78\x37\xca\xf1\xb3\xeb\x38\x1e\x30\x2f\x7c\x36\xc4\x47\xa3\x21\x7d\x91\x9b\xfc\x48\x42\x94\xb8\x9e\x8a\x34\xe3\x9f\xae\x0b\xe7\xa7\x31\xbe\xd9\x85\x4e\xe4\xca\xf2\xc1\xb4\xc6\x1b\x54\x4a\x70\x39\x41\x89\x09\xa9\x2c\x01\x1e\xea\x54\x86\x0d\x67\xab\x61\x56\x78\x8b\x60\x07\x48\x99\x43\x99\x99\xcf\xce\x0e\x36\x49\xda\xf9\x88\x03\x15\x32\x6d\xb6\xb2\x94\xa9\x72\x3f\x48\x61\x45\xc2\xf2\x6c\x4a\xa1\x3b\x97\x97\x00\x11\x0d\xc5\x06\xb4\xbe\xdf\x28\x99\x82\xd0\x61\xc6\x89\xbb\xf7\x2f\x36\x8e\x6a\xa9\xe0\x81\x9c\xd6\x0a\x9f\xe6\x35\x66\x08\xe2\xa9\xe4\x5c\x0a\xc5\xb1\xd9\x58\x50\x70\xff\x38\x5c\x8a\x3d\x6c\xb2\x5a\x71\x15\x9c\x5e\xa4\xcb\xd3\x18\xf5\x42\x69\x8b\x24\x39\x2d\x83\x4b\xa0\x12\x12\x95\xef\x25\xd2\x2a\xc7\x97\xd9\x64\xbf\x11\x4a\xbf\xbc\x14\x21\x63\x55\xca\xff\x45\xd9\x95\x2b\x3d\x8b\x2c\x59\xff\x3e\xc5\xe7\xb5\x41\xf7\x50\x02\xb1\x5d\xaf\xd8\x77\xc4\x2a\xc0\x63\x13\x02\xb1\xef\xf0\xf4\x13\xfd\xeb\x8f\x18\xe3\x4e\xc4\xf4\x18\x58\x10\x87\x82\xca\xac\x3a\x79\xea\x44\xe4\x88\x2f\xae\xda\x13\xd7\xb4\x28\x40\xf5\x8d\xba\x82\xea\x95\x4e\x2c\xfa\x5b\x5f\xa4\x23\xa7\xe3\x9e\x66\xa7\x5b\x26\xae\xae\xe2\x29\x54\x4a\x4d\xc3\xb8\xe8\x98\x20\x03\xbb\x0e\xd4\x8f\xb3\x18\xa5\xd4\xbc\x6a\x5e\x66\x77\xde\xd5\xb5\x6b\x1f\xa8\xdc\x89\x75\x24\x89\xaa\x2d\xde\x21\x1c\xe2\xe6\xd9\xfd\x66\x5f\x0b\xf0\x8e\xd5\x8d\x58\xad\xcf\x38\x78\x63\x35\xff\x50\x4a\x83\x3d\xc1\x92\xf8\xd0\xe2\xaa\xa0\xfa\x54\x8d\xff\xa9\x3a\x80\x8a\xa9\xd8\x09\x17\x7e\x1c\xb6\x2e\x19\x25\x39\x0d\x45\x1b\x32\x43\x62\xb7\x38\x75\x60\x7c\xa3\xeb\x5f\xc3\xa3\x4f\x2a\xb1\xa2\x78\xbb\xe5\x73\x53\x22\xc0\x40\x70\xfa\xc5\xb9\x67\x59\xcf\xdb\x2a\x54\x28\x5e\x62\xa7\xf9\xa0\x8d\x07\xde\x23\xdd\x86\x06\x4c\x2e\xbf\x70\x16\x66\x37\xa5\x2e\x57\x0b\x80\x1c\xb1\x06\xf9\xf5\x8a\xa6\x9d\xa8\xbe\x36\x7f\xc0\x3c\x8d\x8a\xd8\xf3\xfb\x83\xa3\x6d\x9d\x97\x43\x59\x6a\x15\x79\xba\x49\x74\x5e\xce\x96\x55\xf6\xa7\xa5\xb2\x0c\x85\xeb\xb5\x83\x6a\xae\x1e\x89\xd1\xb2\x9e\xed\x11\x71\xb1\xe5\xfb\x8b\x41\x5f\x58\x85\xee\x77\x3a\x7b\x94\xde\x37\x6c\x8c\x07\xcf\xdf\xc9\xc2\x0e\x6f\xad\x44\x91\xb4\xdb\x8e\x23\x32\x42\x51\x70\xac\x5d\xb1\x5d\xe8\xc6\x41\xce\xc2\xca\x56\xec\xb2\x54\xe8\x91\x42\x32\x14\xd6\x2e\x27\x94\x31\x5b\xb6\xa8\x57\xc6\xf8\xbc\xf4\x9b\x76\xde\x9d\x79\xfc\x5d\xd1\xb3\x46\x6d\xed\x85\xe3\x56\xe1\xdb\xb4\xc4\xdd\xa9\x00\xd7\xaa\xe9\x5b\xc0\x58\xaf\x45\xb5\x79\x30\x6d\x30\x64\x93\x11\x24\xfe\x87\xaf\x51\xf0\xea\xae\x12\x3c\x40\xdf\x7c\xc6\xf7\x8c\xdc\x13\xea\x76\xf4\x05\x04\xba\xc6\xad\xdf\x4f\x56\xa6\x77\xfb\xc2\x26\xf5\xca\x12\x26\x6b\x80\xdf\xe2\x3e\x18\xe3\x1e\x8e\xe6\x1e\x60\x04\x74\x99\x41\xc8\x3b\x88\x29\xe5\x6a\xdc\x3f\xa2\xce\x31\x44\x1a\xe9\x8f\xaa\x52\x23\xa5\x5e\x04\x85\xc6\xd9\xb2\x7c\x6a\xc9\xf0\x77\x90\x7d\x4d\x01\xb8\x80\x2d\x47\xd5\x35\x0f\xd5\x3a\x98\x8b\xfe\x50\x30\x65\x7d\x8f\x75\x9d\xcf\xd4\xd0\xcb\x86\x48\x7e\xce\x2b\x5c\xf3\x99\x87\xb7\x38\x6f\x3a\x12\x27\x99\xa6\x77\xb7\x52\xc7\x03\xc0\x2b\xdc\x64\xad\x76\xb8\xb9\xfd\xdb\x37\xbf\xec\x0b\x9b\xba\xeb\x7e\xb3\xc7\x2c\x7f\x98\x4b\x30\x3b\x92\xc0\xa6\x56\xd9\xa5\xf9\xa7\xf6\x02\xcd\x8f\x9f\xe5\x73\x74\xba\xfb\x4b\x86\xac\xd5\x07\x6c\x66\x0a\xd8\xb5\xc8\x8f\xae\xd7\x29\x13\xbe\x64\x68\xca\x2e\x9d\x3f\x2e\x01\xcc\xc7\x37\x6c\xf2\x59\xd1\xc7\x6d\x96\xa6\xb0\xcf\x04\xc9\x89\x42\xf1\x20\xa9\x97\x7f\x11\x27\x85\x31\x05\x15\xed\x77\xc8\xd7\x6b\x9b\x62\x50\xed\x9f\x23\x76\x70\xcb\xb4\xe7\x6f\xe0\xd9\xce\x45\xdd\xa3\x56\x1f\x62\x85\x91\xab\x45\xae\x3d\xee\xab\x70\x26\x40\x8b\xa1\xa9\x49\x7d\x48\xd3\x8d\xdf\x23\x03\xd7\x36\x6f\x16\xba\x91\xd1\xc2\x5a\xa0\x48\x21\xb9\x73\xbd\x79\x16\x13\x1f\xad\x7e\x2c\x3b\xe1\x5e\x8d\xd8\x23\xe9\xe8\x09\x3d\xcd\x4f\x66\xc0\x6a\xdc\x36\x64\xd8\x45\xf1\xf9\x75\xe5\x0f\xf6\x98\x36\x64\x35\x27\x63\x1f\x04\x4b\x52\xcf\xea\x8b\x05\x43\x15\xee\x9c\x50\xe5\xef\x53\x1e\x48\xf4\x21\x0f\x6b\xde\xbd\x66\xba\xe4\xdb\x7b\x0a\xa8\x23\x44\x8e\x90\xed\x84\xe7\x1d\xaf\x37\xcc\xaa\x7b\x0a\x47\x31\x70\x20\x5f\xf6\x75\x65\x77\x4a\x3c\x49\xc3\x44\x15\x2b\x8c\x91\xf8\x60\x37\x45\x20\x8b\x82\xeb\xb7\xb4\x03\x62\x78\xd5\xe1\xb8\xdc\xd7\x49\x98\x83\x46\x9a\x1f\x36\x6d\x8a\xf2\x03\x38\x0f\x34\x2f\xae\xfb\xbc\xa1\x8c\x44\xc7\xab\x46\xef\x23\xb6\x7e\x4d\xa3\xc7\xf2\x71\x66\xe4\x7e\xcf\xcc\x99\x2a\xf0\x85\xbc\x99\x42\x18\xee\x81\x12\xf8\x67\x71\xeb\x91\x17\xd2\x75\xe1\xec\xdd\xe2\x66\xda\x2b\x99\xc9\xb5\x5a\x1f\x10\x2f\x0e\xde\xbd\x63\x9e\xa8\x9a\x12\x8f\xe9\x51\x37\xe7\x0b\x5e\x7c\xf5\xa5\x73\x2f\x8c\xde\x4a\xfe\x0e\x03\x04\xae\x2e\x91\x8f\x44\xb2\xe2\xe2\xea\xa2\x0a\x50\x58\x92\xc5\x53\x83\xd2\xa9\x7d\x7e\xe2\x8a\xea\xb2\xf5\x96\x62\xcd\x0c\xca\x14\x8f\x4a\xa5\x3a\x5b\xf0\xae\x50\x53\x69\x59\x74\x20\x8c\xa1\x02\x5f\x65\xc9\x9a\x90\xbd\x60\xc7\x15\xe1\x9a\x4a\x8e\x96\x03\x9d\x56\x6e\x90\x9e\xf1\x8a\x67\x16\x8f\xba\x59\xb1\x02\xba\xea\xfd\x4a\x7c\x67\xe1\x0d\x9b\x64\xef\x04\xb6\x10\x7a\xf9\xae\x05\x7a\x40\xb1\x28\x8e\x91\xcb\x82\xbf\xe4\x6e\x6b\xbf\xd5\xa8\x63\x1b\x2b\xbd\x01\x3c\x81\x82\xa3\xd4\xde\xc9\x11\x0a\x5c\x54\x29\x2f\xd1\x99\xb2\x6a\xbd\x4d\xe5\x88\x0d\x03\x8c\xf1\x82\x85\x5c\xc5\x80\xbd\xe1\x81\x11\xc6\x8b\xb8\x4f\xca\x6e\x98\x10\xcf\xb7\x34\x93\x8e\x04\x8a\x91\xfd\xad\x02\x18\x5d\x20\x6c\x28\x2a\x94\xf9\x61\xb2\x32\x87\xa7\x55\xe8\x18\x27\x36\x2e\x1d\x3e\xa6\x94\xf7\xfb\xd8\xe3\xee\x8d\x52\x1c\x81\xa2\xee\xe0\xc1\x28\x3b\xef\x66\x6c\x70\x5c\x81\xe5\x31\x76\x59\x6e\x69\xb5\x6e\x4f\xab\x8e\x98\xee\x9b\x7a\x0f\xf6\x68\x75\x0e\x2c\x69\x86\x48\xb7\x1d\x0e\xea\xf3\x94\x0d\xcf\x4a\x8f\xac\xde\x23\x16\x81\x7a\xc9\x7a\x9c\x49\x23\x4f\x2f\x1a\x12\x60\x43\xdb\xf7\xf8\x15\x14\x32\x72\x66\xed\x40\xb0\xd6\x72\x4a\x81\xdb\x82\xe9\xce\x56\x5f\x7e\x48\xee\x51\xab\x8e\xd1\x6e\x9a\xde\x4b\x49\xc2\x79\xc6\x70\x8a\x17\x14\x27\x30\x22\xd1\xb7\x15\xa1\xeb\xf8\xdd\x92\xd8\xbd\x97\x98\xd7\xeb\xc6\x3c\x90\x25\xf4\x08\x8c\x8d\xab\x60\xe1\x1c\xdd\x25\x79\x7a\x37\xc0\xe5\x1c\xe4\x4b\xfd\x9a\x53\x50\xeb\x62\x98\x5b\x9d\x5b\xd7\x80\x87\x03\x96\x30\x55\xa0\x35\x5e\x93\x9c\xb6\xe8\xd0\xcc\x23\x7a\x78\x03\xbd\xeb\xaa\x71\xce\xf7\x45\x59\xcc\x35\x92\x09\xe4\x35\x6e\x07\x43\x45\xb2\x62\xdb\x20\xcc\x5e\xfe\xe2\xb4\x1f\xbf\xec\xbe\x52\x15\x85\xd0\xf9\xea\xf5\xb7\x29\x91\xac\xfa\x06\x1b\x16\x78\x1d\xb4\x5a\x26\x22\x2d\x9c\x08\x55\xc2\x80\xf3\xe7\x43\x37\x0b\x9d\x1a\x56\x6b\x5c\xd6\x2e\x0b\xd1\xaf\x7f\x79\xe6\x56\x57\x47\x0e\xd9\x73\x24\x0b\x79\x8d\xd8\xf9\x6f\xd8\x14\x74\x8e\xf1\x01\x49\x58\x25\x9e\x1b\x9a\xe4\xaf\xab\xef\x67\xdc\x26\x7e\xb2\x07\x44\x1f\x3b\xe7\x74\x91\xc5\x43\xb5\x87\x38\xcc\x4d\xe7\xbc\x25\x9d\x04\x59\x0e\x52\x16\xb3\xc9\x7f\xdf\xcb\xa7\x83\xbe\xcf\x79\xc9\xae\xe9\x37\x97\x89\x29\x22\x14\x2e\xb9\xb7\x28\xed\x7e\x6e\x45\x67\x78\x36\x00\x10\x2b\x25\x9a\x4d\x35\x2b\xe3\xd8\x76\xb8\x4a\xe8\x96\xf5\xfd\x6e\x50\x08\xda\x27\xea\x2b\x1c\xda\x97\x83\x2f\xc4\x71\x02\x0a\x3e\x67\x5f\x7c\xfb\x8a\xd3\x9c\xc5\x17\x30\xb3\xb2\xbc\x60\xac\x21\x90\xd5\x32\x79\x76\x84\x98\xec\xef\x72\xd4\x5f\xef\x4f\x6b\xd5\x05\x46\x76\x71\xeb\x9c\x47\x68\x2f\xc5\xa3\x7d\xf9\xf8\x11\xf4\xe2\xd0\xa6\x25\xf6\x88\x16\xe3\x79\x9b\x26\x12\xc1\x8b\x22\x24\x06\x2b\x19\xbf\x0b\x6c\x79\x3e\x55\xf7\x2d\x7f\x54\x66\x38\x30\x86\x72\xc2\x3c\xef\xe6\xaa\x7a\xa6\xdc\xbe\xea\x1b\xe1\x57\x2a\x93\x84\x68\x1a\xb9\x6c\x23\x50\x5d\x40\x58\x51\x81\xe5\x70\xe4\x21\x85\x51\x57\xc3\xdc\x67\x42\x81\xb1\xab\xf4\xda\xc6\x7c\x33\x45\x69\xe5\x05\x9b\x4c\x6a\xe0\x67\xca\xbc\xa3\x0d\xf1\x0c\x14\xab\x98\x9d\x5d\xa6\xbd\x74\xc6\xc6\x72\xdf\xc2\x8a\x5c\xb5\x89\x79\xb0\xc8\x4a\xaf\x75\xdf\xba\x85\xd6\xf4\x5d\x2c\x01\xa7\x75\x1a\x12\x66\x0f\x39\xf3\xa0\xcd\xd1\xbf\xed\x33\xe8\x2a\x09\x29\xe1\x3c\xbc\xfe\x7d\x27\x6b\x3c\x7d\x73\x47\x86\xbf\x4b\x9c\x61\xcb\x8e\xe9\xd2\x79\x7f\x0c\x01\xab\x11\xb8\x30\xc5\x0e\xb6\x8c\x56\x80\x13\x74\x11\x1c\xf7\x10\xdb\x2f\xc7\x39\x30\xed\x06\xf0\xf1\x86\x9d\x42\xf8\x15\x31\x08\x76\xcb\xa6\x93\x61\x94\x7b\xb1\xaf\x0a\xf1\x89\xf2\xb9\x26\x5d\xc5\x3a\x02\xa2\x6f\x43\x6b\x1f\xde\x2e\xb9\xd6\x7d\xf9\x36\xf8\x1d\x08\x70\x0b\x85\xad\x77\x4b\xef\x05\xb5\xe9\x95\xf8\x06\x64\x44\x50\xdb\x54\x8e\xe7\x78\xf6\x55\x89\x3f\xa0\xab\x7b\x1b\x61\x52\x1a\x37\x2b\x0d\x04\x5e\x27\x17\x5d\x6e\x8d\x79\xa7\xe7\x8a\x12\x51\x1a\x1e\xa9\xc0\xa4\x87\xa1\xa8\x8e\xb4\xc8\x8c\xa8\x3a\xc4\x41\x4e\x4c\x5e\x41\x5a\x1f\x74\xf8\x90\x37\x74\xc2\x74\x88\x79\xa8\xbf\x75\x9b\xb5\xde\x28\x80\x83\xdc\xa2\xa3\x4d\xd6\x6f\xed\x44\x5f\xcf\x39\x62\x9b\x78\x8a\xcf\xd6\x73\xb5\xc4\x6f\x6c\x53\x87\x41\x8f\x6e\xed\x31\x2b\x07\x17\x80\x45\x2f\xd4\x6b\xa6\xb0\xb4\xa7\x61\xda\xbb\x32\x75\x1b\xa7\xde\x5d\xbe\xae\x2b\x97\x5e\x09\x92\x7a\x5c\xa7\x46\x93\x12\xd3\x1f\x38\x76\xd6\xcf\x5b\xe3\x93\xe8\xec\x4d\x91\xf8\x6e\xed\xf1\x19\xbb\x52\xee\xb6\xf1\x38\x04\x71\x33\x06\xb8\x72\x65\xc7\x27\x26\x8b\xcd\x7b\x8a\x43\x91\x3e\x5b\x0f\x43\x96\x9a\x34\xbe\xb3\x4c\x91\xd6\x92\xa7\xae\x4e\xde\xca\xf3\xe2\x43\xaf\x89\xc1\x5b\x13\x18\x9b\x99\x04\x69\x9a\x34\x7a\x15\xf4\x22\xbb\x05\x19\x92\x66\xaa\xb2\xbd\x9c\xfd\x34\x6e\xfb\x50\x4d\x27\x36\xfb\x44\x3f\x6c\xce\x18\x2d\x5c\xb6\xfa\x1a\xeb\x7e\xf7\x14\x35\xb2\x5f\xa8\x7d\x65\x62\x08\x38\xc7\x04\x4e\x46\xe7\x8f\x8e\x27\x46\x35\xa6\xfa\x4f\xa0\x71\x72\x94\xd3\x01\x46\xa1\x8e\x93\x19\x4c\x09\x61\xb1\x67\x28\x96\xce\xba\x8c\x48\x1d\xf7\x42\xc2\x01\x7d\xb4\xe2\x2c\x2e\x02\xbb\x7e\x33\x45\x1f\xe7\x99\xee\x3d\x25\x64\x9a\xcb\x17\x39\x5b\x65\x26\x58\xd5\x4e\xc0\x60\xc1\x52\x7b\x87\x7c\x8e\xeb\x38\x68\x97\x5e\x77\x88\xb8\x22\xc7\xac\x9d\xbe\x7e\xe9\xd7\x79\xbc\xd7\xb0\xfb\xb8\xa6\x4e\x92\xcf\x2e\x72\x58\x44\xeb\xbe\x1b\x3d\x6f\x9e\xb9\xfc\x40\xf3\xf8\x1a\x38\x9f\x7a\x3e\xfd\x15\x4a\xd7\xb1\xd7\x5b\x13\xc5\x4c\xa6\x3f\xdb\x7b\x96\x1e\x86\x3f\xf0\xd8\xf6\x19\xed\xeb\xfa\x04\xbb\xe0\x2b\x1c\x25\xa5\x68\x15\xda\x5b\x71\xe1\x2f\x37\x6a\x9e\x0e\x88\xe2\xef\xa4\xac\xbe\xbf\x7d\x22\x79\xbf\x13\x38\xa2\x4a\x1a\x23\x68\xb9\x37\xe5\x1e\xe0\x53\xcc\x7b\x32\x9c\x45\xf2\x85\xe4\x9e\x6f\xb9\x58\x9e\x61\x30\x5a\xaf\x2d\x84\x23\xd5\x82\x2d\x62\x8e\x8d\x7d\x22\x18\xed\x6c\x2a\x7e\x96\x8f\x7b\x96\xe0\xbf\x00\xb5\x6c\x50\x7d\x9f\xda\x05\x07\x0d\xa0\xcd\x8e\x1a\x26\xa3\xbc\x13\x23\xef\x79\xe0\x0b\xfa\x26\x44\xda\x6c\xcf\x71\x70\x0b\x4a\xaa\xd7\x4c\xad\x3e\xa5\xa2\x9c\x43\x73\x15\x2d\x01\x07\x58\xb4\x4f\xa8\x44\x8b\x05\x36\x8c\xf7\xd7\x77\x81\x55\x5e\x71\x6b\x6f\x75\x2a\xa7\x31\x09\xa5\x8b\x37\xdb\xef\x85\x1d\x1e\x22\x23\x84\xef\x51\xde\x79\x64\x98\x0c\x21\x84\x6a\xe8\x88\x4f\xd9\xf9\x44\xa1\xd3\x58\xad\x79\xc6\x4f\x11\xc4\x36\x3c\x0d\x5e\xc0\x74\x0f\x7e\x75\x6c\xdd\x33\xf6\x80\x17\x0e\xab\xf6\x77\xab\x86\xa7\xee\x41\x60\xd5\x70\xb7\x12\xf7\xc3\x95\x10\x42\x2e\x00\x4e\xf0\x06\xb1\x24\x82\xd8\x1b\x96\x14\x73\x86\xb8\xfb\x40\xa3\x86\x87\x71\x82\xc3\x70\xc1\x6e\x04\xf6\x61\xf0\xfd\x97\x12\x5b\x7c\x7f\x9a\x1c\xd8\x4d\xbe\xdf\x0d\x33\x4d\x68\xf6\xd7\xd1\x3c\x74\xfd\xc0\x72\x34\x82\x8b\x14\xe5\x9f\x9c\x8e\x67\x7d\x97\x25\x0b\x9a\x27\x4b\xf1\xc7\x9f\x3f\x7f\x2c\xc5\xb1\xa0\x43\x93\x54\xdd\x1f\x7f\xfe\xeb\x0f\xa3\xef\xfe\xfc\xc1\x6e\x3f\x70\x2d\x7f\x30\x70\xa3\x7e\x00\xf9\xef\xdb\xfd\xdf\x77\xf2\x07\x01\xe0\x77\x99\xfd\x7f\xc0\xff\xea\x0f\xd0\xf4\x25\xba\x15\xd3\x5c\xf5\xdd\x7f\xbe\xe4\xf6\x5f\xd4\xff\x0f\xe9\x7f\x1f\xeb\xdf\xe3\xfb\x0b\xd0\x7f\xdd\xc8\x7f\x00\x56\x56\x0b\x2a\x0b\x90\xff\x4f\x98\xb2\x5a\x7e\xa6\x62\xfb\xeb\x57\x83\xf8\x9f\x5f\xcf\xfc\x0f\xdc\xbf\xfe\x3b\x00\x00\xff\xff\x0b\x77\xc8\x76\xcb\x85\x08\x00") func staticJsHtermJsBytes() ([]byte, error) { return bindataRead( @@ -146,7 +209,7 @@ func staticJsHtermJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/js/hterm.js", size: 522491, mode: os.FileMode(292), modTime: time.Unix(1460531118, 0)} + info := bindataFileInfo{name: "static/js/hterm.js", size: 558539, mode: os.FileMode(292), modTime: time.Unix(1503296087, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -203,10 +266,13 @@ func AssetNames() []string { // _bindata is a table, holding each asset generator, mapped to its name. var _bindata = map[string]func() (*asset, error){ - "static/favicon.png": staticFaviconPng, - "static/index.html": staticIndexHtml, - "static/js/gotty.js": staticJsGottyJs, - "static/js/hterm.js": staticJsHtermJs, + "static/css/index.css": staticCssIndexCss, + "static/css/xterm.css": staticCssXtermCss, + "static/css/xterm_customize.css": staticCssXterm_customizeCss, + "static/favicon.png": staticFaviconPng, + "static/index.html": staticIndexHtml, + "static/js/bundle.js": staticJsBundleJs, + "static/js/hterm.js": staticJsHtermJs, } // AssetDir returns the file names below a certain @@ -251,11 +317,16 @@ type bintree struct { var _bintree = &bintree{nil, map[string]*bintree{ "static": &bintree{nil, map[string]*bintree{ + "css": &bintree{nil, map[string]*bintree{ + "index.css": &bintree{staticCssIndexCss, map[string]*bintree{}}, + "xterm.css": &bintree{staticCssXtermCss, map[string]*bintree{}}, + "xterm_customize.css": &bintree{staticCssXterm_customizeCss, map[string]*bintree{}}, + }}, "favicon.png": &bintree{staticFaviconPng, map[string]*bintree{}}, "index.html": &bintree{staticIndexHtml, map[string]*bintree{}}, "js": &bintree{nil, map[string]*bintree{ - "gotty.js": &bintree{staticJsGottyJs, map[string]*bintree{}}, - "hterm.js": &bintree{staticJsHtermJs, map[string]*bintree{}}, + "bundle.js": &bintree{staticJsBundleJs, map[string]*bintree{}}, + "hterm.js": &bintree{staticJsHtermJs, map[string]*bintree{}}, }}, }}, }} diff --git a/server/handlers.go b/server/handlers.go index 3c2793d..674ecab 100644 --- a/server/handlers.go +++ b/server/handlers.go @@ -218,6 +218,11 @@ func (server *Server) handleAuthToken(w http.ResponseWriter, r *http.Request) { w.Write([]byte("var gotty_auth_token = '" + server.options.Credential + "';")) } +func (server *Server) handleConfig(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/javascript") + w.Write([]byte("var gotty_term = '" + server.options.Term + "';")) +} + // titleVariables merges maps in a specified order. // varUnits are name-keyed maps, whose names will be iterated using order. func (server *Server) titleVariables(order []string, varUnits map[string]map[string]interface{}) map[string]interface{} { diff --git a/server/options.go b/server/options.go index 897bcb2..3d7f69c 100644 --- a/server/options.go +++ b/server/options.go @@ -29,6 +29,7 @@ type Options struct { Width int `hcl:"width" flagName:"width" flagDescribe:"Static width of the screen, 0(default) means dynamically resize" default:"0"` Height int `hcl:"height" flagName:"height" flagDescribe:"Static height of the screen, 0(default) means dynamically resize" default:"0"` WSOrigin string `hcl:"ws_origin" flagName:"ws-origin" flagDescribe:"A regular expression that matches origin URLs to be accepted by WebSocket. No cross origin requests are acceptable by default" default:""` + Term string `hcl:"term" flagName:"term" flagDescribe:"Terminal name to use on the browser, one of xterm or hterm." default:"xterm"` TitleVariables map[string]interface{} } diff --git a/server/server.go b/server/server.go index 1442603..6c0fafb 100644 --- a/server/server.go +++ b/server/server.go @@ -186,7 +186,9 @@ func (server *Server) setupHandlers(ctx context.Context, cancel context.CancelFu siteMux.HandleFunc(url.Path, server.handleIndex) siteMux.Handle(url.Path+"js/", http.StripPrefix(url.Path, staticFileHandler)) siteMux.Handle(url.Path+"favicon.png", http.StripPrefix(url.Path, staticFileHandler)) + siteMux.Handle(url.Path+"css/", http.StripPrefix(url.Path, staticFileHandler)) siteMux.HandleFunc(url.Path+"auth_token.js", server.handleAuthToken) + siteMux.HandleFunc(url.Path+"config.js", server.handleConfig) siteHandler := http.Handler(siteMux) From c1ccfdd85903cc3ecf18ac941f508cec9536da48 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Tue, 22 Aug 2017 12:10:52 +0900 Subject: [PATCH 56/82] Add npm to makefile --- Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Makefile b/Makefile index 0db9946..95040dc 100644 --- a/Makefile +++ b/Makefile @@ -45,6 +45,10 @@ bindata/static/css/xterm_customize.css: bindata/static/css resources/xterm_custo bindata/static/css/xterm.css: bindata/static/css js/node_modules/xterm/dist/xterm.css cp js/node_modules/xterm/dist/xterm.css bindata/static/css/xterm.css +js/node_modules/xterm/dist/xterm.css: + cd js && \ + npm install + js/dist/bundle.js: cd js && \ webpack From 8f95182392d27d2ce48cb5d9c238186db90395e6 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Tue, 22 Aug 2017 12:11:11 +0900 Subject: [PATCH 57/82] Show command in log --- main.go | 4 ++++ server/server.go | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/main.go b/main.go index deb5171..b6290be 100644 --- a/main.go +++ b/main.go @@ -3,8 +3,10 @@ package main import ( "context" "fmt" + "log" "os" "os/signal" + "strings" "syscall" "github.com/codegangsta/cli" @@ -93,6 +95,8 @@ func main() { ctx, cancel := context.WithCancel(context.Background()) gCtx, gCancel := context.WithCancel(context.Background()) + log.Printf("GoTTY is starting with command: %s", strings.Join(args, " ")) + errs := make(chan error, 1) go func() { errs <- srv.Run(ctx, server.WithGracefullContext(gCtx)) diff --git a/server/server.go b/server/server.go index 6c0fafb..bb03bcf 100644 --- a/server/server.go +++ b/server/server.go @@ -107,7 +107,7 @@ func (server *Server) Run(ctx context.Context, options ...RunOption) error { return errors.Wrapf(err, "failed to setup an HTTP server") } - log.Printf("GoTTY server is starting at: %s", url.String()) + log.Printf("HTTP server is listening at: %s", url.String()) if server.options.Address == "0.0.0.0" { for _, address := range listAddresses() { log.Printf("Alternative URL: %s", server.setupURL(address, path).String()) From 70aaf33082be93a9d7cbcc400c895093595f4a3e Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Tue, 22 Aug 2017 15:56:56 +0900 Subject: [PATCH 58/82] Bundle hterm --- .gitmodules | 3 - Makefile | 5 +- js/dist/bundle.js | 18098 ++++++++++++++++++++++++++++++- js/dist/bundle.js.map | 2 +- js/dist/hterm.d.ts | 2 +- js/dist/hterm.js | 77 - js/dist/hterm.js.map | 1 - js/dist/main.js | 23 - js/dist/main.js.map | 1 - js/dist/websocket.js | 60 - js/dist/websocket.js.map | 1 - js/dist/webtty.js | 99 - js/dist/webtty.js.map | 1 - js/dist/xterm.js | 88 - js/dist/xterm.js.map | 1 - js/libapps | 1 - js/package-lock.json | 3 + js/package.json | 1 + js/src/hterm.ts | 7 +- js/typings/hterm/index.d.ts | 47 - js/typings/htermLib/index.d.ts | 11 - js/webpack.config.js | 4 - resources/index.html | 1 - server/asset.go | 39 +- 24 files changed, 18056 insertions(+), 520 deletions(-) delete mode 100644 js/dist/hterm.js delete mode 100644 js/dist/hterm.js.map delete mode 100644 js/dist/main.js delete mode 100644 js/dist/main.js.map delete mode 100644 js/dist/websocket.js delete mode 100644 js/dist/websocket.js.map delete mode 100644 js/dist/webtty.js delete mode 100644 js/dist/webtty.js.map delete mode 100644 js/dist/xterm.js delete mode 100644 js/dist/xterm.js.map delete mode 160000 js/libapps delete mode 100644 js/typings/hterm/index.d.ts delete mode 100644 js/typings/htermLib/index.d.ts diff --git a/.gitmodules b/.gitmodules index 9a646a0..e69de29 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +0,0 @@ -[submodule "libapps"] - path = js/libapps - url = https://chromium.googlesource.com/apps/libapps diff --git a/Makefile b/Makefile index 95040dc..8f88a17 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ gotty: server/asset.go main.go server/*.go webtty/*.go backend/*.go Makefile asset: server/asset.go -server/asset.go: bindata/static/js/hterm.js bindata/static/js/bundle.js bindata/static/index.html bindata/static/favicon.png bindata/static/css/index.css bindata/static/css/xterm.css bindata/static/css/xterm_customize.css +server/asset.go: bindata/static/js/bundle.js bindata/static/index.html bindata/static/favicon.png bindata/static/css/index.css bindata/static/css/xterm.css bindata/static/css/xterm_customize.css go-bindata -prefix bindata -pkg server -ignore=\\.gitkeep -o server/asset.go bindata/... gofmt -w server/asset.go @@ -26,9 +26,6 @@ bindata/static/favicon.png: bindata/static resources/favicon.png bindata/static/js: bindata/static mkdir -p bindata/static/js -bindata/static/js/hterm.js: bindata/static/js js/libapps/hterm/js/*.js - cd js/libapps && \ - LIBDOT_SEARCH_PATH=`pwd` ./libdot/bin/concat.sh -i ./hterm/concat/hterm_all.concat -o ../../bindata/static/js/hterm.js bindata/static/js/bundle.js: bindata/static/js js/dist/bundle.js cp js/dist/bundle.js bindata/static/js/bundle.js diff --git a/js/dist/bundle.js b/js/dist/bundle.js index 3347257..a08d20a 100644 --- a/js/dist/bundle.js +++ b/js/dist/bundle.js @@ -63,7 +63,7 @@ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 14); +/******/ return __webpack_require__(__webpack_require__.s = 15); /******/ }) /************************************************************************/ /******/ ([ @@ -73,18 +73,18 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var CompositionHelper_1 = __webpack_require__(15); +var CompositionHelper_1 = __webpack_require__(16); var EventEmitter_1 = __webpack_require__(1); -var Viewport_1 = __webpack_require__(22); -var Clipboard_1 = __webpack_require__(29); -var CircularList_1 = __webpack_require__(31); +var Viewport_1 = __webpack_require__(23); +var Clipboard_1 = __webpack_require__(30); +var CircularList_1 = __webpack_require__(32); var EscapeSequences_1 = __webpack_require__(2); -var InputHandler_1 = __webpack_require__(16); -var Parser_1 = __webpack_require__(18); -var Renderer_1 = __webpack_require__(19); -var Linkifier_1 = __webpack_require__(17); -var SelectionManager_1 = __webpack_require__(20); -var CharMeasure_1 = __webpack_require__(30); +var InputHandler_1 = __webpack_require__(17); +var Parser_1 = __webpack_require__(19); +var Renderer_1 = __webpack_require__(20); +var Linkifier_1 = __webpack_require__(18); +var SelectionManager_1 = __webpack_require__(21); +var CharMeasure_1 = __webpack_require__(31); var Browser = __webpack_require__(8); var Mouse_1 = __webpack_require__(9); var document = (typeof window != 'undefined') ? window.document : null; @@ -560,7 +560,7 @@ Terminal.prototype.open = function (parent, focus) { }; Terminal.loadAddon = function (addon, callback) { if (true) { - return __webpack_require__(23)("./" + addon + '/' + addon); + return __webpack_require__(24)("./" + addon + '/' + addon); } else if (typeof define == 'function') { return require(['./addons/' + addon + '/' + addon], callback); @@ -2413,7 +2413,7 @@ exports.CHARSETS['='] = { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var Generic_1 = __webpack_require__(33); +var Generic_1 = __webpack_require__(34); var isNode = (typeof navigator === 'undefined') ? true : false; var userAgent = (isNode) ? 'node' : navigator.userAgent; var platform = (isNode) ? 'node' : navigator.platform; @@ -2478,13 +2478,12 @@ exports.getRawByteCoords = getRawByteCoords; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var bare = __webpack_require__(34); -var bareLib = __webpack_require__(35); +var bare = __webpack_require__(14); var TermHterm = (function () { function TermHterm(elem) { this.elem = elem; - hterm.defaultStorage = new bareLib.Storage.Memory(); - this.term = new bare.Terminal(); + bare.hterm.defaultStorage = new bare.lib.Storage.Memory(); + this.term = new bare.hterm.Terminal(); this.term.getPrefs().set("send-encoding", "raw"); this.term.decorate(this.elem); this.io = this.term.io.push(); @@ -2830,6 +2829,17997 @@ exports.TermXterm = TermXterm; /* 14 */ /***/ (function(module, exports, __webpack_require__) { +"use strict"; +// This file was generated by libdot/bin/concat.sh. +// It has been marked read-only for your safety. Rather +// than edit it directly, please modify one of these source +// files... +// +// libdot/js/lib.js +// libdot/js/lib_polyfill.js +// libdot/js/lib_colors.js +// libdot/js/lib_f.js +// libdot/js/lib_message_manager.js +// libdot/js/lib_preference_manager.js +// libdot/js/lib_resource.js +// libdot/js/lib_storage.js +// libdot/js/lib_storage_chrome.js +// libdot/js/lib_storage_local.js +// libdot/js/lib_storage_memory.js +// libdot/js/lib_test_manager.js +// libdot/js/lib_utf8.js +// libdot/third_party/wcwidth/lib_wc.js +// hterm/js/hterm.js +// hterm/js/hterm_frame.js +// hterm/js/hterm_keyboard.js +// hterm/js/hterm_keyboard_bindings.js +// hterm/js/hterm_keyboard_keymap.js +// hterm/js/hterm_keyboard_keypattern.js +// hterm/js/hterm_options.js +// hterm/js/hterm_parser.js +// hterm/js/hterm_parser_identifiers.js +// hterm/js/hterm_preference_manager.js +// hterm/js/hterm_pubsub.js +// hterm/js/hterm_screen.js +// hterm/js/hterm_scrollport.js +// hterm/js/hterm_terminal.js +// hterm/js/hterm_terminal_io.js +// hterm/js/hterm_text_attributes.js +// hterm/js/hterm_vt.js +// hterm/js/hterm_vt_character_map.js +// hterm/js/hterm_export.js +// + +// SOURCE FILE: libdot/js/lib.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + + + +if (typeof lib != 'undefined') + throw new Error('Global "lib" object already exists.'); + +var lib = {}; + +/** + * Map of "dependency" to ["source", ...]. + * + * Each dependency is a object name, like "lib.fs", "source" is the url that + * depends on the object. + */ +lib.runtimeDependencies_ = {}; + +/** + * List of functions that need to be invoked during library initialization. + * + * Each element in the initCallbacks_ array is itself a two-element array. + * Element 0 is a short string describing the owner of the init routine, useful + * for debugging. Element 1 is the callback function. + */ +lib.initCallbacks_ = []; + +/** + * Records a runtime dependency. + * + * This can be useful when you want to express a run-time dependency at + * compile time. It is not intended to be a full-fledged library system or + * dependency tracker. It's just there to make it possible to debug the + * deps without running all the code. + * + * Object names are specified as strings. For example... + * + * lib.rtdep('lib.colors', 'lib.PreferenceManager'); + * + * Object names need not be rooted by 'lib'. You may use this to declare a + * dependency on any object. + * + * The client program may call lib.ensureRuntimeDependencies() at startup in + * order to ensure that all runtime dependencies have been met. + * + * @param {string} var_args One or more objects specified as strings. + */ +lib.rtdep = function(var_args) { + var source; + + try { + throw new Error(); + } catch (ex) { + var stackArray = ex.stack.split('\n'); + // In Safari, the resulting stackArray will only have 2 elements and the + // individual strings are formatted differently. + if (stackArray.length >= 3) { + source = stackArray[2].replace(/^\s*at\s+/, ''); + } else { + source = stackArray[1].replace(/^\s*global code@/, ''); + } + } + + for (var i = 0; i < arguments.length; i++) { + var path = arguments[i]; + if (path instanceof Array) { + lib.rtdep.apply(lib, path); + } else { + var ary = this.runtimeDependencies_[path]; + if (!ary) + ary = this.runtimeDependencies_[path] = []; + ary.push(source); + } + } +}; + +/** + * Ensures that all runtime dependencies are met, or an exception is thrown. + * + * Every unmet runtime dependency will be logged to the JS console. If at + * least one dependency is unmet this will raise an exception. + */ +lib.ensureRuntimeDependencies_ = function() { + var passed = true; + + for (var path in lib.runtimeDependencies_) { + var sourceList = lib.runtimeDependencies_[path]; + var names = path.split('.'); + + // In a document context 'window' is the global object. In a worker it's + // called 'self'. + var obj = (window || self); + for (var i = 0; i < names.length; i++) { + if (!(names[i] in obj)) { + console.warn('Missing "' + path + '" is needed by', sourceList); + passed = false; + break; + } + + obj = obj[names[i]]; + } + } + + if (!passed) + throw new Error('Failed runtime dependency check'); +}; + +/** + * Register an initialization function. + * + * The initialization functions are invoked in registration order when + * lib.init() is invoked. Each function will receive a single parameter, which + * is a function to be invoked when it completes its part of the initialization. + * + * @param {string} name A short descriptive name of the init routine useful for + * debugging. + * @param {function(function)} callback The initialization function to register. + * @return {function} The callback parameter. + */ +lib.registerInit = function(name, callback) { + lib.initCallbacks_.push([name, callback]); + return callback; +}; + +/** + * Initialize the library. + * + * This will ensure that all registered runtime dependencies are met, and + * invoke any registered initialization functions. + * + * Initialization is asynchronous. The library is not ready for use until + * the onInit function is invoked. + * + * @param {function()} onInit The function to invoke when initialization is + * complete. + * @param {function(*)} opt_logFunction An optional function to send + * initialization related log messages to. + */ +lib.init = function(onInit, opt_logFunction) { + var ary = lib.initCallbacks_; + + var initNext = function() { + if (ary.length) { + var rec = ary.shift(); + if (opt_logFunction) + opt_logFunction('init: ' + rec[0]); + rec[1](lib.f.alarm(initNext)); + } else { + onInit(); + } + }; + + if (typeof onInit != 'function') + throw new Error('Missing or invalid argument: onInit'); + + lib.ensureRuntimeDependencies_(); + + setTimeout(initNext, 0); +}; +// SOURCE FILE: libdot/js/lib_polyfill.js +// Copyright 2017 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +/** + * @fileoverview Polyfills for ES2016+ features we want to use. + */ + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart +if (!String.prototype.padStart) { + String.prototype.padStart = function(targetLength, padString) { + // If the string is already long enough, nothing to do! + targetLength -= this.length; + if (targetLength <= 0) + return String(this); + + if (padString === undefined) + padString = ' '; + + // In case the pad is multiple chars long. + if (targetLength > padString.length) + padString = padString.repeat((targetLength / padString.length) + 1); + + return padString.slice(0, targetLength) + String(this); + }; +} + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd +if (!String.prototype.padEnd) { + String.prototype.padEnd = function(targetLength, padString) { + // If the string is already long enough, nothing to do! + targetLength -= this.length; + if (targetLength <= 0) + return String(this); + + if (padString === undefined) + padString = ' '; + + // In case the pad is multiple chars long. + if (targetLength > padString.length) + padString = padString.repeat((targetLength / padString.length) + 1); + + return String(this) + padString.slice(0, targetLength); + }; +} +// SOURCE FILE: libdot/js/lib_colors.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +/** + * Namespace for color utilities. + */ +lib.colors = {}; + +/** + * First, some canned regular expressions we're going to use in this file. + * + * + * BRACE YOURSELF + * + * ,~~~~. + * |>_< ~~ + * 3`---'-/. + * 3:::::\v\ + * =o=:::::\,\ + * | :::::\,,\ + * + * THE REGULAR EXPRESSIONS + * ARE COMING. + * + * There's no way to break long RE literals in JavaScript. Fix that why don't + * you? Oh, and also there's no way to write a string that doesn't interpret + * escapes. + * + * Instead, we stoop to this .replace() trick. + */ +lib.colors.re_ = { + // CSS hex color, #RGB. + hex16: /#([a-f0-9])([a-f0-9])([a-f0-9])/i, + + // CSS hex color, #RRGGBB. + hex24: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/i, + + // CSS rgb color, rgb(rrr,ggg,bbb). + rgb: new RegExp( + ('^/s*rgb/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,' + + '/s*(/d{1,3})/s*/)/s*$' + ).replace(/\//g, '\\'), 'i'), + + // CSS rgb color, rgb(rrr,ggg,bbb,aaa). + rgba: new RegExp( + ('^/s*rgba/s*' + + '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' + + '(?:,/s*(/d+(?:/./d+)?)/s*)/)/s*$' + ).replace(/\//g, '\\'), 'i'), + + // Either RGB or RGBA. + rgbx: new RegExp( + ('^/s*rgba?/s*' + + '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' + + '(?:,/s*(/d+(?:/./d+)?)/s*)?/)/s*$' + ).replace(/\//g, '\\'), 'i'), + + // An X11 "rgb:dddd/dddd/dddd" value. + x11rgb: /^\s*rgb:([a-f0-9]{1,4})\/([a-f0-9]{1,4})\/([a-f0-9]{1,4})\s*$/i, + + // English color name. + name: /[a-z][a-z0-9\s]+/, +}; + +/** + * Convert a CSS rgb(ddd,ddd,ddd) color value into an X11 color value. + * + * Other CSS color values are ignored to ensure sanitary data handling. + * + * Each 'ddd' component is a one byte value specified in decimal. + * + * @param {string} value The CSS color value to convert. + * @return {string} The X11 color value or null if the value could not be + * converted. + */ +lib.colors.rgbToX11 = function(value) { + function scale(v) { + v = (Math.min(v, 255) * 257).toString(16); + return lib.f.zpad(v, 4); + } + + var ary = value.match(lib.colors.re_.rgbx); + if (!ary) + return null; + + return 'rgb:' + scale(ary[1]) + '/' + scale(ary[2]) + '/' + scale(ary[3]); +}; + +/** + * Convert a legacy X11 colover value into an CSS rgb(...) color value. + * + * They take the form: + * 12 bit: #RGB -> #R000G000B000 + * 24 bit: #RRGGBB -> #RR00GG00BB00 + * 36 bit: #RRRGGGBBB -> #RRR0GGG0BBB0 + * 48 bit: #RRRRGGGGBBBB + * These are the most significant bits. + * + * Truncate values back down to 24 bit since that's all CSS supports. + */ +lib.colors.x11HexToCSS = function(v) { + if (!v.startsWith('#')) + return null; + // Strip the leading # off. + v = v.substr(1); + + // Reject unknown sizes. + if ([3, 6, 9, 12].indexOf(v.length) == -1) + return null; + + // Reject non-hex values. + if (v.match(/[^a-f0-9]/i)) + return null; + + // Split the colors out. + var size = v.length / 3; + var r = v.substr(0, size); + var g = v.substr(size, size); + var b = v.substr(size + size, size); + + // Normalize to 16 bits. + function norm16(v) { + v = parseInt(v, 16); + return size == 2 ? v : // 16 bit + size == 1 ? v << 4 : // 8 bit + v >> (4 * (size - 2)); // 24 or 32 bit + } + return lib.colors.arrayToRGBA([r, g, b].map(norm16)); +}; + +/** + * Convert an X11 color value into an CSS rgb(...) color value. + * + * The X11 value may be an X11 color name, or an RGB value of the form + * rgb:hhhh/hhhh/hhhh. If a component value is less than 4 digits it is + * padded out to 4, then scaled down to fit in a single byte. + * + * @param {string} value The X11 color value to convert. + * @return {string} The CSS color value or null if the value could not be + * converted. + */ +lib.colors.x11ToCSS = function(v) { + function scale(v) { + // Pad out values with less than four digits. This padding (probably) + // matches xterm. It's difficult to say for sure since xterm seems to + // arrive at a padded value and then perform some combination of + // gamma correction, color space transformation, and quantization. + + if (v.length == 1) { + // Single digits pad out to four by repeating the character. "f" becomes + // "ffff". Scaling down a hex value of this pattern by 257 is the same + // as cutting off one byte. We skip the middle step and just double + // the character. + return parseInt(v + v, 16); + } + + if (v.length == 2) { + // Similar deal here. X11 pads two digit values by repeating the + // byte (or scale up by 257). Since we're going to scale it back + // down anyway, we can just return the original value. + return parseInt(v, 16); + } + + if (v.length == 3) { + // Three digit values seem to be padded by repeating the final digit. + // e.g. 10f becomes 10ff. + v = v + v.substr(2); + } + + // Scale down the 2 byte value. + return Math.round(parseInt(v, 16) / 257); + } + + var ary = v.match(lib.colors.re_.x11rgb); + if (!ary) { + // Handle the legacy format. + if (v.startsWith('#')) + return lib.colors.x11HexToCSS(v); + else + return lib.colors.nameToRGB(v); + } + + ary.splice(0, 1); + return lib.colors.arrayToRGBA(ary.map(scale)); +}; + +/** + * Converts one or more CSS '#RRGGBB' color values into their rgb(...) + * form. + * + * Arrays are converted in place. If a value cannot be converted, it is + * replaced with null. + * + * @param {string|Array.} A single RGB value or array of RGB values to + * convert. + * @return {string|Array.} The converted value or values. + */ +lib.colors.hexToRGB = function(arg) { + var hex16 = lib.colors.re_.hex16; + var hex24 = lib.colors.re_.hex24; + + function convert(hex) { + if (hex.length == 4) { + hex = hex.replace(hex16, function(h, r, g, b) { + return "#" + r + r + g + g + b + b; + }); + } + var ary = hex.match(hex24); + if (!ary) + return null; + + return 'rgb(' + parseInt(ary[1], 16) + ', ' + + parseInt(ary[2], 16) + ', ' + + parseInt(ary[3], 16) + ')'; + } + + if (arg instanceof Array) { + for (var i = 0; i < arg.length; i++) { + arg[i] = convert(arg[i]); + } + } else { + arg = convert(arg); + } + + return arg; +}; + +/** + * Converts one or more CSS rgb(...) forms into their '#RRGGBB' color values. + * + * If given an rgba(...) form, the alpha field is thrown away. + * + * Arrays are converted in place. If a value cannot be converted, it is + * replaced with null. + * + * @param {string|Array.} A single rgb(...) value or array of rgb(...) + * values to convert. + * @return {string|Array.} The converted value or values. + */ +lib.colors.rgbToHex = function(arg) { + function convert(rgb) { + var ary = lib.colors.crackRGB(rgb); + if (!ary) + return null; + return '#' + lib.f.zpad(((parseInt(ary[0]) << 16) | + (parseInt(ary[1]) << 8) | + (parseInt(ary[2]) << 0)).toString(16), 6); + } + + if (arg instanceof Array) { + for (var i = 0; i < arg.length; i++) { + arg[i] = convert(arg[i]); + } + } else { + arg = convert(arg); + } + + return arg; +}; + +/** + * Take any valid css color definition and turn it into an rgb or rgba value. + * + * Returns null if the value could not be normalized. + */ +lib.colors.normalizeCSS = function(def) { + if (def.startsWith('#')) + return lib.colors.hexToRGB(def); + + if (lib.colors.re_.rgbx.test(def)) + return def; + + return lib.colors.nameToRGB(def); +}; + +/** + * Convert a 3 or 4 element array into an rgba(...) string. + */ +lib.colors.arrayToRGBA = function(ary) { + var alpha = (ary.length > 3) ? ary[3] : 1; + return 'rgba(' + ary[0] + ', ' + ary[1] + ', ' + ary[2] + ', ' + alpha + ')'; +}; + +/** + * Overwrite the alpha channel of an rgb/rgba color. + */ +lib.colors.setAlpha = function(rgb, alpha) { + var ary = lib.colors.crackRGB(rgb); + ary[3] = alpha; + return lib.colors.arrayToRGBA(ary); +}; + +/** + * Mix a percentage of a tint color into a base color. + */ +lib.colors.mix = function(base, tint, percent) { + var ary1 = lib.colors.crackRGB(base); + var ary2 = lib.colors.crackRGB(tint); + + for (var i = 0; i < 4; ++i) { + var diff = ary2[i] - ary1[i]; + ary1[i] = Math.round(parseInt(ary1[i]) + diff * percent); + } + + return lib.colors.arrayToRGBA(ary1); +}; + +/** + * Split an rgb/rgba color into an array of its components. + * + * On success, a 4 element array will be returned. For rgb values, the alpha + * will be set to 1. + */ +lib.colors.crackRGB = function(color) { + if (color.startsWith('rgba')) { + var ary = color.match(lib.colors.re_.rgba); + if (ary) { + ary.shift(); + return ary; + } + } else { + var ary = color.match(lib.colors.re_.rgb); + if (ary) { + ary.shift(); + ary.push(1); + return ary; + } + } + + console.error('Couldn\'t crack: ' + color); + return null; +}; + +/** + * Convert an X11 color name into a CSS rgb(...) value. + * + * Names are stripped of spaces and converted to lowercase. If the name is + * unknown, null is returned. + * + * This list of color name to RGB mapping is derived from the stock X11 + * rgb.txt file. + * + * @param {string} name The color name to convert. + * @return {string} The corresponding CSS rgb(...) value. + */ +lib.colors.nameToRGB = function(name) { + if (name in lib.colors.colorNames) + return lib.colors.colorNames[name]; + + name = name.toLowerCase(); + if (name in lib.colors.colorNames) + return lib.colors.colorNames[name]; + + name = name.replace(/\s+/g, ''); + if (name in lib.colors.colorNames) + return lib.colors.colorNames[name]; + + return null; +}; + +/** + * The stock color palette. + */ +lib.colors.stockColorPalette = lib.colors.hexToRGB + ([// The "ANSI 16"... + '#000000', '#CC0000', '#4E9A06', '#C4A000', + '#3465A4', '#75507B', '#06989A', '#D3D7CF', + '#555753', '#EF2929', '#00BA13', '#FCE94F', + '#729FCF', '#F200CB', '#00B5BD', '#EEEEEC', + + // The 6x6 color cubes... + '#000000', '#00005F', '#000087', '#0000AF', '#0000D7', '#0000FF', + '#005F00', '#005F5F', '#005F87', '#005FAF', '#005FD7', '#005FFF', + '#008700', '#00875F', '#008787', '#0087AF', '#0087D7', '#0087FF', + '#00AF00', '#00AF5F', '#00AF87', '#00AFAF', '#00AFD7', '#00AFFF', + '#00D700', '#00D75F', '#00D787', '#00D7AF', '#00D7D7', '#00D7FF', + '#00FF00', '#00FF5F', '#00FF87', '#00FFAF', '#00FFD7', '#00FFFF', + + '#5F0000', '#5F005F', '#5F0087', '#5F00AF', '#5F00D7', '#5F00FF', + '#5F5F00', '#5F5F5F', '#5F5F87', '#5F5FAF', '#5F5FD7', '#5F5FFF', + '#5F8700', '#5F875F', '#5F8787', '#5F87AF', '#5F87D7', '#5F87FF', + '#5FAF00', '#5FAF5F', '#5FAF87', '#5FAFAF', '#5FAFD7', '#5FAFFF', + '#5FD700', '#5FD75F', '#5FD787', '#5FD7AF', '#5FD7D7', '#5FD7FF', + '#5FFF00', '#5FFF5F', '#5FFF87', '#5FFFAF', '#5FFFD7', '#5FFFFF', + + '#870000', '#87005F', '#870087', '#8700AF', '#8700D7', '#8700FF', + '#875F00', '#875F5F', '#875F87', '#875FAF', '#875FD7', '#875FFF', + '#878700', '#87875F', '#878787', '#8787AF', '#8787D7', '#8787FF', + '#87AF00', '#87AF5F', '#87AF87', '#87AFAF', '#87AFD7', '#87AFFF', + '#87D700', '#87D75F', '#87D787', '#87D7AF', '#87D7D7', '#87D7FF', + '#87FF00', '#87FF5F', '#87FF87', '#87FFAF', '#87FFD7', '#87FFFF', + + '#AF0000', '#AF005F', '#AF0087', '#AF00AF', '#AF00D7', '#AF00FF', + '#AF5F00', '#AF5F5F', '#AF5F87', '#AF5FAF', '#AF5FD7', '#AF5FFF', + '#AF8700', '#AF875F', '#AF8787', '#AF87AF', '#AF87D7', '#AF87FF', + '#AFAF00', '#AFAF5F', '#AFAF87', '#AFAFAF', '#AFAFD7', '#AFAFFF', + '#AFD700', '#AFD75F', '#AFD787', '#AFD7AF', '#AFD7D7', '#AFD7FF', + '#AFFF00', '#AFFF5F', '#AFFF87', '#AFFFAF', '#AFFFD7', '#AFFFFF', + + '#D70000', '#D7005F', '#D70087', '#D700AF', '#D700D7', '#D700FF', + '#D75F00', '#D75F5F', '#D75F87', '#D75FAF', '#D75FD7', '#D75FFF', + '#D78700', '#D7875F', '#D78787', '#D787AF', '#D787D7', '#D787FF', + '#D7AF00', '#D7AF5F', '#D7AF87', '#D7AFAF', '#D7AFD7', '#D7AFFF', + '#D7D700', '#D7D75F', '#D7D787', '#D7D7AF', '#D7D7D7', '#D7D7FF', + '#D7FF00', '#D7FF5F', '#D7FF87', '#D7FFAF', '#D7FFD7', '#D7FFFF', + + '#FF0000', '#FF005F', '#FF0087', '#FF00AF', '#FF00D7', '#FF00FF', + '#FF5F00', '#FF5F5F', '#FF5F87', '#FF5FAF', '#FF5FD7', '#FF5FFF', + '#FF8700', '#FF875F', '#FF8787', '#FF87AF', '#FF87D7', '#FF87FF', + '#FFAF00', '#FFAF5F', '#FFAF87', '#FFAFAF', '#FFAFD7', '#FFAFFF', + '#FFD700', '#FFD75F', '#FFD787', '#FFD7AF', '#FFD7D7', '#FFD7FF', + '#FFFF00', '#FFFF5F', '#FFFF87', '#FFFFAF', '#FFFFD7', '#FFFFFF', + + // The greyscale ramp... + '#080808', '#121212', '#1C1C1C', '#262626', '#303030', '#3A3A3A', + '#444444', '#4E4E4E', '#585858', '#626262', '#6C6C6C', '#767676', + '#808080', '#8A8A8A', '#949494', '#9E9E9E', '#A8A8A8', '#B2B2B2', + '#BCBCBC', '#C6C6C6', '#D0D0D0', '#DADADA', '#E4E4E4', '#EEEEEE' + ]); + +/** + * The current color palette, possibly with user changes. + */ +lib.colors.colorPalette = lib.colors.stockColorPalette; + +/** + * Named colors according to the stock X11 rgb.txt file. + */ +lib.colors.colorNames = { + "aliceblue": "rgb(240, 248, 255)", + "antiquewhite": "rgb(250, 235, 215)", + "antiquewhite1": "rgb(255, 239, 219)", + "antiquewhite2": "rgb(238, 223, 204)", + "antiquewhite3": "rgb(205, 192, 176)", + "antiquewhite4": "rgb(139, 131, 120)", + "aquamarine": "rgb(127, 255, 212)", + "aquamarine1": "rgb(127, 255, 212)", + "aquamarine2": "rgb(118, 238, 198)", + "aquamarine3": "rgb(102, 205, 170)", + "aquamarine4": "rgb(69, 139, 116)", + "azure": "rgb(240, 255, 255)", + "azure1": "rgb(240, 255, 255)", + "azure2": "rgb(224, 238, 238)", + "azure3": "rgb(193, 205, 205)", + "azure4": "rgb(131, 139, 139)", + "beige": "rgb(245, 245, 220)", + "bisque": "rgb(255, 228, 196)", + "bisque1": "rgb(255, 228, 196)", + "bisque2": "rgb(238, 213, 183)", + "bisque3": "rgb(205, 183, 158)", + "bisque4": "rgb(139, 125, 107)", + "black": "rgb(0, 0, 0)", + "blanchedalmond": "rgb(255, 235, 205)", + "blue": "rgb(0, 0, 255)", + "blue1": "rgb(0, 0, 255)", + "blue2": "rgb(0, 0, 238)", + "blue3": "rgb(0, 0, 205)", + "blue4": "rgb(0, 0, 139)", + "blueviolet": "rgb(138, 43, 226)", + "brown": "rgb(165, 42, 42)", + "brown1": "rgb(255, 64, 64)", + "brown2": "rgb(238, 59, 59)", + "brown3": "rgb(205, 51, 51)", + "brown4": "rgb(139, 35, 35)", + "burlywood": "rgb(222, 184, 135)", + "burlywood1": "rgb(255, 211, 155)", + "burlywood2": "rgb(238, 197, 145)", + "burlywood3": "rgb(205, 170, 125)", + "burlywood4": "rgb(139, 115, 85)", + "cadetblue": "rgb(95, 158, 160)", + "cadetblue1": "rgb(152, 245, 255)", + "cadetblue2": "rgb(142, 229, 238)", + "cadetblue3": "rgb(122, 197, 205)", + "cadetblue4": "rgb(83, 134, 139)", + "chartreuse": "rgb(127, 255, 0)", + "chartreuse1": "rgb(127, 255, 0)", + "chartreuse2": "rgb(118, 238, 0)", + "chartreuse3": "rgb(102, 205, 0)", + "chartreuse4": "rgb(69, 139, 0)", + "chocolate": "rgb(210, 105, 30)", + "chocolate1": "rgb(255, 127, 36)", + "chocolate2": "rgb(238, 118, 33)", + "chocolate3": "rgb(205, 102, 29)", + "chocolate4": "rgb(139, 69, 19)", + "coral": "rgb(255, 127, 80)", + "coral1": "rgb(255, 114, 86)", + "coral2": "rgb(238, 106, 80)", + "coral3": "rgb(205, 91, 69)", + "coral4": "rgb(139, 62, 47)", + "cornflowerblue": "rgb(100, 149, 237)", + "cornsilk": "rgb(255, 248, 220)", + "cornsilk1": "rgb(255, 248, 220)", + "cornsilk2": "rgb(238, 232, 205)", + "cornsilk3": "rgb(205, 200, 177)", + "cornsilk4": "rgb(139, 136, 120)", + "cyan": "rgb(0, 255, 255)", + "cyan1": "rgb(0, 255, 255)", + "cyan2": "rgb(0, 238, 238)", + "cyan3": "rgb(0, 205, 205)", + "cyan4": "rgb(0, 139, 139)", + "darkblue": "rgb(0, 0, 139)", + "darkcyan": "rgb(0, 139, 139)", + "darkgoldenrod": "rgb(184, 134, 11)", + "darkgoldenrod1": "rgb(255, 185, 15)", + "darkgoldenrod2": "rgb(238, 173, 14)", + "darkgoldenrod3": "rgb(205, 149, 12)", + "darkgoldenrod4": "rgb(139, 101, 8)", + "darkgray": "rgb(169, 169, 169)", + "darkgreen": "rgb(0, 100, 0)", + "darkgrey": "rgb(169, 169, 169)", + "darkkhaki": "rgb(189, 183, 107)", + "darkmagenta": "rgb(139, 0, 139)", + "darkolivegreen": "rgb(85, 107, 47)", + "darkolivegreen1": "rgb(202, 255, 112)", + "darkolivegreen2": "rgb(188, 238, 104)", + "darkolivegreen3": "rgb(162, 205, 90)", + "darkolivegreen4": "rgb(110, 139, 61)", + "darkorange": "rgb(255, 140, 0)", + "darkorange1": "rgb(255, 127, 0)", + "darkorange2": "rgb(238, 118, 0)", + "darkorange3": "rgb(205, 102, 0)", + "darkorange4": "rgb(139, 69, 0)", + "darkorchid": "rgb(153, 50, 204)", + "darkorchid1": "rgb(191, 62, 255)", + "darkorchid2": "rgb(178, 58, 238)", + "darkorchid3": "rgb(154, 50, 205)", + "darkorchid4": "rgb(104, 34, 139)", + "darkred": "rgb(139, 0, 0)", + "darksalmon": "rgb(233, 150, 122)", + "darkseagreen": "rgb(143, 188, 143)", + "darkseagreen1": "rgb(193, 255, 193)", + "darkseagreen2": "rgb(180, 238, 180)", + "darkseagreen3": "rgb(155, 205, 155)", + "darkseagreen4": "rgb(105, 139, 105)", + "darkslateblue": "rgb(72, 61, 139)", + "darkslategray": "rgb(47, 79, 79)", + "darkslategray1": "rgb(151, 255, 255)", + "darkslategray2": "rgb(141, 238, 238)", + "darkslategray3": "rgb(121, 205, 205)", + "darkslategray4": "rgb(82, 139, 139)", + "darkslategrey": "rgb(47, 79, 79)", + "darkturquoise": "rgb(0, 206, 209)", + "darkviolet": "rgb(148, 0, 211)", + "debianred": "rgb(215, 7, 81)", + "deeppink": "rgb(255, 20, 147)", + "deeppink1": "rgb(255, 20, 147)", + "deeppink2": "rgb(238, 18, 137)", + "deeppink3": "rgb(205, 16, 118)", + "deeppink4": "rgb(139, 10, 80)", + "deepskyblue": "rgb(0, 191, 255)", + "deepskyblue1": "rgb(0, 191, 255)", + "deepskyblue2": "rgb(0, 178, 238)", + "deepskyblue3": "rgb(0, 154, 205)", + "deepskyblue4": "rgb(0, 104, 139)", + "dimgray": "rgb(105, 105, 105)", + "dimgrey": "rgb(105, 105, 105)", + "dodgerblue": "rgb(30, 144, 255)", + "dodgerblue1": "rgb(30, 144, 255)", + "dodgerblue2": "rgb(28, 134, 238)", + "dodgerblue3": "rgb(24, 116, 205)", + "dodgerblue4": "rgb(16, 78, 139)", + "firebrick": "rgb(178, 34, 34)", + "firebrick1": "rgb(255, 48, 48)", + "firebrick2": "rgb(238, 44, 44)", + "firebrick3": "rgb(205, 38, 38)", + "firebrick4": "rgb(139, 26, 26)", + "floralwhite": "rgb(255, 250, 240)", + "forestgreen": "rgb(34, 139, 34)", + "gainsboro": "rgb(220, 220, 220)", + "ghostwhite": "rgb(248, 248, 255)", + "gold": "rgb(255, 215, 0)", + "gold1": "rgb(255, 215, 0)", + "gold2": "rgb(238, 201, 0)", + "gold3": "rgb(205, 173, 0)", + "gold4": "rgb(139, 117, 0)", + "goldenrod": "rgb(218, 165, 32)", + "goldenrod1": "rgb(255, 193, 37)", + "goldenrod2": "rgb(238, 180, 34)", + "goldenrod3": "rgb(205, 155, 29)", + "goldenrod4": "rgb(139, 105, 20)", + "gray": "rgb(190, 190, 190)", + "gray0": "rgb(0, 0, 0)", + "gray1": "rgb(3, 3, 3)", + "gray10": "rgb(26, 26, 26)", + "gray100": "rgb(255, 255, 255)", + "gray11": "rgb(28, 28, 28)", + "gray12": "rgb(31, 31, 31)", + "gray13": "rgb(33, 33, 33)", + "gray14": "rgb(36, 36, 36)", + "gray15": "rgb(38, 38, 38)", + "gray16": "rgb(41, 41, 41)", + "gray17": "rgb(43, 43, 43)", + "gray18": "rgb(46, 46, 46)", + "gray19": "rgb(48, 48, 48)", + "gray2": "rgb(5, 5, 5)", + "gray20": "rgb(51, 51, 51)", + "gray21": "rgb(54, 54, 54)", + "gray22": "rgb(56, 56, 56)", + "gray23": "rgb(59, 59, 59)", + "gray24": "rgb(61, 61, 61)", + "gray25": "rgb(64, 64, 64)", + "gray26": "rgb(66, 66, 66)", + "gray27": "rgb(69, 69, 69)", + "gray28": "rgb(71, 71, 71)", + "gray29": "rgb(74, 74, 74)", + "gray3": "rgb(8, 8, 8)", + "gray30": "rgb(77, 77, 77)", + "gray31": "rgb(79, 79, 79)", + "gray32": "rgb(82, 82, 82)", + "gray33": "rgb(84, 84, 84)", + "gray34": "rgb(87, 87, 87)", + "gray35": "rgb(89, 89, 89)", + "gray36": "rgb(92, 92, 92)", + "gray37": "rgb(94, 94, 94)", + "gray38": "rgb(97, 97, 97)", + "gray39": "rgb(99, 99, 99)", + "gray4": "rgb(10, 10, 10)", + "gray40": "rgb(102, 102, 102)", + "gray41": "rgb(105, 105, 105)", + "gray42": "rgb(107, 107, 107)", + "gray43": "rgb(110, 110, 110)", + "gray44": "rgb(112, 112, 112)", + "gray45": "rgb(115, 115, 115)", + "gray46": "rgb(117, 117, 117)", + "gray47": "rgb(120, 120, 120)", + "gray48": "rgb(122, 122, 122)", + "gray49": "rgb(125, 125, 125)", + "gray5": "rgb(13, 13, 13)", + "gray50": "rgb(127, 127, 127)", + "gray51": "rgb(130, 130, 130)", + "gray52": "rgb(133, 133, 133)", + "gray53": "rgb(135, 135, 135)", + "gray54": "rgb(138, 138, 138)", + "gray55": "rgb(140, 140, 140)", + "gray56": "rgb(143, 143, 143)", + "gray57": "rgb(145, 145, 145)", + "gray58": "rgb(148, 148, 148)", + "gray59": "rgb(150, 150, 150)", + "gray6": "rgb(15, 15, 15)", + "gray60": "rgb(153, 153, 153)", + "gray61": "rgb(156, 156, 156)", + "gray62": "rgb(158, 158, 158)", + "gray63": "rgb(161, 161, 161)", + "gray64": "rgb(163, 163, 163)", + "gray65": "rgb(166, 166, 166)", + "gray66": "rgb(168, 168, 168)", + "gray67": "rgb(171, 171, 171)", + "gray68": "rgb(173, 173, 173)", + "gray69": "rgb(176, 176, 176)", + "gray7": "rgb(18, 18, 18)", + "gray70": "rgb(179, 179, 179)", + "gray71": "rgb(181, 181, 181)", + "gray72": "rgb(184, 184, 184)", + "gray73": "rgb(186, 186, 186)", + "gray74": "rgb(189, 189, 189)", + "gray75": "rgb(191, 191, 191)", + "gray76": "rgb(194, 194, 194)", + "gray77": "rgb(196, 196, 196)", + "gray78": "rgb(199, 199, 199)", + "gray79": "rgb(201, 201, 201)", + "gray8": "rgb(20, 20, 20)", + "gray80": "rgb(204, 204, 204)", + "gray81": "rgb(207, 207, 207)", + "gray82": "rgb(209, 209, 209)", + "gray83": "rgb(212, 212, 212)", + "gray84": "rgb(214, 214, 214)", + "gray85": "rgb(217, 217, 217)", + "gray86": "rgb(219, 219, 219)", + "gray87": "rgb(222, 222, 222)", + "gray88": "rgb(224, 224, 224)", + "gray89": "rgb(227, 227, 227)", + "gray9": "rgb(23, 23, 23)", + "gray90": "rgb(229, 229, 229)", + "gray91": "rgb(232, 232, 232)", + "gray92": "rgb(235, 235, 235)", + "gray93": "rgb(237, 237, 237)", + "gray94": "rgb(240, 240, 240)", + "gray95": "rgb(242, 242, 242)", + "gray96": "rgb(245, 245, 245)", + "gray97": "rgb(247, 247, 247)", + "gray98": "rgb(250, 250, 250)", + "gray99": "rgb(252, 252, 252)", + "green": "rgb(0, 255, 0)", + "green1": "rgb(0, 255, 0)", + "green2": "rgb(0, 238, 0)", + "green3": "rgb(0, 205, 0)", + "green4": "rgb(0, 139, 0)", + "greenyellow": "rgb(173, 255, 47)", + "grey": "rgb(190, 190, 190)", + "grey0": "rgb(0, 0, 0)", + "grey1": "rgb(3, 3, 3)", + "grey10": "rgb(26, 26, 26)", + "grey100": "rgb(255, 255, 255)", + "grey11": "rgb(28, 28, 28)", + "grey12": "rgb(31, 31, 31)", + "grey13": "rgb(33, 33, 33)", + "grey14": "rgb(36, 36, 36)", + "grey15": "rgb(38, 38, 38)", + "grey16": "rgb(41, 41, 41)", + "grey17": "rgb(43, 43, 43)", + "grey18": "rgb(46, 46, 46)", + "grey19": "rgb(48, 48, 48)", + "grey2": "rgb(5, 5, 5)", + "grey20": "rgb(51, 51, 51)", + "grey21": "rgb(54, 54, 54)", + "grey22": "rgb(56, 56, 56)", + "grey23": "rgb(59, 59, 59)", + "grey24": "rgb(61, 61, 61)", + "grey25": "rgb(64, 64, 64)", + "grey26": "rgb(66, 66, 66)", + "grey27": "rgb(69, 69, 69)", + "grey28": "rgb(71, 71, 71)", + "grey29": "rgb(74, 74, 74)", + "grey3": "rgb(8, 8, 8)", + "grey30": "rgb(77, 77, 77)", + "grey31": "rgb(79, 79, 79)", + "grey32": "rgb(82, 82, 82)", + "grey33": "rgb(84, 84, 84)", + "grey34": "rgb(87, 87, 87)", + "grey35": "rgb(89, 89, 89)", + "grey36": "rgb(92, 92, 92)", + "grey37": "rgb(94, 94, 94)", + "grey38": "rgb(97, 97, 97)", + "grey39": "rgb(99, 99, 99)", + "grey4": "rgb(10, 10, 10)", + "grey40": "rgb(102, 102, 102)", + "grey41": "rgb(105, 105, 105)", + "grey42": "rgb(107, 107, 107)", + "grey43": "rgb(110, 110, 110)", + "grey44": "rgb(112, 112, 112)", + "grey45": "rgb(115, 115, 115)", + "grey46": "rgb(117, 117, 117)", + "grey47": "rgb(120, 120, 120)", + "grey48": "rgb(122, 122, 122)", + "grey49": "rgb(125, 125, 125)", + "grey5": "rgb(13, 13, 13)", + "grey50": "rgb(127, 127, 127)", + "grey51": "rgb(130, 130, 130)", + "grey52": "rgb(133, 133, 133)", + "grey53": "rgb(135, 135, 135)", + "grey54": "rgb(138, 138, 138)", + "grey55": "rgb(140, 140, 140)", + "grey56": "rgb(143, 143, 143)", + "grey57": "rgb(145, 145, 145)", + "grey58": "rgb(148, 148, 148)", + "grey59": "rgb(150, 150, 150)", + "grey6": "rgb(15, 15, 15)", + "grey60": "rgb(153, 153, 153)", + "grey61": "rgb(156, 156, 156)", + "grey62": "rgb(158, 158, 158)", + "grey63": "rgb(161, 161, 161)", + "grey64": "rgb(163, 163, 163)", + "grey65": "rgb(166, 166, 166)", + "grey66": "rgb(168, 168, 168)", + "grey67": "rgb(171, 171, 171)", + "grey68": "rgb(173, 173, 173)", + "grey69": "rgb(176, 176, 176)", + "grey7": "rgb(18, 18, 18)", + "grey70": "rgb(179, 179, 179)", + "grey71": "rgb(181, 181, 181)", + "grey72": "rgb(184, 184, 184)", + "grey73": "rgb(186, 186, 186)", + "grey74": "rgb(189, 189, 189)", + "grey75": "rgb(191, 191, 191)", + "grey76": "rgb(194, 194, 194)", + "grey77": "rgb(196, 196, 196)", + "grey78": "rgb(199, 199, 199)", + "grey79": "rgb(201, 201, 201)", + "grey8": "rgb(20, 20, 20)", + "grey80": "rgb(204, 204, 204)", + "grey81": "rgb(207, 207, 207)", + "grey82": "rgb(209, 209, 209)", + "grey83": "rgb(212, 212, 212)", + "grey84": "rgb(214, 214, 214)", + "grey85": "rgb(217, 217, 217)", + "grey86": "rgb(219, 219, 219)", + "grey87": "rgb(222, 222, 222)", + "grey88": "rgb(224, 224, 224)", + "grey89": "rgb(227, 227, 227)", + "grey9": "rgb(23, 23, 23)", + "grey90": "rgb(229, 229, 229)", + "grey91": "rgb(232, 232, 232)", + "grey92": "rgb(235, 235, 235)", + "grey93": "rgb(237, 237, 237)", + "grey94": "rgb(240, 240, 240)", + "grey95": "rgb(242, 242, 242)", + "grey96": "rgb(245, 245, 245)", + "grey97": "rgb(247, 247, 247)", + "grey98": "rgb(250, 250, 250)", + "grey99": "rgb(252, 252, 252)", + "honeydew": "rgb(240, 255, 240)", + "honeydew1": "rgb(240, 255, 240)", + "honeydew2": "rgb(224, 238, 224)", + "honeydew3": "rgb(193, 205, 193)", + "honeydew4": "rgb(131, 139, 131)", + "hotpink": "rgb(255, 105, 180)", + "hotpink1": "rgb(255, 110, 180)", + "hotpink2": "rgb(238, 106, 167)", + "hotpink3": "rgb(205, 96, 144)", + "hotpink4": "rgb(139, 58, 98)", + "indianred": "rgb(205, 92, 92)", + "indianred1": "rgb(255, 106, 106)", + "indianred2": "rgb(238, 99, 99)", + "indianred3": "rgb(205, 85, 85)", + "indianred4": "rgb(139, 58, 58)", + "ivory": "rgb(255, 255, 240)", + "ivory1": "rgb(255, 255, 240)", + "ivory2": "rgb(238, 238, 224)", + "ivory3": "rgb(205, 205, 193)", + "ivory4": "rgb(139, 139, 131)", + "khaki": "rgb(240, 230, 140)", + "khaki1": "rgb(255, 246, 143)", + "khaki2": "rgb(238, 230, 133)", + "khaki3": "rgb(205, 198, 115)", + "khaki4": "rgb(139, 134, 78)", + "lavender": "rgb(230, 230, 250)", + "lavenderblush": "rgb(255, 240, 245)", + "lavenderblush1": "rgb(255, 240, 245)", + "lavenderblush2": "rgb(238, 224, 229)", + "lavenderblush3": "rgb(205, 193, 197)", + "lavenderblush4": "rgb(139, 131, 134)", + "lawngreen": "rgb(124, 252, 0)", + "lemonchiffon": "rgb(255, 250, 205)", + "lemonchiffon1": "rgb(255, 250, 205)", + "lemonchiffon2": "rgb(238, 233, 191)", + "lemonchiffon3": "rgb(205, 201, 165)", + "lemonchiffon4": "rgb(139, 137, 112)", + "lightblue": "rgb(173, 216, 230)", + "lightblue1": "rgb(191, 239, 255)", + "lightblue2": "rgb(178, 223, 238)", + "lightblue3": "rgb(154, 192, 205)", + "lightblue4": "rgb(104, 131, 139)", + "lightcoral": "rgb(240, 128, 128)", + "lightcyan": "rgb(224, 255, 255)", + "lightcyan1": "rgb(224, 255, 255)", + "lightcyan2": "rgb(209, 238, 238)", + "lightcyan3": "rgb(180, 205, 205)", + "lightcyan4": "rgb(122, 139, 139)", + "lightgoldenrod": "rgb(238, 221, 130)", + "lightgoldenrod1": "rgb(255, 236, 139)", + "lightgoldenrod2": "rgb(238, 220, 130)", + "lightgoldenrod3": "rgb(205, 190, 112)", + "lightgoldenrod4": "rgb(139, 129, 76)", + "lightgoldenrodyellow": "rgb(250, 250, 210)", + "lightgray": "rgb(211, 211, 211)", + "lightgreen": "rgb(144, 238, 144)", + "lightgrey": "rgb(211, 211, 211)", + "lightpink": "rgb(255, 182, 193)", + "lightpink1": "rgb(255, 174, 185)", + "lightpink2": "rgb(238, 162, 173)", + "lightpink3": "rgb(205, 140, 149)", + "lightpink4": "rgb(139, 95, 101)", + "lightsalmon": "rgb(255, 160, 122)", + "lightsalmon1": "rgb(255, 160, 122)", + "lightsalmon2": "rgb(238, 149, 114)", + "lightsalmon3": "rgb(205, 129, 98)", + "lightsalmon4": "rgb(139, 87, 66)", + "lightseagreen": "rgb(32, 178, 170)", + "lightskyblue": "rgb(135, 206, 250)", + "lightskyblue1": "rgb(176, 226, 255)", + "lightskyblue2": "rgb(164, 211, 238)", + "lightskyblue3": "rgb(141, 182, 205)", + "lightskyblue4": "rgb(96, 123, 139)", + "lightslateblue": "rgb(132, 112, 255)", + "lightslategray": "rgb(119, 136, 153)", + "lightslategrey": "rgb(119, 136, 153)", + "lightsteelblue": "rgb(176, 196, 222)", + "lightsteelblue1": "rgb(202, 225, 255)", + "lightsteelblue2": "rgb(188, 210, 238)", + "lightsteelblue3": "rgb(162, 181, 205)", + "lightsteelblue4": "rgb(110, 123, 139)", + "lightyellow": "rgb(255, 255, 224)", + "lightyellow1": "rgb(255, 255, 224)", + "lightyellow2": "rgb(238, 238, 209)", + "lightyellow3": "rgb(205, 205, 180)", + "lightyellow4": "rgb(139, 139, 122)", + "limegreen": "rgb(50, 205, 50)", + "linen": "rgb(250, 240, 230)", + "magenta": "rgb(255, 0, 255)", + "magenta1": "rgb(255, 0, 255)", + "magenta2": "rgb(238, 0, 238)", + "magenta3": "rgb(205, 0, 205)", + "magenta4": "rgb(139, 0, 139)", + "maroon": "rgb(176, 48, 96)", + "maroon1": "rgb(255, 52, 179)", + "maroon2": "rgb(238, 48, 167)", + "maroon3": "rgb(205, 41, 144)", + "maroon4": "rgb(139, 28, 98)", + "mediumaquamarine": "rgb(102, 205, 170)", + "mediumblue": "rgb(0, 0, 205)", + "mediumorchid": "rgb(186, 85, 211)", + "mediumorchid1": "rgb(224, 102, 255)", + "mediumorchid2": "rgb(209, 95, 238)", + "mediumorchid3": "rgb(180, 82, 205)", + "mediumorchid4": "rgb(122, 55, 139)", + "mediumpurple": "rgb(147, 112, 219)", + "mediumpurple1": "rgb(171, 130, 255)", + "mediumpurple2": "rgb(159, 121, 238)", + "mediumpurple3": "rgb(137, 104, 205)", + "mediumpurple4": "rgb(93, 71, 139)", + "mediumseagreen": "rgb(60, 179, 113)", + "mediumslateblue": "rgb(123, 104, 238)", + "mediumspringgreen": "rgb(0, 250, 154)", + "mediumturquoise": "rgb(72, 209, 204)", + "mediumvioletred": "rgb(199, 21, 133)", + "midnightblue": "rgb(25, 25, 112)", + "mintcream": "rgb(245, 255, 250)", + "mistyrose": "rgb(255, 228, 225)", + "mistyrose1": "rgb(255, 228, 225)", + "mistyrose2": "rgb(238, 213, 210)", + "mistyrose3": "rgb(205, 183, 181)", + "mistyrose4": "rgb(139, 125, 123)", + "moccasin": "rgb(255, 228, 181)", + "navajowhite": "rgb(255, 222, 173)", + "navajowhite1": "rgb(255, 222, 173)", + "navajowhite2": "rgb(238, 207, 161)", + "navajowhite3": "rgb(205, 179, 139)", + "navajowhite4": "rgb(139, 121, 94)", + "navy": "rgb(0, 0, 128)", + "navyblue": "rgb(0, 0, 128)", + "oldlace": "rgb(253, 245, 230)", + "olivedrab": "rgb(107, 142, 35)", + "olivedrab1": "rgb(192, 255, 62)", + "olivedrab2": "rgb(179, 238, 58)", + "olivedrab3": "rgb(154, 205, 50)", + "olivedrab4": "rgb(105, 139, 34)", + "orange": "rgb(255, 165, 0)", + "orange1": "rgb(255, 165, 0)", + "orange2": "rgb(238, 154, 0)", + "orange3": "rgb(205, 133, 0)", + "orange4": "rgb(139, 90, 0)", + "orangered": "rgb(255, 69, 0)", + "orangered1": "rgb(255, 69, 0)", + "orangered2": "rgb(238, 64, 0)", + "orangered3": "rgb(205, 55, 0)", + "orangered4": "rgb(139, 37, 0)", + "orchid": "rgb(218, 112, 214)", + "orchid1": "rgb(255, 131, 250)", + "orchid2": "rgb(238, 122, 233)", + "orchid3": "rgb(205, 105, 201)", + "orchid4": "rgb(139, 71, 137)", + "palegoldenrod": "rgb(238, 232, 170)", + "palegreen": "rgb(152, 251, 152)", + "palegreen1": "rgb(154, 255, 154)", + "palegreen2": "rgb(144, 238, 144)", + "palegreen3": "rgb(124, 205, 124)", + "palegreen4": "rgb(84, 139, 84)", + "paleturquoise": "rgb(175, 238, 238)", + "paleturquoise1": "rgb(187, 255, 255)", + "paleturquoise2": "rgb(174, 238, 238)", + "paleturquoise3": "rgb(150, 205, 205)", + "paleturquoise4": "rgb(102, 139, 139)", + "palevioletred": "rgb(219, 112, 147)", + "palevioletred1": "rgb(255, 130, 171)", + "palevioletred2": "rgb(238, 121, 159)", + "palevioletred3": "rgb(205, 104, 137)", + "palevioletred4": "rgb(139, 71, 93)", + "papayawhip": "rgb(255, 239, 213)", + "peachpuff": "rgb(255, 218, 185)", + "peachpuff1": "rgb(255, 218, 185)", + "peachpuff2": "rgb(238, 203, 173)", + "peachpuff3": "rgb(205, 175, 149)", + "peachpuff4": "rgb(139, 119, 101)", + "peru": "rgb(205, 133, 63)", + "pink": "rgb(255, 192, 203)", + "pink1": "rgb(255, 181, 197)", + "pink2": "rgb(238, 169, 184)", + "pink3": "rgb(205, 145, 158)", + "pink4": "rgb(139, 99, 108)", + "plum": "rgb(221, 160, 221)", + "plum1": "rgb(255, 187, 255)", + "plum2": "rgb(238, 174, 238)", + "plum3": "rgb(205, 150, 205)", + "plum4": "rgb(139, 102, 139)", + "powderblue": "rgb(176, 224, 230)", + "purple": "rgb(160, 32, 240)", + "purple1": "rgb(155, 48, 255)", + "purple2": "rgb(145, 44, 238)", + "purple3": "rgb(125, 38, 205)", + "purple4": "rgb(85, 26, 139)", + "red": "rgb(255, 0, 0)", + "red1": "rgb(255, 0, 0)", + "red2": "rgb(238, 0, 0)", + "red3": "rgb(205, 0, 0)", + "red4": "rgb(139, 0, 0)", + "rosybrown": "rgb(188, 143, 143)", + "rosybrown1": "rgb(255, 193, 193)", + "rosybrown2": "rgb(238, 180, 180)", + "rosybrown3": "rgb(205, 155, 155)", + "rosybrown4": "rgb(139, 105, 105)", + "royalblue": "rgb(65, 105, 225)", + "royalblue1": "rgb(72, 118, 255)", + "royalblue2": "rgb(67, 110, 238)", + "royalblue3": "rgb(58, 95, 205)", + "royalblue4": "rgb(39, 64, 139)", + "saddlebrown": "rgb(139, 69, 19)", + "salmon": "rgb(250, 128, 114)", + "salmon1": "rgb(255, 140, 105)", + "salmon2": "rgb(238, 130, 98)", + "salmon3": "rgb(205, 112, 84)", + "salmon4": "rgb(139, 76, 57)", + "sandybrown": "rgb(244, 164, 96)", + "seagreen": "rgb(46, 139, 87)", + "seagreen1": "rgb(84, 255, 159)", + "seagreen2": "rgb(78, 238, 148)", + "seagreen3": "rgb(67, 205, 128)", + "seagreen4": "rgb(46, 139, 87)", + "seashell": "rgb(255, 245, 238)", + "seashell1": "rgb(255, 245, 238)", + "seashell2": "rgb(238, 229, 222)", + "seashell3": "rgb(205, 197, 191)", + "seashell4": "rgb(139, 134, 130)", + "sienna": "rgb(160, 82, 45)", + "sienna1": "rgb(255, 130, 71)", + "sienna2": "rgb(238, 121, 66)", + "sienna3": "rgb(205, 104, 57)", + "sienna4": "rgb(139, 71, 38)", + "skyblue": "rgb(135, 206, 235)", + "skyblue1": "rgb(135, 206, 255)", + "skyblue2": "rgb(126, 192, 238)", + "skyblue3": "rgb(108, 166, 205)", + "skyblue4": "rgb(74, 112, 139)", + "slateblue": "rgb(106, 90, 205)", + "slateblue1": "rgb(131, 111, 255)", + "slateblue2": "rgb(122, 103, 238)", + "slateblue3": "rgb(105, 89, 205)", + "slateblue4": "rgb(71, 60, 139)", + "slategray": "rgb(112, 128, 144)", + "slategray1": "rgb(198, 226, 255)", + "slategray2": "rgb(185, 211, 238)", + "slategray3": "rgb(159, 182, 205)", + "slategray4": "rgb(108, 123, 139)", + "slategrey": "rgb(112, 128, 144)", + "snow": "rgb(255, 250, 250)", + "snow1": "rgb(255, 250, 250)", + "snow2": "rgb(238, 233, 233)", + "snow3": "rgb(205, 201, 201)", + "snow4": "rgb(139, 137, 137)", + "springgreen": "rgb(0, 255, 127)", + "springgreen1": "rgb(0, 255, 127)", + "springgreen2": "rgb(0, 238, 118)", + "springgreen3": "rgb(0, 205, 102)", + "springgreen4": "rgb(0, 139, 69)", + "steelblue": "rgb(70, 130, 180)", + "steelblue1": "rgb(99, 184, 255)", + "steelblue2": "rgb(92, 172, 238)", + "steelblue3": "rgb(79, 148, 205)", + "steelblue4": "rgb(54, 100, 139)", + "tan": "rgb(210, 180, 140)", + "tan1": "rgb(255, 165, 79)", + "tan2": "rgb(238, 154, 73)", + "tan3": "rgb(205, 133, 63)", + "tan4": "rgb(139, 90, 43)", + "thistle": "rgb(216, 191, 216)", + "thistle1": "rgb(255, 225, 255)", + "thistle2": "rgb(238, 210, 238)", + "thistle3": "rgb(205, 181, 205)", + "thistle4": "rgb(139, 123, 139)", + "tomato": "rgb(255, 99, 71)", + "tomato1": "rgb(255, 99, 71)", + "tomato2": "rgb(238, 92, 66)", + "tomato3": "rgb(205, 79, 57)", + "tomato4": "rgb(139, 54, 38)", + "turquoise": "rgb(64, 224, 208)", + "turquoise1": "rgb(0, 245, 255)", + "turquoise2": "rgb(0, 229, 238)", + "turquoise3": "rgb(0, 197, 205)", + "turquoise4": "rgb(0, 134, 139)", + "violet": "rgb(238, 130, 238)", + "violetred": "rgb(208, 32, 144)", + "violetred1": "rgb(255, 62, 150)", + "violetred2": "rgb(238, 58, 140)", + "violetred3": "rgb(205, 50, 120)", + "violetred4": "rgb(139, 34, 82)", + "wheat": "rgb(245, 222, 179)", + "wheat1": "rgb(255, 231, 186)", + "wheat2": "rgb(238, 216, 174)", + "wheat3": "rgb(205, 186, 150)", + "wheat4": "rgb(139, 126, 102)", + "white": "rgb(255, 255, 255)", + "whitesmoke": "rgb(245, 245, 245)", + "yellow": "rgb(255, 255, 0)", + "yellow1": "rgb(255, 255, 0)", + "yellow2": "rgb(238, 238, 0)", + "yellow3": "rgb(205, 205, 0)", + "yellow4": "rgb(139, 139, 0)", + "yellowgreen": "rgb(154, 205, 50)" +}; +// SOURCE FILE: libdot/js/lib_f.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +/** + * Grab bag of utility functions. + */ +lib.f = {}; + +/** + * Create a unique enum value. + * + * @suppress {lintChecks} + * @param {string} name A human friendly name for debugging. + * @return {Object} A unique enum that won't compare equal to anything else. + */ +lib.f.createEnum = function(name) { + // We use a String object as nothing else should be using them -- we want to + // use string primitives normally. But debuggers will include our name. + return new String(name); +}; + +/** + * Replace variable references in a string. + * + * Variables are of the form %FUNCTION(VARNAME). FUNCTION is an optional + * escape function to apply to the value. + * + * For example + * lib.f.replaceVars("%(greeting), %encodeURIComponent(name)", + * { greeting: "Hello", + * name: "Google+" }); + * + * Will result in "Hello, Google%2B". + */ +lib.f.replaceVars = function(str, vars) { + return str.replace(/%([a-z]*)\(([^\)]+)\)/gi, function(match, fn, varname) { + if (typeof vars[varname] == 'undefined') + throw 'Unknown variable: ' + varname; + + var rv = vars[varname]; + + if (fn in lib.f.replaceVars.functions) { + rv = lib.f.replaceVars.functions[fn](rv); + } else if (fn) { + throw 'Unknown escape function: ' + fn; + } + + return rv; + }); +}; + +/** + * Functions that can be used with replaceVars. + * + * Clients can add to this list to extend lib.f.replaceVars(). + */ +lib.f.replaceVars.functions = { + encodeURI: encodeURI, + encodeURIComponent: encodeURIComponent, + escapeHTML: function(str) { + var map = { + '<': '<', + '>': '>', + '&': '&', + '"': '"', + "'": ''' + }; + + return str.replace(/[<>&\"\']/g, function(m) { return map[m] }); + } +}; + +/** + * Get the list of accepted UI languages. + * + * @param {function(Array)} callback Function to invoke with the results. The + * parameter is a list of locale names. + */ +lib.f.getAcceptLanguages = function(callback) { + if (lib.f.getAcceptLanguages.chromeSupported()) { + chrome.i18n.getAcceptLanguages(callback); + } else { + setTimeout(function() { + callback([navigator.language.replace(/-/g, '_')]); + }, 0); + } +}; + +lib.f.getAcceptLanguages.chromeSupported = function() { + return window.chrome && chrome.i18n; +}; + +/** + * Parse a query string into a hash. + * + * This takes a url query string in the form 'name1=value&name2=value' and + * converts it into an object of the form { name1: 'value', name2: 'value' }. + * If a given name appears multiple times in the query string, only the + * last value will appear in the result. + * + * Names and values are passed through decodeURIComponent before being added + * to the result object. + * + * @param {string} queryString The string to parse. If it starts with a + * leading '?', the '?' will be ignored. + */ +lib.f.parseQuery = function(queryString) { + if (queryString.startsWith('?')) + queryString = queryString.substr(1); + + var rv = {}; + + var pairs = queryString.split('&'); + for (var i = 0; i < pairs.length; i++) { + var pair = pairs[i].split('='); + rv[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]); + } + + return rv; +}; + +lib.f.getURL = function(path) { + if (lib.f.getURL.chromeSupported()) + return chrome.runtime.getURL(path); + + return path; +}; + +lib.f.getURL.chromeSupported = function() { + return window.chrome && chrome.runtime && chrome.runtime.getURL; +}; + +/** + * Clamp a given integer to a specified range. + * + * @param {integer} v The value to be clamped. + * @param {integer} min The minimum acceptable value. + * @param {integer} max The maximum acceptable value. + */ +lib.f.clamp = function(v, min, max) { + if (v < min) + return min; + if (v > max) + return max; + return v; +}; + +/** + * Left pad a number to a given length with leading zeros. + * + * @param {string|integer} number The number to pad. + * @param {integer} length The desired length. + * @return {string} The padded number as a string. + */ +lib.f.zpad = function(number, length) { + return String(number).padStart(length, '0'); +}; + +/** + * Return a string containing a given number of space characters. + * + * This method maintains a static cache of the largest amount of whitespace + * ever requested. It shouldn't be used to generate an insanely huge amount of + * whitespace. + * + * @param {integer} length The desired amount of whitespace. + * @param {string} A string of spaces of the requested length. + */ +lib.f.getWhitespace = function(length) { + if (length <= 0) + return ''; + + var f = this.getWhitespace; + if (!f.whitespace) + f.whitespace = ' '; + + while (length > f.whitespace.length) { + f.whitespace += f.whitespace; + } + + return f.whitespace.substr(0, length); +}; + + /** + * Ensure that a function is called within a certain time limit. + * + * Simple usage looks like this... + * + * lib.registerInit(lib.f.alarm(onInit)); + * + * This will log a warning to the console if onInit() is not invoked within + * 5 seconds. + * + * If you're performing some operation that may take longer than 5 seconds you + * can pass a duration in milliseconds as the optional second parameter. + * + * If you pass a string identifier instead of a callback function, you'll get a + * wrapper generator rather than a single wrapper. Each call to the + * generator will return a wrapped version of the callback wired to + * a shared timeout. This is for cases where you want to ensure that at least + * one of a set of callbacks is invoked before a timeout expires. + * + * var alarm = lib.f.alarm('fetch object'); + * lib.foo.fetchObject(alarm(onSuccess), alarm(onFailure)); + * + * @param {function(*)} callback The function to wrap in an alarm. + * @param {int} opt_ms Optional number of milliseconds to wait before raising + * an alarm. Default is 5000 (5 seconds). + * @return {function} If callback is a function then the return value will be + * the wrapped callback. If callback is a string then the return value will + * be a function that generates new wrapped callbacks. + */ +lib.f.alarm = function(callback, opt_ms) { + var ms = opt_ms || 5 * 1000; + var stack = lib.f.getStack(1); + + return (function() { + // This outer function is called immediately. It's here to capture a new + // scope for the timeout variable. + + // The 'timeout' variable is shared by this timeout function, and the + // callback wrapper. + var timeout = setTimeout(function() { + var name = (typeof callback == 'string') ? name : callback.name; + name = name ? (': ' + name) : ''; + console.warn('lib.f.alarm: timeout expired: ' + (ms / 1000) + 's' + name); + console.log(stack); + timeout = null; + }, ms); + + var wrapperGenerator = function(callback) { + return function() { + if (timeout) { + clearTimeout(timeout); + timeout = null; + } + + return callback.apply(null, arguments); + } + }; + + if (typeof callback == 'string') + return wrapperGenerator; + + return wrapperGenerator(callback); + })(); +}; + +/** + * Return the current call stack after skipping a given number of frames. + * + * This method is intended to be used for debugging only. It returns an + * Object instead of an Array, because the console stringifies arrays by + * default and that's not what we want. + * + * A typical call might look like... + * + * console.log('Something wicked this way came', lib.f.getStack()); + * // Notice the comma ^ + * + * This would print the message to the js console, followed by an object + * which can be clicked to reveal the stack. + * + * @param {number} opt_ignoreFrames The optional number of stack frames to + * ignore. The actual 'getStack' call is always ignored. + */ +lib.f.getStack = function(opt_ignoreFrames) { + var ignoreFrames = opt_ignoreFrames ? opt_ignoreFrames + 2 : 2; + + var stackArray; + + try { + throw new Error(); + } catch (ex) { + stackArray = ex.stack.split('\n'); + } + + var stackObject = {}; + for (var i = ignoreFrames; i < stackArray.length; i++) { + stackObject[i - ignoreFrames] = stackArray[i].replace(/^\s*at\s+/, ''); + } + + return stackObject; +}; + +/** + * Divides the two numbers and floors the results, unless the remainder is less + * than an incredibly small value, in which case it returns the ceiling. + * This is useful when the number are truncated approximations of longer + * values, and so doing division with these numbers yields a result incredibly + * close to a whole number. + * + * @param {number} numerator + * @param {number} denominator + * @return {number} + */ +lib.f.smartFloorDivide = function(numerator, denominator) { + var val = numerator / denominator; + var ceiling = Math.ceil(val); + if (ceiling - val < .0001) { + return ceiling; + } else { + return Math.floor(val); + } +}; + +/** + * Get a random integer in a range (inclusive). + * + * @param {number} min The lowest integer in the range. + * @param {number} max The highest integer in the range. + * @return {number} A random number between min & max. + */ +lib.f.randomInt = function(min, max) { + return Math.floor(Math.random() * (max - min + 1)) + min; +}; +// SOURCE FILE: libdot/js/lib_message_manager.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +/** + * MessageManager class handles internationalized strings. + * + * Note: chrome.i18n isn't sufficient because... + * 1. There's a bug in chrome that makes it unavailable in iframes: + * https://crbug.com/130200 + * 2. The client code may not be packaged in a Chrome extension. + * 3. The client code may be part of a library packaged in a third-party + * Chrome extension. + * + * @param {Array} languages List of languages to load, in the order they + * should be loaded. Newer messages replace older ones. 'en' is + * automatically added as the first language if it is not already present. + */ +lib.MessageManager = function(languages) { + this.languages_ = languages.map( + function(el) { return el.replace(/-/g, '_') }); + + if (this.languages_.indexOf('en') == -1) + this.languages_.unshift('en'); + + this.messages = {}; +}; + +/** + * Add message definitions to the message manager. + * + * This takes an object of the same format of a Chrome messages.json file. See + * . + */ +lib.MessageManager.prototype.addMessages = function(defs) { + for (var key in defs) { + var def = defs[key]; + + if (!def.placeholders) { + this.messages[key] = def.message; + } else { + // Replace "$NAME$" placeholders with "$1", etc. + this.messages[key] = def.message.replace( + /\$([a-z][^\s\$]+)\$/ig, + function(m, name) { + return defs[key].placeholders[name.toLowerCase()].content; + }); + } + } +}; + +/** + * Load the first available language message bundle. + * + * @param {string} pattern A url pattern containing a "$1" where the locale + * name should go. + * @param {function(Array,Array)} onComplete Function to be called when loading + * is complete. The two arrays are the list of successful and failed + * locale names. If the first parameter is length 0, no locales were + * loaded. + */ +lib.MessageManager.prototype.findAndLoadMessages = function( + pattern, onComplete) { + var languages = this.languages_.concat(); + var loaded = []; + var failed = []; + + function onLanguageComplete(state) { + if (state) { + loaded = languages.shift(); + } else { + failed = languages.shift(); + } + + if (languages.length) { + tryNextLanguage(); + } else { + onComplete(loaded, failed); + } + } + + var tryNextLanguage = function() { + this.loadMessages(this.replaceReferences(pattern, languages), + onLanguageComplete.bind(this, true), + onLanguageComplete.bind(this, false)); + }.bind(this); + + tryNextLanguage(); +}; + +/** + * Load messages from a messages.json file. + */ +lib.MessageManager.prototype.loadMessages = function( + url, onSuccess, opt_onError) { + var xhr = new XMLHttpRequest(); + + xhr.onloadend = function() { + if (xhr.status != 200) { + if (opt_onError) + opt_onError(xhr.status); + + return; + } + + this.addMessages(JSON.parse(xhr.responseText)); + onSuccess(); + }.bind(this); + + xhr.open('GET', url); + xhr.send(); +}; + +/** + * Replace $1...$n references with the elements of the args array. + * + * @param {string} msg String containing the message and argument references. + * @param {Array} args Array containing the argument values. + */ +lib.MessageManager.replaceReferences = function(msg, args) { + return msg.replace(/\$(\d+)/g, function (m, index) { + return args[index - 1]; + }); +}; + +/** + * Per-instance copy of replaceReferences. + */ +lib.MessageManager.prototype.replaceReferences = + lib.MessageManager.replaceReferences; + +/** + * Get a message by name, optionally replacing arguments too. + * + * @param {string} msgname String containing the name of the message to get. + * @param {Array} opt_args Optional array containing the argument values. + * @param {string} opt_default Optional value to return if the msgname is not + * found. Returns the message name by default. + */ +lib.MessageManager.prototype.get = function(msgname, opt_args, opt_default) { + var message; + + if (msgname in this.messages) { + message = this.messages[msgname]; + + } else { + if (window.chrome.i18n) + message = chrome.i18n.getMessage(msgname); + + if (!message) { + console.warn('Unknown message: ' + msgname); + return (typeof opt_default == 'undefined') ? msgname : opt_default; + } + } + + if (!opt_args) + return message; + + if (!(opt_args instanceof Array)) + opt_args = [opt_args]; + + return this.replaceReferences(message, opt_args); +}; + +/** + * Process all of the "i18n" html attributes found in a given dom fragment. + * + * The real work happens in processI18nAttribute. + */ +lib.MessageManager.prototype.processI18nAttributes = function(dom) { + var nodes = dom.querySelectorAll('[i18n]'); + + for (var i = 0; i < nodes.length; i++) + this.processI18nAttribute(nodes[i]); +}; + +/** + * Process the "i18n" attribute in the specified node. + * + * The i18n attribute should contain a JSON object. The keys are taken to + * be attribute names, and the values are message names. + * + * If the JSON object has a "_" (underscore) key, its value is used as the + * textContent of the element. + * + * Message names can refer to other attributes on the same element with by + * prefixing with a dollar sign. For example... + * + * + * + * The aria-label message name will be computed as "SEND_BUTTON_ARIA_LABEL". + * Notice that the "id" attribute was appended to the target attribute, and + * the result converted to UPPER_AND_UNDER style. + */ +lib.MessageManager.prototype.processI18nAttribute = function(node) { + // Convert the "lower-and-dashes" attribute names into + // "UPPER_AND_UNDER" style. + function thunk(str) { return str.replace(/-/g, '_').toUpperCase() } + + var i18n = node.getAttribute('i18n'); + if (!i18n) + return; + + try { + i18n = JSON.parse(i18n); + } catch (ex) { + console.error('Can\'t parse ' + node.tagName + '#' + node.id + ': ' + i18n); + throw ex; + } + + // Load all the messages specified in the i18n attributes. + for (var key in i18n) { + // The node attribute we'll be setting. + var attr = key; + + var msgname = i18n[key]; + // For "=foo", re-use the referenced message name. + if (msgname.startsWith('=')) { + key = msgname.substr(1); + msgname = i18n[key]; + } + + // For "$foo", calculate the message name. + if (msgname.startsWith('$')) + msgname = thunk(node.getAttribute(msgname.substr(1)) + '_' + key); + + // Finally load the message. + var msg = this.get(msgname); + if (attr == '_') + node.textContent = msg; + else + node.setAttribute(attr, msg); + } +}; +// SOURCE FILE: libdot/js/lib_preference_manager.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +/** + * Constructor for lib.PreferenceManager objects. + * + * These objects deal with persisting changes to stable storage and notifying + * consumers when preferences change. + * + * It is intended that the backing store could be something other than HTML5 + * storage, but there aren't any use cases at the moment. In the future there + * may be a chrome api to store sync-able name/value pairs, and we'd want + * that. + * + * @param {lib.Storage.*} storage The storage object to use as a backing + * store. + * @param {string} opt_prefix The optional prefix to be used for all preference + * names. The '/' character should be used to separate levels of hierarchy, + * if you're going to have that kind of thing. If provided, the prefix + * should start with a '/'. If not provided, it defaults to '/'. + */ +lib.PreferenceManager = function(storage, opt_prefix) { + this.storage = storage; + this.storageObserver_ = this.onStorageChange_.bind(this); + + this.isActive_ = false; + this.activate(); + + this.trace = false; + + var prefix = opt_prefix || '/'; + if (!prefix.endsWith('/')) + prefix += '/'; + + this.prefix = prefix; + + this.prefRecords_ = {}; + this.globalObservers_ = []; + + this.childFactories_ = {}; + + // Map of list-name to {map of child pref managers} + // As in... + // + // this.childLists_ = { + // 'profile-ids': { + // 'one': PreferenceManager, + // 'two': PreferenceManager, + // ... + // }, + // + // 'frob-ids': { + // ... + // } + // } + this.childLists_ = {}; +}; + +/** + * Used internally to indicate that the current value of the preference should + * be taken from the default value defined with the preference. + * + * Equality tests against this value MUST use '===' or '!==' to be accurate. + */ +lib.PreferenceManager.prototype.DEFAULT_VALUE = lib.f.createEnum('DEFAULT'); + +/** + * An individual preference. + * + * These objects are managed by the PreferenceManager, you shouldn't need to + * handle them directly. + */ +lib.PreferenceManager.Record = function(name, defaultValue) { + this.name = name; + this.defaultValue = defaultValue; + this.currentValue = this.DEFAULT_VALUE; + this.observers = []; +}; + +/** + * A local copy of the DEFAULT_VALUE constant to make it less verbose. + */ +lib.PreferenceManager.Record.prototype.DEFAULT_VALUE = + lib.PreferenceManager.prototype.DEFAULT_VALUE; + +/** + * Register a callback to be invoked when this preference changes. + * + * @param {function(value, string, lib.PreferenceManager} observer The function + * to invoke. It will receive the new value, the name of the preference, + * and a reference to the PreferenceManager as parameters. + */ +lib.PreferenceManager.Record.prototype.addObserver = function(observer) { + this.observers.push(observer); +}; + +/** + * Unregister an observer callback. + * + * @param {function} observer A previously registered callback. + */ +lib.PreferenceManager.Record.prototype.removeObserver = function(observer) { + var i = this.observers.indexOf(observer); + if (i >= 0) + this.observers.splice(i, 1); +}; + +/** + * Fetch the value of this preference. + */ +lib.PreferenceManager.Record.prototype.get = function() { + if (this.currentValue === this.DEFAULT_VALUE) { + if (/^(string|number)$/.test(typeof this.defaultValue)) + return this.defaultValue; + + if (typeof this.defaultValue == 'object') { + // We want to return a COPY of the default value so that users can + // modify the array or object without changing the default value. + return JSON.parse(JSON.stringify(this.defaultValue)); + } + + return this.defaultValue; + } + + return this.currentValue; +}; + +/** + * Stop this preference manager from tracking storage changes. + * + * Call this if you're going to swap out one preference manager for another so + * that you don't get notified about irrelevant changes. + */ +lib.PreferenceManager.prototype.deactivate = function() { + if (!this.isActive_) + throw new Error('Not activated'); + + this.isActive_ = false; + this.storage.removeObserver(this.storageObserver_); +}; + +/** + * Start tracking storage changes. + * + * If you previously deactivated this preference manager, you can reactivate it + * with this method. You don't need to call this at initialization time, as + * it's automatically called as part of the constructor. + */ +lib.PreferenceManager.prototype.activate = function() { + if (this.isActive_) + throw new Error('Already activated'); + + this.isActive_ = true; + this.storage.addObserver(this.storageObserver_); +}; + +/** + * Read the backing storage for these preferences. + * + * You should do this once at initialization time to prime the local cache + * of preference values. The preference manager will monitor the backing + * storage for changes, so you should not need to call this more than once. + * + * This function recursively reads storage for all child preference managers as + * well. + * + * This function is asynchronous, if you need to read preference values, you + * *must* wait for the callback. + * + * @param {function()} opt_callback Optional function to invoke when the read + * has completed. + */ +lib.PreferenceManager.prototype.readStorage = function(opt_callback) { + var pendingChildren = 0; + + function onChildComplete() { + if (--pendingChildren == 0 && opt_callback) + opt_callback(); + } + + var keys = Object.keys(this.prefRecords_).map( + function(el) { return this.prefix + el }.bind(this)); + + if (this.trace) + console.log('Preferences read: ' + this.prefix); + + this.storage.getItems(keys, function(items) { + var prefixLength = this.prefix.length; + + for (var key in items) { + var value = items[key]; + var name = key.substr(prefixLength); + var needSync = (name in this.childLists_ && + (JSON.stringify(value) != + JSON.stringify(this.prefRecords_[name].currentValue))); + + this.prefRecords_[name].currentValue = value; + + if (needSync) { + pendingChildren++; + this.syncChildList(name, onChildComplete); + } + } + + if (pendingChildren == 0 && opt_callback) + setTimeout(opt_callback); + }.bind(this)); +}; + +/** + * Define a preference. + * + * This registers a name, default value, and onChange handler for a preference. + * + * @param {string} name The name of the preference. This will be prefixed by + * the prefix of this PreferenceManager before written to local storage. + * @param {string|number|boolean|Object|Array|null} value The default value of + * this preference. Anything that can be represented in JSON is a valid + * default value. + * @param {function(value, string, lib.PreferenceManager} opt_observer A + * function to invoke when the preference changes. It will receive the new + * value, the name of the preference, and a reference to the + * PreferenceManager as parameters. + */ +lib.PreferenceManager.prototype.definePreference = function( + name, value, opt_onChange) { + + var record = this.prefRecords_[name]; + if (record) { + this.changeDefault(name, value); + } else { + record = this.prefRecords_[name] = + new lib.PreferenceManager.Record(name, value); + } + + if (opt_onChange) + record.addObserver(opt_onChange); +}; + +/** + * Define multiple preferences with a single function call. + * + * @param {Array} defaults An array of 3-element arrays. Each three element + * array should contain the [key, value, onChange] parameters for a + * preference. + */ +lib.PreferenceManager.prototype.definePreferences = function(defaults) { + for (var i = 0; i < defaults.length; i++) { + this.definePreference(defaults[i][0], defaults[i][1], defaults[i][2]); + } +}; + +/** + * Define an ordered list of child preferences. + * + * Child preferences are different from just storing an array of JSON objects + * in that each child is an instance of a preference manager. This means you + * can observe changes to individual child preferences, and get some validation + * that you're not reading or writing to an undefined child preference value. + * + * @param {string} listName A name for the list of children. This must be + * unique in this preference manager. The listName will become a + * preference on this PreferenceManager used to store the ordered list of + * child ids. It is also used in get/add/remove operations to identify the + * list of children to operate on. + * @param {function} childFactory A function that will be used to generate + * instances of these children. The factory function will receive the + * parent lib.PreferenceManager object and a unique id for the new child + * preferences. + */ +lib.PreferenceManager.prototype.defineChildren = function( + listName, childFactory) { + + // Define a preference to hold the ordered list of child ids. + this.definePreference(listName, [], + this.onChildListChange_.bind(this, listName)); + this.childFactories_[listName] = childFactory; + this.childLists_[listName] = {}; +}; + +/** + * Register to observe preference changes. + * + * @param {Function} global A callback that will happen for every preference. + * Pass null if you don't need one. + * @param {Object} map A map of preference specific callbacks. Pass null if + * you don't need any. + */ +lib.PreferenceManager.prototype.addObservers = function(global, map) { + if (global && typeof global != 'function') + throw new Error('Invalid param: globals'); + + if (global) + this.globalObservers_.push(global); + + if (!map) + return; + + for (var name in map) { + if (!(name in this.prefRecords_)) + throw new Error('Unknown preference: ' + name); + + this.prefRecords_[name].addObserver(map[name]); + } +}; + +/** + * Dispatch the change observers for all known preferences. + * + * It may be useful to call this after readStorage completes, in order to + * get application state in sync with user preferences. + * + * This can be used if you've changed a preference manager out from under + * a live object, for example when switching to a different prefix. + */ +lib.PreferenceManager.prototype.notifyAll = function() { + for (var name in this.prefRecords_) { + this.notifyChange_(name); + } +}; + +/** + * Notify the change observers for a given preference. + * + * @param {string} name The name of the preference that changed. + */ +lib.PreferenceManager.prototype.notifyChange_ = function(name) { + var record = this.prefRecords_[name]; + if (!record) + throw new Error('Unknown preference: ' + name); + + var currentValue = record.get(); + + for (var i = 0; i < this.globalObservers_.length; i++) + this.globalObservers_[i](name, currentValue); + + for (var i = 0; i < record.observers.length; i++) { + record.observers[i](currentValue, name, this); + } +}; + +/** + * Create a new child PreferenceManager for the given child list. + * + * The optional hint parameter is an opaque prefix added to the auto-generated + * unique id for this child. Your child factory can parse out the prefix + * and use it. + * + * @param {string} listName The child list to create the new instance from. + * @param {string} opt_hint Optional hint to include in the child id. + * @param {string} opt_id Optional id to override the generated id. + */ +lib.PreferenceManager.prototype.createChild = function(listName, opt_hint, + opt_id) { + var ids = this.get(listName); + var id; + + if (opt_id) { + id = opt_id; + if (ids.indexOf(id) != -1) + throw new Error('Duplicate child: ' + listName + ': ' + id); + + } else { + // Pick a random, unique 4-digit hex identifier for the new profile. + while (!id || ids.indexOf(id) != -1) { + id = lib.f.randomInt(1, 0xffff).toString(16); + id = lib.f.zpad(id, 4); + if (opt_hint) + id = opt_hint + ':' + id; + } + } + + var childManager = this.childFactories_[listName](this, id); + childManager.trace = this.trace; + childManager.resetAll(); + + this.childLists_[listName][id] = childManager; + + ids.push(id); + this.set(listName, ids); + + return childManager; +}; + +/** + * Remove a child preferences instance. + * + * Removes a child preference manager and clears any preferences stored in it. + * + * @param {string} listName The name of the child list containing the child to + * remove. + * @param {string} id The child ID. + */ +lib.PreferenceManager.prototype.removeChild = function(listName, id) { + var prefs = this.getChild(listName, id); + prefs.resetAll(); + + var ids = this.get(listName); + var i = ids.indexOf(id); + if (i != -1) { + ids.splice(i, 1); + this.set(listName, ids); + } + + delete this.childLists_[listName][id]; +}; + +/** + * Return a child PreferenceManager instance for a given id. + * + * If the child list or child id is not known this will return the specified + * default value or throw an exception if no default value is provided. + * + * @param {string} listName The child list to look in. + * @param {string} id The child ID. + * @param {*} opt_default The optional default value to return if the child + * is not found. + */ +lib.PreferenceManager.prototype.getChild = function(listName, id, opt_default) { + if (!(listName in this.childLists_)) + throw new Error('Unknown child list: ' + listName); + + var childList = this.childLists_[listName]; + if (!(id in childList)) { + if (typeof opt_default == 'undefined') + throw new Error('Unknown "' + listName + '" child: ' + id); + + return opt_default; + } + + return childList[id]; +}; + +/** + * Calculate the difference between two lists of child ids. + * + * Given two arrays of child ids, this function will return an object + * with "added", "removed", and "common" properties. Each property is + * a map of child-id to `true`. For example, given... + * + * a = ['child-x', 'child-y'] + * b = ['child-y'] + * + * diffChildLists(a, b) => + * { added: { 'child-x': true }, removed: {}, common: { 'child-y': true } } + * + * The added/removed properties assume that `a` is the current list. + * + * @param {Array[string]} a The most recent list of child ids. + * @param {Array[string]} b An older list of child ids. + * @return {Object} An object with added/removed/common properties. + */ +lib.PreferenceManager.diffChildLists = function(a, b) { + var rv = { + added: {}, + removed: {}, + common: {}, + }; + + for (var i = 0; i < a.length; i++) { + if (b.indexOf(a[i]) != -1) { + rv.common[a[i]] = true; + } else { + rv.added[a[i]] = true; + } + } + + for (var i = 0; i < b.length; i++) { + if ((b[i] in rv.added) || (b[i] in rv.common)) + continue; + + rv.removed[b[i]] = true; + } + + return rv; +}; + +/** + * Synchronize a list of child PreferenceManagers instances with the current + * list stored in prefs. + * + * This will instantiate any missing managers and read current preference values + * from storage. Any active managers that no longer appear in preferences will + * be deleted. + * + * @param {string} listName The child list to synchronize. + * @param {function()} opt_callback Optional function to invoke when the sync + * is complete. + */ +lib.PreferenceManager.prototype.syncChildList = function( + listName, opt_callback) { + + var pendingChildren = 0; + function onChildStorage() { + if (--pendingChildren == 0 && opt_callback) + opt_callback(); + } + + // The list of child ids that we *should* have a manager for. + var currentIds = this.get(listName); + + // The known managers at the start of the sync. Any manager still in this + // list at the end should be discarded. + var oldIds = Object.keys(this.childLists_[listName]); + + var rv = lib.PreferenceManager.diffChildLists(currentIds, oldIds); + + for (var i = 0; i < currentIds.length; i++) { + var id = currentIds[i]; + + var managerIndex = oldIds.indexOf(id); + if (managerIndex >= 0) + oldIds.splice(managerIndex, 1); + + if (!this.childLists_[listName][id]) { + var childManager = this.childFactories_[listName](this, id); + if (!childManager) { + console.warn('Unable to restore child: ' + listName + ': ' + id); + continue; + } + + childManager.trace = this.trace; + this.childLists_[listName][id] = childManager; + pendingChildren++; + childManager.readStorage(onChildStorage); + } + } + + for (var i = 0; i < oldIds.length; i++) { + delete this.childLists_[listName][oldIds[i]]; + } + + if (!pendingChildren && opt_callback) + setTimeout(opt_callback); +}; + +/** + * Reset a preference to its default state. + * + * This will dispatch the onChange handler if the preference value actually + * changes. + * + * @param {string} name The preference to reset. + */ +lib.PreferenceManager.prototype.reset = function(name) { + var record = this.prefRecords_[name]; + if (!record) + throw new Error('Unknown preference: ' + name); + + this.storage.removeItem(this.prefix + name); + + if (record.currentValue !== this.DEFAULT_VALUE) { + record.currentValue = this.DEFAULT_VALUE; + this.notifyChange_(name); + } +}; + +/** + * Reset all preferences back to their default state. + */ +lib.PreferenceManager.prototype.resetAll = function() { + var changed = []; + + for (var listName in this.childLists_) { + var childList = this.childLists_[listName]; + for (var id in childList) { + childList[id].resetAll(); + } + } + + for (var name in this.prefRecords_) { + if (this.prefRecords_[name].currentValue !== this.DEFAULT_VALUE) { + this.prefRecords_[name].currentValue = this.DEFAULT_VALUE; + changed.push(name); + } + } + + var keys = Object.keys(this.prefRecords_).map(function(el) { + return this.prefix + el; + }.bind(this)); + + this.storage.removeItems(keys); + + changed.forEach(this.notifyChange_.bind(this)); +}; + +/** + * Return true if two values should be considered not-equal. + * + * If both values are the same scalar type and compare equal this function + * returns false (no difference), otherwise return true. + * + * This is used in places where we want to check if a preference has changed. + * Rather than take the time to compare complex values we just consider them + * to always be different. + * + * @param {*} a A value to compare. + * @param {*} b A value to compare. + */ +lib.PreferenceManager.prototype.diff = function(a, b) { + // If the types are different, or the type is not a simple primitive one. + if ((typeof a) !== (typeof b) || + !(/^(undefined|boolean|number|string)$/.test(typeof a))) { + return true; + } + + return a !== b; +}; + +/** + * Change the default value of a preference. + * + * This is useful when subclassing preference managers. + * + * The function does not alter the current value of the preference, unless + * it has the old default value. When that happens, the change observers + * will be notified. + * + * @param {string} name The name of the parameter to change. + * @param {*} newValue The new default value for the preference. + */ +lib.PreferenceManager.prototype.changeDefault = function(name, newValue) { + var record = this.prefRecords_[name]; + if (!record) + throw new Error('Unknown preference: ' + name); + + if (!this.diff(record.defaultValue, newValue)) { + // Default value hasn't changed. + return; + } + + if (record.currentValue !== this.DEFAULT_VALUE) { + // This pref has a specific value, just change the default and we're done. + record.defaultValue = newValue; + return; + } + + record.defaultValue = newValue; + + this.notifyChange_(name); +}; + +/** + * Change the default value of multiple preferences. + * + * @param {Object} map A map of name -> value pairs specifying the new default + * values. + */ +lib.PreferenceManager.prototype.changeDefaults = function(map) { + for (var key in map) { + this.changeDefault(key, map[key]); + } +}; + +/** + * Set a preference to a specific value. + * + * This will dispatch the onChange handler if the preference value actually + * changes. + * + * @param {string} key The preference to set. + * @param {*} value The value to set. Anything that can be represented in + * JSON is a valid value. + */ +lib.PreferenceManager.prototype.set = function(name, newValue) { + var record = this.prefRecords_[name]; + if (!record) + throw new Error('Unknown preference: ' + name); + + var oldValue = record.get(); + + if (!this.diff(oldValue, newValue)) + return; + + if (this.diff(record.defaultValue, newValue)) { + record.currentValue = newValue; + this.storage.setItem(this.prefix + name, newValue); + } else { + record.currentValue = this.DEFAULT_VALUE; + this.storage.removeItem(this.prefix + name); + } + + // We need to manually send out the notification on this instance. If we + // The storage event won't fire a notification because we've already changed + // the currentValue, so it won't see a difference. If we delayed changing + // currentValue until the storage event, a pref read immediately after a write + // would return the previous value. + // + // The notification is in a timeout so clients don't accidentally depend on + // a synchronous notification. + setTimeout(this.notifyChange_.bind(this, name), 0); +}; + +/** + * Get the value of a preference. + * + * @param {string} key The preference to get. + */ +lib.PreferenceManager.prototype.get = function(name) { + var record = this.prefRecords_[name]; + if (!record) + throw new Error('Unknown preference: ' + name); + + return record.get(); +}; + +/** + * Return all non-default preferences as a JSON object. + * + * This includes any nested preference managers as well. + */ +lib.PreferenceManager.prototype.exportAsJson = function() { + var rv = {}; + + for (var name in this.prefRecords_) { + if (name in this.childLists_) { + rv[name] = []; + var childIds = this.get(name); + for (var i = 0; i < childIds.length; i++) { + var id = childIds[i]; + rv[name].push({id: id, json: this.getChild(name, id).exportAsJson()}); + } + + } else { + var record = this.prefRecords_[name]; + if (record.currentValue != this.DEFAULT_VALUE) + rv[name] = record.currentValue; + } + } + + return rv; +}; + +/** + * Import a JSON blob of preferences previously generated with exportAsJson. + * + * This will create nested preference managers as well. + */ +lib.PreferenceManager.prototype.importFromJson = function(json) { + for (var name in json) { + if (name in this.childLists_) { + var childList = json[name]; + for (var i = 0; i < childList.length; i++) { + var id = childList[i].id; + + var childPrefManager = this.childLists_[name][id]; + if (!childPrefManager) + childPrefManager = this.createChild(name, null, id); + + childPrefManager.importFromJson(childList[i].json); + } + + } else { + this.set(name, json[name]); + } + } +}; + +/** + * Called when one of the child list preferences changes. + */ +lib.PreferenceManager.prototype.onChildListChange_ = function(listName) { + this.syncChildList(listName); +}; + +/** + * Called when a key in the storage changes. + */ +lib.PreferenceManager.prototype.onStorageChange_ = function(map) { + for (var key in map) { + if (this.prefix) { + if (key.lastIndexOf(this.prefix, 0) != 0) + continue; + } + + var name = key.substr(this.prefix.length); + + if (!(name in this.prefRecords_)) { + // Sometimes we'll get notified about prefs that are no longer defined. + continue; + } + + var record = this.prefRecords_[name]; + + var newValue = map[key].newValue; + var currentValue = record.currentValue; + if (currentValue === record.DEFAULT_VALUE) + currentValue = (void 0); + + if (this.diff(currentValue, newValue)) { + if (typeof newValue == 'undefined' || newValue === null) { + record.currentValue = record.DEFAULT_VALUE; + } else { + record.currentValue = newValue; + } + + this.notifyChange_(name); + } + } +}; +// SOURCE FILE: libdot/js/lib_resource.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +/** + * Storage for canned resources. + * + * These are usually non-JavaScript things that are collected during a build + * step and converted into a series of 'lib.resource.add(...)' calls. See + * the "@resource" directive from libdot/bin/concat.sh for the canonical use + * case. + * + * This is global storage, so you should prefix your resource names to avoid + * collisions. + */ +lib.resource = { + resources_: {} +}; + +/** + * Add a resource. + * + * @param {string} name A name for the resource. You should prefix this to + * avoid collisions with resources from a shared library. + * @param {string} type A mime type for the resource, or "raw" if not + * applicable. + * @param {*} data The value of the resource. + */ +lib.resource.add = function(name, type, data) { + lib.resource.resources_[name] = { + type: type, + name: name, + data: data + }; +}; + +/** + * Retrieve a resource record. + * + * The resource data is stored on the "data" property of the returned object. + * + * @param {string} name The name of the resource to get. + * @param {*} opt_defaultValue The optional value to return if the resource is + * not defined. + * @return {object} An object with "type", "name", and "data" properties. + */ +lib.resource.get = function(name, opt_defaultValue) { + if (!(name in lib.resource.resources_)) { + if (typeof opt_defaultValue == 'undefined') + throw 'Unknown resource: ' + name; + + return opt_defaultValue; + } + + return lib.resource.resources_[name]; +}; + +/** + * Retrieve resource data. + * + * @param {string} name The name of the resource to get. + * @param {*} opt_defaultValue The optional value to return if the resource is + * not defined. + * @return {*} The resource data. + */ +lib.resource.getData = function(name, opt_defaultValue) { + if (!(name in lib.resource.resources_)) { + if (typeof opt_defaultValue == 'undefined') + throw 'Unknown resource: ' + name; + + return opt_defaultValue; + } + + return lib.resource.resources_[name].data; +}; + +/** + * Retrieve resource as a data: url. + * + * @param {string} name The name of the resource to get. + * @param {*} opt_defaultValue The optional value to return if the resource is + * not defined. + * @return {*} A data: url encoded version of the resource. + */ +lib.resource.getDataUrl = function(name, opt_defaultValue) { + var resource = lib.resource.get(name, opt_defaultValue); + return 'data:' + resource.type + ',' + resource.data; +}; +// SOURCE FILE: libdot/js/lib_storage.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +/** + * Namespace for implementations of persistent, possibly cloud-backed + * storage. + */ +lib.Storage = new Object(); +// SOURCE FILE: libdot/js/lib_storage_chrome.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +/** + * chrome.storage based class with an async interface that is interchangeable + * with other lib.Storage.* implementations. + */ +lib.Storage.Chrome = function(storage) { + this.storage_ = storage; + this.observers_ = []; + + chrome.storage.onChanged.addListener(this.onChanged_.bind(this)); +}; + +/** + * Called by the storage implementation when the storage is modified. + */ +lib.Storage.Chrome.prototype.onChanged_ = function(changes, areaname) { + if (chrome.storage[areaname] != this.storage_) + return; + + for (var i = 0; i < this.observers_.length; i++) { + this.observers_[i](changes); + } +}; + +/** + * Register a function to observe storage changes. + * + * @param {function(map)} callback The function to invoke when the storage + * changes. + */ +lib.Storage.Chrome.prototype.addObserver = function(callback) { + this.observers_.push(callback); +}; + +/** + * Unregister a change observer. + * + * @param {function} observer A previously registered callback. + */ +lib.Storage.Chrome.prototype.removeObserver = function(callback) { + var i = this.observers_.indexOf(callback); + if (i != -1) + this.observers_.splice(i, 1); +}; + +/** + * Delete everything in this storage. + * + * @param {function(map)} callback The function to invoke when the delete + * has completed. + */ +lib.Storage.Chrome.prototype.clear = function(opt_callback) { + this.storage_.clear(); + + if (opt_callback) + setTimeout(opt_callback, 0); +}; + +/** + * Return the current value of a storage item. + * + * @param {string} key The key to look up. + * @param {function(value) callback The function to invoke when the value has + * been retrieved. + */ +lib.Storage.Chrome.prototype.getItem = function(key, callback) { + this.storage_.get(key, callback); +}; +/** + * Fetch the values of multiple storage items. + * + * @param {Array} keys The keys to look up. + * @param {function(map) callback The function to invoke when the values have + * been retrieved. + */ + +lib.Storage.Chrome.prototype.getItems = function(keys, callback) { + this.storage_.get(keys, callback); +}; + +/** + * Set a value in storage. + * + * @param {string} key The key for the value to be stored. + * @param {*} value The value to be stored. Anything that can be serialized + * with JSON is acceptable. + * @param {function()} opt_callback Optional function to invoke when the + * set is complete. You don't have to wait for the set to complete in order + * to read the value, since the local cache is updated synchronously. + */ +lib.Storage.Chrome.prototype.setItem = function(key, value, opt_callback) { + var obj = {}; + obj[key] = value; + this.storage_.set(obj, opt_callback); +}; + +/** + * Set multiple values in storage. + * + * @param {Object} map A map of key/values to set in storage. + * @param {function()} opt_callback Optional function to invoke when the + * set is complete. You don't have to wait for the set to complete in order + * to read the value, since the local cache is updated synchronously. + */ +lib.Storage.Chrome.prototype.setItems = function(obj, opt_callback) { + this.storage_.set(obj, opt_callback); +}; + +/** + * Remove an item from storage. + * + * @param {string} key The key to be removed. + * @param {function()} opt_callback Optional function to invoke when the + * remove is complete. You don't have to wait for the set to complete in + * order to read the value, since the local cache is updated synchronously. + */ +lib.Storage.Chrome.prototype.removeItem = function(key, opt_callback) { + this.storage_.remove(key, opt_callback); +}; + +/** + * Remove multiple items from storage. + * + * @param {Array} keys The keys to be removed. + * @param {function()} opt_callback Optional function to invoke when the + * remove is complete. You don't have to wait for the set to complete in + * order to read the value, since the local cache is updated synchronously. + */ +lib.Storage.Chrome.prototype.removeItems = function(keys, opt_callback) { + this.storage_.remove(keys, opt_callback); +}; +// SOURCE FILE: libdot/js/lib_storage_local.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +/** + * window.localStorage based class with an async interface that is + * interchangeable with other lib.Storage.* implementations. + */ +lib.Storage.Local = function() { + this.observers_ = []; + this.storage_ = window.localStorage; + window.addEventListener('storage', this.onStorage_.bind(this)); +}; + +/** + * Called by the storage implementation when the storage is modified. + */ +lib.Storage.Local.prototype.onStorage_ = function(e) { + if (e.storageArea != this.storage_) + return; + + // JS throws an exception if JSON.parse is given an empty string. So here we + // only parse if the value is truthy. This mean the empty string, undefined + // and null will not be parsed. + var prevValue = e.oldValue ? JSON.parse(e.oldValue) : e.oldValue; + var curValue = e.newValue ? JSON.parse(e.newValue) : e.newValue; + var o = {}; + o[e.key] = { + oldValue: prevValue, + newValue: curValue + }; + + for (var i = 0; i < this.observers_.length; i++) { + this.observers_[i](o); + } +}; + +/** + * Register a function to observe storage changes. + * + * @param {function(map)} callback The function to invoke when the storage + * changes. + */ +lib.Storage.Local.prototype.addObserver = function(callback) { + this.observers_.push(callback); +}; + +/** + * Unregister a change observer. + * + * @param {function} observer A previously registered callback. + */ +lib.Storage.Local.prototype.removeObserver = function(callback) { + var i = this.observers_.indexOf(callback); + if (i != -1) + this.observers_.splice(i, 1); +}; + +/** + * Delete everything in this storage. + * + * @param {function(map)} callback The function to invoke when the delete + * has completed. + */ +lib.Storage.Local.prototype.clear = function(opt_callback) { + this.storage_.clear(); + + if (opt_callback) + setTimeout(opt_callback, 0); +}; + +/** + * Return the current value of a storage item. + * + * @param {string} key The key to look up. + * @param {function(value) callback The function to invoke when the value has + * been retrieved. + */ +lib.Storage.Local.prototype.getItem = function(key, callback) { + var value = this.storage_.getItem(key); + + if (typeof value == 'string') { + try { + value = JSON.parse(value); + } catch (e) { + // If we can't parse the value, just return it unparsed. + } + } + + setTimeout(callback.bind(null, value), 0); +}; + +/** + * Fetch the values of multiple storage items. + * + * @param {Array} keys The keys to look up. + * @param {function(map) callback The function to invoke when the values have + * been retrieved. + */ +lib.Storage.Local.prototype.getItems = function(keys, callback) { + var rv = {}; + + for (var i = keys.length - 1; i >= 0; i--) { + var key = keys[i]; + var value = this.storage_.getItem(key); + if (typeof value == 'string') { + try { + rv[key] = JSON.parse(value); + } catch (e) { + // If we can't parse the value, just return it unparsed. + rv[key] = value; + } + } else { + keys.splice(i, 1); + } + } + + setTimeout(callback.bind(null, rv), 0); +}; + +/** + * Set a value in storage. + * + * @param {string} key The key for the value to be stored. + * @param {*} value The value to be stored. Anything that can be serialized + * with JSON is acceptable. + * @param {function()} opt_callback Optional function to invoke when the + * set is complete. You don't have to wait for the set to complete in order + * to read the value, since the local cache is updated synchronously. + */ +lib.Storage.Local.prototype.setItem = function(key, value, opt_callback) { + this.storage_.setItem(key, JSON.stringify(value)); + + if (opt_callback) + setTimeout(opt_callback, 0); +}; + +/** + * Set multiple values in storage. + * + * @param {Object} map A map of key/values to set in storage. + * @param {function()} opt_callback Optional function to invoke when the + * set is complete. You don't have to wait for the set to complete in order + * to read the value, since the local cache is updated synchronously. + */ +lib.Storage.Local.prototype.setItems = function(obj, opt_callback) { + for (var key in obj) { + this.storage_.setItem(key, JSON.stringify(obj[key])); + } + + if (opt_callback) + setTimeout(opt_callback, 0); +}; + +/** + * Remove an item from storage. + * + * @param {string} key The key to be removed. + * @param {function()} opt_callback Optional function to invoke when the + * remove is complete. You don't have to wait for the set to complete in + * order to read the value, since the local cache is updated synchronously. + */ +lib.Storage.Local.prototype.removeItem = function(key, opt_callback) { + this.storage_.removeItem(key); + + if (opt_callback) + setTimeout(opt_callback, 0); +}; + +/** + * Remove multiple items from storage. + * + * @param {Array} keys The keys to be removed. + * @param {function()} opt_callback Optional function to invoke when the + * remove is complete. You don't have to wait for the set to complete in + * order to read the value, since the local cache is updated synchronously. + */ +lib.Storage.Local.prototype.removeItems = function(ary, opt_callback) { + for (var i = 0; i < ary.length; i++) { + this.storage_.removeItem(ary[i]); + } + + if (opt_callback) + setTimeout(opt_callback, 0); +}; +// SOURCE FILE: libdot/js/lib_storage_memory.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +/** + * In-memory storage class with an async interface that is interchangeable with + * other lib.Storage.* implementations. + */ +lib.Storage.Memory = function() { + this.observers_ = []; + this.storage_ = {}; +}; + +/** + * Register a function to observe storage changes. + * + * @param {function(map)} callback The function to invoke when the storage + * changes. + */ +lib.Storage.Memory.prototype.addObserver = function(callback) { + this.observers_.push(callback); +}; + +/** + * Unregister a change observer. + * + * @param {function} observer A previously registered callback. + */ +lib.Storage.Memory.prototype.removeObserver = function(callback) { + var i = this.observers_.indexOf(callback); + if (i != -1) + this.observers_.splice(i, 1); +}; + +/** + * Delete everything in this storage. + * + * @param {function(map)} callback The function to invoke when the delete + * has completed. + */ +lib.Storage.Memory.prototype.clear = function(opt_callback) { + var e = {}; + for (var key in this.storage_) { + e[key] = {oldValue: this.storage_[key], newValue: (void 0)}; + } + + this.storage_ = {}; + + setTimeout(function() { + for (var i = 0; i < this.observers_.length; i++) { + this.observers_[i](e); + } + }.bind(this), 0); + + if (opt_callback) + setTimeout(opt_callback, 0); +}; + +/** + * Return the current value of a storage item. + * + * @param {string} key The key to look up. + * @param {function(value) callback The function to invoke when the value has + * been retrieved. + */ +lib.Storage.Memory.prototype.getItem = function(key, callback) { + var value = this.storage_[key]; + + if (typeof value == 'string') { + try { + value = JSON.parse(value); + } catch (e) { + // If we can't parse the value, just return it unparsed. + } + } + + setTimeout(callback.bind(null, value), 0); +}; + +/** + * Fetch the values of multiple storage items. + * + * @param {Array} keys The keys to look up. + * @param {function(map) callback The function to invoke when the values have + * been retrieved. + */ +lib.Storage.Memory.prototype.getItems = function(keys, callback) { + var rv = {}; + + for (var i = keys.length - 1; i >= 0; i--) { + var key = keys[i]; + var value = this.storage_[key]; + if (typeof value == 'string') { + try { + rv[key] = JSON.parse(value); + } catch (e) { + // If we can't parse the value, just return it unparsed. + rv[key] = value; + } + } else { + keys.splice(i, 1); + } + } + + setTimeout(callback.bind(null, rv), 0); +}; + +/** + * Set a value in storage. + * + * @param {string} key The key for the value to be stored. + * @param {*} value The value to be stored. Anything that can be serialized + * with JSON is acceptable. + * @param {function()} opt_callback Optional function to invoke when the + * set is complete. You don't have to wait for the set to complete in order + * to read the value, since the local cache is updated synchronously. + */ +lib.Storage.Memory.prototype.setItem = function(key, value, opt_callback) { + var oldValue = this.storage_[key]; + this.storage_[key] = JSON.stringify(value); + + var e = {}; + e[key] = {oldValue: oldValue, newValue: value}; + + setTimeout(function() { + for (var i = 0; i < this.observers_.length; i++) { + this.observers_[i](e); + } + }.bind(this), 0); + + if (opt_callback) + setTimeout(opt_callback, 0); +}; + +/** + * Set multiple values in storage. + * + * @param {Object} map A map of key/values to set in storage. + * @param {function()} opt_callback Optional function to invoke when the + * set is complete. You don't have to wait for the set to complete in order + * to read the value, since the local cache is updated synchronously. + */ +lib.Storage.Memory.prototype.setItems = function(obj, opt_callback) { + var e = {}; + + for (var key in obj) { + e[key] = {oldValue: this.storage_[key], newValue: obj[key]}; + this.storage_[key] = JSON.stringify(obj[key]); + } + + setTimeout(function() { + for (var i = 0; i < this.observers_.length; i++) { + this.observers_[i](e); + } + }.bind(this)); + + if (opt_callback) + setTimeout(opt_callback, 0); +}; + +/** + * Remove an item from storage. + * + * @param {string} key The key to be removed. + * @param {function()} opt_callback Optional function to invoke when the + * remove is complete. You don't have to wait for the set to complete in + * order to read the value, since the local cache is updated synchronously. + */ +lib.Storage.Memory.prototype.removeItem = function(key, opt_callback) { + delete this.storage_[key]; + + if (opt_callback) + setTimeout(opt_callback, 0); +}; + +/** + * Remove multiple items from storage. + * + * @param {Array} keys The keys to be removed. + * @param {function()} opt_callback Optional function to invoke when the + * remove is complete. You don't have to wait for the set to complete in + * order to read the value, since the local cache is updated synchronously. + */ +lib.Storage.Memory.prototype.removeItems = function(ary, opt_callback) { + for (var i = 0; i < ary.length; i++) { + delete this.storage_[ary[i]]; + } + + if (opt_callback) + setTimeout(opt_callback, 0); +}; +// SOURCE FILE: libdot/js/lib_test_manager.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +/** + * @fileoverview JavaScript unit testing framework for synchronous and + * asynchronous tests. + * + * This file contains the lib.TestManager and related classes. At the moment + * it's all collected in a single file since it's reasonably small + * (=~1k lines), and it's a lot easier to include one file into your test + * harness than it is to include seven. + * + * The following classes are defined... + * + * lib.TestManager - The root class and entrypoint for creating test runs. + * lib.TestManager.Log - Logging service. + * lib.TestManager.Suite - A collection of tests. + * lib.TestManager.Test - A single test. + * lib.TestManager.TestRun - Manages the execution of a set of tests. + * lib.TestManager.Result - A single test result. + */ + +/** + * Root object in the unit test hierarchy, and keeper of the log object. + * + * @param {lib.TestManager.Log} opt_log Optional lib.TestManager.Log object. + * Logs to the JavaScript console if omitted. + */ +lib.TestManager = function(opt_log) { + this.log = opt_log || new lib.TestManager.Log(); +} + +/** + * Create a new test run object for this test manager. + * + * @param {Object} opt_cx An object to be passed to test suite setup(), + * preamble(), and test cases during this test run. This object is opaque + * to lib.TestManager.* code. It's entirely up to the test suite what it's + * used for. + */ +lib.TestManager.prototype.createTestRun = function(opt_cx) { + return new lib.TestManager.TestRun(this, opt_cx); +}; + +/** + * Called when a test run associated with this test manager completes. + * + * Clients may override this to call an appropriate function. + */ +lib.TestManager.prototype.onTestRunComplete = function(testRun) {}; + +/** + * Called before a test associated with this test manager is run. + * + * @param {lib.TestManager.Result} result The result object for the upcoming + * test. + * @param {Object} cx The context object for a test run. + */ +lib.TestManager.prototype.testPreamble = function(result, cx) {}; + +/** + * Called after a test associated with this test manager finishes. + * + * @param {lib.TestManager.Result} result The result object for the finished + * test. + * @param {Object} cx The context object for a test run. + */ +lib.TestManager.prototype.testPostamble = function(result, cx) {}; + +/** + * Destination for test case output. + * + * Thw API will be the same as the console object. e.g. We support info(), + * warn(), error(), etc... just like console.info(), etc... + * + * @param {Object} opt_console The console object to route all logging through. + * Should provide saome API as the standard console API. + */ +lib.TestManager.Log = function(opt_console=console) { + this.save = false; + this.data = ''; + this.prefix_ = ''; + this.prefixStack_ = 0; + + // Capture all the console entry points in case code at runtime calls these + // directly. We want to be able to still see things. + // We also expose the direct API to our callers (e.g. we provide warn()). + this.console_ = opt_console; + ['log', 'debug', 'info', 'warn', 'error'].forEach((level) => { + let msgPrefix = ''; + switch (level) { + case 'debug': + case 'warn': + case 'error': + msgPrefix = level.toUpperCase() + ': '; + break; + } + + const oLog = this.console_[level]; + this[level] = this.console_[level] = (...args) => { + if (this.save) + this.data += this.prefix_ + msgPrefix + args.join(' ') + '\n'; + oLog.apply(this.console_, args); + }; + }); + + // Wrap/bind the group functions. + ['group', 'groupCollapsed'].forEach((group) => { + const oGroup = this.console_[group]; + this[group] = this.console_[group] = (label='') => { + oGroup(label); + if (this.save) + this.data += this.prefix_ + label + '\n'; + this.prefix_ = ' '.repeat(++this.prefixStack_); + }; + }); + + const oGroupEnd = this.console_.groupEnd; + this.groupEnd = this.console_.groupEnd = () => { + oGroupEnd(); + this.prefix_ = ' '.repeat(--this.prefixStack_); + }; +}; + +/** + * Returns a new constructor function that will inherit from + * lib.TestManager.Suite. + * + * Use this function to create a new test suite subclass. It will return a + * properly initialized constructor function for the subclass. You can then + * override the setup() and preamble() methods if necessary and add test cases + * to the subclass. + * + * var MyTests = new lib.TestManager.Suite('MyTests'); + * + * MyTests.prototype.setup = function(cx) { + * // Sets this.size to cx.size if it exists, or the default value of 10 + * // if not. + * this.setDefault(cx, {size: 10}); + * }; + * + * MyTests.prototype.preamble = function(result, cx) { + * // Some tests (even successful ones) may side-effect this list, so + * // recreate it before every test. + * this.list = []; + * for (var i = 0; i < this.size; i++) { + * this.list[i] = i; + * } + * }; + * + * // Basic synchronous test case. + * MyTests.addTest('pop-length', function(result, cx) { + * this.list.pop(); + * + * // If this assertion fails, the testcase will stop here. + * result.assertEQ(this.list.length, this.size - 1); + * + * // A test must indicate it has passed by calling this method. + * result.pass(); + * }); + * + * // Sample asynchronous test case. + * MyTests.addTest('async-pop-length', function(result, cx) { + * var self = this; + * + * var callback = function() { + * result.assertEQ(self.list.length, self.size - 1); + * result.pass(); + * }; + * + * // Wait 100ms to check the array length for the sake of this example. + * setTimeout(callback, 100); + * + * this.list.pop(); + * + * // Indicate that this test needs another 200ms to complete. + * // If the test does not report pass/fail by then, it is considered to + * // have timed out. + * result.requestTime(200); + * }); + * + * ... + * + * @param {string} suiteName The name of the test suite. + */ +lib.TestManager.Suite = function(suiteName) { + function ctor(testManager, cx) { + this.testManager_ = testManager; + this.suiteName = suiteName; + + this.setup(cx); + } + + ctor.suiteName = suiteName; + ctor.addTest = lib.TestManager.Suite.addTest; + ctor.disableTest = lib.TestManager.Suite.disableTest; + ctor.getTest = lib.TestManager.Suite.getTest; + ctor.getTestList = lib.TestManager.Suite.getTestList; + ctor.testList_ = []; + ctor.testMap_ = {}; + ctor.prototype = Object.create(lib.TestManager.Suite.prototype); + ctor.constructor = lib.TestManager.Suite; + + lib.TestManager.Suite.subclasses.push(ctor); + + return ctor; +}; + +/** + * List of lib.TestManager.Suite subclasses, in the order they were defined. + */ +lib.TestManager.Suite.subclasses = []; + +/** + * Add a test to a lib.TestManager.Suite. + * + * This method is copied to new subclasses when they are created. + */ +lib.TestManager.Suite.addTest = function(testName, testFunction) { + if (testName in this.testMap_) + throw 'Duplicate test name: ' + testName; + + var test = new lib.TestManager.Test(this, testName, testFunction); + this.testMap_[testName] = test; + this.testList_.push(test); +}; + +/** + * Defines a disabled test. + */ +lib.TestManager.Suite.disableTest = function(testName, testFunction) { + if (testName in this.testMap_) + throw 'Duplicate test name: ' + testName; + + var test = new lib.TestManager.Test(this, testName, testFunction); + console.log('Disabled test: ' + test.fullName); +}; + +/** + * Get a lib.TestManager.Test instance by name. + * + * This method is copied to new subclasses when they are created. + * + * @param {string} testName The name of the desired test. + * @return {lib.TestManager.Test} The requested test, or undefined if it was not + * found. + */ +lib.TestManager.Suite.getTest = function(testName) { + return this.testMap_[testName]; +}; + +/** + * Get an array of lib.TestManager.Tests associated with this Suite. + * + * This method is copied to new subclasses when they are created. + */ +lib.TestManager.Suite.getTestList = function() { + return this.testList_; +}; + +/** + * Set properties on a test suite instance, pulling the property value from + * the context if it exists and from the defaults dictionary if not. + * + * This is intended to be used in your test suite's setup() method to + * define parameters for the test suite which may be overridden through the + * context object. For example... + * + * MySuite.prototype.setup = function(cx) { + * this.setDefaults(cx, {size: 10}); + * }; + * + * If the context object has a 'size' property then this.size will be set to + * the value of cx.size, otherwise this.size will get a default value of 10. + * + * @param {Object} cx The context object for a test run. + * @param {Object} defaults An object containing name/value pairs to set on + * this test suite instance. The value listed here will be used if the + * name is not defined on the context object. + */ +lib.TestManager.Suite.prototype.setDefaults = function(cx, defaults) { + for (var k in defaults) { + this[k] = (k in cx) ? cx[k] : defaults[k]; + } +}; + +/** + * Subclassable method called to set up the test suite. + * + * The default implementation of this method is a no-op. If your test suite + * requires some kind of suite-wide setup, this is the place to do it. + * + * It's fine to store state on the test suite instance, that state will be + * accessible to all tests in the suite. If any test case fails, the entire + * test suite object will be discarded and a new one will be created for + * the remaining tests. + * + * Any side effects outside of this test suite instance must be idempotent. + * For example, if you're adding DOM nodes to a document, make sure to first + * test that they're not already there. If they are, remove them rather than + * reuse them. You should not count on their state, since they were probably + * left behind by a failed testcase. + * + * Any exception here will abort the remainder of the test run. + * + * @param {Object} cx The context object for a test run. + */ +lib.TestManager.Suite.prototype.setup = function(cx) {}; + +/** + * Subclassable method called to do pre-test set up. + * + * The default implementation of this method is a no-op. If your test suite + * requires some kind of pre-test setup, this is the place to do it. + * + * This can be used to avoid a bunch of boilerplate setup/teardown code in + * this suite's testcases. + * + * Any exception here will abort the remainder of the test run. + * + * @param {lib.TestManager.Result} result The result object for the upcoming + * test. + * @param {Object} cx The context object for a test run. + */ +lib.TestManager.Suite.prototype.preamble = function(result, cx) {}; + +/** + * Subclassable method called to do post-test tear-down. + * + * The default implementation of this method is a no-op. If your test suite + * requires some kind of pre-test setup, this is the place to do it. + * + * This can be used to avoid a bunch of boilerplate setup/teardown code in + * this suite's testcases. + * + * Any exception here will abort the remainder of the test run. + * + * @param {lib.TestManager.Result} result The result object for the finished + * test. + * @param {Object} cx The context object for a test run. + */ +lib.TestManager.Suite.prototype.postamble = function(result, cx) {}; + +/** + * Object representing a single test in a test suite. + * + * These are created as part of the lib.TestManager.Suite.addTest() method. + * You should never have to construct one by hand. + * + * @param {lib.TestManager.Suite} suiteClass The test suite class containing + * this test. + * @param {string} testName The local name of this test case, not including the + * test suite name. + * @param {function(lib.TestManager.Result, Object)} testFunction The function + * to invoke for this test case. This is passed a Result instance and the + * context object associated with the test run. + * + */ +lib.TestManager.Test = function(suiteClass, testName, testFunction) { + /** + * The test suite class containing this function. + */ + this.suiteClass = suiteClass; + + /** + * The local name of this test, not including the test suite name. + */ + this.testName = testName; + + /** + * The global name of this test, including the test suite name. + */ + this.fullName = suiteClass.suiteName + '[' + testName + ']'; + + // The function to call for this test. + this.testFunction_ = testFunction; +}; + +/** + * Execute this test. + * + * This is called by a lib.TestManager.Result instance, as part of a + * lib.TestManager.TestRun. You should not call it by hand. + * + * @param {lib.TestManager.Result} result The result object for the test. + */ +lib.TestManager.Test.prototype.run = function(result) { + try { + // Tests are applied to the parent lib.TestManager.Suite subclass. + this.testFunction_.apply(result.suite, + [result, result.testRun.cx]); + } catch (ex) { + if (ex instanceof lib.TestManager.Result.TestComplete) + return; + + result.println('Test raised an exception: ' + ex); + + if (ex.stack) { + if (ex.stack instanceof Array) { + result.println(ex.stack.join('\n')); + } else { + result.println(ex.stack); + } + } + + result.completeTest_(result.FAILED, false); + } +}; + +/** + * Used to choose a set of tests and run them. + * + * It's slightly more convenient to construct one of these from + * lib.TestManager.prototype.createTestRun(). + * + * @param {lib.TestManager} testManager The testManager associated with this + * TestRun. + * @param {Object} cx A context to be passed into the tests. This can be used + * to set parameters for the test suite or individual test cases. + */ +lib.TestManager.TestRun = function(testManager, cx) { + /** + * The associated lib.TestManager instance. + */ + this.testManager = testManager; + + /** + * Shortcut to the lib.TestManager's log. + */ + this.log = testManager.log; + + /** + * The test run context. It's entirely up to the test suite and test cases + * how this is used. It is opaque to lib.TestManager.* classes. + */ + this.cx = cx || {}; + + /** + * The list of test cases that encountered failures. + */ + this.failures = []; + + /** + * The list of test cases that passed. + */ + this.passes = []; + + /** + * The time the test run started, or null if it hasn't been started yet. + */ + this.startDate = null; + + /** + * The time in milliseconds that the test run took to complete, or null if + * it hasn't completed yet. + */ + this.duration = null; + + /** + * The most recent result object, or null if the test run hasn't started + * yet. In order to detect late failures, this is not cleared when the test + * completes. + */ + this.currentResult = null; + + /** + * Number of maximum failures. The test run will stop when this number is + * reached. If 0 or omitted, the entire set of selected tests is run, even + * if some fail. + */ + this.maxFailures = 0; + + /** + * True if this test run ended early because of an unexpected condition. + */ + this.panic = false; + + // List of pending test cases. + this.testQueue_ = []; + +}; + +/** + * This value can be passed to select() to indicate that all tests should + * be selected. + */ +lib.TestManager.TestRun.prototype.ALL_TESTS = lib.f.createEnum(''); + +/** + * Add a single test to the test run. + */ +lib.TestManager.TestRun.prototype.selectTest = function(test) { + this.testQueue_.push(test); +}; + +lib.TestManager.TestRun.prototype.selectSuite = function( + suiteClass, opt_pattern) { + var pattern = opt_pattern || this.ALL_TESTS; + var selectCount = 0; + var testList = suiteClass.getTestList(); + + for (var j = 0; j < testList.length; j++) { + var test = testList[j]; + // Note that we're using "!==" rather than "!=" so that we're matching + // the ALL_TESTS String object, rather than the contents of the string. + if (pattern !== this.ALL_TESTS) { + if (pattern instanceof RegExp) { + if (!pattern.test(test.testName)) + continue; + } else if (test.testName != pattern) { + continue; + } + } + + this.selectTest(test); + selectCount++; + } + + return selectCount; +}; + +/** + * Selects one or more tests to gather results for. + * + * Selecting the same test more than once is allowed. + * + * @param {string|RegExp} pattern Pattern used to select tests. + * If TestRun.prototype.ALL_TESTS, all tests are selected. + * If a string, only the test that exactly matches is selected. + * If a RegExp, only tests matching the RegExp are added. + * + * @return {int} The number of additional tests that have been selected into + * this TestRun. + */ +lib.TestManager.TestRun.prototype.selectPattern = function(pattern) { + var selectCount = 0; + + for (var i = 0; i < lib.TestManager.Suite.subclasses.length; i++) { + selectCount += this.selectSuite(lib.TestManager.Suite.subclasses[i], + pattern); + } + + if (!selectCount) { + this.log.warn('No tests matched selection criteria: ' + pattern); + } + + return selectCount; +}; + +/** + * Hooked up to window.onerror during a test run in order to catch exceptions + * that would otherwise go uncaught. + */ +lib.TestManager.TestRun.prototype.onUncaughtException_ = function( + message, file, line) { + + if (message.indexOf('Uncaught lib.TestManager.Result.TestComplete') == 0 || + message.indexOf('status: passed') != -1) { + // This is a result.pass() or result.fail() call from a callback. We're + // already going to deal with it as part of the completeTest_() call + // that raised it. We can safely squelch this error message. + return true; + } + + if (!this.currentResult) + return; + + if (message == 'Uncaught ' + this.currentResult.expectedErrorMessage_) { + // Test cases may need to raise an unhandled exception as part of the test. + return; + } + + var when = 'during'; + + if (this.currentResult.status != this.currentResult.PENDING) + when = 'after'; + + this.log.error('Uncaught exception ' + when + ' test case: ' + + this.currentResult.test.fullName); + this.log.error(message + ', ' + file + ':' + line); + + this.currentResult.completeTest_(this.currentResult.FAILED, false); + + return false; +}; + +/** + * Called to when this test run has completed. + * + * This method typically re-runs itself asynchronously, in order to let the + * DOM stabilize and short-term timeouts to complete before declaring the + * test run complete. + * + * @param {boolean} opt_skipTimeout If true, the timeout is skipped and the + * test run is completed immediately. This should only be used from within + * this function. + */ +lib.TestManager.TestRun.prototype.onTestRunComplete_ = function( + opt_skipTimeout) { + if (!opt_skipTimeout) { + // The final test may have left a lingering setTimeout(..., 0), or maybe + // poked at the DOM in a way that will trigger a event to fire at the end + // of this stack, so we give things a chance to settle down before our + // final cleanup... + setTimeout(this.onTestRunComplete_.bind(this), 0, true); + return; + } + + this.duration = (new Date()) - this.startDate; + + this.log.groupEnd(); + this.log.info(this.passes.length + ' passed, ' + + this.failures.length + ' failed, ' + + this.msToSeconds_(this.duration)); + + this.summarize(); + + window.onerror = null; + + this.testManager.onTestRunComplete(this); +}; + +/** + * Called by the lib.TestManager.Result object when a test completes. + * + * @param {lib.TestManager.Result} result The result object which has just + * completed. + */ +lib.TestManager.TestRun.prototype.onResultComplete = function(result) { + try { + this.testManager.testPostamble(result, this.cx); + result.suite.postamble(result, this.ctx); + } catch (ex) { + this.log.error('Unexpected exception in postamble: ' + + (ex.stack ? ex.stack : ex)); + this.panic = true; + } + + if (result.status != result.PASSED) + this.log.error(result.status); + else if (result.duration > 500) + this.log.warn('Slow test took ' + this.msToSeconds_(result.duration)); + this.log.groupEnd(); + + if (result.status == result.FAILED) { + this.failures.push(result); + this.currentSuite = null; + } else if (result.status == result.PASSED) { + this.passes.push(result); + } else { + this.log.error('Unknown result status: ' + result.test.fullName + ': ' + + result.status); + return this.panic = true; + } + + this.runNextTest_(); +}; + +/** + * Called by the lib.TestManager.Result object when a test which has already + * completed reports another completion. + * + * This is usually indicative of a buggy testcase. It is probably reporting a + * result on exit and then again from an asynchronous callback. + * + * It may also be the case that the last act of the testcase causes a DOM change + * which triggers some event to run after the test returns. If the event + * handler reports a failure or raises an uncaught exception, the test will + * fail even though it has already completed. + * + * In any case, re-completing a test ALWAYS moves it into the failure pile. + * + * @param {lib.TestManager.Result} result The result object which has just + * completed. + * @param {string} lateStatus The status that the test attempted to record this + * time around. + */ +lib.TestManager.TestRun.prototype.onResultReComplete = function( + result, lateStatus) { + this.log.error('Late complete for test: ' + result.test.fullName + ': ' + + lateStatus); + + // Consider any late completion a failure, even if it's a double-pass, since + // it's a misuse of the testing API. + var index = this.passes.indexOf(result); + if (index >= 0) { + this.passes.splice(index, 1); + this.failures.push(result); + } +}; + +/** + * Run the next test in the queue. + */ +lib.TestManager.TestRun.prototype.runNextTest_ = function() { + if (this.panic || !this.testQueue_.length) + return this.onTestRunComplete_(); + + if (this.maxFailures && this.failures.length >= this.maxFailures) { + this.log.error('Maximum failure count reached, aborting test run.'); + return this.onTestRunComplete_(); + } + + // Peek at the top test first. We remove it later just before it's about + // to run, so that we don't disturb the incomplete test count in the + // event that we fail before running it. + var test = this.testQueue_[0]; + var suite = this.currentResult ? this.currentResult.suite : null; + + try { + if (!suite || !(suite instanceof test.suiteClass)) { + if (suite) + this.log.groupEnd(); + this.log.group(test.suiteClass.suiteName); + suite = new test.suiteClass(this.testManager, this.cx); + } + } catch (ex) { + // If test suite setup fails we're not even going to try to run the tests. + this.log.error('Exception during setup: ' + (ex.stack ? ex.stack : ex)); + this.panic = true; + this.onTestRunComplete_(); + return; + } + + try { + this.log.group(test.testName); + + this.currentResult = new lib.TestManager.Result(this, suite, test); + this.testManager.testPreamble(this.currentResult, this.cx); + suite.preamble(this.currentResult, this.cx); + + this.testQueue_.shift(); + } catch (ex) { + this.log.error('Unexpected exception during test preamble: ' + + (ex.stack ? ex.stack : ex)); + this.log.groupEnd(); + + this.panic = true; + this.onTestRunComplete_(); + return; + } + + try { + this.currentResult.run(); + } catch (ex) { + // Result.run() should catch test exceptions and turn them into failures. + // If we got here, it means there is trouble in the testing framework. + this.log.error('Unexpected exception during test run: ' + + (ex.stack ? ex.stack : ex)); + this.panic = true; + } +}; + +/** + * Run the selected list of tests. + * + * Some tests may need to run asynchronously, so you cannot assume the run is + * complete when this function returns. Instead, pass in a function to be + * called back when the run has completed. + * + * This function will log the results of the test run as they happen into the + * log defined by the associated lib.TestManager. By default this is + * console.log, which can be viewed in the JavaScript console of most browsers. + * + * The browser state is determined by the last test to run. We intentionally + * don't do any cleanup so that you can inspect the state of a failed test, or + * leave the browser ready for manual testing. + * + * Any failures in lib.TestManager.* code or test suite setup or test case + * preamble will cause the test run to abort. + */ +lib.TestManager.TestRun.prototype.run = function() { + this.log.info('Running ' + this.testQueue_.length + ' test(s)'); + + window.onerror = this.onUncaughtException_.bind(this); + this.startDate = new Date(); + this.runNextTest_(); +}; + +/** + * Format milliseconds as fractional seconds. + */ +lib.TestManager.TestRun.prototype.msToSeconds_ = function(ms) { + var secs = (ms / 1000).toFixed(2); + return secs + 's'; +}; + +/** + * Log the current result summary. + */ +lib.TestManager.TestRun.prototype.summarize = function() { + if (this.failures.length) { + for (var i = 0; i < this.failures.length; i++) { + this.log.error('FAILED: ' + this.failures[i].test.fullName); + } + } + + if (this.testQueue_.length) { + this.log.warn('Test run incomplete: ' + this.testQueue_.length + + ' test(s) were not run.'); + } +}; + +/** + * Record of the result of a single test. + * + * These are constructed during a test run, you shouldn't have to make one + * on your own. + * + * An instance of this class is passed in to each test function. It can be + * used to add messages to the test log, to record a test pass/fail state, to + * test assertions, or to create exception-proof wrappers for callback + * functions. + * + * @param {lib.TestManager.TestRun} testRun The TestRun instance associated with + * this result. + * @param {lib.TestManager.Suit} suite The Suite containing the test we're + * collecting this result for. + * @param {lib.TestManager.Test} test The test we're collecting this result for. + */ +lib.TestManager.Result = function(testRun, suite, test) { + /** + * The TestRun instance associated with this result. + */ + this.testRun = testRun; + + /** + * The Suite containing the test we're collecting this result for. + */ + this.suite = suite; + + /** + * The test we're collecting this result for. + */ + this.test = test; + + /** + * The time we started to collect this result, or null if we haven't started. + */ + this.startDate = null; + + /** + * The time in milliseconds that the test took to complete, or null if + * it hasn't completed yet. + */ + this.duration = null; + + /** + * The current status of this test result. + */ + this.status = this.PENDING; + + // An error message that the test case is expected to generate. + this.expectedErrorMessage_ = null; +}; + +/** + * Possible values for this.status. + */ +lib.TestManager.Result.prototype.PENDING = 'pending'; +lib.TestManager.Result.prototype.FAILED = 'FAILED'; +lib.TestManager.Result.prototype.PASSED = 'passed'; + +/** + * Exception thrown when a test completes (pass or fail), to ensure no more of + * the test is run. + */ +lib.TestManager.Result.TestComplete = function(result) { + this.result = result; +}; + +lib.TestManager.Result.TestComplete.prototype.toString = function() { + return 'lib.TestManager.Result.TestComplete: ' + this.result.test.fullName + + ', status: ' + this.result.status; +} + +/** + * Start the test associated with this result. + */ +lib.TestManager.Result.prototype.run = function() { + var self = this; + + this.startDate = new Date(); + this.test.run(this); + + if (this.status == this.PENDING && !this.timeout_) { + this.println('Test did not return a value and did not request more time.'); + this.completeTest_(this.FAILED, false); + } +}; + +/** + * Unhandled error message this test expects to generate. + * + * This must be the exact string that would appear in the JavaScript console, + * minus the 'Uncaught ' prefix. + * + * The test case does *not* automatically fail if the error message is not + * encountered. + */ +lib.TestManager.Result.prototype.expectErrorMessage = function(str) { + this.expectedErrorMessage_ = str; +}; + +/** + * Function called when a test times out. + */ +lib.TestManager.Result.prototype.onTimeout_ = function() { + this.timeout_ = null; + + if (this.status != this.PENDING) + return; + + this.println('Test timed out.'); + this.completeTest_(this.FAILED, false); +}; + +/** + * Indicate that a test case needs more time to complete. + * + * Before a test case returns it must report a pass/fail result, or request more + * time to do so. + * + * If a test does not report pass/fail before the time expires it will + * be reported as a timeout failure. Any late pass/fails will be noted in the + * test log, but will not affect the final result of the test. + * + * Test cases may call requestTime more than once. If you have a few layers + * of asynchronous API to go through, you should call this once per layer with + * an estimate of how long each callback will take to complete. + * + * @param {int} ms Number of milliseconds requested. + */ +lib.TestManager.Result.prototype.requestTime = function(ms) { + if (this.timeout_) + clearTimeout(this.timeout_); + + this.timeout_ = setTimeout(this.onTimeout_.bind(this), ms); +}; + +/** + * Report the completion of a test. + * + * @param {string} status The status of the test case. + * @param {boolean} opt_throw Optional boolean indicating whether or not + * to throw the TestComplete exception. + */ +lib.TestManager.Result.prototype.completeTest_ = function(status, opt_throw) { + if (this.status == this.PENDING) { + this.duration = (new Date()) - this.startDate; + this.status = status; + + this.testRun.onResultComplete(this); + } else { + this.testRun.onResultReComplete(this, status); + } + + if (arguments.length < 2 || opt_throw) + throw new lib.TestManager.Result.TestComplete(this); +}; + +/** + * Check that two arrays are equal. + */ +lib.TestManager.Result.prototype.arrayEQ_ = function(actual, expected) { + if (!actual || !expected) + return (!actual && !expected); + + if (actual.length != expected.length) + return false; + + for (var i = 0; i < actual.length; ++i) + if (actual[i] != expected[i]) + return false; + + return true; +}; + +/** + * Assert that an actual value is exactly equal to the expected value. + * + * This uses the JavaScript '===' operator in order to avoid type coercion. + * + * If the assertion fails, the test is marked as a failure and a TestCompleted + * exception is thrown. + * + * @param {*} actual The actual measured value. + * @param {*} expected The value expected. + * @param {string} opt_name An optional name used to identify this + * assertion in the test log. If omitted it will be the file:line + * of the caller. + */ +lib.TestManager.Result.prototype.assertEQ = function( + actual, expected, opt_name) { + // Utility function to pretty up the log. + function format(value) { + if (typeof value == 'number') + return value; + + var str = String(value); + var ary = str.split('\n').map(function (e) { return JSON.stringify(e) }); + if (ary.length > 1) { + // If the string has newlines, start it off on its own line so that + // it's easier to compare against another string with newlines. + return '\n' + ary.join('\n'); + } else { + return ary.join('\n'); + } + } + + if (actual === expected) + return; + + // Deal with common object types since JavaScript can't. + if (expected instanceof Array) + if (this.arrayEQ_(actual, expected)) + return; + + var name = opt_name ? '[' + opt_name + ']' : ''; + + this.fail('assertEQ' + name + ': ' + this.getCallerLocation_(1) + ': ' + + format(actual) + ' !== ' + format(expected)); +}; + +/** + * Assert that a value is true. + * + * This uses the JavaScript '===' operator in order to avoid type coercion. + * The must be the boolean value `true`, not just some "truish" value. + * + * If the assertion fails, the test is marked as a failure and a TestCompleted + * exception is thrown. + * + * @param {boolean} actual The actual measured value. + * @param {string} opt_name An optional name used to identify this + * assertion in the test log. If omitted it will be the file:line + * of the caller. + */ +lib.TestManager.Result.prototype.assert = function(actual, opt_name) { + if (actual === true) + return; + + var name = opt_name ? '[' + opt_name + ']' : ''; + + this.fail('assert' + name + ': ' + this.getCallerLocation_(1) + ': ' + + String(actual)); +}; + +/** + * Return the filename:line of a calling stack frame. + * + * This uses a dirty hack. It throws an exception, catches it, and examines + * the stack property of the caught exception. + * + * @param {int} frameIndex The stack frame to return. 0 is the frame that + * called this method, 1 is its caller, and so on. + * @return {string} A string of the format "filename:linenumber". + */ +lib.TestManager.Result.prototype.getCallerLocation_ = function(frameIndex) { + try { + throw new Error(); + } catch (ex) { + var frame = ex.stack.split('\n')[frameIndex + 2]; + var ary = frame.match(/([^/]+:\d+):\d+\)?$/); + return ary ? ary[1] : '???'; + } +}; + +/** + * Write a message to the result log. + */ +lib.TestManager.Result.prototype.println = function(message) { + this.testRun.log.info(message); +}; + +/** + * Mark a failed test and exit out of the rest of the test. + * + * This will throw a TestCompleted exception, causing the current test to stop. + * + * @param {string} opt_message Optional message to add to the log. + */ +lib.TestManager.Result.prototype.fail = function(opt_message) { + if (arguments.length) + this.println(opt_message); + + this.completeTest_(this.FAILED, true); +}; + +/** + * Mark a passed test and exit out of the rest of the test. + * + * This will throw a TestCompleted exception, causing the current test to stop. + */ +lib.TestManager.Result.prototype.pass = function() { + this.completeTest_(this.PASSED, true); +}; +// SOURCE FILE: libdot/js/lib_utf8.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +// TODO(davidben): When the string encoding API is implemented, +// replace this with the native in-browser implementation. +// +// https://wiki.whatwg.org/wiki/StringEncoding +// https://encoding.spec.whatwg.org/ + +/** + * A stateful UTF-8 decoder. + */ +lib.UTF8Decoder = function() { + // The number of bytes left in the current sequence. + this.bytesLeft = 0; + // The in-progress code point being decoded, if bytesLeft > 0. + this.codePoint = 0; + // The lower bound on the final code point, if bytesLeft > 0. + this.lowerBound = 0; +}; + +/** + * Decodes a some UTF-8 data, taking into account state from previous + * data streamed through the encoder. + * + * @param {String} str data to decode, represented as a JavaScript + * String with each code unit representing a byte between 0x00 to + * 0xFF. + * @return {String} The data decoded into a JavaScript UTF-16 string. + */ +lib.UTF8Decoder.prototype.decode = function(str) { + var ret = ''; + for (var i = 0; i < str.length; i++) { + var c = str.charCodeAt(i); + if (this.bytesLeft == 0) { + if (c <= 0x7F) { + ret += str.charAt(i); + } else if (0xC0 <= c && c <= 0xDF) { + this.codePoint = c - 0xC0; + this.bytesLeft = 1; + this.lowerBound = 0x80; + } else if (0xE0 <= c && c <= 0xEF) { + this.codePoint = c - 0xE0; + this.bytesLeft = 2; + this.lowerBound = 0x800; + } else if (0xF0 <= c && c <= 0xF7) { + this.codePoint = c - 0xF0; + this.bytesLeft = 3; + this.lowerBound = 0x10000; + } else if (0xF8 <= c && c <= 0xFB) { + this.codePoint = c - 0xF8; + this.bytesLeft = 4; + this.lowerBound = 0x200000; + } else if (0xFC <= c && c <= 0xFD) { + this.codePoint = c - 0xFC; + this.bytesLeft = 5; + this.lowerBound = 0x4000000; + } else { + ret += '\ufffd'; + } + } else { + if (0x80 <= c && c <= 0xBF) { + this.bytesLeft--; + this.codePoint = (this.codePoint << 6) + (c - 0x80); + if (this.bytesLeft == 0) { + // Got a full sequence. Check if it's within bounds and + // filter out surrogate pairs. + var codePoint = this.codePoint; + if (codePoint < this.lowerBound + || (0xD800 <= codePoint && codePoint <= 0xDFFF) + || codePoint > 0x10FFFF) { + ret += '\ufffd'; + } else { + // Encode as UTF-16 in the output. + if (codePoint < 0x10000) { + ret += String.fromCharCode(codePoint); + } else { + // Surrogate pair. + codePoint -= 0x10000; + ret += String.fromCharCode( + 0xD800 + ((codePoint >>> 10) & 0x3FF), + 0xDC00 + (codePoint & 0x3FF)); + } + } + } + } else { + // Too few bytes in multi-byte sequence. Rewind stream so we + // don't lose the next byte. + ret += '\ufffd'; + this.bytesLeft = 0; + i--; + } + } + } + return ret; +}; + +/** + * Decodes UTF-8 data. This is a convenience function for when all the + * data is already known. + * + * @param {String} str data to decode, represented as a JavaScript + * String with each code unit representing a byte between 0x00 to + * 0xFF. + * @return {String} The data decoded into a JavaScript UTF-16 string. + */ +lib.decodeUTF8 = function(utf8) { + return (new lib.UTF8Decoder()).decode(utf8); +}; + +/** + * Encodes a UTF-16 string into UTF-8. + * + * TODO(davidben): Do we need a stateful version of this that can + * handle a surrogate pair split in two calls? What happens if a + * keypress event would have contained a character outside the BMP? + * + * @param {String} str The string to encode. + * @return {String} The string encoded as UTF-8, as a JavaScript + * string with bytes represented as code units from 0x00 to 0xFF. + */ +lib.encodeUTF8 = function(str) { + var ret = ''; + for (var i = 0; i < str.length; i++) { + // Get a unicode code point out of str. + var c = str.charCodeAt(i); + if (0xDC00 <= c && c <= 0xDFFF) { + c = 0xFFFD; + } else if (0xD800 <= c && c <= 0xDBFF) { + if (i+1 < str.length) { + var d = str.charCodeAt(i+1); + if (0xDC00 <= d && d <= 0xDFFF) { + // Swallow a surrogate pair. + c = 0x10000 + ((c & 0x3FF) << 10) + (d & 0x3FF); + i++; + } else { + c = 0xFFFD; + } + } else { + c = 0xFFFD; + } + } + + // Encode c in UTF-8. + var bytesLeft; + if (c <= 0x7F) { + ret += str.charAt(i); + continue; + } else if (c <= 0x7FF) { + ret += String.fromCharCode(0xC0 | (c >>> 6)); + bytesLeft = 1; + } else if (c <= 0xFFFF) { + ret += String.fromCharCode(0xE0 | (c >>> 12)); + bytesLeft = 2; + } else /* if (c <= 0x10FFFF) */ { + ret += String.fromCharCode(0xF0 | (c >>> 18)); + bytesLeft = 3; + } + + while (bytesLeft > 0) { + bytesLeft--; + ret += String.fromCharCode(0x80 | ((c >>> (6 * bytesLeft)) & 0x3F)); + } + } + return ret; +}; +// SOURCE FILE: libdot/third_party/wcwidth/lib_wc.js +// Copyright (c) 2014 The Chromium OS Authors. All rights reserved. +// Use of lib.wc source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +/** + * This JavaScript library is ported from the wcwidth.js module of node.js. + * The original implementation can be found at: + * https://npmjs.org/package/wcwidth.js + */ + +/** + * JavaScript porting of Markus Kuhn's wcwidth() implementation + * + * The following explanation comes from the original C implementation: + * + * This is an implementation of wcwidth() and wcswidth() (defined in + * IEEE Std 1002.1-2001) for Unicode. + * + * http://www.opengroup.org/onlinepubs/007904975/functions/wcwidth.html + * http://www.opengroup.org/onlinepubs/007904975/functions/wcswidth.html + * + * In fixed-width output devices, Latin characters all occupy a single + * "cell" position of equal width, whereas ideographic CJK characters + * occupy two such cells. Interoperability between terminal-line + * applications and (teletype-style) character terminals using the + * UTF-8 encoding requires agreement on which character should advance + * the cursor by how many cell positions. No established formal + * standards exist at present on which Unicode character shall occupy + * how many cell positions on character terminals. These routines are + * a first attempt of defining such behavior based on simple rules + * applied to data provided by the Unicode Consortium. + * + * For some graphical characters, the Unicode standard explicitly + * defines a character-cell width via the definition of the East Asian + * FullWidth (F), Wide (W), Half-width (H), and Narrow (Na) classes. + * In all these cases, there is no ambiguity about which width a + * terminal shall use. For characters in the East Asian Ambiguous (A) + * class, the width choice depends purely on a preference of backward + * compatibility with either historic CJK or Western practice. + * Choosing single-width for these characters is easy to justify as + * the appropriate long-term solution, as the CJK practice of + * displaying these characters as double-width comes from historic + * implementation simplicity (8-bit encoded characters were displayed + * single-width and 16-bit ones double-width, even for Greek, + * Cyrillic, etc.) and not any typographic considerations. + * + * Much less clear is the choice of width for the Not East Asian + * (Neutral) class. Existing practice does not dictate a width for any + * of these characters. It would nevertheless make sense + * typographically to allocate two character cells to characters such + * as for instance EM SPACE or VOLUME INTEGRAL, which cannot be + * represented adequately with a single-width glyph. The following + * routines at present merely assign a single-cell width to all + * neutral characters, in the interest of simplicity. This is not + * entirely satisfactory and should be reconsidered before + * establishing a formal standard in lib.wc area. At the moment, the + * decision which Not East Asian (Neutral) characters should be + * represented by double-width glyphs cannot yet be answered by + * applying a simple rule from the Unicode database content. Setting + * up a proper standard for the behavior of UTF-8 character terminals + * will require a careful analysis not only of each Unicode character, + * but also of each presentation form, something the author of these + * routines has avoided to do so far. + * + * http://www.unicode.org/unicode/reports/tr11/ + * + * Markus Kuhn -- 2007-05-26 (Unicode 5.0) + * + * Permission to use, copy, modify, and distribute lib.wc software + * for any purpose and without fee is hereby granted. The author + * disclaims all warranties with regard to lib.wc software. + * + * Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c + */ + +/** + * The following function defines the column width of an ISO 10646 character + * as follows: + * + * - The null character (U+0000) has a column width of 0. + * - Other C0/C1 control characters and DEL will lead to a return value of -1. + * - Non-spacing and enclosing combining characters (general category code Mn + * or Me in the Unicode database) have a column width of 0. + * - SOFT HYPHEN (U+00AD) has a column width of 1. + * - Other format characters (general category code Cf in the Unicode database) + * and ZERO WIDTH SPACE (U+200B) have a column width of 0. + * - Hangul Jamo medial vowels and final consonants (U+1160-U+11FF) have a + * column width of 0. + * - Spacing characters in the East Asian Wide (W) or East Asian Full-width (F) + * category as defined in Unicode Technical Report #11 have a column width of + * 2. + * - East Asian Ambiguous characters are taken into account if + * regardCjkAmbiguous flag is enabled. They have a column width of 2. + * - All remaining characters (including all printable ISO 8859-1 and WGL4 + * characters, Unicode control characters, etc.) have a column width of 1. + * + * This implementation assumes that characters are encoded in ISO 10646. + */ + +lib.wc = {}; + +// Width of a nul character. +lib.wc.nulWidth = 0; + +// Width of a control character. +lib.wc.controlWidth = 0; + +// Flag whether to consider East Asian Ambiguous characters. +lib.wc.regardCjkAmbiguous = false; + +// Width of an East Asian Ambiguous character. +lib.wc.cjkAmbiguousWidth = 2; + +// Sorted list of non-overlapping intervals of non-spacing characters +// generated by "uniset +cat=Me +cat=Mn +cat=Cf -00AD +1160-11FF +200B c" +lib.wc.combining = [ + [ 0x0300, 0x036F ], [ 0x0483, 0x0486 ], [ 0x0488, 0x0489 ], + [ 0x0591, 0x05BD ], [ 0x05BF, 0x05BF ], [ 0x05C1, 0x05C2 ], + [ 0x05C4, 0x05C5 ], [ 0x05C7, 0x05C7 ], [ 0x0600, 0x0603 ], + [ 0x0610, 0x0615 ], [ 0x064B, 0x065E ], [ 0x0670, 0x0670 ], + [ 0x06D6, 0x06E4 ], [ 0x06E7, 0x06E8 ], [ 0x06EA, 0x06ED ], + [ 0x070F, 0x070F ], [ 0x0711, 0x0711 ], [ 0x0730, 0x074A ], + [ 0x07A6, 0x07B0 ], [ 0x07EB, 0x07F3 ], [ 0x0901, 0x0902 ], + [ 0x093C, 0x093C ], [ 0x0941, 0x0948 ], [ 0x094D, 0x094D ], + [ 0x0951, 0x0954 ], [ 0x0962, 0x0963 ], [ 0x0981, 0x0981 ], + [ 0x09BC, 0x09BC ], [ 0x09C1, 0x09C4 ], [ 0x09CD, 0x09CD ], + [ 0x09E2, 0x09E3 ], [ 0x0A01, 0x0A02 ], [ 0x0A3C, 0x0A3C ], + [ 0x0A41, 0x0A42 ], [ 0x0A47, 0x0A48 ], [ 0x0A4B, 0x0A4D ], + [ 0x0A70, 0x0A71 ], [ 0x0A81, 0x0A82 ], [ 0x0ABC, 0x0ABC ], + [ 0x0AC1, 0x0AC5 ], [ 0x0AC7, 0x0AC8 ], [ 0x0ACD, 0x0ACD ], + [ 0x0AE2, 0x0AE3 ], [ 0x0B01, 0x0B01 ], [ 0x0B3C, 0x0B3C ], + [ 0x0B3F, 0x0B3F ], [ 0x0B41, 0x0B43 ], [ 0x0B4D, 0x0B4D ], + [ 0x0B56, 0x0B56 ], [ 0x0B82, 0x0B82 ], [ 0x0BC0, 0x0BC0 ], + [ 0x0BCD, 0x0BCD ], [ 0x0C3E, 0x0C40 ], [ 0x0C46, 0x0C48 ], + [ 0x0C4A, 0x0C4D ], [ 0x0C55, 0x0C56 ], [ 0x0CBC, 0x0CBC ], + [ 0x0CBF, 0x0CBF ], [ 0x0CC6, 0x0CC6 ], [ 0x0CCC, 0x0CCD ], + [ 0x0CE2, 0x0CE3 ], [ 0x0D41, 0x0D43 ], [ 0x0D4D, 0x0D4D ], + [ 0x0DCA, 0x0DCA ], [ 0x0DD2, 0x0DD4 ], [ 0x0DD6, 0x0DD6 ], + [ 0x0E31, 0x0E31 ], [ 0x0E34, 0x0E3A ], [ 0x0E47, 0x0E4E ], + [ 0x0EB1, 0x0EB1 ], [ 0x0EB4, 0x0EB9 ], [ 0x0EBB, 0x0EBC ], + [ 0x0EC8, 0x0ECD ], [ 0x0F18, 0x0F19 ], [ 0x0F35, 0x0F35 ], + [ 0x0F37, 0x0F37 ], [ 0x0F39, 0x0F39 ], [ 0x0F71, 0x0F7E ], + [ 0x0F80, 0x0F84 ], [ 0x0F86, 0x0F87 ], [ 0x0F90, 0x0F97 ], + [ 0x0F99, 0x0FBC ], [ 0x0FC6, 0x0FC6 ], [ 0x102D, 0x1030 ], + [ 0x1032, 0x1032 ], [ 0x1036, 0x1037 ], [ 0x1039, 0x1039 ], + [ 0x1058, 0x1059 ], [ 0x1160, 0x11FF ], [ 0x135F, 0x135F ], + [ 0x1712, 0x1714 ], [ 0x1732, 0x1734 ], [ 0x1752, 0x1753 ], + [ 0x1772, 0x1773 ], [ 0x17B4, 0x17B5 ], [ 0x17B7, 0x17BD ], + [ 0x17C6, 0x17C6 ], [ 0x17C9, 0x17D3 ], [ 0x17DD, 0x17DD ], + [ 0x180B, 0x180D ], [ 0x18A9, 0x18A9 ], [ 0x1920, 0x1922 ], + [ 0x1927, 0x1928 ], [ 0x1932, 0x1932 ], [ 0x1939, 0x193B ], + [ 0x1A17, 0x1A18 ], [ 0x1B00, 0x1B03 ], [ 0x1B34, 0x1B34 ], + [ 0x1B36, 0x1B3A ], [ 0x1B3C, 0x1B3C ], [ 0x1B42, 0x1B42 ], + [ 0x1B6B, 0x1B73 ], [ 0x1DC0, 0x1DCA ], [ 0x1DFE, 0x1DFF ], + [ 0x200B, 0x200F ], [ 0x202A, 0x202E ], [ 0x2060, 0x2063 ], + [ 0x206A, 0x206F ], [ 0x20D0, 0x20EF ], [ 0x302A, 0x302F ], + [ 0x3099, 0x309A ], [ 0xA806, 0xA806 ], [ 0xA80B, 0xA80B ], + [ 0xA825, 0xA826 ], [ 0xFB1E, 0xFB1E ], [ 0xFE00, 0xFE0F ], + [ 0xFE20, 0xFE23 ], [ 0xFEFF, 0xFEFF ], [ 0xFFF9, 0xFFFB ], + [ 0x10A01, 0x10A03 ], [ 0x10A05, 0x10A06 ], [ 0x10A0C, 0x10A0F ], + [ 0x10A38, 0x10A3A ], [ 0x10A3F, 0x10A3F ], [ 0x1D167, 0x1D169 ], + [ 0x1D173, 0x1D182 ], [ 0x1D185, 0x1D18B ], [ 0x1D1AA, 0x1D1AD ], + [ 0x1D242, 0x1D244 ], [ 0xE0001, 0xE0001 ], [ 0xE0020, 0xE007F ], + [ 0xE0100, 0xE01EF ] +]; + +// Sorted list of non-overlapping intervals of East Asian Ambiguous characters +// generated by "uniset +WIDTH-A -cat=Me -cat=Mn -cat=Cf c" +lib.wc.ambiguous = [ + [ 0x00A1, 0x00A1 ], [ 0x00A4, 0x00A4 ], [ 0x00A7, 0x00A8 ], + [ 0x00AA, 0x00AA ], [ 0x00AE, 0x00AE ], [ 0x00B0, 0x00B4 ], + [ 0x00B6, 0x00BA ], [ 0x00BC, 0x00BF ], [ 0x00C6, 0x00C6 ], + [ 0x00D0, 0x00D0 ], [ 0x00D7, 0x00D8 ], [ 0x00DE, 0x00E1 ], + [ 0x00E6, 0x00E6 ], [ 0x00E8, 0x00EA ], [ 0x00EC, 0x00ED ], + [ 0x00F0, 0x00F0 ], [ 0x00F2, 0x00F3 ], [ 0x00F7, 0x00FA ], + [ 0x00FC, 0x00FC ], [ 0x00FE, 0x00FE ], [ 0x0101, 0x0101 ], + [ 0x0111, 0x0111 ], [ 0x0113, 0x0113 ], [ 0x011B, 0x011B ], + [ 0x0126, 0x0127 ], [ 0x012B, 0x012B ], [ 0x0131, 0x0133 ], + [ 0x0138, 0x0138 ], [ 0x013F, 0x0142 ], [ 0x0144, 0x0144 ], + [ 0x0148, 0x014B ], [ 0x014D, 0x014D ], [ 0x0152, 0x0153 ], + [ 0x0166, 0x0167 ], [ 0x016B, 0x016B ], [ 0x01CE, 0x01CE ], + [ 0x01D0, 0x01D0 ], [ 0x01D2, 0x01D2 ], [ 0x01D4, 0x01D4 ], + [ 0x01D6, 0x01D6 ], [ 0x01D8, 0x01D8 ], [ 0x01DA, 0x01DA ], + [ 0x01DC, 0x01DC ], [ 0x0251, 0x0251 ], [ 0x0261, 0x0261 ], + [ 0x02C4, 0x02C4 ], [ 0x02C7, 0x02C7 ], [ 0x02C9, 0x02CB ], + [ 0x02CD, 0x02CD ], [ 0x02D0, 0x02D0 ], [ 0x02D8, 0x02DB ], + [ 0x02DD, 0x02DD ], [ 0x02DF, 0x02DF ], [ 0x0391, 0x03A1 ], + [ 0x03A3, 0x03A9 ], [ 0x03B1, 0x03C1 ], [ 0x03C3, 0x03C9 ], + [ 0x0401, 0x0401 ], [ 0x0410, 0x044F ], [ 0x0451, 0x0451 ], + [ 0x2010, 0x2010 ], [ 0x2013, 0x2016 ], [ 0x2018, 0x2019 ], + [ 0x201C, 0x201D ], [ 0x2020, 0x2022 ], [ 0x2024, 0x2027 ], + [ 0x2030, 0x2030 ], [ 0x2032, 0x2033 ], [ 0x2035, 0x2035 ], + [ 0x203B, 0x203B ], [ 0x203E, 0x203E ], [ 0x2074, 0x2074 ], + [ 0x207F, 0x207F ], [ 0x2081, 0x2084 ], [ 0x20AC, 0x20AC ], + [ 0x2103, 0x2103 ], [ 0x2105, 0x2105 ], [ 0x2109, 0x2109 ], + [ 0x2113, 0x2113 ], [ 0x2116, 0x2116 ], [ 0x2121, 0x2122 ], + [ 0x2126, 0x2126 ], [ 0x212B, 0x212B ], [ 0x2153, 0x2154 ], + [ 0x215B, 0x215E ], [ 0x2160, 0x216B ], [ 0x2170, 0x2179 ], + [ 0x2190, 0x2199 ], [ 0x21B8, 0x21B9 ], [ 0x21D2, 0x21D2 ], + [ 0x21D4, 0x21D4 ], [ 0x21E7, 0x21E7 ], [ 0x2200, 0x2200 ], + [ 0x2202, 0x2203 ], [ 0x2207, 0x2208 ], [ 0x220B, 0x220B ], + [ 0x220F, 0x220F ], [ 0x2211, 0x2211 ], [ 0x2215, 0x2215 ], + [ 0x221A, 0x221A ], [ 0x221D, 0x2220 ], [ 0x2223, 0x2223 ], + [ 0x2225, 0x2225 ], [ 0x2227, 0x222C ], [ 0x222E, 0x222E ], + [ 0x2234, 0x2237 ], [ 0x223C, 0x223D ], [ 0x2248, 0x2248 ], + [ 0x224C, 0x224C ], [ 0x2252, 0x2252 ], [ 0x2260, 0x2261 ], + [ 0x2264, 0x2267 ], [ 0x226A, 0x226B ], [ 0x226E, 0x226F ], + [ 0x2282, 0x2283 ], [ 0x2286, 0x2287 ], [ 0x2295, 0x2295 ], + [ 0x2299, 0x2299 ], [ 0x22A5, 0x22A5 ], [ 0x22BF, 0x22BF ], + [ 0x2312, 0x2312 ], [ 0x2460, 0x24E9 ], [ 0x24EB, 0x254B ], + [ 0x2550, 0x2573 ], [ 0x2580, 0x258F ], [ 0x2592, 0x2595 ], + [ 0x25A0, 0x25A1 ], [ 0x25A3, 0x25A9 ], [ 0x25B2, 0x25B3 ], + [ 0x25B6, 0x25B7 ], [ 0x25BC, 0x25BD ], [ 0x25C0, 0x25C1 ], + [ 0x25C6, 0x25C8 ], [ 0x25CB, 0x25CB ], [ 0x25CE, 0x25D1 ], + [ 0x25E2, 0x25E5 ], [ 0x25EF, 0x25EF ], [ 0x2605, 0x2606 ], + [ 0x2609, 0x2609 ], [ 0x260E, 0x260F ], [ 0x2614, 0x2615 ], + [ 0x261C, 0x261C ], [ 0x261E, 0x261E ], [ 0x2640, 0x2640 ], + [ 0x2642, 0x2642 ], [ 0x2660, 0x2661 ], [ 0x2663, 0x2665 ], + [ 0x2667, 0x266A ], [ 0x266C, 0x266D ], [ 0x266F, 0x266F ], + [ 0x273D, 0x273D ], [ 0x2776, 0x277F ], [ 0xE000, 0xF8FF ], + [ 0xFFFD, 0xFFFD ], [ 0xF0000, 0xFFFFD ], [ 0x100000, 0x10FFFD ] +]; + +/** + * Binary search to check if the given unicode character is a space character. + * + * @param {integer} ucs A unicode character code. + * + * @return {boolean} True if the given character is a space character; false + * otherwise. + */ +lib.wc.isSpace = function(ucs) { + // Auxiliary function for binary search in interval table. + var min = 0, max = lib.wc.combining.length - 1; + var mid; + + if (ucs < lib.wc.combining[0][0] || ucs > lib.wc.combining[max][1]) + return false; + while (max >= min) { + mid = Math.floor((min + max) / 2); + if (ucs > lib.wc.combining[mid][1]) { + min = mid + 1; + } else if (ucs < lib.wc.combining[mid][0]) { + max = mid - 1; + } else { + return true; + } + } + + return false; +}; + +/** + * Auxiliary function for checking if the given unicode character is a East + * Asian Ambiguous character. + * + * @param {integer} ucs A unicode character code. + * + * @return {boolean} True if the given character is a East Asian Ambiguous + * character. + */ +lib.wc.isCjkAmbiguous = function(ucs) { + var min = 0, max = lib.wc.ambiguous.length - 1; + var mid; + + if (ucs < lib.wc.ambiguous[0][0] || ucs > lib.wc.ambiguous[max][1]) + return false; + while (max >= min) { + mid = Math.floor((min + max) / 2); + if (ucs > lib.wc.ambiguous[mid][1]) { + min = mid + 1; + } else if (ucs < lib.wc.ambiguous[mid][0]) { + max = mid - 1; + } else { + return true; + } + } + + return false; +}; + +/** + * Determine the column width of the given character. + * + * @param {integer} ucs A unicode character code. + * + * @return {integer} The column width of the given character. + */ +lib.wc.charWidth = function(ucs) { + if (lib.wc.regardCjkAmbiguous) { + return lib.wc.charWidthRegardAmbiguous(ucs); + } else { + return lib.wc.charWidthDisregardAmbiguous(ucs); + } +}; + +/** + * Determine the column width of the given character without considering East + * Asian Ambiguous characters. + * + * @param {integer} ucs A unicode character code. + * + * @return {integer} The column width of the given character. + */ +lib.wc.charWidthDisregardAmbiguous = function(ucs) { + // Test for 8-bit control characters. + if (ucs === 0) + return lib.wc.nulWidth; + if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0)) + return lib.wc.controlWidth; + + // Optimize for ASCII characters. + if (ucs < 0x7f) + return 1; + + // Binary search in table of non-spacing characters. + if (lib.wc.isSpace(ucs)) + return 0; + + // If we arrive here, ucs is not a combining or C0/C1 control character. + return 1 + + (ucs >= 0x1100 && + (ucs <= 0x115f || // Hangul Jamo init. consonants + ucs == 0x2329 || ucs == 0x232a || + (ucs >= 0x2e80 && ucs <= 0xa4cf && + ucs != 0x303f) || // CJK ... Yi + (ucs >= 0xac00 && ucs <= 0xd7a3) || // Hangul Syllables + (ucs >= 0xf900 && ucs <= 0xfaff) || // CJK Compatibility Ideographs + (ucs >= 0xfe10 && ucs <= 0xfe19) || // Vertical forms + (ucs >= 0xfe30 && ucs <= 0xfe6f) || // CJK Compatibility Forms + (ucs >= 0xff00 && ucs <= 0xff60) || // Fullwidth Forms + (ucs >= 0xffe0 && ucs <= 0xffe6) || + (ucs >= 0x20000 && ucs <= 0x2fffd) || + (ucs >= 0x30000 && ucs <= 0x3fffd))); + // TODO: emoji characters usually require space for wide characters although + // East Asian width spec says nothing. Should we add special cases for them? +}; + +/** + * Determine the column width of the given character considering East Asian + * Ambiguous characters. + * + * @param {integer} ucs A unicode character code. + * + * @return {integer} The column width of the given character. + */ +lib.wc.charWidthRegardAmbiguous = function(ucs) { + if (lib.wc.isCjkAmbiguous(ucs)) + return lib.wc.cjkAmbiguousWidth; + + return lib.wc.charWidthDisregardAmbiguous(ucs); +}; + +/** + * Determine the column width of the given string. + * + * @param {string} str A string. + * + * @return {integer} The column width of the given string. + */ +lib.wc.strWidth = function(str) { + var width, rv = 0; + + for (var i = 0; i < str.length;) { + var codePoint = str.codePointAt(i); + width = lib.wc.charWidth(codePoint); + if (width < 0) + return -1; + rv += width; + i += (codePoint <= 0xffff) ? 1 : 2; + } + + return rv; +}; + +/** + * Get the substring at the given column offset of the given column width. + * + * @param {string} str The string to get substring from. + * @param {integer} start The starting column offset to get substring. + * @param {integer} opt_width The column width of the substring. + * + * @return {string} The substring. + */ +lib.wc.substr = function(str, start, opt_width) { + var startIndex, endIndex, width; + + for (startIndex = 0, width = 0; startIndex < str.length; startIndex++) { + width += lib.wc.charWidth(str.charCodeAt(startIndex)); + if (width > start) + break; + } + + if (opt_width != undefined) { + for (endIndex = startIndex, width = 0; + endIndex < str.length && width <= opt_width; + width += lib.wc.charWidth(str.charCodeAt(endIndex)), endIndex++); + if (width > opt_width) + endIndex--; + return str.substring(startIndex, endIndex); + } + + return str.substr(startIndex); +}; + +/** + * Get substring at the given start and end column offset. + * + * @param {string} str The string to get substring from. + * @param {integer} start The starting column offset. + * @param {integer} end The ending column offset. + * + * @return {string} The substring. + */ +lib.wc.substring = function(str, start, end) { + return lib.wc.substr(str, start, end - start); +}; +lib.resource.add('libdot/changelog/version', 'text/plain', +'1.16' + +'' +); + +lib.resource.add('libdot/changelog/date', 'text/plain', +'2017-08-16' + +'' +); + +// SOURCE FILE: hterm/js/hterm.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +lib.rtdep('lib.Storage'); + +/** + * @fileoverview Declares the hterm.* namespace and some basic shared utilities + * that are too small to deserve dedicated files. + */ +var hterm = {}; + +/** + * The type of window hosting hterm. + * + * This is set as part of hterm.init(). The value is invalid until + * initialization completes. + */ +hterm.windowType = null; + +/** + * Warning message to display in the terminal when browser zoom is enabled. + * + * You can replace it with your own localized message. + */ +hterm.zoomWarningMessage = 'ZOOM != 100%'; + +/** + * Brief overlay message displayed when text is copied to the clipboard. + * + * By default it is the unicode BLACK SCISSORS character, but you can + * replace it with your own localized message. + * + * This is only displayed when the 'enable-clipboard-notice' preference + * is enabled. + */ +hterm.notifyCopyMessage = '\u2702'; + + +/** + * Text shown in a desktop notification for the terminal + * bell. \u226a is a unicode EIGHTH NOTE, %(title) will + * be replaced by the terminal title. + */ +hterm.desktopNotificationTitle = '\u266A %(title) \u266A'; + +/** + * List of known hterm test suites. + * + * A test harness should ensure that they all exist before running. + */ +hterm.testDeps = ['hterm.ScrollPort.Tests', 'hterm.Screen.Tests', + 'hterm.Terminal.Tests', 'hterm.VT.Tests', + 'hterm.VT.CannedTests']; + +/** + * The hterm init function, registered with lib.registerInit(). + * + * This is called during lib.init(). + * + * @param {function} onInit The function lib.init() wants us to invoke when + * initialization is complete. + */ +lib.registerInit('hterm', function(onInit) { + function onWindow(window) { + hterm.windowType = window.type; + setTimeout(onInit, 0); + } + + function onTab(tab) { + if (tab && window.chrome) { + chrome.windows.get(tab.windowId, null, onWindow); + } else { + // TODO(rginda): This is where we end up for a v1 app's background page. + // Maybe windowType = 'none' would be more appropriate, or something. + hterm.windowType = 'normal'; + setTimeout(onInit, 0); + } + } + + if (!hterm.defaultStorage) { + if (window.chrome && chrome.storage && chrome.storage.sync) { + hterm.defaultStorage = new lib.Storage.Chrome(chrome.storage.sync); + } else { + hterm.defaultStorage = new lib.Storage.Local(); + } + } + + // The chrome.tabs API is not supported in packaged apps, and detecting if + // you're a packaged app is a little awkward. + var isPackagedApp = false; + if (window.chrome && chrome.runtime && chrome.runtime.getManifest) { + var manifest = chrome.runtime.getManifest(); + isPackagedApp = manifest.app && manifest.app.background; + } + + if (isPackagedApp) { + // Packaged apps are never displayed in browser tabs. + setTimeout(onWindow.bind(null, {type: 'popup'}), 0); + } else { + if (window.chrome && chrome.tabs) { + // The getCurrent method gets the tab that is "currently running", not the + // topmost or focused tab. + chrome.tabs.getCurrent(onTab); + } else { + setTimeout(onWindow.bind(null, {type: 'normal'}), 0); + } + } +}); + +/** + * Return decimal { width, height } for a given dom node. + */ +hterm.getClientSize = function(dom) { + return dom.getBoundingClientRect(); +}; + +/** + * Return decimal width for a given dom node. + */ +hterm.getClientWidth = function(dom) { + return dom.getBoundingClientRect().width; +}; + +/** + * Return decimal height for a given dom node. + */ +hterm.getClientHeight = function(dom) { + return dom.getBoundingClientRect().height; +}; + +/** + * Copy the current selection to the system clipboard. + * + * @param {HTMLDocument} The document with the selection to copy. + */ +hterm.copySelectionToClipboard = function(document) { + try { + document.execCommand('copy'); + } catch (firefoxException) { + // Ignore this. FF throws an exception if there was an error, even though + // the spec says just return false. + } +}; + +/** + * Paste the system clipboard into the element with focus. + * + * Note: In Chrome/Firefox app/extension environments, you'll need the + * "clipboardRead" permission. In other environments, this might always + * fail as the browser frequently blocks access for security reasons. + * + * @param {HTMLDocument} The document to paste into. + * @return {boolean} True if the paste succeeded. + */ +hterm.pasteFromClipboard = function(document) { + try { + return document.execCommand('paste'); + } catch (firefoxException) { + // Ignore this. FF 40 and older would incorrectly throw an exception if + // there was an error instead of returning false. + return false; + } +}; + +/** + * Create a new notification. + * + * @param {Object} params Various parameters for the notification. + * @param {string} params.title The title (defaults to the window's title). + * @param {string} params.body The message body (main text). + */ +hterm.notify = function(params) { + var def = (curr, fallback) => curr !== undefined ? curr : fallback; + if (params === undefined || params === null) + params = {}; + + // Merge the user's choices with the default settings. We don't take it + // directly in case it was stuffed with excess junk. + var options = { + 'body': params.body, + 'icon': def(params.icon, lib.resource.getDataUrl('hterm/images/icon-96')), + } + + var title = def(params.title, window.document.title); + if (!title) + title = 'hterm'; + title = lib.f.replaceVars(hterm.desktopNotificationTitle, {'title': title}); + + var n = new Notification(title, options); + n.onclick = function() { + window.focus(); + this.close(); + }; + return n; +}; + +/** + * Constructor for a hterm.Size record. + * + * Instances of this class have public read/write members for width and height. + * + * @param {integer} width The width of this record. + * @param {integer} height The height of this record. + */ +hterm.Size = function(width, height) { + this.width = width; + this.height = height; +}; + +/** + * Adjust the width and height of this record. + * + * @param {integer} width The new width of this record. + * @param {integer} height The new height of this record. + */ +hterm.Size.prototype.resize = function(width, height) { + this.width = width; + this.height = height; +}; + +/** + * Return a copy of this record. + * + * @return {hterm.Size} A new hterm.Size instance with the same width and + * height. + */ +hterm.Size.prototype.clone = function() { + return new hterm.Size(this.width, this.height); +}; + +/** + * Set the height and width of this instance based on another hterm.Size. + * + * @param {hterm.Size} that The object to copy from. + */ +hterm.Size.prototype.setTo = function(that) { + this.width = that.width; + this.height = that.height; +}; + +/** + * Test if another hterm.Size instance is equal to this one. + * + * @param {hterm.Size} that The other hterm.Size instance. + * @return {boolean} True if both instances have the same width/height, false + * otherwise. + */ +hterm.Size.prototype.equals = function(that) { + return this.width == that.width && this.height == that.height; +}; + +/** + * Return a string representation of this instance. + * + * @return {string} A string that identifies the width and height of this + * instance. + */ +hterm.Size.prototype.toString = function() { + return '[hterm.Size: ' + this.width + ', ' + this.height + ']'; +}; + +/** + * Constructor for a hterm.RowCol record. + * + * Instances of this class have public read/write members for row and column. + * + * This class includes an 'overflow' bit which is use to indicate that an + * attempt has been made to move the cursor column passed the end of the + * screen. When this happens we leave the cursor column set to the last column + * of the screen but set the overflow bit. In this state cursor movement + * happens normally, but any attempt to print new characters causes a cr/lf + * first. + * + * @param {integer} row The row of this record. + * @param {integer} column The column of this record. + * @param {boolean} opt_overflow Optional boolean indicating that the RowCol + * has overflowed. + */ +hterm.RowCol = function(row, column, opt_overflow) { + this.row = row; + this.column = column; + this.overflow = !!opt_overflow; +}; + +/** + * Adjust the row and column of this record. + * + * @param {integer} row The new row of this record. + * @param {integer} column The new column of this record. + * @param {boolean} opt_overflow Optional boolean indicating that the RowCol + * has overflowed. + */ +hterm.RowCol.prototype.move = function(row, column, opt_overflow) { + this.row = row; + this.column = column; + this.overflow = !!opt_overflow; +}; + +/** + * Return a copy of this record. + * + * @return {hterm.RowCol} A new hterm.RowCol instance with the same row and + * column. + */ +hterm.RowCol.prototype.clone = function() { + return new hterm.RowCol(this.row, this.column, this.overflow); +}; + +/** + * Set the row and column of this instance based on another hterm.RowCol. + * + * @param {hterm.RowCol} that The object to copy from. + */ +hterm.RowCol.prototype.setTo = function(that) { + this.row = that.row; + this.column = that.column; + this.overflow = that.overflow; +}; + +/** + * Test if another hterm.RowCol instance is equal to this one. + * + * @param {hterm.RowCol} that The other hterm.RowCol instance. + * @return {boolean} True if both instances have the same row/column, false + * otherwise. + */ +hterm.RowCol.prototype.equals = function(that) { + return (this.row == that.row && this.column == that.column && + this.overflow == that.overflow); +}; + +/** + * Return a string representation of this instance. + * + * @return {string} A string that identifies the row and column of this + * instance. + */ +hterm.RowCol.prototype.toString = function() { + return ('[hterm.RowCol: ' + this.row + ', ' + this.column + ', ' + + this.overflow + ']'); +}; +// SOURCE FILE: hterm/js/hterm_frame.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +lib.rtdep('lib.f'); + +/** + * First draft of the interface between the terminal and a third party dialog. + * + * This is rough. It's just the terminal->dialog layer. To complete things + * we'll also need a command->terminal layer. That will have to facilitate + * command->terminal->dialog or direct command->dialog communication. + * + * I imagine this class will change significantly when that happens. + */ + +/** + * Construct a new frame for the given terminal. + * + * @param terminal {hterm.Terminal} The parent terminal object. + * @param url {String} The url to load in the frame. + * @param opt_options {Object} Optional options for the frame. Not implemented. + */ +hterm.Frame = function(terminal, url, opt_options) { + this.terminal_ = terminal; + this.div_ = terminal.div_; + this.url = url; + this.options = opt_options || {}; + this.iframe_ = null; + this.container_ = null; + this.messageChannel_ = null; +}; + +/** + * Handle messages from the iframe. + */ +hterm.Frame.prototype.onMessage_ = function(e) { + switch (e.data.name) { + case 'ipc-init-ok': + // We get this response after we send them ipc-init and they finish. + this.sendTerminalInfo_(); + return; + case 'terminal-info-ok': + // We get this response after we send them terminal-info and they finish. + // Show the finished frame, and then rebind our message handler to the + // callback below. + this.container_.style.display = 'flex'; + this.messageChannel_.port1.onmessage = this.onMessage.bind(this); + this.onLoad(); + return; + default: + console.log('Unknown message from frame:', e.data); + return; + } +}; + +/** + * Clients could override this, I guess. + * + * It doesn't support multiple listeners, but I'm not sure that would make sense + * here. It's probably better to speak directly to our parents. + */ +hterm.Frame.prototype.onMessage = function() {}; + +/** + * Handle iframe onLoad event. + */ +hterm.Frame.prototype.onLoad_ = function() { + this.messageChannel_ = new MessageChannel(); + this.messageChannel_.port1.onmessage = this.onMessage_.bind(this); + this.messageChannel_.port1.start(); + this.iframe_.contentWindow.postMessage( + {name: 'ipc-init', argv: [{messagePort: this.messageChannel_.port2}]}, + this.url, [this.messageChannel_.port2]); +}; + +/** + * Clients may override this. + */ +hterm.Frame.prototype.onLoad = function() {}; + +/** + * Sends the terminal-info message to the iframe. + */ +hterm.Frame.prototype.sendTerminalInfo_ = function() { + lib.f.getAcceptLanguages(function(languages) { + this.postMessage('terminal-info', [{ + acceptLanguages: languages, + foregroundColor: this.terminal_.getForegroundColor(), + backgroundColor: this.terminal_.getBackgroundColor(), + cursorColor: this.terminal_.getCursorColor(), + fontSize: this.terminal_.getFontSize(), + fontFamily: this.terminal_.getFontFamily(), + baseURL: lib.f.getURL('/') + }] + ); + }.bind(this)); +}; + +/** + * User clicked the close button on the frame decoration. + */ +hterm.Frame.prototype.onCloseClicked_ = function() { + this.close(); +}; + +/** + * Close this frame. + */ +hterm.Frame.prototype.close = function() { + if (!this.container_ || !this.container_.parentNode) + return; + + this.container_.parentNode.removeChild(this.container_); + this.onClose(); +}; + + +/** + * Clients may override this. + */ +hterm.Frame.prototype.onClose = function() {}; + +/** + * Send a message to the iframe. + */ +hterm.Frame.prototype.postMessage = function(name, argv) { + if (!this.messageChannel_) + throw new Error('Message channel is not set up.'); + + this.messageChannel_.port1.postMessage({name: name, argv: argv}); +}; + +/** + * Show the UI for this frame. + * + * The iframe src is not loaded until this method is called. + */ +hterm.Frame.prototype.show = function() { + var self = this; + + function opt(name, defaultValue) { + if (name in self.options) + return self.options[name]; + + return defaultValue; + } + + var self = this; + + if (this.container_ && this.container_.parentNode) { + console.error('Frame already visible'); + return; + } + + var headerHeight = '16px'; + + var divSize = hterm.getClientSize(this.div_); + + var width = opt('width', 640); + var height = opt('height', 480); + var left = (divSize.width - width) / 2; + var top = (divSize.height - height) / 2; + + var document = this.terminal_.document_; + + var container = this.container_ = document.createElement('div'); + container.style.cssText = ( + 'position: absolute;' + + 'display: none;' + + 'flex-direction: column;' + + 'top: 10%;' + + 'left: 4%;' + + 'width: 90%;' + + 'height: 80%;' + + 'min-height: 20%;' + + 'max-height: 80%;' + + 'box-shadow: 0 0 2px ' + this.terminal_.getForegroundColor() + ';' + + 'border: 2px ' + this.terminal_.getForegroundColor() + ' solid;'); + + if (false) { + // No use for the close button, so no use for the window header either. + var header = document.createElement('div'); + header.style.cssText = ( + 'display: flex;' + + 'justify-content: flex-end;' + + 'height: ' + headerHeight + ';' + + 'background-color: ' + this.terminal_.getForegroundColor() + ';' + + 'color: ' + this.terminal_.getBackgroundColor() + ';' + + 'font-size: 16px;' + + 'font-family: ' + this.terminal_.getFontFamily()); + container.appendChild(header); + + var button = document.createElement('div'); + button.setAttribute('role', 'button'); + button.style.cssText = ( + 'margin-top: -3px;' + + 'margin-right: 3px;' + + 'cursor: pointer;'); + button.textContent = '\u2a2f'; + button.addEventListener('click', this.onCloseClicked_.bind(this)); + header.appendChild(button); + } + + var iframe = this.iframe_ = document.createElement('iframe'); + iframe.onload = this.onLoad_.bind(this); + iframe.style.cssText = ( + 'display: flex;' + + 'flex: 1;' + + 'width: 100%'); + iframe.setAttribute('src', this.url); + iframe.setAttribute('seamless', true); + container.appendChild(iframe); + + this.div_.appendChild(container); +}; +// SOURCE FILE: hterm/js/hterm_keyboard.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +lib.rtdep('hterm.Keyboard.KeyMap'); + +/** + * Keyboard handler. + * + * Consumes onKey* events and invokes onVTKeystroke on the associated + * hterm.Terminal object. + * + * See also: [XTERM] as referenced in vt.js. + * + * @param {hterm.Terminal} The Terminal object associated with this keyboard. + */ +hterm.Keyboard = function(terminal) { + // The parent vt interpreter. + this.terminal = terminal; + + // The element we're currently capturing keyboard events for. + this.keyboardElement_ = null; + + // The event handlers we are interested in, and their bound callbacks, saved + // so they can be uninstalled with removeEventListener, when required. + this.handlers_ = [ + ['focusout', this.onFocusOut_.bind(this)], + ['keydown', this.onKeyDown_.bind(this)], + ['keypress', this.onKeyPress_.bind(this)], + ['keyup', this.onKeyUp_.bind(this)], + ['textInput', this.onTextInput_.bind(this)] + ]; + + /** + * The current key map. + */ + this.keyMap = new hterm.Keyboard.KeyMap(this); + + this.bindings = new hterm.Keyboard.Bindings(this); + + /** + * none: Disable any AltGr related munging. + * ctrl-alt: Assume Ctrl+Alt means AltGr. + * left-alt: Assume left Alt means AltGr. + * right-alt: Assume right Alt means AltGr. + */ + this.altGrMode = 'none'; + + /** + * If true, Shift-Insert will fall through to the browser as a paste. + * If false, the keystroke will be sent to the host. + */ + this.shiftInsertPaste = true; + + /** + * If true, home/end will control the terminal scrollbar and shift home/end + * will send the VT keycodes. If false then home/end sends VT codes and + * shift home/end scrolls. + */ + this.homeKeysScroll = false; + + /** + * Same as above, except for page up/page down. + */ + this.pageKeysScroll = false; + + /** + * If true, Ctrl-Plus/Minus/Zero controls zoom. + * If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_, + * Ctrl-Plus/Zero do nothing. + */ + this.ctrlPlusMinusZeroZoom = true; + + /** + * Ctrl+C copies if true, sends ^C to host if false. + * Ctrl+Shift+C sends ^C to host if true, copies if false. + */ + this.ctrlCCopy = false; + + /** + * Ctrl+V pastes if true, sends ^V to host if false. + * Ctrl+Shift+V sends ^V to host if true, pastes if false. + */ + this.ctrlVPaste = false; + + /** + * Enable/disable application keypad. + * + * This changes the way numeric keys are sent from the keyboard. + */ + this.applicationKeypad = false; + + /** + * Enable/disable the application cursor mode. + * + * This changes the way cursor keys are sent from the keyboard. + */ + this.applicationCursor = false; + + /** + * If true, the backspace should send BS ('\x08', aka ^H). Otherwise + * the backspace key should send '\x7f'. + */ + this.backspaceSendsBackspace = false; + + /** + * The encoding method for data sent to the host. + */ + this.characterEncoding = 'utf-8'; + + /** + * Set whether the meta key sends a leading escape or not. + */ + this.metaSendsEscape = true; + + /** + * Set whether meta-V gets passed to host. + */ + this.passMetaV = true; + + /** + * Controls how the alt key is handled. + * + * escape....... Send an ESC prefix. + * 8-bit........ Add 128 to the unshifted character as in xterm. + * browser-key.. Wait for the keypress event and see what the browser says. + * (This won't work well on platforms where the browser + * performs a default action for some alt sequences.) + * + * This setting only matters when alt is distinct from meta (altIsMeta is + * false.) + */ + this.altSendsWhat = 'escape'; + + /** + * Set whether the alt key acts as a meta key, instead of producing 8-bit + * characters. + * + * True to enable, false to disable, null to autodetect based on platform. + */ + this.altIsMeta = false; + + /** + * If true, tries to detect DEL key events that are from alt-backspace on + * Chrome OS vs from a true DEL key press. + * + * Background: At the time of writing, on Chrome OS, alt-backspace is mapped + * to DEL. Some users may be happy with this, but others may be frustrated + * that it's impossible to do meta-backspace. If the user enables this pref, + * we use a trick to tell a true DEL keypress from alt-backspace: on + * alt-backspace, we will see the alt key go down, then get a DEL keystroke + * that indicates that alt is not pressed. See https://crbug.com/174410 . + */ + this.altBackspaceIsMetaBackspace = false; + + /** + * Used to keep track of the current alt-key state, which is necessary for + * the altBackspaceIsMetaBackspace preference above and for the altGrMode + * preference. This is a bitmap with where bit positions correspond to the + * "location" property of the key event. + */ + this.altKeyPressed = 0; + + /** + * If true, Chrome OS media keys will be mapped to their F-key equivalent. + * E.g. "Back" will be mapped to F1. If false, Chrome will handle the keys. + */ + this.mediaKeysAreFKeys = false; + + /** + * Holds the previous setting of altSendsWhat when DECSET 1039 is used. When + * DECRST 1039 is used, altSendsWhat is changed back to this and this is + * nulled out. + */ + this.previousAltSendsWhat_ = null; +}; + +/** + * Special handling for keyCodes in a keyboard layout. + */ +hterm.Keyboard.KeyActions = { + /** + * Call preventDefault and stopPropagation for this key event and nothing + * else. + */ + CANCEL: lib.f.createEnum('CANCEL'), + + /** + * This performs the default terminal action for the key. If used in the + * 'normal' action and the the keystroke represents a printable key, the + * character will be sent to the host. If used in one of the modifier + * actions, the terminal will perform the normal action after (possibly) + * altering it. + * + * - If the normal sequence starts with CSI, the sequence will be adjusted + * to include the modifier parameter as described in [XTERM] in the final + * table of the "PC-Style Function Keys" section. + * + * - If the control key is down and the key represents a printable character, + * and the uppercase version of the unshifted keycap is between + * 64 (ASCII '@') and 95 (ASCII '_'), then the uppercase version of the + * unshifted keycap minus 64 is sent. This makes '^@' send '\x00' and + * '^_' send '\x1f'. (Note that one higher that 0x1f is 0x20, which is + * the first printable ASCII value.) + * + * - If the alt key is down and the key represents a printable character then + * the value of the character is shifted up by 128. + * + * - If meta is down and configured to send an escape, '\x1b' will be sent + * before the normal action is performed. + */ + DEFAULT: lib.f.createEnum('DEFAULT'), + + /** + * Causes the terminal to opt out of handling the key event, instead letting + * the browser deal with it. + */ + PASS: lib.f.createEnum('PASS'), + + /** + * Insert the first or second character of the keyCap, based on e.shiftKey. + * The key will be handled in onKeyDown, and e.preventDefault() will be + * called. + * + * It is useful for a modified key action, where it essentially strips the + * modifier while preventing the browser from reacting to the key. + */ + STRIP: lib.f.createEnum('STRIP') +}; + +/** + * Encode a string according to the 'send-encoding' preference. + */ +hterm.Keyboard.prototype.encode = function(str) { + if (this.characterEncoding == 'utf-8') + return this.terminal.vt.encodeUTF8(str); + + return str; +}; + +/** + * Capture keyboard events sent to the associated element. + * + * This enables the keyboard. Captured events are consumed by this class + * and will not perform their default action or bubble to other elements. + * + * Passing a null element will uninstall the keyboard handlers. + * + * @param {HTMLElement} element The element whose events should be captured, or + * null to disable the keyboard. + */ +hterm.Keyboard.prototype.installKeyboard = function(element) { + if (element == this.keyboardElement_) + return; + + if (element && this.keyboardElement_) + this.installKeyboard(null); + + for (var i = 0; i < this.handlers_.length; i++) { + var handler = this.handlers_[i]; + if (element) { + element.addEventListener(handler[0], handler[1]); + } else { + this.keyboardElement_.removeEventListener(handler[0], handler[1]); + } + } + + this.keyboardElement_ = element; +}; + +/** + * Disable keyboard event capture. + * + * This will allow the browser to process key events normally. + */ +hterm.Keyboard.prototype.uninstallKeyboard = function() { + this.installKeyboard(null); +}; + +/** + * Handle onTextInput events. + * + * We're not actually supposed to get these, but we do on the Mac in the case + * where a third party app sends synthetic keystrokes to Chrome. + */ +hterm.Keyboard.prototype.onTextInput_ = function(e) { + if (!e.data) + return; + + e.data.split('').forEach(this.terminal.onVTKeystroke.bind(this.terminal)); +}; + +/** + * Handle onKeyPress events. + */ +hterm.Keyboard.prototype.onKeyPress_ = function(e) { + var code; + + var key = String.fromCharCode(e.which); + var lowerKey = key.toLowerCase(); + if ((e.ctrlKey || e.metaKey) && (lowerKey == 'c' || lowerKey == 'v')) { + // On FF the key press (not key down) event gets fired for copy/paste. + // Let it fall through for the default browser behavior. + return; + } + + if (e.altKey && this.altSendsWhat == 'browser-key' && e.charCode == 0) { + // If we got here because we were expecting the browser to handle an + // alt sequence but it didn't do it, then we might be on an OS without + // an enabled IME system. In that case we fall back to xterm-like + // behavior. + // + // This happens here only as a fallback. Typically these platforms should + // set altSendsWhat to either 'escape' or '8-bit'. + var ch = String.fromCharCode(e.keyCode); + if (!e.shiftKey) + ch = ch.toLowerCase(); + code = ch.charCodeAt(0) + 128; + + } else if (e.charCode >= 32) { + ch = e.charCode; + } + + if (ch) + this.terminal.onVTKeystroke(String.fromCharCode(ch)); + + e.preventDefault(); + e.stopPropagation(); +}; + +/** + * Prevent default handling for non-ctrl-shifted event. + * + * When combined with Chrome permission 'app.window.fullscreen.overrideEsc', + * and called for both key down and key up events, + * the ESC key remains usable within fullscreen Chrome app windows. + */ +hterm.Keyboard.prototype.preventChromeAppNonCtrlShiftDefault_ = function(e) { + if (!window.chrome || !window.chrome.app || !window.chrome.app.window) + return; + if (!e.ctrlKey || !e.shiftKey) + e.preventDefault(); +}; + +hterm.Keyboard.prototype.onFocusOut_ = function(e) { + this.altKeyPressed = 0; +}; + +hterm.Keyboard.prototype.onKeyUp_ = function(e) { + if (e.keyCode == 18) + this.altKeyPressed = this.altKeyPressed & ~(1 << (e.location - 1)); + + if (e.keyCode == 27) + this.preventChromeAppNonCtrlShiftDefault_(e); +}; + +/** + * Handle onKeyDown events. + */ +hterm.Keyboard.prototype.onKeyDown_ = function(e) { + if (e.keyCode == 18) + this.altKeyPressed = this.altKeyPressed | (1 << (e.location - 1)); + + if (e.keyCode == 27) + this.preventChromeAppNonCtrlShiftDefault_(e); + + var keyDef = this.keyMap.keyDefs[e.keyCode]; + if (!keyDef) { + console.warn('No definition for keyCode: ' + e.keyCode); + return; + } + + // The type of action we're going to use. + var resolvedActionType = null; + + var self = this; + function getAction(name) { + // Get the key action for the given action name. If the action is a + // function, dispatch it. If the action defers to the normal action, + // resolve that instead. + + resolvedActionType = name; + + var action = keyDef[name]; + if (typeof action == 'function') + action = action.apply(self.keyMap, [e, keyDef]); + + if (action === DEFAULT && name != 'normal') + action = getAction('normal'); + + return action; + } + + // Note that we use the triple-equals ('===') operator to test equality for + // these constants, in order to distinguish usage of the constant from usage + // of a literal string that happens to contain the same bytes. + var CANCEL = hterm.Keyboard.KeyActions.CANCEL; + var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT; + var PASS = hterm.Keyboard.KeyActions.PASS; + var STRIP = hterm.Keyboard.KeyActions.STRIP; + + var control = e.ctrlKey; + var alt = this.altIsMeta ? false : e.altKey; + var meta = this.altIsMeta ? (e.altKey || e.metaKey) : e.metaKey; + + // In the key-map, we surround the keyCap for non-printables in "[...]" + var isPrintable = !(/^\[\w+\]$/.test(keyDef.keyCap)); + + switch (this.altGrMode) { + case 'ctrl-alt': + if (isPrintable && control && alt) { + // ctrl-alt-printable means altGr. We clear out the control and + // alt modifiers and wait to see the charCode in the keydown event. + control = false; + alt = false; + } + break; + + case 'right-alt': + if (isPrintable && (this.terminal.keyboard.altKeyPressed & 2)) { + control = false; + alt = false; + } + break; + + case 'left-alt': + if (isPrintable && (this.terminal.keyboard.altKeyPressed & 1)) { + control = false; + alt = false; + } + break; + } + + var action; + + if (control) { + action = getAction('control'); + } else if (alt) { + action = getAction('alt'); + } else if (meta) { + action = getAction('meta'); + } else { + action = getAction('normal'); + } + + // If e.maskShiftKey was set (during getAction) it means the shift key is + // already accounted for in the action, and we should not act on it any + // further. This is currently only used for Ctrl-Shift-Tab, which should send + // "CSI Z", not "CSI 1 ; 2 Z". + var shift = !e.maskShiftKey && e.shiftKey; + + var keyDown = { + keyCode: e.keyCode, + shift: e.shiftKey, // not `var shift` from above. + ctrl: control, + alt: alt, + meta: meta + }; + + var binding = this.bindings.getBinding(keyDown); + + if (binding) { + // Clear out the modifier bits so we don't try to munge the sequence + // further. + shift = control = alt = meta = false; + resolvedActionType = 'normal'; + action = binding.action; + + if (typeof action == 'function') + action = action.call(this, this.terminal, keyDown); + } + + if (alt && this.altSendsWhat == 'browser-key' && action == DEFAULT) { + // When altSendsWhat is 'browser-key', we wait for the keypress event. + // In keypress, the browser should have set the event.charCode to the + // appropriate character. + // TODO(rginda): Character compositions will need some black magic. + action = PASS; + } + + if (action === PASS || (action === DEFAULT && !(control || alt || meta))) { + // If this key is supposed to be handled by the browser, or it is an + // unmodified key with the default action, then exit this event handler. + // If it's an unmodified key, it'll be handled in onKeyPress where we + // can tell for sure which ASCII code to insert. + // + // This block needs to come before the STRIP test, otherwise we'll strip + // the modifier and think it's ok to let the browser handle the keypress. + // The browser won't know we're trying to ignore the modifiers and might + // perform some default action. + return; + } + + if (action === STRIP) { + alt = control = false; + action = keyDef.normal; + if (typeof action == 'function') + action = action.apply(this.keyMap, [e, keyDef]); + + if (action == DEFAULT && keyDef.keyCap.length == 2) + action = keyDef.keyCap.substr((shift ? 1 : 0), 1); + } + + e.preventDefault(); + e.stopPropagation(); + + if (action === CANCEL) + return; + + if (action !== DEFAULT && typeof action != 'string') { + console.warn('Invalid action: ' + JSON.stringify(action)); + return; + } + + // Strip the modifier that is associated with the action, since we assume that + // modifier has already been accounted for in the action. + if (resolvedActionType == 'control') { + control = false; + } else if (resolvedActionType == 'alt') { + alt = false; + } else if (resolvedActionType == 'meta') { + meta = false; + } + + if (action.substr(0, 2) == '\x1b[' && (alt || control || shift)) { + // The action is an escape sequence that and it was triggered in the + // presence of a keyboard modifier, we may need to alter the action to + // include the modifier before sending it. + + var mod; + + if (shift && !(alt || control)) { + mod = ';2'; + } else if (alt && !(shift || control)) { + mod = ';3'; + } else if (shift && alt && !control) { + mod = ';4'; + } else if (control && !(shift || alt)) { + mod = ';5'; + } else if (shift && control && !alt) { + mod = ';6'; + } else if (alt && control && !shift) { + mod = ';7'; + } else if (shift && alt && control) { + mod = ';8'; + } + + if (action.length == 3) { + // Some of the CSI sequences have zero parameters unless modified. + action = '\x1b[1' + mod + action.substr(2, 1); + } else { + // Others always have at least one parameter. + action = action.substr(0, action.length - 1) + mod + + action.substr(action.length - 1); + } + + } else { + if (action === DEFAULT) { + action = keyDef.keyCap.substr((shift ? 1 : 0), 1); + + if (control) { + var unshifted = keyDef.keyCap.substr(0, 1); + var code = unshifted.charCodeAt(0); + if (code >= 64 && code <= 95) { + action = String.fromCharCode(code - 64); + } + } + } + + if (alt && this.altSendsWhat == '8-bit' && action.length == 1) { + var code = action.charCodeAt(0) + 128; + action = String.fromCharCode(code); + } + + // We respect alt/metaSendsEscape even if the keymap action was a literal + // string. Otherwise, every overridden alt/meta action would have to + // check alt/metaSendsEscape. + if ((alt && this.altSendsWhat == 'escape') || + (meta && this.metaSendsEscape)) { + action = '\x1b' + action; + } + } + + this.terminal.onVTKeystroke(action); +}; +// SOURCE FILE: hterm/js/hterm_keyboard_bindings.js +// Copyright (c) 2015 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +/** + * A mapping from hterm.Keyboard.KeyPattern to an action. + * + * TODO(rginda): For now this bindings code is only used for user overrides. + * hterm.Keyboard.KeyMap still handles all of the built-in key mappings. + * It'd be nice if we migrated that over to be hterm.Keyboard.Bindings based. + */ +hterm.Keyboard.Bindings = function() { + this.bindings_ = {}; +}; + +/** + * Remove all bindings. + */ +hterm.Keyboard.Bindings.prototype.clear = function () { + this.bindings_ = {}; +}; + +/** + * Add a new binding. + * + * Internal API that assumes parsed objects as inputs. + * See the public addBinding for more details. + * + * @param {hterm.Keyboard.KeyPattern} keyPattern + * @param {string|function|hterm.Keyboard.KeyAction} action + */ +hterm.Keyboard.Bindings.prototype.addBinding_ = function(keyPattern, action) { + var binding = null; + var list = this.bindings_[keyPattern.keyCode]; + if (list) { + for (var i = 0; i < list.length; i++) { + if (list[i].keyPattern.matchKeyPattern(keyPattern)) { + binding = list[i]; + break; + } + } + } + + if (binding) { + binding.action = action; + } else { + binding = {keyPattern: keyPattern, action: action}; + + if (!list) { + this.bindings_[keyPattern.keyCode] = [binding]; + } else { + this.bindings_[keyPattern.keyCode].push(binding); + + list.sort(function(a, b) { + return hterm.Keyboard.KeyPattern.sortCompare( + a.keyPattern, b.keyPattern); + }); + } + } +}; + +/** + * Add a new binding. + * + * If a binding for the keyPattern already exists it will be overridden. + * + * More specific keyPatterns take precedence over those with wildcards. Given + * bindings for "Ctrl-A" and "Ctrl-*-A", and a "Ctrl-A" keydown, the "Ctrl-A" + * binding will match even if "Ctrl-*-A" was created last. + * + * If action is a string, it will be passed through hterm.Parser.parseKeyAction. + * + * For example: + * // Will replace Ctrl-P keystrokes with the string "hiya!". + * addBinding('Ctrl-P', "'hiya!'"); + * // Will cancel the keystroke entirely (make it do nothing). + * addBinding('Alt-D', hterm.Keyboard.KeyActions.CANCEL); + * // Will execute the code and return the action. + * addBinding('Ctrl-T', function() { + * console.log('Got a T!'); + * return hterm.Keyboard.KeyActions.PASS; + * }); + * + * @param {string|hterm.Keyboard.KeyPattern} keyPattern + * @param {string|function|hterm.Keyboard.KeyAction} action + */ +hterm.Keyboard.Bindings.prototype.addBinding = function(key, action) { + // If we're given a hterm.Keyboard.KeyPattern object, pass it down. + if (typeof key != 'string') { + this.addBinding_(key, action); + return; + } + + // Here we treat key as a string. + var p = new hterm.Parser(); + + p.reset(key); + var sequence; + + try { + sequence = p.parseKeySequence(); + } catch (ex) { + console.error(ex); + return; + } + + if (!p.isComplete()) { + console.error(p.error('Expected end of sequence: ' + sequence)); + return; + } + + // If action is a string, parse it. Otherwise assume it's callable. + if (typeof action == 'string') { + p.reset(action); + try { + action = p.parseKeyAction(); + } catch (ex) { + console.error(ex); + return; + } + } + + if (!p.isComplete()) { + console.error(p.error('Expected end of sequence: ' + sequence)); + return; + } + + this.addBinding_(new hterm.Keyboard.KeyPattern(sequence), action); +}; + +/** + * Add multiple bindings at a time using a map of {string: string, ...} + * + * This uses hterm.Parser to parse the maps key into KeyPatterns, and the + * map values into {string|function|KeyAction}. + * + * For example: + * { + * // Will replace Ctrl-P keystrokes with the string "hiya!". + * 'Ctrl-P': "'hiya!'", + * // Will cancel the keystroke entirely (make it do nothing). + * 'Alt-D': hterm.Keyboard.KeyActions.CANCEL, + * } + * + * @param {Object} map + */ +hterm.Keyboard.Bindings.prototype.addBindings = function(map) { + for (var key in map) { + this.addBinding(key, map[key]); + } +}; + +/** + * Return the binding that is the best match for the given keyDown record, + * or null if there is no match. + * + * @param {Object} keyDown An object with a keyCode property and zero or + * more boolean properties representing key modifiers. These property names + * must match those defined in hterm.Keyboard.KeyPattern.modifiers. + */ +hterm.Keyboard.Bindings.prototype.getBinding = function(keyDown) { + var list = this.bindings_[keyDown.keyCode]; + if (!list) + return null; + + for (var i = 0; i < list.length; i++) { + var binding = list[i]; + if (binding.keyPattern.matchKeyDown(keyDown)) + return binding; + } + + return null; +}; +// SOURCE FILE: hterm/js/hterm_keyboard_keymap.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +lib.rtdep('hterm.Keyboard.KeyActions'); + +/** + * The default key map for hterm. + * + * Contains a mapping of keyCodes to keyDefs (aka key definitions). The key + * definition tells the hterm.Keyboard class how to handle keycodes. + * + * This should work for most cases, as the printable characters get handled + * in the keypress event. In that case, even if the keycap is wrong in the + * key map, the correct character should be sent. + * + * Different layouts, such as Dvorak should work with this keymap, as those + * layouts typically move keycodes around on the keyboard without disturbing + * the actual keycaps. + * + * There may be issues with control keys on non-US keyboards or with keyboards + * that very significantly from the expectations here, in which case we may + * have to invent new key maps. + * + * The sequences defined in this key map come from [XTERM] as referenced in + * vt.js, starting with the section titled "Alt and Meta Keys". + */ +hterm.Keyboard.KeyMap = function(keyboard) { + this.keyboard = keyboard; + this.keyDefs = {}; + this.reset(); +}; + +/** + * Add a single key definition. + * + * The definition is a hash containing the following keys: 'keyCap', 'normal', + * 'control', and 'alt'. + * + * - keyCap is a string identifying the key. For printable + * keys, the key cap should be exactly two characters, starting with the + * unshifted version. For example, 'aA', 'bB', '1!' and '=+'. For + * non-printable the key cap should be surrounded in square braces, as in + * '[INS]', '[LEFT]'. By convention, non-printable keycaps are in uppercase + * but this is not a strict requirement. + * + * - Normal is the action that should be performed when they key is pressed + * in the absence of any modifier. See below for the supported actions. + * + * - Control is the action that should be performed when they key is pressed + * along with the control modifier. See below for the supported actions. + * + * - Alt is the action that should be performed when they key is pressed + * along with the alt modifier. See below for the supported actions. + * + * - Meta is the action that should be performed when they key is pressed + * along with the meta modifier. See below for the supported actions. + * + * Actions can be one of the hterm.Keyboard.KeyActions as documented below, + * a literal string, or an array. If the action is a literal string then + * the string is sent directly to the host. If the action is an array it + * is taken to be an escape sequence that may be altered by modifier keys. + * The second-to-last element of the array will be overwritten with the + * state of the modifier keys, as specified in the final table of "PC-Style + * Function Keys" from [XTERM]. + */ +hterm.Keyboard.KeyMap.prototype.addKeyDef = function(keyCode, def) { + if (keyCode in this.keyDefs) + console.warn('Duplicate keyCode: ' + keyCode); + + this.keyDefs[keyCode] = def; +}; + +/** + * Add multiple key definitions in a single call. + * + * This function takes the key definitions as variable argument list. Each + * argument is the key definition specified as an array. + * + * (If the function took everything as one big hash we couldn't detect + * duplicates, and there would be a lot more typing involved.) + * + * Each key definition should have 6 elements: (keyCode, keyCap, normal action, + * control action, alt action and meta action). See KeyMap.addKeyDef for the + * meaning of these elements. + */ +hterm.Keyboard.KeyMap.prototype.addKeyDefs = function(var_args) { + for (var i = 0; i < arguments.length; i++) { + this.addKeyDef(arguments[i][0], + { keyCap: arguments[i][1], + normal: arguments[i][2], + control: arguments[i][3], + alt: arguments[i][4], + meta: arguments[i][5] + }); + } +}; + +/** + * Set up the default state for this keymap. + */ +hterm.Keyboard.KeyMap.prototype.reset = function() { + this.keyDefs = {}; + + var self = this; + + // This function is used by the "macro" functions below. It makes it + // possible to use the call() macro as an argument to any other macro. + function resolve(action, e, k) { + if (typeof action == 'function') + return action.apply(self, [e, k]); + + return action; + } + + // If not application keypad a, else b. The keys that care about + // application keypad ignore it when the key is modified. + function ak(a, b) { + return function(e, k) { + var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey || + !self.keyboard.applicationKeypad) ? a : b; + return resolve(action, e, k); + }; + } + + // If mod or not application cursor a, else b. The keys that care about + // application cursor ignore it when the key is modified. + function ac(a, b) { + return function(e, k) { + var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey || + !self.keyboard.applicationCursor) ? a : b; + return resolve(action, e, k); + }; + } + + // If not backspace-sends-backspace keypad a, else b. + function bs(a, b) { + return function(e, k) { + var action = !self.keyboard.backspaceSendsBackspace ? a : b; + return resolve(action, e, k); + }; + } + + // If not e.shiftKey a, else b. + function sh(a, b) { + return function(e, k) { + var action = !e.shiftKey ? a : b; + e.maskShiftKey = true; + return resolve(action, e, k); + }; + } + + // If not e.altKey a, else b. + function alt(a, b) { + return function(e, k) { + var action = !e.altKey ? a : b; + return resolve(action, e, k); + }; + } + + // If no modifiers a, else b. + function mod(a, b) { + return function(e, k) { + var action = !(e.shiftKey || e.ctrlKey || e.altKey || e.metaKey) ? a : b; + return resolve(action, e, k); + }; + } + + // Compute a control character for a given character. + function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) } + + // Call a method on the keymap instance. + function c(m) { return function (e, k) { return this[m](e, k) } } + + // Ignore if not trapping media keys. + function med(fn) { + return function(e, k) { + if (!self.keyboard.mediaKeysAreFKeys) { + // Block Back, Forward, and Reload keys to avoid navigating away from + // the current page. + return (e.keyCode == 166 || e.keyCode == 167 || e.keyCode == 168) ? + hterm.Keyboard.KeyActions.CANCEL : + hterm.Keyboard.KeyActions.PASS; + } + return resolve(fn, e, k); + }; + } + + var ESC = '\x1b'; + var CSI = '\x1b['; + var SS3 = '\x1bO'; + + var CANCEL = hterm.Keyboard.KeyActions.CANCEL; + var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT; + var PASS = hterm.Keyboard.KeyActions.PASS; + var STRIP = hterm.Keyboard.KeyActions.STRIP; + + this.addKeyDefs( + // These fields are: [keycode, keycap, normal, control, alt, meta] + + // The browser sends the keycode 0 for some keys. We'll just assume it's + // going to do the right thing by default for those keys. + [0, '[UNKNOWN]', PASS, PASS, PASS, PASS], + + // First row. + [27, '[ESC]', ESC, DEFAULT, DEFAULT, DEFAULT], + [112, '[F1]', mod(SS3 + 'P', CSI + 'P'), DEFAULT, CSI + "23~", DEFAULT], + [113, '[F2]', mod(SS3 + 'Q', CSI + 'Q'), DEFAULT, CSI + "24~", DEFAULT], + [114, '[F3]', mod(SS3 + 'R', CSI + 'R'), DEFAULT, CSI + "25~", DEFAULT], + [115, '[F4]', mod(SS3 + 'S', CSI + 'S'), DEFAULT, CSI + "26~", DEFAULT], + [116, '[F5]', CSI + '15~', DEFAULT, CSI + "28~", DEFAULT], + [117, '[F6]', CSI + '17~', DEFAULT, CSI + "29~", DEFAULT], + [118, '[F7]', CSI + '18~', DEFAULT, CSI + "31~", DEFAULT], + [119, '[F8]', CSI + '19~', DEFAULT, CSI + "32~", DEFAULT], + [120, '[F9]', CSI + '20~', DEFAULT, CSI + "33~", DEFAULT], + [121, '[F10]', CSI + '21~', DEFAULT, CSI + "34~", DEFAULT], + [122, '[F11]', CSI + '23~', DEFAULT, CSI + "42~", DEFAULT], + [123, '[F12]', CSI + '24~', DEFAULT, CSI + "43~", DEFAULT], + + // Second row. + [192, '`~', DEFAULT, sh(ctl('@'), ctl('^')), DEFAULT, PASS], + [49, '1!', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')], + [50, '2@', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')], + [51, '3#', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')], + [52, '4$', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')], + [53, '5%', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')], + [54, '6^', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')], + [55, '7&', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')], + [56, '8*', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')], + [57, '9(', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')], + [48, '0)', DEFAULT, c('onPlusMinusZero_'),c('onAltNum_'),c('onPlusMinusZero_')], + [189, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')], + [187, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')], + // Firefox -_ and =+ + [173, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')], + [61, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')], + // Firefox Italian +* + [171, '+*', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')], + + [8, '[BKSP]', bs('\x7f', '\b'), bs('\b', '\x7f'), DEFAULT, DEFAULT], + + // Third row. + [9, '[TAB]', sh('\t', CSI + 'Z'), STRIP, PASS, DEFAULT], + [81, 'qQ', DEFAULT, ctl('Q'), DEFAULT, DEFAULT], + [87, 'wW', DEFAULT, ctl('W'), DEFAULT, DEFAULT], + [69, 'eE', DEFAULT, ctl('E'), DEFAULT, DEFAULT], + [82, 'rR', DEFAULT, ctl('R'), DEFAULT, DEFAULT], + [84, 'tT', DEFAULT, ctl('T'), DEFAULT, DEFAULT], + [89, 'yY', DEFAULT, ctl('Y'), DEFAULT, DEFAULT], + [85, 'uU', DEFAULT, ctl('U'), DEFAULT, DEFAULT], + [73, 'iI', DEFAULT, ctl('I'), DEFAULT, DEFAULT], + [79, 'oO', DEFAULT, ctl('O'), DEFAULT, DEFAULT], + [80, 'pP', DEFAULT, ctl('P'), DEFAULT, DEFAULT], + [219, '[{', DEFAULT, ctl('['), DEFAULT, DEFAULT], + [221, ']}', DEFAULT, ctl(']'), DEFAULT, DEFAULT], + [220, '\\|', DEFAULT, ctl('\\'), DEFAULT, DEFAULT], + + // Fourth row. (We let Ctrl-Shift-J pass for Chrome DevTools.) + [20, '[CAPS]', PASS, PASS, PASS, DEFAULT], + [65, 'aA', DEFAULT, ctl('A'), DEFAULT, DEFAULT], + [83, 'sS', DEFAULT, ctl('S'), DEFAULT, DEFAULT], + [68, 'dD', DEFAULT, ctl('D'), DEFAULT, DEFAULT], + [70, 'fF', DEFAULT, ctl('F'), DEFAULT, DEFAULT], + [71, 'gG', DEFAULT, ctl('G'), DEFAULT, DEFAULT], + [72, 'hH', DEFAULT, ctl('H'), DEFAULT, DEFAULT], + [74, 'jJ', DEFAULT, sh(ctl('J'), PASS), DEFAULT, DEFAULT], + [75, 'kK', DEFAULT, sh(ctl('K'), c('onClear_')), DEFAULT, DEFAULT], + [76, 'lL', DEFAULT, sh(ctl('L'), PASS), DEFAULT, DEFAULT], + [186, ';:', DEFAULT, STRIP, DEFAULT, DEFAULT], + [222, '\'"', DEFAULT, STRIP, DEFAULT, DEFAULT], + [13, '[ENTER]', '\r', CANCEL, CANCEL, DEFAULT], + + // Fifth row. This includes the copy/paste shortcuts. On some + // platforms it's Ctrl-C/V, on others it's Meta-C/V. We assume either + // Ctrl-C/Meta-C should pass to the browser when there is a selection, + // and Ctrl-Shift-V/Meta-*-V should always pass to the browser (since + // these seem to be recognized as paste too). + [16, '[SHIFT]', PASS, PASS, PASS, DEFAULT], + [90, 'zZ', DEFAULT, ctl('Z'), DEFAULT, DEFAULT], + [88, 'xX', DEFAULT, ctl('X'), DEFAULT, DEFAULT], + [67, 'cC', DEFAULT, c('onCtrlC_'), DEFAULT, c('onMetaC_')], + [86, 'vV', DEFAULT, c('onCtrlV_'), DEFAULT, c('onMetaV_')], + [66, 'bB', DEFAULT, sh(ctl('B'), PASS), DEFAULT, sh(DEFAULT, PASS)], + [78, 'nN', DEFAULT, c('onCtrlN_'), DEFAULT, c('onMetaN_')], + [77, 'mM', DEFAULT, ctl('M'), DEFAULT, DEFAULT], + [188, ',<', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT], + [190, '.>', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT], + [191, '/?', DEFAULT, sh(ctl('_'), ctl('?')), DEFAULT, DEFAULT], + + // Sixth and final row. + [17, '[CTRL]', PASS, PASS, PASS, PASS], + [18, '[ALT]', PASS, PASS, PASS, PASS], + [91, '[LAPL]', PASS, PASS, PASS, PASS], + [32, ' ', DEFAULT, ctl('@'), DEFAULT, DEFAULT], + [92, '[RAPL]', PASS, PASS, PASS, PASS], + [93, '[RMENU]', PASS, PASS, PASS, PASS], + + // These things. + [42, '[PRTSCR]', PASS, PASS, PASS, PASS], + [145, '[SCRLK]', PASS, PASS, PASS, PASS], + [19, '[BREAK]', PASS, PASS, PASS, PASS], + + // The block of six keys above the arrows. + [45, '[INSERT]', c('onKeyInsert_'), DEFAULT, DEFAULT, DEFAULT], + [36, '[HOME]', c('onKeyHome_'), DEFAULT, DEFAULT, DEFAULT], + [33, '[PGUP]', c('onKeyPageUp_'), DEFAULT, DEFAULT, DEFAULT], + [46, '[DEL]', c('onKeyDel_'), DEFAULT, DEFAULT, DEFAULT], + [35, '[END]', c('onKeyEnd_'), DEFAULT, DEFAULT, DEFAULT], + [34, '[PGDOWN]', c('onKeyPageDown_'), DEFAULT, DEFAULT, DEFAULT], + + // Arrow keys. When unmodified they respect the application cursor state, + // otherwise they always send the CSI codes. + [38, '[UP]', c('onKeyArrowUp_'), DEFAULT, DEFAULT, DEFAULT], + [40, '[DOWN]', c('onKeyArrowDown_'), DEFAULT, DEFAULT, DEFAULT], + [39, '[RIGHT]', ac(CSI + 'C', SS3 + 'C'), DEFAULT, DEFAULT, DEFAULT], + [37, '[LEFT]', ac(CSI + 'D', SS3 + 'D'), DEFAULT, DEFAULT, DEFAULT], + + [144, '[NUMLOCK]', PASS, PASS, PASS, PASS], + + // With numlock off, the keypad generates the same key codes as the arrows + // and 'block of six' for some keys, and null key codes for the rest. + + // Keypad with numlock on generates unique key codes... + [96, '[KP0]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], + [97, '[KP1]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], + [98, '[KP2]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], + [99, '[KP3]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], + [100, '[KP4]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], + [101, '[KP5]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], + [102, '[KP6]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], + [103, '[KP7]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], + [104, '[KP8]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], + [105, '[KP9]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], + [107, '[KP+]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')], + [109, '[KP-]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')], + [106, '[KP*]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], + [111, '[KP/]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], + [110, '[KP.]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], + + // Chrome OS keyboard top row. + [166, '[BACK]', med(mod(SS3+'P', CSI+'P')), DEFAULT, CSI+"23~", DEFAULT], + [167, '[FWD]', med(mod(SS3+'Q', CSI+'Q')), DEFAULT, CSI+"24~", DEFAULT], + [168, '[RELOAD]', med(mod(SS3+'R', CSI+'R')), DEFAULT, CSI+"25~", DEFAULT], + [183, '[FSCR]', med(mod(SS3+'S', CSI+'S')), DEFAULT, CSI+"26~", DEFAULT], + [182, '[WINS]', med(CSI + '15~'), DEFAULT, CSI+"28~", DEFAULT], + [216, '[BRIT-]', med(CSI + '17~'), DEFAULT, CSI+"29~", DEFAULT], + [217, '[BRIT+]', med(CSI + '18~'), DEFAULT, CSI+"31~", DEFAULT] + + // 173 [MUTE], 174 [VOL-] and 175 [VOL+] are trapped by the Chrome OS + // window manager, so we'll never see them. Note that 173 is also + // Firefox's -_ keycode. + ); +}; + +/** + * Either allow the paste or send a key sequence. + */ +hterm.Keyboard.KeyMap.prototype.onKeyInsert_ = function(e) { + if (this.keyboard.shiftInsertPaste && e.shiftKey) + return hterm.Keyboard.KeyActions.PASS; + + return '\x1b[2~'; +}; + +/** + * Either scroll the scrollback buffer or send a key sequence. + */ +hterm.Keyboard.KeyMap.prototype.onKeyHome_ = function(e) { + if (!this.keyboard.homeKeysScroll ^ e.shiftKey) { + if ((e.altey || e.ctrlKey || e.shiftKey) || + !this.keyboard.applicationCursor) { + return '\x1b[H'; + } + + return '\x1bOH'; + } + + this.keyboard.terminal.scrollHome(); + return hterm.Keyboard.KeyActions.CANCEL; +}; + +/** + * Either scroll the scrollback buffer or send a key sequence. + */ +hterm.Keyboard.KeyMap.prototype.onKeyEnd_ = function(e) { + if (!this.keyboard.homeKeysScroll ^ e.shiftKey) { + if ((e.altKey || e.ctrlKey || e.shiftKey) || + !this.keyboard.applicationCursor) { + return '\x1b[F'; + } + + return '\x1bOF'; + } + + this.keyboard.terminal.scrollEnd(); + return hterm.Keyboard.KeyActions.CANCEL; +}; + +/** + * Either scroll the scrollback buffer or send a key sequence. + */ +hterm.Keyboard.KeyMap.prototype.onKeyPageUp_ = function(e) { + if (!this.keyboard.pageKeysScroll ^ e.shiftKey) + return '\x1b[5~'; + + this.keyboard.terminal.scrollPageUp(); + return hterm.Keyboard.KeyActions.CANCEL; +}; + +/** + * Either send a true DEL, or sub in meta-backspace. + * + * On Chrome OS, if we know the alt key is down, but we get a DEL event that + * claims that the alt key is not pressed, we know the DEL was a synthetic + * one from a user that hit alt-backspace. Based on a user pref, we can sub + * in meta-backspace in this case. + */ +hterm.Keyboard.KeyMap.prototype.onKeyDel_ = function(e) { + if (this.keyboard.altBackspaceIsMetaBackspace && + this.keyboard.altKeyPressed && !e.altKey) + return '\x1b\x7f'; + return '\x1b[3~'; +}; + +/** + * Either scroll the scrollback buffer or send a key sequence. + */ +hterm.Keyboard.KeyMap.prototype.onKeyPageDown_ = function(e) { + if (!this.keyboard.pageKeysScroll ^ e.shiftKey) + return '\x1b[6~'; + + this.keyboard.terminal.scrollPageDown(); + return hterm.Keyboard.KeyActions.CANCEL; +}; + +/** + * Either scroll the scrollback buffer or send a key sequence. + */ +hterm.Keyboard.KeyMap.prototype.onKeyArrowUp_ = function(e) { + if (!this.keyboard.applicationCursor && e.shiftKey) { + this.keyboard.terminal.scrollLineUp(); + return hterm.Keyboard.KeyActions.CANCEL; + } + + return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey || + !this.keyboard.applicationCursor) ? '\x1b[A' : '\x1bOA'; +}; + +/** + * Either scroll the scrollback buffer or send a key sequence. + */ +hterm.Keyboard.KeyMap.prototype.onKeyArrowDown_ = function(e) { + if (!this.keyboard.applicationCursor && e.shiftKey) { + this.keyboard.terminal.scrollLineDown(); + return hterm.Keyboard.KeyActions.CANCEL; + } + + return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey || + !this.keyboard.applicationCursor) ? '\x1b[B' : '\x1bOB'; +}; + +/** + * Clear the primary/alternate screens and the scrollback buffer. + */ +hterm.Keyboard.KeyMap.prototype.onClear_ = function(e, keyDef) { + this.keyboard.terminal.wipeContents(); + return hterm.Keyboard.KeyActions.CANCEL; +}; + +/** + * Either pass Ctrl-1..9 to the browser or send them to the host. + * + * Note that Ctrl-1 and Ctrl-9 don't actually have special sequences mapped + * to them in xterm or gnome-terminal. The range is really Ctrl-2..8, but + * we handle 1..9 since Chrome treats the whole range special. + */ +hterm.Keyboard.KeyMap.prototype.onCtrlNum_ = function(e, keyDef) { + // Compute a control character for a given character. + function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) } + + if (this.keyboard.terminal.passCtrlNumber && !e.shiftKey) + return hterm.Keyboard.KeyActions.PASS; + + switch (keyDef.keyCap.substr(0, 1)) { + case '1': return '1'; + case '2': return ctl('@'); + case '3': return ctl('['); + case '4': return ctl('\\'); + case '5': return ctl(']'); + case '6': return ctl('^'); + case '7': return ctl('_'); + case '8': return '\x7f'; + case '9': return '9'; + } +}; + +/** + * Either pass Alt-1..9 to the browser or send them to the host. + */ +hterm.Keyboard.KeyMap.prototype.onAltNum_ = function(e, keyDef) { + if (this.keyboard.terminal.passAltNumber && !e.shiftKey) + return hterm.Keyboard.KeyActions.PASS; + + return hterm.Keyboard.KeyActions.DEFAULT; +}; + +/** + * Either pass Meta-1..9 to the browser or send them to the host. + */ +hterm.Keyboard.KeyMap.prototype.onMetaNum_ = function(e, keyDef) { + if (this.keyboard.terminal.passMetaNumber && !e.shiftKey) + return hterm.Keyboard.KeyActions.PASS; + + return hterm.Keyboard.KeyActions.DEFAULT; +}; + +/** + * Either send a ^C or interpret the keystroke as a copy command. + */ +hterm.Keyboard.KeyMap.prototype.onCtrlC_ = function(e, keyDef) { + var selection = this.keyboard.terminal.getDocument().getSelection(); + + if (!selection.isCollapsed) { + if (this.keyboard.ctrlCCopy && !e.shiftKey) { + // Ctrl-C should copy if there is a selection, send ^C otherwise. + // Perform the copy by letting the browser handle Ctrl-C. On most + // browsers, this is the *only* way to place text on the clipboard from + // the 'drive-by' web. + if (this.keyboard.terminal.clearSelectionAfterCopy) { + setTimeout(selection.collapseToEnd.bind(selection), 50); + } + return hterm.Keyboard.KeyActions.PASS; + } + + if (!this.keyboard.ctrlCCopy && e.shiftKey) { + // Ctrl-Shift-C should copy if there is a selection, send ^C otherwise. + // Perform the copy manually. This only works in situations where + // document.execCommand('copy') is allowed. + if (this.keyboard.terminal.clearSelectionAfterCopy) { + setTimeout(selection.collapseToEnd.bind(selection), 50); + } + this.keyboard.terminal.copySelectionToClipboard(); + return hterm.Keyboard.KeyActions.CANCEL; + } + } + + return '\x03'; +}; + +/** + * Either send a ^N or open a new window to the same location. + */ +hterm.Keyboard.KeyMap.prototype.onCtrlN_ = function(e, keyDef) { + if (e.shiftKey) { + window.open(document.location.href, '', + 'chrome=no,close=yes,resize=yes,scrollbars=yes,' + + 'minimizable=yes,width=' + window.innerWidth + + ',height=' + window.innerHeight); + return hterm.Keyboard.KeyActions.CANCEL; + } + + return '\x0e'; +}; + +/** + * Either send a ^V or issue a paste command. + * + * The default behavior is to paste if the user presses Ctrl-Shift-V, and send + * a ^V if the user presses Ctrl-V. This can be flipped with the + * 'ctrl-v-paste' preference. + * + */ +hterm.Keyboard.KeyMap.prototype.onCtrlV_ = function(e, keyDef) { + if ((!e.shiftKey && this.keyboard.ctrlVPaste) || + (e.shiftKey && !this.keyboard.ctrlVPaste)) { + // We try to do the pasting ourselves as not all browsers/OSs bind Ctrl-V to + // pasting. Notably, on macOS, Ctrl-V/Ctrl-Shift-V do nothing. + // However, this might run into web restrictions, so if it fails, we still + // fallback to the letting the native behavior (hopefully) save us. + if (this.keyboard.terminal.paste()) + return hterm.Keyboard.KeyActions.CANCEL; + else + return hterm.Keyboard.KeyActions.PASS; + } + + return '\x16'; +}; + +/** + * Either the default action or open a new window to the same location. + */ +hterm.Keyboard.KeyMap.prototype.onMetaN_ = function(e, keyDef) { + if (e.shiftKey) { + window.open(document.location.href, '', + 'chrome=no,close=yes,resize=yes,scrollbars=yes,' + + 'minimizable=yes,width=' + window.outerWidth + + ',height=' + window.outerHeight); + return hterm.Keyboard.KeyActions.CANCEL; + } + + return hterm.Keyboard.KeyActions.DEFAULT; +}; + +/** + * Either send a Meta-C or allow the browser to interpret the keystroke as a + * copy command. + * + * If there is no selection, or if the user presses Meta-Shift-C, then we'll + * transmit an '\x1b' (if metaSendsEscape is on) followed by 'c' or 'C'. + * + * If there is a selection, we defer to the browser. In this case we clear out + * the selection so the user knows we heard them, and also to give them a + * chance to send a Meta-C by just hitting the key again. + */ +hterm.Keyboard.KeyMap.prototype.onMetaC_ = function(e, keyDef) { + var document = this.keyboard.terminal.getDocument(); + if (e.shiftKey || document.getSelection().isCollapsed) { + // If the shift key is being held, or there is no document selection, send + // a Meta-C. The keyboard code will add the ESC if metaSendsEscape is true, + // we just have to decide between 'c' and 'C'. + return keyDef.keyCap.substr(e.shiftKey ? 1 : 0, 1); + } + + // Otherwise let the browser handle it as a copy command. + if (this.keyboard.terminal.clearSelectionAfterCopy) { + setTimeout(function() { document.getSelection().collapseToEnd() }, 50); + } + return hterm.Keyboard.KeyActions.PASS; +}; + +/** + * Either PASS or DEFAULT Meta-V, depending on preference. + * + * Always PASS Meta-Shift-V to allow browser to interpret the keystroke as + * a paste command. + */ +hterm.Keyboard.KeyMap.prototype.onMetaV_ = function(e, keyDef) { + if (e.shiftKey) + return hterm.Keyboard.KeyActions.PASS; + + return this.keyboard.passMetaV ? + hterm.Keyboard.KeyActions.PASS : + hterm.Keyboard.KeyActions.DEFAULT; +}; + +/** + * Handle font zooming. + * + * The browser's built-in zoom has a bit of an issue at certain zoom levels. + * At some magnifications, the measured height of a row of text differs from + * the height that was explicitly set. + * + * We override the browser zoom keys to change the ScrollPort's font size to + * avoid the issue. + */ +hterm.Keyboard.KeyMap.prototype.onPlusMinusZero_ = function(e, keyDef) { + if (!(this.keyboard.ctrlPlusMinusZeroZoom ^ e.shiftKey)) { + // If ctrl-PMZ controls zoom and the shift key is pressed, or + // ctrl-shift-PMZ controls zoom and this shift key is not pressed, + // then we want to send the control code instead of affecting zoom. + if (keyDef.keyCap == '-_') + return '\x1f'; // ^_ + + // Only ^_ is valid, the other sequences have no meaning. + return hterm.Keyboard.KeyActions.CANCEL; + } + + if (this.keyboard.terminal.getZoomFactor() != 1) { + // If we're not at 1:1 zoom factor, let the Ctrl +/-/0 keys control the + // browser zoom, so it's easier to for the user to get back to 100%. + return hterm.Keyboard.KeyActions.PASS; + } + + var cap = keyDef.keyCap.substr(0, 1); + if (cap == '0') { + this.keyboard.terminal.setFontSize(0); + } else { + var size = this.keyboard.terminal.getFontSize(); + + if (cap == '-' || keyDef.keyCap == '[KP-]') { + size -= 1; + } else { + size += 1; + } + + this.keyboard.terminal.setFontSize(size); + } + + return hterm.Keyboard.KeyActions.CANCEL; +}; +// SOURCE FILE: hterm/js/hterm_keyboard_keypattern.js +// Copyright (c) 2015 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +/** + * A record of modifier bits and keycode used to define a key binding. + * + * The modifier names are enumerated in the static KeyPattern.modifiers + * property below. Each modifier can be true, false, or "*". True means + * the modifier key must be present, false means it must not, and "*" means + * it doesn't matter. + */ +hterm.Keyboard.KeyPattern = function(spec) { + this.wildcardCount = 0; + this.keyCode = spec.keyCode; + + hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) { + this[mod] = spec[mod] || false; + if (this[mod] == '*') + this.wildcardCount++; + }.bind(this)); +}; + +/** + * Valid modifier names. + */ +hterm.Keyboard.KeyPattern.modifiers = [ + 'shift', 'ctrl', 'alt', 'meta' +]; + +/** + * A compare callback for Array.prototype.sort(). + * + * The bindings code wants to be sure to search through the strictest key + * patterns first, so that loosely defined patterns have a lower priority than + * exact patterns. + * + * @param {hterm.Keyboard.KeyPattern} a + * @param {hterm.Keyboard.KeyPattern} b + */ +hterm.Keyboard.KeyPattern.sortCompare = function(a, b) { + if (a.wildcardCount < b.wildcardCount) + return -1; + + if (a.wildcardCount > b.wildcardCount) + return 1; + + return 0; +}; + +/** + * Private method used to match this key pattern against other key patterns + * or key down events. + * + * @param {Object} The object to match. + * @param {boolean} True if we should ignore wildcards. Useful when you want + * to perform and exact match against another key pattern. + */ +hterm.Keyboard.KeyPattern.prototype.match_ = function(obj, exactMatch) { + if (this.keyCode != obj.keyCode) + return false; + + var rv = true; + + hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) { + var modValue = (mod in obj) ? obj[mod] : false; + if (!rv || (!exactMatch && this[mod] == '*') || this[mod] == modValue) + return; + + rv = false; + }.bind(this)); + + return rv; +}; + +/** + * Return true if the given keyDown object is a match for this key pattern. + * + * @param {Object} keyDown An object with a keyCode property and zero or + * more boolean properties representing key modifiers. These property names + * must match those defined in hterm.Keyboard.KeyPattern.modifiers. + */ +hterm.Keyboard.KeyPattern.prototype.matchKeyDown = function(keyDown) { + return this.match_(keyDown, false); +}; + +/** + * Return true if the given hterm.Keyboard.KeyPattern is exactly the same as + * this one. + * + * @param {hterm.Keyboard.KeyPattern} + */ +hterm.Keyboard.KeyPattern.prototype.matchKeyPattern = function(keyPattern) { + return this.match_(keyPattern, true); +}; +// SOURCE FILE: hterm/js/hterm_options.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +/** + * @fileoverview This file implements the hterm.Options class, + * which stores current operating conditions for the terminal. This object is + * used instead of a series of parameters to allow saving/restoring of cursor + * conditions easily, and to provide an easy place for common configuration + * options. + * + * Original code by Cory Maccarrone. + */ + +/** + * Constructor for the hterm.Options class, optionally acting as a copy + * constructor. + * + * The defaults are as defined in http://www.vt100.net/docs/vt510-rm/DECSTR + * except that we enable autowrap (wraparound) by default since that seems to + * be what xterm does. + * + * @param {hterm.Options=} opt_copy Optional instance to copy. + * @constructor + */ +hterm.Options = function(opt_copy) { + // All attributes in this class are public to allow easy access by the + // terminal. + + this.wraparound = opt_copy ? opt_copy.wraparound : true; + this.reverseWraparound = opt_copy ? opt_copy.reverseWraparound : false; + this.originMode = opt_copy ? opt_copy.originMode : false; + this.autoCarriageReturn = opt_copy ? opt_copy.autoCarriageReturn : false; + this.cursorVisible = opt_copy ? opt_copy.cursorVisible : false; + this.cursorBlink = opt_copy ? opt_copy.cursorBlink : false; + this.insertMode = opt_copy ? opt_copy.insertMode : false; + this.reverseVideo = opt_copy ? opt_copy.reverseVideo : false; + this.bracketedPaste = opt_copy ? opt_copy.bracketedPaste : false; +}; +// SOURCE FILE: hterm/js/hterm_parser.js +// Copyright (c) 2015 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +lib.rtdep('hterm.Keyboard.KeyActions'); + +/** + * @constructor + * Parses the key definition syntax used for user keyboard customizations. + */ +hterm.Parser = function() { + /** + * @type {string} The source string. + */ + this.source = ''; + + /** + * @type {number} The current position. + */ + this.pos = 0; + + /** + * @type {string?} The character at the current position. + */ + this.ch = null; +}; + +hterm.Parser.prototype.error = function(message) { + return new Error('Parse error at ' + this.pos + ': ' + message); +}; + +hterm.Parser.prototype.isComplete = function() { + return this.pos == this.source.length; +}; + +hterm.Parser.prototype.reset = function(source, opt_pos) { + this.source = source; + this.pos = opt_pos || 0; + this.ch = source.substr(0, 1); +}; + +/** + * Parse a key sequence. + * + * A key sequence is zero or more of the key modifiers defined in + * hterm.Parser.identifiers.modifierKeys followed by a key code. Key + * codes can be an integer or an identifier from + * hterm.Parser.identifiers.keyCodes. Modifiers and keyCodes should be joined + * by the dash character. + * + * An asterisk "*" can be used to indicate that the unspecified modifiers + * are optional. + * + * For example: + * A: Matches only an unmodified "A" character. + * 65: Same as above. + * 0x41: Same as above. + * Ctrl-A: Matches only Ctrl-A. + * Ctrl-65: Same as above. + * Ctrl-0x41: Same as above. + * Ctrl-Shift-A: Matches only Ctrl-Shift-A. + * Ctrl-*-A: Matches Ctrl-A, as well as any other key sequence that includes + * at least the Ctrl and A keys. + * + * @return {Object} An object with shift, ctrl, alt, meta, keyCode + * properties. + */ +hterm.Parser.prototype.parseKeySequence = function() { + var rv = { + keyCode: null + }; + + for (var k in hterm.Parser.identifiers.modifierKeys) { + rv[hterm.Parser.identifiers.modifierKeys[k]] = false; + } + + while (this.pos < this.source.length) { + this.skipSpace(); + + var token = this.parseToken(); + if (token.type == 'integer') { + rv.keyCode = token.value; + + } else if (token.type == 'identifier') { + var ucValue = token.value.toUpperCase(); + if (ucValue in hterm.Parser.identifiers.modifierKeys && + hterm.Parser.identifiers.modifierKeys.hasOwnProperty(ucValue)) { + var mod = hterm.Parser.identifiers.modifierKeys[ucValue]; + if (rv[mod] && rv[mod] != '*') + throw this.error('Duplicate modifier: ' + token.value); + rv[mod] = true; + + } else if (ucValue in hterm.Parser.identifiers.keyCodes && + hterm.Parser.identifiers.keyCodes.hasOwnProperty(ucValue)) { + rv.keyCode = hterm.Parser.identifiers.keyCodes[ucValue]; + + } else { + throw this.error('Unknown key: ' + token.value); + } + + } else if (token.type == 'symbol') { + if (token.value == '*') { + for (var id in hterm.Parser.identifiers.modifierKeys) { + var p = hterm.Parser.identifiers.modifierKeys[id]; + if (!rv[p]) + rv[p] = '*'; + } + } else { + throw this.error('Unexpected symbol: ' + token.value); + } + } else { + throw this.error('Expected integer or identifier'); + } + + this.skipSpace(); + + if (this.ch != '-') + break; + + if (rv.keyCode != null) + throw this.error('Extra definition after target key'); + + this.advance(1); + } + + if (rv.keyCode == null) + throw this.error('Missing target key'); + + return rv; +}; + +hterm.Parser.prototype.parseKeyAction = function() { + this.skipSpace(); + + var token = this.parseToken(); + + if (token.type == 'string') + return token.value; + + if (token.type == 'identifier') { + if (token.value in hterm.Parser.identifiers.actions && + hterm.Parser.identifiers.actions.hasOwnProperty(token.value)) + return hterm.Parser.identifiers.actions[token.value]; + + throw this.error('Unknown key action: ' + token.value); + } + + throw this.error('Expected string or identifier'); + +}; + +hterm.Parser.prototype.peekString = function() { + return this.ch == '\'' || this.ch == '"'; +}; + +hterm.Parser.prototype.peekIdentifier = function() { + return this.ch.match(/[a-z_]/i); +}; + +hterm.Parser.prototype.peekInteger = function() { + return this.ch.match(/[0-9]/); +}; + +hterm.Parser.prototype.parseToken = function() { + if (this.ch == '*') { + var rv = {type: 'symbol', value: this.ch}; + this.advance(1); + return rv; + } + + if (this.peekIdentifier()) + return {type: 'identifier', value: this.parseIdentifier()}; + + if (this.peekString()) + return {type: 'string', value: this.parseString()}; + + if (this.peekInteger()) + return {type: 'integer', value: this.parseInteger()}; + + + throw this.error('Unexpected token'); +}; + +hterm.Parser.prototype.parseIdentifier = function() { + if (!this.peekIdentifier()) + throw this.error('Expected identifier'); + + return this.parsePattern(/[a-z0-9_]+/ig); +}; + +hterm.Parser.prototype.parseInteger = function() { + var base = 10; + + if (this.ch == '0' && this.pos < this.source.length - 1 && + this.source.substr(this.pos + 1, 1) == 'x') { + return parseInt(this.parsePattern(/0x[0-9a-f]+/gi)); + } + + return parseInt(this.parsePattern(/\d+/g)); +}; + +/** + * Parse a single or double quoted string. + * + * The current position should point at the initial quote character. Single + * quoted strings will be treated literally, double quoted will process escapes. + * + * TODO(rginda): Variable interpolation. + * + * @param {ParseState} parseState + * @param {string} quote A single or double-quote character. + * @return {string} + */ +hterm.Parser.prototype.parseString = function() { + var result = ''; + + var quote = this.ch; + if (quote != '"' && quote != '\'') + throw this.error('String expected'); + + this.advance(1); + + var re = new RegExp('[\\\\' + quote + ']', 'g'); + + while (this.pos < this.source.length) { + re.lastIndex = this.pos; + if (!re.exec(this.source)) + throw this.error('Unterminated string literal'); + + result += this.source.substring(this.pos, re.lastIndex - 1); + + this.advance(re.lastIndex - this.pos - 1); + + if (quote == '"' && this.ch == '\\') { + this.advance(1); + result += this.parseEscape(); + continue; + } + + if (quote == '\'' && this.ch == '\\') { + result += this.ch; + this.advance(1); + continue; + } + + if (this.ch == quote) { + this.advance(1); + return result; + } + } + + throw this.error('Unterminated string literal'); +}; + + +/** + * Parse an escape code from the current position (which should point to + * the first character AFTER the leading backslash.) + * + * @return {string} + */ +hterm.Parser.prototype.parseEscape = function() { + var map = { + '"': '"', + '\'': '\'', + '\\': '\\', + 'a': '\x07', + 'b': '\x08', + 'e': '\x1b', + 'f': '\x0c', + 'n': '\x0a', + 'r': '\x0d', + 't': '\x09', + 'v': '\x0b', + 'x': function() { + var value = this.parsePattern(/[a-z0-9]{2}/ig); + return String.fromCharCode(parseInt(value, 16)); + }, + 'u': function() { + var value = this.parsePattern(/[a-z0-9]{4}/ig); + return String.fromCharCode(parseInt(value, 16)); + } + }; + + if (!(this.ch in map && map.hasOwnProperty(this.ch))) + throw this.error('Unknown escape: ' + this.ch); + + var value = map[this.ch]; + this.advance(1); + + if (typeof value == 'function') + value = value.call(this); + + return value; +}; + +/** + * Parse the given pattern starting from the current position. + * + * @param {RegExp} pattern A pattern representing the characters to span. MUST + * include the "global" RegExp flag. + * @return {string} + */ +hterm.Parser.prototype.parsePattern = function(pattern) { + if (!pattern.global) + throw this.error('Internal error: Span patterns must be global'); + + pattern.lastIndex = this.pos; + var ary = pattern.exec(this.source); + + if (!ary || pattern.lastIndex - ary[0].length != this.pos) + throw this.error('Expected match for: ' + pattern); + + this.pos = pattern.lastIndex - 1; + this.advance(1); + + return ary[0]; +}; + + +/** + * Advance the current position. + * + * @param {number} count + */ +hterm.Parser.prototype.advance = function(count) { + this.pos += count; + this.ch = this.source.substr(this.pos, 1); +}; + +/** + * @param {string=} opt_expect A list of valid non-whitespace characters to + * terminate on. + * @return {void} + */ +hterm.Parser.prototype.skipSpace = function(opt_expect) { + if (!/\s/.test(this.ch)) + return; + + var re = /\s+/gm; + re.lastIndex = this.pos; + + var source = this.source; + if (re.exec(source)) + this.pos = re.lastIndex; + + this.ch = this.source.substr(this.pos, 1); + + if (opt_expect) { + if (this.ch.indexOf(opt_expect) == -1) { + throw this.error('Expected one of ' + opt_expect + ', found: ' + + this.ch); + } + } +}; +// SOURCE FILE: hterm/js/hterm_parser_identifiers.js +// Copyright (c) 2015 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +/** + * Collections of identifier for hterm.Parser. + */ +hterm.Parser.identifiers = {}; + +/** + * Modifier key names used when defining key sequences. + * + * These are upper case so we can normalize the user input and be forgiving. + * "CTRL-A" and "Ctrl-A" and "ctrl-a" are all accepted. + * + * Note: Names here cannot overlap with hterm.Parser.identifiers.keyCodes. + */ +hterm.Parser.identifiers.modifierKeys = { + SHIFT: 'shift', + CTRL: 'ctrl', + // Common alias. + CONTROL: 'ctrl', + ALT: 'alt', + META: 'meta' +}; + +/** + * Key codes useful when defining key sequences. + * + * Punctuation is mostly left out of this list because they can move around + * based on keyboard locale and browser. + * + * In a key sequence like "Ctrl-ESC", the ESC comes from this list of + * identifiers. It is equivalent to "Ctrl-27" and "Ctrl-0x1b". + * + * These are upper case so we can normalize the user input and be forgiving. + * "Ctrl-ESC" and "Ctrl-Esc" an "Ctrl-esc" are all accepted. + * + * We also include common aliases for the same key. "Esc" and "Escape" are the + * same key. + * + * Note: Names here cannot overlap with hterm.Parser.identifiers.modifierKeys. + */ +hterm.Parser.identifiers.keyCodes = { + // Top row. + ESCAPE: 27, + ESC: 27, + F1: 112, + F2: 113, + F3: 114, + F4: 115, + F5: 116, + F6: 117, + F7: 118, + F8: 119, + F9: 120, + F10: 121, + F11: 122, + F12: 123, + + // Row two. + ONE: 49, + TWO: 50, + THREE: 51, + FOUR: 52, + FIVE: 53, + SIX: 54, + SEVEN: 55, + EIGHT: 56, + NINE: 57, + ZERO: 48, + BACKSPACE: 8, + BKSP: 8, + BS: 8, + + // Row three. + TAB: 9, + Q: 81, + W: 87, + E: 69, + R: 82, + T: 84, + Y: 89, + U: 85, + I: 73, + O: 79, + P: 80, + + // Row four. + CAPS_LOCK: 20, + CAPSLOCK: 20, + CAPS: 20, + A: 65, + S: 83, + D: 68, + F: 70, + G: 71, + H: 72, + J: 74, + K: 75, + L: 76, + // We map enter and return together even though enter should really be 10 + // because most people don't know or care about the history here. Plus, + // most keyboards/programs map them together already. If they really want + // to bind them differently, they can also use the numeric value. + ENTER: 13, + ENT: 13, + RETURN: 13, + RET: 13, + + // Row five. + Z: 90, + X: 88, + C: 67, + V: 86, + B: 66, + N: 78, + M: 77, + + // Etc. + SPACE: 32, + SP: 32, + PRINT_SCREEN: 42, + PRTSC: 42, + SCROLL_LOCK: 145, + SCRLK: 145, + BREAK: 19, + BRK: 19, + INSERT: 45, + INS: 45, + HOME: 36, + PAGE_UP: 33, + PGUP: 33, + DELETE: 46, + DEL: 46, + END: 35, + PAGE_DOWN: 34, + PGDOWN: 34, + PGDN: 34, + UP: 38, + DOWN: 40, + RIGHT: 39, + LEFT: 37, + NUMLOCK: 144, + + // Keypad + KP0: 96, + KP1: 97, + KP2: 98, + KP3: 99, + KP4: 100, + KP5: 101, + KP6: 102, + KP7: 103, + KP8: 104, + KP9: 105, + KP_PLUS: 107, + KP_ADD: 107, + KP_MINUS: 109, + KP_SUBTRACT: 109, + KP_STAR: 106, + KP_MULTIPLY: 106, + KP_DIVIDE: 111, + KP_DECIMAL: 110, + KP_PERIOD: 110, + + // Chrome OS media keys + NAVIGATE_BACK: 166, + NAVIGATE_FORWARD: 167, + RELOAD: 168, + FULL_SCREEN: 183, + WINDOW_OVERVIEW: 182, + BRIGHTNESS_UP: 216, + BRIGHTNESS_DOWN: 217 +}; + +/** + * Identifiers for use in key actions. + */ +hterm.Parser.identifiers.actions = { + /** + * Prevent the browser and operating system from handling the event. + */ + CANCEL: hterm.Keyboard.KeyActions.CANCEL, + + /** + * Wait for a "keypress" event, send the keypress charCode to the host. + */ + DEFAULT: hterm.Keyboard.KeyActions.DEFAULT, + + /** + * Let the browser or operating system handle the key. + */ + PASS: hterm.Keyboard.KeyActions.PASS, + + /** + * Scroll the terminal one page up. + */ + scrollPageUp: function(terminal) { + terminal.scrollPageUp(); + return hterm.Keyboard.KeyActions.CANCEL; + }, + + /** + * Scroll the terminal one page down. + */ + scrollPageDown: function(terminal) { + terminal.scrollPageDown(); + return hterm.Keyboard.KeyActions.CANCEL; + }, + + /** + * Scroll the terminal to the top. + */ + scrollToTop: function(terminal) { + terminal.scrollEnd(); + return hterm.Keyboard.KeyActions.CANCEL; + }, + + /** + * Scroll the terminal to the bottom. + */ + scrollToBottom: function(terminal) { + terminal.scrollEnd(); + return hterm.Keyboard.KeyActions.CANCEL; + }, + + /** + * Clear the terminal and scrollback buffer. + */ + clearScrollback: function(terminal) { + terminal.wipeContents(); + return hterm.Keyboard.KeyActions.CANCEL; + } +}; +// SOURCE FILE: hterm/js/hterm_preference_manager.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +lib.rtdep('lib.f', 'lib.Storage'); + +/** + * PreferenceManager subclass managing global NaSSH preferences. + * + * This is currently just an ordered list of known connection profiles. + */ +hterm.PreferenceManager = function(profileId) { + lib.PreferenceManager.call(this, hterm.defaultStorage, + '/hterm/profiles/' + profileId); + var defs = hterm.PreferenceManager.defaultPreferences; + Object.keys(defs).forEach(function(key) { + this.definePreference(key, defs[key][1]); + }.bind(this)); +}; + +hterm.PreferenceManager.categories = {}; +hterm.PreferenceManager.categories.Keyboard = 'Keyboard'; +hterm.PreferenceManager.categories.Appearance = 'Appearance'; +hterm.PreferenceManager.categories.CopyPaste = 'CopyPaste'; +hterm.PreferenceManager.categories.Sounds = 'Sounds'; +hterm.PreferenceManager.categories.Scrolling = 'Scrolling'; +hterm.PreferenceManager.categories.Encoding = 'Encoding'; +hterm.PreferenceManager.categories.Miscellaneous = 'Miscellaneous'; + +/** + * List of categories, ordered by display order (top to bottom) + */ +hterm.PreferenceManager.categoryDefinitions = [ + { id: hterm.PreferenceManager.categories.Appearance, + text: 'Appearance (fonts, colors, images)'}, + { id: hterm.PreferenceManager.categories.CopyPaste, + text: 'Copy & Paste'}, + { id: hterm.PreferenceManager.categories.Encoding, + text: 'Encoding'}, + { id: hterm.PreferenceManager.categories.Keyboard, + text: 'Keyboard'}, + { id: hterm.PreferenceManager.categories.Scrolling, + text: 'Scrolling'}, + { id: hterm.PreferenceManager.categories.Sounds, + text: 'Sounds'}, + { id: hterm.PreferenceManager.categories.Miscellaneous, + text: 'Misc.'} +]; + + +hterm.PreferenceManager.defaultPreferences = { + 'alt-gr-mode': + [hterm.PreferenceManager.categories.Keyboard, null, + [null, 'none', 'ctrl-alt', 'left-alt', 'right-alt'], + 'Select an AltGr detection hack^Wheuristic.\n' + + '\n' + + '\'null\': Autodetect based on navigator.language:\n' + + ' \'en-us\' => \'none\', else => \'right-alt\'\n' + + '\'none\': Disable any AltGr related munging.\n' + + '\'ctrl-alt\': Assume Ctrl+Alt means AltGr.\n' + + '\'left-alt\': Assume left Alt means AltGr.\n' + + '\'right-alt\': Assume right Alt means AltGr.\n'], + + 'alt-backspace-is-meta-backspace': + [hterm.PreferenceManager.categories.Keyboard, false, 'bool', + 'If set, undoes the Chrome OS Alt-Backspace->DEL remap, so that ' + + 'alt-backspace indeed is alt-backspace.'], + + 'alt-is-meta': + [hterm.PreferenceManager.categories.Keyboard, false, 'bool', + 'Set whether the alt key acts as a meta key or as a distinct alt key.'], + + 'alt-sends-what': + [hterm.PreferenceManager.categories.Keyboard, 'escape', + ['escape', '8-bit', 'browser-key'], + 'Controls how the alt key is handled.\n' + + '\n' + + ' escape....... Send an ESC prefix.\n' + + ' 8-bit........ Add 128 to the unshifted character as in xterm.\n' + + ' browser-key.. Wait for the keypress event and see what the browser \n' + + ' says. (This won\'t work well on platforms where the \n' + + ' browser performs a default action for some alt sequences.)' + ], + + 'audible-bell-sound': + [hterm.PreferenceManager.categories.Sounds, 'lib-resource:hterm/audio/bell', + 'url', + 'URL of the terminal bell sound. Empty string for no audible bell.'], + + 'desktop-notification-bell': + [hterm.PreferenceManager.categories.Sounds, false, 'bool', + 'If true, terminal bells in the background will create a Web ' + + 'Notification. https://www.w3.org/TR/notifications/\n' + + '\n'+ + 'Displaying notifications requires permission from the user. When this ' + + 'option is set to true, hterm will attempt to ask the user for permission ' + + 'if necessary. Note browsers may not show this permission request if it ' + + 'did not originate from a user action.\n' + + '\n' + + 'Chrome extensions with the "notifications" permission have permission to ' + + 'display notifications.'], + + 'background-color': + [hterm.PreferenceManager.categories.Appearance, 'rgb(16, 16, 16)', 'color', + 'The background color for text with no other color attributes.'], + + 'background-image': + [hterm.PreferenceManager.categories.Appearance, '', 'string', + 'CSS value of the background image. Empty string for no image.\n' + + '\n' + + 'For example:\n' + + ' url(https://goo.gl/anedTK)\n' + + ' linear-gradient(top bottom, blue, red)'], + + 'background-size': + [hterm.PreferenceManager.categories.Appearance, '', 'string', + 'CSS value of the background image size. Defaults to none.'], + + 'background-position': + [hterm.PreferenceManager.categories.Appearance, '', 'string', + 'CSS value of the background image position.\n' + + '\n' + + 'For example:\n' + + ' 10% 10%\n' + + ' center'], + + 'backspace-sends-backspace': + [hterm.PreferenceManager.categories.Keyboard, false, 'bool', + 'If true, the backspace should send BS (\'\\x08\', aka ^H). Otherwise ' + + 'the backspace key should send \'\\x7f\'.'], + + 'character-map-overrides': + [hterm.PreferenceManager.categories.Appearance, null, 'value', + 'This is specified as an object. It is a sparse array, where each ' + + 'property is the character set code and the value is an object that is ' + + 'a sparse array itself. In that sparse array, each property is the ' + + 'received character and the value is the displayed character.\n' + + '\n' + + 'For example:\n' + + ' {"0":{"+":"\\u2192",",":"\\u2190","-":"\\u2191",".":"\\u2193", ' + + '"0":"\\u2588"}}' + ], + + 'close-on-exit': + [hterm.PreferenceManager.categories.Miscellaneous, true, 'bool', + 'Whether or not to close the window when the command exits.'], + + 'cursor-blink': + [hterm.PreferenceManager.categories.Appearance, false, 'bool', + 'Whether or not to blink the cursor by default.'], + + 'cursor-blink-cycle': + [hterm.PreferenceManager.categories.Appearance, [1000, 500], 'value', + 'The cursor blink rate in milliseconds.\n' + + '\n' + + 'A two element array, the first of which is how long the cursor should be ' + + 'on, second is how long it should be off.'], + + 'cursor-color': + [hterm.PreferenceManager.categories.Appearance, 'rgba(255, 0, 0, 0.5)', + 'color', + 'The color of the visible cursor.'], + + 'color-palette-overrides': + [hterm.PreferenceManager.categories.Appearance, null, 'value', + 'Override colors in the default palette.\n' + + '\n' + + 'This can be specified as an array or an object. If specified as an ' + + 'object it is assumed to be a sparse array, where each property ' + + 'is a numeric index into the color palette.\n' + + '\n' + + 'Values can be specified as almost any css color value. This ' + + 'includes #RGB, #RRGGBB, rgb(...), rgba(...), and any color names ' + + 'that are also part of the stock X11 rgb.txt file.\n' + + '\n' + + 'You can use \'null\' to specify that the default value should be not ' + + 'be changed. This is useful for skipping a small number of indices ' + + 'when the value is specified as an array.'], + + 'copy-on-select': + [hterm.PreferenceManager.categories.CopyPaste, true, 'bool', + 'Automatically copy mouse selection to the clipboard.'], + + 'use-default-window-copy': + [hterm.PreferenceManager.categories.CopyPaste, false, 'bool', + 'Whether to use the default window copy behavior'], + + 'clear-selection-after-copy': + [hterm.PreferenceManager.categories.CopyPaste, true, 'bool', + 'Whether to clear the selection after copying.'], + + 'ctrl-plus-minus-zero-zoom': + [hterm.PreferenceManager.categories.Keyboard, true, 'bool', + 'If true, Ctrl-Plus/Minus/Zero controls zoom.\n' + + 'If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_, ' + + 'Ctrl-Plus/Zero do nothing.'], + + 'ctrl-c-copy': + [hterm.PreferenceManager.categories.Keyboard, false, 'bool', + 'Ctrl+C copies if true, send ^C to host if false.\n' + + 'Ctrl+Shift+C sends ^C to host if true, copies if false.'], + + 'ctrl-v-paste': + [hterm.PreferenceManager.categories.Keyboard, false, 'bool', + 'Ctrl+V pastes if true, send ^V to host if false.\n' + + 'Ctrl+Shift+V sends ^V to host if true, pastes if false.'], + + 'east-asian-ambiguous-as-two-column': + [hterm.PreferenceManager.categories.Keyboard, false, 'bool', + 'Set whether East Asian Ambiguous characters have two column width.'], + + 'enable-8-bit-control': + [hterm.PreferenceManager.categories.Keyboard, false, 'bool', + 'True to enable 8-bit control characters, false to ignore them.\n' + + '\n' + + 'We\'ll respect the two-byte versions of these control characters ' + + 'regardless of this setting.'], + + 'enable-bold': + [hterm.PreferenceManager.categories.Appearance, null, 'tristate', + 'True if we should use bold weight font for text with the bold/bright ' + + 'attribute. False to use the normal weight font. Null to autodetect.'], + + 'enable-bold-as-bright': + [hterm.PreferenceManager.categories.Appearance, true, 'bool', + 'True if we should use bright colors (8-15 on a 16 color palette) ' + + 'for any text with the bold attribute. False otherwise.'], + + 'enable-blink': + [hterm.PreferenceManager.categories.Appearance, true, 'bool', + 'True if we should respect the blink attribute. False to ignore it. '], + + 'enable-clipboard-notice': + [hterm.PreferenceManager.categories.CopyPaste, true, 'bool', + 'Show a message in the terminal when the host writes to the clipboard.'], + + 'enable-clipboard-write': + [hterm.PreferenceManager.categories.CopyPaste, true, 'bool', + 'Allow the host to write directly to the system clipboard.'], + + 'enable-dec12': + [hterm.PreferenceManager.categories.Miscellaneous, false, 'bool', + 'Respect the host\'s attempt to change the cursor blink status using ' + + 'DEC Private Mode 12.'], + + 'environment': + [hterm.PreferenceManager.categories.Miscellaneous, {'TERM': 'xterm-256color'}, + 'value', + 'The default environment variables, as an object.'], + + 'font-family': + [hterm.PreferenceManager.categories.Appearance, + '"DejaVu Sans Mono", "Everson Mono", FreeMono, "Menlo", "Terminal", ' + + 'monospace', 'string', + 'Default font family for the terminal text.'], + + 'font-size': + [hterm.PreferenceManager.categories.Appearance, 15, 'int', + 'The default font size in pixels.'], + + 'font-smoothing': + [hterm.PreferenceManager.categories.Appearance, 'antialiased', 'string', + 'CSS font-smoothing property.'], + + 'foreground-color': + [hterm.PreferenceManager.categories.Appearance, 'rgb(240, 240, 240)', 'color', + 'The foreground color for text with no other color attributes.'], + + 'home-keys-scroll': + [hterm.PreferenceManager.categories.Keyboard, false, 'bool', + 'If true, home/end will control the terminal scrollbar and shift home/end ' + + 'will send the VT keycodes. If false then home/end sends VT codes and ' + + 'shift home/end scrolls.'], + + 'keybindings': + [hterm.PreferenceManager.categories.Keyboard, null, 'value', + 'A map of key sequence to key actions. Key sequences include zero or ' + + 'more modifier keys followed by a key code. Key codes can be decimal or ' + + 'hexadecimal numbers, or a key identifier. Key actions can be specified ' + + 'a string to send to the host, or an action identifier. For a full ' + + 'explanation of the format, see https://goo.gl/LWRndr.\n' + + '\n' + + 'Sample keybindings:\n' + + '{\n' + + ' "Ctrl-Alt-K": "clearScrollback",\n' + + ' "Ctrl-Shift-L": "PASS",\n' + + ' "Ctrl-H": "\'HELLO\\n\'"\n' + + '}'], + + 'max-string-sequence': + [hterm.PreferenceManager.categories.Encoding, 100000, 'int', + 'Max length of a DCS, OSC, PM, or APS sequence before we give up and ' + + 'ignore the code.'], + + 'media-keys-are-fkeys': + [hterm.PreferenceManager.categories.Keyboard, false, 'bool', + 'If true, convert media keys to their Fkey equivalent. If false, let ' + + 'the browser handle the keys.'], + + 'meta-sends-escape': + [hterm.PreferenceManager.categories.Keyboard, true, 'bool', + 'Set whether the meta key sends a leading escape or not.'], + + 'mouse-right-click-paste': + [hterm.PreferenceManager.categories.CopyPaste, true, 'bool', + 'Paste on right mouse button clicks.\n' + + '\n' + + 'This option is activate independent of the "mouse-paste-button" ' + + 'setting.\n' + + '\n' + + 'Note: This will handle left & right handed mice correctly.'], + + 'mouse-paste-button': + [hterm.PreferenceManager.categories.CopyPaste, null, + [null, 0, 1, 2, 3, 4, 5, 6], + 'Mouse paste button, or null to autodetect.\n' + + '\n' + + 'For autodetect, we\'ll use the middle mouse button for non-X11 ' + + 'platforms (including Chrome OS). On X11, we\'ll use the right mouse ' + + 'button (since the native window manager should paste via the middle ' + + 'mouse button).\n' + + '\n' + + '0 == left (primary) button.\n' + + '1 == middle (auxiliary) button.\n' + + '2 == right (secondary) button.\n' + + '\n' + + 'This option is activate independent of the "mouse-right-click-paste" ' + + 'setting.\n' + + '\n' + + 'Note: This will handle left & right handed mice correctly.'], + + 'word-break-match-left': + [hterm.PreferenceManager.categories.CopyPaste, + '[^\\s\\[\\](){}<>"\'\\^!@#$%&*,;:`]', 'string', + 'Regular expression to halt matching to the left (start) of a selection.\n' + + '\n' + + 'Normally this is a character class to reject specific characters.\n' + + 'We allow "~" and "." by default as paths frequently start with those.'], + + 'word-break-match-right': + [hterm.PreferenceManager.categories.CopyPaste, + '[^\\s\\[\\](){}<>"\'\\^!@#$%&*,;:~.`]', 'string', + 'Regular expression to halt matching to the right (end) of a selection.\n' + + '\n' + + 'Normally this is a character class to reject specific characters.'], + + 'word-break-match-middle': + [hterm.PreferenceManager.categories.CopyPaste, + '[^\\s\\[\\](){}<>"\'\\^]*', 'string', + 'Regular expression to match all the characters in the middle.\n' + + '\n' + + 'Normally this is a character class to reject specific characters.\n' + + '\n' + + 'Used to expand the selection surrounding the starting point.'], + + 'page-keys-scroll': + [hterm.PreferenceManager.categories.Keyboard, false, 'bool', + 'If true, page up/down will control the terminal scrollbar and shift ' + + 'page up/down will send the VT keycodes. If false then page up/down ' + + 'sends VT codes and shift page up/down scrolls.'], + + 'pass-alt-number': + [hterm.PreferenceManager.categories.Keyboard, null, 'tristate', + 'Set whether we should pass Alt-1..9 to the browser.\n' + + '\n' + + 'This is handy when running hterm in a browser tab, so that you don\'t ' + + 'lose Chrome\'s "switch to tab" keyboard accelerators. When not running ' + + 'in a tab it\'s better to send these keys to the host so they can be ' + + 'used in vim or emacs.\n' + + '\n' + + 'If true, Alt-1..9 will be handled by the browser. If false, Alt-1..9 ' + + 'will be sent to the host. If null, autodetect based on browser platform ' + + 'and window type.'], + + 'pass-ctrl-number': + [hterm.PreferenceManager.categories.Keyboard, null, 'tristate', + 'Set whether we should pass Ctrl-1..9 to the browser.\n' + + '\n' + + 'This is handy when running hterm in a browser tab, so that you don\'t ' + + 'lose Chrome\'s "switch to tab" keyboard accelerators. When not running ' + + 'in a tab it\'s better to send these keys to the host so they can be ' + + 'used in vim or emacs.\n' + + '\n' + + 'If true, Ctrl-1..9 will be handled by the browser. If false, Ctrl-1..9 ' + + 'will be sent to the host. If null, autodetect based on browser platform ' + + 'and window type.'], + + 'pass-meta-number': + [hterm.PreferenceManager.categories.Keyboard, null, 'tristate', + 'Set whether we should pass Meta-1..9 to the browser.\n' + + '\n' + + 'This is handy when running hterm in a browser tab, so that you don\'t ' + + 'lose Chrome\'s "switch to tab" keyboard accelerators. When not running ' + + 'in a tab it\'s better to send these keys to the host so they can be ' + + 'used in vim or emacs.\n' + + '\n' + + 'If true, Meta-1..9 will be handled by the browser. If false, Meta-1..9 ' + + 'will be sent to the host. If null, autodetect based on browser platform ' + + 'and window type.'], + + 'pass-meta-v': + [hterm.PreferenceManager.categories.Keyboard, true, 'bool', + 'Set whether meta-V gets passed to host.'], + + 'receive-encoding': + [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'], + 'Set the expected encoding for data received from the host.\n' + + '\n' + + 'Valid values are \'utf-8\' and \'raw\'.'], + + 'scroll-on-keystroke': + [hterm.PreferenceManager.categories.Scrolling, true, 'bool', + 'If true, scroll to the bottom on any keystroke.'], + + 'scroll-on-output': + [hterm.PreferenceManager.categories.Scrolling, false, 'bool', + 'If true, scroll to the bottom on terminal output.'], + + 'scrollbar-visible': + [hterm.PreferenceManager.categories.Scrolling, true, 'bool', + 'The vertical scrollbar mode.'], + + 'scroll-wheel-may-send-arrow-keys': + [hterm.PreferenceManager.categories.Scrolling, false, 'bool', + 'When using the alternative screen buffer, and DECCKM (Application Cursor ' + + 'Keys) is active, mouse wheel scroll events will emulate arrow keys.\n' + + '\n' + + 'It can be temporarily disabled by holding the shift key.\n' + + '\n' + + 'This frequently comes up when using pagers (less) or reading man pages ' + + 'or text editors (vi/nano) or using screen/tmux.'], + + 'scroll-wheel-move-multiplier': + [hterm.PreferenceManager.categories.Scrolling, 1, 'int', + 'The multiplier for the pixel delta in wheel events caused by the ' + + 'scroll wheel. Alters how fast the page scrolls.'], + + 'send-encoding': + [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'], + 'Set the encoding for data sent to host.'], + + 'terminal-encoding': + [hterm.PreferenceManager.categories.Encoding, 'iso-2022', + ['iso-2022', 'utf-8', 'utf-8-locked'], + 'The default terminal encoding (DOCS).\n' + + '\n' + + 'ISO-2022 enables character map translations (like graphics maps).\n' + + 'UTF-8 disables support for those.\n' + + '\n' + + 'The locked variant means the encoding cannot be changed at runtime ' + + 'via terminal escape sequences.\n' + + '\n' + + 'You should stick with UTF-8 unless you notice broken rendering with ' + + 'legacy applications.'], + + 'shift-insert-paste': + [hterm.PreferenceManager.categories.Keyboard, true, 'bool', + 'Shift + Insert pastes if true, sent to host if false.'], + + 'user-css': + [hterm.PreferenceManager.categories.Appearance, '', 'url', + 'URL of user stylesheet to include in the terminal document.'], + + 'user-css-text': + [hterm.PreferenceManager.categories.Appearance, '', 'multiline-string', + 'Custom CSS text for styling the terminal.'], +}; + +hterm.PreferenceManager.prototype = + Object.create(lib.PreferenceManager.prototype); +hterm.PreferenceManager.constructor = hterm.PreferenceManager; +// SOURCE FILE: hterm/js/hterm_pubsub.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +/** + * Utility class used to add publish/subscribe/unsubscribe functionality to + * an existing object. + */ +hterm.PubSub = function() { + this.observers_ = {}; +}; + +/** + * Add publish, subscribe, and unsubscribe methods to an existing object. + * + * No other properties of the object are touched, so there is no need to + * worry about clashing private properties. + * + * @param {Object} obj The object to add this behavior to. + */ +hterm.PubSub.addBehavior = function(obj) { + var pubsub = new hterm.PubSub(); + for (var m in hterm.PubSub.prototype) { + obj[m] = hterm.PubSub.prototype[m].bind(pubsub); + } +}; + +/** + * Subscribe to be notified of messages about a subject. + * + * @param {string} subject The subject to subscribe to. + * @param {function(Object)} callback The function to invoke for notifications. + */ +hterm.PubSub.prototype.subscribe = function(subject, callback) { + if (!(subject in this.observers_)) + this.observers_[subject] = []; + + this.observers_[subject].push(callback); +}; + +/** + * Unsubscribe from a subject. + * + * @param {string} subject The subject to unsubscribe from. + * @param {function(Object)} callback A callback previously registered via + * subscribe(). + */ +hterm.PubSub.prototype.unsubscribe = function(subject, callback) { + var list = this.observers_[subject]; + if (!list) + throw 'Invalid subject: ' + subject; + + var i = list.indexOf(callback); + if (i < 0) + throw 'Not subscribed: ' + subject; + + list.splice(i, 1); +}; + +/** + * Publish a message about a subject. + * + * Subscribers (and the optional final callback) are invoked asynchronously. + * This method will return before anyone is actually notified. + * + * @param {string} subject The subject to publish about. + * @param {Object} e An arbitrary object associated with this notification. + * @param {function(Object)} opt_lastCallback An optional function to call after + * all subscribers have been notified. + */ +hterm.PubSub.prototype.publish = function(subject, e, opt_lastCallback) { + function notifyList(i) { + // Set this timeout before invoking the callback, so we don't have to + // concern ourselves with exceptions. + if (i < list.length - 1) + setTimeout(notifyList, 0, i + 1); + + list[i](e); + } + + var list = this.observers_[subject]; + if (list) { + // Copy the list, in case it changes while we're notifying. + list = [].concat(list); + } + + if (opt_lastCallback) { + if (list) { + list.push(opt_lastCallback); + } else { + list = [opt_lastCallback]; + } + } + + if (list) + setTimeout(notifyList, 0, 0); +}; +// SOURCE FILE: hterm/js/hterm_screen.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +lib.rtdep('lib.f', 'lib.wc', + 'hterm.RowCol', 'hterm.Size', 'hterm.TextAttributes'); + +/** + * @fileoverview This class represents a single terminal screen full of text. + * + * It maintains the current cursor position and has basic methods for text + * insert and overwrite, and adding or removing rows from the screen. + * + * This class has no knowledge of the scrollback buffer. + * + * The number of rows on the screen is determined only by the number of rows + * that the caller inserts into the screen. If a caller wants to ensure a + * constant number of rows on the screen, it's their responsibility to remove a + * row for each row inserted. + * + * The screen width, in contrast, is enforced locally. + * + * + * In practice... + * - The hterm.Terminal class holds two hterm.Screen instances. One for the + * primary screen and one for the alternate screen. + * + * - The html.Screen class only cares that rows are HTMLElements. In the + * larger context of hterm, however, the rows happen to be displayed by an + * hterm.ScrollPort and have to follow a few rules as a result. Each + * row must be rooted by the custom HTML tag 'x-row', and each must have a + * rowIndex property that corresponds to the index of the row in the context + * of the scrollback buffer. These invariants are enforced by hterm.Terminal + * because that is the class using the hterm.Screen in the context of an + * hterm.ScrollPort. + */ + +/** + * Create a new screen instance. + * + * The screen initially has no rows and a maximum column count of 0. + * + * @param {integer} opt_columnCount The maximum number of columns for this + * screen. See insertString() and overwriteString() for information about + * what happens when too many characters are added too a row. Defaults to + * 0 if not provided. + */ +hterm.Screen = function(opt_columnCount) { + /** + * Public, read-only access to the rows in this screen. + */ + this.rowsArray = []; + + // The max column width for this screen. + this.columnCount_ = opt_columnCount || 80; + + // The current color, bold, underline and blink attributes. + this.textAttributes = new hterm.TextAttributes(window.document); + + // Current zero-based cursor coordinates. + this.cursorPosition = new hterm.RowCol(0, 0); + + // The node containing the row that the cursor is positioned on. + this.cursorRowNode_ = null; + + // The node containing the span of text that the cursor is positioned on. + this.cursorNode_ = null; + + // The offset in column width into cursorNode_ where the cursor is positioned. + this.cursorOffset_ = null; + + // Regexes for expanding word selections. + this.wordBreakMatchLeft = null; + this.wordBreakMatchRight = null; + this.wordBreakMatchMiddle = null; +}; + +/** + * Return the screen size as an hterm.Size object. + * + * @return {hterm.Size} hterm.Size object representing the current number + * of rows and columns in this screen. + */ +hterm.Screen.prototype.getSize = function() { + return new hterm.Size(this.columnCount_, this.rowsArray.length); +}; + +/** + * Return the current number of rows in this screen. + * + * @return {integer} The number of rows in this screen. + */ +hterm.Screen.prototype.getHeight = function() { + return this.rowsArray.length; +}; + +/** + * Return the current number of columns in this screen. + * + * @return {integer} The number of columns in this screen. + */ +hterm.Screen.prototype.getWidth = function() { + return this.columnCount_; +}; + +/** + * Set the maximum number of columns per row. + * + * @param {integer} count The maximum number of columns per row. + */ +hterm.Screen.prototype.setColumnCount = function(count) { + this.columnCount_ = count; + + if (this.cursorPosition.column >= count) + this.setCursorPosition(this.cursorPosition.row, count - 1); +}; + +/** + * Remove the first row from the screen and return it. + * + * @return {HTMLElement} The first row in this screen. + */ +hterm.Screen.prototype.shiftRow = function() { + return this.shiftRows(1)[0]; +}; + +/** + * Remove rows from the top of the screen and return them as an array. + * + * @param {integer} count The number of rows to remove. + * @return {Array.} The selected rows. + */ +hterm.Screen.prototype.shiftRows = function(count) { + return this.rowsArray.splice(0, count); +}; + +/** + * Insert a row at the top of the screen. + * + * @param {HTMLElement} row The row to insert. + */ +hterm.Screen.prototype.unshiftRow = function(row) { + this.rowsArray.splice(0, 0, row); +}; + +/** + * Insert rows at the top of the screen. + * + * @param {Array.} rows The rows to insert. + */ +hterm.Screen.prototype.unshiftRows = function(rows) { + this.rowsArray.unshift.apply(this.rowsArray, rows); +}; + +/** + * Remove the last row from the screen and return it. + * + * @return {HTMLElement} The last row in this screen. + */ +hterm.Screen.prototype.popRow = function() { + return this.popRows(1)[0]; +}; + +/** + * Remove rows from the bottom of the screen and return them as an array. + * + * @param {integer} count The number of rows to remove. + * @return {Array.} The selected rows. + */ +hterm.Screen.prototype.popRows = function(count) { + return this.rowsArray.splice(this.rowsArray.length - count, count); +}; + +/** + * Insert a row at the bottom of the screen. + * + * @param {HTMLElement} row The row to insert. + */ +hterm.Screen.prototype.pushRow = function(row) { + this.rowsArray.push(row); +}; + +/** + * Insert rows at the bottom of the screen. + * + * @param {Array.} rows The rows to insert. + */ +hterm.Screen.prototype.pushRows = function(rows) { + rows.push.apply(this.rowsArray, rows); +}; + +/** + * Insert a row at the specified row of the screen. + * + * @param {integer} index The index to insert the row. + * @param {HTMLElement} row The row to insert. + */ +hterm.Screen.prototype.insertRow = function(index, row) { + this.rowsArray.splice(index, 0, row); +}; + +/** + * Insert rows at the specified row of the screen. + * + * @param {integer} index The index to insert the rows. + * @param {Array.} rows The rows to insert. + */ +hterm.Screen.prototype.insertRows = function(index, rows) { + for (var i = 0; i < rows.length; i++) { + this.rowsArray.splice(index + i, 0, rows[i]); + } +}; + +/** + * Remove a row from the screen and return it. + * + * @param {integer} index The index of the row to remove. + * @return {HTMLElement} The selected row. + */ +hterm.Screen.prototype.removeRow = function(index) { + return this.rowsArray.splice(index, 1)[0]; +}; + +/** + * Remove rows from the bottom of the screen and return them as an array. + * + * @param {integer} index The index to start removing rows. + * @param {integer} count The number of rows to remove. + * @return {Array.} The selected rows. + */ +hterm.Screen.prototype.removeRows = function(index, count) { + return this.rowsArray.splice(index, count); +}; + +/** + * Invalidate the current cursor position. + * + * This sets this.cursorPosition to (0, 0) and clears out some internal + * data. + * + * Attempting to insert or overwrite text while the cursor position is invalid + * will raise an obscure exception. + */ +hterm.Screen.prototype.invalidateCursorPosition = function() { + this.cursorPosition.move(0, 0); + this.cursorRowNode_ = null; + this.cursorNode_ = null; + this.cursorOffset_ = null; +}; + +/** + * Clear the contents of the cursor row. + */ +hterm.Screen.prototype.clearCursorRow = function() { + this.cursorRowNode_.innerHTML = ''; + this.cursorRowNode_.removeAttribute('line-overflow'); + this.cursorOffset_ = 0; + this.cursorPosition.column = 0; + this.cursorPosition.overflow = false; + + var text; + if (this.textAttributes.isDefault()) { + text = ''; + } else { + text = lib.f.getWhitespace(this.columnCount_); + } + + // We shouldn't honor inverse colors when clearing an area, to match + // xterm's back color erase behavior. + var inverse = this.textAttributes.inverse; + this.textAttributes.inverse = false; + this.textAttributes.syncColors(); + + var node = this.textAttributes.createContainer(text); + this.cursorRowNode_.appendChild(node); + this.cursorNode_ = node; + + this.textAttributes.inverse = inverse; + this.textAttributes.syncColors(); +}; + +/** + * Mark the current row as having overflowed to the next line. + * + * The line overflow state is used when converting a range of rows into text. + * It makes it possible to recombine two or more overflow terminal rows into + * a single line. + * + * This is distinct from the cursor being in the overflow state. Cursor + * overflow indicates that printing at the cursor position will commit a + * line overflow, unless it is preceded by a repositioning of the cursor + * to a non-overflow state. + */ +hterm.Screen.prototype.commitLineOverflow = function() { + this.cursorRowNode_.setAttribute('line-overflow', true); +}; + +/** + * Relocate the cursor to a give row and column. + * + * @param {integer} row The zero based row. + * @param {integer} column The zero based column. + */ +hterm.Screen.prototype.setCursorPosition = function(row, column) { + if (!this.rowsArray.length) { + console.warn('Attempt to set cursor position on empty screen.'); + return; + } + + if (row >= this.rowsArray.length) { + console.error('Row out of bounds: ' + row); + row = this.rowsArray.length - 1; + } else if (row < 0) { + console.error('Row out of bounds: ' + row); + row = 0; + } + + if (column >= this.columnCount_) { + console.error('Column out of bounds: ' + column); + column = this.columnCount_ - 1; + } else if (column < 0) { + console.error('Column out of bounds: ' + column); + column = 0; + } + + this.cursorPosition.overflow = false; + + var rowNode = this.rowsArray[row]; + var node = rowNode.firstChild; + + if (!node) { + node = rowNode.ownerDocument.createTextNode(''); + rowNode.appendChild(node); + } + + var currentColumn = 0; + + if (rowNode == this.cursorRowNode_) { + if (column >= this.cursorPosition.column - this.cursorOffset_) { + node = this.cursorNode_; + currentColumn = this.cursorPosition.column - this.cursorOffset_; + } + } else { + this.cursorRowNode_ = rowNode; + } + + this.cursorPosition.move(row, column); + + while (node) { + var offset = column - currentColumn; + var width = hterm.TextAttributes.nodeWidth(node); + if (!node.nextSibling || width > offset) { + this.cursorNode_ = node; + this.cursorOffset_ = offset; + return; + } + + currentColumn += width; + node = node.nextSibling; + } +}; + +/** + * Set the provided selection object to be a caret selection at the current + * cursor position. + */ +hterm.Screen.prototype.syncSelectionCaret = function(selection) { + try { + selection.collapse(this.cursorNode_, this.cursorOffset_); + } catch (firefoxIgnoredException) { + // FF can throw an exception if the range is off, rather than just not + // performing the collapse. + } +}; + +/** + * Split a single node into two nodes at the given offset. + * + * For example: + * Given the DOM fragment '
Hello World
', call splitNode_ + * passing the span and an offset of 6. This would modify the fragment to + * become: '
Hello World
'. If the span + * had any attributes they would have been copied to the new span as well. + * + * The to-be-split node must have a container, so that the new node can be + * placed next to it. + * + * @param {HTMLNode} node The node to split. + * @param {integer} offset The offset into the node where the split should + * occur. + */ +hterm.Screen.prototype.splitNode_ = function(node, offset) { + var afterNode = node.cloneNode(false); + + var textContent = node.textContent; + node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset); + afterNode.textContent = lib.wc.substr(textContent, offset); + + if (afterNode.textContent) + node.parentNode.insertBefore(afterNode, node.nextSibling); + if (!node.textContent) + node.parentNode.removeChild(node); +}; + +/** + * Ensure that text is clipped and the cursor is clamped to the column count. + */ +hterm.Screen.prototype.maybeClipCurrentRow = function() { + var width = hterm.TextAttributes.nodeWidth(this.cursorRowNode_); + + if (width <= this.columnCount_) { + // Current row does not need clipping, but may need clamping. + if (this.cursorPosition.column >= this.columnCount_) { + this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1); + this.cursorPosition.overflow = true; + } + + return; + } + + // Save off the current column so we can maybe restore it later. + var currentColumn = this.cursorPosition.column; + + // Move the cursor to the final column. + this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1); + + // Remove any text that partially overflows. + width = hterm.TextAttributes.nodeWidth(this.cursorNode_); + + if (this.cursorOffset_ < width - 1) { + this.cursorNode_.textContent = hterm.TextAttributes.nodeSubstr( + this.cursorNode_, 0, this.cursorOffset_ + 1); + } + + // Remove all nodes after the cursor. + var rowNode = this.cursorRowNode_; + var node = this.cursorNode_.nextSibling; + + while (node) { + rowNode.removeChild(node); + node = this.cursorNode_.nextSibling; + } + + if (currentColumn < this.columnCount_) { + // If the cursor was within the screen before we started then restore its + // position. + this.setCursorPosition(this.cursorPosition.row, currentColumn); + } else { + // Otherwise leave it at the the last column in the overflow state. + this.cursorPosition.overflow = true; + } +}; + +/** + * Insert a string at the current character position using the current + * text attributes. + * + * You must call maybeClipCurrentRow() after in order to clip overflowed + * text and clamp the cursor. + * + * It is also up to the caller to properly maintain the line overflow state + * using hterm.Screen..commitLineOverflow(). + */ +hterm.Screen.prototype.insertString = function(str) { + var cursorNode = this.cursorNode_; + var cursorNodeText = cursorNode.textContent; + + this.cursorRowNode_.removeAttribute('line-overflow'); + + // We may alter the width of the string by prepending some missing + // whitespaces, so we need to record the string width ahead of time. + var strWidth = lib.wc.strWidth(str); + + // No matter what, before this function exits the cursor column will have + // moved this much. + this.cursorPosition.column += strWidth; + + // Local cache of the cursor offset. + var offset = this.cursorOffset_; + + // Reverse offset is the offset measured from the end of the string. + // Zero implies that the cursor is at the end of the cursor node. + var reverseOffset = hterm.TextAttributes.nodeWidth(cursorNode) - offset; + + if (reverseOffset < 0) { + // A negative reverse offset means the cursor is positioned past the end + // of the characters on this line. We'll need to insert the missing + // whitespace. + var ws = lib.f.getWhitespace(-reverseOffset); + + // This whitespace should be completely unstyled. Underline, background + // color, and strikethrough would be visible on whitespace, so we can't use + // one of those spans to hold the text. + if (!(this.textAttributes.underline || + this.textAttributes.strikethrough || + this.textAttributes.background || + this.textAttributes.wcNode || + !this.textAttributes.asciiNode || + this.textAttributes.tileData != null)) { + // Best case scenario, we can just pretend the spaces were part of the + // original string. + str = ws + str; + } else if (cursorNode.nodeType == 3 || + !(cursorNode.wcNode || + !cursorNode.asciiNode || + cursorNode.tileNode || + cursorNode.style.textDecoration || + cursorNode.style.backgroundColor)) { + // Second best case, the current node is able to hold the whitespace. + cursorNode.textContent = (cursorNodeText += ws); + } else { + // Worst case, we have to create a new node to hold the whitespace. + var wsNode = cursorNode.ownerDocument.createTextNode(ws); + this.cursorRowNode_.insertBefore(wsNode, cursorNode.nextSibling); + this.cursorNode_ = cursorNode = wsNode; + this.cursorOffset_ = offset = -reverseOffset; + cursorNodeText = ws; + } + + // We now know for sure that we're at the last character of the cursor node. + reverseOffset = 0; + } + + if (this.textAttributes.matchesContainer(cursorNode)) { + // The new text can be placed directly in the cursor node. + if (reverseOffset == 0) { + cursorNode.textContent = cursorNodeText + str; + } else if (offset == 0) { + cursorNode.textContent = str + cursorNodeText; + } else { + cursorNode.textContent = + hterm.TextAttributes.nodeSubstr(cursorNode, 0, offset) + + str + hterm.TextAttributes.nodeSubstr(cursorNode, offset); + } + + this.cursorOffset_ += strWidth; + return; + } + + // The cursor node is the wrong style for the new text. If we're at the + // beginning or end of the cursor node, then the adjacent node is also a + // potential candidate. + + if (offset == 0) { + // At the beginning of the cursor node, the check the previous sibling. + var previousSibling = cursorNode.previousSibling; + if (previousSibling && + this.textAttributes.matchesContainer(previousSibling)) { + previousSibling.textContent += str; + this.cursorNode_ = previousSibling; + this.cursorOffset_ = lib.wc.strWidth(previousSibling.textContent); + return; + } + + var newNode = this.textAttributes.createContainer(str); + this.cursorRowNode_.insertBefore(newNode, cursorNode); + this.cursorNode_ = newNode; + this.cursorOffset_ = strWidth; + return; + } + + if (reverseOffset == 0) { + // At the end of the cursor node, the check the next sibling. + var nextSibling = cursorNode.nextSibling; + if (nextSibling && + this.textAttributes.matchesContainer(nextSibling)) { + nextSibling.textContent = str + nextSibling.textContent; + this.cursorNode_ = nextSibling; + this.cursorOffset_ = lib.wc.strWidth(str); + return; + } + + var newNode = this.textAttributes.createContainer(str); + this.cursorRowNode_.insertBefore(newNode, nextSibling); + this.cursorNode_ = newNode; + // We specifically need to include any missing whitespace here, since it's + // going in a new node. + this.cursorOffset_ = hterm.TextAttributes.nodeWidth(newNode); + return; + } + + // Worst case, we're somewhere in the middle of the cursor node. We'll + // have to split it into two nodes and insert our new container in between. + this.splitNode_(cursorNode, offset); + var newNode = this.textAttributes.createContainer(str); + this.cursorRowNode_.insertBefore(newNode, cursorNode.nextSibling); + this.cursorNode_ = newNode; + this.cursorOffset_ = strWidth; +}; + +/** + * Overwrite the text at the current cursor position. + * + * You must call maybeClipCurrentRow() after in order to clip overflowed + * text and clamp the cursor. + * + * It is also up to the caller to properly maintain the line overflow state + * using hterm.Screen..commitLineOverflow(). + */ +hterm.Screen.prototype.overwriteString = function(str) { + var maxLength = this.columnCount_ - this.cursorPosition.column; + if (!maxLength) + return [str]; + + var width = lib.wc.strWidth(str); + if (this.textAttributes.matchesContainer(this.cursorNode_) && + this.cursorNode_.textContent.substr(this.cursorOffset_) == str) { + // This overwrite would be a no-op, just move the cursor and return. + this.cursorOffset_ += width; + this.cursorPosition.column += width; + return; + } + + this.deleteChars(Math.min(width, maxLength)); + this.insertString(str); +}; + +/** + * Forward-delete one or more characters at the current cursor position. + * + * Text to the right of the deleted characters is shifted left. Only affects + * characters on the same row as the cursor. + * + * @param {integer} count The column width of characters to delete. This is + * clamped to the column width minus the cursor column. + * @return {integer} The column width of the characters actually deleted. + */ +hterm.Screen.prototype.deleteChars = function(count) { + var node = this.cursorNode_; + var offset = this.cursorOffset_; + + var currentCursorColumn = this.cursorPosition.column; + count = Math.min(count, this.columnCount_ - currentCursorColumn); + if (!count) + return 0; + + var rv = count; + var startLength, endLength; + + while (node && count) { + startLength = hterm.TextAttributes.nodeWidth(node); + node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset) + + hterm.TextAttributes.nodeSubstr(node, offset + count); + endLength = hterm.TextAttributes.nodeWidth(node); + count -= startLength - endLength; + if (offset < startLength && endLength && startLength == endLength) { + // No characters were deleted when there should be. We're probably trying + // to delete one column width from a wide character node. We remove the + // wide character node here and replace it with a single space. + var spaceNode = this.textAttributes.createContainer(' '); + node.parentNode.insertBefore(spaceNode, node.nextSibling); + node.textContent = ''; + endLength = 0; + count -= 1; + } + + var nextNode = node.nextSibling; + if (endLength == 0 && node != this.cursorNode_) { + node.parentNode.removeChild(node); + } + node = nextNode; + offset = 0; + } + + // Remove this.cursorNode_ if it is an empty non-text node. + if (this.cursorNode_.nodeType != 3 && !this.cursorNode_.textContent) { + var cursorNode = this.cursorNode_; + if (cursorNode.previousSibling) { + this.cursorNode_ = cursorNode.previousSibling; + this.cursorOffset_ = hterm.TextAttributes.nodeWidth( + cursorNode.previousSibling); + } else if (cursorNode.nextSibling) { + this.cursorNode_ = cursorNode.nextSibling; + this.cursorOffset_ = 0; + } else { + var emptyNode = this.cursorRowNode_.ownerDocument.createTextNode(''); + this.cursorRowNode_.appendChild(emptyNode); + this.cursorNode_ = emptyNode; + this.cursorOffset_ = 0; + } + this.cursorRowNode_.removeChild(cursorNode); + } + + return rv; +}; + +/** + * Finds first X-ROW of a line containing specified X-ROW. + * Used to support line overflow. + * + * @param {Node} row X-ROW to begin search for first row of line. + * @return {Node} The X-ROW that is at the beginning of the line. + **/ +hterm.Screen.prototype.getLineStartRow_ = function(row) { + while (row.previousSibling && + row.previousSibling.hasAttribute('line-overflow')) { + row = row.previousSibling; + } + return row; +}; + +/** + * Gets text of a line beginning with row. + * Supports line overflow. + * + * @param {Node} row First X-ROW of line. + * @return {string} Text content of line. + **/ +hterm.Screen.prototype.getLineText_ = function(row) { + var rowText = ""; + while (row) { + rowText += row.textContent; + if (row.hasAttribute('line-overflow')) { + row = row.nextSibling; + } else { + break; + } + } + return rowText; +}; + +/** + * Returns X-ROW that is ancestor of the node. + * + * @param {Node} node Node to get X-ROW ancestor for. + * @return {Node} X-ROW ancestor of node, or null if not found. + **/ +hterm.Screen.prototype.getXRowAncestor_ = function(node) { + while (node) { + if (node.nodeName === 'X-ROW') + break; + node = node.parentNode; + } + return node; +}; + +/** + * Returns position within line of character at offset within node. + * Supports line overflow. + * + * @param {Node} row X-ROW at beginning of line. + * @param {Node} node Node to get position of. + * @param {integer} offset Offset into node. + * + * @return {integer} Position within line of character at offset within node. + **/ +hterm.Screen.prototype.getPositionWithOverflow_ = function(row, node, offset) { + if (!node) + return -1; + var ancestorRow = this.getXRowAncestor_(node); + if (!ancestorRow) + return -1; + var position = 0; + while (ancestorRow != row) { + position += hterm.TextAttributes.nodeWidth(row); + if (row.hasAttribute('line-overflow') && row.nextSibling) { + row = row.nextSibling; + } else { + return -1; + } + } + return position + this.getPositionWithinRow_(row, node, offset); +}; + +/** + * Returns position within row of character at offset within node. + * Does not support line overflow. + * + * @param {Node} row X-ROW to get position within. + * @param {Node} node Node to get position for. + * @param {integer} offset Offset within node to get position for. + * @return {integer} Position within row of character at offset within node. + **/ +hterm.Screen.prototype.getPositionWithinRow_ = function(row, node, offset) { + if (node.parentNode != row) { + // If we traversed to the top node, then there's nothing to find here. + if (node.parentNode == null) + return -1; + + return this.getPositionWithinRow_(node.parentNode, node, offset) + + this.getPositionWithinRow_(row, node.parentNode, 0); + } + var position = 0; + for (var i = 0; i < row.childNodes.length; i++) { + var currentNode = row.childNodes[i]; + if (currentNode == node) + return position + offset; + position += hterm.TextAttributes.nodeWidth(currentNode); + } + return -1; +}; + +/** + * Returns the node and offset corresponding to position within line. + * Supports line overflow. + * + * @param {Node} row X-ROW at beginning of line. + * @param {integer} position Position within line to retrieve node and offset. + * @return {Array} Two element array containing node and offset respectively. + **/ +hterm.Screen.prototype.getNodeAndOffsetWithOverflow_ = function(row, position) { + while (row && position > hterm.TextAttributes.nodeWidth(row)) { + if (row.hasAttribute('line-overflow') && row.nextSibling) { + position -= hterm.TextAttributes.nodeWidth(row); + row = row.nextSibling; + } else { + return -1; + } + } + return this.getNodeAndOffsetWithinRow_(row, position); +}; + +/** + * Returns the node and offset corresponding to position within row. + * Does not support line overflow. + * + * @param {Node} row X-ROW to get position within. + * @param {integer} position Position within row to retrieve node and offset. + * @return {Array} Two element array containing node and offset respectively. + **/ +hterm.Screen.prototype.getNodeAndOffsetWithinRow_ = function(row, position) { + for (var i = 0; i < row.childNodes.length; i++) { + var node = row.childNodes[i]; + var nodeTextWidth = hterm.TextAttributes.nodeWidth(node); + if (position <= nodeTextWidth) { + if (node.nodeName === 'SPAN') { + /** Drill down to node contained by SPAN. **/ + return this.getNodeAndOffsetWithinRow_(node, position); + } else { + return [node, position]; + } + } + position -= nodeTextWidth; + } + return null; +}; + +/** + * Returns the node and offset corresponding to position within line. + * Supports line overflow. + * + * @param {Node} row X-ROW at beginning of line. + * @param {integer} start Start position of range within line. + * @param {integer} end End position of range within line. + * @param {Range} range Range to modify. + **/ +hterm.Screen.prototype.setRange_ = function(row, start, end, range) { + var startNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, start); + if (startNodeAndOffset == null) + return; + var endNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, end); + if (endNodeAndOffset == null) + return; + range.setStart(startNodeAndOffset[0], startNodeAndOffset[1]); + range.setEnd(endNodeAndOffset[0], endNodeAndOffset[1]); +}; + +/** + * Expands selection to surround URLs. + * + * @param {Selection} selection Selection to expand. + **/ +hterm.Screen.prototype.expandSelection = function(selection) { + if (!selection) + return; + + var range = selection.getRangeAt(0); + if (!range || range.toString().match(/\s/)) + return; + + var row = this.getLineStartRow_(this.getXRowAncestor_(range.startContainer)); + if (!row) + return; + + var startPosition = this.getPositionWithOverflow_(row, + range.startContainer, + range.startOffset); + if (startPosition == -1) + return; + var endPosition = this.getPositionWithOverflow_(row, + range.endContainer, + range.endOffset); + if (endPosition == -1) + return; + + // Use the user configurable match settings. + var leftMatch = this.wordBreakMatchLeft; + var rightMatch = this.wordBreakMatchRight; + var insideMatch = this.wordBreakMatchMiddle; + + //Move start to the left. + var rowText = this.getLineText_(row); + var lineUpToRange = lib.wc.substring(rowText, 0, endPosition); + var leftRegularExpression = new RegExp(leftMatch + insideMatch + "$"); + var expandedStart = lineUpToRange.search(leftRegularExpression); + if (expandedStart == -1 || expandedStart > startPosition) + return; + + //Move end to the right. + var lineFromRange = lib.wc.substring(rowText, startPosition, + lib.wc.strWidth(rowText)); + var rightRegularExpression = new RegExp("^" + insideMatch + rightMatch); + var found = lineFromRange.match(rightRegularExpression); + if (!found) + return; + var expandedEnd = startPosition + lib.wc.strWidth(found[0]); + if (expandedEnd == -1 || expandedEnd < endPosition) + return; + + this.setRange_(row, expandedStart, expandedEnd, range); + selection.addRange(range); +}; +// SOURCE FILE: hterm/js/hterm_scrollport.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +lib.rtdep('lib.f', 'hterm.PubSub', 'hterm.Size'); + +/** + * A 'viewport' view of fixed-height rows with support for selection and + * copy-to-clipboard. + * + * 'Viewport' in this case means that only the visible rows are in the DOM. + * If the rowProvider has 100,000 rows, but the ScrollPort is only 25 rows + * tall, then only 25 dom nodes are created. The ScrollPort will ask the + * RowProvider to create new visible rows on demand as they are scrolled in + * to the visible area. + * + * This viewport is designed so that select and copy-to-clipboard still works, + * even when all or part of the selection is scrolled off screen. + * + * Note that the X11 mouse clipboard does not work properly when all or part + * of the selection is off screen. It would be difficult to fix this without + * adding significant overhead to pathologically large selection cases. + * + * The RowProvider should return rows rooted by the custom tag name 'x-row'. + * This ensures that we can quickly assign the correct display height + * to the rows with css. + * + * @param {RowProvider} rowProvider An object capable of providing rows as + * raw text or row nodes. + */ +hterm.ScrollPort = function(rowProvider) { + hterm.PubSub.addBehavior(this); + + this.rowProvider_ = rowProvider; + + // SWAG the character size until we can measure it. + this.characterSize = new hterm.Size(10, 10); + + // DOM node used for character measurement. + this.ruler_ = null; + + this.selection = new hterm.ScrollPort.Selection(this); + + // A map of rowIndex => rowNode for each row that is drawn as part of a + // pending redraw_() call. Null if there is no pending redraw_ call. + this.currentRowNodeCache_ = null; + + // A map of rowIndex => rowNode for each row that was drawn as part of the + // previous redraw_() call. + this.previousRowNodeCache_ = {}; + + // Used during scroll events to detect when the underlying cause is a resize. + this.lastScreenWidth_ = null; + this.lastScreenHeight_ = null; + + // True if the user should be allowed to select text in the terminal. + // This is disabled when the host requests mouse drag events so that we don't + // end up with two notions of selection. + this.selectionEnabled_ = true; + + // The last row count returned by the row provider, re-populated during + // syncScrollHeight(). + this.lastRowCount_ = 0; + + // The scroll wheel pixel delta multiplier to increase/decrease + // the scroll speed of mouse wheel events. See: https://goo.gl/sXelnq + this.scrollWheelMultiplier_ = 1; + + // The last touch events we saw to support touch based scrolling. Indexed + // by touch identifier since we can have more than one touch active. + this.lastTouch_ = {}; + + /** + * True if the last scroll caused the scrollport to show the final row. + */ + this.isScrolledEnd = true; + + /** + * A guess at the current scrollbar width, fixed in resize(). + */ + this.currentScrollbarWidthPx = 16; + + /** + * Whether the ctrl-v key on the screen should paste. + */ + this.ctrlVPaste = false; + + this.div_ = null; + this.document_ = null; + + // Collection of active timeout handles. + this.timeouts_ = {}; + + this.observers_ = {}; + + this.DEBUG_ = false; +} + +/** + * Proxy for the native selection object which understands how to walk up the + * DOM to find the containing row node and sort out which comes first. + * + * @param {hterm.ScrollPort} scrollPort The parent hterm.ScrollPort instance. + */ +hterm.ScrollPort.Selection = function(scrollPort) { + this.scrollPort_ = scrollPort; + + /** + * The row containing the start of the selection. + * + * This may be partially or fully selected. It may be the selection anchor + * or the focus, but its rowIndex is guaranteed to be less-than-or-equal-to + * that of the endRow. + * + * If only one row is selected then startRow == endRow. If there is no + * selection or the selection is collapsed then startRow == null. + */ + this.startRow = null; + + /** + * The row containing the end of the selection. + * + * This may be partially or fully selected. It may be the selection anchor + * or the focus, but its rowIndex is guaranteed to be greater-than-or-equal-to + * that of the startRow. + * + * If only one row is selected then startRow == endRow. If there is no + * selection or the selection is collapsed then startRow == null. + */ + this.endRow = null; + + /** + * True if startRow != endRow. + */ + this.isMultiline = null; + + /** + * True if the selection is just a point rather than a range. + */ + this.isCollapsed = null; +}; + +/** + * Given a list of DOM nodes and a container, return the DOM node that + * is first according to a depth-first search. + * + * Returns null if none of the children are found. + */ +hterm.ScrollPort.Selection.prototype.findFirstChild = function( + parent, childAry) { + var node = parent.firstChild; + + while (node) { + if (childAry.indexOf(node) != -1) + return node; + + if (node.childNodes.length) { + var rv = this.findFirstChild(node, childAry); + if (rv) + return rv; + } + + node = node.nextSibling; + } + + return null; +}; + +/** + * Synchronize this object with the current DOM selection. + * + * This is a one-way synchronization, the DOM selection is copied to this + * object, not the other way around. + */ +hterm.ScrollPort.Selection.prototype.sync = function() { + var self = this; + + // The dom selection object has no way to tell which nodes come first in + // the document, so we have to figure that out. + // + // This function is used when we detect that the "anchor" node is first. + function anchorFirst() { + self.startRow = anchorRow; + self.startNode = selection.anchorNode; + self.startOffset = selection.anchorOffset; + self.endRow = focusRow; + self.endNode = selection.focusNode; + self.endOffset = selection.focusOffset; + } + + // This function is used when we detect that the "focus" node is first. + function focusFirst() { + self.startRow = focusRow; + self.startNode = selection.focusNode; + self.startOffset = selection.focusOffset; + self.endRow = anchorRow; + self.endNode = selection.anchorNode; + self.endOffset = selection.anchorOffset; + } + + var selection = this.scrollPort_.getDocument().getSelection(); + + this.startRow = null; + this.endRow = null; + this.isMultiline = null; + this.isCollapsed = !selection || selection.isCollapsed; + + if (this.isCollapsed) + return; + + var anchorRow = selection.anchorNode; + while (anchorRow && !('rowIndex' in anchorRow)) { + anchorRow = anchorRow.parentNode; + } + + if (!anchorRow) { + console.error('Selection anchor is not rooted in a row node: ' + + selection.anchorNode.nodeName); + return; + } + + var focusRow = selection.focusNode; + while (focusRow && !('rowIndex' in focusRow)) { + focusRow = focusRow.parentNode; + } + + if (!focusRow) { + console.error('Selection focus is not rooted in a row node: ' + + selection.focusNode.nodeName); + return; + } + + if (anchorRow.rowIndex < focusRow.rowIndex) { + anchorFirst(); + + } else if (anchorRow.rowIndex > focusRow.rowIndex) { + focusFirst(); + + } else if (selection.focusNode == selection.anchorNode) { + if (selection.anchorOffset < selection.focusOffset) { + anchorFirst(); + } else { + focusFirst(); + } + + } else { + // The selection starts and ends in the same row, but isn't contained all + // in a single node. + var firstNode = this.findFirstChild( + anchorRow, [selection.anchorNode, selection.focusNode]); + + if (!firstNode) + throw new Error('Unexpected error syncing selection.'); + + if (firstNode == selection.anchorNode) { + anchorFirst(); + } else { + focusFirst(); + } + } + + this.isMultiline = anchorRow.rowIndex != focusRow.rowIndex; +}; + + +/** + * Turn a div into this hterm.ScrollPort. + */ +hterm.ScrollPort.prototype.decorate = function(div) { + this.div_ = div; + + this.iframe_ = div.ownerDocument.createElement('iframe'); + this.iframe_.style.cssText = ( + 'border: 0;' + + 'height: 100%;' + + 'position: absolute;' + + 'width: 100%'); + + // Set the iframe src to # in FF. Otherwise when the frame's + // load event fires in FF it clears out the content of the iframe. + if ('mozInnerScreenX' in window) // detect a FF only property + this.iframe_.src = '#'; + + div.appendChild(this.iframe_); + + this.iframe_.contentWindow.addEventListener('resize', + this.onResize_.bind(this)); + + var doc = this.document_ = this.iframe_.contentDocument; + doc.body.style.cssText = ( + 'margin: 0px;' + + 'padding: 0px;' + + 'height: 100%;' + + 'width: 100%;' + + 'overflow: hidden;' + + 'cursor: var(--hterm-mouse-cursor-style);' + + '-webkit-user-select: none;' + + '-moz-user-select: none;'); + + if (this.DEBUG_) { + // When we're debugging we add padding to the body so that the offscreen + // elements are visible. + this.document_.body.style.paddingTop = + this.document_.body.style.paddingBottom = + 'calc(var(--hterm-charsize-height) * 3)'; + } + + var style = doc.createElement('style'); + style.textContent = ( + 'x-row {' + + ' display: block;' + + ' height: var(--hterm-charsize-height);' + + ' line-height: var(--hterm-charsize-height);' + + '}'); + doc.head.appendChild(style); + + this.userCssLink_ = doc.createElement('link'); + this.userCssLink_.setAttribute('rel', 'stylesheet'); + + this.userCssText_ = doc.createElement('style'); + doc.head.appendChild(this.userCssText_); + + // TODO(rginda): Sorry, this 'screen_' isn't the same thing as hterm.Screen + // from screen.js. I need to pick a better name for one of them to avoid + // the collision. + // We make this field editable even though we don't actually allow anything + // to be edited here so that Chrome will do the right thing with virtual + // keyboards and IMEs. But make sure we turn off all the input helper logic + // that doesn't make sense here, and might inadvertently mung or save input. + // Some of these attributes are standard while others are browser specific, + // but should be safely ignored by other browsers. + this.screen_ = doc.createElement('x-screen'); + this.screen_.setAttribute('contenteditable', 'true'); + this.screen_.setAttribute('spellcheck', 'false'); + this.screen_.setAttribute('autocomplete', 'off'); + this.screen_.setAttribute('autocorrect', 'off'); + this.screen_.setAttribute('autocaptalize', 'none'); + this.screen_.setAttribute('role', 'textbox'); + this.screen_.setAttribute('tabindex', '-1'); + this.screen_.style.cssText = ( + 'caret-color: transparent;' + + 'display: block;' + + 'font-family: monospace;' + + 'font-size: 15px;' + + 'font-variant-ligatures: none;' + + 'height: 100%;' + + 'overflow-y: scroll; overflow-x: hidden;' + + 'white-space: pre;' + + 'width: 100%;' + + 'outline: none !important'); + + doc.body.appendChild(this.screen_); + + this.screen_.addEventListener('scroll', this.onScroll_.bind(this)); + this.screen_.addEventListener('wheel', this.onScrollWheel_.bind(this)); + this.screen_.addEventListener('touchstart', this.onTouch_.bind(this)); + this.screen_.addEventListener('touchmove', this.onTouch_.bind(this)); + this.screen_.addEventListener('touchend', this.onTouch_.bind(this)); + this.screen_.addEventListener('touchcancel', this.onTouch_.bind(this)); + this.screen_.addEventListener('copy', this.onCopy_.bind(this)); + this.screen_.addEventListener('paste', this.onPaste_.bind(this)); + // Disable drag & drop of text/content. We don't handle it at all (yet?), + // and the default behavior just confuses hterm. + this.screen_.addEventListener('drop', function(e) { + e.preventDefault(); + return false; + }); + + doc.body.addEventListener('keydown', this.onBodyKeyDown_.bind(this)); + + // This is the main container for the fixed rows. + this.rowNodes_ = doc.createElement('div'); + this.rowNodes_.id = 'hterm:row-nodes'; + this.rowNodes_.style.cssText = ( + 'display: block;' + + 'position: fixed;' + + 'overflow: hidden;' + + '-webkit-user-select: text;' + + '-moz-user-select: text;'); + this.screen_.appendChild(this.rowNodes_); + + // Two nodes to hold offscreen text during the copy event. + this.topSelectBag_ = doc.createElement('x-select-bag'); + this.topSelectBag_.style.cssText = ( + 'display: block;' + + 'overflow: hidden;' + + 'height: var(--hterm-charsize-height);' + + 'white-space: pre;'); + + this.bottomSelectBag_ = this.topSelectBag_.cloneNode(); + + // Nodes above the top fold and below the bottom fold are hidden. They are + // only used to hold rows that are part of the selection but are currently + // scrolled off the top or bottom of the visible range. + this.topFold_ = doc.createElement('x-fold'); + this.topFold_.id = 'hterm:top-fold-for-row-selection'; + this.topFold_.style.cssText = 'display: block;'; + this.rowNodes_.appendChild(this.topFold_); + + this.bottomFold_ = this.topFold_.cloneNode(); + this.bottomFold_.id = 'hterm:bottom-fold-for-row-selection'; + this.rowNodes_.appendChild(this.bottomFold_); + + // This hidden div accounts for the vertical space that would be consumed by + // all the rows in the buffer if they were visible. It's what causes the + // scrollbar to appear on the 'x-screen', and it moves within the screen when + // the scrollbar is moved. + // + // It is set 'visibility: hidden' to keep the browser from trying to include + // it in the selection when a user 'drag selects' upwards (drag the mouse to + // select and scroll at the same time). Without this, the selection gets + // out of whack. + this.scrollArea_ = doc.createElement('div'); + this.scrollArea_.id = 'hterm:scrollarea'; + this.scrollArea_.style.cssText = 'visibility: hidden'; + this.screen_.appendChild(this.scrollArea_); + + // This svg element is used to detect when the browser is zoomed. It must be + // placed in the outermost document for currentScale to be correct. + // TODO(rginda): This means that hterm nested in an iframe will not correctly + // detect browser zoom level. We should come up with a better solution. + // Note: This must be http:// else Chrome cannot create the element correctly. + var xmlns = 'http://www.w3.org/2000/svg'; + this.svg_ = this.div_.ownerDocument.createElementNS(xmlns, 'svg'); + this.svg_.id = 'hterm:zoom-detector'; + this.svg_.setAttribute('xmlns', xmlns); + this.svg_.setAttribute('version', '1.1'); + this.svg_.style.cssText = ( + 'position: absolute;' + + 'top: 0;' + + 'left: 0;' + + 'visibility: hidden'); + + + // We send focus to this element just before a paste happens, so we can + // capture the pasted text and forward it on to someone who cares. + this.pasteTarget_ = doc.createElement('textarea'); + this.pasteTarget_.id = 'hterm:ctrl-v-paste-target'; + this.pasteTarget_.setAttribute('tabindex', '-1'); + this.pasteTarget_.style.cssText = ( + 'position: absolute;' + + 'height: 1px;' + + 'width: 1px;' + + 'left: 0px; ' + + 'bottom: 0px;' + + 'opacity: 0'); + this.pasteTarget_.contentEditable = true; + + this.screen_.appendChild(this.pasteTarget_); + this.pasteTarget_.addEventListener( + 'textInput', this.handlePasteTargetTextInput_.bind(this)); + + this.resize(); +}; + +/** + * Select the font-family and font-smoothing for this scrollport. + * + * @param {string} fontFamily Value of the CSS 'font-family' to use for this + * scrollport. Should be a monospace font. + * @param {string} opt_smoothing Optional value for '-webkit-font-smoothing'. + * Defaults to an empty string if not specified. + */ +hterm.ScrollPort.prototype.setFontFamily = function(fontFamily, opt_smoothing) { + this.screen_.style.fontFamily = fontFamily; + if (opt_smoothing) { + this.screen_.style.webkitFontSmoothing = opt_smoothing; + } else { + this.screen_.style.webkitFontSmoothing = ''; + } + + this.syncCharacterSize(); +}; + +hterm.ScrollPort.prototype.getFontFamily = function() { + return this.screen_.style.fontFamily; +}; + +/** + * Set a custom stylesheet to include in the scrollport. + * + * Defaults to null, meaning no custom css is loaded. Set it back to null or + * the empty string to remove a previously applied custom css. + */ +hterm.ScrollPort.prototype.setUserCssUrl = function(url) { + if (url) { + this.userCssLink_.setAttribute('href', url); + + if (!this.userCssLink_.parentNode) + this.document_.head.appendChild(this.userCssLink_); + } else if (this.userCssLink_.parentNode) { + this.document_.head.removeChild(this.userCssLink_); + } +}; + +hterm.ScrollPort.prototype.setUserCssText = function(text) { + this.userCssText_.textContent = text; +}; + +hterm.ScrollPort.prototype.focus = function() { + this.iframe_.focus(); + this.screen_.focus(); +}; + +hterm.ScrollPort.prototype.getForegroundColor = function() { + return this.screen_.style.color; +}; + +hterm.ScrollPort.prototype.setForegroundColor = function(color) { + this.screen_.style.color = color; +}; + +hterm.ScrollPort.prototype.getBackgroundColor = function() { + return this.screen_.style.backgroundColor; +}; + +hterm.ScrollPort.prototype.setBackgroundColor = function(color) { + this.screen_.style.backgroundColor = color; +}; + +hterm.ScrollPort.prototype.setBackgroundImage = function(image) { + this.screen_.style.backgroundImage = image; +}; + +hterm.ScrollPort.prototype.setBackgroundSize = function(size) { + this.screen_.style.backgroundSize = size; +}; + +hterm.ScrollPort.prototype.setBackgroundPosition = function(position) { + this.screen_.style.backgroundPosition = position; +}; + +hterm.ScrollPort.prototype.setCtrlVPaste = function(ctrlVPaste) { + this.ctrlVPaste = ctrlVPaste; +}; + +/** + * Get the usable size of the scrollport screen. + * + * The width will not include the scrollbar width. + */ +hterm.ScrollPort.prototype.getScreenSize = function() { + var size = hterm.getClientSize(this.screen_); + return { + height: size.height, + width: size.width - this.currentScrollbarWidthPx + }; +}; + +/** + * Get the usable width of the scrollport screen. + * + * This the widget width minus scrollbar width. + */ +hterm.ScrollPort.prototype.getScreenWidth = function() { + return this.getScreenSize().width ; +}; + +/** + * Get the usable height of the scrollport screen. + */ +hterm.ScrollPort.prototype.getScreenHeight = function() { + return this.getScreenSize().height; +}; + +/** + * Return the document that holds the visible rows of this hterm.ScrollPort. + */ +hterm.ScrollPort.prototype.getDocument = function() { + return this.document_; +}; + +/** + * Returns the x-screen element that holds the rows of this hterm.ScrollPort. + */ +hterm.ScrollPort.prototype.getScreenNode = function() { + return this.screen_; +}; + +/** + * Clear out any cached rowNodes. + */ +hterm.ScrollPort.prototype.resetCache = function() { + this.currentRowNodeCache_ = null; + this.previousRowNodeCache_ = {}; +}; + +/** + * Change the current rowProvider. + * + * This will clear the row cache and cause a redraw. + * + * @param {Object} rowProvider An object capable of providing the rows + * in this hterm.ScrollPort. + */ +hterm.ScrollPort.prototype.setRowProvider = function(rowProvider) { + this.resetCache(); + this.rowProvider_ = rowProvider; + this.scheduleRedraw(); +}; + +/** + * Inform the ScrollPort that the root DOM nodes for some or all of the visible + * rows are no longer valid. + * + * Specifically, this should be called if this.rowProvider_.getRowNode() now + * returns an entirely different node than it did before. It does not + * need to be called if the content of a row node is the only thing that + * changed. + * + * This skips some of the overhead of a full redraw, but should not be used + * in cases where the scrollport has been scrolled, or when the row count has + * changed. + */ +hterm.ScrollPort.prototype.invalidate = function() { + var node = this.topFold_.nextSibling; + while (node != this.bottomFold_) { + var nextSibling = node.nextSibling; + node.parentElement.removeChild(node); + node = nextSibling; + } + + this.previousRowNodeCache_ = null; + var topRowIndex = this.getTopRowIndex(); + var bottomRowIndex = this.getBottomRowIndex(topRowIndex); + + this.drawVisibleRows_(topRowIndex, bottomRowIndex); +}; + +hterm.ScrollPort.prototype.scheduleInvalidate = function() { + if (this.timeouts_.invalidate) + return; + + var self = this; + this.timeouts_.invalidate = setTimeout(function () { + delete self.timeouts_.invalidate; + self.invalidate(); + }, 0); +}; + +/** + * Set the font size of the ScrollPort. + */ +hterm.ScrollPort.prototype.setFontSize = function(px) { + this.screen_.style.fontSize = px + 'px'; + this.syncCharacterSize(); +}; + +/** + * Return the current font size of the ScrollPort. + */ +hterm.ScrollPort.prototype.getFontSize = function() { + return parseInt(this.screen_.style.fontSize); +}; + +/** + * Measure the size of a single character in pixels. + * + * @param {string} opt_weight The font weight to measure, or 'normal' if + * omitted. + * @return {hterm.Size} A new hterm.Size object. + */ +hterm.ScrollPort.prototype.measureCharacterSize = function(opt_weight) { + // Number of lines used to average the height of a single character. + var numberOfLines = 100; + // Number of chars per line used to average the width of a single character. + var lineLength = 100; + + if (!this.ruler_) { + this.ruler_ = this.document_.createElement('div'); + this.ruler_.id = 'hterm:ruler-character-size'; + this.ruler_.style.cssText = ( + 'position: absolute;' + + 'top: 0;' + + 'left: 0;' + + 'visibility: hidden;' + + 'height: auto !important;' + + 'width: auto !important;'); + + // We need to put the text in a span to make the size calculation + // work properly in Firefox + this.rulerSpan_ = this.document_.createElement('span'); + this.rulerSpan_.id = 'hterm:ruler-span-workaround'; + this.rulerSpan_.innerHTML = + ('X'.repeat(lineLength) + '\r').repeat(numberOfLines); + this.ruler_.appendChild(this.rulerSpan_); + + this.rulerBaseline_ = this.document_.createElement('span'); + this.rulerSpan_.id = 'hterm:ruler-baseline'; + // We want to collapse it on the baseline + this.rulerBaseline_.style.fontSize = '0px'; + this.rulerBaseline_.textContent = 'X'; + } + + this.rulerSpan_.style.fontWeight = opt_weight || ''; + + this.rowNodes_.appendChild(this.ruler_); + var rulerSize = hterm.getClientSize(this.rulerSpan_); + + var size = new hterm.Size(rulerSize.width / lineLength, + rulerSize.height / numberOfLines); + + this.ruler_.appendChild(this.rulerBaseline_); + size.baseline = this.rulerBaseline_.offsetTop; + this.ruler_.removeChild(this.rulerBaseline_); + + this.rowNodes_.removeChild(this.ruler_); + + this.div_.ownerDocument.body.appendChild(this.svg_); + size.zoomFactor = this.svg_.currentScale; + this.div_.ownerDocument.body.removeChild(this.svg_); + + return size; +}; + +/** + * Synchronize the character size. + * + * This will re-measure the current character size and adjust the height + * of an x-row to match. + */ +hterm.ScrollPort.prototype.syncCharacterSize = function() { + this.characterSize = this.measureCharacterSize(); + + this.resize(); +}; + +/** + * Reset dimensions and visible row count to account for a change in the + * dimensions of the 'x-screen'. + */ +hterm.ScrollPort.prototype.resize = function() { + this.currentScrollbarWidthPx = hterm.getClientWidth(this.screen_) - + this.screen_.clientWidth; + + this.syncScrollHeight(); + this.syncRowNodesDimensions_(); + + var self = this; + this.publish( + 'resize', { scrollPort: this }, + function() { + self.scrollRowToBottom(self.rowProvider_.getRowCount()); + self.scheduleRedraw(); + }); +}; + +/** + * Set the position and size of the row nodes element. + */ +hterm.ScrollPort.prototype.syncRowNodesDimensions_ = function() { + var screenSize = this.getScreenSize(); + + this.lastScreenWidth_ = screenSize.width; + this.lastScreenHeight_ = screenSize.height; + + // We don't want to show a partial row because it would be distracting + // in a terminal, so we floor any fractional row count. + this.visibleRowCount = lib.f.smartFloorDivide( + screenSize.height, this.characterSize.height); + + // Then compute the height of our integral number of rows. + var visibleRowsHeight = this.visibleRowCount * this.characterSize.height; + + // Then the difference between the screen height and total row height needs to + // be made up for as top margin. We need to record this value so it + // can be used later to determine the topRowIndex. + this.visibleRowTopMargin = 0; + this.visibleRowBottomMargin = screenSize.height - visibleRowsHeight; + + this.topFold_.style.marginBottom = this.visibleRowTopMargin + 'px'; + + + var topFoldOffset = 0; + var node = this.topFold_.previousSibling; + while (node) { + topFoldOffset += hterm.getClientHeight(node); + node = node.previousSibling; + } + + // Set the dimensions of the visible rows container. + this.rowNodes_.style.width = screenSize.width + 'px'; + this.rowNodes_.style.height = visibleRowsHeight + topFoldOffset + 'px'; + this.rowNodes_.style.left = this.screen_.offsetLeft + 'px'; + this.rowNodes_.style.top = this.screen_.offsetTop - topFoldOffset + 'px'; +}; + +hterm.ScrollPort.prototype.syncScrollHeight = function() { + // Resize the scroll area to appear as though it contains every row. + this.lastRowCount_ = this.rowProvider_.getRowCount(); + this.scrollArea_.style.height = (this.characterSize.height * + this.lastRowCount_ + + this.visibleRowTopMargin + + this.visibleRowBottomMargin + + 'px'); +}; + +/** + * Schedule a redraw to happen asynchronously. + * + * If this method is called multiple times before the redraw has a chance to + * run only one redraw occurs. + */ +hterm.ScrollPort.prototype.scheduleRedraw = function() { + if (this.timeouts_.redraw) + return; + + var self = this; + this.timeouts_.redraw = setTimeout(function () { + delete self.timeouts_.redraw; + self.redraw_(); + }, 0); +}; + +/** + * Redraw the current hterm.ScrollPort based on the current scrollbar position. + * + * When redrawing, we are careful to make sure that the rows that start or end + * the current selection are not touched in any way. Doing so would disturb + * the selection, and cleaning up after that would cause flashes at best and + * incorrect selection at worst. Instead, we modify the DOM around these nodes. + * We even stash the selection start/end outside of the visible area if + * they are not supposed to be visible in the hterm.ScrollPort. + */ +hterm.ScrollPort.prototype.redraw_ = function() { + this.resetSelectBags_(); + this.selection.sync(); + + this.syncScrollHeight(); + + this.currentRowNodeCache_ = {}; + + var topRowIndex = this.getTopRowIndex(); + var bottomRowIndex = this.getBottomRowIndex(topRowIndex); + + this.drawTopFold_(topRowIndex); + this.drawBottomFold_(bottomRowIndex); + this.drawVisibleRows_(topRowIndex, bottomRowIndex); + + this.syncRowNodesDimensions_(); + + this.previousRowNodeCache_ = this.currentRowNodeCache_; + this.currentRowNodeCache_ = null; + + this.isScrolledEnd = ( + this.getTopRowIndex() + this.visibleRowCount >= this.lastRowCount_); +}; + +/** + * Ensure that the nodes above the top fold are as they should be. + * + * If the selection start and/or end nodes are above the visible range + * of this hterm.ScrollPort then the dom will be adjusted so that they appear + * before the top fold (the first x-fold element, aka this.topFold). + * + * If not, the top fold will be the first element. + * + * It is critical that this method does not move the selection nodes. Doing + * so would clear the current selection. Instead, the rest of the DOM is + * adjusted around them. + */ +hterm.ScrollPort.prototype.drawTopFold_ = function(topRowIndex) { + if (!this.selection.startRow || + this.selection.startRow.rowIndex >= topRowIndex) { + // Selection is entirely below the top fold, just make sure the fold is + // the first child. + if (this.rowNodes_.firstChild != this.topFold_) + this.rowNodes_.insertBefore(this.topFold_, this.rowNodes_.firstChild); + + return; + } + + if (!this.selection.isMultiline || + this.selection.endRow.rowIndex >= topRowIndex) { + // Only the startRow is above the fold. + if (this.selection.startRow.nextSibling != this.topFold_) + this.rowNodes_.insertBefore(this.topFold_, + this.selection.startRow.nextSibling); + } else { + // Both rows are above the fold. + if (this.selection.endRow.nextSibling != this.topFold_) { + this.rowNodes_.insertBefore(this.topFold_, + this.selection.endRow.nextSibling); + } + + // Trim any intermediate lines. + while (this.selection.startRow.nextSibling != + this.selection.endRow) { + this.rowNodes_.removeChild(this.selection.startRow.nextSibling); + } + } + + while(this.rowNodes_.firstChild != this.selection.startRow) { + this.rowNodes_.removeChild(this.rowNodes_.firstChild); + } +}; + +/** + * Ensure that the nodes below the bottom fold are as they should be. + * + * If the selection start and/or end nodes are below the visible range + * of this hterm.ScrollPort then the dom will be adjusted so that they appear + * after the bottom fold (the second x-fold element, aka this.bottomFold). + * + * If not, the bottom fold will be the last element. + * + * It is critical that this method does not move the selection nodes. Doing + * so would clear the current selection. Instead, the rest of the DOM is + * adjusted around them. + */ +hterm.ScrollPort.prototype.drawBottomFold_ = function(bottomRowIndex) { + if (!this.selection.endRow || + this.selection.endRow.rowIndex <= bottomRowIndex) { + // Selection is entirely above the bottom fold, just make sure the fold is + // the last child. + if (this.rowNodes_.lastChild != this.bottomFold_) + this.rowNodes_.appendChild(this.bottomFold_); + + return; + } + + if (!this.selection.isMultiline || + this.selection.startRow.rowIndex <= bottomRowIndex) { + // Only the endRow is below the fold. + if (this.bottomFold_.nextSibling != this.selection.endRow) + this.rowNodes_.insertBefore(this.bottomFold_, + this.selection.endRow); + } else { + // Both rows are below the fold. + if (this.bottomFold_.nextSibling != this.selection.startRow) { + this.rowNodes_.insertBefore(this.bottomFold_, + this.selection.startRow); + } + + // Trim any intermediate lines. + while (this.selection.startRow.nextSibling != + this.selection.endRow) { + this.rowNodes_.removeChild(this.selection.startRow.nextSibling); + } + } + + while(this.rowNodes_.lastChild != this.selection.endRow) { + this.rowNodes_.removeChild(this.rowNodes_.lastChild); + } +}; + +/** + * Ensure that the rows between the top and bottom folds are as they should be. + * + * This method assumes that drawTopFold_() and drawBottomFold_() have already + * run, and that they have left any visible selection row (selection start + * or selection end) between the folds. + * + * It recycles DOM nodes from the previous redraw where possible, but will ask + * the rowSource to make new nodes if necessary. + * + * It is critical that this method does not move the selection nodes. Doing + * so would clear the current selection. Instead, the rest of the DOM is + * adjusted around them. + */ +hterm.ScrollPort.prototype.drawVisibleRows_ = function( + topRowIndex, bottomRowIndex) { + var self = this; + + // Keep removing nodes, starting with currentNode, until we encounter + // targetNode. Throws on failure. + function removeUntilNode(currentNode, targetNode) { + while (currentNode != targetNode) { + if (!currentNode) + throw 'Did not encounter target node'; + + if (currentNode == self.bottomFold_) + throw 'Encountered bottom fold before target node'; + + var deadNode = currentNode; + currentNode = currentNode.nextSibling; + deadNode.parentNode.removeChild(deadNode); + } + } + + // Shorthand for things we're going to use a lot. + var selectionStartRow = this.selection.startRow; + var selectionEndRow = this.selection.endRow; + var bottomFold = this.bottomFold_; + + // The node we're examining during the current iteration. + var node = this.topFold_.nextSibling; + + var targetDrawCount = Math.min(this.visibleRowCount, + this.rowProvider_.getRowCount()); + + for (var drawCount = 0; drawCount < targetDrawCount; drawCount++) { + var rowIndex = topRowIndex + drawCount; + + if (node == bottomFold) { + // We've hit the bottom fold, we need to insert a new row. + var newNode = this.fetchRowNode_(rowIndex); + if (!newNode) { + console.log("Couldn't fetch row index: " + rowIndex); + break; + } + + this.rowNodes_.insertBefore(newNode, node); + continue; + } + + if (node.rowIndex == rowIndex) { + // This node is in the right place, move along. + node = node.nextSibling; + continue; + } + + if (selectionStartRow && selectionStartRow.rowIndex == rowIndex) { + // The selection start row is supposed to be here, remove nodes until + // we find it. + removeUntilNode(node, selectionStartRow); + node = selectionStartRow.nextSibling; + continue; + } + + if (selectionEndRow && selectionEndRow.rowIndex == rowIndex) { + // The selection end row is supposed to be here, remove nodes until + // we find it. + removeUntilNode(node, selectionEndRow); + node = selectionEndRow.nextSibling; + continue; + } + + if (node == selectionStartRow || node == selectionEndRow) { + // We encountered the start/end of the selection, but we don't want it + // yet. Insert a new row instead. + var newNode = this.fetchRowNode_(rowIndex); + if (!newNode) { + console.log("Couldn't fetch row index: " + rowIndex); + break; + } + + this.rowNodes_.insertBefore(newNode, node); + continue; + } + + // There is nothing special about this node, but it's in our way. Replace + // it with the node that should be here. + var newNode = this.fetchRowNode_(rowIndex); + if (!newNode) { + console.log("Couldn't fetch row index: " + rowIndex); + break; + } + + if (node == newNode) { + node = node.nextSibling; + continue; + } + + this.rowNodes_.insertBefore(newNode, node); + if (!newNode.nextSibling) + debugger; + this.rowNodes_.removeChild(node); + node = newNode.nextSibling; + } + + if (node != this.bottomFold_) + removeUntilNode(node, bottomFold); +}; + +/** + * Empty out both select bags and remove them from the document. + * + * These nodes hold the text between the start and end of the selection + * when that text is otherwise off screen. They are filled out in the + * onCopy_ event. + */ +hterm.ScrollPort.prototype.resetSelectBags_ = function() { + if (this.topSelectBag_.parentNode) { + this.topSelectBag_.textContent = ''; + this.topSelectBag_.parentNode.removeChild(this.topSelectBag_); + } + + if (this.bottomSelectBag_.parentNode) { + this.bottomSelectBag_.textContent = ''; + this.bottomSelectBag_.parentNode.removeChild(this.bottomSelectBag_); + } +}; + +/** + * Place a row node in the cache of visible nodes. + * + * This method may only be used during a redraw_. + */ +hterm.ScrollPort.prototype.cacheRowNode_ = function(rowNode) { + this.currentRowNodeCache_[rowNode.rowIndex] = rowNode; +}; + +/** + * Fetch the row node for the given index. + * + * This will return a node from the cache if possible, or will request one + * from the RowProvider if not. + * + * If a redraw_ is in progress the row will be added to the current cache. + */ +hterm.ScrollPort.prototype.fetchRowNode_ = function(rowIndex) { + var node; + + if (this.previousRowNodeCache_ && rowIndex in this.previousRowNodeCache_) { + node = this.previousRowNodeCache_[rowIndex]; + } else { + node = this.rowProvider_.getRowNode(rowIndex); + } + + if (this.currentRowNodeCache_) + this.cacheRowNode_(node); + + return node; +}; + +/** + * Select all rows in the viewport. + */ +hterm.ScrollPort.prototype.selectAll = function() { + var firstRow; + + if (this.topFold_.nextSibling.rowIndex != 0) { + while (this.topFold_.previousSibling) { + this.rowNodes_.removeChild(this.topFold_.previousSibling); + } + + firstRow = this.fetchRowNode_(0); + this.rowNodes_.insertBefore(firstRow, this.topFold_); + this.syncRowNodesDimensions_(); + } else { + firstRow = this.topFold_.nextSibling; + } + + var lastRowIndex = this.rowProvider_.getRowCount() - 1; + var lastRow; + + if (this.bottomFold_.previousSibling.rowIndex != lastRowIndex) { + while (this.bottomFold_.nextSibling) { + this.rowNodes_.removeChild(this.bottomFold_.nextSibling); + } + + lastRow = this.fetchRowNode_(lastRowIndex); + this.rowNodes_.appendChild(lastRow); + } else { + lastRow = this.bottomFold_.previousSibling.rowIndex; + } + + var selection = this.document_.getSelection(); + selection.collapse(firstRow, 0); + selection.extend(lastRow, lastRow.childNodes.length); + + this.selection.sync(); +}; + +/** + * Return the maximum scroll position in pixels. + */ +hterm.ScrollPort.prototype.getScrollMax_ = function(e) { + return (hterm.getClientHeight(this.scrollArea_) + + this.visibleRowTopMargin + this.visibleRowBottomMargin - + hterm.getClientHeight(this.screen_)); +}; + +/** + * Scroll the given rowIndex to the top of the hterm.ScrollPort. + * + * @param {integer} rowIndex Index of the target row. + */ +hterm.ScrollPort.prototype.scrollRowToTop = function(rowIndex) { + this.syncScrollHeight(); + + this.isScrolledEnd = ( + rowIndex + this.visibleRowCount >= this.lastRowCount_); + + var scrollTop = rowIndex * this.characterSize.height + + this.visibleRowTopMargin; + + var scrollMax = this.getScrollMax_(); + if (scrollTop > scrollMax) + scrollTop = scrollMax; + + if (this.screen_.scrollTop == scrollTop) + return; + + this.screen_.scrollTop = scrollTop; + this.scheduleRedraw(); +}; + +/** + * Scroll the given rowIndex to the bottom of the hterm.ScrollPort. + * + * @param {integer} rowIndex Index of the target row. + */ +hterm.ScrollPort.prototype.scrollRowToBottom = function(rowIndex) { + this.syncScrollHeight(); + + this.isScrolledEnd = ( + rowIndex + this.visibleRowCount >= this.lastRowCount_); + + var scrollTop = rowIndex * this.characterSize.height + + this.visibleRowTopMargin + this.visibleRowBottomMargin; + scrollTop -= this.visibleRowCount * this.characterSize.height; + + if (scrollTop < 0) + scrollTop = 0; + + if (this.screen_.scrollTop == scrollTop) + return; + + this.screen_.scrollTop = scrollTop; +}; + +/** + * Return the row index of the first visible row. + * + * This is based on the scroll position. If a redraw_ is in progress this + * returns the row that *should* be at the top. + */ +hterm.ScrollPort.prototype.getTopRowIndex = function() { + return Math.round(this.screen_.scrollTop / this.characterSize.height); +}; + +/** + * Return the row index of the last visible row. + * + * This is based on the scroll position. If a redraw_ is in progress this + * returns the row that *should* be at the bottom. + */ +hterm.ScrollPort.prototype.getBottomRowIndex = function(topRowIndex) { + return topRowIndex + this.visibleRowCount - 1; +}; + +/** + * Handler for scroll events. + * + * The onScroll event fires when scrollArea's scrollTop property changes. This + * may be due to the user manually move the scrollbar, or a programmatic change. + */ +hterm.ScrollPort.prototype.onScroll_ = function(e) { + var screenSize = this.getScreenSize(); + if (screenSize.width != this.lastScreenWidth_ || + screenSize.height != this.lastScreenHeight_) { + // This event may also fire during a resize (but before the resize event!). + // This happens when the browser moves the scrollbar as part of the resize. + // In these cases, we want to ignore the scroll event and let onResize + // handle things. If we don't, then we end up scrolling to the wrong + // position after a resize. + this.resize(); + return; + } + + this.redraw_(); + this.publish('scroll', { scrollPort: this }); +}; + +/** + * Clients can override this if they want to hear scrollwheel events. + * + * Clients may call event.preventDefault() if they want to keep the scrollport + * from also handling the events. + */ +hterm.ScrollPort.prototype.onScrollWheel = function(e) {}; + +/** + * Handler for scroll-wheel events. + * + * The onScrollWheel event fires when the user moves their scrollwheel over this + * hterm.ScrollPort. Because the frontmost element in the hterm.ScrollPort is + * a fixed position DIV, the scroll wheel does nothing by default. Instead, we + * have to handle it manually. + */ +hterm.ScrollPort.prototype.onScrollWheel_ = function(e) { + this.onScrollWheel(e); + + if (e.defaultPrevented) + return; + + // Figure out how far this event wants us to scroll. + var delta = this.scrollWheelDelta(e); + + var top = this.screen_.scrollTop - delta; + if (top < 0) + top = 0; + + var scrollMax = this.getScrollMax_(); + if (top > scrollMax) + top = scrollMax; + + if (top != this.screen_.scrollTop) { + // Moving scrollTop causes a scroll event, which triggers the redraw. + this.screen_.scrollTop = top; + + // Only preventDefault when we've actually scrolled. If there's nothing + // to scroll we want to pass the event through so Chrome can detect the + // overscroll. + e.preventDefault(); + } +}; + +/** + * Calculate how far a wheel event should scroll. + * + * @param {WheelEvent} e The mouse wheel event to process. + * @return {number} How far (in pixels) to scroll. + */ +hterm.ScrollPort.prototype.scrollWheelDelta = function(e) { + var delta; + + switch (e.deltaMode) { + case WheelEvent.DOM_DELTA_PIXEL: + delta = e.deltaY * this.scrollWheelMultiplier_; + break; + case WheelEvent.DOM_DELTA_LINE: + delta = e.deltaY * this.characterSize.height; + break; + case WheelEvent.DOM_DELTA_PAGE: + delta = e.deltaY * this.characterSize.height * this.screen_.getHeight(); + break; + } + + // The sign is inverted from what we would expect. + return delta * -1; +}; + + +/** + * Clients can override this if they want to hear touch events. + * + * Clients may call event.preventDefault() if they want to keep the scrollport + * from also handling the events. + */ +hterm.ScrollPort.prototype.onTouch = function(e) {}; + +/** + * Handler for touch events. + */ +hterm.ScrollPort.prototype.onTouch_ = function(e) { + this.onTouch(e); + + if (e.defaultPrevented) + return; + + // Extract the fields from the Touch event that we need. If we saved the + // event directly, it has references to other objects (like x-row) that + // might stick around for a long time. This way we only have small objects + // in our lastTouch_ state. + var scrubTouch = function(t) { + return { + id: t.identifier, + y: t.clientY, + x: t.clientX, + }; + }; + + var i, touch; + switch (e.type) { + case 'touchstart': + // Save the current set of touches. + for (i = 0; i < e.changedTouches.length; ++i) { + touch = scrubTouch(e.changedTouches[i]); + this.lastTouch_[touch.id] = touch; + } + break; + + case 'touchcancel': + case 'touchend': + // Throw away existing touches that we're finished with. + for (i = 0; i < e.changedTouches.length; ++i) + delete this.lastTouch_[e.changedTouches[i].identifier]; + break; + + case 'touchmove': + // Walk all of the touches in this one event and merge all of their + // changes into one delta. This lets multiple fingers scroll faster. + var delta = 0; + for (i = 0; i < e.changedTouches.length; ++i) { + touch = scrubTouch(e.changedTouches[i]); + delta += (this.lastTouch_[touch.id].y - touch.y); + this.lastTouch_[touch.id] = touch; + } + + // Invert to match the touchscreen scrolling direction of browser windows. + delta *= -1; + + var top = this.screen_.scrollTop - delta; + if (top < 0) + top = 0; + + var scrollMax = this.getScrollMax_(); + if (top > scrollMax) + top = scrollMax; + + if (top != this.screen_.scrollTop) { + // Moving scrollTop causes a scroll event, which triggers the redraw. + this.screen_.scrollTop = top; + } + break; + } + + // To disable gestures or anything else interfering with our scrolling. + e.preventDefault(); +}; + +/** + * Handler for resize events. + * + * The browser will resize us such that the top row stays at the top, but we + * prefer to the bottom row to stay at the bottom. + */ +hterm.ScrollPort.prototype.onResize_ = function(e) { + // Re-measure, since onResize also happens for browser zoom changes. + this.syncCharacterSize(); + this.resize(); +}; + +/** + * Clients can override this if they want to hear copy events. + * + * Clients may call event.preventDefault() if they want to keep the scrollport + * from also handling the events. + */ +hterm.ScrollPort.prototype.onCopy = function(e) { }; + +/** + * Handler for copy-to-clipboard events. + * + * If some or all of the selected rows are off screen we may need to fill in + * the rows between selection start and selection end. This handler determines + * if we're missing some of the selected text, and if so populates one or both + * of the "select bags" with the missing text. + */ +hterm.ScrollPort.prototype.onCopy_ = function(e) { + this.onCopy(e); + + if (e.defaultPrevented) + return; + + this.resetSelectBags_(); + this.selection.sync(); + + if (!this.selection.startRow || + this.selection.endRow.rowIndex - this.selection.startRow.rowIndex < 2) { + return; + } + + var topRowIndex = this.getTopRowIndex(); + var bottomRowIndex = this.getBottomRowIndex(topRowIndex); + + if (this.selection.startRow.rowIndex < topRowIndex) { + // Start of selection is above the top fold. + var endBackfillIndex; + + if (this.selection.endRow.rowIndex < topRowIndex) { + // Entire selection is above the top fold. + endBackfillIndex = this.selection.endRow.rowIndex; + } else { + // Selection extends below the top fold. + endBackfillIndex = this.topFold_.nextSibling.rowIndex; + } + + this.topSelectBag_.textContent = this.rowProvider_.getRowsText( + this.selection.startRow.rowIndex + 1, endBackfillIndex); + this.rowNodes_.insertBefore(this.topSelectBag_, + this.selection.startRow.nextSibling); + this.syncRowNodesDimensions_(); + } + + if (this.selection.endRow.rowIndex > bottomRowIndex) { + // Selection ends below the bottom fold. + var startBackfillIndex; + + if (this.selection.startRow.rowIndex > bottomRowIndex) { + // Entire selection is below the bottom fold. + startBackfillIndex = this.selection.startRow.rowIndex + 1; + } else { + // Selection starts above the bottom fold. + startBackfillIndex = this.bottomFold_.previousSibling.rowIndex + 1; + } + + this.bottomSelectBag_.textContent = this.rowProvider_.getRowsText( + startBackfillIndex, this.selection.endRow.rowIndex); + this.rowNodes_.insertBefore(this.bottomSelectBag_, this.selection.endRow); + } +}; + +/** + * Focuses on the paste target on a ctrl-v keydown event, as in + * FF a content editable element must be focused before the paste event. + */ +hterm.ScrollPort.prototype.onBodyKeyDown_ = function(e) { + if (!this.ctrlVPaste) + return; + + var key = String.fromCharCode(e.which); + var lowerKey = key.toLowerCase(); + if ((e.ctrlKey || e.metaKey) && lowerKey == "v") + this.pasteTarget_.focus(); +}; + +/** + * Handle a paste event on the the ScrollPort's screen element. + */ +hterm.ScrollPort.prototype.onPaste_ = function(e) { + this.pasteTarget_.focus(); + + var self = this; + setTimeout(function() { + self.publish('paste', { text: self.pasteTarget_.value }); + self.pasteTarget_.value = ''; + self.screen_.focus(); + }, 0); +}; + +/** + * Handles a textInput event on the paste target. Stops this from + * propagating as we want this to be handled in the onPaste_ method. + */ +hterm.ScrollPort.prototype.handlePasteTargetTextInput_ = function(e) { + e.stopPropagation(); +}; + +/** + * Set the vertical scrollbar mode of the ScrollPort. + */ +hterm.ScrollPort.prototype.setScrollbarVisible = function(state) { + this.screen_.style.overflowY = state ? 'scroll' : 'hidden'; +}; + +/** + * Set scroll wheel multiplier. This alters how much the screen scrolls on + * mouse wheel events. + */ +hterm.ScrollPort.prototype.setScrollWheelMoveMultipler = function(multiplier) { + this.scrollWheelMultiplier_ = multiplier; +}; +// SOURCE FILE: hterm/js/hterm_terminal.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +lib.rtdep('lib.colors', 'lib.PreferenceManager', 'lib.resource', 'lib.wc', + 'lib.f', 'hterm.Keyboard', 'hterm.Options', 'hterm.PreferenceManager', + 'hterm.Screen', 'hterm.ScrollPort', 'hterm.Size', + 'hterm.TextAttributes', 'hterm.VT'); + +/** + * Constructor for the Terminal class. + * + * A Terminal pulls together the hterm.ScrollPort, hterm.Screen and hterm.VT100 + * classes to provide the complete terminal functionality. + * + * There are a number of lower-level Terminal methods that can be called + * directly to manipulate the cursor, text, scroll region, and other terminal + * attributes. However, the primary method is interpret(), which parses VT + * escape sequences and invokes the appropriate Terminal methods. + * + * This class was heavily influenced by Cory Maccarrone's Framebuffer class. + * + * TODO(rginda): Eventually we're going to need to support characters which are + * displayed twice as wide as standard latin characters. This is to support + * CJK (and possibly other character sets). + * + * @param {string} opt_profileId Optional preference profile name. If not + * provided, defaults to 'default'. + */ +hterm.Terminal = function(opt_profileId) { + this.profileId_ = null; + + // Two screen instances. + this.primaryScreen_ = new hterm.Screen(); + this.alternateScreen_ = new hterm.Screen(); + + // The "current" screen. + this.screen_ = this.primaryScreen_; + + // The local notion of the screen size. ScreenBuffers also have a size which + // indicates their present size. During size changes, the two may disagree. + // Also, the inactive screen's size is not altered until it is made the active + // screen. + this.screenSize = new hterm.Size(0, 0); + + // The scroll port we'll be using to display the visible rows. + this.scrollPort_ = new hterm.ScrollPort(this); + this.scrollPort_.subscribe('resize', this.onResize_.bind(this)); + this.scrollPort_.subscribe('scroll', this.onScroll_.bind(this)); + this.scrollPort_.subscribe('paste', this.onPaste_.bind(this)); + this.scrollPort_.onCopy = this.onCopy_.bind(this); + + // The div that contains this terminal. + this.div_ = null; + + // The document that contains the scrollPort. Defaulted to the global + // document here so that the terminal is functional even if it hasn't been + // inserted into a document yet, but re-set in decorate(). + this.document_ = window.document; + + // The rows that have scrolled off screen and are no longer addressable. + this.scrollbackRows_ = []; + + // Saved tab stops. + this.tabStops_ = []; + + // Keep track of whether default tab stops have been erased; after a TBC + // clears all tab stops, defaults aren't restored on resize until a reset. + this.defaultTabStops = true; + + // The VT's notion of the top and bottom rows. Used during some VT + // cursor positioning and scrolling commands. + this.vtScrollTop_ = null; + this.vtScrollBottom_ = null; + + // The DIV element for the visible cursor. + this.cursorNode_ = null; + + // The current cursor shape of the terminal. + this.cursorShape_ = hterm.Terminal.cursorShape.BLOCK; + + // The current color of the cursor. + this.cursorColor_ = null; + + // Cursor blink on/off cycle in ms, overwritten by prefs once they're loaded. + this.cursorBlinkCycle_ = [100, 100]; + + // Pre-bound onCursorBlink_ handler, so we don't have to do this for each + // cursor on/off servicing. + this.myOnCursorBlink_ = this.onCursorBlink_.bind(this); + + // These prefs are cached so we don't have to read from local storage with + // each output and keystroke. They are initialized by the preference manager. + this.backgroundColor_ = null; + this.foregroundColor_ = null; + this.scrollOnOutput_ = null; + this.scrollOnKeystroke_ = null; + this.scrollWheelArrowKeys_ = null; + + // True if we should override mouse event reporting to allow local selection. + this.defeatMouseReports_ = false; + + // Terminal bell sound. + this.bellAudio_ = this.document_.createElement('audio'); + this.bellAudio_.id = 'hterm:bell-audio'; + this.bellAudio_.setAttribute('preload', 'auto'); + + // All terminal bell notifications that have been generated (not necessarily + // shown). + this.bellNotificationList_ = []; + + // Whether we have permission to display notifications. + this.desktopNotificationBell_ = false; + + // Cursor position and attributes saved with DECSC. + this.savedOptions_ = {}; + + // The current mode bits for the terminal. + this.options_ = new hterm.Options(); + + // Timeouts we might need to clear. + this.timeouts_ = {}; + + // The VT escape sequence interpreter. + this.vt = new hterm.VT(this); + + // The keyboard handler. + this.keyboard = new hterm.Keyboard(this); + + // General IO interface that can be given to third parties without exposing + // the entire terminal object. + this.io = new hterm.Terminal.IO(this); + + // True if mouse-click-drag should scroll the terminal. + this.enableMouseDragScroll = true; + + this.copyOnSelect = null; + this.mouseRightClickPaste = null; + this.mousePasteButton = null; + + // Whether to use the default window copy behavior. + this.useDefaultWindowCopy = false; + + this.clearSelectionAfterCopy = true; + + this.realizeSize_(80, 24); + this.setDefaultTabStops(); + + this.setProfile(opt_profileId || 'default', + function() { this.onTerminalReady(); }.bind(this)); +}; + +/** + * Possible cursor shapes. + */ +hterm.Terminal.cursorShape = { + BLOCK: 'BLOCK', + BEAM: 'BEAM', + UNDERLINE: 'UNDERLINE' +}; + +/** + * Clients should override this to be notified when the terminal is ready + * for use. + * + * The terminal initialization is asynchronous, and shouldn't be used before + * this method is called. + */ +hterm.Terminal.prototype.onTerminalReady = function() { }; + +/** + * Default tab with of 8 to match xterm. + */ +hterm.Terminal.prototype.tabWidth = 8; + +/** + * Select a preference profile. + * + * This will load the terminal preferences for the given profile name and + * associate subsequent preference changes with the new preference profile. + * + * @param {string} profileId The name of the preference profile. Forward slash + * characters will be removed from the name. + * @param {function} opt_callback Optional callback to invoke when the profile + * transition is complete. + */ +hterm.Terminal.prototype.setProfile = function(profileId, opt_callback) { + this.profileId_ = profileId.replace(/\//g, ''); + + var terminal = this; + + if (this.prefs_) + this.prefs_.deactivate(); + + this.prefs_ = new hterm.PreferenceManager(this.profileId_); + this.prefs_.addObservers(null, { + 'alt-gr-mode': function(v) { + if (v == null) { + if (navigator.language.toLowerCase() == 'en-us') { + v = 'none'; + } else { + v = 'right-alt'; + } + } else if (typeof v == 'string') { + v = v.toLowerCase(); + } else { + v = 'none'; + } + + if (!/^(none|ctrl-alt|left-alt|right-alt)$/.test(v)) + v = 'none'; + + terminal.keyboard.altGrMode = v; + }, + + 'alt-backspace-is-meta-backspace': function(v) { + terminal.keyboard.altBackspaceIsMetaBackspace = v; + }, + + 'alt-is-meta': function(v) { + terminal.keyboard.altIsMeta = v; + }, + + 'alt-sends-what': function(v) { + if (!/^(escape|8-bit|browser-key)$/.test(v)) + v = 'escape'; + + terminal.keyboard.altSendsWhat = v; + }, + + 'audible-bell-sound': function(v) { + var ary = v.match(/^lib-resource:(\S+)/); + if (ary) { + terminal.bellAudio_.setAttribute('src', + lib.resource.getDataUrl(ary[1])); + } else { + terminal.bellAudio_.setAttribute('src', v); + } + }, + + 'desktop-notification-bell': function(v) { + if (v && Notification) { + terminal.desktopNotificationBell_ = + Notification.permission === 'granted'; + if (!terminal.desktopNotificationBell_) { + // Note: We don't call Notification.requestPermission here because + // Chrome requires the call be the result of a user action (such as an + // onclick handler), and pref listeners are run asynchronously. + // + // A way of working around this would be to display a dialog in the + // terminal with a "click-to-request-permission" button. + console.warn('desktop-notification-bell is true but we do not have ' + + 'permission to display notifications.'); + } + } else { + terminal.desktopNotificationBell_ = false; + } + }, + + 'background-color': function(v) { + terminal.setBackgroundColor(v); + }, + + 'background-image': function(v) { + terminal.scrollPort_.setBackgroundImage(v); + }, + + 'background-size': function(v) { + terminal.scrollPort_.setBackgroundSize(v); + }, + + 'background-position': function(v) { + terminal.scrollPort_.setBackgroundPosition(v); + }, + + 'backspace-sends-backspace': function(v) { + terminal.keyboard.backspaceSendsBackspace = v; + }, + + 'character-map-overrides': function(v) { + if (!(v == null || v instanceof Object)) { + console.warn('Preference character-map-modifications is not an ' + + 'object: ' + v); + return; + } + + terminal.vt.characterMaps.reset(); + terminal.vt.characterMaps.setOverrides(v); + }, + + 'cursor-blink': function(v) { + terminal.setCursorBlink(!!v); + }, + + 'cursor-blink-cycle': function(v) { + if (v instanceof Array && + typeof v[0] == 'number' && + typeof v[1] == 'number') { + terminal.cursorBlinkCycle_ = v; + } else if (typeof v == 'number') { + terminal.cursorBlinkCycle_ = [v, v]; + } else { + // Fast blink indicates an error. + terminal.cursorBlinkCycle_ = [100, 100]; + } + }, + + 'cursor-color': function(v) { + terminal.setCursorColor(v); + }, + + 'color-palette-overrides': function(v) { + if (!(v == null || v instanceof Object || v instanceof Array)) { + console.warn('Preference color-palette-overrides is not an array or ' + + 'object: ' + v); + return; + } + + lib.colors.colorPalette = lib.colors.stockColorPalette.concat(); + + if (v) { + for (var key in v) { + var i = parseInt(key); + if (isNaN(i) || i < 0 || i > 255) { + console.log('Invalid value in palette: ' + key + ': ' + v[key]); + continue; + } + + if (v[i]) { + var rgb = lib.colors.normalizeCSS(v[i]); + if (rgb) + lib.colors.colorPalette[i] = rgb; + } + } + } + + terminal.primaryScreen_.textAttributes.resetColorPalette(); + terminal.alternateScreen_.textAttributes.resetColorPalette(); + }, + + 'copy-on-select': function(v) { + terminal.copyOnSelect = !!v; + }, + + 'use-default-window-copy': function(v) { + terminal.useDefaultWindowCopy = !!v; + }, + + 'clear-selection-after-copy': function(v) { + terminal.clearSelectionAfterCopy = !!v; + }, + + 'ctrl-plus-minus-zero-zoom': function(v) { + terminal.keyboard.ctrlPlusMinusZeroZoom = v; + }, + + 'ctrl-c-copy': function(v) { + terminal.keyboard.ctrlCCopy = v; + }, + + 'ctrl-v-paste': function(v) { + terminal.keyboard.ctrlVPaste = v; + terminal.scrollPort_.setCtrlVPaste(v); + }, + + 'east-asian-ambiguous-as-two-column': function(v) { + lib.wc.regardCjkAmbiguous = v; + }, + + 'enable-8-bit-control': function(v) { + terminal.vt.enable8BitControl = !!v; + }, + + 'enable-bold': function(v) { + terminal.syncBoldSafeState(); + }, + + 'enable-bold-as-bright': function(v) { + terminal.primaryScreen_.textAttributes.enableBoldAsBright = !!v; + terminal.alternateScreen_.textAttributes.enableBoldAsBright = !!v; + }, + + 'enable-blink': function(v) { + terminal.syncBlinkState(); + }, + + 'enable-clipboard-write': function(v) { + terminal.vt.enableClipboardWrite = !!v; + }, + + 'enable-dec12': function(v) { + terminal.vt.enableDec12 = !!v; + }, + + 'font-family': function(v) { + terminal.syncFontFamily(); + }, + + 'font-size': function(v) { + terminal.setFontSize(v); + }, + + 'font-smoothing': function(v) { + terminal.syncFontFamily(); + }, + + 'foreground-color': function(v) { + terminal.setForegroundColor(v); + }, + + 'home-keys-scroll': function(v) { + terminal.keyboard.homeKeysScroll = v; + }, + + 'keybindings': function(v) { + terminal.keyboard.bindings.clear(); + + if (!v) + return; + + if (!(v instanceof Object)) { + console.error('Error in keybindings preference: Expected object'); + return; + } + + try { + terminal.keyboard.bindings.addBindings(v); + } catch (ex) { + console.error('Error in keybindings preference: ' + ex); + } + }, + + 'max-string-sequence': function(v) { + terminal.vt.maxStringSequence = v; + }, + + 'media-keys-are-fkeys': function(v) { + terminal.keyboard.mediaKeysAreFKeys = v; + }, + + 'meta-sends-escape': function(v) { + terminal.keyboard.metaSendsEscape = v; + }, + + 'mouse-right-click-paste': function(v) { + terminal.mouseRightClickPaste = v; + }, + + 'mouse-paste-button': function(v) { + terminal.syncMousePasteButton(); + }, + + 'page-keys-scroll': function(v) { + terminal.keyboard.pageKeysScroll = v; + }, + + 'pass-alt-number': function(v) { + if (v == null) { + var osx = window.navigator.userAgent.match(/Mac OS X/); + + // Let Alt-1..9 pass to the browser (to control tab switching) on + // non-OS X systems, or if hterm is not opened in an app window. + v = (!osx && hterm.windowType != 'popup'); + } + + terminal.passAltNumber = v; + }, + + 'pass-ctrl-number': function(v) { + if (v == null) { + var osx = window.navigator.userAgent.match(/Mac OS X/); + + // Let Ctrl-1..9 pass to the browser (to control tab switching) on + // non-OS X systems, or if hterm is not opened in an app window. + v = (!osx && hterm.windowType != 'popup'); + } + + terminal.passCtrlNumber = v; + }, + + 'pass-meta-number': function(v) { + if (v == null) { + var osx = window.navigator.userAgent.match(/Mac OS X/); + + // Let Meta-1..9 pass to the browser (to control tab switching) on + // OS X systems, or if hterm is not opened in an app window. + v = (osx && hterm.windowType != 'popup'); + } + + terminal.passMetaNumber = v; + }, + + 'pass-meta-v': function(v) { + terminal.keyboard.passMetaV = v; + }, + + 'receive-encoding': function(v) { + if (!(/^(utf-8|raw)$/).test(v)) { + console.warn('Invalid value for "receive-encoding": ' + v); + v = 'utf-8'; + } + + terminal.vt.characterEncoding = v; + }, + + 'scroll-on-keystroke': function(v) { + terminal.scrollOnKeystroke_ = v; + }, + + 'scroll-on-output': function(v) { + terminal.scrollOnOutput_ = v; + }, + + 'scrollbar-visible': function(v) { + terminal.setScrollbarVisible(v); + }, + + 'scroll-wheel-may-send-arrow-keys': function(v) { + terminal.scrollWheelArrowKeys_ = v; + }, + + 'scroll-wheel-move-multiplier': function(v) { + terminal.setScrollWheelMoveMultipler(v); + }, + + 'send-encoding': function(v) { + if (!(/^(utf-8|raw)$/).test(v)) { + console.warn('Invalid value for "send-encoding": ' + v); + v = 'utf-8'; + } + + terminal.keyboard.characterEncoding = v; + }, + + 'shift-insert-paste': function(v) { + terminal.keyboard.shiftInsertPaste = v; + }, + + 'terminal-encoding': function(v) { + terminal.vt.setEncoding(v); + }, + + 'user-css': function(v) { + terminal.scrollPort_.setUserCssUrl(v); + }, + + 'user-css-text': function(v) { + terminal.scrollPort_.setUserCssText(v); + }, + + 'word-break-match-left': function(v) { + terminal.primaryScreen_.wordBreakMatchLeft = v; + terminal.alternateScreen_.wordBreakMatchLeft = v; + }, + + 'word-break-match-right': function(v) { + terminal.primaryScreen_.wordBreakMatchRight = v; + terminal.alternateScreen_.wordBreakMatchRight = v; + }, + + 'word-break-match-middle': function(v) { + terminal.primaryScreen_.wordBreakMatchMiddle = v; + terminal.alternateScreen_.wordBreakMatchMiddle = v; + }, + }); + + this.prefs_.readStorage(function() { + this.prefs_.notifyAll(); + + if (opt_callback) + opt_callback(); + }.bind(this)); +}; + + +/** + * Returns the preferences manager used for configuring this terminal. + * + * @return {hterm.PreferenceManager} + */ +hterm.Terminal.prototype.getPrefs = function() { + return this.prefs_; +}; + +/** + * Enable or disable bracketed paste mode. + * + * @param {boolean} state The value to set. + */ +hterm.Terminal.prototype.setBracketedPaste = function(state) { + this.options_.bracketedPaste = state; +}; + +/** + * Set the color for the cursor. + * + * If you want this setting to persist, set it through prefs_, rather than + * with this method. + * + * @param {string} color The color to set. + */ +hterm.Terminal.prototype.setCursorColor = function(color) { + this.cursorColor_ = color; + this.cursorNode_.style.backgroundColor = color; + this.cursorNode_.style.borderColor = color; +}; + +/** + * Return the current cursor color as a string. + * @return {string} + */ +hterm.Terminal.prototype.getCursorColor = function() { + return this.cursorColor_; +}; + +/** + * Enable or disable mouse based text selection in the terminal. + * + * @param {boolean} state The value to set. + */ +hterm.Terminal.prototype.setSelectionEnabled = function(state) { + this.enableMouseDragScroll = state; +}; + +/** + * Set the background color. + * + * If you want this setting to persist, set it through prefs_, rather than + * with this method. + * + * @param {string} color The color to set. + */ +hterm.Terminal.prototype.setBackgroundColor = function(color) { + this.backgroundColor_ = lib.colors.normalizeCSS(color); + this.primaryScreen_.textAttributes.setDefaults( + this.foregroundColor_, this.backgroundColor_); + this.alternateScreen_.textAttributes.setDefaults( + this.foregroundColor_, this.backgroundColor_); + this.scrollPort_.setBackgroundColor(color); +}; + +/** + * Return the current terminal background color. + * + * Intended for use by other classes, so we don't have to expose the entire + * prefs_ object. + * + * @return {string} + */ +hterm.Terminal.prototype.getBackgroundColor = function() { + return this.backgroundColor_; +}; + +/** + * Set the foreground color. + * + * If you want this setting to persist, set it through prefs_, rather than + * with this method. + * + * @param {string} color The color to set. + */ +hterm.Terminal.prototype.setForegroundColor = function(color) { + this.foregroundColor_ = lib.colors.normalizeCSS(color); + this.primaryScreen_.textAttributes.setDefaults( + this.foregroundColor_, this.backgroundColor_); + this.alternateScreen_.textAttributes.setDefaults( + this.foregroundColor_, this.backgroundColor_); + this.scrollPort_.setForegroundColor(color); +}; + +/** + * Return the current terminal foreground color. + * + * Intended for use by other classes, so we don't have to expose the entire + * prefs_ object. + * + * @return {string} + */ +hterm.Terminal.prototype.getForegroundColor = function() { + return this.foregroundColor_; +}; + +/** + * Create a new instance of a terminal command and run it with a given + * argument string. + * + * @param {function} commandClass The constructor for a terminal command. + * @param {string} argString The argument string to pass to the command. + */ +hterm.Terminal.prototype.runCommandClass = function(commandClass, argString) { + var environment = this.prefs_.get('environment'); + if (typeof environment != 'object' || environment == null) + environment = {}; + + var self = this; + this.command = new commandClass( + { argString: argString || '', + io: this.io.push(), + environment: environment, + onExit: function(code) { + self.io.pop(); + self.uninstallKeyboard(); + if (self.prefs_.get('close-on-exit')) + window.close(); + } + }); + + this.installKeyboard(); + this.command.run(); +}; + +/** + * Returns true if the current screen is the primary screen, false otherwise. + * + * @return {boolean} + */ +hterm.Terminal.prototype.isPrimaryScreen = function() { + return this.screen_ == this.primaryScreen_; +}; + +/** + * Install the keyboard handler for this terminal. + * + * This will prevent the browser from seeing any keystrokes sent to the + * terminal. + */ +hterm.Terminal.prototype.installKeyboard = function() { + this.keyboard.installKeyboard(this.scrollPort_.getDocument().body); +} + +/** + * Uninstall the keyboard handler for this terminal. + */ +hterm.Terminal.prototype.uninstallKeyboard = function() { + this.keyboard.installKeyboard(null); +} + +/** + * Set a CSS variable. + * + * Normally this is used to set variables in the hterm namespace. + * + * @param {string} name The variable to set. + * @param {string} value The value to assign to the variable. + * @param {string?} opt_prefix The variable namespace/prefix to use. + */ +hterm.Terminal.prototype.setCssVar = function(name, value, + opt_prefix='--hterm-') { + this.document_.documentElement.style.setProperty( + `${opt_prefix}${name}`, value); +}; + +/** + * Set the font size for this terminal. + * + * Call setFontSize(0) to reset to the default font size. + * + * This function does not modify the font-size preference. + * + * @param {number} px The desired font size, in pixels. + */ +hterm.Terminal.prototype.setFontSize = function(px) { + if (px === 0) + px = this.prefs_.get('font-size'); + + this.scrollPort_.setFontSize(px); + this.setCssVar('charsize-width', this.scrollPort_.characterSize.width + 'px'); + this.setCssVar('charsize-height', + this.scrollPort_.characterSize.height + 'px'); +}; + +/** + * Get the current font size. + * + * @return {number} + */ +hterm.Terminal.prototype.getFontSize = function() { + return this.scrollPort_.getFontSize(); +}; + +/** + * Get the current font family. + * + * @return {string} + */ +hterm.Terminal.prototype.getFontFamily = function() { + return this.scrollPort_.getFontFamily(); +}; + +/** + * Set the CSS "font-family" for this terminal. + */ +hterm.Terminal.prototype.syncFontFamily = function() { + this.scrollPort_.setFontFamily(this.prefs_.get('font-family'), + this.prefs_.get('font-smoothing')); + this.syncBoldSafeState(); +}; + +/** + * Set this.mousePasteButton based on the mouse-paste-button pref, + * autodetecting if necessary. + */ +hterm.Terminal.prototype.syncMousePasteButton = function() { + var button = this.prefs_.get('mouse-paste-button'); + if (typeof button == 'number') { + this.mousePasteButton = button; + return; + } + + var ary = navigator.userAgent.match(/\(X11;\s+(\S+)/); + if (!ary || ary[1] == 'CrOS') { + this.mousePasteButton = 1; // Middle mouse button. + } else { + this.mousePasteButton = 2; // Right mouse button. + } +}; + +/** + * Enable or disable bold based on the enable-bold pref, autodetecting if + * necessary. + */ +hterm.Terminal.prototype.syncBoldSafeState = function() { + var enableBold = this.prefs_.get('enable-bold'); + if (enableBold !== null) { + this.primaryScreen_.textAttributes.enableBold = enableBold; + this.alternateScreen_.textAttributes.enableBold = enableBold; + return; + } + + var normalSize = this.scrollPort_.measureCharacterSize(); + var boldSize = this.scrollPort_.measureCharacterSize('bold'); + + var isBoldSafe = normalSize.equals(boldSize); + if (!isBoldSafe) { + console.warn('Bold characters disabled: Size of bold weight differs ' + + 'from normal. Font family is: ' + + this.scrollPort_.getFontFamily()); + } + + this.primaryScreen_.textAttributes.enableBold = isBoldSafe; + this.alternateScreen_.textAttributes.enableBold = isBoldSafe; +}; + +/** + * Enable or disable blink based on the enable-blink pref. + */ +hterm.Terminal.prototype.syncBlinkState = function() { + this.setCssVar('node-duration', + this.prefs_.get('enable-blink') ? '0.7s' : '0'); +}; + +/** + * Set the mouse cursor style based on the current terminal mode. + */ +hterm.Terminal.prototype.syncMouseStyle = function() { + this.setCssVar('mouse-cursor-style', + this.vt.mouseReport == this.vt.MOUSE_REPORT_DISABLED ? + 'var(--hterm-mouse-cursor-text)' : + 'var(--hterm-mouse-cursor-pointer)'); +}; + +/** + * Return a copy of the current cursor position. + * + * @return {hterm.RowCol} The RowCol object representing the current position. + */ +hterm.Terminal.prototype.saveCursor = function() { + return this.screen_.cursorPosition.clone(); +}; + +/** + * Return the current text attributes. + * + * @return {string} + */ +hterm.Terminal.prototype.getTextAttributes = function() { + return this.screen_.textAttributes; +}; + +/** + * Set the text attributes. + * + * @param {string} textAttributes The attributes to set. + */ +hterm.Terminal.prototype.setTextAttributes = function(textAttributes) { + this.screen_.textAttributes = textAttributes; +}; + +/** + * Return the current browser zoom factor applied to the terminal. + * + * @return {number} The current browser zoom factor. + */ +hterm.Terminal.prototype.getZoomFactor = function() { + return this.scrollPort_.characterSize.zoomFactor; +}; + +/** + * Change the title of this terminal's window. + * + * @param {string} title The title to set. + */ +hterm.Terminal.prototype.setWindowTitle = function(title) { + window.document.title = title; +}; + +/** + * Restore a previously saved cursor position. + * + * @param {hterm.RowCol} cursor The position to restore. + */ +hterm.Terminal.prototype.restoreCursor = function(cursor) { + var row = lib.f.clamp(cursor.row, 0, this.screenSize.height - 1); + var column = lib.f.clamp(cursor.column, 0, this.screenSize.width - 1); + this.screen_.setCursorPosition(row, column); + if (cursor.column > column || + cursor.column == column && cursor.overflow) { + this.screen_.cursorPosition.overflow = true; + } +}; + +/** + * Clear the cursor's overflow flag. + */ +hterm.Terminal.prototype.clearCursorOverflow = function() { + this.screen_.cursorPosition.overflow = false; +}; + +/** + * Sets the cursor shape + * + * @param {string} shape The shape to set. + */ +hterm.Terminal.prototype.setCursorShape = function(shape) { + this.cursorShape_ = shape; + this.restyleCursor_(); +} + +/** + * Get the cursor shape + * + * @return {string} + */ +hterm.Terminal.prototype.getCursorShape = function() { + return this.cursorShape_; +} + +/** + * Set the width of the terminal, resizing the UI to match. + * + * @param {number} columnCount + */ +hterm.Terminal.prototype.setWidth = function(columnCount) { + if (columnCount == null) { + this.div_.style.width = '100%'; + return; + } + + this.div_.style.width = Math.ceil( + this.scrollPort_.characterSize.width * + columnCount + this.scrollPort_.currentScrollbarWidthPx) + 'px'; + this.realizeSize_(columnCount, this.screenSize.height); + this.scheduleSyncCursorPosition_(); +}; + +/** + * Set the height of the terminal, resizing the UI to match. + * + * @param {number} rowCount The height in rows. + */ +hterm.Terminal.prototype.setHeight = function(rowCount) { + if (rowCount == null) { + this.div_.style.height = '100%'; + return; + } + + this.div_.style.height = + this.scrollPort_.characterSize.height * rowCount + 'px'; + this.realizeSize_(this.screenSize.width, rowCount); + this.scheduleSyncCursorPosition_(); +}; + +/** + * Deal with terminal size changes. + * + * @param {number} columnCount The number of columns. + * @param {number} rowCount The number of rows. + */ +hterm.Terminal.prototype.realizeSize_ = function(columnCount, rowCount) { + if (columnCount != this.screenSize.width) + this.realizeWidth_(columnCount); + + if (rowCount != this.screenSize.height) + this.realizeHeight_(rowCount); + + // Send new terminal size to plugin. + this.io.onTerminalResize_(columnCount, rowCount); +}; + +/** + * Deal with terminal width changes. + * + * This function does what needs to be done when the terminal width changes + * out from under us. It happens here rather than in onResize_() because this + * code may need to run synchronously to handle programmatic changes of + * terminal width. + * + * Relying on the browser to send us an async resize event means we may not be + * in the correct state yet when the next escape sequence hits. + * + * @param {number} columnCount The number of columns. + */ +hterm.Terminal.prototype.realizeWidth_ = function(columnCount) { + if (columnCount <= 0) + throw new Error('Attempt to realize bad width: ' + columnCount); + + var deltaColumns = columnCount - this.screen_.getWidth(); + + this.screenSize.width = columnCount; + this.screen_.setColumnCount(columnCount); + + if (deltaColumns > 0) { + if (this.defaultTabStops) + this.setDefaultTabStops(this.screenSize.width - deltaColumns); + } else { + for (var i = this.tabStops_.length - 1; i >= 0; i--) { + if (this.tabStops_[i] < columnCount) + break; + + this.tabStops_.pop(); + } + } + + this.screen_.setColumnCount(this.screenSize.width); +}; + +/** + * Deal with terminal height changes. + * + * This function does what needs to be done when the terminal height changes + * out from under us. It happens here rather than in onResize_() because this + * code may need to run synchronously to handle programmatic changes of + * terminal height. + * + * Relying on the browser to send us an async resize event means we may not be + * in the correct state yet when the next escape sequence hits. + * + * @param {number} rowCount The number of rows. + */ +hterm.Terminal.prototype.realizeHeight_ = function(rowCount) { + if (rowCount <= 0) + throw new Error('Attempt to realize bad height: ' + rowCount); + + var deltaRows = rowCount - this.screen_.getHeight(); + + this.screenSize.height = rowCount; + + var cursor = this.saveCursor(); + + if (deltaRows < 0) { + // Screen got smaller. + deltaRows *= -1; + while (deltaRows) { + var lastRow = this.getRowCount() - 1; + if (lastRow - this.scrollbackRows_.length == cursor.row) + break; + + if (this.getRowText(lastRow)) + break; + + this.screen_.popRow(); + deltaRows--; + } + + var ary = this.screen_.shiftRows(deltaRows); + this.scrollbackRows_.push.apply(this.scrollbackRows_, ary); + + // We just removed rows from the top of the screen, we need to update + // the cursor to match. + cursor.row = Math.max(cursor.row - deltaRows, 0); + } else if (deltaRows > 0) { + // Screen got larger. + + if (deltaRows <= this.scrollbackRows_.length) { + var scrollbackCount = Math.min(deltaRows, this.scrollbackRows_.length); + var rows = this.scrollbackRows_.splice( + this.scrollbackRows_.length - scrollbackCount, scrollbackCount); + this.screen_.unshiftRows(rows); + deltaRows -= scrollbackCount; + cursor.row += scrollbackCount; + } + + if (deltaRows) + this.appendRows_(deltaRows); + } + + this.setVTScrollRegion(null, null); + this.restoreCursor(cursor); +}; + +/** + * Scroll the terminal to the top of the scrollback buffer. + */ +hterm.Terminal.prototype.scrollHome = function() { + this.scrollPort_.scrollRowToTop(0); +}; + +/** + * Scroll the terminal to the end. + */ +hterm.Terminal.prototype.scrollEnd = function() { + this.scrollPort_.scrollRowToBottom(this.getRowCount()); +}; + +/** + * Scroll the terminal one page up (minus one line) relative to the current + * position. + */ +hterm.Terminal.prototype.scrollPageUp = function() { + var i = this.scrollPort_.getTopRowIndex(); + this.scrollPort_.scrollRowToTop(i - this.screenSize.height + 1); +}; + +/** + * Scroll the terminal one page down (minus one line) relative to the current + * position. + */ +hterm.Terminal.prototype.scrollPageDown = function() { + var i = this.scrollPort_.getTopRowIndex(); + this.scrollPort_.scrollRowToTop(i + this.screenSize.height - 1); +}; + +/** + * Scroll the terminal one line up relative to the current position. + */ +hterm.Terminal.prototype.scrollLineUp = function() { + var i = this.scrollPort_.getTopRowIndex(); + this.scrollPort_.scrollRowToTop(i - 1); +}; + +/** + * Scroll the terminal one line down relative to the current position. + */ +hterm.Terminal.prototype.scrollLineDown = function() { + var i = this.scrollPort_.getTopRowIndex(); + this.scrollPort_.scrollRowToTop(i + 1); +}; + +/** + * Clear primary screen, secondary screen, and the scrollback buffer. + */ +hterm.Terminal.prototype.wipeContents = function() { + this.scrollbackRows_.length = 0; + this.scrollPort_.resetCache(); + + [this.primaryScreen_, this.alternateScreen_].forEach(function(screen) { + var bottom = screen.getHeight(); + if (bottom > 0) { + this.renumberRows_(0, bottom); + this.clearHome(screen); + } + }.bind(this)); + + this.syncCursorPosition_(); + this.scrollPort_.invalidate(); +}; + +/** + * Full terminal reset. + */ +hterm.Terminal.prototype.reset = function() { + this.clearAllTabStops(); + this.setDefaultTabStops(); + + this.clearHome(this.primaryScreen_); + this.primaryScreen_.textAttributes.reset(); + + this.clearHome(this.alternateScreen_); + this.alternateScreen_.textAttributes.reset(); + + this.setCursorBlink(!!this.prefs_.get('cursor-blink')); + + this.vt.reset(); + + this.softReset(); +}; + +/** + * Soft terminal reset. + * + * Perform a soft reset to the default values listed in + * http://www.vt100.net/docs/vt510-rm/DECSTR#T5-9 + */ +hterm.Terminal.prototype.softReset = function() { + // Reset terminal options to their default values. + this.options_ = new hterm.Options(); + + // We show the cursor on soft reset but do not alter the blink state. + this.options_.cursorBlink = !!this.timeouts_.cursorBlink; + + // Xterm also resets the color palette on soft reset, even though it doesn't + // seem to be documented anywhere. + this.primaryScreen_.textAttributes.resetColorPalette(); + this.alternateScreen_.textAttributes.resetColorPalette(); + + // The xterm man page explicitly says this will happen on soft reset. + this.setVTScrollRegion(null, null); + + // Xterm also shows the cursor on soft reset, but does not alter the blink + // state. + this.setCursorVisible(true); +}; + +/** + * Move the cursor forward to the next tab stop, or to the last column + * if no more tab stops are set. + */ +hterm.Terminal.prototype.forwardTabStop = function() { + var column = this.screen_.cursorPosition.column; + + for (var i = 0; i < this.tabStops_.length; i++) { + if (this.tabStops_[i] > column) { + this.setCursorColumn(this.tabStops_[i]); + return; + } + } + + // xterm does not clear the overflow flag on HT or CHT. + var overflow = this.screen_.cursorPosition.overflow; + this.setCursorColumn(this.screenSize.width - 1); + this.screen_.cursorPosition.overflow = overflow; +}; + +/** + * Move the cursor backward to the previous tab stop, or to the first column + * if no previous tab stops are set. + */ +hterm.Terminal.prototype.backwardTabStop = function() { + var column = this.screen_.cursorPosition.column; + + for (var i = this.tabStops_.length - 1; i >= 0; i--) { + if (this.tabStops_[i] < column) { + this.setCursorColumn(this.tabStops_[i]); + return; + } + } + + this.setCursorColumn(1); +}; + +/** + * Set a tab stop at the given column. + * + * @param {integer} column Zero based column. + */ +hterm.Terminal.prototype.setTabStop = function(column) { + for (var i = this.tabStops_.length - 1; i >= 0; i--) { + if (this.tabStops_[i] == column) + return; + + if (this.tabStops_[i] < column) { + this.tabStops_.splice(i + 1, 0, column); + return; + } + } + + this.tabStops_.splice(0, 0, column); +}; + +/** + * Clear the tab stop at the current cursor position. + * + * No effect if there is no tab stop at the current cursor position. + */ +hterm.Terminal.prototype.clearTabStopAtCursor = function() { + var column = this.screen_.cursorPosition.column; + + var i = this.tabStops_.indexOf(column); + if (i == -1) + return; + + this.tabStops_.splice(i, 1); +}; + +/** + * Clear all tab stops. + */ +hterm.Terminal.prototype.clearAllTabStops = function() { + this.tabStops_.length = 0; + this.defaultTabStops = false; +}; + +/** + * Set up the default tab stops, starting from a given column. + * + * This sets a tabstop every (column % this.tabWidth) column, starting + * from the specified column, or 0 if no column is provided. It also flags + * future resizes to set them up. + * + * This does not clear the existing tab stops first, use clearAllTabStops + * for that. + * + * @param {integer} opt_start Optional starting zero based starting column, useful + * for filling out missing tab stops when the terminal is resized. + */ +hterm.Terminal.prototype.setDefaultTabStops = function(opt_start) { + var start = opt_start || 0; + var w = this.tabWidth; + // Round start up to a default tab stop. + start = start - 1 - ((start - 1) % w) + w; + for (var i = start; i < this.screenSize.width; i += w) { + this.setTabStop(i); + } + + this.defaultTabStops = true; +}; + +/** + * Interpret a sequence of characters. + * + * Incomplete escape sequences are buffered until the next call. + * + * @param {string} str Sequence of characters to interpret or pass through. + */ +hterm.Terminal.prototype.interpret = function(str) { + this.vt.interpret(str); + this.scheduleSyncCursorPosition_(); +}; + +/** + * Take over the given DIV for use as the terminal display. + * + * @param {HTMLDivElement} div The div to use as the terminal display. + */ +hterm.Terminal.prototype.decorate = function(div) { + this.div_ = div; + + this.scrollPort_.decorate(div); + this.scrollPort_.setBackgroundImage(this.prefs_.get('background-image')); + this.scrollPort_.setBackgroundSize(this.prefs_.get('background-size')); + this.scrollPort_.setBackgroundPosition( + this.prefs_.get('background-position')); + this.scrollPort_.setUserCssUrl(this.prefs_.get('user-css')); + this.scrollPort_.setUserCssText(this.prefs_.get('user-css-text')); + + this.div_.focus = this.focus.bind(this); + + this.setFontSize(this.prefs_.get('font-size')); + this.syncFontFamily(); + + this.setScrollbarVisible(this.prefs_.get('scrollbar-visible')); + this.setScrollWheelMoveMultipler( + this.prefs_.get('scroll-wheel-move-multiplier')); + + this.document_ = this.scrollPort_.getDocument(); + + this.document_.body.oncontextmenu = function() { return false; }; + + var onMouse = this.onMouse_.bind(this); + var screenNode = this.scrollPort_.getScreenNode(); + screenNode.addEventListener('mousedown', onMouse); + screenNode.addEventListener('mouseup', onMouse); + screenNode.addEventListener('mousemove', onMouse); + this.scrollPort_.onScrollWheel = onMouse; + + screenNode.addEventListener( + 'focus', this.onFocusChange_.bind(this, true)); + // Listen for mousedown events on the screenNode as in FF the focus + // events don't bubble. + screenNode.addEventListener('mousedown', function() { + setTimeout(this.onFocusChange_.bind(this, true)); + }.bind(this)); + + screenNode.addEventListener( + 'blur', this.onFocusChange_.bind(this, false)); + + var style = this.document_.createElement('style'); + style.textContent = + ('.cursor-node[focus="false"] {' + + ' box-sizing: border-box;' + + ' background-color: transparent !important;' + + ' border-width: 2px;' + + ' border-style: solid;' + + '}' + + '.wc-node {' + + ' display: inline-block;' + + ' text-align: center;' + + ' width: calc(var(--hterm-charsize-width) * 2);' + + ' line-height: var(--hterm-charsize-height);' + + '}' + + ':root {' + + ' --hterm-charsize-width: ' + this.scrollPort_.characterSize.width + 'px;' + + ' --hterm-charsize-height: ' + this.scrollPort_.characterSize.height + 'px;' + + ' --hterm-cursor-offset-col: 0;' + + ' --hterm-cursor-offset-row: 0;' + + ' --hterm-blink-node-duration: 0.7s;' + + ' --hterm-mouse-cursor-text: text;' + + ' --hterm-mouse-cursor-pointer: default;' + + ' --hterm-mouse-cursor-style: var(--hterm-mouse-cursor-text);' + + '}' + + '@keyframes blink {' + + ' from { opacity: 1.0; }' + + ' to { opacity: 0.0; }' + + '}' + + '.blink-node {' + + ' animation-name: blink;' + + ' animation-duration: var(--hterm-blink-node-duration);' + + ' animation-iteration-count: infinite;' + + ' animation-timing-function: ease-in-out;' + + ' animation-direction: alternate;' + + '}'); + this.document_.head.appendChild(style); + + this.cursorNode_ = this.document_.createElement('div'); + this.cursorNode_.id = 'hterm:terminal-cursor'; + this.cursorNode_.className = 'cursor-node'; + this.cursorNode_.style.cssText = + ('position: absolute;' + + 'left: calc(var(--hterm-charsize-width) * var(--hterm-cursor-offset-col));' + + 'top: calc(var(--hterm-charsize-height) * var(--hterm-cursor-offset-row));' + + 'display: block;' + + 'width: var(--hterm-charsize-width);' + + 'height: var(--hterm-charsize-height);' + + '-webkit-transition: opacity, background-color 100ms linear;' + + '-moz-transition: opacity, background-color 100ms linear;'); + + this.setCursorColor(this.prefs_.get('cursor-color')); + this.setCursorBlink(!!this.prefs_.get('cursor-blink')); + this.restyleCursor_(); + + this.document_.body.appendChild(this.cursorNode_); + + // When 'enableMouseDragScroll' is off we reposition this element directly + // under the mouse cursor after a click. This makes Chrome associate + // subsequent mousemove events with the scroll-blocker. Since the + // scroll-blocker is a peer (not a child) of the scrollport, the mousemove + // events do not cause the scrollport to scroll. + // + // It's a hack, but it's the cleanest way I could find. + this.scrollBlockerNode_ = this.document_.createElement('div'); + this.scrollBlockerNode_.id = 'hterm:mouse-drag-scroll-blocker'; + this.scrollBlockerNode_.style.cssText = + ('position: absolute;' + + 'top: -99px;' + + 'display: block;' + + 'width: 10px;' + + 'height: 10px;'); + this.document_.body.appendChild(this.scrollBlockerNode_); + + this.scrollPort_.onScrollWheel = onMouse; + ['mousedown', 'mouseup', 'mousemove', 'click', 'dblclick', + ].forEach(function(event) { + this.scrollBlockerNode_.addEventListener(event, onMouse); + this.cursorNode_.addEventListener(event, onMouse); + this.document_.addEventListener(event, onMouse); + }.bind(this)); + + this.cursorNode_.addEventListener('mousedown', function() { + setTimeout(this.focus.bind(this)); + }.bind(this)); + + this.setReverseVideo(false); + + this.scrollPort_.focus(); + this.scrollPort_.scheduleRedraw(); +}; + +/** + * Return the HTML document that contains the terminal DOM nodes. + * + * @return {HTMLDocument} + */ +hterm.Terminal.prototype.getDocument = function() { + return this.document_; +}; + +/** + * Focus the terminal. + */ +hterm.Terminal.prototype.focus = function() { + this.scrollPort_.focus(); +}; + +/** + * Return the HTML Element for a given row index. + * + * This is a method from the RowProvider interface. The ScrollPort uses + * it to fetch rows on demand as they are scrolled into view. + * + * TODO(rginda): Consider saving scrollback rows as (HTML source, text content) + * pairs to conserve memory. + * + * @param {integer} index The zero-based row index, measured relative to the + * start of the scrollback buffer. On-screen rows will always have the + * largest indices. + * @return {HTMLElement} The 'x-row' element containing for the requested row. + */ +hterm.Terminal.prototype.getRowNode = function(index) { + if (index < this.scrollbackRows_.length) + return this.scrollbackRows_[index]; + + var screenIndex = index - this.scrollbackRows_.length; + return this.screen_.rowsArray[screenIndex]; +}; + +/** + * Return the text content for a given range of rows. + * + * This is a method from the RowProvider interface. The ScrollPort uses + * it to fetch text content on demand when the user attempts to copy their + * selection to the clipboard. + * + * @param {integer} start The zero-based row index to start from, measured + * relative to the start of the scrollback buffer. On-screen rows will + * always have the largest indices. + * @param {integer} end The zero-based row index to end on, measured + * relative to the start of the scrollback buffer. + * @return {string} A single string containing the text value of the range of + * rows. Lines will be newline delimited, with no trailing newline. + */ +hterm.Terminal.prototype.getRowsText = function(start, end) { + var ary = []; + for (var i = start; i < end; i++) { + var node = this.getRowNode(i); + ary.push(node.textContent); + if (i < end - 1 && !node.getAttribute('line-overflow')) + ary.push('\n'); + } + + return ary.join(''); +}; + +/** + * Return the text content for a given row. + * + * This is a method from the RowProvider interface. The ScrollPort uses + * it to fetch text content on demand when the user attempts to copy their + * selection to the clipboard. + * + * @param {integer} index The zero-based row index to return, measured + * relative to the start of the scrollback buffer. On-screen rows will + * always have the largest indices. + * @return {string} A string containing the text value of the selected row. + */ +hterm.Terminal.prototype.getRowText = function(index) { + var node = this.getRowNode(index); + return node.textContent; +}; + +/** + * Return the total number of rows in the addressable screen and in the + * scrollback buffer of this terminal. + * + * This is a method from the RowProvider interface. The ScrollPort uses + * it to compute the size of the scrollbar. + * + * @return {integer} The number of rows in this terminal. + */ +hterm.Terminal.prototype.getRowCount = function() { + return this.scrollbackRows_.length + this.screen_.rowsArray.length; +}; + +/** + * Create DOM nodes for new rows and append them to the end of the terminal. + * + * This is the only correct way to add a new DOM node for a row. Notice that + * the new row is appended to the bottom of the list of rows, and does not + * require renumbering (of the rowIndex property) of previous rows. + * + * If you think you want a new blank row somewhere in the middle of the + * terminal, look into moveRows_(). + * + * This method does not pay attention to vtScrollTop/Bottom, since you should + * be using moveRows() in cases where they would matter. + * + * The cursor will be positioned at column 0 of the first inserted line. + * + * @param {number} count The number of rows to created. + */ +hterm.Terminal.prototype.appendRows_ = function(count) { + var cursorRow = this.screen_.rowsArray.length; + var offset = this.scrollbackRows_.length + cursorRow; + for (var i = 0; i < count; i++) { + var row = this.document_.createElement('x-row'); + row.appendChild(this.document_.createTextNode('')); + row.rowIndex = offset + i; + this.screen_.pushRow(row); + } + + var extraRows = this.screen_.rowsArray.length - this.screenSize.height; + if (extraRows > 0) { + var ary = this.screen_.shiftRows(extraRows); + Array.prototype.push.apply(this.scrollbackRows_, ary); + if (this.scrollPort_.isScrolledEnd) + this.scheduleScrollDown_(); + } + + if (cursorRow >= this.screen_.rowsArray.length) + cursorRow = this.screen_.rowsArray.length - 1; + + this.setAbsoluteCursorPosition(cursorRow, 0); +}; + +/** + * Relocate rows from one part of the addressable screen to another. + * + * This is used to recycle rows during VT scrolls (those which are driven + * by VT commands, rather than by the user manipulating the scrollbar.) + * + * In this case, the blank lines scrolled into the scroll region are made of + * the nodes we scrolled off. These have their rowIndex properties carefully + * renumbered so as not to confuse the ScrollPort. + * + * @param {number} fromIndex The start index. + * @param {number} count The number of rows to move. + * @param {number} toIndex The destination index. + */ +hterm.Terminal.prototype.moveRows_ = function(fromIndex, count, toIndex) { + var ary = this.screen_.removeRows(fromIndex, count); + this.screen_.insertRows(toIndex, ary); + + var start, end; + if (fromIndex < toIndex) { + start = fromIndex; + end = toIndex + count; + } else { + start = toIndex; + end = fromIndex + count; + } + + this.renumberRows_(start, end); + this.scrollPort_.scheduleInvalidate(); +}; + +/** + * Renumber the rowIndex property of the given range of rows. + * + * The start and end indices are relative to the screen, not the scrollback. + * Rows in the scrollback buffer cannot be renumbered. Since they are not + * addressable (you can't delete them, scroll them, etc), you should have + * no need to renumber scrollback rows. + * + * @param {number} start The start index. + * @param {number} end The end index. + * @param {hterm.Screen} opt_screen The screen to renumber. + */ +hterm.Terminal.prototype.renumberRows_ = function(start, end, opt_screen) { + var screen = opt_screen || this.screen_; + + var offset = this.scrollbackRows_.length; + for (var i = start; i < end; i++) { + screen.rowsArray[i].rowIndex = offset + i; + } +}; + +/** + * Print a string to the terminal. + * + * This respects the current insert and wraparound modes. It will add new lines + * to the end of the terminal, scrolling off the top into the scrollback buffer + * if necessary. + * + * The string is *not* parsed for escape codes. Use the interpret() method if + * that's what you're after. + * + * @param{string} str The string to print. + */ +hterm.Terminal.prototype.print = function(str) { + var startOffset = 0; + + var strWidth = lib.wc.strWidth(str); + + while (startOffset < strWidth) { + if (this.options_.wraparound && this.screen_.cursorPosition.overflow) { + this.screen_.commitLineOverflow(); + this.newLine(); + } + + var count = strWidth - startOffset; + var didOverflow = false; + var substr; + + if (this.screen_.cursorPosition.column + count >= this.screenSize.width) { + didOverflow = true; + count = this.screenSize.width - this.screen_.cursorPosition.column; + } + + if (didOverflow && !this.options_.wraparound) { + // If the string overflowed the line but wraparound is off, then the + // last printed character should be the last of the string. + // TODO: This will add to our problems with multibyte UTF-16 characters. + substr = lib.wc.substr(str, startOffset, count - 1) + + lib.wc.substr(str, strWidth - 1); + count = strWidth; + } else { + substr = lib.wc.substr(str, startOffset, count); + } + + var tokens = hterm.TextAttributes.splitWidecharString(substr); + for (var i = 0; i < tokens.length; i++) { + this.screen_.textAttributes.wcNode = tokens[i].wcNode; + this.screen_.textAttributes.asciiNode = tokens[i].asciiNode; + + if (this.options_.insertMode) { + this.screen_.insertString(tokens[i].str); + } else { + this.screen_.overwriteString(tokens[i].str); + } + this.screen_.textAttributes.wcNode = false; + this.screen_.textAttributes.asciiNode = true; + } + + this.screen_.maybeClipCurrentRow(); + startOffset += count; + } + + this.scheduleSyncCursorPosition_(); + + if (this.scrollOnOutput_) + this.scrollPort_.scrollRowToBottom(this.getRowCount()); +}; + +/** + * Set the VT scroll region. + * + * This also resets the cursor position to the absolute (0, 0) position, since + * that's what xterm appears to do. + * + * Setting the scroll region to the full height of the terminal will clear + * the scroll region. This is *NOT* what most terminals do. We're explicitly + * going "off-spec" here because it makes `screen` and `tmux` overflow into the + * local scrollback buffer, which means the scrollbars and shift-pgup/pgdn + * continue to work as most users would expect. + * + * @param {integer} scrollTop The zero-based top of the scroll region. + * @param {integer} scrollBottom The zero-based bottom of the scroll region, + * inclusive. + */ +hterm.Terminal.prototype.setVTScrollRegion = function(scrollTop, scrollBottom) { + if (scrollTop == 0 && scrollBottom == this.screenSize.height - 1) { + this.vtScrollTop_ = null; + this.vtScrollBottom_ = null; + } else { + this.vtScrollTop_ = scrollTop; + this.vtScrollBottom_ = scrollBottom; + } +}; + +/** + * Return the top row index according to the VT. + * + * This will return 0 unless the terminal has been told to restrict scrolling + * to some lower row. It is used for some VT cursor positioning and scrolling + * commands. + * + * @return {integer} The topmost row in the terminal's scroll region. + */ +hterm.Terminal.prototype.getVTScrollTop = function() { + if (this.vtScrollTop_ != null) + return this.vtScrollTop_; + + return 0; +}; + +/** + * Return the bottom row index according to the VT. + * + * This will return the height of the terminal unless the it has been told to + * restrict scrolling to some higher row. It is used for some VT cursor + * positioning and scrolling commands. + * + * @return {integer} The bottom most row in the terminal's scroll region. + */ +hterm.Terminal.prototype.getVTScrollBottom = function() { + if (this.vtScrollBottom_ != null) + return this.vtScrollBottom_; + + return this.screenSize.height - 1; +} + +/** + * Process a '\n' character. + * + * If the cursor is on the final row of the terminal this will append a new + * blank row to the screen and scroll the topmost row into the scrollback + * buffer. + * + * Otherwise, this moves the cursor to column zero of the next row. + */ +hterm.Terminal.prototype.newLine = function() { + var cursorAtEndOfScreen = (this.screen_.cursorPosition.row == + this.screen_.rowsArray.length - 1); + + if (this.vtScrollBottom_ != null) { + // A VT Scroll region is active, we never append new rows. + if (this.screen_.cursorPosition.row == this.vtScrollBottom_) { + // We're at the end of the VT Scroll Region, perform a VT scroll. + this.vtScrollUp(1); + this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0); + } else if (cursorAtEndOfScreen) { + // We're at the end of the screen, the only thing to do is put the + // cursor to column 0. + this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0); + } else { + // Anywhere else, advance the cursor row, and reset the column. + this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0); + } + } else if (cursorAtEndOfScreen) { + // We're at the end of the screen. Append a new row to the terminal, + // shifting the top row into the scrollback. + this.appendRows_(1); + } else { + // Anywhere else in the screen just moves the cursor. + this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0); + } +}; + +/** + * Like newLine(), except maintain the cursor column. + */ +hterm.Terminal.prototype.lineFeed = function() { + var column = this.screen_.cursorPosition.column; + this.newLine(); + this.setCursorColumn(column); +}; + +/** + * If autoCarriageReturn is set then newLine(), else lineFeed(). + */ +hterm.Terminal.prototype.formFeed = function() { + if (this.options_.autoCarriageReturn) { + this.newLine(); + } else { + this.lineFeed(); + } +}; + +/** + * Move the cursor up one row, possibly inserting a blank line. + * + * The cursor column is not changed. + */ +hterm.Terminal.prototype.reverseLineFeed = function() { + var scrollTop = this.getVTScrollTop(); + var currentRow = this.screen_.cursorPosition.row; + + if (currentRow == scrollTop) { + this.insertLines(1); + } else { + this.setAbsoluteCursorRow(currentRow - 1); + } +}; + +/** + * Replace all characters to the left of the current cursor with the space + * character. + * + * TODO(rginda): This should probably *remove* the characters (not just replace + * with a space) if there are no characters at or beyond the current cursor + * position. + */ +hterm.Terminal.prototype.eraseToLeft = function() { + var cursor = this.saveCursor(); + this.setCursorColumn(0); + this.screen_.overwriteString(lib.f.getWhitespace(cursor.column + 1)); + this.restoreCursor(cursor); +}; + +/** + * Erase a given number of characters to the right of the cursor. + * + * The cursor position is unchanged. + * + * If the current background color is not the default background color this + * will insert spaces rather than delete. This is unfortunate because the + * trailing space will affect text selection, but it's difficult to come up + * with a way to style empty space that wouldn't trip up the hterm.Screen + * code. + * + * eraseToRight is ignored in the presence of a cursor overflow. This deviates + * from xterm, but agrees with gnome-terminal and konsole, xfce4-terminal. See + * crbug.com/232390 for details. + * + * @param {number} opt_count The number of characters to erase. + */ +hterm.Terminal.prototype.eraseToRight = function(opt_count) { + if (this.screen_.cursorPosition.overflow) + return; + + var maxCount = this.screenSize.width - this.screen_.cursorPosition.column; + var count = opt_count ? Math.min(opt_count, maxCount) : maxCount; + + if (this.screen_.textAttributes.background === + this.screen_.textAttributes.DEFAULT_COLOR) { + var cursorRow = this.screen_.rowsArray[this.screen_.cursorPosition.row]; + if (hterm.TextAttributes.nodeWidth(cursorRow) <= + this.screen_.cursorPosition.column + count) { + this.screen_.deleteChars(count); + this.clearCursorOverflow(); + return; + } + } + + var cursor = this.saveCursor(); + this.screen_.overwriteString(lib.f.getWhitespace(count)); + this.restoreCursor(cursor); + this.clearCursorOverflow(); +}; + +/** + * Erase the current line. + * + * The cursor position is unchanged. + */ +hterm.Terminal.prototype.eraseLine = function() { + var cursor = this.saveCursor(); + this.screen_.clearCursorRow(); + this.restoreCursor(cursor); + this.clearCursorOverflow(); +}; + +/** + * Erase all characters from the start of the screen to the current cursor + * position, regardless of scroll region. + * + * The cursor position is unchanged. + */ +hterm.Terminal.prototype.eraseAbove = function() { + var cursor = this.saveCursor(); + + this.eraseToLeft(); + + for (var i = 0; i < cursor.row; i++) { + this.setAbsoluteCursorPosition(i, 0); + this.screen_.clearCursorRow(); + } + + this.restoreCursor(cursor); + this.clearCursorOverflow(); +}; + +/** + * Erase all characters from the current cursor position to the end of the + * screen, regardless of scroll region. + * + * The cursor position is unchanged. + */ +hterm.Terminal.prototype.eraseBelow = function() { + var cursor = this.saveCursor(); + + this.eraseToRight(); + + var bottom = this.screenSize.height - 1; + for (var i = cursor.row + 1; i <= bottom; i++) { + this.setAbsoluteCursorPosition(i, 0); + this.screen_.clearCursorRow(); + } + + this.restoreCursor(cursor); + this.clearCursorOverflow(); +}; + +/** + * Fill the terminal with a given character. + * + * This methods does not respect the VT scroll region. + * + * @param {string} ch The character to use for the fill. + */ +hterm.Terminal.prototype.fill = function(ch) { + var cursor = this.saveCursor(); + + this.setAbsoluteCursorPosition(0, 0); + for (var row = 0; row < this.screenSize.height; row++) { + for (var col = 0; col < this.screenSize.width; col++) { + this.setAbsoluteCursorPosition(row, col); + this.screen_.overwriteString(ch); + } + } + + this.restoreCursor(cursor); +}; + +/** + * Erase the entire display and leave the cursor at (0, 0). + * + * This does not respect the scroll region. + * + * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults + * to the current screen. + */ +hterm.Terminal.prototype.clearHome = function(opt_screen) { + var screen = opt_screen || this.screen_; + var bottom = screen.getHeight(); + + if (bottom == 0) { + // Empty screen, nothing to do. + return; + } + + for (var i = 0; i < bottom; i++) { + screen.setCursorPosition(i, 0); + screen.clearCursorRow(); + } + + screen.setCursorPosition(0, 0); +}; + +/** + * Erase the entire display without changing the cursor position. + * + * The cursor position is unchanged. This does not respect the scroll + * region. + * + * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults + * to the current screen. + */ +hterm.Terminal.prototype.clear = function(opt_screen) { + var screen = opt_screen || this.screen_; + var cursor = screen.cursorPosition.clone(); + this.clearHome(screen); + screen.setCursorPosition(cursor.row, cursor.column); +}; + +/** + * VT command to insert lines at the current cursor row. + * + * This respects the current scroll region. Rows pushed off the bottom are + * lost (they won't show up in the scrollback buffer). + * + * @param {integer} count The number of lines to insert. + */ +hterm.Terminal.prototype.insertLines = function(count) { + var cursorRow = this.screen_.cursorPosition.row; + + var bottom = this.getVTScrollBottom(); + count = Math.min(count, bottom - cursorRow); + + // The moveCount is the number of rows we need to relocate to make room for + // the new row(s). The count is the distance to move them. + var moveCount = bottom - cursorRow - count + 1; + if (moveCount) + this.moveRows_(cursorRow, moveCount, cursorRow + count); + + for (var i = count - 1; i >= 0; i--) { + this.setAbsoluteCursorPosition(cursorRow + i, 0); + this.screen_.clearCursorRow(); + } +}; + +/** + * VT command to delete lines at the current cursor row. + * + * New rows are added to the bottom of scroll region to take their place. New + * rows are strictly there to take up space and have no content or style. + * + * @param {number} count The number of lines to delete. + */ +hterm.Terminal.prototype.deleteLines = function(count) { + var cursor = this.saveCursor(); + + var top = cursor.row; + var bottom = this.getVTScrollBottom(); + + var maxCount = bottom - top + 1; + count = Math.min(count, maxCount); + + var moveStart = bottom - count + 1; + if (count != maxCount) + this.moveRows_(top, count, moveStart); + + for (var i = 0; i < count; i++) { + this.setAbsoluteCursorPosition(moveStart + i, 0); + this.screen_.clearCursorRow(); + } + + this.restoreCursor(cursor); + this.clearCursorOverflow(); +}; + +/** + * Inserts the given number of spaces at the current cursor position. + * + * The cursor position is not changed. + * + * @param {number} count The number of spaces to insert. + */ +hterm.Terminal.prototype.insertSpace = function(count) { + var cursor = this.saveCursor(); + + var ws = lib.f.getWhitespace(count || 1); + this.screen_.insertString(ws); + this.screen_.maybeClipCurrentRow(); + + this.restoreCursor(cursor); + this.clearCursorOverflow(); +}; + +/** + * Forward-delete the specified number of characters starting at the cursor + * position. + * + * @param {integer} count The number of characters to delete. + */ +hterm.Terminal.prototype.deleteChars = function(count) { + var deleted = this.screen_.deleteChars(count); + if (deleted && !this.screen_.textAttributes.isDefault()) { + var cursor = this.saveCursor(); + this.setCursorColumn(this.screenSize.width - deleted); + this.screen_.insertString(lib.f.getWhitespace(deleted)); + this.restoreCursor(cursor); + } + + this.clearCursorOverflow(); +}; + +/** + * Shift rows in the scroll region upwards by a given number of lines. + * + * New rows are inserted at the bottom of the scroll region to fill the + * vacated rows. The new rows not filled out with the current text attributes. + * + * This function does not affect the scrollback rows at all. Rows shifted + * off the top are lost. + * + * The cursor position is not altered. + * + * @param {integer} count The number of rows to scroll. + */ +hterm.Terminal.prototype.vtScrollUp = function(count) { + var cursor = this.saveCursor(); + + this.setAbsoluteCursorRow(this.getVTScrollTop()); + this.deleteLines(count); + + this.restoreCursor(cursor); +}; + +/** + * Shift rows below the cursor down by a given number of lines. + * + * This function respects the current scroll region. + * + * New rows are inserted at the top of the scroll region to fill the + * vacated rows. The new rows not filled out with the current text attributes. + * + * This function does not affect the scrollback rows at all. Rows shifted + * off the bottom are lost. + * + * @param {integer} count The number of rows to scroll. + */ +hterm.Terminal.prototype.vtScrollDown = function(opt_count) { + var cursor = this.saveCursor(); + + this.setAbsoluteCursorPosition(this.getVTScrollTop(), 0); + this.insertLines(opt_count); + + this.restoreCursor(cursor); +}; + + +/** + * Set the cursor position. + * + * The cursor row is relative to the scroll region if the terminal has + * 'origin mode' enabled, or relative to the addressable screen otherwise. + * + * @param {integer} row The new zero-based cursor row. + * @param {integer} row The new zero-based cursor column. + */ +hterm.Terminal.prototype.setCursorPosition = function(row, column) { + if (this.options_.originMode) { + this.setRelativeCursorPosition(row, column); + } else { + this.setAbsoluteCursorPosition(row, column); + } +}; + +/** + * Move the cursor relative to its current position. + * + * @param {number} row + * @param {number} column + */ +hterm.Terminal.prototype.setRelativeCursorPosition = function(row, column) { + var scrollTop = this.getVTScrollTop(); + row = lib.f.clamp(row + scrollTop, scrollTop, this.getVTScrollBottom()); + column = lib.f.clamp(column, 0, this.screenSize.width - 1); + this.screen_.setCursorPosition(row, column); +}; + +/** + * Move the cursor to the specified position. + * + * @param {number} row + * @param {number} column + */ +hterm.Terminal.prototype.setAbsoluteCursorPosition = function(row, column) { + row = lib.f.clamp(row, 0, this.screenSize.height - 1); + column = lib.f.clamp(column, 0, this.screenSize.width - 1); + this.screen_.setCursorPosition(row, column); +}; + +/** + * Set the cursor column. + * + * @param {integer} column The new zero-based cursor column. + */ +hterm.Terminal.prototype.setCursorColumn = function(column) { + this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, column); +}; + +/** + * Return the cursor column. + * + * @return {integer} The zero-based cursor column. + */ +hterm.Terminal.prototype.getCursorColumn = function() { + return this.screen_.cursorPosition.column; +}; + +/** + * Set the cursor row. + * + * The cursor row is relative to the scroll region if the terminal has + * 'origin mode' enabled, or relative to the addressable screen otherwise. + * + * @param {integer} row The new cursor row. + */ +hterm.Terminal.prototype.setAbsoluteCursorRow = function(row) { + this.setAbsoluteCursorPosition(row, this.screen_.cursorPosition.column); +}; + +/** + * Return the cursor row. + * + * @return {integer} The zero-based cursor row. + */ +hterm.Terminal.prototype.getCursorRow = function() { + return this.screen_.cursorPosition.row; +}; + +/** + * Request that the ScrollPort redraw itself soon. + * + * The redraw will happen asynchronously, soon after the call stack winds down. + * Multiple calls will be coalesced into a single redraw. + */ +hterm.Terminal.prototype.scheduleRedraw_ = function() { + if (this.timeouts_.redraw) + return; + + var self = this; + this.timeouts_.redraw = setTimeout(function() { + delete self.timeouts_.redraw; + self.scrollPort_.redraw_(); + }, 0); +}; + +/** + * Request that the ScrollPort be scrolled to the bottom. + * + * The scroll will happen asynchronously, soon after the call stack winds down. + * Multiple calls will be coalesced into a single scroll. + * + * This affects the scrollbar position of the ScrollPort, and has nothing to + * do with the VT scroll commands. + */ +hterm.Terminal.prototype.scheduleScrollDown_ = function() { + if (this.timeouts_.scrollDown) + return; + + var self = this; + this.timeouts_.scrollDown = setTimeout(function() { + delete self.timeouts_.scrollDown; + self.scrollPort_.scrollRowToBottom(self.getRowCount()); + }, 10); +}; + +/** + * Move the cursor up a specified number of rows. + * + * @param {integer} count The number of rows to move the cursor. + */ +hterm.Terminal.prototype.cursorUp = function(count) { + return this.cursorDown(-(count || 1)); +}; + +/** + * Move the cursor down a specified number of rows. + * + * @param {integer} count The number of rows to move the cursor. + */ +hterm.Terminal.prototype.cursorDown = function(count) { + count = count || 1; + var minHeight = (this.options_.originMode ? this.getVTScrollTop() : 0); + var maxHeight = (this.options_.originMode ? this.getVTScrollBottom() : + this.screenSize.height - 1); + + var row = lib.f.clamp(this.screen_.cursorPosition.row + count, + minHeight, maxHeight); + this.setAbsoluteCursorRow(row); +}; + +/** + * Move the cursor left a specified number of columns. + * + * If reverse wraparound mode is enabled and the previous row wrapped into + * the current row then we back up through the wraparound as well. + * + * @param {integer} count The number of columns to move the cursor. + */ +hterm.Terminal.prototype.cursorLeft = function(count) { + count = count || 1; + + if (count < 1) + return; + + var currentColumn = this.screen_.cursorPosition.column; + if (this.options_.reverseWraparound) { + if (this.screen_.cursorPosition.overflow) { + // If this cursor is in the right margin, consume one count to get it + // back to the last column. This only applies when we're in reverse + // wraparound mode. + count--; + this.clearCursorOverflow(); + + if (!count) + return; + } + + var newRow = this.screen_.cursorPosition.row; + var newColumn = currentColumn - count; + if (newColumn < 0) { + newRow = newRow - Math.floor(count / this.screenSize.width) - 1; + if (newRow < 0) { + // xterm also wraps from row 0 to the last row. + newRow = this.screenSize.height + newRow % this.screenSize.height; + } + newColumn = this.screenSize.width + newColumn % this.screenSize.width; + } + + this.setCursorPosition(Math.max(newRow, 0), newColumn); + + } else { + var newColumn = Math.max(currentColumn - count, 0); + this.setCursorColumn(newColumn); + } +}; + +/** + * Move the cursor right a specified number of columns. + * + * @param {integer} count The number of columns to move the cursor. + */ +hterm.Terminal.prototype.cursorRight = function(count) { + count = count || 1; + + if (count < 1) + return; + + var column = lib.f.clamp(this.screen_.cursorPosition.column + count, + 0, this.screenSize.width - 1); + this.setCursorColumn(column); +}; + +/** + * Reverse the foreground and background colors of the terminal. + * + * This only affects text that was drawn with no attributes. + * + * TODO(rginda): Test xterm to see if reverse is respected for text that has + * been drawn with attributes that happen to coincide with the default + * 'no-attribute' colors. My guess is probably not. + * + * @param {boolean} state The state to set. + */ +hterm.Terminal.prototype.setReverseVideo = function(state) { + this.options_.reverseVideo = state; + if (state) { + this.scrollPort_.setForegroundColor(this.prefs_.get('background-color')); + this.scrollPort_.setBackgroundColor(this.prefs_.get('foreground-color')); + } else { + this.scrollPort_.setForegroundColor(this.prefs_.get('foreground-color')); + this.scrollPort_.setBackgroundColor(this.prefs_.get('background-color')); + } +}; + +/** + * Ring the terminal bell. + * + * This will not play the bell audio more than once per second. + */ +hterm.Terminal.prototype.ringBell = function() { + this.cursorNode_.style.backgroundColor = + this.scrollPort_.getForegroundColor(); + + var self = this; + setTimeout(function() { + self.cursorNode_.style.backgroundColor = self.prefs_.get('cursor-color'); + }, 200); + + // bellSquelchTimeout_ affects both audio and notification bells. + if (this.bellSquelchTimeout_) + return; + + if (this.bellAudio_.getAttribute('src')) { + this.bellAudio_.play(); + this.bellSequelchTimeout_ = setTimeout(function() { + delete this.bellSquelchTimeout_; + }.bind(this), 500); + } else { + delete this.bellSquelchTimeout_; + } + + if (this.desktopNotificationBell_ && !this.document_.hasFocus()) { + var n = hterm.notify(); + this.bellNotificationList_.push(n); + // TODO: Should we try to raise the window here? + n.onclick = function() { self.closeBellNotifications_(); }; + } +}; + +/** + * Set the origin mode bit. + * + * If origin mode is on, certain VT cursor and scrolling commands measure their + * row parameter relative to the VT scroll region. Otherwise, row 0 corresponds + * to the top of the addressable screen. + * + * Defaults to off. + * + * @param {boolean} state True to set origin mode, false to unset. + */ +hterm.Terminal.prototype.setOriginMode = function(state) { + this.options_.originMode = state; + this.setCursorPosition(0, 0); +}; + +/** + * Set the insert mode bit. + * + * If insert mode is on, existing text beyond the cursor position will be + * shifted right to make room for new text. Otherwise, new text overwrites + * any existing text. + * + * Defaults to off. + * + * @param {boolean} state True to set insert mode, false to unset. + */ +hterm.Terminal.prototype.setInsertMode = function(state) { + this.options_.insertMode = state; +}; + +/** + * Set the auto carriage return bit. + * + * If auto carriage return is on then a formfeed character is interpreted + * as a newline, otherwise it's the same as a linefeed. The difference boils + * down to whether or not the cursor column is reset. + * + * @param {boolean} state The state to set. + */ +hterm.Terminal.prototype.setAutoCarriageReturn = function(state) { + this.options_.autoCarriageReturn = state; +}; + +/** + * Set the wraparound mode bit. + * + * If wraparound mode is on, certain VT commands will allow the cursor to wrap + * to the start of the following row. Otherwise, the cursor is clamped to the + * end of the screen and attempts to write past it are ignored. + * + * Defaults to on. + * + * @param {boolean} state True to set wraparound mode, false to unset. + */ +hterm.Terminal.prototype.setWraparound = function(state) { + this.options_.wraparound = state; +}; + +/** + * Set the reverse-wraparound mode bit. + * + * If wraparound mode is off, certain VT commands will allow the cursor to wrap + * to the end of the previous row. Otherwise, the cursor is clamped to column + * 0. + * + * Defaults to off. + * + * @param {boolean} state True to set reverse-wraparound mode, false to unset. + */ +hterm.Terminal.prototype.setReverseWraparound = function(state) { + this.options_.reverseWraparound = state; +}; + +/** + * Selects between the primary and alternate screens. + * + * If alternate mode is on, the alternate screen is active. Otherwise the + * primary screen is active. + * + * Swapping screens has no effect on the scrollback buffer. + * + * Each screen maintains its own cursor position. + * + * Defaults to off. + * + * @param {boolean} state True to set alternate mode, false to unset. + */ +hterm.Terminal.prototype.setAlternateMode = function(state) { + var cursor = this.saveCursor(); + this.screen_ = state ? this.alternateScreen_ : this.primaryScreen_; + + if (this.screen_.rowsArray.length && + this.screen_.rowsArray[0].rowIndex != this.scrollbackRows_.length) { + // If the screen changed sizes while we were away, our rowIndexes may + // be incorrect. + var offset = this.scrollbackRows_.length; + var ary = this.screen_.rowsArray; + for (var i = 0; i < ary.length; i++) { + ary[i].rowIndex = offset + i; + } + } + + this.realizeWidth_(this.screenSize.width); + this.realizeHeight_(this.screenSize.height); + this.scrollPort_.syncScrollHeight(); + this.scrollPort_.invalidate(); + + this.restoreCursor(cursor); + this.scrollPort_.resize(); +}; + +/** + * Set the cursor-blink mode bit. + * + * If cursor-blink is on, the cursor will blink when it is visible. Otherwise + * a visible cursor does not blink. + * + * You should make sure to turn blinking off if you're going to dispose of a + * terminal, otherwise you'll leak a timeout. + * + * Defaults to on. + * + * @param {boolean} state True to set cursor-blink mode, false to unset. + */ +hterm.Terminal.prototype.setCursorBlink = function(state) { + this.options_.cursorBlink = state; + + if (!state && this.timeouts_.cursorBlink) { + clearTimeout(this.timeouts_.cursorBlink); + delete this.timeouts_.cursorBlink; + } + + if (this.options_.cursorVisible) + this.setCursorVisible(true); +}; + +/** + * Set the cursor-visible mode bit. + * + * If cursor-visible is on, the cursor will be visible. Otherwise it will not. + * + * Defaults to on. + * + * @param {boolean} state True to set cursor-visible mode, false to unset. + */ +hterm.Terminal.prototype.setCursorVisible = function(state) { + this.options_.cursorVisible = state; + + if (!state) { + if (this.timeouts_.cursorBlink) { + clearTimeout(this.timeouts_.cursorBlink); + delete this.timeouts_.cursorBlink; + } + this.cursorNode_.style.opacity = '0'; + return; + } + + this.syncCursorPosition_(); + + this.cursorNode_.style.opacity = '1'; + + if (this.options_.cursorBlink) { + if (this.timeouts_.cursorBlink) + return; + + this.onCursorBlink_(); + } else { + if (this.timeouts_.cursorBlink) { + clearTimeout(this.timeouts_.cursorBlink); + delete this.timeouts_.cursorBlink; + } + } +}; + +/** + * Synchronizes the visible cursor and document selection with the current + * cursor coordinates. + */ +hterm.Terminal.prototype.syncCursorPosition_ = function() { + var topRowIndex = this.scrollPort_.getTopRowIndex(); + var bottomRowIndex = this.scrollPort_.getBottomRowIndex(topRowIndex); + var cursorRowIndex = this.scrollbackRows_.length + + this.screen_.cursorPosition.row; + + if (cursorRowIndex > bottomRowIndex) { + // Cursor is scrolled off screen, move it outside of the visible area. + this.setCssVar('cursor-offset-row', '-1'); + return; + } + + if (this.options_.cursorVisible && + this.cursorNode_.style.display == 'none') { + // Re-display the terminal cursor if it was hidden by the mouse cursor. + this.cursorNode_.style.display = ''; + } + + // Position the cursor using CSS variable math. If we do the math in JS, + // the float math will end up being more precise than the CSS which will + // cause the cursor tracking to be off. + this.setCssVar( + 'cursor-offset-row', + `${cursorRowIndex - topRowIndex} + ` + + `${this.scrollPort_.visibleRowTopMargin}px`); + this.setCssVar('cursor-offset-col', this.screen_.cursorPosition.column); + + this.cursorNode_.setAttribute('title', + '(' + this.screen_.cursorPosition.column + + ', ' + this.screen_.cursorPosition.row + + ')'); + + // Update the caret for a11y purposes. + var selection = this.document_.getSelection(); + if (selection && selection.isCollapsed) + this.screen_.syncSelectionCaret(selection); +}; + +/** + * Adjusts the style of this.cursorNode_ according to the current cursor shape + * and character cell dimensions. + */ +hterm.Terminal.prototype.restyleCursor_ = function() { + var shape = this.cursorShape_; + + if (this.cursorNode_.getAttribute('focus') == 'false') { + // Always show a block cursor when unfocused. + shape = hterm.Terminal.cursorShape.BLOCK; + } + + var style = this.cursorNode_.style; + + switch (shape) { + case hterm.Terminal.cursorShape.BEAM: + style.height = 'var(--hterm-charsize-height)'; + style.backgroundColor = 'transparent'; + style.borderBottomStyle = null; + style.borderLeftStyle = 'solid'; + break; + + case hterm.Terminal.cursorShape.UNDERLINE: + style.height = this.scrollPort_.characterSize.baseline + 'px'; + style.backgroundColor = 'transparent'; + style.borderBottomStyle = 'solid'; + // correct the size to put it exactly at the baseline + style.borderLeftStyle = null; + break; + + default: + style.height = 'var(--hterm-charsize-height)'; + style.backgroundColor = this.cursorColor_; + style.borderBottomStyle = null; + style.borderLeftStyle = null; + break; + } +}; + +/** + * Synchronizes the visible cursor with the current cursor coordinates. + * + * The sync will happen asynchronously, soon after the call stack winds down. + * Multiple calls will be coalesced into a single sync. + */ +hterm.Terminal.prototype.scheduleSyncCursorPosition_ = function() { + if (this.timeouts_.syncCursor) + return; + + var self = this; + this.timeouts_.syncCursor = setTimeout(function() { + self.syncCursorPosition_(); + delete self.timeouts_.syncCursor; + }, 0); +}; + +/** + * Show or hide the zoom warning. + * + * The zoom warning is a message warning the user that their browser zoom must + * be set to 100% in order for hterm to function properly. + * + * @param {boolean} state True to show the message, false to hide it. + */ +hterm.Terminal.prototype.showZoomWarning_ = function(state) { + if (!this.zoomWarningNode_) { + if (!state) + return; + + this.zoomWarningNode_ = this.document_.createElement('div'); + this.zoomWarningNode_.id = 'hterm:zoom-warning'; + this.zoomWarningNode_.style.cssText = ( + 'color: black;' + + 'background-color: #ff2222;' + + 'font-size: large;' + + 'border-radius: 8px;' + + 'opacity: 0.75;' + + 'padding: 0.2em 0.5em 0.2em 0.5em;' + + 'top: 0.5em;' + + 'right: 1.2em;' + + 'position: absolute;' + + '-webkit-text-size-adjust: none;' + + '-webkit-user-select: none;' + + '-moz-text-size-adjust: none;' + + '-moz-user-select: none;'); + + this.zoomWarningNode_.addEventListener('click', function(e) { + this.parentNode.removeChild(this); + }); + } + + this.zoomWarningNode_.textContent = lib.MessageManager.replaceReferences( + hterm.zoomWarningMessage, + [parseInt(this.scrollPort_.characterSize.zoomFactor * 100)]); + + this.zoomWarningNode_.style.fontFamily = this.prefs_.get('font-family'); + + if (state) { + if (!this.zoomWarningNode_.parentNode) + this.div_.parentNode.appendChild(this.zoomWarningNode_); + } else if (this.zoomWarningNode_.parentNode) { + this.zoomWarningNode_.parentNode.removeChild(this.zoomWarningNode_); + } +}; + +/** + * Show the terminal overlay for a given amount of time. + * + * The terminal overlay appears in inverse video in a large font, centered + * over the terminal. You should probably keep the overlay message brief, + * since it's in a large font and you probably aren't going to check the size + * of the terminal first. + * + * @param {string} msg The text (not HTML) message to display in the overlay. + * @param {number} opt_timeout The amount of time to wait before fading out + * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay + * stay up forever (or until the next overlay). + */ +hterm.Terminal.prototype.showOverlay = function(msg, opt_timeout) { + if (!this.overlayNode_) { + if (!this.div_) + return; + + this.overlayNode_ = this.document_.createElement('div'); + this.overlayNode_.style.cssText = ( + 'border-radius: 15px;' + + 'font-size: xx-large;' + + 'opacity: 0.75;' + + 'padding: 0.2em 0.5em 0.2em 0.5em;' + + 'position: absolute;' + + '-webkit-user-select: none;' + + '-webkit-transition: opacity 180ms ease-in;' + + '-moz-user-select: none;' + + '-moz-transition: opacity 180ms ease-in;'); + + this.overlayNode_.addEventListener('mousedown', function(e) { + e.preventDefault(); + e.stopPropagation(); + }, true); + } + + this.overlayNode_.style.color = this.prefs_.get('background-color'); + this.overlayNode_.style.backgroundColor = this.prefs_.get('foreground-color'); + this.overlayNode_.style.fontFamily = this.prefs_.get('font-family'); + + this.overlayNode_.textContent = msg; + this.overlayNode_.style.opacity = '0.75'; + + if (!this.overlayNode_.parentNode) + this.div_.appendChild(this.overlayNode_); + + var divSize = hterm.getClientSize(this.div_); + var overlaySize = hterm.getClientSize(this.overlayNode_); + + this.overlayNode_.style.top = + (divSize.height - overlaySize.height) / 2 + 'px'; + this.overlayNode_.style.left = (divSize.width - overlaySize.width - + this.scrollPort_.currentScrollbarWidthPx) / 2 + 'px'; + + var self = this; + + if (this.overlayTimeout_) + clearTimeout(this.overlayTimeout_); + + if (opt_timeout === null) + return; + + this.overlayTimeout_ = setTimeout(function() { + self.overlayNode_.style.opacity = '0'; + self.overlayTimeout_ = setTimeout(function() { + if (self.overlayNode_.parentNode) + self.overlayNode_.parentNode.removeChild(self.overlayNode_); + self.overlayTimeout_ = null; + self.overlayNode_.style.opacity = '0.75'; + }, 200); + }, opt_timeout || 1500); +}; + +/** + * Paste from the system clipboard to the terminal. + */ +hterm.Terminal.prototype.paste = function() { + return hterm.pasteFromClipboard(this.document_); +}; + +/** + * Copy a string to the system clipboard. + * + * Note: If there is a selected range in the terminal, it'll be cleared. + * + * @param {string} str The string to copy. + */ +hterm.Terminal.prototype.copyStringToClipboard = function(str) { + if (this.prefs_.get('enable-clipboard-notice')) + setTimeout(this.showOverlay.bind(this, hterm.notifyCopyMessage, 500), 200); + + var copySource = this.document_.createElement('pre'); + copySource.id = 'hterm:copy-to-clipboard-source'; + copySource.textContent = str; + copySource.style.cssText = ( + '-webkit-user-select: text;' + + '-moz-user-select: text;' + + 'position: absolute;' + + 'top: -99px'); + + this.document_.body.appendChild(copySource); + + var selection = this.document_.getSelection(); + var anchorNode = selection.anchorNode; + var anchorOffset = selection.anchorOffset; + var focusNode = selection.focusNode; + var focusOffset = selection.focusOffset; + + selection.selectAllChildren(copySource); + + hterm.copySelectionToClipboard(this.document_); + + // IE doesn't support selection.extend. This means that the selection + // won't return on IE. + if (selection.extend) { + selection.collapse(anchorNode, anchorOffset); + selection.extend(focusNode, focusOffset); + } + + copySource.parentNode.removeChild(copySource); +}; + +/** + * Returns the selected text, or null if no text is selected. + * + * @return {string|null} + */ +hterm.Terminal.prototype.getSelectionText = function() { + var selection = this.scrollPort_.selection; + selection.sync(); + + if (selection.isCollapsed) + return null; + + + // Start offset measures from the beginning of the line. + var startOffset = selection.startOffset; + var node = selection.startNode; + + if (node.nodeName != 'X-ROW') { + // If the selection doesn't start on an x-row node, then it must be + // somewhere inside the x-row. Add any characters from previous siblings + // into the start offset. + + if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') { + // If node is the text node in a styled span, move up to the span node. + node = node.parentNode; + } + + while (node.previousSibling) { + node = node.previousSibling; + startOffset += hterm.TextAttributes.nodeWidth(node); + } + } + + // End offset measures from the end of the line. + var endOffset = (hterm.TextAttributes.nodeWidth(selection.endNode) - + selection.endOffset); + node = selection.endNode; + + if (node.nodeName != 'X-ROW') { + // If the selection doesn't end on an x-row node, then it must be + // somewhere inside the x-row. Add any characters from following siblings + // into the end offset. + + if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') { + // If node is the text node in a styled span, move up to the span node. + node = node.parentNode; + } + + while (node.nextSibling) { + node = node.nextSibling; + endOffset += hterm.TextAttributes.nodeWidth(node); + } + } + + var rv = this.getRowsText(selection.startRow.rowIndex, + selection.endRow.rowIndex + 1); + return lib.wc.substring(rv, startOffset, lib.wc.strWidth(rv) - endOffset); +}; + +/** + * Copy the current selection to the system clipboard, then clear it after a + * short delay. + */ +hterm.Terminal.prototype.copySelectionToClipboard = function() { + var text = this.getSelectionText(); + if (text != null) + this.copyStringToClipboard(text); +}; + +hterm.Terminal.prototype.overlaySize = function() { + this.showOverlay(this.screenSize.width + 'x' + this.screenSize.height); +}; + +/** + * Invoked by hterm.Terminal.Keyboard when a VT keystroke is detected. + * + * @param {string} string The VT string representing the keystroke, in UTF-16. + */ +hterm.Terminal.prototype.onVTKeystroke = function(string) { + if (this.scrollOnKeystroke_) + this.scrollPort_.scrollRowToBottom(this.getRowCount()); + + this.io.onVTKeystroke(this.keyboard.encode(string)); +}; + +/** + * Launches url in a new tab. + * + * @param {string} url URL to launch in a new tab. + */ +hterm.Terminal.prototype.openUrl = function(url) { + if (window.chrome && window.chrome.browser) { + // For Chrome v2 apps, we need to use this API to properly open windows. + chrome.browser.openTab({'url': url}); + } else { + var win = window.open(url, '_blank'); + win.focus(); + } +} + +/** + * Open the selected url. + */ +hterm.Terminal.prototype.openSelectedUrl_ = function() { + var str = this.getSelectionText(); + + // If there is no selection, try and expand wherever they clicked. + if (str == null) { + this.screen_.expandSelection(this.document_.getSelection()); + str = this.getSelectionText(); + + // If clicking in empty space, return. + if (str == null) + return; + } + + // Make sure URL is valid before opening. + if (str.length > 2048 || str.search(/[\s\[\](){}<>"'\\^`]/) >= 0) + return; + + // If the URI isn't anchored, it'll open relative to the extension. + // We have no way of knowing the correct schema, so assume http. + if (str.search('^[a-zA-Z][a-zA-Z0-9+.-]*://') < 0) { + // We have to whitelist a few protocols that lack authorities and thus + // never use the //. Like mailto. + switch (str.split(':', 1)[0]) { + case 'mailto': + break; + default: + str = 'http://' + str; + break; + } + } + + this.openUrl(str); +} + + +/** + * Add the terminalRow and terminalColumn properties to mouse events and + * then forward on to onMouse(). + * + * The terminalRow and terminalColumn properties contain the (row, column) + * coordinates for the mouse event. + * + * @param {Event} e The mouse event to handle. + */ +hterm.Terminal.prototype.onMouse_ = function(e) { + if (e.processedByTerminalHandler_) { + // We register our event handlers on the document, as well as the cursor + // and the scroll blocker. Mouse events that occur on the cursor or + // scroll blocker will also appear on the document, but we don't want to + // process them twice. + // + // We can't just prevent bubbling because that has other side effects, so + // we decorate the event object with this property instead. + return; + } + + var reportMouseEvents = (!this.defeatMouseReports_ && + this.vt.mouseReport != this.vt.MOUSE_REPORT_DISABLED); + + e.processedByTerminalHandler_ = true; + + // One based row/column stored on the mouse event. + e.terminalRow = parseInt((e.clientY - this.scrollPort_.visibleRowTopMargin) / + this.scrollPort_.characterSize.height) + 1; + e.terminalColumn = parseInt(e.clientX / + this.scrollPort_.characterSize.width) + 1; + + if (e.type == 'mousedown' && e.terminalColumn > this.screenSize.width) { + // Mousedown in the scrollbar area. + return; + } + + if (this.options_.cursorVisible && !reportMouseEvents) { + // If the cursor is visible and we're not sending mouse events to the + // host app, then we want to hide the terminal cursor when the mouse + // cursor is over top. This keeps the terminal cursor from interfering + // with local text selection. + if (e.terminalRow - 1 == this.screen_.cursorPosition.row && + e.terminalColumn - 1 == this.screen_.cursorPosition.column) { + this.cursorNode_.style.display = 'none'; + } else if (this.cursorNode_.style.display == 'none') { + this.cursorNode_.style.display = ''; + } + } + + if (e.type == 'mousedown') { + if (e.altKey || !reportMouseEvents) { + // If VT mouse reporting is disabled, or has been defeated with + // alt-mousedown, then the mouse will act on the local selection. + this.defeatMouseReports_ = true; + this.setSelectionEnabled(true); + } else { + // Otherwise we defer ownership of the mouse to the VT. + this.defeatMouseReports_ = false; + this.document_.getSelection().collapseToEnd(); + this.setSelectionEnabled(false); + e.preventDefault(); + } + } + + if (!reportMouseEvents) { + if (e.type == 'dblclick' && this.copyOnSelect) { + this.screen_.expandSelection(this.document_.getSelection()); + this.copySelectionToClipboard(this.document_); + } + + if (e.type == 'click' && !e.shiftKey && (e.ctrlKey || e.metaKey)) { + // Debounce this event with the dblclick event. If you try to doubleclick + // a URL to open it, Chrome will fire click then dblclick, but we won't + // have expanded the selection text at the first click event. + clearTimeout(this.timeouts_.openUrl); + this.timeouts_.openUrl = setTimeout(this.openSelectedUrl_.bind(this), + 500); + return; + } + + if (e.type == 'mousedown') { + if ((this.mouseRightClickPaste && e.button == 2 /* right button */) || + e.button == this.mousePasteButton) { + if (!this.paste()) + console.warning('Could not paste manually due to web restrictions');; + } + } + + if (e.type == 'mouseup' && e.button == 0 && this.copyOnSelect && + !this.document_.getSelection().isCollapsed) { + this.copySelectionToClipboard(this.document_); + } + + if ((e.type == 'mousemove' || e.type == 'mouseup') && + this.scrollBlockerNode_.engaged) { + // Disengage the scroll-blocker after one of these events. + this.scrollBlockerNode_.engaged = false; + this.scrollBlockerNode_.style.top = '-99px'; + } + + // Emulate arrow key presses via scroll wheel events. + if (this.scrollWheelArrowKeys_ && !e.shiftKey && + this.keyboard.applicationCursor && !this.isPrimaryScreen()) { + if (e.type == 'wheel') { + var delta = this.scrollPort_.scrollWheelDelta(e); + var lines = lib.f.smartFloorDivide( + Math.abs(delta), this.scrollPort_.characterSize.height); + + var data = '\x1bO' + (delta < 0 ? 'B' : 'A'); + this.io.sendString(data.repeat(lines)); + + e.preventDefault(); + } + } + } else /* if (this.reportMouseEvents) */ { + if (!this.scrollBlockerNode_.engaged) { + if (e.type == 'mousedown') { + // Move the scroll-blocker into place if we want to keep the scrollport + // from scrolling. + this.scrollBlockerNode_.engaged = true; + this.scrollBlockerNode_.style.top = (e.clientY - 5) + 'px'; + this.scrollBlockerNode_.style.left = (e.clientX - 5) + 'px'; + } else if (e.type == 'mousemove') { + // Oh. This means that drag-scroll was disabled AFTER the mouse down, + // in which case it's too late to engage the scroll-blocker. + this.document_.getSelection().collapseToEnd(); + e.preventDefault(); + } + } + + this.onMouse(e); + } + + if (e.type == 'mouseup' && this.document_.getSelection().isCollapsed) { + // Restore this on mouseup in case it was temporarily defeated with a + // alt-mousedown. Only do this when the selection is empty so that + // we don't immediately kill the users selection. + this.defeatMouseReports_ = false; + } +}; + +/** + * Clients should override this if they care to know about mouse events. + * + * The event parameter will be a normal DOM mouse click event with additional + * 'terminalRow' and 'terminalColumn' properties. + * + * @param {Event} e The mouse event to handle. + */ +hterm.Terminal.prototype.onMouse = function(e) { }; + +/** + * React when focus changes. + * + * @param {boolean} focused True if focused, false otherwise. + */ +hterm.Terminal.prototype.onFocusChange_ = function(focused) { + this.cursorNode_.setAttribute('focus', focused); + this.restyleCursor_(); + if (focused === true) + this.closeBellNotifications_(); +}; + +/** + * React when the ScrollPort is scrolled. + */ +hterm.Terminal.prototype.onScroll_ = function() { + this.scheduleSyncCursorPosition_(); +}; + +/** + * React when text is pasted into the scrollPort. + * + * @param {Event} e The DOM paste event to handle. + */ +hterm.Terminal.prototype.onPaste_ = function(e) { + var data = e.text.replace(/\n/mg, '\r'); + data = this.keyboard.encode(data); + if (this.options_.bracketedPaste) + data = '\x1b[200~' + data + '\x1b[201~'; + + this.io.sendString(data); +}; + +/** + * React when the user tries to copy from the scrollPort. + * + * @param {Event} e The DOM copy event. + */ +hterm.Terminal.prototype.onCopy_ = function(e) { + if (!this.useDefaultWindowCopy) { + e.preventDefault(); + setTimeout(this.copySelectionToClipboard.bind(this), 0); + } +}; + +/** + * React when the ScrollPort is resized. + * + * Note: This function should not directly contain code that alters the internal + * state of the terminal. That kind of code belongs in realizeWidth or + * realizeHeight, so that it can be executed synchronously in the case of a + * programmatic width change. + */ +hterm.Terminal.prototype.onResize_ = function() { + var columnCount = Math.floor(this.scrollPort_.getScreenWidth() / + this.scrollPort_.characterSize.width) || 0; + var rowCount = lib.f.smartFloorDivide(this.scrollPort_.getScreenHeight(), + this.scrollPort_.characterSize.height) || 0; + + if (columnCount <= 0 || rowCount <= 0) { + // We avoid these situations since they happen sometimes when the terminal + // gets removed from the document or during the initial load, and we can't + // deal with that. + // This can also happen if called before the scrollPort calculates the + // character size, meaning we dived by 0 above and default to 0 values. + return; + } + + var isNewSize = (columnCount != this.screenSize.width || + rowCount != this.screenSize.height); + + // We do this even if the size didn't change, just to be sure everything is + // in sync. + this.realizeSize_(columnCount, rowCount); + this.showZoomWarning_(this.scrollPort_.characterSize.zoomFactor != 1); + + if (isNewSize) + this.overlaySize(); + + this.restyleCursor_(); + this.scheduleSyncCursorPosition_(); +}; + +/** + * Service the cursor blink timeout. + */ +hterm.Terminal.prototype.onCursorBlink_ = function() { + if (!this.options_.cursorBlink) { + delete this.timeouts_.cursorBlink; + return; + } + + if (this.cursorNode_.getAttribute('focus') == 'false' || + this.cursorNode_.style.opacity == '0') { + this.cursorNode_.style.opacity = '1'; + this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_, + this.cursorBlinkCycle_[0]); + } else { + this.cursorNode_.style.opacity = '0'; + this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_, + this.cursorBlinkCycle_[1]); + } +}; + +/** + * Set the scrollbar-visible mode bit. + * + * If scrollbar-visible is on, the vertical scrollbar will be visible. + * Otherwise it will not. + * + * Defaults to on. + * + * @param {boolean} state True to set scrollbar-visible mode, false to unset. + */ +hterm.Terminal.prototype.setScrollbarVisible = function(state) { + this.scrollPort_.setScrollbarVisible(state); +}; + +/** + * Set the scroll wheel move multiplier. This will affect how fast the page + * scrolls on wheel events. + * + * Defaults to 1. + * + * @param {number} multiplier The multiplier to set. + */ +hterm.Terminal.prototype.setScrollWheelMoveMultipler = function(multiplier) { + this.scrollPort_.setScrollWheelMoveMultipler(multiplier); +}; + +/** + * Close all web notifications created by terminal bells. + */ +hterm.Terminal.prototype.closeBellNotifications_ = function() { + this.bellNotificationList_.forEach(function(n) { + n.close(); + }); + this.bellNotificationList_.length = 0; +}; +// SOURCE FILE: hterm/js/hterm_terminal_io.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +lib.rtdep('lib.encodeUTF8'); + +/** + * Input/Output interface used by commands to communicate with the terminal. + * + * Commands like `nassh` and `crosh` receive an instance of this class as + * part of their argv object. This allows them to write to and read from the + * terminal without exposing them to an entire hterm.Terminal instance. + * + * The active command must override the onVTKeystroke() and sendString() methods + * of this class in order to receive keystrokes and send output to the correct + * destination. + * + * Isolating commands from the terminal provides the following benefits: + * - Provides a mechanism to save and restore onVTKeystroke and sendString + * handlers when invoking subcommands (see the push() and pop() methods). + * - The isolation makes it easier to make changes in Terminal and supporting + * classes without affecting commands. + * - In The Future commands may run in web workers where they would only be able + * to talk to a Terminal instance through an IPC mechanism. + * + * @param {hterm.Terminal} + */ +hterm.Terminal.IO = function(terminal) { + this.terminal_ = terminal; + + // The IO object to restore on IO.pop(). + this.previousIO_ = null; +}; + +/** + * Show the terminal overlay for a given amount of time. + * + * The terminal overlay appears in inverse video in a large font, centered + * over the terminal. You should probably keep the overlay message brief, + * since it's in a large font and you probably aren't going to check the size + * of the terminal first. + * + * @param {string} msg The text (not HTML) message to display in the overlay. + * @param {number} opt_timeout The amount of time to wait before fading out + * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay + * stay up forever (or until the next overlay). + */ +hterm.Terminal.IO.prototype.showOverlay = function(message, opt_timeout) { + this.terminal_.showOverlay(message, opt_timeout); +}; + +/** + * Open an frame in the current terminal window, pointed to the specified + * url. + * + * Eventually we'll probably need size/position/decoration options. + * The user should also be able to move/resize the frame. + * + * @param {string} url The URL to load in the frame. + * @param {Object} opt_options Optional frame options. Not implemented. + */ +hterm.Terminal.IO.prototype.createFrame = function(url, opt_options) { + return new hterm.Frame(this.terminal_, url, opt_options); +}; + +/** + * Change the preference profile for the terminal. + * + * @param profileName {string} The name of the preference profile to activate. + */ +hterm.Terminal.IO.prototype.setTerminalProfile = function(profileName) { + this.terminal_.setProfile(profileName); +}; + +/** + * Create a new hterm.Terminal.IO instance and make it active on the Terminal + * object associated with this instance. + * + * This is used to pass control of the terminal IO off to a subcommand. The + * IO.pop() method can be used to restore control when the subcommand completes. + */ +hterm.Terminal.IO.prototype.push = function() { + var io = new hterm.Terminal.IO(this.terminal_); + io.keyboardCaptured_ = this.keyboardCaptured_; + + io.columnCount = this.columnCount; + io.rowCount = this.rowCount; + + io.previousIO_ = this.terminal_.io; + this.terminal_.io = io; + + return io; +}; + +/** + * Restore the Terminal's previous IO object. + */ +hterm.Terminal.IO.prototype.pop = function() { + this.terminal_.io = this.previousIO_; +}; + +/** + * Called when data needs to be sent to the current command. + * + * Clients should override this to receive notification of pending data. + * + * @param {string} string The data to send. + */ +hterm.Terminal.IO.prototype.sendString = function(string) { + // Override this. + console.log('Unhandled sendString: ' + string); +}; + +/** + * Called when a terminal keystroke is detected. + * + * Clients should override this to receive notification of keystrokes. + * + * The keystroke data will be encoded according to the 'send-encoding' + * preference. + * + * @param {string} string The VT key sequence. + */ +hterm.Terminal.IO.prototype.onVTKeystroke = function(string) { + // Override this. + console.log('Unobserverd VT keystroke: ' + JSON.stringify(string)); +}; + +hterm.Terminal.IO.prototype.onTerminalResize_ = function(width, height) { + var obj = this; + while (obj) { + obj.columnCount = width; + obj.rowCount = height; + obj = obj.previousIO_; + } + + this.onTerminalResize(width, height); +}; + +/** + * Called when terminal size is changed. + * + * Clients should override this to receive notification of resize. + * + * @param {string|integer} terminal width. + * @param {string|integer} terminal height. + */ +hterm.Terminal.IO.prototype.onTerminalResize = function(width, height) { + // Override this. +}; + +/** + * Write a UTF-8 encoded byte string to the terminal. + * + * @param {string} string The UTF-8 encoded string to print. + */ +hterm.Terminal.IO.prototype.writeUTF8 = function(string) { + if (this.terminal_.io != this) + throw 'Attempt to print from inactive IO object.'; + + this.terminal_.interpret(string); +}; + +/** + * Write a UTF-8 encoded byte string to the terminal followed by crlf. + * + * @param {string} string The UTF-8 encoded string to print. + */ +hterm.Terminal.IO.prototype.writelnUTF8 = function(string) { + if (this.terminal_.io != this) + throw 'Attempt to print from inactive IO object.'; + + this.terminal_.interpret(string + '\r\n'); +}; + +/** + * Write a UTF-16 JavaScript string to the terminal. + * + * @param {string} string The string to print. + */ +hterm.Terminal.IO.prototype.print = +hterm.Terminal.IO.prototype.writeUTF16 = function(string) { + this.writeUTF8(lib.encodeUTF8(string)); +}; + +/** + * Print a UTF-16 JavaScript string to the terminal followed by a newline. + * + * @param {string} string The string to print. + */ +hterm.Terminal.IO.prototype.println = +hterm.Terminal.IO.prototype.writelnUTF16 = function(string) { + this.writelnUTF8(lib.encodeUTF8(string)); +}; +// SOURCE FILE: hterm/js/hterm_text_attributes.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +lib.rtdep('lib.colors'); + +/** + * Constructor for TextAttribute objects. + * + * These objects manage a set of text attributes such as foreground/ + * background color, bold, faint, italic, blink, underline, and strikethrough. + * + * TextAttribute instances can be used to construct a DOM container implementing + * the current attributes, or to test an existing DOM container for + * compatibility with the current attributes. + * + * @constructor + * @param {HTMLDocument} document The parent document to use when creating + * new DOM containers. + */ +hterm.TextAttributes = function(document) { + this.document_ = document; + // These variables contain the source of the color as either: + // SRC_DEFAULT (use context default) + // SRC_RGB (specified in 'rgb( r, g, b)' form) + // number (representing the index from color palette to use) + this.foregroundSource = this.SRC_DEFAULT; + this.backgroundSource = this.SRC_DEFAULT; + + // These properties cache the value in the color table, but foregroundSource + // and backgroundSource contain the canonical values. + this.foreground = this.DEFAULT_COLOR; + this.background = this.DEFAULT_COLOR; + + this.defaultForeground = 'rgb(255, 255, 255)'; + this.defaultBackground = 'rgb(0, 0, 0)'; + + this.bold = false; + this.faint = false; + this.italic = false; + this.blink = false; + this.underline = false; + this.strikethrough = false; + this.inverse = false; + this.invisible = false; + this.wcNode = false; + this.asciiNode = true; + this.tileData = null; + + this.colorPalette = null; + this.resetColorPalette(); +}; + +/** + * If false, we ignore the bold attribute. + * + * This is used for fonts that have a bold version that is a different size + * than the normal weight version. + */ +hterm.TextAttributes.prototype.enableBold = true; + +/** + * If true, use bright colors (if available) for bold text. + * + * This setting is independent of the enableBold setting. + */ +hterm.TextAttributes.prototype.enableBoldAsBright = true; + +/** + * A sentinel constant meaning "whatever the default color is in this context". + */ +hterm.TextAttributes.prototype.DEFAULT_COLOR = lib.f.createEnum(''); + +/** + * A constant string used to specify that source color is context default. + */ +hterm.TextAttributes.prototype.SRC_DEFAULT = 'default'; + + +/** + * A constant string used to specify that the source of a color is a valid + * rgb( r, g, b) specifier. + */ +hterm.TextAttributes.prototype.SRC_RGB = 'rgb'; + +/** + * The document object which should own the DOM nodes created by this instance. + * + * @param {HTMLDocument} document The parent document. + */ +hterm.TextAttributes.prototype.setDocument = function(document) { + this.document_ = document; +}; + +/** + * Create a deep copy of this object. + * + * @return {hterm.TextAttributes} A deep copy of this object. + */ +hterm.TextAttributes.prototype.clone = function() { + var rv = new hterm.TextAttributes(null); + + for (var key in this) { + rv[key] = this[key]; + } + + rv.colorPalette = this.colorPalette.concat(); + return rv; +}; + +/** + * Reset the current set of attributes. + * + * This does not affect the palette. Use resetColorPalette() for that. + * It also doesn't affect the tile data, it's not meant to. + */ +hterm.TextAttributes.prototype.reset = function() { + this.foregroundSource = this.SRC_DEFAULT; + this.backgroundSource = this.SRC_DEFAULT; + this.foreground = this.DEFAULT_COLOR; + this.background = this.DEFAULT_COLOR; + this.bold = false; + this.faint = false; + this.italic = false; + this.blink = false; + this.underline = false; + this.strikethrough = false; + this.inverse = false; + this.invisible = false; + this.wcNode = false; + this.asciiNode = true; +}; + +/** + * Reset the color palette to the default state. + */ +hterm.TextAttributes.prototype.resetColorPalette = function() { + this.colorPalette = lib.colors.colorPalette.concat(); + this.syncColors(); +}; + +/** + * Test if the current attributes describe unstyled text. + * + * @return {boolean} True if the current attributes describe unstyled text. + */ +hterm.TextAttributes.prototype.isDefault = function() { + return (this.foregroundSource == this.SRC_DEFAULT && + this.backgroundSource == this.SRC_DEFAULT && + !this.bold && + !this.faint && + !this.italic && + !this.blink && + !this.underline && + !this.strikethrough && + !this.inverse && + !this.invisible && + !this.wcNode && + this.asciiNode && + this.tileData == null); +}; + +/** + * Create a DOM container (a span or a text node) with a style to match the + * current set of attributes. + * + * This method will create a plain text node if the text is unstyled, or + * an HTML span if the text is styled. Due to lack of monospace wide character + * fonts on certain systems (e.g. Chrome OS), we need to put each wide character + * in a span of CSS class '.wc-node' which has double column width. + * Each vt_tiledata tile is also represented by a span with a single + * character, with CSS classes '.tile' and '.tile_'. + * + * @param {string} opt_textContent Optional text content for the new container. + * @return {HTMLNode} An HTML span or text nodes styled to match the current + * attributes. + */ +hterm.TextAttributes.prototype.createContainer = function(opt_textContent) { + if (this.isDefault()) + return this.document_.createTextNode(opt_textContent); + + var span = this.document_.createElement('span'); + var style = span.style; + var classes = []; + + if (this.foreground != this.DEFAULT_COLOR) + style.color = this.foreground; + + if (this.background != this.DEFAULT_COLOR) + style.backgroundColor = this.background; + + if (this.enableBold && this.bold) + style.fontWeight = 'bold'; + + if (this.faint) + span.faint = true; + + if (this.italic) + style.fontStyle = 'italic'; + + if (this.blink) { + classes.push('blink-node'); + span.blinkNode = true; + } + + var textDecoration = ''; + if (this.underline) { + textDecoration += ' underline'; + span.underline = true; + } + if (this.strikethrough) { + textDecoration += ' line-through'; + span.strikethrough = true; + } + if (textDecoration) { + style.textDecoration = textDecoration; + } + + if (this.wcNode) { + classes.push('wc-node'); + span.wcNode = true; + span.asciiNode = false; + } + + if (this.tileData != null) { + classes.push('tile'); + classes.push('tile_' + this.tileData); + span.tileNode = true; + } + + if (opt_textContent) + span.textContent = opt_textContent; + + if (classes.length) + span.className = classes.join(' '); + + return span; +}; + +/** + * Tests if the provided object (string, span or text node) has the same + * style as this TextAttributes instance. + * + * This indicates that text with these attributes could be inserted directly + * into the target DOM node. + * + * For the purposes of this method, a string is considered a text node. + * + * @param {string|HTMLNode} obj The object to test. + * @return {boolean} True if the provided container has the same style as + * this attributes instance. + */ +hterm.TextAttributes.prototype.matchesContainer = function(obj) { + if (typeof obj == 'string' || obj.nodeType == 3) + return this.isDefault(); + + var style = obj.style; + + // We don't want to put multiple characters in a wcNode or a tile. + // See the comments in createContainer. + return (!(this.wcNode || obj.wcNode) && + this.asciiNode == this.asciiNode && + !(this.tileData != null || obj.tileNode) && + this.foreground == style.color && + this.background == style.backgroundColor && + (this.enableBold && this.bold) == !!style.fontWeight && + this.blink == obj.blinkNode && + this.italic == !!style.fontStyle && + !!this.underline == !!obj.underline && + !!this.strikethrough == !!obj.strikethrough); +}; + +hterm.TextAttributes.prototype.setDefaults = function(foreground, background) { + this.defaultForeground = foreground; + this.defaultBackground = background; + + this.syncColors(); +}; + +/** + * Updates foreground and background properties based on current indices and + * other state. + * + * @param {string} terminalForeground The terminal foreground color for use as + * inverse text background. + * @param {string} terminalBackground The terminal background color for use as + * inverse text foreground. + * + */ +hterm.TextAttributes.prototype.syncColors = function() { + function getBrightIndex(i) { + if (i < 8) { + // If the color is from the lower half of the ANSI 16, add 8. + return i + 8; + } + + // If it's not from the 16 color palette, ignore bold requests. This + // matches the behavior of gnome-terminal. + return i; + } + + var foregroundSource = this.foregroundSource; + var backgroundSource = this.backgroundSource; + var defaultForeground = this.DEFAULT_COLOR; + var defaultBackground = this.DEFAULT_COLOR; + + if (this.inverse) { + foregroundSource = this.backgroundSource; + backgroundSource = this.foregroundSource; + // We can't inherit the container's color anymore. + defaultForeground = this.defaultBackground; + defaultBackground = this.defaultForeground; + } + + if (this.enableBoldAsBright && this.bold) { + if (foregroundSource != this.SRC_DEFAULT && + foregroundSource != this.SRC_RGB) { + foregroundSource = getBrightIndex(foregroundSource); + } + } + + if (this.invisible) { + foregroundSource = backgroundSource; + defaultForeground = this.defaultBackground; + } + + // Set fore/background colors unless already specified in rgb(r, g, b) form. + if (foregroundSource != this.SRC_RGB) { + this.foreground = ((foregroundSource == this.SRC_DEFAULT) ? + defaultForeground : this.colorPalette[foregroundSource]); + } + + if (this.faint && !this.invisible) { + var colorToMakeFaint = ((this.foreground == this.DEFAULT_COLOR) ? + this.defaultForeground : this.foreground); + this.foreground = lib.colors.mix(colorToMakeFaint, 'rgb(0, 0, 0)', 0.3333); + } + + if (backgroundSource != this.SRC_RGB) { + this.background = ((backgroundSource == this.SRC_DEFAULT) ? + defaultBackground : this.colorPalette[backgroundSource]); + } +}; + +/** + * Static method used to test if the provided objects (strings, spans or + * text nodes) have the same style. + * + * For the purposes of this method, a string is considered a text node. + * + * @param {string|HTMLNode} obj1 An object to test. + * @param {string|HTMLNode} obj2 Another object to test. + * @return {boolean} True if the containers have the same style. + */ +hterm.TextAttributes.containersMatch = function(obj1, obj2) { + if (typeof obj1 == 'string') + return hterm.TextAttributes.containerIsDefault(obj2); + + if (obj1.nodeType != obj2.nodeType) + return false; + + if (obj1.nodeType == 3) + return true; + + var style1 = obj1.style; + var style2 = obj2.style; + + return (style1.color == style2.color && + style1.backgroundColor == style2.backgroundColor && + style1.fontWeight == style2.fontWeight && + style1.fontStyle == style2.fontStyle && + style1.textDecoration == style2.textDecoration); +}; + +/** + * Static method to test if a given DOM container represents unstyled text. + * + * For the purposes of this method, a string is considered a text node. + * + * @param {string|HTMLNode} obj1 An object to test. + * @return {boolean} True if the object is unstyled. + */ +hterm.TextAttributes.containerIsDefault = function(obj) { + return typeof obj == 'string' || obj.nodeType == 3; +}; + +/** + * Static method to get the column width of a node's textContent. + * + * @param {HTMLElement} node The HTML element to get the width of textContent + * from. + * @return {integer} The column width of the node's textContent. + */ +hterm.TextAttributes.nodeWidth = function(node) { + if (!node.asciiNode) { + return lib.wc.strWidth(node.textContent); + } else { + return node.textContent.length; + } +} + +/** + * Static method to get the substr of a node's textContent. The start index + * and substr width are computed in column width. + * + * @param {HTMLElement} node The HTML element to get the substr of textContent + * from. + * @param {integer} start The starting offset in column width. + * @param {integer} width The width to capture in column width. + * @return {integer} The extracted substr of the node's textContent. + */ +hterm.TextAttributes.nodeSubstr = function(node, start, width) { + if (!node.asciiNode) { + return lib.wc.substr(node.textContent, start, width); + } else { + return node.textContent.substr(start, width); + } +} + +/** + * Static method to get the substring based of a node's textContent. The + * start index of end index are computed in column width. + * + * @param {HTMLElement} node The HTML element to get the substr of textContent + * from. + * @param {integer} start The starting offset in column width. + * @param {integer} end The ending offset in column width. + * @return {integer} The extracted substring of the node's textContent. + */ +hterm.TextAttributes.nodeSubstring = function(node, start, end) { + if (!node.asciiNode) { + return lib.wc.substring(node.textContent, start, end); + } else { + return node.textContent.substring(start, end); + } +}; + +/** + * Static method to split a string into contiguous runs of single-width + * characters and runs of double-width characters. + * + * @param {string} str The string to split. + * @return {Array} An array of objects that contain substrings of str, where + * each substring is either a contiguous runs of single-width characters + * or a double-width character. For objects that contain a double-width + * character, its wcNode property is set to true. For objects that contain + * only ASCII content, its asciiNode property is set to true. + */ +hterm.TextAttributes.splitWidecharString = function(str) { + var rv = []; + var base = 0, length = 0; + var asciiNode = true; + + for (var i = 0; i < str.length;) { + var c = str.codePointAt(i); + var increment = (c <= 0xffff) ? 1 : 2; + if (c < 128) { + length += increment; + } else if (lib.wc.charWidth(c) <= 1) { + length += increment; + asciiNode = false; + } else { + if (length) { + rv.push({ + str: str.substr(base, length), + asciiNode: asciiNode, + }); + asciiNode = true; + } + rv.push({ + str: str.substr(i, increment), + wcNode: true, + asciiNode: false, + }); + base = i + increment; + length = 0; + } + i += increment; + } + + if (length) { + rv.push({ + str: str.substr(base, length), + asciiNode: asciiNode, + }); + } + + return rv; +}; +// SOURCE FILE: hterm/js/hterm_vt.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +lib.rtdep('lib.colors', 'lib.f', 'lib.UTF8Decoder', + 'hterm.VT.CharacterMap'); + +/** + * Constructor for the VT escape sequence interpreter. + * + * The interpreter operates on a terminal object capable of performing cursor + * move operations, painting characters, etc. + * + * This interpreter is intended to be compatible with xterm, though it + * ignores some of the more esoteric escape sequences. + * + * Control sequences are documented in hterm/doc/ControlSequences.md. + * + * @param {hterm.Terminal} terminal Terminal to use with the interpreter. + */ +hterm.VT = function(terminal) { + /** + * The display terminal object associated with this virtual terminal. + */ + this.terminal = terminal; + + terminal.onMouse = this.onTerminalMouse_.bind(this); + this.mouseReport = this.MOUSE_REPORT_DISABLED; + + // Parse state left over from the last parse. You should use the parseState + // instance passed into your parse routine, rather than reading + // this.parseState_ directly. + this.parseState_ = new hterm.VT.ParseState(this.parseUnknown_); + + // Any "leading modifiers" for the escape sequence, such as '?', ' ', or the + // other modifiers handled in this.parseCSI_. + this.leadingModifier_ = ''; + + // Any "trailing modifiers". Same character set as a leading modifier, + // except these are found after the numeric arguments. + this.trailingModifier_ = ''; + + // Whether or not to respect the escape codes for setting terminal width. + this.allowColumnWidthChanges_ = false; + + // The amount of time we're willing to wait for the end of an OSC sequence. + this.oscTimeLimit_ = 20000; + + // Decoder to maintain UTF-8 decode state. + this.utf8Decoder_ = new lib.UTF8Decoder(); + + /** + * Whether to accept the 8-bit control characters. + * + * An 8-bit control character is one with the eighth bit set. These + * didn't work on 7-bit terminals so they all have two byte equivalents. + * Most hosts still only use the two-byte versions. + * + * We ignore 8-bit control codes by default. This is in order to avoid + * issues with "accidental" usage of codes that need to be terminated. + * The "accident" usually involves cat'ing binary data. + */ + this.enable8BitControl = false; + + /** + * Whether to allow the OSC 52 sequence to write to the system clipboard. + */ + this.enableClipboardWrite = true; + + /** + * Respect the host's attempt to change the cursor blink status using + * the DEC Private mode 12. + */ + this.enableDec12 = false; + + /** + * The expected encoding method for data received from the host. + */ + this.characterEncoding = 'utf-8'; + + /** + * Max length of an unterminated DCS, OSC, PM or APC sequence before we give + * up and ignore the code. + * + * These all end with a String Terminator (ST, '\x9c', ESC '\\') or + * (BEL, '\x07') character, hence the "string sequence" moniker. + */ + this.maxStringSequence = 1024; + + /** + * If true, emit warnings when we encounter a control character or escape + * sequence that we don't recognize or explicitly ignore. + */ + this.warnUnimplemented = true; + + /** + * The set of available character maps (used by G0...G3 below). + */ + this.characterMaps = new hterm.VT.CharacterMaps(); + + /** + * The default G0...G3 character maps. + * We default to the US/ASCII map everywhere as that aligns with other + * terminals, and it makes it harder to accidentally switch to the graphics + * character map (Ctrl-N). Any program that wants to use the graphics map + * will usually select it anyways since there's no guarantee what state any + * of the maps are in at any particular time. + */ + this.G0 = this.G1 = this.G2 = this.G3 = + this.characterMaps.getMap('B'); + + /** + * The 7-bit visible character set. + * + * This is a mapping from inbound data to display glyph. The GL set + * contains the 94 bytes from 0x21 to 0x7e. + * + * The default GL set is 'B', US ASCII. + */ + this.GL = 'G0'; + + /** + * The 8-bit visible character set. + * + * This is a mapping from inbound data to display glyph. The GR set + * contains the 94 bytes from 0xa1 to 0xfe. + */ + this.GR = 'G0'; + + /** + * The current encoding of the terminal. + * + * We only support ECMA-35 and UTF-8, so go with a boolean here. + * The encoding can be locked too. + */ + this.codingSystemUtf8_ = false; + this.codingSystemLocked_ = false; + + // Construct a regular expression to match the known one-byte control chars. + // This is used in parseUnknown_ to quickly scan a string for the next + // control character. + this.cc1Pattern_ = null; + this.updateEncodingState_(); + + // Saved state used in DECSC. + // + // This is a place to store a copy VT state, it is *not* the active state. + this.savedState_ = new hterm.VT.CursorState(this); +}; + +/** + * No mouse events. + */ +hterm.VT.prototype.MOUSE_REPORT_DISABLED = 0; + +/** + * DECSET mode 1000. + * + * Report mouse down/up events only. + */ +hterm.VT.prototype.MOUSE_REPORT_CLICK = 1; + +/** + * DECSET mode 1002. + * + * Report mouse down/up and movement while a button is down. + */ +hterm.VT.prototype.MOUSE_REPORT_DRAG = 3; + +/** + * ParseState constructor. + * + * This object tracks the current state of the parse. It has fields for the + * current buffer, position in the buffer, and the parse function. + * + * @param {function} defaultFunc The default parser function. + * @param {string} opt_buf Optional string to use as the current buffer. + */ +hterm.VT.ParseState = function(defaultFunction, opt_buf) { + this.defaultFunction = defaultFunction; + this.buf = opt_buf || null; + this.pos = 0; + this.func = defaultFunction; + this.args = []; +}; + +/** + * Reset the parser function, buffer, and position. + */ +hterm.VT.ParseState.prototype.reset = function(opt_buf) { + this.resetParseFunction(); + this.resetBuf(opt_buf || ''); + this.resetArguments(); +}; + +/** + * Reset the parser function only. + */ +hterm.VT.ParseState.prototype.resetParseFunction = function() { + this.func = this.defaultFunction; +}; + +/** + * Reset the buffer and position only. + * + * @param {string} buf Optional new value for buf, defaults to null. + */ +hterm.VT.ParseState.prototype.resetBuf = function(opt_buf) { + this.buf = (typeof opt_buf == 'string') ? opt_buf : null; + this.pos = 0; +}; + +/** + * Reset the arguments list only. + * + * @param {string} opt_arg_zero Optional initial value for args[0]. + */ +hterm.VT.ParseState.prototype.resetArguments = function(opt_arg_zero) { + this.args.length = 0; + if (typeof opt_arg_zero != 'undefined') + this.args[0] = opt_arg_zero; +}; + +/** + * Get an argument as an integer. + * + * @param {number} argnum The argument number to retrieve. + */ +hterm.VT.ParseState.prototype.iarg = function(argnum, defaultValue) { + var str = this.args[argnum]; + if (str) { + var ret = parseInt(str, 10); + // An argument of zero is treated as the default value. + if (ret == 0) + ret = defaultValue; + return ret; + } + return defaultValue; +}; + +/** + * Advance the parse position. + * + * @param {integer} count The number of bytes to advance. + */ +hterm.VT.ParseState.prototype.advance = function(count) { + this.pos += count; +}; + +/** + * Return the remaining portion of the buffer without affecting the parse + * position. + * + * @return {string} The remaining portion of the buffer. + */ +hterm.VT.ParseState.prototype.peekRemainingBuf = function() { + return this.buf.substr(this.pos); +}; + +/** + * Return the next single character in the buffer without affecting the parse + * position. + * + * @return {string} The next character in the buffer. + */ +hterm.VT.ParseState.prototype.peekChar = function() { + return this.buf.substr(this.pos, 1); +}; + +/** + * Return the next single character in the buffer and advance the parse + * position one byte. + * + * @return {string} The next character in the buffer. + */ +hterm.VT.ParseState.prototype.consumeChar = function() { + return this.buf.substr(this.pos++, 1); +}; + +/** + * Return true if the buffer is empty, or the position is past the end. + */ +hterm.VT.ParseState.prototype.isComplete = function() { + return this.buf == null || this.buf.length <= this.pos; +}; + +hterm.VT.CursorState = function(vt) { + this.vt_ = vt; + this.save(); +}; + +hterm.VT.CursorState.prototype.save = function() { + this.cursor = this.vt_.terminal.saveCursor(); + + this.textAttributes = this.vt_.terminal.getTextAttributes().clone(); + + this.GL = this.vt_.GL; + this.GR = this.vt_.GR; + + this.G0 = this.vt_.G0; + this.G1 = this.vt_.G1; + this.G2 = this.vt_.G2; + this.G3 = this.vt_.G3; +}; + +hterm.VT.CursorState.prototype.restore = function() { + this.vt_.terminal.restoreCursor(this.cursor); + + this.vt_.terminal.setTextAttributes(this.textAttributes.clone()); + + this.vt_.GL = this.GL; + this.vt_.GR = this.GR; + + this.vt_.G0 = this.G0; + this.vt_.G1 = this.G1; + this.vt_.G2 = this.G2; + this.vt_.G3 = this.G3; +}; + +hterm.VT.prototype.reset = function() { + this.G0 = this.characterMaps.getMap('B'); + this.G1 = this.characterMaps.getMap('0'); + this.G2 = this.characterMaps.getMap('B'); + this.G3 = this.characterMaps.getMap('B'); + + this.GL = 'G0'; + this.GR = 'G0'; + + this.savedState_ = new hterm.VT.CursorState(this); + + this.mouseReport = this.MOUSE_REPORT_DISABLED; +}; + +/** + * Handle terminal mouse events. + * + * See the "Mouse Tracking" section of [xterm]. + */ +hterm.VT.prototype.onTerminalMouse_ = function(e) { + if (this.mouseReport == this.MOUSE_REPORT_DISABLED) + return; + + // Temporary storage for our response. + var response; + + // Modifier key state. + var mod = 0; + if (e.shiftKey) + mod |= 4; + if (e.metaKey || (this.terminal.keyboard.altIsMeta && e.altKey)) + mod |= 8; + if (e.ctrlKey) + mod |= 16; + + // TODO(rginda): We should also support mode 1005 and/or 1006 to extend the + // coordinate space. Though, after poking around just a little, I wasn't + // able to get vi or emacs to use either of these modes. + var x = String.fromCharCode(lib.f.clamp(e.terminalColumn + 32, 32, 255)); + var y = String.fromCharCode(lib.f.clamp(e.terminalRow + 32, 32, 255)); + + switch (e.type) { + case 'wheel': + // Mouse wheel is treated as button 1 or 2 plus an additional 64. + b = (((e.deltaY * -1) > 0) ? 0 : 1) + 96; + b |= mod; + response = '\x1b[M' + String.fromCharCode(b) + x + y; + + // Keep the terminal from scrolling. + e.preventDefault(); + break; + + case 'mousedown': + // Buttons are encoded as button number plus 32. + var b = Math.min(e.button, 2) + 32; + + // And mix in the modifier keys. + b |= mod; + + response = '\x1b[M' + String.fromCharCode(b) + x + y; + break; + + case 'mouseup': + // Mouse up has no indication of which button was released. + response = '\x1b[M\x23' + x + y; + break; + + case 'mousemove': + if (this.mouseReport == this.MOUSE_REPORT_DRAG && e.buttons) { + // Standard button bits. The XTerm protocol only reports the first + // button press (e.g. if left & right are pressed, right is ignored), + // and it only supports the first three buttons. If none of them are + // pressed, then XTerm flags it as a release. We'll do the same. + b = 32; + + // Priority here matches XTerm: left, middle, right. + if (e.buttons & 0x1) { + // Report left button. + b += 0; + } else if (e.buttons & 0x4) { + // Report middle button. + b += 1; + } else if (e.buttons & 0x2) { + // Report right button. + b += 2; + } else { + // Release higher buttons. + b += 3; + } + + // Add 32 to indicate mouse motion. + b += 32; + + // And mix in the modifier keys. + b |= mod; + + response = '\x1b[M' + String.fromCharCode(b) + x + y; + } + + break; + + case 'click': + case 'dblclick': + break; + + default: + console.error('Unknown mouse event: ' + e.type, e); + break; + } + + if (response) + this.terminal.io.sendString(response); +}; + +/** + * Interpret a string of characters, displaying the results on the associated + * terminal object. + * + * The buffer will be decoded according to the 'receive-encoding' preference. + */ +hterm.VT.prototype.interpret = function(buf) { + this.parseState_.resetBuf(this.decode(buf)); + + while (!this.parseState_.isComplete()) { + var func = this.parseState_.func; + var pos = this.parseState_.pos; + var buf = this.parseState_.buf; + + this.parseState_.func.call(this, this.parseState_); + + if (this.parseState_.func == func && this.parseState_.pos == pos && + this.parseState_.buf == buf) { + throw 'Parser did not alter the state!'; + } + } +}; + +/** + * Decode a string according to the 'receive-encoding' preference. + */ +hterm.VT.prototype.decode = function(str) { + if (this.characterEncoding == 'utf-8') + return this.decodeUTF8(str); + + return str; +}; + +/** + * Encode a UTF-16 string as UTF-8. + * + * See also: https://en.wikipedia.org/wiki/UTF-16 + */ +hterm.VT.prototype.encodeUTF8 = function(str) { + return lib.encodeUTF8(str); +}; + +/** + * Decode a UTF-8 string into UTF-16. + */ +hterm.VT.prototype.decodeUTF8 = function(str) { + return this.utf8Decoder_.decode(str); +}; + +/** + * Set the encoding of the terminal. + * + * @param {string} encoding The name of the encoding to set. + */ +hterm.VT.prototype.setEncoding = function(encoding) { + switch (encoding) { + default: + console.warn('Invalid value for "terminal-encoding": ' + encoding); + // Fall through. + case 'iso-2022': + this.codingSystemUtf8_ = false; + this.codingSystemLocked_ = false; + break; + case 'utf-8-locked': + this.codingSystemUtf8_ = true; + this.codingSystemLocked_ = true; + break; + case 'utf-8': + this.codingSystemUtf8_ = true; + this.codingSystemLocked_ = false; + break; + } + + this.updateEncodingState_(); +}; + +/** + * Refresh internal state when the encoding changes. + */ +hterm.VT.prototype.updateEncodingState_ = function() { + // If we're in UTF8 mode, don't suport 8-bit escape sequences as we'll never + // see those -- everything should be UTF8! + var cc1 = Object.keys(hterm.VT.CC1) + .filter((e) => !this.codingSystemUtf8_ || e.charCodeAt() < 0x80) + .map((e) => '\\x' + lib.f.zpad(e.charCodeAt().toString(16), 2)) + .join(''); + this.cc1Pattern_ = new RegExp(`[${cc1}]`); +}; + +/** + * The default parse function. + * + * This will scan the string for the first 1-byte control character (C0/C1 + * characters from [CTRL]). Any plain text coming before the code will be + * printed to the terminal, then the control character will be dispatched. + */ +hterm.VT.prototype.parseUnknown_ = function(parseState) { + var self = this; + + function print(str) { + if (!self.codingSystemUtf8_ && self[self.GL].GL) + str = self[self.GL].GL(str); + + self.terminal.print(str); + }; + + // Search for the next contiguous block of plain text. + var buf = parseState.peekRemainingBuf(); + var nextControl = buf.search(this.cc1Pattern_); + + if (nextControl == 0) { + // We've stumbled right into a control character. + this.dispatch('CC1', buf.substr(0, 1), parseState); + parseState.advance(1); + return; + } + + if (nextControl == -1) { + // There are no control characters in this string. + print(buf); + parseState.reset(); + return; + } + + print(buf.substr(0, nextControl)); + this.dispatch('CC1', buf.substr(nextControl, 1), parseState); + parseState.advance(nextControl + 1); +}; + +/** + * Parse a Control Sequence Introducer code and dispatch it. + * + * See [CSI] for some useful information about these codes. + */ +hterm.VT.prototype.parseCSI_ = function(parseState) { + var ch = parseState.peekChar(); + var args = parseState.args; + + if (ch >= '@' && ch <= '~') { + // This is the final character. + this.dispatch('CSI', this.leadingModifier_ + this.trailingModifier_ + ch, + parseState); + parseState.resetParseFunction(); + + } else if (ch == ';') { + // Parameter delimiter. + if (this.trailingModifier_) { + // Parameter delimiter after the trailing modifier. That's a paddlin'. + parseState.resetParseFunction(); + + } else { + if (!args.length) { + // They omitted the first param, we need to supply it. + args.push(''); + } + + args.push(''); + } + + } else if (ch >= '0' && ch <= '9') { + // Next byte in the current parameter. + + if (this.trailingModifier_) { + // Numeric parameter after the trailing modifier. That's a paddlin'. + parseState.resetParseFunction(); + } else { + if (!args.length) { + args[0] = ch; + } else { + args[args.length - 1] += ch; + } + } + + } else if (ch >= ' ' && ch <= '?' && ch != ':') { + // Modifier character. + if (!args.length) { + this.leadingModifier_ += ch; + } else { + this.trailingModifier_ += ch; + } + + } else if (this.cc1Pattern_.test(ch)) { + // Control character. + this.dispatch('CC1', ch, parseState); + + } else { + // Unexpected character in sequence, bail out. + parseState.resetParseFunction(); + } + + parseState.advance(1); +}; + +/** + * Skip over the string until the next String Terminator (ST, 'ESC \') or + * Bell (BEL, '\x07'). + * + * The string is accumulated in parseState.args[0]. Make sure to reset the + * arguments (with parseState.resetArguments) before starting the parse. + * + * You can detect that parsing in complete by checking that the parse + * function has changed back to the default parse function. + * + * If we encounter more than maxStringSequence characters, we send back + * the unterminated sequence to be re-parsed with the default parser function. + * + * @return {boolean} If true, parsing is ongoing or complete. If false, we've + * exceeded the max string sequence. + */ +hterm.VT.prototype.parseUntilStringTerminator_ = function(parseState) { + var buf = parseState.peekRemainingBuf(); + var nextTerminator = buf.search(/(\x1b\\|\x07)/); + var args = parseState.args; + + if (!args.length) { + args[0] = ''; + args[1] = new Date(); + } + + if (nextTerminator == -1) { + // No terminator here, have to wait for the next string. + + args[0] += buf; + + var abortReason; + + if (args[0].length > this.maxStringSequence) + abortReason = 'too long: ' + args[0].length; + + if (args[0].indexOf('\x1b') != -1) + abortReason = 'embedded escape: ' + args[0].indexOf('\x1b'); + + if (new Date() - args[1] > this.oscTimeLimit_) + abortReason = 'timeout expired: ' + new Date() - args[1]; + + if (abortReason) { + console.log('parseUntilStringTerminator_: aborting: ' + abortReason, + args[0]); + parseState.reset(args[0]); + return false; + } + + parseState.advance(buf.length); + return true; + } + + if (args[0].length + nextTerminator > this.maxStringSequence) { + // We found the end of the sequence, but we still think it's too long. + parseState.reset(args[0] + buf); + return false; + } + + args[0] += buf.substr(0, nextTerminator); + + parseState.resetParseFunction(); + parseState.advance(nextTerminator + + (buf.substr(nextTerminator, 1) == '\x1b' ? 2 : 1)); + + return true; +}; + +/** + * Dispatch to the function that handles a given CC1, ESC, or CSI or VT52 code. + */ +hterm.VT.prototype.dispatch = function(type, code, parseState) { + var handler = hterm.VT[type][code]; + if (!handler) { + if (this.warnUnimplemented) + console.warn('Unknown ' + type + ' code: ' + JSON.stringify(code)); + return; + } + + if (handler == hterm.VT.ignore) { + if (this.warnUnimplemented) + console.warn('Ignored ' + type + ' code: ' + JSON.stringify(code)); + return; + } + + if (type == 'CC1' && code > '\x7f' && !this.enable8BitControl) { + // It's kind of a hack to put this here, but... + // + // If we're dispatching a 'CC1' code, and it's got the eighth bit set, + // but we're not supposed to handle 8-bit codes? Just ignore it. + // + // This prevents an errant (DCS, '\x90'), (OSC, '\x9d'), (PM, '\x9e') or + // (APC, '\x9f') from locking up the terminal waiting for its expected + // (ST, '\x9c') or (BEL, '\x07'). + console.warn('Ignoring 8-bit control code: 0x' + + code.charCodeAt(0).toString(16)); + return; + } + + handler.apply(this, [parseState, code]); +}; + +/** + * Set one of the ANSI defined terminal mode bits. + * + * Invoked in response to SM/RM. + * + * Unexpected and unimplemented values are silently ignored. + */ +hterm.VT.prototype.setANSIMode = function(code, state) { + if (code == 4) { // Insert Mode (IRM) + this.terminal.setInsertMode(state); + } else if (code == 20) { // Automatic Newline (LNM) + this.terminal.setAutoCarriageReturn(state); + } else if (this.warnUnimplemented) { + console.warn('Unimplemented ANSI Mode: ' + code); + } +}; + +/** + * Set or reset one of the DEC Private modes. + * + * Invoked in response to DECSET/DECRST. + */ +hterm.VT.prototype.setDECMode = function(code, state) { + switch (parseInt(code, 10)) { + case 1: // DECCKM + this.terminal.keyboard.applicationCursor = state; + break; + + case 3: // DECCOLM + if (this.allowColumnWidthChanges_) { + this.terminal.setWidth(state ? 132 : 80); + + this.terminal.clearHome(); + this.terminal.setVTScrollRegion(null, null); + } + break; + + case 5: // DECSCNM + this.terminal.setReverseVideo(state); + break; + + case 6: // DECOM + this.terminal.setOriginMode(state); + break; + + case 7: // DECAWM + this.terminal.setWraparound(state); + break; + + case 12: // Start blinking cursor + if (this.enableDec12) + this.terminal.setCursorBlink(state); + break; + + case 25: // DECTCEM + this.terminal.setCursorVisible(state); + break; + + case 30: // Show scrollbar + this.terminal.setScrollbarVisible(state); + break; + + case 40: // Allow 80 - 132 (DECCOLM) Mode + this.terminal.allowColumnWidthChanges_ = state; + break; + + case 45: // Reverse-wraparound Mode + this.terminal.setReverseWraparound(state); + break; + + case 67: // Backarrow key sends backspace (DECBKM) + this.terminal.keyboard.backspaceSendsBackspace = state; + break; + + case 1000: // Report on mouse clicks only. + this.mouseReport = ( + state ? this.MOUSE_REPORT_CLICK : this.MOUSE_REPORT_DISABLED); + this.terminal.syncMouseStyle(); + break; + + case 1002: // Report on mouse clicks and drags + this.mouseReport = ( + state ? this.MOUSE_REPORT_DRAG : this.MOUSE_REPORT_DISABLED); + this.terminal.syncMouseStyle(); + break; + + case 1010: // Scroll to bottom on tty output + this.terminal.scrollOnOutput = state; + break; + + case 1011: // Scroll to bottom on key press + this.terminal.scrollOnKeystroke = state; + break; + + case 1036: // Send ESC when Meta modifies a key + this.terminal.keyboard.metaSendsEscape = state; + break; + + case 1039: // Send ESC when Alt modifies a key + if (state) { + if (!this.terminal.keyboard.previousAltSendsWhat_) { + this.terminal.keyboard.previousAltSendsWhat_ = + this.terminal.keyboard.altSendsWhat; + this.terminal.keyboard.altSendsWhat = 'escape'; + } + } else if (this.terminal.keyboard.previousAltSendsWhat_) { + this.terminal.keyboard.altSendsWhat = + this.terminal.keyboard.previousAltSendsWhat_; + this.terminal.keyboard.previousAltSendsWhat_ = null; + } + break; + + case 47: // Use Alternate Screen Buffer + case 1047: + this.terminal.setAlternateMode(state); + break; + + case 1048: // Save cursor as in DECSC. + this.savedState_.save(); + + case 1049: // 1047 + 1048 + clear. + if (state) { + this.savedState_.save(); + this.terminal.setAlternateMode(state); + this.terminal.clear(); + } else { + this.terminal.setAlternateMode(state); + this.savedState_.restore(); + } + + break; + + case 2004: // Bracketed paste mode. + this.terminal.setBracketedPaste(state); + break; + + default: + if (this.warnUnimplemented) + console.warn('Unimplemented DEC Private Mode: ' + code); + break; + } +}; + +/** + * Function shared by control characters and escape sequences that are + * ignored. + */ +hterm.VT.ignore = function() {}; + +/** + * Collection of control characters expressed in a single byte. + * + * This includes the characters from the C0 and C1 sets (see [CTRL]) that we + * care about. Two byte versions of the C1 codes are defined in the + * hterm.VT.ESC collection. + * + * The 'CC1' mnemonic here refers to the fact that these are one-byte Control + * Codes. It's only used in this source file and not defined in any of the + * referenced documents. + */ +hterm.VT.CC1 = {}; + +/** + * Collection of two-byte and three-byte sequences starting with ESC. + */ +hterm.VT.ESC = {}; + +/** + * Collection of CSI (Control Sequence Introducer) sequences. + * + * These sequences begin with 'ESC [', and may take zero or more arguments. + */ +hterm.VT.CSI = {}; + +/** + * Collection of OSC (Operating System Control) sequences. + * + * These sequences begin with 'ESC ]', followed by a function number and a + * string terminated by either ST or BEL. + */ +hterm.VT.OSC = {}; + +/** + * Collection of VT52 sequences. + * + * When in VT52 mode, other sequences are disabled. + */ +hterm.VT.VT52 = {}; + +/** + * Null (NUL). + * + * Silently ignored. + */ +hterm.VT.CC1['\x00'] = hterm.VT.ignore; + +/** + * Enquiry (ENQ). + * + * Transmit answerback message. + * + * The default answerback message in xterm is an empty string, so we just + * ignore this. + */ +hterm.VT.CC1['\x05'] = hterm.VT.ignore; + +/** + * Ring Bell (BEL). + */ +hterm.VT.CC1['\x07'] = function() { + this.terminal.ringBell(); +}; + +/** + * Backspace (BS). + * + * Move the cursor to the left one character position, unless it is at the + * left margin, in which case no action occurs. + */ +hterm.VT.CC1['\x08'] = function() { + this.terminal.cursorLeft(1); +}; + +/** + * Horizontal Tab (HT). + * + * Move the cursor to the next tab stop, or to the right margin if no further + * tab stops are present on the line. + */ +hterm.VT.CC1['\x09'] = function() { + this.terminal.forwardTabStop(); +}; + +/** + * Line Feed (LF). + * + * This code causes a line feed or a new line operation. See Automatic + * Newline (LNM). + */ +hterm.VT.CC1['\x0a'] = function() { + this.terminal.formFeed(); +}; + +/** + * Vertical Tab (VT). + * + * Interpreted as LF. + */ +hterm.VT.CC1['\x0b'] = hterm.VT.CC1['\x0a']; + +/** + * Form Feed (FF). + * + * Interpreted as LF. + */ +hterm.VT.CC1['\x0c'] = hterm.VT.CC1['\x0a']; + +/** + * Carriage Return (CR). + * + * Move cursor to the left margin on the current line. + */ +hterm.VT.CC1['\x0d'] = function() { + this.terminal.setCursorColumn(0); +}; + +/** + * Shift Out (SO), aka Lock Shift 0 (LS1). + * + * Invoke G1 character set in GL. + */ +hterm.VT.CC1['\x0e'] = function() { + this.GL = 'G1'; +}; + +/** + * Shift In (SI), aka Lock Shift 0 (LS0). + * + * Invoke G0 character set in GL. + */ +hterm.VT.CC1['\x0f'] = function() { + this.GL = 'G0'; +}; + +/** + * Transmit On (XON). + * + * Not currently implemented. + * + * TODO(rginda): Implement? + */ +hterm.VT.CC1['\x11'] = hterm.VT.ignore; + +/** + * Transmit Off (XOFF). + * + * Not currently implemented. + * + * TODO(rginda): Implement? + */ +hterm.VT.CC1['\x13'] = hterm.VT.ignore; + +/** + * Cancel (CAN). + * + * If sent during a control sequence, the sequence is immediately terminated + * and not executed. + * + * It also causes the error character to be displayed. + */ +hterm.VT.CC1['\x18'] = function(parseState) { + // If we've shifted in the G1 character set, shift it back out to + // the default character set. + if (this.GL == 'G1') { + this.GL = 'G0'; + } + parseState.resetParseFunction(); + this.terminal.print('?'); +}; + +/** + * Substitute (SUB). + * + * Interpreted as CAN. + */ +hterm.VT.CC1['\x1a'] = hterm.VT.CC1['\x18']; + +/** + * Escape (ESC). + */ +hterm.VT.CC1['\x1b'] = function(parseState) { + function parseESC(parseState) { + var ch = parseState.consumeChar(); + + if (ch == '\x1b') + return; + + this.dispatch('ESC', ch, parseState); + + if (parseState.func == parseESC) + parseState.resetParseFunction(); + }; + + parseState.func = parseESC; +}; + +/** + * Delete (DEL). + */ +hterm.VT.CC1['\x7f'] = hterm.VT.ignore; + +// 8 bit control characters and their two byte equivalents, below... + +/** + * Index (IND). + * + * Like newline, only keep the X position + */ +hterm.VT.CC1['\x84'] = +hterm.VT.ESC['D'] = function() { + this.terminal.lineFeed(); +}; + +/** + * Next Line (NEL). + * + * Like newline, but doesn't add lines. + */ +hterm.VT.CC1['\x85'] = +hterm.VT.ESC['E'] = function() { + this.terminal.setCursorColumn(0); + this.terminal.cursorDown(1); +}; + +/** + * Horizontal Tabulation Set (HTS). + */ +hterm.VT.CC1['\x88'] = +hterm.VT.ESC['H'] = function() { + this.terminal.setTabStop(this.terminal.getCursorColumn()); +}; + +/** + * Reverse Index (RI). + * + * Move up one line. + */ +hterm.VT.CC1['\x8d'] = +hterm.VT.ESC['M'] = function() { + this.terminal.reverseLineFeed(); +}; + +/** + * Single Shift 2 (SS2). + * + * Select of G2 Character Set for the next character only. + * + * Not currently implemented. + */ +hterm.VT.CC1['\x8e'] = +hterm.VT.ESC['N'] = hterm.VT.ignore; + +/** + * Single Shift 3 (SS3). + * + * Select of G3 Character Set for the next character only. + * + * Not currently implemented. + */ +hterm.VT.CC1['\x8f'] = +hterm.VT.ESC['O'] = hterm.VT.ignore; + +/** + * Device Control String (DCS). + * + * Indicate a DCS sequence. See Device-Control functions in [XTERM]. + * Not currently implemented. + * + * TODO(rginda): Consider implementing DECRQSS, the rest don't seem applicable. + */ +hterm.VT.CC1['\x90'] = +hterm.VT.ESC['P'] = function(parseState) { + parseState.resetArguments(); + parseState.func = this.parseUntilStringTerminator_; +}; + +/** + * Start of Guarded Area (SPA). + * + * Will not implement. + */ +hterm.VT.CC1['\x96'] = +hterm.VT.ESC['V'] = hterm.VT.ignore; + +/** + * End of Guarded Area (EPA). + * + * Will not implement. + */ +hterm.VT.CC1['\x97'] = +hterm.VT.ESC['W'] = hterm.VT.ignore; + +/** + * Start of String (SOS). + * + * Will not implement. + */ +hterm.VT.CC1['\x98'] = +hterm.VT.ESC['X'] = hterm.VT.ignore; + +/** + * Single Character Introducer (SCI, also DECID). + * + * Return Terminal ID. Obsolete form of 'ESC [ c' (DA). + */ +hterm.VT.CC1['\x9a'] = +hterm.VT.ESC['Z'] = function() { + this.terminal.io.sendString('\x1b[?1;2c'); +}; + +/** + * Control Sequence Introducer (CSI). + * + * The lead into most escape sequences. See [CSI]. + */ +hterm.VT.CC1['\x9b'] = +hterm.VT.ESC['['] = function(parseState) { + parseState.resetArguments(); + this.leadingModifier_ = ''; + this.trailingModifier_ = ''; + parseState.func = this.parseCSI_; +}; + +/** + * String Terminator (ST). + * + * Used to terminate DCS/OSC/PM/APC commands which may take string arguments. + * + * We don't directly handle it here, as it's only used to terminate other + * sequences. See the 'parseUntilStringTerminator_' method. + */ +hterm.VT.CC1['\x9c'] = +hterm.VT.ESC['\\'] = hterm.VT.ignore; + +/** + * Operating System Command (OSC). + * + * Commands relating to the operating system. + */ +hterm.VT.CC1['\x9d'] = +hterm.VT.ESC[']'] = function(parseState) { + parseState.resetArguments(); + + function parseOSC(parseState) { + if (!this.parseUntilStringTerminator_(parseState)) { + // The string sequence was too long. + return; + } + + if (parseState.func == parseOSC) { + // We're not done parsing the string yet. + return; + } + + // We're done. + var ary = parseState.args[0].match(/^(\d+);(.*)$/); + if (ary) { + parseState.args[0] = ary[2]; + this.dispatch('OSC', ary[1], parseState); + } else { + console.warn('Invalid OSC: ' + JSON.stringify(parseState.args[0])); + } + }; + + parseState.func = parseOSC; +}; + +/** + * Privacy Message (PM). + * + * Will not implement. + */ +hterm.VT.CC1['\x9e'] = +hterm.VT.ESC['^'] = function(parseState) { + parseState.resetArguments(); + parseState.func = this.parseUntilStringTerminator_; +}; + +/** + * Application Program Control (APC). + * + * Will not implement. + */ +hterm.VT.CC1['\x9f'] = +hterm.VT.ESC['_'] = function(parseState) { + parseState.resetArguments(); + parseState.func = this.parseUntilStringTerminator_; +}; + +/** + * ESC \x20 - Unclear to me where these originated, possibly in xterm. + * + * Not currently implemented: + * ESC \x20 F - Select 7 bit escape codes in responses (S7C1T). + * ESC \x20 G - Select 8 bit escape codes in responses (S8C1T). + * NB: We currently assume S7C1T always. + * + * Will not implement: + * ESC \x20 L - Set ANSI conformance level 1. + * ESC \x20 M - Set ANSI conformance level 2. + * ESC \x20 N - Set ANSI conformance level 3. + */ +hterm.VT.ESC['\x20'] = function(parseState) { + parseState.func = function(parseState) { + var ch = parseState.consumeChar(); + if (this.warnUnimplemented) + console.warn('Unimplemented sequence: ESC 0x20 ' + ch); + parseState.resetParseFunction(); + }; +}; + +/** + * DEC 'ESC #' sequences. + */ +hterm.VT.ESC['#'] = function(parseState) { + parseState.func = function(parseState) { + var ch = parseState.consumeChar(); + if (ch == '8') // DEC Screen Alignment Test (DECALN) + this.terminal.fill('E'); + + parseState.resetParseFunction(); + }; +}; + +/** + * Designate Other Coding System (DOCS). + */ +hterm.VT.ESC['%'] = function(parseState) { + parseState.func = function(parseState) { + var ch = parseState.consumeChar(); + + // If we've locked the encoding, then just eat the bytes and return. + if (this.codingSystemLocked_) { + if (ch == '/') + parseState.consumeChar(); + parseState.resetParseFunction(); + return; + } + + // Process the encoding requests. + switch (ch) { + case '@': + // Switch to ECMA 35. + this.setEncoding('iso-2022'); + break; + + case 'G': + // Switch to UTF-8. + this.setEncoding('utf-8'); + break; + + case '/': + // One way transition to something else. + ch = parseState.consumeChar(); + switch (ch) { + case 'G': // UTF-8 Level 1. + case 'H': // UTF-8 Level 2. + case 'I': // UTF-8 Level 3. + // We treat all UTF-8 levels the same. + this.setEncoding('utf-8-locked'); + break; + + default: + if (this.warnUnimplemented) + console.warn('Unknown ESC % / argument: ' + JSON.stringify(ch)); + break; + } + break; + + default: + if (this.warnUnimplemented) + console.warn('Unknown ESC % argument: ' + JSON.stringify(ch)); + break; + } + + parseState.resetParseFunction(); + }; +}; + +/** + * Character Set Selection (SCS). + * + * ESC ( Ps - Set G0 character set (VT100). + * ESC ) Ps - Set G1 character set (VT220). + * ESC * Ps - Set G2 character set (VT220). + * ESC + Ps - Set G3 character set (VT220). + * ESC - Ps - Set G1 character set (VT300). + * ESC . Ps - Set G2 character set (VT300). + * ESC / Ps - Set G3 character set (VT300). + * + * All other sequences are echoed to the terminal. + */ +hterm.VT.ESC['('] = +hterm.VT.ESC[')'] = +hterm.VT.ESC['*'] = +hterm.VT.ESC['+'] = +hterm.VT.ESC['-'] = +hterm.VT.ESC['.'] = +hterm.VT.ESC['/'] = function(parseState, code) { + parseState.func = function(parseState) { + var ch = parseState.consumeChar(); + if (ch == '\x1b') { + parseState.resetParseFunction(); + parseState.func(); + return; + } + + var map = this.characterMaps.getMap(ch); + if (map !== undefined) { + if (code == '(') { + this.G0 = map; + } else if (code == ')' || code == '-') { + this.G1 = map; + } else if (code == '*' || code == '.') { + this.G2 = map; + } else if (code == '+' || code == '/') { + this.G3 = map; + } + } else if (this.warnUnimplemented) { + console.log('Invalid character set for "' + code + '": ' + ch); + } + + parseState.resetParseFunction(); + }; +}; + +/** + * Back Index (DECBI). + * + * VT420 and up. Not currently implemented. + */ +hterm.VT.ESC['6'] = hterm.VT.ignore; + +/** + * Save Cursor (DECSC). + */ +hterm.VT.ESC['7'] = function() { + this.savedState_.save(); +}; + +/** + * Restore Cursor (DECRC). + */ +hterm.VT.ESC['8'] = function() { + this.savedState_.restore(); +}; + +/** + * Forward Index (DECFI). + * + * VT210 and up. Not currently implemented. + */ +hterm.VT.ESC['9'] = hterm.VT.ignore; + +/** + * Application keypad (DECKPAM). + */ +hterm.VT.ESC['='] = function() { + this.terminal.keyboard.applicationKeypad = true; +}; + +/** + * Normal keypad (DECKPNM). + */ +hterm.VT.ESC['>'] = function() { + this.terminal.keyboard.applicationKeypad = false; +}; + +/** + * Cursor to lower left corner of screen. + * + * Will not implement. + * + * This is only recognized by xterm when the hpLowerleftBugCompat resource is + * set. + */ +hterm.VT.ESC['F'] = hterm.VT.ignore; + +/** + * Full Reset (RIS). + */ +hterm.VT.ESC['c'] = function() { + this.reset(); + this.terminal.reset(); +}; + +/** + * Memory lock/unlock. + * + * Will not implement. + */ +hterm.VT.ESC['l'] = +hterm.VT.ESC['m'] = hterm.VT.ignore; + +/** + * Lock Shift 2 (LS2) + * + * Invoke the G2 Character Set as GL. + */ +hterm.VT.ESC['n'] = function() { + this.GL = 'G2'; +}; + +/** + * Lock Shift 3 (LS3) + * + * Invoke the G3 Character Set as GL. + */ +hterm.VT.ESC['o'] = function() { + this.GL = 'G3'; +}; + +/** + * Lock Shift 2, Right (LS3R) + * + * Invoke the G3 Character Set as GR. + */ +hterm.VT.ESC['|'] = function() { + this.GR = 'G3'; +}; + +/** + * Lock Shift 2, Right (LS2R) + * + * Invoke the G2 Character Set as GR. + */ +hterm.VT.ESC['}'] = function() { + this.GR = 'G2'; +}; + +/** + * Lock Shift 1, Right (LS1R) + * + * Invoke the G1 Character Set as GR. + */ +hterm.VT.ESC['~'] = function() { + this.GR = 'G1'; +}; + +/** + * Change icon name and window title. + * + * We only change the window title. + */ +hterm.VT.OSC['0'] = function(parseState) { + this.terminal.setWindowTitle(parseState.args[0]); +}; + +/** + * Change window title. + */ +hterm.VT.OSC['2'] = hterm.VT.OSC['0']; + +/** + * Set/read color palette. + */ +hterm.VT.OSC['4'] = function(parseState) { + // Args come in as a single 'index1;rgb1 ... ;indexN;rgbN' string. + // We split on the semicolon and iterate through the pairs. + var args = parseState.args[0].split(';'); + + var pairCount = parseInt(args.length / 2); + var colorPalette = this.terminal.getTextAttributes().colorPalette; + var responseArray = []; + + for (var pairNumber = 0; pairNumber < pairCount; ++pairNumber) { + var colorIndex = parseInt(args[pairNumber * 2]); + var colorValue = args[pairNumber * 2 + 1]; + + if (colorIndex >= colorPalette.length) + continue; + + if (colorValue == '?') { + // '?' means we should report back the current color value. + colorValue = lib.colors.rgbToX11(colorPalette[colorIndex]); + if (colorValue) + responseArray.push(colorIndex + ';' + colorValue); + + continue; + } + + colorValue = lib.colors.x11ToCSS(colorValue); + if (colorValue) + colorPalette[colorIndex] = colorValue; + } + + if (responseArray.length) + this.terminal.io.sendString('\x1b]4;' + responseArray.join(';') + '\x07'); +}; + +/** + * iTerm2 growl notifications. + */ +hterm.VT.OSC['9'] = function(parseState) { + // This just dumps the entire string as the message. + hterm.notify({'body': parseState.args[0]}); +}; + +/** + * Change VT100 text foreground color. + */ +hterm.VT.OSC['10'] = function(parseState) { + // Args come in as a single string, but extra args will chain to the following + // OSC sequences. + var args = parseState.args[0].split(';'); + if (!args) + return; + + var colorArg; + var colorX11 = lib.colors.x11ToCSS(args.shift()); + if (colorX11) + this.terminal.setForegroundColor(colorX11); + + if (args.length > 0) { + parseState.args[0] = args.join(';'); + hterm.VT.OSC['11'].apply(this, [parseState]); + } +}; + +/** + * Change VT100 text background color. + */ +hterm.VT.OSC['11'] = function(parseState) { + // Args come in as a single string, but extra args will chain to the following + // OSC sequences. + var args = parseState.args[0].split(';'); + if (!args) + return; + + var colorArg; + var colorX11 = lib.colors.x11ToCSS(args.shift()); + if (colorX11) + this.terminal.setBackgroundColor(colorX11); + + /* Note: If we support OSC 12+, we'd chain it here. + if (args.length > 0) { + parseState.args[0] = args.join(';'); + hterm.VT.OSC['12'].apply(this, [parseState]); + } + */ +}; + +/** + * Set the cursor shape. + * + * Parameter is expected to be in the form "CursorShape=number", where number is + * one of: + * + * 0 - Block + * 1 - I-Beam + * 2 - Underline + * + * This is a bit of a de-facto standard supported by iTerm 2 and Konsole. See + * also: DECSCUSR. + * + * Invalid numbers will restore the cursor to the block shape. + */ +hterm.VT.OSC['50'] = function(parseState) { + var args = parseState.args[0].match(/CursorShape=(.)/i); + if (!args) { + console.warn('Could not parse OSC 50 args: ' + parseState.args[0]); + return; + } + + switch (args[1]) { + case '1': // CursorShape=1: I-Beam. + this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM); + break; + + case '2': // CursorShape=2: Underline. + this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE); + break; + + default: // CursorShape=0: Block. + this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK); + } +}; + +/** + * Set/read system clipboard. + * + * Read is not implemented due to security considerations. A remote app + * that is able to both write and read to the clipboard could essentially + * take over your session. + * + * The clipboard data will be decoded according to the 'receive-encoding' + * preference. + */ +hterm.VT.OSC['52'] = function(parseState) { + // Args come in as a single 'clipboard;b64-data' string. The clipboard + // parameter is used to select which of the X clipboards to address. Since + // we're not integrating with X, we treat them all the same. + var args = parseState.args[0].match(/^[cps01234567]*;(.*)/); + if (!args) + return; + + var data = window.atob(args[1]); + if (data) + this.terminal.copyStringToClipboard(this.decode(data)); +}; + +/** + * URxvt perl modules. + * + * This is the escape system used by rxvt-unicode and its perl modules. + * Obviously we don't support perl or custom modules, so we list a few common + * ones that we find useful. + * + * Technically there is no format here, but most modules obey: + * ; + */ +hterm.VT.OSC['777'] = function(parseState) { + var ary; + var urxvtMod = parseState.args[0].split(';', 1)[0]; + + switch (urxvtMod) { + case 'notify': + // Format: + // notify;title;message + var title, message; + ary = parseState.args[0].match(/^[^;]+;([^;]*)(;([\s\S]*))?$/); + if (ary) { + title = ary[1]; + message = ary[3]; + } + hterm.notify({'title': title, 'body': message}); + break; + + default: + console.warn('Unknown urxvt module: ' + parseState.args[0]); + break; + } +}; + +/** + * Insert (blank) characters (ICH). + */ +hterm.VT.CSI['@'] = function(parseState) { + this.terminal.insertSpace(parseState.iarg(0, 1)); +}; + +/** + * Cursor Up (CUU). + */ +hterm.VT.CSI['A'] = function(parseState) { + this.terminal.cursorUp(parseState.iarg(0, 1)); +}; + +/** + * Cursor Down (CUD). + */ +hterm.VT.CSI['B'] = function(parseState) { + this.terminal.cursorDown(parseState.iarg(0, 1)); +}; + +/** + * Cursor Forward (CUF). + */ +hterm.VT.CSI['C'] = function(parseState) { + this.terminal.cursorRight(parseState.iarg(0, 1)); +}; + +/** + * Cursor Backward (CUB). + */ +hterm.VT.CSI['D'] = function(parseState) { + this.terminal.cursorLeft(parseState.iarg(0, 1)); +}; + +/** + * Cursor Next Line (CNL). + * + * This is like Cursor Down, except the cursor moves to the beginning of the + * line as well. + */ +hterm.VT.CSI['E'] = function(parseState) { + this.terminal.cursorDown(parseState.iarg(0, 1)); + this.terminal.setCursorColumn(0); +}; + +/** + * Cursor Preceding Line (CPL). + * + * This is like Cursor Up, except the cursor moves to the beginning of the + * line as well. + */ +hterm.VT.CSI['F'] = function(parseState) { + this.terminal.cursorUp(parseState.iarg(0, 1)); + this.terminal.setCursorColumn(0); +}; + +/** + * Cursor Character Absolute (CHA). + */ +hterm.VT.CSI['G'] = function(parseState) { + this.terminal.setCursorColumn(parseState.iarg(0, 1) - 1); +}; + +/** + * Cursor Position (CUP). + */ +hterm.VT.CSI['H'] = function(parseState) { + this.terminal.setCursorPosition(parseState.iarg(0, 1) - 1, + parseState.iarg(1, 1) - 1); +}; + +/** + * Cursor Forward Tabulation (CHT). + */ +hterm.VT.CSI['I'] = function(parseState) { + var count = parseState.iarg(0, 1); + count = lib.f.clamp(count, 1, this.terminal.screenSize.width); + for (var i = 0; i < count; i++) { + this.terminal.forwardTabStop(); + } +}; + +/** + * Erase in Display (ED, DECSED). + */ +hterm.VT.CSI['J'] = +hterm.VT.CSI['?J'] = function(parseState, code) { + var arg = parseState.args[0]; + + if (!arg || arg == 0) { + this.terminal.eraseBelow(); + } else if (arg == 1) { + this.terminal.eraseAbove(); + } else if (arg == 2) { + this.terminal.clear(); + } else if (arg == 3) { + // The xterm docs say this means "Erase saved lines", but we'll just clear + // the display since killing the scrollback seems rude. + this.terminal.clear(); + } +}; + +/** + * Erase in line (EL, DECSEL). + */ +hterm.VT.CSI['K'] = +hterm.VT.CSI['?K'] = function(parseState, code) { + var arg = parseState.args[0]; + + if (!arg || arg == 0) { + this.terminal.eraseToRight(); + } else if (arg == 1) { + this.terminal.eraseToLeft(); + } else if (arg == 2) { + this.terminal.eraseLine(); + } +}; + +/** + * Insert Lines (IL). + */ +hterm.VT.CSI['L'] = function(parseState) { + this.terminal.insertLines(parseState.iarg(0, 1)); +}; + +/** + * Delete Lines (DL). + */ +hterm.VT.CSI['M'] = function(parseState) { + this.terminal.deleteLines(parseState.iarg(0, 1)); +}; + +/** + * Delete Characters (DCH). + * + * This command shifts the line contents left, starting at the cursor position. + */ +hterm.VT.CSI['P'] = function(parseState) { + this.terminal.deleteChars(parseState.iarg(0, 1)); +}; + +/** + * Scroll Up (SU). + */ +hterm.VT.CSI['S'] = function(parseState) { + this.terminal.vtScrollUp(parseState.iarg(0, 1)); +}; + +/** + * Scroll Down (SD). + * Also 'Initiate highlight mouse tracking'. Will not implement this part. + */ +hterm.VT.CSI['T'] = function(parseState) { + if (parseState.args.length <= 1) + this.terminal.vtScrollDown(parseState.iarg(0, 1)); +}; + +/** + * Reset one or more features of the title modes to the default value. + * + * ESC [ > Ps T + * + * Normally, "reset" disables the feature. It is possible to disable the + * ability to reset features by compiling a different default for the title + * modes into xterm. + * + * Ps values: + * 0 - Do not set window/icon labels using hexadecimal. + * 1 - Do not query window/icon labels using hexadecimal. + * 2 - Do not set window/icon labels using UTF-8. + * 3 - Do not query window/icon labels using UTF-8. + * + * Will not implement. + */ +hterm.VT.CSI['>T'] = hterm.VT.ignore; + +/** + * Erase Characters (ECH). + */ +hterm.VT.CSI['X'] = function(parseState) { + this.terminal.eraseToRight(parseState.iarg(0, 1)); +}; + +/** + * Cursor Backward Tabulation (CBT). + */ +hterm.VT.CSI['Z'] = function(parseState) { + var count = parseState.iarg(0, 1); + count = lib.f.clamp(count, 1, this.terminal.screenSize.width); + for (var i = 0; i < count; i++) { + this.terminal.backwardTabStop(); + } +}; + +/** + * Character Position Absolute (HPA). + * + * Same as Cursor Character Absolute (CHA). + */ +hterm.VT.CSI['`'] = hterm.VT.CSI['G']; + +/** + * Character Position Relative (HPR). + */ +hterm.VT.CSI['a'] = function(parseState) { + this.terminal.setCursorColumn(this.terminal.getCursorColumn() + + parseState.iarg(0, 1)); +}; + +/** + * Repeat the preceding graphic character. + * + * Not currently implemented. + */ +hterm.VT.CSI['b'] = hterm.VT.ignore; + +/** + * Send Device Attributes (Primary DA). + * + * TODO(rginda): This is hardcoded to send back 'VT100 with Advanced Video + * Option', but it may be more correct to send a VT220 response once + * we fill out the 'Not currently implemented' parts. + */ +hterm.VT.CSI['c'] = function(parseState) { + if (!parseState.args[0] || parseState.args[0] == 0) { + this.terminal.io.sendString('\x1b[?1;2c'); + } +}; + +/** + * Send Device Attributes (Secondary DA). + * + * TODO(rginda): This is hardcoded to send back 'VT100' but it may be more + * correct to send a VT220 response once we fill out more 'Not currently + * implemented' parts. + */ +hterm.VT.CSI['>c'] = function(parseState) { + this.terminal.io.sendString('\x1b[>0;256;0c'); +}; + +/** + * Line Position Absolute (VPA). + */ +hterm.VT.CSI['d'] = function(parseState) { + this.terminal.setAbsoluteCursorRow(parseState.iarg(0, 1) - 1); +}; + +/** + * Horizontal and Vertical Position (HVP). + * + * Same as Cursor Position (CUP). + */ +hterm.VT.CSI['f'] = hterm.VT.CSI['H']; + +/** + * Tab Clear (TBC). + */ +hterm.VT.CSI['g'] = function(parseState) { + if (!parseState.args[0] || parseState.args[0] == 0) { + // Clear tab stop at cursor. + this.terminal.clearTabStopAtCursor(false); + } else if (parseState.args[0] == 3) { + // Clear all tab stops. + this.terminal.clearAllTabStops(); + } +}; + +/** + * Set Mode (SM). + */ +hterm.VT.CSI['h'] = function(parseState) { + for (var i = 0; i < parseState.args.length; i++) { + this.setANSIMode(parseState.args[i], true); + } +}; + +/** + * DEC Private Mode Set (DECSET). + */ +hterm.VT.CSI['?h'] = function(parseState) { + for (var i = 0; i < parseState.args.length; i++) { + this.setDECMode(parseState.args[i], true); + } +}; + +/** + * Media Copy (MC). + * Media Copy (MC, DEC Specific). + * + * These commands control the printer. Will not implement. + */ +hterm.VT.CSI['i'] = +hterm.VT.CSI['?i'] = hterm.VT.ignore; + +/** + * Reset Mode (RM). + */ +hterm.VT.CSI['l'] = function(parseState) { + for (var i = 0; i < parseState.args.length; i++) { + this.setANSIMode(parseState.args[i], false); + } +}; + +/** + * DEC Private Mode Reset (DECRST). + */ +hterm.VT.CSI['?l'] = function(parseState) { + for (var i = 0; i < parseState.args.length; i++) { + this.setDECMode(parseState.args[i], false); + } +}; + +/** + * Character Attributes (SGR). + * + * Iterate through the list of arguments, applying the attribute changes based + * on the argument value... + */ +hterm.VT.CSI['m'] = function(parseState) { + function get256(i) { + if (parseState.args.length < i + 2 || parseState.args[i + 1] != 5) + return null; + + return parseState.iarg(i + 2, 0); + } + + function getTrueColor(i) { + if (parseState.args.length < i + 5 || parseState.args[i + 1] != 2) + return null; + var r = parseState.iarg(i + 2, 0); + var g = parseState.iarg(i + 3, 0); + var b = parseState.iarg(i + 4, 0); + + return 'rgb(' + r + ' ,' + g + ' ,' + b + ')'; + } + + var attrs = this.terminal.getTextAttributes(); + + if (!parseState.args.length) { + attrs.reset(); + return; + } + + for (var i = 0; i < parseState.args.length; i++) { + var arg = parseState.iarg(i, 0); + + if (arg < 30) { + if (arg == 0) { // Normal (default). + attrs.reset(); + } else if (arg == 1) { // Bold. + attrs.bold = true; + } else if (arg == 2) { // Faint. + attrs.faint = true; + } else if (arg == 3) { // Italic. + attrs.italic = true; + } else if (arg == 4) { // Underline. + attrs.underline = true; + } else if (arg == 5) { // Blink. + attrs.blink = true; + } else if (arg == 7) { // Inverse. + attrs.inverse = true; + } else if (arg == 8) { // Invisible. + attrs.invisible = true; + } else if (arg == 9) { // Crossed out. + attrs.strikethrough = true; + } else if (arg == 22) { // Not bold & not faint. + attrs.bold = false; + attrs.faint = false; + } else if (arg == 23) { // Not italic. + attrs.italic = false; + } else if (arg == 24) { // Not underlined. + attrs.underline = false; + } else if (arg == 25) { // Not blink. + attrs.blink = false; + } else if (arg == 27) { // Steady. + attrs.inverse = false; + } else if (arg == 28) { // Visible. + attrs.invisible = false; + } else if (arg == 29) { // Not crossed out. + attrs.strikethrough = false; + } + + } else if (arg < 50) { + // Select fore/background color from bottom half of 16 color palette + // or from the 256 color palette or alternative specify color in fully + // qualified rgb(r, g, b) form. + if (arg < 38) { + attrs.foregroundSource = arg - 30; + + } else if (arg == 38) { + // First check for true color definition + var trueColor = getTrueColor(i); + if (trueColor != null) { + attrs.foregroundSource = attrs.SRC_RGB; + attrs.foreground = trueColor; + + i += 5; + } else { + // Check for 256 color + var c = get256(i); + if (c == null) + break; + + i += 2; + + if (c >= attrs.colorPalette.length) + continue; + + attrs.foregroundSource = c; + } + + } else if (arg == 39) { + attrs.foregroundSource = attrs.SRC_DEFAULT; + + } else if (arg < 48) { + attrs.backgroundSource = arg - 40; + + } else if (arg == 48) { + // First check for true color definition + var trueColor = getTrueColor(i); + if (trueColor != null) { + attrs.backgroundSource = attrs.SRC_RGB; + attrs.background = trueColor; + + i += 5; + } else { + // Check for 256 color + var c = get256(i); + if (c == null) + break; + + i += 2; + + if (c >= attrs.colorPalette.length) + continue; + + attrs.backgroundSource = c; + } + } else { + attrs.backgroundSource = attrs.SRC_DEFAULT; + } + + } else if (arg >= 90 && arg <= 97) { + attrs.foregroundSource = arg - 90 + 8; + + } else if (arg >= 100 && arg <= 107) { + attrs.backgroundSource = arg - 100 + 8; + } + } + + attrs.setDefaults(this.terminal.getForegroundColor(), + this.terminal.getBackgroundColor()); +}; + +/** + * Set xterm-specific keyboard modes. + * + * Will not implement. + */ +hterm.VT.CSI['>m'] = hterm.VT.ignore; + +/** + * Device Status Report (DSR, DEC Specific). + * + * 5 - Status Report. Result (OK) is CSI 0 n + * 6 - Report Cursor Position (CPR) [row;column]. Result is CSI r ; c R + */ +hterm.VT.CSI['n'] = function(parseState) { + if (parseState.args[0] == 5) { + this.terminal.io.sendString('\x1b0n'); + } else if (parseState.args[0] == 6) { + var row = this.terminal.getCursorRow() + 1; + var col = this.terminal.getCursorColumn() + 1; + this.terminal.io.sendString('\x1b[' + row + ';' + col + 'R'); + } +}; + +/** + * Disable modifiers which may be enabled via CSI['>m']. + * + * Will not implement. + */ +hterm.VT.CSI['>n'] = hterm.VT.ignore; + +/** + * Device Status Report (DSR, DEC Specific). + * + * 6 - Report Cursor Position (CPR) [row;column] as CSI ? r ; c R + * 15 - Report Printer status as CSI ? 1 0 n (ready) or + * CSI ? 1 1 n (not ready). + * 25 - Report UDK status as CSI ? 2 0 n (unlocked) or CSI ? 2 1 n (locked). + * 26 - Report Keyboard status as CSI ? 2 7 ; 1 ; 0 ; 0 n (North American). + * The last two parameters apply to VT400 & up, and denote keyboard ready + * and LK01 respectively. + * 53 - Report Locator status as CSI ? 5 3 n Locator available, if compiled-in, + * or CSI ? 5 0 n No Locator, if not. + */ +hterm.VT.CSI['?n'] = function(parseState) { + if (parseState.args[0] == 6) { + var row = this.terminal.getCursorRow() + 1; + var col = this.terminal.getCursorColumn() + 1; + this.terminal.io.sendString('\x1b[' + row + ';' + col + 'R'); + } else if (parseState.args[0] == 15) { + this.terminal.io.sendString('\x1b[?11n'); + } else if (parseState.args[0] == 25) { + this.terminal.io.sendString('\x1b[?21n'); + } else if (parseState.args[0] == 26) { + this.terminal.io.sendString('\x1b[?12;1;0;0n'); + } else if (parseState.args[0] == 53) { + this.terminal.io.sendString('\x1b[?50n'); + } +}; + +/** + * This is used by xterm to decide whether to hide the pointer cursor as the + * user types. + * + * Valid values for the parameter: + * 0 - Never hide the pointer. + * 1 - Hide if the mouse tracking mode is not enabled. + * 2 - Always hide the pointer. + * + * If no parameter is given, xterm uses the default, which is 1. + * + * Not currently implemented. + */ +hterm.VT.CSI['>p'] = hterm.VT.ignore; + +/** + * Soft terminal reset (DECSTR). + */ +hterm.VT.CSI['!p'] = function() { + this.reset(); + this.terminal.softReset(); +}; + +/** + * Request ANSI Mode (DECRQM). + * + * Not currently implemented. + */ +hterm.VT.CSI['$p'] = hterm.VT.ignore; +hterm.VT.CSI['?$p'] = hterm.VT.ignore; + +/** + * Set conformance level (DECSCL). + * + * Not currently implemented. + */ +hterm.VT.CSI['"p'] = hterm.VT.ignore; + +/** + * Load LEDs (DECLL). + * + * Not currently implemented. Could be implemented as virtual LEDs overlaying + * the terminal if anyone cares. + */ +hterm.VT.CSI['q'] = hterm.VT.ignore; + +/** + * Set cursor style (DECSCUSR, VT520). + */ +hterm.VT.CSI[' q'] = function(parseState) { + var arg = parseState.args[0]; + + if (arg == 0 || arg == 1) { + this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK); + this.terminal.setCursorBlink(true); + } else if (arg == 2) { + this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK); + this.terminal.setCursorBlink(false); + } else if (arg == 3) { + this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE); + this.terminal.setCursorBlink(true); + } else if (arg == 4) { + this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE); + this.terminal.setCursorBlink(false); + } else if (arg == 5) { + this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM); + this.terminal.setCursorBlink(true); + } else if (arg == 6) { + this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM); + this.terminal.setCursorBlink(false); + } else { + console.warn('Unknown cursor style: ' + arg); + } +}; + +/** + * Select character protection attribute (DECSCA). + * + * Will not implement. + */ +hterm.VT.CSI['"q'] = hterm.VT.ignore; + +/** + * Set Scrolling Region (DECSTBM). + */ +hterm.VT.CSI['r'] = function(parseState) { + var args = parseState.args; + var scrollTop = args[0] ? parseInt(args[0], 10) -1 : null; + var scrollBottom = args[1] ? parseInt(args[1], 10) - 1 : null; + this.terminal.setVTScrollRegion(scrollTop, scrollBottom); + this.terminal.setCursorPosition(0, 0); +}; + +/** + * Restore DEC Private Mode Values. + * + * Will not implement. + */ +hterm.VT.CSI['?r'] = hterm.VT.ignore; + +/** + * Change Attributes in Rectangular Area (DECCARA) + * + * Will not implement. + */ +hterm.VT.CSI['$r'] = hterm.VT.ignore; + +/** + * Save cursor (ANSI.SYS) + */ +hterm.VT.CSI['s'] = function() { + this.savedState_.save(); +}; + +/** + * Save DEC Private Mode Values. + * + * Will not implement. + */ +hterm.VT.CSI['?s'] = hterm.VT.ignore; + +/** + * Window manipulation (from dtterm, as well as extensions). + * + * Will not implement. + */ +hterm.VT.CSI['t'] = hterm.VT.ignore; + +/** + * Reverse Attributes in Rectangular Area (DECRARA). + * + * Will not implement. + */ +hterm.VT.CSI['$t'] = hterm.VT.ignore; + +/** + * Set one or more features of the title modes. + * + * Will not implement. + */ +hterm.VT.CSI['>t'] = hterm.VT.ignore; + +/** + * Set warning-bell volume (DECSWBV, VT520). + * + * Will not implement. + */ +hterm.VT.CSI[' t'] = hterm.VT.ignore; + +/** + * Restore cursor (ANSI.SYS). + */ +hterm.VT.CSI['u'] = function() { + this.savedState_.restore(); +}; + +/** + * Set margin-bell volume (DECSMBV, VT520). + * + * Will not implement. + */ +hterm.VT.CSI[' u'] = hterm.VT.ignore; + +/** + * Copy Rectangular Area (DECCRA, VT400 and up). + * + * Will not implement. + */ +hterm.VT.CSI['$v'] = hterm.VT.ignore; + +/** + * Enable Filter Rectangle (DECEFR). + * + * Will not implement. + */ +hterm.VT.CSI['\'w'] = hterm.VT.ignore; + +/** + * Request Terminal Parameters (DECREQTPARM). + * + * Not currently implemented. + */ +hterm.VT.CSI['x'] = hterm.VT.ignore; + +/** + * Select Attribute Change Extent (DECSACE). + * + * Will not implement. + */ +hterm.VT.CSI['*x'] = hterm.VT.ignore; + +/** + * Fill Rectangular Area (DECFRA), VT420 and up. + * + * Will not implement. + */ +hterm.VT.CSI['$x'] = hterm.VT.ignore; + +/** + * vt_tiledata (as used by NAOhack and UnNetHack) + * (see https://nethackwiki.com/wiki/Vt_tiledata for more info) + * + * Implemented as far as we care (start a glyph and end a glyph). + */ +hterm.VT.CSI['z'] = function(parseState) { + if (parseState.args.length < 1) + return; + var arg = parseState.args[0]; + if (arg == 0) { + // Start a glyph (one parameter, the glyph number). + if (parseState.args.length < 2) + return; + this.terminal.getTextAttributes().tileData = parseState.args[1]; + } else if (arg == 1) { + // End a glyph. + this.terminal.getTextAttributes().tileData = null; + } +}; + +/** + * Enable Locator Reporting (DECELR). + * + * Not currently implemented. + */ +hterm.VT.CSI['\'z'] = hterm.VT.ignore; + +/** + * Erase Rectangular Area (DECERA), VT400 and up. + * + * Will not implement. + */ +hterm.VT.CSI['$z'] = hterm.VT.ignore; + +/** + * Select Locator Events (DECSLE). + * + * Not currently implemented. + */ +hterm.VT.CSI['\'{'] = hterm.VT.ignore; + +/** + * Request Locator Position (DECRQLP). + * + * Not currently implemented. + */ +hterm.VT.CSI['\'|'] = hterm.VT.ignore; + +/** + * Insert Columns (DECIC), VT420 and up. + * + * Will not implement. + */ +hterm.VT.CSI['\'}'] = hterm.VT.ignore; + +/** + * Delete P s Columns (DECDC), VT420 and up. + * + * Will not implement. + */ +hterm.VT.CSI['\'~'] = hterm.VT.ignore; +// SOURCE FILE: hterm/js/hterm_vt_character_map.js +// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +'use strict'; + +lib.rtdep('lib.f'); + +/** + * Character map object. + * + * Mapping from received to display character, used depending on the active + * VT character set. + * + * GR maps are not currently supported. + * + * @param {string} description A human readable description of this map. + * @param {Object} glmap The GL mapping from input to output characters. + */ +hterm.VT.CharacterMap = function(description, glmap) { + /** + * Short description for this character set, useful for debugging. + */ + this.description = description; + + /** + * The function to call to when this map is installed in GL. + */ + this.GL = null; + + // Always keep an unmodified reference to the map. + // This allows us to sanely reset back to the original state. + this.glmapBase_ = glmap; + + // Now sync the internal state as needed. + this.sync_(); +}; + +/** + * Internal helper for resyncing internal state. + * + * Used when the mappings change. + * + * @param {Object?} opt_glmap Additional mappings to overlay on top of the + * base mapping. + */ +hterm.VT.CharacterMap.prototype.sync_ = function(opt_glmap) { + // If there are no maps, then reset the state back. + if (!this.glmapBase_ && !opt_glmap) { + this.GL = null; + delete this.glmap_; + delete this.glre_; + return; + } + + // Set the the GL mapping. If we're given a custom mapping, then create a + // new object to hold the merged map. This way we can cleanly reset back. + if (opt_glmap) + this.glmap_ = Object.assign({}, this.glmapBase_, opt_glmap); + else + this.glmap_ = this.glmapBase_; + + var glchars = Object.keys(this.glmap_).map((key) => + '\\x' + lib.f.zpad(key.charCodeAt(0).toString(16))); + this.glre_ = new RegExp('[' + glchars.join('') + ']', 'g'); + + this.GL = (str) => str.replace(this.glre_, (ch) => this.glmap_[ch]); +}; + +/** + * Reset map back to original mappings (discarding runtime updates). + * + * Specifically, any calls to setOverrides will be discarded. + */ +hterm.VT.CharacterMap.prototype.reset = function() { + // If we haven't been given a custom mapping, then there's nothing to reset. + if (this.glmap_ !== this.glmapBase_) + this.sync_(); +}; + +/** + * Merge custom changes to this map. + * + * The input map need not duplicate the existing mappings as it is merged with + * the existing base map (what was created with). Subsequent calls to this + * will throw away previous override settings. + * + * @param {Object} glmap The custom map to override existing mappings. + */ +hterm.VT.CharacterMap.prototype.setOverrides = function(glmap) { + this.sync_(glmap); +}; + +/** + * Return a copy of this mapping. + * + * @return {hterm.VT.CharacterMap} A new hterm.VT.CharacterMap instance. + */ +hterm.VT.CharacterMap.prototype.clone = function() { + var map = new hterm.VT.CharacterMap(this.description, this.glmapBase_); + if (this.glmap_ !== this.glmapBase_) + map.setOverrides(this.glmap_); + return map; +}; + +/** + * Table of character maps. + */ +hterm.VT.CharacterMaps = function() { + this.maps_ = hterm.VT.CharacterMaps.DefaultMaps; + + // Always keep an unmodified reference to the map. + // This allows us to sanely reset back to the original state. + this.mapsBase_ = this.maps_; +}; + +/** + * Look up a previously registered map. + * + * @param {String} name The name of the map to lookup. + * @return {hterm.VT.CharacterMap} The map, if it's been registered. + */ +hterm.VT.CharacterMaps.prototype.getMap = function(name) { + if (this.maps_.hasOwnProperty(name)) + return this.maps_[name]; + else + return undefined; +}; + +/** + * Register a new map. + * + * Any previously registered maps by this name will be discarded. + * + * @param {String} name The name of the map. + * @param {hterm.VT.CharacterMap} map The map to register. + */ +hterm.VT.CharacterMaps.prototype.addMap = function(name, map) { + if (this.maps_ === this.mapsBase_) + this.maps_ = Object.assign({}, this.mapsBase_); + this.maps_[name] = map; +}; + +/** + * Reset the table and all its maps back to original state. + */ +hterm.VT.CharacterMaps.prototype.reset = function() { + if (this.maps_ !== hterm.VT.CharacterMaps.DefaultMaps) + this.maps_ = hterm.VT.CharacterMaps.DefaultMaps; +}; + +/** + * Merge custom changes to this table. + * + * @param {Object} maps A set of hterm.VT.CharacterMap objects. + */ +hterm.VT.CharacterMaps.prototype.setOverrides = function(maps) { + if (this.maps_ === this.mapsBase_) + this.maps_ = Object.assign({}, this.mapsBase_); + + for (var name in maps) { + var map = this.getMap(name); + if (map !== undefined) { + this.maps_[name] = map.clone(); + this.maps_[name].setOverrides(maps[name]); + } else + this.addMap(name, new hterm.VT.CharacterMap('user ' + name, maps[name])); + } +}; + +/** + * The default set of supported character maps. + */ +hterm.VT.CharacterMaps.DefaultMaps = {}; + +/** + * VT100 Graphic character map. + * http://vt100.net/docs/vt220-rm/table2-4.html + */ +hterm.VT.CharacterMaps.DefaultMaps['0'] = new hterm.VT.CharacterMap( + 'graphic', { + '\x60':'\u25c6', // ` -> diamond + '\x61':'\u2592', // a -> grey-box + '\x62':'\u2409', // b -> h/t + '\x63':'\u240c', // c -> f/f + '\x64':'\u240d', // d -> c/r + '\x65':'\u240a', // e -> l/f + '\x66':'\u00b0', // f -> degree + '\x67':'\u00b1', // g -> +/- + '\x68':'\u2424', // h -> n/l + '\x69':'\u240b', // i -> v/t + '\x6a':'\u2518', // j -> bottom-right + '\x6b':'\u2510', // k -> top-right + '\x6c':'\u250c', // l -> top-left + '\x6d':'\u2514', // m -> bottom-left + '\x6e':'\u253c', // n -> line-cross + '\x6f':'\u23ba', // o -> scan1 + '\x70':'\u23bb', // p -> scan3 + '\x71':'\u2500', // q -> scan5 + '\x72':'\u23bc', // r -> scan7 + '\x73':'\u23bd', // s -> scan9 + '\x74':'\u251c', // t -> left-tee + '\x75':'\u2524', // u -> right-tee + '\x76':'\u2534', // v -> bottom-tee + '\x77':'\u252c', // w -> top-tee + '\x78':'\u2502', // x -> vertical-line + '\x79':'\u2264', // y -> less-equal + '\x7a':'\u2265', // z -> greater-equal + '\x7b':'\u03c0', // { -> pi + '\x7c':'\u2260', // | -> not-equal + '\x7d':'\u00a3', // } -> british-pound + '\x7e':'\u00b7', // ~ -> dot + }); + +/** + * British character map. + * http://vt100.net/docs/vt220-rm/table2-5.html + */ +hterm.VT.CharacterMaps.DefaultMaps['A'] = new hterm.VT.CharacterMap( + 'british', { + '\x23': '\u00a3', // # -> british-pound + }); + +/** + * US ASCII map, no changes. + */ +hterm.VT.CharacterMaps.DefaultMaps['B'] = new hterm.VT.CharacterMap( + 'us', null); + +/** + * Dutch character map. + * http://vt100.net/docs/vt220-rm/table2-6.html + */ +hterm.VT.CharacterMaps.DefaultMaps['4'] = new hterm.VT.CharacterMap( + 'dutch', { + '\x23': '\u00a3', // # -> british-pound + + '\x40': '\u00be', // @ -> 3/4 + + '\x5b': '\u0132', // [ -> 'ij' ligature (xterm goes with \u00ff?) + '\x5c': '\u00bd', // \ -> 1/2 + '\x5d': '\u007c', // ] -> vertical bar + + '\x7b': '\u00a8', // { -> two dots + '\x7c': '\u0066', // | -> f + '\x7d': '\u00bc', // } -> 1/4 + '\x7e': '\u00b4', // ~ -> acute + }); + +/** + * Finnish character map. + * http://vt100.net/docs/vt220-rm/table2-7.html + */ +hterm.VT.CharacterMaps.DefaultMaps['C'] = +hterm.VT.CharacterMaps.DefaultMaps['5'] = new hterm.VT.CharacterMap( + 'finnish', { + '\x5b': '\u00c4', // [ -> 'A' umlaut + '\x5c': '\u00d6', // \ -> 'O' umlaut + '\x5d': '\u00c5', // ] -> 'A' ring + '\x5e': '\u00dc', // ~ -> 'u' umlaut + + '\x60': '\u00e9', // ` -> 'e' acute + + '\x7b': '\u00e4', // { -> 'a' umlaut + '\x7c': '\u00f6', // | -> 'o' umlaut + '\x7d': '\u00e5', // } -> 'a' ring + '\x7e': '\u00fc', // ~ -> 'u' umlaut + }); + +/** + * French character map. + * http://vt100.net/docs/vt220-rm/table2-8.html + */ +hterm.VT.CharacterMaps.DefaultMaps['R'] = new hterm.VT.CharacterMap( + 'french', { + '\x23': '\u00a3', // # -> british-pound + + '\x40': '\u00e0', // @ -> 'a' grave + + '\x5b': '\u00b0', // [ -> ring + '\x5c': '\u00e7', // \ -> 'c' cedilla + '\x5d': '\u00a7', // ] -> section symbol (double s) + + '\x7b': '\u00e9', // { -> 'e' acute + '\x7c': '\u00f9', // | -> 'u' grave + '\x7d': '\u00e8', // } -> 'e' grave + '\x7e': '\u00a8', // ~ -> umlaut + }); + +/** + * French Canadian character map. + * http://vt100.net/docs/vt220-rm/table2-9.html + */ +hterm.VT.CharacterMaps.DefaultMaps['Q'] = new hterm.VT.CharacterMap( + 'french canadian', { + '\x40': '\u00e0', // @ -> 'a' grave + + '\x5b': '\u00e2', // [ -> 'a' circumflex + '\x5c': '\u00e7', // \ -> 'c' cedilla + '\x5d': '\u00ea', // ] -> 'e' circumflex + '\x5e': '\u00ee', // ^ -> 'i' circumflex + + '\x60': '\u00f4', // ` -> 'o' circumflex + + '\x7b': '\u00e9', // { -> 'e' acute + '\x7c': '\u00f9', // | -> 'u' grave + '\x7d': '\u00e8', // } -> 'e' grave + '\x7e': '\u00fb', // ~ -> 'u' circumflex + }); + +/** + * German character map. + * http://vt100.net/docs/vt220-rm/table2-10.html + */ +hterm.VT.CharacterMaps.DefaultMaps['K'] = new hterm.VT.CharacterMap( + 'german', { + '\x40': '\u00a7', // @ -> section symbol (double s) + + '\x5b': '\u00c4', // [ -> 'A' umlaut + '\x5c': '\u00d6', // \ -> 'O' umlaut + '\x5d': '\u00dc', // ] -> 'U' umlaut + + '\x7b': '\u00e4', // { -> 'a' umlaut + '\x7c': '\u00f6', // | -> 'o' umlaut + '\x7d': '\u00fc', // } -> 'u' umlaut + '\x7e': '\u00df', // ~ -> eszett + }); + +/** + * Italian character map. + * http://vt100.net/docs/vt220-rm/table2-11.html + */ +hterm.VT.CharacterMaps.DefaultMaps['Y'] = new hterm.VT.CharacterMap( + 'italian', { + '\x23': '\u00a3', // # -> british-pound + + '\x40': '\u00a7', // @ -> section symbol (double s) + + '\x5b': '\u00b0', // [ -> ring + '\x5c': '\u00e7', // \ -> 'c' cedilla + '\x5d': '\u00e9', // ] -> 'e' acute + + '\x60': '\u00f9', // ` -> 'u' grave + + '\x7b': '\u00e0', // { -> 'a' grave + '\x7c': '\u00f2', // | -> 'o' grave + '\x7d': '\u00e8', // } -> 'e' grave + '\x7e': '\u00ec', // ~ -> 'i' grave + }); + +/** + * Norwegian/Danish character map. + * http://vt100.net/docs/vt220-rm/table2-12.html + */ +hterm.VT.CharacterMaps.DefaultMaps['E'] = +hterm.VT.CharacterMaps.DefaultMaps['6'] = new hterm.VT.CharacterMap( + 'norwegian/danish', { + '\x40': '\u00c4', // @ -> 'A' umlaut + + '\x5b': '\u00c6', // [ -> 'AE' ligature + '\x5c': '\u00d8', // \ -> 'O' stroke + '\x5d': '\u00c5', // ] -> 'A' ring + '\x5e': '\u00dc', // ^ -> 'U' umlaut + + '\x60': '\u00e4', // ` -> 'a' umlaut + + '\x7b': '\u00e6', // { -> 'ae' ligature + '\x7c': '\u00f8', // | -> 'o' stroke + '\x7d': '\u00e5', // } -> 'a' ring + '\x7e': '\u00fc', // ~ -> 'u' umlaut + }); + +/** + * Spanish character map. + * http://vt100.net/docs/vt220-rm/table2-13.html + */ +hterm.VT.CharacterMaps.DefaultMaps['Z'] = new hterm.VT.CharacterMap( + 'spanish', { + '\x23': '\u00a3', // # -> british-pound + + '\x40': '\u00a7', // @ -> section symbol (double s) + + '\x5b': '\u00a1', // [ -> '!' inverted + '\x5c': '\u00d1', // \ -> 'N' tilde + '\x5d': '\u00bf', // ] -> '?' inverted + + '\x7b': '\u00b0', // { -> ring + '\x7c': '\u00f1', // | -> 'n' tilde + '\x7d': '\u00e7', // } -> 'c' cedilla + }); + +/** + * Swedish character map. + * http://vt100.net/docs/vt220-rm/table2-14.html + */ +hterm.VT.CharacterMaps.DefaultMaps['7'] = +hterm.VT.CharacterMaps.DefaultMaps['H'] = new hterm.VT.CharacterMap( + 'swedish', { + '\x40': '\u00c9', // @ -> 'E' acute + + '\x5b': '\u00c4', // [ -> 'A' umlaut + '\x5c': '\u00d6', // \ -> 'O' umlaut + '\x5d': '\u00c5', // ] -> 'A' ring + '\x5e': '\u00dc', // ^ -> 'U' umlaut + + '\x60': '\u00e9', // ` -> 'e' acute + + '\x7b': '\u00e4', // { -> 'a' umlaut + '\x7c': '\u00f6', // | -> 'o' umlaut + '\x7d': '\u00e5', // } -> 'a' ring + '\x7e': '\u00fc', // ~ -> 'u' umlaut + }); + +/** + * Swiss character map. + * http://vt100.net/docs/vt220-rm/table2-15.html + */ +hterm.VT.CharacterMaps.DefaultMaps['='] = new hterm.VT.CharacterMap( + 'swiss', { + '\x23': '\u00f9', // # -> 'u' grave + + '\x40': '\u00e0', // @ -> 'a' grave + + '\x5b': '\u00e9', // [ -> 'e' acute + '\x5c': '\u00e7', // \ -> 'c' cedilla + '\x5d': '\u00ea', // ] -> 'e' circumflex + '\x5e': '\u00ee', // ^ -> 'i' circumflex + '\x5f': '\u00e8', // _ -> 'e' grave + + '\x60': '\u00f4', // ` -> 'o' circumflex + + '\x7b': '\u00e4', // { -> 'a' umlaut + '\x7c': '\u00f6', // | -> 'o' umlaut + '\x7d': '\u00fc', // } -> 'u' umlaut + '\x7e': '\u00fb', // ~ -> 'u' circumflex + }); +lib.resource.add('hterm/audio/bell', 'audio/ogg;base64', +'T2dnUwACAAAAAAAAAADhqW5KAAAAAMFvEjYBHgF2b3JiaXMAAAAAAYC7AAAAAAAAAHcBAAAAAAC4' + +'AU9nZ1MAAAAAAAAAAAAA4aluSgEAAAAAesI3EC3//////////////////8kDdm9yYmlzHQAAAFhp' + +'cGguT3JnIGxpYlZvcmJpcyBJIDIwMDkwNzA5AAAAAAEFdm9yYmlzKUJDVgEACAAAADFMIMWA0JBV' + +'AAAQAABgJCkOk2ZJKaWUoSh5mJRISSmllMUwiZiUicUYY4wxxhhjjDHGGGOMIDRkFQAABACAKAmO' + +'o+ZJas45ZxgnjnKgOWlOOKcgB4pR4DkJwvUmY26mtKZrbs4pJQgNWQUAAAIAQEghhRRSSCGFFGKI' + +'IYYYYoghhxxyyCGnnHIKKqigggoyyCCDTDLppJNOOumoo4466ii00EILLbTSSkwx1VZjrr0GXXxz' + +'zjnnnHPOOeecc84JQkNWAQAgAAAEQgYZZBBCCCGFFFKIKaaYcgoyyIDQkFUAACAAgAAAAABHkRRJ' + +'sRTLsRzN0SRP8ixREzXRM0VTVE1VVVVVdV1XdmXXdnXXdn1ZmIVbuH1ZuIVb2IVd94VhGIZhGIZh' + +'GIZh+H3f933f930gNGQVACABAKAjOZbjKaIiGqLiOaIDhIasAgBkAAAEACAJkiIpkqNJpmZqrmmb' + +'tmirtm3LsizLsgyEhqwCAAABAAQAAAAAAKBpmqZpmqZpmqZpmqZpmqZpmqZpmmZZlmVZlmVZlmVZ' + +'lmVZlmVZlmVZlmVZlmVZlmVZlmVZlmVZlmVZQGjIKgBAAgBAx3Ecx3EkRVIkx3IsBwgNWQUAyAAA' + +'CABAUizFcjRHczTHczzHczxHdETJlEzN9EwPCA1ZBQAAAgAIAAAAAABAMRzFcRzJ0SRPUi3TcjVX' + +'cz3Xc03XdV1XVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVYHQkFUAAAQAACGdZpZq' + +'gAgzkGEgNGQVAIAAAAAYoQhDDAgNWQUAAAQAAIih5CCa0JrzzTkOmuWgqRSb08GJVJsnuamYm3PO' + +'OeecbM4Z45xzzinKmcWgmdCac85JDJqloJnQmnPOeRKbB62p0ppzzhnnnA7GGWGcc85p0poHqdlY' + +'m3POWdCa5qi5FJtzzomUmye1uVSbc84555xzzjnnnHPOqV6czsE54Zxzzonam2u5CV2cc875ZJzu' + +'zQnhnHPOOeecc84555xzzglCQ1YBAEAAAARh2BjGnYIgfY4GYhQhpiGTHnSPDpOgMcgppB6NjkZK' + +'qYNQUhknpXSC0JBVAAAgAACEEFJIIYUUUkghhRRSSCGGGGKIIaeccgoqqKSSiirKKLPMMssss8wy' + +'y6zDzjrrsMMQQwwxtNJKLDXVVmONteaec645SGultdZaK6WUUkoppSA0ZBUAAAIAQCBkkEEGGYUU' + +'UkghhphyyimnoIIKCA1ZBQAAAgAIAAAA8CTPER3RER3RER3RER3RER3P8RxREiVREiXRMi1TMz1V' + +'VFVXdm1Zl3Xbt4Vd2HXf133f141fF4ZlWZZlWZZlWZZlWZZlWZZlCUJDVgEAIAAAAEIIIYQUUkgh' + +'hZRijDHHnINOQgmB0JBVAAAgAIAAAAAAR3EUx5EcyZEkS7IkTdIszfI0T/M00RNFUTRNUxVd0RV1' + +'0xZlUzZd0zVl01Vl1XZl2bZlW7d9WbZ93/d93/d93/d93/d939d1IDRkFQAgAQCgIzmSIimSIjmO' + +'40iSBISGrAIAZAAABACgKI7iOI4jSZIkWZImeZZniZqpmZ7pqaIKhIasAgAAAQAEAAAAAACgaIqn' + +'mIqniIrniI4oiZZpiZqquaJsyq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7rukBo' + +'yCoAQAIAQEdyJEdyJEVSJEVyJAcIDVkFAMgAAAgAwDEcQ1Ikx7IsTfM0T/M00RM90TM9VXRFFwgN' + +'WQUAAAIACAAAAAAAwJAMS7EczdEkUVIt1VI11VItVVQ9VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV' + +'VVVVVVVVVVVV1TRN0zSB0JCVAAAZAAAjQQYZhBCKcpBCbj1YCDHmJAWhOQahxBiEpxAzDDkNInSQ' + +'QSc9uJI5wwzz4FIoFURMg40lN44gDcKmXEnlOAhCQ1YEAFEAAIAxyDHEGHLOScmgRM4xCZ2UyDkn' + +'pZPSSSktlhgzKSWmEmPjnKPSScmklBhLip2kEmOJrQAAgAAHAIAAC6HQkBUBQBQAAGIMUgophZRS' + +'zinmkFLKMeUcUko5p5xTzjkIHYTKMQadgxAppRxTzinHHITMQeWcg9BBKAAAIMABACDAQig0ZEUA' + +'ECcA4HAkz5M0SxQlSxNFzxRl1xNN15U0zTQ1UVRVyxNV1VRV2xZNVbYlTRNNTfRUVRNFVRVV05ZN' + +'VbVtzzRl2VRV3RZV1bZl2xZ+V5Z13zNNWRZV1dZNVbV115Z9X9ZtXZg0zTQ1UVRVTRRV1VRV2zZV' + +'17Y1UXRVUVVlWVRVWXZlWfdVV9Z9SxRV1VNN2RVVVbZV2fVtVZZ94XRVXVdl2fdVWRZ+W9eF4fZ9' + +'4RhV1dZN19V1VZZ9YdZlYbd13yhpmmlqoqiqmiiqqqmqtm2qrq1bouiqoqrKsmeqrqzKsq+rrmzr' + +'miiqrqiqsiyqqiyrsqz7qizrtqiquq3KsrCbrqvrtu8LwyzrunCqrq6rsuz7qizruq3rxnHrujB8' + +'pinLpqvquqm6um7runHMtm0co6rqvirLwrDKsu/rui+0dSFRVXXdlF3jV2VZ921fd55b94WybTu/' + +'rfvKceu60vg5z28cubZtHLNuG7+t+8bzKz9hOI6lZ5q2baqqrZuqq+uybivDrOtCUVV9XZVl3zdd' + +'WRdu3zeOW9eNoqrquirLvrDKsjHcxm8cuzAcXds2jlvXnbKtC31jyPcJz2vbxnH7OuP2daOvDAnH' + +'jwAAgAEHAIAAE8pAoSErAoA4AQAGIecUUxAqxSB0EFLqIKRUMQYhc05KxRyUUEpqIZTUKsYgVI5J' + +'yJyTEkpoKZTSUgehpVBKa6GU1lJrsabUYu0gpBZKaS2U0lpqqcbUWowRYxAy56RkzkkJpbQWSmkt' + +'c05K56CkDkJKpaQUS0otVsxJyaCj0kFIqaQSU0mptVBKa6WkFktKMbYUW24x1hxKaS2kEltJKcYU' + +'U20txpojxiBkzknJnJMSSmktlNJa5ZiUDkJKmYOSSkqtlZJSzJyT0kFIqYOOSkkptpJKTKGU1kpK' + +'sYVSWmwx1pxSbDWU0lpJKcaSSmwtxlpbTLV1EFoLpbQWSmmttVZraq3GUEprJaUYS0qxtRZrbjHm' + +'GkppraQSW0mpxRZbji3GmlNrNabWam4x5hpbbT3WmnNKrdbUUo0txppjbb3VmnvvIKQWSmktlNJi' + +'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' + +'m2L/kruPM6Q7oz4tvDQy+bZ3HzOi+gNHA4DZEgA=' + +'' +); + +lib.resource.add('hterm/images/icon-96', 'image/png;base64', +'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' + +'ODoyNC0wNDowMNba8BsAAAAASUVORK5CYII=' + +'' +); + +lib.resource.add('hterm/concat/date', 'text/plain', +'Tue, 22 Aug 2017 06:42:31 +0000' + +'' +); + +lib.resource.add('hterm/changelog/version', 'text/plain', +'1.70' + +'' +); + +lib.resource.add('hterm/changelog/date', 'text/plain', +'2017-08-16' + +'' +); + +lib.resource.add('hterm/git/HEAD', 'text/plain', +'git rev-parse HEAD' + +'' +); + +// SOURCE FILE: hterm/js/hterm_export.js +module.exports = { + hterm: hterm, + lib: lib +}; + + + +/***/ }), +/* 15 */ +/***/ (function(module, exports, __webpack_require__) { + "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -2861,7 +20851,7 @@ if (elem !== null) { /***/ }), -/* 15 */ +/* 16 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2993,7 +20983,7 @@ exports.CompositionHelper = CompositionHelper; /***/ }), -/* 16 */ +/* 17 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -3937,7 +21927,7 @@ var wcwidth = (function (opts) { /***/ }), -/* 17 */ +/* 18 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4178,7 +22168,7 @@ exports.Linkifier = Linkifier; /***/ }), -/* 18 */ +/* 19 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4663,13 +22653,13 @@ exports.Parser = Parser; /***/ }), -/* 19 */ +/* 20 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var DomElementObjectPool_1 = __webpack_require__(32); +var DomElementObjectPool_1 = __webpack_require__(33); var MAX_REFRESH_FRAME_SKIP = 5; var FLAGS; (function (FLAGS) { @@ -4948,7 +22938,7 @@ function checkBoldBroken(terminal) { /***/ }), -/* 20 */ +/* 21 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4967,7 +22957,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); var Mouse = __webpack_require__(9); var Browser = __webpack_require__(8); var EventEmitter_1 = __webpack_require__(1); -var SelectionModel_1 = __webpack_require__(21); +var SelectionModel_1 = __webpack_require__(22); var DRAG_SCROLL_MAX_THRESHOLD = 50; var DRAG_SCROLL_MAX_SPEED = 15; var DRAG_SCROLL_INTERVAL = 50; @@ -5361,7 +23351,7 @@ exports.SelectionManager = SelectionManager; /***/ }), -/* 21 */ +/* 22 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -5441,7 +23431,7 @@ exports.SelectionModel = SelectionModel; /***/ }), -/* 22 */ +/* 23 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -5539,21 +23529,21 @@ exports.Viewport = Viewport; /***/ }), -/* 23 */ +/* 24 */ /***/ (function(module, exports, __webpack_require__) { var map = { "./attach/attach": 4, "./attach/attach.js": 4, - "./attach/package.json": 24, + "./attach/package.json": 25, "./fit/fit": 5, "./fit/fit.js": 5, - "./fit/package.json": 25, + "./fit/package.json": 26, "./fullscreen/fullscreen": 6, - "./fullscreen/fullscreen.css": 26, + "./fullscreen/fullscreen.css": 27, "./fullscreen/fullscreen.js": 6, - "./fullscreen/package.json": 27, - "./terminado/package.json": 28, + "./fullscreen/package.json": 28, + "./terminado/package.json": 29, "./terminado/terminado": 7, "./terminado/terminado.js": 7 }; @@ -5571,40 +23561,40 @@ webpackContext.keys = function webpackContextKeys() { }; webpackContext.resolve = webpackContextResolve; module.exports = webpackContext; -webpackContext.id = 23; - -/***/ }), -/* 24 */ -/***/ (function(module, exports) { - -module.exports = {"name":"xterm.attach","main":"attach.js","private":true} +webpackContext.id = 24; /***/ }), /* 25 */ /***/ (function(module, exports) { -module.exports = {"name":"xterm.fit","main":"fit.js","private":true} +module.exports = {"name":"xterm.attach","main":"attach.js","private":true} /***/ }), /* 26 */ /***/ (function(module, exports) { -throw new Error("Module parse failed: /home/yudai/archive/products/2015/gotty/src/github.com/yudai/gotty/js/node_modules/xterm/lib/addons/fullscreen/fullscreen.css Unexpected token (1:0)\nYou may need an appropriate loader to handle this file type.\n| .xterm.fullscreen {\n| position: fixed;\n| top: 0;"); +module.exports = {"name":"xterm.fit","main":"fit.js","private":true} /***/ }), /* 27 */ /***/ (function(module, exports) { -module.exports = {"name":"xterm.fullscreen","main":"fullscreen.js","private":true} +throw new Error("Module parse failed: /home/yudai/archive/products/2015/gotty/src/github.com/yudai/gotty/js/node_modules/xterm/lib/addons/fullscreen/fullscreen.css Unexpected token (1:0)\nYou may need an appropriate loader to handle this file type.\n| .xterm.fullscreen {\n| position: fixed;\n| top: 0;"); /***/ }), /* 28 */ /***/ (function(module, exports) { -module.exports = {"name":"xterm.terminado","main":"terminado.js","private":true} +module.exports = {"name":"xterm.fullscreen","main":"fullscreen.js","private":true} /***/ }), /* 29 */ +/***/ (function(module, exports) { + +module.exports = {"name":"xterm.terminado","main":"terminado.js","private":true} + +/***/ }), +/* 30 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -5680,7 +23670,7 @@ exports.rightClickHandler = rightClickHandler; /***/ }), -/* 30 */ +/* 31 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -5754,7 +23744,7 @@ exports.CharMeasure = CharMeasure; /***/ }), -/* 31 */ +/* 32 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -5924,7 +23914,7 @@ exports.CircularList = CircularList; /***/ }), -/* 32 */ +/* 33 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -5976,7 +23966,7 @@ exports.DomElementObjectPool = DomElementObjectPool; /***/ }), -/* 33 */ +/* 34 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -5991,18 +23981,6 @@ exports.contains = contains; //# sourceMappingURL=Generic.js.map -/***/ }), -/* 34 */ -/***/ (function(module, exports) { - -module.exports = hterm; - -/***/ }), -/* 35 */ -/***/ (function(module, exports) { - -module.exports = lib; - /***/ }) /******/ ]); //# sourceMappingURL=bundle.js.map \ No newline at end of file diff --git a/js/dist/bundle.js.map b/js/dist/bundle.js.map index fcc8662..3457893 100644 --- a/js/dist/bundle.js.map +++ b/js/dist/bundle.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap 75bb02f622408516a58c","webpack:///./~/xterm/lib/xterm.js","webpack:///./~/xterm/lib/EventEmitter.js","webpack:///./~/xterm/lib/EscapeSequences.js","webpack:///./~/xterm/lib/Charsets.js","webpack:///./~/xterm/lib/addons/attach/attach.js","webpack:///./~/xterm/lib/addons/fit/fit.js","webpack:///./~/xterm/lib/addons/fullscreen/fullscreen.js","webpack:///./~/xterm/lib/addons/terminado/terminado.js","webpack:///./~/xterm/lib/utils/Browser.js","webpack:///./~/xterm/lib/utils/Mouse.js","webpack:///./src/hterm.ts","webpack:///./src/websocket.ts","webpack:///./src/webtty.ts","webpack:///./src/xterm.ts","webpack:///./src/main.ts","webpack:///./~/xterm/lib/CompositionHelper.js","webpack:///./~/xterm/lib/InputHandler.js","webpack:///./~/xterm/lib/Linkifier.js","webpack:///./~/xterm/lib/Parser.js","webpack:///./~/xterm/lib/Renderer.js","webpack:///./~/xterm/lib/SelectionManager.js","webpack:///./~/xterm/lib/SelectionModel.js","webpack:///./~/xterm/lib/Viewport.js","webpack:///./~/xterm/lib/addons ^\\.\\/.*$","webpack:///./~/xterm/lib/addons/attach/package.json","webpack:///./~/xterm/lib/addons/fit/package.json","webpack:///./~/xterm/lib/addons/fullscreen/package.json","webpack:///./~/xterm/lib/addons/terminado/package.json","webpack:///./~/xterm/lib/handlers/Clipboard.js","webpack:///./~/xterm/lib/utils/CharMeasure.js","webpack:///./~/xterm/lib/utils/CircularList.js","webpack:///./~/xterm/lib/utils/DomElementObjectPool.js","webpack:///./~/xterm/lib/utils/Generic.js","webpack:///external \"hterm\"","webpack:///external \"lib\""],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AChEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA,UAAU,QAAQ;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gDAAgD,8CAA8C;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,KAAK;AACL;AACA,2BAA2B,iBAAiB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,mCAAmC,yCAAyC,EAAE;AAC9E,iEAAiE,yCAAyC,EAAE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,4CAA4C;AACtE,iCAAiC,wCAAwC;AACzE,gCAAgC,0CAA0C;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,cAAc;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,wHAAwH;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,wHAAwH;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,mCAAmC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,6BAA6B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5lDA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC1DA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,qCAAqC;AACtC;;AAEA;;;;;;;;ACzCA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;;;;;;;AChKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;AC7HD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B;AAC/B;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;;AAEA,gBAAgB;AAChB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;ACrFD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;ACjDD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;ACtID;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,8CAA8C,EAAE;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC5HA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,uDAAuD,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,yBAAyB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,IAAI;AACxE;AACA;AACA,qEAAqE,GAAG;AACxE;AACA;AACA;AACA;AACA;AACA,qEAAqE,MAAM;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,GAAG,qBAAqB;;AAEzB;;;;;;;;ACx6BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B,sBAAsB,IAAI,KAAK,EAAE,IAAI,IAAI;AACzC;AACA,wBAAwB,IAAI;AAC5B;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,gBAAgB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,mCAAmC,yBAAyB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,4BAA4B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;;;;;;;ACzOA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA,2EAA2E,uBAAuB;AAClG,0EAA0E,2BAA2B;AACrG;AACA;AACA,0EAA0E,iCAAiC;AAC3G,0EAA0E,4BAA4B;AACtG,0EAA0E,sBAAsB;AAChG,0EAA0E,2BAA2B;AACrG,0EAA0E,0BAA0B;AACpG,2EAA2E,6CAA6C;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,4CAA4C;AAC/G;AACA,+CAA+C,8BAA8B;AAC7E,+CAA+C,8BAA8B;AAC7E,+CAA+C,8BAA8B;AAC7E,+CAA+C,gDAAgD;AAC/F,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,+BAA+B;AAC9E,+CAA+C,+BAA+B;AAC9E,+CAA+C,+BAA+B;AAC9E,gDAAgD,gCAAgC;AAChF,uBAAuB,wBAAwB,+BAA+B;AAC9E,oEAAoE,4CAA4C;AAChH;AACA,2DAA2D,oCAAoC;AAC/F,2DAA2D,iCAAiC;AAC5F,2DAA2D,mCAAmC;AAC9F,2DAA2D,sCAAsC;AACjG,2DAA2D,uCAAuC;AAClG,2DAA2D,uCAAuC;AAClG,2DAA2D,4CAA4C;AACvG,2DAA2D,2CAA2C;AACtG,2DAA2D,uCAAuC;AAClG,2DAA2D,yCAAyC;AACpG,2DAA2D,uCAAuC;AAClG,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,iCAAiC;AAC5F;AACA;AACA;AACA;AACA;AACA,2DAA2D,mCAAmC;AAC9F,2DAA2D,0CAA0C;AACrG,2DAA2D,wCAAwC;AACnG,2DAA2D,0CAA0C;AACrG,2DAA2D,iDAAiD;AAC5G,2DAA2D,6CAA6C;AACxG,2DAA2D,wCAAwC;AACnG,2DAA2D,0CAA0C;AACrG,2DAA2D,mCAAmC;AAC9F,2DAA2D,iCAAiC;AAC5F,2DAA2D,gCAAgC;AAC3F,2DAA2D,kCAAkC;AAC7F,2DAA2D,uCAAuC;AAClG,2DAA2D,qCAAqC;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,wCAAwC;AAC3F,mDAAmD,mCAAmC;AACtF,mDAAmD,sCAAsC;AACzF,iGAAiG,4CAA4C;AAC7I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC7dA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sBAAsB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,yBAAyB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mCAAmC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,0DAA0D;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrRA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,8BAA8B;AACpF,oDAAoD,kCAAkC;AACtF,oDAAoD,kCAAkC;AACtF,kDAAkD,gCAAgC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,iBAAiB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAoF,yBAAyB,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6EAA6E;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,4BAA4B,EAAE;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;ACrZA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;ACxEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uB;;;;;;AC7BA,kBAAkB,wD;;;;;;ACAlB,kBAAkB,kD;;;;;;;;;;;;ACAlB,kBAAkB,gE;;;;;;ACAlB,kBAAkB,8D;;;;;;;ACAlB;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpEA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,2BAA2B,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AClEA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,2BAA2B,yCAAyC;AACpE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,0CAA0C,eAAe;AACzD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,+BAA+B,gCAAgC;AAC/D;AACA;AACA;AACA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AClKA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;;;;;;;AC5CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACRA,uB;;;;;;ACAA,qB","file":"./dist/bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 14);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 75bb02f622408516a58c","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CompositionHelper_1 = require(\"./CompositionHelper\");\nvar EventEmitter_1 = require(\"./EventEmitter\");\nvar Viewport_1 = require(\"./Viewport\");\nvar Clipboard_1 = require(\"./handlers/Clipboard\");\nvar CircularList_1 = require(\"./utils/CircularList\");\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar InputHandler_1 = require(\"./InputHandler\");\nvar Parser_1 = require(\"./Parser\");\nvar Renderer_1 = require(\"./Renderer\");\nvar Linkifier_1 = require(\"./Linkifier\");\nvar SelectionManager_1 = require(\"./SelectionManager\");\nvar CharMeasure_1 = require(\"./utils/CharMeasure\");\nvar Browser = require(\"./utils/Browser\");\nvar Mouse_1 = require(\"./utils/Mouse\");\nvar document = (typeof window != 'undefined') ? window.document : null;\nvar WRITE_BUFFER_PAUSE_THRESHOLD = 5;\nvar WRITE_BATCH_SIZE = 300;\nvar CURSOR_BLINK_INTERVAL = 600;\nfunction Terminal(options) {\n var self = this;\n if (!(this instanceof Terminal)) {\n return new Terminal(arguments[0], arguments[1], arguments[2]);\n }\n self.browser = Browser;\n self.cancel = Terminal.cancel;\n EventEmitter_1.EventEmitter.call(this);\n if (typeof options === 'number') {\n options = {\n cols: arguments[0],\n rows: arguments[1],\n handler: arguments[2]\n };\n }\n options = options || {};\n Object.keys(Terminal.defaults).forEach(function (key) {\n if (options[key] == null) {\n options[key] = Terminal.options[key];\n if (Terminal[key] !== Terminal.defaults[key]) {\n options[key] = Terminal[key];\n }\n }\n self[key] = options[key];\n });\n if (options.colors.length === 8) {\n options.colors = options.colors.concat(Terminal._colors.slice(8));\n }\n else if (options.colors.length === 16) {\n options.colors = options.colors.concat(Terminal._colors.slice(16));\n }\n else if (options.colors.length === 10) {\n options.colors = options.colors.slice(0, -2).concat(Terminal._colors.slice(8, -2), options.colors.slice(-2));\n }\n else if (options.colors.length === 18) {\n options.colors = options.colors.concat(Terminal._colors.slice(16, -2), options.colors.slice(-2));\n }\n this.colors = options.colors;\n this.options = options;\n this.parent = options.body || options.parent || (document ? document.getElementsByTagName('body')[0] : null);\n this.cols = options.cols || options.geometry[0];\n this.rows = options.rows || options.geometry[1];\n this.geometry = [this.cols, this.rows];\n if (options.handler) {\n this.on('data', options.handler);\n }\n this.ybase = 0;\n this.ydisp = 0;\n this.x = 0;\n this.y = 0;\n this.cursorState = 0;\n this.cursorHidden = false;\n this.convertEol;\n this.queue = '';\n this.scrollTop = 0;\n this.scrollBottom = this.rows - 1;\n this.customKeyEventHandler = null;\n this.cursorBlinkInterval = null;\n this.applicationKeypad = false;\n this.applicationCursor = false;\n this.originMode = false;\n this.insertMode = false;\n this.wraparoundMode = true;\n this.normal = null;\n this.charset = null;\n this.gcharset = null;\n this.glevel = 0;\n this.charsets = [null];\n this.decLocator;\n this.x10Mouse;\n this.vt200Mouse;\n this.vt300Mouse;\n this.normalMouse;\n this.mouseEvents;\n this.sendFocus;\n this.utfMouse;\n this.sgrMouse;\n this.urxvtMouse;\n this.element;\n this.children;\n this.refreshStart;\n this.refreshEnd;\n this.savedX;\n this.savedY;\n this.savedCols;\n this.readable = true;\n this.writable = true;\n this.defAttr = (0 << 18) | (257 << 9) | (256 << 0);\n this.curAttr = this.defAttr;\n this.params = [];\n this.currentParam = 0;\n this.prefix = '';\n this.postfix = '';\n this.inputHandler = new InputHandler_1.InputHandler(this);\n this.parser = new Parser_1.Parser(this.inputHandler, this);\n this.renderer = this.renderer || null;\n this.selectionManager = this.selectionManager || null;\n this.linkifier = this.linkifier || new Linkifier_1.Linkifier();\n this.writeBuffer = [];\n this.writeInProgress = false;\n this.xoffSentToCatchUp = false;\n this.writeStopped = false;\n this.surrogate_high = '';\n this.lines = new CircularList_1.CircularList(this.scrollback);\n var i = this.rows;\n while (i--) {\n this.lines.push(this.blankLine());\n }\n if (this.selectionManager) {\n this.selectionManager.setBuffer(this.lines);\n }\n this.tabs;\n this.setupStops();\n this.userScrolling = false;\n}\ninherits(Terminal, EventEmitter_1.EventEmitter);\nTerminal.prototype.eraseAttr = function () {\n return (this.defAttr & ~0x1ff) | (this.curAttr & 0x1ff);\n};\nTerminal.tangoColors = [\n '#2e3436',\n '#cc0000',\n '#4e9a06',\n '#c4a000',\n '#3465a4',\n '#75507b',\n '#06989a',\n '#d3d7cf',\n '#555753',\n '#ef2929',\n '#8ae234',\n '#fce94f',\n '#729fcf',\n '#ad7fa8',\n '#34e2e2',\n '#eeeeec'\n];\nTerminal.colors = (function () {\n var colors = Terminal.tangoColors.slice(), r = [0x00, 0x5f, 0x87, 0xaf, 0xd7, 0xff], i;\n i = 0;\n for (; i < 216; i++) {\n out(r[(i / 36) % 6 | 0], r[(i / 6) % 6 | 0], r[i % 6]);\n }\n i = 0;\n for (; i < 24; i++) {\n r = 8 + i * 10;\n out(r, r, r);\n }\n function out(r, g, b) {\n colors.push('#' + hex(r) + hex(g) + hex(b));\n }\n function hex(c) {\n c = c.toString(16);\n return c.length < 2 ? '0' + c : c;\n }\n return colors;\n})();\nTerminal._colors = Terminal.colors.slice();\nTerminal.vcolors = (function () {\n var out = [], colors = Terminal.colors, i = 0, color;\n for (; i < 256; i++) {\n color = parseInt(colors[i].substring(1), 16);\n out.push([\n (color >> 16) & 0xff,\n (color >> 8) & 0xff,\n color & 0xff\n ]);\n }\n return out;\n})();\nTerminal.defaults = {\n colors: Terminal.colors,\n theme: 'default',\n convertEol: false,\n termName: 'xterm',\n geometry: [80, 24],\n cursorBlink: false,\n cursorStyle: 'block',\n visualBell: false,\n popOnBell: false,\n scrollback: 1000,\n screenKeys: false,\n debug: false,\n cancelEvents: false,\n disableStdin: false,\n useFlowControl: false,\n tabStopWidth: 8\n};\nTerminal.options = {};\nTerminal.focus = null;\neach(keys(Terminal.defaults), function (key) {\n Terminal[key] = Terminal.defaults[key];\n Terminal.options[key] = Terminal.defaults[key];\n});\nTerminal.prototype.focus = function () {\n return this.textarea.focus();\n};\nTerminal.prototype.getOption = function (key, value) {\n if (!(key in Terminal.defaults)) {\n throw new Error('No option with key \"' + key + '\"');\n }\n if (typeof this.options[key] !== 'undefined') {\n return this.options[key];\n }\n return this[key];\n};\nTerminal.prototype.setOption = function (key, value) {\n if (!(key in Terminal.defaults)) {\n throw new Error('No option with key \"' + key + '\"');\n }\n switch (key) {\n case 'scrollback':\n if (value < this.rows) {\n var msg = 'Setting the scrollback value less than the number of rows ';\n msg += \"(\" + this.rows + \") is not allowed.\";\n console.warn(msg);\n return false;\n }\n if (this.options[key] !== value) {\n if (this.lines.length > value) {\n var amountToTrim = this.lines.length - value;\n var needsRefresh = (this.ydisp - amountToTrim < 0);\n this.lines.trimStart(amountToTrim);\n this.ybase = Math.max(this.ybase - amountToTrim, 0);\n this.ydisp = Math.max(this.ydisp - amountToTrim, 0);\n if (needsRefresh) {\n this.refresh(0, this.rows - 1);\n }\n }\n this.lines.maxLength = value;\n this.viewport.syncScrollArea();\n }\n break;\n }\n this[key] = value;\n this.options[key] = value;\n switch (key) {\n case 'cursorBlink':\n this.setCursorBlinking(value);\n break;\n case 'cursorStyle':\n this.element.classList.toggle(\"xterm-cursor-style-underline\", value === 'underline');\n this.element.classList.toggle(\"xterm-cursor-style-bar\", value === 'bar');\n break;\n case 'tabStopWidth':\n this.setupStops();\n break;\n }\n};\nTerminal.prototype.restartCursorBlinking = function () {\n this.setCursorBlinking(this.options.cursorBlink);\n};\nTerminal.prototype.setCursorBlinking = function (enabled) {\n this.element.classList.toggle('xterm-cursor-blink', enabled);\n this.clearCursorBlinkingInterval();\n if (enabled) {\n var self = this;\n this.cursorBlinkInterval = setInterval(function () {\n self.element.classList.toggle('xterm-cursor-blink-on');\n }, CURSOR_BLINK_INTERVAL);\n }\n};\nTerminal.prototype.clearCursorBlinkingInterval = function () {\n this.element.classList.remove('xterm-cursor-blink-on');\n if (this.cursorBlinkInterval) {\n clearInterval(this.cursorBlinkInterval);\n this.cursorBlinkInterval = null;\n }\n};\nTerminal.bindFocus = function (term) {\n on(term.textarea, 'focus', function (ev) {\n if (term.sendFocus) {\n term.send(EscapeSequences_1.C0.ESC + '[I');\n }\n term.element.classList.add('focus');\n term.showCursor();\n term.restartCursorBlinking.apply(term);\n Terminal.focus = term;\n term.emit('focus', { terminal: term });\n });\n};\nTerminal.prototype.blur = function () {\n return this.textarea.blur();\n};\nTerminal.bindBlur = function (term) {\n on(term.textarea, 'blur', function (ev) {\n term.refresh(term.y, term.y);\n if (term.sendFocus) {\n term.send(EscapeSequences_1.C0.ESC + '[O');\n }\n term.element.classList.remove('focus');\n term.clearCursorBlinkingInterval.apply(term);\n Terminal.focus = null;\n term.emit('blur', { terminal: term });\n });\n};\nTerminal.prototype.initGlobal = function () {\n var _this = this;\n var term = this;\n Terminal.bindKeys(this);\n Terminal.bindFocus(this);\n Terminal.bindBlur(this);\n on(this.element, 'copy', function (event) {\n if (_this.mouseEvents) {\n return;\n }\n Clipboard_1.copyHandler(event, term, _this.selectionManager);\n });\n var pasteHandlerWrapper = function (event) { return Clipboard_1.pasteHandler(event, term); };\n on(this.textarea, 'paste', pasteHandlerWrapper);\n on(this.element, 'paste', pasteHandlerWrapper);\n if (term.browser.isFirefox) {\n on(this.element, 'mousedown', function (event) {\n if (event.button == 2) {\n Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager);\n }\n });\n }\n else {\n on(this.element, 'contextmenu', function (event) {\n Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager);\n });\n }\n if (term.browser.isLinux) {\n on(this.element, 'auxclick', function (event) {\n if (event.button === 1) {\n Clipboard_1.moveTextAreaUnderMouseCursor(event, _this.textarea, _this.selectionManager);\n }\n });\n }\n};\nTerminal.bindKeys = function (term) {\n on(term.element, 'keydown', function (ev) {\n if (document.activeElement != this) {\n return;\n }\n term.keyDown(ev);\n }, true);\n on(term.element, 'keypress', function (ev) {\n if (document.activeElement != this) {\n return;\n }\n term.keyPress(ev);\n }, true);\n on(term.element, 'keyup', function (ev) {\n if (!wasMondifierKeyOnlyEvent(ev)) {\n term.focus(term);\n }\n }, true);\n on(term.textarea, 'keydown', function (ev) {\n term.keyDown(ev);\n }, true);\n on(term.textarea, 'keypress', function (ev) {\n term.keyPress(ev);\n this.value = '';\n }, true);\n on(term.textarea, 'compositionstart', term.compositionHelper.compositionstart.bind(term.compositionHelper));\n on(term.textarea, 'compositionupdate', term.compositionHelper.compositionupdate.bind(term.compositionHelper));\n on(term.textarea, 'compositionend', term.compositionHelper.compositionend.bind(term.compositionHelper));\n term.on('refresh', term.compositionHelper.updateCompositionElements.bind(term.compositionHelper));\n term.on('refresh', function (data) {\n term.queueLinkification(data.start, data.end);\n });\n};\nTerminal.prototype.insertRow = function (row) {\n if (typeof row != 'object') {\n row = document.createElement('div');\n }\n this.rowContainer.appendChild(row);\n this.children.push(row);\n return row;\n};\nTerminal.prototype.open = function (parent, focus) {\n var _this = this;\n var self = this, i = 0, div;\n this.parent = parent || this.parent;\n if (!this.parent) {\n throw new Error('Terminal requires a parent element.');\n }\n this.context = this.parent.ownerDocument.defaultView;\n this.document = this.parent.ownerDocument;\n this.body = this.document.getElementsByTagName('body')[0];\n this.element = this.document.createElement('div');\n this.element.classList.add('terminal');\n this.element.classList.add('xterm');\n this.element.classList.add('xterm-theme-' + this.theme);\n this.setCursorBlinking(this.options.cursorBlink);\n this.element.setAttribute('tabindex', 0);\n this.viewportElement = document.createElement('div');\n this.viewportElement.classList.add('xterm-viewport');\n this.element.appendChild(this.viewportElement);\n this.viewportScrollArea = document.createElement('div');\n this.viewportScrollArea.classList.add('xterm-scroll-area');\n this.viewportElement.appendChild(this.viewportScrollArea);\n this.selectionContainer = document.createElement('div');\n this.selectionContainer.classList.add('xterm-selection');\n this.element.appendChild(this.selectionContainer);\n this.rowContainer = document.createElement('div');\n this.rowContainer.classList.add('xterm-rows');\n this.element.appendChild(this.rowContainer);\n this.children = [];\n this.linkifier.attachToDom(document, this.children);\n this.helperContainer = document.createElement('div');\n this.helperContainer.classList.add('xterm-helpers');\n this.element.appendChild(this.helperContainer);\n this.textarea = document.createElement('textarea');\n this.textarea.classList.add('xterm-helper-textarea');\n this.textarea.setAttribute('autocorrect', 'off');\n this.textarea.setAttribute('autocapitalize', 'off');\n this.textarea.setAttribute('spellcheck', 'false');\n this.textarea.tabIndex = 0;\n this.textarea.addEventListener('focus', function () {\n self.emit('focus', { terminal: self });\n });\n this.textarea.addEventListener('blur', function () {\n self.emit('blur', { terminal: self });\n });\n this.helperContainer.appendChild(this.textarea);\n this.compositionView = document.createElement('div');\n this.compositionView.classList.add('composition-view');\n this.compositionHelper = new CompositionHelper_1.CompositionHelper(this.textarea, this.compositionView, this);\n this.helperContainer.appendChild(this.compositionView);\n this.charSizeStyleElement = document.createElement('style');\n this.helperContainer.appendChild(this.charSizeStyleElement);\n for (; i < this.rows; i++) {\n this.insertRow();\n }\n this.parent.appendChild(this.element);\n this.charMeasure = new CharMeasure_1.CharMeasure(document, this.helperContainer);\n this.charMeasure.on('charsizechanged', function () {\n self.updateCharSizeStyles();\n });\n this.charMeasure.measure();\n this.viewport = new Viewport_1.Viewport(this, this.viewportElement, this.viewportScrollArea, this.charMeasure);\n this.renderer = new Renderer_1.Renderer(this);\n this.selectionManager = new SelectionManager_1.SelectionManager(this, this.lines, this.rowContainer, this.charMeasure);\n this.selectionManager.on('refresh', function (data) {\n _this.renderer.refreshSelection(data.start, data.end);\n });\n this.selectionManager.on('newselection', function (text) {\n _this.textarea.value = text;\n _this.textarea.focus();\n _this.textarea.select();\n });\n this.on('scroll', function () { return _this.selectionManager.refresh(); });\n this.viewportElement.addEventListener('scroll', function () { return _this.selectionManager.refresh(); });\n this.refresh(0, this.rows - 1);\n this.initGlobal();\n if (typeof focus == 'undefined') {\n var message = 'You did not pass the `focus` argument in `Terminal.prototype.open()`.\\n';\n message += 'The `focus` argument now defaults to `true` but starting with xterm.js 3.0 ';\n message += 'it will default to `false`.';\n console.warn(message);\n focus = true;\n }\n if (focus) {\n this.focus();\n }\n on(this.element, 'click', function () {\n var selection = document.getSelection(), collapsed = selection.isCollapsed, isRange = typeof collapsed == 'boolean' ? !collapsed : selection.type == 'Range';\n if (!isRange) {\n self.focus();\n }\n });\n this.bindMouse();\n this.emit('open');\n};\nTerminal.loadAddon = function (addon, callback) {\n if (typeof exports === 'object' && typeof module === 'object') {\n return require('./addons/' + addon + '/' + addon);\n }\n else if (typeof define == 'function') {\n return require(['./addons/' + addon + '/' + addon], callback);\n }\n else {\n console.error('Cannot load a module without a CommonJS or RequireJS environment.');\n return false;\n }\n};\nTerminal.prototype.updateCharSizeStyles = function () {\n this.charSizeStyleElement.textContent =\n \".xterm-wide-char{width:\" + this.charMeasure.width * 2 + \"px;}\" +\n (\".xterm-normal-char{width:\" + this.charMeasure.width + \"px;}\") +\n (\".xterm-rows > div{height:\" + this.charMeasure.height + \"px;}\");\n};\nTerminal.prototype.bindMouse = function () {\n var el = this.element, self = this, pressed = 32;\n function sendButton(ev) {\n var button, pos;\n button = getButton(ev);\n pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows);\n if (!pos)\n return;\n sendEvent(button, pos);\n switch (ev.overrideType || ev.type) {\n case 'mousedown':\n pressed = button;\n break;\n case 'mouseup':\n pressed = 32;\n break;\n case 'wheel':\n break;\n }\n }\n function sendMove(ev) {\n var button = pressed, pos;\n pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows);\n if (!pos)\n return;\n button += 32;\n sendEvent(button, pos);\n }\n function encode(data, ch) {\n if (!self.utfMouse) {\n if (ch === 255)\n return data.push(0);\n if (ch > 127)\n ch = 127;\n data.push(ch);\n }\n else {\n if (ch === 2047)\n return data.push(0);\n if (ch < 127) {\n data.push(ch);\n }\n else {\n if (ch > 2047)\n ch = 2047;\n data.push(0xC0 | (ch >> 6));\n data.push(0x80 | (ch & 0x3F));\n }\n }\n }\n function sendEvent(button, pos) {\n if (self.vt300Mouse) {\n button &= 3;\n pos.x -= 32;\n pos.y -= 32;\n var data = EscapeSequences_1.C0.ESC + '[24';\n if (button === 0)\n data += '1';\n else if (button === 1)\n data += '3';\n else if (button === 2)\n data += '5';\n else if (button === 3)\n return;\n else\n data += '0';\n data += '~[' + pos.x + ',' + pos.y + ']\\r';\n self.send(data);\n return;\n }\n if (self.decLocator) {\n button &= 3;\n pos.x -= 32;\n pos.y -= 32;\n if (button === 0)\n button = 2;\n else if (button === 1)\n button = 4;\n else if (button === 2)\n button = 6;\n else if (button === 3)\n button = 3;\n self.send(EscapeSequences_1.C0.ESC + '['\n + button\n + ';'\n + (button === 3 ? 4 : 0)\n + ';'\n + pos.y\n + ';'\n + pos.x\n + ';'\n + (pos.page || 0)\n + '&w');\n return;\n }\n if (self.urxvtMouse) {\n pos.x -= 32;\n pos.y -= 32;\n pos.x++;\n pos.y++;\n self.send(EscapeSequences_1.C0.ESC + '[' + button + ';' + pos.x + ';' + pos.y + 'M');\n return;\n }\n if (self.sgrMouse) {\n pos.x -= 32;\n pos.y -= 32;\n self.send(EscapeSequences_1.C0.ESC + '[<'\n + (((button & 3) === 3 ? button & ~3 : button) - 32)\n + ';'\n + pos.x\n + ';'\n + pos.y\n + ((button & 3) === 3 ? 'm' : 'M'));\n return;\n }\n var data = [];\n encode(data, button);\n encode(data, pos.x);\n encode(data, pos.y);\n self.send(EscapeSequences_1.C0.ESC + '[M' + String.fromCharCode.apply(String, data));\n }\n function getButton(ev) {\n var button, shift, meta, ctrl, mod;\n switch (ev.overrideType || ev.type) {\n case 'mousedown':\n button = ev.button != null\n ? +ev.button\n : ev.which != null\n ? ev.which - 1\n : null;\n if (self.browser.isMSIE) {\n button = button === 1 ? 0 : button === 4 ? 1 : button;\n }\n break;\n case 'mouseup':\n button = 3;\n break;\n case 'DOMMouseScroll':\n button = ev.detail < 0\n ? 64\n : 65;\n break;\n case 'wheel':\n button = ev.wheelDeltaY > 0\n ? 64\n : 65;\n break;\n }\n shift = ev.shiftKey ? 4 : 0;\n meta = ev.metaKey ? 8 : 0;\n ctrl = ev.ctrlKey ? 16 : 0;\n mod = shift | meta | ctrl;\n if (self.vt200Mouse) {\n mod &= ctrl;\n }\n else if (!self.normalMouse) {\n mod = 0;\n }\n button = (32 + (mod << 2)) + button;\n return button;\n }\n on(el, 'mousedown', function (ev) {\n if (!self.mouseEvents)\n return;\n sendButton(ev);\n self.focus();\n if (self.vt200Mouse) {\n ev.overrideType = 'mouseup';\n sendButton(ev);\n return self.cancel(ev);\n }\n if (self.normalMouse)\n on(self.document, 'mousemove', sendMove);\n if (!self.x10Mouse) {\n on(self.document, 'mouseup', function up(ev) {\n sendButton(ev);\n if (self.normalMouse)\n off(self.document, 'mousemove', sendMove);\n off(self.document, 'mouseup', up);\n return self.cancel(ev);\n });\n }\n return self.cancel(ev);\n });\n on(el, 'wheel', function (ev) {\n if (!self.mouseEvents)\n return;\n if (self.x10Mouse\n || self.vt300Mouse\n || self.decLocator)\n return;\n sendButton(ev);\n return self.cancel(ev);\n });\n on(el, 'wheel', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onWheel(ev);\n return self.cancel(ev);\n });\n on(el, 'touchstart', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onTouchStart(ev);\n return self.cancel(ev);\n });\n on(el, 'touchmove', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onTouchMove(ev);\n return self.cancel(ev);\n });\n};\nTerminal.prototype.destroy = function () {\n this.readable = false;\n this.writable = false;\n this._events = {};\n this.handler = function () { };\n this.write = function () { };\n if (this.element && this.element.parentNode) {\n this.element.parentNode.removeChild(this.element);\n }\n};\nTerminal.prototype.refresh = function (start, end) {\n if (this.renderer) {\n this.renderer.queueRefresh(start, end);\n }\n};\nTerminal.prototype.queueLinkification = function (start, end) {\n if (this.linkifier) {\n for (var i = start; i <= end; i++) {\n this.linkifier.linkifyRow(i);\n }\n }\n};\nTerminal.prototype.showCursor = function () {\n if (!this.cursorState) {\n this.cursorState = 1;\n this.refresh(this.y, this.y);\n }\n};\nTerminal.prototype.scroll = function (isWrapped) {\n var row;\n if (this.lines.length === this.lines.maxLength) {\n this.lines.trimStart(1);\n this.ybase--;\n if (this.ydisp !== 0) {\n this.ydisp--;\n }\n }\n this.ybase++;\n if (!this.userScrolling) {\n this.ydisp = this.ybase;\n }\n row = this.ybase + this.rows - 1;\n row -= this.rows - 1 - this.scrollBottom;\n if (row === this.lines.length) {\n this.lines.push(this.blankLine(undefined, isWrapped));\n }\n else {\n this.lines.splice(row, 0, this.blankLine(undefined, isWrapped));\n }\n if (this.scrollTop !== 0) {\n if (this.ybase !== 0) {\n this.ybase--;\n if (!this.userScrolling) {\n this.ydisp = this.ybase;\n }\n }\n this.lines.splice(this.ybase + this.scrollTop, 1);\n }\n this.updateRange(this.scrollTop);\n this.updateRange(this.scrollBottom);\n this.emit('scroll', this.ydisp);\n};\nTerminal.prototype.scrollDisp = function (disp, suppressScrollEvent) {\n if (disp < 0) {\n if (this.ydisp === 0) {\n return;\n }\n this.userScrolling = true;\n }\n else if (disp + this.ydisp >= this.ybase) {\n this.userScrolling = false;\n }\n this.ydisp += disp;\n if (this.ydisp > this.ybase) {\n this.ydisp = this.ybase;\n }\n else if (this.ydisp < 0) {\n this.ydisp = 0;\n }\n if (!suppressScrollEvent) {\n this.emit('scroll', this.ydisp);\n }\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.scrollPages = function (pageCount) {\n this.scrollDisp(pageCount * (this.rows - 1));\n};\nTerminal.prototype.scrollToTop = function () {\n this.scrollDisp(-this.ydisp);\n};\nTerminal.prototype.scrollToBottom = function () {\n this.scrollDisp(this.ybase - this.ydisp);\n};\nTerminal.prototype.write = function (data) {\n this.writeBuffer.push(data);\n if (this.options.useFlowControl && !this.xoffSentToCatchUp && this.writeBuffer.length >= WRITE_BUFFER_PAUSE_THRESHOLD) {\n this.send(EscapeSequences_1.C0.DC3);\n this.xoffSentToCatchUp = true;\n }\n if (!this.writeInProgress && this.writeBuffer.length > 0) {\n this.writeInProgress = true;\n var self = this;\n setTimeout(function () {\n self.innerWrite();\n });\n }\n};\nTerminal.prototype.innerWrite = function () {\n var writeBatch = this.writeBuffer.splice(0, WRITE_BATCH_SIZE);\n while (writeBatch.length > 0) {\n var data = writeBatch.shift();\n var l = data.length, i = 0, j, cs, ch, code, low, ch_width, row;\n if (this.xoffSentToCatchUp && writeBatch.length === 0 && this.writeBuffer.length === 0) {\n this.send(EscapeSequences_1.C0.DC1);\n this.xoffSentToCatchUp = false;\n }\n this.refreshStart = this.y;\n this.refreshEnd = this.y;\n var state = this.parser.parse(data);\n this.parser.setState(state);\n this.updateRange(this.y);\n this.refresh(this.refreshStart, this.refreshEnd);\n }\n if (this.writeBuffer.length > 0) {\n var self = this;\n setTimeout(function () {\n self.innerWrite();\n }, 0);\n }\n else {\n this.writeInProgress = false;\n }\n};\nTerminal.prototype.writeln = function (data) {\n this.write(data + '\\r\\n');\n};\nTerminal.prototype.attachCustomKeydownHandler = function (customKeydownHandler) {\n var message = 'attachCustomKeydownHandler() is DEPRECATED and will be removed soon. Please use attachCustomKeyEventHandler() instead.';\n console.warn(message);\n this.attachCustomKeyEventHandler(customKeydownHandler);\n};\nTerminal.prototype.attachCustomKeyEventHandler = function (customKeyEventHandler) {\n this.customKeyEventHandler = customKeyEventHandler;\n};\nTerminal.prototype.setHypertextLinkHandler = function (handler) {\n if (!this.linkifier) {\n throw new Error('Cannot attach a hypertext link handler before Terminal.open is called');\n }\n this.linkifier.setHypertextLinkHandler(handler);\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.setHypertextValidationCallback = function (callback) {\n if (!this.linkifier) {\n throw new Error('Cannot attach a hypertext validation callback before Terminal.open is called');\n }\n this.linkifier.setHypertextValidationCallback(callback);\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.registerLinkMatcher = function (regex, handler, options) {\n if (this.linkifier) {\n var matcherId = this.linkifier.registerLinkMatcher(regex, handler, options);\n this.refresh(0, this.rows - 1);\n return matcherId;\n }\n};\nTerminal.prototype.deregisterLinkMatcher = function (matcherId) {\n if (this.linkifier) {\n if (this.linkifier.deregisterLinkMatcher(matcherId)) {\n this.refresh(0, this.rows - 1);\n }\n }\n};\nTerminal.prototype.hasSelection = function () {\n return this.selectionManager.hasSelection;\n};\nTerminal.prototype.getSelection = function () {\n return this.selectionManager.selectionText;\n};\nTerminal.prototype.clearSelection = function () {\n this.selectionManager.clearSelection();\n};\nTerminal.prototype.selectAll = function () {\n this.selectionManager.selectAll();\n};\nTerminal.prototype.keyDown = function (ev) {\n if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) {\n return false;\n }\n this.restartCursorBlinking();\n if (!this.compositionHelper.keydown.bind(this.compositionHelper)(ev)) {\n if (this.ybase !== this.ydisp) {\n this.scrollToBottom();\n }\n return false;\n }\n var self = this;\n var result = this.evaluateKeyEscapeSequence(ev);\n if (result.key === EscapeSequences_1.C0.DC3) {\n this.writeStopped = true;\n }\n else if (result.key === EscapeSequences_1.C0.DC1) {\n this.writeStopped = false;\n }\n if (result.scrollDisp) {\n this.scrollDisp(result.scrollDisp);\n return this.cancel(ev, true);\n }\n if (isThirdLevelShift(this, ev)) {\n return true;\n }\n if (result.cancel) {\n this.cancel(ev, true);\n }\n if (!result.key) {\n return true;\n }\n this.emit('keydown', ev);\n this.emit('key', result.key, ev);\n this.showCursor();\n this.handler(result.key);\n return this.cancel(ev, true);\n};\nTerminal.prototype.evaluateKeyEscapeSequence = function (ev) {\n var result = {\n cancel: false,\n key: undefined,\n scrollDisp: undefined\n };\n var modifiers = ev.shiftKey << 0 | ev.altKey << 1 | ev.ctrlKey << 2 | ev.metaKey << 3;\n switch (ev.keyCode) {\n case 8:\n if (ev.shiftKey) {\n result.key = EscapeSequences_1.C0.BS;\n break;\n }\n result.key = EscapeSequences_1.C0.DEL;\n break;\n case 9:\n if (ev.shiftKey) {\n result.key = EscapeSequences_1.C0.ESC + '[Z';\n break;\n }\n result.key = EscapeSequences_1.C0.HT;\n result.cancel = true;\n break;\n case 13:\n result.key = EscapeSequences_1.C0.CR;\n result.cancel = true;\n break;\n case 27:\n result.key = EscapeSequences_1.C0.ESC;\n result.cancel = true;\n break;\n case 37:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'D';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3D') {\n result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'b' : EscapeSequences_1.C0.ESC + '[1;5D';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OD';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[D';\n }\n break;\n case 39:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'C';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3C') {\n result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'f' : EscapeSequences_1.C0.ESC + '[1;5C';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OC';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[C';\n }\n break;\n case 38:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'A';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3A') {\n result.key = EscapeSequences_1.C0.ESC + '[1;5A';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OA';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[A';\n }\n break;\n case 40:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'B';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3B') {\n result.key = EscapeSequences_1.C0.ESC + '[1;5B';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OB';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[B';\n }\n break;\n case 45:\n if (!ev.shiftKey && !ev.ctrlKey) {\n result.key = EscapeSequences_1.C0.ESC + '[2~';\n }\n break;\n case 46:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[3;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[3~';\n }\n break;\n case 36:\n if (modifiers)\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'H';\n else if (this.applicationCursor)\n result.key = EscapeSequences_1.C0.ESC + 'OH';\n else\n result.key = EscapeSequences_1.C0.ESC + '[H';\n break;\n case 35:\n if (modifiers)\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'F';\n else if (this.applicationCursor)\n result.key = EscapeSequences_1.C0.ESC + 'OF';\n else\n result.key = EscapeSequences_1.C0.ESC + '[F';\n break;\n case 33:\n if (ev.shiftKey) {\n result.scrollDisp = -(this.rows - 1);\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[5~';\n }\n break;\n case 34:\n if (ev.shiftKey) {\n result.scrollDisp = this.rows - 1;\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[6~';\n }\n break;\n case 112:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'P';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OP';\n }\n break;\n case 113:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'Q';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OQ';\n }\n break;\n case 114:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'R';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OR';\n }\n break;\n case 115:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'S';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OS';\n }\n break;\n case 116:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[15;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[15~';\n }\n break;\n case 117:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[17;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[17~';\n }\n break;\n case 118:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[18;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[18~';\n }\n break;\n case 119:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[19;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[19~';\n }\n break;\n case 120:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[20;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[20~';\n }\n break;\n case 121:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[21;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[21~';\n }\n break;\n case 122:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[23;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[23~';\n }\n break;\n case 123:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[24;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[24~';\n }\n break;\n default:\n if (ev.ctrlKey && !ev.shiftKey && !ev.altKey && !ev.metaKey) {\n if (ev.keyCode >= 65 && ev.keyCode <= 90) {\n result.key = String.fromCharCode(ev.keyCode - 64);\n }\n else if (ev.keyCode === 32) {\n result.key = String.fromCharCode(0);\n }\n else if (ev.keyCode >= 51 && ev.keyCode <= 55) {\n result.key = String.fromCharCode(ev.keyCode - 51 + 27);\n }\n else if (ev.keyCode === 56) {\n result.key = String.fromCharCode(127);\n }\n else if (ev.keyCode === 219) {\n result.key = String.fromCharCode(27);\n }\n else if (ev.keyCode === 220) {\n result.key = String.fromCharCode(28);\n }\n else if (ev.keyCode === 221) {\n result.key = String.fromCharCode(29);\n }\n }\n else if (!this.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) {\n if (ev.keyCode >= 65 && ev.keyCode <= 90) {\n result.key = EscapeSequences_1.C0.ESC + String.fromCharCode(ev.keyCode + 32);\n }\n else if (ev.keyCode === 192) {\n result.key = EscapeSequences_1.C0.ESC + '`';\n }\n else if (ev.keyCode >= 48 && ev.keyCode <= 57) {\n result.key = EscapeSequences_1.C0.ESC + (ev.keyCode - 48);\n }\n }\n else if (this.browser.isMac && !ev.altKey && !ev.ctrlKey && ev.metaKey) {\n if (ev.keyCode === 65) {\n this.selectAll();\n }\n }\n break;\n }\n return result;\n};\nTerminal.prototype.setgLevel = function (g) {\n this.glevel = g;\n this.charset = this.charsets[g];\n};\nTerminal.prototype.setgCharset = function (g, charset) {\n this.charsets[g] = charset;\n if (this.glevel === g) {\n this.charset = charset;\n }\n};\nTerminal.prototype.keyPress = function (ev) {\n var key;\n if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) {\n return false;\n }\n this.cancel(ev);\n if (ev.charCode) {\n key = ev.charCode;\n }\n else if (ev.which == null) {\n key = ev.keyCode;\n }\n else if (ev.which !== 0 && ev.charCode !== 0) {\n key = ev.which;\n }\n else {\n return false;\n }\n if (!key || ((ev.altKey || ev.ctrlKey || ev.metaKey) && !isThirdLevelShift(this, ev))) {\n return false;\n }\n key = String.fromCharCode(key);\n this.emit('keypress', key, ev);\n this.emit('key', key, ev);\n this.showCursor();\n this.handler(key);\n return true;\n};\nTerminal.prototype.send = function (data) {\n var self = this;\n if (!this.queue) {\n setTimeout(function () {\n self.handler(self.queue);\n self.queue = '';\n }, 1);\n }\n this.queue += data;\n};\nTerminal.prototype.bell = function () {\n if (!this.visualBell)\n return;\n var self = this;\n this.element.style.borderColor = 'white';\n setTimeout(function () {\n self.element.style.borderColor = '';\n }, 10);\n if (this.popOnBell)\n this.focus();\n};\nTerminal.prototype.log = function () {\n if (!this.debug)\n return;\n if (!this.context.console || !this.context.console.log)\n return;\n var args = Array.prototype.slice.call(arguments);\n this.context.console.log.apply(this.context.console, args);\n};\nTerminal.prototype.error = function () {\n if (!this.debug)\n return;\n if (!this.context.console || !this.context.console.error)\n return;\n var args = Array.prototype.slice.call(arguments);\n this.context.console.error.apply(this.context.console, args);\n};\nTerminal.prototype.resize = function (x, y) {\n if (isNaN(x) || isNaN(y)) {\n return;\n }\n if (y > this.getOption('scrollback')) {\n this.setOption('scrollback', y);\n }\n var line, el, i, j, ch, addToY;\n if (x === this.cols && y === this.rows) {\n return;\n }\n if (x < 1)\n x = 1;\n if (y < 1)\n y = 1;\n j = this.cols;\n if (j < x) {\n ch = [this.defAttr, ' ', 1];\n i = this.lines.length;\n while (i--) {\n while (this.lines.get(i).length < x) {\n this.lines.get(i).push(ch);\n }\n }\n }\n this.cols = x;\n this.setupStops(this.cols);\n j = this.rows;\n addToY = 0;\n if (j < y) {\n el = this.element;\n while (j++ < y) {\n if (this.lines.length < y + this.ybase) {\n if (this.ybase > 0 && this.lines.length <= this.ybase + this.y + addToY + 1) {\n this.ybase--;\n addToY++;\n if (this.ydisp > 0) {\n this.ydisp--;\n }\n }\n else {\n this.lines.push(this.blankLine());\n }\n }\n if (this.children.length < y) {\n this.insertRow();\n }\n }\n }\n else {\n while (j-- > y) {\n if (this.lines.length > y + this.ybase) {\n if (this.lines.length > this.ybase + this.y + 1) {\n this.lines.pop();\n }\n else {\n this.ybase++;\n this.ydisp++;\n }\n }\n if (this.children.length > y) {\n el = this.children.shift();\n if (!el)\n continue;\n el.parentNode.removeChild(el);\n }\n }\n }\n this.rows = y;\n if (this.y >= y) {\n this.y = y - 1;\n }\n if (addToY) {\n this.y += addToY;\n }\n if (this.x >= x) {\n this.x = x - 1;\n }\n this.scrollTop = 0;\n this.scrollBottom = y - 1;\n this.charMeasure.measure();\n this.refresh(0, this.rows - 1);\n this.normal = null;\n this.geometry = [this.cols, this.rows];\n this.emit('resize', { terminal: this, cols: x, rows: y });\n};\nTerminal.prototype.updateRange = function (y) {\n if (y < this.refreshStart)\n this.refreshStart = y;\n if (y > this.refreshEnd)\n this.refreshEnd = y;\n};\nTerminal.prototype.maxRange = function () {\n this.refreshStart = 0;\n this.refreshEnd = this.rows - 1;\n};\nTerminal.prototype.setupStops = function (i) {\n if (i != null) {\n if (!this.tabs[i]) {\n i = this.prevStop(i);\n }\n }\n else {\n this.tabs = {};\n i = 0;\n }\n for (; i < this.cols; i += this.getOption('tabStopWidth')) {\n this.tabs[i] = true;\n }\n};\nTerminal.prototype.prevStop = function (x) {\n if (x == null)\n x = this.x;\n while (!this.tabs[--x] && x > 0)\n ;\n return x >= this.cols\n ? this.cols - 1\n : x < 0 ? 0 : x;\n};\nTerminal.prototype.nextStop = function (x) {\n if (x == null)\n x = this.x;\n while (!this.tabs[++x] && x < this.cols)\n ;\n return x >= this.cols\n ? this.cols - 1\n : x < 0 ? 0 : x;\n};\nTerminal.prototype.eraseRight = function (x, y) {\n var line = this.lines.get(this.ybase + y);\n if (!line) {\n return;\n }\n var ch = [this.eraseAttr(), ' ', 1];\n for (; x < this.cols; x++) {\n line[x] = ch;\n }\n this.updateRange(y);\n};\nTerminal.prototype.eraseLeft = function (x, y) {\n var line = this.lines.get(this.ybase + y);\n if (!line) {\n return;\n }\n var ch = [this.eraseAttr(), ' ', 1];\n x++;\n while (x--) {\n line[x] = ch;\n }\n this.updateRange(y);\n};\nTerminal.prototype.clear = function () {\n if (this.ybase === 0 && this.y === 0) {\n return;\n }\n this.lines.set(0, this.lines.get(this.ybase + this.y));\n this.lines.length = 1;\n this.ydisp = 0;\n this.ybase = 0;\n this.y = 0;\n for (var i = 1; i < this.rows; i++) {\n this.lines.push(this.blankLine());\n }\n this.refresh(0, this.rows - 1);\n this.emit('scroll', this.ydisp);\n};\nTerminal.prototype.eraseLine = function (y) {\n this.eraseRight(0, y);\n};\nTerminal.prototype.blankLine = function (cur, isWrapped) {\n var attr = cur\n ? this.eraseAttr()\n : this.defAttr;\n var ch = [attr, ' ', 1], line = [], i = 0;\n if (isWrapped) {\n line.isWrapped = isWrapped;\n }\n for (; i < this.cols; i++) {\n line[i] = ch;\n }\n return line;\n};\nTerminal.prototype.ch = function (cur) {\n return cur\n ? [this.eraseAttr(), ' ', 1]\n : [this.defAttr, ' ', 1];\n};\nTerminal.prototype.is = function (term) {\n var name = this.termName;\n return (name + '').indexOf(term) === 0;\n};\nTerminal.prototype.handler = function (data) {\n if (this.options.disableStdin) {\n return;\n }\n if (this.ybase !== this.ydisp) {\n this.scrollToBottom();\n }\n this.emit('data', data);\n};\nTerminal.prototype.handleTitle = function (title) {\n this.emit('title', title);\n};\nTerminal.prototype.index = function () {\n this.y++;\n if (this.y > this.scrollBottom) {\n this.y--;\n this.scroll();\n }\n if (this.x >= this.cols) {\n this.x--;\n }\n};\nTerminal.prototype.reverseIndex = function () {\n var j;\n if (this.y === this.scrollTop) {\n this.lines.shiftElements(this.y + this.ybase, this.rows - 1, 1);\n this.lines.set(this.y + this.ybase, this.blankLine(true));\n this.updateRange(this.scrollTop);\n this.updateRange(this.scrollBottom);\n }\n else {\n this.y--;\n }\n};\nTerminal.prototype.reset = function () {\n this.options.rows = this.rows;\n this.options.cols = this.cols;\n var customKeyEventHandler = this.customKeyEventHandler;\n var cursorBlinkInterval = this.cursorBlinkInterval;\n Terminal.call(this, this.options);\n this.customKeyEventHandler = customKeyEventHandler;\n this.cursorBlinkInterval = cursorBlinkInterval;\n this.refresh(0, this.rows - 1);\n this.viewport.syncScrollArea();\n};\nTerminal.prototype.tabSet = function () {\n this.tabs[this.x] = true;\n};\nfunction on(el, type, handler, capture) {\n if (!Array.isArray(el)) {\n el = [el];\n }\n el.forEach(function (element) {\n element.addEventListener(type, handler, capture || false);\n });\n}\nfunction off(el, type, handler, capture) {\n el.removeEventListener(type, handler, capture || false);\n}\nfunction cancel(ev, force) {\n if (!this.cancelEvents && !force) {\n return;\n }\n ev.preventDefault();\n ev.stopPropagation();\n return false;\n}\nfunction inherits(child, parent) {\n function f() {\n this.constructor = child;\n }\n f.prototype = parent.prototype;\n child.prototype = new f;\n}\nfunction indexOf(obj, el) {\n var i = obj.length;\n while (i--) {\n if (obj[i] === el)\n return i;\n }\n return -1;\n}\nfunction isThirdLevelShift(term, ev) {\n var thirdLevelKey = (term.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) ||\n (term.browser.isMSWindows && ev.altKey && ev.ctrlKey && !ev.metaKey);\n if (ev.type == 'keypress') {\n return thirdLevelKey;\n }\n return thirdLevelKey && (!ev.keyCode || ev.keyCode > 47);\n}\nTerminal.prototype.matchColor = matchColor;\nfunction matchColor(r1, g1, b1) {\n var hash = (r1 << 16) | (g1 << 8) | b1;\n if (matchColor._cache[hash] != null) {\n return matchColor._cache[hash];\n }\n var ldiff = Infinity, li = -1, i = 0, c, r2, g2, b2, diff;\n for (; i < Terminal.vcolors.length; i++) {\n c = Terminal.vcolors[i];\n r2 = c[0];\n g2 = c[1];\n b2 = c[2];\n diff = matchColor.distance(r1, g1, b1, r2, g2, b2);\n if (diff === 0) {\n li = i;\n break;\n }\n if (diff < ldiff) {\n ldiff = diff;\n li = i;\n }\n }\n return matchColor._cache[hash] = li;\n}\nmatchColor._cache = {};\nmatchColor.distance = function (r1, g1, b1, r2, g2, b2) {\n return Math.pow(30 * (r1 - r2), 2)\n + Math.pow(59 * (g1 - g2), 2)\n + Math.pow(11 * (b1 - b2), 2);\n};\nfunction each(obj, iter, con) {\n if (obj.forEach)\n return obj.forEach(iter, con);\n for (var i = 0; i < obj.length; i++) {\n iter.call(con, obj[i], i, obj);\n }\n}\nfunction wasMondifierKeyOnlyEvent(ev) {\n return ev.keyCode === 16 ||\n ev.keyCode === 17 ||\n ev.keyCode === 18;\n}\nfunction keys(obj) {\n if (Object.keys)\n return Object.keys(obj);\n var key, keys = [];\n for (key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n keys.push(key);\n }\n }\n return keys;\n}\nTerminal.EventEmitter = EventEmitter_1.EventEmitter;\nTerminal.inherits = inherits;\nTerminal.on = on;\nTerminal.off = off;\nTerminal.cancel = cancel;\nmodule.exports = Terminal;\n\n//# sourceMappingURL=xterm.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/xterm.js\n// module id = 0\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n;\nvar EventEmitter = (function () {\n function EventEmitter() {\n this._events = this._events || {};\n }\n EventEmitter.prototype.on = function (type, listener) {\n this._events[type] = this._events[type] || [];\n this._events[type].push(listener);\n };\n EventEmitter.prototype.off = function (type, listener) {\n if (!this._events[type]) {\n return;\n }\n var obj = this._events[type];\n var i = obj.length;\n while (i--) {\n if (obj[i] === listener || obj[i].listener === listener) {\n obj.splice(i, 1);\n return;\n }\n }\n };\n EventEmitter.prototype.removeAllListeners = function (type) {\n if (this._events[type]) {\n delete this._events[type];\n }\n };\n EventEmitter.prototype.once = function (type, listener) {\n function on() {\n var args = Array.prototype.slice.call(arguments);\n this.off(type, on);\n return listener.apply(this, args);\n }\n on.listener = listener;\n return this.on(type, on);\n };\n EventEmitter.prototype.emit = function (type) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!this._events[type]) {\n return;\n }\n var obj = this._events[type];\n for (var i = 0; i < obj.length; i++) {\n obj[i].apply(this, args);\n }\n };\n EventEmitter.prototype.listeners = function (type) {\n return this._events[type] || [];\n };\n return EventEmitter;\n}());\nexports.EventEmitter = EventEmitter;\n\n//# sourceMappingURL=EventEmitter.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/EventEmitter.js\n// module id = 1\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar C0;\n(function (C0) {\n C0.NUL = '\\x00';\n C0.SOH = '\\x01';\n C0.STX = '\\x02';\n C0.ETX = '\\x03';\n C0.EOT = '\\x04';\n C0.ENQ = '\\x05';\n C0.ACK = '\\x06';\n C0.BEL = '\\x07';\n C0.BS = '\\x08';\n C0.HT = '\\x09';\n C0.LF = '\\x0a';\n C0.VT = '\\x0b';\n C0.FF = '\\x0c';\n C0.CR = '\\x0d';\n C0.SO = '\\x0e';\n C0.SI = '\\x0f';\n C0.DLE = '\\x10';\n C0.DC1 = '\\x11';\n C0.DC2 = '\\x12';\n C0.DC3 = '\\x13';\n C0.DC4 = '\\x14';\n C0.NAK = '\\x15';\n C0.SYN = '\\x16';\n C0.ETB = '\\x17';\n C0.CAN = '\\x18';\n C0.EM = '\\x19';\n C0.SUB = '\\x1a';\n C0.ESC = '\\x1b';\n C0.FS = '\\x1c';\n C0.GS = '\\x1d';\n C0.RS = '\\x1e';\n C0.US = '\\x1f';\n C0.SP = '\\x20';\n C0.DEL = '\\x7f';\n})(C0 = exports.C0 || (exports.C0 = {}));\n;\n\n//# sourceMappingURL=EscapeSequences.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/EscapeSequences.js\n// module id = 2\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CHARSETS = {};\nexports.DEFAULT_CHARSET = exports.CHARSETS['B'];\nexports.CHARSETS['0'] = {\n '`': '\\u25c6',\n 'a': '\\u2592',\n 'b': '\\u0009',\n 'c': '\\u000c',\n 'd': '\\u000d',\n 'e': '\\u000a',\n 'f': '\\u00b0',\n 'g': '\\u00b1',\n 'h': '\\u2424',\n 'i': '\\u000b',\n 'j': '\\u2518',\n 'k': '\\u2510',\n 'l': '\\u250c',\n 'm': '\\u2514',\n 'n': '\\u253c',\n 'o': '\\u23ba',\n 'p': '\\u23bb',\n 'q': '\\u2500',\n 'r': '\\u23bc',\n 's': '\\u23bd',\n 't': '\\u251c',\n 'u': '\\u2524',\n 'v': '\\u2534',\n 'w': '\\u252c',\n 'x': '\\u2502',\n 'y': '\\u2264',\n 'z': '\\u2265',\n '{': '\\u03c0',\n '|': '\\u2260',\n '}': '\\u00a3',\n '~': '\\u00b7'\n};\nexports.CHARSETS['A'] = {\n '#': '£'\n};\nexports.CHARSETS['B'] = null;\nexports.CHARSETS['4'] = {\n '#': '£',\n '@': '¾',\n '[': 'ij',\n '\\\\': '½',\n ']': '|',\n '{': '¨',\n '|': 'f',\n '}': '¼',\n '~': '´'\n};\nexports.CHARSETS['C'] =\n exports.CHARSETS['5'] = {\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Å',\n '^': 'Ü',\n '`': 'é',\n '{': 'ä',\n '|': 'ö',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['R'] = {\n '#': '£',\n '@': 'à',\n '[': '°',\n '\\\\': 'ç',\n ']': '§',\n '{': 'é',\n '|': 'ù',\n '}': 'è',\n '~': '¨'\n};\nexports.CHARSETS['Q'] = {\n '@': 'à',\n '[': 'â',\n '\\\\': 'ç',\n ']': 'ê',\n '^': 'î',\n '`': 'ô',\n '{': 'é',\n '|': 'ù',\n '}': 'è',\n '~': 'û'\n};\nexports.CHARSETS['K'] = {\n '@': '§',\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Ü',\n '{': 'ä',\n '|': 'ö',\n '}': 'ü',\n '~': 'ß'\n};\nexports.CHARSETS['Y'] = {\n '#': '£',\n '@': '§',\n '[': '°',\n '\\\\': 'ç',\n ']': 'é',\n '`': 'ù',\n '{': 'à',\n '|': 'ò',\n '}': 'è',\n '~': 'ì'\n};\nexports.CHARSETS['E'] =\n exports.CHARSETS['6'] = {\n '@': 'Ä',\n '[': 'Æ',\n '\\\\': 'Ø',\n ']': 'Å',\n '^': 'Ü',\n '`': 'ä',\n '{': 'æ',\n '|': 'ø',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['Z'] = {\n '#': '£',\n '@': '§',\n '[': '¡',\n '\\\\': 'Ñ',\n ']': '¿',\n '{': '°',\n '|': 'ñ',\n '}': 'ç'\n};\nexports.CHARSETS['H'] =\n exports.CHARSETS['7'] = {\n '@': 'É',\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Å',\n '^': 'Ü',\n '`': 'é',\n '{': 'ä',\n '|': 'ö',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['='] = {\n '#': 'ù',\n '@': 'à',\n '[': 'é',\n '\\\\': 'ç',\n ']': 'ê',\n '^': 'î',\n '_': 'è',\n '`': 'ô',\n '{': 'ä',\n '|': 'ö',\n '}': 'ü',\n '~': 'û'\n};\n\n//# sourceMappingURL=Charsets.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Charsets.js\n// module id = 3\n// module chunks = 0","/**\n * Implements the attach method, that attaches the terminal to a WebSocket stream.\n * @module xterm/addons/attach/attach\n * @license MIT\n */\n\n(function (attach) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = attach(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], attach);\n } else {\n /*\n * Plain browser environment\n */\n attach(window.Terminal);\n }\n})(function (Xterm) {\n 'use strict';\n\n var exports = {};\n\n /**\n * Attaches the given terminal to the given socket.\n *\n * @param {Xterm} term - The terminal to be attached to the given socket.\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n exports.attach = function (term, socket, bidirectional, buffered) {\n bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;\n term.socket = socket;\n\n term._flushBuffer = function () {\n term.write(term._attachSocketBuffer);\n term._attachSocketBuffer = null;\n clearTimeout(term._attachSocketBufferTimer);\n term._attachSocketBufferTimer = null;\n };\n\n term._pushToBuffer = function (data) {\n if (term._attachSocketBuffer) {\n term._attachSocketBuffer += data;\n } else {\n term._attachSocketBuffer = data;\n setTimeout(term._flushBuffer, 10);\n }\n };\n\n term._getMessage = function (ev) {\n if (buffered) {\n term._pushToBuffer(ev.data);\n } else {\n term.write(ev.data);\n }\n };\n\n term._sendData = function (data) {\n socket.send(data);\n };\n\n socket.addEventListener('message', term._getMessage);\n\n if (bidirectional) {\n term.on('data', term._sendData);\n }\n\n socket.addEventListener('close', term.detach.bind(term, socket));\n socket.addEventListener('error', term.detach.bind(term, socket));\n };\n\n /**\n * Detaches the given terminal from the given socket\n *\n * @param {Xterm} term - The terminal to be detached from the given socket.\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n exports.detach = function (term, socket) {\n term.off('data', term._sendData);\n\n socket = (typeof socket == 'undefined') ? term.socket : socket;\n\n if (socket) {\n socket.removeEventListener('message', term._getMessage);\n }\n\n delete term.socket;\n };\n\n /**\n * Attaches the current terminal to the given socket\n *\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n Xterm.prototype.attach = function (socket, bidirectional, buffered) {\n return exports.attach(this, socket, bidirectional, buffered);\n };\n\n /**\n * Detaches the current terminal from the given socket.\n *\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n Xterm.prototype.detach = function (socket) {\n return exports.detach(this, socket);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/attach/attach.js\n// module id = 4\n// module chunks = 0","/**\n * Fit terminal columns and rows to the dimensions of its DOM element.\n *\n * ## Approach\n * - Rows: Truncate the division of the terminal parent element height by the terminal row height.\n *\n * - Columns: Truncate the division of the terminal parent element width by the terminal character\n * width (apply display: inline at the terminal row and truncate its width with the current\n * number of columns).\n * @module xterm/addons/fit/fit\n * @license MIT\n */\n\n(function (fit) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = fit(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], fit);\n } else {\n /*\n * Plain browser environment\n */\n fit(window.Terminal);\n }\n})(function (Xterm) {\n var exports = {};\n\n exports.proposeGeometry = function (term) {\n if (!term.element.parentElement) {\n return null;\n }\n var parentElementStyle = window.getComputedStyle(term.element.parentElement),\n parentElementHeight = parseInt(parentElementStyle.getPropertyValue('height')),\n parentElementWidth = Math.max(0, parseInt(parentElementStyle.getPropertyValue('width')) - 17),\n elementStyle = window.getComputedStyle(term.element),\n elementPaddingVer = parseInt(elementStyle.getPropertyValue('padding-top')) + parseInt(elementStyle.getPropertyValue('padding-bottom')),\n elementPaddingHor = parseInt(elementStyle.getPropertyValue('padding-right')) + parseInt(elementStyle.getPropertyValue('padding-left')),\n availableHeight = parentElementHeight - elementPaddingVer,\n availableWidth = parentElementWidth - elementPaddingHor,\n container = term.rowContainer,\n subjectRow = term.rowContainer.firstElementChild,\n contentBuffer = subjectRow.innerHTML,\n characterHeight,\n rows,\n characterWidth,\n cols,\n geometry;\n\n subjectRow.style.display = 'inline';\n subjectRow.innerHTML = 'W'; // Common character for measuring width, although on monospace\n characterWidth = subjectRow.getBoundingClientRect().width;\n subjectRow.style.display = ''; // Revert style before calculating height, since they differ.\n characterHeight = subjectRow.getBoundingClientRect().height;\n subjectRow.innerHTML = contentBuffer;\n\n rows = parseInt(availableHeight / characterHeight);\n cols = parseInt(availableWidth / characterWidth);\n\n geometry = {cols: cols, rows: rows};\n return geometry;\n };\n\n exports.fit = function (term) {\n var geometry = exports.proposeGeometry(term);\n\n if (geometry) {\n term.resize(geometry.cols, geometry.rows);\n }\n };\n\n Xterm.prototype.proposeGeometry = function () {\n return exports.proposeGeometry(this);\n };\n\n Xterm.prototype.fit = function () {\n return exports.fit(this);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fit/fit.js\n// module id = 5\n// module chunks = 0","/**\n * Fullscreen addon for xterm.js\n * @module xterm/addons/fullscreen/fullscreen\n * @license MIT\n */\n(function (fullscreen) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = fullscreen(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], fullscreen);\n } else {\n /*\n * Plain browser environment\n */\n fullscreen(window.Terminal);\n }\n})(function (Xterm) {\n var exports = {};\n\n /**\n * Toggle the given terminal's fullscreen mode.\n * @param {Xterm} term - The terminal to toggle full screen mode\n * @param {boolean} fullscreen - Toggle fullscreen on (true) or off (false)\n */\n exports.toggleFullScreen = function (term, fullscreen) {\n var fn;\n\n if (typeof fullscreen == 'undefined') {\n fn = (term.element.classList.contains('fullscreen')) ? 'remove' : 'add';\n } else if (!fullscreen) {\n fn = 'remove';\n } else {\n fn = 'add';\n }\n\n term.element.classList[fn]('fullscreen');\n };\n\n Xterm.prototype.toggleFullscreen = function (fullscreen) {\n exports.toggleFullScreen(this, fullscreen);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fullscreen/fullscreen.js\n// module id = 6\n// module chunks = 0","/**\n * This module provides methods for attaching a terminal to a terminado WebSocket stream.\n *\n * @module xterm/addons/terminado/terminado\n * @license MIT\n */\n\n(function (attach) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = attach(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], attach);\n } else {\n /*\n * Plain browser environment\n */\n attach(window.Terminal);\n }\n})(function (Xterm) {\n 'use strict';\n\n var exports = {};\n\n /**\n * Attaches the given terminal to the given socket.\n *\n * @param {Xterm} term - The terminal to be attached to the given socket.\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n exports.terminadoAttach = function (term, socket, bidirectional, buffered) {\n bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;\n term.socket = socket;\n\n term._flushBuffer = function () {\n term.write(term._attachSocketBuffer);\n term._attachSocketBuffer = null;\n clearTimeout(term._attachSocketBufferTimer);\n term._attachSocketBufferTimer = null;\n };\n\n term._pushToBuffer = function (data) {\n if (term._attachSocketBuffer) {\n term._attachSocketBuffer += data;\n } else {\n term._attachSocketBuffer = data;\n setTimeout(term._flushBuffer, 10);\n }\n };\n\n term._getMessage = function (ev) {\n var data = JSON.parse(ev.data)\n if( data[0] == \"stdout\" ) {\n if (buffered) {\n term._pushToBuffer(data[1]);\n } else {\n term.write(data[1]);\n }\n }\n };\n\n term._sendData = function (data) {\n socket.send(JSON.stringify(['stdin', data]));\n };\n\n term._setSize = function (size) {\n socket.send(JSON.stringify(['set_size', size.rows, size.cols]));\n };\n\n socket.addEventListener('message', term._getMessage);\n\n if (bidirectional) {\n term.on('data', term._sendData);\n }\n term.on('resize', term._setSize);\n\n socket.addEventListener('close', term.terminadoDetach.bind(term, socket));\n socket.addEventListener('error', term.terminadoDetach.bind(term, socket));\n };\n\n /**\n * Detaches the given terminal from the given socket\n *\n * @param {Xterm} term - The terminal to be detached from the given socket.\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n exports.terminadoDetach = function (term, socket) {\n term.off('data', term._sendData);\n\n socket = (typeof socket == 'undefined') ? term.socket : socket;\n\n if (socket) {\n socket.removeEventListener('message', term._getMessage);\n }\n\n delete term.socket;\n };\n\n /**\n * Attaches the current terminal to the given socket\n *\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n Xterm.prototype.terminadoAttach = function (socket, bidirectional, buffered) {\n return exports.terminadoAttach(this, socket, bidirectional, buffered);\n };\n\n /**\n * Detaches the current terminal from the given socket.\n *\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n Xterm.prototype.terminadoDetach = function (socket) {\n return exports.terminadoDetach(this, socket);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/terminado/terminado.js\n// module id = 7\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Generic_1 = require(\"./Generic\");\nvar isNode = (typeof navigator === 'undefined') ? true : false;\nvar userAgent = (isNode) ? 'node' : navigator.userAgent;\nvar platform = (isNode) ? 'node' : navigator.platform;\nexports.isFirefox = !!~userAgent.indexOf('Firefox');\nexports.isMSIE = !!~userAgent.indexOf('MSIE') || !!~userAgent.indexOf('Trident');\nexports.isMac = Generic_1.contains(['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'], platform);\nexports.isIpad = platform === 'iPad';\nexports.isIphone = platform === 'iPhone';\nexports.isMSWindows = Generic_1.contains(['Windows', 'Win16', 'Win32', 'WinCE'], platform);\nexports.isLinux = platform.indexOf('Linux') >= 0;\n\n//# sourceMappingURL=Browser.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Browser.js\n// module id = 8\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction getCoordsRelativeToElement(event, element) {\n if (event.pageX == null) {\n return null;\n }\n var x = event.pageX;\n var y = event.pageY;\n while (element && element !== self.document.documentElement) {\n x -= element.offsetLeft;\n y -= element.offsetTop;\n element = 'offsetParent' in element ? element.offsetParent : element.parentElement;\n }\n return [x, y];\n}\nexports.getCoordsRelativeToElement = getCoordsRelativeToElement;\nfunction getCoords(event, rowContainer, charMeasure, colCount, rowCount, isSelection) {\n var coords = getCoordsRelativeToElement(event, rowContainer);\n coords[0] = Math.ceil((coords[0] + (isSelection ? charMeasure.width / 2 : 0)) / charMeasure.width);\n coords[1] = Math.ceil(coords[1] / charMeasure.height);\n coords[0] = Math.min(Math.max(coords[0], 1), colCount + 1);\n coords[1] = Math.min(Math.max(coords[1], 1), rowCount + 1);\n return coords;\n}\nexports.getCoords = getCoords;\nfunction getRawByteCoords(event, rowContainer, charMeasure, colCount, rowCount) {\n var coords = getCoords(event, rowContainer, charMeasure, colCount, rowCount);\n var x = coords[0];\n var y = coords[1];\n x += 32;\n y += 32;\n return { x: x, y: y };\n}\nexports.getRawByteCoords = getRawByteCoords;\n\n//# sourceMappingURL=Mouse.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Mouse.js\n// module id = 9\n// module chunks = 0","import * as bare from \"hterm\";\nimport * as bareLib from \"htermLib\";\n\nexport class TermHterm {\n elem: HTMLElement;\n\n term: bare.Terminal;\n io: bare.IO;\n\n columns: number;\n rows: number;\n\n // to \"show\" the current message when removeMessage() is called\n message: string;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n hterm.defaultStorage = new bareLib.Storage.Memory();\n this.term = new bare.Terminal();\n this.term.getPrefs().set(\"send-encoding\", \"raw\");\n this.term.decorate(this.elem);\n\n this.io = this.term.io.push();\n this.term.installKeyboard();\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.columns, rows: this.rows };\n };\n\n output(data: string) {\n if (this.term.io != null) {\n this.term.io.writeUTF16(data);\n }\n };\n\n showMessage(message: string, timeout: number) {\n this.message = message;\n if (timeout > 0) {\n this.term.io.showOverlay(message, timeout);\n } else {\n this.term.io.showOverlay(message, null);\n }\n };\n\n removeMessage(): void {\n // there is no hideOverlay(), so show the same message with 0 sec\n this.term.io.showOverlay(this.message, 0);\n }\n\n setWindowTitle(title: string) {\n this.term.setWindowTitle(title);\n };\n\n setPreferences(value: object) {\n Object.keys(value).forEach((key) => {\n this.term.getPrefs().set(key, value[key]);\n });\n };\n\n onInput(callback: (input: string) => void) {\n this.io.onVTKeystroke = (data) => {\n callback(data);\n };\n this.io.sendString = (data) => {\n callback(data);\n };\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.io.onTerminalResize = (columns: number, rows: number) => {\n this.columns = columns;\n this.rows = rows;\n callback(columns, rows);\n };\n };\n\n deactivate(): void {\n this.io.onVTKeystroke = null;\n this.io.sendString = null\n this.io.onTerminalResize = null;\n this.term.uninstallKeyboard();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.installKeyboard();\n }\n\n close(): void {\n this.term.uninstallKeyboard();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/hterm.ts","export class ConnectionFactory {\n url: string;\n protocols: string[];\n\n constructor(url: string, protocols: string[]) {\n this.url = url;\n this.protocols = protocols;\n };\n\n create(): Connection {\n return new Connection(this.url, this.protocols);\n };\n}\n\nexport class Connection {\n bare: WebSocket;\n\n\n constructor(url: string, protocols: string[]) {\n this.bare = new WebSocket(url, protocols);\n }\n\n open() {\n // nothing todo for websocket\n };\n\n close() {\n this.bare.close();\n };\n\n send(data: string) {\n this.bare.send(data);\n };\n\n isOpen(): boolean {\n if (this.bare.readyState == WebSocket.CONNECTING ||\n this.bare.readyState == WebSocket.OPEN) {\n return true\n }\n return false\n }\n\n onOpen(callback: () => void) {\n this.bare.onopen = (event) => {\n callback();\n }\n };\n\n onReceive(callback: (data: string) => void) {\n this.bare.onmessage = (event) => {\n callback(event.data);\n }\n };\n\n onClose(callback: () => void) {\n this.bare.onclose = (event) => {\n callback();\n };\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/websocket.ts","export const protocols = [\"webtty\"];\n\nexport const msgInputUnknown = '0';\nexport const msgInput = '1';\nexport const msgPing = '2';\nexport const msgResizeTerminal = '3';\n\nexport const msgUnknownOutput = '0';\nexport const msgOutput = '1';\nexport const msgPong = '2';\nexport const msgSetWindowTitle = '3';\nexport const msgSetPreferences = '4';\nexport const msgSetReconnect = '5';\n\n\nexport interface Terminal {\n info(): { columns: number, rows: number };\n output(data: string): void;\n showMessage(message: string, timeout: number): void;\n removeMessage(): void;\n setWindowTitle(title: string): void;\n setPreferences(value: object): void;\n onInput(callback: (input: string) => void): void;\n onResize(callback: (colmuns: number, rows: number) => void): void;\n reset(): void;\n deactivate(): void;\n close(): void;\n}\n\nexport interface Connection {\n open(): void;\n close(): void;\n send(data: string): void;\n isOpen(): boolean;\n onOpen(callback: () => void): void;\n onReceive(callback: (data: string) => void): void;\n onClose(callback: () => void): void;\n}\n\nexport interface ConnectionFactory {\n create(): Connection;\n}\n\n\nexport class WebTTY {\n term: Terminal;\n connectionFactory: ConnectionFactory;\n args: string;\n authToken: string;\n reconnect: number;\n\n constructor(term: Terminal, connectionFactory: ConnectionFactory, args: string, authToken: string) {\n this.term = term;\n this.connectionFactory = connectionFactory;\n this.args = args;\n this.authToken = authToken;\n this.reconnect = -1;\n };\n\n open() {\n let connection = this.connectionFactory.create();\n let pingTimer: number;\n let reconnectTimeout: number;\n\n const setup = () => {\n connection.onOpen(() => {\n const termInfo = this.term.info();\n\n connection.send(JSON.stringify(\n {\n Arguments: this.args,\n AuthToken: this.authToken,\n }\n ));\n\n\n const resizeHandler = (colmuns: number, rows: number) => {\n connection.send(\n msgResizeTerminal + JSON.stringify(\n {\n columns: colmuns,\n rows: rows\n }\n )\n );\n };\n\n this.term.onResize(resizeHandler);\n resizeHandler(termInfo.columns, termInfo.rows);\n\n this.term.onInput(\n (input: string) => {\n connection.send(msgInput + input);\n }\n );\n\n pingTimer = setInterval(() => {\n connection.send(msgPing)\n }, 30 * 1000);\n\n });\n\n connection.onReceive((data) => {\n const payload = data.slice(1);\n switch (data[0]) {\n case msgOutput:\n this.term.output(\n decodeURIComponent(Array.prototype.map.call(atob(payload), function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''))\n );\n break;\n case msgPong:\n break;\n case msgSetWindowTitle:\n this.term.setWindowTitle(payload);\n break;\n case msgSetPreferences:\n const preferences = JSON.parse(payload);\n this.term.setPreferences(preferences);\n break;\n case msgSetReconnect:\n const autoReconnect = JSON.parse(payload);\n console.log(\"Enabling reconnect: \" + autoReconnect + \" seconds\")\n this.reconnect = autoReconnect;\n break;\n }\n });\n\n connection.onClose(() => {\n clearInterval(pingTimer);\n this.term.deactivate();\n this.term.showMessage(\"Connection Closed\", 0);\n if (this.reconnect > 0) {\n reconnectTimeout = setTimeout(() => {\n connection = this.connectionFactory.create();\n this.term.reset();\n setup();\n }, this.reconnect * 1000);\n }\n });\n\n connection.open();\n }\n\n setup();\n return () => {\n clearTimeout(reconnectTimeout);\n connection.close();\n }\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/webtty.ts","import * as bare from \"xterm\";\n\nbare.loadAddon(\"fit\");\n\nexport class TermXterm {\n elem: HTMLElement;\n\n message: HTMLElement;\n messageTimeout: number;\n messageTimer: number;\n\n term: bare;\n resizeListener: () => void;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n this.term = new bare();\n\n this.message = elem.ownerDocument.createElement(\"div\");\n this.message.className = \"xterm-overlay\";\n this.messageTimeout = 2000;\n\n\n this.resizeListener = () => {\n this.term.fit();\n this.term.scrollToBottom();\n this.showMessage(String(this.term.cols) + \"x\" + String(this.term.rows), this.messageTimeout);\n };\n\n this.term.on(\"open\", () => {\n this.resizeListener();\n window.addEventListener(\"resize\", () => { this.resizeListener(); });\n });\n\n this.term.open(elem, true);\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.term.cols, rows: this.term.rows };\n };\n\n output(data: string) {\n this.term.write(data);\n };\n\n showMessage(message: string, timeout: number) {\n this.message.textContent = message;\n this.elem.appendChild(this.message);\n\n if (this.messageTimer) {\n clearTimeout(this.messageTimer);\n }\n if (timeout > 0) {\n this.messageTimer = setTimeout(() => {\n this.elem.removeChild(this.message);\n }, timeout);\n }\n };\n\n removeMessage(): void {\n if (this.message.parentNode == this.elem) {\n this.elem.removeChild(this.message);\n }\n }\n\n setWindowTitle(title: string) {\n document.title = title;\n };\n\n setPreferences(value: object) {\n };\n\n onInput(callback: (input: string) => void) {\n this.term.on(\"data\", (data) => {\n callback(data);\n });\n\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.term.on(\"resize\", (data) => {\n callback(data.cols, data.rows);\n });\n };\n\n deactivate(): void {\n this.term.off(\"data\");\n this.term.off(\"resize\");\n this.term.blur();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.clear();\n }\n\n close(): void {\n window.removeEventListener(\"resize\", this.resizeListener);\n this.term.destroy();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/xterm.ts","import { TermHterm } from \"./hterm\";\nimport { TermXterm } from \"./xterm\";\nimport { Terminal, WebTTY, protocols } from \"./webtty\";\nimport { ConnectionFactory } from \"./websocket\";\n\n// @TODO remove these\ndeclare var gotty_auth_token: string;\ndeclare var gotty_term: string;\n\nconst elem = document.getElementById(\"terminal\")\n\nif (elem !== null) {\n var term: Terminal;\n if (gotty_term == \"hterm\") {\n term = new TermHterm(elem);\n } else {\n term = new TermXterm(elem);\n }\n const httpsEnabled = window.location.protocol == \"https:\";\n const url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws';\n const args = window.location.search;\n const factory = new ConnectionFactory(url, protocols);\n const wt = new WebTTY(term, factory, args, gotty_auth_token);\n const closer = wt.open();\n\n window.addEventListener(\"unload\", () => {\n closer();\n term.close();\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CompositionHelper = (function () {\n function CompositionHelper(textarea, compositionView, terminal) {\n this.textarea = textarea;\n this.compositionView = compositionView;\n this.terminal = terminal;\n this.isComposing = false;\n this.isSendingComposition = false;\n this.compositionPosition = { start: null, end: null };\n }\n CompositionHelper.prototype.compositionstart = function () {\n this.isComposing = true;\n this.compositionPosition.start = this.textarea.value.length;\n this.compositionView.textContent = '';\n this.compositionView.classList.add('active');\n };\n CompositionHelper.prototype.compositionupdate = function (ev) {\n var _this = this;\n this.compositionView.textContent = ev.data;\n this.updateCompositionElements();\n setTimeout(function () {\n _this.compositionPosition.end = _this.textarea.value.length;\n }, 0);\n };\n CompositionHelper.prototype.compositionend = function () {\n this.finalizeComposition(true);\n };\n CompositionHelper.prototype.keydown = function (ev) {\n if (this.isComposing || this.isSendingComposition) {\n if (ev.keyCode === 229) {\n return false;\n }\n else if (ev.keyCode === 16 || ev.keyCode === 17 || ev.keyCode === 18) {\n return false;\n }\n else {\n this.finalizeComposition(false);\n }\n }\n if (ev.keyCode === 229) {\n this.handleAnyTextareaChanges();\n return false;\n }\n return true;\n };\n CompositionHelper.prototype.finalizeComposition = function (waitForPropogation) {\n var _this = this;\n this.compositionView.classList.remove('active');\n this.isComposing = false;\n this.clearTextareaPosition();\n if (!waitForPropogation) {\n this.isSendingComposition = false;\n var input = this.textarea.value.substring(this.compositionPosition.start, this.compositionPosition.end);\n this.terminal.handler(input);\n }\n else {\n var currentCompositionPosition_1 = {\n start: this.compositionPosition.start,\n end: this.compositionPosition.end,\n };\n this.isSendingComposition = true;\n setTimeout(function () {\n if (_this.isSendingComposition) {\n _this.isSendingComposition = false;\n var input = void 0;\n if (_this.isComposing) {\n input = _this.textarea.value.substring(currentCompositionPosition_1.start, currentCompositionPosition_1.end);\n }\n else {\n input = _this.textarea.value.substring(currentCompositionPosition_1.start);\n }\n _this.terminal.handler(input);\n }\n }, 0);\n }\n };\n CompositionHelper.prototype.handleAnyTextareaChanges = function () {\n var _this = this;\n var oldValue = this.textarea.value;\n setTimeout(function () {\n if (!_this.isComposing) {\n var newValue = _this.textarea.value;\n var diff = newValue.replace(oldValue, '');\n if (diff.length > 0) {\n _this.terminal.handler(diff);\n }\n }\n }, 0);\n };\n CompositionHelper.prototype.updateCompositionElements = function (dontRecurse) {\n var _this = this;\n if (!this.isComposing) {\n return;\n }\n var cursor = this.terminal.element.querySelector('.terminal-cursor');\n if (cursor) {\n var xtermRows = this.terminal.element.querySelector('.xterm-rows');\n var cursorTop = xtermRows.offsetTop + cursor.offsetTop;\n this.compositionView.style.left = cursor.offsetLeft + 'px';\n this.compositionView.style.top = cursorTop + 'px';\n this.compositionView.style.height = cursor.offsetHeight + 'px';\n this.compositionView.style.lineHeight = cursor.offsetHeight + 'px';\n var compositionViewBounds = this.compositionView.getBoundingClientRect();\n this.textarea.style.left = cursor.offsetLeft + 'px';\n this.textarea.style.top = cursorTop + 'px';\n this.textarea.style.width = compositionViewBounds.width + 'px';\n this.textarea.style.height = compositionViewBounds.height + 'px';\n this.textarea.style.lineHeight = compositionViewBounds.height + 'px';\n }\n if (!dontRecurse) {\n setTimeout(function () { return _this.updateCompositionElements(true); }, 0);\n }\n };\n ;\n CompositionHelper.prototype.clearTextareaPosition = function () {\n this.textarea.style.left = '';\n this.textarea.style.top = '';\n };\n ;\n return CompositionHelper;\n}());\nexports.CompositionHelper = CompositionHelper;\n\n//# sourceMappingURL=CompositionHelper.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/CompositionHelper.js\n// module id = 15\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar Charsets_1 = require(\"./Charsets\");\nvar InputHandler = (function () {\n function InputHandler(_terminal) {\n this._terminal = _terminal;\n }\n InputHandler.prototype.addChar = function (char, code) {\n if (char >= ' ') {\n var ch_width = wcwidth(code);\n if (this._terminal.charset && this._terminal.charset[char]) {\n char = this._terminal.charset[char];\n }\n var row = this._terminal.y + this._terminal.ybase;\n if (!ch_width && this._terminal.x) {\n if (this._terminal.lines.get(row)[this._terminal.x - 1]) {\n if (!this._terminal.lines.get(row)[this._terminal.x - 1][2]) {\n if (this._terminal.lines.get(row)[this._terminal.x - 2])\n this._terminal.lines.get(row)[this._terminal.x - 2][1] += char;\n }\n else {\n this._terminal.lines.get(row)[this._terminal.x - 1][1] += char;\n }\n this._terminal.updateRange(this._terminal.y);\n }\n return;\n }\n if (this._terminal.x + ch_width - 1 >= this._terminal.cols) {\n if (this._terminal.wraparoundMode) {\n this._terminal.x = 0;\n this._terminal.y++;\n if (this._terminal.y > this._terminal.scrollBottom) {\n this._terminal.y--;\n this._terminal.scroll(true);\n }\n else {\n this._terminal.lines.get(this._terminal.y).isWrapped = true;\n }\n }\n else {\n if (ch_width === 2)\n return;\n }\n }\n row = this._terminal.y + this._terminal.ybase;\n if (this._terminal.insertMode) {\n for (var moves = 0; moves < ch_width; ++moves) {\n var removed = this._terminal.lines.get(this._terminal.y + this._terminal.ybase).pop();\n if (removed[2] === 0\n && this._terminal.lines.get(row)[this._terminal.cols - 2]\n && this._terminal.lines.get(row)[this._terminal.cols - 2][2] === 2) {\n this._terminal.lines.get(row)[this._terminal.cols - 2] = [this._terminal.curAttr, ' ', 1];\n }\n this._terminal.lines.get(row).splice(this._terminal.x, 0, [this._terminal.curAttr, ' ', 1]);\n }\n }\n this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, char, ch_width];\n this._terminal.x++;\n this._terminal.updateRange(this._terminal.y);\n if (ch_width === 2) {\n this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, '', 0];\n this._terminal.x++;\n }\n }\n };\n InputHandler.prototype.bell = function () {\n var _this = this;\n if (!this._terminal.visualBell) {\n return;\n }\n this._terminal.element.style.borderColor = 'white';\n setTimeout(function () { return _this._terminal.element.style.borderColor = ''; }, 10);\n if (this._terminal.popOnBell) {\n this._terminal.focus();\n }\n };\n InputHandler.prototype.lineFeed = function () {\n if (this._terminal.convertEol) {\n this._terminal.x = 0;\n }\n this._terminal.y++;\n if (this._terminal.y > this._terminal.scrollBottom) {\n this._terminal.y--;\n this._terminal.scroll();\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.carriageReturn = function () {\n this._terminal.x = 0;\n };\n InputHandler.prototype.backspace = function () {\n if (this._terminal.x > 0) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.tab = function () {\n this._terminal.x = this._terminal.nextStop();\n };\n InputHandler.prototype.shiftOut = function () {\n this._terminal.setgLevel(1);\n };\n InputHandler.prototype.shiftIn = function () {\n this._terminal.setgLevel(0);\n };\n InputHandler.prototype.insertChars = function (params) {\n var param, row, j, ch;\n param = params[0];\n if (param < 1)\n param = 1;\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.x;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param-- && j < this._terminal.cols) {\n this._terminal.lines.get(row).splice(j++, 0, ch);\n this._terminal.lines.get(row).pop();\n }\n };\n InputHandler.prototype.cursorUp = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y -= param;\n if (this._terminal.y < 0) {\n this._terminal.y = 0;\n }\n };\n InputHandler.prototype.cursorDown = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.cursorForward = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x += param;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.cursorBackward = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n this._terminal.x -= param;\n if (this._terminal.x < 0) {\n this._terminal.x = 0;\n }\n };\n InputHandler.prototype.cursorNextLine = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n this._terminal.x = 0;\n };\n ;\n InputHandler.prototype.cursorPrecedingLine = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y -= param;\n if (this._terminal.y < 0) {\n this._terminal.y = 0;\n }\n this._terminal.x = 0;\n };\n ;\n InputHandler.prototype.cursorCharAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x = param - 1;\n };\n InputHandler.prototype.cursorPosition = function (params) {\n var row, col;\n row = params[0] - 1;\n if (params.length >= 2) {\n col = params[1] - 1;\n }\n else {\n col = 0;\n }\n if (row < 0) {\n row = 0;\n }\n else if (row >= this._terminal.rows) {\n row = this._terminal.rows - 1;\n }\n if (col < 0) {\n col = 0;\n }\n else if (col >= this._terminal.cols) {\n col = this._terminal.cols - 1;\n }\n this._terminal.x = col;\n this._terminal.y = row;\n };\n InputHandler.prototype.cursorForwardTab = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.x = this._terminal.nextStop();\n }\n };\n InputHandler.prototype.eraseInDisplay = function (params) {\n var j;\n switch (params[0]) {\n case 0:\n this._terminal.eraseRight(this._terminal.x, this._terminal.y);\n j = this._terminal.y + 1;\n for (; j < this._terminal.rows; j++) {\n this._terminal.eraseLine(j);\n }\n break;\n case 1:\n this._terminal.eraseLeft(this._terminal.x, this._terminal.y);\n j = this._terminal.y;\n while (j--) {\n this._terminal.eraseLine(j);\n }\n break;\n case 2:\n j = this._terminal.rows;\n while (j--)\n this._terminal.eraseLine(j);\n break;\n case 3:\n var scrollBackSize = this._terminal.lines.length - this._terminal.rows;\n if (scrollBackSize > 0) {\n this._terminal.lines.trimStart(scrollBackSize);\n this._terminal.ybase = Math.max(this._terminal.ybase - scrollBackSize, 0);\n this._terminal.ydisp = Math.max(this._terminal.ydisp - scrollBackSize, 0);\n }\n break;\n }\n };\n InputHandler.prototype.eraseInLine = function (params) {\n switch (params[0]) {\n case 0:\n this._terminal.eraseRight(this._terminal.x, this._terminal.y);\n break;\n case 1:\n this._terminal.eraseLeft(this._terminal.x, this._terminal.y);\n break;\n case 2:\n this._terminal.eraseLine(this._terminal.y);\n break;\n }\n };\n InputHandler.prototype.insertLines = function (params) {\n var param, row, j;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.rows - 1 - this._terminal.scrollBottom;\n j = this._terminal.rows - 1 + this._terminal.ybase - j + 1;\n while (param--) {\n if (this._terminal.lines.length === this._terminal.lines.maxLength) {\n this._terminal.lines.trimStart(1);\n this._terminal.ybase--;\n this._terminal.ydisp--;\n row--;\n j--;\n }\n this._terminal.lines.splice(row, 0, this._terminal.blankLine(true));\n this._terminal.lines.splice(j, 1);\n }\n this._terminal.updateRange(this._terminal.y);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.deleteLines = function (params) {\n var param, row, j;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.rows - 1 - this._terminal.scrollBottom;\n j = this._terminal.rows - 1 + this._terminal.ybase - j;\n while (param--) {\n if (this._terminal.lines.length === this._terminal.lines.maxLength) {\n this._terminal.lines.trimStart(1);\n this._terminal.ybase -= 1;\n this._terminal.ydisp -= 1;\n }\n this._terminal.lines.splice(j + 1, 0, this._terminal.blankLine(true));\n this._terminal.lines.splice(row, 1);\n }\n this._terminal.updateRange(this._terminal.y);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.deleteChars = function (params) {\n var param, row, ch;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param--) {\n this._terminal.lines.get(row).splice(this._terminal.x, 1);\n this._terminal.lines.get(row).push(ch);\n }\n };\n InputHandler.prototype.scrollUp = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 1);\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 0, this._terminal.blankLine());\n }\n this._terminal.updateRange(this._terminal.scrollTop);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.scrollDown = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 1);\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 0, this._terminal.blankLine());\n }\n this._terminal.updateRange(this._terminal.scrollTop);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.eraseChars = function (params) {\n var param, row, j, ch;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.x;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param-- && j < this._terminal.cols) {\n this._terminal.lines.get(row)[j++] = ch;\n }\n };\n InputHandler.prototype.cursorBackwardTab = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.x = this._terminal.prevStop();\n }\n };\n InputHandler.prototype.charPosAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x = param - 1;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.HPositionRelative = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x += param;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.repeatPrecedingCharacter = function (params) {\n var param = params[0] || 1, line = this._terminal.lines.get(this._terminal.ybase + this._terminal.y), ch = line[this._terminal.x - 1] || [this._terminal.defAttr, ' ', 1];\n while (param--) {\n line[this._terminal.x++] = ch;\n }\n };\n InputHandler.prototype.sendDeviceAttributes = function (params) {\n if (params[0] > 0) {\n return;\n }\n if (!this._terminal.prefix) {\n if (this._terminal.is('xterm') || this._terminal.is('rxvt-unicode') || this._terminal.is('screen')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?1;2c');\n }\n else if (this._terminal.is('linux')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?6c');\n }\n }\n else if (this._terminal.prefix === '>') {\n if (this._terminal.is('xterm')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>0;276;0c');\n }\n else if (this._terminal.is('rxvt-unicode')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>85;95;0c');\n }\n else if (this._terminal.is('linux')) {\n this._terminal.send(params[0] + 'c');\n }\n else if (this._terminal.is('screen')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>83;40003;0c');\n }\n }\n };\n InputHandler.prototype.linePosAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y = param - 1;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n };\n InputHandler.prototype.VPositionRelative = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.HVPosition = function (params) {\n if (params[0] < 1)\n params[0] = 1;\n if (params[1] < 1)\n params[1] = 1;\n this._terminal.y = params[0] - 1;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n this._terminal.x = params[1] - 1;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.tabClear = function (params) {\n var param = params[0];\n if (param <= 0) {\n delete this._terminal.tabs[this._terminal.x];\n }\n else if (param === 3) {\n this._terminal.tabs = {};\n }\n };\n InputHandler.prototype.setMode = function (params) {\n if (params.length > 1) {\n for (var i = 0; i < params.length; i++) {\n this.setMode([params[i]]);\n }\n return;\n }\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 4:\n this._terminal.insertMode = true;\n break;\n case 20:\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 1:\n this._terminal.applicationCursor = true;\n break;\n case 2:\n this._terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(1, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(2, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(3, Charsets_1.DEFAULT_CHARSET);\n break;\n case 3:\n this._terminal.savedCols = this._terminal.cols;\n this._terminal.resize(132, this._terminal.rows);\n break;\n case 6:\n this._terminal.originMode = true;\n break;\n case 7:\n this._terminal.wraparoundMode = true;\n break;\n case 12:\n break;\n case 66:\n this._terminal.log('Serial port requested application keypad.');\n this._terminal.applicationKeypad = true;\n this._terminal.viewport.syncScrollArea();\n break;\n case 9:\n case 1000:\n case 1002:\n case 1003:\n this._terminal.x10Mouse = params[0] === 9;\n this._terminal.vt200Mouse = params[0] === 1000;\n this._terminal.normalMouse = params[0] > 1000;\n this._terminal.mouseEvents = true;\n this._terminal.element.classList.add('enable-mouse-events');\n this._terminal.selectionManager.disable();\n this._terminal.log('Binding to mouse events.');\n break;\n case 1004:\n this._terminal.sendFocus = true;\n break;\n case 1005:\n this._terminal.utfMouse = true;\n break;\n case 1006:\n this._terminal.sgrMouse = true;\n break;\n case 1015:\n this._terminal.urxvtMouse = true;\n break;\n case 25:\n this._terminal.cursorHidden = false;\n break;\n case 1049:\n ;\n case 47:\n case 1047:\n if (!this._terminal.normal) {\n var normal = {\n lines: this._terminal.lines,\n ybase: this._terminal.ybase,\n ydisp: this._terminal.ydisp,\n x: this._terminal.x,\n y: this._terminal.y,\n scrollTop: this._terminal.scrollTop,\n scrollBottom: this._terminal.scrollBottom,\n tabs: this._terminal.tabs\n };\n this._terminal.reset();\n this._terminal.viewport.syncScrollArea();\n this._terminal.normal = normal;\n this._terminal.showCursor();\n }\n break;\n }\n }\n };\n InputHandler.prototype.resetMode = function (params) {\n if (params.length > 1) {\n for (var i = 0; i < params.length; i++) {\n this.resetMode([params[i]]);\n }\n return;\n }\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 4:\n this._terminal.insertMode = false;\n break;\n case 20:\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 1:\n this._terminal.applicationCursor = false;\n break;\n case 3:\n if (this._terminal.cols === 132 && this._terminal.savedCols) {\n this._terminal.resize(this._terminal.savedCols, this._terminal.rows);\n }\n delete this._terminal.savedCols;\n break;\n case 6:\n this._terminal.originMode = false;\n break;\n case 7:\n this._terminal.wraparoundMode = false;\n break;\n case 12:\n break;\n case 66:\n this._terminal.log('Switching back to normal keypad.');\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n break;\n case 9:\n case 1000:\n case 1002:\n case 1003:\n this._terminal.x10Mouse = false;\n this._terminal.vt200Mouse = false;\n this._terminal.normalMouse = false;\n this._terminal.mouseEvents = false;\n this._terminal.element.classList.remove('enable-mouse-events');\n this._terminal.selectionManager.enable();\n break;\n case 1004:\n this._terminal.sendFocus = false;\n break;\n case 1005:\n this._terminal.utfMouse = false;\n break;\n case 1006:\n this._terminal.sgrMouse = false;\n break;\n case 1015:\n this._terminal.urxvtMouse = false;\n break;\n case 25:\n this._terminal.cursorHidden = true;\n break;\n case 1049:\n ;\n case 47:\n case 1047:\n if (this._terminal.normal) {\n this._terminal.lines = this._terminal.normal.lines;\n this._terminal.ybase = this._terminal.normal.ybase;\n this._terminal.ydisp = this._terminal.normal.ydisp;\n this._terminal.x = this._terminal.normal.x;\n this._terminal.y = this._terminal.normal.y;\n this._terminal.scrollTop = this._terminal.normal.scrollTop;\n this._terminal.scrollBottom = this._terminal.normal.scrollBottom;\n this._terminal.tabs = this._terminal.normal.tabs;\n this._terminal.normal = null;\n this._terminal.selectionManager.setBuffer(this._terminal.lines);\n this._terminal.refresh(0, this._terminal.rows - 1);\n this._terminal.viewport.syncScrollArea();\n this._terminal.showCursor();\n }\n break;\n }\n }\n };\n InputHandler.prototype.charAttributes = function (params) {\n if (params.length === 1 && params[0] === 0) {\n this._terminal.curAttr = this._terminal.defAttr;\n return;\n }\n var l = params.length, i = 0, flags = this._terminal.curAttr >> 18, fg = (this._terminal.curAttr >> 9) & 0x1ff, bg = this._terminal.curAttr & 0x1ff, p;\n for (; i < l; i++) {\n p = params[i];\n if (p >= 30 && p <= 37) {\n fg = p - 30;\n }\n else if (p >= 40 && p <= 47) {\n bg = p - 40;\n }\n else if (p >= 90 && p <= 97) {\n p += 8;\n fg = p - 90;\n }\n else if (p >= 100 && p <= 107) {\n p += 8;\n bg = p - 100;\n }\n else if (p === 0) {\n flags = this._terminal.defAttr >> 18;\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n bg = this._terminal.defAttr & 0x1ff;\n }\n else if (p === 1) {\n flags |= 1;\n }\n else if (p === 4) {\n flags |= 2;\n }\n else if (p === 5) {\n flags |= 4;\n }\n else if (p === 7) {\n flags |= 8;\n }\n else if (p === 8) {\n flags |= 16;\n }\n else if (p === 22) {\n flags &= ~1;\n }\n else if (p === 24) {\n flags &= ~2;\n }\n else if (p === 25) {\n flags &= ~4;\n }\n else if (p === 27) {\n flags &= ~8;\n }\n else if (p === 28) {\n flags &= ~16;\n }\n else if (p === 39) {\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n }\n else if (p === 49) {\n bg = this._terminal.defAttr & 0x1ff;\n }\n else if (p === 38) {\n if (params[i + 1] === 2) {\n i += 2;\n fg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff);\n if (fg === -1)\n fg = 0x1ff;\n i += 2;\n }\n else if (params[i + 1] === 5) {\n i += 2;\n p = params[i] & 0xff;\n fg = p;\n }\n }\n else if (p === 48) {\n if (params[i + 1] === 2) {\n i += 2;\n bg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff);\n if (bg === -1)\n bg = 0x1ff;\n i += 2;\n }\n else if (params[i + 1] === 5) {\n i += 2;\n p = params[i] & 0xff;\n bg = p;\n }\n }\n else if (p === 100) {\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n bg = this._terminal.defAttr & 0x1ff;\n }\n else {\n this._terminal.error('Unknown SGR attribute: %d.', p);\n }\n }\n this._terminal.curAttr = (flags << 18) | (fg << 9) | bg;\n };\n InputHandler.prototype.deviceStatus = function (params) {\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 5:\n this._terminal.send(EscapeSequences_1.C0.ESC + '[0n');\n break;\n case 6:\n this._terminal.send(EscapeSequences_1.C0.ESC + '['\n + (this._terminal.y + 1)\n + ';'\n + (this._terminal.x + 1)\n + 'R');\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 6:\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?'\n + (this._terminal.y + 1)\n + ';'\n + (this._terminal.x + 1)\n + 'R');\n break;\n case 15:\n break;\n case 25:\n break;\n case 26:\n break;\n case 53:\n break;\n }\n }\n };\n InputHandler.prototype.softReset = function (params) {\n this._terminal.cursorHidden = false;\n this._terminal.insertMode = false;\n this._terminal.originMode = false;\n this._terminal.wraparoundMode = true;\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n this._terminal.applicationCursor = false;\n this._terminal.scrollTop = 0;\n this._terminal.scrollBottom = this._terminal.rows - 1;\n this._terminal.curAttr = this._terminal.defAttr;\n this._terminal.x = this._terminal.y = 0;\n this._terminal.charset = null;\n this._terminal.glevel = 0;\n this._terminal.charsets = [null];\n };\n InputHandler.prototype.setCursorStyle = function (params) {\n var param = params[0] < 1 ? 1 : params[0];\n switch (param) {\n case 1:\n case 2:\n this._terminal.setOption('cursorStyle', 'block');\n break;\n case 3:\n case 4:\n this._terminal.setOption('cursorStyle', 'underline');\n break;\n case 5:\n case 6:\n this._terminal.setOption('cursorStyle', 'bar');\n break;\n }\n var isBlinking = param % 2 === 1;\n this._terminal.setOption('cursorBlink', isBlinking);\n };\n InputHandler.prototype.setScrollRegion = function (params) {\n if (this._terminal.prefix)\n return;\n this._terminal.scrollTop = (params[0] || 1) - 1;\n this._terminal.scrollBottom = (params[1] && params[1] <= this._terminal.rows ? params[1] : this._terminal.rows) - 1;\n this._terminal.x = 0;\n this._terminal.y = 0;\n };\n InputHandler.prototype.saveCursor = function (params) {\n this._terminal.savedX = this._terminal.x;\n this._terminal.savedY = this._terminal.y;\n };\n InputHandler.prototype.restoreCursor = function (params) {\n this._terminal.x = this._terminal.savedX || 0;\n this._terminal.y = this._terminal.savedY || 0;\n };\n return InputHandler;\n}());\nexports.InputHandler = InputHandler;\nvar wcwidth = (function (opts) {\n var COMBINING = [\n [0x0300, 0x036F], [0x0483, 0x0486], [0x0488, 0x0489],\n [0x0591, 0x05BD], [0x05BF, 0x05BF], [0x05C1, 0x05C2],\n [0x05C4, 0x05C5], [0x05C7, 0x05C7], [0x0600, 0x0603],\n [0x0610, 0x0615], [0x064B, 0x065E], [0x0670, 0x0670],\n [0x06D6, 0x06E4], [0x06E7, 0x06E8], [0x06EA, 0x06ED],\n [0x070F, 0x070F], [0x0711, 0x0711], [0x0730, 0x074A],\n [0x07A6, 0x07B0], [0x07EB, 0x07F3], [0x0901, 0x0902],\n [0x093C, 0x093C], [0x0941, 0x0948], [0x094D, 0x094D],\n [0x0951, 0x0954], [0x0962, 0x0963], [0x0981, 0x0981],\n [0x09BC, 0x09BC], [0x09C1, 0x09C4], [0x09CD, 0x09CD],\n [0x09E2, 0x09E3], [0x0A01, 0x0A02], [0x0A3C, 0x0A3C],\n [0x0A41, 0x0A42], [0x0A47, 0x0A48], [0x0A4B, 0x0A4D],\n [0x0A70, 0x0A71], [0x0A81, 0x0A82], [0x0ABC, 0x0ABC],\n [0x0AC1, 0x0AC5], [0x0AC7, 0x0AC8], [0x0ACD, 0x0ACD],\n [0x0AE2, 0x0AE3], [0x0B01, 0x0B01], [0x0B3C, 0x0B3C],\n [0x0B3F, 0x0B3F], [0x0B41, 0x0B43], [0x0B4D, 0x0B4D],\n [0x0B56, 0x0B56], [0x0B82, 0x0B82], [0x0BC0, 0x0BC0],\n [0x0BCD, 0x0BCD], [0x0C3E, 0x0C40], [0x0C46, 0x0C48],\n [0x0C4A, 0x0C4D], [0x0C55, 0x0C56], [0x0CBC, 0x0CBC],\n [0x0CBF, 0x0CBF], [0x0CC6, 0x0CC6], [0x0CCC, 0x0CCD],\n [0x0CE2, 0x0CE3], [0x0D41, 0x0D43], [0x0D4D, 0x0D4D],\n [0x0DCA, 0x0DCA], [0x0DD2, 0x0DD4], [0x0DD6, 0x0DD6],\n [0x0E31, 0x0E31], [0x0E34, 0x0E3A], [0x0E47, 0x0E4E],\n [0x0EB1, 0x0EB1], [0x0EB4, 0x0EB9], [0x0EBB, 0x0EBC],\n [0x0EC8, 0x0ECD], [0x0F18, 0x0F19], [0x0F35, 0x0F35],\n [0x0F37, 0x0F37], [0x0F39, 0x0F39], [0x0F71, 0x0F7E],\n [0x0F80, 0x0F84], [0x0F86, 0x0F87], [0x0F90, 0x0F97],\n [0x0F99, 0x0FBC], [0x0FC6, 0x0FC6], [0x102D, 0x1030],\n [0x1032, 0x1032], [0x1036, 0x1037], [0x1039, 0x1039],\n [0x1058, 0x1059], [0x1160, 0x11FF], [0x135F, 0x135F],\n [0x1712, 0x1714], [0x1732, 0x1734], [0x1752, 0x1753],\n [0x1772, 0x1773], [0x17B4, 0x17B5], [0x17B7, 0x17BD],\n [0x17C6, 0x17C6], [0x17C9, 0x17D3], [0x17DD, 0x17DD],\n [0x180B, 0x180D], [0x18A9, 0x18A9], [0x1920, 0x1922],\n [0x1927, 0x1928], [0x1932, 0x1932], [0x1939, 0x193B],\n [0x1A17, 0x1A18], [0x1B00, 0x1B03], [0x1B34, 0x1B34],\n [0x1B36, 0x1B3A], [0x1B3C, 0x1B3C], [0x1B42, 0x1B42],\n [0x1B6B, 0x1B73], [0x1DC0, 0x1DCA], [0x1DFE, 0x1DFF],\n [0x200B, 0x200F], [0x202A, 0x202E], [0x2060, 0x2063],\n [0x206A, 0x206F], [0x20D0, 0x20EF], [0x302A, 0x302F],\n [0x3099, 0x309A], [0xA806, 0xA806], [0xA80B, 0xA80B],\n [0xA825, 0xA826], [0xFB1E, 0xFB1E], [0xFE00, 0xFE0F],\n [0xFE20, 0xFE23], [0xFEFF, 0xFEFF], [0xFFF9, 0xFFFB],\n [0x10A01, 0x10A03], [0x10A05, 0x10A06], [0x10A0C, 0x10A0F],\n [0x10A38, 0x10A3A], [0x10A3F, 0x10A3F], [0x1D167, 0x1D169],\n [0x1D173, 0x1D182], [0x1D185, 0x1D18B], [0x1D1AA, 0x1D1AD],\n [0x1D242, 0x1D244], [0xE0001, 0xE0001], [0xE0020, 0xE007F],\n [0xE0100, 0xE01EF]\n ];\n function bisearch(ucs) {\n var min = 0;\n var max = COMBINING.length - 1;\n var mid;\n if (ucs < COMBINING[0][0] || ucs > COMBINING[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > COMBINING[mid][1])\n min = mid + 1;\n else if (ucs < COMBINING[mid][0])\n max = mid - 1;\n else\n return true;\n }\n return false;\n }\n function wcwidth(ucs) {\n if (ucs === 0)\n return opts.nul;\n if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0))\n return opts.control;\n if (bisearch(ucs))\n return 0;\n if (isWide(ucs)) {\n return 2;\n }\n return 1;\n }\n function isWide(ucs) {\n return (ucs >= 0x1100 && (ucs <= 0x115f ||\n ucs === 0x2329 ||\n ucs === 0x232a ||\n (ucs >= 0x2e80 && ucs <= 0xa4cf && ucs !== 0x303f) ||\n (ucs >= 0xac00 && ucs <= 0xd7a3) ||\n (ucs >= 0xf900 && ucs <= 0xfaff) ||\n (ucs >= 0xfe10 && ucs <= 0xfe19) ||\n (ucs >= 0xfe30 && ucs <= 0xfe6f) ||\n (ucs >= 0xff00 && ucs <= 0xff60) ||\n (ucs >= 0xffe0 && ucs <= 0xffe6) ||\n (ucs >= 0x20000 && ucs <= 0x2fffd) ||\n (ucs >= 0x30000 && ucs <= 0x3fffd)));\n }\n return wcwidth;\n})({ nul: 0, control: 0 });\n\n//# sourceMappingURL=InputHandler.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/InputHandler.js\n// module id = 16\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar INVALID_LINK_CLASS = 'xterm-invalid-link';\nvar protocolClause = '(https?:\\\\/\\\\/)';\nvar domainCharacterSet = '[\\\\da-z\\\\.-]+';\nvar negatedDomainCharacterSet = '[^\\\\da-z\\\\.-]+';\nvar domainBodyClause = '(' + domainCharacterSet + ')';\nvar tldClause = '([a-z\\\\.]{2,6})';\nvar ipClause = '((\\\\d{1,3}\\\\.){3}\\\\d{1,3})';\nvar localHostClause = '(localhost)';\nvar portClause = '(:\\\\d{1,5})';\nvar hostClause = '((' + domainBodyClause + '\\\\.' + tldClause + ')|' + ipClause + '|' + localHostClause + ')' + portClause + '?';\nvar pathClause = '(\\\\/[\\\\/\\\\w\\\\.\\\\-%~]*)*';\nvar queryStringHashFragmentCharacterSet = '[0-9\\\\w\\\\[\\\\]\\\\(\\\\)\\\\/\\\\?\\\\!#@$%&\\'*+,:;~\\\\=\\\\.\\\\-]*';\nvar queryStringClause = '(\\\\?' + queryStringHashFragmentCharacterSet + ')?';\nvar hashFragmentClause = '(#' + queryStringHashFragmentCharacterSet + ')?';\nvar negatedPathCharacterSet = '[^\\\\/\\\\w\\\\.\\\\-%]+';\nvar bodyClause = hostClause + pathClause + queryStringClause + hashFragmentClause;\nvar start = '(?:^|' + negatedDomainCharacterSet + ')(';\nvar end = ')($|' + negatedPathCharacterSet + ')';\nvar strictUrlRegex = new RegExp(start + protocolClause + bodyClause + end);\nvar HYPERTEXT_LINK_MATCHER_ID = 0;\nvar Linkifier = (function () {\n function Linkifier() {\n this._nextLinkMatcherId = HYPERTEXT_LINK_MATCHER_ID;\n this._rowTimeoutIds = [];\n this._linkMatchers = [];\n this.registerLinkMatcher(strictUrlRegex, null, { matchIndex: 1 });\n }\n Linkifier.prototype.attachToDom = function (document, rows) {\n this._document = document;\n this._rows = rows;\n };\n Linkifier.prototype.linkifyRow = function (rowIndex) {\n if (!this._document) {\n return;\n }\n var timeoutId = this._rowTimeoutIds[rowIndex];\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n this._rowTimeoutIds[rowIndex] = setTimeout(this._linkifyRow.bind(this, rowIndex), Linkifier.TIME_BEFORE_LINKIFY);\n };\n Linkifier.prototype.setHypertextLinkHandler = function (handler) {\n this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].handler = handler;\n };\n Linkifier.prototype.setHypertextValidationCallback = function (callback) {\n this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].validationCallback = callback;\n };\n Linkifier.prototype.registerLinkMatcher = function (regex, handler, options) {\n if (options === void 0) { options = {}; }\n if (this._nextLinkMatcherId !== HYPERTEXT_LINK_MATCHER_ID && !handler) {\n throw new Error('handler must be defined');\n }\n var matcher = {\n id: this._nextLinkMatcherId++,\n regex: regex,\n handler: handler,\n matchIndex: options.matchIndex,\n validationCallback: options.validationCallback,\n priority: options.priority || 0\n };\n this._addLinkMatcherToList(matcher);\n return matcher.id;\n };\n Linkifier.prototype._addLinkMatcherToList = function (matcher) {\n if (this._linkMatchers.length === 0) {\n this._linkMatchers.push(matcher);\n return;\n }\n for (var i = this._linkMatchers.length - 1; i >= 0; i--) {\n if (matcher.priority <= this._linkMatchers[i].priority) {\n this._linkMatchers.splice(i + 1, 0, matcher);\n return;\n }\n }\n this._linkMatchers.splice(0, 0, matcher);\n };\n Linkifier.prototype.deregisterLinkMatcher = function (matcherId) {\n for (var i = 1; i < this._linkMatchers.length; i++) {\n if (this._linkMatchers[i].id === matcherId) {\n this._linkMatchers.splice(i, 1);\n return true;\n }\n }\n return false;\n };\n Linkifier.prototype._linkifyRow = function (rowIndex) {\n var row = this._rows[rowIndex];\n if (!row) {\n return;\n }\n var text = row.textContent;\n for (var i = 0; i < this._linkMatchers.length; i++) {\n var matcher = this._linkMatchers[i];\n var linkElements = this._doLinkifyRow(row, matcher);\n if (linkElements.length > 0) {\n if (matcher.validationCallback) {\n var _loop_1 = function (j) {\n var element = linkElements[j];\n matcher.validationCallback(element.textContent, element, function (isValid) {\n if (!isValid) {\n element.classList.add(INVALID_LINK_CLASS);\n }\n });\n };\n for (var j = 0; j < linkElements.length; j++) {\n _loop_1(j);\n }\n }\n return;\n }\n }\n };\n Linkifier.prototype._doLinkifyRow = function (row, matcher) {\n var result = [];\n var isHttpLinkMatcher = matcher.id === HYPERTEXT_LINK_MATCHER_ID;\n var nodes = row.childNodes;\n var match = row.textContent.match(matcher.regex);\n if (!match || match.length === 0) {\n return result;\n }\n var uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];\n var rowStartIndex = match.index + uri.length;\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n var searchIndex = node.textContent.indexOf(uri);\n if (searchIndex >= 0) {\n var linkElement = this._createAnchorElement(uri, matcher.handler, isHttpLinkMatcher);\n if (node.textContent.length === uri.length) {\n if (node.nodeType === 3) {\n this._replaceNode(node, linkElement);\n }\n else {\n var element = node;\n if (element.nodeName === 'A') {\n return result;\n }\n element.innerHTML = '';\n element.appendChild(linkElement);\n }\n }\n else if (node.childNodes.length > 1) {\n for (var j = 0; j < node.childNodes.length; j++) {\n var childNode = node.childNodes[j];\n var childSearchIndex = childNode.textContent.indexOf(uri);\n if (childSearchIndex !== -1) {\n this._replaceNodeSubstringWithNode(childNode, linkElement, uri, childSearchIndex);\n break;\n }\n }\n }\n else {\n var nodesAdded = this._replaceNodeSubstringWithNode(node, linkElement, uri, searchIndex);\n i += nodesAdded;\n }\n result.push(linkElement);\n match = row.textContent.substring(rowStartIndex).match(matcher.regex);\n if (!match || match.length === 0) {\n return result;\n }\n uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];\n rowStartIndex += match.index + uri.length;\n }\n }\n return result;\n };\n Linkifier.prototype._createAnchorElement = function (uri, handler, isHypertextLinkHandler) {\n var element = this._document.createElement('a');\n element.textContent = uri;\n element.draggable = false;\n if (isHypertextLinkHandler) {\n element.href = uri;\n element.target = '_blank';\n element.addEventListener('click', function (event) {\n if (handler) {\n return handler(event, uri);\n }\n });\n }\n else {\n element.addEventListener('click', function (event) {\n if (element.classList.contains(INVALID_LINK_CLASS)) {\n return;\n }\n return handler(event, uri);\n });\n }\n return element;\n };\n Linkifier.prototype._replaceNode = function (oldNode) {\n var newNodes = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n newNodes[_i - 1] = arguments[_i];\n }\n var parent = oldNode.parentNode;\n for (var i = 0; i < newNodes.length; i++) {\n parent.insertBefore(newNodes[i], oldNode);\n }\n parent.removeChild(oldNode);\n };\n Linkifier.prototype._replaceNodeSubstringWithNode = function (targetNode, newNode, substring, substringIndex) {\n if (targetNode.childNodes.length === 1) {\n targetNode = targetNode.childNodes[0];\n }\n if (targetNode.nodeType !== 3) {\n throw new Error('targetNode must be a text node or only contain a single text node');\n }\n var fullText = targetNode.textContent;\n if (substringIndex === 0) {\n var rightText_1 = fullText.substring(substring.length);\n var rightTextNode_1 = this._document.createTextNode(rightText_1);\n this._replaceNode(targetNode, newNode, rightTextNode_1);\n return 0;\n }\n if (substringIndex === targetNode.textContent.length - substring.length) {\n var leftText_1 = fullText.substring(0, substringIndex);\n var leftTextNode_1 = this._document.createTextNode(leftText_1);\n this._replaceNode(targetNode, leftTextNode_1, newNode);\n return 0;\n }\n var leftText = fullText.substring(0, substringIndex);\n var leftTextNode = this._document.createTextNode(leftText);\n var rightText = fullText.substring(substringIndex + substring.length);\n var rightTextNode = this._document.createTextNode(rightText);\n this._replaceNode(targetNode, leftTextNode, newNode, rightTextNode);\n return 1;\n };\n return Linkifier;\n}());\nLinkifier.TIME_BEFORE_LINKIFY = 200;\nexports.Linkifier = Linkifier;\n\n//# sourceMappingURL=Linkifier.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Linkifier.js\n// module id = 17\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar Charsets_1 = require(\"./Charsets\");\nvar normalStateHandler = {};\nnormalStateHandler[EscapeSequences_1.C0.BEL] = function (parser, handler) { return handler.bell(); };\nnormalStateHandler[EscapeSequences_1.C0.LF] = function (parser, handler) { return handler.lineFeed(); };\nnormalStateHandler[EscapeSequences_1.C0.VT] = normalStateHandler[EscapeSequences_1.C0.LF];\nnormalStateHandler[EscapeSequences_1.C0.FF] = normalStateHandler[EscapeSequences_1.C0.LF];\nnormalStateHandler[EscapeSequences_1.C0.CR] = function (parser, handler) { return handler.carriageReturn(); };\nnormalStateHandler[EscapeSequences_1.C0.BS] = function (parser, handler) { return handler.backspace(); };\nnormalStateHandler[EscapeSequences_1.C0.HT] = function (parser, handler) { return handler.tab(); };\nnormalStateHandler[EscapeSequences_1.C0.SO] = function (parser, handler) { return handler.shiftOut(); };\nnormalStateHandler[EscapeSequences_1.C0.SI] = function (parser, handler) { return handler.shiftIn(); };\nnormalStateHandler[EscapeSequences_1.C0.ESC] = function (parser, handler) { return parser.setState(ParserState.ESCAPED); };\nvar escapedStateHandler = {};\nescapedStateHandler['['] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.CSI_PARAM);\n};\nescapedStateHandler[']'] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.OSC);\n};\nescapedStateHandler['P'] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.DCS);\n};\nescapedStateHandler['_'] = function (parser, terminal) {\n parser.setState(ParserState.IGNORE);\n};\nescapedStateHandler['^'] = function (parser, terminal) {\n parser.setState(ParserState.IGNORE);\n};\nescapedStateHandler['c'] = function (parser, terminal) {\n terminal.reset();\n};\nescapedStateHandler['E'] = function (parser, terminal) {\n terminal.x = 0;\n terminal.index();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['D'] = function (parser, terminal) {\n terminal.index();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['M'] = function (parser, terminal) {\n terminal.reverseIndex();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['%'] = function (parser, terminal) {\n terminal.setgLevel(0);\n terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET);\n parser.setState(ParserState.NORMAL);\n parser.skipNextChar();\n};\nescapedStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); };\nvar csiParamStateHandler = {};\ncsiParamStateHandler['?'] = function (parser) { return parser.setPrefix('?'); };\ncsiParamStateHandler['>'] = function (parser) { return parser.setPrefix('>'); };\ncsiParamStateHandler['!'] = function (parser) { return parser.setPrefix('!'); };\ncsiParamStateHandler['0'] = function (parser) { return parser.setParam(parser.getParam() * 10); };\ncsiParamStateHandler['1'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 1); };\ncsiParamStateHandler['2'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 2); };\ncsiParamStateHandler['3'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 3); };\ncsiParamStateHandler['4'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 4); };\ncsiParamStateHandler['5'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 5); };\ncsiParamStateHandler['6'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 6); };\ncsiParamStateHandler['7'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 7); };\ncsiParamStateHandler['8'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 8); };\ncsiParamStateHandler['9'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 9); };\ncsiParamStateHandler['$'] = function (parser) { return parser.setPostfix('$'); };\ncsiParamStateHandler['\"'] = function (parser) { return parser.setPostfix('\"'); };\ncsiParamStateHandler[' '] = function (parser) { return parser.setPostfix(' '); };\ncsiParamStateHandler['\\''] = function (parser) { return parser.setPostfix('\\''); };\ncsiParamStateHandler[';'] = function (parser) { return parser.finalizeParam(); };\ncsiParamStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); };\nvar csiStateHandler = {};\ncsiStateHandler['@'] = function (handler, params, prefix) { return handler.insertChars(params); };\ncsiStateHandler['A'] = function (handler, params, prefix) { return handler.cursorUp(params); };\ncsiStateHandler['B'] = function (handler, params, prefix) { return handler.cursorDown(params); };\ncsiStateHandler['C'] = function (handler, params, prefix) { return handler.cursorForward(params); };\ncsiStateHandler['D'] = function (handler, params, prefix) { return handler.cursorBackward(params); };\ncsiStateHandler['E'] = function (handler, params, prefix) { return handler.cursorNextLine(params); };\ncsiStateHandler['F'] = function (handler, params, prefix) { return handler.cursorPrecedingLine(params); };\ncsiStateHandler['G'] = function (handler, params, prefix) { return handler.cursorCharAbsolute(params); };\ncsiStateHandler['H'] = function (handler, params, prefix) { return handler.cursorPosition(params); };\ncsiStateHandler['I'] = function (handler, params, prefix) { return handler.cursorForwardTab(params); };\ncsiStateHandler['J'] = function (handler, params, prefix) { return handler.eraseInDisplay(params); };\ncsiStateHandler['K'] = function (handler, params, prefix) { return handler.eraseInLine(params); };\ncsiStateHandler['L'] = function (handler, params, prefix) { return handler.insertLines(params); };\ncsiStateHandler['M'] = function (handler, params, prefix) { return handler.deleteLines(params); };\ncsiStateHandler['P'] = function (handler, params, prefix) { return handler.deleteChars(params); };\ncsiStateHandler['S'] = function (handler, params, prefix) { return handler.scrollUp(params); };\ncsiStateHandler['T'] = function (handler, params, prefix) {\n if (params.length < 2 && !prefix) {\n handler.scrollDown(params);\n }\n};\ncsiStateHandler['X'] = function (handler, params, prefix) { return handler.eraseChars(params); };\ncsiStateHandler['Z'] = function (handler, params, prefix) { return handler.cursorBackwardTab(params); };\ncsiStateHandler['`'] = function (handler, params, prefix) { return handler.charPosAbsolute(params); };\ncsiStateHandler['a'] = function (handler, params, prefix) { return handler.HPositionRelative(params); };\ncsiStateHandler['b'] = function (handler, params, prefix) { return handler.repeatPrecedingCharacter(params); };\ncsiStateHandler['c'] = function (handler, params, prefix) { return handler.sendDeviceAttributes(params); };\ncsiStateHandler['d'] = function (handler, params, prefix) { return handler.linePosAbsolute(params); };\ncsiStateHandler['e'] = function (handler, params, prefix) { return handler.VPositionRelative(params); };\ncsiStateHandler['f'] = function (handler, params, prefix) { return handler.HVPosition(params); };\ncsiStateHandler['g'] = function (handler, params, prefix) { return handler.tabClear(params); };\ncsiStateHandler['h'] = function (handler, params, prefix) { return handler.setMode(params); };\ncsiStateHandler['l'] = function (handler, params, prefix) { return handler.resetMode(params); };\ncsiStateHandler['m'] = function (handler, params, prefix) { return handler.charAttributes(params); };\ncsiStateHandler['n'] = function (handler, params, prefix) { return handler.deviceStatus(params); };\ncsiStateHandler['p'] = function (handler, params, prefix) {\n switch (prefix) {\n case '!':\n handler.softReset(params);\n break;\n }\n};\ncsiStateHandler['q'] = function (handler, params, prefix, postfix) {\n if (postfix === ' ') {\n handler.setCursorStyle(params);\n }\n};\ncsiStateHandler['r'] = function (handler, params) { return handler.setScrollRegion(params); };\ncsiStateHandler['s'] = function (handler, params) { return handler.saveCursor(params); };\ncsiStateHandler['u'] = function (handler, params) { return handler.restoreCursor(params); };\ncsiStateHandler[EscapeSequences_1.C0.CAN] = function (handler, params, prefix, postfix, parser) { return parser.setState(ParserState.NORMAL); };\nvar ParserState;\n(function (ParserState) {\n ParserState[ParserState[\"NORMAL\"] = 0] = \"NORMAL\";\n ParserState[ParserState[\"ESCAPED\"] = 1] = \"ESCAPED\";\n ParserState[ParserState[\"CSI_PARAM\"] = 2] = \"CSI_PARAM\";\n ParserState[ParserState[\"CSI\"] = 3] = \"CSI\";\n ParserState[ParserState[\"OSC\"] = 4] = \"OSC\";\n ParserState[ParserState[\"CHARSET\"] = 5] = \"CHARSET\";\n ParserState[ParserState[\"DCS\"] = 6] = \"DCS\";\n ParserState[ParserState[\"IGNORE\"] = 7] = \"IGNORE\";\n})(ParserState || (ParserState = {}));\nvar Parser = (function () {\n function Parser(_inputHandler, _terminal) {\n this._inputHandler = _inputHandler;\n this._terminal = _terminal;\n this._state = ParserState.NORMAL;\n }\n Parser.prototype.parse = function (data) {\n var l = data.length, j, cs, ch, code, low;\n this._position = 0;\n if (this._terminal.surrogate_high) {\n data = this._terminal.surrogate_high + data;\n this._terminal.surrogate_high = '';\n }\n for (; this._position < l; this._position++) {\n ch = data[this._position];\n code = data.charCodeAt(this._position);\n if (0xD800 <= code && code <= 0xDBFF) {\n low = data.charCodeAt(this._position + 1);\n if (isNaN(low)) {\n this._terminal.surrogate_high = ch;\n continue;\n }\n code = ((code - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;\n ch += data.charAt(this._position + 1);\n }\n if (0xDC00 <= code && code <= 0xDFFF)\n continue;\n switch (this._state) {\n case ParserState.NORMAL:\n if (ch in normalStateHandler) {\n normalStateHandler[ch](this, this._inputHandler);\n }\n else {\n this._inputHandler.addChar(ch, code);\n }\n break;\n case ParserState.ESCAPED:\n if (ch in escapedStateHandler) {\n escapedStateHandler[ch](this, this._terminal);\n break;\n }\n switch (ch) {\n case '(':\n case ')':\n case '*':\n case '+':\n case '-':\n case '.':\n switch (ch) {\n case '(':\n this._terminal.gcharset = 0;\n break;\n case ')':\n this._terminal.gcharset = 1;\n break;\n case '*':\n this._terminal.gcharset = 2;\n break;\n case '+':\n this._terminal.gcharset = 3;\n break;\n case '-':\n this._terminal.gcharset = 1;\n break;\n case '.':\n this._terminal.gcharset = 2;\n break;\n }\n this._state = ParserState.CHARSET;\n break;\n case '/':\n this._terminal.gcharset = 3;\n this._state = ParserState.CHARSET;\n this._position--;\n break;\n case 'N':\n break;\n case 'O':\n break;\n case 'n':\n this._terminal.setgLevel(2);\n break;\n case 'o':\n this._terminal.setgLevel(3);\n break;\n case '|':\n this._terminal.setgLevel(3);\n break;\n case '}':\n this._terminal.setgLevel(2);\n break;\n case '~':\n this._terminal.setgLevel(1);\n break;\n case '7':\n this._inputHandler.saveCursor();\n this._state = ParserState.NORMAL;\n break;\n case '8':\n this._inputHandler.restoreCursor();\n this._state = ParserState.NORMAL;\n break;\n case '#':\n this._state = ParserState.NORMAL;\n this._position++;\n break;\n case 'H':\n this._terminal.tabSet();\n this._state = ParserState.NORMAL;\n break;\n case '=':\n this._terminal.log('Serial port requested application keypad.');\n this._terminal.applicationKeypad = true;\n this._terminal.viewport.syncScrollArea();\n this._state = ParserState.NORMAL;\n break;\n case '>':\n this._terminal.log('Switching back to normal keypad.');\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n this._state = ParserState.NORMAL;\n break;\n default:\n this._state = ParserState.NORMAL;\n this._terminal.error('Unknown ESC control: %s.', ch);\n break;\n }\n break;\n case ParserState.CHARSET:\n if (ch in Charsets_1.CHARSETS) {\n cs = Charsets_1.CHARSETS[ch];\n if (ch === '/') {\n this.skipNextChar();\n }\n }\n else {\n cs = Charsets_1.DEFAULT_CHARSET;\n }\n this._terminal.setgCharset(this._terminal.gcharset, cs);\n this._terminal.gcharset = null;\n this._state = ParserState.NORMAL;\n break;\n case ParserState.OSC:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n this._terminal.params.push(this._terminal.currentParam);\n switch (this._terminal.params[0]) {\n case 0:\n case 1:\n case 2:\n if (this._terminal.params[1]) {\n this._terminal.title = this._terminal.params[1];\n this._terminal.handleTitle(this._terminal.title);\n }\n break;\n case 3:\n break;\n case 4:\n case 5:\n break;\n case 10:\n case 11:\n case 12:\n case 13:\n case 14:\n case 15:\n case 16:\n case 17:\n case 18:\n case 19:\n break;\n case 46:\n break;\n case 50:\n break;\n case 51:\n break;\n case 52:\n break;\n case 104:\n case 105:\n case 110:\n case 111:\n case 112:\n case 113:\n case 114:\n case 115:\n case 116:\n case 117:\n case 118:\n break;\n }\n this._terminal.params = [];\n this._terminal.currentParam = 0;\n this._state = ParserState.NORMAL;\n }\n else {\n if (!this._terminal.params.length) {\n if (ch >= '0' && ch <= '9') {\n this._terminal.currentParam =\n this._terminal.currentParam * 10 + ch.charCodeAt(0) - 48;\n }\n else if (ch === ';') {\n this._terminal.params.push(this._terminal.currentParam);\n this._terminal.currentParam = '';\n }\n }\n else {\n this._terminal.currentParam += ch;\n }\n }\n break;\n case ParserState.CSI_PARAM:\n if (ch in csiParamStateHandler) {\n csiParamStateHandler[ch](this);\n break;\n }\n this.finalizeParam();\n this._state = ParserState.CSI;\n case ParserState.CSI:\n if (ch in csiStateHandler) {\n csiStateHandler[ch](this._inputHandler, this._terminal.params, this._terminal.prefix, this._terminal.postfix, this);\n }\n else {\n this._terminal.error('Unknown CSI code: %s.', ch);\n }\n this._state = ParserState.NORMAL;\n this._terminal.prefix = '';\n this._terminal.postfix = '';\n break;\n case ParserState.DCS:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n var pt = void 0;\n var valid = void 0;\n switch (this._terminal.prefix) {\n case '':\n break;\n case '$q':\n pt = this._terminal.currentParam;\n valid = false;\n switch (pt) {\n case '\"q':\n pt = '0\"q';\n break;\n case '\"p':\n pt = '61\"p';\n break;\n case 'r':\n pt = ''\n + (this._terminal.scrollTop + 1)\n + ';'\n + (this._terminal.scrollBottom + 1)\n + 'r';\n break;\n case 'm':\n pt = '0m';\n break;\n default:\n this._terminal.error('Unknown DCS Pt: %s.', pt);\n pt = '';\n break;\n }\n this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '$r' + pt + EscapeSequences_1.C0.ESC + '\\\\');\n break;\n case '+p':\n break;\n case '+q':\n pt = this._terminal.currentParam;\n valid = false;\n this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '+r' + pt + EscapeSequences_1.C0.ESC + '\\\\');\n break;\n default:\n this._terminal.error('Unknown DCS prefix: %s.', this._terminal.prefix);\n break;\n }\n this._terminal.currentParam = 0;\n this._terminal.prefix = '';\n this._state = ParserState.NORMAL;\n }\n else if (!this._terminal.currentParam) {\n if (!this._terminal.prefix && ch !== '$' && ch !== '+') {\n this._terminal.currentParam = ch;\n }\n else if (this._terminal.prefix.length === 2) {\n this._terminal.currentParam = ch;\n }\n else {\n this._terminal.prefix += ch;\n }\n }\n else {\n this._terminal.currentParam += ch;\n }\n break;\n case ParserState.IGNORE:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n this._state = ParserState.NORMAL;\n }\n break;\n }\n }\n return this._state;\n };\n Parser.prototype.setState = function (state) {\n this._state = state;\n };\n Parser.prototype.setPrefix = function (prefix) {\n this._terminal.prefix = prefix;\n };\n Parser.prototype.setPostfix = function (postfix) {\n this._terminal.postfix = postfix;\n };\n Parser.prototype.setParam = function (param) {\n this._terminal.currentParam = param;\n };\n Parser.prototype.getParam = function () {\n return this._terminal.currentParam;\n };\n Parser.prototype.finalizeParam = function () {\n this._terminal.params.push(this._terminal.currentParam);\n this._terminal.currentParam = 0;\n };\n Parser.prototype.skipNextChar = function () {\n this._position++;\n };\n return Parser;\n}());\nexports.Parser = Parser;\n\n//# sourceMappingURL=Parser.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Parser.js\n// module id = 18\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DomElementObjectPool_1 = require(\"./utils/DomElementObjectPool\");\nvar MAX_REFRESH_FRAME_SKIP = 5;\nvar FLAGS;\n(function (FLAGS) {\n FLAGS[FLAGS[\"BOLD\"] = 1] = \"BOLD\";\n FLAGS[FLAGS[\"UNDERLINE\"] = 2] = \"UNDERLINE\";\n FLAGS[FLAGS[\"BLINK\"] = 4] = \"BLINK\";\n FLAGS[FLAGS[\"INVERSE\"] = 8] = \"INVERSE\";\n FLAGS[FLAGS[\"INVISIBLE\"] = 16] = \"INVISIBLE\";\n})(FLAGS || (FLAGS = {}));\n;\nvar brokenBold = null;\nvar Renderer = (function () {\n function Renderer(_terminal) {\n this._terminal = _terminal;\n this._refreshRowsQueue = [];\n this._refreshFramesSkipped = 0;\n this._refreshAnimationFrame = null;\n this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span');\n if (brokenBold === null) {\n brokenBold = checkBoldBroken(this._terminal.element);\n }\n this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span');\n }\n Renderer.prototype.queueRefresh = function (start, end) {\n this._refreshRowsQueue.push({ start: start, end: end });\n if (!this._refreshAnimationFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this));\n }\n };\n Renderer.prototype._refreshLoop = function () {\n var skipFrame = this._terminal.writeBuffer.length > 0 && this._refreshFramesSkipped++ <= MAX_REFRESH_FRAME_SKIP;\n if (skipFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this));\n return;\n }\n this._refreshFramesSkipped = 0;\n var start;\n var end;\n if (this._refreshRowsQueue.length > 4) {\n start = 0;\n end = this._terminal.rows - 1;\n }\n else {\n start = this._refreshRowsQueue[0].start;\n end = this._refreshRowsQueue[0].end;\n for (var i = 1; i < this._refreshRowsQueue.length; i++) {\n if (this._refreshRowsQueue[i].start < start) {\n start = this._refreshRowsQueue[i].start;\n }\n if (this._refreshRowsQueue[i].end > end) {\n end = this._refreshRowsQueue[i].end;\n }\n }\n }\n this._refreshRowsQueue = [];\n this._refreshAnimationFrame = null;\n this._refresh(start, end);\n };\n Renderer.prototype._refresh = function (start, end) {\n var parent;\n if (end - start >= this._terminal.rows / 2) {\n parent = this._terminal.element.parentNode;\n if (parent) {\n this._terminal.element.removeChild(this._terminal.rowContainer);\n }\n }\n var width = this._terminal.cols;\n var y = start;\n if (end >= this._terminal.rows) {\n this._terminal.log('`end` is too large. Most likely a bad CSR.');\n end = this._terminal.rows - 1;\n }\n for (; y <= end; y++) {\n var row = y + this._terminal.ydisp;\n var line = this._terminal.lines.get(row);\n var x = void 0;\n if (this._terminal.y === y - (this._terminal.ybase - this._terminal.ydisp) &&\n this._terminal.cursorState &&\n !this._terminal.cursorHidden) {\n x = this._terminal.x;\n }\n else {\n x = -1;\n }\n var attr = this._terminal.defAttr;\n var documentFragment = document.createDocumentFragment();\n var innerHTML = '';\n var currentElement = void 0;\n while (this._terminal.children[y].children.length) {\n var child = this._terminal.children[y].children[0];\n this._terminal.children[y].removeChild(child);\n this._spanElementObjectPool.release(child);\n }\n for (var i = 0; i < width; i++) {\n var data = line[i][0];\n var ch = line[i][1];\n var ch_width = line[i][2];\n if (!ch_width) {\n continue;\n }\n if (i === x) {\n data = -1;\n }\n if (data !== attr) {\n if (attr !== this._terminal.defAttr) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n currentElement = null;\n }\n if (data !== this._terminal.defAttr) {\n if (innerHTML && !currentElement) {\n currentElement = this._spanElementObjectPool.acquire();\n }\n if (currentElement) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n }\n currentElement = this._spanElementObjectPool.acquire();\n if (data === -1) {\n currentElement.classList.add('reverse-video');\n currentElement.classList.add('terminal-cursor');\n }\n else {\n var bg = data & 0x1ff;\n var fg = (data >> 9) & 0x1ff;\n var flags = data >> 18;\n if (flags & FLAGS.BOLD) {\n if (!brokenBold) {\n currentElement.classList.add('xterm-bold');\n }\n if (fg < 8) {\n fg += 8;\n }\n }\n if (flags & FLAGS.UNDERLINE) {\n currentElement.classList.add('xterm-underline');\n }\n if (flags & FLAGS.BLINK) {\n currentElement.classList.add('xterm-blink');\n }\n if (flags & FLAGS.INVERSE) {\n var temp = bg;\n bg = fg;\n fg = temp;\n if ((flags & 1) && fg < 8) {\n fg += 8;\n }\n }\n if (flags & FLAGS.INVISIBLE) {\n currentElement.classList.add('xterm-hidden');\n }\n if (flags & FLAGS.INVERSE) {\n if (bg === 257) {\n bg = 15;\n }\n if (fg === 256) {\n fg = 0;\n }\n }\n if (bg < 256) {\n currentElement.classList.add(\"xterm-bg-color-\" + bg);\n }\n if (fg < 256) {\n currentElement.classList.add(\"xterm-color-\" + fg);\n }\n }\n }\n }\n if (ch_width === 2) {\n innerHTML += \"\" + ch + \"\";\n }\n else if (ch.charCodeAt(0) > 255) {\n innerHTML += \"\" + ch + \"\";\n }\n else {\n switch (ch) {\n case '&':\n innerHTML += '&';\n break;\n case '<':\n innerHTML += '<';\n break;\n case '>':\n innerHTML += '>';\n break;\n default:\n if (ch <= ' ') {\n innerHTML += ' ';\n }\n else {\n innerHTML += ch;\n }\n break;\n }\n }\n attr = data;\n }\n if (innerHTML && !currentElement) {\n currentElement = this._spanElementObjectPool.acquire();\n }\n if (currentElement) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n currentElement = null;\n }\n this._terminal.children[y].appendChild(documentFragment);\n }\n if (parent) {\n this._terminal.element.appendChild(this._terminal.rowContainer);\n }\n this._terminal.emit('refresh', { element: this._terminal.element, start: start, end: end });\n };\n ;\n Renderer.prototype.refreshSelection = function (start, end) {\n while (this._terminal.selectionContainer.children.length) {\n this._terminal.selectionContainer.removeChild(this._terminal.selectionContainer.children[0]);\n }\n if (!start || !end) {\n return;\n }\n var viewportStartRow = start[1] - this._terminal.ydisp;\n var viewportEndRow = end[1] - this._terminal.ydisp;\n var viewportCappedStartRow = Math.max(viewportStartRow, 0);\n var viewportCappedEndRow = Math.min(viewportEndRow, this._terminal.rows - 1);\n if (viewportCappedStartRow >= this._terminal.rows || viewportCappedEndRow < 0) {\n return;\n }\n var documentFragment = document.createDocumentFragment();\n var startCol = viewportStartRow === viewportCappedStartRow ? start[0] : 0;\n var endCol = viewportCappedStartRow === viewportCappedEndRow ? end[0] : this._terminal.cols;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow, startCol, endCol));\n var middleRowsCount = viewportCappedEndRow - viewportCappedStartRow - 1;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow + 1, 0, this._terminal.cols, middleRowsCount));\n if (viewportCappedStartRow !== viewportCappedEndRow) {\n var endCol_1 = viewportEndRow === viewportCappedEndRow ? end[0] : this._terminal.cols;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedEndRow, 0, endCol_1));\n }\n this._terminal.selectionContainer.appendChild(documentFragment);\n };\n Renderer.prototype._createSelectionElement = function (row, colStart, colEnd, rowCount) {\n if (rowCount === void 0) { rowCount = 1; }\n var element = document.createElement('div');\n element.style.height = rowCount * this._terminal.charMeasure.height + \"px\";\n element.style.top = row * this._terminal.charMeasure.height + \"px\";\n element.style.left = colStart * this._terminal.charMeasure.width + \"px\";\n element.style.width = this._terminal.charMeasure.width * (colEnd - colStart) + \"px\";\n return element;\n };\n return Renderer;\n}());\nexports.Renderer = Renderer;\nfunction checkBoldBroken(terminal) {\n var document = terminal.ownerDocument;\n var el = document.createElement('span');\n el.innerHTML = 'hello world';\n terminal.appendChild(el);\n var w1 = el.offsetWidth;\n var h1 = el.offsetHeight;\n el.style.fontWeight = 'bold';\n var w2 = el.offsetWidth;\n var h2 = el.offsetHeight;\n terminal.removeChild(el);\n return w1 !== w2 || h1 !== h2;\n}\n\n//# sourceMappingURL=Renderer.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Renderer.js\n// module id = 19\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Mouse = require(\"./utils/Mouse\");\nvar Browser = require(\"./utils/Browser\");\nvar EventEmitter_1 = require(\"./EventEmitter\");\nvar SelectionModel_1 = require(\"./SelectionModel\");\nvar DRAG_SCROLL_MAX_THRESHOLD = 50;\nvar DRAG_SCROLL_MAX_SPEED = 15;\nvar DRAG_SCROLL_INTERVAL = 50;\nvar CLEAR_MOUSE_DOWN_TIME = 400;\nvar CLEAR_MOUSE_DISTANCE = 10;\nvar WORD_SEPARATORS = ' ()[]{}\\'\"';\nvar LINE_DATA_CHAR_INDEX = 1;\nvar LINE_DATA_WIDTH_INDEX = 2;\nvar NON_BREAKING_SPACE_CHAR = String.fromCharCode(160);\nvar ALL_NON_BREAKING_SPACE_REGEX = new RegExp(NON_BREAKING_SPACE_CHAR, 'g');\nvar SelectionMode;\n(function (SelectionMode) {\n SelectionMode[SelectionMode[\"NORMAL\"] = 0] = \"NORMAL\";\n SelectionMode[SelectionMode[\"WORD\"] = 1] = \"WORD\";\n SelectionMode[SelectionMode[\"LINE\"] = 2] = \"LINE\";\n})(SelectionMode || (SelectionMode = {}));\nvar SelectionManager = (function (_super) {\n __extends(SelectionManager, _super);\n function SelectionManager(_terminal, _buffer, _rowContainer, _charMeasure) {\n var _this = _super.call(this) || this;\n _this._terminal = _terminal;\n _this._buffer = _buffer;\n _this._rowContainer = _rowContainer;\n _this._charMeasure = _charMeasure;\n _this._initListeners();\n _this.enable();\n _this._model = new SelectionModel_1.SelectionModel(_terminal);\n _this._lastMouseDownTime = 0;\n _this._activeSelectionMode = SelectionMode.NORMAL;\n return _this;\n }\n SelectionManager.prototype._initListeners = function () {\n var _this = this;\n this._bufferTrimListener = function (amount) { return _this._onTrim(amount); };\n this._mouseMoveListener = function (event) { return _this._onMouseMove(event); };\n this._mouseDownListener = function (event) { return _this._onMouseDown(event); };\n this._mouseUpListener = function (event) { return _this._onMouseUp(event); };\n };\n SelectionManager.prototype.disable = function () {\n this.clearSelection();\n this._buffer.off('trim', this._bufferTrimListener);\n this._rowContainer.removeEventListener('mousedown', this._mouseDownListener);\n };\n SelectionManager.prototype.enable = function () {\n this._buffer.on('trim', this._bufferTrimListener);\n this._rowContainer.addEventListener('mousedown', this._mouseDownListener);\n };\n SelectionManager.prototype.setBuffer = function (buffer) {\n this._buffer = buffer;\n this.clearSelection();\n };\n Object.defineProperty(SelectionManager.prototype, \"hasSelection\", {\n get: function () {\n var start = this._model.finalSelectionStart;\n var end = this._model.finalSelectionEnd;\n if (!start || !end) {\n return false;\n }\n return start[0] !== end[0] || start[1] !== end[1];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SelectionManager.prototype, \"selectionText\", {\n get: function () {\n var start = this._model.finalSelectionStart;\n var end = this._model.finalSelectionEnd;\n if (!start || !end) {\n return '';\n }\n var startRowEndCol = start[1] === end[1] ? end[0] : null;\n var result = [];\n result.push(this._translateBufferLineToString(this._buffer.get(start[1]), true, start[0], startRowEndCol));\n for (var i = start[1] + 1; i <= end[1] - 1; i++) {\n var bufferLine = this._buffer.get(i);\n var lineText = this._translateBufferLineToString(bufferLine, true);\n if (bufferLine.isWrapped) {\n result[result.length - 1] += lineText;\n }\n else {\n result.push(lineText);\n }\n }\n if (start[1] !== end[1]) {\n var bufferLine = this._buffer.get(end[1]);\n var lineText = this._translateBufferLineToString(bufferLine, true, 0, end[0]);\n if (bufferLine.isWrapped) {\n result[result.length - 1] += lineText;\n }\n else {\n result.push(lineText);\n }\n }\n var formattedResult = result.map(function (line) {\n return line.replace(ALL_NON_BREAKING_SPACE_REGEX, ' ');\n }).join(Browser.isMSWindows ? '\\r\\n' : '\\n');\n return formattedResult;\n },\n enumerable: true,\n configurable: true\n });\n SelectionManager.prototype.clearSelection = function () {\n this._model.clearSelection();\n this._removeMouseDownListeners();\n this.refresh();\n };\n SelectionManager.prototype._translateBufferLineToString = function (line, trimRight, startCol, endCol) {\n if (startCol === void 0) { startCol = 0; }\n if (endCol === void 0) { endCol = null; }\n var lineString = '';\n var widthAdjustedStartCol = startCol;\n var widthAdjustedEndCol = endCol;\n for (var i = 0; i < line.length; i++) {\n var char = line[i];\n lineString += char[LINE_DATA_CHAR_INDEX];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n if (startCol >= i) {\n widthAdjustedStartCol--;\n }\n if (endCol >= i) {\n widthAdjustedEndCol--;\n }\n }\n }\n var finalEndCol = widthAdjustedEndCol || line.length;\n if (trimRight) {\n var rightWhitespaceIndex = lineString.search(/\\s+$/);\n if (rightWhitespaceIndex !== -1) {\n finalEndCol = Math.min(finalEndCol, rightWhitespaceIndex);\n }\n if (finalEndCol <= widthAdjustedStartCol) {\n return '';\n }\n }\n return lineString.substring(widthAdjustedStartCol, finalEndCol);\n };\n SelectionManager.prototype.refresh = function (isNewSelection) {\n var _this = this;\n if (!this._refreshAnimationFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(function () { return _this._refresh(); });\n }\n if (Browser.isLinux && isNewSelection) {\n var selectionText = this.selectionText;\n if (selectionText.length) {\n this.emit('newselection', this.selectionText);\n }\n }\n };\n SelectionManager.prototype._refresh = function () {\n this._refreshAnimationFrame = null;\n this.emit('refresh', { start: this._model.finalSelectionStart, end: this._model.finalSelectionEnd });\n };\n SelectionManager.prototype.selectAll = function () {\n this._model.isSelectAllActive = true;\n this.refresh();\n };\n SelectionManager.prototype._onTrim = function (amount) {\n var needsRefresh = this._model.onTrim(amount);\n if (needsRefresh) {\n this.refresh();\n }\n };\n SelectionManager.prototype._getMouseBufferCoords = function (event) {\n var coords = Mouse.getCoords(event, this._rowContainer, this._charMeasure, this._terminal.cols, this._terminal.rows, true);\n coords[0]--;\n coords[1]--;\n coords[1] += this._terminal.ydisp;\n return coords;\n };\n SelectionManager.prototype._getMouseEventScrollAmount = function (event) {\n var offset = Mouse.getCoordsRelativeToElement(event, this._rowContainer)[1];\n var terminalHeight = this._terminal.rows * this._charMeasure.height;\n if (offset >= 0 && offset <= terminalHeight) {\n return 0;\n }\n if (offset > terminalHeight) {\n offset -= terminalHeight;\n }\n offset = Math.min(Math.max(offset, -DRAG_SCROLL_MAX_THRESHOLD), DRAG_SCROLL_MAX_THRESHOLD);\n offset /= DRAG_SCROLL_MAX_THRESHOLD;\n return (offset / Math.abs(offset)) + Math.round(offset * (DRAG_SCROLL_MAX_SPEED - 1));\n };\n SelectionManager.prototype._onMouseDown = function (event) {\n if (event.button !== 0) {\n return;\n }\n event.preventDefault();\n this._dragScrollAmount = 0;\n this._setMouseClickCount(event);\n if (event.shiftKey) {\n this._onShiftClick(event);\n }\n else {\n if (this._clickCount === 1) {\n this._onSingleClick(event);\n }\n else if (this._clickCount === 2) {\n this._onDoubleClick(event);\n }\n else if (this._clickCount === 3) {\n this._onTripleClick(event);\n }\n }\n this._addMouseDownListeners();\n this.refresh(true);\n };\n SelectionManager.prototype._addMouseDownListeners = function () {\n var _this = this;\n this._rowContainer.ownerDocument.addEventListener('mousemove', this._mouseMoveListener);\n this._rowContainer.ownerDocument.addEventListener('mouseup', this._mouseUpListener);\n this._dragScrollIntervalTimer = setInterval(function () { return _this._dragScroll(); }, DRAG_SCROLL_INTERVAL);\n };\n SelectionManager.prototype._removeMouseDownListeners = function () {\n this._rowContainer.ownerDocument.removeEventListener('mousemove', this._mouseMoveListener);\n this._rowContainer.ownerDocument.removeEventListener('mouseup', this._mouseUpListener);\n clearInterval(this._dragScrollIntervalTimer);\n this._dragScrollIntervalTimer = null;\n };\n SelectionManager.prototype._onShiftClick = function (event) {\n if (this._model.selectionStart) {\n this._model.selectionEnd = this._getMouseBufferCoords(event);\n }\n };\n SelectionManager.prototype._onSingleClick = function (event) {\n this._model.selectionStartLength = 0;\n this._model.isSelectAllActive = false;\n this._activeSelectionMode = SelectionMode.NORMAL;\n this._model.selectionStart = this._getMouseBufferCoords(event);\n if (this._model.selectionStart) {\n this._model.selectionEnd = null;\n var char = this._buffer.get(this._model.selectionStart[1])[this._model.selectionStart[0]];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n this._model.selectionStart[0]++;\n }\n }\n };\n SelectionManager.prototype._onDoubleClick = function (event) {\n var coords = this._getMouseBufferCoords(event);\n if (coords) {\n this._activeSelectionMode = SelectionMode.WORD;\n this._selectWordAt(coords);\n }\n };\n SelectionManager.prototype._onTripleClick = function (event) {\n var coords = this._getMouseBufferCoords(event);\n if (coords) {\n this._activeSelectionMode = SelectionMode.LINE;\n this._selectLineAt(coords[1]);\n }\n };\n SelectionManager.prototype._setMouseClickCount = function (event) {\n var currentTime = (new Date()).getTime();\n if (currentTime - this._lastMouseDownTime > CLEAR_MOUSE_DOWN_TIME || this._distanceFromLastMousePosition(event) > CLEAR_MOUSE_DISTANCE) {\n this._clickCount = 0;\n }\n this._lastMouseDownTime = currentTime;\n this._lastMousePosition = [event.pageX, event.pageY];\n this._clickCount++;\n };\n SelectionManager.prototype._distanceFromLastMousePosition = function (event) {\n var result = Math.max(Math.abs(this._lastMousePosition[0] - event.pageX), Math.abs(this._lastMousePosition[1] - event.pageY));\n return result;\n };\n SelectionManager.prototype._onMouseMove = function (event) {\n var previousSelectionEnd = this._model.selectionEnd ? [this._model.selectionEnd[0], this._model.selectionEnd[1]] : null;\n this._model.selectionEnd = this._getMouseBufferCoords(event);\n if (this._activeSelectionMode === SelectionMode.LINE) {\n if (this._model.selectionEnd[1] < this._model.selectionStart[1]) {\n this._model.selectionEnd[0] = 0;\n }\n else {\n this._model.selectionEnd[0] = this._terminal.cols;\n }\n }\n else if (this._activeSelectionMode === SelectionMode.WORD) {\n this._selectToWordAt(this._model.selectionEnd);\n }\n this._dragScrollAmount = this._getMouseEventScrollAmount(event);\n if (this._dragScrollAmount > 0) {\n this._model.selectionEnd[0] = this._terminal.cols - 1;\n }\n else if (this._dragScrollAmount < 0) {\n this._model.selectionEnd[0] = 0;\n }\n if (this._model.selectionEnd[1] < this._buffer.length) {\n var char = this._buffer.get(this._model.selectionEnd[1])[this._model.selectionEnd[0]];\n if (char && char[2] === 0) {\n this._model.selectionEnd[0]++;\n }\n }\n if (!previousSelectionEnd ||\n previousSelectionEnd[0] !== this._model.selectionEnd[0] ||\n previousSelectionEnd[1] !== this._model.selectionEnd[1]) {\n this.refresh(true);\n }\n };\n SelectionManager.prototype._dragScroll = function () {\n if (this._dragScrollAmount) {\n this._terminal.scrollDisp(this._dragScrollAmount, false);\n if (this._dragScrollAmount > 0) {\n this._model.selectionEnd = [this._terminal.cols - 1, this._terminal.ydisp + this._terminal.rows];\n }\n else {\n this._model.selectionEnd = [0, this._terminal.ydisp];\n }\n this.refresh();\n }\n };\n SelectionManager.prototype._onMouseUp = function (event) {\n this._removeMouseDownListeners();\n };\n SelectionManager.prototype._convertViewportColToCharacterIndex = function (bufferLine, coords) {\n var charIndex = coords[0];\n for (var i = 0; coords[0] >= i; i++) {\n var char = bufferLine[i];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n charIndex--;\n }\n }\n return charIndex;\n };\n SelectionManager.prototype._getWordAt = function (coords) {\n var bufferLine = this._buffer.get(coords[1]);\n var line = this._translateBufferLineToString(bufferLine, false);\n var endIndex = this._convertViewportColToCharacterIndex(bufferLine, coords);\n var startIndex = endIndex;\n var charOffset = coords[0] - startIndex;\n var leftWideCharCount = 0;\n var rightWideCharCount = 0;\n if (line.charAt(startIndex) === ' ') {\n while (startIndex > 0 && line.charAt(startIndex - 1) === ' ') {\n startIndex--;\n }\n while (endIndex < line.length && line.charAt(endIndex + 1) === ' ') {\n endIndex++;\n }\n }\n else {\n var startCol = coords[0];\n var endCol = coords[0];\n if (bufferLine[startCol][LINE_DATA_WIDTH_INDEX] === 0) {\n leftWideCharCount++;\n startCol--;\n }\n if (bufferLine[endCol][LINE_DATA_WIDTH_INDEX] === 2) {\n rightWideCharCount++;\n endCol++;\n }\n while (startIndex > 0 && !this._isCharWordSeparator(line.charAt(startIndex - 1))) {\n if (bufferLine[startCol - 1][LINE_DATA_WIDTH_INDEX] === 0) {\n leftWideCharCount++;\n startCol--;\n }\n startIndex--;\n startCol--;\n }\n while (endIndex + 1 < line.length && !this._isCharWordSeparator(line.charAt(endIndex + 1))) {\n if (bufferLine[endCol + 1][LINE_DATA_WIDTH_INDEX] === 2) {\n rightWideCharCount++;\n endCol++;\n }\n endIndex++;\n endCol++;\n }\n }\n var start = startIndex + charOffset - leftWideCharCount;\n var length = Math.min(endIndex - startIndex + leftWideCharCount + rightWideCharCount + 1, this._terminal.cols);\n return { start: start, length: length };\n };\n SelectionManager.prototype._selectWordAt = function (coords) {\n var wordPosition = this._getWordAt(coords);\n this._model.selectionStart = [wordPosition.start, coords[1]];\n this._model.selectionStartLength = wordPosition.length;\n };\n SelectionManager.prototype._selectToWordAt = function (coords) {\n var wordPosition = this._getWordAt(coords);\n this._model.selectionEnd = [this._model.areSelectionValuesReversed() ? wordPosition.start : (wordPosition.start + wordPosition.length), coords[1]];\n };\n SelectionManager.prototype._isCharWordSeparator = function (char) {\n return WORD_SEPARATORS.indexOf(char) >= 0;\n };\n SelectionManager.prototype._selectLineAt = function (line) {\n this._model.selectionStart = [0, line];\n this._model.selectionStartLength = this._terminal.cols;\n };\n return SelectionManager;\n}(EventEmitter_1.EventEmitter));\nexports.SelectionManager = SelectionManager;\n\n//# sourceMappingURL=SelectionManager.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/SelectionManager.js\n// module id = 20\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar SelectionModel = (function () {\n function SelectionModel(_terminal) {\n this._terminal = _terminal;\n this.clearSelection();\n }\n SelectionModel.prototype.clearSelection = function () {\n this.selectionStart = null;\n this.selectionEnd = null;\n this.isSelectAllActive = false;\n this.selectionStartLength = 0;\n };\n Object.defineProperty(SelectionModel.prototype, \"finalSelectionStart\", {\n get: function () {\n if (this.isSelectAllActive) {\n return [0, 0];\n }\n if (!this.selectionEnd || !this.selectionStart) {\n return this.selectionStart;\n }\n return this.areSelectionValuesReversed() ? this.selectionEnd : this.selectionStart;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SelectionModel.prototype, \"finalSelectionEnd\", {\n get: function () {\n if (this.isSelectAllActive) {\n return [this._terminal.cols, this._terminal.ybase + this._terminal.rows - 1];\n }\n if (!this.selectionStart) {\n return null;\n }\n if (!this.selectionEnd || this.areSelectionValuesReversed()) {\n return [this.selectionStart[0] + this.selectionStartLength, this.selectionStart[1]];\n }\n if (this.selectionStartLength) {\n if (this.selectionEnd[1] === this.selectionStart[1]) {\n return [Math.max(this.selectionStart[0] + this.selectionStartLength, this.selectionEnd[0]), this.selectionEnd[1]];\n }\n }\n return this.selectionEnd;\n },\n enumerable: true,\n configurable: true\n });\n SelectionModel.prototype.areSelectionValuesReversed = function () {\n var start = this.selectionStart;\n var end = this.selectionEnd;\n return start[1] > end[1] || (start[1] === end[1] && start[0] > end[0]);\n };\n SelectionModel.prototype.onTrim = function (amount) {\n if (this.selectionStart) {\n this.selectionStart[1] -= amount;\n }\n if (this.selectionEnd) {\n this.selectionEnd[1] -= amount;\n }\n if (this.selectionEnd && this.selectionEnd[1] < 0) {\n this.clearSelection();\n return true;\n }\n if (this.selectionStart && this.selectionStart[1] < 0) {\n this.selectionStart[1] = 0;\n }\n return false;\n };\n return SelectionModel;\n}());\nexports.SelectionModel = SelectionModel;\n\n//# sourceMappingURL=SelectionModel.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/SelectionModel.js\n// module id = 21\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Viewport = (function () {\n function Viewport(terminal, viewportElement, scrollArea, charMeasure) {\n var _this = this;\n this.terminal = terminal;\n this.viewportElement = viewportElement;\n this.scrollArea = scrollArea;\n this.charMeasure = charMeasure;\n this.currentRowHeight = 0;\n this.lastRecordedBufferLength = 0;\n this.lastRecordedViewportHeight = 0;\n this.terminal.on('scroll', this.syncScrollArea.bind(this));\n this.terminal.on('resize', this.syncScrollArea.bind(this));\n this.viewportElement.addEventListener('scroll', this.onScroll.bind(this));\n setTimeout(function () { return _this.syncScrollArea(); }, 0);\n }\n Viewport.prototype.refresh = function () {\n if (this.charMeasure.height > 0) {\n var rowHeightChanged = this.charMeasure.height !== this.currentRowHeight;\n if (rowHeightChanged) {\n this.currentRowHeight = this.charMeasure.height;\n this.viewportElement.style.lineHeight = this.charMeasure.height + 'px';\n this.terminal.rowContainer.style.lineHeight = this.charMeasure.height + 'px';\n }\n var viewportHeightChanged = this.lastRecordedViewportHeight !== this.terminal.rows;\n if (rowHeightChanged || viewportHeightChanged) {\n this.lastRecordedViewportHeight = this.terminal.rows;\n this.viewportElement.style.height = this.charMeasure.height * this.terminal.rows + 'px';\n this.terminal.selectionContainer.style.height = this.viewportElement.style.height;\n }\n this.scrollArea.style.height = (this.charMeasure.height * this.lastRecordedBufferLength) + 'px';\n }\n };\n Viewport.prototype.syncScrollArea = function () {\n if (this.lastRecordedBufferLength !== this.terminal.lines.length) {\n this.lastRecordedBufferLength = this.terminal.lines.length;\n this.refresh();\n }\n else if (this.lastRecordedViewportHeight !== this.terminal.rows) {\n this.refresh();\n }\n else {\n if (this.charMeasure.height !== this.currentRowHeight) {\n this.refresh();\n }\n }\n var scrollTop = this.terminal.ydisp * this.currentRowHeight;\n if (this.viewportElement.scrollTop !== scrollTop) {\n this.viewportElement.scrollTop = scrollTop;\n }\n };\n Viewport.prototype.onScroll = function (ev) {\n var newRow = Math.round(this.viewportElement.scrollTop / this.currentRowHeight);\n var diff = newRow - this.terminal.ydisp;\n this.terminal.scrollDisp(diff, true);\n };\n Viewport.prototype.onWheel = function (ev) {\n if (ev.deltaY === 0) {\n return;\n }\n var multiplier = 1;\n if (ev.deltaMode === WheelEvent.DOM_DELTA_LINE) {\n multiplier = this.currentRowHeight;\n }\n else if (ev.deltaMode === WheelEvent.DOM_DELTA_PAGE) {\n multiplier = this.currentRowHeight * this.terminal.rows;\n }\n this.viewportElement.scrollTop += ev.deltaY * multiplier;\n ev.preventDefault();\n };\n ;\n Viewport.prototype.onTouchStart = function (ev) {\n this.lastTouchY = ev.touches[0].pageY;\n };\n ;\n Viewport.prototype.onTouchMove = function (ev) {\n var deltaY = this.lastTouchY - ev.touches[0].pageY;\n this.lastTouchY = ev.touches[0].pageY;\n if (deltaY === 0) {\n return;\n }\n this.viewportElement.scrollTop += deltaY;\n ev.preventDefault();\n };\n ;\n return Viewport;\n}());\nexports.Viewport = Viewport;\n\n//# sourceMappingURL=Viewport.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Viewport.js\n// module id = 22\n// module chunks = 0","var map = {\n\t\"./attach/attach\": 4,\n\t\"./attach/attach.js\": 4,\n\t\"./attach/package.json\": 24,\n\t\"./fit/fit\": 5,\n\t\"./fit/fit.js\": 5,\n\t\"./fit/package.json\": 25,\n\t\"./fullscreen/fullscreen\": 6,\n\t\"./fullscreen/fullscreen.css\": 26,\n\t\"./fullscreen/fullscreen.js\": 6,\n\t\"./fullscreen/package.json\": 27,\n\t\"./terminado/package.json\": 28,\n\t\"./terminado/terminado\": 7,\n\t\"./terminado/terminado.js\": 7\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 23;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons ^\\.\\/.*$\n// module id = 23\n// module chunks = 0","module.exports = {\"name\":\"xterm.attach\",\"main\":\"attach.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/attach/package.json\n// module id = 24\n// module chunks = 0","module.exports = {\"name\":\"xterm.fit\",\"main\":\"fit.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fit/package.json\n// module id = 25\n// module chunks = 0","module.exports = {\"name\":\"xterm.fullscreen\",\"main\":\"fullscreen.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fullscreen/package.json\n// module id = 27\n// module chunks = 0","module.exports = {\"name\":\"xterm.terminado\",\"main\":\"terminado.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/terminado/package.json\n// module id = 28\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction prepareTextForTerminal(text, isMSWindows) {\n if (isMSWindows) {\n return text.replace(/\\r?\\n/g, '\\r');\n }\n return text;\n}\nexports.prepareTextForTerminal = prepareTextForTerminal;\nfunction copyHandler(ev, term, selectionManager) {\n if (term.browser.isMSIE) {\n window.clipboardData.setData('Text', selectionManager.selectionText);\n }\n else {\n ev.clipboardData.setData('text/plain', selectionManager.selectionText);\n }\n ev.preventDefault();\n}\nexports.copyHandler = copyHandler;\nfunction pasteHandler(ev, term) {\n ev.stopPropagation();\n var text;\n var dispatchPaste = function (text) {\n text = prepareTextForTerminal(text, term.browser.isMSWindows);\n term.handler(text);\n term.textarea.value = '';\n term.emit('paste', text);\n return term.cancel(ev);\n };\n if (term.browser.isMSIE) {\n if (window.clipboardData) {\n text = window.clipboardData.getData('Text');\n dispatchPaste(text);\n }\n }\n else {\n if (ev.clipboardData) {\n text = ev.clipboardData.getData('text/plain');\n dispatchPaste(text);\n }\n }\n}\nexports.pasteHandler = pasteHandler;\nfunction moveTextAreaUnderMouseCursor(ev, textarea) {\n textarea.style.position = 'fixed';\n textarea.style.width = '20px';\n textarea.style.height = '20px';\n textarea.style.left = (ev.clientX - 10) + 'px';\n textarea.style.top = (ev.clientY - 10) + 'px';\n textarea.style.zIndex = '1000';\n textarea.focus();\n setTimeout(function () {\n textarea.style.position = null;\n textarea.style.width = null;\n textarea.style.height = null;\n textarea.style.left = null;\n textarea.style.top = null;\n textarea.style.zIndex = null;\n }, 4);\n}\nexports.moveTextAreaUnderMouseCursor = moveTextAreaUnderMouseCursor;\nfunction rightClickHandler(ev, textarea, selectionManager) {\n moveTextAreaUnderMouseCursor(ev, textarea);\n textarea.value = selectionManager.selectionText;\n textarea.select();\n}\nexports.rightClickHandler = rightClickHandler;\n\n//# sourceMappingURL=Clipboard.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/handlers/Clipboard.js\n// module id = 29\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventEmitter_js_1 = require(\"../EventEmitter.js\");\nvar CharMeasure = (function (_super) {\n __extends(CharMeasure, _super);\n function CharMeasure(document, parentElement) {\n var _this = _super.call(this) || this;\n _this._document = document;\n _this._parentElement = parentElement;\n return _this;\n }\n Object.defineProperty(CharMeasure.prototype, \"width\", {\n get: function () {\n return this._width;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CharMeasure.prototype, \"height\", {\n get: function () {\n return this._height;\n },\n enumerable: true,\n configurable: true\n });\n CharMeasure.prototype.measure = function () {\n var _this = this;\n if (!this._measureElement) {\n this._measureElement = this._document.createElement('span');\n this._measureElement.style.position = 'absolute';\n this._measureElement.style.top = '0';\n this._measureElement.style.left = '-9999em';\n this._measureElement.textContent = 'W';\n this._measureElement.setAttribute('aria-hidden', 'true');\n this._parentElement.appendChild(this._measureElement);\n setTimeout(function () { return _this._doMeasure(); }, 0);\n }\n else {\n this._doMeasure();\n }\n };\n CharMeasure.prototype._doMeasure = function () {\n var geometry = this._measureElement.getBoundingClientRect();\n if (geometry.width === 0 || geometry.height === 0) {\n return;\n }\n if (this._width !== geometry.width || this._height !== geometry.height) {\n this._width = geometry.width;\n this._height = geometry.height;\n this.emit('charsizechanged');\n }\n };\n return CharMeasure;\n}(EventEmitter_js_1.EventEmitter));\nexports.CharMeasure = CharMeasure;\n\n//# sourceMappingURL=CharMeasure.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/CharMeasure.js\n// module id = 30\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventEmitter_1 = require(\"../EventEmitter\");\nvar CircularList = (function (_super) {\n __extends(CircularList, _super);\n function CircularList(maxLength) {\n var _this = _super.call(this) || this;\n _this._array = new Array(maxLength);\n _this._startIndex = 0;\n _this._length = 0;\n return _this;\n }\n Object.defineProperty(CircularList.prototype, \"maxLength\", {\n get: function () {\n return this._array.length;\n },\n set: function (newMaxLength) {\n var newArray = new Array(newMaxLength);\n for (var i = 0; i < Math.min(newMaxLength, this.length); i++) {\n newArray[i] = this._array[this._getCyclicIndex(i)];\n }\n this._array = newArray;\n this._startIndex = 0;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CircularList.prototype, \"length\", {\n get: function () {\n return this._length;\n },\n set: function (newLength) {\n if (newLength > this._length) {\n for (var i = this._length; i < newLength; i++) {\n this._array[i] = undefined;\n }\n }\n this._length = newLength;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CircularList.prototype, \"forEach\", {\n get: function () {\n var _this = this;\n return function (callbackfn) {\n var i = 0;\n var length = _this.length;\n for (var i_1 = 0; i_1 < length; i_1++) {\n callbackfn(_this.get(i_1), i_1);\n }\n };\n },\n enumerable: true,\n configurable: true\n });\n CircularList.prototype.get = function (index) {\n return this._array[this._getCyclicIndex(index)];\n };\n CircularList.prototype.set = function (index, value) {\n this._array[this._getCyclicIndex(index)] = value;\n };\n CircularList.prototype.push = function (value) {\n this._array[this._getCyclicIndex(this._length)] = value;\n if (this._length === this.maxLength) {\n this._startIndex++;\n if (this._startIndex === this.maxLength) {\n this._startIndex = 0;\n }\n this.emit('trim', 1);\n }\n else {\n this._length++;\n }\n };\n CircularList.prototype.pop = function () {\n return this._array[this._getCyclicIndex(this._length-- - 1)];\n };\n CircularList.prototype.splice = function (start, deleteCount) {\n var items = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n items[_i - 2] = arguments[_i];\n }\n if (deleteCount) {\n for (var i = start; i < this._length - deleteCount; i++) {\n this._array[this._getCyclicIndex(i)] = this._array[this._getCyclicIndex(i + deleteCount)];\n }\n this._length -= deleteCount;\n }\n if (items && items.length) {\n for (var i = this._length - 1; i >= start; i--) {\n this._array[this._getCyclicIndex(i + items.length)] = this._array[this._getCyclicIndex(i)];\n }\n for (var i = 0; i < items.length; i++) {\n this._array[this._getCyclicIndex(start + i)] = items[i];\n }\n if (this._length + items.length > this.maxLength) {\n var countToTrim = (this._length + items.length) - this.maxLength;\n this._startIndex += countToTrim;\n this._length = this.maxLength;\n this.emit('trim', countToTrim);\n }\n else {\n this._length += items.length;\n }\n }\n };\n CircularList.prototype.trimStart = function (count) {\n if (count > this._length) {\n count = this._length;\n }\n this._startIndex += count;\n this._length -= count;\n this.emit('trim', count);\n };\n CircularList.prototype.shiftElements = function (start, count, offset) {\n if (count <= 0) {\n return;\n }\n if (start < 0 || start >= this._length) {\n throw new Error('start argument out of range');\n }\n if (start + offset < 0) {\n throw new Error('Cannot shift elements in list beyond index 0');\n }\n if (offset > 0) {\n for (var i = count - 1; i >= 0; i--) {\n this.set(start + i + offset, this.get(start + i));\n }\n var expandListBy = (start + count + offset) - this._length;\n if (expandListBy > 0) {\n this._length += expandListBy;\n while (this._length > this.maxLength) {\n this._length--;\n this._startIndex++;\n this.emit('trim', 1);\n }\n }\n }\n else {\n for (var i = 0; i < count; i++) {\n this.set(start + i + offset, this.get(start + i));\n }\n }\n };\n CircularList.prototype._getCyclicIndex = function (index) {\n return (this._startIndex + index) % this.maxLength;\n };\n return CircularList;\n}(EventEmitter_1.EventEmitter));\nexports.CircularList = CircularList;\n\n//# sourceMappingURL=CircularList.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/CircularList.js\n// module id = 31\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DomElementObjectPool = (function () {\n function DomElementObjectPool(type) {\n this.type = type;\n this._type = type;\n this._pool = [];\n this._inUse = {};\n }\n DomElementObjectPool.prototype.acquire = function () {\n var element;\n if (this._pool.length === 0) {\n element = this._createNew();\n }\n else {\n element = this._pool.pop();\n }\n this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)] = element;\n return element;\n };\n DomElementObjectPool.prototype.release = function (element) {\n if (!this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)]) {\n throw new Error('Could not release an element not yet acquired');\n }\n delete this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)];\n this._cleanElement(element);\n this._pool.push(element);\n };\n DomElementObjectPool.prototype._createNew = function () {\n var element = document.createElement(this._type);\n var id = DomElementObjectPool._objectCount++;\n element.setAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE, id.toString(10));\n return element;\n };\n DomElementObjectPool.prototype._cleanElement = function (element) {\n element.className = '';\n element.innerHTML = '';\n };\n return DomElementObjectPool;\n}());\nDomElementObjectPool.OBJECT_ID_ATTRIBUTE = 'data-obj-id';\nDomElementObjectPool._objectCount = 0;\nexports.DomElementObjectPool = DomElementObjectPool;\n\n//# sourceMappingURL=DomElementObjectPool.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/DomElementObjectPool.js\n// module id = 32\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction contains(arr, el) {\n return arr.indexOf(el) >= 0;\n}\nexports.contains = contains;\n;\n\n//# sourceMappingURL=Generic.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Generic.js\n// module id = 33\n// module chunks = 0","module.exports = hterm;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"hterm\"\n// module id = 34\n// module chunks = 0","module.exports = lib;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lib\"\n// module id = 35\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap d143500d12edcad940e0","webpack:///./~/xterm/lib/xterm.js","webpack:///./~/xterm/lib/EventEmitter.js","webpack:///./~/xterm/lib/EscapeSequences.js","webpack:///./~/xterm/lib/Charsets.js","webpack:///./~/xterm/lib/addons/attach/attach.js","webpack:///./~/xterm/lib/addons/fit/fit.js","webpack:///./~/xterm/lib/addons/fullscreen/fullscreen.js","webpack:///./~/xterm/lib/addons/terminado/terminado.js","webpack:///./~/xterm/lib/utils/Browser.js","webpack:///./~/xterm/lib/utils/Mouse.js","webpack:///./src/hterm.ts","webpack:///./src/websocket.ts","webpack:///./src/webtty.ts","webpack:///./src/xterm.ts","webpack:///./~/libapps/hterm/dist/js/hterm_module.js","webpack:///./src/main.ts","webpack:///./~/xterm/lib/CompositionHelper.js","webpack:///./~/xterm/lib/InputHandler.js","webpack:///./~/xterm/lib/Linkifier.js","webpack:///./~/xterm/lib/Parser.js","webpack:///./~/xterm/lib/Renderer.js","webpack:///./~/xterm/lib/SelectionManager.js","webpack:///./~/xterm/lib/SelectionModel.js","webpack:///./~/xterm/lib/Viewport.js","webpack:///./~/xterm/lib/addons ^\\.\\/.*$","webpack:///./~/xterm/lib/addons/attach/package.json","webpack:///./~/xterm/lib/addons/fit/package.json","webpack:///./~/xterm/lib/addons/fullscreen/package.json","webpack:///./~/xterm/lib/addons/terminado/package.json","webpack:///./~/xterm/lib/handlers/Clipboard.js","webpack:///./~/xterm/lib/utils/CharMeasure.js","webpack:///./~/xterm/lib/utils/CircularList.js","webpack:///./~/xterm/lib/utils/DomElementObjectPool.js","webpack:///./~/xterm/lib/utils/Generic.js"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AChEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA,UAAU,QAAQ;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gDAAgD,8CAA8C;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,KAAK;AACL;AACA,2BAA2B,iBAAiB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,mCAAmC,yCAAyC,EAAE;AAC9E,iEAAiE,yCAAyC,EAAE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,4CAA4C;AACtE,iCAAiC,wCAAwC;AACzE,gCAAgC,0CAA0C;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,cAAc;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,wHAAwH;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,wHAAwH;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,mCAAmC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,6BAA6B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5lDA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC1DA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,qCAAqC;AACtC;;AAEA;;;;;;;;ACzCA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;;;;;;;AChKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;AC7HD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B;AAC/B;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;;AAEA,gBAAgB;AAChB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;ACrFD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;ACjDD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;ACtID;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,mBAAmB;AAC9B,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,EAAE,WAAW,EAAE,WAAW,EAAE;;AAEjD;AACA;AACA,2BAA2B,IAAI,YAAY,IAAI;AAC/C,eAAe,IAAI;AACnB;;AAEA;AACA;AACA;AACA,iBAAiB,IAAI,YAAY,IAAI,YAAY,IAAI;AACrD;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,IAAI,YAAY,IAAI,YAAY,IAAI;AACrD;AACA;;AAEA;AACA,6BAA6B,IAAI,aAAa,IAAI,aAAa,IAAI;;AAEnE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,gBAAgB;AAChB,iBAAiB;AACjB,kBAAkB;AAClB,iBAAiB;AACjB;;AAEA,kDAAkD,gBAAgB;AAClE;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2CAA2C,iCAAiC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,IAAI;AACf;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,4BAA4B,uBAAuB;AACnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA,oBAAoB,+BAA+B;;AAEnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,sBAAsB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,kBAAkB;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,8CAA8C;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,8CAA8C;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,0BAA0B;;AAE9C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,wCAAwC;AACnD;AACA;AACA,WAAW,8CAA8C;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB,kCAAkC;AACnD;;AAEA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS,kBAAkB,aAAa,WAAW,kBAAkB;AAC9E;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,YAAY,OAAO;AACnB;AACA;AACA;AACA,aAAa;AACb,eAAe;AACf,cAAc;AACd;;AAEA,iBAAiB,cAAc;AAC/B;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,iBAAiB,cAAc;AAC/B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,iBAAiB,uBAAuB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA,uBAAuB,qDAAqD;AAC5E;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;AACA;AACA;;AAEA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;;AAEA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;AACA;AACA;;AAEA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;;AAEZ;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,SAAS;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,qBAAqB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS;AACtC;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,WAAW,OAAO;AAClB;AACA,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA,YAAY,IAAI;AAChB;AACA;AACA;AACA;;AAEA,iBAAiB,6CAA6C;AAC9D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA,WAAW,qBAAqB;AAChC;AACA,WAAW,qBAAqB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD,2BAA2B;AAC3E;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ,kDAAkD;AACtE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;;AAEA,iCAAiC,yBAAyB;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC,cAAc;AAClD,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL,sCAAsC,eAAe;AACrD;AACA;AACA,CAAC;;AAED;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6DAA6D,eAAe;;AAE5E;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC,eAAe,OAAO;AACtB,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,0BAA0B,wCAAwC,EAAE;AAC3E;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,0CAA0C,uBAAuB;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,0BAA0B;AAC1B,qBAAqB;AACrB,8BAA8B;AAC9B,gBAAgB;AAChB,gBAAgB;AAChB,kBAAkB;AAClB,mBAAmB;AACnB,uBAAuB;AACvB,uBAAuB;AACvB,uEAAuE;AACvE,qEAAqE;;AAErE;AACA;AACA;AACA;AACA,uBAAuB;AACvB,mCAAmC;AACnC,sCAAsC;AACtC,uEAAuE;AACvE,4DAA4D;AAC5D,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B,2BAA2B;AAC3B,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,eAAe;;AAEf;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,WAAW,iCAAiC;AAC5C,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,mDAAmD;AACnD;AACA;AACA,oBAAoB,0BAA0B;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;;AAEpB;AACA,iBAAiB,yBAAyB,uBAAuB;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,0CAA0C;AACrE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC,WAAW,0BAA0B;AACrC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,YAAY;;AAEZ;AACA,YAAY;;AAEZ;AACA,YAAY;;;AAGZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,EAAE;AAChD;AACA,KAAK;AACL;AACA,8CAA8C,EAAE;AAChD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,+CAA+C;AAC/C,GAAG;AACH,yBAAyB;AACzB,GAAG;AACH,qBAAqB;AACrB,GAAG;AACH,qBAAqB;AACrB,GAAG;AACH,sBAAsB;AACtB,GAAG;AACH,mBAAmB;AACnB,GAAG;AACH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,KAAK;AACb,oBAAoB;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sDAAsD,yBAAyB;AAC/E;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,oBAAoB;AAC/B;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,MAAM;AAClB;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB,oBAAoB;AACpB,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB,oBAAoB;AACpB,oBAAoB;AACpB,mBAAmB;AACnB,wBAAwB;AACxB,+CAA+C;AAC/C,iCAAiC;AACjC,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd,wBAAwB;AACxB,8CAA8C;AAC9C,mDAAmD;AACnD,QAAQ;AACR;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,sBAAsB;AACtB,8BAA8B;AAC9B,uBAAuB;AACvB,oCAAoC;AACpC,oBAAoB;AACpB,0BAA0B,oBAAoB;AAC9C,wBAAwB;AACxB,mBAAmB;AACnB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,uBAAuB;AACvB,wBAAwB;AACxB,iCAAiC;AACjC,8BAA8B;AAC9B;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB,wBAAwB;AACxB,4CAA4C;AAC5C,wBAAwB;;AAExB;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,cAAc;AACd,eAAe;AACf;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,iBAAiB;AACjB,gBAAgB;AAChB,eAAe;AACf,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,gBAAgB;AAChB,iBAAiB;AACjB,4BAA4B;AAC5B,iCAAiC;AACjC,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,yBAAyB,6BAA6B;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,mBAAmB;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B,gCAAgC;AAC7D;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,8DAA8D;AAC9D;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,8BAA8B,wBAAwB,EAAE;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA,SAAS,WAAW,EAAE,KAAK;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C;AAC7C;AACA,8BAA8B;AAC9B,GAAG;AACH,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,2CAA2C,QAAQ;AACnD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,kDAAkD,cAAc;;AAEhE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC,iCAAiC;AACjC,mDAAmD;AACnD,4BAA4B;AAC5B,8BAA8B;AAC9B,SAAS;AACT,kBAAkB;AAClB,gCAAgC;AAChC,6BAA6B;AAC7B,uDAAuD;AACvD,oDAAoD;AACpD,SAAS;AACT,eAAe;AACf,iFAAiF;AACjF,mFAAmF;AACnF,uCAAuC;AACvC,uCAAuC;AACvC,4CAA4C;AAC5C,0CAA0C;AAC1C,gDAAgD;AAChD,qEAAqE;AACrE,SAAS;AACT,0BAA0B;AAC1B,gBAAgB,cAAc,EAAE;AAChC,cAAc,cAAc,EAAE;AAC9B,SAAS;AACT,qBAAqB;AACrB,gCAAgC;AAChC,+DAA+D;AAC/D,8CAA8C;AAC9C,iDAAiD;AACjD,yCAAyC;AACzC,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,iFAAiF;AACjF,iFAAiF;AACjF,uBAAuB;AACvB,2CAA2C;AAC3C,6CAA6C;AAC7C,mEAAmE;AACnE,gEAAgE;;AAEhE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,mBAAmB;AACnB,uBAAuB;AACvB,oBAAoB;AACpB,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB;AACA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,mBAAmB,mBAAmB;AACtC;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA,mBAAmB,8BAA8B;AACjD,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B,gCAAgC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,6BAA6B;AACtC,SAAS,qCAAqC;AAC9C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB,mCAAmC;AACnC,0BAA0B;AAC1B,4BAA4B;AAC5B,uBAAuB;AACvB,0CAA0C;AAC1C,oBAAoB;AACpB,sBAAsB;AACtB,4BAA4B;AAC5B,wCAAwC;AACxC,mCAAmC;AACnC,qCAAqC;AACrC,gCAAgC;;AAEhC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B,uBAAuB;AACvB,0CAA0C;AAC1C,4BAA4B;AAC5B,mCAAmC;AACnC,mDAAmD;AACnD,gCAAgC;AAChC,gDAAgD;;AAEhD;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,8BAA8B;AAC9B,0BAA0B;AAC1B;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,4BAA4B,WAAW;AACvC,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,qBAAqB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,IAAI;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,GAAG,kBAAkB;AACrB;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,GAAG;AACH;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,GAAG,uBAAuB;AAC1B;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC,UAAU,OAAO;AACvD;AACA,wCAAwC;;AAExC;AACA;AACA;;AAEA,0BAA0B,wBAAwB;AAClD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC,yBAAyB;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,uDAAuD;AACvD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA;AACA,gBAAgB,MAAM;AACtB;AACA,0CAA0C,GAAG,IAAI,KAAK;AACtD;AACA;AACA;AACA;AACA,oBAAoB,gCAAgC;AACpD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,IAAI;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;;AAEA;AACA,qBAAqB;AACrB;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,sBAAsB;AAC7B;AACA;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,OAAO;AACP;;AAEA,OAAO;AACP;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC,0BAA0B;AACnE;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C,oBAAoB;AAC9D;AACA;AACA;AACA,6CAA6C,IAAI,IAAI;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH,0CAA0C,EAAE,EAAE;AAC9C,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,sBAAsB;AACjC;AACA;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,4BAA4B;AAC5B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;AACL,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC9jjBA,sCAAoC;AACpC,sCAAoC;AACpC,uCAAuD;AACvD,0CAAgD;AAMhD,IAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;AAEhD,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;IAChB,IAAI,IAAc,CAAC;IACnB,EAAE,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC;QACxB,IAAI,GAAG,IAAI,iBAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,IAAI,GAAG,IAAI,iBAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,IAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAC1D,IAAM,GAAG,GAAG,CAAC,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzG,IAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IACpC,IAAM,OAAO,GAAG,IAAI,6BAAiB,CAAC,GAAG,EAAE,kBAAS,CAAC,CAAC;IACtD,IAAM,EAAE,GAAG,IAAI,eAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC7D,IAAM,QAAM,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAEzB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAC9B,QAAM,EAAE,CAAC;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC;AAAA,CAAC;;;;;;;;AC7BF;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,8CAA8C,EAAE;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC5HA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,uDAAuD,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,yBAAyB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,IAAI;AACxE;AACA;AACA,qEAAqE,GAAG;AACxE;AACA;AACA;AACA;AACA;AACA,qEAAqE,MAAM;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,GAAG,qBAAqB;;AAEzB;;;;;;;;ACx6BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B,sBAAsB,IAAI,KAAK,EAAE,IAAI,IAAI;AACzC;AACA,wBAAwB,IAAI;AAC5B;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,gBAAgB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,mCAAmC,yBAAyB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,4BAA4B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;;;;;;;ACzOA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA,2EAA2E,uBAAuB;AAClG,0EAA0E,2BAA2B;AACrG;AACA;AACA,0EAA0E,iCAAiC;AAC3G,0EAA0E,4BAA4B;AACtG,0EAA0E,sBAAsB;AAChG,0EAA0E,2BAA2B;AACrG,0EAA0E,0BAA0B;AACpG,2EAA2E,6CAA6C;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,4CAA4C;AAC/G;AACA,+CAA+C,8BAA8B;AAC7E,+CAA+C,8BAA8B;AAC7E,+CAA+C,8BAA8B;AAC7E,+CAA+C,gDAAgD;AAC/F,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,+BAA+B;AAC9E,+CAA+C,+BAA+B;AAC9E,+CAA+C,+BAA+B;AAC9E,gDAAgD,gCAAgC;AAChF,uBAAuB,wBAAwB,+BAA+B;AAC9E,oEAAoE,4CAA4C;AAChH;AACA,2DAA2D,oCAAoC;AAC/F,2DAA2D,iCAAiC;AAC5F,2DAA2D,mCAAmC;AAC9F,2DAA2D,sCAAsC;AACjG,2DAA2D,uCAAuC;AAClG,2DAA2D,uCAAuC;AAClG,2DAA2D,4CAA4C;AACvG,2DAA2D,2CAA2C;AACtG,2DAA2D,uCAAuC;AAClG,2DAA2D,yCAAyC;AACpG,2DAA2D,uCAAuC;AAClG,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,iCAAiC;AAC5F;AACA;AACA;AACA;AACA;AACA,2DAA2D,mCAAmC;AAC9F,2DAA2D,0CAA0C;AACrG,2DAA2D,wCAAwC;AACnG,2DAA2D,0CAA0C;AACrG,2DAA2D,iDAAiD;AAC5G,2DAA2D,6CAA6C;AACxG,2DAA2D,wCAAwC;AACnG,2DAA2D,0CAA0C;AACrG,2DAA2D,mCAAmC;AAC9F,2DAA2D,iCAAiC;AAC5F,2DAA2D,gCAAgC;AAC3F,2DAA2D,kCAAkC;AAC7F,2DAA2D,uCAAuC;AAClG,2DAA2D,qCAAqC;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,wCAAwC;AAC3F,mDAAmD,mCAAmC;AACtF,mDAAmD,sCAAsC;AACzF,iGAAiG,4CAA4C;AAC7I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC7dA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sBAAsB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,yBAAyB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mCAAmC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,0DAA0D;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrRA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,8BAA8B;AACpF,oDAAoD,kCAAkC;AACtF,oDAAoD,kCAAkC;AACtF,kDAAkD,gCAAgC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,iBAAiB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAoF,yBAAyB,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6EAA6E;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,4BAA4B,EAAE;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;ACrZA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;ACxEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uB;;;;;;AC7BA,kBAAkB,wD;;;;;;ACAlB,kBAAkB,kD;;;;;;;;;;;;ACAlB,kBAAkB,gE;;;;;;ACAlB,kBAAkB,8D;;;;;;;ACAlB;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpEA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,2BAA2B,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AClEA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,2BAA2B,yCAAyC;AACpE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,0CAA0C,eAAe;AACzD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,+BAA+B,gCAAgC;AAC/D;AACA;AACA;AACA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AClKA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;;;;;;;AC5CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;;AAEA","file":"./dist/bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 15);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap d143500d12edcad940e0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CompositionHelper_1 = require(\"./CompositionHelper\");\nvar EventEmitter_1 = require(\"./EventEmitter\");\nvar Viewport_1 = require(\"./Viewport\");\nvar Clipboard_1 = require(\"./handlers/Clipboard\");\nvar CircularList_1 = require(\"./utils/CircularList\");\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar InputHandler_1 = require(\"./InputHandler\");\nvar Parser_1 = require(\"./Parser\");\nvar Renderer_1 = require(\"./Renderer\");\nvar Linkifier_1 = require(\"./Linkifier\");\nvar SelectionManager_1 = require(\"./SelectionManager\");\nvar CharMeasure_1 = require(\"./utils/CharMeasure\");\nvar Browser = require(\"./utils/Browser\");\nvar Mouse_1 = require(\"./utils/Mouse\");\nvar document = (typeof window != 'undefined') ? window.document : null;\nvar WRITE_BUFFER_PAUSE_THRESHOLD = 5;\nvar WRITE_BATCH_SIZE = 300;\nvar CURSOR_BLINK_INTERVAL = 600;\nfunction Terminal(options) {\n var self = this;\n if (!(this instanceof Terminal)) {\n return new Terminal(arguments[0], arguments[1], arguments[2]);\n }\n self.browser = Browser;\n self.cancel = Terminal.cancel;\n EventEmitter_1.EventEmitter.call(this);\n if (typeof options === 'number') {\n options = {\n cols: arguments[0],\n rows: arguments[1],\n handler: arguments[2]\n };\n }\n options = options || {};\n Object.keys(Terminal.defaults).forEach(function (key) {\n if (options[key] == null) {\n options[key] = Terminal.options[key];\n if (Terminal[key] !== Terminal.defaults[key]) {\n options[key] = Terminal[key];\n }\n }\n self[key] = options[key];\n });\n if (options.colors.length === 8) {\n options.colors = options.colors.concat(Terminal._colors.slice(8));\n }\n else if (options.colors.length === 16) {\n options.colors = options.colors.concat(Terminal._colors.slice(16));\n }\n else if (options.colors.length === 10) {\n options.colors = options.colors.slice(0, -2).concat(Terminal._colors.slice(8, -2), options.colors.slice(-2));\n }\n else if (options.colors.length === 18) {\n options.colors = options.colors.concat(Terminal._colors.slice(16, -2), options.colors.slice(-2));\n }\n this.colors = options.colors;\n this.options = options;\n this.parent = options.body || options.parent || (document ? document.getElementsByTagName('body')[0] : null);\n this.cols = options.cols || options.geometry[0];\n this.rows = options.rows || options.geometry[1];\n this.geometry = [this.cols, this.rows];\n if (options.handler) {\n this.on('data', options.handler);\n }\n this.ybase = 0;\n this.ydisp = 0;\n this.x = 0;\n this.y = 0;\n this.cursorState = 0;\n this.cursorHidden = false;\n this.convertEol;\n this.queue = '';\n this.scrollTop = 0;\n this.scrollBottom = this.rows - 1;\n this.customKeyEventHandler = null;\n this.cursorBlinkInterval = null;\n this.applicationKeypad = false;\n this.applicationCursor = false;\n this.originMode = false;\n this.insertMode = false;\n this.wraparoundMode = true;\n this.normal = null;\n this.charset = null;\n this.gcharset = null;\n this.glevel = 0;\n this.charsets = [null];\n this.decLocator;\n this.x10Mouse;\n this.vt200Mouse;\n this.vt300Mouse;\n this.normalMouse;\n this.mouseEvents;\n this.sendFocus;\n this.utfMouse;\n this.sgrMouse;\n this.urxvtMouse;\n this.element;\n this.children;\n this.refreshStart;\n this.refreshEnd;\n this.savedX;\n this.savedY;\n this.savedCols;\n this.readable = true;\n this.writable = true;\n this.defAttr = (0 << 18) | (257 << 9) | (256 << 0);\n this.curAttr = this.defAttr;\n this.params = [];\n this.currentParam = 0;\n this.prefix = '';\n this.postfix = '';\n this.inputHandler = new InputHandler_1.InputHandler(this);\n this.parser = new Parser_1.Parser(this.inputHandler, this);\n this.renderer = this.renderer || null;\n this.selectionManager = this.selectionManager || null;\n this.linkifier = this.linkifier || new Linkifier_1.Linkifier();\n this.writeBuffer = [];\n this.writeInProgress = false;\n this.xoffSentToCatchUp = false;\n this.writeStopped = false;\n this.surrogate_high = '';\n this.lines = new CircularList_1.CircularList(this.scrollback);\n var i = this.rows;\n while (i--) {\n this.lines.push(this.blankLine());\n }\n if (this.selectionManager) {\n this.selectionManager.setBuffer(this.lines);\n }\n this.tabs;\n this.setupStops();\n this.userScrolling = false;\n}\ninherits(Terminal, EventEmitter_1.EventEmitter);\nTerminal.prototype.eraseAttr = function () {\n return (this.defAttr & ~0x1ff) | (this.curAttr & 0x1ff);\n};\nTerminal.tangoColors = [\n '#2e3436',\n '#cc0000',\n '#4e9a06',\n '#c4a000',\n '#3465a4',\n '#75507b',\n '#06989a',\n '#d3d7cf',\n '#555753',\n '#ef2929',\n '#8ae234',\n '#fce94f',\n '#729fcf',\n '#ad7fa8',\n '#34e2e2',\n '#eeeeec'\n];\nTerminal.colors = (function () {\n var colors = Terminal.tangoColors.slice(), r = [0x00, 0x5f, 0x87, 0xaf, 0xd7, 0xff], i;\n i = 0;\n for (; i < 216; i++) {\n out(r[(i / 36) % 6 | 0], r[(i / 6) % 6 | 0], r[i % 6]);\n }\n i = 0;\n for (; i < 24; i++) {\n r = 8 + i * 10;\n out(r, r, r);\n }\n function out(r, g, b) {\n colors.push('#' + hex(r) + hex(g) + hex(b));\n }\n function hex(c) {\n c = c.toString(16);\n return c.length < 2 ? '0' + c : c;\n }\n return colors;\n})();\nTerminal._colors = Terminal.colors.slice();\nTerminal.vcolors = (function () {\n var out = [], colors = Terminal.colors, i = 0, color;\n for (; i < 256; i++) {\n color = parseInt(colors[i].substring(1), 16);\n out.push([\n (color >> 16) & 0xff,\n (color >> 8) & 0xff,\n color & 0xff\n ]);\n }\n return out;\n})();\nTerminal.defaults = {\n colors: Terminal.colors,\n theme: 'default',\n convertEol: false,\n termName: 'xterm',\n geometry: [80, 24],\n cursorBlink: false,\n cursorStyle: 'block',\n visualBell: false,\n popOnBell: false,\n scrollback: 1000,\n screenKeys: false,\n debug: false,\n cancelEvents: false,\n disableStdin: false,\n useFlowControl: false,\n tabStopWidth: 8\n};\nTerminal.options = {};\nTerminal.focus = null;\neach(keys(Terminal.defaults), function (key) {\n Terminal[key] = Terminal.defaults[key];\n Terminal.options[key] = Terminal.defaults[key];\n});\nTerminal.prototype.focus = function () {\n return this.textarea.focus();\n};\nTerminal.prototype.getOption = function (key, value) {\n if (!(key in Terminal.defaults)) {\n throw new Error('No option with key \"' + key + '\"');\n }\n if (typeof this.options[key] !== 'undefined') {\n return this.options[key];\n }\n return this[key];\n};\nTerminal.prototype.setOption = function (key, value) {\n if (!(key in Terminal.defaults)) {\n throw new Error('No option with key \"' + key + '\"');\n }\n switch (key) {\n case 'scrollback':\n if (value < this.rows) {\n var msg = 'Setting the scrollback value less than the number of rows ';\n msg += \"(\" + this.rows + \") is not allowed.\";\n console.warn(msg);\n return false;\n }\n if (this.options[key] !== value) {\n if (this.lines.length > value) {\n var amountToTrim = this.lines.length - value;\n var needsRefresh = (this.ydisp - amountToTrim < 0);\n this.lines.trimStart(amountToTrim);\n this.ybase = Math.max(this.ybase - amountToTrim, 0);\n this.ydisp = Math.max(this.ydisp - amountToTrim, 0);\n if (needsRefresh) {\n this.refresh(0, this.rows - 1);\n }\n }\n this.lines.maxLength = value;\n this.viewport.syncScrollArea();\n }\n break;\n }\n this[key] = value;\n this.options[key] = value;\n switch (key) {\n case 'cursorBlink':\n this.setCursorBlinking(value);\n break;\n case 'cursorStyle':\n this.element.classList.toggle(\"xterm-cursor-style-underline\", value === 'underline');\n this.element.classList.toggle(\"xterm-cursor-style-bar\", value === 'bar');\n break;\n case 'tabStopWidth':\n this.setupStops();\n break;\n }\n};\nTerminal.prototype.restartCursorBlinking = function () {\n this.setCursorBlinking(this.options.cursorBlink);\n};\nTerminal.prototype.setCursorBlinking = function (enabled) {\n this.element.classList.toggle('xterm-cursor-blink', enabled);\n this.clearCursorBlinkingInterval();\n if (enabled) {\n var self = this;\n this.cursorBlinkInterval = setInterval(function () {\n self.element.classList.toggle('xterm-cursor-blink-on');\n }, CURSOR_BLINK_INTERVAL);\n }\n};\nTerminal.prototype.clearCursorBlinkingInterval = function () {\n this.element.classList.remove('xterm-cursor-blink-on');\n if (this.cursorBlinkInterval) {\n clearInterval(this.cursorBlinkInterval);\n this.cursorBlinkInterval = null;\n }\n};\nTerminal.bindFocus = function (term) {\n on(term.textarea, 'focus', function (ev) {\n if (term.sendFocus) {\n term.send(EscapeSequences_1.C0.ESC + '[I');\n }\n term.element.classList.add('focus');\n term.showCursor();\n term.restartCursorBlinking.apply(term);\n Terminal.focus = term;\n term.emit('focus', { terminal: term });\n });\n};\nTerminal.prototype.blur = function () {\n return this.textarea.blur();\n};\nTerminal.bindBlur = function (term) {\n on(term.textarea, 'blur', function (ev) {\n term.refresh(term.y, term.y);\n if (term.sendFocus) {\n term.send(EscapeSequences_1.C0.ESC + '[O');\n }\n term.element.classList.remove('focus');\n term.clearCursorBlinkingInterval.apply(term);\n Terminal.focus = null;\n term.emit('blur', { terminal: term });\n });\n};\nTerminal.prototype.initGlobal = function () {\n var _this = this;\n var term = this;\n Terminal.bindKeys(this);\n Terminal.bindFocus(this);\n Terminal.bindBlur(this);\n on(this.element, 'copy', function (event) {\n if (_this.mouseEvents) {\n return;\n }\n Clipboard_1.copyHandler(event, term, _this.selectionManager);\n });\n var pasteHandlerWrapper = function (event) { return Clipboard_1.pasteHandler(event, term); };\n on(this.textarea, 'paste', pasteHandlerWrapper);\n on(this.element, 'paste', pasteHandlerWrapper);\n if (term.browser.isFirefox) {\n on(this.element, 'mousedown', function (event) {\n if (event.button == 2) {\n Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager);\n }\n });\n }\n else {\n on(this.element, 'contextmenu', function (event) {\n Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager);\n });\n }\n if (term.browser.isLinux) {\n on(this.element, 'auxclick', function (event) {\n if (event.button === 1) {\n Clipboard_1.moveTextAreaUnderMouseCursor(event, _this.textarea, _this.selectionManager);\n }\n });\n }\n};\nTerminal.bindKeys = function (term) {\n on(term.element, 'keydown', function (ev) {\n if (document.activeElement != this) {\n return;\n }\n term.keyDown(ev);\n }, true);\n on(term.element, 'keypress', function (ev) {\n if (document.activeElement != this) {\n return;\n }\n term.keyPress(ev);\n }, true);\n on(term.element, 'keyup', function (ev) {\n if (!wasMondifierKeyOnlyEvent(ev)) {\n term.focus(term);\n }\n }, true);\n on(term.textarea, 'keydown', function (ev) {\n term.keyDown(ev);\n }, true);\n on(term.textarea, 'keypress', function (ev) {\n term.keyPress(ev);\n this.value = '';\n }, true);\n on(term.textarea, 'compositionstart', term.compositionHelper.compositionstart.bind(term.compositionHelper));\n on(term.textarea, 'compositionupdate', term.compositionHelper.compositionupdate.bind(term.compositionHelper));\n on(term.textarea, 'compositionend', term.compositionHelper.compositionend.bind(term.compositionHelper));\n term.on('refresh', term.compositionHelper.updateCompositionElements.bind(term.compositionHelper));\n term.on('refresh', function (data) {\n term.queueLinkification(data.start, data.end);\n });\n};\nTerminal.prototype.insertRow = function (row) {\n if (typeof row != 'object') {\n row = document.createElement('div');\n }\n this.rowContainer.appendChild(row);\n this.children.push(row);\n return row;\n};\nTerminal.prototype.open = function (parent, focus) {\n var _this = this;\n var self = this, i = 0, div;\n this.parent = parent || this.parent;\n if (!this.parent) {\n throw new Error('Terminal requires a parent element.');\n }\n this.context = this.parent.ownerDocument.defaultView;\n this.document = this.parent.ownerDocument;\n this.body = this.document.getElementsByTagName('body')[0];\n this.element = this.document.createElement('div');\n this.element.classList.add('terminal');\n this.element.classList.add('xterm');\n this.element.classList.add('xterm-theme-' + this.theme);\n this.setCursorBlinking(this.options.cursorBlink);\n this.element.setAttribute('tabindex', 0);\n this.viewportElement = document.createElement('div');\n this.viewportElement.classList.add('xterm-viewport');\n this.element.appendChild(this.viewportElement);\n this.viewportScrollArea = document.createElement('div');\n this.viewportScrollArea.classList.add('xterm-scroll-area');\n this.viewportElement.appendChild(this.viewportScrollArea);\n this.selectionContainer = document.createElement('div');\n this.selectionContainer.classList.add('xterm-selection');\n this.element.appendChild(this.selectionContainer);\n this.rowContainer = document.createElement('div');\n this.rowContainer.classList.add('xterm-rows');\n this.element.appendChild(this.rowContainer);\n this.children = [];\n this.linkifier.attachToDom(document, this.children);\n this.helperContainer = document.createElement('div');\n this.helperContainer.classList.add('xterm-helpers');\n this.element.appendChild(this.helperContainer);\n this.textarea = document.createElement('textarea');\n this.textarea.classList.add('xterm-helper-textarea');\n this.textarea.setAttribute('autocorrect', 'off');\n this.textarea.setAttribute('autocapitalize', 'off');\n this.textarea.setAttribute('spellcheck', 'false');\n this.textarea.tabIndex = 0;\n this.textarea.addEventListener('focus', function () {\n self.emit('focus', { terminal: self });\n });\n this.textarea.addEventListener('blur', function () {\n self.emit('blur', { terminal: self });\n });\n this.helperContainer.appendChild(this.textarea);\n this.compositionView = document.createElement('div');\n this.compositionView.classList.add('composition-view');\n this.compositionHelper = new CompositionHelper_1.CompositionHelper(this.textarea, this.compositionView, this);\n this.helperContainer.appendChild(this.compositionView);\n this.charSizeStyleElement = document.createElement('style');\n this.helperContainer.appendChild(this.charSizeStyleElement);\n for (; i < this.rows; i++) {\n this.insertRow();\n }\n this.parent.appendChild(this.element);\n this.charMeasure = new CharMeasure_1.CharMeasure(document, this.helperContainer);\n this.charMeasure.on('charsizechanged', function () {\n self.updateCharSizeStyles();\n });\n this.charMeasure.measure();\n this.viewport = new Viewport_1.Viewport(this, this.viewportElement, this.viewportScrollArea, this.charMeasure);\n this.renderer = new Renderer_1.Renderer(this);\n this.selectionManager = new SelectionManager_1.SelectionManager(this, this.lines, this.rowContainer, this.charMeasure);\n this.selectionManager.on('refresh', function (data) {\n _this.renderer.refreshSelection(data.start, data.end);\n });\n this.selectionManager.on('newselection', function (text) {\n _this.textarea.value = text;\n _this.textarea.focus();\n _this.textarea.select();\n });\n this.on('scroll', function () { return _this.selectionManager.refresh(); });\n this.viewportElement.addEventListener('scroll', function () { return _this.selectionManager.refresh(); });\n this.refresh(0, this.rows - 1);\n this.initGlobal();\n if (typeof focus == 'undefined') {\n var message = 'You did not pass the `focus` argument in `Terminal.prototype.open()`.\\n';\n message += 'The `focus` argument now defaults to `true` but starting with xterm.js 3.0 ';\n message += 'it will default to `false`.';\n console.warn(message);\n focus = true;\n }\n if (focus) {\n this.focus();\n }\n on(this.element, 'click', function () {\n var selection = document.getSelection(), collapsed = selection.isCollapsed, isRange = typeof collapsed == 'boolean' ? !collapsed : selection.type == 'Range';\n if (!isRange) {\n self.focus();\n }\n });\n this.bindMouse();\n this.emit('open');\n};\nTerminal.loadAddon = function (addon, callback) {\n if (typeof exports === 'object' && typeof module === 'object') {\n return require('./addons/' + addon + '/' + addon);\n }\n else if (typeof define == 'function') {\n return require(['./addons/' + addon + '/' + addon], callback);\n }\n else {\n console.error('Cannot load a module without a CommonJS or RequireJS environment.');\n return false;\n }\n};\nTerminal.prototype.updateCharSizeStyles = function () {\n this.charSizeStyleElement.textContent =\n \".xterm-wide-char{width:\" + this.charMeasure.width * 2 + \"px;}\" +\n (\".xterm-normal-char{width:\" + this.charMeasure.width + \"px;}\") +\n (\".xterm-rows > div{height:\" + this.charMeasure.height + \"px;}\");\n};\nTerminal.prototype.bindMouse = function () {\n var el = this.element, self = this, pressed = 32;\n function sendButton(ev) {\n var button, pos;\n button = getButton(ev);\n pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows);\n if (!pos)\n return;\n sendEvent(button, pos);\n switch (ev.overrideType || ev.type) {\n case 'mousedown':\n pressed = button;\n break;\n case 'mouseup':\n pressed = 32;\n break;\n case 'wheel':\n break;\n }\n }\n function sendMove(ev) {\n var button = pressed, pos;\n pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows);\n if (!pos)\n return;\n button += 32;\n sendEvent(button, pos);\n }\n function encode(data, ch) {\n if (!self.utfMouse) {\n if (ch === 255)\n return data.push(0);\n if (ch > 127)\n ch = 127;\n data.push(ch);\n }\n else {\n if (ch === 2047)\n return data.push(0);\n if (ch < 127) {\n data.push(ch);\n }\n else {\n if (ch > 2047)\n ch = 2047;\n data.push(0xC0 | (ch >> 6));\n data.push(0x80 | (ch & 0x3F));\n }\n }\n }\n function sendEvent(button, pos) {\n if (self.vt300Mouse) {\n button &= 3;\n pos.x -= 32;\n pos.y -= 32;\n var data = EscapeSequences_1.C0.ESC + '[24';\n if (button === 0)\n data += '1';\n else if (button === 1)\n data += '3';\n else if (button === 2)\n data += '5';\n else if (button === 3)\n return;\n else\n data += '0';\n data += '~[' + pos.x + ',' + pos.y + ']\\r';\n self.send(data);\n return;\n }\n if (self.decLocator) {\n button &= 3;\n pos.x -= 32;\n pos.y -= 32;\n if (button === 0)\n button = 2;\n else if (button === 1)\n button = 4;\n else if (button === 2)\n button = 6;\n else if (button === 3)\n button = 3;\n self.send(EscapeSequences_1.C0.ESC + '['\n + button\n + ';'\n + (button === 3 ? 4 : 0)\n + ';'\n + pos.y\n + ';'\n + pos.x\n + ';'\n + (pos.page || 0)\n + '&w');\n return;\n }\n if (self.urxvtMouse) {\n pos.x -= 32;\n pos.y -= 32;\n pos.x++;\n pos.y++;\n self.send(EscapeSequences_1.C0.ESC + '[' + button + ';' + pos.x + ';' + pos.y + 'M');\n return;\n }\n if (self.sgrMouse) {\n pos.x -= 32;\n pos.y -= 32;\n self.send(EscapeSequences_1.C0.ESC + '[<'\n + (((button & 3) === 3 ? button & ~3 : button) - 32)\n + ';'\n + pos.x\n + ';'\n + pos.y\n + ((button & 3) === 3 ? 'm' : 'M'));\n return;\n }\n var data = [];\n encode(data, button);\n encode(data, pos.x);\n encode(data, pos.y);\n self.send(EscapeSequences_1.C0.ESC + '[M' + String.fromCharCode.apply(String, data));\n }\n function getButton(ev) {\n var button, shift, meta, ctrl, mod;\n switch (ev.overrideType || ev.type) {\n case 'mousedown':\n button = ev.button != null\n ? +ev.button\n : ev.which != null\n ? ev.which - 1\n : null;\n if (self.browser.isMSIE) {\n button = button === 1 ? 0 : button === 4 ? 1 : button;\n }\n break;\n case 'mouseup':\n button = 3;\n break;\n case 'DOMMouseScroll':\n button = ev.detail < 0\n ? 64\n : 65;\n break;\n case 'wheel':\n button = ev.wheelDeltaY > 0\n ? 64\n : 65;\n break;\n }\n shift = ev.shiftKey ? 4 : 0;\n meta = ev.metaKey ? 8 : 0;\n ctrl = ev.ctrlKey ? 16 : 0;\n mod = shift | meta | ctrl;\n if (self.vt200Mouse) {\n mod &= ctrl;\n }\n else if (!self.normalMouse) {\n mod = 0;\n }\n button = (32 + (mod << 2)) + button;\n return button;\n }\n on(el, 'mousedown', function (ev) {\n if (!self.mouseEvents)\n return;\n sendButton(ev);\n self.focus();\n if (self.vt200Mouse) {\n ev.overrideType = 'mouseup';\n sendButton(ev);\n return self.cancel(ev);\n }\n if (self.normalMouse)\n on(self.document, 'mousemove', sendMove);\n if (!self.x10Mouse) {\n on(self.document, 'mouseup', function up(ev) {\n sendButton(ev);\n if (self.normalMouse)\n off(self.document, 'mousemove', sendMove);\n off(self.document, 'mouseup', up);\n return self.cancel(ev);\n });\n }\n return self.cancel(ev);\n });\n on(el, 'wheel', function (ev) {\n if (!self.mouseEvents)\n return;\n if (self.x10Mouse\n || self.vt300Mouse\n || self.decLocator)\n return;\n sendButton(ev);\n return self.cancel(ev);\n });\n on(el, 'wheel', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onWheel(ev);\n return self.cancel(ev);\n });\n on(el, 'touchstart', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onTouchStart(ev);\n return self.cancel(ev);\n });\n on(el, 'touchmove', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onTouchMove(ev);\n return self.cancel(ev);\n });\n};\nTerminal.prototype.destroy = function () {\n this.readable = false;\n this.writable = false;\n this._events = {};\n this.handler = function () { };\n this.write = function () { };\n if (this.element && this.element.parentNode) {\n this.element.parentNode.removeChild(this.element);\n }\n};\nTerminal.prototype.refresh = function (start, end) {\n if (this.renderer) {\n this.renderer.queueRefresh(start, end);\n }\n};\nTerminal.prototype.queueLinkification = function (start, end) {\n if (this.linkifier) {\n for (var i = start; i <= end; i++) {\n this.linkifier.linkifyRow(i);\n }\n }\n};\nTerminal.prototype.showCursor = function () {\n if (!this.cursorState) {\n this.cursorState = 1;\n this.refresh(this.y, this.y);\n }\n};\nTerminal.prototype.scroll = function (isWrapped) {\n var row;\n if (this.lines.length === this.lines.maxLength) {\n this.lines.trimStart(1);\n this.ybase--;\n if (this.ydisp !== 0) {\n this.ydisp--;\n }\n }\n this.ybase++;\n if (!this.userScrolling) {\n this.ydisp = this.ybase;\n }\n row = this.ybase + this.rows - 1;\n row -= this.rows - 1 - this.scrollBottom;\n if (row === this.lines.length) {\n this.lines.push(this.blankLine(undefined, isWrapped));\n }\n else {\n this.lines.splice(row, 0, this.blankLine(undefined, isWrapped));\n }\n if (this.scrollTop !== 0) {\n if (this.ybase !== 0) {\n this.ybase--;\n if (!this.userScrolling) {\n this.ydisp = this.ybase;\n }\n }\n this.lines.splice(this.ybase + this.scrollTop, 1);\n }\n this.updateRange(this.scrollTop);\n this.updateRange(this.scrollBottom);\n this.emit('scroll', this.ydisp);\n};\nTerminal.prototype.scrollDisp = function (disp, suppressScrollEvent) {\n if (disp < 0) {\n if (this.ydisp === 0) {\n return;\n }\n this.userScrolling = true;\n }\n else if (disp + this.ydisp >= this.ybase) {\n this.userScrolling = false;\n }\n this.ydisp += disp;\n if (this.ydisp > this.ybase) {\n this.ydisp = this.ybase;\n }\n else if (this.ydisp < 0) {\n this.ydisp = 0;\n }\n if (!suppressScrollEvent) {\n this.emit('scroll', this.ydisp);\n }\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.scrollPages = function (pageCount) {\n this.scrollDisp(pageCount * (this.rows - 1));\n};\nTerminal.prototype.scrollToTop = function () {\n this.scrollDisp(-this.ydisp);\n};\nTerminal.prototype.scrollToBottom = function () {\n this.scrollDisp(this.ybase - this.ydisp);\n};\nTerminal.prototype.write = function (data) {\n this.writeBuffer.push(data);\n if (this.options.useFlowControl && !this.xoffSentToCatchUp && this.writeBuffer.length >= WRITE_BUFFER_PAUSE_THRESHOLD) {\n this.send(EscapeSequences_1.C0.DC3);\n this.xoffSentToCatchUp = true;\n }\n if (!this.writeInProgress && this.writeBuffer.length > 0) {\n this.writeInProgress = true;\n var self = this;\n setTimeout(function () {\n self.innerWrite();\n });\n }\n};\nTerminal.prototype.innerWrite = function () {\n var writeBatch = this.writeBuffer.splice(0, WRITE_BATCH_SIZE);\n while (writeBatch.length > 0) {\n var data = writeBatch.shift();\n var l = data.length, i = 0, j, cs, ch, code, low, ch_width, row;\n if (this.xoffSentToCatchUp && writeBatch.length === 0 && this.writeBuffer.length === 0) {\n this.send(EscapeSequences_1.C0.DC1);\n this.xoffSentToCatchUp = false;\n }\n this.refreshStart = this.y;\n this.refreshEnd = this.y;\n var state = this.parser.parse(data);\n this.parser.setState(state);\n this.updateRange(this.y);\n this.refresh(this.refreshStart, this.refreshEnd);\n }\n if (this.writeBuffer.length > 0) {\n var self = this;\n setTimeout(function () {\n self.innerWrite();\n }, 0);\n }\n else {\n this.writeInProgress = false;\n }\n};\nTerminal.prototype.writeln = function (data) {\n this.write(data + '\\r\\n');\n};\nTerminal.prototype.attachCustomKeydownHandler = function (customKeydownHandler) {\n var message = 'attachCustomKeydownHandler() is DEPRECATED and will be removed soon. Please use attachCustomKeyEventHandler() instead.';\n console.warn(message);\n this.attachCustomKeyEventHandler(customKeydownHandler);\n};\nTerminal.prototype.attachCustomKeyEventHandler = function (customKeyEventHandler) {\n this.customKeyEventHandler = customKeyEventHandler;\n};\nTerminal.prototype.setHypertextLinkHandler = function (handler) {\n if (!this.linkifier) {\n throw new Error('Cannot attach a hypertext link handler before Terminal.open is called');\n }\n this.linkifier.setHypertextLinkHandler(handler);\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.setHypertextValidationCallback = function (callback) {\n if (!this.linkifier) {\n throw new Error('Cannot attach a hypertext validation callback before Terminal.open is called');\n }\n this.linkifier.setHypertextValidationCallback(callback);\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.registerLinkMatcher = function (regex, handler, options) {\n if (this.linkifier) {\n var matcherId = this.linkifier.registerLinkMatcher(regex, handler, options);\n this.refresh(0, this.rows - 1);\n return matcherId;\n }\n};\nTerminal.prototype.deregisterLinkMatcher = function (matcherId) {\n if (this.linkifier) {\n if (this.linkifier.deregisterLinkMatcher(matcherId)) {\n this.refresh(0, this.rows - 1);\n }\n }\n};\nTerminal.prototype.hasSelection = function () {\n return this.selectionManager.hasSelection;\n};\nTerminal.prototype.getSelection = function () {\n return this.selectionManager.selectionText;\n};\nTerminal.prototype.clearSelection = function () {\n this.selectionManager.clearSelection();\n};\nTerminal.prototype.selectAll = function () {\n this.selectionManager.selectAll();\n};\nTerminal.prototype.keyDown = function (ev) {\n if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) {\n return false;\n }\n this.restartCursorBlinking();\n if (!this.compositionHelper.keydown.bind(this.compositionHelper)(ev)) {\n if (this.ybase !== this.ydisp) {\n this.scrollToBottom();\n }\n return false;\n }\n var self = this;\n var result = this.evaluateKeyEscapeSequence(ev);\n if (result.key === EscapeSequences_1.C0.DC3) {\n this.writeStopped = true;\n }\n else if (result.key === EscapeSequences_1.C0.DC1) {\n this.writeStopped = false;\n }\n if (result.scrollDisp) {\n this.scrollDisp(result.scrollDisp);\n return this.cancel(ev, true);\n }\n if (isThirdLevelShift(this, ev)) {\n return true;\n }\n if (result.cancel) {\n this.cancel(ev, true);\n }\n if (!result.key) {\n return true;\n }\n this.emit('keydown', ev);\n this.emit('key', result.key, ev);\n this.showCursor();\n this.handler(result.key);\n return this.cancel(ev, true);\n};\nTerminal.prototype.evaluateKeyEscapeSequence = function (ev) {\n var result = {\n cancel: false,\n key: undefined,\n scrollDisp: undefined\n };\n var modifiers = ev.shiftKey << 0 | ev.altKey << 1 | ev.ctrlKey << 2 | ev.metaKey << 3;\n switch (ev.keyCode) {\n case 8:\n if (ev.shiftKey) {\n result.key = EscapeSequences_1.C0.BS;\n break;\n }\n result.key = EscapeSequences_1.C0.DEL;\n break;\n case 9:\n if (ev.shiftKey) {\n result.key = EscapeSequences_1.C0.ESC + '[Z';\n break;\n }\n result.key = EscapeSequences_1.C0.HT;\n result.cancel = true;\n break;\n case 13:\n result.key = EscapeSequences_1.C0.CR;\n result.cancel = true;\n break;\n case 27:\n result.key = EscapeSequences_1.C0.ESC;\n result.cancel = true;\n break;\n case 37:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'D';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3D') {\n result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'b' : EscapeSequences_1.C0.ESC + '[1;5D';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OD';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[D';\n }\n break;\n case 39:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'C';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3C') {\n result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'f' : EscapeSequences_1.C0.ESC + '[1;5C';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OC';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[C';\n }\n break;\n case 38:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'A';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3A') {\n result.key = EscapeSequences_1.C0.ESC + '[1;5A';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OA';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[A';\n }\n break;\n case 40:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'B';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3B') {\n result.key = EscapeSequences_1.C0.ESC + '[1;5B';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OB';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[B';\n }\n break;\n case 45:\n if (!ev.shiftKey && !ev.ctrlKey) {\n result.key = EscapeSequences_1.C0.ESC + '[2~';\n }\n break;\n case 46:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[3;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[3~';\n }\n break;\n case 36:\n if (modifiers)\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'H';\n else if (this.applicationCursor)\n result.key = EscapeSequences_1.C0.ESC + 'OH';\n else\n result.key = EscapeSequences_1.C0.ESC + '[H';\n break;\n case 35:\n if (modifiers)\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'F';\n else if (this.applicationCursor)\n result.key = EscapeSequences_1.C0.ESC + 'OF';\n else\n result.key = EscapeSequences_1.C0.ESC + '[F';\n break;\n case 33:\n if (ev.shiftKey) {\n result.scrollDisp = -(this.rows - 1);\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[5~';\n }\n break;\n case 34:\n if (ev.shiftKey) {\n result.scrollDisp = this.rows - 1;\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[6~';\n }\n break;\n case 112:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'P';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OP';\n }\n break;\n case 113:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'Q';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OQ';\n }\n break;\n case 114:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'R';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OR';\n }\n break;\n case 115:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'S';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OS';\n }\n break;\n case 116:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[15;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[15~';\n }\n break;\n case 117:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[17;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[17~';\n }\n break;\n case 118:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[18;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[18~';\n }\n break;\n case 119:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[19;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[19~';\n }\n break;\n case 120:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[20;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[20~';\n }\n break;\n case 121:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[21;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[21~';\n }\n break;\n case 122:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[23;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[23~';\n }\n break;\n case 123:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[24;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[24~';\n }\n break;\n default:\n if (ev.ctrlKey && !ev.shiftKey && !ev.altKey && !ev.metaKey) {\n if (ev.keyCode >= 65 && ev.keyCode <= 90) {\n result.key = String.fromCharCode(ev.keyCode - 64);\n }\n else if (ev.keyCode === 32) {\n result.key = String.fromCharCode(0);\n }\n else if (ev.keyCode >= 51 && ev.keyCode <= 55) {\n result.key = String.fromCharCode(ev.keyCode - 51 + 27);\n }\n else if (ev.keyCode === 56) {\n result.key = String.fromCharCode(127);\n }\n else if (ev.keyCode === 219) {\n result.key = String.fromCharCode(27);\n }\n else if (ev.keyCode === 220) {\n result.key = String.fromCharCode(28);\n }\n else if (ev.keyCode === 221) {\n result.key = String.fromCharCode(29);\n }\n }\n else if (!this.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) {\n if (ev.keyCode >= 65 && ev.keyCode <= 90) {\n result.key = EscapeSequences_1.C0.ESC + String.fromCharCode(ev.keyCode + 32);\n }\n else if (ev.keyCode === 192) {\n result.key = EscapeSequences_1.C0.ESC + '`';\n }\n else if (ev.keyCode >= 48 && ev.keyCode <= 57) {\n result.key = EscapeSequences_1.C0.ESC + (ev.keyCode - 48);\n }\n }\n else if (this.browser.isMac && !ev.altKey && !ev.ctrlKey && ev.metaKey) {\n if (ev.keyCode === 65) {\n this.selectAll();\n }\n }\n break;\n }\n return result;\n};\nTerminal.prototype.setgLevel = function (g) {\n this.glevel = g;\n this.charset = this.charsets[g];\n};\nTerminal.prototype.setgCharset = function (g, charset) {\n this.charsets[g] = charset;\n if (this.glevel === g) {\n this.charset = charset;\n }\n};\nTerminal.prototype.keyPress = function (ev) {\n var key;\n if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) {\n return false;\n }\n this.cancel(ev);\n if (ev.charCode) {\n key = ev.charCode;\n }\n else if (ev.which == null) {\n key = ev.keyCode;\n }\n else if (ev.which !== 0 && ev.charCode !== 0) {\n key = ev.which;\n }\n else {\n return false;\n }\n if (!key || ((ev.altKey || ev.ctrlKey || ev.metaKey) && !isThirdLevelShift(this, ev))) {\n return false;\n }\n key = String.fromCharCode(key);\n this.emit('keypress', key, ev);\n this.emit('key', key, ev);\n this.showCursor();\n this.handler(key);\n return true;\n};\nTerminal.prototype.send = function (data) {\n var self = this;\n if (!this.queue) {\n setTimeout(function () {\n self.handler(self.queue);\n self.queue = '';\n }, 1);\n }\n this.queue += data;\n};\nTerminal.prototype.bell = function () {\n if (!this.visualBell)\n return;\n var self = this;\n this.element.style.borderColor = 'white';\n setTimeout(function () {\n self.element.style.borderColor = '';\n }, 10);\n if (this.popOnBell)\n this.focus();\n};\nTerminal.prototype.log = function () {\n if (!this.debug)\n return;\n if (!this.context.console || !this.context.console.log)\n return;\n var args = Array.prototype.slice.call(arguments);\n this.context.console.log.apply(this.context.console, args);\n};\nTerminal.prototype.error = function () {\n if (!this.debug)\n return;\n if (!this.context.console || !this.context.console.error)\n return;\n var args = Array.prototype.slice.call(arguments);\n this.context.console.error.apply(this.context.console, args);\n};\nTerminal.prototype.resize = function (x, y) {\n if (isNaN(x) || isNaN(y)) {\n return;\n }\n if (y > this.getOption('scrollback')) {\n this.setOption('scrollback', y);\n }\n var line, el, i, j, ch, addToY;\n if (x === this.cols && y === this.rows) {\n return;\n }\n if (x < 1)\n x = 1;\n if (y < 1)\n y = 1;\n j = this.cols;\n if (j < x) {\n ch = [this.defAttr, ' ', 1];\n i = this.lines.length;\n while (i--) {\n while (this.lines.get(i).length < x) {\n this.lines.get(i).push(ch);\n }\n }\n }\n this.cols = x;\n this.setupStops(this.cols);\n j = this.rows;\n addToY = 0;\n if (j < y) {\n el = this.element;\n while (j++ < y) {\n if (this.lines.length < y + this.ybase) {\n if (this.ybase > 0 && this.lines.length <= this.ybase + this.y + addToY + 1) {\n this.ybase--;\n addToY++;\n if (this.ydisp > 0) {\n this.ydisp--;\n }\n }\n else {\n this.lines.push(this.blankLine());\n }\n }\n if (this.children.length < y) {\n this.insertRow();\n }\n }\n }\n else {\n while (j-- > y) {\n if (this.lines.length > y + this.ybase) {\n if (this.lines.length > this.ybase + this.y + 1) {\n this.lines.pop();\n }\n else {\n this.ybase++;\n this.ydisp++;\n }\n }\n if (this.children.length > y) {\n el = this.children.shift();\n if (!el)\n continue;\n el.parentNode.removeChild(el);\n }\n }\n }\n this.rows = y;\n if (this.y >= y) {\n this.y = y - 1;\n }\n if (addToY) {\n this.y += addToY;\n }\n if (this.x >= x) {\n this.x = x - 1;\n }\n this.scrollTop = 0;\n this.scrollBottom = y - 1;\n this.charMeasure.measure();\n this.refresh(0, this.rows - 1);\n this.normal = null;\n this.geometry = [this.cols, this.rows];\n this.emit('resize', { terminal: this, cols: x, rows: y });\n};\nTerminal.prototype.updateRange = function (y) {\n if (y < this.refreshStart)\n this.refreshStart = y;\n if (y > this.refreshEnd)\n this.refreshEnd = y;\n};\nTerminal.prototype.maxRange = function () {\n this.refreshStart = 0;\n this.refreshEnd = this.rows - 1;\n};\nTerminal.prototype.setupStops = function (i) {\n if (i != null) {\n if (!this.tabs[i]) {\n i = this.prevStop(i);\n }\n }\n else {\n this.tabs = {};\n i = 0;\n }\n for (; i < this.cols; i += this.getOption('tabStopWidth')) {\n this.tabs[i] = true;\n }\n};\nTerminal.prototype.prevStop = function (x) {\n if (x == null)\n x = this.x;\n while (!this.tabs[--x] && x > 0)\n ;\n return x >= this.cols\n ? this.cols - 1\n : x < 0 ? 0 : x;\n};\nTerminal.prototype.nextStop = function (x) {\n if (x == null)\n x = this.x;\n while (!this.tabs[++x] && x < this.cols)\n ;\n return x >= this.cols\n ? this.cols - 1\n : x < 0 ? 0 : x;\n};\nTerminal.prototype.eraseRight = function (x, y) {\n var line = this.lines.get(this.ybase + y);\n if (!line) {\n return;\n }\n var ch = [this.eraseAttr(), ' ', 1];\n for (; x < this.cols; x++) {\n line[x] = ch;\n }\n this.updateRange(y);\n};\nTerminal.prototype.eraseLeft = function (x, y) {\n var line = this.lines.get(this.ybase + y);\n if (!line) {\n return;\n }\n var ch = [this.eraseAttr(), ' ', 1];\n x++;\n while (x--) {\n line[x] = ch;\n }\n this.updateRange(y);\n};\nTerminal.prototype.clear = function () {\n if (this.ybase === 0 && this.y === 0) {\n return;\n }\n this.lines.set(0, this.lines.get(this.ybase + this.y));\n this.lines.length = 1;\n this.ydisp = 0;\n this.ybase = 0;\n this.y = 0;\n for (var i = 1; i < this.rows; i++) {\n this.lines.push(this.blankLine());\n }\n this.refresh(0, this.rows - 1);\n this.emit('scroll', this.ydisp);\n};\nTerminal.prototype.eraseLine = function (y) {\n this.eraseRight(0, y);\n};\nTerminal.prototype.blankLine = function (cur, isWrapped) {\n var attr = cur\n ? this.eraseAttr()\n : this.defAttr;\n var ch = [attr, ' ', 1], line = [], i = 0;\n if (isWrapped) {\n line.isWrapped = isWrapped;\n }\n for (; i < this.cols; i++) {\n line[i] = ch;\n }\n return line;\n};\nTerminal.prototype.ch = function (cur) {\n return cur\n ? [this.eraseAttr(), ' ', 1]\n : [this.defAttr, ' ', 1];\n};\nTerminal.prototype.is = function (term) {\n var name = this.termName;\n return (name + '').indexOf(term) === 0;\n};\nTerminal.prototype.handler = function (data) {\n if (this.options.disableStdin) {\n return;\n }\n if (this.ybase !== this.ydisp) {\n this.scrollToBottom();\n }\n this.emit('data', data);\n};\nTerminal.prototype.handleTitle = function (title) {\n this.emit('title', title);\n};\nTerminal.prototype.index = function () {\n this.y++;\n if (this.y > this.scrollBottom) {\n this.y--;\n this.scroll();\n }\n if (this.x >= this.cols) {\n this.x--;\n }\n};\nTerminal.prototype.reverseIndex = function () {\n var j;\n if (this.y === this.scrollTop) {\n this.lines.shiftElements(this.y + this.ybase, this.rows - 1, 1);\n this.lines.set(this.y + this.ybase, this.blankLine(true));\n this.updateRange(this.scrollTop);\n this.updateRange(this.scrollBottom);\n }\n else {\n this.y--;\n }\n};\nTerminal.prototype.reset = function () {\n this.options.rows = this.rows;\n this.options.cols = this.cols;\n var customKeyEventHandler = this.customKeyEventHandler;\n var cursorBlinkInterval = this.cursorBlinkInterval;\n Terminal.call(this, this.options);\n this.customKeyEventHandler = customKeyEventHandler;\n this.cursorBlinkInterval = cursorBlinkInterval;\n this.refresh(0, this.rows - 1);\n this.viewport.syncScrollArea();\n};\nTerminal.prototype.tabSet = function () {\n this.tabs[this.x] = true;\n};\nfunction on(el, type, handler, capture) {\n if (!Array.isArray(el)) {\n el = [el];\n }\n el.forEach(function (element) {\n element.addEventListener(type, handler, capture || false);\n });\n}\nfunction off(el, type, handler, capture) {\n el.removeEventListener(type, handler, capture || false);\n}\nfunction cancel(ev, force) {\n if (!this.cancelEvents && !force) {\n return;\n }\n ev.preventDefault();\n ev.stopPropagation();\n return false;\n}\nfunction inherits(child, parent) {\n function f() {\n this.constructor = child;\n }\n f.prototype = parent.prototype;\n child.prototype = new f;\n}\nfunction indexOf(obj, el) {\n var i = obj.length;\n while (i--) {\n if (obj[i] === el)\n return i;\n }\n return -1;\n}\nfunction isThirdLevelShift(term, ev) {\n var thirdLevelKey = (term.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) ||\n (term.browser.isMSWindows && ev.altKey && ev.ctrlKey && !ev.metaKey);\n if (ev.type == 'keypress') {\n return thirdLevelKey;\n }\n return thirdLevelKey && (!ev.keyCode || ev.keyCode > 47);\n}\nTerminal.prototype.matchColor = matchColor;\nfunction matchColor(r1, g1, b1) {\n var hash = (r1 << 16) | (g1 << 8) | b1;\n if (matchColor._cache[hash] != null) {\n return matchColor._cache[hash];\n }\n var ldiff = Infinity, li = -1, i = 0, c, r2, g2, b2, diff;\n for (; i < Terminal.vcolors.length; i++) {\n c = Terminal.vcolors[i];\n r2 = c[0];\n g2 = c[1];\n b2 = c[2];\n diff = matchColor.distance(r1, g1, b1, r2, g2, b2);\n if (diff === 0) {\n li = i;\n break;\n }\n if (diff < ldiff) {\n ldiff = diff;\n li = i;\n }\n }\n return matchColor._cache[hash] = li;\n}\nmatchColor._cache = {};\nmatchColor.distance = function (r1, g1, b1, r2, g2, b2) {\n return Math.pow(30 * (r1 - r2), 2)\n + Math.pow(59 * (g1 - g2), 2)\n + Math.pow(11 * (b1 - b2), 2);\n};\nfunction each(obj, iter, con) {\n if (obj.forEach)\n return obj.forEach(iter, con);\n for (var i = 0; i < obj.length; i++) {\n iter.call(con, obj[i], i, obj);\n }\n}\nfunction wasMondifierKeyOnlyEvent(ev) {\n return ev.keyCode === 16 ||\n ev.keyCode === 17 ||\n ev.keyCode === 18;\n}\nfunction keys(obj) {\n if (Object.keys)\n return Object.keys(obj);\n var key, keys = [];\n for (key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n keys.push(key);\n }\n }\n return keys;\n}\nTerminal.EventEmitter = EventEmitter_1.EventEmitter;\nTerminal.inherits = inherits;\nTerminal.on = on;\nTerminal.off = off;\nTerminal.cancel = cancel;\nmodule.exports = Terminal;\n\n//# sourceMappingURL=xterm.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/xterm.js\n// module id = 0\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n;\nvar EventEmitter = (function () {\n function EventEmitter() {\n this._events = this._events || {};\n }\n EventEmitter.prototype.on = function (type, listener) {\n this._events[type] = this._events[type] || [];\n this._events[type].push(listener);\n };\n EventEmitter.prototype.off = function (type, listener) {\n if (!this._events[type]) {\n return;\n }\n var obj = this._events[type];\n var i = obj.length;\n while (i--) {\n if (obj[i] === listener || obj[i].listener === listener) {\n obj.splice(i, 1);\n return;\n }\n }\n };\n EventEmitter.prototype.removeAllListeners = function (type) {\n if (this._events[type]) {\n delete this._events[type];\n }\n };\n EventEmitter.prototype.once = function (type, listener) {\n function on() {\n var args = Array.prototype.slice.call(arguments);\n this.off(type, on);\n return listener.apply(this, args);\n }\n on.listener = listener;\n return this.on(type, on);\n };\n EventEmitter.prototype.emit = function (type) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!this._events[type]) {\n return;\n }\n var obj = this._events[type];\n for (var i = 0; i < obj.length; i++) {\n obj[i].apply(this, args);\n }\n };\n EventEmitter.prototype.listeners = function (type) {\n return this._events[type] || [];\n };\n return EventEmitter;\n}());\nexports.EventEmitter = EventEmitter;\n\n//# sourceMappingURL=EventEmitter.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/EventEmitter.js\n// module id = 1\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar C0;\n(function (C0) {\n C0.NUL = '\\x00';\n C0.SOH = '\\x01';\n C0.STX = '\\x02';\n C0.ETX = '\\x03';\n C0.EOT = '\\x04';\n C0.ENQ = '\\x05';\n C0.ACK = '\\x06';\n C0.BEL = '\\x07';\n C0.BS = '\\x08';\n C0.HT = '\\x09';\n C0.LF = '\\x0a';\n C0.VT = '\\x0b';\n C0.FF = '\\x0c';\n C0.CR = '\\x0d';\n C0.SO = '\\x0e';\n C0.SI = '\\x0f';\n C0.DLE = '\\x10';\n C0.DC1 = '\\x11';\n C0.DC2 = '\\x12';\n C0.DC3 = '\\x13';\n C0.DC4 = '\\x14';\n C0.NAK = '\\x15';\n C0.SYN = '\\x16';\n C0.ETB = '\\x17';\n C0.CAN = '\\x18';\n C0.EM = '\\x19';\n C0.SUB = '\\x1a';\n C0.ESC = '\\x1b';\n C0.FS = '\\x1c';\n C0.GS = '\\x1d';\n C0.RS = '\\x1e';\n C0.US = '\\x1f';\n C0.SP = '\\x20';\n C0.DEL = '\\x7f';\n})(C0 = exports.C0 || (exports.C0 = {}));\n;\n\n//# sourceMappingURL=EscapeSequences.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/EscapeSequences.js\n// module id = 2\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CHARSETS = {};\nexports.DEFAULT_CHARSET = exports.CHARSETS['B'];\nexports.CHARSETS['0'] = {\n '`': '\\u25c6',\n 'a': '\\u2592',\n 'b': '\\u0009',\n 'c': '\\u000c',\n 'd': '\\u000d',\n 'e': '\\u000a',\n 'f': '\\u00b0',\n 'g': '\\u00b1',\n 'h': '\\u2424',\n 'i': '\\u000b',\n 'j': '\\u2518',\n 'k': '\\u2510',\n 'l': '\\u250c',\n 'm': '\\u2514',\n 'n': '\\u253c',\n 'o': '\\u23ba',\n 'p': '\\u23bb',\n 'q': '\\u2500',\n 'r': '\\u23bc',\n 's': '\\u23bd',\n 't': '\\u251c',\n 'u': '\\u2524',\n 'v': '\\u2534',\n 'w': '\\u252c',\n 'x': '\\u2502',\n 'y': '\\u2264',\n 'z': '\\u2265',\n '{': '\\u03c0',\n '|': '\\u2260',\n '}': '\\u00a3',\n '~': '\\u00b7'\n};\nexports.CHARSETS['A'] = {\n '#': '£'\n};\nexports.CHARSETS['B'] = null;\nexports.CHARSETS['4'] = {\n '#': '£',\n '@': '¾',\n '[': 'ij',\n '\\\\': '½',\n ']': '|',\n '{': '¨',\n '|': 'f',\n '}': '¼',\n '~': '´'\n};\nexports.CHARSETS['C'] =\n exports.CHARSETS['5'] = {\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Å',\n '^': 'Ü',\n '`': 'é',\n '{': 'ä',\n '|': 'ö',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['R'] = {\n '#': '£',\n '@': 'à',\n '[': '°',\n '\\\\': 'ç',\n ']': '§',\n '{': 'é',\n '|': 'ù',\n '}': 'è',\n '~': '¨'\n};\nexports.CHARSETS['Q'] = {\n '@': 'à',\n '[': 'â',\n '\\\\': 'ç',\n ']': 'ê',\n '^': 'î',\n '`': 'ô',\n '{': 'é',\n '|': 'ù',\n '}': 'è',\n '~': 'û'\n};\nexports.CHARSETS['K'] = {\n '@': '§',\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Ü',\n '{': 'ä',\n '|': 'ö',\n '}': 'ü',\n '~': 'ß'\n};\nexports.CHARSETS['Y'] = {\n '#': '£',\n '@': '§',\n '[': '°',\n '\\\\': 'ç',\n ']': 'é',\n '`': 'ù',\n '{': 'à',\n '|': 'ò',\n '}': 'è',\n '~': 'ì'\n};\nexports.CHARSETS['E'] =\n exports.CHARSETS['6'] = {\n '@': 'Ä',\n '[': 'Æ',\n '\\\\': 'Ø',\n ']': 'Å',\n '^': 'Ü',\n '`': 'ä',\n '{': 'æ',\n '|': 'ø',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['Z'] = {\n '#': '£',\n '@': '§',\n '[': '¡',\n '\\\\': 'Ñ',\n ']': '¿',\n '{': '°',\n '|': 'ñ',\n '}': 'ç'\n};\nexports.CHARSETS['H'] =\n exports.CHARSETS['7'] = {\n '@': 'É',\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Å',\n '^': 'Ü',\n '`': 'é',\n '{': 'ä',\n '|': 'ö',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['='] = {\n '#': 'ù',\n '@': 'à',\n '[': 'é',\n '\\\\': 'ç',\n ']': 'ê',\n '^': 'î',\n '_': 'è',\n '`': 'ô',\n '{': 'ä',\n '|': 'ö',\n '}': 'ü',\n '~': 'û'\n};\n\n//# sourceMappingURL=Charsets.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Charsets.js\n// module id = 3\n// module chunks = 0","/**\n * Implements the attach method, that attaches the terminal to a WebSocket stream.\n * @module xterm/addons/attach/attach\n * @license MIT\n */\n\n(function (attach) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = attach(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], attach);\n } else {\n /*\n * Plain browser environment\n */\n attach(window.Terminal);\n }\n})(function (Xterm) {\n 'use strict';\n\n var exports = {};\n\n /**\n * Attaches the given terminal to the given socket.\n *\n * @param {Xterm} term - The terminal to be attached to the given socket.\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n exports.attach = function (term, socket, bidirectional, buffered) {\n bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;\n term.socket = socket;\n\n term._flushBuffer = function () {\n term.write(term._attachSocketBuffer);\n term._attachSocketBuffer = null;\n clearTimeout(term._attachSocketBufferTimer);\n term._attachSocketBufferTimer = null;\n };\n\n term._pushToBuffer = function (data) {\n if (term._attachSocketBuffer) {\n term._attachSocketBuffer += data;\n } else {\n term._attachSocketBuffer = data;\n setTimeout(term._flushBuffer, 10);\n }\n };\n\n term._getMessage = function (ev) {\n if (buffered) {\n term._pushToBuffer(ev.data);\n } else {\n term.write(ev.data);\n }\n };\n\n term._sendData = function (data) {\n socket.send(data);\n };\n\n socket.addEventListener('message', term._getMessage);\n\n if (bidirectional) {\n term.on('data', term._sendData);\n }\n\n socket.addEventListener('close', term.detach.bind(term, socket));\n socket.addEventListener('error', term.detach.bind(term, socket));\n };\n\n /**\n * Detaches the given terminal from the given socket\n *\n * @param {Xterm} term - The terminal to be detached from the given socket.\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n exports.detach = function (term, socket) {\n term.off('data', term._sendData);\n\n socket = (typeof socket == 'undefined') ? term.socket : socket;\n\n if (socket) {\n socket.removeEventListener('message', term._getMessage);\n }\n\n delete term.socket;\n };\n\n /**\n * Attaches the current terminal to the given socket\n *\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n Xterm.prototype.attach = function (socket, bidirectional, buffered) {\n return exports.attach(this, socket, bidirectional, buffered);\n };\n\n /**\n * Detaches the current terminal from the given socket.\n *\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n Xterm.prototype.detach = function (socket) {\n return exports.detach(this, socket);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/attach/attach.js\n// module id = 4\n// module chunks = 0","/**\n * Fit terminal columns and rows to the dimensions of its DOM element.\n *\n * ## Approach\n * - Rows: Truncate the division of the terminal parent element height by the terminal row height.\n *\n * - Columns: Truncate the division of the terminal parent element width by the terminal character\n * width (apply display: inline at the terminal row and truncate its width with the current\n * number of columns).\n * @module xterm/addons/fit/fit\n * @license MIT\n */\n\n(function (fit) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = fit(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], fit);\n } else {\n /*\n * Plain browser environment\n */\n fit(window.Terminal);\n }\n})(function (Xterm) {\n var exports = {};\n\n exports.proposeGeometry = function (term) {\n if (!term.element.parentElement) {\n return null;\n }\n var parentElementStyle = window.getComputedStyle(term.element.parentElement),\n parentElementHeight = parseInt(parentElementStyle.getPropertyValue('height')),\n parentElementWidth = Math.max(0, parseInt(parentElementStyle.getPropertyValue('width')) - 17),\n elementStyle = window.getComputedStyle(term.element),\n elementPaddingVer = parseInt(elementStyle.getPropertyValue('padding-top')) + parseInt(elementStyle.getPropertyValue('padding-bottom')),\n elementPaddingHor = parseInt(elementStyle.getPropertyValue('padding-right')) + parseInt(elementStyle.getPropertyValue('padding-left')),\n availableHeight = parentElementHeight - elementPaddingVer,\n availableWidth = parentElementWidth - elementPaddingHor,\n container = term.rowContainer,\n subjectRow = term.rowContainer.firstElementChild,\n contentBuffer = subjectRow.innerHTML,\n characterHeight,\n rows,\n characterWidth,\n cols,\n geometry;\n\n subjectRow.style.display = 'inline';\n subjectRow.innerHTML = 'W'; // Common character for measuring width, although on monospace\n characterWidth = subjectRow.getBoundingClientRect().width;\n subjectRow.style.display = ''; // Revert style before calculating height, since they differ.\n characterHeight = subjectRow.getBoundingClientRect().height;\n subjectRow.innerHTML = contentBuffer;\n\n rows = parseInt(availableHeight / characterHeight);\n cols = parseInt(availableWidth / characterWidth);\n\n geometry = {cols: cols, rows: rows};\n return geometry;\n };\n\n exports.fit = function (term) {\n var geometry = exports.proposeGeometry(term);\n\n if (geometry) {\n term.resize(geometry.cols, geometry.rows);\n }\n };\n\n Xterm.prototype.proposeGeometry = function () {\n return exports.proposeGeometry(this);\n };\n\n Xterm.prototype.fit = function () {\n return exports.fit(this);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fit/fit.js\n// module id = 5\n// module chunks = 0","/**\n * Fullscreen addon for xterm.js\n * @module xterm/addons/fullscreen/fullscreen\n * @license MIT\n */\n(function (fullscreen) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = fullscreen(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], fullscreen);\n } else {\n /*\n * Plain browser environment\n */\n fullscreen(window.Terminal);\n }\n})(function (Xterm) {\n var exports = {};\n\n /**\n * Toggle the given terminal's fullscreen mode.\n * @param {Xterm} term - The terminal to toggle full screen mode\n * @param {boolean} fullscreen - Toggle fullscreen on (true) or off (false)\n */\n exports.toggleFullScreen = function (term, fullscreen) {\n var fn;\n\n if (typeof fullscreen == 'undefined') {\n fn = (term.element.classList.contains('fullscreen')) ? 'remove' : 'add';\n } else if (!fullscreen) {\n fn = 'remove';\n } else {\n fn = 'add';\n }\n\n term.element.classList[fn]('fullscreen');\n };\n\n Xterm.prototype.toggleFullscreen = function (fullscreen) {\n exports.toggleFullScreen(this, fullscreen);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fullscreen/fullscreen.js\n// module id = 6\n// module chunks = 0","/**\n * This module provides methods for attaching a terminal to a terminado WebSocket stream.\n *\n * @module xterm/addons/terminado/terminado\n * @license MIT\n */\n\n(function (attach) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = attach(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], attach);\n } else {\n /*\n * Plain browser environment\n */\n attach(window.Terminal);\n }\n})(function (Xterm) {\n 'use strict';\n\n var exports = {};\n\n /**\n * Attaches the given terminal to the given socket.\n *\n * @param {Xterm} term - The terminal to be attached to the given socket.\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n exports.terminadoAttach = function (term, socket, bidirectional, buffered) {\n bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;\n term.socket = socket;\n\n term._flushBuffer = function () {\n term.write(term._attachSocketBuffer);\n term._attachSocketBuffer = null;\n clearTimeout(term._attachSocketBufferTimer);\n term._attachSocketBufferTimer = null;\n };\n\n term._pushToBuffer = function (data) {\n if (term._attachSocketBuffer) {\n term._attachSocketBuffer += data;\n } else {\n term._attachSocketBuffer = data;\n setTimeout(term._flushBuffer, 10);\n }\n };\n\n term._getMessage = function (ev) {\n var data = JSON.parse(ev.data)\n if( data[0] == \"stdout\" ) {\n if (buffered) {\n term._pushToBuffer(data[1]);\n } else {\n term.write(data[1]);\n }\n }\n };\n\n term._sendData = function (data) {\n socket.send(JSON.stringify(['stdin', data]));\n };\n\n term._setSize = function (size) {\n socket.send(JSON.stringify(['set_size', size.rows, size.cols]));\n };\n\n socket.addEventListener('message', term._getMessage);\n\n if (bidirectional) {\n term.on('data', term._sendData);\n }\n term.on('resize', term._setSize);\n\n socket.addEventListener('close', term.terminadoDetach.bind(term, socket));\n socket.addEventListener('error', term.terminadoDetach.bind(term, socket));\n };\n\n /**\n * Detaches the given terminal from the given socket\n *\n * @param {Xterm} term - The terminal to be detached from the given socket.\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n exports.terminadoDetach = function (term, socket) {\n term.off('data', term._sendData);\n\n socket = (typeof socket == 'undefined') ? term.socket : socket;\n\n if (socket) {\n socket.removeEventListener('message', term._getMessage);\n }\n\n delete term.socket;\n };\n\n /**\n * Attaches the current terminal to the given socket\n *\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n Xterm.prototype.terminadoAttach = function (socket, bidirectional, buffered) {\n return exports.terminadoAttach(this, socket, bidirectional, buffered);\n };\n\n /**\n * Detaches the current terminal from the given socket.\n *\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n Xterm.prototype.terminadoDetach = function (socket) {\n return exports.terminadoDetach(this, socket);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/terminado/terminado.js\n// module id = 7\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Generic_1 = require(\"./Generic\");\nvar isNode = (typeof navigator === 'undefined') ? true : false;\nvar userAgent = (isNode) ? 'node' : navigator.userAgent;\nvar platform = (isNode) ? 'node' : navigator.platform;\nexports.isFirefox = !!~userAgent.indexOf('Firefox');\nexports.isMSIE = !!~userAgent.indexOf('MSIE') || !!~userAgent.indexOf('Trident');\nexports.isMac = Generic_1.contains(['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'], platform);\nexports.isIpad = platform === 'iPad';\nexports.isIphone = platform === 'iPhone';\nexports.isMSWindows = Generic_1.contains(['Windows', 'Win16', 'Win32', 'WinCE'], platform);\nexports.isLinux = platform.indexOf('Linux') >= 0;\n\n//# sourceMappingURL=Browser.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Browser.js\n// module id = 8\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction getCoordsRelativeToElement(event, element) {\n if (event.pageX == null) {\n return null;\n }\n var x = event.pageX;\n var y = event.pageY;\n while (element && element !== self.document.documentElement) {\n x -= element.offsetLeft;\n y -= element.offsetTop;\n element = 'offsetParent' in element ? element.offsetParent : element.parentElement;\n }\n return [x, y];\n}\nexports.getCoordsRelativeToElement = getCoordsRelativeToElement;\nfunction getCoords(event, rowContainer, charMeasure, colCount, rowCount, isSelection) {\n var coords = getCoordsRelativeToElement(event, rowContainer);\n coords[0] = Math.ceil((coords[0] + (isSelection ? charMeasure.width / 2 : 0)) / charMeasure.width);\n coords[1] = Math.ceil(coords[1] / charMeasure.height);\n coords[0] = Math.min(Math.max(coords[0], 1), colCount + 1);\n coords[1] = Math.min(Math.max(coords[1], 1), rowCount + 1);\n return coords;\n}\nexports.getCoords = getCoords;\nfunction getRawByteCoords(event, rowContainer, charMeasure, colCount, rowCount) {\n var coords = getCoords(event, rowContainer, charMeasure, colCount, rowCount);\n var x = coords[0];\n var y = coords[1];\n x += 32;\n y += 32;\n return { x: x, y: y };\n}\nexports.getRawByteCoords = getRawByteCoords;\n\n//# sourceMappingURL=Mouse.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Mouse.js\n// module id = 9\n// module chunks = 0","import * as bare from \"libapps\";\n\nexport class TermHterm {\n elem: HTMLElement;\n\n term: bare.Terminal;\n io: bare.IO;\n\n columns: number;\n rows: number;\n\n // to \"show\" the current message when removeMessage() is called\n message: string;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n bare.hterm.defaultStorage = new bare.lib.Storage.Memory();\n this.term = new bare.hterm.Terminal();\n this.term.getPrefs().set(\"send-encoding\", \"raw\");\n this.term.decorate(this.elem);\n\n this.io = this.term.io.push();\n this.term.installKeyboard();\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.columns, rows: this.rows };\n };\n\n output(data: string) {\n if (this.term.io != null) {\n this.term.io.writeUTF16(data);\n }\n };\n\n showMessage(message: string, timeout: number) {\n this.message = message;\n if (timeout > 0) {\n this.term.io.showOverlay(message, timeout);\n } else {\n this.term.io.showOverlay(message, null);\n }\n };\n\n removeMessage(): void {\n // there is no hideOverlay(), so show the same message with 0 sec\n this.term.io.showOverlay(this.message, 0);\n }\n\n setWindowTitle(title: string) {\n this.term.setWindowTitle(title);\n };\n\n setPreferences(value: object) {\n Object.keys(value).forEach((key) => {\n this.term.getPrefs().set(key, value[key]);\n });\n };\n\n onInput(callback: (input: string) => void) {\n this.io.onVTKeystroke = (data) => {\n callback(data);\n };\n this.io.sendString = (data) => {\n callback(data);\n };\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.io.onTerminalResize = (columns: number, rows: number) => {\n this.columns = columns;\n this.rows = rows;\n callback(columns, rows);\n };\n };\n\n deactivate(): void {\n this.io.onVTKeystroke = null;\n this.io.sendString = null\n this.io.onTerminalResize = null;\n this.term.uninstallKeyboard();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.installKeyboard();\n }\n\n close(): void {\n this.term.uninstallKeyboard();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/hterm.ts","export class ConnectionFactory {\n url: string;\n protocols: string[];\n\n constructor(url: string, protocols: string[]) {\n this.url = url;\n this.protocols = protocols;\n };\n\n create(): Connection {\n return new Connection(this.url, this.protocols);\n };\n}\n\nexport class Connection {\n bare: WebSocket;\n\n\n constructor(url: string, protocols: string[]) {\n this.bare = new WebSocket(url, protocols);\n }\n\n open() {\n // nothing todo for websocket\n };\n\n close() {\n this.bare.close();\n };\n\n send(data: string) {\n this.bare.send(data);\n };\n\n isOpen(): boolean {\n if (this.bare.readyState == WebSocket.CONNECTING ||\n this.bare.readyState == WebSocket.OPEN) {\n return true\n }\n return false\n }\n\n onOpen(callback: () => void) {\n this.bare.onopen = (event) => {\n callback();\n }\n };\n\n onReceive(callback: (data: string) => void) {\n this.bare.onmessage = (event) => {\n callback(event.data);\n }\n };\n\n onClose(callback: () => void) {\n this.bare.onclose = (event) => {\n callback();\n };\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/websocket.ts","export const protocols = [\"webtty\"];\n\nexport const msgInputUnknown = '0';\nexport const msgInput = '1';\nexport const msgPing = '2';\nexport const msgResizeTerminal = '3';\n\nexport const msgUnknownOutput = '0';\nexport const msgOutput = '1';\nexport const msgPong = '2';\nexport const msgSetWindowTitle = '3';\nexport const msgSetPreferences = '4';\nexport const msgSetReconnect = '5';\n\n\nexport interface Terminal {\n info(): { columns: number, rows: number };\n output(data: string): void;\n showMessage(message: string, timeout: number): void;\n removeMessage(): void;\n setWindowTitle(title: string): void;\n setPreferences(value: object): void;\n onInput(callback: (input: string) => void): void;\n onResize(callback: (colmuns: number, rows: number) => void): void;\n reset(): void;\n deactivate(): void;\n close(): void;\n}\n\nexport interface Connection {\n open(): void;\n close(): void;\n send(data: string): void;\n isOpen(): boolean;\n onOpen(callback: () => void): void;\n onReceive(callback: (data: string) => void): void;\n onClose(callback: () => void): void;\n}\n\nexport interface ConnectionFactory {\n create(): Connection;\n}\n\n\nexport class WebTTY {\n term: Terminal;\n connectionFactory: ConnectionFactory;\n args: string;\n authToken: string;\n reconnect: number;\n\n constructor(term: Terminal, connectionFactory: ConnectionFactory, args: string, authToken: string) {\n this.term = term;\n this.connectionFactory = connectionFactory;\n this.args = args;\n this.authToken = authToken;\n this.reconnect = -1;\n };\n\n open() {\n let connection = this.connectionFactory.create();\n let pingTimer: number;\n let reconnectTimeout: number;\n\n const setup = () => {\n connection.onOpen(() => {\n const termInfo = this.term.info();\n\n connection.send(JSON.stringify(\n {\n Arguments: this.args,\n AuthToken: this.authToken,\n }\n ));\n\n\n const resizeHandler = (colmuns: number, rows: number) => {\n connection.send(\n msgResizeTerminal + JSON.stringify(\n {\n columns: colmuns,\n rows: rows\n }\n )\n );\n };\n\n this.term.onResize(resizeHandler);\n resizeHandler(termInfo.columns, termInfo.rows);\n\n this.term.onInput(\n (input: string) => {\n connection.send(msgInput + input);\n }\n );\n\n pingTimer = setInterval(() => {\n connection.send(msgPing)\n }, 30 * 1000);\n\n });\n\n connection.onReceive((data) => {\n const payload = data.slice(1);\n switch (data[0]) {\n case msgOutput:\n this.term.output(\n decodeURIComponent(Array.prototype.map.call(atob(payload), function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''))\n );\n break;\n case msgPong:\n break;\n case msgSetWindowTitle:\n this.term.setWindowTitle(payload);\n break;\n case msgSetPreferences:\n const preferences = JSON.parse(payload);\n this.term.setPreferences(preferences);\n break;\n case msgSetReconnect:\n const autoReconnect = JSON.parse(payload);\n console.log(\"Enabling reconnect: \" + autoReconnect + \" seconds\")\n this.reconnect = autoReconnect;\n break;\n }\n });\n\n connection.onClose(() => {\n clearInterval(pingTimer);\n this.term.deactivate();\n this.term.showMessage(\"Connection Closed\", 0);\n if (this.reconnect > 0) {\n reconnectTimeout = setTimeout(() => {\n connection = this.connectionFactory.create();\n this.term.reset();\n setup();\n }, this.reconnect * 1000);\n }\n });\n\n connection.open();\n }\n\n setup();\n return () => {\n clearTimeout(reconnectTimeout);\n connection.close();\n }\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/webtty.ts","import * as bare from \"xterm\";\n\nbare.loadAddon(\"fit\");\n\nexport class TermXterm {\n elem: HTMLElement;\n\n message: HTMLElement;\n messageTimeout: number;\n messageTimer: number;\n\n term: bare;\n resizeListener: () => void;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n this.term = new bare();\n\n this.message = elem.ownerDocument.createElement(\"div\");\n this.message.className = \"xterm-overlay\";\n this.messageTimeout = 2000;\n\n\n this.resizeListener = () => {\n this.term.fit();\n this.term.scrollToBottom();\n this.showMessage(String(this.term.cols) + \"x\" + String(this.term.rows), this.messageTimeout);\n };\n\n this.term.on(\"open\", () => {\n this.resizeListener();\n window.addEventListener(\"resize\", () => { this.resizeListener(); });\n });\n\n this.term.open(elem, true);\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.term.cols, rows: this.term.rows };\n };\n\n output(data: string) {\n this.term.write(data);\n };\n\n showMessage(message: string, timeout: number) {\n this.message.textContent = message;\n this.elem.appendChild(this.message);\n\n if (this.messageTimer) {\n clearTimeout(this.messageTimer);\n }\n if (timeout > 0) {\n this.messageTimer = setTimeout(() => {\n this.elem.removeChild(this.message);\n }, timeout);\n }\n };\n\n removeMessage(): void {\n if (this.message.parentNode == this.elem) {\n this.elem.removeChild(this.message);\n }\n }\n\n setWindowTitle(title: string) {\n document.title = title;\n };\n\n setPreferences(value: object) {\n };\n\n onInput(callback: (input: string) => void) {\n this.term.on(\"data\", (data) => {\n callback(data);\n });\n\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.term.on(\"resize\", (data) => {\n callback(data.cols, data.rows);\n });\n };\n\n deactivate(): void {\n this.term.off(\"data\");\n this.term.off(\"resize\");\n this.term.blur();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.clear();\n }\n\n close(): void {\n window.removeEventListener(\"resize\", this.resizeListener);\n this.term.destroy();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/xterm.ts","// This file was generated by libdot/bin/concat.sh.\n// It has been marked read-only for your safety. Rather\n// than edit it directly, please modify one of these source\n// files...\n//\n// libdot/js/lib.js\n// libdot/js/lib_polyfill.js\n// libdot/js/lib_colors.js\n// libdot/js/lib_f.js\n// libdot/js/lib_message_manager.js\n// libdot/js/lib_preference_manager.js\n// libdot/js/lib_resource.js\n// libdot/js/lib_storage.js\n// libdot/js/lib_storage_chrome.js\n// libdot/js/lib_storage_local.js\n// libdot/js/lib_storage_memory.js\n// libdot/js/lib_test_manager.js\n// libdot/js/lib_utf8.js\n// libdot/third_party/wcwidth/lib_wc.js\n// hterm/js/hterm.js\n// hterm/js/hterm_frame.js\n// hterm/js/hterm_keyboard.js\n// hterm/js/hterm_keyboard_bindings.js\n// hterm/js/hterm_keyboard_keymap.js\n// hterm/js/hterm_keyboard_keypattern.js\n// hterm/js/hterm_options.js\n// hterm/js/hterm_parser.js\n// hterm/js/hterm_parser_identifiers.js\n// hterm/js/hterm_preference_manager.js\n// hterm/js/hterm_pubsub.js\n// hterm/js/hterm_screen.js\n// hterm/js/hterm_scrollport.js\n// hterm/js/hterm_terminal.js\n// hterm/js/hterm_terminal_io.js\n// hterm/js/hterm_text_attributes.js\n// hterm/js/hterm_vt.js\n// hterm/js/hterm_vt_character_map.js\n// hterm/js/hterm_export.js\n//\n\n// SOURCE FILE: libdot/js/lib.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nif (typeof lib != 'undefined')\n throw new Error('Global \"lib\" object already exists.');\n\nvar lib = {};\n\n/**\n * Map of \"dependency\" to [\"source\", ...].\n *\n * Each dependency is a object name, like \"lib.fs\", \"source\" is the url that\n * depends on the object.\n */\nlib.runtimeDependencies_ = {};\n\n/**\n * List of functions that need to be invoked during library initialization.\n *\n * Each element in the initCallbacks_ array is itself a two-element array.\n * Element 0 is a short string describing the owner of the init routine, useful\n * for debugging. Element 1 is the callback function.\n */\nlib.initCallbacks_ = [];\n\n/**\n * Records a runtime dependency.\n *\n * This can be useful when you want to express a run-time dependency at\n * compile time. It is not intended to be a full-fledged library system or\n * dependency tracker. It's just there to make it possible to debug the\n * deps without running all the code.\n *\n * Object names are specified as strings. For example...\n *\n * lib.rtdep('lib.colors', 'lib.PreferenceManager');\n *\n * Object names need not be rooted by 'lib'. You may use this to declare a\n * dependency on any object.\n *\n * The client program may call lib.ensureRuntimeDependencies() at startup in\n * order to ensure that all runtime dependencies have been met.\n *\n * @param {string} var_args One or more objects specified as strings.\n */\nlib.rtdep = function(var_args) {\n var source;\n\n try {\n throw new Error();\n } catch (ex) {\n var stackArray = ex.stack.split('\\n');\n // In Safari, the resulting stackArray will only have 2 elements and the\n // individual strings are formatted differently.\n if (stackArray.length >= 3) {\n source = stackArray[2].replace(/^\\s*at\\s+/, '');\n } else {\n source = stackArray[1].replace(/^\\s*global code@/, '');\n }\n }\n\n for (var i = 0; i < arguments.length; i++) {\n var path = arguments[i];\n if (path instanceof Array) {\n lib.rtdep.apply(lib, path);\n } else {\n var ary = this.runtimeDependencies_[path];\n if (!ary)\n ary = this.runtimeDependencies_[path] = [];\n ary.push(source);\n }\n }\n};\n\n/**\n * Ensures that all runtime dependencies are met, or an exception is thrown.\n *\n * Every unmet runtime dependency will be logged to the JS console. If at\n * least one dependency is unmet this will raise an exception.\n */\nlib.ensureRuntimeDependencies_ = function() {\n var passed = true;\n\n for (var path in lib.runtimeDependencies_) {\n var sourceList = lib.runtimeDependencies_[path];\n var names = path.split('.');\n\n // In a document context 'window' is the global object. In a worker it's\n // called 'self'.\n var obj = (window || self);\n for (var i = 0; i < names.length; i++) {\n if (!(names[i] in obj)) {\n console.warn('Missing \"' + path + '\" is needed by', sourceList);\n passed = false;\n break;\n }\n\n obj = obj[names[i]];\n }\n }\n\n if (!passed)\n throw new Error('Failed runtime dependency check');\n};\n\n/**\n * Register an initialization function.\n *\n * The initialization functions are invoked in registration order when\n * lib.init() is invoked. Each function will receive a single parameter, which\n * is a function to be invoked when it completes its part of the initialization.\n *\n * @param {string} name A short descriptive name of the init routine useful for\n * debugging.\n * @param {function(function)} callback The initialization function to register.\n * @return {function} The callback parameter.\n */\nlib.registerInit = function(name, callback) {\n lib.initCallbacks_.push([name, callback]);\n return callback;\n};\n\n/**\n * Initialize the library.\n *\n * This will ensure that all registered runtime dependencies are met, and\n * invoke any registered initialization functions.\n *\n * Initialization is asynchronous. The library is not ready for use until\n * the onInit function is invoked.\n *\n * @param {function()} onInit The function to invoke when initialization is\n * complete.\n * @param {function(*)} opt_logFunction An optional function to send\n * initialization related log messages to.\n */\nlib.init = function(onInit, opt_logFunction) {\n var ary = lib.initCallbacks_;\n\n var initNext = function() {\n if (ary.length) {\n var rec = ary.shift();\n if (opt_logFunction)\n opt_logFunction('init: ' + rec[0]);\n rec[1](lib.f.alarm(initNext));\n } else {\n onInit();\n }\n };\n\n if (typeof onInit != 'function')\n throw new Error('Missing or invalid argument: onInit');\n\n lib.ensureRuntimeDependencies_();\n\n setTimeout(initNext, 0);\n};\n// SOURCE FILE: libdot/js/lib_polyfill.js\n// Copyright 2017 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview Polyfills for ES2016+ features we want to use.\n */\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart\nif (!String.prototype.padStart) {\n String.prototype.padStart = function(targetLength, padString) {\n // If the string is already long enough, nothing to do!\n targetLength -= this.length;\n if (targetLength <= 0)\n return String(this);\n\n if (padString === undefined)\n padString = ' ';\n\n // In case the pad is multiple chars long.\n if (targetLength > padString.length)\n padString = padString.repeat((targetLength / padString.length) + 1);\n\n return padString.slice(0, targetLength) + String(this);\n };\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd\nif (!String.prototype.padEnd) {\n String.prototype.padEnd = function(targetLength, padString) {\n // If the string is already long enough, nothing to do!\n targetLength -= this.length;\n if (targetLength <= 0)\n return String(this);\n\n if (padString === undefined)\n padString = ' ';\n\n // In case the pad is multiple chars long.\n if (targetLength > padString.length)\n padString = padString.repeat((targetLength / padString.length) + 1);\n\n return String(this) + padString.slice(0, targetLength);\n };\n}\n// SOURCE FILE: libdot/js/lib_colors.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Namespace for color utilities.\n */\nlib.colors = {};\n\n/**\n * First, some canned regular expressions we're going to use in this file.\n *\n *\n * BRACE YOURSELF\n *\n * ,~~~~.\n * |>_< ~~\n * 3`---'-/.\n * 3:::::\\v\\\n * =o=:::::\\,\\\n * | :::::\\,,\\\n *\n * THE REGULAR EXPRESSIONS\n * ARE COMING.\n *\n * There's no way to break long RE literals in JavaScript. Fix that why don't\n * you? Oh, and also there's no way to write a string that doesn't interpret\n * escapes.\n *\n * Instead, we stoop to this .replace() trick.\n */\nlib.colors.re_ = {\n // CSS hex color, #RGB.\n hex16: /#([a-f0-9])([a-f0-9])([a-f0-9])/i,\n\n // CSS hex color, #RRGGBB.\n hex24: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/i,\n\n // CSS rgb color, rgb(rrr,ggg,bbb).\n rgb: new RegExp(\n ('^/s*rgb/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,' +\n '/s*(/d{1,3})/s*/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // CSS rgb color, rgb(rrr,ggg,bbb,aaa).\n rgba: new RegExp(\n ('^/s*rgba/s*' +\n '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' +\n '(?:,/s*(/d+(?:/./d+)?)/s*)/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // Either RGB or RGBA.\n rgbx: new RegExp(\n ('^/s*rgba?/s*' +\n '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' +\n '(?:,/s*(/d+(?:/./d+)?)/s*)?/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // An X11 \"rgb:dddd/dddd/dddd\" value.\n x11rgb: /^\\s*rgb:([a-f0-9]{1,4})\\/([a-f0-9]{1,4})\\/([a-f0-9]{1,4})\\s*$/i,\n\n // English color name.\n name: /[a-z][a-z0-9\\s]+/,\n};\n\n/**\n * Convert a CSS rgb(ddd,ddd,ddd) color value into an X11 color value.\n *\n * Other CSS color values are ignored to ensure sanitary data handling.\n *\n * Each 'ddd' component is a one byte value specified in decimal.\n *\n * @param {string} value The CSS color value to convert.\n * @return {string} The X11 color value or null if the value could not be\n * converted.\n */\nlib.colors.rgbToX11 = function(value) {\n function scale(v) {\n v = (Math.min(v, 255) * 257).toString(16);\n return lib.f.zpad(v, 4);\n }\n\n var ary = value.match(lib.colors.re_.rgbx);\n if (!ary)\n return null;\n\n return 'rgb:' + scale(ary[1]) + '/' + scale(ary[2]) + '/' + scale(ary[3]);\n};\n\n/**\n * Convert a legacy X11 colover value into an CSS rgb(...) color value.\n *\n * They take the form:\n * 12 bit: #RGB -> #R000G000B000\n * 24 bit: #RRGGBB -> #RR00GG00BB00\n * 36 bit: #RRRGGGBBB -> #RRR0GGG0BBB0\n * 48 bit: #RRRRGGGGBBBB\n * These are the most significant bits.\n *\n * Truncate values back down to 24 bit since that's all CSS supports.\n */\nlib.colors.x11HexToCSS = function(v) {\n if (!v.startsWith('#'))\n return null;\n // Strip the leading # off.\n v = v.substr(1);\n\n // Reject unknown sizes.\n if ([3, 6, 9, 12].indexOf(v.length) == -1)\n return null;\n\n // Reject non-hex values.\n if (v.match(/[^a-f0-9]/i))\n return null;\n\n // Split the colors out.\n var size = v.length / 3;\n var r = v.substr(0, size);\n var g = v.substr(size, size);\n var b = v.substr(size + size, size);\n\n // Normalize to 16 bits.\n function norm16(v) {\n v = parseInt(v, 16);\n return size == 2 ? v : // 16 bit\n size == 1 ? v << 4 : // 8 bit\n v >> (4 * (size - 2)); // 24 or 32 bit\n }\n return lib.colors.arrayToRGBA([r, g, b].map(norm16));\n};\n\n/**\n * Convert an X11 color value into an CSS rgb(...) color value.\n *\n * The X11 value may be an X11 color name, or an RGB value of the form\n * rgb:hhhh/hhhh/hhhh. If a component value is less than 4 digits it is\n * padded out to 4, then scaled down to fit in a single byte.\n *\n * @param {string} value The X11 color value to convert.\n * @return {string} The CSS color value or null if the value could not be\n * converted.\n */\nlib.colors.x11ToCSS = function(v) {\n function scale(v) {\n // Pad out values with less than four digits. This padding (probably)\n // matches xterm. It's difficult to say for sure since xterm seems to\n // arrive at a padded value and then perform some combination of\n // gamma correction, color space transformation, and quantization.\n\n if (v.length == 1) {\n // Single digits pad out to four by repeating the character. \"f\" becomes\n // \"ffff\". Scaling down a hex value of this pattern by 257 is the same\n // as cutting off one byte. We skip the middle step and just double\n // the character.\n return parseInt(v + v, 16);\n }\n\n if (v.length == 2) {\n // Similar deal here. X11 pads two digit values by repeating the\n // byte (or scale up by 257). Since we're going to scale it back\n // down anyway, we can just return the original value.\n return parseInt(v, 16);\n }\n\n if (v.length == 3) {\n // Three digit values seem to be padded by repeating the final digit.\n // e.g. 10f becomes 10ff.\n v = v + v.substr(2);\n }\n\n // Scale down the 2 byte value.\n return Math.round(parseInt(v, 16) / 257);\n }\n\n var ary = v.match(lib.colors.re_.x11rgb);\n if (!ary) {\n // Handle the legacy format.\n if (v.startsWith('#'))\n return lib.colors.x11HexToCSS(v);\n else\n return lib.colors.nameToRGB(v);\n }\n\n ary.splice(0, 1);\n return lib.colors.arrayToRGBA(ary.map(scale));\n};\n\n/**\n * Converts one or more CSS '#RRGGBB' color values into their rgb(...)\n * form.\n *\n * Arrays are converted in place. If a value cannot be converted, it is\n * replaced with null.\n *\n * @param {string|Array.} A single RGB value or array of RGB values to\n * convert.\n * @return {string|Array.} The converted value or values.\n */\nlib.colors.hexToRGB = function(arg) {\n var hex16 = lib.colors.re_.hex16;\n var hex24 = lib.colors.re_.hex24;\n\n function convert(hex) {\n if (hex.length == 4) {\n hex = hex.replace(hex16, function(h, r, g, b) {\n return \"#\" + r + r + g + g + b + b;\n });\n }\n var ary = hex.match(hex24);\n if (!ary)\n return null;\n\n return 'rgb(' + parseInt(ary[1], 16) + ', ' +\n parseInt(ary[2], 16) + ', ' +\n parseInt(ary[3], 16) + ')';\n }\n\n if (arg instanceof Array) {\n for (var i = 0; i < arg.length; i++) {\n arg[i] = convert(arg[i]);\n }\n } else {\n arg = convert(arg);\n }\n\n return arg;\n};\n\n/**\n * Converts one or more CSS rgb(...) forms into their '#RRGGBB' color values.\n *\n * If given an rgba(...) form, the alpha field is thrown away.\n *\n * Arrays are converted in place. If a value cannot be converted, it is\n * replaced with null.\n *\n * @param {string|Array.} A single rgb(...) value or array of rgb(...)\n * values to convert.\n * @return {string|Array.} The converted value or values.\n */\nlib.colors.rgbToHex = function(arg) {\n function convert(rgb) {\n var ary = lib.colors.crackRGB(rgb);\n if (!ary)\n return null;\n return '#' + lib.f.zpad(((parseInt(ary[0]) << 16) |\n (parseInt(ary[1]) << 8) |\n (parseInt(ary[2]) << 0)).toString(16), 6);\n }\n\n if (arg instanceof Array) {\n for (var i = 0; i < arg.length; i++) {\n arg[i] = convert(arg[i]);\n }\n } else {\n arg = convert(arg);\n }\n\n return arg;\n};\n\n/**\n * Take any valid css color definition and turn it into an rgb or rgba value.\n *\n * Returns null if the value could not be normalized.\n */\nlib.colors.normalizeCSS = function(def) {\n if (def.startsWith('#'))\n return lib.colors.hexToRGB(def);\n\n if (lib.colors.re_.rgbx.test(def))\n return def;\n\n return lib.colors.nameToRGB(def);\n};\n\n/**\n * Convert a 3 or 4 element array into an rgba(...) string.\n */\nlib.colors.arrayToRGBA = function(ary) {\n var alpha = (ary.length > 3) ? ary[3] : 1;\n return 'rgba(' + ary[0] + ', ' + ary[1] + ', ' + ary[2] + ', ' + alpha + ')';\n};\n\n/**\n * Overwrite the alpha channel of an rgb/rgba color.\n */\nlib.colors.setAlpha = function(rgb, alpha) {\n var ary = lib.colors.crackRGB(rgb);\n ary[3] = alpha;\n return lib.colors.arrayToRGBA(ary);\n};\n\n/**\n * Mix a percentage of a tint color into a base color.\n */\nlib.colors.mix = function(base, tint, percent) {\n var ary1 = lib.colors.crackRGB(base);\n var ary2 = lib.colors.crackRGB(tint);\n\n for (var i = 0; i < 4; ++i) {\n var diff = ary2[i] - ary1[i];\n ary1[i] = Math.round(parseInt(ary1[i]) + diff * percent);\n }\n\n return lib.colors.arrayToRGBA(ary1);\n};\n\n/**\n * Split an rgb/rgba color into an array of its components.\n *\n * On success, a 4 element array will be returned. For rgb values, the alpha\n * will be set to 1.\n */\nlib.colors.crackRGB = function(color) {\n if (color.startsWith('rgba')) {\n var ary = color.match(lib.colors.re_.rgba);\n if (ary) {\n ary.shift();\n return ary;\n }\n } else {\n var ary = color.match(lib.colors.re_.rgb);\n if (ary) {\n ary.shift();\n ary.push(1);\n return ary;\n }\n }\n\n console.error('Couldn\\'t crack: ' + color);\n return null;\n};\n\n/**\n * Convert an X11 color name into a CSS rgb(...) value.\n *\n * Names are stripped of spaces and converted to lowercase. If the name is\n * unknown, null is returned.\n *\n * This list of color name to RGB mapping is derived from the stock X11\n * rgb.txt file.\n *\n * @param {string} name The color name to convert.\n * @return {string} The corresponding CSS rgb(...) value.\n */\nlib.colors.nameToRGB = function(name) {\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n name = name.toLowerCase();\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n name = name.replace(/\\s+/g, '');\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n return null;\n};\n\n/**\n * The stock color palette.\n */\nlib.colors.stockColorPalette = lib.colors.hexToRGB\n ([// The \"ANSI 16\"...\n '#000000', '#CC0000', '#4E9A06', '#C4A000',\n '#3465A4', '#75507B', '#06989A', '#D3D7CF',\n '#555753', '#EF2929', '#00BA13', '#FCE94F',\n '#729FCF', '#F200CB', '#00B5BD', '#EEEEEC',\n\n // The 6x6 color cubes...\n '#000000', '#00005F', '#000087', '#0000AF', '#0000D7', '#0000FF',\n '#005F00', '#005F5F', '#005F87', '#005FAF', '#005FD7', '#005FFF',\n '#008700', '#00875F', '#008787', '#0087AF', '#0087D7', '#0087FF',\n '#00AF00', '#00AF5F', '#00AF87', '#00AFAF', '#00AFD7', '#00AFFF',\n '#00D700', '#00D75F', '#00D787', '#00D7AF', '#00D7D7', '#00D7FF',\n '#00FF00', '#00FF5F', '#00FF87', '#00FFAF', '#00FFD7', '#00FFFF',\n\n '#5F0000', '#5F005F', '#5F0087', '#5F00AF', '#5F00D7', '#5F00FF',\n '#5F5F00', '#5F5F5F', '#5F5F87', '#5F5FAF', '#5F5FD7', '#5F5FFF',\n '#5F8700', '#5F875F', '#5F8787', '#5F87AF', '#5F87D7', '#5F87FF',\n '#5FAF00', '#5FAF5F', '#5FAF87', '#5FAFAF', '#5FAFD7', '#5FAFFF',\n '#5FD700', '#5FD75F', '#5FD787', '#5FD7AF', '#5FD7D7', '#5FD7FF',\n '#5FFF00', '#5FFF5F', '#5FFF87', '#5FFFAF', '#5FFFD7', '#5FFFFF',\n\n '#870000', '#87005F', '#870087', '#8700AF', '#8700D7', '#8700FF',\n '#875F00', '#875F5F', '#875F87', '#875FAF', '#875FD7', '#875FFF',\n '#878700', '#87875F', '#878787', '#8787AF', '#8787D7', '#8787FF',\n '#87AF00', '#87AF5F', '#87AF87', '#87AFAF', '#87AFD7', '#87AFFF',\n '#87D700', '#87D75F', '#87D787', '#87D7AF', '#87D7D7', '#87D7FF',\n '#87FF00', '#87FF5F', '#87FF87', '#87FFAF', '#87FFD7', '#87FFFF',\n\n '#AF0000', '#AF005F', '#AF0087', '#AF00AF', '#AF00D7', '#AF00FF',\n '#AF5F00', '#AF5F5F', '#AF5F87', '#AF5FAF', '#AF5FD7', '#AF5FFF',\n '#AF8700', '#AF875F', '#AF8787', '#AF87AF', '#AF87D7', '#AF87FF',\n '#AFAF00', '#AFAF5F', '#AFAF87', '#AFAFAF', '#AFAFD7', '#AFAFFF',\n '#AFD700', '#AFD75F', '#AFD787', '#AFD7AF', '#AFD7D7', '#AFD7FF',\n '#AFFF00', '#AFFF5F', '#AFFF87', '#AFFFAF', '#AFFFD7', '#AFFFFF',\n\n '#D70000', '#D7005F', '#D70087', '#D700AF', '#D700D7', '#D700FF',\n '#D75F00', '#D75F5F', '#D75F87', '#D75FAF', '#D75FD7', '#D75FFF',\n '#D78700', '#D7875F', '#D78787', '#D787AF', '#D787D7', '#D787FF',\n '#D7AF00', '#D7AF5F', '#D7AF87', '#D7AFAF', '#D7AFD7', '#D7AFFF',\n '#D7D700', '#D7D75F', '#D7D787', '#D7D7AF', '#D7D7D7', '#D7D7FF',\n '#D7FF00', '#D7FF5F', '#D7FF87', '#D7FFAF', '#D7FFD7', '#D7FFFF',\n\n '#FF0000', '#FF005F', '#FF0087', '#FF00AF', '#FF00D7', '#FF00FF',\n '#FF5F00', '#FF5F5F', '#FF5F87', '#FF5FAF', '#FF5FD7', '#FF5FFF',\n '#FF8700', '#FF875F', '#FF8787', '#FF87AF', '#FF87D7', '#FF87FF',\n '#FFAF00', '#FFAF5F', '#FFAF87', '#FFAFAF', '#FFAFD7', '#FFAFFF',\n '#FFD700', '#FFD75F', '#FFD787', '#FFD7AF', '#FFD7D7', '#FFD7FF',\n '#FFFF00', '#FFFF5F', '#FFFF87', '#FFFFAF', '#FFFFD7', '#FFFFFF',\n\n // The greyscale ramp...\n '#080808', '#121212', '#1C1C1C', '#262626', '#303030', '#3A3A3A',\n '#444444', '#4E4E4E', '#585858', '#626262', '#6C6C6C', '#767676',\n '#808080', '#8A8A8A', '#949494', '#9E9E9E', '#A8A8A8', '#B2B2B2',\n '#BCBCBC', '#C6C6C6', '#D0D0D0', '#DADADA', '#E4E4E4', '#EEEEEE'\n ]);\n\n/**\n * The current color palette, possibly with user changes.\n */\nlib.colors.colorPalette = lib.colors.stockColorPalette;\n\n/**\n * Named colors according to the stock X11 rgb.txt file.\n */\nlib.colors.colorNames = {\n \"aliceblue\": \"rgb(240, 248, 255)\",\n \"antiquewhite\": \"rgb(250, 235, 215)\",\n \"antiquewhite1\": \"rgb(255, 239, 219)\",\n \"antiquewhite2\": \"rgb(238, 223, 204)\",\n \"antiquewhite3\": \"rgb(205, 192, 176)\",\n \"antiquewhite4\": \"rgb(139, 131, 120)\",\n \"aquamarine\": \"rgb(127, 255, 212)\",\n \"aquamarine1\": \"rgb(127, 255, 212)\",\n \"aquamarine2\": \"rgb(118, 238, 198)\",\n \"aquamarine3\": \"rgb(102, 205, 170)\",\n \"aquamarine4\": \"rgb(69, 139, 116)\",\n \"azure\": \"rgb(240, 255, 255)\",\n \"azure1\": \"rgb(240, 255, 255)\",\n \"azure2\": \"rgb(224, 238, 238)\",\n \"azure3\": \"rgb(193, 205, 205)\",\n \"azure4\": \"rgb(131, 139, 139)\",\n \"beige\": \"rgb(245, 245, 220)\",\n \"bisque\": \"rgb(255, 228, 196)\",\n \"bisque1\": \"rgb(255, 228, 196)\",\n \"bisque2\": \"rgb(238, 213, 183)\",\n \"bisque3\": \"rgb(205, 183, 158)\",\n \"bisque4\": \"rgb(139, 125, 107)\",\n \"black\": \"rgb(0, 0, 0)\",\n \"blanchedalmond\": \"rgb(255, 235, 205)\",\n \"blue\": \"rgb(0, 0, 255)\",\n \"blue1\": \"rgb(0, 0, 255)\",\n \"blue2\": \"rgb(0, 0, 238)\",\n \"blue3\": \"rgb(0, 0, 205)\",\n \"blue4\": \"rgb(0, 0, 139)\",\n \"blueviolet\": \"rgb(138, 43, 226)\",\n \"brown\": \"rgb(165, 42, 42)\",\n \"brown1\": \"rgb(255, 64, 64)\",\n \"brown2\": \"rgb(238, 59, 59)\",\n \"brown3\": \"rgb(205, 51, 51)\",\n \"brown4\": \"rgb(139, 35, 35)\",\n \"burlywood\": \"rgb(222, 184, 135)\",\n \"burlywood1\": \"rgb(255, 211, 155)\",\n \"burlywood2\": \"rgb(238, 197, 145)\",\n \"burlywood3\": \"rgb(205, 170, 125)\",\n \"burlywood4\": \"rgb(139, 115, 85)\",\n \"cadetblue\": \"rgb(95, 158, 160)\",\n \"cadetblue1\": \"rgb(152, 245, 255)\",\n \"cadetblue2\": \"rgb(142, 229, 238)\",\n \"cadetblue3\": \"rgb(122, 197, 205)\",\n \"cadetblue4\": \"rgb(83, 134, 139)\",\n \"chartreuse\": \"rgb(127, 255, 0)\",\n \"chartreuse1\": \"rgb(127, 255, 0)\",\n \"chartreuse2\": \"rgb(118, 238, 0)\",\n \"chartreuse3\": \"rgb(102, 205, 0)\",\n \"chartreuse4\": \"rgb(69, 139, 0)\",\n \"chocolate\": \"rgb(210, 105, 30)\",\n \"chocolate1\": \"rgb(255, 127, 36)\",\n \"chocolate2\": \"rgb(238, 118, 33)\",\n \"chocolate3\": \"rgb(205, 102, 29)\",\n \"chocolate4\": \"rgb(139, 69, 19)\",\n \"coral\": \"rgb(255, 127, 80)\",\n \"coral1\": \"rgb(255, 114, 86)\",\n \"coral2\": \"rgb(238, 106, 80)\",\n \"coral3\": \"rgb(205, 91, 69)\",\n \"coral4\": \"rgb(139, 62, 47)\",\n \"cornflowerblue\": \"rgb(100, 149, 237)\",\n \"cornsilk\": \"rgb(255, 248, 220)\",\n \"cornsilk1\": \"rgb(255, 248, 220)\",\n \"cornsilk2\": \"rgb(238, 232, 205)\",\n \"cornsilk3\": \"rgb(205, 200, 177)\",\n \"cornsilk4\": \"rgb(139, 136, 120)\",\n \"cyan\": \"rgb(0, 255, 255)\",\n \"cyan1\": \"rgb(0, 255, 255)\",\n \"cyan2\": \"rgb(0, 238, 238)\",\n \"cyan3\": \"rgb(0, 205, 205)\",\n \"cyan4\": \"rgb(0, 139, 139)\",\n \"darkblue\": \"rgb(0, 0, 139)\",\n \"darkcyan\": \"rgb(0, 139, 139)\",\n \"darkgoldenrod\": \"rgb(184, 134, 11)\",\n \"darkgoldenrod1\": \"rgb(255, 185, 15)\",\n \"darkgoldenrod2\": \"rgb(238, 173, 14)\",\n \"darkgoldenrod3\": \"rgb(205, 149, 12)\",\n \"darkgoldenrod4\": \"rgb(139, 101, 8)\",\n \"darkgray\": \"rgb(169, 169, 169)\",\n \"darkgreen\": \"rgb(0, 100, 0)\",\n \"darkgrey\": \"rgb(169, 169, 169)\",\n \"darkkhaki\": \"rgb(189, 183, 107)\",\n \"darkmagenta\": \"rgb(139, 0, 139)\",\n \"darkolivegreen\": \"rgb(85, 107, 47)\",\n \"darkolivegreen1\": \"rgb(202, 255, 112)\",\n \"darkolivegreen2\": \"rgb(188, 238, 104)\",\n \"darkolivegreen3\": \"rgb(162, 205, 90)\",\n \"darkolivegreen4\": \"rgb(110, 139, 61)\",\n \"darkorange\": \"rgb(255, 140, 0)\",\n \"darkorange1\": \"rgb(255, 127, 0)\",\n \"darkorange2\": \"rgb(238, 118, 0)\",\n \"darkorange3\": \"rgb(205, 102, 0)\",\n \"darkorange4\": \"rgb(139, 69, 0)\",\n \"darkorchid\": \"rgb(153, 50, 204)\",\n \"darkorchid1\": \"rgb(191, 62, 255)\",\n \"darkorchid2\": \"rgb(178, 58, 238)\",\n \"darkorchid3\": \"rgb(154, 50, 205)\",\n \"darkorchid4\": \"rgb(104, 34, 139)\",\n \"darkred\": \"rgb(139, 0, 0)\",\n \"darksalmon\": \"rgb(233, 150, 122)\",\n \"darkseagreen\": \"rgb(143, 188, 143)\",\n \"darkseagreen1\": \"rgb(193, 255, 193)\",\n \"darkseagreen2\": \"rgb(180, 238, 180)\",\n \"darkseagreen3\": \"rgb(155, 205, 155)\",\n \"darkseagreen4\": \"rgb(105, 139, 105)\",\n \"darkslateblue\": \"rgb(72, 61, 139)\",\n \"darkslategray\": \"rgb(47, 79, 79)\",\n \"darkslategray1\": \"rgb(151, 255, 255)\",\n \"darkslategray2\": \"rgb(141, 238, 238)\",\n \"darkslategray3\": \"rgb(121, 205, 205)\",\n \"darkslategray4\": \"rgb(82, 139, 139)\",\n \"darkslategrey\": \"rgb(47, 79, 79)\",\n \"darkturquoise\": \"rgb(0, 206, 209)\",\n \"darkviolet\": \"rgb(148, 0, 211)\",\n \"debianred\": \"rgb(215, 7, 81)\",\n \"deeppink\": \"rgb(255, 20, 147)\",\n \"deeppink1\": \"rgb(255, 20, 147)\",\n \"deeppink2\": \"rgb(238, 18, 137)\",\n \"deeppink3\": \"rgb(205, 16, 118)\",\n \"deeppink4\": \"rgb(139, 10, 80)\",\n \"deepskyblue\": \"rgb(0, 191, 255)\",\n \"deepskyblue1\": \"rgb(0, 191, 255)\",\n \"deepskyblue2\": \"rgb(0, 178, 238)\",\n \"deepskyblue3\": \"rgb(0, 154, 205)\",\n \"deepskyblue4\": \"rgb(0, 104, 139)\",\n \"dimgray\": \"rgb(105, 105, 105)\",\n \"dimgrey\": \"rgb(105, 105, 105)\",\n \"dodgerblue\": \"rgb(30, 144, 255)\",\n \"dodgerblue1\": \"rgb(30, 144, 255)\",\n \"dodgerblue2\": \"rgb(28, 134, 238)\",\n \"dodgerblue3\": \"rgb(24, 116, 205)\",\n \"dodgerblue4\": \"rgb(16, 78, 139)\",\n \"firebrick\": \"rgb(178, 34, 34)\",\n \"firebrick1\": \"rgb(255, 48, 48)\",\n \"firebrick2\": \"rgb(238, 44, 44)\",\n \"firebrick3\": \"rgb(205, 38, 38)\",\n \"firebrick4\": \"rgb(139, 26, 26)\",\n \"floralwhite\": \"rgb(255, 250, 240)\",\n \"forestgreen\": \"rgb(34, 139, 34)\",\n \"gainsboro\": \"rgb(220, 220, 220)\",\n \"ghostwhite\": \"rgb(248, 248, 255)\",\n \"gold\": \"rgb(255, 215, 0)\",\n \"gold1\": \"rgb(255, 215, 0)\",\n \"gold2\": \"rgb(238, 201, 0)\",\n \"gold3\": \"rgb(205, 173, 0)\",\n \"gold4\": \"rgb(139, 117, 0)\",\n \"goldenrod\": \"rgb(218, 165, 32)\",\n \"goldenrod1\": \"rgb(255, 193, 37)\",\n \"goldenrod2\": \"rgb(238, 180, 34)\",\n \"goldenrod3\": \"rgb(205, 155, 29)\",\n \"goldenrod4\": \"rgb(139, 105, 20)\",\n \"gray\": \"rgb(190, 190, 190)\",\n \"gray0\": \"rgb(0, 0, 0)\",\n \"gray1\": \"rgb(3, 3, 3)\",\n \"gray10\": \"rgb(26, 26, 26)\",\n \"gray100\": \"rgb(255, 255, 255)\",\n \"gray11\": \"rgb(28, 28, 28)\",\n \"gray12\": \"rgb(31, 31, 31)\",\n \"gray13\": \"rgb(33, 33, 33)\",\n \"gray14\": \"rgb(36, 36, 36)\",\n \"gray15\": \"rgb(38, 38, 38)\",\n \"gray16\": \"rgb(41, 41, 41)\",\n \"gray17\": \"rgb(43, 43, 43)\",\n \"gray18\": \"rgb(46, 46, 46)\",\n \"gray19\": \"rgb(48, 48, 48)\",\n \"gray2\": \"rgb(5, 5, 5)\",\n \"gray20\": \"rgb(51, 51, 51)\",\n \"gray21\": \"rgb(54, 54, 54)\",\n \"gray22\": \"rgb(56, 56, 56)\",\n \"gray23\": \"rgb(59, 59, 59)\",\n \"gray24\": \"rgb(61, 61, 61)\",\n \"gray25\": \"rgb(64, 64, 64)\",\n \"gray26\": \"rgb(66, 66, 66)\",\n \"gray27\": \"rgb(69, 69, 69)\",\n \"gray28\": \"rgb(71, 71, 71)\",\n \"gray29\": \"rgb(74, 74, 74)\",\n \"gray3\": \"rgb(8, 8, 8)\",\n \"gray30\": \"rgb(77, 77, 77)\",\n \"gray31\": \"rgb(79, 79, 79)\",\n \"gray32\": \"rgb(82, 82, 82)\",\n \"gray33\": \"rgb(84, 84, 84)\",\n \"gray34\": \"rgb(87, 87, 87)\",\n \"gray35\": \"rgb(89, 89, 89)\",\n \"gray36\": \"rgb(92, 92, 92)\",\n \"gray37\": \"rgb(94, 94, 94)\",\n \"gray38\": \"rgb(97, 97, 97)\",\n \"gray39\": \"rgb(99, 99, 99)\",\n \"gray4\": \"rgb(10, 10, 10)\",\n \"gray40\": \"rgb(102, 102, 102)\",\n \"gray41\": \"rgb(105, 105, 105)\",\n \"gray42\": \"rgb(107, 107, 107)\",\n \"gray43\": \"rgb(110, 110, 110)\",\n \"gray44\": \"rgb(112, 112, 112)\",\n \"gray45\": \"rgb(115, 115, 115)\",\n \"gray46\": \"rgb(117, 117, 117)\",\n \"gray47\": \"rgb(120, 120, 120)\",\n \"gray48\": \"rgb(122, 122, 122)\",\n \"gray49\": \"rgb(125, 125, 125)\",\n \"gray5\": \"rgb(13, 13, 13)\",\n \"gray50\": \"rgb(127, 127, 127)\",\n \"gray51\": \"rgb(130, 130, 130)\",\n \"gray52\": \"rgb(133, 133, 133)\",\n \"gray53\": \"rgb(135, 135, 135)\",\n \"gray54\": \"rgb(138, 138, 138)\",\n \"gray55\": \"rgb(140, 140, 140)\",\n \"gray56\": \"rgb(143, 143, 143)\",\n \"gray57\": \"rgb(145, 145, 145)\",\n \"gray58\": \"rgb(148, 148, 148)\",\n \"gray59\": \"rgb(150, 150, 150)\",\n \"gray6\": \"rgb(15, 15, 15)\",\n \"gray60\": \"rgb(153, 153, 153)\",\n \"gray61\": \"rgb(156, 156, 156)\",\n \"gray62\": \"rgb(158, 158, 158)\",\n \"gray63\": \"rgb(161, 161, 161)\",\n \"gray64\": \"rgb(163, 163, 163)\",\n \"gray65\": \"rgb(166, 166, 166)\",\n \"gray66\": \"rgb(168, 168, 168)\",\n \"gray67\": \"rgb(171, 171, 171)\",\n \"gray68\": \"rgb(173, 173, 173)\",\n \"gray69\": \"rgb(176, 176, 176)\",\n \"gray7\": \"rgb(18, 18, 18)\",\n \"gray70\": \"rgb(179, 179, 179)\",\n \"gray71\": \"rgb(181, 181, 181)\",\n \"gray72\": \"rgb(184, 184, 184)\",\n \"gray73\": \"rgb(186, 186, 186)\",\n \"gray74\": \"rgb(189, 189, 189)\",\n \"gray75\": \"rgb(191, 191, 191)\",\n \"gray76\": \"rgb(194, 194, 194)\",\n \"gray77\": \"rgb(196, 196, 196)\",\n \"gray78\": \"rgb(199, 199, 199)\",\n \"gray79\": \"rgb(201, 201, 201)\",\n \"gray8\": \"rgb(20, 20, 20)\",\n \"gray80\": \"rgb(204, 204, 204)\",\n \"gray81\": \"rgb(207, 207, 207)\",\n \"gray82\": \"rgb(209, 209, 209)\",\n \"gray83\": \"rgb(212, 212, 212)\",\n \"gray84\": \"rgb(214, 214, 214)\",\n \"gray85\": \"rgb(217, 217, 217)\",\n \"gray86\": \"rgb(219, 219, 219)\",\n \"gray87\": \"rgb(222, 222, 222)\",\n \"gray88\": \"rgb(224, 224, 224)\",\n \"gray89\": \"rgb(227, 227, 227)\",\n \"gray9\": \"rgb(23, 23, 23)\",\n \"gray90\": \"rgb(229, 229, 229)\",\n \"gray91\": \"rgb(232, 232, 232)\",\n \"gray92\": \"rgb(235, 235, 235)\",\n \"gray93\": \"rgb(237, 237, 237)\",\n \"gray94\": \"rgb(240, 240, 240)\",\n \"gray95\": \"rgb(242, 242, 242)\",\n \"gray96\": \"rgb(245, 245, 245)\",\n \"gray97\": \"rgb(247, 247, 247)\",\n \"gray98\": \"rgb(250, 250, 250)\",\n \"gray99\": \"rgb(252, 252, 252)\",\n \"green\": \"rgb(0, 255, 0)\",\n \"green1\": \"rgb(0, 255, 0)\",\n \"green2\": \"rgb(0, 238, 0)\",\n \"green3\": \"rgb(0, 205, 0)\",\n \"green4\": \"rgb(0, 139, 0)\",\n \"greenyellow\": \"rgb(173, 255, 47)\",\n \"grey\": \"rgb(190, 190, 190)\",\n \"grey0\": \"rgb(0, 0, 0)\",\n \"grey1\": \"rgb(3, 3, 3)\",\n \"grey10\": \"rgb(26, 26, 26)\",\n \"grey100\": \"rgb(255, 255, 255)\",\n \"grey11\": \"rgb(28, 28, 28)\",\n \"grey12\": \"rgb(31, 31, 31)\",\n \"grey13\": \"rgb(33, 33, 33)\",\n \"grey14\": \"rgb(36, 36, 36)\",\n \"grey15\": \"rgb(38, 38, 38)\",\n \"grey16\": \"rgb(41, 41, 41)\",\n \"grey17\": \"rgb(43, 43, 43)\",\n \"grey18\": \"rgb(46, 46, 46)\",\n \"grey19\": \"rgb(48, 48, 48)\",\n \"grey2\": \"rgb(5, 5, 5)\",\n \"grey20\": \"rgb(51, 51, 51)\",\n \"grey21\": \"rgb(54, 54, 54)\",\n \"grey22\": \"rgb(56, 56, 56)\",\n \"grey23\": \"rgb(59, 59, 59)\",\n \"grey24\": \"rgb(61, 61, 61)\",\n \"grey25\": \"rgb(64, 64, 64)\",\n \"grey26\": \"rgb(66, 66, 66)\",\n \"grey27\": \"rgb(69, 69, 69)\",\n \"grey28\": \"rgb(71, 71, 71)\",\n \"grey29\": \"rgb(74, 74, 74)\",\n \"grey3\": \"rgb(8, 8, 8)\",\n \"grey30\": \"rgb(77, 77, 77)\",\n \"grey31\": \"rgb(79, 79, 79)\",\n \"grey32\": \"rgb(82, 82, 82)\",\n \"grey33\": \"rgb(84, 84, 84)\",\n \"grey34\": \"rgb(87, 87, 87)\",\n \"grey35\": \"rgb(89, 89, 89)\",\n \"grey36\": \"rgb(92, 92, 92)\",\n \"grey37\": \"rgb(94, 94, 94)\",\n \"grey38\": \"rgb(97, 97, 97)\",\n \"grey39\": \"rgb(99, 99, 99)\",\n \"grey4\": \"rgb(10, 10, 10)\",\n \"grey40\": \"rgb(102, 102, 102)\",\n \"grey41\": \"rgb(105, 105, 105)\",\n \"grey42\": \"rgb(107, 107, 107)\",\n \"grey43\": \"rgb(110, 110, 110)\",\n \"grey44\": \"rgb(112, 112, 112)\",\n \"grey45\": \"rgb(115, 115, 115)\",\n \"grey46\": \"rgb(117, 117, 117)\",\n \"grey47\": \"rgb(120, 120, 120)\",\n \"grey48\": \"rgb(122, 122, 122)\",\n \"grey49\": \"rgb(125, 125, 125)\",\n \"grey5\": \"rgb(13, 13, 13)\",\n \"grey50\": \"rgb(127, 127, 127)\",\n \"grey51\": \"rgb(130, 130, 130)\",\n \"grey52\": \"rgb(133, 133, 133)\",\n \"grey53\": \"rgb(135, 135, 135)\",\n \"grey54\": \"rgb(138, 138, 138)\",\n \"grey55\": \"rgb(140, 140, 140)\",\n \"grey56\": \"rgb(143, 143, 143)\",\n \"grey57\": \"rgb(145, 145, 145)\",\n \"grey58\": \"rgb(148, 148, 148)\",\n \"grey59\": \"rgb(150, 150, 150)\",\n \"grey6\": \"rgb(15, 15, 15)\",\n \"grey60\": \"rgb(153, 153, 153)\",\n \"grey61\": \"rgb(156, 156, 156)\",\n \"grey62\": \"rgb(158, 158, 158)\",\n \"grey63\": \"rgb(161, 161, 161)\",\n \"grey64\": \"rgb(163, 163, 163)\",\n \"grey65\": \"rgb(166, 166, 166)\",\n \"grey66\": \"rgb(168, 168, 168)\",\n \"grey67\": \"rgb(171, 171, 171)\",\n \"grey68\": \"rgb(173, 173, 173)\",\n \"grey69\": \"rgb(176, 176, 176)\",\n \"grey7\": \"rgb(18, 18, 18)\",\n \"grey70\": \"rgb(179, 179, 179)\",\n \"grey71\": \"rgb(181, 181, 181)\",\n \"grey72\": \"rgb(184, 184, 184)\",\n \"grey73\": \"rgb(186, 186, 186)\",\n \"grey74\": \"rgb(189, 189, 189)\",\n \"grey75\": \"rgb(191, 191, 191)\",\n \"grey76\": \"rgb(194, 194, 194)\",\n \"grey77\": \"rgb(196, 196, 196)\",\n \"grey78\": \"rgb(199, 199, 199)\",\n \"grey79\": \"rgb(201, 201, 201)\",\n \"grey8\": \"rgb(20, 20, 20)\",\n \"grey80\": \"rgb(204, 204, 204)\",\n \"grey81\": \"rgb(207, 207, 207)\",\n \"grey82\": \"rgb(209, 209, 209)\",\n \"grey83\": \"rgb(212, 212, 212)\",\n \"grey84\": \"rgb(214, 214, 214)\",\n \"grey85\": \"rgb(217, 217, 217)\",\n \"grey86\": \"rgb(219, 219, 219)\",\n \"grey87\": \"rgb(222, 222, 222)\",\n \"grey88\": \"rgb(224, 224, 224)\",\n \"grey89\": \"rgb(227, 227, 227)\",\n \"grey9\": \"rgb(23, 23, 23)\",\n \"grey90\": \"rgb(229, 229, 229)\",\n \"grey91\": \"rgb(232, 232, 232)\",\n \"grey92\": \"rgb(235, 235, 235)\",\n \"grey93\": \"rgb(237, 237, 237)\",\n \"grey94\": \"rgb(240, 240, 240)\",\n \"grey95\": \"rgb(242, 242, 242)\",\n \"grey96\": \"rgb(245, 245, 245)\",\n \"grey97\": \"rgb(247, 247, 247)\",\n \"grey98\": \"rgb(250, 250, 250)\",\n \"grey99\": \"rgb(252, 252, 252)\",\n \"honeydew\": \"rgb(240, 255, 240)\",\n \"honeydew1\": \"rgb(240, 255, 240)\",\n \"honeydew2\": \"rgb(224, 238, 224)\",\n \"honeydew3\": \"rgb(193, 205, 193)\",\n \"honeydew4\": \"rgb(131, 139, 131)\",\n \"hotpink\": \"rgb(255, 105, 180)\",\n \"hotpink1\": \"rgb(255, 110, 180)\",\n \"hotpink2\": \"rgb(238, 106, 167)\",\n \"hotpink3\": \"rgb(205, 96, 144)\",\n \"hotpink4\": \"rgb(139, 58, 98)\",\n \"indianred\": \"rgb(205, 92, 92)\",\n \"indianred1\": \"rgb(255, 106, 106)\",\n \"indianred2\": \"rgb(238, 99, 99)\",\n \"indianred3\": \"rgb(205, 85, 85)\",\n \"indianred4\": \"rgb(139, 58, 58)\",\n \"ivory\": \"rgb(255, 255, 240)\",\n \"ivory1\": \"rgb(255, 255, 240)\",\n \"ivory2\": \"rgb(238, 238, 224)\",\n \"ivory3\": \"rgb(205, 205, 193)\",\n \"ivory4\": \"rgb(139, 139, 131)\",\n \"khaki\": \"rgb(240, 230, 140)\",\n \"khaki1\": \"rgb(255, 246, 143)\",\n \"khaki2\": \"rgb(238, 230, 133)\",\n \"khaki3\": \"rgb(205, 198, 115)\",\n \"khaki4\": \"rgb(139, 134, 78)\",\n \"lavender\": \"rgb(230, 230, 250)\",\n \"lavenderblush\": \"rgb(255, 240, 245)\",\n \"lavenderblush1\": \"rgb(255, 240, 245)\",\n \"lavenderblush2\": \"rgb(238, 224, 229)\",\n \"lavenderblush3\": \"rgb(205, 193, 197)\",\n \"lavenderblush4\": \"rgb(139, 131, 134)\",\n \"lawngreen\": \"rgb(124, 252, 0)\",\n \"lemonchiffon\": \"rgb(255, 250, 205)\",\n \"lemonchiffon1\": \"rgb(255, 250, 205)\",\n \"lemonchiffon2\": \"rgb(238, 233, 191)\",\n \"lemonchiffon3\": \"rgb(205, 201, 165)\",\n \"lemonchiffon4\": \"rgb(139, 137, 112)\",\n \"lightblue\": \"rgb(173, 216, 230)\",\n \"lightblue1\": \"rgb(191, 239, 255)\",\n \"lightblue2\": \"rgb(178, 223, 238)\",\n \"lightblue3\": \"rgb(154, 192, 205)\",\n \"lightblue4\": \"rgb(104, 131, 139)\",\n \"lightcoral\": \"rgb(240, 128, 128)\",\n \"lightcyan\": \"rgb(224, 255, 255)\",\n \"lightcyan1\": \"rgb(224, 255, 255)\",\n \"lightcyan2\": \"rgb(209, 238, 238)\",\n \"lightcyan3\": \"rgb(180, 205, 205)\",\n \"lightcyan4\": \"rgb(122, 139, 139)\",\n \"lightgoldenrod\": \"rgb(238, 221, 130)\",\n \"lightgoldenrod1\": \"rgb(255, 236, 139)\",\n \"lightgoldenrod2\": \"rgb(238, 220, 130)\",\n \"lightgoldenrod3\": \"rgb(205, 190, 112)\",\n \"lightgoldenrod4\": \"rgb(139, 129, 76)\",\n \"lightgoldenrodyellow\": \"rgb(250, 250, 210)\",\n \"lightgray\": \"rgb(211, 211, 211)\",\n \"lightgreen\": \"rgb(144, 238, 144)\",\n \"lightgrey\": \"rgb(211, 211, 211)\",\n \"lightpink\": \"rgb(255, 182, 193)\",\n \"lightpink1\": \"rgb(255, 174, 185)\",\n \"lightpink2\": \"rgb(238, 162, 173)\",\n \"lightpink3\": \"rgb(205, 140, 149)\",\n \"lightpink4\": \"rgb(139, 95, 101)\",\n \"lightsalmon\": \"rgb(255, 160, 122)\",\n \"lightsalmon1\": \"rgb(255, 160, 122)\",\n \"lightsalmon2\": \"rgb(238, 149, 114)\",\n \"lightsalmon3\": \"rgb(205, 129, 98)\",\n \"lightsalmon4\": \"rgb(139, 87, 66)\",\n \"lightseagreen\": \"rgb(32, 178, 170)\",\n \"lightskyblue\": \"rgb(135, 206, 250)\",\n \"lightskyblue1\": \"rgb(176, 226, 255)\",\n \"lightskyblue2\": \"rgb(164, 211, 238)\",\n \"lightskyblue3\": \"rgb(141, 182, 205)\",\n \"lightskyblue4\": \"rgb(96, 123, 139)\",\n \"lightslateblue\": \"rgb(132, 112, 255)\",\n \"lightslategray\": \"rgb(119, 136, 153)\",\n \"lightslategrey\": \"rgb(119, 136, 153)\",\n \"lightsteelblue\": \"rgb(176, 196, 222)\",\n \"lightsteelblue1\": \"rgb(202, 225, 255)\",\n \"lightsteelblue2\": \"rgb(188, 210, 238)\",\n \"lightsteelblue3\": \"rgb(162, 181, 205)\",\n \"lightsteelblue4\": \"rgb(110, 123, 139)\",\n \"lightyellow\": \"rgb(255, 255, 224)\",\n \"lightyellow1\": \"rgb(255, 255, 224)\",\n \"lightyellow2\": \"rgb(238, 238, 209)\",\n \"lightyellow3\": \"rgb(205, 205, 180)\",\n \"lightyellow4\": \"rgb(139, 139, 122)\",\n \"limegreen\": \"rgb(50, 205, 50)\",\n \"linen\": \"rgb(250, 240, 230)\",\n \"magenta\": \"rgb(255, 0, 255)\",\n \"magenta1\": \"rgb(255, 0, 255)\",\n \"magenta2\": \"rgb(238, 0, 238)\",\n \"magenta3\": \"rgb(205, 0, 205)\",\n \"magenta4\": \"rgb(139, 0, 139)\",\n \"maroon\": \"rgb(176, 48, 96)\",\n \"maroon1\": \"rgb(255, 52, 179)\",\n \"maroon2\": \"rgb(238, 48, 167)\",\n \"maroon3\": \"rgb(205, 41, 144)\",\n \"maroon4\": \"rgb(139, 28, 98)\",\n \"mediumaquamarine\": \"rgb(102, 205, 170)\",\n \"mediumblue\": \"rgb(0, 0, 205)\",\n \"mediumorchid\": \"rgb(186, 85, 211)\",\n \"mediumorchid1\": \"rgb(224, 102, 255)\",\n \"mediumorchid2\": \"rgb(209, 95, 238)\",\n \"mediumorchid3\": \"rgb(180, 82, 205)\",\n \"mediumorchid4\": \"rgb(122, 55, 139)\",\n \"mediumpurple\": \"rgb(147, 112, 219)\",\n \"mediumpurple1\": \"rgb(171, 130, 255)\",\n \"mediumpurple2\": \"rgb(159, 121, 238)\",\n \"mediumpurple3\": \"rgb(137, 104, 205)\",\n \"mediumpurple4\": \"rgb(93, 71, 139)\",\n \"mediumseagreen\": \"rgb(60, 179, 113)\",\n \"mediumslateblue\": \"rgb(123, 104, 238)\",\n \"mediumspringgreen\": \"rgb(0, 250, 154)\",\n \"mediumturquoise\": \"rgb(72, 209, 204)\",\n \"mediumvioletred\": \"rgb(199, 21, 133)\",\n \"midnightblue\": \"rgb(25, 25, 112)\",\n \"mintcream\": \"rgb(245, 255, 250)\",\n \"mistyrose\": \"rgb(255, 228, 225)\",\n \"mistyrose1\": \"rgb(255, 228, 225)\",\n \"mistyrose2\": \"rgb(238, 213, 210)\",\n \"mistyrose3\": \"rgb(205, 183, 181)\",\n \"mistyrose4\": \"rgb(139, 125, 123)\",\n \"moccasin\": \"rgb(255, 228, 181)\",\n \"navajowhite\": \"rgb(255, 222, 173)\",\n \"navajowhite1\": \"rgb(255, 222, 173)\",\n \"navajowhite2\": \"rgb(238, 207, 161)\",\n \"navajowhite3\": \"rgb(205, 179, 139)\",\n \"navajowhite4\": \"rgb(139, 121, 94)\",\n \"navy\": \"rgb(0, 0, 128)\",\n \"navyblue\": \"rgb(0, 0, 128)\",\n \"oldlace\": \"rgb(253, 245, 230)\",\n \"olivedrab\": \"rgb(107, 142, 35)\",\n \"olivedrab1\": \"rgb(192, 255, 62)\",\n \"olivedrab2\": \"rgb(179, 238, 58)\",\n \"olivedrab3\": \"rgb(154, 205, 50)\",\n \"olivedrab4\": \"rgb(105, 139, 34)\",\n \"orange\": \"rgb(255, 165, 0)\",\n \"orange1\": \"rgb(255, 165, 0)\",\n \"orange2\": \"rgb(238, 154, 0)\",\n \"orange3\": \"rgb(205, 133, 0)\",\n \"orange4\": \"rgb(139, 90, 0)\",\n \"orangered\": \"rgb(255, 69, 0)\",\n \"orangered1\": \"rgb(255, 69, 0)\",\n \"orangered2\": \"rgb(238, 64, 0)\",\n \"orangered3\": \"rgb(205, 55, 0)\",\n \"orangered4\": \"rgb(139, 37, 0)\",\n \"orchid\": \"rgb(218, 112, 214)\",\n \"orchid1\": \"rgb(255, 131, 250)\",\n \"orchid2\": \"rgb(238, 122, 233)\",\n \"orchid3\": \"rgb(205, 105, 201)\",\n \"orchid4\": \"rgb(139, 71, 137)\",\n \"palegoldenrod\": \"rgb(238, 232, 170)\",\n \"palegreen\": \"rgb(152, 251, 152)\",\n \"palegreen1\": \"rgb(154, 255, 154)\",\n \"palegreen2\": \"rgb(144, 238, 144)\",\n \"palegreen3\": \"rgb(124, 205, 124)\",\n \"palegreen4\": \"rgb(84, 139, 84)\",\n \"paleturquoise\": \"rgb(175, 238, 238)\",\n \"paleturquoise1\": \"rgb(187, 255, 255)\",\n \"paleturquoise2\": \"rgb(174, 238, 238)\",\n \"paleturquoise3\": \"rgb(150, 205, 205)\",\n \"paleturquoise4\": \"rgb(102, 139, 139)\",\n \"palevioletred\": \"rgb(219, 112, 147)\",\n \"palevioletred1\": \"rgb(255, 130, 171)\",\n \"palevioletred2\": \"rgb(238, 121, 159)\",\n \"palevioletred3\": \"rgb(205, 104, 137)\",\n \"palevioletred4\": \"rgb(139, 71, 93)\",\n \"papayawhip\": \"rgb(255, 239, 213)\",\n \"peachpuff\": \"rgb(255, 218, 185)\",\n \"peachpuff1\": \"rgb(255, 218, 185)\",\n \"peachpuff2\": \"rgb(238, 203, 173)\",\n \"peachpuff3\": \"rgb(205, 175, 149)\",\n \"peachpuff4\": \"rgb(139, 119, 101)\",\n \"peru\": \"rgb(205, 133, 63)\",\n \"pink\": \"rgb(255, 192, 203)\",\n \"pink1\": \"rgb(255, 181, 197)\",\n \"pink2\": \"rgb(238, 169, 184)\",\n \"pink3\": \"rgb(205, 145, 158)\",\n \"pink4\": \"rgb(139, 99, 108)\",\n \"plum\": \"rgb(221, 160, 221)\",\n \"plum1\": \"rgb(255, 187, 255)\",\n \"plum2\": \"rgb(238, 174, 238)\",\n \"plum3\": \"rgb(205, 150, 205)\",\n \"plum4\": \"rgb(139, 102, 139)\",\n \"powderblue\": \"rgb(176, 224, 230)\",\n \"purple\": \"rgb(160, 32, 240)\",\n \"purple1\": \"rgb(155, 48, 255)\",\n \"purple2\": \"rgb(145, 44, 238)\",\n \"purple3\": \"rgb(125, 38, 205)\",\n \"purple4\": \"rgb(85, 26, 139)\",\n \"red\": \"rgb(255, 0, 0)\",\n \"red1\": \"rgb(255, 0, 0)\",\n \"red2\": \"rgb(238, 0, 0)\",\n \"red3\": \"rgb(205, 0, 0)\",\n \"red4\": \"rgb(139, 0, 0)\",\n \"rosybrown\": \"rgb(188, 143, 143)\",\n \"rosybrown1\": \"rgb(255, 193, 193)\",\n \"rosybrown2\": \"rgb(238, 180, 180)\",\n \"rosybrown3\": \"rgb(205, 155, 155)\",\n \"rosybrown4\": \"rgb(139, 105, 105)\",\n \"royalblue\": \"rgb(65, 105, 225)\",\n \"royalblue1\": \"rgb(72, 118, 255)\",\n \"royalblue2\": \"rgb(67, 110, 238)\",\n \"royalblue3\": \"rgb(58, 95, 205)\",\n \"royalblue4\": \"rgb(39, 64, 139)\",\n \"saddlebrown\": \"rgb(139, 69, 19)\",\n \"salmon\": \"rgb(250, 128, 114)\",\n \"salmon1\": \"rgb(255, 140, 105)\",\n \"salmon2\": \"rgb(238, 130, 98)\",\n \"salmon3\": \"rgb(205, 112, 84)\",\n \"salmon4\": \"rgb(139, 76, 57)\",\n \"sandybrown\": \"rgb(244, 164, 96)\",\n \"seagreen\": \"rgb(46, 139, 87)\",\n \"seagreen1\": \"rgb(84, 255, 159)\",\n \"seagreen2\": \"rgb(78, 238, 148)\",\n \"seagreen3\": \"rgb(67, 205, 128)\",\n \"seagreen4\": \"rgb(46, 139, 87)\",\n \"seashell\": \"rgb(255, 245, 238)\",\n \"seashell1\": \"rgb(255, 245, 238)\",\n \"seashell2\": \"rgb(238, 229, 222)\",\n \"seashell3\": \"rgb(205, 197, 191)\",\n \"seashell4\": \"rgb(139, 134, 130)\",\n \"sienna\": \"rgb(160, 82, 45)\",\n \"sienna1\": \"rgb(255, 130, 71)\",\n \"sienna2\": \"rgb(238, 121, 66)\",\n \"sienna3\": \"rgb(205, 104, 57)\",\n \"sienna4\": \"rgb(139, 71, 38)\",\n \"skyblue\": \"rgb(135, 206, 235)\",\n \"skyblue1\": \"rgb(135, 206, 255)\",\n \"skyblue2\": \"rgb(126, 192, 238)\",\n \"skyblue3\": \"rgb(108, 166, 205)\",\n \"skyblue4\": \"rgb(74, 112, 139)\",\n \"slateblue\": \"rgb(106, 90, 205)\",\n \"slateblue1\": \"rgb(131, 111, 255)\",\n \"slateblue2\": \"rgb(122, 103, 238)\",\n \"slateblue3\": \"rgb(105, 89, 205)\",\n \"slateblue4\": \"rgb(71, 60, 139)\",\n \"slategray\": \"rgb(112, 128, 144)\",\n \"slategray1\": \"rgb(198, 226, 255)\",\n \"slategray2\": \"rgb(185, 211, 238)\",\n \"slategray3\": \"rgb(159, 182, 205)\",\n \"slategray4\": \"rgb(108, 123, 139)\",\n \"slategrey\": \"rgb(112, 128, 144)\",\n \"snow\": \"rgb(255, 250, 250)\",\n \"snow1\": \"rgb(255, 250, 250)\",\n \"snow2\": \"rgb(238, 233, 233)\",\n \"snow3\": \"rgb(205, 201, 201)\",\n \"snow4\": \"rgb(139, 137, 137)\",\n \"springgreen\": \"rgb(0, 255, 127)\",\n \"springgreen1\": \"rgb(0, 255, 127)\",\n \"springgreen2\": \"rgb(0, 238, 118)\",\n \"springgreen3\": \"rgb(0, 205, 102)\",\n \"springgreen4\": \"rgb(0, 139, 69)\",\n \"steelblue\": \"rgb(70, 130, 180)\",\n \"steelblue1\": \"rgb(99, 184, 255)\",\n \"steelblue2\": \"rgb(92, 172, 238)\",\n \"steelblue3\": \"rgb(79, 148, 205)\",\n \"steelblue4\": \"rgb(54, 100, 139)\",\n \"tan\": \"rgb(210, 180, 140)\",\n \"tan1\": \"rgb(255, 165, 79)\",\n \"tan2\": \"rgb(238, 154, 73)\",\n \"tan3\": \"rgb(205, 133, 63)\",\n \"tan4\": \"rgb(139, 90, 43)\",\n \"thistle\": \"rgb(216, 191, 216)\",\n \"thistle1\": \"rgb(255, 225, 255)\",\n \"thistle2\": \"rgb(238, 210, 238)\",\n \"thistle3\": \"rgb(205, 181, 205)\",\n \"thistle4\": \"rgb(139, 123, 139)\",\n \"tomato\": \"rgb(255, 99, 71)\",\n \"tomato1\": \"rgb(255, 99, 71)\",\n \"tomato2\": \"rgb(238, 92, 66)\",\n \"tomato3\": \"rgb(205, 79, 57)\",\n \"tomato4\": \"rgb(139, 54, 38)\",\n \"turquoise\": \"rgb(64, 224, 208)\",\n \"turquoise1\": \"rgb(0, 245, 255)\",\n \"turquoise2\": \"rgb(0, 229, 238)\",\n \"turquoise3\": \"rgb(0, 197, 205)\",\n \"turquoise4\": \"rgb(0, 134, 139)\",\n \"violet\": \"rgb(238, 130, 238)\",\n \"violetred\": \"rgb(208, 32, 144)\",\n \"violetred1\": \"rgb(255, 62, 150)\",\n \"violetred2\": \"rgb(238, 58, 140)\",\n \"violetred3\": \"rgb(205, 50, 120)\",\n \"violetred4\": \"rgb(139, 34, 82)\",\n \"wheat\": \"rgb(245, 222, 179)\",\n \"wheat1\": \"rgb(255, 231, 186)\",\n \"wheat2\": \"rgb(238, 216, 174)\",\n \"wheat3\": \"rgb(205, 186, 150)\",\n \"wheat4\": \"rgb(139, 126, 102)\",\n \"white\": \"rgb(255, 255, 255)\",\n \"whitesmoke\": \"rgb(245, 245, 245)\",\n \"yellow\": \"rgb(255, 255, 0)\",\n \"yellow1\": \"rgb(255, 255, 0)\",\n \"yellow2\": \"rgb(238, 238, 0)\",\n \"yellow3\": \"rgb(205, 205, 0)\",\n \"yellow4\": \"rgb(139, 139, 0)\",\n \"yellowgreen\": \"rgb(154, 205, 50)\"\n};\n// SOURCE FILE: libdot/js/lib_f.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Grab bag of utility functions.\n */\nlib.f = {};\n\n/**\n * Create a unique enum value.\n *\n * @suppress {lintChecks}\n * @param {string} name A human friendly name for debugging.\n * @return {Object} A unique enum that won't compare equal to anything else.\n */\nlib.f.createEnum = function(name) {\n // We use a String object as nothing else should be using them -- we want to\n // use string primitives normally. But debuggers will include our name.\n return new String(name);\n};\n\n/**\n * Replace variable references in a string.\n *\n * Variables are of the form %FUNCTION(VARNAME). FUNCTION is an optional\n * escape function to apply to the value.\n *\n * For example\n * lib.f.replaceVars(\"%(greeting), %encodeURIComponent(name)\",\n * { greeting: \"Hello\",\n * name: \"Google+\" });\n *\n * Will result in \"Hello, Google%2B\".\n */\nlib.f.replaceVars = function(str, vars) {\n return str.replace(/%([a-z]*)\\(([^\\)]+)\\)/gi, function(match, fn, varname) {\n if (typeof vars[varname] == 'undefined')\n throw 'Unknown variable: ' + varname;\n\n var rv = vars[varname];\n\n if (fn in lib.f.replaceVars.functions) {\n rv = lib.f.replaceVars.functions[fn](rv);\n } else if (fn) {\n throw 'Unknown escape function: ' + fn;\n }\n\n return rv;\n });\n};\n\n/**\n * Functions that can be used with replaceVars.\n *\n * Clients can add to this list to extend lib.f.replaceVars().\n */\nlib.f.replaceVars.functions = {\n encodeURI: encodeURI,\n encodeURIComponent: encodeURIComponent,\n escapeHTML: function(str) {\n var map = {\n '<': '<',\n '>': '>',\n '&': '&',\n '\"': '"',\n \"'\": '''\n };\n\n return str.replace(/[<>&\\\"\\']/g, function(m) { return map[m] });\n }\n};\n\n/**\n * Get the list of accepted UI languages.\n *\n * @param {function(Array)} callback Function to invoke with the results. The\n * parameter is a list of locale names.\n */\nlib.f.getAcceptLanguages = function(callback) {\n if (lib.f.getAcceptLanguages.chromeSupported()) {\n chrome.i18n.getAcceptLanguages(callback);\n } else {\n setTimeout(function() {\n callback([navigator.language.replace(/-/g, '_')]);\n }, 0);\n }\n};\n\nlib.f.getAcceptLanguages.chromeSupported = function() {\n return window.chrome && chrome.i18n;\n};\n\n/**\n * Parse a query string into a hash.\n *\n * This takes a url query string in the form 'name1=value&name2=value' and\n * converts it into an object of the form { name1: 'value', name2: 'value' }.\n * If a given name appears multiple times in the query string, only the\n * last value will appear in the result.\n *\n * Names and values are passed through decodeURIComponent before being added\n * to the result object.\n *\n * @param {string} queryString The string to parse. If it starts with a\n * leading '?', the '?' will be ignored.\n */\nlib.f.parseQuery = function(queryString) {\n if (queryString.startsWith('?'))\n queryString = queryString.substr(1);\n\n var rv = {};\n\n var pairs = queryString.split('&');\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i].split('=');\n rv[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n\n return rv;\n};\n\nlib.f.getURL = function(path) {\n if (lib.f.getURL.chromeSupported())\n return chrome.runtime.getURL(path);\n\n return path;\n};\n\nlib.f.getURL.chromeSupported = function() {\n return window.chrome && chrome.runtime && chrome.runtime.getURL;\n};\n\n/**\n * Clamp a given integer to a specified range.\n *\n * @param {integer} v The value to be clamped.\n * @param {integer} min The minimum acceptable value.\n * @param {integer} max The maximum acceptable value.\n */\nlib.f.clamp = function(v, min, max) {\n if (v < min)\n return min;\n if (v > max)\n return max;\n return v;\n};\n\n/**\n * Left pad a number to a given length with leading zeros.\n *\n * @param {string|integer} number The number to pad.\n * @param {integer} length The desired length.\n * @return {string} The padded number as a string.\n */\nlib.f.zpad = function(number, length) {\n return String(number).padStart(length, '0');\n};\n\n/**\n * Return a string containing a given number of space characters.\n *\n * This method maintains a static cache of the largest amount of whitespace\n * ever requested. It shouldn't be used to generate an insanely huge amount of\n * whitespace.\n *\n * @param {integer} length The desired amount of whitespace.\n * @param {string} A string of spaces of the requested length.\n */\nlib.f.getWhitespace = function(length) {\n if (length <= 0)\n return '';\n\n var f = this.getWhitespace;\n if (!f.whitespace)\n f.whitespace = ' ';\n\n while (length > f.whitespace.length) {\n f.whitespace += f.whitespace;\n }\n\n return f.whitespace.substr(0, length);\n};\n\n /**\n * Ensure that a function is called within a certain time limit.\n *\n * Simple usage looks like this...\n *\n * lib.registerInit(lib.f.alarm(onInit));\n *\n * This will log a warning to the console if onInit() is not invoked within\n * 5 seconds.\n *\n * If you're performing some operation that may take longer than 5 seconds you\n * can pass a duration in milliseconds as the optional second parameter.\n *\n * If you pass a string identifier instead of a callback function, you'll get a\n * wrapper generator rather than a single wrapper. Each call to the\n * generator will return a wrapped version of the callback wired to\n * a shared timeout. This is for cases where you want to ensure that at least\n * one of a set of callbacks is invoked before a timeout expires.\n *\n * var alarm = lib.f.alarm('fetch object');\n * lib.foo.fetchObject(alarm(onSuccess), alarm(onFailure));\n *\n * @param {function(*)} callback The function to wrap in an alarm.\n * @param {int} opt_ms Optional number of milliseconds to wait before raising\n * an alarm. Default is 5000 (5 seconds).\n * @return {function} If callback is a function then the return value will be\n * the wrapped callback. If callback is a string then the return value will\n * be a function that generates new wrapped callbacks.\n */\nlib.f.alarm = function(callback, opt_ms) {\n var ms = opt_ms || 5 * 1000;\n var stack = lib.f.getStack(1);\n\n return (function() {\n // This outer function is called immediately. It's here to capture a new\n // scope for the timeout variable.\n\n // The 'timeout' variable is shared by this timeout function, and the\n // callback wrapper.\n var timeout = setTimeout(function() {\n var name = (typeof callback == 'string') ? name : callback.name;\n name = name ? (': ' + name) : '';\n console.warn('lib.f.alarm: timeout expired: ' + (ms / 1000) + 's' + name);\n console.log(stack);\n timeout = null;\n }, ms);\n\n var wrapperGenerator = function(callback) {\n return function() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n\n return callback.apply(null, arguments);\n }\n };\n\n if (typeof callback == 'string')\n return wrapperGenerator;\n\n return wrapperGenerator(callback);\n })();\n};\n\n/**\n * Return the current call stack after skipping a given number of frames.\n *\n * This method is intended to be used for debugging only. It returns an\n * Object instead of an Array, because the console stringifies arrays by\n * default and that's not what we want.\n *\n * A typical call might look like...\n *\n * console.log('Something wicked this way came', lib.f.getStack());\n * // Notice the comma ^\n *\n * This would print the message to the js console, followed by an object\n * which can be clicked to reveal the stack.\n *\n * @param {number} opt_ignoreFrames The optional number of stack frames to\n * ignore. The actual 'getStack' call is always ignored.\n */\nlib.f.getStack = function(opt_ignoreFrames) {\n var ignoreFrames = opt_ignoreFrames ? opt_ignoreFrames + 2 : 2;\n\n var stackArray;\n\n try {\n throw new Error();\n } catch (ex) {\n stackArray = ex.stack.split('\\n');\n }\n\n var stackObject = {};\n for (var i = ignoreFrames; i < stackArray.length; i++) {\n stackObject[i - ignoreFrames] = stackArray[i].replace(/^\\s*at\\s+/, '');\n }\n\n return stackObject;\n};\n\n/**\n * Divides the two numbers and floors the results, unless the remainder is less\n * than an incredibly small value, in which case it returns the ceiling.\n * This is useful when the number are truncated approximations of longer\n * values, and so doing division with these numbers yields a result incredibly\n * close to a whole number.\n *\n * @param {number} numerator\n * @param {number} denominator\n * @return {number}\n */\nlib.f.smartFloorDivide = function(numerator, denominator) {\n var val = numerator / denominator;\n var ceiling = Math.ceil(val);\n if (ceiling - val < .0001) {\n return ceiling;\n } else {\n return Math.floor(val);\n }\n};\n\n/**\n * Get a random integer in a range (inclusive).\n *\n * @param {number} min The lowest integer in the range.\n * @param {number} max The highest integer in the range.\n * @return {number} A random number between min & max.\n */\nlib.f.randomInt = function(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\n// SOURCE FILE: libdot/js/lib_message_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * MessageManager class handles internationalized strings.\n *\n * Note: chrome.i18n isn't sufficient because...\n * 1. There's a bug in chrome that makes it unavailable in iframes:\n * https://crbug.com/130200\n * 2. The client code may not be packaged in a Chrome extension.\n * 3. The client code may be part of a library packaged in a third-party\n * Chrome extension.\n *\n * @param {Array} languages List of languages to load, in the order they\n * should be loaded. Newer messages replace older ones. 'en' is\n * automatically added as the first language if it is not already present.\n */\nlib.MessageManager = function(languages) {\n this.languages_ = languages.map(\n function(el) { return el.replace(/-/g, '_') });\n\n if (this.languages_.indexOf('en') == -1)\n this.languages_.unshift('en');\n\n this.messages = {};\n};\n\n/**\n * Add message definitions to the message manager.\n *\n * This takes an object of the same format of a Chrome messages.json file. See\n * .\n */\nlib.MessageManager.prototype.addMessages = function(defs) {\n for (var key in defs) {\n var def = defs[key];\n\n if (!def.placeholders) {\n this.messages[key] = def.message;\n } else {\n // Replace \"$NAME$\" placeholders with \"$1\", etc.\n this.messages[key] = def.message.replace(\n /\\$([a-z][^\\s\\$]+)\\$/ig,\n function(m, name) {\n return defs[key].placeholders[name.toLowerCase()].content;\n });\n }\n }\n};\n\n/**\n * Load the first available language message bundle.\n *\n * @param {string} pattern A url pattern containing a \"$1\" where the locale\n * name should go.\n * @param {function(Array,Array)} onComplete Function to be called when loading\n * is complete. The two arrays are the list of successful and failed\n * locale names. If the first parameter is length 0, no locales were\n * loaded.\n */\nlib.MessageManager.prototype.findAndLoadMessages = function(\n pattern, onComplete) {\n var languages = this.languages_.concat();\n var loaded = [];\n var failed = [];\n\n function onLanguageComplete(state) {\n if (state) {\n loaded = languages.shift();\n } else {\n failed = languages.shift();\n }\n\n if (languages.length) {\n tryNextLanguage();\n } else {\n onComplete(loaded, failed);\n }\n }\n\n var tryNextLanguage = function() {\n this.loadMessages(this.replaceReferences(pattern, languages),\n onLanguageComplete.bind(this, true),\n onLanguageComplete.bind(this, false));\n }.bind(this);\n\n tryNextLanguage();\n};\n\n/**\n * Load messages from a messages.json file.\n */\nlib.MessageManager.prototype.loadMessages = function(\n url, onSuccess, opt_onError) {\n var xhr = new XMLHttpRequest();\n\n xhr.onloadend = function() {\n if (xhr.status != 200) {\n if (opt_onError)\n opt_onError(xhr.status);\n\n return;\n }\n\n this.addMessages(JSON.parse(xhr.responseText));\n onSuccess();\n }.bind(this);\n\n xhr.open('GET', url);\n xhr.send();\n};\n\n/**\n * Replace $1...$n references with the elements of the args array.\n *\n * @param {string} msg String containing the message and argument references.\n * @param {Array} args Array containing the argument values.\n */\nlib.MessageManager.replaceReferences = function(msg, args) {\n return msg.replace(/\\$(\\d+)/g, function (m, index) {\n return args[index - 1];\n });\n};\n\n/**\n * Per-instance copy of replaceReferences.\n */\nlib.MessageManager.prototype.replaceReferences =\n lib.MessageManager.replaceReferences;\n\n/**\n * Get a message by name, optionally replacing arguments too.\n *\n * @param {string} msgname String containing the name of the message to get.\n * @param {Array} opt_args Optional array containing the argument values.\n * @param {string} opt_default Optional value to return if the msgname is not\n * found. Returns the message name by default.\n */\nlib.MessageManager.prototype.get = function(msgname, opt_args, opt_default) {\n var message;\n\n if (msgname in this.messages) {\n message = this.messages[msgname];\n\n } else {\n if (window.chrome.i18n)\n message = chrome.i18n.getMessage(msgname);\n\n if (!message) {\n console.warn('Unknown message: ' + msgname);\n return (typeof opt_default == 'undefined') ? msgname : opt_default;\n }\n }\n\n if (!opt_args)\n return message;\n\n if (!(opt_args instanceof Array))\n opt_args = [opt_args];\n\n return this.replaceReferences(message, opt_args);\n};\n\n/**\n * Process all of the \"i18n\" html attributes found in a given dom fragment.\n *\n * The real work happens in processI18nAttribute.\n */\nlib.MessageManager.prototype.processI18nAttributes = function(dom) {\n var nodes = dom.querySelectorAll('[i18n]');\n\n for (var i = 0; i < nodes.length; i++)\n this.processI18nAttribute(nodes[i]);\n};\n\n/**\n * Process the \"i18n\" attribute in the specified node.\n *\n * The i18n attribute should contain a JSON object. The keys are taken to\n * be attribute names, and the values are message names.\n *\n * If the JSON object has a \"_\" (underscore) key, its value is used as the\n * textContent of the element.\n *\n * Message names can refer to other attributes on the same element with by\n * prefixing with a dollar sign. For example...\n *\n * \n *\n * The aria-label message name will be computed as \"SEND_BUTTON_ARIA_LABEL\".\n * Notice that the \"id\" attribute was appended to the target attribute, and\n * the result converted to UPPER_AND_UNDER style.\n */\nlib.MessageManager.prototype.processI18nAttribute = function(node) {\n // Convert the \"lower-and-dashes\" attribute names into\n // \"UPPER_AND_UNDER\" style.\n function thunk(str) { return str.replace(/-/g, '_').toUpperCase() }\n\n var i18n = node.getAttribute('i18n');\n if (!i18n)\n return;\n\n try {\n i18n = JSON.parse(i18n);\n } catch (ex) {\n console.error('Can\\'t parse ' + node.tagName + '#' + node.id + ': ' + i18n);\n throw ex;\n }\n\n // Load all the messages specified in the i18n attributes.\n for (var key in i18n) {\n // The node attribute we'll be setting.\n var attr = key;\n\n var msgname = i18n[key];\n // For \"=foo\", re-use the referenced message name.\n if (msgname.startsWith('=')) {\n key = msgname.substr(1);\n msgname = i18n[key];\n }\n\n // For \"$foo\", calculate the message name.\n if (msgname.startsWith('$'))\n msgname = thunk(node.getAttribute(msgname.substr(1)) + '_' + key);\n\n // Finally load the message.\n var msg = this.get(msgname);\n if (attr == '_')\n node.textContent = msg;\n else\n node.setAttribute(attr, msg);\n }\n};\n// SOURCE FILE: libdot/js/lib_preference_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Constructor for lib.PreferenceManager objects.\n *\n * These objects deal with persisting changes to stable storage and notifying\n * consumers when preferences change.\n *\n * It is intended that the backing store could be something other than HTML5\n * storage, but there aren't any use cases at the moment. In the future there\n * may be a chrome api to store sync-able name/value pairs, and we'd want\n * that.\n *\n * @param {lib.Storage.*} storage The storage object to use as a backing\n * store.\n * @param {string} opt_prefix The optional prefix to be used for all preference\n * names. The '/' character should be used to separate levels of hierarchy,\n * if you're going to have that kind of thing. If provided, the prefix\n * should start with a '/'. If not provided, it defaults to '/'.\n */\nlib.PreferenceManager = function(storage, opt_prefix) {\n this.storage = storage;\n this.storageObserver_ = this.onStorageChange_.bind(this);\n\n this.isActive_ = false;\n this.activate();\n\n this.trace = false;\n\n var prefix = opt_prefix || '/';\n if (!prefix.endsWith('/'))\n prefix += '/';\n\n this.prefix = prefix;\n\n this.prefRecords_ = {};\n this.globalObservers_ = [];\n\n this.childFactories_ = {};\n\n // Map of list-name to {map of child pref managers}\n // As in...\n //\n // this.childLists_ = {\n // 'profile-ids': {\n // 'one': PreferenceManager,\n // 'two': PreferenceManager,\n // ...\n // },\n //\n // 'frob-ids': {\n // ...\n // }\n // }\n this.childLists_ = {};\n};\n\n/**\n * Used internally to indicate that the current value of the preference should\n * be taken from the default value defined with the preference.\n *\n * Equality tests against this value MUST use '===' or '!==' to be accurate.\n */\nlib.PreferenceManager.prototype.DEFAULT_VALUE = lib.f.createEnum('DEFAULT');\n\n/**\n * An individual preference.\n *\n * These objects are managed by the PreferenceManager, you shouldn't need to\n * handle them directly.\n */\nlib.PreferenceManager.Record = function(name, defaultValue) {\n this.name = name;\n this.defaultValue = defaultValue;\n this.currentValue = this.DEFAULT_VALUE;\n this.observers = [];\n};\n\n/**\n * A local copy of the DEFAULT_VALUE constant to make it less verbose.\n */\nlib.PreferenceManager.Record.prototype.DEFAULT_VALUE =\n lib.PreferenceManager.prototype.DEFAULT_VALUE;\n\n/**\n * Register a callback to be invoked when this preference changes.\n *\n * @param {function(value, string, lib.PreferenceManager} observer The function\n * to invoke. It will receive the new value, the name of the preference,\n * and a reference to the PreferenceManager as parameters.\n */\nlib.PreferenceManager.Record.prototype.addObserver = function(observer) {\n this.observers.push(observer);\n};\n\n/**\n * Unregister an observer callback.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.PreferenceManager.Record.prototype.removeObserver = function(observer) {\n var i = this.observers.indexOf(observer);\n if (i >= 0)\n this.observers.splice(i, 1);\n};\n\n/**\n * Fetch the value of this preference.\n */\nlib.PreferenceManager.Record.prototype.get = function() {\n if (this.currentValue === this.DEFAULT_VALUE) {\n if (/^(string|number)$/.test(typeof this.defaultValue))\n return this.defaultValue;\n\n if (typeof this.defaultValue == 'object') {\n // We want to return a COPY of the default value so that users can\n // modify the array or object without changing the default value.\n return JSON.parse(JSON.stringify(this.defaultValue));\n }\n\n return this.defaultValue;\n }\n\n return this.currentValue;\n};\n\n/**\n * Stop this preference manager from tracking storage changes.\n *\n * Call this if you're going to swap out one preference manager for another so\n * that you don't get notified about irrelevant changes.\n */\nlib.PreferenceManager.prototype.deactivate = function() {\n if (!this.isActive_)\n throw new Error('Not activated');\n\n this.isActive_ = false;\n this.storage.removeObserver(this.storageObserver_);\n};\n\n/**\n * Start tracking storage changes.\n *\n * If you previously deactivated this preference manager, you can reactivate it\n * with this method. You don't need to call this at initialization time, as\n * it's automatically called as part of the constructor.\n */\nlib.PreferenceManager.prototype.activate = function() {\n if (this.isActive_)\n throw new Error('Already activated');\n\n this.isActive_ = true;\n this.storage.addObserver(this.storageObserver_);\n};\n\n/**\n * Read the backing storage for these preferences.\n *\n * You should do this once at initialization time to prime the local cache\n * of preference values. The preference manager will monitor the backing\n * storage for changes, so you should not need to call this more than once.\n *\n * This function recursively reads storage for all child preference managers as\n * well.\n *\n * This function is asynchronous, if you need to read preference values, you\n * *must* wait for the callback.\n *\n * @param {function()} opt_callback Optional function to invoke when the read\n * has completed.\n */\nlib.PreferenceManager.prototype.readStorage = function(opt_callback) {\n var pendingChildren = 0;\n\n function onChildComplete() {\n if (--pendingChildren == 0 && opt_callback)\n opt_callback();\n }\n\n var keys = Object.keys(this.prefRecords_).map(\n function(el) { return this.prefix + el }.bind(this));\n\n if (this.trace)\n console.log('Preferences read: ' + this.prefix);\n\n this.storage.getItems(keys, function(items) {\n var prefixLength = this.prefix.length;\n\n for (var key in items) {\n var value = items[key];\n var name = key.substr(prefixLength);\n var needSync = (name in this.childLists_ &&\n (JSON.stringify(value) !=\n JSON.stringify(this.prefRecords_[name].currentValue)));\n\n this.prefRecords_[name].currentValue = value;\n\n if (needSync) {\n pendingChildren++;\n this.syncChildList(name, onChildComplete);\n }\n }\n\n if (pendingChildren == 0 && opt_callback)\n setTimeout(opt_callback);\n }.bind(this));\n};\n\n/**\n * Define a preference.\n *\n * This registers a name, default value, and onChange handler for a preference.\n *\n * @param {string} name The name of the preference. This will be prefixed by\n * the prefix of this PreferenceManager before written to local storage.\n * @param {string|number|boolean|Object|Array|null} value The default value of\n * this preference. Anything that can be represented in JSON is a valid\n * default value.\n * @param {function(value, string, lib.PreferenceManager} opt_observer A\n * function to invoke when the preference changes. It will receive the new\n * value, the name of the preference, and a reference to the\n * PreferenceManager as parameters.\n */\nlib.PreferenceManager.prototype.definePreference = function(\n name, value, opt_onChange) {\n\n var record = this.prefRecords_[name];\n if (record) {\n this.changeDefault(name, value);\n } else {\n record = this.prefRecords_[name] =\n new lib.PreferenceManager.Record(name, value);\n }\n\n if (opt_onChange)\n record.addObserver(opt_onChange);\n};\n\n/**\n * Define multiple preferences with a single function call.\n *\n * @param {Array} defaults An array of 3-element arrays. Each three element\n * array should contain the [key, value, onChange] parameters for a\n * preference.\n */\nlib.PreferenceManager.prototype.definePreferences = function(defaults) {\n for (var i = 0; i < defaults.length; i++) {\n this.definePreference(defaults[i][0], defaults[i][1], defaults[i][2]);\n }\n};\n\n/**\n * Define an ordered list of child preferences.\n *\n * Child preferences are different from just storing an array of JSON objects\n * in that each child is an instance of a preference manager. This means you\n * can observe changes to individual child preferences, and get some validation\n * that you're not reading or writing to an undefined child preference value.\n *\n * @param {string} listName A name for the list of children. This must be\n * unique in this preference manager. The listName will become a\n * preference on this PreferenceManager used to store the ordered list of\n * child ids. It is also used in get/add/remove operations to identify the\n * list of children to operate on.\n * @param {function} childFactory A function that will be used to generate\n * instances of these children. The factory function will receive the\n * parent lib.PreferenceManager object and a unique id for the new child\n * preferences.\n */\nlib.PreferenceManager.prototype.defineChildren = function(\n listName, childFactory) {\n\n // Define a preference to hold the ordered list of child ids.\n this.definePreference(listName, [],\n this.onChildListChange_.bind(this, listName));\n this.childFactories_[listName] = childFactory;\n this.childLists_[listName] = {};\n};\n\n/**\n * Register to observe preference changes.\n *\n * @param {Function} global A callback that will happen for every preference.\n * Pass null if you don't need one.\n * @param {Object} map A map of preference specific callbacks. Pass null if\n * you don't need any.\n */\nlib.PreferenceManager.prototype.addObservers = function(global, map) {\n if (global && typeof global != 'function')\n throw new Error('Invalid param: globals');\n\n if (global)\n this.globalObservers_.push(global);\n\n if (!map)\n return;\n\n for (var name in map) {\n if (!(name in this.prefRecords_))\n throw new Error('Unknown preference: ' + name);\n\n this.prefRecords_[name].addObserver(map[name]);\n }\n};\n\n/**\n * Dispatch the change observers for all known preferences.\n *\n * It may be useful to call this after readStorage completes, in order to\n * get application state in sync with user preferences.\n *\n * This can be used if you've changed a preference manager out from under\n * a live object, for example when switching to a different prefix.\n */\nlib.PreferenceManager.prototype.notifyAll = function() {\n for (var name in this.prefRecords_) {\n this.notifyChange_(name);\n }\n};\n\n/**\n * Notify the change observers for a given preference.\n *\n * @param {string} name The name of the preference that changed.\n */\nlib.PreferenceManager.prototype.notifyChange_ = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n var currentValue = record.get();\n\n for (var i = 0; i < this.globalObservers_.length; i++)\n this.globalObservers_[i](name, currentValue);\n\n for (var i = 0; i < record.observers.length; i++) {\n record.observers[i](currentValue, name, this);\n }\n};\n\n/**\n * Create a new child PreferenceManager for the given child list.\n *\n * The optional hint parameter is an opaque prefix added to the auto-generated\n * unique id for this child. Your child factory can parse out the prefix\n * and use it.\n *\n * @param {string} listName The child list to create the new instance from.\n * @param {string} opt_hint Optional hint to include in the child id.\n * @param {string} opt_id Optional id to override the generated id.\n */\nlib.PreferenceManager.prototype.createChild = function(listName, opt_hint,\n opt_id) {\n var ids = this.get(listName);\n var id;\n\n if (opt_id) {\n id = opt_id;\n if (ids.indexOf(id) != -1)\n throw new Error('Duplicate child: ' + listName + ': ' + id);\n\n } else {\n // Pick a random, unique 4-digit hex identifier for the new profile.\n while (!id || ids.indexOf(id) != -1) {\n id = lib.f.randomInt(1, 0xffff).toString(16);\n id = lib.f.zpad(id, 4);\n if (opt_hint)\n id = opt_hint + ':' + id;\n }\n }\n\n var childManager = this.childFactories_[listName](this, id);\n childManager.trace = this.trace;\n childManager.resetAll();\n\n this.childLists_[listName][id] = childManager;\n\n ids.push(id);\n this.set(listName, ids);\n\n return childManager;\n};\n\n/**\n * Remove a child preferences instance.\n *\n * Removes a child preference manager and clears any preferences stored in it.\n *\n * @param {string} listName The name of the child list containing the child to\n * remove.\n * @param {string} id The child ID.\n */\nlib.PreferenceManager.prototype.removeChild = function(listName, id) {\n var prefs = this.getChild(listName, id);\n prefs.resetAll();\n\n var ids = this.get(listName);\n var i = ids.indexOf(id);\n if (i != -1) {\n ids.splice(i, 1);\n this.set(listName, ids);\n }\n\n delete this.childLists_[listName][id];\n};\n\n/**\n * Return a child PreferenceManager instance for a given id.\n *\n * If the child list or child id is not known this will return the specified\n * default value or throw an exception if no default value is provided.\n *\n * @param {string} listName The child list to look in.\n * @param {string} id The child ID.\n * @param {*} opt_default The optional default value to return if the child\n * is not found.\n */\nlib.PreferenceManager.prototype.getChild = function(listName, id, opt_default) {\n if (!(listName in this.childLists_))\n throw new Error('Unknown child list: ' + listName);\n\n var childList = this.childLists_[listName];\n if (!(id in childList)) {\n if (typeof opt_default == 'undefined')\n throw new Error('Unknown \"' + listName + '\" child: ' + id);\n\n return opt_default;\n }\n\n return childList[id];\n};\n\n/**\n * Calculate the difference between two lists of child ids.\n *\n * Given two arrays of child ids, this function will return an object\n * with \"added\", \"removed\", and \"common\" properties. Each property is\n * a map of child-id to `true`. For example, given...\n *\n * a = ['child-x', 'child-y']\n * b = ['child-y']\n *\n * diffChildLists(a, b) =>\n * { added: { 'child-x': true }, removed: {}, common: { 'child-y': true } }\n *\n * The added/removed properties assume that `a` is the current list.\n *\n * @param {Array[string]} a The most recent list of child ids.\n * @param {Array[string]} b An older list of child ids.\n * @return {Object} An object with added/removed/common properties.\n */\nlib.PreferenceManager.diffChildLists = function(a, b) {\n var rv = {\n added: {},\n removed: {},\n common: {},\n };\n\n for (var i = 0; i < a.length; i++) {\n if (b.indexOf(a[i]) != -1) {\n rv.common[a[i]] = true;\n } else {\n rv.added[a[i]] = true;\n }\n }\n\n for (var i = 0; i < b.length; i++) {\n if ((b[i] in rv.added) || (b[i] in rv.common))\n continue;\n\n rv.removed[b[i]] = true;\n }\n\n return rv;\n};\n\n/**\n * Synchronize a list of child PreferenceManagers instances with the current\n * list stored in prefs.\n *\n * This will instantiate any missing managers and read current preference values\n * from storage. Any active managers that no longer appear in preferences will\n * be deleted.\n *\n * @param {string} listName The child list to synchronize.\n * @param {function()} opt_callback Optional function to invoke when the sync\n * is complete.\n */\nlib.PreferenceManager.prototype.syncChildList = function(\n listName, opt_callback) {\n\n var pendingChildren = 0;\n function onChildStorage() {\n if (--pendingChildren == 0 && opt_callback)\n opt_callback();\n }\n\n // The list of child ids that we *should* have a manager for.\n var currentIds = this.get(listName);\n\n // The known managers at the start of the sync. Any manager still in this\n // list at the end should be discarded.\n var oldIds = Object.keys(this.childLists_[listName]);\n\n var rv = lib.PreferenceManager.diffChildLists(currentIds, oldIds);\n\n for (var i = 0; i < currentIds.length; i++) {\n var id = currentIds[i];\n\n var managerIndex = oldIds.indexOf(id);\n if (managerIndex >= 0)\n oldIds.splice(managerIndex, 1);\n\n if (!this.childLists_[listName][id]) {\n var childManager = this.childFactories_[listName](this, id);\n if (!childManager) {\n console.warn('Unable to restore child: ' + listName + ': ' + id);\n continue;\n }\n\n childManager.trace = this.trace;\n this.childLists_[listName][id] = childManager;\n pendingChildren++;\n childManager.readStorage(onChildStorage);\n }\n }\n\n for (var i = 0; i < oldIds.length; i++) {\n delete this.childLists_[listName][oldIds[i]];\n }\n\n if (!pendingChildren && opt_callback)\n setTimeout(opt_callback);\n};\n\n/**\n * Reset a preference to its default state.\n *\n * This will dispatch the onChange handler if the preference value actually\n * changes.\n *\n * @param {string} name The preference to reset.\n */\nlib.PreferenceManager.prototype.reset = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n this.storage.removeItem(this.prefix + name);\n\n if (record.currentValue !== this.DEFAULT_VALUE) {\n record.currentValue = this.DEFAULT_VALUE;\n this.notifyChange_(name);\n }\n};\n\n/**\n * Reset all preferences back to their default state.\n */\nlib.PreferenceManager.prototype.resetAll = function() {\n var changed = [];\n\n for (var listName in this.childLists_) {\n var childList = this.childLists_[listName];\n for (var id in childList) {\n childList[id].resetAll();\n }\n }\n\n for (var name in this.prefRecords_) {\n if (this.prefRecords_[name].currentValue !== this.DEFAULT_VALUE) {\n this.prefRecords_[name].currentValue = this.DEFAULT_VALUE;\n changed.push(name);\n }\n }\n\n var keys = Object.keys(this.prefRecords_).map(function(el) {\n return this.prefix + el;\n }.bind(this));\n\n this.storage.removeItems(keys);\n\n changed.forEach(this.notifyChange_.bind(this));\n};\n\n/**\n * Return true if two values should be considered not-equal.\n *\n * If both values are the same scalar type and compare equal this function\n * returns false (no difference), otherwise return true.\n *\n * This is used in places where we want to check if a preference has changed.\n * Rather than take the time to compare complex values we just consider them\n * to always be different.\n *\n * @param {*} a A value to compare.\n * @param {*} b A value to compare.\n */\nlib.PreferenceManager.prototype.diff = function(a, b) {\n // If the types are different, or the type is not a simple primitive one.\n if ((typeof a) !== (typeof b) ||\n !(/^(undefined|boolean|number|string)$/.test(typeof a))) {\n return true;\n }\n\n return a !== b;\n};\n\n/**\n * Change the default value of a preference.\n *\n * This is useful when subclassing preference managers.\n *\n * The function does not alter the current value of the preference, unless\n * it has the old default value. When that happens, the change observers\n * will be notified.\n *\n * @param {string} name The name of the parameter to change.\n * @param {*} newValue The new default value for the preference.\n */\nlib.PreferenceManager.prototype.changeDefault = function(name, newValue) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n if (!this.diff(record.defaultValue, newValue)) {\n // Default value hasn't changed.\n return;\n }\n\n if (record.currentValue !== this.DEFAULT_VALUE) {\n // This pref has a specific value, just change the default and we're done.\n record.defaultValue = newValue;\n return;\n }\n\n record.defaultValue = newValue;\n\n this.notifyChange_(name);\n};\n\n/**\n * Change the default value of multiple preferences.\n *\n * @param {Object} map A map of name -> value pairs specifying the new default\n * values.\n */\nlib.PreferenceManager.prototype.changeDefaults = function(map) {\n for (var key in map) {\n this.changeDefault(key, map[key]);\n }\n};\n\n/**\n * Set a preference to a specific value.\n *\n * This will dispatch the onChange handler if the preference value actually\n * changes.\n *\n * @param {string} key The preference to set.\n * @param {*} value The value to set. Anything that can be represented in\n * JSON is a valid value.\n */\nlib.PreferenceManager.prototype.set = function(name, newValue) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n var oldValue = record.get();\n\n if (!this.diff(oldValue, newValue))\n return;\n\n if (this.diff(record.defaultValue, newValue)) {\n record.currentValue = newValue;\n this.storage.setItem(this.prefix + name, newValue);\n } else {\n record.currentValue = this.DEFAULT_VALUE;\n this.storage.removeItem(this.prefix + name);\n }\n\n // We need to manually send out the notification on this instance. If we\n // The storage event won't fire a notification because we've already changed\n // the currentValue, so it won't see a difference. If we delayed changing\n // currentValue until the storage event, a pref read immediately after a write\n // would return the previous value.\n //\n // The notification is in a timeout so clients don't accidentally depend on\n // a synchronous notification.\n setTimeout(this.notifyChange_.bind(this, name), 0);\n};\n\n/**\n * Get the value of a preference.\n *\n * @param {string} key The preference to get.\n */\nlib.PreferenceManager.prototype.get = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n return record.get();\n};\n\n/**\n * Return all non-default preferences as a JSON object.\n *\n * This includes any nested preference managers as well.\n */\nlib.PreferenceManager.prototype.exportAsJson = function() {\n var rv = {};\n\n for (var name in this.prefRecords_) {\n if (name in this.childLists_) {\n rv[name] = [];\n var childIds = this.get(name);\n for (var i = 0; i < childIds.length; i++) {\n var id = childIds[i];\n rv[name].push({id: id, json: this.getChild(name, id).exportAsJson()});\n }\n\n } else {\n var record = this.prefRecords_[name];\n if (record.currentValue != this.DEFAULT_VALUE)\n rv[name] = record.currentValue;\n }\n }\n\n return rv;\n};\n\n/**\n * Import a JSON blob of preferences previously generated with exportAsJson.\n *\n * This will create nested preference managers as well.\n */\nlib.PreferenceManager.prototype.importFromJson = function(json) {\n for (var name in json) {\n if (name in this.childLists_) {\n var childList = json[name];\n for (var i = 0; i < childList.length; i++) {\n var id = childList[i].id;\n\n var childPrefManager = this.childLists_[name][id];\n if (!childPrefManager)\n childPrefManager = this.createChild(name, null, id);\n\n childPrefManager.importFromJson(childList[i].json);\n }\n\n } else {\n this.set(name, json[name]);\n }\n }\n};\n\n/**\n * Called when one of the child list preferences changes.\n */\nlib.PreferenceManager.prototype.onChildListChange_ = function(listName) {\n this.syncChildList(listName);\n};\n\n/**\n * Called when a key in the storage changes.\n */\nlib.PreferenceManager.prototype.onStorageChange_ = function(map) {\n for (var key in map) {\n if (this.prefix) {\n if (key.lastIndexOf(this.prefix, 0) != 0)\n continue;\n }\n\n var name = key.substr(this.prefix.length);\n\n if (!(name in this.prefRecords_)) {\n // Sometimes we'll get notified about prefs that are no longer defined.\n continue;\n }\n\n var record = this.prefRecords_[name];\n\n var newValue = map[key].newValue;\n var currentValue = record.currentValue;\n if (currentValue === record.DEFAULT_VALUE)\n currentValue = (void 0);\n\n if (this.diff(currentValue, newValue)) {\n if (typeof newValue == 'undefined' || newValue === null) {\n record.currentValue = record.DEFAULT_VALUE;\n } else {\n record.currentValue = newValue;\n }\n\n this.notifyChange_(name);\n }\n }\n};\n// SOURCE FILE: libdot/js/lib_resource.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Storage for canned resources.\n *\n * These are usually non-JavaScript things that are collected during a build\n * step and converted into a series of 'lib.resource.add(...)' calls. See\n * the \"@resource\" directive from libdot/bin/concat.sh for the canonical use\n * case.\n *\n * This is global storage, so you should prefix your resource names to avoid\n * collisions.\n */\nlib.resource = {\n resources_: {}\n};\n\n/**\n * Add a resource.\n *\n * @param {string} name A name for the resource. You should prefix this to\n * avoid collisions with resources from a shared library.\n * @param {string} type A mime type for the resource, or \"raw\" if not\n * applicable.\n * @param {*} data The value of the resource.\n */\nlib.resource.add = function(name, type, data) {\n lib.resource.resources_[name] = {\n type: type,\n name: name,\n data: data\n };\n};\n\n/**\n * Retrieve a resource record.\n *\n * The resource data is stored on the \"data\" property of the returned object.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {object} An object with \"type\", \"name\", and \"data\" properties.\n */\nlib.resource.get = function(name, opt_defaultValue) {\n if (!(name in lib.resource.resources_)) {\n if (typeof opt_defaultValue == 'undefined')\n throw 'Unknown resource: ' + name;\n\n return opt_defaultValue;\n }\n\n return lib.resource.resources_[name];\n};\n\n/**\n * Retrieve resource data.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {*} The resource data.\n */\nlib.resource.getData = function(name, opt_defaultValue) {\n if (!(name in lib.resource.resources_)) {\n if (typeof opt_defaultValue == 'undefined')\n throw 'Unknown resource: ' + name;\n\n return opt_defaultValue;\n }\n\n return lib.resource.resources_[name].data;\n};\n\n/**\n * Retrieve resource as a data: url.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {*} A data: url encoded version of the resource.\n */\nlib.resource.getDataUrl = function(name, opt_defaultValue) {\n var resource = lib.resource.get(name, opt_defaultValue);\n return 'data:' + resource.type + ',' + resource.data;\n};\n// SOURCE FILE: libdot/js/lib_storage.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Namespace for implementations of persistent, possibly cloud-backed\n * storage.\n */\nlib.Storage = new Object();\n// SOURCE FILE: libdot/js/lib_storage_chrome.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * chrome.storage based class with an async interface that is interchangeable\n * with other lib.Storage.* implementations.\n */\nlib.Storage.Chrome = function(storage) {\n this.storage_ = storage;\n this.observers_ = [];\n\n chrome.storage.onChanged.addListener(this.onChanged_.bind(this));\n};\n\n/**\n * Called by the storage implementation when the storage is modified.\n */\nlib.Storage.Chrome.prototype.onChanged_ = function(changes, areaname) {\n if (chrome.storage[areaname] != this.storage_)\n return;\n\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](changes);\n }\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Chrome.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Chrome.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Chrome.prototype.clear = function(opt_callback) {\n this.storage_.clear();\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Chrome.prototype.getItem = function(key, callback) {\n this.storage_.get(key, callback);\n};\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\n\nlib.Storage.Chrome.prototype.getItems = function(keys, callback) {\n this.storage_.get(keys, callback);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.setItem = function(key, value, opt_callback) {\n var obj = {};\n obj[key] = value;\n this.storage_.set(obj, opt_callback);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.setItems = function(obj, opt_callback) {\n this.storage_.set(obj, opt_callback);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.removeItem = function(key, opt_callback) {\n this.storage_.remove(key, opt_callback);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.removeItems = function(keys, opt_callback) {\n this.storage_.remove(keys, opt_callback);\n};\n// SOURCE FILE: libdot/js/lib_storage_local.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * window.localStorage based class with an async interface that is\n * interchangeable with other lib.Storage.* implementations.\n */\nlib.Storage.Local = function() {\n this.observers_ = [];\n this.storage_ = window.localStorage;\n window.addEventListener('storage', this.onStorage_.bind(this));\n};\n\n/**\n * Called by the storage implementation when the storage is modified.\n */\nlib.Storage.Local.prototype.onStorage_ = function(e) {\n if (e.storageArea != this.storage_)\n return;\n\n // JS throws an exception if JSON.parse is given an empty string. So here we\n // only parse if the value is truthy. This mean the empty string, undefined\n // and null will not be parsed.\n var prevValue = e.oldValue ? JSON.parse(e.oldValue) : e.oldValue;\n var curValue = e.newValue ? JSON.parse(e.newValue) : e.newValue;\n var o = {};\n o[e.key] = {\n oldValue: prevValue,\n newValue: curValue\n };\n\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](o);\n }\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Local.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Local.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Local.prototype.clear = function(opt_callback) {\n this.storage_.clear();\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Local.prototype.getItem = function(key, callback) {\n var value = this.storage_.getItem(key);\n\n if (typeof value == 'string') {\n try {\n value = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n }\n }\n\n setTimeout(callback.bind(null, value), 0);\n};\n\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\nlib.Storage.Local.prototype.getItems = function(keys, callback) {\n var rv = {};\n\n for (var i = keys.length - 1; i >= 0; i--) {\n var key = keys[i];\n var value = this.storage_.getItem(key);\n if (typeof value == 'string') {\n try {\n rv[key] = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n rv[key] = value;\n }\n } else {\n keys.splice(i, 1);\n }\n }\n\n setTimeout(callback.bind(null, rv), 0);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.setItem = function(key, value, opt_callback) {\n this.storage_.setItem(key, JSON.stringify(value));\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.setItems = function(obj, opt_callback) {\n for (var key in obj) {\n this.storage_.setItem(key, JSON.stringify(obj[key]));\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.removeItem = function(key, opt_callback) {\n this.storage_.removeItem(key);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.removeItems = function(ary, opt_callback) {\n for (var i = 0; i < ary.length; i++) {\n this.storage_.removeItem(ary[i]);\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n// SOURCE FILE: libdot/js/lib_storage_memory.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * In-memory storage class with an async interface that is interchangeable with\n * other lib.Storage.* implementations.\n */\nlib.Storage.Memory = function() {\n this.observers_ = [];\n this.storage_ = {};\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Memory.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Memory.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Memory.prototype.clear = function(opt_callback) {\n var e = {};\n for (var key in this.storage_) {\n e[key] = {oldValue: this.storage_[key], newValue: (void 0)};\n }\n\n this.storage_ = {};\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this), 0);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Memory.prototype.getItem = function(key, callback) {\n var value = this.storage_[key];\n\n if (typeof value == 'string') {\n try {\n value = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n }\n }\n\n setTimeout(callback.bind(null, value), 0);\n};\n\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\nlib.Storage.Memory.prototype.getItems = function(keys, callback) {\n var rv = {};\n\n for (var i = keys.length - 1; i >= 0; i--) {\n var key = keys[i];\n var value = this.storage_[key];\n if (typeof value == 'string') {\n try {\n rv[key] = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n rv[key] = value;\n }\n } else {\n keys.splice(i, 1);\n }\n }\n\n setTimeout(callback.bind(null, rv), 0);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.setItem = function(key, value, opt_callback) {\n var oldValue = this.storage_[key];\n this.storage_[key] = JSON.stringify(value);\n\n var e = {};\n e[key] = {oldValue: oldValue, newValue: value};\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this), 0);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.setItems = function(obj, opt_callback) {\n var e = {};\n\n for (var key in obj) {\n e[key] = {oldValue: this.storage_[key], newValue: obj[key]};\n this.storage_[key] = JSON.stringify(obj[key]);\n }\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this));\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.removeItem = function(key, opt_callback) {\n delete this.storage_[key];\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.removeItems = function(ary, opt_callback) {\n for (var i = 0; i < ary.length; i++) {\n delete this.storage_[ary[i]];\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n// SOURCE FILE: libdot/js/lib_test_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview JavaScript unit testing framework for synchronous and\n * asynchronous tests.\n *\n * This file contains the lib.TestManager and related classes. At the moment\n * it's all collected in a single file since it's reasonably small\n * (=~1k lines), and it's a lot easier to include one file into your test\n * harness than it is to include seven.\n *\n * The following classes are defined...\n *\n * lib.TestManager - The root class and entrypoint for creating test runs.\n * lib.TestManager.Log - Logging service.\n * lib.TestManager.Suite - A collection of tests.\n * lib.TestManager.Test - A single test.\n * lib.TestManager.TestRun - Manages the execution of a set of tests.\n * lib.TestManager.Result - A single test result.\n */\n\n/**\n * Root object in the unit test hierarchy, and keeper of the log object.\n *\n * @param {lib.TestManager.Log} opt_log Optional lib.TestManager.Log object.\n * Logs to the JavaScript console if omitted.\n */\nlib.TestManager = function(opt_log) {\n this.log = opt_log || new lib.TestManager.Log();\n}\n\n/**\n * Create a new test run object for this test manager.\n *\n * @param {Object} opt_cx An object to be passed to test suite setup(),\n * preamble(), and test cases during this test run. This object is opaque\n * to lib.TestManager.* code. It's entirely up to the test suite what it's\n * used for.\n */\nlib.TestManager.prototype.createTestRun = function(opt_cx) {\n return new lib.TestManager.TestRun(this, opt_cx);\n};\n\n/**\n * Called when a test run associated with this test manager completes.\n *\n * Clients may override this to call an appropriate function.\n */\nlib.TestManager.prototype.onTestRunComplete = function(testRun) {};\n\n/**\n * Called before a test associated with this test manager is run.\n *\n * @param {lib.TestManager.Result} result The result object for the upcoming\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.prototype.testPreamble = function(result, cx) {};\n\n/**\n * Called after a test associated with this test manager finishes.\n *\n * @param {lib.TestManager.Result} result The result object for the finished\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.prototype.testPostamble = function(result, cx) {};\n\n/**\n * Destination for test case output.\n *\n * Thw API will be the same as the console object. e.g. We support info(),\n * warn(), error(), etc... just like console.info(), etc...\n *\n * @param {Object} opt_console The console object to route all logging through.\n * Should provide saome API as the standard console API.\n */\nlib.TestManager.Log = function(opt_console=console) {\n this.save = false;\n this.data = '';\n this.prefix_ = '';\n this.prefixStack_ = 0;\n\n // Capture all the console entry points in case code at runtime calls these\n // directly. We want to be able to still see things.\n // We also expose the direct API to our callers (e.g. we provide warn()).\n this.console_ = opt_console;\n ['log', 'debug', 'info', 'warn', 'error'].forEach((level) => {\n let msgPrefix = '';\n switch (level) {\n case 'debug':\n case 'warn':\n case 'error':\n msgPrefix = level.toUpperCase() + ': ';\n break;\n }\n\n const oLog = this.console_[level];\n this[level] = this.console_[level] = (...args) => {\n if (this.save)\n this.data += this.prefix_ + msgPrefix + args.join(' ') + '\\n';\n oLog.apply(this.console_, args);\n };\n });\n\n // Wrap/bind the group functions.\n ['group', 'groupCollapsed'].forEach((group) => {\n const oGroup = this.console_[group];\n this[group] = this.console_[group] = (label='') => {\n oGroup(label);\n if (this.save)\n this.data += this.prefix_ + label + '\\n';\n this.prefix_ = ' '.repeat(++this.prefixStack_);\n };\n });\n\n const oGroupEnd = this.console_.groupEnd;\n this.groupEnd = this.console_.groupEnd = () => {\n oGroupEnd();\n this.prefix_ = ' '.repeat(--this.prefixStack_);\n };\n};\n\n/**\n * Returns a new constructor function that will inherit from\n * lib.TestManager.Suite.\n *\n * Use this function to create a new test suite subclass. It will return a\n * properly initialized constructor function for the subclass. You can then\n * override the setup() and preamble() methods if necessary and add test cases\n * to the subclass.\n *\n * var MyTests = new lib.TestManager.Suite('MyTests');\n *\n * MyTests.prototype.setup = function(cx) {\n * // Sets this.size to cx.size if it exists, or the default value of 10\n * // if not.\n * this.setDefault(cx, {size: 10});\n * };\n *\n * MyTests.prototype.preamble = function(result, cx) {\n * // Some tests (even successful ones) may side-effect this list, so\n * // recreate it before every test.\n * this.list = [];\n * for (var i = 0; i < this.size; i++) {\n * this.list[i] = i;\n * }\n * };\n *\n * // Basic synchronous test case.\n * MyTests.addTest('pop-length', function(result, cx) {\n * this.list.pop();\n *\n * // If this assertion fails, the testcase will stop here.\n * result.assertEQ(this.list.length, this.size - 1);\n *\n * // A test must indicate it has passed by calling this method.\n * result.pass();\n * });\n *\n * // Sample asynchronous test case.\n * MyTests.addTest('async-pop-length', function(result, cx) {\n * var self = this;\n *\n * var callback = function() {\n * result.assertEQ(self.list.length, self.size - 1);\n * result.pass();\n * };\n *\n * // Wait 100ms to check the array length for the sake of this example.\n * setTimeout(callback, 100);\n *\n * this.list.pop();\n *\n * // Indicate that this test needs another 200ms to complete.\n * // If the test does not report pass/fail by then, it is considered to\n * // have timed out.\n * result.requestTime(200);\n * });\n *\n * ...\n *\n * @param {string} suiteName The name of the test suite.\n */\nlib.TestManager.Suite = function(suiteName) {\n function ctor(testManager, cx) {\n this.testManager_ = testManager;\n this.suiteName = suiteName;\n\n this.setup(cx);\n }\n\n ctor.suiteName = suiteName;\n ctor.addTest = lib.TestManager.Suite.addTest;\n ctor.disableTest = lib.TestManager.Suite.disableTest;\n ctor.getTest = lib.TestManager.Suite.getTest;\n ctor.getTestList = lib.TestManager.Suite.getTestList;\n ctor.testList_ = [];\n ctor.testMap_ = {};\n ctor.prototype = Object.create(lib.TestManager.Suite.prototype);\n ctor.constructor = lib.TestManager.Suite;\n\n lib.TestManager.Suite.subclasses.push(ctor);\n\n return ctor;\n};\n\n/**\n * List of lib.TestManager.Suite subclasses, in the order they were defined.\n */\nlib.TestManager.Suite.subclasses = [];\n\n/**\n * Add a test to a lib.TestManager.Suite.\n *\n * This method is copied to new subclasses when they are created.\n */\nlib.TestManager.Suite.addTest = function(testName, testFunction) {\n if (testName in this.testMap_)\n throw 'Duplicate test name: ' + testName;\n\n var test = new lib.TestManager.Test(this, testName, testFunction);\n this.testMap_[testName] = test;\n this.testList_.push(test);\n};\n\n/**\n * Defines a disabled test.\n */\nlib.TestManager.Suite.disableTest = function(testName, testFunction) {\n if (testName in this.testMap_)\n throw 'Duplicate test name: ' + testName;\n\n var test = new lib.TestManager.Test(this, testName, testFunction);\n console.log('Disabled test: ' + test.fullName);\n};\n\n/**\n * Get a lib.TestManager.Test instance by name.\n *\n * This method is copied to new subclasses when they are created.\n *\n * @param {string} testName The name of the desired test.\n * @return {lib.TestManager.Test} The requested test, or undefined if it was not\n * found.\n */\nlib.TestManager.Suite.getTest = function(testName) {\n return this.testMap_[testName];\n};\n\n/**\n * Get an array of lib.TestManager.Tests associated with this Suite.\n *\n * This method is copied to new subclasses when they are created.\n */\nlib.TestManager.Suite.getTestList = function() {\n return this.testList_;\n};\n\n/**\n * Set properties on a test suite instance, pulling the property value from\n * the context if it exists and from the defaults dictionary if not.\n *\n * This is intended to be used in your test suite's setup() method to\n * define parameters for the test suite which may be overridden through the\n * context object. For example...\n *\n * MySuite.prototype.setup = function(cx) {\n * this.setDefaults(cx, {size: 10});\n * };\n *\n * If the context object has a 'size' property then this.size will be set to\n * the value of cx.size, otherwise this.size will get a default value of 10.\n *\n * @param {Object} cx The context object for a test run.\n * @param {Object} defaults An object containing name/value pairs to set on\n * this test suite instance. The value listed here will be used if the\n * name is not defined on the context object.\n */\nlib.TestManager.Suite.prototype.setDefaults = function(cx, defaults) {\n for (var k in defaults) {\n this[k] = (k in cx) ? cx[k] : defaults[k];\n }\n};\n\n/**\n * Subclassable method called to set up the test suite.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of suite-wide setup, this is the place to do it.\n *\n * It's fine to store state on the test suite instance, that state will be\n * accessible to all tests in the suite. If any test case fails, the entire\n * test suite object will be discarded and a new one will be created for\n * the remaining tests.\n *\n * Any side effects outside of this test suite instance must be idempotent.\n * For example, if you're adding DOM nodes to a document, make sure to first\n * test that they're not already there. If they are, remove them rather than\n * reuse them. You should not count on their state, since they were probably\n * left behind by a failed testcase.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.setup = function(cx) {};\n\n/**\n * Subclassable method called to do pre-test set up.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of pre-test setup, this is the place to do it.\n *\n * This can be used to avoid a bunch of boilerplate setup/teardown code in\n * this suite's testcases.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {lib.TestManager.Result} result The result object for the upcoming\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.preamble = function(result, cx) {};\n\n/**\n * Subclassable method called to do post-test tear-down.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of pre-test setup, this is the place to do it.\n *\n * This can be used to avoid a bunch of boilerplate setup/teardown code in\n * this suite's testcases.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {lib.TestManager.Result} result The result object for the finished\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.postamble = function(result, cx) {};\n\n/**\n * Object representing a single test in a test suite.\n *\n * These are created as part of the lib.TestManager.Suite.addTest() method.\n * You should never have to construct one by hand.\n *\n * @param {lib.TestManager.Suite} suiteClass The test suite class containing\n * this test.\n * @param {string} testName The local name of this test case, not including the\n * test suite name.\n * @param {function(lib.TestManager.Result, Object)} testFunction The function\n * to invoke for this test case. This is passed a Result instance and the\n * context object associated with the test run.\n *\n */\nlib.TestManager.Test = function(suiteClass, testName, testFunction) {\n /**\n * The test suite class containing this function.\n */\n this.suiteClass = suiteClass;\n\n /**\n * The local name of this test, not including the test suite name.\n */\n this.testName = testName;\n\n /**\n * The global name of this test, including the test suite name.\n */\n this.fullName = suiteClass.suiteName + '[' + testName + ']';\n\n // The function to call for this test.\n this.testFunction_ = testFunction;\n};\n\n/**\n * Execute this test.\n *\n * This is called by a lib.TestManager.Result instance, as part of a\n * lib.TestManager.TestRun. You should not call it by hand.\n *\n * @param {lib.TestManager.Result} result The result object for the test.\n */\nlib.TestManager.Test.prototype.run = function(result) {\n try {\n // Tests are applied to the parent lib.TestManager.Suite subclass.\n this.testFunction_.apply(result.suite,\n [result, result.testRun.cx]);\n } catch (ex) {\n if (ex instanceof lib.TestManager.Result.TestComplete)\n return;\n\n result.println('Test raised an exception: ' + ex);\n\n if (ex.stack) {\n if (ex.stack instanceof Array) {\n result.println(ex.stack.join('\\n'));\n } else {\n result.println(ex.stack);\n }\n }\n\n result.completeTest_(result.FAILED, false);\n }\n};\n\n/**\n * Used to choose a set of tests and run them.\n *\n * It's slightly more convenient to construct one of these from\n * lib.TestManager.prototype.createTestRun().\n *\n * @param {lib.TestManager} testManager The testManager associated with this\n * TestRun.\n * @param {Object} cx A context to be passed into the tests. This can be used\n * to set parameters for the test suite or individual test cases.\n */\nlib.TestManager.TestRun = function(testManager, cx) {\n /**\n * The associated lib.TestManager instance.\n */\n this.testManager = testManager;\n\n /**\n * Shortcut to the lib.TestManager's log.\n */\n this.log = testManager.log;\n\n /**\n * The test run context. It's entirely up to the test suite and test cases\n * how this is used. It is opaque to lib.TestManager.* classes.\n */\n this.cx = cx || {};\n\n /**\n * The list of test cases that encountered failures.\n */\n this.failures = [];\n\n /**\n * The list of test cases that passed.\n */\n this.passes = [];\n\n /**\n * The time the test run started, or null if it hasn't been started yet.\n */\n this.startDate = null;\n\n /**\n * The time in milliseconds that the test run took to complete, or null if\n * it hasn't completed yet.\n */\n this.duration = null;\n\n /**\n * The most recent result object, or null if the test run hasn't started\n * yet. In order to detect late failures, this is not cleared when the test\n * completes.\n */\n this.currentResult = null;\n\n /**\n * Number of maximum failures. The test run will stop when this number is\n * reached. If 0 or omitted, the entire set of selected tests is run, even\n * if some fail.\n */\n this.maxFailures = 0;\n\n /**\n * True if this test run ended early because of an unexpected condition.\n */\n this.panic = false;\n\n // List of pending test cases.\n this.testQueue_ = [];\n\n};\n\n/**\n * This value can be passed to select() to indicate that all tests should\n * be selected.\n */\nlib.TestManager.TestRun.prototype.ALL_TESTS = lib.f.createEnum('');\n\n/**\n * Add a single test to the test run.\n */\nlib.TestManager.TestRun.prototype.selectTest = function(test) {\n this.testQueue_.push(test);\n};\n\nlib.TestManager.TestRun.prototype.selectSuite = function(\n suiteClass, opt_pattern) {\n var pattern = opt_pattern || this.ALL_TESTS;\n var selectCount = 0;\n var testList = suiteClass.getTestList();\n\n for (var j = 0; j < testList.length; j++) {\n var test = testList[j];\n // Note that we're using \"!==\" rather than \"!=\" so that we're matching\n // the ALL_TESTS String object, rather than the contents of the string.\n if (pattern !== this.ALL_TESTS) {\n if (pattern instanceof RegExp) {\n if (!pattern.test(test.testName))\n continue;\n } else if (test.testName != pattern) {\n continue;\n }\n }\n\n this.selectTest(test);\n selectCount++;\n }\n\n return selectCount;\n};\n\n/**\n * Selects one or more tests to gather results for.\n *\n * Selecting the same test more than once is allowed.\n *\n * @param {string|RegExp} pattern Pattern used to select tests.\n * If TestRun.prototype.ALL_TESTS, all tests are selected.\n * If a string, only the test that exactly matches is selected.\n * If a RegExp, only tests matching the RegExp are added.\n *\n * @return {int} The number of additional tests that have been selected into\n * this TestRun.\n */\nlib.TestManager.TestRun.prototype.selectPattern = function(pattern) {\n var selectCount = 0;\n\n for (var i = 0; i < lib.TestManager.Suite.subclasses.length; i++) {\n selectCount += this.selectSuite(lib.TestManager.Suite.subclasses[i],\n pattern);\n }\n\n if (!selectCount) {\n this.log.warn('No tests matched selection criteria: ' + pattern);\n }\n\n return selectCount;\n};\n\n/**\n * Hooked up to window.onerror during a test run in order to catch exceptions\n * that would otherwise go uncaught.\n */\nlib.TestManager.TestRun.prototype.onUncaughtException_ = function(\n message, file, line) {\n\n if (message.indexOf('Uncaught lib.TestManager.Result.TestComplete') == 0 ||\n message.indexOf('status: passed') != -1) {\n // This is a result.pass() or result.fail() call from a callback. We're\n // already going to deal with it as part of the completeTest_() call\n // that raised it. We can safely squelch this error message.\n return true;\n }\n\n if (!this.currentResult)\n return;\n\n if (message == 'Uncaught ' + this.currentResult.expectedErrorMessage_) {\n // Test cases may need to raise an unhandled exception as part of the test.\n return;\n }\n\n var when = 'during';\n\n if (this.currentResult.status != this.currentResult.PENDING)\n when = 'after';\n\n this.log.error('Uncaught exception ' + when + ' test case: ' +\n this.currentResult.test.fullName);\n this.log.error(message + ', ' + file + ':' + line);\n\n this.currentResult.completeTest_(this.currentResult.FAILED, false);\n\n return false;\n};\n\n/**\n * Called to when this test run has completed.\n *\n * This method typically re-runs itself asynchronously, in order to let the\n * DOM stabilize and short-term timeouts to complete before declaring the\n * test run complete.\n *\n * @param {boolean} opt_skipTimeout If true, the timeout is skipped and the\n * test run is completed immediately. This should only be used from within\n * this function.\n */\nlib.TestManager.TestRun.prototype.onTestRunComplete_ = function(\n opt_skipTimeout) {\n if (!opt_skipTimeout) {\n // The final test may have left a lingering setTimeout(..., 0), or maybe\n // poked at the DOM in a way that will trigger a event to fire at the end\n // of this stack, so we give things a chance to settle down before our\n // final cleanup...\n setTimeout(this.onTestRunComplete_.bind(this), 0, true);\n return;\n }\n\n this.duration = (new Date()) - this.startDate;\n\n this.log.groupEnd();\n this.log.info(this.passes.length + ' passed, ' +\n this.failures.length + ' failed, ' +\n this.msToSeconds_(this.duration));\n\n this.summarize();\n\n window.onerror = null;\n\n this.testManager.onTestRunComplete(this);\n};\n\n/**\n * Called by the lib.TestManager.Result object when a test completes.\n *\n * @param {lib.TestManager.Result} result The result object which has just\n * completed.\n */\nlib.TestManager.TestRun.prototype.onResultComplete = function(result) {\n try {\n this.testManager.testPostamble(result, this.cx);\n result.suite.postamble(result, this.ctx);\n } catch (ex) {\n this.log.error('Unexpected exception in postamble: ' +\n (ex.stack ? ex.stack : ex));\n this.panic = true;\n }\n\n if (result.status != result.PASSED)\n this.log.error(result.status);\n else if (result.duration > 500)\n this.log.warn('Slow test took ' + this.msToSeconds_(result.duration));\n this.log.groupEnd();\n\n if (result.status == result.FAILED) {\n this.failures.push(result);\n this.currentSuite = null;\n } else if (result.status == result.PASSED) {\n this.passes.push(result);\n } else {\n this.log.error('Unknown result status: ' + result.test.fullName + ': ' +\n result.status);\n return this.panic = true;\n }\n\n this.runNextTest_();\n};\n\n/**\n * Called by the lib.TestManager.Result object when a test which has already\n * completed reports another completion.\n *\n * This is usually indicative of a buggy testcase. It is probably reporting a\n * result on exit and then again from an asynchronous callback.\n *\n * It may also be the case that the last act of the testcase causes a DOM change\n * which triggers some event to run after the test returns. If the event\n * handler reports a failure or raises an uncaught exception, the test will\n * fail even though it has already completed.\n *\n * In any case, re-completing a test ALWAYS moves it into the failure pile.\n *\n * @param {lib.TestManager.Result} result The result object which has just\n * completed.\n * @param {string} lateStatus The status that the test attempted to record this\n * time around.\n */\nlib.TestManager.TestRun.prototype.onResultReComplete = function(\n result, lateStatus) {\n this.log.error('Late complete for test: ' + result.test.fullName + ': ' +\n lateStatus);\n\n // Consider any late completion a failure, even if it's a double-pass, since\n // it's a misuse of the testing API.\n var index = this.passes.indexOf(result);\n if (index >= 0) {\n this.passes.splice(index, 1);\n this.failures.push(result);\n }\n};\n\n/**\n * Run the next test in the queue.\n */\nlib.TestManager.TestRun.prototype.runNextTest_ = function() {\n if (this.panic || !this.testQueue_.length)\n return this.onTestRunComplete_();\n\n if (this.maxFailures && this.failures.length >= this.maxFailures) {\n this.log.error('Maximum failure count reached, aborting test run.');\n return this.onTestRunComplete_();\n }\n\n // Peek at the top test first. We remove it later just before it's about\n // to run, so that we don't disturb the incomplete test count in the\n // event that we fail before running it.\n var test = this.testQueue_[0];\n var suite = this.currentResult ? this.currentResult.suite : null;\n\n try {\n if (!suite || !(suite instanceof test.suiteClass)) {\n if (suite)\n this.log.groupEnd();\n this.log.group(test.suiteClass.suiteName);\n suite = new test.suiteClass(this.testManager, this.cx);\n }\n } catch (ex) {\n // If test suite setup fails we're not even going to try to run the tests.\n this.log.error('Exception during setup: ' + (ex.stack ? ex.stack : ex));\n this.panic = true;\n this.onTestRunComplete_();\n return;\n }\n\n try {\n this.log.group(test.testName);\n\n this.currentResult = new lib.TestManager.Result(this, suite, test);\n this.testManager.testPreamble(this.currentResult, this.cx);\n suite.preamble(this.currentResult, this.cx);\n\n this.testQueue_.shift();\n } catch (ex) {\n this.log.error('Unexpected exception during test preamble: ' +\n (ex.stack ? ex.stack : ex));\n this.log.groupEnd();\n\n this.panic = true;\n this.onTestRunComplete_();\n return;\n }\n\n try {\n this.currentResult.run();\n } catch (ex) {\n // Result.run() should catch test exceptions and turn them into failures.\n // If we got here, it means there is trouble in the testing framework.\n this.log.error('Unexpected exception during test run: ' +\n (ex.stack ? ex.stack : ex));\n this.panic = true;\n }\n};\n\n/**\n * Run the selected list of tests.\n *\n * Some tests may need to run asynchronously, so you cannot assume the run is\n * complete when this function returns. Instead, pass in a function to be\n * called back when the run has completed.\n *\n * This function will log the results of the test run as they happen into the\n * log defined by the associated lib.TestManager. By default this is\n * console.log, which can be viewed in the JavaScript console of most browsers.\n *\n * The browser state is determined by the last test to run. We intentionally\n * don't do any cleanup so that you can inspect the state of a failed test, or\n * leave the browser ready for manual testing.\n *\n * Any failures in lib.TestManager.* code or test suite setup or test case\n * preamble will cause the test run to abort.\n */\nlib.TestManager.TestRun.prototype.run = function() {\n this.log.info('Running ' + this.testQueue_.length + ' test(s)');\n\n window.onerror = this.onUncaughtException_.bind(this);\n this.startDate = new Date();\n this.runNextTest_();\n};\n\n/**\n * Format milliseconds as fractional seconds.\n */\nlib.TestManager.TestRun.prototype.msToSeconds_ = function(ms) {\n var secs = (ms / 1000).toFixed(2);\n return secs + 's';\n};\n\n/**\n * Log the current result summary.\n */\nlib.TestManager.TestRun.prototype.summarize = function() {\n if (this.failures.length) {\n for (var i = 0; i < this.failures.length; i++) {\n this.log.error('FAILED: ' + this.failures[i].test.fullName);\n }\n }\n\n if (this.testQueue_.length) {\n this.log.warn('Test run incomplete: ' + this.testQueue_.length +\n ' test(s) were not run.');\n }\n};\n\n/**\n * Record of the result of a single test.\n *\n * These are constructed during a test run, you shouldn't have to make one\n * on your own.\n *\n * An instance of this class is passed in to each test function. It can be\n * used to add messages to the test log, to record a test pass/fail state, to\n * test assertions, or to create exception-proof wrappers for callback\n * functions.\n *\n * @param {lib.TestManager.TestRun} testRun The TestRun instance associated with\n * this result.\n * @param {lib.TestManager.Suit} suite The Suite containing the test we're\n * collecting this result for.\n * @param {lib.TestManager.Test} test The test we're collecting this result for.\n */\nlib.TestManager.Result = function(testRun, suite, test) {\n /**\n * The TestRun instance associated with this result.\n */\n this.testRun = testRun;\n\n /**\n * The Suite containing the test we're collecting this result for.\n */\n this.suite = suite;\n\n /**\n * The test we're collecting this result for.\n */\n this.test = test;\n\n /**\n * The time we started to collect this result, or null if we haven't started.\n */\n this.startDate = null;\n\n /**\n * The time in milliseconds that the test took to complete, or null if\n * it hasn't completed yet.\n */\n this.duration = null;\n\n /**\n * The current status of this test result.\n */\n this.status = this.PENDING;\n\n // An error message that the test case is expected to generate.\n this.expectedErrorMessage_ = null;\n};\n\n/**\n * Possible values for this.status.\n */\nlib.TestManager.Result.prototype.PENDING = 'pending';\nlib.TestManager.Result.prototype.FAILED = 'FAILED';\nlib.TestManager.Result.prototype.PASSED = 'passed';\n\n/**\n * Exception thrown when a test completes (pass or fail), to ensure no more of\n * the test is run.\n */\nlib.TestManager.Result.TestComplete = function(result) {\n this.result = result;\n};\n\nlib.TestManager.Result.TestComplete.prototype.toString = function() {\n return 'lib.TestManager.Result.TestComplete: ' + this.result.test.fullName +\n ', status: ' + this.result.status;\n}\n\n/**\n * Start the test associated with this result.\n */\nlib.TestManager.Result.prototype.run = function() {\n var self = this;\n\n this.startDate = new Date();\n this.test.run(this);\n\n if (this.status == this.PENDING && !this.timeout_) {\n this.println('Test did not return a value and did not request more time.');\n this.completeTest_(this.FAILED, false);\n }\n};\n\n/**\n * Unhandled error message this test expects to generate.\n *\n * This must be the exact string that would appear in the JavaScript console,\n * minus the 'Uncaught ' prefix.\n *\n * The test case does *not* automatically fail if the error message is not\n * encountered.\n */\nlib.TestManager.Result.prototype.expectErrorMessage = function(str) {\n this.expectedErrorMessage_ = str;\n};\n\n/**\n * Function called when a test times out.\n */\nlib.TestManager.Result.prototype.onTimeout_ = function() {\n this.timeout_ = null;\n\n if (this.status != this.PENDING)\n return;\n\n this.println('Test timed out.');\n this.completeTest_(this.FAILED, false);\n};\n\n/**\n * Indicate that a test case needs more time to complete.\n *\n * Before a test case returns it must report a pass/fail result, or request more\n * time to do so.\n *\n * If a test does not report pass/fail before the time expires it will\n * be reported as a timeout failure. Any late pass/fails will be noted in the\n * test log, but will not affect the final result of the test.\n *\n * Test cases may call requestTime more than once. If you have a few layers\n * of asynchronous API to go through, you should call this once per layer with\n * an estimate of how long each callback will take to complete.\n *\n * @param {int} ms Number of milliseconds requested.\n */\nlib.TestManager.Result.prototype.requestTime = function(ms) {\n if (this.timeout_)\n clearTimeout(this.timeout_);\n\n this.timeout_ = setTimeout(this.onTimeout_.bind(this), ms);\n};\n\n/**\n * Report the completion of a test.\n *\n * @param {string} status The status of the test case.\n * @param {boolean} opt_throw Optional boolean indicating whether or not\n * to throw the TestComplete exception.\n */\nlib.TestManager.Result.prototype.completeTest_ = function(status, opt_throw) {\n if (this.status == this.PENDING) {\n this.duration = (new Date()) - this.startDate;\n this.status = status;\n\n this.testRun.onResultComplete(this);\n } else {\n this.testRun.onResultReComplete(this, status);\n }\n\n if (arguments.length < 2 || opt_throw)\n throw new lib.TestManager.Result.TestComplete(this);\n};\n\n/**\n * Check that two arrays are equal.\n */\nlib.TestManager.Result.prototype.arrayEQ_ = function(actual, expected) {\n if (!actual || !expected)\n return (!actual && !expected);\n\n if (actual.length != expected.length)\n return false;\n\n for (var i = 0; i < actual.length; ++i)\n if (actual[i] != expected[i])\n return false;\n\n return true;\n};\n\n/**\n * Assert that an actual value is exactly equal to the expected value.\n *\n * This uses the JavaScript '===' operator in order to avoid type coercion.\n *\n * If the assertion fails, the test is marked as a failure and a TestCompleted\n * exception is thrown.\n *\n * @param {*} actual The actual measured value.\n * @param {*} expected The value expected.\n * @param {string} opt_name An optional name used to identify this\n * assertion in the test log. If omitted it will be the file:line\n * of the caller.\n */\nlib.TestManager.Result.prototype.assertEQ = function(\n actual, expected, opt_name) {\n // Utility function to pretty up the log.\n function format(value) {\n if (typeof value == 'number')\n return value;\n\n var str = String(value);\n var ary = str.split('\\n').map(function (e) { return JSON.stringify(e) });\n if (ary.length > 1) {\n // If the string has newlines, start it off on its own line so that\n // it's easier to compare against another string with newlines.\n return '\\n' + ary.join('\\n');\n } else {\n return ary.join('\\n');\n }\n }\n\n if (actual === expected)\n return;\n\n // Deal with common object types since JavaScript can't.\n if (expected instanceof Array)\n if (this.arrayEQ_(actual, expected))\n return;\n\n var name = opt_name ? '[' + opt_name + ']' : '';\n\n this.fail('assertEQ' + name + ': ' + this.getCallerLocation_(1) + ': ' +\n format(actual) + ' !== ' + format(expected));\n};\n\n/**\n * Assert that a value is true.\n *\n * This uses the JavaScript '===' operator in order to avoid type coercion.\n * The must be the boolean value `true`, not just some \"truish\" value.\n *\n * If the assertion fails, the test is marked as a failure and a TestCompleted\n * exception is thrown.\n *\n * @param {boolean} actual The actual measured value.\n * @param {string} opt_name An optional name used to identify this\n * assertion in the test log. If omitted it will be the file:line\n * of the caller.\n */\nlib.TestManager.Result.prototype.assert = function(actual, opt_name) {\n if (actual === true)\n return;\n\n var name = opt_name ? '[' + opt_name + ']' : '';\n\n this.fail('assert' + name + ': ' + this.getCallerLocation_(1) + ': ' +\n String(actual));\n};\n\n/**\n * Return the filename:line of a calling stack frame.\n *\n * This uses a dirty hack. It throws an exception, catches it, and examines\n * the stack property of the caught exception.\n *\n * @param {int} frameIndex The stack frame to return. 0 is the frame that\n * called this method, 1 is its caller, and so on.\n * @return {string} A string of the format \"filename:linenumber\".\n */\nlib.TestManager.Result.prototype.getCallerLocation_ = function(frameIndex) {\n try {\n throw new Error();\n } catch (ex) {\n var frame = ex.stack.split('\\n')[frameIndex + 2];\n var ary = frame.match(/([^/]+:\\d+):\\d+\\)?$/);\n return ary ? ary[1] : '???';\n }\n};\n\n/**\n * Write a message to the result log.\n */\nlib.TestManager.Result.prototype.println = function(message) {\n this.testRun.log.info(message);\n};\n\n/**\n * Mark a failed test and exit out of the rest of the test.\n *\n * This will throw a TestCompleted exception, causing the current test to stop.\n *\n * @param {string} opt_message Optional message to add to the log.\n */\nlib.TestManager.Result.prototype.fail = function(opt_message) {\n if (arguments.length)\n this.println(opt_message);\n\n this.completeTest_(this.FAILED, true);\n};\n\n/**\n * Mark a passed test and exit out of the rest of the test.\n *\n * This will throw a TestCompleted exception, causing the current test to stop.\n */\nlib.TestManager.Result.prototype.pass = function() {\n this.completeTest_(this.PASSED, true);\n};\n// SOURCE FILE: libdot/js/lib_utf8.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n// TODO(davidben): When the string encoding API is implemented,\n// replace this with the native in-browser implementation.\n//\n// https://wiki.whatwg.org/wiki/StringEncoding\n// https://encoding.spec.whatwg.org/\n\n/**\n * A stateful UTF-8 decoder.\n */\nlib.UTF8Decoder = function() {\n // The number of bytes left in the current sequence.\n this.bytesLeft = 0;\n // The in-progress code point being decoded, if bytesLeft > 0.\n this.codePoint = 0;\n // The lower bound on the final code point, if bytesLeft > 0.\n this.lowerBound = 0;\n};\n\n/**\n * Decodes a some UTF-8 data, taking into account state from previous\n * data streamed through the encoder.\n *\n * @param {String} str data to decode, represented as a JavaScript\n * String with each code unit representing a byte between 0x00 to\n * 0xFF.\n * @return {String} The data decoded into a JavaScript UTF-16 string.\n */\nlib.UTF8Decoder.prototype.decode = function(str) {\n var ret = '';\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n if (this.bytesLeft == 0) {\n if (c <= 0x7F) {\n ret += str.charAt(i);\n } else if (0xC0 <= c && c <= 0xDF) {\n this.codePoint = c - 0xC0;\n this.bytesLeft = 1;\n this.lowerBound = 0x80;\n } else if (0xE0 <= c && c <= 0xEF) {\n this.codePoint = c - 0xE0;\n this.bytesLeft = 2;\n this.lowerBound = 0x800;\n } else if (0xF0 <= c && c <= 0xF7) {\n this.codePoint = c - 0xF0;\n this.bytesLeft = 3;\n this.lowerBound = 0x10000;\n } else if (0xF8 <= c && c <= 0xFB) {\n this.codePoint = c - 0xF8;\n this.bytesLeft = 4;\n this.lowerBound = 0x200000;\n } else if (0xFC <= c && c <= 0xFD) {\n this.codePoint = c - 0xFC;\n this.bytesLeft = 5;\n this.lowerBound = 0x4000000;\n } else {\n ret += '\\ufffd';\n }\n } else {\n if (0x80 <= c && c <= 0xBF) {\n this.bytesLeft--;\n this.codePoint = (this.codePoint << 6) + (c - 0x80);\n if (this.bytesLeft == 0) {\n // Got a full sequence. Check if it's within bounds and\n // filter out surrogate pairs.\n var codePoint = this.codePoint;\n if (codePoint < this.lowerBound\n || (0xD800 <= codePoint && codePoint <= 0xDFFF)\n || codePoint > 0x10FFFF) {\n ret += '\\ufffd';\n } else {\n // Encode as UTF-16 in the output.\n if (codePoint < 0x10000) {\n ret += String.fromCharCode(codePoint);\n } else {\n // Surrogate pair.\n codePoint -= 0x10000;\n ret += String.fromCharCode(\n 0xD800 + ((codePoint >>> 10) & 0x3FF),\n 0xDC00 + (codePoint & 0x3FF));\n }\n }\n }\n } else {\n // Too few bytes in multi-byte sequence. Rewind stream so we\n // don't lose the next byte.\n ret += '\\ufffd';\n this.bytesLeft = 0;\n i--;\n }\n }\n }\n return ret;\n};\n\n/**\n * Decodes UTF-8 data. This is a convenience function for when all the\n * data is already known.\n *\n * @param {String} str data to decode, represented as a JavaScript\n * String with each code unit representing a byte between 0x00 to\n * 0xFF.\n * @return {String} The data decoded into a JavaScript UTF-16 string.\n */\nlib.decodeUTF8 = function(utf8) {\n return (new lib.UTF8Decoder()).decode(utf8);\n};\n\n/**\n * Encodes a UTF-16 string into UTF-8.\n *\n * TODO(davidben): Do we need a stateful version of this that can\n * handle a surrogate pair split in two calls? What happens if a\n * keypress event would have contained a character outside the BMP?\n *\n * @param {String} str The string to encode.\n * @return {String} The string encoded as UTF-8, as a JavaScript\n * string with bytes represented as code units from 0x00 to 0xFF.\n */\nlib.encodeUTF8 = function(str) {\n var ret = '';\n for (var i = 0; i < str.length; i++) {\n // Get a unicode code point out of str.\n var c = str.charCodeAt(i);\n if (0xDC00 <= c && c <= 0xDFFF) {\n c = 0xFFFD;\n } else if (0xD800 <= c && c <= 0xDBFF) {\n if (i+1 < str.length) {\n var d = str.charCodeAt(i+1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n // Swallow a surrogate pair.\n c = 0x10000 + ((c & 0x3FF) << 10) + (d & 0x3FF);\n i++;\n } else {\n c = 0xFFFD;\n }\n } else {\n c = 0xFFFD;\n }\n }\n\n // Encode c in UTF-8.\n var bytesLeft;\n if (c <= 0x7F) {\n ret += str.charAt(i);\n continue;\n } else if (c <= 0x7FF) {\n ret += String.fromCharCode(0xC0 | (c >>> 6));\n bytesLeft = 1;\n } else if (c <= 0xFFFF) {\n ret += String.fromCharCode(0xE0 | (c >>> 12));\n bytesLeft = 2;\n } else /* if (c <= 0x10FFFF) */ {\n ret += String.fromCharCode(0xF0 | (c >>> 18));\n bytesLeft = 3;\n }\n\n while (bytesLeft > 0) {\n bytesLeft--;\n ret += String.fromCharCode(0x80 | ((c >>> (6 * bytesLeft)) & 0x3F));\n }\n }\n return ret;\n};\n// SOURCE FILE: libdot/third_party/wcwidth/lib_wc.js\n// Copyright (c) 2014 The Chromium OS Authors. All rights reserved.\n// Use of lib.wc source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * This JavaScript library is ported from the wcwidth.js module of node.js.\n * The original implementation can be found at:\n * https://npmjs.org/package/wcwidth.js\n */\n\n/**\n * JavaScript porting of Markus Kuhn's wcwidth() implementation\n *\n * The following explanation comes from the original C implementation:\n *\n * This is an implementation of wcwidth() and wcswidth() (defined in\n * IEEE Std 1002.1-2001) for Unicode.\n *\n * http://www.opengroup.org/onlinepubs/007904975/functions/wcwidth.html\n * http://www.opengroup.org/onlinepubs/007904975/functions/wcswidth.html\n *\n * In fixed-width output devices, Latin characters all occupy a single\n * \"cell\" position of equal width, whereas ideographic CJK characters\n * occupy two such cells. Interoperability between terminal-line\n * applications and (teletype-style) character terminals using the\n * UTF-8 encoding requires agreement on which character should advance\n * the cursor by how many cell positions. No established formal\n * standards exist at present on which Unicode character shall occupy\n * how many cell positions on character terminals. These routines are\n * a first attempt of defining such behavior based on simple rules\n * applied to data provided by the Unicode Consortium.\n *\n * For some graphical characters, the Unicode standard explicitly\n * defines a character-cell width via the definition of the East Asian\n * FullWidth (F), Wide (W), Half-width (H), and Narrow (Na) classes.\n * In all these cases, there is no ambiguity about which width a\n * terminal shall use. For characters in the East Asian Ambiguous (A)\n * class, the width choice depends purely on a preference of backward\n * compatibility with either historic CJK or Western practice.\n * Choosing single-width for these characters is easy to justify as\n * the appropriate long-term solution, as the CJK practice of\n * displaying these characters as double-width comes from historic\n * implementation simplicity (8-bit encoded characters were displayed\n * single-width and 16-bit ones double-width, even for Greek,\n * Cyrillic, etc.) and not any typographic considerations.\n *\n * Much less clear is the choice of width for the Not East Asian\n * (Neutral) class. Existing practice does not dictate a width for any\n * of these characters. It would nevertheless make sense\n * typographically to allocate two character cells to characters such\n * as for instance EM SPACE or VOLUME INTEGRAL, which cannot be\n * represented adequately with a single-width glyph. The following\n * routines at present merely assign a single-cell width to all\n * neutral characters, in the interest of simplicity. This is not\n * entirely satisfactory and should be reconsidered before\n * establishing a formal standard in lib.wc area. At the moment, the\n * decision which Not East Asian (Neutral) characters should be\n * represented by double-width glyphs cannot yet be answered by\n * applying a simple rule from the Unicode database content. Setting\n * up a proper standard for the behavior of UTF-8 character terminals\n * will require a careful analysis not only of each Unicode character,\n * but also of each presentation form, something the author of these\n * routines has avoided to do so far.\n *\n * http://www.unicode.org/unicode/reports/tr11/\n *\n * Markus Kuhn -- 2007-05-26 (Unicode 5.0)\n *\n * Permission to use, copy, modify, and distribute lib.wc software\n * for any purpose and without fee is hereby granted. The author\n * disclaims all warranties with regard to lib.wc software.\n *\n * Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c\n */\n\n/**\n * The following function defines the column width of an ISO 10646 character\n * as follows:\n *\n * - The null character (U+0000) has a column width of 0.\n * - Other C0/C1 control characters and DEL will lead to a return value of -1.\n * - Non-spacing and enclosing combining characters (general category code Mn\n * or Me in the Unicode database) have a column width of 0.\n * - SOFT HYPHEN (U+00AD) has a column width of 1.\n * - Other format characters (general category code Cf in the Unicode database)\n * and ZERO WIDTH SPACE (U+200B) have a column width of 0.\n * - Hangul Jamo medial vowels and final consonants (U+1160-U+11FF) have a\n * column width of 0.\n * - Spacing characters in the East Asian Wide (W) or East Asian Full-width (F)\n * category as defined in Unicode Technical Report #11 have a column width of\n * 2.\n * - East Asian Ambiguous characters are taken into account if\n * regardCjkAmbiguous flag is enabled. They have a column width of 2.\n * - All remaining characters (including all printable ISO 8859-1 and WGL4\n * characters, Unicode control characters, etc.) have a column width of 1.\n *\n * This implementation assumes that characters are encoded in ISO 10646.\n */\n\nlib.wc = {};\n\n// Width of a nul character.\nlib.wc.nulWidth = 0;\n\n// Width of a control character.\nlib.wc.controlWidth = 0;\n\n// Flag whether to consider East Asian Ambiguous characters.\nlib.wc.regardCjkAmbiguous = false;\n\n// Width of an East Asian Ambiguous character.\nlib.wc.cjkAmbiguousWidth = 2;\n\n// Sorted list of non-overlapping intervals of non-spacing characters\n// generated by \"uniset +cat=Me +cat=Mn +cat=Cf -00AD +1160-11FF +200B c\"\nlib.wc.combining = [\n [ 0x0300, 0x036F ], [ 0x0483, 0x0486 ], [ 0x0488, 0x0489 ],\n [ 0x0591, 0x05BD ], [ 0x05BF, 0x05BF ], [ 0x05C1, 0x05C2 ],\n [ 0x05C4, 0x05C5 ], [ 0x05C7, 0x05C7 ], [ 0x0600, 0x0603 ],\n [ 0x0610, 0x0615 ], [ 0x064B, 0x065E ], [ 0x0670, 0x0670 ],\n [ 0x06D6, 0x06E4 ], [ 0x06E7, 0x06E8 ], [ 0x06EA, 0x06ED ],\n [ 0x070F, 0x070F ], [ 0x0711, 0x0711 ], [ 0x0730, 0x074A ],\n [ 0x07A6, 0x07B0 ], [ 0x07EB, 0x07F3 ], [ 0x0901, 0x0902 ],\n [ 0x093C, 0x093C ], [ 0x0941, 0x0948 ], [ 0x094D, 0x094D ],\n [ 0x0951, 0x0954 ], [ 0x0962, 0x0963 ], [ 0x0981, 0x0981 ],\n [ 0x09BC, 0x09BC ], [ 0x09C1, 0x09C4 ], [ 0x09CD, 0x09CD ],\n [ 0x09E2, 0x09E3 ], [ 0x0A01, 0x0A02 ], [ 0x0A3C, 0x0A3C ],\n [ 0x0A41, 0x0A42 ], [ 0x0A47, 0x0A48 ], [ 0x0A4B, 0x0A4D ],\n [ 0x0A70, 0x0A71 ], [ 0x0A81, 0x0A82 ], [ 0x0ABC, 0x0ABC ],\n [ 0x0AC1, 0x0AC5 ], [ 0x0AC7, 0x0AC8 ], [ 0x0ACD, 0x0ACD ],\n [ 0x0AE2, 0x0AE3 ], [ 0x0B01, 0x0B01 ], [ 0x0B3C, 0x0B3C ],\n [ 0x0B3F, 0x0B3F ], [ 0x0B41, 0x0B43 ], [ 0x0B4D, 0x0B4D ],\n [ 0x0B56, 0x0B56 ], [ 0x0B82, 0x0B82 ], [ 0x0BC0, 0x0BC0 ],\n [ 0x0BCD, 0x0BCD ], [ 0x0C3E, 0x0C40 ], [ 0x0C46, 0x0C48 ],\n [ 0x0C4A, 0x0C4D ], [ 0x0C55, 0x0C56 ], [ 0x0CBC, 0x0CBC ],\n [ 0x0CBF, 0x0CBF ], [ 0x0CC6, 0x0CC6 ], [ 0x0CCC, 0x0CCD ],\n [ 0x0CE2, 0x0CE3 ], [ 0x0D41, 0x0D43 ], [ 0x0D4D, 0x0D4D ],\n [ 0x0DCA, 0x0DCA ], [ 0x0DD2, 0x0DD4 ], [ 0x0DD6, 0x0DD6 ],\n [ 0x0E31, 0x0E31 ], [ 0x0E34, 0x0E3A ], [ 0x0E47, 0x0E4E ],\n [ 0x0EB1, 0x0EB1 ], [ 0x0EB4, 0x0EB9 ], [ 0x0EBB, 0x0EBC ],\n [ 0x0EC8, 0x0ECD ], [ 0x0F18, 0x0F19 ], [ 0x0F35, 0x0F35 ],\n [ 0x0F37, 0x0F37 ], [ 0x0F39, 0x0F39 ], [ 0x0F71, 0x0F7E ],\n [ 0x0F80, 0x0F84 ], [ 0x0F86, 0x0F87 ], [ 0x0F90, 0x0F97 ],\n [ 0x0F99, 0x0FBC ], [ 0x0FC6, 0x0FC6 ], [ 0x102D, 0x1030 ],\n [ 0x1032, 0x1032 ], [ 0x1036, 0x1037 ], [ 0x1039, 0x1039 ],\n [ 0x1058, 0x1059 ], [ 0x1160, 0x11FF ], [ 0x135F, 0x135F ],\n [ 0x1712, 0x1714 ], [ 0x1732, 0x1734 ], [ 0x1752, 0x1753 ],\n [ 0x1772, 0x1773 ], [ 0x17B4, 0x17B5 ], [ 0x17B7, 0x17BD ],\n [ 0x17C6, 0x17C6 ], [ 0x17C9, 0x17D3 ], [ 0x17DD, 0x17DD ],\n [ 0x180B, 0x180D ], [ 0x18A9, 0x18A9 ], [ 0x1920, 0x1922 ],\n [ 0x1927, 0x1928 ], [ 0x1932, 0x1932 ], [ 0x1939, 0x193B ],\n [ 0x1A17, 0x1A18 ], [ 0x1B00, 0x1B03 ], [ 0x1B34, 0x1B34 ],\n [ 0x1B36, 0x1B3A ], [ 0x1B3C, 0x1B3C ], [ 0x1B42, 0x1B42 ],\n [ 0x1B6B, 0x1B73 ], [ 0x1DC0, 0x1DCA ], [ 0x1DFE, 0x1DFF ],\n [ 0x200B, 0x200F ], [ 0x202A, 0x202E ], [ 0x2060, 0x2063 ],\n [ 0x206A, 0x206F ], [ 0x20D0, 0x20EF ], [ 0x302A, 0x302F ],\n [ 0x3099, 0x309A ], [ 0xA806, 0xA806 ], [ 0xA80B, 0xA80B ],\n [ 0xA825, 0xA826 ], [ 0xFB1E, 0xFB1E ], [ 0xFE00, 0xFE0F ],\n [ 0xFE20, 0xFE23 ], [ 0xFEFF, 0xFEFF ], [ 0xFFF9, 0xFFFB ],\n [ 0x10A01, 0x10A03 ], [ 0x10A05, 0x10A06 ], [ 0x10A0C, 0x10A0F ],\n [ 0x10A38, 0x10A3A ], [ 0x10A3F, 0x10A3F ], [ 0x1D167, 0x1D169 ],\n [ 0x1D173, 0x1D182 ], [ 0x1D185, 0x1D18B ], [ 0x1D1AA, 0x1D1AD ],\n [ 0x1D242, 0x1D244 ], [ 0xE0001, 0xE0001 ], [ 0xE0020, 0xE007F ],\n [ 0xE0100, 0xE01EF ]\n];\n\n// Sorted list of non-overlapping intervals of East Asian Ambiguous characters\n// generated by \"uniset +WIDTH-A -cat=Me -cat=Mn -cat=Cf c\"\nlib.wc.ambiguous = [\n [ 0x00A1, 0x00A1 ], [ 0x00A4, 0x00A4 ], [ 0x00A7, 0x00A8 ],\n [ 0x00AA, 0x00AA ], [ 0x00AE, 0x00AE ], [ 0x00B0, 0x00B4 ],\n [ 0x00B6, 0x00BA ], [ 0x00BC, 0x00BF ], [ 0x00C6, 0x00C6 ],\n [ 0x00D0, 0x00D0 ], [ 0x00D7, 0x00D8 ], [ 0x00DE, 0x00E1 ],\n [ 0x00E6, 0x00E6 ], [ 0x00E8, 0x00EA ], [ 0x00EC, 0x00ED ],\n [ 0x00F0, 0x00F0 ], [ 0x00F2, 0x00F3 ], [ 0x00F7, 0x00FA ],\n [ 0x00FC, 0x00FC ], [ 0x00FE, 0x00FE ], [ 0x0101, 0x0101 ],\n [ 0x0111, 0x0111 ], [ 0x0113, 0x0113 ], [ 0x011B, 0x011B ],\n [ 0x0126, 0x0127 ], [ 0x012B, 0x012B ], [ 0x0131, 0x0133 ],\n [ 0x0138, 0x0138 ], [ 0x013F, 0x0142 ], [ 0x0144, 0x0144 ],\n [ 0x0148, 0x014B ], [ 0x014D, 0x014D ], [ 0x0152, 0x0153 ],\n [ 0x0166, 0x0167 ], [ 0x016B, 0x016B ], [ 0x01CE, 0x01CE ],\n [ 0x01D0, 0x01D0 ], [ 0x01D2, 0x01D2 ], [ 0x01D4, 0x01D4 ],\n [ 0x01D6, 0x01D6 ], [ 0x01D8, 0x01D8 ], [ 0x01DA, 0x01DA ],\n [ 0x01DC, 0x01DC ], [ 0x0251, 0x0251 ], [ 0x0261, 0x0261 ],\n [ 0x02C4, 0x02C4 ], [ 0x02C7, 0x02C7 ], [ 0x02C9, 0x02CB ],\n [ 0x02CD, 0x02CD ], [ 0x02D0, 0x02D0 ], [ 0x02D8, 0x02DB ],\n [ 0x02DD, 0x02DD ], [ 0x02DF, 0x02DF ], [ 0x0391, 0x03A1 ],\n [ 0x03A3, 0x03A9 ], [ 0x03B1, 0x03C1 ], [ 0x03C3, 0x03C9 ],\n [ 0x0401, 0x0401 ], [ 0x0410, 0x044F ], [ 0x0451, 0x0451 ],\n [ 0x2010, 0x2010 ], [ 0x2013, 0x2016 ], [ 0x2018, 0x2019 ],\n [ 0x201C, 0x201D ], [ 0x2020, 0x2022 ], [ 0x2024, 0x2027 ],\n [ 0x2030, 0x2030 ], [ 0x2032, 0x2033 ], [ 0x2035, 0x2035 ],\n [ 0x203B, 0x203B ], [ 0x203E, 0x203E ], [ 0x2074, 0x2074 ],\n [ 0x207F, 0x207F ], [ 0x2081, 0x2084 ], [ 0x20AC, 0x20AC ],\n [ 0x2103, 0x2103 ], [ 0x2105, 0x2105 ], [ 0x2109, 0x2109 ],\n [ 0x2113, 0x2113 ], [ 0x2116, 0x2116 ], [ 0x2121, 0x2122 ],\n [ 0x2126, 0x2126 ], [ 0x212B, 0x212B ], [ 0x2153, 0x2154 ],\n [ 0x215B, 0x215E ], [ 0x2160, 0x216B ], [ 0x2170, 0x2179 ],\n [ 0x2190, 0x2199 ], [ 0x21B8, 0x21B9 ], [ 0x21D2, 0x21D2 ],\n [ 0x21D4, 0x21D4 ], [ 0x21E7, 0x21E7 ], [ 0x2200, 0x2200 ],\n [ 0x2202, 0x2203 ], [ 0x2207, 0x2208 ], [ 0x220B, 0x220B ],\n [ 0x220F, 0x220F ], [ 0x2211, 0x2211 ], [ 0x2215, 0x2215 ],\n [ 0x221A, 0x221A ], [ 0x221D, 0x2220 ], [ 0x2223, 0x2223 ],\n [ 0x2225, 0x2225 ], [ 0x2227, 0x222C ], [ 0x222E, 0x222E ],\n [ 0x2234, 0x2237 ], [ 0x223C, 0x223D ], [ 0x2248, 0x2248 ],\n [ 0x224C, 0x224C ], [ 0x2252, 0x2252 ], [ 0x2260, 0x2261 ],\n [ 0x2264, 0x2267 ], [ 0x226A, 0x226B ], [ 0x226E, 0x226F ],\n [ 0x2282, 0x2283 ], [ 0x2286, 0x2287 ], [ 0x2295, 0x2295 ],\n [ 0x2299, 0x2299 ], [ 0x22A5, 0x22A5 ], [ 0x22BF, 0x22BF ],\n [ 0x2312, 0x2312 ], [ 0x2460, 0x24E9 ], [ 0x24EB, 0x254B ],\n [ 0x2550, 0x2573 ], [ 0x2580, 0x258F ], [ 0x2592, 0x2595 ],\n [ 0x25A0, 0x25A1 ], [ 0x25A3, 0x25A9 ], [ 0x25B2, 0x25B3 ],\n [ 0x25B6, 0x25B7 ], [ 0x25BC, 0x25BD ], [ 0x25C0, 0x25C1 ],\n [ 0x25C6, 0x25C8 ], [ 0x25CB, 0x25CB ], [ 0x25CE, 0x25D1 ],\n [ 0x25E2, 0x25E5 ], [ 0x25EF, 0x25EF ], [ 0x2605, 0x2606 ],\n [ 0x2609, 0x2609 ], [ 0x260E, 0x260F ], [ 0x2614, 0x2615 ],\n [ 0x261C, 0x261C ], [ 0x261E, 0x261E ], [ 0x2640, 0x2640 ],\n [ 0x2642, 0x2642 ], [ 0x2660, 0x2661 ], [ 0x2663, 0x2665 ],\n [ 0x2667, 0x266A ], [ 0x266C, 0x266D ], [ 0x266F, 0x266F ],\n [ 0x273D, 0x273D ], [ 0x2776, 0x277F ], [ 0xE000, 0xF8FF ],\n [ 0xFFFD, 0xFFFD ], [ 0xF0000, 0xFFFFD ], [ 0x100000, 0x10FFFD ]\n];\n\n/**\n * Binary search to check if the given unicode character is a space character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {boolean} True if the given character is a space character; false\n * otherwise.\n */\nlib.wc.isSpace = function(ucs) {\n // Auxiliary function for binary search in interval table.\n var min = 0, max = lib.wc.combining.length - 1;\n var mid;\n\n if (ucs < lib.wc.combining[0][0] || ucs > lib.wc.combining[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > lib.wc.combining[mid][1]) {\n min = mid + 1;\n } else if (ucs < lib.wc.combining[mid][0]) {\n max = mid - 1;\n } else {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * Auxiliary function for checking if the given unicode character is a East\n * Asian Ambiguous character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {boolean} True if the given character is a East Asian Ambiguous\n * character.\n */\nlib.wc.isCjkAmbiguous = function(ucs) {\n var min = 0, max = lib.wc.ambiguous.length - 1;\n var mid;\n\n if (ucs < lib.wc.ambiguous[0][0] || ucs > lib.wc.ambiguous[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > lib.wc.ambiguous[mid][1]) {\n min = mid + 1;\n } else if (ucs < lib.wc.ambiguous[mid][0]) {\n max = mid - 1;\n } else {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * Determine the column width of the given character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidth = function(ucs) {\n if (lib.wc.regardCjkAmbiguous) {\n return lib.wc.charWidthRegardAmbiguous(ucs);\n } else {\n return lib.wc.charWidthDisregardAmbiguous(ucs);\n }\n};\n\n/**\n * Determine the column width of the given character without considering East\n * Asian Ambiguous characters.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidthDisregardAmbiguous = function(ucs) {\n // Test for 8-bit control characters.\n if (ucs === 0)\n return lib.wc.nulWidth;\n if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0))\n return lib.wc.controlWidth;\n\n // Optimize for ASCII characters.\n if (ucs < 0x7f)\n return 1;\n\n // Binary search in table of non-spacing characters.\n if (lib.wc.isSpace(ucs))\n return 0;\n\n // If we arrive here, ucs is not a combining or C0/C1 control character.\n return 1 +\n (ucs >= 0x1100 &&\n (ucs <= 0x115f || // Hangul Jamo init. consonants\n ucs == 0x2329 || ucs == 0x232a ||\n (ucs >= 0x2e80 && ucs <= 0xa4cf &&\n ucs != 0x303f) || // CJK ... Yi\n (ucs >= 0xac00 && ucs <= 0xd7a3) || // Hangul Syllables\n (ucs >= 0xf900 && ucs <= 0xfaff) || // CJK Compatibility Ideographs\n (ucs >= 0xfe10 && ucs <= 0xfe19) || // Vertical forms\n (ucs >= 0xfe30 && ucs <= 0xfe6f) || // CJK Compatibility Forms\n (ucs >= 0xff00 && ucs <= 0xff60) || // Fullwidth Forms\n (ucs >= 0xffe0 && ucs <= 0xffe6) ||\n (ucs >= 0x20000 && ucs <= 0x2fffd) ||\n (ucs >= 0x30000 && ucs <= 0x3fffd)));\n // TODO: emoji characters usually require space for wide characters although\n // East Asian width spec says nothing. Should we add special cases for them?\n};\n\n/**\n * Determine the column width of the given character considering East Asian\n * Ambiguous characters.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidthRegardAmbiguous = function(ucs) {\n if (lib.wc.isCjkAmbiguous(ucs))\n return lib.wc.cjkAmbiguousWidth;\n\n return lib.wc.charWidthDisregardAmbiguous(ucs);\n};\n\n/**\n * Determine the column width of the given string.\n *\n * @param {string} str A string.\n *\n * @return {integer} The column width of the given string.\n */\nlib.wc.strWidth = function(str) {\n var width, rv = 0;\n\n for (var i = 0; i < str.length;) {\n var codePoint = str.codePointAt(i);\n width = lib.wc.charWidth(codePoint);\n if (width < 0)\n return -1;\n rv += width;\n i += (codePoint <= 0xffff) ? 1 : 2;\n }\n\n return rv;\n};\n\n/**\n * Get the substring at the given column offset of the given column width.\n *\n * @param {string} str The string to get substring from.\n * @param {integer} start The starting column offset to get substring.\n * @param {integer} opt_width The column width of the substring.\n *\n * @return {string} The substring.\n */\nlib.wc.substr = function(str, start, opt_width) {\n var startIndex, endIndex, width;\n\n for (startIndex = 0, width = 0; startIndex < str.length; startIndex++) {\n width += lib.wc.charWidth(str.charCodeAt(startIndex));\n if (width > start)\n break;\n }\n\n if (opt_width != undefined) {\n for (endIndex = startIndex, width = 0;\n endIndex < str.length && width <= opt_width;\n width += lib.wc.charWidth(str.charCodeAt(endIndex)), endIndex++);\n if (width > opt_width)\n endIndex--;\n return str.substring(startIndex, endIndex);\n }\n\n return str.substr(startIndex);\n};\n\n/**\n * Get substring at the given start and end column offset.\n *\n * @param {string} str The string to get substring from.\n * @param {integer} start The starting column offset.\n * @param {integer} end The ending column offset.\n *\n * @return {string} The substring.\n */\nlib.wc.substring = function(str, start, end) {\n return lib.wc.substr(str, start, end - start);\n};\nlib.resource.add('libdot/changelog/version', 'text/plain',\n'1.16' +\n''\n);\n\nlib.resource.add('libdot/changelog/date', 'text/plain',\n'2017-08-16' +\n''\n);\n\n// SOURCE FILE: hterm/js/hterm.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.Storage');\n\n/**\n * @fileoverview Declares the hterm.* namespace and some basic shared utilities\n * that are too small to deserve dedicated files.\n */\nvar hterm = {};\n\n/**\n * The type of window hosting hterm.\n *\n * This is set as part of hterm.init(). The value is invalid until\n * initialization completes.\n */\nhterm.windowType = null;\n\n/**\n * Warning message to display in the terminal when browser zoom is enabled.\n *\n * You can replace it with your own localized message.\n */\nhterm.zoomWarningMessage = 'ZOOM != 100%';\n\n/**\n * Brief overlay message displayed when text is copied to the clipboard.\n *\n * By default it is the unicode BLACK SCISSORS character, but you can\n * replace it with your own localized message.\n *\n * This is only displayed when the 'enable-clipboard-notice' preference\n * is enabled.\n */\nhterm.notifyCopyMessage = '\\u2702';\n\n\n/**\n * Text shown in a desktop notification for the terminal\n * bell. \\u226a is a unicode EIGHTH NOTE, %(title) will\n * be replaced by the terminal title.\n */\nhterm.desktopNotificationTitle = '\\u266A %(title) \\u266A';\n\n/**\n * List of known hterm test suites.\n *\n * A test harness should ensure that they all exist before running.\n */\nhterm.testDeps = ['hterm.ScrollPort.Tests', 'hterm.Screen.Tests',\n 'hterm.Terminal.Tests', 'hterm.VT.Tests',\n 'hterm.VT.CannedTests'];\n\n/**\n * The hterm init function, registered with lib.registerInit().\n *\n * This is called during lib.init().\n *\n * @param {function} onInit The function lib.init() wants us to invoke when\n * initialization is complete.\n */\nlib.registerInit('hterm', function(onInit) {\n function onWindow(window) {\n hterm.windowType = window.type;\n setTimeout(onInit, 0);\n }\n\n function onTab(tab) {\n if (tab && window.chrome) {\n chrome.windows.get(tab.windowId, null, onWindow);\n } else {\n // TODO(rginda): This is where we end up for a v1 app's background page.\n // Maybe windowType = 'none' would be more appropriate, or something.\n hterm.windowType = 'normal';\n setTimeout(onInit, 0);\n }\n }\n\n if (!hterm.defaultStorage) {\n if (window.chrome && chrome.storage && chrome.storage.sync) {\n hterm.defaultStorage = new lib.Storage.Chrome(chrome.storage.sync);\n } else {\n hterm.defaultStorage = new lib.Storage.Local();\n }\n }\n\n // The chrome.tabs API is not supported in packaged apps, and detecting if\n // you're a packaged app is a little awkward.\n var isPackagedApp = false;\n if (window.chrome && chrome.runtime && chrome.runtime.getManifest) {\n var manifest = chrome.runtime.getManifest();\n isPackagedApp = manifest.app && manifest.app.background;\n }\n\n if (isPackagedApp) {\n // Packaged apps are never displayed in browser tabs.\n setTimeout(onWindow.bind(null, {type: 'popup'}), 0);\n } else {\n if (window.chrome && chrome.tabs) {\n // The getCurrent method gets the tab that is \"currently running\", not the\n // topmost or focused tab.\n chrome.tabs.getCurrent(onTab);\n } else {\n setTimeout(onWindow.bind(null, {type: 'normal'}), 0);\n }\n }\n});\n\n/**\n * Return decimal { width, height } for a given dom node.\n */\nhterm.getClientSize = function(dom) {\n return dom.getBoundingClientRect();\n};\n\n/**\n * Return decimal width for a given dom node.\n */\nhterm.getClientWidth = function(dom) {\n return dom.getBoundingClientRect().width;\n};\n\n/**\n * Return decimal height for a given dom node.\n */\nhterm.getClientHeight = function(dom) {\n return dom.getBoundingClientRect().height;\n};\n\n/**\n * Copy the current selection to the system clipboard.\n *\n * @param {HTMLDocument} The document with the selection to copy.\n */\nhterm.copySelectionToClipboard = function(document) {\n try {\n document.execCommand('copy');\n } catch (firefoxException) {\n // Ignore this. FF throws an exception if there was an error, even though\n // the spec says just return false.\n }\n};\n\n/**\n * Paste the system clipboard into the element with focus.\n *\n * Note: In Chrome/Firefox app/extension environments, you'll need the\n * \"clipboardRead\" permission. In other environments, this might always\n * fail as the browser frequently blocks access for security reasons.\n *\n * @param {HTMLDocument} The document to paste into.\n * @return {boolean} True if the paste succeeded.\n */\nhterm.pasteFromClipboard = function(document) {\n try {\n return document.execCommand('paste');\n } catch (firefoxException) {\n // Ignore this. FF 40 and older would incorrectly throw an exception if\n // there was an error instead of returning false.\n return false;\n }\n};\n\n/**\n * Create a new notification.\n *\n * @param {Object} params Various parameters for the notification.\n * @param {string} params.title The title (defaults to the window's title).\n * @param {string} params.body The message body (main text).\n */\nhterm.notify = function(params) {\n var def = (curr, fallback) => curr !== undefined ? curr : fallback;\n if (params === undefined || params === null)\n params = {};\n\n // Merge the user's choices with the default settings. We don't take it\n // directly in case it was stuffed with excess junk.\n var options = {\n 'body': params.body,\n 'icon': def(params.icon, lib.resource.getDataUrl('hterm/images/icon-96')),\n }\n\n var title = def(params.title, window.document.title);\n if (!title)\n title = 'hterm';\n title = lib.f.replaceVars(hterm.desktopNotificationTitle, {'title': title});\n\n var n = new Notification(title, options);\n n.onclick = function() {\n window.focus();\n this.close();\n };\n return n;\n};\n\n/**\n * Constructor for a hterm.Size record.\n *\n * Instances of this class have public read/write members for width and height.\n *\n * @param {integer} width The width of this record.\n * @param {integer} height The height of this record.\n */\nhterm.Size = function(width, height) {\n this.width = width;\n this.height = height;\n};\n\n/**\n * Adjust the width and height of this record.\n *\n * @param {integer} width The new width of this record.\n * @param {integer} height The new height of this record.\n */\nhterm.Size.prototype.resize = function(width, height) {\n this.width = width;\n this.height = height;\n};\n\n/**\n * Return a copy of this record.\n *\n * @return {hterm.Size} A new hterm.Size instance with the same width and\n * height.\n */\nhterm.Size.prototype.clone = function() {\n return new hterm.Size(this.width, this.height);\n};\n\n/**\n * Set the height and width of this instance based on another hterm.Size.\n *\n * @param {hterm.Size} that The object to copy from.\n */\nhterm.Size.prototype.setTo = function(that) {\n this.width = that.width;\n this.height = that.height;\n};\n\n/**\n * Test if another hterm.Size instance is equal to this one.\n *\n * @param {hterm.Size} that The other hterm.Size instance.\n * @return {boolean} True if both instances have the same width/height, false\n * otherwise.\n */\nhterm.Size.prototype.equals = function(that) {\n return this.width == that.width && this.height == that.height;\n};\n\n/**\n * Return a string representation of this instance.\n *\n * @return {string} A string that identifies the width and height of this\n * instance.\n */\nhterm.Size.prototype.toString = function() {\n return '[hterm.Size: ' + this.width + ', ' + this.height + ']';\n};\n\n/**\n * Constructor for a hterm.RowCol record.\n *\n * Instances of this class have public read/write members for row and column.\n *\n * This class includes an 'overflow' bit which is use to indicate that an\n * attempt has been made to move the cursor column passed the end of the\n * screen. When this happens we leave the cursor column set to the last column\n * of the screen but set the overflow bit. In this state cursor movement\n * happens normally, but any attempt to print new characters causes a cr/lf\n * first.\n *\n * @param {integer} row The row of this record.\n * @param {integer} column The column of this record.\n * @param {boolean} opt_overflow Optional boolean indicating that the RowCol\n * has overflowed.\n */\nhterm.RowCol = function(row, column, opt_overflow) {\n this.row = row;\n this.column = column;\n this.overflow = !!opt_overflow;\n};\n\n/**\n * Adjust the row and column of this record.\n *\n * @param {integer} row The new row of this record.\n * @param {integer} column The new column of this record.\n * @param {boolean} opt_overflow Optional boolean indicating that the RowCol\n * has overflowed.\n */\nhterm.RowCol.prototype.move = function(row, column, opt_overflow) {\n this.row = row;\n this.column = column;\n this.overflow = !!opt_overflow;\n};\n\n/**\n * Return a copy of this record.\n *\n * @return {hterm.RowCol} A new hterm.RowCol instance with the same row and\n * column.\n */\nhterm.RowCol.prototype.clone = function() {\n return new hterm.RowCol(this.row, this.column, this.overflow);\n};\n\n/**\n * Set the row and column of this instance based on another hterm.RowCol.\n *\n * @param {hterm.RowCol} that The object to copy from.\n */\nhterm.RowCol.prototype.setTo = function(that) {\n this.row = that.row;\n this.column = that.column;\n this.overflow = that.overflow;\n};\n\n/**\n * Test if another hterm.RowCol instance is equal to this one.\n *\n * @param {hterm.RowCol} that The other hterm.RowCol instance.\n * @return {boolean} True if both instances have the same row/column, false\n * otherwise.\n */\nhterm.RowCol.prototype.equals = function(that) {\n return (this.row == that.row && this.column == that.column &&\n this.overflow == that.overflow);\n};\n\n/**\n * Return a string representation of this instance.\n *\n * @return {string} A string that identifies the row and column of this\n * instance.\n */\nhterm.RowCol.prototype.toString = function() {\n return ('[hterm.RowCol: ' + this.row + ', ' + this.column + ', ' +\n this.overflow + ']');\n};\n// SOURCE FILE: hterm/js/hterm_frame.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f');\n\n/**\n * First draft of the interface between the terminal and a third party dialog.\n *\n * This is rough. It's just the terminal->dialog layer. To complete things\n * we'll also need a command->terminal layer. That will have to facilitate\n * command->terminal->dialog or direct command->dialog communication.\n *\n * I imagine this class will change significantly when that happens.\n */\n\n/**\n * Construct a new frame for the given terminal.\n *\n * @param terminal {hterm.Terminal} The parent terminal object.\n * @param url {String} The url to load in the frame.\n * @param opt_options {Object} Optional options for the frame. Not implemented.\n */\nhterm.Frame = function(terminal, url, opt_options) {\n this.terminal_ = terminal;\n this.div_ = terminal.div_;\n this.url = url;\n this.options = opt_options || {};\n this.iframe_ = null;\n this.container_ = null;\n this.messageChannel_ = null;\n};\n\n/**\n * Handle messages from the iframe.\n */\nhterm.Frame.prototype.onMessage_ = function(e) {\n switch (e.data.name) {\n case 'ipc-init-ok':\n // We get this response after we send them ipc-init and they finish.\n this.sendTerminalInfo_();\n return;\n case 'terminal-info-ok':\n // We get this response after we send them terminal-info and they finish.\n // Show the finished frame, and then rebind our message handler to the\n // callback below.\n this.container_.style.display = 'flex';\n this.messageChannel_.port1.onmessage = this.onMessage.bind(this);\n this.onLoad();\n return;\n default:\n console.log('Unknown message from frame:', e.data);\n return;\n }\n};\n\n/**\n * Clients could override this, I guess.\n *\n * It doesn't support multiple listeners, but I'm not sure that would make sense\n * here. It's probably better to speak directly to our parents.\n */\nhterm.Frame.prototype.onMessage = function() {};\n\n/**\n * Handle iframe onLoad event.\n */\nhterm.Frame.prototype.onLoad_ = function() {\n this.messageChannel_ = new MessageChannel();\n this.messageChannel_.port1.onmessage = this.onMessage_.bind(this);\n this.messageChannel_.port1.start();\n this.iframe_.contentWindow.postMessage(\n {name: 'ipc-init', argv: [{messagePort: this.messageChannel_.port2}]},\n this.url, [this.messageChannel_.port2]);\n};\n\n/**\n * Clients may override this.\n */\nhterm.Frame.prototype.onLoad = function() {};\n\n/**\n * Sends the terminal-info message to the iframe.\n */\nhterm.Frame.prototype.sendTerminalInfo_ = function() {\n lib.f.getAcceptLanguages(function(languages) {\n this.postMessage('terminal-info', [{\n acceptLanguages: languages,\n foregroundColor: this.terminal_.getForegroundColor(),\n backgroundColor: this.terminal_.getBackgroundColor(),\n cursorColor: this.terminal_.getCursorColor(),\n fontSize: this.terminal_.getFontSize(),\n fontFamily: this.terminal_.getFontFamily(),\n baseURL: lib.f.getURL('/')\n }]\n );\n }.bind(this));\n};\n\n/**\n * User clicked the close button on the frame decoration.\n */\nhterm.Frame.prototype.onCloseClicked_ = function() {\n this.close();\n};\n\n/**\n * Close this frame.\n */\nhterm.Frame.prototype.close = function() {\n if (!this.container_ || !this.container_.parentNode)\n return;\n\n this.container_.parentNode.removeChild(this.container_);\n this.onClose();\n};\n\n\n/**\n * Clients may override this.\n */\nhterm.Frame.prototype.onClose = function() {};\n\n/**\n * Send a message to the iframe.\n */\nhterm.Frame.prototype.postMessage = function(name, argv) {\n if (!this.messageChannel_)\n throw new Error('Message channel is not set up.');\n\n this.messageChannel_.port1.postMessage({name: name, argv: argv});\n};\n\n/**\n * Show the UI for this frame.\n *\n * The iframe src is not loaded until this method is called.\n */\nhterm.Frame.prototype.show = function() {\n var self = this;\n\n function opt(name, defaultValue) {\n if (name in self.options)\n return self.options[name];\n\n return defaultValue;\n }\n\n var self = this;\n\n if (this.container_ && this.container_.parentNode) {\n console.error('Frame already visible');\n return;\n }\n\n var headerHeight = '16px';\n\n var divSize = hterm.getClientSize(this.div_);\n\n var width = opt('width', 640);\n var height = opt('height', 480);\n var left = (divSize.width - width) / 2;\n var top = (divSize.height - height) / 2;\n\n var document = this.terminal_.document_;\n\n var container = this.container_ = document.createElement('div');\n container.style.cssText = (\n 'position: absolute;' +\n 'display: none;' +\n 'flex-direction: column;' +\n 'top: 10%;' +\n 'left: 4%;' +\n 'width: 90%;' +\n 'height: 80%;' +\n 'min-height: 20%;' +\n 'max-height: 80%;' +\n 'box-shadow: 0 0 2px ' + this.terminal_.getForegroundColor() + ';' +\n 'border: 2px ' + this.terminal_.getForegroundColor() + ' solid;');\n\n if (false) {\n // No use for the close button, so no use for the window header either.\n var header = document.createElement('div');\n header.style.cssText = (\n 'display: flex;' +\n 'justify-content: flex-end;' +\n 'height: ' + headerHeight + ';' +\n 'background-color: ' + this.terminal_.getForegroundColor() + ';' +\n 'color: ' + this.terminal_.getBackgroundColor() + ';' +\n 'font-size: 16px;' +\n 'font-family: ' + this.terminal_.getFontFamily());\n container.appendChild(header);\n\n var button = document.createElement('div');\n button.setAttribute('role', 'button');\n button.style.cssText = (\n 'margin-top: -3px;' +\n 'margin-right: 3px;' +\n 'cursor: pointer;');\n button.textContent = '\\u2a2f';\n button.addEventListener('click', this.onCloseClicked_.bind(this));\n header.appendChild(button);\n }\n\n var iframe = this.iframe_ = document.createElement('iframe');\n iframe.onload = this.onLoad_.bind(this);\n iframe.style.cssText = (\n 'display: flex;' +\n 'flex: 1;' +\n 'width: 100%');\n iframe.setAttribute('src', this.url);\n iframe.setAttribute('seamless', true);\n container.appendChild(iframe);\n\n this.div_.appendChild(container);\n};\n// SOURCE FILE: hterm/js/hterm_keyboard.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyMap');\n\n/**\n * Keyboard handler.\n *\n * Consumes onKey* events and invokes onVTKeystroke on the associated\n * hterm.Terminal object.\n *\n * See also: [XTERM] as referenced in vt.js.\n *\n * @param {hterm.Terminal} The Terminal object associated with this keyboard.\n */\nhterm.Keyboard = function(terminal) {\n // The parent vt interpreter.\n this.terminal = terminal;\n\n // The element we're currently capturing keyboard events for.\n this.keyboardElement_ = null;\n\n // The event handlers we are interested in, and their bound callbacks, saved\n // so they can be uninstalled with removeEventListener, when required.\n this.handlers_ = [\n ['focusout', this.onFocusOut_.bind(this)],\n ['keydown', this.onKeyDown_.bind(this)],\n ['keypress', this.onKeyPress_.bind(this)],\n ['keyup', this.onKeyUp_.bind(this)],\n ['textInput', this.onTextInput_.bind(this)]\n ];\n\n /**\n * The current key map.\n */\n this.keyMap = new hterm.Keyboard.KeyMap(this);\n\n this.bindings = new hterm.Keyboard.Bindings(this);\n\n /**\n * none: Disable any AltGr related munging.\n * ctrl-alt: Assume Ctrl+Alt means AltGr.\n * left-alt: Assume left Alt means AltGr.\n * right-alt: Assume right Alt means AltGr.\n */\n this.altGrMode = 'none';\n\n /**\n * If true, Shift-Insert will fall through to the browser as a paste.\n * If false, the keystroke will be sent to the host.\n */\n this.shiftInsertPaste = true;\n\n /**\n * If true, home/end will control the terminal scrollbar and shift home/end\n * will send the VT keycodes. If false then home/end sends VT codes and\n * shift home/end scrolls.\n */\n this.homeKeysScroll = false;\n\n /**\n * Same as above, except for page up/page down.\n */\n this.pageKeysScroll = false;\n\n /**\n * If true, Ctrl-Plus/Minus/Zero controls zoom.\n * If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_,\n * Ctrl-Plus/Zero do nothing.\n */\n this.ctrlPlusMinusZeroZoom = true;\n\n /**\n * Ctrl+C copies if true, sends ^C to host if false.\n * Ctrl+Shift+C sends ^C to host if true, copies if false.\n */\n this.ctrlCCopy = false;\n\n /**\n * Ctrl+V pastes if true, sends ^V to host if false.\n * Ctrl+Shift+V sends ^V to host if true, pastes if false.\n */\n this.ctrlVPaste = false;\n\n /**\n * Enable/disable application keypad.\n *\n * This changes the way numeric keys are sent from the keyboard.\n */\n this.applicationKeypad = false;\n\n /**\n * Enable/disable the application cursor mode.\n *\n * This changes the way cursor keys are sent from the keyboard.\n */\n this.applicationCursor = false;\n\n /**\n * If true, the backspace should send BS ('\\x08', aka ^H). Otherwise\n * the backspace key should send '\\x7f'.\n */\n this.backspaceSendsBackspace = false;\n\n /**\n * The encoding method for data sent to the host.\n */\n this.characterEncoding = 'utf-8';\n\n /**\n * Set whether the meta key sends a leading escape or not.\n */\n this.metaSendsEscape = true;\n\n /**\n * Set whether meta-V gets passed to host.\n */\n this.passMetaV = true;\n\n /**\n * Controls how the alt key is handled.\n *\n * escape....... Send an ESC prefix.\n * 8-bit........ Add 128 to the unshifted character as in xterm.\n * browser-key.. Wait for the keypress event and see what the browser says.\n * (This won't work well on platforms where the browser\n * performs a default action for some alt sequences.)\n *\n * This setting only matters when alt is distinct from meta (altIsMeta is\n * false.)\n */\n this.altSendsWhat = 'escape';\n\n /**\n * Set whether the alt key acts as a meta key, instead of producing 8-bit\n * characters.\n *\n * True to enable, false to disable, null to autodetect based on platform.\n */\n this.altIsMeta = false;\n\n /**\n * If true, tries to detect DEL key events that are from alt-backspace on\n * Chrome OS vs from a true DEL key press.\n *\n * Background: At the time of writing, on Chrome OS, alt-backspace is mapped\n * to DEL. Some users may be happy with this, but others may be frustrated\n * that it's impossible to do meta-backspace. If the user enables this pref,\n * we use a trick to tell a true DEL keypress from alt-backspace: on\n * alt-backspace, we will see the alt key go down, then get a DEL keystroke\n * that indicates that alt is not pressed. See https://crbug.com/174410 .\n */\n this.altBackspaceIsMetaBackspace = false;\n\n /**\n * Used to keep track of the current alt-key state, which is necessary for\n * the altBackspaceIsMetaBackspace preference above and for the altGrMode\n * preference. This is a bitmap with where bit positions correspond to the\n * \"location\" property of the key event.\n */\n this.altKeyPressed = 0;\n\n /**\n * If true, Chrome OS media keys will be mapped to their F-key equivalent.\n * E.g. \"Back\" will be mapped to F1. If false, Chrome will handle the keys.\n */\n this.mediaKeysAreFKeys = false;\n\n /**\n * Holds the previous setting of altSendsWhat when DECSET 1039 is used. When\n * DECRST 1039 is used, altSendsWhat is changed back to this and this is\n * nulled out.\n */\n this.previousAltSendsWhat_ = null;\n};\n\n/**\n * Special handling for keyCodes in a keyboard layout.\n */\nhterm.Keyboard.KeyActions = {\n /**\n * Call preventDefault and stopPropagation for this key event and nothing\n * else.\n */\n CANCEL: lib.f.createEnum('CANCEL'),\n\n /**\n * This performs the default terminal action for the key. If used in the\n * 'normal' action and the the keystroke represents a printable key, the\n * character will be sent to the host. If used in one of the modifier\n * actions, the terminal will perform the normal action after (possibly)\n * altering it.\n *\n * - If the normal sequence starts with CSI, the sequence will be adjusted\n * to include the modifier parameter as described in [XTERM] in the final\n * table of the \"PC-Style Function Keys\" section.\n *\n * - If the control key is down and the key represents a printable character,\n * and the uppercase version of the unshifted keycap is between\n * 64 (ASCII '@') and 95 (ASCII '_'), then the uppercase version of the\n * unshifted keycap minus 64 is sent. This makes '^@' send '\\x00' and\n * '^_' send '\\x1f'. (Note that one higher that 0x1f is 0x20, which is\n * the first printable ASCII value.)\n *\n * - If the alt key is down and the key represents a printable character then\n * the value of the character is shifted up by 128.\n *\n * - If meta is down and configured to send an escape, '\\x1b' will be sent\n * before the normal action is performed.\n */\n DEFAULT: lib.f.createEnum('DEFAULT'),\n\n /**\n * Causes the terminal to opt out of handling the key event, instead letting\n * the browser deal with it.\n */\n PASS: lib.f.createEnum('PASS'),\n\n /**\n * Insert the first or second character of the keyCap, based on e.shiftKey.\n * The key will be handled in onKeyDown, and e.preventDefault() will be\n * called.\n *\n * It is useful for a modified key action, where it essentially strips the\n * modifier while preventing the browser from reacting to the key.\n */\n STRIP: lib.f.createEnum('STRIP')\n};\n\n/**\n * Encode a string according to the 'send-encoding' preference.\n */\nhterm.Keyboard.prototype.encode = function(str) {\n if (this.characterEncoding == 'utf-8')\n return this.terminal.vt.encodeUTF8(str);\n\n return str;\n};\n\n/**\n * Capture keyboard events sent to the associated element.\n *\n * This enables the keyboard. Captured events are consumed by this class\n * and will not perform their default action or bubble to other elements.\n *\n * Passing a null element will uninstall the keyboard handlers.\n *\n * @param {HTMLElement} element The element whose events should be captured, or\n * null to disable the keyboard.\n */\nhterm.Keyboard.prototype.installKeyboard = function(element) {\n if (element == this.keyboardElement_)\n return;\n\n if (element && this.keyboardElement_)\n this.installKeyboard(null);\n\n for (var i = 0; i < this.handlers_.length; i++) {\n var handler = this.handlers_[i];\n if (element) {\n element.addEventListener(handler[0], handler[1]);\n } else {\n this.keyboardElement_.removeEventListener(handler[0], handler[1]);\n }\n }\n\n this.keyboardElement_ = element;\n};\n\n/**\n * Disable keyboard event capture.\n *\n * This will allow the browser to process key events normally.\n */\nhterm.Keyboard.prototype.uninstallKeyboard = function() {\n this.installKeyboard(null);\n};\n\n/**\n * Handle onTextInput events.\n *\n * We're not actually supposed to get these, but we do on the Mac in the case\n * where a third party app sends synthetic keystrokes to Chrome.\n */\nhterm.Keyboard.prototype.onTextInput_ = function(e) {\n if (!e.data)\n return;\n\n e.data.split('').forEach(this.terminal.onVTKeystroke.bind(this.terminal));\n};\n\n/**\n * Handle onKeyPress events.\n */\nhterm.Keyboard.prototype.onKeyPress_ = function(e) {\n var code;\n\n var key = String.fromCharCode(e.which);\n var lowerKey = key.toLowerCase();\n if ((e.ctrlKey || e.metaKey) && (lowerKey == 'c' || lowerKey == 'v')) {\n // On FF the key press (not key down) event gets fired for copy/paste.\n // Let it fall through for the default browser behavior.\n return;\n }\n\n if (e.altKey && this.altSendsWhat == 'browser-key' && e.charCode == 0) {\n // If we got here because we were expecting the browser to handle an\n // alt sequence but it didn't do it, then we might be on an OS without\n // an enabled IME system. In that case we fall back to xterm-like\n // behavior.\n //\n // This happens here only as a fallback. Typically these platforms should\n // set altSendsWhat to either 'escape' or '8-bit'.\n var ch = String.fromCharCode(e.keyCode);\n if (!e.shiftKey)\n ch = ch.toLowerCase();\n code = ch.charCodeAt(0) + 128;\n\n } else if (e.charCode >= 32) {\n ch = e.charCode;\n }\n\n if (ch)\n this.terminal.onVTKeystroke(String.fromCharCode(ch));\n\n e.preventDefault();\n e.stopPropagation();\n};\n\n/**\n * Prevent default handling for non-ctrl-shifted event.\n *\n * When combined with Chrome permission 'app.window.fullscreen.overrideEsc',\n * and called for both key down and key up events,\n * the ESC key remains usable within fullscreen Chrome app windows.\n */\nhterm.Keyboard.prototype.preventChromeAppNonCtrlShiftDefault_ = function(e) {\n if (!window.chrome || !window.chrome.app || !window.chrome.app.window)\n return;\n if (!e.ctrlKey || !e.shiftKey)\n e.preventDefault();\n};\n\nhterm.Keyboard.prototype.onFocusOut_ = function(e) {\n this.altKeyPressed = 0;\n};\n\nhterm.Keyboard.prototype.onKeyUp_ = function(e) {\n if (e.keyCode == 18)\n this.altKeyPressed = this.altKeyPressed & ~(1 << (e.location - 1));\n\n if (e.keyCode == 27)\n this.preventChromeAppNonCtrlShiftDefault_(e);\n};\n\n/**\n * Handle onKeyDown events.\n */\nhterm.Keyboard.prototype.onKeyDown_ = function(e) {\n if (e.keyCode == 18)\n this.altKeyPressed = this.altKeyPressed | (1 << (e.location - 1));\n\n if (e.keyCode == 27)\n this.preventChromeAppNonCtrlShiftDefault_(e);\n\n var keyDef = this.keyMap.keyDefs[e.keyCode];\n if (!keyDef) {\n console.warn('No definition for keyCode: ' + e.keyCode);\n return;\n }\n\n // The type of action we're going to use.\n var resolvedActionType = null;\n\n var self = this;\n function getAction(name) {\n // Get the key action for the given action name. If the action is a\n // function, dispatch it. If the action defers to the normal action,\n // resolve that instead.\n\n resolvedActionType = name;\n\n var action = keyDef[name];\n if (typeof action == 'function')\n action = action.apply(self.keyMap, [e, keyDef]);\n\n if (action === DEFAULT && name != 'normal')\n action = getAction('normal');\n\n return action;\n }\n\n // Note that we use the triple-equals ('===') operator to test equality for\n // these constants, in order to distinguish usage of the constant from usage\n // of a literal string that happens to contain the same bytes.\n var CANCEL = hterm.Keyboard.KeyActions.CANCEL;\n var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT;\n var PASS = hterm.Keyboard.KeyActions.PASS;\n var STRIP = hterm.Keyboard.KeyActions.STRIP;\n\n var control = e.ctrlKey;\n var alt = this.altIsMeta ? false : e.altKey;\n var meta = this.altIsMeta ? (e.altKey || e.metaKey) : e.metaKey;\n\n // In the key-map, we surround the keyCap for non-printables in \"[...]\"\n var isPrintable = !(/^\\[\\w+\\]$/.test(keyDef.keyCap));\n\n switch (this.altGrMode) {\n case 'ctrl-alt':\n if (isPrintable && control && alt) {\n // ctrl-alt-printable means altGr. We clear out the control and\n // alt modifiers and wait to see the charCode in the keydown event.\n control = false;\n alt = false;\n }\n break;\n\n case 'right-alt':\n if (isPrintable && (this.terminal.keyboard.altKeyPressed & 2)) {\n control = false;\n alt = false;\n }\n break;\n\n case 'left-alt':\n if (isPrintable && (this.terminal.keyboard.altKeyPressed & 1)) {\n control = false;\n alt = false;\n }\n break;\n }\n\n var action;\n\n if (control) {\n action = getAction('control');\n } else if (alt) {\n action = getAction('alt');\n } else if (meta) {\n action = getAction('meta');\n } else {\n action = getAction('normal');\n }\n\n // If e.maskShiftKey was set (during getAction) it means the shift key is\n // already accounted for in the action, and we should not act on it any\n // further. This is currently only used for Ctrl-Shift-Tab, which should send\n // \"CSI Z\", not \"CSI 1 ; 2 Z\".\n var shift = !e.maskShiftKey && e.shiftKey;\n\n var keyDown = {\n keyCode: e.keyCode,\n shift: e.shiftKey, // not `var shift` from above.\n ctrl: control,\n alt: alt,\n meta: meta\n };\n\n var binding = this.bindings.getBinding(keyDown);\n\n if (binding) {\n // Clear out the modifier bits so we don't try to munge the sequence\n // further.\n shift = control = alt = meta = false;\n resolvedActionType = 'normal';\n action = binding.action;\n\n if (typeof action == 'function')\n action = action.call(this, this.terminal, keyDown);\n }\n\n if (alt && this.altSendsWhat == 'browser-key' && action == DEFAULT) {\n // When altSendsWhat is 'browser-key', we wait for the keypress event.\n // In keypress, the browser should have set the event.charCode to the\n // appropriate character.\n // TODO(rginda): Character compositions will need some black magic.\n action = PASS;\n }\n\n if (action === PASS || (action === DEFAULT && !(control || alt || meta))) {\n // If this key is supposed to be handled by the browser, or it is an\n // unmodified key with the default action, then exit this event handler.\n // If it's an unmodified key, it'll be handled in onKeyPress where we\n // can tell for sure which ASCII code to insert.\n //\n // This block needs to come before the STRIP test, otherwise we'll strip\n // the modifier and think it's ok to let the browser handle the keypress.\n // The browser won't know we're trying to ignore the modifiers and might\n // perform some default action.\n return;\n }\n\n if (action === STRIP) {\n alt = control = false;\n action = keyDef.normal;\n if (typeof action == 'function')\n action = action.apply(this.keyMap, [e, keyDef]);\n\n if (action == DEFAULT && keyDef.keyCap.length == 2)\n action = keyDef.keyCap.substr((shift ? 1 : 0), 1);\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n if (action === CANCEL)\n return;\n\n if (action !== DEFAULT && typeof action != 'string') {\n console.warn('Invalid action: ' + JSON.stringify(action));\n return;\n }\n\n // Strip the modifier that is associated with the action, since we assume that\n // modifier has already been accounted for in the action.\n if (resolvedActionType == 'control') {\n control = false;\n } else if (resolvedActionType == 'alt') {\n alt = false;\n } else if (resolvedActionType == 'meta') {\n meta = false;\n }\n\n if (action.substr(0, 2) == '\\x1b[' && (alt || control || shift)) {\n // The action is an escape sequence that and it was triggered in the\n // presence of a keyboard modifier, we may need to alter the action to\n // include the modifier before sending it.\n\n var mod;\n\n if (shift && !(alt || control)) {\n mod = ';2';\n } else if (alt && !(shift || control)) {\n mod = ';3';\n } else if (shift && alt && !control) {\n mod = ';4';\n } else if (control && !(shift || alt)) {\n mod = ';5';\n } else if (shift && control && !alt) {\n mod = ';6';\n } else if (alt && control && !shift) {\n mod = ';7';\n } else if (shift && alt && control) {\n mod = ';8';\n }\n\n if (action.length == 3) {\n // Some of the CSI sequences have zero parameters unless modified.\n action = '\\x1b[1' + mod + action.substr(2, 1);\n } else {\n // Others always have at least one parameter.\n action = action.substr(0, action.length - 1) + mod +\n action.substr(action.length - 1);\n }\n\n } else {\n if (action === DEFAULT) {\n action = keyDef.keyCap.substr((shift ? 1 : 0), 1);\n\n if (control) {\n var unshifted = keyDef.keyCap.substr(0, 1);\n var code = unshifted.charCodeAt(0);\n if (code >= 64 && code <= 95) {\n action = String.fromCharCode(code - 64);\n }\n }\n }\n\n if (alt && this.altSendsWhat == '8-bit' && action.length == 1) {\n var code = action.charCodeAt(0) + 128;\n action = String.fromCharCode(code);\n }\n\n // We respect alt/metaSendsEscape even if the keymap action was a literal\n // string. Otherwise, every overridden alt/meta action would have to\n // check alt/metaSendsEscape.\n if ((alt && this.altSendsWhat == 'escape') ||\n (meta && this.metaSendsEscape)) {\n action = '\\x1b' + action;\n }\n }\n\n this.terminal.onVTKeystroke(action);\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_bindings.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * A mapping from hterm.Keyboard.KeyPattern to an action.\n *\n * TODO(rginda): For now this bindings code is only used for user overrides.\n * hterm.Keyboard.KeyMap still handles all of the built-in key mappings.\n * It'd be nice if we migrated that over to be hterm.Keyboard.Bindings based.\n */\nhterm.Keyboard.Bindings = function() {\n this.bindings_ = {};\n};\n\n/**\n * Remove all bindings.\n */\nhterm.Keyboard.Bindings.prototype.clear = function () {\n this.bindings_ = {};\n};\n\n/**\n * Add a new binding.\n *\n * Internal API that assumes parsed objects as inputs.\n * See the public addBinding for more details.\n *\n * @param {hterm.Keyboard.KeyPattern} keyPattern\n * @param {string|function|hterm.Keyboard.KeyAction} action\n */\nhterm.Keyboard.Bindings.prototype.addBinding_ = function(keyPattern, action) {\n var binding = null;\n var list = this.bindings_[keyPattern.keyCode];\n if (list) {\n for (var i = 0; i < list.length; i++) {\n if (list[i].keyPattern.matchKeyPattern(keyPattern)) {\n binding = list[i];\n break;\n }\n }\n }\n\n if (binding) {\n binding.action = action;\n } else {\n binding = {keyPattern: keyPattern, action: action};\n\n if (!list) {\n this.bindings_[keyPattern.keyCode] = [binding];\n } else {\n this.bindings_[keyPattern.keyCode].push(binding);\n\n list.sort(function(a, b) {\n return hterm.Keyboard.KeyPattern.sortCompare(\n a.keyPattern, b.keyPattern);\n });\n }\n }\n};\n\n/**\n * Add a new binding.\n *\n * If a binding for the keyPattern already exists it will be overridden.\n *\n * More specific keyPatterns take precedence over those with wildcards. Given\n * bindings for \"Ctrl-A\" and \"Ctrl-*-A\", and a \"Ctrl-A\" keydown, the \"Ctrl-A\"\n * binding will match even if \"Ctrl-*-A\" was created last.\n *\n * If action is a string, it will be passed through hterm.Parser.parseKeyAction.\n *\n * For example:\n * // Will replace Ctrl-P keystrokes with the string \"hiya!\".\n * addBinding('Ctrl-P', \"'hiya!'\");\n * // Will cancel the keystroke entirely (make it do nothing).\n * addBinding('Alt-D', hterm.Keyboard.KeyActions.CANCEL);\n * // Will execute the code and return the action.\n * addBinding('Ctrl-T', function() {\n * console.log('Got a T!');\n * return hterm.Keyboard.KeyActions.PASS;\n * });\n *\n * @param {string|hterm.Keyboard.KeyPattern} keyPattern\n * @param {string|function|hterm.Keyboard.KeyAction} action\n */\nhterm.Keyboard.Bindings.prototype.addBinding = function(key, action) {\n // If we're given a hterm.Keyboard.KeyPattern object, pass it down.\n if (typeof key != 'string') {\n this.addBinding_(key, action);\n return;\n }\n\n // Here we treat key as a string.\n var p = new hterm.Parser();\n\n p.reset(key);\n var sequence;\n\n try {\n sequence = p.parseKeySequence();\n } catch (ex) {\n console.error(ex);\n return;\n }\n\n if (!p.isComplete()) {\n console.error(p.error('Expected end of sequence: ' + sequence));\n return;\n }\n\n // If action is a string, parse it. Otherwise assume it's callable.\n if (typeof action == 'string') {\n p.reset(action);\n try {\n action = p.parseKeyAction();\n } catch (ex) {\n console.error(ex);\n return;\n }\n }\n\n if (!p.isComplete()) {\n console.error(p.error('Expected end of sequence: ' + sequence));\n return;\n }\n\n this.addBinding_(new hterm.Keyboard.KeyPattern(sequence), action);\n};\n\n/**\n * Add multiple bindings at a time using a map of {string: string, ...}\n *\n * This uses hterm.Parser to parse the maps key into KeyPatterns, and the\n * map values into {string|function|KeyAction}.\n *\n * For example:\n * {\n * // Will replace Ctrl-P keystrokes with the string \"hiya!\".\n * 'Ctrl-P': \"'hiya!'\",\n * // Will cancel the keystroke entirely (make it do nothing).\n * 'Alt-D': hterm.Keyboard.KeyActions.CANCEL,\n * }\n *\n * @param {Object} map\n */\nhterm.Keyboard.Bindings.prototype.addBindings = function(map) {\n for (var key in map) {\n this.addBinding(key, map[key]);\n }\n};\n\n/**\n * Return the binding that is the best match for the given keyDown record,\n * or null if there is no match.\n *\n * @param {Object} keyDown An object with a keyCode property and zero or\n * more boolean properties representing key modifiers. These property names\n * must match those defined in hterm.Keyboard.KeyPattern.modifiers.\n */\nhterm.Keyboard.Bindings.prototype.getBinding = function(keyDown) {\n var list = this.bindings_[keyDown.keyCode];\n if (!list)\n return null;\n\n for (var i = 0; i < list.length; i++) {\n var binding = list[i];\n if (binding.keyPattern.matchKeyDown(keyDown))\n return binding;\n }\n\n return null;\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_keymap.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyActions');\n\n/**\n * The default key map for hterm.\n *\n * Contains a mapping of keyCodes to keyDefs (aka key definitions). The key\n * definition tells the hterm.Keyboard class how to handle keycodes.\n *\n * This should work for most cases, as the printable characters get handled\n * in the keypress event. In that case, even if the keycap is wrong in the\n * key map, the correct character should be sent.\n *\n * Different layouts, such as Dvorak should work with this keymap, as those\n * layouts typically move keycodes around on the keyboard without disturbing\n * the actual keycaps.\n *\n * There may be issues with control keys on non-US keyboards or with keyboards\n * that very significantly from the expectations here, in which case we may\n * have to invent new key maps.\n *\n * The sequences defined in this key map come from [XTERM] as referenced in\n * vt.js, starting with the section titled \"Alt and Meta Keys\".\n */\nhterm.Keyboard.KeyMap = function(keyboard) {\n this.keyboard = keyboard;\n this.keyDefs = {};\n this.reset();\n};\n\n/**\n * Add a single key definition.\n *\n * The definition is a hash containing the following keys: 'keyCap', 'normal',\n * 'control', and 'alt'.\n *\n * - keyCap is a string identifying the key. For printable\n * keys, the key cap should be exactly two characters, starting with the\n * unshifted version. For example, 'aA', 'bB', '1!' and '=+'. For\n * non-printable the key cap should be surrounded in square braces, as in\n * '[INS]', '[LEFT]'. By convention, non-printable keycaps are in uppercase\n * but this is not a strict requirement.\n *\n * - Normal is the action that should be performed when they key is pressed\n * in the absence of any modifier. See below for the supported actions.\n *\n * - Control is the action that should be performed when they key is pressed\n * along with the control modifier. See below for the supported actions.\n *\n * - Alt is the action that should be performed when they key is pressed\n * along with the alt modifier. See below for the supported actions.\n *\n * - Meta is the action that should be performed when they key is pressed\n * along with the meta modifier. See below for the supported actions.\n *\n * Actions can be one of the hterm.Keyboard.KeyActions as documented below,\n * a literal string, or an array. If the action is a literal string then\n * the string is sent directly to the host. If the action is an array it\n * is taken to be an escape sequence that may be altered by modifier keys.\n * The second-to-last element of the array will be overwritten with the\n * state of the modifier keys, as specified in the final table of \"PC-Style\n * Function Keys\" from [XTERM].\n */\nhterm.Keyboard.KeyMap.prototype.addKeyDef = function(keyCode, def) {\n if (keyCode in this.keyDefs)\n console.warn('Duplicate keyCode: ' + keyCode);\n\n this.keyDefs[keyCode] = def;\n};\n\n/**\n * Add multiple key definitions in a single call.\n *\n * This function takes the key definitions as variable argument list. Each\n * argument is the key definition specified as an array.\n *\n * (If the function took everything as one big hash we couldn't detect\n * duplicates, and there would be a lot more typing involved.)\n *\n * Each key definition should have 6 elements: (keyCode, keyCap, normal action,\n * control action, alt action and meta action). See KeyMap.addKeyDef for the\n * meaning of these elements.\n */\nhterm.Keyboard.KeyMap.prototype.addKeyDefs = function(var_args) {\n for (var i = 0; i < arguments.length; i++) {\n this.addKeyDef(arguments[i][0],\n { keyCap: arguments[i][1],\n normal: arguments[i][2],\n control: arguments[i][3],\n alt: arguments[i][4],\n meta: arguments[i][5]\n });\n }\n};\n\n/**\n * Set up the default state for this keymap.\n */\nhterm.Keyboard.KeyMap.prototype.reset = function() {\n this.keyDefs = {};\n\n var self = this;\n\n // This function is used by the \"macro\" functions below. It makes it\n // possible to use the call() macro as an argument to any other macro.\n function resolve(action, e, k) {\n if (typeof action == 'function')\n return action.apply(self, [e, k]);\n\n return action;\n }\n\n // If not application keypad a, else b. The keys that care about\n // application keypad ignore it when the key is modified.\n function ak(a, b) {\n return function(e, k) {\n var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !self.keyboard.applicationKeypad) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If mod or not application cursor a, else b. The keys that care about\n // application cursor ignore it when the key is modified.\n function ac(a, b) {\n return function(e, k) {\n var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !self.keyboard.applicationCursor) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If not backspace-sends-backspace keypad a, else b.\n function bs(a, b) {\n return function(e, k) {\n var action = !self.keyboard.backspaceSendsBackspace ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If not e.shiftKey a, else b.\n function sh(a, b) {\n return function(e, k) {\n var action = !e.shiftKey ? a : b;\n e.maskShiftKey = true;\n return resolve(action, e, k);\n };\n }\n\n // If not e.altKey a, else b.\n function alt(a, b) {\n return function(e, k) {\n var action = !e.altKey ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If no modifiers a, else b.\n function mod(a, b) {\n return function(e, k) {\n var action = !(e.shiftKey || e.ctrlKey || e.altKey || e.metaKey) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // Compute a control character for a given character.\n function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) }\n\n // Call a method on the keymap instance.\n function c(m) { return function (e, k) { return this[m](e, k) } }\n\n // Ignore if not trapping media keys.\n function med(fn) {\n return function(e, k) {\n if (!self.keyboard.mediaKeysAreFKeys) {\n // Block Back, Forward, and Reload keys to avoid navigating away from\n // the current page.\n return (e.keyCode == 166 || e.keyCode == 167 || e.keyCode == 168) ?\n hterm.Keyboard.KeyActions.CANCEL :\n hterm.Keyboard.KeyActions.PASS;\n }\n return resolve(fn, e, k);\n };\n }\n\n var ESC = '\\x1b';\n var CSI = '\\x1b[';\n var SS3 = '\\x1bO';\n\n var CANCEL = hterm.Keyboard.KeyActions.CANCEL;\n var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT;\n var PASS = hterm.Keyboard.KeyActions.PASS;\n var STRIP = hterm.Keyboard.KeyActions.STRIP;\n\n this.addKeyDefs(\n // These fields are: [keycode, keycap, normal, control, alt, meta]\n\n // The browser sends the keycode 0 for some keys. We'll just assume it's\n // going to do the right thing by default for those keys.\n [0, '[UNKNOWN]', PASS, PASS, PASS, PASS],\n\n // First row.\n [27, '[ESC]', ESC, DEFAULT, DEFAULT, DEFAULT],\n [112, '[F1]', mod(SS3 + 'P', CSI + 'P'), DEFAULT, CSI + \"23~\", DEFAULT],\n [113, '[F2]', mod(SS3 + 'Q', CSI + 'Q'), DEFAULT, CSI + \"24~\", DEFAULT],\n [114, '[F3]', mod(SS3 + 'R', CSI + 'R'), DEFAULT, CSI + \"25~\", DEFAULT],\n [115, '[F4]', mod(SS3 + 'S', CSI + 'S'), DEFAULT, CSI + \"26~\", DEFAULT],\n [116, '[F5]', CSI + '15~', DEFAULT, CSI + \"28~\", DEFAULT],\n [117, '[F6]', CSI + '17~', DEFAULT, CSI + \"29~\", DEFAULT],\n [118, '[F7]', CSI + '18~', DEFAULT, CSI + \"31~\", DEFAULT],\n [119, '[F8]', CSI + '19~', DEFAULT, CSI + \"32~\", DEFAULT],\n [120, '[F9]', CSI + '20~', DEFAULT, CSI + \"33~\", DEFAULT],\n [121, '[F10]', CSI + '21~', DEFAULT, CSI + \"34~\", DEFAULT],\n [122, '[F11]', CSI + '23~', DEFAULT, CSI + \"42~\", DEFAULT],\n [123, '[F12]', CSI + '24~', DEFAULT, CSI + \"43~\", DEFAULT],\n\n // Second row.\n [192, '`~', DEFAULT, sh(ctl('@'), ctl('^')), DEFAULT, PASS],\n [49, '1!', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [50, '2@', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [51, '3#', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [52, '4$', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [53, '5%', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [54, '6^', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [55, '7&', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [56, '8*', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [57, '9(', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [48, '0)', DEFAULT, c('onPlusMinusZero_'),c('onAltNum_'),c('onPlusMinusZero_')],\n [189, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [187, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n // Firefox -_ and =+\n [173, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [61, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n // Firefox Italian +*\n [171, '+*', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n\n [8, '[BKSP]', bs('\\x7f', '\\b'), bs('\\b', '\\x7f'), DEFAULT, DEFAULT],\n\n // Third row.\n [9, '[TAB]', sh('\\t', CSI + 'Z'), STRIP, PASS, DEFAULT],\n [81, 'qQ', DEFAULT, ctl('Q'), DEFAULT, DEFAULT],\n [87, 'wW', DEFAULT, ctl('W'), DEFAULT, DEFAULT],\n [69, 'eE', DEFAULT, ctl('E'), DEFAULT, DEFAULT],\n [82, 'rR', DEFAULT, ctl('R'), DEFAULT, DEFAULT],\n [84, 'tT', DEFAULT, ctl('T'), DEFAULT, DEFAULT],\n [89, 'yY', DEFAULT, ctl('Y'), DEFAULT, DEFAULT],\n [85, 'uU', DEFAULT, ctl('U'), DEFAULT, DEFAULT],\n [73, 'iI', DEFAULT, ctl('I'), DEFAULT, DEFAULT],\n [79, 'oO', DEFAULT, ctl('O'), DEFAULT, DEFAULT],\n [80, 'pP', DEFAULT, ctl('P'), DEFAULT, DEFAULT],\n [219, '[{', DEFAULT, ctl('['), DEFAULT, DEFAULT],\n [221, ']}', DEFAULT, ctl(']'), DEFAULT, DEFAULT],\n [220, '\\\\|', DEFAULT, ctl('\\\\'), DEFAULT, DEFAULT],\n\n // Fourth row. (We let Ctrl-Shift-J pass for Chrome DevTools.)\n [20, '[CAPS]', PASS, PASS, PASS, DEFAULT],\n [65, 'aA', DEFAULT, ctl('A'), DEFAULT, DEFAULT],\n [83, 'sS', DEFAULT, ctl('S'), DEFAULT, DEFAULT],\n [68, 'dD', DEFAULT, ctl('D'), DEFAULT, DEFAULT],\n [70, 'fF', DEFAULT, ctl('F'), DEFAULT, DEFAULT],\n [71, 'gG', DEFAULT, ctl('G'), DEFAULT, DEFAULT],\n [72, 'hH', DEFAULT, ctl('H'), DEFAULT, DEFAULT],\n [74, 'jJ', DEFAULT, sh(ctl('J'), PASS), DEFAULT, DEFAULT],\n [75, 'kK', DEFAULT, sh(ctl('K'), c('onClear_')), DEFAULT, DEFAULT],\n [76, 'lL', DEFAULT, sh(ctl('L'), PASS), DEFAULT, DEFAULT],\n [186, ';:', DEFAULT, STRIP, DEFAULT, DEFAULT],\n [222, '\\'\"', DEFAULT, STRIP, DEFAULT, DEFAULT],\n [13, '[ENTER]', '\\r', CANCEL, CANCEL, DEFAULT],\n\n // Fifth row. This includes the copy/paste shortcuts. On some\n // platforms it's Ctrl-C/V, on others it's Meta-C/V. We assume either\n // Ctrl-C/Meta-C should pass to the browser when there is a selection,\n // and Ctrl-Shift-V/Meta-*-V should always pass to the browser (since\n // these seem to be recognized as paste too).\n [16, '[SHIFT]', PASS, PASS, PASS, DEFAULT],\n [90, 'zZ', DEFAULT, ctl('Z'), DEFAULT, DEFAULT],\n [88, 'xX', DEFAULT, ctl('X'), DEFAULT, DEFAULT],\n [67, 'cC', DEFAULT, c('onCtrlC_'), DEFAULT, c('onMetaC_')],\n [86, 'vV', DEFAULT, c('onCtrlV_'), DEFAULT, c('onMetaV_')],\n [66, 'bB', DEFAULT, sh(ctl('B'), PASS), DEFAULT, sh(DEFAULT, PASS)],\n [78, 'nN', DEFAULT, c('onCtrlN_'), DEFAULT, c('onMetaN_')],\n [77, 'mM', DEFAULT, ctl('M'), DEFAULT, DEFAULT],\n [188, ',<', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT],\n [190, '.>', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT],\n [191, '/?', DEFAULT, sh(ctl('_'), ctl('?')), DEFAULT, DEFAULT],\n\n // Sixth and final row.\n [17, '[CTRL]', PASS, PASS, PASS, PASS],\n [18, '[ALT]', PASS, PASS, PASS, PASS],\n [91, '[LAPL]', PASS, PASS, PASS, PASS],\n [32, ' ', DEFAULT, ctl('@'), DEFAULT, DEFAULT],\n [92, '[RAPL]', PASS, PASS, PASS, PASS],\n [93, '[RMENU]', PASS, PASS, PASS, PASS],\n\n // These things.\n [42, '[PRTSCR]', PASS, PASS, PASS, PASS],\n [145, '[SCRLK]', PASS, PASS, PASS, PASS],\n [19, '[BREAK]', PASS, PASS, PASS, PASS],\n\n // The block of six keys above the arrows.\n [45, '[INSERT]', c('onKeyInsert_'), DEFAULT, DEFAULT, DEFAULT],\n [36, '[HOME]', c('onKeyHome_'), DEFAULT, DEFAULT, DEFAULT],\n [33, '[PGUP]', c('onKeyPageUp_'), DEFAULT, DEFAULT, DEFAULT],\n [46, '[DEL]', c('onKeyDel_'), DEFAULT, DEFAULT, DEFAULT],\n [35, '[END]', c('onKeyEnd_'), DEFAULT, DEFAULT, DEFAULT],\n [34, '[PGDOWN]', c('onKeyPageDown_'), DEFAULT, DEFAULT, DEFAULT],\n\n // Arrow keys. When unmodified they respect the application cursor state,\n // otherwise they always send the CSI codes.\n [38, '[UP]', c('onKeyArrowUp_'), DEFAULT, DEFAULT, DEFAULT],\n [40, '[DOWN]', c('onKeyArrowDown_'), DEFAULT, DEFAULT, DEFAULT],\n [39, '[RIGHT]', ac(CSI + 'C', SS3 + 'C'), DEFAULT, DEFAULT, DEFAULT],\n [37, '[LEFT]', ac(CSI + 'D', SS3 + 'D'), DEFAULT, DEFAULT, DEFAULT],\n\n [144, '[NUMLOCK]', PASS, PASS, PASS, PASS],\n\n // With numlock off, the keypad generates the same key codes as the arrows\n // and 'block of six' for some keys, and null key codes for the rest.\n\n // Keypad with numlock on generates unique key codes...\n [96, '[KP0]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [97, '[KP1]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [98, '[KP2]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [99, '[KP3]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [100, '[KP4]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [101, '[KP5]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [102, '[KP6]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [103, '[KP7]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [104, '[KP8]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [105, '[KP9]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [107, '[KP+]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [109, '[KP-]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [106, '[KP*]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [111, '[KP/]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [110, '[KP.]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n\n // Chrome OS keyboard top row.\n [166, '[BACK]', med(mod(SS3+'P', CSI+'P')), DEFAULT, CSI+\"23~\", DEFAULT],\n [167, '[FWD]', med(mod(SS3+'Q', CSI+'Q')), DEFAULT, CSI+\"24~\", DEFAULT],\n [168, '[RELOAD]', med(mod(SS3+'R', CSI+'R')), DEFAULT, CSI+\"25~\", DEFAULT],\n [183, '[FSCR]', med(mod(SS3+'S', CSI+'S')), DEFAULT, CSI+\"26~\", DEFAULT],\n [182, '[WINS]', med(CSI + '15~'), DEFAULT, CSI+\"28~\", DEFAULT],\n [216, '[BRIT-]', med(CSI + '17~'), DEFAULT, CSI+\"29~\", DEFAULT],\n [217, '[BRIT+]', med(CSI + '18~'), DEFAULT, CSI+\"31~\", DEFAULT]\n\n // 173 [MUTE], 174 [VOL-] and 175 [VOL+] are trapped by the Chrome OS\n // window manager, so we'll never see them. Note that 173 is also\n // Firefox's -_ keycode.\n );\n};\n\n/**\n * Either allow the paste or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyInsert_ = function(e) {\n if (this.keyboard.shiftInsertPaste && e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return '\\x1b[2~';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyHome_ = function(e) {\n if (!this.keyboard.homeKeysScroll ^ e.shiftKey) {\n if ((e.altey || e.ctrlKey || e.shiftKey) ||\n !this.keyboard.applicationCursor) {\n return '\\x1b[H';\n }\n\n return '\\x1bOH';\n }\n\n this.keyboard.terminal.scrollHome();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyEnd_ = function(e) {\n if (!this.keyboard.homeKeysScroll ^ e.shiftKey) {\n if ((e.altKey || e.ctrlKey || e.shiftKey) ||\n !this.keyboard.applicationCursor) {\n return '\\x1b[F';\n }\n\n return '\\x1bOF';\n }\n\n this.keyboard.terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyPageUp_ = function(e) {\n if (!this.keyboard.pageKeysScroll ^ e.shiftKey)\n return '\\x1b[5~';\n\n this.keyboard.terminal.scrollPageUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either send a true DEL, or sub in meta-backspace.\n *\n * On Chrome OS, if we know the alt key is down, but we get a DEL event that\n * claims that the alt key is not pressed, we know the DEL was a synthetic\n * one from a user that hit alt-backspace. Based on a user pref, we can sub\n * in meta-backspace in this case.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyDel_ = function(e) {\n if (this.keyboard.altBackspaceIsMetaBackspace &&\n this.keyboard.altKeyPressed && !e.altKey)\n return '\\x1b\\x7f';\n return '\\x1b[3~';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyPageDown_ = function(e) {\n if (!this.keyboard.pageKeysScroll ^ e.shiftKey)\n return '\\x1b[6~';\n\n this.keyboard.terminal.scrollPageDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyArrowUp_ = function(e) {\n if (!this.keyboard.applicationCursor && e.shiftKey) {\n this.keyboard.terminal.scrollLineUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !this.keyboard.applicationCursor) ? '\\x1b[A' : '\\x1bOA';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyArrowDown_ = function(e) {\n if (!this.keyboard.applicationCursor && e.shiftKey) {\n this.keyboard.terminal.scrollLineDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !this.keyboard.applicationCursor) ? '\\x1b[B' : '\\x1bOB';\n};\n\n/**\n * Clear the primary/alternate screens and the scrollback buffer.\n */\nhterm.Keyboard.KeyMap.prototype.onClear_ = function(e, keyDef) {\n this.keyboard.terminal.wipeContents();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either pass Ctrl-1..9 to the browser or send them to the host.\n *\n * Note that Ctrl-1 and Ctrl-9 don't actually have special sequences mapped\n * to them in xterm or gnome-terminal. The range is really Ctrl-2..8, but\n * we handle 1..9 since Chrome treats the whole range special.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlNum_ = function(e, keyDef) {\n // Compute a control character for a given character.\n function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) }\n\n if (this.keyboard.terminal.passCtrlNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n switch (keyDef.keyCap.substr(0, 1)) {\n case '1': return '1';\n case '2': return ctl('@');\n case '3': return ctl('[');\n case '4': return ctl('\\\\');\n case '5': return ctl(']');\n case '6': return ctl('^');\n case '7': return ctl('_');\n case '8': return '\\x7f';\n case '9': return '9';\n }\n};\n\n/**\n * Either pass Alt-1..9 to the browser or send them to the host.\n */\nhterm.Keyboard.KeyMap.prototype.onAltNum_ = function(e, keyDef) {\n if (this.keyboard.terminal.passAltNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either pass Meta-1..9 to the browser or send them to the host.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaNum_ = function(e, keyDef) {\n if (this.keyboard.terminal.passMetaNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either send a ^C or interpret the keystroke as a copy command.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlC_ = function(e, keyDef) {\n var selection = this.keyboard.terminal.getDocument().getSelection();\n\n if (!selection.isCollapsed) {\n if (this.keyboard.ctrlCCopy && !e.shiftKey) {\n // Ctrl-C should copy if there is a selection, send ^C otherwise.\n // Perform the copy by letting the browser handle Ctrl-C. On most\n // browsers, this is the *only* way to place text on the clipboard from\n // the 'drive-by' web.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(selection.collapseToEnd.bind(selection), 50);\n }\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n if (!this.keyboard.ctrlCCopy && e.shiftKey) {\n // Ctrl-Shift-C should copy if there is a selection, send ^C otherwise.\n // Perform the copy manually. This only works in situations where\n // document.execCommand('copy') is allowed.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(selection.collapseToEnd.bind(selection), 50);\n }\n this.keyboard.terminal.copySelectionToClipboard();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n }\n\n return '\\x03';\n};\n\n/**\n * Either send a ^N or open a new window to the same location.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlN_ = function(e, keyDef) {\n if (e.shiftKey) {\n window.open(document.location.href, '',\n 'chrome=no,close=yes,resize=yes,scrollbars=yes,' +\n 'minimizable=yes,width=' + window.innerWidth +\n ',height=' + window.innerHeight);\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return '\\x0e';\n};\n\n/**\n * Either send a ^V or issue a paste command.\n *\n * The default behavior is to paste if the user presses Ctrl-Shift-V, and send\n * a ^V if the user presses Ctrl-V. This can be flipped with the\n * 'ctrl-v-paste' preference.\n *\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlV_ = function(e, keyDef) {\n if ((!e.shiftKey && this.keyboard.ctrlVPaste) ||\n (e.shiftKey && !this.keyboard.ctrlVPaste)) {\n // We try to do the pasting ourselves as not all browsers/OSs bind Ctrl-V to\n // pasting. Notably, on macOS, Ctrl-V/Ctrl-Shift-V do nothing.\n // However, this might run into web restrictions, so if it fails, we still\n // fallback to the letting the native behavior (hopefully) save us.\n if (this.keyboard.terminal.paste())\n return hterm.Keyboard.KeyActions.CANCEL;\n else\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n return '\\x16';\n};\n\n/**\n * Either the default action or open a new window to the same location.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaN_ = function(e, keyDef) {\n if (e.shiftKey) {\n window.open(document.location.href, '',\n 'chrome=no,close=yes,resize=yes,scrollbars=yes,' +\n 'minimizable=yes,width=' + window.outerWidth +\n ',height=' + window.outerHeight);\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either send a Meta-C or allow the browser to interpret the keystroke as a\n * copy command.\n *\n * If there is no selection, or if the user presses Meta-Shift-C, then we'll\n * transmit an '\\x1b' (if metaSendsEscape is on) followed by 'c' or 'C'.\n *\n * If there is a selection, we defer to the browser. In this case we clear out\n * the selection so the user knows we heard them, and also to give them a\n * chance to send a Meta-C by just hitting the key again.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaC_ = function(e, keyDef) {\n var document = this.keyboard.terminal.getDocument();\n if (e.shiftKey || document.getSelection().isCollapsed) {\n // If the shift key is being held, or there is no document selection, send\n // a Meta-C. The keyboard code will add the ESC if metaSendsEscape is true,\n // we just have to decide between 'c' and 'C'.\n return keyDef.keyCap.substr(e.shiftKey ? 1 : 0, 1);\n }\n\n // Otherwise let the browser handle it as a copy command.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(function() { document.getSelection().collapseToEnd() }, 50);\n }\n return hterm.Keyboard.KeyActions.PASS;\n};\n\n/**\n * Either PASS or DEFAULT Meta-V, depending on preference.\n *\n * Always PASS Meta-Shift-V to allow browser to interpret the keystroke as\n * a paste command.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaV_ = function(e, keyDef) {\n if (e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return this.keyboard.passMetaV ?\n hterm.Keyboard.KeyActions.PASS :\n hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Handle font zooming.\n *\n * The browser's built-in zoom has a bit of an issue at certain zoom levels.\n * At some magnifications, the measured height of a row of text differs from\n * the height that was explicitly set.\n *\n * We override the browser zoom keys to change the ScrollPort's font size to\n * avoid the issue.\n */\nhterm.Keyboard.KeyMap.prototype.onPlusMinusZero_ = function(e, keyDef) {\n if (!(this.keyboard.ctrlPlusMinusZeroZoom ^ e.shiftKey)) {\n // If ctrl-PMZ controls zoom and the shift key is pressed, or\n // ctrl-shift-PMZ controls zoom and this shift key is not pressed,\n // then we want to send the control code instead of affecting zoom.\n if (keyDef.keyCap == '-_')\n return '\\x1f'; // ^_\n\n // Only ^_ is valid, the other sequences have no meaning.\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n if (this.keyboard.terminal.getZoomFactor() != 1) {\n // If we're not at 1:1 zoom factor, let the Ctrl +/-/0 keys control the\n // browser zoom, so it's easier to for the user to get back to 100%.\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n var cap = keyDef.keyCap.substr(0, 1);\n if (cap == '0') {\n this.keyboard.terminal.setFontSize(0);\n } else {\n var size = this.keyboard.terminal.getFontSize();\n\n if (cap == '-' || keyDef.keyCap == '[KP-]') {\n size -= 1;\n } else {\n size += 1;\n }\n\n this.keyboard.terminal.setFontSize(size);\n }\n\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_keypattern.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * A record of modifier bits and keycode used to define a key binding.\n *\n * The modifier names are enumerated in the static KeyPattern.modifiers\n * property below. Each modifier can be true, false, or \"*\". True means\n * the modifier key must be present, false means it must not, and \"*\" means\n * it doesn't matter.\n */\nhterm.Keyboard.KeyPattern = function(spec) {\n this.wildcardCount = 0;\n this.keyCode = spec.keyCode;\n\n hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) {\n this[mod] = spec[mod] || false;\n if (this[mod] == '*')\n this.wildcardCount++;\n }.bind(this));\n};\n\n/**\n * Valid modifier names.\n */\nhterm.Keyboard.KeyPattern.modifiers = [\n 'shift', 'ctrl', 'alt', 'meta'\n];\n\n/**\n * A compare callback for Array.prototype.sort().\n *\n * The bindings code wants to be sure to search through the strictest key\n * patterns first, so that loosely defined patterns have a lower priority than\n * exact patterns.\n *\n * @param {hterm.Keyboard.KeyPattern} a\n * @param {hterm.Keyboard.KeyPattern} b\n */\nhterm.Keyboard.KeyPattern.sortCompare = function(a, b) {\n if (a.wildcardCount < b.wildcardCount)\n return -1;\n\n if (a.wildcardCount > b.wildcardCount)\n return 1;\n\n return 0;\n};\n\n/**\n * Private method used to match this key pattern against other key patterns\n * or key down events.\n *\n * @param {Object} The object to match.\n * @param {boolean} True if we should ignore wildcards. Useful when you want\n * to perform and exact match against another key pattern.\n */\nhterm.Keyboard.KeyPattern.prototype.match_ = function(obj, exactMatch) {\n if (this.keyCode != obj.keyCode)\n return false;\n\n var rv = true;\n\n hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) {\n var modValue = (mod in obj) ? obj[mod] : false;\n if (!rv || (!exactMatch && this[mod] == '*') || this[mod] == modValue)\n return;\n\n rv = false;\n }.bind(this));\n\n return rv;\n};\n\n/**\n * Return true if the given keyDown object is a match for this key pattern.\n *\n * @param {Object} keyDown An object with a keyCode property and zero or\n * more boolean properties representing key modifiers. These property names\n * must match those defined in hterm.Keyboard.KeyPattern.modifiers.\n */\nhterm.Keyboard.KeyPattern.prototype.matchKeyDown = function(keyDown) {\n return this.match_(keyDown, false);\n};\n\n/**\n * Return true if the given hterm.Keyboard.KeyPattern is exactly the same as\n * this one.\n *\n * @param {hterm.Keyboard.KeyPattern}\n */\nhterm.Keyboard.KeyPattern.prototype.matchKeyPattern = function(keyPattern) {\n return this.match_(keyPattern, true);\n};\n// SOURCE FILE: hterm/js/hterm_options.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview This file implements the hterm.Options class,\n * which stores current operating conditions for the terminal. This object is\n * used instead of a series of parameters to allow saving/restoring of cursor\n * conditions easily, and to provide an easy place for common configuration\n * options.\n *\n * Original code by Cory Maccarrone.\n */\n\n/**\n * Constructor for the hterm.Options class, optionally acting as a copy\n * constructor.\n *\n * The defaults are as defined in http://www.vt100.net/docs/vt510-rm/DECSTR\n * except that we enable autowrap (wraparound) by default since that seems to\n * be what xterm does.\n *\n * @param {hterm.Options=} opt_copy Optional instance to copy.\n * @constructor\n */\nhterm.Options = function(opt_copy) {\n // All attributes in this class are public to allow easy access by the\n // terminal.\n\n this.wraparound = opt_copy ? opt_copy.wraparound : true;\n this.reverseWraparound = opt_copy ? opt_copy.reverseWraparound : false;\n this.originMode = opt_copy ? opt_copy.originMode : false;\n this.autoCarriageReturn = opt_copy ? opt_copy.autoCarriageReturn : false;\n this.cursorVisible = opt_copy ? opt_copy.cursorVisible : false;\n this.cursorBlink = opt_copy ? opt_copy.cursorBlink : false;\n this.insertMode = opt_copy ? opt_copy.insertMode : false;\n this.reverseVideo = opt_copy ? opt_copy.reverseVideo : false;\n this.bracketedPaste = opt_copy ? opt_copy.bracketedPaste : false;\n};\n// SOURCE FILE: hterm/js/hterm_parser.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyActions');\n\n/**\n * @constructor\n * Parses the key definition syntax used for user keyboard customizations.\n */\nhterm.Parser = function() {\n /**\n * @type {string} The source string.\n */\n this.source = '';\n\n /**\n * @type {number} The current position.\n */\n this.pos = 0;\n\n /**\n * @type {string?} The character at the current position.\n */\n this.ch = null;\n};\n\nhterm.Parser.prototype.error = function(message) {\n return new Error('Parse error at ' + this.pos + ': ' + message);\n};\n\nhterm.Parser.prototype.isComplete = function() {\n return this.pos == this.source.length;\n};\n\nhterm.Parser.prototype.reset = function(source, opt_pos) {\n this.source = source;\n this.pos = opt_pos || 0;\n this.ch = source.substr(0, 1);\n};\n\n/**\n * Parse a key sequence.\n *\n * A key sequence is zero or more of the key modifiers defined in\n * hterm.Parser.identifiers.modifierKeys followed by a key code. Key\n * codes can be an integer or an identifier from\n * hterm.Parser.identifiers.keyCodes. Modifiers and keyCodes should be joined\n * by the dash character.\n *\n * An asterisk \"*\" can be used to indicate that the unspecified modifiers\n * are optional.\n *\n * For example:\n * A: Matches only an unmodified \"A\" character.\n * 65: Same as above.\n * 0x41: Same as above.\n * Ctrl-A: Matches only Ctrl-A.\n * Ctrl-65: Same as above.\n * Ctrl-0x41: Same as above.\n * Ctrl-Shift-A: Matches only Ctrl-Shift-A.\n * Ctrl-*-A: Matches Ctrl-A, as well as any other key sequence that includes\n * at least the Ctrl and A keys.\n *\n * @return {Object} An object with shift, ctrl, alt, meta, keyCode\n * properties.\n */\nhterm.Parser.prototype.parseKeySequence = function() {\n var rv = {\n keyCode: null\n };\n\n for (var k in hterm.Parser.identifiers.modifierKeys) {\n rv[hterm.Parser.identifiers.modifierKeys[k]] = false;\n }\n\n while (this.pos < this.source.length) {\n this.skipSpace();\n\n var token = this.parseToken();\n if (token.type == 'integer') {\n rv.keyCode = token.value;\n\n } else if (token.type == 'identifier') {\n var ucValue = token.value.toUpperCase();\n if (ucValue in hterm.Parser.identifiers.modifierKeys &&\n hterm.Parser.identifiers.modifierKeys.hasOwnProperty(ucValue)) {\n var mod = hterm.Parser.identifiers.modifierKeys[ucValue];\n if (rv[mod] && rv[mod] != '*')\n throw this.error('Duplicate modifier: ' + token.value);\n rv[mod] = true;\n\n } else if (ucValue in hterm.Parser.identifiers.keyCodes &&\n hterm.Parser.identifiers.keyCodes.hasOwnProperty(ucValue)) {\n rv.keyCode = hterm.Parser.identifiers.keyCodes[ucValue];\n\n } else {\n throw this.error('Unknown key: ' + token.value);\n }\n\n } else if (token.type == 'symbol') {\n if (token.value == '*') {\n for (var id in hterm.Parser.identifiers.modifierKeys) {\n var p = hterm.Parser.identifiers.modifierKeys[id];\n if (!rv[p])\n rv[p] = '*';\n }\n } else {\n throw this.error('Unexpected symbol: ' + token.value);\n }\n } else {\n throw this.error('Expected integer or identifier');\n }\n\n this.skipSpace();\n\n if (this.ch != '-')\n break;\n\n if (rv.keyCode != null)\n throw this.error('Extra definition after target key');\n\n this.advance(1);\n }\n\n if (rv.keyCode == null)\n throw this.error('Missing target key');\n\n return rv;\n};\n\nhterm.Parser.prototype.parseKeyAction = function() {\n this.skipSpace();\n\n var token = this.parseToken();\n\n if (token.type == 'string')\n return token.value;\n\n if (token.type == 'identifier') {\n if (token.value in hterm.Parser.identifiers.actions &&\n hterm.Parser.identifiers.actions.hasOwnProperty(token.value))\n return hterm.Parser.identifiers.actions[token.value];\n\n throw this.error('Unknown key action: ' + token.value);\n }\n\n throw this.error('Expected string or identifier');\n\n};\n\nhterm.Parser.prototype.peekString = function() {\n return this.ch == '\\'' || this.ch == '\"';\n};\n\nhterm.Parser.prototype.peekIdentifier = function() {\n return this.ch.match(/[a-z_]/i);\n};\n\nhterm.Parser.prototype.peekInteger = function() {\n return this.ch.match(/[0-9]/);\n};\n\nhterm.Parser.prototype.parseToken = function() {\n if (this.ch == '*') {\n var rv = {type: 'symbol', value: this.ch};\n this.advance(1);\n return rv;\n }\n\n if (this.peekIdentifier())\n return {type: 'identifier', value: this.parseIdentifier()};\n\n if (this.peekString())\n return {type: 'string', value: this.parseString()};\n\n if (this.peekInteger())\n return {type: 'integer', value: this.parseInteger()};\n\n\n throw this.error('Unexpected token');\n};\n\nhterm.Parser.prototype.parseIdentifier = function() {\n if (!this.peekIdentifier())\n throw this.error('Expected identifier');\n\n return this.parsePattern(/[a-z0-9_]+/ig);\n};\n\nhterm.Parser.prototype.parseInteger = function() {\n var base = 10;\n\n if (this.ch == '0' && this.pos < this.source.length - 1 &&\n this.source.substr(this.pos + 1, 1) == 'x') {\n return parseInt(this.parsePattern(/0x[0-9a-f]+/gi));\n }\n\n return parseInt(this.parsePattern(/\\d+/g));\n};\n\n/**\n * Parse a single or double quoted string.\n *\n * The current position should point at the initial quote character. Single\n * quoted strings will be treated literally, double quoted will process escapes.\n *\n * TODO(rginda): Variable interpolation.\n *\n * @param {ParseState} parseState\n * @param {string} quote A single or double-quote character.\n * @return {string}\n */\nhterm.Parser.prototype.parseString = function() {\n var result = '';\n\n var quote = this.ch;\n if (quote != '\"' && quote != '\\'')\n throw this.error('String expected');\n\n this.advance(1);\n\n var re = new RegExp('[\\\\\\\\' + quote + ']', 'g');\n\n while (this.pos < this.source.length) {\n re.lastIndex = this.pos;\n if (!re.exec(this.source))\n throw this.error('Unterminated string literal');\n\n result += this.source.substring(this.pos, re.lastIndex - 1);\n\n this.advance(re.lastIndex - this.pos - 1);\n\n if (quote == '\"' && this.ch == '\\\\') {\n this.advance(1);\n result += this.parseEscape();\n continue;\n }\n\n if (quote == '\\'' && this.ch == '\\\\') {\n result += this.ch;\n this.advance(1);\n continue;\n }\n\n if (this.ch == quote) {\n this.advance(1);\n return result;\n }\n }\n\n throw this.error('Unterminated string literal');\n};\n\n\n/**\n * Parse an escape code from the current position (which should point to\n * the first character AFTER the leading backslash.)\n *\n * @return {string}\n */\nhterm.Parser.prototype.parseEscape = function() {\n var map = {\n '\"': '\"',\n '\\'': '\\'',\n '\\\\': '\\\\',\n 'a': '\\x07',\n 'b': '\\x08',\n 'e': '\\x1b',\n 'f': '\\x0c',\n 'n': '\\x0a',\n 'r': '\\x0d',\n 't': '\\x09',\n 'v': '\\x0b',\n 'x': function() {\n var value = this.parsePattern(/[a-z0-9]{2}/ig);\n return String.fromCharCode(parseInt(value, 16));\n },\n 'u': function() {\n var value = this.parsePattern(/[a-z0-9]{4}/ig);\n return String.fromCharCode(parseInt(value, 16));\n }\n };\n\n if (!(this.ch in map && map.hasOwnProperty(this.ch)))\n throw this.error('Unknown escape: ' + this.ch);\n\n var value = map[this.ch];\n this.advance(1);\n\n if (typeof value == 'function')\n value = value.call(this);\n\n return value;\n};\n\n/**\n * Parse the given pattern starting from the current position.\n *\n * @param {RegExp} pattern A pattern representing the characters to span. MUST\n * include the \"global\" RegExp flag.\n * @return {string}\n */\nhterm.Parser.prototype.parsePattern = function(pattern) {\n if (!pattern.global)\n throw this.error('Internal error: Span patterns must be global');\n\n pattern.lastIndex = this.pos;\n var ary = pattern.exec(this.source);\n\n if (!ary || pattern.lastIndex - ary[0].length != this.pos)\n throw this.error('Expected match for: ' + pattern);\n\n this.pos = pattern.lastIndex - 1;\n this.advance(1);\n\n return ary[0];\n};\n\n\n/**\n * Advance the current position.\n *\n * @param {number} count\n */\nhterm.Parser.prototype.advance = function(count) {\n this.pos += count;\n this.ch = this.source.substr(this.pos, 1);\n};\n\n/**\n * @param {string=} opt_expect A list of valid non-whitespace characters to\n * terminate on.\n * @return {void}\n */\nhterm.Parser.prototype.skipSpace = function(opt_expect) {\n if (!/\\s/.test(this.ch))\n return;\n\n var re = /\\s+/gm;\n re.lastIndex = this.pos;\n\n var source = this.source;\n if (re.exec(source))\n this.pos = re.lastIndex;\n\n this.ch = this.source.substr(this.pos, 1);\n\n if (opt_expect) {\n if (this.ch.indexOf(opt_expect) == -1) {\n throw this.error('Expected one of ' + opt_expect + ', found: ' +\n this.ch);\n }\n }\n};\n// SOURCE FILE: hterm/js/hterm_parser_identifiers.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Collections of identifier for hterm.Parser.\n */\nhterm.Parser.identifiers = {};\n\n/**\n * Modifier key names used when defining key sequences.\n *\n * These are upper case so we can normalize the user input and be forgiving.\n * \"CTRL-A\" and \"Ctrl-A\" and \"ctrl-a\" are all accepted.\n *\n * Note: Names here cannot overlap with hterm.Parser.identifiers.keyCodes.\n */\nhterm.Parser.identifiers.modifierKeys = {\n SHIFT: 'shift',\n CTRL: 'ctrl',\n // Common alias.\n CONTROL: 'ctrl',\n ALT: 'alt',\n META: 'meta'\n};\n\n/**\n * Key codes useful when defining key sequences.\n *\n * Punctuation is mostly left out of this list because they can move around\n * based on keyboard locale and browser.\n *\n * In a key sequence like \"Ctrl-ESC\", the ESC comes from this list of\n * identifiers. It is equivalent to \"Ctrl-27\" and \"Ctrl-0x1b\".\n *\n * These are upper case so we can normalize the user input and be forgiving.\n * \"Ctrl-ESC\" and \"Ctrl-Esc\" an \"Ctrl-esc\" are all accepted.\n *\n * We also include common aliases for the same key. \"Esc\" and \"Escape\" are the\n * same key.\n *\n * Note: Names here cannot overlap with hterm.Parser.identifiers.modifierKeys.\n */\nhterm.Parser.identifiers.keyCodes = {\n // Top row.\n ESCAPE: 27,\n ESC: 27,\n F1: 112,\n F2: 113,\n F3: 114,\n F4: 115,\n F5: 116,\n F6: 117,\n F7: 118,\n F8: 119,\n F9: 120,\n F10: 121,\n F11: 122,\n F12: 123,\n\n // Row two.\n ONE: 49,\n TWO: 50,\n THREE: 51,\n FOUR: 52,\n FIVE: 53,\n SIX: 54,\n SEVEN: 55,\n EIGHT: 56,\n NINE: 57,\n ZERO: 48,\n BACKSPACE: 8,\n BKSP: 8,\n BS: 8,\n\n // Row three.\n TAB: 9,\n Q: 81,\n W: 87,\n E: 69,\n R: 82,\n T: 84,\n Y: 89,\n U: 85,\n I: 73,\n O: 79,\n P: 80,\n\n // Row four.\n CAPS_LOCK: 20,\n CAPSLOCK: 20,\n CAPS: 20,\n A: 65,\n S: 83,\n D: 68,\n F: 70,\n G: 71,\n H: 72,\n J: 74,\n K: 75,\n L: 76,\n // We map enter and return together even though enter should really be 10\n // because most people don't know or care about the history here. Plus,\n // most keyboards/programs map them together already. If they really want\n // to bind them differently, they can also use the numeric value.\n ENTER: 13,\n ENT: 13,\n RETURN: 13,\n RET: 13,\n\n // Row five.\n Z: 90,\n X: 88,\n C: 67,\n V: 86,\n B: 66,\n N: 78,\n M: 77,\n\n // Etc.\n SPACE: 32,\n SP: 32,\n PRINT_SCREEN: 42,\n PRTSC: 42,\n SCROLL_LOCK: 145,\n SCRLK: 145,\n BREAK: 19,\n BRK: 19,\n INSERT: 45,\n INS: 45,\n HOME: 36,\n PAGE_UP: 33,\n PGUP: 33,\n DELETE: 46,\n DEL: 46,\n END: 35,\n PAGE_DOWN: 34,\n PGDOWN: 34,\n PGDN: 34,\n UP: 38,\n DOWN: 40,\n RIGHT: 39,\n LEFT: 37,\n NUMLOCK: 144,\n\n // Keypad\n KP0: 96,\n KP1: 97,\n KP2: 98,\n KP3: 99,\n KP4: 100,\n KP5: 101,\n KP6: 102,\n KP7: 103,\n KP8: 104,\n KP9: 105,\n KP_PLUS: 107,\n KP_ADD: 107,\n KP_MINUS: 109,\n KP_SUBTRACT: 109,\n KP_STAR: 106,\n KP_MULTIPLY: 106,\n KP_DIVIDE: 111,\n KP_DECIMAL: 110,\n KP_PERIOD: 110,\n\n // Chrome OS media keys\n NAVIGATE_BACK: 166,\n NAVIGATE_FORWARD: 167,\n RELOAD: 168,\n FULL_SCREEN: 183,\n WINDOW_OVERVIEW: 182,\n BRIGHTNESS_UP: 216,\n BRIGHTNESS_DOWN: 217\n};\n\n/**\n * Identifiers for use in key actions.\n */\nhterm.Parser.identifiers.actions = {\n /**\n * Prevent the browser and operating system from handling the event.\n */\n CANCEL: hterm.Keyboard.KeyActions.CANCEL,\n\n /**\n * Wait for a \"keypress\" event, send the keypress charCode to the host.\n */\n DEFAULT: hterm.Keyboard.KeyActions.DEFAULT,\n\n /**\n * Let the browser or operating system handle the key.\n */\n PASS: hterm.Keyboard.KeyActions.PASS,\n\n /**\n * Scroll the terminal one page up.\n */\n scrollPageUp: function(terminal) {\n terminal.scrollPageUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal one page down.\n */\n scrollPageDown: function(terminal) {\n terminal.scrollPageDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal to the top.\n */\n scrollToTop: function(terminal) {\n terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal to the bottom.\n */\n scrollToBottom: function(terminal) {\n terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Clear the terminal and scrollback buffer.\n */\n clearScrollback: function(terminal) {\n terminal.wipeContents();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n};\n// SOURCE FILE: hterm/js/hterm_preference_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'lib.Storage');\n\n/**\n * PreferenceManager subclass managing global NaSSH preferences.\n *\n * This is currently just an ordered list of known connection profiles.\n */\nhterm.PreferenceManager = function(profileId) {\n lib.PreferenceManager.call(this, hterm.defaultStorage,\n '/hterm/profiles/' + profileId);\n var defs = hterm.PreferenceManager.defaultPreferences;\n Object.keys(defs).forEach(function(key) {\n this.definePreference(key, defs[key][1]);\n }.bind(this));\n};\n\nhterm.PreferenceManager.categories = {};\nhterm.PreferenceManager.categories.Keyboard = 'Keyboard';\nhterm.PreferenceManager.categories.Appearance = 'Appearance';\nhterm.PreferenceManager.categories.CopyPaste = 'CopyPaste';\nhterm.PreferenceManager.categories.Sounds = 'Sounds';\nhterm.PreferenceManager.categories.Scrolling = 'Scrolling';\nhterm.PreferenceManager.categories.Encoding = 'Encoding';\nhterm.PreferenceManager.categories.Miscellaneous = 'Miscellaneous';\n\n/**\n * List of categories, ordered by display order (top to bottom)\n */\nhterm.PreferenceManager.categoryDefinitions = [\n { id: hterm.PreferenceManager.categories.Appearance,\n text: 'Appearance (fonts, colors, images)'},\n { id: hterm.PreferenceManager.categories.CopyPaste,\n text: 'Copy & Paste'},\n { id: hterm.PreferenceManager.categories.Encoding,\n text: 'Encoding'},\n { id: hterm.PreferenceManager.categories.Keyboard,\n text: 'Keyboard'},\n { id: hterm.PreferenceManager.categories.Scrolling,\n text: 'Scrolling'},\n { id: hterm.PreferenceManager.categories.Sounds,\n text: 'Sounds'},\n { id: hterm.PreferenceManager.categories.Miscellaneous,\n text: 'Misc.'}\n];\n\n\nhterm.PreferenceManager.defaultPreferences = {\n 'alt-gr-mode':\n [hterm.PreferenceManager.categories.Keyboard, null,\n [null, 'none', 'ctrl-alt', 'left-alt', 'right-alt'],\n 'Select an AltGr detection hack^Wheuristic.\\n' +\n '\\n' +\n '\\'null\\': Autodetect based on navigator.language:\\n' +\n ' \\'en-us\\' => \\'none\\', else => \\'right-alt\\'\\n' +\n '\\'none\\': Disable any AltGr related munging.\\n' +\n '\\'ctrl-alt\\': Assume Ctrl+Alt means AltGr.\\n' +\n '\\'left-alt\\': Assume left Alt means AltGr.\\n' +\n '\\'right-alt\\': Assume right Alt means AltGr.\\n'],\n\n 'alt-backspace-is-meta-backspace':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If set, undoes the Chrome OS Alt-Backspace->DEL remap, so that ' +\n 'alt-backspace indeed is alt-backspace.'],\n\n 'alt-is-meta':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Set whether the alt key acts as a meta key or as a distinct alt key.'],\n\n 'alt-sends-what':\n [hterm.PreferenceManager.categories.Keyboard, 'escape',\n ['escape', '8-bit', 'browser-key'],\n 'Controls how the alt key is handled.\\n' +\n '\\n' +\n ' escape....... Send an ESC prefix.\\n' +\n ' 8-bit........ Add 128 to the unshifted character as in xterm.\\n' +\n ' browser-key.. Wait for the keypress event and see what the browser \\n' +\n ' says. (This won\\'t work well on platforms where the \\n' +\n ' browser performs a default action for some alt sequences.)'\n ],\n\n 'audible-bell-sound':\n [hterm.PreferenceManager.categories.Sounds, 'lib-resource:hterm/audio/bell',\n 'url',\n 'URL of the terminal bell sound. Empty string for no audible bell.'],\n\n 'desktop-notification-bell':\n [hterm.PreferenceManager.categories.Sounds, false, 'bool',\n 'If true, terminal bells in the background will create a Web ' +\n 'Notification. https://www.w3.org/TR/notifications/\\n' +\n '\\n'+\n 'Displaying notifications requires permission from the user. When this ' +\n 'option is set to true, hterm will attempt to ask the user for permission ' +\n 'if necessary. Note browsers may not show this permission request if it ' +\n 'did not originate from a user action.\\n' +\n '\\n' +\n 'Chrome extensions with the \"notifications\" permission have permission to ' +\n 'display notifications.'],\n\n 'background-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgb(16, 16, 16)', 'color',\n 'The background color for text with no other color attributes.'],\n\n 'background-image':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image. Empty string for no image.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' url(https://goo.gl/anedTK)\\n' +\n ' linear-gradient(top bottom, blue, red)'],\n\n 'background-size':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image size. Defaults to none.'],\n\n 'background-position':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image position.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' 10% 10%\\n' +\n ' center'],\n\n 'backspace-sends-backspace':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, the backspace should send BS (\\'\\\\x08\\', aka ^H). Otherwise ' +\n 'the backspace key should send \\'\\\\x7f\\'.'],\n\n 'character-map-overrides':\n [hterm.PreferenceManager.categories.Appearance, null, 'value',\n 'This is specified as an object. It is a sparse array, where each ' +\n 'property is the character set code and the value is an object that is ' +\n 'a sparse array itself. In that sparse array, each property is the ' +\n 'received character and the value is the displayed character.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' {\"0\":{\"+\":\"\\\\u2192\",\",\":\"\\\\u2190\",\"-\":\"\\\\u2191\",\".\":\"\\\\u2193\", ' +\n '\"0\":\"\\\\u2588\"}}'\n ],\n\n 'close-on-exit':\n [hterm.PreferenceManager.categories.Miscellaneous, true, 'bool',\n 'Whether or not to close the window when the command exits.'],\n\n 'cursor-blink':\n [hterm.PreferenceManager.categories.Appearance, false, 'bool',\n 'Whether or not to blink the cursor by default.'],\n\n 'cursor-blink-cycle':\n [hterm.PreferenceManager.categories.Appearance, [1000, 500], 'value',\n 'The cursor blink rate in milliseconds.\\n' +\n '\\n' +\n 'A two element array, the first of which is how long the cursor should be ' +\n 'on, second is how long it should be off.'],\n\n 'cursor-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgba(255, 0, 0, 0.5)',\n 'color',\n 'The color of the visible cursor.'],\n\n 'color-palette-overrides':\n [hterm.PreferenceManager.categories.Appearance, null, 'value',\n 'Override colors in the default palette.\\n' +\n '\\n' +\n 'This can be specified as an array or an object. If specified as an ' +\n 'object it is assumed to be a sparse array, where each property ' +\n 'is a numeric index into the color palette.\\n' +\n '\\n' +\n 'Values can be specified as almost any css color value. This ' +\n 'includes #RGB, #RRGGBB, rgb(...), rgba(...), and any color names ' +\n 'that are also part of the stock X11 rgb.txt file.\\n' +\n '\\n' +\n 'You can use \\'null\\' to specify that the default value should be not ' +\n 'be changed. This is useful for skipping a small number of indices ' +\n 'when the value is specified as an array.'],\n\n 'copy-on-select':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Automatically copy mouse selection to the clipboard.'],\n\n 'use-default-window-copy':\n [hterm.PreferenceManager.categories.CopyPaste, false, 'bool',\n 'Whether to use the default window copy behavior'],\n\n 'clear-selection-after-copy':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Whether to clear the selection after copying.'],\n\n 'ctrl-plus-minus-zero-zoom':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'If true, Ctrl-Plus/Minus/Zero controls zoom.\\n' +\n 'If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_, ' +\n 'Ctrl-Plus/Zero do nothing.'],\n\n 'ctrl-c-copy':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Ctrl+C copies if true, send ^C to host if false.\\n' +\n 'Ctrl+Shift+C sends ^C to host if true, copies if false.'],\n\n 'ctrl-v-paste':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Ctrl+V pastes if true, send ^V to host if false.\\n' +\n 'Ctrl+Shift+V sends ^V to host if true, pastes if false.'],\n\n 'east-asian-ambiguous-as-two-column':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Set whether East Asian Ambiguous characters have two column width.'],\n\n 'enable-8-bit-control':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'True to enable 8-bit control characters, false to ignore them.\\n' +\n '\\n' +\n 'We\\'ll respect the two-byte versions of these control characters ' +\n 'regardless of this setting.'],\n\n 'enable-bold':\n [hterm.PreferenceManager.categories.Appearance, null, 'tristate',\n 'True if we should use bold weight font for text with the bold/bright ' +\n 'attribute. False to use the normal weight font. Null to autodetect.'],\n\n 'enable-bold-as-bright':\n [hterm.PreferenceManager.categories.Appearance, true, 'bool',\n 'True if we should use bright colors (8-15 on a 16 color palette) ' +\n 'for any text with the bold attribute. False otherwise.'],\n\n 'enable-blink':\n [hterm.PreferenceManager.categories.Appearance, true, 'bool',\n 'True if we should respect the blink attribute. False to ignore it. '],\n\n 'enable-clipboard-notice':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Show a message in the terminal when the host writes to the clipboard.'],\n\n 'enable-clipboard-write':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Allow the host to write directly to the system clipboard.'],\n\n 'enable-dec12':\n [hterm.PreferenceManager.categories.Miscellaneous, false, 'bool',\n 'Respect the host\\'s attempt to change the cursor blink status using ' +\n 'DEC Private Mode 12.'],\n\n 'environment':\n [hterm.PreferenceManager.categories.Miscellaneous, {'TERM': 'xterm-256color'},\n 'value',\n 'The default environment variables, as an object.'],\n\n 'font-family':\n [hterm.PreferenceManager.categories.Appearance,\n '\"DejaVu Sans Mono\", \"Everson Mono\", FreeMono, \"Menlo\", \"Terminal\", ' +\n 'monospace', 'string',\n 'Default font family for the terminal text.'],\n\n 'font-size':\n [hterm.PreferenceManager.categories.Appearance, 15, 'int',\n 'The default font size in pixels.'],\n\n 'font-smoothing':\n [hterm.PreferenceManager.categories.Appearance, 'antialiased', 'string',\n 'CSS font-smoothing property.'],\n\n 'foreground-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgb(240, 240, 240)', 'color',\n 'The foreground color for text with no other color attributes.'],\n\n 'home-keys-scroll':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, home/end will control the terminal scrollbar and shift home/end ' +\n 'will send the VT keycodes. If false then home/end sends VT codes and ' +\n 'shift home/end scrolls.'],\n\n 'keybindings':\n [hterm.PreferenceManager.categories.Keyboard, null, 'value',\n 'A map of key sequence to key actions. Key sequences include zero or ' +\n 'more modifier keys followed by a key code. Key codes can be decimal or ' +\n 'hexadecimal numbers, or a key identifier. Key actions can be specified ' +\n 'a string to send to the host, or an action identifier. For a full ' +\n 'explanation of the format, see https://goo.gl/LWRndr.\\n' +\n '\\n' +\n 'Sample keybindings:\\n' +\n '{\\n' +\n ' \"Ctrl-Alt-K\": \"clearScrollback\",\\n' +\n ' \"Ctrl-Shift-L\": \"PASS\",\\n' +\n ' \"Ctrl-H\": \"\\'HELLO\\\\n\\'\"\\n' +\n '}'],\n\n 'max-string-sequence':\n [hterm.PreferenceManager.categories.Encoding, 100000, 'int',\n 'Max length of a DCS, OSC, PM, or APS sequence before we give up and ' +\n 'ignore the code.'],\n\n 'media-keys-are-fkeys':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, convert media keys to their Fkey equivalent. If false, let ' +\n 'the browser handle the keys.'],\n\n 'meta-sends-escape':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Set whether the meta key sends a leading escape or not.'],\n\n 'mouse-right-click-paste':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Paste on right mouse button clicks.\\n' +\n '\\n' +\n 'This option is activate independent of the \"mouse-paste-button\" ' +\n 'setting.\\n' +\n '\\n' +\n 'Note: This will handle left & right handed mice correctly.'],\n\n 'mouse-paste-button':\n [hterm.PreferenceManager.categories.CopyPaste, null,\n [null, 0, 1, 2, 3, 4, 5, 6],\n 'Mouse paste button, or null to autodetect.\\n' +\n '\\n' +\n 'For autodetect, we\\'ll use the middle mouse button for non-X11 ' +\n 'platforms (including Chrome OS). On X11, we\\'ll use the right mouse ' +\n 'button (since the native window manager should paste via the middle ' +\n 'mouse button).\\n' +\n '\\n' +\n '0 == left (primary) button.\\n' +\n '1 == middle (auxiliary) button.\\n' +\n '2 == right (secondary) button.\\n' +\n '\\n' +\n 'This option is activate independent of the \"mouse-right-click-paste\" ' +\n 'setting.\\n' +\n '\\n' +\n 'Note: This will handle left & right handed mice correctly.'],\n\n 'word-break-match-left':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^!@#$%&*,;:`]', 'string',\n 'Regular expression to halt matching to the left (start) of a selection.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.\\n' +\n 'We allow \"~\" and \".\" by default as paths frequently start with those.'],\n\n 'word-break-match-right':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^!@#$%&*,;:~.`]', 'string',\n 'Regular expression to halt matching to the right (end) of a selection.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.'],\n\n 'word-break-match-middle':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^]*', 'string',\n 'Regular expression to match all the characters in the middle.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.\\n' +\n '\\n' +\n 'Used to expand the selection surrounding the starting point.'],\n\n 'page-keys-scroll':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, page up/down will control the terminal scrollbar and shift ' +\n 'page up/down will send the VT keycodes. If false then page up/down ' +\n 'sends VT codes and shift page up/down scrolls.'],\n\n 'pass-alt-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Alt-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Alt-1..9 will be handled by the browser. If false, Alt-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-ctrl-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Ctrl-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Ctrl-1..9 will be handled by the browser. If false, Ctrl-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-meta-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Meta-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Meta-1..9 will be handled by the browser. If false, Meta-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-meta-v':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Set whether meta-V gets passed to host.'],\n\n 'receive-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'],\n 'Set the expected encoding for data received from the host.\\n' +\n '\\n' +\n 'Valid values are \\'utf-8\\' and \\'raw\\'.'],\n\n 'scroll-on-keystroke':\n [hterm.PreferenceManager.categories.Scrolling, true, 'bool',\n 'If true, scroll to the bottom on any keystroke.'],\n\n 'scroll-on-output':\n [hterm.PreferenceManager.categories.Scrolling, false, 'bool',\n 'If true, scroll to the bottom on terminal output.'],\n\n 'scrollbar-visible':\n [hterm.PreferenceManager.categories.Scrolling, true, 'bool',\n 'The vertical scrollbar mode.'],\n\n 'scroll-wheel-may-send-arrow-keys':\n [hterm.PreferenceManager.categories.Scrolling, false, 'bool',\n 'When using the alternative screen buffer, and DECCKM (Application Cursor ' +\n 'Keys) is active, mouse wheel scroll events will emulate arrow keys.\\n' +\n '\\n' +\n 'It can be temporarily disabled by holding the shift key.\\n' +\n '\\n' +\n 'This frequently comes up when using pagers (less) or reading man pages ' +\n 'or text editors (vi/nano) or using screen/tmux.'],\n\n 'scroll-wheel-move-multiplier':\n [hterm.PreferenceManager.categories.Scrolling, 1, 'int',\n 'The multiplier for the pixel delta in wheel events caused by the ' +\n 'scroll wheel. Alters how fast the page scrolls.'],\n\n 'send-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'],\n 'Set the encoding for data sent to host.'],\n\n 'terminal-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'iso-2022',\n ['iso-2022', 'utf-8', 'utf-8-locked'],\n 'The default terminal encoding (DOCS).\\n' +\n '\\n' +\n 'ISO-2022 enables character map translations (like graphics maps).\\n' +\n 'UTF-8 disables support for those.\\n' +\n '\\n' +\n 'The locked variant means the encoding cannot be changed at runtime ' +\n 'via terminal escape sequences.\\n' +\n '\\n' +\n 'You should stick with UTF-8 unless you notice broken rendering with ' +\n 'legacy applications.'],\n\n 'shift-insert-paste':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Shift + Insert pastes if true, sent to host if false.'],\n\n 'user-css':\n [hterm.PreferenceManager.categories.Appearance, '', 'url',\n 'URL of user stylesheet to include in the terminal document.'],\n\n 'user-css-text':\n [hterm.PreferenceManager.categories.Appearance, '', 'multiline-string',\n 'Custom CSS text for styling the terminal.'],\n};\n\nhterm.PreferenceManager.prototype =\n Object.create(lib.PreferenceManager.prototype);\nhterm.PreferenceManager.constructor = hterm.PreferenceManager;\n// SOURCE FILE: hterm/js/hterm_pubsub.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Utility class used to add publish/subscribe/unsubscribe functionality to\n * an existing object.\n */\nhterm.PubSub = function() {\n this.observers_ = {};\n};\n\n/**\n * Add publish, subscribe, and unsubscribe methods to an existing object.\n *\n * No other properties of the object are touched, so there is no need to\n * worry about clashing private properties.\n *\n * @param {Object} obj The object to add this behavior to.\n */\nhterm.PubSub.addBehavior = function(obj) {\n var pubsub = new hterm.PubSub();\n for (var m in hterm.PubSub.prototype) {\n obj[m] = hterm.PubSub.prototype[m].bind(pubsub);\n }\n};\n\n/**\n * Subscribe to be notified of messages about a subject.\n *\n * @param {string} subject The subject to subscribe to.\n * @param {function(Object)} callback The function to invoke for notifications.\n */\nhterm.PubSub.prototype.subscribe = function(subject, callback) {\n if (!(subject in this.observers_))\n this.observers_[subject] = [];\n\n this.observers_[subject].push(callback);\n};\n\n/**\n * Unsubscribe from a subject.\n *\n * @param {string} subject The subject to unsubscribe from.\n * @param {function(Object)} callback A callback previously registered via\n * subscribe().\n */\nhterm.PubSub.prototype.unsubscribe = function(subject, callback) {\n var list = this.observers_[subject];\n if (!list)\n throw 'Invalid subject: ' + subject;\n\n var i = list.indexOf(callback);\n if (i < 0)\n throw 'Not subscribed: ' + subject;\n\n list.splice(i, 1);\n};\n\n/**\n * Publish a message about a subject.\n *\n * Subscribers (and the optional final callback) are invoked asynchronously.\n * This method will return before anyone is actually notified.\n *\n * @param {string} subject The subject to publish about.\n * @param {Object} e An arbitrary object associated with this notification.\n * @param {function(Object)} opt_lastCallback An optional function to call after\n * all subscribers have been notified.\n */\nhterm.PubSub.prototype.publish = function(subject, e, opt_lastCallback) {\n function notifyList(i) {\n // Set this timeout before invoking the callback, so we don't have to\n // concern ourselves with exceptions.\n if (i < list.length - 1)\n setTimeout(notifyList, 0, i + 1);\n\n list[i](e);\n }\n\n var list = this.observers_[subject];\n if (list) {\n // Copy the list, in case it changes while we're notifying.\n list = [].concat(list);\n }\n\n if (opt_lastCallback) {\n if (list) {\n list.push(opt_lastCallback);\n } else {\n list = [opt_lastCallback];\n }\n }\n\n if (list)\n setTimeout(notifyList, 0, 0);\n};\n// SOURCE FILE: hterm/js/hterm_screen.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'lib.wc',\n 'hterm.RowCol', 'hterm.Size', 'hterm.TextAttributes');\n\n/**\n * @fileoverview This class represents a single terminal screen full of text.\n *\n * It maintains the current cursor position and has basic methods for text\n * insert and overwrite, and adding or removing rows from the screen.\n *\n * This class has no knowledge of the scrollback buffer.\n *\n * The number of rows on the screen is determined only by the number of rows\n * that the caller inserts into the screen. If a caller wants to ensure a\n * constant number of rows on the screen, it's their responsibility to remove a\n * row for each row inserted.\n *\n * The screen width, in contrast, is enforced locally.\n *\n *\n * In practice...\n * - The hterm.Terminal class holds two hterm.Screen instances. One for the\n * primary screen and one for the alternate screen.\n *\n * - The html.Screen class only cares that rows are HTMLElements. In the\n * larger context of hterm, however, the rows happen to be displayed by an\n * hterm.ScrollPort and have to follow a few rules as a result. Each\n * row must be rooted by the custom HTML tag 'x-row', and each must have a\n * rowIndex property that corresponds to the index of the row in the context\n * of the scrollback buffer. These invariants are enforced by hterm.Terminal\n * because that is the class using the hterm.Screen in the context of an\n * hterm.ScrollPort.\n */\n\n/**\n * Create a new screen instance.\n *\n * The screen initially has no rows and a maximum column count of 0.\n *\n * @param {integer} opt_columnCount The maximum number of columns for this\n * screen. See insertString() and overwriteString() for information about\n * what happens when too many characters are added too a row. Defaults to\n * 0 if not provided.\n */\nhterm.Screen = function(opt_columnCount) {\n /**\n * Public, read-only access to the rows in this screen.\n */\n this.rowsArray = [];\n\n // The max column width for this screen.\n this.columnCount_ = opt_columnCount || 80;\n\n // The current color, bold, underline and blink attributes.\n this.textAttributes = new hterm.TextAttributes(window.document);\n\n // Current zero-based cursor coordinates.\n this.cursorPosition = new hterm.RowCol(0, 0);\n\n // The node containing the row that the cursor is positioned on.\n this.cursorRowNode_ = null;\n\n // The node containing the span of text that the cursor is positioned on.\n this.cursorNode_ = null;\n\n // The offset in column width into cursorNode_ where the cursor is positioned.\n this.cursorOffset_ = null;\n\n // Regexes for expanding word selections.\n this.wordBreakMatchLeft = null;\n this.wordBreakMatchRight = null;\n this.wordBreakMatchMiddle = null;\n};\n\n/**\n * Return the screen size as an hterm.Size object.\n *\n * @return {hterm.Size} hterm.Size object representing the current number\n * of rows and columns in this screen.\n */\nhterm.Screen.prototype.getSize = function() {\n return new hterm.Size(this.columnCount_, this.rowsArray.length);\n};\n\n/**\n * Return the current number of rows in this screen.\n *\n * @return {integer} The number of rows in this screen.\n */\nhterm.Screen.prototype.getHeight = function() {\n return this.rowsArray.length;\n};\n\n/**\n * Return the current number of columns in this screen.\n *\n * @return {integer} The number of columns in this screen.\n */\nhterm.Screen.prototype.getWidth = function() {\n return this.columnCount_;\n};\n\n/**\n * Set the maximum number of columns per row.\n *\n * @param {integer} count The maximum number of columns per row.\n */\nhterm.Screen.prototype.setColumnCount = function(count) {\n this.columnCount_ = count;\n\n if (this.cursorPosition.column >= count)\n this.setCursorPosition(this.cursorPosition.row, count - 1);\n};\n\n/**\n * Remove the first row from the screen and return it.\n *\n * @return {HTMLElement} The first row in this screen.\n */\nhterm.Screen.prototype.shiftRow = function() {\n return this.shiftRows(1)[0];\n};\n\n/**\n * Remove rows from the top of the screen and return them as an array.\n *\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.shiftRows = function(count) {\n return this.rowsArray.splice(0, count);\n};\n\n/**\n * Insert a row at the top of the screen.\n *\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.unshiftRow = function(row) {\n this.rowsArray.splice(0, 0, row);\n};\n\n/**\n * Insert rows at the top of the screen.\n *\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.unshiftRows = function(rows) {\n this.rowsArray.unshift.apply(this.rowsArray, rows);\n};\n\n/**\n * Remove the last row from the screen and return it.\n *\n * @return {HTMLElement} The last row in this screen.\n */\nhterm.Screen.prototype.popRow = function() {\n return this.popRows(1)[0];\n};\n\n/**\n * Remove rows from the bottom of the screen and return them as an array.\n *\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.popRows = function(count) {\n return this.rowsArray.splice(this.rowsArray.length - count, count);\n};\n\n/**\n * Insert a row at the bottom of the screen.\n *\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.pushRow = function(row) {\n this.rowsArray.push(row);\n};\n\n/**\n * Insert rows at the bottom of the screen.\n *\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.pushRows = function(rows) {\n rows.push.apply(this.rowsArray, rows);\n};\n\n/**\n * Insert a row at the specified row of the screen.\n *\n * @param {integer} index The index to insert the row.\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.insertRow = function(index, row) {\n this.rowsArray.splice(index, 0, row);\n};\n\n/**\n * Insert rows at the specified row of the screen.\n *\n * @param {integer} index The index to insert the rows.\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.insertRows = function(index, rows) {\n for (var i = 0; i < rows.length; i++) {\n this.rowsArray.splice(index + i, 0, rows[i]);\n }\n};\n\n/**\n * Remove a row from the screen and return it.\n *\n * @param {integer} index The index of the row to remove.\n * @return {HTMLElement} The selected row.\n */\nhterm.Screen.prototype.removeRow = function(index) {\n return this.rowsArray.splice(index, 1)[0];\n};\n\n/**\n * Remove rows from the bottom of the screen and return them as an array.\n *\n * @param {integer} index The index to start removing rows.\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.removeRows = function(index, count) {\n return this.rowsArray.splice(index, count);\n};\n\n/**\n * Invalidate the current cursor position.\n *\n * This sets this.cursorPosition to (0, 0) and clears out some internal\n * data.\n *\n * Attempting to insert or overwrite text while the cursor position is invalid\n * will raise an obscure exception.\n */\nhterm.Screen.prototype.invalidateCursorPosition = function() {\n this.cursorPosition.move(0, 0);\n this.cursorRowNode_ = null;\n this.cursorNode_ = null;\n this.cursorOffset_ = null;\n};\n\n/**\n * Clear the contents of the cursor row.\n */\nhterm.Screen.prototype.clearCursorRow = function() {\n this.cursorRowNode_.innerHTML = '';\n this.cursorRowNode_.removeAttribute('line-overflow');\n this.cursorOffset_ = 0;\n this.cursorPosition.column = 0;\n this.cursorPosition.overflow = false;\n\n var text;\n if (this.textAttributes.isDefault()) {\n text = '';\n } else {\n text = lib.f.getWhitespace(this.columnCount_);\n }\n\n // We shouldn't honor inverse colors when clearing an area, to match\n // xterm's back color erase behavior.\n var inverse = this.textAttributes.inverse;\n this.textAttributes.inverse = false;\n this.textAttributes.syncColors();\n\n var node = this.textAttributes.createContainer(text);\n this.cursorRowNode_.appendChild(node);\n this.cursorNode_ = node;\n\n this.textAttributes.inverse = inverse;\n this.textAttributes.syncColors();\n};\n\n/**\n * Mark the current row as having overflowed to the next line.\n *\n * The line overflow state is used when converting a range of rows into text.\n * It makes it possible to recombine two or more overflow terminal rows into\n * a single line.\n *\n * This is distinct from the cursor being in the overflow state. Cursor\n * overflow indicates that printing at the cursor position will commit a\n * line overflow, unless it is preceded by a repositioning of the cursor\n * to a non-overflow state.\n */\nhterm.Screen.prototype.commitLineOverflow = function() {\n this.cursorRowNode_.setAttribute('line-overflow', true);\n};\n\n/**\n * Relocate the cursor to a give row and column.\n *\n * @param {integer} row The zero based row.\n * @param {integer} column The zero based column.\n */\nhterm.Screen.prototype.setCursorPosition = function(row, column) {\n if (!this.rowsArray.length) {\n console.warn('Attempt to set cursor position on empty screen.');\n return;\n }\n\n if (row >= this.rowsArray.length) {\n console.error('Row out of bounds: ' + row);\n row = this.rowsArray.length - 1;\n } else if (row < 0) {\n console.error('Row out of bounds: ' + row);\n row = 0;\n }\n\n if (column >= this.columnCount_) {\n console.error('Column out of bounds: ' + column);\n column = this.columnCount_ - 1;\n } else if (column < 0) {\n console.error('Column out of bounds: ' + column);\n column = 0;\n }\n\n this.cursorPosition.overflow = false;\n\n var rowNode = this.rowsArray[row];\n var node = rowNode.firstChild;\n\n if (!node) {\n node = rowNode.ownerDocument.createTextNode('');\n rowNode.appendChild(node);\n }\n\n var currentColumn = 0;\n\n if (rowNode == this.cursorRowNode_) {\n if (column >= this.cursorPosition.column - this.cursorOffset_) {\n node = this.cursorNode_;\n currentColumn = this.cursorPosition.column - this.cursorOffset_;\n }\n } else {\n this.cursorRowNode_ = rowNode;\n }\n\n this.cursorPosition.move(row, column);\n\n while (node) {\n var offset = column - currentColumn;\n var width = hterm.TextAttributes.nodeWidth(node);\n if (!node.nextSibling || width > offset) {\n this.cursorNode_ = node;\n this.cursorOffset_ = offset;\n return;\n }\n\n currentColumn += width;\n node = node.nextSibling;\n }\n};\n\n/**\n * Set the provided selection object to be a caret selection at the current\n * cursor position.\n */\nhterm.Screen.prototype.syncSelectionCaret = function(selection) {\n try {\n selection.collapse(this.cursorNode_, this.cursorOffset_);\n } catch (firefoxIgnoredException) {\n // FF can throw an exception if the range is off, rather than just not\n // performing the collapse.\n }\n};\n\n/**\n * Split a single node into two nodes at the given offset.\n *\n * For example:\n * Given the DOM fragment '
Hello World
', call splitNode_\n * passing the span and an offset of 6. This would modify the fragment to\n * become: '
Hello World
'. If the span\n * had any attributes they would have been copied to the new span as well.\n *\n * The to-be-split node must have a container, so that the new node can be\n * placed next to it.\n *\n * @param {HTMLNode} node The node to split.\n * @param {integer} offset The offset into the node where the split should\n * occur.\n */\nhterm.Screen.prototype.splitNode_ = function(node, offset) {\n var afterNode = node.cloneNode(false);\n\n var textContent = node.textContent;\n node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset);\n afterNode.textContent = lib.wc.substr(textContent, offset);\n\n if (afterNode.textContent)\n node.parentNode.insertBefore(afterNode, node.nextSibling);\n if (!node.textContent)\n node.parentNode.removeChild(node);\n};\n\n/**\n * Ensure that text is clipped and the cursor is clamped to the column count.\n */\nhterm.Screen.prototype.maybeClipCurrentRow = function() {\n var width = hterm.TextAttributes.nodeWidth(this.cursorRowNode_);\n\n if (width <= this.columnCount_) {\n // Current row does not need clipping, but may need clamping.\n if (this.cursorPosition.column >= this.columnCount_) {\n this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1);\n this.cursorPosition.overflow = true;\n }\n\n return;\n }\n\n // Save off the current column so we can maybe restore it later.\n var currentColumn = this.cursorPosition.column;\n\n // Move the cursor to the final column.\n this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1);\n\n // Remove any text that partially overflows.\n width = hterm.TextAttributes.nodeWidth(this.cursorNode_);\n\n if (this.cursorOffset_ < width - 1) {\n this.cursorNode_.textContent = hterm.TextAttributes.nodeSubstr(\n this.cursorNode_, 0, this.cursorOffset_ + 1);\n }\n\n // Remove all nodes after the cursor.\n var rowNode = this.cursorRowNode_;\n var node = this.cursorNode_.nextSibling;\n\n while (node) {\n rowNode.removeChild(node);\n node = this.cursorNode_.nextSibling;\n }\n\n if (currentColumn < this.columnCount_) {\n // If the cursor was within the screen before we started then restore its\n // position.\n this.setCursorPosition(this.cursorPosition.row, currentColumn);\n } else {\n // Otherwise leave it at the the last column in the overflow state.\n this.cursorPosition.overflow = true;\n }\n};\n\n/**\n * Insert a string at the current character position using the current\n * text attributes.\n *\n * You must call maybeClipCurrentRow() after in order to clip overflowed\n * text and clamp the cursor.\n *\n * It is also up to the caller to properly maintain the line overflow state\n * using hterm.Screen..commitLineOverflow().\n */\nhterm.Screen.prototype.insertString = function(str) {\n var cursorNode = this.cursorNode_;\n var cursorNodeText = cursorNode.textContent;\n\n this.cursorRowNode_.removeAttribute('line-overflow');\n\n // We may alter the width of the string by prepending some missing\n // whitespaces, so we need to record the string width ahead of time.\n var strWidth = lib.wc.strWidth(str);\n\n // No matter what, before this function exits the cursor column will have\n // moved this much.\n this.cursorPosition.column += strWidth;\n\n // Local cache of the cursor offset.\n var offset = this.cursorOffset_;\n\n // Reverse offset is the offset measured from the end of the string.\n // Zero implies that the cursor is at the end of the cursor node.\n var reverseOffset = hterm.TextAttributes.nodeWidth(cursorNode) - offset;\n\n if (reverseOffset < 0) {\n // A negative reverse offset means the cursor is positioned past the end\n // of the characters on this line. We'll need to insert the missing\n // whitespace.\n var ws = lib.f.getWhitespace(-reverseOffset);\n\n // This whitespace should be completely unstyled. Underline, background\n // color, and strikethrough would be visible on whitespace, so we can't use\n // one of those spans to hold the text.\n if (!(this.textAttributes.underline ||\n this.textAttributes.strikethrough ||\n this.textAttributes.background ||\n this.textAttributes.wcNode ||\n !this.textAttributes.asciiNode ||\n this.textAttributes.tileData != null)) {\n // Best case scenario, we can just pretend the spaces were part of the\n // original string.\n str = ws + str;\n } else if (cursorNode.nodeType == 3 ||\n !(cursorNode.wcNode ||\n !cursorNode.asciiNode ||\n cursorNode.tileNode ||\n cursorNode.style.textDecoration ||\n cursorNode.style.backgroundColor)) {\n // Second best case, the current node is able to hold the whitespace.\n cursorNode.textContent = (cursorNodeText += ws);\n } else {\n // Worst case, we have to create a new node to hold the whitespace.\n var wsNode = cursorNode.ownerDocument.createTextNode(ws);\n this.cursorRowNode_.insertBefore(wsNode, cursorNode.nextSibling);\n this.cursorNode_ = cursorNode = wsNode;\n this.cursorOffset_ = offset = -reverseOffset;\n cursorNodeText = ws;\n }\n\n // We now know for sure that we're at the last character of the cursor node.\n reverseOffset = 0;\n }\n\n if (this.textAttributes.matchesContainer(cursorNode)) {\n // The new text can be placed directly in the cursor node.\n if (reverseOffset == 0) {\n cursorNode.textContent = cursorNodeText + str;\n } else if (offset == 0) {\n cursorNode.textContent = str + cursorNodeText;\n } else {\n cursorNode.textContent =\n hterm.TextAttributes.nodeSubstr(cursorNode, 0, offset) +\n str + hterm.TextAttributes.nodeSubstr(cursorNode, offset);\n }\n\n this.cursorOffset_ += strWidth;\n return;\n }\n\n // The cursor node is the wrong style for the new text. If we're at the\n // beginning or end of the cursor node, then the adjacent node is also a\n // potential candidate.\n\n if (offset == 0) {\n // At the beginning of the cursor node, the check the previous sibling.\n var previousSibling = cursorNode.previousSibling;\n if (previousSibling &&\n this.textAttributes.matchesContainer(previousSibling)) {\n previousSibling.textContent += str;\n this.cursorNode_ = previousSibling;\n this.cursorOffset_ = lib.wc.strWidth(previousSibling.textContent);\n return;\n }\n\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, cursorNode);\n this.cursorNode_ = newNode;\n this.cursorOffset_ = strWidth;\n return;\n }\n\n if (reverseOffset == 0) {\n // At the end of the cursor node, the check the next sibling.\n var nextSibling = cursorNode.nextSibling;\n if (nextSibling &&\n this.textAttributes.matchesContainer(nextSibling)) {\n nextSibling.textContent = str + nextSibling.textContent;\n this.cursorNode_ = nextSibling;\n this.cursorOffset_ = lib.wc.strWidth(str);\n return;\n }\n\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, nextSibling);\n this.cursorNode_ = newNode;\n // We specifically need to include any missing whitespace here, since it's\n // going in a new node.\n this.cursorOffset_ = hterm.TextAttributes.nodeWidth(newNode);\n return;\n }\n\n // Worst case, we're somewhere in the middle of the cursor node. We'll\n // have to split it into two nodes and insert our new container in between.\n this.splitNode_(cursorNode, offset);\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, cursorNode.nextSibling);\n this.cursorNode_ = newNode;\n this.cursorOffset_ = strWidth;\n};\n\n/**\n * Overwrite the text at the current cursor position.\n *\n * You must call maybeClipCurrentRow() after in order to clip overflowed\n * text and clamp the cursor.\n *\n * It is also up to the caller to properly maintain the line overflow state\n * using hterm.Screen..commitLineOverflow().\n */\nhterm.Screen.prototype.overwriteString = function(str) {\n var maxLength = this.columnCount_ - this.cursorPosition.column;\n if (!maxLength)\n return [str];\n\n var width = lib.wc.strWidth(str);\n if (this.textAttributes.matchesContainer(this.cursorNode_) &&\n this.cursorNode_.textContent.substr(this.cursorOffset_) == str) {\n // This overwrite would be a no-op, just move the cursor and return.\n this.cursorOffset_ += width;\n this.cursorPosition.column += width;\n return;\n }\n\n this.deleteChars(Math.min(width, maxLength));\n this.insertString(str);\n};\n\n/**\n * Forward-delete one or more characters at the current cursor position.\n *\n * Text to the right of the deleted characters is shifted left. Only affects\n * characters on the same row as the cursor.\n *\n * @param {integer} count The column width of characters to delete. This is\n * clamped to the column width minus the cursor column.\n * @return {integer} The column width of the characters actually deleted.\n */\nhterm.Screen.prototype.deleteChars = function(count) {\n var node = this.cursorNode_;\n var offset = this.cursorOffset_;\n\n var currentCursorColumn = this.cursorPosition.column;\n count = Math.min(count, this.columnCount_ - currentCursorColumn);\n if (!count)\n return 0;\n\n var rv = count;\n var startLength, endLength;\n\n while (node && count) {\n startLength = hterm.TextAttributes.nodeWidth(node);\n node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset) +\n hterm.TextAttributes.nodeSubstr(node, offset + count);\n endLength = hterm.TextAttributes.nodeWidth(node);\n count -= startLength - endLength;\n if (offset < startLength && endLength && startLength == endLength) {\n // No characters were deleted when there should be. We're probably trying\n // to delete one column width from a wide character node. We remove the\n // wide character node here and replace it with a single space.\n var spaceNode = this.textAttributes.createContainer(' ');\n node.parentNode.insertBefore(spaceNode, node.nextSibling);\n node.textContent = '';\n endLength = 0;\n count -= 1;\n }\n\n var nextNode = node.nextSibling;\n if (endLength == 0 && node != this.cursorNode_) {\n node.parentNode.removeChild(node);\n }\n node = nextNode;\n offset = 0;\n }\n\n // Remove this.cursorNode_ if it is an empty non-text node.\n if (this.cursorNode_.nodeType != 3 && !this.cursorNode_.textContent) {\n var cursorNode = this.cursorNode_;\n if (cursorNode.previousSibling) {\n this.cursorNode_ = cursorNode.previousSibling;\n this.cursorOffset_ = hterm.TextAttributes.nodeWidth(\n cursorNode.previousSibling);\n } else if (cursorNode.nextSibling) {\n this.cursorNode_ = cursorNode.nextSibling;\n this.cursorOffset_ = 0;\n } else {\n var emptyNode = this.cursorRowNode_.ownerDocument.createTextNode('');\n this.cursorRowNode_.appendChild(emptyNode);\n this.cursorNode_ = emptyNode;\n this.cursorOffset_ = 0;\n }\n this.cursorRowNode_.removeChild(cursorNode);\n }\n\n return rv;\n};\n\n/**\n * Finds first X-ROW of a line containing specified X-ROW.\n * Used to support line overflow.\n *\n * @param {Node} row X-ROW to begin search for first row of line.\n * @return {Node} The X-ROW that is at the beginning of the line.\n **/\nhterm.Screen.prototype.getLineStartRow_ = function(row) {\n while (row.previousSibling &&\n row.previousSibling.hasAttribute('line-overflow')) {\n row = row.previousSibling;\n }\n return row;\n};\n\n/**\n * Gets text of a line beginning with row.\n * Supports line overflow.\n *\n * @param {Node} row First X-ROW of line.\n * @return {string} Text content of line.\n **/\nhterm.Screen.prototype.getLineText_ = function(row) {\n var rowText = \"\";\n while (row) {\n rowText += row.textContent;\n if (row.hasAttribute('line-overflow')) {\n row = row.nextSibling;\n } else {\n break;\n }\n }\n return rowText;\n};\n\n/**\n * Returns X-ROW that is ancestor of the node.\n *\n * @param {Node} node Node to get X-ROW ancestor for.\n * @return {Node} X-ROW ancestor of node, or null if not found.\n **/\nhterm.Screen.prototype.getXRowAncestor_ = function(node) {\n while (node) {\n if (node.nodeName === 'X-ROW')\n break;\n node = node.parentNode;\n }\n return node;\n};\n\n/**\n * Returns position within line of character at offset within node.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {Node} node Node to get position of.\n * @param {integer} offset Offset into node.\n *\n * @return {integer} Position within line of character at offset within node.\n **/\nhterm.Screen.prototype.getPositionWithOverflow_ = function(row, node, offset) {\n if (!node)\n return -1;\n var ancestorRow = this.getXRowAncestor_(node);\n if (!ancestorRow)\n return -1;\n var position = 0;\n while (ancestorRow != row) {\n position += hterm.TextAttributes.nodeWidth(row);\n if (row.hasAttribute('line-overflow') && row.nextSibling) {\n row = row.nextSibling;\n } else {\n return -1;\n }\n }\n return position + this.getPositionWithinRow_(row, node, offset);\n};\n\n/**\n * Returns position within row of character at offset within node.\n * Does not support line overflow.\n *\n * @param {Node} row X-ROW to get position within.\n * @param {Node} node Node to get position for.\n * @param {integer} offset Offset within node to get position for.\n * @return {integer} Position within row of character at offset within node.\n **/\nhterm.Screen.prototype.getPositionWithinRow_ = function(row, node, offset) {\n if (node.parentNode != row) {\n // If we traversed to the top node, then there's nothing to find here.\n if (node.parentNode == null)\n return -1;\n\n return this.getPositionWithinRow_(node.parentNode, node, offset) +\n this.getPositionWithinRow_(row, node.parentNode, 0);\n }\n var position = 0;\n for (var i = 0; i < row.childNodes.length; i++) {\n var currentNode = row.childNodes[i];\n if (currentNode == node)\n return position + offset;\n position += hterm.TextAttributes.nodeWidth(currentNode);\n }\n return -1;\n};\n\n/**\n * Returns the node and offset corresponding to position within line.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {integer} position Position within line to retrieve node and offset.\n * @return {Array} Two element array containing node and offset respectively.\n **/\nhterm.Screen.prototype.getNodeAndOffsetWithOverflow_ = function(row, position) {\n while (row && position > hterm.TextAttributes.nodeWidth(row)) {\n if (row.hasAttribute('line-overflow') && row.nextSibling) {\n position -= hterm.TextAttributes.nodeWidth(row);\n row = row.nextSibling;\n } else {\n return -1;\n }\n }\n return this.getNodeAndOffsetWithinRow_(row, position);\n};\n\n/**\n * Returns the node and offset corresponding to position within row.\n * Does not support line overflow.\n *\n * @param {Node} row X-ROW to get position within.\n * @param {integer} position Position within row to retrieve node and offset.\n * @return {Array} Two element array containing node and offset respectively.\n **/\nhterm.Screen.prototype.getNodeAndOffsetWithinRow_ = function(row, position) {\n for (var i = 0; i < row.childNodes.length; i++) {\n var node = row.childNodes[i];\n var nodeTextWidth = hterm.TextAttributes.nodeWidth(node);\n if (position <= nodeTextWidth) {\n if (node.nodeName === 'SPAN') {\n /** Drill down to node contained by SPAN. **/\n return this.getNodeAndOffsetWithinRow_(node, position);\n } else {\n return [node, position];\n }\n }\n position -= nodeTextWidth;\n }\n return null;\n};\n\n/**\n * Returns the node and offset corresponding to position within line.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {integer} start Start position of range within line.\n * @param {integer} end End position of range within line.\n * @param {Range} range Range to modify.\n **/\nhterm.Screen.prototype.setRange_ = function(row, start, end, range) {\n var startNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, start);\n if (startNodeAndOffset == null)\n return;\n var endNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, end);\n if (endNodeAndOffset == null)\n return;\n range.setStart(startNodeAndOffset[0], startNodeAndOffset[1]);\n range.setEnd(endNodeAndOffset[0], endNodeAndOffset[1]);\n};\n\n/**\n * Expands selection to surround URLs.\n *\n * @param {Selection} selection Selection to expand.\n **/\nhterm.Screen.prototype.expandSelection = function(selection) {\n if (!selection)\n return;\n\n var range = selection.getRangeAt(0);\n if (!range || range.toString().match(/\\s/))\n return;\n\n var row = this.getLineStartRow_(this.getXRowAncestor_(range.startContainer));\n if (!row)\n return;\n\n var startPosition = this.getPositionWithOverflow_(row,\n range.startContainer,\n range.startOffset);\n if (startPosition == -1)\n return;\n var endPosition = this.getPositionWithOverflow_(row,\n range.endContainer,\n range.endOffset);\n if (endPosition == -1)\n return;\n\n // Use the user configurable match settings.\n var leftMatch = this.wordBreakMatchLeft;\n var rightMatch = this.wordBreakMatchRight;\n var insideMatch = this.wordBreakMatchMiddle;\n\n //Move start to the left.\n var rowText = this.getLineText_(row);\n var lineUpToRange = lib.wc.substring(rowText, 0, endPosition);\n var leftRegularExpression = new RegExp(leftMatch + insideMatch + \"$\");\n var expandedStart = lineUpToRange.search(leftRegularExpression);\n if (expandedStart == -1 || expandedStart > startPosition)\n return;\n\n //Move end to the right.\n var lineFromRange = lib.wc.substring(rowText, startPosition,\n lib.wc.strWidth(rowText));\n var rightRegularExpression = new RegExp(\"^\" + insideMatch + rightMatch);\n var found = lineFromRange.match(rightRegularExpression);\n if (!found)\n return;\n var expandedEnd = startPosition + lib.wc.strWidth(found[0]);\n if (expandedEnd == -1 || expandedEnd < endPosition)\n return;\n\n this.setRange_(row, expandedStart, expandedEnd, range);\n selection.addRange(range);\n};\n// SOURCE FILE: hterm/js/hterm_scrollport.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'hterm.PubSub', 'hterm.Size');\n\n/**\n * A 'viewport' view of fixed-height rows with support for selection and\n * copy-to-clipboard.\n *\n * 'Viewport' in this case means that only the visible rows are in the DOM.\n * If the rowProvider has 100,000 rows, but the ScrollPort is only 25 rows\n * tall, then only 25 dom nodes are created. The ScrollPort will ask the\n * RowProvider to create new visible rows on demand as they are scrolled in\n * to the visible area.\n *\n * This viewport is designed so that select and copy-to-clipboard still works,\n * even when all or part of the selection is scrolled off screen.\n *\n * Note that the X11 mouse clipboard does not work properly when all or part\n * of the selection is off screen. It would be difficult to fix this without\n * adding significant overhead to pathologically large selection cases.\n *\n * The RowProvider should return rows rooted by the custom tag name 'x-row'.\n * This ensures that we can quickly assign the correct display height\n * to the rows with css.\n *\n * @param {RowProvider} rowProvider An object capable of providing rows as\n * raw text or row nodes.\n */\nhterm.ScrollPort = function(rowProvider) {\n hterm.PubSub.addBehavior(this);\n\n this.rowProvider_ = rowProvider;\n\n // SWAG the character size until we can measure it.\n this.characterSize = new hterm.Size(10, 10);\n\n // DOM node used for character measurement.\n this.ruler_ = null;\n\n this.selection = new hterm.ScrollPort.Selection(this);\n\n // A map of rowIndex => rowNode for each row that is drawn as part of a\n // pending redraw_() call. Null if there is no pending redraw_ call.\n this.currentRowNodeCache_ = null;\n\n // A map of rowIndex => rowNode for each row that was drawn as part of the\n // previous redraw_() call.\n this.previousRowNodeCache_ = {};\n\n // Used during scroll events to detect when the underlying cause is a resize.\n this.lastScreenWidth_ = null;\n this.lastScreenHeight_ = null;\n\n // True if the user should be allowed to select text in the terminal.\n // This is disabled when the host requests mouse drag events so that we don't\n // end up with two notions of selection.\n this.selectionEnabled_ = true;\n\n // The last row count returned by the row provider, re-populated during\n // syncScrollHeight().\n this.lastRowCount_ = 0;\n\n // The scroll wheel pixel delta multiplier to increase/decrease\n // the scroll speed of mouse wheel events. See: https://goo.gl/sXelnq\n this.scrollWheelMultiplier_ = 1;\n\n // The last touch events we saw to support touch based scrolling. Indexed\n // by touch identifier since we can have more than one touch active.\n this.lastTouch_ = {};\n\n /**\n * True if the last scroll caused the scrollport to show the final row.\n */\n this.isScrolledEnd = true;\n\n /**\n * A guess at the current scrollbar width, fixed in resize().\n */\n this.currentScrollbarWidthPx = 16;\n\n /**\n * Whether the ctrl-v key on the screen should paste.\n */\n this.ctrlVPaste = false;\n\n this.div_ = null;\n this.document_ = null;\n\n // Collection of active timeout handles.\n this.timeouts_ = {};\n\n this.observers_ = {};\n\n this.DEBUG_ = false;\n}\n\n/**\n * Proxy for the native selection object which understands how to walk up the\n * DOM to find the containing row node and sort out which comes first.\n *\n * @param {hterm.ScrollPort} scrollPort The parent hterm.ScrollPort instance.\n */\nhterm.ScrollPort.Selection = function(scrollPort) {\n this.scrollPort_ = scrollPort;\n\n /**\n * The row containing the start of the selection.\n *\n * This may be partially or fully selected. It may be the selection anchor\n * or the focus, but its rowIndex is guaranteed to be less-than-or-equal-to\n * that of the endRow.\n *\n * If only one row is selected then startRow == endRow. If there is no\n * selection or the selection is collapsed then startRow == null.\n */\n this.startRow = null;\n\n /**\n * The row containing the end of the selection.\n *\n * This may be partially or fully selected. It may be the selection anchor\n * or the focus, but its rowIndex is guaranteed to be greater-than-or-equal-to\n * that of the startRow.\n *\n * If only one row is selected then startRow == endRow. If there is no\n * selection or the selection is collapsed then startRow == null.\n */\n this.endRow = null;\n\n /**\n * True if startRow != endRow.\n */\n this.isMultiline = null;\n\n /**\n * True if the selection is just a point rather than a range.\n */\n this.isCollapsed = null;\n};\n\n/**\n * Given a list of DOM nodes and a container, return the DOM node that\n * is first according to a depth-first search.\n *\n * Returns null if none of the children are found.\n */\nhterm.ScrollPort.Selection.prototype.findFirstChild = function(\n parent, childAry) {\n var node = parent.firstChild;\n\n while (node) {\n if (childAry.indexOf(node) != -1)\n return node;\n\n if (node.childNodes.length) {\n var rv = this.findFirstChild(node, childAry);\n if (rv)\n return rv;\n }\n\n node = node.nextSibling;\n }\n\n return null;\n};\n\n/**\n * Synchronize this object with the current DOM selection.\n *\n * This is a one-way synchronization, the DOM selection is copied to this\n * object, not the other way around.\n */\nhterm.ScrollPort.Selection.prototype.sync = function() {\n var self = this;\n\n // The dom selection object has no way to tell which nodes come first in\n // the document, so we have to figure that out.\n //\n // This function is used when we detect that the \"anchor\" node is first.\n function anchorFirst() {\n self.startRow = anchorRow;\n self.startNode = selection.anchorNode;\n self.startOffset = selection.anchorOffset;\n self.endRow = focusRow;\n self.endNode = selection.focusNode;\n self.endOffset = selection.focusOffset;\n }\n\n // This function is used when we detect that the \"focus\" node is first.\n function focusFirst() {\n self.startRow = focusRow;\n self.startNode = selection.focusNode;\n self.startOffset = selection.focusOffset;\n self.endRow = anchorRow;\n self.endNode = selection.anchorNode;\n self.endOffset = selection.anchorOffset;\n }\n\n var selection = this.scrollPort_.getDocument().getSelection();\n\n this.startRow = null;\n this.endRow = null;\n this.isMultiline = null;\n this.isCollapsed = !selection || selection.isCollapsed;\n\n if (this.isCollapsed)\n return;\n\n var anchorRow = selection.anchorNode;\n while (anchorRow && !('rowIndex' in anchorRow)) {\n anchorRow = anchorRow.parentNode;\n }\n\n if (!anchorRow) {\n console.error('Selection anchor is not rooted in a row node: ' +\n selection.anchorNode.nodeName);\n return;\n }\n\n var focusRow = selection.focusNode;\n while (focusRow && !('rowIndex' in focusRow)) {\n focusRow = focusRow.parentNode;\n }\n\n if (!focusRow) {\n console.error('Selection focus is not rooted in a row node: ' +\n selection.focusNode.nodeName);\n return;\n }\n\n if (anchorRow.rowIndex < focusRow.rowIndex) {\n anchorFirst();\n\n } else if (anchorRow.rowIndex > focusRow.rowIndex) {\n focusFirst();\n\n } else if (selection.focusNode == selection.anchorNode) {\n if (selection.anchorOffset < selection.focusOffset) {\n anchorFirst();\n } else {\n focusFirst();\n }\n\n } else {\n // The selection starts and ends in the same row, but isn't contained all\n // in a single node.\n var firstNode = this.findFirstChild(\n anchorRow, [selection.anchorNode, selection.focusNode]);\n\n if (!firstNode)\n throw new Error('Unexpected error syncing selection.');\n\n if (firstNode == selection.anchorNode) {\n anchorFirst();\n } else {\n focusFirst();\n }\n }\n\n this.isMultiline = anchorRow.rowIndex != focusRow.rowIndex;\n};\n\n\n/**\n * Turn a div into this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.decorate = function(div) {\n this.div_ = div;\n\n this.iframe_ = div.ownerDocument.createElement('iframe');\n this.iframe_.style.cssText = (\n 'border: 0;' +\n 'height: 100%;' +\n 'position: absolute;' +\n 'width: 100%');\n\n // Set the iframe src to # in FF. Otherwise when the frame's\n // load event fires in FF it clears out the content of the iframe.\n if ('mozInnerScreenX' in window) // detect a FF only property\n this.iframe_.src = '#';\n\n div.appendChild(this.iframe_);\n\n this.iframe_.contentWindow.addEventListener('resize',\n this.onResize_.bind(this));\n\n var doc = this.document_ = this.iframe_.contentDocument;\n doc.body.style.cssText = (\n 'margin: 0px;' +\n 'padding: 0px;' +\n 'height: 100%;' +\n 'width: 100%;' +\n 'overflow: hidden;' +\n 'cursor: var(--hterm-mouse-cursor-style);' +\n '-webkit-user-select: none;' +\n '-moz-user-select: none;');\n\n if (this.DEBUG_) {\n // When we're debugging we add padding to the body so that the offscreen\n // elements are visible.\n this.document_.body.style.paddingTop =\n this.document_.body.style.paddingBottom =\n 'calc(var(--hterm-charsize-height) * 3)';\n }\n\n var style = doc.createElement('style');\n style.textContent = (\n 'x-row {' +\n ' display: block;' +\n ' height: var(--hterm-charsize-height);' +\n ' line-height: var(--hterm-charsize-height);' +\n '}');\n doc.head.appendChild(style);\n\n this.userCssLink_ = doc.createElement('link');\n this.userCssLink_.setAttribute('rel', 'stylesheet');\n\n this.userCssText_ = doc.createElement('style');\n doc.head.appendChild(this.userCssText_);\n\n // TODO(rginda): Sorry, this 'screen_' isn't the same thing as hterm.Screen\n // from screen.js. I need to pick a better name for one of them to avoid\n // the collision.\n // We make this field editable even though we don't actually allow anything\n // to be edited here so that Chrome will do the right thing with virtual\n // keyboards and IMEs. But make sure we turn off all the input helper logic\n // that doesn't make sense here, and might inadvertently mung or save input.\n // Some of these attributes are standard while others are browser specific,\n // but should be safely ignored by other browsers.\n this.screen_ = doc.createElement('x-screen');\n this.screen_.setAttribute('contenteditable', 'true');\n this.screen_.setAttribute('spellcheck', 'false');\n this.screen_.setAttribute('autocomplete', 'off');\n this.screen_.setAttribute('autocorrect', 'off');\n this.screen_.setAttribute('autocaptalize', 'none');\n this.screen_.setAttribute('role', 'textbox');\n this.screen_.setAttribute('tabindex', '-1');\n this.screen_.style.cssText = (\n 'caret-color: transparent;' +\n 'display: block;' +\n 'font-family: monospace;' +\n 'font-size: 15px;' +\n 'font-variant-ligatures: none;' +\n 'height: 100%;' +\n 'overflow-y: scroll; overflow-x: hidden;' +\n 'white-space: pre;' +\n 'width: 100%;' +\n 'outline: none !important');\n\n doc.body.appendChild(this.screen_);\n\n this.screen_.addEventListener('scroll', this.onScroll_.bind(this));\n this.screen_.addEventListener('wheel', this.onScrollWheel_.bind(this));\n this.screen_.addEventListener('touchstart', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchmove', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchend', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchcancel', this.onTouch_.bind(this));\n this.screen_.addEventListener('copy', this.onCopy_.bind(this));\n this.screen_.addEventListener('paste', this.onPaste_.bind(this));\n // Disable drag & drop of text/content. We don't handle it at all (yet?),\n // and the default behavior just confuses hterm.\n this.screen_.addEventListener('drop', function(e) {\n e.preventDefault();\n return false;\n });\n\n doc.body.addEventListener('keydown', this.onBodyKeyDown_.bind(this));\n\n // This is the main container for the fixed rows.\n this.rowNodes_ = doc.createElement('div');\n this.rowNodes_.id = 'hterm:row-nodes';\n this.rowNodes_.style.cssText = (\n 'display: block;' +\n 'position: fixed;' +\n 'overflow: hidden;' +\n '-webkit-user-select: text;' +\n '-moz-user-select: text;');\n this.screen_.appendChild(this.rowNodes_);\n\n // Two nodes to hold offscreen text during the copy event.\n this.topSelectBag_ = doc.createElement('x-select-bag');\n this.topSelectBag_.style.cssText = (\n 'display: block;' +\n 'overflow: hidden;' +\n 'height: var(--hterm-charsize-height);' +\n 'white-space: pre;');\n\n this.bottomSelectBag_ = this.topSelectBag_.cloneNode();\n\n // Nodes above the top fold and below the bottom fold are hidden. They are\n // only used to hold rows that are part of the selection but are currently\n // scrolled off the top or bottom of the visible range.\n this.topFold_ = doc.createElement('x-fold');\n this.topFold_.id = 'hterm:top-fold-for-row-selection';\n this.topFold_.style.cssText = 'display: block;';\n this.rowNodes_.appendChild(this.topFold_);\n\n this.bottomFold_ = this.topFold_.cloneNode();\n this.bottomFold_.id = 'hterm:bottom-fold-for-row-selection';\n this.rowNodes_.appendChild(this.bottomFold_);\n\n // This hidden div accounts for the vertical space that would be consumed by\n // all the rows in the buffer if they were visible. It's what causes the\n // scrollbar to appear on the 'x-screen', and it moves within the screen when\n // the scrollbar is moved.\n //\n // It is set 'visibility: hidden' to keep the browser from trying to include\n // it in the selection when a user 'drag selects' upwards (drag the mouse to\n // select and scroll at the same time). Without this, the selection gets\n // out of whack.\n this.scrollArea_ = doc.createElement('div');\n this.scrollArea_.id = 'hterm:scrollarea';\n this.scrollArea_.style.cssText = 'visibility: hidden';\n this.screen_.appendChild(this.scrollArea_);\n\n // This svg element is used to detect when the browser is zoomed. It must be\n // placed in the outermost document for currentScale to be correct.\n // TODO(rginda): This means that hterm nested in an iframe will not correctly\n // detect browser zoom level. We should come up with a better solution.\n // Note: This must be http:// else Chrome cannot create the element correctly.\n var xmlns = 'http://www.w3.org/2000/svg';\n this.svg_ = this.div_.ownerDocument.createElementNS(xmlns, 'svg');\n this.svg_.id = 'hterm:zoom-detector';\n this.svg_.setAttribute('xmlns', xmlns);\n this.svg_.setAttribute('version', '1.1');\n this.svg_.style.cssText = (\n 'position: absolute;' +\n 'top: 0;' +\n 'left: 0;' +\n 'visibility: hidden');\n\n\n // We send focus to this element just before a paste happens, so we can\n // capture the pasted text and forward it on to someone who cares.\n this.pasteTarget_ = doc.createElement('textarea');\n this.pasteTarget_.id = 'hterm:ctrl-v-paste-target';\n this.pasteTarget_.setAttribute('tabindex', '-1');\n this.pasteTarget_.style.cssText = (\n 'position: absolute;' +\n 'height: 1px;' +\n 'width: 1px;' +\n 'left: 0px; ' +\n 'bottom: 0px;' +\n 'opacity: 0');\n this.pasteTarget_.contentEditable = true;\n\n this.screen_.appendChild(this.pasteTarget_);\n this.pasteTarget_.addEventListener(\n 'textInput', this.handlePasteTargetTextInput_.bind(this));\n\n this.resize();\n};\n\n/**\n * Select the font-family and font-smoothing for this scrollport.\n *\n * @param {string} fontFamily Value of the CSS 'font-family' to use for this\n * scrollport. Should be a monospace font.\n * @param {string} opt_smoothing Optional value for '-webkit-font-smoothing'.\n * Defaults to an empty string if not specified.\n */\nhterm.ScrollPort.prototype.setFontFamily = function(fontFamily, opt_smoothing) {\n this.screen_.style.fontFamily = fontFamily;\n if (opt_smoothing) {\n this.screen_.style.webkitFontSmoothing = opt_smoothing;\n } else {\n this.screen_.style.webkitFontSmoothing = '';\n }\n\n this.syncCharacterSize();\n};\n\nhterm.ScrollPort.prototype.getFontFamily = function() {\n return this.screen_.style.fontFamily;\n};\n\n/**\n * Set a custom stylesheet to include in the scrollport.\n *\n * Defaults to null, meaning no custom css is loaded. Set it back to null or\n * the empty string to remove a previously applied custom css.\n */\nhterm.ScrollPort.prototype.setUserCssUrl = function(url) {\n if (url) {\n this.userCssLink_.setAttribute('href', url);\n\n if (!this.userCssLink_.parentNode)\n this.document_.head.appendChild(this.userCssLink_);\n } else if (this.userCssLink_.parentNode) {\n this.document_.head.removeChild(this.userCssLink_);\n }\n};\n\nhterm.ScrollPort.prototype.setUserCssText = function(text) {\n this.userCssText_.textContent = text;\n};\n\nhterm.ScrollPort.prototype.focus = function() {\n this.iframe_.focus();\n this.screen_.focus();\n};\n\nhterm.ScrollPort.prototype.getForegroundColor = function() {\n return this.screen_.style.color;\n};\n\nhterm.ScrollPort.prototype.setForegroundColor = function(color) {\n this.screen_.style.color = color;\n};\n\nhterm.ScrollPort.prototype.getBackgroundColor = function() {\n return this.screen_.style.backgroundColor;\n};\n\nhterm.ScrollPort.prototype.setBackgroundColor = function(color) {\n this.screen_.style.backgroundColor = color;\n};\n\nhterm.ScrollPort.prototype.setBackgroundImage = function(image) {\n this.screen_.style.backgroundImage = image;\n};\n\nhterm.ScrollPort.prototype.setBackgroundSize = function(size) {\n this.screen_.style.backgroundSize = size;\n};\n\nhterm.ScrollPort.prototype.setBackgroundPosition = function(position) {\n this.screen_.style.backgroundPosition = position;\n};\n\nhterm.ScrollPort.prototype.setCtrlVPaste = function(ctrlVPaste) {\n this.ctrlVPaste = ctrlVPaste;\n};\n\n/**\n * Get the usable size of the scrollport screen.\n *\n * The width will not include the scrollbar width.\n */\nhterm.ScrollPort.prototype.getScreenSize = function() {\n var size = hterm.getClientSize(this.screen_);\n return {\n height: size.height,\n width: size.width - this.currentScrollbarWidthPx\n };\n};\n\n/**\n * Get the usable width of the scrollport screen.\n *\n * This the widget width minus scrollbar width.\n */\nhterm.ScrollPort.prototype.getScreenWidth = function() {\n return this.getScreenSize().width ;\n};\n\n/**\n * Get the usable height of the scrollport screen.\n */\nhterm.ScrollPort.prototype.getScreenHeight = function() {\n return this.getScreenSize().height;\n};\n\n/**\n * Return the document that holds the visible rows of this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.getDocument = function() {\n return this.document_;\n};\n\n/**\n * Returns the x-screen element that holds the rows of this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.getScreenNode = function() {\n return this.screen_;\n};\n\n/**\n * Clear out any cached rowNodes.\n */\nhterm.ScrollPort.prototype.resetCache = function() {\n this.currentRowNodeCache_ = null;\n this.previousRowNodeCache_ = {};\n};\n\n/**\n * Change the current rowProvider.\n *\n * This will clear the row cache and cause a redraw.\n *\n * @param {Object} rowProvider An object capable of providing the rows\n * in this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.setRowProvider = function(rowProvider) {\n this.resetCache();\n this.rowProvider_ = rowProvider;\n this.scheduleRedraw();\n};\n\n/**\n * Inform the ScrollPort that the root DOM nodes for some or all of the visible\n * rows are no longer valid.\n *\n * Specifically, this should be called if this.rowProvider_.getRowNode() now\n * returns an entirely different node than it did before. It does not\n * need to be called if the content of a row node is the only thing that\n * changed.\n *\n * This skips some of the overhead of a full redraw, but should not be used\n * in cases where the scrollport has been scrolled, or when the row count has\n * changed.\n */\nhterm.ScrollPort.prototype.invalidate = function() {\n var node = this.topFold_.nextSibling;\n while (node != this.bottomFold_) {\n var nextSibling = node.nextSibling;\n node.parentElement.removeChild(node);\n node = nextSibling;\n }\n\n this.previousRowNodeCache_ = null;\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n this.drawVisibleRows_(topRowIndex, bottomRowIndex);\n};\n\nhterm.ScrollPort.prototype.scheduleInvalidate = function() {\n if (this.timeouts_.invalidate)\n return;\n\n var self = this;\n this.timeouts_.invalidate = setTimeout(function () {\n delete self.timeouts_.invalidate;\n self.invalidate();\n }, 0);\n};\n\n/**\n * Set the font size of the ScrollPort.\n */\nhterm.ScrollPort.prototype.setFontSize = function(px) {\n this.screen_.style.fontSize = px + 'px';\n this.syncCharacterSize();\n};\n\n/**\n * Return the current font size of the ScrollPort.\n */\nhterm.ScrollPort.prototype.getFontSize = function() {\n return parseInt(this.screen_.style.fontSize);\n};\n\n/**\n * Measure the size of a single character in pixels.\n *\n * @param {string} opt_weight The font weight to measure, or 'normal' if\n * omitted.\n * @return {hterm.Size} A new hterm.Size object.\n */\nhterm.ScrollPort.prototype.measureCharacterSize = function(opt_weight) {\n // Number of lines used to average the height of a single character.\n var numberOfLines = 100;\n // Number of chars per line used to average the width of a single character.\n var lineLength = 100;\n\n if (!this.ruler_) {\n this.ruler_ = this.document_.createElement('div');\n this.ruler_.id = 'hterm:ruler-character-size';\n this.ruler_.style.cssText = (\n 'position: absolute;' +\n 'top: 0;' +\n 'left: 0;' +\n 'visibility: hidden;' +\n 'height: auto !important;' +\n 'width: auto !important;');\n\n // We need to put the text in a span to make the size calculation\n // work properly in Firefox\n this.rulerSpan_ = this.document_.createElement('span');\n this.rulerSpan_.id = 'hterm:ruler-span-workaround';\n this.rulerSpan_.innerHTML =\n ('X'.repeat(lineLength) + '\\r').repeat(numberOfLines);\n this.ruler_.appendChild(this.rulerSpan_);\n\n this.rulerBaseline_ = this.document_.createElement('span');\n this.rulerSpan_.id = 'hterm:ruler-baseline';\n // We want to collapse it on the baseline\n this.rulerBaseline_.style.fontSize = '0px';\n this.rulerBaseline_.textContent = 'X';\n }\n\n this.rulerSpan_.style.fontWeight = opt_weight || '';\n\n this.rowNodes_.appendChild(this.ruler_);\n var rulerSize = hterm.getClientSize(this.rulerSpan_);\n\n var size = new hterm.Size(rulerSize.width / lineLength,\n rulerSize.height / numberOfLines);\n\n this.ruler_.appendChild(this.rulerBaseline_);\n size.baseline = this.rulerBaseline_.offsetTop;\n this.ruler_.removeChild(this.rulerBaseline_);\n\n this.rowNodes_.removeChild(this.ruler_);\n\n this.div_.ownerDocument.body.appendChild(this.svg_);\n size.zoomFactor = this.svg_.currentScale;\n this.div_.ownerDocument.body.removeChild(this.svg_);\n\n return size;\n};\n\n/**\n * Synchronize the character size.\n *\n * This will re-measure the current character size and adjust the height\n * of an x-row to match.\n */\nhterm.ScrollPort.prototype.syncCharacterSize = function() {\n this.characterSize = this.measureCharacterSize();\n\n this.resize();\n};\n\n/**\n * Reset dimensions and visible row count to account for a change in the\n * dimensions of the 'x-screen'.\n */\nhterm.ScrollPort.prototype.resize = function() {\n this.currentScrollbarWidthPx = hterm.getClientWidth(this.screen_) -\n this.screen_.clientWidth;\n\n this.syncScrollHeight();\n this.syncRowNodesDimensions_();\n\n var self = this;\n this.publish(\n 'resize', { scrollPort: this },\n function() {\n self.scrollRowToBottom(self.rowProvider_.getRowCount());\n self.scheduleRedraw();\n });\n};\n\n/**\n * Set the position and size of the row nodes element.\n */\nhterm.ScrollPort.prototype.syncRowNodesDimensions_ = function() {\n var screenSize = this.getScreenSize();\n\n this.lastScreenWidth_ = screenSize.width;\n this.lastScreenHeight_ = screenSize.height;\n\n // We don't want to show a partial row because it would be distracting\n // in a terminal, so we floor any fractional row count.\n this.visibleRowCount = lib.f.smartFloorDivide(\n screenSize.height, this.characterSize.height);\n\n // Then compute the height of our integral number of rows.\n var visibleRowsHeight = this.visibleRowCount * this.characterSize.height;\n\n // Then the difference between the screen height and total row height needs to\n // be made up for as top margin. We need to record this value so it\n // can be used later to determine the topRowIndex.\n this.visibleRowTopMargin = 0;\n this.visibleRowBottomMargin = screenSize.height - visibleRowsHeight;\n\n this.topFold_.style.marginBottom = this.visibleRowTopMargin + 'px';\n\n\n var topFoldOffset = 0;\n var node = this.topFold_.previousSibling;\n while (node) {\n topFoldOffset += hterm.getClientHeight(node);\n node = node.previousSibling;\n }\n\n // Set the dimensions of the visible rows container.\n this.rowNodes_.style.width = screenSize.width + 'px';\n this.rowNodes_.style.height = visibleRowsHeight + topFoldOffset + 'px';\n this.rowNodes_.style.left = this.screen_.offsetLeft + 'px';\n this.rowNodes_.style.top = this.screen_.offsetTop - topFoldOffset + 'px';\n};\n\nhterm.ScrollPort.prototype.syncScrollHeight = function() {\n // Resize the scroll area to appear as though it contains every row.\n this.lastRowCount_ = this.rowProvider_.getRowCount();\n this.scrollArea_.style.height = (this.characterSize.height *\n this.lastRowCount_ +\n this.visibleRowTopMargin +\n this.visibleRowBottomMargin +\n 'px');\n};\n\n/**\n * Schedule a redraw to happen asynchronously.\n *\n * If this method is called multiple times before the redraw has a chance to\n * run only one redraw occurs.\n */\nhterm.ScrollPort.prototype.scheduleRedraw = function() {\n if (this.timeouts_.redraw)\n return;\n\n var self = this;\n this.timeouts_.redraw = setTimeout(function () {\n delete self.timeouts_.redraw;\n self.redraw_();\n }, 0);\n};\n\n/**\n * Redraw the current hterm.ScrollPort based on the current scrollbar position.\n *\n * When redrawing, we are careful to make sure that the rows that start or end\n * the current selection are not touched in any way. Doing so would disturb\n * the selection, and cleaning up after that would cause flashes at best and\n * incorrect selection at worst. Instead, we modify the DOM around these nodes.\n * We even stash the selection start/end outside of the visible area if\n * they are not supposed to be visible in the hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.redraw_ = function() {\n this.resetSelectBags_();\n this.selection.sync();\n\n this.syncScrollHeight();\n\n this.currentRowNodeCache_ = {};\n\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n this.drawTopFold_(topRowIndex);\n this.drawBottomFold_(bottomRowIndex);\n this.drawVisibleRows_(topRowIndex, bottomRowIndex);\n\n this.syncRowNodesDimensions_();\n\n this.previousRowNodeCache_ = this.currentRowNodeCache_;\n this.currentRowNodeCache_ = null;\n\n this.isScrolledEnd = (\n this.getTopRowIndex() + this.visibleRowCount >= this.lastRowCount_);\n};\n\n/**\n * Ensure that the nodes above the top fold are as they should be.\n *\n * If the selection start and/or end nodes are above the visible range\n * of this hterm.ScrollPort then the dom will be adjusted so that they appear\n * before the top fold (the first x-fold element, aka this.topFold).\n *\n * If not, the top fold will be the first element.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawTopFold_ = function(topRowIndex) {\n if (!this.selection.startRow ||\n this.selection.startRow.rowIndex >= topRowIndex) {\n // Selection is entirely below the top fold, just make sure the fold is\n // the first child.\n if (this.rowNodes_.firstChild != this.topFold_)\n this.rowNodes_.insertBefore(this.topFold_, this.rowNodes_.firstChild);\n\n return;\n }\n\n if (!this.selection.isMultiline ||\n this.selection.endRow.rowIndex >= topRowIndex) {\n // Only the startRow is above the fold.\n if (this.selection.startRow.nextSibling != this.topFold_)\n this.rowNodes_.insertBefore(this.topFold_,\n this.selection.startRow.nextSibling);\n } else {\n // Both rows are above the fold.\n if (this.selection.endRow.nextSibling != this.topFold_) {\n this.rowNodes_.insertBefore(this.topFold_,\n this.selection.endRow.nextSibling);\n }\n\n // Trim any intermediate lines.\n while (this.selection.startRow.nextSibling !=\n this.selection.endRow) {\n this.rowNodes_.removeChild(this.selection.startRow.nextSibling);\n }\n }\n\n while(this.rowNodes_.firstChild != this.selection.startRow) {\n this.rowNodes_.removeChild(this.rowNodes_.firstChild);\n }\n};\n\n/**\n * Ensure that the nodes below the bottom fold are as they should be.\n *\n * If the selection start and/or end nodes are below the visible range\n * of this hterm.ScrollPort then the dom will be adjusted so that they appear\n * after the bottom fold (the second x-fold element, aka this.bottomFold).\n *\n * If not, the bottom fold will be the last element.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawBottomFold_ = function(bottomRowIndex) {\n if (!this.selection.endRow ||\n this.selection.endRow.rowIndex <= bottomRowIndex) {\n // Selection is entirely above the bottom fold, just make sure the fold is\n // the last child.\n if (this.rowNodes_.lastChild != this.bottomFold_)\n this.rowNodes_.appendChild(this.bottomFold_);\n\n return;\n }\n\n if (!this.selection.isMultiline ||\n this.selection.startRow.rowIndex <= bottomRowIndex) {\n // Only the endRow is below the fold.\n if (this.bottomFold_.nextSibling != this.selection.endRow)\n this.rowNodes_.insertBefore(this.bottomFold_,\n this.selection.endRow);\n } else {\n // Both rows are below the fold.\n if (this.bottomFold_.nextSibling != this.selection.startRow) {\n this.rowNodes_.insertBefore(this.bottomFold_,\n this.selection.startRow);\n }\n\n // Trim any intermediate lines.\n while (this.selection.startRow.nextSibling !=\n this.selection.endRow) {\n this.rowNodes_.removeChild(this.selection.startRow.nextSibling);\n }\n }\n\n while(this.rowNodes_.lastChild != this.selection.endRow) {\n this.rowNodes_.removeChild(this.rowNodes_.lastChild);\n }\n};\n\n/**\n * Ensure that the rows between the top and bottom folds are as they should be.\n *\n * This method assumes that drawTopFold_() and drawBottomFold_() have already\n * run, and that they have left any visible selection row (selection start\n * or selection end) between the folds.\n *\n * It recycles DOM nodes from the previous redraw where possible, but will ask\n * the rowSource to make new nodes if necessary.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawVisibleRows_ = function(\n topRowIndex, bottomRowIndex) {\n var self = this;\n\n // Keep removing nodes, starting with currentNode, until we encounter\n // targetNode. Throws on failure.\n function removeUntilNode(currentNode, targetNode) {\n while (currentNode != targetNode) {\n if (!currentNode)\n throw 'Did not encounter target node';\n\n if (currentNode == self.bottomFold_)\n throw 'Encountered bottom fold before target node';\n\n var deadNode = currentNode;\n currentNode = currentNode.nextSibling;\n deadNode.parentNode.removeChild(deadNode);\n }\n }\n\n // Shorthand for things we're going to use a lot.\n var selectionStartRow = this.selection.startRow;\n var selectionEndRow = this.selection.endRow;\n var bottomFold = this.bottomFold_;\n\n // The node we're examining during the current iteration.\n var node = this.topFold_.nextSibling;\n\n var targetDrawCount = Math.min(this.visibleRowCount,\n this.rowProvider_.getRowCount());\n\n for (var drawCount = 0; drawCount < targetDrawCount; drawCount++) {\n var rowIndex = topRowIndex + drawCount;\n\n if (node == bottomFold) {\n // We've hit the bottom fold, we need to insert a new row.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n continue;\n }\n\n if (node.rowIndex == rowIndex) {\n // This node is in the right place, move along.\n node = node.nextSibling;\n continue;\n }\n\n if (selectionStartRow && selectionStartRow.rowIndex == rowIndex) {\n // The selection start row is supposed to be here, remove nodes until\n // we find it.\n removeUntilNode(node, selectionStartRow);\n node = selectionStartRow.nextSibling;\n continue;\n }\n\n if (selectionEndRow && selectionEndRow.rowIndex == rowIndex) {\n // The selection end row is supposed to be here, remove nodes until\n // we find it.\n removeUntilNode(node, selectionEndRow);\n node = selectionEndRow.nextSibling;\n continue;\n }\n\n if (node == selectionStartRow || node == selectionEndRow) {\n // We encountered the start/end of the selection, but we don't want it\n // yet. Insert a new row instead.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n continue;\n }\n\n // There is nothing special about this node, but it's in our way. Replace\n // it with the node that should be here.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n if (node == newNode) {\n node = node.nextSibling;\n continue;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n if (!newNode.nextSibling)\n debugger;\n this.rowNodes_.removeChild(node);\n node = newNode.nextSibling;\n }\n\n if (node != this.bottomFold_)\n removeUntilNode(node, bottomFold);\n};\n\n/**\n * Empty out both select bags and remove them from the document.\n *\n * These nodes hold the text between the start and end of the selection\n * when that text is otherwise off screen. They are filled out in the\n * onCopy_ event.\n */\nhterm.ScrollPort.prototype.resetSelectBags_ = function() {\n if (this.topSelectBag_.parentNode) {\n this.topSelectBag_.textContent = '';\n this.topSelectBag_.parentNode.removeChild(this.topSelectBag_);\n }\n\n if (this.bottomSelectBag_.parentNode) {\n this.bottomSelectBag_.textContent = '';\n this.bottomSelectBag_.parentNode.removeChild(this.bottomSelectBag_);\n }\n};\n\n/**\n * Place a row node in the cache of visible nodes.\n *\n * This method may only be used during a redraw_.\n */\nhterm.ScrollPort.prototype.cacheRowNode_ = function(rowNode) {\n this.currentRowNodeCache_[rowNode.rowIndex] = rowNode;\n};\n\n/**\n * Fetch the row node for the given index.\n *\n * This will return a node from the cache if possible, or will request one\n * from the RowProvider if not.\n *\n * If a redraw_ is in progress the row will be added to the current cache.\n */\nhterm.ScrollPort.prototype.fetchRowNode_ = function(rowIndex) {\n var node;\n\n if (this.previousRowNodeCache_ && rowIndex in this.previousRowNodeCache_) {\n node = this.previousRowNodeCache_[rowIndex];\n } else {\n node = this.rowProvider_.getRowNode(rowIndex);\n }\n\n if (this.currentRowNodeCache_)\n this.cacheRowNode_(node);\n\n return node;\n};\n\n/**\n * Select all rows in the viewport.\n */\nhterm.ScrollPort.prototype.selectAll = function() {\n var firstRow;\n\n if (this.topFold_.nextSibling.rowIndex != 0) {\n while (this.topFold_.previousSibling) {\n this.rowNodes_.removeChild(this.topFold_.previousSibling);\n }\n\n firstRow = this.fetchRowNode_(0);\n this.rowNodes_.insertBefore(firstRow, this.topFold_);\n this.syncRowNodesDimensions_();\n } else {\n firstRow = this.topFold_.nextSibling;\n }\n\n var lastRowIndex = this.rowProvider_.getRowCount() - 1;\n var lastRow;\n\n if (this.bottomFold_.previousSibling.rowIndex != lastRowIndex) {\n while (this.bottomFold_.nextSibling) {\n this.rowNodes_.removeChild(this.bottomFold_.nextSibling);\n }\n\n lastRow = this.fetchRowNode_(lastRowIndex);\n this.rowNodes_.appendChild(lastRow);\n } else {\n lastRow = this.bottomFold_.previousSibling.rowIndex;\n }\n\n var selection = this.document_.getSelection();\n selection.collapse(firstRow, 0);\n selection.extend(lastRow, lastRow.childNodes.length);\n\n this.selection.sync();\n};\n\n/**\n * Return the maximum scroll position in pixels.\n */\nhterm.ScrollPort.prototype.getScrollMax_ = function(e) {\n return (hterm.getClientHeight(this.scrollArea_) +\n this.visibleRowTopMargin + this.visibleRowBottomMargin -\n hterm.getClientHeight(this.screen_));\n};\n\n/**\n * Scroll the given rowIndex to the top of the hterm.ScrollPort.\n *\n * @param {integer} rowIndex Index of the target row.\n */\nhterm.ScrollPort.prototype.scrollRowToTop = function(rowIndex) {\n this.syncScrollHeight();\n\n this.isScrolledEnd = (\n rowIndex + this.visibleRowCount >= this.lastRowCount_);\n\n var scrollTop = rowIndex * this.characterSize.height +\n this.visibleRowTopMargin;\n\n var scrollMax = this.getScrollMax_();\n if (scrollTop > scrollMax)\n scrollTop = scrollMax;\n\n if (this.screen_.scrollTop == scrollTop)\n return;\n\n this.screen_.scrollTop = scrollTop;\n this.scheduleRedraw();\n};\n\n/**\n * Scroll the given rowIndex to the bottom of the hterm.ScrollPort.\n *\n * @param {integer} rowIndex Index of the target row.\n */\nhterm.ScrollPort.prototype.scrollRowToBottom = function(rowIndex) {\n this.syncScrollHeight();\n\n this.isScrolledEnd = (\n rowIndex + this.visibleRowCount >= this.lastRowCount_);\n\n var scrollTop = rowIndex * this.characterSize.height +\n this.visibleRowTopMargin + this.visibleRowBottomMargin;\n scrollTop -= this.visibleRowCount * this.characterSize.height;\n\n if (scrollTop < 0)\n scrollTop = 0;\n\n if (this.screen_.scrollTop == scrollTop)\n return;\n\n this.screen_.scrollTop = scrollTop;\n};\n\n/**\n * Return the row index of the first visible row.\n *\n * This is based on the scroll position. If a redraw_ is in progress this\n * returns the row that *should* be at the top.\n */\nhterm.ScrollPort.prototype.getTopRowIndex = function() {\n return Math.round(this.screen_.scrollTop / this.characterSize.height);\n};\n\n/**\n * Return the row index of the last visible row.\n *\n * This is based on the scroll position. If a redraw_ is in progress this\n * returns the row that *should* be at the bottom.\n */\nhterm.ScrollPort.prototype.getBottomRowIndex = function(topRowIndex) {\n return topRowIndex + this.visibleRowCount - 1;\n};\n\n/**\n * Handler for scroll events.\n *\n * The onScroll event fires when scrollArea's scrollTop property changes. This\n * may be due to the user manually move the scrollbar, or a programmatic change.\n */\nhterm.ScrollPort.prototype.onScroll_ = function(e) {\n var screenSize = this.getScreenSize();\n if (screenSize.width != this.lastScreenWidth_ ||\n screenSize.height != this.lastScreenHeight_) {\n // This event may also fire during a resize (but before the resize event!).\n // This happens when the browser moves the scrollbar as part of the resize.\n // In these cases, we want to ignore the scroll event and let onResize\n // handle things. If we don't, then we end up scrolling to the wrong\n // position after a resize.\n this.resize();\n return;\n }\n\n this.redraw_();\n this.publish('scroll', { scrollPort: this });\n};\n\n/**\n * Clients can override this if they want to hear scrollwheel events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onScrollWheel = function(e) {};\n\n/**\n * Handler for scroll-wheel events.\n *\n * The onScrollWheel event fires when the user moves their scrollwheel over this\n * hterm.ScrollPort. Because the frontmost element in the hterm.ScrollPort is\n * a fixed position DIV, the scroll wheel does nothing by default. Instead, we\n * have to handle it manually.\n */\nhterm.ScrollPort.prototype.onScrollWheel_ = function(e) {\n this.onScrollWheel(e);\n\n if (e.defaultPrevented)\n return;\n\n // Figure out how far this event wants us to scroll.\n var delta = this.scrollWheelDelta(e);\n\n var top = this.screen_.scrollTop - delta;\n if (top < 0)\n top = 0;\n\n var scrollMax = this.getScrollMax_();\n if (top > scrollMax)\n top = scrollMax;\n\n if (top != this.screen_.scrollTop) {\n // Moving scrollTop causes a scroll event, which triggers the redraw.\n this.screen_.scrollTop = top;\n\n // Only preventDefault when we've actually scrolled. If there's nothing\n // to scroll we want to pass the event through so Chrome can detect the\n // overscroll.\n e.preventDefault();\n }\n};\n\n/**\n * Calculate how far a wheel event should scroll.\n *\n * @param {WheelEvent} e The mouse wheel event to process.\n * @return {number} How far (in pixels) to scroll.\n */\nhterm.ScrollPort.prototype.scrollWheelDelta = function(e) {\n var delta;\n\n switch (e.deltaMode) {\n case WheelEvent.DOM_DELTA_PIXEL:\n delta = e.deltaY * this.scrollWheelMultiplier_;\n break;\n case WheelEvent.DOM_DELTA_LINE:\n delta = e.deltaY * this.characterSize.height;\n break;\n case WheelEvent.DOM_DELTA_PAGE:\n delta = e.deltaY * this.characterSize.height * this.screen_.getHeight();\n break;\n }\n\n // The sign is inverted from what we would expect.\n return delta * -1;\n};\n\n\n/**\n * Clients can override this if they want to hear touch events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onTouch = function(e) {};\n\n/**\n * Handler for touch events.\n */\nhterm.ScrollPort.prototype.onTouch_ = function(e) {\n this.onTouch(e);\n\n if (e.defaultPrevented)\n return;\n\n // Extract the fields from the Touch event that we need. If we saved the\n // event directly, it has references to other objects (like x-row) that\n // might stick around for a long time. This way we only have small objects\n // in our lastTouch_ state.\n var scrubTouch = function(t) {\n return {\n id: t.identifier,\n y: t.clientY,\n x: t.clientX,\n };\n };\n\n var i, touch;\n switch (e.type) {\n case 'touchstart':\n // Save the current set of touches.\n for (i = 0; i < e.changedTouches.length; ++i) {\n touch = scrubTouch(e.changedTouches[i]);\n this.lastTouch_[touch.id] = touch;\n }\n break;\n\n case 'touchcancel':\n case 'touchend':\n // Throw away existing touches that we're finished with.\n for (i = 0; i < e.changedTouches.length; ++i)\n delete this.lastTouch_[e.changedTouches[i].identifier];\n break;\n\n case 'touchmove':\n // Walk all of the touches in this one event and merge all of their\n // changes into one delta. This lets multiple fingers scroll faster.\n var delta = 0;\n for (i = 0; i < e.changedTouches.length; ++i) {\n touch = scrubTouch(e.changedTouches[i]);\n delta += (this.lastTouch_[touch.id].y - touch.y);\n this.lastTouch_[touch.id] = touch;\n }\n\n // Invert to match the touchscreen scrolling direction of browser windows.\n delta *= -1;\n\n var top = this.screen_.scrollTop - delta;\n if (top < 0)\n top = 0;\n\n var scrollMax = this.getScrollMax_();\n if (top > scrollMax)\n top = scrollMax;\n\n if (top != this.screen_.scrollTop) {\n // Moving scrollTop causes a scroll event, which triggers the redraw.\n this.screen_.scrollTop = top;\n }\n break;\n }\n\n // To disable gestures or anything else interfering with our scrolling.\n e.preventDefault();\n};\n\n/**\n * Handler for resize events.\n *\n * The browser will resize us such that the top row stays at the top, but we\n * prefer to the bottom row to stay at the bottom.\n */\nhterm.ScrollPort.prototype.onResize_ = function(e) {\n // Re-measure, since onResize also happens for browser zoom changes.\n this.syncCharacterSize();\n this.resize();\n};\n\n/**\n * Clients can override this if they want to hear copy events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onCopy = function(e) { };\n\n/**\n * Handler for copy-to-clipboard events.\n *\n * If some or all of the selected rows are off screen we may need to fill in\n * the rows between selection start and selection end. This handler determines\n * if we're missing some of the selected text, and if so populates one or both\n * of the \"select bags\" with the missing text.\n */\nhterm.ScrollPort.prototype.onCopy_ = function(e) {\n this.onCopy(e);\n\n if (e.defaultPrevented)\n return;\n\n this.resetSelectBags_();\n this.selection.sync();\n\n if (!this.selection.startRow ||\n this.selection.endRow.rowIndex - this.selection.startRow.rowIndex < 2) {\n return;\n }\n\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n if (this.selection.startRow.rowIndex < topRowIndex) {\n // Start of selection is above the top fold.\n var endBackfillIndex;\n\n if (this.selection.endRow.rowIndex < topRowIndex) {\n // Entire selection is above the top fold.\n endBackfillIndex = this.selection.endRow.rowIndex;\n } else {\n // Selection extends below the top fold.\n endBackfillIndex = this.topFold_.nextSibling.rowIndex;\n }\n\n this.topSelectBag_.textContent = this.rowProvider_.getRowsText(\n this.selection.startRow.rowIndex + 1, endBackfillIndex);\n this.rowNodes_.insertBefore(this.topSelectBag_,\n this.selection.startRow.nextSibling);\n this.syncRowNodesDimensions_();\n }\n\n if (this.selection.endRow.rowIndex > bottomRowIndex) {\n // Selection ends below the bottom fold.\n var startBackfillIndex;\n\n if (this.selection.startRow.rowIndex > bottomRowIndex) {\n // Entire selection is below the bottom fold.\n startBackfillIndex = this.selection.startRow.rowIndex + 1;\n } else {\n // Selection starts above the bottom fold.\n startBackfillIndex = this.bottomFold_.previousSibling.rowIndex + 1;\n }\n\n this.bottomSelectBag_.textContent = this.rowProvider_.getRowsText(\n startBackfillIndex, this.selection.endRow.rowIndex);\n this.rowNodes_.insertBefore(this.bottomSelectBag_, this.selection.endRow);\n }\n};\n\n/**\n * Focuses on the paste target on a ctrl-v keydown event, as in\n * FF a content editable element must be focused before the paste event.\n */\nhterm.ScrollPort.prototype.onBodyKeyDown_ = function(e) {\n if (!this.ctrlVPaste)\n return;\n\n var key = String.fromCharCode(e.which);\n var lowerKey = key.toLowerCase();\n if ((e.ctrlKey || e.metaKey) && lowerKey == \"v\")\n this.pasteTarget_.focus();\n};\n\n/**\n * Handle a paste event on the the ScrollPort's screen element.\n */\nhterm.ScrollPort.prototype.onPaste_ = function(e) {\n this.pasteTarget_.focus();\n\n var self = this;\n setTimeout(function() {\n self.publish('paste', { text: self.pasteTarget_.value });\n self.pasteTarget_.value = '';\n self.screen_.focus();\n }, 0);\n};\n\n/**\n * Handles a textInput event on the paste target. Stops this from\n * propagating as we want this to be handled in the onPaste_ method.\n */\nhterm.ScrollPort.prototype.handlePasteTargetTextInput_ = function(e) {\n e.stopPropagation();\n};\n\n/**\n * Set the vertical scrollbar mode of the ScrollPort.\n */\nhterm.ScrollPort.prototype.setScrollbarVisible = function(state) {\n this.screen_.style.overflowY = state ? 'scroll' : 'hidden';\n};\n\n/**\n * Set scroll wheel multiplier. This alters how much the screen scrolls on\n * mouse wheel events.\n */\nhterm.ScrollPort.prototype.setScrollWheelMoveMultipler = function(multiplier) {\n this.scrollWheelMultiplier_ = multiplier;\n};\n// SOURCE FILE: hterm/js/hterm_terminal.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors', 'lib.PreferenceManager', 'lib.resource', 'lib.wc',\n 'lib.f', 'hterm.Keyboard', 'hterm.Options', 'hterm.PreferenceManager',\n 'hterm.Screen', 'hterm.ScrollPort', 'hterm.Size',\n 'hterm.TextAttributes', 'hterm.VT');\n\n/**\n * Constructor for the Terminal class.\n *\n * A Terminal pulls together the hterm.ScrollPort, hterm.Screen and hterm.VT100\n * classes to provide the complete terminal functionality.\n *\n * There are a number of lower-level Terminal methods that can be called\n * directly to manipulate the cursor, text, scroll region, and other terminal\n * attributes. However, the primary method is interpret(), which parses VT\n * escape sequences and invokes the appropriate Terminal methods.\n *\n * This class was heavily influenced by Cory Maccarrone's Framebuffer class.\n *\n * TODO(rginda): Eventually we're going to need to support characters which are\n * displayed twice as wide as standard latin characters. This is to support\n * CJK (and possibly other character sets).\n *\n * @param {string} opt_profileId Optional preference profile name. If not\n * provided, defaults to 'default'.\n */\nhterm.Terminal = function(opt_profileId) {\n this.profileId_ = null;\n\n // Two screen instances.\n this.primaryScreen_ = new hterm.Screen();\n this.alternateScreen_ = new hterm.Screen();\n\n // The \"current\" screen.\n this.screen_ = this.primaryScreen_;\n\n // The local notion of the screen size. ScreenBuffers also have a size which\n // indicates their present size. During size changes, the two may disagree.\n // Also, the inactive screen's size is not altered until it is made the active\n // screen.\n this.screenSize = new hterm.Size(0, 0);\n\n // The scroll port we'll be using to display the visible rows.\n this.scrollPort_ = new hterm.ScrollPort(this);\n this.scrollPort_.subscribe('resize', this.onResize_.bind(this));\n this.scrollPort_.subscribe('scroll', this.onScroll_.bind(this));\n this.scrollPort_.subscribe('paste', this.onPaste_.bind(this));\n this.scrollPort_.onCopy = this.onCopy_.bind(this);\n\n // The div that contains this terminal.\n this.div_ = null;\n\n // The document that contains the scrollPort. Defaulted to the global\n // document here so that the terminal is functional even if it hasn't been\n // inserted into a document yet, but re-set in decorate().\n this.document_ = window.document;\n\n // The rows that have scrolled off screen and are no longer addressable.\n this.scrollbackRows_ = [];\n\n // Saved tab stops.\n this.tabStops_ = [];\n\n // Keep track of whether default tab stops have been erased; after a TBC\n // clears all tab stops, defaults aren't restored on resize until a reset.\n this.defaultTabStops = true;\n\n // The VT's notion of the top and bottom rows. Used during some VT\n // cursor positioning and scrolling commands.\n this.vtScrollTop_ = null;\n this.vtScrollBottom_ = null;\n\n // The DIV element for the visible cursor.\n this.cursorNode_ = null;\n\n // The current cursor shape of the terminal.\n this.cursorShape_ = hterm.Terminal.cursorShape.BLOCK;\n\n // The current color of the cursor.\n this.cursorColor_ = null;\n\n // Cursor blink on/off cycle in ms, overwritten by prefs once they're loaded.\n this.cursorBlinkCycle_ = [100, 100];\n\n // Pre-bound onCursorBlink_ handler, so we don't have to do this for each\n // cursor on/off servicing.\n this.myOnCursorBlink_ = this.onCursorBlink_.bind(this);\n\n // These prefs are cached so we don't have to read from local storage with\n // each output and keystroke. They are initialized by the preference manager.\n this.backgroundColor_ = null;\n this.foregroundColor_ = null;\n this.scrollOnOutput_ = null;\n this.scrollOnKeystroke_ = null;\n this.scrollWheelArrowKeys_ = null;\n\n // True if we should override mouse event reporting to allow local selection.\n this.defeatMouseReports_ = false;\n\n // Terminal bell sound.\n this.bellAudio_ = this.document_.createElement('audio');\n this.bellAudio_.id = 'hterm:bell-audio';\n this.bellAudio_.setAttribute('preload', 'auto');\n\n // All terminal bell notifications that have been generated (not necessarily\n // shown).\n this.bellNotificationList_ = [];\n\n // Whether we have permission to display notifications.\n this.desktopNotificationBell_ = false;\n\n // Cursor position and attributes saved with DECSC.\n this.savedOptions_ = {};\n\n // The current mode bits for the terminal.\n this.options_ = new hterm.Options();\n\n // Timeouts we might need to clear.\n this.timeouts_ = {};\n\n // The VT escape sequence interpreter.\n this.vt = new hterm.VT(this);\n\n // The keyboard handler.\n this.keyboard = new hterm.Keyboard(this);\n\n // General IO interface that can be given to third parties without exposing\n // the entire terminal object.\n this.io = new hterm.Terminal.IO(this);\n\n // True if mouse-click-drag should scroll the terminal.\n this.enableMouseDragScroll = true;\n\n this.copyOnSelect = null;\n this.mouseRightClickPaste = null;\n this.mousePasteButton = null;\n\n // Whether to use the default window copy behavior.\n this.useDefaultWindowCopy = false;\n\n this.clearSelectionAfterCopy = true;\n\n this.realizeSize_(80, 24);\n this.setDefaultTabStops();\n\n this.setProfile(opt_profileId || 'default',\n function() { this.onTerminalReady(); }.bind(this));\n};\n\n/**\n * Possible cursor shapes.\n */\nhterm.Terminal.cursorShape = {\n BLOCK: 'BLOCK',\n BEAM: 'BEAM',\n UNDERLINE: 'UNDERLINE'\n};\n\n/**\n * Clients should override this to be notified when the terminal is ready\n * for use.\n *\n * The terminal initialization is asynchronous, and shouldn't be used before\n * this method is called.\n */\nhterm.Terminal.prototype.onTerminalReady = function() { };\n\n/**\n * Default tab with of 8 to match xterm.\n */\nhterm.Terminal.prototype.tabWidth = 8;\n\n/**\n * Select a preference profile.\n *\n * This will load the terminal preferences for the given profile name and\n * associate subsequent preference changes with the new preference profile.\n *\n * @param {string} profileId The name of the preference profile. Forward slash\n * characters will be removed from the name.\n * @param {function} opt_callback Optional callback to invoke when the profile\n * transition is complete.\n */\nhterm.Terminal.prototype.setProfile = function(profileId, opt_callback) {\n this.profileId_ = profileId.replace(/\\//g, '');\n\n var terminal = this;\n\n if (this.prefs_)\n this.prefs_.deactivate();\n\n this.prefs_ = new hterm.PreferenceManager(this.profileId_);\n this.prefs_.addObservers(null, {\n 'alt-gr-mode': function(v) {\n if (v == null) {\n if (navigator.language.toLowerCase() == 'en-us') {\n v = 'none';\n } else {\n v = 'right-alt';\n }\n } else if (typeof v == 'string') {\n v = v.toLowerCase();\n } else {\n v = 'none';\n }\n\n if (!/^(none|ctrl-alt|left-alt|right-alt)$/.test(v))\n v = 'none';\n\n terminal.keyboard.altGrMode = v;\n },\n\n 'alt-backspace-is-meta-backspace': function(v) {\n terminal.keyboard.altBackspaceIsMetaBackspace = v;\n },\n\n 'alt-is-meta': function(v) {\n terminal.keyboard.altIsMeta = v;\n },\n\n 'alt-sends-what': function(v) {\n if (!/^(escape|8-bit|browser-key)$/.test(v))\n v = 'escape';\n\n terminal.keyboard.altSendsWhat = v;\n },\n\n 'audible-bell-sound': function(v) {\n var ary = v.match(/^lib-resource:(\\S+)/);\n if (ary) {\n terminal.bellAudio_.setAttribute('src',\n lib.resource.getDataUrl(ary[1]));\n } else {\n terminal.bellAudio_.setAttribute('src', v);\n }\n },\n\n 'desktop-notification-bell': function(v) {\n if (v && Notification) {\n terminal.desktopNotificationBell_ =\n Notification.permission === 'granted';\n if (!terminal.desktopNotificationBell_) {\n // Note: We don't call Notification.requestPermission here because\n // Chrome requires the call be the result of a user action (such as an\n // onclick handler), and pref listeners are run asynchronously.\n //\n // A way of working around this would be to display a dialog in the\n // terminal with a \"click-to-request-permission\" button.\n console.warn('desktop-notification-bell is true but we do not have ' +\n 'permission to display notifications.');\n }\n } else {\n terminal.desktopNotificationBell_ = false;\n }\n },\n\n 'background-color': function(v) {\n terminal.setBackgroundColor(v);\n },\n\n 'background-image': function(v) {\n terminal.scrollPort_.setBackgroundImage(v);\n },\n\n 'background-size': function(v) {\n terminal.scrollPort_.setBackgroundSize(v);\n },\n\n 'background-position': function(v) {\n terminal.scrollPort_.setBackgroundPosition(v);\n },\n\n 'backspace-sends-backspace': function(v) {\n terminal.keyboard.backspaceSendsBackspace = v;\n },\n\n 'character-map-overrides': function(v) {\n if (!(v == null || v instanceof Object)) {\n console.warn('Preference character-map-modifications is not an ' +\n 'object: ' + v);\n return;\n }\n\n terminal.vt.characterMaps.reset();\n terminal.vt.characterMaps.setOverrides(v);\n },\n\n 'cursor-blink': function(v) {\n terminal.setCursorBlink(!!v);\n },\n\n 'cursor-blink-cycle': function(v) {\n if (v instanceof Array &&\n typeof v[0] == 'number' &&\n typeof v[1] == 'number') {\n terminal.cursorBlinkCycle_ = v;\n } else if (typeof v == 'number') {\n terminal.cursorBlinkCycle_ = [v, v];\n } else {\n // Fast blink indicates an error.\n terminal.cursorBlinkCycle_ = [100, 100];\n }\n },\n\n 'cursor-color': function(v) {\n terminal.setCursorColor(v);\n },\n\n 'color-palette-overrides': function(v) {\n if (!(v == null || v instanceof Object || v instanceof Array)) {\n console.warn('Preference color-palette-overrides is not an array or ' +\n 'object: ' + v);\n return;\n }\n\n lib.colors.colorPalette = lib.colors.stockColorPalette.concat();\n\n if (v) {\n for (var key in v) {\n var i = parseInt(key);\n if (isNaN(i) || i < 0 || i > 255) {\n console.log('Invalid value in palette: ' + key + ': ' + v[key]);\n continue;\n }\n\n if (v[i]) {\n var rgb = lib.colors.normalizeCSS(v[i]);\n if (rgb)\n lib.colors.colorPalette[i] = rgb;\n }\n }\n }\n\n terminal.primaryScreen_.textAttributes.resetColorPalette();\n terminal.alternateScreen_.textAttributes.resetColorPalette();\n },\n\n 'copy-on-select': function(v) {\n terminal.copyOnSelect = !!v;\n },\n\n 'use-default-window-copy': function(v) {\n terminal.useDefaultWindowCopy = !!v;\n },\n\n 'clear-selection-after-copy': function(v) {\n terminal.clearSelectionAfterCopy = !!v;\n },\n\n 'ctrl-plus-minus-zero-zoom': function(v) {\n terminal.keyboard.ctrlPlusMinusZeroZoom = v;\n },\n\n 'ctrl-c-copy': function(v) {\n terminal.keyboard.ctrlCCopy = v;\n },\n\n 'ctrl-v-paste': function(v) {\n terminal.keyboard.ctrlVPaste = v;\n terminal.scrollPort_.setCtrlVPaste(v);\n },\n\n 'east-asian-ambiguous-as-two-column': function(v) {\n lib.wc.regardCjkAmbiguous = v;\n },\n\n 'enable-8-bit-control': function(v) {\n terminal.vt.enable8BitControl = !!v;\n },\n\n 'enable-bold': function(v) {\n terminal.syncBoldSafeState();\n },\n\n 'enable-bold-as-bright': function(v) {\n terminal.primaryScreen_.textAttributes.enableBoldAsBright = !!v;\n terminal.alternateScreen_.textAttributes.enableBoldAsBright = !!v;\n },\n\n 'enable-blink': function(v) {\n terminal.syncBlinkState();\n },\n\n 'enable-clipboard-write': function(v) {\n terminal.vt.enableClipboardWrite = !!v;\n },\n\n 'enable-dec12': function(v) {\n terminal.vt.enableDec12 = !!v;\n },\n\n 'font-family': function(v) {\n terminal.syncFontFamily();\n },\n\n 'font-size': function(v) {\n terminal.setFontSize(v);\n },\n\n 'font-smoothing': function(v) {\n terminal.syncFontFamily();\n },\n\n 'foreground-color': function(v) {\n terminal.setForegroundColor(v);\n },\n\n 'home-keys-scroll': function(v) {\n terminal.keyboard.homeKeysScroll = v;\n },\n\n 'keybindings': function(v) {\n terminal.keyboard.bindings.clear();\n\n if (!v)\n return;\n\n if (!(v instanceof Object)) {\n console.error('Error in keybindings preference: Expected object');\n return;\n }\n\n try {\n terminal.keyboard.bindings.addBindings(v);\n } catch (ex) {\n console.error('Error in keybindings preference: ' + ex);\n }\n },\n\n 'max-string-sequence': function(v) {\n terminal.vt.maxStringSequence = v;\n },\n\n 'media-keys-are-fkeys': function(v) {\n terminal.keyboard.mediaKeysAreFKeys = v;\n },\n\n 'meta-sends-escape': function(v) {\n terminal.keyboard.metaSendsEscape = v;\n },\n\n 'mouse-right-click-paste': function(v) {\n terminal.mouseRightClickPaste = v;\n },\n\n 'mouse-paste-button': function(v) {\n terminal.syncMousePasteButton();\n },\n\n 'page-keys-scroll': function(v) {\n terminal.keyboard.pageKeysScroll = v;\n },\n\n 'pass-alt-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Alt-1..9 pass to the browser (to control tab switching) on\n // non-OS X systems, or if hterm is not opened in an app window.\n v = (!osx && hterm.windowType != 'popup');\n }\n\n terminal.passAltNumber = v;\n },\n\n 'pass-ctrl-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Ctrl-1..9 pass to the browser (to control tab switching) on\n // non-OS X systems, or if hterm is not opened in an app window.\n v = (!osx && hterm.windowType != 'popup');\n }\n\n terminal.passCtrlNumber = v;\n },\n\n 'pass-meta-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Meta-1..9 pass to the browser (to control tab switching) on\n // OS X systems, or if hterm is not opened in an app window.\n v = (osx && hterm.windowType != 'popup');\n }\n\n terminal.passMetaNumber = v;\n },\n\n 'pass-meta-v': function(v) {\n terminal.keyboard.passMetaV = v;\n },\n\n 'receive-encoding': function(v) {\n if (!(/^(utf-8|raw)$/).test(v)) {\n console.warn('Invalid value for \"receive-encoding\": ' + v);\n v = 'utf-8';\n }\n\n terminal.vt.characterEncoding = v;\n },\n\n 'scroll-on-keystroke': function(v) {\n terminal.scrollOnKeystroke_ = v;\n },\n\n 'scroll-on-output': function(v) {\n terminal.scrollOnOutput_ = v;\n },\n\n 'scrollbar-visible': function(v) {\n terminal.setScrollbarVisible(v);\n },\n\n 'scroll-wheel-may-send-arrow-keys': function(v) {\n terminal.scrollWheelArrowKeys_ = v;\n },\n\n 'scroll-wheel-move-multiplier': function(v) {\n terminal.setScrollWheelMoveMultipler(v);\n },\n\n 'send-encoding': function(v) {\n if (!(/^(utf-8|raw)$/).test(v)) {\n console.warn('Invalid value for \"send-encoding\": ' + v);\n v = 'utf-8';\n }\n\n terminal.keyboard.characterEncoding = v;\n },\n\n 'shift-insert-paste': function(v) {\n terminal.keyboard.shiftInsertPaste = v;\n },\n\n 'terminal-encoding': function(v) {\n terminal.vt.setEncoding(v);\n },\n\n 'user-css': function(v) {\n terminal.scrollPort_.setUserCssUrl(v);\n },\n\n 'user-css-text': function(v) {\n terminal.scrollPort_.setUserCssText(v);\n },\n\n 'word-break-match-left': function(v) {\n terminal.primaryScreen_.wordBreakMatchLeft = v;\n terminal.alternateScreen_.wordBreakMatchLeft = v;\n },\n\n 'word-break-match-right': function(v) {\n terminal.primaryScreen_.wordBreakMatchRight = v;\n terminal.alternateScreen_.wordBreakMatchRight = v;\n },\n\n 'word-break-match-middle': function(v) {\n terminal.primaryScreen_.wordBreakMatchMiddle = v;\n terminal.alternateScreen_.wordBreakMatchMiddle = v;\n },\n });\n\n this.prefs_.readStorage(function() {\n this.prefs_.notifyAll();\n\n if (opt_callback)\n opt_callback();\n }.bind(this));\n};\n\n\n/**\n * Returns the preferences manager used for configuring this terminal.\n *\n * @return {hterm.PreferenceManager}\n */\nhterm.Terminal.prototype.getPrefs = function() {\n return this.prefs_;\n};\n\n/**\n * Enable or disable bracketed paste mode.\n *\n * @param {boolean} state The value to set.\n */\nhterm.Terminal.prototype.setBracketedPaste = function(state) {\n this.options_.bracketedPaste = state;\n};\n\n/**\n * Set the color for the cursor.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setCursorColor = function(color) {\n this.cursorColor_ = color;\n this.cursorNode_.style.backgroundColor = color;\n this.cursorNode_.style.borderColor = color;\n};\n\n/**\n * Return the current cursor color as a string.\n * @return {string}\n */\nhterm.Terminal.prototype.getCursorColor = function() {\n return this.cursorColor_;\n};\n\n/**\n * Enable or disable mouse based text selection in the terminal.\n *\n * @param {boolean} state The value to set.\n */\nhterm.Terminal.prototype.setSelectionEnabled = function(state) {\n this.enableMouseDragScroll = state;\n};\n\n/**\n * Set the background color.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setBackgroundColor = function(color) {\n this.backgroundColor_ = lib.colors.normalizeCSS(color);\n this.primaryScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.alternateScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.scrollPort_.setBackgroundColor(color);\n};\n\n/**\n * Return the current terminal background color.\n *\n * Intended for use by other classes, so we don't have to expose the entire\n * prefs_ object.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getBackgroundColor = function() {\n return this.backgroundColor_;\n};\n\n/**\n * Set the foreground color.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setForegroundColor = function(color) {\n this.foregroundColor_ = lib.colors.normalizeCSS(color);\n this.primaryScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.alternateScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.scrollPort_.setForegroundColor(color);\n};\n\n/**\n * Return the current terminal foreground color.\n *\n * Intended for use by other classes, so we don't have to expose the entire\n * prefs_ object.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getForegroundColor = function() {\n return this.foregroundColor_;\n};\n\n/**\n * Create a new instance of a terminal command and run it with a given\n * argument string.\n *\n * @param {function} commandClass The constructor for a terminal command.\n * @param {string} argString The argument string to pass to the command.\n */\nhterm.Terminal.prototype.runCommandClass = function(commandClass, argString) {\n var environment = this.prefs_.get('environment');\n if (typeof environment != 'object' || environment == null)\n environment = {};\n\n var self = this;\n this.command = new commandClass(\n { argString: argString || '',\n io: this.io.push(),\n environment: environment,\n onExit: function(code) {\n self.io.pop();\n self.uninstallKeyboard();\n if (self.prefs_.get('close-on-exit'))\n window.close();\n }\n });\n\n this.installKeyboard();\n this.command.run();\n};\n\n/**\n * Returns true if the current screen is the primary screen, false otherwise.\n *\n * @return {boolean}\n */\nhterm.Terminal.prototype.isPrimaryScreen = function() {\n return this.screen_ == this.primaryScreen_;\n};\n\n/**\n * Install the keyboard handler for this terminal.\n *\n * This will prevent the browser from seeing any keystrokes sent to the\n * terminal.\n */\nhterm.Terminal.prototype.installKeyboard = function() {\n this.keyboard.installKeyboard(this.scrollPort_.getDocument().body);\n}\n\n/**\n * Uninstall the keyboard handler for this terminal.\n */\nhterm.Terminal.prototype.uninstallKeyboard = function() {\n this.keyboard.installKeyboard(null);\n}\n\n/**\n * Set a CSS variable.\n *\n * Normally this is used to set variables in the hterm namespace.\n *\n * @param {string} name The variable to set.\n * @param {string} value The value to assign to the variable.\n * @param {string?} opt_prefix The variable namespace/prefix to use.\n */\nhterm.Terminal.prototype.setCssVar = function(name, value,\n opt_prefix='--hterm-') {\n this.document_.documentElement.style.setProperty(\n `${opt_prefix}${name}`, value);\n};\n\n/**\n * Set the font size for this terminal.\n *\n * Call setFontSize(0) to reset to the default font size.\n *\n * This function does not modify the font-size preference.\n *\n * @param {number} px The desired font size, in pixels.\n */\nhterm.Terminal.prototype.setFontSize = function(px) {\n if (px === 0)\n px = this.prefs_.get('font-size');\n\n this.scrollPort_.setFontSize(px);\n this.setCssVar('charsize-width', this.scrollPort_.characterSize.width + 'px');\n this.setCssVar('charsize-height',\n this.scrollPort_.characterSize.height + 'px');\n};\n\n/**\n * Get the current font size.\n *\n * @return {number}\n */\nhterm.Terminal.prototype.getFontSize = function() {\n return this.scrollPort_.getFontSize();\n};\n\n/**\n * Get the current font family.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getFontFamily = function() {\n return this.scrollPort_.getFontFamily();\n};\n\n/**\n * Set the CSS \"font-family\" for this terminal.\n */\nhterm.Terminal.prototype.syncFontFamily = function() {\n this.scrollPort_.setFontFamily(this.prefs_.get('font-family'),\n this.prefs_.get('font-smoothing'));\n this.syncBoldSafeState();\n};\n\n/**\n * Set this.mousePasteButton based on the mouse-paste-button pref,\n * autodetecting if necessary.\n */\nhterm.Terminal.prototype.syncMousePasteButton = function() {\n var button = this.prefs_.get('mouse-paste-button');\n if (typeof button == 'number') {\n this.mousePasteButton = button;\n return;\n }\n\n var ary = navigator.userAgent.match(/\\(X11;\\s+(\\S+)/);\n if (!ary || ary[1] == 'CrOS') {\n this.mousePasteButton = 1; // Middle mouse button.\n } else {\n this.mousePasteButton = 2; // Right mouse button.\n }\n};\n\n/**\n * Enable or disable bold based on the enable-bold pref, autodetecting if\n * necessary.\n */\nhterm.Terminal.prototype.syncBoldSafeState = function() {\n var enableBold = this.prefs_.get('enable-bold');\n if (enableBold !== null) {\n this.primaryScreen_.textAttributes.enableBold = enableBold;\n this.alternateScreen_.textAttributes.enableBold = enableBold;\n return;\n }\n\n var normalSize = this.scrollPort_.measureCharacterSize();\n var boldSize = this.scrollPort_.measureCharacterSize('bold');\n\n var isBoldSafe = normalSize.equals(boldSize);\n if (!isBoldSafe) {\n console.warn('Bold characters disabled: Size of bold weight differs ' +\n 'from normal. Font family is: ' +\n this.scrollPort_.getFontFamily());\n }\n\n this.primaryScreen_.textAttributes.enableBold = isBoldSafe;\n this.alternateScreen_.textAttributes.enableBold = isBoldSafe;\n};\n\n/**\n * Enable or disable blink based on the enable-blink pref.\n */\nhterm.Terminal.prototype.syncBlinkState = function() {\n this.setCssVar('node-duration',\n this.prefs_.get('enable-blink') ? '0.7s' : '0');\n};\n\n/**\n * Set the mouse cursor style based on the current terminal mode.\n */\nhterm.Terminal.prototype.syncMouseStyle = function() {\n this.setCssVar('mouse-cursor-style',\n this.vt.mouseReport == this.vt.MOUSE_REPORT_DISABLED ?\n 'var(--hterm-mouse-cursor-text)' :\n 'var(--hterm-mouse-cursor-pointer)');\n};\n\n/**\n * Return a copy of the current cursor position.\n *\n * @return {hterm.RowCol} The RowCol object representing the current position.\n */\nhterm.Terminal.prototype.saveCursor = function() {\n return this.screen_.cursorPosition.clone();\n};\n\n/**\n * Return the current text attributes.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getTextAttributes = function() {\n return this.screen_.textAttributes;\n};\n\n/**\n * Set the text attributes.\n *\n * @param {string} textAttributes The attributes to set.\n */\nhterm.Terminal.prototype.setTextAttributes = function(textAttributes) {\n this.screen_.textAttributes = textAttributes;\n};\n\n/**\n * Return the current browser zoom factor applied to the terminal.\n *\n * @return {number} The current browser zoom factor.\n */\nhterm.Terminal.prototype.getZoomFactor = function() {\n return this.scrollPort_.characterSize.zoomFactor;\n};\n\n/**\n * Change the title of this terminal's window.\n *\n * @param {string} title The title to set.\n */\nhterm.Terminal.prototype.setWindowTitle = function(title) {\n window.document.title = title;\n};\n\n/**\n * Restore a previously saved cursor position.\n *\n * @param {hterm.RowCol} cursor The position to restore.\n */\nhterm.Terminal.prototype.restoreCursor = function(cursor) {\n var row = lib.f.clamp(cursor.row, 0, this.screenSize.height - 1);\n var column = lib.f.clamp(cursor.column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n if (cursor.column > column ||\n cursor.column == column && cursor.overflow) {\n this.screen_.cursorPosition.overflow = true;\n }\n};\n\n/**\n * Clear the cursor's overflow flag.\n */\nhterm.Terminal.prototype.clearCursorOverflow = function() {\n this.screen_.cursorPosition.overflow = false;\n};\n\n/**\n * Sets the cursor shape\n *\n * @param {string} shape The shape to set.\n */\nhterm.Terminal.prototype.setCursorShape = function(shape) {\n this.cursorShape_ = shape;\n this.restyleCursor_();\n}\n\n/**\n * Get the cursor shape\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getCursorShape = function() {\n return this.cursorShape_;\n}\n\n/**\n * Set the width of the terminal, resizing the UI to match.\n *\n * @param {number} columnCount\n */\nhterm.Terminal.prototype.setWidth = function(columnCount) {\n if (columnCount == null) {\n this.div_.style.width = '100%';\n return;\n }\n\n this.div_.style.width = Math.ceil(\n this.scrollPort_.characterSize.width *\n columnCount + this.scrollPort_.currentScrollbarWidthPx) + 'px';\n this.realizeSize_(columnCount, this.screenSize.height);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Set the height of the terminal, resizing the UI to match.\n *\n * @param {number} rowCount The height in rows.\n */\nhterm.Terminal.prototype.setHeight = function(rowCount) {\n if (rowCount == null) {\n this.div_.style.height = '100%';\n return;\n }\n\n this.div_.style.height =\n this.scrollPort_.characterSize.height * rowCount + 'px';\n this.realizeSize_(this.screenSize.width, rowCount);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Deal with terminal size changes.\n *\n * @param {number} columnCount The number of columns.\n * @param {number} rowCount The number of rows.\n */\nhterm.Terminal.prototype.realizeSize_ = function(columnCount, rowCount) {\n if (columnCount != this.screenSize.width)\n this.realizeWidth_(columnCount);\n\n if (rowCount != this.screenSize.height)\n this.realizeHeight_(rowCount);\n\n // Send new terminal size to plugin.\n this.io.onTerminalResize_(columnCount, rowCount);\n};\n\n/**\n * Deal with terminal width changes.\n *\n * This function does what needs to be done when the terminal width changes\n * out from under us. It happens here rather than in onResize_() because this\n * code may need to run synchronously to handle programmatic changes of\n * terminal width.\n *\n * Relying on the browser to send us an async resize event means we may not be\n * in the correct state yet when the next escape sequence hits.\n *\n * @param {number} columnCount The number of columns.\n */\nhterm.Terminal.prototype.realizeWidth_ = function(columnCount) {\n if (columnCount <= 0)\n throw new Error('Attempt to realize bad width: ' + columnCount);\n\n var deltaColumns = columnCount - this.screen_.getWidth();\n\n this.screenSize.width = columnCount;\n this.screen_.setColumnCount(columnCount);\n\n if (deltaColumns > 0) {\n if (this.defaultTabStops)\n this.setDefaultTabStops(this.screenSize.width - deltaColumns);\n } else {\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] < columnCount)\n break;\n\n this.tabStops_.pop();\n }\n }\n\n this.screen_.setColumnCount(this.screenSize.width);\n};\n\n/**\n * Deal with terminal height changes.\n *\n * This function does what needs to be done when the terminal height changes\n * out from under us. It happens here rather than in onResize_() because this\n * code may need to run synchronously to handle programmatic changes of\n * terminal height.\n *\n * Relying on the browser to send us an async resize event means we may not be\n * in the correct state yet when the next escape sequence hits.\n *\n * @param {number} rowCount The number of rows.\n */\nhterm.Terminal.prototype.realizeHeight_ = function(rowCount) {\n if (rowCount <= 0)\n throw new Error('Attempt to realize bad height: ' + rowCount);\n\n var deltaRows = rowCount - this.screen_.getHeight();\n\n this.screenSize.height = rowCount;\n\n var cursor = this.saveCursor();\n\n if (deltaRows < 0) {\n // Screen got smaller.\n deltaRows *= -1;\n while (deltaRows) {\n var lastRow = this.getRowCount() - 1;\n if (lastRow - this.scrollbackRows_.length == cursor.row)\n break;\n\n if (this.getRowText(lastRow))\n break;\n\n this.screen_.popRow();\n deltaRows--;\n }\n\n var ary = this.screen_.shiftRows(deltaRows);\n this.scrollbackRows_.push.apply(this.scrollbackRows_, ary);\n\n // We just removed rows from the top of the screen, we need to update\n // the cursor to match.\n cursor.row = Math.max(cursor.row - deltaRows, 0);\n } else if (deltaRows > 0) {\n // Screen got larger.\n\n if (deltaRows <= this.scrollbackRows_.length) {\n var scrollbackCount = Math.min(deltaRows, this.scrollbackRows_.length);\n var rows = this.scrollbackRows_.splice(\n this.scrollbackRows_.length - scrollbackCount, scrollbackCount);\n this.screen_.unshiftRows(rows);\n deltaRows -= scrollbackCount;\n cursor.row += scrollbackCount;\n }\n\n if (deltaRows)\n this.appendRows_(deltaRows);\n }\n\n this.setVTScrollRegion(null, null);\n this.restoreCursor(cursor);\n};\n\n/**\n * Scroll the terminal to the top of the scrollback buffer.\n */\nhterm.Terminal.prototype.scrollHome = function() {\n this.scrollPort_.scrollRowToTop(0);\n};\n\n/**\n * Scroll the terminal to the end.\n */\nhterm.Terminal.prototype.scrollEnd = function() {\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n};\n\n/**\n * Scroll the terminal one page up (minus one line) relative to the current\n * position.\n */\nhterm.Terminal.prototype.scrollPageUp = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i - this.screenSize.height + 1);\n};\n\n/**\n * Scroll the terminal one page down (minus one line) relative to the current\n * position.\n */\nhterm.Terminal.prototype.scrollPageDown = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i + this.screenSize.height - 1);\n};\n\n/**\n * Scroll the terminal one line up relative to the current position.\n */\nhterm.Terminal.prototype.scrollLineUp = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i - 1);\n};\n\n/**\n * Scroll the terminal one line down relative to the current position.\n */\nhterm.Terminal.prototype.scrollLineDown = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i + 1);\n};\n\n/**\n * Clear primary screen, secondary screen, and the scrollback buffer.\n */\nhterm.Terminal.prototype.wipeContents = function() {\n this.scrollbackRows_.length = 0;\n this.scrollPort_.resetCache();\n\n [this.primaryScreen_, this.alternateScreen_].forEach(function(screen) {\n var bottom = screen.getHeight();\n if (bottom > 0) {\n this.renumberRows_(0, bottom);\n this.clearHome(screen);\n }\n }.bind(this));\n\n this.syncCursorPosition_();\n this.scrollPort_.invalidate();\n};\n\n/**\n * Full terminal reset.\n */\nhterm.Terminal.prototype.reset = function() {\n this.clearAllTabStops();\n this.setDefaultTabStops();\n\n this.clearHome(this.primaryScreen_);\n this.primaryScreen_.textAttributes.reset();\n\n this.clearHome(this.alternateScreen_);\n this.alternateScreen_.textAttributes.reset();\n\n this.setCursorBlink(!!this.prefs_.get('cursor-blink'));\n\n this.vt.reset();\n\n this.softReset();\n};\n\n/**\n * Soft terminal reset.\n *\n * Perform a soft reset to the default values listed in\n * http://www.vt100.net/docs/vt510-rm/DECSTR#T5-9\n */\nhterm.Terminal.prototype.softReset = function() {\n // Reset terminal options to their default values.\n this.options_ = new hterm.Options();\n\n // We show the cursor on soft reset but do not alter the blink state.\n this.options_.cursorBlink = !!this.timeouts_.cursorBlink;\n\n // Xterm also resets the color palette on soft reset, even though it doesn't\n // seem to be documented anywhere.\n this.primaryScreen_.textAttributes.resetColorPalette();\n this.alternateScreen_.textAttributes.resetColorPalette();\n\n // The xterm man page explicitly says this will happen on soft reset.\n this.setVTScrollRegion(null, null);\n\n // Xterm also shows the cursor on soft reset, but does not alter the blink\n // state.\n this.setCursorVisible(true);\n};\n\n/**\n * Move the cursor forward to the next tab stop, or to the last column\n * if no more tab stops are set.\n */\nhterm.Terminal.prototype.forwardTabStop = function() {\n var column = this.screen_.cursorPosition.column;\n\n for (var i = 0; i < this.tabStops_.length; i++) {\n if (this.tabStops_[i] > column) {\n this.setCursorColumn(this.tabStops_[i]);\n return;\n }\n }\n\n // xterm does not clear the overflow flag on HT or CHT.\n var overflow = this.screen_.cursorPosition.overflow;\n this.setCursorColumn(this.screenSize.width - 1);\n this.screen_.cursorPosition.overflow = overflow;\n};\n\n/**\n * Move the cursor backward to the previous tab stop, or to the first column\n * if no previous tab stops are set.\n */\nhterm.Terminal.prototype.backwardTabStop = function() {\n var column = this.screen_.cursorPosition.column;\n\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] < column) {\n this.setCursorColumn(this.tabStops_[i]);\n return;\n }\n }\n\n this.setCursorColumn(1);\n};\n\n/**\n * Set a tab stop at the given column.\n *\n * @param {integer} column Zero based column.\n */\nhterm.Terminal.prototype.setTabStop = function(column) {\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] == column)\n return;\n\n if (this.tabStops_[i] < column) {\n this.tabStops_.splice(i + 1, 0, column);\n return;\n }\n }\n\n this.tabStops_.splice(0, 0, column);\n};\n\n/**\n * Clear the tab stop at the current cursor position.\n *\n * No effect if there is no tab stop at the current cursor position.\n */\nhterm.Terminal.prototype.clearTabStopAtCursor = function() {\n var column = this.screen_.cursorPosition.column;\n\n var i = this.tabStops_.indexOf(column);\n if (i == -1)\n return;\n\n this.tabStops_.splice(i, 1);\n};\n\n/**\n * Clear all tab stops.\n */\nhterm.Terminal.prototype.clearAllTabStops = function() {\n this.tabStops_.length = 0;\n this.defaultTabStops = false;\n};\n\n/**\n * Set up the default tab stops, starting from a given column.\n *\n * This sets a tabstop every (column % this.tabWidth) column, starting\n * from the specified column, or 0 if no column is provided. It also flags\n * future resizes to set them up.\n *\n * This does not clear the existing tab stops first, use clearAllTabStops\n * for that.\n *\n * @param {integer} opt_start Optional starting zero based starting column, useful\n * for filling out missing tab stops when the terminal is resized.\n */\nhterm.Terminal.prototype.setDefaultTabStops = function(opt_start) {\n var start = opt_start || 0;\n var w = this.tabWidth;\n // Round start up to a default tab stop.\n start = start - 1 - ((start - 1) % w) + w;\n for (var i = start; i < this.screenSize.width; i += w) {\n this.setTabStop(i);\n }\n\n this.defaultTabStops = true;\n};\n\n/**\n * Interpret a sequence of characters.\n *\n * Incomplete escape sequences are buffered until the next call.\n *\n * @param {string} str Sequence of characters to interpret or pass through.\n */\nhterm.Terminal.prototype.interpret = function(str) {\n this.vt.interpret(str);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Take over the given DIV for use as the terminal display.\n *\n * @param {HTMLDivElement} div The div to use as the terminal display.\n */\nhterm.Terminal.prototype.decorate = function(div) {\n this.div_ = div;\n\n this.scrollPort_.decorate(div);\n this.scrollPort_.setBackgroundImage(this.prefs_.get('background-image'));\n this.scrollPort_.setBackgroundSize(this.prefs_.get('background-size'));\n this.scrollPort_.setBackgroundPosition(\n this.prefs_.get('background-position'));\n this.scrollPort_.setUserCssUrl(this.prefs_.get('user-css'));\n this.scrollPort_.setUserCssText(this.prefs_.get('user-css-text'));\n\n this.div_.focus = this.focus.bind(this);\n\n this.setFontSize(this.prefs_.get('font-size'));\n this.syncFontFamily();\n\n this.setScrollbarVisible(this.prefs_.get('scrollbar-visible'));\n this.setScrollWheelMoveMultipler(\n this.prefs_.get('scroll-wheel-move-multiplier'));\n\n this.document_ = this.scrollPort_.getDocument();\n\n this.document_.body.oncontextmenu = function() { return false; };\n\n var onMouse = this.onMouse_.bind(this);\n var screenNode = this.scrollPort_.getScreenNode();\n screenNode.addEventListener('mousedown', onMouse);\n screenNode.addEventListener('mouseup', onMouse);\n screenNode.addEventListener('mousemove', onMouse);\n this.scrollPort_.onScrollWheel = onMouse;\n\n screenNode.addEventListener(\n 'focus', this.onFocusChange_.bind(this, true));\n // Listen for mousedown events on the screenNode as in FF the focus\n // events don't bubble.\n screenNode.addEventListener('mousedown', function() {\n setTimeout(this.onFocusChange_.bind(this, true));\n }.bind(this));\n\n screenNode.addEventListener(\n 'blur', this.onFocusChange_.bind(this, false));\n\n var style = this.document_.createElement('style');\n style.textContent =\n ('.cursor-node[focus=\"false\"] {' +\n ' box-sizing: border-box;' +\n ' background-color: transparent !important;' +\n ' border-width: 2px;' +\n ' border-style: solid;' +\n '}' +\n '.wc-node {' +\n ' display: inline-block;' +\n ' text-align: center;' +\n ' width: calc(var(--hterm-charsize-width) * 2);' +\n ' line-height: var(--hterm-charsize-height);' +\n '}' +\n ':root {' +\n ' --hterm-charsize-width: ' + this.scrollPort_.characterSize.width + 'px;' +\n ' --hterm-charsize-height: ' + this.scrollPort_.characterSize.height + 'px;' +\n ' --hterm-cursor-offset-col: 0;' +\n ' --hterm-cursor-offset-row: 0;' +\n ' --hterm-blink-node-duration: 0.7s;' +\n ' --hterm-mouse-cursor-text: text;' +\n ' --hterm-mouse-cursor-pointer: default;' +\n ' --hterm-mouse-cursor-style: var(--hterm-mouse-cursor-text);' +\n '}' +\n '@keyframes blink {' +\n ' from { opacity: 1.0; }' +\n ' to { opacity: 0.0; }' +\n '}' +\n '.blink-node {' +\n ' animation-name: blink;' +\n ' animation-duration: var(--hterm-blink-node-duration);' +\n ' animation-iteration-count: infinite;' +\n ' animation-timing-function: ease-in-out;' +\n ' animation-direction: alternate;' +\n '}');\n this.document_.head.appendChild(style);\n\n this.cursorNode_ = this.document_.createElement('div');\n this.cursorNode_.id = 'hterm:terminal-cursor';\n this.cursorNode_.className = 'cursor-node';\n this.cursorNode_.style.cssText =\n ('position: absolute;' +\n 'left: calc(var(--hterm-charsize-width) * var(--hterm-cursor-offset-col));' +\n 'top: calc(var(--hterm-charsize-height) * var(--hterm-cursor-offset-row));' +\n 'display: block;' +\n 'width: var(--hterm-charsize-width);' +\n 'height: var(--hterm-charsize-height);' +\n '-webkit-transition: opacity, background-color 100ms linear;' +\n '-moz-transition: opacity, background-color 100ms linear;');\n\n this.setCursorColor(this.prefs_.get('cursor-color'));\n this.setCursorBlink(!!this.prefs_.get('cursor-blink'));\n this.restyleCursor_();\n\n this.document_.body.appendChild(this.cursorNode_);\n\n // When 'enableMouseDragScroll' is off we reposition this element directly\n // under the mouse cursor after a click. This makes Chrome associate\n // subsequent mousemove events with the scroll-blocker. Since the\n // scroll-blocker is a peer (not a child) of the scrollport, the mousemove\n // events do not cause the scrollport to scroll.\n //\n // It's a hack, but it's the cleanest way I could find.\n this.scrollBlockerNode_ = this.document_.createElement('div');\n this.scrollBlockerNode_.id = 'hterm:mouse-drag-scroll-blocker';\n this.scrollBlockerNode_.style.cssText =\n ('position: absolute;' +\n 'top: -99px;' +\n 'display: block;' +\n 'width: 10px;' +\n 'height: 10px;');\n this.document_.body.appendChild(this.scrollBlockerNode_);\n\n this.scrollPort_.onScrollWheel = onMouse;\n ['mousedown', 'mouseup', 'mousemove', 'click', 'dblclick',\n ].forEach(function(event) {\n this.scrollBlockerNode_.addEventListener(event, onMouse);\n this.cursorNode_.addEventListener(event, onMouse);\n this.document_.addEventListener(event, onMouse);\n }.bind(this));\n\n this.cursorNode_.addEventListener('mousedown', function() {\n setTimeout(this.focus.bind(this));\n }.bind(this));\n\n this.setReverseVideo(false);\n\n this.scrollPort_.focus();\n this.scrollPort_.scheduleRedraw();\n};\n\n/**\n * Return the HTML document that contains the terminal DOM nodes.\n *\n * @return {HTMLDocument}\n */\nhterm.Terminal.prototype.getDocument = function() {\n return this.document_;\n};\n\n/**\n * Focus the terminal.\n */\nhterm.Terminal.prototype.focus = function() {\n this.scrollPort_.focus();\n};\n\n/**\n * Return the HTML Element for a given row index.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch rows on demand as they are scrolled into view.\n *\n * TODO(rginda): Consider saving scrollback rows as (HTML source, text content)\n * pairs to conserve memory.\n *\n * @param {integer} index The zero-based row index, measured relative to the\n * start of the scrollback buffer. On-screen rows will always have the\n * largest indices.\n * @return {HTMLElement} The 'x-row' element containing for the requested row.\n */\nhterm.Terminal.prototype.getRowNode = function(index) {\n if (index < this.scrollbackRows_.length)\n return this.scrollbackRows_[index];\n\n var screenIndex = index - this.scrollbackRows_.length;\n return this.screen_.rowsArray[screenIndex];\n};\n\n/**\n * Return the text content for a given range of rows.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch text content on demand when the user attempts to copy their\n * selection to the clipboard.\n *\n * @param {integer} start The zero-based row index to start from, measured\n * relative to the start of the scrollback buffer. On-screen rows will\n * always have the largest indices.\n * @param {integer} end The zero-based row index to end on, measured\n * relative to the start of the scrollback buffer.\n * @return {string} A single string containing the text value of the range of\n * rows. Lines will be newline delimited, with no trailing newline.\n */\nhterm.Terminal.prototype.getRowsText = function(start, end) {\n var ary = [];\n for (var i = start; i < end; i++) {\n var node = this.getRowNode(i);\n ary.push(node.textContent);\n if (i < end - 1 && !node.getAttribute('line-overflow'))\n ary.push('\\n');\n }\n\n return ary.join('');\n};\n\n/**\n * Return the text content for a given row.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch text content on demand when the user attempts to copy their\n * selection to the clipboard.\n *\n * @param {integer} index The zero-based row index to return, measured\n * relative to the start of the scrollback buffer. On-screen rows will\n * always have the largest indices.\n * @return {string} A string containing the text value of the selected row.\n */\nhterm.Terminal.prototype.getRowText = function(index) {\n var node = this.getRowNode(index);\n return node.textContent;\n};\n\n/**\n * Return the total number of rows in the addressable screen and in the\n * scrollback buffer of this terminal.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to compute the size of the scrollbar.\n *\n * @return {integer} The number of rows in this terminal.\n */\nhterm.Terminal.prototype.getRowCount = function() {\n return this.scrollbackRows_.length + this.screen_.rowsArray.length;\n};\n\n/**\n * Create DOM nodes for new rows and append them to the end of the terminal.\n *\n * This is the only correct way to add a new DOM node for a row. Notice that\n * the new row is appended to the bottom of the list of rows, and does not\n * require renumbering (of the rowIndex property) of previous rows.\n *\n * If you think you want a new blank row somewhere in the middle of the\n * terminal, look into moveRows_().\n *\n * This method does not pay attention to vtScrollTop/Bottom, since you should\n * be using moveRows() in cases where they would matter.\n *\n * The cursor will be positioned at column 0 of the first inserted line.\n *\n * @param {number} count The number of rows to created.\n */\nhterm.Terminal.prototype.appendRows_ = function(count) {\n var cursorRow = this.screen_.rowsArray.length;\n var offset = this.scrollbackRows_.length + cursorRow;\n for (var i = 0; i < count; i++) {\n var row = this.document_.createElement('x-row');\n row.appendChild(this.document_.createTextNode(''));\n row.rowIndex = offset + i;\n this.screen_.pushRow(row);\n }\n\n var extraRows = this.screen_.rowsArray.length - this.screenSize.height;\n if (extraRows > 0) {\n var ary = this.screen_.shiftRows(extraRows);\n Array.prototype.push.apply(this.scrollbackRows_, ary);\n if (this.scrollPort_.isScrolledEnd)\n this.scheduleScrollDown_();\n }\n\n if (cursorRow >= this.screen_.rowsArray.length)\n cursorRow = this.screen_.rowsArray.length - 1;\n\n this.setAbsoluteCursorPosition(cursorRow, 0);\n};\n\n/**\n * Relocate rows from one part of the addressable screen to another.\n *\n * This is used to recycle rows during VT scrolls (those which are driven\n * by VT commands, rather than by the user manipulating the scrollbar.)\n *\n * In this case, the blank lines scrolled into the scroll region are made of\n * the nodes we scrolled off. These have their rowIndex properties carefully\n * renumbered so as not to confuse the ScrollPort.\n *\n * @param {number} fromIndex The start index.\n * @param {number} count The number of rows to move.\n * @param {number} toIndex The destination index.\n */\nhterm.Terminal.prototype.moveRows_ = function(fromIndex, count, toIndex) {\n var ary = this.screen_.removeRows(fromIndex, count);\n this.screen_.insertRows(toIndex, ary);\n\n var start, end;\n if (fromIndex < toIndex) {\n start = fromIndex;\n end = toIndex + count;\n } else {\n start = toIndex;\n end = fromIndex + count;\n }\n\n this.renumberRows_(start, end);\n this.scrollPort_.scheduleInvalidate();\n};\n\n/**\n * Renumber the rowIndex property of the given range of rows.\n *\n * The start and end indices are relative to the screen, not the scrollback.\n * Rows in the scrollback buffer cannot be renumbered. Since they are not\n * addressable (you can't delete them, scroll them, etc), you should have\n * no need to renumber scrollback rows.\n *\n * @param {number} start The start index.\n * @param {number} end The end index.\n * @param {hterm.Screen} opt_screen The screen to renumber.\n */\nhterm.Terminal.prototype.renumberRows_ = function(start, end, opt_screen) {\n var screen = opt_screen || this.screen_;\n\n var offset = this.scrollbackRows_.length;\n for (var i = start; i < end; i++) {\n screen.rowsArray[i].rowIndex = offset + i;\n }\n};\n\n/**\n * Print a string to the terminal.\n *\n * This respects the current insert and wraparound modes. It will add new lines\n * to the end of the terminal, scrolling off the top into the scrollback buffer\n * if necessary.\n *\n * The string is *not* parsed for escape codes. Use the interpret() method if\n * that's what you're after.\n *\n * @param{string} str The string to print.\n */\nhterm.Terminal.prototype.print = function(str) {\n var startOffset = 0;\n\n var strWidth = lib.wc.strWidth(str);\n\n while (startOffset < strWidth) {\n if (this.options_.wraparound && this.screen_.cursorPosition.overflow) {\n this.screen_.commitLineOverflow();\n this.newLine();\n }\n\n var count = strWidth - startOffset;\n var didOverflow = false;\n var substr;\n\n if (this.screen_.cursorPosition.column + count >= this.screenSize.width) {\n didOverflow = true;\n count = this.screenSize.width - this.screen_.cursorPosition.column;\n }\n\n if (didOverflow && !this.options_.wraparound) {\n // If the string overflowed the line but wraparound is off, then the\n // last printed character should be the last of the string.\n // TODO: This will add to our problems with multibyte UTF-16 characters.\n substr = lib.wc.substr(str, startOffset, count - 1) +\n lib.wc.substr(str, strWidth - 1);\n count = strWidth;\n } else {\n substr = lib.wc.substr(str, startOffset, count);\n }\n\n var tokens = hterm.TextAttributes.splitWidecharString(substr);\n for (var i = 0; i < tokens.length; i++) {\n this.screen_.textAttributes.wcNode = tokens[i].wcNode;\n this.screen_.textAttributes.asciiNode = tokens[i].asciiNode;\n\n if (this.options_.insertMode) {\n this.screen_.insertString(tokens[i].str);\n } else {\n this.screen_.overwriteString(tokens[i].str);\n }\n this.screen_.textAttributes.wcNode = false;\n this.screen_.textAttributes.asciiNode = true;\n }\n\n this.screen_.maybeClipCurrentRow();\n startOffset += count;\n }\n\n this.scheduleSyncCursorPosition_();\n\n if (this.scrollOnOutput_)\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n};\n\n/**\n * Set the VT scroll region.\n *\n * This also resets the cursor position to the absolute (0, 0) position, since\n * that's what xterm appears to do.\n *\n * Setting the scroll region to the full height of the terminal will clear\n * the scroll region. This is *NOT* what most terminals do. We're explicitly\n * going \"off-spec\" here because it makes `screen` and `tmux` overflow into the\n * local scrollback buffer, which means the scrollbars and shift-pgup/pgdn\n * continue to work as most users would expect.\n *\n * @param {integer} scrollTop The zero-based top of the scroll region.\n * @param {integer} scrollBottom The zero-based bottom of the scroll region,\n * inclusive.\n */\nhterm.Terminal.prototype.setVTScrollRegion = function(scrollTop, scrollBottom) {\n if (scrollTop == 0 && scrollBottom == this.screenSize.height - 1) {\n this.vtScrollTop_ = null;\n this.vtScrollBottom_ = null;\n } else {\n this.vtScrollTop_ = scrollTop;\n this.vtScrollBottom_ = scrollBottom;\n }\n};\n\n/**\n * Return the top row index according to the VT.\n *\n * This will return 0 unless the terminal has been told to restrict scrolling\n * to some lower row. It is used for some VT cursor positioning and scrolling\n * commands.\n *\n * @return {integer} The topmost row in the terminal's scroll region.\n */\nhterm.Terminal.prototype.getVTScrollTop = function() {\n if (this.vtScrollTop_ != null)\n return this.vtScrollTop_;\n\n return 0;\n};\n\n/**\n * Return the bottom row index according to the VT.\n *\n * This will return the height of the terminal unless the it has been told to\n * restrict scrolling to some higher row. It is used for some VT cursor\n * positioning and scrolling commands.\n *\n * @return {integer} The bottom most row in the terminal's scroll region.\n */\nhterm.Terminal.prototype.getVTScrollBottom = function() {\n if (this.vtScrollBottom_ != null)\n return this.vtScrollBottom_;\n\n return this.screenSize.height - 1;\n}\n\n/**\n * Process a '\\n' character.\n *\n * If the cursor is on the final row of the terminal this will append a new\n * blank row to the screen and scroll the topmost row into the scrollback\n * buffer.\n *\n * Otherwise, this moves the cursor to column zero of the next row.\n */\nhterm.Terminal.prototype.newLine = function() {\n var cursorAtEndOfScreen = (this.screen_.cursorPosition.row ==\n this.screen_.rowsArray.length - 1);\n\n if (this.vtScrollBottom_ != null) {\n // A VT Scroll region is active, we never append new rows.\n if (this.screen_.cursorPosition.row == this.vtScrollBottom_) {\n // We're at the end of the VT Scroll Region, perform a VT scroll.\n this.vtScrollUp(1);\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0);\n } else if (cursorAtEndOfScreen) {\n // We're at the end of the screen, the only thing to do is put the\n // cursor to column 0.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0);\n } else {\n // Anywhere else, advance the cursor row, and reset the column.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0);\n }\n } else if (cursorAtEndOfScreen) {\n // We're at the end of the screen. Append a new row to the terminal,\n // shifting the top row into the scrollback.\n this.appendRows_(1);\n } else {\n // Anywhere else in the screen just moves the cursor.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0);\n }\n};\n\n/**\n * Like newLine(), except maintain the cursor column.\n */\nhterm.Terminal.prototype.lineFeed = function() {\n var column = this.screen_.cursorPosition.column;\n this.newLine();\n this.setCursorColumn(column);\n};\n\n/**\n * If autoCarriageReturn is set then newLine(), else lineFeed().\n */\nhterm.Terminal.prototype.formFeed = function() {\n if (this.options_.autoCarriageReturn) {\n this.newLine();\n } else {\n this.lineFeed();\n }\n};\n\n/**\n * Move the cursor up one row, possibly inserting a blank line.\n *\n * The cursor column is not changed.\n */\nhterm.Terminal.prototype.reverseLineFeed = function() {\n var scrollTop = this.getVTScrollTop();\n var currentRow = this.screen_.cursorPosition.row;\n\n if (currentRow == scrollTop) {\n this.insertLines(1);\n } else {\n this.setAbsoluteCursorRow(currentRow - 1);\n }\n};\n\n/**\n * Replace all characters to the left of the current cursor with the space\n * character.\n *\n * TODO(rginda): This should probably *remove* the characters (not just replace\n * with a space) if there are no characters at or beyond the current cursor\n * position.\n */\nhterm.Terminal.prototype.eraseToLeft = function() {\n var cursor = this.saveCursor();\n this.setCursorColumn(0);\n this.screen_.overwriteString(lib.f.getWhitespace(cursor.column + 1));\n this.restoreCursor(cursor);\n};\n\n/**\n * Erase a given number of characters to the right of the cursor.\n *\n * The cursor position is unchanged.\n *\n * If the current background color is not the default background color this\n * will insert spaces rather than delete. This is unfortunate because the\n * trailing space will affect text selection, but it's difficult to come up\n * with a way to style empty space that wouldn't trip up the hterm.Screen\n * code.\n *\n * eraseToRight is ignored in the presence of a cursor overflow. This deviates\n * from xterm, but agrees with gnome-terminal and konsole, xfce4-terminal. See\n * crbug.com/232390 for details.\n *\n * @param {number} opt_count The number of characters to erase.\n */\nhterm.Terminal.prototype.eraseToRight = function(opt_count) {\n if (this.screen_.cursorPosition.overflow)\n return;\n\n var maxCount = this.screenSize.width - this.screen_.cursorPosition.column;\n var count = opt_count ? Math.min(opt_count, maxCount) : maxCount;\n\n if (this.screen_.textAttributes.background ===\n this.screen_.textAttributes.DEFAULT_COLOR) {\n var cursorRow = this.screen_.rowsArray[this.screen_.cursorPosition.row];\n if (hterm.TextAttributes.nodeWidth(cursorRow) <=\n this.screen_.cursorPosition.column + count) {\n this.screen_.deleteChars(count);\n this.clearCursorOverflow();\n return;\n }\n }\n\n var cursor = this.saveCursor();\n this.screen_.overwriteString(lib.f.getWhitespace(count));\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase the current line.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseLine = function() {\n var cursor = this.saveCursor();\n this.screen_.clearCursorRow();\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase all characters from the start of the screen to the current cursor\n * position, regardless of scroll region.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseAbove = function() {\n var cursor = this.saveCursor();\n\n this.eraseToLeft();\n\n for (var i = 0; i < cursor.row; i++) {\n this.setAbsoluteCursorPosition(i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase all characters from the current cursor position to the end of the\n * screen, regardless of scroll region.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseBelow = function() {\n var cursor = this.saveCursor();\n\n this.eraseToRight();\n\n var bottom = this.screenSize.height - 1;\n for (var i = cursor.row + 1; i <= bottom; i++) {\n this.setAbsoluteCursorPosition(i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Fill the terminal with a given character.\n *\n * This methods does not respect the VT scroll region.\n *\n * @param {string} ch The character to use for the fill.\n */\nhterm.Terminal.prototype.fill = function(ch) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorPosition(0, 0);\n for (var row = 0; row < this.screenSize.height; row++) {\n for (var col = 0; col < this.screenSize.width; col++) {\n this.setAbsoluteCursorPosition(row, col);\n this.screen_.overwriteString(ch);\n }\n }\n\n this.restoreCursor(cursor);\n};\n\n/**\n * Erase the entire display and leave the cursor at (0, 0).\n *\n * This does not respect the scroll region.\n *\n * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults\n * to the current screen.\n */\nhterm.Terminal.prototype.clearHome = function(opt_screen) {\n var screen = opt_screen || this.screen_;\n var bottom = screen.getHeight();\n\n if (bottom == 0) {\n // Empty screen, nothing to do.\n return;\n }\n\n for (var i = 0; i < bottom; i++) {\n screen.setCursorPosition(i, 0);\n screen.clearCursorRow();\n }\n\n screen.setCursorPosition(0, 0);\n};\n\n/**\n * Erase the entire display without changing the cursor position.\n *\n * The cursor position is unchanged. This does not respect the scroll\n * region.\n *\n * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults\n * to the current screen.\n */\nhterm.Terminal.prototype.clear = function(opt_screen) {\n var screen = opt_screen || this.screen_;\n var cursor = screen.cursorPosition.clone();\n this.clearHome(screen);\n screen.setCursorPosition(cursor.row, cursor.column);\n};\n\n/**\n * VT command to insert lines at the current cursor row.\n *\n * This respects the current scroll region. Rows pushed off the bottom are\n * lost (they won't show up in the scrollback buffer).\n *\n * @param {integer} count The number of lines to insert.\n */\nhterm.Terminal.prototype.insertLines = function(count) {\n var cursorRow = this.screen_.cursorPosition.row;\n\n var bottom = this.getVTScrollBottom();\n count = Math.min(count, bottom - cursorRow);\n\n // The moveCount is the number of rows we need to relocate to make room for\n // the new row(s). The count is the distance to move them.\n var moveCount = bottom - cursorRow - count + 1;\n if (moveCount)\n this.moveRows_(cursorRow, moveCount, cursorRow + count);\n\n for (var i = count - 1; i >= 0; i--) {\n this.setAbsoluteCursorPosition(cursorRow + i, 0);\n this.screen_.clearCursorRow();\n }\n};\n\n/**\n * VT command to delete lines at the current cursor row.\n *\n * New rows are added to the bottom of scroll region to take their place. New\n * rows are strictly there to take up space and have no content or style.\n *\n * @param {number} count The number of lines to delete.\n */\nhterm.Terminal.prototype.deleteLines = function(count) {\n var cursor = this.saveCursor();\n\n var top = cursor.row;\n var bottom = this.getVTScrollBottom();\n\n var maxCount = bottom - top + 1;\n count = Math.min(count, maxCount);\n\n var moveStart = bottom - count + 1;\n if (count != maxCount)\n this.moveRows_(top, count, moveStart);\n\n for (var i = 0; i < count; i++) {\n this.setAbsoluteCursorPosition(moveStart + i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Inserts the given number of spaces at the current cursor position.\n *\n * The cursor position is not changed.\n *\n * @param {number} count The number of spaces to insert.\n */\nhterm.Terminal.prototype.insertSpace = function(count) {\n var cursor = this.saveCursor();\n\n var ws = lib.f.getWhitespace(count || 1);\n this.screen_.insertString(ws);\n this.screen_.maybeClipCurrentRow();\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Forward-delete the specified number of characters starting at the cursor\n * position.\n *\n * @param {integer} count The number of characters to delete.\n */\nhterm.Terminal.prototype.deleteChars = function(count) {\n var deleted = this.screen_.deleteChars(count);\n if (deleted && !this.screen_.textAttributes.isDefault()) {\n var cursor = this.saveCursor();\n this.setCursorColumn(this.screenSize.width - deleted);\n this.screen_.insertString(lib.f.getWhitespace(deleted));\n this.restoreCursor(cursor);\n }\n\n this.clearCursorOverflow();\n};\n\n/**\n * Shift rows in the scroll region upwards by a given number of lines.\n *\n * New rows are inserted at the bottom of the scroll region to fill the\n * vacated rows. The new rows not filled out with the current text attributes.\n *\n * This function does not affect the scrollback rows at all. Rows shifted\n * off the top are lost.\n *\n * The cursor position is not altered.\n *\n * @param {integer} count The number of rows to scroll.\n */\nhterm.Terminal.prototype.vtScrollUp = function(count) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorRow(this.getVTScrollTop());\n this.deleteLines(count);\n\n this.restoreCursor(cursor);\n};\n\n/**\n * Shift rows below the cursor down by a given number of lines.\n *\n * This function respects the current scroll region.\n *\n * New rows are inserted at the top of the scroll region to fill the\n * vacated rows. The new rows not filled out with the current text attributes.\n *\n * This function does not affect the scrollback rows at all. Rows shifted\n * off the bottom are lost.\n *\n * @param {integer} count The number of rows to scroll.\n */\nhterm.Terminal.prototype.vtScrollDown = function(opt_count) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorPosition(this.getVTScrollTop(), 0);\n this.insertLines(opt_count);\n\n this.restoreCursor(cursor);\n};\n\n\n/**\n * Set the cursor position.\n *\n * The cursor row is relative to the scroll region if the terminal has\n * 'origin mode' enabled, or relative to the addressable screen otherwise.\n *\n * @param {integer} row The new zero-based cursor row.\n * @param {integer} row The new zero-based cursor column.\n */\nhterm.Terminal.prototype.setCursorPosition = function(row, column) {\n if (this.options_.originMode) {\n this.setRelativeCursorPosition(row, column);\n } else {\n this.setAbsoluteCursorPosition(row, column);\n }\n};\n\n/**\n * Move the cursor relative to its current position.\n *\n * @param {number} row\n * @param {number} column\n */\nhterm.Terminal.prototype.setRelativeCursorPosition = function(row, column) {\n var scrollTop = this.getVTScrollTop();\n row = lib.f.clamp(row + scrollTop, scrollTop, this.getVTScrollBottom());\n column = lib.f.clamp(column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n};\n\n/**\n * Move the cursor to the specified position.\n *\n * @param {number} row\n * @param {number} column\n */\nhterm.Terminal.prototype.setAbsoluteCursorPosition = function(row, column) {\n row = lib.f.clamp(row, 0, this.screenSize.height - 1);\n column = lib.f.clamp(column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n};\n\n/**\n * Set the cursor column.\n *\n * @param {integer} column The new zero-based cursor column.\n */\nhterm.Terminal.prototype.setCursorColumn = function(column) {\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, column);\n};\n\n/**\n * Return the cursor column.\n *\n * @return {integer} The zero-based cursor column.\n */\nhterm.Terminal.prototype.getCursorColumn = function() {\n return this.screen_.cursorPosition.column;\n};\n\n/**\n * Set the cursor row.\n *\n * The cursor row is relative to the scroll region if the terminal has\n * 'origin mode' enabled, or relative to the addressable screen otherwise.\n *\n * @param {integer} row The new cursor row.\n */\nhterm.Terminal.prototype.setAbsoluteCursorRow = function(row) {\n this.setAbsoluteCursorPosition(row, this.screen_.cursorPosition.column);\n};\n\n/**\n * Return the cursor row.\n *\n * @return {integer} The zero-based cursor row.\n */\nhterm.Terminal.prototype.getCursorRow = function() {\n return this.screen_.cursorPosition.row;\n};\n\n/**\n * Request that the ScrollPort redraw itself soon.\n *\n * The redraw will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single redraw.\n */\nhterm.Terminal.prototype.scheduleRedraw_ = function() {\n if (this.timeouts_.redraw)\n return;\n\n var self = this;\n this.timeouts_.redraw = setTimeout(function() {\n delete self.timeouts_.redraw;\n self.scrollPort_.redraw_();\n }, 0);\n};\n\n/**\n * Request that the ScrollPort be scrolled to the bottom.\n *\n * The scroll will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single scroll.\n *\n * This affects the scrollbar position of the ScrollPort, and has nothing to\n * do with the VT scroll commands.\n */\nhterm.Terminal.prototype.scheduleScrollDown_ = function() {\n if (this.timeouts_.scrollDown)\n return;\n\n var self = this;\n this.timeouts_.scrollDown = setTimeout(function() {\n delete self.timeouts_.scrollDown;\n self.scrollPort_.scrollRowToBottom(self.getRowCount());\n }, 10);\n};\n\n/**\n * Move the cursor up a specified number of rows.\n *\n * @param {integer} count The number of rows to move the cursor.\n */\nhterm.Terminal.prototype.cursorUp = function(count) {\n return this.cursorDown(-(count || 1));\n};\n\n/**\n * Move the cursor down a specified number of rows.\n *\n * @param {integer} count The number of rows to move the cursor.\n */\nhterm.Terminal.prototype.cursorDown = function(count) {\n count = count || 1;\n var minHeight = (this.options_.originMode ? this.getVTScrollTop() : 0);\n var maxHeight = (this.options_.originMode ? this.getVTScrollBottom() :\n this.screenSize.height - 1);\n\n var row = lib.f.clamp(this.screen_.cursorPosition.row + count,\n minHeight, maxHeight);\n this.setAbsoluteCursorRow(row);\n};\n\n/**\n * Move the cursor left a specified number of columns.\n *\n * If reverse wraparound mode is enabled and the previous row wrapped into\n * the current row then we back up through the wraparound as well.\n *\n * @param {integer} count The number of columns to move the cursor.\n */\nhterm.Terminal.prototype.cursorLeft = function(count) {\n count = count || 1;\n\n if (count < 1)\n return;\n\n var currentColumn = this.screen_.cursorPosition.column;\n if (this.options_.reverseWraparound) {\n if (this.screen_.cursorPosition.overflow) {\n // If this cursor is in the right margin, consume one count to get it\n // back to the last column. This only applies when we're in reverse\n // wraparound mode.\n count--;\n this.clearCursorOverflow();\n\n if (!count)\n return;\n }\n\n var newRow = this.screen_.cursorPosition.row;\n var newColumn = currentColumn - count;\n if (newColumn < 0) {\n newRow = newRow - Math.floor(count / this.screenSize.width) - 1;\n if (newRow < 0) {\n // xterm also wraps from row 0 to the last row.\n newRow = this.screenSize.height + newRow % this.screenSize.height;\n }\n newColumn = this.screenSize.width + newColumn % this.screenSize.width;\n }\n\n this.setCursorPosition(Math.max(newRow, 0), newColumn);\n\n } else {\n var newColumn = Math.max(currentColumn - count, 0);\n this.setCursorColumn(newColumn);\n }\n};\n\n/**\n * Move the cursor right a specified number of columns.\n *\n * @param {integer} count The number of columns to move the cursor.\n */\nhterm.Terminal.prototype.cursorRight = function(count) {\n count = count || 1;\n\n if (count < 1)\n return;\n\n var column = lib.f.clamp(this.screen_.cursorPosition.column + count,\n 0, this.screenSize.width - 1);\n this.setCursorColumn(column);\n};\n\n/**\n * Reverse the foreground and background colors of the terminal.\n *\n * This only affects text that was drawn with no attributes.\n *\n * TODO(rginda): Test xterm to see if reverse is respected for text that has\n * been drawn with attributes that happen to coincide with the default\n * 'no-attribute' colors. My guess is probably not.\n *\n * @param {boolean} state The state to set.\n */\nhterm.Terminal.prototype.setReverseVideo = function(state) {\n this.options_.reverseVideo = state;\n if (state) {\n this.scrollPort_.setForegroundColor(this.prefs_.get('background-color'));\n this.scrollPort_.setBackgroundColor(this.prefs_.get('foreground-color'));\n } else {\n this.scrollPort_.setForegroundColor(this.prefs_.get('foreground-color'));\n this.scrollPort_.setBackgroundColor(this.prefs_.get('background-color'));\n }\n};\n\n/**\n * Ring the terminal bell.\n *\n * This will not play the bell audio more than once per second.\n */\nhterm.Terminal.prototype.ringBell = function() {\n this.cursorNode_.style.backgroundColor =\n this.scrollPort_.getForegroundColor();\n\n var self = this;\n setTimeout(function() {\n self.cursorNode_.style.backgroundColor = self.prefs_.get('cursor-color');\n }, 200);\n\n // bellSquelchTimeout_ affects both audio and notification bells.\n if (this.bellSquelchTimeout_)\n return;\n\n if (this.bellAudio_.getAttribute('src')) {\n this.bellAudio_.play();\n this.bellSequelchTimeout_ = setTimeout(function() {\n delete this.bellSquelchTimeout_;\n }.bind(this), 500);\n } else {\n delete this.bellSquelchTimeout_;\n }\n\n if (this.desktopNotificationBell_ && !this.document_.hasFocus()) {\n var n = hterm.notify();\n this.bellNotificationList_.push(n);\n // TODO: Should we try to raise the window here?\n n.onclick = function() { self.closeBellNotifications_(); };\n }\n};\n\n/**\n * Set the origin mode bit.\n *\n * If origin mode is on, certain VT cursor and scrolling commands measure their\n * row parameter relative to the VT scroll region. Otherwise, row 0 corresponds\n * to the top of the addressable screen.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set origin mode, false to unset.\n */\nhterm.Terminal.prototype.setOriginMode = function(state) {\n this.options_.originMode = state;\n this.setCursorPosition(0, 0);\n};\n\n/**\n * Set the insert mode bit.\n *\n * If insert mode is on, existing text beyond the cursor position will be\n * shifted right to make room for new text. Otherwise, new text overwrites\n * any existing text.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set insert mode, false to unset.\n */\nhterm.Terminal.prototype.setInsertMode = function(state) {\n this.options_.insertMode = state;\n};\n\n/**\n * Set the auto carriage return bit.\n *\n * If auto carriage return is on then a formfeed character is interpreted\n * as a newline, otherwise it's the same as a linefeed. The difference boils\n * down to whether or not the cursor column is reset.\n *\n * @param {boolean} state The state to set.\n */\nhterm.Terminal.prototype.setAutoCarriageReturn = function(state) {\n this.options_.autoCarriageReturn = state;\n};\n\n/**\n * Set the wraparound mode bit.\n *\n * If wraparound mode is on, certain VT commands will allow the cursor to wrap\n * to the start of the following row. Otherwise, the cursor is clamped to the\n * end of the screen and attempts to write past it are ignored.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set wraparound mode, false to unset.\n */\nhterm.Terminal.prototype.setWraparound = function(state) {\n this.options_.wraparound = state;\n};\n\n/**\n * Set the reverse-wraparound mode bit.\n *\n * If wraparound mode is off, certain VT commands will allow the cursor to wrap\n * to the end of the previous row. Otherwise, the cursor is clamped to column\n * 0.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set reverse-wraparound mode, false to unset.\n */\nhterm.Terminal.prototype.setReverseWraparound = function(state) {\n this.options_.reverseWraparound = state;\n};\n\n/**\n * Selects between the primary and alternate screens.\n *\n * If alternate mode is on, the alternate screen is active. Otherwise the\n * primary screen is active.\n *\n * Swapping screens has no effect on the scrollback buffer.\n *\n * Each screen maintains its own cursor position.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set alternate mode, false to unset.\n */\nhterm.Terminal.prototype.setAlternateMode = function(state) {\n var cursor = this.saveCursor();\n this.screen_ = state ? this.alternateScreen_ : this.primaryScreen_;\n\n if (this.screen_.rowsArray.length &&\n this.screen_.rowsArray[0].rowIndex != this.scrollbackRows_.length) {\n // If the screen changed sizes while we were away, our rowIndexes may\n // be incorrect.\n var offset = this.scrollbackRows_.length;\n var ary = this.screen_.rowsArray;\n for (var i = 0; i < ary.length; i++) {\n ary[i].rowIndex = offset + i;\n }\n }\n\n this.realizeWidth_(this.screenSize.width);\n this.realizeHeight_(this.screenSize.height);\n this.scrollPort_.syncScrollHeight();\n this.scrollPort_.invalidate();\n\n this.restoreCursor(cursor);\n this.scrollPort_.resize();\n};\n\n/**\n * Set the cursor-blink mode bit.\n *\n * If cursor-blink is on, the cursor will blink when it is visible. Otherwise\n * a visible cursor does not blink.\n *\n * You should make sure to turn blinking off if you're going to dispose of a\n * terminal, otherwise you'll leak a timeout.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set cursor-blink mode, false to unset.\n */\nhterm.Terminal.prototype.setCursorBlink = function(state) {\n this.options_.cursorBlink = state;\n\n if (!state && this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n\n if (this.options_.cursorVisible)\n this.setCursorVisible(true);\n};\n\n/**\n * Set the cursor-visible mode bit.\n *\n * If cursor-visible is on, the cursor will be visible. Otherwise it will not.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set cursor-visible mode, false to unset.\n */\nhterm.Terminal.prototype.setCursorVisible = function(state) {\n this.options_.cursorVisible = state;\n\n if (!state) {\n if (this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n this.cursorNode_.style.opacity = '0';\n return;\n }\n\n this.syncCursorPosition_();\n\n this.cursorNode_.style.opacity = '1';\n\n if (this.options_.cursorBlink) {\n if (this.timeouts_.cursorBlink)\n return;\n\n this.onCursorBlink_();\n } else {\n if (this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n }\n};\n\n/**\n * Synchronizes the visible cursor and document selection with the current\n * cursor coordinates.\n */\nhterm.Terminal.prototype.syncCursorPosition_ = function() {\n var topRowIndex = this.scrollPort_.getTopRowIndex();\n var bottomRowIndex = this.scrollPort_.getBottomRowIndex(topRowIndex);\n var cursorRowIndex = this.scrollbackRows_.length +\n this.screen_.cursorPosition.row;\n\n if (cursorRowIndex > bottomRowIndex) {\n // Cursor is scrolled off screen, move it outside of the visible area.\n this.setCssVar('cursor-offset-row', '-1');\n return;\n }\n\n if (this.options_.cursorVisible &&\n this.cursorNode_.style.display == 'none') {\n // Re-display the terminal cursor if it was hidden by the mouse cursor.\n this.cursorNode_.style.display = '';\n }\n\n // Position the cursor using CSS variable math. If we do the math in JS,\n // the float math will end up being more precise than the CSS which will\n // cause the cursor tracking to be off.\n this.setCssVar(\n 'cursor-offset-row',\n `${cursorRowIndex - topRowIndex} + ` +\n `${this.scrollPort_.visibleRowTopMargin}px`);\n this.setCssVar('cursor-offset-col', this.screen_.cursorPosition.column);\n\n this.cursorNode_.setAttribute('title',\n '(' + this.screen_.cursorPosition.column +\n ', ' + this.screen_.cursorPosition.row +\n ')');\n\n // Update the caret for a11y purposes.\n var selection = this.document_.getSelection();\n if (selection && selection.isCollapsed)\n this.screen_.syncSelectionCaret(selection);\n};\n\n/**\n * Adjusts the style of this.cursorNode_ according to the current cursor shape\n * and character cell dimensions.\n */\nhterm.Terminal.prototype.restyleCursor_ = function() {\n var shape = this.cursorShape_;\n\n if (this.cursorNode_.getAttribute('focus') == 'false') {\n // Always show a block cursor when unfocused.\n shape = hterm.Terminal.cursorShape.BLOCK;\n }\n\n var style = this.cursorNode_.style;\n\n switch (shape) {\n case hterm.Terminal.cursorShape.BEAM:\n style.height = 'var(--hterm-charsize-height)';\n style.backgroundColor = 'transparent';\n style.borderBottomStyle = null;\n style.borderLeftStyle = 'solid';\n break;\n\n case hterm.Terminal.cursorShape.UNDERLINE:\n style.height = this.scrollPort_.characterSize.baseline + 'px';\n style.backgroundColor = 'transparent';\n style.borderBottomStyle = 'solid';\n // correct the size to put it exactly at the baseline\n style.borderLeftStyle = null;\n break;\n\n default:\n style.height = 'var(--hterm-charsize-height)';\n style.backgroundColor = this.cursorColor_;\n style.borderBottomStyle = null;\n style.borderLeftStyle = null;\n break;\n }\n};\n\n/**\n * Synchronizes the visible cursor with the current cursor coordinates.\n *\n * The sync will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single sync.\n */\nhterm.Terminal.prototype.scheduleSyncCursorPosition_ = function() {\n if (this.timeouts_.syncCursor)\n return;\n\n var self = this;\n this.timeouts_.syncCursor = setTimeout(function() {\n self.syncCursorPosition_();\n delete self.timeouts_.syncCursor;\n }, 0);\n};\n\n/**\n * Show or hide the zoom warning.\n *\n * The zoom warning is a message warning the user that their browser zoom must\n * be set to 100% in order for hterm to function properly.\n *\n * @param {boolean} state True to show the message, false to hide it.\n */\nhterm.Terminal.prototype.showZoomWarning_ = function(state) {\n if (!this.zoomWarningNode_) {\n if (!state)\n return;\n\n this.zoomWarningNode_ = this.document_.createElement('div');\n this.zoomWarningNode_.id = 'hterm:zoom-warning';\n this.zoomWarningNode_.style.cssText = (\n 'color: black;' +\n 'background-color: #ff2222;' +\n 'font-size: large;' +\n 'border-radius: 8px;' +\n 'opacity: 0.75;' +\n 'padding: 0.2em 0.5em 0.2em 0.5em;' +\n 'top: 0.5em;' +\n 'right: 1.2em;' +\n 'position: absolute;' +\n '-webkit-text-size-adjust: none;' +\n '-webkit-user-select: none;' +\n '-moz-text-size-adjust: none;' +\n '-moz-user-select: none;');\n\n this.zoomWarningNode_.addEventListener('click', function(e) {\n this.parentNode.removeChild(this);\n });\n }\n\n this.zoomWarningNode_.textContent = lib.MessageManager.replaceReferences(\n hterm.zoomWarningMessage,\n [parseInt(this.scrollPort_.characterSize.zoomFactor * 100)]);\n\n this.zoomWarningNode_.style.fontFamily = this.prefs_.get('font-family');\n\n if (state) {\n if (!this.zoomWarningNode_.parentNode)\n this.div_.parentNode.appendChild(this.zoomWarningNode_);\n } else if (this.zoomWarningNode_.parentNode) {\n this.zoomWarningNode_.parentNode.removeChild(this.zoomWarningNode_);\n }\n};\n\n/**\n * Show the terminal overlay for a given amount of time.\n *\n * The terminal overlay appears in inverse video in a large font, centered\n * over the terminal. You should probably keep the overlay message brief,\n * since it's in a large font and you probably aren't going to check the size\n * of the terminal first.\n *\n * @param {string} msg The text (not HTML) message to display in the overlay.\n * @param {number} opt_timeout The amount of time to wait before fading out\n * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay\n * stay up forever (or until the next overlay).\n */\nhterm.Terminal.prototype.showOverlay = function(msg, opt_timeout) {\n if (!this.overlayNode_) {\n if (!this.div_)\n return;\n\n this.overlayNode_ = this.document_.createElement('div');\n this.overlayNode_.style.cssText = (\n 'border-radius: 15px;' +\n 'font-size: xx-large;' +\n 'opacity: 0.75;' +\n 'padding: 0.2em 0.5em 0.2em 0.5em;' +\n 'position: absolute;' +\n '-webkit-user-select: none;' +\n '-webkit-transition: opacity 180ms ease-in;' +\n '-moz-user-select: none;' +\n '-moz-transition: opacity 180ms ease-in;');\n\n this.overlayNode_.addEventListener('mousedown', function(e) {\n e.preventDefault();\n e.stopPropagation();\n }, true);\n }\n\n this.overlayNode_.style.color = this.prefs_.get('background-color');\n this.overlayNode_.style.backgroundColor = this.prefs_.get('foreground-color');\n this.overlayNode_.style.fontFamily = this.prefs_.get('font-family');\n\n this.overlayNode_.textContent = msg;\n this.overlayNode_.style.opacity = '0.75';\n\n if (!this.overlayNode_.parentNode)\n this.div_.appendChild(this.overlayNode_);\n\n var divSize = hterm.getClientSize(this.div_);\n var overlaySize = hterm.getClientSize(this.overlayNode_);\n\n this.overlayNode_.style.top =\n (divSize.height - overlaySize.height) / 2 + 'px';\n this.overlayNode_.style.left = (divSize.width - overlaySize.width -\n this.scrollPort_.currentScrollbarWidthPx) / 2 + 'px';\n\n var self = this;\n\n if (this.overlayTimeout_)\n clearTimeout(this.overlayTimeout_);\n\n if (opt_timeout === null)\n return;\n\n this.overlayTimeout_ = setTimeout(function() {\n self.overlayNode_.style.opacity = '0';\n self.overlayTimeout_ = setTimeout(function() {\n if (self.overlayNode_.parentNode)\n self.overlayNode_.parentNode.removeChild(self.overlayNode_);\n self.overlayTimeout_ = null;\n self.overlayNode_.style.opacity = '0.75';\n }, 200);\n }, opt_timeout || 1500);\n};\n\n/**\n * Paste from the system clipboard to the terminal.\n */\nhterm.Terminal.prototype.paste = function() {\n return hterm.pasteFromClipboard(this.document_);\n};\n\n/**\n * Copy a string to the system clipboard.\n *\n * Note: If there is a selected range in the terminal, it'll be cleared.\n *\n * @param {string} str The string to copy.\n */\nhterm.Terminal.prototype.copyStringToClipboard = function(str) {\n if (this.prefs_.get('enable-clipboard-notice'))\n setTimeout(this.showOverlay.bind(this, hterm.notifyCopyMessage, 500), 200);\n\n var copySource = this.document_.createElement('pre');\n copySource.id = 'hterm:copy-to-clipboard-source';\n copySource.textContent = str;\n copySource.style.cssText = (\n '-webkit-user-select: text;' +\n '-moz-user-select: text;' +\n 'position: absolute;' +\n 'top: -99px');\n\n this.document_.body.appendChild(copySource);\n\n var selection = this.document_.getSelection();\n var anchorNode = selection.anchorNode;\n var anchorOffset = selection.anchorOffset;\n var focusNode = selection.focusNode;\n var focusOffset = selection.focusOffset;\n\n selection.selectAllChildren(copySource);\n\n hterm.copySelectionToClipboard(this.document_);\n\n // IE doesn't support selection.extend. This means that the selection\n // won't return on IE.\n if (selection.extend) {\n selection.collapse(anchorNode, anchorOffset);\n selection.extend(focusNode, focusOffset);\n }\n\n copySource.parentNode.removeChild(copySource);\n};\n\n/**\n * Returns the selected text, or null if no text is selected.\n *\n * @return {string|null}\n */\nhterm.Terminal.prototype.getSelectionText = function() {\n var selection = this.scrollPort_.selection;\n selection.sync();\n\n if (selection.isCollapsed)\n return null;\n\n\n // Start offset measures from the beginning of the line.\n var startOffset = selection.startOffset;\n var node = selection.startNode;\n\n if (node.nodeName != 'X-ROW') {\n // If the selection doesn't start on an x-row node, then it must be\n // somewhere inside the x-row. Add any characters from previous siblings\n // into the start offset.\n\n if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') {\n // If node is the text node in a styled span, move up to the span node.\n node = node.parentNode;\n }\n\n while (node.previousSibling) {\n node = node.previousSibling;\n startOffset += hterm.TextAttributes.nodeWidth(node);\n }\n }\n\n // End offset measures from the end of the line.\n var endOffset = (hterm.TextAttributes.nodeWidth(selection.endNode) -\n selection.endOffset);\n node = selection.endNode;\n\n if (node.nodeName != 'X-ROW') {\n // If the selection doesn't end on an x-row node, then it must be\n // somewhere inside the x-row. Add any characters from following siblings\n // into the end offset.\n\n if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') {\n // If node is the text node in a styled span, move up to the span node.\n node = node.parentNode;\n }\n\n while (node.nextSibling) {\n node = node.nextSibling;\n endOffset += hterm.TextAttributes.nodeWidth(node);\n }\n }\n\n var rv = this.getRowsText(selection.startRow.rowIndex,\n selection.endRow.rowIndex + 1);\n return lib.wc.substring(rv, startOffset, lib.wc.strWidth(rv) - endOffset);\n};\n\n/**\n * Copy the current selection to the system clipboard, then clear it after a\n * short delay.\n */\nhterm.Terminal.prototype.copySelectionToClipboard = function() {\n var text = this.getSelectionText();\n if (text != null)\n this.copyStringToClipboard(text);\n};\n\nhterm.Terminal.prototype.overlaySize = function() {\n this.showOverlay(this.screenSize.width + 'x' + this.screenSize.height);\n};\n\n/**\n * Invoked by hterm.Terminal.Keyboard when a VT keystroke is detected.\n *\n * @param {string} string The VT string representing the keystroke, in UTF-16.\n */\nhterm.Terminal.prototype.onVTKeystroke = function(string) {\n if (this.scrollOnKeystroke_)\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n\n this.io.onVTKeystroke(this.keyboard.encode(string));\n};\n\n/**\n * Launches url in a new tab.\n *\n * @param {string} url URL to launch in a new tab.\n */\nhterm.Terminal.prototype.openUrl = function(url) {\n if (window.chrome && window.chrome.browser) {\n // For Chrome v2 apps, we need to use this API to properly open windows.\n chrome.browser.openTab({'url': url});\n } else {\n var win = window.open(url, '_blank');\n win.focus();\n }\n}\n\n/**\n * Open the selected url.\n */\nhterm.Terminal.prototype.openSelectedUrl_ = function() {\n var str = this.getSelectionText();\n\n // If there is no selection, try and expand wherever they clicked.\n if (str == null) {\n this.screen_.expandSelection(this.document_.getSelection());\n str = this.getSelectionText();\n\n // If clicking in empty space, return.\n if (str == null)\n return;\n }\n\n // Make sure URL is valid before opening.\n if (str.length > 2048 || str.search(/[\\s\\[\\](){}<>\"'\\\\^`]/) >= 0)\n return;\n\n // If the URI isn't anchored, it'll open relative to the extension.\n // We have no way of knowing the correct schema, so assume http.\n if (str.search('^[a-zA-Z][a-zA-Z0-9+.-]*://') < 0) {\n // We have to whitelist a few protocols that lack authorities and thus\n // never use the //. Like mailto.\n switch (str.split(':', 1)[0]) {\n case 'mailto':\n break;\n default:\n str = 'http://' + str;\n break;\n }\n }\n\n this.openUrl(str);\n}\n\n\n/**\n * Add the terminalRow and terminalColumn properties to mouse events and\n * then forward on to onMouse().\n *\n * The terminalRow and terminalColumn properties contain the (row, column)\n * coordinates for the mouse event.\n *\n * @param {Event} e The mouse event to handle.\n */\nhterm.Terminal.prototype.onMouse_ = function(e) {\n if (e.processedByTerminalHandler_) {\n // We register our event handlers on the document, as well as the cursor\n // and the scroll blocker. Mouse events that occur on the cursor or\n // scroll blocker will also appear on the document, but we don't want to\n // process them twice.\n //\n // We can't just prevent bubbling because that has other side effects, so\n // we decorate the event object with this property instead.\n return;\n }\n\n var reportMouseEvents = (!this.defeatMouseReports_ &&\n this.vt.mouseReport != this.vt.MOUSE_REPORT_DISABLED);\n\n e.processedByTerminalHandler_ = true;\n\n // One based row/column stored on the mouse event.\n e.terminalRow = parseInt((e.clientY - this.scrollPort_.visibleRowTopMargin) /\n this.scrollPort_.characterSize.height) + 1;\n e.terminalColumn = parseInt(e.clientX /\n this.scrollPort_.characterSize.width) + 1;\n\n if (e.type == 'mousedown' && e.terminalColumn > this.screenSize.width) {\n // Mousedown in the scrollbar area.\n return;\n }\n\n if (this.options_.cursorVisible && !reportMouseEvents) {\n // If the cursor is visible and we're not sending mouse events to the\n // host app, then we want to hide the terminal cursor when the mouse\n // cursor is over top. This keeps the terminal cursor from interfering\n // with local text selection.\n if (e.terminalRow - 1 == this.screen_.cursorPosition.row &&\n e.terminalColumn - 1 == this.screen_.cursorPosition.column) {\n this.cursorNode_.style.display = 'none';\n } else if (this.cursorNode_.style.display == 'none') {\n this.cursorNode_.style.display = '';\n }\n }\n\n if (e.type == 'mousedown') {\n if (e.altKey || !reportMouseEvents) {\n // If VT mouse reporting is disabled, or has been defeated with\n // alt-mousedown, then the mouse will act on the local selection.\n this.defeatMouseReports_ = true;\n this.setSelectionEnabled(true);\n } else {\n // Otherwise we defer ownership of the mouse to the VT.\n this.defeatMouseReports_ = false;\n this.document_.getSelection().collapseToEnd();\n this.setSelectionEnabled(false);\n e.preventDefault();\n }\n }\n\n if (!reportMouseEvents) {\n if (e.type == 'dblclick' && this.copyOnSelect) {\n this.screen_.expandSelection(this.document_.getSelection());\n this.copySelectionToClipboard(this.document_);\n }\n\n if (e.type == 'click' && !e.shiftKey && (e.ctrlKey || e.metaKey)) {\n // Debounce this event with the dblclick event. If you try to doubleclick\n // a URL to open it, Chrome will fire click then dblclick, but we won't\n // have expanded the selection text at the first click event.\n clearTimeout(this.timeouts_.openUrl);\n this.timeouts_.openUrl = setTimeout(this.openSelectedUrl_.bind(this),\n 500);\n return;\n }\n\n if (e.type == 'mousedown') {\n if ((this.mouseRightClickPaste && e.button == 2 /* right button */) ||\n e.button == this.mousePasteButton) {\n if (!this.paste())\n console.warning('Could not paste manually due to web restrictions');;\n }\n }\n\n if (e.type == 'mouseup' && e.button == 0 && this.copyOnSelect &&\n !this.document_.getSelection().isCollapsed) {\n this.copySelectionToClipboard(this.document_);\n }\n\n if ((e.type == 'mousemove' || e.type == 'mouseup') &&\n this.scrollBlockerNode_.engaged) {\n // Disengage the scroll-blocker after one of these events.\n this.scrollBlockerNode_.engaged = false;\n this.scrollBlockerNode_.style.top = '-99px';\n }\n\n // Emulate arrow key presses via scroll wheel events.\n if (this.scrollWheelArrowKeys_ && !e.shiftKey &&\n this.keyboard.applicationCursor && !this.isPrimaryScreen()) {\n if (e.type == 'wheel') {\n var delta = this.scrollPort_.scrollWheelDelta(e);\n var lines = lib.f.smartFloorDivide(\n Math.abs(delta), this.scrollPort_.characterSize.height);\n\n var data = '\\x1bO' + (delta < 0 ? 'B' : 'A');\n this.io.sendString(data.repeat(lines));\n\n e.preventDefault();\n }\n }\n } else /* if (this.reportMouseEvents) */ {\n if (!this.scrollBlockerNode_.engaged) {\n if (e.type == 'mousedown') {\n // Move the scroll-blocker into place if we want to keep the scrollport\n // from scrolling.\n this.scrollBlockerNode_.engaged = true;\n this.scrollBlockerNode_.style.top = (e.clientY - 5) + 'px';\n this.scrollBlockerNode_.style.left = (e.clientX - 5) + 'px';\n } else if (e.type == 'mousemove') {\n // Oh. This means that drag-scroll was disabled AFTER the mouse down,\n // in which case it's too late to engage the scroll-blocker.\n this.document_.getSelection().collapseToEnd();\n e.preventDefault();\n }\n }\n\n this.onMouse(e);\n }\n\n if (e.type == 'mouseup' && this.document_.getSelection().isCollapsed) {\n // Restore this on mouseup in case it was temporarily defeated with a\n // alt-mousedown. Only do this when the selection is empty so that\n // we don't immediately kill the users selection.\n this.defeatMouseReports_ = false;\n }\n};\n\n/**\n * Clients should override this if they care to know about mouse events.\n *\n * The event parameter will be a normal DOM mouse click event with additional\n * 'terminalRow' and 'terminalColumn' properties.\n *\n * @param {Event} e The mouse event to handle.\n */\nhterm.Terminal.prototype.onMouse = function(e) { };\n\n/**\n * React when focus changes.\n *\n * @param {boolean} focused True if focused, false otherwise.\n */\nhterm.Terminal.prototype.onFocusChange_ = function(focused) {\n this.cursorNode_.setAttribute('focus', focused);\n this.restyleCursor_();\n if (focused === true)\n this.closeBellNotifications_();\n};\n\n/**\n * React when the ScrollPort is scrolled.\n */\nhterm.Terminal.prototype.onScroll_ = function() {\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * React when text is pasted into the scrollPort.\n *\n * @param {Event} e The DOM paste event to handle.\n */\nhterm.Terminal.prototype.onPaste_ = function(e) {\n var data = e.text.replace(/\\n/mg, '\\r');\n data = this.keyboard.encode(data);\n if (this.options_.bracketedPaste)\n data = '\\x1b[200~' + data + '\\x1b[201~';\n\n this.io.sendString(data);\n};\n\n/**\n * React when the user tries to copy from the scrollPort.\n *\n * @param {Event} e The DOM copy event.\n */\nhterm.Terminal.prototype.onCopy_ = function(e) {\n if (!this.useDefaultWindowCopy) {\n e.preventDefault();\n setTimeout(this.copySelectionToClipboard.bind(this), 0);\n }\n};\n\n/**\n * React when the ScrollPort is resized.\n *\n * Note: This function should not directly contain code that alters the internal\n * state of the terminal. That kind of code belongs in realizeWidth or\n * realizeHeight, so that it can be executed synchronously in the case of a\n * programmatic width change.\n */\nhterm.Terminal.prototype.onResize_ = function() {\n var columnCount = Math.floor(this.scrollPort_.getScreenWidth() /\n this.scrollPort_.characterSize.width) || 0;\n var rowCount = lib.f.smartFloorDivide(this.scrollPort_.getScreenHeight(),\n this.scrollPort_.characterSize.height) || 0;\n\n if (columnCount <= 0 || rowCount <= 0) {\n // We avoid these situations since they happen sometimes when the terminal\n // gets removed from the document or during the initial load, and we can't\n // deal with that.\n // This can also happen if called before the scrollPort calculates the\n // character size, meaning we dived by 0 above and default to 0 values.\n return;\n }\n\n var isNewSize = (columnCount != this.screenSize.width ||\n rowCount != this.screenSize.height);\n\n // We do this even if the size didn't change, just to be sure everything is\n // in sync.\n this.realizeSize_(columnCount, rowCount);\n this.showZoomWarning_(this.scrollPort_.characterSize.zoomFactor != 1);\n\n if (isNewSize)\n this.overlaySize();\n\n this.restyleCursor_();\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Service the cursor blink timeout.\n */\nhterm.Terminal.prototype.onCursorBlink_ = function() {\n if (!this.options_.cursorBlink) {\n delete this.timeouts_.cursorBlink;\n return;\n }\n\n if (this.cursorNode_.getAttribute('focus') == 'false' ||\n this.cursorNode_.style.opacity == '0') {\n this.cursorNode_.style.opacity = '1';\n this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_,\n this.cursorBlinkCycle_[0]);\n } else {\n this.cursorNode_.style.opacity = '0';\n this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_,\n this.cursorBlinkCycle_[1]);\n }\n};\n\n/**\n * Set the scrollbar-visible mode bit.\n *\n * If scrollbar-visible is on, the vertical scrollbar will be visible.\n * Otherwise it will not.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set scrollbar-visible mode, false to unset.\n */\nhterm.Terminal.prototype.setScrollbarVisible = function(state) {\n this.scrollPort_.setScrollbarVisible(state);\n};\n\n/**\n * Set the scroll wheel move multiplier. This will affect how fast the page\n * scrolls on wheel events.\n *\n * Defaults to 1.\n *\n * @param {number} multiplier The multiplier to set.\n */\nhterm.Terminal.prototype.setScrollWheelMoveMultipler = function(multiplier) {\n this.scrollPort_.setScrollWheelMoveMultipler(multiplier);\n};\n\n/**\n * Close all web notifications created by terminal bells.\n */\nhterm.Terminal.prototype.closeBellNotifications_ = function() {\n this.bellNotificationList_.forEach(function(n) {\n n.close();\n });\n this.bellNotificationList_.length = 0;\n};\n// SOURCE FILE: hterm/js/hterm_terminal_io.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.encodeUTF8');\n\n/**\n * Input/Output interface used by commands to communicate with the terminal.\n *\n * Commands like `nassh` and `crosh` receive an instance of this class as\n * part of their argv object. This allows them to write to and read from the\n * terminal without exposing them to an entire hterm.Terminal instance.\n *\n * The active command must override the onVTKeystroke() and sendString() methods\n * of this class in order to receive keystrokes and send output to the correct\n * destination.\n *\n * Isolating commands from the terminal provides the following benefits:\n * - Provides a mechanism to save and restore onVTKeystroke and sendString\n * handlers when invoking subcommands (see the push() and pop() methods).\n * - The isolation makes it easier to make changes in Terminal and supporting\n * classes without affecting commands.\n * - In The Future commands may run in web workers where they would only be able\n * to talk to a Terminal instance through an IPC mechanism.\n *\n * @param {hterm.Terminal}\n */\nhterm.Terminal.IO = function(terminal) {\n this.terminal_ = terminal;\n\n // The IO object to restore on IO.pop().\n this.previousIO_ = null;\n};\n\n/**\n * Show the terminal overlay for a given amount of time.\n *\n * The terminal overlay appears in inverse video in a large font, centered\n * over the terminal. You should probably keep the overlay message brief,\n * since it's in a large font and you probably aren't going to check the size\n * of the terminal first.\n *\n * @param {string} msg The text (not HTML) message to display in the overlay.\n * @param {number} opt_timeout The amount of time to wait before fading out\n * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay\n * stay up forever (or until the next overlay).\n */\nhterm.Terminal.IO.prototype.showOverlay = function(message, opt_timeout) {\n this.terminal_.showOverlay(message, opt_timeout);\n};\n\n/**\n * Open an frame in the current terminal window, pointed to the specified\n * url.\n *\n * Eventually we'll probably need size/position/decoration options.\n * The user should also be able to move/resize the frame.\n *\n * @param {string} url The URL to load in the frame.\n * @param {Object} opt_options Optional frame options. Not implemented.\n */\nhterm.Terminal.IO.prototype.createFrame = function(url, opt_options) {\n return new hterm.Frame(this.terminal_, url, opt_options);\n};\n\n/**\n * Change the preference profile for the terminal.\n *\n * @param profileName {string} The name of the preference profile to activate.\n */\nhterm.Terminal.IO.prototype.setTerminalProfile = function(profileName) {\n this.terminal_.setProfile(profileName);\n};\n\n/**\n * Create a new hterm.Terminal.IO instance and make it active on the Terminal\n * object associated with this instance.\n *\n * This is used to pass control of the terminal IO off to a subcommand. The\n * IO.pop() method can be used to restore control when the subcommand completes.\n */\nhterm.Terminal.IO.prototype.push = function() {\n var io = new hterm.Terminal.IO(this.terminal_);\n io.keyboardCaptured_ = this.keyboardCaptured_;\n\n io.columnCount = this.columnCount;\n io.rowCount = this.rowCount;\n\n io.previousIO_ = this.terminal_.io;\n this.terminal_.io = io;\n\n return io;\n};\n\n/**\n * Restore the Terminal's previous IO object.\n */\nhterm.Terminal.IO.prototype.pop = function() {\n this.terminal_.io = this.previousIO_;\n};\n\n/**\n * Called when data needs to be sent to the current command.\n *\n * Clients should override this to receive notification of pending data.\n *\n * @param {string} string The data to send.\n */\nhterm.Terminal.IO.prototype.sendString = function(string) {\n // Override this.\n console.log('Unhandled sendString: ' + string);\n};\n\n/**\n * Called when a terminal keystroke is detected.\n *\n * Clients should override this to receive notification of keystrokes.\n *\n * The keystroke data will be encoded according to the 'send-encoding'\n * preference.\n *\n * @param {string} string The VT key sequence.\n */\nhterm.Terminal.IO.prototype.onVTKeystroke = function(string) {\n // Override this.\n console.log('Unobserverd VT keystroke: ' + JSON.stringify(string));\n};\n\nhterm.Terminal.IO.prototype.onTerminalResize_ = function(width, height) {\n var obj = this;\n while (obj) {\n obj.columnCount = width;\n obj.rowCount = height;\n obj = obj.previousIO_;\n }\n\n this.onTerminalResize(width, height);\n};\n\n/**\n * Called when terminal size is changed.\n *\n * Clients should override this to receive notification of resize.\n *\n * @param {string|integer} terminal width.\n * @param {string|integer} terminal height.\n */\nhterm.Terminal.IO.prototype.onTerminalResize = function(width, height) {\n // Override this.\n};\n\n/**\n * Write a UTF-8 encoded byte string to the terminal.\n *\n * @param {string} string The UTF-8 encoded string to print.\n */\nhterm.Terminal.IO.prototype.writeUTF8 = function(string) {\n if (this.terminal_.io != this)\n throw 'Attempt to print from inactive IO object.';\n\n this.terminal_.interpret(string);\n};\n\n/**\n * Write a UTF-8 encoded byte string to the terminal followed by crlf.\n *\n * @param {string} string The UTF-8 encoded string to print.\n */\nhterm.Terminal.IO.prototype.writelnUTF8 = function(string) {\n if (this.terminal_.io != this)\n throw 'Attempt to print from inactive IO object.';\n\n this.terminal_.interpret(string + '\\r\\n');\n};\n\n/**\n * Write a UTF-16 JavaScript string to the terminal.\n *\n * @param {string} string The string to print.\n */\nhterm.Terminal.IO.prototype.print =\nhterm.Terminal.IO.prototype.writeUTF16 = function(string) {\n this.writeUTF8(lib.encodeUTF8(string));\n};\n\n/**\n * Print a UTF-16 JavaScript string to the terminal followed by a newline.\n *\n * @param {string} string The string to print.\n */\nhterm.Terminal.IO.prototype.println =\nhterm.Terminal.IO.prototype.writelnUTF16 = function(string) {\n this.writelnUTF8(lib.encodeUTF8(string));\n};\n// SOURCE FILE: hterm/js/hterm_text_attributes.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors');\n\n/**\n * Constructor for TextAttribute objects.\n *\n * These objects manage a set of text attributes such as foreground/\n * background color, bold, faint, italic, blink, underline, and strikethrough.\n *\n * TextAttribute instances can be used to construct a DOM container implementing\n * the current attributes, or to test an existing DOM container for\n * compatibility with the current attributes.\n *\n * @constructor\n * @param {HTMLDocument} document The parent document to use when creating\n * new DOM containers.\n */\nhterm.TextAttributes = function(document) {\n this.document_ = document;\n // These variables contain the source of the color as either:\n // SRC_DEFAULT (use context default)\n // SRC_RGB (specified in 'rgb( r, g, b)' form)\n // number (representing the index from color palette to use)\n this.foregroundSource = this.SRC_DEFAULT;\n this.backgroundSource = this.SRC_DEFAULT;\n\n // These properties cache the value in the color table, but foregroundSource\n // and backgroundSource contain the canonical values.\n this.foreground = this.DEFAULT_COLOR;\n this.background = this.DEFAULT_COLOR;\n\n this.defaultForeground = 'rgb(255, 255, 255)';\n this.defaultBackground = 'rgb(0, 0, 0)';\n\n this.bold = false;\n this.faint = false;\n this.italic = false;\n this.blink = false;\n this.underline = false;\n this.strikethrough = false;\n this.inverse = false;\n this.invisible = false;\n this.wcNode = false;\n this.asciiNode = true;\n this.tileData = null;\n\n this.colorPalette = null;\n this.resetColorPalette();\n};\n\n/**\n * If false, we ignore the bold attribute.\n *\n * This is used for fonts that have a bold version that is a different size\n * than the normal weight version.\n */\nhterm.TextAttributes.prototype.enableBold = true;\n\n/**\n * If true, use bright colors (if available) for bold text.\n *\n * This setting is independent of the enableBold setting.\n */\nhterm.TextAttributes.prototype.enableBoldAsBright = true;\n\n/**\n * A sentinel constant meaning \"whatever the default color is in this context\".\n */\nhterm.TextAttributes.prototype.DEFAULT_COLOR = lib.f.createEnum('');\n\n/**\n * A constant string used to specify that source color is context default.\n */\nhterm.TextAttributes.prototype.SRC_DEFAULT = 'default';\n\n\n/**\n * A constant string used to specify that the source of a color is a valid\n * rgb( r, g, b) specifier.\n */\nhterm.TextAttributes.prototype.SRC_RGB = 'rgb';\n\n/**\n * The document object which should own the DOM nodes created by this instance.\n *\n * @param {HTMLDocument} document The parent document.\n */\nhterm.TextAttributes.prototype.setDocument = function(document) {\n this.document_ = document;\n};\n\n/**\n * Create a deep copy of this object.\n *\n * @return {hterm.TextAttributes} A deep copy of this object.\n */\nhterm.TextAttributes.prototype.clone = function() {\n var rv = new hterm.TextAttributes(null);\n\n for (var key in this) {\n rv[key] = this[key];\n }\n\n rv.colorPalette = this.colorPalette.concat();\n return rv;\n};\n\n/**\n * Reset the current set of attributes.\n *\n * This does not affect the palette. Use resetColorPalette() for that.\n * It also doesn't affect the tile data, it's not meant to.\n */\nhterm.TextAttributes.prototype.reset = function() {\n this.foregroundSource = this.SRC_DEFAULT;\n this.backgroundSource = this.SRC_DEFAULT;\n this.foreground = this.DEFAULT_COLOR;\n this.background = this.DEFAULT_COLOR;\n this.bold = false;\n this.faint = false;\n this.italic = false;\n this.blink = false;\n this.underline = false;\n this.strikethrough = false;\n this.inverse = false;\n this.invisible = false;\n this.wcNode = false;\n this.asciiNode = true;\n};\n\n/**\n * Reset the color palette to the default state.\n */\nhterm.TextAttributes.prototype.resetColorPalette = function() {\n this.colorPalette = lib.colors.colorPalette.concat();\n this.syncColors();\n};\n\n/**\n * Test if the current attributes describe unstyled text.\n *\n * @return {boolean} True if the current attributes describe unstyled text.\n */\nhterm.TextAttributes.prototype.isDefault = function() {\n return (this.foregroundSource == this.SRC_DEFAULT &&\n this.backgroundSource == this.SRC_DEFAULT &&\n !this.bold &&\n !this.faint &&\n !this.italic &&\n !this.blink &&\n !this.underline &&\n !this.strikethrough &&\n !this.inverse &&\n !this.invisible &&\n !this.wcNode &&\n this.asciiNode &&\n this.tileData == null);\n};\n\n/**\n * Create a DOM container (a span or a text node) with a style to match the\n * current set of attributes.\n *\n * This method will create a plain text node if the text is unstyled, or\n * an HTML span if the text is styled. Due to lack of monospace wide character\n * fonts on certain systems (e.g. Chrome OS), we need to put each wide character\n * in a span of CSS class '.wc-node' which has double column width.\n * Each vt_tiledata tile is also represented by a span with a single\n * character, with CSS classes '.tile' and '.tile_'.\n *\n * @param {string} opt_textContent Optional text content for the new container.\n * @return {HTMLNode} An HTML span or text nodes styled to match the current\n * attributes.\n */\nhterm.TextAttributes.prototype.createContainer = function(opt_textContent) {\n if (this.isDefault())\n return this.document_.createTextNode(opt_textContent);\n\n var span = this.document_.createElement('span');\n var style = span.style;\n var classes = [];\n\n if (this.foreground != this.DEFAULT_COLOR)\n style.color = this.foreground;\n\n if (this.background != this.DEFAULT_COLOR)\n style.backgroundColor = this.background;\n\n if (this.enableBold && this.bold)\n style.fontWeight = 'bold';\n\n if (this.faint)\n span.faint = true;\n\n if (this.italic)\n style.fontStyle = 'italic';\n\n if (this.blink) {\n classes.push('blink-node');\n span.blinkNode = true;\n }\n\n var textDecoration = '';\n if (this.underline) {\n textDecoration += ' underline';\n span.underline = true;\n }\n if (this.strikethrough) {\n textDecoration += ' line-through';\n span.strikethrough = true;\n }\n if (textDecoration) {\n style.textDecoration = textDecoration;\n }\n\n if (this.wcNode) {\n classes.push('wc-node');\n span.wcNode = true;\n span.asciiNode = false;\n }\n\n if (this.tileData != null) {\n classes.push('tile');\n classes.push('tile_' + this.tileData);\n span.tileNode = true;\n }\n\n if (opt_textContent)\n span.textContent = opt_textContent;\n\n if (classes.length)\n span.className = classes.join(' ');\n\n return span;\n};\n\n/**\n * Tests if the provided object (string, span or text node) has the same\n * style as this TextAttributes instance.\n *\n * This indicates that text with these attributes could be inserted directly\n * into the target DOM node.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj The object to test.\n * @return {boolean} True if the provided container has the same style as\n * this attributes instance.\n */\nhterm.TextAttributes.prototype.matchesContainer = function(obj) {\n if (typeof obj == 'string' || obj.nodeType == 3)\n return this.isDefault();\n\n var style = obj.style;\n\n // We don't want to put multiple characters in a wcNode or a tile.\n // See the comments in createContainer.\n return (!(this.wcNode || obj.wcNode) &&\n this.asciiNode == this.asciiNode &&\n !(this.tileData != null || obj.tileNode) &&\n this.foreground == style.color &&\n this.background == style.backgroundColor &&\n (this.enableBold && this.bold) == !!style.fontWeight &&\n this.blink == obj.blinkNode &&\n this.italic == !!style.fontStyle &&\n !!this.underline == !!obj.underline &&\n !!this.strikethrough == !!obj.strikethrough);\n};\n\nhterm.TextAttributes.prototype.setDefaults = function(foreground, background) {\n this.defaultForeground = foreground;\n this.defaultBackground = background;\n\n this.syncColors();\n};\n\n/**\n * Updates foreground and background properties based on current indices and\n * other state.\n *\n * @param {string} terminalForeground The terminal foreground color for use as\n * inverse text background.\n * @param {string} terminalBackground The terminal background color for use as\n * inverse text foreground.\n *\n */\nhterm.TextAttributes.prototype.syncColors = function() {\n function getBrightIndex(i) {\n if (i < 8) {\n // If the color is from the lower half of the ANSI 16, add 8.\n return i + 8;\n }\n\n // If it's not from the 16 color palette, ignore bold requests. This\n // matches the behavior of gnome-terminal.\n return i;\n }\n\n var foregroundSource = this.foregroundSource;\n var backgroundSource = this.backgroundSource;\n var defaultForeground = this.DEFAULT_COLOR;\n var defaultBackground = this.DEFAULT_COLOR;\n\n if (this.inverse) {\n foregroundSource = this.backgroundSource;\n backgroundSource = this.foregroundSource;\n // We can't inherit the container's color anymore.\n defaultForeground = this.defaultBackground;\n defaultBackground = this.defaultForeground;\n }\n\n if (this.enableBoldAsBright && this.bold) {\n if (foregroundSource != this.SRC_DEFAULT &&\n foregroundSource != this.SRC_RGB) {\n foregroundSource = getBrightIndex(foregroundSource);\n }\n }\n\n if (this.invisible) {\n foregroundSource = backgroundSource;\n defaultForeground = this.defaultBackground;\n }\n\n // Set fore/background colors unless already specified in rgb(r, g, b) form.\n if (foregroundSource != this.SRC_RGB) {\n this.foreground = ((foregroundSource == this.SRC_DEFAULT) ?\n defaultForeground : this.colorPalette[foregroundSource]);\n }\n\n if (this.faint && !this.invisible) {\n var colorToMakeFaint = ((this.foreground == this.DEFAULT_COLOR) ?\n this.defaultForeground : this.foreground);\n this.foreground = lib.colors.mix(colorToMakeFaint, 'rgb(0, 0, 0)', 0.3333);\n }\n\n if (backgroundSource != this.SRC_RGB) {\n this.background = ((backgroundSource == this.SRC_DEFAULT) ?\n defaultBackground : this.colorPalette[backgroundSource]);\n }\n};\n\n/**\n * Static method used to test if the provided objects (strings, spans or\n * text nodes) have the same style.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj1 An object to test.\n * @param {string|HTMLNode} obj2 Another object to test.\n * @return {boolean} True if the containers have the same style.\n */\nhterm.TextAttributes.containersMatch = function(obj1, obj2) {\n if (typeof obj1 == 'string')\n return hterm.TextAttributes.containerIsDefault(obj2);\n\n if (obj1.nodeType != obj2.nodeType)\n return false;\n\n if (obj1.nodeType == 3)\n return true;\n\n var style1 = obj1.style;\n var style2 = obj2.style;\n\n return (style1.color == style2.color &&\n style1.backgroundColor == style2.backgroundColor &&\n style1.fontWeight == style2.fontWeight &&\n style1.fontStyle == style2.fontStyle &&\n style1.textDecoration == style2.textDecoration);\n};\n\n/**\n * Static method to test if a given DOM container represents unstyled text.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj1 An object to test.\n * @return {boolean} True if the object is unstyled.\n */\nhterm.TextAttributes.containerIsDefault = function(obj) {\n return typeof obj == 'string' || obj.nodeType == 3;\n};\n\n/**\n * Static method to get the column width of a node's textContent.\n *\n * @param {HTMLElement} node The HTML element to get the width of textContent\n * from.\n * @return {integer} The column width of the node's textContent.\n */\nhterm.TextAttributes.nodeWidth = function(node) {\n if (!node.asciiNode) {\n return lib.wc.strWidth(node.textContent);\n } else {\n return node.textContent.length;\n }\n}\n\n/**\n * Static method to get the substr of a node's textContent. The start index\n * and substr width are computed in column width.\n *\n * @param {HTMLElement} node The HTML element to get the substr of textContent\n * from.\n * @param {integer} start The starting offset in column width.\n * @param {integer} width The width to capture in column width.\n * @return {integer} The extracted substr of the node's textContent.\n */\nhterm.TextAttributes.nodeSubstr = function(node, start, width) {\n if (!node.asciiNode) {\n return lib.wc.substr(node.textContent, start, width);\n } else {\n return node.textContent.substr(start, width);\n }\n}\n\n/**\n * Static method to get the substring based of a node's textContent. The\n * start index of end index are computed in column width.\n *\n * @param {HTMLElement} node The HTML element to get the substr of textContent\n * from.\n * @param {integer} start The starting offset in column width.\n * @param {integer} end The ending offset in column width.\n * @return {integer} The extracted substring of the node's textContent.\n */\nhterm.TextAttributes.nodeSubstring = function(node, start, end) {\n if (!node.asciiNode) {\n return lib.wc.substring(node.textContent, start, end);\n } else {\n return node.textContent.substring(start, end);\n }\n};\n\n/**\n * Static method to split a string into contiguous runs of single-width\n * characters and runs of double-width characters.\n *\n * @param {string} str The string to split.\n * @return {Array} An array of objects that contain substrings of str, where\n * each substring is either a contiguous runs of single-width characters\n * or a double-width character. For objects that contain a double-width\n * character, its wcNode property is set to true. For objects that contain\n * only ASCII content, its asciiNode property is set to true.\n */\nhterm.TextAttributes.splitWidecharString = function(str) {\n var rv = [];\n var base = 0, length = 0;\n var asciiNode = true;\n\n for (var i = 0; i < str.length;) {\n var c = str.codePointAt(i);\n var increment = (c <= 0xffff) ? 1 : 2;\n if (c < 128) {\n length += increment;\n } else if (lib.wc.charWidth(c) <= 1) {\n length += increment;\n asciiNode = false;\n } else {\n if (length) {\n rv.push({\n str: str.substr(base, length),\n asciiNode: asciiNode,\n });\n asciiNode = true;\n }\n rv.push({\n str: str.substr(i, increment),\n wcNode: true,\n asciiNode: false,\n });\n base = i + increment;\n length = 0;\n }\n i += increment;\n }\n\n if (length) {\n rv.push({\n str: str.substr(base, length),\n asciiNode: asciiNode,\n });\n }\n\n return rv;\n};\n// SOURCE FILE: hterm/js/hterm_vt.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors', 'lib.f', 'lib.UTF8Decoder',\n 'hterm.VT.CharacterMap');\n\n/**\n * Constructor for the VT escape sequence interpreter.\n *\n * The interpreter operates on a terminal object capable of performing cursor\n * move operations, painting characters, etc.\n *\n * This interpreter is intended to be compatible with xterm, though it\n * ignores some of the more esoteric escape sequences.\n *\n * Control sequences are documented in hterm/doc/ControlSequences.md.\n *\n * @param {hterm.Terminal} terminal Terminal to use with the interpreter.\n */\nhterm.VT = function(terminal) {\n /**\n * The display terminal object associated with this virtual terminal.\n */\n this.terminal = terminal;\n\n terminal.onMouse = this.onTerminalMouse_.bind(this);\n this.mouseReport = this.MOUSE_REPORT_DISABLED;\n\n // Parse state left over from the last parse. You should use the parseState\n // instance passed into your parse routine, rather than reading\n // this.parseState_ directly.\n this.parseState_ = new hterm.VT.ParseState(this.parseUnknown_);\n\n // Any \"leading modifiers\" for the escape sequence, such as '?', ' ', or the\n // other modifiers handled in this.parseCSI_.\n this.leadingModifier_ = '';\n\n // Any \"trailing modifiers\". Same character set as a leading modifier,\n // except these are found after the numeric arguments.\n this.trailingModifier_ = '';\n\n // Whether or not to respect the escape codes for setting terminal width.\n this.allowColumnWidthChanges_ = false;\n\n // The amount of time we're willing to wait for the end of an OSC sequence.\n this.oscTimeLimit_ = 20000;\n\n // Decoder to maintain UTF-8 decode state.\n this.utf8Decoder_ = new lib.UTF8Decoder();\n\n /**\n * Whether to accept the 8-bit control characters.\n *\n * An 8-bit control character is one with the eighth bit set. These\n * didn't work on 7-bit terminals so they all have two byte equivalents.\n * Most hosts still only use the two-byte versions.\n *\n * We ignore 8-bit control codes by default. This is in order to avoid\n * issues with \"accidental\" usage of codes that need to be terminated.\n * The \"accident\" usually involves cat'ing binary data.\n */\n this.enable8BitControl = false;\n\n /**\n * Whether to allow the OSC 52 sequence to write to the system clipboard.\n */\n this.enableClipboardWrite = true;\n\n /**\n * Respect the host's attempt to change the cursor blink status using\n * the DEC Private mode 12.\n */\n this.enableDec12 = false;\n\n /**\n * The expected encoding method for data received from the host.\n */\n this.characterEncoding = 'utf-8';\n\n /**\n * Max length of an unterminated DCS, OSC, PM or APC sequence before we give\n * up and ignore the code.\n *\n * These all end with a String Terminator (ST, '\\x9c', ESC '\\\\') or\n * (BEL, '\\x07') character, hence the \"string sequence\" moniker.\n */\n this.maxStringSequence = 1024;\n\n /**\n * If true, emit warnings when we encounter a control character or escape\n * sequence that we don't recognize or explicitly ignore.\n */\n this.warnUnimplemented = true;\n\n /**\n * The set of available character maps (used by G0...G3 below).\n */\n this.characterMaps = new hterm.VT.CharacterMaps();\n\n /**\n * The default G0...G3 character maps.\n * We default to the US/ASCII map everywhere as that aligns with other\n * terminals, and it makes it harder to accidentally switch to the graphics\n * character map (Ctrl-N). Any program that wants to use the graphics map\n * will usually select it anyways since there's no guarantee what state any\n * of the maps are in at any particular time.\n */\n this.G0 = this.G1 = this.G2 = this.G3 =\n this.characterMaps.getMap('B');\n\n /**\n * The 7-bit visible character set.\n *\n * This is a mapping from inbound data to display glyph. The GL set\n * contains the 94 bytes from 0x21 to 0x7e.\n *\n * The default GL set is 'B', US ASCII.\n */\n this.GL = 'G0';\n\n /**\n * The 8-bit visible character set.\n *\n * This is a mapping from inbound data to display glyph. The GR set\n * contains the 94 bytes from 0xa1 to 0xfe.\n */\n this.GR = 'G0';\n\n /**\n * The current encoding of the terminal.\n *\n * We only support ECMA-35 and UTF-8, so go with a boolean here.\n * The encoding can be locked too.\n */\n this.codingSystemUtf8_ = false;\n this.codingSystemLocked_ = false;\n\n // Construct a regular expression to match the known one-byte control chars.\n // This is used in parseUnknown_ to quickly scan a string for the next\n // control character.\n this.cc1Pattern_ = null;\n this.updateEncodingState_();\n\n // Saved state used in DECSC.\n //\n // This is a place to store a copy VT state, it is *not* the active state.\n this.savedState_ = new hterm.VT.CursorState(this);\n};\n\n/**\n * No mouse events.\n */\nhterm.VT.prototype.MOUSE_REPORT_DISABLED = 0;\n\n/**\n * DECSET mode 1000.\n *\n * Report mouse down/up events only.\n */\nhterm.VT.prototype.MOUSE_REPORT_CLICK = 1;\n\n/**\n * DECSET mode 1002.\n *\n * Report mouse down/up and movement while a button is down.\n */\nhterm.VT.prototype.MOUSE_REPORT_DRAG = 3;\n\n/**\n * ParseState constructor.\n *\n * This object tracks the current state of the parse. It has fields for the\n * current buffer, position in the buffer, and the parse function.\n *\n * @param {function} defaultFunc The default parser function.\n * @param {string} opt_buf Optional string to use as the current buffer.\n */\nhterm.VT.ParseState = function(defaultFunction, opt_buf) {\n this.defaultFunction = defaultFunction;\n this.buf = opt_buf || null;\n this.pos = 0;\n this.func = defaultFunction;\n this.args = [];\n};\n\n/**\n * Reset the parser function, buffer, and position.\n */\nhterm.VT.ParseState.prototype.reset = function(opt_buf) {\n this.resetParseFunction();\n this.resetBuf(opt_buf || '');\n this.resetArguments();\n};\n\n/**\n * Reset the parser function only.\n */\nhterm.VT.ParseState.prototype.resetParseFunction = function() {\n this.func = this.defaultFunction;\n};\n\n/**\n * Reset the buffer and position only.\n *\n * @param {string} buf Optional new value for buf, defaults to null.\n */\nhterm.VT.ParseState.prototype.resetBuf = function(opt_buf) {\n this.buf = (typeof opt_buf == 'string') ? opt_buf : null;\n this.pos = 0;\n};\n\n/**\n * Reset the arguments list only.\n *\n * @param {string} opt_arg_zero Optional initial value for args[0].\n */\nhterm.VT.ParseState.prototype.resetArguments = function(opt_arg_zero) {\n this.args.length = 0;\n if (typeof opt_arg_zero != 'undefined')\n this.args[0] = opt_arg_zero;\n};\n\n/**\n * Get an argument as an integer.\n *\n * @param {number} argnum The argument number to retrieve.\n */\nhterm.VT.ParseState.prototype.iarg = function(argnum, defaultValue) {\n var str = this.args[argnum];\n if (str) {\n var ret = parseInt(str, 10);\n // An argument of zero is treated as the default value.\n if (ret == 0)\n ret = defaultValue;\n return ret;\n }\n return defaultValue;\n};\n\n/**\n * Advance the parse position.\n *\n * @param {integer} count The number of bytes to advance.\n */\nhterm.VT.ParseState.prototype.advance = function(count) {\n this.pos += count;\n};\n\n/**\n * Return the remaining portion of the buffer without affecting the parse\n * position.\n *\n * @return {string} The remaining portion of the buffer.\n */\nhterm.VT.ParseState.prototype.peekRemainingBuf = function() {\n return this.buf.substr(this.pos);\n};\n\n/**\n * Return the next single character in the buffer without affecting the parse\n * position.\n *\n * @return {string} The next character in the buffer.\n */\nhterm.VT.ParseState.prototype.peekChar = function() {\n return this.buf.substr(this.pos, 1);\n};\n\n/**\n * Return the next single character in the buffer and advance the parse\n * position one byte.\n *\n * @return {string} The next character in the buffer.\n */\nhterm.VT.ParseState.prototype.consumeChar = function() {\n return this.buf.substr(this.pos++, 1);\n};\n\n/**\n * Return true if the buffer is empty, or the position is past the end.\n */\nhterm.VT.ParseState.prototype.isComplete = function() {\n return this.buf == null || this.buf.length <= this.pos;\n};\n\nhterm.VT.CursorState = function(vt) {\n this.vt_ = vt;\n this.save();\n};\n\nhterm.VT.CursorState.prototype.save = function() {\n this.cursor = this.vt_.terminal.saveCursor();\n\n this.textAttributes = this.vt_.terminal.getTextAttributes().clone();\n\n this.GL = this.vt_.GL;\n this.GR = this.vt_.GR;\n\n this.G0 = this.vt_.G0;\n this.G1 = this.vt_.G1;\n this.G2 = this.vt_.G2;\n this.G3 = this.vt_.G3;\n};\n\nhterm.VT.CursorState.prototype.restore = function() {\n this.vt_.terminal.restoreCursor(this.cursor);\n\n this.vt_.terminal.setTextAttributes(this.textAttributes.clone());\n\n this.vt_.GL = this.GL;\n this.vt_.GR = this.GR;\n\n this.vt_.G0 = this.G0;\n this.vt_.G1 = this.G1;\n this.vt_.G2 = this.G2;\n this.vt_.G3 = this.G3;\n};\n\nhterm.VT.prototype.reset = function() {\n this.G0 = this.characterMaps.getMap('B');\n this.G1 = this.characterMaps.getMap('0');\n this.G2 = this.characterMaps.getMap('B');\n this.G3 = this.characterMaps.getMap('B');\n\n this.GL = 'G0';\n this.GR = 'G0';\n\n this.savedState_ = new hterm.VT.CursorState(this);\n\n this.mouseReport = this.MOUSE_REPORT_DISABLED;\n};\n\n/**\n * Handle terminal mouse events.\n *\n * See the \"Mouse Tracking\" section of [xterm].\n */\nhterm.VT.prototype.onTerminalMouse_ = function(e) {\n if (this.mouseReport == this.MOUSE_REPORT_DISABLED)\n return;\n\n // Temporary storage for our response.\n var response;\n\n // Modifier key state.\n var mod = 0;\n if (e.shiftKey)\n mod |= 4;\n if (e.metaKey || (this.terminal.keyboard.altIsMeta && e.altKey))\n mod |= 8;\n if (e.ctrlKey)\n mod |= 16;\n\n // TODO(rginda): We should also support mode 1005 and/or 1006 to extend the\n // coordinate space. Though, after poking around just a little, I wasn't\n // able to get vi or emacs to use either of these modes.\n var x = String.fromCharCode(lib.f.clamp(e.terminalColumn + 32, 32, 255));\n var y = String.fromCharCode(lib.f.clamp(e.terminalRow + 32, 32, 255));\n\n switch (e.type) {\n case 'wheel':\n // Mouse wheel is treated as button 1 or 2 plus an additional 64.\n b = (((e.deltaY * -1) > 0) ? 0 : 1) + 96;\n b |= mod;\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n\n // Keep the terminal from scrolling.\n e.preventDefault();\n break;\n\n case 'mousedown':\n // Buttons are encoded as button number plus 32.\n var b = Math.min(e.button, 2) + 32;\n\n // And mix in the modifier keys.\n b |= mod;\n\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n break;\n\n case 'mouseup':\n // Mouse up has no indication of which button was released.\n response = '\\x1b[M\\x23' + x + y;\n break;\n\n case 'mousemove':\n if (this.mouseReport == this.MOUSE_REPORT_DRAG && e.buttons) {\n // Standard button bits. The XTerm protocol only reports the first\n // button press (e.g. if left & right are pressed, right is ignored),\n // and it only supports the first three buttons. If none of them are\n // pressed, then XTerm flags it as a release. We'll do the same.\n b = 32;\n\n // Priority here matches XTerm: left, middle, right.\n if (e.buttons & 0x1) {\n // Report left button.\n b += 0;\n } else if (e.buttons & 0x4) {\n // Report middle button.\n b += 1;\n } else if (e.buttons & 0x2) {\n // Report right button.\n b += 2;\n } else {\n // Release higher buttons.\n b += 3;\n }\n\n // Add 32 to indicate mouse motion.\n b += 32;\n\n // And mix in the modifier keys.\n b |= mod;\n\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n }\n\n break;\n\n case 'click':\n case 'dblclick':\n break;\n\n default:\n console.error('Unknown mouse event: ' + e.type, e);\n break;\n }\n\n if (response)\n this.terminal.io.sendString(response);\n};\n\n/**\n * Interpret a string of characters, displaying the results on the associated\n * terminal object.\n *\n * The buffer will be decoded according to the 'receive-encoding' preference.\n */\nhterm.VT.prototype.interpret = function(buf) {\n this.parseState_.resetBuf(this.decode(buf));\n\n while (!this.parseState_.isComplete()) {\n var func = this.parseState_.func;\n var pos = this.parseState_.pos;\n var buf = this.parseState_.buf;\n\n this.parseState_.func.call(this, this.parseState_);\n\n if (this.parseState_.func == func && this.parseState_.pos == pos &&\n this.parseState_.buf == buf) {\n throw 'Parser did not alter the state!';\n }\n }\n};\n\n/**\n * Decode a string according to the 'receive-encoding' preference.\n */\nhterm.VT.prototype.decode = function(str) {\n if (this.characterEncoding == 'utf-8')\n return this.decodeUTF8(str);\n\n return str;\n};\n\n/**\n * Encode a UTF-16 string as UTF-8.\n *\n * See also: https://en.wikipedia.org/wiki/UTF-16\n */\nhterm.VT.prototype.encodeUTF8 = function(str) {\n return lib.encodeUTF8(str);\n};\n\n/**\n * Decode a UTF-8 string into UTF-16.\n */\nhterm.VT.prototype.decodeUTF8 = function(str) {\n return this.utf8Decoder_.decode(str);\n};\n\n/**\n * Set the encoding of the terminal.\n *\n * @param {string} encoding The name of the encoding to set.\n */\nhterm.VT.prototype.setEncoding = function(encoding) {\n switch (encoding) {\n default:\n console.warn('Invalid value for \"terminal-encoding\": ' + encoding);\n // Fall through.\n case 'iso-2022':\n this.codingSystemUtf8_ = false;\n this.codingSystemLocked_ = false;\n break;\n case 'utf-8-locked':\n this.codingSystemUtf8_ = true;\n this.codingSystemLocked_ = true;\n break;\n case 'utf-8':\n this.codingSystemUtf8_ = true;\n this.codingSystemLocked_ = false;\n break;\n }\n\n this.updateEncodingState_();\n};\n\n/**\n * Refresh internal state when the encoding changes.\n */\nhterm.VT.prototype.updateEncodingState_ = function() {\n // If we're in UTF8 mode, don't suport 8-bit escape sequences as we'll never\n // see those -- everything should be UTF8!\n var cc1 = Object.keys(hterm.VT.CC1)\n .filter((e) => !this.codingSystemUtf8_ || e.charCodeAt() < 0x80)\n .map((e) => '\\\\x' + lib.f.zpad(e.charCodeAt().toString(16), 2))\n .join('');\n this.cc1Pattern_ = new RegExp(`[${cc1}]`);\n};\n\n/**\n * The default parse function.\n *\n * This will scan the string for the first 1-byte control character (C0/C1\n * characters from [CTRL]). Any plain text coming before the code will be\n * printed to the terminal, then the control character will be dispatched.\n */\nhterm.VT.prototype.parseUnknown_ = function(parseState) {\n var self = this;\n\n function print(str) {\n if (!self.codingSystemUtf8_ && self[self.GL].GL)\n str = self[self.GL].GL(str);\n\n self.terminal.print(str);\n };\n\n // Search for the next contiguous block of plain text.\n var buf = parseState.peekRemainingBuf();\n var nextControl = buf.search(this.cc1Pattern_);\n\n if (nextControl == 0) {\n // We've stumbled right into a control character.\n this.dispatch('CC1', buf.substr(0, 1), parseState);\n parseState.advance(1);\n return;\n }\n\n if (nextControl == -1) {\n // There are no control characters in this string.\n print(buf);\n parseState.reset();\n return;\n }\n\n print(buf.substr(0, nextControl));\n this.dispatch('CC1', buf.substr(nextControl, 1), parseState);\n parseState.advance(nextControl + 1);\n};\n\n/**\n * Parse a Control Sequence Introducer code and dispatch it.\n *\n * See [CSI] for some useful information about these codes.\n */\nhterm.VT.prototype.parseCSI_ = function(parseState) {\n var ch = parseState.peekChar();\n var args = parseState.args;\n\n if (ch >= '@' && ch <= '~') {\n // This is the final character.\n this.dispatch('CSI', this.leadingModifier_ + this.trailingModifier_ + ch,\n parseState);\n parseState.resetParseFunction();\n\n } else if (ch == ';') {\n // Parameter delimiter.\n if (this.trailingModifier_) {\n // Parameter delimiter after the trailing modifier. That's a paddlin'.\n parseState.resetParseFunction();\n\n } else {\n if (!args.length) {\n // They omitted the first param, we need to supply it.\n args.push('');\n }\n\n args.push('');\n }\n\n } else if (ch >= '0' && ch <= '9') {\n // Next byte in the current parameter.\n\n if (this.trailingModifier_) {\n // Numeric parameter after the trailing modifier. That's a paddlin'.\n parseState.resetParseFunction();\n } else {\n if (!args.length) {\n args[0] = ch;\n } else {\n args[args.length - 1] += ch;\n }\n }\n\n } else if (ch >= ' ' && ch <= '?' && ch != ':') {\n // Modifier character.\n if (!args.length) {\n this.leadingModifier_ += ch;\n } else {\n this.trailingModifier_ += ch;\n }\n\n } else if (this.cc1Pattern_.test(ch)) {\n // Control character.\n this.dispatch('CC1', ch, parseState);\n\n } else {\n // Unexpected character in sequence, bail out.\n parseState.resetParseFunction();\n }\n\n parseState.advance(1);\n};\n\n/**\n * Skip over the string until the next String Terminator (ST, 'ESC \\') or\n * Bell (BEL, '\\x07').\n *\n * The string is accumulated in parseState.args[0]. Make sure to reset the\n * arguments (with parseState.resetArguments) before starting the parse.\n *\n * You can detect that parsing in complete by checking that the parse\n * function has changed back to the default parse function.\n *\n * If we encounter more than maxStringSequence characters, we send back\n * the unterminated sequence to be re-parsed with the default parser function.\n *\n * @return {boolean} If true, parsing is ongoing or complete. If false, we've\n * exceeded the max string sequence.\n */\nhterm.VT.prototype.parseUntilStringTerminator_ = function(parseState) {\n var buf = parseState.peekRemainingBuf();\n var nextTerminator = buf.search(/(\\x1b\\\\|\\x07)/);\n var args = parseState.args;\n\n if (!args.length) {\n args[0] = '';\n args[1] = new Date();\n }\n\n if (nextTerminator == -1) {\n // No terminator here, have to wait for the next string.\n\n args[0] += buf;\n\n var abortReason;\n\n if (args[0].length > this.maxStringSequence)\n abortReason = 'too long: ' + args[0].length;\n\n if (args[0].indexOf('\\x1b') != -1)\n abortReason = 'embedded escape: ' + args[0].indexOf('\\x1b');\n\n if (new Date() - args[1] > this.oscTimeLimit_)\n abortReason = 'timeout expired: ' + new Date() - args[1];\n\n if (abortReason) {\n console.log('parseUntilStringTerminator_: aborting: ' + abortReason,\n args[0]);\n parseState.reset(args[0]);\n return false;\n }\n\n parseState.advance(buf.length);\n return true;\n }\n\n if (args[0].length + nextTerminator > this.maxStringSequence) {\n // We found the end of the sequence, but we still think it's too long.\n parseState.reset(args[0] + buf);\n return false;\n }\n\n args[0] += buf.substr(0, nextTerminator);\n\n parseState.resetParseFunction();\n parseState.advance(nextTerminator +\n (buf.substr(nextTerminator, 1) == '\\x1b' ? 2 : 1));\n\n return true;\n};\n\n/**\n * Dispatch to the function that handles a given CC1, ESC, or CSI or VT52 code.\n */\nhterm.VT.prototype.dispatch = function(type, code, parseState) {\n var handler = hterm.VT[type][code];\n if (!handler) {\n if (this.warnUnimplemented)\n console.warn('Unknown ' + type + ' code: ' + JSON.stringify(code));\n return;\n }\n\n if (handler == hterm.VT.ignore) {\n if (this.warnUnimplemented)\n console.warn('Ignored ' + type + ' code: ' + JSON.stringify(code));\n return;\n }\n\n if (type == 'CC1' && code > '\\x7f' && !this.enable8BitControl) {\n // It's kind of a hack to put this here, but...\n //\n // If we're dispatching a 'CC1' code, and it's got the eighth bit set,\n // but we're not supposed to handle 8-bit codes? Just ignore it.\n //\n // This prevents an errant (DCS, '\\x90'), (OSC, '\\x9d'), (PM, '\\x9e') or\n // (APC, '\\x9f') from locking up the terminal waiting for its expected\n // (ST, '\\x9c') or (BEL, '\\x07').\n console.warn('Ignoring 8-bit control code: 0x' +\n code.charCodeAt(0).toString(16));\n return;\n }\n\n handler.apply(this, [parseState, code]);\n};\n\n/**\n * Set one of the ANSI defined terminal mode bits.\n *\n * Invoked in response to SM/RM.\n *\n * Unexpected and unimplemented values are silently ignored.\n */\nhterm.VT.prototype.setANSIMode = function(code, state) {\n if (code == 4) { // Insert Mode (IRM)\n this.terminal.setInsertMode(state);\n } else if (code == 20) { // Automatic Newline (LNM)\n this.terminal.setAutoCarriageReturn(state);\n } else if (this.warnUnimplemented) {\n console.warn('Unimplemented ANSI Mode: ' + code);\n }\n};\n\n/**\n * Set or reset one of the DEC Private modes.\n *\n * Invoked in response to DECSET/DECRST.\n */\nhterm.VT.prototype.setDECMode = function(code, state) {\n switch (parseInt(code, 10)) {\n case 1: // DECCKM\n this.terminal.keyboard.applicationCursor = state;\n break;\n\n case 3: // DECCOLM\n if (this.allowColumnWidthChanges_) {\n this.terminal.setWidth(state ? 132 : 80);\n\n this.terminal.clearHome();\n this.terminal.setVTScrollRegion(null, null);\n }\n break;\n\n case 5: // DECSCNM\n this.terminal.setReverseVideo(state);\n break;\n\n case 6: // DECOM\n this.terminal.setOriginMode(state);\n break;\n\n case 7: // DECAWM\n this.terminal.setWraparound(state);\n break;\n\n case 12: // Start blinking cursor\n if (this.enableDec12)\n this.terminal.setCursorBlink(state);\n break;\n\n case 25: // DECTCEM\n this.terminal.setCursorVisible(state);\n break;\n\n case 30: // Show scrollbar\n this.terminal.setScrollbarVisible(state);\n break;\n\n case 40: // Allow 80 - 132 (DECCOLM) Mode\n this.terminal.allowColumnWidthChanges_ = state;\n break;\n\n case 45: // Reverse-wraparound Mode\n this.terminal.setReverseWraparound(state);\n break;\n\n case 67: // Backarrow key sends backspace (DECBKM)\n this.terminal.keyboard.backspaceSendsBackspace = state;\n break;\n\n case 1000: // Report on mouse clicks only.\n this.mouseReport = (\n state ? this.MOUSE_REPORT_CLICK : this.MOUSE_REPORT_DISABLED);\n this.terminal.syncMouseStyle();\n break;\n\n case 1002: // Report on mouse clicks and drags\n this.mouseReport = (\n state ? this.MOUSE_REPORT_DRAG : this.MOUSE_REPORT_DISABLED);\n this.terminal.syncMouseStyle();\n break;\n\n case 1010: // Scroll to bottom on tty output\n this.terminal.scrollOnOutput = state;\n break;\n\n case 1011: // Scroll to bottom on key press\n this.terminal.scrollOnKeystroke = state;\n break;\n\n case 1036: // Send ESC when Meta modifies a key\n this.terminal.keyboard.metaSendsEscape = state;\n break;\n\n case 1039: // Send ESC when Alt modifies a key\n if (state) {\n if (!this.terminal.keyboard.previousAltSendsWhat_) {\n this.terminal.keyboard.previousAltSendsWhat_ =\n this.terminal.keyboard.altSendsWhat;\n this.terminal.keyboard.altSendsWhat = 'escape';\n }\n } else if (this.terminal.keyboard.previousAltSendsWhat_) {\n this.terminal.keyboard.altSendsWhat =\n this.terminal.keyboard.previousAltSendsWhat_;\n this.terminal.keyboard.previousAltSendsWhat_ = null;\n }\n break;\n\n case 47: // Use Alternate Screen Buffer\n case 1047:\n this.terminal.setAlternateMode(state);\n break;\n\n case 1048: // Save cursor as in DECSC.\n this.savedState_.save();\n\n case 1049: // 1047 + 1048 + clear.\n if (state) {\n this.savedState_.save();\n this.terminal.setAlternateMode(state);\n this.terminal.clear();\n } else {\n this.terminal.setAlternateMode(state);\n this.savedState_.restore();\n }\n\n break;\n\n case 2004: // Bracketed paste mode.\n this.terminal.setBracketedPaste(state);\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unimplemented DEC Private Mode: ' + code);\n break;\n }\n};\n\n/**\n * Function shared by control characters and escape sequences that are\n * ignored.\n */\nhterm.VT.ignore = function() {};\n\n/**\n * Collection of control characters expressed in a single byte.\n *\n * This includes the characters from the C0 and C1 sets (see [CTRL]) that we\n * care about. Two byte versions of the C1 codes are defined in the\n * hterm.VT.ESC collection.\n *\n * The 'CC1' mnemonic here refers to the fact that these are one-byte Control\n * Codes. It's only used in this source file and not defined in any of the\n * referenced documents.\n */\nhterm.VT.CC1 = {};\n\n/**\n * Collection of two-byte and three-byte sequences starting with ESC.\n */\nhterm.VT.ESC = {};\n\n/**\n * Collection of CSI (Control Sequence Introducer) sequences.\n *\n * These sequences begin with 'ESC [', and may take zero or more arguments.\n */\nhterm.VT.CSI = {};\n\n/**\n * Collection of OSC (Operating System Control) sequences.\n *\n * These sequences begin with 'ESC ]', followed by a function number and a\n * string terminated by either ST or BEL.\n */\nhterm.VT.OSC = {};\n\n/**\n * Collection of VT52 sequences.\n *\n * When in VT52 mode, other sequences are disabled.\n */\nhterm.VT.VT52 = {};\n\n/**\n * Null (NUL).\n *\n * Silently ignored.\n */\nhterm.VT.CC1['\\x00'] = hterm.VT.ignore;\n\n/**\n * Enquiry (ENQ).\n *\n * Transmit answerback message.\n *\n * The default answerback message in xterm is an empty string, so we just\n * ignore this.\n */\nhterm.VT.CC1['\\x05'] = hterm.VT.ignore;\n\n/**\n * Ring Bell (BEL).\n */\nhterm.VT.CC1['\\x07'] = function() {\n this.terminal.ringBell();\n};\n\n/**\n * Backspace (BS).\n *\n * Move the cursor to the left one character position, unless it is at the\n * left margin, in which case no action occurs.\n */\nhterm.VT.CC1['\\x08'] = function() {\n this.terminal.cursorLeft(1);\n};\n\n/**\n * Horizontal Tab (HT).\n *\n * Move the cursor to the next tab stop, or to the right margin if no further\n * tab stops are present on the line.\n */\nhterm.VT.CC1['\\x09'] = function() {\n this.terminal.forwardTabStop();\n};\n\n/**\n * Line Feed (LF).\n *\n * This code causes a line feed or a new line operation. See Automatic\n * Newline (LNM).\n */\nhterm.VT.CC1['\\x0a'] = function() {\n this.terminal.formFeed();\n};\n\n/**\n * Vertical Tab (VT).\n *\n * Interpreted as LF.\n */\nhterm.VT.CC1['\\x0b'] = hterm.VT.CC1['\\x0a'];\n\n/**\n * Form Feed (FF).\n *\n * Interpreted as LF.\n */\nhterm.VT.CC1['\\x0c'] = hterm.VT.CC1['\\x0a'];\n\n/**\n * Carriage Return (CR).\n *\n * Move cursor to the left margin on the current line.\n */\nhterm.VT.CC1['\\x0d'] = function() {\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Shift Out (SO), aka Lock Shift 0 (LS1).\n *\n * Invoke G1 character set in GL.\n */\nhterm.VT.CC1['\\x0e'] = function() {\n this.GL = 'G1';\n};\n\n/**\n * Shift In (SI), aka Lock Shift 0 (LS0).\n *\n * Invoke G0 character set in GL.\n */\nhterm.VT.CC1['\\x0f'] = function() {\n this.GL = 'G0';\n};\n\n/**\n * Transmit On (XON).\n *\n * Not currently implemented.\n *\n * TODO(rginda): Implement?\n */\nhterm.VT.CC1['\\x11'] = hterm.VT.ignore;\n\n/**\n * Transmit Off (XOFF).\n *\n * Not currently implemented.\n *\n * TODO(rginda): Implement?\n */\nhterm.VT.CC1['\\x13'] = hterm.VT.ignore;\n\n/**\n * Cancel (CAN).\n *\n * If sent during a control sequence, the sequence is immediately terminated\n * and not executed.\n *\n * It also causes the error character to be displayed.\n */\nhterm.VT.CC1['\\x18'] = function(parseState) {\n // If we've shifted in the G1 character set, shift it back out to\n // the default character set.\n if (this.GL == 'G1') {\n this.GL = 'G0';\n }\n parseState.resetParseFunction();\n this.terminal.print('?');\n};\n\n/**\n * Substitute (SUB).\n *\n * Interpreted as CAN.\n */\nhterm.VT.CC1['\\x1a'] = hterm.VT.CC1['\\x18'];\n\n/**\n * Escape (ESC).\n */\nhterm.VT.CC1['\\x1b'] = function(parseState) {\n function parseESC(parseState) {\n var ch = parseState.consumeChar();\n\n if (ch == '\\x1b')\n return;\n\n this.dispatch('ESC', ch, parseState);\n\n if (parseState.func == parseESC)\n parseState.resetParseFunction();\n };\n\n parseState.func = parseESC;\n};\n\n/**\n * Delete (DEL).\n */\nhterm.VT.CC1['\\x7f'] = hterm.VT.ignore;\n\n// 8 bit control characters and their two byte equivalents, below...\n\n/**\n * Index (IND).\n *\n * Like newline, only keep the X position\n */\nhterm.VT.CC1['\\x84'] =\nhterm.VT.ESC['D'] = function() {\n this.terminal.lineFeed();\n};\n\n/**\n * Next Line (NEL).\n *\n * Like newline, but doesn't add lines.\n */\nhterm.VT.CC1['\\x85'] =\nhterm.VT.ESC['E'] = function() {\n this.terminal.setCursorColumn(0);\n this.terminal.cursorDown(1);\n};\n\n/**\n * Horizontal Tabulation Set (HTS).\n */\nhterm.VT.CC1['\\x88'] =\nhterm.VT.ESC['H'] = function() {\n this.terminal.setTabStop(this.terminal.getCursorColumn());\n};\n\n/**\n * Reverse Index (RI).\n *\n * Move up one line.\n */\nhterm.VT.CC1['\\x8d'] =\nhterm.VT.ESC['M'] = function() {\n this.terminal.reverseLineFeed();\n};\n\n/**\n * Single Shift 2 (SS2).\n *\n * Select of G2 Character Set for the next character only.\n *\n * Not currently implemented.\n */\nhterm.VT.CC1['\\x8e'] =\nhterm.VT.ESC['N'] = hterm.VT.ignore;\n\n/**\n * Single Shift 3 (SS3).\n *\n * Select of G3 Character Set for the next character only.\n *\n * Not currently implemented.\n */\nhterm.VT.CC1['\\x8f'] =\nhterm.VT.ESC['O'] = hterm.VT.ignore;\n\n/**\n * Device Control String (DCS).\n *\n * Indicate a DCS sequence. See Device-Control functions in [XTERM].\n * Not currently implemented.\n *\n * TODO(rginda): Consider implementing DECRQSS, the rest don't seem applicable.\n */\nhterm.VT.CC1['\\x90'] =\nhterm.VT.ESC['P'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * Start of Guarded Area (SPA).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x96'] =\nhterm.VT.ESC['V'] = hterm.VT.ignore;\n\n/**\n * End of Guarded Area (EPA).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x97'] =\nhterm.VT.ESC['W'] = hterm.VT.ignore;\n\n/**\n * Start of String (SOS).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x98'] =\nhterm.VT.ESC['X'] = hterm.VT.ignore;\n\n/**\n * Single Character Introducer (SCI, also DECID).\n *\n * Return Terminal ID. Obsolete form of 'ESC [ c' (DA).\n */\nhterm.VT.CC1['\\x9a'] =\nhterm.VT.ESC['Z'] = function() {\n this.terminal.io.sendString('\\x1b[?1;2c');\n};\n\n/**\n * Control Sequence Introducer (CSI).\n *\n * The lead into most escape sequences. See [CSI].\n */\nhterm.VT.CC1['\\x9b'] =\nhterm.VT.ESC['['] = function(parseState) {\n parseState.resetArguments();\n this.leadingModifier_ = '';\n this.trailingModifier_ = '';\n parseState.func = this.parseCSI_;\n};\n\n/**\n * String Terminator (ST).\n *\n * Used to terminate DCS/OSC/PM/APC commands which may take string arguments.\n *\n * We don't directly handle it here, as it's only used to terminate other\n * sequences. See the 'parseUntilStringTerminator_' method.\n */\nhterm.VT.CC1['\\x9c'] =\nhterm.VT.ESC['\\\\'] = hterm.VT.ignore;\n\n/**\n * Operating System Command (OSC).\n *\n * Commands relating to the operating system.\n */\nhterm.VT.CC1['\\x9d'] =\nhterm.VT.ESC[']'] = function(parseState) {\n parseState.resetArguments();\n\n function parseOSC(parseState) {\n if (!this.parseUntilStringTerminator_(parseState)) {\n // The string sequence was too long.\n return;\n }\n\n if (parseState.func == parseOSC) {\n // We're not done parsing the string yet.\n return;\n }\n\n // We're done.\n var ary = parseState.args[0].match(/^(\\d+);(.*)$/);\n if (ary) {\n parseState.args[0] = ary[2];\n this.dispatch('OSC', ary[1], parseState);\n } else {\n console.warn('Invalid OSC: ' + JSON.stringify(parseState.args[0]));\n }\n };\n\n parseState.func = parseOSC;\n};\n\n/**\n * Privacy Message (PM).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x9e'] =\nhterm.VT.ESC['^'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * Application Program Control (APC).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x9f'] =\nhterm.VT.ESC['_'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * ESC \\x20 - Unclear to me where these originated, possibly in xterm.\n *\n * Not currently implemented:\n * ESC \\x20 F - Select 7 bit escape codes in responses (S7C1T).\n * ESC \\x20 G - Select 8 bit escape codes in responses (S8C1T).\n * NB: We currently assume S7C1T always.\n *\n * Will not implement:\n * ESC \\x20 L - Set ANSI conformance level 1.\n * ESC \\x20 M - Set ANSI conformance level 2.\n * ESC \\x20 N - Set ANSI conformance level 3.\n */\nhterm.VT.ESC['\\x20'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (this.warnUnimplemented)\n console.warn('Unimplemented sequence: ESC 0x20 ' + ch);\n parseState.resetParseFunction();\n };\n};\n\n/**\n * DEC 'ESC #' sequences.\n */\nhterm.VT.ESC['#'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (ch == '8') // DEC Screen Alignment Test (DECALN)\n this.terminal.fill('E');\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Designate Other Coding System (DOCS).\n */\nhterm.VT.ESC['%'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n\n // If we've locked the encoding, then just eat the bytes and return.\n if (this.codingSystemLocked_) {\n if (ch == '/')\n parseState.consumeChar();\n parseState.resetParseFunction();\n return;\n }\n\n // Process the encoding requests.\n switch (ch) {\n case '@':\n // Switch to ECMA 35.\n this.setEncoding('iso-2022');\n break;\n\n case 'G':\n // Switch to UTF-8.\n this.setEncoding('utf-8');\n break;\n\n case '/':\n // One way transition to something else.\n ch = parseState.consumeChar();\n switch (ch) {\n case 'G': // UTF-8 Level 1.\n case 'H': // UTF-8 Level 2.\n case 'I': // UTF-8 Level 3.\n // We treat all UTF-8 levels the same.\n this.setEncoding('utf-8-locked');\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unknown ESC % / argument: ' + JSON.stringify(ch));\n break;\n }\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unknown ESC % argument: ' + JSON.stringify(ch));\n break;\n }\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Character Set Selection (SCS).\n *\n * ESC ( Ps - Set G0 character set (VT100).\n * ESC ) Ps - Set G1 character set (VT220).\n * ESC * Ps - Set G2 character set (VT220).\n * ESC + Ps - Set G3 character set (VT220).\n * ESC - Ps - Set G1 character set (VT300).\n * ESC . Ps - Set G2 character set (VT300).\n * ESC / Ps - Set G3 character set (VT300).\n *\n * All other sequences are echoed to the terminal.\n */\nhterm.VT.ESC['('] =\nhterm.VT.ESC[')'] =\nhterm.VT.ESC['*'] =\nhterm.VT.ESC['+'] =\nhterm.VT.ESC['-'] =\nhterm.VT.ESC['.'] =\nhterm.VT.ESC['/'] = function(parseState, code) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (ch == '\\x1b') {\n parseState.resetParseFunction();\n parseState.func();\n return;\n }\n\n var map = this.characterMaps.getMap(ch);\n if (map !== undefined) {\n if (code == '(') {\n this.G0 = map;\n } else if (code == ')' || code == '-') {\n this.G1 = map;\n } else if (code == '*' || code == '.') {\n this.G2 = map;\n } else if (code == '+' || code == '/') {\n this.G3 = map;\n }\n } else if (this.warnUnimplemented) {\n console.log('Invalid character set for \"' + code + '\": ' + ch);\n }\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Back Index (DECBI).\n *\n * VT420 and up. Not currently implemented.\n */\nhterm.VT.ESC['6'] = hterm.VT.ignore;\n\n/**\n * Save Cursor (DECSC).\n */\nhterm.VT.ESC['7'] = function() {\n this.savedState_.save();\n};\n\n/**\n * Restore Cursor (DECRC).\n */\nhterm.VT.ESC['8'] = function() {\n this.savedState_.restore();\n};\n\n/**\n * Forward Index (DECFI).\n *\n * VT210 and up. Not currently implemented.\n */\nhterm.VT.ESC['9'] = hterm.VT.ignore;\n\n/**\n * Application keypad (DECKPAM).\n */\nhterm.VT.ESC['='] = function() {\n this.terminal.keyboard.applicationKeypad = true;\n};\n\n/**\n * Normal keypad (DECKPNM).\n */\nhterm.VT.ESC['>'] = function() {\n this.terminal.keyboard.applicationKeypad = false;\n};\n\n/**\n * Cursor to lower left corner of screen.\n *\n * Will not implement.\n *\n * This is only recognized by xterm when the hpLowerleftBugCompat resource is\n * set.\n */\nhterm.VT.ESC['F'] = hterm.VT.ignore;\n\n/**\n * Full Reset (RIS).\n */\nhterm.VT.ESC['c'] = function() {\n this.reset();\n this.terminal.reset();\n};\n\n/**\n * Memory lock/unlock.\n *\n * Will not implement.\n */\nhterm.VT.ESC['l'] =\nhterm.VT.ESC['m'] = hterm.VT.ignore;\n\n/**\n * Lock Shift 2 (LS2)\n *\n * Invoke the G2 Character Set as GL.\n */\nhterm.VT.ESC['n'] = function() {\n this.GL = 'G2';\n};\n\n/**\n * Lock Shift 3 (LS3)\n *\n * Invoke the G3 Character Set as GL.\n */\nhterm.VT.ESC['o'] = function() {\n this.GL = 'G3';\n};\n\n/**\n * Lock Shift 2, Right (LS3R)\n *\n * Invoke the G3 Character Set as GR.\n */\nhterm.VT.ESC['|'] = function() {\n this.GR = 'G3';\n};\n\n/**\n * Lock Shift 2, Right (LS2R)\n *\n * Invoke the G2 Character Set as GR.\n */\nhterm.VT.ESC['}'] = function() {\n this.GR = 'G2';\n};\n\n/**\n * Lock Shift 1, Right (LS1R)\n *\n * Invoke the G1 Character Set as GR.\n */\nhterm.VT.ESC['~'] = function() {\n this.GR = 'G1';\n};\n\n/**\n * Change icon name and window title.\n *\n * We only change the window title.\n */\nhterm.VT.OSC['0'] = function(parseState) {\n this.terminal.setWindowTitle(parseState.args[0]);\n};\n\n/**\n * Change window title.\n */\nhterm.VT.OSC['2'] = hterm.VT.OSC['0'];\n\n/**\n * Set/read color palette.\n */\nhterm.VT.OSC['4'] = function(parseState) {\n // Args come in as a single 'index1;rgb1 ... ;indexN;rgbN' string.\n // We split on the semicolon and iterate through the pairs.\n var args = parseState.args[0].split(';');\n\n var pairCount = parseInt(args.length / 2);\n var colorPalette = this.terminal.getTextAttributes().colorPalette;\n var responseArray = [];\n\n for (var pairNumber = 0; pairNumber < pairCount; ++pairNumber) {\n var colorIndex = parseInt(args[pairNumber * 2]);\n var colorValue = args[pairNumber * 2 + 1];\n\n if (colorIndex >= colorPalette.length)\n continue;\n\n if (colorValue == '?') {\n // '?' means we should report back the current color value.\n colorValue = lib.colors.rgbToX11(colorPalette[colorIndex]);\n if (colorValue)\n responseArray.push(colorIndex + ';' + colorValue);\n\n continue;\n }\n\n colorValue = lib.colors.x11ToCSS(colorValue);\n if (colorValue)\n colorPalette[colorIndex] = colorValue;\n }\n\n if (responseArray.length)\n this.terminal.io.sendString('\\x1b]4;' + responseArray.join(';') + '\\x07');\n};\n\n/**\n * iTerm2 growl notifications.\n */\nhterm.VT.OSC['9'] = function(parseState) {\n // This just dumps the entire string as the message.\n hterm.notify({'body': parseState.args[0]});\n};\n\n/**\n * Change VT100 text foreground color.\n */\nhterm.VT.OSC['10'] = function(parseState) {\n // Args come in as a single string, but extra args will chain to the following\n // OSC sequences.\n var args = parseState.args[0].split(';');\n if (!args)\n return;\n\n var colorArg;\n var colorX11 = lib.colors.x11ToCSS(args.shift());\n if (colorX11)\n this.terminal.setForegroundColor(colorX11);\n\n if (args.length > 0) {\n parseState.args[0] = args.join(';');\n hterm.VT.OSC['11'].apply(this, [parseState]);\n }\n};\n\n/**\n * Change VT100 text background color.\n */\nhterm.VT.OSC['11'] = function(parseState) {\n // Args come in as a single string, but extra args will chain to the following\n // OSC sequences.\n var args = parseState.args[0].split(';');\n if (!args)\n return;\n\n var colorArg;\n var colorX11 = lib.colors.x11ToCSS(args.shift());\n if (colorX11)\n this.terminal.setBackgroundColor(colorX11);\n\n /* Note: If we support OSC 12+, we'd chain it here.\n if (args.length > 0) {\n parseState.args[0] = args.join(';');\n hterm.VT.OSC['12'].apply(this, [parseState]);\n }\n */\n};\n\n/**\n * Set the cursor shape.\n *\n * Parameter is expected to be in the form \"CursorShape=number\", where number is\n * one of:\n *\n * 0 - Block\n * 1 - I-Beam\n * 2 - Underline\n *\n * This is a bit of a de-facto standard supported by iTerm 2 and Konsole. See\n * also: DECSCUSR.\n *\n * Invalid numbers will restore the cursor to the block shape.\n */\nhterm.VT.OSC['50'] = function(parseState) {\n var args = parseState.args[0].match(/CursorShape=(.)/i);\n if (!args) {\n console.warn('Could not parse OSC 50 args: ' + parseState.args[0]);\n return;\n }\n\n switch (args[1]) {\n case '1': // CursorShape=1: I-Beam.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n break;\n\n case '2': // CursorShape=2: Underline.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n break;\n\n default: // CursorShape=0: Block.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n }\n};\n\n/**\n * Set/read system clipboard.\n *\n * Read is not implemented due to security considerations. A remote app\n * that is able to both write and read to the clipboard could essentially\n * take over your session.\n *\n * The clipboard data will be decoded according to the 'receive-encoding'\n * preference.\n */\nhterm.VT.OSC['52'] = function(parseState) {\n // Args come in as a single 'clipboard;b64-data' string. The clipboard\n // parameter is used to select which of the X clipboards to address. Since\n // we're not integrating with X, we treat them all the same.\n var args = parseState.args[0].match(/^[cps01234567]*;(.*)/);\n if (!args)\n return;\n\n var data = window.atob(args[1]);\n if (data)\n this.terminal.copyStringToClipboard(this.decode(data));\n};\n\n/**\n * URxvt perl modules.\n *\n * This is the escape system used by rxvt-unicode and its perl modules.\n * Obviously we don't support perl or custom modules, so we list a few common\n * ones that we find useful.\n *\n * Technically there is no format here, but most modules obey:\n * ;\n */\nhterm.VT.OSC['777'] = function(parseState) {\n var ary;\n var urxvtMod = parseState.args[0].split(';', 1)[0];\n\n switch (urxvtMod) {\n case 'notify':\n // Format:\n // notify;title;message\n var title, message;\n ary = parseState.args[0].match(/^[^;]+;([^;]*)(;([\\s\\S]*))?$/);\n if (ary) {\n title = ary[1];\n message = ary[3];\n }\n hterm.notify({'title': title, 'body': message});\n break;\n\n default:\n console.warn('Unknown urxvt module: ' + parseState.args[0]);\n break;\n }\n};\n\n/**\n * Insert (blank) characters (ICH).\n */\nhterm.VT.CSI['@'] = function(parseState) {\n this.terminal.insertSpace(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Up (CUU).\n */\nhterm.VT.CSI['A'] = function(parseState) {\n this.terminal.cursorUp(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Down (CUD).\n */\nhterm.VT.CSI['B'] = function(parseState) {\n this.terminal.cursorDown(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Forward (CUF).\n */\nhterm.VT.CSI['C'] = function(parseState) {\n this.terminal.cursorRight(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Backward (CUB).\n */\nhterm.VT.CSI['D'] = function(parseState) {\n this.terminal.cursorLeft(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Next Line (CNL).\n *\n * This is like Cursor Down, except the cursor moves to the beginning of the\n * line as well.\n */\nhterm.VT.CSI['E'] = function(parseState) {\n this.terminal.cursorDown(parseState.iarg(0, 1));\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Cursor Preceding Line (CPL).\n *\n * This is like Cursor Up, except the cursor moves to the beginning of the\n * line as well.\n */\nhterm.VT.CSI['F'] = function(parseState) {\n this.terminal.cursorUp(parseState.iarg(0, 1));\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Cursor Character Absolute (CHA).\n */\nhterm.VT.CSI['G'] = function(parseState) {\n this.terminal.setCursorColumn(parseState.iarg(0, 1) - 1);\n};\n\n/**\n * Cursor Position (CUP).\n */\nhterm.VT.CSI['H'] = function(parseState) {\n this.terminal.setCursorPosition(parseState.iarg(0, 1) - 1,\n parseState.iarg(1, 1) - 1);\n};\n\n/**\n * Cursor Forward Tabulation (CHT).\n */\nhterm.VT.CSI['I'] = function(parseState) {\n var count = parseState.iarg(0, 1);\n count = lib.f.clamp(count, 1, this.terminal.screenSize.width);\n for (var i = 0; i < count; i++) {\n this.terminal.forwardTabStop();\n }\n};\n\n/**\n * Erase in Display (ED, DECSED).\n */\nhterm.VT.CSI['J'] =\nhterm.VT.CSI['?J'] = function(parseState, code) {\n var arg = parseState.args[0];\n\n if (!arg || arg == 0) {\n this.terminal.eraseBelow();\n } else if (arg == 1) {\n this.terminal.eraseAbove();\n } else if (arg == 2) {\n this.terminal.clear();\n } else if (arg == 3) {\n // The xterm docs say this means \"Erase saved lines\", but we'll just clear\n // the display since killing the scrollback seems rude.\n this.terminal.clear();\n }\n};\n\n/**\n * Erase in line (EL, DECSEL).\n */\nhterm.VT.CSI['K'] =\nhterm.VT.CSI['?K'] = function(parseState, code) {\n var arg = parseState.args[0];\n\n if (!arg || arg == 0) {\n this.terminal.eraseToRight();\n } else if (arg == 1) {\n this.terminal.eraseToLeft();\n } else if (arg == 2) {\n this.terminal.eraseLine();\n }\n};\n\n/**\n * Insert Lines (IL).\n */\nhterm.VT.CSI['L'] = function(parseState) {\n this.terminal.insertLines(parseState.iarg(0, 1));\n};\n\n/**\n * Delete Lines (DL).\n */\nhterm.VT.CSI['M'] = function(parseState) {\n this.terminal.deleteLines(parseState.iarg(0, 1));\n};\n\n/**\n * Delete Characters (DCH).\n *\n * This command shifts the line contents left, starting at the cursor position.\n */\nhterm.VT.CSI['P'] = function(parseState) {\n this.terminal.deleteChars(parseState.iarg(0, 1));\n};\n\n/**\n * Scroll Up (SU).\n */\nhterm.VT.CSI['S'] = function(parseState) {\n this.terminal.vtScrollUp(parseState.iarg(0, 1));\n};\n\n/**\n * Scroll Down (SD).\n * Also 'Initiate highlight mouse tracking'. Will not implement this part.\n */\nhterm.VT.CSI['T'] = function(parseState) {\n if (parseState.args.length <= 1)\n this.terminal.vtScrollDown(parseState.iarg(0, 1));\n};\n\n/**\n * Reset one or more features of the title modes to the default value.\n *\n * ESC [ > Ps T\n *\n * Normally, \"reset\" disables the feature. It is possible to disable the\n * ability to reset features by compiling a different default for the title\n * modes into xterm.\n *\n * Ps values:\n * 0 - Do not set window/icon labels using hexadecimal.\n * 1 - Do not query window/icon labels using hexadecimal.\n * 2 - Do not set window/icon labels using UTF-8.\n * 3 - Do not query window/icon labels using UTF-8.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>T'] = hterm.VT.ignore;\n\n/**\n * Erase Characters (ECH).\n */\nhterm.VT.CSI['X'] = function(parseState) {\n this.terminal.eraseToRight(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Backward Tabulation (CBT).\n */\nhterm.VT.CSI['Z'] = function(parseState) {\n var count = parseState.iarg(0, 1);\n count = lib.f.clamp(count, 1, this.terminal.screenSize.width);\n for (var i = 0; i < count; i++) {\n this.terminal.backwardTabStop();\n }\n};\n\n/**\n * Character Position Absolute (HPA).\n *\n * Same as Cursor Character Absolute (CHA).\n */\nhterm.VT.CSI['`'] = hterm.VT.CSI['G'];\n\n/**\n * Character Position Relative (HPR).\n */\nhterm.VT.CSI['a'] = function(parseState) {\n this.terminal.setCursorColumn(this.terminal.getCursorColumn() +\n parseState.iarg(0, 1));\n};\n\n/**\n * Repeat the preceding graphic character.\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['b'] = hterm.VT.ignore;\n\n/**\n * Send Device Attributes (Primary DA).\n *\n * TODO(rginda): This is hardcoded to send back 'VT100 with Advanced Video\n * Option', but it may be more correct to send a VT220 response once\n * we fill out the 'Not currently implemented' parts.\n */\nhterm.VT.CSI['c'] = function(parseState) {\n if (!parseState.args[0] || parseState.args[0] == 0) {\n this.terminal.io.sendString('\\x1b[?1;2c');\n }\n};\n\n/**\n * Send Device Attributes (Secondary DA).\n *\n * TODO(rginda): This is hardcoded to send back 'VT100' but it may be more\n * correct to send a VT220 response once we fill out more 'Not currently\n * implemented' parts.\n */\nhterm.VT.CSI['>c'] = function(parseState) {\n this.terminal.io.sendString('\\x1b[>0;256;0c');\n};\n\n/**\n * Line Position Absolute (VPA).\n */\nhterm.VT.CSI['d'] = function(parseState) {\n this.terminal.setAbsoluteCursorRow(parseState.iarg(0, 1) - 1);\n};\n\n/**\n * Horizontal and Vertical Position (HVP).\n *\n * Same as Cursor Position (CUP).\n */\nhterm.VT.CSI['f'] = hterm.VT.CSI['H'];\n\n/**\n * Tab Clear (TBC).\n */\nhterm.VT.CSI['g'] = function(parseState) {\n if (!parseState.args[0] || parseState.args[0] == 0) {\n // Clear tab stop at cursor.\n this.terminal.clearTabStopAtCursor(false);\n } else if (parseState.args[0] == 3) {\n // Clear all tab stops.\n this.terminal.clearAllTabStops();\n }\n};\n\n/**\n * Set Mode (SM).\n */\nhterm.VT.CSI['h'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setANSIMode(parseState.args[i], true);\n }\n};\n\n/**\n * DEC Private Mode Set (DECSET).\n */\nhterm.VT.CSI['?h'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setDECMode(parseState.args[i], true);\n }\n};\n\n/**\n * Media Copy (MC).\n * Media Copy (MC, DEC Specific).\n *\n * These commands control the printer. Will not implement.\n */\nhterm.VT.CSI['i'] =\nhterm.VT.CSI['?i'] = hterm.VT.ignore;\n\n/**\n * Reset Mode (RM).\n */\nhterm.VT.CSI['l'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setANSIMode(parseState.args[i], false);\n }\n};\n\n/**\n * DEC Private Mode Reset (DECRST).\n */\nhterm.VT.CSI['?l'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setDECMode(parseState.args[i], false);\n }\n};\n\n/**\n * Character Attributes (SGR).\n *\n * Iterate through the list of arguments, applying the attribute changes based\n * on the argument value...\n */\nhterm.VT.CSI['m'] = function(parseState) {\n function get256(i) {\n if (parseState.args.length < i + 2 || parseState.args[i + 1] != 5)\n return null;\n\n return parseState.iarg(i + 2, 0);\n }\n\n function getTrueColor(i) {\n if (parseState.args.length < i + 5 || parseState.args[i + 1] != 2)\n return null;\n var r = parseState.iarg(i + 2, 0);\n var g = parseState.iarg(i + 3, 0);\n var b = parseState.iarg(i + 4, 0);\n\n return 'rgb(' + r + ' ,' + g + ' ,' + b + ')';\n }\n\n var attrs = this.terminal.getTextAttributes();\n\n if (!parseState.args.length) {\n attrs.reset();\n return;\n }\n\n for (var i = 0; i < parseState.args.length; i++) {\n var arg = parseState.iarg(i, 0);\n\n if (arg < 30) {\n if (arg == 0) { // Normal (default).\n attrs.reset();\n } else if (arg == 1) { // Bold.\n attrs.bold = true;\n } else if (arg == 2) { // Faint.\n attrs.faint = true;\n } else if (arg == 3) { // Italic.\n attrs.italic = true;\n } else if (arg == 4) { // Underline.\n attrs.underline = true;\n } else if (arg == 5) { // Blink.\n attrs.blink = true;\n } else if (arg == 7) { // Inverse.\n attrs.inverse = true;\n } else if (arg == 8) { // Invisible.\n attrs.invisible = true;\n } else if (arg == 9) { // Crossed out.\n attrs.strikethrough = true;\n } else if (arg == 22) { // Not bold & not faint.\n attrs.bold = false;\n attrs.faint = false;\n } else if (arg == 23) { // Not italic.\n attrs.italic = false;\n } else if (arg == 24) { // Not underlined.\n attrs.underline = false;\n } else if (arg == 25) { // Not blink.\n attrs.blink = false;\n } else if (arg == 27) { // Steady.\n attrs.inverse = false;\n } else if (arg == 28) { // Visible.\n attrs.invisible = false;\n } else if (arg == 29) { // Not crossed out.\n attrs.strikethrough = false;\n }\n\n } else if (arg < 50) {\n // Select fore/background color from bottom half of 16 color palette\n // or from the 256 color palette or alternative specify color in fully\n // qualified rgb(r, g, b) form.\n if (arg < 38) {\n attrs.foregroundSource = arg - 30;\n\n } else if (arg == 38) {\n // First check for true color definition\n var trueColor = getTrueColor(i);\n if (trueColor != null) {\n attrs.foregroundSource = attrs.SRC_RGB;\n attrs.foreground = trueColor;\n\n i += 5;\n } else {\n // Check for 256 color\n var c = get256(i);\n if (c == null)\n break;\n\n i += 2;\n\n if (c >= attrs.colorPalette.length)\n continue;\n\n attrs.foregroundSource = c;\n }\n\n } else if (arg == 39) {\n attrs.foregroundSource = attrs.SRC_DEFAULT;\n\n } else if (arg < 48) {\n attrs.backgroundSource = arg - 40;\n\n } else if (arg == 48) {\n // First check for true color definition\n var trueColor = getTrueColor(i);\n if (trueColor != null) {\n attrs.backgroundSource = attrs.SRC_RGB;\n attrs.background = trueColor;\n\n i += 5;\n } else {\n // Check for 256 color\n var c = get256(i);\n if (c == null)\n break;\n\n i += 2;\n\n if (c >= attrs.colorPalette.length)\n continue;\n\n attrs.backgroundSource = c;\n }\n } else {\n attrs.backgroundSource = attrs.SRC_DEFAULT;\n }\n\n } else if (arg >= 90 && arg <= 97) {\n attrs.foregroundSource = arg - 90 + 8;\n\n } else if (arg >= 100 && arg <= 107) {\n attrs.backgroundSource = arg - 100 + 8;\n }\n }\n\n attrs.setDefaults(this.terminal.getForegroundColor(),\n this.terminal.getBackgroundColor());\n};\n\n/**\n * Set xterm-specific keyboard modes.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>m'] = hterm.VT.ignore;\n\n/**\n * Device Status Report (DSR, DEC Specific).\n *\n * 5 - Status Report. Result (OK) is CSI 0 n\n * 6 - Report Cursor Position (CPR) [row;column]. Result is CSI r ; c R\n */\nhterm.VT.CSI['n'] = function(parseState) {\n if (parseState.args[0] == 5) {\n this.terminal.io.sendString('\\x1b0n');\n } else if (parseState.args[0] == 6) {\n var row = this.terminal.getCursorRow() + 1;\n var col = this.terminal.getCursorColumn() + 1;\n this.terminal.io.sendString('\\x1b[' + row + ';' + col + 'R');\n }\n};\n\n/**\n * Disable modifiers which may be enabled via CSI['>m'].\n *\n * Will not implement.\n */\nhterm.VT.CSI['>n'] = hterm.VT.ignore;\n\n/**\n * Device Status Report (DSR, DEC Specific).\n *\n * 6 - Report Cursor Position (CPR) [row;column] as CSI ? r ; c R\n * 15 - Report Printer status as CSI ? 1 0 n (ready) or\n * CSI ? 1 1 n (not ready).\n * 25 - Report UDK status as CSI ? 2 0 n (unlocked) or CSI ? 2 1 n (locked).\n * 26 - Report Keyboard status as CSI ? 2 7 ; 1 ; 0 ; 0 n (North American).\n * The last two parameters apply to VT400 & up, and denote keyboard ready\n * and LK01 respectively.\n * 53 - Report Locator status as CSI ? 5 3 n Locator available, if compiled-in,\n * or CSI ? 5 0 n No Locator, if not.\n */\nhterm.VT.CSI['?n'] = function(parseState) {\n if (parseState.args[0] == 6) {\n var row = this.terminal.getCursorRow() + 1;\n var col = this.terminal.getCursorColumn() + 1;\n this.terminal.io.sendString('\\x1b[' + row + ';' + col + 'R');\n } else if (parseState.args[0] == 15) {\n this.terminal.io.sendString('\\x1b[?11n');\n } else if (parseState.args[0] == 25) {\n this.terminal.io.sendString('\\x1b[?21n');\n } else if (parseState.args[0] == 26) {\n this.terminal.io.sendString('\\x1b[?12;1;0;0n');\n } else if (parseState.args[0] == 53) {\n this.terminal.io.sendString('\\x1b[?50n');\n }\n};\n\n/**\n * This is used by xterm to decide whether to hide the pointer cursor as the\n * user types.\n *\n * Valid values for the parameter:\n * 0 - Never hide the pointer.\n * 1 - Hide if the mouse tracking mode is not enabled.\n * 2 - Always hide the pointer.\n *\n * If no parameter is given, xterm uses the default, which is 1.\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['>p'] = hterm.VT.ignore;\n\n/**\n * Soft terminal reset (DECSTR).\n */\nhterm.VT.CSI['!p'] = function() {\n this.reset();\n this.terminal.softReset();\n};\n\n/**\n * Request ANSI Mode (DECRQM).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['$p'] = hterm.VT.ignore;\nhterm.VT.CSI['?$p'] = hterm.VT.ignore;\n\n/**\n * Set conformance level (DECSCL).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\"p'] = hterm.VT.ignore;\n\n/**\n * Load LEDs (DECLL).\n *\n * Not currently implemented. Could be implemented as virtual LEDs overlaying\n * the terminal if anyone cares.\n */\nhterm.VT.CSI['q'] = hterm.VT.ignore;\n\n/**\n * Set cursor style (DECSCUSR, VT520).\n */\nhterm.VT.CSI[' q'] = function(parseState) {\n var arg = parseState.args[0];\n\n if (arg == 0 || arg == 1) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n this.terminal.setCursorBlink(true);\n } else if (arg == 2) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n this.terminal.setCursorBlink(false);\n } else if (arg == 3) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n this.terminal.setCursorBlink(true);\n } else if (arg == 4) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n this.terminal.setCursorBlink(false);\n } else if (arg == 5) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n this.terminal.setCursorBlink(true);\n } else if (arg == 6) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n this.terminal.setCursorBlink(false);\n } else {\n console.warn('Unknown cursor style: ' + arg);\n }\n};\n\n/**\n * Select character protection attribute (DECSCA).\n *\n * Will not implement.\n */\nhterm.VT.CSI['\"q'] = hterm.VT.ignore;\n\n/**\n * Set Scrolling Region (DECSTBM).\n */\nhterm.VT.CSI['r'] = function(parseState) {\n var args = parseState.args;\n var scrollTop = args[0] ? parseInt(args[0], 10) -1 : null;\n var scrollBottom = args[1] ? parseInt(args[1], 10) - 1 : null;\n this.terminal.setVTScrollRegion(scrollTop, scrollBottom);\n this.terminal.setCursorPosition(0, 0);\n};\n\n/**\n * Restore DEC Private Mode Values.\n *\n * Will not implement.\n */\nhterm.VT.CSI['?r'] = hterm.VT.ignore;\n\n/**\n * Change Attributes in Rectangular Area (DECCARA)\n *\n * Will not implement.\n */\nhterm.VT.CSI['$r'] = hterm.VT.ignore;\n\n/**\n * Save cursor (ANSI.SYS)\n */\nhterm.VT.CSI['s'] = function() {\n this.savedState_.save();\n};\n\n/**\n * Save DEC Private Mode Values.\n *\n * Will not implement.\n */\nhterm.VT.CSI['?s'] = hterm.VT.ignore;\n\n/**\n * Window manipulation (from dtterm, as well as extensions).\n *\n * Will not implement.\n */\nhterm.VT.CSI['t'] = hterm.VT.ignore;\n\n/**\n * Reverse Attributes in Rectangular Area (DECRARA).\n *\n * Will not implement.\n */\nhterm.VT.CSI['$t'] = hterm.VT.ignore;\n\n/**\n * Set one or more features of the title modes.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>t'] = hterm.VT.ignore;\n\n/**\n * Set warning-bell volume (DECSWBV, VT520).\n *\n * Will not implement.\n */\nhterm.VT.CSI[' t'] = hterm.VT.ignore;\n\n/**\n * Restore cursor (ANSI.SYS).\n */\nhterm.VT.CSI['u'] = function() {\n this.savedState_.restore();\n};\n\n/**\n * Set margin-bell volume (DECSMBV, VT520).\n *\n * Will not implement.\n */\nhterm.VT.CSI[' u'] = hterm.VT.ignore;\n\n/**\n * Copy Rectangular Area (DECCRA, VT400 and up).\n *\n * Will not implement.\n */\nhterm.VT.CSI['$v'] = hterm.VT.ignore;\n\n/**\n * Enable Filter Rectangle (DECEFR).\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'w'] = hterm.VT.ignore;\n\n/**\n * Request Terminal Parameters (DECREQTPARM).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['x'] = hterm.VT.ignore;\n\n/**\n * Select Attribute Change Extent (DECSACE).\n *\n * Will not implement.\n */\nhterm.VT.CSI['*x'] = hterm.VT.ignore;\n\n/**\n * Fill Rectangular Area (DECFRA), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['$x'] = hterm.VT.ignore;\n\n/**\n * vt_tiledata (as used by NAOhack and UnNetHack)\n * (see https://nethackwiki.com/wiki/Vt_tiledata for more info)\n *\n * Implemented as far as we care (start a glyph and end a glyph).\n */\nhterm.VT.CSI['z'] = function(parseState) {\n if (parseState.args.length < 1)\n return;\n var arg = parseState.args[0];\n if (arg == 0) {\n // Start a glyph (one parameter, the glyph number).\n if (parseState.args.length < 2)\n return;\n this.terminal.getTextAttributes().tileData = parseState.args[1];\n } else if (arg == 1) {\n // End a glyph.\n this.terminal.getTextAttributes().tileData = null;\n }\n};\n\n/**\n * Enable Locator Reporting (DECELR).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'z'] = hterm.VT.ignore;\n\n/**\n * Erase Rectangular Area (DECERA), VT400 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['$z'] = hterm.VT.ignore;\n\n/**\n * Select Locator Events (DECSLE).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'{'] = hterm.VT.ignore;\n\n/**\n * Request Locator Position (DECRQLP).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'|'] = hterm.VT.ignore;\n\n/**\n * Insert Columns (DECIC), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'}'] = hterm.VT.ignore;\n\n/**\n * Delete P s Columns (DECDC), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'~'] = hterm.VT.ignore;\n// SOURCE FILE: hterm/js/hterm_vt_character_map.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f');\n\n/**\n * Character map object.\n *\n * Mapping from received to display character, used depending on the active\n * VT character set.\n *\n * GR maps are not currently supported.\n *\n * @param {string} description A human readable description of this map.\n * @param {Object} glmap The GL mapping from input to output characters.\n */\nhterm.VT.CharacterMap = function(description, glmap) {\n /**\n * Short description for this character set, useful for debugging.\n */\n this.description = description;\n\n /**\n * The function to call to when this map is installed in GL.\n */\n this.GL = null;\n\n // Always keep an unmodified reference to the map.\n // This allows us to sanely reset back to the original state.\n this.glmapBase_ = glmap;\n\n // Now sync the internal state as needed.\n this.sync_();\n};\n\n/**\n * Internal helper for resyncing internal state.\n *\n * Used when the mappings change.\n *\n * @param {Object?} opt_glmap Additional mappings to overlay on top of the\n * base mapping.\n */\nhterm.VT.CharacterMap.prototype.sync_ = function(opt_glmap) {\n // If there are no maps, then reset the state back.\n if (!this.glmapBase_ && !opt_glmap) {\n this.GL = null;\n delete this.glmap_;\n delete this.glre_;\n return;\n }\n\n // Set the the GL mapping. If we're given a custom mapping, then create a\n // new object to hold the merged map. This way we can cleanly reset back.\n if (opt_glmap)\n this.glmap_ = Object.assign({}, this.glmapBase_, opt_glmap);\n else\n this.glmap_ = this.glmapBase_;\n\n var glchars = Object.keys(this.glmap_).map((key) =>\n '\\\\x' + lib.f.zpad(key.charCodeAt(0).toString(16)));\n this.glre_ = new RegExp('[' + glchars.join('') + ']', 'g');\n\n this.GL = (str) => str.replace(this.glre_, (ch) => this.glmap_[ch]);\n};\n\n/**\n * Reset map back to original mappings (discarding runtime updates).\n *\n * Specifically, any calls to setOverrides will be discarded.\n */\nhterm.VT.CharacterMap.prototype.reset = function() {\n // If we haven't been given a custom mapping, then there's nothing to reset.\n if (this.glmap_ !== this.glmapBase_)\n this.sync_();\n};\n\n/**\n * Merge custom changes to this map.\n *\n * The input map need not duplicate the existing mappings as it is merged with\n * the existing base map (what was created with). Subsequent calls to this\n * will throw away previous override settings.\n *\n * @param {Object} glmap The custom map to override existing mappings.\n */\nhterm.VT.CharacterMap.prototype.setOverrides = function(glmap) {\n this.sync_(glmap);\n};\n\n/**\n * Return a copy of this mapping.\n *\n * @return {hterm.VT.CharacterMap} A new hterm.VT.CharacterMap instance.\n */\nhterm.VT.CharacterMap.prototype.clone = function() {\n var map = new hterm.VT.CharacterMap(this.description, this.glmapBase_);\n if (this.glmap_ !== this.glmapBase_)\n map.setOverrides(this.glmap_);\n return map;\n};\n\n/**\n * Table of character maps.\n */\nhterm.VT.CharacterMaps = function() {\n this.maps_ = hterm.VT.CharacterMaps.DefaultMaps;\n\n // Always keep an unmodified reference to the map.\n // This allows us to sanely reset back to the original state.\n this.mapsBase_ = this.maps_;\n};\n\n/**\n * Look up a previously registered map.\n *\n * @param {String} name The name of the map to lookup.\n * @return {hterm.VT.CharacterMap} The map, if it's been registered.\n */\nhterm.VT.CharacterMaps.prototype.getMap = function(name) {\n if (this.maps_.hasOwnProperty(name))\n return this.maps_[name];\n else\n return undefined;\n};\n\n/**\n * Register a new map.\n *\n * Any previously registered maps by this name will be discarded.\n *\n * @param {String} name The name of the map.\n * @param {hterm.VT.CharacterMap} map The map to register.\n */\nhterm.VT.CharacterMaps.prototype.addMap = function(name, map) {\n if (this.maps_ === this.mapsBase_)\n this.maps_ = Object.assign({}, this.mapsBase_);\n this.maps_[name] = map;\n};\n\n/**\n * Reset the table and all its maps back to original state.\n */\nhterm.VT.CharacterMaps.prototype.reset = function() {\n if (this.maps_ !== hterm.VT.CharacterMaps.DefaultMaps)\n this.maps_ = hterm.VT.CharacterMaps.DefaultMaps;\n};\n\n/**\n * Merge custom changes to this table.\n *\n * @param {Object} maps A set of hterm.VT.CharacterMap objects.\n */\nhterm.VT.CharacterMaps.prototype.setOverrides = function(maps) {\n if (this.maps_ === this.mapsBase_)\n this.maps_ = Object.assign({}, this.mapsBase_);\n\n for (var name in maps) {\n var map = this.getMap(name);\n if (map !== undefined) {\n this.maps_[name] = map.clone();\n this.maps_[name].setOverrides(maps[name]);\n } else\n this.addMap(name, new hterm.VT.CharacterMap('user ' + name, maps[name]));\n }\n};\n\n/**\n * The default set of supported character maps.\n */\nhterm.VT.CharacterMaps.DefaultMaps = {};\n\n/**\n * VT100 Graphic character map.\n * http://vt100.net/docs/vt220-rm/table2-4.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['0'] = new hterm.VT.CharacterMap(\n 'graphic', {\n '\\x60':'\\u25c6', // ` -> diamond\n '\\x61':'\\u2592', // a -> grey-box\n '\\x62':'\\u2409', // b -> h/t\n '\\x63':'\\u240c', // c -> f/f\n '\\x64':'\\u240d', // d -> c/r\n '\\x65':'\\u240a', // e -> l/f\n '\\x66':'\\u00b0', // f -> degree\n '\\x67':'\\u00b1', // g -> +/-\n '\\x68':'\\u2424', // h -> n/l\n '\\x69':'\\u240b', // i -> v/t\n '\\x6a':'\\u2518', // j -> bottom-right\n '\\x6b':'\\u2510', // k -> top-right\n '\\x6c':'\\u250c', // l -> top-left\n '\\x6d':'\\u2514', // m -> bottom-left\n '\\x6e':'\\u253c', // n -> line-cross\n '\\x6f':'\\u23ba', // o -> scan1\n '\\x70':'\\u23bb', // p -> scan3\n '\\x71':'\\u2500', // q -> scan5\n '\\x72':'\\u23bc', // r -> scan7\n '\\x73':'\\u23bd', // s -> scan9\n '\\x74':'\\u251c', // t -> left-tee\n '\\x75':'\\u2524', // u -> right-tee\n '\\x76':'\\u2534', // v -> bottom-tee\n '\\x77':'\\u252c', // w -> top-tee\n '\\x78':'\\u2502', // x -> vertical-line\n '\\x79':'\\u2264', // y -> less-equal\n '\\x7a':'\\u2265', // z -> greater-equal\n '\\x7b':'\\u03c0', // { -> pi\n '\\x7c':'\\u2260', // | -> not-equal\n '\\x7d':'\\u00a3', // } -> british-pound\n '\\x7e':'\\u00b7', // ~ -> dot\n });\n\n/**\n * British character map.\n * http://vt100.net/docs/vt220-rm/table2-5.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['A'] = new hterm.VT.CharacterMap(\n 'british', {\n '\\x23': '\\u00a3', // # -> british-pound\n });\n\n/**\n * US ASCII map, no changes.\n */\nhterm.VT.CharacterMaps.DefaultMaps['B'] = new hterm.VT.CharacterMap(\n 'us', null);\n\n/**\n * Dutch character map.\n * http://vt100.net/docs/vt220-rm/table2-6.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['4'] = new hterm.VT.CharacterMap(\n 'dutch', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00be', // @ -> 3/4\n\n '\\x5b': '\\u0132', // [ -> 'ij' ligature (xterm goes with \\u00ff?)\n '\\x5c': '\\u00bd', // \\ -> 1/2\n '\\x5d': '\\u007c', // ] -> vertical bar\n\n '\\x7b': '\\u00a8', // { -> two dots\n '\\x7c': '\\u0066', // | -> f\n '\\x7d': '\\u00bc', // } -> 1/4\n '\\x7e': '\\u00b4', // ~ -> acute\n });\n\n/**\n * Finnish character map.\n * http://vt100.net/docs/vt220-rm/table2-7.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['C'] =\nhterm.VT.CharacterMaps.DefaultMaps['5'] = new hterm.VT.CharacterMap(\n 'finnish', {\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ~ -> 'u' umlaut\n\n '\\x60': '\\u00e9', // ` -> 'e' acute\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * French character map.\n * http://vt100.net/docs/vt220-rm/table2-8.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['R'] = new hterm.VT.CharacterMap(\n 'french', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00b0', // [ -> ring\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00a7', // ] -> section symbol (double s)\n\n '\\x7b': '\\u00e9', // { -> 'e' acute\n '\\x7c': '\\u00f9', // | -> 'u' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00a8', // ~ -> umlaut\n });\n\n/**\n * French Canadian character map.\n * http://vt100.net/docs/vt220-rm/table2-9.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Q'] = new hterm.VT.CharacterMap(\n 'french canadian', {\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00e2', // [ -> 'a' circumflex\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00ea', // ] -> 'e' circumflex\n '\\x5e': '\\u00ee', // ^ -> 'i' circumflex\n\n '\\x60': '\\u00f4', // ` -> 'o' circumflex\n\n '\\x7b': '\\u00e9', // { -> 'e' acute\n '\\x7c': '\\u00f9', // | -> 'u' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00fb', // ~ -> 'u' circumflex\n });\n\n/**\n * German character map.\n * http://vt100.net/docs/vt220-rm/table2-10.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['K'] = new hterm.VT.CharacterMap(\n 'german', {\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00dc', // ] -> 'U' umlaut\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00fc', // } -> 'u' umlaut\n '\\x7e': '\\u00df', // ~ -> eszett\n });\n\n/**\n * Italian character map.\n * http://vt100.net/docs/vt220-rm/table2-11.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Y'] = new hterm.VT.CharacterMap(\n 'italian', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00b0', // [ -> ring\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00e9', // ] -> 'e' acute\n\n '\\x60': '\\u00f9', // ` -> 'u' grave\n\n '\\x7b': '\\u00e0', // { -> 'a' grave\n '\\x7c': '\\u00f2', // | -> 'o' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00ec', // ~ -> 'i' grave\n });\n\n/**\n * Norwegian/Danish character map.\n * http://vt100.net/docs/vt220-rm/table2-12.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['E'] =\nhterm.VT.CharacterMaps.DefaultMaps['6'] = new hterm.VT.CharacterMap(\n 'norwegian/danish', {\n '\\x40': '\\u00c4', // @ -> 'A' umlaut\n\n '\\x5b': '\\u00c6', // [ -> 'AE' ligature\n '\\x5c': '\\u00d8', // \\ -> 'O' stroke\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ^ -> 'U' umlaut\n\n '\\x60': '\\u00e4', // ` -> 'a' umlaut\n\n '\\x7b': '\\u00e6', // { -> 'ae' ligature\n '\\x7c': '\\u00f8', // | -> 'o' stroke\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * Spanish character map.\n * http://vt100.net/docs/vt220-rm/table2-13.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Z'] = new hterm.VT.CharacterMap(\n 'spanish', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00a1', // [ -> '!' inverted\n '\\x5c': '\\u00d1', // \\ -> 'N' tilde\n '\\x5d': '\\u00bf', // ] -> '?' inverted\n\n '\\x7b': '\\u00b0', // { -> ring\n '\\x7c': '\\u00f1', // | -> 'n' tilde\n '\\x7d': '\\u00e7', // } -> 'c' cedilla\n });\n\n/**\n * Swedish character map.\n * http://vt100.net/docs/vt220-rm/table2-14.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['7'] =\nhterm.VT.CharacterMaps.DefaultMaps['H'] = new hterm.VT.CharacterMap(\n 'swedish', {\n '\\x40': '\\u00c9', // @ -> 'E' acute\n\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ^ -> 'U' umlaut\n\n '\\x60': '\\u00e9', // ` -> 'e' acute\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * Swiss character map.\n * http://vt100.net/docs/vt220-rm/table2-15.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['='] = new hterm.VT.CharacterMap(\n 'swiss', {\n '\\x23': '\\u00f9', // # -> 'u' grave\n\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00e9', // [ -> 'e' acute\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00ea', // ] -> 'e' circumflex\n '\\x5e': '\\u00ee', // ^ -> 'i' circumflex\n '\\x5f': '\\u00e8', // _ -> 'e' grave\n\n '\\x60': '\\u00f4', // ` -> 'o' circumflex\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00fc', // } -> 'u' umlaut\n '\\x7e': '\\u00fb', // ~ -> 'u' circumflex\n });\nlib.resource.add('hterm/audio/bell', 'audio/ogg;base64',\n'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' +\n'zinmkFLKMeUcUko5p5xTzjkIHYTKMQadgxAppRxTzinHHITMQeWcg9BBKAAAIMABACDAQig0ZEUA' +\n'ECcA4HAkz5M0SxQlSxNFzxRl1xNN15U0zTQ1UVRVyxNV1VRV2xZNVbYlTRNNTfRUVRNFVRVV05ZN' +\n'VbVtzzRl2VRV3RZV1bZl2xZ+V5Z13zNNWRZV1dZNVbV115Z9X9ZtXZg0zTQ1UVRVTRRV1VRV2zZV' +\n'17Y1UXRVUVVlWVRVWXZlWfdVV9Z9SxRV1VNN2RVVVbZV2fVtVZZ94XRVXVdl2fdVWRZ+W9eF4fZ9' +\n'4RhV1dZN19V1VZZ9YdZlYbd13yhpmmlqoqiqmiiqqqmqtm2qrq1bouiqoqrKsmeqrqzKsq+rrmzr' +\n'miiqrqiqsiyqqiyrsqz7qizrtqiquq3KsrCbrqvrtu8LwyzrunCqrq6rsuz7qizruq3rxnHrujB8' +\n'pinLpqvquqm6um7runHMtm0co6rqvirLwrDKsu/rui+0dSFRVXXdlF3jV2VZ921fd55b94WybTu/' +\n'rfvKceu60vg5z28cubZtHLNuG7+t+8bzKz9hOI6lZ5q2baqqrZuqq+uybivDrOtCUVV9XZVl3zdd' +\n'WRdu3zeOW9eNoqrquirLvrDKsjHcxm8cuzAcXds2jlvXnbKtC31jyPcJz2vbxnH7OuP2daOvDAnH' +\n'jwAAgAEHAIAAE8pAoSErAoA4AQAGIecUUxAqxSB0EFLqIKRUMQYhc05KxRyUUEpqIZTUKsYgVI5J' +\n'yJyTEkpoKZTSUgehpVBKa6GU1lJrsabUYu0gpBZKaS2U0lpqqcbUWowRYxAy56RkzkkJpbQWSmkt' +\n'c05K56CkDkJKpaQUS0otVsxJyaCj0kFIqaQSU0mptVBKa6WkFktKMbYUW24x1hxKaS2kEltJKcYU' +\n'U20txpojxiBkzknJnJMSSmktlNJa5ZiUDkJKmYOSSkqtlZJSzJyT0kFIqYOOSkkptpJKTKGU1kpK' +\n'sYVSWmwx1pxSbDWU0lpJKcaSSmwtxlpbTLV1EFoLpbQWSmmttVZraq3GUEprJaUYS0qxtRZrbjHm' +\n'GkppraQSW0mpxRZbji3GmlNrNabWam4x5hpbbT3WmnNKrdbUUo0txppjbb3VmnvvIKQWSmktlNJi' +\n'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' +\n'm2L/kruPM6Q7oz4tvDQy+bZ3HzOi+gNHA4DZEgA=' +\n''\n);\n\nlib.resource.add('hterm/images/icon-96', 'image/png;base64',\n'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' +\n'ODoyNC0wNDowMNba8BsAAAAASUVORK5CYII=' +\n''\n);\n\nlib.resource.add('hterm/concat/date', 'text/plain',\n'Tue, 22 Aug 2017 06:42:31 +0000' +\n''\n);\n\nlib.resource.add('hterm/changelog/version', 'text/plain',\n'1.70' +\n''\n);\n\nlib.resource.add('hterm/changelog/date', 'text/plain',\n'2017-08-16' +\n''\n);\n\nlib.resource.add('hterm/git/HEAD', 'text/plain',\n'git rev-parse HEAD' +\n''\n);\n\n// SOURCE FILE: hterm/js/hterm_export.js\nmodule.exports = {\n hterm: hterm,\n lib: lib\n};\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/libapps/hterm/dist/js/hterm_module.js\n// module id = 14\n// module chunks = 0","import { TermHterm } from \"./hterm\";\nimport { TermXterm } from \"./xterm\";\nimport { Terminal, WebTTY, protocols } from \"./webtty\";\nimport { ConnectionFactory } from \"./websocket\";\n\n// @TODO remove these\ndeclare var gotty_auth_token: string;\ndeclare var gotty_term: string;\n\nconst elem = document.getElementById(\"terminal\")\n\nif (elem !== null) {\n var term: Terminal;\n if (gotty_term == \"hterm\") {\n term = new TermHterm(elem);\n } else {\n term = new TermXterm(elem);\n }\n const httpsEnabled = window.location.protocol == \"https:\";\n const url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws';\n const args = window.location.search;\n const factory = new ConnectionFactory(url, protocols);\n const wt = new WebTTY(term, factory, args, gotty_auth_token);\n const closer = wt.open();\n\n window.addEventListener(\"unload\", () => {\n closer();\n term.close();\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CompositionHelper = (function () {\n function CompositionHelper(textarea, compositionView, terminal) {\n this.textarea = textarea;\n this.compositionView = compositionView;\n this.terminal = terminal;\n this.isComposing = false;\n this.isSendingComposition = false;\n this.compositionPosition = { start: null, end: null };\n }\n CompositionHelper.prototype.compositionstart = function () {\n this.isComposing = true;\n this.compositionPosition.start = this.textarea.value.length;\n this.compositionView.textContent = '';\n this.compositionView.classList.add('active');\n };\n CompositionHelper.prototype.compositionupdate = function (ev) {\n var _this = this;\n this.compositionView.textContent = ev.data;\n this.updateCompositionElements();\n setTimeout(function () {\n _this.compositionPosition.end = _this.textarea.value.length;\n }, 0);\n };\n CompositionHelper.prototype.compositionend = function () {\n this.finalizeComposition(true);\n };\n CompositionHelper.prototype.keydown = function (ev) {\n if (this.isComposing || this.isSendingComposition) {\n if (ev.keyCode === 229) {\n return false;\n }\n else if (ev.keyCode === 16 || ev.keyCode === 17 || ev.keyCode === 18) {\n return false;\n }\n else {\n this.finalizeComposition(false);\n }\n }\n if (ev.keyCode === 229) {\n this.handleAnyTextareaChanges();\n return false;\n }\n return true;\n };\n CompositionHelper.prototype.finalizeComposition = function (waitForPropogation) {\n var _this = this;\n this.compositionView.classList.remove('active');\n this.isComposing = false;\n this.clearTextareaPosition();\n if (!waitForPropogation) {\n this.isSendingComposition = false;\n var input = this.textarea.value.substring(this.compositionPosition.start, this.compositionPosition.end);\n this.terminal.handler(input);\n }\n else {\n var currentCompositionPosition_1 = {\n start: this.compositionPosition.start,\n end: this.compositionPosition.end,\n };\n this.isSendingComposition = true;\n setTimeout(function () {\n if (_this.isSendingComposition) {\n _this.isSendingComposition = false;\n var input = void 0;\n if (_this.isComposing) {\n input = _this.textarea.value.substring(currentCompositionPosition_1.start, currentCompositionPosition_1.end);\n }\n else {\n input = _this.textarea.value.substring(currentCompositionPosition_1.start);\n }\n _this.terminal.handler(input);\n }\n }, 0);\n }\n };\n CompositionHelper.prototype.handleAnyTextareaChanges = function () {\n var _this = this;\n var oldValue = this.textarea.value;\n setTimeout(function () {\n if (!_this.isComposing) {\n var newValue = _this.textarea.value;\n var diff = newValue.replace(oldValue, '');\n if (diff.length > 0) {\n _this.terminal.handler(diff);\n }\n }\n }, 0);\n };\n CompositionHelper.prototype.updateCompositionElements = function (dontRecurse) {\n var _this = this;\n if (!this.isComposing) {\n return;\n }\n var cursor = this.terminal.element.querySelector('.terminal-cursor');\n if (cursor) {\n var xtermRows = this.terminal.element.querySelector('.xterm-rows');\n var cursorTop = xtermRows.offsetTop + cursor.offsetTop;\n this.compositionView.style.left = cursor.offsetLeft + 'px';\n this.compositionView.style.top = cursorTop + 'px';\n this.compositionView.style.height = cursor.offsetHeight + 'px';\n this.compositionView.style.lineHeight = cursor.offsetHeight + 'px';\n var compositionViewBounds = this.compositionView.getBoundingClientRect();\n this.textarea.style.left = cursor.offsetLeft + 'px';\n this.textarea.style.top = cursorTop + 'px';\n this.textarea.style.width = compositionViewBounds.width + 'px';\n this.textarea.style.height = compositionViewBounds.height + 'px';\n this.textarea.style.lineHeight = compositionViewBounds.height + 'px';\n }\n if (!dontRecurse) {\n setTimeout(function () { return _this.updateCompositionElements(true); }, 0);\n }\n };\n ;\n CompositionHelper.prototype.clearTextareaPosition = function () {\n this.textarea.style.left = '';\n this.textarea.style.top = '';\n };\n ;\n return CompositionHelper;\n}());\nexports.CompositionHelper = CompositionHelper;\n\n//# sourceMappingURL=CompositionHelper.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/CompositionHelper.js\n// module id = 16\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar Charsets_1 = require(\"./Charsets\");\nvar InputHandler = (function () {\n function InputHandler(_terminal) {\n this._terminal = _terminal;\n }\n InputHandler.prototype.addChar = function (char, code) {\n if (char >= ' ') {\n var ch_width = wcwidth(code);\n if (this._terminal.charset && this._terminal.charset[char]) {\n char = this._terminal.charset[char];\n }\n var row = this._terminal.y + this._terminal.ybase;\n if (!ch_width && this._terminal.x) {\n if (this._terminal.lines.get(row)[this._terminal.x - 1]) {\n if (!this._terminal.lines.get(row)[this._terminal.x - 1][2]) {\n if (this._terminal.lines.get(row)[this._terminal.x - 2])\n this._terminal.lines.get(row)[this._terminal.x - 2][1] += char;\n }\n else {\n this._terminal.lines.get(row)[this._terminal.x - 1][1] += char;\n }\n this._terminal.updateRange(this._terminal.y);\n }\n return;\n }\n if (this._terminal.x + ch_width - 1 >= this._terminal.cols) {\n if (this._terminal.wraparoundMode) {\n this._terminal.x = 0;\n this._terminal.y++;\n if (this._terminal.y > this._terminal.scrollBottom) {\n this._terminal.y--;\n this._terminal.scroll(true);\n }\n else {\n this._terminal.lines.get(this._terminal.y).isWrapped = true;\n }\n }\n else {\n if (ch_width === 2)\n return;\n }\n }\n row = this._terminal.y + this._terminal.ybase;\n if (this._terminal.insertMode) {\n for (var moves = 0; moves < ch_width; ++moves) {\n var removed = this._terminal.lines.get(this._terminal.y + this._terminal.ybase).pop();\n if (removed[2] === 0\n && this._terminal.lines.get(row)[this._terminal.cols - 2]\n && this._terminal.lines.get(row)[this._terminal.cols - 2][2] === 2) {\n this._terminal.lines.get(row)[this._terminal.cols - 2] = [this._terminal.curAttr, ' ', 1];\n }\n this._terminal.lines.get(row).splice(this._terminal.x, 0, [this._terminal.curAttr, ' ', 1]);\n }\n }\n this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, char, ch_width];\n this._terminal.x++;\n this._terminal.updateRange(this._terminal.y);\n if (ch_width === 2) {\n this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, '', 0];\n this._terminal.x++;\n }\n }\n };\n InputHandler.prototype.bell = function () {\n var _this = this;\n if (!this._terminal.visualBell) {\n return;\n }\n this._terminal.element.style.borderColor = 'white';\n setTimeout(function () { return _this._terminal.element.style.borderColor = ''; }, 10);\n if (this._terminal.popOnBell) {\n this._terminal.focus();\n }\n };\n InputHandler.prototype.lineFeed = function () {\n if (this._terminal.convertEol) {\n this._terminal.x = 0;\n }\n this._terminal.y++;\n if (this._terminal.y > this._terminal.scrollBottom) {\n this._terminal.y--;\n this._terminal.scroll();\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.carriageReturn = function () {\n this._terminal.x = 0;\n };\n InputHandler.prototype.backspace = function () {\n if (this._terminal.x > 0) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.tab = function () {\n this._terminal.x = this._terminal.nextStop();\n };\n InputHandler.prototype.shiftOut = function () {\n this._terminal.setgLevel(1);\n };\n InputHandler.prototype.shiftIn = function () {\n this._terminal.setgLevel(0);\n };\n InputHandler.prototype.insertChars = function (params) {\n var param, row, j, ch;\n param = params[0];\n if (param < 1)\n param = 1;\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.x;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param-- && j < this._terminal.cols) {\n this._terminal.lines.get(row).splice(j++, 0, ch);\n this._terminal.lines.get(row).pop();\n }\n };\n InputHandler.prototype.cursorUp = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y -= param;\n if (this._terminal.y < 0) {\n this._terminal.y = 0;\n }\n };\n InputHandler.prototype.cursorDown = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.cursorForward = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x += param;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.cursorBackward = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n this._terminal.x -= param;\n if (this._terminal.x < 0) {\n this._terminal.x = 0;\n }\n };\n InputHandler.prototype.cursorNextLine = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n this._terminal.x = 0;\n };\n ;\n InputHandler.prototype.cursorPrecedingLine = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y -= param;\n if (this._terminal.y < 0) {\n this._terminal.y = 0;\n }\n this._terminal.x = 0;\n };\n ;\n InputHandler.prototype.cursorCharAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x = param - 1;\n };\n InputHandler.prototype.cursorPosition = function (params) {\n var row, col;\n row = params[0] - 1;\n if (params.length >= 2) {\n col = params[1] - 1;\n }\n else {\n col = 0;\n }\n if (row < 0) {\n row = 0;\n }\n else if (row >= this._terminal.rows) {\n row = this._terminal.rows - 1;\n }\n if (col < 0) {\n col = 0;\n }\n else if (col >= this._terminal.cols) {\n col = this._terminal.cols - 1;\n }\n this._terminal.x = col;\n this._terminal.y = row;\n };\n InputHandler.prototype.cursorForwardTab = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.x = this._terminal.nextStop();\n }\n };\n InputHandler.prototype.eraseInDisplay = function (params) {\n var j;\n switch (params[0]) {\n case 0:\n this._terminal.eraseRight(this._terminal.x, this._terminal.y);\n j = this._terminal.y + 1;\n for (; j < this._terminal.rows; j++) {\n this._terminal.eraseLine(j);\n }\n break;\n case 1:\n this._terminal.eraseLeft(this._terminal.x, this._terminal.y);\n j = this._terminal.y;\n while (j--) {\n this._terminal.eraseLine(j);\n }\n break;\n case 2:\n j = this._terminal.rows;\n while (j--)\n this._terminal.eraseLine(j);\n break;\n case 3:\n var scrollBackSize = this._terminal.lines.length - this._terminal.rows;\n if (scrollBackSize > 0) {\n this._terminal.lines.trimStart(scrollBackSize);\n this._terminal.ybase = Math.max(this._terminal.ybase - scrollBackSize, 0);\n this._terminal.ydisp = Math.max(this._terminal.ydisp - scrollBackSize, 0);\n }\n break;\n }\n };\n InputHandler.prototype.eraseInLine = function (params) {\n switch (params[0]) {\n case 0:\n this._terminal.eraseRight(this._terminal.x, this._terminal.y);\n break;\n case 1:\n this._terminal.eraseLeft(this._terminal.x, this._terminal.y);\n break;\n case 2:\n this._terminal.eraseLine(this._terminal.y);\n break;\n }\n };\n InputHandler.prototype.insertLines = function (params) {\n var param, row, j;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.rows - 1 - this._terminal.scrollBottom;\n j = this._terminal.rows - 1 + this._terminal.ybase - j + 1;\n while (param--) {\n if (this._terminal.lines.length === this._terminal.lines.maxLength) {\n this._terminal.lines.trimStart(1);\n this._terminal.ybase--;\n this._terminal.ydisp--;\n row--;\n j--;\n }\n this._terminal.lines.splice(row, 0, this._terminal.blankLine(true));\n this._terminal.lines.splice(j, 1);\n }\n this._terminal.updateRange(this._terminal.y);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.deleteLines = function (params) {\n var param, row, j;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.rows - 1 - this._terminal.scrollBottom;\n j = this._terminal.rows - 1 + this._terminal.ybase - j;\n while (param--) {\n if (this._terminal.lines.length === this._terminal.lines.maxLength) {\n this._terminal.lines.trimStart(1);\n this._terminal.ybase -= 1;\n this._terminal.ydisp -= 1;\n }\n this._terminal.lines.splice(j + 1, 0, this._terminal.blankLine(true));\n this._terminal.lines.splice(row, 1);\n }\n this._terminal.updateRange(this._terminal.y);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.deleteChars = function (params) {\n var param, row, ch;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param--) {\n this._terminal.lines.get(row).splice(this._terminal.x, 1);\n this._terminal.lines.get(row).push(ch);\n }\n };\n InputHandler.prototype.scrollUp = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 1);\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 0, this._terminal.blankLine());\n }\n this._terminal.updateRange(this._terminal.scrollTop);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.scrollDown = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 1);\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 0, this._terminal.blankLine());\n }\n this._terminal.updateRange(this._terminal.scrollTop);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.eraseChars = function (params) {\n var param, row, j, ch;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.x;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param-- && j < this._terminal.cols) {\n this._terminal.lines.get(row)[j++] = ch;\n }\n };\n InputHandler.prototype.cursorBackwardTab = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.x = this._terminal.prevStop();\n }\n };\n InputHandler.prototype.charPosAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x = param - 1;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.HPositionRelative = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x += param;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.repeatPrecedingCharacter = function (params) {\n var param = params[0] || 1, line = this._terminal.lines.get(this._terminal.ybase + this._terminal.y), ch = line[this._terminal.x - 1] || [this._terminal.defAttr, ' ', 1];\n while (param--) {\n line[this._terminal.x++] = ch;\n }\n };\n InputHandler.prototype.sendDeviceAttributes = function (params) {\n if (params[0] > 0) {\n return;\n }\n if (!this._terminal.prefix) {\n if (this._terminal.is('xterm') || this._terminal.is('rxvt-unicode') || this._terminal.is('screen')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?1;2c');\n }\n else if (this._terminal.is('linux')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?6c');\n }\n }\n else if (this._terminal.prefix === '>') {\n if (this._terminal.is('xterm')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>0;276;0c');\n }\n else if (this._terminal.is('rxvt-unicode')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>85;95;0c');\n }\n else if (this._terminal.is('linux')) {\n this._terminal.send(params[0] + 'c');\n }\n else if (this._terminal.is('screen')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>83;40003;0c');\n }\n }\n };\n InputHandler.prototype.linePosAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y = param - 1;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n };\n InputHandler.prototype.VPositionRelative = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.HVPosition = function (params) {\n if (params[0] < 1)\n params[0] = 1;\n if (params[1] < 1)\n params[1] = 1;\n this._terminal.y = params[0] - 1;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n this._terminal.x = params[1] - 1;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.tabClear = function (params) {\n var param = params[0];\n if (param <= 0) {\n delete this._terminal.tabs[this._terminal.x];\n }\n else if (param === 3) {\n this._terminal.tabs = {};\n }\n };\n InputHandler.prototype.setMode = function (params) {\n if (params.length > 1) {\n for (var i = 0; i < params.length; i++) {\n this.setMode([params[i]]);\n }\n return;\n }\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 4:\n this._terminal.insertMode = true;\n break;\n case 20:\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 1:\n this._terminal.applicationCursor = true;\n break;\n case 2:\n this._terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(1, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(2, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(3, Charsets_1.DEFAULT_CHARSET);\n break;\n case 3:\n this._terminal.savedCols = this._terminal.cols;\n this._terminal.resize(132, this._terminal.rows);\n break;\n case 6:\n this._terminal.originMode = true;\n break;\n case 7:\n this._terminal.wraparoundMode = true;\n break;\n case 12:\n break;\n case 66:\n this._terminal.log('Serial port requested application keypad.');\n this._terminal.applicationKeypad = true;\n this._terminal.viewport.syncScrollArea();\n break;\n case 9:\n case 1000:\n case 1002:\n case 1003:\n this._terminal.x10Mouse = params[0] === 9;\n this._terminal.vt200Mouse = params[0] === 1000;\n this._terminal.normalMouse = params[0] > 1000;\n this._terminal.mouseEvents = true;\n this._terminal.element.classList.add('enable-mouse-events');\n this._terminal.selectionManager.disable();\n this._terminal.log('Binding to mouse events.');\n break;\n case 1004:\n this._terminal.sendFocus = true;\n break;\n case 1005:\n this._terminal.utfMouse = true;\n break;\n case 1006:\n this._terminal.sgrMouse = true;\n break;\n case 1015:\n this._terminal.urxvtMouse = true;\n break;\n case 25:\n this._terminal.cursorHidden = false;\n break;\n case 1049:\n ;\n case 47:\n case 1047:\n if (!this._terminal.normal) {\n var normal = {\n lines: this._terminal.lines,\n ybase: this._terminal.ybase,\n ydisp: this._terminal.ydisp,\n x: this._terminal.x,\n y: this._terminal.y,\n scrollTop: this._terminal.scrollTop,\n scrollBottom: this._terminal.scrollBottom,\n tabs: this._terminal.tabs\n };\n this._terminal.reset();\n this._terminal.viewport.syncScrollArea();\n this._terminal.normal = normal;\n this._terminal.showCursor();\n }\n break;\n }\n }\n };\n InputHandler.prototype.resetMode = function (params) {\n if (params.length > 1) {\n for (var i = 0; i < params.length; i++) {\n this.resetMode([params[i]]);\n }\n return;\n }\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 4:\n this._terminal.insertMode = false;\n break;\n case 20:\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 1:\n this._terminal.applicationCursor = false;\n break;\n case 3:\n if (this._terminal.cols === 132 && this._terminal.savedCols) {\n this._terminal.resize(this._terminal.savedCols, this._terminal.rows);\n }\n delete this._terminal.savedCols;\n break;\n case 6:\n this._terminal.originMode = false;\n break;\n case 7:\n this._terminal.wraparoundMode = false;\n break;\n case 12:\n break;\n case 66:\n this._terminal.log('Switching back to normal keypad.');\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n break;\n case 9:\n case 1000:\n case 1002:\n case 1003:\n this._terminal.x10Mouse = false;\n this._terminal.vt200Mouse = false;\n this._terminal.normalMouse = false;\n this._terminal.mouseEvents = false;\n this._terminal.element.classList.remove('enable-mouse-events');\n this._terminal.selectionManager.enable();\n break;\n case 1004:\n this._terminal.sendFocus = false;\n break;\n case 1005:\n this._terminal.utfMouse = false;\n break;\n case 1006:\n this._terminal.sgrMouse = false;\n break;\n case 1015:\n this._terminal.urxvtMouse = false;\n break;\n case 25:\n this._terminal.cursorHidden = true;\n break;\n case 1049:\n ;\n case 47:\n case 1047:\n if (this._terminal.normal) {\n this._terminal.lines = this._terminal.normal.lines;\n this._terminal.ybase = this._terminal.normal.ybase;\n this._terminal.ydisp = this._terminal.normal.ydisp;\n this._terminal.x = this._terminal.normal.x;\n this._terminal.y = this._terminal.normal.y;\n this._terminal.scrollTop = this._terminal.normal.scrollTop;\n this._terminal.scrollBottom = this._terminal.normal.scrollBottom;\n this._terminal.tabs = this._terminal.normal.tabs;\n this._terminal.normal = null;\n this._terminal.selectionManager.setBuffer(this._terminal.lines);\n this._terminal.refresh(0, this._terminal.rows - 1);\n this._terminal.viewport.syncScrollArea();\n this._terminal.showCursor();\n }\n break;\n }\n }\n };\n InputHandler.prototype.charAttributes = function (params) {\n if (params.length === 1 && params[0] === 0) {\n this._terminal.curAttr = this._terminal.defAttr;\n return;\n }\n var l = params.length, i = 0, flags = this._terminal.curAttr >> 18, fg = (this._terminal.curAttr >> 9) & 0x1ff, bg = this._terminal.curAttr & 0x1ff, p;\n for (; i < l; i++) {\n p = params[i];\n if (p >= 30 && p <= 37) {\n fg = p - 30;\n }\n else if (p >= 40 && p <= 47) {\n bg = p - 40;\n }\n else if (p >= 90 && p <= 97) {\n p += 8;\n fg = p - 90;\n }\n else if (p >= 100 && p <= 107) {\n p += 8;\n bg = p - 100;\n }\n else if (p === 0) {\n flags = this._terminal.defAttr >> 18;\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n bg = this._terminal.defAttr & 0x1ff;\n }\n else if (p === 1) {\n flags |= 1;\n }\n else if (p === 4) {\n flags |= 2;\n }\n else if (p === 5) {\n flags |= 4;\n }\n else if (p === 7) {\n flags |= 8;\n }\n else if (p === 8) {\n flags |= 16;\n }\n else if (p === 22) {\n flags &= ~1;\n }\n else if (p === 24) {\n flags &= ~2;\n }\n else if (p === 25) {\n flags &= ~4;\n }\n else if (p === 27) {\n flags &= ~8;\n }\n else if (p === 28) {\n flags &= ~16;\n }\n else if (p === 39) {\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n }\n else if (p === 49) {\n bg = this._terminal.defAttr & 0x1ff;\n }\n else if (p === 38) {\n if (params[i + 1] === 2) {\n i += 2;\n fg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff);\n if (fg === -1)\n fg = 0x1ff;\n i += 2;\n }\n else if (params[i + 1] === 5) {\n i += 2;\n p = params[i] & 0xff;\n fg = p;\n }\n }\n else if (p === 48) {\n if (params[i + 1] === 2) {\n i += 2;\n bg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff);\n if (bg === -1)\n bg = 0x1ff;\n i += 2;\n }\n else if (params[i + 1] === 5) {\n i += 2;\n p = params[i] & 0xff;\n bg = p;\n }\n }\n else if (p === 100) {\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n bg = this._terminal.defAttr & 0x1ff;\n }\n else {\n this._terminal.error('Unknown SGR attribute: %d.', p);\n }\n }\n this._terminal.curAttr = (flags << 18) | (fg << 9) | bg;\n };\n InputHandler.prototype.deviceStatus = function (params) {\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 5:\n this._terminal.send(EscapeSequences_1.C0.ESC + '[0n');\n break;\n case 6:\n this._terminal.send(EscapeSequences_1.C0.ESC + '['\n + (this._terminal.y + 1)\n + ';'\n + (this._terminal.x + 1)\n + 'R');\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 6:\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?'\n + (this._terminal.y + 1)\n + ';'\n + (this._terminal.x + 1)\n + 'R');\n break;\n case 15:\n break;\n case 25:\n break;\n case 26:\n break;\n case 53:\n break;\n }\n }\n };\n InputHandler.prototype.softReset = function (params) {\n this._terminal.cursorHidden = false;\n this._terminal.insertMode = false;\n this._terminal.originMode = false;\n this._terminal.wraparoundMode = true;\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n this._terminal.applicationCursor = false;\n this._terminal.scrollTop = 0;\n this._terminal.scrollBottom = this._terminal.rows - 1;\n this._terminal.curAttr = this._terminal.defAttr;\n this._terminal.x = this._terminal.y = 0;\n this._terminal.charset = null;\n this._terminal.glevel = 0;\n this._terminal.charsets = [null];\n };\n InputHandler.prototype.setCursorStyle = function (params) {\n var param = params[0] < 1 ? 1 : params[0];\n switch (param) {\n case 1:\n case 2:\n this._terminal.setOption('cursorStyle', 'block');\n break;\n case 3:\n case 4:\n this._terminal.setOption('cursorStyle', 'underline');\n break;\n case 5:\n case 6:\n this._terminal.setOption('cursorStyle', 'bar');\n break;\n }\n var isBlinking = param % 2 === 1;\n this._terminal.setOption('cursorBlink', isBlinking);\n };\n InputHandler.prototype.setScrollRegion = function (params) {\n if (this._terminal.prefix)\n return;\n this._terminal.scrollTop = (params[0] || 1) - 1;\n this._terminal.scrollBottom = (params[1] && params[1] <= this._terminal.rows ? params[1] : this._terminal.rows) - 1;\n this._terminal.x = 0;\n this._terminal.y = 0;\n };\n InputHandler.prototype.saveCursor = function (params) {\n this._terminal.savedX = this._terminal.x;\n this._terminal.savedY = this._terminal.y;\n };\n InputHandler.prototype.restoreCursor = function (params) {\n this._terminal.x = this._terminal.savedX || 0;\n this._terminal.y = this._terminal.savedY || 0;\n };\n return InputHandler;\n}());\nexports.InputHandler = InputHandler;\nvar wcwidth = (function (opts) {\n var COMBINING = [\n [0x0300, 0x036F], [0x0483, 0x0486], [0x0488, 0x0489],\n [0x0591, 0x05BD], [0x05BF, 0x05BF], [0x05C1, 0x05C2],\n [0x05C4, 0x05C5], [0x05C7, 0x05C7], [0x0600, 0x0603],\n [0x0610, 0x0615], [0x064B, 0x065E], [0x0670, 0x0670],\n [0x06D6, 0x06E4], [0x06E7, 0x06E8], [0x06EA, 0x06ED],\n [0x070F, 0x070F], [0x0711, 0x0711], [0x0730, 0x074A],\n [0x07A6, 0x07B0], [0x07EB, 0x07F3], [0x0901, 0x0902],\n [0x093C, 0x093C], [0x0941, 0x0948], [0x094D, 0x094D],\n [0x0951, 0x0954], [0x0962, 0x0963], [0x0981, 0x0981],\n [0x09BC, 0x09BC], [0x09C1, 0x09C4], [0x09CD, 0x09CD],\n [0x09E2, 0x09E3], [0x0A01, 0x0A02], [0x0A3C, 0x0A3C],\n [0x0A41, 0x0A42], [0x0A47, 0x0A48], [0x0A4B, 0x0A4D],\n [0x0A70, 0x0A71], [0x0A81, 0x0A82], [0x0ABC, 0x0ABC],\n [0x0AC1, 0x0AC5], [0x0AC7, 0x0AC8], [0x0ACD, 0x0ACD],\n [0x0AE2, 0x0AE3], [0x0B01, 0x0B01], [0x0B3C, 0x0B3C],\n [0x0B3F, 0x0B3F], [0x0B41, 0x0B43], [0x0B4D, 0x0B4D],\n [0x0B56, 0x0B56], [0x0B82, 0x0B82], [0x0BC0, 0x0BC0],\n [0x0BCD, 0x0BCD], [0x0C3E, 0x0C40], [0x0C46, 0x0C48],\n [0x0C4A, 0x0C4D], [0x0C55, 0x0C56], [0x0CBC, 0x0CBC],\n [0x0CBF, 0x0CBF], [0x0CC6, 0x0CC6], [0x0CCC, 0x0CCD],\n [0x0CE2, 0x0CE3], [0x0D41, 0x0D43], [0x0D4D, 0x0D4D],\n [0x0DCA, 0x0DCA], [0x0DD2, 0x0DD4], [0x0DD6, 0x0DD6],\n [0x0E31, 0x0E31], [0x0E34, 0x0E3A], [0x0E47, 0x0E4E],\n [0x0EB1, 0x0EB1], [0x0EB4, 0x0EB9], [0x0EBB, 0x0EBC],\n [0x0EC8, 0x0ECD], [0x0F18, 0x0F19], [0x0F35, 0x0F35],\n [0x0F37, 0x0F37], [0x0F39, 0x0F39], [0x0F71, 0x0F7E],\n [0x0F80, 0x0F84], [0x0F86, 0x0F87], [0x0F90, 0x0F97],\n [0x0F99, 0x0FBC], [0x0FC6, 0x0FC6], [0x102D, 0x1030],\n [0x1032, 0x1032], [0x1036, 0x1037], [0x1039, 0x1039],\n [0x1058, 0x1059], [0x1160, 0x11FF], [0x135F, 0x135F],\n [0x1712, 0x1714], [0x1732, 0x1734], [0x1752, 0x1753],\n [0x1772, 0x1773], [0x17B4, 0x17B5], [0x17B7, 0x17BD],\n [0x17C6, 0x17C6], [0x17C9, 0x17D3], [0x17DD, 0x17DD],\n [0x180B, 0x180D], [0x18A9, 0x18A9], [0x1920, 0x1922],\n [0x1927, 0x1928], [0x1932, 0x1932], [0x1939, 0x193B],\n [0x1A17, 0x1A18], [0x1B00, 0x1B03], [0x1B34, 0x1B34],\n [0x1B36, 0x1B3A], [0x1B3C, 0x1B3C], [0x1B42, 0x1B42],\n [0x1B6B, 0x1B73], [0x1DC0, 0x1DCA], [0x1DFE, 0x1DFF],\n [0x200B, 0x200F], [0x202A, 0x202E], [0x2060, 0x2063],\n [0x206A, 0x206F], [0x20D0, 0x20EF], [0x302A, 0x302F],\n [0x3099, 0x309A], [0xA806, 0xA806], [0xA80B, 0xA80B],\n [0xA825, 0xA826], [0xFB1E, 0xFB1E], [0xFE00, 0xFE0F],\n [0xFE20, 0xFE23], [0xFEFF, 0xFEFF], [0xFFF9, 0xFFFB],\n [0x10A01, 0x10A03], [0x10A05, 0x10A06], [0x10A0C, 0x10A0F],\n [0x10A38, 0x10A3A], [0x10A3F, 0x10A3F], [0x1D167, 0x1D169],\n [0x1D173, 0x1D182], [0x1D185, 0x1D18B], [0x1D1AA, 0x1D1AD],\n [0x1D242, 0x1D244], [0xE0001, 0xE0001], [0xE0020, 0xE007F],\n [0xE0100, 0xE01EF]\n ];\n function bisearch(ucs) {\n var min = 0;\n var max = COMBINING.length - 1;\n var mid;\n if (ucs < COMBINING[0][0] || ucs > COMBINING[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > COMBINING[mid][1])\n min = mid + 1;\n else if (ucs < COMBINING[mid][0])\n max = mid - 1;\n else\n return true;\n }\n return false;\n }\n function wcwidth(ucs) {\n if (ucs === 0)\n return opts.nul;\n if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0))\n return opts.control;\n if (bisearch(ucs))\n return 0;\n if (isWide(ucs)) {\n return 2;\n }\n return 1;\n }\n function isWide(ucs) {\n return (ucs >= 0x1100 && (ucs <= 0x115f ||\n ucs === 0x2329 ||\n ucs === 0x232a ||\n (ucs >= 0x2e80 && ucs <= 0xa4cf && ucs !== 0x303f) ||\n (ucs >= 0xac00 && ucs <= 0xd7a3) ||\n (ucs >= 0xf900 && ucs <= 0xfaff) ||\n (ucs >= 0xfe10 && ucs <= 0xfe19) ||\n (ucs >= 0xfe30 && ucs <= 0xfe6f) ||\n (ucs >= 0xff00 && ucs <= 0xff60) ||\n (ucs >= 0xffe0 && ucs <= 0xffe6) ||\n (ucs >= 0x20000 && ucs <= 0x2fffd) ||\n (ucs >= 0x30000 && ucs <= 0x3fffd)));\n }\n return wcwidth;\n})({ nul: 0, control: 0 });\n\n//# sourceMappingURL=InputHandler.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/InputHandler.js\n// module id = 17\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar INVALID_LINK_CLASS = 'xterm-invalid-link';\nvar protocolClause = '(https?:\\\\/\\\\/)';\nvar domainCharacterSet = '[\\\\da-z\\\\.-]+';\nvar negatedDomainCharacterSet = '[^\\\\da-z\\\\.-]+';\nvar domainBodyClause = '(' + domainCharacterSet + ')';\nvar tldClause = '([a-z\\\\.]{2,6})';\nvar ipClause = '((\\\\d{1,3}\\\\.){3}\\\\d{1,3})';\nvar localHostClause = '(localhost)';\nvar portClause = '(:\\\\d{1,5})';\nvar hostClause = '((' + domainBodyClause + '\\\\.' + tldClause + ')|' + ipClause + '|' + localHostClause + ')' + portClause + '?';\nvar pathClause = '(\\\\/[\\\\/\\\\w\\\\.\\\\-%~]*)*';\nvar queryStringHashFragmentCharacterSet = '[0-9\\\\w\\\\[\\\\]\\\\(\\\\)\\\\/\\\\?\\\\!#@$%&\\'*+,:;~\\\\=\\\\.\\\\-]*';\nvar queryStringClause = '(\\\\?' + queryStringHashFragmentCharacterSet + ')?';\nvar hashFragmentClause = '(#' + queryStringHashFragmentCharacterSet + ')?';\nvar negatedPathCharacterSet = '[^\\\\/\\\\w\\\\.\\\\-%]+';\nvar bodyClause = hostClause + pathClause + queryStringClause + hashFragmentClause;\nvar start = '(?:^|' + negatedDomainCharacterSet + ')(';\nvar end = ')($|' + negatedPathCharacterSet + ')';\nvar strictUrlRegex = new RegExp(start + protocolClause + bodyClause + end);\nvar HYPERTEXT_LINK_MATCHER_ID = 0;\nvar Linkifier = (function () {\n function Linkifier() {\n this._nextLinkMatcherId = HYPERTEXT_LINK_MATCHER_ID;\n this._rowTimeoutIds = [];\n this._linkMatchers = [];\n this.registerLinkMatcher(strictUrlRegex, null, { matchIndex: 1 });\n }\n Linkifier.prototype.attachToDom = function (document, rows) {\n this._document = document;\n this._rows = rows;\n };\n Linkifier.prototype.linkifyRow = function (rowIndex) {\n if (!this._document) {\n return;\n }\n var timeoutId = this._rowTimeoutIds[rowIndex];\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n this._rowTimeoutIds[rowIndex] = setTimeout(this._linkifyRow.bind(this, rowIndex), Linkifier.TIME_BEFORE_LINKIFY);\n };\n Linkifier.prototype.setHypertextLinkHandler = function (handler) {\n this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].handler = handler;\n };\n Linkifier.prototype.setHypertextValidationCallback = function (callback) {\n this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].validationCallback = callback;\n };\n Linkifier.prototype.registerLinkMatcher = function (regex, handler, options) {\n if (options === void 0) { options = {}; }\n if (this._nextLinkMatcherId !== HYPERTEXT_LINK_MATCHER_ID && !handler) {\n throw new Error('handler must be defined');\n }\n var matcher = {\n id: this._nextLinkMatcherId++,\n regex: regex,\n handler: handler,\n matchIndex: options.matchIndex,\n validationCallback: options.validationCallback,\n priority: options.priority || 0\n };\n this._addLinkMatcherToList(matcher);\n return matcher.id;\n };\n Linkifier.prototype._addLinkMatcherToList = function (matcher) {\n if (this._linkMatchers.length === 0) {\n this._linkMatchers.push(matcher);\n return;\n }\n for (var i = this._linkMatchers.length - 1; i >= 0; i--) {\n if (matcher.priority <= this._linkMatchers[i].priority) {\n this._linkMatchers.splice(i + 1, 0, matcher);\n return;\n }\n }\n this._linkMatchers.splice(0, 0, matcher);\n };\n Linkifier.prototype.deregisterLinkMatcher = function (matcherId) {\n for (var i = 1; i < this._linkMatchers.length; i++) {\n if (this._linkMatchers[i].id === matcherId) {\n this._linkMatchers.splice(i, 1);\n return true;\n }\n }\n return false;\n };\n Linkifier.prototype._linkifyRow = function (rowIndex) {\n var row = this._rows[rowIndex];\n if (!row) {\n return;\n }\n var text = row.textContent;\n for (var i = 0; i < this._linkMatchers.length; i++) {\n var matcher = this._linkMatchers[i];\n var linkElements = this._doLinkifyRow(row, matcher);\n if (linkElements.length > 0) {\n if (matcher.validationCallback) {\n var _loop_1 = function (j) {\n var element = linkElements[j];\n matcher.validationCallback(element.textContent, element, function (isValid) {\n if (!isValid) {\n element.classList.add(INVALID_LINK_CLASS);\n }\n });\n };\n for (var j = 0; j < linkElements.length; j++) {\n _loop_1(j);\n }\n }\n return;\n }\n }\n };\n Linkifier.prototype._doLinkifyRow = function (row, matcher) {\n var result = [];\n var isHttpLinkMatcher = matcher.id === HYPERTEXT_LINK_MATCHER_ID;\n var nodes = row.childNodes;\n var match = row.textContent.match(matcher.regex);\n if (!match || match.length === 0) {\n return result;\n }\n var uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];\n var rowStartIndex = match.index + uri.length;\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n var searchIndex = node.textContent.indexOf(uri);\n if (searchIndex >= 0) {\n var linkElement = this._createAnchorElement(uri, matcher.handler, isHttpLinkMatcher);\n if (node.textContent.length === uri.length) {\n if (node.nodeType === 3) {\n this._replaceNode(node, linkElement);\n }\n else {\n var element = node;\n if (element.nodeName === 'A') {\n return result;\n }\n element.innerHTML = '';\n element.appendChild(linkElement);\n }\n }\n else if (node.childNodes.length > 1) {\n for (var j = 0; j < node.childNodes.length; j++) {\n var childNode = node.childNodes[j];\n var childSearchIndex = childNode.textContent.indexOf(uri);\n if (childSearchIndex !== -1) {\n this._replaceNodeSubstringWithNode(childNode, linkElement, uri, childSearchIndex);\n break;\n }\n }\n }\n else {\n var nodesAdded = this._replaceNodeSubstringWithNode(node, linkElement, uri, searchIndex);\n i += nodesAdded;\n }\n result.push(linkElement);\n match = row.textContent.substring(rowStartIndex).match(matcher.regex);\n if (!match || match.length === 0) {\n return result;\n }\n uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];\n rowStartIndex += match.index + uri.length;\n }\n }\n return result;\n };\n Linkifier.prototype._createAnchorElement = function (uri, handler, isHypertextLinkHandler) {\n var element = this._document.createElement('a');\n element.textContent = uri;\n element.draggable = false;\n if (isHypertextLinkHandler) {\n element.href = uri;\n element.target = '_blank';\n element.addEventListener('click', function (event) {\n if (handler) {\n return handler(event, uri);\n }\n });\n }\n else {\n element.addEventListener('click', function (event) {\n if (element.classList.contains(INVALID_LINK_CLASS)) {\n return;\n }\n return handler(event, uri);\n });\n }\n return element;\n };\n Linkifier.prototype._replaceNode = function (oldNode) {\n var newNodes = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n newNodes[_i - 1] = arguments[_i];\n }\n var parent = oldNode.parentNode;\n for (var i = 0; i < newNodes.length; i++) {\n parent.insertBefore(newNodes[i], oldNode);\n }\n parent.removeChild(oldNode);\n };\n Linkifier.prototype._replaceNodeSubstringWithNode = function (targetNode, newNode, substring, substringIndex) {\n if (targetNode.childNodes.length === 1) {\n targetNode = targetNode.childNodes[0];\n }\n if (targetNode.nodeType !== 3) {\n throw new Error('targetNode must be a text node or only contain a single text node');\n }\n var fullText = targetNode.textContent;\n if (substringIndex === 0) {\n var rightText_1 = fullText.substring(substring.length);\n var rightTextNode_1 = this._document.createTextNode(rightText_1);\n this._replaceNode(targetNode, newNode, rightTextNode_1);\n return 0;\n }\n if (substringIndex === targetNode.textContent.length - substring.length) {\n var leftText_1 = fullText.substring(0, substringIndex);\n var leftTextNode_1 = this._document.createTextNode(leftText_1);\n this._replaceNode(targetNode, leftTextNode_1, newNode);\n return 0;\n }\n var leftText = fullText.substring(0, substringIndex);\n var leftTextNode = this._document.createTextNode(leftText);\n var rightText = fullText.substring(substringIndex + substring.length);\n var rightTextNode = this._document.createTextNode(rightText);\n this._replaceNode(targetNode, leftTextNode, newNode, rightTextNode);\n return 1;\n };\n return Linkifier;\n}());\nLinkifier.TIME_BEFORE_LINKIFY = 200;\nexports.Linkifier = Linkifier;\n\n//# sourceMappingURL=Linkifier.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Linkifier.js\n// module id = 18\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar Charsets_1 = require(\"./Charsets\");\nvar normalStateHandler = {};\nnormalStateHandler[EscapeSequences_1.C0.BEL] = function (parser, handler) { return handler.bell(); };\nnormalStateHandler[EscapeSequences_1.C0.LF] = function (parser, handler) { return handler.lineFeed(); };\nnormalStateHandler[EscapeSequences_1.C0.VT] = normalStateHandler[EscapeSequences_1.C0.LF];\nnormalStateHandler[EscapeSequences_1.C0.FF] = normalStateHandler[EscapeSequences_1.C0.LF];\nnormalStateHandler[EscapeSequences_1.C0.CR] = function (parser, handler) { return handler.carriageReturn(); };\nnormalStateHandler[EscapeSequences_1.C0.BS] = function (parser, handler) { return handler.backspace(); };\nnormalStateHandler[EscapeSequences_1.C0.HT] = function (parser, handler) { return handler.tab(); };\nnormalStateHandler[EscapeSequences_1.C0.SO] = function (parser, handler) { return handler.shiftOut(); };\nnormalStateHandler[EscapeSequences_1.C0.SI] = function (parser, handler) { return handler.shiftIn(); };\nnormalStateHandler[EscapeSequences_1.C0.ESC] = function (parser, handler) { return parser.setState(ParserState.ESCAPED); };\nvar escapedStateHandler = {};\nescapedStateHandler['['] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.CSI_PARAM);\n};\nescapedStateHandler[']'] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.OSC);\n};\nescapedStateHandler['P'] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.DCS);\n};\nescapedStateHandler['_'] = function (parser, terminal) {\n parser.setState(ParserState.IGNORE);\n};\nescapedStateHandler['^'] = function (parser, terminal) {\n parser.setState(ParserState.IGNORE);\n};\nescapedStateHandler['c'] = function (parser, terminal) {\n terminal.reset();\n};\nescapedStateHandler['E'] = function (parser, terminal) {\n terminal.x = 0;\n terminal.index();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['D'] = function (parser, terminal) {\n terminal.index();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['M'] = function (parser, terminal) {\n terminal.reverseIndex();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['%'] = function (parser, terminal) {\n terminal.setgLevel(0);\n terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET);\n parser.setState(ParserState.NORMAL);\n parser.skipNextChar();\n};\nescapedStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); };\nvar csiParamStateHandler = {};\ncsiParamStateHandler['?'] = function (parser) { return parser.setPrefix('?'); };\ncsiParamStateHandler['>'] = function (parser) { return parser.setPrefix('>'); };\ncsiParamStateHandler['!'] = function (parser) { return parser.setPrefix('!'); };\ncsiParamStateHandler['0'] = function (parser) { return parser.setParam(parser.getParam() * 10); };\ncsiParamStateHandler['1'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 1); };\ncsiParamStateHandler['2'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 2); };\ncsiParamStateHandler['3'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 3); };\ncsiParamStateHandler['4'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 4); };\ncsiParamStateHandler['5'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 5); };\ncsiParamStateHandler['6'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 6); };\ncsiParamStateHandler['7'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 7); };\ncsiParamStateHandler['8'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 8); };\ncsiParamStateHandler['9'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 9); };\ncsiParamStateHandler['$'] = function (parser) { return parser.setPostfix('$'); };\ncsiParamStateHandler['\"'] = function (parser) { return parser.setPostfix('\"'); };\ncsiParamStateHandler[' '] = function (parser) { return parser.setPostfix(' '); };\ncsiParamStateHandler['\\''] = function (parser) { return parser.setPostfix('\\''); };\ncsiParamStateHandler[';'] = function (parser) { return parser.finalizeParam(); };\ncsiParamStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); };\nvar csiStateHandler = {};\ncsiStateHandler['@'] = function (handler, params, prefix) { return handler.insertChars(params); };\ncsiStateHandler['A'] = function (handler, params, prefix) { return handler.cursorUp(params); };\ncsiStateHandler['B'] = function (handler, params, prefix) { return handler.cursorDown(params); };\ncsiStateHandler['C'] = function (handler, params, prefix) { return handler.cursorForward(params); };\ncsiStateHandler['D'] = function (handler, params, prefix) { return handler.cursorBackward(params); };\ncsiStateHandler['E'] = function (handler, params, prefix) { return handler.cursorNextLine(params); };\ncsiStateHandler['F'] = function (handler, params, prefix) { return handler.cursorPrecedingLine(params); };\ncsiStateHandler['G'] = function (handler, params, prefix) { return handler.cursorCharAbsolute(params); };\ncsiStateHandler['H'] = function (handler, params, prefix) { return handler.cursorPosition(params); };\ncsiStateHandler['I'] = function (handler, params, prefix) { return handler.cursorForwardTab(params); };\ncsiStateHandler['J'] = function (handler, params, prefix) { return handler.eraseInDisplay(params); };\ncsiStateHandler['K'] = function (handler, params, prefix) { return handler.eraseInLine(params); };\ncsiStateHandler['L'] = function (handler, params, prefix) { return handler.insertLines(params); };\ncsiStateHandler['M'] = function (handler, params, prefix) { return handler.deleteLines(params); };\ncsiStateHandler['P'] = function (handler, params, prefix) { return handler.deleteChars(params); };\ncsiStateHandler['S'] = function (handler, params, prefix) { return handler.scrollUp(params); };\ncsiStateHandler['T'] = function (handler, params, prefix) {\n if (params.length < 2 && !prefix) {\n handler.scrollDown(params);\n }\n};\ncsiStateHandler['X'] = function (handler, params, prefix) { return handler.eraseChars(params); };\ncsiStateHandler['Z'] = function (handler, params, prefix) { return handler.cursorBackwardTab(params); };\ncsiStateHandler['`'] = function (handler, params, prefix) { return handler.charPosAbsolute(params); };\ncsiStateHandler['a'] = function (handler, params, prefix) { return handler.HPositionRelative(params); };\ncsiStateHandler['b'] = function (handler, params, prefix) { return handler.repeatPrecedingCharacter(params); };\ncsiStateHandler['c'] = function (handler, params, prefix) { return handler.sendDeviceAttributes(params); };\ncsiStateHandler['d'] = function (handler, params, prefix) { return handler.linePosAbsolute(params); };\ncsiStateHandler['e'] = function (handler, params, prefix) { return handler.VPositionRelative(params); };\ncsiStateHandler['f'] = function (handler, params, prefix) { return handler.HVPosition(params); };\ncsiStateHandler['g'] = function (handler, params, prefix) { return handler.tabClear(params); };\ncsiStateHandler['h'] = function (handler, params, prefix) { return handler.setMode(params); };\ncsiStateHandler['l'] = function (handler, params, prefix) { return handler.resetMode(params); };\ncsiStateHandler['m'] = function (handler, params, prefix) { return handler.charAttributes(params); };\ncsiStateHandler['n'] = function (handler, params, prefix) { return handler.deviceStatus(params); };\ncsiStateHandler['p'] = function (handler, params, prefix) {\n switch (prefix) {\n case '!':\n handler.softReset(params);\n break;\n }\n};\ncsiStateHandler['q'] = function (handler, params, prefix, postfix) {\n if (postfix === ' ') {\n handler.setCursorStyle(params);\n }\n};\ncsiStateHandler['r'] = function (handler, params) { return handler.setScrollRegion(params); };\ncsiStateHandler['s'] = function (handler, params) { return handler.saveCursor(params); };\ncsiStateHandler['u'] = function (handler, params) { return handler.restoreCursor(params); };\ncsiStateHandler[EscapeSequences_1.C0.CAN] = function (handler, params, prefix, postfix, parser) { return parser.setState(ParserState.NORMAL); };\nvar ParserState;\n(function (ParserState) {\n ParserState[ParserState[\"NORMAL\"] = 0] = \"NORMAL\";\n ParserState[ParserState[\"ESCAPED\"] = 1] = \"ESCAPED\";\n ParserState[ParserState[\"CSI_PARAM\"] = 2] = \"CSI_PARAM\";\n ParserState[ParserState[\"CSI\"] = 3] = \"CSI\";\n ParserState[ParserState[\"OSC\"] = 4] = \"OSC\";\n ParserState[ParserState[\"CHARSET\"] = 5] = \"CHARSET\";\n ParserState[ParserState[\"DCS\"] = 6] = \"DCS\";\n ParserState[ParserState[\"IGNORE\"] = 7] = \"IGNORE\";\n})(ParserState || (ParserState = {}));\nvar Parser = (function () {\n function Parser(_inputHandler, _terminal) {\n this._inputHandler = _inputHandler;\n this._terminal = _terminal;\n this._state = ParserState.NORMAL;\n }\n Parser.prototype.parse = function (data) {\n var l = data.length, j, cs, ch, code, low;\n this._position = 0;\n if (this._terminal.surrogate_high) {\n data = this._terminal.surrogate_high + data;\n this._terminal.surrogate_high = '';\n }\n for (; this._position < l; this._position++) {\n ch = data[this._position];\n code = data.charCodeAt(this._position);\n if (0xD800 <= code && code <= 0xDBFF) {\n low = data.charCodeAt(this._position + 1);\n if (isNaN(low)) {\n this._terminal.surrogate_high = ch;\n continue;\n }\n code = ((code - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;\n ch += data.charAt(this._position + 1);\n }\n if (0xDC00 <= code && code <= 0xDFFF)\n continue;\n switch (this._state) {\n case ParserState.NORMAL:\n if (ch in normalStateHandler) {\n normalStateHandler[ch](this, this._inputHandler);\n }\n else {\n this._inputHandler.addChar(ch, code);\n }\n break;\n case ParserState.ESCAPED:\n if (ch in escapedStateHandler) {\n escapedStateHandler[ch](this, this._terminal);\n break;\n }\n switch (ch) {\n case '(':\n case ')':\n case '*':\n case '+':\n case '-':\n case '.':\n switch (ch) {\n case '(':\n this._terminal.gcharset = 0;\n break;\n case ')':\n this._terminal.gcharset = 1;\n break;\n case '*':\n this._terminal.gcharset = 2;\n break;\n case '+':\n this._terminal.gcharset = 3;\n break;\n case '-':\n this._terminal.gcharset = 1;\n break;\n case '.':\n this._terminal.gcharset = 2;\n break;\n }\n this._state = ParserState.CHARSET;\n break;\n case '/':\n this._terminal.gcharset = 3;\n this._state = ParserState.CHARSET;\n this._position--;\n break;\n case 'N':\n break;\n case 'O':\n break;\n case 'n':\n this._terminal.setgLevel(2);\n break;\n case 'o':\n this._terminal.setgLevel(3);\n break;\n case '|':\n this._terminal.setgLevel(3);\n break;\n case '}':\n this._terminal.setgLevel(2);\n break;\n case '~':\n this._terminal.setgLevel(1);\n break;\n case '7':\n this._inputHandler.saveCursor();\n this._state = ParserState.NORMAL;\n break;\n case '8':\n this._inputHandler.restoreCursor();\n this._state = ParserState.NORMAL;\n break;\n case '#':\n this._state = ParserState.NORMAL;\n this._position++;\n break;\n case 'H':\n this._terminal.tabSet();\n this._state = ParserState.NORMAL;\n break;\n case '=':\n this._terminal.log('Serial port requested application keypad.');\n this._terminal.applicationKeypad = true;\n this._terminal.viewport.syncScrollArea();\n this._state = ParserState.NORMAL;\n break;\n case '>':\n this._terminal.log('Switching back to normal keypad.');\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n this._state = ParserState.NORMAL;\n break;\n default:\n this._state = ParserState.NORMAL;\n this._terminal.error('Unknown ESC control: %s.', ch);\n break;\n }\n break;\n case ParserState.CHARSET:\n if (ch in Charsets_1.CHARSETS) {\n cs = Charsets_1.CHARSETS[ch];\n if (ch === '/') {\n this.skipNextChar();\n }\n }\n else {\n cs = Charsets_1.DEFAULT_CHARSET;\n }\n this._terminal.setgCharset(this._terminal.gcharset, cs);\n this._terminal.gcharset = null;\n this._state = ParserState.NORMAL;\n break;\n case ParserState.OSC:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n this._terminal.params.push(this._terminal.currentParam);\n switch (this._terminal.params[0]) {\n case 0:\n case 1:\n case 2:\n if (this._terminal.params[1]) {\n this._terminal.title = this._terminal.params[1];\n this._terminal.handleTitle(this._terminal.title);\n }\n break;\n case 3:\n break;\n case 4:\n case 5:\n break;\n case 10:\n case 11:\n case 12:\n case 13:\n case 14:\n case 15:\n case 16:\n case 17:\n case 18:\n case 19:\n break;\n case 46:\n break;\n case 50:\n break;\n case 51:\n break;\n case 52:\n break;\n case 104:\n case 105:\n case 110:\n case 111:\n case 112:\n case 113:\n case 114:\n case 115:\n case 116:\n case 117:\n case 118:\n break;\n }\n this._terminal.params = [];\n this._terminal.currentParam = 0;\n this._state = ParserState.NORMAL;\n }\n else {\n if (!this._terminal.params.length) {\n if (ch >= '0' && ch <= '9') {\n this._terminal.currentParam =\n this._terminal.currentParam * 10 + ch.charCodeAt(0) - 48;\n }\n else if (ch === ';') {\n this._terminal.params.push(this._terminal.currentParam);\n this._terminal.currentParam = '';\n }\n }\n else {\n this._terminal.currentParam += ch;\n }\n }\n break;\n case ParserState.CSI_PARAM:\n if (ch in csiParamStateHandler) {\n csiParamStateHandler[ch](this);\n break;\n }\n this.finalizeParam();\n this._state = ParserState.CSI;\n case ParserState.CSI:\n if (ch in csiStateHandler) {\n csiStateHandler[ch](this._inputHandler, this._terminal.params, this._terminal.prefix, this._terminal.postfix, this);\n }\n else {\n this._terminal.error('Unknown CSI code: %s.', ch);\n }\n this._state = ParserState.NORMAL;\n this._terminal.prefix = '';\n this._terminal.postfix = '';\n break;\n case ParserState.DCS:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n var pt = void 0;\n var valid = void 0;\n switch (this._terminal.prefix) {\n case '':\n break;\n case '$q':\n pt = this._terminal.currentParam;\n valid = false;\n switch (pt) {\n case '\"q':\n pt = '0\"q';\n break;\n case '\"p':\n pt = '61\"p';\n break;\n case 'r':\n pt = ''\n + (this._terminal.scrollTop + 1)\n + ';'\n + (this._terminal.scrollBottom + 1)\n + 'r';\n break;\n case 'm':\n pt = '0m';\n break;\n default:\n this._terminal.error('Unknown DCS Pt: %s.', pt);\n pt = '';\n break;\n }\n this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '$r' + pt + EscapeSequences_1.C0.ESC + '\\\\');\n break;\n case '+p':\n break;\n case '+q':\n pt = this._terminal.currentParam;\n valid = false;\n this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '+r' + pt + EscapeSequences_1.C0.ESC + '\\\\');\n break;\n default:\n this._terminal.error('Unknown DCS prefix: %s.', this._terminal.prefix);\n break;\n }\n this._terminal.currentParam = 0;\n this._terminal.prefix = '';\n this._state = ParserState.NORMAL;\n }\n else if (!this._terminal.currentParam) {\n if (!this._terminal.prefix && ch !== '$' && ch !== '+') {\n this._terminal.currentParam = ch;\n }\n else if (this._terminal.prefix.length === 2) {\n this._terminal.currentParam = ch;\n }\n else {\n this._terminal.prefix += ch;\n }\n }\n else {\n this._terminal.currentParam += ch;\n }\n break;\n case ParserState.IGNORE:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n this._state = ParserState.NORMAL;\n }\n break;\n }\n }\n return this._state;\n };\n Parser.prototype.setState = function (state) {\n this._state = state;\n };\n Parser.prototype.setPrefix = function (prefix) {\n this._terminal.prefix = prefix;\n };\n Parser.prototype.setPostfix = function (postfix) {\n this._terminal.postfix = postfix;\n };\n Parser.prototype.setParam = function (param) {\n this._terminal.currentParam = param;\n };\n Parser.prototype.getParam = function () {\n return this._terminal.currentParam;\n };\n Parser.prototype.finalizeParam = function () {\n this._terminal.params.push(this._terminal.currentParam);\n this._terminal.currentParam = 0;\n };\n Parser.prototype.skipNextChar = function () {\n this._position++;\n };\n return Parser;\n}());\nexports.Parser = Parser;\n\n//# sourceMappingURL=Parser.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Parser.js\n// module id = 19\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DomElementObjectPool_1 = require(\"./utils/DomElementObjectPool\");\nvar MAX_REFRESH_FRAME_SKIP = 5;\nvar FLAGS;\n(function (FLAGS) {\n FLAGS[FLAGS[\"BOLD\"] = 1] = \"BOLD\";\n FLAGS[FLAGS[\"UNDERLINE\"] = 2] = \"UNDERLINE\";\n FLAGS[FLAGS[\"BLINK\"] = 4] = \"BLINK\";\n FLAGS[FLAGS[\"INVERSE\"] = 8] = \"INVERSE\";\n FLAGS[FLAGS[\"INVISIBLE\"] = 16] = \"INVISIBLE\";\n})(FLAGS || (FLAGS = {}));\n;\nvar brokenBold = null;\nvar Renderer = (function () {\n function Renderer(_terminal) {\n this._terminal = _terminal;\n this._refreshRowsQueue = [];\n this._refreshFramesSkipped = 0;\n this._refreshAnimationFrame = null;\n this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span');\n if (brokenBold === null) {\n brokenBold = checkBoldBroken(this._terminal.element);\n }\n this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span');\n }\n Renderer.prototype.queueRefresh = function (start, end) {\n this._refreshRowsQueue.push({ start: start, end: end });\n if (!this._refreshAnimationFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this));\n }\n };\n Renderer.prototype._refreshLoop = function () {\n var skipFrame = this._terminal.writeBuffer.length > 0 && this._refreshFramesSkipped++ <= MAX_REFRESH_FRAME_SKIP;\n if (skipFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this));\n return;\n }\n this._refreshFramesSkipped = 0;\n var start;\n var end;\n if (this._refreshRowsQueue.length > 4) {\n start = 0;\n end = this._terminal.rows - 1;\n }\n else {\n start = this._refreshRowsQueue[0].start;\n end = this._refreshRowsQueue[0].end;\n for (var i = 1; i < this._refreshRowsQueue.length; i++) {\n if (this._refreshRowsQueue[i].start < start) {\n start = this._refreshRowsQueue[i].start;\n }\n if (this._refreshRowsQueue[i].end > end) {\n end = this._refreshRowsQueue[i].end;\n }\n }\n }\n this._refreshRowsQueue = [];\n this._refreshAnimationFrame = null;\n this._refresh(start, end);\n };\n Renderer.prototype._refresh = function (start, end) {\n var parent;\n if (end - start >= this._terminal.rows / 2) {\n parent = this._terminal.element.parentNode;\n if (parent) {\n this._terminal.element.removeChild(this._terminal.rowContainer);\n }\n }\n var width = this._terminal.cols;\n var y = start;\n if (end >= this._terminal.rows) {\n this._terminal.log('`end` is too large. Most likely a bad CSR.');\n end = this._terminal.rows - 1;\n }\n for (; y <= end; y++) {\n var row = y + this._terminal.ydisp;\n var line = this._terminal.lines.get(row);\n var x = void 0;\n if (this._terminal.y === y - (this._terminal.ybase - this._terminal.ydisp) &&\n this._terminal.cursorState &&\n !this._terminal.cursorHidden) {\n x = this._terminal.x;\n }\n else {\n x = -1;\n }\n var attr = this._terminal.defAttr;\n var documentFragment = document.createDocumentFragment();\n var innerHTML = '';\n var currentElement = void 0;\n while (this._terminal.children[y].children.length) {\n var child = this._terminal.children[y].children[0];\n this._terminal.children[y].removeChild(child);\n this._spanElementObjectPool.release(child);\n }\n for (var i = 0; i < width; i++) {\n var data = line[i][0];\n var ch = line[i][1];\n var ch_width = line[i][2];\n if (!ch_width) {\n continue;\n }\n if (i === x) {\n data = -1;\n }\n if (data !== attr) {\n if (attr !== this._terminal.defAttr) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n currentElement = null;\n }\n if (data !== this._terminal.defAttr) {\n if (innerHTML && !currentElement) {\n currentElement = this._spanElementObjectPool.acquire();\n }\n if (currentElement) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n }\n currentElement = this._spanElementObjectPool.acquire();\n if (data === -1) {\n currentElement.classList.add('reverse-video');\n currentElement.classList.add('terminal-cursor');\n }\n else {\n var bg = data & 0x1ff;\n var fg = (data >> 9) & 0x1ff;\n var flags = data >> 18;\n if (flags & FLAGS.BOLD) {\n if (!brokenBold) {\n currentElement.classList.add('xterm-bold');\n }\n if (fg < 8) {\n fg += 8;\n }\n }\n if (flags & FLAGS.UNDERLINE) {\n currentElement.classList.add('xterm-underline');\n }\n if (flags & FLAGS.BLINK) {\n currentElement.classList.add('xterm-blink');\n }\n if (flags & FLAGS.INVERSE) {\n var temp = bg;\n bg = fg;\n fg = temp;\n if ((flags & 1) && fg < 8) {\n fg += 8;\n }\n }\n if (flags & FLAGS.INVISIBLE) {\n currentElement.classList.add('xterm-hidden');\n }\n if (flags & FLAGS.INVERSE) {\n if (bg === 257) {\n bg = 15;\n }\n if (fg === 256) {\n fg = 0;\n }\n }\n if (bg < 256) {\n currentElement.classList.add(\"xterm-bg-color-\" + bg);\n }\n if (fg < 256) {\n currentElement.classList.add(\"xterm-color-\" + fg);\n }\n }\n }\n }\n if (ch_width === 2) {\n innerHTML += \"\" + ch + \"\";\n }\n else if (ch.charCodeAt(0) > 255) {\n innerHTML += \"\" + ch + \"\";\n }\n else {\n switch (ch) {\n case '&':\n innerHTML += '&';\n break;\n case '<':\n innerHTML += '<';\n break;\n case '>':\n innerHTML += '>';\n break;\n default:\n if (ch <= ' ') {\n innerHTML += ' ';\n }\n else {\n innerHTML += ch;\n }\n break;\n }\n }\n attr = data;\n }\n if (innerHTML && !currentElement) {\n currentElement = this._spanElementObjectPool.acquire();\n }\n if (currentElement) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n currentElement = null;\n }\n this._terminal.children[y].appendChild(documentFragment);\n }\n if (parent) {\n this._terminal.element.appendChild(this._terminal.rowContainer);\n }\n this._terminal.emit('refresh', { element: this._terminal.element, start: start, end: end });\n };\n ;\n Renderer.prototype.refreshSelection = function (start, end) {\n while (this._terminal.selectionContainer.children.length) {\n this._terminal.selectionContainer.removeChild(this._terminal.selectionContainer.children[0]);\n }\n if (!start || !end) {\n return;\n }\n var viewportStartRow = start[1] - this._terminal.ydisp;\n var viewportEndRow = end[1] - this._terminal.ydisp;\n var viewportCappedStartRow = Math.max(viewportStartRow, 0);\n var viewportCappedEndRow = Math.min(viewportEndRow, this._terminal.rows - 1);\n if (viewportCappedStartRow >= this._terminal.rows || viewportCappedEndRow < 0) {\n return;\n }\n var documentFragment = document.createDocumentFragment();\n var startCol = viewportStartRow === viewportCappedStartRow ? start[0] : 0;\n var endCol = viewportCappedStartRow === viewportCappedEndRow ? end[0] : this._terminal.cols;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow, startCol, endCol));\n var middleRowsCount = viewportCappedEndRow - viewportCappedStartRow - 1;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow + 1, 0, this._terminal.cols, middleRowsCount));\n if (viewportCappedStartRow !== viewportCappedEndRow) {\n var endCol_1 = viewportEndRow === viewportCappedEndRow ? end[0] : this._terminal.cols;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedEndRow, 0, endCol_1));\n }\n this._terminal.selectionContainer.appendChild(documentFragment);\n };\n Renderer.prototype._createSelectionElement = function (row, colStart, colEnd, rowCount) {\n if (rowCount === void 0) { rowCount = 1; }\n var element = document.createElement('div');\n element.style.height = rowCount * this._terminal.charMeasure.height + \"px\";\n element.style.top = row * this._terminal.charMeasure.height + \"px\";\n element.style.left = colStart * this._terminal.charMeasure.width + \"px\";\n element.style.width = this._terminal.charMeasure.width * (colEnd - colStart) + \"px\";\n return element;\n };\n return Renderer;\n}());\nexports.Renderer = Renderer;\nfunction checkBoldBroken(terminal) {\n var document = terminal.ownerDocument;\n var el = document.createElement('span');\n el.innerHTML = 'hello world';\n terminal.appendChild(el);\n var w1 = el.offsetWidth;\n var h1 = el.offsetHeight;\n el.style.fontWeight = 'bold';\n var w2 = el.offsetWidth;\n var h2 = el.offsetHeight;\n terminal.removeChild(el);\n return w1 !== w2 || h1 !== h2;\n}\n\n//# sourceMappingURL=Renderer.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Renderer.js\n// module id = 20\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Mouse = require(\"./utils/Mouse\");\nvar Browser = require(\"./utils/Browser\");\nvar EventEmitter_1 = require(\"./EventEmitter\");\nvar SelectionModel_1 = require(\"./SelectionModel\");\nvar DRAG_SCROLL_MAX_THRESHOLD = 50;\nvar DRAG_SCROLL_MAX_SPEED = 15;\nvar DRAG_SCROLL_INTERVAL = 50;\nvar CLEAR_MOUSE_DOWN_TIME = 400;\nvar CLEAR_MOUSE_DISTANCE = 10;\nvar WORD_SEPARATORS = ' ()[]{}\\'\"';\nvar LINE_DATA_CHAR_INDEX = 1;\nvar LINE_DATA_WIDTH_INDEX = 2;\nvar NON_BREAKING_SPACE_CHAR = String.fromCharCode(160);\nvar ALL_NON_BREAKING_SPACE_REGEX = new RegExp(NON_BREAKING_SPACE_CHAR, 'g');\nvar SelectionMode;\n(function (SelectionMode) {\n SelectionMode[SelectionMode[\"NORMAL\"] = 0] = \"NORMAL\";\n SelectionMode[SelectionMode[\"WORD\"] = 1] = \"WORD\";\n SelectionMode[SelectionMode[\"LINE\"] = 2] = \"LINE\";\n})(SelectionMode || (SelectionMode = {}));\nvar SelectionManager = (function (_super) {\n __extends(SelectionManager, _super);\n function SelectionManager(_terminal, _buffer, _rowContainer, _charMeasure) {\n var _this = _super.call(this) || this;\n _this._terminal = _terminal;\n _this._buffer = _buffer;\n _this._rowContainer = _rowContainer;\n _this._charMeasure = _charMeasure;\n _this._initListeners();\n _this.enable();\n _this._model = new SelectionModel_1.SelectionModel(_terminal);\n _this._lastMouseDownTime = 0;\n _this._activeSelectionMode = SelectionMode.NORMAL;\n return _this;\n }\n SelectionManager.prototype._initListeners = function () {\n var _this = this;\n this._bufferTrimListener = function (amount) { return _this._onTrim(amount); };\n this._mouseMoveListener = function (event) { return _this._onMouseMove(event); };\n this._mouseDownListener = function (event) { return _this._onMouseDown(event); };\n this._mouseUpListener = function (event) { return _this._onMouseUp(event); };\n };\n SelectionManager.prototype.disable = function () {\n this.clearSelection();\n this._buffer.off('trim', this._bufferTrimListener);\n this._rowContainer.removeEventListener('mousedown', this._mouseDownListener);\n };\n SelectionManager.prototype.enable = function () {\n this._buffer.on('trim', this._bufferTrimListener);\n this._rowContainer.addEventListener('mousedown', this._mouseDownListener);\n };\n SelectionManager.prototype.setBuffer = function (buffer) {\n this._buffer = buffer;\n this.clearSelection();\n };\n Object.defineProperty(SelectionManager.prototype, \"hasSelection\", {\n get: function () {\n var start = this._model.finalSelectionStart;\n var end = this._model.finalSelectionEnd;\n if (!start || !end) {\n return false;\n }\n return start[0] !== end[0] || start[1] !== end[1];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SelectionManager.prototype, \"selectionText\", {\n get: function () {\n var start = this._model.finalSelectionStart;\n var end = this._model.finalSelectionEnd;\n if (!start || !end) {\n return '';\n }\n var startRowEndCol = start[1] === end[1] ? end[0] : null;\n var result = [];\n result.push(this._translateBufferLineToString(this._buffer.get(start[1]), true, start[0], startRowEndCol));\n for (var i = start[1] + 1; i <= end[1] - 1; i++) {\n var bufferLine = this._buffer.get(i);\n var lineText = this._translateBufferLineToString(bufferLine, true);\n if (bufferLine.isWrapped) {\n result[result.length - 1] += lineText;\n }\n else {\n result.push(lineText);\n }\n }\n if (start[1] !== end[1]) {\n var bufferLine = this._buffer.get(end[1]);\n var lineText = this._translateBufferLineToString(bufferLine, true, 0, end[0]);\n if (bufferLine.isWrapped) {\n result[result.length - 1] += lineText;\n }\n else {\n result.push(lineText);\n }\n }\n var formattedResult = result.map(function (line) {\n return line.replace(ALL_NON_BREAKING_SPACE_REGEX, ' ');\n }).join(Browser.isMSWindows ? '\\r\\n' : '\\n');\n return formattedResult;\n },\n enumerable: true,\n configurable: true\n });\n SelectionManager.prototype.clearSelection = function () {\n this._model.clearSelection();\n this._removeMouseDownListeners();\n this.refresh();\n };\n SelectionManager.prototype._translateBufferLineToString = function (line, trimRight, startCol, endCol) {\n if (startCol === void 0) { startCol = 0; }\n if (endCol === void 0) { endCol = null; }\n var lineString = '';\n var widthAdjustedStartCol = startCol;\n var widthAdjustedEndCol = endCol;\n for (var i = 0; i < line.length; i++) {\n var char = line[i];\n lineString += char[LINE_DATA_CHAR_INDEX];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n if (startCol >= i) {\n widthAdjustedStartCol--;\n }\n if (endCol >= i) {\n widthAdjustedEndCol--;\n }\n }\n }\n var finalEndCol = widthAdjustedEndCol || line.length;\n if (trimRight) {\n var rightWhitespaceIndex = lineString.search(/\\s+$/);\n if (rightWhitespaceIndex !== -1) {\n finalEndCol = Math.min(finalEndCol, rightWhitespaceIndex);\n }\n if (finalEndCol <= widthAdjustedStartCol) {\n return '';\n }\n }\n return lineString.substring(widthAdjustedStartCol, finalEndCol);\n };\n SelectionManager.prototype.refresh = function (isNewSelection) {\n var _this = this;\n if (!this._refreshAnimationFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(function () { return _this._refresh(); });\n }\n if (Browser.isLinux && isNewSelection) {\n var selectionText = this.selectionText;\n if (selectionText.length) {\n this.emit('newselection', this.selectionText);\n }\n }\n };\n SelectionManager.prototype._refresh = function () {\n this._refreshAnimationFrame = null;\n this.emit('refresh', { start: this._model.finalSelectionStart, end: this._model.finalSelectionEnd });\n };\n SelectionManager.prototype.selectAll = function () {\n this._model.isSelectAllActive = true;\n this.refresh();\n };\n SelectionManager.prototype._onTrim = function (amount) {\n var needsRefresh = this._model.onTrim(amount);\n if (needsRefresh) {\n this.refresh();\n }\n };\n SelectionManager.prototype._getMouseBufferCoords = function (event) {\n var coords = Mouse.getCoords(event, this._rowContainer, this._charMeasure, this._terminal.cols, this._terminal.rows, true);\n coords[0]--;\n coords[1]--;\n coords[1] += this._terminal.ydisp;\n return coords;\n };\n SelectionManager.prototype._getMouseEventScrollAmount = function (event) {\n var offset = Mouse.getCoordsRelativeToElement(event, this._rowContainer)[1];\n var terminalHeight = this._terminal.rows * this._charMeasure.height;\n if (offset >= 0 && offset <= terminalHeight) {\n return 0;\n }\n if (offset > terminalHeight) {\n offset -= terminalHeight;\n }\n offset = Math.min(Math.max(offset, -DRAG_SCROLL_MAX_THRESHOLD), DRAG_SCROLL_MAX_THRESHOLD);\n offset /= DRAG_SCROLL_MAX_THRESHOLD;\n return (offset / Math.abs(offset)) + Math.round(offset * (DRAG_SCROLL_MAX_SPEED - 1));\n };\n SelectionManager.prototype._onMouseDown = function (event) {\n if (event.button !== 0) {\n return;\n }\n event.preventDefault();\n this._dragScrollAmount = 0;\n this._setMouseClickCount(event);\n if (event.shiftKey) {\n this._onShiftClick(event);\n }\n else {\n if (this._clickCount === 1) {\n this._onSingleClick(event);\n }\n else if (this._clickCount === 2) {\n this._onDoubleClick(event);\n }\n else if (this._clickCount === 3) {\n this._onTripleClick(event);\n }\n }\n this._addMouseDownListeners();\n this.refresh(true);\n };\n SelectionManager.prototype._addMouseDownListeners = function () {\n var _this = this;\n this._rowContainer.ownerDocument.addEventListener('mousemove', this._mouseMoveListener);\n this._rowContainer.ownerDocument.addEventListener('mouseup', this._mouseUpListener);\n this._dragScrollIntervalTimer = setInterval(function () { return _this._dragScroll(); }, DRAG_SCROLL_INTERVAL);\n };\n SelectionManager.prototype._removeMouseDownListeners = function () {\n this._rowContainer.ownerDocument.removeEventListener('mousemove', this._mouseMoveListener);\n this._rowContainer.ownerDocument.removeEventListener('mouseup', this._mouseUpListener);\n clearInterval(this._dragScrollIntervalTimer);\n this._dragScrollIntervalTimer = null;\n };\n SelectionManager.prototype._onShiftClick = function (event) {\n if (this._model.selectionStart) {\n this._model.selectionEnd = this._getMouseBufferCoords(event);\n }\n };\n SelectionManager.prototype._onSingleClick = function (event) {\n this._model.selectionStartLength = 0;\n this._model.isSelectAllActive = false;\n this._activeSelectionMode = SelectionMode.NORMAL;\n this._model.selectionStart = this._getMouseBufferCoords(event);\n if (this._model.selectionStart) {\n this._model.selectionEnd = null;\n var char = this._buffer.get(this._model.selectionStart[1])[this._model.selectionStart[0]];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n this._model.selectionStart[0]++;\n }\n }\n };\n SelectionManager.prototype._onDoubleClick = function (event) {\n var coords = this._getMouseBufferCoords(event);\n if (coords) {\n this._activeSelectionMode = SelectionMode.WORD;\n this._selectWordAt(coords);\n }\n };\n SelectionManager.prototype._onTripleClick = function (event) {\n var coords = this._getMouseBufferCoords(event);\n if (coords) {\n this._activeSelectionMode = SelectionMode.LINE;\n this._selectLineAt(coords[1]);\n }\n };\n SelectionManager.prototype._setMouseClickCount = function (event) {\n var currentTime = (new Date()).getTime();\n if (currentTime - this._lastMouseDownTime > CLEAR_MOUSE_DOWN_TIME || this._distanceFromLastMousePosition(event) > CLEAR_MOUSE_DISTANCE) {\n this._clickCount = 0;\n }\n this._lastMouseDownTime = currentTime;\n this._lastMousePosition = [event.pageX, event.pageY];\n this._clickCount++;\n };\n SelectionManager.prototype._distanceFromLastMousePosition = function (event) {\n var result = Math.max(Math.abs(this._lastMousePosition[0] - event.pageX), Math.abs(this._lastMousePosition[1] - event.pageY));\n return result;\n };\n SelectionManager.prototype._onMouseMove = function (event) {\n var previousSelectionEnd = this._model.selectionEnd ? [this._model.selectionEnd[0], this._model.selectionEnd[1]] : null;\n this._model.selectionEnd = this._getMouseBufferCoords(event);\n if (this._activeSelectionMode === SelectionMode.LINE) {\n if (this._model.selectionEnd[1] < this._model.selectionStart[1]) {\n this._model.selectionEnd[0] = 0;\n }\n else {\n this._model.selectionEnd[0] = this._terminal.cols;\n }\n }\n else if (this._activeSelectionMode === SelectionMode.WORD) {\n this._selectToWordAt(this._model.selectionEnd);\n }\n this._dragScrollAmount = this._getMouseEventScrollAmount(event);\n if (this._dragScrollAmount > 0) {\n this._model.selectionEnd[0] = this._terminal.cols - 1;\n }\n else if (this._dragScrollAmount < 0) {\n this._model.selectionEnd[0] = 0;\n }\n if (this._model.selectionEnd[1] < this._buffer.length) {\n var char = this._buffer.get(this._model.selectionEnd[1])[this._model.selectionEnd[0]];\n if (char && char[2] === 0) {\n this._model.selectionEnd[0]++;\n }\n }\n if (!previousSelectionEnd ||\n previousSelectionEnd[0] !== this._model.selectionEnd[0] ||\n previousSelectionEnd[1] !== this._model.selectionEnd[1]) {\n this.refresh(true);\n }\n };\n SelectionManager.prototype._dragScroll = function () {\n if (this._dragScrollAmount) {\n this._terminal.scrollDisp(this._dragScrollAmount, false);\n if (this._dragScrollAmount > 0) {\n this._model.selectionEnd = [this._terminal.cols - 1, this._terminal.ydisp + this._terminal.rows];\n }\n else {\n this._model.selectionEnd = [0, this._terminal.ydisp];\n }\n this.refresh();\n }\n };\n SelectionManager.prototype._onMouseUp = function (event) {\n this._removeMouseDownListeners();\n };\n SelectionManager.prototype._convertViewportColToCharacterIndex = function (bufferLine, coords) {\n var charIndex = coords[0];\n for (var i = 0; coords[0] >= i; i++) {\n var char = bufferLine[i];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n charIndex--;\n }\n }\n return charIndex;\n };\n SelectionManager.prototype._getWordAt = function (coords) {\n var bufferLine = this._buffer.get(coords[1]);\n var line = this._translateBufferLineToString(bufferLine, false);\n var endIndex = this._convertViewportColToCharacterIndex(bufferLine, coords);\n var startIndex = endIndex;\n var charOffset = coords[0] - startIndex;\n var leftWideCharCount = 0;\n var rightWideCharCount = 0;\n if (line.charAt(startIndex) === ' ') {\n while (startIndex > 0 && line.charAt(startIndex - 1) === ' ') {\n startIndex--;\n }\n while (endIndex < line.length && line.charAt(endIndex + 1) === ' ') {\n endIndex++;\n }\n }\n else {\n var startCol = coords[0];\n var endCol = coords[0];\n if (bufferLine[startCol][LINE_DATA_WIDTH_INDEX] === 0) {\n leftWideCharCount++;\n startCol--;\n }\n if (bufferLine[endCol][LINE_DATA_WIDTH_INDEX] === 2) {\n rightWideCharCount++;\n endCol++;\n }\n while (startIndex > 0 && !this._isCharWordSeparator(line.charAt(startIndex - 1))) {\n if (bufferLine[startCol - 1][LINE_DATA_WIDTH_INDEX] === 0) {\n leftWideCharCount++;\n startCol--;\n }\n startIndex--;\n startCol--;\n }\n while (endIndex + 1 < line.length && !this._isCharWordSeparator(line.charAt(endIndex + 1))) {\n if (bufferLine[endCol + 1][LINE_DATA_WIDTH_INDEX] === 2) {\n rightWideCharCount++;\n endCol++;\n }\n endIndex++;\n endCol++;\n }\n }\n var start = startIndex + charOffset - leftWideCharCount;\n var length = Math.min(endIndex - startIndex + leftWideCharCount + rightWideCharCount + 1, this._terminal.cols);\n return { start: start, length: length };\n };\n SelectionManager.prototype._selectWordAt = function (coords) {\n var wordPosition = this._getWordAt(coords);\n this._model.selectionStart = [wordPosition.start, coords[1]];\n this._model.selectionStartLength = wordPosition.length;\n };\n SelectionManager.prototype._selectToWordAt = function (coords) {\n var wordPosition = this._getWordAt(coords);\n this._model.selectionEnd = [this._model.areSelectionValuesReversed() ? wordPosition.start : (wordPosition.start + wordPosition.length), coords[1]];\n };\n SelectionManager.prototype._isCharWordSeparator = function (char) {\n return WORD_SEPARATORS.indexOf(char) >= 0;\n };\n SelectionManager.prototype._selectLineAt = function (line) {\n this._model.selectionStart = [0, line];\n this._model.selectionStartLength = this._terminal.cols;\n };\n return SelectionManager;\n}(EventEmitter_1.EventEmitter));\nexports.SelectionManager = SelectionManager;\n\n//# sourceMappingURL=SelectionManager.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/SelectionManager.js\n// module id = 21\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar SelectionModel = (function () {\n function SelectionModel(_terminal) {\n this._terminal = _terminal;\n this.clearSelection();\n }\n SelectionModel.prototype.clearSelection = function () {\n this.selectionStart = null;\n this.selectionEnd = null;\n this.isSelectAllActive = false;\n this.selectionStartLength = 0;\n };\n Object.defineProperty(SelectionModel.prototype, \"finalSelectionStart\", {\n get: function () {\n if (this.isSelectAllActive) {\n return [0, 0];\n }\n if (!this.selectionEnd || !this.selectionStart) {\n return this.selectionStart;\n }\n return this.areSelectionValuesReversed() ? this.selectionEnd : this.selectionStart;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SelectionModel.prototype, \"finalSelectionEnd\", {\n get: function () {\n if (this.isSelectAllActive) {\n return [this._terminal.cols, this._terminal.ybase + this._terminal.rows - 1];\n }\n if (!this.selectionStart) {\n return null;\n }\n if (!this.selectionEnd || this.areSelectionValuesReversed()) {\n return [this.selectionStart[0] + this.selectionStartLength, this.selectionStart[1]];\n }\n if (this.selectionStartLength) {\n if (this.selectionEnd[1] === this.selectionStart[1]) {\n return [Math.max(this.selectionStart[0] + this.selectionStartLength, this.selectionEnd[0]), this.selectionEnd[1]];\n }\n }\n return this.selectionEnd;\n },\n enumerable: true,\n configurable: true\n });\n SelectionModel.prototype.areSelectionValuesReversed = function () {\n var start = this.selectionStart;\n var end = this.selectionEnd;\n return start[1] > end[1] || (start[1] === end[1] && start[0] > end[0]);\n };\n SelectionModel.prototype.onTrim = function (amount) {\n if (this.selectionStart) {\n this.selectionStart[1] -= amount;\n }\n if (this.selectionEnd) {\n this.selectionEnd[1] -= amount;\n }\n if (this.selectionEnd && this.selectionEnd[1] < 0) {\n this.clearSelection();\n return true;\n }\n if (this.selectionStart && this.selectionStart[1] < 0) {\n this.selectionStart[1] = 0;\n }\n return false;\n };\n return SelectionModel;\n}());\nexports.SelectionModel = SelectionModel;\n\n//# sourceMappingURL=SelectionModel.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/SelectionModel.js\n// module id = 22\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Viewport = (function () {\n function Viewport(terminal, viewportElement, scrollArea, charMeasure) {\n var _this = this;\n this.terminal = terminal;\n this.viewportElement = viewportElement;\n this.scrollArea = scrollArea;\n this.charMeasure = charMeasure;\n this.currentRowHeight = 0;\n this.lastRecordedBufferLength = 0;\n this.lastRecordedViewportHeight = 0;\n this.terminal.on('scroll', this.syncScrollArea.bind(this));\n this.terminal.on('resize', this.syncScrollArea.bind(this));\n this.viewportElement.addEventListener('scroll', this.onScroll.bind(this));\n setTimeout(function () { return _this.syncScrollArea(); }, 0);\n }\n Viewport.prototype.refresh = function () {\n if (this.charMeasure.height > 0) {\n var rowHeightChanged = this.charMeasure.height !== this.currentRowHeight;\n if (rowHeightChanged) {\n this.currentRowHeight = this.charMeasure.height;\n this.viewportElement.style.lineHeight = this.charMeasure.height + 'px';\n this.terminal.rowContainer.style.lineHeight = this.charMeasure.height + 'px';\n }\n var viewportHeightChanged = this.lastRecordedViewportHeight !== this.terminal.rows;\n if (rowHeightChanged || viewportHeightChanged) {\n this.lastRecordedViewportHeight = this.terminal.rows;\n this.viewportElement.style.height = this.charMeasure.height * this.terminal.rows + 'px';\n this.terminal.selectionContainer.style.height = this.viewportElement.style.height;\n }\n this.scrollArea.style.height = (this.charMeasure.height * this.lastRecordedBufferLength) + 'px';\n }\n };\n Viewport.prototype.syncScrollArea = function () {\n if (this.lastRecordedBufferLength !== this.terminal.lines.length) {\n this.lastRecordedBufferLength = this.terminal.lines.length;\n this.refresh();\n }\n else if (this.lastRecordedViewportHeight !== this.terminal.rows) {\n this.refresh();\n }\n else {\n if (this.charMeasure.height !== this.currentRowHeight) {\n this.refresh();\n }\n }\n var scrollTop = this.terminal.ydisp * this.currentRowHeight;\n if (this.viewportElement.scrollTop !== scrollTop) {\n this.viewportElement.scrollTop = scrollTop;\n }\n };\n Viewport.prototype.onScroll = function (ev) {\n var newRow = Math.round(this.viewportElement.scrollTop / this.currentRowHeight);\n var diff = newRow - this.terminal.ydisp;\n this.terminal.scrollDisp(diff, true);\n };\n Viewport.prototype.onWheel = function (ev) {\n if (ev.deltaY === 0) {\n return;\n }\n var multiplier = 1;\n if (ev.deltaMode === WheelEvent.DOM_DELTA_LINE) {\n multiplier = this.currentRowHeight;\n }\n else if (ev.deltaMode === WheelEvent.DOM_DELTA_PAGE) {\n multiplier = this.currentRowHeight * this.terminal.rows;\n }\n this.viewportElement.scrollTop += ev.deltaY * multiplier;\n ev.preventDefault();\n };\n ;\n Viewport.prototype.onTouchStart = function (ev) {\n this.lastTouchY = ev.touches[0].pageY;\n };\n ;\n Viewport.prototype.onTouchMove = function (ev) {\n var deltaY = this.lastTouchY - ev.touches[0].pageY;\n this.lastTouchY = ev.touches[0].pageY;\n if (deltaY === 0) {\n return;\n }\n this.viewportElement.scrollTop += deltaY;\n ev.preventDefault();\n };\n ;\n return Viewport;\n}());\nexports.Viewport = Viewport;\n\n//# sourceMappingURL=Viewport.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Viewport.js\n// module id = 23\n// module chunks = 0","var map = {\n\t\"./attach/attach\": 4,\n\t\"./attach/attach.js\": 4,\n\t\"./attach/package.json\": 25,\n\t\"./fit/fit\": 5,\n\t\"./fit/fit.js\": 5,\n\t\"./fit/package.json\": 26,\n\t\"./fullscreen/fullscreen\": 6,\n\t\"./fullscreen/fullscreen.css\": 27,\n\t\"./fullscreen/fullscreen.js\": 6,\n\t\"./fullscreen/package.json\": 28,\n\t\"./terminado/package.json\": 29,\n\t\"./terminado/terminado\": 7,\n\t\"./terminado/terminado.js\": 7\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 24;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons ^\\.\\/.*$\n// module id = 24\n// module chunks = 0","module.exports = {\"name\":\"xterm.attach\",\"main\":\"attach.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/attach/package.json\n// module id = 25\n// module chunks = 0","module.exports = {\"name\":\"xterm.fit\",\"main\":\"fit.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fit/package.json\n// module id = 26\n// module chunks = 0","module.exports = {\"name\":\"xterm.fullscreen\",\"main\":\"fullscreen.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fullscreen/package.json\n// module id = 28\n// module chunks = 0","module.exports = {\"name\":\"xterm.terminado\",\"main\":\"terminado.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/terminado/package.json\n// module id = 29\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction prepareTextForTerminal(text, isMSWindows) {\n if (isMSWindows) {\n return text.replace(/\\r?\\n/g, '\\r');\n }\n return text;\n}\nexports.prepareTextForTerminal = prepareTextForTerminal;\nfunction copyHandler(ev, term, selectionManager) {\n if (term.browser.isMSIE) {\n window.clipboardData.setData('Text', selectionManager.selectionText);\n }\n else {\n ev.clipboardData.setData('text/plain', selectionManager.selectionText);\n }\n ev.preventDefault();\n}\nexports.copyHandler = copyHandler;\nfunction pasteHandler(ev, term) {\n ev.stopPropagation();\n var text;\n var dispatchPaste = function (text) {\n text = prepareTextForTerminal(text, term.browser.isMSWindows);\n term.handler(text);\n term.textarea.value = '';\n term.emit('paste', text);\n return term.cancel(ev);\n };\n if (term.browser.isMSIE) {\n if (window.clipboardData) {\n text = window.clipboardData.getData('Text');\n dispatchPaste(text);\n }\n }\n else {\n if (ev.clipboardData) {\n text = ev.clipboardData.getData('text/plain');\n dispatchPaste(text);\n }\n }\n}\nexports.pasteHandler = pasteHandler;\nfunction moveTextAreaUnderMouseCursor(ev, textarea) {\n textarea.style.position = 'fixed';\n textarea.style.width = '20px';\n textarea.style.height = '20px';\n textarea.style.left = (ev.clientX - 10) + 'px';\n textarea.style.top = (ev.clientY - 10) + 'px';\n textarea.style.zIndex = '1000';\n textarea.focus();\n setTimeout(function () {\n textarea.style.position = null;\n textarea.style.width = null;\n textarea.style.height = null;\n textarea.style.left = null;\n textarea.style.top = null;\n textarea.style.zIndex = null;\n }, 4);\n}\nexports.moveTextAreaUnderMouseCursor = moveTextAreaUnderMouseCursor;\nfunction rightClickHandler(ev, textarea, selectionManager) {\n moveTextAreaUnderMouseCursor(ev, textarea);\n textarea.value = selectionManager.selectionText;\n textarea.select();\n}\nexports.rightClickHandler = rightClickHandler;\n\n//# sourceMappingURL=Clipboard.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/handlers/Clipboard.js\n// module id = 30\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventEmitter_js_1 = require(\"../EventEmitter.js\");\nvar CharMeasure = (function (_super) {\n __extends(CharMeasure, _super);\n function CharMeasure(document, parentElement) {\n var _this = _super.call(this) || this;\n _this._document = document;\n _this._parentElement = parentElement;\n return _this;\n }\n Object.defineProperty(CharMeasure.prototype, \"width\", {\n get: function () {\n return this._width;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CharMeasure.prototype, \"height\", {\n get: function () {\n return this._height;\n },\n enumerable: true,\n configurable: true\n });\n CharMeasure.prototype.measure = function () {\n var _this = this;\n if (!this._measureElement) {\n this._measureElement = this._document.createElement('span');\n this._measureElement.style.position = 'absolute';\n this._measureElement.style.top = '0';\n this._measureElement.style.left = '-9999em';\n this._measureElement.textContent = 'W';\n this._measureElement.setAttribute('aria-hidden', 'true');\n this._parentElement.appendChild(this._measureElement);\n setTimeout(function () { return _this._doMeasure(); }, 0);\n }\n else {\n this._doMeasure();\n }\n };\n CharMeasure.prototype._doMeasure = function () {\n var geometry = this._measureElement.getBoundingClientRect();\n if (geometry.width === 0 || geometry.height === 0) {\n return;\n }\n if (this._width !== geometry.width || this._height !== geometry.height) {\n this._width = geometry.width;\n this._height = geometry.height;\n this.emit('charsizechanged');\n }\n };\n return CharMeasure;\n}(EventEmitter_js_1.EventEmitter));\nexports.CharMeasure = CharMeasure;\n\n//# sourceMappingURL=CharMeasure.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/CharMeasure.js\n// module id = 31\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventEmitter_1 = require(\"../EventEmitter\");\nvar CircularList = (function (_super) {\n __extends(CircularList, _super);\n function CircularList(maxLength) {\n var _this = _super.call(this) || this;\n _this._array = new Array(maxLength);\n _this._startIndex = 0;\n _this._length = 0;\n return _this;\n }\n Object.defineProperty(CircularList.prototype, \"maxLength\", {\n get: function () {\n return this._array.length;\n },\n set: function (newMaxLength) {\n var newArray = new Array(newMaxLength);\n for (var i = 0; i < Math.min(newMaxLength, this.length); i++) {\n newArray[i] = this._array[this._getCyclicIndex(i)];\n }\n this._array = newArray;\n this._startIndex = 0;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CircularList.prototype, \"length\", {\n get: function () {\n return this._length;\n },\n set: function (newLength) {\n if (newLength > this._length) {\n for (var i = this._length; i < newLength; i++) {\n this._array[i] = undefined;\n }\n }\n this._length = newLength;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CircularList.prototype, \"forEach\", {\n get: function () {\n var _this = this;\n return function (callbackfn) {\n var i = 0;\n var length = _this.length;\n for (var i_1 = 0; i_1 < length; i_1++) {\n callbackfn(_this.get(i_1), i_1);\n }\n };\n },\n enumerable: true,\n configurable: true\n });\n CircularList.prototype.get = function (index) {\n return this._array[this._getCyclicIndex(index)];\n };\n CircularList.prototype.set = function (index, value) {\n this._array[this._getCyclicIndex(index)] = value;\n };\n CircularList.prototype.push = function (value) {\n this._array[this._getCyclicIndex(this._length)] = value;\n if (this._length === this.maxLength) {\n this._startIndex++;\n if (this._startIndex === this.maxLength) {\n this._startIndex = 0;\n }\n this.emit('trim', 1);\n }\n else {\n this._length++;\n }\n };\n CircularList.prototype.pop = function () {\n return this._array[this._getCyclicIndex(this._length-- - 1)];\n };\n CircularList.prototype.splice = function (start, deleteCount) {\n var items = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n items[_i - 2] = arguments[_i];\n }\n if (deleteCount) {\n for (var i = start; i < this._length - deleteCount; i++) {\n this._array[this._getCyclicIndex(i)] = this._array[this._getCyclicIndex(i + deleteCount)];\n }\n this._length -= deleteCount;\n }\n if (items && items.length) {\n for (var i = this._length - 1; i >= start; i--) {\n this._array[this._getCyclicIndex(i + items.length)] = this._array[this._getCyclicIndex(i)];\n }\n for (var i = 0; i < items.length; i++) {\n this._array[this._getCyclicIndex(start + i)] = items[i];\n }\n if (this._length + items.length > this.maxLength) {\n var countToTrim = (this._length + items.length) - this.maxLength;\n this._startIndex += countToTrim;\n this._length = this.maxLength;\n this.emit('trim', countToTrim);\n }\n else {\n this._length += items.length;\n }\n }\n };\n CircularList.prototype.trimStart = function (count) {\n if (count > this._length) {\n count = this._length;\n }\n this._startIndex += count;\n this._length -= count;\n this.emit('trim', count);\n };\n CircularList.prototype.shiftElements = function (start, count, offset) {\n if (count <= 0) {\n return;\n }\n if (start < 0 || start >= this._length) {\n throw new Error('start argument out of range');\n }\n if (start + offset < 0) {\n throw new Error('Cannot shift elements in list beyond index 0');\n }\n if (offset > 0) {\n for (var i = count - 1; i >= 0; i--) {\n this.set(start + i + offset, this.get(start + i));\n }\n var expandListBy = (start + count + offset) - this._length;\n if (expandListBy > 0) {\n this._length += expandListBy;\n while (this._length > this.maxLength) {\n this._length--;\n this._startIndex++;\n this.emit('trim', 1);\n }\n }\n }\n else {\n for (var i = 0; i < count; i++) {\n this.set(start + i + offset, this.get(start + i));\n }\n }\n };\n CircularList.prototype._getCyclicIndex = function (index) {\n return (this._startIndex + index) % this.maxLength;\n };\n return CircularList;\n}(EventEmitter_1.EventEmitter));\nexports.CircularList = CircularList;\n\n//# sourceMappingURL=CircularList.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/CircularList.js\n// module id = 32\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DomElementObjectPool = (function () {\n function DomElementObjectPool(type) {\n this.type = type;\n this._type = type;\n this._pool = [];\n this._inUse = {};\n }\n DomElementObjectPool.prototype.acquire = function () {\n var element;\n if (this._pool.length === 0) {\n element = this._createNew();\n }\n else {\n element = this._pool.pop();\n }\n this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)] = element;\n return element;\n };\n DomElementObjectPool.prototype.release = function (element) {\n if (!this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)]) {\n throw new Error('Could not release an element not yet acquired');\n }\n delete this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)];\n this._cleanElement(element);\n this._pool.push(element);\n };\n DomElementObjectPool.prototype._createNew = function () {\n var element = document.createElement(this._type);\n var id = DomElementObjectPool._objectCount++;\n element.setAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE, id.toString(10));\n return element;\n };\n DomElementObjectPool.prototype._cleanElement = function (element) {\n element.className = '';\n element.innerHTML = '';\n };\n return DomElementObjectPool;\n}());\nDomElementObjectPool.OBJECT_ID_ATTRIBUTE = 'data-obj-id';\nDomElementObjectPool._objectCount = 0;\nexports.DomElementObjectPool = DomElementObjectPool;\n\n//# sourceMappingURL=DomElementObjectPool.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/DomElementObjectPool.js\n// module id = 33\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction contains(arr, el) {\n return arr.indexOf(el) >= 0;\n}\nexports.contains = contains;\n;\n\n//# sourceMappingURL=Generic.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Generic.js\n// module id = 34\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/js/dist/hterm.d.ts b/js/dist/hterm.d.ts index c66354b..8d82157 100644 --- a/js/dist/hterm.d.ts +++ b/js/dist/hterm.d.ts @@ -1,4 +1,4 @@ -import * as bare from "hterm"; +import * as bare from "libapps"; export declare class TermHterm { elem: HTMLElement; term: bare.Terminal; diff --git a/js/dist/hterm.js b/js/dist/hterm.js deleted file mode 100644 index 85a62b5..0000000 --- a/js/dist/hterm.js +++ /dev/null @@ -1,77 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var bare = require("hterm"); -var TermHterm = (function () { - function TermHterm(elem) { - var _this = this; - this.elem = elem; - this.term = new bare.Terminal(); - // this.term.defaultStorage = new lib.Storage.Memory(); - this.term.getPrefs().set("send-encoding", "raw"); - this.term.decorate(this.elem); - this.term.onTerminalReady = function () { - _this.io = _this.term.io.push(); - _this.term.installKeyboard(); - }; - } - ; - TermHterm.prototype.info = function () { - return { columns: this.term.screen.getWidth(), rows: this.term.screen.getHeight() }; - }; - ; - TermHterm.prototype.output = function (data) { - if (this.term.io.writeUTF8 != null) { - this.term.io.writeUTF8(data); - } - }; - ; - TermHterm.prototype.showMessage = function (message, timeout) { - this.term.io.showOverlay(message, timeout); - }; - ; - TermHterm.prototype.removeMessage = function () { - this.term.io.showOverlay("", 0); - }; - TermHterm.prototype.setWindowTitle = function (title) { - this.term.setWindowTitle(title); - }; - ; - TermHterm.prototype.setPreferences = function (value) { - var _this = this; - Object.keys(value).forEach(function (key) { - _this.term.getPrefs().set(key, value[key]); - }); - }; - ; - TermHterm.prototype.onInput = function (callback) { - this.io.onVTKeystroke = function (data) { - callback(data); - }; - this.io.sendString = function (data) { - callback(data); - }; - }; - ; - TermHterm.prototype.onResize = function (callback) { - this.io.onTerminalResize = function (columns, rows) { - callback(columns, rows); - }; - }; - ; - TermHterm.prototype.deactivate = function () { - this.io.onVTKeystroke = null; - this.io.sendString = null; - this.io.onTerminalResize = null; - this.term.uninstallKeyboard(); - }; - TermHterm.prototype.reset = function () { - this.removeMessage(); - // this.term.reset(); - }; - TermHterm.prototype.close = function () { - this.term.uninstallKeyboard(); - }; - return TermHterm; -}()); -exports.TermHterm = TermHterm; -//# sourceMappingURL=hterm.js.map \ No newline at end of file diff --git a/js/dist/hterm.js.map b/js/dist/hterm.js.map deleted file mode 100644 index 55205ad..0000000 --- a/js/dist/hterm.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"hterm.js","sourceRoot":"","sources":["../src/hterm.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/js/dist/main.js b/js/dist/main.js deleted file mode 100644 index 5b685c3..0000000 --- a/js/dist/main.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var hterm_1 = require("./hterm"); -var xterm_1 = require("./xterm"); -var webtty_1 = require("./webtty"); -var websocket_1 = require("./websocket"); -var elem = document.getElementById("terminal"); -if (elem !== null) { - var term_1 = new xterm_1.TermXterm(elem); - var httpsEnabled = window.location.protocol == "https:"; - var url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.hostname + ":8080/ws"; - var args = window.location.search; - var factory = new websocket_1.ConnectionFactory(url, webtty_1.protocols); - var wt = new webtty_1.WebTTY(term_1, factory, args, ""); - var closer_1 = wt.open(); - new hterm_1.TermHterm(elem); - window.addEventListener("unload", function () { - closer_1(); - term_1.close(); - }); -} -; -//# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/js/dist/main.js.map b/js/dist/main.js.map deleted file mode 100644 index 382c5ef..0000000 --- a/js/dist/main.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAAA,iCAAoC;AACpC,iCAAoC;AACpC,mCAA6C;AAC7C,yCAAgD;AAGhD,IAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;AAEhD,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;IAChB,IAAM,MAAI,GAAG,IAAI,iBAAS,CAAC,IAAI,CAAC,CAAC;IACjC,IAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAC1D,IAAM,GAAG,GAAG,CAAC,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,UAAU,CAAC;IACxF,IAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IACpC,IAAM,OAAO,GAAG,IAAI,6BAAiB,CAAC,GAAG,EAAE,kBAAS,CAAC,CAAC;IACtD,IAAM,EAAE,GAAG,IAAI,eAAM,CAAC,MAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAM,QAAM,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAEzB,IAAI,iBAAS,CAAC,IAAI,CAAC,CAAC;IAEpB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAC9B,QAAM,EAAE,CAAC;QACT,MAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC;AAAA,CAAC"} \ No newline at end of file diff --git a/js/dist/websocket.js b/js/dist/websocket.js deleted file mode 100644 index 23c3e88..0000000 --- a/js/dist/websocket.js +++ /dev/null @@ -1,60 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var ConnectionFactory = (function () { - function ConnectionFactory(url, protocols) { - this.url = url; - this.protocols = protocols; - } - ; - ConnectionFactory.prototype.create = function () { - return new Connection(this.url, this.protocols); - }; - ; - return ConnectionFactory; -}()); -exports.ConnectionFactory = ConnectionFactory; -var Connection = (function () { - function Connection(url, protocols) { - this.bare = new WebSocket(url, protocols); - } - Connection.prototype.open = function () { - // nothing todo for websocket - }; - ; - Connection.prototype.close = function () { - this.bare.close(); - }; - ; - Connection.prototype.send = function (data) { - this.bare.send(data); - }; - ; - Connection.prototype.isOpen = function () { - if (this.bare.readyState == WebSocket.CONNECTING || - this.bare.readyState == WebSocket.OPEN) { - return true; - } - return false; - }; - Connection.prototype.onOpen = function (callback) { - this.bare.onopen = function (event) { - callback(); - }; - }; - ; - Connection.prototype.onReceive = function (callback) { - this.bare.onmessage = function (event) { - callback(event.data); - }; - }; - ; - Connection.prototype.onClose = function (callback) { - this.bare.onclose = function (event) { - callback(); - }; - }; - ; - return Connection; -}()); -exports.Connection = Connection; -//# sourceMappingURL=websocket.js.map \ No newline at end of file diff --git a/js/dist/websocket.js.map b/js/dist/websocket.js.map deleted file mode 100644 index 9f68726..0000000 --- a/js/dist/websocket.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":";;AAAA;IAII,2BAAY,GAAW,EAAE,SAAmB;QACxC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAAA,CAAC;IAEF,kCAAM,GAAN;QACI,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAAA,CAAC;IACN,wBAAC;AAAD,CAAC,AAZD,IAYC;AAZY,8CAAiB;AAc9B;IAII,oBAAY,GAAW,EAAE,SAAmB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,yBAAI,GAAJ;QACI,6BAA6B;IACjC,CAAC;IAAA,CAAC;IAEF,0BAAK,GAAL;QACI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAAA,CAAC;IAEF,yBAAI,GAAJ,UAAK,IAAY;QACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAAA,CAAC;IAEF,2BAAM,GAAN;QACI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU;YAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,CAAA;QACf,CAAC;QACD,MAAM,CAAC,KAAK,CAAA;IAChB,CAAC;IAED,2BAAM,GAAN,UAAO,QAAoB;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,UAAC,KAAK;YACrB,QAAQ,EAAE,CAAC;QACf,CAAC,CAAA;IACL,CAAC;IAAA,CAAC;IAEF,8BAAS,GAAT,UAAU,QAAgC;QACtC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,UAAC,KAAK;YACxB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAA;IACL,CAAC;IAAA,CAAC;IAEF,4BAAO,GAAP,UAAQ,QAAoB;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,UAAC,KAAK;YACtB,QAAQ,EAAE,CAAC;QACf,CAAC,CAAC;IACN,CAAC;IAAA,CAAC;IACN,iBAAC;AAAD,CAAC,AA7CD,IA6CC;AA7CY,gCAAU"} \ No newline at end of file diff --git a/js/dist/webtty.js b/js/dist/webtty.js deleted file mode 100644 index ff6ac0b..0000000 --- a/js/dist/webtty.js +++ /dev/null @@ -1,99 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.protocols = ["webtty"]; -exports.msgInputUnknown = '0'; -exports.msgInput = '1'; -exports.msgPing = '2'; -exports.msgResizeTerminal = '3'; -exports.msgUnknownOutput = '0'; -exports.msgOutput = '1'; -exports.msgPong = '2'; -exports.msgSetWindowTitle = '3'; -exports.msgSetPreferences = '4'; -exports.msgSetReconnect = '5'; -var WebTTY = (function () { - function WebTTY(term, connectionFactory, args, authToken) { - this.term = term; - this.connectionFactory = connectionFactory; - this.args = args; - this.authToken = authToken; - this.reconnect = -1; - } - ; - WebTTY.prototype.open = function () { - var _this = this; - var connection = this.connectionFactory.create(); - var pingTimer; - var reconnectTimeout; - var setup = function () { - connection.onOpen(function () { - var termInfo = _this.term.info(); - connection.send(JSON.stringify({ - Arguments: _this.args, - AuthToken: _this.authToken, - })); - var resizeHandler = function (colmuns, rows) { - connection.send(exports.msgResizeTerminal + JSON.stringify({ - columns: colmuns, - rows: rows - })); - }; - _this.term.onResize(resizeHandler); - resizeHandler(termInfo.columns, termInfo.rows); - _this.term.onInput(function (input) { - connection.send(exports.msgInput + input); - }); - pingTimer = setInterval(function () { - connection.send(exports.msgPing); - }, 30 * 1000); - }); - connection.onReceive(function (data) { - var payload = data.slice(1); - switch (data[0]) { - case exports.msgOutput: - _this.term.output(decodeURIComponent(Array.prototype.map.call(atob(payload), function (c) { - return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); - }).join(''))); - break; - case exports.msgPong: - break; - case exports.msgSetWindowTitle: - _this.term.setWindowTitle(payload); - break; - case exports.msgSetPreferences: - var preferences = JSON.parse(payload); - _this.term.setPreferences(preferences); - break; - case exports.msgSetReconnect: - var autoReconnect = JSON.parse(payload); - console.log("Enabling reconnect: " + autoReconnect + " seconds"); - _this.reconnect = autoReconnect; - break; - } - }); - connection.onClose(function () { - clearInterval(pingTimer); - _this.term.deactivate(); - _this.term.showMessage("Connection Closed", 0); - if (_this.reconnect > 0) { - reconnectTimeout = setTimeout(function () { - connection = _this.connectionFactory.create(); - _this.term.reset(); - setup(); - }, _this.reconnect * 1000); - } - }); - connection.open(); - }; - setup(); - return function () { - clearTimeout(reconnectTimeout); - connection.close(); - }; - }; - ; - return WebTTY; -}()); -exports.WebTTY = WebTTY; -; -//# sourceMappingURL=webtty.js.map \ No newline at end of file diff --git a/js/dist/webtty.js.map b/js/dist/webtty.js.map deleted file mode 100644 index 44e364e..0000000 --- a/js/dist/webtty.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"webtty.js","sourceRoot":"","sources":["../src/webtty.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/js/dist/xterm.js b/js/dist/xterm.js deleted file mode 100644 index b663fa2..0000000 --- a/js/dist/xterm.js +++ /dev/null @@ -1,88 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var bare = require("xterm"); -bare.loadAddon("fit"); -var TermXterm = (function () { - function TermXterm(elem) { - var _this = this; - this.elem = elem; - this.term = new bare(); - this.message = elem.ownerDocument.createElement("div"); - this.message.className = "xterm-overlay"; - this.messageTimeout = 2000; - this.resizeListener = function () { - _this.term.fit(); - _this.term.scrollToBottom(); - _this.showMessage(String(_this.term.cols) + "x" + String(_this.term.rows), _this.messageTimeout); - }; - this.term.on("open", function () { - _this.term.fit(); - _this.term.scrollToBottom(); - window.addEventListener("resize", function () { _this.resizeListener(); }); - }); - this.term.open(elem, true); - } - ; - TermXterm.prototype.info = function () { - return { columns: this.term.cols, rows: this.term.rows }; - }; - ; - TermXterm.prototype.output = function (data) { - this.term.write(data); - }; - ; - TermXterm.prototype.showMessage = function (message, timeout) { - var _this = this; - this.message.textContent = message; - this.elem.appendChild(this.message); - if (this.messageTimer) { - clearTimeout(this.messageTimer); - } - if (timeout > 0) { - this.messageTimer = setTimeout(function () { - _this.elem.removeChild(_this.message); - }, timeout); - } - }; - ; - TermXterm.prototype.removeMessage = function () { - if (this.message.parentNode == this.elem) { - this.elem.removeChild(this.message); - } - }; - TermXterm.prototype.setWindowTitle = function (title) { - document.title = title; - }; - ; - TermXterm.prototype.setPreferences = function (value) { - }; - ; - TermXterm.prototype.onInput = function (callback) { - this.term.on("data", function (data) { - callback(data); - }); - }; - ; - TermXterm.prototype.onResize = function (callback) { - this.term.on("resize", function (data) { - callback(data.cols, data.rows); - }); - }; - ; - TermXterm.prototype.deactivate = function () { - this.term.off("data"); - this.term.off("resize"); - this.term.blur(); - }; - TermXterm.prototype.reset = function () { - this.removeMessage(); - this.term.clear(); - }; - TermXterm.prototype.close = function () { - window.removeEventListener("resize", this.resizeListener); - this.term.destroy(); - }; - return TermXterm; -}()); -exports.TermXterm = TermXterm; -//# sourceMappingURL=xterm.js.map \ No newline at end of file diff --git a/js/dist/xterm.js.map b/js/dist/xterm.js.map deleted file mode 100644 index 5356727..0000000 --- a/js/dist/xterm.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"xterm.js","sourceRoot":"","sources":["../src/xterm.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/js/libapps b/js/libapps deleted file mode 160000 index f05b714..0000000 --- a/js/libapps +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f05b714d7ff1368b3669b041ae83fcaec1742a61 diff --git a/js/package-lock.json b/js/package-lock.json index 6044aa1..a87f78b 100644 --- a/js/package-lock.json +++ b/js/package-lock.json @@ -890,6 +890,9 @@ "invert-kv": "1.0.0" } }, + "libapps": { + "version": "github:yudai/libapps#424e3e95e5346ef0c0c281aaf2ef73463a55b39e" + }, "load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", diff --git a/js/package.json b/js/package.json index 3519d50..3d65712 100644 --- a/js/package.json +++ b/js/package.json @@ -5,6 +5,7 @@ "webpack": "^2.5.1" }, "dependencies": { + "libapps": "github:yudai/libapps#hterm-1.70", "xterm": "^2.7.0" } } diff --git a/js/src/hterm.ts b/js/src/hterm.ts index 77e997d..171616e 100644 --- a/js/src/hterm.ts +++ b/js/src/hterm.ts @@ -1,5 +1,4 @@ -import * as bare from "hterm"; -import * as bareLib from "htermLib"; +import * as bare from "libapps"; export class TermHterm { elem: HTMLElement; @@ -15,8 +14,8 @@ export class TermHterm { constructor(elem: HTMLElement) { this.elem = elem; - hterm.defaultStorage = new bareLib.Storage.Memory(); - this.term = new bare.Terminal(); + bare.hterm.defaultStorage = new bare.lib.Storage.Memory(); + this.term = new bare.hterm.Terminal(); this.term.getPrefs().set("send-encoding", "raw"); this.term.decorate(this.elem); diff --git a/js/typings/hterm/index.d.ts b/js/typings/hterm/index.d.ts deleted file mode 100644 index e77ca9b..0000000 --- a/js/typings/hterm/index.d.ts +++ /dev/null @@ -1,47 +0,0 @@ -export interface Terminal { - io: IO; - onTerminalReady: () => void; - - getPrefs(): Prefs; - decorate(HTMLElement); - installKeyboard(): void; - uninstallKeyboard(): void; - setWindowTitle(title: string): void; - reset(): void; - softReset(): void; -} - -export interface TerminalConstructor { - new (): Terminal; - (): Terminal; -} - - -export interface IO { - writeUTF8: ((data: string) => void); - writeUTF16: ((data: string) => void); - onVTKeystroke: ((data: string) => void) | null; - sendString: ((data: string) => void) | null; - onTerminalResize: ((columns: number, rows: number) => void) | null; - - push(): IO; - writeUTF(data: string); - showOverlay(message: string, timeout: number | null); -} - -export interface Prefs { - set(key: string, value: string): void; -} - -export interface Storage { -} - -export var Terminal: TerminalConstructor; - -// @TODO: is there better way? -// exported variables are forced to be read-protected. -declare global { - var hterm: { - defaultStorage: Storage; - }; -} diff --git a/js/typings/htermLib/index.d.ts b/js/typings/htermLib/index.d.ts deleted file mode 100644 index 67575c9..0000000 --- a/js/typings/htermLib/index.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -export interface Storage { -} - -export interface Memory { - new (): Storage; - Memory(): Storage -} - -export var Storage: { - Memory: Memory -}; diff --git a/js/webpack.config.js b/js/webpack.config.js index dee3278..c3cb8fb 100644 --- a/js/webpack.config.js +++ b/js/webpack.config.js @@ -3,10 +3,6 @@ module.exports = { output: { filename: "./dist/bundle.js" }, - externals: { - "hterm": "hterm", - "htermLib": "lib" - }, devtool: "source-map", resolve: { extensions: [".ts", ".tsx", ".js"], diff --git a/resources/index.html b/resources/index.html index 3164ceb..d4a4708 100644 --- a/resources/index.html +++ b/resources/index.html @@ -6,7 +6,6 @@ -
diff --git a/server/asset.go b/server/asset.go index 40e8e0d..d5d9795 100644 --- a/server/asset.go +++ b/server/asset.go @@ -6,7 +6,6 @@ // bindata/static/favicon.png // bindata/static/index.html // bindata/static/js/bundle.js -// bindata/static/js/hterm.js // DO NOT EDIT! package server @@ -89,7 +88,7 @@ func staticCssIndexCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/css/index.css", size: 116, mode: os.FileMode(436), modTime: time.Unix(1503300248, 0)} + info := bindataFileInfo{name: "static/css/index.css", size: 116, mode: os.FileMode(436), modTime: time.Unix(1503381631, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -109,7 +108,7 @@ func staticCssXtermCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/css/xterm.css", size: 35782, mode: os.FileMode(436), modTime: time.Unix(1503299726, 0)} + info := bindataFileInfo{name: "static/css/xterm.css", size: 35782, mode: os.FileMode(436), modTime: time.Unix(1503381631, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -129,7 +128,7 @@ func staticCssXterm_customizeCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/css/xterm_customize.css", size: 516, mode: os.FileMode(436), modTime: time.Unix(1503300248, 0)} + info := bindataFileInfo{name: "static/css/xterm_customize.css", size: 516, mode: os.FileMode(436), modTime: time.Unix(1503381631, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -149,12 +148,12 @@ func staticFaviconPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/favicon.png", size: 863, mode: os.FileMode(436), modTime: time.Unix(1503299028, 0)} + info := bindataFileInfo{name: "static/favicon.png", size: 863, mode: os.FileMode(436), modTime: time.Unix(1503381631, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _staticIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x91\x41\x8e\xb3\x30\x0c\x85\xf7\xff\x29\xfc\xe7\x00\xf8\x02\xa1\x57\xa9\x68\xe2\x12\xd3\x90\x20\x6c\x50\x99\xaa\x77\x1f\x85\x4c\x17\x23\x2a\xcd\x68\x56\xb1\xfc\xde\xf7\x62\xd9\xf6\xbf\xcf\x4e\xb7\x89\x20\xe8\x18\x4f\xff\x6c\x7d\x00\x6c\xa0\xce\x97\x02\xc0\x2a\x6b\xa4\xd3\xe3\x01\xcd\x5e\xc1\xf3\x69\xb1\xf6\xaa\x1e\x39\xdd\x60\xa6\xd8\x1a\x76\x39\x19\x28\x79\xad\xe1\xb1\xeb\x09\xa7\xd4\x1b\x08\x33\x5d\x5b\x73\xed\xd6\xa2\x37\xa5\x75\x20\x45\xb7\x48\x12\x88\xf4\x65\x6f\xd0\x89\x20\x27\x4f\xf7\xc6\x89\x18\xc0\x5f\x43\x77\xa5\x79\xfc\x13\x74\x76\x8b\x68\x1e\xf9\x83\xbe\xe3\xe2\x66\x9e\x14\x64\x76\xad\xc1\x41\x30\xec\x3f\x0c\x62\x4e\x16\xab\xb6\x2f\x0d\x5f\x5b\xb3\x97\xec\xb7\x2f\xd6\xf3\x0a\xec\x5b\x53\x10\x4e\x5d\x2c\x8c\xe7\xf5\x4d\x72\x83\xdd\xa2\xe1\xac\xf9\x46\xe9\x10\x7e\xf0\xba\x9c\xae\xdc\xff\xec\x1b\x04\x2f\x4b\xf2\x91\xde\xcc\x5b\xc7\xb4\x58\xcf\xfe\x19\x00\x00\xff\xff\x1d\x76\x7c\x01\x0e\x02\x00\x00") +var _staticIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x91\x51\x6a\xc3\x30\x0c\x86\xdf\x77\x0a\xcd\x07\x88\x2e\xa0\xf4\x2a\x25\xb5\x95\x44\xad\x63\x87\x48\x09\xcd\x4a\xef\x3e\x3c\xb7\x30\xe8\x60\x63\x4f\x16\xfa\xbf\xef\xc7\xd8\xf4\x1e\xb2\xb7\x7d\x66\x18\x6d\x8a\x87\x37\xaa\x07\x00\x8d\xdc\x85\x32\x00\x90\x89\x45\x3e\xdc\x6e\xd0\x7c\x4d\x70\xbf\x13\xd6\x5d\xcd\xa3\xa4\x0b\x2c\x1c\x5b\x27\x3e\x27\x07\xa5\xaf\x75\x32\x75\x03\xe3\x9c\x06\x07\xe3\xc2\x7d\xeb\xfa\x6e\x2b\x79\x53\x56\x2f\xa6\xda\x1e\x59\x47\x66\x7b\xe2\x0d\x7a\x55\x94\x14\xf8\xda\x78\x55\x07\xf8\x67\xe9\x6a\xbc\x4c\xff\x92\x8e\x7e\x55\xcb\x93\x7c\xf0\x37\x9d\xf0\xf9\x18\x74\xca\x61\x7f\x34\x06\xd9\x40\x42\xeb\x8a\x26\xa9\x8b\xee\x40\x18\x64\x7b\xa4\xea\x17\x99\x0d\x74\xf1\xa5\xbf\x5b\x6d\x3c\x5a\xbe\x70\x6a\xce\x5a\xc0\x1a\xff\xc8\xfa\x9c\x7a\x19\x7e\xe7\xce\x8a\xa7\x35\x85\xc8\x2f\x28\x61\xbd\x26\x61\xfd\xcd\xcf\x00\x00\x00\xff\xff\x9f\x85\xd7\x0f\xe5\x01\x00\x00") func staticIndexHtmlBytes() ([]byte, error) { return bindataRead( @@ -169,12 +168,12 @@ func staticIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/index.html", size: 526, mode: os.FileMode(436), modTime: time.Unix(1503299786, 0)} + info := bindataFileInfo{name: "static/index.html", size: 485, mode: os.FileMode(436), modTime: time.Unix(1503381631, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _staticJsBundleJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x6b\x73\x1b\x4b\xb2\x20\xf6\x79\xf8\x2b\x4a\x9c\x1d\xa1\x21\x82\x10\x1e\x7c\x53\x90\x2e\x09\x92\x23\xdd\xa3\xd7\x92\x3c\x8f\x59\x8a\xcb\x69\x74\x17\x80\x96\x1a\xdd\x98\xee\x06\x09\x8c\xc8\xf9\x64\x3b\xc2\x1f\xfd\xc5\xe1\x0f\x1b\xe1\xd7\xb5\xef\x5d\x87\xc3\xb1\x76\x6c\x6c\xd8\xe1\xb5\x1d\x31\xe7\x8f\x39\xea\xd9\xf5\x6c\x34\x40\xea\x48\x77\xf6\x30\x66\x8e\xd0\x55\x59\x59\x59\x59\x59\x59\x59\x55\x59\x59\x4f\x9f\xe0\xbf\xa7\xc0\xe9\x4f\x22\x2f\x0b\xe2\xc8\x19\xc5\xfe\x24\x84\x69\x15\x7c\x06\x4f\x9f\x82\x1b\xd8\x1b\xbb\xde\xa7\xc3\x38\xce\xd2\x2c\x71\xc7\x2b\xbc\xc4\x6f\x9e\x3e\x05\xe7\x43\x08\x08\x3c\xf0\x5c\x6f\x08\x85\xdc\x6b\x37\x01\x41\x94\x66\x6e\x18\x42\xff\x0d\xc1\x09\x3a\xe0\xf3\xdd\x3e\x07\xd2\x71\x25\xf0\x4f\x93\x20\x81\x80\x11\x23\x40\xb0\x24\x70\x75\x45\x69\xba\xa2\xd0\x57\x57\x94\xe6\x57\x7e\x15\x7c\x36\x61\x47\xe8\xbb\x43\xe8\x7d\x02\x41\x9f\xd1\x1b\xa4\x20\x88\x34\xaa\x7f\x13\xf4\x1d\x95\xea\x0b\x86\xfd\x52\x44\x0f\x7e\xf3\x9b\xdf\x24\x30\x9b\x24\x91\xd6\xcc\xbc\x40\x1d\x4e\xc7\x71\x92\xa5\xfb\x62\xb1\x3b\x95\xb2\x04\xba\x19\x04\x2e\x88\xe0\x0d\xa3\xce\x71\x23\x1f\x8c\x27\x19\x08\x32\x10\x44\x59\x0c\xb2\x21\x65\x71\x55\x2c\x8d\x98\x4c\x4b\x74\x0a\xc8\x40\x7c\x97\x08\x0f\xf6\x00\xcb\xac\x49\x19\xe1\x1e\xe8\xbb\x61\x0a\xe5\x54\xda\x8a\x3d\xf0\x59\xa2\xdd\xdc\x95\xa8\x49\xc7\x53\xe8\x4d\x32\x88\xa9\xa6\xf4\x19\xba\xf4\x37\x23\x8d\x5f\x9e\x1b\x86\xb4\x37\x19\xef\x6a\x14\x03\xfb\x37\x4f\x37\x48\x42\xd5\x4a\xd2\x49\xe8\x0e\x44\x7a\xdc\x14\x84\xb1\xeb\x43\x5f\x27\xa8\x1e\x82\x0e\xc8\x92\x09\xb4\x22\x3b\x25\x1d\x8f\xd0\x51\x6a\x40\xdc\x17\xb0\x8b\xe0\x54\x48\x64\xe2\x45\x81\xb8\xd3\x6b\x91\x47\x06\x2a\x93\x8a\xcc\x4c\x41\xdc\xfb\x08\xbd\x0c\x38\x39\x0b\x68\xce\xd5\x95\x28\x20\x06\x0e\xd5\x47\xa0\xc3\xd0\xd8\x86\xa2\x56\xa1\x36\x4e\x4c\x88\x3d\x83\x0c\xda\x6a\x08\x7c\x18\x65\x41\x36\xe3\x62\x01\xfa\x71\x02\x50\xef\x07\xd1\x00\x0c\xdd\x64\x14\x47\x33\x10\x8c\x08\x6f\x6f\x82\x6c\x48\x46\x40\x9c\x24\xa8\xdd\x5e\x1c\x65\x70\x9a\xcd\x21\x28\x00\x1d\x8e\xdf\xb9\x76\xc3\x09\x44\x4a\x8d\xf6\x07\xfe\xde\x07\x56\x75\xe4\xc3\x7e\x10\x41\x30\x80\x59\x06\x13\x99\x4c\x46\x1e\xed\xcb\x39\x54\xf8\x22\x15\x5c\x76\x23\x77\x04\x6b\x14\xbb\xa2\x56\x82\xbe\xf3\xc8\x84\x28\x96\x4b\x57\x55\x6d\xf4\x0e\xcb\x44\x9d\x10\xfe\x3e\x89\xc7\x30\xc9\x66\x6a\x8d\x72\x91\xdf\x78\x71\xd4\x0f\x06\x93\xc4\xed\x85\xd0\x38\xf4\x7f\x03\xa3\xc9\x08\xd2\x7c\x34\x26\x94\xec\x01\xcc\xf6\x68\x33\xa4\x8c\xbb\xaa\x55\xe7\x59\x59\x3e\x80\xd9\x11\xec\xbb\x93\x30\x3b\xc6\x44\x2b\xc2\x11\x8f\xc6\x6e\x16\xf4\x82\x10\xc9\x0d\x16\x89\x28\x8e\xd6\x59\x67\x50\x91\x9e\xd3\x19\x91\xd8\x19\xa4\x88\xc2\x46\xa4\x52\x69\xa7\xb3\x71\x02\x1e\x3f\x66\xc3\xf7\xea\x0a\xa6\x44\xb4\xc1\x0b\xa9\xbd\x9c\xd4\xbc\x11\x8e\x20\x6d\xa4\xf8\x45\xc5\x27\x59\x95\xcb\x7d\x70\x07\xf6\xac\x18\x48\x15\x84\x0b\xa9\x8e\x47\x12\x5b\xf0\x1b\xb3\xd8\x39\xa4\x15\x35\x50\x71\x2b\x5c\xd2\xf6\x0d\x9a\x89\x64\xed\x97\xe9\x21\x2a\x62\xe3\x24\xce\xe2\x6c\x36\x86\xf5\xa1\x9b\xbe\xbb\x89\x98\xb0\x61\xf5\x3d\xa7\x07\x62\xb1\x07\x88\x1a\xab\x81\x31\x45\x20\xb4\xb4\x4c\x55\x7a\xf9\x82\x01\x9d\x13\x33\x9e\xf4\xc2\xc0\xbb\x1a\xbb\xd9\xf0\xea\x6a\x0e\xb9\x63\xd0\x01\xab\xab\x36\x9c\xaf\x63\xd7\x07\x30\xca\x92\x19\x9f\x56\x22\x9f\xb5\x40\x57\x0f\x34\xc3\x64\xc1\x98\xea\x46\xf6\x52\x73\x43\xec\xb3\x3b\xae\xdc\xef\xff\x27\x34\xc5\xb9\x58\x79\xfa\x04\x34\x00\x4d\xd3\xad\xc1\x1a\x28\x9c\x74\xc1\xe7\x95\x95\xd5\x49\x0a\x41\x9a\x25\x81\x97\xad\xee\xaf\xac\xcc\x51\x46\xab\xf9\x40\x5a\xad\x81\xcf\x44\x1b\x13\x05\x03\x90\xea\x40\xa3\xb0\x1b\x8f\xc6\x71\x1a\x20\x32\x5e\xc2\x70\x0c\x93\xab\x26\xe8\x18\x99\xd7\xdc\xa4\x45\x8e\xaf\x61\x94\x1d\x8f\x02\x24\xd0\x76\x68\x0a\xfc\x43\x00\x6f\x10\x39\x56\xc0\x56\x8b\x51\x12\x06\xe3\x5e\xec\x26\xbe\x1d\x74\x97\x81\x06\x89\x37\x09\xdd\xe4\x75\x90\xda\x11\xb7\x19\x09\xc7\xa9\xe7\x8e\xe1\x19\xfc\xd3\x04\x46\x1e\x4c\xed\xe8\x29\xfc\xab\x68\x3c\xc9\x5e\xba\x91\x1f\x16\xb5\x6f\x8b\x42\xbf\x77\x93\xb4\x08\x6e\x87\xc2\x9d\xc2\xc8\x87\x49\x11\x24\x6b\xdd\xeb\x20\xfa\x14\xf4\x83\x22\xd0\x6d\x0a\x7a\x06\x43\x88\x45\xe8\x8d\x1b\xb9\x83\x82\x12\xad\x06\x63\xdd\xd0\x4d\xde\x40\x37\x9d\x24\xd0\xce\x39\x06\x7c\x98\xc4\x37\x29\xd6\xd1\x26\x30\xd6\xb2\x37\xf1\x24\xb5\x23\x63\xad\xf2\x63\x6f\x32\x82\x51\x06\x3a\xc0\x41\xaa\x26\xee\x83\x9b\x20\xf2\xe3\x1b\xf0\xa8\x03\x2a\x93\x88\x08\xb1\x5f\xa9\x82\x17\x34\xa3\xce\x8b\xec\x81\x68\x12\x86\x04\xcf\x8f\xa7\xaf\xce\x8f\xaf\x0e\xbf\x3f\x39\x39\x3e\xbd\x7a\x7f\xf0\xfd\xd9\xf1\xd5\xf9\xcb\xd3\xe3\xb3\x97\xef\x5e\x1f\x81\x0e\xd8\x94\xa0\x0e\xce\xbb\x2f\xaf\xce\x5e\xfd\xab\x63\xd0\x01\xed\x46\x83\xb2\xe0\xfb\xd3\xb3\x77\xa7\x57\x87\xaf\x5f\xbd\xfd\xee\xea\xd5\xdb\xf3\xe3\xd3\x1f\x0e\x5e\x83\x0e\xd8\x42\x00\x7c\x82\x38\x87\xc9\x28\x88\xdc\xd0\x89\xc7\xe8\x1b\x2d\xd5\x56\x00\x00\x00\x61\x48\x61\xd8\x47\xd6\xeb\x30\x48\xf7\x71\x62\xd0\x07\xce\x23\x07\x7d\x13\xe3\x2c\xf2\x50\xfb\x18\x8a\x2a\x2b\x8b\xfe\xa8\x7a\x42\xcb\x10\x5e\x85\x9b\x0c\x70\x43\xd3\x8b\xc6\x65\x0d\xe4\x5f\x4d\xe9\xab\x75\x59\x25\xb5\xdd\xe1\xff\x22\x22\xea\x3d\xde\x43\xb4\xaf\xf6\xf3\x3c\x0f\x91\x81\xac\x6c\x56\x0f\x4d\x21\x20\xf2\x28\xae\x8b\x9f\x44\xed\xa3\xd6\x54\xf3\xe6\xd1\x3e\xa3\xdc\x00\x9d\x4e\x07\x54\xa2\xc9\xa8\x07\x93\x8a\xd8\x3c\x9e\x2f\xa4\xa1\x3f\x2f\x0e\xd3\x3d\x20\x35\x54\xca\x47\xd4\xef\xc9\x4d\x97\xf2\x87\x64\x3c\xee\x49\xfc\xe0\x10\x77\x22\x63\x72\x12\xd8\xaf\xdb\x5b\xbc\x24\x46\x99\x54\x65\x7e\x82\xb3\xd4\xe1\x7c\xa1\x06\x43\x5a\xad\xf7\xe3\xe4\xd8\xf5\x86\x5c\x35\x03\xe7\x13\x9c\x89\xed\x43\xac\xa0\x68\x2f\x3e\xc1\xd9\x25\xe8\x74\xb0\x70\x56\x95\xf6\xca\x30\x79\x17\x88\xe9\xfb\x52\x09\x84\x99\x81\x91\x62\x8f\x3a\x42\x41\x46\x23\xce\x52\x6b\x2b\xa8\xd1\x50\xd3\xdd\x8a\xfe\x0b\x49\x0c\x2b\xaa\xd3\x78\x27\x08\x02\xcd\xad\x7b\x71\x18\x27\x69\x3d\x84\xd1\x20\x1b\x62\x79\xd8\x31\x08\x02\x05\xcb\xb1\xb2\x72\x5e\x1c\x79\x6e\x96\xf7\xc1\x15\x4d\x4f\xc3\xc0\x83\xce\x4e\x55\x92\x75\x18\xa6\x70\x4e\xe5\xcd\xad\x87\xab\xbd\xb9\xb5\x78\xf5\x8d\x45\xaa\x27\xd5\x34\x6a\x60\xbd\x55\x9d\xc7\x09\x0c\x54\x33\x63\x58\x6f\x2d\x4e\xe8\x03\xf6\x52\x73\x6b\x11\xe2\x90\x42\xb1\x55\xb4\x9f\x43\x68\xc3\x57\xc8\x1b\xbb\x09\x99\x42\x58\xe9\x5e\xec\xcf\xd0\xf0\x66\xdf\x14\xe0\xf6\x16\x38\x7c\xf6\x78\xc1\xe7\x9e\xfa\x00\x66\xc7\x21\xc4\xea\xe3\x70\x76\xee\x0e\xde\xba\x23\xe8\x54\x10\x92\x4a\xf5\xa2\x71\x49\x27\x9a\xea\xbe\x44\xaf\x42\x6d\x2a\xd6\x37\x80\xf1\x08\x66\xc9\xec\xa2\x71\x29\x14\x42\xca\x4c\x28\x84\x3f\x4d\x85\x9a\x62\x21\x96\x0a\x3a\xe0\x82\x57\x5d\xcb\x11\x5e\xea\x43\x90\x2a\x45\xb1\x43\x09\x0b\x23\xa7\xe2\xbb\x19\x5a\x92\xa8\xa0\x5a\x87\xcc\x7a\x6e\x0a\x41\x07\x34\x04\x52\x66\x7e\x90\x8e\x95\xb4\xa9\x0a\xa3\x7c\x7b\x93\x24\x8d\x93\xb3\xcc\xcd\x54\x6c\x24\xe7\x65\xe0\xfb\x10\xaf\x0c\xd1\xfa\x57\xe2\x70\x74\x0d\x93\xec\x38\x0e\x85\xc4\x3f\x4d\xe0\x04\xe1\xa9\x54\x84\xc4\xd4\x4b\xe2\x30\x3c\x8f\x55\xd2\x48\xfa\x61\x9c\x65\xf1\x88\x4e\xcb\x84\xe7\xeb\xa0\x29\xd1\x91\x66\xf1\xe8\x3b\x38\xc3\x73\x1d\x35\xf0\x40\x87\xda\x16\x0a\xb9\x87\x61\x10\x7d\x7a\x15\x65\x30\xb9\x76\x43\x1d\xc8\x1d\x8f\xc3\xc0\x73\x11\x6f\xbf\x83\xb3\xb1\xeb\x1b\x1a\x26\xc0\x74\x31\x4e\x03\x4c\x9c\x04\x83\x20\x7a\x13\xfb\xd0\x90\x19\x44\x29\x4c\x32\x4b\xe6\x4d\xe2\x8e\xdd\x24\x9e\x44\x3e\x05\x20\x7b\x69\x3c\x3f\x8a\x93\x91\x89\x72\x6f\x88\x0c\xd6\x4c\xcf\x18\xd8\x73\x42\x78\x8d\x0d\x89\x86\x8e\x07\xc9\xf9\x05\x82\x17\x45\xd9\x87\xde\xeb\xd8\x73\xb3\x38\x11\x05\xa8\xd9\xc0\x96\xa2\x90\x74\x9d\xb5\x1a\x86\xc4\xb6\x9e\x48\x5a\xa3\xa6\x8e\xd0\x37\xee\x4d\x51\x49\xa4\x30\xf2\x4f\x62\x6f\x22\xa6\x4d\xb2\xbe\x5a\x38\x1d\x24\x6a\xd2\x24\x99\x5e\x67\x6a\x22\x24\x0a\x43\x6a\x7a\x10\xfa\x09\x8c\xc4\x11\x0f\xfb\x09\x4c\x87\x67\x99\x9b\x64\x7a\xf2\x71\xe4\x8b\x15\xbb\xd7\xd0\xff\x49\x4d\xf8\x83\x9a\xd0\x8d\xc3\x54\x42\xe5\xfa\x6e\x2f\x34\xf4\xf4\x4d\x12\x64\xe6\x1c\x1f\xf6\x0f\xb2\x0c\xc9\x9d\xd3\x00\xcf\x9e\x61\xdd\x7f\x0b\x9c\xd6\xe6\x36\xfa\xda\xa5\x1f\x5b\xe8\xa3\x51\x95\x87\x00\x2d\x27\xa2\x91\xf5\xb0\x3b\xc2\x5d\x7f\x29\x17\x43\xda\xf7\x3d\xca\x54\xa4\x65\x9c\xc0\x7e\x30\x55\x07\xf4\x38\x4e\x33\x43\x72\x20\x2c\xc0\x90\x34\xc2\x1b\x65\x4d\x56\x17\x3f\x45\x43\x95\x11\x97\xf2\x82\x6c\x79\x56\x27\x3f\x1c\xad\x02\xa2\x61\xab\x12\xa7\xc9\x4a\x8d\xab\x12\xf6\x7d\x7b\xab\x8e\x8c\x54\x59\x7f\xb1\x22\x5a\xba\x5e\x34\x64\xab\x3c\x56\x26\x4f\x40\xc0\xf0\x46\x5c\x07\xd6\xf9\x6f\xa7\xaa\xf4\x3c\x3c\x9c\xf4\xfb\x18\x8b\xd4\x17\x38\xeb\x55\xf4\x3e\x89\x07\x09\x4c\x53\x83\x02\x99\xc6\xfd\xfe\x19\x8c\xb2\xf3\xb8\xeb\x66\xde\xf0\xfb\xb1\x51\xc9\x04\x19\x3c\xcb\xe2\xf1\x18\x9a\x34\x5c\x3a\x49\x92\x78\xe0\x66\xf0\x6a\x18\x0c\x86\x6a\x37\x86\x41\x84\x4f\xa3\x50\x5b\xe4\x15\x7b\x5d\xfc\x74\x04\x1d\xde\x73\xbd\x4f\xb4\x81\xf8\x68\x4b\xd4\xe6\x24\xf9\x66\x18\x84\x10\x38\xc1\xfa\xba\x36\xeb\xe1\xfa\xea\xe3\x49\x3a\x24\x28\x7b\xa1\x1b\x7d\x7a\x1d\x44\xd0\x91\xed\x10\xbc\x9a\x31\xf5\x92\x86\x51\x05\xa8\xa7\x30\x23\xec\x76\xf2\x1a\xf5\x29\x35\x73\x7b\xb2\x3e\xca\x26\x63\xc4\xc4\x54\xea\xbc\x49\x0a\x93\x33\xdc\xea\x20\x1a\xe4\xcc\xbd\x5b\x09\xa2\x21\x4c\x82\x2c\x5f\x9f\xd4\x8a\x16\x6b\xd5\xfd\x15\x6e\x9d\xe5\xfb\x78\x30\x71\x53\x48\xc7\x70\xbe\x96\x61\x0d\xa4\x6b\x50\x47\x52\x12\x8f\xc1\x5f\x1a\xd3\x66\xbf\x8f\xb5\x82\xa4\x06\x1e\x03\x92\xb1\xbf\x72\x27\x54\x96\xb9\xd1\x20\xee\x32\x73\xee\x02\x23\xae\xfc\xb6\x05\xdb\x1b\xed\xad\x4a\x8d\x7e\x7a\x5e\xa3\xd1\x68\xf0\xcf\x0d\xb8\xeb\x36\x84\xdc\x0d\x57\xcc\x6d\x6f\x6c\x6d\xba\x1b\xfc\x73\x7b\x73\xb3\xb1\xdd\xe3\x9f\x8d\xad\xdd\x9d\x5d\x97\x7f\xfa\x6d\x7f\xdb\xeb\xf3\xcf\xcd\xcd\xcd\xed\xcd\x36\xff\x84\xfd\xd6\x6e\x6b\x97\x7f\xee\xb8\xb0\xd5\xce\x31\xf7\x3d\xb8\xbb\x91\x97\xdd\x6e\xed\xf6\x05\x54\xae\xbf\xdd\x77\x77\x04\xaa\x60\x0b\xb6\x72\xcc\xe8\xcf\xab\xac\x5c\x0a\xac\xe0\x46\xad\xa3\xf3\x1a\xc9\x31\xcf\x37\x31\x8f\x5a\xcb\xd5\x1a\xc0\x83\xb8\x31\x6d\x34\x6a\xa0\x31\xdd\xec\xa3\xff\xee\x6c\xa3\xff\xba\xf8\xb7\x8f\x7f\xf7\xfb\x97\x35\x10\x50\x5b\x30\xd7\xb2\xfd\x38\x01\xce\x3e\x08\xc0\x33\xd0\x6a\x6e\xed\x83\x60\x6d\x4d\xb2\xf3\x27\x99\x93\x5c\x38\x01\x78\x0a\xda\x5b\x55\xf0\x3b\xb0\x05\x6e\x41\xe3\xb2\x06\x68\xa2\x92\x16\xa0\x2f\x79\xbb\xc1\x52\xd7\x86\x56\x15\x6a\xc5\x0e\x58\x03\x01\x78\x02\x9a\x8d\x7d\x99\x84\x1a\x40\xff\x93\x10\x73\x96\x51\x80\x41\x0d\xf4\x44\x7c\x74\x4d\x81\xc7\x75\xe5\xb7\x15\xb0\x06\x86\x70\xea\x24\x55\xfa\x63\xc0\x7e\xf4\xaa\x66\xb4\x28\xcf\x93\x10\x82\x0e\xf0\xea\x59\x7c\x96\x25\x41\x34\x20\x3b\x79\x9c\x78\x32\x32\x3c\xb6\x62\x7a\x06\x5a\xe0\x05\xa8\x34\x50\xb5\x1e\xd8\x03\x9e\x58\x05\x03\xa6\x2b\x98\xbb\xaa\x23\x0e\xc6\x2b\xbd\xd7\xa5\xe5\x91\x08\x7b\x3d\x4f\x82\xe2\x49\x86\x35\x7c\xcd\x20\x4b\x24\xa5\x46\x7a\x88\x02\xe8\x1d\xb5\xa9\x0b\x05\x86\x04\x1d\x80\x27\xcc\x57\x51\xe6\x10\x4c\x17\xc1\x65\x3d\x9d\xf4\x52\xca\x9e\x6a\x0d\x48\x2c\x8a\x27\x19\xe9\x8c\x0b\x9e\x84\xfe\x48\x61\xf0\xfc\x39\x5e\x89\x3f\xc6\x92\x5a\xb3\x40\xec\x98\x01\x48\x3e\xc9\xe1\x19\xb2\x14\x52\x96\xc7\x93\x4c\xe3\x37\xdb\x20\xe1\x5b\x4f\xa4\x35\x7b\x1a\xa3\xa8\x0a\x86\x23\xb8\x07\xf8\x59\x51\x8d\x16\x61\x6b\x11\x7e\x4e\x87\x81\x61\x32\x42\x4b\xc5\x3d\x50\x99\xa2\xdf\x14\x9a\xad\xd8\xf6\xc0\xc5\x4e\xa3\x06\x5a\x1b\x74\xcf\x4a\x58\x41\x48\x68\xd8\x12\x69\x16\x22\x4c\xbd\x30\xf6\x3e\x51\x4c\xd7\x41\x3a\x71\xc3\x43\x18\xca\xf5\x8e\xe3\xf1\xbb\x48\x4b\xcd\xa7\xca\x3d\xd0\x6c\x34\x1a\x3c\x15\x42\xb4\x18\x49\x25\x60\x1f\xf6\x26\x03\x99\x0a\xbc\x09\x48\xac\x66\x19\x34\x48\x91\x19\x79\x96\xf9\x41\x24\x65\x4c\x52\x78\x12\xc6\x37\xdd\x38\xca\x12\x95\x33\x6e\x0f\xcd\x6c\x3f\x06\x7e\x36\xdc\x03\x3b\xd2\x04\x21\x6c\x05\x8a\xc9\x7d\x64\x9a\xf3\x45\x06\x74\xbd\xa1\x63\xd9\x8d\xab\x01\xe3\x36\x9c\xbc\x49\x66\xdb\x22\xdb\x97\x60\xeb\xb6\xfd\x38\xa5\xcc\x9d\x79\x3a\x65\x34\x5b\xa7\x52\x32\xef\xc3\x69\xe6\x26\xd0\x25\xe0\x8e\x32\x5f\xe6\xd8\x06\x30\x7b\x87\xc9\x91\x30\x7e\x82\xb3\x1a\x60\x07\xe8\xdc\x50\x79\x84\xd2\x41\x10\xe9\x14\x57\x65\x73\x25\x89\x6f\xb0\xa5\x75\x9c\x24\x71\xe2\x54\xde\xc6\x74\xe9\x4f\x0e\x71\x11\x92\x55\xa4\xc4\xd0\x8f\x35\x50\x59\xad\xe8\x26\x11\xd9\xe0\x15\xf7\x60\xf2\x6d\x48\x69\x83\x5e\xdb\xcc\xd6\xca\x18\x86\x2c\x82\x61\x4c\x36\x72\x25\xfd\xe6\xb8\x92\xde\x04\x99\x37\xd4\xb6\x80\x3d\x37\x85\xa0\x92\x8f\xc2\xca\x9e\xa4\xc5\x10\x7d\x98\x60\xf0\x2c\x37\x5e\x4d\x1b\xb6\xd8\xaf\x28\x45\xa6\x5f\xe5\x0c\x66\x19\xb2\x02\xb3\x21\x14\x86\x37\x69\x37\x08\x91\xfd\x9e\x0d\x5d\xe2\x0a\x43\xf6\xdc\x41\xdc\xc7\x5b\xe6\xa0\xb2\xaf\xe1\x45\x38\xd7\x3a\x60\xd5\x59\x05\x6b\xc2\x66\xc8\x1a\x58\xad\x82\x20\x05\x51\x9c\x01\x37\x0c\xe3\x1b\xe8\xd7\x57\xf5\xd2\x5e\x1c\xa5\x71\x08\xeb\x37\x6e\x12\x39\xa3\x74\x50\xd5\x41\x68\x8f\x0a\xab\x01\xf6\x77\xa7\x71\xc2\x2c\x4e\x52\x87\x1a\x8b\x10\x63\x9e\xce\xc2\xcf\xed\x05\x18\x23\xdd\x51\x3c\x41\x6b\x99\xf3\x24\x18\x09\x2b\xaa\x1c\xc7\x3a\x75\x46\xb1\x62\x88\x20\xf4\xd3\x53\xb2\x60\xc7\x87\x54\xf9\x4e\xd8\xba\x8c\x3e\x5f\x2d\xab\x7f\x42\xb5\x59\x12\x8c\xf0\x76\x80\x23\x96\x2d\x2a\xc7\x76\xe2\xde\xb8\xd9\xb0\x3e\x72\xa7\x8e\x90\x2a\x53\x50\x2b\x26\x80\x6d\xdf\x29\x88\x0c\x4d\xb1\x23\x42\x1d\x21\x72\xc4\xc6\x7b\xa0\x6c\x75\x38\x8d\x9a\xbc\x01\x67\xc1\x7f\xa7\xa5\xea\x29\x02\x37\x47\xee\xf4\x35\xdd\xc3\xb6\xf5\x23\xd9\x3c\xa2\xc7\xcd\xf5\x74\x16\x79\x64\x75\x75\x90\x40\xd7\xa9\x16\xc9\x69\x2f\x81\xee\x27\x75\x15\xc7\x66\x0a\xa1\x36\x5d\x96\xa5\xec\x42\x75\x21\xd8\x04\x8a\xbe\x60\x6b\xc4\x6e\x0e\x81\xec\x2e\x22\xf1\xfb\x36\x42\x55\xcc\xd8\xaa\x30\x61\xa6\xdb\x57\x75\x2f\x74\xd3\x14\xad\xb7\xeb\x59\x3c\x18\x84\xd0\x59\xc5\xa6\xcc\x3a\x29\xbe\x9e\xa2\xf2\xeb\x48\xcb\x27\x88\xe3\xab\x54\xe9\x92\x73\x3e\x9e\x5c\x51\x08\x5a\xbc\x86\x9e\x9b\xc8\xb8\x7b\x6e\xa2\x62\x35\x36\x53\xb4\x34\x2c\x1c\x54\x56\xd9\xc6\xee\x35\xcf\x3d\x09\x4c\xd1\x50\x95\xbb\xc0\x38\xdf\x5b\x7a\x4b\x14\x0d\x71\x07\xd9\x6a\x03\x68\x28\xa4\xda\x60\x84\x2c\x31\x5f\xaa\xd4\xca\xe6\x8a\xc4\xe6\x1e\x16\xb1\x1a\x60\x28\xc4\xfd\xb9\x10\xba\x89\x5c\x2b\xdb\xe1\x76\x84\x03\x3e\xa5\x72\x60\x3b\xf4\x06\xc5\x3b\xe6\x29\xcc\x38\x76\x9d\x8f\xec\x0f\x9f\x54\x2f\xd2\xb4\xf5\x38\x12\xe5\xe5\xae\x66\x3e\xcf\xaf\x16\x77\x78\x01\x2b\xec\xdd\xae\x93\x99\xc0\x51\x7c\x3d\x8f\x4c\x3e\xa7\x19\xf8\x24\x29\x0a\x44\x13\x67\x99\xb5\x44\x29\xe6\xe7\x9b\x8d\x32\x07\x7a\x01\xdd\x1b\x97\x5a\x89\xa8\x67\x94\xc4\x11\xfe\xe4\xc6\x6c\x0d\x54\xb0\x39\x5b\x11\xad\x71\x78\xad\x9e\x89\xe3\x32\x7c\xe7\x5d\xed\x65\x9e\xeb\x68\xce\x38\xf5\x6e\xa3\x7e\x7c\xd6\x45\xe6\xd7\xc5\x2b\xa9\x67\x57\xa4\xd2\x3a\xf3\x5d\xdf\x77\x28\x6d\x22\x53\x70\x55\xc3\xf8\x86\xf4\xae\xa3\x66\x19\x87\x3a\x3e\xab\x99\x11\x3e\xe4\xf0\xda\x92\x05\xe5\x2b\xe8\xe0\x28\xc8\x1c\xce\xa1\xcf\x38\x11\x95\xd9\xc3\xbf\xf8\xc1\xf9\x9d\x55\x11\xf4\xc2\x49\xe1\x26\x9d\xbc\xb2\x40\xd0\xea\xc2\x02\xf5\xe9\xa1\x8a\x65\x4e\x97\x22\x3c\x05\x3d\x4a\x39\x45\x66\x74\xfc\x31\xab\x91\xc4\x99\xc0\x9f\x07\xeb\xf7\x77\x0b\xf5\x3b\x1b\x74\xe6\xae\x2f\x18\xd9\x25\x7b\x39\x1f\x3b\x4a\x2f\x53\xa6\x2d\xd1\xc9\x41\x14\x64\xbf\x0f\xe3\x9e\x45\xbb\x20\xf5\x7a\x85\xbd\x87\x44\xfd\x8a\x52\x31\x7e\x31\x51\xea\x75\xb4\xda\x17\x8f\x3f\xf4\x61\x6e\xcd\x45\x02\x23\x66\x22\x19\x11\x74\x5c\x0d\x54\xbc\x78\x3c\x53\x44\x04\x46\x99\x3a\xee\xaf\xd4\x83\x38\x55\x04\x88\x18\x9b\xba\x57\x70\xf8\xab\xa3\xca\xd8\x79\x0e\xae\x87\x88\x5b\x8d\xb0\x45\xdf\xa9\xcf\x19\xce\x38\x35\x76\xd3\x0c\x52\x14\x3f\x26\xee\x78\x0c\xe5\x01\xc1\xa8\x67\xe3\x4a\xac\x5d\x2c\x2b\x56\x4f\x3c\x5d\x45\xf6\x08\x43\x08\x17\xaa\xd4\x4c\x15\x5b\x79\x3a\xbf\x0c\x1f\x53\xd4\xb3\xab\x1e\xa4\x27\x41\x02\xfb\xf1\x54\xda\xce\xd5\x30\xe3\x1e\xf0\xe3\x9b\xa8\xb8\xcb\x58\x15\x38\xa3\xde\x9b\x64\x19\x5a\x6f\x77\x40\xcb\x64\xdf\x8b\x2c\x4a\x82\xc1\x30\xeb\x86\x81\xf7\x49\xe1\xd3\x95\xc2\x97\xc2\x0e\xd3\x85\xe0\x4e\xf7\x5f\x29\x6a\x26\xbd\x93\x30\x82\xd1\x64\x7e\x43\xbf\x0c\xfd\x77\xfa\xce\x89\xdc\x5f\xaf\x83\x68\x32\xa7\xb7\xdc\xc9\xd4\x43\xb4\x2c\xd5\x59\x1d\xd0\x9c\xd7\x5b\x48\x41\x9e\xc3\x69\x86\xd6\x3e\xdf\x23\xe3\x1d\x1f\x6a\xd3\x19\xf1\xa1\x3b\x4e\x9d\x8b\x90\x56\x9a\x3b\x17\xe5\xbc\xf8\x04\x67\x06\xb9\x55\xf5\x0c\x77\xe1\x71\xbd\x2c\xb8\x86\xd4\x8b\x07\x3c\x22\xba\xb1\xbc\xd2\xc1\x95\x7f\x82\xb3\xa3\xf8\x26\x42\xd5\xd0\x46\xd4\xf0\xd1\xb9\x30\x6e\x35\x1a\xc7\x09\x4c\xe7\x19\x41\x0f\x4d\xe4\x7b\x54\xe7\x42\x54\x4e\xc6\x73\x48\x7c\x74\xe3\xa6\x6f\xe2\xc8\xc7\x87\xc9\xdf\xc1\xd9\xbb\x28\x24\xfe\x30\x08\xd6\x38\x7d\x93\xcd\x4c\x65\xd2\xbc\x2b\x20\x48\xd0\x91\xf3\xfb\x76\x91\xfe\x90\x11\xcf\xeb\x10\x0b\x13\x01\xdf\x2a\x20\x6b\x50\x7e\x66\x3d\xb7\x4e\x2f\x77\x95\xc7\x26\x64\x85\x9a\x44\x9e\xea\x42\x5f\x57\x21\xf1\xb0\x70\xcc\xc0\xd5\x52\x15\x4e\xc6\xbe\x8b\x67\x8e\xf9\x35\x12\xd0\xfb\x57\x09\x23\xbf\x54\x7d\x30\xf2\xcb\x54\x86\x73\xe3\xc8\xa9\x50\xb3\xd2\x8e\x9b\x34\x40\xb8\x98\xc0\x5c\xf6\x96\xac\x26\x17\x10\xdf\xcd\x5c\x4d\x44\xb0\xab\x19\xf5\xaf\x20\xde\x5a\x18\xae\x8e\x7b\xae\x06\xf0\x6f\x18\xf9\x25\x6c\xbc\x14\x26\xd9\x69\x7c\x23\xe9\xbe\x24\xbe\x11\x37\xae\xe9\x26\x7b\x42\xdd\xde\xc9\xd5\x1a\x79\x4b\x1d\x23\xe0\x9a\xc4\xc3\xf7\x56\x29\x07\x9c\x8a\x1f\x5c\x57\x74\x87\x83\x84\x1c\xce\xb8\x41\x04\x13\x64\xe4\xc2\xc8\xef\x0e\x83\xd0\xc7\xb5\x1b\x1c\x97\xc8\xf9\x5d\x9e\x49\x4d\xa2\x24\xbe\xb1\x35\x2e\x1e\x43\x79\x5f\x9e\x38\x5a\xd6\x40\x5f\x34\xfb\xed\x76\xac\xb0\x79\xc0\x0f\x2a\xfd\xe0\x5a\xf6\xda\x21\xae\x9d\xb9\x0b\xa7\x90\x9e\x1b\x47\x8f\x84\xd4\xc2\xbd\x7e\xd6\x0a\x76\xdf\x39\x05\x2e\xc3\xcd\xd6\x14\x06\x56\x52\x03\x83\x6d\x21\x93\x02\xf5\xf8\x26\x82\xc9\x11\xeb\x13\x7a\xd6\xf0\x43\x00\x6f\x44\x67\xab\xfc\x82\x83\xb5\xa8\x00\x8e\x3d\x57\x3b\x72\xd1\x79\xfe\xa9\xfb\xda\x5e\x84\x86\xc1\x2e\x2f\x96\x2d\x0c\xbc\x8a\x66\x0b\x9a\x32\xb0\xe4\x04\xb4\x2c\xe0\x3a\x3e\x68\x5d\xaf\xb0\xa3\x08\xfc\x59\xdd\x5f\x72\x2f\x4d\xab\x32\x85\xd9\x41\x96\x25\x41\x6f\x92\x41\xa7\x92\xb9\x48\x43\xc0\x69\xa5\x26\xfb\xb3\xb1\x5d\xe1\x63\xce\xb4\xb2\xfc\x52\x4a\x9a\x9b\xc8\x80\x8c\x4c\x11\x87\xa3\x09\xa5\xa9\xb6\x7c\xe3\x7a\x09\x52\xf3\xc2\x66\x6a\xc9\xf9\xd2\x3a\x52\xf8\x85\x4d\xb5\x12\x9e\x57\x50\x35\xb9\xc2\x71\x4d\xb4\x00\xed\x7a\x61\x0b\xed\x0c\xae\x1c\xab\x75\xb4\x92\x9f\x9f\xa0\x35\x17\xa0\x55\x52\xb6\x46\x2a\xd1\x4a\xa0\x1c\x81\x22\x2e\x93\xa2\x56\xbd\xfa\xb8\x8f\x60\xdd\xcd\x32\xd7\x1b\x9e\xc7\x47\xf1\x88\x9b\x9d\x35\xb9\xb0\x88\x70\x88\x27\xc9\x65\x9a\xab\x94\x34\xb7\x98\x00\x95\x6c\xb4\x82\x51\x2c\xc3\x2c\x91\x02\xfa\x18\x48\xc5\x54\xae\x88\xba\xf5\xe2\x92\xb2\x26\x71\x27\x59\x4c\xef\xc1\x57\x6a\xa0\x12\xf7\xfb\xa5\x4b\xb9\xe3\x20\x73\xc3\xe0\xcf\x70\x81\x82\xe9\x18\x86\xa1\x37\x84\x78\x45\x58\xc1\x07\xab\xe6\x62\x99\xdb\x7b\x85\x34\x9c\xe2\x5e\xcb\xf3\x5d\xdf\xc7\xd6\x3c\x62\x01\x8c\x60\xe2\x18\x36\x6f\xc5\x59\x93\x6c\xbf\x5b\xf7\x30\xf1\xb4\x7d\xa7\xec\xb6\xcc\xab\x51\xdb\x5b\xb4\x54\x68\xd8\x4e\xb3\xd7\xa7\x8a\xa1\x26\x55\x8c\x20\xf9\xf2\x06\xb7\x12\xd1\x64\xbd\x80\xd4\x2b\x25\x55\xb9\x12\xb2\xb1\xf6\xb7\x95\x25\xb6\x29\xf3\x81\xd5\xaf\xda\xd6\xb5\x34\x75\x9b\xc9\x44\x8d\xee\xb2\x3c\x97\x3b\x0a\x06\x59\xd7\xb8\xc9\x59\xf0\x67\x88\x4f\x10\xe7\xcf\x90\xf8\x18\xaf\x50\x43\xe8\x95\x1b\x6a\xa0\x08\x04\x0f\x35\x7e\x6a\xac\xf9\xa9\xe1\x1c\x6e\x5e\x3b\xba\xd1\x46\x4d\x2d\xad\x62\xa8\x4f\xb1\x5e\x7e\xff\x95\x75\x8b\x78\x23\xb6\x2e\x7c\xa9\x7a\xb5\x40\x6f\x09\x58\xf1\xe2\x03\x5f\x8e\x08\xfe\x0c\xbd\xa1\x1b\x0d\xa0\x5f\x3c\x1a\xe8\x7a\x47\x64\x12\x3f\xc3\xbc\xb3\xd5\x32\xa2\x34\x9a\x66\x70\xda\xb0\xfc\xea\x75\x9d\xfd\x74\x88\x01\x6e\x9a\xef\x6b\x36\x2b\xa2\xa6\x55\x6e\x71\x96\x47\x75\xe6\xb7\x9c\xeb\xec\xa7\xe6\x9f\x6f\x70\x9a\x47\x45\xf5\xbb\xcc\x75\x35\x49\x24\x1f\xfb\x05\xd4\xf4\x29\xb9\x98\x5c\xcd\xa3\xbb\xec\x52\xf1\x4a\x6a\x2d\xbf\xef\xc1\xd0\xcd\x5b\x32\x16\x13\x10\xc1\x9b\xdc\xb2\xa9\x49\x3b\x67\xd3\x4c\xa7\x82\xeb\x5e\xb6\x85\x81\x12\xf6\x6d\x40\xdc\x19\xcd\x92\x4f\x6a\x36\x0a\x1c\xa2\x8d\x98\x8b\xaa\x04\xb3\x25\xa3\x79\xd3\x90\x1f\x1d\x55\xf7\x65\x84\x9a\x8d\xa9\x4d\x1e\x0f\x5a\xdd\x1c\x9f\x14\xaa\x57\xd8\xd1\x8c\x78\x06\x4e\xd7\xe9\xf4\x48\xc8\xea\xff\x86\x5d\xb8\x60\x9a\xba\x03\xbc\x93\xf4\x87\x78\x02\xfc\xc0\xc7\x2e\x56\x63\x17\x7b\x6d\x41\xf0\x47\x8c\xe4\x8f\xfc\xe2\x32\x08\x22\xf0\x47\xcb\x12\xdb\xa9\xfe\xb1\xfe\x21\x12\x7c\xba\x18\xf2\xb5\x0e\xa8\x9c\x9b\x90\x45\xf1\x0d\xe0\x9e\xaf\x59\x0c\xfe\x98\x25\x13\xf8\x47\xd0\x9b\x64\x00\x4b\x63\x10\x0d\x88\xaf\x1b\x36\x85\xea\x1f\x53\xd0\xae\x37\x80\xa5\x86\x20\x03\x37\x41\x18\x32\x84\x18\x1f\x36\x46\xfe\x58\x17\x4a\xc8\x1e\x62\xa4\xb8\x20\x5e\xfc\xb0\x94\xdf\x45\xca\x77\xca\xfb\xea\x21\x21\xee\x02\x49\x42\xef\xf8\xd6\x94\xb2\xf3\xaf\xed\x97\x1b\x1c\x14\x88\x58\x88\xb3\xd7\x00\x66\xf9\x20\xad\x62\xef\xe8\xd0\x1d\xa7\xf8\x3a\x0b\x2f\x50\x0f\xd2\x2e\x4b\xaf\x81\x20\x3d\x45\x5a\x1b\x35\x81\x48\x81\x50\xa6\x03\x2a\xbd\x38\x0e\xa1\x1b\x55\xc0\x0b\xf0\x28\xcf\xd9\x13\xb0\xa1\x62\x18\x14\xe3\xa9\xc8\x07\xa6\x8f\x28\x7a\xa3\x23\x84\x36\x56\xef\xf4\x41\x89\x96\xb8\x78\x3b\x5f\xd2\xfd\xc4\xa4\x42\x32\x54\x51\x76\xa8\xc2\xd8\xf5\x0f\x7c\x5f\xf1\xab\x74\x51\x4a\x0d\x07\x83\xc2\x97\x6e\xc4\x3d\xaa\x44\x76\xb5\x2b\x08\xa8\xd2\x6a\x57\x9d\xd5\xfa\xd3\x55\xb0\x06\x30\x42\xb0\x06\x2a\x4f\x2b\xec\x4b\x3f\xda\x11\x86\x16\x0d\xfd\x84\xd8\xc4\xa8\x32\xb9\x96\xd2\xba\x9c\x8b\x4a\xfd\x29\x46\x9a\xe6\xf8\xe5\xda\x2e\x85\xd6\x14\x9c\x29\x31\xe9\x85\x64\x97\xa8\xeb\x46\x68\xb4\x22\x26\x01\x97\xc5\x97\x41\x03\x26\x9e\x64\xc0\x45\x36\xdb\x28\x8e\xfe\xfe\x0c\xc4\x09\x38\x25\xa4\xfc\xfd\x19\x80\xd1\x75\x90\xc4\x91\xb4\x87\x04\x8c\x8e\x91\x36\xff\x13\xd3\x9c\x6f\x77\x3c\x31\x19\x50\x58\x81\xa3\x59\x0f\x9b\x6b\x9c\x84\xd5\x3a\x59\xf3\xdc\x04\x3e\x5c\x47\xe5\x3e\xdf\x60\xdf\x6c\xee\x0b\x2a\x1a\x11\x38\x0b\x3c\x01\x2d\xb0\x06\x56\xc7\xd3\xfd\xbb\x55\xb0\x26\x09\xa5\xc3\xd0\x91\xfb\x97\x25\x11\x32\x64\x55\x1b\x36\xac\x87\x9f\x03\x3f\xb8\xfe\x3c\x84\xc1\x60\x98\x99\xb1\x91\xbc\x1c\x9d\xd5\x85\x82\x8d\x08\xeb\xe1\x3a\xbe\xbd\x2a\x2b\x14\x69\x47\x12\x9f\x25\x60\x9d\xd0\x6e\x51\xc3\x94\xe1\x49\x61\xe4\x1f\xe2\xa3\x37\xe5\x7c\x01\xe1\x25\x67\x72\x35\x30\x8e\x05\x9f\x28\x76\x50\x07\x06\x30\xcb\x4b\xe6\xf9\xe3\x18\x75\x35\x8d\x9a\x82\x14\xd4\xa9\x7b\x73\x38\xcb\x60\x37\x8e\x13\x3f\x75\xe0\x35\x21\x4e\xb1\x6a\x48\x48\x8f\x9c\x3b\x2c\x05\x5f\x12\x67\xf0\xa9\xe2\x9d\xf1\x68\x1c\xa7\x55\xa9\x0f\xd4\x43\x27\xd4\x3c\x72\xfe\x23\xb4\x45\xc0\xc2\x9c\x1a\xe1\x75\x3d\xbe\x86\x49\x12\xf8\xf0\x1c\xa9\xb7\xdb\x5b\x00\xaf\xb1\xa6\x53\x15\x19\x71\xd7\xcb\xcf\xa3\x65\x5f\x3d\xcc\x00\xce\x6d\x52\xe7\xbe\x06\xa1\x78\x00\x2a\x68\x27\xe3\x42\xa4\xac\x0b\x4b\x21\xbc\x19\x42\x18\x1a\xd0\x29\x05\xee\x04\x85\x22\x89\xc6\x9b\xf8\x1a\x5a\x05\x03\x74\x18\x59\x8a\x88\x7c\x53\x22\x40\x69\x5d\x93\x39\x57\x24\x18\x0a\x1f\x60\xe4\xc5\x3e\xc4\x26\x70\x0d\x78\x43\xed\xc8\x91\xac\x72\xe8\x0d\x6c\xd3\x01\xb7\x47\x42\x53\xb4\x36\x37\xab\x5a\x47\x50\x9d\x8a\x6d\x6a\x7c\x6c\xa1\x7a\x2c\x53\x04\xcf\x41\xb3\xb5\xad\x17\x47\xa8\x51\x8e\x5c\x26\xc7\xe6\x0d\x8d\xae\x47\xca\xa4\xa1\x12\xda\xd8\x30\x54\x55\x96\xd2\x67\x98\x52\xc3\x09\xbe\x85\x2a\xa0\x39\x2c\x1b\xa8\x93\x38\x61\xa6\x8f\xb3\x03\x65\xeb\x43\x44\xa0\x7b\xda\x6d\x80\x5b\x82\xeb\x39\xe0\xb1\x50\x6c\xc0\x3b\x0c\xf8\x31\x68\x4c\xdb\x27\x2a\xb8\x1a\x6d\xc6\x30\x88\x74\x39\x53\x44\x08\x4b\x50\x1e\x18\x40\x65\x1e\x95\xe0\xc7\x1d\xd0\x96\xeb\x1e\xc7\x69\x7d\x0a\xd6\x75\x9d\x80\x32\x66\xa6\x0c\x1c\xaa\xca\xcd\x5c\xd0\xd1\xe3\x86\x89\x2e\x6b\xad\x8d\x8a\xde\xb9\x82\x8b\x46\x43\xe7\x3f\x46\x8b\xcc\xec\xa6\x52\x94\x9b\x46\x92\x8b\x87\xbd\x7c\xbb\x44\xf9\x56\x41\xf9\xcd\x12\xe5\xdb\x36\xf9\xd6\x8b\xda\x2b\x6a\x54\xf4\x61\x87\x33\xfe\x72\x81\xcc\x36\xd2\x3b\x6b\xa0\x52\x63\x5f\xf8\x16\xce\xe5\x87\x44\x29\x87\xbb\x1f\xbb\x11\xe2\x65\xf9\x7e\xa1\x3a\xbb\xd3\x25\x27\x8f\x47\xf1\x05\x25\x67\xbe\x00\xf0\x49\xa1\xb5\x54\xff\xf3\xe2\x1b\x4b\x75\x3f\x2f\xbe\xb5\x54\xef\xf3\xe2\x6d\x5b\xdf\x14\x8e\x97\x8a\x86\x70\x8d\xa2\x34\x64\x54\xf6\x4d\xe0\x12\x81\xe0\x05\xd8\x00\x7b\x26\x2e\xdb\x8a\xe3\x8e\x5b\x08\x7a\x5a\x9e\x34\x04\x3e\x46\xcb\xe8\xdb\x5b\x0b\x4d\x8f\x6f\xd4\x6b\x0e\x25\x04\x37\x0f\x48\xa2\x0a\xee\xe2\xf2\x89\x4b\xac\xad\x19\xa0\xd5\xc4\xb2\x5d\xca\xbb\x90\xf0\x45\x1c\xd1\xfb\xd2\x88\x7e\xb3\x44\xd3\x59\x78\x96\xfb\x37\xbc\x64\x73\x9e\x19\x3b\xd6\x61\x52\xf7\x18\xb4\xab\x5c\xf4\x78\xda\x5f\xda\x60\x8f\x7e\x55\xc1\x3a\x68\x1b\xc6\xdd\xc3\x48\x98\x4d\x7a\xcd\xf4\x55\x46\x15\xb0\x87\xf9\x5e\x9a\xf1\xc2\xc4\x77\x21\xc4\x8b\x93\x6c\x3b\xda\x50\x4b\x2e\x6e\x50\x51\xa6\xe8\x3b\x5e\xb2\x53\xde\x20\x39\x22\x17\xf5\xeb\xfd\x24\x1e\xa1\x15\x73\x37\xf6\x21\x75\xe5\x26\x39\x64\xc7\xd5\x72\xfd\x5f\x5a\x84\x59\x96\x6f\xe9\x30\xe8\x67\x35\x30\x82\xd8\x80\xcd\x92\x10\x87\x41\xff\xb2\x8b\x20\xae\x4f\xe1\x35\x73\xed\x7c\x44\x7c\xcf\x8d\x86\xdb\x0b\xb0\xc6\x01\x8d\x00\x7b\x08\xd1\xcd\x30\xf0\x86\x85\x78\x08\x2e\x0e\xba\x0e\x9a\x56\xb0\x3d\xc5\x13\x9e\xfd\xf1\x21\x9a\xbb\xbc\xbe\x39\x7b\x75\x6c\xbb\x21\xc8\x1b\x2a\xce\x6e\xe0\x05\x68\xf0\x91\x83\x93\x36\xc0\x0b\xd0\xe4\x49\x7a\xad\xfa\xf5\xc0\x25\x16\x89\xb6\x49\xac\x10\xdd\xd1\xbb\x37\x58\x13\x91\x23\x91\x39\x5d\xe9\xc3\xcc\x0d\x42\xf0\x0c\x34\x2c\xdd\xb8\xb5\x61\xe9\xbe\xad\xcd\x87\x58\xb6\x0a\xa4\x60\x98\x23\x18\x66\xee\x1f\xc0\xf3\x2f\x42\x8f\x10\x3e\x12\x8d\x20\x52\x2d\xfe\xf9\x1d\x9c\xb1\x19\x5a\xdc\x6a\xc6\xea\x05\x5e\xd7\xd1\x2f\x02\xb2\x23\x83\xa0\xc1\x47\x40\xd0\x2f\x02\xd2\xdc\x52\xd0\xc4\x78\xf3\x16\xd7\x78\x4b\x90\xde\xe2\x82\xfb\xa6\x35\x43\xcb\xb2\x66\x40\x58\x1e\x77\x94\x72\xca\x02\x30\x5f\xbd\x0a\xf1\xc7\x4c\x88\x3a\x22\x7d\x39\x12\xde\x1b\x4e\xbb\x85\x74\x35\x02\x7d\xf6\x0c\xb4\xaa\x55\x3e\x75\x6a\x9b\x87\x62\x32\xdf\x0b\x87\x61\x81\x8b\xbf\x79\xbd\x2d\x5e\xc9\x28\x9c\x02\xe4\x0d\x2e\x45\x43\x6b\x1b\xd2\x25\x38\xab\x6a\xc9\x4e\x3e\x22\xd5\x89\xd9\x5c\xb3\xc0\x0d\x21\x90\xad\x0c\x63\xb0\x18\xc4\x3e\x92\x70\xc5\x11\x5d\x06\xf0\xf3\x5c\x42\xd0\x28\xbe\x86\x95\x1a\xdf\xc6\x51\x37\x4e\x70\x19\x16\xb5\x4e\x8b\xef\x6a\xc1\x29\x3b\x60\x4f\xc6\x4a\xff\x94\x69\x7a\xb9\x46\x71\x42\xfa\xfd\x45\x5b\x37\xb7\x28\x6e\xc4\x64\x6c\x28\x32\xaf\x5b\x80\x70\x5a\x21\x77\x53\x51\xc9\xbb\xdc\x21\x19\x4b\x3a\xd1\x6e\x0f\x2a\xe5\x9c\xa1\xac\x43\x25\xe8\xdb\x5b\xa0\x6c\x31\x18\xb3\x85\x75\xe4\x52\x43\xea\xa1\x79\xb0\xe8\x40\x47\x2d\x64\x17\xe4\xe3\xe8\x47\x54\xc3\xf2\x04\x66\xf1\xc4\x1b\x32\x47\xf8\x2f\x47\xe5\x39\xaa\x86\x04\x52\xb8\x1f\xa9\x74\x3c\x7c\x61\x4a\xd9\x7e\x70\x79\x42\xcd\x67\x1a\x3e\x4c\xb3\x24\x9e\xd9\xcf\x84\x84\x78\x90\xa6\xa8\x7d\x96\xac\x2b\x7c\xf9\x87\xc5\xe4\xe1\xc9\x43\x1e\x6c\x51\x3e\x76\xbf\x53\xb0\x6a\x27\x2c\x0c\x82\xdf\x71\x66\x7e\xc9\x8f\x1f\xcb\x5e\x80\xc4\x45\xe7\x6d\xec\x43\xed\xf8\x57\x07\xa1\x57\x3c\xad\x9e\x3c\xf6\x6b\xfc\x2c\x7a\x47\x4e\x24\xf5\xc9\x80\x91\x2f\x9d\x71\x8a\xde\x1c\x1a\x45\xdc\xcd\x03\xdf\x0d\xa0\x11\x30\x44\x4c\xc5\x64\xe8\x37\x0a\xca\x52\xc4\xfd\x3b\x45\x92\xb0\x8f\x14\x0b\x87\x88\x0b\x63\x87\xa9\x0e\xc2\xa0\xf9\x4a\x01\xdd\x55\x94\xfc\x9a\x9d\xc6\x37\x4e\xa0\x1f\x2d\xdb\xe2\x13\xf0\x1b\xd4\x46\x11\xcc\x3d\xf1\x85\xb8\xbf\x1a\x1f\xe5\x98\xc0\xcd\x7d\x95\xcb\xf4\x7e\x31\xfa\x98\x51\x17\x8d\xd9\x1c\xde\x12\xff\x10\x89\xa6\x20\x25\x57\x28\x7d\xf1\xc4\x0f\xdf\x65\x50\x79\x0b\xa5\x48\xd8\x42\x2a\x0f\x2f\x62\x09\x2a\x99\x07\x73\x69\xaa\xd7\x88\x70\x7c\x96\xf5\x75\x79\xa6\x21\x39\x38\xe0\xca\x23\xbc\x17\x68\xea\x21\x9c\x2f\x96\x14\xf7\xc7\x73\xdc\x6c\x77\x26\x67\xb9\x14\x39\x52\xa3\x98\x45\x7f\xc9\x31\x88\xc6\x24\xb9\x5e\x92\xe7\x49\x21\x82\x78\xbc\x64\x04\xb5\xae\x44\x52\x06\xeb\xd4\x83\x49\x88\xb6\x9c\x53\x86\xf1\x76\x0c\x81\x77\x16\x08\xd3\xc9\x7d\x6c\x6a\x20\xef\xd3\xa2\xb3\x7c\x01\x5f\x3a\xc6\x41\xf5\x92\xf8\xa6\x06\x98\xbb\xcf\x22\x98\xf3\xa0\xa0\x3c\xc8\xb4\xd6\x73\x79\xcf\x62\xce\x15\xf4\xac\x2a\x13\x25\xfb\xaf\x54\x3f\xca\xd2\x22\xff\xd2\x19\xa2\xf7\x34\x6f\x60\x8d\x3b\x42\x09\x22\x47\x1c\x13\xb0\x87\x8a\xc2\x0f\xd1\xdb\xc4\x02\x45\x84\x42\x77\x4b\xe1\x4e\x5d\x79\xc3\xec\x81\x51\x30\xec\x11\x69\xbb\xe0\x8f\x17\xa4\xe3\x1a\x48\x27\x63\x7c\xa0\x4a\xb8\x77\x2c\x5e\x98\xc5\xf7\x2f\x51\xa9\x67\xb6\x4e\x23\xfc\x34\x75\x5a\xc1\x4d\x4c\xad\xbf\x0c\x9e\x4d\x7c\xad\x88\x6b\x58\x13\xbb\xef\xb9\xd8\x7f\xda\x50\xb0\x84\x80\x55\xb5\x00\x41\xdb\x01\xe8\x5f\x45\xa9\xd1\x5a\x8a\x2a\x29\xd6\x07\xb9\x5b\x4e\x0e\xab\x70\x50\xc2\xd2\x50\x07\xcd\xa3\x82\x3e\x29\x25\x06\x4a\x6b\x0b\x7c\xf6\x8a\x04\xe6\xbd\x3b\x50\x3c\x68\xc6\xee\x00\x76\xe3\x49\x4e\x8d\x20\xa8\x48\xbc\x72\x00\xf0\x04\x38\x72\x5d\x73\x2a\x3b\x8f\x49\x10\x7a\x5b\x78\xa0\xbc\x8e\xf5\xd2\x12\x7f\x1e\xf3\x00\xf6\xf3\xd1\x0a\xa3\x7a\xbd\xcc\xa0\xd2\x6d\x37\xd1\xbf\x35\x37\xef\x48\x70\x63\xa2\x9c\x85\xa3\x36\x35\x90\x5b\x5d\x8e\x08\x89\x8c\x3d\xa2\xd9\xf4\x98\xd2\xcc\x0e\x14\xd1\xb3\xa8\x6e\x9d\xc2\xc7\x7c\x0c\xd1\x98\x6d\xbb\xc5\x47\xdd\xb6\x3a\x2d\x9b\xa2\x5b\x9b\x3c\x12\x1f\xe5\xd4\x09\xd1\xb2\x8b\xa8\x36\x0c\x0e\x3d\xd8\x76\x5e\x15\x28\x0a\x9f\x94\xc2\xec\x3c\x18\xc1\x78\x92\xcd\x0b\x91\x14\x44\x11\x4c\x7e\x44\xf5\x48\xee\x81\x73\xac\xa5\xbc\x94\xd5\x35\x8a\x34\x11\xf1\x88\xe9\x08\xb1\xd1\x74\x16\x69\xd4\xb4\x17\x95\x68\xcd\x34\x1e\x77\x8e\xc5\xc2\x27\xe1\x78\x41\x80\xc5\x9b\x78\x62\x83\x10\x18\xb2\xee\xb0\x7f\x01\xc1\xc4\xef\x8b\x7e\xac\x01\x2f\xad\x01\x6f\x58\x03\x5e\xec\xc3\x1a\x08\xd1\x64\xef\x0d\xaf\xb0\xd7\x59\x2d\x37\xf9\x24\x91\x35\x8a\xa4\x4e\x2e\x9e\x17\x8a\xfa\xdd\x38\x71\xcc\x95\x4b\x35\xfc\x9d\x55\x36\x95\x60\x8a\x77\x46\x53\x19\x9b\xa0\x5c\x95\x9b\xcd\xe9\xe3\xc8\x37\x40\x60\x09\xa4\x76\x38\xce\x23\x41\xf2\xc9\x3f\xea\xa9\xba\x08\x90\xc2\x0c\xdb\xef\x0e\x2e\xad\x02\x69\x76\xc0\x4c\x85\x90\x8c\x7c\xb1\x19\x35\x95\x6a\xb3\x39\x36\x7f\x04\x7e\xb9\xc1\x95\xdf\x22\xb5\x5b\x9f\x85\x71\xf6\x6d\xc3\x12\x17\x0a\xa3\x12\x0a\xd9\x21\x2e\x13\xa0\xf2\x21\xf9\xa0\x79\xf6\xe6\x08\xc9\x6d\xc0\x2e\x7b\xe0\xc4\x8f\x6f\xa2\x97\x86\x25\xbd\x67\x00\x10\x75\x81\xe0\xca\x6e\xc7\xe8\xe0\x28\xa2\x47\xc7\xef\x4f\x8f\xbb\x07\xe7\xc7\x47\xf8\x35\x46\xec\x36\xde\x83\x80\x2c\xdc\x7d\x90\xc6\x71\x54\x07\xef\x43\x88\xa6\xa8\x49\x0a\x81\x82\x4f\x7c\x82\x05\x21\x8c\xd2\x0c\xba\x3e\xf3\x32\x2f\xf0\x30\xc7\xac\x29\x42\x66\x6c\x63\x49\xbe\x29\x0f\xc3\x18\x18\x27\x42\xc8\x2e\xba\x16\x1c\xc6\xf4\x82\xa0\x80\x2f\x67\x63\x98\x64\x70\x9a\xbd\x0e\xa2\x4f\x26\x52\x94\x37\x7f\xf2\x39\xcc\xb8\x77\xa0\xdd\x8a\xa7\xfe\xce\xa4\xe1\xc0\x05\x43\x56\x1f\x40\xe5\xd9\x33\x6b\xa0\x07\xfb\x71\x02\xc5\xf0\xc9\x30\x42\xdd\xee\xe1\x77\x87\x0d\xf7\xe6\xf3\xed\x06\x4b\x23\x1c\xf9\x05\xa2\x25\x6d\x3d\x01\xf7\x0f\x6e\x18\xf8\xe4\x75\x1d\xea\xf6\x2d\x77\x99\xc1\xb3\xfd\x61\x18\x75\xcd\x2b\xe6\x0e\xe7\x0f\xc5\x2f\xbd\x4d\x8e\xe2\xd3\xbe\x1c\xdf\x12\x38\x08\xd2\x0c\x26\xa8\x3f\xde\xa0\x39\x47\x11\xaa\x04\x0e\xe0\xb4\xc6\x7a\x9f\xbf\x1a\x55\x6e\x7f\x0a\x6b\x0e\x82\xf4\x95\xaf\xbd\x66\x62\xaa\xdb\x5a\x9f\x65\xf2\x28\x88\x29\xcb\x9e\xec\x65\xf5\x17\x2b\x5e\x1f\xce\xe3\x04\x47\x54\xae\xed\x7a\xae\xb9\x0e\x01\xaf\xd1\x86\x28\xd1\xd2\xe2\xfd\xba\xa1\x9b\x9e\x09\xf7\x5f\x8a\xc3\x09\x6a\x17\xa8\xc4\xd2\x05\x51\xcb\xef\x51\x03\x4f\x38\xc7\x77\xd5\x0a\xa2\x72\x16\x57\x62\xc6\x2e\x17\xb4\x47\x5e\x27\x05\x0f\xc2\x82\x20\x9f\x16\xca\x0f\xc2\xd0\x8e\x96\xc6\x2f\x52\xe2\xcd\x69\x12\x64\x9e\x23\x98\xcd\x69\xcc\xc5\x68\x90\xe9\x89\xad\x0a\xc3\xfd\x18\xf3\x96\x81\x31\xc8\xa5\x78\xbf\x8d\xee\xdd\x6a\xb1\x77\x68\xc0\x26\x1a\x69\xc7\x08\x53\x55\x23\x45\x19\xb6\xc5\x84\x25\xa9\xd1\x62\x96\x56\xbc\xfa\x7d\xa7\xa2\xf6\x19\xcd\x3d\xbc\xe3\x0b\xd3\x49\xc8\xad\x63\x78\xed\x86\x13\x37\x83\x88\x9f\x92\x69\x9e\x1f\xbe\xe0\x6d\x4b\x5c\x08\x35\x1b\x73\xd9\xba\xba\x34\x9a\x7d\xf9\xc3\x48\xd6\x1d\xa1\x72\xf8\x9b\xf3\xf0\x6b\x5c\x10\x70\xe7\xdb\x02\xfa\x8a\x39\xdf\x31\xd0\x81\x35\x1d\x4a\xba\x9b\x9d\x50\x49\xd1\xb0\xf2\x4a\x83\xf4\x7c\x18\x24\xfe\x6b\x78\x0d\xc3\x33\xbc\x7a\xcb\xf0\x0d\x1a\x45\x26\x18\x4a\xc3\x8a\x9b\x52\x42\x2a\xd2\x8f\x0c\xe6\xd4\xff\x28\xe7\x68\x89\xfa\x84\xcd\xa7\x3c\x14\x19\x17\x00\x39\xb7\x52\x03\x39\x6e\x15\x4a\x0f\x28\x8b\x93\xe9\x04\x26\x74\x33\xcd\x2d\x66\xa9\x59\x8b\x58\x45\xd6\xa2\x57\x24\xa1\x17\x2e\xb8\xe1\xea\xa4\x57\x3a\xd0\xdf\x27\x38\xdb\x03\xf9\x3e\x78\xbe\x4a\xe2\x12\x21\x64\x13\x16\xe6\x63\x6b\x14\x93\x80\x71\xa9\xe2\xe2\xf3\xec\x19\x68\x00\xec\x04\xe7\x86\x2c\xa1\x49\x12\x98\xff\xce\xb3\x67\xa0\x45\x52\x98\xd3\xcf\xb3\x67\xcc\xfd\x4a\xf0\xab\xfb\x04\x67\x5d\xe5\x70\x10\x7b\x3a\xed\xe8\x8f\x2b\x08\x04\x98\x36\xcf\xc5\x21\x67\x1e\x70\x87\x67\xa5\x3c\xad\x64\x8f\xb3\xf9\x68\x8f\x8e\x5f\xcb\x08\x4c\x71\xcc\x77\xbf\x40\x7b\x98\xb3\xe4\xbf\x32\x3c\x06\xf1\x00\xed\x7a\x79\xae\xba\xe6\x08\x03\x58\xdb\xeb\xb2\x35\xbc\xd9\xde\x5b\xb0\xde\xee\xe9\x43\xd4\xdb\xda\x5e\xb4\xde\xe3\xb3\xee\x43\x54\xdc\xde\xd6\xbb\x9a\x8f\xa3\xfb\x75\x74\x13\xbb\x57\xe7\xd8\xc0\x1a\x68\x56\x51\xce\x91\x41\x02\xb4\x69\x68\x1e\xee\xf6\x51\xc5\xe6\xcb\x29\x91\x48\x8f\xef\x72\x27\x50\xd7\xab\x82\x17\x85\xd8\x7b\x15\xb0\x37\xaf\xfa\x4d\x53\x23\xee\x0a\x24\x58\x3e\xc2\xd0\x5e\x5d\xbd\x17\xab\xdf\xa9\xc4\x94\xba\x88\x55\xbe\x27\x8b\xd1\x1b\xc5\xca\xa0\x41\xbe\xb4\x58\x75\x1f\x44\xac\xba\x5f\x4c\xac\xfa\x65\xc4\xca\xd4\x88\xaf\x26\x56\x2a\x31\x0f\x2c\x56\xc5\xe8\x8d\x62\x65\x98\x68\xbf\xb4\x58\x1d\x3c\x88\x58\x1d\x94\x13\xab\x79\xe2\x61\x22\xe6\xab\x89\x87\x4a\xcc\x03\x8b\x47\x31\x7a\x93\x78\x6c\x34\x7e\x79\xf1\x38\x7c\x10\xf1\x38\x7c\x18\xf1\x30\x11\xf3\xd5\xc4\x43\x25\xe6\x81\xc5\xa3\x18\xbd\x51\x3c\x36\x75\xf1\x78\x24\x2e\x14\x1e\x3f\x06\x8f\xf2\x45\xc1\xfd\x04\xa6\xf5\x97\xc5\xe9\xdb\xfa\x62\xe2\xdb\xb6\x89\x6f\x31\x95\xf7\xee\xa4\xf6\xe2\x5c\x68\x17\x72\xe1\x4b\x0c\xe1\x97\xb6\x9b\xc6\x96\x51\x71\x8f\x31\x61\xaa\xea\x1e\x4d\x52\xd1\x19\xf9\x69\x90\xfa\x2f\xcb\xcf\x93\x5f\x8e\x9f\xa6\xaa\xee\xd1\x24\x15\x9d\x91\x9f\xed\x65\x17\xc7\x92\xd3\xd8\xba\x63\xdb\x42\x07\x0f\x3f\x0c\x37\x97\x18\x86\x1b\x0f\xd2\x4c\x83\xdb\xe6\x17\x6a\xe3\xd6\xe2\x6d\x6c\x36\x5b\xbf\xbc\xc1\xf0\xfe\x8b\x6a\xdc\x77\xc5\xe8\xcd\x5c\x30\x48\xf4\x97\xe6\xc2\xbf\xfc\xb2\x5c\x28\x46\x6f\xe6\x82\x41\xe0\xbf\x34\x17\x4e\xbf\x2c\x17\x8a\xd1\x9b\xb9\x50\x38\x5b\x7c\x19\x2e\x9c\x7d\x59\x2e\x14\xa3\x37\x73\xe1\xcb\x59\x62\xcd\xcd\xaf\x64\x8a\x35\x97\x98\x04\x9a\xcd\x2f\xb8\x3d\xb8\xfd\xb5\x18\xb1\xbd\x0c\x23\xbe\xe0\xce\xc3\xce\xd7\x62\xc4\xce\x32\x8c\xf8\x82\x3b\x7b\xbb\x5f\x8b\x11\xbb\x4b\x30\xa2\xf5\xe5\x36\x1b\x5a\x8d\xaf\xc4\x88\x56\x63\x19\x46\x34\xbf\x1c\x23\xac\x73\xc6\x97\x66\x44\x73\x19\x46\x7c\x39\x6b\xb2\xf5\xb5\x16\xf0\xad\x25\x56\xf0\xcd\xd6\x97\x33\x28\x5b\x1b\x5f\x8b\x11\x1b\x0b\x31\x82\x06\x27\x36\xae\xa1\xd8\xa1\x33\xdd\x6e\x52\xb7\x9f\xe8\x21\x35\xfd\xa2\xe7\xd1\x26\xae\x51\x74\xf4\x50\x1a\x3c\xef\x80\xad\x4d\x54\x4c\x48\x7b\xd6\x01\xbb\x9a\x3f\xb8\xb1\xf1\x86\xf0\x35\x22\xf2\x75\xb0\xb5\x61\xb8\x69\xaf\xc7\x3b\xe1\x8b\x7d\xa1\x30\x0e\xf8\x63\x7c\xbc\xb1\x14\x19\xa6\xd7\xdf\xcb\x55\xfc\xbc\x03\x36\x9b\x3a\x4b\x36\x37\x1f\x86\x25\x9b\x4d\xb0\x06\x5a\xdb\xf7\xe2\xcb\xe6\xd6\xd2\xb4\x34\xef\x59\x75\xab\xb9\xbb\x74\xdd\xf7\xad\xba\xb5\xbc\x54\xb6\x76\xee\x59\xb5\xf1\x61\xca\x72\x55\xef\xce\xad\xda\xb2\xc1\xfe\x48\x3f\x2f\xa4\x72\x29\x0f\x77\x45\x37\xfc\x52\xa3\xbf\x40\xf5\xcd\x19\x05\x6b\x68\x64\xdf\xa7\x3f\x9a\xbb\xe5\x34\x43\x91\x76\xfe\xe3\xdc\x73\x0f\x1b\x05\xcf\x3b\x60\x63\xc7\xa0\x21\x8c\xa1\x4f\x17\xa1\x49\xd6\x14\x1b\xf3\x65\xb6\xe8\x64\x46\x93\x1b\x7d\x9e\x10\x04\x67\x21\xb9\x41\x5d\xb0\x65\xd5\x87\x82\xb3\x29\xf5\x2d\x5d\xa4\x11\xc2\x9c\x48\xef\x75\xb3\x70\xe9\x88\x87\x05\xee\xf3\x03\xec\xb9\x27\x79\x94\x0d\x24\xff\xd7\x41\x48\x01\x06\x82\x9f\x1b\x7e\xcf\x04\x72\xe7\x4a\xfa\x99\x5e\x0c\x2e\x8b\xaa\xea\xf2\x52\x42\x65\x35\x40\x4b\xcb\xd7\x27\x72\x8c\xa0\xc3\x20\x72\x37\x4d\x89\xb2\x4e\x07\xe8\xb7\xde\x73\x0a\xa5\xc2\x36\x77\x69\xf6\x2e\x68\x81\x6b\xdd\x27\x38\x53\x08\xf8\xe5\xfc\x77\xd5\x38\x21\xcc\xbc\xa1\x5a\x42\xc4\x43\x86\x8b\x90\x69\xf4\x43\xe5\x01\xdf\x3a\x24\x36\x9c\x11\x03\x15\xdc\x62\x04\x8f\xd8\x45\x39\xa1\x4a\xfd\x2a\x3c\xc7\x89\x0b\x69\x18\xe7\xb3\x01\x6b\x76\x84\xe5\xf6\x16\x38\x4e\x3e\x26\x6f\x25\xe7\xc2\xdb\x5b\x69\x48\xa2\x01\x5b\xe4\xa0\x5a\x86\xff\xf6\x29\x2a\xf7\xee\x94\x1d\x47\xd9\x43\xb4\x06\xb7\x51\xd1\xb9\x74\x71\xaf\x52\xdd\x9d\x14\x3b\x9e\xd9\x06\x1c\xbe\xf8\x67\xbe\x50\x66\x74\x9a\xce\x27\x4f\x1c\xb0\x44\x64\x4e\xf9\xab\x73\x8c\x56\xfc\x41\xf0\xec\xeb\x50\x38\x43\x78\x6b\x17\x90\xeb\x75\x86\xf8\x03\x04\x72\x8d\xdc\x00\xb5\x06\xfc\x87\x16\x0f\xfe\xbc\x49\xd7\x41\x3a\x71\xc3\x43\x18\x86\x55\xa5\xcb\xf7\xed\x1c\x21\x7d\xc6\x9e\x96\xcc\x66\x21\xac\xf7\xe2\xc4\x87\x49\x37\x0e\x71\x20\x94\xca\xcd\x30\xc8\xd8\x8b\x1e\x73\x99\x44\xde\x3a\x2b\x42\x97\x3f\x3d\xdc\x6c\xa8\x77\xad\xc7\xf1\xf8\x5d\x24\x37\x00\xa7\xf3\x90\x6c\x66\xde\x84\xf1\x60\x0e\x6b\x7c\xd8\x9b\x0c\xcc\x5c\x11\xaf\x06\xe0\x77\x50\xeb\xf4\x2a\x1e\x1a\x69\xc6\x0c\x54\x9f\x9d\xc3\x6e\x32\x40\x2a\xf6\x20\x49\xdc\x99\x28\xab\x61\xe0\xc1\xba\xe7\x86\xa1\xc3\x1e\xb2\x91\x5e\x88\x32\xd4\x41\x03\x7e\x9a\xb2\x6b\xb8\x1a\xbb\x5b\x75\x92\xcc\x0d\x62\xf3\xb0\x2c\xc1\x35\x7e\x71\xa6\xe0\x5a\x96\x67\x4b\x02\xd3\xe0\xcf\xb2\x6b\xf9\xb4\x06\x66\x22\x6f\x82\xf4\xad\xfb\xd6\x99\x56\x51\x4b\xc9\xef\x99\x41\x85\xaa\x5a\x7b\xc6\xc2\x51\x0c\x60\xf6\x0e\xdf\xeb\x62\x91\x1f\x7a\xae\xf7\xa9\x52\x35\xdc\xeb\x37\xc1\x21\x5a\x44\xd4\xf8\x66\x78\x10\xc1\x1a\x80\x61\x0d\x04\xe4\x3a\xf8\xb0\x06\x5c\xdf\x3f\x8f\xff\x90\xf7\xd5\x34\x0f\x43\xe3\xc5\x21\xbe\xca\x3f\xcb\x93\xf0\x03\x09\x73\x9b\x30\x05\xcf\xc4\x00\xdc\xd3\x3c\x78\x11\x69\xa0\x94\x3b\xcb\x73\x3f\x02\xa1\xe6\xbc\xc0\x47\xf0\x0c\x4c\x25\xcf\xf6\x21\xe8\x80\x0b\x2a\x79\xfd\x83\x2c\x4b\x6a\xa0\x02\x2a\x35\xd0\x14\x22\xef\x06\xc0\x10\x4d\x27\xcf\xa6\x17\xef\x83\xf5\x75\x55\x2f\xd3\x1c\xa1\xec\x00\x66\x4e\x50\x65\xf7\xa7\x15\x62\xa4\xbe\x90\xe0\xe7\x3d\x45\xa0\xc5\x2b\xc2\x0c\xef\x80\xa9\x38\xc5\xc1\x6c\x32\x3e\xcb\xe2\x71\xea\x70\x90\xaa\xc2\x2d\xfc\xe8\x1f\x4e\x22\x9d\x99\x87\x19\x61\xdc\x93\xcc\x6d\xed\x31\x17\x8d\x29\x1f\xd7\xd6\xd4\x42\xc0\x1a\x0a\xea\x19\x98\xf1\x98\x2d\x6a\x00\x15\xad\x24\xb9\xe2\xf4\x5c\x08\x15\x20\xe3\x32\x85\x56\x9a\x91\x17\x8a\x50\xc3\xf0\x8e\x5a\xc1\x7a\xc0\x18\x38\x88\xfd\x11\x1c\x6a\xb0\x6e\x9d\x44\x1a\x12\xc6\xba\x3c\x05\xd6\x00\x54\xe2\x9f\xbe\xc8\xb3\x2c\xfb\x0a\x9a\x63\x0f\xf5\x64\x7a\x53\xa2\x68\xbd\x93\xdb\xe0\xec\x09\xf3\xbc\xf7\xac\xc2\xac\x3d\x19\xa9\xe3\xbe\xb3\x5b\xa6\x4c\x96\xd6\xd7\xc1\xf3\xb2\xb2\xf4\x7c\x11\x59\x52\x4a\x9a\x05\xa7\x58\x5e\x28\x83\xe3\xf1\xfc\xf5\xa3\xa1\x85\x1a\x3a\x29\xde\x98\x19\x02\x89\x8c\x09\x62\xa9\xce\x33\xf0\x15\x48\x03\x9c\x17\xd0\x02\x85\x88\xb8\x1f\xc1\xd0\xf2\xda\x49\x1c\x65\x41\xa4\x5e\xd6\x20\x55\xd8\xc2\x0d\xc2\xb0\xbc\xbe\xc3\xde\x37\x1d\xa0\xae\x13\x67\xe0\x79\x47\x6e\x19\x4d\xee\x80\x59\xee\xac\x93\x4f\x37\x64\x60\x1b\xe0\xd7\x3a\xd2\xf4\xa6\x84\xc6\x98\xa2\x6a\xa6\x5a\x31\x34\x5b\x4d\xd5\x6a\xa4\x6b\x97\x63\xe5\xf5\x60\x31\x78\x97\x4c\x23\x5f\x5a\x17\x3d\x3b\x5a\xe6\x95\x45\x12\xc6\x16\x74\x84\x90\xe2\xd4\x46\x88\x47\x30\x4b\x66\x7c\x3e\x24\x8f\x19\x71\x3c\x97\xda\x62\x8a\xd8\x2d\xca\xbb\xc1\x64\x89\x87\xca\xee\x81\x29\x8e\x04\x93\xee\x81\x59\x41\x78\x4d\x21\x70\x89\x64\x02\x49\xf6\xcf\x8c\xbf\x4a\x2b\xc4\x2d\x51\xac\x71\x25\x32\xcb\x6c\x5f\xb7\x83\x84\x10\x27\xc6\xb2\x24\x62\xcb\xcc\x46\xea\xc8\x9d\xea\x74\x4a\x9b\x27\x0a\x0d\x0d\xbd\x6f\x84\xa0\x30\xb9\xc7\x98\x75\xe3\x86\x4e\xd8\x72\x90\x45\xc9\x30\x64\x21\xe6\xd5\x6b\xc0\xc4\x1e\xce\xdc\x5e\x7a\x11\x5c\x6a\x2a\x93\xc7\x9e\x49\xe0\x35\xaa\xc1\x18\x8e\x12\x58\x02\xad\x20\xa4\x42\xd8\x52\x86\x50\x8a\x47\xa6\xbe\x26\x8c\xcd\x30\x10\xa0\x71\xa4\x5a\xa4\x99\xdb\x43\x24\xfc\x18\xf8\xd9\xd0\x60\x93\xd2\x26\x28\x57\x7b\xcd\x1c\x63\xcd\x91\x6d\x69\x91\x5f\x53\xbe\xed\x22\xd9\x94\x64\xb8\x12\xe4\x74\xb6\x11\x18\xb8\xbe\x3e\xbd\x44\x56\xc6\x14\xcf\xe5\xbc\xa0\xb4\x21\x30\xe5\x01\xe6\x50\x53\x39\xcc\x0b\xc1\x1c\x13\x23\xfc\xef\x01\x64\xd9\x36\x68\xf0\xfd\xa9\x4d\x04\x22\x38\xcd\xbe\x40\x83\xd6\xd6\x58\x83\x84\xee\xf9\x45\x1b\x06\x13\x37\x85\xa7\xf8\x51\x41\xdb\xba\x87\x2d\x33\x64\xe3\x1b\x19\xc4\xd2\xfc\x3c\x13\xef\xd2\x23\x98\xe2\x45\x05\xc2\x2a\x18\xfd\x98\x0e\x64\xf6\x3b\x55\xc5\xf0\xa7\x12\x3c\x95\x25\x78\x2a\xc7\x78\x45\xf5\x5d\x4c\xc9\x46\xa9\xa6\xe4\xc5\x90\x4c\xb3\x82\x45\xb1\x9b\xc2\xd7\xb0\xff\xcd\x32\x82\xbf\x54\x43\xe5\x68\x2a\xaf\x73\x1e\x80\x05\x38\x66\x84\x75\x5f\x40\x68\xa4\x1c\x1a\x6c\xa6\x47\x02\xd3\x9b\x29\x70\x2c\x85\x19\x9f\x19\x2d\x3c\x24\x1f\x55\x71\xbe\x94\x83\xd5\x4a\xd3\xb1\x12\x89\x51\x24\x54\x4e\xcb\xbf\xa5\x08\xc2\xcd\x52\xcf\xad\xcf\x37\xdd\xcb\xc5\x6c\x04\xcb\x47\x02\x25\x32\x4a\x44\xd0\x30\x43\xe7\x02\x84\x47\x34\xaa\xdc\xde\xd9\x9c\x7c\x25\xac\x53\x22\x06\x84\x15\x24\xdf\xcd\x32\x12\xbd\x29\x51\x75\x8f\x20\xb2\x82\xfa\x11\xd7\xf2\xfb\x8a\xa4\xbb\xe2\xfa\xbe\xc6\x06\xd5\xc5\x65\x4d\x9c\xc0\xc8\x7e\x8b\x42\x09\x93\xf4\x3a\xcf\x01\x9d\x9c\xde\x12\x33\x9f\x41\x6f\x04\xfa\xa0\xa1\x3a\x17\x65\x5b\x07\xcb\x50\x65\x9c\x12\xf5\x45\xe6\x94\x7d\x74\x0b\x3c\xb3\x6d\x80\x58\x42\x19\xca\xf6\x08\xb2\xfd\xc4\x0e\x8b\xdc\x11\x57\x55\x28\xef\xad\x3b\x82\xd2\x8c\xe2\x60\x88\x35\x50\xa9\x54\xeb\x41\xe4\xc3\xe9\xbb\x3e\x45\x82\xc7\xb3\xad\x5a\x53\x64\x74\x71\x67\x5d\x0b\x8d\xe9\x07\xa9\xdb\x0b\xe1\x59\xe6\x07\xd1\xfc\x9d\x26\x61\xf4\xda\xe3\xa6\x48\xc6\xbb\x1c\x33\x45\x0b\x73\x81\x68\xab\xd0\x07\x91\x8a\xdb\x74\x1e\x64\xa1\x3c\x1c\x32\x94\x22\x0f\x2f\x8c\x13\xa7\xa3\x31\x8b\xf3\xad\x1d\x84\x98\x6a\x37\x52\x67\x62\x1c\x6b\xb6\x4c\xd2\xd7\x1f\xfa\x2a\x48\xdc\xa0\x10\xc0\x1d\x73\xbc\x40\xd9\x70\xd0\x17\x47\x0c\x9b\x3d\x84\xfc\x35\x4c\x52\xf8\xca\xda\x18\x24\x6c\x1f\xb5\x96\xf0\x0d\xc6\x3c\x5c\xb2\x59\xa3\xe2\x85\x2c\x7d\xc2\x39\x75\xf8\x32\x3f\x97\x03\x45\x85\xd6\x80\x16\x71\x3c\x9f\x57\xec\xc5\x73\x75\x8d\x43\x8e\xcc\x8d\xdb\xa8\x46\x79\x9e\x07\x29\x45\x7a\xb6\x1b\xed\xb3\xf9\xec\x56\x0f\x88\x25\xa1\x61\x83\x8a\x2e\xb4\x95\xdd\x42\x09\x84\xee\x3d\xe6\xda\x2f\xd7\xc2\x96\xd0\x7c\x04\xd4\x1c\x9f\x2f\x2f\xcb\x23\x28\xbd\x8a\x32\x98\x5c\xbb\xf9\xde\x84\x9e\x45\xca\xf1\x66\xe2\xbd\x7c\xb2\x34\x15\x49\x95\x36\xf5\x17\x0b\x1b\x28\x94\x33\xd1\x65\x25\xa9\xf4\x2c\xcd\x9f\xb3\x48\x67\x91\x47\x22\x3a\x1f\x24\xd0\xb5\x1f\x37\xa1\x75\x54\x51\x0f\x62\xcb\x9f\x0c\xbd\x7c\x35\x75\xb7\xbf\xc2\xc1\xe9\x1b\x1d\x08\x99\x10\x10\xce\x73\xc7\xd9\x24\x81\xd2\x49\x0d\x39\x30\x09\x52\xfc\xaf\x03\xc3\xaa\xb6\x29\x7c\x01\xc3\x4b\x59\x24\xeb\xfd\x38\x39\x76\xbd\xa1\x70\x42\xc7\x9e\x92\x90\x0a\x93\x33\x3a\xd7\x27\x4f\xd1\xbe\x0e\xd2\x0c\x46\x30\x71\xcc\x54\x81\xdb\x5b\x7a\x9e\x4f\x2b\x43\xdc\x11\x5a\xd4\xef\x97\x68\x12\x0c\xe9\xb6\xd3\xa2\x35\x0a\x35\x09\x91\x85\xfa\x71\xe2\x41\xfd\x60\x8b\x40\x90\xd7\x4c\xf0\xf1\xb8\x04\x67\x9e\x97\xe0\x35\x5e\xd2\xc2\x28\x3b\x22\xae\x96\x4c\xd5\xc2\xeb\x7a\x9a\xc5\xe3\xf7\x49\x3c\x76\x07\x2e\x8b\xb4\x06\xb4\xc3\x74\x81\xc2\x20\x1a\xc2\x24\xc8\x52\x07\xef\xe4\xd5\x00\xd9\x74\x63\xf5\x73\xb0\xbe\xa3\x3b\x74\xc4\x51\x9a\x25\x13\x2f\xc3\x87\x77\xb8\xb8\x64\xf0\xe4\x32\x08\x3a\x14\x6d\x9e\x44\x20\x71\x21\x09\x2e\x82\x37\xa0\xaf\x10\x48\x4c\x81\xb8\xf7\xb1\x06\xf2\x78\x54\xcc\x58\x8e\x7b\x1f\xa5\x93\x17\xf3\xa9\x0b\xe2\x77\xdc\xfb\x88\x6d\xab\x4e\x07\xa8\xdb\x91\x94\x3b\x81\xc1\xe6\x5a\x6f\xca\xd4\xe8\xce\x0b\x30\x19\x61\xb7\x01\x81\xb0\x8c\xc3\x7c\x47\x23\x66\xc0\x64\x74\x0f\x0f\xb8\xdb\x5b\x4e\xae\x86\xea\xec\xc7\x20\xf2\x91\xa2\x50\x11\xda\xf1\x49\x2e\x2b\x84\xf1\x1d\x90\x3b\x4a\x98\xc2\x76\x89\x0d\x32\x70\x49\x6e\xf0\xe3\xc7\xe4\x72\x39\xf3\xb3\x22\x4e\x20\xdc\xed\x0c\x6c\x6c\xe3\x51\x62\xdc\x4a\xcb\xbc\x21\x3b\x7c\xcf\x3f\x04\x6d\x94\x27\x3a\x49\xb3\x06\x06\xcd\x1a\xe8\x35\x45\xde\x0f\x5d\xfc\xbe\x8c\x93\x34\x71\xac\xab\xad\x2a\xb8\x05\xce\x00\x7f\xec\xa0\xdf\x3d\xe1\xa0\x30\x47\x56\xbf\xf2\x5c\x6f\x08\x2f\x50\xe9\x4b\xd3\xe6\x99\x18\xc6\x52\x2f\xa1\x9d\x83\xfa\x41\xbf\x0f\x3a\xe0\x55\xd4\x0f\xa2\x20\x9b\xa1\x45\x05\xe8\x80\xf5\x26\x8f\x95\xed\xd5\x40\xd2\xaa\x81\x41\xab\x06\x7a\xad\x1a\x40\xf0\xfb\xea\x42\x81\x33\xe8\xda\x43\x35\xf2\x23\x46\x75\xd9\xe0\x81\x8e\x06\x7b\x11\x08\x27\x95\x49\x0b\x8d\xd0\x8b\x86\x90\x34\x20\x49\xe2\x79\x66\x8f\x24\xb5\x84\x24\xda\x0c\xa1\xd5\x7e\x90\x66\x48\x65\x09\xdc\x17\x5b\xa2\x3c\xd1\x46\xca\x9b\x02\x73\x63\x7e\x04\xf2\x46\xbe\xf5\xf1\x42\x8e\xea\x19\xe1\xac\x86\x8c\xd2\x99\x73\xd1\x56\xcd\x9d\x2e\xbb\x36\x21\xe8\x80\x30\x40\x62\xaa\xe5\xd3\x4d\x4e\x03\x53\xe4\x90\xad\x66\x06\xc9\xab\xb2\x37\x6e\x36\xac\x8f\xe3\x1b\xa7\xdd\x00\x4f\xb0\xd0\xae\x83\xa4\x55\xad\x89\xef\x43\xaf\xe5\x50\x9b\xbb\x08\x6a\x80\xa0\x06\x76\xa8\x66\x13\x41\xf5\x10\x54\x8f\x40\xc9\x33\x3a\x44\xf3\x2d\xd6\xa7\x41\x86\xe7\xb0\x38\x12\x27\x26\xa4\x52\xe9\xac\xac\xfa\x48\x00\x21\xcf\xc9\x0b\x1b\x36\x31\x1a\x44\x84\x05\xf5\xac\x4a\x2d\x2a\x4e\x2c\x30\x2f\x8e\x6a\x80\xa8\x67\xec\x38\x10\xf7\x3e\xe6\x61\xf3\x73\xb2\x6f\xdc\xf4\x4d\x1c\x91\xbb\x0f\xdf\xc1\xd9\xbb\x28\x24\xc6\x97\xe0\x16\x48\xa9\x54\xdd\x6c\xb7\x44\x0d\xaa\x66\x6e\x17\x65\xee\x48\xda\xff\x13\x9c\xa5\x88\x3d\x22\xb7\xde\xf5\x3e\x42\x0f\x3b\xc5\xa6\x1a\xb7\x84\x3c\x27\x6f\x14\xf5\x5d\xc4\x0e\x67\xa9\xf0\x9a\x2f\xe6\xdf\x27\x38\x03\x01\xe6\xb3\x3a\x7f\x51\x64\x52\x44\xd9\x77\x37\x11\x9a\xec\x61\x92\xcd\x08\x2b\x71\xaf\x7e\x82\x33\x2d\x88\x2d\xaa\x8b\xec\x16\xe5\x4e\x6b\x96\x01\x81\x40\x25\xfd\x8c\xb9\x7c\x3c\x0a\xb2\x0c\x9b\xbe\xe2\xe7\x55\x53\xca\x15\x2c\x50\x66\x58\xa0\xf1\x47\x7f\x0a\xb9\x38\x78\x6c\x1c\x89\x29\x78\x04\xc7\x68\x00\x0b\xf6\x39\x0d\xe8\x46\x7e\xec\xaf\x8c\x62\x7f\x12\xc2\x3a\x9c\x22\x13\x38\x15\xd4\xde\xfe\xca\xca\xd3\xa7\xbf\x05\x69\x3c\x49\x3c\xf8\xc6\x1d\x8f\x83\x68\xf0\xfd\xe9\xeb\xce\x14\x4f\x97\x1f\xd3\xfa\xc8\x1d\xaf\xac\xac\x3c\x7d\xf2\xe4\xc9\x53\x70\x57\xad\xad\x3c\x7d\x02\x9a\xe0\xc9\x53\x9a\xc2\xad\x4f\x87\xd4\x50\x03\xb4\x8a\x1a\xb8\xba\xba\x81\xbd\xb1\xeb\x7d\xba\x4a\xe0\x9f\x26\x41\x02\xaf\xae\x10\x6f\x57\x56\x27\x29\x04\x69\x96\x04\x5e\xb6\xba\xbf\xb2\x42\x7b\x87\x84\x67\x64\x7d\xe2\x70\x2c\xab\x57\x57\x30\x7d\x83\x71\xaf\xd6\xc0\x67\x70\xed\x86\x13\xb8\x87\xad\x6d\x6c\x9d\xee\xaf\x20\xa9\x50\x18\x6d\xf0\x5a\xe3\x29\x22\xa8\x6e\x9b\xe5\xaf\xc8\x49\x9f\xb7\xb7\xfc\x78\x86\xf4\xb8\x88\x45\x90\x2c\x25\xb4\x2f\x31\x79\x43\x6a\x01\xdb\x2a\xbb\x40\x60\x97\x4a\x95\x34\xf1\xf6\x56\x7a\xb3\x5a\x87\x20\xa2\xc9\xab\xa0\x34\xee\x17\x12\x89\x05\xa6\x0c\x95\xb9\xb5\x2d\xd5\xa9\x0e\x91\xe2\xa7\xb7\xe3\xde\x47\x63\xdb\xf6\x25\x28\x93\x49\x0a\x0a\x9d\x81\x14\xd3\x94\xd1\x8f\x58\x46\x92\xeb\x3c\x49\xcc\x37\x1d\xcb\xa3\x8a\xe9\x7b\x20\x41\x4d\x8b\xab\x61\x6a\x22\x30\x1d\x9f\x17\x72\x9d\x2c\x89\x0e\xc2\x90\x2d\x88\x52\xad\x13\x54\xd6\xcf\xe7\xbc\x0f\x43\x98\xc1\x42\xe6\x96\xa1\x2d\x56\xa7\x60\xbb\x48\x88\xab\x5b\x95\x9a\xe5\x5c\x00\xd9\x1f\xd9\x48\xe8\xf7\x69\xe5\xd2\x6b\xec\x40\xdc\xcb\x25\x44\x09\xfe\x81\xdc\x1f\x50\xef\x99\x38\x12\xa4\x80\x97\xdd\x37\x98\xe9\x69\x3d\x8e\xd4\xaa\x8b\xb9\x06\x47\x41\x56\xd8\x87\x02\x3f\xc4\x41\xcc\xa7\xfb\x2b\x7a\x68\x71\x85\x26\x7c\xce\x16\x3e\xed\x5f\x19\x1e\x40\x44\xe8\x2e\xae\x02\xb0\x0e\x9a\x48\x63\xf0\x42\x17\x57\x81\xd6\xe7\xe0\x97\x1b\xc1\x0b\x5a\x30\x80\x8c\x39\x34\x46\xe7\xf6\x62\x71\x1f\x84\xa5\x06\x93\xd8\xcb\x56\xfd\x7a\x27\x2d\xf8\xe5\xc9\xf9\x0e\x9f\x0d\xd1\x49\xa9\x68\x5a\xb7\x4d\xa7\x12\xf9\xe6\x59\xb5\xf5\x0d\xcd\xaa\xa8\x2b\xbb\x8d\xfd\x15\x61\x22\xed\xf2\x95\x48\xb7\x51\x7f\xfb\xfd\x6b\xd0\x01\x95\x0f\xd3\x46\x83\x3a\x7a\x77\x1b\xf5\xb3\x77\x2f\x69\x62\x53\x48\x3c\xff\x89\x26\xb6\xf2\xc4\x63\x9e\xd8\x16\x12\xdf\x9d\xd3\xc4\x0d\x21\xf1\xed\xbf\xa4\x89\x9b\x79\xe2\x41\xf7\x3b\x9a\xb8\x95\x27\x1e\x1e\x33\x92\xb6\x85\xc4\x33\x9a\xb6\x93\xa7\xbd\x64\xd5\xec\xe6\x69\xaf\x4f\x68\x9a\x9b\xa7\xfd\xc0\xe0\x7a\x79\xda\x09\x83\xf3\xf2\xb4\xee\x29\x4d\xf3\x45\x56\xd0\x34\x28\xa4\xbd\xa2\x69\xfd\x3c\xed\xe8\xf5\x31\x49\x6c\x0a\x7c\x3c\xea\x36\x69\x62\x53\x4c\x6c\xd1\xc4\x96\x98\xd8\xa6\x89\x6d\x31\x71\x83\x26\x0a\x7c\x7c\x7b\x40\x59\xd6\x14\xf8\x78\xf6\x87\xb7\x34\x71\x4b\xec\x9b\x43\x9a\x28\xf0\xb1\x7b\xc0\x20\x05\x46\x1e\xbf\xa1\x69\x02\x23\xcf\xbe\x67\xa5\x05\x4e\x1e\x9f\x75\x69\xa2\xc8\x4a\xda\x35\x4d\x81\x95\xbf\x67\x69\x02\x2b\x4f\x59\x9a\xc0\xca\xef\x59\x9a\xc0\xca\xb3\xf7\x24\xad\x25\x72\x92\xc9\xc4\x36\x02\xbc\xab\x3a\xdd\x06\xe8\xb0\xb1\x54\xef\x36\xf0\x15\x1c\xe1\x13\xad\x4f\xab\xd8\xa8\xb4\x8c\x62\xf9\xea\x9e\x65\x20\xb7\xbf\xa1\x81\xcc\x1b\xf7\xf2\xe0\xf4\xec\xf8\xfc\x8c\x2e\xc1\x59\xf2\xd1\xf1\xc9\xc1\xf7\xaf\xcf\xaf\x68\xb6\xc8\x1c\x5a\xe0\xa2\x72\x58\xb9\xd4\xf1\x5c\x54\x1a\x95\x4b\x1e\x9c\xbd\xf2\xc7\xca\x1e\xa8\x7c\x98\xb4\x36\xbd\xad\x0a\x09\xc0\x5e\x71\x59\xd2\x6e\x8b\x25\xf5\x48\x52\xa3\xd1\xd8\x65\x49\x1e\x4f\xf2\x58\x92\xcf\x93\x7c\x96\x04\x79\x92\xcb\x92\xfa\x2c\xa9\xd7\x60\x49\x03\x9e\xd4\x64\x49\x43\x4a\xc4\x46\x6b\x83\x25\x05\x1c\x57\x8f\x25\x7d\x64\xa4\x36\x77\x58\xd2\x27\x9e\xc4\xd1\x87\x2c\x29\x27\x75\xc4\xa1\x38\xfa\x88\x25\xb5\x39\x54\x4c\x93\xda\x3d\x4e\xfd\x98\x27\x71\x22\xfe\xc4\xd1\xf3\x1a\x13\x0e\xc5\x71\xa5\x3c\x89\x33\x27\xe3\x44\x70\xa8\x09\x4b\xca\x9b\x7d\xcd\xe9\xe2\x49\x37\x1c\x8a\x17\x9c\x72\x22\x78\xa7\xcd\x68\x52\x6b\x8b\x17\xfc\x33\x4f\xda\x64\x49\x9f\x29\x57\xdb\x1e\xa7\xfe\x96\x43\xf1\xa4\x3b\xc6\x7b\xb7\xcd\x92\xfe\xc2\x3b\x6d\xbb\xb2\x72\x67\x12\xb4\x03\x51\xd0\x7e\x8b\xc0\xff\xfa\x3f\x5a\x40\x0f\x31\x28\x71\xc4\xd4\x73\x37\x4c\x88\x28\x19\x7f\x87\x3f\xff\x5f\xf6\x79\x81\x3e\x83\x8f\xec\xf3\xc3\x07\x9c\xfd\xff\xb0\xef\x4b\xf4\x79\x2b\xb5\xfd\xaf\xff\x24\xb5\xbb\x2f\x35\xf9\xaf\xff\x51\x6a\xee\x5f\xff\xbd\x85\xfe\x2e\xa2\x10\x03\xea\x79\x9b\x02\xf5\x39\x8d\x3f\xff\x67\x95\xfc\xc1\x03\x4a\xe7\xcf\xff\xb5\x98\x86\x69\xfd\xf9\x3f\x17\x93\xfe\x35\x4e\xfa\x37\x62\x12\x1e\xc0\x3f\xff\x5b\x31\x09\x37\xeb\xe7\x7f\x10\x93\x70\xd3\x7e\xfe\x0f\x62\x12\x6e\xdf\xcf\xff\x93\x98\x84\xdb\xf8\xf3\x7f\xac\x30\xab\x4a\x6f\xcb\xe9\xbc\x9e\xf8\xf9\xbf\x93\x7a\xe2\xaf\xff\x4e\xee\x89\x9f\xff\x51\xea\x89\xbf\xfe\xa3\xd4\x15\xbc\x19\x94\xde\xff\x4b\xea\x8b\x9f\xff\x49\xee\x8b\x7f\xb2\xf4\xc5\xbf\x14\x69\x34\x11\xf5\xf3\xff\x50\x48\xd4\xcf\xff\x0b\xfb\x24\xec\xfe\xdf\xd8\x27\x61\xf5\xbf\x5f\x9e\xe4\x9f\xff\x6f\x0b\xc9\xdf\x69\x24\xe7\x9c\x91\xa5\x45\x95\x14\x4a\xf2\xbf\x91\x89\xfa\x07\x99\xa8\xff\x20\x13\x25\xcb\xf4\xcf\xff\xad\x85\xa8\x3f\xcc\x1d\x75\xff\xb8\x48\x5f\xe7\x9c\xfa\xa3\xcc\xa9\xcf\x72\x17\x11\x92\xff\x8f\x42\x3e\xfe\xaf\x16\x92\x8f\x0b\x86\xe1\x96\x3a\x0c\xff\x4e\x1f\x86\x84\xd7\xff\x85\x61\x64\xfe\x37\xcb\x8e\xcc\x7f\xd0\x47\xe6\xff\xac\x8f\xcc\xff\xf3\xde\x23\xf3\x5f\x2d\xda\x5b\xff\xbd\xd2\x5b\xff\x95\x3c\x32\xff\x3f\x59\x49\xfe\x3b\xb9\x7b\xfe\x77\xb9\x7b\xfe\xd1\xd2\x1f\x2f\x0b\xfa\x63\xdb\xdc\x1f\xff\xa5\xde\x1f\xff\x2c\x35\x65\x47\xeb\x8f\x5c\xe2\x8d\x4a\xe9\xdf\x2e\xa7\x94\xae\xe4\xf1\x61\xd4\x51\x0b\xa9\x03\xa2\xa3\xcc\x66\x34\x8d\x9e\x60\xb3\x9f\x37\xee\x65\x3f\x3f\x7d\xf2\x64\x05\x3c\x01\xaf\x46\x63\xea\x8a\x04\xb2\x21\x7b\xa4\x13\x8c\x60\x36\x8c\xfd\x1a\xc8\x86\x2e\x7b\x00\x11\x12\x00\x76\xe3\x02\x64\x31\x70\xc1\x8f\xb0\x77\x16\x7b\x9f\x60\x86\x2c\x71\xe8\x8e\xea\x08\xe5\xdf\x11\x1a\x00\xde\x1a\x7f\xea\xfa\x7e\x1c\xa5\x4f\x09\x12\xfa\x0f\x86\x0a\x03\x0f\x46\x29\x04\x6f\x5e\x9d\xaf\xa0\x96\x88\x8b\x68\x02\x46\x16\xd2\x78\x87\x2f\xc9\x6f\xa7\x3f\x7d\x42\x04\xe3\x09\xe8\xc6\xa3\x51\x1c\xfd\xfd\x19\x80\xd1\x75\x90\xc4\x11\x6a\x06\xcd\x7b\x8a\xff\xd5\x76\xf3\x09\x5e\xc7\xc0\x13\xa7\x41\x5c\xa4\xee\x84\xe8\x20\xb3\x31\x8c\xfb\x80\x2c\x29\xf0\x09\x36\x23\xb0\xa2\xd3\x72\x4a\x10\xd5\x3f\xa6\x20\x48\x81\x7b\xed\x06\xa1\xdb\x0b\xa1\x44\x0e\xc1\xe4\x5c\x54\xea\xf5\xa7\xf5\xfa\x53\xcc\x9f\xca\x65\x8d\x52\x25\x56\xaf\x62\x7f\x1f\xba\x41\x04\xe8\xa1\xbc\xb5\xb9\xb4\x75\x37\xf8\xbc\xbe\xce\x4e\x2e\x08\x5e\xb4\xaa\xcb\xf9\xfb\x53\xee\x3c\x59\xc9\xd7\x51\x95\xfd\x95\x15\xb2\x93\x95\x73\x0c\xad\x82\x56\x10\x29\x98\x96\x27\xe0\x40\x14\x86\x41\x70\x0d\x23\x49\x24\xf2\xd4\x14\xcb\x45\x1d\x97\x22\x45\xff\x6e\xec\x26\xee\x08\x7c\xc6\x95\xdf\xe1\x62\x60\x1d\x9c\x2b\x42\xd5\x63\x42\x08\x7d\x3b\x42\x8e\x8b\x0b\xe0\x1d\xcd\xa7\x18\xe9\x07\x12\x52\x22\xd1\x08\x8f\x37\x49\x12\x18\x65\xbc\x3a\x05\x57\x2f\x8e\x43\xe8\x46\x77\xa0\x17\xf8\x41\x42\x9e\x00\x74\x43\xb0\x0e\x7e\x1c\xc2\x6c\x08\x13\x59\xfe\xd3\x61\x3c\x09\x7d\x80\x83\x2e\xf8\x6e\xe6\x12\x5c\x73\xff\x68\x93\x28\x7d\x6e\x0a\x6e\x60\x68\x27\x04\xbf\x7a\x0c\x7d\x85\x86\x04\x46\x3e\x4c\x82\x68\x00\xe2\x3e\x08\x22\x2f\x1e\xa1\xdf\xe5\x88\xa0\x64\x0f\xdd\x31\x7e\x9f\x34\x4a\x33\x37\xca\xc2\x19\x88\x13\x80\x86\x3a\x18\xb9\xd3\x60\x34\x19\xcd\x47\xd4\x4f\xc8\xf2\x7e\x86\x88\x68\x0a\x34\x8d\x61\x02\x9a\x8d\x51\x4a\x1a\x85\x24\x93\xa9\x6b\xda\x15\xaa\x13\x6f\x8d\x72\xa3\x26\x33\xbe\xc6\x9b\xcf\x46\x9b\xdc\x2f\x1d\x3e\x42\x95\xf4\x0e\xa8\xf0\x67\xcc\x2a\x55\xf0\x82\xac\xf2\xf7\x64\x30\xea\xf1\x06\x93\x51\x9d\xf6\x45\x87\x92\x81\xe5\x9d\x66\x5d\xf5\xc3\x49\x3a\x24\x8f\x4f\x1b\x3d\xdc\x28\x1c\x79\xa9\x99\x14\x21\xad\x24\x52\x49\x4a\xf2\xbd\x5a\x1b\x80\x74\x2b\x0e\x00\x7c\x2f\x81\x05\x96\xb0\x95\x41\xf9\xf3\x31\x63\x28\x09\xfd\x9d\xd4\xbe\xf1\x24\x1d\x9e\xc7\x86\x06\x8a\x1e\xce\x54\x07\xdb\x5a\x27\x1e\xd7\xd9\x1a\xc8\xc3\x79\x10\xb8\x3b\xcd\x57\xd4\xce\x19\xb1\x9c\x14\x72\x43\xeb\x21\x21\x86\x86\xb0\x2b\x2e\xb4\x76\x00\xb3\x37\xfc\x81\x6b\x53\xd4\x1f\xd2\x52\x55\xee\xcc\xec\x72\xe0\x75\x5d\x7a\x36\xdd\xdc\x28\x22\x1a\x1a\xac\x81\x3a\xa4\x4a\x8e\xc8\x03\xf9\xb6\x7e\xa0\x3a\x10\xbf\x37\x2f\xe0\x63\x78\x68\xb6\xe6\xc4\x58\xa1\x2f\x68\x57\x6a\x1a\x23\xaa\xb4\x28\x6e\xb7\x38\x40\x14\x09\x8f\x23\xee\x59\x2e\x53\xcb\x1d\x29\x8a\x29\xf0\xc2\x38\xe5\xf5\xfb\x10\xf5\x33\x7d\x62\x54\xd0\x00\xcc\x4b\xd9\x8a\x05\x47\xbc\x28\x87\x45\x99\xb7\x8e\xa0\x7d\xde\xea\x27\xf1\x48\x9b\x68\x96\x99\xb8\x08\x45\xd0\x37\x63\x5c\x6c\xea\xc2\x28\x48\xc0\xa5\x2c\xa6\x98\xc5\x59\x6c\xbe\x86\x96\xa7\x39\x51\x11\x53\x6c\x36\x45\xcc\xdd\x77\x71\xc7\xf7\xfb\xf6\x9e\x17\x7a\x4b\xd0\xc7\x2c\x41\x57\xc4\x82\xba\xdd\x93\xd5\x2d\x92\x3f\xb9\x76\x2e\x06\x26\x27\xd9\x62\x89\x16\x04\x92\x9d\xfc\xe6\x35\x1b\x84\x43\x32\x6a\x54\x2b\xc1\x64\x85\x18\x84\xe3\x57\x4b\xe4\x9f\x81\x25\x82\x47\xb0\xf6\xfa\xbf\x34\x10\x4a\xda\x22\xcc\x11\x4c\x32\x6d\xe8\xf9\xec\x3c\x14\xf3\xd4\x93\x26\x81\x05\xea\xe4\xab\xeb\x14\x95\xa5\x06\xdd\x22\x8f\x6b\x85\x73\x04\x5e\xe2\x9c\xc0\x20\x19\x78\x7f\xe5\x0e\x29\x1d\x79\x19\xbc\xf9\x10\xcb\xe0\x93\x40\x60\xb7\x17\x87\x93\x51\x94\x02\x37\xf2\x71\x20\x01\x36\x54\xfc\x60\x04\xa3\x34\x88\xa3\x14\x8b\x7b\x96\x82\xa3\x77\x6f\xf8\xd5\x81\x15\x80\x31\xfd\xf6\xb7\xe0\x60\x3c\x4e\x62\xba\xcc\x5d\x07\xa7\x38\x14\xc1\x79\x32\x89\x3c\x17\xfb\xa0\x20\x44\xd7\x41\x4a\x2e\x0a\xc8\x43\x99\x78\xb1\x33\x94\x60\x08\xf1\x4d\xe5\xde\x4c\x86\x4a\xe2\x1b\x9a\xc5\x2a\x5d\x07\x5d\x42\xf3\x92\x15\xdd\x04\x7e\x36\xd4\xea\xf1\x86\x6e\xe2\x7a\x19\x4c\x50\x15\x04\xc4\xc1\x7e\x08\xc0\x0f\xd2\x71\xe8\xce\xf6\x40\x10\xe1\xcb\x8c\x6e\xa6\x53\x88\xb8\x97\x31\x62\x10\xb3\x08\x86\x9b\x20\x53\x64\xee\x09\x88\x26\xa3\x1e\x4c\x10\x91\x94\xf5\x55\xfb\x46\x42\x3f\xc8\xd0\xff\xe7\x6e\x21\xf4\x83\xec\xe1\xf7\x0f\xfa\x41\xf6\xad\x6d\x1e\xa0\x76\xde\x7b\xe7\x00\xb5\x6b\xb1\x6d\x03\xe3\x2e\x01\x1b\xd3\xe3\x24\x1e\xc7\x29\xfc\x7d\x1e\xda\xc3\x7c\x6d\x93\x78\xdd\x20\xfd\xc1\x06\x11\x91\xcb\x63\xf5\x82\x0e\x55\x03\xc2\x2a\x06\xff\x17\x11\x21\x95\x38\xcb\x66\xf8\x46\x23\x6d\xcb\x00\x66\xdd\x78\x34\x9e\x64\xd0\xc7\x39\x4e\x41\x5d\xf9\x76\xa3\x94\xfe\x12\xd2\x60\x01\x63\x17\x5f\x0a\xcc\x1c\xbd\x42\x54\x0f\x3b\x72\xfe\xc1\x0d\x27\xd0\xa9\x90\xe1\x59\xa9\xda\xd0\xe2\xa8\x13\xa0\x43\x5c\xaa\x47\xee\xd4\x69\xd4\x16\xac\xe1\x86\xc5\xad\x58\x07\xcd\x6d\xa1\x1a\xb8\x38\x27\xf4\xd2\xef\x5d\xdf\x0f\xa2\xc1\x0f\x78\x01\xc6\xe9\x82\xc5\x14\x8d\x49\xa1\xf5\x2c\x1e\x23\xba\xd6\x16\x2e\xd8\xc3\x57\x0a\x25\xa6\xc9\xf4\xbc\x8c\x97\xa1\x27\xa1\x5d\xb1\x04\x45\x21\xec\xcb\x9d\xc8\xc7\xa6\x28\x17\x9a\xb4\xac\xeb\x7c\x34\xa0\x60\x32\x60\x10\x0c\x15\xc1\xcb\x58\x40\xe0\xc5\x51\xe6\x06\xc4\x53\x0f\x77\x63\x12\xdf\x74\x59\x9a\xf0\xac\xfb\x04\xbb\x44\x9c\xc6\x37\x26\xb8\x7a\x3f\x48\x52\x56\x29\x8e\x7b\x24\x57\x00\xa3\x7c\x05\x9e\x63\xaa\x07\x51\x04\x93\x97\xe7\x6f\x5e\x0b\xd0\x6c\x96\x20\x8d\xcf\x33\x90\xce\x31\x80\xe1\x16\x8a\x95\x85\x02\x14\x8b\x06\xc4\x96\x16\x79\xcd\x24\x7a\x26\x9d\x78\x40\x07\x54\xc8\xd4\xc3\x22\x71\x1a\x48\x44\x40\x3f\x56\xf6\xc1\xd3\xa7\x54\xd3\xe7\x34\x60\x47\x3c\x12\xc9\x08\x19\x8a\x78\x2c\xd5\x80\x1b\x66\xc3\x78\x32\x18\x82\x38\x02\xa3\x38\x8a\xd3\xb1\xeb\x11\x25\x2c\x13\x2f\xb3\x64\x00\xb3\xc3\x78\x12\xa1\x6e\xea\x86\x01\x8c\xb2\x53\xe8\x65\x4e\xb5\x8e\x91\x6a\xd4\x69\xcd\x20\x04\x9e\xc2\x6b\x98\x64\x00\xe7\x82\x1e\xec\xc7\x09\x04\x9e\x1b\x7a\x93\xd0\xcd\x10\x85\x44\x9f\xd4\x40\x1a\x44\x1e\x9e\xda\x67\xf8\x2e\x0a\x4c\xea\x2b\x86\x3e\x28\x47\x20\xc1\x59\xc8\x3f\x49\x12\x68\x9f\xd0\x9b\xb8\x7c\x28\xa9\x43\xe2\xa9\x4a\x0d\x5d\x90\xd1\xeb\xb9\x7a\x39\xc2\xd3\xa7\x0a\x93\xd9\xea\x52\x88\x0f\xf5\x99\x84\x77\x22\x01\xa2\x48\x84\x27\xf4\x5f\xd9\x21\x31\x97\x20\x66\x43\xb2\x59\xa9\xaf\xba\xa1\x2a\x01\x04\x84\x9a\x2c\x13\x19\x29\x22\xac\x58\x59\x11\x65\xb3\x84\x44\xa8\xe2\xb9\x34\xa4\x15\xff\xc4\x21\x28\xf3\x79\x8c\x50\xa9\xda\xd1\x45\x73\xa8\xc5\x94\xd6\xa8\x1d\x06\xa9\x60\x4b\xab\x35\xa8\xfc\xb0\x60\x45\xb6\x81\x82\xa9\x84\x55\xbe\xf5\x20\x56\xf9\x24\x0c\x53\x2f\x81\x30\x02\xd8\xfa\xc3\xc3\x96\xdd\xb8\xb0\x5b\x88\xbc\x94\xf0\xd3\x68\x2f\x8a\xe6\x22\x87\xfc\x02\x56\x23\xc7\xfd\xcd\x19\x8f\x79\xab\xef\x6f\x43\xe6\xad\x7c\x00\x53\x92\xaf\x8c\xcf\xe3\xc1\x20\x84\x86\x6d\xbb\x4a\x2a\x54\x89\x98\x0e\xeb\x8b\x6c\xd7\x65\x04\x2f\x42\x01\x04\x1c\x96\xfd\x0f\xa1\xa6\x75\x46\x92\x90\x86\xd5\x09\x96\x96\x18\x2d\x63\xfa\xc0\x21\x77\xb5\xb5\x9d\x37\x52\x2b\x92\xeb\x33\x52\x52\xdf\x83\x53\x25\x91\x30\xa8\x1f\x09\x6a\x87\xca\x87\x40\x80\xba\xd7\xc6\xd4\x51\x3f\xe2\xb7\x83\x99\xd9\xeb\x85\x6e\x9a\xbe\x0e\x52\x1c\x26\x18\x19\x03\xa9\x53\xc9\x31\x21\x3b\xe9\x05\xa8\x90\x3d\xb7\x0a\xd8\x03\x15\xd7\x67\x5e\xa6\x82\x84\x3e\xd2\xa9\xa4\x95\xb1\xa2\x52\x11\x19\x42\xc0\x28\xec\x7f\x6b\xf4\x5d\xf4\xa3\x4b\x99\x34\xbb\x2e\xcb\xf9\x9a\xea\x7c\xd5\x69\xb5\x75\x07\xdd\x86\x50\x87\x45\x59\xa5\xb7\xfd\x10\x4a\xef\x7c\x18\xa4\x54\x87\x80\x71\x12\x5f\x07\x3e\x4c\xe9\x81\x7c\x8a\x15\x20\xd9\x6b\x42\x56\x81\xab\x1c\xc7\xd3\x2f\x3f\x36\x1e\xcc\x5b\x15\x26\x2f\x96\xff\xfa\xf5\x84\xfe\xd7\x13\xfa\x5f\x4f\xe8\xff\x93\xd9\x17\xe7\xfa\x90\x8d\xff\x83\x5f\x8f\xea\x7f\x3d\xaa\xc7\x7f\xdf\xee\x51\x3d\x52\x83\x3e\x39\x2f\xff\xfb\xb3\x77\x6f\xeb\x78\x65\xc9\x4f\xda\x39\x3b\x1c\x0c\x74\xd1\xb8\x44\xe2\xb6\x9a\x66\x7e\x3c\xc9\x56\x81\x7a\x87\xd4\x74\xe6\x6f\x3c\xf5\xc7\xc8\x9a\x97\xe2\xfd\x3b\x3d\xaa\xb6\x20\x69\x06\xf8\x82\x66\x2f\xe8\x03\x80\xdb\x9d\xe2\x97\x6a\x82\xfe\xcc\xb9\xa8\xa4\x99\x1f\x44\x34\xfa\xdb\x65\xb5\x6a\x92\xa3\x14\x66\x67\xea\xbb\x0f\x68\xb9\x5a\xb6\x06\x98\x5d\xd1\xf8\xcb\xe8\x1f\xbc\x98\xa5\x3f\xd1\x32\x57\xab\xf4\xab\xfa\x24\x48\xa0\x3c\x6e\xb4\xc4\x87\xea\x3c\x3a\x25\xcf\x05\xae\x20\x8f\x1e\xc4\x85\xa1\x24\xba\x5f\x7d\x19\xec\xbe\x0c\x0a\x0b\x7f\x75\x6a\xf8\xd5\xa9\xe1\x3f\x31\xe3\x4d\x5b\x0b\x17\x18\x71\xcb\x79\x37\x28\x18\x7f\x75\x73\x80\x85\x6a\xa7\xd0\xdf\x41\x29\x78\x0f\xc7\x87\x9d\x6f\xe8\xfe\x2c\xb2\xc5\x7e\x8f\x94\x58\xe0\x5d\x35\x41\xc7\x54\xab\xd3\x6e\x53\xc0\x20\x7d\x8b\xe3\x1f\x71\xdd\x1a\xb9\xd7\xc1\xc0\xc5\x71\xfe\xac\x4b\x02\x1a\x59\x10\x95\x9f\xa4\x30\x39\x18\x20\xd1\xe9\xe0\x27\xaa\xf0\x7b\x88\x2f\x40\x25\x8a\x7d\xbc\x65\xc5\xd1\xd5\x39\x24\x29\x38\x0e\xdd\xac\x1f\x27\xa3\xb9\xe5\x18\x60\x7e\xd5\x24\x48\x4f\x82\x04\xf6\xe3\x29\xe8\x80\x47\x8f\xfe\xc2\x11\xf3\x48\xc2\x15\x9a\x5f\xa9\x8a\x85\xde\x9c\xbd\x3a\xb6\x96\x40\x99\x15\xfc\xb6\x96\x39\xff\x3c\x09\x7c\x18\x65\x0a\x46\xd7\x03\x9d\x9c\xd7\xf9\x26\xde\x45\xe5\x8d\xeb\x05\x51\x16\xa7\xc3\x4a\x0d\xa0\x8f\x57\x51\x06\x43\xfa\xfb\xfd\xfb\x2e\xfd\xb5\xb5\xf3\x5d\xe5\xb2\xc6\x79\x21\x21\x7f\x35\x76\x7d\xd0\x11\xf8\x84\xba\x23\x78\xef\xfa\x15\x19\x6a\x18\xe3\x08\xd6\x2a\x1c\x4a\xae\xc8\xcd\x67\xc1\x03\x2d\x24\xd3\x6c\x44\xda\x8f\x41\xd4\xdc\xa2\x3f\xda\x2d\xfa\xa3\x7b\x6c\xa5\xf5\x75\x10\x4d\xa6\x02\x11\x39\xdf\x70\x4e\xa5\x0a\x9e\xe3\xa8\xce\xe6\xbb\x35\x87\x34\xc0\xa1\xf9\x6a\xcd\xee\x37\x34\xb4\xb8\x5e\xc1\x67\xf8\x71\xe2\xa7\xa7\x30\x74\xb3\xe0\x1a\x9e\xc7\xf4\xfc\xd6\xc1\xb1\x3a\x6a\x40\x09\x6c\x4a\x02\x30\x12\x57\x87\x01\xfc\xc9\xf4\xf2\x67\x81\x63\xc5\x14\x3f\xdf\xc9\x4b\xe7\xa1\xc5\x66\x52\x06\x7d\x99\x86\xc6\x1f\x62\x0e\x45\x8f\x1f\x73\xdf\xa2\x47\x9d\x0e\x79\x07\xd1\x8f\x3d\x1c\x84\x85\xff\xd0\xdc\x3c\x00\x98\x82\xf5\x0e\xf7\xa8\x8a\xfb\xfd\x14\x66\xaf\x61\x5f\x78\xdf\x6b\xa6\x03\x9c\xc7\xe3\x3c\x9f\xd5\xda\x01\x15\x92\xfb\x1e\x9f\xae\x57\x40\x10\xf1\xbc\x17\x0a\x02\x02\x02\xf6\x80\xd1\x33\x44\xe4\x0b\x65\xd7\xc5\xb4\x06\x66\x97\xfb\x2b\x77\x5c\x1c\xed\x7d\x03\x3a\x05\x1d\x67\xea\x5d\xd6\x99\xd2\xa9\x3e\x10\x9e\xe0\xc1\xcf\xdc\x74\xe3\x09\x07\xc2\xbf\x82\xf4\x0c\x3f\x25\x1c\xc4\xd2\xb9\x81\x87\x71\x16\x12\x61\xaa\x90\x9f\xd9\xa2\x12\x78\xed\x4c\x5c\x55\x3c\x18\x84\x8e\x93\x27\xaf\x21\x45\xca\x2b\x06\x2f\x44\x3a\xc9\x09\x38\x78\x0a\x5a\x60\x0f\x34\xaa\x55\x7a\xc4\x2b\xe5\xca\xf5\x34\xe5\x7a\xf2\x54\xb9\xe4\x50\x3e\x56\x56\x48\x1c\x05\x91\xc3\xdd\x6a\x78\x6e\x0d\x34\xab\x39\xe3\xf0\xb3\x5a\x96\xaa\x4d\xe5\x9b\xb4\x3c\x63\xb7\x50\x9e\x45\xbf\xc7\x80\x46\x91\x10\x99\x2f\x77\xf8\xa9\x7b\x73\x38\xcb\xe0\x3d\xfa\xbd\xb8\xab\x97\x43\xb9\x2f\xa9\x00\xce\x41\x59\x01\x70\xc6\x90\xe4\x29\x58\xeb\x80\x76\x8b\x7c\xcc\xc4\x0f\xca\x9f\xcf\x60\x8a\x1f\x66\x9a\xe1\x57\x99\x14\x3e\x49\x7c\x20\x0d\x90\x92\x6c\x4a\xfc\x4d\x3c\x49\xa1\x2d\xf8\x5e\xe3\x1b\xd2\xe1\x88\x6b\x3d\x37\x81\x36\xcb\x68\x43\x80\x79\x1d\xf4\x6c\x60\x9b\x14\xec\x1c\x26\xa3\x97\x78\xe9\x5e\x1c\xc3\x8f\xc3\x61\xbd\xac\xc5\xd5\x43\x89\x80\x68\xd3\x5c\x81\x0e\xe9\xdd\x0a\x1c\xf7\xf9\x2c\x8b\x13\xb2\x05\x17\xc1\x1b\x46\x5d\x9d\xa6\xd6\xdf\xc0\x51\x9c\xcc\x1c\x35\x60\x3c\x25\x8c\x95\xe0\xc7\x1c\x46\x40\xe2\x7c\x05\xfb\xa9\x53\xc5\x01\xed\x57\xd1\x8a\x6f\x1d\x46\x5e\xec\x07\xd1\x60\xb5\x06\x56\x13\xf7\x66\xd5\x58\xd2\x87\x5e\x9c\xb8\x19\x8d\x4a\x8f\x5b\xa8\x80\x05\xb1\xf8\x20\x44\x3d\x88\x49\x14\x40\x23\x36\xbc\x56\x0b\xc3\xef\xe0\xac\x17\xbb\x89\x2f\x3f\x2e\x40\x7e\x73\x76\x4a\x6f\x1e\xf4\x63\xcb\x76\xb3\x20\xfb\x1e\xf3\xce\x65\xc1\xe9\xd1\x17\xf3\x61\xc9\x43\xb1\xdf\x49\x11\xb6\xec\x95\xc6\x93\x6c\x3c\xc9\x0a\xf6\x08\x85\xb8\x78\xb4\xe5\xa6\x90\xc3\x0a\x03\x62\xb2\x63\xf9\xfd\xf9\x49\x73\xcb\x91\x6e\x2b\x29\x31\xc6\xec\x84\xa5\xc3\xf8\xc6\xb4\x6d\x4b\x37\x36\x6a\x20\x23\x1b\xc2\x9a\x28\x8e\x78\x21\xfa\x6b\x5f\x6e\x09\x29\x66\x7a\xd3\x52\x6a\x00\xaa\xff\xdd\x35\x4c\x42\x77\xa6\xd7\xa9\xef\xc0\x1a\xdf\x43\x9c\x8f\x10\xf3\x71\x61\xde\x90\x1d\x1f\x13\x77\xc4\x26\x3d\x7d\x8a\x56\xaa\x09\x04\x41\x0a\xa2\x18\x0c\x03\x1f\xb2\xfa\xab\x68\x99\x08\x10\x45\x64\x8f\xc3\x1d\x41\xc6\x2d\xe2\x55\xdd\x00\x29\xf4\x4c\xa2\x2d\xb7\x43\x64\x78\x0d\x34\xe4\x18\x7e\xc6\x5e\x85\x19\xb1\xd3\xe7\x3c\x18\x22\xd7\x2a\x97\x72\xd8\xd3\x21\xe5\xe4\x88\x28\x05\x98\xe0\xf8\x51\x52\x8d\x58\xb5\xaa\xd1\x03\xaf\x50\xb5\xd2\x43\xde\xe8\x4f\x8c\x8e\x4b\x8a\x19\x1e\x03\xf8\x04\xb5\x17\x28\xaf\xac\xda\x09\x47\xd5\xc5\xa8\x2e\x3e\xc1\x99\xb4\xa9\x5f\xb6\x69\x71\xf4\x2a\x52\x07\xaf\xe7\x92\x27\x8f\x35\x46\x06\x71\x3d\x8e\x7e\x38\xff\x0e\xce\xd2\x2c\x89\x3f\xc1\xc2\x21\x8f\xfe\x18\x26\x6d\xfc\x6a\x9a\x11\x6f\xef\x93\x47\xee\xef\x8b\xb5\x44\x9b\x4f\xf5\xb7\xa6\x4d\x8d\xb6\xf7\x65\xce\x0e\x36\x9d\x98\x50\x8a\x8a\xd5\xdc\xab\xec\x6e\x47\x87\xe9\xe4\x7d\x03\x10\x75\x71\xcc\xdf\x19\xd1\x18\x21\xd7\xb4\x38\x47\x7c\xe8\x7a\x59\x70\xed\x66\x76\x4d\x60\x13\x00\xf1\xf8\xd1\xd2\x9b\x66\x10\x03\xeb\x0c\x80\x98\xd0\x49\x64\x9b\x0e\x8b\xf4\x9b\xed\x21\x17\x90\xbf\x3f\x22\xa8\xc0\xc5\xa6\x61\x7b\xbd\xf8\x7c\xa6\xb8\xde\x52\x6d\xa2\x93\x35\xaf\x42\x8d\x66\x29\x1a\x5d\x02\x90\x6a\x76\x7e\x4b\x41\x9f\x71\x78\xca\x38\x8a\xc8\xea\xec\xc4\xf5\xb2\x18\x7b\x92\x16\xd9\x8c\x1a\xbc\x33\x49\xc2\x1a\xc0\xfc\x36\x3e\xa8\x34\x49\x42\xd0\x01\x93\x44\x15\x24\x5e\x02\x74\xf2\xd2\xba\x51\xa5\xd5\x27\x76\x6d\x02\x8b\x46\x08\xdb\xbc\x80\x37\x02\x16\x87\x11\x55\x53\xc8\x30\x29\x68\x8a\x41\xa3\x41\xed\x7b\x13\x13\x0d\x85\x64\x7e\x97\x66\xf4\x3c\x0e\xd3\x95\x03\x6a\x27\xdf\xf9\x56\xcb\x88\x8c\xcd\x31\x8b\x3a\x78\xac\x78\xc5\x29\x56\x47\x14\x67\xd8\xa7\x2c\x8b\xfd\x18\xbb\x99\xdd\xc0\x5e\x7e\x2e\x24\xb3\xcd\x58\x41\x89\x71\x88\x97\x03\x18\xce\x31\xf5\x86\x11\x2d\x3e\x01\x2a\x9a\xa0\x72\xcc\x86\x6b\xf1\x73\x90\x07\xe9\xbb\x22\xb6\x70\x23\x1a\xa3\x4f\xa0\xeb\xcf\xce\x32\x2c\x91\x9d\xbc\x27\xea\xdd\x77\x6f\xdf\x1e\x77\xcf\x5f\xbd\xfd\xbd\x18\xe8\x5f\x26\xcd\x56\xf6\xdd\xfb\xe3\xb7\xe6\x20\xc3\xc2\xb3\xb3\x40\x32\x59\xe5\x97\x76\x84\x76\x9a\xbb\x3d\xd2\x5a\x68\xb5\x36\x30\xa5\x71\xa4\x49\x0a\xde\x45\xb0\xda\x04\x73\x66\x3f\x0b\x55\xa7\xd0\x83\xc1\xf5\x7c\x8b\x40\x24\x6c\x64\x74\x08\x29\xa2\x8d\x6c\x53\x96\xb0\x5a\x2c\x54\x76\x35\x99\x9e\x47\xa3\x3e\x0a\xee\xc5\x3d\x4d\x41\xd9\x35\x93\xa4\x92\xf4\x79\xe9\x5b\x0a\x9b\x2c\x5c\x58\xe0\x53\xc4\xc5\xea\x0d\xec\x65\xd9\x6c\x55\x88\xa2\x3a\x4a\x07\xd8\x58\xfe\x3e\xfa\x14\xc5\x37\xd8\x77\xb8\x51\xd1\xb3\x51\x7a\x53\x4e\x7f\x4f\x0c\xa1\x4a\x4b\x4e\x26\x86\x0f\x33\x83\x10\x40\x5b\x06\xa0\x35\xbd\x63\x0b\x6c\xb5\xbe\x3c\x43\xad\x30\x36\x56\x78\xa6\x2e\x9d\xd4\x0a\xcf\xd4\x95\x4e\x65\x43\x03\x38\x85\x1e\xe9\x58\x94\xbd\x59\x21\xf3\xcc\x8f\xb0\x77\x7e\xfe\x87\x39\x73\x0c\x01\xa2\x7e\x10\x9e\x3a\x61\x91\x48\xe2\x35\xe0\x4e\xb2\xe1\x79\xfc\x09\x46\x46\xc3\x89\xde\x1e\x53\x66\x77\x0d\x19\xb9\x2d\xa4\xce\x88\x52\x19\x1a\xe3\x1d\xfd\xa3\xe6\x30\x0a\x50\x36\xfb\xbd\xaf\x1a\x8f\x39\x17\xd6\x9b\xba\x21\x41\xda\x5a\x76\xc6\xb3\xaf\x34\xc8\x56\xaa\x30\xaa\xcc\xed\xa5\xc6\x89\x38\x80\xf1\x11\x63\x10\x0d\xb0\x27\x9f\x9c\xcc\x89\xa7\x1e\x71\x72\x2e\x7e\x71\xdd\x4a\x2a\x20\x57\xf2\x98\x7e\x22\x1a\xdd\xd0\xeb\xe2\x1f\x7e\x24\x0c\x26\xa3\x57\x64\x7b\xea\x4a\x34\xb0\xfb\xb1\x63\x78\xb9\x41\xa8\xc1\xe4\xf8\xa5\x57\x81\xfe\x0e\x58\x5c\xfd\x3d\x5a\x05\x16\x28\x33\x28\xeb\x56\x0e\xca\x12\x74\xf8\xbb\xaa\x81\x40\xc2\x46\x34\x7e\x5f\x1a\x5e\x64\xf5\xe2\x70\x34\xb1\x2d\xfd\x6c\x6d\xb4\x6b\x86\x35\x50\xaa\xfd\x04\x29\xdd\xdb\x63\x24\x58\x21\xf3\x2b\x6b\x46\x10\x63\xab\xef\xf4\x24\xa1\x33\xd9\xc2\xda\x91\x18\x63\x7c\x97\x43\xc8\x77\x98\x64\xe4\x3b\x91\x3c\x45\x59\xcf\x1a\xeb\xc4\x4a\x57\x10\xc0\x00\x7d\x2f\xc1\x73\xa2\xbc\xd7\x00\x29\x6f\x68\xbb\x21\x8d\x8f\x2f\xd0\x41\xc3\x86\x3d\x72\x39\x67\x38\xcc\x21\x04\xcd\x16\xa6\xfa\x6b\x00\xbf\x9a\xd5\x6c\x34\x1a\x4a\xb6\x4a\x9a\x34\x3e\xa9\x6d\xe3\x14\x6f\xaa\x00\x7e\x81\x7d\x16\xc6\xf8\xd8\x1d\x41\x91\x17\x40\x1c\xd3\xdb\x2a\xe9\x4d\x90\x79\x43\x82\xec\xa2\xa1\xbd\x4d\xc1\x49\x71\x53\x08\xb4\x29\x6b\xcf\x2a\x95\x62\xd7\x62\x50\xc7\x87\x5e\xec\xc3\xef\x4f\x5f\x75\xe3\xd1\x38\x8e\x60\x94\x39\xea\x3b\x25\x23\x77\x4c\x5f\x29\xc9\xe2\x9e\x43\x9b\x50\xad\x89\x03\xd2\x46\x1f\xfb\xa3\xa6\x4d\xe5\x77\x15\xb0\x06\x9c\x4a\xa3\x81\xfe\xf5\xea\xde\xd0\x4d\xba\xb1\x0f\x0f\x32\xa7\x51\xad\x67\x31\xd9\xd4\x70\x9a\x5b\xd5\x2a\xe5\xcd\x7a\xcb\xc0\x9c\xbc\x63\xea\x1f\xe3\x20\x72\x2a\x95\xaa\x69\x38\xb1\x3f\xe5\x25\xb8\x22\xfe\xa1\x99\xdd\xce\xbd\x05\x10\xc9\xb6\x40\xa9\x0e\x51\xf6\x50\x19\x9f\x1f\xa4\x5d\xb2\xe5\x61\x27\x07\xcb\xa8\x64\xa2\x08\xde\xd6\xf3\x29\x92\x5b\x23\xd4\xe8\x08\x48\x1f\xac\x45\xdc\x54\x2a\x6e\x8f\x3b\xc9\x62\xd1\xaa\x5a\xa8\x45\x5e\x1c\xa5\x71\x08\xeb\x61\x3c\x70\x56\x8f\x23\xb7\x17\x22\x63\x93\xcf\xf0\x7b\x60\x15\xac\x29\x35\xac\x81\x55\x90\xa2\x2f\x3f\x5d\x9d\xcb\x2b\xd1\xd0\x91\xd0\x2c\xcc\xa4\xbb\xf2\x3a\x0b\xaf\x74\xe6\x68\x51\x7c\xd9\x81\x6b\x5c\xae\x89\x8b\xa7\x8b\x7c\xa7\xd3\x64\x75\x88\xd2\x91\x9f\x1d\x39\xab\xc2\xb2\x06\x53\xe6\xaf\xe6\x27\x15\xe2\x1f\x5a\xa1\xab\x5c\x33\x1c\x12\xb1\x3f\xd5\x0c\x23\x93\x08\xbb\xa5\x30\x7f\x0e\x91\xd9\xc6\x0d\xab\x32\xc6\x61\x41\xcb\xf1\xce\x69\x11\x2c\xb6\x0f\x6d\x00\x77\x35\x4d\x6e\x8c\x53\x16\x58\x48\x20\x90\x89\x69\x3e\x3f\xd0\x88\x61\x1b\x12\x76\xe3\x55\xbc\x24\xa3\x76\x81\x9d\x06\x69\xa3\x08\x14\x2f\x90\x89\xf1\xaf\x2e\x8e\xf9\x1a\x89\x65\xeb\xcb\xe2\x6f\xe9\x11\x92\x39\x5e\x02\xa8\x43\xf1\x2e\x03\xd2\x4f\x07\xbe\x1f\x47\xce\x6a\x3f\xc8\x56\x05\xa7\x80\x9f\x4a\x3a\x05\xfc\x64\x74\x0a\x98\x73\xfa\x62\x74\x17\x30\x9d\xf8\x6b\x3b\xfb\xf9\xc6\x0d\x2a\x5c\x8f\x6f\x22\x98\x1c\x31\x6f\x30\x32\x54\x98\x2f\xd2\xaa\x1f\x5c\x6b\xc7\xfd\xb4\x3c\xb9\x1a\xfc\xd6\x1d\x21\x4c\xab\xf8\x72\xe6\x7a\x4c\x0e\x35\x57\xcd\x25\xf2\x61\xde\x6a\x34\x1a\xda\x82\x12\xd9\xc4\xaf\xf3\x67\xcf\xec\x12\x2c\x0c\xd6\x7e\xa0\x0d\x55\x51\x89\xd1\x57\xf4\xc9\xeb\xf8\x66\x40\x51\xd1\x51\xeb\x46\xc0\x40\x76\x80\xd7\xc0\xea\x14\x4d\x23\x7a\x3e\x36\xd0\xd9\x90\x97\x9b\x59\x70\xde\xc7\x2e\xc1\xac\xa2\x81\xbd\x5a\x9b\xdb\x54\x99\x37\x6a\x3b\xe8\xfd\x55\xed\x72\xcb\x2a\x29\xa6\xe2\xb7\xe1\x94\x14\xd0\x9d\xf1\x38\x08\xeb\x21\x24\x34\x35\x3c\x4c\x2c\x4e\x19\xaa\x73\xf6\x32\x4e\x19\x9c\xf9\x92\x5b\x06\x67\xb9\xf5\x64\x4f\xad\xbb\x84\x6f\x46\x8e\x39\xbf\x22\x66\x3b\x3e\x56\xd1\x2f\xe3\x61\x31\x67\x5c\xb3\xd1\x95\xc1\x69\xd6\x25\x01\x5f\x4c\x7e\x18\x5c\x07\xd4\xf1\xe5\x06\x1f\x07\x0d\x92\x9c\x09\x84\x1e\xe4\x3b\xe7\x82\x84\x6a\x4f\x4a\xca\x97\x27\x35\x68\xd3\xe6\x77\x19\x67\x10\x11\xc9\x22\x13\xfc\x55\xde\x42\x72\x50\x49\x5a\x78\x65\x69\x22\x20\x73\xaf\xcd\xbb\x64\x6e\x4f\x96\xf3\x07\x51\x19\x49\x7d\x53\x89\x03\x7d\x27\xef\x14\x23\x27\xb4\xb6\x58\x9a\x22\x51\x6c\x94\xba\x05\x3c\x40\xb8\x9b\x6f\x46\x61\xf1\xbf\x65\xc5\xbb\xa4\xe3\xc7\xfc\x61\xb8\x88\x9b\x05\xd7\x8e\x68\x24\x4a\xda\x6b\x21\x6f\x88\xb2\x63\xb8\xb4\x3b\x84\x4c\x9c\x41\xb9\xce\x25\x8f\x6a\x34\xfc\x53\x75\x55\x28\x4b\x6e\x59\x5f\x05\x7e\xb3\x8e\xb0\xd1\xac\xcf\x51\x36\x6d\x88\x11\xa0\x17\x4e\x12\xc3\xa1\xbf\x3e\x78\x1e\xc2\xd9\x00\x2b\xa0\x12\xb5\x15\x1f\x6d\xd2\xd9\xd0\x74\xa3\x2f\xef\x33\xc3\x0c\x68\x71\x6a\x4c\xb3\x24\x9e\xd9\x7d\x13\x7e\xb2\xf9\x26\xfc\x24\xf8\x26\xfc\x64\xf6\x4d\xb8\xdf\x8b\x21\x0f\x6f\xec\x62\x5f\x53\xeb\x7d\x21\x7c\x43\x1c\xbb\x21\x17\x83\xb1\x6b\x45\xe4\xfc\xc8\x0e\xd7\xca\xe1\xc8\xc1\xb6\x1d\xb4\x49\x41\xa9\xc9\xcb\x55\xda\x00\xb2\x5b\x01\x87\xb3\x57\xbe\xb3\xca\xee\x89\x21\x59\xc6\xb7\x2d\x10\xfc\x23\xe5\x9e\x05\xdb\x8b\x27\x5d\x89\xc3\x86\xc5\x88\x50\xd2\x5f\x1d\xb0\x8a\xd9\xb0\xaa\x5e\xce\xa7\x06\x35\xe5\x51\x5d\xf1\xe5\x15\x0d\x21\xc3\x05\x7d\x5a\x78\x2a\x14\xfe\xc9\x5c\x98\xf4\x43\x36\x4e\xf1\x4e\x06\xf4\xf3\x98\x91\x61\xec\xb9\xf9\x89\xa8\x17\x87\x94\xd8\x6c\x9c\xee\x51\x7b\x1b\xdf\xc6\xc2\xfe\x1f\x8e\x84\xe3\x05\xa8\xdc\xa4\xe9\xde\xd3\xa7\x38\x82\xd0\x0d\xfe\x85\x8c\x5a\x15\xf3\x30\x4e\x33\x43\xf2\xd8\xcd\x86\x11\x32\xf3\xd7\x50\xe1\x4a\x5e\x17\x3d\x41\x52\xe1\x53\xe8\x26\xde\x30\x07\xeb\xf3\x23\x29\xc4\x04\xa1\xbf\x75\x47\x0e\xe2\x47\xc1\x44\x47\xf3\x16\xc1\xf2\x92\xe5\x88\x08\x94\x74\xac\xd6\x97\x0f\xd3\x48\xdf\xba\x93\x6c\x78\x95\xe1\x33\xb5\x1c\x11\x56\x23\x09\x96\xba\x9b\x4c\x5a\x62\x5b\x0d\xea\x49\x84\x16\x7b\x56\x83\x9d\x61\x94\xd4\x1b\xd1\x6c\xa2\x93\x45\x75\x7f\xe5\xce\xb0\xf6\xbd\x5f\xe4\xe4\x2f\xe1\xaa\x34\x1a\xc7\x69\x80\xc8\x78\x09\xc3\xf1\xdc\x27\xea\x35\x78\x07\x99\xb0\x6e\x02\xdd\x1a\xf0\xf2\xbc\x1f\x02\x78\x53\xe3\x57\x3a\x0d\xd3\x16\x29\x83\xcf\x39\xc9\x4f\xed\xac\x53\xc2\x85\x4f\x3a\xa5\x14\x83\x22\xa7\xe7\xcb\xec\xa7\x02\x11\xa4\x94\x76\xe2\x7c\x99\xbb\x72\x08\x10\x67\x90\x84\x6c\xcc\xab\xb2\x80\x0a\xc4\xbc\xcf\x21\x3f\x83\x34\x73\x93\x6c\x0f\xab\xa2\x1a\x80\x91\x4f\x7e\x02\xe9\x7d\x7e\x8d\x85\xe2\xac\x97\xe7\x61\x54\x73\x3c\x15\xa5\x26\xc9\xce\x2b\x36\x32\xeb\x0c\xaf\xd4\x11\x75\x2c\x1b\xda\x0b\xf7\xa6\xae\x50\xd6\x2c\x95\xca\x1c\xf0\x3c\xf6\x99\xeb\xfb\x4e\x05\xdb\x35\xb0\x22\xcf\xb5\x25\x59\x32\x19\xfb\xaa\x45\x24\x06\x27\x99\xbb\xea\x2a\x6e\x09\x8d\x62\xa2\x94\x21\x75\x0a\x04\xd2\xc9\x28\x15\xc7\x7f\xa9\xf5\xce\x95\xb5\x4b\x88\xbb\xd5\x55\x99\x1e\xb9\xd3\xbc\xc7\x4b\xf2\x4e\x75\xe9\xd2\x84\xa9\x8f\xc6\x4c\xf0\x67\xb1\xa9\x8e\xb8\xfe\x9f\x5f\xdb\x27\x38\xf3\x89\xcb\x88\xad\x7f\xf8\xca\x4a\x94\xdc\xdb\x5b\xfb\xf0\x53\x79\x48\xae\x57\xa2\x9a\xba\x64\x35\xd6\x01\xad\xd6\xae\x69\x65\xa9\xbb\x6c\x71\x16\x4a\x5f\x3c\xb0\x99\x82\xb6\xb9\x85\x08\x53\x13\xb7\x4d\x89\x3b\xf7\xae\x5f\x2f\x6e\xed\x12\x12\xe4\xd0\x86\x51\x5e\xb5\xcf\xe7\x14\xae\x66\x88\x8f\xa8\x0f\xa2\xd9\x39\x95\xbd\xee\xd0\x8d\x06\x30\x55\xb7\xa0\xcc\x4d\xd2\xbc\xe4\x72\x3d\x54\x42\x66\x0c\x4d\x94\xe4\xe7\xc6\x0d\xb2\x93\x38\x41\x93\x5b\x3c\x70\x55\x91\x58\x70\xbc\xe7\xaa\x88\x2c\x1c\x54\x6d\x04\xca\xcf\x15\x64\x1f\x85\xf2\x8b\x0d\x64\x47\xd9\x8d\x79\x54\x4c\x3d\x58\x6c\xe2\x61\x0d\x0e\xe8\x22\xdb\xa4\x2e\xd2\x49\x8f\xf8\x4f\x38\xc5\xfa\xbf\x66\x9f\x1f\x60\xa4\x1e\xc4\x49\x13\x2c\x95\x96\xc4\x51\x3d\x08\x0a\x2f\xf8\x60\x53\x8c\x44\x82\xe8\xea\x75\x62\xf3\x4c\x1f\x03\x74\x32\x9d\xd3\x12\xad\x18\x9e\x76\x8b\x9a\x27\x17\xb9\x33\x34\xd6\xd2\x21\xf2\x0c\x0b\xca\x2a\x7e\x20\x1d\x9a\x95\x51\x73\xec\xcf\x5e\xc2\x2c\x1e\x26\x31\xb9\x8e\x03\x1f\x34\xcc\x70\x22\x55\x5c\xe2\x8b\x0e\xe2\x18\x52\xe3\x5c\x95\x0b\x5f\x51\x57\x33\x01\x2c\x84\xd1\x85\x90\x77\x97\x31\xd5\xa2\x45\x1f\x9c\xec\x85\x88\xba\x2a\x37\x70\xcc\x48\xee\xe4\xc3\xd7\xbb\xb2\x0a\xd5\xa6\xcc\x97\xf4\xca\x8b\x43\x1f\xc7\xe7\x37\xeb\x9b\x05\x2d\x20\xac\x13\x4b\xc9\x1b\xaa\x3a\x82\x37\xac\x6a\x53\xbf\xe9\x0c\xc4\xc1\xe9\x82\x7e\x9f\x2c\x1d\x71\xd9\x7a\x02\xc7\xa1\xeb\x41\x87\xb5\xa3\x06\x2a\x15\xcb\x99\x36\x2a\x4a\xed\xad\xa2\xf3\x6c\x4b\xaf\xa2\xd2\xf3\x3b\x75\x49\x3b\xce\x6a\x84\xca\x67\x1e\x31\x8e\x33\x3f\x49\xd2\x92\x97\xf5\xc8\x5b\x20\x73\xba\x83\xcc\xea\x26\x3d\x4f\x95\x7a\x8a\x5f\x88\x90\xb9\xc2\xa2\x3a\xfc\x69\x02\x93\x19\x89\x55\x10\x27\x4e\x85\x03\xac\x93\x72\x15\x65\xc2\x24\xa9\x2a\x05\x7c\x3f\xea\x94\xdc\x11\x2b\x57\x15\x39\xab\x4c\xe2\x9b\x54\xed\xf0\x9c\xee\xf3\x78\x0c\x3a\x39\xee\x3c\xb8\x05\x58\xa3\x10\xa6\x78\x17\xc0\x66\x5f\x90\x87\x06\x42\xd8\x47\xba\x46\x2a\xff\x1a\xa5\xad\x81\xca\x78\x5a\x29\x8d\x27\xc3\xc4\xe5\x84\x2e\x58\x7c\xc8\x9e\x25\x90\x08\xa1\x0f\x06\x2c\x88\x2b\x0c\xa2\xfc\xf5\x8d\xb2\xf8\x88\x53\xaf\x84\x0e\xbf\x89\x90\xe6\xfe\xbd\x72\x5d\x96\x47\x13\x8c\xc6\x08\xd5\x04\xcb\x72\x5c\x41\x50\x9a\xd5\x4a\xb9\x1b\xfa\x34\x85\xb1\x99\x34\xb7\x2c\xae\xbc\xbf\x8c\xc8\x86\x73\x3a\x4e\x65\x89\xd4\x63\x8b\x60\x94\x97\x10\x8f\x2c\x4a\x05\x14\xe8\x7c\xb6\x10\xb8\x9a\xb3\x80\x26\xab\xcb\xc2\x99\xae\xc4\x12\xd7\x64\x88\xcf\x3b\x34\x31\x49\x8f\xb6\x91\x61\x94\x11\x06\x65\xbe\x31\xa2\x90\xa9\x5f\x1c\xd1\x37\xdb\x0c\x85\x2c\x2f\x93\x6b\x4c\xb0\x04\xe1\xb8\xdf\x33\x10\x0f\xbf\xc5\x78\x9c\x7a\xee\x18\x9e\x91\xd8\x7a\x30\xb5\x9e\x00\xb0\xb3\x02\xf6\x04\xbb\x3d\xa8\x19\x05\xc4\xa7\x8d\xb9\x63\x7a\xd1\xb6\xa5\x08\xea\x5c\x59\xf7\x25\xaf\x84\x6d\xc4\x2b\x79\x1f\x91\x88\xa5\x88\x47\x7c\xd3\xd0\xf7\x11\xd5\xf2\xe1\xe2\xd0\x4d\x6a\xc0\xc3\x01\xcf\xe4\x1d\x10\x94\x03\x9e\x77\x40\x05\x54\x4c\x53\x9d\x37\xbc\x62\x7a\xe5\xc6\xc3\xbf\x1c\x8c\x65\x5f\xb3\xa5\x64\x9a\xb1\x1b\x6f\x0a\x71\x20\x28\x73\xce\x05\xfa\xd7\xe8\xc4\xec\x11\xea\x8b\x8a\x15\x6d\x62\xe0\x7b\x02\xe4\xd1\x23\x19\xc3\x0c\xac\x69\x49\x3d\x57\x5d\xb6\x60\x45\xc3\x9b\xad\x93\x3f\xb5\xad\xa8\x14\x38\xa4\xf4\x70\x70\x1b\x27\x89\x6f\xaa\x17\x2a\x16\xb0\x0e\x9a\x56\x17\xee\xdc\x16\x5a\x0c\xdf\x45\xcb\x8a\x72\x69\x2a\x5b\x97\x55\x2b\x42\xa0\xc9\x6a\x29\x84\x17\xcd\x4b\xb0\xd6\xc1\xfd\xfc\x80\xeb\xaa\x65\xf8\xb5\x1c\x21\x0a\x2e\x32\xa9\x9c\xa2\x95\x8d\xca\xde\xd9\x5c\x2b\x1c\x18\xac\x5a\x1d\xca\xd0\x73\x53\x64\x16\x32\x31\x5d\x07\x4d\x34\x88\xd5\x21\xa3\x5c\x26\x2e\xc0\x76\x93\xb8\x63\x37\x41\x73\xf1\x1b\x45\x49\x14\x34\x7c\x0a\x3a\xb6\xc5\xbc\xca\x87\xb5\x35\xfb\xa2\x5f\x1b\xa6\xcf\xd5\xe2\xc4\xab\x8e\xf8\xd4\x15\x09\xb8\x8a\x69\x7d\xdd\x5c\xab\x01\x96\x54\x21\x6e\x32\xab\x7f\x0f\x2b\x94\x9a\xa0\xd4\x83\xf4\xc7\xc4\x1d\x8f\xf1\x09\xac\xbe\xb9\x63\xa7\x42\x4f\x29\xa0\x89\xa8\x7c\xa6\xd3\x3b\x1d\xd0\xb2\x8f\x6e\x93\x58\xea\x15\xca\x5f\xf7\x54\xbc\x0a\x54\x10\xa5\x30\xc9\x6c\x12\xd9\x8f\x13\xe0\x20\x6d\x3f\x8a\xaf\xf1\x9e\x42\x63\x9f\xfe\x7c\xc6\x47\xc6\x3e\x58\x5b\xc3\x69\x36\xb1\x21\xb7\xca\x10\x88\xaf\x13\x6e\xef\x2e\x4b\x8b\xaa\xf5\x71\x6c\x75\xd4\x46\x0d\xa4\x55\x5d\xb4\x2e\x31\xf7\x1b\x56\xe6\xeb\x13\x4f\xb1\x42\xc3\xb7\x68\x91\x72\x7d\x78\x8c\x8c\xd8\xd6\x02\x43\xaf\x24\x6a\xd0\x01\x5a\xde\x24\x39\xc8\xb2\xa4\x86\x2c\x92\x1a\x68\x5e\xde\x43\x31\xcb\x44\xd4\xd3\x31\xbe\x3e\xa4\x2a\xb1\x1a\x68\xd4\xe6\x52\xb1\xc0\x6e\xca\xc2\xdc\x98\x16\xb2\x81\x9a\x6e\x54\x9e\x2f\x0d\xab\x2d\x01\x93\xaa\x66\x97\x9f\xa9\x0c\x8a\xc2\x76\x32\xf4\x30\xed\xac\x54\x6a\xa0\x61\xe8\xed\x79\x4d\x54\xcf\x9b\xe8\x62\xc8\x62\x1c\xf7\x60\x18\x2e\xb1\xfb\x68\x32\xc8\xae\x83\x74\xe2\x86\x87\x50\x8f\xa9\x66\xdf\xa5\x52\x50\xb0\xed\x22\xb2\xa8\xeb\xc5\x89\x0f\x93\x6e\x1c\xe2\x3d\xac\xca\xcd\x30\xc8\x60\x65\xfe\xae\xa6\xbc\xc2\x2d\x89\xbc\x82\x97\xba\xcd\x86\xc9\x65\x37\x47\x31\x8e\xc7\xef\x22\x53\x0b\x15\xb8\x7e\xec\x4d\xa4\x13\xba\x32\x5d\x81\x84\xe5\x04\x42\xfb\x49\xb0\x69\x55\x11\x47\xd7\x30\xc9\x8e\xe3\x79\x14\x29\xa6\x89\xb5\x07\x24\xc3\xe4\xfe\xc6\xc8\x3c\x03\xc4\x6c\x74\xd8\x3d\x9d\xd5\x46\x95\xb3\xf1\xd4\x62\x22\x15\x65\x7a\xc6\x73\x93\x24\x70\x07\xf0\x94\x08\x56\xe1\xfe\x85\x91\xe5\x73\xc6\xa0\xeb\x7d\xc2\x4f\xab\x2e\xd2\xf3\x53\xab\xbb\xf7\x3d\x1a\x9a\xb9\xbd\x45\x5a\xa7\x24\x45\x70\x9a\x9d\x65\xf9\x7c\x5f\x5c\x57\x3a\x0c\xfa\xd9\xbb\xc9\x1c\x2f\x1a\x41\x36\x60\x36\x78\x0d\xaf\x61\xc8\xef\x02\x97\xc0\xff\xaa\x74\x6f\xe5\xe8\x1b\xa5\xd0\x13\x53\x0c\x6f\x87\x48\x55\xe0\x88\xfc\xa9\xaa\x45\x71\x2a\xbe\x48\x51\x03\x1f\xd1\xec\x95\xf7\x0b\x09\xe1\xdf\x21\xff\xe6\x71\x65\x59\xb7\x93\xec\x67\xa0\x29\xdb\xa5\xac\x54\x33\x87\x5e\xd2\xd4\xfc\xa8\x17\x9a\xe6\xb9\x38\x92\xbf\x3a\x47\xc1\xc4\x4d\x21\x9a\xa5\x9c\xaa\xc1\x2c\xa1\x91\xaf\x31\x85\xeb\xeb\xc8\xcc\xfa\x08\x9e\x2d\x31\x4c\xcd\xd6\xca\xc7\xb5\x35\x6c\xa0\x78\x43\xd3\xde\xb3\xb5\xb4\x62\x86\x96\x1a\xf5\x78\xc7\xf9\xfb\x71\xd9\xee\x2d\xd3\x87\x4a\x8b\x0d\xbd\x68\xd7\xcc\x60\x9d\x56\x30\x47\x41\x3f\x9b\xab\x17\x66\xa6\xc9\xa0\x0c\x33\x8e\x54\x0f\xa2\xaf\xc9\x8e\xb5\x72\xec\xd0\xa7\x08\x53\x44\x0c\x03\x87\x0c\xa5\xc0\xba\x99\xb6\xaf\x39\x37\xe1\x8e\x39\x89\x93\x1b\x37\xf1\xbf\x91\xbe\x99\x96\xeb\x9b\x65\x59\x64\xd8\x0b\x25\xeb\x27\x8d\xb6\x32\xac\x3b\x74\xbd\x4f\x5f\x93\x77\x5f\x54\x76\x8c\xec\x2b\xa5\x47\xa6\x25\xf4\x88\xd1\xa8\x2c\xc3\xf3\xb7\x70\x9a\xbd\xc6\x4f\x94\x7e\x13\xf2\xfa\x4d\xe9\x92\xb9\x56\x64\x09\xfe\xbe\x4f\xa0\x07\xfd\x20\x1a\x7c\x53\x4c\xfe\xb2\xf3\xd7\x43\xf1\x0e\x99\x74\x07\xbd\x34\x0e\x27\xd9\xb7\xc2\xba\x29\xc3\x9f\xcb\x4c\x99\x51\x66\x3c\x70\x35\xb7\x02\x1b\xa6\x5e\x1c\xaa\xd6\x24\x6f\x95\x2c\xad\xbc\x65\x29\xf7\xc9\x31\x6c\x88\xe0\x1b\x32\x0c\x45\xf3\xd2\x26\xf0\x86\xdd\x59\x52\xd2\xd8\xc5\x78\xd3\x30\xbe\x31\x49\x09\x21\xd9\x58\x8a\x3b\x12\x23\x98\x72\xa3\xd8\x68\x4e\xcf\x33\x02\x10\xe1\x06\xca\x0a\xda\xc3\x29\x43\x30\xe5\xd4\x3e\xc1\x56\x72\x0a\x04\x66\x71\x92\xfa\xda\x30\xbc\x92\xf8\xa6\xbc\xa0\x51\xeb\xe3\x5c\x59\x3d\x96\x1c\x30\xe0\xf6\x56\x24\x5b\x5e\x3e\x2c\x6e\x0b\xa8\xab\x50\x50\x72\x66\xc2\x8b\x9a\x57\xd1\x51\x90\x8e\x43\x77\x56\xa2\x21\x1f\x85\xad\x28\x1a\x89\x8a\xb7\x49\xbf\x83\x9a\x42\xd0\xd0\x63\xf0\x98\x16\x56\xa7\xc1\x60\xa8\x6d\xb0\x4f\x6b\x5a\x2f\x19\xb6\x60\x0d\x6b\x39\xb4\x00\x6c\xea\x90\xf8\xac\x60\xdf\xb4\x32\xc3\x41\xbe\xc1\xc7\xb5\xb5\x92\x87\x5e\x98\x66\x34\xcf\x38\x1f\x4b\x1d\xee\x19\x42\xf3\x60\xee\x34\xcb\x71\xe7\x35\xec\x3f\x20\x73\x74\x28\x2a\x7e\x1f\x75\xd1\xfb\xc2\xed\x6f\xe9\xed\x37\x50\xac\x87\x60\x57\x88\xbe\x3f\xc9\x36\x02\xdb\x3a\x81\x38\x56\x23\xd9\xfe\x73\xbd\x4f\xf4\x15\x5d\xe3\x42\x9c\x4e\x13\xeb\xe5\xda\x83\xdf\x09\x95\xf1\x16\x38\x7d\x1a\x2b\xcc\x92\x60\x74\x96\xb9\x49\xa6\x20\xb2\x9c\x45\x99\xf6\x48\xf8\x03\x48\xee\x54\xb3\x52\x70\xfe\xba\xd2\x78\x73\x48\x26\x13\x7a\x3f\x48\xc7\x45\xe8\x71\x7e\x39\xf4\x73\x25\x6c\x01\xe5\x57\xc2\x5c\xfc\x56\x54\xdd\x57\x53\x23\x0b\x8c\x5f\xeb\xb0\x5b\xbc\x9a\x32\x9d\x48\xb6\x24\x51\x05\x0b\x6f\x49\x2e\xb1\x1d\xb9\x88\x3d\xfb\x70\x5b\x93\xcc\x00\xd3\x35\x89\x78\x0c\x51\x0e\x85\xb9\x7a\xb0\x0e\x3e\xca\x73\x66\xb1\x45\x62\x75\x22\xa2\x2a\xaf\xd3\xb1\xa8\xc4\x91\x3b\x7d\x8d\x41\x4a\x1f\x24\xe6\x3a\xcd\x14\x0e\xd3\xd4\x18\x93\xc3\x87\x49\xd7\x98\xe0\x92\xf8\xc6\x94\xfc\x51\x4d\x2c\x71\xd2\x4b\xf7\x6e\xb1\xac\x35\xb4\x51\xd6\x0b\xdd\xe8\x13\x19\x17\xc9\x04\xaa\x51\x2a\x8b\x10\x7e\xac\x81\xa6\xf1\xb0\x68\xb9\x73\xde\xf2\xa5\xa4\x33\xaf\x32\x86\x32\x79\xa1\xfa\xd7\xb1\x79\xff\xb1\xf9\x37\x31\x2e\xc1\x7a\xc7\x64\x95\x9b\xcd\x00\x0d\xb4\xfc\x88\xc3\x9a\xec\x61\xc7\x1c\x16\xca\x7f\x56\xa3\x6e\x99\x43\xba\xa5\x4e\xe8\x7e\x81\x61\x77\xef\xf3\xb8\xa5\x0e\xdd\x74\x43\x49\x15\xf4\x39\xa7\x6f\x93\x74\xe8\x48\x27\x76\x65\xec\x19\xd2\xdd\xcb\x1d\xc0\xdd\x67\x53\x41\x12\x77\xe3\xe8\xd5\x7a\x89\x85\x39\x1c\x97\xe4\xcc\x12\xc8\x89\xd8\x17\x8f\xe5\xea\x3d\x87\x25\x6f\xc6\x2f\x33\x3c\x49\x81\x65\x0f\x15\xbf\x4a\x17\xb3\x5e\xf8\x52\xbd\x8c\x45\xe8\x6f\xa8\x8b\xb1\x6a\xfa\x25\xbd\x24\xbe\x8e\xe9\xf3\x2d\x7a\x4c\x5c\x7c\x5c\x5b\xbb\x04\x1d\x89\x8d\x8b\x1f\x8b\x7e\x1b\x9b\xba\xe3\x04\x5e\x2f\xb3\xa9\xeb\x0d\xdd\xe4\x7d\x9c\x7e\xfb\xe7\x39\xe0\xdb\x3c\x22\x7f\xc9\xce\x90\xd8\x23\xe9\xdf\x0c\x07\xff\x59\x78\x18\x24\x70\x0c\xdd\x8c\x9f\xc6\x22\x3d\xe8\x7a\x99\x12\x5b\x79\x91\x11\x55\x03\x21\xd9\xa2\xb3\x8e\xfc\x72\x93\xcd\xac\x5a\x23\x8a\x0a\x15\x34\xdf\x05\x42\xf5\xa9\x39\x3e\xec\x5b\x7c\xd1\x8b\x07\xb8\xb1\x96\xe5\xb4\x53\x0a\x23\xff\x08\x5e\x07\x1e\x56\xa7\x41\x6f\x92\xcd\x5d\x51\xe7\xa7\x95\x88\x8d\x86\x8d\x64\xbb\x7f\xb2\xc9\xcf\x79\x9c\xc0\x7e\xa0\xdd\x7a\x33\xdd\xd6\x48\x9d\x0a\xbe\xbe\x5e\xa9\xf2\x38\x4a\x72\x6e\x32\xbd\xce\xd6\x27\x51\xe0\xc5\x3e\xb4\x02\xa5\x5e\x02\x61\x54\xa9\x96\x58\x8e\xe2\x77\x5c\xb4\x2b\x9d\xf5\x6e\xa3\x7e\x7c\xd6\x05\x6b\xa0\x72\xf1\xa2\xb9\xdf\xf2\xd4\x3b\xf7\x96\xa0\x4b\x06\x5a\xc2\x20\x9a\x4c\x1f\x8a\x94\xad\x02\x42\x0c\x07\xa4\xc6\x6e\xc0\xcb\xf8\xca\x73\xed\xae\x66\x71\x77\x3c\x08\xfd\xcf\x1b\xfb\xad\xed\xad\xfd\xc6\x3d\xd8\x29\xf7\xff\xc3\x50\xb5\xb3\xb9\xbf\xbb\x79\x2f\xaa\x16\xec\xe4\x7c\x68\xad\x81\xca\x3d\xaa\x7d\x50\x39\x7f\xbe\xd3\xde\xdf\x68\x34\x1a\xed\x42\x4e\x94\x75\xcb\xff\xf6\x4c\x88\x59\x69\x13\xe2\xcb\x7b\x2d\x15\xf3\xef\x87\x6f\xd4\x84\xf8\xa6\x9c\xbe\xbe\xa2\x03\xe9\xcb\x1f\x4a\xfa\x09\xc9\xd3\xa8\xd9\x23\x1d\x67\x75\xcc\xae\x42\x17\x4d\x7b\xa9\xa6\x52\xca\x26\xed\x66\x57\xa4\xaf\xd2\x65\x36\x9b\x5e\x77\x75\xfa\x06\x0d\xd3\xcc\xed\x75\x43\xe8\x2e\x65\x88\x1a\xc7\x62\x47\xb7\xaa\xc8\xe6\xab\x4a\x6f\xe6\xf6\x52\xfd\x22\x9c\x89\xc1\x7c\xae\xa0\x14\x74\x3a\xa0\x3d\x87\x3f\x08\x39\xe8\x80\xcf\x77\x8b\xda\x94\xf8\x4e\x6d\x69\xf9\xcf\x03\x51\x69\x1a\x88\xdf\xc1\x0d\xc8\xfd\xdb\x00\x3c\x03\x52\xa1\x7d\x10\x98\x5d\x6b\x70\x53\x28\x25\xce\x05\xe5\x76\x70\xa9\xde\xb4\xbc\x7b\x70\xcb\x75\xee\x89\x3e\x60\x47\xdc\x1b\xe6\x47\xc4\xd4\xb9\x9c\x5f\x52\x2e\xbc\xb8\x6d\x79\xa2\x8b\x9c\xa5\x1b\xfc\x07\x2c\x65\x96\x35\x19\x5f\x68\x26\x63\x79\x3e\x18\x7c\x0c\x0c\x7c\x70\xc7\xe3\x30\x20\x01\xb9\xbb\x3c\x10\xd7\x72\xec\x28\x55\x5f\x0a\xb3\x01\x0d\xcf\xe2\x34\x6a\x42\xa4\x96\xfa\xd1\xf1\xc9\xc1\xf7\xaf\xcf\xaf\xba\x2f\x0f\x4e\xcf\x8e\xcf\xcb\xf9\xa8\x88\xe8\x9a\x0f\x8b\xae\xf5\xb0\xe8\xda\x4b\xa0\x2b\x62\xb7\xc1\xd1\xc9\x44\x81\x7b\x0d\xfd\x2e\x79\xab\xd9\xa0\x93\x4b\xb5\x82\xbc\x7f\xe0\x34\xdb\x2d\x6d\xc7\xd7\xf2\xee\xe8\x3c\xda\xb7\x4a\xd1\x1e\x27\xc1\x20\x88\xee\x35\x44\xb7\x4b\x55\x24\x87\xd1\x58\xba\xb2\xa6\x65\x04\x14\x72\xa2\x1c\x2b\xc2\x78\xe0\x54\xce\x60\x12\xb8\x21\x18\xc7\x49\x06\x12\xb4\xa0\x48\x33\xe8\x03\x61\x00\x83\x4f\x70\x36\x76\xfd\xba\x29\x3c\xa1\x01\xa9\x50\xf2\x3b\x5c\xb0\xb0\xe5\x4a\xe1\xeb\x00\xde\x20\x4a\xea\xe9\x2c\xf2\xce\xf0\x86\xfb\x41\x02\x5d\x5b\x14\x85\x22\x1e\xec\xea\x2c\x20\xfc\x6c\x34\x0c\x1a\x96\x65\x19\x98\xcd\xb2\xca\x0d\x8d\x69\xb3\xf1\x26\x9e\x60\x07\x3a\xc1\x2a\xec\x74\xc0\x6e\x39\x06\x64\xad\x86\x05\x41\x53\x7a\xb5\xac\x00\x47\x14\x27\x23\x37\xd4\x91\x3c\x2f\x8f\x62\x84\x0a\xe3\xe7\x07\xd2\x45\xba\x8f\x5d\x33\x57\x42\xab\x43\xfc\x12\xc4\x3a\x46\xba\x8e\x9f\xc0\xd7\x42\x1f\x5a\x10\xa6\x38\x6c\x62\x10\x47\x6f\xdc\xc8\x1d\xc0\xa4\xee\x07\x29\xc2\x65\x13\x08\x93\x80\x1f\x06\x38\x72\x1f\xc8\x62\x80\x29\x00\x84\x02\xab\x3c\x17\x0e\xc6\x46\xa3\x9c\x21\x80\x56\xe9\x27\xb1\x37\x29\x66\xdf\x9c\xaa\x36\x4b\x55\x35\xc9\xfa\xac\xaf\x97\xae\xa9\x9c\xbe\x48\x07\xc9\x7d\x6b\x6a\x96\x6c\x53\x32\xbd\xce\xee\x57\x57\xab\x5c\x4d\xe4\xc4\xe7\x65\xe0\xfb\x70\x4e\xec\xe2\xe2\x86\x6d\x18\xf4\x0d\xe0\xb7\x6e\xb4\x02\x1b\x86\x39\x84\x61\xb2\x4c\x2f\x26\xab\x96\x0c\xf5\xa2\x58\x2c\x38\x60\x2d\x86\x32\x86\xb2\x16\xff\xf0\x46\xfa\x9e\x71\x7b\xdd\xfe\x8e\x39\xfa\xc3\x1b\xed\x5a\x41\x9c\x3a\xa7\xa0\x1f\xa4\x63\xbd\x20\x4a\x2d\x2e\x38\xd5\x0a\x4d\xe7\xd4\xa4\xd7\x52\x5c\x80\x9f\x15\x6b\x05\xf3\xc3\xea\x12\x08\xc8\x71\xb1\x05\x07\x3d\x50\x2f\x44\x83\x96\x75\x5a\x71\x94\x68\x2d\x65\x78\x25\x9e\x23\xd3\x4c\xb0\xe2\xb7\x66\xef\x37\x3b\x1b\x30\x70\x49\x24\x3f\x4a\x97\x4b\x87\xf1\x0d\x59\x48\x58\x5f\xbe\x5d\x76\xd1\x34\xef\x14\xeb\xdb\x59\x20\x73\x5a\xfe\x76\x96\xc8\x4b\xaa\xdb\xbf\xd9\x35\xf2\x92\xfc\xb0\x98\xa6\xc6\xa0\x39\x68\xd1\x86\xac\xc9\x76\xcb\x10\x05\x8c\x2f\xec\x16\x08\xef\x45\x17\x72\x36\x4c\x8b\xac\xee\xcc\x83\xd8\xbc\x99\xc6\x2b\xf8\x45\x16\x8a\x4b\x76\xcc\x92\x2b\xc5\x65\xad\x90\x2f\xbd\x54\xc4\x23\x00\xd9\xd2\x3d\xd7\xfb\x84\x0c\x6a\xaa\xcf\xef\xbf\x42\x2c\x68\xf1\xdf\xf2\x12\x71\x81\x66\x8b\x0b\xc3\xf2\xc5\xe4\xb5\x60\xf9\x72\xf2\x02\xb0\x7c\x39\x7d\x05\xc8\x5e\xb4\x79\xc0\x45\x20\x41\xb5\x4c\x8f\x2f\xb5\x7e\x5b\x7a\x4d\xb0\xf8\x02\x6e\xf9\xaa\x16\x5e\xc1\x2d\x5d\xd5\x32\x4b\xb8\x65\xe7\xf9\xa5\xd6\x70\xcb\xae\x4d\x7f\x99\x25\xdc\xc2\x2b\x38\xd3\x7a\xcc\x70\xf5\x1b\xe3\x21\xb9\xa5\xcd\x6a\x76\xd5\xd3\x8c\xcb\x10\x97\xb5\x08\x17\xbd\xd7\x69\xc1\x85\x72\x4b\xe3\x32\x5d\x6d\x27\x78\xa6\xe5\xe9\xb1\xd3\x52\x7e\xd9\xc1\x96\x7a\x56\x5c\x1c\x62\x41\x9c\x64\xe9\x37\x07\xad\x7a\x69\x68\x0e\x66\x7a\x02\x68\xc6\x88\x32\x97\x58\xa6\x4d\xc2\x05\x16\x69\xaa\x9e\x4e\x61\x76\x38\xe9\xf7\x61\x62\xbc\x8c\x54\x7e\xd5\x98\xc0\x7e\x02\xd3\xa1\xa3\xfb\x86\xb3\x43\xea\x5f\x72\x0d\xfb\xd5\xd6\xa2\xde\xd0\x4d\x96\x70\xfc\x13\x2f\x7d\x35\x91\xcd\x2f\x6f\x2b\xcf\x0b\x38\x43\x83\xb2\xea\x82\x45\x1d\x22\xf7\x4b\xae\x38\xd1\xba\x37\x8f\x89\x42\x89\xaa\x91\xa5\x70\x0d\xf4\x43\x77\x60\x3a\x4d\xa2\x95\x3f\x7f\x0e\x9a\x3b\x35\xd0\x1f\x80\x8e\xbe\xa4\xc9\x61\x76\xab\xe0\x31\x68\x4c\x9b\xfd\x7e\x0d\xf4\x06\x76\x74\x1c\x48\x18\xb6\x34\x2a\x04\x5a\x93\x87\xc6\x75\xf8\x38\xdf\x4c\x0f\x94\xd8\xb4\x98\xd9\xe0\x79\x07\xb4\x1b\x98\xc1\xe0\x59\x07\xb4\xb7\x8d\x71\xaa\x11\x55\x63\xb0\x0e\xda\x8d\xa2\x85\x7b\x7e\xfe\x8f\xb0\x6e\xe4\x58\x37\x8c\x58\x7b\x0c\xeb\xc6\x02\x58\x77\x73\xac\xbb\x46\xac\x63\xb0\xd6\x01\x3b\xba\x88\xf3\x36\xec\x2e\x50\x5b\xb3\x91\x57\xd7\x6c\x2c\x54\x1f\x6f\x5d\x53\x3d\xbd\xb0\x56\x68\x14\x6c\x4c\xbb\x59\xce\xa8\x2c\x13\x39\xb3\xb4\x58\x95\x3b\xa1\x4c\x2e\x77\x16\xea\x2d\x45\x8d\x85\x0a\x1b\xa5\xed\x29\xe5\x8d\xba\x9d\x73\x57\x52\xc1\xb4\x51\x88\xa9\xb5\x00\xa6\xcd\x42\x4c\x1b\x0b\x60\x32\x0f\x19\x86\x69\x67\x01\x4c\xc6\xa7\x4f\x73\x3e\x6d\x2d\x80\xaa\x65\x8c\x76\x4d\x70\x3d\xee\x80\xbf\x2c\xc2\xf4\x56\x01\xd7\x11\xae\x45\xd8\xde\x2a\xe0\x3b\xc2\xb5\x08\xe3\x5b\x05\x9c\x47\xb8\x16\x61\x7d\xab\x80\xf7\x98\x5f\x8b\x30\xbf\x6d\x7c\x43\x77\xd9\xf1\x58\x3c\x20\x8c\x55\x3d\xec\xf0\x6d\x1b\x79\x23\xf8\x09\x06\x60\x0d\x34\xe7\x84\xd8\x0f\x90\x9e\x6c\x99\x4d\x8f\xbe\x81\xdc\x91\x9b\x79\x43\x1c\xed\x9b\xd7\x72\x89\x69\xc7\x33\xa0\x54\xaf\x21\xb5\xc5\x52\x0b\x5e\x32\x40\xb5\x76\x3a\x60\xbd\x69\x7f\x40\x02\x13\x66\x51\x91\x45\x8d\xb2\xbc\x68\x61\x66\x99\x71\x44\xcc\x63\x99\x34\xaf\xd3\xb6\x16\x30\xd7\x60\xe9\x17\x45\xff\x57\x85\xec\x4b\x0b\x80\x49\x5e\xbf\xbc\x00\xf4\xe6\x0b\x40\xef\x6f\x40\x00\x7a\xf7\x17\x80\x66\xc3\x6c\x97\x7c\x65\x0b\x63\xee\xb5\x03\x98\x24\x71\xe2\x54\xbe\x8f\x3e\x45\xf1\x4d\x04\xce\x7e\x7f\x0a\x5c\xb6\x16\xd9\x03\xbf\xf3\xeb\x95\x1a\x18\x97\xb8\xd2\x62\x5d\x5d\x38\x64\x86\x78\xf6\x0c\xbf\x5b\x7e\x8b\x95\xca\xb3\x67\xa8\xe1\xb7\xa0\x37\xd8\x2f\xb1\x3e\xf2\xf1\xd5\xa8\xb3\xcc\xcd\x26\x65\x56\x47\x0f\x7d\xfc\x55\x6e\xaf\x6a\xfe\xf5\x8d\x46\xb4\x8c\x67\x4a\xc9\xfd\xbf\xb9\xb5\x57\xac\x03\x78\xcd\xe0\x6c\xbe\xa6\xfa\xb4\xcb\x05\x2a\xfb\x8b\xa0\x9b\xce\x45\x77\xba\x00\x67\xbe\xc6\xc1\xdf\x43\x75\xc2\x8b\xbf\x99\x5e\x00\x7c\x53\xd4\x32\x3c\x96\xd9\xfe\x2d\x2c\x63\xe9\x83\xa2\x32\x9b\x96\x73\x9b\x7b\xef\xd8\xa4\x71\x3f\x3b\x85\x29\xcc\xe6\xa8\xa3\x85\x7c\x92\x16\x38\x4f\x5f\xe0\x44\x73\x31\xe7\xd5\xc5\x4f\xf4\x16\xdf\x86\x5b\xfc\xb8\xbc\x60\xf7\xb6\x31\x07\xca\xb6\x1f\xab\xdf\x82\x59\x7a\x7b\x6c\xfe\x1e\xf7\xac\x90\x50\xf6\x8a\xa6\xba\x2b\xab\x80\x0d\x42\x78\x0d\xc3\x32\x98\xd0\x24\x79\x81\x70\x5d\x96\x99\x5d\x53\x98\x11\xbe\x9f\x65\xb3\x70\xa9\x8b\x6c\xe0\x19\x68\x82\x17\xa0\x09\xf6\x4c\x17\x6a\x24\x2d\x6b\x0c\xac\xa8\xb8\x55\x94\x8c\x3c\x98\xc2\xec\xdd\x18\x3f\x35\x5b\xf1\x72\xfa\x2b\x35\x50\xe9\x85\xb1\xf7\xc9\xa4\xcb\x4a\x46\x01\xb5\x39\xbd\x94\x26\x60\x12\xf9\x30\x09\x83\x08\x2e\x42\xc4\xa6\x81\x08\x83\xce\x2b\xcf\x05\x37\x29\x51\xbd\xbc\x8f\x1b\xa4\x87\x61\x10\x7d\x0a\xa2\x01\xbf\x8a\xf9\x3b\xd0\x22\xf6\xad\x7d\xa0\xa9\x24\x60\x1c\x95\x9a\x80\xad\x5c\xe4\x1c\x98\x11\x85\x71\x0a\x07\xe5\x6e\xee\x99\x0d\x3d\xa9\xc9\xea\xbe\x75\x81\x2a\x71\xe4\xb0\x04\xd5\x42\xf5\xa0\x68\x17\xe1\x3a\x60\xbe\x11\xdf\xbc\x04\xcf\xcc\x8a\xe7\x85\x00\xa2\x39\x01\x92\x6b\x7d\x45\x95\x4f\x0b\xb5\xc0\xac\xec\x1b\x4d\xa9\x7b\x0d\x73\x95\x5b\x7e\x1a\xc3\x1e\x3a\x3f\x15\x06\x8c\x31\x95\xf8\x83\x35\x56\xf1\x5c\x57\xbd\x2c\x4e\x96\xa2\xd4\xa0\x8b\x29\xf1\xb7\xb7\x73\x38\x68\x6e\x41\x5e\x8c\xd2\x4c\xdf\x65\x13\x49\x57\x1f\xe1\x56\x5e\x8d\x96\x41\xd1\xa8\xa3\x8f\x2e\xcb\x2f\x4a\xc7\xe3\x8c\xb7\x0c\x3f\x52\xfd\xee\xcd\xe1\xab\xb7\xaf\xde\xfe\x1e\x29\x77\x4e\xf8\x45\x63\xda\x68\x37\x1a\x35\x80\xfe\xdd\x3a\xb9\xac\xe1\x94\x8d\x9d\x36\x4e\xd9\xd8\xd9\xe2\x29\x3b\x34\x65\xf7\xb2\x26\x95\xde\xdc\x6d\xe2\x9c\xcd\xc3\x23\x0a\xbb\x79\x78\x42\x53\x18\xbe\xcd\x2e\x85\xe9\xb6\xd4\xd2\xdd\x0d\x9a\xb3\xc9\x61\xb7\x69\xca\x36\x4d\xd9\xa2\xf4\x6d\x35\xda\x4a\xe9\xad\x26\xcd\x69\xb2\xd2\x5b\x1b\x87\x24\x65\xf3\x98\xa5\x6c\x53\x98\xed\x86\x5a\xfa\x68\x8b\xe4\x1c\x6f\x30\xd8\xe3\x6d\x9a\xb2\xc3\x53\x0e\x68\xca\x91\x52\x7a\xbb\x41\x5a\xb9\xdd\x60\xad\xdc\x6e\x92\x56\x6e\x37\x9b\x2c\xa5\x4d\xea\xde\xde\x38\x50\x4b\x1f\x90\xba\xb7\x0f\x1b\x0c\xf6\x98\x50\xbe\x7d\xd2\xa6\x29\xbb\x0d\x82\x6f\xb7\xa1\x72\x6d\xb7\xdd\x25\x39\xed\x2e\x83\xdd\xa0\xb0\x1b\x3b\x3c\xe5\x88\xa6\xa8\x94\xef\x6e\x52\xd8\x4d\xd6\xee\xdd\xad\x16\x49\xd9\xe2\x75\xef\x50\x98\x9d\xa6\x5a\xfa\x90\xd6\x7d\xc8\xeb\xa6\xbd\xbb\xdb\xe5\xf8\xba\xb4\xee\xae\x56\xf7\x31\xad\xe9\x98\xd5\x74\x40\x5b\x79\x80\x5a\x49\x52\x68\xeb\x0e\x50\xeb\xa4\xd2\x07\xb4\x95\x07\x1b\x1c\x76\x63\x9b\xa6\xec\xf0\x94\x43\x9a\xa2\xd6\x7d\x40\x25\xe1\x60\x9b\xf5\xcf\x01\x6d\xe5\xc1\x0e\xc7\x47\x5b\x77\x70\xa8\xd5\x4d\x5b\x79\xc0\x25\xf5\x80\x4a\xea\x41\x97\xd7\x4d\xdb\x7d\xa0\xb5\xfb\x80\xb6\xfb\x80\xb7\xfb\x90\xb6\xfb\xb0\xc1\xa8\x39\xa4\xed\x3e\xd4\xda\x7d\xd8\x3e\xa1\x39\x4c\xd6\x0e\x29\x27\x0e\x37\x38\x3e\xda\xdf\x87\x5a\xbb\x0f\x37\x89\xac\x1d\x6e\xb2\xd1\x7c\xb8\x43\xa8\x39\xe4\xed\x3e\xec\x12\xde\x1c\x76\xd5\x51\x72\x48\xdb\x74\xd8\x65\xe3\xbb\xdb\x3e\xc6\x29\xdd\x0d\x26\xbb\xdd\x8d\x2d\x9a\xb2\xa3\x94\xee\x6e\x1c\xd0\x1c\x5e\x7a\x73\x93\xa4\x70\x6a\xba\x94\xe7\x5d\x8d\xe7\x5d\xaa\x49\xba\x5c\x93\x74\xbb\xb4\xa6\x2e\x2f\xdd\xa5\xa5\x35\x9e\x77\x29\xcf\xbb\x9c\xe7\x47\x94\x6b\x47\x1b\x79\xca\x11\x4d\x51\x4b\x1f\x75\x09\xe5\x47\xdd\x03\x06\x7b\x44\xf0\x1d\x1d\x6d\xf0\x94\x2d\x9a\xb2\xa5\x94\x3e\x6e\x93\x9a\x8e\xdb\xac\x77\x8f\xdb\x1b\x34\x85\xe1\x3b\xa6\xb2\x7b\xbc\x71\xac\x96\x3e\xa4\xa5\x0f\x79\xe9\x43\x5a\xfa\x70\x97\xa7\x1c\xd2\x14\x95\x6b\xc7\x5d\xa2\xab\x8f\x79\x8f\x9d\x34\x49\xca\x49\x93\x95\x3e\x69\x93\x5e\x38\x69\x6f\x2a\xa5\x4f\xda\xdb\x34\x67\x9b\xc3\xee\xd2\x14\x5e\x7a\x9b\xd0\x77\xb2\xad\x52\x7e\xb2\x43\xe4\xe8\x64\x87\xf1\xe8\x64\x67\x8b\xa6\x70\x7c\xbb\x14\x66\x77\x5b\x2d\xbd\x4b\x6b\xe2\xba\xe5\x84\xf6\xf7\x09\xeb\xef\x66\xa3\x85\x7b\xac\xd9\x68\x2b\x92\xda\x6c\xb4\x5b\x34\xa7\xc5\x60\xdb\x5b\x34\x65\x9b\xa7\xec\xd2\x94\x5d\xb5\xf4\xe6\x0e\xc9\xd9\xa4\xad\x6c\x36\xb7\x30\x9d\xcd\xe6\x09\x95\xbe\x66\x7b\x13\xcb\x23\xfa\x57\x29\xbd\xdd\x24\x75\x6f\x37\x69\xbb\x9b\xdb\x94\x9a\xed\x36\x4f\xd9\xa4\x29\x9b\x6d\xb5\xf4\x36\xcd\xd9\x6e\x33\x58\xd2\xdf\xcd\xed\xc3\x4d\x9e\xb2\x4d\x53\x8e\xd4\xd2\x84\x47\xe8\x5f\x06\xdb\x25\xad\xdc\x3e\xe2\xf8\x8e\x8e\x68\x8a\x5a\x7a\xa7\x81\xe5\xa8\xb9\xd3\xa0\xd2\xd2\xdc\x39\x20\xa5\x77\x0e\x18\x27\x76\x5b\x84\x13\xbb\x2d\x65\x26\x6a\xee\xb6\xb6\x69\xce\x0e\x83\xa5\xed\xde\xe5\xbd\xb0\x4b\x79\xbe\xdb\x3e\x54\x4a\x1f\x34\x49\xe9\x83\x26\x2b\x7d\x48\xe6\xfa\xe6\x61\x83\x51\x7e\x48\xc6\x0d\xfa\x57\x29\x7d\x48\x7b\xf7\x90\x8d\xa8\x26\xd5\xa0\xcd\x43\x36\x2f\x36\x0f\x37\x08\x35\x87\x1b\x2a\xe5\x87\x5b\xa4\xdd\x87\x9c\xe7\x47\x44\x07\x36\xf9\x88\x6f\x1e\x9d\x1c\x93\x94\x13\xa5\xbf\x5b\x0d\xc2\xb5\x56\x83\xcd\xfe\xad\x46\xeb\x80\xa4\xb4\x8e\x59\x0a\x91\x9f\x56\x63\xab\xad\x96\xde\xa2\xb0\x5b\xbc\xf4\x11\x85\x3d\xa6\x29\x6d\x8a\xaf\xdd\x68\x29\x75\xb7\x1b\x64\x94\xb4\x1b\xbb\x94\xce\x83\x9d\x06\xe6\x04\xfa\x97\xa7\x1c\xd2\x14\x85\xe7\x07\x3b\xad\x4d\x92\xd3\xa2\xb0\x27\x87\x4d\xdc\x4a\xf4\x2f\x4d\x39\x26\xbd\x70\x72\xdc\x50\xea\x3e\x39\x6e\xd1\x9c\x56\x9b\xc1\x9e\x9c\x90\x14\x36\x4a\x4e\x4e\x4e\x30\x7d\x27\x27\x27\x6a\x7f\xb3\xc9\x1e\xfd\x60\x5c\x6f\x1c\x34\x36\x59\xda\x56\x9e\xd6\x65\x69\xea\x48\x6b\x1c\xb4\xe9\x40\x3d\xe0\xfd\xde\x38\x20\x13\x24\xfe\xc1\xfa\xae\xb9\x45\x84\xeb\xa8\xb9\xa5\x8e\xf5\xa3\xe6\x76\x9b\xe6\xb1\x19\x10\xfd\xdc\x64\x69\x87\x3c\xed\xe0\x80\xa6\x1d\xa8\xe3\xe6\xa8\x45\x45\xeb\xa8\xb5\x41\x47\xf8\x71\xa3\x41\xda\x87\x7f\xf0\x34\xc2\xb2\xe3\x46\x63\x5b\x69\xcb\x71\xa3\xd9\xa0\x79\xcd\xe3\x13\xf2\x28\x3b\xdd\xf8\xe0\x76\x7c\x2f\x48\xa1\x9b\x78\x43\x67\xe2\x69\x1b\x29\xa3\x20\x92\x17\x72\x38\xd1\x45\x8b\x16\x6e\xed\xe7\x8f\x8c\x34\x15\xb8\xc0\xdf\x97\x16\xc3\x13\x2f\x05\xcf\xf2\x82\x17\x8d\x4b\xba\x92\x45\x19\xcf\x85\x8c\x91\x3b\xbd\xbc\x68\x5e\x9a\xd6\xc9\xea\xc6\x1b\x8d\x80\x87\x68\x7a\xde\x41\xf4\xaa\xfb\x37\xa3\xc0\x67\x4f\x7e\xf4\xc3\x38\x4e\x1c\x07\x35\x6a\x0d\xb5\xa2\x0a\x9e\x82\x96\xe1\xc1\x71\x8d\x9c\xc0\xd7\xc9\x21\xb8\x11\x7b\x50\x0d\xda\x6b\x3f\x7c\xbf\x5f\x6d\x34\x46\xd6\x30\x21\xc3\x6c\x45\xc8\xd6\x4d\xc8\x34\x78\xca\x0f\x79\x77\x54\x88\xb2\xaa\xb1\xeb\x4e\xee\x77\xba\xa6\x53\xbb\x9d\xd1\x4c\xfc\x98\x4c\x3d\x80\xd6\x7d\xf5\x68\x12\x9a\x3a\xb7\xdd\x42\xfd\x49\x38\xd8\x01\x8d\xe9\x76\x1f\x3c\x7e\x0c\x48\x5e\x63\xea\x36\xaa\x76\x8c\x5e\x1c\x65\x49\xac\x60\x95\x84\xd3\x58\xb6\x21\x17\x08\xd2\x1f\x03\x1f\x12\x70\x63\xbc\x41\xf1\x28\x56\xe3\x56\xd3\xc8\x29\x01\xa7\x80\x92\x16\xc9\xdb\xda\xa4\x8e\x66\x84\x15\x24\x65\xb3\x0f\x6e\x6f\x25\x2a\x38\x6f\xa7\xad\x76\x6b\xb7\x30\xd7\x55\x73\xf3\xba\x5a\x70\xa7\xc1\x39\x8b\x12\xdc\x0d\x8f\xb3\xfa\x11\x46\xd0\x6e\xb4\xfb\x55\x3b\x06\xd7\x6b\xc8\x18\xfc\x6d\xb7\x5d\x00\xdf\xdf\x55\xe0\xfb\x6e\xbf\x08\x7f\x1f\x36\x15\x78\xd8\xdc\x2d\x84\x6f\xab\xf0\x5b\x85\xf8\xfb\x2a\x3d\xfd\xad\x46\x21\x3c\x54\xe1\xe1\x56\x01\x7c\xab\xd1\x50\x2a\x68\xf5\xfb\x7d\xbf\xa0\x44\x5b\x2b\xd1\xc6\x25\x58\xec\xe8\x3b\x71\x3b\x86\x8e\xbe\xfd\x95\xbb\xaa\xf3\x19\x44\x93\x70\x0f\x3f\xaf\x4c\xc6\xc0\x1e\x68\x80\xbb\xea\xfe\xca\xca\xd3\xa7\xbf\x05\x69\x3c\x49\x3c\xf8\xc6\x1d\x8f\x83\x68\xf0\xfd\xe9\xeb\x8e\xb4\x09\xf5\x31\xad\x8f\xdc\xf1\xca\xca\xca\xd3\x27\x4f\x9e\x3c\x05\x77\xd5\xda\xca\xd3\x27\xa0\xb9\x0d\x9e\x3c\xa5\x49\x7c\xc7\xc6\x19\xc5\xfe\x24\x84\x35\x40\xb7\x7d\x6a\xe0\xea\xea\x06\xf6\xc6\xae\xf7\xe9\x2a\x81\x7f\x9a\x04\x09\xbc\xba\x42\x12\xbe\xb2\x3a\x49\x21\x48\xb3\x24\xf0\xb2\xd5\xfd\x95\x95\x77\xbd\x8f\xd0\xcb\xea\x3e\xec\x07\x11\x7c\x9f\xc4\x63\x98\x64\x33\x87\x63\x59\xbd\xba\x82\xe9\x1b\x8c\x7b\xb5\x06\x3e\x83\x6b\x37\x9c\xc0\x3d\xac\x98\x70\x2b\xd0\x5c\xf0\xea\xed\x0f\x07\xaf\x5f\x1d\x5d\xbd\x7e\xf5\xf6\xbb\xab\xee\xeb\x83\xb3\x33\xd0\x01\x24\x2e\xe4\x7a\x10\x5d\xbb\x61\xe0\xaf\xe3\x3d\x59\x02\x8e\xb7\xd6\xbc\x38\xec\x86\x2e\xb9\xc5\x51\x71\x86\x59\x36\x4e\x5f\xec\x7d\xf8\xf0\xf4\xc3\x87\xa7\x55\x0a\xe7\xc7\x23\x37\x88\x78\x80\xd7\x33\x7c\x46\x51\xb9\xf8\xf0\xc1\x77\xd7\xff\xfc\xe1\x43\x7d\xfd\x72\x8d\x42\x46\x70\xe0\x66\xd0\x3f\x32\x17\xf8\xd7\x86\x12\x04\xf7\x61\xec\xcf\x04\x2a\x2a\x60\xcd\x54\xe9\x1a\xa8\x30\x92\xb2\xd0\x17\xe0\x2f\x08\xd6\xcb\xcf\xad\xda\xd6\x1d\x03\x09\xc6\x02\x84\xf3\xe1\x83\xff\xb9\x59\x6b\xdf\x7d\xf8\x50\xaf\x7e\x46\xff\x90\x4f\x06\x1c\xc6\x9e\x1b\xbe\x8c\xd3\x4c\x28\x83\xd3\x86\x71\x9a\x31\x20\xd4\x13\x42\xfe\x1e\x41\xb2\xc9\x91\x0c\xe5\xf2\x42\x33\x84\xf6\xad\x81\xca\x87\x0f\x75\x94\x95\xb7\x01\x35\xec\x16\x25\x71\x9a\xd7\x40\x05\x27\xa8\x74\x61\x16\x80\x35\x91\x94\x35\x50\x79\xc1\x08\x74\xb3\xa1\x40\xc0\x87\x0f\x4f\x2f\x70\x4f\xde\x7c\xf8\x50\xff\xf0\x61\xfd\x77\x7f\xb9\x7c\x52\x7d\x42\x61\xff\x34\x81\xc9\xec\x2c\x4b\x82\x68\xf0\xd2\x4d\x87\x27\x89\x3b\x18\xc1\x28\xd3\x3a\xad\xb1\xbe\x8b\x11\x5c\x7c\xf8\x70\xf9\xe1\x83\xf3\xe1\x43\x15\xa3\x7c\xf1\xe1\xc3\xa3\xdf\xfe\xdd\xbf\xf8\xdd\xe3\x0f\x95\x27\x6b\xb5\xbd\xfd\xbf\x7c\xf8\xd0\x21\xb5\x5c\x1a\x6a\x90\x88\x7a\x81\x1a\x50\xa6\x7a\xd4\x58\xd6\xb4\xa1\x08\x94\x63\xfb\xed\x32\xb8\xa8\x94\xbe\x47\xdc\x32\xc8\xa8\xc0\x30\x2e\xa6\x3d\x51\x40\x87\x62\x7f\x08\x3c\x5f\x33\x34\x79\xcd\x40\x39\x41\x99\x66\x6e\x82\xeb\x74\x5e\xec\xfd\x6b\xdc\xd9\xf6\xd1\x83\xa8\x77\x28\x29\x30\x42\xa6\x56\xa5\xea\xfc\x0b\xb1\x90\xd6\x18\x61\xb0\x10\x1d\xf3\x7d\x12\x9e\xc2\x01\x44\xe6\x4f\x04\x6f\xc0\x29\x1c\x1c\x4f\xc7\x0e\xa1\x62\x4d\xd5\x05\x6b\x62\x8b\xd7\x50\x9d\x54\xc5\xbc\xfc\xc3\xfb\xe3\xd3\xf3\xe3\x9f\xce\x89\x92\x79\x73\x70\xde\x7d\x79\x7c\x7a\xf5\xea\x88\x58\xb0\x08\xe4\x75\x10\x7d\x0a\xfa\x01\x4c\xe4\x8d\x6c\x36\xab\xf3\x14\x0e\xe7\xe8\x3b\xf7\x11\x79\x44\xf9\xd3\x1b\x37\xf3\x86\x30\x79\x85\x9a\x6c\xad\x5a\xdd\xbf\x4f\xe2\x9b\xf3\x60\x04\xe3\x49\xf6\xca\xc7\x67\xa0\x97\x2a\x44\x98\xa3\x36\x02\x24\x70\x10\xa4\x19\x4c\x04\x12\x1c\x99\x8b\x35\x7c\x48\x8b\x14\x31\x76\xbe\x7b\x15\xf9\x70\xba\x07\x9a\x58\x15\xe7\xd3\x10\x6f\xa2\x70\x8c\xe1\x66\x99\xeb\x0d\xcf\xe3\x23\x7c\x60\x94\xf3\xc7\x8f\xbd\x09\x92\x11\xfc\x46\x80\xe1\x30\x83\xe5\x83\x0e\x60\x3f\x0d\x0d\x4f\xc9\xfb\xa6\xa9\x74\x38\x61\x22\x03\x9f\xc8\xf5\x67\xa7\xf8\x99\x80\x9c\x8a\x24\xbe\xc1\x6d\xb1\x38\x53\xb1\x9a\xcb\x47\x99\xc6\xda\x9a\xf5\x06\x3f\x4f\x91\xba\xe8\x82\x55\xaa\x84\x5f\xe4\xc5\xb4\xd3\xe2\x10\xba\x09\x2d\x2f\x40\x99\xaa\x2f\xac\x0e\x74\x40\x0a\x33\x8e\x88\x8b\x06\xe1\x4b\xbd\x17\x44\x3e\x4e\xc5\x5d\x42\xd8\x52\x13\x98\x79\xfe\xea\xcd\xf1\xd5\xe1\xf1\xc9\xbb\xd3\x63\x2c\x92\xaf\x4e\xfe\x50\x9d\xcb\xf7\x14\x66\x2f\x67\x68\x6e\xa7\x12\x9e\x1f\x08\xe5\x9d\x30\x24\x69\xba\x0c\x88\x72\x7b\x61\x1d\x0f\x97\xf5\x21\x47\x3a\x64\x07\x4c\x0b\x90\xf5\x03\x32\x14\x88\x23\x86\x1b\x86\xf8\x2a\xb8\x48\x9d\x47\x13\x97\x27\xef\xda\x54\x01\x43\x3b\x97\x54\xc3\xe0\x94\x45\x98\x8c\x4f\xda\xf2\x1a\x5a\xf7\x04\x71\xa4\x2d\xbf\x68\x32\x5e\x08\x5c\xc7\x81\x8f\xef\x93\x00\x9e\x0a\x3e\xdf\xed\x1b\x83\xd8\xea\xaa\x09\xad\x04\xec\x7a\xf1\xf1\x63\xf0\xc8\xd0\xa1\x84\x6b\x49\x7c\x83\xb5\xf1\x31\xf1\xbe\x64\xfd\x36\x9a\xa4\x19\xe8\x41\x40\x8c\x41\xbf\x62\x14\x6d\xb2\x4b\xc0\xda\xaf\x84\x08\xf7\xf7\x6c\x9a\x74\x6d\xad\xa6\x0c\xdd\x01\x52\x5d\x84\x6b\x52\x0e\xa5\x66\x8f\xb3\x52\x5e\xf2\x0b\x7a\x8f\x72\xad\x9e\xa7\xc9\xb0\x7a\x87\xe7\x65\xf4\x3c\xb9\xec\x38\x09\xe2\x24\xc8\x66\x79\x09\x96\x82\x4f\x61\x73\xc6\xa8\xda\xd0\xf5\x7d\xa1\xe1\xe7\xf1\xeb\x20\xcd\x1c\xca\x30\x81\xa1\x74\xa9\x40\x33\xea\x6c\x3b\xa5\x40\x00\x8d\x98\x25\x11\x64\xb5\x18\xfd\x14\xc4\x51\x22\xde\xdd\xb3\x5c\xd4\x93\xc0\xf1\x63\x53\x7a\x1b\x40\xa1\x0a\x96\xc2\xd2\xd8\x69\x58\x07\xcd\x7d\x10\xe0\x55\xd6\x3e\x08\xcc\x8f\xce\x31\x2e\xf1\x2e\x78\x66\xc2\x78\x11\x5c\x72\x08\x7b\xc4\x73\x89\x06\xfa\x9c\x50\xc0\xdf\x74\x33\x37\xd2\xd4\x50\x50\xe8\x89\x6c\xaa\xa5\x61\xa8\xa1\xa0\xbf\x7d\x38\x4f\xe5\x8c\xd8\xe0\x12\x5b\x2b\xb1\xbd\x49\x6e\x1e\x5a\xb9\x6f\xbc\x91\x68\x96\x19\xc4\xdd\xc0\xc7\x22\x63\xac\xb7\x04\x97\xf5\x37\x9e\x80\x6d\xaf\xcb\xc6\x5d\xc3\xce\x57\xc1\x88\x59\xc0\xda\xa0\x4f\xf6\x8b\xa6\x82\xd5\x42\x78\x94\xc4\x37\x0b\x9a\x22\x70\x9a\x11\x13\xa9\x8e\x7e\x76\xe3\x28\x93\x0c\x29\x53\x08\xa7\xc5\x3a\x4d\x56\xcb\xc6\xee\xdb\xd7\x0a\x20\x80\x63\x12\x5a\x23\xbf\xbd\xe8\xc7\xaf\x39\xdb\xc8\xd3\x84\xe6\x41\x81\x38\x21\x22\xc8\x23\x54\x19\xaf\x22\x88\xe3\x58\x57\xbe\xb6\x0b\x16\x88\xca\xab\x30\x8e\xc7\x57\x4d\xa9\x0b\x3f\xce\x0b\x4e\x47\x23\x86\x90\xf7\x58\x38\x8d\x17\x1f\x2f\xcd\x3e\xc6\x80\x4d\x2d\x46\xea\x1c\x16\x7f\x44\xe8\xbc\x1a\xab\xa2\x26\x90\x15\xa4\xd8\x8a\x29\x22\x8e\xf1\xe2\x51\x49\x58\x80\xf7\x88\x4d\x01\x30\xf5\x7d\x97\x82\xdb\xe6\xc0\x7a\x81\x1c\xe7\xd8\xae\x9c\x5b\x6e\x2c\x31\x71\xfd\x48\xc4\xf5\x23\x78\x06\x0c\xa2\x50\xf8\xe6\x3d\xfa\xa3\x3d\x6b\x7c\x33\xdd\x4c\xb0\x9e\x52\x46\x2f\x17\xe9\x08\x51\xdc\x55\x2d\x91\x8b\xbe\xaa\x29\x60\x3a\x09\x33\x65\x0d\x47\x5c\x18\x5f\x66\xd9\x58\x56\xd8\xf9\x1c\x8f\xb5\x67\x89\x05\x25\x89\xae\xe8\x43\xba\xac\xaa\x7b\xc3\x20\xf4\xdf\xa2\x04\xf5\xb4\x26\xc3\x4f\x0e\x29\x7a\x85\x18\x44\x7c\xb4\x61\x1b\xab\xaa\xa8\x30\x52\xf4\xf6\x96\xe0\x28\x34\x08\xa8\xce\x25\x6d\xb6\x69\xb8\x49\x12\xb0\xa6\x5e\x20\xc6\xc6\x7d\xde\xee\xdc\x3c\xc3\x36\x6b\x25\x9a\x8c\x7a\x30\xa9\x80\x17\xa0\x01\xf6\x0c\x50\x0a\x4b\x93\xf8\x06\xbf\x04\x4b\x30\xd0\x3a\xea\x01\xfe\x5a\x43\xf5\x32\x69\x2b\xd4\xa6\x98\x9d\xf3\x14\x68\x44\x9c\xd2\x31\xac\x51\x61\x92\x03\x0b\x46\x09\x82\x93\xf8\x8e\x89\x7a\xd7\x77\x26\x49\x60\x50\x96\x62\xe1\xe7\x96\x8b\xe4\x8a\x56\xe6\x4a\xd9\x4b\xa0\x9b\xc1\x83\xc8\x1b\xc6\x09\xcd\x43\xb5\x70\x01\xad\xf3\x75\x87\x26\x81\x86\xb1\x85\xa8\xd1\x88\x17\x44\x20\x67\xaa\xf5\xe2\x1b\xc3\x80\xfe\x73\x3e\x1b\x43\xf3\x63\x02\xe2\x1f\x9d\x57\xe1\x38\x74\x3d\x88\x84\x19\x23\xa8\x89\xcd\x5d\x28\xf0\x85\xe5\x82\x99\xc8\xc9\x7c\x12\x40\x55\xd9\x95\x23\x6a\x0d\xd3\xb1\x08\xf2\xad\x3b\x22\x0d\xaa\x1c\x68\xd7\x76\xd4\x3f\xcb\xe8\x28\xd7\x06\x20\x28\xf7\x20\x8a\x60\xf2\xf2\xfc\xcd\x6b\xd0\x01\x95\x8a\x1d\x13\x83\x77\xc7\x63\x18\xf9\x5d\xa4\x1a\x9c\x65\x78\x58\x70\x03\x12\xf7\x6c\xae\x74\x0a\x62\x4f\xfe\xff\xec\x7d\xfb\x7b\xdb\xb6\xb2\xe0\xcf\x27\x7f\x05\xe2\xed\x8d\xa4\x4a\x96\x65\xa7\x69\x13\x3b\x72\xd7\xaf\x34\xbe\x75\xec\xac\xe5\x36\xed\x3a\x5e\x1d\x5a\x84\x25\x36\x14\xa9\x92\x94\x1f\xa7\xf1\xfe\xed\xfb\xe1\x49\xbc\x09\x4a\x4a\xdb\xbd\xf7\xe8\xfb\x12\x4b\x24\x30\x33\x18\x0c\x80\x01\x30\x0f\xf6\x31\xad\x08\x66\x28\x95\x8b\x02\x82\xc2\x6b\xb1\x51\x56\x82\x71\x2e\xe1\xbc\xee\x40\x1a\xa8\xbc\xb6\xe7\x68\x15\x3f\x88\x1f\x1a\xc8\xa7\xc4\x2b\xb5\x42\x34\x34\x89\x1f\xcc\xaf\x73\x7c\x4c\xfb\x21\x2a\x26\x78\x08\x70\xca\xa4\x71\xd0\x01\x78\x6c\xab\x68\x2b\x96\x77\x8b\x2f\x12\xfb\x98\x25\xd0\x5b\x2e\xec\xfa\x19\x9e\x2e\xf7\xc2\x10\x0a\x07\x6d\xae\x36\x6b\xc3\x9e\x36\x37\xaf\x6c\x29\x76\xb7\x2d\xd1\xe9\x85\x4c\xea\x01\x1a\x97\x64\x07\xeb\x1e\x25\xb6\xc5\x34\x67\x0d\x68\x4a\x2b\x51\xab\x62\x95\xe5\x34\xd7\x5c\x6d\x4b\xc2\x9d\xf3\x8a\xde\xd2\x2f\xb3\x02\x73\x72\xa4\x55\xb8\xed\xb3\x0c\x03\xf7\x1e\x4e\x6c\x99\x4b\x41\x33\x2c\x7d\x92\x9e\x86\x65\x47\x5c\xfe\x0c\xe7\x9c\xaa\xfe\x06\x95\xe5\x95\x1d\x30\x77\x09\x32\xb6\xc2\x36\x02\xf1\x0c\xcc\xb0\x09\x00\x78\xad\xd4\x8b\x84\x59\x30\x1e\x07\xd7\xb1\xc1\x23\x8e\x18\x32\x54\x11\x29\x02\x9b\x64\xf0\x46\x45\x24\xd1\x13\x64\x63\x72\x8f\x34\xc4\x49\x8d\x1b\xe6\x62\x41\x18\xe2\xc8\x8b\x68\xff\x00\x13\x98\x35\x1b\xa3\x38\x1a\x7d\x6a\x88\xfb\x17\x1c\x40\xd1\xb6\x7b\xb3\x1c\x27\x2a\xdd\x4a\x4b\x11\x50\x78\x64\x1b\x06\x85\xe2\xd9\x6e\x3c\x68\x34\xcc\x3a\x2b\x6b\x8a\xbe\xa1\x1a\xa5\x49\x11\x44\x49\x6e\xda\x55\xb9\x5b\xec\x37\x0b\xf9\xf1\xc6\xcc\x09\x5a\x9b\x12\x5d\x3d\x62\x84\xd9\x57\x1a\x29\x29\x59\x6a\xd4\xc1\x90\xc0\xbb\x53\xba\xd9\x10\xb7\x33\x7c\x49\x1f\xd2\x93\xa4\x21\xd2\xa3\x83\x6c\x3c\x97\xf7\x78\x43\x83\x32\xcd\x40\x5e\x0e\x23\x92\xf9\xb4\x5f\x56\xbc\x1c\x46\xc6\xe4\x54\xd4\xb9\x8f\x8c\x2a\x4a\x6a\x97\x3c\x38\x95\xb4\x37\xa3\x7a\x4f\x11\xba\x34\x7c\x02\x8b\x7a\xb6\xee\xc3\x9b\x34\x83\x4d\x4e\x68\x74\xd5\x61\x48\x8d\x7d\x40\x2b\x93\xb0\xa3\x44\xe9\x92\x8b\x7b\x76\x88\xb6\x1c\x4a\x3d\x44\x86\x32\xd1\x07\x28\x69\x1d\xc0\x17\x20\xe1\xab\xf1\xb6\xac\xac\x6d\x50\xde\x8c\x61\x9e\xca\x1a\x68\x2a\x34\x55\x97\x9c\x29\x1f\x6d\xe8\xf8\x2e\xe0\xa9\x39\xa5\x98\x72\xe1\x20\xa0\x65\x77\x0e\x01\x39\x23\xc3\x3b\xb0\x34\x03\x69\x12\x3f\x00\x3a\x26\x41\x00\xf2\x28\x19\xc7\xb0\x2c\x62\xbf\x9a\xb8\x99\xc7\xf1\x05\x39\x6d\x13\xe8\x33\x1e\xba\xe1\x3d\x99\xc4\x50\xf3\x8a\x8c\x37\xa1\xd1\x78\x52\x20\xb8\xf4\x1c\x8a\x20\x11\x74\x03\xfe\x8d\x6d\x9c\xf4\xcd\x23\x87\x81\x48\xc2\x70\x8c\x8b\x0f\x2b\xd1\x14\x70\x1a\x53\xe3\x8b\x5b\x29\xa3\xe0\x28\x08\x8d\x27\xf7\xa2\x8d\xdd\x63\x15\x6b\xcc\x1c\x2d\x4f\xf2\x35\x26\x18\x38\x19\xc3\x1b\x27\x23\x7b\x9a\x94\x1b\xce\x2d\x29\x0c\x4f\x46\x96\x28\x6b\xf1\x51\xc6\xc2\xf9\x5a\x83\x8d\x22\xad\xf5\x5b\xab\xb6\xd4\xbb\x9d\x0a\x0c\x2e\x06\x15\x92\x4b\x55\x3b\xbd\x17\x2d\xe0\xbc\x68\xe2\xa5\x35\x17\x7c\x1f\xb6\xdb\x84\x59\xbf\x48\xdb\x34\xf9\x45\xf2\xc9\x98\x39\x45\x3a\x6f\xd1\x41\x1f\x6c\xf5\x7a\xa5\xe7\xa4\x68\x51\x22\x40\x32\x1b\xee\x95\x90\x2d\x56\x7b\x2f\xff\x66\x56\x7b\x5a\xa4\x10\xd0\x37\x61\x6f\x6e\xd1\xf2\x65\x3e\x38\x4b\xc1\xe7\xb4\x20\x89\xf2\x3a\x28\x82\x02\x96\x56\x06\x7f\x3c\xee\x3c\xd1\x5f\x5c\x1a\xc3\x95\xec\x1f\x9d\x5c\xa9\x8e\xb6\x39\xd2\xed\x4b\x05\x54\x51\xa8\xba\xd7\x30\x8e\x9b\xad\x1d\x50\x03\xcb\xc9\x9b\xba\x48\xe2\x28\x81\x6f\x20\x0c\x6b\x22\xfa\xf9\xe2\x8a\x67\x26\xf1\x22\xcb\x1f\xf4\x9b\x37\x5f\x0c\xf4\xc1\x79\x5d\xf6\x8c\x82\x2c\x8b\x82\x31\x3c\xc7\x8f\x6b\x32\x69\x7f\x50\xbb\xcb\x83\xd1\xa7\x7c\x16\x8c\x60\x4d\x4c\x6f\x2f\xea\x62\x2a\x82\xeb\x9a\x38\x06\x67\x75\x71\xe4\x93\xe8\xa6\x38\x9b\x17\x75\x11\x1d\x2f\x84\xe8\xb8\x6e\xf7\x1c\x0d\x0e\x7c\x11\x91\x37\x38\x9c\x02\x02\xdb\x7c\x8f\x7f\xe3\xef\x08\xcc\xde\xfb\xa3\x43\x82\x1b\xef\xc3\x31\xb2\xd0\x30\x59\x18\xde\x5c\x36\x2e\x1b\x66\x2a\x98\x9f\x3c\xd3\x37\xca\x98\x0c\xd8\x45\x5f\xd8\xd8\x88\x01\x56\x90\x42\xff\x9e\x46\x13\xa1\xcb\xb7\x8b\xf8\x83\xc1\xf1\xf0\xfd\xde\xf9\xde\xbb\xd6\xce\x13\x1b\x81\x57\x7f\x25\x81\x67\x83\x03\x07\x69\xef\xff\x4a\xd2\x0e\x0f\x06\x0e\xd2\x86\x9e\xa4\xb9\x30\x1c\xff\x70\x7a\x76\x7e\xe4\x40\xf2\x7f\xfe\x0c\x24\xa3\xba\x4c\xe6\xb9\xb2\x6c\x10\x8f\xea\x42\x14\xa2\x73\x08\xc1\x9c\x42\x78\xcf\x82\x20\xb9\x1a\x78\x7a\x76\xfe\x6e\xef\xc4\x41\xce\x61\x5d\x72\x56\x87\xfa\x5d\x7d\xde\xde\xc2\x2c\x87\xc7\x2b\xa3\xe0\x3f\xea\x52\x90\xc3\x62\x7c\x02\x6f\x61\xdc\xec\xb5\x76\xf4\x57\x75\x52\x0b\x7b\x11\x2e\x16\xfc\x14\xcd\x4e\xd1\x1e\x6d\x12\x64\x0e\xf9\x32\xaf\xfd\x7b\xa7\xa6\x86\x7a\x4e\xf2\x8c\x1a\x36\xc7\x8f\xf2\x08\xcf\x14\x86\x49\xde\xf4\xea\xb2\xf1\xbd\x91\xcd\x46\xec\xef\x71\xcc\x9d\x66\xe3\xfb\x06\xc1\x67\x06\xb8\x5b\x1f\xe0\xae\x13\xe0\xd3\xfa\x00\x9f\x3a\x01\xf6\x6a\x00\x44\xb5\x69\x81\xee\x98\xfd\x6e\x81\xaf\xc1\x66\xcf\x85\x62\x73\x35\x28\x70\x18\x3f\x07\x9a\xad\x95\xa1\xd9\x72\xa1\x79\xbe\x32\x34\xcf\x5d\x68\xbe\x59\x19\x9a\x6f\x5c\x68\x5e\xac\x0c\xcd\x0b\x17\x9a\x6f\x57\x86\xe6\x5b\x17\x9a\xef\x56\x86\xe6\x3b\x17\x9a\x97\x2b\x43\xf3\xd2\x85\xe6\xd5\xca\xd0\xbc\x72\xa1\xf9\xaa\x06\x9a\x34\x2f\xf0\x9c\xf2\x95\x73\x4e\x59\x5b\x00\xe2\x9a\x13\x22\x58\x00\x22\x70\x42\xfc\xd8\x58\x00\xe4\xc7\x86\x13\xe6\x8e\x27\xc8\x1b\xb4\x0e\x47\xff\x82\xb4\x97\xec\x10\xff\x9c\x35\xd2\xbc\x3c\xca\x4d\xfb\x9f\x4a\xd3\xf8\xad\x27\xd1\xd5\x3b\x80\x07\x1b\x56\xb7\x7d\xe4\xd2\x03\x6b\x19\x2c\x6e\x19\x6b\xb0\x8c\x62\x6f\x61\x14\x24\xfa\xde\x4f\x33\x37\xfc\xfd\x25\xe1\x1f\xa6\x77\x89\x1b\xc3\xc1\x92\x18\xde\xa4\xd9\x5d\x90\x85\x6e\x24\xaa\x1e\x5c\x17\xc9\x7e\x30\xfa\x54\x8d\x45\x55\xfe\xeb\x62\x39\x25\x17\xcc\xd0\x8d\xe5\xcd\x92\x58\xde\x67\x70\x04\xc3\x28\x19\x57\xa3\xfa\x61\x49\x54\x48\x80\xf7\xae\xf3\x34\x9e\x17\x15\x98\xde\x2e\xdb\xa8\x34\x8f\xf0\x11\xad\x13\xcb\xf1\x6a\x64\xed\x22\xb8\x76\xe3\xf9\xcf\x85\xf1\xc0\x2c\x40\x5b\xa0\xc3\x28\x9f\xc5\xc1\x83\x1b\xcb\x8f\xcb\x62\xa9\x16\x80\x93\x25\x67\x30\x84\xa1\x62\x06\x53\xf7\x89\xfe\x28\x48\x46\x58\x0f\x14\xea\x59\x4a\x5d\x14\x1e\xf3\xf0\x60\x61\x14\x24\x36\x68\xd5\x3c\x7c\xe1\x0d\xff\x09\x30\xe6\xfd\x7a\x0d\x70\xa6\xdf\xa7\x7a\x7c\x7b\x99\x10\x69\xc2\x26\x77\x34\x4f\x4c\x04\xfd\xb2\x9c\xf0\x79\xb0\xf4\x7f\xaf\x68\xce\xae\x1c\xad\xff\x5c\x1c\xd1\x24\x40\x33\x8f\xdf\x14\x17\x2c\x8c\xe6\x2d\x9b\xdd\xce\x61\x1c\x14\xd1\x6d\x05\xa2\xeb\x85\x11\x65\x70\x06\x83\x82\x2f\x10\xdc\x55\xdc\x8d\x4f\x3d\x45\xab\x21\xfb\x30\x09\x0f\x71\xbe\x86\x32\xa3\x9d\x1b\x57\xb8\x30\xae\x38\x4a\xa0\x77\x5f\xc1\x85\xd1\xfc\x5c\xaf\xaf\x6e\x16\x17\x8a\x9f\xfd\xd6\xbc\xf1\xc2\x18\x8a\xe0\xfa\x20\x86\x41\x45\xef\x4f\x96\xe8\x7d\x92\xc7\xde\x09\x3e\x5e\x42\x98\xbd\x10\x4c\x97\x1a\xfd\xbe\x72\x9b\x2c\xb1\x04\x95\xf9\x4c\xdc\x38\x66\xf5\xd6\x08\x1e\x6a\x5d\x5b\x11\x70\x34\xf1\xc6\xd3\x86\x1c\x4f\x9c\x77\x1b\x4b\x67\x20\x2f\x13\xec\x23\x98\x35\x9b\x57\x8e\xdf\xfd\xc8\xec\x80\x19\xd9\x41\x4a\x6b\x1a\x79\x44\x8c\xfd\x41\xc3\xb8\x8c\x49\x11\xea\x7d\x96\xb2\xcc\x4d\x90\x59\x72\xc5\xe0\xe3\xee\x6e\xc9\xeb\x83\xe7\xa1\xb6\xdd\x90\xe7\xb5\x21\x4b\xd1\xb1\x9d\xc0\xfd\x76\xd1\x55\x7d\xd7\x01\x4b\xed\xb3\x85\x77\x3b\x4f\x84\x28\x21\xc2\x73\x26\x02\xc2\xa3\x4b\xf1\xfb\x1a\x81\xb9\x86\xe8\xee\xa1\xff\xd8\x83\x1d\x77\x35\x7a\xf7\x89\xeb\x61\x83\x48\xfe\xa4\xa2\x22\xbf\x77\xc4\x55\xb7\x70\xd5\xf2\x59\x75\x65\x5c\xed\x39\xab\x56\x55\xe1\x6c\x70\x80\x2b\x7c\x83\x2b\xa0\x5f\x55\x18\xc8\x35\x05\xae\xf4\x82\x60\xa1\x4f\x2a\x2a\x1e\x1e\x0c\x70\xa5\x6f\x71\x25\xf4\xab\xa2\x02\xb9\x7d\xc3\x75\xbe\xc3\x75\xe8\x03\x1c\x67\x4b\x28\x89\xa3\xd4\x89\xbf\xfb\xe0\x8f\xc7\x56\x4b\x94\x80\x8a\x18\x31\xa4\x50\x73\x18\x09\xd1\xb8\x3a\x60\xa8\xde\xf3\x94\xb6\x4c\x91\x1c\x64\x5d\xfa\xad\xda\x3d\x31\x28\xa8\x1c\xfb\xae\x96\xc9\x29\xdd\xba\x2c\xb3\x79\xa7\xe4\x94\x60\x68\x8a\x87\x82\x1c\xde\x25\x28\x02\xd5\xde\x17\x61\x46\xcf\x79\xb2\xdc\xdf\x3a\x60\x94\x77\xc0\x68\xd2\x01\x23\x62\x82\x95\xde\xa9\x14\xcd\xa8\x6e\x20\x87\x8c\x34\xa4\x41\xc8\xe7\x59\x96\x8e\x83\x02\x0e\x27\xd1\x58\xb3\x00\x44\x78\x0d\xe1\xed\xa5\x3a\xa0\x8d\x8b\x99\x4c\xf5\x6c\x35\x64\x8f\x29\x25\x06\xc1\x8e\xda\x04\x9c\x8a\x57\x7e\xa6\x5b\x0b\x63\x5f\x10\x44\xc7\xa5\x5c\x52\xf1\x8d\x18\x11\x23\x38\xcc\x4f\xb4\x7e\x1f\xa4\x21\xdc\x63\x51\x5d\x58\x1d\x83\x33\x60\xef\xfe\xf0\x65\xaf\x07\x5e\xf7\x09\x84\x67\xcf\xc8\x5f\x1c\x5a\xee\x70\xff\xcd\x1b\x93\xcd\x79\x8c\x3d\x54\xdd\xa8\xc8\xfd\x8c\xd1\xe8\x3d\xca\x4f\x83\xd3\x66\x9c\xde\x59\x0d\xda\xab\x98\x3c\x9a\x98\xfd\x72\x46\x69\x52\x44\x89\x29\x3d\xbe\x6e\x0a\x4f\x19\xd6\x6c\xe2\x2f\xeb\x80\x30\xa2\x05\xbe\x06\xbd\xfb\x6f\xd0\x97\x36\x40\x34\x92\x37\x07\xe4\x41\xef\x7e\xb3\xd7\x53\xb3\xf4\xd2\x4e\x6a\x0b\x1c\xf1\xe1\xc6\xa3\xa9\x2b\x0e\xac\x5d\xf1\xe6\xcd\x1b\x3d\x9c\xa7\xb9\xbd\x4c\xff\x11\x86\xb0\x35\xa5\x97\x3e\xb0\xed\xa9\xfd\x47\x13\x10\x25\x06\x2b\x2f\x97\xfb\x99\xc1\xb0\x67\x34\xb9\xa2\x61\x85\xf4\x39\x6b\x95\x8e\x97\x3a\xf4\x6e\x10\x86\xf8\x1e\x9a\xcd\x30\xcb\x26\x38\x07\x26\x36\xd2\xe5\xb4\x8a\x8f\x86\x5b\x70\x17\x23\x4d\x97\xe6\x2a\x27\xf9\xba\x60\x77\xbe\x73\xf8\xe6\x99\x5b\xcd\x84\x69\x64\x75\xc1\xe5\x4c\x68\x34\x1b\xe6\x46\x97\x25\x5a\x95\x25\xbe\xae\x2c\xd1\xae\x2c\xb1\x5e\x59\xa2\xeb\x28\x01\xbc\x5b\x2d\xc3\x74\xb5\x5e\xfc\xa8\x09\xad\xca\xc4\x57\x86\x89\xc5\xf4\xa9\xf0\xaf\x94\xa9\x72\x71\xdc\x8f\xaa\xcd\x2f\x40\x95\xab\x97\xfd\xa8\xb2\x24\x3b\x5d\x8a\x2a\x97\x64\xf9\x51\xf5\xfc\x0b\x50\xe5\x92\x66\x3f\xaa\xbe\x44\x0f\x56\x8d\xa0\x6a\xaa\x56\xd7\x83\x76\x9f\x76\xe0\xd4\x64\xe9\x06\x61\x29\x6f\x66\xc2\x8d\x8d\x0a\x6e\x2c\x2c\x31\x4b\x12\x2f\x6b\x21\xeb\xeb\x2b\x68\xea\x69\x45\x53\xbd\x80\x9c\xad\x02\x48\x52\x8f\xe9\xa5\x11\x9c\x1a\x8f\x7d\x21\xec\xe9\xa2\xd8\x9f\xaf\x02\xfb\xe7\xbf\x14\xfb\xe3\x5f\xca\xf9\xff\xbb\x28\x76\xd3\x86\xa4\x36\xf6\xef\xbc\xb0\x4b\x6a\xa7\x70\xec\x55\x41\x81\xdf\xae\x7b\x29\xfa\x5f\xd6\xa7\x5f\x3e\x5c\xfb\xeb\x9b\xf0\x3f\xbc\x9a\xb0\x28\x09\xea\x86\x7c\x05\x04\xbf\xad\x27\xb1\x45\x70\x3d\x20\xd6\xd8\x5f\xae\x95\x5e\x74\xf7\xeb\xd1\x1d\xa7\xe3\x66\x63\x00\xb3\x28\x88\x71\x88\x6e\x90\xc1\xdf\xe7\x30\x2f\x60\x08\x84\xf4\xb6\xe0\x13\xce\xa1\xdb\xb5\xa5\x59\xb6\x00\x37\x25\xe1\xd5\x63\xf5\x55\x00\xf1\xc8\xcb\x6b\x87\xf2\x45\x59\xbd\xbb\x08\xab\xf1\x2e\x25\x4a\xc6\x00\x07\x91\x2d\x52\xba\xdd\x5e\x21\x87\x95\xa0\x11\x1e\x50\xfe\x8e\x2c\x0e\xe1\x4d\x30\x8f\x8b\x2f\x3f\x6b\x70\x2e\x40\xe2\x60\xfe\x53\xf2\x29\x49\xef\x12\x70\x34\x38\x28\xf3\x2e\xfc\x47\xde\x6d\x74\xc0\x48\x75\xcd\xae\xd1\xa6\xe5\x0e\x28\xa8\xe6\x58\x75\x40\x21\xb8\x02\xd0\x1a\x03\xe7\x11\x40\x0e\xfa\xa6\x3a\x97\xa3\x89\x23\x50\x12\x45\x87\xaf\xbd\x36\x2a\x63\x5c\x61\x26\xab\x1e\x05\xb6\xc2\xbe\x71\x86\x40\xf5\x51\x92\xda\x36\xc5\x35\xa2\x4e\x27\x19\x94\x13\xe6\x7e\x61\xd9\x24\x74\xc0\x48\xbd\x8a\xb4\x00\x1b\xdb\x72\x68\xeb\x75\xea\x8a\xb9\xaf\x6c\x9d\x0d\x0e\x9c\x72\x85\x3a\xda\xe6\xd9\x07\x3e\x7f\x06\xae\x22\xfb\x47\x27\x2e\x01\xf1\xc0\x60\xcf\xfb\x0f\x6a\x2d\xfc\x6a\xc6\x65\x62\x90\x84\x63\x3b\xe9\xf9\xd3\xb9\x8b\x9a\x43\x56\xe5\x23\x5b\x05\xf0\x65\xef\xaa\x6a\x60\xe0\x7e\xe8\xb9\xe7\x37\x53\x92\x71\x63\x19\x43\xd2\x71\xf5\x63\x4a\x3b\xcd\x52\x39\xfb\x9c\x98\x01\x83\xd2\x13\x15\x31\xd4\xaf\x64\x38\x58\xbf\xd3\x02\xa5\x36\xb9\xc6\xbd\x40\xa0\x55\x7a\x31\xbe\x8a\x29\x18\x54\x1e\x2e\x00\xbf\x13\x0a\x53\x7e\xf5\x65\x40\x19\xd2\xb2\x6b\x65\x5e\xac\x0e\xdd\xa6\x97\x68\xf9\xc8\xd6\x66\x85\x70\x91\x42\x15\x9c\x22\x85\x7c\x78\xb0\x59\xc1\x04\x52\xc8\x90\x5f\x5e\x2f\xf4\x9d\x4f\xa1\x97\x3e\x85\x5e\xad\x50\x0e\x2a\x48\xaf\x03\xeb\x45\x45\x27\xd7\x82\x55\x21\x0b\xb5\x60\x79\xcc\x47\xfe\x82\xec\x25\x35\x3d\x2f\xb1\xf1\x1c\x15\x5e\xc3\xc2\x6f\x5c\xf8\x0d\x0c\xbf\x91\xe1\x37\x34\xfc\xc6\x86\xdf\xe0\xa8\x1a\x1d\x60\xd1\xd8\x91\xc0\xb6\x24\x2b\x91\xc4\x2a\xea\x98\xdd\xc9\xed\x15\xeb\xea\x50\x0b\xa9\x9e\x42\xf6\x19\x55\xdf\x70\x47\xc6\x15\x01\x8c\x26\x60\xb7\x0f\x1a\xbd\x06\xbe\x54\x9e\x80\xd7\x7d\xd0\x78\x55\xa9\x6d\x83\x2a\x16\x2d\xb2\x22\x4b\x10\xa8\x43\xda\x68\x22\xda\x11\xf4\x5a\x60\x1d\x7c\xf3\x72\x99\x23\x7f\x1e\x40\x96\x6d\x2d\x76\x16\x69\xec\xf2\x6a\x9d\x0f\x0f\xdc\x41\x76\xdd\x6d\x75\x05\xf3\x75\x4a\x55\x15\x51\x6d\xbb\x8d\x85\x1d\xef\x92\xbb\x52\x66\x4a\x56\xb5\x2f\x35\xf9\xc6\xb9\x37\xa6\x06\x5f\x3a\x76\x75\xbe\xca\xab\x72\xcc\x50\xd5\x9b\xaf\xe6\x1e\xec\x60\x70\xec\xc7\x2b\x0f\x2e\xd5\x60\x90\x91\x37\x5d\xc5\xee\xcc\x38\x3c\xf4\xc7\xd4\x50\x52\x7d\xcc\xec\x26\x1d\x5c\x5f\xc2\xcc\xc3\x76\xf0\x72\x30\x38\xc6\x96\x1e\x95\xa7\x2e\xae\xdd\x7a\xdd\x89\xde\xc8\x11\xc7\x40\x37\xb3\xca\x51\xc1\x77\x4c\x1d\x1e\x0c\xfe\x1b\xec\xc6\x71\xc0\xce\x02\xb0\x3c\x56\xee\x82\x38\xa9\x86\x47\x59\xdb\x8e\x5c\xb3\x29\x37\x7d\xc8\x91\xae\xc7\x0d\xb9\xaf\xde\xda\xf8\xea\x77\x0f\x68\xb3\x42\xdf\x3f\x8b\xd3\x7a\xf5\x42\xc5\xb8\xe3\x71\xec\x0b\x44\x4b\x7b\x63\x80\x5b\x7b\x6b\xd6\x7c\x5a\x23\xb5\xaa\xd1\x5b\xfb\xbd\x62\x99\x14\x3f\x9e\xa6\x0c\x02\x45\xb3\xda\x14\x7d\xbb\xb9\x36\xfb\x92\x24\x65\xb5\x29\x6a\x78\x97\x47\x9f\xb6\x6e\x32\x8b\x4f\xeb\x2f\xd2\x19\x36\x57\xac\x09\xac\xb1\xb3\x1a\xf4\xfb\x69\x51\xa4\xd3\x85\x28\xc8\xbe\x64\x77\x4c\xeb\x8b\xec\xf4\xcb\xd0\xe3\x75\x9b\x21\x7e\xdc\x4b\xe4\xe1\xc1\x00\xbc\x2f\xd8\x02\x39\xb3\x25\x6e\x30\x7d\xa8\xd8\xad\xbc\x95\xd5\x67\x6e\xda\x31\x7a\x12\x36\xad\x2b\x59\x1b\x34\xde\x37\x40\x1b\xb4\xc9\xf4\xd6\x06\x8d\xaf\x32\x9c\x46\xb8\x00\x6d\xfb\xfa\x87\x53\x15\x57\x5d\xa1\x79\x36\x8a\xda\x97\xf9\x4c\x32\xfe\xd0\xfe\x96\x4b\xc2\x92\x1d\xd3\xfe\x93\x3b\xc6\x7b\x2c\x55\x8f\x21\xa2\x1a\xb0\x71\x64\xd6\x1b\x96\xa6\xd9\xfb\x00\xa4\xee\x61\x86\xbf\xb6\x0a\xbe\xc4\x01\x88\xe9\x98\x43\xda\x64\xd7\x3d\x22\x21\xad\x20\xc7\x1d\x38\xd7\xc4\x57\x0d\xf1\x57\xdb\xef\xae\xd1\xca\xcf\xfa\xbb\x63\xa9\xa9\x46\x6a\xc5\x08\xe9\x5b\x7f\x19\x79\xb5\xd0\x52\x36\xaf\xf0\xb8\xa0\xde\x6e\xcf\xf7\xd0\x62\xb9\xa3\x09\xe2\xdf\xf5\xdf\x60\x27\xb5\xca\x61\x6d\x60\xae\x23\x09\x8b\x80\x99\xd4\xa1\x01\xb4\x35\xd7\x32\xe6\x5e\x29\x79\x97\x69\x3e\x2e\x72\x43\xfc\xc0\xbe\x67\x13\x9f\x10\x4b\x49\xdb\xed\xd9\x26\x4b\xf2\xa5\x1a\x07\xdf\xda\x0b\x48\x64\x6f\x60\x13\x16\x5e\x8b\x7e\xab\xc6\x43\xe7\x01\x29\x2c\x94\x3c\x8b\xba\x27\x90\x59\xa9\x1c\xd8\xd0\x8c\x4d\x68\x44\x0c\x52\xd7\x3a\xb4\x0f\x1b\x02\xe9\x28\xcd\x8a\x65\xe9\x43\x5b\xaf\x85\xd3\xca\x6b\xc1\x18\xa5\x82\x44\x75\x00\xca\x21\xe2\x09\x64\x16\x1f\x9e\x85\x7e\xe7\x5e\xa2\xec\xb5\x39\xe8\x3b\x25\xcb\x12\xf1\xfd\xd5\xdf\x2c\xe2\xfb\x61\x3a\xa5\x89\x8d\x08\xb0\xf7\x69\x1a\xdb\xa3\xb9\xb3\xb8\xef\xef\xf6\x7e\x19\x9e\x1f\xbd\x39\x3f\x1a\xbc\x1d\xbe\x39\xdf\x7b\x77\x34\x1c\xfc\x78\xfc\x1e\xf4\xc1\x0b\xf2\xfe\xcd\xc9\xde\x0f\x03\xc9\x99\x1a\x3f\x61\xfd\x80\x7f\x5c\x92\xff\xd7\xf6\xcf\x4e\x44\x07\x68\xfc\x73\x47\x2f\xf6\xd3\xe9\xe1\xd1\xf9\xc9\xf1\xe9\x91\xe0\xf1\x5c\x3e\x33\x54\xd8\x3f\x39\x3e\xfd\x51\x70\x5b\x26\xbf\x0d\x05\x8f\x4f\x7f\x3e\x3a\x1f\x10\xb8\x2f\x89\x0f\x31\x7d\x62\x2e\x7c\x3c\x38\xde\x3f\x21\xc5\x37\xbf\x65\xe5\xe9\x43\xec\x76\x8c\x8b\x62\x87\x63\xf2\x8d\xb9\x1a\x13\xde\x5c\x67\xe9\x27\x98\xec\xa7\x71\xc8\x4d\x83\xd0\xe3\x73\x98\x84\x30\xab\xf4\x42\x66\xc5\x9a\x0e\xc7\x63\x1f\x67\xe2\x0c\xde\x64\x30\x9f\x9c\xa7\x77\xf9\xff\x9a\xc3\x39\x54\x6e\xe7\xa4\x42\x6f\xb2\x60\x0a\xf3\xc1\xa7\x68\x36\xc3\xe9\xdc\x7a\x96\x72\x7b\x49\x34\xc5\x16\x8b\xb8\x82\x66\xf8\x44\xd7\x81\x59\x90\x68\x12\x87\xca\xc2\x3b\x8b\x30\x76\x4d\x8f\x9b\x0d\x04\xa8\xa1\x64\x30\x15\x79\xdb\x27\xf8\xd5\xd5\x5c\x62\xff\x68\x02\x47\x9f\xd0\xf7\x7d\xfc\x54\x9d\xa4\xa0\x96\x17\x4e\x4d\xe9\xfd\x45\x5a\x43\x90\xb0\x9e\x16\x26\xb8\xdf\x51\x4f\x9d\x13\x66\xab\x6b\x6e\x56\x74\x00\x4c\x42\x5d\x1a\xd4\x9e\x26\xd3\xf1\x1f\x00\xd7\xd9\x06\x65\xd5\x6d\xf4\x9f\x94\x6d\x4a\x50\xe6\x8d\x5d\x6c\xce\x12\x6f\x93\x86\xbb\x28\x09\xd3\xbb\x2e\xb5\x43\x96\x5f\x37\xa5\xaa\x27\x69\x3a\xeb\x5e\x47\x49\x48\xae\x85\x34\xfe\xd3\xd9\xda\xc0\x21\x11\x82\x75\x09\xc0\x49\x5b\x3f\x45\x33\x46\x98\xd2\xeb\x77\x59\x54\xc0\xfd\xf9\xcd\x0d\xcc\x84\xf4\xd5\x68\xc3\x62\x1f\x15\xed\x36\x78\xdd\xb7\x4c\x8b\x32\x3f\x39\xe2\x3f\x9f\x79\xc0\x99\x92\xdc\x77\xc8\x63\xee\x21\xa1\x91\x1f\xc1\x24\x94\x1b\x6a\x91\x3e\xce\xd1\x6f\x54\x06\x60\xa0\xfa\xf6\x18\x09\xa5\xd6\x47\x59\x7a\x97\x83\x75\xd1\x99\xce\x99\x23\x8e\x81\x36\xd3\x74\xd9\xbb\xea\x2a\x2d\x52\x11\x9b\xaa\x48\x2d\x06\xce\x2c\xfb\x16\x2e\x18\x33\x92\xb9\xf9\x77\x19\x51\x5a\xc1\x6b\xd2\x2a\xdb\x6e\xa5\xa2\xc9\x91\xb1\xc9\xc0\xb8\x83\x70\x53\x83\xd8\xb4\xab\x4e\x3d\xde\x7c\x8c\x0c\x7c\xd4\xa9\x30\x6d\x56\xea\xaf\x63\x5e\xeb\x13\x2d\x2b\x4e\xa9\x3b\x9e\x93\x8e\xc7\x94\x5c\xe6\xb3\x93\x07\x0b\xe2\xd1\x3a\xed\xb3\x5d\xb3\xb4\x6f\xe8\xe7\x10\x3c\x33\x9e\x79\xdd\x32\x26\xca\x03\x65\xe0\x3e\x4b\x2e\x44\x0b\x30\x31\xcb\x9d\x4e\xdf\x01\x49\xcb\xa6\x45\x0d\x30\xf5\x1c\x62\xc2\x5d\x14\x16\x13\xc3\x71\x68\x1a\x2b\xe9\xcc\x1f\xc8\x9e\x31\x33\x30\xcc\xcc\x28\xf3\xbc\x2a\x3b\x6b\xfc\x13\x26\xe1\x3f\x41\x94\x83\x22\x4d\x41\x1c\x64\x63\xd8\x05\xef\xd2\xbc\x00\x71\xf4\x09\xc6\x0f\x20\x00\xd7\x41\x08\x0e\x06\xe7\x9a\xdb\x46\xed\xd9\x88\x46\x1b\x79\x40\xeb\x03\x92\x74\xf0\x60\x4e\x33\x9e\xe1\x38\x1e\x0f\xa0\xad\x02\x7f\x08\xa3\x7c\xb6\xa3\x95\x8f\xa3\xc4\xb0\x76\xa1\xa7\x39\xda\x0d\x36\xb3\xf4\xce\x90\x24\xed\xde\x72\xdb\x6a\x38\x07\x7b\xc0\x2a\xd4\x03\x58\xd7\xdf\x5c\x07\x39\x04\xeb\x46\x42\x5b\xe0\xd9\xb3\x2a\x89\x1a\xd1\xc8\x59\x41\x01\x4d\xa5\x0d\x47\x8f\x79\x9a\xbd\x8d\xc2\x10\x26\x26\x79\xbd\xd7\xd9\x70\x6f\x13\x42\x60\x3f\xd5\x42\x60\xd6\x37\x5d\x15\x11\x03\x83\xa2\xc8\x74\x7c\x21\xbc\xd9\x2b\x8a\x4c\xe7\x37\xcb\x80\xf6\x26\x0b\xc6\x34\xb9\xac\x92\x14\xed\x50\x29\xa1\x9a\xa9\xe0\xf5\xc4\x91\x05\x1c\x47\x8a\x26\xdb\xe4\x32\x11\xae\xa9\x8b\xef\x26\x51\x0c\xb5\xbe\xc4\x49\x1d\x33\x98\x5c\x3e\x5c\xf1\xef\x0e\x63\x36\x9e\x4b\xdb\x30\x74\x0d\x90\xa4\x44\x91\xec\xe3\xa8\x27\xce\x31\xf8\xb9\xe1\x90\xde\xa1\x78\x77\x33\x18\xc3\x20\x87\xc6\xba\x8f\xf6\xb5\x9a\xe6\x0b\xc5\x73\x92\x75\x4d\xc6\xdd\x49\x22\x15\xa1\x51\x76\x19\x5d\x19\x5b\x47\x38\x24\x14\x32\x59\xcb\x93\x42\x43\x36\x09\xb2\xa2\x5b\x86\xa2\x58\x07\x67\x65\x6d\x4b\x6c\x9d\x58\x3b\x38\xea\x0f\x1e\xdb\x56\xd3\x09\xda\x4c\x75\x34\xd8\xe1\xe1\x0a\x4f\xfb\x7d\x3c\x3c\x6c\x50\x51\x41\x3c\x7c\x50\x41\xf3\x00\xaa\x3a\x7a\xe5\x03\xa1\xd2\xe8\x43\x1a\x11\x52\x1a\x7d\xfe\xdd\x7d\xff\xe3\x9b\x79\xdf\x7e\x82\xaf\x8e\x7d\x29\x39\xbf\x4c\xa0\xe3\x2e\x4a\x1b\xdb\x76\x6f\x22\x33\x29\x52\xff\x2c\xc9\x76\x1c\xdc\x57\x21\xbd\x56\x4f\xf0\x69\xc3\x3c\x7e\x83\x11\x3e\x6a\xaa\xef\x49\xc6\x28\xad\x47\x5b\x2d\x91\xd2\x1b\xb3\x88\x58\x81\x1a\xa2\x05\x2a\x6f\xdf\x57\x23\x62\x76\x1c\xab\xee\x3c\x2e\x8b\x68\xfa\x59\xd7\x32\x0f\xbb\xd1\x0b\x89\xb9\x83\x30\x6c\x36\x68\x2a\xa7\xf5\xdb\x28\x84\x69\xd5\x15\xb4\x1b\x14\x1b\x10\xeb\x44\xd7\x70\x01\x5b\xea\xc6\x0e\x9f\xff\x8d\x69\xbc\x36\xf0\x0c\xf4\xee\x37\x6f\x6e\xdc\x84\xe3\xfc\xc5\xa8\x0a\x61\xdc\xee\x2e\x78\xd5\xaa\x51\x33\x0e\xc6\x39\xc3\xb7\xbb\x0b\x36\x2b\x4c\xb9\x51\x07\x91\x3a\xcf\xc8\xb9\x67\x77\xff\xec\xe4\xd0\x67\x68\xe0\x75\xaa\x3c\x5c\xf3\xb6\x41\x73\xf6\xcb\x3d\xea\x98\xf5\xeb\x34\x0e\x7d\x4c\x0c\xaa\x2d\x55\x70\xf3\xc6\xe0\x35\x78\xe9\x4b\xdf\xcd\x18\xb4\xfb\xa0\x82\x6b\xd5\xc8\xdd\x6f\x75\xae\xf3\x93\xed\x05\x66\x25\x23\x0f\xe7\x68\xd7\x8a\xf4\x8c\x2a\x46\xd6\xa5\x14\x1f\xab\xaf\x8a\xca\xeb\x38\x4a\x3e\xad\x9a\x42\x7a\x9a\xef\x43\x23\x1a\x32\x05\x9c\xce\x40\x1f\x5c\x8f\x3d\xec\x43\xd0\xb8\xbc\xf1\x28\x88\x07\x30\x02\xec\xb1\x38\xdc\x80\x26\x6f\xc0\x26\xda\x4e\x81\xff\x2f\x24\x96\xdf\x81\xac\x4a\x16\x26\x78\xc3\xf7\x17\x0a\x03\xbe\x50\x18\x13\x0b\x90\x17\xdf\xf9\xb2\x1f\xcb\xc4\xe6\x8b\x15\xce\x56\x84\x80\x6f\x6b\xf4\xbf\x57\xf4\xba\x65\xbb\xff\x1a\x49\xa5\x27\x5d\xce\xfe\x5e\xa3\x63\x7f\xbc\x3e\x4a\xe3\x34\x5b\x5f\x03\x6d\x70\x3d\x5e\xbe\xdf\x57\x4c\x5f\x49\xdc\xcd\xe2\xc4\xf9\x5a\xdf\x98\xb7\x59\xe5\x96\xd1\x65\x95\x54\xaa\x97\xed\x3e\x58\x7b\x8d\x94\x35\x80\x5b\xd4\xff\x48\x9b\x72\x17\x85\x70\x7d\x34\x09\xb2\x8f\x6b\xbb\x6b\xd8\xe7\x0b\xb4\xc1\xda\xeb\x0d\x54\x74\x77\xcd\x67\xd3\x27\x38\x75\x29\xee\x62\xbb\x60\xeb\xc5\x8b\xc5\x49\x23\x41\x53\x56\x40\x9c\xe5\x54\xbc\x46\x04\xcd\x67\x15\x26\x9d\x52\x63\x1a\xcf\x82\xe9\x6c\xa7\x42\x99\xf7\x0a\x3e\xf3\xba\x1e\xda\xb8\x58\x09\xd6\xaa\x90\x37\x0a\xd6\xf1\xb2\x58\xbd\x6c\x3d\xa9\xb5\xd5\x6b\x2d\x0c\xbf\x27\x95\xc9\x75\x5e\xd9\x27\x1e\xce\x8b\x35\xf1\xba\xac\xef\xaa\x31\xd6\xf2\x74\xd3\x9f\xd0\xf3\x49\x3d\x56\xb6\x1e\xe2\xb8\xee\xae\x7e\x15\x9b\x41\x9d\x8a\x6a\xbc\x5e\xbb\xf4\xc5\x77\xe6\x55\xbb\x71\x9d\xc7\xcb\xed\xba\x3d\x0e\x74\x64\x94\x8e\xf3\x52\x11\xb1\x4a\x95\xd1\x6a\xc1\x7e\xf3\x63\xb9\xf5\x11\x31\xf8\xdd\xfa\xa8\x37\x74\x25\xc8\x69\x54\xa0\x5d\x3b\xbe\x2b\x6b\x74\xc0\x1f\x80\x22\xd9\xb6\x20\xef\x54\xd9\x28\xd0\x2b\x39\xeb\xc5\x1c\xc5\x35\x80\x31\x1c\xd1\x38\xf5\x55\x17\x74\xe6\x53\xf2\x9c\x41\xe0\x0d\xae\x3a\x2c\xaf\x06\xe0\xb8\x4f\x73\xa0\xbb\xec\x5d\x59\x3b\xf6\x29\xb9\x3f\xfc\xfc\x19\x3c\x35\x5c\xc7\xda\x6f\xfe\xb1\x2b\x1e\x8d\x14\x36\x40\x20\xce\xf1\x5d\x14\x86\x76\xb9\x79\x65\xb9\xe9\xd9\x31\xd6\x3f\x4a\x42\x52\x1b\x26\x61\xdd\xba\x07\x48\xd8\x42\x81\x82\x77\x41\x31\xe9\x4e\x83\xfb\xa6\x4a\x5d\x07\xf4\x5a\x2e\x18\x9c\x0a\x02\x21\x4a\x9a\x32\x7d\x9a\x4b\x00\xbb\xc1\x53\x8c\x5f\x2c\x94\x59\x6e\x68\x3f\x7f\x36\x93\xf1\x1a\xf4\xea\x75\xc6\x72\xb7\x46\xdc\x40\xe3\x00\x9b\x22\xe9\x3d\xdb\xef\xdb\x58\xfe\x3d\xed\xf4\xde\x15\xd8\x56\x6d\x3e\xd0\x34\x20\x01\x54\xbb\x4b\x03\x4b\x9b\xff\x3d\x96\x05\x0c\xd2\x79\xdb\xeb\x9c\x56\x49\x4d\xd2\x78\x3e\x9e\xe9\x1c\x6a\xe9\xa6\x0e\xe7\x42\x87\x12\xdf\x52\xb8\x34\x8d\xc2\x30\x86\xe7\xe9\x5d\x7e\x90\xce\xc9\xc5\x99\xa9\x01\xeb\xb6\x26\x4b\x57\xbe\xab\x26\x1f\xb4\xc1\x66\x07\xf4\x34\x51\x45\x4c\xeb\xa8\xa4\xb7\xfc\x04\xf7\xa9\xa5\x8f\x4c\x17\xd2\x84\x65\xd8\x16\x54\x1d\xdc\xcb\xf6\xf4\x2a\xd9\xc5\x06\x74\xaf\xc3\x29\xd6\x0d\xc6\xfc\x66\x64\x8f\xd5\xd4\x61\x04\x62\xa6\x56\x5a\x72\x32\x44\xe8\x28\x8d\x07\x64\xe9\x19\xa5\xf1\x51\x12\x76\x00\x5e\x48\xe7\xf2\x92\x8c\x3a\x91\x3d\x27\x0c\xc7\x57\xba\x38\xc5\x11\x7f\x0c\x36\x77\x94\x99\x03\x72\xac\xca\x84\xc1\x98\xd7\x08\xa3\x5b\xf1\x4c\x85\xad\xf3\x79\xf1\x10\xc3\xee\x04\x46\xe3\x09\xaa\xcd\x71\x7c\xad\xab\x1f\x41\xf6\x0e\x06\xf9\x3c\xe3\xc5\xdb\x60\x6d\x76\xbf\x66\x83\x59\x60\x4b\xbc\x2c\xbd\x5b\x01\xac\x18\xde\x20\xea\x18\x0b\xdd\x10\xc9\x56\xd9\x0d\xd0\x66\x86\xa2\x81\xf9\x1a\x34\x49\x77\x81\x75\x8e\xbe\xa5\x01\xa7\xf6\xe3\x14\x87\xc9\xb4\x9c\x49\x8e\x6a\x5c\x2e\x98\xff\x96\x45\xb8\xe4\x68\x76\xaa\x8a\xed\xaf\xb8\x68\xe0\x93\x46\xda\x8e\xf4\x2e\x81\x19\x5b\x2b\x76\x9e\x94\x52\xe2\x10\x10\xd1\x12\x15\xc6\x92\x26\xdd\x98\xc0\x38\x4e\xc1\x5d\x9a\xc5\x21\xd5\x94\xc5\x80\xa5\x7c\xf0\x40\x96\xf5\x02\x5b\xfa\xa0\x19\x04\xc6\xdd\xf4\xe6\x26\x87\xc5\x07\x7c\xc7\xce\x5f\x4e\xa4\x97\x6f\xb1\x0c\x70\xd4\xa4\x8b\x6e\xd2\xa4\xf8\xc0\xe4\xb2\x81\xef\x02\x04\xe0\x5b\x2e\xe0\x5b\x36\xe0\xe5\xba\x2d\x28\x61\x9c\x6a\xda\x55\x77\x9b\x78\xbe\xbc\xdb\x42\x0b\xfb\x84\xfc\x98\x6c\xed\x3c\x79\xb4\x18\xfe\xf3\x49\xc1\x6c\xfa\xbf\xd5\x5b\xa5\xe9\x3f\x6a\xdf\x70\x08\xef\x0b\x98\x84\x39\xe8\x13\x8d\xb5\xb4\x51\x65\x6f\x5a\xd8\x0c\x5d\x37\x83\xc5\x52\x80\x8b\x0c\x8a\xa0\x88\x70\x4c\x4d\xea\x4d\x80\xbd\x6f\xe8\xac\x76\x76\x03\x3e\x7f\xe6\xd2\xdd\xfc\x03\x0c\x87\x78\xc6\x1b\x0e\xb7\xc1\xe5\x15\x78\x04\x51\x92\x17\x41\x32\x82\xe9\x0d\xd8\xcb\xb2\xe0\x01\x1f\x57\x97\x89\xa6\x3a\xe0\x1a\xcd\x58\x61\x97\xd7\x03\x7d\x70\xbd\x03\x1e\x5b\x22\x5c\xbd\x02\xb7\xce\x98\x81\x28\x41\x8f\xf0\x81\x63\x77\x12\xe4\x67\x77\x09\x77\x74\x98\xb5\x5a\x20\xbc\x9c\x5d\x21\x98\x97\xb3\xab\x1d\x65\xa8\x69\x60\xcb\x39\x40\x6c\x39\x79\xbb\xa3\x53\x33\x1c\x22\x76\x11\x86\x8e\xd2\x24\x2f\xb2\xf9\xa8\x48\xf1\xee\x5a\x9c\x76\xc3\x72\x11\x40\x84\x70\xc3\x73\xf0\x3d\xe3\x28\x19\x60\xcd\xeb\x16\xd8\x06\xcd\xe1\x50\x2e\x5f\xfe\xea\x60\xab\x71\x84\xb5\x5c\x6c\x1e\x5b\x48\xb3\x5b\x81\x9f\xc7\xbb\x74\x8e\xb3\x80\x99\xdc\x3a\x5e\xd1\x32\xfb\x48\x8b\x25\xb9\xca\x0c\xa5\x5e\xd2\x52\x47\xb7\x68\xf7\x3a\x8d\x8a\x02\x66\x56\x4f\x91\x4d\x5a\x98\x2f\x87\xef\xd2\x10\xda\x1d\x4b\xb6\x58\xf9\xc3\xf3\xbd\x1f\x86\x83\x83\xf3\xb3\x93\x93\xe1\xbb\xbd\x5f\x86\x17\x6f\xcf\x8f\x06\x6f\xcf\x4e\x0e\x41\x1f\xbc\xe8\x99\xcb\x0c\xde\x1f\x1d\x1d\xd2\x43\x77\xf5\xfd\xf1\xe9\xc5\xd1\xf9\xcf\x7b\x27\x42\xf5\x83\x93\xa3\xbd\xf3\xe1\xbb\xb3\x9f\x06\x47\xc3\xc3\xb3\x0f\xa7\xc3\x8b\xe3\x77\x47\xa0\x0f\xbe\xe9\x99\x0a\x1c\x0f\x2e\xf6\x4e\x0f\xd0\xfb\x4d\xfa\xfa\xc3\xd9\xf9\xe1\x70\x70\xf4\x7e\xef\x7c\xef\xe2\xec\x7c\x80\x26\x25\xd0\x6c\x5d\x5e\xfd\xf1\xf8\xb1\xb1\xd6\x20\x65\x4e\x8e\x4f\x8f\x86\x87\x7b\x17\x7b\x38\x2a\xed\xf0\xf8\xf4\xf0\xe8\x17\x92\xfb\x43\x7e\xfb\xe1\xf8\xf0\xe2\x2d\x7f\xbd\x45\x5e\x9f\x9e\x9d\x0e\xf7\xcf\x8f\xf6\x7e\x3c\x3e\xfd\x61\x38\x78\xbf\x77\x70\x84\xa1\x80\x3e\x18\x14\x59\x94\x8c\xbb\x37\x59\x3a\x3d\xa0\x87\xae\xcd\xcd\x6f\x7b\x94\x77\x7b\x27\x27\x43\x43\xdd\xf3\xa3\x1f\x30\x74\x24\x5c\xe7\x70\x7c\x74\x3f\x6b\x5a\x30\x74\x40\x63\xdc\x30\x75\x9c\xe4\xc9\x23\xbd\x61\xa3\x4a\x7a\x78\x29\xff\xaa\x48\x8e\xe8\xac\x8a\x98\x2d\x38\x07\xe1\x9f\x1e\xd5\x14\x3f\x21\xea\x22\xf4\xd8\x92\x89\xc7\x73\xa3\xfc\x44\xcc\x0a\x58\xbe\x09\x92\x60\xac\x7a\xe6\x0c\xf3\xf9\xac\x0c\xe5\xc4\x27\xdc\xa6\x5a\xab\x03\x68\x49\x42\x36\x07\xa0\x96\x2b\x1d\x7a\x3a\x60\x78\x8d\xbd\x0f\x3a\x60\x28\x9e\xb1\x74\xc0\x50\xd0\x4b\x54\xab\xe2\x21\x5e\x00\xfa\x14\x5b\x77\x14\xc4\x31\x71\x00\x40\xad\x44\x5f\xca\x19\x6e\xe8\xe3\x26\x44\x0b\x11\x4a\x50\x11\xf2\x4d\x2b\x20\x52\x88\x8a\x89\xbf\xb5\xc2\x02\xfd\xa8\xac\xf0\x53\x2b\x1a\x25\x51\x71\x12\xe5\x05\x4c\x60\x96\x8b\xdb\x5b\xf2\x1e\x26\xc1\x75\x0c\xf5\xe7\xc3\x29\x9a\x68\xa8\xb8\xab\xb3\x4f\x57\x7e\xd0\x34\x25\xe9\xa2\x60\xe2\x20\x2f\xf0\x9c\x79\x98\xde\x25\x17\x11\x36\x17\xef\x69\xa5\x82\x51\x11\xdd\x42\x55\x84\xa4\xdf\x9a\xb7\x2e\x5d\x9d\x86\x65\x9f\x3c\x2a\x02\x4d\x04\x42\xdc\x5b\x48\xcc\x70\xfa\xb5\x30\x31\x90\x7b\x5c\xec\xcb\x8b\x2c\x9a\x32\x58\x12\xa8\x60\x4a\x37\x21\x12\x89\xdd\x61\x9a\xa0\x2a\xec\x35\x5f\x65\x4b\xb8\x53\xc4\xa7\x77\xe9\x2d\x34\x82\x85\xb7\xd0\x0c\xf5\x1d\xab\x46\x8b\xd8\x20\xa3\x1e\x58\x00\x32\xce\x31\xef\x86\xfc\xd3\x6c\x01\xb8\x3f\xcd\x54\xa8\x8f\xea\x8c\xa4\x75\x60\x18\xe5\x48\x5c\xdd\x4e\xa9\xa3\x18\x06\x19\x07\xd2\xd4\xbc\x62\x49\xf7\x21\x6d\xb6\xd9\x28\xb2\x68\xca\x03\x5b\xe8\xfd\xaa\xd5\x15\x47\x25\x55\x7a\xf1\x3a\xce\x2a\x34\x1b\x98\x21\x61\x7a\x97\x70\xb0\x1a\xf3\x5b\xbe\xcd\x25\x83\xb3\xc2\x05\x97\x35\x27\x59\xb2\x35\x41\x18\x7e\xc1\xa6\xe4\xb0\xd8\x67\x53\x60\xd9\x1a\x42\xa3\xad\x4d\x48\xad\x53\x26\x4b\x47\x07\x53\x1a\xcc\x3a\x9e\x9d\xb2\x0e\x58\x9b\x04\x39\x7f\x8f\x14\x3f\x8e\x6d\x0c\x8b\x6d\x0b\xef\x81\x78\x40\xc8\x37\xbe\x78\xd2\x24\x3e\xde\x1c\xe2\x40\x77\x0f\xa2\xc7\x42\xce\x6a\x47\xaa\x37\x4f\xf5\xc9\xb4\x30\x2b\x1a\x02\xdb\x3c\x1a\x0e\x4e\xcb\x63\x4a\xb4\x29\xa3\x87\x4e\x9f\x3f\x97\x47\xd6\xec\xb1\x68\x7c\xfd\xd8\x29\x37\x00\xc9\x7c\x0a\x33\x24\xa4\x44\x4d\x2e\xdf\x8c\xd2\xe4\x26\x1a\xcf\x85\x77\xa4\x93\x5a\x0b\xf7\x12\x3f\x68\xba\x80\xf7\xc5\x7f\x91\x6e\x52\xef\xc9\x74\x3f\x89\x9c\x1e\x39\x1e\xb1\x53\x63\xde\x35\x7d\xde\x35\xe2\x79\xa1\x7e\x09\x86\x9d\x62\x60\x3e\x8f\x0b\x43\xe4\x60\xf2\x42\x8a\x2c\x90\x05\x49\x1e\x07\xcc\x73\xf3\x24\x4a\xe0\x45\x4a\x14\xe6\xa6\x34\xe1\x8c\x61\xd1\x64\xc4\xb4\x3a\xa4\xfb\xb9\x3c\x75\x14\xc2\x55\xf7\x49\xc9\x6d\x80\x37\xa9\x4d\xbd\xfd\x84\x5b\x8f\x4d\xa7\x1f\xc1\x35\xa7\x91\x77\x92\x40\x5d\x64\xb8\x35\x64\x2e\x3f\x48\x88\xca\xf3\x2a\x47\x9b\x4b\x14\xa4\x8d\x96\xfc\xbf\x65\xb1\x6e\x94\x7f\xc8\xf0\x91\xaa\xed\x8e\x95\x30\xfd\x92\xf2\x9e\x3a\x72\xae\x23\xd5\xbc\xdd\xe7\xc4\x2d\x69\xa0\x21\x76\x2c\x03\x69\x20\xdd\xe6\x1e\xc8\x9a\x65\x98\x08\x16\xeb\x0b\x5a\xf7\x0b\x74\x08\x3b\xb2\x96\x6f\xf4\xc4\x46\xfc\x17\xec\x1b\x6c\x93\x9c\x66\xd3\xa0\x28\x60\x78\xce\x46\x37\x05\x3c\x0d\x66\xc2\x06\x0b\x61\x70\x4c\x41\xe8\x75\x37\x83\xb3\x38\x18\xc1\xa6\x6b\xeb\xdb\xc1\xc6\x23\xca\x7c\xd5\xea\xfe\x96\x46\x49\x93\x9e\x78\x74\xa3\xfc\xdd\xe0\x03\xf6\xb0\xce\xc1\xf7\xa0\xf1\x31\xfb\x98\x34\xc0\x36\x68\x7c\xd4\xec\x0f\xd9\x3a\x25\xb7\x61\xb5\x8b\x8c\x43\x1d\x91\x55\x88\x0a\x0d\x8b\xcc\xfb\x55\x6a\x25\xd1\x06\xdf\xa9\x1a\x52\xae\x95\x64\x9e\xb1\xde\xba\x93\x6b\x38\x48\xa4\xc7\x74\x50\x44\xd3\xf3\x68\x3c\x29\x0c\x17\x77\xca\xcd\x48\x79\xbd\x29\xdd\x8c\x08\xb7\x9e\xbd\x1d\xe5\x72\x9c\x5d\x5f\x4a\x15\xf8\x9d\x26\x5e\x7e\x94\xbb\x14\x44\x15\x27\x56\x5c\xf1\xb8\xff\xea\x5e\xf8\xdb\x3c\x2f\xe8\xfd\x9a\xb0\xcc\x1d\xa4\xb1\xa3\x34\x5f\x12\x09\x76\xe1\xe4\xd1\xe0\x93\x86\xc5\xdc\xe1\x2d\x4e\x3c\xc9\x70\xbc\x1b\xea\x45\x26\xcb\xab\xd0\x08\x6c\x9a\x14\x64\x97\xa6\xc3\xa9\x2b\x5d\x19\x50\xca\x0a\x47\x55\x64\x0d\xd7\xee\xb4\xb5\xce\xd9\xed\x83\xc8\x36\x5f\x19\xf9\x67\xca\x89\x6a\xb6\x84\xa4\x1d\xe7\x8d\x81\xf0\xbc\x1a\xbe\xcd\x5d\x19\x2b\x4f\xbc\xe3\x4c\xdd\xf9\xf9\xb3\xd4\x57\x92\xec\x71\xc9\x36\x3a\xfe\xa2\x17\x1f\x26\x51\x01\xf3\x59\x30\x82\xc7\x49\x08\xef\x69\x6f\xd2\xf3\xbe\x1c\x06\xd9\x68\xd2\xdc\xf8\x98\xb7\xbf\xda\x68\xe9\x3d\x65\x84\xf0\xd4\xea\x61\x23\xb7\x85\x5b\x48\x08\x8f\x3b\x46\xa2\x2a\x4d\xb9\x44\xc0\xaf\xfb\xe6\x2e\x5e\x48\xa9\xd4\x22\x94\x89\xcc\x99\x5f\xe7\x64\x81\x35\xe2\xeb\x88\xcd\xf5\x9e\xb9\x4c\x0e\xfd\x51\x7e\x0a\xef\x78\x1d\xbf\x73\x97\x3f\x31\x80\x8a\xb4\x10\x28\x27\x17\xe5\xcc\x2d\x85\x77\x91\x27\xc8\x72\x2d\x3c\x89\x92\x39\x0e\xd7\x68\x6f\x32\x6b\xb6\xb4\xb9\x61\x6a\x90\xf4\x50\x17\x57\xe9\xb5\xc3\xd7\x98\x9c\xf3\x61\xa3\xb1\x04\xde\xf1\x5a\x6c\x53\x2f\x81\xa9\x88\x3a\xe0\xb1\x56\x99\xba\xdc\x1a\x4c\xc7\x27\x92\x84\x6e\xee\x46\xad\xd9\x2a\xf6\x72\xd4\xce\xcd\xb9\x75\x53\x2d\xe0\x9c\x07\x18\xe8\xd5\x5e\x1c\x7b\x29\x0b\x11\x3d\x51\xd8\x8b\xe3\x3d\x7c\xb6\xa9\x25\xf6\x5c\x50\x15\x20\x87\x88\xe6\xf3\x46\x69\x20\x25\x10\x86\x79\x19\xe3\x48\x24\x4e\x39\x88\x94\xa4\x57\xac\x66\x1c\x55\x0a\xc9\xb5\x64\x63\x0c\xc9\x59\x30\x51\x63\x0e\xd2\x34\x0b\x73\xe3\x89\xa1\xd4\x92\x11\x2b\x87\xeb\xa2\xdd\x04\xa9\x49\x4a\x77\x0c\x67\x59\xec\x99\x70\x2e\x6e\x31\xff\x31\x98\x9f\x69\xdb\x3c\x82\xff\xb2\x77\x25\x2e\x7b\xf4\xe1\xa6\xf9\x21\xd2\x11\xdc\xf6\x7a\x74\x62\x21\x35\xbc\x7b\x9f\x31\x10\x1f\xd4\xd1\x3c\xa4\x53\x6a\xc3\x52\xc1\x45\x72\x79\xaf\x73\xf1\x1c\xc6\x01\x12\xd0\x8b\x94\x59\x2e\x58\xd9\xda\x92\x8e\x81\x88\x8f\x17\x69\xdd\x5b\x66\x57\x60\x32\xe7\xfb\x5a\xef\x0d\x6a\xa5\x22\x8b\x1e\xa5\x70\xb7\x4f\x82\x44\xd1\x9f\xaf\xfb\x0a\x16\xb3\x09\xa0\x78\xa9\xf0\x68\x04\x5b\x01\x86\x16\x5b\x57\xd1\x99\xc0\x96\xbc\x64\x8b\x3e\xb7\xb0\x24\xaf\x3a\x60\xdd\x7a\x03\xdb\xea\xd8\x6f\x67\x05\xa9\xa3\x38\x36\xfa\xf6\xd2\x9a\x34\xb1\xb6\x6e\x10\xc2\x82\xeb\x9c\x3e\x69\xb5\x40\x9b\x3c\xcb\xd2\x79\x12\xb2\x72\x5f\x83\xa6\xf9\x12\x78\x1d\x6c\xb6\xea\xcc\x49\x7c\xd7\xe3\x96\x43\xac\x71\xa2\x87\xdd\xeb\x79\x51\xa4\x09\x56\xae\x6a\xd8\x74\x92\xba\xb3\x0c\xff\x3d\x24\x9e\x0f\xfa\x46\x2c\xcc\x82\xb1\x32\x36\xb4\x48\x7b\x39\x1d\x48\x07\x71\x34\xfa\x84\x2d\xb4\xd8\x65\x84\x81\xd8\x7c\x12\xdd\x14\x3f\xc2\x07\xb3\x96\x91\x26\x03\xf4\x1e\x43\xd2\x80\x38\xa3\x69\x95\xc1\x62\x46\x9c\x0c\xbc\x25\x30\xaa\x9b\x1c\x5b\x94\x8c\x63\x68\x46\x07\xcc\x41\x5a\xac\x88\x8c\xbe\x4f\x0c\xd1\x61\x3a\xbf\x5e\x15\xa2\xe7\x2e\x44\x17\x59\x34\xf3\x43\xa4\x5a\x21\x06\x61\x58\x63\xc3\x2d\xcc\xeb\x1e\x52\x6d\x84\xbd\xf0\x9d\xa1\x74\xd5\x22\x99\x93\xd9\x2e\x5e\xa6\xe9\x2d\x94\x2f\x5e\xc4\xab\x41\xf7\x5d\x8e\x17\x82\xf9\x4c\x06\x5f\xde\xe2\x39\x86\xd4\x71\x52\xc0\xec\x36\x88\x2f\xa2\x29\xbe\xa0\xc9\x61\xc1\x1e\x39\x55\xe7\x12\x02\xd6\x9e\x3b\x46\xeb\x12\xff\xce\xb1\x1d\xb6\x54\xa9\x9d\x76\x26\xd9\x2f\xf3\x56\xd7\x11\x76\x1c\x5e\x7d\x81\x4f\xa0\x38\xb7\x9d\x3d\x53\xa3\x07\x4b\x95\xdb\x6b\xaa\x2f\x27\xbb\xea\xb9\x5e\x54\x3a\x73\x49\x39\x37\x4f\xa5\x4a\xc9\x23\xe1\xee\xc5\xa4\x3a\x5a\x66\x5b\xbf\x66\x94\xb3\xa8\xbb\x1d\xf6\x36\x9c\xd0\xc8\xf6\xfa\xea\x62\xdf\x03\x28\xf7\x72\x8b\x5b\x3f\xd8\xc9\xaa\xc7\xb2\x95\x75\x93\xf9\xe2\x89\x1e\xa9\x69\xd7\x01\x76\x94\x97\x9b\x57\xad\x4b\xc7\xeb\xde\xd5\xaa\xce\xd8\x9c\x48\xd4\x88\xf2\x0b\xec\x84\xa5\x15\xb4\xc6\x36\xa7\x66\xef\x91\x7a\xe6\x9e\xf2\x91\xac\x0f\x67\xe7\x87\x3b\x86\xba\x84\x25\x1f\xd2\x2c\xdc\x2b\x18\x92\x85\x86\x9a\xb0\xbc\xff\x7d\xb9\x80\x84\xc7\xce\x85\x93\x28\x81\x9c\x0b\xf2\x3d\x96\x37\x23\x74\x95\xd3\x83\x1b\xc4\xc7\x91\xda\x4d\x35\x71\x34\xe4\xa0\x80\xcd\x56\x0b\x8d\x22\xf4\xb8\xa9\xf2\x41\xa8\xc1\x7c\xc6\x74\x1b\xac\x5d\x8b\xf5\x26\x35\x71\xeb\x0e\xc3\x88\xd8\x23\xbf\xc9\xd2\xe9\x09\xab\xfe\x9e\x06\x7b\x67\xb4\xee\x1a\x4d\x3c\xcd\x7d\x20\xea\x83\xe6\xbd\x9a\xdd\x5e\x4c\x68\x93\x3a\x01\xc6\x2a\x6d\xa0\x0f\x2e\xe9\x36\x21\x18\xc3\x5f\x3a\xa0\xfc\xf1\xab\x16\xcf\xb4\x24\x4a\x89\x5f\xef\xea\x47\x27\x6b\xaa\xbb\x94\x5f\xc5\xf3\x2d\x23\xdf\xab\x59\x9a\x74\xd9\xbb\x02\xeb\x42\x3b\x7e\x69\x75\x40\x65\x9d\x4d\xb9\xce\xaf\xe2\x05\x3c\xd5\xcc\x32\xe1\xca\xcd\x7f\x97\x87\x74\x9f\xea\x56\xa2\x3d\x5a\x94\xce\xf3\x81\x69\x2d\x37\xac\x1f\xdf\x03\xf3\x9c\x7f\x84\xef\x75\x3b\xd6\x8a\x97\x9b\x57\xba\xd5\xc3\x6a\x94\x89\x72\x65\x34\xce\x1f\x7d\xd3\x0c\xa2\xca\xbe\x75\x75\x25\xa4\xf3\xb8\xc6\xb6\x85\xd0\x77\xd5\x22\x6c\xd2\xe3\x95\x78\x05\xec\x74\x43\x34\x1c\x9b\x55\xef\xce\x94\xcd\xa0\x1f\x03\xd1\x42\x64\x9e\x3c\x08\x55\x17\x29\x5d\x8c\x6c\x04\x3b\xdc\xd5\x0c\x67\x02\xb2\x28\x68\x27\x6a\x0e\x79\xd0\x80\xed\xea\x0a\x46\x6d\xa6\x3a\xa3\x70\x3b\x70\x1b\x9c\x62\xbd\x45\xe4\xb1\x5a\x0d\x54\x04\xf5\x5a\x0c\xe7\xee\xb8\x43\xf5\x53\xf8\x08\x70\x8b\xba\x47\x08\xb6\x28\x7b\x24\xed\x55\x90\x5d\x6e\xd5\x55\xf0\x08\xd8\x2a\xf5\x8e\xe1\x7a\x6a\x9c\xc8\x04\x9f\x1b\xf4\x31\x95\x61\x36\x75\xae\xbe\xf0\x01\xb3\x59\x01\x46\x9f\x24\x6c\x47\x1e\xa0\x8e\xb2\x52\x8a\x99\x75\x47\x6d\x97\xc9\x2a\x1f\x7e\x5c\xf4\x30\xca\x67\x96\xfa\x1d\xb2\x4d\x32\xdc\xd0\xfa\x8f\x3f\x57\xff\x23\x1d\xc1\x32\x02\xb5\x1b\x01\x7c\x6c\xaf\x07\x93\xce\xd2\xbb\xfc\x6a\x85\x73\x2d\x22\x49\x77\x51\xc6\xc8\x9d\x68\x96\xbe\x92\xe1\xc6\xd8\x3e\xbb\xe0\x2a\x13\x17\x0f\x7c\xa3\x34\xb9\x85\x59\xf1\x33\xf3\x3d\x4e\xe3\x8b\xf4\x60\x12\x64\xc1\xa8\x80\x19\xbb\xb3\x57\x0d\x84\x89\xb1\x97\xae\xe2\xb3\x09\x87\xd5\xe3\x37\x35\x76\x5b\x10\x5e\x04\xdb\x3c\x54\x99\x82\x94\xe8\x35\x83\x90\x85\xb7\x9d\x9c\x60\xd5\x8a\xc2\x71\x4f\xcf\xeb\xd4\xb9\x29\x22\xab\xa5\xc4\x4e\x33\x0b\xdd\x96\x7b\xa6\x4d\x8f\x1e\x38\xdd\xd3\x60\x4f\x1d\xd8\xd4\xc4\x96\x75\x20\x55\xcb\x2b\x65\xc4\x24\x17\x32\x50\x7c\x47\xcc\xc0\x32\x0c\x3b\x9a\xe4\x9c\xb1\x9b\x9c\x52\x2e\xd6\x85\xba\x4a\x8b\xe1\x4d\xf1\x21\x0a\x21\xf1\x19\xd3\xb6\x32\xa5\x11\x8a\xbd\x0c\x92\x1a\x6c\xde\x82\x90\xef\x51\x03\x5a\x62\x15\x82\x25\xc6\x10\x9f\x89\x46\x52\x11\x1a\x44\xb3\xa8\x98\xe1\xe0\xbb\x1b\x1b\x2c\xc0\x12\x5a\x54\x08\xa0\x80\x97\xf7\x8e\x64\x43\xa5\xe2\xe7\xa5\xda\x15\xd8\x59\x41\x9f\x05\xd8\x30\x87\x2a\x31\x39\x0c\x03\x1e\xa8\x61\x36\x2c\x65\x64\xc3\xd0\x4b\x06\xf4\xaa\xf6\x78\xd6\xa4\xc2\x94\x8c\x30\xb7\x58\x66\xe9\xc6\x3f\x02\x4d\xa4\x09\x4e\x8a\x8c\x17\x38\xba\x10\x9a\x48\x22\xd0\xed\xfd\x00\x5c\xb2\x47\x8d\x71\xa2\x1c\xa1\x40\x13\xcd\x00\xce\x82\x2c\x28\xd2\xcc\x22\xde\xe4\x4a\xd1\x66\xea\x66\xe8\x08\x6c\x74\x5b\xbb\x33\xbc\x3b\xc4\xd5\x29\x3a\x1f\x80\x73\xdc\xb8\x60\xb9\xc7\x54\x1b\x6c\xea\xe3\xca\x93\xb7\xd2\x90\xf3\xe1\x2c\x1d\x11\xed\x0a\xbe\x5a\xe3\x21\xfa\x89\x15\xb0\x8a\x96\x99\xad\xb6\x09\xc1\x0e\xc7\x66\x5b\xc8\x7c\x3c\x04\xa1\x6b\x8b\x93\xfc\xba\x2e\x19\xea\xfc\x4e\x0f\xf4\xf9\xb5\x3e\xe7\xf1\xba\x0c\x55\x5f\x09\xda\xa6\xa9\xbf\x6d\x50\x28\x91\xa6\xa9\x9f\xc5\xa8\x69\xc4\x08\x29\xdb\x8c\x24\x6f\x07\x39\xe9\xd4\xd6\x63\xe9\xbf\x4b\xb3\x50\x38\xbb\xe2\x7b\x62\xdb\xb1\xaf\xf3\xda\xe1\x52\x84\xd6\xcd\x59\x70\x16\xaa\x3e\x68\xa7\x6f\xce\x3b\x15\x09\x94\x68\x0b\xea\xcd\x03\x76\x5c\xf0\x67\x71\x41\xda\x58\x90\x77\x41\x56\x1e\x7a\xfc\x1c\xc4\x73\x98\x9f\x93\x58\xeb\x61\xb3\x05\xbe\x07\x3a\xbb\xc0\x36\x68\x1a\x9e\xb6\x4d\xec\x68\xe9\xbc\xf5\xe0\x8d\x61\x56\x91\x19\x34\x09\x24\x7f\x3c\x2a\x9f\x8a\xb3\x7e\x37\x42\x03\xe1\xec\x86\x16\xdf\x55\x53\x8a\x56\xf7\x0e\x39\x51\xd7\xac\xd7\xfd\x6e\xde\xe8\x6e\x09\x55\xa8\x27\x55\xd6\xc3\x2c\x39\xe2\x85\x4a\xfe\xce\x93\xc7\xa6\x1c\xae\xa1\x2b\xfe\x14\xe3\xcf\x18\x9c\xdd\x75\x68\xe6\xb8\x27\x1a\xd3\x2c\xf1\x4f\x36\xff\x66\xa9\x4f\x65\x67\xf0\x8a\xbc\x9b\x56\xcf\x71\xad\xe3\x3d\xb2\x6f\x5a\x1c\x41\x15\x11\xc4\x02\xb1\x98\xeb\x87\x26\x76\x86\x83\x66\xe7\x3d\x28\x2e\xe1\x7b\x11\xec\xbe\x5e\xf6\xf4\x6f\x95\x5b\xdb\x01\x6b\x06\xd3\xd8\x3a\xde\x93\xfc\xd8\x45\x6b\x85\xc3\x04\x1d\x8d\x4e\x55\xe1\xd6\x55\xdd\xa7\x3a\xff\x3e\x7f\x06\x4f\x0d\xbc\x70\xa0\x32\x94\x76\xe1\x15\x6b\x55\x4c\xcf\x3a\x75\xdb\x6e\x6c\x7f\x86\x63\x6c\x45\xf7\x1e\x25\xe1\x97\xef\x5c\xc3\x2c\xaa\x1f\x5d\xe1\xdc\x66\xc6\x73\x33\xac\xd9\xd7\x94\x8d\x2a\x29\xa8\x8a\xfd\x6a\x17\xb7\x4a\x49\xa8\xe4\x84\x66\x3b\xc0\x9a\x6d\x1a\xcf\xaa\xd1\x3d\xbb\xea\xa9\x64\x88\x15\xa2\x4d\xf3\xd7\x5a\xcb\x9c\x86\xcd\x04\xd8\x1d\x22\x49\x53\xf9\x75\xe5\xf2\x6d\x26\xc7\xdf\x2d\xd3\x63\x8d\x11\x3a\x33\xec\xe3\x59\x84\xb4\xda\x51\x69\x5d\x4c\xec\x82\xe3\xce\x9a\x2b\x1a\xea\xd8\xa6\x13\xc5\xfd\xdc\xdc\x3a\xc9\x8f\x7f\xf3\x8a\x64\x10\x45\x5f\x3e\x7f\x16\xbc\x77\x05\x5f\xf1\x67\xcf\x4a\xa7\xff\x5d\xd9\x6f\x56\x53\xde\x94\xc6\x7a\xf9\x1e\x58\x64\xd5\x78\x27\xa0\x09\x21\x58\xef\x03\x02\xd2\x79\x49\x25\x5d\xfa\x39\x01\x53\xb1\xaf\x0f\x96\x87\x80\xd3\x6f\xc2\xcc\xf7\x6d\x76\xf7\x50\x51\x4c\x25\x17\x10\x17\x09\x44\xe1\xd0\x88\xe0\x8c\xb2\x91\xa1\x97\xb4\xdc\xf8\xe9\x81\x22\x6c\x3a\x30\x92\x02\x35\xcc\xa2\xa6\xf3\xa9\xc5\xab\x54\x5c\x2c\x5a\x16\x05\x77\xeb\x6f\xa6\xe0\xb2\x83\xe8\x0a\xd5\x96\x15\x6b\x96\x01\xa8\x78\xc0\x57\x1e\x88\x9b\x5c\x5b\x65\x30\xe8\x00\x8f\x20\x54\x85\x6e\x49\x2c\xa8\xc5\x16\xad\x58\x41\x2a\xc6\x9d\x15\xe3\x69\x96\x22\xc3\x69\x02\x7d\x81\x40\x55\xd7\x96\x42\x4e\x19\x23\x4e\x91\x72\xc4\x58\xe7\x3c\xbd\xe3\x4e\x21\xaa\x7d\x64\x1c\xe4\xc5\x39\x1c\xa5\x59\x08\x43\x7a\x5f\x60\x33\xa5\x14\x8b\x32\xfe\x5a\xe1\x96\xe1\x3a\x93\x66\x83\x34\x84\x3b\xb9\x3d\x24\xa3\x01\x6f\x9a\x39\xad\xb7\x0e\x23\x83\x79\xf4\x2f\x58\x1b\x86\xc2\x6e\x83\xfd\xb5\x4c\x5c\x9a\x10\xb0\x66\x90\x39\x31\xf4\x4a\xe7\x85\xcb\xc0\x5a\x26\x8e\xda\x58\xf7\xa4\x1d\x11\xe3\x5f\x85\x7f\xa6\x71\x32\x37\x44\x98\x35\x5c\xba\xd2\xfc\xbb\xa4\x83\x0e\x26\x41\x32\x86\x7c\xf9\x32\x40\xe0\x17\xdb\xaa\xcc\xe8\x27\xf5\x2a\x54\xeb\x75\xaf\x41\xfc\x2c\xe8\x75\x3d\xc3\xd8\x79\x34\x60\x6e\x94\xc0\x2a\x80\xa0\x0d\x1a\xb3\x7b\x43\xe6\x03\x59\xb0\x24\xfb\xf0\x25\xa1\xeb\x41\x21\x6e\xa5\x41\xa2\xf4\x81\x63\x34\xf1\xbe\x90\x54\xf5\xea\x8e\x10\x83\xb5\xfb\xf5\x90\x73\x48\x57\x91\x50\xd1\x4d\x93\x2a\x26\x7e\x6d\xc0\xe0\xd9\x6f\x86\x40\xd7\x26\xa4\x2e\xc2\x2a\x6f\xf2\xcb\xd9\x57\x85\x6d\x1d\x86\x5f\xbb\xe7\xd4\x96\xd6\x3a\xc9\x34\xc0\x30\x27\xc8\x33\x49\xf5\xd4\x60\x9d\xcd\x75\x91\x22\x59\xb5\x1d\x89\x1e\x1c\x2b\x83\x1d\x92\xc1\x6c\xd7\x6a\x11\x01\x34\x8b\xaa\xda\x63\xa2\x9e\x57\x2c\xa8\x70\xfd\xaa\x33\x2d\x5a\x87\x94\x01\x3b\x70\x5d\x94\xe0\xde\xbd\xc0\xf1\xc4\xe5\xf6\x11\x6b\x97\xaf\xab\x66\x65\x4e\xbd\x26\xec\x1c\x32\x6a\x04\xff\x65\x64\x99\xbd\xae\x50\xd3\x5f\x6c\xd9\x22\xaa\xd8\xb1\xe8\x6e\xd1\x77\x42\x46\x0b\xe2\x0d\x59\x41\xce\x86\xa5\x37\xe4\x9d\x5a\x18\xdd\xdc\x90\x70\x99\x24\xa3\x81\x81\xb1\x36\x55\x43\x30\x88\x42\x50\x24\x07\x64\x57\x83\x3f\x4c\x20\x74\xb5\x97\x78\x30\x76\x43\x18\x17\xc1\xaf\xe6\x3b\x53\x77\xfe\x8c\xe9\x3c\x2e\xa2\x59\x1c\xe1\x63\xec\xcd\x1d\x23\x60\x6e\xcc\x89\xa9\xc1\x7a\x4e\xf7\xf0\xec\xdd\xf0\xf0\xe8\xe4\x62\x6f\x68\x32\x8a\x95\xa0\x56\x48\x9a\x61\xd4\xfa\x21\x7e\xbf\xf7\xc3\x02\x88\x8d\xeb\x83\xd5\xaa\xd4\x2e\x32\xed\x3e\x28\x19\xff\xb5\x80\xb8\x84\x05\x6f\x2d\x8e\xac\x52\x32\x1e\x63\xbf\x5f\xa4\xf3\xd1\x84\x9d\x48\xdb\x3a\x9f\x4f\x6e\xb8\xf4\xaf\x00\x53\x54\xa0\xef\x30\xbf\xec\x5d\x11\xab\xf0\x5a\x18\x0d\x96\xdf\xea\xe8\x62\xa2\xa6\x61\x5f\xb7\x63\xaf\x49\x2c\x93\xbf\xc5\xa4\xba\xba\xdf\x08\xdc\xba\xfd\x44\x75\x71\xc6\x3c\x75\xbb\x2c\xec\x20\xcb\x22\xe6\x2d\x32\xe7\xbf\x65\x73\xfc\x7c\xa9\xcd\x31\x1e\xd5\x01\x9a\x62\xff\x78\xf2\x8f\xb5\xee\x46\x50\x14\xc1\x68\x42\xff\xac\x6d\x83\x6f\x3a\xfa\xe3\xee\x6f\xb9\xf6\x06\x81\x0e\xc6\xb0\xfb\x5b\x9e\x26\x6b\xdb\x60\x8b\xbe\xbd\x89\x0a\xf4\x6f\x6d\x1b\xbc\x90\x1e\x10\x10\xc2\x33\xb5\x3e\x7b\x35\x8f\xe3\x7c\x94\x41\x98\x08\x5f\xd7\xb6\xc1\xb7\x8e\xd7\xdd\x51\x8e\x80\x6f\x39\xcb\x60\xfc\x7a\x09\x95\x8c\xef\x48\x09\x3a\xfc\xc3\x54\x2b\xf0\x52\x2d\xc0\xbf\xad\x6d\x03\xad\x36\xff\x46\xf0\x7f\xf7\xe4\x51\xc8\x45\x41\x3b\x08\x69\x93\xf0\xbe\x68\x66\xf0\x77\xd4\x43\xff\x60\xbb\x3a\x43\x74\x77\xb9\xc6\x39\xcc\xd3\xf8\x16\xe2\x8a\xad\x1d\x07\x68\xb1\x20\xc2\x80\xad\x21\xd1\x9e\x60\x1a\xcc\x2e\x33\xf8\xfb\xd5\xce\x93\x7f\x44\x37\xcd\xa7\xcd\x28\x24\xb6\x24\x60\x63\x83\x64\xca\xc0\xd6\x93\xc9\x7c\x7a\x0d\x33\x90\x66\x80\xc4\x07\x7a\xf2\x8f\x7f\x14\x93\x2c\xbd\xc3\x91\xa1\x8f\xb2\x2c\xcd\x9a\x6b\x07\x41\x92\xa4\x05\xb8\x89\x92\x10\x10\x59\x04\x8d\x35\xd0\x06\x19\xfc\x1d\xb4\xc1\x5a\xa3\xbb\xd6\xda\xe1\x4d\x8b\x42\x4c\xad\x4c\x64\xf7\x13\x7c\x90\xbc\x77\xe5\xd7\x3f\xc2\x87\xbc\x29\xf2\x87\x1e\xeb\xa0\x5a\xcd\x69\x30\x6b\x99\x40\x66\xa4\xe1\xa0\x6f\x66\xc8\xce\x13\x42\x6a\x97\x8e\x1a\xad\x9c\x06\x10\x73\x6d\xeb\xf9\x8e\x3a\x26\xbf\xf1\x18\x93\x78\xf8\x69\x08\xff\x58\x4b\x82\x29\x5c\xdb\x26\x59\x3b\xbb\x74\x1c\x76\xd6\xa6\x41\x94\xac\x6d\xaf\x95\x03\xb0\xb3\x36\xcb\xa2\xdb\xa0\x80\x6b\xdb\x48\x3b\x78\x54\x49\x78\xb1\x2a\x12\xd0\xf0\xe5\xf8\xe9\xd0\xad\x42\xfe\xad\x2f\x72\x4d\x70\xc8\xc9\x1b\x98\x05\x59\x0e\xc1\x4d\x10\xc5\x30\xdc\x06\x1b\x93\x74\x0a\x37\x1e\xe6\x61\x10\x6d\x04\xd9\x68\x12\xdd\xc2\x8d\x59\x96\x86\xf3\x51\x91\x6f\x6c\xf5\x36\x5f\x6c\x8c\xd3\xa2\x78\xd8\xc8\xb3\xd1\xc6\x38\x2a\x26\xf3\xeb\xee\x28\x9d\xd2\x0a\xe4\xd5\x6f\xf9\x46\x92\x86\x70\x48\x88\xc8\x37\x70\xdb\x36\xe2\xe8\x7a\x23\x08\xc3\x34\xc9\xed\x53\x09\xf8\x29\x81\xf7\x33\x38\x2a\x60\x08\x8a\xf4\x13\x4c\x40\x73\x73\xbb\xd7\xfa\x98\xfc\x9a\xce\xc1\x34\x78\xc0\x81\x75\x40\x90\x80\x60\x36\xcb\xd2\x59\x16\x05\x05\x04\x71\x1a\x84\x30\x03\x45\x0a\x26\x41\x12\xc6\x10\xaf\x33\xe0\x26\x42\xdf\xd0\x0a\xfa\x31\xf9\x0c\xba\x94\xbf\x1c\x1b\xf8\x03\x3d\x46\x9f\x19\xb5\xec\xd8\x06\x37\xd1\x3d\x0c\x77\xd8\xf3\x22\x9d\x6d\x83\xde\x0e\x1a\x3c\x0a\xc7\xbf\x5b\x59\x77\x97\xd3\x6c\xd9\xeb\xd2\xbc\x59\xd5\xf9\x2f\x57\x45\x4a\x39\x95\x72\x4a\xa4\x09\xb4\x8a\x90\x57\x7f\xa3\x63\x63\x3e\x8d\xcd\x32\x38\x0b\x32\x1c\xe2\xf3\x4d\x9a\x5d\x50\xbd\xb2\x89\xa6\x93\x0e\x10\xc2\x65\x32\x15\x06\x27\xe9\xd4\x1f\x0b\x3a\x06\x9d\xda\x48\xc0\xce\x8d\x8f\xd9\xf7\x1f\x93\x8d\x71\x07\x34\x3e\x66\x0d\xe9\xb8\x4f\x28\xbe\xf3\xe4\x91\xab\x22\x66\x82\x40\xdf\x42\xa9\x98\x3c\x29\x9d\x3d\xbc\xc5\xe2\x9d\x35\xe1\x6d\x07\x1f\x3f\x77\xca\xc8\x65\xd4\x6a\x45\x6c\x08\xee\xd6\x6b\x21\x36\xe8\xb1\xa4\x93\xd3\x38\x6c\xa3\x38\x9a\x5d\xa7\x41\x16\x1e\x06\x45\xd0\xcd\x61\x81\xfe\x36\x1b\x88\x90\x86\x0e\xdf\x18\xaf\x8c\xb4\x58\xd9\x67\xc3\x5b\x1b\x68\xc4\x93\x8d\x59\x1c\x44\x49\x4d\x04\x26\x5d\xb0\x64\xad\xc0\x20\x6c\x77\xcc\x7f\x89\xf2\x10\xe4\x05\x54\xb9\xc8\x98\x02\x6f\xbb\x79\x91\xce\x90\xb8\x05\xe3\x40\xbc\x47\x22\xc1\x96\xee\x85\xdc\x53\x68\x43\x19\x14\xa3\xc9\x7b\x04\x50\x52\xcb\x51\x39\x69\x27\x40\x42\xca\x39\x25\x51\xeb\x29\x26\x7f\x82\x8e\x8e\x8a\x4c\x28\xe5\x85\x1c\x2b\x8e\x8e\xdf\xfb\x22\xc8\x60\xd0\xc5\x83\x41\x89\xf5\x89\x4b\x90\x50\x6e\x98\x05\x8d\x0e\x50\x60\x70\x79\xcd\xa6\xdd\x51\x90\x8c\x60\x8c\x36\x18\x92\xae\xed\x21\x53\xa8\x88\x49\xae\xb4\x23\x08\xc2\x14\xa3\x08\x8e\x25\x11\x54\x0e\x55\x24\xbe\xab\x7c\x78\xb4\x4b\x23\xdd\xba\xfa\x10\xa5\x09\xee\xd8\x20\xb8\x8b\x90\x25\xcc\x02\x82\x18\x22\xd9\x10\x7e\x0a\xc2\x3a\x4d\x6f\xb1\xbc\xec\x65\x30\xf8\x29\x09\x61\x46\x1c\xd8\xe7\x59\x9e\x32\xe1\x25\x5d\xce\x1a\xc2\x45\x80\x9c\x5e\xce\x4a\x9b\xca\x06\x5e\xd9\x78\xb2\x33\xa9\x18\x4b\x1e\xd7\xd8\xea\xf1\x93\x4a\xa5\x08\x3f\x07\x75\x94\xa1\x49\xed\x28\x97\x61\x52\xfc\x02\xd6\xc1\x66\x4f\x3e\x01\x55\xea\x90\xa4\x7a\x65\x95\x5f\xab\xab\xfc\x8b\x79\x95\x34\x36\x7b\xbd\x9e\x5a\xe6\x26\x1d\xcd\xb9\x3f\x94\xed\xea\x46\x1a\x9a\x66\x7e\x29\x66\x64\x66\x86\x39\x0b\x71\x96\x39\x4b\x51\xa6\x39\xcb\x10\x26\x39\x8b\x70\xa6\x08\xd1\x64\x3a\xe0\x1b\x69\x7a\x74\x49\x13\xda\x8d\x38\x5e\x0b\x32\x89\xcd\xac\x71\x0c\x05\x79\x16\x25\xe4\xd8\xd7\x23\x7f\x59\x56\x7a\x94\xcd\x66\xee\x75\x42\x15\x15\xfc\x4e\x5e\x1e\x34\xca\x41\x5f\x6f\x8d\xed\x58\xe0\x80\x4d\x08\x96\x73\x81\xe7\xff\xce\x8a\xf7\xef\xac\x78\x7f\x59\x56\x3c\xc9\x38\xfa\xb7\xbc\x32\x9d\xdd\x81\x64\x4c\xe0\x91\x0d\xec\x40\x8c\xe4\x69\x4e\x04\x26\x14\xe1\x59\x67\x3b\x80\x24\x69\x37\x64\xc5\x5f\x2c\xd7\x97\x90\x1c\x34\x94\xd2\x81\x0a\x65\x24\x94\x78\x71\x15\x7e\x6b\xfa\x8e\x96\xbf\xca\xdc\x1d\x42\xeb\x24\xf3\x4f\xbc\x14\xd4\x31\xf9\x14\x0d\xe6\x86\x77\x65\xa2\x4f\xf0\x45\x0d\x58\x6d\xe4\x93\x45\x6a\x61\xfa\xd5\x6b\xd5\x55\x34\xc0\x48\x6a\x77\xca\xa5\xb5\x6e\xfc\x3f\x21\x76\x35\x05\x62\x90\x46\x50\xfa\x2f\x48\x65\xb8\xcf\x82\x4f\x96\x59\x17\x20\x83\x46\x16\x5c\xe7\x69\x3c\x2f\x60\xc3\xbb\x36\x51\x04\x1a\x3d\xff\x1a\x54\xbd\x68\xac\xbf\x7a\xf5\xea\x15\x9c\xfa\x54\x44\x6b\x28\x3e\x70\xc3\xad\x6f\x7c\xf0\x42\x06\x8b\xbd\xa2\xc8\xa2\xeb\x79\x01\x9b\x8d\x20\x8b\x82\xf5\x49\x14\x86\x10\xed\xef\x1a\xa8\x87\xcd\x2c\x92\x46\xa6\x21\x71\xb6\xd2\x5f\x32\x08\x3f\xbb\x9c\x61\x98\xb2\x49\x49\xb6\xc9\x01\x55\x57\xc4\x7a\x75\x55\x9f\x77\xc9\x6b\x59\xd1\x29\xb2\x63\x98\x4e\x61\x91\x3d\x94\xb1\x79\x64\xc6\x8e\x61\xb1\x9f\xce\x93\x30\x4a\xc6\x07\x58\x41\x3e\xa7\x6a\x8d\x28\xdd\x0c\x08\xd3\x4b\xfb\x7d\xd0\x43\x33\x28\x7f\xce\x54\xd1\x7a\x77\x35\x65\xc0\x07\x02\xf7\x69\xbf\x0f\x14\x54\x3c\x5e\x95\x70\x75\xae\x60\x35\x8f\x32\xa6\x41\xcb\xf0\x4c\x32\xc2\xd5\x68\x05\xae\xa1\x2c\xd9\xde\x8e\x26\x41\x96\x47\xff\x82\x23\x62\x07\xd3\xb0\xf5\x1b\x15\x93\x03\xd1\x92\x4e\x71\x33\x42\x2b\xa9\xd5\xd3\x48\x5e\x43\x25\x30\x16\x15\x52\x10\x14\x8b\x12\xb9\x52\xd7\xa2\x7f\x2b\x91\xff\x56\x22\x17\x56\x22\x2b\x35\xc8\x28\x1b\xcd\xe3\x20\x3b\x89\xf2\xc2\x53\x85\x14\x6a\x58\x75\x48\xa1\x4c\x73\x1a\xdc\xeb\x1e\x16\x8b\xa9\x8d\x01\x16\x3c\x92\x4c\x15\x0b\xa1\x00\x5c\x2b\x2c\x85\xae\xd0\x73\xa5\xc6\x06\x5b\xd9\x9a\xba\xa4\xd0\x4a\x49\x1b\xe3\x44\x2d\xac\x90\xe1\x86\x6a\x76\x59\x82\x5a\x96\xcb\xc0\x12\x78\xf7\xce\xc4\x66\x50\x9a\xeb\xec\x69\xbc\x93\x2a\xc9\xf3\xb0\x29\xf5\x0f\xf7\xe6\x16\xeb\x51\xd3\x5b\x6a\x8b\x66\x4d\x32\xc7\xf0\x5f\x46\x65\xd8\x2e\xdc\x46\xea\x04\x35\x86\xc5\xc1\xc3\x28\x8e\x46\x24\x2c\x49\xd4\xaa\x8e\xd6\x23\x0a\x03\x86\x6d\x5a\x75\x6c\x32\xf0\x05\x35\x74\x9b\x50\xc4\xcb\x49\x44\x2d\x59\x30\x0b\x02\xc9\x4b\x41\x5f\x82\x5d\x09\xb0\xa9\xd3\x24\x21\x90\xa8\xc0\xf2\xc0\x41\x59\x7b\x5d\xe9\x2b\xd2\xf9\xf3\x84\x70\x2c\xd4\x0d\x45\x5d\x0e\x4a\xca\xa0\x2d\x91\xff\x95\x7d\x7a\x93\x66\x47\xf8\xa2\xd9\xbf\x53\xed\x1b\x1c\x60\x5a\xcf\xd0\xa4\x78\x1d\x8c\x3e\xdd\x68\xe9\x6e\x18\xb0\x48\x0f\x57\x08\xd4\x40\x0c\x43\x61\x90\xea\x45\xcb\x7e\xc6\xcb\x05\x1a\xee\x43\x1c\x4f\x83\xf5\xee\x70\xd3\xde\xbf\x25\x81\x4d\x82\x05\x67\x8c\x1c\x6e\xb6\x3a\xa8\x5e\x75\x3a\xbe\x15\x6f\x3a\x8d\x3d\x85\x68\x92\x73\x27\x91\x48\x41\xfa\x9d\x60\xe5\xc4\x84\x2b\xca\x61\x02\x2c\x38\x73\x13\xce\x0e\x59\xb1\x75\x2f\xed\x6a\x9c\xa0\x4f\xea\xfa\xe0\x9e\xcd\x15\x67\x84\xfa\x58\xa5\xc9\x41\x41\x0e\xa4\x5d\x05\x93\x32\x66\x6e\x6b\x5c\xef\x81\x61\x4a\x56\x03\x92\x94\x20\xc5\x69\xbb\x12\xac\x09\x74\x55\x08\x4f\x61\x9f\x41\x93\x3d\x6f\xd6\xdb\x4f\x92\x46\x8b\x2d\x78\xf4\xe9\x97\x74\x66\xdd\x46\xfa\x8a\xa0\x88\x7f\x7d\x1d\xc7\x03\xf2\x93\xc7\x59\x1c\x8d\xe4\x5d\x2c\x0d\x2d\x12\xc2\x18\x16\xf0\xc0\x94\xfd\x28\x2a\xe0\x34\x57\xf2\xdd\xf2\xe9\x62\x88\xa6\x9e\xad\x1d\xf4\xf7\x35\x08\xb2\x31\x3e\x58\xe1\xd3\x0c\x18\x1a\x56\x05\x0c\xef\x72\x18\x81\x75\xb0\x85\x84\x8a\xd7\xba\x1c\x8a\x81\xe1\xe4\xcd\xab\x85\x3e\x60\xcc\x7f\x4b\xd6\x26\x49\x32\xd7\xc5\x16\x5a\x17\x2b\x1f\xa5\xc4\x4b\x77\x01\x6d\x89\xa3\x1e\x9a\x0c\xa3\xb3\x2f\x11\x6a\xe1\x06\xe9\x92\x67\xcf\x08\x2f\x2d\x5e\x00\xd6\xa5\x9b\xa6\x02\x06\xbb\x25\xbb\xd6\xd7\x17\x63\x07\x68\xcb\x24\xac\x42\xb3\x33\xe9\x9d\x22\x92\xc5\x7b\x8f\x45\x80\x21\xbd\x48\xe4\x50\x8d\x45\x68\xf1\x16\x67\xac\x93\xdb\xcb\x14\x28\xe7\xbc\x44\x42\xb1\xcf\x93\xe2\x22\xa5\x3e\xbf\x2e\x90\x2d\x66\xef\xce\x61\xea\xcb\xa7\x36\xd3\xb5\xfb\x22\x06\x5b\x85\x58\xf2\xff\xa8\x82\x2f\xcd\x8c\x02\xf4\xea\xcc\x35\xb6\x9e\x61\xed\xed\xcb\xdd\x69\x01\xe7\x33\x97\x22\xea\x74\xe3\xed\x91\xc9\x8f\x7a\x44\xa3\x9b\xba\x14\xde\x91\x14\xce\x58\xd3\xb6\x9f\x54\xf2\x5f\xb1\xc2\x16\x06\xb5\xe9\xb5\xce\xe1\x96\xd7\x24\x3e\x89\x6e\xd8\x41\x6b\x6e\x9a\xcb\x47\x24\xf0\x2b\x4d\x57\x65\xe4\xc3\xeb\xda\xa7\x87\x64\xec\xbc\x26\xa7\x91\xe4\xc7\x6e\xdf\xc9\x4d\xd5\x40\xb1\x41\x6a\xb1\xe9\x1e\xa4\xf3\x02\xa4\x37\x20\x0b\x92\x31\xd4\x4f\xf6\x64\xbc\x6d\x9e\xc2\xcc\xe4\xab\xad\xe0\xa1\x16\xb4\x98\x4f\x00\x32\x46\x45\x09\x88\xa3\xbc\x00\xd7\xf0\x21\x4d\x42\x80\x35\x2a\xd0\xb3\x23\xe6\xb9\xce\x34\x84\xd2\x04\x45\xf8\x59\xce\xa8\x3d\xf7\x6c\x9a\xb3\x4c\xef\x68\xd8\xf3\x66\xd1\x1d\xf4\x58\x7c\xa9\xa6\x79\xd7\xfd\x13\xe1\xfd\x2c\x48\x42\x24\x1d\xfb\x68\x0f\xcc\xab\x8e\x68\xc0\x34\x26\x00\xeb\x16\x81\x66\x2d\x95\xe0\x38\xe3\xff\x96\x23\x58\xac\xa3\x4f\x20\x34\x36\x9f\x54\xc9\x67\xaa\x54\x31\x99\xa2\x03\x02\x0f\x2d\x52\x2a\x67\x55\xf1\xcc\x9c\xf5\x8c\x9e\x69\x5a\xa5\x46\xd5\xca\xc5\x2a\xfa\xdf\x67\x66\x54\x96\x3e\xaf\x9d\x8f\xae\x78\xb7\x01\x2d\xfb\x1f\xc6\x35\x43\x39\x7d\x17\x28\xa9\x11\xe5\x4b\x39\x7d\x94\xa1\x58\x4e\xdf\xc5\x36\x5b\x8e\xdf\xff\x6e\x81\x0f\x0e\xd3\x29\x9d\xb3\x09\xb0\xf7\x69\x5a\x15\xdf\xcb\x54\xa5\x89\x7a\x57\xdb\xc4\xd1\xd3\x65\xf4\x47\x5d\x82\x1c\xaf\x66\x84\x84\x4b\x2d\xee\x5b\x94\xfc\x94\xa3\x4a\x7f\x3c\x8a\x07\xa0\x26\x72\xc4\xf0\x2d\x23\xcc\x40\xe7\x15\x19\x54\x2f\xee\x4b\xfd\x0a\x11\xd3\x15\xb6\x91\xda\x2c\x04\x95\x5b\x5c\x72\xcc\x7e\x0a\xef\xbc\x1d\x45\x55\x08\x18\xe5\x2c\x9d\x99\x01\x08\xac\xb8\x84\xe5\x15\x5e\x79\x37\x6a\xe4\xc7\xd9\xfe\x7f\x1e\x1d\x5c\x0c\x8f\x0f\x87\x7b\x17\x17\xe7\xc7\xfb\x3f\x5d\x1c\x61\x65\x53\x6b\x39\x1d\x34\xd2\x73\xca\xee\x0a\x46\x67\x30\x86\x41\xae\xb8\x8f\xe9\xd7\xe0\xc2\x5d\xf9\x4a\x1a\x51\xbd\xec\xa6\xf3\x38\x04\x68\xe5\x65\x14\x06\xbc\x7d\xf8\xf1\x03\x2c\x00\x95\x12\xc3\x55\x1e\xfa\x90\xad\xcf\x2a\x59\xaf\x8a\xf6\x28\x86\x41\xc2\xb3\xb3\x6a\x97\xd1\xa2\x60\xcc\xf3\x89\x52\xc2\xaf\x7f\x4a\xc9\xf4\x19\x0b\x82\xf5\x8b\x62\x8f\x50\x8e\x5f\xc5\x3d\x16\xbb\xce\x18\x89\x18\xa6\xf8\xbb\x16\x50\x16\x9a\xee\xf6\x7d\x99\xd8\x01\x51\xd8\x2d\x58\x04\xf2\xcd\x9e\x21\xfd\xcd\x02\x52\x2c\xf5\x44\x95\x2c\x33\xfa\x47\x71\x90\xe7\xa7\x24\xbd\xb5\x68\x11\xcd\xde\x47\x49\x02\xb3\xb7\x17\xef\x4e\x84\xf7\xf2\x22\x65\xa2\x8a\x79\x18\xfa\x32\x04\x01\x0f\x83\x22\x58\x4f\xaf\x7f\x5b\x8f\xc2\x86\xa5\xa6\xd8\x19\xe4\x2c\x8a\x2d\x79\x96\xb5\xc0\x4c\x9b\x79\x09\x34\x62\xb4\x2c\x85\xcb\xb9\x39\x7e\x21\x67\x8e\x11\x89\xfc\x90\x37\x83\x2c\xeb\x00\xc8\x83\x56\xd2\x7e\x0a\xb2\x8c\x07\x46\x45\x2f\x49\x58\x54\xd1\x3f\x80\x54\xc7\x1a\x38\xf9\xba\xf3\xc4\xc6\xac\x1f\x60\x02\xb3\x68\x64\xe3\xcf\xe2\x2e\x67\x93\x02\x66\x53\xd5\xa1\xe8\xf9\xe2\xfe\x63\x71\x74\x2d\x40\xc3\x5f\xf0\xf7\xab\xd6\x8e\xb9\x65\xd7\xf3\x24\x8c\x99\x09\xc2\xff\x0b\x00\x00\xff\xff\x45\xd0\x32\x65\x5a\x47\x03\x00") +var _staticJsBundleJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x59\x73\x23\x49\xd2\x20\xf6\x3c\xfc\x15\x5e\xec\xdd\x06\x50\x04\x41\x00\x3c\xaa\x8a\x2c\x74\x7d\x28\x1e\xdd\xf5\x4d\x5d\x4b\xb2\xa7\x67\x96\xcd\x8f\x13\xc8\x0c\x00\x59\x95\xc8\xc0\x64\x26\x48\x62\xba\x38\x4f\x92\xcc\xf4\xa8\x17\x99\x1e\xd6\x4c\xd7\x4a\xdf\xae\x4c\x26\x5b\xc9\xd6\xd6\x24\xd3\x4a\x32\x9b\xfe\x63\xb2\xf0\xb8\x33\x23\x01\xb0\x8e\x99\xfe\x6c\x07\xd5\x5d\x05\xc4\xe1\xe1\xe1\xe1\xee\xe1\x11\xe1\xe1\xb1\xf5\x10\x3f\x5b\x50\x1f\xce\x92\x20\x8f\x58\x52\x9f\xb0\x70\x16\xd3\xac\x01\x3f\xc1\xd6\x16\xdc\xd0\xc1\x94\x04\xef\x9f\x33\x96\x67\x79\x4a\xa6\x6b\xba\xc6\xaf\xb6\xb6\xe0\x7c\x4c\x41\x94\x87\x80\x04\x63\x6a\xe5\x5e\x93\x14\xa2\x24\xcb\x49\x1c\xd3\xf0\x95\x80\x09\x3d\xf8\xe9\xee\x40\x17\x2a\xc3\x4a\xe9\x1f\x66\x51\x4a\x41\x21\x63\x95\x50\x49\x70\x75\x25\x71\xba\x92\xa5\xaf\xae\x24\xce\x2f\xc2\x06\xfc\xe4\x83\xce\xc1\x1f\x8e\x69\xf0\x1e\xa2\xa1\xc2\x37\xca\x20\x4a\x4a\x58\xff\x2a\x1a\xd6\x8b\x58\x5f\x28\xe8\x97\x36\x78\xf8\xd5\xaf\x7e\x95\xd2\x7c\x96\x26\xa5\x6e\x9a\x0a\x2d\x7a\x3b\x65\x69\x9e\x1d\xd8\xd5\xee\x8a\x98\xa5\x94\xe4\x14\x08\x24\xf4\x46\x61\x57\x27\x49\x08\xd3\x59\x0e\x51\x0e\x51\x92\x33\xc8\xc7\x92\xc4\x0d\xbb\x36\x27\xb2\xac\xd1\x5b\x80\x06\xa7\xbb\x83\x78\xb4\x0f\x2a\xb3\xe9\x64\xc4\xfb\x30\x24\x71\x46\xdd\x54\xd9\x8b\x7d\xf8\xc9\xc1\xdd\x3f\x94\xbc\x4b\xc7\xb7\x34\x98\xe5\x14\xb1\x96\xf8\x79\x86\xf4\x57\x93\x12\xbd\x02\x12\xc7\x72\x34\x15\xed\x9a\x12\x82\xfa\xd7\xa4\x7b\x38\xa1\x51\x89\xd2\x49\x4c\x46\x36\x3e\x24\x83\x98\x91\x90\x86\x65\x84\x5a\x31\xf4\x20\x4f\x67\xb4\x12\xd8\xa9\x18\x78\x0e\x4e\x62\x03\x6c\x68\x41\xb7\x8b\x4b\x26\x71\x91\xb7\x19\xe2\xae\xdc\x8a\x2b\x19\xbc\x4e\x66\x13\x33\x03\x36\x78\x47\x83\x1c\xea\x86\x04\x32\xe7\xea\xca\x66\x10\x0f\x85\x5a\x13\xe8\x29\x30\x55\xa2\x58\x6a\xb0\x24\x27\x3e\xc0\x81\x87\x07\xab\x5a\x88\x42\x9a\xe4\x51\x3e\xd7\x6c\x01\x43\x96\x02\x1f\xfd\x28\x19\xc1\x98\xa4\x13\x96\xcc\x21\x9a\x08\xda\xde\x44\xf9\x58\x48\x00\x4b\x53\xde\xef\x80\x25\x39\xbd\xcd\x97\x20\x14\x41\x4f\xc3\xaf\x5f\x93\x78\x46\xb9\x52\x93\xe3\x81\xbf\x0f\xa0\x52\x1d\x85\x74\x18\x25\x14\x46\x34\xcf\x69\xea\xa2\xa9\xd0\x93\x63\xb9\x04\x8b\xd0\xc6\x42\xf3\x6e\x42\x26\xb4\x29\xa1\x17\xd4\x4a\x34\xac\x3f\xf0\x01\x62\x6e\xed\x46\x51\x1b\xbd\x41\x9e\x68\x09\xc4\xdf\xa6\x6c\x4a\xd3\x7c\x5e\x6c\xd1\xad\xf2\xab\x80\x25\xc3\x68\x34\x4b\xc9\x20\xa6\x5e\xd1\xff\x15\x4d\x66\x13\x2a\xf3\xb9\x4c\x14\xb2\x47\x34\xdf\x97\xdd\x70\x32\xee\x1a\x95\x3a\xaf\x92\xe4\x23\x9a\x1f\xd1\x21\x99\xc5\xf9\x31\x22\x5d\x60\x0e\x36\x99\x92\x3c\x1a\x44\x31\xe7\x1b\x64\x89\x84\x25\x9b\x6a\x30\x24\x4b\x2f\x19\x8c\xc4\x1e\x0c\x51\xa5\x40\x46\xae\x52\xe5\xa0\x2b\x39\x81\xaf\xbf\x56\xe2\x7b\x75\x45\x33\xc1\xda\xf0\xcc\xe9\xaf\x46\xd5\x74\xa2\x6e\x71\x9b\xa8\x7e\x51\x0b\x45\x56\xed\xf2\x00\xee\x60\xbf\x12\x82\x68\x42\x50\x21\x2b\xc3\x71\xd8\x16\x7e\xe5\x67\xbb\xba\xe8\x45\x13\x6a\xa4\xa6\x39\xed\xc0\xa3\x99\x44\xd6\xc1\x2a\x23\x24\x59\x6c\x9a\xb2\x9c\xe5\xf3\x29\x6d\x8d\x49\xf6\xe6\x26\x51\xcc\x86\xea\x7b\xc9\x08\x30\x7b\x04\x84\x1a\x6b\xc2\x54\x02\xb0\x7a\xba\x4a\x53\xe5\xfa\x0b\x04\xda\x20\x33\x9d\x0d\xe2\x28\xb8\x9a\x92\x7c\x7c\x75\xb5\x04\xdd\x29\xf4\x60\x7d\xbd\x0a\xe6\x4b\x46\x42\xa0\x49\x9e\xce\xf5\xb4\x92\x84\xaa\x07\x65\xf5\x20\x33\x7c\x16\x8c\xaf\x6d\x6e\x2f\x75\x76\xed\x31\xbb\xd3\xca\xfd\xd3\x3f\x56\x57\xea\x17\x6b\x5b\x0f\xa1\x0d\x32\xad\x6c\x0d\x36\x61\xe1\xa4\x0b\x3f\xad\xad\xad\xcf\x32\x0a\x59\x9e\x46\x41\xbe\x7e\xb0\xb6\xb6\x44\x19\xad\x1b\x41\x5a\x6f\xc2\x4f\x42\x1b\x0b\x05\x03\x5c\x75\x70\x29\x3c\x64\x93\x29\xcb\x22\x8e\xc6\x77\x34\x9e\xd2\xf4\xaa\x03\x3d\x2f\xf1\x3a\x7b\xb2\xca\xf1\x35\x4d\xf2\xe3\x49\xc4\x19\xba\xba\xb4\x2c\xfc\x9b\x88\xde\x70\x74\x2a\x0b\x76\xb7\x15\x26\x71\x34\x1d\x30\x92\x86\x95\x45\xb7\xdb\xaa\x68\x94\x06\xb3\x98\xa4\x2f\xa3\xac\x1a\xf0\x76\x57\xe1\x9b\x05\x64\x4a\xcf\xe8\x1f\x66\x34\x09\x68\x56\x8d\x89\x2c\xff\x22\x99\xce\xf2\xef\x48\x12\xc6\x8b\xfa\xf7\x48\x96\x7e\x4b\xd2\x6c\x51\xb9\x27\xb2\xdc\x29\x4d\x42\x9a\x2e\x28\xd9\x55\xbd\x7b\x19\x25\xef\xa3\x61\xb4\x08\xe8\x63\x59\xf4\x8c\xc6\x14\x59\xe8\x15\x49\xc8\x68\x11\x70\x35\x1e\x87\x63\x92\xbe\xa2\x24\x9b\xa5\xb4\x9a\x72\xaa\xf0\xf3\x94\xdd\x64\xa8\xa3\x7d\xc5\x14\x12\xaf\xd8\x2c\xab\x06\xa6\xfa\x1f\xb2\x60\x36\xa1\x49\x0e\x3d\xa8\x73\x55\xc3\x86\x70\x13\x25\x21\xbb\x81\x07\x3d\xa8\xcd\x12\xc1\xc4\x61\xad\x01\xcf\x64\x46\x4b\x57\xd9\x87\x64\x16\xc7\x02\xce\x0f\xa7\x2f\xce\x8f\xaf\x9e\x7f\x7f\x72\x72\x7c\x7a\xf5\xb6\xff\xfd\xd9\xf1\xd5\xf9\x77\xa7\xc7\x67\xdf\xbd\x79\x79\x04\x3d\xd8\x75\x4a\xf5\xcf\x0f\xbf\xbb\x3a\x7b\xf1\x2f\x8f\xa1\x07\xdb\xed\xb6\x24\xc1\xf7\xa7\x67\x6f\x4e\xaf\x9e\xbf\x7c\xf1\xfa\xd7\x57\x2f\x5e\x9f\x1f\x9f\xfe\xa6\xff\x12\x7a\xb0\xc7\x0b\xe8\x09\xe2\x9c\xa6\x93\x28\x21\x71\x9d\x4d\xf9\x6f\xbe\x54\x5b\x03\x00\xe0\x10\x32\x1a\x0f\xb9\xf5\x3a\x8e\xb2\x03\x4c\x8c\x86\x50\x7f\x50\xe7\xbf\x85\x71\x96\x04\xbc\x7f\x0a\x44\x43\xd5\xe5\x1f\xa9\x9e\xf8\x32\x44\x37\x41\xd2\x11\x76\x34\xbb\x68\x5f\x36\xc1\xfc\xea\x38\xbf\xba\x97\x0d\xd1\xda\x1d\xfe\xcd\x91\x68\x0d\xf4\x08\xc9\xb1\x3a\x30\x79\x01\x47\x83\x5b\xd9\xaa\x1d\x99\x22\x8a\xb8\x52\xdc\xb2\x7f\x0a\xb5\xcf\x7b\xd3\x30\xdd\x93\x63\x26\xa9\x01\xbd\x5e\x0f\x6a\xc9\x6c\x32\xa0\x69\xcd\xee\x9e\xce\xb7\xd2\xf8\x27\x60\x71\xb6\x0f\x4e\x47\x9d\x7c\x8e\xfd\xbe\xdb\x75\x27\x7f\x2c\xe4\x71\xdf\xa1\x87\x2e\x71\x67\x13\xc6\xa0\xa0\xbe\x7d\xf8\x80\x4b\x62\x9e\x29\x55\xe6\x7b\x3a\xcf\xea\x9a\x2e\xd2\x60\xc8\x1a\xad\x21\x4b\x8f\x49\x30\xd6\xaa\x19\xea\xef\xe9\xdc\xee\x1f\x27\x85\x04\x7b\xf1\x9e\xce\x2f\xa1\xd7\x43\xe6\x6c\x14\xfa\xeb\x96\x31\x43\x60\xa7\x1f\x38\x35\x38\x64\x55\x4c\x54\x7b\xd0\xb3\x2a\x2a\x1c\x31\xab\xd8\xda\x82\x16\x3d\x2d\xdd\xad\x95\xbf\x71\x8e\x51\x55\xcb\x38\xde\x59\x8c\x20\x73\x5b\x01\x8b\x59\x9a\xb5\x62\x9a\x8c\xf2\x31\xf2\xc3\x63\x0f\x23\xc8\x62\x06\xaa\xaa\x17\xb0\x24\x20\xb9\x19\x83\x2b\x99\x9e\xc5\x51\x40\xeb\x8f\x1b\x0e\xaf\xd3\x38\xa3\x4b\x1a\xef\xec\x7d\xbe\xd6\x3b\x7b\xf7\x6f\xbe\x7d\x9f\xe6\x45\x33\xed\x26\x6c\x76\x1b\xcb\x28\x81\x85\x9a\x7e\x08\x9b\xdd\xfb\x23\xfa\x19\x47\xa9\xb3\x77\x1f\xe4\xb8\x42\xa9\x6a\xe8\xc0\x94\x28\x89\xaf\x95\x37\x25\xa9\x98\x42\x54\xed\x01\x0b\xe7\x5c\xbc\xd5\x6f\x59\xe0\xc3\x07\xa8\xeb\xd9\xe3\x99\x9e\x7b\x5a\x23\x9a\x1f\xc7\x14\xd5\xc7\xf3\xf9\x39\x19\xbd\x26\x13\x5a\xaf\x71\x20\xb5\xc6\x45\xfb\x52\x4e\x34\x8d\x03\x07\xdf\x02\xb6\x99\xdd\xde\x88\xb2\x09\xcd\xd3\xf9\x45\xfb\xd2\xaa\xc4\x95\x99\x55\x09\x7f\xfa\x2a\x75\xec\x4a\x2a\x15\x7a\x70\xa1\x9b\x6e\x1a\x80\x97\x65\x11\x94\x4a\xd1\x1e\x50\x41\xc2\xa4\x5e\x0b\x49\xce\x97\x24\xc5\xa2\xa5\x01\x99\x0f\x48\x46\xa1\x07\x6d\x0b\x95\x79\x18\x65\xd3\x42\xda\x6d\xb1\x4c\xe1\x77\x30\x4b\x33\x96\x9e\xe5\x24\x2f\x42\x13\x39\xdf\x45\x61\x48\x71\x65\xc8\xd7\xbf\x0e\x85\x93\x6b\x9a\xe6\xc7\x2c\xb6\x12\xff\x30\xa3\x33\x0e\xa7\x56\xb3\x12\xb3\x20\x65\x71\x7c\xce\x8a\xa8\x89\xf4\xe7\x2c\xcf\xd9\x44\x4e\xcb\x82\xe6\x9b\xd0\x71\xf0\xc8\x72\x36\xf9\x35\x9d\xe3\x5c\x27\x0d\x3c\xe8\x49\xdb\xa2\x80\xee\xf3\x38\x4a\xde\xbf\x48\x72\x9a\x5e\x93\xb8\x5c\x88\x4c\xa7\x71\x14\x10\x4e\xdb\x5f\xd3\xf9\x94\x84\x9e\x8e\x59\x65\x0e\x11\xa6\xa7\x0c\x4b\xa3\x51\x94\xbc\x62\x21\xf5\x64\x46\x49\x46\xd3\xbc\x22\xf3\x26\x25\x53\x92\xb2\x59\x12\xca\x02\x62\x2f\x4d\xe7\x27\x2c\x9d\xf8\x30\x0f\xc6\xdc\x60\xcd\xcb\x19\xa3\xea\x9c\x98\x5e\xa3\x21\xd1\x2e\xc3\xe1\x7c\x7e\xc1\xcb\xdb\xac\x1c\xd2\xe0\x25\x0b\x48\xce\x52\x9b\x81\x3a\x6d\xb4\x14\xad\xa4\xeb\xbc\xdb\xf6\x24\x6e\x97\x13\x45\x6f\x8a\xa9\x13\xfe\x1b\x47\xd3\x56\x12\x19\x4d\xc2\x13\x16\xcc\xec\xb4\x59\x3e\x2c\x56\xce\x46\x69\x31\x69\x96\xde\x5e\xe7\xc5\x44\x2a\x14\x86\xd3\xf5\x28\x0e\x53\x9a\xd8\x12\x4f\x87\x29\xcd\xc6\x67\x39\x49\xf3\x72\xf2\x71\x12\xda\x0d\x93\x6b\x1a\xfe\xb6\x98\xf0\xbb\x62\xc2\x21\x8b\x33\x07\x14\x09\xc9\x20\xf6\x8c\xf4\x4d\x1a\xe5\xfe\x9c\x90\x0e\xfb\x79\xce\xf9\xae\xde\x86\xa7\x4f\x51\xf7\x7f\x80\x7a\x77\xf7\x11\xff\xf5\x44\xfe\xd8\xe3\x3f\xda\x0d\x57\x04\x64\x3d\x1b\x8c\xab\x87\xc9\x04\x87\xfe\xd2\xad\xc6\xb5\xef\x5b\x9e\x59\xe0\x96\x69\x4a\x87\xd1\x6d\x51\xa0\xa7\x2c\xcb\x3d\xc9\x91\xb5\x00\xe3\xdc\x48\x6f\x0a\x6b\xb2\x96\xfd\xd3\x36\x54\x15\x72\x99\xae\xa8\x96\x67\x2d\xf1\xa5\x5e\x6a\x40\x68\xd8\x86\x43\x69\xb1\x52\xd3\xaa\x44\xfd\xfe\xf0\xa1\x28\x19\x59\x61\xfd\xa5\xaa\x94\xd2\xcb\x55\x63\xb5\xca\x53\x75\x4c\x02\x2f\x4c\x6f\xec\x75\x60\x4b\x7f\xaf\x37\x0a\x23\x4f\x9f\xcf\x86\x43\x84\xe2\x8c\x05\x66\xbd\x48\xde\xa6\x6c\x94\xd2\x2c\xf3\x28\x90\x5b\x36\x1c\x9e\xd1\x24\x3f\x67\x87\x24\x0f\xc6\xdf\x4f\xbd\x4a\x26\xca\xe9\x59\xce\xa6\x53\xea\xd3\x70\xd9\x2c\x4d\xd9\x88\xe4\xf4\x6a\x1c\x8d\xc6\xc5\x61\x8c\xa3\x04\x4f\xa3\x78\x5f\xdc\x15\x7b\xcb\xfe\x59\xb7\x74\xf8\x80\x04\xef\x65\x07\xf1\x68\xcb\xd6\xe6\x22\xf9\x66\x1c\xc5\x14\xea\xd1\xe6\x66\x69\xd6\xc3\xf6\x5a\xd3\x59\x36\x16\x20\x07\x31\x49\xde\xbf\x8c\x12\x5a\x77\xed\x10\x5c\xcd\xf8\x46\xa9\x04\xb1\x58\xa0\x95\xd1\x5c\x90\xbb\x6e\x5a\x2c\x4f\xa9\x39\x19\xb8\xfa\x28\x9f\x4d\x39\x11\x33\x67\xf0\x66\x19\x4d\xcf\xb0\xd7\x51\x32\x32\xc4\xbd\x5b\x8b\x92\x31\x4d\xa3\xdc\xac\x4f\x9a\x8b\x16\x6b\x8d\x83\x35\x6d\x9d\x99\x7d\x3c\x9a\x92\x8c\x4a\x19\x36\x6b\x19\xd5\x41\xb9\x06\xad\x3b\x4a\xe2\x6b\xf8\x53\xfb\xb6\x33\x1c\xa2\x56\x70\xd4\xc0\xd7\x20\x32\x0e\xd6\xee\xac\xc6\x72\x92\x8c\xd8\xa1\x32\xe7\x2e\x10\x70\xed\xab\x2e\xdd\xde\xd9\xde\xab\x35\xe5\xcf\x20\x68\xb7\xdb\x6d\xfd\x73\x87\x3e\x21\x6d\x2b\x77\x87\xd8\xb9\xdb\x3b\x7b\xbb\x64\x47\xff\x7c\xb4\xbb\xdb\x7e\x34\xd0\x3f\xdb\x7b\x4f\x1e\x3f\x21\xfa\x67\xb8\x1d\x3e\x0a\x86\xfa\xe7\xee\xee\xee\xa3\xdd\x6d\xfd\x93\x0e\xbb\x4f\xba\x4f\xf4\xcf\xc7\x84\x76\xb7\x0d\xe4\x61\x40\x9f\xec\x98\xba\x8f\xba\x4f\x86\x16\x28\x12\x3e\x1a\x92\xc7\x16\x56\xb4\x4b\xbb\x06\x32\xff\x04\xb5\xb5\x4b\x8b\x14\xda\xa8\xad\x97\x69\xcd\xf9\x58\xe7\xfb\x88\x27\xad\xe5\x46\x13\x50\x88\xdb\xb7\xed\x76\x13\xda\xb7\xbb\x43\xfe\xf7\xe3\x47\xfc\x6f\x82\xdf\x43\xfc\x3e\x1c\x5e\x36\x21\x92\xb6\xa0\xd1\xb2\x43\x96\x42\xfd\x00\x22\x78\x0a\xdd\xce\xde\x01\x44\x1b\x1b\x8e\x9d\x3f\xcb\xeb\xe9\x45\x3d\x82\x2d\xd8\xde\x6b\xc0\x3f\x87\x3d\xf8\x00\xed\xcb\x26\xc8\xc4\x42\x5a\xc4\x7f\xb9\xdb\x0d\x15\x6d\xed\x94\x9a\xe2\xbd\x78\x0c\x1b\x10\xc1\x43\xe8\xb4\x0f\x5c\x14\x9a\xc0\xff\x73\x00\x6b\x92\xc9\x02\xa3\x26\x0c\x6c\x78\x72\x4d\x81\x72\x5d\xfb\xaa\x06\x1b\x30\xa6\xb7\xf5\xb4\x21\xbf\x8c\xd4\x97\x41\xc3\x0f\x96\xe7\x05\x0e\x40\xe8\x41\xd0\xca\xd9\x59\x9e\x46\xc9\x48\xec\x6b\x6a\xe4\x85\x64\x04\x6a\xc5\xf4\x14\xba\xf0\x0c\x6a\x6d\xde\x6c\x00\xfb\x10\xd8\x4d\xa8\xc2\x72\x05\x73\xd7\xa8\xdb\xc2\x78\x55\x1e\x75\x67\x79\x64\x97\xbd\x5e\xc6\x41\x6c\x96\xa3\x86\x6f\x7a\x78\x49\xa4\x34\xc5\x08\xc9\x02\xe5\x81\xda\x2d\x33\x05\x96\x84\x1e\xe0\x84\xf9\x22\xc9\xeb\x02\xd2\x45\x74\xd9\xca\x66\x83\x4c\x92\xa7\xd1\x04\x87\x44\x6c\x96\x8b\xc1\xb8\xd0\x49\xfc\x23\x2a\xc3\x37\xdf\xe0\x4a\xfc\x6b\xe4\xd4\x66\x45\x89\xc7\xfe\x02\x22\x5f\xe4\xe8\x0c\x97\x0b\x25\xc9\xd9\x2c\x2f\xd1\x5b\x6d\x90\xe8\xad\x27\xd1\x9b\xfd\x12\xa1\xa4\x0a\xa6\x13\xba\x0f\xfa\xac\xa8\x29\xab\xa8\xb5\x88\x3e\xa7\xc3\xc2\x34\x9d\xf0\xa5\xe2\x3e\xd4\x6e\xf9\x77\x59\x5a\xad\xd8\xf6\xe1\xe2\x71\xbb\x09\xdd\x1d\xb9\x67\x65\xad\x20\x1c\x30\x6a\x89\x34\x8f\x39\xa4\x41\xcc\x82\xf7\x12\xd2\x75\x94\xcd\x48\xfc\x9c\xc6\x6e\xbb\x53\x36\x7d\x93\x94\x52\xcd\x54\xb9\x0f\x9d\x76\xbb\xad\x53\x29\xe5\x8b\x91\xcc\x29\x1c\xd2\xc1\x6c\xe4\x62\x81\x9b\x80\xc2\x6a\x76\x8b\x46\x19\x37\x23\xcf\xf2\x30\x4a\x9c\x8c\x59\x46\x4f\x62\x76\x73\xc8\x92\x3c\x2d\x52\x86\x0c\xf8\xcc\xf6\x43\x14\xe6\xe3\x7d\x78\xec\x4c\x10\xd6\x56\xa0\x9d\x3c\xe4\xa6\xb9\x5e\x64\x50\x12\x8c\xeb\x15\xbb\x71\x4d\xf0\x6e\xc3\xb9\x9b\x64\x55\x5b\x64\x07\x4e\xd9\x56\xd5\x7e\x5c\xa1\xce\x9d\x7f\x3a\x55\x38\x57\x4e\xa5\x62\xde\xa7\xb7\x39\x49\x29\x11\xc5\xeb\x85\xf9\xd2\x40\x1b\xd1\xfc\x0d\xa2\xe3\x40\x7c\x4f\xe7\x4d\x50\x07\xe8\xda\x50\x79\xc0\xd3\x21\x4a\xca\x18\x37\x5c\x73\x25\x65\x37\x68\x69\x1d\xa7\x29\x4b\xeb\xb5\xd7\x4c\x2e\xfd\xc5\x21\x2e\x07\xb2\xce\x95\x18\xff\xb2\x01\xb5\xf5\x5a\xd9\x24\x12\x1b\xbc\xf6\x1e\x8c\xd9\x86\x74\x36\xe8\x4b\x9b\xd9\xa5\x3a\x1e\x91\xe5\x65\x14\x91\xbd\x54\xc9\x7e\x71\x54\xc9\x6e\xa2\x3c\x18\x97\xb6\x80\x03\x92\x51\xa8\x19\x29\xac\xed\x3b\x5a\x8c\xe3\x87\x08\xc3\x53\x63\xbc\xfa\x36\x6c\xd1\xaf\x28\xe3\xa6\x5f\xed\x8c\xe6\x39\xb7\x02\xf3\x31\xb5\xc4\x5b\xf4\x1b\x62\x6e\xbf\xe7\x63\x22\x5c\x61\xc4\x9e\x3b\xb0\x21\x6e\x99\x43\xed\xa0\x04\x97\xc3\xdc\xe8\xc1\x7a\x7d\x1d\x36\xac\xcd\x90\x0d\x58\x6f\x40\x94\x41\xc2\x72\x20\x71\xcc\x6e\x68\xd8\x5a\x2f\xd7\x0e\x58\x92\xb1\x98\xb6\x6e\x48\x9a\xd4\x27\xd9\xa8\x51\x2e\x22\x47\xd4\x5a\x0d\xa8\xcf\x5d\x89\x12\x7e\x76\x72\x06\xd4\x5b\x45\x18\xf3\x72\x16\xfe\xa6\xba\x82\x22\x24\x99\xb0\x19\x5f\xcb\x9c\xa7\xd1\xc4\x5a\x51\x19\x18\x9b\xd2\x19\xa5\x12\x42\x42\x69\x98\x9d\x8a\x05\x3b\x1e\x52\x99\x9d\xb0\x4d\x17\xbc\x59\x2d\x17\x3f\x56\xb3\x79\x1a\x4d\x70\x3b\xa0\x6e\xd7\x5d\x54\x4f\xed\xc4\xbd\x22\xf9\xb8\x35\x21\xb7\x75\x2b\xd5\xc5\xa0\xb9\x18\x01\xb5\x7d\x57\x00\xe4\xe9\x4a\x35\x20\x3e\x10\x36\x45\xaa\x68\x0f\x85\xad\x8e\x7a\xbb\xe9\x6e\xc0\x55\xc0\xbf\x2b\xa5\x96\x53\x2c\x6a\x4e\xc8\xed\x4b\xb9\x87\x5d\x35\x8e\x62\xf3\x48\x1e\x37\xb7\xb2\x79\x12\x88\xd5\x55\x3f\xa5\xa4\xde\x58\xc4\xa7\x83\x94\x92\xf7\xc5\x55\x9c\x9a\x29\xac\xd6\xca\xbc\xec\x64\x2f\x54\x17\x96\x4d\x50\xd0\x17\x6a\x8d\x78\x68\x4a\x70\xbb\x4b\x70\xfc\x41\x15\xa2\x45\xc8\x68\x55\xf8\x20\xcb\xed\xab\x56\x10\x93\x2c\xe3\xeb\xed\x56\xce\x46\xa3\x98\xd6\xd7\xd1\x94\xd9\x14\xd5\x37\x33\x5e\x7f\x93\x6b\xf9\x94\x53\x7c\x5d\x2a\x5d\x71\xce\xa7\x93\x6b\x05\x84\xee\xdf\xc2\x80\xa4\x2e\xec\x01\x49\x8b\x50\xbd\xdd\xb4\x2d\x8d\x0a\x0a\x16\x56\xd9\xde\xe1\xf5\xcf\x3d\x29\xcd\xb8\xa8\xba\x43\xe0\x9d\xef\x2b\x46\xcb\x66\x0d\x7b\x07\xb9\xd2\x06\x28\x81\x70\x5a\xa3\x09\xb7\xc4\x42\xa7\xd1\x4a\x32\xd7\x1c\x32\x0f\x90\xc5\x9a\xa0\x40\xd8\xfb\x73\x31\x25\xa9\xdb\xaa\xda\xe1\xae\x5b\x07\x7c\x85\xc6\xa1\xea\xd0\x1b\x16\xef\x98\x67\x34\xd7\xd0\xcb\x74\x54\x1f\x3c\xa9\xbe\x4f\xd7\x36\x59\x62\xf3\xcb\x5d\xd3\x7f\x9e\xdf\x58\x3c\xe0\x0b\x48\x51\x3d\xec\x65\x34\x53\x3a\x61\xd7\xcb\xd0\xd4\x73\x9a\x87\x4e\x8e\xa2\xe0\x38\x69\x92\x55\xd6\x58\x89\xf8\x66\xb3\xd1\xa5\xc0\x20\x92\x7b\xe3\x4e\x2f\x39\xf6\x0a\x13\x96\xe0\x4f\x6d\xcc\x36\xa1\x86\xe6\x6c\xcd\xb6\xc6\xe9\x75\xf1\x4c\x1c\xeb\xe8\x9d\xf7\xe2\x28\xeb\xdc\x7a\xc9\x19\xa7\x75\xd8\x6e\x1d\x9f\x1d\x72\xf3\xeb\xe2\x85\x33\xb2\x6b\x4e\xed\x32\xf1\x49\x18\xd6\x25\x6e\x36\x51\xb0\xa9\x31\xbb\x11\xa3\x5b\x2f\x66\x79\x45\x1d\xcf\x6a\xe6\x82\x0e\xa6\x7c\x69\xc9\xc2\xf3\x0b\xe0\xe8\x24\xca\xeb\x9a\x42\x3f\x61\x22\xaf\xb3\x8f\xdf\xf4\xc1\xf9\x5d\xa5\x22\x18\xc4\xb3\x85\x9b\x74\xee\xca\x82\x97\x2e\x2e\x2c\xf8\x98\x3e\x2f\x42\x59\x32\xa4\x1c\xce\x82\x11\x95\x94\x12\x33\x3a\xfe\x98\x37\x45\xe2\xdc\xa2\xcf\x67\x1b\xf7\x37\xf7\x1a\x77\x25\x74\xfe\xa1\x5f\x20\xd9\x2b\x8e\xb2\x91\x9d\xc2\x28\x4b\xa2\x7d\xc4\x20\x47\x49\x94\x7f\x1b\xb3\x41\x85\x76\xe1\xea\xf5\x0a\xbd\x87\x6c\xfd\xca\x53\x11\xbe\x9d\xe8\x8c\x3a\x5f\xed\xdb\xc7\x1f\x65\x31\xaf\xcc\xe5\x0c\x63\x67\x72\x1e\xb1\x74\x5c\x13\x6a\x01\x9b\xce\x0b\x2c\x42\x93\xbc\x28\xf7\x57\xc5\x83\xb8\x22\x0b\x08\x36\xf6\x0d\xaf\xe5\xf0\xd7\xe2\x8d\xa9\xf3\x1c\x6c\x47\xb0\x5b\x53\x90\xa5\xbc\x53\x6f\x08\xae\x28\x35\x25\x59\x4e\x25\x88\x1f\x52\x32\x9d\x52\x57\x20\x14\xf6\x4a\xae\xec\xd6\xed\xba\x76\xf3\xc2\xd3\xd5\x26\x8f\x25\x42\x58\xa9\xd6\xf4\x35\x5c\x49\xd3\xe5\x75\xb4\x4c\x49\xcf\xae\x56\x94\x9d\x44\x29\x1d\xb2\x5b\x67\x3b\xb7\x04\x19\x47\x20\x64\x37\xc9\xe2\x21\x53\x4d\x60\x46\x6b\x30\xcb\x73\xbe\xde\xee\x41\xd7\x67\xdf\xdb\x24\x4a\xa3\xd1\x38\x3f\x8c\xa3\xe0\x7d\x81\x4e\x57\x05\xba\x2c\x1c\xb0\x32\x13\xdc\x95\xfd\x57\x16\x75\x53\xde\x49\x98\xd0\x64\xb6\xbc\xa3\x5f\x06\xff\xbb\xf2\xce\x89\x3b\x5e\x2f\xa3\x64\xb6\x64\xb4\xc8\xec\x36\xe0\xb8\x7c\xd4\x60\xf5\xa0\xb3\x6c\xb4\xb8\x82\x3c\xa7\xb7\x39\x5f\xfb\x7c\xcf\x8d\x77\x3c\xd4\x96\x33\xe2\xe7\x1e\xb8\xe2\x5c\xc4\xb5\xd2\xd2\xb9\xc8\xd0\xe2\x3d\x9d\x7b\xf8\xb6\xa8\x67\xb4\x0b\x0f\x09\xf2\xe8\x9a\x4a\x2f\x1e\x78\x20\x74\xe3\xea\x4a\x07\x1b\x7f\x4f\xe7\x47\xec\x26\xe1\xcd\xc8\x4e\x34\xf1\xe8\xdc\x92\xdb\x12\x8e\xd3\x94\x66\xcb\x8c\xa0\xcf\x8d\xe4\x5b\xde\xe6\xbd\xb0\x9c\x4d\x97\xa0\xf8\xe0\x86\x64\xaf\x58\x12\xe2\x61\xf2\xaf\xe9\xfc\x4d\x12\x0b\x7f\x18\x5e\xd6\x3b\x7d\x8b\xcd\xcc\xc2\xa4\x79\xb7\x00\x21\x4b\x47\x2e\x1f\xdb\xfb\x8c\x87\x0b\x78\xd9\x80\x54\x10\x11\xf4\x56\x81\x58\x83\xea\x33\xeb\xa5\x6d\x06\xc6\x55\x1e\x4d\xc8\x9a\x34\x89\x82\xa2\x0b\x7d\xab\x58\x12\xc5\xa2\xee\x2f\xdc\x58\xa9\xc1\xd9\x34\x24\x38\x73\x2c\x6f\x51\x14\xfd\xf4\x26\x69\x12\xae\xd4\x1e\x4d\xc2\x55\x1a\xc3\x5c\x96\xd4\x6b\xd2\xac\xac\x86\x2d\x3a\x60\x5d\x4c\x50\x2e\x7b\x1f\xd9\x8c\x61\x90\x90\xe4\xa4\xc4\x22\xe8\x6a\x26\xfd\x2b\x84\xb7\x16\x96\x6b\xe1\xc8\x35\x01\xbf\xd3\x24\x5c\xc1\xc6\xcb\x68\x9a\x9f\xb2\x1b\x47\xf7\xa5\xec\xc6\xde\xb8\x96\x9b\xec\xa9\x74\x7b\x17\x57\x6b\xdc\x2d\x75\x04\xa0\x35\x49\x80\xf7\x56\x25\x05\xea\xb5\x30\xba\xae\x95\x1d\x0e\x52\x71\x38\x43\xa2\x84\xa6\xdc\xc8\xa5\x49\x78\x38\x8e\xe2\x10\x5b\xf7\x38\x2e\x89\xf3\x3b\x93\x29\x4d\xa2\x94\xdd\x54\x75\x8e\x4d\xa9\xbb\x2f\x2f\x1c\x2d\x9b\x30\xb4\xcd\xfe\x6a\x3b\xd6\xda\x3c\xd0\x07\x95\x61\x74\xed\x7a\xed\x08\xd7\x4e\xe3\xc2\x69\xa5\x1b\xe3\xe8\x81\x95\xba\x70\xaf\x5f\xf5\x42\xdd\x77\xce\x80\x28\xd8\x6a\x4d\xe1\x21\xa5\x34\x30\xd4\x16\xb2\xa8\xd0\x62\x37\x09\x4d\x8f\xd4\x98\xc8\xb3\x86\xdf\x44\xf4\xc6\x76\xb6\x32\x17\x1c\x2a\xab\x5a\xc5\xd1\x73\xb5\xe7\x56\x5d\xe6\x9f\x7a\x50\xda\x8b\x28\x41\xa8\xe6\x97\x8a\x2d\x0c\x5c\x45\xab\x05\xcd\x2a\x65\xc5\x09\xe8\xaa\x05\x37\xf1\xa0\x75\xb3\xa6\x8e\x22\xf0\x67\xe3\xe0\x23\xf7\xd2\x4a\x4d\x66\x34\xef\xe7\x79\x1a\x0d\x66\x39\xad\xd7\x72\xc2\x35\x04\xbd\xad\x35\x5d\x7f\x36\xb5\x2b\x7c\xac\x89\xb6\x2a\xbd\x0a\x35\xfd\x5d\x54\x85\xbc\x44\xb1\xc5\xd1\x07\xd2\xd7\x9a\xd9\xb8\xfe\x08\x54\x4d\x65\x3f\xb6\xe2\x7c\x69\x93\x2b\xfc\x85\x5d\xad\x44\xdc\x34\xd0\xf0\xb9\xc2\x69\x4d\x74\x0f\xdc\xcb\x95\x2b\x70\x57\xe5\x56\x23\x75\x19\xac\xe3\xe7\x67\x69\xcd\x7b\xe0\xea\x28\x5b\x2f\x96\x7c\x25\xb0\x1a\x82\x36\x2c\x9f\xa2\x2e\x7a\xf5\x69\x1f\xc1\x16\xc9\x73\x12\x8c\xcf\xd9\x11\x9b\x68\xb3\xb3\xe9\x56\xb6\x01\x8e\x71\x92\xfc\x98\xee\x16\x6a\xfa\x7b\x2c\x0a\xad\xd8\xe9\x02\x44\xbb\x8e\xb2\x44\x16\xe0\xa7\x8a\xd4\x7c\xf5\x16\x61\xb7\xb9\xb8\xa6\xab\x49\xc8\x2c\x67\xf2\x1e\x7c\xad\x09\x35\x36\x1c\xae\x5c\x8b\x4c\xa3\x9c\xc4\xd1\x1f\xe9\x3d\x2a\x66\x53\x1a\xc7\xc1\x98\xe2\x8a\xb0\x86\x07\xab\xfe\x6a\x39\x19\xbc\xe0\x1a\xae\xe0\x5e\xab\xf3\x49\x18\xa2\x35\xcf\x49\x40\x13\x9a\xd6\x3d\x9b\xb7\xf6\xac\x29\xb6\xdf\x2b\xf7\x30\x71\xda\xbe\x2b\xec\xb6\x2c\x6b\xb1\xb4\xb7\x58\xd1\xa0\x67\x3b\xad\xba\xbd\x22\x1b\x96\xb8\x4a\x21\xe4\x5e\xde\xd0\x56\x22\x9f\xac\xef\xc1\xf5\x85\x9a\x45\xbe\xb2\xb2\x51\xfb\x57\xd5\x15\xb6\xa9\xf2\x81\x2d\x5f\xb5\x6d\x95\xd2\x8a\xdb\x4c\x3e\x6c\xca\x2e\xcb\x4b\xa9\x53\x80\xe0\xea\x1a\x92\x9e\x45\x7f\xa4\x78\x82\xb8\x7c\x86\xc4\x63\xbc\x85\x1a\xa2\xdc\xb8\xa7\x05\x09\xc0\xf2\x50\xd3\xa7\xc6\x25\x3f\x35\xcc\xd1\xe6\x75\xbd\x6c\xb4\x49\x53\xab\xd4\x30\x2d\x4f\xb1\x81\xb9\xff\xaa\x86\xc5\xbe\x11\xdb\xb2\x7e\x15\xf5\xea\x02\xbd\x65\x41\xc5\xc5\x07\x5e\x8e\x88\xfe\x48\x83\x31\x49\x46\x34\x5c\x2c\x0d\x72\xbd\x63\x13\x49\x9f\x61\xde\x55\xb5\x32\x91\x38\xfa\x66\x70\xd9\x31\x73\xf5\xba\xa5\xbe\xd6\x85\x01\xee\x9b\xef\x9b\x55\x56\x44\xb3\xd4\x78\x85\xb3\x3c\x6f\xd3\xdc\x72\x6e\xa9\xaf\x25\xff\x7c\x8f\xd3\x3c\xaf\x5a\xbe\xcb\xdc\x2a\x26\xd9\xe8\xa3\x5f\x40\xb3\x3c\x25\x2f\x46\xb7\xe4\xd1\xbd\xea\x52\xf1\xca\xe9\xad\xbe\xef\xa1\xc0\x2d\x5b\x32\x2e\x46\x20\xa1\x37\xc6\xb2\x69\x3a\x3b\x67\xb7\x79\x19\x0b\xad\x7b\xd5\x16\x06\x4f\x38\xa8\x2a\xa4\x9d\xd1\x2a\xf2\x45\xcb\x5e\x86\xe3\xb8\x09\x73\xb1\xc8\xc1\x6a\xc9\xe8\xdf\x34\xd4\x47\x47\x8d\x03\x17\x60\xc9\xc6\x2c\x4d\x1e\x9f\xb5\xb9\x25\x3e\x29\x52\xaf\xa8\xa3\x19\xfb\x0c\x5c\xae\xd3\xe5\x91\x50\xa5\xff\x1b\xba\x70\xd1\x2c\x23\x23\xdc\x49\xfa\x1d\x9b\x41\x18\x85\xe8\x62\x35\x25\xe8\xb5\x45\xe1\xf7\x08\xe4\xf7\xfa\xe2\x32\x44\x09\xfc\xbe\x62\x89\x5d\x6f\xfc\xbe\xf5\x63\x62\xf9\x74\x29\xe0\x1b\x3d\xa8\x9d\xfb\x80\x25\xec\x06\xb4\xe7\x6b\xce\xe0\xf7\x79\x3a\xa3\xbf\x87\xc1\x2c\x07\xe4\xc6\x28\x19\x09\x5f\x37\x34\x85\x5a\xef\x32\xd8\x6e\xb5\xa1\xa2\x85\x28\x87\x9b\x28\x8e\x15\x40\x84\x87\xc6\xc8\xef\x5b\x56\x0d\xd7\x43\x4c\x54\xb7\xd8\x4b\x1f\x96\xea\xbb\x48\x66\xa7\x7c\x58\x3c\x24\xc4\x21\x70\x38\xf4\x4e\x6f\x4d\x15\x76\xfe\x4b\xfb\xe5\x1e\x07\x05\xc1\x16\xf6\xec\x35\xa2\xb9\x11\xd2\x06\x7a\x47\xc7\x64\x9a\xe1\x75\x16\x5d\xa1\x15\x65\x87\x2a\xbd\x09\x51\x76\xca\xb5\x36\xef\x82\xe0\x02\xab\x4e\x0f\x6a\x03\xc6\x62\x4a\x92\x1a\x3c\x83\x07\x26\x67\xdf\x82\xc6\xab\x61\x51\x84\x53\x73\x0f\x4c\x1f\x48\xf0\x5e\x47\x88\x92\xac\xde\x95\x85\x92\x2f\x71\x71\x3b\xdf\xd1\xfd\xc2\xa4\xe2\x3c\x54\x2b\xec\x50\xc5\x8c\x84\xfd\x30\x2c\xf8\x55\x12\x9e\xd2\xc4\x60\x50\x78\xe9\xc6\xde\xa3\x4a\x5d\x57\xbb\x05\x01\x55\xba\x3b\x8d\xfa\x7a\x6b\x6b\x1d\x36\x00\x01\xc2\x06\xd4\xb6\x6a\xea\x57\xf9\x68\xc7\x12\x2d\x19\xfa\x89\x93\x49\x61\xe5\x73\x2d\x95\x6d\xd5\x2f\x6a\xad\x2d\x04\x9a\x19\xf8\x6e\x6b\x97\x56\x6f\x16\x9c\x29\x29\xee\xa5\x62\x97\xe8\x90\x24\x5c\x5a\x39\x91\x80\xa8\xf8\x32\x5c\x60\xd8\x2c\x07\xc2\x6d\xb6\x09\x4b\xfe\xfe\x0c\x58\x0a\xa7\x02\x95\xbf\x3f\x03\x9a\x5c\x47\x29\x4b\x9c\x3d\x24\xf0\x3a\x46\x56\xf9\x9f\xf8\xe6\xfc\x6a\xc7\x13\x9f\x01\x85\x0a\x9c\xcf\x7a\x68\xae\x69\x14\xd6\x5b\x62\xcd\x73\x13\x85\x74\x93\xd7\xfb\xe9\x06\x7d\xb3\xb5\x2f\xa8\x6d\x44\x60\x16\x3c\x84\x2e\x6c\xc0\xfa\xf4\xf6\xe0\x6e\x1d\x36\x1c\xa6\xac\x2b\x70\xe2\xfe\xe5\x8a\x00\x15\xb0\x46\x15\x34\xd4\xc3\xdf\x40\x18\x5d\xff\x34\xa6\xd1\x68\x9c\xfb\xa1\x89\x3c\x03\xae\xd2\x85\x42\x49\x44\xe5\xe1\x3a\xde\x5e\x75\x15\x8a\xb3\x23\x89\x67\x09\xa8\x13\xb6\xbb\xd2\x30\x55\x70\x32\x9a\x84\xcf\xf1\xe8\xad\x70\xbe\xc0\xe1\x8a\x33\xb9\x26\x4c\x99\xe5\x13\xa5\x0e\xea\x60\x44\x73\x53\xd3\xe4\x4f\x19\x1f\x6a\x19\x35\x85\x2b\xa8\x53\x72\xf3\x7c\x9e\xd3\x43\xc6\xd2\x30\xab\xd3\x6b\x81\x5c\xc1\xaa\x11\x21\x3d\x0c\x75\x54\x0a\x5e\x12\x57\xe5\xb3\x82\x77\xc6\x83\x29\xcb\x1a\xce\x18\x14\x0f\x9d\x78\xf7\xc4\xf9\x8f\xd5\x17\x0b\x8a\x72\x6a\xa4\xd7\x2d\x76\x4d\xd3\x34\x0a\xe9\x39\x57\x6f\x1f\x3e\x00\xbd\x46\x4d\x57\x54\x64\xc2\x5d\xcf\x9c\x47\xbb\xbe\x7a\x48\x00\x4d\x6d\xd1\xe6\x41\xa9\x44\xc1\x03\xb0\x00\x76\x36\x5d\x08\x54\x0d\xe1\x4a\x00\x6f\xc6\x94\xc6\x1e\x70\x85\x0a\x77\x96\x42\x71\x58\xe3\x15\xbb\xa6\x95\x8c\x01\x3d\x85\x56\x81\x45\x7e\x51\x2c\x20\x71\xdd\x70\x29\xb7\x88\x31\x0a\x74\xa0\x49\xc0\x42\x8a\x26\x70\x13\x82\x71\xe9\xc8\x51\xac\x72\xe4\x0d\x6c\xdf\x01\x77\x20\x42\x53\x74\x77\x77\x1b\xa5\x81\x90\x3a\x15\x6d\x6a\x3c\xb6\x28\x7a\x2c\x4b\x00\xdf\x40\xa7\xfb\xa8\x5c\x9d\x83\xe6\x39\x6e\x1d\x03\x2d\x18\x7b\x5d\x8f\x0a\x93\x46\x11\xd1\xf6\x8e\xa7\xa9\x55\x31\x7d\x8a\x98\x7a\x4e\xf0\x2b\xb0\x82\x92\xc3\xb2\x07\x3b\x87\x12\x7e\xfc\x34\x39\x78\x76\x59\x44\x2c\xbc\x6f\x0f\xdb\xf0\x41\xc0\xfa\x06\x74\x2c\x94\xaa\xc2\x8f\x55\xe1\xaf\xa1\x7d\xbb\x7d\x52\x2c\x5e\x8c\x36\xe3\x11\xa2\x32\x9f\x15\x58\x08\x39\xc8\x04\x06\x28\x12\x4f\x72\xf0\xd7\x3d\xd8\x76\xdb\x9e\xb2\xac\x75\x0b\x9b\x65\x9d\xc0\x33\xe6\xbe\x0c\x0c\x55\x45\x72\x02\xbd\x72\xdc\x30\xdb\x65\xad\xbb\x53\x2b\x0f\xae\xe5\xa2\xd1\x2e\xd3\x1f\xc1\x72\x33\xbb\x53\xa8\xaa\x4d\x23\xc7\xc5\xa3\xba\xfe\xf6\x0a\xf5\xbb\x0b\xea\xef\xae\x50\x7f\xbb\x8a\xbf\xcb\x55\xab\x1b\x6a\xd7\xca\x62\x87\x19\x7f\xba\xe0\x66\x9b\x18\x9d\x0d\xa8\x35\xd5\x2f\xbc\x85\x73\xf9\x63\x5a\xa8\x87\xc3\x8f\x6e\x84\xb8\x2c\x3f\x58\xa8\xce\xee\xca\x9c\x63\xe2\x51\x7c\x41\xce\x59\xce\x00\x7a\x52\xe8\x7e\xd4\xf8\xeb\xea\x3b\x1f\x35\xfc\xba\xfa\xde\x47\x8d\xbe\xae\xbe\x5d\x35\x36\x0b\xe5\xa5\x56\x02\xb8\x21\x41\x7a\x32\x6a\x07\xbe\xe2\x0e\x82\xf0\x0c\x76\x60\xdf\x47\xe5\xaa\xea\x38\x70\xf7\x2a\x7d\xbb\x3a\x6a\xbc\xf8\x94\x2f\xa3\x3f\x7c\xa8\xc0\xe9\xeb\x9b\xe2\x35\x87\x15\x18\xd7\x04\x24\x29\x32\xee\xfd\xf9\x13\x6b\x6c\x6c\x78\x4a\x17\x13\x57\x1d\x52\x3d\x84\x82\x2e\xb6\x44\x1f\x38\x12\xfd\xea\x23\xba\xae\xc2\xb3\x7c\x7a\xc7\x57\xec\xce\x53\xef\xc0\xd6\x15\xd7\x7d\x0d\xdb\x0d\xcd\x7a\x3a\xed\x4f\xdb\xb0\x2f\x7f\x35\x60\x13\xb6\x3d\x72\xf7\x79\x38\xac\x8a\x7b\xfd\xf8\xd5\x26\x35\xd8\x47\xba\xaf\x4c\x78\x6b\xe2\xbb\xb0\xe2\xc5\x39\xb6\x9d\xec\x68\x45\x2e\x76\x68\x51\xa6\xed\x3b\xbe\xe2\xa0\xbc\xe2\x7c\x24\x2e\xea\xb7\x86\x29\x9b\xf0\x15\xf3\x21\x0b\xa9\x74\xe5\x16\x39\x62\xc7\xb5\xe2\xfa\xbf\xb3\x08\xab\x58\xbe\x65\xe3\x68\x98\x37\x61\x42\xd1\x80\xcd\xd3\x18\xc3\xa0\x7f\xd9\x45\x90\xd6\xa7\xf4\x5a\xb9\x76\x3e\x10\xbe\xe7\x5e\xc3\xed\x19\x6c\xe8\x82\xde\x02\xfb\x1c\xd0\xcd\x38\x0a\xc6\x0b\xe1\x08\x58\xba\xe8\x26\x74\x2a\x8b\xed\x17\x3c\xe1\xd5\x47\x8b\xa8\x71\x79\x7d\x75\xf6\xe2\xb8\xea\x86\xa0\xee\xa8\x3d\xbb\xc1\x33\x68\x6b\xc9\xc1\xa4\x1d\x78\x06\x1d\x9d\x54\x6e\xb5\x7c\x3d\xf0\x23\x16\x89\x55\x93\xd8\x42\x70\x47\x6f\x5e\xa1\x26\x12\x47\x22\x4b\x86\x32\xa4\x39\x89\x62\x78\x0a\xed\x8a\x61\xdc\xdb\xa9\x18\xbe\xbd\xdd\xcf\xb1\x6c\xb5\x50\xc1\x32\x47\x34\xce\xc9\xef\xe0\x9b\x2f\x82\x8f\x15\x3e\x92\x4b\x90\x68\x16\xbf\xfe\x9a\xce\xd5\x0c\x6d\x6f\x35\xa3\x7a\xa1\xd7\x2d\xfe\x4d\x14\x79\xec\x16\xe1\xc2\x27\x8a\xf0\x6f\xa2\x48\x67\xaf\x00\x86\xe1\xe6\x2d\xb6\xf8\x41\x00\xfd\x80\x15\x0f\x7c\x6b\x86\x6e\xc5\x9a\x81\x43\xf9\xba\x57\xa8\x57\x58\x00\x9a\xd5\xab\x15\x7f\xcc\x07\xa8\x67\xe3\x67\x80\xe8\xd1\xa8\x6f\x77\xb9\xae\xe6\x45\x9f\x3e\x85\x6e\xa3\xa1\xa7\xce\xd2\xe6\xa1\x9d\xac\xf7\xc2\x69\xbc\xc0\xc5\xdf\xbf\xde\xb6\xaf\x64\x2c\x9c\x02\xdc\x0d\xae\x82\x86\x2e\x6d\x48\xaf\x40\xd9\xa2\x96\xec\x19\x89\x2c\x4e\xcc\xfe\x96\x2d\x6a\x58\x81\x6c\xdd\x32\x1e\x8b\xc1\x1e\x23\x07\x16\x4b\xe4\x32\x40\x9f\xe7\x0a\x84\x26\xec\x9a\xd6\x9a\x7a\x1b\xa7\xb8\x71\x82\x75\x54\xd4\xba\x52\x7c\xd7\x0a\x98\xae\x03\xf6\x6c\x5a\x18\x9f\x55\xba\xbe\x5a\xa7\x34\x22\xc3\xe1\x7d\x7b\xb7\xb4\x2a\x76\x62\x36\xf5\x54\x59\x36\x2c\x60\x9d\x56\xb8\xc3\xb4\xa8\xe6\x9d\x71\x48\x46\x4e\x17\xda\xed\xb3\x72\xb9\x26\xa8\x1a\x50\xa7\xf4\x87\x0f\x50\xd8\x62\xf0\x66\x5b\xeb\xc8\x8f\x12\xa9\xcf\x4d\x83\xfb\x0a\x3a\xef\xa1\xba\x20\xcf\x92\x1f\x78\x0b\x1f\x8f\x60\xce\x66\xc1\x58\x39\xc2\x7f\x39\x2c\xcf\x79\x33\x22\x90\xc2\xa7\xa1\x2a\xe5\xe1\x0b\x63\xaa\xf6\x83\x57\x47\xd4\x7f\xa6\x11\xd2\x2c\x4f\xd9\xbc\xfa\x4c\xc8\x8a\x07\xe9\x8b\xda\x57\x91\x75\x85\x97\x7f\x54\x4c\x1e\x9d\x3c\xd6\xc1\x16\xdd\x63\xf7\xbb\x02\xd4\xd2\x09\x8b\x2a\xa1\xef\x38\x2b\xbf\xe4\xaf\xbf\x76\xbd\x00\x85\x8b\xce\x6b\x16\xd2\xd2\xf1\x6f\xb9\x88\xbc\xe2\x59\xe9\xc9\x53\x7d\x8d\x5f\x45\xef\x30\x48\x4a\x9f\x0c\x9a\x84\xce\x19\xa7\xed\xcd\x51\xc2\x48\xbb\x79\xe0\xdd\x00\x19\x01\xc3\x86\xb4\x18\x8d\xf2\x8d\x82\x55\x31\xd2\xfe\x9d\x36\x4a\xe8\x23\xa5\xc2\x21\x62\x65\x74\x98\xea\x71\x08\x25\x5f\x29\x28\xbb\x8a\x8a\x6f\xf3\x53\x76\x53\x8f\xca\x47\xcb\x55\xf1\x09\xf4\x0d\x6a\x2f\x0b\x1a\x4f\x7c\x2b\xee\x6f\x89\x8e\x6e\x4c\xe0\xce\x41\x91\xca\xf2\x7e\x31\xff\x31\x97\x2e\x1a\xf3\x25\xb4\x15\xfe\x21\x0e\x4e\x51\x26\xae\x50\x86\xf6\x89\x1f\xde\x65\x28\xd2\x96\x3a\x91\xb0\xad\x54\x1d\x5e\xa4\x22\xa8\xa4\x09\xe6\xd2\x29\x5e\x23\xc2\xf8\x2c\x9b\x9b\xee\x4c\x23\x72\x30\xe0\xca\x03\xdc\x0b\xf4\x8d\x10\xe6\xdb\x35\xed\xfd\x71\x03\x5b\xed\xce\x18\x92\x3b\x91\x23\x4b\x18\xab\xe8\x2f\x06\x82\x6d\x4c\x8a\xeb\x25\x26\xcf\x09\x11\xa4\xe3\x25\xf3\x52\x9b\x85\x48\xca\xb0\x29\x3d\x98\xac\x68\xcb\x06\x33\x84\xdb\xf3\x04\xde\xb9\x47\x98\x4e\xed\x63\xd3\x04\x33\xa6\x8b\xce\xf2\x2d\x78\xd9\x14\x83\xea\xa5\xec\xa6\x09\xca\xdd\xe7\x3e\x90\x4d\x50\x50\x1d\x64\xba\x34\x72\x66\x64\x91\x72\x0b\x46\xb6\xc8\x13\x2b\x8e\xdf\x4a\xe3\xe8\x72\x8b\xfb\xad\x4c\x90\xf2\x48\xeb\x0e\x36\xb5\x23\x94\xc5\x72\xc2\x31\x01\x3d\x54\x0a\xf4\xb0\xbd\x4d\x2a\x4a\x09\xa6\x28\xbb\xa5\x68\xa7\x2e\xd3\xb1\xea\xc0\x28\x58\xf6\x48\xf4\xdd\xf2\xc7\x8b\xb2\x69\x13\xb2\xd9\x14\x0f\x54\x05\xf5\x8e\xed\x0b\xb3\x78\xff\x92\xd7\x7a\x5a\x35\x68\x82\x9e\xbe\x41\x5b\x70\x13\xb3\x34\x5e\x1e\xcf\x26\xbd\x56\xc4\x16\x36\xec\xe1\xfb\xc6\x1e\xbf\x92\x28\x54\x84\x80\x2d\x6a\x01\x01\xb6\x07\xfc\xdf\x82\x52\x93\xad\x2c\x6a\x64\xb1\x3e\x30\x6e\x39\xa6\x6c\x81\x82\x0e\x94\x76\x51\x68\x1e\x2c\x18\x93\x95\xd8\xa0\xd0\xdb\x05\x3e\x7b\x8b\x18\xe6\x2d\x19\x15\x3c\x68\xa6\x64\x44\x0f\xd9\xcc\x60\x63\x31\x2a\x67\x2f\x53\x00\x1e\x42\xdd\x6d\x6b\x49\x63\xe7\x4c\x04\xa1\xaf\x0a\x0f\x64\xda\xd8\x5c\x99\xe3\xcf\x99\x0e\x60\xbf\x1c\xac\x25\xd5\x9b\xab\x08\x55\xd9\x76\xb3\xfd\x5b\x8d\x79\x27\x82\x1b\x0b\xe5\x6c\x1d\xb5\x15\x03\xb9\xb5\xdc\x88\x90\xdc\xd8\x13\x9a\xad\x1c\x53\x5a\xd9\x81\x36\x78\x15\xd5\xad\xb7\xf0\x31\x1f\x4f\x34\xe6\xaa\xdd\xe2\xa3\xc3\xed\xe2\xb4\xec\x8b\x6e\xed\xf3\x48\x7c\x60\xb0\xb3\xa2\x65\x2f\xc2\xda\x23\x1c\xe5\x60\xdb\xa6\x29\x58\x14\x3e\x29\xa3\xf9\x79\x34\xa1\x6c\x96\x2f\x0b\x91\x14\x25\x09\x4d\x7f\xe0\xed\x38\xee\x81\x4b\xac\x25\x53\xab\xd2\x35\x4a\x74\x91\xd3\x48\xe9\x08\xbb\xd3\x72\x16\x69\x37\x4b\x2f\x2a\xc9\x96\x65\x3c\x6e\x03\xa5\x82\x4e\xd6\xf1\x82\x55\x16\x37\xf1\xec\x0e\xf1\x62\xdc\xba\x43\xff\x02\x01\x49\xdf\x17\x7d\xd7\x84\x20\x6b\x42\x30\x6e\x42\xc0\x42\xda\x84\x98\x4f\xf6\xc1\xf8\x0a\xbd\xce\x9a\xc6\xe4\x73\x58\xd6\xcb\x92\x65\x74\x71\x5e\x58\x34\xee\xde\x89\x63\x29\x5f\x16\xc3\xdf\x55\xf2\x66\x21\x98\xe2\x9d\xd7\x54\x46\x13\x54\xab\x72\xbf\x39\x7d\x9c\x84\x9e\x12\xc8\x81\xd2\x0e\xc7\x3c\x11\x24\x5f\xfc\x53\x3c\x55\xb7\x0b\x64\x34\x47\xfb\xbd\x8e\xb5\x8b\x85\x4a\x76\xc0\xbc\x58\xc2\x31\xf2\xed\x6e\x34\x8b\x58\xfb\xcd\xb1\xe5\x12\xf8\xe5\x84\xcb\xdc\x22\xad\xb6\x3e\x17\xc6\xd9\xaf\x12\x4b\xac\x14\x27\x2b\x28\xe4\xba\x70\x99\x80\xda\x8f\xe9\x8f\x25\xcf\x5e\x03\x50\xdc\x06\x3c\x54\x0f\x9c\x84\xec\x26\xf9\xce\xb3\xa4\x0f\x3c\x05\x6c\x5d\x60\xb9\xb2\x57\x43\xac\x63\x14\xd1\xa3\xe3\xb7\xa7\xc7\x87\xfd\xf3\xe3\x23\x7c\x8d\x11\xdd\xc6\x07\x14\xc4\xc2\x3d\x84\x8c\xb1\xa4\x05\x6f\x63\xca\xa7\xa8\x59\x46\xa1\x00\xcf\x7e\x82\x85\x03\x4c\xb2\x9c\x92\x50\x79\x99\x2f\xf0\x30\x47\xd2\x2c\x02\xe6\xed\xe3\x8a\x74\x2b\x3c\x0c\xe3\x21\x9c\x5d\xc2\x75\xd1\xad\x80\xe1\x4d\x5f\x10\x14\xf0\xbb\xf9\x94\xa6\x39\xbd\xcd\x5f\x46\xc9\x7b\x1f\x2a\x85\x37\x7f\xcc\x1c\xe6\xdd\x3b\x28\xdd\x8a\x97\xfe\xce\xa2\xe3\x40\x60\xac\xda\x03\x5e\x5f\x3d\xb3\x06\x03\x3a\x64\x29\xb5\xc3\x27\xd3\x84\x0f\x7b\x80\xef\x0e\x7b\xee\xcd\x9b\xed\x86\x8a\x4e\xd4\xdd\x17\x88\x3e\xd2\xd6\xb3\x60\xff\x86\xc4\x51\x28\x5e\xd7\x91\x6e\xdf\xee\x90\x79\x3c\xdb\x3f\x0f\xa1\xae\x75\xc3\xda\xe1\xfc\x73\xd1\xab\xdc\xa7\x7a\xc1\xa7\xfd\xe3\xe8\x96\xd2\x51\x94\xe5\x34\xe5\xe3\xf1\x8a\xcf\x39\x05\xa6\x4a\xe9\x88\xde\x36\xd5\xe8\xeb\x57\xa3\x56\xdb\x9f\x42\xcd\x21\x80\xbe\x08\x4b\xaf\x99\xf8\xda\xae\x6c\xaf\x62\xf2\x58\x10\x53\x56\x3d\xd9\xab\xda\x5f\xac\x78\x43\xba\x8c\x12\x1a\xd0\x6a\x7d\x2f\xe7\xfa\xdb\xb0\xe0\x7a\x6d\x88\x15\x7a\xba\x78\xbf\x6e\x4c\xb2\x33\xeb\xfe\xcb\xe2\x70\x82\xa5\x0b\x54\x76\xed\x05\x51\xcb\x3f\xa1\x05\x9d\x70\x8e\x77\xd5\x16\x44\xe5\x5c\xdc\x88\x1f\xba\x5b\xb1\x3a\xf2\xba\xa8\xd8\x8f\x17\x04\xf9\xac\xc0\xbc\x1f\xc7\xd5\x60\x65\xfc\xa2\x42\xbc\xb9\x12\x07\xf9\xe7\x08\x65\x73\x7a\x73\x11\x0c\x37\x3d\xd1\xaa\xf0\xdc\x8f\xf1\x6f\x19\x78\x83\x5c\xda\xf7\xdb\xe4\xde\x6d\x29\xf6\x8e\x0c\xd8\x24\x23\xed\x78\xcb\x34\x8a\x91\xa2\x3c\xdb\x62\xd6\x92\xd4\x6b\x31\x3b\x2b\xde\xf2\x7d\xa7\x45\xfd\xf3\x9a\x7b\xb8\xe3\x4b\xb3\x59\xac\xad\x63\x7a\x4d\xe2\x19\xc9\x29\xa7\xa7\x63\x9a\x9b\xc3\x17\xdc\xb6\xc4\x4a\xbc\xdb\x48\xe5\xca\xd5\xa5\xd7\xec\x33\x0f\x23\x55\xee\x08\xad\x06\xbf\xb3\x0c\x7e\x89\x0a\x16\x6c\xb3\x2d\x50\x5e\x31\x9b\x1d\x83\x72\xe1\x92\x0e\x15\xc3\xad\x4e\xa8\x9c\x68\x58\xa6\xd1\x28\x3b\x1f\x47\x69\xf8\x92\x5e\xd3\xf8\x0c\x57\x6f\x39\xde\xa0\x29\xf0\x84\x02\xe9\x59\x71\x4b\x4c\x44\x43\xe5\x23\x83\x25\xed\x3f\x30\x14\x5d\xa1\x3d\x6b\xf3\xc9\x84\x22\xd3\x0c\xe0\xe6\xd6\x9a\x60\x60\x17\x4b\x95\x03\xca\x62\xb2\x9c\xc0\xac\x61\x96\xb9\x8b\x49\xea\xd7\x22\x95\x2c\x5b\xa1\x57\x1c\xa6\xb7\x2e\xb8\x61\x73\xce\x2b\x1d\xfc\xf3\x9e\xce\xf7\xc1\xec\x83\x9b\x55\x92\xe6\x08\x2b\x5b\x90\xd0\xc8\xd6\x84\x89\x80\x71\x59\xc1\xc5\xe7\xe9\x53\x68\x03\x3a\xc1\x91\x58\x25\x74\x44\x82\xf2\xdf\x79\xfa\x14\xba\x22\x45\x39\xfd\x3c\x7d\xaa\xdc\xaf\x2c\xbf\xba\xf7\x74\x7e\x58\x38\x1c\x44\x4f\xa7\xc7\xe5\xc7\x15\x2c\x04\x7c\x9b\xe7\xb6\xc8\xf9\x05\xee\xf9\xd9\x4a\x9e\x56\xae\xc7\xd9\x72\xb0\x47\xc7\x2f\x5d\x00\xbe\x38\xe6\x4f\xbe\x40\x7f\x94\xb3\xe4\xbf\xf4\x3c\x06\xf1\x19\xfa\xf5\xdd\x79\xd1\x35\xc7\x12\xe0\xd2\x5e\x57\x55\xc7\x3b\xdb\xfb\xf7\x6c\xf7\xf0\xf4\x73\xb4\xdb\x7d\x74\xdf\x76\x8f\xcf\x0e\x3f\x47\xc3\xdb\x8f\xca\x43\xad\xe5\xe8\xd3\x06\xba\x83\xee\xd5\x06\x1a\x6c\x40\xa7\xc1\x73\x8e\x3c\x1c\x50\x9a\x86\x96\xc1\xde\x3e\xaa\x55\xf9\x72\x3a\x28\xca\xe3\x3b\xe3\x04\x4a\x82\x06\x3c\x5b\x08\x7d\x50\x83\xfd\x65\xcd\xef\xfa\x3a\x71\xb7\x80\x83\xdd\x23\x8c\xd2\xab\xab\x9f\x44\xea\x37\x45\x64\x56\xba\x88\xb5\xfa\x48\x2e\x06\xef\x65\x2b\x8f\x06\xf9\xd2\x6c\x75\xf8\x59\xd8\xea\xf0\x8b\xb1\xd5\x70\x15\xb6\xf2\x75\xe2\xaf\xc6\x56\x45\x64\x3e\x33\x5b\x2d\x06\xef\x65\x2b\xcf\x44\xfb\xa5\xd9\xaa\xff\x59\xd8\xaa\xbf\x1a\x5b\x2d\x63\x0f\x1f\x32\x7f\x35\xf6\x28\x22\xf3\x99\xd9\x63\x31\x78\x1f\x7b\xec\xb4\xff\xf2\xec\xf1\xfc\xb3\xb0\xc7\xf3\xcf\xc3\x1e\x3e\x64\xfe\x6a\xec\x51\x44\xe6\x33\xb3\xc7\x62\xf0\x5e\xf6\xd8\x2d\xb3\xc7\x03\x7b\xa1\xf0\xf5\xd7\xf0\xc0\x2c\x0a\x3e\x8d\x61\xba\x7f\xba\x3f\x7e\x7b\x5f\x8c\x7d\xb7\xab\xd8\x77\x31\x96\x9f\x3c\x48\xdb\xf7\xa7\xc2\xf6\x42\x2a\x7c\x09\x11\xfe\xae\xea\xa6\x71\x85\x54\x7c\x82\x4c\xf8\x9a\xfa\x84\x2e\x15\xc1\x79\xe9\xe9\xe1\xfa\x2f\x4b\xcf\x93\xbf\x1c\x3d\x7d\x4d\x7d\x42\x97\x8a\xe0\xbc\xf4\xdc\xfe\xd8\xc5\xb1\xe3\x34\xb6\x59\xaf\xda\x42\x87\xcf\x2f\x86\xbb\x1f\x21\x86\x3b\x9f\xa5\x9b\x1e\xb7\xcd\x2f\xd4\xc7\xbd\xfb\xf7\xb1\xd3\xe9\xfe\xe5\x0d\x86\xb7\x5f\x54\xe3\xbe\x59\x0c\xde\x4f\x05\x0f\x47\x7f\x69\x2a\xfc\x8b\x2f\x4b\x85\xc5\xe0\xfd\x54\xf0\x30\xfc\x97\xa6\xc2\xe9\x97\xa5\xc2\x62\xf0\x7e\x2a\x2c\x9c\x2d\xbe\x0c\x15\xce\xbe\x2c\x15\x16\x83\xf7\x53\xe1\xcb\x59\x62\x9d\xdd\xbf\x92\x29\xd6\xf9\x88\x49\xa0\xd3\xf9\x82\xdb\x83\x8f\xfe\x5a\x84\x78\xf4\x31\x84\xf8\x82\x3b\x0f\x8f\xff\x5a\x84\x78\xfc\x31\x84\xf8\x82\x3b\x7b\x4f\xfe\x5a\x84\x78\xf2\x11\x84\xe8\x7e\xb9\xcd\x86\x6e\xfb\xaf\x44\x88\x6e\xfb\x63\x08\xd1\xf9\x72\x84\xa8\x9c\x33\xbe\x34\x21\x3a\x1f\x43\x88\x2f\x67\x4d\x76\xff\x5a\x0b\xf8\xee\x47\xac\xe0\x3b\xdd\x2f\x67\x50\x76\x77\xfe\x5a\x84\xd8\xb9\x17\x21\x64\x70\x62\xef\x1a\x4a\x1d\x3a\xcb\xed\xa6\xe2\xf6\x93\x3c\xa4\x96\xbf\xe4\x79\xb4\x8f\x6a\x12\x9c\x3c\x94\x86\x6f\x7a\xb0\xb7\xcb\xab\x59\x69\x4f\x7b\xf0\xa4\xe4\x0f\xee\xed\xbc\x27\x7c\x8d\x0d\x7c\x13\xf6\x76\x3c\x37\xed\xcb\xf1\x4e\xf4\x62\xdf\xaa\x8c\x01\x7f\xbc\x8f\x37\xae\x84\x86\xef\xf5\xf7\xd5\x1a\xfe\xa6\x07\xbb\x9d\x32\x49\x76\x77\x3f\x0f\x49\x76\x3b\xb0\x01\xdd\x47\x9f\x44\x97\xdd\xbd\x8f\xc6\xa5\xf3\x89\x4d\x77\x3b\x4f\x3e\xba\xed\x4f\x6d\xba\xfb\xf1\x5c\xd9\x7d\xfc\x89\x4d\x7b\x1f\xa6\x5c\xad\xe9\x27\x4b\x9b\xae\xd8\x60\x7f\x50\x3e\x2f\x94\x7c\xe9\x8a\x7b\x41\x37\xfc\xa5\xa4\x7f\x81\xea\x5b\x22\x05\x1b\x5c\xb2\x3f\x65\x3c\x3a\x4f\x56\xd3\x0c\x8b\xb4\xf3\xef\x97\x9e\x7b\x54\x61\xf0\x4d\x0f\x76\x1e\x7b\x34\x84\x37\xf4\xe9\x7d\x70\x72\x35\xc5\xce\x72\x9e\x5d\x74\x32\x53\xe2\x9b\xf2\x3c\x61\x31\xce\xbd\xf8\x86\x0f\xc1\x5e\xa5\x3e\xb4\x9c\x4d\xa5\x6f\xe9\x7d\x3a\x61\xcd\x89\xf2\x5e\xb7\x0a\x97\xce\x69\xb8\xc0\x7d\x7e\x84\x9e\x7b\x8e\x47\xd9\xc8\xf1\x7f\x1d\xc5\xb2\xc0\xc8\xf2\x73\xc3\xf7\x4c\xa8\x76\xae\x94\x3f\xb3\x8b\xd1\xe5\xa2\xa6\x0e\x75\x2d\xab\xb1\x26\xc8\xda\xee\xf5\x09\x03\x11\x7a\xaa\x84\x71\xd3\x74\x30\xeb\xf5\xa0\x7c\xeb\xdd\x60\xe8\x54\xae\x72\x97\x56\xef\x82\x2e\x70\xad\x7b\x4f\xe7\x05\x04\xfe\x72\xfe\xbb\xc5\x38\x21\xca\xbc\x91\x5a\xc2\x86\x23\xc4\xc5\xca\xf4\xfa\xa1\xea\x80\x6f\x3d\x11\x1b\xce\x0b\x41\x32\xee\x62\x00\x0f\xd4\x45\x39\xab\xc9\xf2\x55\x78\x0d\x13\x2b\x95\x20\x2e\x27\x03\x6a\x76\x0e\xe5\xc3\x07\xa8\xd7\x8d\x4c\x7e\x70\x9c\x0b\x3f\x7c\x70\x44\x92\x0b\xec\x22\x07\xd5\x55\xe8\x5f\x3d\x45\x19\xef\x4e\xd7\x71\x54\x3d\x44\xeb\x71\x1b\xb5\x9d\x4b\xef\xef\x55\x5a\x76\x27\x45\xc7\xb3\x2a\x81\xc3\x8b\x7f\xfe\x0b\x65\x5e\xa7\x69\x33\x79\x62\xc0\x12\x9b\x38\xab\x5f\x9d\x53\xb8\xe2\x0f\x01\xe7\xa0\x5c\x0a\x33\xac\xb7\x76\x41\x5c\xaf\xf3\xc4\x1f\x10\x25\x37\xc4\x0d\xd0\xca\x80\xff\xb4\xc2\x83\xdf\x74\xe9\x3a\xca\x66\x24\x7e\x4e\xe3\xb8\x51\x18\xf2\x83\x6a\x8a\x88\x31\x53\x4f\x4b\xe6\xf3\x98\xb6\x06\x2c\x0d\x69\x7a\xc8\x62\x0c\x84\x52\xbb\x19\x47\xb9\x7a\xd1\x63\x29\x91\xc4\x5b\x67\x8b\xc0\x99\xa7\x87\x3b\xed\xe2\x5d\xeb\x29\x9b\xbe\x49\xdc\x0e\x60\xba\x0e\xc9\xe6\xa7\x4d\xcc\x46\x4b\x48\x13\xd2\xc1\x6c\xe4\xa7\x8a\x7d\x35\x00\xdf\x41\x6d\xc9\xab\x78\x5c\xd2\xbc\x19\xbc\xbd\x6a\x0a\x93\x74\xc4\x55\x6c\x3f\x4d\xc9\xdc\xe6\xd5\x38\x0a\x68\x2b\x20\x71\x5c\x57\x0f\xd9\x38\x2f\x44\x79\xda\x90\x01\x3f\x7d\xd9\x4d\x6c\xa6\xda\xad\x3a\x4d\x97\x06\xb1\xf9\xbc\x24\xc1\x16\xbf\x38\x51\xb0\x95\x8f\x27\x4b\x4a\xb3\xe8\x8f\xae\x6b\xf9\x6d\x13\xe6\x36\x6d\xa2\xec\x35\x79\x5d\xbf\x6d\xf0\x9e\x8a\xef\x73\x8f\x0a\x2d\x6a\xed\xb9\x0a\x47\x31\xa2\xf9\x1b\xbc\xd7\xa5\x22\x3f\x0c\x48\xf0\xbe\xd6\xf0\xdc\xeb\xf7\x95\xe3\xb8\xd8\xa0\xf1\x66\x78\x94\xd0\x26\xd0\xb8\x09\x91\xb8\x0e\x3e\x6e\x02\x09\xc3\x73\xf6\x3b\x33\x56\xb7\x26\x0c\x4d\xc0\x62\xbc\xca\x3f\x37\x49\xf8\x40\xc2\xd2\x2e\xdc\xc2\x53\x3b\x00\xf7\xad\x09\x5e\x24\x3a\xe8\xe4\xce\x4d\xee\x3b\xb0\x5a\x36\x15\xde\xc1\x53\xb8\x75\x3c\xdb\xc7\xd0\x83\x0b\xc9\x79\xc3\x7e\x9e\xa7\x4d\xa8\x41\xad\x09\x1d\x2b\xf2\x6e\x04\x9e\x68\x3a\x26\x5b\x5e\xbc\x8f\x36\x37\x8b\x7a\x59\xe6\x58\x75\x47\x34\xaf\x47\x0d\x75\x7f\xba\x80\x8c\x33\x16\x4e\xf9\x65\x4f\x11\x94\xe2\x15\x21\xc1\x7b\x70\x6b\x4f\x71\x34\x9f\x4d\xcf\x72\x36\xcd\xea\xba\x48\xa3\x40\x2d\x7c\xf4\x0f\x93\xc4\x60\x9a\x30\x23\x8a\x7a\x8e\xb9\x5d\x7a\xcc\xa5\x44\x94\x77\x1b\x1b\xc5\x4a\x50\x19\x0a\xea\x29\xcc\x75\xcc\x96\x62\x00\x95\x52\x4d\x71\xc5\xe9\x1b\x2b\x54\x80\x0b\xcb\x17\x5a\x69\x2e\x5e\x28\xe2\x1d\xc3\x1d\xb5\x05\xeb\x01\x6f\xe0\x20\xf5\x11\x30\x8a\xc1\xba\xcb\x28\xca\x90\x30\x95\xcb\x53\xa8\x0c\x40\x65\x7f\xca\x8b\xbc\x8a\x65\xdf\x82\xee\x54\x87\x7a\xf2\xbd\x29\xb1\x68\xbd\x63\x6c\x70\xf5\x84\xb9\x19\xbd\x4a\x66\x2e\x3d\x19\x59\x86\x7d\x57\x6d\x99\x2a\x5e\xda\xdc\x84\x6f\x56\xe5\xa5\x6f\xee\xc3\x4b\x85\x9a\x7e\xc6\x59\xcc\x2f\x92\xc0\x6c\xba\x7c\xfd\xe8\xe9\x61\x09\x9c\x13\x6f\xcc\x5f\x82\xb3\x8c\xaf\xc4\x47\x0d\x9e\x87\xae\xe0\x08\xb8\xae\x50\x0a\x14\x62\xc3\x7e\x40\xe3\x8a\xd7\x4e\x58\x92\x47\x49\xf1\xb2\x86\x68\xa2\x2a\xdc\x20\x8d\x57\xd7\x77\xe8\x7d\xd3\x83\xe2\x3a\x71\x0e\xdf\xf4\xdc\x9e\xc9\xe4\x1e\xcc\x8d\xb3\x8e\x99\x6e\x84\x60\x7b\xca\x6f\xf4\x9c\xe9\xad\x10\x1a\xe3\x96\x37\x73\x5b\xaa\xc6\x67\xab\xdb\x62\x33\xce\xb5\xcb\x69\xe1\xf5\x60\x3b\x78\x97\x8b\xa3\x5e\x5a\x2f\x7a\x76\x74\x95\x57\x16\x45\x18\x5b\xe8\x59\x21\xc5\xa5\x8d\xc0\x26\x34\x4f\xe7\x7a\x3e\x14\x8f\x19\x69\x38\x97\xa5\xc5\x94\xb0\x5b\x0a\xef\x06\x8b\x25\x1e\xaf\xbb\x0f\xb7\x18\x09\x26\xdb\x87\xf9\x82\xf0\x9a\x56\xe0\x12\xc7\x04\x72\xec\x9f\xb9\x7e\x95\xd6\x8a\x5b\x52\xb0\xc6\x0b\x91\x59\xe6\x07\x65\x3b\xc8\x0a\x71\xe2\xad\x2b\x22\xb6\xcc\xab\x50\x9d\x90\xdb\x32\x9e\xce\xe6\x49\x01\x87\x76\x79\x6c\xac\xa0\x30\xc6\x63\xac\x72\xe3\x46\x4e\xd8\x6e\x90\x45\xc7\x30\x54\x21\xe6\x8b\xd7\x80\x85\x3d\x9c\x93\x41\x76\x11\x5d\x96\x54\xa6\x8e\x3d\x93\xd2\x6b\xde\x82\x37\x1c\x25\x54\x04\x5a\xe1\x40\xad\xb0\xa5\x0a\xa0\x13\x8f\xac\xf8\x9a\x30\x9a\x61\x10\x71\x39\x2a\x5a\xa4\x39\x19\x70\x14\x7e\x88\xc2\x7c\xec\xb1\x49\x65\x17\x0a\x57\x7b\xfd\x14\x53\xdd\x71\x6d\x69\x9b\x5e\xb7\x7a\xdb\xc5\xb1\x29\x85\xb8\x0a\xe0\x72\xb6\xb1\x08\xb8\xb9\x79\x7b\xc9\xad\x8c\x5b\x9c\xcb\x75\x45\x67\x43\xe0\x56\x07\x98\xe3\x5d\xd5\x65\x9e\x59\xe6\x98\x1d\xe1\x7f\x1f\xb8\x65\xdb\x96\xc1\xf7\x6f\xab\x58\x20\xa1\xb7\xf9\x17\xe8\xd0\xc6\x86\xea\x90\x35\x3c\x7f\xd1\x8e\xd1\x94\x64\xf4\x14\x1f\x15\xac\x5a\xf7\xa8\x65\x86\x6b\x7c\x73\x83\xd8\x99\x9f\xe7\xf6\x5d\x7a\x5e\x66\xf1\xa2\x82\x43\xb5\x8c\x7e\xc4\x83\x9b\xfd\xf5\x46\xc1\xf0\x97\x1c\x7c\xeb\x72\xf0\xad\x1b\xe3\x95\xb7\x77\x71\x2b\x36\x4a\x4b\x4a\xde\x0e\xc9\x34\x5f\xb0\x28\x26\x19\x7d\x49\x87\xbf\x58\x42\xe8\x97\x6a\x24\x1f\xdd\xba\xeb\x9c\xcf\x40\x02\x8c\x19\x51\xb9\x2f\x60\x75\xd2\x0d\x0d\x36\x2f\x47\x02\x2b\x77\xd3\xa2\x58\x46\x73\x3d\x33\x56\xd0\x50\xfc\x68\xd8\xf3\xa5\x1b\xac\xd6\x99\x8e\x0b\x91\x18\x6d\x44\xdd\x34\xf3\xdb\x89\x20\xdc\x59\xe9\xb9\xf5\xe5\xa6\xfb\x6a\x31\x1b\xe1\xe3\x23\x81\x0a\x1e\x15\x2c\xe8\x99\xa1\x0d\x03\xa1\x44\xf3\xc6\xab\x07\x5b\xa3\x5f\x08\xeb\x94\xda\x01\x61\x2d\xce\x27\x79\x2e\xa2\x37\xa5\x45\xdd\x63\xb1\xac\xa5\x7e\xec\xb5\xfc\x41\x81\xd3\x89\xbd\xbe\x6f\x2a\xa1\xba\xb8\x6c\xda\x13\x98\xd8\x6f\x29\x60\xa2\x38\xbd\xa5\x73\xa0\x67\xf0\x5d\x61\xe6\xf3\xe8\x8d\xa8\x2c\x34\x52\xe7\xf2\xec\x4a\x61\x19\x17\x09\x57\x88\xfa\xe2\x52\xaa\x5a\xba\x2d\x9a\x55\x6d\x80\x54\x84\x32\x74\xed\x11\x6e\xfb\xd9\x03\x96\x90\x89\x56\x55\x3c\xef\x35\x99\x50\x67\x46\xa9\x63\x89\x0d\xa8\xd5\x1a\xad\x28\x09\xe9\xed\x9b\xa1\x04\x82\xf2\x5c\xd5\xac\x2f\x32\xba\xbd\xb3\x5e\x0a\x8d\x19\x46\x19\x19\xc4\xf4\x2c\x0f\xa3\x64\xf9\x4e\x93\x25\xbd\xd5\x71\x53\x1c\xe3\xdd\x8d\x99\x52\x0a\x73\xc1\x71\xab\xc9\x07\x91\x16\xf7\xe9\x3c\xca\x63\x57\x1c\x72\x9e\xe2\x8a\x17\xc2\xc4\x74\x2e\xb3\x98\x5f\x39\x40\x9c\xa8\xd5\x46\xea\xdc\x8e\x63\xad\x96\x49\xe5\xf5\x47\x79\x15\x64\x6f\x50\x58\xc5\xeb\xfe\x78\x81\xae\xe1\x50\x5e\x1c\x29\x68\xd5\x21\xe4\xaf\x69\x9a\xd1\x17\x95\x9d\xe1\xcc\xf6\xae\xd4\x13\xbd\xc1\x68\xc2\x25\xfb\x35\x2a\x2e\x64\xe5\x13\xce\x59\x5d\x2f\xf3\x0d\x1f\x14\x54\x68\x13\x4a\x11\xc7\xcd\xbc\x52\x5d\xdd\xa8\x6b\x0c\x39\xb2\x34\x6e\x63\x31\xca\xf3\xb2\x92\x4e\xa4\xe7\x6a\xa3\x7d\xbe\x9c\xdc\xc5\x03\x62\x87\x69\x94\x50\xc9\x85\x76\x61\xb7\xd0\x29\x22\xf7\x1e\x8d\xf6\x33\x5a\xb8\x22\x34\x9f\x28\xea\x8f\xcf\x67\xea\xea\x08\x4a\x2f\x92\x9c\xa6\xd7\xc4\xec\x4d\x94\xb3\x44\x3d\xdd\x4d\xdc\xcb\x17\x4b\x53\x1b\x55\x67\x53\xff\x7e\x61\x03\xad\x7a\x3e\xbc\x2a\x51\x5a\x79\x96\xd6\xcf\x59\x64\xf3\x24\x10\x11\x9d\xfb\x29\x25\xd5\xc7\x4d\x7c\x1d\xb5\x68\x04\xd1\xf2\x17\xa2\x67\x56\x53\x77\x07\x6b\xba\xb8\x7c\xa3\x83\x03\xb3\x02\xc2\x05\x64\x9a\xcf\x52\xea\x9c\xd4\x88\x03\x93\x28\xc3\x7f\xeb\x34\x6e\x94\x36\x85\x2f\x68\x7c\xe9\xb2\x64\x6b\xc8\xd2\x63\x12\x8c\xad\x13\x3a\xf5\x94\x84\x53\x59\x9c\xd1\x91\x50\x3c\x45\xfb\x32\xca\x72\x9a\xd0\xb4\xee\xc7\x0a\x3e\x7c\x90\xe7\xf9\xb2\x31\x4e\x1d\xab\x47\xc3\xe1\x0a\x5d\xa2\xb1\xdc\x76\xba\x6f\x8b\x56\x4b\x56\x64\xa1\x21\x4b\x03\x5a\x3e\xd8\x12\x25\xc4\x6b\x26\x78\x3c\xee\x94\xf3\xcf\x4b\xf4\x1a\x97\xb4\x34\xc9\x8f\x84\xab\xa5\x52\xb5\xf4\xba\x95\xe5\x6c\xfa\x36\x65\x53\x32\x22\x2a\xd2\x1a\x94\x0e\xd3\x2d\x0c\xa3\x64\x4c\xd3\x28\xcf\xea\xb8\x93\xd7\x04\xb1\xe9\xa6\xda\xd7\xc5\x86\xf5\xb2\x43\x07\x4b\xb2\x3c\x9d\x05\x39\x1e\xde\x61\x75\xc7\xe0\x31\x3c\x08\x3d\x09\xd6\x24\x89\x92\x58\xc9\x29\x97\xd0\x1b\x18\x16\x10\x14\xa6\x00\x1b\xbc\x6b\x82\x89\x47\xa5\x8c\x65\x36\x78\xe7\x9c\xbc\xf8\x4f\x5d\x38\xbd\xd9\xe0\x1d\xda\x56\xbd\x1e\x14\xb7\x23\x25\x75\x22\x8f\xcd\xb5\xd9\x71\xb1\x29\x3b\x2f\xd0\x74\x82\x6e\x03\x16\x62\xb9\x2e\xf3\x6b\x19\x31\x83\xa6\x93\x4f\xf0\x80\xfb\xf0\x41\xa3\x5b\x02\x75\xf6\x43\x94\x84\x5c\x51\x14\x01\x56\xc3\x73\x5c\x56\x04\xe1\x7b\x60\x1c\x25\x7c\x61\xbb\xec\x0e\x79\xa8\xe4\x76\xf8\xeb\xaf\xc5\xe5\x72\xe5\x67\x25\x9c\x40\xb4\xdb\x19\xec\x3c\x42\x29\xf1\x6e\xa5\xe5\xc1\x58\x1d\xbe\x9b\x1f\x96\x36\x32\x89\xf5\xb4\xd3\x84\x51\xa7\x09\x83\x8e\x4d\xfb\x31\xc1\xf7\x65\xea\x69\x07\x63\x5d\xed\x35\xe0\x03\xd4\x47\xf8\xe3\x31\xff\x3e\xb0\x0e\x0a\x0d\xb0\xd6\x55\x40\x82\x31\xbd\xe0\xb5\x2f\x7d\x9b\x67\x76\x18\xcb\x72\x8d\xd2\x39\x68\x18\x0d\x87\xd0\x83\x17\xc9\x30\x4a\xa2\x7c\xce\x17\x15\xd0\x83\xcd\x8e\x8e\x95\x1d\x34\x21\xed\x36\x61\xd4\x6d\xc2\xa0\xdb\x04\x5e\xfe\xa0\xb8\x50\xd0\x04\xba\x0e\x78\x8b\xfa\x88\xb1\xb8\x6c\x08\xa0\x57\x2a\x7b\x11\x59\x27\x95\x69\x97\x4b\xe8\x45\xdb\x4a\x1a\x89\x24\xfb\x3c\x73\x20\x92\xba\x56\x92\xec\x86\xd5\xeb\x30\xca\x72\xae\xb2\x2c\xea\xdb\x3d\x29\x3c\xd1\x26\xea\xfb\x02\x73\x23\x3d\x22\x77\x23\xbf\xf2\xf1\x42\x0d\xea\xa9\xa0\x6c\x09\x98\xc4\xd3\x50\xb1\xaa\x99\xbb\x32\xef\x56\x31\x41\x0f\xe2\x88\xb3\x69\x29\x5f\x6e\x72\x7a\x88\xe2\x86\x6c\xf5\x13\xc8\x5d\x95\xbd\x22\xf9\xb8\x35\x65\x37\xf5\xed\x36\x3c\x44\xa6\xdd\x84\xb4\xdb\x68\xda\xef\x43\x6f\x98\x52\xbb\x4f\x78\xa9\x11\x2f\x35\xaa\x2e\xd5\xe9\xf0\x52\x03\x5e\x6a\x20\x4a\xb9\x33\x3a\xe5\xf3\x2d\xea\xd3\x28\xc7\x39\x8c\x25\xf6\xc4\xc4\x55\xaa\x9c\x95\x8b\x3e\x12\x60\xe5\xd5\x4d\x65\xcf\x26\x46\x5b\xb0\xb0\xa5\x9e\x8b\x5c\xcb\xab\x0b\x0b\x2c\x60\x49\x13\x84\x7a\x46\xc7\x01\x36\x78\x67\xc2\xe6\x1b\xb4\x6f\x48\xf6\x8a\x25\xe2\xee\xc3\xaf\xe9\xfc\x4d\x12\x0b\xe3\xcb\x72\x0b\x94\x58\x16\xdd\x6c\xf7\x6c\x0d\x5a\xcc\x7c\xb4\x28\xf3\xb1\xa3\xfd\xdf\xd3\x79\xc6\xc9\x63\x53\xeb\xcd\xe0\x1d\x0d\xd0\x29\x36\x2b\x51\xcb\xca\xab\x9b\x4e\x49\xdf\x45\x74\x38\xcb\xac\xd7\x7c\x91\x7e\xef\xe9\x1c\x22\xa4\x73\x71\xfe\x92\xc0\x9c\x88\xb2\x6f\x6e\x12\x3e\xd9\xd3\x34\x9f\x0b\x52\xe2\xa8\xbe\xa7\xf3\x52\x10\x5b\xde\x96\xd8\x2d\x32\x4e\x6b\x15\x02\xc1\x8b\x3a\xfa\x19\xa9\x7c\x3c\x89\xf2\x1c\x4d\x5f\xfb\xe7\x55\xc7\xc9\xb5\x2c\x50\x65\x58\x70\xf9\x93\x5f\xad\x5c\x0c\x1e\xcb\x12\x3b\x05\x25\x98\x71\x01\xb6\xec\x73\x19\xd0\x4d\x7c\x39\x58\x9b\xb0\x70\x16\xd3\x16\xbd\xe5\x26\x70\x66\xa9\xbd\x83\xb5\xb5\xad\xad\xaf\x20\x63\xb3\x34\xa0\xaf\xc8\x74\x1a\x25\xa3\xef\x4f\x5f\xf6\x6e\x71\xba\x7c\x97\xb5\x26\x64\xba\xb6\xb6\xb6\xf5\xf0\xe1\xc3\x2d\xb8\x6b\x34\xd7\xb6\x1e\x42\x07\x1e\x6e\xc9\x14\x6d\x7d\xd6\x45\x0b\x4d\x90\x4d\x34\xe1\xea\xea\x86\x0e\xa6\x24\x78\x7f\x95\xd2\x3f\xcc\xa2\x94\x5e\x5d\x71\xda\xae\xad\xcf\x32\x0a\x59\x9e\x46\x41\xbe\x7e\xb0\xb6\x26\x47\x47\x84\x67\x54\x63\x52\xd7\x50\xd6\xaf\xae\x68\xf6\x0a\x61\xaf\x37\xe1\x27\xb8\x26\xf1\x8c\xee\xa3\xb5\x8d\xd6\xe9\xc1\x1a\xe7\x8a\x02\xa1\x3d\x5e\x6b\x3a\xc5\x2e\x5a\xb6\xcd\xcc\x2b\x72\xce\xcf\x0f\x1f\xf4\xf1\x8c\x18\x71\x1b\x8a\xc5\x59\x85\xd0\xbe\xc2\xe4\x8d\xa5\x05\x5c\xd5\xd8\x05\x2f\x76\x59\x68\x52\x26\x7e\xf8\xe0\xbc\x59\x5d\x2e\x21\x58\x53\x37\x21\x71\x3c\x58\x88\x24\x32\xcc\x2a\x58\x1a\x6b\xdb\x69\xb3\x28\x22\x8b\x9f\xde\x66\x83\x77\xde\xbe\x1d\x38\xa5\x7c\x26\x29\x2c\x74\x06\x2a\x98\xa6\x0a\x7f\x4e\x32\x91\xdc\xd2\x49\x76\xbe\xef\x58\x9e\x37\x2c\xdf\x03\x89\x9a\xa5\xb8\x1a\xbe\x2e\x82\xef\xf8\x7c\x21\xd5\xc5\x92\xa8\x1f\xc7\x6a\x41\x94\x95\x06\xa1\x48\xfa\xe5\x94\x0f\x69\x4c\x73\xba\x90\xb8\xab\xe0\xc6\x8a\x53\x70\x35\x4b\xd8\xab\xdb\x22\x36\x1f\xe7\x02\xa8\x3e\x62\x23\x61\x38\x94\x8d\x3b\xaf\xb1\x83\xbd\x97\x2b\x90\xb2\xfc\x03\xb5\x3f\x60\x79\x64\x58\x62\x71\x81\xae\x7b\xe0\x31\xd3\xb3\x16\x4b\x8a\x4d\x2f\xa6\x1a\x9d\x44\xf9\xc2\x31\xb4\xe8\x61\x0b\xb1\x9e\xee\xaf\xe4\xa1\xc5\x15\x9f\xf0\x35\x59\xf4\xb4\x7f\xe5\x79\x00\x91\x83\xbb\xb8\x8a\x60\x13\x3a\x5c\x63\xe8\x4a\x17\x57\x51\x69\xcc\xe1\x2f\x27\xc1\xf7\xb4\x60\x40\xc8\x1c\x97\xd1\xa5\xa3\xb8\x78\x0c\xe2\x95\x84\xc9\x1e\xe5\x4a\xfd\x7a\xe7\x2c\xf8\xdd\xc9\xf9\x0e\xcf\x86\xe4\xa4\xb4\x68\x5a\xaf\x9a\x4e\x1d\xf4\xfd\xb3\x6a\xf7\x17\x34\xab\xf2\xa1\x3c\x6c\x1f\xac\x59\x13\xe9\xa1\x5e\x89\x1c\xb6\x5b\xaf\xbf\x7f\x09\x3d\xa8\xfd\x78\xdb\x6e\x4b\x47\xef\xc3\x76\xeb\xec\xcd\x77\x32\xb1\x63\x25\x9e\xff\x56\x26\x76\x4d\xe2\xb1\x4e\xdc\xb6\x12\xdf\x9c\xcb\xc4\x1d\x2b\xf1\xf5\xbf\x90\x89\xbb\x26\xb1\x7f\xf8\x6b\x99\xb8\x67\x12\x9f\x1f\x2b\x94\x1e\x59\x89\x67\x32\xed\xb1\x49\xfb\x4e\x35\xf3\xc4\xa4\xbd\x3c\x91\x69\xc4\xa4\xfd\x46\x95\x1b\x98\xb4\x13\x55\x2e\x30\x69\x87\xa7\x32\x2d\xb4\x49\x21\xd3\xa8\x95\xf6\x42\xa6\x0d\x4d\xda\xd1\xcb\x63\x91\xd8\xb1\xe8\x78\x74\xd8\x91\x89\x1d\x3b\xb1\x2b\x13\xbb\x76\xe2\xb6\x4c\xdc\xb6\x13\x77\x64\xa2\x45\xc7\xd7\x7d\x49\xb2\x8e\x45\xc7\xb3\xdf\xbd\x96\x89\x7b\xf6\xd8\x3c\x97\x89\x16\x1d\x0f\xfb\xaa\xa4\x45\xc8\xe3\x57\x32\xcd\x22\xe4\xd9\xf7\xaa\xb6\x45\xc9\xe3\xb3\x43\x99\x68\x93\x52\x0e\x4d\xc7\x22\xe5\xb7\x2a\xcd\x22\xe5\xa9\x4a\xb3\x48\xf9\xbd\x4a\xb3\x48\x79\xf6\x56\xa4\x75\x6d\x4a\x2a\x9e\x78\xc4\x0b\xde\x35\xea\x87\x6d\xe8\x29\x59\x6a\x1d\xb6\xf1\x0a\x8e\xf5\x93\xaf\x4f\x1b\x68\x54\x56\x48\xb1\x7b\x75\xaf\x42\x90\xb7\x7f\x41\x82\xac\x3b\xf7\x5d\xff\xf4\xec\xf8\xfc\x4c\x2e\xc1\x55\xf2\xd1\xf1\x49\xff\xfb\x97\xe7\x57\x32\xdb\x26\x8e\xac\x70\x51\x7b\x5e\xbb\x2c\xc3\xb9\xa8\xb5\x6b\x97\x3a\x38\x7b\xed\xf7\xb5\x7d\xa8\xfd\x38\xeb\xee\x06\x7b\x35\x11\x80\xbd\x46\x54\xd2\x93\xae\x4a\x1a\x88\xa4\x76\xbb\xfd\x44\x25\x05\x3a\x29\x50\x49\xa1\x4e\x0a\x55\x12\xd5\x49\x44\x25\x0d\x55\xd2\xa0\xad\x92\x46\x3a\xa9\xa3\x92\xc6\x12\x89\x9d\xee\x8e\x4a\x8a\x34\xac\x81\x4a\x7a\xa7\x50\xed\x3c\x56\x49\xef\x75\x92\x06\x1f\xab\x24\x83\xea\x44\x97\xd2\xe0\x13\x95\xb4\xad\x4b\x31\x99\xb4\x3d\xd0\xd8\x4f\x75\x92\x46\xe2\x0f\x1a\xbc\x6e\x31\xd5\xa5\x34\xac\x4c\x27\x69\xe2\xe4\x1a\x09\x5d\x6a\xa6\x92\x4c\xb7\xaf\x35\x5e\x3a\xe9\x46\x97\xd2\x15\x6f\x35\x12\x7a\xd0\xe6\x32\xa9\xbb\xa7\x2b\xfe\x51\x27\xed\xaa\xa4\x9f\x24\x55\xb7\x03\x8d\xfd\x07\x5d\x4a\x27\xdd\x29\xda\x93\x6d\x95\xf4\x27\x3d\x68\x8f\x6a\x6b\x77\x3e\x46\xeb\xdb\x8c\xf6\x15\x2f\xfe\xe7\xff\xb1\xa2\xe8\x73\x2c\x2a\x1c\x31\xcb\xb9\x3b\x3e\x40\x12\x8d\xbf\xc3\x9f\xff\xaf\xfa\x79\xc1\x7f\x46\xef\xd4\xcf\x1f\x7f\xc4\xec\xff\x47\xfd\xbe\xe4\x3f\x3f\x38\x7d\xff\xf3\xbf\x71\xfa\x3d\x74\xba\xfc\xe7\xff\xe8\x74\xf7\xcf\xff\xbe\x02\xff\x43\x8e\x21\x16\x2c\xe7\xed\x5a\xd8\x1b\x1c\x7f\xfe\xcf\x6a\xe6\xc1\x03\x89\xe7\xcf\xff\xb5\x9d\x86\xb8\xfe\xfc\x9f\xdb\x49\xff\x80\x49\xff\xca\x4e\x42\x01\xfe\xf9\xdf\xda\x49\xd8\xad\x9f\xff\xb5\x9d\x84\x5d\xfb\xf9\x3f\xd8\x49\xd8\xbf\x9f\xff\x27\x3b\x09\xfb\xf8\xf3\x7f\xac\x29\xab\xaa\xdc\x97\xd3\x65\x23\xf1\xf3\x7f\xe7\x8c\xc4\x9f\xff\x9d\x3b\x12\x3f\xff\xa3\x33\x12\x7f\xfe\x47\x67\x28\x74\x37\x24\xbe\xff\x97\x33\x16\x3f\xff\x1b\x77\x2c\xfe\x4d\xc5\x58\xfc\x0b\x1b\x47\x1f\x52\x3f\xff\x0f\x0b\x91\xfa\xf9\x7f\x51\x3f\x05\xb9\xff\x37\xf5\x53\x90\xfa\xdf\x7f\x3c\xca\x3f\xff\xdf\x15\x28\xff\xba\x84\xb2\xa1\x8c\xcb\x2d\x45\x4e\x91\x28\xff\x2b\x17\xa9\x7f\xed\x22\xf5\x1f\x5c\xa4\x5c\x9e\xfe\xf9\xbf\xad\x40\xea\x77\x4b\xa5\xee\x1f\xef\x33\xd6\x86\x52\xbf\x77\x29\xf5\x93\x3b\x44\x02\xe5\xff\x63\x21\x1d\xff\xd7\x0a\x94\x8f\x17\x88\xe1\x5e\x51\x0c\xff\xae\x2c\x86\x82\xd6\xff\x85\x47\x32\xff\x9b\x8f\x95\xcc\x7f\x5d\x96\xcc\xff\xb9\x2c\x99\xff\xe7\x27\x4b\xe6\xbf\xbc\xef\x68\xfd\xf7\x85\xd1\xfa\xaf\x5c\xc9\xfc\xff\x5c\x25\xf9\xef\xdc\xe1\xf9\xdf\xdd\xe1\xf9\xc7\x8a\xf1\xf8\x6e\xc1\x78\x3c\xf2\x8f\xc7\x7f\x59\x1e\x8f\x7f\x92\x9a\xb2\x57\x1a\x0f\xc3\xf1\x5e\xa5\xf4\x6f\x3f\x4e\x29\x5d\xb9\xf2\xe1\xd5\x51\xf7\x52\x07\x42\x47\xf9\xcd\x68\x19\x3d\xa1\xca\x7e\xde\xf9\x24\xfb\x79\xeb\xe1\xc3\x35\x78\x08\x2f\x26\x53\xe9\x8a\x04\xf9\x58\x3d\xd2\x09\x13\x9a\x8f\x59\xd8\x84\x7c\x4c\xd4\x03\x88\x54\x14\x50\x37\x2e\x20\x67\x40\xe0\x07\x3a\x38\x63\xc1\x7b\x9a\x73\x4b\x9c\x92\x49\x8b\x83\xfc\x3b\x81\x03\xe0\xd6\xf8\x16\x09\x43\x96\x64\x5b\x02\x88\xfc\x07\x4b\xc5\x51\x40\x93\x8c\xc2\xab\x17\xe7\x6b\xbc\x27\xf6\x22\x5a\x14\x13\x0b\x69\xdc\xe1\x4b\xcd\xed\xf4\xad\x87\x82\x31\x1e\xc2\x21\x9b\x4c\x58\xf2\xf7\x67\x40\x93\xeb\x28\x65\x09\xef\x86\xcc\xdb\xc2\x7f\x4b\xbb\xf9\x02\x6e\xdd\x43\x93\x7a\x5b\xb8\x48\xdd\x59\xd1\x41\xe6\x53\xca\x86\x20\x96\x14\x78\x82\xad\x10\xac\x95\x71\x39\x15\x80\x5a\xef\x32\x88\x32\x20\xd7\x24\x8a\xc9\x20\xa6\x0e\x3a\x02\x52\xfd\xa2\xd6\x6a\x6d\xb5\x5a\x5b\x48\x9f\xda\x65\x53\x62\x65\x37\x5f\x84\xfe\x36\x26\x51\x02\xf2\x50\xbe\xb2\xbb\xb2\x77\x37\x78\x5e\xdf\x52\x27\x17\x02\x2e\x5f\xd5\x19\xfa\xfe\xd6\x38\x4f\xd6\xcc\x3a\xaa\x76\xb0\xb6\x26\x76\xb2\x0c\xc5\xf8\x2a\x68\x8d\xa3\x82\xb8\x3c\x84\xbe\xcd\x0c\xa3\xe8\x9a\x26\x0e\x4b\x98\xd4\x0c\xf9\xa2\x85\xb5\x44\xd5\xbf\x9b\x92\x94\x4c\xe0\x27\x6c\xfc\x0e\xab\xc1\x26\x9c\x17\x98\x6a\xa0\x98\x90\x86\xd5\x00\x35\x2c\xcd\x80\x77\x32\x5f\x42\x94\x3f\x38\x93\x0a\x8e\xe6\x70\x82\x59\x9a\xd2\x24\xd7\xcd\x15\x60\x0d\x18\x8b\x29\x49\xee\x60\x10\x85\x51\x2a\x9e\x00\x24\x31\x6c\xc2\x0f\x63\x9a\x8f\x69\xea\xf2\x7f\x36\x66\xb3\x38\x04\x0c\xba\x10\x92\x9c\x08\x58\x4b\x3f\xb2\x4b\x12\x3f\x92\xc1\x0d\x8d\xab\x11\xc1\x57\x8f\x69\x58\xc0\x21\xa5\x49\x48\xd3\x28\x19\x01\x1b\x42\x94\x04\x6c\xc2\xbf\xaf\x86\x84\x44\x7b\x4c\xa6\xf8\x3e\x69\x92\xe5\x24\xc9\xe3\x39\xb0\x14\xb8\xa8\xc3\x84\xdc\x46\x93\xd9\x64\x39\xa0\x61\x2a\x96\xf7\x73\x8e\x44\xc7\xc2\x69\x4a\x53\xe8\xb4\x27\x99\xe8\x14\xe7\x4c\xa5\xae\xe5\x50\x14\x9d\x78\x9b\x92\x1a\x4d\x97\xf0\x4d\xdd\x7d\x25\x6d\xee\xb8\xf4\xb4\x84\x16\xd2\x7b\x50\xd3\xcf\x98\xd5\x1a\xf0\x4c\xac\xf2\xf7\xdd\x62\xd2\xe3\x8d\xa6\x93\x96\x1c\x8b\x9e\x44\x03\xf9\x5d\x66\x5d\x0d\xe3\x59\x36\x16\x8f\x4f\x7b\x3d\xdc\x64\x39\xf1\x52\xb3\xa8\x22\x7a\x29\xb8\x52\xd4\xd4\x7b\xb5\x55\x05\x9c\x5b\x71\x00\x78\x2f\x41\x05\x96\xa8\xaa\xc3\xf3\x97\x43\xc6\x52\x0e\xf8\x3b\xa7\x7f\xd3\x59\x36\x3e\x67\x9e\x0e\xda\x1e\xce\x52\x07\x57\xf5\xce\x3e\xae\xab\xea\xa0\x0e\xe7\x21\xca\xdd\x95\x7c\x45\xab\x29\x63\xd7\x73\x42\x6e\x94\x46\xc8\x8a\xa1\x61\xed\x8a\x5b\xbd\x1d\xd1\xfc\x95\x7e\xe0\xda\x17\xf5\x47\xf4\xb4\xc8\x77\x7e\x72\xd5\xe9\x75\xcb\x79\x36\xdd\xdf\x29\xc1\x1a\xa5\xb2\x1e\xec\xb8\x2a\x39\x12\x0f\xe4\x57\x8d\x83\xd4\x81\xf8\xde\xbc\x05\x4f\xc1\x91\xd9\x25\x27\xc6\x9a\x7c\x41\xbb\xd6\x2c\x11\xa2\x21\xab\x62\xbf\x6d\x01\x29\x70\x38\x4b\xb4\x67\xb9\x8b\xad\x76\xa4\x58\x8c\x41\x10\xb3\x4c\xb7\x1f\x52\x3e\xce\xf2\x89\x51\x4b\x03\x28\x2f\xe5\x4a\x28\x18\xf1\x62\x35\x28\x85\x79\xeb\x88\x56\xcf\x5b\xc3\x94\x4d\x4a\x13\xcd\xc7\x4c\x5c\x02\x23\x1a\xfa\x21\xde\x6f\xea\x42\x10\x22\xe0\x52\xce\x24\x64\x7b\x16\x5b\xae\xa1\xdd\x69\xce\x56\xc4\x12\x5a\x95\x22\xd6\xee\xbb\x38\xf0\xc3\x61\xf5\xc8\x5b\xa3\x65\xe9\x63\x95\x50\x56\xc4\x96\xba\xdd\x77\xd5\x2d\xe7\x3f\xb7\x75\xcd\x06\x3e\x27\xd9\xc5\x1c\x6d\x31\xa4\x3a\xf9\x35\x2d\x7b\x98\xc3\x31\x6a\x8a\x56\x82\xcf\x0a\xf1\x30\xc7\xdf\x2c\x91\x7f\x02\x96\x08\x4a\x70\xe9\xf5\x7f\x47\x10\x56\xb4\x45\x94\x23\x98\x63\xda\xc8\xf3\xd9\x65\x20\x96\xa9\xa7\x12\x07\x2e\x50\x27\x7f\x75\x9d\x52\x24\xa9\x47\xb7\xb8\x72\x5d\xa0\x9c\x28\xef\x50\xce\x22\x90\x5b\xf8\x60\xed\x8e\x2b\x1d\x77\x19\xbc\xfb\x39\x96\xc1\x27\x91\x45\xee\x80\xc5\xb3\x49\x92\x01\x49\x42\x0c\x24\xa0\x44\x25\x8c\x26\x34\xc9\x22\x96\x64\xc8\xee\x79\x06\x47\x6f\x5e\xe9\xab\x03\x6b\x80\x90\xbe\xfa\x0a\xfa\xd3\x69\xca\xe4\x32\x77\x13\x4e\x31\x14\xc1\x79\x3a\x4b\x02\x82\x3e\x28\x1c\xd0\x75\x94\x89\x8b\x02\xae\x28\x0b\x2f\x76\x05\x12\xc6\x14\x6f\x2a\x0f\xe6\x6e\xa9\x94\xdd\xc8\x2c\xd5\xe8\x26\x1c\x0a\x9c\x3f\xb2\xa1\x9b\x28\xcc\xc7\xa5\x76\x82\x31\x49\x49\x90\xd3\x94\x37\x21\x8a\xd4\xd1\x0f\x01\xc2\x28\x9b\xc6\x64\xbe\x0f\x51\x82\x97\x19\x49\x5e\xc6\x90\x53\x2f\x57\xc8\x70\x62\x09\x08\x37\x51\x5e\xe0\xb9\x87\x90\xcc\x26\x03\x9a\x72\x24\x25\xe9\x1b\xd5\x1b\x09\xc3\x28\xe7\xff\x2f\xdd\x42\x18\x46\xf9\xe7\xdf\x3f\x18\x46\xf9\x2f\x6d\xf3\x80\xf7\xf3\x93\x77\x0e\x78\xbf\xee\xb7\x6d\xe0\xdd\x25\x50\x32\x3d\x4d\xd9\x94\x65\xf4\x5b\x13\xda\xc3\x7f\x6d\x53\x78\xdd\x70\xfd\xa1\x84\x48\xf0\xe5\x71\xf1\x82\x8e\x54\x03\xd6\x2a\x06\xff\xe6\x48\x38\x35\xce\xf2\x39\xde\x68\x94\x7d\x19\xd1\xfc\x90\x4d\xa6\xb3\x9c\x86\x98\x53\x5f\xd0\x96\xd9\x6e\x74\xd2\xbf\xa3\x32\x58\xc0\x94\xe0\xa5\xc0\xbc\x5e\x6e\x90\xb7\xa3\x8e\x9c\x7f\x43\xe2\x19\xad\xd7\x84\x78\xd6\x1a\x55\x60\x31\xea\x04\xf4\x84\x4b\xf5\x84\xdc\xd6\xdb\xcd\x7b\xb6\x70\xa3\xe2\x56\x6c\x42\xe7\x91\xd5\x0c\xbd\x3f\x25\xca\xb5\xdf\x92\x30\x8c\x92\xd1\x6f\x70\x01\xa6\xf1\xa2\x8b\x31\x9a\x8a\x4a\x9b\x39\x9b\x72\xbc\x36\xee\x5d\x71\x80\x57\x0a\x1d\xa2\xb9\xf8\x7c\xc7\x3e\x06\x9f\x54\x0e\xc5\x47\x60\x14\xd3\xa1\x3b\x88\x5a\x36\x6d\xbe\x28\x71\xcb\x66\x99\x8e\x1e\x10\x8a\x07\x3c\x8c\x51\x04\xf0\x1d\xb3\x00\x04\x2c\xc9\x49\x24\x3c\xf5\x70\x18\x53\x76\x73\xa8\xd2\xac\x67\xdd\x67\xe8\x12\x71\xca\x6e\x7c\xe5\x5a\xc3\x28\xcd\x54\xa3\x18\xf7\xc8\x6d\x80\x26\x66\x05\x6e\x20\xb5\xa2\x24\xa1\xe9\x77\xe7\xaf\x5e\x5a\xa5\xd5\x2c\x21\x3a\x6f\x32\xb8\xce\xf1\x14\xc3\x1e\xda\x8d\xc5\x56\x29\x15\x0d\x48\x2d\x2d\x4c\xcb\x22\x7a\xa6\x9c\x78\xa0\x07\x35\x31\xf5\xa8\x48\x9c\x1e\x14\x79\xa1\x1f\x6a\x07\xb0\xb5\x25\x35\xbd\xc1\x01\x1d\xf1\x44\x24\x23\x6e\x28\xa2\x2c\x35\x81\xc4\xf9\x98\xcd\x46\x63\x60\x09\x4c\x58\xc2\xb2\x29\x09\x84\x12\x76\x91\x77\x49\x32\xa2\xf9\x73\x36\x4b\xf8\x30\x1d\xc6\x11\x4d\xf2\x53\x1a\xe4\xf5\x46\x0b\x81\x96\xb0\x2b\x75\x43\x20\x78\x4a\xaf\x69\x9a\x03\xe6\xc2\x80\x0e\x59\x4a\x21\x20\x71\x30\x8b\x49\xce\x31\x14\xfa\xa4\x09\x59\x94\x04\x38\xb5\xcf\xf1\x2e\x0a\x4d\x5b\x6b\x9e\x31\x58\x0d\x41\x01\x73\x21\xfd\x1c\x4e\x90\x63\x22\x6f\xe2\x6a\x51\x2a\x8a\xc4\x56\x11\x1b\xb9\x20\x93\xd7\x73\xcb\xf5\x04\x4d\xb7\x0a\x44\x56\xab\x4b\x2b\x3e\xd4\x4f\x22\xbc\x93\x08\x10\x25\x22\x3c\xf1\xbf\x5d\x87\x44\xc3\x41\xca\x86\x54\xb3\xd2\xb0\xe8\x86\x5a\x08\x20\x60\xb5\x54\x31\x91\x89\x2a\xd6\x8a\x55\x55\x29\x6c\x96\x88\x08\x55\x3a\x57\x86\xb4\xd2\x3f\x31\x04\xa5\x99\xc7\x04\x96\x45\x3b\x7a\xd1\x1c\x5a\x61\x4a\x97\xb0\x1d\x47\x99\x65\x4b\x17\x5b\x28\xd2\xa3\x02\x2a\xb7\x0d\x0a\x90\x56\xb0\xca\xf7\x3e\x8b\x55\x3e\x8b\xe3\x2c\x48\x29\x4d\x00\xad\x3f\x14\x5b\x75\xe3\xa2\xda\x42\xd4\xb5\xac\xaf\x5e\x7b\xd1\x36\x17\x75\xc9\x2f\x60\x35\x6a\xd8\xbf\x38\xe3\xd1\xf4\xfa\xd3\x6d\x48\xd3\xcb\xcf\x60\x4a\xea\x95\xf1\x39\x1b\x8d\x62\xea\xd9\xb6\xab\x65\x56\x93\x9c\xe8\xb4\x75\x9f\xed\xba\x5c\xc0\xe5\x20\xc0\x82\x51\xb1\xff\x61\xb5\xb4\xa9\x50\xb2\xd2\x50\x9d\x20\xb7\x30\xbe\x8c\x19\x42\x5d\xdc\xd5\x2e\xed\xbc\x89\x56\x39\x5f\x9f\x89\x9a\xe5\x3d\xb8\x22\x27\x0a\x02\x0d\x13\x4b\xed\x48\xfe\xb0\x10\x28\xee\xb5\x29\x75\x34\x4c\xf4\xed\x60\x65\xf6\x06\x31\xc9\xb2\x97\x51\x86\x61\x82\xb9\x31\x90\xd5\x6b\x06\x12\xb7\x93\x9e\x41\x4d\xec\xb9\xd5\x60\x1f\x6a\x24\x54\x5e\xa6\x16\x87\x3e\x28\x63\x29\x1b\x53\x55\x9d\x2a\x6e\x09\x0b\xa2\xb5\xff\x5d\xc2\xef\x62\x98\x5c\xba\xa8\x55\xeb\x32\x43\xd7\xac\x4c\xd7\x32\xae\x55\xc3\x21\xb7\x21\x8a\x62\xb1\xaa\xd2\x7b\xf4\x39\x94\xde\xf9\x38\xca\xa4\x0e\x81\x69\xca\xae\xa3\x90\x66\xf2\x40\x3e\x43\x05\x28\xf6\x9a\xb8\x55\x40\x0a\xc7\xf1\xf2\x57\xc8\xbc\x07\xf3\x95\x0a\x53\x57\x33\xdf\xfe\x76\x42\xff\xb7\x13\xfa\xbf\x9d\xd0\xff\x27\xb3\x2f\xae\xf5\xa1\x92\xff\xfe\xdf\x8e\xea\xff\x76\x54\x8f\x9f\x5f\xee\x51\x3d\x57\x83\xa1\x38\x2f\xff\xfb\xb3\x37\xaf\x5b\xb8\xb2\xd4\x27\xed\x9a\x1c\x75\x2c\x74\xd1\xbe\xe4\xec\xb6\x9e\xe5\x21\x9b\xe5\xeb\x50\xbc\x43\xea\x3b\xf3\xf7\x9e\xfa\x23\xb0\xce\xa5\x7d\xff\xae\x1c\x55\xdb\xe2\x34\x4f\xf9\x05\xdd\xbe\xa7\x0f\x00\xf6\x3b\xc3\x97\x6a\xa2\xe1\xbc\x7e\x51\xcb\xf2\x30\x4a\x64\xf4\xb7\xcb\x46\xc3\xc7\x47\x19\xcd\xcf\x8a\xef\x3e\xf0\xe5\xea\xaa\x2d\xd0\xfc\x4a\xc6\x5f\xe6\xff\xe0\x62\x56\x7e\xe5\xcb\xdc\x52\xa3\x7f\x55\x9f\x04\xa7\xa8\x8e\x1b\xed\xd0\xa1\xb1\x0c\x4f\xc7\x73\x41\x2b\xc8\xa3\xcf\xe2\xc2\xb0\x22\xb8\xbf\xf9\x32\x54\xfb\x32\x14\x48\xf8\x37\xa7\x86\xbf\x39\x35\xfc\x27\x66\xbc\x95\xd6\xc2\x0b\x8c\xb8\x8f\xf3\x6e\x28\x40\xfc\x9b\x9b\x03\x5d\xa8\x76\x16\xfa\x3b\x14\x2a\x7e\x82\xe3\xc3\xe3\x5f\xd0\xfd\x59\x6e\x8b\x7d\xcb\x95\x58\x14\x5c\x75\xa0\xe7\x6b\xb5\xbe\xbd\x23\x0b\x46\xd9\x6b\x8c\x7f\xa4\x75\x6b\x42\xae\xa3\x11\xc1\x38\x7f\x95\x4b\x02\x19\x59\x90\xd7\x9f\x65\x34\xed\x8f\x38\xeb\xf4\xf0\x89\x2a\x7c\x0f\xf1\x19\xd4\x12\x16\xe2\x96\x95\x06\xd7\xd2\x25\x45\xc5\x69\x4c\xf2\x21\x4b\x27\x4b\xeb\xa9\x82\xe6\xaa\x49\x94\x9d\x44\x29\x1d\xb2\x5b\xe8\xc1\x83\x07\x7f\xd2\x80\x75\x24\xe1\x9a\xcc\xaf\x35\xec\x4a\xaf\xce\x5e\x1c\x57\xd6\xe0\x99\x35\x7c\x5b\xcb\x9f\x7f\x9e\x46\x21\x4d\xf2\x02\x44\x12\x40\xcf\xd0\xda\x6c\xe2\x5d\xd4\x5e\x91\x20\x4a\x72\x96\x8d\x6b\x4d\xe0\x3f\x5e\x24\x39\x8d\xe5\xf7\xb7\x6f\x0f\xe5\xb7\xbd\xc7\xbf\xae\x5d\x36\x35\x2d\x1c\xe0\x2f\xa6\x24\x84\x9e\x45\x27\x3e\x1c\xd1\x5b\x12\xd6\xdc\x52\x63\x86\x11\xac\x8b\xe5\x78\x72\xcd\xed\xbe\x0a\x1e\x58\x81\xb2\xcc\xe6\xa8\xfd\x10\x25\x9d\x3d\xf9\x65\xbb\x2b\xbf\x1c\x1e\x57\xe2\xfa\x32\x4a\x66\xb7\x16\x12\x86\x6e\x98\x53\x6b\xc0\x37\x18\xd5\xd9\x7f\xb7\xe6\xb9\x0c\x70\xe8\xbf\x5a\xf3\xe4\x17\x24\x5a\x5a\xaf\xe0\x19\x3e\x4b\xc3\xec\x94\xc6\x24\x8f\xae\xe9\x39\x93\xe7\xb7\x75\x8c\xd5\xd1\x84\x42\x60\x53\x11\x80\x51\xb8\x3a\x8c\xe8\x6f\x7d\x2f\x7f\x2e\x70\xac\xb8\xc5\xe7\x3b\x75\x6d\x13\x5a\x6c\xee\x64\xc8\x97\x69\x64\xfc\x21\xe5\x50\xf4\xf5\xd7\xda\xb7\xe8\x41\xaf\x27\xde\x41\x0c\x59\x80\x41\x58\xf4\x97\x92\x9b\x07\xc0\x2d\x6c\xf6\xb4\x47\x15\x1b\x0e\x33\x9a\xbf\xa4\x43\xeb\x7d\xaf\x79\xb9\xc0\x39\x9b\x9a\x7c\xd5\x6a\x0f\x6a\x22\xf7\x2d\x9e\xae\xd7\x20\x4a\x74\xde\xb3\x02\x00\x51\x04\xf6\xc1\xeb\x19\x62\xd3\x45\x92\xeb\xe2\xb6\x09\xf3\xcb\x83\xb5\x3b\xcd\x8e\xd5\x63\x03\xbd\x05\x03\xe7\x1b\x5d\x35\x98\xce\xa9\x3e\x58\x4f\xf0\xe0\x33\x37\x87\x6c\xa6\x0b\xe1\xb7\x28\x3b\xc3\xa7\x84\x23\xe6\x9c\x1b\x04\x08\x73\x21\x12\xbe\x06\xf5\x99\x2d\xaf\x81\x6b\x67\xe1\xaa\x12\xd0\x28\xae\xd7\x4d\xf2\x06\x57\xa4\xba\x61\x78\x66\xe3\x29\x4e\xc0\x61\x0b\xba\xb0\x0f\xed\x46\x43\x1e\xf1\x3a\xb9\x6e\x3b\x1d\xb7\x1d\x93\xea\xd6\x1c\xbb\xc7\xca\x05\x14\x27\x51\x52\xd7\x6e\x35\x3a\xb7\x09\x9d\x86\x21\x1c\x3e\xab\x55\xd1\xb4\xaf\x7e\x47\xd6\x57\xe4\xb6\xea\xab\xe8\xf7\x58\xd0\xcb\x12\x36\xf1\xdd\x01\x3f\x25\x37\xcf\xe7\x39\xfd\x84\x71\x5f\x3c\xd4\x1f\x07\xf2\xc0\x51\x01\x9a\x82\xae\x02\xd0\x84\x11\xc9\xb7\xb0\xd1\x83\xed\xae\xf8\x31\xb7\x7f\x48\xfa\xfc\x04\xb7\xf8\x30\xd3\x1c\x5f\x65\x2a\xd0\xc9\xa1\x83\xe8\x80\x93\x54\xa5\xc4\x5f\xb1\x59\x46\xab\x82\xef\xb5\x7f\x41\x3a\x9c\x53\x6d\x40\x52\x5a\x61\x19\x75\x94\x65\x74\x4e\xd3\xc9\x77\xb8\x26\x5f\x1c\x9c\x4f\x97\x43\x85\x5b\x0a\x98\xc7\x13\x41\xa8\x49\xa3\x19\x79\xfb\xad\xb1\xbc\x39\x81\x51\x9d\xcf\x72\x96\x8a\x0d\xb6\x84\xde\x88\xfc\x38\x1a\xb4\x64\x72\xeb\x15\x9d\xb0\x74\x5e\x2f\xc6\x83\x97\xe8\xe9\x2a\x02\xa4\x3a\xcb\xf0\x16\x17\x1e\x56\x74\x98\xd5\x1b\x18\xb5\x7e\x9d\x2f\xeb\x36\x69\x12\xb0\x30\x4a\x46\xeb\x4d\x58\x4f\xc9\xcd\xba\xb7\x66\x48\x03\x96\x92\x5c\x86\x9e\xc7\xde\x16\x8a\x45\xcc\x7e\xf5\xa1\x15\x31\x11\xea\xcf\x0b\x0d\x17\x64\x71\xfc\x6b\x3a\x1f\x30\x92\x86\xee\x0b\x02\xe2\xbb\x26\xad\xf3\xb0\xc1\x90\x55\xec\x29\x5b\x0c\x1e\x28\x17\x5c\x15\x81\x9e\xff\x52\x8e\x2a\x26\xde\xfa\x9d\x13\x46\xab\xba\x51\x36\xcb\xa7\xb3\x7c\xc1\x46\xa0\x15\xfc\x4e\xf6\xdc\x17\x57\xb8\x40\x00\x26\xb6\x25\xbf\x3f\x3f\xe9\xec\xd5\x9d\x2b\x49\x85\x40\x62\xd5\x88\x65\x63\x76\xe3\xdb\x9b\x95\xbb\x17\x4d\xc8\xc5\xae\x6f\x89\x2d\x27\xba\x92\xfc\x76\xe0\xf6\x44\x54\xf3\x3d\x5c\xe9\x74\x80\xb7\xff\xe6\x9a\xa6\x31\x99\x97\xdb\x2c\x6f\xb3\x7a\x1f\x3d\x5c\x0e\x10\xe9\x78\x6f\xda\x88\x6d\x1d\x1f\x75\xec\x2e\x6d\x6d\xf1\xe5\x68\x4a\x21\xca\x20\x61\x30\x8e\x42\xaa\xda\x6f\xf0\xb5\x20\x70\x8c\xc4\x46\x06\x99\x50\x45\x2d\xe1\x3a\xdd\x86\x8c\x06\x3e\xd6\x76\xfb\x61\x13\xbc\x09\x6d\x37\x50\x9f\x77\x54\x69\x2e\x8c\xf1\x25\xaf\x82\xb8\xad\xba\xb5\xea\xea\x7d\x90\xd5\xf8\x48\x28\x05\x9a\x62\x90\x28\xa7\x45\xd4\x9f\xc5\x10\x81\x57\xbc\x59\xe7\xb5\x6e\xfe\xb1\x43\xe0\x8a\x6a\x9e\x88\xff\xef\x69\xe9\x99\xc9\xab\x4a\xed\x84\xa1\x73\x11\xd4\xc5\x7b\x3a\x77\x76\xee\x57\xed\x1a\x4b\x5e\x24\x45\xe1\x0d\x88\x78\xd7\xb8\x44\xc8\x88\xb5\x58\xf2\x9b\xf3\x5f\xd3\x79\x96\xa7\xec\x3d\x5d\x28\xf2\xfc\xa3\x20\x95\xe4\xb7\xa4\x19\x71\x0f\x5f\xbc\x64\xff\xa9\x50\x57\xe8\xf3\x69\xf9\x41\x69\x5f\xa7\xab\xc7\xd2\x90\x43\x4d\x27\x3e\x90\xb6\x62\xf5\x8f\xaa\xba\xc0\xd1\x53\x3a\xf9\xc0\x53\x48\xfa\x31\x9a\xc7\x44\x4a\x84\x70\x5b\xba\x3f\x45\x42\x4a\x82\x3c\xba\x26\x79\xb5\x26\xa8\x62\x00\xfb\x8c\xb1\x62\x34\xfd\x45\x3c\xa4\xf3\x14\x44\x44\x67\x49\xd5\x74\xb8\x48\xbf\x55\xbd\xd6\x02\xe6\x91\x11\x4b\x05\xde\x6f\x1a\xae\x6e\x17\x0f\x61\x16\xb7\xbb\x52\x9f\xe4\x64\xad\x9b\x28\x86\xac\xb4\x0d\x30\xab\x50\xd1\xb6\xfc\x25\x45\x76\xc6\x18\x94\x2c\x49\xc4\x12\xec\x84\x04\x39\x43\x77\xd1\x45\xf6\x63\xa9\x7c\x7d\x96\xc6\x4d\x40\x7a\x7b\x5f\x4d\x9a\xa5\x31\xf4\x60\x96\x16\x19\x49\xd7\x80\x9e\xa9\x5d\x36\xaa\x4a\xed\xd9\x43\x9b\xd2\x45\x12\xa2\x76\x28\xe8\x8d\x05\xa5\xae\x90\x6a\x16\xd0\xf0\x29\x68\x09\xa1\x84\x43\x71\xec\x7d\x44\xf4\x54\x72\xe9\xbd\x32\xa1\x97\x51\x58\x2e\x0f\x78\x3f\xf5\xf6\x76\xb1\x8e\x4d\x58\x03\xd9\xd6\xc1\xd3\x82\xeb\x5b\xc1\xea\x48\x58\x8e\x8e\x63\x39\x0b\x19\xfa\x92\xdd\xd0\x81\x39\xfc\x71\xc9\xe6\x6d\x60\x05\x39\xc4\x45\x01\x96\xab\xfb\x46\xc3\x0b\x16\x8f\x79\x16\x4d\x50\x06\xb2\xe7\xee\xfb\x12\xe0\x51\xf6\x66\x11\x59\xb4\x11\x8d\xe0\x53\x4a\xc2\xf9\x59\x8e\x1c\xd9\x33\x23\xd1\x3a\x7c\xf3\xfa\xf5\xf1\xe1\xf9\x8b\xd7\xdf\xda\xd1\xfc\x5d\xd4\xaa\xea\xbe\x79\x7b\xfc\xda\x1f\x49\xd8\x7a\x5b\x16\x1c\x93\xd5\x7d\x4e\xc7\xea\xa7\x7f\xd8\x93\x52\x0f\x2b\xad\x0d\xc4\x94\x25\x25\x4e\xc1\xad\x82\x4a\x9b\x60\xc9\xec\x57\x81\xd5\x29\x0d\x68\x74\xbd\xdc\x22\xb0\x11\x9b\x78\xbd\x3e\x16\xe1\x26\xf6\x22\x57\xb0\x5a\x2a\xb0\x3c\x2c\xf1\xf4\x32\x1c\xcb\x52\xf0\x49\xd4\x2b\x29\xa8\x6a\xcd\xe4\xa8\xa4\xf2\xbc\xf4\x4b\x8a\x8d\x6c\xdd\x4a\xd0\x53\xc4\xc5\xfa\x0d\x1d\xe4\xf9\x7c\xdd\x0a\x95\x3a\xc9\x46\x68\x2c\x7f\x9f\xbc\x4f\xd8\x0d\x3a\x08\xb7\x6b\xe5\x6c\x9e\xde\x71\xd3\xdf\x0a\x43\xa8\xd6\x75\x93\x85\xe1\xa3\xcc\x20\x5e\x60\xdb\x2d\x20\x5b\x7a\xa3\x16\xd8\xc5\xf6\x4c\x46\xb1\x41\xe6\x6d\xf0\xac\xb8\x74\x2a\x36\x78\x56\x5c\xe9\xd4\x76\x4a\x05\x4e\x69\x20\x06\x96\x67\xef\xd6\xc4\x3c\xf3\x03\x1d\x9c\x9f\xff\x6e\xc9\x1c\x23\x0a\x49\x67\x87\xa0\x38\x61\x89\x70\xe1\x4d\x20\xb3\x7c\x7c\xce\xde\xd3\xc4\x6b\x38\xc9\x2b\x62\x85\xd9\xbd\x04\x4c\x5c\x09\x2a\xce\x88\x4e\x1d\x19\xc8\x9d\xff\x53\xcc\x51\x18\xf0\x6c\xf5\xfd\xa0\x68\x3c\x1a\x2a\x6c\x76\xca\x86\x84\xe8\xeb\xaa\x33\x5e\xf5\x4a\x43\xec\x97\x5a\x52\xe5\xef\xaf\x34\x4e\x6c\x01\xc6\x73\xc4\x28\x19\xa1\xbb\x9e\x9b\xac\x91\x97\x6e\x6f\x6e\x2e\x3e\xab\x5e\x89\x2a\x88\x7b\x77\x4a\x3f\x09\x8d\xee\x19\x75\xfb\x83\x2f\x81\xd1\x74\xf2\x42\x6c\x4f\x5d\xd9\x06\xf6\x90\xd5\x3d\xcf\x33\x58\x2d\xf8\xbc\xbb\xca\x4d\xf0\x4f\x5f\x05\xcf\xdf\x97\x4d\x20\x43\xf9\x8b\xaa\x61\xd5\x45\x55\x42\xb9\xfc\x5d\xc3\x83\xa0\x20\x23\x97\xdf\xef\x3c\xcf\xae\x06\x2c\x9e\xcc\xaa\x96\x7e\x55\x7d\xac\xd6\x0c\x1b\xb0\x52\xff\x05\x50\xb9\xb7\xa7\x50\xa8\x2c\x69\xee\xa5\x79\x8b\x78\x7b\x7d\x57\x4e\xb2\x06\x53\x2d\xac\xeb\x0e\x61\xbc\x8f\x6f\x58\xf9\x75\xc5\x19\x66\x27\x52\xa7\x14\xd6\xb3\xde\x36\x51\xe9\x5a\x0c\x18\xf1\xdf\x1f\x41\x73\xa1\xbc\x37\x40\xd4\xf7\xf4\xdd\x93\xa6\xe5\x0b\x7a\x5c\x6c\xd4\x4b\x96\x4b\xc4\x61\x09\x22\x7c\xb6\xf0\xb5\xdf\x04\x7c\x1a\xab\xd3\x6e\xb7\x0b\xd9\x45\xd4\x1c\xf9\x94\xb6\x4d\x7d\xf1\xa6\x0a\xe8\x5b\xea\xf3\x98\xe1\xd9\x3a\x2f\x25\x9e\xf9\xa8\xfb\x1e\x50\xc9\x6e\xa2\x3c\x18\x0b\x60\x17\xed\xd2\x03\x14\x1a\x15\x92\x51\x28\x4d\x59\xfb\x95\x5c\x69\x0f\x2d\x16\xad\x87\x34\x60\x21\xfd\xfe\xf4\xc5\x21\x9b\x4c\x59\x42\x93\xbc\x5e\x7c\x8c\x64\x42\xa6\xf2\x29\x92\x9c\x0d\xea\xb2\x0b\x8d\xa6\x2d\x90\x55\xf8\xa9\x8f\x34\x6d\x6a\xff\xbc\x06\x1b\x50\xaf\xb5\xdb\xfc\xdf\xa0\x15\x8c\x49\x7a\xc8\x42\xda\xcf\xeb\xed\x46\x2b\x67\x62\x53\xa3\xde\xd9\x6b\x34\x24\x6d\x36\xbb\x1e\xe2\x98\x81\x69\xbd\x63\x51\x52\xaf\xd5\x1a\x3e\x71\x52\x9f\xc2\x73\x6f\x8b\xe8\xc7\x67\xf6\x6a\xea\xdd\x03\x90\x6b\x0b\xac\x34\x20\x85\x3d\x54\x45\xe7\xcf\xd2\x2f\xd7\xf2\xa8\x46\x07\x79\xd4\x31\x51\x2c\x97\xea\xe5\x18\xb9\xbd\xb1\x5a\xac\x5b\x40\x3f\x5b\x8f\xb4\xa9\xb4\xb8\x3f\x64\x96\x33\xdb\xaa\xba\x57\x8f\x02\x96\x64\x2c\xa6\xad\x98\x8d\xea\xeb\xc7\x09\x19\xc4\xdc\xd8\xd4\x33\xfc\x3e\xac\xc3\x46\xa1\x85\x0d\x58\x87\x8c\xff\x0a\xb3\xf5\xa5\xb4\xb2\x0d\x1d\x07\xcc\xbd\x89\x74\xb7\xba\xce\xc2\x95\xce\x12\x2d\x8a\x37\x1a\xb4\xc6\xd5\x9a\x78\xf1\x74\x61\x76\x3a\x7d\x56\x87\xcd\x1d\xe6\xec\xa8\xbe\x6e\x2d\x6b\x10\xb3\x70\xdd\x9c\x54\xd8\x1f\xbe\x42\x2f\x52\xcd\x73\x48\xa4\x3e\x45\x33\x4c\x4c\x22\xea\x2a\xc2\xf2\x39\xc4\x25\x9b\x36\xac\x56\x31\x0e\x17\xf4\x1c\x77\x4e\x17\x95\x45\xfb\xb0\xaa\xc0\x5d\xb3\xc4\x37\xde\x29\x0b\xee\xc5\x10\xdc\xc4\xf4\x9f\x1f\x94\x90\x51\x1b\x12\xd5\xc6\xab\x7d\x13\xa6\x38\x04\xd5\x38\x38\x1b\x45\xb0\x78\x81\x2c\x8c\xff\xe2\xe2\x58\xaf\x91\x54\x76\x79\x59\xfc\x4b\x7a\x69\x64\x89\x2b\x00\x1f\x50\x71\x12\xcf\x48\xd8\x0f\x43\x96\xd4\xd7\x87\x51\xbe\x6e\x39\x08\xfc\x76\x45\x07\x81\xdf\x7a\x1d\x04\x96\x9c\xbe\x78\x5d\x07\x7c\xe7\xfe\xa5\x9d\x7d\xb3\x71\xc3\x2b\xb7\xd8\x4d\x42\xd3\x23\xe5\xf2\x25\x44\x45\x39\x1c\xad\x87\xd1\x75\xe9\xb8\x5f\xd6\x17\xf7\x7f\x5f\x93\x09\x87\xb4\x8e\x37\x30\x37\x99\x38\xd4\x5c\xf7\xd7\x30\x62\xde\x6d\xb7\xdb\xa5\x05\x25\xb7\x89\x5f\x9a\xb7\xcd\xaa\x39\xd8\x12\xd6\x61\x54\x12\x55\x5b\x89\xc9\xa7\xf2\xc5\x13\xf8\xfe\x82\xb6\xa2\x93\xd6\x8d\x05\x41\xec\x00\x6f\xc0\xfa\x2d\x9f\x46\xca\xf9\x68\xa0\x2b\x91\x77\xbb\xb9\xe0\xbc\x4f\xdd\x74\x59\xe7\x82\xbd\xde\x5c\xda\x55\x97\x36\xc5\x7e\xc8\x4b\xaa\xa5\x1b\x2c\xeb\xa2\x5a\x11\x7e\x15\x4c\x47\x01\xdd\x79\x8f\x83\x50\x0f\x71\xa6\x69\xa2\x98\x54\x38\x65\x14\x3d\xb0\x3f\xc6\x29\x43\x13\xdf\x71\xcb\xd0\x24\xaf\x3c\xd9\x2b\xb6\xbd\x82\x6f\x86\x81\x6c\xee\x81\x55\x1d\x1f\x17\xc1\x7f\x8c\x87\xc5\x12\xb9\x56\xd2\x95\xd3\xdb\xfc\x50\x44\x75\xf1\xf9\x61\x68\x1d\xd0\xc2\x1b\x0c\x21\x46\x06\x72\x9c\x09\xac\x11\xd4\x3b\xe7\x16\x87\x96\xde\x8d\x74\x6f\x48\x96\x4a\xfb\x36\xbf\x57\x71\x06\xb1\x81\xdc\x67\x82\xbf\x32\x3d\x14\x07\x95\xa2\x87\x57\x15\x5d\x04\x31\xf7\x56\x79\x97\x2c\x1d\xc9\xd5\xfc\x41\x8a\x84\x94\x0e\xa8\xc2\x4b\xbe\x67\x06\xc5\x4b\x89\x52\x5f\x2a\xba\xe2\x60\xec\xe5\xba\x7b\x78\x80\x68\x5f\xde\x5c\x96\xc5\x7f\x57\x65\xef\x15\x1d\x3f\x96\x8b\xe1\x7d\xdc\x2c\xb4\x76\xe4\x92\xe8\x68\xaf\x7b\x79\x43\xac\x2a\xc3\x2b\xbb\x43\xb8\xc8\x79\x94\xeb\x52\xf4\xa4\x46\xc3\xaf\x45\x57\x85\x55\xd1\x5d\xd5\x57\x41\x5f\x9f\x13\x64\xf4\xeb\x73\x9e\x2d\x3b\xe2\x2d\x30\x88\x67\xa9\xe7\xd0\xbf\x2c\x3c\x9f\xc3\xd9\x00\x15\xd0\x0a\xad\x2d\x3e\xda\x94\xb3\xa1\xef\xda\x9e\x19\x33\xcf\x0c\x58\xe1\xd4\x98\xe5\x29\x9b\x57\xfb\x26\xfc\xb6\xca\x37\xe1\xb7\x96\x6f\xc2\x6f\xfd\xbe\x09\x9f\xf6\x2c\x88\x6b\xec\x6e\x6d\x89\x70\x24\xc3\x28\xa6\x70\x43\x32\x18\xf1\x3e\x91\x9c\x86\x30\x98\x43\x1c\x0d\x42\x96\x6f\x0d\xa2\x64\x2b\x60\x49\x40\xf2\x56\x36\x6e\xf1\x3a\x2f\x72\x18\x93\x0c\x06\x18\x54\x87\xa4\xef\x69\x08\x29\x25\xe1\x26\x4b\xe2\x39\x1e\x3b\xcf\xd9\x2c\x85\x8c\x0c\x69\x3e\x6f\x01\x9c\x92\x7c\x4c\xd3\x35\xf4\x8a\x23\x09\xd0\x30\xca\x21\xca\x41\xdc\x2a\x8b\xe7\x4d\x98\xc6\x94\x64\x14\x26\x2c\x8c\x86\x73\x60\x09\x95\xf1\x4c\x39\xaa\xe8\x13\xcc\xeb\x72\x1c\xb3\x56\x8b\x23\xc0\x7f\x4a\xe4\xde\x65\x5b\x71\x34\x68\xbd\xcb\x4a\x69\x57\x53\x16\xcf\x87\x51\x1c\x7b\x33\x03\x16\xb3\x34\xf3\x66\x0d\xbd\xa9\x52\xe1\x5e\x4d\x48\x42\x46\x78\xb1\xc4\xd3\xa2\xd6\x7a\x0b\x8b\xa5\x54\xf4\xca\x9b\x99\x49\xef\xdc\x05\x79\x57\xc1\x38\x65\x93\xc5\x45\x62\x16\x10\x7f\xcf\x55\x89\x09\xba\xff\x7a\x8b\xe4\x34\xcb\x17\xf6\x60\x96\x0f\x1f\xbb\x19\xf9\x38\x4a\xc3\xab\x29\x49\xf3\xf9\xd6\x4d\x80\xbe\xff\x58\xf2\x26\x90\xe5\xd0\x8d\x98\xd7\x17\xfe\xc4\xbe\xc4\xab\x61\x4a\x74\xb7\x0a\x59\xef\xa5\xbf\xcf\xe2\xdc\xab\x41\x84\x71\xf0\xb2\x25\xc5\xde\xd3\xf9\x84\x4c\x97\x17\x9a\x92\x3c\xa7\x69\xe2\x2f\xc8\xa6\x5c\xf4\x2a\x9a\xc2\x7d\xa8\x74\x51\xde\x15\x5e\xfe\x8a\x86\x11\x4d\xab\x60\x54\xb1\x53\xb1\xdc\x6c\x90\xcd\x06\xfe\x3c\x11\xe6\xa8\x32\x8f\xc5\x31\x57\x18\xfe\x7c\x7d\x4b\x72\x61\xee\x55\xc4\xaa\x0a\xdc\xe6\x57\x24\xcf\xd3\x68\x30\xcb\x69\x45\x1f\xaf\x2b\xda\xbe\xce\xaf\x74\xbc\xc0\xab\xca\xb1\x12\xea\x4e\xe4\xad\xf1\xfc\xb3\x37\xdf\x9f\x1e\x1e\xc3\xc9\x8b\x97\xc7\xfb\x5e\x15\x71\xc8\xa6\x73\x0c\x18\x8a\x9b\xdb\xdd\x76\xa7\x8b\x37\x4b\x0f\xb9\x44\x45\xb3\x09\xbc\x39\xc3\x43\x2e\xae\x1b\xa0\x1f\xc7\x80\x65\x33\xe0\x53\x55\x7a\x4d\x43\x54\x7f\xdf\x67\x52\x41\x45\x99\xd4\x4f\x10\x70\x53\x2e\xca\x60\xc4\x97\xb2\x89\x50\x9f\x04\x9e\x9f\x1d\x6d\x8a\x90\x8f\x2a\xd4\x12\x3e\xb8\x14\x90\x04\x06\x42\xa7\xb1\x59\x12\x42\x94\xa0\x2f\xf0\xcb\x17\x87\xc7\xaf\xcf\x8e\x51\xd1\xb5\xd6\xd6\xd6\xd6\xac\x10\x48\x71\x34\x80\x07\xee\xd5\xc9\x35\x3e\xe3\xa4\xec\x06\x57\xec\xc7\x69\xca\xd2\x7a\xed\xdb\x98\x0d\x48\x0c\xeb\x71\x34\x58\x07\x86\x1b\x19\x40\x62\xf4\x5b\x01\x7a\x1b\x65\x79\xd6\xaa\x35\x0e\xd6\x70\xab\x81\x83\x94\xd1\x85\x64\x64\xaa\x57\x64\xca\xfb\xb5\x1e\x52\xbe\x34\xa0\x49\x30\x5f\x87\x9c\xc1\xc5\xba\xe8\xe4\x7a\x13\x5a\xad\xd6\xa5\x0a\x35\x75\x4c\x82\x31\x98\xa2\x18\x74\x49\xb5\x99\x90\x09\xbe\x9b\xfe\x9e\x22\x2e\xad\x61\xb6\xde\x04\x05\x86\x97\xe4\xfd\x9d\xa5\x31\xd2\x83\x03\x13\x70\x32\x60\x82\x14\x02\x4c\x0b\xa3\x52\xf1\xfa\xe9\x2c\xe1\x26\xfa\x91\x6a\x2d\xa2\xd9\x55\x01\x79\x3e\x21\x03\x06\x4d\x13\x53\x62\x26\x68\x9d\x50\x11\xc5\x68\x40\x21\x4a\xae\x19\x9f\xaa\x42\x11\x14\x34\x8e\x06\x29\x49\xe7\x10\x25\x51\x1e\x91\x38\xfa\x23\xc1\x0d\x2b\xbb\x77\xea\x42\x99\x1c\x20\x5e\xf2\x50\x1a\x66\xd9\x15\x90\x34\x25\xd8\xed\x28\xcf\x68\x3c\x04\x02\xf9\x0d\xdb\x54\x75\x30\x17\xc3\x5c\xab\x8b\x62\x6d\x41\xa2\x6c\xcc\x30\x12\x28\x22\x11\xd2\x2c\x48\xa3\x01\xfa\x6c\xf1\x7e\xdf\x24\x22\x4e\xb6\x6a\x0e\x52\x36\xcb\xa3\x84\x36\x61\x96\xd1\xe1\x2c\xe6\xf0\xf8\x04\x1b\xd2\xc1\x6c\x34\x8a\x92\x51\x0b\x34\xfc\x8e\x22\xac\x32\x1e\x35\x2d\x0c\x21\x0b\x5d\x10\x0f\xb2\x2b\x12\x9e\xd2\x00\x2f\xe8\x10\x90\xf4\xb6\x86\x57\xd1\x05\xcd\x05\xc1\xc0\x12\x25\xb8\x19\xd3\x84\xcf\xf8\x70\x43\x12\x8c\x19\x40\x6f\xa7\x29\xcd\x24\x9c\xcd\x02\x20\x10\x03\x1e\xb0\xc9\x94\x1b\x1d\x3c\xb7\x05\xdc\xa2\x40\x5f\x79\x4e\xeb\x9c\x97\x54\x83\x46\x30\x58\xdb\xe6\x30\xa6\xe1\x88\x86\x7a\xd0\xb2\x79\x96\xd3\x09\xb0\xd4\x30\x0f\x02\xcf\x53\x12\xbc\xa7\x29\x42\xac\x65\xf0\x6e\x96\xe5\xd2\x15\x3f\x67\x30\x21\xef\x29\x37\x3c\xa6\x2c\xcb\xa2\x41\x4c\xc5\xed\xf1\xc1\x0c\x69\x2f\x01\x65\xe8\x85\xcf\x57\xa6\xe9\x2c\x49\x30\x08\x5b\x1c\x0b\xaa\x8a\x08\x84\x48\x85\x37\x86\xcd\x33\x20\x29\x85\x6c\x4a\x03\xae\xca\x43\x20\x99\x1c\xdb\xac\x05\x70\xc2\x52\xa0\xb7\x64\x32\x8d\x29\xb7\x5c\x44\x65\xfe\x41\xa6\xce\x43\x3a\xad\xd7\xf8\x57\x61\x8d\xd4\x9a\x80\xbf\xcc\xe2\xe9\x95\x50\xfb\x18\x19\xaf\xdc\x30\xf2\x36\xa7\xd9\x80\x42\xca\x98\xb4\xda\x38\x88\x5a\x0b\xe0\x77\x6c\x06\x13\x32\xe7\xa3\x24\x54\x15\xf6\x36\x88\x39\xba\xa4\x40\x36\x96\x00\x49\xe6\x96\xd8\x89\xa1\xa6\x10\x60\x40\x59\x98\xa6\x6c\x94\x92\x09\xc2\xe3\xdc\x85\xf8\xd3\x24\x9b\xa5\xf4\xb4\x2c\x9a\xf5\x06\x10\xce\xe1\x24\xcd\x67\x53\x88\x30\x36\x27\x4b\x43\x9a\x22\x73\x60\x2d\xf9\xf2\x1c\x57\xb0\x45\x56\x8b\x68\x06\x63\x72\x4d\xa5\x79\x49\x35\x3e\x2a\x3a\x80\x20\xef\x1d\x5c\x93\xf4\x0a\xbd\x51\xde\x70\x83\x31\x85\x09\x4b\x95\xe6\xc8\xfc\x03\x62\xf4\x09\x27\xbd\xb5\x16\xa8\x2b\x58\x26\x62\xa5\x50\x56\x78\x57\x3f\x4f\xe7\x2a\xb8\x48\x41\xe1\xca\x88\x71\x01\xc1\x33\x5d\x7a\x6b\x5f\xd7\xcb\x72\x12\xbc\xc7\x23\x57\x0c\x38\xdb\xc2\xdf\xad\x6c\x1a\x47\x79\xbd\xf6\xa3\x8c\x76\x88\x5e\x9b\x2f\x12\x38\x23\x43\x92\x46\x4d\x19\x9f\x22\x9b\xc5\x18\x15\xd8\x02\x71\x13\xc5\x31\xa0\x7d\x8d\xb4\xe9\x2a\xdd\x24\x5e\x31\x40\xfe\x15\xc0\xb8\x01\x74\x1d\x85\x33\x12\xab\x6e\x23\x83\x0e\x59\x3a\xe1\xc6\x4c\x28\xe3\x0a\xd3\x24\x8f\xe7\x22\xb8\x30\x46\x31\xd1\x2d\xb5\x62\x9a\x8c\xf2\x31\x7c\xd3\x83\x6d\x3b\xaa\x09\x4e\x73\x3d\x0b\xa5\x8b\xee\x65\x2b\xa5\xd3\x98\x04\xb4\xbe\xf5\x0f\x3f\x66\x0f\x49\xfe\x63\xb6\xb1\xd5\x84\x9a\xea\x5a\x21\x70\x92\x0f\x46\xa7\x00\x63\x24\x26\x30\x2e\x6b\x7f\xe7\x80\x5a\x93\xc1\x51\xb8\xf2\xab\x63\x90\x01\xe8\x41\xfb\x00\x22\x78\x0a\x44\x39\xb0\x48\xdc\x0f\x20\xda\xd8\xb0\x87\x62\x4a\x30\xa8\xb3\x2e\x77\x11\xc9\x6b\x8d\xbc\xeb\x98\x29\x22\x79\x04\x7c\xaa\x45\xc4\x4c\xcf\x35\xbb\xb4\xf0\x69\x84\x7a\x1c\x0d\x9a\x08\xd0\xdf\x49\x3c\x98\x44\x47\x2a\xb1\x58\xf4\x4c\x5c\x17\xbc\xf6\xa5\x5a\x37\x62\xb4\x4d\x92\xce\x1b\x7a\x1d\xb9\x52\x75\xa9\xba\x75\x0d\x71\x29\x4e\x90\xd8\xa1\x99\x35\x45\x1e\xa3\xe8\x65\x4b\x64\x8f\x73\xcb\x84\xe6\x4d\x8c\x69\x92\x00\xbd\x0d\x28\x1a\xba\x62\x76\x49\xd9\x8d\x99\x23\xaf\x69\x3a\x87\x59\x32\xa1\xb9\x67\xc6\x10\x2c\x3b\xa0\x10\xb3\xd1\xc8\x84\x12\xfc\xfb\x33\x7d\xf6\x0a\xf0\x62\x28\xa7\x03\xbe\x00\xcc\x71\xe5\xe7\x5a\x14\x02\x38\xaa\x2f\x04\x97\x92\x28\xa3\x0e\x5a\x46\xa8\x2b\xf5\xd1\x95\x2d\xe9\x46\xc2\xa7\x24\xcb\x68\xc8\x49\x8d\x4e\xba\x36\x73\x49\x9e\x80\x2a\xdb\xc3\x91\x73\xa4\x39\x9a\x1f\xbd\xca\x0a\xf6\x98\xf3\x4a\x42\x81\xf7\xb0\x21\xa5\x13\x84\x69\x66\x74\x02\xd1\xbb\x70\x22\x4e\xf7\x6d\x0e\x35\xb1\x4d\x51\x53\x33\xbd\x14\x17\xa9\xb7\x41\xd4\xba\x61\xe9\x7b\x9a\x42\x94\xd7\x32\x05\x8d\xeb\x6c\x1a\x42\x8d\xdb\x29\xb5\x96\xc6\x82\x0d\xde\x41\x0f\x64\xb8\x4a\xf8\xf0\x01\xef\xf1\x4b\xee\xf1\x09\x1a\x62\xed\x13\x32\xc9\xc6\x75\x2c\x70\x11\x5d\x72\xda\xb1\xc1\xbb\x86\xbd\xc3\xa2\x46\xfd\x86\xa4\x49\xbd\xf6\x2a\xca\x32\xae\xe2\xd6\x6b\x18\xb6\x3f\x1f\xc3\x06\xd4\xd0\x34\xe4\xb3\x1a\xce\x64\xb5\xa6\x45\x5b\x6b\x9f\x45\x8f\x9b\xe5\x3d\x0d\xc5\xf3\x73\x19\x49\x09\x64\x1f\xd9\xe0\xdd\x85\x42\xee\xb2\xa0\x52\x10\x75\x01\xb4\xe1\xd5\xf2\xb5\x13\x12\x71\xf2\x79\x78\x3c\x18\xd3\xe0\x3d\x1f\xb7\x3b\xdb\x8c\x1a\x45\x59\x4e\x51\x7a\x5c\xe3\xd2\x31\xc8\xd4\x14\x5b\x51\x44\x08\xa2\xb2\x59\xa3\x04\x52\x04\x9b\x8a\x52\x62\x3a\xe5\x96\x17\x4a\x8f\xb4\xec\xea\x0d\x34\x47\x45\x1d\x6e\x19\x72\x23\x56\xef\x77\x09\x01\x92\x2e\xdb\x04\x38\xf9\x63\x0a\x38\xa9\xd2\x9c\xa6\x4d\x11\x52\x87\xc3\x43\x3b\x55\xd7\x73\xad\x67\xb4\xf6\xa2\x1c\x0d\xb8\x98\xe6\x14\xcd\x5f\x0e\x25\xb7\xed\xd6\xb2\x41\x5d\x9c\xbd\xf9\x68\x40\x5f\x5a\xc3\xc2\x0c\x9e\xe6\x1c\x33\xcc\xf0\x98\xc0\xca\xdc\x1c\x0a\xa3\x0f\x30\x4e\x96\xb2\x82\xed\x16\xb4\xa8\xab\x2f\x8d\x3b\x63\x12\x2f\xa0\x38\xef\x68\x2a\xc7\x4e\x00\x54\xa7\x4c\xaa\xc4\x9d\xb0\x89\x14\x2c\x4d\x3a\xcb\xb0\x90\xf5\x5f\x24\x4e\xf0\xf5\xba\x58\x10\xb9\xdb\xc3\x65\x7b\x5c\x28\xf1\x0b\xb7\xb0\xb8\xa0\xa8\xc2\x10\xc8\x44\x87\xe1\x5e\xa8\xfe\x88\x30\xda\xd2\x46\x76\x2c\x76\x1c\xfb\x92\xe9\x25\x91\xf5\xb1\xb6\x33\x13\x90\x24\x44\xb6\x40\x16\x40\x4b\xd1\xaa\x5a\xc5\xbf\xaa\xfd\x17\x6e\x3e\xe7\xad\x6c\x9e\x04\xe3\x94\x25\x6c\xc6\x8d\xe4\x73\x83\xb3\x5a\x04\x88\x15\x2b\x57\x41\xdc\x7a\xe5\xb8\xe1\xca\x07\x97\x48\x09\xd2\x56\x0f\x9a\xc5\xf0\x05\x4e\x33\x2a\xff\x4e\xd5\xe2\x4d\xd9\xc3\x2d\x7b\x24\x78\xba\x88\xa7\xe2\x32\xc5\xe9\x7e\x26\x7b\xc8\xa1\x4f\xf3\xab\x98\x8d\x4e\x14\xe4\x7e\x02\x62\x73\x88\xc4\x4e\x73\x19\x15\x84\x44\x85\xe9\x36\x97\xd2\x18\xb7\x5d\x63\x36\x52\xa7\x76\xdc\x62\x77\x57\x6e\x36\x47\x89\x1e\x35\x8b\x6d\x9b\xe9\x4d\x98\x11\x65\x26\xd3\x21\x86\x79\xf2\x6b\x3e\xab\x94\x66\x47\xa1\x13\x39\x0f\x09\x5d\xef\xc6\xe4\x4c\x69\x80\xc6\xd4\xbc\x95\x8d\xa3\xa1\x75\x90\xce\x2b\x15\xd1\xd1\xda\xb9\x90\x51\xaf\xf1\xe6\xf7\x81\xab\xff\x94\x06\x17\x6d\x73\x0f\x97\xff\xec\x5c\xd6\x71\xdf\xa0\x45\x62\x92\x4e\xea\x0a\xd5\x86\xdf\xe8\x12\xb4\xa8\x97\xde\x5c\xb0\x36\x50\x24\x03\x3c\x70\x62\x48\xfb\xb5\xbd\x9a\x9a\x18\x27\xd1\x35\x89\xa3\x50\x5b\x8e\xfb\x12\x8e\x9c\xa9\x17\x5b\x1d\x75\x51\xc8\x3a\xba\x54\xdd\x10\x6e\x50\x77\x07\x8b\x77\xac\x8a\x1b\xd8\x66\xeb\xaa\xdb\xee\x3c\xfa\xa5\x6e\x5b\x15\xa2\x59\x4b\x15\xf5\x77\x3c\x97\x37\x72\x1d\xd1\x1b\x78\x2b\x3b\x26\xe2\x9d\x1f\x9f\x75\xdb\x9d\xbd\x0d\x18\x52\x92\xa3\x7d\x7a\x43\xf5\x56\xc2\x2c\xa3\x42\x04\xc4\xe6\x5f\x3e\xcd\xf6\xb7\xb6\x42\x7a\x4d\x63\x36\xa5\x69\x6b\xc2\xfe\x18\xc5\x31\x69\xb1\x74\xb4\x45\x93\xcd\xef\xcf\xb6\x42\x16\x64\x5b\x3f\xd0\xc1\xd6\xdf\x93\x6b\x72\x86\x93\xca\xd6\xa9\x5a\x4e\x6f\x89\xfd\xb1\x2b\xb1\x8a\xce\xb6\x84\x63\xc6\xd6\x94\x84\x67\x7c\xb1\x8a\x1b\x6e\x0f\x44\xa2\xfd\x52\x87\xcc\x16\x52\x50\x99\x6d\x8b\x51\x4e\xd2\x11\xcd\x5f\xa2\xf0\xf0\xd5\x82\xbc\xd5\xab\x83\x96\x6f\x71\xcb\x17\xef\xff\x8b\x6d\x20\xae\x14\xe5\x36\x5d\xcc\x92\x11\xd0\x84\xcd\x46\xe3\xa6\x75\x9f\x0f\x42\xf6\x40\xb0\xab\x05\x1a\x36\xe5\x3a\x41\x9a\x64\x5a\x74\x9d\x42\x4f\x7b\xd0\x6e\x68\xd9\xc2\x69\x44\x7a\xa4\xc8\x67\x3f\xac\xa5\x90\xbe\x7e\xdc\xeb\x81\xde\x6b\x54\x95\xad\x6c\xa8\x41\xcd\x31\x56\xd1\x8d\x93\xf7\x68\x4a\x42\xde\x9d\x09\x5f\xc2\x4e\x63\x8a\xd1\x68\x32\xec\x55\xcb\x8f\xde\x37\x06\xae\x52\x37\x9e\xf6\x4c\x99\x94\x4e\x29\xc9\xeb\x2e\x90\xad\x32\x10\x19\xc3\xc7\x3e\x7a\x33\x65\x84\x13\x72\xbb\xe9\x90\xb3\x61\x7c\x75\xec\x07\x51\xee\xbe\x34\xf3\x1d\x27\x61\x35\xeb\x1d\x27\x61\x35\xe3\x1d\x3b\xd7\x2a\xff\xc6\x76\xbf\x4c\xb6\xb3\xbb\x8d\xab\x9d\xc5\x5c\xa8\xd9\x6e\xf1\xec\xe0\x9c\x60\xfe\xd3\x39\xd6\xf0\xcf\x0f\xaf\xf9\xda\x6c\x4a\x02\xdc\xa8\x02\xec\x1a\xcc\xf2\x28\x8e\xf2\x88\x5a\xfb\x76\xa2\xcf\x85\x9d\xff\x93\x28\xcd\x72\xbe\x56\x9c\x70\xdb\x3c\x49\xf0\x34\x7a\x34\x8b\xc5\x2b\x0a\x29\xcd\xc4\x93\x9e\x37\xb4\x96\x52\x18\x31\xc9\xd8\x1c\x0d\xc4\x50\x1e\x7f\x4b\xeb\x71\x6d\x59\x14\xda\xe7\xa7\xfd\xc3\x63\xf8\xdd\x9b\xef\x4f\xcf\x8e\x5f\x9e\xac\x52\x03\x00\x9a\x7f\xfa\xd3\x9f\xfe\xd4\x5a\xa5\xe4\x87\x6f\xae\x9e\xc2\x9f\xfe\xb4\x42\xd1\xed\xdf\x6f\x6e\x6e\xd6\x36\xb7\x56\x01\xbb\xbd\xcf\x3f\x3f\x5e\xff\xb8\xbc\x6c\x8f\xf5\x44\xe1\xe6\x0a\x85\xe1\x03\xc8\xc2\x58\x7a\x41\x85\xf3\xef\x8e\xe1\xf4\xf8\xdb\xef\x5f\xf6\x4f\xe1\xf8\xb7\x6f\x4f\x8f\xcf\xce\x5e\xbc\x79\x7d\xb6\xbc\x89\xfe\xe9\x31\x1c\xbe\x79\xf5\xe2\xf5\xb7\xd6\xa2\x39\xa5\x35\x8c\xac\x73\x43\xe6\xb8\x3c\xe5\x2b\x7f\xa1\xc2\x4e\x8f\x21\x8e\x72\x9a\x92\x98\xaf\x0b\xc0\x28\xe2\x16\xc0\x49\x74\x2b\x38\xf5\x66\x3c\x87\x90\x25\x35\xdc\x7a\x9a\xb3\xd9\x33\x80\x37\x63\x5c\xe6\x00\x89\x33\x26\x4e\x0c\x9c\x16\xd0\xc7\x8f\x2f\x9a\x85\x62\x40\x28\x21\xa3\x59\x52\x13\x27\x16\xe9\x34\xa5\x08\x8d\x66\x01\x99\x52\x6b\xf1\x93\xe5\x94\x84\x4d\x6e\xd3\x64\x39\x63\x53\xb1\x0d\x16\x65\xa0\xf7\x3d\x1b\xc0\x85\xe1\x7d\x91\xc9\x5b\x29\xc5\x23\xae\x35\x54\x75\x87\x67\x67\x30\xa6\xb7\x42\x32\x9a\xf0\xd5\xe9\xb7\xcf\xb9\x5e\x1b\xd3\xdb\xce\xde\x3e\x6c\x7d\x55\xbf\x20\x9b\xc3\xf6\xe6\x93\xcb\x86\xef\xdb\x56\xd4\x5c\xab\x80\x73\xfa\xed\xb7\xcf\x15\xa8\xee\x8e\x03\xea\xa7\xee\x5d\xa3\xfa\x87\x0b\x33\x1d\x0d\x14\xcc\x74\x34\xa8\xa7\x69\xda\x1c\x8d\x46\xcd\xc1\x60\xd0\xe0\xc0\xd3\xd1\x60\x1f\x4d\xec\x53\x3a\x3a\xbe\x9d\xd6\xa5\xa6\xad\xd7\xfe\x61\x2b\x7b\x98\x8e\x06\x5b\xd9\xc3\xad\xfa\x56\xf6\xb0\xbe\x15\xfe\xd4\x69\x6e\xdf\x35\xb6\xb2\x87\xcd\xe2\xef\x1a\x6c\xa8\xd5\x44\xad\x90\xb7\xc5\xff\xfa\x67\x35\x95\xdd\x30\x9b\xca\x3f\x6e\x6d\x8d\x9a\x50\xfb\xf1\xc7\x5a\xa3\x09\xb5\xa8\xd6\x58\x0d\xeb\x26\x21\x44\x61\x4e\x16\xa2\x4e\xb6\xb2\x87\x0e\x66\x4b\xfb\x51\xf8\x6d\x57\xae\x3f\xdb\x97\xd9\x1b\xf5\x67\xfb\x5b\xad\xad\x70\xa3\xf1\x8c\x17\x6a\x7c\x44\x0f\x8f\x23\x0c\x79\x7d\xfa\xed\x73\xbe\x94\x39\xfd\xf6\x79\x5f\x76\xe8\x76\x71\x87\x9e\xfd\x65\x7a\xf4\xec\x23\xba\xd4\x4f\xe0\xb7\x9d\x0e\xac\x73\x7e\x0a\xc3\x30\xdc\xd2\x7f\xad\x0b\x47\x7c\xde\xc3\xdb\x4e\x07\xf9\x0d\x0f\x14\xf8\x37\xc3\xb7\x9d\xe6\xce\x5d\xe3\xc7\xad\xa5\x09\xd9\xc3\x7f\x66\xf8\xfb\x38\x19\xc5\x51\x36\x96\xb3\x52\x42\x26\xd8\x0a\xff\x77\x1f\xb6\x2e\xc8\xe6\x1f\x2f\xf9\x5f\xed\xcd\x27\x3f\x66\x97\x1b\x5b\x4d\x7b\x67\xe6\x90\x25\xf8\xee\x23\x51\xec\x56\x0f\xc3\xb0\x29\xff\x6f\x48\x88\x88\x38\xd7\x22\x0c\x88\xe8\x9f\x95\xae\x4f\x1c\x71\x2c\x39\x14\x2b\x53\xee\x11\x8e\x12\x96\x8a\x0d\x76\xb9\xc3\x93\x91\x24\xca\xf9\xfa\x1f\x9f\xcf\x18\x93\x24\x8c\xe5\x26\x99\x3e\xda\xae\x85\x61\x58\xc3\xad\x0d\xbc\x1b\x28\x4f\xef\x13\x0a\x83\x79\x4e\x25\x4a\xe6\x0c\x2d\x4a\x20\xa4\x41\x34\xc1\x88\xd9\x15\x87\x71\xbc\x06\xda\x1c\x2e\x8e\x1c\xad\x40\x90\xc1\xdd\x54\x53\x35\x79\x9d\x42\xa7\x39\xbf\x26\xb3\x38\xe6\x56\x1b\x37\x21\x44\x62\x80\xa1\xd7\xc5\x79\xa7\xd9\x9b\x41\xc8\x62\xf3\xc7\x55\x9f\xa3\xc1\x39\xe3\x70\x9d\x53\x3e\xed\x7d\xaa\xb7\x65\xb2\x80\xc4\xb4\xae\x9f\x1d\xb9\x86\x1e\xd4\x75\x9c\xd0\xeb\x26\x74\x77\x77\x1b\xf0\x10\xba\xbb\x8f\xdc\x8b\x8c\x8e\x4f\x9f\xd8\xab\xf8\xe3\x94\x84\xbc\xca\x8e\x7c\xf0\xc9\xd9\x88\x11\xa3\x39\x21\x79\x30\xae\xbb\x5a\x9e\xa3\x7a\x8b\x55\xdc\xb3\x20\x27\x76\xaf\xd9\x02\xac\x71\x96\xae\xc1\x86\xc4\x9c\xa4\xf3\x8b\xce\x25\xb7\x2b\x6b\x5b\x6e\x6a\xd7\x9b\xba\x7d\xe9\xee\x56\x1b\x16\x8d\xe9\x88\x04\x73\x3d\x16\xd7\xb4\xc8\x9a\x8a\x87\x5b\xad\x56\xc3\xc7\xa3\xe7\x63\x3a\x87\x9c\xbc\x17\x16\xf9\x90\xa5\x93\x7d\x9e\xdc\xe9\xc2\x20\xca\xf7\x71\xd2\x32\xf3\xfa\xe6\x37\xf0\xd5\x69\xbb\xdd\xfe\xb6\xdd\x6e\x3f\x6f\xb7\xdb\xbc\x64\x77\x47\x95\xc4\x69\xc9\x2e\x79\xda\x6e\x7f\xfb\x6d\xbb\xfd\xfc\xb9\x28\xb9\xbd\xa7\x4b\x9e\x7e\xcb\xcb\x3e\x37\x25\x4f\xdb\xdf\x7e\xfb\x6d\xfb\xf9\xf3\xe7\x58\x72\xe7\xb1\x29\xc9\x8b\xf2\xb2\xcf\x25\xb6\x19\x45\x01\xe2\xd8\x4e\x58\x96\x43\x16\x8d\x92\x68\x18\x05\x24\xc9\x79\x25\x3d\x8b\xeb\x37\xd7\xa5\xd4\xe1\xee\x6f\xc8\x6e\x70\x53\x4f\x20\xad\x5f\x6e\x25\x79\x2d\xc3\xdd\x55\x4e\xad\x6c\x36\x15\xbe\x9d\x45\xee\xbc\xed\x74\xbe\xa3\xb7\xe7\x8c\x17\xb2\x19\xd4\x3c\xb8\xf6\xe0\xba\x85\x27\xe8\xd9\x0f\x51\x3e\xae\xd7\xbe\xaa\x35\x3c\x5c\x81\xfa\x89\xf3\xe4\x54\xec\xfc\x52\x12\x72\xf3\xe4\x2b\x60\xc3\x21\x57\x52\x9c\x9b\xaf\x5b\xd9\x6c\x90\xe5\x69\x5d\x2e\x4b\xf0\x35\x5a\xf4\x22\x98\xc9\x88\x1c\x59\xf4\x47\xb4\x58\xb0\xdd\x8b\xed\x26\xec\x35\xe1\x49\x13\x3a\xdd\x4b\x1d\x73\xfb\x5a\x2f\x6f\x7a\x3d\xd8\xec\xf8\x19\xd4\x40\x4e\x58\xb2\xc9\xcd\x0c\x41\x2f\x05\xfa\x5a\xb2\xff\xd6\xc5\x3f\x48\x75\xbb\x15\xf9\x7a\x25\xbb\x35\x8d\xa3\x5c\x7a\x5e\xa0\xd5\xcf\x66\xf8\x58\x00\x9e\xb9\x09\xc7\x6b\x85\x15\x6c\xc1\xf6\x81\xcc\x4a\xed\x2e\xb7\xc5\xcb\x35\x0d\x95\x39\xb2\x33\x79\x4e\x21\x7f\x50\xcc\xe7\xa2\x63\x17\x13\xa8\xbd\x66\xe9\x44\xee\xb7\x33\xe8\xec\x29\x5e\x31\x4a\x25\x61\xe9\xa4\xb3\xe7\x6a\x15\xfd\x30\xee\x75\x13\x8a\xfa\x43\xf4\xa7\x07\x5d\x78\x06\xd7\xb0\xaf\x85\x64\x6b\x4b\x82\xb7\x9d\xc3\x55\xe1\x0e\x16\x7e\xfa\x14\x76\x44\x8d\xad\x2d\x78\x5c\x2c\x7b\x0d\xdf\x7c\x03\xf5\x1d\x78\x28\xde\x00\x82\x4d\xe8\x36\x1a\x07\x58\xb6\xbb\xc3\xd5\xec\x76\x57\x56\xb9\x5b\x73\xb4\x99\xe4\x53\xf4\x62\x3a\x67\xdc\x78\xa8\x5f\xa4\x4d\x18\x35\x61\x70\xd9\x9a\x90\x69\x5d\x74\xb1\x51\xa1\x4c\x4a\xf3\xd8\x7d\x94\x08\xd6\x15\xb5\x26\x64\x8e\x5e\x40\x36\x3c\x71\x3c\x22\x4e\xa7\xb9\x4a\x91\x53\xc6\x50\x6b\x1d\x0e\x86\x2b\xc9\xf1\x78\x3c\xde\xd2\x7f\xc9\xe3\x66\x6b\xce\x93\x88\x65\x10\xd3\x2c\x13\xbe\xc9\x3b\x10\x46\xa3\x28\xcf\x20\xca\xe5\x09\xc0\x94\x84\x21\x0d\x39\xf3\xf1\xc1\xde\x41\x17\x0d\x39\x6b\x84\x5a\x07\x0c\x23\x74\x12\xd3\x87\x6a\x7c\x12\x5d\x3e\x53\x16\x49\xb4\xca\x4c\x59\x9c\x5d\x3f\xc3\x4c\x79\xdb\xe9\x54\x29\xa2\xaa\x59\x72\x6b\x0b\xde\x12\x41\x14\xa9\x12\x31\x76\xa9\xa1\xe3\x90\xcd\x52\x49\x4a\x3c\xe1\x89\x32\x90\x6f\xae\x43\x7d\x9a\xb2\x01\x19\xc4\x72\x96\xdb\xda\x02\xd4\x0a\x34\x93\x2f\xff\x4a\xd7\xad\x30\x1a\x0e\xa3\x60\x16\x23\xd9\x33\x22\x4e\x83\x84\x75\x83\x9a\x16\x0b\x43\x46\xe9\x24\x83\x9c\x29\x50\x24\x4d\xf1\x74\x93\xcf\x67\x72\xe4\x04\x49\xa4\x97\x4c\x02\x53\x9a\xe2\x93\x06\x62\xbb\x80\x4d\x06\x51\x22\x8f\x54\x87\x0a\xc8\x88\x4c\x26\x9c\x4f\x52\xf9\xea\x49\x53\x52\x5c\x6c\x50\xe4\x29\x49\x32\xe1\x4e\x83\x79\x1c\xf2\x1f\x66\x24\xc9\xf5\x81\xa7\xde\x70\xd2\xfa\x89\x4b\xab\x39\x44\xe1\xca\x4d\xf0\x89\x64\xb6\x29\xd1\x0c\x86\x84\x1b\xcc\x41\x6c\x37\x29\xbf\x40\xed\x0a\xdb\x02\x58\x1f\xae\xc3\x80\x06\x6c\x42\x33\x03\x6f\x7d\x38\x1c\x0e\xd7\x5b\x00\x67\x01\xc1\x9b\xec\xc8\x99\x04\xb4\x12\xd6\x3b\x3b\xd2\xa5\x99\xb7\xd1\xdd\x7d\xa4\x1c\x09\x32\x32\xa1\x06\x1a\xc9\x20\x98\xe5\xb9\x78\x22\x67\xa8\xcd\xc2\x16\xc0\x0f\x14\xb2\xf7\x72\xb6\x99\x44\x61\x18\xf3\x65\x2d\x9d\x22\x11\xd0\xd9\x2e\x64\x33\xfd\xe8\xa6\x8c\x83\x6b\x61\xef\x6e\x07\x1a\x8d\x08\x1b\x60\x6b\xc5\x3b\x3f\x09\xbb\x05\x12\x4e\xa2\x98\xa4\x10\x52\x12\x03\x5f\xb0\xb7\x00\x25\x6a\x4a\xc2\x0c\xf2\x1b\x26\x88\xab\xa7\xec\x02\x49\x0d\x1c\x34\x78\xeb\x7c\x78\x39\x8f\xc3\x6c\x2a\x49\xd3\xe0\xd4\x44\x56\x2b\xec\x1c\x89\x72\x51\x8e\x66\x80\x81\x23\x28\x9e\xcc\x6f\xc8\x1c\x97\xfb\x01\x49\x04\x49\x54\x28\xb8\x31\x97\xd6\x68\x84\xa1\x69\xf4\x62\xc5\x4b\x8e\xe5\xa4\xd8\x76\x48\x71\x3e\x4e\x29\x75\xfb\xcb\x05\x43\x9e\xdc\x4b\x39\x28\x31\xd5\x10\x31\xc1\x5a\x2d\x03\x8b\xb6\x46\x2d\xe8\xb4\x87\x8a\xc7\xf8\xf7\xa1\xca\x47\x7b\x82\x0f\x96\x9a\x23\xbb\x2e\x9a\x7c\x58\x90\x3a\x42\x31\x8e\x29\x74\xad\x05\x45\xcb\x9e\xf2\xd0\xc6\x4e\xd9\x2c\x09\xeb\x85\x8e\xc3\x16\x92\xdf\x67\x43\xfb\xed\x67\xb1\xe0\x73\x2d\x68\xa3\xa8\x44\xbc\x1c\x69\x1f\xa1\x85\x2b\x84\xb7\x65\x11\xd6\x6b\x69\xf9\xe6\x43\xcb\x6e\xab\x5f\xcb\xbe\xd3\x38\xa3\x95\x15\xf8\x64\x85\xf3\xa7\x2c\x8e\x3d\xc2\xb3\xd3\xa9\xda\xfc\xed\xd8\x07\xfc\x15\x73\x2f\xaf\xc1\x67\x5d\xe4\x3d\xff\xa4\x9b\x89\x8b\x33\xd2\x0f\x92\xeb\xf3\x9a\xb4\xa3\x6b\xee\x9a\x11\x67\xe2\x7c\x4c\xa3\x54\x4f\xc4\xd2\xad\x58\x3f\x23\x8c\x3e\x70\x62\x75\xa9\xe7\x0d\x3e\xc1\xe1\xfa\xbc\x25\xe6\x51\x39\xd5\x90\x44\x7a\xa0\xea\x82\x4d\x33\x79\xca\x15\x7d\x28\xa6\x07\x3e\x51\xf9\x67\xc5\x0f\xc2\xf5\xf0\xa9\xf8\xf5\xcd\x1d\xf4\xd5\x4c\x6a\x4d\xf0\xa9\xf4\xb8\x66\x43\x93\x2a\x74\xbf\x33\xc3\xf9\xe6\xce\x12\x7c\xf4\xe3\xd0\x3d\xd3\x0d\x68\x7b\xd5\x9d\x21\xc7\x7c\xc8\x79\x9b\xd6\x0c\x49\xd2\x91\x39\x6b\xc7\x7d\x38\x79\xda\x6e\x31\x26\x26\x1f\x98\x32\xdd\x1d\x6f\x99\xee\x8e\xf0\x3e\x53\x93\xad\x44\xac\x3e\x36\x0e\xa5\x9c\x4d\xc7\xf4\xd6\xd2\x00\x3b\x46\x03\x70\x25\xdf\xe3\x7f\xeb\x1d\x14\x6c\xd8\xdc\x31\xac\x8f\x9b\x20\x8d\x37\xcf\x25\xea\xf5\xaf\xd6\x61\x03\x52\xf9\xff\x48\xfe\x3f\xe0\xff\x6b\x6f\x2a\xe7\xce\xb6\x11\x48\xde\xa6\x10\x49\xec\x46\xc3\x1c\x05\xd9\x2e\x8d\x45\xe3\xde\x59\xca\xd6\x85\x03\x98\xd4\x00\x62\x35\x2b\xd4\xc0\x06\xd4\x9a\x60\xed\x25\xb9\xa5\xba\x2b\x95\xda\x36\xa5\x1a\xb5\x03\xdb\xe3\x8b\xa4\xa3\x4a\xaf\xcf\x0a\x27\x53\xbf\xe7\x1b\x49\x47\x17\xd1\xa5\x88\x9c\x87\xc3\x26\x12\x6c\x67\x04\xdb\x5b\x81\xb7\xeb\x94\x35\x6a\x41\x52\x85\xa4\xa3\xd5\xe4\x5b\x9b\xd1\x5c\x74\x1d\xb9\xf6\x4b\xbe\xde\x94\x1e\xca\x17\xd8\x48\x82\xfb\x9b\x06\x88\x70\x40\x26\xf1\x74\x4c\x60\x18\xd1\x38\x34\x4e\x9f\x40\x6e\xc8\xfc\x97\xa7\x1f\x34\x0d\xca\x4a\xc2\x56\x6e\x82\x6d\xa5\xc2\xf8\x82\x9a\x02\x77\x9d\xbe\x43\x79\x2c\x6b\x8a\x92\x80\xf3\x59\xcb\xf2\x24\x35\x1e\x3b\x12\x5a\x90\x92\xe0\x3d\x9f\x3b\xd4\xf4\xb6\x44\xb6\x6c\xd1\xfa\x8a\xcb\x95\xb5\x2f\x55\xaf\x3b\x82\xd1\xbe\x6c\xf0\xa5\x23\x97\x0d\x37\xdc\x6d\xe9\x53\x2f\x08\x27\xd6\x83\xc7\xf7\xac\xd7\x95\xf5\xda\x0d\x77\x1b\xad\x09\x7b\x8d\x7f\xa2\x72\x79\x4e\xa4\x33\x9c\xf0\x11\x0a\xb2\x4c\x4a\x1b\x9e\x5f\x47\x38\xd2\xb8\xec\xe0\x95\x71\x81\x28\x56\xc0\xe9\x68\xc0\x39\x88\x4b\x9e\xbb\xf4\x3d\xc5\x76\xb2\x25\x0b\x3a\xdc\x5c\xc0\xdd\x87\xf2\x52\x4e\x67\x15\x96\x73\x21\x1d\x9a\x9d\xa5\x90\x0e\x17\x6e\x2d\x79\x26\x3e\x04\xa0\x5d\xaa\x3c\xdb\x97\xad\x9c\x66\x39\x96\x72\x40\x85\x74\x68\x6f\x5d\x7a\xed\x22\x01\xda\xbb\x23\xb9\xcd\xe9\xb4\x03\xce\x95\x2a\x9b\x8c\x52\x73\x09\x59\x2d\x11\xc3\xb2\x9f\x5c\x71\x9c\x5b\x4e\x72\xa8\xea\x7a\xb6\xb3\x1b\x7c\xc3\xad\xeb\x67\x20\xa6\x0f\xd8\x87\xce\x81\xbb\xf9\x4a\x70\xca\x12\x42\xa4\xa7\x1f\x10\xc2\xe1\xfe\xee\xda\xbf\xb1\x25\x39\x0f\x59\xbd\x7d\x73\x4d\x53\x71\xba\x68\x54\x6f\x30\x26\x49\x42\x63\xae\xc4\x44\x47\xb7\x90\x59\xb0\x5f\xa5\x6e\x66\x34\xef\xcb\x5e\xe8\x3e\xa6\xa3\x41\x53\xc0\xf2\xf9\x03\x56\x69\x17\xd9\xe3\x9e\xa8\xb9\x92\x51\xea\x8e\xdc\xab\xe8\x96\xaf\xbb\x69\x1a\xd0\x24\x27\x23\x5c\x74\x12\xc8\x23\xf4\x60\x8f\xd1\x9f\x8e\x8f\x1d\x0c\x48\x46\x2b\x7a\x33\x89\x1c\xdd\xc9\x4b\x36\x11\x42\x53\xc1\x75\x7a\xd4\xa9\xe8\x12\xaf\xa7\x77\xf5\x48\x3a\xef\x56\x94\xe3\x90\x1b\x07\x55\x17\x4b\x76\x0e\x60\x63\x23\xb2\x55\x74\x18\x0d\x87\xc2\xf9\xb1\xcb\x95\xcb\x26\xe2\xa0\xaf\x93\xc8\x1f\xea\xa5\xb1\xc2\xea\x46\xe6\x72\x63\x04\xc1\x3c\xd4\x3d\x2a\x6a\x9a\x6a\x7a\x77\x5c\x82\x8b\x3d\xd2\x12\x8f\x68\x19\xd1\x73\x61\x94\x67\x66\xe3\x4b\x1b\x02\x6f\x12\xc8\x66\x41\x40\xb3\xac\x09\xa4\x24\x68\xea\xfe\x86\x40\x0a\x1d\xca\x4f\x84\xde\x92\xb3\x9f\x65\x2d\x70\x68\xaa\x7c\x26\x5e\x0e\xee\x94\xc6\x56\x51\xdd\x1e\x60\xcc\x32\xba\x49\x30\x85\xad\x9d\x78\xaf\x6a\x8d\xf2\x34\x29\x4a\x56\x9d\xa7\x10\x6b\xba\xb4\x96\x83\xe0\x73\x5b\xd5\xea\x7d\x5e\x31\x35\xac\xda\xe8\x3d\xda\xd4\x37\x76\x3a\x8b\xd1\xe0\x4c\xa1\x2e\x4e\x50\xe1\x9e\x7a\xc8\xe7\x82\xe4\xc7\x5a\x0e\x48\x4f\xe1\x42\x2b\xc8\x68\x89\xac\x30\x08\x96\x6d\xcd\xa2\xaf\xbd\x14\x4a\xc7\xa2\x74\xe6\xa5\xd7\xe6\x9a\x63\x9e\x46\xd3\x29\x0d\x39\x4b\xe1\x6e\x98\xb8\x7e\x66\xec\xa3\x9c\x41\xcc\x6e\x68\x1a\x90\x4c\xde\xef\xe1\x2c\x22\x9a\x41\x8b\x4f\x9e\x39\x34\xe5\x24\x97\x19\xee\xb2\xdd\xd5\x63\x79\x99\xd7\xc2\x32\x67\xb8\xea\x9b\x88\xd7\xe1\x78\xcd\x90\xa6\xd1\xb5\xfd\x80\x79\x96\xb3\xe0\x3d\xef\x9d\xdc\x00\x6e\xe5\xb7\xb9\xed\xdb\xe3\xbf\x83\x70\xae\x4e\x18\x74\x3b\x4b\x37\x61\x71\x6b\x30\x9b\x32\x8c\x35\x50\x41\x38\x77\x5e\x56\xb3\x5d\xf1\x4e\x80\xe1\x7c\x39\x14\x8e\x96\xe2\xff\x20\xf1\xab\xe6\x67\x53\x02\x2f\x0d\x5c\xa2\x26\x4b\x44\x6c\x35\x3c\xa8\xce\xd9\x4b\x3e\x1c\x87\x44\x05\xe1\xfb\x72\x4d\x99\xd3\xfb\x6c\x03\x8f\xef\x6b\x5f\xa0\xc1\x2a\xee\x3e\xd7\xc3\x2f\x86\x72\x4a\x62\x9a\xe7\xe5\x81\xc0\x32\x87\xfc\xfb\x5b\x51\xc2\x9d\x17\x94\xbd\xb3\x06\x50\xbf\xc0\x8d\x35\x0a\xeb\xfd\xd7\x67\x2f\xa0\xb3\xb7\x8e\x37\x78\x01\xa0\xf6\x55\x1b\x3f\x7c\x62\xff\xea\xf0\x50\x7f\xdd\x39\x7e\xd2\x6f\xef\x89\xd4\x9d\x3e\xa6\xca\xf2\xdb\x3b\x7b\xbb\xfd\x1d\xcc\x79\xb4\xbb\xdb\x7e\xf4\x1c\xbf\xb6\xf7\x9e\x3c\x7e\xd2\xc7\xaf\x47\xdb\x47\x8f\x0e\x4f\x74\xf9\xdd\xdd\xdd\x47\xbb\xdb\x98\x73\x7c\xd2\x7d\xd2\x7d\x22\xca\xb7\x9f\xf7\x3b\x22\xf5\xe4\xf0\xf8\xc9\x8e\x29\xff\xa8\xfb\xe4\x84\x57\xe7\x39\xdd\x76\xfb\xf0\xb9\x2a\xbf\xfb\xfc\x48\x40\xe1\x9f\xc3\x5a\x53\xef\xd2\xf1\x8e\xed\xdd\xee\x49\x6a\x05\xb3\x81\x08\xad\x52\xea\x1e\xff\xb2\x7b\xa2\xbf\x3e\x7e\xa4\xbf\xf6\x4d\xea\x91\x49\x3d\x31\x48\xf1\x8a\x1a\xca\xee\x89\x86\xb2\x7b\xa2\xa1\xec\x9e\xf4\x4d\xea\x91\x49\x75\xa0\x3c\x7e\xa4\xa1\x3c\x7e\xa4\xa1\x3c\x7e\xa4\xa1\x3c\x7e\xd4\x37\xa9\x47\x26\xd5\x81\xd2\x37\xb8\xf4\x0d\x2e\x7d\x83\x4b\xdf\xe0\xd2\x37\xb8\xf4\x5d\x5c\x8e\x0c\x2e\x47\x06\x97\x23\x83\xcb\x91\xc1\xe5\xc8\xe0\x72\xe4\xe2\x72\x62\x70\x39\x31\xb8\x9c\x18\x5c\x4e\x0c\x2e\x27\x06\x97\x13\x81\x8b\xe2\x91\x13\x3d\x48\xfc\xab\x04\xc3\xbf\x4a\x30\xfc\x6b\xdf\xa4\x1e\x99\x54\x0b\x19\x3e\x2e\x1a\x8a\x1e\x24\xfe\x45\x43\xd1\x83\xc4\xbf\x1e\x99\x54\x07\x8a\x1e\x24\xfe\x55\x43\xd1\x83\xc4\xbf\xf6\x4d\xea\x91\x49\x75\xa0\xf4\x0d\x2e\x7d\x83\x4b\xdf\xe0\xd2\x37\xb8\xf4\x0d\x2e\x7d\x17\x97\x23\x83\xcb\x91\xc1\xe5\xc8\xe0\x72\x64\x70\x39\x32\xb8\x1c\xb9\xb8\x9c\x18\x5c\x4e\x0c\x2e\x27\x06\x97\x13\x83\xcb\x89\xc1\xc5\x1d\x24\x4e\x16\x09\x86\x7f\x95\x60\xf8\x57\x09\x86\x7f\xed\x9b\xd4\x23\x93\x6a\x21\xc3\x29\xaa\xa1\xe8\x41\xe2\x5f\x35\x14\x3d\x48\xfc\xeb\x91\x49\x75\xa0\xe8\x41\xe2\x5f\x35\x14\x3d\x48\xfc\x4b\xdf\xa4\x1e\x99\x54\x07\x4a\xdf\xe0\xd2\x37\xb8\xf4\x0d\x2e\x7d\x83\x4b\xdf\xe0\xd2\x77\x71\x39\x32\xb8\x1c\x19\x5c\x8e\x0c\x2e\x47\x06\x97\x23\x83\xcb\x91\x8b\xcb\x89\xc1\xe5\xc4\xe0\x72\x62\x70\x39\x31\xb8\x9c\x18\x5c\xdc\x41\xea\x1b\x49\xea\x1b\x49\xea\x1b\x49\xea\x1b\x49\xea\x1b\x49\xea\xbb\x92\xd4\x37\x92\xd4\x37\x92\xd4\x37\x92\xd4\x37\x92\xd4\x37\x92\xd4\x77\x25\xa9\x6f\x24\xa9\x6f\x24\xa9\x6f\x24\xa9\x6f\x24\xa9\x6f\x24\xa9\xef\x4a\x52\xdf\x48\x52\xdf\x48\x52\xdf\x48\x52\xdf\x48\x52\xdf\x48\x52\xdf\x95\xa4\xbe\x91\xa4\xbe\x91\xa4\xbe\x91\xa4\xbe\x91\xa4\xbe\x91\xa4\xbe\x2b\x49\x7d\x23\x49\x7d\x23\x49\x7d\x23\x49\x7d\x23\x49\x7d\x23\x49\xfd\x82\x24\x1d\x19\x49\x3a\x32\x92\x74\x64\x24\xe9\xc8\x48\xd2\x91\x91\xa4\x23\x57\x92\x8e\x8c\x24\x1d\x19\x49\x3a\x32\x92\x74\x64\x24\xe9\xc8\x48\xd2\x91\x2b\x49\x47\x46\x92\x8e\x8c\x24\x1d\x19\x49\x3a\x32\x92\x74\x64\x24\xe9\xc8\x95\xa4\x23\x23\x49\x47\x46\x92\x8e\x8c\x24\x1d\x19\x49\x3a\x32\x92\x74\xe4\x4a\xd2\x91\x91\xa4\x23\x23\x49\x47\x46\x92\x8e\x8c\x24\x1d\x19\x49\x3a\x72\x25\xe9\xc8\x48\xd2\x91\x91\xa4\x23\x23\x49\x47\x46\x92\x8e\x8c\x24\x1d\x15\x24\xe9\xc4\x48\xd2\x89\x91\xa4\x13\x23\x49\x27\x46\x92\x4e\x8c\x24\x9d\xb8\x92\x74\x62\x24\xe9\xc4\x48\xd2\x89\x91\xa4\x13\x23\x49\x27\x46\x92\x4e\x5c\x49\x3a\x31\x92\x74\x62\x24\xe9\xc4\x48\xd2\x89\x91\xa4\x13\x23\x49\x27\xae\x24\x9d\x18\x49\x3a\x31\x92\x74\x62\x24\xe9\xc4\x48\xd2\x89\x91\xa4\x13\x57\x92\x4e\x8c\x24\x9d\x18\x49\x3a\x31\x92\x74\x62\x24\xe9\xc4\x48\xd2\x89\x2b\x49\x27\x46\x92\x4e\x8c\x24\x9d\x18\x49\x3a\x31\x92\x74\x62\x24\xe9\xc4\x91\x24\x69\xfb\x8d\x52\x3a\x17\xe7\xd8\x29\x99\x4c\x2d\xd3\xef\x31\xff\x83\xf5\x3a\x5d\xfe\x47\x7c\x3d\xe4\x7f\xf0\x6b\x77\x8f\xff\xc1\xaf\xdb\x6d\xfe\x47\x7c\xed\xf3\x3f\x1a\xd3\x1d\xfc\x60\xce\xce\x31\xff\x23\x26\xc7\xc7\xfc\x0f\x7e\x45\x20\x02\xf6\xde\x21\xff\x83\x5f\x1f\xed\xf1\x3f\x46\xbd\x23\x32\x42\x65\xf7\xf9\x1f\xfc\xfa\x64\x87\xff\x11\x5f\x8f\xf9\x1f\xa1\x2e\xb0\x04\x7e\x7d\xde\xe5\x7f\x34\x94\xe7\x87\xfc\x0f\xe6\x60\x4b\x02\xf7\xa3\x36\xff\x23\xbe\xf6\xf9\x1f\xfc\x8a\xb8\x0a\xd8\x68\x31\x1f\xa3\x73\xf2\x65\xc3\x5d\x67\x04\xb3\x34\xa5\x7a\x4b\x4b\xae\x34\x9a\x2a\xaa\xd0\x5c\x9c\x65\xcc\x32\x9a\xe2\x3e\xde\xc8\x73\x4a\x10\x54\x2e\x40\x4a\xeb\x13\xf7\x8a\x4c\xa8\x7c\xe1\x48\x10\xb0\x34\x94\x0e\x09\xce\xda\xb7\xb4\xf0\x2d\xb7\xfc\x5a\x06\x9f\xe0\x4b\xcf\x75\x12\x47\x01\x1d\xc4\x33\xba\xbe\x8f\x7e\xd5\xf5\xee\x4e\xbb\x09\xdd\x9d\xc7\xc2\xf5\x75\xbd\x89\x85\x92\x3c\xfa\xc3\x8c\xde\x8c\xa3\xdc\x94\xdb\xe5\xe5\xb6\x77\x9b\xd0\xed\xf8\xca\x75\x4c\x41\x5e\x66\xfb\x09\x2f\xf8\xc4\x53\xb0\xab\x0b\x6e\xf3\x46\xbb\xdb\x4d\xe8\xb6\x77\x3c\x05\xb7\x75\xc1\xf6\x6e\x13\x3a\x4f\xba\x4d\xe8\x3c\xda\xf3\x14\xdc\x51\x05\x3b\xbc\xd5\xce\x76\xa7\x09\x9d\x6e\x5b\x15\xfc\xc3\x8c\x4c\x48\x1a\x25\xba\x27\x9d\xee\x23\xec\x2c\x47\xb0\x5b\x2a\xd5\x59\xad\x98\xee\x45\xa7\xc3\x7b\xc1\xbb\xd2\x79\xf2\xb8\x54\x4c\xf7\xa1\xd3\xee\xf2\x7e\xf2\x8e\x3c\x2a\xa3\xa6\x7b\xb0\x87\x1d\xe0\x7f\x75\x74\x4f\xff\x38\x4b\x0b\xa3\x85\x48\x99\xd1\xe2\x05\x3a\x4b\x4b\x18\xba\x77\x77\x24\xc6\xdd\xed\xc7\x76\x09\x83\xec\x93\x6d\x89\x6c\xb7\xed\xc0\xb0\x28\xdd\x51\x88\x6e\xab\x41\x1e\xd0\x68\x64\x21\xca\x6b\xe3\x5f\x7a\x28\x06\x51\xf6\x07\x8b\xf1\x10\xc7\x2e\x12\x6e\xcf\x29\xd1\x59\x5e\xa4\xc0\x44\x9d\xed\x26\x74\x1e\x6f\x3b\x45\x0a\xec\xf3\x98\x17\xd9\x7d\xec\x14\x29\x30\x4e\x97\x97\x6b\x3f\x52\x45\x62\x12\xbc\x57\x05\xda\x4d\xe0\xff\x99\xac\x24\x18\xd3\x90\xc4\x13\x96\x84\x05\xc6\x77\xa8\x66\x4b\x9a\x80\x61\x46\x85\xe7\x75\x16\x65\x76\x0b\x99\x7a\xb4\x78\xe6\x76\x21\xd3\x69\x72\xc7\xcd\xb4\xc6\x28\x9e\xd1\xeb\x88\xc5\x34\x37\x5d\x7f\xdc\x84\x1d\x3e\xde\x5d\x4d\xe2\x94\xdd\x24\x3a\x7f\x6f\xb7\x09\x3b\x5d\xfe\xbf\x9d\xed\x8e\xd1\xde\x0e\xff\xdf\xce\x77\x07\x68\xf7\x09\xff\xdf\xce\x77\x47\x67\xb7\xc3\xff\xb7\xf3\xdd\xa1\xe1\x44\xdd\xd6\x1d\x9c\xa5\xf1\xfc\x86\x31\x43\xf8\x2e\x57\x0d\x8f\x77\x78\x47\x4b\x85\x0a\xcc\xd4\xe1\x7c\xfb\xff\xb3\xf7\xef\xdd\x6d\xdc\x48\xc2\x38\xfc\xbf\x3f\x05\xec\x27\x1b\x92\x36\x45\x89\xb2\x2c\x5f\x32\xca\x3c\x1a\xc7\x99\xf5\x1e\xc7\xc9\xc6\xce\xe6\xdd\xa3\x68\xbc\x20\x1b\x24\x3b\x6a\x36\x98\x46\xb7\x24\x4e\xec\xf7\xb3\xff\x0e\xaa\x0a\x40\x01\xdd\xbc\x38\xc9\xcc\xce\xcc\x93\x39\x63\x45\xea\xae\x46\xa3\x0b\x85\x42\xdd\xeb\x51\x0b\x2a\x9e\xee\xf8\xe9\xe3\xa1\x18\x9f\xb4\xa0\x12\x92\x7a\x7c\x04\x44\x93\x42\x25\x54\x35\x7e\x34\x14\x4f\x1c\xd0\x54\x66\xaa\xe6\x44\xf1\xf4\x11\x90\xe5\x50\x8c\x4f\x8f\x52\x98\xc0\x8a\x1e\x1d\xbb\xcd\xf4\xa8\x35\x52\xe0\x44\x76\x95\x8e\x8f\x9f\x72\x4a\xf1\x50\x61\x6f\x03\xb2\xec\x07\x06\x92\xf1\x50\x7e\xea\xb0\x5b\x1e\x9e\x70\xd2\x99\x2e\x64\x55\x57\xaa\x31\x1d\x8c\xf4\xa8\x05\xd3\xc1\x46\xdb\x40\x1d\x4c\xb4\x0d\xd4\xc1\x42\xdb\x40\x6d\x06\x1a\x60\xf4\x54\x17\x92\x1d\x64\x63\xbb\x6c\x76\x98\x87\x2d\x98\x98\x58\x60\xea\x0f\x4f\x53\xa0\x84\x56\xec\xd4\x1f\x3e\x4c\x81\x12\x52\x81\xa9\x3f\x4d\x81\x62\x4a\x81\xa9\x7b\x18\x5d\xc9\xa2\x3d\x9b\x27\x47\xfc\x7e\x32\xdd\xf1\xc9\x50\x3c\x39\xe5\x00\xc9\x54\x8f\x4e\xd3\x11\xe2\x69\x3e\x1d\xdb\x59\xf0\xfb\xc9\x0c\x2d\x1b\x78\x1c\xee\x97\x33\xb0\xfe\x73\x7a\x1e\x1f\x59\xec\x9e\x00\x11\x72\x48\x93\x17\x57\xf1\x4e\x04\x91\xe3\xf8\x28\x81\x19\xef\x03\x94\x70\xff\x87\xc7\x11\x31\x13\x50\xfc\x69\xc7\x30\xaf\xc7\xe9\x94\x52\xd1\xe1\x94\x8b\x0e\xd3\xb5\x2c\x19\x23\x4d\x0e\x55\x7b\x77\xbc\xfd\x36\x67\xe0\xc9\x81\x6b\x6f\x73\x16\x9e\x9c\xb6\xf6\x36\x67\xe2\xc9\x51\x9b\xc9\xea\xaa\x7d\xb4\xc4\xf7\x93\xd9\x77\x8c\x30\xd7\x45\xa6\xca\x2a\x30\x52\xe2\xa1\xf6\xc7\xb8\x0b\x2e\xa1\xb7\x27\xc0\xbb\xba\x00\x13\xba\x7b\x6c\xb9\xc9\x49\x17\x60\xb2\x4d\x4e\xe0\x18\xee\x02\x4c\x16\xea\x68\x3c\x14\x4f\x38\x5c\x25\xd7\xe1\xc4\xb2\x10\xf4\x23\x82\x51\x2a\xc2\xc8\x11\x3b\xd2\x09\x60\xe7\x20\x57\x0b\x79\x95\x07\x7c\x3d\x75\x92\x85\x17\x1b\x2c\xd0\x52\xce\x55\x59\xcb\x68\xca\xad\xf5\xd1\x45\x7e\xad\xa2\x39\x3d\x41\xf9\x83\xed\xb1\x18\x2e\xa0\x1f\xd8\x09\xee\xf9\xe3\x4e\xd0\xc0\x59\x9f\x78\xf1\xf4\xe8\xa4\x13\x34\xf0\xd7\x53\xc7\x5f\x9f\x1e\x75\x42\x86\x35\x18\x3b\x82\x3a\xe5\x74\xa2\x2b\xab\xff\xc4\x34\x72\x92\xe0\x18\x61\x3a\xf8\x6c\x1b\xa8\x83\xcf\xb6\x81\x3a\xf8\x6c\x1b\xa8\xcd\x67\x63\x98\xe9\x22\x0f\x7b\xe0\xd1\xc3\xa1\x00\x5d\x27\xc6\x17\x00\x85\x53\x0d\x58\xe5\x31\xdf\xf0\x01\x2a\x20\xff\xb1\x95\x7d\xa2\x7d\x1f\xa0\x02\xde\x1f\x9d\xb8\x37\xb6\xc7\x0a\x53\x3f\x3a\x19\x8a\xf8\x44\xb6\x50\x95\xca\x52\x32\xe3\xdf\x66\x40\x44\x0d\x88\x04\x21\x18\xc4\x16\x4e\x37\x46\xc9\x88\x10\xc7\x27\x20\x4f\x5b\xac\x9f\x3c\xec\x80\x1b\xc7\x8a\x02\xac\xe1\xd3\x2e\x40\x46\x86\x8e\x05\x8e\x9f\x1c\x75\x00\x32\x64\x3c\x72\x7a\x52\x84\x59\x07\xc8\xf0\xf1\xc8\x31\xb5\x08\x6d\xc6\x1e\xac\x9c\x37\x3e\x3e\xb6\x64\x9a\xe2\x0d\xc0\x38\xd7\x38\x79\x3c\x14\x8f\x9f\xda\x7f\x5d\x50\x4c\x14\x1b\xb7\x58\x7d\x04\xc9\xc4\xb1\x71\x8b\xeb\x47\x90\x4c\x24\x1b\xb7\x0e\x80\x08\x32\x88\x65\xc7\x9d\x8c\x9c\x00\xd5\xf6\x8f\xa9\x9b\xea\xa7\x46\xe7\x46\x45\xc7\xce\xa9\xfd\xc1\xc1\x12\xf5\xc0\x9e\xc0\x47\x20\x38\x3b\x18\x35\xc9\x65\xc9\xe8\xee\xd8\x4a\xb8\x56\x36\x09\x10\x6a\xb5\xca\xcb\xe4\xbc\x07\xb9\xe0\x71\x02\x32\xde\x03\x26\xe1\x03\xf6\xdf\xc3\x14\x26\x61\x03\xa7\xc0\x2f\x12\x98\xf4\x08\x61\xb2\x90\x05\x31\x57\xeb\xe4\x48\x85\x4d\xce\x96\x39\x00\x8d\xf7\x82\xe2\xc7\x3f\xb0\x02\x46\x08\x01\x8a\x4b\x01\xc0\x0a\x18\x11\x04\xa8\x48\x18\x38\x8a\xd9\x40\xbe\x8c\x8e\x3f\x64\x84\x8f\xa2\x8d\x61\x41\xd4\x76\x10\x9d\xcd\x63\x51\xee\x21\xac\xc6\x49\xf4\x71\x1e\x68\xbc\x17\x54\x58\xba\x27\x24\x58\x30\x14\x78\xa8\xb0\x78\x20\x79\x9c\x46\x28\xf0\x50\x61\xf9\x4e\x87\xe2\xf1\x13\x8e\x81\x59\x5e\xa9\x49\x95\x07\x75\x1d\xb0\xfd\x10\x18\x66\x0a\x12\x53\x9c\xa5\xee\x93\x27\x29\x4c\x4c\x71\xf6\xe3\x4e\x5a\xe3\xc4\x14\x67\xe1\x1e\xb6\xc6\x89\x29\xee\xd8\x7e\x98\x13\xcf\x67\x85\x15\xaf\x13\x0b\x1b\x70\x15\x30\xc7\x39\xc2\x9c\xe9\x4a\x99\x3a\x62\xce\x74\x06\xb0\x6f\x9b\xcb\xbc\x34\x13\x5d\xe9\xa0\x10\x1f\x81\xd8\xcc\x65\xe7\xf9\x42\x9b\x3a\x7e\x1f\x08\xd7\xb1\xe5\xcf\xca\x5b\x89\xc2\xcc\xf4\x2d\x7b\x37\xd5\xa7\x93\xdb\x89\x68\x6e\xe5\x34\x7e\x3b\xd5\xa0\x1f\xc6\xb7\x53\xd5\xf9\x71\x7c\x3b\x12\x56\x8f\x81\x13\x9c\x5a\xe4\x1f\xa7\x30\x89\x7c\x61\x4f\x29\xcf\x32\x36\x09\xa9\xf6\x84\x0a\x28\xdd\x20\xa0\xc2\x37\x3f\x4d\x81\x52\xce\x02\xac\xcc\x01\xf1\xad\xf9\x14\xf8\x05\xfe\x60\xf7\x8f\x62\x39\x9e\xdf\x0a\xfb\x6c\x28\xec\xff\xf9\x2d\xff\x18\x52\x16\xa3\x2e\xbc\x7d\x94\x50\x56\x74\x68\x01\xc8\x98\xef\x4f\xfc\xc7\x6f\x7b\x0c\x3d\x1c\x0f\x05\xfe\xe3\xb7\x3d\x6e\xac\x58\x81\xff\xf8\x6d\x8f\x15\xab\x55\xe1\x3f\x7e\xfb\x91\xbf\xfd\x24\xd9\x3f\x70\xfb\xd4\x9f\x65\xe3\xa1\xc0\x7f\xfc\xf6\x63\x7f\xfb\x21\x9a\xaf\x4e\xa2\x77\x3f\xf1\xb7\x4f\x87\x02\xff\xf1\xdb\x4f\xfd\xed\x27\x09\x0f\x88\x8e\xf0\x47\x43\x61\xff\xcf\x6f\x79\x9c\xa2\xc9\x8a\x99\xad\xe0\xb6\x47\x28\xc8\x74\xf0\x8f\xdf\x0e\x23\x9f\x0e\x05\xfe\xe3\xb7\x3d\x42\xd1\x5e\xc6\x6c\x66\x70\x3b\x18\x39\xc6\x28\xd2\x9c\x46\xef\xf6\x08\x45\x6b\x1c\xb3\xc8\xc1\x6d\x8f\xd0\xd3\xd3\xa1\xc0\x7f\xfc\xf6\x63\x6e\x41\xc1\x7f\xfc\xb6\x47\xe8\xe3\xf1\x50\xe0\x3f\x7e\xdb\x23\xf4\xf1\xc9\x50\xe0\x3f\x76\xdb\x7f\xd7\x93\xa1\x78\x12\x14\x37\xb8\xe5\x11\xfa\xd8\xca\x2c\xf0\x8f\xdf\xf6\x08\x45\x71\x86\x89\x34\x70\xfb\x98\x4b\x46\xf8\x8f\xdf\x0e\x2f\x3e\x19\x0a\xfc\xc7\x6f\x07\xb9\xca\x8a\x2f\xf0\x8f\xdf\xf6\x08\xb5\x6a\x1e\xfe\xe3\xb7\x3d\x42\x9f\x1e\x0f\x05\xfe\xe3\xb7\x3d\x42\x9f\x9e\x0c\x05\xfe\xe3\xb7\x3d\x42\x9f\x3e\x1e\x0a\xfc\xc7\x6f\x7b\x84\x3e\x7d\x3a\x14\xf8\x8f\xdd\x66\x52\x30\x4a\x32\x63\xce\x33\x4e\x8e\xc2\xed\x63\x52\x8a\xc6\x47\x7c\x72\x27\xe3\x6d\xa2\x00\x40\x04\x39\xd6\x6a\xa4\xee\x07\x87\x78\x18\xab\x83\xf4\x83\x43\x30\x85\xf1\x18\x74\x55\xae\xb0\x02\xc4\xa3\x00\xf1\x88\x6c\xa5\xe3\x71\x34\x8f\xd3\x00\xf1\x98\x8e\x84\xf1\x38\x9a\xc7\xe3\x20\x47\x83\x66\x73\xc4\x6d\x38\x00\xf1\x24\x40\x1c\x83\xee\xc3\x15\x20\x80\x78\x1a\x20\x1e\x39\x4f\xc0\x31\x9f\x47\x98\x28\x58\x46\xed\x3f\x7e\x37\x60\xdc\xea\xb2\xee\x07\x87\x08\x18\x07\x89\x89\x7e\x70\x88\x80\x71\x50\xd3\xe8\x07\x87\x08\x18\x7f\x08\xca\xcf\x23\x6e\xf1\x06\x08\x76\x12\x81\x84\x84\x3f\x38\x44\xf8\x90\x93\x23\xd2\xcf\xc7\x27\xd1\x3c\x4e\x63\x35\x90\x7e\x70\x88\x80\xf1\x13\xd0\xf1\x1f\x71\x6b\x39\x40\x3c\x89\xf4\x07\xf7\x83\x43\x04\x8c\x83\x3e\x4a\x3f\x18\x44\x98\x06\x1c\xbc\xcc\xd4\x04\x77\x8f\x22\x85\xdd\xfd\xe0\x10\x4c\x67\xb3\xfa\x00\xfd\xe0\x10\x01\xe3\x60\x81\xa7\x1f\x1c\x82\x19\x47\xac\x0a\x49\x3f\x38\x04\x13\x4b\xed\x14\xe8\x07\x87\x08\x18\xb7\x5c\xd7\xfd\xe0\x10\xe1\x53\x4f\x41\xa6\xc1\x1f\x1c\x22\x60\xdc\xf2\x5e\xf7\x83\x43\x04\x8c\x83\xb5\x8d\x7e\x70\x88\x80\xf1\xc7\xa7\xe0\x4a\xe5\xfe\x54\x0b\x11\x5e\xe2\xf4\x2c\x3e\x87\xc7\x01\xe3\x96\x0f\xbb\x1f\x1c\x22\x60\xfc\x89\x9d\x20\xfd\xe0\x10\xcc\x20\x70\xe2\x7c\x36\x11\x4f\x7e\x1c\x30\xfe\xc4\x4e\x90\x7e\x70\x88\x80\x71\x34\xbf\xe1\x0f\x0e\x11\x30\x6e\x75\x33\xf7\x83\x43\x04\x8c\x5b\xce\xec\x7e\x70\x88\x80\x8c\xa7\xa7\xe0\x7f\xe4\x4e\x48\x80\x08\x18\x7f\x0a\x96\x7b\xfc\xc1\x21\x9e\x06\xe1\x71\x4c\xc2\xf0\xf1\x11\x9f\xc7\x93\x00\x80\xda\x6f\xc4\xb7\x9e\x04\x01\xee\x08\xf4\xc2\x13\x6e\x95\x02\x08\x66\x12\x04\x8f\x0e\xfe\xe0\x10\x41\xca\x3d\x7a\x0a\xaa\x3e\xd7\xf7\x01\x22\x88\xb8\x96\x41\xbb\x1f\x1c\xe2\x24\x40\xd8\x29\xd0\x0f\x0e\xf1\x28\x40\xd8\x29\xd0\x0f\x0e\x71\x1a\x20\x30\x34\x80\xc7\x07\x00\xc4\xe3\xa0\xbe\x80\x23\x0b\x7f\x70\x88\x80\x2e\x70\x61\xd3\x0f\x0e\x11\x30\x0e\x6e\x27\xfa\xc1\x20\x02\xc0\x43\xab\x8c\xda\x7f\xfc\x6e\xc0\x38\xf8\xd1\xe8\x07\x87\x08\x18\x07\xb7\x03\xfd\xe0\x10\x4c\xaf\xf0\x0e\xe1\x88\x4b\x3f\x0d\x18\x7f\xf8\x18\x1c\x25\xdc\x5b\x02\x10\x01\xe3\x18\x9e\x11\x29\x85\x00\x11\x30\x0e\x6e\x3f\xfa\xc1\x21\x02\xc6\x83\x2f\x3e\xe2\xd2\x4f\x03\xc6\x4f\xec\x14\xe8\x07\x87\x08\x18\x07\xbd\x94\x7e\x70\x88\x80\x50\x70\x52\xd2\x0f\x0f\x11\x9b\xdc\x23\x3f\x60\x6c\x4a\xec\xbc\xdb\x72\xa0\x44\x77\x5b\xfe\x93\xe8\x6e\xcb\x7d\x12\xdd\x5d\xab\xa2\xd0\x37\x11\xcf\x44\x83\x40\xf8\x7c\xb5\x43\x6f\x53\x9b\xf5\x36\xb5\x59\x6f\x53\xdb\xf5\x36\xb5\x5b\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x59\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\x9b\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x55\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x5b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x55\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x5b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x55\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x5b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf4\xb6\x85\x2e\xd5\x3a\x53\x37\xf1\xd7\x60\x44\xde\x51\x02\xd3\x15\x79\xde\x02\xea\x0a\x3e\xf7\x14\xe0\x80\x3a\xe2\xcf\x43\x58\x89\x03\xea\x0c\x41\x1f\x7b\xa0\xba\x15\x78\x80\x42\xd2\x93\xa3\x18\x24\x0d\x9d\x3c\xea\x80\xe9\x88\x9e\x1c\x9f\x3e\x8e\x61\x92\x00\xca\x53\x70\x86\xc7\x20\xb1\x77\xd0\x1e\x56\x3e\x51\x20\x2f\xb3\x24\x96\x02\x46\xe1\x32\xa9\x07\x49\x66\x0c\xb3\x39\x3a\x4d\xa1\xe2\x39\x47\x02\xa8\x87\x89\xe7\xfc\x84\xc7\x27\x7b\x98\xf6\xa4\xfd\x01\x9b\x5f\xeb\x6a\xdd\xa1\xa2\xfa\x45\x07\x80\xf1\x4e\x88\x34\x8a\x33\xa2\x09\x80\x48\x43\x38\x23\x82\x00\x88\x34\x7e\x33\xa2\x86\x28\x56\x0f\xa9\xf3\x61\x24\x36\x01\x40\x1a\x71\x7a\xca\xc5\x26\x80\x48\x27\x7a\xc4\x05\x3c\x80\x48\x53\x55\x9e\x70\x71\x18\x20\xd2\x89\x5a\x55\xcb\x21\xb4\x90\xd7\xaa\xcc\x54\x15\x5e\xe3\xa6\x1a\xf6\xac\x83\x99\x14\x8d\x59\x24\x33\x3e\xe2\x0c\x22\x02\x4c\xbf\x6d\x33\x64\x9a\x95\x73\xc2\x19\x68\x04\x99\x7e\xeb\x43\x08\x27\xef\x82\xec\xca\xcb\xf1\x1e\xf6\x42\xde\x94\x71\xd0\x19\xbc\xf3\x11\x0b\xe0\x2b\xd4\x52\x97\xd3\x45\x3e\x9b\xb1\x10\xb6\x10\x24\xe1\xf5\x1e\x0e\x97\x92\xdd\x46\xc0\x74\x51\x1f\x72\x59\x83\x03\xa6\x44\x08\xa2\x64\xd7\x88\xe9\xe7\x3e\xe6\x5a\x53\x91\xcf\x17\x51\xe0\x3f\x9a\x9c\x20\xd8\xc5\xab\x13\x1e\x28\x8e\x33\xc4\x64\x2a\x6f\x01\xf2\x50\x71\x9c\x21\x66\x52\x79\xa5\xc1\x43\xc5\x71\x86\x90\x46\xc5\x30\xe2\xa0\xe2\x38\x43\xc7\x5b\x39\x54\x1c\x91\x0e\xfa\x07\x44\xf5\x1c\x47\x6f\xe4\x51\xc7\x48\x45\xb1\xf9\xca\x03\x8d\xf7\x82\x4a\xa4\xa0\x38\x9a\xce\x43\x31\xd9\xb3\x1d\x4a\xed\xa1\x4e\x62\x6d\x32\x0e\xa3\x03\xa8\x76\x8c\x09\x6e\x86\x31\xd7\xf9\x62\xc8\x34\xed\xed\x74\xf3\xa0\xe9\x16\x3b\xda\x3c\x6a\xba\xc7\x8e\x5a\xa4\xb4\x29\xf6\xc4\x4a\x3e\x5e\x39\x88\x21\x63\x93\x27\x13\x0c\xc6\xf1\x24\x58\xc0\x0a\xa4\xcb\xb8\x1f\x31\x50\x14\x2e\xea\xce\xf4\x70\xf6\x39\xa8\xdd\x43\xb5\x0f\x6c\x88\x72\xf4\x7c\xde\x03\x25\x07\xe0\x63\xd0\x41\x1e\xa5\x50\xc9\xa1\x7d\x7a\xcc\xf5\x29\x0f\x95\xc6\x9d\x63\xd2\x42\x0a\x15\xe3\x16\x52\x75\x8e\xa2\xb9\x27\xe1\xb5\x30\xaf\xd3\x28\xbc\x96\x81\x8d\xf7\x84\x4b\xbe\x00\x62\xe2\xc7\x27\x6d\xb8\xe4\x1b\xec\xca\x3f\x7d\xd2\x06\x8b\x3f\xe2\xc9\x63\x66\x40\x44\xa8\x24\xf8\xf7\xe1\x31\x45\x2b\x86\x44\x45\x84\x8b\xe3\x23\xc7\x98\xe8\x76\x1a\x1d\x52\x0c\x6e\x1c\x69\xad\xc7\x60\xe6\x8e\xf7\x77\x1a\x25\x39\x3e\x3d\x71\x14\x12\x6f\xf1\x34\x50\x12\x22\x6b\x81\x4a\x92\x5d\x9e\xc6\x4a\x82\x38\x76\xfc\xb0\xb5\x25\x5b\x31\xc2\xe3\x87\xce\xce\x95\xce\x31\x0d\x13\x1e\x8f\x7d\x9e\xc8\xa3\x87\x1d\x90\x6a\x0f\xc8\x5a\xa9\x22\x3e\x0a\x9c\xa6\x7a\x9c\xd0\x83\x83\x4c\x22\xff\x8f\xdb\xcc\xd2\x83\x26\x91\xff\xe3\xa3\x36\x3a\x1d\x68\x1c\xf9\x0f\x6a\x7f\x8a\x50\x07\x9a\x84\xfe\x77\xe0\x34\xe5\x2e\x5e\xe8\x3b\x3e\x69\x83\x75\x09\x87\x5d\x70\x5d\x22\xe2\x51\xc7\x6b\xbb\x04\xc5\x27\x47\x6d\xb8\x2e\x71\x91\xa1\x7c\x19\xe7\x63\x3c\x72\x87\x09\x23\xf0\x52\x95\x31\x07\x25\xb1\x92\x00\x92\xcc\x0f\xf4\x68\xf1\xc5\x22\x80\xf1\x4e\x88\xf8\xd3\xa3\x55\x24\x88\xf8\xa3\x23\x41\x87\x20\xe2\xcf\x8d\x32\x50\x96\xb2\xd2\x81\x73\x01\x05\x9e\x58\x85\xe1\x34\xba\x1f\x4f\xf3\xd1\x31\xb7\x1c\x21\x44\x12\x2a\xfb\x84\xab\x48\x08\x11\x4f\x13\xb6\xae\x3f\x25\x10\x22\x09\x93\xe5\x0a\xd2\x52\x65\x79\xb3\xec\xc8\xe1\xee\x48\xa7\x46\xd8\x8e\x8c\xdb\x80\x16\x80\x48\xf2\x3d\x9e\x9c\xa2\x0e\x14\x8e\x25\x0e\x16\x8b\x29\xe3\xa3\x88\x45\x70\xc0\x58\x52\x79\xfa\x28\x5a\x30\x06\x17\xcb\x2a\x31\x13\xe3\x70\xb1\xb4\xf2\xe8\x51\xb4\x78\x00\xb7\x6a\xaa\x55\x11\x30\x72\xf2\xd8\xb1\xb0\x71\x17\x1c\xe3\xc7\x63\xb2\x63\xa7\x1f\x82\x80\xcc\xb8\x0a\xdb\x63\xdc\xfe\x12\x04\x64\x56\xed\xc7\x14\x94\x9e\x7e\x0a\x02\x06\x7e\xfc\x10\x7d\x50\xe9\x97\xa4\x47\x10\x1c\x8d\x60\xa7\xf4\xd6\x7a\x02\x6c\x31\x6e\xe0\x44\x47\x27\xed\x39\x9a\x55\x95\x97\xf3\xb6\x03\x1a\xa3\xec\x23\xd0\x56\x62\xc4\xe3\x63\x6f\x71\x8b\x21\x31\x37\x82\xe7\xdc\x3c\x05\x7b\x18\x57\x08\x97\x79\x56\xa6\xc2\x3e\x32\x6c\x2e\xc4\x2d\xf3\xb2\x9e\x56\x4a\x2e\x63\x63\x0f\x29\x2d\x1e\xc8\xd4\xeb\x4a\x9b\x8e\x9c\xf9\x63\xef\xe5\xf0\x40\x1d\x69\xf3\x1d\x50\x1d\x99\xf3\x41\x00\xf4\x50\x5d\xc9\xf3\xde\x22\xec\xa1\xba\xf2\xe7\xbd\x5d\x6e\xa9\xa7\x53\x69\xf2\xb2\x3d\xab\x30\x52\x29\xaf\xe5\x8f\xba\x23\x0a\xfe\x38\x12\xdb\x18\x58\xfa\x91\x9b\xe0\xd2\x38\xf4\xc7\xdc\x01\xc0\xe0\xd2\x80\xf4\x48\x29\x60\x70\xe9\xa7\x8e\x99\x5f\xb0\x94\xd7\xeb\x98\xe5\x04\xa5\xc8\xde\xeb\xc8\xd4\xf4\xf7\x75\x91\x15\x72\xca\xbe\xfe\xa1\x33\xf9\xf9\x33\x05\x12\xf0\xb2\x4a\x4e\x02\xf3\x83\xf4\xf4\x63\x96\x13\xef\x61\x98\xe6\xe8\x72\x04\x4f\x8f\x53\x20\xa6\x38\x3a\xad\xea\xd1\x93\x14\x28\xd6\x1b\xe3\x73\xd0\x03\x75\xa4\x63\x79\x0d\xbf\x2b\x1d\xf0\x94\x45\x69\x74\xa6\x02\xb6\x01\x12\x71\xd8\x4e\x26\x06\x48\x96\xf0\xe1\xc3\x14\x20\x11\xe3\x8f\xd2\xfb\xdc\xfe\x06\x08\x7b\xda\x01\x31\xde\x0d\x12\xcf\xf4\xb4\x35\xd1\x96\xe9\xed\x51\xeb\x63\x5b\x96\xb7\x87\x8f\x39\x08\x3f\xb8\x30\xff\x01\x19\xfe\x49\x04\x91\xa0\xf4\xe1\x98\xf3\x94\xf4\xb4\x02\xa4\x82\xcd\xde\x73\xb0\xe4\xa0\x3a\xf6\xae\xe6\xe0\x04\x49\xcf\x28\x3b\x55\xe4\xec\xee\xf0\x5f\xc9\x42\x6d\xd0\xa7\x51\xc3\x38\xe2\x80\x91\x3a\x89\xb6\x68\x28\xd4\x70\x9c\x02\x8d\x63\xaa\x84\x0f\xf4\xec\xdc\x43\x1d\x6f\x53\x4d\x3d\xd4\xc3\xd8\xf4\x84\x5a\x54\x0b\x2a\x04\x1b\xb8\xc4\x9b\x27\x1c\xa6\x75\x78\x8c\x1f\x3f\x6a\x59\x2a\x22\x40\xe6\x6d\x7b\xdc\xb2\x7c\x44\x90\x6c\x9f\xb6\x4b\xb6\x44\x90\x6c\xb3\xb6\x2d\x20\x11\xe4\x49\x24\x42\x25\x56\x10\x0b\xd9\x3a\xe3\xc0\xe7\x83\x41\x00\x27\x8f\xbb\x00\x53\x7a\x3b\xe2\x4e\xce\x08\x32\x25\x3b\x58\xe3\xce\x97\xa7\xd4\x77\x92\xd2\x96\x87\x6c\x13\xa1\x37\x1d\xac\xe4\x4a\xae\xe5\xcd\x22\x5f\x25\x56\x1a\x38\xb4\x3d\x94\x92\xd3\xc5\xaa\x99\xcd\x62\x20\x74\xa4\x3e\x4a\x81\xd2\xfc\xa7\x6e\xa8\xf4\xf8\x89\xbc\xba\x1e\x2a\x3d\x7c\x1e\x71\x2b\x84\x87\x4a\x93\xa2\x9e\x72\x33\xc4\x4a\x55\x4d\x9b\xff\x79\x47\x76\xdb\xb8\x82\xf6\x3f\x7e\x3f\xcd\xea\x1f\x73\x83\x6e\x97\x49\xe5\x29\x77\xfe\x76\x59\x53\x1e\x71\x7f\x7c\x87\x21\x05\xbe\xc0\xdf\x2f\x9a\x20\x04\x01\x45\x9c\x42\xe2\xda\x98\xdd\x4f\xa7\xf8\x38\xda\x32\x45\xb3\x4c\x0b\x0e\x44\x02\xa1\x05\x48\xf3\xb8\x22\xbd\xc0\x02\xa4\x39\x5c\xc7\xd1\xbe\xd0\x37\x59\x52\xe7\x02\xad\x1a\x27\xfc\xa0\x4e\x04\x72\xfb\x19\xe0\x66\x3c\x89\x01\x18\x0b\xa3\x0c\x44\xf6\x2d\x89\x08\x6e\x51\x79\x12\x7f\x4c\x22\x7b\x1f\x53\xf6\x21\xfb\x9a\x58\xe8\x06\xdd\x26\x32\x4b\xa6\xe7\x1d\x3b\x10\x5b\xbb\x39\xbe\xd7\x52\x4a\xd9\xbd\x96\x3a\xca\xee\xb5\x14\x51\x7f\x4f\x9b\x75\x5c\x6e\x88\xb2\xce\xb9\x13\xc6\x03\x75\xa4\xf5\x05\x3b\xa1\x87\xea\xc8\xeb\x0b\xc6\x00\x0f\xd5\x91\xd8\x17\x32\xce\x3d\x54\x47\x66\x5f\x88\xb7\xaa\xf4\x5a\x46\x86\x9c\x53\x7f\x50\x1e\xb7\x60\xc6\x5c\xb9\xc0\x7a\x37\x8f\x5a\x40\x7e\xea\xa7\x8f\xc9\x29\x19\x16\xde\x03\x85\x68\xc3\x27\xa4\x68\xb6\x67\x14\x62\x38\x9f\xa2\x24\x12\x56\xdf\xc8\x2c\x2b\x54\x8c\xf4\x56\xf9\x99\xd4\xb0\xe9\xad\xfd\x5e\xd4\xe8\xb4\x69\x9e\x1c\x71\xfc\x74\x9a\x33\xed\xe9\xe0\xd5\xfb\x4e\x43\xa6\x3d\x69\x9e\xc4\xaf\x49\x78\xfc\xe9\x50\x3c\x7a\xec\x01\xca\x2c\x26\xa1\x63\xbb\x61\xc0\x98\xe8\xad\x19\xa9\x82\x79\x72\xea\x8e\xf2\xc7\x09\xc4\x98\x9f\xf6\x24\x5e\x3c\x4d\x60\xfc\x17\x3d\xf6\xb5\x35\x7c\x8c\x54\xab\xa0\xc1\xe9\x63\x2f\x5a\xa4\x30\x27\x5b\xa7\x63\x16\xaa\x88\x2b\x00\x91\x5e\xf0\x24\x81\x49\x9d\x7c\x9d\x40\xa9\xf3\xe1\x29\x37\x36\x3a\xa0\xd4\xed\xf0\x98\xfb\xc4\x1c\x50\x87\x27\x33\xb8\x31\x4c\xae\xca\x52\x46\x2c\xf0\xc9\xf1\x50\x78\x9f\x23\xde\xef\x10\x18\xbc\xbc\x80\x10\x1d\x82\x82\xb7\x5a\x23\x44\x87\x80\x10\x68\x02\x20\xda\x82\x41\xc0\xca\x46\x5b\xb6\xd7\xa8\x5a\x66\x6c\x66\xef\x4e\x60\x02\xbb\x06\x3e\x0b\x27\x6c\xfa\x2a\x56\xc5\xea\x09\x05\x93\x85\x6d\x9b\xda\xad\xc1\xb5\x31\x8e\x4e\xa0\xb6\xe5\xc3\x4e\xe5\x69\x74\x8c\x79\x18\x36\x69\x7b\x9e\x8e\xa3\x02\x05\x1e\x8a\x4d\x1b\x02\x4d\x23\xf7\xa1\x87\x7a\x18\x69\x78\x4f\x9e\x76\xbe\x30\xcc\xdc\x2e\xd4\x51\x6b\xe2\xb1\x05\xfd\xd8\x31\x13\x2f\x92\x77\xd4\xd9\x78\xfa\xa4\xe5\x35\xe8\xa8\xb1\xf1\xe4\x51\xcb\x65\xd0\x51\x5f\x03\x0c\x59\xb1\xa9\xad\x5d\x5b\x03\x17\x26\xb6\x6c\x77\x18\xf5\x3b\x26\x5f\xb6\xec\xde\x91\xeb\xde\xde\xef\x72\x4b\x47\x00\x1d\xee\xe8\xa0\x90\x59\x80\x0e\x37\x74\x50\xc7\x2c\x40\x97\xfb\xd9\x4b\xcc\x9b\xac\x61\x8f\x78\xbc\x2b\x03\x6a\xa5\x65\x74\x42\xb5\xd2\x33\x42\xd1\x0d\x06\xd5\x4a\xd3\x08\x31\xcd\x0c\xaa\x95\xae\xe1\xe3\xd8\x5b\xfe\x92\xc7\x3e\x10\xd7\x1f\xeb\x6d\x4f\xc9\xd3\xa7\x14\xa7\xc8\xe8\xa7\xe5\x23\xc1\x9a\xa2\xf1\x7e\x6d\x79\x47\xc0\x26\x74\x12\x89\x58\x6d\xbf\x08\xf8\xd6\x8f\x22\xca\xaf\x99\x27\x9c\xe2\x8b\x78\xf0\x49\x2d\x5b\x1e\xc1\x47\x2c\x4c\xbe\x96\xe9\xc9\x69\x5f\xe1\x75\x88\x5a\xa6\xc7\x66\x24\xf7\xd7\xb2\x6c\x5b\x3d\xbc\x40\x55\x2f\x72\x53\x17\xac\x22\xde\xa9\x2b\x63\xe2\xab\x8e\x12\x48\x6a\x6e\x8b\x74\x55\x82\x49\x2d\x8a\x91\xd4\x42\x30\xa9\x3d\x31\x72\x35\x11\x4c\x6a\x62\x8b\x76\x62\xad\x97\xb2\xd6\xd1\x6c\x9e\x3e\x65\xc7\x06\xde\x1f\xef\x02\x48\xc2\xa3\x8e\xd9\xb1\x82\x00\xf1\x44\xed\xd2\xfb\x53\x05\x01\x92\xc0\xa8\x13\x76\xaa\xb4\x4c\x01\xa7\x3e\xda\xf1\xa8\x05\x13\xed\xb0\xb8\xb4\x63\x5b\xff\x3f\x6a\x15\x76\x6c\x6b\xfe\x47\xad\xb2\x8e\x6d\x9d\xff\xa8\x55\xd5\x31\xae\xf6\x13\x44\xb4\xf0\xa6\xb6\x3d\xc0\x32\x4a\xb0\xe1\x78\x16\xb8\xc1\x14\x00\x6e\x45\xcf\xe6\x36\x58\x01\x20\x7a\xfb\xa4\x05\x94\x58\xca\xa2\xe4\x80\x0d\xba\xbf\xfd\x32\x9f\x47\x72\xb3\x50\x32\x7c\xd7\x49\x30\x16\x3f\xe5\x00\x69\xf8\xc6\x98\x47\x2d\x03\x44\x4a\xdd\x10\x7d\x7d\xc2\x21\x52\xda\x3e\xe5\x1f\x0d\x10\x29\x65\x9f\x72\x1e\xd8\x55\x03\x26\x22\x07\x00\x30\x4b\x7d\xd5\x55\x5c\xd7\x4b\x56\x9b\xfc\xaf\x47\xd1\xfd\x0e\xc7\x6b\x0c\xd0\xe1\x71\x8d\x01\x3a\x5c\xad\x31\x40\x87\x8f\x35\x06\x48\x8c\x7d\xdc\xb8\x7c\xe7\xc3\x67\x77\x0e\x0f\xc5\x9b\xaf\xbf\xfb\xf6\xf9\x0b\xf1\xe5\xcb\x57\x2f\x9e\x89\x22\x9f\x64\xba\x3e\xfc\xd1\x1c\x16\xf9\xe4\xdd\x6c\xf4\xa3\xb1\x20\xcf\xf5\x6a\x5d\xe5\xf3\x45\x2d\xfa\xd3\x81\x3d\x09\x8f\xb1\x5f\xfe\xa2\xd2\xcb\xbc\x59\x8a\xaf\xdf\x88\xf3\xa6\x5e\xe8\xca\x8c\xc4\x79\x51\x08\x80\x35\xa2\x52\x46\x55\xd7\x2a\x1b\xd9\x31\xbe\x33\xa1\x4f\xba\xd1\x4d\x35\x55\x62\xaa\x33\x25\x72\x23\xe6\xfa\x5a\x55\x25\xb6\xd1\x96\xe2\x4f\x6f\xbe\x38\x30\xf5\xba\x50\xa2\xc8\xa7\xaa\x34\x4a\xd4\x0b\x59\x43\xcb\xef\x89\xb2\x23\xcd\x74\x53\x42\x47\xd4\x7a\xa1\xc4\xab\x97\xcf\x5f\xbc\x7e\xf3\x82\x2a\x72\xdf\xe9\x35\x06\x3b\x69\x4d\xeb\x5e\x28\xef\xfd\xe7\x4a\x4e\xc4\x44\xce\xed\x04\x9a\x3a\x2f\xf2\x7a\xed\x5b\x45\xb1\x0a\xe2\x33\x71\x26\x7e\xe6\x6d\xbd\x2a\x25\x6b\x25\xa4\x68\xca\xfc\xa7\x46\x09\x55\x36\xcb\xb8\x7b\xd7\xff\x35\xcd\x6a\x55\x29\x63\xc4\xcf\x45\x5e\xd6\xcf\x17\x6a\x7a\x65\x3e\x6c\x6c\x87\x75\x2e\x16\xcd\x52\x96\x62\x56\xe5\xaa\xcc\x8a\x35\x5e\x9d\x41\x5b\xcb\x49\x33\x9f\x53\xa7\xc5\xd0\x18\xeb\xeb\xc9\x8f\x6a\x5a\x7f\x10\xe7\xd1\x14\x00\x1f\x37\xba\xec\xd5\xd0\x77\x4e\x56\x4a\xa8\x9f\x1a\x59\x08\x68\x4c\xb7\xae\x17\x79\x39\x87\x1e\x6b\xec\xd3\x46\x53\xf8\x98\x17\xf6\xf9\xce\x3e\x59\x87\x87\xe2\x7b\x25\x2c\xfa\xa4\xc0\x16\xa2\x42\xc3\xdb\x85\x34\xa2\xd4\x61\x50\x61\x16\xd0\x31\x73\x62\xa1\xa9\xdf\xf9\x52\x1c\x1c\x88\x1b\x25\x6e\x64\x59\x43\xd7\x68\x3b\x9c\x5b\x8a\x72\x2e\x56\x55\xbe\xcc\xeb\xfc\x5a\x19\xea\xb0\x59\xac\x47\x42\xfc\xa9\xa9\xe9\xc3\x55\x65\xb0\xc5\x5d\x5e\x4e\x8b\x26\x53\x42\x37\xd8\x32\x6c\xc4\xfa\x52\xa9\x1b\x9a\x18\xce\x3a\xea\x51\xf5\x2d\x36\xc8\x12\xd7\xb2\xca\xe5\xa4\x50\xa2\x52\x33\x55\xa9\x72\x0a\x3d\xb9\x85\x64\x7d\x2c\x2d\xf8\x7f\x11\x18\x76\x5e\xd3\xd8\x49\x6d\xa6\xab\xa5\xf8\xb7\x2f\xbf\x7b\xfd\xfc\xed\xcb\xaf\x5f\xf7\xff\xeb\xfc\xdb\xd7\xe7\x5f\xbd\x18\x8c\x84\x70\xd7\x2c\xb1\xca\x52\xe8\x95\xc5\x9d\x2c\xec\x48\xca\x4c\xe5\x4a\x85\xf6\xb3\x76\x09\x56\xab\x62\xed\x6a\xc7\x47\xe4\xf2\xa5\xae\x84\xba\x95\xcb\x55\xa1\xb0\x71\x2e\x2e\x0d\x75\xf7\xfa\x2f\x59\x99\xfe\xbd\x7f\xeb\xdb\x2d\x5b\xe7\xe5\x7c\x30\x14\xff\xa6\x4a\xbb\x49\xbe\xfb\xf6\xe5\x73\xd7\x60\x10\x3f\xde\x6e\xf1\xfb\x9d\xad\x61\x7f\x16\xee\xf9\x67\xe2\xde\xbf\x5b\x1e\xb0\x19\x16\x9b\x8c\x3d\x13\xf7\xfe\xac\xf5\xbc\x50\x0f\xee\x61\x33\x6a\x98\xeb\xf7\x76\x39\x2a\x65\x9a\xa2\xb6\x18\xc4\xa1\x86\x02\x21\xff\xed\xf8\x4f\xf7\x38\x71\xb1\x2f\xe0\xd4\x65\xea\x6a\x68\x97\xc4\x20\x89\xd1\x42\x9a\xba\x0a\x0d\xcd\xfe\xad\x7f\x21\x0f\xfe\x7a\x79\x7f\xf0\x43\xbf\x7f\xf1\x97\x1f\x06\x97\x0f\x06\x3f\x0c\x0e\xe7\x39\x6b\xb0\x0d\x2d\x01\x87\x62\x56\xc2\x58\x81\x62\x5d\x3f\xc0\x7a\xbd\x52\x7a\x06\xef\xb9\x20\x80\x4b\x71\x76\x26\x7a\x4d\x09\xdd\x62\x55\xd6\x1b\xf8\x76\xba\xd0\x70\x59\xf4\xbe\xc3\x56\x79\x9e\x5e\xb0\xd3\x1f\x3d\x4d\x8d\xb4\xb1\x39\x61\x05\x7d\xf9\xf9\xd8\xfe\xb6\x7d\xf9\xac\x74\xcd\xd7\x22\x2c\x8c\x3c\x7b\x89\x9a\x82\x5f\x53\x47\x82\x0d\xb0\x17\xb3\xf2\xb2\x5f\x5d\xfb\xb6\x85\xd4\x29\x11\xdf\xc3\x07\x4a\xbe\x22\x21\x42\xfc\x98\x59\xe9\x87\xb9\x13\xb7\x41\xac\xae\xa9\x0b\x62\xbc\x87\xbe\x74\xd3\xe0\x0c\xd7\xee\x62\x6a\x21\xcd\xa7\x4c\x44\xf2\xbc\xc8\x55\x59\x1b\x80\x95\x59\x86\x44\xef\x7a\x0c\xd6\x5a\xa8\xdb\x5a\x95\x59\x07\x99\x0f\x36\x50\x4f\xc0\x05\xf5\x50\xf0\x1b\xe0\x59\xf8\x75\xc8\xaf\xfb\x8d\xf1\xac\xe3\x1a\x40\x02\x72\xfe\xfd\xed\x57\xaf\x9e\x45\x94\xc9\xdb\x5e\x2e\xe5\x8a\xde\x07\x8d\x2d\xfe\xd0\x7b\x26\x7a\x9f\x16\xf5\x67\xd4\xe9\x42\x88\xde\xe7\x70\x69\xce\x2f\x7d\x0a\x97\xe4\x72\xc5\xae\xdd\x83\x6b\x3f\x35\x9a\x01\xde\xeb\xdd\xb3\x17\xff\xcf\xc3\xa7\x9f\xf5\x10\xef\x71\xa7\xf6\x68\x3f\x5c\xfc\xe1\xf3\x4f\x7f\xb8\xf7\x43\xef\xf2\x70\xce\xb7\xc0\x40\xfc\xec\xc0\x97\x72\x75\xb1\xbc\xa4\xb6\xf1\x1f\xf8\x02\xfe\x59\xd5\xc0\x73\x5c\x87\x47\x39\x9d\xaa\x55\xad\x32\xf1\xdd\x4b\x51\xc8\x72\xde\xc8\x79\x68\x54\xee\x0e\x28\xff\x0e\xec\x06\xfd\x41\x4c\x65\x51\x4c\xe4\xf4\xca\xd3\x83\x5d\xc8\xbc\xbc\xd6\x57\x0a\xe9\xc0\xbe\x02\x19\x83\x19\x09\x2b\x08\x38\xf6\x02\x23\xaa\x5a\x55\xc0\x27\xfd\x34\x0a\x0d\xcd\x50\xec\xde\xe1\x87\xed\x68\xae\xea\x73\x98\xe1\x2b\x37\xb7\xa8\x79\x29\x4d\x23\x74\x71\xdc\xf4\xd4\x68\x6a\xe5\x10\xf5\xa6\x59\xad\x74\x55\xab\xac\xef\x3b\x9a\xe2\x8d\x51\x3e\x7e\x52\x76\x3c\x17\x5e\xf1\x59\xda\x95\xd4\xa8\xfa\x6d\xbe\x54\xba\xa9\xfb\x7e\x42\x7c\xff\xb9\x27\xfb\x17\xa5\xbc\xce\xe7\xb2\xd6\xd5\xc8\x61\x38\xac\xe5\x01\xb4\x6a\x7c\xd7\x1b\x5c\x86\x1d\x6d\xe5\xb3\xb0\x70\xfb\x7e\x12\x47\x4c\xc4\x4b\x6f\xf2\x32\xd3\x37\x04\x2e\x3e\xfd\x94\x7f\x72\xb4\xb9\xbf\x91\x15\x1c\xed\x3f\x35\xaa\x5a\xbb\x63\x99\xba\x93\x2e\xa4\x59\x44\x2d\x42\x6b\x79\x65\x8f\x46\xd1\x54\x45\xfa\x40\x38\x29\x7b\x76\x41\xc7\x67\x70\xc0\x7d\x6a\x7f\x3f\xc6\xdf\x7b\x42\x96\x99\x1d\x6a\xea\x7a\xeb\xb3\xfe\xdc\x24\x52\xf0\x13\xf7\x67\xa0\x8c\xf1\x33\xd1\xc3\xc7\x87\xf0\xf7\xb1\xff\x5b\x7c\x18\x51\x63\x7d\x49\xad\xf5\x41\x6a\x92\xab\x95\xb2\xc7\xcd\xb2\x29\xea\x7c\x55\x28\x51\xe7\x4b\x3c\xec\xed\xc8\x7c\xd6\x43\xa1\x4b\x7b\x20\x23\xa1\x16\xd2\xd4\xd4\xf9\x1b\x24\x0e\x1c\xc7\x3d\x87\x74\x9d\x34\x67\x2d\x33\xd7\xdf\xde\x4a\x0b\x2b\x69\x2c\x4b\xb4\x2c\xb8\x99\x2f\x44\xa6\x52\xa6\x23\x26\x6a\xa6\x2b\x25\x26\xca\xa2\x4c\x66\x99\x02\x74\x90\x40\x40\x47\x2a\x22\x62\x53\xf3\x54\x98\x3e\x49\x61\xd8\x7e\xb3\xa2\x7e\x34\xd0\xf1\x18\xbb\xbf\xe6\xb5\xc0\x66\xbe\xb8\x2d\xa5\xdb\x86\x85\x92\xd0\xbd\xa6\xf7\xc7\x1e\x76\x11\xee\xfd\xb1\xe7\x1b\x08\xe7\xf3\x52\x57\xbc\xbb\xf9\x6c\x04\x43\xfe\x27\x20\x8c\x91\x19\x9b\x42\xd8\x82\xec\x62\xd4\x48\xf8\x8f\xae\xcd\x39\x9f\xf8\x99\x88\xc0\x9b\x89\xa9\x2b\xe8\xc9\x7b\x87\x9d\xac\x3f\x7f\xf0\x7f\xaf\x64\x0e\xe2\x43\xf4\xd4\xaa\xc8\xeb\x7e\xef\x53\xec\x77\xda\xd5\x47\x1a\x9e\xea\xea\x52\xef\x86\x14\x67\x08\x73\x91\x5f\xba\xe1\xce\x7a\xb4\x21\xab\xeb\x8b\xf6\xfa\xf5\x2d\xf8\xc5\xd1\xe5\xe0\x52\x9c\x75\x2c\x2f\xde\x1e\x5f\xb6\x3a\x4b\xdb\x63\x35\xda\xd4\xdf\x7d\xfb\x8a\x63\x74\x25\xeb\x45\x07\x37\xfb\xee\xdb\x57\x1d\x1c\x8c\x1f\x10\xb4\xa7\xab\xa6\xb4\x34\x4e\xcf\xe0\x70\xbc\x71\xab\xbd\xd0\x9e\xc1\xaf\x66\x25\xf4\xda\xf6\x15\x7a\x41\xdc\x09\xb9\x90\xcb\x95\xdf\xa8\x79\x59\xab\xb9\xaa\x40\x28\x16\x66\xa5\xa6\xf9\x2c\x57\x99\x80\xe0\x9b\x94\xf4\x09\xf6\x83\xb8\x06\x8a\xc7\x1d\x5a\x6b\x4b\xb3\x53\x3b\x28\xd2\x6c\x1b\x7c\x99\x97\xf0\xc0\x32\x2f\xf3\x65\xb3\xa4\x43\x0f\x74\x00\x2f\x7b\x77\x3c\x25\x6f\xf1\x29\x79\xbb\xf1\x29\xaf\x39\xc1\x37\x31\xb4\x5d\x0f\xed\xdb\x86\xf6\xe1\xb0\x9e\xd7\xe2\x0f\xf6\x6a\xb4\x70\xcb\xbc\xfc\xcc\xdf\xfe\x1c\xe0\xa3\xdb\xf2\x96\x75\x95\xbe\x8e\x10\xf9\x4a\xcd\x6a\xb1\x92\x99\x90\xa2\x6c\x96\x13\x87\x44\xc4\x2b\x35\xd3\x87\x6d\xef\x76\xfb\x5f\x55\xa5\x5b\x87\x3b\xf2\x8d\xf7\xfe\xb3\x69\x28\xfb\xe5\x61\xd4\x95\xdc\x80\x5a\x7a\x8d\x85\xce\x94\xc9\x2b\x95\xd1\xa5\xcd\xdd\x9b\x57\xc0\xee\xdc\xe0\xd2\x44\x9a\x97\x43\xe8\x5f\xed\x77\x71\x25\x14\xa0\x87\x34\x78\x44\x94\x4e\xe1\x03\x88\xc1\x68\x25\xb3\x37\x96\xed\xf4\x11\x74\x28\x7a\x47\xbd\x54\x11\xc4\x4e\xdf\x8e\x65\x4e\x75\x59\xcb\xbc\x04\x4e\xec\x8e\x0f\x9c\x9c\x6b\xb3\x2d\xa6\x0b\x59\xc9\x69\xad\x82\x58\x0b\x87\xe0\x52\xd5\x0b\x9d\x89\xa5\xcc\x61\x04\xfc\x14\x59\xe7\x53\x31\x95\xd3\x85\xd7\x1a\x0b\x59\xcd\x95\xa9\x85\x5c\xea\xa6\x84\x93\x0d\x4d\x48\x76\x68\x50\x10\xaf\x55\x25\x2a\xf5\x53\xa3\x4c\x0d\x7d\xde\x5f\xd6\xa4\x41\x5b\xfd\xdd\x09\xd8\xb5\x16\x73\x55\xaa\x0a\xec\x0d\x76\xe3\x18\x59\xaa\x62\x2d\x16\xcd\x5c\x85\xa1\xa1\x13\xbc\x1f\x7d\xe3\x0e\xea\x58\xb7\xae\xd9\x8d\xba\x4e\x9e\x73\x87\xb8\xd0\x85\x9c\x3e\xd4\x7f\x03\x23\x02\x26\xca\x7d\xef\xc7\xe5\x4b\xcb\x97\x14\xb8\x1e\x4e\xed\x0f\x67\xe2\x28\xda\x0a\xbd\x9e\x3f\x06\x66\xe2\x0c\x94\x88\x78\x50\xb7\x8f\xee\xce\x46\xe1\x0b\x70\x08\x7e\x45\x9c\x89\x5e\xd0\x6e\x71\xd0\x9b\x45\x5e\x28\xff\xea\xcf\x23\xf8\x11\x9f\x60\x32\xd4\x83\xb3\xe8\xef\x94\xdd\x47\xc3\xd0\xe9\x76\xe4\x89\x18\x89\x52\x10\x55\xbe\x28\x4d\x53\x91\x21\x4b\x06\x63\x41\x6e\x40\x92\x24\x05\x0b\xec\x14\x53\x55\x59\x6a\x03\x69\x46\x14\xf9\x32\xf7\x32\xc2\x9b\x7c\x69\xc5\x9c\xc6\xc8\xb9\x12\x85\xd6\x57\x56\xcd\xba\x52\x88\xab\x91\x83\x02\x5d\xab\x52\xf3\xdc\xd4\xaa\x7a\x59\xe6\x35\x1d\x34\xb2\x90\xd5\xb2\xaf\x4b\x7b\x69\xe0\x95\x7c\x20\x74\x10\x0d\x0a\x6d\x37\xc8\x8d\xac\x4a\xd6\xf8\x8e\xba\xe3\x5b\xc4\xe3\x93\xfd\x81\x9d\x73\xa9\x6b\x52\x08\xdc\xc4\xed\x58\x8f\x84\x51\x53\x5d\x66\x7e\x17\xbd\x9c\x89\xb5\x6e\x7a\x56\x64\x52\x95\x15\xf5\xec\xc8\xc6\x1e\x2e\x7a\x65\x29\x1d\x54\x0b\x8b\x91\xa5\x5c\x83\xc8\x29\x0a\x5d\xc2\x71\xb1\x90\x65\x18\xce\x0e\x02\xe2\xa4\x2c\x41\xf6\x12\x52\x64\x0d\x3d\x9e\x5b\x1e\x5b\x14\xb9\x03\x95\x06\xe6\xed\x0c\x34\x34\x44\x50\x4c\xe2\xa9\xb9\xe1\x9c\x70\x9b\xa9\xb2\xb6\x27\x94\x95\x06\x4d\xad\x24\xb4\xe2\x97\x41\x21\x72\xeb\x36\x84\xef\x2a\x0a\x31\x57\x35\x8a\x5d\x37\x95\x15\x23\x2b\xb7\x87\x75\x25\x2a\x59\x2f\xdc\xa7\x48\x61\xf2\x72\x5e\x28\x07\x36\x12\xe2\x85\x9c\x2e\x60\x60\x42\xb5\x1d\x24\x3c\x7c\x83\xb6\x17\xe2\x64\xf8\x54\x26\xae\x55\x65\xec\x47\xd3\x7e\xf4\xd3\xba\x81\x1d\x5e\x6b\x3b\x86\x14\x66\x21\xe1\x4f\x54\x5f\x40\x41\xcb\x8d\x5d\x35\x2b\x3c\x4d\xa5\x51\x46\xdc\x2c\x54\xa5\x00\x01\x64\xaf\x13\x8a\xd3\x67\x6d\xcf\x14\x53\xdb\xe1\x74\xa9\x10\x07\x46\x01\xf3\x70\xef\x84\x01\x1d\x09\x90\xb8\x2b\xdd\x3b\x85\xba\x5d\xe5\x55\xd0\x34\x71\x5b\x03\x01\x7a\xf3\x07\x92\x63\x6f\xa6\xea\xe9\x82\x64\x61\x90\xc9\xbc\x51\x4c\xeb\x11\xdc\x44\x0b\x68\xdf\x91\xef\x9b\x66\x3a\x55\xc6\x0c\x86\xc2\x5d\xf9\x52\xe6\x45\x53\xa9\x40\xd3\x2d\xc5\xf6\x3e\x57\x6a\x2d\x53\xe4\xc6\x3a\x8b\x5c\xb0\x10\x96\x38\x62\x7a\x12\x7e\xb0\xc4\xf4\x6e\x69\xc4\xd7\x8e\xa6\xc2\xf1\x11\x91\x9e\x1d\x4b\xe6\x5e\xf8\xaf\x64\x6e\x17\xdd\xc9\xe4\x7e\x78\x21\xbe\x50\x33\x09\x46\x35\x23\x1e\x1d\x1d\x1d\x89\xbe\xa7\xf4\x41\x7c\xae\xba\x69\x7e\xb0\xe4\xea\x3f\x00\x54\xeb\xf0\x05\x0b\xe5\x14\x17\x14\x22\x82\x62\x33\xf1\x7a\xb9\xbd\xef\x88\xc8\x8d\x83\x2a\x44\x3c\xaa\xd3\x32\x36\x8e\xe9\x06\x9c\xa8\x78\x0e\xb2\xf6\xa7\x97\x01\x3b\x6d\xfa\xb6\x48\xef\x77\x94\xd0\x52\xf5\x87\x84\x6b\xe4\xc6\x60\x97\xb1\xfa\x00\x2d\xc0\xfb\xf7\xe2\x91\xb8\x2f\xc6\x47\x47\x47\x9f\xd1\x6d\x53\xdb\xb9\x3b\x9a\x9a\xab\xfa\x8d\xbd\xe0\x74\x0c\x9a\x7e\x5b\x83\x87\x3e\xad\xb9\x11\xba\xa9\x55\xd5\xc5\x8d\xf3\xe5\x52\x65\xb9\xac\x15\x98\xa9\x5f\xd6\x3d\x23\x60\xcb\xd4\x5a\x4c\xe5\xaa\x6e\x80\xda\x4b\x75\xe3\x46\x33\x53\xbd\x42\x3b\xbe\x45\x9b\xdb\x06\xce\xb6\x38\x8a\xba\xc3\xf6\xe8\x76\x2f\xd8\xaa\x73\xe3\x76\xed\x64\x8d\xf6\x33\x37\x44\xe0\x38\x56\x09\x05\x3e\x81\x23\x85\xcd\x4f\x2c\xc5\xab\x3c\xee\xd1\xb3\x1d\x46\x0c\x0b\x0b\x8a\xf4\x99\xb7\xa0\xfa\x41\xcf\xce\x44\x0f\x89\xa1\x37\x10\x7f\x44\xb0\x67\x81\x74\xd0\x46\x1a\x0c\xc8\xe2\x0c\xff\xf3\x47\xd1\xef\xa1\xed\x11\x8d\xb4\xcf\xe0\x58\x27\x8b\x09\x1e\x25\x23\x7b\xc2\xf4\x7b\x8c\x10\x9e\x25\x6c\x23\xc3\x11\xfa\x4b\x23\x0e\x61\xb1\x07\xe2\x81\xe8\x19\x3f\x6a\x3a\x60\xa1\xe7\x7d\xa0\x03\x7f\x27\x60\xa0\x6c\x8a\x82\x4c\x9d\x43\xb1\x34\x03\xb2\xbb\xd9\x4f\x27\xbc\xfd\xd9\xf3\xdc\x8d\xa6\x27\x26\xa5\x74\xda\x82\xc0\x04\x8d\xaf\xe4\x97\x85\x98\x16\x4a\x56\x6e\x05\x1c\xc4\x67\x0c\xa0\x6b\xa2\x91\xbd\x36\x68\x80\x0e\xf5\xe0\x5b\xe8\x5b\xf0\xa1\x90\xd5\xbc\x59\xaa\xb2\x36\xc1\xba\x14\x99\x17\x99\x6d\xbc\x73\x65\xe3\x6f\x4b\x11\x12\xdb\x28\xd3\xbb\x89\xed\x6c\xd0\xef\x94\xc2\x6b\xde\xd1\xd7\x1e\x76\xb8\x61\xe5\xcc\xee\x3b\x73\x95\xaf\x56\xdd\x72\xf9\xac\x72\xb6\xc2\x54\x1a\x87\x63\xa7\x56\x65\x86\x32\xb3\x13\x9f\x23\x17\x1a\x98\x7b\x50\xd0\xc6\xd9\x1b\x21\x41\x42\xc1\xb3\x24\x3a\xdc\x4b\x01\x66\xcf\xa1\x98\xa8\xa9\x6c\xc0\xd7\x18\xc4\x1e\x44\x94\x95\x08\x8c\x90\x16\xcc\x88\xc9\xda\x0e\x94\x11\x0b\xc7\x4d\x29\x2d\x7f\xb0\x32\xd1\x0d\xf8\xe5\xd0\x0b\xe6\x26\x7f\x2e\xea\xf5\x2a\x9f\xca\x02\x11\xb0\x04\x2f\xaa\x95\xde\x40\x78\x63\x72\x5b\x4c\xd1\xbd\x37\xda\x7e\xb1\xfd\x9a\x9b\x7c\x7a\x05\xf6\x26\x2b\xaa\xc9\xb5\x98\xca\xa5\xea\x0d\x53\x9e\x37\x70\xa7\xa7\xe5\x0e\x9b\xfe\xf7\x5a\xd7\xf9\xd4\x7d\xe3\x72\x29\xc5\x5f\x22\x39\x10\xdc\x7a\xab\x2a\x2f\xd1\x8c\xbc\x54\x06\x64\x4d\x12\x06\x7f\x34\x6e\x86\x43\x31\xd3\x45\xa1\x6f\xc8\x63\xeb\xac\x7a\xa4\x9d\x80\x60\x53\xa2\xde\x4e\x53\xd7\xa2\x52\xd7\x4a\x16\xd4\x4d\xd9\x12\x72\x72\x58\xe3\xda\xe3\x61\x8b\x26\xaa\x2f\x81\x06\x80\x65\xea\xf6\xd1\x8b\x84\x84\x74\x42\xa2\x0f\x90\x3c\x3c\x8a\x56\x69\x21\xa7\x75\x23\x0b\xd1\x73\x38\xea\xe1\x12\xd8\xa3\xae\xb8\xb1\x8b\xd9\x61\x0b\x73\xb0\x9c\x1d\xa4\x73\x0a\xc7\x53\x34\xd3\xb3\xf6\xe4\xff\xd8\xbe\xf4\x40\x1c\x8b\x67\xe2\xd8\x6b\x3b\xf0\x21\x40\x83\x70\xa9\xae\xd6\xc4\x43\xd0\xc5\x63\x0f\xd3\x17\x55\xa5\xab\x3e\x19\xa9\xa7\xd2\x4a\x4c\x7d\x75\xeb\x78\x4d\x18\x40\x9c\x09\x75\x3b\x42\xf4\x92\xa1\xeb\x87\xb2\x17\xcc\x54\xfe\x75\xb4\x0f\xd0\xf8\x96\x58\xd5\xf8\x64\xd1\xc0\x16\x5e\xd0\x65\x65\x63\x03\x5e\xe4\xe2\x20\x7a\xfe\xd2\x1e\x42\xfe\xe9\x8b\xfc\x32\x98\xc6\xff\xf2\x83\xb9\x2f\xeb\x1f\xcc\x83\xc3\xa1\xe8\xf5\x5a\xa6\x34\x36\x6a\xc4\x57\xbe\xc8\xaf\xf3\x4c\xa1\x90\x5f\xdf\x68\x22\x08\x34\xd1\xce\x0a\xad\x2b\xc3\xbd\x13\x43\xd1\x94\x85\x32\xee\x9a\xd5\xe4\x33\x74\x4e\xd8\xab\x60\x93\x05\xf1\xdc\xea\x11\xd3\x4a\x65\xd0\x61\xdc\x2c\x2d\x91\x80\xcc\x33\xb4\x82\xa1\xa3\x68\xa3\x44\x1e\x18\x0a\x6c\x21\x95\x17\xce\x63\xef\x84\xec\xc6\xa8\x59\x53\x58\x09\x1b\xb9\x9f\x33\x84\x58\xe1\xa1\x6a\xca\xa9\xb4\xfa\xb3\x5c\xad\x2a\x7d\x9b\x2f\x25\x3a\xba\xc0\x45\x62\x15\x1f\x3b\x10\x1a\x9a\xf1\xbc\x37\x5a\x64\xda\xb2\x80\x2c\xbf\xce\x41\xf4\x77\xfe\x17\xa3\xfc\xa7\xaf\x73\x55\x58\xcd\x27\xf8\x6a\xdd\xa7\x80\xd2\x54\x68\xa3\xd0\x74\x74\xb3\xb0\x3c\x0d\x1f\xdb\xb4\xfd\xca\x66\x89\xfc\xbd\xeb\x66\xa6\x4a\xbd\xcc\x4b\x7f\xdb\xc9\xa9\x74\x9f\xed\x22\xb3\x94\x55\xfd\xa5\x5d\x0f\x5c\xb0\xc4\xd8\x83\xaf\x18\x0a\x3e\x62\xd8\x54\xd7\xb2\x80\x13\x91\xc0\xc4\x21\x07\x73\x92\x1f\xe1\x5e\x9c\x89\xaf\x64\xbd\x18\xd9\x3f\xfb\xd7\xb2\x18\x38\x33\x81\xbb\x7f\x00\xc3\xfd\x41\x8c\x8e\x8e\x8e\xc6\x8e\x66\xdd\xa1\x8a\x30\x2d\xe7\x0f\xdd\x86\x81\x81\xa8\xfc\xc8\x2d\x6f\x9b\x14\x95\x2c\x33\xbd\xf4\x96\x4e\xd0\xe1\xc1\xbe\x29\xfa\x10\xcb\x60\xf2\x6b\x35\xd8\x84\x6e\x67\xbb\xb4\xbc\xd4\xd4\x7c\x10\xa0\x58\x67\x26\x6d\x3f\x47\xd6\xcb\x45\x3e\x5f\x6c\x7f\x30\x59\x23\x71\xee\x26\x4c\x84\x39\x51\xf5\x8d\x52\x60\xa9\x14\x9f\xda\x71\x23\xbf\x2c\x80\xbe\x2c\x6b\xbe\x7e\xb1\xe5\xb3\x8d\x2b\xf8\x15\x9f\xec\x0f\xc4\x7d\xd1\xb7\x93\x3d\x80\x17\x3c\x10\xe3\x81\x95\xe6\xc0\x2c\xba\x33\xf8\x88\x8e\x9f\x77\x4b\x59\xca\xb9\xaa\xfe\x45\x42\x91\xbe\xc2\xaf\xfa\x0a\x3f\x4a\x4c\x0b\x69\x8c\x58\xc8\x32\x2b\x14\x8a\x36\x55\x29\xf1\xb4\xcb\xff\xaa\x32\x12\x41\xbc\x28\xf4\x5a\xd7\xea\x19\xf7\xf1\x89\xdc\x94\xbd\x5a\x98\x66\x36\xcb\xa7\x39\x3a\x9f\x40\x90\x41\xc9\x02\x0e\xc5\xf1\xc8\xa2\xa8\x52\x3d\xcb\x25\x26\x0d\x78\xf1\xc8\xca\x4f\xe6\x97\x2b\x05\x4e\xba\xa6\x94\xd7\x32\x2f\x50\x27\x29\x45\x8e\xc7\xeb\x33\x16\x3d\xb2\xa8\xeb\x95\x79\x76\x78\x38\xad\x26\xcd\x7c\x34\xd5\xcb\xc3\xf1\xc3\xa3\xe3\xa3\x23\x07\x72\x0c\xaf\xb2\x07\x3f\x88\x7c\x16\xa9\x4b\xb9\x06\xe1\x68\xa2\xc4\x4a\x4e\xaf\xe4\x5c\x65\xb8\x4b\x9e\xe3\x14\x20\x44\xc0\x32\x37\x3f\xdf\x87\xdd\x83\xc0\x00\x15\x3a\xb6\x2d\xa9\x54\xb2\x5a\x27\x43\xd6\x8b\xbc\xca\x0e\x2c\xd4\x9a\x4d\xba\xeb\x45\x7c\x57\xc1\xe9\xf4\x21\x78\xc8\xc5\x2b\xe7\xb8\xf6\x57\x6a\x2d\x0a\x2d\xb3\xa1\x5b\x6a\x5d\x65\x60\xdc\x51\xfe\x3d\x21\x28\xca\x02\x82\xa1\xf7\xb5\xba\x51\x95\x93\xa2\x8c\x0b\x9f\x10\xba\xb0\xcf\xea\x52\x99\x91\x10\x3d\x55\xf6\x44\x6e\xbc\x99\xa0\x81\xb8\x57\x2b\x2f\x16\x6b\x74\x1d\x3a\x9b\xd6\x2c\xaf\x4c\xed\xa7\x64\x99\x5c\x5e\x3b\x63\x9c\x2c\x2a\x25\xb3\xb5\x58\x59\x32\x47\xd9\x13\xf7\x70\x42\x6d\xdc\x30\xeb\xbe\x0d\xf7\x31\x18\x11\xfd\xb5\x77\x56\xa7\xf6\xbe\xe8\xa5\x5c\xf5\x49\x57\xf0\x8f\xab\x82\x45\x24\xa8\xa2\xc3\xe7\x0d\x01\x0a\xc4\x8d\x93\xd1\x47\xf6\x1c\xbe\xfd\x7a\xd6\xb7\x5f\x3f\xb0\x3a\xc9\xc1\x78\x40\x42\x4f\x0c\xd8\x94\x66\x91\xcf\x6a\x04\x44\x01\xc9\x42\x78\x9c\xa2\x08\xc3\x98\xf2\x79\x96\x79\xb9\x15\x82\x7f\x72\x8a\x68\xd1\x91\x48\xeb\x78\x4a\x87\xd3\x3b\xf5\x51\x1b\x0a\xd1\x5b\x4a\x22\x3d\x22\x27\x37\x87\xd1\x8f\x46\x97\xb8\xe7\x85\x78\xa3\xc0\xe8\xf2\x07\xb7\x4f\x32\x75\xad\x0a\x6d\xf5\x73\xda\xb3\x76\xcb\x78\x42\x34\x87\x76\x0b\x1f\xb8\x91\x3e\xdf\xb4\x6e\xa3\x55\xa5\x6b\x6d\x55\xb9\x91\xcc\xb2\xaf\xc2\xc7\xfb\xe5\xc8\xd4\x8c\x16\xd2\x0b\x73\x57\x6a\x6d\xa9\x35\xdc\xc1\x83\x33\x53\x33\xf0\x6a\xce\xcc\xc5\x95\x5a\x5f\x32\x55\xf1\x6e\xa6\x66\x23\x58\xc5\x05\x90\x28\x8b\x5c\x8a\x90\x0e\xcf\xe1\x18\xee\x1a\xe9\xd8\xfc\x10\x05\x3d\xc4\x45\xe5\xdd\xfb\xe4\xf5\xf9\x57\x2f\x3e\xb9\x27\xf8\xf0\x28\xcc\xdc\xfb\x64\x7c\x6f\x28\x54\x3d\x1d\xed\xf9\x2e\x4f\x6a\x4c\x91\x3e\xfc\xe1\x13\x0c\x23\xbb\xf8\xcb\x0f\xe6\x87\x4f\x2e\x1f\x0c\x7e\xf8\xe4\x30\x9f\x0f\x19\x48\x38\xbf\x86\x22\x0e\x21\x8b\xb4\x60\x8f\x98\x08\x13\x17\x10\x8a\x58\xeb\x57\xfa\x46\x55\xcf\xa5\x51\xfd\xc1\xe5\x68\xaa\xad\x22\x5a\x73\x85\xfe\x03\x69\xe2\x1f\x52\x59\xe1\x95\x96\x19\xdb\xc5\x81\xcd\xfa\xfd\xec\x28\x73\xd2\xd8\xa3\x60\x53\x5c\xc0\x4a\xd6\xf6\x84\x10\xe7\x10\x9a\xe1\xfe\x8a\x7c\x5c\x16\xa1\x64\xe1\x05\xf7\x14\x04\xdf\x38\xfe\x02\x66\x1a\x62\x55\x73\x3d\xda\x1c\x07\x34\x74\xd1\x40\xba\x7c\xae\x97\xab\x42\xd5\x2a\x8a\x07\x9a\x28\xef\xb9\xb0\xa2\xae\xe5\x79\xcc\xda\x99\x1b\x08\x4c\xb5\x4f\x91\x2e\x66\x85\x75\x52\xa1\xa5\x9b\x19\x71\x59\x83\x26\x5d\x2b\x36\x83\x18\x2f\xf3\x02\x03\x26\xec\xff\xa2\xd8\x21\x30\x59\x06\x2c\x46\xe1\x46\xe4\xdd\x39\x1a\x8a\x52\xd3\x53\x46\xdc\xa8\x4a\x85\x91\x80\x2d\xef\xde\x62\xb3\xbc\xcc\xce\xcb\xcc\x2e\x59\xd7\x56\x83\x05\x26\xcc\x0f\x19\x7a\x82\x00\x5b\xb0\x70\xa6\x94\xa1\x4d\xb5\xd5\x01\x50\x99\x03\x58\x98\x95\x38\x13\x17\x97\xee\x12\x22\x80\x2e\xdd\x09\x94\x2b\x74\xe9\xe2\x83\xdc\x3b\xfb\xa6\x96\xb5\x27\x65\xbb\x89\xa3\x0b\x22\x0c\x1f\xb8\x39\x32\xd4\x41\xe7\x96\xf5\xaf\xde\x04\x1e\xb8\x45\x80\x88\x3d\x68\xa0\xc2\xbe\x56\xb7\x3e\x96\x69\xc3\xab\x02\xe2\xfa\x38\xc9\x21\xbd\x3d\xda\x42\x84\x92\x64\xc8\x76\x08\x83\x3b\x39\xd8\x9a\xe1\xa1\x43\xcc\xe2\x5b\x1f\x0d\xdc\xf7\x4b\x17\x4e\xc0\xe1\x9d\x6e\x73\x49\x1b\xe1\xa3\x49\x5e\x66\x30\xf2\xd0\xea\x73\xea\x17\x3e\x3a\x93\x85\x41\x8f\x85\xf8\x10\xae\x0f\x9c\x05\x20\x45\x5f\xca\x48\xfc\xf1\x37\xab\xf4\x52\xc8\xae\xa3\x68\x37\x99\x17\xdb\xe8\xbb\xa9\x0a\x4b\xdb\xe4\x6d\x41\xbb\xbc\x2e\xc1\x10\x11\xe8\xfc\x76\x61\x25\x8a\x52\xdd\x88\xff\xdf\x57\xaf\xfe\xbd\xae\x57\xdf\xa2\x87\xb8\x8f\x1f\x72\xbb\xa8\x46\xba\x84\xc5\x2d\x3b\xa2\x4e\x90\x8c\x2c\x90\xa5\xd9\xc6\x88\xbb\x67\xe2\xf8\xe8\x28\x0e\xed\xe5\xef\xf5\x98\x66\x17\xd9\xf3\x83\xcf\xe2\x28\xd7\x88\x62\x81\x16\xd8\xd9\xd9\xff\x8f\x37\x5f\xbf\xc6\xc0\x27\x18\xa2\x52\x66\xa5\x4b\xa3\xde\xaa\x5b\xf4\x8e\xc2\x12\xd2\xe7\xf7\xbb\x17\x0a\xbe\x6f\xa5\xca\x7e\xef\xcf\x2f\xde\xf6\x86\x16\x67\x00\x08\x53\x52\x65\xd6\x32\x89\xe2\x59\xf8\xc9\x78\x34\x1a\x7d\x52\xf2\x00\x75\x1f\x55\xa9\x0a\x05\x06\x5d\x27\x7b\xc8\x6a\x4e\x96\xc7\x4d\x07\xc2\xd2\xcc\x5d\xb4\x3e\x3b\x05\xb8\xa8\x63\x79\xaa\xb3\x14\xb3\x97\x8e\x3a\x24\x60\x78\x1d\x9a\x92\x92\xc1\xfc\x00\x68\x9e\xd8\x48\x5e\xad\xed\x16\x69\x8e\x66\x0e\x46\xeb\x38\x1a\x7c\x69\xe6\x41\x7a\xfc\xe1\x93\xfe\x0f\xd9\x83\x01\x8f\x7d\x15\xf6\xc4\x06\x81\xb1\x65\x8e\xb7\x63\x5d\xc0\x2d\x71\x20\xc6\x97\x9d\x41\xcd\xdf\xa8\xea\x20\x2f\x4d\x2d\x4b\xd0\xf2\x56\x6b\x8b\xdb\xd6\x34\xf7\xd8\x2f\x1d\x9f\x06\xef\xdb\x07\x0b\xa9\xd1\xc0\x1f\xf6\x98\x01\x32\xf4\x16\xce\x62\x4d\x73\x83\xb3\xdc\xd9\xf7\x45\xad\xf5\x16\x02\x80\x43\xbd\x9b\x08\xe0\x16\x11\x13\x33\xe7\xce\x55\xdd\xb5\xfe\x76\x63\x01\x0d\x78\x5f\xa7\xdc\x93\x18\x5a\xd3\xb2\x43\x39\x2b\xb9\x1f\xcd\xc7\x74\xd1\xfa\xe5\x34\x31\xfa\x04\x54\x66\xdc\x79\x0d\xaa\xf5\x48\x90\x2b\xc1\x44\x9f\x00\xe0\x93\xb5\xb3\xc3\xef\xb1\x7a\x73\x55\x27\xa4\xe8\x11\x0f\x9f\x3c\xe4\x33\x66\xfe\x47\x27\xdf\x92\x22\xe3\xa7\x5a\xc6\x72\xaa\x23\x4d\x37\xc1\xb3\x44\x8c\xa5\xe7\xf0\x40\x8f\x4e\x42\x3b\x6a\x14\x79\x07\x6a\xbd\x63\x76\x61\xbc\x24\x94\x99\x3e\xd4\x4d\x68\xc0\xe5\x78\x7a\x28\x6c\x97\xd8\xf7\xe6\x92\x06\x08\x0c\xdd\x6d\x61\x9c\x68\x87\x39\xff\x11\x5f\xce\x24\xb3\x42\xfc\xd1\x2f\xe0\x33\x0e\x97\x1c\xe3\x30\x33\x87\xed\x38\x0a\x2e\xc1\xf1\xdd\xbe\xa7\x43\xb7\x71\xf5\x0c\xd9\x12\x85\x45\xfa\xfb\x67\xe2\xc2\xfd\x7e\xc9\x5d\xbe\x1b\x8e\x7e\x7a\x53\x58\xf5\x84\x55\x54\xda\xb2\x7b\x21\x8b\xc2\xed\x99\x7b\x16\xdf\xf7\xc4\xa2\x5e\x16\x42\xd6\x75\x95\x4f\x9a\xda\x9e\xbb\xce\xec\xe3\x5c\x57\x99\x5e\x8a\x59\x25\xe7\x4b\x15\x3c\x3f\x6f\xc1\xe8\x2c\x0b\x71\xa3\xab\x2b\xb1\x90\xab\x95\x2a\x21\x3e\x79\x85\xef\x79\x39\x7e\x52\x9e\xbb\x31\xf7\x20\xe1\xae\xc7\x62\x25\x50\x2f\x03\xe5\x96\x3a\x83\xbb\x99\x5e\x8e\x30\xa0\x56\x15\x6a\x5a\xeb\xea\xbc\x28\xfa\xbd\x0b\xfb\x5d\x97\xa4\x52\x77\x45\xd5\xc2\xe3\x91\xbd\x3f\x9c\xa3\x5d\x13\xe9\xc3\x03\x17\xf9\x65\x37\x4a\x19\x2e\x3d\x1a\x9d\x2d\x25\xc4\x85\xda\x31\x38\xf6\xc0\xc0\x15\xe0\x49\x6f\x21\x6e\x24\xa4\xb0\x87\xb8\x0b\xa4\x46\x35\xe3\x4a\x39\x05\x43\x5e\xa9\x92\x1c\x43\x13\xc5\x06\x01\x4d\xc2\xbb\xd3\x79\x5c\x37\x67\x2e\x3c\x86\xc9\x82\xb1\x37\x89\x05\x44\x35\xde\x7b\x77\x4f\xf4\xed\x36\xa8\xcc\x54\x57\x6a\x60\x5f\x3d\x14\x79\x6d\x88\xcb\xa1\x2f\xc0\x59\x6f\xc0\xd7\xa0\x6e\xeb\xe7\xa8\x33\x3a\xf2\xa2\xf3\xde\xbd\xec\x2b\x3e\x03\xb0\x32\xc2\x79\x6d\x39\xa6\x86\x68\x22\x46\x82\xba\x0c\xd6\x09\x1a\x06\xe5\x08\xf4\x50\xae\x2a\x35\xcb\x6f\xd1\x7d\x58\x2f\x84\x14\x99\x2e\x0a\x59\x09\x93\xcf\xcb\x91\xe0\x89\x68\xdc\x05\xf9\x87\x49\x53\xd7\xba\x14\x79\x76\xd6\xb3\x22\xcc\x01\xfe\xdd\x8b\xf3\xc7\xec\xb2\x9c\xf5\x7e\xbe\x27\xab\x5c\x1e\x14\x72\xa2\xa0\x70\xca\x27\x79\x76\x6f\x68\xd1\xf2\x4c\xdc\x7b\xf3\xe2\xf5\x17\xef\xfe\xf4\xdd\xdb\xb7\x5f\xbf\x7e\xf7\xea\xfc\x4f\x2f\x5e\xdd\xfb\x90\x8c\xf1\xf9\x1f\x0e\x71\xec\xcf\xd9\x7a\x87\x01\x63\x4e\xef\x62\xd7\xad\x4e\xd9\xd4\x88\xd4\xe8\x1d\xe7\xdf\xbe\x3c\xa7\x17\x8d\xc8\x4c\x8a\x7e\x4e\x59\x13\xe9\x65\x9c\xf0\x6e\xec\x0a\xda\xed\x48\x5e\x64\xf0\x26\xc9\x0a\xa2\xb9\x1c\xd0\xd0\x65\x31\xb0\x98\x7d\x4a\x68\xc0\x87\xbe\xfb\xe6\x9b\x17\xdf\xbe\x3b\x7f\xfd\xc5\xbb\xef\x5e\x7f\xf1\xe2\x5b\x01\x76\xe2\x5f\xb8\x8d\x23\xff\x88\xce\x42\x46\xe6\x73\x7c\x23\x7e\x44\xa1\x6f\x54\x75\x20\xcb\xec\x20\x93\x66\xa1\xcc\xbd\x94\xac\x21\xcb\x02\x1f\xbc\x97\x4c\xef\x9e\x9f\x1f\x8f\xdb\x69\xca\x2b\xca\x84\xea\xcc\x45\xf2\xb6\xbc\x51\xad\xbf\x5b\xad\x9c\xe9\x23\xe8\x65\xb0\x41\xcf\x70\xdf\xce\x55\x1d\xb8\x41\xcf\xde\xe9\x79\x6f\xcc\xdd\x70\xa6\x39\xe1\x3c\xf2\x75\xd2\x38\x4c\x28\x87\x07\x36\x78\x3c\xdd\x71\xa6\x40\x03\xe8\x3d\x97\xe5\x0f\xbd\x1a\x13\x23\x30\xf8\xc4\x4e\xa7\x96\xf3\xd7\x96\x76\x1e\x88\xde\xff\xf1\x17\xf3\xcc\xfe\x8d\x27\x9e\x7f\x83\x73\xb5\xaa\x5b\xef\x85\x3c\x3c\x44\x45\x0b\xe2\xf3\x82\xdc\x61\x18\xaf\x22\xe6\x15\xb3\x28\x33\xea\xb0\xc0\xc1\x8b\x78\xe4\x91\x82\xc9\x70\x7a\x54\x3d\x24\x70\xa3\xea\x1a\x3d\x8a\x2e\x68\xae\xae\xad\x8e\x75\xa5\xd6\x2c\x74\xc5\x1d\xb7\x67\x30\x34\x99\xf1\x68\x74\xbb\xb1\xef\x9d\xcd\xb4\xbe\x37\x14\x95\x3a\x70\x11\x0d\x5e\xee\xcf\xa2\x9d\x35\xf2\x42\x03\x8d\x19\x25\x75\x9c\xf5\x06\x41\x86\xb0\x1f\x73\x26\x3c\x58\x48\xe6\x20\x41\x65\xd3\x9c\x3e\xdc\x89\xa6\xf6\x09\x4e\x6d\x2a\x8b\x69\x53\xc8\x5a\xb5\xc4\xba\xed\x53\xfa\xc4\xe5\x99\xf0\x37\x22\x1d\xb7\x89\xb0\x35\x59\x88\x24\x7a\x67\x17\xff\x4a\xad\x9d\xc8\x64\x67\x96\xa3\xe8\x5d\x38\x2b\x9d\x33\x35\x72\x94\xb3\xa8\xe4\x7e\x2c\x2d\xd9\xc9\xe2\x42\x9d\xc1\x6e\x71\x91\x51\x40\x86\x8c\xe9\x03\xfa\xf0\x11\x2b\x00\x72\x30\xc3\xe7\x6d\xc7\x1a\x5a\xd8\xe0\x73\xdc\xee\x29\x5b\xf9\xe5\xfd\x17\x73\x96\x3d\xd7\xa5\xa9\xab\xc6\x8a\x2d\xb0\xad\x2c\x63\xfd\xc6\x7f\xac\xf3\x6a\xe0\xb9\xcc\xc2\x85\x94\x9d\x32\x5e\x14\x19\x48\x60\xf6\x0c\x5c\xa9\xca\xe4\xa6\x06\x2d\x69\x21\x4b\x72\xeb\x18\x4c\xfa\x30\xb5\xae\x9c\xb6\x5c\xea\x3a\x9f\xad\xc9\x9c\x69\x99\x4d\xb3\x04\x73\xf5\x42\x95\x62\xc5\xd4\x76\x1c\xc5\x4b\x0a\x75\x1c\x9c\xe4\xce\x9e\x89\x9c\x5e\x41\xe0\x73\xad\x2b\x8b\x3a\xf2\x12\x19\x1f\xdf\xa3\x43\xa0\xf0\xbf\xbf\xfd\xea\xd5\x23\x3b\x18\x4d\x67\x28\x26\x0d\x8c\x52\xd9\xc3\x51\x95\xbd\x5a\xc8\x72\x0d\x89\xf5\x18\xc9\x4b\xef\x58\x6a\x10\x23\x84\x78\x49\xf9\x79\x4d\x8d\xe1\xbc\x64\xff\x24\xf7\x99\x74\x6e\x3f\xb9\xca\xf1\xdb\xed\x94\xcc\xba\x9c\x1e\x00\x12\x2c\x4d\x1f\xa2\xf8\x02\x19\x53\x28\x26\xdd\xa8\x5e\x06\x21\x4d\x14\x30\xd1\x4a\x5a\xb3\xab\xf2\x06\x27\x3c\xba\xff\xc1\xa3\x12\xf3\xd6\xf0\x77\x12\x9d\x6a\x8d\x05\x06\xc0\x11\x89\x78\xf1\xfe\x33\x3b\x97\x8d\xaa\x24\x8a\x33\x71\x30\x10\x5d\x4b\xa2\xc0\x2c\xcb\x0e\x8b\xc4\xed\xde\x94\xac\x2a\x7a\x87\xbd\x90\xf2\x11\x15\x33\xc0\x83\xdd\x28\x3b\x81\x5a\x89\x42\x5d\xab\x02\x6c\x31\x8b\x5c\x55\xb2\x9a\x2e\xd6\x3e\x93\x3e\xf7\xb1\xed\x73\x4d\x01\xf3\x0b\x79\x4d\x24\x7f\x95\x97\x19\xed\x99\x72\x8e\x56\xeb\x55\xa5\xaf\x73\xb0\x72\xda\xf5\xc1\xa9\x27\xae\x43\xe0\x73\x4e\x5c\xeb\x1d\xf6\xf0\xc1\x52\xd7\xec\xe1\xbc\x76\x3a\x2f\x10\xaf\x85\xf2\x12\x47\x7b\x63\x44\x99\xf8\x44\x50\x01\x9b\xcc\xf1\xe7\x96\xe9\xcc\x2d\xd8\x67\xc9\x9d\xaf\x27\xc0\x11\xaa\x77\x8e\x0b\xea\x92\x56\xfc\x39\x6c\x82\x77\x2d\x2b\xa6\x05\xca\xcd\xf9\xb4\xce\xaf\x95\x7d\x0a\x4c\x9e\x7e\x58\x69\xaf\xcb\x5a\xf5\x19\x74\x5d\x51\xee\x08\x42\xba\xa4\x40\x5c\xe5\x33\x4e\x06\xef\xdf\xdb\x2f\xf7\xc2\x05\x5e\x1d\xa9\x32\xa3\x53\xe2\xd0\x9d\x12\x04\xff\xe0\x0c\xe1\xef\x78\x05\x86\xc6\xc4\x5f\xe2\x1b\xdf\xaa\xa9\xae\x32\x70\x81\x62\x78\x14\x72\xfd\x42\x4f\x64\xe1\xd0\x00\x77\xc9\x3c\x0f\xb7\xa7\x8b\xbc\xc8\xbe\x94\x96\x51\xe5\xca\x3f\x8b\x92\xc4\x57\x72\x05\xce\xe4\xdc\xd4\x07\x70\x62\xd5\x5a\xfc\xbc\xc4\x8b\xf0\x1c\x4c\xc3\xb9\x24\xcd\x07\x7c\xea\xdc\xf2\x12\x90\xcd\xc5\xe1\x21\x5e\x62\xaf\x7a\x95\x9b\x1a\x5f\x73\xc7\x05\xfc\xf5\x56\x95\xb6\xcc\xf4\x20\xcf\x4c\xef\x19\xbb\x21\x44\x4f\x97\xaa\xf7\x4c\xb4\x08\x64\xc8\x61\xea\x1b\xbd\x0b\xc6\x4d\x07\xce\xf5\x21\x9f\x99\x10\xbd\x59\xa5\x27\x1d\xef\x8e\x9e\xa1\xdf\x3e\xdc\xe9\xfe\x96\xd8\x95\xfb\x9d\x01\x31\x0b\x22\x22\x0a\x2c\xa8\x91\x97\x59\x3e\x45\xa9\x81\x38\x9f\x8b\x2e\x45\xae\x45\x6a\x55\xd8\xff\xb4\xb7\x48\x0b\x44\xa5\x10\x8c\xe6\x35\xe4\x46\xa1\x41\x03\x9f\x25\x83\x46\x30\xc6\x86\x51\x1c\xc3\x7b\xf1\x53\x23\xa1\x76\x4c\xad\x4c\x6d\x84\x9c\xcb\xbc\x34\x35\x1e\x8d\x38\xc8\x57\xdf\xbd\x79\x0b\x2c\xae\x77\x76\x76\xd6\x13\xba\x12\xbd\xbb\xf6\x17\x64\x52\x72\x3a\x6d\x2c\x67\xd9\xb2\x67\x99\xa2\xf0\xc5\x8b\x2f\xcf\xbf\x7b\xf5\xf6\xdd\x7f\x9d\xbf\xfa\xee\x85\x0f\x72\x0f\x65\x5c\xfa\x3d\x82\x00\x35\xde\xf9\xbf\x4b\x40\xd2\x75\x9e\x35\xb2\xe8\xf8\x84\xf8\x70\x04\xb5\x17\x5e\x4c\xa1\xe7\xaa\x83\x00\x20\x51\x24\x64\xac\x95\xca\x27\x9b\x60\xd8\x0a\xd6\x7f\xc9\xf2\x4a\x4d\xeb\x62\xbd\xed\xdb\x70\x6b\xa5\xe5\x67\x86\x6e\x21\xfe\xcb\xa2\x90\x71\x25\x16\x5a\xee\xf7\x21\x07\x45\xbf\xb0\xff\xd3\xc3\x10\x4d\x38\x18\xb8\x16\x21\xd3\x43\x6a\xb7\x9f\x69\x3b\xf3\x40\x02\x74\x22\x7a\x93\xb1\xc5\x4d\xbc\x22\x56\x32\xa8\x29\x7f\x66\x29\xaf\x20\x3c\x10\xa2\x0d\xaf\x55\x35\xd1\x66\xeb\x2a\x23\x26\x36\x2f\xb6\xb7\x2c\xef\x4d\x20\xdc\xd1\x80\xc9\x5f\x3c\x73\x09\xe9\xcf\xe7\x6c\x61\x74\x62\x6e\xf8\x4e\x21\x99\x68\x63\x79\x08\x8a\x88\x74\x29\xf5\x9d\x93\xfb\x20\x1c\x46\xa3\x3c\x1b\x9f\x87\xe2\xea\x48\x60\x70\x36\x65\x39\x4d\x55\x7e\x8d\x7a\x40\xa9\x6e\x5c\xe0\x65\x6a\xbc\x0e\x13\x1d\x86\x94\x9a\x0c\xa2\x1e\xdd\x07\x90\x22\xdf\x3e\x06\xa5\x09\xae\x62\xf3\x51\xab\x22\xb3\xcc\xb1\xfc\x28\x20\x98\xae\x31\x5a\xf5\x94\x34\x5a\x35\x66\x11\x20\x62\x8e\x56\x56\x7e\x6d\xca\x80\x2a\x1f\xdc\xbf\x01\xf5\x0c\xab\xe7\x16\x11\xd7\xb9\x6e\x0c\x78\x0a\x70\x30\x9e\xd5\xf3\x31\x5f\x57\xa9\xa5\xbe\x56\xbb\x3f\xd0\x99\x06\x93\x0f\x75\x41\x3c\xec\x5b\xf1\x40\xce\xc5\xe7\x3e\xbd\x33\x79\xc6\xac\xac\x6e\xd0\xcf\x87\x62\x9c\xd4\x9e\x81\x44\x30\x6f\x91\xf3\x1a\x47\xcc\xc1\xf6\xfe\xb4\xc4\xdc\x1f\xf2\x4f\x3b\x18\xc4\x59\x17\x8b\xe0\x3e\xca\xc3\xbf\xf4\x29\x8f\x9a\xd2\x90\x3f\x39\x1c\xd9\x13\xc0\x19\xc7\x5b\x8c\x69\x90\xa4\x56\xb4\x00\xda\x09\x1a\x1d\xcc\xed\x4c\xf4\x5c\x62\x1c\x8f\xa9\xf9\xde\x57\xd9\x0a\x19\x82\xcf\xbf\xfe\xe6\xbf\xdd\x4e\x89\x4f\x35\xa3\xf1\xac\x6c\x8c\xe5\x72\x53\x59\x86\x81\x96\x3a\xcb\x67\x6b\xf2\xe8\x54\x72\x6d\x4f\x2b\x92\xd3\xed\x19\xa8\x9b\x1a\x79\x82\x73\xfb\x44\x03\x8f\xe2\x2f\x64\x96\x1b\xf8\xd5\x65\x4e\xac\xfb\x1d\xc8\x89\x0c\x03\x9b\x51\x14\x47\x84\xb7\x16\x2e\x22\x9f\x37\xb5\x5e\xb5\x38\x1a\x49\x54\x74\xe0\x57\x4c\x0f\xb3\xb2\x6e\xc2\xef\x9e\xa3\xad\xc7\xaa\x70\x6d\xd1\xde\xdc\x58\x71\xad\xa9\x21\x1f\xb2\xeb\x0d\x56\xf1\x28\x51\x91\x33\xda\xe9\x49\x70\x70\x66\x50\xa6\xcd\xd2\x23\xa8\x95\xb9\xca\x84\x9c\xd8\xa1\xf2\xaa\x52\x85\xba\xb6\x4b\xc9\xa6\xb2\x5b\x2c\xc8\x94\x13\x9e\xbb\x29\xfc\x6e\x2c\x7a\x0f\x3a\x93\x09\x7a\xaf\x75\x2d\xdc\x38\x59\x6f\x2f\x99\x9d\x10\x97\xb0\x8d\x7e\xa7\x9a\x30\x48\x56\xc7\x6a\x36\xbb\x56\xc0\xe5\xe4\x06\x06\x17\x3e\x35\xdb\xb4\xb8\x28\x9d\xa0\xa9\xdc\xe3\x25\xc7\x54\x14\x14\xe4\x7c\xee\xd0\x48\x88\xff\xf6\x0b\x42\x52\x0c\xa5\xe0\x5a\x20\x59\x0b\x88\x16\x94\x45\xfe\x57\xca\x4d\xce\xad\x70\x22\x21\x38\x33\xaf\x7b\x26\x89\xce\xa4\xf8\x27\x3c\x5d\xbc\x49\x7f\x1a\x4c\x16\xfb\xad\xe7\xf6\xd5\xdc\x6b\x31\xcf\x29\xfc\x73\xe7\x82\xd6\x55\xd3\x5e\x4f\x76\xc8\xed\xb3\x98\xdf\x2a\x32\x92\x4d\x92\xe5\xa4\xf4\x47\xc3\x77\x88\x5f\xdc\xff\xf6\x32\xa4\xc8\xa8\x46\x98\xb6\xcb\xd8\x8d\x75\xa8\x4a\x51\xc1\x2f\x2e\x84\x0d\x8b\x2e\x40\x4e\xf2\x8c\xd3\x01\xf9\xa0\x51\xb5\xef\xd8\x9a\x20\x64\x2c\x75\x99\xd7\x94\x9d\xc9\xec\x0e\x7c\xe6\x44\x8c\x43\xcb\x31\x83\xc0\x0b\xea\x77\x9b\x56\x96\x1a\x93\xa5\x4b\xf8\x88\x28\x8a\xd4\x5b\xd7\x2b\x35\x6d\x2a\x93\x5f\x2b\x38\xa9\x65\x66\xa2\xd7\xd9\xa1\x82\xf2\x17\xcf\xd9\x10\xcd\xdd\xa8\xa2\xe8\x1e\xdb\x92\xab\x59\x97\xd3\x45\xa5\x4b\xdd\x98\x21\xf1\x2c\x3f\x53\xfb\xbe\x36\x92\x86\x2e\x93\xfe\xfe\xb2\x31\xf5\x7d\x4c\x57\x76\x49\xab\xbb\x84\x90\xfe\x00\x2d\x31\x5e\xa4\xf4\x5e\xfd\x59\x47\x99\xb0\x90\x41\x2c\x7d\x28\xdf\x42\x86\xa8\xc0\x6c\xbf\xbd\x61\x1f\x7f\xe3\x6d\x13\x51\x42\x56\x9c\xa3\x09\x96\x02\x55\x66\x79\x39\x7f\x6e\xb1\x5a\xa9\x12\x7c\x99\x49\xfc\x1c\xdc\xf3\x71\x67\xfc\x8c\x3f\x38\x68\x3d\x7e\x26\x8e\xc4\xa7\x9f\x46\x1f\xed\xce\x75\x7e\xad\x1f\x27\x58\x81\x07\xf2\x8c\x52\x0d\x47\xf6\xaf\x7e\xcb\xb4\x30\xd8\x1d\x52\xcd\xed\x14\x0f\x84\x2a\xa2\xf0\xa3\x24\xb0\x1a\x0c\x27\x83\xc8\x35\x02\x29\x84\xdf\x30\x5b\xa5\xc5\x24\xfa\x3d\xd8\xc8\x8c\x4b\x38\x66\x30\x57\xf5\xcb\x5a\x2d\x4d\xdf\xce\x9c\x15\xa0\xcb\xed\xc5\x38\x79\x18\xc7\x78\x85\x71\x97\x67\x7c\x5c\xe7\x37\x76\x01\x59\x2d\x8f\x48\x3c\x98\x4f\xfb\x01\x75\x0d\x6e\x32\x07\x82\x88\x73\x95\xaf\xd4\xda\x19\xf4\xf9\x04\x06\x09\xb0\x52\xd9\x9b\x75\x39\x15\x67\xa2\x1f\x05\x6c\x70\x8b\xc3\xa7\x9f\x6e\x08\xde\x13\x22\x95\x62\xae\x51\x35\xbd\x7b\xb6\xf1\x09\xd1\x25\xf7\xf0\x45\x87\x18\xe2\xcb\x48\x84\x19\x0c\x42\xd0\x5a\x87\x05\xaa\xe3\x09\x28\x45\x19\x04\x48\x47\xbd\xee\x73\xe3\xa0\xe6\x84\xa2\x1f\x3c\x88\x72\x8f\x61\xd5\xd7\xe5\xf4\xb9\xc3\x08\x29\xe3\xc9\x2e\x19\xf0\xb4\x64\xf7\x5f\x16\xa1\xf7\x31\xdb\x26\xaa\xab\x17\x01\x90\x48\x18\xd3\x38\xcf\xfb\x03\xe3\x8c\x90\x9d\x16\x8d\xdc\x78\x55\xc8\x08\x29\x22\x9b\x82\xd3\x27\xad\xb2\x68\xbf\x0c\x32\xb3\xd0\x6e\x41\x62\x5b\xc7\x90\x9d\xb5\x7b\xdf\x6e\xd4\x48\x5d\x8d\x0d\xe7\xa6\x46\xba\x04\x93\x0a\xaf\xc0\x40\xbb\xd9\x69\x36\x6d\x3d\x95\x2a\x47\xdc\x54\x79\x5d\x43\xf0\x02\x9d\x7c\x6e\x6f\xb6\xa7\x46\x0a\xc9\xfb\x89\xd6\x85\x92\xe5\x7b\xe4\x3a\xef\x21\x56\xe6\x7d\xd9\x14\xc5\x07\xda\x56\x6f\x5b\x8a\x01\x16\x13\x72\x94\x10\x7f\xcd\xb9\xab\x21\xcc\xeb\x80\x56\x8a\xb2\x4b\xd0\xf9\x09\x11\x11\x50\x35\xe2\x5a\x16\xb9\x67\xf2\xa9\x92\xf0\xcb\x0d\x09\xab\xfa\x5d\x50\x7b\x7d\x50\xd8\x96\xb3\xa6\xc3\x96\xb1\xd1\xcc\xe0\xc6\xdb\x6d\x6d\xd8\x60\x66\x70\x03\xfc\x0a\x6b\x03\x17\xe9\x2d\x75\x07\x88\x56\x38\x2e\x92\x34\x4d\x16\xc3\x5f\x91\x94\xed\x86\x77\xd5\xf4\x9c\x71\x6d\x03\x1f\x71\xda\x39\xc2\x45\x61\xd3\x88\x2e\xaa\x4b\xd2\x67\x2f\x6b\x17\xc6\xdc\xf5\x16\x11\x38\xa4\x15\x50\xb7\xa9\xeb\xed\x17\xb9\x53\x2d\xfa\x42\xf6\xda\x48\x54\x8d\x80\xba\x98\x85\x2f\x0c\xb9\x4a\x43\x6d\x7d\x3d\x1e\x4f\x4e\x96\x11\x6d\x48\x0b\xf3\xfe\x96\xf3\xd2\xe9\xc9\x33\xf1\xf0\xc0\xc5\xdc\x60\x52\x83\xab\xe8\x53\x2f\x2a\xe5\xe3\x71\xbc\xa1\x0a\x9e\x4a\xa2\x97\x2c\x99\x5d\x40\xcc\x90\x5b\x56\xfa\x96\x4b\x46\x3e\xc8\xa1\xdc\x38\xfb\xd9\x42\x36\x93\x55\x9a\x31\x04\x9f\x95\x64\x0d\xb1\x10\x30\x07\xd1\x95\xf5\xed\xd4\xf5\x68\x7c\x3f\xe6\x45\x7e\x79\x71\x74\xe9\x79\x30\xfc\x3d\x4e\xfe\x3e\xbe\x6c\x67\xd4\x3a\x2e\x5f\x62\x7e\x9d\xca\x7c\x8e\x48\x2a\x2a\x07\xb5\x3d\xbd\x01\x36\xed\x2c\x9f\xc1\xdf\x35\xea\xfe\x3f\x36\xa6\x06\x2e\x0a\x51\xb5\x6c\x19\x59\x58\x17\x6a\x79\x54\xcc\x46\x41\x75\x26\x18\x1a\x2b\x7e\xfb\x08\x62\xc8\x00\x6b\x8b\xec\xee\x08\x58\x2a\x59\x46\x05\xab\x88\x85\x71\x8f\x33\xb3\xcf\xb7\x3e\x0b\xd9\xcd\x5c\xd5\x58\x27\x0b\x58\xab\x74\x26\x54\x67\x53\xe8\x55\x0a\xf4\x92\x8a\x2a\xff\xe9\x0a\xce\x0c\xb2\x55\xc8\x52\xf8\xe8\xcc\xb6\x8a\x11\x57\xaf\x4f\xce\x39\x8b\xed\xd7\x58\xa7\xde\x17\xa6\xe7\x99\x3a\x53\x3a\xe4\xfd\xd7\x5a\xbc\x86\x32\x43\x54\xa2\x3e\x6f\xdb\x96\x39\x96\x54\x78\x0d\x1d\x98\x53\x70\x49\xb7\xa9\x1c\x63\xdc\x3a\x8f\x4a\xef\xab\xad\x35\x65\x13\x25\x14\xe3\x46\xa3\x45\xcc\xe8\x2c\x80\xda\x0f\x46\xe3\xf3\x79\x69\x31\x7d\x28\xb3\xec\x10\x6d\x1a\xa1\x2e\x19\x2e\x14\xd6\x03\x5b\x73\x7e\x9f\xa2\x02\x62\xf3\x56\x58\xb7\x8f\x52\x58\xdb\xe6\x5b\xe6\x1d\x5c\x8b\xf3\xa4\x70\x92\x93\x1a\xd2\x32\x80\xde\xd3\x4c\xa4\xe7\x92\x02\x8c\x8a\xd7\x41\x89\x19\x8d\xec\xc7\x4d\x4f\xbc\x3b\xa1\x3e\xb3\xdd\x13\xdb\xa2\x28\xe8\xb8\x73\x4b\x99\x79\x1a\xb0\xdc\x1c\xde\xdb\x5e\xa7\x8f\x3a\xe5\x98\x7a\x16\x9f\x71\x8e\x2a\x86\x11\xba\xe8\x80\x3b\x3c\xec\x12\x01\xc1\xeb\xae\x8b\xac\x8b\x00\xd8\xca\xdf\xd9\xc4\xaf\xc2\x2b\x2f\x2e\x37\x25\xf2\x38\x13\x76\xe9\xe5\xe4\x96\xc7\x7b\xe8\xe7\x8e\xb6\xcd\x2e\x8f\xf0\x85\x03\xb9\x84\x58\xee\xf0\x81\x9f\x75\xf8\x42\x23\xe0\xc4\x2b\xea\xbd\x3b\x96\xf0\x88\xb9\xec\xf6\xe2\x7c\xe9\x69\x11\x1d\xd9\xe2\x9c\xf9\x86\x3c\x15\x62\x8c\x32\x2c\xb9\xba\x56\xd5\x3a\x39\x71\x50\xe0\x91\xc6\x40\xb9\x22\x67\x73\x60\xf6\x34\x5d\xc6\x22\x9f\xeb\x5e\xb1\x94\x2b\x71\x2e\xc8\xe5\xcd\x9d\xb3\x18\x4d\x37\x65\x65\xc2\xe2\x17\xb8\x97\x26\xef\x91\xe5\x56\x37\x63\xa7\xff\x26\x3a\xfc\x10\x09\x43\x3b\xa5\x60\x6a\x23\xcc\x7c\xfa\xa9\x20\x9b\x3c\x5d\xb8\x7b\x26\x7a\xee\xc9\xde\x06\x0b\xdc\xcb\x12\x58\x35\x1e\xdd\xcf\xe8\x49\xd3\x0b\x8a\x3a\x5e\x61\x3e\x91\x34\xa0\x00\xfd\x46\x04\x16\x62\xe1\xed\x0c\xd3\xb8\x49\x7f\x58\x3b\xcd\xd6\x7f\x86\x0b\xa0\x8f\x54\xde\xc8\xf2\x30\xf0\x59\xb6\xc9\x17\xb8\xac\x80\xb0\x3c\xac\x92\xd7\x67\x77\xee\x6c\xd3\x50\xb9\x58\xb6\x94\x2b\xbc\xda\x71\xbc\xe7\x66\x25\x9d\x9b\x07\x09\x55\x04\x0f\xac\xb3\x8a\xa5\xd3\x30\x2c\xc0\x8a\xe2\x98\xa8\xc8\x4a\x6c\xbe\x85\x9a\x52\xdc\x60\xe4\x6c\x4d\x06\xb2\xf6\x29\x63\x1f\x8c\xf3\x10\xe8\xbb\x5a\x15\xf9\x14\x4d\x8e\x90\x34\x69\x81\xac\x3e\x8c\x22\x62\x63\x54\xd5\x35\x09\x38\xf7\x78\x67\x04\xf2\x16\xf8\x23\x3e\xeb\x94\x0f\xc0\x79\x00\xb2\x08\x84\x8c\xdf\x81\x4a\x8d\x85\x65\xcf\xc8\x76\x87\xb8\xe9\x30\x22\x1b\x55\x1a\x73\x93\xd7\xd3\x85\x3b\xd4\x99\x48\x43\x36\x96\xbd\x36\x00\x86\xb2\x9d\x17\x45\xdb\xba\xdc\xa2\xa2\x36\xb1\x70\x61\x0f\x47\x22\xde\xd7\xf7\xd1\x8f\xd1\x02\xbf\xd6\xee\xb8\xdc\xb0\xbc\x94\x2d\xf1\xab\x35\x6e\x52\x4c\x11\xe1\x1f\x83\x09\x9a\x7f\x77\x07\x9c\x8f\xd1\xa2\xee\x92\x1a\xd5\xcd\x0e\x76\x6f\x26\xa8\x61\x13\x1b\x76\x48\xc7\x99\x2b\x97\x40\xd9\x25\x94\x77\xf3\x8e\xee\x3c\x8d\x14\xec\x22\xbf\x24\x9d\x2b\x32\x42\x6d\x7c\x17\x4d\x28\x78\x6f\x3b\x14\x81\x14\xc6\xbe\x83\x8f\x3e\x24\xdd\x95\x22\xc3\x12\x82\xf1\x0d\x96\xbc\x74\xd1\x21\xeb\x39\x09\x04\x69\x07\xa1\xec\x01\xc9\x33\x45\x7c\x50\xe0\x22\x2f\x93\xc4\x70\xe8\xd7\x23\xad\x34\x43\x06\x18\xac\xaa\x41\xd1\x02\xb2\xa9\xf5\x81\x13\xb9\x40\xb6\x49\x45\x1f\xbb\xdf\xed\x3b\xd1\x7d\x54\xd1\x04\x9c\xcc\x85\x45\x69\x2b\xa3\x60\x87\xc7\xb1\x7d\x56\x94\x6a\xa0\x6c\xd4\x4e\x81\x1b\xea\x9d\xf8\x2f\x03\xce\x86\xa8\x71\xa2\x97\x57\x40\x2c\x13\xd9\x18\x26\x09\x5f\xff\x75\x84\x0b\x50\x38\xb0\xa7\x12\x69\x9d\x4e\x30\xda\x38\x4a\x9e\x85\x31\x72\xc0\x94\xbe\x56\x55\x95\x67\x38\x1d\x8f\x2d\x1a\x63\xf7\xde\xc3\x6f\x41\x55\x8d\x97\x20\xf1\xe2\x97\x9b\xfb\x66\x21\x6c\xc7\xff\x70\xda\x2c\x5c\x21\x33\x3c\x5e\xdb\xcb\x67\x9f\xf9\xfb\x9f\x71\x63\x43\xee\xed\x21\x79\xe6\xea\xb8\x65\x21\xb8\xdb\x0a\x91\x2e\xda\xc1\x82\xde\x0d\x05\x4b\x3a\x36\xff\x17\x0d\x9e\x2c\x84\x69\xdc\xf9\x7e\xa5\x43\xfe\x41\x36\x68\x67\x03\x1e\x1e\x8a\x6f\xf2\xe9\x95\xaf\x2b\x35\x74\xe4\x78\x72\x90\xe5\xf3\xbc\x16\x0b\x75\xcb\xeb\x14\x73\xe9\x9c\xe2\xff\xd0\x33\x4f\x35\xaf\xef\xe6\x99\x78\xff\x5e\x74\x7f\x40\xc8\xb4\xce\x42\x5b\x22\x57\xf2\xa9\x3f\x1e\x8a\xa3\xdb\xd9\x6c\x36\x1b\x8c\x6a\x4d\x65\xd8\xc7\xa7\xde\x1c\xcc\x9e\xf9\xeb\x4a\x66\xfd\x3c\x1b\x8a\x93\x70\x97\x10\x6b\x17\x35\x58\x7f\x3d\x72\x81\x32\x2d\x26\x10\x11\x1d\x19\xff\x80\xba\x10\xc7\xba\x5d\xa4\x26\x29\x3c\xc7\xda\x01\xfc\x51\x1f\x54\x1a\x1c\x25\x2d\x90\x4a\x19\x55\x9f\x17\x05\x8f\x45\xed\x14\xc6\x2f\xf2\xcc\x4b\xef\xf4\x30\x52\x51\x46\x51\x3f\x34\x01\x34\xad\x33\xb2\xb3\x53\x33\x51\x4d\xda\x78\x8c\x48\xbc\x07\x45\x54\xb6\x4d\x03\x9e\x05\x38\x66\x82\xa0\xa6\x03\xd6\x4b\x1d\x96\x03\x41\x15\x52\x03\x71\xe3\x7c\x34\xd0\x9c\x33\xf4\xc6\xec\xc5\x9e\xf8\x49\xcc\x58\x55\x92\x1b\x8c\x77\x42\x41\x46\x54\xac\x3b\x59\x4d\x9e\x31\xb6\xf7\xf2\x8b\x7d\x3d\x82\x76\xbc\x2d\xac\x84\x73\x01\xfb\xbd\x9c\x0f\xc0\x63\x31\xac\x5d\x2f\x00\x4b\xc9\x60\x2f\x2e\x22\xce\xd2\xad\x15\x62\xa0\xa2\x3d\x66\xa1\xe2\xd8\x27\x7f\x4a\x77\x11\x0a\x6d\x84\x4c\x41\xdd\x95\xed\x14\xd9\xdd\xfd\x60\xd3\x61\x1a\xce\x11\x26\x8f\x21\x1f\x67\xe9\x8e\x6c\x7d\x75\xe5\x0f\x0c\x57\x6d\x0a\x65\x9b\xda\xbb\x3c\xaa\x50\xec\xd5\xe7\x47\xdd\x61\x55\x52\xc9\xe1\x50\x11\xab\x94\xa5\x50\xb7\x53\xb5\x42\x4f\xf6\x4c\x94\x3a\x81\x04\xdb\x11\x46\xbc\xff\x82\x83\x13\x6a\xab\xe6\xe5\xbe\x24\xe7\x61\xee\xc7\x49\xeb\x91\x54\x11\xcf\xaf\x95\xc0\x1e\xd9\x45\x08\x49\x98\xbe\xbe\x17\x4d\x3b\xca\xdc\x44\xd0\x1d\xb9\xe9\xa8\xe6\x79\x2c\x74\x78\x37\x07\x3b\x44\xd3\x80\xb4\xf8\x80\x62\xe2\xa9\x1b\x2c\xe2\xbf\x29\x09\x7a\x81\xb8\x9f\x67\x58\x58\x8e\x80\x06\x5c\x25\xdd\x9d\x46\xbe\x4b\x2f\xbd\x97\x9e\xa2\xf7\xf8\xf1\xea\x0e\x53\xcf\x60\x93\x44\xf4\x0f\x29\xef\xb5\x33\x6c\xed\x9e\xe7\x51\x56\x9a\xd3\xb8\xa6\xca\x57\x49\xac\x6f\x34\xcc\xc1\xa4\x06\x26\xac\xed\x00\x9b\x89\x55\x3a\xe2\x40\x28\x02\xb7\x6c\x74\xb8\x5d\xa3\x0a\xba\x50\x15\x0b\x84\xd4\x7b\x43\x71\x0f\x19\x9e\xfd\xd5\x32\xf3\x7b\x53\xbd\x5c\xea\xf2\x9e\xdd\x20\x2b\x55\xd5\xb9\xf2\xae\x07\xba\xb2\xa6\x6a\x72\x52\xf0\x14\x83\x03\x94\xe3\xfe\xa7\xae\x1a\xf5\x3f\x71\xfe\xef\x10\x99\x40\x54\x89\x58\x8a\x33\x71\xd1\xc3\x27\x6f\x7b\x43\x41\xbf\xae\x7b\x97\x04\x30\x61\x00\x78\x95\x6e\x58\xa4\x79\x4b\x99\xe9\xcb\xa1\x98\x0c\xc4\xd9\xe7\x3e\xf9\xf7\x67\x14\xbf\x9f\x89\x9f\x85\x1f\xff\x19\xc4\x25\x89\x0f\x43\x3a\x2d\xec\xdd\x0f\x43\x81\x9f\xca\x20\xd7\x1e\xd2\xca\x0a\x21\x6b\xd8\x0e\x48\x16\xdc\x8c\x21\x46\x48\x63\x1a\x57\xe3\xf0\x7f\xe4\xff\xd8\x9d\xc9\x53\x06\xb8\x0e\x11\xf9\x7c\x2e\x90\x5d\x5c\x7e\x10\x12\x7b\x04\x69\x53\x83\x39\x95\x1e\x6a\x2d\xfe\xa6\xc7\x27\xe2\xbc\xa4\x72\x7f\x1b\x9e\x6b\xf5\x79\x2d\x79\x08\x66\xfc\x69\x87\x88\x10\xbe\xf4\x5b\xd8\x4b\xbc\x10\x9c\xb5\xe0\x9a\xfc\x1c\x35\xe1\x82\xad\xe3\x56\xe6\xc3\xf0\x4e\x38\xba\xd9\x05\xbf\x20\xf0\xf7\x87\x8d\x7a\xa3\xec\x52\x14\x2d\x17\x98\xf8\x93\x52\x5e\xe4\x97\x2d\x31\xb4\xba\x1e\xe1\x2b\x2e\xec\xed\x4b\x16\xaf\xd6\xaa\x1e\x55\x5d\x8f\x60\xb6\x5d\x90\x6e\xbb\x77\x4d\x6d\xb2\x69\x6a\xfd\xc9\x45\x7e\x69\xf9\x97\x1b\x79\x60\xe5\x66\x7e\x15\xa7\xe6\x0d\x68\x56\xee\xc9\x4b\x1f\x89\x51\x5d\x93\x68\x92\x5d\x4c\x92\x29\x75\xb5\x08\x73\x81\x91\x14\xc3\x95\xff\x55\xb1\x7e\x89\x1b\xce\x6e\xc3\x5c\x01\x3e\x49\x85\x88\xd9\x0e\x06\x8f\x07\xb1\x0e\xa5\x9a\x56\x9f\x17\x1c\xa3\xce\xb1\xd1\xd0\x5a\x2c\x73\x03\x4d\x7c\x43\xec\x59\x99\x61\xfc\x98\xdb\x27\xad\x38\x32\x3b\x20\xd8\xb2\x5c\x60\x02\x44\x0c\x60\xf4\x21\x0b\x62\x83\x7d\x07\xc5\xd8\xa0\xa9\x4b\xe8\xb3\x17\xfb\x63\xb1\xab\xc4\x44\x91\xb4\xf3\x4b\x8e\x7c\x13\xd0\xd8\x1d\x72\xf0\x8b\x62\xd7\xec\xa8\x77\x3a\x0a\xda\xed\x75\xa6\x47\x91\x35\x5b\x7c\x1d\x69\x28\xdb\xb6\x58\xb6\x76\x28\x1b\x99\x3a\x7f\xfb\x48\x36\xca\x53\x6f\x71\x2d\x72\x16\x28\x71\x1f\xdd\xd9\xf7\x31\xeb\x51\xf2\x48\xe8\x51\x6c\xde\x7a\xb9\x51\x88\x0e\xef\xa1\x82\x34\x9e\x04\x6b\x57\x28\x3e\xc4\xd5\x5a\x84\x12\xa1\xb9\x77\x99\x1a\x09\x1a\x06\xc7\xc1\x60\xc2\xf4\xb8\x2a\x33\x96\xdd\x99\xe5\x66\x2a\x2b\x14\x29\x61\x7a\xba\xc8\x70\x6a\xad\x50\xbd\x4e\x39\x27\x69\x5b\xb8\x0f\xd3\xed\x07\x0c\x0c\xe9\x75\x9b\x8d\x6d\x01\x76\x53\x2f\x43\xd0\x9e\x03\xd8\x45\x7e\xc9\x6b\x02\xe0\x0c\x5e\x42\x31\xac\x33\x7a\x5b\xaa\x98\x50\x5e\x3d\x07\x0d\x99\x1a\xc2\x3d\x44\x7a\x0a\x07\x43\x95\x25\x38\x18\xb6\x6b\x24\x71\x98\xe0\xaf\xd0\xe4\xfd\xfb\xf8\x18\x51\x1b\xd6\xa4\xb0\x11\x64\x31\x83\x78\x4e\xd9\xd6\x3b\x0d\x30\x6c\x24\x62\xe7\xf8\xb7\x8f\x71\xdb\xc3\x9a\x20\xc4\x47\x5b\x0d\xf0\xa1\x8d\x01\x7a\x89\x7d\xc2\xfb\x34\xfa\xf1\xbe\x4f\x4b\x25\x76\xd1\x15\x2d\x6a\x07\x4d\xed\xd6\x2e\xf1\x59\x7b\x9c\x45\xe1\x39\x77\x53\x06\xd3\xc9\x5b\x36\x87\xfa\x45\xfa\xaa\x81\x82\x68\xb1\x4f\x37\x87\xbc\x7d\x54\x13\xc0\x37\xd3\x3e\xc6\x32\xee\x4b\x6a\x05\xf6\xe5\x2d\x87\x01\x6a\x6e\xd8\x11\x82\x2a\xe3\x77\x7b\x4a\x5b\x1e\x88\x78\x6a\x60\x25\xd8\xd7\x54\x61\xe2\x2c\xa4\xff\x1d\x4f\x43\x47\xee\xc6\xcb\x5a\x2d\xfb\x71\x84\x71\x80\x0f\x31\x62\x71\xe4\xe9\xdd\xad\x79\x52\x5d\x4f\x6c\x4a\xbd\xfc\x08\x8f\x12\xd1\x47\x94\xd3\x6f\x84\x4b\x69\xac\x17\x2a\xaf\xda\x94\xb2\xe7\xd2\x74\x7a\xc5\x90\x63\xa1\x23\x2f\x54\x60\x75\xfb\x6a\xab\xc2\xcd\x58\xf5\xfe\xaa\x33\xdf\xb4\x89\xfe\x1c\xca\xb7\x71\x85\x35\xb2\x53\x75\xef\xfe\x9d\x0e\x3d\x1f\x39\xbe\x2b\xda\x78\xfb\x9a\xef\x1d\xb2\xbc\x89\x0c\x84\x77\xe1\x81\xf9\x94\x95\x54\xf9\xf0\xcb\x42\xea\xe3\x58\xfa\x8e\x24\x3c\x16\x51\x9f\xd6\xf4\xdc\xba\x5b\x30\x1e\x1e\x41\xdc\x9c\x67\xba\xb2\x8a\x77\xbf\x4d\xcc\x1b\xc3\x98\x5d\x5b\x24\xab\xc4\x5a\x1e\x75\xa3\x5d\x01\xb2\x20\xa8\xd8\x33\x2d\xc7\x50\x96\x52\xd7\x07\xea\xa7\x46\x16\xcc\x3c\x37\xd1\xf5\x82\x57\x2d\xf3\x45\xc0\xcc\x54\x16\xb2\x82\xd8\x05\xb4\xfb\xea\xe5\xca\x02\xc0\x00\xb1\xf1\xc1\x0e\xe5\x1a\x99\x40\x8e\x97\xe8\x97\x9a\xd9\x3b\x06\x43\x2c\x4a\x72\x93\x1b\xdf\x04\xce\xce\x39\x62\xc3\xae\xc0\x99\x15\xe8\x0b\xe8\x13\x8a\x45\xa7\x6f\x42\x7e\xe2\x74\xa1\xa6\x57\xf6\x43\x23\x06\x0f\x79\x20\xc1\x75\x2b\xbe\x65\x9d\x12\xa1\x0b\xa4\xeb\xa1\x06\x43\xd0\x57\xa0\xf4\x7d\xeb\xbe\xfc\x46\x61\x50\x9f\x43\x16\xe4\xa0\xdf\xc1\x26\xdb\xd4\xdc\x67\xc2\xc2\x00\x53\x26\x7f\xdf\xaa\xf6\xe7\xc1\x9c\x47\x6f\x49\xed\x81\x93\x0d\x30\x7b\xc4\x3a\xe5\xb3\x59\xb7\xce\x7d\x78\xe8\x8c\xac\x16\x30\x09\x57\x1c\x0a\xd7\x42\xce\xae\xa2\x2b\xee\x2f\x0c\x76\xfe\x5c\x55\xf9\x32\x07\x1d\x0b\x03\x6d\x50\x71\x25\xd3\x9a\x1c\xc0\x6e\x75\x7f\x4e\xac\xfe\x4a\x1b\xe0\x6e\xff\xf0\x2f\x7d\x6f\x6a\xf3\xc1\xe2\x14\x3b\x8e\x07\x5e\x9a\xd3\x2a\x07\x83\xa4\x5b\x4a\x97\x3a\x2b\xe1\x9d\x93\xd8\x88\x86\x47\x71\x3b\x15\x35\x09\x9d\xec\x20\x26\xdf\x39\xc7\x34\x13\x68\x8c\x61\x15\xd3\x8e\xfc\x28\xee\xf9\xf5\x2a\x51\xa6\x95\x6b\x86\x50\xab\x6a\x9f\xe2\x10\xae\x3d\x10\xe6\xf7\x01\x5d\x82\x34\x51\x64\x49\x18\xbb\x10\xdf\xa3\x52\x28\x6b\x57\xc7\x71\xd8\x19\xe5\x80\xf6\x3b\x8c\xe7\x73\xe9\x9e\x1f\x17\xe2\xe0\x3d\xd7\xb0\x7d\x5a\x0d\x60\xee\x7f\xb0\x87\xff\x7f\xf9\x98\x7e\x2b\x09\xc4\x58\x76\x1e\xc1\x8f\x0d\x16\x8e\x62\xc0\xdb\x25\x1a\xdc\x5b\xff\xfe\xf2\x4b\x50\x38\xec\x36\x71\xa2\x09\x4f\x15\x66\xb3\x63\x75\xd6\xbe\x88\xd0\xb2\x90\xd0\x27\x25\xf0\x9d\xa8\x4e\xf4\x87\x5f\x2e\xf8\xb8\x5e\x92\x50\xc3\x05\x4b\x43\xfa\xb0\x36\x8a\xec\x46\x4e\xd5\xde\x16\x54\x5c\xc9\x32\x00\xda\xd0\x5e\x8e\x4a\xca\x5c\xb8\xef\xfb\xac\x6b\xde\xbb\x1e\xb9\xb3\x4d\xde\xda\x73\xe3\x76\xc5\xd2\xa7\x84\xdd\x19\xed\x07\xc4\x7d\xf0\xb9\x60\x55\xa5\x08\x3f\x6b\x5f\xa3\x38\xd0\x70\x94\x96\xb1\x67\x58\x69\x44\xb8\x71\xbd\x69\x17\x16\x97\xe6\x9f\xb1\x78\xb9\x8e\xfc\x07\x08\xca\x5f\xca\x15\xe4\xa0\xb5\x45\xd2\x37\x1d\x0a\x4b\xba\xe6\xff\x0b\xfa\x8a\xfd\xb4\xb6\xba\x62\x92\x42\xcf\xf7\x79\x42\x90\x3f\xda\x2c\xd4\x5e\x59\x3f\x6e\x7d\x92\xe4\x9f\xb4\x65\xfe\x56\xc3\x58\x5b\x27\xfa\xdf\xe4\x2e\x64\x09\xda\x18\x83\x95\x70\x1f\x07\xca\x59\x4e\x1a\x9e\xe9\xa5\xeb\x8f\xe0\x57\xdd\xea\x53\xbc\xed\x23\xd1\xd4\x60\x9e\x66\x87\x16\xc7\x46\xdf\x90\xbd\xf3\x51\x5a\xda\xbe\x9a\x63\x30\x1c\x7e\xaf\x7c\x1e\xf2\x52\x96\x40\xbf\xc2\xa8\x32\xf3\x11\x52\x78\x32\x52\xec\xa5\x8b\xf1\xf7\xd1\x0d\x50\xf5\xec\x46\x05\xe3\xa0\x4b\x9b\x56\xd7\x50\xe3\x16\xc2\x80\x67\x39\xb6\xe0\xe5\x23\xb9\x0e\x9e\x37\xaa\x77\xad\x7c\x4b\x24\xe2\xf8\x38\x1c\x13\x0a\x68\x25\x8c\xb6\x47\x3f\x0e\x6a\x94\x62\x81\x96\x61\x2a\x22\x53\x85\x5c\x43\x36\x05\x96\xc3\xc0\xc1\x22\x2c\x36\x65\x9d\xbb\xf6\x96\x6c\xba\x43\x62\x15\x68\x51\x67\x6d\x85\x29\x5e\x55\x42\xe6\x06\x7d\x2c\xf6\xdf\x64\xde\x74\x57\x0a\x21\x94\xdc\x70\x05\xb7\xde\xa6\x68\x04\x0c\xb2\x16\xdc\x46\x53\xff\x2c\x43\x81\xd3\x72\x3a\x85\xb8\x21\x58\x8e\x4c\xad\x60\x41\x4a\x1c\x4d\x0a\x96\x4c\x1e\x8d\x6b\xdf\xc9\x0c\x39\xdb\x54\x1d\x6a\xab\x33\x14\x47\xf1\xb1\xf2\x67\x55\xc7\x75\x5d\xf6\xc9\xb8\xec\xe6\x66\xf3\x7d\x4d\x2f\xf3\x7f\x04\xc3\x8b\x73\xf9\x44\x2c\xa5\x23\x56\xa3\x28\x44\xa9\xcb\x03\x77\xe6\x46\xb9\x4c\x26\xa9\x72\x1d\xc9\xcc\x18\xd6\x87\xa1\x3d\xa5\x32\xb5\xda\x54\x4c\xc0\x57\x12\xd8\x8d\x39\x75\xbb\xd2\x55\x7d\x6e\xfe\xc3\xe8\xb2\xdb\x3a\x82\x0e\xc3\x0f\xdd\x91\xe8\x5b\x4d\x0e\x9b\x12\xb1\xb9\x07\xd0\x65\x11\x52\x3f\x9c\xc8\xa0\x92\x78\x12\xa2\x7a\xf5\x9d\x26\x75\x7a\xa8\xcb\xf8\x19\x1b\xd5\x09\x10\x4c\xea\xee\xae\x9b\x0b\xda\x26\x7e\xce\xb3\x67\x10\x8a\xf1\xa3\xd1\xe5\xb3\x24\xa2\xa8\x74\xd1\x44\x11\xfa\xfa\x83\x0f\x83\xc4\x9c\x9c\x78\x31\xf7\xa5\x46\x87\xc0\x6e\xe9\xb4\x4b\x38\x6d\x7d\x45\x38\xdb\xe2\x1a\x3a\x91\xb1\xa5\xdb\x49\xf9\x72\x69\xbf\xc9\x11\xe2\xa4\xd0\x93\x38\x8d\xc3\xf0\x92\x2d\x21\x38\x14\x5c\x94\x1c\x1f\x6d\xa1\x88\x62\x5c\x7f\x2b\xda\xcd\x61\xa2\x5f\x56\x7a\x99\x52\xaf\x5d\xb4\x0d\x51\xef\xe1\xd6\xbe\x44\x9a\x1a\xf8\xec\x08\xf1\x5a\x6d\x24\x46\xfb\xc4\x7e\xd4\x88\xe6\xbe\xcb\x11\x05\xaa\x26\x6f\xb6\x58\xe8\x72\xa9\x90\x85\xb1\x0c\xb1\x61\xee\xd1\xe0\x46\x61\xcf\x0e\x58\xb8\xed\xc6\x71\x43\xec\xae\x13\xd6\xa0\xf9\x78\x88\xb8\xe9\x7a\x3a\x59\x8b\x7e\xf4\x4d\x80\xf2\xed\x3b\xc3\x47\xc6\xe1\x2b\x03\x8a\x37\x35\x58\x7b\xce\x9a\x91\xe9\xb2\x2b\x50\xb1\x5d\xb9\x77\x4f\x05\xa3\x9d\xfa\xd5\x15\xa8\xc5\xab\xa9\x46\x55\x15\x98\xc3\x73\xc3\x7c\xa5\xd3\x4b\xb8\xf8\xf0\x91\x53\x8c\xab\xb1\x7e\xac\x16\x14\x19\x84\xf3\xdb\xb8\x07\xd3\x95\x5a\x8f\x0a\x69\xea\x97\xe4\x4c\x64\x80\xf6\xb0\xb7\x1c\xe8\x68\xb0\xc1\x91\xf6\x21\x78\x28\xdb\xf5\x3b\xda\x15\x43\x22\x27\xe3\xb6\x2c\x26\x5e\x10\x0d\x3a\xa5\xe7\x4b\xb0\x0a\xf6\x8a\xa2\xab\xd6\x16\x06\x82\x82\x5e\x23\x21\x79\xd6\x05\x25\x90\x4d\x6c\xd4\x0a\xea\x48\x26\xbf\x9b\x4b\x87\xef\x74\xf6\x99\x33\xaf\x44\x8e\x62\x41\x7e\x73\xee\x47\x9b\x37\x43\x2f\xe3\xb4\x5c\x1d\x41\x77\xb2\xfc\x64\xe0\xfe\xb5\xce\x33\x10\xc9\xe2\x85\x06\xdd\x24\x49\xd4\x48\x95\x92\x28\x74\x2f\x7c\x56\x14\xb7\x27\xde\xbf\xe7\xb7\xce\x80\x3b\x70\xb6\xd6\xad\x72\x74\x7d\x81\xe7\x08\x31\x2b\xd8\x4f\x39\x62\x1e\xdb\x6d\xce\x25\xc6\x39\xb6\x97\x54\xaf\x14\xd6\x3a\xff\x17\x29\xa4\xfe\x86\x57\xba\x92\xa5\x7d\x95\xfb\xc2\xa4\x6e\xba\xdd\x1f\x8d\x41\xad\xcd\x8a\xa5\xff\x21\xaf\xe5\x9b\x69\x95\xaf\xa0\xce\x6d\x39\x67\xdb\x68\xaa\x8b\x42\x4d\xed\xd1\x9d\x35\x98\x5a\x2f\x26\x0d\x45\xc2\x9a\x5a\xad\xc8\x0d\xe1\x7a\x66\xe4\x25\x5a\x4a\x54\x95\x63\x32\x73\xcf\xb2\x35\x8f\x68\x99\x65\xfd\xd1\x68\x34\xc0\x2e\xfd\x26\x34\x53\x85\xde\x17\xff\xd7\xc1\xdd\xa3\x4a\xb3\xf9\x35\xe6\xc2\xb8\x75\x9b\xe4\xe5\x21\x36\x57\x1c\x99\x05\xab\x6a\x55\xea\x32\x9f\xca\x42\x34\x46\x61\x4e\xbe\x69\x59\x9e\x29\xcf\xd3\x97\xc8\x8e\x2b\x80\x91\xa2\xbb\xd6\x4d\xe5\x71\x46\xed\x36\xec\xf7\xd8\xfd\x05\x03\xeb\xa2\x80\x1e\xed\x8c\x65\x7b\xf0\x33\x6a\x78\x46\x18\x7f\xf7\x4c\xfc\xfc\x21\xed\x5a\x2b\xfd\xfd\xad\x16\xe3\x24\x35\xdf\x3f\x23\x78\x89\x35\x57\x1a\x1d\xda\xda\x52\x2c\x3e\xcc\x94\x4d\x13\x05\x34\x3f\x27\xd7\x4b\xd0\x2c\x24\x66\x51\x43\x7f\xe5\xce\x28\x6a\x70\x4e\x9c\x8b\x25\xb8\x68\xec\xef\xe9\x64\xc0\x8d\x71\xaf\x92\x37\xf7\x30\xbe\x9b\xec\x7a\x94\x72\x39\x29\x5a\x36\xed\x4c\xd6\x92\x99\xa4\xe8\xf0\xe6\xf8\x88\x11\x6a\x89\xa5\x6d\x45\xb2\x73\x19\xc2\x58\xc8\x80\xa2\x27\x02\xf2\xbd\x40\x4c\x16\xc0\xf5\x4a\x3d\xc3\x67\xe1\x6f\x7b\xf7\x19\x5a\x52\x30\x4c\x42\xd6\xf2\x19\xfc\xc4\xa0\xc7\x58\x83\xab\x72\x05\xf1\x4f\x7e\xa9\x89\x59\x45\x3d\xa0\xe8\x16\x7c\x65\xee\x53\x2f\xa8\x83\xcf\x3d\x7b\xf9\x5e\x08\xdf\xf5\x1f\x6f\x65\x71\x0b\x16\x69\x7e\x7b\x79\x11\xfc\x1b\x3b\x5a\xbd\xc5\x61\xee\xc1\x93\xa0\x77\x34\x69\xf3\x63\xba\x66\xd5\xa5\xae\xd9\xf1\xc9\x62\x59\x75\x77\x2c\xeb\x3d\x8b\xe2\x7b\x43\x71\xcf\xce\xd4\x85\x33\x47\xdf\x1e\x45\xb4\xfa\x85\xeb\xd0\xe5\x87\xad\x4f\xe0\x51\xf1\x4e\x6c\xd8\xb0\xfc\x3b\xe2\xd2\xbb\x0e\xb9\x38\x38\xdd\xab\xfe\x6e\xcc\xa0\xf8\x6f\x8c\x41\xef\x2c\x69\xba\x95\x3e\xbb\x09\x2d\xa2\xa5\x7f\x22\x9a\xb8\xff\xa1\xbd\x15\xba\xd7\xfa\x0b\xbb\x49\xfe\x1f\x5c\xef\x91\x45\xc9\x8e\x45\x07\x73\x10\xf2\xa3\xa6\x6a\xd5\x2b\xfa\xc7\x5e\xfe\xf3\x30\x71\xa1\x4a\x2b\xf8\x64\xe2\x5a\x55\x06\x6c\xc0\x3b\xf9\x3d\x11\xc6\x77\x55\xb1\x2f\x6d\xa0\xd4\xee\xcf\xdf\x74\xb4\x4d\xcf\x7e\x16\x96\xab\x07\x13\xb6\x4b\xed\x1f\x84\xd3\xee\x81\xe8\x0d\xa3\xab\x7e\xe5\xb6\x8b\x94\xce\x92\xfe\xaf\x21\x51\x5a\x95\xd6\xac\x24\x65\x92\x41\x80\xc2\x52\x95\x35\x55\xcf\xd1\x33\xd7\x6e\x07\x8c\xe0\x2b\x6d\x4c\x3e\x29\xd6\x62\x5a\xe8\x26\x3b\x98\xc8\xe9\x95\x22\x31\xd1\x97\xb6\xc3\x15\x0f\xd5\x3e\x4b\x75\x43\x21\x3f\xfd\xc1\x9e\xa8\x7d\x47\x4d\x32\xff\x35\x30\x4c\x1f\xe3\x0c\x02\x13\x69\x54\x26\x20\x2c\x82\x92\x43\x4a\x2c\x02\x8b\x3d\x32\x66\xd2\x95\x45\xa0\x2e\x44\x15\x5a\x10\xac\xb8\xe5\xd3\x8a\xb0\x42\x75\xd4\xaf\x27\x5d\xba\xd6\x52\x8c\x9e\x63\xcf\xa0\x76\x33\x99\x76\x03\x99\x77\x1d\x1d\x64\x74\x47\xcf\x94\xf8\xd3\x46\xce\x1f\x0a\x05\xde\x5e\x01\xd1\xb8\x5a\xc4\xfe\xd6\xe6\xa0\x2a\x32\xa5\x50\xff\x0a\x87\xae\xf8\xb3\x58\x54\xbf\xbb\x6f\xb0\x00\x7a\xce\x0b\x48\xc4\x9f\x9c\xd8\x80\x70\x1a\x1c\x0f\xbe\x66\xb0\xac\x94\x0c\x4e\x06\xd0\xd9\xa3\x2f\xbc\x70\x00\x97\xde\x5e\xeb\x30\xb6\xb9\xba\x4b\x5a\xf5\x41\x77\xd7\x7b\xe0\x8e\x6c\x1d\xd5\x7a\xa0\xe9\x75\x45\x55\xfa\x0e\x11\x3c\x01\xc2\x95\x13\xda\x50\x9f\xbb\x95\x55\xb1\x94\xab\xc1\x87\x50\x47\x28\x8a\xc6\xe9\xca\xa7\xc0\x61\xef\xf8\xca\x5c\x89\x81\x6b\x23\xf2\x37\x74\x61\x88\x2b\x00\xa7\x28\x02\xab\x7d\x77\xd0\x31\x6f\xc3\x90\x86\xf0\xfc\xa6\x3d\x18\x36\x7e\xd1\xe6\xce\x0b\xed\xb2\xc6\xed\xce\x0b\xef\x7c\x5c\x7f\x54\x3f\x95\xa7\x1d\x77\x91\xc4\xe6\xe6\x0b\x5f\x60\x24\x38\xd4\x7c\xc2\x10\x00\x57\xc3\x8d\xf1\xe7\xdf\x82\x04\x30\xe4\xfc\xce\xf6\x82\xd0\x1b\xb1\x06\x99\xec\xdb\xeb\x40\x47\x5b\x0b\x1f\x60\x8e\xfc\xbd\x83\xd4\x5b\x4e\xcc\x6f\x83\x53\xb6\x15\x54\x26\x03\x4f\xa9\xd5\x72\x97\x47\xd3\xfe\xd7\x65\x29\x37\xab\x2d\x15\x52\x07\xfb\xa3\xd5\x87\x38\x39\xcc\x4e\x94\xb2\xe2\x2a\xca\x8f\xfb\xa0\x96\xca\x3e\x73\xe4\x42\x18\xcc\x36\xec\x5a\x29\x2a\x06\x42\x21\xa8\xb3\xa1\x87\x89\xa2\x88\x38\xc2\x5a\xfc\x85\xea\x6e\x42\xd4\xaf\xef\xe9\xbb\x0b\x65\x60\xcc\xfe\x38\x84\x19\xc8\x5d\xda\x86\xb2\xbd\x70\x66\x12\xa4\x99\xbd\xb0\x66\x52\xb4\xc5\xe1\x45\x94\x08\x5f\x6e\xda\x80\x5d\x54\xe5\xac\x30\x5e\x5a\x9f\x28\x32\x35\xec\x11\x02\x14\x60\x37\x04\x02\x19\x55\x41\x91\x7e\xe5\x13\xdd\x41\xa2\xf0\x91\x40\xd3\xa9\x5a\xd5\x2d\xdb\xce\xaf\xca\xc0\x73\x2f\x32\xaa\x8e\x12\xf0\x78\x1f\x07\x6c\xba\xa7\xe3\x5a\xf6\xf6\x01\x8a\xd8\x05\xc6\xe6\xca\x7f\xdd\x09\x7d\x88\x2a\xd7\xc5\xc0\x55\x23\xce\xb1\xac\x54\xd4\x6d\x00\xc2\x52\x57\x19\xb8\x33\x59\x84\x04\x6f\x72\xb5\x91\x3a\xcc\x86\x1d\xc5\x8a\xf8\xb6\x79\xbd\x9e\xfc\xe8\xdb\xce\xe9\xc9\x8f\xe0\x3c\x08\x25\xbf\x53\x52\x32\xaa\xee\xeb\xc9\x8f\xc9\x60\x2d\x6a\xf2\xbb\x8e\xa8\x7e\x33\x55\x75\x46\xf0\x5d\xa9\xf5\x21\x3d\x89\xa1\x62\xc9\x00\xbf\xaf\xb5\x5b\x6b\x13\xb7\x50\x4a\x17\xa6\x83\x19\xec\xb1\x82\xae\x20\x0c\x56\xcd\x8f\xf3\x6e\xf7\x3b\x6a\x20\x8a\x0f\x52\x93\x7f\xfb\xe5\xa2\xba\xa9\xbf\x72\xc5\xdc\x68\xae\x46\xdf\xdf\x7e\xc5\x42\x34\x5b\x6b\x83\xee\x5a\x33\x7c\xb4\x03\xb6\x6b\xd9\xfc\xde\x83\x93\x6e\xeb\xea\x6d\x3a\xf6\x7e\x5f\xbe\x6d\xcb\xd7\x71\xfa\xee\xbf\x80\x29\xf0\xfe\x46\x9c\x77\xf0\x21\xff\x22\x86\x86\x9b\xbc\xcc\xf4\xcd\x08\x3e\xe9\xcd\xc7\x5b\x1b\x20\x7d\x22\x36\x38\xfc\x0a\x6b\xc3\x2b\xa0\x90\x56\xe4\x59\xb7\x29\xa1\x6d\x7d\xe8\xf8\x16\x0b\x46\x97\x65\x96\xbd\xb8\x56\x65\xed\x6d\x0c\x3d\x7a\xb4\x37\x74\x65\x7e\xdf\x38\x32\xf9\x3b\x9a\x1b\xe0\x9b\xbb\xc2\x39\x22\x6b\x03\xb3\x2e\x78\xc3\xc2\x79\xa5\xe4\x6e\x93\xc2\xe1\xa1\xf8\x8f\x37\x68\xcd\x36\xad\xf2\x4b\xa1\x75\x1b\x10\x1b\xd4\xb0\xb1\x30\xcb\x55\xbd\xa6\x26\x0d\x23\xf1\x46\x0b\x4a\xee\xc2\xe1\x74\x59\xac\xa9\xee\x21\x19\x83\x7d\xe9\xa6\xba\x6a\xea\xc5\x7a\x14\xea\xa1\x63\x32\x3e\x1b\x6e\x18\x0a\x94\x53\xfc\x69\x99\x61\xc5\x5f\x88\x0a\x2b\x75\x0d\x5d\x34\xec\xe8\x3e\x5b\xdf\xaa\xdc\xce\xf3\xaf\x46\x3e\x62\xfb\x8f\xbc\xf3\x5c\xb8\x3e\x10\xcf\x18\xd4\x67\xa1\x20\x41\x18\xc2\x07\x2d\x24\x43\x84\x50\xf4\x67\x0c\xca\x0d\xa1\x83\x78\x76\xa1\x46\x24\x9e\xa1\x01\xc6\xbd\xed\x59\x98\x2b\x39\x14\x69\x8c\x67\x7e\x02\x5b\xab\xa7\xfc\x32\x5b\x8f\xfe\x67\xb3\xf2\xa4\x34\xff\x4f\x6f\xe4\x49\x3f\xe8\x77\x1b\xcf\x1e\x36\x9e\x14\x69\xbf\x9b\x78\x7e\x2b\x13\x4f\x8a\xd9\xfd\x2c\x3c\xbc\x11\x57\xcb\x6e\x01\xc9\x1f\x57\x6a\xcd\xda\x8f\xa1\x3b\xf5\xda\xfb\x50\x11\x15\xbe\x61\x69\x5d\xad\x59\xd8\x2c\x0e\xcb\xb8\x6d\x68\xfd\x22\x84\xa5\xb0\x7a\xba\x10\xee\x98\xa3\xe0\x3e\x4c\xc0\x98\x4a\x2b\x8e\xe2\x79\xc3\xe4\x4a\x48\xac\x73\x3e\xc9\x5a\x34\x65\x38\x33\x58\x54\x33\x23\x00\xbf\x7b\xe1\x70\xc7\x40\x56\x9c\x44\x8b\x1c\xfe\x15\xec\x57\x7b\xd0\xc3\x4e\xeb\xd5\xc6\x90\xff\x1c\x83\x39\x5d\x74\xbd\x38\x10\x63\x7b\x80\x7d\x8e\x07\xd9\xc1\x01\xaf\x87\x60\x77\x04\x42\xfb\x10\xfb\x7d\x29\x2d\xf1\xdc\x6f\x24\xb5\x98\xd8\x20\xf0\x9d\x8e\xe7\x0d\x04\xd7\x4d\x72\xbf\x92\xe8\xe2\x37\x5f\xc7\xf1\x89\x1d\xc1\x8d\x80\xc0\x76\x61\xd0\x7d\x69\xb7\xba\x6e\x13\xee\xef\x06\xc4\x7f\x4a\xa3\x52\xba\x3f\x3f\xda\x7e\xd8\xb2\x2c\xb9\x4d\x34\x4c\x5b\x13\xe2\x2e\xd8\x7c\x66\xee\x7b\x62\xfe\x6e\x5c\xfc\xfb\xd1\xc1\x3e\xb6\xc5\x34\xc0\x5f\x4f\x7e\x8c\x34\x86\xbd\x88\xc3\x99\x9d\x07\xed\x96\x6c\xbf\x84\x46\x7e\x37\x5f\xfe\x0d\x68\xe2\x57\x5b\x2f\xdb\x92\xdc\xaf\x5c\xdf\xdf\xed\x9c\x7f\xdb\x75\x8e\x0b\xb8\x56\x9d\x0b\xdd\x59\x8a\xb5\x5a\x6f\x34\x20\x74\xd1\x84\xac\xd6\x17\xf9\xe5\xaf\xdb\xfa\xfb\x19\x50\x97\x6a\xa9\xab\xf5\xbf\x88\x05\xf5\x65\x79\x80\xdf\x13\xac\x2a\xbf\x24\x4e\x0b\xe0\xed\x78\xbf\xc8\x72\xfa\x15\xce\xe0\x17\x9b\x4e\x37\x35\x1a\xfb\x87\x34\x1f\xe1\xc7\xfe\x2b\xd9\x8f\x5a\x5f\xf4\xbb\x01\x69\x0f\x03\x52\x0b\x6b\x7b\x58\x90\x2c\xc2\x94\x37\xe4\xa6\x52\x53\x6c\x4a\x27\x86\xa9\x9c\x4a\xf7\x73\x30\xf3\x46\x80\x70\x7f\xc8\x6c\xbd\x2e\xf1\xee\x83\xe7\xa5\x5d\xfb\x2d\x66\xa7\xc9\xc6\xfd\xc5\xf6\xe1\x4e\x0b\x71\x94\x00\xc7\xbc\x1b\x43\x97\x1d\xf8\xbb\xf9\x6c\x1b\x5d\xfd\x4a\xfb\x19\x35\xb4\xff\xdd\x6e\xf6\xcf\x66\x37\xdb\x44\x08\xff\x78\x86\x33\x22\xb1\xdf\x0d\x66\xbf\x1b\xcc\xfe\x5f\x30\x94\xb4\x36\xe6\x2f\x8b\xb8\x0b\xb5\xbf\xba\x37\x53\xfb\xaa\xdb\x21\xa9\x41\xcd\xd7\x13\x0b\xb2\x45\x97\xd8\xd0\x2e\x21\xf6\x0c\xa7\xf8\x4f\x20\x0e\xfc\x6e\x19\xfc\x07\x24\xf8\x7d\x4c\x83\x9c\x2c\xb7\x5b\x0a\x3f\x5e\xd2\x75\x16\xc3\x0f\xed\xaa\x71\x9b\x36\x8c\x37\x32\x7e\xd6\xc1\xb7\xff\x57\xc8\xfe\x37\xb3\x84\xfd\x6e\xe9\xfc\x4d\x69\xfc\xa3\x4c\x9d\xbc\xa3\x41\xb7\xe0\xfd\xbb\x99\xf3\x1f\x7b\x91\x7f\x63\x3b\x67\x27\x41\xa0\x8d\xf3\xf2\x6f\x68\xe3\xac\x95\xa9\xdf\x51\x0d\xb3\x7f\x11\x0b\xe7\xff\xb5\x77\xed\x4b\xae\x73\x75\x23\x58\x51\x98\xa6\xcc\x6b\x61\x3f\xd8\x8a\xaf\xb3\x4a\x2e\xd5\x8d\xae\xae\x60\x91\x78\x51\x49\x59\x7a\x29\x56\xf2\xeb\xf6\xc9\xb8\x4b\x95\x7d\x91\xeb\x2a\x8a\x05\xb9\x2d\xed\xbc\x55\xa6\xfe\x8a\x75\x35\xad\x54\x01\xa4\x06\x76\x56\x68\x82\x77\x8e\x65\x26\x97\x7a\x49\xfd\xb0\xf2\xba\x67\xa0\xba\x62\xa8\x53\x03\x25\x32\x4d\x5e\xce\x0b\x85\xef\x41\x52\x06\xc8\x4a\x49\xa3\x4b\x39\x29\xd6\xc2\x2c\x25\x76\xa5\xea\x9f\xfd\xff\xc7\x57\xa2\xc8\x4b\x65\x05\x23\xfb\x5e\x1c\x54\x14\xba\x16\x4a\x9a\x1c\x37\x88\x6b\xb0\xac\x4b\x1a\x16\x4a\xdd\x40\xc5\x18\xfb\x7d\x76\xa4\x85\xac\x4a\x65\x0c\x56\xb9\xcf\x41\xd8\x60\x0f\x1a\x75\xad\xca\xa8\xaa\xb9\x2e\x0a\x7d\x63\x51\x4a\x1f\x88\x75\xe2\x29\xb7\x9e\xb5\xea\x4b\x71\x73\x80\x75\x16\xb4\xae\xc9\x04\x6d\x27\xad\xca\xba\x5a\xaf\x74\x5e\xe2\xb6\x87\x92\x6e\xa0\x6d\x28\xab\x99\x35\x68\x4c\x6e\x0f\x36\x7a\xa5\xe7\xe2\x40\xbc\xd2\xf3\xb9\x85\xb6\x94\x98\x63\x76\x7e\x07\xec\x9b\x26\xaf\x95\x38\x10\xe7\x0e\xdd\x2e\xb1\xdf\x2d\x70\xc7\x33\xf6\x77\x78\x84\x96\xc4\xc2\x6e\x01\xfd\xb6\x29\xc5\x81\xc0\x2b\x48\x19\xea\x56\x4d\x1b\xf7\x26\x09\xbc\x6c\xc7\x2b\xbf\x55\xa6\x29\x5a\x2f\xb5\xfb\xac\x29\xa8\xb8\xa8\xe7\xf9\x16\x89\x54\xc1\x84\xb6\x8a\x27\x76\xb1\xc8\x55\x25\xab\xe9\x62\x8d\x64\x71\xa5\xd4\x4a\x55\xae\x90\x41\xa1\xe7\x1b\xca\xb6\x74\x60\x18\xf9\xbd\x7d\xc4\xb3\xfa\xae\x75\x08\xe3\xc1\x26\x7a\xa5\xe7\xc6\xf5\x30\x67\xbb\x91\x1a\x22\x59\x9e\xa6\x97\x79\x1d\x99\x4c\x39\x99\x24\xf6\xd1\x42\xcf\x99\x81\xdc\xce\xe5\xcc\xcf\x0a\x0b\x7c\x75\xcd\x09\xea\x99\x76\xf7\x72\x77\x94\xe5\xf0\xe7\x5b\xa9\xc3\x0d\xc7\x1a\x37\xe8\x01\xc0\x71\x6f\x59\xfd\x18\x3c\x36\x57\x76\x23\x60\xe3\x76\x3b\x88\x01\x82\x33\xaa\x6e\x56\xfd\xc1\xd0\xe1\x65\x55\x29\xb9\x9c\x14\xaa\x4f\xfb\x15\x40\xa7\xd2\xee\x20\x2a\x52\x15\xa6\x51\x35\xe5\x48\x20\xd3\x71\xcb\x6c\xa8\x57\x3c\x13\xe3\xd3\x0f\xbf\x0f\x4c\x77\x24\xc4\x4b\xcb\x0a\x54\x59\xe7\x95\x2a\xd6\xa2\x59\xb9\xe5\x60\xb3\xbb\x01\x3f\x4f\xdd\xf3\x66\x47\xe8\x98\x81\x3d\xd2\xda\xab\xd2\xea\x98\xee\x88\x3e\xb5\x66\x53\x81\x3e\xb2\xa9\x74\xad\x0e\x3d\x49\x85\x79\xe9\xa1\x2d\x05\x08\xfd\x7a\x49\x63\xf4\x34\x0f\x05\x3c\x5b\x8b\xe6\x25\x05\xcf\xb5\x9f\x53\x9d\xe1\xa5\x5c\xf3\x46\xf1\xc8\xe1\xec\xc9\x09\x1e\xb0\xd5\xaa\xd2\xab\x0a\xda\x0e\xba\x8f\xd9\x85\x04\x5d\xd2\x67\x3c\x77\xc2\x09\x43\x44\x8d\xb7\x06\xa8\xd2\x24\xb1\xf9\x6a\xa6\xa1\x3e\x34\x4c\x7c\xf7\x27\xe5\x06\x68\x61\xc7\x5e\x45\xd6\xf1\x81\x78\x85\xab\x67\x63\x7f\x8d\x88\x5c\x89\x66\x35\xd5\x4b\x28\x13\x4d\x44\xe4\xd8\x5a\x4a\xe8\xd3\x5b\x6c\x66\xa8\xcb\x5a\xdd\x46\xc3\x84\x15\xd9\x85\x24\x0b\xf7\x0d\x11\x3d\xc7\x0f\x4e\x6d\x28\x80\x58\xda\x28\x72\xe5\xa7\xf7\xc4\xd0\x2c\x2f\x73\xb3\x68\xbb\xf9\x7e\x31\x8e\x68\xc0\xec\xef\x87\x23\x6d\xea\xbd\x91\xf4\x05\xc8\x33\x98\xca\x01\x33\x76\x5c\x44\xe8\xa6\x5e\x35\xac\x0e\xf3\x8d\x38\xff\xe6\xa5\xef\xf9\xe1\x9b\xf1\x50\x2b\x11\xc7\x8e\x89\x79\x0b\xa1\x46\xf3\x91\xf8\x5e\x09\xd3\xac\xa0\xa8\x6e\x5e\xce\x34\x71\x2f\xe8\x61\x37\x18\x0a\x05\xf5\xa5\xed\x2f\xf5\x74\x34\x1a\xa1\xf9\xb4\xc8\xaf\xfc\x68\x23\x7a\x88\x00\xb6\x31\x51\x7a\xfd\xdb\xd6\x54\x40\xac\xd7\x8d\xe5\xd7\x45\x61\xcf\xab\x39\xb2\xc6\x4a\x37\xf3\x85\x3f\x64\xde\xb8\x6a\x72\xd0\x8c\x5b\x18\xa9\x97\x0a\xbe\x97\x3e\xcf\xd4\xb2\xcc\x64\x95\xf9\xc1\xcf\xbf\x79\xd9\xbd\x16\xaf\xe0\x48\x89\xb9\x18\x3e\x73\x46\xff\xe5\xc1\x2a\x56\x4f\x39\xc3\xce\x44\xde\x04\x97\x61\x5d\xa8\x5e\xcf\x5f\xc1\x22\x77\xef\xba\x2e\xbe\xa9\xe5\xf4\xea\x1d\x76\xcd\xc4\x14\x93\xe7\x72\x55\x37\x15\x7e\x2e\x5f\x19\x10\x8d\x04\xc8\x46\x60\xa2\x82\x45\x06\xa9\x5a\x02\x69\x41\x1f\x22\x28\x48\x68\x1f\x33\x94\xfe\x82\x25\x08\x8b\xf5\x48\xd8\xc5\x74\xed\x8e\x26\x4a\xb8\x06\x84\xd8\x9a\xd2\x28\x45\x45\x13\x47\xbe\x34\xbe\x2c\x8c\x86\xb2\xc8\xc6\x75\x99\xb6\x43\x01\x56\x6b\x2d\xac\xc8\x68\xdf\xa6\x2a\x23\xfa\x40\x2c\x37\xca\xe3\x1f\x29\x64\x30\x72\xdf\x4a\xdf\xf0\x8e\x0e\x6b\xfa\xd3\xa2\xe2\xa2\x57\xe8\x79\x6f\x28\x7a\x99\x9a\x34\xf0\x8b\xa5\x19\xfb\x5f\x3b\x86\xfd\x2f\x50\x59\xef\xd2\x37\xb1\xea\x17\xea\x5a\x15\x03\x71\xf6\x39\xa9\x4e\x85\xaa\xc5\xd2\xcc\xbf\xc1\x4a\x82\x0e\xc7\x42\x98\x9b\x1c\x5c\x00\x04\xef\x7b\x94\x59\xbc\xd1\xeb\x9e\x45\xd7\xe0\x8d\xf1\x25\x7c\xf9\x33\xef\x00\xe0\xef\x81\x71\x47\xb5\xfe\x6e\xb5\x52\xd5\x73\x69\x54\x7f\x40\x2d\x1b\x43\x31\xe3\x49\xa5\xe4\x55\x54\xa3\xd5\x7e\x7b\x2d\x34\x92\x59\x84\x9c\x0b\x18\xf0\x32\xd8\xa6\xe8\xc2\x06\x38\x71\x26\xfa\xa3\xd1\x48\x56\x73\xc3\x90\xc1\x0a\xa7\x5a\xe2\x0c\xd5\x6e\x03\x69\x3e\x38\x8b\xa9\xf2\x01\xfb\xaa\x07\xc2\x8e\x37\xfa\x51\xe7\x65\xbf\x27\x7a\xf0\x41\x3f\x94\xfe\x83\xec\xb4\x47\x72\xb5\x2a\xd6\xfd\x68\x4a\x43\x78\xcc\x19\xac\x40\x5f\xf5\x5d\x53\xbf\xaf\xe4\xea\x70\x92\x97\xa8\x98\xcf\x2b\xdd\xac\xfc\xf6\x02\x6a\xbb\xe8\xc1\x45\xbb\xd6\xf0\xcb\x73\x5d\x14\x72\x65\x54\xc6\x17\x1d\xee\xb0\xef\x24\x34\xfe\x19\x86\x4b\x11\x04\xc0\x1c\x91\x78\x61\x03\x9c\x45\x64\x21\x27\xaa\x38\xeb\xf5\x22\x4c\xe2\xe8\x78\x2f\xea\xf2\xf9\x91\xe8\x85\x01\x12\x4c\xa6\x7c\x41\x88\xde\xa8\x52\x2b\x25\xeb\xfe\x83\x07\x2d\xfe\xd0\x81\x59\x8e\x80\x17\x65\x96\x7e\xdb\x68\x4e\x37\x3c\xbf\x99\xef\x82\xb4\x78\x60\xdf\xef\x87\x76\xed\xfb\xb6\x4c\xf9\xe0\xa0\x7b\xca\xad\x22\x94\xd0\xc8\x0d\x05\x6f\xf8\x80\xaa\x99\xd6\xba\x62\x16\x23\x68\xda\x8b\xcd\x72\x17\xaa\xca\x6b\xb0\x5c\xdd\x81\x9e\xd1\x1d\x5a\x9c\x3b\x52\xbe\x33\x2a\xee\x1b\x07\x02\x5d\x4b\xcc\x27\x41\x9c\x5a\x76\x81\x60\x1c\x77\xb7\xb7\x63\x61\x89\xc7\x62\x2d\xf2\x32\xaf\xc9\xad\xd5\x3d\x59\x6f\x98\x0a\x03\xfe\xb7\x6e\xc0\x78\x51\x2f\x14\x58\xa7\x98\x94\xe9\x35\x00\x90\xf6\x83\xf4\x2f\x96\xaa\x5e\xe8\xcc\x40\x01\x52\x35\x55\xc6\xc8\x6a\x0d\x30\x32\xe3\x5a\xc1\x1d\xec\x19\x17\xbd\xd0\x2b\xd7\xd7\xb2\x12\x5f\xad\x2d\x7e\x0c\x15\x24\xeb\xc4\x57\xbf\x47\x40\x3d\xbb\x3c\xf4\x2c\x5d\x8a\xcd\xf5\xb0\xab\x42\x18\x0f\xca\xf1\xf7\x9d\x17\xf5\x8d\xaa\x0d\x9d\x80\xf9\x5f\xb1\xe7\xdc\x2d\xfe\x9a\xcf\x44\x5e\x0b\x75\x9b\x9b\xda\xf8\x1e\x71\xad\x26\x4d\xe3\x23\x36\x18\x16\x5e\xf5\x47\xb9\x2b\xa8\xee\x9a\x1c\x4d\x6f\x87\xe2\x67\x3b\xf6\x33\x31\x3e\x82\x3e\x05\xf7\x69\x2b\x6c\x9c\xff\x6a\x97\x94\xc9\x3f\xc5\x4a\x0a\xa0\x87\x8b\xbe\xba\x86\x8e\x6e\x53\xbb\x08\xb3\xa6\x10\xba\x54\x66\x00\xda\x82\xc9\x33\x75\xa0\x66\x33\x10\x48\x2c\xa1\x15\xb9\xa9\x87\xc2\x68\x36\x52\xa5\x88\xe2\xf2\xda\xc9\xf5\x10\x82\xc4\x8d\x05\x4e\x6f\xc5\x7a\xfc\x10\xdd\x86\x97\x37\x7a\x0e\xec\x97\x07\x4b\xe1\x7d\xce\x6e\x0a\xac\x52\x2f\xce\x44\xee\xc7\xf9\xd0\x42\xcf\xe1\xa1\xf8\x93\x34\xf9\x54\xa4\xc6\x2c\x5f\x61\x98\xe1\x50\x66\x99\xfd\xa5\xdf\x5b\xe9\xd5\x01\x9a\x29\x7b\xc3\x1d\x48\x64\xb3\x19\xad\xf4\xaa\xcf\x48\x4b\x88\xd0\x46\x30\x37\x56\x7a\x57\x15\x6e\x1d\x99\x17\xd4\x99\xce\x4e\x05\x0e\x5b\xd8\x89\xa6\xd6\x2b\x48\xe0\x1d\x85\x11\xc8\xe4\x81\x4f\xbf\xf8\xcf\x7e\x78\x1d\xce\x70\xc8\x48\xf1\x00\x1d\xed\xf1\xfb\xcf\x49\x45\xb0\xf2\x69\x5e\x66\xf9\x94\x56\x69\x21\x8d\xd3\xd5\x27\x6b\x90\x66\xbc\xda\x8d\x9b\xb2\x3d\x09\x0b\xde\x1f\x04\x74\x0f\x22\x44\xbf\x91\xd0\xfe\xb0\x65\x37\xdc\x8a\x6a\x80\x3e\xf8\x28\x84\x5b\x42\x31\xaa\x98\x11\x2f\x8f\x3f\x18\x12\x88\x9d\x51\x3e\x8d\xb1\x74\x40\x5d\x78\xb5\x23\xc6\x78\x85\x2b\x11\x5e\xdb\x8f\x27\x18\x89\x68\x8f\xf0\xff\xbd\xcc\x6b\x31\x3e\x3a\x5a\x9a\xd0\x6b\xd3\x2e\xbd\xac\x2a\xb9\x16\x14\x5c\xe2\xb9\xa9\xbc\x0a\xc6\x63\x75\x0b\x18\x65\xeb\xd0\x11\x36\x31\xb4\x63\x27\xab\xbe\x93\x24\x1d\x19\xc0\x89\x13\xd4\xc8\x52\xa9\xcc\x08\x59\x62\x5c\xeb\xb1\x9f\x33\x6b\xa9\x9f\xd0\x35\x99\x51\x7c\x53\xc7\x4a\x81\xbe\x64\xd1\x72\x68\xc9\x9c\xf2\xef\xcb\x21\x19\x53\x59\xd7\xd4\x5a\x47\xc3\xa1\xd7\x23\x5f\x2a\x68\x40\xd5\xa6\xbd\x4a\xfd\xd4\x28\x03\x9f\xdf\x3f\xa6\x2f\x6e\x51\x61\x5b\xcf\x72\x3e\x3c\x38\xfd\x5e\x77\x95\x5c\x0d\x87\x63\xb7\x4e\x84\x16\x53\x5e\x56\xd1\x0d\x45\x7e\x0e\x77\x22\xda\xf3\x11\xec\x1d\xf4\xa4\x27\x5c\xb7\x22\xec\x9e\x95\x21\xd8\x9f\xdc\x25\xeb\x27\x7a\x16\x26\x4d\x05\x6c\xdd\xe9\xd0\xac\xfa\x60\x27\x22\xb9\xda\xbe\x78\xd3\x73\x74\x97\xf6\x1b\x55\x58\x6d\x8b\x12\x74\xdf\xc3\x67\xb9\xb1\x3a\xd2\xd6\x67\x18\x8c\x7f\x6e\xae\xea\xad\xcf\xd0\xfd\x14\x9e\x5a\xb4\x6c\x7d\xc6\xc2\xf8\xe7\x6a\xba\x10\xc2\xa4\xfd\xe5\xaf\xe4\xea\x9d\x8f\xec\x80\xab\xfe\x6c\x0c\xdd\x89\xf1\xb0\xea\x77\xbf\xd0\xc3\x0f\xfc\x10\x5c\x04\xda\x30\x4f\x58\xa3\xee\x01\x9d\xc8\xa2\x0c\x85\x32\xd7\xba\x8a\x9a\x4f\xd9\x0b\x91\xb4\x08\x08\xd1\xb3\x0d\xe6\xfb\x30\xde\xd0\x99\xbc\xc9\x0b\xb8\x50\x6b\x71\xa3\x98\x0f\x62\x33\x49\xb3\x59\xb9\x8a\x9f\x51\x99\x7b\xd8\x17\xd0\x0a\x60\xab\xf4\xf9\x36\x1c\x18\xb8\xc1\x57\x39\x5a\x7f\xad\x1c\xc6\x5e\xe1\x9c\xa0\x6b\xec\x49\x00\xf8\xdf\x3a\xbd\x40\xb2\x91\x31\xf1\x35\xd6\x90\x57\xa6\xfe\x92\x2e\x87\x7a\x1b\xee\xbe\x8f\x0f\x76\xf4\xc0\x9b\x83\xf5\xbe\x68\xa0\xbe\x7d\x4d\x5b\x1f\x0b\xc9\xf7\xc4\x03\xe1\x1e\xf7\x11\x42\x35\xbe\x7f\x93\xe5\x96\xcc\xb6\x1b\x66\xe5\x75\x0f\x37\x89\x0b\x07\x78\x49\x9b\x3f\x82\x00\x6a\x46\xf2\xb0\x7f\xa6\x41\xdd\x76\x35\xa1\xac\x34\x6e\xba\xcc\xcb\x55\x9b\xd0\x17\xef\xe0\x7f\x5e\x14\x3a\x6b\x5a\xa1\xe7\xfd\xde\x17\xfc\xeb\xc3\x1b\x47\xb3\xa6\x28\xda\xcd\x7b\xfe\x0c\x11\x83\x9d\xde\x2c\xd7\xc6\xd0\x9e\x4f\x76\xf6\xbf\x19\x35\x77\x9d\x3d\x1e\xa7\xe9\xd1\x93\x29\x93\x57\x6c\x2d\x43\x25\xee\xae\x49\xbb\xda\xec\x70\x0e\xd2\x53\xa0\x65\xf8\x32\x2d\xa4\x80\xdc\x48\x13\xba\x39\x08\xf4\x22\x6f\x23\x95\xc0\xb4\x5b\x64\x12\x79\x30\x36\x50\x73\x1b\xe7\x25\x09\x37\x1d\x0c\x0c\xb5\xb4\x4e\x4b\xf6\xdf\x87\xad\xc4\x27\x4e\x12\xc4\x94\x7e\x28\x6c\xca\x56\xc8\x5c\xe8\x83\x20\xb4\xf7\xca\xa0\x7a\xed\xe8\x6a\x28\x56\x8d\x13\xa8\x55\x68\x1a\x41\xbd\x9f\x49\xab\xaf\x99\xc1\x9c\xab\x8e\xa0\xff\x42\xd0\x0a\xd3\x1f\x8d\xc8\x72\x98\xaa\x55\x90\x83\xd6\x78\x87\x35\x48\xc9\xcb\x5a\x95\x19\xa2\x69\xa2\x7c\xdb\x77\xef\xe0\xc6\x39\xf6\x8c\xd7\xc5\x09\xbf\x28\x89\x21\x0d\x85\xd6\xd6\xc6\x0b\xa5\x91\xa7\x2c\x9f\x2e\x40\x29\x9c\x28\xa7\xdf\x67\xb0\x02\x60\x92\x76\x51\x2e\xb1\x1b\x60\x24\xc4\x97\xba\xf2\xe2\x2c\x73\x8b\x7f\xb5\x4e\x4e\xdc\x1d\xda\x77\xa2\x1e\x9b\x5d\xfa\x31\xc9\xa8\x89\x57\x02\xdb\x3f\xf7\xec\x63\xbd\xb0\x36\x35\x52\x92\xd3\xa5\x9c\xaf\x00\x03\x6f\xdc\x72\x79\x25\x9e\x54\x7e\xde\x81\x3f\x79\x76\x0e\xdc\xa7\x43\xfb\xdf\xe4\x0a\xd8\xd7\x85\xd2\x7a\xd0\x53\x48\x70\xc5\x52\x60\x86\x25\x40\xcb\x70\x0e\x79\x5f\x67\x8a\xd3\xd4\x25\xc7\x6a\x17\x11\x83\xd7\xd5\x7d\xb3\x55\x27\x54\x46\xe5\xa5\x08\x37\x48\x61\x33\x1e\xdb\x84\x5d\x1e\x0c\xef\x31\xe0\x3a\xa8\x24\x44\xb1\x65\x8f\x46\xe4\xd0\xd5\x32\xda\x2e\xbb\xfb\xea\x34\xa9\xda\x92\x7c\x7c\x8f\xec\xa0\x57\x60\xec\x84\xfb\x96\xa8\xfe\x28\xa6\xb7\xf6\xda\x33\x0f\x7d\x71\x75\xd9\x6e\x23\x4d\xac\x06\x3c\x06\xb4\x5f\xa6\xe8\x9b\x23\x3c\x36\xab\x0e\x35\xc2\x05\x88\xb8\xe5\x4f\xea\x8e\x39\x0d\x2f\x30\x38\x29\x4a\x7d\xa0\x57\xd8\xcb\x36\xd9\xb1\x76\x30\xcb\xf6\xf3\x4a\x19\x61\xf4\x52\x89\xab\xbc\xcc\xec\x20\x70\xfb\xe0\x06\xbc\x3e\x76\xe3\xa0\x31\x00\xa2\x56\x2c\xdb\x29\x24\x76\x92\xc8\xb4\xc8\x3d\xb7\x00\x7f\x38\x6c\x75\x70\x80\xe8\x0a\x1c\x44\xb5\x72\xcb\xd4\xc9\xcd\x40\x51\x44\x30\x5a\x7c\x3b\x94\x04\x63\x51\x4e\xce\x14\xf0\xd9\x00\x7b\x77\x3d\xf2\x00\x1b\xf0\x45\xb2\x5c\x33\xef\x1c\x33\x80\xa0\x63\x1e\xb6\x57\x78\xaf\xef\x47\x83\x64\x96\xe5\x66\x2a\x2b\xcb\xd8\xc0\x30\x08\x47\x80\x2e\x03\x19\x12\xd7\xb7\x34\xe0\xf6\x69\xa5\x96\x44\xfe\x51\xe4\xd2\x79\x89\xd6\x2c\x81\xd6\x2c\x63\x55\x4d\xf8\xdb\x2d\x48\xc7\xc7\xa3\xe5\x64\xa2\x44\x9e\xa9\xe5\x4a\xd7\xaa\xc4\xb3\x9a\xb1\xb4\xa1\xdd\x04\x6b\xdd\xf4\x2a\x25\x64\x96\xd9\xd7\x7e\xf1\xf5\x57\xa2\xd4\x19\x75\x9f\x12\x99\x9e\x36\x4b\xe8\xb1\xb0\xb4\x1a\xbe\x69\x2a\x40\xd9\x2c\xaf\x30\xee\x08\x85\x6d\xd4\xc6\xd5\xba\x07\xcd\xef\x6a\xdf\x1c\xb9\x06\x9b\x90\x20\x76\x06\x47\xdd\xd0\x45\x11\xd6\x0b\xb5\x14\x95\x04\x8d\xbd\x5e\xc8\x12\x89\xa5\x41\xb7\xd5\x32\xee\x37\x65\xc7\x9c\xea\xa6\xac\x69\xad\xf3\x0a\xd7\x94\xc5\x0a\x92\xfa\xb0\xaa\xf4\x44\x4e\xb0\xa3\x79\xa1\x66\xf6\xfb\x17\x96\xe6\x20\x6e\xcd\x2e\x1f\xc9\x1f\xbc\x4f\x97\x45\x6e\x28\x59\x17\x18\x85\x9c\xe8\xaa\x66\xab\x92\x85\x08\x1c\xce\xd6\x7e\x5b\xaf\xf2\x7e\xe7\xca\xde\x1b\x3d\xd3\x62\x55\xa9\x03\x24\x0f\xd8\xf4\x7f\xc7\x5d\xce\xdf\xbc\xdf\x1e\x07\x89\x80\xf2\x53\x1a\x8a\xc6\xc1\xc6\x62\x52\x4c\x9a\x72\xba\xb0\xc3\x4e\x74\x5e\xa8\x6a\x55\x48\x17\x9f\x73\x58\x2b\x59\x65\xfa\xa6\xa4\x78\xc5\x12\x77\x53\x6e\xbc\xe0\xe0\x96\xdc\xfc\x0d\xd6\xfc\x1f\x39\x8e\x23\xa5\xa6\x9d\x36\xf6\x8f\x22\x2c\x6d\x6a\x5c\x5f\x8b\xff\x03\xbb\x00\xbf\x13\xd7\x3f\x0a\x71\xfd\x1d\x02\x60\x5a\xc4\xf5\x31\x21\x30\xf8\x7a\x51\xa9\x55\xa5\x8c\x3d\x4c\xa1\xbf\x23\x8f\x99\xcc\x63\x15\x65\xd4\x6a\x23\xe9\x8e\x4f\xf0\x07\x54\xb5\x8f\x8e\xdc\x66\x95\xf1\xca\x03\xe0\x82\x1f\x31\xea\x5a\x55\x3e\x84\xdd\x9b\xcd\xe0\xbc\x9e\xac\xc5\x42\x96\x2d\x35\xb9\xf3\x45\x64\xb1\x7d\x0e\xc1\xb1\x6f\x63\xb1\x04\x23\x66\x83\x88\xdb\x92\x63\x47\x3b\xb5\x70\x8c\x88\x0f\xba\x78\xce\x5c\x15\x43\x38\x27\x31\xe6\x97\x34\x38\xbe\xfa\x34\x09\x67\x35\x68\xa7\x06\x74\xd3\xda\x90\x96\x6a\xf0\x21\xb2\x71\x44\xb9\xb0\x2c\x9c\x91\x52\x07\xe2\x80\x4c\x38\x6d\x85\xd7\xf7\xc8\x7b\x23\x05\x45\xcb\x7a\x89\x45\x62\xbc\x81\x1b\x2e\xa1\xc9\xb6\xf2\xdd\xda\x37\x6d\x22\x4d\x0d\x04\x61\x75\x36\x5a\x6f\x40\xf6\x06\x32\x15\xc4\xca\xb6\xac\x61\xec\xc1\x86\xa4\xd3\xfb\x87\x77\xb8\x4d\x1c\x49\xe1\x8c\xd1\x05\x06\x59\xf0\x17\x6c\x58\xd6\x8e\x15\xed\x58\x4a\xfe\x46\x4f\x2c\x67\xb1\x49\x2b\x7a\x1b\x35\x24\xed\x78\xdd\xc7\xbc\xca\xd9\xae\xa2\x4f\x63\xe6\xfc\x07\xa2\x77\xc1\x4d\x6b\xf6\xc2\x65\xcf\x05\x98\xa4\xa9\xd4\x10\xc8\x19\x51\xcd\x88\x7f\x93\x5b\x1c\xe7\x7f\x70\x7f\x47\x36\x8e\x17\x10\xae\xad\xe2\xfd\xc4\x0d\x0d\x53\x5f\x5b\xb9\x6d\x5e\x4b\x68\x71\xc8\xd9\x8a\xec\x8a\x65\xa0\xe0\xd1\x0e\x49\xd5\x7e\x4a\x5e\xef\xcb\x36\xf6\x66\xe9\x9b\x2d\xa7\xf6\x77\x9e\xef\x12\xc7\xf4\xe2\x68\x14\x00\xe7\x73\xb2\xed\x1a\xa0\x4d\xcb\x0a\xff\xab\x55\x41\x76\x2a\x38\x3f\x25\x14\x58\xd8\x6e\xc4\x1f\xc5\x0e\x22\xbf\x42\x14\x6a\x44\xee\x2f\xa0\x87\xe1\x1d\xb1\xed\x7f\x17\xee\x90\xa0\x67\x28\xf6\x76\x34\xbd\xa5\x0c\x3e\x9f\x17\x7e\xcb\x9b\x2d\xaa\x5b\xbf\x5a\x1d\x06\x3b\x44\x2b\x5c\x72\xf1\xbd\x2e\xf0\x87\x95\xae\x0e\x0e\xd1\x2a\x2f\xeb\xa2\xec\xf7\x80\x61\x54\x32\x07\x0e\xc5\x6a\x59\xa3\xd5\x56\xdd\xf2\x56\xd7\xea\x76\x64\x6a\x9f\x38\x94\x5e\xe5\xb3\x83\x74\xad\xb8\x6f\x75\xf4\x5a\xf7\x0c\x05\x71\xfd\x50\xf6\x06\x83\x2d\x0d\xab\x3b\x9f\x1d\x24\x99\xed\xd1\xf7\x39\x5f\xa8\xfd\xbc\x77\x6e\x71\xbe\x3c\x7f\xf9\xea\xc5\x17\x43\x0c\x85\x6c\x57\x78\xfe\x8e\x84\xa4\xe9\x42\x6b\x7b\xe6\x46\x09\x10\x98\x26\xd3\x94\xa8\xae\x71\x1d\xdd\x14\xf9\x7c\x51\x17\x6b\xb1\xd4\xd0\xc5\xb9\xbc\x56\x65\xae\xca\xba\x7d\xb0\xe2\x89\x6d\xd4\xc6\x78\xa1\x0d\x11\xeb\xfd\xc1\x8e\x4d\xf5\x81\x3b\x29\x3d\x0b\xf7\x09\x3e\x1d\x56\x5c\x77\xe6\xb8\x5d\xbd\x41\x54\x3a\xf7\x87\x52\x94\x34\x00\x09\x39\x6e\x8f\x1a\x77\xd4\x31\x59\x93\x9d\x90\x16\x89\xdb\x8d\x95\xba\x82\x80\x87\xeb\x3c\x6b\x64\xc1\x82\x89\x36\x6f\xfe\x24\x8a\xbf\xd3\x99\x1b\x1d\x01\x0c\x05\x69\xee\x86\xb7\xa2\xb5\x4f\x96\x90\xde\x11\xf9\x80\xf9\xe0\x6f\x16\xba\xaa\xa7\x4d\xed\x58\x49\x32\x7a\xcf\x88\x42\xcf\x93\xa1\x31\x21\x84\x0d\x69\xaf\xb4\x8f\x2d\x77\xd6\xbb\x25\xd8\x2f\x47\x22\xce\xd2\xc0\xd1\x16\xfa\xc6\xeb\x0b\x76\x75\x30\xa8\xcc\x67\x67\x6c\x48\xcb\x20\x4f\x68\x3c\xf7\xe9\xad\x38\xb3\x84\xf1\xfe\xbd\x4b\x7e\x8e\x0f\x76\xf2\x87\x86\x19\xa0\xb5\x44\x95\x60\xcf\x80\x80\x82\x99\xcc\x8b\xa6\x6a\x8d\xec\x2e\x87\xb6\x86\x7b\x8d\x8c\x14\x99\x8c\xb5\x8a\xdc\xa5\x29\x5e\xa1\xd1\x36\x47\xb0\xa9\x65\x55\xab\x0c\x9c\x34\x50\x38\x1f\xad\xfc\x0b\x69\xca\x5e\x8d\x25\x4d\x08\x44\xac\xa1\xd9\x6b\x24\xf4\xd8\x3b\x5f\x48\x88\x3d\xb0\x0f\x6f\x78\x61\x5e\x8a\x65\x5e\x14\xb9\x51\x53\x5d\x66\xc6\x1b\x91\xc2\x2c\x6a\xad\xaf\x78\x18\x07\x9f\x0e\x0e\x16\xe6\xe4\x4b\x38\x75\x4c\x28\x6b\x2a\x54\x3d\x37\xcd\x67\xa9\x21\x45\x6b\x6a\x79\x54\x74\xf4\x46\x08\x88\xe6\x46\xaf\x25\x2c\xe0\x50\xf6\xcd\x42\xbc\x2c\x43\x66\x6b\xa6\x6a\x7b\x80\x83\x32\xe9\x96\x33\x68\xaa\x20\x2b\x14\x0a\xfa\xa1\xfb\x12\x32\x35\x24\xf4\x09\xf0\x45\x84\x44\x98\x88\xe2\xb0\xfc\x11\xc9\x2b\x5d\xdf\xf4\xba\x59\x4e\x50\xb5\x5c\xca\xdb\x7c\xd9\x2c\x03\x89\x89\x78\x27\x85\xe8\xad\x1b\xe7\x45\x10\x25\x3e\x9d\xd3\x5e\xa9\x94\x9c\x2e\x70\x8b\xcc\xc4\x91\x45\x08\x65\x7e\x71\x3b\xa8\x3b\x19\x8c\xa2\x4c\x48\xb2\xa7\x42\xe2\xcb\x50\xa8\x6b\x55\xd2\x8a\xcd\x50\x8b\xb7\x13\x4a\xbe\x6b\x29\x6f\xbf\x0c\x24\x7f\x94\x2c\x53\xd5\x50\x2b\x08\x96\x5d\x25\xd0\x6b\xa4\x64\x55\xac\xc5\x44\x4d\x65\x83\x19\xac\xb2\x14\x4d\xa9\x6e\x57\x38\x15\x4b\x5e\x79\x87\x70\xbe\x92\x65\x3e\x0d\x79\x00\x28\x96\xba\xf8\x85\x95\x2a\x33\x9f\xc2\xe8\x98\x6f\x60\x84\xff\xd9\xa8\x46\xf9\x86\xa3\xec\xc8\x04\xbe\x8f\x8e\x07\xe2\xfe\x21\xad\x0c\x91\xd3\x1f\xa0\x9a\xc4\x23\x99\x82\x05\x1a\xc5\x48\x3b\x12\xb8\x70\x10\x9b\x5b\xf9\x3e\x3b\x23\xcf\x5f\xbd\x7a\xf7\xf6\xc5\x9b\xb7\x6f\x28\xd4\x63\x46\xa7\xe6\x8b\xb2\x59\xf6\x7b\x7f\x90\x45\x01\x16\x13\xf3\x79\x6f\x90\x06\x4d\x70\xc5\x9b\xf3\xd0\x8d\xca\x7f\xfb\xed\x38\xdb\x2e\x87\x2c\xcb\xbd\x08\xc8\x6b\x85\x0c\xec\xfb\x86\x56\x5c\x13\xe6\x0d\x30\xbd\x4e\xaf\xea\x77\x2b\x59\xd7\xaa\x2a\x43\x79\x0a\xba\x40\xc9\x0c\xee\xaf\xf7\xef\x71\x5e\x1e\x75\xae\x13\x07\xbe\xeb\x39\x18\x9d\x81\x1a\x43\x58\x00\xb9\x60\x99\xd2\xc3\x7c\xb3\xd4\x2b\xc0\xbb\x75\x7e\xc4\xc8\xd0\x1f\xc5\x1f\xfc\xb3\x3e\x93\xfc\xc7\x90\x49\xce\x42\x0e\x1c\xd8\xc5\x8f\x14\x0c\x7f\x78\x28\x5e\x6b\x47\x2a\x37\xaa\x57\x59\x91\xc2\x12\xe7\xbd\xbb\x67\x67\xf7\xb8\x0d\xdd\x5e\xb9\x27\x8c\xe6\xa0\x4b\x2b\x3a\x83\xb1\x01\x87\xb2\x4b\x1b\x08\xe5\x0d\x18\x19\x3c\xbb\xe3\x63\x79\xd7\x57\x59\x1b\x67\x5b\xa1\x7e\x2d\x5e\x00\x76\x68\xbc\x7b\x76\x96\xe0\x31\x16\x89\x1d\x1c\x93\x88\xbf\x55\xf3\x17\xb7\x2b\x2e\x12\x43\xbb\x75\x82\x04\x42\x01\xea\xf0\x2a\xed\x60\xc0\xb4\x08\x3b\xb1\xbc\x64\xc5\x9c\x50\x46\x76\x91\x20\x41\x0f\xbe\x7b\x26\x22\x52\xd8\xf0\x38\x97\x98\xc9\x59\xeb\xa8\xd9\xd1\x28\x50\x59\xa0\x8a\x07\x0f\xd2\xfe\xeb\xec\x66\xe2\x7a\x2f\xd0\x67\x53\x82\x68\x07\x52\x31\xee\xf6\x5a\x8b\x39\x62\x1c\x8f\x1d\xe3\x72\x37\xc3\x63\x4e\x17\x87\xb4\x2f\xa0\x10\x7c\xde\xae\x90\x86\xe4\x72\x48\x42\xd7\x37\x9b\xc2\x38\xde\x23\xa2\x3f\xf8\x0d\xf0\x0d\xfd\xb7\x89\xd8\x52\xf0\x37\x01\x42\x5e\xce\xc4\x16\xfe\x32\x64\x1c\x4b\x56\x31\xa3\x72\x8f\x4b\xdf\x8d\x07\x9a\xf9\x78\x8e\x82\xe2\xcf\xad\x9c\x82\x86\x60\x89\x53\xc1\x41\xd1\x3d\x06\x4e\xde\x8d\x01\x2f\x74\x04\x0d\x43\xe2\x7d\xd4\x61\xb3\x8c\xe1\xc0\x05\xa4\xe4\x25\xc5\x9f\x94\xfe\x50\x94\x19\x9e\x07\xd2\x7d\x02\x4c\x09\x4c\x7f\x28\xda\x28\x9f\xce\x1f\x62\x3d\xe1\xe0\x61\xca\xc1\xfe\x1c\xf1\x1b\xcf\x78\x3c\xc7\x6a\x31\xa7\x16\xb7\xd9\x50\x87\x62\x67\x98\x5e\x47\x91\x0a\x3e\xb6\x4b\x73\x61\x9c\x74\x43\x2c\x61\x18\xf3\x22\xbf\xdc\xa1\xbf\xd3\xff\xdc\x57\x45\x95\x2f\xee\xb2\xd7\x47\x41\xa5\x56\x0d\x80\x8c\xb3\xde\x6b\xcd\x57\x56\x65\x34\x63\x08\x4d\xad\xf2\x5a\x55\xb9\x44\xe5\xbb\xf5\x82\x1d\x1b\xef\xdf\xb5\xbe\x52\x19\xa9\x05\xd4\xa2\x4b\x97\x90\x1d\xe6\xb2\xb5\x59\x6a\x72\xce\x04\x37\xb4\x37\x78\xdd\x1f\xd3\x38\x80\xa7\x82\x95\x27\xc4\x4e\xcc\xb5\x68\xca\xa9\x6c\xe6\x8b\x2d\xa6\x99\x98\x2a\x74\xf9\x1d\x3d\xf1\xc2\x8d\xff\xae\x75\x9c\x2d\x95\x31\x72\xae\x86\x50\xef\x61\x08\x25\x22\x2c\xf6\x08\xa9\x74\xd7\x97\x60\xed\xb9\x11\xf7\xb1\x82\xf4\x06\xe2\xec\x4c\x1c\x89\xf7\xef\x69\x55\x5b\xa3\x99\x5a\xd6\x8d\x79\x46\xa2\x4b\x6f\x40\xf5\x5c\x99\xe1\x88\x24\x58\x19\x87\x93\x5b\xee\x46\x17\xac\x7c\xd7\x1f\x90\x55\xaf\xd2\x4b\x21\x43\x69\x5a\x21\xbe\xb7\x27\x93\x1b\xcc\x39\x8b\xe7\x1a\x36\xb5\x95\x9a\x65\x81\x8a\x79\x5e\xa7\xc6\xfd\xd8\x8c\x81\x2f\x08\x27\x9b\xf4\x96\x9b\xbc\xc6\xdc\x49\x2b\x84\x19\x39\xb3\xda\xa1\xf9\xa9\x51\xc5\x94\x62\xb6\x90\x08\xdc\x97\xdf\x09\x56\x21\x51\x57\x78\x2c\x04\x0a\x6e\x4b\xdd\xad\x0e\x68\x6c\x51\xa0\x16\xa2\x5f\x0f\x30\x80\xb6\x9e\x1f\x39\xe1\xf4\x85\x9d\xc6\x57\xf8\xe0\xbb\x41\x6c\x99\x23\xa5\x6e\x29\xd7\x10\xdf\x0e\x29\xb5\xf6\xe3\x50\xbc\x5d\xc8\x32\x2b\xac\xf0\xeb\xfd\x4c\x09\xa6\x9c\x09\x35\xcc\x93\xbe\xc9\xb2\x14\x90\xf6\xcf\x44\x0f\x77\x41\x2f\x14\x0e\x6d\x4f\x15\x89\xc1\x37\x81\x8b\x6f\x7e\xf3\xe2\xf5\x17\x2f\x5f\xff\x19\xf1\xe1\x06\x85\xdc\x6f\x1c\xd3\xef\x74\xcc\x3a\x0e\x78\x09\xd3\xb6\x18\x82\x27\x1f\x88\x5e\x10\xb7\x61\xc3\xb7\xb9\x4e\xc7\x14\xd2\x38\xca\xd6\x4b\xdd\xba\x3c\x10\xbd\x21\xbc\x0d\x4a\xa8\x3c\x10\xbd\x67\xf6\x0f\xd8\x59\x61\xae\xf1\xd8\x31\xb5\x75\x00\xa4\x06\xb4\xc0\x93\x48\xab\x68\x67\xc6\x5b\x56\xe4\x75\x2d\xae\x4f\xc6\x65\x88\xd3\x58\xc2\x7a\xbd\xca\x2d\xb1\xaf\x45\xa5\x0e\xaa\xa6\x34\x22\xaf\x21\x99\x44\x46\xd5\x90\x86\x11\x1b\x2b\x54\xed\xfc\x29\x5f\x7c\xfd\x95\xd5\x56\x27\x79\x91\xff\x15\x8d\x22\x66\xa1\xab\xfa\xa0\x56\xd5\x12\x14\x72\xdd\xd4\x51\xd2\x84\xcb\x86\xca\xd4\xb4\x90\x15\xf3\x27\x31\x33\x4c\x48\xaf\xe0\x72\xc7\x44\xeb\x42\xc9\x12\x73\xc4\xcd\x55\xbe\xa2\xd4\x0f\x08\x03\xa9\x1a\x45\x19\x44\x74\xd1\x1e\xfd\x57\xf9\x6a\x45\x51\x32\xa9\xd3\x0a\x38\x33\xc3\x8d\xc8\x97\x4b\x95\xe5\xb2\x56\x90\x1e\x0d\x28\x22\xdb\x3b\xc8\x08\xce\xb7\x0b\x4c\xc7\x32\x91\x3c\x0e\x17\xdb\x5e\x1c\xa2\x8b\x5b\x27\x45\x22\xda\xbc\x3a\xf9\xcc\x10\x93\x7c\xb7\xf3\x4e\x70\x7f\xe4\x4e\x04\x81\x4d\x0e\x02\x08\xc4\xac\x48\x4b\x95\x73\x55\x61\x55\x1c\x9f\x39\x33\x1a\x8d\x86\xe2\x68\x00\x46\x89\xa5\x5c\x4f\x3c\x07\x5d\xc1\x31\x47\xe6\x13\xbb\xd0\xe0\x3a\xbd\x91\x6b\x96\x99\x59\x57\xf9\x1c\x6c\x9f\xa0\x8c\xd7\x14\xc4\xa3\xdc\x53\xaa\xcc\xdc\x68\xbe\x04\x54\x0d\x59\x3a\x46\x8b\x1b\x05\x7d\x1b\x29\xd7\x9c\xea\x95\xa3\x83\xdd\xa8\xba\x2e\x94\x00\xff\x38\x11\x8c\x6e\x2a\x37\x14\x7e\xe1\xd4\x52\x43\xb3\x82\xf8\xc9\x38\x17\xa8\xc6\x9e\x98\x29\x86\xe3\x72\x91\x43\x20\x1a\x12\xc0\x13\x5e\x96\xda\x77\xfa\xa5\xba\x11\x5f\xc8\x5a\xf5\x07\x03\x71\x90\xd8\xa3\x62\x8e\x34\x8f\x12\x65\xfd\x65\x28\x7e\xc0\x6c\x66\xae\x8a\xae\xe5\x4e\x78\x1e\x0e\x3b\x59\x53\x64\xb2\xe3\x0f\x61\xd0\x91\x7d\x68\xd3\x53\x4b\xf3\x56\xbf\x41\x2b\x18\x31\x19\xf7\x45\x03\xc6\x99\x4c\xb3\x5c\xca\x2a\xff\xab\x22\x0d\x33\x91\x67\x98\x1d\x28\x35\xd7\xb6\x31\x8c\xb8\xdd\xd2\x76\x74\x83\x73\xcc\xc5\xb7\xb1\xa2\x2e\xad\x72\x2d\xbf\xd8\xcd\x85\x21\xba\x96\x11\xfe\xd8\x98\x3a\xf8\x80\x5b\xb5\xd9\x77\x6d\x58\x7c\x53\x57\x51\x97\x6e\x4f\x58\x0b\x5f\x35\xaf\xe7\xe1\x23\x18\xc8\xdc\xeb\x09\x31\xb8\xb7\x42\xe4\x43\x02\x5c\xdf\x6e\xf2\x5f\xb5\x0f\x46\x6f\xaf\x62\xdd\x53\x4b\xe1\x47\xde\x70\x20\x0a\xe6\x6e\xfa\xa3\xf0\xbf\x3e\x13\xea\x76\x10\x65\x80\x93\xb1\xab\x25\xdd\x54\xe9\x29\x4f\x17\xbe\x39\x7f\xf3\xe6\xc5\x17\x83\xae\xc9\x46\x8f\xc0\x4b\xbc\xee\x4d\xb7\xfc\x8e\xfc\x5c\x3c\x3a\x3a\x1a\x74\x09\xfd\x6f\x0a\x7d\xe3\xcc\x4d\xfa\x2a\xc8\x49\xd1\x66\x48\x86\x1b\xc4\x5b\x95\xef\xe0\xce\xaf\x39\xf3\x5f\x83\xe7\x74\x84\x7c\xbf\x57\xc1\x0e\x45\x94\xc1\x30\x46\x07\xbd\xb3\x36\xe1\xee\x8a\x0c\x0d\x9b\x5e\x46\xa8\xe3\x2f\x5b\xb1\x24\x2a\xf6\xaa\xc8\xb3\xd7\x26\x89\xab\xd2\xb2\x55\xda\x25\x4e\x28\xb7\x98\xaa\x3a\x44\x1f\xaa\x62\xd1\x4d\x24\xed\x25\x8b\x73\x06\x3a\xc9\x03\xee\x54\x4d\xf9\x5a\xdd\xd6\x24\x6f\xff\x26\x2c\x23\x6c\x74\x12\xfd\xef\x30\x6b\x77\x46\xa9\x98\x21\x9d\x93\xee\xd0\x99\xcd\xdd\xf9\x8d\x69\x40\x22\x22\x63\xaa\x3d\xa2\xa0\x4e\xdb\xa4\x99\xcf\xd7\x21\xcc\xd3\x39\x77\x5c\x6c\x28\xbd\x01\xd4\x3f\x8c\x2f\xc3\x99\x96\x42\xdd\x5a\x8d\x03\xa5\x90\x52\xc8\xb9\xcc\x4b\xd2\x5e\xca\x38\x3d\x98\xb7\xd9\x40\xbf\x27\x1c\xe1\x50\x7c\x85\xea\xf4\x40\xc0\xb0\x77\x6a\x14\xd2\xd4\x42\x4e\x23\xe9\x1c\x6b\xc1\xc8\x06\xca\xef\xc1\xb9\x8d\x7d\x40\xec\x80\x88\x23\x3a\xb4\x29\xf2\xcd\x1f\xdc\x50\x48\x0b\x0a\x2c\x05\x3b\x2d\x56\x69\xf0\xb1\xb6\x08\x7c\x07\x2a\x03\x5a\x45\xa1\x0a\x68\x75\xce\x00\xd0\xd6\xac\x42\x61\x50\xa3\x48\x25\xf3\x90\xe8\x0d\x12\x84\x1d\x0b\x32\x63\x21\xdf\xbe\x5e\x40\xda\x04\xa5\x63\x3b\x15\xae\x25\xc1\xbe\x2c\x21\x82\x1a\xa3\x93\x2a\x75\xe0\xd6\x32\x68\xde\xe7\xaf\xbe\x3f\xff\xef\x37\x62\xa9\xaf\x95\x81\x5c\x5b\xe7\x49\x75\xb3\x5c\xe5\x45\x4b\xc2\xfc\x5b\x9c\x2d\xad\xb8\xab\x42\xd6\xea\x0d\xee\xed\xb7\x58\x8c\xc8\xfe\x1a\xbb\xa9\x64\x5d\xab\xe5\xaa\x26\xed\x4c\x4d\x75\x95\x45\xde\x64\xf0\x74\xc9\x6a\x73\x22\xd3\xe6\xf3\xeb\x5b\xd5\x75\x82\xb1\xb3\x67\xc8\x66\x18\x57\xd7\x73\x1c\xe4\x95\xac\x83\xc6\xec\x0b\x4d\xfd\x22\x16\xc2\x5e\xe5\x4b\x1e\x51\x4a\x34\xac\x70\xc1\x5e\x05\xca\xa8\x5b\x3f\x74\xfe\xa0\x03\x11\x4a\x5b\x66\xba\x99\x14\xea\x60\x05\x96\x7a\x08\xdf\xc6\xe1\xe8\xf6\x32\x37\x8d\x89\x72\x9c\x2d\xb1\x60\xe1\x27\x6c\x45\x53\x66\xea\xd6\x95\x43\x21\xbe\xea\x2c\x17\x8c\xb5\x42\x23\x1a\x00\xfd\xfc\x4c\x1c\x75\x31\x63\x57\xe5\xdf\x02\x85\x4a\xff\xdb\xcf\x86\xb8\x01\x36\x06\x3f\x88\x12\xc2\x01\x28\x64\xd1\x5e\xf8\xa9\x51\xcd\x86\xa4\xec\xf6\x7a\x73\x06\xdb\x4e\xec\xf2\x4a\x39\x72\xe8\xf7\xef\xc5\xdd\xd4\x8f\x82\xb2\xe6\xa0\xc5\xd3\xdb\x72\x35\x3b\x28\x5b\x1e\xb7\x4f\x3f\xed\x16\x61\x3f\x3f\x6b\x79\xe7\x36\xc9\x30\x5f\xc5\xce\x46\x8a\xd8\x27\xff\xe1\x10\xa3\x5f\x79\x59\xd0\x51\xaf\xe3\x24\xea\x9e\x35\x9d\x48\x87\x87\xe2\x1b\xa5\xae\x9c\xd2\x52\xeb\x15\x0e\x06\xe9\x08\x68\xf0\x71\x35\x8a\xd1\xeb\x5a\x61\x79\x33\xd2\x4c\x90\xc4\x26\xba\xa9\x71\x2c\x64\xa5\x43\xe6\x30\xa1\x4a\xc6\x59\x6e\xea\xa6\x9a\xc0\x4b\xf2\xd2\xef\x20\x12\x78\xed\x57\xe5\x54\x18\xd9\x0e\x43\x7c\x99\x46\xc0\xea\x01\xf8\xc2\xaa\x29\x21\x46\x10\x62\x90\x23\x1f\x4f\xbc\x86\x17\x47\x97\xde\xef\x44\xf2\x46\x87\xab\xf7\x8f\x5d\x26\x0a\x84\x7f\xc6\xa4\x7f\x2f\xd7\xa2\xf9\x15\xee\x5b\xba\xe9\xc7\xe9\x21\x14\x3a\xc0\x62\x14\x07\xb1\xcf\x06\x6e\x24\xb5\x92\xda\x8a\x53\xfb\x56\x3f\x19\x36\x84\x04\xfa\x07\xdc\x47\xba\x1a\x3f\x0c\xba\x9f\x4a\xe3\xa9\xe0\xfd\xa1\x5b\xa0\xa6\xc2\x0e\x49\xe5\x4e\xcc\xd8\x21\x4f\x58\xa9\x6b\x64\x46\xde\xd2\x68\x71\x45\xe7\x69\x08\xde\xe9\xa4\x6d\x6f\xaa\x75\x86\x63\x18\x1e\x59\xe9\x2f\x93\xc0\xc5\x76\x7a\x6f\xab\xba\xb1\xbe\x92\xa0\xdb\x3b\xc9\x78\xc5\x85\x56\xa4\x40\x47\x32\x33\xde\xa4\x74\x66\x0c\xd6\x13\xcc\xe1\xd5\xad\x1b\xb9\x32\x48\xed\xb7\xa4\xab\x45\xfa\xd1\x7e\x0f\xc4\x6f\x24\xf6\x66\x16\xf9\xac\xee\xff\x2a\x3d\xca\x55\x66\xb5\xc4\xe1\xa6\xf2\x2b\xf5\xa9\x0e\xfd\xe3\x6f\xb3\xce\xf1\x6e\xaf\x9a\x72\x23\x2a\x0e\x0f\x05\x87\x72\x56\x31\x84\x83\x6f\x0f\xfe\x0c\x14\x72\xa9\xa1\xd6\x12\x85\xae\x28\x0c\x29\x74\xdd\x99\xeb\x1a\x52\x18\xa0\x12\xca\x52\x49\x2c\x9a\x5d\x81\xe3\xb1\xae\xe0\x30\x77\xe7\x5e\x9d\x96\xe9\xee\xde\x4b\x3b\xd7\xa8\x6a\xca\xdf\x5c\xdd\xed\x38\xb7\xbd\x9f\x8f\x87\x52\x79\x3b\x06\x2b\x31\x15\x99\xe0\x9b\xb2\x65\x72\x35\x50\x8c\x5b\x4c\x65\x09\xc9\x6f\xc6\x34\x14\x50\x85\xc6\x4b\xae\xde\x30\xdb\xaf\x8f\x7e\x66\xb2\x7b\x69\x6a\x25\xb3\x21\x58\x9a\xd0\x8a\xc7\x63\xa4\x31\x79\xd1\x05\x31\xdb\x0f\xf7\x61\x43\xdb\x6d\xc8\x7e\x10\x30\x05\x16\x7a\x4e\x49\x28\xe8\x73\x4e\x52\x50\xa8\xfa\xe6\x5a\x2c\xe4\x6a\x65\x45\x37\x92\xc8\x21\x3e\x53\xcf\x7d\x76\x2c\xe9\x7d\x9b\x23\x09\x47\x42\xfc\x69\xed\xd3\x80\x28\xea\x89\xb2\xac\x5d\x69\x84\x21\x89\xe6\x14\x2c\x73\x9d\xab\x1b\xe5\x2b\xc7\x77\x14\x9e\xd6\x33\x8c\xd6\x9a\x54\xfa\xc6\xa8\xca\xf0\x84\x23\xba\x46\xe9\x9e\xb9\x81\xf0\xab\x6a\xc9\x27\x0b\x6a\x98\x0b\x72\xc1\xfa\xcc\xdf\x2b\xcc\x3f\x47\x8f\x30\x66\x0e\x92\x14\xa0\x51\x79\x41\xf3\xa5\x97\x12\x68\xa9\xed\x41\xba\xc2\xca\x62\x3e\x11\x75\x16\x27\x19\x0e\x05\x26\x76\x16\x4a\x62\xc2\xa3\x9f\x22\xaa\x4b\x33\x30\xe4\x96\x2e\xc8\x13\x23\x2b\x7c\x06\x91\x8f\xff\xcb\xcb\x0d\x45\xa2\x85\xae\xda\x27\x1e\x2f\x27\x7b\x07\x2a\xe3\x51\xca\x17\xac\x3d\xc6\x48\x25\x61\x76\x28\x9a\x7d\x84\xc0\xba\xa1\x09\xa8\xb7\x9f\xf6\xbe\x25\xc1\xc7\x9b\x75\x5a\xf2\xaa\x77\xf7\xf4\xcd\xa0\xb7\xc1\xa2\x49\x8c\xb3\xed\x2e\x65\x06\xe2\xcf\x3a\xc3\x0e\xbd\x15\xf8\xb3\x3d\xec\x18\x5f\xea\x6a\x29\xeb\x38\x1a\x51\x1a\xcb\xc5\xa6\x14\x26\x40\x57\xf7\xc5\x10\xb7\x61\x71\x54\x2d\x0d\xf7\xf8\x4f\x8d\x38\x13\xfd\xa5\x11\x87\x62\x7c\x74\x74\x34\x18\xd5\xfa\xcb\xfc\x56\x65\xfd\x63\x98\xb5\xf7\x6d\x4f\x8d\xc5\x95\xe9\xc5\x75\x76\x68\x0f\xbb\x5e\x88\xce\x48\x04\x46\xe2\xf5\xde\x01\x0a\xce\xa6\xbc\x45\xf1\x48\x14\x82\x9d\x4d\x73\x12\xf8\xae\x96\x39\xec\x2c\x40\xc3\xdc\xb3\x40\x28\xee\xf1\x8b\xfc\xb2\xc3\xb5\xc7\x3a\xb1\xf9\x09\xb6\x55\xa1\xee\x30\x83\xb7\xc1\xd1\xef\xb8\xe4\xb3\xad\x04\xda\x71\xfc\x78\x92\xc5\x6c\x63\xa8\x1c\xe6\x15\x99\xf8\x90\x41\x63\x00\xf1\x56\x67\x8d\x98\xc5\xa1\x76\x1d\x39\x6d\x2e\x3e\x5e\x65\xed\x10\x85\x21\xf0\x1e\x3c\xd7\x79\xc3\x15\x48\xcd\xd6\x25\x6c\x77\x4d\x75\x33\x58\x32\xe6\x79\x88\xbb\xf2\xce\x1d\x4c\x63\x0a\xb9\x58\x39\xf0\x01\xab\xaa\x91\x46\xe5\xdc\x64\x60\x3c\xa3\xce\x1e\xe2\x7e\xc8\x9b\xcc\x32\xe7\x3d\x37\x51\xc0\x20\xf0\xf4\x60\x0c\xa1\xc9\x87\xba\x6a\x94\xb7\x4d\x95\x29\xa8\x3a\x38\xd6\x17\xa4\xd2\x93\xbe\x06\xa8\x17\x0e\x0e\x56\x95\xd6\x33\x71\x53\xd9\x03\x89\x42\xe6\x9d\x05\x0e\xcc\x52\xac\x30\xed\x56\x3b\x11\xed\x00\xcc\x0e\xb0\x62\x80\x3d\x36\x5c\xfc\x7c\xc8\x42\x8b\xd3\x03\x22\xf7\x61\x68\xe4\xb0\x35\x0d\x90\xb2\x00\x61\x7c\xb4\x20\x47\x19\x63\xce\xac\x86\x61\x10\xce\x18\x55\x84\x78\x2f\xff\x26\x17\x10\xb6\xf5\x93\xf0\x7b\x42\x64\x2f\xaa\x3b\xdb\x07\x6c\xb3\x07\xaf\x26\xa4\x35\xf0\x63\xbd\xa0\x9d\x4b\xb0\x0b\x81\x09\xe6\xd2\xa4\x02\xcc\x5d\xa0\xdf\xda\xc1\xd9\x3b\xd0\xb7\xfd\x33\x5b\xc9\x78\x2e\x6e\x73\x43\x76\xc1\x47\x0e\xc9\x22\x36\x37\x44\xb9\xdf\x28\x1f\x29\x0f\xbe\xf5\xa2\xf0\xc5\x48\x9d\x15\x8f\x85\x98\xdf\x28\xd8\xd3\x2c\xb2\xfc\x6f\x11\x5b\xff\x77\x8b\xab\x77\x87\x13\x99\x4e\xa3\x84\xd5\x4e\x72\x70\xae\x14\xfc\x8b\x82\x4b\x9c\xbd\xf1\xbc\x8c\xa3\x76\x92\xaf\x02\x6b\x3a\x14\x9f\x24\xdd\xa2\xd6\x62\xae\x4a\x55\x49\x88\x50\xc0\x21\x3b\xe3\x6e\xfc\xfc\x19\xfb\xfe\x46\x53\x7d\x10\xea\x11\xe8\x32\x13\x69\x8a\xdb\x76\x10\x3b\x5f\xe9\x0b\xc4\x99\xe8\x51\x40\x79\xef\xb3\xdd\x4f\xe1\x99\x28\xec\x53\xf8\xeb\x3e\x0f\xa1\xd3\x09\x1e\xa2\xb0\x2d\x9e\x17\xe9\xb4\x2c\x28\x83\x56\x76\x3b\x70\x45\x1f\xb4\x0e\x5d\x81\xe4\x39\x00\x2e\xae\x4a\xa8\xf8\x51\x6a\x8c\x3a\xd5\x33\x57\xa7\x04\xcd\x9d\x66\x73\x7c\x78\x47\xe0\xd9\x46\x4f\x2c\xc8\x67\x8e\xfb\xe0\x2f\xdd\x21\xe1\x1d\x83\xf2\x36\x0c\x9a\xa2\x99\x37\x95\xc7\xea\xed\x31\x1e\x13\x09\xba\x4d\xe4\x24\x15\xf4\x86\x91\x47\x8e\x3f\x80\xd7\x79\xef\x9a\x37\x76\xdb\x32\xaf\xc1\x56\xfe\xb8\x0f\x61\x75\xca\xe0\xad\xfa\xb2\x7b\x8a\xc6\xf0\x81\x15\x75\x73\x49\x4c\xc4\xc1\xb9\xc9\xb7\xa4\xf8\xf4\x53\x67\x87\xc6\x48\x8e\x77\xb1\x81\x3d\xca\xa5\xcc\xf2\x8c\x4a\xac\x62\xb9\x6e\x4a\x8f\x90\x65\xc6\x6e\x41\x6d\x38\x0a\x6d\xce\x97\xca\x9b\x86\xd1\x06\xd2\x0e\xc3\xda\x95\xb9\x18\xe2\xe3\x12\x96\xe1\xf8\x0f\x72\x02\x93\x70\x09\x16\x76\x45\xc5\x73\xb0\x0d\x94\x9c\xd6\x14\xce\xcc\xc3\x40\xad\x38\x02\x1e\x89\x0d\xda\x2a\xf4\xdd\x58\xe6\x65\x83\x55\x29\x78\x54\x20\x16\x5d\xe7\xda\x6b\x60\x62\x50\x94\xf6\x7e\xa9\xeb\xfb\x42\x36\xb5\x5e\xca\x9a\x22\xbf\x40\x80\xa2\x4c\xa4\xf8\xbb\x72\x5f\x38\x8f\x25\x96\xed\x49\x4b\x88\x09\xce\x11\xa3\x7c\xf9\xba\x62\xbb\x74\x13\xff\x34\x75\x5c\x06\xd4\x57\x09\x98\xb6\xdb\x00\xd9\xf5\x35\xae\x56\xee\x1e\xf3\xd3\x25\x85\x0b\x75\xb8\x47\x22\x1a\xe4\xe7\x50\x4a\xc0\x77\x63\x02\x6e\x05\x70\x76\xd0\x6d\xa8\xe9\xdb\x0b\x7b\x65\x0f\x52\x64\x68\x88\xeb\x15\x4b\xb6\xc6\x58\xb1\xd8\xd3\x7b\x5a\xad\xd8\x3e\xfc\xa7\xa8\xcb\x10\x3c\x45\x96\x22\xb0\xc4\x61\xd7\x6b\xa8\x5a\x2c\x99\x7c\xcd\xa4\x0a\xbe\xab\x80\x6f\xd3\x8b\x32\x2d\x8c\x1e\x85\x4a\x73\xf4\x86\x2d\xb5\x90\x71\x26\x2e\x6a\xcf\xee\x1d\xa8\xc7\x92\x07\xcf\x30\xb4\x9d\xb4\x8f\x61\x3d\x0e\xe9\xc3\xfb\x48\x9f\xc3\x26\xd4\xe8\x26\xf4\x03\x1b\x5f\x09\xab\xd4\xb5\x37\xfb\x78\xc5\x00\x54\x89\x49\x43\x01\x6c\x60\x5a\x73\xb5\xdc\x5d\xf0\x5c\xd0\xab\x78\x82\x3c\x6c\xa9\x38\x82\x16\x02\x91\x59\x29\xe6\x24\x8b\xc2\xd7\x9e\x41\x9d\x4a\x8a\x99\xba\x11\x85\x5c\xab\x0a\x0c\x56\x3a\x0e\xb3\x74\xdd\x54\xe6\xda\xd5\x0f\xe4\x9a\x19\xbe\x0b\x38\x0d\x24\x68\xac\x54\x85\x43\x79\x6d\x42\x96\x42\x99\x3a\x5f\x92\xcd\x68\xa1\x6f\x44\xa1\xcb\x39\xaa\x5f\xbe\x08\x38\x86\xed\x59\xd5\xae\x83\x38\x9c\x3a\x00\xe9\x0d\x4b\xc3\x53\xfe\xb8\xe0\xe7\x8b\x6e\xee\x7b\xae\x30\x0c\x75\x18\x2e\x82\xce\xed\xd8\x3e\xec\x23\x48\x62\x8c\x62\xfa\xfc\x7d\x16\x90\x16\x76\x69\x47\x04\x20\xdd\x8c\x22\xff\x96\x26\x6d\x92\xba\x72\xf5\x73\x98\xa7\x59\x3b\x02\xde\x58\x41\xbb\xe5\xc3\xe7\x06\x4f\x5f\xe3\xbd\x33\x7a\x15\xcb\xc6\xfa\xc6\x79\x74\xcf\x07\x9c\x94\x73\xcb\xd9\x20\x4a\xc5\x8a\xd0\xa1\x74\x69\xad\xa9\xe2\x6c\x4d\xfa\x91\x97\x81\xbc\x52\xbb\xe7\x8a\x44\x0c\x27\x66\xcc\xf6\x5b\x86\x61\x9a\xc9\x12\x75\x9f\xdc\xd1\x39\xbd\x7f\xe0\xa4\x10\xa9\x84\xee\x84\x9c\xd8\x67\xf3\x6d\x53\xb6\x02\xf0\x82\x9d\xae\x1d\xee\x94\x3e\x13\x82\x1e\x9c\x47\x2a\x44\x2c\x79\xab\x8f\xac\xe6\x50\x93\xce\xfb\xa8\xff\x20\x8e\xc5\xfb\xf7\x0c\x13\xf4\x02\xbb\x00\x9b\x7d\x5e\x91\xd8\xd7\x15\x11\x49\x15\xef\xad\x92\x71\xa3\xb1\x32\x2c\xa6\x3b\xa9\x9f\x1a\x59\xec\xb9\x7e\xf0\xd8\x8b\xff\x8c\x96\x4e\x4e\xeb\x46\x16\x43\xaf\xaa\xb0\x88\x61\xbc\x05\xfe\x5a\x7f\x97\xfb\xc8\x3d\x84\x95\xc0\x3c\x84\x3f\xf2\xf0\xa6\xc3\xcb\xdd\x33\xff\x8a\xae\x28\x81\x90\xf8\xda\xd9\xf2\x96\x0f\xf5\x99\x78\xf0\x20\x1f\x78\xaf\x32\xde\xbb\xc8\x2f\xf9\x2b\x2e\xf2\xcb\xb8\xc0\x06\x7b\x41\x94\x5b\xc1\x70\x7c\x0e\xb6\x1f\x3a\x1e\x4b\x7a\x27\x09\x88\xd8\x48\x00\xd2\xc4\x00\xe1\xce\xcc\xe4\x15\x3c\x00\x8b\x84\xb6\xc6\x50\xe3\x4e\x26\x8b\xf5\xce\xce\xce\x7a\x42\xaf\xac\x88\x07\x85\x15\x42\x78\x3c\x16\xff\x82\x02\xeb\x53\xad\xaa\x29\x0b\x31\xa3\x28\xaa\x8d\xbd\x2f\xec\xec\x96\xb2\xba\x72\xc7\x9d\x8b\x79\xc0\x42\x8f\x9c\xb2\x20\x99\x97\xc5\x74\x1a\x52\xc2\x52\x76\xf5\xff\x91\xf7\xa6\xfd\x6d\xe3\x48\xe2\xf0\xfb\x7c\x0a\x24\xff\xdd\xa6\x94\x48\xb2\x28\xdb\xf2\x91\x71\xf7\x4a\xb2\xd4\xf1\xe4\xdc\xd8\x49\x76\xc7\x9d\xce\x42\x14\x64\xb1\x4d\x91\x1a\x92\xb2\xac\x9e\x64\x3e\xfb\xf3\x43\x55\xe1\x22\x29\x1f\x49\x7a\x66\x76\x9f\xbc\x88\x6d\x10\x28\x00\x85\x42\xa1\x50\xa8\xe3\xf1\x17\x35\x7d\x88\xcf\x80\xbf\xce\x05\x97\x17\x30\x6b\xae\x76\x7d\x8d\x09\x13\xed\x54\xaf\x77\x15\x27\x94\x1b\x04\x82\xfe\xf4\x62\xf9\x3b\xf2\x34\x28\x50\x6a\xbd\x70\x22\xe2\x3c\x9c\xae\x1d\x23\x26\x83\x04\xeb\x9d\x0f\xc2\x38\xc0\xa9\x49\xee\xe0\x4a\x1a\x50\x42\xf3\x34\x8c\xc4\x61\x14\xc6\x5a\xc1\xa5\x3c\x78\x20\xfd\xd8\x5d\x77\x0f\x65\xb9\x28\x99\x40\x15\xb7\x50\x43\x4f\x8e\x14\x54\x5b\xec\x5d\x1e\x46\x61\xbe\x76\x5e\xd0\x16\xa9\xc8\xf3\xb5\x0a\x7d\x4a\x91\x28\xec\xd4\x40\x73\x9e\xd7\x00\x93\x76\xa0\x19\x39\x94\x64\x4a\x18\x3e\x3a\x62\x1e\xfa\x12\x7a\x05\x72\x87\xef\xc4\x11\xe1\x2e\x96\xa7\xec\x88\x3c\x6c\x09\xe8\x53\xfd\x91\xa7\x6b\x94\x9b\xc1\x0e\x29\xc7\x90\x2f\xad\x39\x5f\xe8\xfc\xf4\xac\x26\x07\xa1\x80\x17\x32\xdc\x8b\x3a\xe6\x8f\x50\x1b\x52\xe7\xa7\x66\x3f\x32\xdf\xa8\xdb\x4d\xba\x0b\xba\xbd\xcc\x78\x26\x59\x22\xa4\x1c\x6e\xa0\x92\x49\x2e\x5c\x32\x9d\x32\xb9\xbe\x79\xc6\x92\x55\x0c\x4e\x31\xea\xbd\xcb\x40\x02\xf3\x19\x93\x95\x58\x9e\x4c\xe0\x77\x79\xc1\xc3\x58\xde\x6a\xc9\x5e\x93\x7a\x82\x9b\xad\xea\xaa\xe5\x62\x4a\x4e\x16\xb2\x96\xad\xad\x78\x37\xa4\xdf\x77\x83\xdd\xa8\x4b\x63\x55\x4d\xe7\x4c\xc0\xfd\x72\x74\x64\xf8\x51\x49\xc6\xdf\xda\x62\xc7\xda\xb5\x2c\x48\xe6\xf3\xc4\x64\x80\x5d\x2f\x44\x46\xc1\x44\xed\x7b\x1c\x8f\x3d\xd0\x51\x61\x58\x9f\x85\x72\x0b\x2d\x84\xf5\x31\x84\x22\xcf\x34\xc5\xf1\xcb\x6c\xbe\x22\xfe\x90\x24\x85\x18\x83\x68\xe9\xdd\xf9\x13\x05\xce\xd2\x05\x10\x38\x8b\x1d\x42\x8e\x3c\x3b\x3a\x48\xcd\x53\xfb\x43\x56\x8f\x6d\x0b\x3e\xac\x74\x21\x72\x30\xd2\x4d\x5f\x24\x01\x9c\xf4\x9f\x6a\x7e\xbd\xda\xca\x8f\x68\x1f\xc7\x0c\x75\xc0\xa9\x1b\xfc\xa5\xf0\x93\x99\xc6\x66\x16\x6e\x58\xb7\x64\xf5\x7f\x00\x6f\xc6\x78\x1d\xd6\xdd\x5c\x89\x64\xd8\xf1\xff\xc8\x6e\xff\x07\xc3\xa6\x81\xe5\x17\x18\xce\x3e\xca\xd3\x65\x98\xcd\x1e\xb9\x27\xc6\x3f\x9e\xc5\x6b\xd1\xf2\x5e\x8c\xfe\x7f\x3b\xf7\xae\x92\x7c\x5c\x66\x5d\xd8\xc0\xe0\xee\x53\xdc\xbc\xdf\x65\xa3\x7c\xfb\x36\x21\x6e\x4e\xdb\xa4\x78\x3f\x51\x16\x35\x80\x3e\x48\x2e\x01\x9c\x14\xae\x28\x2a\x51\x15\x5a\xac\x80\x89\x4c\x79\x7f\x70\x36\x09\xd3\x7c\xcd\x66\xe8\x27\x7b\x92\x23\x25\x65\x4e\x24\xb2\x06\xda\xf4\xc0\x05\x1c\xb3\x50\x8b\x6b\x3e\x97\x6c\x56\x69\x67\xb1\x0f\x1d\x21\x5e\xaf\x9d\x6b\xe0\x5d\x79\x97\x84\x81\x9d\x80\xe1\xec\x99\x86\x04\x85\xf8\xaa\x27\xa7\xd8\x62\xac\xad\x42\xad\xd2\x27\x38\x28\xe8\x21\x8b\xfc\x1c\x8d\xf3\x62\x83\xf9\x10\xe6\x3f\xa7\x08\x7c\x29\x8e\x3a\x4b\x18\x6d\x6a\xed\xad\xaf\x68\xbd\xa7\x4e\x11\x1a\x3a\xb2\x20\xf6\xc8\xc1\x2b\x9e\xc2\x8f\xee\x48\x8c\xe5\x45\xb6\x09\xd3\x4c\xbb\xec\x1d\xa4\xae\x11\x43\xcc\x9c\xbb\xc1\xfc\x4a\x12\x28\x22\xe3\x48\x1b\x26\xd9\x67\xfb\xb9\x85\xd9\x27\xac\xf3\xb1\x28\x0a\x20\x45\x80\x0b\x7c\x6d\xab\x76\xfe\xeb\xd6\xc7\x27\x87\xbf\x4c\x9e\xd4\xe5\x7f\xbf\xd4\x7f\xfa\xb7\x2d\xd7\x58\x56\x36\xfa\x49\xfe\x7f\xee\x7f\x94\x14\xff\xd3\x4f\x3f\x79\x25\x35\xe8\x87\x14\x22\x60\x19\xf5\x67\x62\xbf\x46\xa3\xf8\x73\x17\xdc\x91\x62\xcc\x51\x09\x20\xc8\x42\x68\x17\x79\x97\xd3\x56\x20\xaa\x8a\xb3\x49\x5e\xf2\xf4\xd2\xb5\x92\x21\x0a\x96\x52\xc8\x32\xb7\x1e\xcc\xab\xd5\x3a\x92\xaa\x50\x33\x02\xeb\x52\x60\xc4\xee\x26\xc1\x28\x29\xb6\x99\x84\x32\xfd\xc9\xf2\x64\xb1\x49\x5f\x20\xb9\x89\x42\x98\xbe\xf9\x5b\x18\x84\x04\x8f\x89\x25\x40\xde\x05\x83\xa0\x47\x2b\x64\x28\x76\x50\x58\x75\xb1\xad\x97\x55\xea\x76\x3b\xcb\x6b\x79\xb3\x56\x92\x7c\x27\xcb\x2b\xa0\xe2\x12\xfd\x93\x57\xe0\x2e\xd4\x87\xf1\x53\xab\x54\xbf\x15\x13\xc7\x87\x30\x7b\xe2\x5b\x5b\xec\xf4\xf5\xbb\xb7\x83\x21\x1b\x9d\xbc\x18\x1e\xb2\x28\x1c\x4f\x92\x7c\xeb\xb7\x6c\x2b\x0a\xc7\x9f\x96\xf9\x74\xbf\xf5\x5b\xf6\x00\x3c\x1a\x16\xeb\x34\x94\x3c\xb2\x16\xd4\x59\xa7\xed\x77\x80\x07\x0e\x66\x69\x32\x0f\x97\x73\xf6\xfa\x94\xf5\x96\xf9\x2c\x49\xb3\x16\xeb\x45\x11\x83\xba\xf0\x72\x23\xd2\x2b\x79\xe7\x92\xb7\x8e\xcc\x18\x59\x64\xc9\x32\x0d\x28\xdd\x73\x98\xb1\x8b\xe4\x4a\xa4\xb1\x8a\x3f\xda\x3f\x3d\x6e\x66\xf9\x3a\x12\x2c\x0a\x03\x11\x2b\x67\x21\x32\xb5\xd8\xda\xc2\xf4\x37\xea\xd0\x7e\x71\x32\x18\xbe\x3a\x1d\xc2\xc1\xd2\x7a\xf0\xc0\x5b\x66\x28\xd2\x07\x39\xbc\xf3\x6d\xb1\xb3\xd7\xc7\xaf\x6b\x13\x7e\x15\x4e\xc6\x22\xae\x1f\xb2\x0f\xca\x32\x90\x18\xa9\x88\x83\x64\x42\xae\x14\xc0\x8c\x55\x54\x6e\x31\x69\x3c\x80\x3c\x98\x14\x34\x1b\x97\x97\xc2\xeb\xc6\xe8\x55\x15\xc6\x4d\x65\xb9\xe6\x46\xf3\x96\x53\x96\xad\x67\x79\xbe\xc8\x0e\xb7\xb6\x56\xe1\x65\xd8\x5a\xcd\x78\xbe\xba\x68\x25\xe9\x05\xfc\xbd\x85\x67\xe6\x90\x06\x60\x57\x57\x83\x6a\x65\x0b\x11\xd8\xed\x8c\x74\x89\x06\x23\xd3\x65\xc4\xde\x9d\x8d\x9a\xfb\x6c\x22\x24\x3a\x2d\x09\xe4\xdd\xd9\x68\xff\x18\x0b\xcb\x44\x42\x9e\xd6\x26\xf6\xcb\x78\x9d\x8b\x0c\xbd\xac\x09\xb3\xfa\x91\x5a\xfc\x75\x29\x28\xec\x21\x10\x12\x54\x7d\x21\x6b\x52\xfc\x27\x02\x16\x82\x3d\xca\x45\x2a\x20\x0e\xf0\x44\x60\x76\x6f\x36\x16\x12\xbb\x38\xbc\x09\x24\x56\x30\x00\x7e\x64\x6d\x2b\xab\xf6\x44\xbc\x81\x16\x2e\xd8\x28\x59\x89\x94\x8d\x61\xd1\x93\xd8\xd2\x71\x9b\x3e\x6e\x80\x0a\xad\xfb\xd0\x18\xc0\x3a\x39\xb8\x02\xc8\xe7\xc0\x51\x18\x26\x34\xf2\x9c\x37\x58\xce\x2f\xc1\x3d\x21\x96\x6c\x2d\x40\xcf\x06\x34\x65\x04\xaf\xb7\x45\x2a\xae\xc2\x64\x09\x62\x05\x64\x49\xce\xf2\x54\xf0\x39\x1c\xee\x3a\x6d\x0e\x52\x96\x48\x8b\xec\xf4\x54\xab\x5f\x53\x6c\x0c\x91\x3d\x64\xd5\x86\x89\xfa\xad\x64\x6b\x73\x27\x50\x52\xc4\xa9\x75\x8b\x44\xbd\xb8\x44\xc3\x32\x0e\x4b\x31\xc3\x25\x42\xd8\x58\xe4\x2b\x21\x62\xd6\xbe\x6e\xb7\xad\x0c\x8d\xed\xeb\xd1\xc8\x95\x30\xd4\xb0\x20\x42\xbd\x1c\x16\xad\x18\x21\xc1\xbe\x9d\x48\x4c\xf9\x5d\x13\xf3\xaa\x4c\x70\x16\x93\x42\x30\x95\x2f\x67\xf2\x8c\x4f\x45\xae\x93\x9c\x57\x69\xdb\xb2\x3c\xad\x32\x98\x83\xac\xa0\xa4\x27\x08\x66\x3c\x1d\x24\x13\xd1\xcb\x6b\xa1\x75\xf5\x2f\xd2\xaa\xe5\xed\x84\x15\x02\xf6\xa7\x23\xd6\xbe\xde\x1b\xb9\xe1\x67\x21\x18\x90\x82\x6b\xc1\x74\x5c\x5c\xdb\xd7\x83\xb6\x6c\x1e\xb0\x1f\x7e\x60\x04\xe8\xd8\x01\x54\xa2\xe9\x80\x35\x99\x6c\xf6\xd4\xad\x62\xef\x26\xff\x69\xd1\xab\xc4\x26\xde\xeb\xfd\x76\xe5\x48\x86\xa5\x91\x0c\xef\x32\x92\xe1\x4d\x23\xe9\xdc\x36\x92\xea\xa1\x8c\x4a\x43\x19\xed\xdd\x61\x28\xa3\x9b\x86\xb2\x7d\xf3\x50\xfc\x76\x7b\xd3\x60\xf6\x4b\x83\xe9\xdf\x65\x30\xfb\x37\x0c\x66\xe7\xe6\xc1\x74\xda\x9b\x47\x33\x28\x8d\xe6\xf8\x2e\xa3\x19\xdc\x30\x9a\xdd\x9b\x47\xb3\xd3\xae\x1a\x4e\x89\xd6\xbd\x5f\x96\xd3\xe9\x74\xe2\x15\x62\xbe\xb9\xb5\x71\x12\xfb\xa5\xf5\xed\x97\x49\x4d\x8f\xb0\xd9\x7c\xba\x79\x7a\xb5\x42\xc9\x9f\xfe\xc4\xba\xf2\x6e\x59\xc3\x79\xef\xb7\xeb\xa6\xf1\xad\xdb\x99\xa1\x22\xee\xe7\x24\x07\xcf\x80\x28\x32\xa7\x16\x3d\x57\x28\x3f\x4b\x8c\x7c\x82\xc7\x09\x78\x7b\xb8\x10\xa6\x61\x94\xcb\x03\x71\x99\xb3\x6c\x99\xa6\xc9\x05\xbe\xcb\x86\xa9\xd6\xd4\x31\xc5\x7d\xac\xb9\xb8\x53\x79\x6a\xd5\x04\x3e\x63\xe6\x58\x5c\xa6\x82\x25\xed\xe7\xcf\x12\xc9\xc7\xfb\x6d\x44\xb3\x6e\x27\xd1\x6d\x80\x20\xaf\x19\x8d\xea\xe5\xd6\xa6\xd6\x8f\xb0\x35\x46\xb2\x9a\x83\xa5\x8d\xab\x5e\x49\x21\x84\x15\x10\x51\x84\x3c\x91\x88\xf5\xab\x1c\xa5\xcb\x7c\xb1\xcc\x5b\x4e\xf5\xe2\x8c\x69\x87\x16\x47\xa1\xc7\x81\xe7\x4e\x4b\x9e\xab\x03\x62\xe4\xa6\x7d\xfd\xa9\xd3\xa8\x72\x7c\x98\xaa\xda\x59\xac\x56\xa1\x82\x19\x4f\xb3\xc4\x32\xee\x30\x9c\x92\xbd\x33\xad\xd1\x13\x56\xb3\xa6\xfa\xe3\x8f\x3f\x32\xbf\x5d\x67\x3f\xb0\xf6\xf5\xf6\x68\x54\x2f\xc7\x86\x6b\x5f\x1f\x0f\xb0\x99\xb5\xb4\x54\xbb\x38\xd3\x07\x55\xbf\x7f\xd9\xb4\x93\xa5\xa8\x94\x24\xf0\x38\x8f\x82\x5c\x18\xb3\xf9\x32\xca\xc3\x26\x08\x01\x66\x33\xbc\x15\xab\x30\x9e\x90\xbc\x82\x21\x6c\x6c\x20\xe8\xdf\x11\x25\xe4\x0a\x01\x0e\xbc\x12\x42\xeb\x36\x9e\xb1\x49\x34\x24\x9a\x30\x9c\xe0\x8b\xa5\xa2\xd6\x77\xf6\x54\xe4\x95\x92\x99\x11\xc9\x5a\x56\x68\x35\x1d\x38\x3d\x10\xce\x13\x05\x19\xd3\xc0\x05\x4c\x68\xd1\x2c\x34\x5e\xf8\x10\x36\xe2\xff\x37\xe2\x18\x36\x90\x42\x99\x2d\x7c\xc9\x5b\x9d\x63\xfb\x57\x53\x0f\xc1\x96\xf8\x56\xab\xd7\xa9\x39\xd6\x77\x93\x49\xc4\x4a\x6c\x76\x3a\xc6\x81\xc1\x8a\xe9\x1b\x71\xe1\xea\x75\x0c\x11\x93\xc0\x61\x8c\x9b\xeb\xcb\x95\x48\x33\x3b\xff\x91\xba\xed\x99\x18\x0d\xb2\xb6\xb3\xbf\x19\xa8\x8f\x80\x0b\xad\x30\x43\x46\xf6\x13\xfb\x80\xc1\x2a\x17\x0b\x11\x67\x92\x0b\x41\x08\x8b\x4b\xb1\x5e\xc0\x85\x04\x7d\x91\xd1\x3c\x0d\x4c\x59\xc8\x70\x1a\xc6\x22\x25\x3d\x1e\x10\xe3\x87\xf4\x71\x92\xfa\xfb\x2f\xdf\xfc\x74\x03\xb1\x9c\x99\x3b\x24\x18\x84\x4a\xac\x6c\x5e\x43\xfb\xb6\x89\xd4\x04\xa8\x6a\x6c\xa2\x2b\xfb\xb1\x08\xb7\x74\x81\x18\x35\x9d\x65\x78\x27\x21\x8a\xd2\xa4\x84\x44\x80\xfd\x15\x89\xe0\x7b\x48\xe0\xf2\xb8\x85\x84\x98\xcb\x38\x84\xb1\x58\x57\x3e\xd2\x96\xc8\x96\x77\x95\xd6\x89\x37\x96\x44\x6a\xfb\xfc\x0a\x40\xaa\x19\x8d\x46\xc7\xce\x93\x18\x35\xdf\xaf\x68\xde\xb7\x9b\x43\xe4\x83\x27\xbe\x33\x25\xfb\x58\x92\xa3\x9c\x54\x8c\xf2\x89\x5f\x10\x45\xcc\x58\x27\xb2\xb3\x49\xd5\x58\x09\x45\xa7\x2b\x88\x41\x5b\xa2\x60\xfb\x84\x0a\x8c\x1c\x8b\x47\x8a\x3e\x14\xa4\x50\x24\x8f\x94\x27\xac\x36\xd1\x85\x8e\x78\x81\xc1\x76\x37\x9c\x0a\x65\x8c\xdd\x78\x88\x94\x2b\x3b\xd1\x7f\x8d\x1c\x10\xc8\x9d\xa7\x76\x3a\x21\x4e\x73\x7e\xb3\xa4\x15\xf7\xab\x9b\x6e\x57\x6e\xe8\x61\x6b\x6d\x35\x9c\x32\xa0\xaa\xd3\x1a\xae\x66\x9f\x65\x33\x79\x22\x77\xcd\xc9\x5a\x71\xd3\x2a\xf7\xe2\x4a\x4c\x37\x76\x33\xb4\xba\xf1\x3b\xd5\xfd\x74\x9c\x7e\xb6\x1e\xdb\x5d\x29\xf1\xec\xf1\xd6\xdd\xfa\x1b\xd9\xfd\xed\x57\xf7\xb7\xfd\xd4\x5e\xb2\xd5\x2c\x8c\x04\xab\x39\x9a\x11\x33\xb9\x0a\x39\xfd\xc6\xfe\xf7\xa1\x7f\x1a\x40\xad\xcb\x1e\x1b\x08\x75\x25\xf6\xd4\x9d\x37\xe8\xd2\x01\xbf\x41\xe3\x98\xcf\xc2\x74\xf2\x69\xc1\xd3\x7c\xbd\xb5\x0a\x56\xe1\x24\x9f\x81\x0a\x72\x15\x6c\x52\x40\xee\x7c\xb5\x02\x52\x72\xc5\x55\xf0\x0f\x54\x41\x5a\xf1\xef\xad\x43\x3b\x0a\xc7\x29\x24\x7e\xce\x18\x59\x87\xea\xfc\xd0\x84\x81\xd6\x6f\x19\x9b\x27\x93\x25\x3a\xf7\xc6\xf2\x74\xf9\x2d\xd3\x4f\xbd\x49\x1a\x5e\x80\x16\xac\x90\x45\x90\xfc\x85\x71\x80\x3c\x3f\x84\x53\x94\xb4\x8a\xf1\x62\xfe\x5b\x06\x6a\xc4\x05\x0f\x2e\xf9\x85\xd8\x32\x5d\xc1\x89\xa1\x06\x6b\x8d\x53\x05\x84\x4a\xa6\xa0\x1f\x5f\x66\xec\xf9\x72\x16\xcb\x8b\x14\x36\xad\xd5\x0b\x23\xb0\x2c\xb7\xa7\x89\xe4\x7d\x70\xec\x5d\x2f\x22\x1e\xd3\x08\x93\xb9\xc8\xcc\x6c\xf5\x44\x06\x05\x40\x87\x85\xa0\x56\x3c\xae\xc8\x98\x68\x46\xc1\xe3\x09\x5b\x05\x99\xfa\xb3\xa6\x33\xa8\x83\x20\x71\x32\x1c\x0e\xd9\x69\x3e\x61\x7e\xbb\xdd\x69\xf9\xcd\x4e\xbb\xed\xd7\xe1\xb8\x7b\x87\xc7\x97\x92\x59\x24\xae\x0e\xb7\xb6\x56\xab\x55\x2b\x59\x88\x18\x42\x19\x00\xca\x92\x38\x0a\x63\xb1\x58\x8e\xb3\xad\x76\x7b\xef\xa0\xbd\x73\xb0\xb7\xbb\xa5\x1d\xec\x34\x26\x67\xf9\x3c\xfa\x36\x38\x99\x03\x88\x82\x45\x4d\xc3\x6b\x31\x69\xc2\x17\xba\x75\xb1\x89\xb8\x0a\x03\x91\x35\xd8\x0b\x9e\x87\xb1\x91\x61\x20\xec\x39\x4b\x82\x60\xb9\x58\x6b\xaf\x4a\x09\xe6\x51\x20\xa2\xe8\x11\x5b\x24\x59\xa8\xd0\x87\xf6\x63\x00\xb6\x21\xc5\xe7\x54\xf0\x8c\x85\x13\x91\x5c\xa4\x7c\x31\x0b\x03\x36\xf8\xf3\x73\x0b\x32\x98\xfc\x22\x60\x29\x78\x65\x4b\x29\xef\x8a\x28\xca\x5a\xec\x24\xce\x05\x3c\xab\x42\x24\xd5\x7c\xad\x25\x5d\xf4\x34\xe7\x51\x53\x3d\x9a\x43\x4a\x2d\x7c\x69\xc4\x70\x0b\xb5\x5c\x44\x22\x5f\x2f\x04\xee\xb9\xba\x25\x8e\xa9\xc6\x19\xd3\x0f\x26\xe0\xc5\x00\xf7\x02\xad\xb9\xd7\x79\x30\xf9\x45\x2a\x80\x3e\x58\x12\x2b\xff\x79\x0d\x8b\x8c\x90\xf9\xe4\x8a\x43\x6c\xa5\xc7\x4a\xcb\x9d\x25\x29\xa4\x24\x4b\x56\x6c\x0e\x7e\xed\x22\x8a\x34\x96\xb2\x16\x7b\x95\x30\x91\xe5\x7c\x1c\x41\xde\x48\x7c\x72\x85\x35\xce\x72\x1e\x4f\x78\x3a\xc9\x30\xcd\x3b\xe3\x10\x45\x23\x73\xfa\x7f\xa7\xa4\x23\x6b\x1c\x66\x7d\x1e\x50\xce\x9d\x8a\x7e\x25\x88\x0a\x44\xb4\xc8\x27\x36\x4d\x96\x79\x18\x0b\xb0\xbb\x04\xac\x62\xac\x1f\x15\x78\x4b\x2e\x2e\xec\x00\x78\x59\x97\xeb\x34\x16\x33\x7e\x15\xca\xa9\xf2\x0c\x53\x78\x67\xb0\x9d\x58\xba\x8c\xf0\x81\xdc\xca\x75\x06\x37\x8e\x45\x9a\x5c\x85\x13\x13\x23\x40\x4d\x65\x90\xc4\x99\xe4\x0a\x4b\x9d\xdd\x6a\x94\xa4\xa8\x43\x27\xb2\xe1\x91\x45\x34\x0d\xa7\xb1\xc2\x19\xb0\x84\x30\x08\x73\x0a\x2c\x00\xbb\x35\xb3\x65\xf1\x26\xe0\x03\x49\xfe\x2a\xe4\x00\x05\xa7\x64\xd2\xa5\x0a\x36\xe4\x59\xce\x7a\x59\x88\xf7\x85\xd1\x32\x8a\x3e\x40\x8b\xda\xa8\xde\x60\x1f\xa4\x28\x5f\xfb\x50\x6f\xb0\x67\x3c\x9a\xd2\xf6\xa9\x3d\xab\xe3\x33\xfb\x2b\x9e\xa6\xc9\x8a\xd5\x5e\xf1\xba\x95\xc3\x08\x63\xb3\xe1\x25\x32\xc3\x68\x75\x38\x85\x94\xbc\x49\x18\x9f\x8f\xc3\x8b\xa5\xa4\x71\x08\x99\x44\x0b\x8d\xc0\x39\x1a\xe9\xe3\x62\xd1\x52\x2f\x33\xd1\x02\x14\x59\x5b\x94\x8e\x0e\x33\x7a\xd6\x03\xa8\xc9\x32\x63\xb5\x5e\x1d\x82\x41\x50\x2e\x46\x79\x22\x00\xec\x60\x96\x84\x81\xc4\xc1\x42\xc4\x93\x8c\x2d\x96\x90\xdb\x09\x62\x8a\x2d\x52\x31\x15\xa9\x20\x47\xe6\x31\x0f\x2e\x57\x3c\x9d\xa8\xf8\x1a\x3c\x0f\x69\x53\xe2\x35\x35\x04\x73\xb4\x59\x98\xe5\x49\x4a\x7b\x3c\x49\xd9\x07\x91\x41\x38\xfe\x05\xb8\xf7\x07\x78\x97\x19\xcc\x92\x04\x76\x1e\xb2\x11\x42\x21\xa5\xe6\xca\x84\x33\x25\xb0\x81\x83\xb8\x41\xbf\x2d\x33\x30\xb7\xe1\xda\xf0\x82\x2f\x16\x69\xb2\x48\x43\x29\xff\x46\x49\x7c\x81\xe1\x95\xb3\x24\x5a\xe2\x8b\x28\x86\xd6\x80\xa1\xa8\xfe\xc9\xa9\x6e\x12\x66\x8b\x88\xaf\x69\xf7\xbb\x5d\xf2\x4c\x45\x4d\x23\x0c\x99\xa3\x45\xcd\x4e\x82\x28\x1c\x1b\x40\xf7\x92\xf4\xd6\xac\xb6\xdf\x1c\x87\xb9\xbe\x95\x59\xa0\xc1\x8d\x9d\xfa\x46\x3b\x26\x07\x03\x92\x7e\xfc\x2e\x34\x4e\x24\xdd\xda\xc3\xa0\xc8\x6e\x12\x49\x3f\xa7\x42\x5c\x82\xb7\xd3\x60\x9d\x86\x51\x14\x06\x0d\x26\xf2\xa0\x85\xc7\x15\x78\x6e\xc4\x6b\x96\xaf\x17\x9a\xe1\x06\x14\x3c\x8e\x3b\x7e\xdb\x2f\xe5\x0e\x8e\xe0\x61\x2d\x02\xcf\x2a\x44\x17\x51\x84\x3c\x07\xed\x75\x61\xaf\x92\xbc\xb0\x31\x6a\xaf\xc4\x32\x4f\x79\x44\x94\xde\x62\x43\xc9\xb1\x24\x52\x35\xba\xb5\x9b\xcb\x24\x0c\xe0\xa9\x8b\x5b\x50\x79\xbc\x26\x7f\x8f\xe2\x22\xb4\xd8\x89\xba\x57\x43\xaa\xd8\x7c\x26\x60\xa0\x98\x16\x5d\x0a\x4f\x40\x03\x66\x8a\xe0\xb1\x85\xd9\xe5\x13\xf4\x01\x92\x77\x78\xcd\xe9\xe0\x3c\xc1\xe4\x7a\x7a\x31\x24\x03\x03\x0e\x85\xfe\xa6\xda\x9f\x7a\xf8\x92\x9d\xbe\xe9\x0d\x86\x92\x7c\xdf\xbf\x7e\xf1\xee\xe5\x90\x9d\xbc\x3a\x1b\xfe\xfc\xb6\xf7\xc2\x8a\x9f\x22\xe7\x34\xa6\x84\xc9\xd6\x15\x7a\x22\x0f\xbf\x5c\x6e\x21\xd8\x15\xdc\x5d\xe0\x8b\x68\xbd\x98\xb5\x5c\x31\x06\x40\x68\xbe\x6b\x98\xfd\x5c\xc0\x4e\xe4\x59\x16\x5e\xc4\x06\x90\xc5\xbf\x70\xba\xb2\x7d\x8c\xeb\xe0\xf0\x47\x62\x06\x21\x78\xa7\xa1\x71\x81\xa1\x51\xa3\xf9\xd2\x8e\x6c\x94\xd5\x2d\xe3\x79\x98\x4d\x79\x90\x27\xe9\x5a\x05\x2e\x97\xcb\x00\x2e\x47\x8a\x8e\x24\xfb\x06\x2f\x25\x68\xaa\x8e\x31\xd4\x48\xe1\x49\x66\x58\x32\xc5\x53\x59\x05\xf2\x50\xe1\x2d\xd6\x43\x9f\x92\x79\x82\x89\xee\x95\x56\x4d\x04\x21\x28\x6c\x10\xc1\x2e\xad\xd9\x84\x66\xad\x9f\x1a\x58\x71\x11\xc6\x6b\x77\x03\x03\xd6\x33\xb5\x68\x6b\x01\xd6\x8c\x3c\xce\x56\x38\x91\xb5\x3a\xa6\xd6\x2a\x2b\xb2\x3e\xc1\x8c\x40\xa9\x4e\x1a\x79\x86\x8d\x21\x92\x28\xe6\xea\x69\xb1\x53\x91\xe7\xb4\x8c\xcb\x05\x70\x4d\x29\xb0\x98\xf9\xab\xed\xa3\x8f\xca\x64\x4a\xa2\x46\xc5\x41\x2c\xa1\x80\xb5\x07\x49\x1f\x60\xc9\x96\x82\x46\x8b\xc7\x3c\x5a\x67\x94\xc8\x0c\x82\xaf\x4b\x51\x8b\x57\x49\x03\xc0\x1b\xc6\xcb\x1c\x23\xa4\xaa\x6a\x84\x20\xae\x8d\xaf\x1b\x70\xbc\xe6\x3a\xbb\x0b\x87\xcb\x8e\xde\x8e\x0e\x61\x42\xdc\xd1\xab\x04\x4e\x6e\xe5\xd4\xc6\xa6\x3c\xad\x90\x70\x49\x75\x03\x72\x29\xfd\xbe\x45\xe1\x50\xb7\xf2\xd4\xf7\xb7\x14\xfb\x31\x92\x3f\x6b\x36\x59\xa7\xdd\xde\x6b\xb6\x77\x9b\x9d\x2e\xab\xa9\x19\xed\xb6\xda\x75\xaa\xfd\x46\xa2\x28\xcb\xc8\xb2\x7c\x99\x89\x06\x0b\x92\xc5\xba\x21\x6f\x33\xe1\x74\xdd\x20\x0f\x57\x79\x45\x1a\x2f\x73\x61\x6e\x64\xd3\x7c\x45\xd2\x0c\xb1\x1c\x79\xc6\x2d\x20\xc3\x66\x8c\x1e\xc1\xe0\x38\x27\xe0\x20\x96\x07\xf2\x78\x2d\x25\x0e\x49\x49\xb8\x53\x11\x2d\x74\x6a\x04\x11\x0f\xe7\x28\x0c\xaf\x78\x2a\xab\x85\x82\x2c\x38\x52\x71\x21\xd7\x9b\xb2\x19\x5a\x7d\x2b\x1c\xbd\xe0\x60\x8e\x43\xaa\xc9\x43\x1b\x67\x41\xd4\x0a\xf8\xbc\xc5\x83\xd6\xf2\x72\xeb\xef\xf3\x8b\xcb\xce\xee\xd6\x32\x30\x17\x80\xc0\xb9\x49\xb9\xd7\x20\xad\xad\x56\xe2\x0e\xba\x6c\x45\xcb\x79\x4c\x8c\x02\x93\xb4\x9d\x9c\xbe\x66\x7e\xbb\xbb\xd3\x35\x84\xa2\xd9\x9f\x84\x95\xa9\xbb\x11\x6b\x92\x19\x47\x64\x71\x14\x56\x7b\xf7\x04\x9f\x5c\x80\x14\x4a\x1d\xb4\x5b\xd4\xf4\x35\xc8\x01\x83\xf6\xd6\xc0\x87\x4d\x92\x26\x91\x73\xba\xc6\x13\x76\x3c\x7c\x41\xb1\xb1\x04\xc7\xf8\x26\x8e\x51\xbf\x04\xd7\xf4\x15\xbc\x57\x49\xdc\xcc\x16\x3c\x80\xcd\x19\x4f\xe4\xb1\x1a\xa1\xf4\x10\x24\xf3\x31\xca\xa2\x16\xfc\x1a\xfa\x17\x47\x4c\x9e\x02\x17\x92\x89\x01\x25\xbd\x54\x79\x09\x92\x94\xbd\xd4\x21\xd4\x8a\xbb\xba\xae\x1c\x12\x37\xce\xee\xf4\xf5\xe8\x8c\x3d\xfb\xef\x37\xcf\x86\xaf\x10\x23\xbd\xe3\x4d\x18\xf1\x5d\x8c\x90\x51\xe5\xed\x43\x1d\x4c\x37\x0e\x8f\xe6\x20\xd1\xf0\x97\xe1\xdb\xd7\xec\xc3\xc9\xf1\xd9\x33\x3a\xad\x6a\xef\x9e\x74\xda\xed\xfe\xed\x53\x78\xc6\xe3\x8b\x65\xc4\xfe\xcc\xe7\x09\x83\xe4\x0e\x11\xbb\x4a\x56\x22\xc2\xb5\x51\x56\x30\x71\x96\xc4\x3c\xce\x33\x09\xd7\xf7\xbb\xed\xa6\xfc\x31\x1a\x29\xf0\x34\x92\xcd\x78\xa2\x15\xbb\x51\x3a\x55\x92\xb4\x5c\x14\xab\x58\xca\xdb\x4a\xac\x1e\xa9\x39\x6b\x1c\x49\xf1\x4c\xdf\xc2\x35\x8a\xce\x44\x30\x8b\xe1\x8e\x40\x7e\x8b\xff\xcf\xf7\x37\x60\x82\x00\x76\xd4\x50\x2b\xc5\x65\x9b\x62\x53\x01\x8e\xa1\xb1\x6b\xb9\x13\x2a\x40\xb8\xef\x07\xbf\x5d\x9a\xd6\xd3\x88\x5f\x80\xe8\x1a\xf3\x71\x44\x7c\x64\xbd\x69\x61\xf4\x40\x40\xc7\x24\xe6\xbc\x4c\xd3\x26\x51\xb8\x64\x3c\x60\x9d\x28\x01\xc3\x96\xde\xdf\xdf\x3d\x68\xfa\xb0\x76\x1f\x7e\x7e\xb1\xa3\xd0\x65\x49\x02\xfa\x7c\x28\xed\x46\x25\x37\x6e\x18\x99\xef\x86\x00\x77\x05\x5e\x0c\xbc\xa7\x5e\x56\x5c\x74\x29\xd1\x37\xb4\xb8\x0e\x3e\x1f\x3c\x20\xde\x78\x84\xf9\x5b\xb7\xb6\xd8\x07\xcd\xa2\x24\xc7\x31\x90\x5a\x54\xb5\x15\x2f\xe9\xf6\x85\xa9\xba\xdc\x26\xa5\x39\xe9\x66\xf4\xa5\xd0\x74\x24\x57\x46\x79\x91\x52\x86\x64\x08\xab\x7c\x0b\x15\x68\xb0\x15\xab\x6d\x92\x5a\x3a\x63\x8b\x6f\x81\x69\x46\x6a\x01\x53\xc3\xed\x20\xb4\x53\xd4\xe2\xa9\x90\x89\x71\x12\x37\x93\x2b\x91\x46\x7c\xb1\xa0\xd7\x31\x91\x5e\xf1\x28\x53\x1f\xb3\xd2\xb6\x93\x50\x54\xc8\x05\x10\x8d\x1e\x2d\xe3\x30\x13\x39\x7b\x12\xf0\xfc\xe8\xa5\xa0\x9f\x31\xfe\x1c\x4c\x59\x53\xf2\x34\x86\x7b\x5e\xee\x78\x06\x6c\x85\x05\x8f\x0c\x62\x15\xdb\x3d\x62\xe7\xa0\x97\x3d\x67\xed\xeb\xf6\x76\xbb\xdd\x80\x9f\xdd\x11\xfb\xd8\xc0\xb2\x9d\xfd\xed\x06\xfe\xec\x5a\x65\xfb\x54\x76\xc0\x28\xd5\x19\x94\xef\x1e\xf8\x50\xbe\xdb\x3f\xd6\x75\x77\xfb\x23\x2a\x33\x30\x77\x07\x54\x6f\xd0\x71\xdb\x0f\x76\xa8\x7c\xd7\xaa\xbb\x47\x65\x7b\xba\xac\x4b\xe3\xec\xb6\xb7\x9d\xf6\x5d\x9f\xca\x7d\xd3\xbe\xbb\xd3\xc7\xb2\xdd\xa1\x29\xdb\xa3\x7a\x7b\x6d\xb7\xfd\x71\x17\xcb\x87\x3b\xa6\xee\x70\x8f\xca\xf6\xad\xb2\x1e\x95\x1d\x3b\xed\xf7\xda\x38\xd7\xbd\xb6\x99\xeb\x9e\x8f\x73\xdd\xf3\x7d\x53\xb6\x8d\xfd\xef\xed\xf4\xdc\xf6\x3d\xec\x7f\xaf\xdf\x36\x75\x87\x38\xfe\xbd\xd1\xb6\x2e\x3b\x68\x23\xcc\x83\xb6\x8b\xbf\x83\xed\x41\x83\x7e\x9a\xba\x3b\x54\x77\x67\xdf\x2a\x3b\xa6\x32\x77\xfc\x07\xbb\x54\x77\xd7\xcc\xff\xa0\xdb\xc1\xb2\xae\xd5\xff\x3e\xd5\xdb\xf7\xdd\xf6\x7d\xea\xbf\x6f\xf5\x4f\x6b\x7d\x30\xb0\x60\x0e\xa8\xff\x41\xa1\xff\x21\xf5\x35\x34\x7d\xf5\x68\xae\x3d\x98\x2b\x95\xd1\x3c\x7b\x30\x4f\xd3\xbe\x47\x73\xed\xed\x58\x75\x77\xf6\xa8\x6c\xdf\x2a\xeb\x53\x99\xdb\x7f\x8f\xe8\xa2\xb7\x67\xd6\xaa\x47\x73\xed\xed\x5b\x30\x69\x9e\xbd\x7e\xa1\x7f\x9a\x6b\xcf\xa2\xdf\x1e\xd1\x6f\x6f\x60\xf5\x4f\xf3\xef\x15\xe6\xdf\xa3\xf9\xf7\xac\xf9\xf7\x69\xfe\xfd\xb6\x19\x53\x9f\xe6\xdf\x2f\xcc\xbf\xbf\x3d\xa2\x72\x43\x7f\x7d\xc2\x49\x7f\xc7\x82\x49\xeb\xdf\x2f\xcc\xbf\xbf\x8b\xf4\xd7\xdf\x35\x7b\xbd\xbf\x8f\x63\xea\x5b\xf3\xef\x0f\x10\x4f\xfd\x81\xbb\x7f\xfa\x34\xaf\xfe\xc0\xec\xff\xc1\xf6\x10\xca\x06\x3b\x86\xa6\x07\x3b\x5d\x2a\xdb\x77\xda\x0f\x76\x7a\x54\x6e\xb5\xdf\xdd\xc5\x32\x6b\x4c\x03\xc2\xff\xa0\x80\xff\x01\xf1\x9a\x81\xc5\x6b\x06\x03\xea\x6b\x60\xb5\x1f\x50\xfb\x02\xfe\x07\x84\xff\x81\x85\xff\x63\xc2\xdf\xf1\x8e\x5d\x76\x4c\x65\x6e\xfb\xe3\x01\x8e\xff\x78\xd0\x33\x75\x8f\x11\xe6\xf1\xf1\x8e\x55\xd6\xa5\xb2\xae\xd3\x7e\xb8\x8d\x7d\x0d\xb7\xcd\x5a\x0f\xb7\x77\xa8\xcc\xc0\x1c\x12\x4d\x0f\x77\x86\x6e\xfb\x3e\xb5\xef\x5b\xed\xfb\xd4\xbe\x7f\x60\x95\xf5\xa9\xcc\xc5\xdf\x70\x80\x7c\x7d\x68\xad\xdf\xc8\xc7\xb2\x91\x6f\xda\x8f\xb6\x71\x4d\x46\xdb\xbb\x4e\xfb\xd1\xf6\x1e\x95\xef\x59\x75\x0f\xa8\xcc\x6a\xbf\x87\xe3\x1c\xed\xb9\xe3\x1f\xed\x23\x5d\x8d\xf6\x0d\xae\x46\xfb\x5d\x2a\xb3\x60\x1e\x50\xbd\x83\x3d\xb7\xfd\x01\xf5\x65\xf1\x9f\x11\xad\xff\xc8\xac\xbf\xdf\xee\xc0\xfa\xf9\xed\x6d\x87\x7e\xfd\xf6\x76\x87\xca\x3b\xa6\xee\x76\x97\xca\xf6\xac\xb2\x03\x2a\x3b\x70\xdb\xef\xee\x63\xf9\xae\x9e\xab\x3c\x83\xa1\x4c\x1e\xc3\xaa\x6c\x7b\x17\xe8\x54\xfe\x74\xda\xef\xf9\xd8\xff\x9e\xaf\xe7\xef\xef\xd1\x98\xf6\xb6\xad\xb2\x5d\x2a\xdb\xdd\x76\xdb\xef\x51\xf9\xde\xb6\xa9\x8b\xeb\xef\xef\xf5\x77\xad\xb2\x3d\x2a\x3b\x76\xdb\x23\xae\xe4\x4f\x53\x77\x80\x73\xdd\x3b\xb6\x60\x1e\x1f\x53\x99\xdb\x7e\xbf\x0d\x74\xe5\xef\xb7\x35\xfd\xf8\xfb\x3d\x6c\xbf\xdf\x33\x38\x39\xe8\x20\x4e\x0e\x3a\xce\xf9\xe5\x1f\x74\xf6\xa8\x7c\xdf\xd4\xa5\xf9\x1f\x58\x6b\x72\x40\xf8\x3f\xd8\xee\x3b\xed\x7b\x3e\xb6\xef\xf9\xa6\x7d\x1f\x65\x05\xbf\xdf\x36\xe3\xef\xe3\x9e\x92\x3f\x9d\xf6\x7d\x5a\xeb\xbe\xd9\x6b\x3e\xf1\x5a\xbf\x6f\xce\x54\xbf\xbf\x83\x63\xea\xef\xb8\xe3\xef\x77\x71\xfe\x7d\x0b\xff\xc7\xc8\x2b\x7d\x8b\x27\xf8\xc7\xa3\x21\x96\x8d\x9c\xf5\x97\x42\x5a\x03\x7f\x6a\x5a\xe9\xb4\x3b\x3d\x2c\xeb\x0c\x4d\x19\xd2\x54\xa7\xdd\xdd\x76\xdb\x77\xa9\x6e\xd7\x6a\x7f\x4c\x75\x87\xba\x6c\x9b\x60\x6e\xb7\x3b\x4e\xff\xdb\x6d\xdc\x3f\xdb\xed\x03\x3d\xd6\xde\x7e\x1b\x70\x22\x7f\x5a\x65\x7d\x2a\x73\xf0\xdf\xdb\xef\xec\x62\x79\x47\xd7\x1d\xf5\x7d\x98\xab\xfc\xa9\xcb\x86\xb8\x26\xa3\x61\xdb\xe9\x7f\x34\xec\x50\x79\x67\xdb\xd4\x1d\x8d\x1a\xf4\x53\x97\x8d\x46\x30\xce\xd1\x68\xe4\xae\xbf\x12\x16\xe4\x2f\x66\x05\xda\xbd\xf6\xae\x2a\xed\xda\xa5\x03\x55\x3a\x2a\x40\xd9\xa6\x6d\xdc\xb3\xe8\xa0\xdd\xc3\xc3\x15\x7e\x31\x2b\xe9\x77\x91\xe4\x8e\xfd\xae\xcb\x0b\x8e\xfd\xbd\x6d\xfa\x62\x4e\x4e\xf9\xc7\xae\x2a\xed\x5b\xa5\xbd\x1e\x95\xf6\xdc\x1d\x75\xdc\x21\x52\x3b\xee\xec\xe8\xfd\x3f\x6c\xb7\x71\x9e\xf0\x8b\x55\x8a\xe8\x1b\xb6\xdb\x7b\xce\x8c\x86\x6d\xbf\x4d\x5f\x7c\x49\x05\x0f\x3e\xde\xff\x66\x72\xcb\xdd\x6a\xf3\x15\x05\xf4\x1b\xcd\x1e\x6b\xd2\x5d\xa5\x49\x77\x95\x26\xdd\x55\xcc\xa5\x84\x5b\xb7\x31\xeb\x52\xd2\xee\xe1\x61\xd1\xee\x99\x43\xad\xdd\xdb\xa1\xb2\x1d\xab\x6c\x8f\xca\x5c\xa1\xa2\x8d\xb8\x95\x3f\xad\xba\x43\x2a\x33\x97\x82\x76\x1f\x0f\x95\x76\x7f\xc7\x6d\xdf\xef\x52\xb9\xd5\x9e\x04\x90\xb6\x25\x68\xb4\xe9\xa0\x69\x0f\xdc\x43\x9d\x36\xa0\xfc\x69\xea\x1e\xd3\x58\x8f\xf7\xad\x32\x1a\xd3\xd0\x15\xaa\xdb\x43\x82\x3b\x34\x02\x4c\x7b\xb8\x4f\x65\xd6\x98\x86\x34\xa6\xc2\xa5\xa4\x3d\xa2\xfe\x47\x56\xff\xa3\x0e\x95\x6d\x5b\x65\x34\xa6\x51\xaf\xd0\x9e\xe0\x8e\x06\x56\x5d\x1a\xeb\xc8\xe0\xcf\x27\x41\xd5\x6f\xbb\xe3\xf7\xe9\x02\xe4\x5b\x17\x20\xdf\xdf\xa6\xb2\x6d\xab\xac\x4f\x65\x7d\xb7\x7d\x07\xe7\xef\x77\x8c\x00\xe0\x77\xa8\x6e\xa7\x6f\xca\x48\x78\xf2\xb7\xdd\x4b\xa1\x8f\xbb\x59\xfe\xb4\xea\xa2\xa0\xe8\x5b\x17\x05\x7f\x67\x87\xca\xdc\xf5\xf7\x77\xa8\xfd\x8e\xd5\x17\x09\x80\xbe\x25\xa8\xfa\x78\x28\xb7\xfd\xdd\x42\xff\x5d\x1a\x7f\xd7\x1a\x7f\x97\xc6\xdf\xb5\x60\x0e\x10\xa7\xfe\xc0\x15\x8a\x7c\xa2\x1f\xdf\xa2\x1f\x9f\x84\x4a\xff\xd8\x1a\xff\x31\x8d\xff\xb8\x30\x7e\x12\x36\xfd\xe3\xae\x55\x97\xe6\x64\xd1\x9f\x7f\xdc\xa3\xb2\x5e\xa1\xfd\x80\xca\xcd\xfa\x77\xe8\xa2\xd8\xd9\x35\x6b\xda\xe9\x52\x59\xd7\x5d\xff\x0e\x5d\xea\x3b\xd6\x05\xb0\x43\x97\xa2\x8e\x75\xa9\xef\xa0\xa0\xd1\xee\x0c\xfa\x85\xf6\xc7\x54\x6e\x70\xdd\x21\x9c\x74\x2c\x9c\x74\x68\x4e\x9d\xe3\x42\xfb\x63\x6a\x7f\x6c\xb7\x1f\x51\x99\xd9\xbf\xdb\xa4\xbc\xd8\xee\xb9\xe3\xdf\xee\x6d\x53\xb9\x11\x60\xb7\x49\xd0\xde\x1e\x98\xf9\x6f\x0f\xa8\xde\xc0\x55\x8a\xec\xd0\xbe\xd8\xb1\x2e\x70\x3b\xa4\xa8\xd8\xd9\xb1\x14\x2d\x84\xd3\x9d\x5d\xdf\x3d\xd4\x7d\x3a\xc0\xfd\xb6\x39\xd4\x71\xff\x74\xda\x7e\xd7\x2a\xdb\xa7\xb2\x83\x42\xfb\x01\x95\x1f\x5b\x42\x05\xc1\xec\x74\xac\xb2\x1d\x2a\xdb\x73\xdb\x6f\x53\xdd\x6d\xab\x7f\x14\xca\x3a\xed\xed\x6d\xab\x6c\x97\xca\x76\x0b\xed\x49\xa8\xd9\xee\x5b\x75\x87\x54\x66\x09\x35\x7b\xd4\xff\xde\x8e\xdb\x7e\x6f\x44\xe5\x96\x50\x83\x97\xf2\x4e\xdb\x5c\x14\x3a\xed\x1e\xcd\xb3\xe7\x5c\x6a\x3a\x7e\x1b\x71\xe5\x1b\x91\xa0\xe3\xa3\x44\x20\x7f\x5a\x65\x07\x54\xe6\xe2\x8f\x78\x55\xc7\xe2\x55\x1d\xdf\xef\x52\x99\xc1\xbf\xdf\xc1\x31\xf9\xae\x50\xdb\x21\xfe\x25\x7f\x5a\x75\xfb\x54\x66\x70\xe2\xef\x52\x3f\xbb\xee\xfc\xfd\x5d\xaa\x6b\x14\x58\x1d\xba\x54\x74\x2c\xfe\xd1\xf1\xf7\xa8\x6c\xaf\x30\xfe\x03\x2a\x3f\x38\x30\x75\xfb\x48\x2b\x7e\xdf\x2a\x43\x9e\xd2\x41\x9e\x62\xb5\x47\xbe\xd2\xf1\xcd\x05\xb6\xe3\xa3\x52\x4c\xfe\xd4\x65\x1d\x94\x31\xe4\x4f\xa7\x7d\xa7\xdd\xa1\xf2\x6d\xab\xee\x1e\x95\xed\x5b\x65\x7d\x2a\xeb\x17\xda\x8f\xa8\xdc\xac\x7f\x07\xcf\x14\xf9\xd3\x2a\xdb\xa5\x32\x97\xfe\x3a\x7e\x8f\xca\x7b\x56\xdd\x63\x2c\xeb\x18\x9a\xee\x74\xb6\xa9\xcc\x15\xaa\x3b\x1d\x82\xdb\xd9\xb5\xea\xd2\xf8\x3b\x03\xab\x6c\x48\x65\x43\xb7\x3d\x5e\x36\x3a\x9d\x6d\x0b\x57\x78\xa9\xe8\x74\xb6\xcd\x9e\xec\xe0\x39\x23\x7f\xba\xed\x77\xa8\xee\x8e\xd5\xd7\x2e\xe1\x74\xd7\xec\xdf\x0e\xd1\x44\x81\xff\x76\x3a\x5d\xea\xbf\x6b\xf5\x4f\x17\x85\x8e\x45\x3f\x9d\x2e\x8d\xbf\xeb\x5e\x4a\x3a\xfb\xd4\xd7\xbe\xb5\x7e\x78\x29\xef\x74\xf6\x2d\x98\x07\x84\xa7\x83\x02\xfe\xf1\x52\x21\x7f\x9a\xba\x3d\xaa\xdb\xb3\x70\xda\xa7\x75\xee\xbb\xfd\x6f\xe3\xa5\x58\xfe\xd4\x75\x77\x68\xae\x3b\x43\x03\x73\x07\x15\xa5\x9d\xdd\x1d\x97\x7e\x76\x77\xb1\xee\xae\xb9\x94\x75\x76\xf7\xa9\x6c\xdf\xd0\xd4\xee\x01\xf6\xb3\x5b\x18\xff\x6e\x8f\xea\x1a\xf9\xb3\xb3\x8b\x67\x42\x67\xd7\x9c\x09\x9d\xdd\x3e\xb5\xef\xbb\xf4\xb3\x8b\xf2\x63\x67\xb7\xbf\x67\xd5\x1d\x50\x99\x59\xff\xdd\x01\xf5\x33\x70\xd7\x6f\x77\x40\xed\x8d\x02\xb1\xb3\x3b\xa0\xb9\x0e\xfa\x56\x19\xae\xdf\xee\x71\xa1\xfd\x90\xc6\x35\x34\xb8\xde\x1d\x8e\xa8\xcc\xcc\xbf\x4b\x3c\xb1\xdb\x76\xe4\xd7\x4e\x97\xf8\x62\xb7\x7d\x60\xd5\x1d\x52\x99\xd5\xde\x47\x3a\xeb\x16\xf6\x5f\x97\xce\x9f\xae\x3f\xb0\xea\x52\x7b\x73\x29\xec\x74\x77\x70\xfe\xdd\x1d\x97\x7f\x74\xf1\x06\x24\x7f\x9a\xba\xb4\xfe\xdd\xae\x6f\x95\x6d\x53\x59\xa1\x7f\xbc\xa1\x75\xba\xdd\x9e\x55\x97\xc6\xd4\x3d\xb6\xca\x46\x54\xe6\xd2\xdf\xde\x36\xf2\x8a\x3d\x6b\xaf\xee\xed\xe1\x9a\xec\x99\x33\x49\xde\xc5\x1a\xe0\x25\xec\x5e\xea\x47\xa3\x11\xb4\x97\x3f\xf5\x05\xb6\xad\x2a\xdb\xa5\xe0\xe8\x81\xca\x82\x36\x96\xe3\x45\x0d\x0d\x06\xfa\x61\xcc\xd3\x35\xcb\x04\x4f\x83\x19\x9a\x41\x91\xfb\x6a\x3e\xc3\x6c\xf3\xb1\xf1\xb8\xd1\x2f\xfe\xe0\x17\x97\x2d\x78\x20\xec\x47\xab\x52\x14\x23\x71\x21\xd2\x2f\x6c\x19\x64\xac\x57\x01\xc4\x36\x83\xd6\x3e\x4c\x3a\x34\xd7\x59\xba\x14\xee\x30\x6e\xee\xfe\x29\x3e\xb5\xe9\x30\x59\xf9\x4c\xa4\xab\x30\xb3\xd2\x7f\xae\x82\x56\x98\x9d\x42\x2b\xdb\x41\x2d\xc8\x74\x88\x8a\xde\xf2\x3a\x8c\x42\x89\x0f\xc7\xcf\x6f\xec\xe0\x28\x8c\xf5\x15\x96\xc1\x5b\xab\x4a\x29\x39\x0f\x63\x76\xc4\xda\x0d\x36\xe7\xd7\xec\x88\x15\xdf\xc4\x54\x5c\xc0\x26\x3a\x83\x60\x8b\x89\x8e\x18\x2a\xb1\xf4\xa7\x52\xa3\xf3\xf6\xc7\xf3\xf6\x47\xf6\xf9\x33\x60\xf1\xc7\xf2\xf7\x39\xbf\xfe\x78\xee\x7f\xac\x8a\x27\xaa\xfd\x31\xe4\x78\x7e\x3c\x92\xe3\x53\xce\x18\xf3\x70\xc2\x8e\xd8\x4b\x9e\xcf\x5a\xd3\x28\x49\xd2\x5a\x4d\x0e\xfe\x89\x1c\x79\x9d\x6d\xb1\x8e\xe5\x28\xb5\xa9\xdf\x70\x02\xfd\x6a\xef\x0e\x9c\xbd\x04\xfc\xa4\xc2\xdb\x65\xc3\xec\x00\x4a\xdb\x86\x02\xa8\x93\x50\x9a\x05\x28\x85\x40\x84\x26\xab\x9f\x0e\x3f\xe8\xce\xde\x8e\x8c\x57\xbd\xac\x40\xe9\xa0\x91\xb8\x03\xb1\x0f\x39\xa6\x2b\xbe\xe1\xcd\xf6\x1f\x4b\xfe\x55\x9a\x13\x30\xc0\xb5\x07\x64\x11\x7e\xf1\x5d\xba\x44\xff\x9b\x49\x58\x6b\x50\xee\x43\xc2\xba\xd1\x06\x12\x36\xdf\xff\xb1\x24\x6c\xf5\xfb\x0d\x24\x5c\x80\xf2\x87\x93\xf0\xb1\xca\xa0\x57\x69\xc2\x55\x41\x24\xdf\x87\x1c\x75\xab\xb3\xbb\xf7\xaa\x69\x4e\x96\x2a\xa3\x85\x32\xb9\x49\x94\x6e\x34\x9c\x50\xd8\xa4\x71\x14\x01\xbe\x85\x06\xba\x36\x00\x2d\xc5\xb5\xde\xd0\xf6\x38\xcc\xd2\x4d\xcd\xbf\x09\xe3\xda\x60\x50\x19\x8e\x48\xd6\x72\x2b\xdb\x28\xa5\xca\xfa\x67\x2e\x54\x19\x37\x9b\x4e\x4a\x88\xea\x2f\x99\x28\x1a\xb4\x97\xed\x87\x5a\x16\x4f\x38\x82\xe0\x19\x15\x8b\xa2\xec\x77\x9e\x3a\x0c\x64\x1b\x82\x88\xe3\xae\x05\x47\xcc\x29\xfb\xe1\x07\x86\xdf\xda\xd7\xbc\x5d\xaf\x02\x65\xdb\xf4\xa8\x20\xb3\xaf\x17\x79\x38\x0f\x7f\xc7\x8c\xeb\xbd\xd3\xc1\xc9\xc9\x86\x01\xfe\x09\x7a\x71\xc0\xfa\x0a\x48\xbf\x78\xf8\xa3\x7d\xd5\x46\xab\x9a\x96\x4b\xdb\x24\x71\x00\xf2\x9c\x0e\xda\xaa\x03\xcc\xee\xca\xd3\x34\xbc\x12\x94\xe0\x55\x8e\x89\xcc\x79\xb9\x65\xcb\x98\x6c\x34\x9e\x6c\x19\xde\xe1\x53\xa0\x4c\x83\x3f\xdf\x6f\xb7\xd9\x0f\x3f\x20\xf3\xc1\xf9\x62\xf1\xee\x54\x22\xda\xfe\xb7\xb5\xe5\xd8\x00\x86\x71\x98\xb7\x2c\x8b\x3f\xe2\x5f\xb8\xa6\x70\x79\xea\x1c\x28\xc6\xae\x0a\x38\xfb\xfc\x99\xea\x99\x21\x74\xc4\x7e\x5b\x2f\xa2\x2c\xe0\x3b\xc1\x54\x8f\x09\x21\x3e\x3c\x82\x37\xa2\xed\x69\xdd\x1d\xd5\xd6\x16\xb8\x69\xb4\x5a\x2d\xf6\xdf\x61\x09\x32\x0f\xda\x2e\xe4\xc9\x1e\xdf\x46\x08\x66\x32\xa7\xeb\x28\x92\xab\x96\x95\x9a\x4f\x0f\x0a\xcd\xa7\x7c\x3a\xd5\xcd\x65\xbf\x03\xc7\xa1\xe5\x44\xf9\xaa\x55\x80\x12\x7e\x01\x94\xf0\x0f\x34\xa8\xf7\x22\x85\xec\x31\x60\xec\x59\xd5\x78\xbb\xd8\xb8\x7b\xd3\x38\x46\xd5\x50\xa6\xc5\xd9\x4c\xbb\x6d\x0d\x65\xb4\x8c\x22\xe4\x09\x9b\x5a\x8b\x62\x6b\xd1\xad\x57\x2e\x27\xf8\x8e\xdb\x55\x3b\xd3\xe9\x74\x52\x59\x77\xbb\x54\x77\x1b\xea\xa2\xe7\x2e\x05\xcc\x3b\x64\x62\x9e\xfc\x16\xda\xc6\x82\xcb\x6c\x09\x9e\x1b\xca\xdc\x1d\xc5\x7d\x08\xbb\x11\x4e\x5c\xaf\x9c\x48\xf2\xdd\x8b\x19\x82\xb3\xe4\x22\x9c\x6c\xb6\x10\x01\xcb\xf8\x1a\xf6\xd3\x4c\x0a\xe2\xec\x14\xfd\x03\xe4\xb6\x9b\x4c\xa0\x42\x08\xb6\xb6\x99\x4e\x30\x26\xe6\x3f\x7d\xdb\x61\x50\x3c\x04\x8c\x6b\xcc\xbf\xfa\x21\xf0\xf6\x0e\x27\x80\xc3\xe0\xec\x83\xbb\xcc\xe7\x36\x59\x32\xda\xe9\x08\xee\x7c\x46\x7f\xc5\x92\x98\x30\x25\x55\x31\x46\xb3\x3c\xd5\x31\x6e\xbf\x16\x9f\xc5\x40\x28\xab\xa0\x95\xe5\x65\xc9\xc7\x09\x82\x41\x8e\x5b\xe9\x15\xd9\x9f\xde\x1a\x0a\xc3\x09\x44\x67\x85\x82\x82\xd0\x06\xea\x6f\x2b\xbe\xc1\x8a\xba\x2f\xa2\xb6\x14\xeb\x48\x2e\x25\x56\xfe\x93\x3a\xa4\xf5\xba\x34\x49\x7e\x4d\xaf\xd8\x93\x23\x04\x49\x8d\xe4\xdf\xb5\x42\x8c\xa8\xe9\x54\xb2\xce\x9f\x98\xcf\x0e\x31\x0e\x81\x2d\xd2\xa6\x57\xce\xea\xfd\x2c\x28\x5f\xf3\x72\x4c\x91\x47\x28\x85\x20\x91\x28\x22\x3b\x99\x4e\x33\x91\x17\xa8\xd7\x5a\x87\x9b\x56\xd5\x0d\x97\x72\x21\x72\xab\xaf\x69\x9a\xcc\x5b\x95\xfb\x0d\x03\xf1\x53\xc0\x65\xf4\x44\x77\xc7\x52\x84\x55\x0d\x26\x59\xe4\x9f\x10\xa9\x9b\x48\xc7\x01\xf0\xa0\x2a\xf4\xf2\x59\xb1\x96\xa1\x2e\x28\x2d\xd0\x16\x25\x11\x68\x98\xbe\xad\x64\x74\xf2\x0b\x44\x3c\x6e\x30\x11\x4f\xe8\xb7\x95\xde\x86\x40\x7b\xa6\x12\x5e\x01\x57\xda\x3c\xda\x6a\x5f\x88\xcf\x62\x3e\x98\x40\x2d\xd8\xee\x49\x05\xe9\x15\x02\x9d\x98\xc6\xf5\x12\x2d\xfe\x88\xa0\x15\x3d\x8e\x53\xc1\x2f\x9d\xdc\x33\x06\xc3\x0f\x8f\xd8\x32\x26\xbb\x7f\x27\x29\xb2\x9a\x29\x26\xc9\xd1\x08\x30\xf3\x7a\xa0\x65\x0c\x5d\xd5\x9e\x9e\x3c\xb4\x68\x67\x1c\x19\xac\x5a\xad\xee\x3c\x53\x05\xbe\x5e\x37\xf8\x7f\xf2\xa4\x62\xd2\x66\xed\x1e\xb8\x03\x53\x21\x33\x54\x32\xea\x3c\x6d\x69\xda\xa8\x55\x2d\x6f\xbd\xb8\x01\x4d\x13\x1b\xf1\xa5\x4d\xb9\x61\x43\xe2\xbe\x40\x27\x9b\x89\xbb\x25\xfe\xf1\x9b\xb0\xba\x95\x1c\xd8\x19\x84\x41\x9d\x54\xb6\xf8\xaa\x4d\x56\xc8\x62\x69\xef\x33\x11\x4f\x9c\xc0\x56\x4e\xbb\x62\x4d\xd6\x24\x82\x06\x84\xcb\xaa\xa9\xc0\x90\x20\x2d\x3e\x99\xd4\x3c\x0a\x4c\x12\xcc\x78\x7c\x21\xa2\xe4\x62\x8b\x5c\xc1\xbc\x06\xf3\x72\x71\x9d\x6f\x2d\x22\x1e\xc6\x5e\xe3\x81\xe7\xb7\xfc\xae\xc7\x9e\x3c\xf0\xbc\x07\x75\xca\xcc\x79\x0b\xa8\x09\xcf\x45\x19\x4e\xa7\xed\xef\x35\xdb\xfb\x4d\x07\x5a\x31\x5e\xca\x4c\x9e\xb1\x5b\xbf\x65\x5b\xf0\xcb\xff\xf6\xe8\xcc\x80\xab\x7c\x22\x16\x80\xa4\xd6\x69\x9e\xa4\xfc\x42\x40\xd2\x7b\xda\x01\xff\x21\x1b\xca\xfe\xaf\x42\xb1\x62\xc7\x22\x88\x78\x4a\x6e\x73\x88\x81\xc7\x90\xb6\x00\x65\x51\x0c\x9d\x3f\x17\x6c\xcc\xb3\x30\x60\xd9\x8c\xa7\x62\xc2\x96\x90\xed\x26\x54\x39\x00\x78\x8e\x5e\x42\x49\xc2\xb2\x39\xb8\xf9\x27\x6c\x82\x98\x60\x13\x81\x59\x09\x27\x30\x5e\xca\x65\x2b\xf9\x35\xf4\xa5\x1d\x61\x8c\x67\x1f\x64\xe1\x00\xef\xeb\x78\x92\xac\xd8\x2c\x41\x97\x6a\x1c\x5a\x21\x7c\x89\x3c\xac\x78\xc6\x16\x72\x2b\x25\x53\xaa\x23\x2f\x74\xb5\x7a\x8b\x59\x89\x8a\x64\xed\xf8\x8a\x47\xe1\x84\x2d\xe3\x3c\x04\xa7\x61\x88\x79\xc0\xa3\xf0\x77\x1d\x41\x05\x33\xd3\xe2\x08\x11\x14\x8e\xe1\x4c\x8e\x48\xa7\x7b\x54\xd1\xee\x79\x0a\xf7\x55\x2b\x56\x3b\x79\xb6\x9b\xd4\x17\x14\xb1\x00\x42\xe8\xa9\x90\xd6\xbf\x27\xc9\xdc\xf6\x8d\xa2\x19\xfd\x77\xb2\x84\xf5\x56\x91\xb1\x21\x43\x46\x3e\xd3\xe9\xd5\x59\x94\x04\x72\xb0\x42\x67\x42\xb7\xc7\x29\x81\xd2\x80\x4c\x56\x4d\xef\x2f\xaf\x5f\xbf\x94\x27\x87\xdf\x6e\xff\xbb\x15\x35\xa7\x9f\x86\x62\xca\xd0\x5a\x6d\xad\xc7\xaf\xdd\xf2\x71\xb8\x72\x1f\xc9\x61\x06\xc9\x82\xc2\x57\x80\x04\x1a\x85\x8b\x71\xc2\x53\x3d\xec\xfe\x9a\x4d\xc4\x94\x2f\x23\x48\xec\x43\x1e\xf4\x4a\x92\xef\xbf\xe8\x0d\x9e\xb3\xd3\xc1\xc9\xe9\xe9\xeb\xb7\xa7\x96\x7f\x2e\x38\xe7\xae\x71\xc6\xe4\xbd\x7c\x8f\x49\xdb\x04\x00\x8e\xc0\xc5\xa1\xcf\x04\xf3\x10\xbd\x4d\x3d\xe0\x66\x9c\xe4\x61\x20\x3c\x2b\xaa\x03\x10\x81\xb3\x10\x0a\x9d\xb2\xee\x74\x2d\x59\x80\x85\xcd\x5f\x96\x9d\xbd\x76\x47\xe2\x51\x53\xab\xc4\x51\x36\x93\x03\x0d\x63\xc6\x25\xc9\x5f\xe6\xc9\x82\x41\x73\x8a\xc6\xa2\xfd\x9f\x15\x35\x80\x6f\xb2\x88\xa2\x16\x63\xbf\x2c\x3b\x9d\x2e\x06\x53\xd4\x38\x1b\x9e\xfc\xfc\xec\xec\x19\x7b\xf5\xfa\x6c\xd8\x60\xff\x5e\xcb\xc3\x3c\x12\xf5\x42\xe2\x4b\x89\x2b\x1d\x40\x44\x53\x19\x54\xb5\x67\x41\xc3\x79\x65\x8d\xe6\x4c\xd6\xa1\xc9\x74\xbb\x3d\xd3\x01\xfe\x6d\x11\xc9\x0b\x32\x6c\x84\xf0\x8e\xb4\x57\xc1\x7d\x17\x12\x9a\xeb\xbb\x5c\x0f\x0b\x67\x3c\x8d\x45\xa6\x7d\xd2\x29\x91\xb3\x4a\x99\xbd\x06\xb7\x3d\x0c\xe7\x42\xd9\x3d\xd3\x65\x1c\xeb\xc3\x08\x87\x2b\x01\x1d\x8b\x05\x58\x30\x7a\x58\x74\x1a\xa4\x49\x14\xbd\x49\x52\x4c\x9f\x97\x49\x06\xaf\xbf\x08\x11\xab\xd2\x07\xac\xf4\x8f\xea\x9d\x11\x76\x8a\xed\xdf\x9f\xdd\xde\xf6\xfd\x59\x6b\xc0\xe3\x58\x4c\xb0\xe6\x47\x97\x4d\x21\x4a\x24\x13\xd1\x27\x67\x83\xa5\xe2\x22\xcc\x20\x1d\x2e\x12\x32\x1e\x5c\x58\x76\x82\x6c\xa9\x40\xc0\x94\xbf\x64\xb2\x84\x53\x58\xd6\x0f\x9d\x7a\x4a\x02\x50\x7d\x7c\x61\x49\x2c\x21\xa1\x13\xb4\x7a\xe9\x31\xed\xd8\x0a\xbc\x56\x97\x10\xed\x21\x8c\xaf\x92\x4b\x01\xbb\x42\x3d\x19\x16\xb8\x1e\xec\x70\x93\xec\x73\xeb\x41\x69\xc4\x88\x0c\xaf\x61\x65\x93\x80\x01\xa0\x58\xa0\x47\x90\xc4\x1f\x80\x57\xd6\x90\x65\x2a\x19\xb5\x82\x8d\xe2\x1f\x2d\xc9\xe6\x51\xdc\xb3\x12\x74\x22\xe8\x06\x6b\x1b\xc9\xce\xea\xe1\x8c\x8f\x6b\x39\x1f\x3b\xc9\xd2\xf8\x18\x25\x58\x80\x19\xc8\xd3\x59\x58\xb1\x0d\xe1\x6f\xea\x1e\x32\xef\xc8\x06\xf4\xf7\xc9\xa4\x01\x2c\xbd\xa1\xc7\x5e\x9d\x14\x4c\xa5\x3b\x48\x2f\xc2\x78\xc2\xeb\x87\x7a\xe9\x20\xb4\x13\x5b\x81\x30\xc6\x96\x0b\xf4\xaf\x67\x57\x3e\xe3\x8b\x85\x97\x41\xc0\x98\x8b\x14\x0e\xee\x05\x72\x2e\x05\xee\x25\x5f\x8f\x05\x73\x90\xe2\xc5\x49\x2c\x3c\x0a\xf9\x31\xa6\x84\xb1\x56\x7c\x17\x48\xb1\xab\xc3\x15\x28\x58\x15\xd8\xf5\x62\x88\x3f\xa1\x63\xc8\x6e\x44\x6e\x21\xa5\xd9\x43\xc5\x33\x80\x99\x93\xd4\x60\x63\xda\x41\x31\x84\x83\x44\xe4\x66\x58\xb5\x5c\xd2\xca\xd6\x71\x60\xd6\xa2\x0a\x3e\x65\x08\xb7\xe4\x94\x16\x08\x58\xa2\x56\x05\xaa\x72\x75\xee\x08\xf6\x85\x3c\x48\x6a\xc5\x89\x53\x32\x04\xea\x2c\xe7\xe3\x4c\x25\xac\x88\x13\xc9\xe9\x16\x14\x45\x2e\x8c\x19\x05\x77\x83\x34\xdc\x19\x45\x5b\x10\xb9\x08\x72\x7c\x5b\x45\x60\xeb\x64\xe9\x41\xd0\x0a\xbb\x36\xf2\xf7\x28\xcc\x25\xeb\xe5\x2b\x08\x22\xa4\x5e\xd3\xc3\xec\x0d\xd5\xec\x2d\x16\xc6\x91\xf6\x66\x8c\xa7\x52\x84\xa9\x2a\x91\x04\xfe\x92\xc7\xe1\x54\x64\xb9\xad\x4a\x99\x53\x19\x3b\xba\xa1\x81\x42\x4e\x71\x48\xaa\x71\x4b\x4e\xe5\x87\x1f\x9c\xbf\x5b\x86\xc6\x9d\x7b\xab\x03\xc3\x8a\x6d\xfa\xc6\x46\x22\x88\x8c\x10\xdd\xc6\x3a\xc0\x43\x23\x28\xc9\xe5\x68\x95\x19\x04\x6e\x55\x4c\xdd\x8b\xdb\xf7\x6f\x92\x95\x1c\x32\x6f\x91\x2c\x96\x0b\xef\x4b\x5d\xb3\x0f\x9b\x52\x6e\x42\xa8\xec\xc9\xc9\x62\x28\x89\xe2\x42\xe4\x03\x4a\xd6\x81\x79\xa5\x64\x09\xca\x37\x92\xe9\xc0\xd9\x16\x66\xec\x11\x65\xf4\x88\xd6\xea\x4c\x7b\x84\x09\xe1\x20\xb0\x8b\x02\x98\x27\x8b\x79\x22\x0f\xd4\x94\x4d\x93\x00\x33\xa8\xf1\x71\xcb\x65\x53\x30\x61\xd3\x6d\x0d\x18\x5e\x35\xd5\xdf\x11\x23\xc4\x0b\x0c\x4a\x14\xed\x7f\xa9\x97\x12\x89\x4d\x44\x10\xce\x79\xc4\xfe\xa6\xd4\x76\x33\x01\xd7\x9f\x2f\xc4\xd7\xf0\x8a\x3c\x49\xe6\x18\x35\xd1\x3a\xb8\xe5\x90\xa3\x50\xc4\xf9\x69\xf8\xbb\x63\x75\x32\x49\xe6\xce\xe5\x71\x92\x40\x65\x08\xd2\x1e\xc6\x17\xd8\xe8\xad\x08\x80\xf6\xca\xa9\xcd\xd4\x88\xac\x80\x49\x77\x19\x45\x49\x27\x79\x8f\x61\xb4\x48\xfb\xb1\x79\x30\x84\x95\x3b\x8f\xe6\x19\xd6\xff\xca\xe1\x60\x6f\x6e\xa2\xe0\x64\xb1\x2e\xa4\x92\x89\x84\x4e\x39\x0a\x5a\xb7\x75\x96\x8b\x79\x59\x56\x57\xa2\xc4\xb3\xb3\x97\x2f\x8e\x93\x00\x92\x3f\x51\x2c\x6c\xfa\xcb\xa4\xe2\x71\x80\x06\xc9\x62\x6d\x4f\x4e\xfe\x7d\xaa\x2a\x9c\x25\x03\xd5\x91\x3b\x4b\x04\x59\x4c\x70\xa6\xca\x5b\xe2\x5a\x04\x83\x64\x3e\xe7\xf1\xa4\xe6\x49\x88\x9e\x9b\xeb\x6c\x1a\xa6\x62\x9a\x5c\x0f\x55\x82\x27\x8b\x8d\x9c\x5c\xc4\x98\x4f\x3d\xcc\x5a\x6c\x34\xaa\xca\x5a\x47\x56\x25\xf2\x7c\xe6\xf8\x25\x4d\x93\x94\x82\x88\xe9\x97\x14\xdc\x9b\x72\xba\xfa\xf9\xe4\x37\xcc\x74\x6f\x2c\x14\x5a\xc5\x37\xf3\x37\x3c\xcb\x45\x25\xa2\x31\x40\x06\x64\xa9\xc1\x48\x11\x88\x4f\xd8\xf1\x6a\x11\x5e\x25\xb9\x38\x64\x27\x31\x6a\x12\xc4\xd6\x08\xa7\x29\x39\xe2\x96\xb8\xce\x45\x0c\x21\x7e\x44\x7c\x15\xa6\x49\x0c\xe9\xb9\x20\xdb\xbb\x17\x45\x18\xe3\x9b\xe2\x45\x3d\xd2\x9d\xbe\x15\x7c\xf2\x88\x2d\x74\x78\xa0\x16\x93\xd0\x31\x39\xaa\x0b\x06\x73\xe4\x01\x39\xf2\x68\xc5\xd7\x70\x79\x87\x54\x61\x14\x28\x4e\x71\xde\x29\x24\x66\x07\x9e\x36\x8e\x92\xe0\x32\x63\x3c\x08\xa4\x78\x2f\xa9\x3e\x13\xc1\x32\x0d\xf3\x35\x4b\x05\xcf\xac\x68\x6a\x77\xa0\xae\x3c\x61\x0b\x40\x9e\xc4\x53\xeb\x76\x93\x20\xac\x9c\x2d\x83\x40\x88\x89\x7b\x43\x83\x4f\xa3\x34\x99\xdf\x8b\xf8\xf4\x8e\xab\xa2\x41\x00\xf9\x95\x44\x28\xa9\x70\xa7\x0d\x52\x41\x12\x4d\x44\x4a\x82\x5c\x18\x07\x49\x9a\x0a\xc8\x2a\x4d\xf9\xcb\x5c\x1a\xb5\x68\xb0\x40\xaa\x10\x8f\x4d\xf0\x89\xbc\x83\xe1\xb0\x41\x9d\xa8\x28\xb2\x6c\x43\xe4\xd0\xe8\x20\x15\x18\x6c\x4e\xca\x41\xf6\x75\xb4\xb8\x5a\xaf\x21\x23\xed\x17\x06\x7f\x66\xec\x3d\x4f\xc3\x64\x99\xe1\x9f\x02\x1e\x1e\xd5\xfd\xb5\x08\xa5\xa4\x0a\x45\x10\x2d\xb8\x50\xa2\x22\x07\x7e\xab\x91\x6c\x96\x29\xf6\x84\xa7\xb0\x97\xe1\xf7\xfa\x4d\xb0\xc6\xc9\x64\x8d\x39\x58\xe9\x1a\x0e\x05\xb5\x39\x0f\x51\x41\x51\x2f\x5f\xda\x6d\x32\x40\x28\xe6\x85\x60\x22\xa6\xec\x88\xd5\x24\xe3\x6c\x48\xc4\x45\x52\x7c\xa9\xb3\xa3\x1f\x81\x97\x42\x06\x5a\xad\x64\x67\x3f\x61\xe1\xa1\xae\xa8\xc4\x32\x42\xd5\x91\x53\xfb\xf3\x67\x66\x95\xcb\x53\x18\x95\xdb\xaa\x10\xb5\x5c\x28\xfd\x8b\xf4\x02\xf9\xc7\x32\x13\xa9\x97\x51\xc0\x41\x2b\x0f\x9a\xd2\xa8\x64\x18\x5a\x4d\xd2\xd7\x07\x41\x69\x24\x72\x7e\x29\x58\x98\x23\xa8\x49\x48\xc4\x15\xc6\xf0\xb0\x0b\x0a\x14\x9e\xb1\x2c\x5f\x4e\xa7\xea\x0e\x2a\xe9\x2d\x93\x8c\x2d\xbe\x54\x62\x27\x26\x74\x85\x61\x91\x40\xe1\x49\xcc\x7a\x87\x36\xe2\xd5\xcd\xd8\x0b\x83\x24\xf6\x0e\xe5\xa8\x68\xee\x2d\x59\xd2\x60\x8e\x56\xf6\x42\xe4\xc7\x3c\xe7\xef\xd2\x88\x6e\x8c\x5b\xe1\x9c\x5f\x88\x6c\x4b\xd6\x6d\x1e\x74\xbd\x3a\xe4\xee\xf8\xa2\xb2\xab\xe6\xa4\x89\xb0\xa0\x42\x51\x43\xdd\xe5\xf4\x26\x45\x32\x51\xd8\x7f\x88\x7f\xc2\xd8\x14\x0c\xba\xa2\xca\x2a\xaa\x48\x8e\x6d\xda\x22\x5d\xc9\x7b\x9e\x66\xb5\x9b\x75\x22\x0d\xf6\x37\x0f\xda\x7a\x87\x08\xe3\x4b\xdd\x24\x82\xa5\xfb\x84\xdd\xa8\x46\x83\x25\x4c\xc2\xf0\xe2\x56\x12\x07\x51\x18\x5c\x96\x33\xc3\x31\x35\x2b\x38\x0b\x94\xa8\x8d\x19\x6e\xa2\x24\x13\x94\xe7\xf3\xa9\x91\x0a\xe2\xc2\xa1\x1f\x67\x79\xba\x0c\x72\x10\x20\xa5\xe8\x41\x6a\x10\x29\x71\xa5\x22\x48\xcc\x29\x7f\x42\x71\x1c\x33\xad\x7a\x86\xe0\x94\x18\xe3\x68\xb1\x1c\x47\x61\x20\x59\xf7\x64\x6b\x05\xe9\x3a\xe7\x62\x3e\x56\xdb\xdc\x44\xe1\x44\xb9\x63\xe3\x83\xbd\x79\xf5\xb3\x9e\xfb\xc2\xcc\x1a\x49\xb9\x0d\x09\x4e\xa0\x3a\xc1\x5f\xcb\xad\xd4\x56\x2e\x0a\x92\x8e\x44\x6a\x25\x64\x54\xaf\x5c\xfa\xcd\x0a\x4a\x67\x4a\xe4\xaa\x90\x9e\x7a\x13\x38\xe0\x4d\xfc\x57\x33\xdb\x8a\xf1\xdc\x32\x79\x49\x14\x5f\x85\x00\xd9\xf0\x4e\x48\xb0\x52\xbe\xa5\x22\xfb\xc3\xb0\x42\x32\x2e\x07\x49\x6f\x13\x1e\xd4\x51\x6d\x46\xf7\x85\xf5\x70\x2a\x66\xd1\x74\x14\x51\x23\x49\xf2\xb9\x85\x6b\x88\x95\xa8\x89\x6b\xc3\x54\x83\x28\x89\x45\x79\x13\xa9\x9d\xe1\xf4\x58\x33\x53\x6e\xd8\x13\x75\x6f\x14\xa7\xf4\x12\x4f\x48\xc0\xc8\x87\xf6\xc2\xe9\x71\xeb\x40\xce\x2a\xc1\xbc\x35\xc2\x02\x45\xd8\x88\x80\xeb\x20\x84\x90\xa7\x14\xef\x28\x35\xeb\xf7\xbf\x0d\x33\x95\xf7\xb8\xc4\x9e\xa9\x84\x53\xb1\x94\xb2\xb8\xb5\x61\x3d\xe1\x5b\xc5\xa2\x82\xf5\x62\x38\xad\x98\x88\x99\x6d\x98\x51\xb4\x72\x38\x9b\x41\x9f\x7e\xc7\x69\x6e\x02\x79\x8b\x58\x37\x4e\xf2\x99\xae\x4b\x4c\xc9\xa5\x92\x2d\x9c\x4a\xe3\x46\x4f\x87\x4a\x64\xc2\x4c\xb2\x6a\x6c\x2a\x6b\x64\x0b\xa9\x36\x56\xd9\x0f\x3f\xb8\x58\xdd\x8c\x56\xbd\x57\xe8\xe1\x54\x47\x5e\xe5\xb9\x9d\x70\xc7\xc6\x47\xe5\xa3\xac\x4e\x3a\x8d\x9a\x04\x4c\xa6\x1e\xd2\x3b\xdc\x26\xde\x64\xb4\xb8\x06\xfa\x06\x6c\xe4\xc9\x69\xe9\x65\xd7\xc1\x85\x77\x6e\xda\x59\xe9\xc9\xe9\xbd\x9f\x79\x0d\x53\x46\x83\x80\x84\xe7\x77\x3a\x97\xde\x26\xab\x41\x12\x7d\xbf\x93\x09\x45\x67\xf5\x26\xef\xe8\xd0\x11\x06\x46\x08\x14\x20\x3f\x7b\xc9\x95\x48\xa7\x51\xb2\xf2\xd8\x38\x54\x91\xc4\x31\xe7\x39\x2a\xc5\xf1\x41\x92\xde\x2d\x41\x33\xae\x02\xbc\xcf\x78\xc6\xc6\x42\xc4\x6c\xce\x27\x50\x79\x9e\x10\x81\x52\x48\x7b\x7a\x70\x57\xe9\x8c\xf1\x25\x9e\xcc\x5d\x24\xa0\x0c\xdf\x25\x98\xca\x88\x1b\x66\x3a\x7b\xd2\x4a\xb0\x48\xf0\x4a\x70\x64\x73\x03\x49\x9e\x79\x96\x53\xf1\x03\x1d\x1b\x9a\xc0\xc2\xb3\x59\x46\xac\x4c\x4d\x52\xce\x11\xef\x7c\xf8\xce\x0c\x51\xa6\x09\xbc\x1c\xbd\x94\xa1\x80\xeb\xd2\x30\x50\x27\x14\xad\xf1\x11\x8e\xc7\x6b\x3d\x79\x79\x3d\x4b\xc3\x38\x07\x0e\x6b\x99\x1e\x06\x9c\xb2\xc5\x07\xe9\x56\x04\x51\x1f\x21\x2a\xfe\xc6\x03\x52\x2e\x96\xe4\x11\xf2\xe7\x5d\x0e\x46\x42\x82\x65\x44\x74\x43\x2b\xcd\x51\x92\x45\xfe\x49\xe3\x40\x67\xce\xa6\xcf\x6a\x91\xf5\xfe\x92\x18\x43\xa2\x54\x5b\x48\x2e\xb5\x6a\xef\xde\x2d\x89\x78\xad\x7d\x93\x26\xab\x06\x8d\xad\xe1\x74\x6c\xb1\x6a\x39\xdb\x23\x39\xe7\xa7\x26\xf7\x2e\x4c\xe6\x88\x5a\xea\x72\x3d\xea\x23\xf6\xf0\xa1\x0d\x6d\x93\xa4\xe2\x52\xff\x5d\xe5\x14\xb5\x0c\x72\x35\xbf\x62\x29\x80\x08\xfe\x75\x96\xc3\xe2\x6c\xb0\x27\xff\xc9\xab\xf3\x15\x12\x13\xce\xc3\x95\x99\x88\xd4\x36\x48\x4d\xb4\xee\xe0\xf0\xa4\x19\xdf\x46\xb4\xdc\x55\x6a\xc2\x86\x35\x85\x96\x86\x8d\x8e\x86\x8b\x83\x6a\x21\x6a\x03\x39\xde\x26\x42\xd1\x80\x2b\xa5\x0b\x85\x9b\xbb\x8a\x51\xa5\xc9\xdf\x26\x48\xe1\xfa\xc3\x99\x5e\x49\x04\xf0\x65\x33\x25\xc0\xe7\x4a\x42\xa8\x96\xb2\x8a\xeb\x7a\x77\x39\xab\x8c\x89\xcd\x60\xbf\x45\xd6\x4a\x93\xd5\x96\x5a\xf3\xdb\x25\xad\x12\xbe\xef\x20\x6b\xd5\x0c\xe2\x0d\xe6\xb5\xa0\xa5\x30\xef\xa0\xde\x72\x96\x60\xa5\x45\x28\xac\x42\xe5\x93\xc1\x1f\x2b\x95\x55\x13\xfe\x4d\x32\x59\x09\x6f\xb7\x4a\x65\x35\x25\x96\x61\x53\x4b\x30\x93\xbd\xbb\x62\x19\x8d\x43\x15\x6e\x44\x1d\xc8\x6d\xf5\xca\x5c\x61\xae\xed\xdb\xa7\x69\xca\xe7\xe2\xff\x98\x05\xdc\xd4\xb6\x7d\x1b\x41\x3e\x9f\x49\xca\xa7\xda\xe2\x1a\xfc\x9c\xa7\x3c\x30\x79\x44\x1d\xb3\x1a\xb9\xe0\x9c\x41\x32\x35\xb0\x33\x5b\xb3\x49\xc8\xa3\xe4\xa2\x68\xc8\x01\x29\xea\xa5\x20\x96\x7b\xf4\x8a\x60\x83\x69\xfe\x88\xad\x58\xc4\xd7\x22\x6d\x31\x76\x96\x68\xc3\x0b\x06\x6f\xfa\x98\xfb\x40\x78\x51\x84\x69\x0b\x28\xa3\x67\x80\xea\xe9\xe6\x8f\x7a\x40\x1a\x82\x44\x10\x84\x91\xc7\x9d\x9d\xb0\x29\x0f\xc2\x28\x94\x02\x20\x1e\x19\x85\x96\x7a\x0c\x49\x4a\x9a\x43\x53\x87\xbe\xc8\xbf\x97\x71\x41\x57\x7c\xc2\xc2\x39\xbf\x40\x27\x04\x2d\x70\x43\xc7\x68\x7e\xc9\xb2\xf0\x22\x06\xcd\x18\x3c\x19\x90\x0d\x96\xc9\x1b\xda\x72\x82\xf7\xeb\x2b\x03\x69\xa7\x81\xe4\xb4\x96\x19\x5f\xd4\xd4\x88\x0b\x2c\x52\xa3\xe0\x6f\xae\x71\x0f\x3e\x33\x2c\x38\x3c\x87\xe9\x4a\x78\x84\xd8\xd2\xca\x32\x8d\xdc\xfc\xa1\xb2\x20\x4f\x58\x94\x70\x4d\x5a\xb8\x03\xac\x46\x20\x02\x90\xbe\x54\xab\xcb\xb5\x80\xa3\xbe\xa8\xf1\x63\x73\x06\x09\x3c\x74\xc0\x70\x57\x9e\x19\xc1\x84\x6d\xce\x49\x23\x6e\xc8\xf1\x34\xec\x0e\xad\x03\x4c\x55\xfa\x24\x4f\x23\xfa\x5d\x9f\x54\x93\xf0\xca\x2e\x87\xbf\xf5\x47\x39\xc9\x23\x09\xda\x1c\x6c\x5a\xfd\x6b\x4f\xee\xf3\x67\x50\x52\x53\x9d\x10\x66\xf2\x49\x9b\x3d\xea\x03\x13\x13\xbc\xa6\xa5\x2f\xa4\xa2\x1f\xcc\x78\x1c\x8b\xc8\x7c\xb6\x98\xf4\x33\x4c\x3c\x4b\x35\xad\x74\x75\xa1\xc6\xba\x83\x24\x8b\x6f\x26\x31\x59\xe2\x7d\xb2\x31\x47\x06\x2a\xd9\x2a\x84\xd7\x1a\xd1\x82\xac\xc6\x31\x37\x36\x40\xa0\x15\xf7\xc2\x45\xd0\x0c\xe3\x30\x6f\x26\x97\xde\xa1\x79\x95\xff\x00\xaf\xfc\x4a\x74\xcb\x16\x89\xe4\x3b\x7c\x0a\x6e\xae\x90\x66\x07\x6e\x78\x73\xa6\x9a\x03\x2f\x00\x7b\xb6\x69\x18\x87\xd9\x4c\xbd\xdf\xc3\xfc\x65\x75\x45\x90\x27\xf1\x34\xf9\x54\xab\x3f\x75\x1c\x4d\x9e\x5a\x03\xd2\x5b\x32\x8c\xa7\xc9\x57\x8e\xca\x81\xb1\x69\x68\x92\xdf\xcf\x92\x15\xd2\x26\x7c\x81\xa4\x88\x7c\x2e\x1a\xaa\x49\xcc\x52\x31\x0e\xe5\x2d\x76\x99\xea\x87\x16\xcc\x11\x9c\xd2\xad\xd4\x00\x0b\xe8\x31\x84\x8d\x45\x94\xac\x1c\x04\x18\xd2\x68\x01\x27\x6f\x29\x73\xd8\x23\xe6\x4d\x23\x71\xad\x4d\x92\xaa\xc8\xa5\xb5\x48\xd2\xdc\x6f\x25\xf1\x5c\x1b\x5c\x22\xa9\xaa\x75\x47\xf3\x06\x59\x56\x77\xe0\x24\xf1\x8b\x84\x4f\xaa\x71\x4d\xef\x28\x0a\xb7\xe0\xe2\x19\x89\x56\x94\x5c\xd4\xbc\x77\x31\x5a\x36\xaa\xfe\x80\x16\x01\x31\x87\x5e\x83\x21\x25\x55\x00\x75\x5f\xd9\xe0\xa9\x3e\x63\x01\x3c\xf6\xc9\xf3\x2c\xc5\x34\xc7\x61\xd6\x60\x27\xec\x62\x29\x32\xfd\x3c\x7a\x92\x43\x2e\xa8\xd8\xd3\x76\x45\x98\x4b\x7c\x01\x47\x5e\x96\x8b\x18\xf2\x11\xc8\x3b\xf9\x89\x37\x27\xfb\x23\x65\x43\x89\xaf\x89\x6e\xf2\xa7\x99\x48\x85\x3a\x6e\x16\x69\x32\xe6\xe3\x08\xf2\x03\xe6\xb8\x6a\xd9\x42\xf0\x4b\xf3\x40\x94\x27\xb0\xbc\xc8\x23\xb3\x3b\xed\xb4\x82\x88\x52\xde\xc7\xb8\x6b\x19\xae\x00\xe6\x82\xbe\x19\xb0\xac\xf7\xa9\x2c\xf9\x6c\x62\x1f\x62\xc5\x5e\x3a\xa5\xb8\xca\x5f\x45\x3e\x9f\x0a\xf4\x73\x03\x10\x70\x61\xb0\xba\x22\x4e\xd8\xa2\x8c\x47\x64\x6d\xb3\x48\xb2\x9c\x60\xab\x54\xf6\x7f\x93\x8c\xe7\xd0\x70\x1b\xaf\xc1\x78\x7a\x71\x75\xc8\xce\xff\x46\x3d\xbd\x49\xd2\xfc\x70\x73\xdf\x9d\x2f\x1f\xbf\x34\x6c\xe2\x86\xf3\xe0\x7c\x73\xfd\x8f\xae\x10\xac\xe8\x71\xce\xd7\x2e\x35\xde\xbe\x2c\x9b\x17\xfb\x14\xf2\xe2\x39\xb2\x0c\x30\x1c\xcb\xee\xfd\x6e\x2c\xbc\xc4\x20\xcb\x94\x80\xaf\x76\x17\x22\xef\x05\x81\x58\xe4\x2f\x78\x7c\xb1\x94\x27\x45\x4d\xd7\x8b\x54\x91\xb1\xd7\x82\x09\xda\xcb\xe1\x72\x57\xaf\xc1\xce\xad\xec\xcd\xdc\x85\x7c\xc8\x34\x44\xcb\x12\x78\x9a\xa4\x02\xcd\xda\x06\x49\x94\xa4\x87\x85\x23\x58\x8e\x70\xe4\x56\xa9\xd5\xad\xe6\xc6\x2a\x6e\x63\xf3\xbe\x5b\xc5\x69\x8e\xca\xbb\x8d\x4d\x07\xe6\xb3\xd3\x6c\x9a\xa0\x05\x56\xf5\x68\xf1\x5b\xa9\xc1\x88\xcf\xc3\x68\xbd\xa9\x09\x7e\x2d\xcc\x2d\x13\xef\xde\xbe\x38\x34\x6b\xf5\xee\xed\x8b\x9a\xb7\xe5\xd5\xad\xeb\xc7\x97\x8f\xfa\x0f\x65\x76\x66\xed\x3f\x97\x68\xdf\x65\x22\x65\xf0\x6c\x4a\x0a\x55\x78\x10\x95\x8c\x30\x07\xa3\x5f\x23\x56\x41\xb6\xfe\x54\x8b\xa6\x9b\x09\x7a\x20\x21\x0c\x10\xe4\x26\x7e\xa3\x9f\x5d\x9d\xfd\x93\x64\x24\xe4\xde\x4a\xcd\x38\xca\x12\x6c\x7c\xa2\x2e\x48\x4a\x9f\x3f\xb3\x62\x59\x0b\x39\xf1\xab\x64\x22\xea\x85\x43\xa6\x2c\x6a\x59\x95\x5b\xa9\x98\x27\x57\x62\x30\x0b\x23\xc4\xa6\x55\xcd\xb0\x2c\x42\x81\x9a\xde\x37\xf2\x87\x41\xc5\x54\x0b\x0c\x82\xf1\xfb\xf3\x03\x6b\xcb\xda\xc0\x63\x94\x4d\xd2\x8b\xab\x22\x46\x0b\x2c\x90\x6c\x00\xc0\xac\x46\x9e\x15\xc3\x34\x4d\xd2\x9a\xa7\x40\x06\x58\x4d\x1b\xf3\x8a\x9c\x2d\x17\x2d\xaf\x6e\x10\x5c\xcd\xfe\x6d\x4e\x42\x1c\xdd\x0c\xe9\x10\xfe\xff\x52\xd0\x8b\x29\x01\xeb\xdd\x09\xdd\x03\x6c\x02\x52\xfe\x02\x74\x5a\x66\x69\xa0\x86\x24\xaf\x1d\x82\x1c\x92\xc8\x38\x0b\x0d\x4d\xb5\x5b\xc0\x8d\xec\x74\x06\x9a\xa9\x02\xfd\x81\x23\xac\x88\xa6\x74\x00\x3e\x75\x2d\xe8\x17\x39\xa1\x97\x24\xa3\xf7\x3c\x5a\x3a\x46\xde\xf2\xab\xbc\x09\x49\x10\xea\x9a\x50\x70\x97\xb6\x3f\x9d\xcb\xfa\x1f\x9f\x3e\x70\x8c\xab\x2c\xd0\x4f\x6d\x8b\x8f\xe2\xb0\xc0\x7c\xbf\xb0\x53\x8c\x76\xa8\x6a\xa3\x28\x99\x9e\xe4\x38\x81\x0b\x8e\xf7\x29\x1e\xa5\x82\x4f\xd6\xec\x2a\xcc\xc2\x71\x44\x76\x5c\xae\xe4\x46\xe3\x98\x09\x3e\x11\xa9\xb6\xcb\xf4\xfc\xee\x42\xca\xa6\xca\x46\x28\xbc\x22\xeb\x83\x0a\xe3\xd6\x9a\xbe\x6d\x19\xeb\x10\xf5\x44\x2b\x91\xeb\xc1\x1f\x5e\x83\x75\x77\xd0\xde\x16\xfb\xa3\x9e\xa0\x06\xfe\xe5\x35\xd8\xce\xbe\xa9\x12\x61\x9e\xf9\x1a\x75\x4e\x6f\x70\x4d\x46\x1e\xce\x5b\xe8\x69\x0e\x66\x33\xc9\xc2\xae\x48\xb0\x9b\xda\x08\x00\xaa\xaa\xa9\x28\xbb\xbb\xa3\x22\x7b\x57\x5f\x3e\xe9\xba\x1a\xe1\xaa\xb2\x73\xd1\xd3\xb6\x38\x01\xd8\x95\x0d\xf1\x5a\x5b\xf3\x26\xe1\x15\x22\x5a\xd7\x26\xd1\x3f\xc8\x32\x70\x8e\x3a\x62\x4a\x38\xf2\x54\x0e\xe6\x43\xc6\xc7\x90\xa2\x56\x3c\x35\x3a\x2b\x8f\xee\x0a\x87\x2c\x4e\x62\xe7\x83\xbc\x39\x34\x51\x8c\x85\xc6\xa4\xa3\xb5\x6a\xe4\xc9\xe2\x90\xf9\xed\x7f\xb7\xcb\x24\x42\x0f\xd9\x8e\x53\x06\xc8\x3c\x64\x07\x6e\x4d\x44\xdc\x21\xdb\x77\x8b\xe7\x61\xdc\x54\x9f\x3a\x85\x4f\xfc\xba\xb9\xa1\xd5\x38\xb9\x6e\x66\x33\x3e\x49\x56\x87\xac\xcd\xda\xac\xb3\xb8\x36\xda\xba\x9b\xc5\x07\xf6\x84\x79\x2e\xa8\x74\x22\xd2\xc3\xfb\x82\x60\x59\x12\x85\x93\xa7\xc4\xe6\xe4\x16\x03\xe5\xae\x65\xb7\xf8\x0a\xb2\x47\x6a\x85\x85\x7d\xda\x36\x58\x96\xb0\xd8\xfd\xae\xbc\x30\x61\xd3\x50\x96\xe3\x96\xf6\x2c\xa0\xe2\x3b\x50\x08\xa3\xba\x1b\x09\xc4\x26\x02\xb9\xe8\x4f\x6d\x8d\xa6\x47\xc9\x8f\x9b\x24\x84\x63\x95\xa6\x88\x27\x6e\x35\xb5\x2e\x12\x63\xce\x3e\x77\xb1\x2b\xf1\xab\x05\xb0\x66\x80\x92\xd6\xd7\x2d\x14\x63\xde\x8d\xed\x4b\x82\x5e\xb9\xbd\x94\xc3\x9a\x19\x48\x6e\x92\x17\x55\x7c\x9c\x92\x94\xb6\x69\x88\x46\x52\x23\x5c\x9b\xfd\x08\x2a\xb8\x09\xca\x0b\x88\x91\x3a\xf1\x6b\xb9\x7e\x24\x65\xdd\x69\xfd\xb0\x6e\x2b\x13\x79\x2f\xa7\x2c\xa3\x35\x2f\x4d\x22\x70\xbb\xc6\x8f\xc5\xaa\x9b\x97\x7a\xce\xd3\x8b\x30\x6e\xc2\xde\x6d\x6e\x17\x27\x4d\x5f\x53\x5c\xcc\xd2\x67\x14\x90\x0f\xd9\x22\x01\xdd\xed\xd3\x42\xb7\xb9\xb8\xce\x07\x48\x27\xe4\xea\xc8\x3b\x53\xcf\xa9\xc2\x27\x93\xa1\xbc\xaf\xbe\xa0\x9b\x77\xcd\x03\x09\xd4\x6b\x38\xf2\x93\x12\x21\x5d\xd9\xd5\xa2\x65\x1b\xb9\x08\xb9\xee\x1c\x35\x74\xe6\x1f\x15\x55\x6a\x9b\xb0\x8d\x35\x3c\x32\x76\x84\x03\x3f\x89\x23\xbc\x9e\x59\xda\x8e\xe2\x65\x96\xaa\x6e\x64\xbd\x9b\xf6\x15\x30\xd7\x43\xe6\x57\x70\x49\x70\x19\x76\x80\x3b\xcb\x9e\xa5\x81\xc2\xd5\x32\x8d\x6e\xa8\x27\xf8\x3c\x12\x59\x26\x2b\xa7\x4b\x51\x38\x2b\x6c\xf4\x61\x73\x4b\x3a\x93\xa7\xac\x53\x43\xb7\xbb\xd3\x4b\xc6\xa5\x58\xa3\xf3\xc3\xff\x9d\xc7\x0c\x14\x48\x9e\xab\x89\x3d\x17\xeb\x97\x7c\x61\x3f\x6e\xa8\x4f\x4a\x7b\xa7\xc4\xcf\x41\x12\x63\xae\xca\x24\x7e\x2e\xd6\x8f\x51\x55\x83\xe9\x4e\xd1\x43\x54\x7e\x79\x7f\xf6\x5c\xac\xb3\x3c\x4d\x2e\x85\xba\x75\xf1\x2c\x4b\x82\x90\xe7\x98\xaa\xdd\xd5\xb9\x5b\xea\x75\xbc\x04\x08\x78\xb6\x38\x64\xe7\xff\x75\x36\x7c\xfb\xf2\x23\xe3\x12\x7b\xe4\x69\x0d\x73\xbd\xca\x5b\xbf\x95\xbc\x05\xaa\x14\xf9\x85\x2e\xac\x61\xa8\xf7\xf1\x30\x63\x7a\x7d\x2d\x11\x59\xcf\xbf\x42\xb9\x6e\x82\xfa\x99\xa7\x82\xab\x1c\x1f\x7f\x16\xa9\xa0\xf0\x72\x0e\x73\x75\x34\xed\xa6\xb1\xf6\xed\x10\x5e\xaa\xbd\x70\xa2\x35\x0b\xf8\x22\x47\x2f\x5e\x35\x36\x85\xe8\x69\x62\x80\xab\x6f\xb4\xe7\x8d\x9e\xdc\xea\x40\xb6\x52\x6b\x98\x61\xdc\x3c\x93\xc8\x1c\x90\xa9\x95\xb7\x61\xca\xc6\x40\x4c\x4a\x31\x9b\x35\x58\xc6\xaf\xe4\x8a\x49\x70\x59\x82\x4a\x61\x24\x3d\xb6\x8c\xe1\x91\x12\x3c\x8e\x29\x67\xb3\xbc\x4d\x3a\xac\xb0\x81\x0f\x38\x14\x91\x6c\xa2\x07\xae\xc6\xf3\x49\x67\x98\x61\xec\xdc\x03\x7b\xe6\x64\x99\x1b\xce\x39\x92\x25\xaf\x97\xb9\xcd\xa4\x3e\x36\x74\x83\x4b\xb1\x9e\x24\xab\xd8\xd4\x7f\x2e\xd6\xc7\xc9\x2a\xde\x5c\x7d\x91\x12\x03\xd1\xf5\xdf\xc8\x92\xcd\x0d\x96\x0b\xa7\xf6\xbb\xc5\x86\xaa\xf2\x9c\x38\x89\x17\xf6\xe0\xcf\x54\x91\xd3\xe4\x01\x63\x78\xc9\x81\x7d\xc6\xe8\x42\xa7\xfc\xaf\x2e\xc5\x9a\xcd\xf9\x02\x84\xa2\xc7\x5b\xd6\x3a\xbf\xe4\x0b\x52\x63\x56\xee\x5c\xc5\xbf\x55\x0b\xd9\x61\x18\x5f\x64\xd5\x6d\xfa\xf4\xd5\x6a\xa5\x47\x23\x65\xe6\x43\x76\x1c\x66\x10\xb4\x91\xc7\x6b\xd6\x8b\xf2\x9f\x53\x96\x8a\x08\x76\xcd\x7c\x19\x5f\x28\xaf\xe1\xc7\x2c\xc8\xd3\xa8\xc9\xa3\xfc\x90\xf5\x20\x85\x2d\x1b\xe4\x69\xf4\xa4\x17\xe5\x6c\x2e\x78\x9c\x61\x5b\xaa\x2b\xe5\x68\xa7\x2e\xdc\x54\xaa\xeb\x02\xcb\x74\x2a\x23\xc3\xad\xac\xad\xf1\xc4\x65\xd9\x4b\xc9\x46\x95\x13\xb4\x3b\xb7\x93\x29\x9c\x1c\x0d\x76\x3a\x0b\xa7\x79\xf3\x24\xce\x44\x4a\xcf\x9e\x53\x88\x34\x32\x83\x87\x57\xa5\x76\x50\x2e\x4c\x90\x91\x1a\x3c\x7a\x5a\x1a\x0e\x48\xc2\x90\x71\x5f\xae\x19\xb1\x3a\x80\x34\x06\xbd\xba\xb6\xc1\x9b\x25\x60\xdd\x66\x0f\x33\x93\xbd\x63\xe7\xe8\xff\x75\x44\x91\x6d\x2b\xc7\x3a\x4b\xe6\x62\x4b\x80\x91\x71\x14\xe9\x40\x96\xce\xb3\x72\x06\xa1\x0d\xc6\x3c\xc5\x08\x2b\x12\xbc\x6e\x86\xd0\xa0\xad\x7a\xee\x61\xef\xcf\xe4\xa0\xe5\x79\x93\xb5\x98\x9e\x0d\xbe\xdf\xe8\xee\x32\xd0\xd5\xbe\x3f\x83\x73\x29\x43\xdb\x21\x09\xca\x05\x4f\x7d\x67\x85\x29\xca\xcf\xf2\x08\xc0\xa0\x0b\x56\x56\x5f\x6b\x86\xa7\x70\xd5\xce\x18\x1f\x27\x57\xa2\x41\xae\x4c\x70\x57\x58\xf0\x0b\xc1\x96\x8b\x2d\xf8\x29\x77\x78\x01\xba\x2c\xbf\x0d\xba\xc6\x9f\xa4\xc8\xe6\x9b\x68\x99\x6d\xbd\x0c\xe3\x65\xb6\xf5\x17\x91\x26\x0a\x8d\x19\x44\x50\x29\xad\x2a\x34\x41\x1a\xb9\xb1\x21\xd5\x84\xcf\x84\xaf\x5f\x3f\x35\x10\x9a\xe9\x16\xda\x4d\x12\x1d\x4c\xd1\x9d\x8b\xdc\x41\xb2\x1a\x00\x91\x55\xff\x92\x24\xf3\x4a\x8a\x80\xad\x35\xc0\x20\x2a\x19\xb8\xb5\xc1\xfc\xa8\xdf\x81\x24\x38\x49\x6c\xf2\x8b\x71\xed\xa2\x66\x30\x99\x27\x83\xca\xca\x08\xc6\x80\xb5\x1a\x3b\xa3\x1c\x80\xb7\x68\x25\xb2\xa1\x8f\xf7\xb8\x47\xca\x43\x7b\x7f\x87\xa1\xbd\xaf\xac\x8c\x60\x0c\xd8\x4d\x43\x7b\xaf\xf6\x51\xc5\xd8\x86\x10\x92\x65\x6b\xa2\x38\xda\x62\x11\xa9\x70\x2a\xf2\x40\xe0\x13\x84\xa7\x78\x71\x98\x91\x25\x02\x19\x4f\xf3\x35\x8b\x97\x73\x91\x86\x01\x6c\x74\x38\x3e\x61\x7f\xeb\x07\x67\x4b\x7a\x70\x98\x91\xe9\xe8\x39\xf4\x73\xa7\xe1\x81\xa8\x64\x0d\x51\x1b\xdf\x4e\xc4\xad\xe3\xa4\xba\x5f\x3d\x4c\x7c\x0c\xb8\x65\x3b\x01\x63\x94\xb2\x01\x44\x74\xa2\x18\x2d\xc0\x59\xfa\xa7\xac\xe6\xfd\x72\xdd\xde\xf7\x1a\x8c\x5f\x72\xf6\xeb\xb3\x7a\x8b\x61\xc2\xfe\x55\x98\x09\x84\xe3\x36\x97\xc7\x9d\x0d\xc2\xfb\xe5\x7a\x6f\xea\x15\x46\xa8\xab\xc3\xeb\x51\x5f\x37\xae\x1c\x27\xc6\x33\x0b\x92\x09\x86\x53\x02\x15\xa8\x64\x29\x13\x9e\xf3\xdb\xf8\xb2\x36\x53\x1e\x2a\x00\x47\xcc\x5b\xe6\xd3\xe6\x7e\xe1\x1c\x39\x15\xb9\xc9\x7b\x0e\x1e\x85\x39\xc7\xb9\x00\x0d\x73\x16\x09\x0e\xed\x45\x16\xf0\x85\x60\x49\x2a\x37\x7f\xa1\x37\xd9\x08\x66\x34\xc4\x4a\x55\x5b\xde\xee\x48\xd6\x6f\xbe\xc7\xc0\x01\xca\x64\x3c\xa9\x9a\x86\xfc\xf8\x52\xe4\xfc\x7d\x35\x17\x51\x0c\x4c\x29\x9a\x79\x84\x62\x07\x58\x97\x4b\xb1\xcc\xd9\x10\x34\x85\x16\xfe\x23\xfd\x7c\xcc\x86\xa7\x03\x08\x7e\x14\x5e\xd3\x56\xc6\xb0\xd6\x2d\x55\xaf\x37\x99\x30\xbf\xb3\xaf\x90\xbd\x8c\xe1\xd4\x10\x13\x2b\x20\x2b\xcf\xa4\x20\x7f\x4d\x91\xb8\x00\x06\x1d\xb8\xcd\x4b\xb1\x6e\xb5\xd8\x07\x1e\xe6\x5a\x75\xa4\x64\x37\x12\x68\xe1\x9c\x13\x82\xad\x94\x01\xb0\x3a\xab\x33\xbe\xce\x14\x38\xf7\x5f\x0d\xf6\xcc\x0a\x1c\x1f\x57\x49\x7a\xc9\x56\x22\x8a\xe4\xed\x64\x11\xf1\x1c\x62\x0c\x53\x10\x16\x0b\x5c\x25\x20\xb6\x10\x29\xd6\xe7\xda\xbb\x92\x9b\x24\x09\x10\xe0\x8c\x83\xc7\xe5\x5f\x97\xf2\xc2\x92\xb5\xea\xc5\x9d\x4b\xce\x98\x18\x71\x6a\xce\x73\x30\x8d\x07\x51\x59\x36\x0c\x33\x36\x09\xb3\x3c\x8c\x03\xda\xbe\x40\x5f\x35\x1e\xe5\x27\xb0\xb0\x2c\xcc\x10\x16\xb2\xc3\x7a\x49\x08\x02\xb2\xfa\x20\x51\x73\xc4\x3c\x5c\xc0\x5b\x28\x58\x11\x01\x0f\xe4\x5d\x2e\x83\x27\x18\xa4\xe9\x86\xed\x3c\xbc\x48\x93\xc9\x12\xc2\x77\xc3\x72\x93\x0c\xe8\x44\xf2\xd6\xf3\x4c\x97\xf0\x7e\x83\x11\xb1\x1a\x4a\xc4\x80\xc0\x66\x58\x22\xaf\x2a\xb2\x80\x2f\xf3\x04\xc3\x9f\x18\x6b\x5f\xb5\x26\x65\x01\x8f\x50\x70\x0b\x93\x4a\xc1\xcc\x32\xa1\xb0\x2a\xec\x78\xf8\x02\xa6\x47\x77\x28\x1d\x64\x0e\xb0\xcb\xa3\xbc\x69\x58\x52\x12\xd3\x3e\xc1\xc0\x1e\xaf\x4f\xd9\x15\x19\x17\x71\x00\xae\x61\x01\x39\xda\x33\x36\xda\xb9\x43\xd6\x23\x8b\xbd\x70\x8e\xe1\xe7\xd2\x50\xae\x77\x43\x4e\x4d\x03\x6e\x14\x7a\x0e\x33\x29\xfa\x2f\x04\xc9\x59\x79\x22\xbb\x6a\xb1\x53\x59\x7b\x99\x49\x0a\x99\xf3\xb5\x14\x2f\x67\x7c\xb1\x58\x9b\xeb\x2b\x1a\x7a\x80\xa9\xad\xae\x32\x4d\x97\x59\x9e\xe2\x6d\x9b\xa9\xb0\x7a\x61\xee\x65\x2c\x9c\x2f\x92\x0c\x9e\x35\x00\x3f\x09\xf2\x15\x3d\x8a\x16\x20\x91\xfc\x89\x69\xf1\x32\xbc\x25\xcb\xfd\x4e\xc2\xcd\x0a\xbe\x03\x46\xc2\xe0\x12\x76\xb9\xdc\x4c\x2e\x86\x70\xbf\x96\x51\x7c\xa8\x71\xec\x14\x37\x24\x54\x92\x53\x85\x43\x94\x17\x09\x08\x81\x0d\x14\x50\x2f\x44\xce\xb8\xea\x03\x05\x6f\x7b\x8e\xe4\x90\xa3\x16\x19\xb7\x53\x9c\xe4\xb8\x5e\x62\xd2\x02\xf5\xc2\x2c\xcf\x17\xd9\xe1\xd6\x56\x90\x8e\x97\x17\xad\x20\x99\x6f\xf9\x7b\x3b\x3b\x7e\x9b\x95\x09\x4e\x1f\x38\x48\x79\xb7\x9c\x3f\xef\x88\x2f\x5f\x0a\xb1\x60\x79\xca\x83\x4b\x65\x1a\xaa\xae\x78\x72\xd2\x70\x56\xe4\x10\x8a\x49\x7b\x14\xc5\x22\x10\x59\x06\x39\x57\x92\xd4\x1c\x96\x37\x8d\xc0\x84\x9f\x43\x21\x1a\xd8\xa2\xe2\x98\xfa\x32\x84\xb0\x4c\x5d\x30\xf7\x44\x3b\x53\xce\xc6\x61\x3e\xe7\x0b\x24\x26\x64\x7f\xe3\x30\x67\xea\x7d\x25\x63\x10\x73\x20\x5b\x24\xf1\xc4\x32\xdf\x7a\xcc\x1e\x45\x09\xca\x0c\x8f\x24\x4f\x58\x88\x34\x5f\xab\x79\xea\x7d\x56\x46\xa5\xba\x6e\x8b\x89\x0e\xe2\x5c\x21\xaf\xeb\x8d\x37\x17\x93\x90\xa3\x38\xa3\x6e\x56\xb8\x41\x68\x28\x61\xca\x46\x80\x4a\xf1\xd7\x65\x78\xc5\x23\xdd\x27\x1b\xb6\x2e\x5a\xec\x91\x44\xd4\xa3\x8a\xa6\x23\xbf\x65\x0b\xfb\xd8\x1f\x19\xbf\x82\x31\x92\xba\xd5\x95\x4e\xec\x49\xc8\xe5\xbd\xa3\x97\x8a\x91\xfc\x59\x4d\x02\xcf\x92\x88\x8c\x5c\x16\xa9\xb8\x82\x10\x08\x9a\xdf\x4f\x99\xc3\x9e\x81\xe5\x1f\x0f\x07\xa7\xc3\x33\x06\x49\xcc\xd1\xb3\x6c\xd2\x02\x97\x2f\x04\x77\x3c\x1c\xbc\x3d\x75\x3f\x37\x5c\x28\x5a\x14\x9c\x80\x68\xa5\xfd\x02\x50\xad\x03\x2b\x4d\x77\xfb\x25\x68\x6b\x92\x65\x49\x64\xa0\x81\xf6\x2c\xb0\x95\x56\x97\xa7\x14\xf9\x1d\x10\x05\x41\x24\x50\xe0\x1c\xc0\x1d\x11\x02\x17\x6a\x85\x55\xc4\xd7\xd8\x53\x49\xa7\x26\x7f\xe9\x05\x76\xd8\x00\x23\x9e\xc8\x7b\xb8\x1c\x8e\x88\xf3\x63\x75\xb8\xca\xc3\x3e\x4f\x16\x6f\xd2\x64\xc1\x2f\xec\x48\x88\xa8\xbb\xb3\x64\x02\xba\x63\x21\x2c\xe1\x5c\x16\x06\xbd\x57\x83\xa1\xb6\x35\x21\x65\x79\xbc\x9c\xd7\x3c\xfc\xe2\xd5\x1b\x05\x49\x52\xf2\x3c\x75\xd4\xdb\xa1\x14\x8c\x39\x77\xe0\x44\x65\x94\x62\x0b\x5c\xa7\x21\x26\x13\x6a\x64\x11\x96\x0a\x9e\xa4\x5a\x90\xc2\xad\xa0\x3e\xd0\x7e\x06\xa0\x6f\x48\xc3\x18\x13\x67\xc0\x21\xac\x41\xd9\xd9\x53\x36\x68\x1b\x9c\x31\x24\xb1\x50\x3b\x73\x9e\x4c\xc2\x69\xa8\xa4\x1a\x1c\x4a\xd6\x28\x84\x17\x95\x40\x69\xd6\x14\xaa\x43\x8e\x5c\x0f\x1c\x4c\x47\x6b\x74\x84\xac\xeb\x9a\x8f\x63\xdc\xfe\x30\x77\x64\xc7\xa6\x3a\x4c\x08\x88\x92\x88\x30\xb2\x2f\x05\xa9\x18\x9c\x9e\x34\x28\x4c\x10\x7d\x55\x13\xe3\xe0\xb5\xa6\x8e\x30\xc6\xd0\xe1\x12\x7c\x33\x9d\xf9\x98\x08\x23\x52\x74\x99\x88\x2c\x48\xc3\x31\xce\x5e\x29\x90\x95\x41\x36\x06\xcd\x54\xe0\x54\x5e\x12\xf9\xe9\xd1\x9b\x41\xf3\x14\xf4\xec\x23\x65\xe2\x20\xb7\xf8\x23\x96\xe1\x6b\x71\xf5\xc4\x94\x3a\x86\x04\x68\x79\x4c\xe9\xc5\x95\x65\x1b\x96\xd4\x44\x2f\xd5\x83\x51\xad\x96\x8b\x85\x48\xc1\xb0\x97\x02\x1a\xab\x01\x1a\x19\xfa\x52\xac\x03\x0e\xa1\xe0\xc8\xc9\x40\x03\xe9\xee\xb0\x1a\xa6\x6d\xf1\xfe\xc3\xab\x03\xcc\x83\x5d\x5d\xf4\xc9\xab\xd3\x19\x7a\x53\x47\x1a\x58\xa9\xc3\x39\xe8\x39\xba\x3b\x18\x2c\x37\xce\xd5\x41\x32\xe7\x97\x22\x63\xde\xaf\xff\xe1\xe9\x5b\x5c\xbb\xed\x19\x8d\x11\x63\xcc\xfb\xf5\x93\xf9\xe8\x4f\xbd\x16\x63\xb5\x57\x89\xf2\x9b\x95\x34\x3a\x0b\x2f\x50\x18\xe5\x39\x6b\x5f\xfb\x53\xd9\x49\xfb\xba\xd3\x36\x27\xa4\x59\x37\x58\xc9\x34\xcb\x2d\x8c\xe2\x14\x21\x40\xaf\x23\x6e\x9b\xa5\xb2\xee\x39\xf7\x5e\x26\xc0\x9a\xd3\x3f\x86\x02\x56\x47\xbb\x9d\x68\x4c\x21\x6d\xb9\x60\xe3\xb5\xbc\x04\x95\x29\x67\x8e\x42\xbc\x19\x47\x90\xc4\xd3\xf0\x62\x99\xe2\xf9\x94\xd1\x25\x0b\x25\xf7\x06\xa0\x6c\xec\x39\xfb\x5d\x8f\x85\x42\xa0\x96\x77\xaa\x61\x5e\xc2\xba\xf2\x1f\x0f\x47\xbd\x77\x2f\xce\xaa\xb8\x20\x7d\x2a\xb2\xc1\x01\x3a\xec\xba\xd1\x61\x13\x96\x2c\x72\x79\x8e\x40\xa0\x64\x75\x16\x38\xa7\xbf\xb9\x37\x44\x78\xf8\x59\xf7\x7f\xba\xab\x4d\x04\x30\x9c\x7c\xa6\xf9\x86\x1c\xe2\x9b\xde\xe9\x69\xd5\xf8\x64\x79\x71\x70\xa4\xc1\x35\x04\x81\x31\xa5\xa4\xb4\x62\xd6\xc4\xc8\x25\x03\xbe\x68\x98\x3b\x86\x40\x45\xec\x73\xb1\x6e\x19\xdd\x81\x1c\xbf\x42\x34\x5d\x87\x91\x8b\xd2\xd3\x02\x3e\x96\x88\x96\x7b\x44\xd5\xea\xaa\x11\x31\x69\x65\x71\xa5\x17\xfe\x24\xa7\xc3\x7b\xba\x8c\xc8\xbb\x9d\xd8\xd7\x44\x5d\xbc\x20\xe8\x2b\xca\x60\x61\xce\xa4\x98\x14\xe7\x21\x64\x74\xc9\xf2\x34\x5c\x64\x66\x73\x6a\xc6\x87\xb9\xde\x68\x2c\x6a\x09\x4c\xe4\xad\x64\xce\x52\xc1\x31\xac\x24\x1d\x10\x97\x6a\xb6\x12\xd5\xa7\x67\x6f\x4f\xde\x54\xe1\x1a\x3e\x78\x75\xfb\xe4\x07\x9d\x88\x30\x4e\x71\x3c\x08\x92\x74\x62\x41\xf6\x24\xd9\x36\x95\xee\xc5\x8e\x8d\x5c\x29\x02\x58\xee\x7f\x08\xb9\x2a\xf1\x87\x31\xeb\x2a\xab\x66\xb4\x6e\xc6\x49\x9e\xe2\x3c\xba\xb5\xae\x72\x82\xfe\xee\x6c\xb4\x0f\x60\x9f\xba\x01\xfe\x5d\x93\x4d\x78\x74\x13\xa5\x27\x37\xfb\x80\xb5\xde\x0f\xe9\xed\xce\xf1\xdd\x32\x17\x26\x4b\xe1\xc6\x14\x64\x0d\x51\xde\x3d\x03\x7c\x48\xa5\xd8\xcb\xca\x17\x0a\x02\x08\x28\x65\x3f\x5c\x5b\xcc\x59\x1c\xa6\x45\x7d\x43\x92\xb2\xf1\x72\x4c\x77\x39\x0a\xd3\x86\xa3\xd2\x8f\xa3\x6f\x78\x96\xc1\x7a\xe1\x7d\xdb\x04\x93\x8b\x22\xf3\x84\xe7\x8c\x57\xbf\x16\x56\x45\x63\xa3\xa7\xc6\x2f\x1a\x90\xf3\x8a\x39\x4b\x32\xa1\xb1\x36\x53\xf1\x67\x03\x9a\x7d\x83\xc9\x8b\x0d\xea\x53\xd4\xe5\xdf\xd6\x7b\xde\xf4\x0c\x6b\xd1\x0b\x8d\xb9\xea\x81\x96\x06\x62\x88\x47\x8d\xec\xe8\xa8\xfa\xc5\xd4\xa6\x1d\x6d\xe5\xa4\x1a\x29\x03\xc2\xea\x46\x68\x86\xe1\x8e\x05\x42\x66\xd6\x37\x66\xa7\x71\xdf\x3e\x75\x4e\x90\xd0\xa4\x02\x01\x3b\x28\x72\x97\x39\x2a\xd4\x3f\x0f\x3f\x9a\xfc\x17\xce\x4c\xe5\x3f\x45\x8d\x25\x6b\x14\x6a\x7f\xde\xfe\xd8\x50\xa0\xcf\xfd\x8f\xd5\xa1\x40\x2b\xa7\xdb\xaa\x78\xd8\xbd\x05\xaa\xb2\x5b\xd9\xf4\x4a\x4d\x83\x75\xd3\x13\x11\x25\xb8\xbb\x4f\x11\x8f\xb3\xcb\x80\x78\x79\x14\x91\x06\x53\x07\x79\x4d\xe4\x65\x14\x02\x94\x59\xca\x1e\x15\xa3\xe2\x16\xaa\xd2\x7b\xa1\x8a\xae\x2c\x5b\xef\x0d\x2b\x5e\xf6\x68\xb1\x1e\x80\x69\x28\x6a\x0e\x1f\xe0\xb1\x1f\x72\xd5\x05\x39\xe6\xec\x02\x37\x1e\x52\x1d\xa0\xc3\x96\x90\x77\xd3\xf1\x32\x67\x2b\xc1\x26\x89\xb2\xa2\x78\xc9\x03\x25\xcb\x4a\xd1\x0d\xdc\x3c\xe1\xc4\x70\xbd\x4a\xf9\x62\x41\xba\xe8\x6c\x1d\xe7\x33\x91\xd3\xeb\x05\xdc\x33\x40\x31\x86\xb7\xde\x5b\x70\x62\xbf\x61\x57\xb8\xca\x81\x35\x35\x79\x37\x15\xf7\x11\xb9\xcf\x65\x8b\x28\xcc\x6b\x9e\x57\x6f\x4d\x93\x74\xc8\x83\x59\xcd\x65\xd0\x8e\xa9\x88\x79\x26\xd7\x15\xea\x1b\x50\xab\x34\x09\x16\x66\x6f\x9c\x87\x7e\xe8\xaf\x98\x86\x4a\x10\xa5\xed\x57\x25\xf1\x1c\x31\xf4\xed\x6c\xc9\x53\x74\x40\x89\x69\x6a\xa2\x05\xc2\xa8\xb1\xb5\x4d\x56\x22\x7d\x0e\xd5\xe5\xc1\x9a\x27\x2f\x64\xc1\x80\xab\x20\x6c\x12\x43\x35\x01\x4f\x54\xb2\xd6\xe7\xcf\x4c\x80\xde\xff\xb9\x58\xd7\x25\x7b\xa9\x19\x00\x47\xcc\x0b\x3c\x59\xc3\x29\xba\xf2\xea\x96\xb9\xe5\xeb\x18\x23\x94\x0a\xa3\x80\x64\x35\x49\x47\xf2\x4f\x29\x4c\xd6\x69\xd3\xc0\x23\xc1\x34\x94\x27\x0e\xe4\xed\x4d\x16\xeb\x2d\xf3\x80\x2d\x41\xbd\x10\x90\x64\xc1\x79\xf6\x56\xf7\x58\x75\xc8\xa8\x7d\x35\x16\x33\x7e\x15\x26\x69\xcb\x59\x64\x2b\x44\xb3\x20\xe5\x8e\xe6\x98\xae\x0e\xfa\x88\x79\x96\x66\xdf\x93\xb5\x84\x4e\xf6\x03\x69\x10\xed\x50\x98\x90\xdc\xf1\x22\xc9\x19\x6a\xa3\x04\x44\x8c\x01\xdd\xa0\xfc\x5b\x5c\x2f\x28\x4e\x76\x61\xe7\x93\xea\x86\xc7\x0a\x90\xad\x82\x87\x8d\x14\xe6\x6c\x12\x4e\x62\x2f\x97\xfb\x29\xcc\xe9\x2a\xb4\x12\x14\xc6\x74\x2c\x30\xcc\x04\x7b\x7d\xaa\x12\x93\x6a\x50\xb1\x4a\xec\xc0\x4e\x5e\x0e\x29\x54\xab\x8a\x93\x03\xc6\x58\x38\x42\xc0\xa6\x52\xc1\xc0\xcb\x46\x33\x0a\x51\x3d\x29\xc1\xb8\x78\xdc\xda\x52\xe5\x67\x76\x64\x1f\x98\x35\xbc\x0b\x80\x1a\x5e\x05\x8c\x94\x77\xad\xf5\x22\x0c\x80\x5b\x00\x77\xb0\xde\x2d\xf0\xa8\x55\xe0\x20\x8f\x89\xbd\x00\x79\x42\xb6\xb6\xfa\x31\x40\x0a\x0e\x1e\xa8\xf0\x3d\x63\x7f\x1b\xcc\x36\x52\x3d\x69\x78\xac\xfc\x4b\x0f\x8d\xf4\xac\x6c\xfa\xa1\x7d\x30\x2b\xef\x02\xc6\x48\xc0\x0b\x66\x76\x8e\xa7\x76\x9d\x3d\x91\xf7\x23\xd8\x77\x56\xda\x60\x8b\x36\x7e\x3c\x62\xdb\x1d\x6d\xaa\x2f\xe1\x9b\x8f\x0e\x05\x06\x33\xeb\x50\xae\xe6\x2e\xb5\xaa\xa9\x05\xb3\x7a\x9d\xf8\x55\x51\xa2\x7f\x0a\xa5\x05\xbd\x53\xc1\xc9\xe7\x0d\xb6\xd1\x3b\xc6\x51\x8b\xc5\x49\xdc\x04\xfb\x18\x75\x23\xd4\x5e\x8d\x70\x08\xcc\x20\x35\xdb\x7c\x0c\x21\x3f\x51\x13\x82\x9a\x48\x13\x7e\x97\x79\x7c\xb1\x68\xa9\x68\x8f\xcb\x28\xa2\x88\x50\xca\xdf\x66\x98\x05\x5e\x43\x49\x8c\x94\xfc\x01\xd2\xaf\x27\xf9\x4c\xf3\x04\xf8\x28\xff\x58\x2e\x88\x5b\x36\x1e\xd0\x45\x6c\x78\x3a\xa0\xeb\xef\x9c\x87\xb1\xbc\x9e\xc0\x09\x2c\x07\x13\xc6\xcc\x74\xa8\x46\x26\x8f\x15\x95\xff\xe0\x66\x8e\x4b\xc8\xc4\x76\xbd\xc5\xe2\x55\x12\x0f\xf2\x34\x82\xb7\x7e\xc2\xf0\xc6\x13\xc5\x8d\xac\xfe\xf9\x33\x73\x4b\x20\x76\x7c\x65\x29\x61\xaa\x5e\x60\x53\x44\xae\x16\x13\x2e\x11\x6f\xd5\xea\xcb\x65\xbe\xe1\x44\xd1\xa6\x69\x15\xd3\xd8\xa4\xef\xbe\x05\x24\xda\x97\x6d\x40\x8b\xde\x84\x92\x61\xfa\xfb\x16\xb9\x17\x3b\xaa\x28\xfc\x81\xfd\xbd\xe6\xb3\x3f\xfd\x49\x82\x51\x9a\x7b\xd6\x64\x7e\xdd\x98\xf6\x3b\xf0\x3b\x7b\x16\xfc\xbb\xac\x65\x4d\x6c\x3e\xa8\xe5\xb5\xf9\x1e\xe7\x34\x18\xf0\xfd\x11\x48\xf8\xcc\xfe\x01\x38\x30\x22\xc4\xb1\x50\x1e\x4a\x64\xbf\xd7\xc2\xc2\xec\x5c\x77\xf3\x51\x93\x27\x7e\x2a\x3a\x25\xad\x78\x1a\xd7\xbc\x57\x09\x83\xc8\xc0\xa1\x56\x36\x53\x73\xb4\xe1\x2f\x72\xe7\xc2\xf9\x4c\x76\xa0\x2a\x11\x16\x5d\x1c\xd1\xde\xf4\x22\xa1\xfb\xfb\x12\x15\xe5\x72\xe4\xa9\xc8\x92\xe8\x4a\x4c\x50\x3f\xef\x66\xab\xaa\xf0\xbd\xb2\x3c\xc2\xc0\xd5\x56\xbb\xdd\x59\x47\xba\x4a\x5d\x69\xf4\x1c\x85\x10\x1d\x54\x18\x63\xb8\x0b\xa5\xaf\xd3\x7a\x2c\xae\x00\x99\xdc\x38\x93\x30\x5b\x40\x54\xed\x30\x2f\xb5\x98\x88\xa9\x48\x75\x84\x68\x47\x2b\xd6\x50\x90\x68\x96\xea\xcd\x10\x14\x55\x2d\xe5\x7a\x56\x85\x00\x3e\x17\x96\xab\x03\xf5\x74\x44\xeb\xac\x5c\xd7\xd4\xe1\x28\x91\x6d\x70\x2d\xe5\x1f\x35\x72\xed\xd9\xaa\x21\xe0\x2f\x60\x86\xb3\xae\x81\x3f\x1c\x52\x4b\x83\x9d\x8b\x06\xc1\xff\xa8\xdc\x2c\x24\x70\x0d\xf5\x48\x69\xf3\xa4\x40\x05\xce\x76\x0f\x4d\xca\x96\x52\x3f\x66\x75\x74\x15\xd7\xd7\x0e\x6b\xda\x74\x63\x14\xb4\xf4\xde\x0b\x4a\xc0\x34\x5c\x44\xa2\x49\x31\x9b\x6a\xde\xd1\xd1\x91\x57\x67\xc9\x42\xa4\x3c\x4f\x30\xc6\x83\xc8\x72\x8c\x50\x15\xe6\xea\x31\x13\xc3\x92\x67\xa8\xf5\xc8\x39\x84\x90\x0f\x63\x06\x7e\x49\xa4\x06\x90\x42\xdd\x32\xcc\x66\xf2\x14\xba\x30\xaa\x55\xaa\x8f\xda\x2c\xf8\x84\xe0\x24\x7e\x59\x14\xe6\x22\xe5\x91\x13\x67\x49\x09\x52\x79\xa2\xbc\x03\x4c\xa0\xaa\xf1\x1a\xd3\x4d\xc1\x22\xe2\xb3\x8f\x76\xce\xab\x78\x9c\x6a\x61\x15\x25\xed\x2b\x74\xdf\xd4\x82\xea\xa8\x26\x6f\x7a\xa7\xa7\x37\xd6\x97\x15\x54\x65\xd0\xba\xdd\x58\x1b\x6a\x38\x7e\x76\x29\x04\x17\xd4\xa7\x9b\x02\x25\x85\xdf\xa3\xa2\xcd\xc4\x4f\x64\x84\x71\xc8\x94\xc0\xae\xaa\xcf\xd1\xa4\xa2\x54\xdf\x48\xf6\xee\xd5\xe5\xd0\xfc\xa1\x93\xb2\xc7\x6a\x8f\x37\xe7\x92\x7a\x57\x82\x65\xcb\x14\x53\x16\x19\xf5\xab\x16\x8c\xb4\x92\x1d\x5e\x0d\x1f\x9d\xb7\x5a\xad\x8f\x8f\x4c\x22\x1b\xad\x82\x3f\x62\x0f\x6b\x5b\xbf\xfe\x72\xfe\xcb\xea\xc9\x2f\x1f\xff\x6d\x0b\x12\x7b\xd5\x70\x57\xb4\x10\x24\xf1\x6f\x15\xb7\xc5\x35\x04\x76\x43\xb7\x28\x6b\x65\x8a\x90\x42\xd9\x65\x74\x5f\x3f\xfc\xa0\x51\xfa\xc3\x0f\x12\x85\x4e\x1e\x17\xd5\xd8\x0c\x9d\x2c\x91\xa1\x33\x0c\xab\x1e\x44\x82\xa7\xa0\x17\xb7\x1f\x87\xe8\x21\xc4\x5c\x4b\x94\xfe\x16\x9f\x68\x57\x3c\xcc\x51\xed\x2f\xf4\x6b\x02\x1c\x42\xa1\x46\xe9\x44\x1f\xa1\x3a\xcd\x8b\x5e\x7b\x1d\xb4\x1f\xb6\x3b\xac\xbb\x55\xf4\x05\xfe\xa7\x6c\xb0\x16\x2a\xb4\x81\xf5\x66\x5c\x14\xae\xea\x5a\x3b\x57\x14\x2d\x3a\x75\x2b\x49\xd6\x37\x0e\x4b\xd9\x88\x7f\xfb\xa8\xfc\x6f\x1d\x95\xe5\x7a\xa5\x58\xa3\xba\x6c\x20\x38\x05\xbf\x8a\xc5\x52\x15\xcf\xce\x1d\x04\xcc\xdb\x10\x55\x55\x33\x39\xf3\x62\x13\xb9\xcf\x6e\x6a\x23\xbf\x7b\xe5\x1c\x45\x37\x33\x7e\xc3\xe4\x4f\xa6\x72\x2f\xf3\xec\xf2\x94\x24\x62\x0c\xfa\x2f\x72\x56\xa3\x3c\x72\x1a\x40\x5d\x5e\xa1\x91\xe6\x81\xa3\x82\x21\x38\x3e\xa9\x3d\x20\xda\x46\xbf\x69\x1e\x04\xc9\x32\xce\xe9\x36\x42\x64\xac\x5e\x38\x80\xe4\xb5\xe5\x28\x69\xc1\xe4\xd5\x1b\x62\x22\xad\x1f\xd0\x49\x9f\x82\x73\xa8\x49\x6d\xa7\x5d\x63\xe0\x6e\x0c\xaf\xdb\x12\xb8\x65\xaa\x7d\xc6\xc7\xea\xb1\xd0\xb2\x29\x45\x78\x8f\x06\xa7\x27\xec\x2f\x94\x4d\x09\xfe\xf0\xd9\x53\xd6\x61\x7f\x79\xa4\x4e\x03\x9c\xcd\x91\xbc\x1b\x38\xd8\x00\x65\x85\xba\x2d\x38\xf2\x9d\xdc\x93\x2a\xe9\x81\x96\xc8\xb4\x34\x86\xa2\x06\x34\x3c\xb4\x20\x34\xe4\x68\xe4\x20\xfe\x47\x77\xfa\x3f\x64\x23\x35\x4e\xae\x48\x3f\x23\x59\xcd\xa1\xa2\x5a\x04\x04\xae\x10\x3c\xca\xf1\x2f\xb9\xe6\x87\xf0\x3f\x46\xfa\xa7\x51\x91\xd7\x87\xe2\xe4\xca\x09\x04\x5c\x47\xf1\xf7\x1a\x0d\xdc\xc8\xbc\x54\xc9\x12\xd7\x06\x0e\x13\xd3\x6f\x4d\xe3\x30\xcf\x58\x96\xa0\x3e\x12\xb2\x47\xa4\x10\x0a\x68\xbe\x8c\x29\x05\x85\xd2\xb6\x18\x71\x2d\x35\x1e\xbe\x0a\xbf\x66\x2f\xe2\xf6\x9b\x3b\xd6\x7c\x1b\x05\x30\x37\x15\x9d\x26\x6e\x1a\x7d\xcb\xda\xa1\x5f\x2d\x82\xc9\x0b\x74\x0d\x0d\xea\x1c\x1e\xd3\x60\x06\x69\x96\xca\x41\x0e\xff\xce\xfa\x2e\x33\x0e\x12\x10\x2c\x7c\x7f\x20\xbb\x4f\xc7\xa0\xc7\x81\x80\xa6\x71\x9b\xcd\x61\xb5\x56\xef\x24\xd6\x5f\x1a\xae\x59\x2c\x6e\x08\x08\xee\xa7\x82\x3e\x63\x53\x7d\xda\x58\xd1\xb9\xe4\x56\x36\xe9\x02\xcd\x53\xaa\xee\xc7\xcd\x61\x38\xd0\x4f\xad\x41\x32\x37\xa6\x63\xf8\x84\x25\x84\xca\xf9\x1b\xf1\xe0\x92\xcd\xf9\x45\x18\xb4\xdc\x45\x54\x32\x90\x41\xad\x11\x71\x41\x80\xfa\xfc\x79\x93\xd8\xfb\x50\x31\x63\x59\x47\xae\xc8\xe7\xcf\x40\x51\xf5\xba\xab\x52\xd4\xa6\x42\x61\xe6\xe8\xda\xad\x57\x5e\x4a\x81\x4a\x18\x83\x1c\x89\x98\x85\xd6\xa8\x14\x97\xb1\xf3\x66\x5b\xca\xb1\xa2\x58\x1c\x28\x16\xc5\x75\x48\x81\xd7\x1c\x1f\xbc\x96\x35\x2a\x30\xc8\xe4\x71\x01\x6e\x43\x96\x57\xbf\x40\xa3\xce\x5b\xe5\x8a\x54\x90\x02\x1e\xa3\xfd\x25\x98\x1f\x2f\xe5\x37\xe0\x82\x68\x13\x11\xd0\xe2\x86\xf0\x56\x5e\xa9\x7b\x84\xc4\x4c\xb0\x54\x24\x36\xcb\xe5\x32\x86\x05\x28\x97\x4a\xc9\xab\x61\x22\xba\x52\x78\x49\x78\x9a\x56\xc0\x1c\x7e\x41\xd6\x67\xf1\x25\x4e\x33\x01\xa5\x68\x24\x5c\x73\x6d\xd7\xe0\xce\x98\xd4\xaa\x6b\xab\xaa\x87\x66\xdb\x97\x71\xb2\xa2\xab\x6b\x9e\xae\xe9\xee\x1a\xaa\xdc\x49\xa2\x20\x57\x81\x5a\x57\x01\x53\xcf\xa8\x40\x8a\xee\x7a\x6d\x54\x6b\x5b\x24\x07\x28\xd0\xa7\x70\xe4\x32\x32\x8b\x77\x15\x2e\x86\x2d\xe4\x5a\xdf\xe1\x66\x68\xe9\x11\x6e\xbf\x19\xda\x3b\xc4\x91\x95\x55\x9e\xfe\xa3\x23\xd6\x29\xf5\xe7\xd6\xa4\xac\xec\x35\xe4\xdb\x3f\x31\x9f\x1d\xb2\x76\xbd\xc1\x7c\xc3\x05\xef\xa1\x33\x2d\x63\x14\xaf\x56\x95\xef\xaf\x54\xeb\xa1\x3b\x11\x17\x75\xf2\xaa\x8b\xb7\x3e\xaf\x5a\x6b\x72\x42\x29\xba\x39\xc5\xfa\xf0\xd8\x13\xf6\xe7\xd3\xd7\xaf\x5a\xd8\x2a\x9c\xae\xa9\x9f\xfa\x46\xbd\xc9\xa9\xa4\x6d\x97\xa8\x55\xa6\xc6\xb2\x1b\xb1\x11\x70\xb2\x10\x8c\xd8\xc0\x56\x60\x39\xc7\x1b\x34\x02\xd4\x60\x66\x3c\xd3\xc2\x12\xa4\x08\xb8\x41\x62\x6a\x11\x56\xaa\x8e\xc5\x23\x66\x24\x4d\x83\x85\x22\x59\x5a\xc2\xe4\x06\x20\x20\x77\x3a\xd4\x7d\x8f\xc6\x28\x80\x52\xeb\xe2\x71\x5e\xd8\x4c\x8a\xac\xda\x0d\xd6\xa9\x43\xeb\x5f\xae\xfd\xf1\x39\x9c\x91\x35\xe2\xdf\x16\x47\x07\xe2\xb3\x59\xf9\x99\xab\x18\x52\x36\x52\xe6\xa1\x87\xf2\x30\x4c\x54\xf6\xaa\x3c\x0d\x2f\x2e\x20\x87\xb2\xb1\xc7\x04\x7e\x00\xf6\x5e\x01\xea\xc4\xcc\x9b\xb3\x5a\x21\x38\x71\xe7\x7c\x4d\x79\xf2\x12\x34\x71\xb4\xb5\x4c\x79\xa2\x40\x55\x9a\x24\x12\xfb\x94\x12\xa8\x32\x8c\xd4\xda\xa3\x79\x32\xb1\x76\x2d\x6e\x30\x38\xcb\x5c\x04\x58\x17\x98\x79\x32\x91\x32\xd0\xd3\x8e\xe7\x3c\xdb\x5b\x62\xc8\x43\x82\x73\x63\xf3\xed\x72\x73\xdd\xbb\x82\x53\xb8\xdc\x98\xc6\x3b\xe5\xc6\xd6\x6d\xd9\xea\x5f\xde\x71\xca\xcd\x77\x6f\xe8\xdb\x86\xe3\x5c\xbb\x55\xe3\xee\xc6\x79\xdb\x4d\x91\x5a\x4a\x8d\xf7\x6e\x9f\xf5\xc6\x49\xef\xab\xb6\x45\x2e\x6b\x71\xd2\x6d\x47\x4d\x00\xee\x1a\xa4\xbc\x92\xf7\x0c\xed\x05\x84\xc2\xd7\xef\x22\x4d\xec\x8c\x78\xcb\x38\x92\x47\xba\x3a\xff\x5b\x45\xa6\x8c\xfb\xc3\x97\xdc\x4b\x8e\xe9\x09\x73\xf7\x51\x47\x31\xe4\xaa\x4c\xd3\xaf\xd1\x25\x04\xf3\x33\x62\xf7\x3c\x67\x91\xe0\x19\x9a\x5c\xea\x61\x94\x7a\x2d\x6d\x56\x77\xd2\x4d\xe6\xd7\xd5\x80\xa8\xa9\x69\xae\x5a\x95\x9b\x58\xa8\x2c\xa5\xd3\x2d\x8b\x77\x06\xab\x5f\x71\x42\x51\xcb\x8a\xdb\xba\xda\x84\xc6\xba\x75\x03\xdc\xb6\x41\xad\x6a\x43\xcf\x98\xba\xa9\xfb\x9a\x69\xea\x62\xb7\xf8\x7e\xd9\xdd\x41\x02\x9b\x08\xf6\xa7\x23\x76\xb0\x6b\x8f\xc3\x9a\x5a\xe5\xe3\xa4\x6c\xd4\x64\xdd\x1d\x0b\xf4\x97\x07\xf6\x4f\x9b\x2c\x6f\xba\x8e\xe0\x53\xaf\xb9\x88\x58\xd4\xeb\x9b\x01\x59\x53\x54\x57\xa2\xaa\xd7\xda\x3b\x8e\xbc\xee\xec\x1c\x8c\x45\x9c\x8a\x6c\x01\x51\x38\xa2\x7c\xab\xe8\xff\x08\xd9\x54\x43\x6d\xab\x39\xe7\x0b\xfd\x58\xc1\x33\xa3\xeb\x55\xd0\xf0\x18\xb7\x1d\x4c\x21\x21\x6b\xaa\xa3\x11\x4e\xf0\x56\x05\xfd\x68\x48\xe6\x16\x64\xf8\x77\x30\x13\xc1\x65\xd5\x90\x5a\x1a\xb9\x37\x63\x97\x1e\xd5\xeb\xec\xf3\x67\xbd\x4e\xa0\xb6\xd1\x4d\x0a\x80\xeb\x15\xb4\x4d\x46\xbe\x4f\x2c\x3d\x7c\xd1\x90\x6a\xc3\xbb\x36\x89\x31\xf7\x09\x64\xf3\x49\xab\x06\x36\x44\xb4\xd9\xfd\x5f\x12\xd1\x46\xe5\xb7\x01\xef\x1e\x78\x78\x4f\x93\x79\x85\x02\xfd\x0d\xf8\x58\x42\x02\x62\x1e\x1b\xc1\x0a\x4d\xca\x9c\xcb\xec\x08\x14\xd4\x2b\x9c\x87\x0e\xa3\xa1\x66\xe2\x2a\x9f\xc0\x47\x4e\x3d\xc6\xc3\xe3\x66\x75\x74\x0e\x96\xe5\xc6\xbb\x48\x32\xe4\x48\x9d\x10\xe3\x65\x18\xe5\xcd\x30\x56\x81\x3f\x16\xb0\x28\x18\xe3\xd9\x03\xe3\xc9\x38\x0c\xe0\xcc\x42\x3b\x15\x70\xe9\x23\xa3\xf9\x2b\x7c\x3a\x91\xd7\xc4\xea\xf0\x1e\x68\xea\x5c\xf9\xe6\xda\x37\xf1\x41\xaa\x8c\xdc\xd4\xbc\x3f\x51\xb2\x51\x27\x39\x06\xa4\xcc\x01\x4b\x17\x45\x44\x37\xf5\xe0\x84\x39\x15\x3c\xb5\x7a\x64\x77\xec\xb2\x37\x99\x50\x7c\x7f\xa5\xee\xd1\x49\xc0\xe4\xa2\xf2\x08\x12\xed\xa3\xe4\x97\x61\x70\xa2\x05\x4f\xc1\xca\x1b\x82\xfe\x64\xe8\x6b\xbc\x58\xe2\x03\x34\x38\x00\x82\x7b\x16\xa6\x09\xe3\x93\x09\x0d\x16\x16\x75\x2e\xe5\xb6\x89\xc8\x79\x18\x6d\x88\x30\x54\x41\x58\x5f\xe4\x02\xd2\xef\xe5\x1c\xb4\x9f\xd5\x8c\x3f\x6f\x7a\xda\xf9\x42\x34\x79\x47\x4c\x9a\x21\x3b\x2f\xe5\x66\x0c\xea\xc4\x36\x16\x6e\x46\x37\xa8\x22\xed\x83\x01\x5b\x98\xe5\x45\x75\xe1\xa7\x73\x03\xa7\xf4\x52\x2d\x1b\x28\xee\x55\x65\xe2\x2a\xbf\x57\x19\xb6\x9a\xd6\xe7\xe1\xc7\x96\xd5\xc1\x9c\xe7\xc1\xcc\x20\xd2\x9a\x43\xdd\x3e\x2a\xcd\xf0\x09\x86\x39\x12\xb5\xbe\xde\x3e\x17\xad\x9b\x47\x41\xc3\xe9\xaa\x0c\xf5\x59\x57\x52\xa0\x9b\x1e\xff\x66\xc6\x74\xc8\xca\x38\x3e\xa4\x9f\x5f\x2c\xa1\xfe\xa1\x8d\xa7\x22\x85\x57\xe1\x97\x1d\xb1\x73\xaa\xf0\x71\xb3\x69\xee\x8d\x20\x5a\x8b\x65\x36\xd3\xb3\xd5\x32\x10\xac\x48\x96\xa4\xb9\x09\x7c\xcd\x1b\x6c\x6c\x23\x97\x5e\x80\x37\x52\x37\x34\x1f\x24\xf3\x05\x4f\x45\xcd\x92\x5e\x18\xe3\x2d\x1b\x1f\x63\xeb\x2f\x2d\xb3\x7c\x71\x8c\x82\xef\xb4\xad\xa7\xe0\x98\x6a\xb6\x24\x89\x04\x8a\x89\xab\x9b\xb3\xb8\x0e\xb3\x3c\x83\x9b\x1e\x79\x6c\x98\xa3\x5f\xc1\x7a\x09\xb7\xb0\x85\x08\xc2\x29\xda\xc0\x12\x90\x0c\x93\x1f\x2f\x52\x11\x88\x09\x5e\x04\x81\x9f\x82\x05\x3b\x7a\xc3\x86\xd1\x24\xe0\xe9\x24\x6b\x31\xf6\x73\x78\x25\x60\x5f\xeb\x03\x41\x0e\xeb\x11\x3c\x3e\xf4\x1e\xc1\x7d\x13\xff\x78\xdc\xec\x3d\x6a\x50\x9a\x17\xfd\x99\x1e\xf0\x50\x23\xab\x4a\x2d\x68\x38\x7c\xd8\x08\x5a\x0a\x32\xe0\x40\xfc\x41\xe7\x8c\x09\x64\xf4\xb3\xd1\x64\xae\xc2\x24\x10\x35\x6c\x74\xe8\xcc\x82\x68\xdf\x89\xeb\xfb\x46\xb2\xc6\xb4\x05\x1c\x52\xf3\x1f\x05\x53\x9e\x7e\xe2\x9a\xcf\x17\x91\x38\x44\x53\x7d\x29\xb8\x49\x70\x94\xfe\x98\xe2\xda\xd8\xd6\xc4\x26\xcf\x18\xbe\xc2\x3f\x9a\x85\x6b\xfe\xf0\x51\x0b\xdb\x1b\x56\x55\xf3\xb0\xad\xd7\x60\x8f\x3c\xa8\xe3\x3d\x92\xb4\x61\xf7\x12\xf0\x38\x10\x51\xc1\x2f\x52\xc4\x79\x98\x8a\x08\x92\x75\x43\xc2\x6a\x2b\x9a\x4e\xbd\xa2\x9b\x5e\x94\x37\x8f\xbd\xc6\xad\xef\xfa\xc5\xce\xc5\xb5\x08\x96\x94\x8e\x1f\x9d\x5d\xe2\x89\xf1\x2b\xb1\xf4\x31\x95\xf3\x3a\xf3\x1a\x85\xb3\x14\x3d\x1d\x9c\x4c\x11\x3f\x27\x39\xe3\xec\xec\xa1\xa7\xfa\xbe\x61\xf3\x15\x4c\x04\x1e\xab\xbd\xf4\xb8\xe2\x80\xf9\xd7\x3b\x98\x0a\xe7\x92\x7b\x20\x29\x3b\x5f\x30\x42\x42\x13\xa0\x1b\x84\x36\x3c\xc5\x21\x0e\x50\x86\xab\xbf\xd2\x5a\x31\xd2\x0a\x4a\xf1\xa9\x42\x25\x88\xf2\xba\x39\x2c\x9d\x91\x6c\x52\xfb\x3d\x43\xed\x3a\xcb\xe5\x9e\x43\xa3\x25\xb3\xbf\xd4\x73\xa1\x1b\x8d\x0d\xf7\x14\x29\x3a\x17\x2d\x29\x17\x83\x95\x82\x36\x14\x57\x5a\x00\x8c\xd0\x96\xae\x69\x7c\x5a\x6d\x75\xc4\x16\x7a\x47\x9e\x52\x21\xe5\xf1\x66\x01\xc7\x84\x34\xd7\xd5\x31\xab\xc5\x75\xf5\x4c\xe0\x18\x5a\xb4\xc2\x6c\x40\xa9\xa1\x6a\xf5\x6a\x00\x0b\x15\xfc\x7a\x08\xb6\xd5\x62\xa2\xd2\x90\xaa\xd1\xa1\xf2\x54\xfd\xb5\x59\x5f\xba\x81\x21\xc1\xbc\xd0\x50\x4b\xdf\xd5\x94\x6e\x14\x9e\x06\x02\x1e\x45\x7c\x1c\x89\xc2\x9a\x5a\x4a\xf2\xc2\xb2\x2a\x0c\x3b\x0b\x69\xb0\x6a\xdd\xaa\x16\x05\x3e\x57\xd3\xca\x92\x12\x56\x37\xe2\xd5\xcd\x03\xf3\xe5\x9f\x84\xdf\x12\x29\x57\xc7\x02\x54\x62\x94\x86\x66\x91\x7b\xe1\xec\xd5\x29\x63\xf4\xa1\x26\x05\x68\x8c\x59\xb2\x24\x9f\x31\x79\x0b\x4f\xa6\x8a\x5d\x1c\xea\x35\x6d\xb5\x5a\x5f\x6c\x8f\x1c\xf0\x11\xb5\xf7\x02\x38\xe3\xc0\xc2\x83\x5a\x94\x2f\xe8\xf9\x2d\xce\x13\x66\x86\x99\xe9\xd8\x93\x12\x92\xec\x0c\xfc\x6a\x33\xac\x57\x62\x52\x86\x2b\x6d\x3c\xaf\x14\xdb\xfd\xd6\x63\x8b\xa9\xc3\xea\xd0\x1c\x56\x8d\x02\xec\xaf\x3e\xac\x18\x1d\x51\x87\xb7\x1e\x51\xd8\xe5\x97\x02\xd3\x57\x99\xc3\xe6\x7c\x71\x6f\xbe\xec\x5c\xf9\xe6\x7c\x81\x34\xab\x45\x79\x5c\x24\xa6\x3f\x94\x08\x0f\x59\xe8\x9c\x2f\xa4\x08\xfa\xb1\x5e\xca\x63\xf4\xd6\x9c\x97\x4a\xbc\x51\x8f\x26\x50\x26\xb2\x9c\x44\x1d\xd7\x06\x54\x59\x54\x60\xda\x53\x98\xb7\xbc\x89\x2f\xa3\x88\x94\x42\xa9\xc0\x48\x2e\xd8\xba\x78\x33\x53\x28\x51\x60\x7a\xea\xd8\xc0\x75\xe6\xca\x42\xc3\x84\x2b\x91\x84\x07\xda\x58\xe5\x94\x08\x17\x3f\x95\x64\x96\xaa\x85\x22\x33\xce\xe1\x14\x8e\xd5\x3c\x33\x82\x03\x3c\xb8\x62\x28\xa0\x31\x9f\x0b\x4a\xe2\x38\x5f\xea\x99\xa2\x54\x09\x46\xbc\xf8\x10\xb1\x59\xd2\x36\xb0\xef\xb8\xb2\xc6\xb6\xa3\x70\xe2\x82\xc5\x82\xbe\xfe\x6d\xbc\xe8\xc9\x6a\x65\x7b\x64\xb8\xbe\x58\x6c\xc8\x58\x00\xdf\xe7\xd2\xe7\xde\x3b\x9d\x8b\x9b\x75\x31\xab\xba\x0d\xca\x51\xe9\x49\x14\x92\x46\x50\x33\xcd\x19\x9d\x11\xde\x43\x07\x86\x4a\xc6\xff\xd3\x31\x9d\x89\x99\xd8\x71\x9d\xcf\x2c\x7b\x05\x52\x3a\xc1\x9a\xce\x28\x10\x9b\x0a\xf2\x9c\x83\x47\x08\xd7\x8a\x35\x14\xb2\x30\xce\x0b\xc4\x37\x02\x5b\x76\x56\xe3\x97\x18\xfa\xce\x98\xa8\x67\x75\xdc\x17\xb2\x58\x02\xb3\x8c\xd7\x73\x11\x45\xc8\x07\x0a\x41\x96\x29\x79\x7b\xb2\xb2\x5c\xb9\x74\x88\x52\xfb\xa0\x21\x43\x16\x08\xe0\x86\xda\x9a\x0c\xfd\xaf\xe4\x51\xa2\xa2\xee\x94\xe2\x37\x64\xe0\x54\x49\xd6\x14\x12\x96\x31\xad\xb4\xcd\x68\x5c\x8f\xae\x46\x51\x25\x4d\x41\x37\x56\x69\x12\x5f\xe8\xe7\xc4\xc7\x0a\x8b\x0d\xba\x37\xa4\x98\x0c\x53\xdb\xc4\x18\x3f\xe8\xcc\x72\xff\x39\x0e\xa7\xe0\x1d\x9f\x53\x98\x9c\xac\xc1\xb2\x65\x30\x93\x73\x38\xbe\x4a\x52\x7e\xe9\xcc\xd4\x09\x55\x0d\x7d\xc1\x5c\x13\xf4\x00\x25\x08\x2c\xd7\x0e\x62\xa0\xa2\x53\xf8\x63\x1c\xad\x70\x93\xd8\x75\xf3\x26\x27\x37\xb0\xbd\x5e\xa6\x63\x08\xd1\xf0\x58\x5d\x74\x96\x3c\xa2\x29\x5b\xf8\x97\x3c\x98\x02\x8c\x85\x59\xb6\x54\x87\xa8\x15\x04\x25\x93\xbd\xc4\x49\xdc\x7c\x77\xaa\x3b\xca\x24\x23\x87\x8a\xba\xe4\x81\x0a\xd7\x05\x0a\x7b\x37\xe5\xa7\x0e\x58\x89\xae\x7e\x1c\x8d\x89\x64\xdf\x60\x32\x8e\xa6\x2d\xca\xe3\x6e\xce\xd7\x98\x8f\xfe\x8a\x6c\x5c\xc0\xd4\x46\x8a\x46\xb4\x2a\xf6\xe8\xad\xb7\x38\x8b\x17\x6b\xd3\x20\xb9\x13\xc0\xf4\x05\x46\xb0\x29\xf4\xb8\x84\x05\xd1\xc7\x1b\x18\xc5\x06\xef\xef\x4a\x94\x10\xf4\x38\x1c\xe6\x91\x98\xb0\x47\x3d\x8a\x5e\x04\xe6\xd4\x10\x4e\x66\x53\x38\x24\x8c\xef\x6c\xf3\x6f\xf8\x64\x29\x48\x2f\x8d\x5f\xb2\xfa\xf5\xa9\xf5\x0d\x76\xe3\x91\x9d\x75\x13\x65\xe4\xb2\xdc\xc7\x99\x14\xee\x70\x83\x59\x9b\xd3\x46\x94\xb5\x65\x41\x94\x9f\xf1\x6c\xa6\xac\xe9\x95\xef\xe5\x34\x89\xa2\x64\x45\x67\x62\x76\xc8\x3c\x7c\x3e\xf3\x1a\xda\x56\x0f\x0e\x71\x6d\xa0\x80\xa2\x1e\x98\x1a\xa8\xae\x58\x53\x99\x85\x5b\x17\x06\x95\x28\x79\x6d\x85\x14\x69\x31\x90\xf4\xf4\xce\x26\x31\x4a\x76\xac\x63\x30\x33\xb9\x3d\xcd\x66\x13\xd7\x1c\x93\x15\xae\x12\x8b\x0f\x54\x2c\xda\x83\x62\xb4\x1b\x0a\x87\x43\x7d\x92\x74\xd9\x60\x1e\xef\x41\x72\x8a\xbe\xfc\xdf\x7f\xe8\xe1\x74\x8e\x9e\x78\x58\x91\xc0\x38\xb6\xed\x1b\x86\xa6\xec\xe2\x91\xfe\xb2\xbf\x2e\xb9\x14\x3c\x52\x1e\x10\x13\x43\x22\x93\x62\xe2\xf9\xc9\xab\xd3\x8f\xb2\xbf\xf3\x17\xc3\xd1\xd9\x47\xd9\x55\x7f\x2d\x17\x02\xe2\x7d\x24\x71\xa3\xd0\x1f\xed\x58\x8a\xf1\x6e\x42\xfc\x10\xbc\xf1\x32\x57\x01\xc1\xd0\xf0\x96\xce\x11\x15\xa0\xdd\x0e\x67\xc1\x9a\xec\x15\xba\xce\x90\xe4\xa6\xec\x1e\xe4\xb6\x35\x73\xd1\x31\x66\x54\xaa\x5e\xb1\x56\x76\x76\x14\x70\x8f\xfa\x56\x36\x2d\x63\x63\x76\x11\x1b\x51\xaa\xc5\x40\x2b\x0f\x89\x40\xb5\x60\x48\xb9\x2d\x85\x32\xe2\xc9\xac\xb1\x51\x18\xd3\xef\x34\x38\x1e\x25\xf6\x36\x56\x0c\xed\xab\x47\xd7\x8b\xf2\x3f\x66\x64\xb6\xf7\xc0\xbd\x47\x45\xb1\x43\xff\x80\x61\xc1\x63\xe7\xd7\x8d\x4b\xc5\x81\xa3\xac\x02\x56\xb8\xb2\xcd\x31\xe3\x78\xa6\xb3\x9e\x48\x91\x4a\x76\x84\x6e\xb0\x05\x87\x20\x30\xe2\xe4\x31\xe3\x69\xca\xd7\x95\x9e\x65\x65\x0f\x22\xd4\xf3\x5a\xf7\x42\x0a\x76\xe5\xa4\x3f\x75\x43\xad\xe5\x45\xa3\x24\xe8\x8f\x85\x39\x48\x1a\xa8\x69\x8e\xe9\xa9\x6e\x93\xc9\x12\x1d\xab\x60\x66\x84\x62\xa2\x36\x25\xa2\x48\x84\xea\x08\x0b\x92\x78\xd2\xcc\x93\x66\xc4\xb3\x5c\x47\x5e\x21\x94\x61\xc7\xb6\x36\x7c\x95\x86\x79\x2e\x62\x87\xdb\x41\xe4\xc9\x62\x50\x38\x62\xa6\x3c\x53\xda\x72\x31\x71\xa2\xa6\x99\x68\x69\x3a\x52\x1a\x5c\xc0\xdd\x60\x69\xf6\xd1\x79\xc3\x51\xe7\xde\x4c\x9f\x2b\x67\x49\xfb\xf8\x03\x1b\x7a\x79\x10\x19\xef\x4f\x75\x85\xa3\x43\x5b\x9d\x7a\xf5\x0a\xeb\xbf\xe3\x25\x46\xb5\x16\xae\xaf\xa4\xf1\x94\x2c\x9c\x9c\xe7\xd6\x3b\xcc\x44\x4c\x37\xeb\x4a\x0a\xa2\x2e\x86\x3c\xa4\xf3\x54\xca\x5e\x8e\xb0\xaa\x1f\x3a\x73\x88\x90\xa6\x4e\x03\xbb\x3d\xcf\xe4\x2d\x29\xc4\xd0\xe4\xe9\x05\xe6\x58\x83\xfb\x14\x63\x43\x1e\xcc\x80\xac\x55\x79\x58\x05\xc3\x5a\x2f\x6e\xa8\x4f\x8d\xa3\x46\xf4\x69\x86\x92\x24\x97\x68\x28\x01\x2a\x09\xd9\x46\xee\xb9\x71\x78\x81\xa7\xfc\x4a\x60\x0a\x62\x88\x93\x00\xd1\x73\x41\x86\x57\xf8\x34\x1a\x9b\x54\x90\x39\x85\x24\x5b\x16\x25\x39\x5e\xa0\xa5\x10\x0a\xe2\xf1\x15\xd8\x0a\xb6\xea\x34\x10\x39\x99\xd2\xc8\x2d\xab\xf4\xae\x8e\x5c\x74\xc8\xcc\xfa\xab\xa0\x5d\x45\x2f\xce\xc7\xc6\xb9\x4a\xb9\x95\x98\xa8\x48\x60\xfc\x6b\xac\x3e\xea\xc4\x90\x88\xf4\x0c\xc1\x11\x6f\x02\xd5\x93\xe0\x31\xdd\x72\xd0\x4f\xd1\x0e\xa3\x74\x0f\x22\x76\xb4\x2b\x57\x3c\xfd\xc4\xd3\x8b\xac\xa0\x62\xb1\x2e\xce\x6a\x65\xb3\xaa\xdb\xb3\x52\xbc\x20\xe4\x9a\xae\x7b\x1e\x7e\x3c\x6f\x7f\x6c\x38\xef\x70\xf4\xef\x6f\x84\xb0\x43\xe6\xd4\xf6\xab\x6b\x33\x42\x6b\xa1\x76\x67\x53\x6d\x42\x79\xa1\xfa\xf6\xa6\xea\xe8\xb2\x62\x57\xdd\xd9\x54\x15\xfd\x59\x9c\xba\xbb\x1f\xab\xaa\x7e\x29\x2b\x9c\x4e\x21\x19\xa7\x63\x87\x8f\x0c\xce\x0e\x11\x8a\x39\x55\xee\xb0\x92\x20\x34\x6f\xb0\x8a\x70\xa5\xec\x0d\x99\x28\x95\x4d\xbd\xde\x70\x14\xb3\x55\xf9\x17\x3c\x9a\xf3\x20\x4d\x1e\xe9\xef\x19\x65\x3f\x67\xec\x24\xa7\x48\x8a\x21\x99\x0b\xdb\x81\x9a\x95\xfb\x2d\x38\xa9\xd4\x19\x00\xd1\xfb\x9d\xd8\x03\x18\xb7\xac\x29\x0e\x18\xd4\x68\xd9\xfe\xd9\x64\xbe\x5b\x53\x3b\x46\x6e\x2f\x3b\x5f\xe7\x1d\x6c\xd3\x1d\x57\x61\xcb\x67\x99\x4c\xd2\x3f\xde\xea\x52\x7c\x32\x45\xc1\xb3\x94\x84\x81\xf1\x06\xbe\x77\x8f\x8d\xf2\x20\x53\x77\xf1\x14\xe2\x1b\x2f\x09\x2d\x15\x8d\xc9\x07\x20\xcc\xb5\xdc\xa2\xc4\x16\xdb\xb0\x52\x63\x82\x5f\x3a\x4f\xe0\x34\x5a\x13\x70\xc0\x42\x4c\xc1\xdf\xbb\x66\x3c\xb9\xd0\x25\xd6\x09\xed\x53\xe1\x2b\x6b\xdb\x84\xd9\xff\x1e\x2a\x57\x6f\xf2\x5e\x2c\x26\x8b\xa8\xb3\x9f\x18\x67\x87\x6c\xec\xbe\x41\x54\x2f\x22\xbd\x4c\x14\x10\x3d\x4f\x26\x94\x79\xa0\x2a\xa3\xc4\xd7\xe1\x9b\x1a\xdf\x17\xdf\xc1\xbf\x30\xbe\x31\xeb\xc5\x77\xc0\xb7\x44\xb4\x8e\x66\xde\x84\xf0\x5b\x4d\x27\xd5\x85\x4b\xe6\x36\x82\xc6\xd9\xd7\x22\xa8\x30\xaf\x4d\xb9\x32\xbe\xcb\xe4\xac\xb5\xa8\x9e\x46\x36\xfb\xea\x69\x58\xb0\x0b\x63\x2d\xf8\x63\xaa\x9c\x16\xdf\x36\x11\xa2\x9c\xea\x69\xf0\x28\xff\x86\x79\x10\xe8\xef\x80\x71\xdb\x9f\xa9\x72\xa0\xf3\x64\xf2\xd5\x03\xbd\xf7\xce\xfa\xd6\x1d\x32\x48\xe6\x8b\x65\x2e\x65\x45\x25\xba\x19\x1d\x29\x06\x44\xc5\x87\x20\xc7\xdb\x50\x4f\x35\xc8\xa3\x5a\x30\xab\xb3\xbf\xa9\x6e\xab\xa3\x39\x15\x2c\x96\xc1\x78\xda\x8c\x80\x43\x8e\x02\xca\x0a\x63\xd4\xa1\x73\xbe\x80\x18\x20\x1c\x63\x95\x5a\x9d\xd6\xe6\x56\x8f\xc6\x6c\x91\xf0\x6a\xc7\x1c\x3d\x9f\x7f\xa4\xe2\x2f\x66\x11\x89\x4b\x22\xd1\xe5\x29\x69\xd2\x4d\x58\x7b\x77\x31\xc5\xa4\x36\x8d\xef\xb6\x94\xf0\x46\xe3\xee\xfc\x52\x70\x7a\xdb\xc0\x6b\x6b\x8b\xf5\xc1\xc7\x4f\x72\x84\x06\x1b\x25\xe9\x8a\xa7\x13\x14\xe5\xdf\x0a\x48\x0a\x8a\xfc\x3f\x61\xfc\x2a\x09\x27\x2c\xe6\x57\xe1\x05\x07\x3d\x19\x5f\x71\x54\xca\xda\xd0\x72\x2b\xa1\xc1\x82\x5f\x88\x56\xd1\x96\xac\x10\xaa\xa7\xdb\x45\x5a\x72\xca\xf6\x2a\xca\xf6\xeb\xec\x27\x87\x81\xdf\xf6\x42\xca\x0e\xef\x58\x5d\x79\x99\x32\xcb\x8a\xbe\x40\xc2\xd3\x4d\xe4\x2b\xb7\xce\xf0\x74\xa0\xcd\xb4\x95\x59\xc7\xe0\xf4\x44\xfb\x68\xe8\xc2\xd3\xd3\x6d\x55\xf8\xda\xe4\x02\xff\x5f\x1d\x6d\xc4\xbd\x8a\x64\x35\x65\x3a\x8f\xaf\x9f\xd3\x50\x44\x13\x50\x3a\x1e\xb2\x73\x7a\x75\x68\x90\x2e\x52\x5d\xdd\x1a\xda\x9d\x1d\xbc\xd8\x41\xe2\xff\xf8\xc0\x82\x63\x5c\x95\x21\x6e\xa5\x7a\x72\x91\x84\xd1\x36\x79\x75\x60\xd7\x30\xf6\x01\x7c\x4f\x7f\x5b\x66\xb9\x6d\x48\xa2\xa0\xe9\xb0\x46\x13\xd4\xd4\xe0\xbb\x1e\x5e\x77\xc7\x6b\x7d\x4b\xc0\xfb\x41\x92\x59\xb9\x1e\xd8\x79\xbb\x01\x7a\xd7\x77\xaf\x9e\xbf\x7a\xfd\xe1\xd5\x47\xaf\x01\x48\x2d\xff\xff\xb1\xa1\x07\x3f\x82\xc8\xd3\x69\xb2\x22\x10\x9d\xbd\x86\x04\x31\x3c\x1d\xc8\xe6\xc3\xd3\x41\xa3\x4a\x20\x61\x3a\x18\x77\xc3\xfc\x62\x95\xd2\x55\xe9\xdc\xf7\x3b\x0d\xe6\x9d\x8f\x7c\x09\x0c\x38\xbe\xa4\xaf\x27\xcc\x7b\xe3\x35\x80\xfe\xe0\xd7\xba\x05\x04\x0b\x1f\x75\xb6\xff\xfe\xa8\x51\x86\xb6\x0d\xd0\x3a\x45\x68\xff\x69\xa0\xfd\x67\x25\xb4\x9d\x4a\x68\x3b\x00\x6d\xbb\x08\xed\xad\x81\xf6\xb6\x12\xda\x6e\x25\xb4\x5d\x80\xb6\x53\x84\x76\x6a\xa0\x9d\x56\x42\xeb\x56\x42\xeb\x02\xb4\x5d\x80\x46\xcd\xfd\xdd\xbf\x7b\xc5\xd5\x28\x41\xdb\xaf\x84\xb6\x07\xd0\xba\x0e\xb4\xbd\x3b\x40\x3b\xa8\x84\xb6\x0f\xd0\xf6\x1c\x68\xfb\xb7\x43\xdb\xf6\x2b\xa1\x1d\x00\xb4\x7d\x07\xda\xc1\x1d\xa0\x75\xaa\xa0\x75\xda\x00\xed\xc0\x86\xd6\x69\xdf\x01\x5a\x25\xbd\x75\x7c\xa4\xde\xf6\x47\xb3\x88\x1d\xff\x0e\xd0\x2a\xe9\xad\x43\x7b\xc1\xb7\xa1\x6d\xdf\x0e\x6d\xa7\x7a\xa6\xb8\x17\xfc\x8e\x0d\x6d\xe7\x0e\xd0\x0a\x33\x55\x8c\xe0\x14\x23\xcf\x1b\x4e\xe0\x1f\xc8\xf1\xfe\x8f\x84\xa8\x61\x64\xb3\x9a\x94\x65\xbc\xff\x90\x94\x0c\xbf\xfd\xea\xd5\xeb\x0d\xb7\x23\xf3\x8f\x78\x0d\x80\xdb\x39\x90\x8c\xc5\x7f\x68\x83\x0b\x6a\x1e\x86\xa2\x7b\xb5\x9c\x43\x7e\x07\xc6\xb0\xac\x17\xe5\xaa\x08\xfe\x7e\x29\x72\x8e\x05\x0a\xdc\xae\xe4\x75\x5e\xe7\x3f\xbe\x17\x38\x5f\x82\xdb\xfe\x7f\xdf\x0b\x5c\x47\x82\xdb\xf9\xb7\xef\x05\x6e\x5b\x82\xdb\xfd\xf7\xef\x05\x6e\x47\x82\xeb\xfe\xfa\xbd\xc0\xed\x4a\x70\x7b\x3f\x7c\x2f\x70\x5d\x09\x6e\xff\xf1\xf7\x02\x07\x07\xda\x41\xed\x3b\x81\xdb\xd9\x97\xe0\xda\xf5\x12\x38\x27\x0d\xaa\x84\x50\x00\x58\x59\x49\xef\xe6\x7d\xc9\x05\x9b\x9f\x6e\x87\x7a\xcb\x77\x03\x50\xb2\xfc\xa3\x27\xdf\x0b\x20\x4a\x0a\x62\x9a\x5c\xb3\xe6\x27\x90\xbc\x8f\x9e\x50\x4f\x7b\xdb\xdf\x77\xe8\x5d\xff\x8f\x1a\xf9\x49\xce\xa3\x90\xc7\xec\xc9\x63\x35\x74\xd9\xd5\x93\x32\xa5\x7d\x45\x57\x08\x71\x1f\x05\xb0\xfe\xf3\xd3\x37\x92\x2d\x8f\xb3\x1a\x26\x05\x6d\x30\xef\x97\xb1\x84\x03\x25\x63\xf8\x5b\x96\xd7\x37\x8a\x4f\x46\xb8\x0c\x53\x9b\x2b\x1f\x60\x0f\x67\xbd\xbe\xec\x20\x9b\xd5\xbc\x5f\x72\x73\x00\xfc\x45\x42\x04\xc9\xb7\xa1\x19\x70\x83\x95\xe5\xb2\x7d\x60\x77\x7f\xfd\x4f\xaf\xb1\x81\x73\x33\xe4\xee\x20\x4d\x95\x44\x3d\x0d\x05\xb6\xd6\xea\xc3\x6d\x50\x3e\xdc\x08\xa5\x0b\x07\x83\x18\xde\x06\x65\x78\xf3\x58\x80\xe3\xa6\x6f\x6f\x83\xf2\xf6\x66\x28\xc0\x19\xf3\xb3\xdb\xa0\x9c\xdd\x0c\x05\x66\xb4\xfe\xef\xdb\xa0\xfc\xf7\xcd\x50\x80\xad\x2e\xdf\xdd\x06\xe5\xdd\x8d\x50\xf6\xe0\xe8\x08\x4f\x6e\x83\x72\x72\x33\x14\x98\x51\xf2\xfa\x36\x28\xaf\x6f\x9e\x11\x9c\xd9\x8b\x37\xb7\x41\x79\x73\x23\x94\x0e\x4a\x8c\x7f\xbb\x0d\xca\xf9\xcd\x50\x40\xb6\xfb\xf8\xe5\x36\x28\x1f\x6f\x81\x22\xe5\xcd\x5f\x7e\xf9\x0c\x60\x36\x43\xf9\xe5\x17\x67\xab\x97\xb7\xf9\x28\x59\xa6\xf9\x0c\xf6\x39\xab\x7d\x10\x10\x6a\xc8\x8a\x0e\xf7\x67\x74\x1f\x81\x98\x71\x18\x59\xfa\x58\x5c\x9d\x25\x49\x44\xe9\x59\xd9\x79\x07\x70\x7b\x3e\xe8\xbd\x01\x9b\x1b\xb3\xf3\xf5\x2f\x1b\xfe\x6d\x62\x11\x5d\x20\x3f\x30\x1b\x62\x0e\x8a\x60\x42\x3d\x3a\x35\x2b\xfe\x6d\x5c\x7d\xa0\xc4\xec\xb4\x1a\xe0\xe9\xfd\x01\x76\xe1\x28\x9e\x1c\x57\x03\x3c\xbe\x3f\xc0\x3d\xc0\xe1\x74\x54\x0d\x70\xf4\x15\x00\x81\xcd\x5e\xfc\x5c\x0d\xf0\xe7\xaf\x00\x08\x5c\x6e\xf6\xac\x1a\xe0\xb3\xaf\x00\x08\x0c\xef\xb7\x3f\x97\x00\x2a\x49\xff\xcf\x12\xa6\xa4\x91\x02\xe8\x8d\x00\x81\x6c\x2e\x9f\x6f\x04\xf8\x5c\x0b\x57\x10\xaa\xef\x93\xba\x3f\x6c\x04\x08\xe2\x60\xf4\x62\x23\xc0\x17\xf7\x1c\xa1\xbf\x2f\xef\xd6\x4f\x0f\x4b\x00\xad\x73\xf3\x5e\x38\xec\xc0\xc5\xee\x17\xef\x91\xd7\xf8\x3e\x00\xfd\x6d\xd4\xc1\xbc\x3a\x1b\xbe\x05\x03\xba\x5f\x52\x04\x4d\x6e\x15\x1b\x01\xea\xef\x15\x0c\x26\x9c\x2a\xfe\x42\x61\x29\x31\xf0\x4f\x46\x36\x63\x2a\xc7\x06\xcb\x66\x49\x9a\x07\xcb\x3c\x6b\x31\xf6\x3a\x06\xc5\x95\x82\x61\x72\x36\x80\xe7\x13\xf0\xa7\xc1\xd6\x7b\x48\x0c\x4c\x19\x7c\xe1\x83\x94\x9a\xe5\x07\x0c\x2b\x4b\x3a\x2e\x4c\xe2\xa0\x40\x51\x5b\xac\xa9\x4c\x29\x80\xc7\x91\x81\x92\x8e\x9d\x46\x4f\x74\xe8\x40\xc1\x59\x26\x22\xa1\xec\x28\x54\x7e\x8b\x89\xcd\x2a\xdf\x23\xd0\xc7\xcd\xf7\x0a\x2c\x85\x90\xa9\x82\x5e\x83\x70\x57\x0a\x12\x1a\x4f\x64\x42\xcc\xc9\xde\x29\x15\x41\x72\x11\x87\xbf\xa3\x75\x0a\xe2\x27\x4f\x92\xba\xba\x21\x03\x69\x9e\x9f\x3e\x3b\x19\x9d\x15\x95\x6d\xe5\x7f\x9b\x18\xed\x01\x70\x9d\xdf\xff\xe2\x1e\x21\x40\xda\x7f\x29\x6f\xe8\x8d\xdc\x15\x98\xe1\xf5\x7f\x55\x40\xf9\xaf\xbb\x43\xe9\x82\x44\x17\x0c\x0a\x50\xd4\x75\x69\xf0\xc9\x01\xe5\x56\x90\x68\x1f\x58\x72\xfc\x3e\x60\xe7\xea\xfd\x06\x58\xef\x6f\x83\xf5\xde\xbe\x13\x00\x2c\xb0\x5e\xad\xe0\x00\xfd\x02\x07\xb0\x2b\xe8\xdf\xe1\xbb\x66\x2a\x80\xad\xf8\xd5\x86\xb1\xbd\xba\x6d\x6c\xaf\xac\xb1\xed\x01\xce\xe6\x2f\x2b\x30\xff\xf2\xee\x98\xf7\xe5\x02\x7a\x8d\x3f\xb9\x50\x78\x94\xd7\x88\x8b\x38\x1c\x6e\x23\x14\x49\x4c\x5e\xeb\xc7\x6f\x85\x22\x65\xa3\xad\x9f\xaa\xb1\xfd\x49\xeb\x7e\x7e\x02\xde\x7d\x83\x54\x73\x1a\x5e\xe7\x33\xcc\xeb\x0c\x56\x78\x96\x72\x09\xd5\xcc\x83\xb3\xb7\x2f\x36\x89\x2b\x4e\x91\x41\x13\xb4\xeb\xbd\x80\x0d\x77\xf7\x76\x07\x70\x12\x9f\xbf\xe8\xbd\xb9\x5f\x7f\xdb\x70\xe0\x32\xaf\x84\x32\xa3\x06\xdb\x84\xc5\x03\x68\x7a\xfe\xf6\xbe\x5d\x1e\x20\xf7\x7f\xfb\x72\xf8\xea\x9d\xe1\x2a\x37\xb6\x73\x5f\x34\xe0\xad\x40\x3d\x09\xec\xe0\x28\xde\xbc\x3d\x3b\x1d\xbc\xbd\xf1\x45\x00\xf1\xbb\x03\x6a\xec\xd3\xc1\xdb\x17\xcf\xad\x51\x6f\xac\x0e\xf7\x82\xf3\xfe\xdb\x61\xef\x96\xea\xce\x63\x09\xbc\xe6\x25\x53\x96\x85\xd7\xf8\x74\x87\x09\xc0\xc9\x08\x14\x13\xb4\xc0\xe0\x41\x98\x38\x3f\x79\x75\x3a\x7c\x0b\x0b\x0e\x1b\xf0\xb9\x58\x63\xea\x4c\xda\xa5\xc5\x05\x28\xad\xc4\x36\xf2\xe9\x67\xaf\x5f\x0e\x91\x6a\x14\x98\x67\xc9\x5c\xe8\xad\x7e\x3b\x18\x5c\x98\x37\x3f\xbf\x7b\xe3\x82\x79\xc3\x2f\xc4\xbb\xc5\x5d\x47\xb3\x83\xa3\x39\x1e\x22\x59\x18\x30\xc7\x22\x32\x7c\xe7\xf6\xd1\xec\x92\x90\x70\x5c\x00\x33\x8c\x27\xf7\x01\xb3\x43\x93\x3a\xa6\x17\x23\x7b\x52\x90\xcd\xa4\x8a\xc6\xab\x36\x7b\x4f\xae\x9c\x7e\xe3\x92\xc7\xb6\x15\x19\x16\x8c\xb1\x55\x00\x2d\x58\xe7\xb2\x5d\x0e\xe6\x94\x57\xe0\x4c\xac\x56\x68\x4b\x87\x38\x64\x97\x55\xd1\xe9\x94\x83\x15\xcc\x03\x1e\x25\xd4\xca\xe8\x59\xc0\xa0\x68\x6d\x6e\x5f\x19\x78\x3c\x50\x88\x70\x61\xdc\x09\x15\x38\x12\xb8\x9e\xbe\x3d\xf9\xf9\x19\x90\x2c\x0f\x6a\xa4\x9c\x91\xa7\x2a\x3d\x0a\x0d\xee\x06\x69\xcf\x38\x4f\x34\x98\x05\xe9\xd8\x40\x3a\xbe\xd3\xf2\x9c\xfb\x3b\xf0\xd8\xf5\xea\xdd\xcb\x17\xaf\x07\xcf\xef\xf4\x32\xf8\x21\xcc\x67\x2c\x5e\xce\x69\xb3\x4e\xb5\xaf\xca\x82\x4f\xd8\x85\x88\x45\xca\x73\x12\x1f\x21\x3d\x05\xb8\x8a\xa0\xcb\x56\x66\x6d\x65\x5b\x4c\xf3\xec\x9d\xef\xb9\x0f\xa3\xf8\x9e\x0f\x2e\xb3\x06\x92\x32\xc0\x4f\x45\xa6\x62\x50\x6e\x6d\x31\x34\x32\x43\xab\x70\x3d\xc0\xd8\x1a\xd3\x32\x0e\xff\xba\xb4\x46\xd4\x6a\x29\xed\x19\xee\xbd\xe7\x6f\xe0\x45\x67\x23\xda\xca\xbc\x7c\x8f\xda\xf9\xf7\x6c\xb7\x4f\xed\x3a\xf7\x6c\x77\x40\xed\xb6\xef\xd7\xce\x6f\x03\x09\x3f\x7f\xb3\x73\xdf\x76\x3e\xb6\xdb\xbd\x6f\xbb\x0e\xb6\xeb\xde\xb7\xdd\x36\xb6\xdb\xbb\x6f\xbb\x1d\x6c\xb7\x7f\xdf\x76\xbb\xd8\xee\xe0\xbe\xed\xf6\xb0\xdd\x93\x8f\xdf\x4f\x35\xdf\x3e\x40\x98\xcd\xef\x09\xb3\x8b\x30\x1f\xdf\x73\x7e\x3e\xad\xfb\xd6\x7d\xdb\x11\x9d\xb5\xee\xdc\x4e\xdf\xfc\x50\x7f\xf5\xda\xb8\x58\xb2\x3c\x59\xd8\xa2\x61\x17\xe6\xd2\xef\x21\x9f\x62\x60\x5b\x44\x0f\xea\x4f\x94\xe1\x80\xfc\xa5\x5e\x78\x4d\x7f\xb2\xc1\x6a\xa0\x8b\xaf\xdf\x1f\xd4\x41\xe9\xc0\xfb\x4f\x05\xef\x3f\xab\xe0\x55\xbe\xe3\x76\xe1\xa8\x79\x3b\x7c\xf1\xba\x07\x20\x1d\x78\x6f\x15\xbc\xb7\x55\xf0\x2a\x2d\x07\xf6\xf1\x25\x97\xe4\xb3\xc2\xf8\x4e\x15\xbc\xd3\x2a\x78\x95\xb6\x03\xfb\xb0\x27\x3f\x90\xf7\x1d\xc2\xb3\x4c\x08\x9c\x2b\x49\x01\x5e\x95\xf5\x40\x07\x6d\x11\xfa\x6f\x4f\xce\x9a\x68\xdc\x60\xc1\xdb\xbb\x19\x5e\x95\xfd\x40\x07\xad\x11\x24\xbc\x27\x25\x78\xfb\x37\xc2\x73\x2d\x08\x34\x49\xf9\x7b\xdb\xec\xfc\xe5\xbb\xb3\xe1\xc7\x06\xf3\xf7\x76\xd8\xf9\xfb\xd7\x2f\x9a\x1f\xe1\x3c\xf1\xf7\x76\xe1\xcf\x27\x1f\xc1\xad\x10\xcc\xd8\x8c\x39\xbb\xa6\x45\x05\x09\x73\xf0\xb1\x39\x8f\xf9\x85\x48\x1b\x98\x31\xc2\x83\x4c\x00\x57\x60\xdd\x03\xd2\xc8\xbc\x65\x65\x97\x92\x9d\x87\x19\xe3\x51\x96\x14\xde\x9b\xbc\x8c\x35\x3f\x29\x3b\x20\x49\xdc\xae\x37\xeb\x10\xb3\x5a\x9a\x4c\xc0\xa8\x5f\x48\x52\x4a\xa1\x0f\xc7\x97\xf2\xb3\xba\x9b\xfd\xbf\x2d\x1b\x6f\x48\x42\xe7\x78\xe3\xa2\x11\x25\x36\x78\x03\xbd\x3b\x09\x43\x9c\x18\x0a\xb7\xd9\x65\x99\x58\x06\x68\x51\xd6\xf9\xbb\x57\x35\xdd\x2c\x48\x13\x4a\xd9\x8d\xbf\x42\xc6\xd1\xf1\x72\x3a\x15\xe9\xb7\xcf\x1d\x04\xfa\x4d\xa9\x19\xdd\xa9\xcf\x92\xb9\x78\x2e\xd6\xd9\x29\x0e\xe8\x57\x7b\xde\x96\x5f\x01\x26\x91\xaa\x34\x33\x35\xd5\x2d\xb3\xed\x42\x2f\x15\xa6\xda\xca\xb0\xd1\xc1\xd6\x33\x37\x54\xb3\xfd\xed\x35\x7e\x2b\xa7\xa4\x36\x21\x55\x11\x93\x72\xf2\x18\x22\xe8\xd6\x25\x53\xc6\x7a\xff\xe8\xf5\x91\x77\x93\x3f\x60\x79\xaa\xcd\x80\xbf\xe7\xfa\x8c\x6e\x58\x9f\xd1\x1d\xd7\x67\x18\x4f\xfe\xc5\x97\x87\x2e\xb2\x77\x5b\xa1\x05\xbf\xd8\xb8\x42\x25\x24\x9d\xef\xfe\xdd\x7b\x7a\x2b\x86\xb0\xff\x6f\x47\x12\x22\x21\x4f\x97\x82\x1d\x0f\x5f\x80\x23\x6d\xb6\x1c\x43\x68\x20\x91\x73\xe3\xd7\xa0\xfc\x0c\x5f\xc7\xe6\x28\x68\x50\xbc\xda\xcb\x98\xd8\x32\x8f\x54\x9e\x28\x86\x81\x10\x29\xaf\xf9\x85\xc8\x19\x97\xf0\x29\x45\x0a\x66\x4a\x78\xcc\x82\x88\x87\x73\xf2\x46\x29\xb4\x8f\x93\x5c\xb9\x22\x37\x9c\x3e\x24\x14\x0c\x14\xad\x53\x9e\x43\x0c\xa1\x98\xe2\x39\x70\x8c\xd6\x8b\x29\x02\x43\x08\x41\x6d\xcd\x82\xf5\x39\xc4\x8b\x8d\x55\xbd\x45\x2a\xa6\xd0\x41\xc0\x63\x39\x73\x0a\x1a\xe2\x4e\x5e\x87\x8f\x08\x78\x76\x1f\x22\x39\x16\xd1\xdd\x0e\x17\x1e\xe5\xda\x87\x03\x93\xf2\x19\x97\x8e\x1f\x7e\xa0\x5d\x56\x6a\x62\xe7\x41\xfb\xc1\xb8\x24\x94\x49\x0a\x0c\x28\x9e\x16\x8f\x9d\xed\x7f\xc6\xb1\xa3\x75\x25\x7f\xc4\xce\xe9\xde\x75\xe7\x40\xd8\xa1\x7f\x6d\x06\xa3\xd4\x31\x77\xc3\x53\x89\x39\x17\xc4\x13\xdb\xd5\x74\x13\x62\x5e\x84\xb1\x66\x29\xf7\x40\x8c\x1b\x9d\xe9\x1b\x1d\xb9\x6e\x3f\x73\x7e\xa2\xb5\xee\x79\xec\x90\x4e\x95\xde\x3f\x81\x8e\x8d\xa6\xeb\x1f\xbb\x40\x86\x72\xff\xf5\x97\xa8\x6f\x96\xa8\xef\x2e\x11\xa6\x9e\xa3\x20\x4e\x73\x9e\xae\xb7\x20\x20\x42\xcc\x73\x58\x2c\x21\xe2\x4c\xb9\x9f\x97\x17\xef\xae\xab\x84\x8f\xe6\xce\xf2\xa8\x74\x4a\x15\xe1\x76\x0c\xb2\x57\xe1\x42\x0c\x92\x38\x17\x71\x9e\x7d\x33\x93\x80\xa7\x54\x78\x73\xf5\x5b\xad\x83\xe2\xa3\xaa\x22\x43\x79\x53\x72\xe2\x4d\xd0\x69\x6b\xee\x4e\x08\xc2\xbc\xe0\x1e\x50\x72\x3e\x0c\xe1\x14\xad\x29\xe5\xdb\x42\x04\x21\x8f\xac\x00\x48\x73\xb8\xc5\x41\xa8\x8b\x04\xbb\x09\x63\x76\x2d\x27\x22\x3b\xbf\x88\x93\xb9\x68\xea\x99\xa3\x87\x68\xca\xe3\x0b\x78\x42\x4e\x05\x40\x86\xfe\x3a\xad\xd6\x3e\x9c\xe7\x12\xd4\x4a\x65\x2c\x63\x30\x29\x4c\x84\x44\x62\x01\x44\x53\x45\xad\xe6\x6a\x96\x44\x0a\x1c\x8d\xec\xce\x6b\x47\x16\xa7\x37\xac\xde\x3f\xdf\xd5\xac\x7c\x8e\x6b\x4c\xca\x65\xa7\x39\x8c\x45\x4a\xc7\xf3\xd7\x5e\x16\x55\xca\xdb\xcd\xe9\x4b\xdc\xf4\xb7\xbe\x77\xa8\xcf\x45\x9f\xa4\x71\xfc\xd2\x31\x5f\xd4\xab\x9c\xfd\x79\xbb\xf0\xf9\xdc\xfd\xbc\x53\xf8\xfc\xcb\x2f\xee\xf7\xdd\xc2\xf7\x8f\xee\xe7\x6e\xe1\xf3\xaf\xee\xe7\xbd\xc2\xe7\x4f\xee\xe7\x7d\x6b\x52\x5a\x9e\x51\x1f\x0f\xac\x8f\x07\x5e\x29\x74\x80\xbd\x17\x7b\x51\x7e\xef\xad\x78\x17\x8a\x25\xf3\xe5\x1b\x08\xf6\x16\x72\x41\x00\xdf\x4e\x2d\xb7\xd6\x24\xa5\xd0\x46\x6e\x05\x46\x21\x7f\x04\x8a\x94\x89\xf8\xd7\xe3\x88\x20\xfc\x73\x91\x44\x82\xc3\xaf\x03\x48\x1d\x19\xe7\x22\x5d\xa4\x26\xf3\x3d\x85\x87\x85\x1b\x4a\x90\x2c\xd6\x2c\x48\xe6\x73\x1e\x57\xa7\xe7\xd8\xc0\xf9\x06\x37\xa1\x88\x82\x51\x08\xe5\xe1\xbb\x01\x5d\x17\x22\x3f\xa6\xd8\x49\xb5\xba\xfc\xeb\x54\xb5\xb1\xf2\xf4\x3d\xd4\x80\x20\xbe\x71\x14\xf1\x45\x26\x26\x4e\xb0\x08\x07\xba\x94\x14\x06\x03\x39\xab\x02\xfa\xed\x74\x54\x68\xb0\xa4\x4c\x8a\x00\x07\x76\x64\x57\xdb\x30\x09\x71\x29\x31\xa9\x9e\x30\x5b\x06\xce\x1b\x4a\xe5\xa8\xac\xae\xd8\x78\xcd\x22\x91\xe7\x2a\x5e\x5c\x21\xb7\x24\x76\x8b\xa6\x58\xf3\x24\xcb\x0d\x20\xaa\x48\xf9\x5e\x55\x74\x9d\xc7\x49\x1c\xad\x1f\xb3\x15\x87\x48\x4f\x18\x3d\x38\x17\xd7\xb9\x72\x18\x0e\xa2\x70\x81\x4a\x77\xcb\x29\x96\x5c\x62\xbd\x49\x1a\x5e\x89\xe6\x78\xed\xb1\x95\x18\xab\x31\xdf\x40\xbc\x90\x12\x45\xaf\x40\x6f\x9a\x8b\x54\xa2\xd1\xf6\xdd\xcd\x44\x7e\x16\xce\x45\xb2\xcc\x6b\x66\x55\x02\x5a\x93\xb3\x64\x18\x4f\x20\xa0\xab\xf9\x58\x6f\xb0\x5d\x93\x8d\xaa\xe0\xea\x7a\x17\xff\x58\x2b\xab\xd4\xc3\x1b\xd6\xf9\xa6\x65\x46\x43\xb2\x3f\x62\xb1\xe7\x3c\x06\xc1\x46\x19\xe1\x41\x46\x9e\x55\x92\x5e\x42\x2c\xa6\x2c\xcc\x97\x14\x31\x12\xb2\xa4\x1a\x40\x2a\x60\x58\x4b\x5c\x8b\x60\x80\x7b\xaf\xe6\x49\x90\x5e\x1d\xb5\xcf\x51\xb2\x32\x09\xd8\xfe\x25\xd6\x6c\xd3\x00\x92\xc5\x5a\xf7\x7f\x96\x0c\x14\x41\xd6\x0a\x01\xcb\xef\x74\x03\xb0\x22\x9a\x9b\x63\xb4\xbd\x5d\x7d\x75\x22\x0e\xf7\x4a\x72\xb8\x64\x01\x61\xfb\x63\xb1\x52\x3a\x7f\x62\xfd\xf0\x94\x1d\x25\x28\xfb\xdf\x4b\xb0\xbb\xed\x04\x28\x53\x1c\xf6\xdc\x92\x63\xa9\xe9\x15\xd6\x7d\xcf\x40\x89\xe3\x79\xe5\xa8\x43\x5e\x00\x52\xe9\x51\x9c\x34\x82\x28\xc9\xc4\xd1\x5a\x64\x8d\x54\x64\xe1\xef\xf8\xab\xba\x5c\xa4\x19\xfc\xe9\x39\x79\xee\x08\xc4\x3c\x8c\xc3\x79\xf8\x3b\x1f\x47\xd8\x66\x15\x4e\xf2\xd9\x91\xc7\x9e\xa8\x51\x85\x71\x2c\xd2\x0f\xb2\xb4\xaa\x79\x63\x26\xc2\x8b\x59\x5e\x6a\xf0\x0c\x8a\xbf\xed\x2a\x27\x97\x50\xdc\xb8\x84\xef\xe1\x90\xca\xb2\xa5\x94\x92\xf1\xd9\xc4\x3a\x90\x8a\x81\x82\xc7\x62\xc6\xaf\x42\x68\x81\x81\xdd\x65\x7d\x0a\x8c\xab\xd4\x65\x59\x26\x32\xc7\x8a\x14\xcd\x11\x30\x07\xfb\x63\xec\x73\x63\x93\xf7\x94\xe9\x9d\xa2\x00\x4e\xa3\x10\x1e\x99\xec\xa8\x75\x9e\x64\x3e\xcd\xab\x26\x74\xee\x81\x82\x0e\xa3\xb2\xd2\x80\xef\x4a\x65\xef\x6f\xa3\xb2\x9a\x1d\x8c\x44\x65\x70\x73\x58\xe0\x7b\x78\xe9\xb1\x94\xe2\x35\xb7\x45\x05\xd7\xa4\x26\x76\xda\x6f\xa1\x32\xa8\x93\x9b\xba\x9c\x18\xc4\x20\x5b\xa6\x99\x88\xae\xd0\x0a\x04\xa2\xf7\x44\x91\x3e\xab\xb6\x5e\x9f\x62\x5a\x32\xc2\x9b\x95\xc7\x8e\xda\xb7\x98\xbc\x1e\xf2\x71\xb4\x06\xab\xe2\x39\x0f\x5e\x9f\x36\xa8\xf6\x96\xbd\x3e\x56\x60\x7a\x9d\x73\xf9\x59\xb2\x12\x57\x22\xa5\x13\x11\x32\x28\xb3\x74\x19\x63\x3c\xfe\x95\x18\x83\x19\x49\x1a\x22\xf1\xc1\xe3\x5e\x38\x65\x61\xce\xa6\x3c\x8c\x32\xd0\x97\x42\xaa\x33\x05\x6e\xca\xe9\x86\x4e\xac\xc1\x3e\xa6\x63\x9e\x87\x57\xc2\x90\x56\x6d\x96\x2c\xc4\x74\x19\x45\xeb\x3a\xcb\xe4\xa5\x75\x99\xb5\x36\x88\x1b\xb6\xec\x07\x79\x17\xbe\x86\xed\x89\x28\x13\xf7\x3d\x1b\x0b\x7b\xcc\xef\x56\xee\xb1\x72\x4a\xf0\xef\xcf\x2f\xd1\x84\xf6\xff\x16\xbf\x4c\x96\xf9\xfd\xf8\x25\x34\xf8\x1e\xfc\xf2\x5b\xe4\x7d\x32\xc0\x4f\xec\x77\x68\x25\x82\x42\x48\xea\xcd\x17\x01\x8c\x63\xe8\xde\x05\x28\xb3\x93\x9d\xf0\xc0\x12\x95\x24\x0b\xae\xe0\xa1\x30\x06\x92\xb9\x28\xfd\x3c\x3c\xba\x83\x7e\x27\xe5\x71\x36\x0f\x73\xc6\x63\x95\x64\xb2\x16\x4e\x59\x31\xfd\x26\x88\x52\x75\x8a\xea\x8c\xef\xfb\x5e\xe0\xc9\x0e\xbd\x81\x57\x35\x30\x47\x84\x5b\x01\xc5\xe3\x8c\x2d\x04\xa8\x88\xea\xf4\x44\x02\xef\x29\xa0\xe2\x4b\x50\x61\x84\x31\xb3\xd5\x9d\x25\x4b\xcc\xcc\x2e\xe3\x64\x95\x81\x42\x49\x80\x7d\xcb\x4c\xcc\x29\xaf\x56\x24\xab\x25\xa0\xc1\xc1\x1b\x27\xa2\x71\xc6\x21\x96\x6a\x52\x58\x96\xf1\x1a\xc3\x84\xcc\x42\xc3\x79\x20\xa5\xcf\x05\x0f\xef\xb5\xd9\x6e\xbd\x7b\xa9\xed\x74\xc7\xab\xd7\xd3\xd2\x1e\x65\x9f\x3f\x1b\x29\xd5\xbd\x98\x55\xdd\xc2\x30\x4a\x14\x60\x10\x12\xe0\xd2\x03\xd9\x58\xc8\x69\xce\x44\x34\x01\x6a\xb1\xe9\x48\x8f\xb0\x20\x7b\x6b\xfb\x42\x42\x9a\x89\x08\x47\xc1\xf9\x93\x89\xc0\xa0\xb2\x7c\x82\xba\xd7\xe1\xe9\x80\x55\xd3\x50\x9e\x2e\x8d\x01\xea\x4a\x10\xf2\x29\x3c\xfb\x44\x04\xe1\x44\xb2\xfc\x7c\x25\x44\x0c\xf4\x05\x36\x8d\x40\x60\x66\xf7\x56\xea\xb3\x9c\x00\x61\x90\xea\xd7\xc9\x45\xaf\xd2\x1d\x83\xb9\x6b\x44\xbb\xad\x70\x13\x94\x7b\xa0\xe2\xfa\xfd\x0d\xb2\xbe\x25\xe7\xdb\x01\x23\x37\x2e\xa3\x73\x05\xa8\xd5\xd9\x17\x2d\xf6\x7f\xb9\x0b\x33\xc2\x63\xa8\xcc\x89\x20\xee\x4f\x62\x42\x06\xc1\x32\xbe\x6f\xb0\x89\x58\x50\xfe\xf1\x24\x2e\x0b\x4c\xac\x87\x06\xc1\xd0\xda\xe2\x20\xef\x31\xdf\xb9\xe4\x65\x77\xe2\x63\x28\xdd\x95\x64\xc8\xbb\x6e\xac\x5b\xe5\xb1\x6f\xd6\xe6\x14\x9f\x0e\x51\x5f\xf4\x5e\x07\x9a\xba\x19\x92\x0e\x30\x75\xbf\x43\xe2\x19\xd2\xdc\x34\x89\x73\xf6\x7b\x92\xcc\xad\xfc\x86\x56\xb4\x23\x2f\x33\x29\x60\x65\x2d\x36\x03\x0a\x1d\x87\x39\x46\x48\x57\x22\x7a\xce\x02\x91\xe6\x5c\xd5\x8a\xc4\x95\xc0\xec\xa4\xac\x97\xa3\x01\xf0\x9c\x53\x12\x05\x12\xcd\x30\x2c\x37\xcf\x96\xa9\x98\x30\x3c\x3a\x31\xd7\x7d\x9a\xac\x20\xcc\xad\xb8\xce\xd9\x04\xb2\x50\x64\xa4\xc9\x40\x7e\x4c\x75\xe1\x75\x61\xc5\x33\x26\xae\x17\x51\x18\x84\x79\xb4\x96\xe4\xae\xe6\xf0\x41\x27\x5b\x14\xce\x56\x83\xe1\xa9\x58\x62\x92\x29\x5f\xe0\x77\x7c\xa8\x7d\x93\xa4\xb9\x97\x21\x52\xa4\xec\x00\xd2\xeb\x63\x8a\x39\x26\xab\xc1\x74\xef\x4a\x3d\xae\x29\xe7\x2d\x54\xf4\xb0\x42\x65\xe5\x00\xf8\x8b\x1c\xb9\xf3\x90\xec\x72\x5a\xb8\x7e\xbc\x79\xf9\x17\xf5\xa6\x90\xe1\x5c\xf5\x73\x94\xcd\x84\xb5\x85\x42\xa2\xdd\xf5\xa0\x39\x54\xda\x08\x04\xd2\x9b\x58\x50\x6c\x5b\x07\x05\x86\xce\x76\xb6\xe2\x18\xf0\x55\x5b\xf3\xeb\x97\x0e\x8c\x90\x9d\xe5\x82\x43\x92\x31\x3e\x9d\x4a\xf6\x13\x5f\x40\x4f\x46\xa2\x76\x98\x2c\x44\x7b\x6d\x7e\x2a\xc6\x79\x95\xe2\xc2\xd4\x7b\x0a\x1d\xff\xfa\x49\x1b\x0b\xbe\x8e\xa3\x35\xfb\xf5\x93\x1c\xe2\x15\x8f\xc2\x09\x12\x5b\x42\x42\x91\x93\xee\x3e\x4e\x54\x68\xe5\xd6\x57\xc9\x67\x37\xb0\xe6\x0b\x91\xcb\x25\x1b\xf1\x20\x4f\xd2\x5a\x9d\x3d\xb4\x72\x99\xdb\xf9\x05\xe1\x06\x95\x33\xff\xd0\x47\x5c\x4f\xa1\x41\x43\x1f\x12\xf2\x4a\xc4\x9e\x6c\x35\xb7\xda\x48\xb7\x0a\x91\x70\xed\x74\x14\x85\xd0\x1e\x2f\x3d\x92\x8a\x05\xcf\x42\xe4\x8d\xca\xc6\x7e\x49\xbc\xf2\x42\x60\x24\x50\xf9\xbb\xdf\x6e\xff\xfb\x1d\xe7\xee\xdc\x32\x20\x19\x3b\x24\x05\xb9\x39\x3b\x3d\xe4\x9a\xa7\x15\x6c\x7b\x85\x94\xb3\x15\x2f\xc6\x22\x1f\x25\x71\x7e\x1a\xfe\x2e\x28\x65\xbd\x93\x67\x16\x94\xc8\x72\x63\xde\x24\xc4\x68\x00\x75\x2b\xe3\xad\x1a\x43\xd3\x93\x72\x4c\x99\xba\xd0\x5a\xdb\x8c\x0f\x7a\x69\x1e\x31\xbf\x32\xdb\x2d\x7c\x7d\x62\xbe\x3e\xb8\xf1\x15\xdc\x1a\x92\x6c\x58\xbf\xbb\x78\x6f\x3d\xd0\xde\x23\x6d\xd4\x82\xb2\x55\xfd\x5f\x49\x9e\x8e\x39\xd7\xe4\x00\x74\x36\x80\x71\x98\xe3\x53\xbb\x0a\xc2\x07\x31\xac\x41\x86\x9b\x86\xb1\x20\x03\x89\x42\xe2\xde\x33\x3b\x9f\x00\xa4\x42\x03\x93\x61\x11\x2f\xe7\x02\x33\x97\xd3\xb8\xb2\x9c\xe7\x61\xc0\xaa\xf2\x9e\x49\x38\x3a\x9d\x9a\x0a\x8d\xfd\xff\xb1\xf7\xee\xfd\x6d\xdc\x48\xa2\xe8\xff\xfe\x14\x88\xf6\x6c\x48\x8e\x49\x4a\x72\xe2\x3c\xe8\x28\xbb\xb2\xac\x24\xbe\xf1\xeb\x4a\xb2\x9d\x5d\xcb\xe3\x0b\x76\x83\x64\x8f\x9a\x0d\x4e\x03\x14\xc5\x4c\x7c\x3e\xfb\xfd\xa1\xaa\xf0\xea\x07\x49\x29\x4e\xce\xce\xee\xf1\x6f\x37\x43\x91\x40\x01\x28\x14\x0a\x85\x7a\x42\xf2\x78\x07\x99\x94\x44\x20\x6a\xb2\x09\xcf\x95\x00\x51\x77\xef\x2f\x7b\x46\x72\x2d\x97\x70\xf1\x15\xca\x5e\x68\x61\x85\x03\xac\xca\x36\x86\xc2\xbf\x4a\x14\x9a\xfa\x63\x07\x23\x20\xc2\xef\x85\xd4\xf8\xd8\xd8\xfb\xcb\x9e\x87\x05\xa5\xfc\x84\x2a\x3a\x50\xd6\x4d\xb7\x3b\x1c\xd8\xba\xa5\xc1\x85\xa4\x16\x22\x09\x9c\x0b\x6c\x6d\xe1\x13\xb9\x84\x07\xc3\x41\x58\xc9\x07\x93\x61\x82\x65\xdc\xfe\x09\xe7\x6c\x97\xa2\x71\x13\x59\x1a\x5c\x79\x69\x74\x2e\xd3\xd0\x87\xe4\xdd\x5c\xa6\xef\x09\x38\x7e\xfe\xed\x37\x44\xc1\xa3\x48\xd7\x42\xed\x8e\x58\xe7\x2f\xee\x52\xa8\xcf\xfc\xfe\x7d\x38\x69\xa8\xcb\x36\x3f\xf7\x62\xff\xec\x37\xe6\x76\xa8\x50\xc4\x16\xa4\xf9\xb5\xb0\x23\xf6\xee\x1e\x63\x1d\xb8\x12\x3b\x7d\xd4\xff\x99\xff\xe5\x39\xfc\x69\x1e\x1f\x9d\x7b\xef\x43\x3a\x4e\xb0\x44\x35\x24\x49\x07\xfe\x6b\x18\xf3\x31\x94\x43\xf0\x72\x03\x94\xc2\xee\x45\xb2\x58\x54\xe5\xdf\xdc\xac\x8a\xa2\xd7\x8d\xf4\x84\xb7\x2c\x2f\xa1\x8e\x1f\x16\x52\xb6\xd5\x41\x12\x2d\x94\xb6\x65\xce\x16\xb6\xb0\xf4\x24\x2b\x95\xee\xe3\x6b\x96\x6b\x96\x4b\xa9\x44\xbe\x76\x25\xa7\x5c\x3b\xb8\x20\x39\x33\xcf\x6d\x28\x6d\x24\xcb\x4c\xaf\x4d\x1f\xa8\x40\x02\xf5\x8b\x5c\xe3\x5b\x14\xa2\xe7\x3b\xb6\x1b\x6f\xd9\x88\xa0\xe6\x77\x48\xc9\x3e\xdf\xb0\xa1\x15\x5e\x21\xe5\xef\xd8\x38\xfe\x26\x12\xd9\x07\x87\xce\xc2\x58\xed\xf8\xfd\xc6\x8e\x87\xa1\x38\x7f\x10\xd1\xd8\xab\x32\xbb\xe6\x5a\xd8\xac\xbe\x96\x4d\xd9\xc2\x8b\x54\xdb\x6b\x61\x4b\x87\x9b\x67\xbf\xd2\x24\xac\x04\xbf\x28\x2a\x38\x09\x15\x2a\xe4\xaa\x40\x8f\xd4\x1a\xde\x6d\x99\x49\x43\x36\x54\x5f\x52\x07\x15\x29\x5d\x3b\x2a\x23\xf9\x11\xd9\x11\xba\xc3\x92\x2d\x8c\x72\xa7\x87\xe5\xc5\x5f\x2b\x31\x59\xe6\x98\xa8\x61\x2d\x97\x40\x82\x58\x68\x47\x4b\x5b\x93\x07\xf8\x11\x12\x05\xae\xcd\x2e\x85\x17\xb5\xc5\x6c\x3b\x63\xfe\x30\x00\xa8\x48\x74\x96\xe3\xbf\xf5\x71\x9c\xe7\xe6\xb7\xba\xf9\x1d\xd8\xd3\x67\x47\x66\xf9\xf6\xcf\x68\xaf\x88\x9b\x90\x08\x53\x5e\xbb\x8c\xdd\x9f\x80\x85\x19\x88\x73\x99\xbe\xe1\xf9\xd2\x10\xa5\xf9\xc9\x5c\x29\x72\xfc\xb7\x1e\xfb\x37\xf3\x3f\xc8\xb7\x46\x55\x96\xf6\x59\x79\x6d\x18\x5d\xf7\x33\xbf\x30\xab\xd9\x8f\x38\x9d\x69\x14\x7d\x69\x07\x8b\x05\x63\x5b\xe5\xc0\xac\xcd\x8d\x54\x61\x83\x9e\x5e\xcb\xeb\x47\x4d\x05\x52\x89\x30\xea\x15\x50\x89\xae\x32\xac\xbe\xe8\x2b\xa5\xc6\xa4\xfc\x3f\xb3\x00\x6a\x3b\x11\x53\xd1\xd0\xd6\x22\xa8\xa1\x2e\x00\xa9\xde\xfe\x4e\x32\x40\x6f\xb7\x5d\x6a\xbf\xee\x33\xe5\x8b\xce\x59\xb5\x3e\x27\x29\x04\xb4\xab\x62\x77\x2e\x7e\xeb\xb5\x37\xc8\x1c\xbe\xac\xea\x26\x0c\x50\x93\x3e\x2c\xb5\xb7\x8b\x24\x2c\x17\x28\x3b\xff\x93\x17\x4e\xa5\x8d\xfe\x77\xf3\xab\x19\xe4\x3a\x13\x2b\x2a\xdd\x92\xe5\x82\x65\xf3\x05\x95\x00\x0a\x8a\x91\xbd\xc4\xa5\x63\xb9\x52\x28\x43\x84\xe5\x28\x95\x96\xa5\x50\x2e\x23\xba\x39\x0b\x98\x3c\x3d\x91\x45\x4a\x95\x9e\xec\x23\x31\xf2\xaa\x34\x74\x61\x8f\xbb\x01\x07\xd7\x57\xf8\x7a\x67\x4a\x94\xe6\x0c\xca\x09\x03\xa2\x11\x50\xcd\xd4\x29\xe8\x14\xbf\xce\x8a\xe9\x7e\x29\xcc\x0c\xa8\x80\x11\xe6\x02\xa0\x1a\x49\x76\x74\xf3\x58\xcd\xd7\x54\xbc\x49\x9a\xf3\x7a\x9d\xa5\x58\x8e\x8c\xab\x35\xb9\xb9\x98\x29\x26\x72\x3e\x97\x85\xe9\x3a\xc9\xa6\xcb\x12\xd4\x49\x70\x37\xd2\xae\xdb\x78\x8f\x32\x9b\x42\x42\x12\xd8\xa8\xf1\x9a\x9d\xc8\x72\xcd\x9e\xf3\x24\xe1\x65\x49\xa4\xbe\xef\xfd\x7a\x65\xa1\x74\xb9\x34\x0f\x6f\x87\x87\x26\x8c\xd2\x28\xe0\x5e\xca\x51\x6b\xe1\x34\xb6\xb4\x20\x0b\xa7\xc1\x4c\x8d\xaf\x0d\xae\x62\x46\xa3\x17\xa3\xfd\xfd\xd5\x6a\x35\xbc\xd6\x87\x07\x07\xc3\x42\xe8\xfd\x54\x26\x6a\xff\x5a\x3f\x3c\x3c\x18\x94\xf3\xfd\x27\xa7\x27\xe7\x17\x67\x28\x73\x25\x62\x61\x55\x5f\xe6\xdd\x82\x65\xb9\x96\x5a\xae\x4a\xbe\x60\x5d\xf3\x5f\x2c\xa6\xda\x0b\x13\x89\xa3\x9f\x2b\x96\xd2\x13\x62\xae\x48\xab\x35\x16\x6c\x65\xbe\x43\xaf\x5a\xf3\x74\x68\x3e\xff\x84\x82\xa3\x8f\x66\xf5\x1f\x40\x39\xfd\x92\xd0\xe0\xca\x12\x80\x36\x4d\x2e\xd6\x28\x64\x04\x68\x08\x18\x85\x45\x65\x78\x99\x13\x40\xe7\x19\x6b\x4e\x20\xd7\xba\xcc\xc6\x4b\x0d\x65\xd6\xc9\x38\x03\xe5\x77\x0d\xf6\x16\xcb\x71\x9e\x25\x9e\xc0\x80\x3a\x78\x92\x08\xa5\x28\xe4\x13\x01\x39\x2a\x76\x71\x15\x1e\x39\xec\xc8\xaf\xe4\xdf\xdc\xc7\xb0\xc1\xc8\x15\xf1\xa0\x4a\xa5\xd7\xa2\x54\xe2\xed\x36\x08\xf5\x76\xc1\x4d\x0f\x90\x24\x90\xe5\x73\x7c\x41\x35\x81\x08\x1a\x54\xfb\x9a\x7d\x3e\xe1\x65\x99\xf1\xa9\x20\xf6\xdf\x0c\xa3\xa1\x61\x15\x16\x9e\xc1\x37\x19\xd6\x6f\x6a\x06\x13\xb7\x69\x86\xf0\x38\xcf\x8a\xab\x8d\xfd\xb1\x45\xb5\x77\x06\x01\xa9\x1b\xf0\x10\x34\xa8\xf6\x25\x2c\xbf\xc9\x52\x21\x37\x6f\x04\x36\xa9\xf6\x1f\x97\x3c\xb9\x12\x5a\xa4\x18\x0f\xdb\x0c\xa1\xd2\xc8\xc1\xd8\x7e\xfd\x2c\x78\xa9\x44\xf9\xcf\xae\x7b\xb9\x6d\xd9\xee\xca\x99\x67\xaf\x0c\x16\x9a\xcb\x01\xae\x0b\xcd\x6f\xf0\x26\x31\xbc\x16\xcd\xa9\xce\x96\xb7\x54\x5a\xce\xb3\x5f\xb9\xe3\xe6\x96\x7d\x00\xc4\xb2\x5e\xfa\x0c\x26\xc0\xcc\x14\x8c\xc0\xc1\xfe\x81\x65\x31\xf1\x09\x44\xe8\xc2\xaf\x40\xcb\xf9\x97\x7d\x4b\x06\xf4\xdb\x11\xeb\x60\xf0\x55\x15\x4e\x01\xfe\xba\x08\xc7\x95\x12\x91\xca\xd6\x22\x0e\x41\x2d\xa4\x42\x25\x49\xeb\x74\xfe\x8d\xe0\x38\x37\x7f\x8a\x1c\xdc\x02\x38\x99\xb1\x23\x5f\x38\x3e\x42\x44\x20\x63\x89\xb2\x94\x11\x62\xe6\x42\x29\x3e\x15\x91\x58\x55\x88\x15\x3b\x35\x0d\xbb\x1d\x00\xc0\xb0\x17\xd7\x50\x78\xd2\x2d\xe3\x3e\xeb\x60\x29\x4a\x0b\x63\xe3\xc8\x99\x32\x2f\xf0\x5c\x68\x51\xdf\x97\x50\x9c\x03\x04\x1d\x85\x78\xb7\x05\x05\x37\x41\xaf\xd5\xba\xc3\xae\x70\x0b\x7f\x58\x48\x15\x28\xac\xdc\x66\xe2\x87\x47\xf1\xce\x50\x7b\xf3\x7a\xf2\x9a\x2c\xc0\x2d\x4d\x26\x56\x5a\x87\xaf\x77\x40\x55\x3d\xda\x0a\xf5\x39\xe1\xb7\xe6\x38\xd2\x6b\x05\x1f\x2a\xd2\xd5\x65\x0f\xea\x24\xf9\x9b\x1f\xca\x82\x87\xeb\xa6\xb2\xd2\xf0\xb4\xb0\x1d\x7e\x16\x6b\x15\xb9\x3c\x70\x97\xf1\x66\xc8\xd8\xcf\x82\x84\x8e\x54\x38\xcf\x34\x0e\xbe\x50\x62\x8a\x6e\xef\xe6\x2f\x07\xd6\x59\xd1\x5a\x87\xb5\x05\xf4\x87\x8c\x3d\xf7\xa5\x9d\x50\xc9\x8a\x95\xf5\x7d\x29\xde\xbf\x49\xb3\x10\x90\x23\xf0\x3d\x91\x42\x0d\xee\x20\x62\x05\x91\x54\x30\xc3\x40\xcb\x4c\x5d\x81\xb6\x92\xa6\x69\xd5\x20\x59\x91\x62\x19\x54\x17\x4b\xbb\x2c\x7c\xbd\xd0\x48\xe9\x6a\x6e\x7f\x2b\x7e\x59\xe8\x41\x01\xec\x11\x3e\xea\x8e\x47\x0c\x9e\xcf\x82\x3c\x6f\x79\x94\xa3\x6a\xef\x78\x2f\x9e\x22\x63\xec\xab\x87\x23\x76\x8e\x6f\x21\x4c\x52\x46\xdf\x1f\xdc\x7c\x79\xd8\xfc\x0b\x38\xa9\x55\x07\xc2\x2f\xc3\x16\x6d\x80\xe1\xc7\x2d\xd0\xd1\xd2\xdd\x38\x06\xfd\x14\xb6\xfe\x4b\xd8\x12\x27\x02\x95\x72\x57\xc2\x88\x53\x2a\xa8\xba\x18\x51\x2c\xe0\xdc\x26\x09\xa5\xc2\xc9\x86\x21\xe4\x82\xab\xc0\xf6\x64\x08\xe0\xd8\x55\xf9\x05\x66\x4f\x67\xdb\x3d\xea\x2b\x8f\x79\x50\x89\xf6\xc1\xa4\x18\x94\xd3\xe9\x5b\x32\xc2\xa1\xfc\x03\xbe\xce\xe5\x03\x26\x00\xd7\xe9\xcf\x62\x7d\x6e\x67\x5d\x63\x34\x4e\x8d\x83\x3a\x18\x57\x50\xd7\xf0\xcd\x7b\x50\x25\x29\xac\x6e\x7a\xe5\x9f\xf7\x5b\x0e\x9e\x2b\x75\x75\xfd\x6e\xa7\xf6\xef\xae\xde\xbf\x8f\x14\x2e\x66\xdc\xd5\xcc\x3c\xd6\xba\x8e\x19\x7d\xd7\xc0\x04\xa3\x20\x4a\x75\x95\x2d\xce\x17\x3c\xf1\xd6\x2b\x33\x6b\x2d\xaf\x84\x0b\x9a\x00\x94\x5c\x98\x6f\xac\x47\x35\xe8\xbf\xcc\x17\x43\xb8\x74\x8e\x8e\x58\x87\xb8\x40\x60\xd1\x2a\xaf\x03\xed\x3d\xb6\xbe\xe6\x39\x69\xbe\x9c\x85\xab\x09\x94\x5b\x70\x27\xae\xd6\xb6\x4c\xac\xa6\x2b\x00\x37\xd4\xf2\xf5\x62\x21\xca\x13\xae\x84\xf7\xf8\x36\x60\x6d\xf3\x5d\x37\xc0\x87\x90\x7b\xf7\x86\x2d\x5d\x86\x33\xae\x5e\xae\x8a\x57\xa4\xee\xb1\x43\xf6\x42\xe7\x77\x52\xd2\xb9\xd2\x52\xdb\xb6\x95\x60\xbc\x7f\xe4\x20\x98\xc5\x94\xd7\xa8\x84\xfb\xfc\x73\x66\x3f\x7e\x16\x99\x23\x70\x47\x4b\xf0\xb8\xcb\x14\x5e\xd2\x61\xe1\x67\x3b\x06\x5e\xb7\x01\x02\x7b\x7e\x20\x0b\x39\x50\x51\x56\xb6\x6a\x17\x9c\x3a\xee\x1d\xe1\x73\x1b\x5a\xdd\x65\xb0\x03\x4a\x23\xd2\xda\x0a\x31\xc0\x68\xbc\x20\x0f\xb0\x8e\xb8\xd7\xc5\x55\x21\x57\xa0\x85\x6c\xc7\xd8\xc7\x6d\xa4\xac\xd6\xf3\xb1\xcc\x3b\x71\xa5\xba\x00\x92\x53\xb4\xfa\xa9\xf8\xba\xc8\xe9\xad\x59\x87\x27\xb8\xc5\xce\xe4\x96\xa5\x01\xa5\x39\xf5\xf0\xbb\xc5\xfb\x5e\xb4\x79\xf0\x15\x3b\x62\x66\xba\xbe\xfd\xc7\xdb\x20\x54\xdc\x2c\x44\xa2\x45\xca\x10\x2b\x9b\xd0\xda\x00\xb3\x0e\xf1\xd4\xc2\x0b\x24\x90\x90\x77\xd4\x6d\xe5\x75\x66\xe7\x34\xf9\xc9\x0c\xce\xd3\xc0\x9d\xa7\x71\x29\xf8\x55\xd0\x2a\xa0\xb9\xcf\x50\x48\xee\x6d\x98\x99\x2e\x79\xf8\x08\xe1\x13\x23\x84\x6b\x5e\x4e\x05\x18\xc8\x3a\x76\x7c\xaa\x24\x77\xcd\x8b\x44\x74\x03\xff\xbd\xca\x88\x47\xe1\x88\xf5\xf1\x9e\x67\x4a\x81\x37\x67\x75\x80\x8a\xca\x7d\xcb\x9d\x77\x6c\x63\xe5\x9a\xaa\x3d\x57\x71\xb7\xe5\x9a\xb8\xd7\x78\x4b\xe0\xeb\xa4\x13\x19\x48\xaa\x57\xc3\x6e\x37\x42\xf5\x20\x6d\x3a\x2a\x9c\x2a\x4b\x07\xfc\x68\x5b\xdb\x2a\x17\x0a\xc9\xb4\xd1\xbd\xbe\x1d\xd4\xbb\xa0\xef\x7b\xb7\xed\x1b\xf8\x0d\x39\xc9\x37\x9f\x0f\x4a\x0a\xd4\x7a\x16\x10\xc3\xf5\xa3\xb0\x71\xff\x85\xb8\xc2\xa0\xee\xcd\xcf\x2a\xf3\x84\x39\x62\x9d\xcb\x4e\xc7\x1a\x86\xec\x57\x7b\x9d\xcd\x04\x26\xc4\xd5\x53\xff\x30\xd8\x32\x08\x6a\xe3\xbb\xfb\xef\xf8\xe0\xd7\x0f\xef\xf7\xb3\xcd\x6f\x42\x80\x4d\x0c\x60\x57\xc0\x07\x83\x6f\xdf\xef\x6f\x01\xeb\xa8\xb9\x0e\x35\x64\x1a\x31\x03\xf7\xb2\xa1\x01\x32\x72\x17\x40\x9f\xc1\x0e\x8e\xec\x4c\x3e\x3e\x6a\x3b\xfd\xd1\x99\xad\x7a\x7d\xc5\x78\xb4\x81\x1e\x56\x3a\xa6\x21\x83\x7d\x8f\x87\x85\x25\x85\xdd\x3f\x3e\xaa\x41\x47\x32\x68\x81\x4c\xa7\xb7\x01\xaa\xed\xd6\x00\x91\xf6\xa6\x6d\xb2\x24\x36\x36\xcd\xd4\x76\x34\x40\x1b\x89\x3e\xb8\x52\xe0\x98\x74\x76\xd8\xd2\x4d\x64\xe8\x23\x3c\x9b\x11\xbd\xe9\x0a\x8a\x0f\x5b\x45\x1d\x61\x06\x26\xc3\x12\x92\xf5\xc1\xe0\xdb\x0f\xef\xef\xef\x67\xd3\x5d\x66\xdc\x46\xdc\x86\xd8\xc6\x5c\x19\x19\xe8\xf0\x20\x46\x3c\x11\xe6\x41\xc7\x05\x6c\xb5\x3d\x06\xd8\x80\x1d\x56\x72\x27\xc5\x4a\x8a\x40\x55\x73\xd8\x67\x87\x3d\x00\x7c\xd3\xa9\x14\xe6\xb5\x33\xed\x36\x2c\xf8\xe0\xc6\x1c\x38\x3e\x98\xbc\xbf\xbf\x3f\xcd\x7a\x35\x77\xb4\x4d\x7d\x2f\xd3\xfb\xfb\xd3\x5e\xb3\x92\xc4\x5c\x79\x39\xa4\x37\x4c\xe5\x72\x9c\x0b\xf6\xf7\xa5\xf4\x2c\x30\x34\x88\x54\xd5\x5e\xae\x3c\x84\xcc\x0a\x6d\x75\x63\x70\x57\xf3\x1c\xa1\x04\xcf\x76\xc6\xce\x61\x20\x03\x2c\x1a\x41\x61\x10\xc0\x98\x92\x79\x88\x94\xe5\x99\x16\x25\xcf\xf3\x75\xbf\x32\x25\x68\xb8\x28\x25\xd8\x0d\x04\x44\x07\xb8\xd7\xed\xc5\xcb\x27\x2f\xbb\xe5\x34\x2b\x52\xde\x1b\xb1\x37\xbc\xcc\xc0\xcc\x82\x0e\xe6\x32\x77\x61\x50\xa1\xa5\xe4\x15\x1e\x3a\xae\xc5\x47\xb6\x70\x9f\xc3\x16\x56\x2d\x89\xab\x39\xae\x21\x6b\x50\x5d\x66\xf4\xd0\xa6\xde\x5b\x1f\xca\x6d\xb7\x06\xf0\x41\xa1\x96\xb9\xf6\x0a\x4f\xf3\x1d\x0e\x7a\x64\xd9\xa0\x75\xd8\xc4\xaf\x3f\x83\x8b\xc4\x50\xac\xff\xfb\xb2\xd3\x69\x3b\x7b\x34\xb6\x65\x01\x74\xee\x6a\x2c\xd5\xcd\x86\x1d\x81\x52\xf2\x4c\x4c\x4f\x6f\x16\xdd\xce\xbb\xcb\xcb\xcb\x4b\x73\xc3\xe2\x60\xf7\x59\x07\x0a\xa3\x4c\x09\xce\x6d\x1e\xd2\xa5\x18\xe6\x5c\xe9\xa7\x45\x2a\x6e\x9c\x34\x24\x55\xe8\x6f\x21\x20\xce\xba\x1b\xc0\xe8\xb5\x8b\x8f\xaf\x0b\x32\x27\x05\x17\x3a\x91\x96\x13\x1c\x09\xbb\xf7\x8f\x1a\xce\xac\x61\xc5\x76\x12\xfd\x78\x76\x03\x76\xd8\x28\x7a\x56\x1a\xb9\x65\x07\xed\xfd\x46\x1d\xb9\x8d\x8a\xc4\x82\xcb\xaa\xbb\x6d\xf5\x66\xab\xcd\x1a\x68\x08\x83\x65\xfc\xd3\x3d\x91\x85\xce\x0a\x5b\xd3\xfe\x63\xd3\xe0\x46\x02\xd9\x34\x7a\x65\x18\x24\xb4\x0d\xd3\x6a\x1d\x32\x18\x01\x46\xdf\x61\x81\xb6\x82\xf6\x32\xd7\x95\x78\xf2\x5b\x6f\x34\x5c\x7c\x31\xd3\x2b\x88\x7b\xa0\x49\x06\x32\xf9\x35\xe9\xf5\x59\x97\x0c\xf1\x21\x9f\x43\x33\xac\x69\x0e\x2e\x79\x81\x75\xe0\xf8\x87\x8b\xd3\x33\x8a\x48\xe5\x10\x20\x03\x39\xfd\x72\xae\x66\xc3\x5e\x55\x09\xb7\x2b\x6f\xa0\x20\xa8\x46\xde\x30\x07\x4f\x6e\xc4\x65\x67\xaf\x33\x32\xff\x41\x9f\x7e\xb3\xb7\x23\xf8\xaf\xfd\xfb\x12\xfe\xbe\xb4\x7f\x73\xf8\xf3\xe6\xe0\x6b\xfb\xc5\x98\xbe\xf8\xc6\x7e\x21\x3a\x94\x4e\xcb\x7e\x31\xa1\x16\x89\xfd\xa2\xa0\x2f\xb8\xfd\xa2\xa4\x2f\x52\xfb\x85\xa6\x2f\xbe\xb5\x5f\x5c\xd3\x17\x0e\xe8\x4d\x67\x54\x5d\x99\x95\x00\xaf\xad\x96\xaa\xf5\xf2\x7f\xff\x8f\x07\x1f\xf1\xf6\x8f\xc8\xa6\x29\xb3\x92\xbb\x1d\x01\x6a\x9f\x1d\x7e\xd5\xb3\x2f\x5b\x9a\xc9\xf2\xf7\xcd\xe4\xcb\x4f\x30\x13\xa7\xf7\x0c\x42\x4b\x92\x19\x64\x88\xe4\x0b\x73\x54\xe7\x7c\x51\x7b\x52\x61\xa3\x5e\xab\x70\x65\x9f\x44\x48\xf1\x23\x6f\x38\x4a\x66\x9e\xaf\xdb\x15\xce\xf9\xe2\x1d\xfd\xf8\xfe\x51\xcb\x3d\x00\x27\x7a\xbd\x10\x72\xc2\xbc\xf6\xc5\x62\x8e\xee\x19\x0b\x0f\x75\x8b\x09\xcf\x73\x74\x61\x0b\x85\x3a\x7a\xab\xd6\x44\x12\xef\x15\x65\xfd\x2b\x95\xe6\x25\xb8\x6d\xb4\x9e\xd4\xea\xcd\x8e\xd7\xd3\x47\x07\xe1\xd8\x7d\x8a\xdc\xce\x74\x68\xdd\x03\x07\x18\xb5\xe0\xc5\x90\xb1\xe7\xaf\xcf\x2f\x50\xe1\x4d\x9a\x76\x68\xba\x37\xcd\xe5\x98\xe7\x7b\x74\xfb\xb1\x49\xce\xa7\x77\xbb\xf1\x1b\x1c\xab\x16\xa1\x57\x15\x10\x80\xf5\xc9\xc3\x51\xdb\xf6\xd7\x08\xb6\x65\xc1\x73\x34\x0d\x8e\xd8\xf9\x82\x17\xde\x1d\xd8\x7a\xa6\x23\x0c\xba\xf7\x2c\xe0\xb6\xeb\xd6\x50\x04\x2f\xd7\xec\xc8\xb5\xac\x5d\xbb\x9e\x4c\x4d\xc3\xdf\x7e\x6b\x80\x39\x30\x30\xde\x1d\xbc\xb7\x22\xf2\x67\x7e\x90\xad\x0f\x01\xe7\xa1\x88\xf4\x6a\x71\xe3\x65\x13\x34\x11\x36\x0d\x7a\xd8\x46\xb7\xb4\x47\x38\xa9\xf8\x5a\x38\xc6\x96\x3b\x91\x96\xb5\x30\x27\x72\x09\xfe\xb4\xad\x1b\x4d\xc3\x87\x7b\x0c\x7d\x02\x6d\x10\x3c\x08\x8e\x10\x54\x6c\xe2\xdc\xf0\x84\xa8\x99\x3b\x63\x61\x95\x3c\x7e\x50\xa0\x63\xc7\x2c\xcf\x14\xc4\xe8\x41\x50\x15\x2b\x64\x31\x58\xcd\x32\x2d\x30\xdd\x6b\x44\xfc\xe4\x1c\x6c\xef\x52\x86\x6b\xf7\xc4\x7d\x2d\xb3\x74\x23\x69\x3b\xe5\x56\xd5\x5b\x08\x27\x13\x90\xf6\xfe\xa5\xda\x1f\x6a\xa1\xb4\xe7\x5f\xc1\x3b\x28\x16\x37\xf7\x2f\xd5\xfd\xfd\xe9\x1c\x53\x23\xb6\xd0\xac\xcd\x54\x65\x0d\xca\x01\xfa\xac\x74\x6c\x85\xc7\x48\x6e\x0c\x68\x29\x84\xed\xe9\x6c\xb7\xcd\xa0\x21\xaa\x4b\x8d\xa4\x9f\x61\x66\x20\xbf\x9c\x44\xad\x8e\x8e\xd8\xe0\xb0\xb7\x8b\x76\x56\x16\x60\x9c\x36\xa7\x21\xd8\xde\xfb\xac\xd3\x47\x07\x11\x38\x28\x91\x11\xc3\xb2\x78\x2f\x3d\xed\xea\x06\xf3\x21\xd4\xbf\xfd\x93\xbb\xc4\x38\x5f\xc1\x9c\x02\xa6\xc1\xeb\x31\xb4\xaf\xcb\x32\x56\x3e\xd6\x29\x3c\x40\x87\x91\xb7\x82\xa3\xf7\x3c\x8c\x02\xc2\xd8\x24\x30\x92\x83\xd3\x3d\x6a\xae\xc9\xbb\xd9\x85\x30\x06\x2f\x6a\x23\x8a\x96\x82\x2d\x17\x0b\x88\x3f\x32\xf3\x96\x36\x3b\x74\x21\xcb\x39\xcf\x21\x9a\xd5\xc6\x00\x66\xc5\x62\xa9\xc1\xb0\x3b\x06\xaf\xca\x69\x76\x4d\x2f\x74\xb6\x77\x72\x71\xf6\x6c\x70\xbc\x87\xf1\x45\x68\x4c\xa6\x3f\x20\x44\x94\xef\xa1\x17\x63\x9e\x83\xdb\xdd\x42\x8b\x34\xcc\xfa\x39\x62\x2f\x60\xee\x10\xd6\x9f\xf0\xa2\x90\x1a\x02\x71\x73\xbe\x40\xdb\xf0\x76\x7b\xd3\x46\xac\xc5\x06\x42\x14\x59\xa1\x3a\xe3\xc8\x45\xe2\xdc\x63\xcc\xac\x61\x64\x23\x72\x5c\xce\xcd\xb9\x2c\x18\xcf\x33\x0e\x79\x5b\x4e\x5e\xbe\xb8\x38\x7b\x19\xb5\x3a\x7e\x66\xa0\x40\xf8\xce\x3d\xc6\x9e\x9f\x5e\x1c\x8f\x6c\x18\x4f\xb0\x51\x3f\xbb\xd2\x45\xcb\x20\x2c\x62\xf3\x0e\xbd\x32\x2c\x0c\x13\x7f\x19\x1a\x9d\x4b\xa5\xf3\x35\xcb\xc5\x44\x33\xb9\xd4\x8e\x94\x81\xc1\x8e\x45\xc2\x97\xb6\x26\x96\xd9\xbf\xb9\xbc\x36\xbb\x6b\x08\x15\xdc\x2d\x6c\x26\x70\xe7\x33\x95\xcb\x84\xe7\x02\xb7\x93\xf2\x5a\xd8\x7c\x18\x45\xc5\x77\x85\xe5\xd9\x95\xa0\x6d\x3d\x3d\x3f\xd9\xeb\xbb\x74\x09\x89\x34\xdb\x46\x62\x91\x9d\x8b\x9c\x40\x60\x59\x80\x7e\xc6\x9e\x82\xeb\xbf\xf8\xfb\x32\xbb\xe6\xb9\xc0\x28\x5f\x04\xf8\xe0\xeb\x90\x6a\x0e\x6e\x0e\xc7\x7b\x7f\x10\x89\xda\xe9\x07\xc3\x9d\xaa\xc4\xfc\x49\x7f\x09\xf8\xab\x85\x4e\xdf\x0a\xcc\xd2\x61\x05\xb2\x24\x20\x8d\xa0\x22\x95\x2d\x79\x35\x64\x6c\x8f\xa0\xa7\xf0\x89\x2f\x04\x02\xa7\xcc\x4f\xae\xe1\x27\x39\x07\x91\x39\x7b\xf3\x59\x70\x86\xdd\x23\xeb\x3f\x7b\xe1\xeb\xec\x9c\x9e\x9f\x1c\xbf\x3a\x1d\xb1\x07\x5f\xf7\xf1\x2f\xfb\xf1\x87\xc3\x11\x3b\x3c\x7c\x00\x1f\x1f\x98\x8f\x5f\xc0\xc7\x2f\xcc\xc7\x2f\xe1\xe3\x97\xe6\xe3\x43\xf8\xf8\xd0\x7c\xfc\x0a\x3e\x7e\x65\x3e\x22\x84\xaf\xcd\xc7\x6f\xe0\xe3\x37\xe6\xe3\xb7\xf0\xf1\xdb\x11\x3b\x7c\x70\x80\x43\x1c\x98\xcf\x87\xf8\xd9\x8c\xf7\x00\xc7\x3b\x34\x03\x3e\xf8\xa2\x4f\x29\x31\xce\xcc\x1d\xb5\x92\x66\xba\x2f\x5f\x9c\x8e\xd8\x97\x00\xe8\xe2\xed\xcb\x11\x7b\x08\x80\x2e\x7e\x3a\x3b\x3d\x1d\xb1\x87\x08\xe9\xe5\xeb\xb3\x11\x7b\x88\x90\x9e\xbe\x31\xdf\xc3\xd4\xcf\x9f\xfe\x32\x62\x0f\x61\xea\xe7\xa7\x6f\x4e\x5f\x8c\xd8\x43\x98\xfc\xe9\xd3\x1f\x7f\xba\x18\xb1\x87\x30\xfd\x17\x4f\xcd\x00\x0f\x61\xfe\xff\x79\x7a\xf6\x72\xc4\xbe\x84\x05\x3c\x3e\x3e\xf9\xf9\xfc\xd5\xf1\xc9\xe9\x88\xe1\xdf\x3f\x9f\xbf\xb2\x1f\xcf\xe1\x43\x30\xd5\x59\x29\x20\xf9\xdf\xc5\xf1\xe3\x11\x83\xb9\xfe\xbf\x23\xf6\x0d\x4c\xee\xed\x88\x7d\x83\x98\x1e\xb1\xaf\xe0\xa7\xb3\x11\xfb\x06\xe6\x7a\x31\x62\xdf\xc0\xec\xfe\x63\xc4\xbe\x81\x9f\x5e\x8f\xd8\x37\x30\xc5\xa7\x23\xf6\x35\xac\xe1\xe5\x88\x7d\x0d\x3f\x99\xc1\x0f\xc2\x41\x27\x72\x09\xf9\x7f\x4f\x8e\x5f\x9d\x7f\x78\xf6\xf2\xe4\xe7\x11\x43\x24\x9b\x2f\xaa\x7f\xdb\xcf\xc7\x23\xf6\x15\x0c\x60\x96\x00\x03\x3c\x19\xb1\xaf\x70\xc7\x46\xec\x6b\x68\xf3\xe3\x88\x7d\x0d\x53\xff\x69\xc4\xbe\x86\x89\xfe\x3f\x23\xf6\x35\x4c\xf4\xe7\x11\xfb\x1a\xba\x3f\x1b\xb1\xaf\xbf\x22\x0e\xfa\x56\xc0\xe3\x51\x14\xe0\xbf\x58\xa4\xde\x5e\x38\x15\xe0\x5c\x24\xae\xa1\x90\x2f\x84\x20\x62\x2b\x52\x77\x50\x42\xe6\xb1\x60\x87\x07\x08\xcb\x32\x39\xc3\x09\xd9\x42\xc8\x45\x2e\x28\x31\x34\x14\x4c\x90\x86\x43\x98\xd3\x3b\x36\xec\x11\xbc\xf1\x33\xa5\x65\xb9\x86\xf3\x34\x64\xec\x55\xbe\x54\x34\x2d\x00\x61\x79\xa1\xda\x5f\x94\x72\x5a\xf2\x39\x64\x90\xb6\x19\x5f\x69\x7e\x3c\x2f\x05\x4f\xcd\x79\xc6\xc4\x34\x6b\x3b\x31\x8c\x67\x03\xb7\x71\x89\xc9\xcb\xa0\x23\x66\x9f\x10\x85\xce\xd7\x7d\xcf\x8e\x81\x75\x10\x83\x66\x10\x39\x9c\x25\xf4\x3a\x35\xbb\xff\xe2\xe2\xf4\x6c\xc4\xf0\x4c\x9d\xbe\xb8\xb0\x1f\xcf\x4e\x2f\x5e\x9f\xbd\x08\xfe\xc2\x8f\xc1\x36\x67\xe0\x01\xc6\xfe\x73\xc4\xbe\x85\xed\xf9\x65\xc4\xbe\x81\x0d\x3b\x19\xb1\xaf\x80\xb2\xde\x8c\xd8\x37\xb0\x19\x8f\x47\xec\x2b\x24\xea\x11\xfb\x1a\xda\x3c\x1f\xb1\xaf\xbf\xb6\xe0\x4e\x75\x62\x20\x11\x55\x7f\x01\x5b\x6b\x88\x1a\x3f\xbd\x3a\x7b\xfa\xe2\xe2\xc3\xf9\xc9\xd9\xa9\x39\x29\x5f\xd2\x77\x17\x86\x3f\xe0\x1f\xe7\x27\x67\x2f\x9f\x3d\x23\x52\x3b\xfc\xf2\x21\x7d\xf7\xcc\xff\x05\xc5\x40\x47\x0c\x8f\xfd\xe3\x33\xf7\x11\xab\x78\x8e\x18\xb6\x7a\xfa\xe2\xdc\x7e\xfc\xe9\xe5\x73\x33\x13\x98\xf3\xab\xe3\x1f\x4f\x3f\xbc\x36\xd3\x01\x54\xbc\xfa\xd1\x7f\x7e\x72\xfa\xec\xf4\xc2\xb0\x81\xaf\xe8\x2f\xfb\xf1\xf4\xc5\x93\x11\xfb\xe2\xa1\xeb\xfe\xe4\xe5\xdb\x17\x23\xf6\xc5\x97\x08\xa0\xf2\x97\xfb\x0c\x80\x01\x3d\xd8\xe2\x4b\xc0\xeb\x19\x72\x85\x2f\x60\xc6\xcf\x4e\x8d\xe4\xf0\x05\xa0\x97\x2a\x27\x9a\x55\x7e\x69\x51\x89\x75\x08\xcd\x89\x78\x75\x30\x62\xdf\xc2\x64\x7e\x7e\x75\x38\x62\xdf\x7e\x8d\x1f\x1f\x8c\xd8\xb7\xdf\xe0\xc7\x2f\x46\xec\xdb\x6f\xf1\xa3\x61\xa0\x07\x07\xf8\xd9\x70\xd0\x83\x43\xfc\x6c\x58\xe8\xc1\x03\xfc\x6c\x78\xe8\xc1\x17\xf8\xd9\x30\xd1\x03\x3c\x79\xaf\x0c\x17\x3d\x78\x88\x9f\x3f\xbc\x7a\xf6\xfa\xdc\xfc\x4d\xa3\x7d\x38\x7e\xf2\x24\xfc\xf3\xf9\xd3\x17\xf8\x3b\x8d\xfb\xe1\xfc\xf5\xe3\x8b\xb3\xe3\x93\x8b\xe8\xbb\x8b\x63\x43\x91\x07\x5f\xd9\x4e\xaf\x9f\x5d\x3c\x7d\xf5\xec\x3f\xc2\xef\x9e\x3c\x7d\xf3\xf4\xc9\xa9\x61\xe5\x87\xf6\x9b\xd3\x93\xa7\xcf\x8f\x9f\x99\xaf\x0e\xec\x64\x4e\xcf\x9e\xbe\x7c\x42\xdf\xdc\xab\x94\x7a\x9b\x8b\x34\x03\x59\x43\x19\x54\x1e\xbf\x79\xfa\xe3\xf1\xc5\xe9\x07\xc3\x5d\x47\xec\x90\xa8\xd5\x7e\xfb\xc3\xcb\xb3\xb7\xc7\x67\x06\x12\x12\x36\x16\x5a\x33\x7f\x22\x87\x7a\xfd\xec\x99\x23\xd0\x43\x64\x5f\x6f\x9f\xbe\x78\xf2\xf2\xed\x87\x97\x6f\x4e\xcf\xde\x3c\x3d\x7d\x6b\xbe\x7f\x80\xd4\x67\xb6\xf3\xc5\xe9\xf9\x39\xd0\xd4\x03\xbc\xab\x82\x6f\x71\xeb\x1f\x1c\x7e\x1d\xca\x70\x4f\x03\x31\x9c\x7c\xd0\xcd\x1b\xc0\xdb\xfa\xb7\xdd\xbc\xd6\x83\xe1\x28\x76\x41\x7f\x55\xda\x42\x31\x3e\xe3\x8c\xe1\x94\x3e\xe0\x4a\xad\x95\x16\x73\x94\xb3\x20\xed\x93\x55\x1e\x41\x47\xef\xfe\x8d\x89\x1f\x46\x5b\x53\x43\xf4\x23\x9f\xf3\xb7\x3c\xd3\x94\x41\x7e\xef\x4a\xac\x21\x39\xcb\x1e\x82\xee\xfb\x54\x2c\xf6\x17\x66\x33\xc4\x57\x92\x62\xd3\x14\x28\x6b\xd0\xa6\x39\xd8\xda\x6d\xd1\x24\x9e\x55\xb2\x5b\x61\x6e\xc1\x78\xfd\x94\xf1\x8a\x66\xe3\xc7\x7c\x75\x7c\x7e\xbe\x69\x40\x28\x63\x1a\x8d\x76\xee\xcb\x65\xd8\x98\x1f\x78\xe1\x2e\xf8\xd4\x08\x9b\x1e\x74\x58\x7f\x28\xd0\xcf\xda\x4e\xce\x09\xb3\xbd\x5e\xd1\xed\xd2\xc3\xdc\x62\x9a\xa9\x5c\x15\x4d\x13\x7d\x22\x57\xc5\xed\xa6\x7a\xd7\x32\x1b\xdb\x27\x4b\x24\xa2\x65\x0d\xa5\x17\xf2\x42\xde\x02\xa3\xae\x46\xd6\x1f\x34\xc3\xb1\xd4\x9a\x12\x09\x45\x93\x7c\x0c\xdf\xff\xc9\xf3\xf4\x05\x43\xdc\x34\x21\xe9\x6c\x43\x6d\x10\x9a\x2e\x66\x74\x73\xbf\xef\x32\xdf\x7a\xe1\x8f\x5b\x26\x32\xda\x41\x9b\xe3\x92\xb3\x7d\xa0\xca\x89\xff\xec\xe1\xb5\x41\x80\x93\xf9\x38\xe9\xf4\x19\x7c\x38\xd7\xb2\xe4\x53\x11\xc6\x36\xbd\x72\x8b\x7f\x8e\x6b\x67\x6a\x39\xc6\x90\x44\x40\x86\xe1\x6b\xa8\x15\x67\x2f\xf8\xf9\xf9\x4f\x41\x2a\xbb\x40\x47\x83\x19\xdc\x49\x27\x9c\x53\xda\x47\x5e\x30\x59\xa6\xa2\x04\x5f\x05\xd4\xae\xa2\x8d\x25\x91\x45\x41\x69\x27\x17\xa5\x34\x4b\x88\xaf\xa4\xda\x94\x42\xfd\x3f\x76\x78\x4a\x69\x09\xcc\xaa\x6a\xed\xbd\x25\xa5\x4f\x44\x42\xd1\xa2\xb4\xfe\x7a\x8a\xd5\xe8\x5f\x07\xe9\x62\xdf\xce\x6d\x1f\x74\xeb\x6e\x5c\xab\xfa\x4f\xc5\x44\x79\xc7\xd7\xda\x1c\x68\x48\xff\x03\xd8\x0c\x30\xa8\xc0\x3c\x6e\x55\xd7\x00\xe8\xd5\x53\x2e\x5c\x55\x2a\x0f\x61\x58\x8d\x87\x63\x1a\xf4\x61\xf4\x77\x57\x62\xfd\xfe\xdd\xe1\xfb\x5e\x4b\x26\x98\xb6\xa9\x25\x5c\x8b\xa9\x84\xd0\x66\xd4\xd3\x6d\x6f\xe8\x8e\x19\x3b\x62\x1d\xfb\xb9\xb3\x53\xcf\xe3\xc5\x42\xf0\x92\x74\xfc\x1d\xff\xd7\x6e\xbd\xcd\x19\xb4\xb1\x8c\x1d\xf7\xc7\x6e\x7d\xcf\xcd\x89\x31\x6b\xec\xe0\xa7\x1d\x7b\x01\x7f\x42\x4f\x93\x8e\xfb\x63\xb7\xbe\xa7\x45\x22\x53\xea\x6a\x3f\xef\xd6\xf3\x79\xa6\x12\x91\xe7\xbc\x10\x72\x09\x53\x8e\xbe\x08\x54\xb4\xcf\xe8\x28\xf9\xbe\x7d\x77\xcc\xc6\x6b\x96\x66\x6a\x91\xf3\x35\x7e\xc5\xba\x5a\x2e\xe0\xdd\x07\xf7\x43\x6f\xd3\x21\xb3\x93\x59\x3f\x71\x9e\xc4\x36\x0d\xd0\x3f\x58\x96\x8e\x5a\x09\xbd\x71\xab\xfb\xc4\xc5\x6f\xf4\x28\xdc\x73\xd6\x9d\xc8\x42\xab\x3e\x4b\x64\x2e\x4b\xd5\x67\xd9\x9c\x4f\x85\xea\x75\xc0\xbc\xbc\xf3\x38\x8e\x0e\xa2\x61\xb0\x36\x02\x43\x02\xb9\x1d\x40\xbb\x57\x11\x3c\xb7\x81\xb7\x83\x65\x4f\x47\x04\xcb\x1d\x99\xdb\xc1\x72\xe4\x17\x01\xf3\x44\x79\x4b\x68\x70\x0a\x62\x50\x78\x30\x6e\x07\x27\x22\xcd\x08\x9c\xf9\x65\xd8\xf9\x08\x99\xa1\x5a\x09\xad\xce\x19\xe9\xa9\xd1\xe1\xb9\x1e\x4c\xcb\xc1\x5c\xa6\xa2\x33\xba\xc7\xd8\xbb\xdb\xa0\x1b\x9c\xd6\x61\x36\xef\xe0\x13\xeb\x14\xb2\x10\x36\x79\xd5\x80\x32\x57\xe5\x62\xa2\xed\x67\xb8\xaf\xe1\x0f\x2c\xee\xdc\xc1\x74\xb1\xe6\xe2\x3a\xce\xf5\x8f\x86\xc5\x6b\xba\xa7\x66\x3c\xb9\xfa\xeb\xdb\x99\x58\x96\x99\xd2\x59\x32\xbc\x2c\xc8\x8e\xd4\x09\x3e\x75\xcc\xb8\x97\x9d\x91\x91\x0a\x24\xf6\xf5\x1a\xed\x82\x5f\x67\x53\xae\x65\x39\xcc\x79\x31\x5d\xf2\xa9\x18\xf9\xae\x78\xf1\x5c\x76\x44\x31\x58\xaa\xcb\x0e\x3b\xfa\x9e\x5d\xc2\xf4\x2f\x3b\x7d\x8c\x4c\x80\x6f\xdc\x84\x2f\xe3\x61\xa1\xe1\x88\x3d\xc9\x14\x26\x4d\x28\xd6\xb4\x80\x52\xe4\xe0\xee\x33\x5f\x16\xe6\x26\x0f\xa7\xed\xb0\x02\x13\x56\x6a\x39\xc7\x90\xb8\xfb\xc7\xb9\xa6\x94\x6c\x00\x23\xea\x63\xb1\x17\xf4\x01\x45\xff\xa6\x3e\xc1\xa4\x5d\x27\x94\xaa\x1a\x7a\x61\xa5\xf5\x4e\x54\x20\x74\x90\xa9\x41\x5c\xfb\xf3\x0e\xc4\x41\xa9\xea\x3a\x63\x29\xd1\x20\xc2\x3a\x4f\x27\x4c\x09\xdd\x67\xcb\x22\x95\x14\xce\xed\x9f\xfc\xc7\xb9\x1e\xb8\x7a\x9f\x83\xef\x9f\x9c\x3e\x63\xa5\x98\xf3\x85\xcf\x2d\x66\x57\x18\xcd\x95\x65\x45\x2a\x44\x8a\x45\x4d\xc2\x22\xa7\xe1\xca\x68\x3d\x9f\x66\x15\xe7\x42\xb3\xd5\x4c\xb8\xe4\xf7\xb6\x5e\x2b\x4f\xb4\xc2\x04\x1e\x66\x2c\xf8\xca\xbc\x9d\xcd\x17\xa9\xa1\xe1\x22\xd1\xb6\x6d\x34\x39\xf3\x92\x56\x83\xd5\x8c\xeb\x3b\xcc\xaf\x83\xee\x33\x38\xb5\x77\xee\x2f\xd6\xf9\x66\x30\xce\xe0\xcc\xd1\xc3\x79\x70\x25\xd6\xf6\xd4\x9d\xd8\x74\xac\xb3\x7a\xc9\x5a\x7c\x4b\xa7\x8d\xe7\x8d\x91\xb3\xce\x10\xff\xb1\x73\x48\x3e\x5e\x80\xc5\xc7\x48\xa9\xd9\xcd\x30\x6c\x0c\x53\x18\xda\xc6\xc7\x69\xca\x0e\x1f\x7c\x63\x1f\x56\xcb\x02\x0c\x6c\x22\x0d\xc3\xd8\x95\xab\xcb\x17\x01\x0a\x96\x30\x1c\x7a\xb5\x44\xa4\x7d\x40\x55\x09\xd6\xe0\xa0\x54\x24\xa1\xda\xa0\x7a\xf2\xfd\x3f\xc5\xd7\x6a\xc8\x58\x17\x64\xea\x95\x2c\x2e\x3b\x1a\x2a\xec\x60\xbc\xab\x91\x98\x73\xae\x27\xb2\x9c\x53\x91\x1d\x00\xdb\x0e\xce\x0e\x48\x89\xcc\x60\xf7\xe3\xea\x08\x66\xea\x90\xc4\xd8\x60\xdd\x1b\xf7\x7a\x9d\x7b\x8c\x59\xb2\x58\xa6\xd9\x38\x17\x83\xb1\xc8\xf3\x81\x32\x37\xc6\xce\xa4\x41\x57\x0e\x3c\x3f\x06\xa5\xc0\x17\xd0\x08\xe5\x6b\x03\x56\xee\x1b\xa0\x44\xca\xcb\xd2\x7e\x7a\x7d\xf6\xcc\xc6\x98\xbb\xb7\xa5\x69\xc8\x60\xf4\x21\x63\xa7\xf3\x85\x5e\x5b\x2f\x46\xb3\x84\x42\x32\x9a\x26\x34\x74\x24\x9d\x0a\x75\xa5\xe5\x62\x50\x48\xed\x32\x34\xc3\x42\x6e\xbd\x84\x66\x0e\x82\x89\x30\xa3\x49\x2a\xfb\x48\x33\xa7\x7f\x8a\xb9\x52\xc0\x27\x3b\x01\xcf\x6d\xc6\xd9\x5b\x31\x76\xec\xe3\x45\x30\xb1\x21\xa4\xcc\x51\x94\x33\x67\xf5\xc5\x50\x96\xd3\xfd\x8b\xb3\xfd\x70\xf2\x6a\x3f\x3a\x0b\xf8\xe1\x09\x4a\x7d\x06\x19\x51\x5b\x56\x8a\xbf\x2f\xb3\x52\x28\x43\x00\xf3\x4c\x29\xd8\x71\xeb\x1e\xb6\x84\x2a\x01\x6f\x67\x82\x32\xd1\x58\xb0\x18\x89\x6e\x8e\x9f\x12\x60\x02\xc5\x45\x02\xae\x28\x17\xbd\xd6\x62\xbe\x80\xdf\xb8\xba\xf2\x86\x4d\xb3\x13\xc1\x48\x16\x60\x36\x61\x85\x48\x84\x52\xbc\x5c\x0f\xb1\x80\xa6\xad\xa9\xc2\xe6\x7c\x0d\x69\x82\xd5\x8c\x7c\x3a\x42\x00\x66\xfa\x42\x69\x2a\x74\x62\xc1\xa5\xe0\xa1\xa3\x19\xe6\x93\x31\x28\x0d\xab\x4c\x23\x5d\x37\x72\x0c\x62\xef\xe2\x46\x8b\x42\x61\xa1\x2a\x2a\x72\xc3\xf6\x22\xbc\xed\x85\x93\x80\x5c\x91\xc1\xdf\x5a\x06\x33\x41\x69\x3b\xea\xec\x68\xcf\xef\xff\x00\xe4\xdd\x9d\x49\x2e\x90\xa3\x59\xa7\x9c\x8e\xbb\x87\x5f\xf5\x19\xfe\x7f\x0f\x04\x1a\x80\x86\x34\x78\x11\x13\x1a\xfc\x84\xfc\x48\xdc\x50\xc8\x7a\x21\x29\x42\x1e\x7f\xf4\x39\x88\x9a\x66\x0a\x12\xf9\xdd\x66\x6a\xa6\x66\xc3\x76\x10\xdf\xe7\xe7\xe4\xe3\x48\x87\x39\x98\x28\x8c\xd3\x72\x92\xf1\xb7\xa6\x1d\x0c\x93\x22\x84\x5c\x6f\x59\xe6\x5d\x7b\x76\xa6\x52\x0e\xa7\xf9\x3e\x2f\x44\x7a\xf1\x73\x2f\x6c\x95\x67\x85\xe0\xe5\x60\x5a\xf2\x34\x13\x85\x86\xd7\x11\x3e\x8d\xfa\x6c\x0c\x6e\xa6\xa5\x48\x7b\x0d\x48\x51\xd9\xaf\x7f\x1a\x4e\x20\xff\xf2\x90\xb1\x27\x36\xb1\x96\x96\xcc\x48\x78\x4d\x9b\x65\xbd\xef\xfe\xb4\xb9\x39\x77\xbf\xdb\x6c\xce\xe1\xc1\xbf\x9a\xff\x0f\xbf\x4a\xc0\x86\x1a\xae\x08\x05\x2d\x94\x3e\x3e\xbd\xa0\x47\x6c\x9a\x96\x84\xa2\x1a\x19\x70\xc1\x74\xf0\xf8\x9c\x75\x2f\x3b\x97\x97\x37\x07\xdf\x18\x91\x9b\x5f\x71\xf6\xd7\x9f\x7a\x43\x16\x14\xb6\xb0\x93\x8f\x81\x80\x03\x4a\x00\x08\x80\x7c\x3d\xb9\xec\xb8\xed\x72\x02\xc5\x60\xce\x17\x03\x9b\xb8\x5f\xdd\x69\xcb\xe8\x61\x03\x7b\x64\x7d\xc3\xad\xf6\xcd\xa7\x16\x81\xac\x18\x94\xb4\x62\x48\x3e\x2d\x9c\xa9\x05\x7a\xf5\x97\x25\x5f\xf7\x49\x78\x10\x3c\x99\x99\xed\x40\x97\xb8\x8e\xcb\x24\x49\xe5\x18\xbd\x2c\x64\x2e\x02\xd0\x5b\xda\x94\xfb\x14\x08\x1b\x8c\x44\x29\x37\xdc\x35\xc2\x3a\xf1\x98\x2c\xd3\x4a\xe4\x93\x21\x56\xa5\xe1\xba\x32\x21\x98\x4a\x75\x02\x0e\x54\x29\x12\x91\x5d\xc7\xe2\x59\x75\x26\x90\xa8\x05\x19\x72\xd8\xd0\x93\x6a\x40\xab\x2d\xc4\x6a\x70\xf1\x8f\xbd\x83\xbd\xd1\x3f\xf6\xee\xef\x8d\xf6\x2e\x2f\x97\x0f\x0e\xbf\x7d\xb0\xd7\xdf\xeb\xbb\xbf\x0e\xf6\xfa\x7b\x03\xf7\xd7\xe1\x5e\x7f\x6f\xe8\xfe\xfa\x62\xaf\xef\xa7\x6c\xc0\xc0\xf7\x0f\xbf\xf9\x66\xef\xe3\xc7\x40\x9e\x82\x2a\x4e\x03\x59\x0c\xc4\x4d\xb6\xbb\x94\x1d\xbf\xba\x89\xa2\x43\x32\x7f\x4b\xaf\x00\xe0\xa1\x70\x37\xc3\x40\x80\x17\xaa\x7a\xb5\xc2\xbb\xde\xd5\x0a\x61\x66\x06\xfe\x1a\xc0\xac\x66\x83\x71\x9e\x15\x57\x77\xa2\xcf\x86\xc3\x57\x9f\x15\x80\xb7\x4e\xc4\x4a\x96\x41\x3a\xbf\xc6\x99\x0c\x92\x75\x92\xdf\x8d\xfd\xbe\x3b\x3c\x38\x38\xe8\xb3\x87\x07\x07\xef\xe3\x63\xd3\xb9\x08\x86\x87\xf9\x94\x46\x8e\xc8\x0a\x36\xcf\xf2\x3c\x53\x22\x91\x45\xaa\x1a\xb9\xdc\x31\xd3\x2b\xc9\x04\x26\xa8\xb4\xd4\xeb\x03\x5d\xe4\x84\xf2\x52\x66\xf8\xa0\xc9\xa5\xf5\xa0\xc7\xd1\x7c\x96\x21\x27\x6e\x41\x29\x20\x33\x60\xd4\x27\xd3\x41\x5b\x39\x99\x54\x71\xf3\xfb\x44\x0a\xde\x7d\xf0\xf0\x61\x9f\x1d\xe0\xff\x0d\x1f\xf6\x08\x2f\x55\xd1\x02\x45\x06\xba\x0e\xae\x29\x5f\x1e\xce\xc0\x4f\xc8\xb4\x19\x2c\x78\x2e\xb4\x16\x9f\x9c\xc3\x75\x5e\xda\x5a\x27\xa8\x34\xb4\xd2\xb5\x7d\xc7\xd0\xb8\x8d\x7b\x15\xd6\x35\xac\xf2\x47\x64\x4a\x98\x48\xca\xf2\x4a\xf6\x74\x52\x6b\xe7\xb6\x89\x72\x85\x22\x3b\x05\x3d\x46\x4a\xa9\xca\x37\x30\x57\xc7\xd1\x9c\x2c\x6c\x78\xb1\x75\xad\x01\x67\x67\x2c\xf0\xa7\x1d\xb2\x37\x2d\x08\x72\x8b\xb4\x2c\x29\x07\x6f\x21\x5e\xac\x59\xa2\x14\xc1\x42\xdf\x1d\xca\x76\xea\xa6\x40\x69\x91\xd8\xbf\x9c\xfd\xf8\xb8\xcf\xfe\xe5\xec\xec\xc7\x1f\x1f\x3f\xee\x33\x23\x69\x0e\x87\xc3\x1e\x7c\xe2\xf4\x11\xea\x7e\x19\x98\x00\x0f\x9d\x77\xfd\x55\xc8\x35\x79\x22\x2a\xc9\x16\xbc\xd4\x96\x52\x94\x96\xc9\x15\xfb\xe5\xf0\xd0\x80\x1a\xea\x1b\x8d\x96\xaa\xa6\x25\xfd\x87\x5c\xc2\x7a\x96\x4a\x30\xab\x42\xc3\x18\x13\xb3\xb8\xb5\xcf\x9e\x65\x37\x1c\x19\xbe\x3f\x1b\x86\xad\x58\x60\x63\x41\x85\x6f\x52\xbb\xe8\xcc\xf9\xb2\xc2\x4b\xf7\x2a\x5b\x2c\x20\xb5\x29\x53\x73\x9e\xe7\x0c\xe3\x14\xc0\xd9\xb9\x48\xb3\x24\x58\x9c\xe3\x95\xee\x82\x69\xa4\xa0\xe0\x14\x2c\xd6\x86\xa9\x63\x81\xaf\x9d\x89\xdf\xeb\xb2\x1b\x58\xfa\xf1\x52\xcb\x39\xd7\x59\x02\xae\x5c\x58\x83\x57\x82\xad\xcf\x15\x6e\xb3\xa4\x63\x0b\xd1\xba\xf9\x2c\x95\x18\x10\xca\x06\xc8\xfe\x07\x50\x71\xf7\x0e\x13\xdb\xc0\xd6\xb5\xf7\x17\xb3\xfb\x43\x77\x0d\x96\x87\xa6\x0a\x93\x0e\x49\xb9\x11\xc0\xdd\xec\x07\x90\xab\xe4\xce\xf3\x6a\xbf\x03\xe1\xf2\xb3\xe6\x69\x8f\x2c\x4c\x8d\x62\x86\xcb\x8a\xa9\xdf\x39\x5d\xe6\x83\x45\xbe\x54\x83\x79\x56\x2c\xd5\xe0\x57\x51\xca\xc1\xaf\x52\xce\xef\x20\x7e\xd6\xa7\xe4\xa4\x4f\x70\xde\x7d\x95\x2f\xd5\x3e\xd4\x3d\xda\xff\x4f\x51\xca\xb8\x16\x51\x70\x3e\x9e\x4e\x2c\xd6\x83\xc4\x68\x1b\x3b\x53\x4b\xf8\x19\x64\x51\xc5\xfe\xfa\xc1\xc9\x23\x1d\x3f\x3a\x74\x0d\xea\x8f\x46\x68\x48\x6e\xb7\x19\x1b\xe5\x6e\x50\x27\x9f\x18\x74\x67\x42\x41\x26\x6f\xc0\x83\x2d\x39\xad\x25\x38\xe5\x98\x1f\xa0\x73\xb0\x7a\xe8\x09\x6b\xbe\x7f\x62\xd7\x12\x75\x40\x48\x1e\x32\x02\x88\x56\x62\xab\xd5\x7e\xba\xa5\xbc\xc1\x42\x6b\xb5\xa5\xbc\xd9\x71\x29\x6f\xec\x52\xde\xd4\x97\xe2\x21\xc7\x4b\x11\x5c\xe9\x01\x57\x19\x2f\x06\x7c\x3e\xce\xa6\x4b\xb9\x54\x03\xae\x06\x7a\x25\x8d\x04\xb0\x9c\xef\xfe\xf6\xdb\x59\x8d\x7c\xca\x95\x66\xc7\x66\x4c\x76\x6c\xc7\x0c\x63\xa0\xb0\xa4\xe0\xca\xd0\x9f\x99\x00\x83\x62\xa2\x7e\xc6\x90\xb9\x79\x00\xea\xd6\x01\x51\xe8\xa7\x99\x23\xd4\x73\xd0\xd2\xe6\x86\x86\x11\x7c\xed\x2d\x37\x3f\x5b\x57\x46\x4b\x5b\xef\x41\xcf\xc4\xbc\xf1\xee\x79\x2b\x2e\x3b\x79\xce\x4a\xa1\x16\xf8\x82\x81\x75\x0d\xc6\x6b\x2d\xd8\xb5\x28\x95\x0d\x84\xd1\xe0\xe2\x5f\x1f\xca\x9d\xae\x52\x4c\x79\x99\xe6\x42\x29\xef\xed\x81\xf5\x76\xab\x78\x19\xcb\x7c\x77\xf5\x69\x83\x64\xa4\xcb\x4c\x69\xae\x45\x88\x93\xa8\xc6\x85\x61\xc7\x66\x10\xb6\xc2\x62\x72\x50\xf0\x2d\x56\x08\xa1\x2b\x51\x9e\xee\x8f\xd1\x10\xe3\x4c\x19\x56\x33\x34\x64\xec\x07\x8b\x43\xe7\x0e\x0c\x71\x0c\x21\xd4\x21\x63\x2f\x96\x39\x38\x27\x71\x67\xf1\x6a\x5a\xaf\x21\x58\x1c\xea\x4e\x2b\xaf\xf3\xd4\x96\x55\xe3\x6a\x48\x4c\xec\x7e\x33\x38\x7c\xc8\x0c\xd3\x67\x87\x5f\xc5\xa2\x55\xcf\xad\x18\xfc\x09\x8b\x75\x03\x6e\x58\x1d\x19\xbe\x46\x7e\x75\x8d\x77\x7e\x30\xed\xb2\xb4\x90\x3a\xf1\xad\xd2\xb8\x4f\x44\xeb\x99\xd9\x96\xca\xfc\x9c\x70\x00\x6a\xf0\x5b\xa8\x55\x36\xde\xb5\xe7\xe6\xa9\xc2\x6d\x32\x5d\x2b\x96\x3b\x55\xb8\x93\x9f\x80\xd1\xad\xca\xcc\xf0\xb7\x56\x69\xa5\x36\x53\xe8\xf0\x89\xa4\x28\x57\x1b\x18\xa6\xa2\x25\xce\x86\xa5\x59\x29\xb0\x64\x04\x15\x83\x46\xff\xcd\xd6\xc9\xa5\x22\x39\x7c\x70\xd7\xf7\x7a\x03\x3f\x3b\x0b\x36\xd6\xcc\xec\xb2\xa3\x42\xcd\x7a\x50\xc1\x31\x7a\xa9\x9a\xe3\xbf\x34\x52\xad\x91\x63\x2d\x21\x3f\x39\x3d\x71\xe5\x78\x20\xb3\xf8\xe1\x83\x60\xfa\xd7\x59\x29\x0b\xf3\x5e\xbd\xeb\xec\xff\xd1\xb9\x38\x3d\x7b\xde\x19\xb1\x0e\xd8\xc3\x06\x0f\x1e\x7e\x85\x2f\x45\xcc\x0b\x50\x7b\x5a\x5b\x59\x30\x18\x9a\x5d\x53\xb6\x19\xd5\x8f\x35\x54\x76\x9a\x86\xa5\x0c\x26\x7c\x9e\xe5\xbb\xcb\x1f\x15\x8f\x93\xce\xde\x13\xf1\x37\xfe\x66\xc9\xce\x79\xa1\xd8\x73\x59\xc8\xbd\x3e\xdb\x3b\x35\xac\x5c\x16\xf6\xef\x1f\x4a\x21\xcc\xc7\x3e\xdb\x7b\x2e\x8a\x1c\x9a\x5c\x10\xd5\x7a\x05\x4e\x67\x2e\x0b\x89\x4a\xc8\xaa\x9a\x94\x34\xb3\xc4\x59\x61\xc2\xb5\x0a\x13\xc0\x51\xe2\xa5\xdd\x59\x89\x7c\xf8\xb0\x0f\xc9\xab\x1a\xf0\xeb\xab\x79\x66\x05\x5b\x64\x37\x22\x57\x95\x41\xe7\x12\xc5\xbc\xbb\x69\x0a\x78\xa1\x33\x8c\x1d\x4b\x1b\xb5\xc5\xf1\x18\xee\xb5\x1b\xcc\xa1\x14\x9f\xc6\x04\xf2\xe0\xcb\x83\x3e\xb3\xff\x69\xb4\x82\xf8\xb1\xee\x68\x05\x99\xc9\xb9\x18\x5c\x89\xb5\x1a\xa0\x0f\xeb\x27\xd6\x3e\x1b\xf0\xfb\xc2\x19\x03\x7d\xa9\x4b\x4f\x34\xae\x94\x3b\x9a\x8e\xa1\x20\xa9\xeb\xe6\x1e\xa6\xa6\xbb\x73\x78\x7f\x73\x61\xcb\x04\x2a\xd4\x5f\x90\xf0\x63\xb8\xaf\xeb\x8a\x72\xe7\x9b\x0b\x0a\xee\xe4\x01\xb4\xca\x20\x38\x03\x8f\x93\x2b\xb1\xb6\x25\xda\xee\xea\x92\x13\x73\x87\x63\x08\x5e\x92\x93\x4a\xba\x66\x19\x05\x28\x40\xfe\xef\xa0\x9e\xa9\x8d\x66\xb4\x49\xc8\xfd\x19\x2d\xe3\x1a\x83\x9b\x33\x8a\xc7\xe9\xc4\x53\x91\x64\x46\xa2\x09\xe0\xcd\xc4\x0d\xb7\x5f\xa3\x66\x00\xbc\xeb\x08\x90\x0f\x92\x20\x70\x36\x52\xa2\xa6\x8e\x71\x02\x95\x35\x6c\xb9\x6a\xb1\x3e\x18\xa1\x4f\xba\x27\xb2\xc3\x47\xc0\x7f\x80\x31\x27\x46\xb8\xb2\xa0\xc4\xcd\x22\xe7\x05\x86\xd9\x92\x92\x65\x62\x24\x32\x08\x7e\x10\xac\x62\xfc\x7a\xf6\xf6\xac\x48\xcb\x46\x99\xf7\x1c\x74\xde\x2c\xd8\xd8\xc0\x58\xf3\x8f\xd0\x48\x43\x11\xd2\xb9\x1e\xfc\xbc\x37\x62\x7b\x15\xef\xed\xbd\x7e\xbd\x2d\x3e\x53\x9f\x99\xd6\xaf\x8e\xcf\xcf\x9b\x9a\xfc\x64\x7e\xbc\xec\xfc\x74\xfa\xec\xd9\xcb\xcb\xcb\xe2\xb2\xb3\xe7\xdb\x7c\xb4\x54\x37\xe7\x37\x03\xc4\xdc\xc0\x12\xc1\xce\xd4\xe7\x7c\xf9\xd8\xe1\xc1\x01\xa8\x7f\x03\xde\xf9\x9c\xdf\x30\x4a\xb4\x01\x15\x7e\x9e\x9c\x9c\xf7\xd9\xcb\xf3\x93\x3e\x7b\xf5\x1c\x36\xe4\xf8\xd5\xb9\xa7\xca\xb1\x98\x40\xb9\x38\xcc\xb4\xc2\x96\x8b\xe8\xe4\xf8\xc7\x05\x92\x98\x9b\xbc\x48\x33\x8e\x7c\x84\x97\x62\x30\x31\x9f\x3e\x31\x2b\x49\x64\x71\x2d\x4a\x1d\x04\x26\x11\x65\x65\x25\xfb\xc1\x90\xaa\x0f\x61\x1e\x32\xaf\x4a\xc8\x85\x8e\xcd\x58\x71\x8d\x76\x5b\x5c\x3c\x58\x89\xe6\x64\x92\x23\x57\x9e\x4f\xa1\x10\xa9\x7a\x2c\x39\xff\x24\xe4\x52\xdc\xe5\x85\xa2\xec\x53\x68\x39\xf0\x93\x92\x4b\x25\x06\xe8\x55\x96\xe4\x59\x72\x75\xcb\x77\xfe\x46\x51\x11\x5d\x8d\x65\x41\x1e\x6a\xa8\x6c\x1b\x2f\xb5\x96\x05\x83\xc1\x9a\x6d\x02\x58\x4c\xca\xb9\x4d\x98\x23\x7d\x8d\xf6\x04\x2c\x03\x0f\x85\xa9\xf0\xd0\xee\xe1\xfc\x61\xce\x03\x84\xbc\xe7\x99\x31\xbd\x19\x9b\xc6\xc0\xc8\x6b\xf4\x0b\x32\x37\x00\x6d\x1a\xf8\xdf\x7d\x4e\xf3\x35\xdf\x89\x94\xcd\x33\x08\x33\x28\x51\xbc\xad\x60\x2e\x1c\xf9\x2e\x48\xab\xba\x59\x1e\xf4\xd9\x61\x9f\x3d\xe8\xb3\x2f\xfa\xec\xcb\x3e\x7b\xd8\x67\x5f\x91\x63\xd7\x73\xc0\x1e\x16\xa7\xc7\xf1\xe0\x88\x15\xf5\x37\x63\x9b\x35\xd9\x37\xe9\xb3\x15\xbe\xd5\xed\x73\x74\x9e\xa5\x66\xf9\xd1\x0e\xa1\xfb\x40\x31\xf8\xe5\xf0\xd0\xa1\xd4\xfb\x4b\x75\xf1\x16\x31\x94\xe5\xfc\xfc\xc0\xc4\x5b\xb0\x5f\x0e\x0f\x6b\x03\x84\x14\xe0\xd4\xcb\x38\x4e\xd7\x56\x9d\x12\xcc\x70\xe4\x6b\x67\x5f\x9b\xdb\x18\x0a\x4a\x85\x06\x4b\xbf\xce\x78\x38\x63\x7f\x77\xf9\x99\xf7\x1a\x31\x70\xc0\x8e\x8e\x70\x7f\xbb\x8b\x32\x9b\xf3\x72\xdd\xa3\xf6\x41\xf3\x43\x28\x95\x88\xa0\xbb\x7c\x79\x93\xe5\x59\x73\xc3\x07\xa6\x21\x85\xb3\xa0\xb9\xa9\xb9\xdd\xef\xa1\xea\xda\xa9\xfc\xb3\x48\x7b\x25\xcb\x74\x00\x59\xb4\x07\x90\x14\x69\x60\xfa\xde\x81\xba\x61\x3a\xef\xfe\x7a\x79\xa9\x2e\x2f\xdf\x5d\x5e\xbe\xef\xf6\xfe\xf1\xf1\xbb\xef\xf7\x2e\x3b\x97\x97\x7f\xfd\xec\xdf\xff\xe5\x7f\xfd\xeb\xe7\x7f\xe9\x3f\x1a\xfd\x7f\xef\x6b\xc2\xf0\x99\x98\x2e\x73\x5e\x32\x71\x03\x0e\x80\xa4\x99\x9f\xf1\x9c\xca\x30\x92\x10\x80\x69\xef\xcc\x8e\x42\xb6\xae\x9e\xad\x33\x47\x0a\xea\x16\xec\x94\x73\xd0\xff\x6b\xb2\x67\xf0\xc0\x0a\x8e\xa1\x3a\x5a\xb2\x52\x80\x79\x8a\x64\x90\x24\x50\x52\x0d\x43\x7d\x17\x95\x16\xdb\xfb\xdf\x94\xf2\x61\xb8\x17\x56\x53\xe3\x8a\x2d\xb8\x9e\x29\x36\x01\xcf\x2b\x88\xe5\x81\x89\x5a\xdd\x88\x0c\x94\x1f\x35\x9c\xdf\x4e\xc3\x73\x5b\xa4\xff\xef\xe1\xef\x43\x3b\x91\xbe\x28\xd2\x3f\x07\xeb\xad\x68\xc2\xc3\xfa\x89\xf1\xf4\xfe\x2f\x3b\xe2\x86\x0a\xd8\x52\x80\x61\xa0\xca\x24\xfd\x0d\xce\xee\x8f\x26\x44\xff\xe9\x35\x55\xcb\x11\x37\x0b\xeb\xd1\xe1\xed\x35\x6a\x59\xc2\x83\xce\x06\x12\xbb\x14\x77\x90\x64\xd2\xa1\x78\xc1\xa7\x7f\xe4\xc3\x8d\xc2\x6d\xf7\xa1\x36\xf1\xed\x1e\x6f\xee\x16\xaa\x81\xd8\xe9\x01\x17\x75\xf3\x9c\xb4\xf6\x98\xc3\xc1\xa2\xd6\xd5\x87\xdc\x82\x2b\x35\xe0\xb9\x1e\xe0\xbb\xe6\xee\x8f\xb9\x8a\x02\x3a\x94\xe6\xbc\xce\xd2\x8c\x06\x3e\xf4\x87\xc3\xe1\xb7\x2e\x7a\x95\x12\xf8\xb4\xde\x35\xe4\xf0\xbd\x46\xdd\x61\xb9\x2c\x20\xeb\x10\xfa\x9d\x66\x05\xe3\x4e\x60\xd5\x7c\xec\x1d\xf1\xd7\x72\xc9\x52\xf4\x94\xb6\xd0\xc0\xef\x05\x2f\xf9\xcb\x8e\x62\x7b\x6a\x95\x41\x29\x5c\x69\x7a\xee\xf9\xec\x42\x3c\x49\x44\x2e\x4a\xae\x21\x86\x13\x5d\x61\x0b\xa9\xdd\xd0\xde\x62\xce\xb8\xe9\xca\x32\x50\xd2\x8d\x85\xd6\x68\x64\xb4\xbb\xa8\x44\x28\x85\xa3\x9e\x11\xe6\x47\x89\x35\x02\x77\x0f\x2a\x33\xca\xae\xb3\xb9\x91\x86\xc4\x9c\x27\xcd\x27\xc3\xd1\x9f\xc3\xa3\x4d\x01\x4d\x5e\xf1\xb6\x3a\x95\xc5\x2b\x0b\x44\x7d\xd7\x27\xd2\x1a\x98\x47\x2a\xa5\x35\x72\x31\xf1\xd0\x0b\xf7\x96\x37\xc4\xad\x38\x0f\x72\x92\xa3\xfc\xdb\x16\x34\x19\x20\xf6\x40\x5a\xbb\x88\xd0\xc0\x02\xf7\xe7\x51\x1a\xbc\x2c\xff\x2f\xa9\xfd\x7e\x52\xf3\x88\xbc\x05\xad\xf9\x4e\x7f\x36\xb1\x11\xb5\xc1\x3b\xf5\xcf\xa3\xb6\xe7\x66\xb8\xff\x4b\x6d\xbf\x9f\xda\x3c\x22\x6f\x41\x6d\xbe\xd3\xff\x19\xd6\x06\xc4\x76\xfd\xc9\x35\x21\x00\xf6\x0d\x9b\x0a\xad\x80\xca\x50\x2a\x82\x65\xd8\xe1\xc9\x09\x76\x20\x6c\x60\xea\xed\x55\x62\x9d\xa5\x9e\x0c\xbe\xe9\xf4\xd9\x3b\xf7\xa9\x53\xf2\x95\x0f\x80\x44\x6b\x94\x2b\x75\x61\x87\x82\xa7\x75\xca\x35\x67\xce\x13\xd7\x85\x91\xc0\x1c\x5b\x9c\xd5\xb2\x14\xdd\xa7\xb0\xc0\xf1\x25\x0e\x7a\xd9\x01\xa1\xe5\xd2\x8c\x1c\x38\x4a\xa3\xc4\x32\x90\x05\x88\x72\xba\x94\x57\xbb\x0b\xc9\x3e\x50\x76\x93\x07\x8e\xa2\xcc\x1a\x61\x32\x0d\xb0\x10\x17\x6b\xe6\xc6\x6c\x98\x8f\x5c\xea\xc5\x72\xf7\x97\x4d\x30\x99\x4d\x62\x65\xdb\x6c\x7c\x0e\x15\x18\xb6\x32\x9f\x31\x2f\x07\xe4\x87\xf9\x69\xb0\x73\x31\x03\x5f\x07\x70\x32\x0b\x64\xd8\x79\xa8\xd2\x24\x54\xac\x66\x42\xe4\x83\x39\x5f\x83\x52\x70\xc0\xcb\x52\xae\x06\xb7\x52\x6f\x6e\x46\x0d\xb0\x29\xb4\x6b\x52\x1c\xa0\x28\x49\xc1\xa2\x92\x52\x88\x82\x32\x8a\xa0\x57\xe2\x93\xd3\x93\x93\x9f\x9f\xb3\xee\xf1\x02\xcb\xce\x99\x07\xc3\x09\x1a\x4a\x2d\x05\x62\xbd\x32\xab\xbb\x10\x7d\x52\xe7\xc0\x3a\x2c\xfe\x21\x54\x8f\x14\x0f\x62\xbe\xcc\x21\x44\xcb\xac\x0c\x75\xa1\x8d\x0c\xcc\xe6\xe5\x60\x5a\xcc\x17\xb2\xe4\x65\x96\x43\xe8\x3d\x1f\x13\xf3\x9a\xc9\xdc\x3f\x5a\x40\x38\xbf\x12\xeb\xf6\xfb\x21\x78\x6e\x63\xae\xca\xe5\x02\xaf\x0a\x44\x86\x11\xec\x4b\xc5\xba\xb9\x50\xaa\x67\x78\x6b\x49\x1a\xd2\x39\xc7\x37\x42\x10\xbb\x45\x26\x2f\x91\x66\x1a\xbc\x20\xae\xb3\xfd\x82\x17\x12\xba\x21\x34\x44\xe5\xbe\x9e\x2f\x6f\x5a\x36\x58\x5e\x8b\xc1\x7c\x99\xeb\x6c\x91\x67\xb7\xb8\x52\x83\xcd\x3d\xac\x59\x2c\x3d\x3c\x67\x2b\x05\x7b\x25\x4b\x45\xae\xb9\xb9\x37\x70\x57\x68\x3b\x20\x85\x9e\xbb\x07\xdc\xd3\x07\xb7\x0c\x5a\x0e\x8d\x8c\x0b\xee\x48\x72\xc5\x26\xb6\xaa\x27\xbc\x81\xaa\x6f\x1f\xa0\xd6\x3f\x81\x6b\xd6\x98\xa5\xbd\x91\x22\x36\x6e\xcf\xf7\xef\x9a\x51\xa6\xe4\xe0\xc1\xc1\x83\x07\x36\xd4\xd6\xff\xed\x67\x8b\x1f\x06\xb9\x4c\xae\x44\x6a\x27\x1b\x5a\x8f\x1d\xa7\x71\x33\xef\x3e\x79\x79\x72\xde\xac\x8d\x7c\x7a\xfe\x12\x46\x20\xf7\xab\xc0\x23\x0c\xd3\x11\x96\xbc\x50\x39\x85\x1d\x76\x21\x15\xeb\xb4\xe4\x8b\x59\x96\x40\xba\x42\x15\x02\x7d\x7d\xf1\xc3\xe0\x1b\x7b\x5e\x14\x53\xcb\xc5\x42\x96\x36\x8a\x56\xaa\x36\x5f\x6e\xc1\x70\x29\xe8\x49\x50\xd8\xe0\xf1\x08\xf5\x94\x8e\xd4\xfb\x01\x33\x0e\x52\x8f\xce\xe6\x9e\x8c\x40\x23\xeb\xd6\x8e\x56\x06\x1f\xfa\xda\xe6\xa4\x6c\xc3\x7c\x74\x96\x5c\xa1\x3e\x0c\xd7\xb1\x2c\xc0\xef\xcb\x48\x6b\xe8\x5e\x63\x04\x8b\x2b\x23\xe7\x89\x22\x15\x60\xfe\x83\xd6\x4e\x86\x13\x53\x9e\xac\x19\xf7\x6c\x2b\xa0\x54\x30\xa0\x61\x81\xf8\x3b\xfb\x2f\x36\xb9\xea\x18\x16\x74\x9f\x3d\x05\xc0\x4d\x6e\x8c\xba\xee\xc3\x18\x38\x12\x97\x83\x44\xdd\xcd\x9f\x1f\x82\xcc\x6a\x81\xbd\x10\xa8\x09\xd9\x8e\xd4\x4c\x60\x8c\xa9\x35\xf1\x56\xdd\x88\x52\x99\x2c\xe7\x22\x50\xf6\xd8\xe9\x0c\x0c\x9f\xbb\xfb\x9c\x80\x1f\xe5\x59\x21\x06\xb1\x53\x03\xd4\x68\x67\x27\xe7\xe7\xc8\x47\xc1\x69\x5c\xaf\x5d\x2a\x3b\x97\x98\xca\x4c\x67\x53\x92\x1d\x97\xef\x9d\x1d\x19\xc0\x36\xf3\x0f\xc6\x00\x77\x9b\xf3\x16\xb9\x3e\xbd\x0d\x39\x63\x7c\x2d\xfa\xf6\xec\x43\xdb\x73\x5e\x2d\xc7\x6a\x39\xfe\x67\xcf\x73\x45\x29\x71\x5e\x9b\x8d\xd4\x6b\x52\x41\xda\xf2\xdb\x3c\x4d\xd9\x62\x39\xce\x33\x35\xdb\x57\xcb\xb1\x4a\xca\x6c\x2c\xf6\x97\x85\xfb\xec\x92\x4a\x71\xe8\x8d\x99\xfd\x79\xc1\xc4\x0d\xe4\x47\x98\x5a\xff\xa4\x30\x6b\xce\x72\x7c\xbe\x1c\xb7\x14\xad\x94\x63\xc0\x47\xa9\x3e\x50\x5a\xa5\x20\x29\xe3\xb1\x9f\x4c\x9f\xb9\x19\xa0\x1c\x13\x4e\x69\x2e\xf4\x4c\xa6\xf0\xdc\x6a\x9e\x09\xe6\x60\x26\x4f\x16\x5f\x66\xda\xda\x61\x28\x48\x05\x12\x38\xcb\x65\x32\x13\x29\x3d\x27\x45\x09\x7b\x51\x48\x56\x08\xc0\x8f\x01\xb4\x92\x65\xb9\xa6\x44\xb4\x06\x79\xe4\xc3\x83\x56\x9e\xb8\x86\x75\x58\x41\xc1\x56\xc6\x96\xe3\xbf\x01\xa1\xd8\xf8\x3f\xc4\x39\x90\x80\xf5\xfb\x67\x5a\xd6\xf1\x37\xe4\x69\xfa\xd8\x36\x08\x6b\x20\x8c\xff\xe6\xab\xf6\x20\x85\x52\x1d\xad\xb0\x37\x66\x81\x73\x95\x6b\xe7\x41\x35\x4e\x84\xee\x4f\x11\xa5\xd1\x92\xe3\xbf\xbd\x9b\xbf\xf7\xa7\xa5\xd2\xec\xdd\xfc\x3d\xe6\xce\xc2\x21\x7b\x2e\x6f\x9c\xdd\xbc\x73\xb7\x3d\x18\xee\x83\xd1\xde\xe6\x0d\x39\xb1\xde\x8f\x8a\xb0\xc8\xcd\xe6\x86\x7b\x55\x2d\x91\x46\x3f\x03\xde\xec\x67\xf3\xdc\x0e\x86\x18\x86\xfd\x1c\x72\x10\xe9\xbd\x8f\x2c\xe1\x94\x5d\x0f\x7c\x9e\xe8\x67\xe4\xa0\xd7\xf2\x4a\x90\x11\x34\x8c\x47\xaf\x6f\x40\x50\x8c\xc2\x0d\x1c\x6c\x04\x4d\xac\xef\xc6\x0a\x6a\x52\xd8\x1f\xf1\x84\x46\x64\x1f\x56\x8b\xf0\xdf\xbe\xa3\x0e\x66\x03\xde\xbd\xf7\x35\x23\x1a\x5a\x0c\x17\x4b\x35\xeb\xba\x41\xa3\x13\xf4\x3a\x3c\xb8\x18\xee\x7f\x37\x54\x2f\x2b\x80\x76\x45\xf7\xb1\xff\xb8\x28\xc5\x75\x26\x97\x2a\x5f\xb3\x52\x4c\x33\xa5\x21\xfb\xd6\x75\xc6\x6d\xa1\x79\x37\x42\xb7\xb7\x11\xfb\xe1\x5c\xb6\xe3\xdf\x90\x3b\x64\xd2\x3b\x6a\xc5\xa0\x2d\xe3\xf1\x99\x69\x17\xd6\x8f\xe9\x3c\x2d\xb0\xb4\x09\xb5\xc4\x8a\x31\xf4\x87\xab\x0c\x92\xb1\x23\x18\xc1\x55\xe1\x08\xf6\x02\x01\x67\xec\x3b\x76\x10\x01\x7e\x21\xb5\x5f\x6f\x5a\x87\x0b\xf0\x94\x91\x75\x44\x37\xab\x55\x65\x79\x85\x4c\x31\xf0\x23\x6e\x39\x48\xee\x10\x9a\x47\x8d\xb5\x14\xa1\x71\x9a\xe7\x6c\x02\xb2\x82\x47\x97\x61\x80\x78\x1e\x52\xc6\xd5\xba\x48\x66\xa5\x2c\x60\xc7\x86\x2e\x63\x21\xf2\x5a\x7c\xf8\x51\x4a\x49\x72\xf8\xe1\xc5\x5a\x16\x82\xde\x8d\x4b\x30\x79\xd9\x33\x7f\x4b\x62\x5b\xd8\xe5\x99\x45\x0d\x9b\x98\xa8\x60\xc7\x05\xe3\xe5\x38\xd3\x25\x2f\xd7\x8e\x81\x2b\x25\x93\x8c\x63\x39\x47\xb0\xbc\x02\xf3\x0e\x52\x85\x6c\xa6\x5a\xb9\xd0\x1f\x72\xae\xf4\x89\xa3\xde\x22\x40\x56\xc0\x34\x12\x28\x22\x30\xd1\xa2\xb4\xb4\x6b\xbe\x50\x01\xb2\x21\xda\x63\x2c\x50\x81\xe8\x70\xd0\x4a\xd2\x76\xc5\x4d\xe4\x2c\xfa\xb5\x89\x21\x65\xbb\x19\xc1\x10\xeb\x67\x99\xd2\xdd\xcc\xb2\x6f\x23\xca\xc0\x0b\x2b\x53\xcc\x88\xf1\x86\x3c\x68\xa3\x60\x8b\x5d\x89\x2a\x02\xd9\xa7\xe2\x0b\x98\x73\x1d\x83\x55\xa4\x85\x94\xc8\x22\x11\x65\xc1\xe4\xb2\x54\x22\xbf\x16\x94\x02\x44\xdc\x24\x62\x61\xb9\x25\xf3\xa4\x0e\xc4\xeb\x8b\x97\xda\x32\x8a\x4a\xe8\x0b\x9c\x49\xd7\xcf\x18\x5c\x61\x32\x76\xdf\x57\x31\x34\xbd\xdf\x65\xef\xbb\x41\x35\xe5\x5b\x9c\x61\x38\xc2\x1e\x07\x90\xde\x0e\xfc\x07\x60\xac\xac\xc0\x42\x13\x99\xa6\x97\x8e\xa2\x32\x92\x2b\xd1\x29\xe9\x8e\x5a\x63\x55\x09\x9a\x09\xf0\x5f\x23\x3f\x26\x5c\x23\xf0\xa8\xe8\x6f\xf3\xce\xd4\xa7\x42\x27\x1a\x58\x75\xad\x0f\xd5\xd1\x89\xab\xa9\xdb\xc1\xab\xad\xdf\x57\x6a\x16\xba\x91\xee\x6d\xc6\xf1\x01\xb2\x90\x2d\x22\x2e\xaa\x39\xfe\xd9\x45\xdc\xb6\x54\xae\x2b\x5b\x5f\x90\x72\x96\xe2\x69\x3c\x93\xab\x13\xa8\x00\x4d\x7f\x9f\x67\xbf\x0a\xff\xd7\x85\xb8\xd1\xc7\xce\xed\x39\xcc\x02\xfb\xef\x66\x70\xb3\x86\xeb\x4c\xac\x90\x3b\xa2\x30\xed\xea\xc0\x29\x5f\x03\x37\x34\x78\x1b\xb6\x00\x6e\xaa\x06\x31\xe2\xc6\x71\xeb\xa7\x9a\xcd\x79\x56\x68\x9e\xd1\x03\xdd\xd6\x0b\xa3\x48\x06\x57\x3b\xd2\x70\xf2\x19\x57\x6c\xcc\x55\x96\x38\xf1\xd7\x7a\x6e\x43\x85\x16\x7c\xb3\x42\xaa\xf1\x6b\x51\x42\xe8\x06\x85\x25\xa7\x29\x95\x1f\x2f\xc5\x5c\x5e\x9b\xcf\xa5\x5c\x29\xaf\x99\x26\x12\x08\xd3\xd4\xe2\xb2\xcc\x88\x85\x84\x74\xb4\xb9\x48\xa7\x2e\xdf\x49\x53\xee\x62\x57\xd8\xd7\x87\x0a\xc3\x28\xb2\x08\xc6\x30\x44\x90\x0a\xc4\x0c\x18\x17\xf2\xb5\xd5\x5d\xc5\xdd\xb0\x2a\x26\x45\x34\x1b\x8e\x05\xe5\x60\xcc\x0a\x95\x8f\x03\xa7\x79\x83\xf9\x82\xdb\x56\x2b\x5e\x60\x32\x18\x51\xa8\xa5\xb9\xa4\x0c\x28\x78\x0d\xf2\x42\x6f\x9c\x5c\x9f\x65\xba\xa3\xc8\x3d\xb4\x14\x6a\x21\x0b\x95\x8d\x33\x7a\xf5\x20\xf2\x08\x5e\x09\x45\x39\x4a\x8c\x5d\x37\x7f\xe0\xdc\xfc\xbd\x77\xe1\x97\x0c\x61\x7f\xc8\x88\x64\xa1\x4b\x0e\x5c\x49\x31\x51\x4c\x64\x99\x08\x2a\xdd\x93\xdb\xca\x31\x54\xb2\x67\x51\xf2\x44\x67\x89\x18\x0e\xe1\x06\x1b\x00\x40\x4b\x9e\x44\x57\xb4\x47\x32\x37\x0f\xa1\x95\xa4\x9f\xcf\x09\xd1\xb0\xe0\x04\x9c\x25\x5e\x16\xc2\x2a\x13\x0d\x30\x72\x92\xb3\xf3\x03\x8a\xf1\x2d\x9c\x3a\xb9\x4a\x17\x76\x0e\xf3\xdc\x8e\x81\x13\x80\x4d\x4c\x78\x09\xb9\x01\xb9\x46\xc4\x1a\xc1\xe2\xa7\x8b\xe7\xcf\x4e\x31\xff\x03\xb8\x6c\x14\x76\x02\x39\x2f\xa7\x10\x60\x50\x80\xee\x40\x4e\x70\xea\x7d\x36\x93\x2b\x71\x2d\x4a\xcc\x13\x01\x70\x66\x7c\xb1\x10\x05\x3d\x28\x7c\xd6\x12\xc3\x3f\x0a\x03\xca\xad\x59\xe6\xf9\x2b\x49\xf4\x4f\x77\x19\xf9\xb8\x33\xce\x26\x62\xc5\xca\x65\x2e\x28\xd3\x1f\x56\x82\x1d\x32\x76\xca\x93\x99\xdd\x4e\x5b\xdb\xb0\x94\x50\x1d\x9a\xa8\x32\x41\x3d\x87\x59\x0a\xd3\x7c\xca\x3a\x37\x83\x52\xae\x3a\x78\xb0\x60\xf7\xa1\x1f\x8c\x68\x29\x03\x0b\xca\xb9\x8c\x06\xc8\xd4\x64\x89\x14\x95\x3a\x1b\x21\x26\x35\xa0\x13\x85\x34\x44\x4e\xd2\x85\x3d\xd3\xad\xc7\x8d\x51\x35\xa5\xac\x20\x1d\x1f\x62\xdc\xd1\xd4\x78\x5d\x21\x16\xa8\x1a\xe5\xaa\x4a\x61\x02\x1a\x8c\x30\x43\x5d\x80\x15\x0e\x2a\x34\x14\x4e\x08\xbc\xc1\x1a\x91\x8e\x82\x8e\x2b\x8e\x66\xd3\xb7\x99\x17\xa9\x8a\xa9\xb1\xe1\x78\x50\x89\xef\x7c\x6d\xb9\x0d\xd2\x8f\xe1\x5b\x6c\xce\x6f\xb2\xf9\x72\x6e\x03\x68\xa1\xb2\xa1\x99\xc6\x41\x55\xbc\xa4\x92\xf5\x28\xd0\x61\xeb\x13\x68\x0c\x2a\x75\x82\xe2\xcf\x3e\xb6\xb0\x65\x9e\x32\x45\x32\x9d\xe3\x27\xe7\x42\xd0\x89\xb6\x45\xf4\x63\xbe\xea\xbe\x35\x00\xb2\x02\x03\x0c\x80\x4d\x1b\xf9\x95\xa0\x41\x36\x43\xa4\x5f\x45\x51\x7e\x52\xb2\x39\x24\x89\xf0\xee\x64\x90\x16\x22\x4d\x41\xd7\x20\x0d\x6d\xca\x55\x9c\xd4\x8a\xa0\x1d\x98\x6b\xbf\x90\xda\xd0\xd5\x75\x96\xc6\xd2\x25\xed\x57\xa5\x4e\x62\x80\x87\x5e\xa5\x46\x85\x11\x3e\x93\x3e\xd8\x47\x06\x70\x7e\x79\x02\x65\xd0\xad\x0f\xa0\xd9\x02\x7a\xb8\x7a\x2e\x40\xd9\xe9\x41\x1e\x33\x2d\x8e\x21\x33\x88\x7b\xad\xee\xef\x5b\x6c\x47\x01\xcf\x0e\xc9\x01\x20\x2c\x27\xe8\xa7\xf7\x81\x1d\xd5\x76\xee\xb7\xdf\xd8\x37\x07\x21\x60\x77\x35\xca\x5c\x96\x7d\x08\x3e\x85\xa4\xa4\xa2\xcc\xb3\x82\x4a\x9f\xc5\x61\x9f\xca\x8d\xa5\xa3\x2b\x3d\xd2\x96\xc4\xb7\x7d\x17\xed\xd9\x43\xab\x4e\xed\xd9\x19\x9c\xd0\xe8\x90\xf4\x00\x4d\xe3\x74\x47\x27\x52\x96\x29\xe4\xd7\xf3\xe3\xe1\x4f\xaf\xec\xed\x1d\x8e\x87\xb2\x47\x97\xe4\x33\xbf\xbc\x42\xa6\x78\xd4\x38\x16\x91\xb3\x5c\xc1\xdf\x82\x38\x5c\xa6\x9c\x54\x00\x37\x68\x65\xcc\x33\xb9\x7a\x21\x53\x61\x30\x5a\x2c\xf3\x7c\xdb\x08\x6a\xc1\x0b\x2b\x94\xdc\x76\xa8\xb6\x71\xe4\x64\xa2\x84\xc6\x0b\x2f\xa0\x03\xb8\xb6\xc3\x9e\x3e\x31\x67\xd3\x78\x95\xc1\x5e\x02\xd0\xea\x70\x67\x62\x2a\x6e\xa8\x5e\x1b\x7a\x46\x82\x19\x41\x96\xa9\xf7\x8e\xf4\xbb\x62\xbe\x7f\x5c\x0a\x7e\xf5\x9c\xeb\x64\xf6\x4c\x4c\xb4\x03\xd7\xd8\xe2\x0c\x24\xe1\x8d\x4d\x9e\xa3\x47\xb9\x6d\x13\xbc\xd8\xcf\xa8\x32\x96\xe7\x74\x10\x7f\x88\x21\x9d\x5e\xec\xac\xe8\x2c\x5d\x79\x54\xdf\xe2\x63\xbd\x75\x43\xdd\x61\x22\x4f\xe4\x71\xf6\x8d\x6a\xc5\x1c\x8e\xb1\x7e\xc0\xf3\x6a\xc7\xba\xc2\x45\x82\x37\xea\x54\x68\x18\xb4\xa6\xc7\xa5\x49\x7a\xa2\x36\xcd\xba\xb5\x53\xdd\xaf\xf0\x0a\x5b\xa2\xbf\x0d\x4f\xf1\x22\xdc\xec\xeb\x33\x8e\x30\xe5\x78\x7f\x83\xf0\x79\xbb\xc5\xfe\x24\x68\xc3\x9b\x97\xdb\xb8\x98\xdd\xd7\xd2\xbe\x01\xbb\x2c\xe7\x6e\xdb\xf7\x16\x4e\xde\xc6\x05\x85\x1b\x16\x2d\xc6\x9a\x6b\xdb\xaf\xcf\x85\x28\xa9\xd2\x60\xf3\x65\x9c\xec\x70\x05\x07\x30\x5a\x17\xa2\x84\x3e\x09\x6e\x86\x0d\x25\x90\x2b\x77\x0a\x95\x42\xbe\x17\x96\xce\x8d\x38\x33\x75\x60\xdf\x53\xdb\x40\x33\x6b\x06\x8d\xda\x36\xf6\x2f\xe5\xaa\x4f\xeb\x1c\x54\x75\x76\x67\xf8\x60\xf0\x39\xcf\xe0\xd5\x10\x3f\xba\xc2\x22\x7a\x59\x9d\x0b\x04\x22\x34\x12\x84\x07\x74\x0b\x42\x00\x6b\xe9\x99\x5c\x6d\x26\x04\xdb\x4a\x75\x0f\x7b\xae\xa6\x75\xbc\x94\xf8\xd9\xa8\xe5\x22\x90\x50\x2b\x8b\x81\xea\x79\x61\xfe\xa7\xed\x44\x52\x39\xbb\xee\xc9\x15\xd7\x8d\xc6\xc3\xf7\x5d\x80\x99\xef\x11\x35\xc8\xf0\x45\x0a\xbd\x77\xc2\x87\x6a\x21\xa5\xe6\xf3\x4e\xba\xd9\x03\xda\xef\x78\xaf\xc9\x62\x0c\xf2\x1b\xa3\x5b\xb4\x86\x9f\x2a\x0e\xa2\xdd\x35\x1d\x2f\xec\x9d\x2f\x49\xfc\xdc\xb8\x0c\x4a\xc6\x5d\xd9\xd8\x52\xae\x82\x03\xd1\x34\xfd\x83\xbe\x19\xa4\x71\xfe\x78\x5b\xec\x38\xfd\xc6\x9d\x00\x08\x17\x56\x86\xbc\xed\x42\x54\x65\x25\xaa\x71\x29\xd4\x7e\xc8\x17\x8b\x7c\xdd\x8d\x7f\x84\xb5\xa9\xd6\x83\x98\xf3\x4f\x73\x0e\x1d\x9c\x5b\x1c\xc3\x85\x5c\x6c\x3d\x84\xd8\x66\xe7\x23\x68\xbd\xe1\xfe\x19\x4f\x21\x2d\xf5\x2e\x67\xb0\xf1\x26\x66\x03\x5c\xc5\xce\xe7\xb3\x09\x79\x9f\xf8\x88\x2e\x96\x6a\xb6\xe3\xf9\x04\x45\xf1\x2e\xe7\x72\x97\x69\x7f\xb2\xa3\x49\x0b\x68\x39\x97\xb0\xc7\xa6\xc9\xce\x47\xb1\x69\x1f\x7c\x3e\x00\xf3\xe5\xc6\x75\x39\x7a\x45\xe5\xc9\x85\x53\xa3\xb8\xd5\xd8\x77\xd3\xf0\x13\xee\x22\x36\xa9\xec\x23\x8c\x8b\x9c\x74\x03\xbb\xa5\x56\x3b\xb2\xdc\x3f\x04\x13\x6a\xf8\x87\x50\x86\x43\x8a\x6a\xc6\x0a\x91\x88\x73\x40\xc8\xd8\x11\x3b\x78\xc4\x32\xf6\x1d\x4e\x8a\xc4\x67\x96\xdd\xbf\x1f\xd5\xf1\x6a\x46\x21\xbb\xcf\x32\x8b\x46\xf5\x2e\x7b\x5f\xf7\x3e\x20\xfe\xc8\x6f\xc1\xdd\xb7\xa1\x32\xd0\xcd\xb5\xb0\xc1\xda\xbd\x10\xb2\xbf\x8d\xe8\x43\x68\x4d\x34\xb5\x03\xff\x23\x2c\xff\xd9\x97\x44\x03\xa9\x61\xd4\x6b\x64\x57\x18\xfe\x57\xb9\x60\x1c\x8a\x9b\x28\x74\xd7\xab\x26\x6a\x5e\x39\xbf\xe0\x29\xc0\xb5\xd8\x64\xb9\x89\xac\x2a\x4a\x68\xd5\xa8\x20\xd2\x92\xa1\x46\x08\x9f\xea\xb9\xe0\xa5\x62\x72\xa9\xb1\xe4\x88\x41\x62\x49\x4a\xdc\x94\x6b\x6e\x61\x1e\x63\x12\x2c\x0a\xde\xa5\x53\x2f\x4b\xaf\xa7\xa4\xb4\x3e\x60\xef\x0c\xf4\x2c\xce\xaa\x94\x29\xd0\x20\xe7\x59\x0a\x6e\x4e\x60\xe1\xe7\x99\x12\x98\x75\x4a\x25\xcb\x52\x78\x93\xef\x16\x6e\x60\x91\x71\x52\x55\x7d\x35\xf9\x80\x55\x5e\x51\x66\x9f\xac\x46\x6c\xb3\x36\x6b\x83\x02\x6a\xa3\xba\x28\xd8\x37\x5f\x8f\x33\xa1\x82\x99\xf6\x68\x10\x7a\xb6\x1d\x5d\xd8\x9e\x13\x3b\xbf\x8d\x2b\xb4\xf3\x1f\x66\x45\x21\x4a\xb0\x22\x1c\xb1\x4e\xa7\x65\x95\x44\xb1\x4e\x1b\xd9\xed\x80\xe3\xa5\xd9\xce\x49\x2e\x57\x9d\x2a\x76\xfc\x22\x0f\x1e\xb5\x60\x96\xde\xb7\x1b\x5a\x58\xe8\x66\x1d\x3c\x57\xc2\x39\xb9\x18\xda\x79\x14\x3e\x9d\x63\x25\xea\x30\x53\xa4\xa5\xee\xf6\x7c\x39\xd2\x1b\xed\x16\x18\x59\xb7\xe9\x17\xb0\xcd\x82\x62\x62\x96\x69\x01\x69\xc3\xea\x6a\x23\x6f\x6f\xc7\x8a\xf3\xe8\x50\x0c\x4e\x0a\xb2\x00\x85\xfb\xb5\x28\x95\xcb\x73\x0d\xaa\x75\xd8\x13\x48\x58\x6c\x98\x98\xe0\x7d\x17\xc3\x8d\x60\x20\x1d\x5b\x47\x41\x45\x02\xca\x6c\x25\x4a\xae\x84\xf3\xc0\x1b\x5a\xd7\x1e\x02\x7e\xd4\xa4\x38\x1e\xd2\xaf\x8f\x9a\xf5\xca\x43\xdf\x99\x50\xd9\xdc\x4c\xad\x8b\xe4\x04\x26\xdf\xed\x39\x74\x83\x76\xb6\x79\x54\x74\x86\x3d\x41\xcd\xad\x28\xbb\xe6\xe7\xb6\x93\x32\x04\x83\x43\x7a\x32\xcb\xf2\xb4\x6b\x60\x56\x1b\xba\x43\x23\x53\xe1\xbd\xcc\x5a\x17\xb2\x65\xc5\xf1\x52\x82\x53\xf6\x9c\x97\x57\x11\x5f\x04\x81\x0f\xdc\x64\xc0\x18\x4d\x54\x27\x5c\xae\xa7\xc2\x50\x88\xa1\xf7\xd0\x46\x04\x9a\x7d\x47\xa1\x10\x77\x48\x99\xaa\x53\xda\x77\xcc\xf0\x83\xa9\xaa\x4b\x48\x04\xe8\x75\x7f\x06\x32\x19\xdb\xd1\xd2\x7e\x25\x14\xcb\xb4\xe1\x7f\x98\xa0\x1d\xee\x9e\x44\xce\xc7\x66\x18\xbd\x82\x9c\x59\x90\x2b\xcb\x0d\xe9\x8c\xf8\x0e\x24\x78\xbf\x5a\x1b\x7f\x3c\x5f\x8c\x60\x74\x65\xc3\xdc\x05\x6c\xd3\x12\x0a\x33\x4d\x32\xaa\xc5\x8b\x1a\x32\x0a\xc9\x01\xab\x9f\xfd\x09\x52\x6d\x73\x6d\x0d\xab\x8b\x32\x43\x85\x6f\xac\xa5\x77\xdc\x9c\x42\xee\xe7\xf3\x4c\xa3\x2d\x32\xc2\x5e\xdf\x3a\xe0\x63\x66\xf6\x45\x29\x12\x91\x5a\x57\x8c\x52\x58\x28\xb0\x39\x21\x3b\x04\x4b\xbc\x64\x1c\x32\xc6\x54\x66\xbd\x91\x4b\xc2\x44\x9e\x65\x85\x78\x19\x70\x98\xed\x9c\x52\x09\xdd\xca\x00\xd1\x67\xbf\xfa\xb8\xcf\x65\x12\x5c\xc2\x0a\xbc\x69\x19\xc7\x5c\x54\x40\x75\x4e\xfb\xdd\x2a\xd9\xd8\x37\x01\x24\x4e\x43\xeb\x4e\xf5\x0d\x11\x48\x32\xc0\x52\x2b\xcd\xfd\x00\x1b\xd5\x98\xad\x97\x23\x29\x12\x0d\x90\xc0\x8b\xb4\x59\x7f\x4e\x3c\x35\x91\x85\x92\xb9\x18\xae\x78\x59\x74\x3b\xc7\x3e\x23\x26\x54\x21\xa9\x10\x87\x2c\x98\xc0\x12\x42\x38\xad\x4e\x54\x24\x3a\xf2\x70\x32\xc8\xf8\xfe\xa8\x45\x77\x5f\x19\x5b\x94\xa5\x2c\xbb\x1d\x73\x0f\x1a\x71\x45\x4e\xd8\x18\xea\x80\xa1\x7f\x23\xbe\x79\x60\x18\xd8\xfe\xb6\x77\xfb\x61\x70\x5f\xd8\x19\x7c\x67\xa4\xa1\xdf\x33\xd8\x41\xb4\x28\xaf\xe8\xad\xdf\x37\xcd\xc3\xa0\xca\xb9\x69\x24\xda\xa6\x47\xd4\x8b\x6e\xd8\xba\x02\xba\xbe\x30\x6a\xdc\xbe\xb6\xdb\x0e\xea\x17\x79\xab\xbb\xbd\xc4\xd3\x56\xdb\x92\x77\xa5\x5c\xbd\x7f\x14\xdf\x48\xd4\x76\x08\xaa\x67\xb8\x57\x9c\x46\xfd\x33\xb8\x60\x68\x25\x95\xe6\x72\x55\x88\xf2\x89\x8d\x4a\xc1\x2b\xec\x42\xdc\x68\xf3\x63\xb7\xd3\xf1\x5b\x05\xad\x1b\x6f\x2d\xe7\x09\x48\x77\xc8\x49\xb0\x6a\x4f\xab\xb8\x90\xa3\x26\x66\x12\xfa\xe6\x55\x09\xa0\x51\x4e\x1a\x34\x88\x57\xde\xa1\x2f\xbc\xa2\x83\xcb\xf4\x11\xfd\x5c\x9d\xe5\x2d\xc7\x09\xbc\xfc\x22\xc9\xa9\x51\x1a\xa6\x75\x6f\xdc\x7d\x90\xaa\x43\xbe\x02\x58\xc3\xd7\x40\x37\xdc\x39\x83\x62\x32\xda\x1e\x31\x37\xc3\x68\x39\x8f\x5c\xc3\x15\x99\x94\x9a\xac\xe7\x43\x03\x15\x6c\x4e\x7e\x13\x03\x4a\x19\x9a\x3b\xfe\x3c\x1b\x43\x94\xd0\x6f\xbf\x11\xa8\xef\x69\x6c\x8f\xe7\x56\x69\xa5\xf6\xb3\x97\x80\x11\x86\x6d\xe2\xb9\x1a\xe1\xa7\xba\x3b\xf7\x8f\x70\xf4\x47\x21\xe9\x56\xe7\x58\x8f\x70\x20\x93\x98\xf5\xc1\x08\x52\xf0\xf8\xe0\x0e\x28\x74\x92\xf0\x52\xe8\xb0\xa2\x82\x0e\x85\x21\x70\x49\xab\xbf\x13\xdb\x6f\x8e\x75\x91\x9c\x5b\x58\x27\x00\x3a\xf4\x1b\xb6\xbf\xd0\xa5\x5a\xae\x09\x93\x3e\x73\x53\x22\xf3\x9c\x2f\x94\xe8\x56\x51\xdb\x6f\x22\x78\x64\x5a\x09\x64\x40\xea\x4e\xb2\x52\x4c\xe4\xcd\x53\xc8\xe2\x98\x9e\xda\xd7\x60\xe0\x71\xfb\xc3\x0f\xe0\xb3\x89\x7e\xee\x10\x8e\x43\x6d\x20\x72\x6e\x26\x48\x2e\xcb\xcc\x3b\x6b\xd2\x67\x25\xa7\x94\x86\xbc\xc0\x02\xf8\x85\xd4\x16\x14\xd5\xdf\x74\x56\x6d\x9a\xf6\xb0\xb6\x11\x8b\x3c\xd3\x5e\x0c\x83\xfd\x43\x79\x6f\x25\xe1\x2f\xa7\x52\x33\x52\x40\x41\xd4\x61\xaf\xff\xb0\xa6\x95\xf9\xfb\x47\x68\x63\x5a\x3f\x79\xf9\x9c\x4d\x4a\x3e\x85\x44\xcc\x9d\xef\xd2\xec\xfa\xfb\xef\xd4\x82\x17\xdf\xff\x24\xf2\x5c\xb2\xb7\xb2\xcc\xd3\xef\xf6\xe1\x9b\xef\xf6\xcd\xaf\x1d\x0c\x3e\x60\xca\x4c\x08\x30\x0a\x1e\x76\x5c\xa9\xc8\xc3\x02\xab\xc3\xd8\x43\x26\x27\xec\x2b\x5b\x77\x65\x05\xc1\x92\x90\x9b\x15\x3d\xce\xdc\xf0\x28\x6a\x8e\x8d\x7c\x2a\x46\x0d\x93\xb1\xf3\x80\xff\x36\xcc\x0c\xfd\x22\xed\x14\xc0\x6f\x8b\x63\x8d\x1a\xef\x20\x83\x09\x2a\x70\x0e\xde\x81\x1d\xea\x45\x04\x82\xf9\x8a\x16\xa1\xa0\xba\x6a\x28\x9f\x6b\x39\x18\x8b\x01\x2c\x1e\x37\x21\xf0\x86\xb3\xae\x26\xa2\xf4\xa9\x3a\x2c\x3c\x74\x45\x41\x47\x5f\x83\xaf\x9c\x27\x22\xc5\x27\x80\x96\x0d\x2a\x3a\xf3\x72\x36\xd8\xfd\x88\x3d\x9d\x37\x0b\xd4\xbf\xc9\x33\xdd\x2c\xa9\x11\xba\x23\x9f\x14\xbb\x28\xd3\xdb\x3b\xa0\xe0\x0a\xf0\xa1\xe9\x9c\x27\x92\x64\x59\x6e\x3e\x96\x6e\xd3\xc3\xe3\x68\x40\xf7\x23\x9e\x66\xd8\x26\xc4\x0e\xbc\x08\xf8\x4c\x92\xcb\x42\xc0\x65\x08\x57\x73\x2f\x7a\x77\x9f\xa0\x66\xc2\xb6\x0d\xbe\x32\x67\xb3\xfa\xdd\x26\x6e\x7c\xbe\x1c\x2b\x5d\xd2\xa4\x0e\xdc\xbc\x0c\x18\x37\xa5\x0a\x2c\xf4\x9b\x86\x90\x27\x8d\x8f\x4d\xfa\x2d\xe8\x4d\xd7\x6f\x23\x88\x9e\xe3\xa9\xc3\x05\x37\xec\x0e\x1a\xa0\x7a\xea\x31\x04\x24\xf8\x7e\xfd\x1a\xd3\x75\x21\x34\x9f\x55\x97\xd9\x0c\x17\x75\x26\x91\xe4\x10\x30\x8a\x53\x74\x02\x46\xe2\x33\xe4\x05\xbe\xcd\xd9\x62\x21\x52\x57\x19\xcf\x7b\x1f\x25\x39\x9f\x2f\x3c\xe5\x87\x6e\x87\x1b\x09\x61\xce\xd7\x63\x71\x92\x67\x0b\xf2\x12\x6b\x54\x0b\xdd\xe2\xf2\x6c\x12\x65\x1c\xce\x11\xc6\x77\x1b\x04\xd9\xc0\x5d\xcd\xb0\x64\x28\xdb\x5d\x48\x8d\x21\x8d\xb0\x7a\x08\x8e\x1f\x2f\x35\x96\x95\xc5\xaf\xf9\x7c\xe1\xe2\x20\xb6\xbb\x4b\xb4\x0e\x7e\x7b\xf7\x89\x46\xc1\xb9\xd7\x70\xdb\x37\xc9\xb5\xe6\x41\x18\xdd\xf3\x95\x07\xcd\xfe\x3e\x3b\x37\xec\x48\x4e\x26\xb1\x9a\x16\x57\x82\x21\x30\x86\x13\xc1\x1e\xb2\x52\x28\x8d\xe5\x21\x58\xce\xb5\x70\x6a\xa1\xdd\x65\x3b\xeb\x9a\xf6\xdc\x9a\x9c\xfd\x9b\x14\x3d\x41\xc0\x75\xdb\xbe\x16\x3f\x19\xb2\xac\x3f\x1c\x1a\x41\x6c\xa9\x0e\xd4\x1b\xf0\x92\x3c\x6c\x2d\xde\xc0\x25\xee\xf6\xb4\x58\x21\xc4\x06\x39\xec\x3b\x82\x6a\xe6\x54\x97\x5f\xf1\x81\x7f\x3b\xc6\xe5\x82\x37\xea\x92\xcb\x41\x93\xf0\x42\x71\x45\x7e\xf7\x2d\x4a\xf2\xdc\x0a\x06\x50\xdc\xca\xef\xcc\xb0\xf9\x4d\x14\x1f\xbf\x47\x0d\x5a\xba\x70\x51\x91\xd4\xd8\x2c\x65\xdb\xa7\x4e\x03\xc3\xda\xf0\xb8\xa8\xcb\xa3\xf6\x41\x1b\x51\xe4\x77\x1b\xb9\xc1\xd3\x48\xbf\xbd\xe2\x18\xcd\x95\x45\xde\x89\x3e\x89\x37\xd8\x74\x04\xf0\xc6\x22\x38\x10\xca\x09\x69\x5e\x64\xbd\x8b\xb3\x54\x38\xef\x5e\x4d\x51\xbc\xbf\x1f\xd4\x92\xcd\x85\x39\xba\x46\xd2\x23\x97\x14\xeb\x79\x41\xa7\xb7\x59\x97\x56\x25\xbb\x4d\x6c\xe3\x63\xa3\x71\x9a\xb2\xd1\xc7\x42\x7b\x90\xc8\xc3\x69\x55\xbc\xe3\x7c\x20\xd9\xc3\xc9\x8b\x9c\x90\x01\xfa\x7f\xc8\x25\x8a\x47\x20\x30\x36\x5c\x19\xdd\x1e\xd1\x66\x56\x30\x59\xa6\xb6\x3c\x5b\xb6\x08\xb4\xa5\x1e\x7e\x41\x3c\x3b\xa6\x64\x1b\x55\x94\x29\x2c\x36\xb8\x5c\xb8\xcb\x0c\xc3\x63\xb4\xa4\xc8\x84\x7c\xed\x42\x8f\x28\x5c\xae\xa6\x6a\x35\xb0\x70\x85\xd1\xbd\xd7\xa0\xda\x8b\xe3\x77\x5b\x6c\xc5\xe8\x35\x1f\xbd\x5c\x74\xe9\xef\x46\x4f\xf4\x2d\x6f\xec\xb8\xd1\x05\x5a\x14\xfc\x17\xb1\x94\x74\x67\x0b\x8b\x33\x3b\x98\xab\x11\x62\x61\x00\x3d\xc8\xd7\x5c\xd9\x46\x58\xc9\x78\xcd\x16\x25\xa4\x78\x86\x7c\x41\x72\x2e\x18\x14\x3f\x2f\xa6\x08\x64\xe5\x8c\x1c\xca\x06\x5b\x52\x56\x01\x50\x3b\x97\x69\x08\x0c\x07\xe0\x33\xc1\x21\x60\x5e\x67\x73\x61\x39\x93\xd2\xa5\x75\xe4\xb4\xb2\x19\x7d\x03\x18\xb4\x73\x7e\x01\x16\x0f\x33\xe1\xd5\x8c\xeb\xbe\x3d\xd1\xe0\x9e\xe4\x22\x47\xa1\x92\x6d\xc8\x0d\x9c\x8f\x36\x24\x94\xbe\x16\x08\xcb\x60\x89\x72\x14\xcc\x97\xc9\xac\xc5\xb1\xdd\xca\x03\xf7\x8f\xdc\x1c\xed\x64\x9e\xc9\x04\x22\x8d\x93\x99\xa8\x98\xd7\xdc\x5b\x2c\xd6\x3b\x34\x29\x44\x2c\x07\x47\x63\x84\x95\xe1\x71\xfa\xf4\xd7\x5c\x70\x23\xe1\x05\x79\xd6\x44\x91\xc6\xfb\x34\x44\x30\x50\xcf\x2f\x9b\x2f\xf2\xcc\x2a\xd4\x63\xe1\x8f\xeb\x6a\x77\xfa\x0d\x24\x4e\x7b\x49\xe0\x5c\x5e\xda\x59\x6f\xb9\x3c\x3d\x75\xf6\xd8\xc0\xe9\x28\xac\xee\x2a\x82\x15\xe8\x04\xf7\xf7\xd9\x31\x2b\xc4\x14\x53\x7a\x95\xf1\xf2\x7d\x32\x9f\x46\x2f\xfd\x85\xcd\xf0\x24\x8a\xd4\x02\xb3\xcb\xf1\x51\x27\x92\xbc\xd6\xc0\x7e\xc1\xd8\x5b\xd1\x31\xd7\x23\xd1\x66\xe0\x3e\xe2\xc9\xb9\x42\xd0\x43\xaf\x0f\x52\x2d\x76\xbd\x41\xb4\x3e\x1b\xeb\x0b\x31\x02\x99\x0a\x40\x05\x25\x4a\x13\x69\xde\xe4\x5a\xe4\x6b\xb6\x2c\x20\x34\x34\x1d\x32\xf6\xda\xc6\x78\xf4\x83\x42\xeb\x3e\x50\x19\xa2\x41\x20\xbb\xaf\x2e\xb3\x2b\xa1\x67\xa5\x5c\x4e\x67\xf4\xa8\x1d\xfb\x6a\xbc\xb2\x08\x06\xed\x7b\xc9\xaf\xa3\xd9\x52\x09\x87\xab\x82\xe8\x55\x2a\x7c\x38\x2b\xcc\xf8\x93\xa7\x94\xd7\x06\xec\x49\x56\xab\xd5\x68\x18\xf5\x31\x29\xbf\xfd\x16\xc4\x9e\x36\x9a\xcf\xa2\x29\x6f\x6d\x1e\xd4\x99\xdf\xda\x76\x95\x00\x2b\x8d\xda\x7d\xd6\xd4\x90\xab\x24\xcb\xea\x6d\x9b\x9a\xea\x2c\x17\x4f\xb8\xe6\xec\x33\xb4\xab\xf7\xbc\xd0\xbf\xbf\xcf\x1e\x0b\xb8\xdc\x0c\xde\x12\x51\xf0\x32\x93\x7d\x2b\x5c\x83\x9e\x67\x51\x0a\x6d\xb3\x39\x23\x57\x64\x2b\xf3\x00\x0f\x0a\xe2\x7a\x60\xb2\xcc\xa6\x18\x3d\xeb\xce\x30\xa8\xb4\x74\xc9\x8e\x0c\xcd\xdd\x37\x1f\xa3\x30\x6a\x12\x8a\xec\x6d\x60\x0e\xe1\x05\xe4\x15\x3a\x62\x5f\xc4\x4b\x43\x5c\x84\x8d\x9b\x90\x65\xdb\x05\xcd\x5a\x50\x45\xff\xc2\xab\x28\xcb\xc5\x2e\xed\x80\xc6\x01\xcb\x4f\xcc\x85\x80\x41\x64\x3b\xf5\xf1\xa4\x00\xe6\xd7\x78\x27\xce\xb1\x4c\xf6\xd8\x6e\x48\x3f\x0e\x49\xa0\x68\x6c\x4e\x26\x50\x47\xdc\xd5\xe3\xcd\x5a\x6e\x57\x76\x14\x62\x1a\x2e\xe2\xfb\x66\x53\x9a\xc3\xda\xcd\x6d\x2a\x4b\x37\x93\x95\x70\xf1\x99\x49\x18\x29\x68\xf5\x39\x1b\x66\x83\xec\x86\x24\x84\x60\x6a\x1b\x4d\x0d\x6e\x5a\x6d\x8e\x19\x81\x5a\x02\x81\xf7\x43\xd8\x55\xcd\x04\x6b\xd6\x4f\x47\xc2\x0b\x82\xd9\x41\x5d\xcd\x8e\x58\xcc\x25\x1f\xd5\xf0\x4e\x62\xce\x4a\x45\x8f\x5c\x94\x50\x0a\xb9\x82\xd8\x6c\xcc\xbe\xe5\xf4\x1c\x98\xd9\x80\xae\x33\x14\x97\x9d\xe4\xda\x7c\xb3\xb1\xda\xbd\x16\x1b\xcf\x9a\x78\x01\x38\x57\x08\xe5\xbd\x12\x82\xbb\x2e\xb8\xc8\x2e\x48\xe3\x07\x42\x2b\x65\x83\x24\x75\x9f\xab\x2b\x98\x15\xcd\x93\xaa\x5f\x92\x47\x47\xfe\x96\xdc\x40\x9d\x55\xe2\x6c\xe4\x15\xf2\x56\x20\x0d\xe3\xb9\x5f\x01\xdc\x48\xee\x6d\x10\x82\x33\xbd\xed\xcd\xeb\x41\x84\x2a\x3b\x4c\x8b\xc7\x3c\x1f\xbc\x7f\x2b\x40\x81\xe2\xcf\x91\x51\xd3\xf3\x39\x14\xe5\x58\xa3\x3e\xe5\x22\xde\x2b\x2b\x90\xad\x4a\x69\xa4\x60\x48\xe8\x60\x63\xc9\xed\xce\xa3\x2e\x3a\x24\x4c\x04\x35\x16\xd3\x0c\x33\x2d\xcb\xb2\x45\xf2\xea\xe3\x3b\x14\x22\xd3\xd3\xbf\xf1\x24\xe2\x60\xe6\x89\xc3\xef\xd1\xab\xd4\xe0\x39\x03\xa1\xb3\x48\xc1\x15\x6d\xe8\x72\x76\xd4\xb7\xda\xc8\x58\xe4\x4f\xed\xe7\xd0\x3c\x38\x4b\x66\x22\xb9\x22\xc3\x0f\x66\x34\x62\x0a\x59\x82\x17\x83\xec\x2f\xd6\xbc\x15\x31\xa8\xca\x8f\xde\x2c\x56\xed\xf5\xf9\xe7\xb1\xbe\x63\xdb\x99\xab\xf4\x0f\x6e\x81\xca\x2f\x11\x2d\xe2\x1e\x6f\xe0\x66\x8d\xf3\x6d\xe1\x64\xd5\x17\xc9\x86\x81\x7b\x1b\xcc\x73\xa0\x5c\x11\x91\x06\x66\x8b\x17\x14\x3e\x7d\x76\xe2\xeb\x04\x38\x64\xec\xf5\xae\xce\xd4\x28\x56\x9e\x7d\x37\x2e\x79\xe3\x01\xd9\xcc\xb4\x3c\xd9\x6d\xa0\xf6\x80\xe0\xc0\x24\x52\x23\xb6\xd0\x8e\x7a\xd4\x72\x5b\x79\x22\x0b\x5b\xdf\x96\xc0\xc2\xeb\x2f\x30\x84\xfb\x6f\x1b\xd9\x64\xcb\xef\x1b\x28\xae\x36\xf1\x1d\xa9\xcd\x13\xc1\xff\x41\xaa\xaa\xcb\x08\xdb\xc8\x8a\x1c\x1b\xa9\xf6\x0b\x66\xce\x72\xaf\x2f\x4c\xf0\xc9\x8b\xb5\x7d\x7e\x85\x8f\xa5\x99\x28\xcd\xe3\x05\x0a\x6b\x65\xba\xe3\x94\x72\x53\x49\xce\x65\x5e\x9a\xaa\x29\xc2\x3c\x1a\xb7\x19\xef\x71\xae\xcd\x2e\x42\x35\x79\xce\x30\x75\x25\xe7\x02\xcd\x69\x51\x7d\x9c\x26\x79\x83\x9e\x9b\x08\xc9\x8a\x82\x68\x80\xcb\x74\xcd\x8a\x0b\x09\x80\xd0\xb1\x79\x09\x7b\xe9\xcd\x8a\x66\xa8\xb1\xd0\xab\x30\xa9\x80\x37\xc9\xb5\x5d\x7e\x77\x27\x89\xbb\xb0\x99\x9a\xfc\xb8\x99\x32\xb6\xb0\x9b\x40\x57\xf9\xd2\xfb\x78\xd3\xb3\xb4\xa6\xae\x6c\x76\x44\xff\x1f\xac\x86\xac\xe4\xef\x68\xd5\x44\xce\xf9\xcd\x33\x74\x4d\x6b\xf6\xea\xda\x64\xfc\x21\xc5\x80\x03\xd1\x0b\x8e\x10\x7b\xa7\x74\xf9\xde\x19\x7a\x57\x1b\x75\x7a\xb7\x90\xbc\x6b\x26\x1a\xcf\xe6\x37\x59\x5f\x9c\x85\xb7\xc1\xe5\xe9\x08\xc8\x2e\x92\xe3\x33\x15\x04\x16\x38\xed\x0a\x67\x85\x1c\xc8\x45\x1f\x9f\xf8\xf3\x8a\xd1\xcb\x47\x99\xb4\x32\xa3\xd8\x13\x67\xb3\x92\x71\xd5\x7a\xeb\x42\xbf\x54\xe4\x42\x8b\x93\x19\x2f\x55\xf7\x39\xd7\xb3\xe1\x3c\x2b\xba\x94\x7e\xc9\x6f\x88\x3f\x86\x51\x8a\x17\xc4\x7a\x70\xc2\x7e\x90\xe5\x8a\x97\xe9\x00\xa1\xa2\x62\x88\xdc\x83\xc3\xfc\x2d\x3b\x1d\xba\x0b\xf2\x6c\xd0\xae\xc0\x1a\x31\x46\x04\x9e\x46\x05\xc6\x14\xa6\xc2\x17\x29\x94\xc0\x83\xfc\x4d\xf9\x9a\xf1\xc9\x44\x24\x1a\x52\xd5\x54\x15\x79\x82\x29\x3e\x17\xd6\xc3\xba\x7e\x10\x37\x04\xe3\x44\x19\x3a\xe4\x24\x04\xad\x25\xcd\xce\xba\xaa\xb8\x3c\x39\x2d\x76\x72\x04\x32\xcf\x8a\x65\x83\x82\x79\xd8\x9e\xe4\xa0\x3a\x87\x8a\xae\xd2\xe5\x96\x24\x5c\x6d\x3c\xe2\x01\x09\xb4\x04\x96\x6e\xb0\xe2\x3d\xda\x51\x27\x1d\x1a\x84\xe1\xc7\x9d\xcc\xc2\x8c\xd0\x7e\xc4\x1c\x6d\x52\xbc\x6a\x13\x8f\x69\x80\xef\x3d\x23\x82\x5c\x05\x84\xd1\x03\xef\xda\x79\xed\x13\x1f\x58\xf3\x01\x2f\x35\x12\x7f\xdf\x88\x9d\xcf\x28\x71\x45\x6c\xa6\x64\x9f\x7f\x1e\x06\x45\xb1\xb0\xdb\xad\xdc\xfd\x3e\x81\x77\x4a\xf0\xd4\xdd\xad\x2b\xed\xd8\x7d\x17\xa7\x65\xba\xba\xa5\xde\x6a\xfa\x94\xcc\xe1\x28\x5a\xff\x20\xc4\x9b\x95\xab\xa5\x55\xdc\x87\x2d\x3f\xff\x3c\x18\xf7\xf3\xcf\x63\x2c\x1e\xf9\xdf\x22\x7d\xdd\x0b\x19\x12\x3c\x28\x45\x2d\x63\x58\xd1\xe3\xb7\x0c\xf4\xe4\x28\x42\x95\xe0\x87\x38\xe6\xe3\x7c\xcd\x74\xb9\xb6\x6a\x7a\x00\xe8\xce\x2e\xb0\xad\x38\x1d\x13\x26\x05\x5e\x65\x69\x70\xca\xbc\x64\x66\xd3\xdc\x45\xca\xd8\x86\xc6\x20\x88\x12\x7f\x07\x7d\x8e\x11\xde\x20\x47\xa8\xf3\xca\xab\xe9\xee\xe0\x8b\x5b\x08\x5e\x1d\xd6\x71\xc2\xfd\x46\x77\x22\x07\xb8\xc5\x9d\xa8\x85\x2c\x31\x4e\xa9\x4a\x2a\x07\x4e\x09\x67\x29\xe1\xb0\xe1\x4d\x81\xda\xc5\x16\xa7\x51\xa4\x8f\x00\xe8\x11\x3b\x30\xc4\x00\x88\xfb\xac\xce\x78\x62\x17\xe3\x2d\xde\x4d\x8c\xbc\x84\xbd\xdb\x2a\x4d\x06\x7f\x92\x75\x15\x9e\xf7\x82\xa8\x49\x9f\xd9\x84\xe2\x41\xb8\x8d\x0f\x28\x64\x01\x25\x03\xdc\x13\xa2\xe2\xea\x41\x5e\x09\x56\xbb\xfe\xd9\x11\xfb\xc2\x2c\xed\xb3\x4d\x92\x46\xe8\x68\xbc\xd5\xcc\xcb\xaa\x9a\xfc\xaa\x92\x63\x93\x9f\xf0\x36\xa5\xcb\xdd\xde\x43\x81\xe2\x6d\xc3\xbc\x36\x5a\x23\x02\x8a\xdc\x71\xfe\xbb\x3e\x89\x0f\x1a\xd5\x90\x06\xd5\xb0\xa1\xed\x3e\x2d\x3b\xba\xe8\x6f\x0f\x33\x73\xe3\x6c\xd2\x90\xbb\x46\x3b\x2d\xa6\xf5\x05\x1e\x1e\x88\x8a\x36\x07\x68\x9d\xee\xc3\xf2\x3a\x96\xe5\xb2\x22\x55\x94\x3c\xe7\x97\xc1\xd9\xcb\xb7\x58\xda\x16\x1e\x1b\x41\x46\x34\x1f\x7f\x0f\x8d\x40\x66\xb1\x85\x57\x6d\xf5\x95\xe8\x81\x52\x95\xb0\xd0\x47\xd5\x08\x62\x38\x0a\xb8\x83\x4f\xb3\x82\x29\xc1\xcb\x04\x73\xe1\xf9\x14\x3e\x72\xe2\x02\xc8\xbc\x68\x84\x20\x8c\x5c\x44\x20\x28\x5b\x23\x6f\xd1\x56\x5a\x08\x1b\xf3\x40\x99\x47\xd2\xb9\xb9\x89\xce\xe4\xea\x43\x63\x36\x0a\x92\x04\x4a\xb9\xaa\xd2\x75\xa8\x33\x62\x0d\xbf\x0f\x67\x5c\xb5\x3b\x54\x04\xde\x4f\x18\xb6\xd0\x74\x2e\x3f\x06\x1b\x27\x57\xd1\xce\xfd\x08\x21\xd3\x36\xfd\x24\x62\xdf\xe3\x00\x2e\x1c\x1b\xa9\x75\x8e\x3b\xa4\x76\xdd\xa2\x1f\x62\x72\xa8\x6f\x85\x4d\x5a\x0e\xd2\x3b\x05\x0b\x87\x2d\xb7\xa2\xdc\x74\x6c\x46\x37\x39\x9c\x91\x75\x67\x6f\xef\x51\xb4\x05\x01\xd2\xac\x75\xcd\x2c\xb2\xa6\x4a\xa3\x08\x98\xdd\x76\x20\xdc\x83\x1a\x6f\xa9\x70\x0f\xa8\xc3\x1c\x04\xa4\x44\xfb\x83\xa6\x8f\x5a\xda\x33\x55\x25\xd8\x22\x01\xdf\x31\x4b\xa8\x74\x9f\x34\x6c\x06\xdc\x63\x2f\xc8\xfe\x37\x15\x76\x4f\x1c\x80\x09\x3e\x65\xaa\x67\xa4\xd2\x4a\x4e\x48\x83\x6a\x6b\xe7\x53\xc2\x4c\xc8\x22\xbd\x75\xbb\x7e\x39\x93\xab\x63\x02\x55\x73\xe7\x8e\x8e\x48\xe8\xd3\x07\xea\x55\x6b\x6d\x7e\x61\x1e\x61\x47\x47\x47\xac\x03\x33\xeb\xf4\xea\xc8\x0c\x03\x4d\xfc\x2d\x5f\x39\x02\x18\xeb\xd2\x80\xdf\x20\xd2\x13\xbc\xf7\x90\xce\x83\x47\x9b\x61\x12\x74\xff\x53\x13\x8b\xf4\x5b\x1f\x0e\x42\xae\x8e\x19\x8e\x3f\x23\x9b\x37\xd0\x87\x1d\x4e\x36\xba\xe6\xbf\x0c\xdc\xf2\x23\xfa\xa8\x3d\x14\x5f\xdd\x7d\xed\x1b\xf7\xdd\xc2\x7d\x9b\xe9\x99\x55\x23\x55\x8f\x6c\x9f\xd5\x7d\xfa\x7d\xf8\x5b\xf8\x0c\x1b\x1c\xda\x47\x97\x25\xcb\x33\x1f\xf8\x58\xa5\x32\x2f\xd0\x01\xb0\xa0\x47\x0b\xcc\x85\x8f\x1b\x3d\x08\x18\x46\x38\xd4\x67\x47\x2c\xe0\x1f\xae\xc3\xfd\xad\x22\x8e\x8f\x9e\xdc\x89\xa9\x18\x91\xaf\xc2\x48\xee\xc2\x67\xa2\x25\xd6\x78\x8d\x9f\xbe\x43\x60\xb8\x5d\x59\x61\x6e\xb3\x86\x0d\xda\xe9\xf0\xd0\x05\xbc\xcb\xd9\x79\x62\x1d\xe8\xef\x2a\x03\x44\x47\x02\xa1\xdf\xea\x14\x39\x06\xb8\xf9\x18\x05\xf3\x6e\x07\xb1\xf5\x64\xed\x8e\x98\x9d\x0f\x16\xee\xd4\x8e\xa7\xaa\xc2\x1c\x2b\x24\x8d\xde\xcc\x2b\xc1\x74\xc9\xc1\xc8\xe6\xb4\x50\x5a\x2e\x2a\x06\xe3\x52\x74\x60\xdf\x66\x94\x21\x65\x92\x15\x29\xbc\x5b\x87\x31\xf3\x0e\x06\x3b\x22\xc7\xa6\x3a\x7d\x86\x47\x72\x03\x35\x56\x00\x56\x17\x19\xda\xf0\x77\x22\xea\x08\xd6\x41\xcf\x5e\x15\x4d\xec\xa0\x25\xd5\xd2\x30\x31\xc2\xf2\x0b\x28\x9c\xdf\x90\x74\x29\x50\x66\xbd\x70\x11\xbc\x41\x9f\x77\xd9\xfb\xe8\x55\x16\xa1\xca\xf1\xbf\xa6\x33\x1b\x86\x64\xde\x82\x13\x05\x63\xf4\x2a\x37\xa3\xd9\x87\x86\xa3\xed\x02\xba\x20\x49\x37\x92\xaa\x4f\xb8\x4e\x9b\xdf\x74\x79\xfe\x91\x37\xa3\x3b\x5f\x6e\xe0\xc6\x2b\x0c\x7c\x81\x75\x99\x89\xeb\xda\x1a\x1a\x12\x22\x7d\x64\x17\x2b\xc9\x04\x26\x44\xc2\x6c\x4d\xe1\xfb\xa5\x8a\x04\x83\x01\x01\x25\x5d\xb1\xbe\xc0\xc6\x03\x6b\x56\x78\x5c\xa4\xc8\x4b\x36\x5f\x87\x76\x49\xd5\xa7\x83\xb9\x15\xdc\x72\xbf\xdf\xe5\xca\x09\x05\xa9\xdf\x77\xe9\xb8\x71\x07\xb7\xb8\xeb\x3e\xdd\x5d\x65\xcf\x72\x0d\x8b\xe1\x81\x76\x78\xfb\x74\x64\x6c\x1f\x3f\x7f\xf8\x1d\xb5\x9d\x9e\x5d\x9e\xb4\xff\x9a\xe4\xdc\x72\x09\xc5\xb4\x7c\x77\x1e\x5a\x6c\x64\x9e\xb6\x85\xa1\xc9\xb7\x77\x8a\xa0\x77\x68\xff\xee\x28\x86\xe4\x8f\x40\xcb\x6b\xe4\xfc\xd5\xf1\x8b\x8e\x6f\x05\x75\x00\xd8\x93\x32\xcb\x73\x96\xca\x15\x24\x1f\x2b\x82\xd4\xf0\x98\x13\xc6\x74\x1a\x02\x8a\xdd\xd3\x7f\x37\x42\xc7\xfb\x2e\xa0\x74\xec\x5d\x39\x4c\xde\x24\x1a\xb7\x7f\xef\xda\x07\x7a\xa0\xf0\x68\x47\x4b\xaf\x3e\x9c\x9a\x73\xb0\xff\x57\xbf\x20\x30\x87\x1e\xa8\x67\xc2\x87\x13\x85\xcd\x57\x67\x53\xeb\x2e\x8a\x94\x9d\x16\xe9\x2d\xba\x9e\x99\x5f\x3f\x52\x23\xf8\x03\xb2\x65\x41\x0c\xfa\xe6\x73\xa5\x84\x86\xf6\xf5\x63\x04\x8b\x00\xf3\x52\x1f\x01\x7b\x3d\x07\xfc\x14\x91\x4b\xf0\x22\x6a\xbf\x75\x02\xb8\xee\x91\xd4\x04\x2a\x94\xd8\xbc\x55\x18\xf4\x9f\x45\x7a\xd7\x61\x45\x91\xba\x41\xeb\x60\x9a\x87\x84\x65\x1b\x14\xc1\x56\x36\xcc\xf5\xdd\xc1\xfb\x7e\x03\x36\xde\x1d\x62\x3a\x4b\xd7\xff\xb4\x48\x6b\x83\x42\xdf\xda\x97\xd0\x33\x0c\x77\x86\x1a\x08\x2a\x48\x3c\x01\x9a\xcb\x12\x63\x06\x5e\x9f\x3d\xab\x15\x29\x75\x69\x25\x3e\x06\x9d\xce\xc3\xee\x58\x57\x61\x33\x5d\x60\x1b\xdf\xad\x3d\x3b\x05\x3c\x75\xfd\x77\x11\x0a\xad\x5e\x0c\x28\xf2\x28\x48\x5f\x31\x25\xb2\x3b\xd6\xdd\x03\xff\x60\xc6\x76\xbf\xfd\x46\x88\xd3\xd2\x96\x65\x41\x0f\x89\xee\xfe\xa5\xda\xef\x35\x8f\x10\x3d\xca\x23\xe5\x68\xb7\xf9\xa9\x4e\x7b\x63\x5a\x39\xfb\x54\x2f\x98\x4a\xfc\x66\x77\x03\x41\x87\x20\xdd\x53\x93\xc4\x1f\x53\x5e\xf8\x3e\xd8\xf9\x5f\xd3\xec\x7e\x37\xa4\x97\xde\x67\xca\x1d\x3d\xbf\x94\x23\x36\x38\x6c\x39\x73\x7f\xf4\x7a\x71\x8e\xa2\x48\x7f\xd7\x5a\x1d\x94\xca\x3a\xa3\x05\xd4\x57\x89\xe6\xb4\xd7\x0a\xdd\x5c\xa0\x40\x77\x22\x8b\x49\x36\x5d\x96\x10\x4f\x01\xa4\xc7\x94\xd0\x3a\x2b\xa6\xca\x86\x8d\xe5\x62\xa2\xa1\x5e\x08\x63\x16\x2b\xf5\x62\x24\x16\x85\xe0\x20\x42\xad\x1b\x1b\x43\x5d\x92\x47\x2e\x61\xa1\xca\x52\x81\xcd\x1b\x5b\x63\x89\x12\x9a\x39\x44\xa5\xe3\x85\x43\xcf\x66\xf0\x31\xa9\x69\xa4\xc3\xb3\x01\x5a\x6c\x27\x34\x63\x65\xc6\x42\xbc\x5e\x5c\xc8\x33\x3a\xa9\x51\xc6\x08\x73\x04\x09\x10\xd8\xf4\x03\x84\x7a\x00\x62\xa2\xcf\xc4\x74\x99\xf3\xf2\xf4\x66\x51\x0a\xa5\x7c\x99\x9c\x33\x31\x3d\xbd\x59\x74\x3d\xca\xee\x47\x6b\xbc\xcf\xf6\xfe\xd7\x9e\x03\x84\x8c\x47\xa4\x78\x7b\x1e\xc5\x33\x1b\xa2\xd5\xa5\xdb\x38\x9a\xdf\xf0\x18\x84\xd9\x72\xc3\x54\xe2\xaf\xbf\x8f\x8f\x72\x03\x4d\x00\x66\x21\xbc\x29\x70\xf3\x19\x06\x08\xfb\xa1\x94\xf3\xed\x08\x8b\x86\xd9\x99\xae\xab\x2e\x64\x04\xae\xd7\x8b\x68\x6a\x0b\xc6\xf7\xfe\xba\x57\xc3\xb5\xa7\x45\x07\x0a\xab\x32\x1e\xc5\x6b\x22\x96\xdb\x3c\x8c\xe7\x93\xd0\xb7\x91\x6d\x10\xb6\x4f\x01\x74\xcc\x6b\xee\xd7\x96\x07\x60\xde\x1d\xbc\xaf\xed\x21\x74\xaf\xee\xa0\xf9\xf2\xbb\x88\x0c\xab\xbb\x67\x63\xd8\x51\xb6\x21\x09\x20\xdc\xff\x7e\x08\xcc\x0a\x38\x66\x70\x7f\x47\xf1\x34\x85\xee\x5d\xfb\xe3\x4e\xa5\x37\x65\x9e\x1b\xd9\xf2\xbf\x63\xf9\xcd\xb0\xf0\x6d\xa5\xd4\x66\x50\x52\xf3\x98\x75\xae\x33\xb1\x32\x48\xe8\x30\x28\xab\x29\x27\x6c\x92\xdd\x88\x74\x30\xc3\x72\x3c\x90\x79\x13\x0c\x7d\xf6\x69\x0b\xe1\x4e\x3e\xb5\x56\x01\xee\xa8\x89\x5c\xac\x07\x5a\x0e\x92\x3c\x5b\x8c\x25\x2f\x5d\x29\xc6\xce\x1b\x07\xdf\x16\x6b\x80\x20\x45\x1b\x48\xcb\x35\x96\x30\x34\xab\xb4\xb1\xa2\xae\x86\x61\xe6\xf2\x42\x61\x16\x51\x97\x11\xfc\x15\xa6\x00\x2b\xa1\x6a\xdd\xe1\xc1\x41\xff\xe0\xe0\x00\xba\x61\x5e\x15\xd3\x2a\xa8\x4a\x98\x51\x99\xc4\x07\x0f\x7d\x75\x4b\x9e\xe7\xa4\xaa\xb4\x3f\xa5\x72\x6e\xdd\x9e\x4b\x41\xd1\x71\x29\xd6\xfa\x0b\x81\x41\xa8\x36\x57\x57\x8c\xca\x29\x9e\x05\xb3\xf1\x51\x75\xe6\x60\x47\xcb\x91\x05\x4b\xc5\x1c\x32\x51\x51\xde\x27\x33\x0a\xd2\xa0\x30\xfb\x4c\x99\x3e\x43\x3c\xf0\x52\xf0\x28\xbf\xa9\xdd\x2b\x2c\xe4\xa9\xb2\xa9\x21\x27\x9b\xdd\x09\xf7\x84\xf2\x6d\x56\x76\x83\x29\x6d\xa6\xbd\x92\xe5\x95\xea\x1b\x70\xe2\x5a\x14\xe8\xdd\xc4\xf3\x9c\xc9\x32\x0c\x03\x0d\x76\x17\x4b\x6b\xe0\x14\xe5\x64\x52\xc9\x86\xff\x42\x6a\xe1\x63\xb9\x7f\x39\x3c\x64\x73\x69\x28\xd3\x0f\xeb\x92\xdf\x98\x91\xbd\xcf\x71\x75\xe0\x7b\x41\xb5\xc5\x70\xec\x60\x48\xc6\x9e\x6a\xef\xf7\x9a\x66\x93\x49\x96\x2c\x73\x8d\x8a\xe5\x1b\x24\x2c\x43\xa6\x54\x01\x90\xaa\xae\x1a\x14\x81\x8f\x7f\xa1\xe1\xe9\x08\xf1\xfd\xe6\xb5\xc9\xf5\x4c\xe6\x72\x4a\xde\xff\x50\x12\x33\x18\xda\x50\xa8\x0a\x33\x6d\x85\x9b\x4c\x8e\x60\xde\x22\xab\x9a\xab\x56\x6a\x3e\x65\x05\x9f\x0b\x5b\xb5\x72\xe8\xb6\x11\x6b\xa3\x2a\x1b\x2f\x08\x87\xfe\xef\xcb\x2c\xb9\xca\xd7\x8c\x2b\x33\x67\x72\xec\x2c\x4b\xb3\xa3\x54\x78\x93\xe1\x89\x0c\xe8\xc4\x9f\xcd\x44\xd5\x9e\x16\xc1\x94\x3f\x46\x47\xe6\xd8\xa5\xcb\x4b\xf8\x02\xa4\x26\x39\xa1\x9c\x7a\xae\x38\x2d\x77\xce\xa6\x25\xa7\xe8\x41\x4c\xcd\x8d\x27\xa4\xe2\x04\x6a\x8f\x46\xfc\x2a\xb5\x03\xe2\xcb\x23\x2a\xc4\xcd\xd3\xf4\x31\x65\x7e\x06\x89\xbf\xe7\xef\x81\xa0\x23\x65\x5a\xb4\x7f\x5a\xe9\xef\xfc\xed\xf1\x8f\xb1\x97\x2a\xd6\x76\x5b\x16\x3a\xcb\x5d\x3e\x21\x4c\x4c\x80\xc9\xcc\xc8\x95\xc5\x36\xa7\xaa\x6a\x95\xfa\x69\x87\x07\x7d\x76\xe8\x8b\x02\x3e\x79\xf9\x1c\x95\x16\x90\xed\xd8\xf0\x3c\x3f\x1c\x01\x07\xbf\x1d\x37\xef\x65\x8e\x33\x76\x05\xf2\xe8\x5a\xf3\x8f\xb2\x60\x40\x5f\xbc\xd3\xbd\xda\x02\x44\x40\x06\x82\x39\x5f\x50\x32\x65\xac\x68\x7a\xf4\xbd\xcb\x91\x13\xd5\xbe\xb5\x06\xff\xb4\xe4\x2b\xc8\x12\x67\x4f\xb2\x8d\xcc\xa3\x04\x19\xa5\x30\x2d\x3e\x74\x7b\x10\x04\x30\x64\xec\x05\x59\xe9\xd1\xbd\x11\x2a\xb7\x57\x1b\x63\xd3\x20\x32\x82\x82\x14\xcc\x2c\x4e\x78\x32\xab\x15\x20\xbc\xe5\xb4\x57\xbc\x61\xde\x2e\x3c\xd1\x85\xfb\x55\xa6\x6e\xe7\x63\x7f\xaf\x4e\xe8\x1f\x1f\x83\x87\x42\xca\xd2\x25\x84\x1b\x20\x1f\x03\xc6\xa7\xc9\xbd\x5a\x9b\x43\x60\x5d\x3c\xa9\x98\xe5\xda\xb4\xc5\x4a\xad\x19\x55\xab\xcd\x7e\x15\x6e\xcc\x9c\x2b\x8d\xef\x6f\x90\x85\x6a\xf9\xef\xfd\xef\x58\xce\xae\x56\xa1\xb1\x5c\x0a\x9b\x98\x11\x9e\x2f\x3e\xfd\x02\xcf\x5d\x46\x6e\x62\xe5\x98\x32\xad\xa0\x18\x13\x4c\x85\x3d\xbc\xe7\x03\x02\x30\xdd\xb5\x39\xc2\xde\x53\x95\xcd\xa4\xd2\xac\x14\x7f\x5f\x0a\xa5\x15\x31\xe4\xb4\xe4\x53\xbb\x72\x7b\x5d\xd8\xda\xf3\x08\xcf\x88\xce\xcb\x05\x95\xf1\x87\xf8\x1f\x43\x93\x90\x9b\xdf\x0b\x59\x35\xa2\x3e\x2d\x60\xf0\x0f\x2e\xa5\x8f\x0f\x51\x75\x25\x9a\xd0\x8f\x13\xb9\xa5\xe7\x91\xe6\x17\xca\xe3\x59\xf6\x59\x29\x06\x0b\xb9\x58\xe6\xe6\xc6\xa5\xfd\x42\x48\x90\x7a\x13\x36\x0e\xd1\x09\x21\x26\x1e\xd3\x50\xcd\x93\xaa\xcd\x45\xd5\x4a\x69\xb3\x57\x33\x21\x72\xb6\xc8\x6e\x44\xce\x52\x91\x6b\xce\xe6\xcb\x5c\x67\x8b\x3c\xc3\xcb\x3a\x2b\xcc\x75\xad\xc4\x7e\x2a\xf0\x03\x42\xd0\x1e\x82\x5a\x08\xb8\xfa\x08\x91\x08\x10\x31\x39\x64\xe7\x42\x18\xa9\x52\x2f\xd4\x68\x7f\x7f\x2a\xe5\x70\x9a\xef\xab\x5f\x44\x5e\xfc\xdd\x61\x0a\xa0\xbc\x35\xbd\x9e\xbb\x91\xcd\x6c\x0f\x6b\xb8\xd2\x72\x99\xcc\xec\x26\xad\x04\x53\x7c\x15\x3a\xbe\xe1\xcf\x98\xed\x1a\xa1\x66\xc5\x14\xea\x3a\xa7\xe2\x46\xa4\x14\xd0\xbb\xa6\x76\x59\x2a\x0a\x9d\x4d\x32\xe0\x8d\x45\x22\x2c\x5b\x84\x80\xaf\x39\xe6\xa5\xe1\x05\xb8\x27\x63\x07\x0e\x8a\xfd\x08\xb9\x17\xe6\x87\xf0\x3c\xd9\xfa\xb5\x21\x0d\xc3\xd4\x09\x57\x70\x6a\xd2\x00\x7b\x34\x71\x43\xe3\xab\x20\xfd\x1a\x1a\x4d\xc2\x7a\xb6\x99\x3a\x27\x29\x03\x5f\x20\x9e\x98\xec\x98\xc7\x6c\xba\x14\xaa\x16\xf0\x61\x6b\x33\x97\xb6\xce\x37\xc8\xae\xe6\xcc\xe0\xb9\x45\x7a\x09\x46\xa2\x8e\xe7\xb6\x1f\x9c\xe2\x57\x37\x66\x47\xbe\x8a\x47\x7c\x3b\x13\x94\x29\x55\xb0\x44\x97\xf9\xe0\x9a\x5d\x89\x75\xa5\xa0\x3a\x9d\xde\x05\x57\x94\xf9\x2a\x18\x49\x97\xf9\x9b\x57\xe6\x87\x28\xff\x33\x86\xca\x64\xd7\x35\xce\x61\x6b\xde\x56\x39\xc6\x89\xc1\x4b\x62\x55\xcb\xb8\x4f\x90\x9f\x48\x2e\x35\x9b\xf1\x22\xcd\xc3\x4a\xbb\xf8\xbd\x0a\xb6\x0d\xbe\x97\x63\x78\xa3\x94\xb5\x1f\x9e\x9c\x3e\x7e\xfd\xe3\x07\x3f\xc3\x8f\xee\x69\xf0\xaa\x94\x37\x6b\x1f\x4a\x8e\xd9\x70\x6a\x19\x77\x57\xb3\x2c\x99\x21\xeb\x54\x1a\x94\x9f\x33\xb4\x43\xad\x78\x7e\x05\x81\x67\x28\x25\x9b\xeb\xd4\xfa\x00\xd8\xe2\x1f\x64\x67\xb2\x52\x05\x66\x91\x91\x10\x6b\x68\x01\x27\x72\x2e\xc8\x73\xb4\x2a\xdf\x54\x6f\xd2\x8f\x44\x0c\x20\x89\x98\x53\x85\xa6\xfb\x7a\x8d\xf2\xb0\x1a\x76\x5d\x88\x19\x36\xab\x51\xdd\xef\x41\xea\x7c\xff\x25\xc4\x09\xba\xbf\x2a\xa7\x85\xb8\x5d\xb5\xf4\xaf\x6e\x12\xb8\x91\x86\x6c\xc7\x4c\x41\x1a\xac\xb1\x08\x93\x08\x96\x6c\xb2\x34\x1f\x6c\x25\x1e\x94\x8c\xa9\x5d\x2c\x41\xf3\x22\x99\xc9\x12\xa1\xd1\x3e\x4e\x64\xb2\xa4\x47\x52\x66\xde\xae\xf6\x9a\x36\xef\xd3\x25\x2f\x79\xa1\x29\x10\x76\x2c\x58\x2e\x94\x1a\x18\x3e\x31\x90\xe5\x40\xfc\x7d\xc9\xf3\x81\x96\x08\x0d\xdf\x6d\x13\x1b\x4a\x7d\x66\x4f\x34\xfe\xfa\x74\x82\x8f\x2a\xc3\x5e\xa0\x4a\x9f\xf2\x75\x83\xe0\xc9\xa5\x48\xdf\x4b\x31\x19\x67\x50\x75\xfb\x69\x24\x8a\x20\xa4\x80\xde\xca\xfa\xf3\xc0\x26\x28\x6e\x80\x6a\x4e\x50\xe5\x40\xfa\x9f\x83\xf3\xb5\x65\x97\xc2\x6c\x56\xff\x25\xf7\x68\x0a\xcf\xcd\x72\x87\x6d\xb2\xcb\xff\xaf\xbf\x51\x38\x50\xf3\x36\xd1\xd5\xe3\x20\x7c\x76\x14\xd1\x5f\x70\xa3\xc0\x7d\x0b\x36\xc3\x4d\x80\x6a\x53\x85\x40\x4a\xce\x16\x32\x33\x52\x4b\x90\x2c\x9b\x0a\x9c\xd4\xc6\x39\x71\x6b\x6b\xa8\x76\x84\xb9\xad\x39\xcb\x33\x05\x1b\x61\x5f\x15\xb6\xc4\x7e\x90\xa4\xd9\x97\x03\xf3\x6f\x0f\xb3\x7f\x06\x4c\x66\xbd\xe7\x79\x92\x40\xb9\xf3\x29\x16\xd9\x48\xc5\x42\xcf\x06\xf8\x13\x6a\x5b\x2d\x97\xb4\xb6\x57\xef\x8a\x5b\xf8\x70\xf0\x59\x96\xa7\xa5\x80\x52\x3d\xde\x3f\x77\x13\x2b\x0c\x6c\x4d\x86\x83\xff\xe0\x6a\x11\x84\x3c\x12\x8d\xc5\xc0\x74\xfb\x38\xc6\x71\xb9\xae\x45\xfd\x61\x83\x6a\x39\x83\x16\xe7\x5e\x0b\x65\x08\x75\xc0\x5e\x4e\xa8\xc1\x67\xde\x30\x50\x71\xdb\x8d\x3d\xcb\x6a\x6e\x03\xbd\x28\x40\x03\x62\xf5\x60\x17\xe3\x45\x91\x11\xdd\x2d\xe1\x51\x60\xe0\x2f\xaf\x7b\x55\x1b\x7a\x79\x1d\x05\x28\x15\x9b\xb2\xd9\x6f\xb0\x96\x9f\xaf\x8b\x64\x56\xca\xc2\x3c\x4e\x41\x9b\x61\x6f\x58\x10\xc9\x03\x99\xc7\x50\x47\xc8\x8c\xa2\xf2\x37\xdc\x9c\xe5\xc1\x8a\xaf\x41\x74\x46\x78\x90\xd7\xaa\xef\x28\xab\x72\x32\x7d\xb2\x71\x8c\x30\xc5\x61\xfb\xa0\xb5\x81\x4c\x7f\x70\x04\x0c\x44\x5e\xde\x92\x56\xcc\x14\x9a\x33\x31\x2b\x91\x4f\x08\xf9\xa1\x20\x9c\xca\x79\x5d\xc4\x98\x71\x78\x9a\x9a\x19\x40\x49\x21\x90\xeb\x8d\x70\x80\x07\xc9\x88\x08\x74\x3a\xb2\xc2\xcb\xef\x56\x9c\xb2\xa9\xe6\x6c\xaa\x03\xb0\x15\x91\xd6\x4a\x2e\x35\x3e\xa7\x82\x37\x95\x4b\xd5\x18\x15\x3a\x32\x8f\x25\x7c\x2e\x3a\x75\xd7\x1e\x72\xee\x3d\x97\x0e\xc7\x4a\x29\x1e\x04\xb6\x00\xc2\xea\xf6\x7c\x55\x80\x49\x78\x15\x61\x9b\x33\xb9\x7a\x54\xf9\x99\xdc\x01\x03\x15\x37\xb4\xf4\x31\x3c\xbe\xa9\xb3\xaf\x57\x1b\x87\x69\xad\xa0\xb9\x63\xad\x70\xc7\xc4\xa3\x92\x79\x3b\x02\x03\xcd\x2a\x43\x8a\xc0\xa0\x5f\x69\xe9\xc7\xf3\xd9\x8a\x6e\x85\x53\x80\xb2\x09\xa5\xd0\x60\x33\x46\x1b\x96\xd6\x8c\xd0\xa6\xc5\xb5\xe1\xb3\xb2\xbc\x2a\x3a\x9b\x76\xb1\x09\x9f\x8d\x7b\xd8\x8c\xd0\xea\x0e\xba\x72\x2c\xa1\x4a\xa9\x2a\x87\x0e\xa7\x42\xdb\x90\xb2\x6e\xcf\xfc\xe5\xf5\x4b\x81\x92\xad\x26\x0a\x35\xdf\xbc\x1b\xee\xd2\xc6\xeb\xcf\x7b\x16\xb0\xdf\x7e\x0b\x96\x12\xb4\x8a\xd3\x57\x07\x3f\x34\x1a\xf0\x1d\x5a\x37\x20\xd1\xbb\xe1\x53\xd3\xcf\x3f\x67\x9f\x75\x3b\x56\x6a\x02\xb3\x83\xfb\xd1\x79\x3c\x86\x90\xdd\xe7\x5a\x50\x48\x10\x1c\x40\xfd\x9b\xeb\x06\x9d\x57\xc4\x39\x94\x8c\xb4\xd5\x0b\x43\x5e\x18\xfb\xcc\x81\x7a\x42\x0d\x96\xc5\xa6\xf5\x39\x57\xb2\xe6\x5c\x30\x68\x0f\x44\x6a\x6f\xa7\x6c\x42\x90\x6b\xd8\x80\x1f\xfb\x9b\x43\x4f\x00\xd5\x7e\x6c\x45\x8e\xeb\xbc\x0d\x37\xd0\xf0\xf7\xa1\xc6\x2d\x6c\x0b\x66\xa0\x3a\x82\xdb\x56\x27\x41\x7f\xe7\x57\x63\xbf\x8b\x09\x82\x38\x0b\x10\x60\x10\x4a\xda\x00\xea\xfb\x76\x50\x21\x8f\xaa\x42\x6a\x58\x0a\x64\xfb\x68\xd8\xfc\x50\x10\x6a\x66\x0b\xec\xbb\x66\x0e\xe5\xc5\x9c\xca\xaa\x58\xdd\x15\x30\x9e\xac\x93\x63\xaa\x59\xc1\x2f\x22\x39\x19\xf8\x07\xca\xb0\xc2\xbc\xf9\xb3\x38\x0f\x06\xbd\x5d\x54\xd1\xd1\x81\x5b\x23\x87\xac\x43\x00\x0d\x76\x3d\xa8\x1e\xe3\x73\x6b\x01\xc7\x0f\x83\x66\x2b\xa2\x99\xa3\x0e\xb7\x25\x7d\xf6\xae\x09\x7b\xfd\x26\xaa\x79\xdf\x0b\x44\xc4\xcf\xdc\x58\x56\xa4\xc3\x1a\x3a\x85\x58\xb1\x53\xa4\xdd\xd7\x85\xb8\x59\xe0\x73\x08\xa8\x19\x84\x2a\x50\x26\x3b\xd8\x9d\x10\x64\x30\xfb\xcd\x7b\x7a\xd7\x9d\x09\xf3\xad\xc4\x6c\xb9\x81\x44\x3f\x3b\xaa\xd3\x28\x8a\x9c\x56\xe6\xbc\x30\x92\x28\x67\x69\x76\x6d\x6b\xb3\x64\xaa\x6e\xa2\x68\x16\xf8\xc2\xac\x1f\x90\x3c\x55\x84\xa2\x5e\x9a\x5d\x07\x9a\x12\xd2\x77\xa5\xd9\xb5\xbf\x83\xb2\x49\xc9\xe7\x82\xbe\x6e\x0c\x86\xa6\xca\xc3\xdd\x0e\x36\x0d\x0a\xb0\x52\x5f\x4a\xc6\x9a\x28\x45\x7e\x33\x96\x3c\x3a\x63\x48\x9d\x34\x62\x07\x8f\x3c\x47\xe9\xa0\xfd\x6c\xc4\x0e\x0f\x0e\xfe\x35\xfc\xde\xba\x6e\x8e\x18\x1f\x2b\x99\x2f\xb5\x08\x7f\x05\xc5\x22\x76\xf2\x09\xca\x6d\x29\x2a\x9c\x08\x53\x65\x62\x64\xcb\x7f\x31\x84\xfd\xc3\x0f\x43\x16\x24\xd1\x77\x7a\x79\x5c\x83\xc2\xfe\xb9\xe4\x29\xea\x7a\x0d\xc5\x0b\x85\x1d\x59\xa6\xc3\xea\xc3\xda\x17\xc9\xb5\x4f\x37\x1c\xcf\xe6\x05\xe8\xcc\xe5\xaf\x4f\x8b\x42\x94\x68\x71\xf8\x05\x78\xf9\x2a\x2b\x52\xc3\x8c\xcd\x30\x24\x5f\x71\x03\x1b\x1e\xfa\x68\x81\xd5\xeb\x7b\x8c\x55\x51\x59\x1a\x51\xbd\xf3\x2f\x1d\x58\xa2\xd9\x92\x30\xc6\x3c\x6c\xda\xab\xed\xe1\x90\x66\xf9\x16\x86\x1e\xf2\x34\x3d\x35\x4b\x7b\x96\x29\x2d\x20\x93\x04\x2a\x63\x3b\xb7\x75\x14\x43\xd5\x65\x71\x06\xbd\x3f\x0c\xc7\x59\x81\x33\xe9\xf9\x72\x3d\xa9\x4c\x2c\xa7\x08\x15\xa8\x4d\xb3\xb3\xd4\x65\xa8\x28\x95\xc9\x70\x2c\xd3\x75\x3b\x05\xcd\x79\x39\xcd\x8a\x11\x3b\x58\xdc\x44\xb4\x82\x86\xe5\xda\xf7\x6d\xb4\x15\x50\x4f\xf8\xb5\x75\x63\x1e\xb1\x59\x96\xa6\xa2\x08\x7f\xc3\xb8\xfa\x91\x59\x5e\x77\x30\x80\x73\x37\x00\xeb\xc3\x00\x7f\x41\xb7\x91\x5e\xd8\x65\xb0\x12\xe3\xab\x4c\x0f\x96\x4a\x94\x03\xe4\x3b\x23\x78\xf2\x47\x8d\xe6\xf2\xd7\xa6\x16\x95\x92\x22\xa8\x11\x0e\x02\xbe\xde\xa2\xb0\xde\x81\xb4\x28\xe3\xe5\x74\x0a\xa1\xdf\x82\xf1\x34\x65\x84\x0e\x6b\x90\x36\x28\x8d\xaa\x4d\xc9\xc9\x04\x35\xe5\x16\x18\x45\x1b\xa0\x8f\x05\xf9\x39\x04\xc9\xa9\xdc\x1e\x86\xbb\x43\x83\x5c\xc8\x45\x90\xc7\x75\x6b\xf3\xc7\x58\x77\xdd\xf7\xe8\x24\x3c\x4f\xba\x21\x56\x93\x19\x2f\x0d\x69\x91\xaf\x4b\x8f\xfd\x85\x7d\xd1\xeb\xc4\xc2\x36\xb8\xe8\x1c\x01\xc1\x54\xb8\x12\xfc\x84\x4c\xc9\x27\x92\x0e\x72\x34\x5b\xbc\x83\xf5\x9f\xfd\x23\xd8\x09\x66\x4d\xfa\x23\x36\xce\x65\x72\xf5\x28\xfa\xcd\x92\xd2\xa6\x99\xc6\x3d\x20\x50\xe7\xb6\xdd\x3e\xe2\xd4\xcd\xc2\x66\x82\xa7\xd1\x71\x27\x0a\x73\xe7\xdc\x50\xcd\x89\x52\xcf\xb2\xe2\xea\x43\x33\x32\xf2\xac\xb8\x0a\x18\x74\xd8\xa1\x52\x53\xb6\x14\x79\xa7\xcf\x10\x7b\x6a\x26\x84\xee\xd4\x07\xb2\x91\xfb\x9b\xb1\xde\x38\xf5\x1a\x18\xc7\xb3\x2f\x5e\x3e\x79\xd9\x35\x87\x3a\xe5\xbd\x11\x3b\x97\x65\xb9\xc6\xe4\x4f\xac\x83\x34\xfa\xa1\x43\x32\x8b\x93\x65\x30\x76\x91\xab\x28\xf5\x1d\x42\x83\x44\x3e\xe4\x9b\xf2\x37\x35\x64\xec\xa9\xcb\x21\xb9\xc8\x92\x2b\xc6\xd9\x58\x40\x35\x08\x70\x01\x99\xc8\xd2\xe7\xb6\x17\x73\xd0\xde\x5d\xcb\x2c\xf5\xfa\x8a\x44\xe6\x79\xa6\x48\xbd\x6c\x4b\x60\x5c\xd9\xfa\x11\x99\xc8\x53\x26\xd2\x4c\x83\xbf\x86\xc0\x82\x79\x98\x68\x9f\xcc\xb8\x3e\x51\x17\xd8\x91\x19\x2f\xd6\x30\xfb\x7b\x36\x23\xd1\x58\x00\x00\x81\x31\x98\xee\x94\x82\x77\x9b\x40\xaf\xa6\x34\x4c\x91\x86\x6b\x07\xed\xd3\x75\x56\x1a\xd8\x08\xea\x4a\xac\xc1\xb7\x07\xc5\xbf\xa7\xcf\x4f\xcd\xe2\x1f\x2f\xb1\xc0\x33\xe6\xc1\x5e\x09\x06\x3a\x2e\x39\x99\x80\x97\x0f\xdc\x5c\xc5\x62\xa9\xd9\x4c\xe4\x0b\x51\x32\xf0\xbc\xb1\x6b\xe7\x1a\xdc\x84\xcc\x1a\x10\x04\x78\xc3\x61\xa6\x4d\x33\xc4\x1c\xa6\x93\x15\x3c\xbd\x16\xa5\x39\x5c\xf9\x9a\xcd\x97\x98\xb4\x58\x41\x85\x1a\x03\x9a\xd0\x76\x6e\x16\x83\x58\x56\x22\x2c\xb5\x07\xde\x56\x9a\x17\x29\x2f\x53\x7a\x12\x81\x66\x0b\x7f\x19\x97\x72\x05\xd6\x78\xca\x09\xda\x27\x7b\xea\x52\x07\x06\x7a\xc5\x27\x22\x5f\xb3\x0c\x6b\x31\xb2\xf1\x9a\x74\x63\xd4\xd9\x5b\xe1\x88\x9c\x9a\x09\xf8\x66\x80\x3f\x07\xa7\x85\xda\x57\x0e\x0a\x5d\x5b\x76\xd7\xcd\xa1\xd1\xe5\x52\x6c\xed\xa7\x16\x22\xcf\x21\x87\xad\xe9\x02\x76\xbd\xad\x7d\xf8\x52\x4b\x5b\xfe\xc1\xf4\x92\x93\xc9\x8e\x7d\xc0\x45\xe9\x56\x5d\xf8\x42\xf3\x1c\xc4\x01\xd6\x31\x37\xd0\xd6\x5e\xa5\xa4\xd5\x8b\x1b\x3d\x96\x37\x5b\xdb\x6b\x3e\x06\x7d\xb1\xe9\x33\x38\x6c\x6a\xde\x76\xe9\x43\xdd\xd0\x01\x14\xb5\x18\x31\x5d\xf2\x42\xe1\xa3\x37\xe4\x9b\xed\xac\x7b\x22\x0b\x3d\x98\xf0\x79\x96\xaf\x47\x6c\x2e\x0b\x09\x89\xb1\x6a\x2d\x0c\x43\x1e\xb1\xc3\x87\xb1\x00\x01\x3f\x5d\xf3\x32\xe3\x85\x1e\xe4\xd9\x94\xeb\x65\x29\x54\xfd\x16\x6f\x13\x34\xac\x44\x31\x58\x8f\xc8\x14\xf9\xc8\x05\x4b\x0d\x6e\x9a\xe4\x0c\x48\x6b\x3b\x80\x39\x8e\xd8\xa2\x6c\x13\x7a\xa3\x41\x96\xda\xdc\x35\x38\x2b\xf6\x59\x36\x5f\xc8\x52\xf3\xc2\xb2\x70\x27\x55\xd5\x18\x32\x61\x3e\x54\x41\xd1\x5e\xd4\x85\x45\x9c\x7d\xa7\x6f\xc5\x3f\x7c\x73\x54\xc4\xbf\xad\x50\xc0\x53\xa3\x0a\x04\x1c\x31\x6e\x0b\x09\x1c\x24\xe0\xc5\xeb\xc1\xa1\x6f\xc4\x5d\x00\xcd\xe5\xb5\xf8\x14\x70\x44\x91\x7e\x0a\x30\x09\x2f\x92\x10\x4f\x77\x82\x94\xc8\xc5\xda\x83\x38\x91\x8b\xf5\x6d\x21\x80\x03\x85\x07\x01\x6e\x13\x35\x18\xfb\xfb\xec\x09\xba\x3b\xa1\x43\xd3\xe7\x2c\x2d\x25\x78\x9b\x19\xce\xb0\x4f\xfc\x12\xf3\xe8\xe1\x9d\x88\xee\x11\x54\xc2\xcc\xdc\x44\xdd\xb5\xd0\xff\xd6\x23\xee\x6e\x2b\x50\xa6\x62\xc2\x97\xb9\x66\x63\x72\x49\x44\x1b\x60\x22\x8b\xc9\x52\x09\x7b\xf7\x6f\x5f\x83\x99\x4c\xa7\xef\x9f\xc0\xee\xb1\x8f\xb9\xca\xcc\x0b\x04\x07\xea\x46\x3a\x2b\xeb\x79\xc1\xd8\xc7\xea\x29\xaa\x0d\x71\x25\xd6\xa9\x5c\x15\x1e\x51\x8f\x65\xba\xfe\x59\xac\x9f\xc8\x55\x51\x7f\x1f\x05\x6e\x62\x90\x13\x9a\x67\x45\x90\xbe\xd9\x7a\x76\xa0\xc7\x4c\x49\x65\x09\xad\x0f\x26\x58\xcd\x5a\x6e\xb0\x34\xbb\x0e\x98\xaa\x6b\x3c\xcc\x52\xf3\x82\x04\x74\x8d\x4a\xb9\x1a\x80\x7d\xa6\xd3\xd0\xb0\x95\xff\xb6\xf3\x56\xff\x46\x87\xf9\xee\xfa\x96\x6a\x7c\x18\x19\x6a\xd9\xfc\x30\xc2\x16\x0d\x84\x5b\xe5\x6b\x6e\x4d\x1e\xe3\x2e\x79\xb6\xad\xa6\xe2\xde\x40\xe8\xcf\x47\xee\x88\x28\xf3\x2d\xd6\xa8\x05\xf0\x0e\x3c\x72\x81\x0a\xd3\xc7\x7c\xda\x2e\x40\x40\x8b\xc1\x98\x4f\x83\x39\x46\x3d\xef\x82\xe2\x4d\x78\xbc\xed\xe3\xa2\x7e\xb7\x04\xac\x7f\x0c\x2f\xb3\x68\x99\x0d\x2b\xf0\x15\x7a\x83\x12\x6b\x60\x39\x1f\xdb\x34\xc7\x5a\x2e\xd8\xc4\xa0\x98\x43\xb9\x9d\x9c\xbc\xcc\x10\x3e\xfd\x52\x0a\x5a\x0e\x7a\xf2\x83\xdb\xfd\x3d\xaa\x35\x95\xaf\xd1\x1c\x65\x77\x0a\x5c\x9f\x41\x20\xe5\x71\x61\xa4\x40\xf5\x69\x44\x42\x88\x0f\x40\x6b\x6c\xbe\x26\x47\xc5\xd0\x4b\xde\xce\x4d\x96\x76\x2e\x04\xc6\x45\x04\x58\x4f\x02\xbb\xee\x1f\x64\x9e\xb6\x6e\xb7\x59\x48\xbc\xd1\xd0\x3c\x3a\x6f\x5a\x2e\xa0\xdd\x60\x22\x4b\xf3\xde\x1c\xb8\x19\x77\xea\x1d\xab\xc4\x51\x23\x8a\x86\x33\x5b\x23\x7d\x0b\xad\xb6\xb1\x76\x2d\xf1\x98\xd1\x76\xd6\xdb\x47\x8b\xc1\xef\xb7\xae\x67\xc3\xe4\x02\xc8\x31\x2f\x44\x5a\x00\x8d\x27\x4f\xc0\x35\x55\x39\x4e\x68\x9e\x17\x59\xc2\x73\xcc\x94\x4a\x5e\xb2\xbe\x38\x5a\xa1\x96\x73\x10\xfb\xe9\xf6\xa0\x87\x0d\x10\x0d\x29\xc0\xc7\xcb\xc9\x44\x94\xe4\x57\xb2\xc6\x54\xb2\x56\xc9\xc1\xd8\x53\xdd\x51\x50\x1c\x10\x3d\x25\x95\xf7\x74\xf6\x6e\x8c\xe6\x61\xb8\x58\x08\x5e\x5a\x47\x43\xff\x5e\xc0\xd7\x50\x86\x69\xbe\x9b\x6a\x88\xae\x66\xa2\xa8\x3a\xb0\x1a\x98\x99\xc2\x82\x82\xa1\xad\x1b\xb3\xc3\x2b\xa1\x59\x07\x26\x98\xe5\x99\x5e\xdb\x93\xdf\x31\xd3\xb8\x12\x02\xd3\xca\xdb\xb7\x11\x96\xf8\x83\x54\xb7\x41\xa5\x04\x04\x97\x39\x3f\x65\x7f\x52\x30\xc8\x03\xbd\x9c\x3b\x70\x61\xe3\x6f\xaa\xc3\x96\x8b\x15\xbc\x20\xbb\xf0\x35\x5c\x4e\xe0\x5e\x0b\x7e\x4b\x06\x1f\x3e\x94\x85\x7c\x4b\x79\xf8\x2a\xcf\xe6\xa2\x67\xae\x79\x0c\xf7\x00\x62\xe8\x57\x06\x9f\x0a\x4d\xaa\x56\xd3\x42\x4e\x0c\xde\x93\xab\x61\xec\xba\x77\x5c\x0a\xbe\xd3\x1d\x17\x34\x8f\x08\x15\xbf\xe7\xa5\xe0\x9d\xc6\xb6\xb5\x83\xd6\x80\xeb\xed\x97\x4c\x00\x31\x26\x66\x75\x3d\x75\xe9\x3b\xac\x69\xbd\xc1\xb1\xdd\x6e\x60\xa6\xd8\xaf\x52\xce\x9d\x3b\x9a\x91\x72\xc6\xd6\xd7\x1e\x8b\x42\xd9\x92\xae\x4b\xb3\x3c\xa9\xb4\x73\xa3\xc0\x08\x08\xeb\x3c\xcb\xb1\x74\xd9\xd8\xc5\xa8\x0c\x9b\x54\x2c\xe8\x1c\xe7\xe3\xbc\x00\x67\xac\x10\xca\x1a\xfe\x0a\xab\x3f\x07\xed\x43\x21\xb5\x05\x67\xb9\x2a\xad\xc4\x2e\xc0\xcc\x9e\xe5\xe2\x5a\xe4\x28\xe4\xd1\xd3\x1c\x3c\x40\xac\xf3\xba\xd3\xbb\x80\x26\xdf\xeb\x53\x5e\x48\x2d\xec\x94\x70\xe1\xe0\xb9\x3d\x02\x9d\xa4\x12\x56\x0f\x92\xf0\x02\xe6\x81\x51\x5c\xe0\x02\x48\x08\x76\x53\xb3\x51\xa5\x37\xf3\xbc\x50\x48\x0b\x00\x67\xb5\x5a\x0d\x57\x5f\x0c\x65\x39\xdd\x7f\x70\x70\x70\xb0\xaf\xae\xa7\xc1\xe6\x5e\xfb\x7b\x2e\xcd\xae\x9b\xb3\xbf\x12\xf5\xbd\x38\xef\x02\xec\x3e\xeb\x18\x18\xbd\x08\x48\x44\x7f\x06\x21\x03\x44\x92\x2c\xe3\xc1\x2a\x6f\x62\x00\xd8\xe9\xe3\xa4\x7b\x9b\x5a\x5e\x8b\x52\x19\x36\xdb\x67\x9d\xc3\xe1\x61\x75\xf4\x56\xb9\x62\xb3\x11\x45\xcb\x45\xc5\x18\x93\x8b\x89\xae\x7c\xd5\x70\x38\x0c\xbd\x3b\x7d\x98\x12\x45\x4a\x46\x64\x6b\xab\xb2\x9b\xf3\x37\xdc\x52\xa8\xb8\xca\xd1\x1d\x9b\xcd\xe0\x20\xa9\xa0\xd6\x24\x42\x4a\xf8\x42\xa3\x0b\x90\xc0\x96\xa9\x2f\xa6\x31\xc1\xaa\x03\x86\x9f\x51\xf6\x06\x39\x17\xe6\xad\xbb\x9a\x49\x96\xf0\x32\x70\xb5\x86\xae\x17\xbc\x9c\x8a\x36\x55\xa5\x81\x0a\xbc\xc1\xe3\x30\xec\x14\xed\x24\x7a\x98\x0f\xe0\xf7\x81\x86\x06\x9d\xe6\x5e\x3b\xea\x3a\xe2\x3e\x8d\xbb\xb6\x69\xcf\xbc\x9e\x21\x50\x53\x38\xb5\x40\xf8\x1d\x6d\xe4\xe2\xe6\x91\xb3\xde\x77\xf0\xfa\x8d\x8d\x24\x1d\xb9\xe0\x09\xec\xed\x41\xdb\x34\xe9\x05\x77\x6a\xf5\x9c\x41\x20\xc0\x66\x0e\x19\x42\x69\x81\x5d\x7b\x4c\x39\xd2\x14\x37\xfa\x69\xb1\x58\xba\xd7\x3d\x3e\x1a\x5f\xf9\xce\x17\xb6\x45\xfd\x89\x85\x72\x08\x85\x1a\xc4\xee\x7c\x14\xc2\x03\xfe\xbc\x4e\x2f\x44\x44\x56\xe8\x81\x9a\x4b\x4a\x8d\x87\xe2\x87\x8b\xb4\x5c\x90\xc9\x35\xf4\x75\xb7\xa9\x70\x4d\xcf\x1f\x10\xd0\x1b\x9e\x2f\x9d\x47\xe7\xc9\xf9\x79\xa4\x7e\x82\x0b\xdc\x5c\xa8\x16\xb6\x8d\xe6\x0b\x86\x60\xec\xdc\x87\x1e\x79\x75\x15\x8c\x31\x6c\x1a\x5c\x2e\xf4\x07\x3f\xeb\x97\x0b\x43\x39\x3c\x67\xd7\x30\x11\x33\x90\x7b\x6d\xc5\x0b\xc4\xc0\x47\xf3\x8f\xde\xbf\x70\x7c\x5d\xc6\x73\x2a\xc0\x4c\xe9\x62\x5d\x0e\xe8\xad\x56\x67\x25\xf4\x0f\x1e\x1d\x81\xe9\xd9\x23\xa9\x1f\xcf\x39\x76\xdd\x0f\x34\x81\x93\x08\x8e\xfb\xc3\x86\xb7\x37\x00\x69\x04\x83\xab\x37\x93\x3a\x77\x68\x3a\x8a\xa7\xf0\xa8\xea\x5a\xb1\x33\x98\x8e\xb7\x4b\x61\x9f\x75\x91\x9c\x84\x11\x8d\x96\xfe\x36\xa0\x6c\xda\x86\x32\x5c\x54\x98\x62\xaa\x0d\x41\x15\x1a\xd7\x8c\xdb\x70\x57\x6f\xd0\x09\xeb\x68\x79\x09\xb5\x42\xda\x21\x2d\x14\xcb\x3c\xef\x83\xa4\x80\x79\xc7\x2c\xc8\x44\x81\xf2\x22\x97\x3c\x05\xa1\xc5\x8c\x97\x69\x28\x43\x6c\xbb\x31\x59\x42\x40\xac\xb9\xa8\x43\x72\x82\x4c\x68\x90\x74\x9f\xbb\x38\x42\x73\xfc\x16\x8b\x3c\x13\x69\x30\xc0\x2e\x74\xf6\x1a\xcd\x49\xaf\xcb\x3c\x44\xda\xb2\xcc\x7d\x52\x1d\xf7\xc7\x76\x03\xd8\xac\x14\x93\x4e\x9f\x99\x1e\xa1\x37\x4a\xbd\x9b\x77\xb8\xf2\x0e\x2a\x91\xd1\x73\xa3\xf1\x0b\x60\x84\x15\xfe\x9d\x85\xb7\x6d\x90\x70\xfe\x95\x41\xc2\xbc\xef\x2d\x83\x6c\x23\x3e\x8f\x47\xba\x84\x1c\x22\x0d\x07\x0e\xce\x66\x68\xbc\xab\xd8\x54\xb5\xcb\x7d\xbd\x61\x20\x94\x10\x6a\xd4\x1d\xb9\x04\x40\x9b\x6e\x5d\xc1\xe3\xbe\xdf\xe5\x24\x95\x22\x28\x01\x7c\x9b\xe3\x04\x06\x86\xad\x63\xa8\x8d\x63\x00\x8c\x56\x8e\x96\x50\xf3\xdd\x46\x9a\x0a\xfd\x38\x2e\x68\x7c\x9b\xd5\x54\x6a\x21\xef\xb2\xae\x0d\xa3\x6d\x5e\xd7\xb8\xd6\x71\x67\x5c\xfa\x31\x9f\xce\xf9\x34\x72\x56\xca\xcc\x17\x3b\x8c\x69\x3b\x42\xfb\xdb\x8d\x49\x31\xe7\x3e\xa0\x2c\xfb\x75\x97\x11\xa9\x9b\x69\x7d\xbb\xf1\x82\x2c\x50\x6e\xcc\x38\xd7\xe2\xc6\x71\x83\xee\xb6\xd7\x2e\xe3\x9f\x44\x31\x8f\x6e\x4b\xdd\xb7\xc1\xc8\x51\x78\xa4\xff\xa3\x5a\x7d\x80\x02\xa5\x41\x1c\x84\x28\x7f\xab\x90\xf3\x01\xa6\x71\x4e\x8a\x8b\x99\xa0\x52\x3b\xee\x51\x69\xef\xa2\x58\x2b\x02\x8d\xb6\x72\xff\xa9\xa0\x70\xee\xea\x06\x06\xb1\x0c\xf8\x0b\x02\x99\x0a\x7d\x92\x67\xe6\x91\x6c\xae\xe4\x8a\xed\xcb\x9d\x22\x64\xb4\x56\xc4\x86\x00\x73\xfc\x03\x3d\xa4\x48\xcc\x86\xef\x71\x2d\x83\x8d\xd1\xab\x86\xfd\x6e\x42\x5c\x54\xdb\x6b\x03\xe6\x6c\x29\xe1\x2c\x9d\x42\xba\x69\x5f\x50\xec\xce\x68\xb3\xd9\x36\x37\x70\x93\x08\xc5\xdd\x1e\xad\x78\xd3\x7a\x28\x35\xcd\xa6\x05\xed\x36\x3b\x0c\x2a\xbf\xdd\xf4\x70\xf0\x86\x44\x97\x51\xd8\x09\x69\x3c\x64\x9e\xaa\x7a\x6a\x1b\x9b\x20\xe8\xd6\x9e\x96\x81\x77\xff\xe6\x49\xbb\xeb\xbb\x35\x21\xa7\x55\x2b\xba\x27\x74\x65\xc2\xbf\x7b\xa2\x88\x34\x72\xe5\xdd\x7e\x99\x44\x13\x3d\xc9\x41\x03\xba\xd4\x50\x87\x35\xe1\xc9\x0c\x4d\x54\x2f\xda\x93\x8f\x04\x83\x97\xc2\xb0\x22\xd3\xa9\x45\x0a\xd8\x98\xc8\x62\x87\xe4\x12\xe1\x4c\x67\x98\xc0\x33\x88\xcf\x0a\x52\x96\x44\x47\x0b\xf8\x11\xb8\x77\xba\x0c\x08\xb0\x32\xcc\xd8\x03\x19\x27\x38\xa5\xba\xa8\xbe\xff\x5e\x42\x24\xd4\xad\xd2\xb8\xd8\x3d\xb4\x6f\x2f\x9b\x7c\xe9\xd6\x5b\xa9\x84\x0e\xb3\xdf\x6c\xca\xf1\x62\x5f\xc3\x84\xfd\x6e\x64\x24\x6c\xcd\xea\xe2\xae\xa2\x99\x48\x97\xb9\x38\x03\x0c\x54\x5e\xd3\x4f\x8b\x89\x2c\xe7\xd5\xbc\x4e\xce\xcd\xb0\x94\x52\x07\xb1\x95\x90\xa1\x0a\x1c\x81\x4a\xcc\x32\x14\x59\x5f\x0c\x3c\x97\x61\xaa\x90\x2c\x97\xc5\x54\x94\xe6\x1d\x9b\xb9\xac\x55\xe7\x41\x6d\x60\x72\x12\xf3\x7e\x40\x50\x44\x35\x45\x2d\x7f\x65\x6d\x90\x2b\x13\x29\xa6\xdb\x63\x85\x5c\xc1\x60\x74\xec\xcc\x93\xb7\xd0\x59\x29\xf2\x35\x24\x30\x12\xa5\xab\xa6\x0e\x11\xa6\x99\x66\x69\x96\x92\x1a\x0b\x75\xb4\x36\x7f\x92\x01\x53\xf8\xa8\xdf\x70\x06\x91\x8f\xb0\x8f\xa5\xb0\x56\x5f\x4a\xae\x85\x24\x81\xd1\xa4\x09\xd0\x6c\x1a\x11\xa7\xba\xca\x16\x8a\x90\x86\x50\x5d\xba\x24\x00\x3b\x31\x6f\x2d\x24\xce\x7e\xe8\x16\x65\xee\xd7\x31\x26\xc9\x81\x40\x55\xca\x9d\xc4\xb0\x1a\x71\x85\x3d\xcf\xb8\x62\x63\x48\x9b\x40\xd6\x32\xa8\x16\xe3\xf4\xd4\x3e\x5b\xc8\x8c\xab\xca\x44\x37\x92\x68\x56\xc0\xe6\x55\x5c\xd0\x9b\x0b\x4e\x3a\x83\x54\x25\x36\x33\xac\xc5\x68\x6b\xc4\x85\x56\xa4\x30\xd7\x74\x54\xff\xbb\xb9\x02\x5d\x50\x3c\x80\xf4\x81\x6d\xc5\xe4\x82\x32\x72\xd5\x50\xd1\x8d\x8c\xc8\x72\xab\x6b\xb0\x1a\x2d\xce\x5c\xc2\x1d\x77\x6d\x5d\xf8\x6f\xbb\x2e\x7f\x20\xae\xa9\xa1\xf5\xe3\xe8\x87\x6e\x00\x32\x50\x75\x99\xfd\x7f\x83\xc7\xe8\x4c\xae\xd4\x87\xb0\x59\xbf\x02\x7b\xfb\x2b\xca\x1e\xf9\xa7\x1b\xf6\xcf\x97\xe1\xb5\xa9\x2d\x82\xed\x6e\xce\xfa\x1a\xc6\x96\x56\xf3\x62\xc4\xb4\xa2\x84\xbe\xc0\x5f\xba\x2e\xc2\xb0\xeb\x63\x34\xa8\x88\x23\x04\xe9\x35\x41\xb0\x81\xc1\xd0\xc0\x7f\xed\xc2\x35\xb0\x64\x44\x45\x61\x62\x35\x82\x91\x38\x7b\x3b\x7e\x0c\xba\xa1\x8a\x3c\xba\xb8\xd9\xa8\xde\xa2\xe6\x8b\x1b\x76\x9f\x75\x16\x37\x81\xad\xa0\x4d\x8f\x54\x97\x6d\xec\x05\xf7\x7b\x66\x3f\x6d\x9e\x7d\x24\x16\x2c\x78\xa9\xc4\xd3\x42\x77\x37\xac\x25\x9e\xe4\x73\xca\xf6\x05\xfc\x86\x26\xe6\x02\x8c\x7c\xde\xae\xac\xc0\x5c\x40\xb5\x5c\x69\xa1\x8a\x73\x85\x32\xe1\x85\xdd\x26\xfa\x5b\x4b\x9b\xf6\x0b\x98\x56\xa7\x90\xe5\x9c\xe7\x1d\x96\x4d\xec\x0d\x2b\xe7\x99\xa6\x02\xb9\x3e\xd1\xbe\x4f\x30\xf6\x91\x1d\x57\x52\x8e\xd1\xfd\xbd\x15\x67\x34\xee\x49\x25\x7f\x99\x43\x9e\x9f\x35\xa2\x71\x7f\x9f\xbd\x58\xce\xc7\xa2\xb4\x89\xcf\xbd\x69\x90\x5f\x8b\x92\x93\xbc\xe2\xa5\xe8\x3a\xaa\xac\x8d\xab\x00\x38\x2f\x27\xcf\x00\xca\x11\x3b\x3c\x38\x78\x54\x1d\x01\xfc\x40\x18\xb8\xf5\x66\x85\x68\x1c\xca\x3d\x40\xda\x47\x32\x7d\x5d\x11\x50\x18\xe6\x5e\xa8\x18\xc3\xf4\x6a\x91\x8a\xca\x65\x5c\xab\x28\xac\xda\x2c\xb9\x51\xb7\xd8\x59\xc9\x7c\x35\x70\x53\x02\x0f\xcd\x4e\xbd\x4b\x9b\xed\x6b\x9b\xf5\xab\xc9\xfe\xd5\x68\x01\x6b\xb4\x81\xc5\xbf\xdb\x37\x23\x5f\x6a\x19\x38\x60\xc6\x8d\xe8\xfd\x58\x6b\x63\xf5\x8d\x68\x4e\x73\xee\xea\x14\x6a\x64\xb3\x8d\x71\xa6\x16\x1c\x8c\x5f\xe4\x80\x4e\x67\x2a\xe1\x79\xb2\xcc\x21\x99\x80\x85\x12\x67\x75\xcc\x0a\xf6\x43\x56\x8a\x89\xbc\xa9\xa0\xee\x7c\xc1\x8b\xed\x1b\x65\x46\xad\xef\x14\xf4\x6d\xd8\x2d\xd3\x7a\x60\xc6\xc7\xac\x04\xb5\xed\xa2\x7e\x45\x21\xca\x9f\x2e\x9e\x3f\x0b\xe2\x40\xba\x9d\x5f\x3a\xc3\x52\x2c\x04\xd7\x5d\x4f\x75\x3d\xc3\x18\x2f\xcb\x4e\xcf\xfe\x14\x91\x7e\x03\x01\xd5\x7d\xc1\xdc\xb0\x16\xcf\xfe\xeb\xc7\x5c\x09\x33\xd6\xa7\xc6\xc2\x98\xe0\xd2\xf2\x71\x63\x57\xbc\x00\x7e\x65\xb3\xae\x58\x6b\xe6\x4c\x30\xdb\xbe\x6d\x7a\xf5\x1b\xa3\x73\x40\xb7\x45\x73\xfb\x4a\x49\xdf\x5f\x2a\x56\x8a\x60\xf2\x1e\xf2\x5b\xfb\xea\x0e\xd8\xed\x6f\xbf\x81\x85\x63\x07\xd7\x1e\xe2\x04\x2e\xb5\x32\x8c\xb0\x45\x05\x53\xdd\x9a\x40\x6d\x53\xc9\x02\xe9\xc0\x91\x1a\x62\x3f\x60\x4c\x9b\xc3\xd7\x7c\x4f\x62\xac\xfb\xac\x4a\x42\xf7\x76\xa1\x20\x87\x5b\x8c\x2c\x32\x00\xed\xae\x59\xe2\xa9\xec\x01\x96\xd4\xb8\x90\x8b\x47\x95\x01\x6a\x5a\xfb\xda\x00\x75\x7c\x37\xf7\x09\xdb\x36\xb8\x2f\xb4\x38\x7d\x5f\x4f\x83\x45\xfc\x2a\xe5\xfc\x07\x9e\x68\xd0\xda\x7a\x87\x82\xd0\xa7\xe4\xd1\xb6\x21\x6a\x93\xa3\x21\xbc\xec\xe0\x35\xa5\x8d\x69\x55\xaa\x49\x43\xeb\x0f\xf4\x52\x0c\xe6\x81\x34\x61\x65\x9e\x4a\xae\x51\xc8\xde\x93\x82\xd7\x81\xbf\x4a\x29\x8b\x2d\x2f\x18\x86\x7c\x01\x07\xd5\xc9\x76\x6d\x59\x4d\x06\x6b\xd3\x5b\x54\xda\xc0\x97\x4d\xd2\x41\x77\x9b\x75\xfa\xcc\x3c\xd2\x59\x9a\xcd\x45\xa1\x20\xcf\xa3\x59\x50\xa0\xa3\xa2\x77\x98\xb9\xc6\xd1\x4b\x0e\xde\xd4\x9c\x5e\x64\x64\xd5\x33\x80\x02\x10\x24\x0c\x7a\x87\xb5\x5d\x14\x35\x1b\x16\xdb\x9a\xa9\xaf\x72\xcc\x31\x29\x79\xa4\x6a\x65\x83\xba\x71\x35\xf1\x8d\x1f\x45\x56\xd4\x38\xbf\x64\x24\x18\xd3\x9b\x4b\x3d\x71\xab\xfc\xd0\xed\x6d\x7c\x68\x2c\x96\xe3\x3c\x53\xae\x66\xb5\x8b\x7c\x65\xff\x08\x12\xc4\x8d\x50\xa3\xf0\xd1\x32\x94\xca\xf2\x83\x47\x05\xf6\x39\x93\xab\x0b\x89\xef\xb3\x2e\x7c\xdd\xa0\x72\x80\x3c\x98\xdd\x9e\x4b\x56\xe4\x00\x54\xb5\x2a\xf8\xe3\xc7\xe6\x87\x89\xab\x62\x03\xae\x77\x81\x88\xef\x52\xff\x5a\x7d\xe1\x4e\x44\xdd\x80\xbf\x16\x1d\x7a\xa8\x63\x6f\x52\xbb\xfa\x2d\x6b\xc8\xc0\xea\x7b\x23\xd7\xde\x98\x8d\x35\x68\x6c\x55\xb9\xce\xc3\x08\xa3\x06\xec\xfd\x09\x69\x2b\xb9\xcd\xeb\x06\x28\x18\x0b\x4a\x0d\x1b\xe5\xa2\x56\xda\x1c\x3d\x17\x6c\x07\x32\x94\xcd\xd7\x6a\xdd\x8f\x26\xb9\x34\x27\xa8\x58\xb3\x09\x34\x96\x94\x09\x13\x4f\x9a\xf3\x2a\xba\x76\x8f\x6b\xd8\x50\x2a\x56\x30\x19\xaa\x39\x2f\xf5\x0f\x06\xc6\x93\xcc\xec\xbb\x25\xb0\xda\x6a\xfa\x0d\xac\x62\x68\x3d\xb4\x7d\xaa\xa5\x82\x25\x72\xbe\x58\xea\xea\x53\x40\x2e\xcd\x33\x49\x8b\x69\xc9\x73\xba\xbf\x28\x9d\xaf\xab\xa6\xe1\xa7\xa8\x9c\xfe\xbc\x71\xee\x7f\x69\x9f\x4a\x34\x13\xd0\x9b\x93\x3e\x2c\x11\x6c\x2c\xf4\x4a\x88\xc8\xb3\x95\xe6\x07\x01\x1b\x52\x13\xe2\xe8\x4b\x23\xc6\x2a\xe7\x39\x3a\x16\x6c\xce\x53\x70\x07\x04\x8e\xa5\xc0\x11\x1b\x83\xb9\xd1\x69\xd0\x8a\xbd\xa5\x48\x64\x99\xe2\x49\x44\x1f\x16\x25\x59\xa6\xad\x8f\x58\x61\xd5\x5a\x2c\xe7\x1a\xb3\xc5\xa6\x02\x37\xd5\x39\x9f\x5b\x4d\x47\xc3\xee\x5d\xc8\xc5\x73\x18\xd4\x96\x87\xac\xfc\x8e\xa7\xd9\x35\xa9\x6d\x23\x1b\xd4\xf1\xec\xcf\x40\xc5\x93\x1b\x97\x67\x03\x9e\xdb\xa7\x62\x9f\xfe\xf7\xbc\xda\xc8\x80\x71\xc9\x87\x0e\x1e\x6d\x52\x98\x35\x54\x0e\x6f\x48\xdb\x16\xc3\xbc\x5f\xe3\xd6\xc4\x67\x1b\x14\x60\x0d\x45\xfd\xc3\x4c\x52\x96\x45\xd5\x6f\x9c\xc8\xb6\xe2\x02\x5c\xea\xd1\x2c\xd6\xbf\x86\x4c\x52\x55\xae\x51\xd5\x8c\x54\xfb\xcd\x2c\xb1\xd7\x0f\xc0\xfd\xea\xb2\x37\x43\x32\x2f\xbf\x20\x79\x13\x5c\x4f\x28\xc4\x3d\x33\xbf\x6c\xe9\x6d\x08\xba\xb1\xf3\x85\x5c\xb0\x41\xcb\x4c\xb6\x69\xe2\x2a\xf7\x60\x9d\x4b\xef\xef\x33\xcc\xc3\x10\x66\x47\xe6\xa5\xe0\x81\xcb\x3a\x54\x36\x80\xa8\xe4\xcc\x25\x7e\x51\x4c\x5c\x8b\x72\x6d\x93\xfe\x3a\xb6\x1c\xa6\x6e\x6e\x53\xa3\xd3\x9d\xb6\xc1\xb5\xda\xed\x49\xb7\x95\xd5\x60\xae\xcb\x6d\xff\x1a\xe6\xd5\x94\x89\xa8\xb9\x5f\xe3\x59\xbb\x43\xef\x88\x29\xec\x04\xc0\x6c\x6e\xe5\x26\xa7\x0b\xdf\xd9\x92\x20\xba\x05\x64\x73\xc6\x6d\x4e\x40\x70\x86\xb2\xb2\xef\x53\x32\xf2\xcd\x85\x9e\xc9\x14\x92\x02\xa2\x79\x81\x72\x65\xa3\xc3\xbd\xb2\xee\xb5\x20\x0d\x20\xe4\x19\x57\x24\x13\x26\xe8\xbb\xff\x17\x56\x2e\x8b\x20\xa5\x28\x36\x93\x49\xb2\x2c\x77\x70\xb4\x8a\x44\x95\x9d\x34\xc1\x38\xc0\x1d\xb4\xc0\xa5\x1d\xe3\x4e\x1a\x60\xec\x1d\x69\x7f\x5d\x8a\xfa\x36\xd5\x2f\xad\x2a\x7c\x53\xd4\x32\x13\x63\x76\x6f\x59\xb4\xa4\xb8\xb6\xc2\x99\xdd\x38\x48\xcc\x81\x03\x67\xc5\xb4\x0f\x39\x39\x4a\x01\x6e\xca\x93\x65\xee\x14\x38\xca\xe5\x3b\x74\x76\x5d\xac\x17\x82\x19\x88\xa1\x68\x98\xf5\xa1\x73\x83\xfa\x84\x66\x60\x24\xa3\xfc\xe3\xd6\x6f\x7f\xcd\x56\x7c\x3d\x64\xec\x89\x84\x64\x48\x92\x84\x21\x23\x09\x2d\xcb\xb1\x05\xe6\x80\x60\xe4\x4a\x92\x93\x83\xdf\x72\xc1\xf8\x44\x63\x5e\x55\x2b\x47\xa1\x58\x35\xc9\xb9\x9a\x09\x85\xd5\x1b\x95\xb6\xc5\x65\xb2\xc2\x96\xc2\x08\xe6\x05\x35\x45\x94\x86\x14\xe8\x4a\x0b\x9e\x02\x02\xb0\x8c\xa2\xcb\x75\x89\xca\x21\xca\x06\xe0\x4a\x57\x18\x31\x00\x72\x28\x28\xcd\xd5\xac\x12\x39\x02\x68\xd9\x87\xc4\xbf\x4b\xad\xb2\x54\x54\xaf\x19\x60\x7a\xa8\xf6\x75\x75\x5c\x5c\xe9\x57\xe5\x6c\x74\xb6\x39\x79\x40\xde\xda\xee\x6a\x4b\x30\x34\xbf\x8e\xc0\xca\xea\xa2\xe5\xd4\x87\x90\x4b\xba\xbc\x53\xe6\xb8\x47\x69\xff\x1a\x5e\x3b\x5b\x6c\xe2\x94\x2b\xfc\x4f\x37\x32\x5d\x90\xd4\x51\x69\x12\xb4\x78\xec\x8d\x73\xdd\x9a\xe1\xe9\x6e\xe6\xaa\xdd\x9e\x7e\x1b\xad\x72\xad\xb8\x7c\xb4\x93\xf3\x81\xcf\xed\x15\x27\xc4\xef\xfa\xf7\x6c\x15\xe7\xb6\x3c\x7f\x55\xfa\xfe\xfe\xa8\xe1\x52\xab\xd4\xab\x2c\x62\xde\x50\xb4\xc6\x57\x96\xc2\x95\x2d\x72\x76\xf0\xe8\xfe\xa8\x9d\x20\x73\x76\xf7\x91\xb9\x04\x55\x95\x3c\xec\x28\x14\xd2\xd5\xff\x69\x70\x50\x60\xda\xbd\x11\xe4\x1c\x75\x34\x63\x41\xca\x97\xa0\xfa\x11\x1e\x45\x90\x43\x0c\xb4\xe0\xb2\x72\xab\xe8\x62\xb8\x73\xa9\x34\xc3\xa0\x4a\xfb\x96\xed\x33\x7e\xc5\x23\x69\xb7\x17\x2c\xae\x90\xba\x1f\x03\xb2\x93\xf0\xf0\x82\x47\x31\xf4\x82\x78\xac\xa4\xcc\x30\x9e\x90\x26\xe8\xef\x58\x57\x16\x69\x6e\xd1\xe1\xb1\x87\x5c\x8a\x78\xab\x01\xe6\xd8\xab\xf7\x1d\xa9\xb1\xe9\x90\x0b\xe2\x05\xad\x9c\x7f\x94\xe1\x83\x18\x01\xe0\x90\xe6\xd9\xe2\x7c\x7b\x76\xb7\xe0\x34\x46\x5e\xbb\xc1\xc1\xf4\xb5\x45\xab\x1c\xc8\x26\x1a\xfd\xed\xb7\xd0\x85\xb9\xde\x20\x48\xac\x78\xc4\x6a\xa0\xe9\x01\x10\xe4\x2d\x76\x8e\x14\x3e\xec\xd7\x6e\x4f\x1f\xa3\x81\xc2\xbb\x4f\xe0\xbe\x19\x2c\x30\x17\x20\x89\x3b\x07\x59\x9e\x87\xce\x0d\xbb\x22\x71\xfb\x34\xd5\xce\x29\xc0\xc5\xbd\x86\x0b\x0a\x82\xe0\x0b\x25\x4a\xfd\x18\xc8\x2f\x0e\x94\xed\x57\x9b\x7a\xe0\xd6\x60\xd0\x90\xc5\xb2\x8a\xd1\x30\xeb\x5f\x1b\x52\x29\x23\xfa\x76\x94\xbe\xb4\x95\xd7\xdc\x3e\x65\xe1\xf9\x37\x48\xab\xa0\xa6\x61\xe7\x42\x77\x88\xdf\x8f\xa4\x1d\xa4\xde\x1d\x26\xd2\xab\x05\x5a\xec\xef\xb3\xc7\x52\xcf\xbc\xe7\xcf\x8e\xcb\x24\x5c\x6e\x5c\xa4\x13\x17\xff\xc8\x65\xd6\x27\x12\xe6\xeb\xa4\xe2\x42\xd9\x1c\xa4\xb3\xac\x30\xe7\x59\xa4\x19\xd7\x02\x2d\xc0\xb8\x3e\x7a\xaf\xef\xb6\x93\xf7\xb6\xcd\xa5\x75\xdd\x75\x35\xfd\xf6\xcd\x0a\xb2\x5b\xc2\x2c\x77\x38\x89\x75\xa8\xb1\x7d\x78\x83\x4d\xa3\xf9\x0c\xda\x28\x86\x8d\xd7\x63\x7b\x9e\x81\x4f\x72\x43\x7a\xf0\x7f\xf0\x0d\x69\x45\xf0\x78\x1d\x5d\x9c\x68\x22\x8b\xb4\xfd\x92\xf4\x7e\x51\x8d\xf7\x64\x08\x2f\xbc\x2a\xa1\x56\xd0\x7f\xf3\x9b\xf2\x71\x94\x02\xc1\x5d\x96\x15\x51\xb3\xf5\xbe\xa4\x04\xdc\xbb\x32\xf6\xef\x8e\xaa\x42\xec\xb6\xeb\xd2\x73\xbd\x60\x97\x76\xbd\x31\x61\x03\x37\x5f\x98\xa6\x49\x7c\x4a\x43\x27\xba\x66\x76\xb1\x3d\x7b\xc3\x27\xbb\x19\xeb\xe2\xc6\x26\x14\xba\xeb\x91\xb6\x25\x0b\x4f\x7f\xc3\xad\x11\xe6\xb3\x68\xba\x30\x6a\x0c\x74\xd7\x6b\x23\x00\x7c\xe7\x9b\x63\x87\x2b\xf1\x13\x2d\xae\xca\x8d\xff\xf0\x05\xba\x01\xff\x27\x5d\x88\xf5\x93\xd6\x36\x9d\xdd\x6f\x43\x07\x73\xfb\x65\x08\x44\x13\x9a\x6a\x8c\xf8\x0d\x79\x78\x3c\x5f\x51\x9b\xaf\xc5\x8b\x80\xcf\x73\xa5\x96\x73\x5b\x12\x35\x52\x00\xf4\x00\x6a\xf5\xc5\xdf\xc3\x82\x1e\x3c\x2f\x05\x4f\xd7\xa4\x79\xec\x53\x4a\x2f\x7b\xd9\x41\x13\x50\xb6\x1b\x1a\xb0\xf7\xa9\xbf\x40\x4a\xb9\x0a\x52\xab\xe3\xad\x7c\x0f\xeb\x30\xf9\x6f\x45\x91\xf6\xa2\x85\xc2\xca\x82\xfb\xab\x14\xc9\x3a\xc9\x85\x0a\x1d\xd0\x21\x55\xca\x4c\x54\x4b\x58\x92\x5b\xf4\x42\x2a\x98\x0a\x7a\x52\xdb\x82\xc2\x56\x6d\x56\xca\xd5\x39\x56\x8e\xb6\x1a\xbc\x42\x58\xe3\x6b\x36\x61\x85\x48\x84\x52\xbc\x5c\xff\x77\xbd\x42\x43\x85\x4d\xad\xbe\xd0\x26\x05\xce\xa6\xea\x32\x3f\x0b\xb1\xc0\x88\x60\x0c\x31\x4e\x85\xa2\x6a\xef\x2e\xcb\x29\xad\x13\x93\xc7\xbb\x62\xb2\xa2\x00\x03\xad\x28\x29\xb3\x0e\x64\x04\x80\x0a\x04\x8c\x5d\xcc\x6c\x69\xe7\x09\xcf\xf2\x65\x29\xa2\x52\x25\x78\xce\x5e\x1b\x40\x10\x0f\x10\xc1\xf7\x70\xec\x29\x25\x56\x14\xb4\x82\x83\x5d\x6b\x47\x97\x5f\xd0\xce\x57\x24\xc2\x04\xf6\x9d\x27\x19\x3a\xe6\xbb\xb9\x13\x18\x58\x77\x87\x6e\x54\xaa\xb0\x14\x0c\x87\x39\xeb\x27\x4d\x37\xb6\x03\x7d\x6a\x41\x8a\xe8\xa4\x3b\x7d\x4b\xd3\x38\x90\xa7\x5b\x70\x5b\x0d\x25\x18\xd2\xaa\xd0\xa3\x59\x84\x7f\xd5\x1d\xeb\x99\x03\x15\x84\x2e\x47\x3c\xcd\xfe\x5e\xe5\xa2\x46\x26\x9a\xc9\x52\xcf\x28\xd1\x07\x46\x45\x28\x4a\x6d\x3d\x95\x14\x36\x8e\x71\x38\xb9\xd4\xc3\x6a\xbd\x95\x73\x5f\x35\xa5\x85\x89\x3f\xaa\x76\x39\xb5\x05\x55\x1a\x19\x74\xac\x2e\x35\x08\x67\x75\xa1\x29\xac\x8f\x04\xa6\x52\x9c\xaf\xb8\xe1\x73\xac\x53\x17\x26\x94\xa3\xa3\x9a\x69\x51\x72\x9b\xfc\x66\xb7\x08\x08\xab\xe4\x85\x0d\x7c\x52\x72\xe7\x7f\xf0\x9c\xeb\xd9\x70\x9e\x61\x7d\xe2\xaa\x96\x71\x87\xcb\x7a\x8b\x71\x0f\x05\x3c\xb3\x1d\x5d\xa0\x93\x60\xe4\x83\x47\xc1\x9f\xdf\x55\xa7\x16\xfc\x78\xff\x7e\x18\x9e\x51\x06\x6a\xe7\x40\x65\x7d\xdf\xb7\xaf\xd4\x09\x33\x84\x1f\x3c\x69\xdc\x39\x03\x9f\x90\xce\xb5\x60\xb3\x4c\xd7\x45\xe6\x95\x77\x25\x40\x79\x86\x71\x60\xd4\xb6\xba\xa9\x0b\x16\x59\x45\xe5\x2c\x84\x4e\x66\xa4\xfb\xfd\xd0\x2d\x43\x8d\xb5\x3b\xda\xd4\x25\x74\x06\xb2\x35\x55\x72\x39\xed\xee\x9d\x18\x06\x5d\x74\x34\x03\x60\x58\xb8\xcf\x40\x19\xb1\x3d\x76\x9f\xd5\x60\x32\x36\x2e\x05\xbf\x72\x9e\x3f\xf7\x76\x10\xca\x68\x0a\x7d\x16\xd8\xe9\x61\x16\x3a\x2b\x96\x22\x12\xb3\x5c\xb5\x35\x8f\xf7\x23\x56\x2d\x89\xe2\x73\x56\xd9\xd8\x24\x32\x8b\x60\xae\x69\xc8\x3e\xd5\xc7\x0b\x8a\xe7\xb2\x98\x5a\x0c\x6e\x28\xa6\xb6\x71\x42\xf5\x33\xfb\xf9\xe7\xf5\x83\xbc\xcb\x94\xeb\xcf\x76\x5b\x28\x31\x36\xf7\x60\xbe\x6a\xca\x39\x81\x97\x35\xdc\x21\x1e\xd6\x4a\x60\xf9\x53\x2c\x49\xce\xe0\x51\x13\xdf\x10\x45\x5c\xb7\xe4\x3c\x16\x6b\x1d\x36\xea\xeb\xb8\x13\x6a\x88\x37\x85\x88\x39\xad\xbc\x2f\x77\x43\x8b\x28\xd2\x3f\x0f\x29\xa7\xfe\x31\xd3\x84\x92\xd3\x9a\x96\x6c\x27\xe2\x8d\xea\xb5\x9c\x7b\xa5\x35\xab\xfd\x78\x5a\x91\xf4\xd1\x71\x4c\x04\xd7\xa2\xd3\xa7\xee\x37\x55\x0f\x25\x99\x2f\xf2\x35\x03\xaf\x23\x02\xb6\x16\x64\xd2\x8c\x38\x0a\x14\xad\x15\x3c\xfd\x1f\xc5\x59\x90\xd0\x6c\x9d\x51\x8c\x61\x84\xfc\x40\x3c\x67\x7c\x6c\x33\xff\x31\x24\x10\xac\x96\xda\x01\xc6\x22\x97\x25\x19\xa8\xcf\x04\xb0\x16\x0b\x2e\x0b\xca\x29\xba\x02\x9b\x41\x64\xa7\x19\xcd\xd7\x22\xba\x0d\x82\x9b\xd1\xfb\x7b\x90\x1b\xa0\xb6\x81\x58\x6b\x43\xdd\x85\x53\xde\x76\x9f\xc2\x45\x46\xef\x55\x27\x99\x8d\x97\xd3\x29\xc6\xf4\x6e\x7c\x76\x36\x85\x3f\xd6\xa0\x46\xca\x9e\xd6\xb8\xcc\x7b\xed\x3c\x23\xb8\xd3\x63\xb3\x27\x24\x0a\x32\xf4\x33\x96\x7a\x66\x93\x4d\x8e\xf9\x14\xdd\xa0\x89\x5d\x41\x9d\x06\xf7\x90\xb3\xf1\x1a\x41\x9a\x09\xeb\x51\x80\xb9\x63\x5d\x04\x4d\xe4\xbe\x68\xf5\xbc\x8d\x85\x84\x0d\x1c\x0a\x7e\xe5\xb6\xd8\xbf\xc2\x9a\x02\x50\x3a\x48\x4e\x26\x36\xa3\x81\xcf\x5d\xcb\x26\x19\xe6\x99\x5d\xea\xc0\x0d\x9b\xb2\x6e\xbb\x64\xc2\x3b\x04\xc8\x07\xce\x03\x9b\x7c\x6d\xa2\x9c\xbc\x2d\xc9\x82\xe2\x46\x95\x90\x90\x30\x78\xa4\x0d\x5a\x5d\x27\x11\xb5\xec\x45\xa4\x10\x90\xc0\xf6\xa9\xd5\xda\x6d\x98\xdd\x06\x98\xf5\x09\x56\x1b\xd7\x35\x26\xaf\x0c\xe7\x89\x22\xb2\xc9\xb1\x07\x82\xfe\xe5\xc4\x29\x24\x9c\x5f\x4a\x55\x29\x32\xe7\x6b\x74\xa6\xb2\xae\xa8\x24\xea\x5b\xd7\xae\x0f\x5b\x77\x1a\xc6\xb2\x3c\xab\x12\xbb\xef\x71\xd5\xea\x97\xf0\x8e\x9a\x39\x89\xe0\x3d\x06\xef\xe3\xdb\x2d\x58\xeb\x0f\xc0\xd2\x42\x47\x71\x97\x55\x77\x0a\x25\x90\x33\xf2\x93\xad\x45\x5b\x68\x2c\x41\x86\x5d\xec\x69\x43\x14\x65\x93\x40\x53\x22\x4b\xdb\xe3\xef\x4b\xd0\x37\x14\x40\xf8\xae\x4b\x98\xa3\x00\x73\xc9\x05\xa6\x09\x87\x30\x92\x3c\x17\xa5\x9c\x96\x42\xb9\x4c\x17\x81\xd1\x24\xb5\xd5\x70\x83\xd8\x0f\x33\x9b\xad\xa8\x8e\xae\x87\x0a\xaa\x2b\xfa\x09\x57\xab\xd8\x91\x73\xb3\x3b\xc9\xe7\x9f\x07\xc5\xbf\x8b\x0d\x8e\x27\x96\xe4\xc3\x67\x5e\x63\xc3\x77\x6e\x23\x6b\xda\xe0\xb0\x6f\x5b\x4a\x83\xe8\x92\x8a\x0f\x64\x13\xf9\xf4\xfc\xd9\x8a\x08\xd1\xf2\xff\x7b\x95\xea\xcd\xf5\xf4\x89\x3c\xcf\xa3\x04\xcb\xd7\x99\x58\x2d\x76\x8b\x92\x36\xfd\x8f\xf3\xbc\x39\xde\x00\xcc\x7e\xf0\x02\xaf\x30\xbb\xda\xcb\x38\x2a\xa7\x77\x50\x51\xd6\x6c\x74\x90\xde\x5d\x1b\xdc\x0a\x21\xba\xad\xed\x9c\x9b\xe5\x91\x83\x5e\xe3\xad\x1b\xdd\xe9\x16\x42\xbf\x62\xbf\x0e\x7a\x6e\x70\x7d\xaa\xd0\x4b\x75\x3a\x6d\x89\x15\x5c\x29\x2d\x72\x44\x8a\x5c\xc2\xda\xf5\x02\x6c\xc0\x0e\x1f\xc5\x3d\xff\x7f\xf6\xfe\xbe\xbb\x8d\x1b\xcb\x13\xc7\xff\xf7\xab\x80\xb3\x33\x26\x19\x93\x94\xec\xdd\xec\x74\x4b\x51\xf7\x4f\x96\xe5\x69\x6f\xec\xc8\x47\x92\x93\x9e\x71\x3c\x0e\x58\x05\x52\x68\x15\x0b\xb5\x05\x90\x14\xd3\xf6\xbe\xf6\xdf\xc1\xbd\x78\xac\x42\x91\x25\xc7\xe9\x87\x39\xdf\x3e\x73\x26\x16\x0b\xcf\xb8\x00\xee\xe3\xe7\x1e\x27\x5e\x80\xe4\xba\x45\x7b\x16\x76\x9b\xda\xbe\x0e\xbb\x46\xff\xdd\xeb\x6a\x20\xda\x3c\x33\x8a\xf4\xde\x45\x43\x4c\x6e\x63\x68\x22\x33\xa5\xdb\x3b\xd2\xe8\xa3\xcf\x02\x1d\xef\x4c\x2c\xec\x83\x54\x9b\x89\x84\xc3\x9c\xac\x36\xcc\x34\x20\xaf\xc3\x46\x11\x76\xa7\x58\xe9\x46\x3e\xb6\x23\x4d\x24\x68\x0f\x9c\xf0\x5a\x6e\x8c\x69\x54\x82\x25\xbd\xe3\xcb\xd5\xd2\xba\xa4\xbb\x08\xa6\x28\xd8\xbf\x07\x58\x91\x28\x8a\xd7\xf4\x2e\xba\xb9\x59\x04\x4b\x30\x4c\x47\x32\xa8\x86\x67\xfa\x28\xf2\xdc\x56\x9d\xfe\xe1\x3b\x9d\xbf\x27\x41\x13\xbb\xbb\x85\x78\xb7\xa6\x0b\x38\xac\x84\x7f\x7c\xdd\x71\x30\x0f\x9b\x32\x59\x53\x3a\xdc\x52\x43\x64\x04\x88\x05\x62\xf5\x27\xdf\x06\xfe\x7f\x53\xdd\xe8\x7b\x51\xe7\xb5\xcf\xbd\xdb\x85\xb2\x41\x26\xbf\xae\x07\x52\xed\xf3\x54\x4d\xfb\x46\xd6\x5e\xcf\x77\x2f\x77\x48\x1f\x80\x26\x8a\x02\x07\xe6\x9a\xda\x11\xc0\xe4\x36\xb9\x6b\x83\x1b\x2d\xbf\xa6\x77\x71\x64\x9b\x21\x37\x3c\x4c\xa0\x97\x71\x23\xf8\x83\xaf\x83\x2f\x68\x38\x38\xf7\x29\xbe\x0d\x1d\x4a\x86\x2f\x7a\xe2\xeb\xb5\x3c\xe4\xbb\xea\xf8\x2a\xfd\x70\x99\xf6\x92\x5a\x9c\xff\xe2\xef\x42\x6d\x2e\x2e\xea\xbf\x37\xc1\xed\xbe\x51\xe0\x3e\x76\x5d\x4e\x3e\x33\x62\x2f\xa6\xd3\x6f\xc9\x61\x9b\x3e\x0f\x7f\x73\xba\x4c\x3f\x03\x4e\x9d\x62\x89\x05\xdd\x3b\x83\xd8\xb0\x48\xfa\xe0\x32\x8e\xb6\x68\xbc\x1e\x53\xb2\x47\x6c\x40\x1b\x67\x1d\x00\xea\x41\xc4\xb7\x16\xe4\xbf\x46\x7d\xd2\xd7\x20\x4f\x28\x7b\xe1\xf6\x79\x85\xae\x23\x0f\xfb\x34\x38\x0e\x98\x63\xc0\xa2\xda\xb5\xc0\x07\xdd\x9b\xd8\xf9\x88\xb6\x56\x0f\x5c\x7d\xfe\x31\x16\x0f\xaf\x90\x3e\xeb\xf7\xac\x19\x76\xd0\xed\xac\x6c\x11\x08\x23\x03\x51\xf2\x4c\x00\x1f\x1a\xac\xda\x9f\x00\x1e\x1e\xf3\x67\x99\x89\x83\xd6\x45\x86\x08\xa4\x36\xe1\x5c\x94\xe3\x19\x74\x3d\x9e\x53\x18\xc8\xe0\xe0\xd8\xc4\xcc\x26\xc2\x5e\x82\xc6\x07\xd7\x69\x49\x41\x01\x90\xaf\x98\xbd\x54\x21\xa5\xca\x92\x96\x98\xef\xd3\x9b\xf5\x6d\xa4\x10\x48\xcb\x14\x57\x9c\x2e\x97\x54\xf1\xcc\xb4\xbb\x77\x15\x5d\xba\xbd\x04\x1f\xd4\x33\x50\xdb\x5d\x13\x71\x74\xe5\xc3\xe0\x3e\x8c\xe2\xb7\x9d\xaf\x56\x3b\x08\xb6\x5d\xc7\xc4\x71\x8f\xc2\xcc\xf4\x5c\x9a\x65\xd6\x2b\x45\x0b\x29\x60\xbd\x43\x65\x09\xc4\x2d\x0e\x67\x2b\x15\x07\xb1\xc1\xcf\x50\xf5\xe1\x68\x1a\xb5\x67\x72\x47\xb4\x73\xa8\x60\xee\x9d\x68\xb5\x09\x95\x51\xae\x28\x6c\xd7\xb5\xf7\xb2\x34\xe1\x47\x00\x8c\x07\x76\x43\x1b\x60\x8e\x99\x44\xc3\x23\x84\xf3\xa0\x65\x4e\x0a\xa6\x88\x4d\x7d\x6d\x9b\x32\xe9\xec\xd0\x6e\x8d\xa7\xcc\x1a\x12\xc6\xe8\x04\x0a\x0e\x0b\x39\x59\x55\xa6\xc1\x20\x37\xf3\xa6\x16\x10\xa0\x8e\xe9\x5e\x5c\x9c\x3f\x78\x81\xd2\x68\xd0\x28\x7b\x38\xd8\x08\xd2\x76\xbf\x33\x25\x82\x90\x37\x54\x39\x18\xf0\x03\x9f\xc2\x31\x85\x7a\x30\x6a\x40\x7d\x72\xc8\x07\x9d\xd1\x12\x20\x07\x6b\x9e\x9b\xa4\xb7\x2e\x8b\x92\x59\xad\x1b\xe6\x9e\x4d\x48\xee\xd8\x38\x76\xb6\x21\x4d\x04\x19\xb5\x6b\xd9\x4a\xbd\xd7\x6a\xd6\xe5\x39\xf2\x40\x85\x4e\xb1\x04\xc4\x04\xab\x6e\x2d\xec\xbe\xcf\x5e\xc7\x08\x12\x4e\x36\x8f\xd2\xce\xcb\x64\x92\x9a\x5b\x78\xa5\xfc\xe8\xbf\x87\xf7\x8a\xbf\x17\x2c\x85\xf2\x78\xb5\xf4\xe2\xba\xbb\xb7\x35\x74\x42\x9e\x19\x68\x03\x78\x3b\x6b\x51\x2a\xc8\xff\xe3\xd2\x0b\xa5\xa3\xd8\xac\xaf\x8f\xc9\x22\xe8\xc8\xea\xf9\xcb\x1f\xc6\x21\x5d\xe3\x10\xac\x27\x12\x58\x72\x66\x5b\x9b\x78\x31\x0e\xe1\x83\xe1\xd1\x35\xc3\xb8\x55\x9b\xbf\xd1\xde\x76\xf7\x5b\xf9\xd4\x2d\x06\x94\x1a\x95\x1a\x32\x9f\x02\x9d\x4d\xcd\xa0\xde\x20\xdd\xb0\xbc\xc5\xa3\x1c\x1c\x90\x17\x7c\xb1\xaa\x21\x4d\x12\xb9\x11\x1b\x32\xa7\x26\x83\x07\xee\x8a\xa6\x2c\x49\x30\x4b\x0d\xce\xdf\xba\x61\xe4\xac\x50\x34\x08\xde\xb6\x23\x78\xae\x7f\xb7\xc3\x30\xb1\x76\xcd\x18\xef\x80\x7b\xc3\x76\xec\x4d\xab\x42\x56\x4c\x05\x4c\xd8\x7d\xa4\x0f\x95\x92\x3b\x54\x97\xc4\x21\x2a\xef\x74\xd8\x1c\x5e\x70\x35\xbf\x46\x6f\x2b\x3f\x72\x93\xf7\x8c\x46\xd7\xdd\x98\x6c\x6e\x78\x76\x43\x54\xcd\x17\x0b\x56\xcb\x20\xc2\x38\xb8\x8f\x52\x4c\xa1\xd2\xec\x60\xe4\xac\x1b\x9f\x76\x3c\x19\x1b\xf0\xe1\x70\xe9\xb1\x2d\xf6\x28\xde\x9f\xea\x86\xd5\x6c\xe0\xa8\xd2\x36\xe6\x76\x2e\xbc\xae\x2b\x6a\x34\xc6\xb8\xcd\xea\xa6\x86\x58\x77\x29\x82\xe4\x51\x36\x65\x15\xa6\x76\xc3\x04\x64\x6b\x56\x7b\x32\xe8\x4a\x07\x1a\x99\x0e\xce\x0c\xd4\x1a\x73\xe4\x45\x49\x70\x2f\x58\x8b\xa5\x6b\x35\x12\xa2\x80\xa2\x20\xd7\xcd\x27\xc2\xe0\xea\xc0\xe4\x6a\x61\x03\x7a\x36\xb5\xc8\x18\xe6\xbf\xf0\x70\x85\x88\xf8\xf1\x89\xfc\xc9\x74\x3b\x74\x5a\x94\x51\x44\xcd\x7d\x84\x2f\x4f\xd9\x1d\xbc\x84\xa1\x62\x2d\x99\x6c\xb8\xca\x6e\xf0\xf4\x15\x8a\xbe\x0e\xac\x38\xfa\xd5\x24\x7e\x4a\xd3\xe7\x17\xaf\x3f\x3c\x3f\x7f\x75\x7d\xfa\xe1\xcd\xcb\x3f\x9f\xbf\x3a\x72\xa6\x47\xec\xc7\xb4\xf0\x1f\x56\x94\x09\x86\xf2\x1a\xc3\xd9\x39\xab\x3f\x24\x6c\xac\xdd\xfd\xbc\x7a\xf9\xfd\xf9\xbe\x6e\xd2\x12\xd3\x3d\x3a\x79\x73\xfa\xef\x9f\xd5\x49\x30\x4f\x38\x1e\x0b\xa6\x42\x24\xa3\xa8\xff\x4f\x81\x27\x99\xe4\x8b\x12\x19\x73\x48\xaa\x9e\xe3\x7b\x07\xc9\x09\x35\xc5\x03\x79\xb1\xbb\xca\xa4\x76\x33\xe4\x81\x03\xfb\x9a\x4c\x0c\x47\xfc\x99\x6f\x38\x84\x92\xff\x63\xbf\xde\x90\x06\xb9\xe7\xbb\xdd\x9c\x4e\x9f\xa6\x77\x3c\x4c\xf0\xfd\xfe\x4f\xd2\xf9\x1d\x80\x10\x19\xd1\x97\x15\x79\xe0\x85\x7c\xed\x47\x68\x62\xee\xd1\x77\xcd\xb1\x90\x92\xae\xd1\x71\x05\xdb\xc2\x92\x39\xc7\x7c\x77\x63\xfd\xfe\xde\x50\x49\x6a\x66\x20\x7a\xe0\x65\xc3\xdc\xf7\x08\x61\x2a\xc9\xb0\xe0\xb7\x0c\x71\xcf\x46\x06\x68\x5a\xb7\x84\xb9\xfb\xa5\xe2\xd9\xad\xf5\x03\x46\x20\xb1\x42\xe8\x2d\xe1\x4b\x66\x04\x1d\xb2\xa1\x5b\x3d\x12\x30\x77\xc2\xf3\x2f\x97\x00\xdd\x8d\xed\x3b\x60\x25\xb1\x42\x73\x80\x59\x45\xa9\xa8\x62\x53\xff\xd6\xad\x66\xad\x9d\x53\xf6\x26\x89\x72\x2f\x10\xc2\xf3\x23\xa2\xa6\x3c\x67\xa5\xe2\x73\xce\x6a\xeb\xca\xb8\xd5\x3f\x23\x58\xd8\x7f\xd8\xdf\xee\xfc\x6f\x7f\xc6\xdf\x3e\x1d\x63\xd2\x05\xd3\x35\x1f\x23\x19\x1c\x47\x97\x99\xde\xf1\xe8\x1e\x0b\x73\x89\x1f\x79\x9f\x9f\x2b\xba\x66\x0d\x57\x6b\x94\x26\x00\x73\x41\x5a\xa7\x1f\x70\x92\xe4\xe8\x18\xc9\xc9\xb7\x84\x4d\x0d\x40\xf6\xb5\x29\x87\x3a\xf4\x63\xf2\xf8\x31\x0f\x5d\x7c\x94\x59\x12\xbf\x3e\xc3\x66\xd5\x77\xfc\x7d\xe0\xd5\xe3\x64\x2e\x5c\xe5\x77\xd0\xc0\x94\xe7\xef\xe1\xcd\x35\xd3\x24\xc6\xb7\x36\xb8\x62\x9a\x13\x35\xc9\xc5\x8f\x9a\xbf\xb3\x32\x0f\xa7\x0f\x6e\xd4\x84\x6a\x0a\x60\x77\x5c\x2a\x14\x5a\x60\x5c\x96\x5c\x07\xe0\xf8\x50\x72\x79\xc3\x72\x70\xe1\xf9\xac\x35\x71\x13\x34\xb0\x1e\xcd\x79\x26\x56\x25\x20\x90\xf7\xc7\xbb\x67\x0b\x99\xdd\x83\x69\xfd\x48\x8b\xdb\x10\x7e\xde\x4e\xc9\x22\xf1\x8b\x92\x05\xf2\xde\x92\xd5\x0b\x16\x14\xe7\xb5\x6f\xc9\xe8\x04\x08\x2f\xf5\xb9\x2b\x19\x5e\xc4\xf6\xe4\x14\x4c\xdf\x9b\x16\xab\x65\xce\x4b\x60\xa2\x0c\xfb\x32\xa7\xd2\x80\xec\x12\x12\xf3\xa0\x87\xc7\x7f\x6b\xb2\xc2\x9e\x1f\x5b\xb0\x9e\x14\x81\x4d\xb7\x80\x60\xa4\xff\xda\x7e\x1e\x41\xfa\x55\x7b\x09\x4f\x9b\x43\x61\xf4\x7b\x60\x40\xc5\xbc\x84\x8c\x37\x9d\x96\x5b\xc4\xdc\x49\xfa\x1b\x5e\xe6\x06\xf5\xcc\x0f\xfe\xeb\x13\x78\xfc\x82\xe5\xec\xcb\xa9\x13\x92\xe0\xd6\x9b\x1c\xbb\x6d\xb4\x0f\xd7\x1e\x36\xd8\xe2\xdc\x49\x07\xf7\x1e\x56\xda\xcb\xc1\x93\x2f\xca\xc5\x93\xbd\x9c\x7c\xf2\x4e\x09\xd8\x16\x41\x72\x93\xfe\x7f\xc1\xa4\x5a\x69\xd1\x17\x21\xf5\x50\xa0\xc4\x24\x67\xa5\x62\xf5\x9c\xd5\x2e\xaa\x43\x3f\x18\x6e\xa7\xf5\x48\x52\xec\x77\xc7\xcb\x1e\x6a\x88\x22\x59\xdc\xd3\x08\x78\xa4\x40\xa9\x95\x24\x72\x05\x64\xe6\x95\xbe\xa0\xd7\x94\x8a\x6e\x65\xa0\x09\xb6\x1e\xa0\xba\xb1\x0a\xde\xd4\x86\xb1\xc4\x60\x87\xea\x7a\xf7\xd4\x81\x5a\x85\x51\x8a\xbd\x00\x00\xaf\x89\xc3\x30\x97\xbc\xcc\x98\xd3\x30\x59\x5e\x09\xb5\x5e\x7a\xee\x51\xce\x5d\xab\x94\xdc\x09\x1a\xbf\x0b\x6f\xf4\x9e\x1c\xa2\x4f\x8c\xff\x8f\xca\x20\x9e\xe9\x11\x36\x16\x99\x74\x90\x91\x9e\xcd\x44\x89\x49\x56\xf0\x6a\x26\x68\x9d\x37\xa6\xf6\x72\x9e\xca\x56\x82\xf6\x6f\x96\xfb\xf0\x4c\xef\x0f\x08\x48\x47\x74\xeb\x02\x10\xe6\x9a\x0e\x79\x19\x44\x90\xf9\xd8\xbc\x44\xd4\x79\xec\xbb\x6d\xdf\x91\x1b\x33\x64\x07\x73\x08\xaa\x1d\x3e\x37\xcf\xef\x92\x4b\x89\x68\x4f\x3e\x47\x88\x1b\xa3\x62\x77\xca\xe4\x27\xd7\x93\x21\x95\xa8\x40\x7e\xc5\x57\x0e\xf3\xe0\xdf\xb8\x18\x76\x46\xbe\x0a\x9c\x2e\xbf\xf2\x3e\xb9\xb6\x0f\xdd\x5c\xcf\x4d\xd8\xc1\x49\xeb\xcf\xf7\x64\xa4\x2d\x05\xdf\x0b\x5b\xe9\xb3\x80\x4f\x9a\xa1\xdc\x93\x1e\xa1\xca\xe4\x69\xcc\xcb\x46\xde\x1b\x7f\x0b\x78\xa6\x5d\x30\x20\xc1\x30\x3b\xf0\x5b\x94\x51\x92\xcb\x30\x32\xbd\x8d\x36\xe4\x1d\xb0\x59\x99\x3f\xa3\xd9\xad\xa6\x6e\xe3\xad\xe2\xdc\x90\xf7\xac\x66\x72\x0c\x28\x27\x41\x24\x7c\xbf\x31\x90\xd6\x08\xba\x22\xb9\x22\x87\x9a\x86\x5b\x4e\x23\x1a\x1f\x7d\x61\x64\x02\xb8\x66\x5f\xa7\x3b\xdd\xd3\xda\x8e\xdd\xbb\xbc\x72\xbb\x9c\xaf\x20\xb5\xc1\xb0\xf1\x5e\xef\xd8\xeb\xc7\xe4\xc9\xb8\x35\xde\x1e\x9e\x68\xed\x01\xee\x8f\x24\xeb\x1a\x4c\xdb\xe7\xaa\x87\x27\x5b\x07\x35\xb7\x90\x73\xfa\xe0\x2b\x34\xb6\x33\x88\x12\xf3\xa4\x0c\xa3\xed\x49\xcc\x09\x4c\xa4\x8e\x61\x74\x52\xf4\x8e\xd1\x90\xc4\x58\xba\x23\x1a\xa3\xad\xde\x4f\xdc\x50\x4d\xa6\x51\x26\xf6\x77\xdf\xcb\xa5\xcf\x8f\xe3\x41\x6f\x37\xef\x9e\xe4\xde\x1e\xd9\x78\xcf\x71\xef\x4b\xea\xcd\xf1\x75\xb4\xdb\xd6\x04\xbf\x10\x19\x30\xdb\xc6\xd2\x8e\x99\xed\x8d\x1f\x8c\x28\x09\x25\x98\x38\x9e\xdc\xb2\x6d\x2e\x36\xa5\xe5\xc5\xa9\x34\xec\xc0\x8b\x17\xba\x8c\x59\x08\x66\x13\xab\x5b\xab\xce\x12\xd3\xe6\x63\x52\x7d\x96\x87\xd6\x51\xec\xa9\x5f\x3c\x81\x28\x9f\x89\x7c\xfb\x1d\xdb\x3e\x17\x9b\x32\xf5\x20\xfb\x17\x32\xc8\x05\xda\x7c\x7b\xf5\x31\xb9\x65\x9a\xab\xba\x82\x74\x3c\x53\xcd\xa3\x69\x2e\xf3\x4c\xe4\x6c\xc8\xa6\x20\x5f\xb8\x37\xac\x10\x1b\x56\x7f\x07\xc5\x6f\xd9\x76\xaa\xc4\x2b\xfd\xc3\x19\x95\x81\x0d\x5a\xcb\xa3\xaa\x2e\x74\xa9\x8f\x1f\x09\x9b\x2e\x99\xa2\xdf\xb1\xed\x88\x3c\x7a\x14\xd4\x3f\x21\x5f\xad\xbf\x0a\x5c\x95\xa3\xb4\xf1\x51\x42\xe0\x88\xb7\x03\x64\x70\xb7\x46\x76\x83\x54\x94\x0e\x09\x4d\xfc\x41\x96\xc5\x1e\x4b\x09\x8b\xd3\xc9\xd5\xa4\x07\x97\xc6\x3c\x4d\x60\x9b\x06\xd0\xa6\x10\xea\xed\x2c\xb6\xd0\x2e\x18\x6c\xf5\xc9\x39\x32\x5f\xc3\xce\x10\x23\xfb\xd3\x28\x82\x3d\x4d\x94\xf0\x41\x15\x1e\xc3\x3e\xce\xad\x4c\x92\x00\xa9\xb8\xaa\x12\xa0\xd3\x4d\xbe\xfd\x78\x69\x43\xda\x9f\x92\x2b\x25\x2a\xf4\x25\x01\x5e\x1e\x85\x29\x51\xd1\x05\x05\xfd\x11\x95\xde\x72\x03\x79\x4d\x31\x1e\x11\xfa\xc8\xad\x35\xd3\x2d\x36\xc6\x5b\xec\xdd\x1c\xac\xfe\xc6\xcf\xf9\xda\x8e\x34\xb5\x5f\x6c\x2a\x95\xa8\xde\xd8\x41\xa1\xe3\x6c\x02\x73\x7f\xcd\x6a\x44\x6e\xf0\x1e\x05\x4b\x91\x7f\x66\x6a\x30\x97\x2e\xc1\xa0\x28\x44\x39\x87\x15\x55\xdd\x49\x87\xb5\x58\x36\x2f\xc4\xe6\x3f\xc8\x09\xaa\x55\xc9\x1f\x89\x35\xe4\x93\x23\x32\xc0\x6c\x44\x83\xd6\x14\x22\x0b\xef\xd2\xd9\x58\xa6\x28\x54\xd0\x42\xb1\x5a\x82\x19\x6b\xb9\x32\x4a\x98\x48\xff\xa2\xaf\x36\xf0\x72\x69\xda\xa8\x7a\x65\x66\x0f\xac\xb8\xaf\xc5\x9a\x19\x13\x4f\x9c\xa6\xd2\x8f\x29\x9e\x7b\xc2\x2e\x44\x4e\x82\x19\xc0\x4c\xf5\xeb\x76\xf1\xf6\xf2\xec\x9c\xbc\x78\xf9\xea\xfc\x08\x0d\xe0\x07\x7f\x91\x07\xf0\x8f\x0f\x16\xe5\x7f\xfa\x17\xa9\x8b\x6a\x89\x03\x23\x9a\x87\xd9\x88\x3c\x3d\x7c\xf2\x14\xd4\x05\x60\x1e\xe4\xab\x25\xb9\xb8\x22\xa7\x2b\x75\x23\x6a\x39\x25\xa7\x45\x81\xd1\xcf\x92\x68\x81\xa3\x5e\xb3\x7c\xaa\xdb\x78\x2b\x99\x43\xfa\x92\x88\x03\x92\x99\x98\xe9\x85\xde\xa3\x52\xdf\xd3\x5b\x42\xc9\xb3\xab\xe7\x13\xd8\x3a\x52\xf0\x8c\x95\xd2\x44\x33\x22\x74\xbd\x6e\x69\x0e\xfa\x76\x43\xeb\xaf\x5e\x9e\x9d\x7f\x7f\x75\xae\x45\x45\x36\x7d\xf0\x60\xa0\x57\x5b\xaa\x9a\x67\x6a\x70\xfc\xe0\x41\xc1\x67\xd3\x5a\xe5\xac\x1a\x0e\xf4\x3f\x21\xa9\xb6\x1c\x8c\x09\xfc\xf5\xc6\x29\xfe\x5f\xd3\x92\x2e\x58\x6d\x3f\xd4\x0c\x07\x68\xff\xde\x64\x83\x90\x8d\x83\xdf\xe6\xfa\x23\x6e\xe2\x77\x6c\x0b\xe2\xaf\xff\xe5\xa2\xd2\x3b\x24\xfd\x0f\x89\xae\xc2\x06\x1d\x31\x30\x56\xfa\x4a\xc1\x7d\xeb\x7f\x83\xac\x1b\xed\xba\xfa\xc4\xba\x5c\xfc\x41\xc7\x3f\x5c\x43\x76\x2c\xab\xae\x10\xa5\x54\xf5\x0a\x92\xd5\xd8\x38\xa6\x6b\xb3\xd5\x24\x2b\xa8\x74\xb2\xfb\xa9\xff\xbd\x5a\x69\x6a\x56\x62\xc1\xc0\x32\x92\x72\x97\x18\x93\x70\x06\x20\x2f\xdb\xee\x9f\x1c\x1e\x42\xca\x4b\xdd\x38\x1a\x58\x30\x97\xab\x31\x0c\x88\x65\x85\x2a\x6b\xdb\x9b\x25\x6f\x5a\x70\xb5\x0d\x74\x53\x35\x82\x40\xd3\x20\x79\x03\x3c\x75\x93\x82\xad\x59\xe1\x47\x8b\x57\x9e\x0c\x69\xc6\xe0\x7e\x63\x5a\x17\xb4\xfd\xa0\xf6\xb4\xe4\x28\xcd\x5b\x1b\x85\x14\xf5\xd8\x88\xfc\xe6\xf4\xd7\x6c\xe1\x70\x9e\xd1\x30\x64\x07\x0a\xee\x21\x6e\xc1\xa7\x84\xfc\x49\x6c\xd8\x9a\xd5\x63\x83\x8f\xc3\x97\xb4\xde\x06\xd8\xe3\xa0\xc0\xab\x6a\xa6\x86\x23\xab\x52\x84\x7c\x80\x92\xfc\x70\xad\xdb\x62\x32\xa3\x95\xe6\x76\xff\xef\x0a\x4d\x51\xa0\x74\x28\xd7\xe2\xd6\xf8\x65\xd1\x4a\xbf\x03\x35\x20\x3d\x35\x67\x1b\x79\x31\xc2\x52\x93\x0d\x95\xe4\x86\xd1\x35\x87\x04\x66\xf3\x02\x5a\x85\x13\x76\x26\xea\x2d\x79\x4d\xb3\x8c\xd6\xb5\x28\xd9\x40\x92\x17\x35\x5d\xb2\xd9\x6a\x3e\x67\x75\x4c\x05\xd7\x17\xcf\x2f\x86\xf5\x82\x97\x39\x1d\x1d\x11\xb0\xed\xa2\xb3\x41\x03\x5b\xc4\xea\x6b\x20\x4c\xbe\x0e\xb2\x0a\x49\x33\x55\x5a\x9b\xac\x3a\xb2\x2a\xe8\x56\x17\xde\xf0\x0c\x20\x94\x36\x9a\x14\xa8\xd4\x57\x73\x99\xd3\x1a\xd2\x52\xf0\x32\x68\xc1\xaa\x71\xf0\xb1\x33\x3d\x00\x31\xff\x9f\xef\xc8\x50\xaf\x92\x09\xa6\xdb\x9a\x1d\x0a\x52\x1a\x31\x25\x47\xbb\x72\x22\x56\xb5\xd0\xf7\xc6\xcb\x9c\xe0\x89\xd5\xd4\xee\x4e\x2a\x31\x5f\x49\x49\xc1\x9c\x87\x50\x80\x36\x2b\xa2\xa1\xe2\x7c\x6c\xbd\x7d\x60\x78\x03\xf3\x47\x94\x23\xc8\xed\x56\x23\xb7\xa1\xeb\x3d\xe4\x83\xec\x6f\x11\x76\xf2\xc1\x01\xb9\xde\x08\xfb\xc0\xf0\x52\x2f\x56\x16\xe8\x2d\x0d\xb9\xe1\xf1\xfb\x10\x67\xff\x82\xdf\x02\x55\x0f\xbc\x5c\x25\x55\x6c\x77\x69\x6f\x52\xff\xca\x58\xef\xbe\xf2\x69\xc8\xa3\x77\xd6\x07\xe6\x85\x83\x08\x5b\x28\x84\x66\x03\x4a\x61\x4d\x11\xe1\x63\xc9\x7f\xd1\x6b\x8b\x95\x9e\x01\x09\x4a\xab\xbf\x5c\x33\xc8\xab\xf8\x0b\x43\x22\xb2\xb6\xd2\x9c\x67\xa0\x81\x43\x57\xb0\x4a\x3f\x32\x26\x6f\xe7\x94\x90\xe7\xe8\x1c\x89\x89\xfd\x50\xbb\x6b\x40\x8e\x37\x02\x54\x8b\x39\x97\x74\x51\x33\x30\xae\x1e\x1c\x90\xd3\x42\x0a\x2c\xc0\x4b\x9a\x29\xbe\xb6\x23\xd3\x2c\xae\x6e\x04\x63\xf4\xf1\xbd\x67\xb9\xc1\x4f\xe2\x10\xd1\x0c\x09\x59\xe0\x68\x42\x45\x6c\x30\xb9\x46\x57\xc9\x9c\x6c\x87\xc8\x2b\x06\xce\x0b\xd6\xdf\xb8\x06\xdb\x20\x86\x6e\xae\xa4\x39\x64\xe6\xf0\x10\xd5\x48\x0d\x32\x8d\xdf\x7e\x7d\x1f\xb7\x36\xd5\xfc\x0e\x42\x5b\x33\xef\x04\x54\x98\xca\xd5\x4c\x66\x35\x9f\xb1\xa1\xcf\xed\x64\xf4\x8d\x46\xf7\x3e\x9d\x71\xe3\x9c\x3d\xda\xdb\x84\x73\x94\x8c\xbc\xd2\xee\xd5\x84\xe5\xdc\x4d\x0b\xc8\xd1\xee\x6d\xc0\x69\xb0\x03\x5d\x69\x58\x2b\x5c\xee\x9c\xaf\xcd\x33\x61\x53\x7a\x20\x4b\x6d\x79\x9f\x30\x6b\x5b\xf3\x34\xb6\x52\xe2\x07\x6d\xb0\xc0\x39\x54\x93\x24\x5e\x09\x3e\xfe\x76\x51\x88\x99\x7e\x40\x74\x43\xae\x11\x78\xe1\x02\x48\x53\xff\x22\x6a\x49\xc0\x3d\x8a\x88\xef\xcf\xe7\xc6\x77\xa1\x1c\x28\xc8\x3c\x6d\xcf\x86\x44\xa7\x17\x30\xa8\x52\xdf\xf8\x96\x29\xb4\xce\xd4\x6c\x22\x19\x78\x3d\xe6\x2c\x13\x35\x24\xf5\xf5\xf3\xb4\x61\x71\xe4\xc4\x58\x09\xdd\x4f\xe1\xbc\x7d\xa6\x05\xf4\x67\x30\x7e\x67\xa1\x1a\x1f\xd2\xc8\x45\x59\xc8\x69\x9e\xd7\x4c\x82\x95\xab\x41\xaf\x33\x9a\xdd\x5a\x4c\xb4\x77\xef\x6d\x47\x57\xe8\xb9\x41\x67\x44\x0b\x1b\x9e\xc6\x15\x9d\x81\x84\x14\x97\x06\x14\x34\x55\xd3\xec\x56\x5f\x2f\x9b\x1b\xe4\x54\xcc\x5d\xec\x5b\xc1\x01\x43\xa6\x6e\x56\x53\xc9\xf2\x63\xe7\x27\x7c\xfd\xec\xcc\x64\x48\x2a\x18\x85\x2b\xa8\xf0\xf5\x82\x3b\x9e\xd6\x4c\xaf\x79\xcd\xa4\x12\x35\x46\x0a\x58\x3b\x19\xdc\x0c\xe0\x71\xcc\x7c\xde\x2b\x53\xf1\xda\x0c\x5b\x13\x66\xbd\x62\xe1\x72\xfe\x70\x8d\x6e\x7a\xc1\xdd\xd8\x80\x1c\x84\x43\x4e\x34\x03\xed\x22\xe5\xc1\x58\xa1\x19\x07\x18\x32\x70\x2e\xce\x49\x15\xc4\xc4\x32\x0f\xec\xc0\x99\x58\x2e\x69\x99\xfb\x55\x5c\x1b\x01\xe3\x5a\x54\x61\xca\xed\xe8\x1b\xea\xcc\x53\x84\xff\xfc\xe5\x0f\x4e\xd3\x62\xb9\x48\x7b\x21\xe1\x58\xa6\x41\xf0\xbd\x14\xb5\x0d\x1d\x6f\x36\xe4\x02\xd1\x71\x02\xf2\x46\x73\x40\x76\x0d\x9a\xa7\x10\x0b\x5d\xe9\x32\x1f\x5c\xb2\x3c\xfb\xb4\x86\x5f\xa7\xcf\x5e\x5d\x9c\x7d\x97\xec\x47\xb3\xff\xb6\x83\xe4\x48\xcf\x74\x89\xe6\x50\xcf\x70\x78\xb3\x82\x97\xb7\x44\x94\x07\x9a\xd0\x01\x1a\x51\x9f\xa3\xa5\x1c\x83\xe5\x6f\x53\x73\xa5\x58\xa9\x19\x2c\xcd\x42\x68\xf1\x2f\x83\xd7\x61\xab\x39\xa5\x42\xd0\x1c\x52\x28\x87\x9d\x3d\xd3\x0d\x9e\xe9\x86\x80\x9a\x9f\x1c\x1e\x8e\xc9\x93\xc3\x43\x47\xd5\x6f\x6a\x36\x99\x81\xac\x23\xca\x33\x5f\xe3\x83\xb5\x68\xd9\x14\x6c\x88\xb8\x63\x7d\x8b\x73\x61\xb4\x07\xa2\x26\x8c\xda\x67\xd3\x2c\xb1\x19\xbd\x16\xcb\x78\x66\x0c\xc7\x30\xa2\xe5\xf6\x22\xee\xc3\xdf\xa0\xc1\xaf\xe9\x8b\x54\x32\x33\x65\xcc\xd2\x02\xe9\x54\x52\x23\xab\x19\x35\xfe\x78\xc8\x10\xe8\x23\x44\x17\x0c\xcc\x64\xc6\x41\x8b\x66\x37\x44\xac\x54\xb5\x42\x7b\xde\x2d\xdb\x4a\x55\x8b\x5b\x16\x02\x85\xf0\x92\x2b\x4e\x0b\xfe\x0b\xb2\xb3\x06\x8e\xd2\x32\x6d\x4b\x94\xaf\xdc\xc4\xf4\xf5\xb2\x00\x0f\xad\xc6\xde\x9a\xef\x73\x51\xb3\x5d\xdf\xf1\x14\x5d\x94\x17\x30\xaa\xce\xcf\xdf\xd9\x91\x76\x94\x00\x89\xfc\xb4\xae\xc5\x46\x97\x6c\x1d\x86\x7a\xc5\xd0\x22\x69\x5d\x60\x9d\x31\x19\xf5\x07\xa8\x30\xaa\x99\x66\x0d\x0c\x3b\x40\x8b\x42\x6c\xec\x4a\x3a\x7d\x6b\x70\xef\x30\xaa\x5e\xeb\xca\x97\x50\x0b\xd1\x50\x68\x21\xfd\xe5\x63\x1f\x98\x19\x2b\x0a\x2d\x92\x97\x9e\x40\xf5\x4f\xa7\xab\x9c\x8b\xfd\x89\x7d\xa9\x2e\x36\xf0\xaf\xb1\xaf\x1a\xe5\xf5\xd5\x3f\x4f\xb0\x6c\xaa\xa8\x64\x5e\x7c\x1d\x0e\xaa\x9a\xe9\x13\xa3\xc5\x58\xba\x52\x62\xe0\xa8\xed\x54\x5f\xcb\xd1\xb8\xf5\xcd\x39\xd7\x1c\x21\x64\x4e\xf3\xcf\x12\xdc\xf2\x0b\x56\x32\xfd\xc8\xe5\x64\xa8\x99\x38\x0b\x31\xca\x8b\xad\x61\xd6\x6e\xc4\xa6\x1c\x45\xb3\xfe\x3e\x68\xef\x15\x97\x2a\x7e\x68\x7e\x34\x4f\xcb\x86\x61\x2f\x95\x1e\x8b\x94\xfa\xee\x0e\x38\xb4\x68\x4c\xc1\x96\xc8\x5b\x25\xaa\xb0\x83\x67\xcc\x44\x24\x85\xfb\x72\x16\x5f\xe7\xf8\x98\x3a\x49\xd3\xf8\x34\x82\x69\xf9\xf9\xf9\xd9\xd5\x99\x7f\x4e\xf5\x07\xa3\x79\x08\x52\xdc\x34\xee\x40\x50\xc1\xcd\xb8\x92\xee\xea\x6e\xdd\xb4\xc2\xb7\xe1\x99\x48\xd3\x70\x20\x1a\x98\xb4\x51\x60\xb3\x77\x19\x0b\x21\x3f\xb3\x7e\x42\xa7\xad\xe4\x54\xad\x21\xfd\x70\xdd\x94\x7a\xbd\x94\x1c\x9c\xe0\xb5\x8a\x06\xf2\xc3\x75\x9b\x93\xbb\x35\x1a\x18\x7b\x33\xba\xba\xee\x43\xd8\x82\xd5\xd7\xc4\xed\xfc\x3b\xd0\x4a\x41\x5e\x5e\x18\x67\x1b\x9a\x45\x9a\x27\x13\x08\x0c\x3c\x1c\xaf\x73\x4c\x9f\xc9\x24\xec\x84\x58\x29\xc2\xee\xf4\x8e\xd9\x5c\x99\x88\xae\x0d\x06\x2c\x47\xaf\x2e\x2d\xbe\x09\xbf\x15\xd1\xa8\xdc\x53\xf6\xf2\xa2\x31\x41\x73\x39\xc0\x4d\x30\xc9\x0a\x9e\xdd\x4e\xf2\x9a\x2e\x62\x6f\xf9\xf4\x56\xb2\x52\x73\x5c\x70\x0d\x3c\xaf\xe9\xc2\x04\xef\x05\x4c\x08\x3e\x47\xa2\xda\x5e\x94\x06\x9a\xa4\x71\x7d\x41\xaf\x97\x7a\x7f\xcf\x74\xcf\xc0\x86\x27\xcb\xc0\x97\x67\x2b\xa5\x00\x67\x21\xbc\xdd\xec\xa1\x31\x20\xa4\x00\x3b\x65\x03\x19\x80\xcd\x44\xbf\x98\x19\xbb\xa1\x6b\x1e\x3c\xc9\x7a\xd0\x58\xee\x47\x28\x66\x7d\x53\xdc\x61\xc1\xc1\x6b\x6a\x73\x96\xba\x53\xcd\xcf\x59\x11\x20\x9a\x64\xcd\xe0\xcd\xd0\x92\xd7\x87\xe1\xef\x0e\xc7\xe4\xe9\xff\x0a\xfd\x1f\xac\xab\x8d\xe5\xd4\xa2\xfc\x52\x4c\xbd\x41\xb9\x3c\x96\xdb\x21\xbb\xb7\x95\xf8\x53\x86\xde\xd0\x3c\xe1\xfc\xa0\xcd\x1e\x5d\x32\x9a\x6f\x87\xa3\x63\xf2\x29\x16\x6a\x42\xa4\x25\x83\x12\x14\x31\x48\x32\xa5\x5a\x08\xf9\x1f\x7d\xce\x1e\x10\x02\x5c\xd0\x11\x19\xc0\x7f\x61\x74\xcf\xce\x4f\x5f\xeb\x1f\xce\x4f\x5f\xc3\xdf\x6f\xbf\x7f\x7e\x7e\x09\x51\x00\x64\xe0\xfe\x3d\x48\xb9\x37\x35\x1f\xa5\xc0\xf4\x80\x77\x9d\xbe\x91\x6c\xb4\x56\x28\xb8\x38\x14\x6b\x7d\xd9\xac\x24\x0b\x9d\xcd\x7c\x39\xfb\xa0\x53\xe7\xb8\x10\x24\xf4\x43\xe5\x1b\x8e\x00\xc5\x1d\x12\xd8\xf4\x1e\x98\x40\x81\x56\x96\xbf\xe4\x2a\x45\xfe\xea\xe1\x3e\x34\xc2\x92\x43\x8f\xa7\xe7\x81\x14\x81\x9e\x77\x73\xf2\x3b\xef\x7d\x79\x07\x3d\xec\xee\x4c\xd1\xd9\x8f\x26\x39\xe7\xef\xda\x50\x40\x09\x95\x53\x1b\x50\x4a\x3f\x87\xf1\xea\x56\x81\xdb\x7a\x8c\x49\x15\xea\xad\x6c\xaa\x39\x2a\xa5\xc8\x40\x77\xa8\x45\x6c\xb8\x6e\x55\xd8\xb1\x75\xc5\xf5\x30\x82\x6c\xb3\x63\x60\x4d\x65\x9a\x3f\x12\x00\xe7\x4b\xbd\x2b\x55\xa2\x0d\x42\x5e\x88\x7a\xa3\x6f\x65\x59\x50\x79\x63\x35\x6a\xa1\xd2\xd0\xc0\x56\x21\x26\x4d\xee\x3d\xfe\x41\x15\x17\x0e\xc0\xee\x1a\xea\xf3\xf4\xd6\x6b\x86\xcf\xab\xf3\xdc\x2f\x00\x67\xbb\x16\xb7\xcc\x13\xaa\x19\x8f\xed\x5f\xd5\xb4\xb4\x18\x2b\xd2\x69\xa6\xf7\x6c\xad\xbf\x1a\x42\x12\x72\xcb\x31\x8e\x86\xd5\xa5\xe7\x73\x7f\x4c\x6b\xc4\x75\x1c\x1e\xfc\x74\x70\xb0\x18\x93\xc1\x20\x08\x9d\xf3\x5a\x44\x65\x01\xc0\x43\x9c\xad\xb9\x0c\x71\xa9\xf0\x87\x69\xce\x40\x37\x05\x72\x7e\x94\xe4\x6d\xde\x78\xde\x5b\x06\x8a\x61\x63\x98\x41\x34\x2c\x36\x4d\xf3\xfc\x62\x06\xf6\x9d\x5a\x0e\xf5\x75\x3f\x36\x26\xd8\x01\x2d\xd4\x64\x51\x4f\x34\xa7\x31\x38\xf2\x8b\xb2\x8e\x91\xbe\xd7\x00\xf7\xb8\x2a\x8a\xd0\x2d\x17\x20\x11\xe9\x9a\x2f\xa8\x12\xf5\xb4\xa0\xe5\x62\x45\x17\x2c\xb6\x82\xeb\x7a\x03\x56\x4e\x56\x72\x10\x56\x25\x64\xad\xb9\xcd\x52\x94\x6c\xe0\x3d\xac\x1b\x4e\x1d\xae\x18\x58\xa8\x26\xb4\x50\x61\xd9\x07\x51\x1d\x58\xdc\x6d\xc5\xc4\x9c\xc0\x58\x07\x48\xec\x51\xa7\xba\xad\x75\xdb\x48\x9f\xec\xb9\x3d\xbc\x4f\xa1\xeb\xf2\xc3\x83\xff\x1a\xea\xaf\x1f\xc1\xf3\x81\x16\xea\x63\xc1\xe6\x30\xc4\x8f\x6e\xb0\xa3\x7f\x39\x98\x2a\x26\xd5\x70\x3d\x1a\x25\xdb\xb5\x3e\x79\x96\x50\x2d\xff\x33\xa5\x85\xfa\xf7\xfa\x35\x42\xa1\xad\xad\xa9\xfa\x81\xdf\x2f\x4d\x9e\xb2\xa2\x19\x9b\x70\x39\x59\x32\x45\xfd\x2f\x1d\x7b\x98\xec\xe3\x99\xad\xf4\x52\xbe\x66\x8a\xba\x3f\x3b\x7a\x35\x7d\xdd\xa7\x07\x6c\xb8\xa3\x3d\xc9\xca\x5c\x4e\x36\x37\x54\xed\x20\x3c\xbd\xd0\xc8\x77\x7e\xfc\xdd\x64\xc6\xd5\x47\xe3\x12\x3c\xb9\x65\xdb\xee\x05\xc6\x1a\x7b\x96\xf8\x4a\xf7\xff\xa3\xe6\x19\x13\xe3\x5b\xe5\xfa\x2d\x9f\x80\x20\x04\xd2\x56\xc7\x18\xf5\x61\xa7\xf5\x16\x28\x0b\xde\x98\xe1\xc1\x7f\x15\x7c\x36\xb1\x56\xc9\xa3\xe1\x4f\x57\x8f\x47\x07\x91\xb3\x3c\xad\xb7\x51\x08\x83\x1d\x5c\xa7\x84\x25\xeb\x2c\xc9\xb1\x74\xfc\x2f\xb4\x8a\x4e\x17\x4c\x3d\xa7\x8a\xbe\xad\x0b\xdd\xef\xbb\x27\xef\x47\xdd\x44\xdf\x73\x24\x64\x3d\x8a\xfd\xe4\xdd\xb2\x19\xa9\x69\x12\xca\x54\xb0\x86\x3b\xaf\x96\x47\x8f\x48\x28\x67\x25\xd7\xa6\x5b\x1e\x8b\xd6\x25\xfc\x3e\x0d\xe4\xbd\x13\x7d\x25\x2c\x6a\x5a\x2a\x96\x07\x97\x08\xba\x04\xed\xeb\x23\xbe\xb8\x0e\x0e\x74\x2f\xec\xc8\xa7\xea\x07\x4f\xf0\xa8\x67\x83\x0f\xf9\xc6\x0f\x00\x34\xc6\x26\x71\x7f\xdc\x98\x09\xdb\xd5\x55\x20\x90\x1e\xa1\x27\x7d\xc2\xaa\x9a\x49\xcd\xd1\x88\x39\xa1\x18\x5b\x8f\x89\xfb\xc9\x10\x1c\xfd\xa9\x24\xb4\x8c\x1b\x14\x25\x88\x1d\x56\xbc\x1a\x21\x4f\xa6\x1f\x02\x52\x70\xa9\xb4\xe4\x84\xda\x9f\x7a\x95\xc8\xc6\x1c\xb4\x14\x37\x7b\x0a\xd1\x71\x62\x4e\x36\xa2\xbe\x05\xb5\xa5\x4d\xa9\xa1\xd9\x1e\x0b\x5e\x1c\x08\xd6\x94\xe4\x9c\x16\x62\xe1\x10\x62\xc3\xd6\xdc\x03\x09\x3c\x0c\x25\x5f\xa1\xa8\xa4\xc4\xc4\xac\xdd\xc4\xef\xde\x57\x64\x06\x92\x4a\x38\x3a\x0b\x6a\xbc\xa1\x75\x39\xec\xa6\x3b\x30\x44\x6a\x91\xcc\xe1\x5d\x83\x81\x08\xd4\x01\x83\xee\xec\xd6\x83\x3e\xaa\x82\xc1\xa8\xf3\x35\xba\x17\x01\x5b\x19\x29\x79\xa2\xbc\x46\x6c\x02\x0a\xd1\x7d\xb7\xaf\x64\x70\xad\x07\x4a\xb2\xe1\x7a\x74\xdc\xd9\x26\x5f\xd2\xc5\xde\x37\x23\xb2\xf9\x84\xed\xbf\xd4\xb5\x77\xb6\x0f\xb6\xa9\xcf\x6d\x1e\xec\x6e\xbb\x5a\xb7\x5a\x97\xcf\xee\xe1\x8d\x69\x20\xdd\x0b\x3e\xb1\xf8\x4c\xdd\xff\x81\x75\x35\xe0\x9d\xd9\xf5\xb8\x3a\x5e\x7a\xb2\xa4\xd5\xc4\xca\x6d\x72\xd7\xab\xe8\x19\x32\x2d\xd6\xae\x9d\x95\x59\xcc\xc9\x05\x28\x2e\x46\x29\x78\x75\x3c\x2c\x6f\x22\x41\x22\xe8\x19\xd2\x56\x3b\xed\x9c\xb5\xa5\x96\xdd\x07\x65\x80\x4a\x92\x23\x5d\x22\x78\x14\xc2\xc8\x00\x12\x41\xb2\xdb\x45\x5a\x2b\x1f\x47\xfe\x9a\x56\x26\xda\xc1\xb3\x63\xdd\x05\x25\x53\x17\x76\x81\xda\xbb\x86\x82\xf5\x04\x94\xff\x3d\x4e\x4a\xa0\x2d\x1f\x3e\x7c\xb8\xb3\xb5\x09\xd8\x10\x3a\xda\xb4\x0f\x59\xb0\x0b\xa7\x75\x4d\xb7\xe4\xd1\xa3\x68\xe1\x2c\x83\xfa\xee\xf0\x3d\xf0\xa8\xe8\x1d\x33\xe8\x2c\xf6\x24\x2a\x16\x3f\x43\x2a\x56\x26\xc4\xe6\x89\x75\x8b\xa7\x6e\xf1\xc7\xf7\x6f\xf4\xdd\x7a\x4c\xd6\xef\x77\x72\xeb\x07\x07\xe4\x05\x95\xca\x58\x5f\xbc\xf5\x9f\x96\x84\xd5\xb5\xa8\xa7\xbd\xfb\x0a\xec\x2b\xae\xbf\xe4\xee\xf4\xbd\x15\xcf\xbc\xc9\x28\x41\x37\xfa\xe7\x49\x45\x0b\xa6\x14\xfb\x42\x27\xb0\xf5\x33\x90\x44\xcf\x73\x99\x1e\x4f\x70\x26\x29\xd0\x97\xa8\xbf\xdc\xe1\xf4\x2e\x77\xf8\x9f\x37\xd8\x3b\x39\x09\xbf\x48\x25\xb2\xdb\xb3\xe0\xf3\x34\x13\x65\x46\x2d\x52\xa1\x3b\x0a\xe1\x2c\x5d\x5a\x9d\x5b\xb6\xd5\xbc\xc0\xba\x21\x08\xd2\x9a\x70\x2d\x57\xd3\x5a\xb2\x97\xa5\x1a\x6a\xce\xfe\x38\x28\xa0\x1b\xe4\xf2\x7b\xfa\xfd\x90\x8f\xf4\xa2\x72\xf2\x2d\x39\xc4\x7f\xfc\x81\x3c\xfd\xe6\x9b\xb8\xb9\x38\xdf\xc1\xe0\x65\xb9\xa6\x05\xcf\x09\xba\x05\xf3\x92\x98\x45\xc5\x65\xd1\x23\x7a\x4c\x06\x66\x8d\xde\xdd\xb2\xed\xfb\xa8\xeb\x66\xca\x82\xc6\x92\xb9\xe9\xbe\xe3\xef\x9b\xa3\x80\x24\x40\x8b\x59\xbc\x7c\xa5\xa8\x97\xa0\xd8\x3c\xbb\xba\xc2\x5a\x71\x6f\xba\xb1\x7a\x31\x1b\x35\x76\xb4\x63\x6b\xde\x71\x40\x42\x5f\xcc\xe2\xc1\x35\xff\xd5\xbe\x7e\x63\xe7\x1f\x08\x53\xf0\xee\x88\x78\x17\x87\x7b\x9c\xb8\x97\x9b\x7e\x49\xbd\xdb\x08\x8e\x5c\xb5\x9d\x88\x72\x82\xd6\xb0\x7d\x07\xb8\xa1\xf4\x7e\xf8\xb0\xf9\x86\xae\x24\x9b\x18\xe5\xee\x04\xf5\xd4\x13\x5d\x67\x5f\xbb\x1d\x5a\xeb\x76\xfb\xa0\xb8\x9e\x38\xd3\xdd\x04\x5c\x11\x7a\x75\xd1\xad\xf2\x4e\xf4\xa2\xea\x62\x52\x15\x2b\x39\x59\xf2\x72\x25\x27\xbf\xb0\x5a\x4c\x7e\x11\x62\xd9\x9b\xeb\xd0\x2d\xbc\x29\x56\xf2\xb5\xae\xff\x9f\xac\x16\xff\x29\x00\x76\x34\xd9\x53\xd6\x6b\x02\x51\xdb\x67\x66\xec\xc9\xf6\xd6\x13\xf4\x03\xba\x4f\x83\x3f\x58\x23\xc5\xba\x45\x64\x0d\xb6\xed\xcc\x95\x6e\x5f\xe0\x8c\x4a\x35\xa1\x92\xd3\x72\x42\x97\x33\xbe\x58\x89\x95\x9c\x50\x39\x51\x1b\xa1\x5f\x88\xd5\xb2\x8b\x47\x44\x8f\xe1\x69\xcd\x16\xb4\xce\xcf\xfe\x72\x7b\x6a\x6b\x27\xe6\x88\xf6\x99\x09\xe8\x21\x26\xfa\x62\xa8\x45\x97\x60\x1b\x32\x30\x58\xed\x77\xcf\x38\xc4\x02\xd5\xa2\x48\x6e\xbd\x69\x7c\x26\x8a\x2e\x55\x83\x5f\x97\x6d\x99\x3d\x13\x45\x7e\x45\xe7\xec\x4a\xd1\xc4\xe1\x0a\x1a\xd3\xab\x30\x03\x9d\xd4\xbe\x66\x77\xdf\x0a\xd8\xa4\xee\xf6\x54\x3e\x43\xf7\xf2\x60\x1a\xf7\xb8\x1a\x76\x37\xd4\x9a\x42\x2f\x56\x4e\x2f\x88\x2e\xb8\x73\x35\x5c\xe4\xf3\x64\x53\xf3\xfd\x54\xea\x76\xee\xcc\xd6\xfb\x51\x57\xdb\x35\xd8\x9c\x65\x4f\x9e\xf6\x6e\xf7\xb9\x2e\x9d\x6c\x6e\x2e\x4a\x35\x99\xd3\x25\x2f\xf6\x1e\x4e\x3d\xf5\x17\xa2\x54\x2f\xa0\x74\x6b\xea\xd0\x52\x2f\x21\x8c\x29\xdd\x4c\x5a\xe4\xc2\x56\x96\x02\xe1\xc9\x7e\xf5\x90\xac\x0f\x47\x6f\xde\xed\x45\xec\xf6\xd1\x1e\xe0\x8d\x58\xb2\xc9\x2d\xdb\xca\x89\xf1\x65\xec\x7b\x03\xe9\x8a\xdf\xb1\xad\x74\xb6\xd6\xe6\x56\xe8\x92\x9a\x8f\x2d\x17\x5d\xdc\x60\x42\xf2\x33\x15\xf0\xea\x6f\xb0\x46\x0f\xd7\xa3\x16\x27\xd6\xe0\x2b\xfb\x09\x73\xc0\x50\x0f\x07\xe7\xfa\x3f\x9a\xb1\x09\x46\x1a\xd8\x71\x8e\xc8\x39\x00\x68\xb1\xdc\x58\xb4\x07\x3d\xc4\xb4\x7a\x9b\xd2\x60\xb4\xe7\x47\xf3\xfc\x99\xf9\xf7\x30\xd0\x09\x92\x8c\x22\xf6\xd0\xdd\xaf\x19\xb7\x66\xc9\x82\x4c\x54\x0d\xee\x7f\x49\xef\x26\xa8\xe2\x9f\x58\x7f\x84\x1e\x07\x6f\x49\xef\x30\xac\xef\xca\xfa\x30\xb4\x77\x1c\x12\x34\x23\x31\xd1\x9a\x4d\xe6\xfa\x5f\xbd\xb7\x1e\x2a\x6b\x82\x3a\xad\xd9\x0b\xfd\xdf\x64\x07\x8a\x1a\xad\x82\xd1\x53\xf7\x6f\x5d\x51\xd0\x26\x9c\xa3\x27\x46\xa2\x6d\x70\x3b\x40\x13\x04\x6a\xd4\x7a\xbd\xc8\x1d\x7e\x03\xe9\xd6\xa1\xc5\x09\xaa\xe4\xfa\xdc\x05\xaf\x1b\x0e\x07\xad\x1b\xa1\xa2\x8b\xcf\x3b\xbd\xba\xe2\xce\xd3\x5b\x51\x29\x27\xb4\x50\x13\x23\xed\xde\xd3\xc0\xa5\x79\x78\x21\xef\xbc\x87\xad\xb7\x76\xad\x24\xab\x4f\x17\xac\x54\x56\xeb\xff\x9a\x66\xe4\xe2\x8a\xfc\xf9\xc0\x1f\x77\x90\x87\x5f\x31\x45\x4e\x0b\x35\x79\x32\x9d\xfe\xde\x80\x37\x8a\x08\xcc\x77\xa8\x04\x31\xcc\x04\x3a\xb1\x02\x72\x17\x24\xff\x10\x65\xd8\x52\x29\xca\x89\xee\x81\xc8\xad\x54\x0c\x5c\x19\x21\xcb\x10\xd8\x04\xad\x68\x28\x2a\x56\x62\x6c\xa1\x16\x12\xab\xca\x8e\xdc\xcf\x89\x9c\x90\xe1\x43\x3d\xab\x47\x8f\x8c\x39\x11\x8b\x5c\x6f\x2b\x48\x6e\x36\xa8\x44\xb5\xaa\x06\xa3\x6e\xed\x8d\x9e\xc5\x69\xa1\xbe\xc7\xd8\x9e\x8e\x55\x07\x86\xf0\xef\xbb\xec\x9a\x61\xfc\xef\xb6\xee\x7a\x4e\xbb\x17\x1e\xae\x97\xbf\xef\xc2\xbf\xd6\x43\xf8\xf5\x0b\xff\x85\x16\xfd\x57\xaf\xb9\x9e\x4e\x8f\x35\x5f\xdf\xe3\xde\xc2\x46\x7f\x48\xb4\x57\xb3\x8c\xf1\x35\x9b\xb0\x32\x13\x79\x37\xb7\x65\x98\x85\x83\xff\x1a\xae\xd4\x7c\xf2\xbb\x8f\x35\xdd\x8c\xfe\xe5\x60\xe4\xec\xa1\xa1\x36\x22\x56\x33\xc5\x1a\x91\xb9\xa8\xc9\x57\xcd\x3e\xbf\x6a\x2b\x8d\xd0\xae\x0a\x7d\x79\xfb\x99\x57\x84\x24\x15\xb6\xe7\xa6\xb9\xc4\x2c\x0d\xcc\xb4\x28\x27\xce\x6b\xb8\x9f\x12\xbf\xe1\xbc\xdb\xdd\x2e\x3a\x26\xf7\x6d\xd4\x3b\x0c\xa7\x5b\x9c\xd1\x7a\x62\xbc\xe6\x7b\xf0\xab\xcd\xf8\xe7\x36\xc3\x1a\xc2\x6c\x4f\x96\x74\x0b\xfc\xc0\x84\xd6\xb5\xd8\x4c\xfa\x30\x1c\x5d\x7e\xca\x1d\xeb\x61\xfa\x11\x6b\x36\xf1\xa1\xc5\xbd\x27\xd2\x8e\x6c\x4e\x4c\x48\x8f\xff\x6f\x49\xb3\x51\x87\xbf\x82\x60\xbd\x32\xa2\x0f\xd9\xde\xf0\xb9\x9a\x60\xe4\xce\x3d\x75\x1d\x50\x15\x33\xea\x76\xb1\x57\xb6\xd2\xbe\x75\x0c\x0f\x9b\x64\xca\x8e\xb7\xbd\x29\xfa\xd2\x9e\x64\xb2\x27\x35\x39\x45\xcb\x5b\xc9\xea\x33\x29\xdf\xd6\x45\x77\x93\x13\x2d\xd5\x7f\x5e\xbb\x00\x77\xd2\x6a\x78\x23\xea\x7c\x02\x70\x7b\x13\x78\x61\x26\x05\x9b\xdf\x57\x65\xa1\xdb\x78\xa6\x9b\x78\xad\x5b\x78\xc5\xe6\x2a\xa9\x57\x6a\x69\x28\x76\xd5\xeb\x1e\xe0\xe7\x28\x55\xe2\x9e\x2e\x8d\xf6\xe3\xde\x43\x6c\x54\xec\x1e\xe3\x92\xe7\xf9\xfe\x2b\x6b\xe7\x20\x5f\x43\x13\x9f\x33\xca\x66\xcd\x4f\xe3\x07\x04\xb0\x3b\x1a\xce\x69\x35\xa3\xf9\x15\x86\x97\xb4\x31\x42\xc2\x82\x60\x7f\xdf\x9e\x16\x85\x93\xa9\xf5\x8d\x12\x39\xed\x99\x21\x86\xbf\x19\xb0\xa5\xb6\xe3\x6e\x9c\x82\x46\x36\x3c\x20\xa5\x8d\x4e\x41\x0f\x56\xc4\xd0\x2b\xe7\x7c\x81\x41\x5d\xcd\xe8\xc3\xaf\x23\x08\xf3\x0e\x3f\xbd\x4f\xbb\xfd\x13\x17\x4c\xbd\x81\xd8\x9c\xae\xbc\x3b\xc1\x62\xc4\xc9\x84\x41\xa1\xa4\x59\x24\x0b\x4e\x39\xab\x69\x76\xcb\xb4\xd8\x8f\x88\x25\x4b\x91\xb7\xfc\x41\x67\x42\x14\x8c\x96\x9f\x0c\xd2\xc6\xf5\x0d\x33\x17\xac\x12\x04\xc3\xe2\xf6\x38\x53\x3e\xb3\x9d\xd8\x1b\xad\x13\xe5\xc3\x46\x29\x4c\x67\xcd\x2a\x50\x32\x09\x49\x82\x01\x60\xd6\x5b\xd6\x45\x80\x59\xb4\xc2\xad\x58\x05\xd0\x2a\x92\x29\x1b\x6b\x53\xb1\x5a\x72\xa9\xc6\x00\x60\xcc\x3d\x44\x3e\xae\xdb\x98\xd4\xd4\x40\x23\x50\x4c\x7e\x8c\x4e\xb4\xce\x2b\xb9\xcb\x6b\x16\x87\x73\xed\x06\xd6\x77\x91\x02\xc3\x63\xb8\x42\xd0\x48\x9c\xf9\x36\x0c\x69\x83\xcf\xc7\x89\xc8\x3c\x03\x94\xd2\x88\x94\xea\x53\x43\xd4\x39\xab\x1b\xa5\xd3\x89\x98\x1a\xa1\x7e\x38\x5f\x0a\x60\xab\x08\x8a\x14\xd1\xba\x59\xa0\xbd\xa4\xdd\xb1\x10\x6d\x02\x0f\x97\x62\x0f\x99\x63\xc0\x15\xe6\x81\x82\xdc\xd5\x01\x00\x59\xd9\x8c\xb2\xf8\xb2\xc4\x7f\xe5\x93\xf1\xeb\xa1\xe4\xbb\xc8\xbf\x2b\xb2\xa3\x9b\xf8\xfd\xfe\xe2\xf2\xff\x13\x12\xfe\xb3\x16\x89\x76\x12\x7f\x22\xee\xaf\xcb\x6a\x8a\x55\x8f\xd3\x60\x0a\x4d\x5b\x83\x8f\x14\x91\x16\x60\x2d\x19\x47\x38\x4e\x0f\xa3\x1b\x87\xe1\x37\xeb\xa8\xd3\x55\x09\x35\xdf\x76\xf6\xbb\xcf\xad\x0f\xba\xeb\xa2\xa2\x52\xb1\x32\x37\xaf\x1a\x9c\x20\x87\xc7\x81\xd0\x2f\xe9\x68\x55\x88\x9a\x62\x41\xb8\x94\x45\x0f\x96\x1f\x7c\xbc\xd4\xd7\x9f\x75\x39\xec\x20\x96\xf6\x05\xd1\x5c\xbe\xe4\x09\xf2\x4b\xff\x4f\x7b\x82\x1a\x76\x8f\x5d\x27\x28\x11\x19\xfb\xff\x9d\xa0\x94\xed\xe8\x9e\x27\xa8\x93\x8a\xfe\xe1\x4e\xd0\x0e\x62\x69\x9f\xa0\xe6\xaa\xc6\x38\xd9\x10\x33\x4c\x28\x44\x9c\x58\x63\x14\x3a\x20\xbb\x75\x31\x28\x05\xe0\x5a\x5c\xaf\x4a\x7d\x58\x8c\x27\x2f\x84\x35\x41\x14\x53\xbd\x40\x40\x0b\xcf\x34\xa4\x83\x81\x4c\x5b\x67\x00\x85\x84\xa7\x24\x46\xbe\x6a\xf7\x3b\x4d\x1d\x33\x5a\x2f\xd0\xba\x03\x8d\x34\xba\xf7\xb9\x93\x84\x05\xb3\xb2\x0d\xed\x58\xd7\x7a\x55\x9e\x85\xa3\x8b\x4e\xa0\xff\x7d\xec\xfb\xf6\x99\x85\x58\xb9\xe6\xb5\x28\x97\x01\xfa\xa7\x91\x63\x16\x4c\x0d\x07\xc1\xe7\x81\xcf\x80\x85\x2e\x7a\x61\xd5\x87\x27\xd6\x95\x6b\x00\x00\x92\x61\xab\x46\x85\x0b\xe7\x25\xee\xee\xaf\x9f\xba\x00\x19\x4d\x10\x29\x6e\x1f\x46\x15\x85\x53\xb1\x87\xef\xaf\x7e\x4a\x47\xc1\xca\x7e\xfc\x48\x06\x41\x2c\x02\x17\x47\x36\x3e\x76\x5a\xad\xe4\xcd\x70\xe4\xbf\x05\x03\x3a\x0a\xff\xf0\x25\x44\x79\x7e\xc7\xd5\x51\xb8\xa6\x3e\xe7\x12\xfe\x0f\xc0\x1b\x75\xe3\xa2\x1a\x46\xce\x52\xf0\x61\x55\x02\x79\x16\x85\x8b\x12\x6e\x79\x8e\x21\x42\x64\xb0\xee\x59\x21\x24\x9b\x88\x72\xc2\xee\xb8\x1a\x8c\x9a\xbe\x56\x46\x85\x0c\xa5\x86\x29\x0f\xef\x30\x27\x6f\xaa\xf3\x70\x7d\x35\xfd\x24\x93\x86\x1b\xaf\x74\x3e\x8f\x33\xae\x18\xc8\x28\x19\xc1\x92\xe1\xaf\x63\x74\x13\xc7\x4b\x66\xc3\x7d\x74\xa6\xbb\x28\x2c\x47\xbb\x9b\xa2\xb9\x7c\x13\x5e\xf8\xbb\xaf\x09\x07\x1a\xd5\x81\x1a\x15\xcc\xeb\x25\xae\x05\x8c\xbc\x19\xe1\x6d\x84\xb8\x84\xc0\xec\x63\x26\x0d\x86\x7e\x64\x29\x80\x48\x42\xc9\x18\x82\xa4\x6c\x3d\xc2\x84\x7e\xb4\x11\x59\x1f\x02\x0b\xbe\x8e\xda\xdd\x35\xf9\x78\xc3\xda\x93\x8f\xe2\xd0\x5b\xfb\xdb\x7a\x5f\x16\x4c\x3d\x37\x50\x0b\xc3\xd1\x74\x26\xf2\xad\xde\x6c\xb7\x26\x6f\x2d\x79\xde\x63\x55\x76\x8c\xbe\x45\xed\xf7\x1d\x3f\x5c\x16\xe1\x00\x35\xaf\x44\xc9\xd9\xd5\x95\xbe\x28\xb8\xc1\xfb\x81\x2f\xdf\x03\xc7\x50\x6c\x71\x80\x5c\xa2\x12\x04\x19\x17\x57\x58\x46\x19\x19\x21\xde\x13\x7c\xdc\xbb\xf8\x20\x08\x35\x45\x49\x0b\x1b\x08\x38\xa1\x56\x61\x94\xc6\x22\xb9\x8c\x4a\xc8\x18\x66\x6e\xf0\x70\xc8\x8d\xda\x7f\xb4\x88\x71\x6c\xce\xef\xe2\x1e\xdd\x20\x0f\xcc\x57\x0c\x74\xef\x21\xc7\x4b\xf9\x03\x8d\x9e\x55\xdd\xd4\x18\x47\x77\x8f\xe8\x2c\xa7\x9f\xc2\xfe\x4f\x06\x93\x09\x74\x3b\x19\x04\x5b\xe8\x01\x3c\xec\xbf\x0c\x84\x87\x11\xe6\x31\x92\x15\x92\xf5\xda\x0b\xfb\xe7\x7f\xf9\xab\x6f\xf5\xd3\xbf\xfc\x55\x8f\xee\xd3\xcf\x66\x7c\x69\xd0\xd7\xb9\x30\x58\x6c\xdd\x07\xf4\x4c\x53\x6f\xe8\x1c\x74\x38\x42\x74\x18\x4d\x07\x66\x23\x2c\x3e\x80\x6b\x2e\x3a\xdd\x76\xb9\x5c\xe2\x4d\x02\x71\x06\x5b\x37\x02\xf0\x4f\x0a\x14\x6f\x4d\xea\xb1\xe9\x00\x2b\xdc\xc9\x9c\x49\x5e\x03\xe3\x65\x7a\x1b\x13\x97\x1f\xb0\x0f\x4b\x8d\xf3\x88\x02\x80\xef\x3c\x40\x74\x75\x07\xb1\x62\x26\x35\x4e\x75\x97\x7a\xb9\xbd\x53\xd5\x28\xca\x17\x1e\xb3\x9d\x66\xbd\xaa\xbb\x08\xb8\x00\xa9\x68\x08\x31\x1f\xba\x89\x09\xe4\x25\xb6\xc8\x69\x61\x23\x71\xa2\x3d\x4c\x5f\xfc\x98\x0c\xaa\xbb\xc1\xee\x06\x31\x25\x5f\x2a\x5e\x70\x4f\x17\x36\xc5\xbb\xed\x23\x20\x98\x7f\xb7\x2a\x39\xf3\x50\xb5\x76\xba\x99\xbb\xb1\x07\xb7\xda\xde\x87\xe4\xfb\x13\xde\xb5\x6e\x51\x7b\x8c\x0e\xdd\xe7\x7e\x05\x37\x6d\x1d\xd8\xee\x3d\x42\xef\xf7\x96\x38\x72\xfa\xae\xfd\x2a\xf0\xef\xfb\xea\xde\xaf\x40\xec\x5e\xd7\xf1\x04\x24\xa8\xd1\x0c\x2b\x4d\xcd\xc6\xd9\x70\xd4\xe3\x1e\xeb\x38\x0e\xce\x3b\x30\xc4\xfa\x4b\x39\xaa\xb6\x16\x25\x85\x49\x12\x65\x76\x6f\xbb\x1d\xc1\x6d\x31\x06\x21\x63\xa5\x04\x66\x3b\xd5\x4c\x02\x9f\x3b\xd8\xa0\x6d\x8f\x65\x6c\x7a\x26\xb5\x17\x13\x12\x95\xd8\x6f\xad\x99\x27\xfc\xa1\x9a\x9c\xbc\xad\xdc\x8e\xb8\xe9\x02\x63\xc1\x1a\xc8\x78\x26\x32\xac\x60\xb0\xf1\x0e\xc7\x8c\x9f\x86\x7f\x7e\xf2\xe4\xf8\x27\xf9\x38\x88\x3c\x06\xc3\xab\xae\xf9\xf1\x23\xc1\x28\x60\x18\xd1\x59\x7d\x71\xb5\x77\x3c\x4f\x8e\x31\x01\x17\x1a\x73\x8c\xc2\xd5\xc5\x63\x46\x41\x40\x5d\x4d\x3c\xc5\x26\xd0\x6a\xd5\x6a\x61\x8f\x21\x43\x14\x79\x4c\x0e\x81\x73\x33\xd2\x41\x8b\x08\x74\x4b\xf7\xa1\x83\x88\x46\xd3\x44\xe0\xbd\x96\xd3\xb2\x9c\x77\xde\x76\x0b\x1e\x54\x79\xd8\x70\xb6\xe9\xa1\x78\x89\x3a\xf4\x7f\x1c\xfb\xfa\xfd\x1d\xad\x13\x2d\x24\x28\x0b\x95\x44\x61\x56\xfd\xf0\x16\x31\x39\xbb\x12\x09\xb7\x30\x99\x4f\x91\xdf\xab\xe6\xc0\xae\x95\xcd\x5d\x29\xed\x26\x68\xea\x76\x23\x99\xb2\xff\xbb\xa2\x85\x1c\xda\xf6\x3d\x35\xfb\x0a\x2e\xb9\x65\xe4\x32\x00\xf3\x0e\x50\x4a\x0c\x3d\xe5\x47\x04\xc6\xa9\x8f\xa6\x2e\xb1\xc1\x47\x2f\xe7\x08\x66\x9b\x8c\xa6\x1a\x80\x1c\x82\x83\x02\x3c\x14\xf7\xbc\x10\x2e\x8f\xd2\x75\xf6\x3d\x0e\x3e\x01\xcc\x7d\x69\xc1\x4f\xbc\xb7\x6e\xad\xb3\xfe\xee\x93\x07\x41\x7c\xc9\xa3\x07\x5f\xf4\x01\xe8\x73\xb8\x9c\x63\x7e\xd7\x5b\xe5\x99\x98\x52\xe4\x6c\x92\xaf\x6a\x08\x41\xed\x64\x61\x52\x27\x0f\xc2\x04\x46\xe4\x8f\x64\x70\x38\xfd\x37\x09\xb9\x02\x0e\x07\xe9\x27\x18\x2f\x20\x8b\xd2\x04\xd8\xf5\xd1\x24\x5b\x3a\x40\x6b\x3b\xed\xf3\x9a\x5c\x41\x7b\x7b\x27\x6a\xe0\xc1\x30\x84\x11\xc6\xd0\x39\xdb\xb5\x32\xee\xb9\x80\x0c\xe8\x44\xf1\xb5\x9a\xbe\xbe\x78\x7b\x75\xfe\xe1\xf2\xfc\xcd\xc5\xe5\xf5\x87\xe7\x2f\xaf\x4e\x9f\xbd\x3a\x7f\x4e\xfe\x98\x7e\xc2\x07\x6b\x5a\x0f\xad\xa8\x11\x75\xaf\x89\x65\x34\x20\x47\xf7\xad\x57\x09\x80\x5e\x1b\x0d\x92\xda\x54\x8a\x38\x61\x62\x9e\xb2\x28\xda\xc0\xed\x0e\xbb\xf9\xa5\xd8\x9c\x89\xe2\x13\xb0\xfb\xf8\x6f\xa3\x1c\x25\x35\x33\x10\xd2\x36\x57\x9e\x6d\x38\x6c\x71\xd7\x3e\xd1\x35\x33\x90\x7d\x7d\x14\x1f\xc6\x14\x69\xc3\xc4\xa7\x59\x21\xca\x26\x13\x93\xd4\x1e\xdf\xa9\x10\x6f\xfe\x73\x99\xd0\x38\x4f\x40\xbf\x11\xc7\x47\x3f\x79\x00\xba\x86\xd7\x10\xc0\xe3\x96\x50\xa7\xea\xff\xec\x6b\xc3\xe8\x9e\x43\xdc\x7e\x22\x25\x88\x6a\x56\xdd\x31\xb7\xc4\x2e\x44\xc9\x23\xe7\x14\xb4\xc9\xb4\xaa\x0a\xee\xc1\x9d\x3b\xfd\x37\xac\xcc\x79\xbd\xbb\xbd\x3d\xd3\x5f\x30\xf5\x9f\x42\x2c\x5f\x60\xdf\xbd\xe5\x88\x58\x2c\xfb\xc5\xb5\x10\x2b\xe9\x01\x03\x0c\x67\xc1\x55\xe1\xd3\x75\xd8\x39\x0d\xa4\x77\x87\x4d\xef\x2f\x54\xbb\x76\x0d\xf4\xdd\x51\x8c\x94\xbc\x86\x3a\xe1\x76\xea\x1f\x70\x62\x0d\x3c\xea\xa9\x32\x65\xe1\xbf\x8d\x6d\x03\x68\x66\xc4\x55\x83\x54\x5b\xc5\xd6\x80\x66\x76\x5d\x15\x66\x16\xf1\x4d\x61\x0a\xeb\xc9\x38\x28\x4e\x54\x53\xe8\xe6\xf7\x29\xf9\xb1\x54\xfb\x5e\xc0\x56\x3d\x13\x58\x8b\x8d\xb1\xab\xcd\xa7\x59\x41\x97\x95\x29\x31\xad\xc5\x66\x4c\x0e\xc7\x21\xf9\x86\x22\xf5\x84\x3c\x71\x9c\x12\x46\x23\xa6\x9b\xc1\x6f\xc9\x96\x50\xfe\xb7\x0d\x45\xc7\xc4\xf9\x98\x38\x34\x0b\x18\x0e\x36\xe6\x18\xa6\xa8\x0b\xf2\x07\x3b\x0e\x97\x19\x32\xfe\x7e\x72\x62\x0b\x3c\x7a\x64\x3f\xd9\xdc\x3c\x11\x13\xdb\x71\x51\xda\xb2\x0e\xd8\xb1\xc1\xe7\x9f\x15\x90\x83\xdf\xf9\xf5\x0c\x24\x71\x55\xe6\x05\x5d\xec\xd9\x31\x08\xac\xc2\x49\x5f\xf8\x9e\x3a\x04\xe1\x3d\xe3\x33\xe8\x2b\xf1\x3d\x29\x83\xb1\x21\x92\x63\xc7\x21\x42\x18\x6c\xc8\x07\x00\xff\xba\x9f\x57\x90\x85\x80\xf4\x8e\x23\xfa\x87\x96\x57\x90\xc3\xd1\x86\xcf\xc7\x41\x8a\x50\xcd\x39\x60\x53\x90\x53\xf0\x53\x4a\x27\xd2\x9a\xc2\xe7\x39\xee\xb4\xc6\xda\xe5\xb8\x83\xa3\x6d\xaa\x99\xf5\x60\x90\x88\x1b\x98\xe1\x63\xc4\x64\xb7\x0f\xfa\xdb\x97\x0e\xae\xb1\x4b\x11\x88\x94\x79\x26\x56\xa5\xea\x71\x59\x21\x94\x63\x68\x38\xb7\x95\xbd\xd6\x2f\xf8\xb1\x19\x17\xa1\x6c\x52\x01\xa3\x79\xdd\x98\x06\x07\x4f\x0e\x0f\xff\x75\x90\x14\xa6\xba\xaa\xbc\xa6\xea\x66\x9a\x31\x5e\x44\x06\xee\x7d\x3a\xbf\xaf\xed\x01\x0d\xc6\xf8\x38\x51\x15\x5f\x29\xe7\x7a\x0e\x13\x7f\x73\x37\x32\xfa\xbc\xe3\x24\xb2\x6a\xd0\x66\xd7\xe5\x15\xde\x37\x37\x2c\x5f\x15\xec\x6a\x5b\x66\xf1\x85\xf3\xa1\x43\xd9\x65\xae\xbf\x5f\xbd\xe1\xb5\xbe\xe5\xf5\xbc\xaf\x7d\xa3\xbc\xb4\xf9\x34\xf6\x50\xc0\x9f\x98\x71\x96\x75\x24\x60\x9b\xf3\xfb\xef\x3a\xd8\xb3\xf9\x37\xb6\xad\x7b\xec\xbe\xad\xd3\x6f\xcf\x4d\xe9\xaf\xfd\x9c\x77\xed\x5f\xf2\x95\x18\xbb\xba\x9f\xb3\x77\xcf\x99\x05\xe5\x72\xf2\x4f\x98\x9f\xa5\xc7\x99\x44\x54\x51\x97\xf8\x09\xbf\xc8\xe9\xde\x8d\xf5\x55\x7a\x6c\x6c\xb8\x0c\x1d\xc7\x3b\x58\x87\xe4\x41\x8f\x53\xcf\xfb\xf5\x0b\x80\x39\x4d\x2f\x70\x96\xa2\xd3\xe2\x33\x11\xbb\x29\x24\x9a\x33\x27\xa8\xd5\x1e\x92\xe4\x87\x61\xb0\x4f\x26\x91\x06\x2b\x73\xb0\xc8\xc7\x6b\xaf\x04\xa9\x8a\xd5\x82\x97\x01\x1c\x75\x04\x8a\x2b\xdb\xa7\x39\x68\x7b\xf7\xee\xe2\x2d\xd3\xd8\xde\x84\xe5\x66\x73\x43\x11\x35\xdc\x82\x09\xe7\xa2\x64\x09\x20\xe1\xa8\x3d\xc8\xb6\xbd\x52\x68\xc9\x5d\x95\x39\x78\x53\x4f\x09\x79\xa9\x5c\x9e\x77\x40\xc6\x0b\x1c\xab\xf4\xc9\x76\x69\x6c\x86\x23\x0b\x9a\x07\xf3\x86\xe4\x64\x22\x8f\xf3\x8e\xd7\xab\x92\x44\x28\x76\x90\xc1\x1d\xd3\x63\x56\xb5\x58\xd4\x74\xb9\xa4\x8a\x67\x0e\x36\x57\xcc\x43\x93\x31\x0e\xd8\x4e\xfc\x92\x15\x5b\x7d\x33\x19\x5d\x80\xe5\xf9\xe1\x59\x2f\x73\xb2\x02\x2c\x23\x00\xcd\x8b\x12\xf3\x93\x25\xa3\xa5\x74\x19\xd1\x85\x22\x33\xb0\x4b\x1b\xfb\x68\x26\xea\x5a\x8b\xaf\xe8\x6b\xba\x65\xca\xaf\x5b\xa9\x85\xb1\x26\xb2\xfa\x0d\x57\xbf\xee\xa4\xed\x3f\x39\x48\xd3\xf7\x7a\x19\xbf\x75\x76\x31\x75\xa3\x59\x61\x4d\xa8\xe7\x18\xcd\x7d\xaa\x14\x5b\x56\xca\x24\x8e\xd0\xed\x93\x19\xcd\x71\x69\x31\x36\xa7\x75\x78\x34\x33\x9c\xb3\x42\xd1\x33\x1c\x36\x39\x89\xa6\x36\x89\xf9\xb7\x85\x79\xca\x87\xb1\xc9\x2d\x66\x8f\xa3\x16\x92\x7c\xb2\xff\x9c\x3e\xcd\xd1\x80\xfe\x40\x0e\xed\x43\xe0\xb0\x7b\x1b\x29\x62\x46\xd1\xad\xde\xc6\x25\xef\x62\xe3\xc3\x7e\x50\x15\x18\xea\xd1\x1d\x62\x12\x77\x59\xb7\x6d\x26\x9d\x69\xc1\xca\x05\x4a\x02\xc7\x84\x93\x3f\x9c\x90\xc3\x63\xc2\x27\x93\x38\xba\x33\xae\xf3\x8e\xbf\x27\xdf\x46\x1b\xe0\x54\x3d\x10\x2b\xe2\x61\x52\xe3\xae\x02\x9f\x9b\x4f\xd1\xeb\xd6\xb1\xa2\xe9\xdb\x74\xdf\xfd\x63\x5e\xbc\x2f\x77\x01\xc5\x0d\xfe\x33\xdc\x40\x38\xe2\x7f\x9e\x2b\xe8\x57\x3f\xdb\xe6\x01\xec\xc9\x94\xdd\xff\xde\xc1\x05\xc5\x8b\x27\x7e\x64\xdd\xad\x73\x29\x36\xfa\xca\x71\x9d\xb4\xef\x1b\x1c\x64\xc7\x85\xe3\x38\x41\xdb\x80\x6b\x3d\xb3\x6a\x04\xac\xe2\x14\x8e\xc3\xc6\x2d\x03\x03\xf8\xd6\x5f\x31\xfa\xf9\x47\x97\xac\x85\x50\x44\x2e\x69\x61\x72\x63\x90\x60\xc0\x5f\x9f\x90\x89\xc9\x3c\xbe\xb9\xe1\x05\x0b\xda\x8a\x31\x89\x0b\x2a\xd5\x25\xca\xdf\x7a\x18\x98\x69\x1c\x8f\xe9\x08\x2e\x8f\xe0\xb6\xb0\x65\x27\x21\x73\xea\x32\x7d\xd9\x1b\xe7\xe4\x84\x78\x6d\x47\xd7\x0d\xe2\x2e\x1f\xec\x10\x42\xfd\x4c\xf3\xa3\x9d\xb7\x8e\x5d\xf7\x4a\x54\x97\x62\xe3\x1d\xef\xdc\xf4\x26\x13\x7b\x13\x3d\x20\x11\xee\x72\x7c\x23\xdd\xf0\x39\xe4\x54\x0f\xd6\xe5\xf8\x41\x83\xef\xf6\x53\xab\x56\xf2\x66\x4a\xab\xca\xda\xc5\x1b\xdf\xc7\xba\x0b\x1b\x6a\x76\x70\x40\x7e\x64\xe4\x2f\x2b\xa9\x1c\xd2\x3d\x24\x57\x73\x70\xf7\x4a\x54\x71\xbe\xc4\xb1\x3e\x8c\xf6\x8e\x58\x55\x39\x55\xcc\xb6\x14\x88\xe6\x81\xf0\xe3\xd5\x30\xa8\x69\x02\x81\x71\x49\xef\x02\x35\x93\x7d\x3b\xf4\xf8\x30\x23\x61\x04\xf1\xe8\x29\xe5\x0f\x5d\x94\x55\xd0\x1a\x52\x2e\xb9\x77\x2d\xa0\xc6\x93\x5d\x14\x10\x13\x98\x2f\x63\x24\x27\x33\x5a\x5e\x0e\x83\x01\xee\x6a\xee\x38\x68\xad\xc6\xd3\x98\x2c\x2e\xab\x82\x67\x6c\xf8\xa0\x61\x17\xe9\x20\xd3\x49\x73\x64\xe3\xe6\x0f\x1e\xcd\x2e\xa4\x9c\x55\xe9\x69\xa7\xf6\x64\x13\x1e\xbe\xc9\x49\xb3\xa9\xe3\x58\x79\xa6\xf7\xe7\x71\x47\xa1\x4f\x89\x05\x8f\xb8\x07\x78\x8c\x72\x98\x4b\x83\x78\x3f\x85\xb9\x4d\x7e\xb8\x46\x11\xff\x12\x92\xdd\x1a\x2c\x7f\xe3\xd8\x17\xe8\x85\x9c\x3e\xd3\x2a\x31\x63\x01\xbd\x9d\x85\xc6\xa9\xc4\x23\x2a\x36\xf3\x20\x98\x6f\x76\x9f\xb0\x0d\xe5\xff\x24\x96\x9d\x06\xb0\xd0\x2b\x05\x67\x21\x36\xd7\xe2\x5a\x54\xc3\xc3\xde\x03\x64\x7b\x9d\xb6\xb1\xe9\xf3\xb2\xcb\x3f\xb2\x63\x18\x98\x43\x6f\xd8\xbe\x2f\xf7\x0f\x4d\x33\x22\x15\x5d\x30\xb2\xaa\xc8\x10\xa0\xfb\xe0\xa7\x82\x97\x6c\x44\x6a\x56\x50\xc8\x55\x6a\x3d\xcf\x51\x53\x03\x9e\xff\x3d\xad\x56\x38\x60\xba\x60\x6f\xab\xb4\x7b\x02\x4f\x19\xde\x17\x4c\x5d\xc3\x75\xfa\xb2\xcc\xd9\xdd\xb0\x23\x44\x22\xde\x07\x1e\x3f\x84\xb1\x63\xd8\x93\x7b\xac\x44\x2e\x36\xe5\x6f\xbb\x16\xcf\x75\x0f\xbf\xf5\x6a\x3c\xde\xad\xd3\xef\xb1\x1a\x7a\xe2\x9a\x2e\x3a\xa6\x7e\xbf\x79\xbf\xe2\xe5\xdf\x86\x06\xee\x33\x39\xd8\xea\x2f\x36\xbd\xbf\xd1\xb6\x36\x26\x88\x06\x89\xa6\xcb\xbd\x64\x99\x28\xf3\xf0\x17\x5a\xe6\x9f\x75\x37\x6e\x78\xc5\xce\x44\xa9\x20\x43\xd3\xae\x6b\xa9\xcd\x77\x91\xc3\xe4\x9c\x10\x62\x95\x66\x37\x36\x5b\xcc\xbb\x84\x27\xc9\x38\xed\x20\xf2\x7e\x3a\x17\xf5\x39\xcd\x6e\x7c\xbc\x3d\x4e\xd0\xbe\xf1\xe8\xd3\x03\x09\x4d\x4f\x6c\x96\xe4\x88\x25\xb6\x6f\x99\x29\x14\x70\x1b\xee\x11\x42\xc1\x00\x1f\xb4\xc3\xb1\x69\x2e\x7e\x7c\xc1\x8e\xa3\x1f\x0c\xdb\x7d\x20\x6d\xc6\xf1\xfa\xa1\x4b\x61\x42\x81\x99\x58\x1f\x8e\x98\x21\x6d\xaf\xc3\x17\xab\x30\x2f\xa1\xcd\x00\xbb\xc7\x40\xc8\x54\xc7\xae\xc1\x14\x4e\x8b\x22\x4c\x45\xd6\x2b\x4f\x99\x9f\x7b\x62\xdf\xfa\x86\xe7\x39\xdc\xf4\x8e\x56\x9b\x1b\xdf\x3f\x1e\xaf\xd5\x72\x0b\x2f\xbd\xe5\x8b\x13\xa1\xaf\x87\x9b\xb6\x56\x89\xe6\xc4\x5c\x5d\xda\x1f\xc3\x9b\x46\xcc\x55\x62\x77\x20\xc3\x1a\xab\xe7\xa2\x5e\x12\x4a\x74\xe5\xb4\x0f\x3a\x78\xbb\x4b\x4c\x74\x91\x13\x0e\x81\x68\x37\x4a\x55\x47\x07\x07\x9b\xcd\x66\xba\x56\x4f\x0e\x0f\xa7\x25\x53\x07\xb9\xc8\xe4\xc1\x5a\x7d\xf3\xe4\x70\x52\x2f\x0f\x9e\x9f\x9f\x5d\x5d\x5f\xfe\x8f\xeb\x6f\x26\xbf\xdf\x73\x4f\xd9\x61\xb7\xc9\xe1\xe0\x80\xe0\x17\x7f\x43\x22\xea\x81\x19\x23\xaf\x1b\xa3\xbc\x67\x0e\xc7\x1f\x21\xdf\xe8\x26\x94\x1d\x44\x19\x2e\xc5\x6c\xa5\x6c\x82\x0b\xd8\x5d\x54\x1f\x80\xaf\x16\x48\xfd\xad\xfe\x42\xe8\x75\x00\x22\x45\x05\x90\xcd\x01\x19\x7e\xb6\x83\xf8\x33\x44\x7a\x40\xce\x77\xe8\x54\x06\x50\x0d\x06\x5a\x3b\x1e\xd5\x18\x93\x60\xab\x1b\x08\xa4\xe5\x0a\x74\x39\xe5\x40\x99\x9c\x9e\x8c\x2d\x9d\x36\x07\xbd\x05\x58\x4e\x68\xb9\xdd\xdc\xb0\x9a\x75\xa4\xcc\xef\x09\x36\xdd\x9f\xcc\x9b\x75\x7d\xae\x4a\x48\x18\x47\x96\xb4\x44\xa6\x86\xdd\x69\x59\x84\x2b\x70\x52\xd8\x9a\x14\xe4\x10\xbe\x84\xba\xa4\x78\xea\xd3\x9e\x6c\x7b\x6b\x65\xf5\x36\xcb\xce\x7d\x1e\x9b\x8d\x66\x32\xb5\xd5\x66\x5d\xa3\xfd\x76\x47\xd7\xe2\x51\xa9\xba\x19\x12\xf2\x5a\xac\x59\xd8\xe3\xdc\x24\x7d\x33\xc7\x0b\x54\x44\x36\xc5\x36\x60\xb1\x99\x0f\x5a\xb8\x37\xaa\x45\x50\x36\xcd\x49\x29\xc8\x52\xd4\x2c\x48\xe4\x4d\x6b\xd6\xc3\x28\x6e\x7a\x34\x57\x65\x9a\x03\x70\xce\x13\x3b\x9d\xb4\xa0\x10\x2c\x6b\xa4\x48\x3d\x3c\x06\xe8\xf8\xa4\x3e\xf5\x98\xf0\xc7\x8f\x5b\xca\xde\x48\x83\x6a\x5d\x26\x1a\xef\x5c\x88\xf0\xb1\x5a\x96\xed\x8a\xee\xc5\x0b\xd1\x56\x9d\x3e\xf5\xe0\xc0\xd0\x98\xdb\xcf\xcc\xb9\x46\x44\x1e\x11\x9a\x06\xfe\x74\xad\x57\xfe\xec\x4f\xd7\x53\xb3\x1e\xa1\x9b\x45\x0f\x6f\x87\xe3\x16\x41\x84\x83\xee\xe7\x6d\xd2\xed\x48\xe1\x7b\xd9\x41\x57\x9a\xbd\x09\x09\xcb\xba\xfd\x24\x89\x6b\xce\xeb\x04\x75\xb5\xaa\xf4\xa5\x30\xdb\xf7\x6f\x47\x62\xf7\xd3\xd5\xef\xd6\xd4\x7f\x59\x3a\x4b\xb6\xd1\x64\xf2\x21\x1a\xd0\xae\x2a\xa1\x2a\x48\x53\x89\x63\x6a\x2a\x84\x79\xa9\xd8\xc2\x1b\xa5\xc8\x7f\xb2\x5a\x18\x67\x5a\x5f\x61\x8f\x7f\x60\x7b\x33\xc2\xf9\x7f\xf1\xe5\x75\x9e\x4d\xa3\xc6\x72\xdd\x7f\x4b\xfc\x48\x8c\x8a\x0a\xe4\x0a\x70\xdf\x0a\x9c\xaf\x76\x6f\x49\xab\x8d\xc3\xb8\x7e\xd2\x67\xaa\xb9\x45\x7b\xbc\x6b\xbf\x17\x84\xcd\xe7\x2c\x53\x26\xde\xb8\x66\x08\xa0\x79\x9f\x76\xf6\x39\x63\x99\x6d\x3c\x55\x5d\xde\xb5\x9f\x73\xb6\x3a\xf6\x9d\x6b\x49\xef\x62\x3e\x6c\x78\xb8\x71\xbd\xb7\x93\x27\xa3\x07\x8d\x5d\xed\xd8\xab\x71\x5a\x04\x84\x68\x5d\x7b\xb1\xf4\x99\x79\xc0\xfb\x77\x88\x08\x2d\x8a\x0d\x45\xba\x86\x41\xb1\xcb\x21\x8d\xac\xaa\x88\xcf\x75\x43\x1c\xeb\xb7\x1e\xf3\xcc\x83\x26\x9a\x26\x0f\xec\xb5\x01\x3a\x91\x78\xc0\x61\xd3\xd9\x9a\xd5\x5b\x6b\xe1\x25\xff\xea\xc6\x0a\x76\xd6\x11\xb1\xce\x88\xb6\x79\xdd\x8c\xd3\x75\xcb\x8a\x65\x98\x49\xd8\x16\x13\x35\x39\x34\x17\xb4\x69\x91\x4b\x52\xd5\x62\xcd\x73\x96\xa3\xbd\x0d\x78\x1b\xfd\x96\x81\x15\x6d\xbe\x52\xab\x9a\x19\x13\x96\xf5\x27\xd6\x8d\x2f\xc9\xaa\x8a\xc6\x9d\x78\x1a\xd9\x1d\x97\xe8\x03\xee\xde\x00\x78\x2c\xc6\x80\xc5\xd1\xdc\x97\x07\x26\xa7\xb1\xba\xa1\xaa\xf3\x0a\x13\x95\xfa\x00\x73\xf5\xf9\x68\xdd\xca\xfe\xe2\xef\x35\xf7\x9b\x9d\xf8\x4a\xb2\xf9\xaa\xb0\x79\x69\x75\x37\x73\x5e\x14\x60\xc0\x5b\x29\x02\x59\xe4\xa2\x71\x76\xa4\x5e\xd6\xab\xb0\x57\xb1\xd9\x12\x28\x43\x8a\x73\x13\xf0\x07\x0e\xe7\x73\x12\xcc\xed\xe3\x47\xa4\x3d\xfd\x75\x13\x1c\x2d\xd8\xf4\x63\x23\xc5\x00\xdc\x09\x96\xd7\x64\x27\x08\x6d\xd1\x9d\xe6\x40\x6c\xeb\xf8\xdf\x09\x79\x42\x26\x64\x38\x74\x7f\x8d\xc8\xbf\x92\xcd\x88\x3c\x26\xc0\x77\x44\x17\x39\x94\x09\xd8\xb1\x26\xeb\xa1\x3f\x3d\x3e\x21\x0d\x57\x53\xf7\x58\x0c\x79\x43\x2f\xde\x3e\x44\xe8\x75\x1a\xe1\x13\x98\x64\xf5\x5a\x7c\xb4\x46\x4e\x31\x0f\x42\x84\x3c\xb4\x8b\x4d\x27\xdc\x34\x8a\x22\xa3\x81\xfa\x1e\x96\x93\x55\xa9\x78\xe1\xd9\xe3\x8c\x16\x2d\x94\x31\xe7\x26\xaa\x6a\x72\x95\xec\x15\x73\x1d\xdb\xb1\x81\x14\x25\xa5\x05\x1e\xda\x0b\x67\x60\xeb\x45\xd8\x63\x21\x2e\xd0\x5a\xf9\x52\xf0\xe9\x33\x5c\xc2\xae\xe9\x2d\x32\xa3\x01\x3f\xf0\xfc\xe5\x0f\x0e\xfa\x86\xca\x98\x9e\x4d\xba\xc4\xe6\x5a\xfc\xe9\xfa\xf5\xab\xe7\x7c\x6d\x02\xd9\x3f\x91\x9c\xaf\x31\xa0\x9b\xaf\x6d\xb6\xf9\x1d\x2d\xed\x58\x86\x9c\x65\xa2\x6e\xc4\x17\xe5\x7c\x1d\x86\xd3\xf3\xb5\x16\xae\x73\xbe\x4e\x07\x6c\xdb\x16\xa0\xda\x7e\x2c\x2e\xcc\x7b\xd8\xd2\x7f\xb4\xf2\x2a\x8e\x7a\xb4\x05\xd1\x70\xbb\x9a\xc2\x40\xf3\x1e\x2d\x39\xf7\xef\x90\x47\xe9\x68\xd4\x65\x4e\xec\x6e\x38\x40\x81\x6d\xb5\xe4\x80\x65\xf7\x56\x07\x0b\x70\x67\x7d\x44\x91\x0d\x55\x45\xe0\x38\x39\x17\xd9\xca\x99\x03\xe1\x8f\x40\x19\x18\x69\xa4\x5c\x44\x78\xab\x8b\x20\x48\x3f\x0e\x48\x8e\x43\xb4\x83\xb6\x5a\xa8\xcd\xad\x36\xdb\x58\xd0\xa3\x48\xdb\xd7\x09\x97\xdc\xb5\x23\x3b\xe1\x99\xa3\x65\xb1\x78\x10\x1d\x2a\x70\x8f\x42\x92\xa8\x03\xc0\x24\x53\x51\x66\xa2\xd4\xeb\xbd\x64\xe5\xaa\x99\x42\xdf\x78\x71\x23\xeb\x41\x3c\x76\x90\x28\x21\xaa\xcd\xf6\x6a\xfe\xfc\x10\x6d\x87\xb3\x07\x33\x56\x7e\x8f\x49\xab\x53\x43\xbc\x72\x05\x50\x3d\xe3\x2b\x4c\x69\x9e\x9f\xaf\x59\xa9\x5e\x99\xf4\xb4\x26\x3e\x2e\x17\x9b\x72\x30\xb6\x63\xe8\x59\x69\x55\xdd\xbb\x8a\x5e\xf8\x46\xa5\xd6\x04\x44\x19\x6c\xae\x7e\x51\xb1\x30\x2c\xd4\xae\x1e\xcc\xce\x0f\x80\x8a\x2d\xcc\x83\x28\x5f\xe8\x3f\x31\x84\x27\x58\xcc\x31\x3c\x5b\x48\x53\x07\x07\x04\x1b\x81\x6b\xd6\xad\x07\xfa\xfa\x48\xeb\x1c\x14\xac\x3a\x05\x34\x96\x17\x2f\x0c\xae\x46\xb6\x92\xd8\x8a\xa9\x80\x38\x64\xb3\xd5\x0c\x11\x53\xfa\x2f\x7f\x0b\x91\x57\xbf\xc3\xa8\x22\x1c\xf6\x9e\x4d\x5b\x9b\xdf\x67\xd1\x66\xc5\xaa\xde\xbf\x66\x40\xb4\x23\xef\xde\x23\x4d\x08\x66\xe3\x10\x64\x80\x6a\x66\x5e\x9f\xe1\x00\x83\x2e\x91\x42\xc0\x4f\x5b\x1f\x0d\x63\xa1\x71\xce\xda\xc3\x81\x91\x4e\x26\xa5\xc8\xd9\x3b\x58\xd5\x93\xaf\xa0\xc3\xaf\xde\x93\xbf\x06\x91\xbf\x03\x42\x66\xe2\x6e\x82\x7e\xed\x47\x04\xc1\x56\x27\x33\x71\x77\xdc\x28\xd4\xc8\xe7\x7b\x44\x54\x4d\x4b\x59\x51\x10\xbc\x1e\xf2\x65\x25\x6a\x45\x4b\xd5\xac\x86\xed\x19\x7f\xca\xa7\x55\xab\x59\xfc\x0e\x33\x39\x22\x52\x14\x3c\x8f\x4a\x7c\x0a\xff\x98\x6e\x32\x98\x4f\x73\x02\xe6\xb5\x3d\x22\xbc\x2c\x78\xc9\x26\xb3\x42\x64\xb7\x8d\x8e\xf4\x2a\x4d\x68\xc1\x17\xe5\x11\xc9\x98\xe6\x2c\x1a\x05\xcc\x10\x33\x5a\x64\xc3\x30\x74\x34\x06\x3c\x19\x91\xaf\xc9\xd3\x51\xa3\x2a\x74\x6a\x5d\xb7\x92\x75\x6d\x48\x42\xe7\xd4\x8e\x6a\x21\x54\x73\x5e\xe9\x21\xa0\x77\x58\xeb\xa0\x77\xc2\xae\x1c\xef\x69\x34\xf4\x39\xdb\xd3\x6a\x88\xb4\xd2\xd5\x2c\x92\x9d\x98\xcf\x25\x53\x9a\x54\x8e\xc8\x61\xaf\xa2\xb5\xd8\x74\x17\xc5\x54\xb6\x51\x94\xf5\x11\x39\x9c\xfe\x9b\xec\x28\xdf\x8a\x13\x3e\x02\x02\xe8\x53\xda\x44\x07\x1f\x59\xc9\xa1\x4f\x1d\x43\xbe\xbb\x23\x95\xbb\x37\xff\xff\x77\xcb\xb6\xf3\x9a\x2e\x99\x34\x56\x8f\x06\x1d\x80\xf4\xfa\x57\x22\x2a\x9a\x71\xb5\x3d\x22\x4f\xa6\x87\xc7\xe4\x53\x83\xbe\x45\x58\xe2\xb0\x55\x22\x3e\x48\x7e\x3d\x9b\x7d\xd1\x92\x2f\x31\x0d\x79\x49\x97\xec\x08\x07\x74\xdc\x55\xc6\x6f\x46\x38\xf7\xc4\x6e\x35\x8f\x8c\x6f\x82\x2b\x86\x45\x26\x99\x58\x95\x4a\x1f\xe2\x39\x2f\xb9\x62\x9d\x35\x14\x5f\xf2\x72\x31\xb1\xf7\xfb\x11\x61\x54\xb2\x09\x87\xd4\x19\xdd\x23\xe5\x35\x33\xc5\x9d\x69\xa5\xb1\x23\xfe\x01\xf5\x97\xef\x0d\xa3\xb9\xf1\x70\x3a\xbb\xe1\x45\x3e\x84\xad\x0e\xed\x96\x1e\xaf\x7a\xef\xd5\x9d\xf3\x75\xd0\x49\x88\x74\xcd\x73\x72\x42\x06\xb0\x7a\x47\x2e\x9b\x82\x89\x30\x4c\x56\x00\xb0\xce\xef\x29\x78\x2c\x0d\x82\xab\x3e\x5d\x1a\x1f\x8a\x0c\xb9\xda\xe0\x91\xb0\xdc\xf4\x11\xa1\x33\x29\x8a\x55\x63\x49\x0a\x36\x57\xbd\x6e\xc4\xe8\x6b\xf3\x02\x18\xc5\x7b\xaf\x44\xb5\xab\x4d\x73\x53\xee\x6c\xb4\x16\x9b\x46\xa3\xee\x05\x68\x5f\xfd\xe6\xce\xdc\x31\x81\xa8\xf8\xbd\xaf\xf1\xc9\x86\xcd\x6e\xb9\x9a\xc0\x73\x68\x56\xd3\x9c\xc3\x71\xeb\xd5\x24\x4f\x0e\x0f\x97\x12\x1e\x0c\x1a\x3f\x40\x93\xa5\xf8\xe5\xb3\xda\x48\x59\xba\x11\x31\xb6\xcb\xce\x8d\xd9\x0b\x63\x09\xe0\xbe\x16\xf2\xce\x48\xce\x0e\x26\x3e\x3c\x42\x4d\xf2\xf4\x86\xe2\x1b\x56\xda\x9c\x94\x0d\xcc\xf1\x01\xe1\x92\x88\xf9\x9c\x6c\x18\xa9\x99\x0f\x95\xbe\xe1\x92\x30\x3c\x5f\x04\x8f\x78\xb1\xc5\xc6\xd0\x65\xbe\x85\x9b\x01\xf9\x6f\x09\x25\x90\x64\x6e\x4a\x50\x51\xb7\xa4\xb7\x4c\x92\xb3\x9b\x5a\x2c\x35\x3f\x2a\x45\xc6\xd1\xe7\xf5\xe0\x80\xc8\xd5\x0c\xd5\x28\x06\x01\x48\x33\xdd\x96\x37\x35\x38\xca\xd6\xab\x06\x19\x0f\x56\x4f\x09\xb9\xe2\x65\xc6\x10\xe4\x11\x1a\x89\xbe\xeb\xb9\x50\x52\x31\x56\x93\x21\x58\x42\x49\xa6\x17\x66\x14\xfb\x2f\x6a\x86\x6a\xec\x27\xa0\xfb\x6d\x30\xc6\xa8\x5b\x34\x2e\xfe\x61\x35\x50\x4a\xc2\x5f\x53\xa8\x82\xf5\x5e\xaa\x81\xee\xf7\x86\x66\xb7\x68\x8a\xe5\xfa\x07\xd0\x9f\x17\x8c\x96\x4c\x2a\xb2\xa1\x5b\xf2\x92\x64\x62\x55\xe4\x64\xce\xc1\x61\x31\xe4\x09\x9e\xe1\xf8\x3f\xe7\xb6\x6b\x37\x10\x5d\x7a\xf8\x5c\xe6\x35\x5d\x4c\xe2\xb5\x1a\xec\x6a\xe1\x33\xef\x35\xb8\x82\x26\xbf\xff\x7d\x83\x89\xd9\x7f\x89\x3c\x39\x6c\x54\xb1\xb7\x05\x7e\x48\x3d\x20\x69\xea\x6f\xcf\xa5\x03\x91\xaf\x53\x7c\x23\xe4\x5d\x24\xed\x04\x42\x64\x24\x1c\x0e\x80\xd0\xf5\x3f\xf2\x59\x61\xfe\xad\x87\x9f\xf0\xa4\x02\xba\x0a\x50\x6c\xbb\x56\xbd\x25\xf6\x40\xc5\x58\x0e\xf5\x0d\x84\xef\xd0\xfd\x6a\xfa\x45\xec\x59\xaf\xc3\xf5\x6a\xe7\x08\x76\x8b\x8c\x6d\xa1\xb1\xa9\xd5\xb1\x9e\x5f\x1d\x5e\x5f\x4c\x5d\xb2\x35\xab\x25\xfb\x81\xe7\x4c\x0c\x51\xe4\x4b\x6f\x35\xb4\xdc\xe9\x07\x88\x3a\xcf\x4b\x96\xd7\x74\xd3\x0d\xe4\xf2\xa7\xeb\xd7\xaf\x9c\x43\x0a\x98\x0d\x20\x63\x1d\xe5\x65\x43\x41\xf9\xfc\xe2\x35\xd1\xfc\x42\x1b\xe3\x05\xb4\x9d\xa6\x85\xfd\x21\xf6\xb6\xe4\xee\xf8\x7a\xb7\x93\xb1\x3f\x1b\x68\xcb\x9a\x70\x26\x3b\x3d\x2d\x50\xbd\xb6\xcf\x37\xda\xad\xe4\x8e\x45\x32\xd7\x94\x81\xe9\x46\xdd\x70\x2d\x36\x04\x6c\x74\x91\x15\x07\x2e\x6b\xc4\xc9\xf7\x76\xa4\x4b\xb1\x79\x83\x36\xa2\x1a\xb5\xe0\x73\x9a\x31\x78\x4e\x98\xf1\x39\xd5\x43\x21\x2b\x89\x81\x5c\x1c\xae\xe4\x39\x53\xd9\x0d\x86\x0c\x88\x92\xe4\x0c\x81\xc8\x61\x09\xb6\xe8\x0a\x00\x35\xc1\xff\x4b\x09\xb2\xe6\xcc\x61\xa0\x5c\x5f\x3c\xbf\x18\xd6\x0b\x5e\xe6\x74\x74\x44\xce\x44\x29\xa1\x6b\x49\xd7\xbc\x5c\x84\x4e\x9d\xd0\x3a\x95\x64\x08\xb3\x94\x62\x55\x67\x6c\x8c\xc8\x39\x19\x2a\x09\x46\xe0\xb4\x4c\x39\xaa\xf0\x33\x51\x4a\x56\xaf\x19\x59\xb2\xa5\xa8\x5b\xba\x6f\x67\x65\x82\x75\x81\xe9\x41\x6e\x77\xb4\x29\xb9\x05\x1b\x13\x03\x96\x96\x37\xfd\x69\xad\x7d\x09\xad\x2b\x9d\x0e\xfa\x84\x5c\x94\x13\x03\x23\x0d\x53\x00\xe7\x24\x5a\x6c\xe8\x56\x1a\x10\x7a\xdf\x16\x44\x82\x48\xa5\xbb\xe6\x19\x93\xd3\x16\xfd\x3a\x55\xbd\x1e\xef\xe0\x4e\x33\x8c\x03\xc7\x26\x98\x03\x01\x86\x47\x93\xa3\xa7\xd6\x0f\x3c\x38\xde\xd5\x08\x3b\xb3\x9b\xe8\x2f\xc5\xc6\xe8\x0b\x1d\x25\xc2\x2a\xf8\x10\x30\x5c\xad\x6f\x77\x86\x91\x04\xe6\xde\x64\xb9\x77\xd0\xc8\x7b\xaf\x1e\x82\xd5\x01\x6f\x61\x72\x62\xf6\x63\x67\xe4\xd3\x71\x07\xd2\x92\x5e\xdf\xd3\xba\xa6\xdb\x77\x41\x93\xef\xbb\x4e\x4b\x48\x3a\xf1\x69\x01\x1c\x9f\x20\x7c\xee\x37\x3b\x31\xd1\x10\xfc\xc9\x71\x06\xc9\x95\xd4\x2c\x1d\x46\xd4\x19\xa2\xae\xb6\xe8\xb9\xa8\x9b\xf2\xa9\x75\xac\x8b\xb7\x4d\x8c\xde\x49\xed\x48\xad\x5d\xd4\x0e\xec\x15\x94\xd0\xb3\xf3\xb4\x6f\xe9\xb3\xe9\x52\xfe\x39\xb4\x6f\xdb\x6a\x1c\x81\x34\xed\x37\x87\xcf\xca\x7c\xe7\xe0\xf5\x77\x51\xfe\xea\x81\xa7\x40\x59\xc8\x29\x91\xbc\x5c\x14\xcc\xa6\x2f\x08\x8e\x9b\x23\x27\x04\xc6\x36\xed\x5a\x3a\x72\x83\xd0\xe4\x44\xc8\x2b\x5e\x32\x73\x0d\xcc\x18\x29\xd9\x06\x5d\xf6\x59\xc1\x97\x5c\xb1\x7c\x8c\xcc\x77\x29\x88\xaa\x29\x07\xb3\xb5\x29\xd3\xeb\xfc\x1a\x8e\x31\xca\x7c\xa4\xd9\x6d\x56\xe6\xde\x0a\x8d\x71\x7a\xef\xde\xef\x32\x03\xb3\x32\x8f\x7c\xf0\x10\x90\xd2\x1b\x13\xfc\x75\x61\x8c\xbf\x44\x37\x8b\x39\x07\x74\xb9\x50\x7d\x1b\xb8\xa7\x9b\xa6\xc1\x38\xfd\xe8\x11\x79\x08\x45\x17\xcc\x7b\x80\x0e\x07\xa0\x75\xb4\xbe\x6b\x3e\x1f\x80\x6b\x7d\xf0\x93\x41\x75\x05\x73\xb3\xd9\x26\xfd\xf5\x2f\x82\x97\xc3\x41\x1a\xfd\x6e\xf7\x89\xf7\x98\x5c\xff\x4d\xce\xf9\xee\x57\x0d\xa3\x73\xf5\xba\xfc\x03\x9c\xf1\xc4\x39\xeb\x79\xc0\x70\x5d\xee\xf1\xb8\x35\xcf\x46\xf0\xb8\xed\x22\x6f\x28\x15\x3c\x3a\x4d\xf2\xee\xa4\x37\xa1\x68\xd1\x08\xc7\xb6\xd1\xdf\x34\xcf\x6b\x26\x11\xd7\xd3\x2c\x9f\x26\x09\xfc\x0a\x9b\xde\x5c\xea\x16\x9e\xdc\x6f\x44\xb2\x99\x58\x56\x2b\x65\x24\x6f\x83\xcc\x1a\xee\x7d\xdd\xe2\xac\x1d\xd5\xb5\xa3\xcf\x71\x42\xfd\xb1\xb4\x83\x30\xbf\x3e\xf0\x7c\xad\xd8\x9c\xc7\x1d\x1c\x81\xe3\x1c\xda\x59\x75\x9c\xc4\x00\x57\x42\xc9\x36\x86\xd5\xd4\x2c\x2c\x88\xb7\xe8\x02\xe5\x83\x1d\x9b\xf0\x49\xcd\x7d\x00\x4f\xe1\xb2\xd8\xba\x08\xff\x0d\x05\xfc\x01\x9a\xe7\x26\x85\x8f\xed\xd2\x5c\x42\x9a\x7c\x09\xf9\x5e\x28\x0e\xaa\x15\x0a\xd1\x77\xe8\xc5\xb2\xc1\x43\x2b\xcd\x50\x3c\x50\xa2\x09\xf3\x31\x43\x29\xb8\x54\x76\xc9\x31\x24\xca\xba\x68\xe9\xa6\x34\x17\xc8\xc1\xb3\x0b\x37\x47\x9f\xa8\xa1\x7d\xa4\x4c\x9c\x16\xa9\x4c\xf6\x02\x50\xd6\x38\x8f\xde\x90\x05\x32\x79\xba\xd4\x0d\x2f\x6f\x7d\xc6\x2e\x9c\xd1\xac\xa0\x25\xf0\xe8\x44\x8a\x25\xdb\xa0\x4b\xa3\x01\x0b\x47\x9c\x6a\xec\x2f\x44\x59\x18\x93\x42\x88\x5b\x14\x09\xb4\x50\x8f\x81\x49\xa3\x68\x39\x0d\x45\x3b\x87\xb3\x8a\x6e\xe1\xa2\x2c\xed\x75\xb8\x36\x36\xfe\x6b\x51\x1d\x60\xbc\xe8\x58\xbf\xd3\x19\x83\x11\xca\x1b\xb1\x2a\xe0\x6a\x9b\xe9\x5b\x56\x4f\xdc\xf6\x34\x1c\xe9\x01\x66\x54\x02\x90\x85\x1e\x2f\x48\x2b\x1b\x50\x11\x2d\x75\x1f\xb5\x1f\x89\xd3\xb2\xd9\x67\xdb\x2a\x62\x58\x4e\xa8\x75\x88\x26\x87\x76\x3b\xd0\x4d\x1a\xb3\x12\xb3\x9c\xd8\xc7\x3b\x0d\x1e\x93\x86\x6d\x80\x93\x08\x04\xba\xcf\x07\x2d\x08\x53\x8e\x7d\x76\x1d\x76\x83\x07\x41\xb8\x6c\x7b\xa6\xb7\x8f\x88\x71\x34\x00\x95\x74\x57\x08\xb8\x3b\x6e\xae\xdd\x16\x2f\x61\xbc\xfb\x61\x1c\x2d\x4e\xa2\xf6\x03\xe9\xd4\xb3\xa1\x78\x63\x78\x07\x7d\x46\x5a\xda\xa6\x66\x55\x7d\xbf\xc3\x95\x3d\x18\x8c\x82\x7a\x8e\xc6\x4f\xec\xac\x1e\x13\x1e\x83\x10\x20\xd4\xc1\x4a\xde\x5c\x8a\xcd\xb0\x16\x9b\x51\x04\xc4\xcd\xee\x54\x6d\xf1\x29\x76\x2e\x5e\x67\xac\xae\x83\x20\x77\x2d\x05\x01\x7a\x7b\xa1\x13\x5c\x2d\x33\x29\xec\xd2\x93\x40\x4f\xd4\x04\x12\xfa\x53\x47\x91\x79\xf2\xca\x08\xe8\xe7\x65\x1e\x23\xe8\x58\x9f\x34\xf8\xfe\x5c\x6c\x6c\x74\xdf\xa7\x07\x11\x8c\xa5\x26\xac\x3f\xec\x59\x9c\x51\x80\xa7\xd0\x83\x10\x11\x14\x23\x50\x38\x9d\x1a\x95\x67\x03\x5b\xd3\x35\x88\xe8\x0b\xd1\x53\x5c\x88\x4c\x5f\xf1\x1e\x16\x02\xa3\xa1\x3d\x43\x93\x78\x86\xf5\x4d\x5d\x42\x52\xa7\xe6\xc5\x6e\x33\xee\xd4\x2c\xdb\x66\x85\x69\x36\xc7\xec\xc3\x3f\x5c\x9b\x07\x52\xea\xf5\x15\x92\x91\xcd\x0d\xcf\x6e\x40\xfb\x91\xd7\x36\x03\xdb\x6c\xab\x0b\x9a\x5c\x54\x32\x4a\x5f\xa8\xbf\x39\x5e\x70\x49\x4b\x5e\xad\x34\x23\x66\x98\x1f\xff\xf8\x8e\x9c\x53\x24\x3e\xac\xfa\x06\x1b\x9b\x68\x23\x7d\x07\x17\x20\x5e\xc4\x0a\x17\xdf\x02\xa9\x21\xdc\x09\x86\xb5\xa4\xb9\x15\x4f\xe0\xb1\x81\x37\x70\x13\x28\x6b\xc4\x7c\x8e\xcc\x82\x64\x8e\x87\xe3\x75\xeb\xc9\xe0\x4c\x8f\xa2\x66\xf3\x55\x51\x6c\xf1\xbd\xc1\xbb\x8c\xe5\x44\x0a\x42\xf1\xe6\x46\x95\xcc\xdc\xea\xf4\x3d\xfb\xd1\x75\x33\xea\xfd\x7a\xe9\xd8\x58\x64\x43\x9d\x12\xeb\x5e\xf7\xa8\xbe\xf2\x93\x95\x94\xf0\x1d\xe4\x4c\x2a\x5e\x52\x93\xa9\xd6\x74\xb3\xe3\xda\x75\x2f\x56\x78\xe9\xba\x31\x8f\x71\x40\x63\xdb\x45\x53\xf6\x8a\x29\x9f\xb9\x47\xa9\xd9\x40\x3b\xdc\x07\x5f\x15\x28\x6c\xda\x0e\x40\x51\x9c\x8b\x31\x08\x7c\xf6\xd2\xf1\x2b\xf9\x6d\x3c\x1e\xef\x31\xec\x8a\xe0\x2d\xc1\x00\xaa\xc1\x2e\xcf\x63\x73\x89\x37\x51\xb1\x6c\x65\x53\x2e\xac\xea\xbb\x0c\x2b\x3f\x78\x90\x8c\x45\x0e\x44\xd4\x9d\x4a\xe2\x97\x5d\x01\xc4\x97\xa6\xb9\x34\x47\x63\xcf\xfa\x4e\xed\x8e\xa5\x30\xcd\x3b\x31\x60\xc4\x41\x44\x81\x83\xd2\x12\x89\x4c\xe8\x39\x90\x75\x24\x15\x01\x95\x5d\x06\x6c\x7e\x9b\x8b\xcf\x68\x89\x50\x50\xc1\x31\x09\xed\x6a\xa8\x30\x35\x9c\x5b\x78\x3d\x0d\x35\x43\x93\xd1\x72\xa0\x48\xce\xc0\x19\x5a\xf3\xa5\x16\x4c\xc5\xfc\xc1\x54\x36\x1a\x07\xac\x0f\x9c\x5b\xdd\x52\x29\x3c\x38\x96\x5d\xad\x86\x76\xb5\xeb\x20\x7a\x9d\xd1\xbe\x43\x68\xd5\x33\x66\x01\x1b\xa5\xf0\x28\xa1\xd7\xa1\xf1\xee\xc7\x1b\xf7\xfa\x26\xbc\x7c\xed\xf0\xf6\x86\x80\x07\x24\x94\x56\x78\x8c\x83\x4e\x02\x17\x7c\x9b\x66\x2f\x18\xc1\xc7\x8f\xd1\x21\xf3\xde\x96\x3d\x98\xa0\xfb\x28\x51\x4c\xe0\xbe\x57\x54\xf2\xf7\xdd\xdc\x49\x84\xcf\xfc\xa6\xe6\xc0\x6c\xfb\xdc\x99\x9d\x22\x48\xcd\x64\xc5\x32\x8f\x98\x0c\x8e\x6c\x78\x6d\x00\x79\x6f\x6a\x5a\x51\xcc\xa0\xba\x04\x4b\x09\xc4\x82\xa0\x5e\x3a\x47\xb4\x4b\x78\x44\xe0\x61\xe8\x94\x7a\x2c\xe1\x41\x5c\xc5\x7c\xee\xa0\x6a\x1a\x0f\x4e\x40\xfa\x36\x60\x30\xcc\x03\xe3\x0f\x1f\x4c\x8b\x4b\xf2\x75\x29\xd4\xd7\xfa\x8d\xb6\x39\xfe\x8d\xcb\x7f\x66\x86\xfa\xd6\x3c\x20\xde\x89\x7e\x64\xa5\x04\x6e\xde\x32\xaa\x06\x06\x9c\x6e\x2b\x56\x83\x9a\xa1\x6d\x3c\x26\xef\x28\x10\x20\x18\x81\x12\xa4\xd2\x4b\xbd\x87\xfa\xa0\x4c\xd2\xc9\xdf\x5d\xc1\x17\x96\x76\x0e\x83\xab\xb9\xb6\xf0\xc7\x05\x9f\x4d\x37\xd9\xd4\xfe\x62\x22\x01\x1e\x38\x14\xb1\xb0\x89\x6f\x5d\xc5\x56\x24\x9d\x0b\x1c\x0f\x36\xf5\xd1\xa3\x5e\x01\xa2\xcd\x70\x46\x5b\x5a\x2c\x97\x5c\xbd\xe2\x25\xb3\x40\xde\xc3\x18\x22\xa2\x64\x1b\xfd\xd5\x03\x11\x3a\x1e\x36\x33\x62\xbb\x9b\xe6\x24\x5c\x89\x63\x57\x2e\xe7\xf9\x45\x0b\xee\xdb\x7e\x94\xab\x99\x54\x75\x33\xfa\x6f\x67\x68\x9a\x7d\x63\x1a\x1c\x68\x00\x79\xe8\xa6\x1a\x77\x6d\x91\xd0\x81\x2f\x35\x83\x4f\x36\xd0\x04\xa3\xeb\x88\x90\x23\x0d\x58\xa9\xa0\xb3\x47\x8f\xc8\xc3\xae\x1d\xf3\xc3\x3b\x38\xd0\x52\xb6\xf2\xe4\x68\x37\x8b\xe5\x46\xce\x2f\x21\x53\x53\x78\x86\xd1\x7f\x04\x58\x40\xa3\x3c\xb2\x4d\x41\x28\x38\x50\x2a\x0b\x32\xef\xd8\x97\x61\xc6\x7c\xbc\xb8\x08\x3b\x9d\xfa\x16\xae\x2f\x9e\x5f\x1c\x05\x39\x41\xf5\xfd\xa0\x04\x11\xab\x5a\xbf\xae\xb3\x82\x2d\x8d\xaf\x08\x78\xc9\xcf\xb6\x8a\x91\xb7\xd7\x2f\x26\x4f\xfe\x77\x1c\xc5\x83\x86\x32\xd8\xd8\x80\xf4\xe1\x6f\x4d\xf8\xe3\x90\x4c\x0c\xe3\x83\xf1\x4a\x61\x1e\x9f\x64\x35\x47\x68\x4f\x46\xcd\x8d\xb4\x1f\xcd\xb6\x84\x8c\xcb\x7d\x07\xd3\x26\x75\x25\x6e\x19\x20\xa4\xda\x1b\x22\x4e\x9d\x5d\x15\x5c\xfd\xc8\x73\xa6\x57\x01\xf3\xf4\x0e\xb1\x07\xd3\x52\x32\x0c\x1e\x9a\x4c\x85\xbf\xef\xcc\xc2\x31\xdd\x64\xd6\xc7\x1f\x1a\xd0\x4f\x0a\xfe\x94\x44\x55\x6b\x54\xa6\x32\xe3\xbc\x55\xdf\xfd\xda\x86\x11\x74\xe4\x8b\x0f\xca\xeb\x56\x7e\xe0\x04\xb3\x6a\x56\xc0\xb7\xef\x17\xa2\xb5\x31\x8d\x06\x34\xfd\x6f\x6a\xae\xd8\xee\x36\xee\xb3\x4c\xc1\x7d\x73\x8f\xb5\x71\x37\x85\x21\x82\xa8\xe2\x92\x6e\x67\xec\xac\xe0\xd5\x19\xbe\xb6\x01\x60\x62\x78\x8f\x3f\x3e\x49\xf1\xc2\x7b\xc2\xbe\x1e\xb4\x64\xf6\x8b\xf2\x62\xa5\xaa\x95\xfa\x30\x8a\x46\xf2\x6b\x10\xd4\x0c\x3c\xbc\x13\x62\x8d\x98\x18\xb1\x15\x2d\x88\x91\x38\x26\xd9\xb2\x0a\xd6\x31\x89\x40\xe0\xf4\xc8\x7d\x37\x6a\xb9\xe6\x0b\x8d\x58\x0b\xb4\xaa\x18\x45\xbb\x7d\x2e\x6c\xaf\x57\x4c\x35\xe4\x5f\x2b\xbd\x5a\x34\x82\x55\x51\x74\x40\xda\xe3\x75\x05\x61\xa7\x56\xbe\x8d\x67\x46\x9c\x54\xff\xf5\xf7\x17\xd7\x5f\xe3\x60\x96\x42\x7a\xb0\x18\xa9\x87\x42\xc8\x8f\x4c\x73\x10\x1e\x67\x44\x37\xb7\x10\x7a\x5c\x5f\x89\xf9\x7c\xa2\x59\xad\xaf\x10\xb0\xd6\xa2\xd2\x72\x65\xfc\xee\x7e\x46\xfa\xf8\x19\xb8\xae\x9f\xd5\x72\x75\xf7\xb3\x07\x88\xb0\x7c\x92\x6e\xaf\x10\x19\x2d\xda\x0c\xd3\xd8\xe8\x10\x10\x47\x36\x52\x03\xa0\x7e\x1a\x34\x44\x93\x6a\xb1\xaa\x0e\xaa\x45\x5e\x22\x14\x6e\xa9\x78\x89\xd9\x79\x37\xa2\xbe\xd5\xe2\x37\x4c\x6b\x25\x59\x2d\x8d\x7a\x93\xdd\x55\x61\x62\xfb\x96\x91\xd8\x6a\x54\x9b\x06\xa4\x16\x14\x61\x40\x27\x5d\xcd\x20\x09\x36\x5b\x8a\xd5\xd7\x51\x63\x63\x6b\x3d\xe2\x65\x56\xac\x24\x5f\xf7\x48\x05\x1c\x83\xb9\x44\x7c\x99\x9d\xcb\x38\x1a\x8f\xf7\x68\xf0\x93\x3d\x39\x21\x87\xfa\x9d\x8e\xc6\x7d\xd2\x05\x22\x8f\x0f\x54\x10\x0d\x1b\x68\xa2\x01\x37\x68\x55\x14\xc7\xed\xaf\xd8\x6c\x58\xa0\x9d\xb0\xb1\xd1\x92\x1b\xe1\xce\xe6\xc2\x51\xb7\xa4\x87\xc8\x28\x55\x05\x86\x40\x9a\x65\xa2\xce\x03\x89\xe2\x87\xeb\x76\x26\x70\x63\x77\x39\x24\xab\xb2\x60\xb2\xe1\x70\x75\x43\x25\x99\xa1\xe8\x56\xe4\x36\xc5\x4f\xcd\x33\xe5\xe5\x03\x23\x48\x48\xb1\x64\x44\xf3\x32\xb5\xb1\x78\xbc\x54\x4e\xab\xa6\x1f\x44\xf8\xfe\xc3\x75\xf3\x62\xc1\x5c\xe3\x79\xdc\x9c\x55\xa1\xed\xb6\x45\x29\x51\x01\xed\xe3\x7c\xa3\x71\x0f\x64\x9b\x84\x77\xdb\xa5\x2c\x8d\x5d\xa7\x80\x4a\xdc\x15\x1d\xed\xdd\x43\x93\xbc\xa2\xe5\x11\x13\x96\x3a\x0e\xac\xd8\x87\x5d\xa6\x44\x73\x5e\x3e\x6f\xe3\x54\x67\xe6\x8f\x70\x47\xb9\x6a\xed\x25\x2a\xf3\x9a\xdb\xe9\xf6\xf2\x86\x2f\x6e\xfa\x6d\x66\x08\x27\xd9\xda\xcf\x9e\x9b\x69\x96\xe0\xcb\x6f\xa8\x3d\xe9\x7b\xf7\xd4\x1e\xb6\xbd\xdb\x6a\x0a\x86\x3b\xdb\x7d\x89\x84\x79\x79\xde\xd4\x42\x0b\xc7\x84\x92\xc1\x4f\xe5\xc0\x33\xd1\x81\x09\x2e\x78\x7a\xb9\x8b\x3a\x9c\x23\x36\x9b\xd8\xb4\x36\x58\x79\xde\x1d\x8d\x99\x60\xaf\x03\x5d\xb4\x33\xd9\x45\x6a\xad\x60\x6f\xec\x7d\x11\x2c\x79\x4b\xb6\x87\x96\x9c\xd7\x8c\xfe\xeb\x42\xdd\xb0\x7a\xc3\x51\x2b\xcd\x25\x68\x5f\x23\x8e\x41\x39\x40\x0a\x40\x71\x30\x23\x86\x88\xfd\xfd\x86\x7c\x23\x7d\x76\xc0\x99\x40\x07\xa7\xea\xbc\xcc\x2f\xe6\x57\x56\xcf\xb3\x53\x82\x04\x43\xd4\x49\xc0\xbf\x26\xfe\xb7\xd7\x4c\xd1\x60\xd3\xba\xe8\xc5\xa3\x3f\x9f\xea\xa3\x71\x15\xf1\x34\x9a\xc3\xca\x14\x5f\x33\x03\x52\xbd\x66\xb5\xdd\x32\x6b\x93\x9e\xf6\x92\x89\x71\x46\x49\x82\x8c\x04\x4d\x64\x6c\x0c\xd0\x4c\xa0\xe0\xf1\x23\xc3\xd7\x74\x4c\x2a\x07\xf3\xe7\x18\xc4\x69\xc8\x3f\xdb\x5e\xde\x56\xc3\x27\x0d\x2c\xe7\x4e\xab\xcd\x9e\x19\x58\x24\xed\x08\x4b\x3b\xb1\xbd\xbd\x66\x64\xf5\xb5\xce\x30\x0f\x79\xb1\x91\xd9\x04\x50\x94\x95\x8a\x05\xe7\x16\xa1\x1e\x4e\x7f\x9b\x59\x05\x83\x3f\x35\x10\x7b\xf0\x61\x4c\x68\xbe\xa6\x46\x23\x6c\x87\x03\x0d\xe8\xd3\x69\x70\x16\x11\xe6\x0f\x31\x65\xbe\xc0\xe0\x0c\x54\x52\x88\xf8\xd9\x6b\xe9\xf7\x2e\xfc\x94\x90\xd3\xe0\xee\x09\xaf\x1c\xa7\x4c\xb4\x2d\x01\x47\xeb\x3c\x7e\x1c\xab\xd2\xba\x76\xa6\x9e\x15\x0a\x61\xba\x9f\xb4\x53\x77\x34\x97\x36\xd0\xcc\xeb\xeb\x01\xe0\xe3\x9b\x57\x54\xd0\xfa\x17\x59\xce\x88\x17\x7b\xc5\x6f\xc1\xb3\x03\x95\x68\x63\xc2\xee\x32\x56\x69\x91\x81\x83\xbb\x53\xb8\xe3\xbd\x20\xbb\x0a\x5e\xb2\x17\x8c\x25\xb0\xb5\xef\x8d\xf0\x94\xd2\xf0\xb5\x02\xb0\x56\xcb\x72\x98\x42\xc3\x7a\x39\x87\xb4\xdf\x67\xb4\xae\x39\x5d\x30\xc3\xbc\x20\xca\x11\x2a\xa7\xc2\x49\xeb\x9d\xb0\x23\x47\x9f\x8f\xdd\x48\x84\xcb\xf4\x14\xdb\x7a\x89\xf6\x18\x22\x2e\x3d\x9a\x5b\x9b\xf5\xf6\x43\x6a\xed\x5b\x13\x38\x6f\x55\x81\x35\x19\x4e\x65\x25\xa4\xe4\xb3\x62\x6b\xd4\xec\xc0\xe2\x04\xf6\xd8\x84\x23\x89\x87\x64\x82\x58\x27\x08\xa2\xdf\xe7\xe9\x51\x63\xc4\xc5\xab\x9d\x1b\x1e\xc8\x33\xce\x93\x2d\x60\x5d\x7d\x86\xf0\xcc\xe9\x2a\xf6\x50\x47\x2d\x36\xc7\x81\xb5\xdf\x55\x0a\x24\x93\x68\x89\x71\x0d\xc0\xcd\x35\x75\x20\xd3\xc7\xea\x52\x6c\xc2\xc6\xad\x42\xaf\x21\xc5\x54\x05\xcd\x18\x20\x82\xc5\x78\x3d\xa0\xc8\x64\x73\xd5\x91\xdd\xd8\x87\xb3\x55\x14\x55\x10\x2d\xce\x2a\x8e\x43\x40\x74\x2e\xd4\x93\x56\xb5\x98\x51\xbd\xb7\x5f\xa3\x9d\x16\xb5\x09\x41\xff\x10\xea\x66\xd2\x50\xc0\x00\x75\x7b\xd0\x25\xc5\x0e\x47\x1e\xe6\x0d\x6d\x7b\x61\x6d\x0a\x18\x43\x33\xb6\x15\x06\xc8\x3a\x1e\xfb\x83\xfe\x40\xec\xac\xa6\x92\x5d\x8b\x57\x7a\x1d\x76\xb0\x47\xe9\x44\x28\x1d\x07\xfd\xb0\x6d\x80\x6e\xaa\xe4\x30\x6d\xea\x82\xa9\x1f\x6f\xb8\x62\x30\xe1\x46\x6e\xd3\xc7\xe4\xc9\xe8\x3e\xc9\x10\xce\xf5\x44\x9c\x73\x6e\x90\x4e\xab\xb5\xe7\x75\x28\xd4\xb8\xbb\xbb\x79\xd6\x9c\x8a\x4a\x0b\x28\x65\x70\xd6\x62\x96\x1a\x73\x0a\xbb\xa0\x54\x83\xa1\x6b\x4e\xa8\x0a\xa0\xde\x5a\x65\x94\xc9\x43\x04\x7c\xb6\xb1\xb4\xc1\x42\xc8\xc8\xc3\x03\xcd\xb6\x81\xea\x69\x55\xce\x45\xad\x56\x25\x55\x2c\xc8\x69\x84\x3a\x32\xeb\xfc\x0d\xed\x18\x0e\x1e\x31\x03\xc1\x11\xd6\xf9\x04\x07\x11\x8f\x39\x9f\xcf\x79\x06\xa0\x60\xe0\xc6\xc9\xc8\xaa\x0a\x68\xd1\xb8\x21\x22\x1a\x07\x5b\x56\x6a\x6b\x1a\x87\x70\x2a\xd0\x0c\x95\x03\x45\x54\xcd\x2b\x0b\x6e\x17\x9a\x6c\x1f\x98\x44\x4b\x76\xe1\x0c\xb9\x5d\x62\xf2\x47\x49\xf8\xa2\x14\x35\xb3\x2e\xac\x04\xd3\x82\x23\xb8\x16\x75\xb0\xb9\x46\xfb\x65\xd7\x20\x67\x6b\x4e\x15\x9a\x1a\xc1\x3f\x07\xd4\x81\x38\x25\xba\xa8\x19\x33\xe6\x85\x45\x29\x96\x6c\xe2\x84\x1a\xcd\x04\xdd\x8a\x52\x8a\x82\x8d\xc9\xdd\x3c\x63\xff\xcb\x7d\x9b\x12\x72\xc5\xf0\x88\xd7\xb3\xd5\x62\x9a\x89\xe5\xc1\xd3\xff\xf9\xf4\x7f\xfe\xfe\x10\xc4\xd2\x9c\x29\xca\x8b\x4e\x53\xb7\xa8\xd4\x87\x94\x27\x49\x4c\x79\x30\xf3\x7e\x87\xf1\xb2\x99\xea\xd2\xf5\xd0\x78\xbf\xf6\x19\xeb\x02\x59\xd3\x99\x13\x97\xf4\xee\xec\x8b\x58\xad\x42\xe3\x9d\x5f\x82\x3f\xfa\x04\x32\xee\xc7\xb1\xeb\x74\x44\x8e\xdc\xbf\x5b\x5a\xea\x94\x3a\x3d\x38\x35\x27\x27\xcd\xe4\x9b\xa9\x0a\xcf\xcf\x5f\x9c\xbe\x7d\x75\xfd\xe1\xec\xe2\xd5\xc5\x65\xe8\x2b\xb7\xdf\x85\xec\xdd\x9e\xf7\xec\xbd\x77\x86\x4b\x1a\x70\x4a\x91\x63\x3e\x3e\xef\x5d\x36\x22\xdf\x9e\xa4\x6d\x14\x3b\x6d\x92\x1d\x36\x1c\xbc\x0a\xce\x6e\x68\x2d\x87\x59\x3b\x07\x4e\x22\x9d\xf2\x70\x37\x76\x69\xdf\xfb\xfd\x3e\x97\x38\x8c\x6b\xef\xc5\xbd\x7b\xc8\xad\x6b\x3d\xbc\x6c\x3b\x78\xa3\xce\xfb\x7a\xdf\x79\xdb\xa7\x19\xe8\xb5\x34\xc1\x44\x9c\x1d\xe7\x0b\xce\xbf\xc1\xbc\x78\x00\xcf\x46\x9c\x85\xf1\x86\xd9\xcd\x11\x8c\x49\xcd\x16\xb4\xce\x41\x89\x27\xe6\x5d\xd6\x9b\x5f\xbf\xb2\xa7\x33\xcd\xfd\xde\x7b\x69\xed\xe2\x04\xac\x89\xf9\x39\xe9\x2a\xec\x92\x36\x45\xe6\xcf\x3d\x72\x18\xf7\x42\xeb\xde\x7d\x0c\x3d\xd0\x7e\xcb\xcd\xec\xc0\xed\x6d\xbb\xd3\x98\x48\x0f\x50\x4f\xfc\x8d\xb6\xf2\x19\x4b\x26\x67\xbf\xe7\x56\x5e\x06\xa9\xf8\xa2\xdc\x24\xbb\x14\x9d\x8d\x6d\x0f\x93\x74\x21\x64\xf4\xb7\x27\xa6\xa1\x7f\x7c\x02\x78\xc1\x9b\xe9\x77\x0c\x9b\x65\xd0\x7e\x5b\x02\x86\x0f\x67\x08\x00\x74\x8d\xaf\xd6\x4e\xeb\x6b\x13\xba\x34\xbb\x41\x3a\x70\x0e\x1d\x06\xab\xd3\x06\xfd\xce\x79\xb1\x37\xe0\x5c\x0f\x3e\x0c\x16\xb8\xb9\x1f\x11\x74\x6f\xc6\xa1\xdd\x0c\xb7\xd3\xe8\xea\x7f\x78\x0c\xff\x68\xc3\xcb\x1a\xff\x78\xfd\xd5\xef\xb8\xab\x9c\x89\x02\x2b\xeb\x7f\x74\x62\xd3\x66\xa2\x68\x7b\x4b\x74\x0e\x11\x24\xf6\x4c\x14\xe9\xb4\x73\xcd\x97\x31\xbb\x49\x66\x5c\xed\x2b\xc5\xe0\x71\x57\xbc\x66\x16\xcd\x0d\xb8\xd7\x82\xd1\x58\x9b\x40\x95\x31\x98\xa7\x81\x96\x43\x3a\xd9\x49\x24\x9d\x4e\x96\x1e\x43\xd9\xbd\x2d\xa2\x62\x80\xd2\x0a\xe6\x70\x83\x63\x2c\xad\xf5\xb5\xf1\xf6\x18\x55\x5e\x0f\xf8\xed\x66\xba\xb9\xcf\xf6\xc1\xec\x91\xf4\xe8\x41\x94\xf3\xe8\xe4\x24\x4a\xb1\x78\x8e\x22\x8e\x77\xd6\xf5\x5a\xdf\xe9\x03\xd2\xce\x13\x9f\x7a\x92\x12\xb7\x91\x19\x87\x93\x94\x53\xf7\x90\x29\xd3\x79\x03\x75\xb6\x71\xd8\x0a\x62\xe8\x24\x23\x7d\xdd\x88\x95\xd1\x1d\x59\x95\x69\x07\xe0\xfc\xde\x77\x83\xec\xa5\x37\xb4\x05\xfe\x63\x92\xdc\x17\x24\x37\x77\xfb\xd9\x2d\x6c\x30\xf7\x85\x88\x14\xa3\xc9\x7c\x59\x9d\xbb\xeb\x1f\xbc\x31\x89\x54\x24\xf1\x96\xfb\x10\x11\xc4\xa2\x06\x7d\x02\xc6\x75\xa4\xf3\x02\x34\xe3\x97\x93\x1e\xc0\x4d\xff\x17\x70\x53\xaf\x56\xf2\x06\x23\x3d\x42\x33\x33\xad\x8d\x5b\x8a\x54\x5a\xa6\x83\xb0\xb8\x72\xa0\x30\xdb\xd1\xaa\xea\x74\x6e\x1f\xed\x48\x47\xd1\x16\xaa\x71\x46\x6e\x86\x7b\xa1\xb5\x9d\x56\xf1\x73\xc2\xdc\x3a\x74\x9a\x6d\xd6\xa5\x65\x18\xc6\xdd\xce\x9a\x39\x55\x8d\x38\x6c\x2a\x4f\x7c\xcf\x51\xba\xa2\xa5\x58\x33\x94\xd1\x4d\x60\x68\x23\x3a\x25\xc8\x47\x5b\xdb\x68\x25\xc8\x3f\x7b\xcb\x48\x2d\xc4\x52\x5f\x4a\x0f\x5c\x82\x5a\x63\x3d\x19\xca\x91\x09\xe2\xcd\xc2\xa6\x73\x2e\x15\xda\x8c\x30\xe4\x05\x42\x02\x6c\x62\x1a\x3f\x90\x93\xc4\x98\xf5\xbf\xe1\xe3\x63\x64\xd3\xf4\xa5\xea\x6a\x04\x6e\x66\x3e\x4c\x33\x88\xba\x72\x05\xc7\x41\x83\x8f\x9d\xe7\x64\x8b\xeb\xb3\xee\x9d\xc9\x1c\x21\x7d\x83\xbd\xc8\x63\x72\x3f\xbe\xaf\xf3\x7c\x99\x60\x8a\x9e\xe7\xeb\x7b\x17\x1f\x5c\x43\xf4\x58\x2a\x22\xb7\xed\xac\xa6\xb7\x13\x83\xa7\x40\x41\x3c\x25\xba\x1d\xb8\x51\x6d\x53\xe8\x64\x01\xb6\x49\x88\x45\x35\x95\x56\x95\xd1\xd1\xe9\xc1\x42\x0c\x16\xa4\x73\x30\x48\x02\x06\x5a\xf7\x3e\xb1\xa5\xee\xd0\x19\x65\xe4\x3e\x20\x77\x5d\xa8\xdf\xa1\xeb\xe4\x18\xd1\x5f\xb6\x8a\x18\xfe\xd6\xeb\xde\x7d\xf6\xda\xca\x2e\x47\xbf\xba\x55\x43\xb1\x5d\xe7\xd3\xa9\xab\x7c\x43\x62\xcd\xae\x4c\xe4\x92\x3f\x09\x4d\xea\xc7\x1f\x1e\x9e\xf8\x06\x52\xa7\x00\xd2\x23\xd9\x9e\x6c\xbb\x3b\x04\xdc\x56\x2c\xec\x1e\x72\xf7\x63\xbd\x2f\xb9\x7f\x29\x31\xe7\x25\x5c\xbb\x32\x08\xa0\xf2\xb4\x64\x54\xdc\xfd\x72\xde\x74\xb0\x20\x0d\xeb\x57\x5f\x32\x36\x5d\xdf\xef\xf1\xb8\x82\x93\xf4\xab\xe8\x18\x42\x80\x3b\x95\x65\x9a\xa9\x48\x64\xe8\x8a\xbc\xa0\x4d\x10\x6f\x1f\xff\xe1\x2f\x26\xaa\x62\x22\xb7\x89\x0f\x1b\x0b\xd2\xc5\x24\x95\xdc\x2e\xa7\x8a\xdf\xdb\x84\x2d\xaa\xf7\x4b\x1f\xab\xcf\xef\x71\xf3\x80\x82\x74\xc7\x8e\x61\xa9\xbc\xf9\xd8\xa7\xb5\xab\x26\xd3\x37\x54\x70\xe1\x18\x1d\xba\x67\x2e\x0d\x73\x3a\x1c\xb5\x35\xcf\x5d\x6a\xc4\x7b\xe6\x72\x33\x63\x49\x9d\xe9\x88\x62\x52\xe4\x66\xeb\x86\x95\x3b\xc9\xe4\xd3\x83\xfe\xb4\x72\x75\xc3\xe7\x2a\x42\x2a\x89\x5f\xb3\x55\xa5\x49\x49\x92\xd9\x36\x61\xa0\x83\xc7\x25\xf9\x52\x3a\x2c\x04\x43\x50\x3b\xfc\x7f\x01\x36\xc7\x28\x57\x1e\x00\x5c\xae\xe6\x8a\x72\x0b\x9f\x74\xed\xf9\x20\xbc\x3d\x74\x59\xcd\xc2\xae\x94\xb7\xf3\xda\xbb\x08\x4c\x65\xd4\x6f\x6b\xc8\x24\x5b\x9a\x0a\x12\x37\x1a\xfb\x5a\xcc\xda\xe2\x1c\x14\xa1\x45\x61\xb9\x66\xf0\x52\x41\xc8\x9c\x30\xf4\x4d\x4f\x54\xf3\xcc\x3d\xae\x3c\x80\x6a\x6e\x5f\x79\x3b\x4f\x91\x0d\x67\x76\x1e\x58\xbb\xce\x8f\xf7\xc9\xfa\xfc\x0b\xaf\xdb\x52\x9f\x74\x2c\x08\x50\x42\x3d\xdb\x30\x0c\xd8\xc0\x9e\x8a\x93\x80\x04\x67\xa0\xab\x0c\x04\x5b\xc8\xb8\xb0\x9f\xf6\xe2\x0d\xee\x21\x0e\xf5\xa1\xd9\x2e\xef\xf7\x7f\x4e\x82\xf5\xa2\x5e\x44\xb3\xbf\x1d\x25\x36\xd3\x88\x37\x2c\xa1\xbf\x5e\xf5\x98\x24\x4a\xcb\x34\xb5\x3c\x53\x7c\xf7\xbd\x68\xb3\x19\x2a\xb3\x9f\xcb\x31\xc0\x3d\x89\xe0\xf1\xd0\xeb\x73\xde\xf2\xa6\xd7\xcd\x0c\x44\xcd\x17\xbc\x84\xf8\xdc\x01\x41\xe0\xe8\x1c\x52\xba\x35\x9b\x4b\x00\x58\x08\xeb\x80\xdb\xb9\xa7\x7a\x68\x96\x2c\x83\xa0\x8c\x58\xda\xb9\x6f\xb5\xbe\xf9\x25\xe3\x5d\x0b\x29\xc2\x2a\x66\x5d\x62\xc7\xb6\x77\x17\xae\x4b\x18\x75\x66\x89\xe2\xd2\x2c\x4c\x87\xb2\xd7\xe6\x25\xec\xe1\x8a\xd4\x5d\x77\x97\x3b\x58\xb8\x31\x5c\xc9\x64\xba\xfd\x14\x77\x5b\x8b\x4d\x9a\xe9\x35\x39\x56\x77\x2f\x66\x7a\xd6\x3b\x17\xb5\xb7\x93\x18\x2a\xee\x91\xfb\xc8\x0a\xba\xac\x86\x68\xa9\x69\x85\xd4\xc0\x3f\xbb\x04\x38\xa3\x3d\x31\x5e\x88\x61\x6b\x36\x5f\xdf\xe1\xb8\xd3\x7d\x21\xc1\x4c\xb7\xb5\x6a\xf1\x36\xed\xd8\x22\x7b\x02\x1d\xef\xfb\xdb\xee\x4d\x9a\xaa\x76\xee\x4d\x72\xc9\x93\x2b\x14\x04\x21\xfd\xfd\x16\xb8\x71\x19\xf6\x4b\x49\xfb\xa5\x6e\x90\x33\x3b\xe5\x64\x9a\xda\x5f\xeb\xa8\x9d\x9a\x6e\x10\x8f\x93\x9e\x71\x32\x6e\xe5\x33\xe7\xb9\xe8\x9e\x67\x12\x0d\x6f\x97\x87\x4f\xf7\x96\x45\x9a\xe3\x7f\xb6\xa7\x2b\x9e\xc3\x7d\x0e\xe3\x65\x6c\x01\xaf\x2d\x1a\x42\x9f\x07\x61\xff\x82\xef\xa3\x9a\x60\xd1\xfb\x92\x4c\x2f\x84\xcb\xe4\xdc\x7a\x13\x4b\xdd\x48\x14\x7e\x89\xd8\xd1\xe8\x1d\xa8\x62\xc4\xc8\x1a\xe0\xda\xf5\x3b\xc7\x8a\x39\x91\x22\x66\x80\xcc\xd7\x30\x0d\x3f\x95\xdb\x32\xbb\xa9\x45\x29\x56\xb2\xd8\x8e\xa1\x8a\x49\x59\x01\x0b\x43\x0b\x48\xee\x9a\xdd\x92\x0d\x2f\xc1\x40\xbe\xc1\xa8\x52\x9b\xb2\x0f\x8a\x78\xd8\xdc\x4c\xd0\x82\xc9\xcc\x02\x5c\x51\x8b\xcd\x8b\x5d\xef\x23\x87\x08\x74\xfe\xc3\x0e\xaf\x72\x85\x08\xf9\xf2\xc3\x14\x1b\x4e\xba\xe1\xc1\x1a\xe0\x3b\xea\x2e\xd3\x66\x45\x72\x12\x02\xee\x27\xe0\xf8\x8d\x6e\x46\xb7\xd5\xaa\x7c\xec\x20\xfb\x8b\x79\x14\xe9\x8d\x9f\x3f\x38\x28\x8e\x04\x02\x5a\xf7\x1e\xce\x02\xa4\xaf\x48\x85\x1d\xe1\xb2\xe0\x91\xff\x7b\x6c\xa5\x17\x2e\x7c\x08\x3a\xc8\x3b\x8d\x50\x68\x2f\x5b\x1b\xe1\xcc\xcf\x71\x6c\xd4\xe6\x32\xb0\xfe\xea\xc6\x72\xe1\x25\x2f\xef\x75\x11\x86\x21\xf6\xa0\x9e\x00\x12\xaf\x17\x05\x49\x57\xfe\x33\xa8\x48\x86\x22\xd4\xe7\x50\x92\x6f\xa0\x93\x9a\xda\xb8\x01\x50\xa4\x89\x1b\x60\x28\xed\xc9\xe1\x6e\x66\x6b\x55\x81\xfb\x7b\x5b\xcd\x98\x82\x9a\xea\x25\x6d\x2e\xe3\x1e\xf6\x19\x86\xa1\x50\xa7\xfa\x23\xbc\x10\xb1\xa8\x5e\x9b\xe1\x24\x54\xe4\xee\x9e\x20\xa8\x22\xfe\x01\xa6\xd8\x94\xab\x83\x49\x5a\xa3\x88\x9f\x93\xb5\xbb\x2c\x79\x89\x5e\x14\x2e\x3e\x32\x21\x62\x91\x3f\xa6\x85\x03\x72\x64\x84\x6a\x63\x97\xf9\xac\x96\xac\x7c\x40\x8e\x52\xc1\x97\x3b\xd9\xdd\x07\x21\x86\x68\xc8\xf0\xee\x0f\xc9\x42\x5b\x4d\x67\xb8\xa7\x5b\x96\xb1\x9f\x57\x14\x1c\xd1\x56\x85\x21\x58\xe8\x0e\x3a\x81\xb8\x94\x34\x9d\x20\xbb\x10\x02\xec\x9a\x10\x9f\x26\x46\x97\xe6\xc6\x0c\x2b\x05\x57\x9a\x71\xb0\x77\x18\xbd\x50\xbe\x32\x57\xa8\x05\xbc\xb0\x12\x68\x8d\x2a\xb4\x92\x6c\x18\x84\x2e\xa0\x73\x3f\xa4\xb3\x86\x72\x41\x5f\x54\x92\x0d\x6b\x27\xcd\xde\xad\xdc\xc7\x49\x7c\x2e\xf9\x36\xc3\x55\xf6\x90\x6f\x64\x9e\xfb\x96\x3c\x49\xde\xa5\x66\xe6\x67\xf7\x8b\x7d\x6b\x6b\x1b\xcc\x6e\xfc\xd8\x42\x6a\xea\xed\xb6\xdf\x42\x76\xe2\x32\x88\xde\x36\x1a\x76\x8c\x62\x59\xd2\x7a\xc1\xcb\x31\x24\x2e\x59\x2d\x19\x04\x97\xe1\x34\x95\x20\x0b\xa6\x08\x57\xbe\x2d\xd8\x47\x1b\xf8\x44\xa5\x85\x20\xb6\x7e\x3c\x10\xe5\x4a\xab\xaa\xe0\xcc\xe4\xb7\xdf\x40\x88\x26\x2f\x2d\x85\xf9\xa6\x1a\xa4\x36\x0d\x61\x94\x26\x93\x3e\x6e\xe9\x01\x46\xd0\xc3\xcc\xdb\x4a\xdb\xbe\xea\xce\x8e\x52\xb2\x4d\x4f\x1f\x8d\xa0\x86\xdb\xce\x78\x7b\x27\x1e\x54\x07\xc7\xe0\x8b\x7e\xeb\xfd\xc1\x88\xef\xd3\xfc\x63\x82\xb6\xe2\x79\x21\x44\x6d\xe8\xe9\x20\x2d\x27\x8f\xac\xf7\x6a\xd0\xc3\x25\x38\x33\x1e\x86\xd8\x47\x07\x07\x16\xcd\xa6\x90\x02\x96\xd5\x78\x04\xeb\x03\x78\x18\xed\x16\xb2\xf3\xa4\x31\xb0\x8e\x4b\xef\xb1\x2d\xf1\xaf\x5d\xce\x93\x0d\x18\xa4\x70\xad\xd2\x82\xff\xe3\xa0\x4c\xbb\xd5\x4d\x00\x9b\xf5\x20\x61\xd7\x72\xf2\x10\x1a\xdb\xe9\x9d\x59\x10\xcd\x7e\x8e\x7d\xcb\x48\x19\x91\xc2\xad\xb9\x93\xae\x81\xe4\x96\x36\x0d\xde\x0d\xbb\x5a\xd8\xd1\x3e\xe5\x1c\x2c\x64\xaf\x4b\xf8\x6f\x71\xe7\xb5\xa2\x82\xbe\xc8\xa5\x97\x52\x01\xf5\x0f\x54\xe9\x7e\x14\x09\xe9\xab\x41\xea\x11\x25\x6c\xb2\x86\xa1\xa3\xb2\xa8\x99\x89\x08\xd2\x8f\x5a\x33\xac\x4e\xee\x04\xda\xc7\x2b\xce\x0a\x04\xec\xce\x08\x39\x1b\x2a\x89\x16\x8a\x4a\x97\x46\x25\x61\x4d\x89\x63\x3d\xb5\x80\x84\x07\x57\x09\x22\x19\x04\xbc\xdb\x77\xd8\x3b\xd3\x19\x5c\x13\xdf\x93\xd1\x77\x00\x5e\x4a\xd0\xa3\xef\xce\x16\x03\xa9\x09\x22\xf2\x78\x99\xf1\x9c\x79\xd9\xc3\x04\x14\x82\xda\xa4\x14\x13\x57\x75\x60\x16\x60\x4a\xc8\xeb\x2d\x59\xac\x98\x84\x70\x41\x17\x89\x5a\x8a\x96\xbd\x66\x26\x44\xc1\x68\x09\x68\xad\x8a\x59\xb4\x56\xf4\x26\x93\x6c\x9f\x7f\x44\x23\x9d\x5b\x03\x4e\x55\xb1\x40\x3b\xd2\x7c\x1c\x6d\x05\x28\x67\x9f\xd1\xa0\x52\x0a\xa0\x8c\xa9\x17\x6e\xeb\x3b\x52\x7a\x36\x93\x83\x0e\x46\x0d\x3b\x79\xd8\xda\x33\x57\xb8\xa3\x35\x4f\x69\x51\x6b\x09\x63\xc0\x3d\x87\xd9\xd1\xf0\x67\x0e\xb3\x63\xd2\x71\x10\xb4\xcf\x87\x62\x14\x6f\x33\xd6\x10\x93\x41\xb2\x86\x6c\x09\x05\x45\x50\x71\x5d\x84\xd0\x55\xce\xf5\x7d\x05\xa9\x0e\x68\x49\x44\x99\x31\x52\x31\x2d\x7a\x66\xa2\xdc\x1b\x7c\xce\xcb\xc5\x33\x16\x87\x0d\x04\x64\x81\x77\x4b\x98\xbd\x72\x16\xcf\x96\x34\x43\xfe\xdc\xca\x2c\xda\xeb\x3c\xea\x12\x8b\x77\x8b\xbe\x20\xaf\xf6\x18\x09\x16\xec\xce\x20\xeb\x84\xdc\xa7\x87\x87\xce\x9d\x53\xaf\xe1\xd5\xff\x5d\xb1\x22\xbb\x31\x43\xf8\xe0\xee\x9f\x99\xd0\x27\x1f\xd6\x57\xdf\x64\xa5\x50\x7c\xce\x33\x04\x13\xd7\xf5\x00\xba\xc5\x31\x8d\x89\x96\x5a\x37\x7a\x54\xf8\x54\xb7\xfc\xa1\x91\x26\x49\xd6\xd9\x60\x14\x9d\xb1\xa0\xa8\xde\xf9\xc8\x29\x05\xfa\x64\x8d\xe1\xef\x53\x25\x10\x8f\x34\x9d\x1e\xb6\xe3\x3c\x82\x2c\x91\x63\xf2\xcd\xe1\x61\xfb\x78\xf5\x68\xe9\x53\x34\xf1\x9c\xc9\x5b\x25\xaa\xef\x83\xb5\xd4\xf4\xf7\xc1\xfb\xee\x04\xd9\xac\xa9\x7c\x81\xb9\x11\xa3\x74\x55\x0e\x9f\x13\x36\xa4\xbd\x20\x61\xdb\xaf\xb8\x54\x1f\x4c\xfa\x2a\x53\xce\x01\xa0\x5e\x21\x12\xc0\x86\x11\x55\x43\x0c\x75\x4d\xb9\x79\xc3\x36\xbc\xcc\xc5\x06\x00\x00\xff\x08\x95\xca\xa9\x28\x21\x1d\x69\xe3\xa0\x18\xe2\x2c\x04\x44\x60\x45\x5d\xcb\x0f\xc3\xd1\x31\xf9\xd4\x3a\xea\x56\x57\x1f\x68\xd4\xc9\x8c\xab\x40\x5c\x0c\xbf\xc0\x9b\x38\x26\x19\xab\x01\x46\xc4\x03\xa9\xa5\xc1\xb6\x6c\xe2\x27\xe2\xd2\x4c\x69\x36\x15\x5e\x13\xa6\x58\x5b\x5b\xdf\x8a\x4e\x22\x21\xd2\x13\xb2\xb8\x90\xf0\x46\x56\xa2\xcc\x43\xf0\xe8\xc0\x6f\xa2\xad\xf2\xb7\x93\xb1\xb1\x00\x10\x24\x30\x9f\xef\x7b\xde\xea\x95\x7d\xd9\xc2\x35\x18\x23\xb8\x27\x04\x44\x95\xbd\x5e\xbd\x0b\xaf\xa2\xe8\xf3\xe6\x89\xb0\xb8\x7b\xf1\x3a\xb8\xe3\x76\x2c\x87\xdd\x50\xe3\xd2\x9f\xd8\xd0\xf0\x8b\xd9\x50\x76\xc7\x25\x42\xe2\x68\xd6\x23\x06\x8a\x88\x5c\x8b\x8c\x42\x15\x42\x0a\xd1\xdf\xc3\xf0\xbd\x4d\x87\x72\x30\x9e\xe8\xd6\xe2\x3d\xb4\xbf\x12\x17\x02\x05\xbb\x48\xcb\x6d\x3c\x86\x5f\xbf\x65\xc1\x2c\xef\xbf\x65\x2f\x1d\xf0\x6c\xaf\x2d\xe3\x61\x71\xb3\x65\x89\x2d\xa1\x2b\xcd\xa1\x19\xdc\x18\xab\x1d\x8c\xf7\x26\x59\xc4\x61\xb0\x95\x84\xea\xb5\x5d\xce\x59\x04\xb6\x0c\x52\xbe\x41\x2a\x47\x07\x1c\x2a\x11\x07\xa9\xe0\x25\x1b\x7b\x8b\x97\x4f\x5a\x2d\x29\x24\xeb\x26\x14\x7c\x9a\x74\x7b\xc6\x8b\x28\xe7\xf3\x39\xab\x01\x54\x61\x26\x78\x21\x51\x95\xbd\x01\xe6\x72\x73\xc3\x00\x68\x42\xef\xae\x48\x58\x65\x0d\x27\xcb\xbe\x3c\xe3\x78\xda\x06\xfd\xe9\xb3\x2f\x09\xac\xa0\x5d\xfb\xd3\x54\x88\xc5\x5b\x93\x50\x97\x35\xef\x42\x7b\xed\x99\xfc\xab\x0d\xbf\x32\x85\x02\x7b\x70\x6b\x45\xf1\xd8\x73\xa1\x2b\xe8\x03\x80\x60\x87\x11\xc6\x5d\x88\xc7\x07\x52\x97\x33\xa8\x00\x4c\x46\x13\x0e\x0b\x33\x8b\x05\xc9\xfe\xe0\xa8\x91\x8a\x4a\x45\xb8\x42\xcf\x33\x84\xd2\x48\x1e\xb4\x96\x7d\x7d\xc7\x39\x6b\x2c\xcb\xfd\xcf\x9a\xd7\x7c\xf5\xda\xd3\x4d\x58\xbc\x7b\x2f\x8d\xe4\x30\xb9\xff\x9e\xce\xe7\xbf\x6e\x53\x83\xcd\x08\xd5\xa7\x3d\x77\xd4\xf9\x7d\x00\x1e\xdc\xaf\xbc\x03\x3b\x16\xe1\xfe\x7b\x74\xd9\x54\x52\xde\x47\x7a\xfb\x71\xdf\x8e\x15\xc8\xdf\x32\xb5\x61\xcc\x02\xbb\xf0\x25\xad\x31\x8c\x15\xdc\x58\x01\xbe\x06\x69\x3b\x54\x65\xfb\x6f\xe1\x91\x84\xbb\xb6\x51\xcb\x63\x1f\x86\x1b\x61\x0f\x90\xed\xaf\x55\xd6\xc2\x44\x6f\x68\x55\x99\x64\xd1\x7a\x08\xc6\xde\x47\x18\x3a\x47\x8a\x8e\x58\x35\x5b\xfd\x9c\x66\x37\xb6\x6d\x8b\xc1\x26\xc1\x83\x4b\xdf\xac\x1d\x6e\x7e\x9f\xbf\xed\xf1\xaa\xdc\x7f\xb7\x4f\x6d\xfd\x1d\x0f\xe0\xfd\x00\x2f\xec\xc6\x5b\x1b\x8d\x1b\xe1\x95\xf9\x7e\x44\x8c\xa0\x0a\xfb\x70\x15\xa4\x48\x69\xa9\xc1\x5b\xe0\x98\x8f\x1e\xa5\x62\xac\x3d\x4e\xcb\x61\x90\xff\xe4\xe1\xce\x34\x2b\x41\x60\xef\xcb\xe8\x3a\x35\xd1\x23\x90\xab\x52\x9a\xf4\x19\x1b\xfd\x7f\x35\x23\x74\x43\xb7\x63\x48\x57\x60\x7b\x61\x92\x2c\xe9\xd6\xb6\x34\xd3\xbc\x98\x49\xd3\x38\x75\x72\x43\xdf\xac\x2f\xdd\x09\x9d\xec\xfc\xba\xd1\xfe\x69\xbd\x4d\x43\xfd\xd3\x7a\x77\x56\x98\x76\x20\x3a\x2d\xf8\x2f\x88\x56\xf3\x21\x1d\x6b\x10\x42\x98\x40\x61\x34\x6c\xb5\x4b\xdf\x34\x0d\x5e\xa1\xfe\x62\x5b\x66\x68\xb9\xf3\xe1\xd7\x89\x62\x3c\xca\xd1\xd4\x2f\x82\x25\x76\x69\xd0\xfb\xd8\x0c\x4a\x88\x9c\x96\x26\xb3\x82\x97\xb7\xa9\x27\x23\xfa\x1e\x5c\x38\x0e\x06\x4e\x33\xc8\xf0\x11\x6c\x22\x1c\x42\x27\xd7\x5c\xf2\x59\x11\x5d\x3d\xc0\xa6\xd9\x0f\xde\xde\x6b\xbc\xae\xa1\x05\xdb\xeb\x7f\xf8\x54\x4b\xc0\x63\xa3\x48\x25\x08\xf2\x8f\xba\xa4\x4d\x90\xc3\xe7\x36\x1d\x0d\xc2\xc7\x2b\x01\xa1\xdc\x42\x22\x44\xd6\x83\x28\x33\xa6\x67\x0b\x75\x9d\xa2\x20\x05\xa3\xb7\x84\x12\x63\xd0\xff\xd5\x9c\x41\x6b\x25\xef\x7f\x13\xe1\x66\x3e\x83\x16\xfa\xbc\x38\x59\x54\xde\xbc\x35\xe6\x12\x79\x88\x23\xb4\x99\x6b\xbc\xdb\x42\x50\xc9\x1e\x11\x30\x42\x59\xa5\xc5\x8e\xe2\xc7\x2d\xb5\x43\xb2\x5c\x5b\xf1\xd0\x18\xf1\x0f\x48\x06\xa3\x84\x21\xc2\x7c\x1a\xaa\x7a\xc5\x76\x52\xac\x25\xa5\x6e\x9a\xb5\x25\xba\xa8\x96\xa5\xe8\x54\x53\xb0\x55\xf6\x7d\x29\x92\x08\x87\xfa\xb9\x44\x61\xd6\xe5\x1e\x64\xe1\x6b\xa4\x08\xa3\x65\x76\xdd\x49\x20\xf7\x25\x91\x9e\x44\x62\xed\x6b\x1d\xea\x4e\x51\xd1\x8c\x2b\xfd\x14\x0c\x0e\x07\xc7\x29\x7c\x09\xa4\x9d\xce\x2c\x1f\xfb\xdb\x7d\x32\x38\xde\x45\xa8\xd1\x22\xec\x59\xaa\x06\x94\x98\x9f\x98\x28\x83\x73\xfd\x21\x01\x93\xfa\x0f\xb0\x07\xb1\x92\xcc\x78\xa3\xc1\xeb\xaf\x8f\x4d\xe3\xda\xc6\x64\xc8\xa8\x28\x0c\x32\xa9\x37\x23\x6f\x74\x53\x4e\x60\x06\x64\x7d\x6a\x2c\x46\xbb\x08\xbe\xbd\x99\x69\x60\x25\x25\xaa\x4b\xff\xa0\xa7\x34\xe0\xd7\xbe\x84\x87\x68\x45\x7f\xbc\x3d\x35\x9f\x45\x85\x86\x41\x57\xa3\xe3\x26\x2a\x42\xa2\x9d\x76\x4e\xdf\x14\xc7\xd6\x01\x9f\x10\x25\x80\xc5\xc6\xff\xd0\x18\x75\xc0\xb7\x9d\x39\xa1\x2a\x4c\x31\xea\x10\x5a\xc0\x92\xca\x15\xd1\x3b\xcf\x73\x97\x77\xdc\xee\x27\xad\x19\x8d\x81\x99\xcf\xa4\xfc\x81\xd6\x4e\x79\x8f\x7c\x12\x24\x0d\x1e\x93\xc1\xe4\x89\x4b\x1d\x1c\x1f\xc3\x3d\xf7\x7c\x83\x65\x6d\x1f\x48\x8b\xbf\x72\x72\x42\x06\xa5\x28\xd9\x20\x98\xe1\x25\x9b\xd8\xcf\x91\x89\xc6\x8a\x93\x73\xb8\xb1\xa9\x24\x37\x3c\xcf\x99\xcb\xf9\xba\x14\x2b\x99\xc0\x9e\xde\xd1\x37\x19\x0c\xdc\x84\x0e\x0e\x88\x0b\x2e\x08\x1d\xf0\x20\xdd\xf5\xd9\xd5\x95\x26\x01\x0e\x2a\xd7\x25\x55\x37\x53\x02\xc2\x35\x23\x39\x8a\xc4\xfa\x37\xc2\x4b\xf2\x7f\xae\xc6\x1e\x68\x62\x5e\x08\xaa\xf0\x13\xbc\x2f\x5a\x6e\x5e\x55\x64\xc6\x30\x83\x76\x0d\xe2\x73\x86\x42\x1a\xc5\x5e\x75\x47\x98\xae\x46\xd7\xc0\xa6\x1c\xa2\xa9\x93\xc8\x6b\x9a\xdd\x1a\xe6\x67\xc6\x8c\xe8\xd4\xdc\x4f\xb3\xfc\xa9\x6d\x35\x9f\x7e\xfe\x97\xbf\x36\xa8\x6e\x12\x1e\xb1\x4f\xe4\x31\xf9\xd9\xd1\xf1\xcf\xff\xf2\xd7\xd6\xb1\x31\x34\x05\xbe\x8e\xd5\x6b\x70\xbc\xf9\x54\xdd\xfd\x1c\x9b\xb2\x93\xd4\x95\x89\x62\xd0\xd3\x07\x3c\x79\xa7\x47\x26\x1c\xc5\x55\xc1\x06\x3b\x2d\xef\xb8\x14\xc3\x41\x33\xb3\x7d\x87\x2d\x7f\x7f\x53\x63\xb2\xaf\x2d\xf0\x94\xdb\xdf\xd0\x68\xe0\x4c\x63\x6f\xab\x9c\x9a\xc0\xf2\x8c\xd6\x4c\x61\x5e\xfb\x27\x4f\xb6\xa4\x5a\xd5\x9a\xc3\x95\x53\x6f\xce\x33\x17\x70\x2b\xfb\xf7\x82\xa9\x2b\xfb\x75\xe8\x02\xb6\x7d\x85\x47\x8f\x7c\xed\x29\x97\x67\xa2\x28\x68\x25\x59\x3e\x6a\x87\x4f\x83\xac\x62\xcb\x9e\xe9\x11\xf9\x76\x62\x3e\xed\x34\xff\xcb\x4a\x5a\x8f\x62\x00\xc6\x15\xf3\xd6\xae\xb5\x93\xad\x34\xb0\x0e\xe4\x0d\xad\x50\x68\x28\x43\xdd\x6f\xc6\x8a\x82\xe4\x7c\xc9\x4a\xa9\x2f\x9a\xbd\xe8\xde\x30\x00\xbc\x24\x3b\xde\x11\xe8\xc8\x2e\x1d\x76\x7e\xa5\x7f\x6a\x88\xe3\x21\xc5\xc5\x46\xc3\xb9\xc8\x56\x72\x30\x82\xcb\x0b\x78\xbb\xf0\xf6\x3a\x2d\x36\x74\x2b\x11\xe5\x87\x92\x59\x21\xb2\x5b\xc7\x84\x6a\x79\x69\x55\x42\x75\x50\x4c\x12\xe2\x06\xd3\x98\x51\x30\xac\xe9\xb3\x57\x17\x67\xdf\x1d\x87\x18\xa5\xb8\xc8\x27\x1d\x17\x1c\x4c\x43\x6e\xb8\xca\x6e\xc8\x10\xda\x77\x5c\x3f\x95\x6c\x67\x4f\xe7\xa7\xaf\xad\x27\x29\xde\x95\x37\xd6\x2b\x75\xb0\xa6\xf5\x70\x32\x81\xca\x13\xbd\x3b\x5a\xc2\x9c\x18\x59\x77\x70\x1c\x55\x6a\x9b\x8a\x07\xaa\xa6\xa5\xac\xa8\xde\xef\x66\x61\x51\xe7\xac\xc6\xf7\xf7\xca\xcc\xcb\xa7\x7d\x8a\x4b\xbd\x62\x73\x65\xcb\x0c\xa4\x28\x78\xee\x1a\x9b\xd5\x8c\xde\x1a\x1e\x6c\xdf\x34\xdf\x7e\xff\xfc\xfc\xf2\xd5\xcb\xef\xcf\x3b\xe6\xda\xba\xe9\x1c\x35\x82\x80\x3f\xa3\x92\x41\x0e\xc9\xc7\x64\x50\xdd\x7d\xe9\xb9\x37\xe6\xa5\x1f\x00\x54\xad\xe0\xf1\xe2\xbf\x80\x24\x51\x01\x5c\x35\x61\x77\x14\xf0\x6e\x2c\x20\x80\x19\xd9\x9e\xa5\x0b\x97\x37\x5c\x37\xe3\x49\xf3\x9b\x50\x40\x40\xaa\xf0\xd3\x87\x2f\x43\x05\x89\xa9\xdc\x93\xb5\x6d\x45\x8f\xa7\x19\x58\x17\xcb\xb1\x2d\xb3\xbf\x4f\x24\xc7\xb6\xcc\xfa\x06\x55\xf4\xe1\xa8\x53\xc1\x15\xae\xde\xe7\x04\x57\xb8\xca\x7b\x3d\x22\x30\x68\x22\x2d\xc3\x61\x89\x8e\xf0\x0b\x57\xa5\x2b\x54\xe7\x4a\xdf\xba\xa2\xd6\x9c\x21\xbe\xa4\xbf\x08\xb1\x24\x1b\x5a\x97\x98\x92\xd5\x6d\x63\xf8\x3b\x68\xc3\xc9\x92\x49\x49\x17\xcc\xfd\xa8\x6b\xaf\x24\xa2\xce\x2b\x83\x3b\x35\xab\xc5\x46\xff\x04\xb5\x97\x2b\xa9\xd0\x77\x0d\x93\x73\x08\xf2\xe4\xf0\xf0\x5f\x35\x17\x08\x54\x0a\xcf\xf7\x8d\xf5\x88\x73\xb0\x03\x98\x4f\xbd\xd8\xf6\xd5\x29\xdc\x18\x6b\x8c\x19\x5e\xa0\x4c\x80\x39\xf2\xbd\xea\x84\x1b\xb1\xf9\x4f\x21\x96\x3f\xe2\xb4\x9a\x49\xbe\xad\x5a\x00\xd4\x04\xb0\xa3\xbf\xf8\xc2\xf0\xa6\x84\xb2\xb0\x51\x24\x74\xca\xbd\xcd\xba\x6d\xfe\x24\xab\x19\x55\xec\xbc\x60\xfa\xcf\xe1\x20\xe7\xeb\x41\xe8\x4f\xd2\x6c\x60\xca\x73\x7d\xf3\xc0\xec\x8e\xf4\xc7\x89\xd9\x9e\xc1\xae\x4a\x78\x59\x64\x52\x5e\xb3\x3b\x88\xa8\x70\x7c\xd8\x00\x7c\x93\x8e\xc8\xac\xa0\xd9\xed\xf1\x20\xe0\xd0\x5a\x6e\x63\x47\xe4\x7f\xcc\xe7\x4f\x9f\x3e\x7d\x1a\x17\x9b\x8b\x52\x4d\xf4\xcd\x77\x44\x0a\x5a\x2f\x58\xa3\x11\xd8\xfa\x49\x4d\x73\xbe\x92\x47\xe4\x77\xd5\x5d\xfc\xdd\xe8\x21\x8e\xc8\xe1\xf4\xdf\xbe\x89\x3f\x55\x34\xd7\xcc\x91\xfe\xf4\x94\x2d\xc9\xe1\xf4\x1b\xf8\xff\xee\xdf\x71\x69\x25\xaa\xa3\xd4\xef\xe0\xab\x70\x44\x9e\xe8\x7a\x8d\xf6\xcd\x29\x3b\x72\xc9\x45\xe3\xef\x93\x0d\x9b\xdd\x72\x35\x51\xec\x0e\x27\x38\xa1\xc0\xd6\x1d\x11\x2d\x9f\xa5\xcb\xea\xf3\x31\x41\xa6\x30\x59\x6c\x29\x7e\xe9\xd7\x9e\x2e\x98\x68\x6c\xb4\x8b\xb8\xa6\x34\xcf\xcf\xd7\xac\x54\xaf\xb8\x54\xac\x64\x5a\xca\x28\x78\x76\x3b\x18\x7b\x0a\x67\x0d\x3c\x5b\x7c\x85\x75\xf5\x29\xe6\x21\x39\xbb\xe1\x85\x71\xb9\x32\x77\x4a\x03\xec\xa7\xd5\xab\x9e\xcf\x99\xc1\x8e\x43\x37\xe1\xd7\x78\x34\x5f\xd3\x92\x2e\x58\x3d\x35\xf9\x4b\x2e\x99\x71\x33\x90\x96\xfc\xf0\x8c\x06\x0d\x9a\x8a\x56\x74\x79\x07\xf9\xda\x5f\x96\x6a\xb8\x87\x01\xd1\x4d\xbc\xa0\x99\x12\x35\xf9\x5a\x5f\x3a\xa3\xf7\x81\xa0\xd4\x71\x1a\x34\xdd\xbe\xa0\x4b\x5e\x38\x3b\x4b\xec\x81\x59\xaa\xc9\x1c\x3e\x0f\x3c\x22\x6c\x4b\x6d\x98\xbe\x21\x82\x55\x1d\x85\x8b\x9d\xf3\x75\xf8\xcd\xe4\x98\xf2\x2b\xde\xbe\x6a\x8e\xe3\x7c\x59\x7b\x7b\x0b\xfd\xf6\x76\x94\x6b\xed\x75\x47\xcf\xad\x97\x24\x52\x3f\x88\x35\xab\x0b\xba\x45\xb1\xcc\x20\xe7\xd0\x25\x78\x93\x6b\x71\x87\x2f\x23\x14\xfe\x56\x35\x9b\x9d\x97\x97\x84\x97\xe8\x17\xbd\x06\xaf\x5f\x5e\x12\x8a\x77\x09\xd1\xdb\x30\x26\x19\x2b\x01\xd7\x08\x80\x66\xd6\x86\x8f\x08\x52\x73\x04\xd6\x12\xe7\xcc\x7c\xcb\x18\x26\x1b\xb1\xdd\xd9\xe7\x6c\x56\x73\x36\x87\x6c\xb0\x90\x39\x18\x1d\x64\x1a\x5d\x82\xc4\xb5\x15\x2b\xdf\x9c\x5e\xba\x81\xf2\x36\x96\xec\x86\x65\xb7\x8e\x01\x45\x04\x9c\x78\x75\xe6\xbc\x6e\xe3\xdf\x58\xb0\xed\xa5\x5c\x98\x45\xb9\x53\x98\xe9\xe7\x4f\xd7\xaf\x5f\x8d\xdc\x20\x8d\x15\x47\x8f\xdb\x44\xf3\x98\x69\x4c\x53\xc8\x11\xa2\x52\x1f\x0c\x53\x00\xad\xc6\x9b\x00\x0e\x0b\x94\x2b\x32\x63\x73\x51\x33\x32\xa7\x20\x73\x8a\x15\x3c\xd6\x48\x2e\xbe\x7d\x12\xa9\xfa\x9f\x4c\xbf\x31\x7e\xbc\x72\x4a\xc8\x1b\x2a\x25\x30\x98\xf0\xda\x5a\xa8\x69\x53\xd3\x36\x26\x15\xdd\x92\x55\x05\x6e\xf8\x7a\xaf\x86\xa2\x26\xab\x52\x71\x84\x35\x2f\xad\x27\x58\x41\xb7\xfb\xf2\x73\xe9\x97\xfa\xc2\xec\x5e\xf0\x48\x2f\xe5\x62\x1c\x4e\xb9\xf9\x5e\x9b\xd6\xdb\x6f\xb5\x3b\x83\x3b\xf4\xd4\x41\xdd\x7b\xbf\xd5\x61\xe5\x5d\x4f\x6e\xe3\x4d\x7c\xf2\x4d\xf3\x51\x0c\x9e\xd4\xbb\xbb\x49\xe2\x55\xfd\x62\xaf\x66\xdf\x37\x70\xdf\xbb\x66\x9f\x4a\x2d\xd8\x99\x06\xad\x85\xe1\xc9\xef\x0e\x97\x92\x30\x2a\xd9\x84\x97\xfd\x5e\xb9\xf6\x93\xb9\xbf\xdd\x51\xd7\x36\x26\x5e\x45\x50\x8c\x6a\xb1\xa3\xe3\x65\x64\xfa\x29\xd0\x55\x1c\x5a\xdf\xb1\xfb\x22\x95\xa8\xde\xd4\xa2\xa2\x0b\xea\x55\x4a\xc0\x79\x1b\x73\x5d\xf8\x56\xa6\x28\x22\x14\xff\x76\x7b\xe9\x1f\xef\x68\xa6\x43\x9e\xdc\x1d\x44\xb0\xab\xc1\xfb\x3e\x87\xed\x76\x62\x3e\x60\x29\x17\xbb\xba\x0b\xed\x5a\xd3\x7f\xfb\xc6\x9b\xa0\xda\x67\xb8\xf5\x9a\xfa\xb7\xb4\xf5\x80\x46\x67\xdf\xc9\x69\x39\x5f\x6b\x36\xc1\x29\x95\x16\x4c\x9d\x15\x9c\x95\x4a\xff\x3a\xf4\xd7\x82\x35\x6c\x98\x56\xf6\xd5\x69\x77\xd6\x35\x5b\xc0\xa9\x35\x24\x34\x34\xa3\xf1\xc1\xc7\x41\x77\xd6\x57\x82\x1c\x90\xa7\x81\x36\xa5\xab\xdd\x02\xa3\x5c\x5d\x93\x36\x7a\x2a\x6c\xd1\xfc\xd6\x15\x26\x61\x84\xfc\x2b\x8b\x7b\x00\x1e\x1f\x6f\xee\xe2\x11\xa4\xe4\xdd\xc8\xe6\x81\xfd\xc5\x61\x07\x6d\x53\x5d\xb3\x98\x6b\x24\x7c\xc0\x4e\x4e\xda\x79\x90\x5b\x8b\xdb\x3b\xd6\x00\x04\xe6\x3d\xf4\x37\x38\x4e\x14\xbe\x47\x34\x83\x53\x29\xcf\x77\xd3\xad\xfd\xdf\xae\x92\x11\x67\xd6\x2a\xe8\xee\xa1\x1d\xa3\x0d\x15\x40\x7d\x57\x00\x4f\xa0\xad\xe1\x22\x54\xcc\x1f\xe1\xee\x7c\xfc\x48\x9e\x60\x20\x46\xc0\x1a\xbe\xa1\x52\xb1\x20\xe7\xd0\x56\x2a\xb6\x24\x59\xc1\xab\x99\xa0\x75\xde\x4c\xcb\xba\xe7\xd9\xaf\xa0\xb5\x2e\xac\x19\xac\x06\x65\x5e\xd4\x62\x79\x66\x3b\x19\xc6\x6f\x75\x3c\xc0\x33\x51\x6d\x09\x25\xc8\x7d\x39\x57\xdc\xc6\x30\x1d\x5a\xa3\x50\xec\xc8\x78\x83\xd5\x0c\x75\x21\xf8\x3e\xb1\x9c\xd4\xb4\x5c\xb0\x66\x92\xf0\xb1\x66\x22\x8d\xb2\x4a\x13\x7d\x1b\x81\xd3\xf2\x7d\x52\xd5\xc6\x17\xda\x8e\x24\x13\xd5\x76\x5f\x74\xa7\xa8\xb6\x08\xda\x7a\x2d\xdc\x7c\x63\xb5\x45\xdd\x50\x61\x85\x77\x37\x46\xf8\x4f\xdc\x3c\x27\xa5\x50\x3c\x63\x83\x11\x52\x65\x40\xdd\x78\x39\x78\xae\xcb\x87\xdf\x8c\xa3\x88\x17\xbd\x9c\x56\x54\x83\xb0\x9c\x20\xa4\x09\x63\x46\xab\xed\x95\x58\xd5\x19\xdb\xcb\x43\x55\x35\x1b\x18\xa8\x31\x5b\x27\x52\x71\xe8\x9f\x27\x4a\x04\xa3\x97\x50\x68\xd0\xa8\x13\x3f\x3e\x52\xd5\x8d\xef\x5d\xec\x58\x9a\xc3\xd1\xad\x05\x6c\x48\x82\x51\x69\x96\xd8\xc9\x48\xa1\x72\x62\xf2\xfb\xdf\x57\x77\xe1\xeb\xe9\x17\x65\x26\xf2\x6d\xf4\x98\xf9\x91\x47\x31\x6b\xfd\x8d\x5c\xe0\x42\x58\x66\x37\x68\x07\xc1\xd8\x34\x63\xe4\xf2\x3f\xc7\x05\x2f\xac\x7f\x62\xb3\x28\x7e\xb0\x85\xc1\x58\xd3\x6a\xd4\xfd\x1a\x15\x4b\x34\x19\xfc\x8e\x66\x19\xf7\x05\xff\x75\x5a\x14\xb0\x04\x35\x2b\x5b\xab\x80\x34\x08\xbf\xda\x5a\xc1\x89\x68\xdf\x00\x68\x46\x7c\x79\x0e\x4e\x76\x90\x69\x62\x55\x55\xa2\x0e\x1c\x36\xa6\xec\x4e\xb1\x32\x9f\xda\x3c\x4a\xb4\x94\x1e\xd5\xc8\x95\xc2\x76\x30\x59\x85\xb9\x86\x44\x49\x5e\x9e\x4f\x9b\xd6\x44\xd3\x9c\xcb\xe9\xe2\x7e\xcf\x8c\x59\x71\xe8\x17\x7f\x1c\x2d\xbb\xcd\xf0\xd2\x68\x69\xe8\xd6\x75\x1c\xae\xa8\x67\x33\x03\x12\xef\x78\x44\xa2\x45\x6c\x01\x88\xc9\x60\xa6\x2c\x07\xb2\x06\x54\x35\x90\xf2\xf8\x9c\x94\x02\x65\x54\x48\xb8\x8c\x85\x5a\x20\x63\x78\x99\x7d\xd4\x55\x3e\xed\x45\x13\xf3\x3b\x87\x07\x31\x65\x8e\x6c\x12\x7a\x1c\xf0\x6a\x3e\x1e\xc7\xc4\xb3\x2d\xb3\x20\x75\xcf\x0e\x93\xae\x19\x35\x3e\x93\x86\x44\xae\x4c\x54\x06\x50\xab\x89\x60\x0b\xf2\xae\xcd\xd8\x82\x97\x25\x7a\x5c\x22\xda\x02\x66\x18\x34\xa6\x47\x5a\xab\x04\xa1\x07\xbf\xdb\x33\x51\x36\x4f\x0d\x94\xc1\x53\x63\x06\xae\x8b\x40\x9e\xc8\xef\xe9\x92\x91\x87\x27\x64\xf0\xe7\xc9\xe5\xc5\x8f\x83\x84\x9f\xb2\x5b\x25\x47\xdd\x38\x8b\x92\xd0\x92\xdc\x4d\x6a\xb1\x81\x0e\xc7\x18\x46\xc4\x15\xe8\xe7\x21\x92\xcb\x24\x45\x17\x4b\x86\x09\xcc\x79\x29\xad\x79\x00\xea\x4d\x09\x39\xcd\x73\x08\xd1\x6a\xa6\xa1\x73\xf1\x0d\x92\xcf\x0a\x5e\x2e\xa4\x6d\xcd\x67\x53\x0f\xd6\x72\xfa\xc0\x49\xdf\xf1\xc4\x4e\x4e\xc8\xe0\x7f\x68\xc2\x1a\x90\x47\x8f\x60\x98\x21\xf9\x46\xc5\xae\xde\x9c\x7e\x3f\x68\x22\x9e\x94\xc6\xf7\x5f\x59\x1d\x0a\xfe\x00\xc8\x49\xfa\xa6\xcf\x89\xac\xa8\x75\xfe\x59\x55\x1e\xa3\x93\x96\xd8\x9b\x69\xcd\xec\x48\x63\x00\x11\x48\x05\xba\x7e\xe3\xf8\xed\xec\xaf\x70\xf2\x01\x0a\x48\xd8\x4e\x5c\xc8\x1b\xec\x3c\x9d\x3c\xf6\xe6\xed\x8e\x04\xa1\xfa\x5f\xcd\x0c\x61\x07\x07\xe4\x1c\x22\x4d\x3a\xc8\x34\x08\x43\x09\x09\x94\x95\xb9\x23\xcf\x7d\x79\x49\x83\xfb\xa7\xcc\x51\xa3\x38\x49\xf9\x6c\x44\xe5\x82\x3b\xa9\x45\xe1\xa6\x99\x2f\x42\xdf\x30\xbf\xdf\x94\xba\x7d\x40\x56\x27\x79\x33\xb7\x03\xff\xdd\x88\xbb\x64\x77\x6a\x27\x61\x07\x05\x9c\x3e\xc4\xd1\xd6\xe7\x91\x34\x00\x6e\xad\x03\xb8\xe0\x4b\xb1\x01\x16\x6d\xd8\xb8\x24\x2f\xc5\xc6\x05\x2f\xec\xf6\x6c\x8a\x68\x2f\xac\x06\x09\xc3\x8f\xbd\x24\x51\xf0\xd9\x74\x93\x4d\xe5\x6a\x86\x0f\xd8\xb0\x5e\x8f\xc3\x53\x3a\x76\x25\x14\x4a\xc5\xc3\x7a\x3d\x22\x13\x12\x52\x7c\x53\xc6\x88\xa0\xe0\x1d\x01\x77\x08\x1c\x86\x76\x31\xd7\x18\x57\xc6\x46\x4e\x31\xd2\x56\xb3\x29\x39\x33\x1a\xdf\x7d\xc2\x41\x82\x1b\xea\xf0\x18\xc5\x47\xd7\xae\x76\xf4\x18\x7b\xef\x28\x28\xf5\x30\x14\xc3\xd1\x59\x21\x25\x87\x40\x61\xb3\x12\x9d\x83\x8c\x15\x2a\x29\xa0\x87\x40\xea\xe8\xc8\x6c\xf1\x98\x0c\xee\x1a\x3e\x66\x71\x74\x49\x94\x5e\x66\x2d\x6e\x59\x4e\x66\xdb\xa6\xd7\xcb\x77\x6c\x8b\xcb\xb3\xc1\xd8\xda\x1f\xae\xc9\x2d\xdb\x4a\x55\x8b\x5b\x38\x73\x39\x53\x31\x93\xd3\x16\xe0\xf4\xf5\x70\x6d\x42\xd7\xf1\xaf\x9a\x61\x5a\x72\x65\xcd\xe4\xae\xc9\xb1\x3e\xb6\x6f\xaf\x5f\x4c\x9e\xfc\xef\x3d\xfb\x28\xca\x1f\xae\xbf\x73\x23\x89\x85\x3b\x77\x22\xc3\xc8\x28\x51\x14\x17\xa5\xab\xf1\x21\xf6\x57\xdb\x81\xbe\x18\x9c\x34\x8f\xbe\xe8\xa0\xec\x45\x3c\x10\x2c\x7d\x6b\x16\x6d\xca\xca\x4c\xe4\xcc\x0e\x29\x5e\xf3\x57\x74\x55\x66\x37\x4c\x92\x55\x5d\xe0\x65\x05\x91\xdf\x74\xd6\xb5\x94\xba\xdc\xdb\xcb\x57\xfa\x74\x14\x50\xb7\x55\x6b\xd7\x72\x55\xac\x7c\x5b\x47\xb0\x21\xab\xba\xf0\xab\x84\x00\x0a\xd3\xec\xa6\x16\x4b\x88\x00\x89\x7e\x98\x1a\xbf\x85\xe0\xd5\x79\x21\x6a\x72\x86\xa5\xd7\x4f\x09\xad\x2a\x39\x0e\xd3\xa8\xa1\xc7\x29\x97\xe4\xf4\xcd\x4b\x70\x37\x32\x5e\x0b\x44\x0f\xc4\x34\x2e\xf1\xe2\x8d\xbb\x80\x91\x5e\xd3\xd9\xf0\xaf\x83\x55\x5d\x0c\x8e\xf4\xb4\x3f\xb5\xfd\xdf\x21\x0b\x10\xd7\x1c\xaf\x19\xa8\xae\xa6\xa7\x34\x26\x83\x0f\xb3\x82\x96\xb7\xd6\xd4\xb0\xe1\x46\x88\x72\x29\xc8\xdc\x16\x5c\x54\x26\x98\xd2\xf1\xf3\xab\x7a\x9f\xb6\x45\xf7\x73\x65\x8a\xbf\xad\x8b\x2e\x0f\x41\x55\xef\xba\x36\x1e\x04\x0f\x37\xaa\x4c\x4a\xe1\xef\xbf\x31\xe0\x5b\xd0\x32\x27\xec\xae\xd2\xff\x81\x77\xd9\xd8\xf1\xb6\x04\x6c\xd4\xe8\xfd\x87\x36\xd6\x9a\x58\x15\x60\x03\x43\x07\xbc\x30\xb1\x0d\x2f\xee\xee\x14\x85\xad\x58\xb5\x77\xf8\x76\x02\x30\x18\x70\x81\x29\x09\xc3\x4c\x9f\x15\xcd\xd8\xd8\x3c\x1a\x53\xf7\xe4\x87\xc3\x6c\x98\x93\x3c\xbb\xf6\xda\xc5\x6e\x69\x42\xe7\x92\x40\x14\x9b\x35\xc4\xe9\xa5\x47\x2f\x1c\xdb\xa2\x75\x96\xff\x03\x79\x7a\xf8\xbf\x7e\x47\x3e\x7e\xd4\x23\x9f\x4a\x46\xeb\xec\x66\x78\xf0\xee\x27\xf9\xd3\xbb\x9f\xde\x0f\x47\x7f\xfd\xf4\xed\x1f\xbe\x1a\xfc\xf4\xd3\x7f\xfd\xfc\xfe\x60\x04\xc9\xee\x5a\xca\x52\xcf\x47\xbd\xbd\x7c\x49\x38\xf0\x4f\x28\x6f\xb2\xdc\xaa\xab\x80\x74\x9b\x80\x1c\x20\x77\x4a\x0c\x4a\xd5\xad\xfc\xc8\x5c\x82\xb8\x0d\xdd\x6a\xfe\xf2\xb6\x44\x16\x09\xde\x3a\xe3\x89\x27\xb3\x1b\xb6\xa4\x63\x22\x05\xa1\x12\x70\x06\x6f\x94\xaa\xc2\x99\x99\x49\x0c\xfe\xeb\x1d\x9d\xfc\x72\x3a\xf9\xcf\xf7\xe6\xbf\x87\x93\xdf\x3f\x9e\x4e\xde\x7f\x7d\x74\x70\x30\x18\x85\xd8\x77\x41\xdf\x00\x44\xc0\x15\x2b\xb8\x54\x84\x92\x39\xdb\x10\x20\xe0\x4c\x14\x46\x5c\x2f\x68\x76\x4b\xe8\x4a\xdd\x88\x9a\x2b\xce\xa4\x81\xb3\x5c\x39\xfe\xad\x04\x7a\xb3\x7e\xe3\x07\x07\x53\x42\x5e\xf1\x5b\x46\x96\x94\x17\xca\x24\x6e\x75\x1e\xa2\x7a\xb8\x55\xc1\xd5\x70\x70\x34\x18\x93\x27\xa3\x77\x87\xef\x83\x08\x14\x2a\x19\x19\x60\xbd\x81\x47\x19\x75\xbe\x76\xa4\xed\x37\x68\x09\x70\xa0\x17\x45\x4f\x94\x3c\xb6\x2a\xaa\x56\xe5\x38\x0c\xd3\x5c\x73\xa0\xe1\x3b\xd6\x27\xdd\x7b\x18\xe7\x91\x0a\xf2\x52\x6c\x70\xce\xe6\x6f\x03\x79\x87\xd7\x14\xac\x08\x80\xca\xe9\x05\x00\xcb\x16\xac\x90\x81\xf4\x2c\xc9\x1c\x53\x79\x11\xe4\x55\x44\xf9\x5a\x17\x1c\x8e\x52\xe6\xfb\xfd\x1d\x65\x02\xa2\x9d\x61\x78\x11\xc8\x3f\x04\xc3\x78\x27\x42\x97\x59\x3a\x18\x56\xf3\xad\x00\xc3\xdd\x27\xc2\x4c\xd6\x4b\x57\x0e\x0d\xd0\x65\x5e\xec\x4b\xf8\x65\xe6\x12\x5d\x6b\x81\x87\x97\x96\xd6\x44\xc6\xa4\x64\xf9\xb3\xad\xad\xfe\x27\x68\xb8\xfe\x10\x53\x62\xcd\x16\x5c\x6a\x06\x4d\xac\x6a\x33\x08\x1c\x41\x6d\xb1\x3a\x5c\x40\xd0\xd8\x22\x9e\xea\xff\xaa\x20\xd1\x19\x36\x66\xa1\x56\x0d\xf0\x0d\x78\x44\xb3\x7a\x4a\xc8\xeb\x70\x7f\x80\xae\x45\x96\xad\x6a\x12\x47\x60\xf8\x86\xe2\x06\x2c\x5c\x81\x3e\x83\xe0\x5a\xd1\x1e\xd6\x6c\xa5\x30\x46\x43\x5f\x07\x1b\x0a\xeb\x68\x1b\x33\x0b\xa1\x6b\x2c\x89\xda\xf0\xcc\xc8\x11\x07\x07\xc1\x22\x64\x54\xd7\xfc\x8b\x16\xb5\x8c\x89\x94\xcc\x56\x33\x10\x09\xc8\x8c\xd9\xc0\x0c\x84\xb1\xc3\x68\x53\x02\xc2\x17\x46\xcd\x4b\x7d\x41\xd8\xd6\xf4\x38\x58\x26\x6a\xeb\xe2\x8f\xad\x89\xd9\x5f\xf4\x7d\x62\x7c\x50\x11\x9d\x4e\x13\xd6\x56\x8b\x71\x8a\xd1\x3c\x99\x63\x19\xc4\x08\x56\x89\x5a\xc1\x12\x9e\xe3\x0a\x9e\x38\x9b\x3f\x9b\x33\x8a\x9f\x2e\xa1\x94\xfc\xd0\x88\xc7\x59\xab\xe9\xd2\x7f\x76\x31\xe3\x6b\x35\x7d\x7d\xf1\xf6\xea\xfc\xc3\xe5\xf9\x9b\x8b\xcb\xeb\x0f\xcf\x5f\x5e\x9d\x3e\x7b\x75\xfe\x1c\xdf\x8c\x9d\xc4\xa3\xdf\x9b\x7a\xc5\xec\x65\x7c\x51\xa2\x33\x32\xe4\x6f\x3a\x30\x71\x15\x10\xbd\x9c\xdb\x6d\x8a\x8f\x01\x61\xd3\xf0\xc8\x9d\x10\xe7\x0b\x35\x64\xd3\x0c\x2c\x91\xff\x41\x26\x6d\x86\x2f\x11\x83\x32\x22\x07\xbb\x24\xa6\x3d\xbe\x55\xd6\x22\x69\xb2\x58\xfa\x61\x39\xb8\x4d\x37\x32\x3b\xb0\x3f\xef\xee\x70\x7f\x9f\x06\x1f\xf5\x71\x80\x52\xc9\xa6\xfa\x3c\x83\xd0\xec\xcd\xf7\x9a\xb1\x6b\x0d\xe8\x0f\x5d\x70\xab\xee\x34\xbf\xb6\x0d\x34\x53\x0e\xd7\x41\x38\xd8\xbd\xe3\xbb\xc8\xc3\x16\x09\xb6\xb5\x1a\x1e\x01\xc4\x05\xa0\x69\x86\x08\x60\x74\x4b\xa1\x85\xc6\x32\xc7\x68\xa8\xf0\x2a\x30\xb0\x2f\xd8\xd2\x8d\xd0\xaf\x60\x55\x8d\x1d\xfc\xb2\x39\xc9\xde\xc9\xb7\x19\x21\x06\xc2\x8e\xa3\x31\xdb\x90\x1f\x0b\x3a\x55\x89\xca\x02\xfd\xde\x32\x56\xc9\x64\x4b\xa0\x26\x01\xe8\xa1\x39\xd3\x6c\xbc\x3b\xcd\xfa\xc0\x16\x22\xa3\x05\xca\x98\x5e\x0a\x77\x1c\x53\x4c\xd0\x13\xf2\x44\x6f\xe6\xbe\x88\x21\x77\x4c\x13\x94\xd7\xa3\x89\x30\x77\x0b\xe9\x15\x00\x07\xb1\x77\xe6\x29\x6e\x38\xde\xdd\x23\x68\xaf\x77\xa8\x5d\xf0\xe0\x77\x52\x79\xe8\xc4\xc4\xa6\xb4\x50\xdf\xb1\xad\xe6\x0d\xbb\xe9\xcd\x52\xdc\x0f\xd7\x86\x90\xb0\xa4\x71\xed\xce\xb9\xf4\xe9\x53\xf4\x45\x8d\x60\xa3\x70\x49\xb2\x1c\xb6\xd2\xb7\x42\x0b\x35\x71\x43\x31\x24\xe7\x6f\x2b\x7c\x72\x3c\x1e\x0a\x52\x40\x63\xf3\x5d\xfa\xbe\xf6\x2d\x6c\x2f\xc9\xf0\x56\x08\x18\xf4\x73\x04\x27\x1f\x3a\xd7\x9a\x86\xd4\x84\x57\xab\x8b\x5b\x87\x27\x65\xae\x9f\xe8\x4d\xc9\x6a\x79\xc3\x1d\x42\x1c\x8e\xd6\x61\xce\xf5\x18\x17\x78\x95\x47\x03\xeb\x92\x31\x9c\x71\xe7\x5a\x9c\x97\xb9\xf7\x15\xea\x9c\x0d\x34\x1d\xb8\x14\xa5\x9d\x8d\x22\xba\xe8\xde\xea\x06\xd5\xe4\xb3\x02\x7d\x7e\x1d\xea\x41\x26\xaa\xed\x85\x11\xf1\x1a\xe4\xf9\x6b\x44\xaa\x50\x27\xd4\xcb\x18\x47\xbc\xd6\xb1\x31\x66\x3f\xe0\x87\x6c\x0a\x18\x73\x9a\xc0\x1f\x3d\xd2\x85\x32\x55\x17\x86\xdc\xd9\x74\xc9\x14\xfd\x8e\x6d\x47\x11\x99\x3f\x67\x33\xb1\x82\xfc\xe4\xfa\xe6\x42\x2e\xc2\x43\xe1\x9a\xe5\x30\xcf\x2a\x04\xa9\x6e\xc5\xca\x02\x2e\xe6\x62\x35\x2b\x18\x94\x08\x28\xde\x6a\x25\x40\x3e\xe2\x6a\x6c\xf5\x02\x40\xec\x73\x5e\x33\x94\x12\xf1\x2c\xd8\x1e\x1c\x73\x05\x66\x42\xdf\x1a\x08\x30\xb8\xc0\x2c\x6f\x28\xb6\x4d\x5a\x46\x8c\x8d\xe5\xb5\x54\x24\x1c\xac\x95\x37\x76\x44\xbc\x1b\xf1\x20\xde\x92\xd6\xe7\xd8\x85\xc5\xc9\x15\xa1\xd4\x1f\x02\x6d\xee\x79\xba\xc3\xff\x7d\xe3\xdc\x44\x92\x98\xec\x7b\x6f\x34\x2c\x82\x43\x42\xfe\x4b\xf3\x1a\x67\x7a\x11\xd0\xa7\x04\xde\xf7\xd9\x4a\x29\x51\xea\x26\x9e\x92\x83\xaf\x0d\xfa\xa0\xf9\xf1\xeb\x83\x11\xf9\xf8\x31\x18\x72\x58\xdc\xb7\x0b\xad\x3d\x83\x0f\xa1\xe7\x8e\x77\x38\x03\x87\x92\xe1\x28\x74\xd4\xc9\x44\x29\x45\xc1\xa6\x26\xc0\x62\x38\x38\x03\x0f\x63\x40\xc0\x85\xc1\x2d\x69\xb9\xa2\x45\xb1\x25\x39\x86\xa6\x6c\xd8\x8c\xd4\x0c\x53\xae\x6b\x16\x61\x30\x3a\x8e\x31\xd4\x77\x2c\xcb\xaa\x1a\x34\x27\x7b\x98\x3c\xc2\xe1\x8b\xd8\xc4\x2b\x6d\xdc\x4b\xa1\xe9\xb3\xf1\x2e\x7d\xee\xa9\x6d\x8d\x7b\x29\xd6\x6c\x80\xa7\xb3\x35\xa1\x51\x38\xd6\x80\xe3\x7b\x86\xf2\x0a\x3e\x8b\xac\x5c\xd0\x45\x38\x40\x7d\xa4\xb9\xc4\x9f\x03\xe6\x6c\x62\xa5\x1c\xd4\x92\x8b\xd2\x46\xf2\x3b\x36\x69\xda\x76\x71\x4b\xf5\x94\xbc\xdb\x13\xc5\x03\xcf\x3d\x32\x40\xdf\x8d\x68\x39\x0e\x0e\xc8\xf9\x72\x55\x68\xf1\x85\xd6\x9a\x55\xb9\x65\x5b\x2d\x14\x49\xc9\x34\x73\x47\x5d\x92\xa3\x1b\xc6\x8a\x68\x88\x0d\x2d\xee\x8f\xba\xc0\xa9\x6e\xe2\x3b\xb6\x95\x1f\xda\xf7\x60\xbc\x86\x4e\x19\x0b\x89\x18\x10\xea\xd5\x84\x99\x39\x08\x5b\x2e\xdf\x84\xb0\x5a\xc3\x51\x7c\xe0\x82\xbd\x82\xd1\x0d\xc2\x33\x61\x12\x60\x2b\x9a\xb4\xbe\xfb\x11\x3f\xd7\x65\x86\x2c\x70\x49\xd3\x35\x0b\x93\xd4\x1f\xd1\xe2\xe5\x92\xd6\xea\x45\x21\x44\xfd\x9c\xaf\x79\xce\x86\xd1\xdd\x02\x30\xfd\x74\x26\x87\xd0\xdd\x68\xdc\x53\x12\x71\x99\x21\xcc\x58\x29\x0c\x75\xf0\xd3\xdd\x93\xd9\xc5\x80\x3c\x26\xd8\x1c\xf9\x96\x1c\x92\x3f\x92\xc1\xb3\x01\x39\x22\x83\xd3\x41\x30\x4e\xab\xe9\xd6\xbc\xb6\x49\x86\xad\x1b\x99\xd6\xac\x62\x54\x0d\x61\x0a\xa3\xb0\x9b\x6e\x7f\xe0\x4f\xfe\xa9\x46\xbe\xe4\xe0\x6b\xbf\xbd\x89\x37\xfb\xeb\x83\x96\x43\x7a\x9f\x33\xd1\xe3\x22\x35\x82\xcd\x3a\x79\x66\xc0\x7a\x09\x41\x38\xba\xa9\x40\x62\x70\x51\x12\x58\x41\x8f\x37\x6c\x0f\xb8\x7d\x07\xf2\x3b\xed\x7b\x98\x1b\x6c\x5d\xbf\x33\x16\x89\xb5\xdf\x8c\x1a\xb1\xc4\xfb\xda\xb0\x9e\xb0\x5e\x04\x4d\x34\x12\x30\xf4\xc9\x7b\xac\xb1\x9a\x17\x37\x56\x1e\x0a\x1c\x83\xf2\x9a\x2e\x26\xf6\x68\x53\xcf\x4c\x93\xd3\x17\xd7\xe7\x97\x01\xb3\x09\xfc\x72\xd8\x1c\x2f\x0d\x92\x05\x68\x10\x11\x97\x55\x08\x52\x18\x54\xd4\xce\x1b\xaf\xb1\xec\xf7\x65\x43\xfb\x90\xaf\xd7\xb2\x5b\xdd\x5f\xe0\xc9\xbe\xe3\xb9\xba\xf7\xfb\x03\x60\x26\xa0\xf6\x40\x76\x4d\x94\xc4\xb4\xa7\x97\xc7\x2c\x0c\xac\xab\x62\xcb\x4a\xd4\xb4\xe6\xfa\x7d\x0d\x45\x13\x42\x9d\x1e\x2d\x14\x4d\xa6\x84\x5c\x94\xba\xac\xc0\x96\x9d\xc8\xeb\xd9\x2d\xcd\x1e\xa2\x4a\x5f\xc0\x5e\x86\x9a\x28\xd0\x88\xf1\xe5\x92\xe5\x9c\x2a\x56\x6c\xc9\xad\x49\xbd\x0d\x21\xaf\xb2\x29\xd2\xf4\x11\x1c\xa2\xe8\x29\xf4\x1d\x97\x36\x4c\x49\x0b\xdc\x35\x4a\xeb\x5c\x9a\x9c\x97\x5b\x40\xb9\x80\x53\x59\x8a\x0d\xa1\x33\xb1\x52\x91\x1e\x20\x54\xc7\x22\x9f\xeb\x71\xb5\x6d\xb0\x34\x25\xa5\xa8\x97\xb4\x20\xcf\x2f\x5e\x5b\x00\x18\xcf\x53\x9a\x05\xcc\x73\x90\x8e\x69\x01\x29\x22\x02\xa9\x7c\x00\xda\x88\x41\x2c\x67\x0f\x02\xe5\xee\x6f\xa5\x9f\x6d\xaa\x67\x49\xe4\xa8\xa6\x05\xcc\x0d\xea\xa9\xb3\x95\x34\xd0\x8c\xad\xb1\xb8\x80\x61\x03\x27\x81\x21\xc3\x7c\x6e\xff\xb6\x91\xc2\x51\x36\xd0\x9d\x43\x03\xf0\xf7\x33\xe8\x2d\x52\x20\x9b\x06\xbb\xf2\x14\x24\xa0\x31\xc6\x76\x10\x21\x68\x62\x08\xcc\xe1\x8d\xef\x76\xf4\x27\x27\x78\x8b\x86\x06\xf8\x4e\x98\xf7\x07\xe9\xf5\x52\x71\x6e\xc6\x00\x22\x69\xef\xdc\xb1\x5a\xc2\x1c\x68\xee\xe1\xce\xc0\xfa\x1d\xa3\x31\x8e\x84\xc0\x3d\xe7\x81\xc7\x98\x1b\xe1\x4e\xf2\xd2\x14\x8d\x8c\xf7\x7d\x49\x0c\xb8\xff\x94\x09\x20\xe0\x1f\xd0\x85\xd8\xc6\xaa\x0e\x0f\x7e\x2a\x0f\x96\x8b\x31\x19\xfc\x64\xe2\x66\x4c\xb1\xa4\x3d\x5c\x7f\xf3\xce\x13\x91\x92\x70\x56\xd3\xec\x96\x29\x96\xc3\x18\x70\x2f\x43\x8e\xe5\xdd\xd3\xc3\xc3\xff\xa7\xb9\x16\xf8\xf1\xb1\xfb\xf1\xc9\xff\x1b\x44\x56\xf9\x06\xaf\xb2\x73\xc7\x31\x48\xbf\x36\x46\x1f\xcd\xeb\x07\xbe\xf9\xfd\xd7\x1a\x2a\x3a\xab\xcc\xce\x05\x3e\x13\xd5\xb6\xcb\xc4\x82\x5c\xce\x4a\x32\xf3\xfa\xfc\x08\xf6\x6d\x5d\xc3\x3e\x0a\x5d\xef\x53\x53\x68\xed\x92\x5a\xa2\x2c\x11\x87\x89\xdc\x26\xbb\x0e\x04\x22\x83\x36\x9c\xff\xe1\xd1\x77\x08\x05\xe6\xce\xd6\x82\x5f\xce\x6b\x06\xf8\x22\xd6\xc8\xa5\xf7\x1f\x19\x03\x00\xb8\x45\xa5\x29\xe8\x47\xcd\xf5\x8a\xe8\x05\xcd\x94\x43\x9a\xaf\xa0\x8a\xdc\x72\x74\xd9\x83\x56\x66\xac\x10\xe5\x42\x62\x36\x35\x8f\xbe\x0a\xf6\x9e\xaf\x49\x84\xb1\x3a\xb6\x4f\x98\x7e\x2d\x33\x5a\xea\x9b\x9f\xdd\xb1\x6c\xa5\xcf\x55\x04\xbf\x61\x35\xdc\xf0\xb4\x5a\x40\xd0\xaa\x16\x8b\x9a\x2e\x97\x54\xf1\x8c\xa0\x77\x0d\xde\xa9\x7b\x37\xfa\x12\x56\xab\xc3\x49\x00\x95\xad\x67\x26\xd3\x54\x90\x06\xad\xc5\xd7\x6b\x46\x01\x24\x13\xf4\xab\xda\x63\xa0\x20\xbd\x0d\x06\x1f\x3f\x92\xc3\x63\x9f\xc7\xd1\x0e\xa5\x43\x18\xe9\x1e\x96\xc5\xa2\xdd\xad\x0b\xe9\x69\x38\xc1\x41\xb9\x64\x5b\x7e\x8d\xbe\xd5\x32\xfe\xc7\x8f\x7e\xa4\xfa\x87\xd8\xe8\x48\xd7\x82\xe7\x46\xca\x95\x5c\xad\xf0\xc6\x37\x91\xcb\xc0\x33\x18\xd0\x15\x29\x96\x4c\xf1\x25\x0b\x18\x1f\x4b\x6c\xb6\xb9\x05\x53\x9a\xdc\x35\xa7\x9b\xfb\x0b\xc1\x81\x18\x8a\x9a\xe4\xab\xda\x1a\xf6\x79\xc9\x15\xa7\x05\x29\x04\xcd\xc7\xc6\x46\x81\xd6\x3f\xdb\x5c\xce\x68\x61\x15\x6d\x54\x59\x5b\x21\x1e\x1d\x4d\x92\x60\x88\x34\xa3\xe3\x73\xc0\x74\x61\xce\xf5\x21\xbe\x8a\xf4\xc7\x0c\x44\x69\x19\x1a\x3a\x3c\xe4\x95\x26\xba\x31\x70\xe1\x7a\x7c\x9a\x5f\xe3\x6b\x74\xef\x3a\xd4\x7c\xd2\x1a\xad\x28\xc6\xea\xae\x2f\xbd\x43\xb2\xa6\xc5\x8a\xc9\x4e\x6b\x21\x97\xdf\xb3\x8d\xf1\x47\x8b\x36\xe5\x61\x57\x72\xbb\x48\xcb\xe4\xfe\xe7\xf6\x2e\x51\x2f\x94\x57\x71\x3b\x2d\x73\xaa\x6f\x3b\x9b\xe9\x1c\x00\x8c\x72\x9e\x6b\x06\x14\x4f\xe1\x18\x0d\xac\x08\x66\x07\xde\x23\x6c\xcd\xea\x2d\xa6\x1a\xe6\xf2\x81\x95\x26\x0c\x00\x8e\x65\x27\xe0\x7e\xd0\x1d\x7f\x08\x27\x34\x76\x43\x0c\x60\xe8\x1a\x10\x28\xf7\x80\x57\x78\x78\x62\x73\xa5\x6a\x6a\x76\xab\x18\x30\x29\x81\xaf\x5f\x13\xab\xb9\xc9\xee\xdc\x93\x95\xb8\x62\xf5\x9a\x67\x11\xf2\x1f\x22\x0d\x07\xf0\xc5\xbb\x9f\xa9\x00\x83\x34\x8d\xff\xf3\x30\x65\xe2\x8b\x20\x48\x7b\x02\x8a\x76\x59\x0f\xef\x83\xa1\xe6\x49\xae\xc3\x98\xe4\x42\xf8\x20\x8a\x31\xf2\x96\xda\x8b\xf8\x4a\xda\xea\xe2\x06\x94\x72\xe3\xf5\x5d\x6e\x2f\xa2\x05\xbc\x8f\x9e\x38\x1a\x14\x54\x3f\xdb\x66\x05\xfb\xf0\xee\xf0\x7d\x47\xc6\xb4\x5e\x48\xb8\x7f\xff\xf1\x3f\x79\x9f\x00\xca\x30\x20\xcd\xce\xa8\xbc\x0b\xa7\xb9\x5d\x28\x80\x6a\x5e\x6b\xa1\x0b\x0c\x6a\xce\x3e\xdd\x84\x6d\x06\xb7\xbf\xdf\x04\xb8\x39\x3d\xfc\xfb\x63\x37\xbb\xc8\xe2\x1e\xf0\xcd\x8d\xcc\x76\xcd\xaa\xa6\x7c\x12\x12\x3b\xd2\xb6\x82\x67\xfc\x12\xe1\xc4\x38\xb8\xd6\xf8\x0c\x76\x98\x5c\x8d\xdc\x88\x0d\x99\x53\x89\x95\x2b\xba\xc0\x04\x47\xd0\x08\xa8\x25\x1a\x6a\xdb\xd6\x5a\x3e\x69\x2e\xa5\x05\xe3\xf0\xdd\xa2\x50\xec\xff\xec\x9b\xfa\xe6\xca\x2b\x59\x5f\x8b\x35\xb3\xb0\x68\x75\x04\x82\xe1\x9a\xdd\xb7\x7c\xed\x76\xc2\xca\xb1\x0b\xbb\x96\x2f\x09\xd5\xcb\xc8\x66\x51\xba\x39\x49\x30\x6e\x13\xde\xdc\x28\x45\xe0\x3e\xfc\xc9\x0e\x99\xb5\x43\xae\x4c\xa7\x4f\x9b\x8b\xfa\x9c\x66\x37\x3e\xfa\x3a\x30\xe2\x94\xd8\xc3\x30\x42\x2b\xda\xd1\x96\xf1\xb0\x3c\xd1\x3c\xd9\xa7\xe3\x07\x07\x07\xe4\xea\xe2\xed\xe5\xd9\x39\x79\xf1\xf2\xd5\xf9\x11\xba\x8b\x1f\xfc\x45\x1e\xc0\x3f\x3e\xd8\xa9\x7e\xe0\x62\xfa\x17\xa9\x4b\x6b\xc1\x05\x2d\x50\xc3\x6c\x44\x9e\x1e\x3e\x79\x0a\xdb\x0c\x26\x42\xbe\x5a\x92\x8b\x2b\x72\x0a\x7e\x88\x72\x4a\x4e\x8b\x02\xad\x55\x98\x24\xa9\x5e\x6b\x39\xe3\xe0\x80\xbc\x95\x0e\x10\x94\x60\x38\x2b\x4a\x00\x5c\x92\x85\x7e\x3e\x4b\x5c\x67\x4a\x9e\x5d\x3d\x9f\x20\xb4\x65\xc1\x33\x56\x5a\xe7\x2a\xe4\xf8\x75\x4b\x73\xc8\xb1\x62\x78\xfc\x57\x2f\xcf\xce\xbf\xbf\x3a\x27\x73\xae\x2f\x86\x07\x83\x95\xc4\x40\xe3\x4c\x69\x59\x52\x33\xc1\xb5\xca\x59\x35\x1c\xe8\x7f\xa2\xe8\xfa\xf6\xfa\xc5\xef\x20\x24\xd5\x39\xce\x57\x2b\x75\x70\xb1\x52\x00\xa7\x08\x6e\x1e\x34\x03\x89\x12\x46\xe4\x32\xe3\x80\x5c\xb9\x5c\xae\x4a\xbd\xb6\x41\xea\xd1\x66\x4e\xd5\x33\x5b\xa1\xe0\xb7\x8c\xfc\x5c\x52\x29\x6f\x7e\x06\x66\xed\xe7\xac\x16\xfa\xdf\x35\xcb\x18\x07\x06\x0e\x3c\xbc\xa8\x66\x6c\xed\xda\x64\x05\x95\x92\x60\x42\xd4\xca\xe7\x4d\xe2\x35\xa1\xf5\x62\x6d\x7c\xc5\xec\xe1\x86\x3c\x3d\xd6\x7d\xcd\xa6\x3f\x52\x98\x39\xb1\x66\xd4\xb3\xbc\x61\x4a\x04\x18\xb9\x58\x29\xc2\xee\x2a\x21\x0d\xf3\xbb\xc4\x6a\x84\x95\x8a\xff\xff\xd9\xfb\xfb\xf6\x34\x72\x64\x7f\x1c\xfe\x3f\xaf\x42\x99\x73\x7e\x0b\x4c\x30\x06\xfc\x10\x27\x1e\x4f\x16\x63\xec\xe0\xe7\x00\x76\x12\x27\xd9\x9c\xa6\x5b\x40\xc7\x4d\x37\xe9\x6e\x8c\xf1\x4e\xce\x6b\xbf\x2f\x55\x49\x6a\xa9\x5b\x0d\xd8\x99\x39\xbb\xdf\x73\x1f\x5f\x9b\x1d\x1b\xa4\x92\x54\x2a\x49\xa5\x52\xd5\xa7\xc2\x34\x6e\xa6\xec\xa5\x6a\x8d\xc3\xd4\x31\x82\x3d\x18\x8a\xa4\x98\xf8\x28\xd1\x9d\xea\x4b\x98\x3c\x2f\xb9\xd2\x97\xc8\x98\xc6\xa3\x00\xf3\xdb\xe9\xa3\x97\xe8\x79\x71\x20\x79\x25\xc3\x0b\x22\x49\x88\x04\x38\x67\x02\x49\x16\xfd\x72\x21\x95\x17\x8d\x62\xd7\xb7\x62\x25\xcf\x4c\x3b\x0a\x3c\x2b\xd6\xd2\xf6\xc9\xfb\x80\xe4\xcc\x24\x0c\xd8\x2d\x09\x6f\xb4\x49\x60\x54\x9f\xfa\x74\xe0\xc6\xd1\x6b\x46\x68\x8d\x5c\x8a\x52\x16\x19\x53\xa6\xbe\xba\x11\x26\xbc\xb5\xb8\x52\xce\x73\x74\xe8\x1c\x48\x8d\x1f\xa1\x83\xa4\x37\x25\x66\xd1\xf0\xef\x02\x70\xc4\x8e\xa6\x7d\xd9\xcb\x62\x44\x91\x9f\x90\x50\x11\xd9\x38\x09\x26\x09\xff\xc0\x65\x95\xac\xc1\xa4\xb8\x38\xca\xc0\x87\x14\x1a\x11\xa0\x83\x5a\x11\xdf\x88\x21\xab\x06\x37\x24\x32\x1e\xcb\xe9\x85\x9e\x61\x98\xb0\xec\x19\xcc\x04\xbb\x5a\x71\x61\xc1\x23\x44\xe5\x1f\x6f\xb6\xed\x43\xcb\x87\xd3\x98\x69\xed\x49\x4e\x44\x6b\x4e\xc2\x29\x78\x9b\xb1\x8d\x75\x16\x84\xb7\x7c\x9c\x21\xbf\xc5\xcd\xd0\x2a\xec\x7b\x73\x30\xe2\xf6\x3d\x8a\x2d\xb3\xe9\xb4\x3c\xc8\xc9\x6e\x91\x8c\x08\xca\x7c\xfb\x96\x4f\xda\x97\xcd\x64\x06\xd2\x67\x93\x2e\xc2\xc6\x20\xdd\xf6\x85\xba\x25\x0b\x29\x50\xb6\x66\xb9\x15\x92\x3d\x29\x24\xe2\x6a\xc3\x06\xdd\xbe\x10\xce\x9b\x20\xa9\x62\xd6\x49\xfb\xa2\x02\x53\x24\x6f\x2a\x22\x3e\xb2\x7d\x91\xc0\x55\xfc\x1f\xce\xd8\xff\xe1\x8c\xfd\x0f\xe3\x8c\x31\xb9\x5c\x0a\x35\x26\x40\x2e\x32\x70\x63\xfa\x92\xd0\xc2\xd7\x8c\x95\x34\x11\x87\x38\x1d\xcb\x27\x83\xd0\x1a\x4b\x30\x11\x11\x36\xa8\x1c\x4d\xbe\x13\xcc\xca\x64\x12\xb0\x83\xd8\x49\xc2\x3c\x79\xb2\x79\x46\x89\xc7\xf7\x40\xc6\x31\xa6\xaa\xa2\x3f\xca\x8c\x16\x3c\x4f\xc9\xeb\x4d\x79\x1e\xab\x75\x81\x52\xb1\xce\x3d\xaf\xd9\xe6\xc8\x2f\xbb\x15\xb1\x7e\xc0\x7a\xcc\xa5\x1c\x6c\x38\x7c\x43\x12\x59\xe9\xd7\xd1\x62\x8a\xc7\x02\x1b\xc0\xa2\xf8\xae\xde\x88\xca\x18\xaf\xc0\x92\x9a\x8a\xac\x27\x2b\x5d\xc0\xd6\x81\x22\xc6\x7b\x44\x2e\x26\xf8\x4a\xc5\xf9\x24\x3a\x4a\xc8\x79\x10\x13\x77\x3c\x41\x0c\x91\x9c\xb7\x0c\x6d\x7a\x51\x79\x3d\x04\x32\x7a\xc4\x58\x59\x6d\x51\x03\x9a\xf1\xe9\x8c\x1f\xfd\x50\xaf\xa8\xcf\x78\x99\x64\x2a\xeb\xaa\x34\x1c\x2d\x78\x56\x85\x02\xf8\x92\x4d\x09\x53\xce\x64\xe4\x43\x5a\x5d\xe2\xdc\xe0\xc5\x20\x4a\x58\xb2\x93\xb1\xd2\x07\x3e\x0c\xf2\xc8\xb2\x53\x82\x69\x22\x56\x6c\xb6\xe4\xea\x22\x4f\x63\xf1\xc5\x25\xaf\xaf\xb0\x46\xe9\x82\x59\xe0\x69\xcc\x6b\x69\x45\x75\x1e\x00\xd7\x79\x48\x5f\xf6\xb8\x91\xa7\x18\xa8\x4c\xec\x3c\x76\x63\xa1\x49\x71\x77\xd2\x9e\x34\x61\xfe\x2a\x0e\x17\x2b\x8a\x02\xdb\x4d\x5e\x83\xf1\x01\x35\xa3\x93\xb9\x90\xda\x1e\xf4\xd6\x38\x20\x13\xb6\xa1\xd8\x81\x1f\x87\x81\x97\xd9\x40\xd9\xc1\x35\x18\xe0\x11\x9b\x28\x1b\x98\x1c\x15\xb4\x25\x7e\x80\x71\x1d\x43\xd8\xdb\x05\x6d\x71\xd4\x09\xf2\xc9\xc3\xb3\xa4\xc5\x34\x81\x89\x47\xf3\x32\xbf\x68\xd3\xc2\x34\x1b\xb3\x79\xdd\x0d\xd8\x71\x69\x62\x65\x4a\x36\xf1\x29\x2a\x90\xcf\x54\x4d\x6b\xc2\xf4\x11\xe7\x6b\xfa\xfd\x4a\x7e\x81\x06\xbd\xa0\xa2\x5b\xf0\xf9\xa3\x8b\xfc\x88\x93\x55\x0c\xeb\x68\xd9\xe3\x7f\x0b\x22\xfa\xf9\x9e\x92\x1b\x37\xd8\xcd\x0a\x13\x8c\x8c\x7d\x93\xac\x3e\xf6\x97\xf6\x84\x23\x9c\x06\x12\xa1\x28\x44\x09\x1a\x85\x54\x3e\x56\x60\x30\x78\x9b\x98\x2e\x9f\xa9\x0e\xa5\x95\x15\x5d\xb6\xd1\x9c\x0d\x93\x0d\x4f\x77\x6c\x93\x8d\x84\xcd\x96\x3f\x4f\x6a\x20\xea\x5c\xac\xc4\xc5\x68\x91\x3f\x80\xa2\xea\x6b\x39\xdf\x83\x01\x99\xf0\xf8\x00\x70\x58\x5a\x1e\xa3\x0c\x5d\x03\xbb\x43\x4e\x26\xfe\xd4\x96\x20\x34\xf2\xbc\x00\xe4\xf5\x75\x72\xa1\x76\xb5\xf2\x2c\xf1\x93\xf4\x82\x61\xb1\x70\xe5\xa3\x1a\xaf\xaa\xf7\xaf\x09\x0f\x78\x63\x64\x72\xb9\x68\x25\x2b\x72\x61\x44\xf6\x53\x39\x97\x5c\x9a\x54\x6d\x31\x69\x0a\x58\x25\xcc\x6b\x78\x3b\x76\xb2\x29\x3a\x0a\x6c\x58\x6b\xf0\xb5\xeb\x0f\x0b\xf8\x9a\x26\x36\xe2\xd5\x82\xc6\x6f\xe9\x9c\x44\xf4\xfb\x54\xd4\x58\x3c\x27\x2b\xc5\x85\xaf\x30\x2d\x41\x1f\x0c\x10\xa1\xa3\x85\xbc\xe3\xd4\x1c\x77\x2f\xce\x2b\x48\xcf\x1d\xcc\x53\xe1\xdd\x8b\x3b\x27\x3e\x37\x3c\x0c\xc2\xb3\x49\x99\x88\x67\x30\xb1\x8d\x05\xfd\x6f\x0a\x66\x3e\x07\xa0\x08\xfa\xdf\x84\x49\x27\xe8\x7f\x4b\xed\x43\x40\x68\x57\x7e\xa9\xec\x3f\x48\x5b\x7e\x45\xf6\xa0\x80\xb6\x66\xb5\x68\xca\x54\x77\x53\x5d\xcc\x15\x4d\x29\x98\xa0\xf8\xb8\xc2\x03\xe5\xa7\x45\x12\x35\x29\xb3\xd4\xfc\xc1\x94\xbe\x21\xd3\xba\x15\x85\xd0\x89\x47\x95\x95\x8a\xe2\x88\x56\x91\x2e\x9d\x23\x4b\xe6\x2f\x2b\x67\x0a\xc7\xde\x83\xc5\xc5\x02\xb8\x83\x1d\xb9\x82\xfa\xf3\x98\xa6\x80\xf7\x72\xb4\x1e\xd3\x72\xd1\x69\x25\x64\x26\xa1\x9b\xe3\x96\xa0\x0d\x0f\x8c\x40\x57\xbd\xc3\x9d\xa5\x80\x0a\xda\xde\xcf\xdf\xf2\xc4\xa3\x56\x18\xcc\x48\xa1\x81\xa9\xb5\x65\xe3\x22\x12\x8a\x2b\x2c\xc9\x01\xa4\xf8\x6d\x28\x44\x45\xb2\xf6\xa2\x69\x1b\x7c\x34\xe7\xb8\x3d\x86\x1b\xe5\x42\x2f\x93\x2a\xf8\x2f\x62\xa5\xe7\xff\x3b\x32\x13\xdc\x66\xc2\xcf\x7e\x21\x9f\xab\xb5\x6d\x72\x6c\xdd\x59\x5d\x3b\x74\x27\xf1\xd3\xc5\xf1\xd1\x5c\xc3\xd1\xed\xad\x24\xa4\xb5\xed\x3c\xc6\xc2\xf8\xa5\x2c\x17\x75\xf3\xad\x19\x8d\xe3\x12\x1a\x5e\x7d\xf0\x9a\x44\x81\xc6\xce\x21\xa4\xfe\x1a\x96\x78\xfe\x2a\x4c\x01\x71\x5b\x85\x2d\x28\x97\x0b\x19\xb3\xd4\xd0\x7f\x1f\x7f\xb5\x12\xd8\xa2\xff\x5d\xc6\x7e\xc0\x7f\x8e\x54\x43\x7f\x33\xf0\xa3\x38\x9c\xc2\x9b\x3e\xbb\x8d\x6a\xa8\x4d\x7c\xf5\xa9\x8a\x52\x24\x3f\x24\x63\x48\xeb\x00\xa0\xa8\x68\xfb\xc1\x28\x26\xc1\x3a\x12\x4d\xed\x11\xb1\x20\xbc\x9f\xe3\x4f\xaf\x43\x56\x18\x89\x58\x4d\xa0\x3b\x65\xd2\x0f\x3c\x70\xca\x74\xfd\xb8\x4c\xdc\xd8\xf2\x5c\xbb\x8c\x2f\xfa\x65\x32\xf5\x1d\x1a\x32\x11\x44\xe7\x13\x36\xb2\x5b\xca\xcd\x9d\xb2\x5b\x5a\x9f\xc5\x1d\x30\x4a\x5f\xd0\x6c\x31\x54\x62\x71\xbf\x36\x70\xdd\xa2\x61\x62\x43\xe0\x96\x5e\x55\x5f\x4f\x06\x04\x61\x92\x6c\xb9\xd0\x28\x86\x67\x81\x7b\x37\x02\xe3\xaf\x4e\x6c\x80\x7e\x5a\xec\xaa\x67\xc5\x6e\xdf\xf5\xdc\x78\x9e\xcd\xa5\xa4\x88\x98\x58\x5b\x76\x32\x15\xea\x5a\x7b\xdb\x3b\x3b\x3d\xe0\xce\x39\x3f\x12\x37\x9d\x1e\x3c\x57\x02\x2d\xf9\x19\xc7\xa7\x01\x5d\x05\x4c\x1d\xd2\x72\x4d\xe0\xc2\xa8\x75\x34\x75\x07\x55\xc1\xba\xd4\x85\x26\x88\x2b\x4b\x4d\x3a\x7a\x93\x3d\xd9\xf6\xae\x34\x00\x47\x54\x66\x84\xd4\x31\x20\xb8\xd0\xf3\x6b\x37\xe2\x9f\x5b\x11\xa1\x6e\x3c\xa2\xe1\x6b\x0e\xc0\xd8\x69\x7e\x3d\x68\x1d\x36\xae\x4e\x7b\x84\x14\xc1\x6b\x39\xf0\x41\xb0\xb8\x53\x4f\x29\x29\xd7\x39\xda\xc7\xa7\xbf\xa2\x34\x85\xb1\x45\x51\x08\x87\xfd\x22\x09\xcb\x64\x58\x26\xfd\x52\x81\xcd\xc7\x98\xd7\x42\xfb\x25\x7f\xc9\x2f\x66\xd0\x9a\x5c\x40\x07\x83\x23\x08\x7b\x37\xb1\x3c\x1a\xe3\xeb\xd1\x34\x02\xdf\x16\x18\x7f\x22\xd0\x3a\xb8\xad\xd2\xf9\xe4\xf1\x51\x4a\xfb\x82\xb2\x2a\xef\x54\x00\x0d\xcb\x1e\xe1\x55\x17\x9c\x98\xa4\x81\x10\xfa\x16\x33\x06\x63\xb0\x61\xba\x3f\xcf\x24\xba\x44\xa6\x75\x75\x3e\x6c\xcb\x0f\x7c\x70\x2b\x48\x7c\xa4\x52\xe3\x13\xbd\xe5\x3d\xfd\xda\xbc\x38\xbd\xe8\x18\xc6\x96\x53\xee\x59\xe2\x20\xcf\xe6\xee\x50\xa5\x0b\xd3\x54\xdf\xda\x2a\x13\xf1\x7f\xa5\x04\xe2\x9c\x57\xd8\x57\x1b\x80\x0a\xd5\x32\x61\xff\x2b\x29\xfa\x00\xdb\x3d\x54\x77\x7b\x1c\x82\x05\xe7\x6d\xea\x53\xdc\x5b\x32\x1f\xf7\x45\x92\x71\xed\x53\xb9\xf3\x64\xbe\xd1\x36\xa1\x6c\x23\xfc\x6d\xc1\xf0\x79\xe2\xf8\xa0\x7d\x33\xb3\x39\x8c\xae\xfe\xb1\x15\xd9\xae\xcb\xbf\x11\x61\x34\xdc\xd3\xc5\xa3\x07\xe8\x3b\xcc\xd1\x4b\x65\x38\x9f\x17\x84\x97\x5c\x68\x13\x04\x70\xe1\x77\x45\xe3\xa6\x52\x20\xe5\x54\xd5\x1e\x60\xf3\x80\x76\xe5\x0e\x7d\x61\x65\x01\xf6\xca\xdd\xca\x68\x58\x1b\xc0\xd9\x21\xb1\x4a\xc0\x50\x6f\x61\x45\xc6\x0a\x4c\x1c\x6b\xc5\x88\xa0\xed\xb8\x03\xb8\x25\xc7\xf2\x21\x43\xe6\x78\xe5\x11\x0b\x33\xc4\xc3\xe7\x55\xf3\x77\x29\x45\x4b\x40\x68\xeb\x7d\x94\x04\x0e\xb7\x91\x8c\x8b\x7d\x50\x86\x9d\xb1\x8f\x87\x38\x1e\x83\xa4\xe8\x0e\x88\x75\x67\xb9\x1e\xab\x5c\x82\x61\x40\xa7\xc1\x01\x5c\x1d\x68\x44\x63\x11\x33\xcf\xf6\x88\x09\xf5\x1d\xea\x8b\x57\x68\xa2\x34\xce\x0b\x3e\xb2\xcf\x8d\x68\x3f\x14\x09\x16\xb5\xbe\x37\x08\x6e\x4f\xd4\xc3\xc3\xcb\xf2\x63\xe9\xfc\xf8\xcb\x6c\x64\xc5\x02\x3c\x4b\xba\x3c\xe2\xde\x00\xfd\xe4\x8f\xc7\xb8\x7d\xfe\xb2\x52\x97\xb4\xe5\x2b\xfd\x65\x39\x52\xb7\x3f\x1d\x17\x0b\xaa\xea\xd0\x48\x3a\xc5\x95\x3f\x71\xd2\xe2\x7e\x3c\xc7\x59\x97\xba\x0e\xef\x59\x6a\x43\x5f\xa9\x63\xea\xb1\xb0\x47\x0a\xbc\x2a\xdb\x04\x1e\xd9\x19\xfd\x1c\xb2\x92\x5e\x59\x08\xc9\x05\x1e\xd6\xea\xf9\x21\x9f\x59\xc2\x95\x3b\xca\xce\x25\xdc\xae\x0a\x09\xb3\x7a\x9a\x8b\x2d\x07\xb7\x81\x28\x30\x61\x2c\x98\xe1\x22\x60\x67\xb4\x1f\x38\x54\xf7\xb4\x31\x19\xb7\x1f\xaf\x20\xac\x34\x84\x88\xc6\x82\xda\x93\xf4\x00\x93\xe1\xdf\xa1\x74\x82\x71\x04\x42\x03\x4e\xac\xb4\x1a\x84\xb4\xa9\x6f\x3f\x48\x63\x21\x81\xa5\x23\xb2\xbd\xc0\x37\xe0\x4d\x4a\xcc\x51\xd5\x96\xae\x92\x28\x02\xa8\x1b\x6c\xaf\x6c\x6f\x28\xb2\x0a\xb7\x74\x2e\xd6\x96\x30\x54\x85\x77\x9f\x6e\xe9\xfc\x0b\x3f\x03\xe1\x77\x69\x6e\x0a\xef\xd2\x9b\x72\x66\xa3\xae\xd8\x81\x6f\x5b\x3c\xd8\x81\xf3\x21\xbc\x4b\x5b\xbd\xb9\x77\x5b\x82\x29\x0a\xdb\x4f\x56\x8b\x84\xfd\xca\x09\x68\x04\x61\x0a\xdc\xc7\x0d\x5d\xdb\xb0\x35\x02\x17\x11\xc3\x69\xc0\x1f\xa3\xc0\x85\xfb\x57\xd2\x8e\xf1\xd1\x4f\x60\xee\x2a\x94\xd8\xf1\x03\x56\xd2\x32\xbe\x65\xb3\x86\xd8\xae\xc4\xf4\xcf\x95\xe6\x03\x1a\xcf\xb1\xbd\xff\xe9\xba\xd5\x9f\xad\xd3\xfc\xff\x9f\xd6\x61\x16\xc4\xb4\x82\xac\x9e\x42\xe0\x9e\xb9\xba\x28\x34\xf5\x15\x62\x12\x8b\xd4\x22\x4a\xee\xb2\xf9\x4b\x09\x99\x36\xf7\x6d\x20\x1f\xa5\xd4\x9d\x1e\xbb\xc4\xb9\x83\x9c\x3b\x19\x71\x68\x64\x87\x2e\xbb\x3c\xfa\x1c\x6a\x59\x55\x0a\xe4\x76\x25\xdd\x66\x45\x88\xe1\xa3\xc9\x2d\xe5\x90\x1b\x71\xff\x88\xdc\x4c\x28\xc5\x9c\x85\x93\x5d\x0d\x2a\x86\x40\xee\x1a\x5a\x56\xed\x79\x22\xff\x86\xcf\x71\x09\x18\xbe\xe0\xab\xc0\x44\x0a\x16\x82\xe1\x8b\x64\x2d\x18\xbe\xd4\x97\x83\xa9\x41\xbe\x22\xcc\x5f\x49\xb4\xae\xcc\x97\x7c\x5d\x64\x59\x95\xac\x8c\xec\x77\x89\x4a\xce\xa1\x40\xcd\xe7\xa0\x6e\x29\x28\x5a\x88\xd5\x0d\xee\x4c\x12\xe0\xbb\xc4\x83\x73\x79\x2e\x73\xf0\x51\x8b\xed\x91\xf0\x58\x5c\xed\x04\xe0\x4f\xd4\xf0\x8c\x65\x8b\xd6\x27\x1e\x5c\xfd\x12\x24\x71\xf1\x00\x8e\xe1\x98\x42\x36\xcb\x3c\xd2\xcc\xf2\xc1\x49\x08\xfb\x98\x2a\x8b\x25\x2b\x84\x1c\xa0\xa3\x38\xe0\x6e\x06\x03\x32\x0e\xfc\x00\x80\x52\xc9\xcc\x75\x68\x12\xb9\xc3\xe8\xe1\x15\x21\xf0\x89\x4d\x43\xb8\x84\x22\x0e\x76\x44\x8a\xb4\x32\xac\x08\x70\x9d\x8b\x6e\x49\x03\xdc\x9d\x4c\x63\x42\x2d\x7b\x64\x20\x88\x48\xe8\xc0\xc1\x01\x69\x76\xbb\xdc\x53\xb2\x50\x99\xd9\x6b\x6c\x80\x05\xae\x61\x8d\xac\x88\x23\xfc\xf0\xd0\x34\xe5\x05\xa5\xc5\x48\xdf\xc5\x5f\xd9\x04\xe2\x23\xa9\x8b\xbe\xf7\x70\xfa\x49\x13\x81\xb0\xcd\x41\x6b\x62\x7e\x20\xfd\x34\xcc\x89\xe8\x55\x19\xbf\x93\x7d\xa1\xac\x37\x8c\x22\x0f\xa8\x86\xdf\xbf\xfe\x36\xf4\xe6\x93\x11\xb7\x46\xfc\x5e\xc8\x33\xae\x82\xdb\x90\x92\xce\x46\xba\xc1\xc0\x24\xd8\xfc\x53\xe1\x42\xc2\x94\x18\x29\x5a\x15\x6d\x97\x62\xb3\xc8\xe4\xf6\x07\x69\xa8\x53\x1a\x84\x89\x2c\x88\x19\xd5\xc4\x4d\xc8\x9a\x30\x21\xe9\xb2\xb6\x5c\xed\x02\xb9\x6b\x4a\x71\x57\xf6\xaf\xd4\xd0\x52\xcf\x06\x72\xcb\x13\x38\x3c\x7c\x20\xba\xd2\xc9\xe9\xb3\xe6\xd9\xe0\x32\x34\x93\x7c\x39\x6c\xb0\xcb\xf2\x0f\xb1\x42\x05\x99\x31\x27\xe2\x49\xd4\xd9\xa7\x18\x76\x22\xbe\x11\xd3\xba\x47\x3e\x7d\xd1\x73\x9f\x29\x1a\xc6\x73\x93\xea\xc0\xb3\x2c\x65\x93\xff\x25\x15\x75\x82\x8a\x2a\xb2\x94\x60\x4e\x1a\xc0\xe4\x63\x9d\xb4\x72\x65\x15\xe8\x0d\x6c\x43\x57\x29\xb2\xd5\xfa\x5e\x66\xb8\x67\xdf\x16\x52\xe3\x65\x3b\x3d\xaf\xc1\xd8\x24\x94\x1f\x89\x76\x99\xcc\x27\x6c\xfd\x69\xe2\x32\xad\x3f\x7e\x9d\xa2\xde\x57\x63\xad\x38\xd3\xc1\x27\xa6\x58\x80\xaf\x70\x81\x8b\x00\x61\xd6\x3e\x7c\x9c\x32\x97\xc8\x30\x3f\x26\x18\x07\x89\xaf\x9b\x40\xdd\x93\xcd\xc9\xa3\x46\x06\x4f\xe9\x15\x5e\xec\x91\x42\x62\x8b\x2e\x28\xcd\xaa\x0a\x5b\xd2\xac\x0a\xee\xa3\x1e\x54\x8b\xc8\x33\x22\x6b\xbc\x9c\xda\x42\x5a\xf1\xcb\xb4\xa2\xd1\x92\x39\x87\x10\x52\x25\x3d\x6e\xfd\x83\x6c\x5c\x1a\x9e\x7e\x66\xc6\x8b\x6d\x55\xe5\xba\xd4\x22\x13\xa0\x17\xf8\x5c\x55\x23\x15\x24\x0c\x3d\xbd\x3e\x3f\x33\x9f\xeb\x28\xdf\x7a\xa3\xb0\x7b\xf2\x16\xb3\xdf\x7c\x95\x99\x00\x04\x35\xb5\x73\xec\x33\x93\x44\xc8\x54\x83\xca\x76\xa1\xd4\xd2\x52\x88\xa5\xca\x25\x01\xbc\xbc\x2f\x18\x47\xa2\x54\x87\x2f\x30\xb1\x87\xec\xf0\xb7\xc0\xf5\x8b\x05\xc2\x93\x7e\xf1\xed\x8c\x95\xce\xe8\xa4\x02\x04\x44\xb8\xdd\x3b\xc2\x58\xc0\x5f\xb1\xca\xd9\xbd\xbb\x04\x07\x1c\x58\x36\xac\x31\x86\x2f\xc1\xd2\x82\x0f\xdd\x88\xa4\x6c\xfb\x66\x1f\x39\xdf\x81\x08\x0e\x91\xf5\x8a\xd1\x16\x6f\x16\x11\x55\x55\x59\x1b\xac\x15\x7d\x78\x67\xa1\x21\x3b\x18\x45\x2c\x3c\x1e\xc9\xe2\x3d\xd1\x0a\x87\x34\x96\xd6\x0c\xd1\xd8\x21\x3f\xad\x26\xd3\x70\x12\xb0\x7d\x54\x5c\xe7\x51\x61\x29\x27\xc9\xf9\xd0\x52\x14\xb9\x0e\x0d\xa9\xa3\xea\x47\x39\x6e\x12\xc9\x21\x17\xf4\xbf\x81\xf1\x23\xf1\x42\x8f\x29\x7a\x46\x2f\x51\xdc\x25\xcb\x13\x15\x4d\xe5\xac\x64\x6b\xe2\xc6\xcc\xf4\x04\x33\x67\x97\x9e\x8e\x70\xca\xd2\xc8\x7c\x3c\x0a\x2f\x18\x58\x2b\xf3\x09\x0d\x06\xe8\xd6\xb2\x47\x0a\x38\x5c\x80\x5a\x0b\xfa\xdf\x20\xad\x4a\x8f\x43\xf2\x6c\x64\x4f\x4b\xe5\x28\x4d\xce\x43\xbe\xf1\xb2\xea\xfc\x6c\x53\x02\x93\x15\x44\x68\xd0\xbd\x78\x8c\x18\x55\x73\xe4\x80\xe2\xc5\x57\x3e\x2a\xaf\xf0\xf8\x88\x2f\x33\x3c\x32\xc3\x0e\xc6\x63\x70\x86\x71\xf9\x5b\x54\xa2\x09\x54\x94\xbb\xcb\x73\x75\xdb\x11\x83\x12\x9b\xd0\x22\x1d\x5c\xdc\x53\x72\xb4\xf2\xe7\xe6\x3d\x46\xb4\x20\x76\x06\x53\x1b\xaa\xa9\x60\x4f\x3b\xb0\x17\x5d\x9f\x92\xb2\xe9\xb3\x58\xab\xb5\xf8\xfc\x65\x44\x9e\x3f\xcf\x1c\xc0\x86\x76\xd1\x78\x80\x93\x98\x9c\x7c\xd9\x82\xc2\xf8\xa0\xd3\xc5\xb3\x57\x67\x58\xfa\xce\x05\x55\x18\xf9\xbc\x6b\x98\xe9\x1e\x26\x2b\xe9\xa7\x9e\xee\x41\xb6\xc0\xf0\x28\x42\x01\x34\x90\x1d\x31\x1d\x65\xe5\x3d\x4b\x35\x43\x1a\x5e\x97\x54\x9d\x6a\xc1\x9b\x52\x4a\x3f\x5a\x6c\x32\xb8\x9a\x38\x02\xae\x5e\x34\xa4\xbf\xb1\xa9\x6f\x77\x88\xf1\xcd\x2e\x3b\xfc\xbe\x06\x3b\x2c\x95\x70\xfb\x1c\x13\x5d\x18\x4a\x4c\xfa\xbf\x70\xc9\x50\x06\xd6\xd3\x3d\x35\xe4\xe7\x28\x9e\xec\x2a\x30\x8d\xd4\x1d\x4a\xdc\x81\x61\xf3\x4c\x3a\x6a\xf0\x1d\x4b\x9a\x53\x18\xa4\x35\x97\x7e\xb7\x5f\xd6\x5c\xd2\x3d\x3e\xc0\xe5\x96\x67\xc9\xf9\xac\xad\x43\x82\xb0\x0c\x69\x8c\xaf\x25\x90\xcb\xa9\xe8\xaa\xf8\xb7\x2e\xf9\x8d\xec\xa4\xb1\x8f\x13\x6b\x95\xab\x84\xb7\x79\xc1\x0c\xb6\x77\x6f\x20\x9e\x71\x1a\xe7\xdd\x36\xa9\x6d\x97\x89\xe5\x38\x64\xa7\xa2\xa1\x99\x12\x97\xbc\x20\x3b\x69\xd8\xc7\xf6\x20\x31\x80\x4a\xc2\xb5\x6d\xdd\x36\x56\x16\x8f\x69\x60\x31\x09\xe9\xf7\x29\x3b\xe5\x79\xb0\xa2\xa0\xc4\x0f\x03\x7c\x70\xa3\x23\xeb\xce\x0d\x42\xd6\xaf\xa1\x1f\x8c\xe9\x9a\xe2\x98\xa4\xf4\x48\xd3\x6f\xf3\xcc\xa6\xe9\xcf\xc5\x35\x26\xcf\x74\x9a\xfe\x5c\x94\x37\xad\x31\xb3\x75\x54\x29\xbd\xbf\xc2\xfb\x70\x72\x49\x40\xd9\x11\xb3\x97\x37\x20\x53\x07\x49\xee\x70\x4c\xc3\xd7\x53\x18\xb8\xfe\x88\x86\xae\xb0\x69\xf2\x03\xaa\x10\x09\xf7\x04\x7f\x3e\x0e\x42\x9e\x00\x21\x97\x07\x99\xe1\xee\xaa\xe5\xb3\x5c\xc8\x10\xca\xea\xc6\x86\xc7\x41\xfd\xa0\x48\x84\x3e\xc3\xa9\xe7\x8b\x2d\x78\x0b\xcb\x77\x8e\xf6\x93\xf5\x63\x98\x83\xd4\xea\x4b\x97\x30\x41\x56\xeb\x16\xb7\x05\xf3\x6b\x9e\xda\xc7\x71\x5d\x24\xdc\xe9\x52\xdc\x80\xd6\xd3\xbb\x56\x44\xa6\xbe\x47\xa3\x88\x58\x5e\x48\x2d\x67\x4e\x34\xdf\x91\x70\xd8\x2f\xca\x97\xbf\x41\x10\x8e\x2b\xcf\x56\x60\xb2\xc2\xb4\xec\x5b\x43\x31\x5b\xd7\x60\x62\x2d\x91\x37\x79\x30\x14\x59\x06\xbc\xce\xda\xc4\x3f\xa5\x1b\xf9\x52\xca\x0a\x95\xb0\xcd\xa6\xad\xa0\x25\x25\xf7\x14\x10\xed\x05\x67\xd6\x2d\x3d\xe4\x17\xfa\x62\xc6\xbe\xb1\x67\x34\x47\xe4\x0f\x21\x51\x47\x72\x07\x93\x50\x2f\xed\xe6\x70\x52\x31\xfa\x8f\xdd\xfb\x62\xba\xa7\xe5\x94\x87\x48\x99\x54\x2b\x1b\x1b\x1b\x1b\x3a\x23\x32\x3b\xc5\xa2\x89\xd4\x1e\x83\x8a\xd9\xba\x4f\x9a\x48\x65\x3f\x30\x4d\x64\xba\x11\x13\xb0\x48\x0c\x80\x5d\xdc\xc6\x2b\xde\xb9\x63\xe5\x45\x23\x75\x79\x8c\xc4\xed\x31\xc2\xeb\x63\xc4\x2d\xbc\x89\xf9\xaf\x94\x84\x57\x26\x57\x9d\xff\xe1\x4b\x5b\x8d\x34\x7c\xe3\xa5\x6d\x41\x9d\x3a\x69\xf8\xa8\x4a\x3d\xfa\xb6\x97\x38\xc2\xe5\x8d\x3d\x47\x61\x49\x2a\x9e\x81\xa5\x54\xbf\xb8\xd5\xca\xd0\x2f\xd3\xfd\xad\xa6\x5e\xe0\xb4\xbb\xda\xe2\x76\xda\xf2\x12\x07\x94\xe5\xb9\xc9\x48\x26\x17\xc0\xe7\x70\x19\xa8\xcb\x0f\xb4\x06\xb8\x09\xc6\x58\x31\x7b\x73\x14\x16\x3c\x79\x5b\xac\xe1\x75\xb1\xa6\xdb\x42\xe1\x8f\x3a\xe1\xed\x26\x57\x49\x71\xb7\xc3\xaa\xc2\xd8\xc9\xaf\x47\x75\xd3\x5d\x8a\x97\xcc\x58\x31\x65\x9d\x85\x77\x2a\x5e\x5b\xb5\x58\xca\x8a\x79\xb7\x28\xa5\x0e\x37\x44\x6a\x55\x0c\x17\x24\x5e\x23\x6d\x51\x93\xd5\x52\x66\xb8\xdd\xfc\x15\xab\x2c\x56\x11\xc6\xae\x3f\x0c\xc9\x67\x87\xc8\xfc\xfe\xf8\xaf\x5e\x90\x0b\xd7\x15\xaf\xa0\x3c\x28\xad\xb2\x96\xda\xa6\x67\x4e\x69\x07\x11\x82\x69\x36\x85\x18\x6d\x21\x8b\xf9\x3f\x4c\x9e\xb1\xe5\x7b\x10\x7a\x04\x81\x85\x33\x22\x8a\xc9\xcf\xe4\x6f\xc3\xdf\x0d\x7e\xe0\x43\x1a\xbb\x27\xc1\xbb\x0a\xc5\x8f\xd5\x16\x24\x69\x85\xa2\xb8\x2f\xb1\x4b\x83\xce\x51\x19\xc1\xd3\x33\x74\x0e\x7d\xe4\x4c\xdd\xcb\xe1\xae\xcc\xb9\xab\x32\xd5\x97\xf6\x5d\x00\x3a\x03\x61\x90\x46\x14\xe9\xd3\xa2\xa7\xc6\x15\x89\x6f\xa1\xb0\xfe\xc8\x92\x02\xed\x12\x41\xd3\xa9\x82\xdc\x4c\x9a\x4e\x54\x99\x3b\x2f\x98\x8c\x37\x77\x46\x08\x0f\x39\xb0\xc2\x18\xbd\x76\xf1\xbd\xd2\x11\xf5\x90\x65\x16\x62\x6f\x4c\xa6\x88\x32\x9b\x79\xfc\x7b\xfa\xa4\x26\xdd\x5b\x38\xab\x9c\xb6\x9c\x54\xec\xb0\xec\x3a\x26\x92\x87\xac\xc9\x86\xde\x65\xab\xe3\xa8\x7a\x52\xa8\xe2\x80\xd8\x18\xb9\x6b\xae\x6f\x14\x2a\x7a\x1f\x83\x19\xcf\x51\x07\xf1\x14\xc1\xea\x62\xf5\x94\x64\xf1\xcc\xc9\x65\xa2\xe4\xda\x5a\x5d\xce\x80\x64\x46\xca\x52\x34\x57\x96\x39\x4e\x2e\x5b\x79\x75\x09\x04\xa4\x1b\x34\xe5\x2c\x12\x45\x34\xba\x4b\x69\x64\x85\x29\x84\x68\xb0\x3f\xfe\xb7\x89\x21\xe5\x96\x21\x1e\x81\xbc\xa8\xea\x4a\x12\x88\x44\x7e\x46\x08\x53\x81\xca\x9a\x1c\x52\x61\x2b\x7c\xa4\x14\xba\xfe\x30\x5f\x10\x29\xbf\xa6\x3c\x42\x0c\x19\xbd\x74\xed\x85\x47\x14\x64\x1e\x55\x4e\x72\x1f\x43\x58\x62\x77\x38\x0d\xa6\x11\x09\xa7\x3e\x9c\xfb\xe8\x85\xb0\x06\x4c\xd7\x7c\x11\x10\x13\x4a\x14\x43\xff\x87\x35\x09\xf2\xcb\xcb\x2c\x08\xec\x4a\x45\x75\x41\x77\xf4\x59\x6d\x84\xa1\x35\x07\xa7\x02\x8b\xfd\x46\xf0\x68\x86\xfb\x06\x46\x2c\xf1\x60\x03\xc9\x00\xec\x70\x1c\x96\x11\xf2\x48\x48\x2a\xb8\x77\x24\xb2\xe0\x8a\x98\x10\xf0\xcf\x5d\x38\x60\x65\x24\x82\x18\xbc\x47\x98\x47\x5b\x21\xa0\x39\x19\xfb\xa8\xd7\x11\xc4\x14\xc7\x0e\x37\x8e\xc4\x93\x47\x92\x8a\x12\x5c\xc3\x41\x37\x0a\xa7\x74\x01\x79\xd9\x39\xdf\x9b\x93\x46\xb7\xd9\x6e\x0b\xff\x0d\x24\x9c\x3c\x62\xe4\xd1\xce\x5f\x06\x30\x31\xef\x5d\x87\xb2\xce\x1a\xa3\xf6\x53\xee\xae\x9f\xbe\x24\x56\x40\xf0\x18\xac\x96\x89\x8a\x86\x87\xdf\x65\xfd\x00\x55\x37\x58\x17\x8a\x12\x97\xfc\x46\x92\x74\xc5\xbb\x9a\x21\x81\xec\xc1\x57\x76\xe0\xd0\xcb\xc0\xf5\xe3\x46\x5c\x74\xf9\xdd\x1e\x28\xf8\x76\x48\xb9\x93\x71\xd1\x06\xc8\xe3\xfb\xc1\x60\x30\x28\x91\x37\xa4\x46\x5e\x93\xfa\xae\xb4\x70\xd9\xe4\x37\x52\xab\x2b\x86\x5d\xde\xdb\x17\x7b\x09\x95\x4c\xa6\x3e\xbe\x98\x19\x53\x50\x77\xb1\x4b\xac\x91\xda\x0a\x54\x08\x31\xbe\x5e\x67\x72\xce\x41\x33\xf8\xfc\xab\x24\x0c\x09\xef\xf0\x7d\xfa\x9f\xda\xdd\x21\x7c\x8d\x29\x9c\xf1\x48\x62\x8c\x17\x4c\xd7\xc0\xa5\x65\xc3\xaf\x93\x5f\x93\xef\x7f\x28\xc9\x3c\x4c\xd1\x21\x44\xa6\xf2\x30\x75\x23\xdd\x09\xb7\x9c\x0c\x5c\xe9\x04\x0a\xf9\x6b\x8c\x9a\xc8\x36\xf7\x9a\x87\x89\x3c\x4b\x77\x89\x0b\x93\x4b\x5e\x64\xf9\xa9\x8b\x97\xe8\xa4\x9b\xe1\xbd\x34\xd3\xe8\x6c\x4d\x8f\x65\x25\x76\xe6\xb3\xf2\x47\x62\x12\xd2\xfd\xad\x97\xc4\x86\xde\xc5\xff\x3b\xc3\x41\xcb\x04\xfe\x1a\x88\x5f\xae\x7a\x87\x3b\xec\x26\xeb\xd0\xb0\xa0\x0a\x67\x01\xf7\x9f\xeb\x5e\xa5\x29\xf6\xc5\x33\x6b\xb2\x28\x9a\x14\xb3\x2c\x12\x1a\xd9\xd6\x84\x4a\xb0\x0b\x22\x03\xb7\xd1\x53\x4d\xc4\x47\x28\x1f\x13\xb6\x0b\xc2\x6b\x5b\xa0\x21\x82\xf0\xcb\xa5\x6d\x4d\x00\x8a\x0a\x80\x50\xc2\x41\xc0\xbe\x1d\xca\xec\xca\xbf\x22\xee\x2b\x92\x70\x03\x3f\x2a\x93\x89\xe5\x62\x9c\x5f\x72\x60\x94\x09\x8d\xed\x94\x13\x44\xd2\x3e\xff\x13\x93\xf5\x01\x98\x8b\x08\xe8\xf4\x38\xcc\xe5\x3d\xeb\x54\x99\xc4\x23\x78\xf8\x74\x41\xef\xc2\xa7\x9e\x08\x50\xd8\x93\x94\x93\x21\x25\x34\x0a\x62\x1a\xba\x76\x9a\x15\x51\x02\x90\x89\xa8\x41\xf2\x0b\x50\x1b\x85\xbb\x1a\x2a\x8e\x28\x8e\x4e\x60\xaf\xf3\xd2\x5d\x49\x65\xec\x2c\x81\xfa\x4b\x58\x28\xd1\x03\x45\xb4\xa8\x08\x4d\x4d\xcd\x8a\x38\x6e\xae\x7b\xf9\x80\x80\x30\xed\x44\x84\xb7\x70\x00\xb9\xf4\x64\x19\x91\x9a\xee\xdc\x30\x9e\x82\x2f\xa3\xf2\xb6\xf5\xeb\x7a\x3a\xc8\x3f\x8d\x31\x28\x8b\x27\xf9\x62\xa0\x7c\x82\x5f\x81\x69\xbe\x95\x54\x10\xf2\x01\x58\x4d\xec\xcc\xab\x19\x93\x3a\x0b\x77\x88\x4b\x2b\x84\xc5\x63\xc5\x94\x40\x5a\x29\x80\x02\x4c\x5e\x10\xad\x28\xc6\x94\xc7\x3a\x22\xa0\xc8\x2d\x0f\x5f\x31\xad\x8e\x0a\xa0\x76\x0e\x73\x35\xb1\xa2\x48\xa4\x3d\x99\x07\xd3\x10\x4b\x92\x30\x98\xc6\x10\xe7\x1c\x5a\xa0\xfc\x40\x58\x5c\x48\x01\x3c\x0f\x29\x40\x97\x13\xb2\x5f\xa5\xe7\x4d\x02\xa9\xa8\x7c\xa9\xc6\xb5\x5c\xf7\x2a\x97\xf2\xab\x62\x52\xf4\xca\xbf\xf5\x83\x99\xff\x55\x62\xd3\x37\xfc\x39\xf9\xc5\xc3\x46\xc9\x38\x70\x20\xf2\x29\xfa\x45\x2e\xe6\x94\xf8\x96\x65\x90\x77\xe1\x0d\xdb\x3d\x48\x01\x83\xa4\x47\x7c\xcc\x68\x9a\x95\x74\x88\xc0\x04\xe2\x11\x34\xd8\x89\x66\xb7\xfd\x55\x8e\x80\xb7\x7d\xc6\xab\x7c\xe5\xae\x7a\x4a\xef\xe2\xd0\x72\x3d\xbd\x7b\x15\x42\xba\xd6\x98\xaa\x89\x02\x28\x93\x3b\x62\x91\xf4\x58\xca\x48\x89\xde\xdb\x74\x12\x0b\xef\xa6\x90\xf2\x4d\x14\x73\x0a\xc2\x4d\x64\x3a\x86\xf5\x6a\x85\x43\x58\x81\x49\x74\xac\x68\xdf\xdc\xc5\xf7\x23\x8a\xe6\xe8\x10\x9e\x85\x11\x17\x6c\x22\x42\x67\x38\xfb\x6c\xf0\xb8\x65\x3c\x15\x91\x85\x19\x6c\x17\xee\xdc\xe2\x79\xc1\x0c\xb3\x2f\x81\x12\x83\x68\x72\x6a\x7a\xa9\x04\x77\x33\x05\xc2\x88\xa9\xa4\x67\x2e\x64\x6c\x93\x90\x8c\x72\x1e\x31\xdf\x88\xe5\x93\x8b\x6e\x53\x45\x21\xe2\xcb\x29\xb2\x7b\xee\x98\x9e\xba\x63\x17\xa2\xbb\xea\xd5\x6a\xb5\x2a\x1a\xe3\x47\x03\xba\x0a\xbb\xa8\x3e\x23\xa8\x88\x03\xdf\x48\xaf\x06\x1e\xd1\x12\x0f\xc4\x69\x22\x84\x32\x75\xc8\x70\xdf\x24\xb9\x99\x08\x1e\x02\x8c\x9d\x98\x27\xb2\xb3\xd6\x77\x63\x89\xae\xa6\x5d\x61\x08\xe1\x35\x1b\x7e\x5e\x31\x84\x53\x57\x76\x3b\xb0\x09\x8f\x08\x2b\x1c\x51\x7e\x8d\xc7\x94\xd8\xbf\x8a\x2c\x0c\xb3\x20\xbc\x65\xe7\xcf\x4b\x20\x29\xa6\x28\xc2\x9c\x2b\x74\x0e\x00\xd9\xf8\x74\x30\x0b\x10\xa5\x85\x7e\x9f\xba\x77\x96\x27\x53\x3c\xfe\x4a\xce\x82\x28\x86\x4c\xdd\x11\x89\x62\xd7\xf3\xf0\x0a\x20\xf6\x88\x78\x16\xac\x41\x45\x1e\xec\xaa\x0d\xe6\xbd\x8c\xc3\x4d\x8d\x09\xa4\xa7\x3f\x97\x11\x94\x44\x86\xe3\xaa\x20\xc1\x90\x32\x04\x29\xb9\x51\x34\xe5\xb0\xb5\xe4\x17\xcb\xb6\x5d\x87\xfa\xb1\xe5\xfd\x42\xa6\x00\xfe\xc9\x13\xcf\xf0\x2b\x8b\x70\xbc\xef\x4b\xdf\x0f\x04\xdd\x12\xdb\xbc\x24\xc0\xaa\x23\xce\xa4\xeb\xdf\x05\xde\x1d\x44\xac\xc7\x05\x30\x99\xb8\xbe\x15\xce\x05\x38\x99\xba\xb1\xe3\xc3\xf6\xce\xbe\x1b\x8b\x13\x4f\x13\x65\x93\x08\xb0\x35\x00\xdc\x62\xa2\xba\x55\x4f\xd4\x08\x15\xdd\x19\xcc\x21\x10\x4f\x40\x6c\x99\x0f\xc8\xd4\xb4\xcc\x16\x84\xb0\x30\x6a\x76\x7e\xd1\x78\x47\x59\xb1\x6c\xea\x0a\xe0\xe5\x27\x80\x6a\xec\x04\xd1\x51\x4b\x3e\xc1\xa4\x7e\x1a\x91\x69\xc4\xb3\xa1\x23\x8c\xc4\x41\xab\x49\x2e\x43\x80\x62\x44\xd8\xff\x5a\xdd\xd8\xad\x03\x6a\xd7\xea\x66\x5e\xa0\xcd\x64\x02\xe0\x67\x44\x20\x8e\x09\x43\x01\x5b\xd0\x10\xb7\xc0\xb1\xa5\x94\x8c\x2e\xac\xeb\xa9\xb6\xe4\x72\x68\x09\x32\x7b\xa4\x30\x8d\x07\x6b\x3b\x05\xbd\xcd\x33\xeb\x5e\x28\xed\xb8\x4d\x4c\xfd\x44\x18\xc8\x41\xb3\x5b\x66\xb3\x51\x26\x97\x67\x6c\xa7\x6b\x5c\x26\x7b\x88\x40\x7d\x9d\x51\x78\xda\x40\x72\xd3\x09\x18\x23\x94\xb0\x72\x1b\xdf\x20\xa4\xb0\x23\xf8\x01\x5b\x51\x6c\x6b\xe2\x11\x16\xfc\x36\xcb\x8f\x76\xa6\x54\x16\xbb\xbd\x32\x29\x7c\xbe\x7f\x65\x17\xca\xa4\xd5\x6d\x92\xc2\xe7\xcf\x85\x12\x3c\x67\x32\x2a\xc5\xfd\xd6\x29\x7c\x5f\x7d\x59\x28\xa9\xb7\xf7\x11\xe5\x89\x72\xc8\x2f\xdc\xca\x20\xfa\xfb\x0b\x19\x07\xbe\x2b\xd2\x2b\x26\xac\x1a\x5b\xf7\xd8\xbc\x50\xb2\xc8\x1e\xa9\x55\xeb\x9b\x3a\x9f\x64\x74\x39\x1d\x43\xbe\x42\xc8\xa3\xc2\x91\xab\x67\x08\x1f\x07\x9c\xe3\xa6\x0c\x7d\x4b\x0a\x42\x7e\x20\x20\xad\x44\xae\xd9\x32\x94\xc9\x08\x43\x6a\x07\x43\xdf\x7d\x00\x57\x4b\x7a\x3f\xf1\x5c\xdb\x8d\xd9\xa2\x03\x66\xa6\x7a\xcd\x7a\x70\xe5\x2b\x98\xa8\x46\x01\x07\xcb\x0e\x8f\x1f\x12\xf1\xef\x4a\xbf\xc6\xd6\x24\x02\xf0\x0d\xb8\x81\x1c\x55\x2b\x95\xca\xd1\x06\xa4\xa5\x9a\x95\xf2\x04\xea\x8c\xd5\x49\xa9\x1c\xea\x2d\x21\x4a\x6f\xf2\x3d\x25\x5e\x50\x34\xa1\x77\xa1\x22\xb7\x41\x25\xa1\x0f\x9b\xc2\xab\xee\x3a\xda\x50\xc6\xd6\x04\x53\xe2\x20\x82\xb6\x15\x89\x0c\x5c\xee\xd0\xe7\xdb\x1d\x68\x20\x7c\x39\x8a\x0d\x1c\xa1\x64\xdc\x38\xc1\x03\x1f\x59\x72\xd7\x94\xbb\xa3\x37\x27\xd1\xcc\x85\x50\x18\x6c\x76\x18\x5a\x93\x91\x6b\x47\x48\x4d\xeb\x2b\x29\x36\xe3\xd0\x5b\x3b\x2f\x55\x08\x28\x29\x3c\xb1\x16\x9f\x49\xcb\x47\x70\x63\xb1\xeb\x0b\x42\xac\x26\x12\x83\x38\x2d\xb1\x9b\x62\x8a\x49\x00\x41\xf5\xe7\x33\x6b\xae\xa4\x79\x0a\x29\xb8\x9b\x91\xe1\xd4\x0a\x2d\x3f\xa6\x94\xcc\x20\xc4\x1e\x74\x54\xcb\x9f\x23\x35\x71\xf1\x60\x53\x62\xe1\xe3\x80\x05\xc4\x00\x3c\xdf\xb5\xa7\x9e\x15\x0a\xb8\x6c\x75\x32\x8f\xaa\x42\x2f\x3e\xaa\xc9\xdf\xea\xf2\xb7\x0d\xb2\xc7\x2f\x83\xd9\xa9\xaf\x0c\x69\x7c\x66\x4d\x8a\x85\xfd\x82\x61\x9e\xf1\x00\x15\x31\x77\x9a\x96\xa6\xef\x01\x78\x8a\x59\xac\xeb\x13\xb6\x48\x39\x1c\x58\x1f\x94\x33\x81\x61\x29\xee\x19\x10\x45\xc5\x9f\x82\x8e\x4e\x19\x31\x3e\x33\x68\x73\x43\x6f\xba\x57\x9b\x70\x32\x73\xcf\xbf\xea\x7d\xbd\x06\x69\xa1\xee\x5f\xa6\x77\x9f\x44\x18\x81\x14\xeb\x47\x61\xbf\x50\x26\x57\x5d\x34\xd8\xa5\x79\x75\xca\xb6\xce\xa3\x6a\x21\x3b\xda\x9d\xbf\x7e\xb4\x9d\x15\x47\x6b\xf1\xd1\x0e\x32\x53\xdd\xc9\xed\xbe\x70\x58\x95\x27\x4d\x3a\x67\x9d\xae\xa2\x80\x3e\xc3\x81\xf2\x49\xab\x79\xd6\x58\xdb\xd8\x82\xf5\x05\x2a\x21\x24\xa8\x1b\x06\x62\x43\xe7\x0f\xc6\x84\x49\xb2\xa2\x52\xc8\xa6\x38\x62\x13\xe4\xbb\x65\x4a\x48\x90\xde\x6e\xa0\x58\x17\xce\xf9\xab\x78\xb0\xf3\x35\x13\xbe\xac\x96\x38\x05\x32\x19\x65\xb9\xa9\xe0\x40\x85\x74\x08\xab\x81\xde\x43\xc6\x6e\x80\x2a\x51\x23\xe0\xe0\x7a\xc4\x14\x47\x54\xd3\xd4\x3d\x3c\xaa\x3c\x4b\x12\x9d\x09\x28\x14\xd7\x27\xda\xc5\x8a\x51\xfb\x3e\x75\xed\x5b\xc6\x24\xc8\x86\x26\x4c\xea\x49\xdc\xde\x7d\x8c\x84\x32\x07\x84\x54\xa1\x6d\xbb\x76\xc9\x34\x90\xd0\xff\x9a\x86\x75\x99\x82\x53\xb2\x38\xce\xf1\xea\x57\x94\xd7\xb9\xae\x75\x07\x18\x7f\x6c\x7b\x10\xfd\x3b\x68\x35\xbb\x4d\xec\xbb\x3e\x00\x8b\x67\x86\x8e\x03\x82\x20\xbb\x16\x22\x2e\x5c\xf7\x90\x42\x99\x6d\x49\x6e\x44\x7e\xf5\x83\x18\x95\x1b\x0e\xd3\xa7\xeb\xfb\x11\x6b\xd3\x7c\x07\xc5\xb4\x4b\xc9\x25\x54\x77\x92\x38\x0f\x32\x59\x6e\x13\x1b\x84\xe2\x26\x6c\xbc\xb4\xa3\x6d\x51\x90\x62\x63\x6c\xf5\xb8\xc2\x55\xad\x56\x85\x71\x84\xdf\xfe\x93\xc4\xcc\xeb\xd3\x09\x6f\x0e\x04\x79\xb5\x36\x9b\xa7\xed\xe6\x09\x53\x07\x72\x1b\xac\x2f\x6c\x10\x70\xae\x83\x3b\xb4\x7e\x23\xf0\xa9\x45\x78\xbe\x7f\x40\x6f\x98\xf9\x2b\x0e\xbe\xd3\x38\x22\xe0\xeb\x20\xe1\xfe\xe4\x2d\x9f\x28\x70\x62\x9a\x95\x4b\x38\x74\x84\x96\x7d\x1b\xe9\xa0\x12\x6a\x8a\x4a\x61\xd9\x68\xc7\x10\x04\x33\x70\xa9\xe7\x44\x42\x6a\xd5\x40\xe4\xfe\x74\x30\x60\x2a\x96\xc0\x94\x17\x96\x48\xf1\x39\x1b\xad\x24\x28\x0d\x49\x69\x73\x95\xf8\xfc\x87\xf4\x77\x9c\xfa\xb6\xb6\x2f\x43\xfd\x50\x23\x60\x0c\x99\xed\x4f\x07\x49\xa8\x6c\xf2\x7e\x85\x9e\xea\xda\x78\xb1\x87\x29\x56\x2b\x1c\x54\xd1\x4f\x92\x4e\xb1\xbf\xcb\xa2\x25\x43\x18\x82\x70\x54\xdf\x23\xa9\x4f\x12\xe4\x87\xe9\x80\x07\x96\xb1\xdf\xfe\xf8\x43\x5f\xd1\x93\x20\x12\x86\x72\xf4\x81\x64\x8c\xc8\x27\x66\x85\x43\x11\x8d\x6a\x04\x6a\x48\xb1\xad\xac\xcd\x8b\x98\xb3\x5c\x1e\x2c\x42\xed\xc8\xb2\x00\x8a\x40\xe5\x43\xe9\xbd\xaf\x03\x50\xed\x4f\x07\x45\x65\xe0\x85\x42\xea\xfb\x86\x30\xb7\x64\xb2\x07\xe7\x8c\xc7\xb4\x6c\xf3\xbb\xaf\xf5\x2d\x0f\x81\x04\xf9\x6d\x9a\xd3\x9c\x2e\x21\x47\x35\x86\xca\x6e\x99\xa4\x54\x93\x50\xb6\x41\x22\xbc\x1b\xe0\x4f\x4d\x07\x65\x31\xd5\xa0\x33\x32\xd1\x58\x79\x78\xfb\x20\x58\x0b\x26\x08\x25\x4f\xba\x24\xf2\x89\x50\xbd\x12\xc9\x1b\xf9\xf1\xeb\x1c\xb9\x34\xf2\x40\xda\xc9\x88\xe7\x46\xf1\xc2\xe1\x33\xfa\x56\x38\xfc\xfa\x40\xc3\x20\xe1\x83\x48\x34\x9a\xf0\x82\x49\xf6\xa7\xea\x97\x95\x47\x2f\x65\x27\xcd\x03\xd1\x98\xc2\x08\x46\xbb\xa2\xbf\x4a\xa9\xbe\x9a\x6a\x0f\x9f\xb3\x2b\xb2\xef\xd0\x81\xeb\x53\xa7\xa0\x24\xb8\xe4\xfd\xe3\x4b\x59\x94\xd7\xf8\x73\x44\x01\x29\x52\x30\x07\x4c\x92\x3e\xe1\xde\x10\x79\x89\xe3\xac\x70\xe8\x4f\xc7\x68\xd3\x13\x15\x39\x72\x21\x98\x13\xe3\xd0\xa5\x77\x74\x15\xb6\xb8\x56\xa8\xbd\x05\x23\x65\x29\x60\xd7\x8c\xd5\xc9\xe3\x30\x7a\xf3\x24\x43\xc3\xd2\x5f\x04\x6f\xe4\x43\x32\x7f\x4a\x86\xcd\x00\x56\x63\xdb\x07\x04\xde\x32\xa9\x55\x4b\x32\xc2\xa2\xa1\x0c\x3b\x18\x10\x60\xa5\x1b\x91\x98\x83\x5a\xf1\xad\x58\x6c\xee\x30\xeb\x15\xf9\xe2\x0b\xc4\xf7\x48\xb5\x94\x44\xe1\x24\x5b\x20\x74\x5b\xcd\xae\xc9\xfe\x23\x02\xa2\xf9\x27\x7a\x51\x65\x46\x1a\xce\x9d\x25\x4c\x01\x78\x22\xa9\x7b\xa0\xd1\xdf\x05\xae\xf0\x98\x76\x03\x67\x21\x18\x70\x2d\x9b\xdd\x17\x91\xde\x2a\xb3\xc1\x8b\xaa\x13\x02\xa4\x15\xb1\x64\x6b\xec\xc5\x1e\xb6\x98\x5a\x68\x3c\xa6\x93\x92\x90\x8e\x2d\x17\x20\xe0\x20\x37\x15\x22\x88\x2b\xdb\x50\x36\x39\x95\x1c\x2b\xa3\x94\x19\xae\xf0\xe6\x50\xf3\x8b\x2c\x69\x63\x95\xd1\x4e\x28\xbd\xed\x08\x32\xa9\x8d\x49\x77\xea\xe4\x1b\x93\x78\xcc\x15\x8c\x48\x1f\x00\x92\x01\x90\xd2\x07\xbd\x40\x54\xfb\xae\xff\x67\x33\x01\xda\xc9\x69\x60\x55\x0e\x34\x47\x56\xf8\xe8\x91\x97\x21\xb5\xee\xd3\x07\xcf\x0e\x22\x2b\x2d\xe7\xea\xb0\xc1\x12\xce\x44\xf8\x2f\x1d\x3f\x53\x40\xa7\x63\xfa\x24\x16\xbc\x78\x91\xcb\x04\xc5\xd5\x98\x8f\xd7\x8d\x08\x1d\x4f\xe2\xb9\x78\x7b\x52\x54\xd1\x88\x4c\x44\x6e\xcf\x54\xe6\x8b\xdc\x3d\x33\x6a\xf2\x24\x2d\x4b\x3b\x2d\xc0\x7e\x98\x26\x23\x07\xc2\x0f\x95\xdf\xf6\xe4\x8a\x56\x83\x5f\xf5\x4b\x90\xda\xc2\x9d\xba\x0f\xdc\xc1\xab\xcb\x5d\xbc\xab\x5e\xaa\x8a\xa5\x7c\x4a\x6a\x14\xa5\x75\x97\x8b\xa2\x85\xf6\xea\x3d\xd9\x88\x7c\x67\x85\x5a\x48\x4f\x4d\xd6\x1c\xa7\x61\x81\xb3\x15\x87\x34\x4e\xa1\xe6\x95\x10\x70\x4f\xa5\x03\xd6\x12\x59\xf7\xe8\x74\x57\xb3\x43\x24\x5f\x28\x98\xb1\x89\x31\x0a\xbe\x49\xf4\xe1\xc4\x36\x05\x5f\xd4\x92\x2f\xea\xda\x17\xf5\xe4\x8b\x0d\xed\x8b\x8d\x95\xd8\x28\xd2\xf9\x98\x39\xa9\xb1\x80\x17\xe5\xec\x53\x38\xad\x70\x40\x67\x76\x86\x67\x06\x6e\x0b\x2e\xa6\x88\x24\xac\x54\xd8\x88\xcc\x93\x5f\x74\x52\x55\x12\xbb\x5e\x55\xaf\x92\x98\xf9\x6a\xfa\x17\x89\xd5\xaf\xae\x7f\xb1\x91\x98\x03\x53\x6c\x5c\x0d\xdf\x2f\xe9\xcb\x02\xfb\x61\x66\xa6\xcd\x65\xab\x6a\xd9\xfa\x23\xe8\x6e\xac\x50\xd6\x60\xe8\x33\xda\xce\x9e\x60\xf3\x78\xbc\x43\x82\xb2\x0d\xbe\x85\x27\xf4\xe4\xc1\x38\x6d\x32\x01\x5f\x52\x8e\xc1\xf0\x0b\xfa\x48\xf4\xd8\x55\xdf\xf5\x87\xbf\x90\x88\xda\xe2\x34\xff\x04\xfe\x2b\x69\xed\xda\x94\x11\x04\x3d\x2a\xd4\xf9\xa4\x29\xc0\x26\x6d\x20\x8b\x46\xa2\x86\x19\xc9\xb7\x6b\x3a\x9e\x04\xa1\x15\xce\xc1\xea\x64\x0d\x51\xf9\x0f\xa6\x21\xbc\x9c\x07\x7e\x04\x7a\x21\xaa\x9c\xf8\xb7\xa8\x29\x5e\xe0\x31\x93\x8e\x30\x42\xb1\x92\xe3\xc0\x51\xd5\x7a\x5a\x89\x46\xee\x20\x3e\xa1\x73\xec\x00\xfb\xfa\x8f\x3d\xb2\x99\x7c\x3f\xa6\xb1\x75\x42\xe7\x6c\x27\xd7\x53\x57\xc8\x1c\x59\x15\xcb\x8b\xdb\xd1\x19\x8d\x2d\xf2\xb7\xbf\x11\xca\xfe\x64\xf4\x34\x82\x3b\x09\x41\x3b\x0e\xbd\x74\x7b\xb5\x6d\x39\xe6\x8b\x83\x8b\x62\x38\x74\x7d\xc7\x2a\xbd\x26\xef\xa9\x96\x67\x4f\x18\x53\x85\x31\x09\xcc\xa9\xeb\x41\xc8\x7e\xdf\x66\x3a\x27\xbd\x8f\x29\x1a\x55\x84\xe1\x10\x72\x13\xb1\x03\x05\xb0\xd7\xc0\x4a\x1c\x4c\x87\xa3\x32\x77\x68\x98\x60\x06\x55\x0b\xa3\x0e\xbf\x4d\xa3\x98\x58\xc4\x73\xe3\xd8\xa3\x65\xd2\x26\x33\x2b\xf2\x0b\xdc\x08\x29\x32\xfc\x0d\x69\x4c\xee\x5c\x78\x72\x1a\x5b\xb6\x7c\xbe\xe0\x8e\xb9\xa8\x0d\x46\xf8\xa4\x19\x09\xae\xdf\x93\x3d\xfe\x64\x57\x19\x84\xc1\x98\x1d\xfc\xcd\xc0\xa1\x45\x0e\x23\xec\x59\xe3\x49\x91\x4a\xce\xa2\x5b\x03\x79\x41\x36\xea\x65\xf8\x57\xdf\xda\x2a\x49\x04\xae\xf9\xa3\x68\x75\x82\x59\x96\xd0\x33\x22\x1e\x70\x58\xc9\xf9\x24\x41\x35\xb2\x22\x4a\x0a\x90\xd8\xbb\xf0\x9a\xdf\x30\x40\x9c\x38\x78\x3e\xf5\x52\x37\x15\x6e\x9b\xab\x31\x76\xd4\xc9\xc4\x9b\xc2\x35\xce\x72\x1c\x97\x5f\x5e\xb7\x37\x05\x5e\x40\x1f\x22\x45\x8b\xb4\xe2\x50\x2f\xb6\x3e\x92\x5f\xc9\x5a\xad\x44\x7e\x27\x55\x76\xb3\xae\x92\xd7\xa4\x56\x22\x2f\xc8\xab\x6d\xe9\x35\xc9\x04\x63\x1c\x38\xbb\xf2\xa6\x83\x32\xce\xb6\x98\xcf\xf7\xb5\xfe\xa7\xb3\x02\x79\x61\xe4\x44\x9f\x11\xba\x27\x2f\xc8\x7c\xf7\x59\x32\x88\x13\x91\x86\x34\x81\x89\x08\x83\x31\x4f\x68\x8e\xd0\xd4\xf0\x43\x21\x3b\x12\xf5\x63\x05\x1f\x86\xf7\x28\xa4\xd6\x2d\x27\x89\x9c\x82\xe5\xed\x04\x33\x5f\xe5\xd6\x3e\xf0\x04\x1f\x98\x64\x96\x2c\xc9\x2a\x7e\x53\x02\x56\x6d\xd4\x45\xa3\xe0\x73\x4c\xf6\xc8\x99\x15\x8f\x2a\x63\xd7\x2f\xd2\x0a\x96\x2f\x93\x7a\x09\x26\x50\x1d\x4a\xc3\x77\xc8\xd8\xbd\x17\x8a\xe7\x58\x59\xed\x51\x25\xc3\xbe\x9f\xe2\xdf\xc2\x91\x4f\x27\x59\x29\x99\x4e\xc0\x2a\xea\x07\x02\x39\x89\xef\xaa\x08\x38\xc8\x99\x30\xb3\x22\x12\x52\x8f\x5a\x11\x77\xa0\x30\xf6\xef\xf3\x7d\x7d\xa3\xb0\x62\x57\xc6\xc1\x1d\x95\x9d\x79\xc4\xf6\xdb\x69\x1c\xe1\xae\x85\x3d\x8b\x54\x7f\xe5\xf5\x75\xd2\x8d\x2d\xdf\xb1\x42\x47\x74\xbc\xef\x72\x84\x0a\x4a\x3e\xb0\x53\x80\xc0\xb1\x60\x07\xdc\x7b\x25\x84\xa6\x78\x42\x68\x37\x8c\x62\x95\x16\x27\x01\xcf\x29\x1c\xd9\xd1\x1d\xa0\xff\xdc\xdf\xd0\x11\x16\x44\x06\xbe\xa7\x4e\x99\x7f\xe4\x46\xfc\x3d\xdb\x51\x3c\x91\x79\x12\x03\x37\xd6\x1e\x99\x94\x76\x49\x3c\x0a\x29\xe5\x4d\xb2\x1e\xb7\x07\xc4\x67\x77\x1b\xdc\x9f\xc6\xac\x25\x95\x9a\x6c\x34\x1e\x51\x9f\x0f\x6d\xe0\x59\x43\x78\x03\x06\x77\x31\x3e\x5d\x15\x42\xde\x43\xee\x54\x27\x90\x71\xc1\x15\x49\x89\x89\xb0\x22\xaa\xe8\x2c\x18\xba\x41\xe8\xc6\x73\x78\xda\x92\x78\x1e\xd0\xc4\x6b\x18\x7d\x99\x8c\x5d\xc7\x61\x1b\x6e\xc8\x53\x72\x91\x64\x1a\xe5\xc4\x90\xbf\x91\xea\x7d\x4d\x9d\x1e\xa0\xce\x27\x17\xb8\x88\x25\x2b\x4a\x81\x3e\x79\x21\x3d\xab\x89\xee\x05\xaf\x13\xde\xcc\x23\x8c\x5d\xcb\x23\x5d\x5b\x81\x74\x3d\x8f\x34\xce\x6f\x0e\xe5\x7a\x86\x72\x86\x08\xcc\x07\x19\xb9\x43\x76\xee\x88\x99\x4e\xd3\xd9\x50\xe8\x68\xd3\xd2\x70\x1c\xb2\x51\x67\xa7\x97\x40\x38\xe3\x0a\xd3\x38\xe0\xf7\x7f\x8d\x4c\x6a\x52\x57\xd9\x81\x0c\x7b\xd0\xcf\xed\x42\x72\x00\xd9\x3d\xc0\xf6\x5c\xfb\x96\xaf\x7f\xfc\xc4\xe9\x7b\xea\x87\x7a\x25\x6e\x04\x13\x5f\x89\x44\x80\x34\x0c\x83\xb0\x58\xe0\x4f\x94\xaa\x02\x89\x59\x00\xf1\xb0\x2c\x13\x9a\x3e\x12\x14\xff\x7c\x31\x40\xc5\x1c\x2a\x35\x26\x37\x50\x12\x48\x26\x25\xf5\x6c\x13\xc2\xd7\x38\x79\x10\x0d\x06\x9a\x73\x36\x7f\xf7\x16\xa6\x9b\x90\x46\x60\x12\xe7\x09\x61\x13\x9f\xe2\x67\x6a\x16\x7f\x1d\x55\xbe\xa7\xda\x83\x30\x9f\x23\x7a\x28\x9a\xf2\x39\x72\xff\xa9\x24\xa5\x63\x2a\x9f\xa3\x51\x49\x96\x2e\xd3\xaa\x76\xac\x9b\xdc\x15\x97\xdc\xe4\x09\x84\x3f\x2e\xd8\x20\x01\xd3\x01\xd7\x56\x78\x0e\xc4\xe7\x99\x7a\x89\x4d\xa2\x58\x52\x6d\xb0\xea\x53\x85\x5a\x9e\x7d\x9e\x44\xda\xa0\xe1\x3e\x53\x08\x2c\x13\xa2\x0c\x3e\x0c\x64\xca\xf4\xa7\x03\x2e\x4b\xc6\x36\x2a\xb6\xe5\x79\x30\x98\x72\xa6\x40\x89\x57\x94\xa7\x54\xba\x32\x3b\xaa\xe0\xbf\x02\xd8\x26\xd5\x39\xf6\x3d\xfb\x8f\x12\x84\x6f\xea\x1f\x2b\x26\x39\x4e\x92\xd4\x72\x97\xf8\x4e\xe4\xb8\x0e\x22\xe1\x7b\xc2\xb3\x17\x2e\x0a\xcf\x0b\x2a\x52\x8d\x22\x98\xe8\x92\x9a\x48\xe5\x9f\x24\x28\xdc\x33\xd6\x14\x97\x25\x19\x64\x70\xce\x93\xde\x79\x06\x1c\x5c\xaa\xe6\x37\xd3\x81\x25\xe3\x50\x5b\x6c\x40\x4f\xc9\x80\x27\x86\x16\xa1\x8f\x86\x7a\x6b\x64\x17\x90\xd7\x64\x14\xc7\x93\xe8\xf5\xfa\x3a\xf5\x2b\x33\xf7\xd6\x9d\x50\xc7\xb5\x2a\x41\x38\x5c\x67\x7f\xad\x23\x95\xbc\x91\x26\x79\xd7\x8c\xa3\x55\x42\x2d\xf5\x0c\x6d\xfa\xfe\x20\xa7\x01\x1d\x8b\xd5\x18\x48\x6c\x7e\x09\xa7\x97\xb5\x9f\xf1\x4c\x16\xab\x31\xd3\x93\x2e\x15\xe6\xc3\x5c\x77\x18\xe3\x2b\x97\x2c\x9f\xce\xd7\x2d\xbf\x80\x74\xbc\x71\xee\x40\x22\x1a\x2b\x5e\x9a\xc9\xdd\x9b\x7f\x86\xc3\x91\x17\x1c\xed\xd3\xdc\xad\x7f\x66\x85\x7e\xb1\xd0\xf6\x21\xd7\x89\xf2\xd4\xf6\x8b\x18\x8d\x94\xea\x5f\xf8\x59\x20\xe8\xee\x26\x1a\xf0\xa1\xe5\x79\x24\x49\xc1\x26\xcf\x22\x37\x0a\xd6\xea\xd5\x7a\x5d\x9e\x45\xcb\x5d\x76\x8c\xa5\x32\x6e\x3b\xa9\x43\x48\xb4\x07\x2b\x63\x0d\x7d\x85\x96\xb7\xa9\xc6\xc8\x2d\x68\x52\x2d\x66\x6e\xf1\x4f\x6b\xca\x3c\xba\x24\x4b\x6d\x9e\x6b\x8f\x66\x13\x1f\x84\x34\x1a\x61\xe8\x0e\xfa\x3b\x30\x15\x47\xa6\x1e\x4f\x1c\xab\x30\x70\x20\x57\xd8\x4c\x6d\x65\x2d\x78\x88\x79\x87\x91\x05\xe8\xf4\xbf\x03\x16\x80\x32\x77\x55\x8d\xa6\xa0\xf2\xa1\x03\x5c\x3a\xd2\x89\xed\x37\x33\x50\xaa\x7d\x7a\x07\x3e\x99\xeb\xeb\x24\x02\x4b\x55\x10\x51\xb2\xb6\x86\xae\x9c\xf1\x08\xbc\x73\x47\x02\x66\x96\x35\xf2\x5c\x80\x6f\xdb\x35\xb2\x47\x2e\xf0\x90\x67\x4a\x58\x31\x31\xb3\x35\x6b\xe2\xb1\xb0\x32\x70\xd9\x66\x5f\x2c\xd2\x12\xd9\xfb\x9d\x83\x5d\x65\xe7\xe9\x8f\x3f\x08\x85\x3d\x97\xe9\x61\x8d\xb8\x58\x22\xbf\x91\xea\xfd\x8e\x7c\x73\xac\x8c\xad\x89\xa0\x51\xf8\xfc\xf9\x9e\x2d\x07\xb4\x3e\x3c\x4c\x2c\xa7\xa8\xd7\xad\xc4\x01\xd7\x77\x6a\xdb\x25\x76\x9b\x95\x54\x10\xfa\x57\xb1\x3e\xa6\x9c\xb9\xe8\x8c\x74\xe8\xb0\x75\x3f\x29\xfe\xd7\xa7\xff\xfc\xa7\x6d\xd7\x7e\x7c\xf9\xaf\x54\xaa\x8a\xb4\x13\x4c\xc6\x89\x06\xfc\x7a\x40\xc5\x01\x1f\xb3\x38\x09\xdc\x16\x5e\x66\x78\x5d\xaa\x65\xbd\xd8\xf0\x6d\xa7\xd8\xac\xae\x37\x6b\xa9\xf0\x71\x30\x1c\x7c\x6a\xf6\x3a\xa7\x5f\xa4\x5f\x6b\x92\x41\xc0\x0e\x20\xe6\x8e\x7b\x7b\x0b\x97\x6e\xa1\x68\xc1\x6b\x53\xe8\x82\x07\x72\x2a\xc3\x28\xbf\x7d\x09\x08\x26\xbd\x23\x52\x4f\x73\xa3\x09\xdc\xa1\xd2\x6f\x36\xca\xf3\x9a\xe6\x67\xa7\xc8\x6a\xa2\x20\x28\x6f\xdb\xd4\x1b\xc8\x6c\xd3\x2a\x9c\x24\x74\x52\x7d\xdb\x06\x98\x00\x56\xdc\x20\x32\x7f\xfb\x1b\x10\xfa\x04\x5f\x1f\x9d\x7e\xa9\x1c\x9d\x8a\x79\xc6\xc7\xf3\xf4\xb7\xc9\xd1\x4c\xe0\xbb\x44\x49\x4e\xda\x85\x45\x2f\x1d\xf6\xa8\x15\xda\x23\xcd\x39\x50\x8d\x81\xef\xb3\xdd\x0e\xa2\x1e\xe5\x44\x08\xe3\x1b\x6a\x70\x13\xe5\x49\x2b\xf5\x00\x5b\x94\xb6\x35\x9f\x83\x13\x60\xf4\x05\xbc\xbe\x41\xb3\xc5\xb4\x7c\x26\x50\x53\x5a\x95\x3d\x52\x15\xdc\x02\x28\xc5\x02\xf8\x00\x4e\xc7\x7d\x8f\x3a\xe2\x3e\xcf\x4e\x6a\x83\xcf\x7b\x25\x51\x26\xc5\x14\x17\x0b\xcd\x66\xad\x50\x26\xca\x2b\x60\xb5\x4c\x6a\xa5\xb2\x32\x18\x7e\xfc\x28\xa3\xe3\xef\x9b\xc5\x5a\x69\x57\xb3\x29\x2b\x77\x94\x54\x9f\xd7\x6a\x4a\xa7\x7b\xe8\x30\x1e\x52\xe2\x07\x86\x98\x22\x99\x3e\x0d\x97\x11\xf6\x1a\xa7\x8c\xe9\x9a\x99\xde\x80\x62\x5f\x34\x77\x45\x56\x53\x46\xa7\x74\xad\x94\xec\x0c\x0b\x38\xa2\x54\x30\xf2\xc6\xc0\x19\x75\xf8\x2f\xd2\x8f\xa9\x18\xdb\x68\xc9\xb0\x53\x19\xe4\xd0\x66\x7f\x3b\x53\x9b\x86\xb8\x9e\x2d\xdf\x91\x8b\x91\xb8\xb1\xaa\x2b\x7e\x6a\x76\xdb\x5f\x30\x8a\x2d\x18\x83\x7f\xe9\x60\xea\x11\xd7\x1f\x04\xe1\x18\x0d\x62\x56\x3f\x98\x8a\x20\x3b\x9b\x5b\x8a\x17\x2c\xe6\x66\xb7\xbd\x74\x21\x03\xde\x5a\x4a\xca\xd9\x65\x3a\x91\x6e\xee\x10\xa7\x72\x24\x1c\x46\x09\x6e\xfb\x88\xfc\xbe\x47\x0a\x7f\x2f\xb0\xd5\x6c\xc3\x43\x6d\xe1\xbf\x0b\x9a\x68\xa0\x3b\x2c\x6e\x9b\xec\x50\x5d\x22\xbd\xdd\x76\xa1\x9c\x13\xbc\xf8\x22\x2f\x64\xf0\x05\xb1\x47\x6a\x68\xb5\xf8\x59\x24\xf2\x66\xef\xba\x67\x9a\x51\xc6\x06\x08\xe6\xc2\xae\x3a\xa0\x4b\xa6\x98\x42\x50\xb3\x43\x3d\x77\xec\xca\x81\x24\x48\xfc\xe9\xfe\x69\x18\xba\x86\xfa\x4a\xa0\x64\x26\x1c\x13\x0c\x87\x16\x04\x4d\x91\x89\xe5\x38\x9e\xeb\x17\x84\xb1\x64\x95\xd1\x18\x61\x16\x9e\x2b\x0e\x5b\x29\xe3\x65\x6f\x44\xe7\x24\x18\xbb\x31\x9c\x35\xf2\xac\x03\x75\x5c\xcb\x24\x13\x4d\x27\x13\x6f\x8e\x42\xcc\x7f\x80\x2a\x66\x13\x28\x94\x32\x06\x18\xc3\xb7\x3f\xb2\xfc\x66\xd2\x54\x55\xa5\xe9\x95\xca\xfc\x73\x40\x5e\x9e\xc7\x49\xf6\x56\xee\x7c\x3a\x11\x5c\xad\x3c\x7b\xcc\x64\x9c\xf3\xb8\x54\x59\xfd\x2f\x9b\x8a\x47\xce\x44\xe2\x0d\x67\x8f\x24\x27\xd3\x36\x3d\xe1\x57\x26\x7d\xef\xd6\x48\xed\x0b\x78\x3c\x8d\x74\xfc\x8a\x1c\x3e\x13\x95\xcf\x6f\xc4\x1f\xcf\xf7\x48\xe1\xb5\xca\x74\xf9\x30\x98\x5a\xb9\xf9\xfd\xcf\x59\xbe\x49\xc7\x52\x43\xc9\x5b\xd6\x4a\x85\xd4\x08\xd2\x67\x6b\x25\xa6\x51\x5c\xb4\x47\x25\xa5\xdf\xcd\x47\x1c\x97\xf6\x28\x75\x08\xa4\xe1\x88\xd6\xd7\xc9\x95\x2f\xe3\x06\x35\x3f\x9e\x24\x7c\xbb\x6f\xb9\x1e\x09\xa6\x7c\x49\xac\x20\x13\x78\xa4\x99\xcf\x61\xf5\xd6\x7c\xeb\x4e\x30\x5e\x5e\x51\x46\xa7\x7e\xec\x7a\x89\x5e\x93\x17\xdd\xd7\xea\x36\x89\x08\xea\xfb\x95\xec\x53\xcf\xd3\xe3\xfa\x54\xf3\x5e\x02\x19\x64\xd9\xf6\x74\x3c\xf5\xac\x58\x89\xc2\x48\xb6\xff\x4f\xd5\x2f\x15\x42\xce\xac\x5b\x4a\xa2\x69\x48\x79\x5c\x36\x5e\xed\x01\x3b\x4e\xfa\x8e\x16\x21\x54\x25\xcd\x09\xe9\x5b\x5a\x12\x1a\xaf\x84\xce\x4a\x9c\xe5\x79\xbf\x3e\x06\x53\x08\x64\x71\x68\x8c\x51\xa4\x16\xea\xed\x68\xc1\x00\x1c\x09\x70\x2f\xea\xcf\x89\x3d\xa2\xf0\x32\x9f\x24\x27\x95\xbe\x5a\x52\x43\x1d\x59\x11\xbf\xbe\x21\xd6\x7c\x3a\xd9\x9e\xf9\x4a\x00\xf7\x34\x25\xfe\x70\x8c\x5a\xba\xe5\x93\x6c\x60\xa3\x6a\x76\x9d\xb1\x1b\x1b\x47\xb5\x7f\xc6\x63\x58\xb5\xd8\x4f\x35\xfa\xb6\x4f\x49\x48\xd7\xa0\x03\x4e\x12\x59\xbd\xc0\x61\xdf\x8c\x1e\x29\x83\x28\x25\x97\x22\x12\xf8\xc3\x00\xac\x2d\xa1\x64\x18\xbe\xef\xc8\x24\xc5\x85\xbb\x04\x40\xea\xde\xa6\xd4\xe1\xdb\xff\xd8\xba\x27\xa9\x18\xcf\x65\x77\x88\xd8\xf5\x90\x25\x89\x2c\x2e\x55\x44\x1e\xa9\x6f\x2b\x52\xae\xa9\xdc\xeb\xc5\xcf\xf7\xb5\xfe\xe7\xcf\x7f\x30\xd9\x2e\xad\xaf\xaa\xc5\x98\x76\xb1\x64\x07\x2e\x70\xeb\x26\x7c\x52\xfb\xc2\xaf\x99\x07\x16\x26\x7d\x4e\xa9\xc8\x6a\xcf\x52\x5a\xf2\x79\x20\x43\xc0\x83\x10\x5e\xb6\xca\x3c\xe0\x3d\x05\x27\x80\x5e\x89\x5c\x57\xd6\x3a\xf3\x02\x46\xcb\x0f\x76\x18\x58\x3f\x08\xe3\x0e\xb5\xa2\xc0\x57\x2c\xc4\x62\x8d\xf2\x63\xe1\xf7\x9c\x18\x5c\x71\xdb\x52\x88\xb0\xe1\xc6\x41\x40\xbc\xc0\x1f\xa2\xcd\x4a\xa7\x65\x68\x04\x60\xf9\x2e\x06\x45\x78\x9a\x29\x94\xd8\xf9\xb1\x56\xcb\x21\x4d\xc7\x7d\xea\x30\xd1\x42\x73\x86\xde\x42\x8a\x90\xd2\x54\xc2\x6f\xb2\x26\xa7\xe1\x77\x03\xb8\x42\xde\x88\xdc\x31\x65\xba\x33\xbd\x9f\xb8\x21\x75\xb0\x59\x13\x51\x75\x78\x09\x89\xe4\x60\x13\x96\x3f\x2f\x18\x16\x0b\x0b\xc4\xfd\x35\xf6\xc0\x95\x4c\x4c\x88\x99\xf4\x54\xce\x01\xa9\x33\x65\xee\x42\xe9\x02\x3a\x0e\xb1\xa2\x66\x19\xce\x92\xc4\x8d\x52\xbb\x51\x65\x73\x38\xa5\xa4\xe6\x45\x7a\xa5\xe5\x8a\x91\x7a\x7b\xe5\xd0\x1f\x0a\x2a\x06\x1c\x59\xc9\x11\x39\x85\x60\x6c\x44\x6f\x88\x47\xae\x7f\x8b\x59\x1f\x84\xd0\x99\x8f\xce\xa2\x5c\x00\x24\xb9\x31\xa6\x99\x00\x03\xd1\x57\x4a\xea\x92\x98\x0c\x06\xa5\x6b\x85\x13\x3a\xe7\x2a\xa8\xb0\xe5\x85\x61\x42\x09\x21\xc5\xd4\x7d\x33\xa9\xc1\xae\x9c\x70\xaf\x00\x39\x27\x6f\x48\x1d\x1c\x59\xb4\x47\x87\x4c\xae\xd8\x03\x71\x6b\xe4\xe7\x95\x3c\xd0\x78\x92\x78\xdf\xf1\x68\x24\x01\x90\x9b\xcd\x1a\x04\xf4\x83\x0f\x6f\xb3\xdb\x66\xff\xb9\xee\x6d\xd5\x05\x50\x40\x8e\xb1\x5f\xb4\xa1\x22\x14\xc1\xe3\xa5\x0d\x66\x49\xd3\xc6\x8d\x2d\xb3\x6d\x58\x10\xfc\xc4\xaa\x7c\xf9\xc4\xaa\xc8\x68\x87\xe7\xbc\x98\x6a\x16\x02\x61\xca\x44\xd8\x97\x8c\x36\x76\xf1\xba\x0a\xf9\xc9\xe6\x13\x4a\x5e\x90\x02\x74\x0a\x97\xd7\x71\xf7\xe2\xbc\x82\x1b\xa6\x3b\x98\x17\xd9\x17\xa5\x7c\x4b\x86\xec\x72\xd2\xe7\x0a\xba\x4b\x3c\xb5\x7b\x6d\x74\xb6\xf8\x73\xba\x17\x73\xcc\x65\xd0\x4c\x41\x27\x0f\x1c\x4a\x7e\x67\xe2\xf2\x72\x50\x48\x12\x0e\x64\xb0\x3f\x94\x75\xd8\x66\x4b\xea\xd6\xe5\xb0\x34\x64\xc4\x15\x9d\x09\xd8\x0f\xdc\x88\x1f\x3e\xfd\x69\x5c\xa9\x54\x78\x1d\x59\x55\x98\xa4\x85\x34\xc0\xe3\x16\xef\x0d\xca\x01\xba\x91\x14\x22\x32\x0c\x62\x03\xfa\x4b\x59\x90\xc2\xb5\x5e\x00\xb3\x50\x8c\x0e\x27\x1c\x5d\x1f\xa7\x40\x22\xb1\x38\x34\x7a\x43\xc8\xf1\x34\x8a\x05\xa8\x85\xb8\x56\x26\xfd\x02\x43\x02\xf7\xb2\x02\x87\x31\x1a\x86\x96\x1f\x93\x22\xc0\x67\x14\x3e\xdf\xbf\xaa\x16\x4a\x65\x52\x04\x20\x0d\xf6\xa7\x03\x7f\x5e\x9e\xe1\x5f\x54\xe2\x5a\x30\x62\xc5\xc6\x25\x2f\x35\x28\x94\xd0\x34\xeb\x05\xa8\x3b\x4e\x53\x0e\x5f\xec\x64\x16\xb6\x5f\x37\x8e\x24\x76\x88\x24\x95\x60\x68\xb0\x16\x32\xca\xb5\x59\x58\x18\xc5\x2c\x0e\xcd\x6b\x52\xbd\x2f\x98\x36\x14\x58\xb6\x8a\x85\xbc\xaa\x9b\xc8\xcd\xc2\xc4\xe5\xbc\x62\xb1\x8b\x3a\x7f\x57\xfe\x94\xac\x61\x5c\xd5\x5f\xb2\xef\x73\x89\xcb\x0f\x66\xf1\xe1\xc1\x5a\xaa\x93\xac\x43\xd1\xab\x49\xa8\xc7\xfe\x5d\x70\xcb\x73\x7e\x08\x5f\x8d\x38\x20\xdd\xb3\xf5\xce\x99\x28\xa3\xdc\x9e\x98\xfc\x4c\x35\x58\x0d\x78\x3b\x43\xef\xb7\xc8\xf5\xa8\x9f\x20\x72\xe4\x5b\xac\xd9\x3d\xe2\xbc\xdb\x3e\x4b\xbd\x04\xdb\x02\xae\x36\x56\xfc\x6a\x6d\x9e\xe3\x6c\xb3\x44\xfe\x89\x52\x0e\xe9\xf6\x08\x54\x2e\xb6\x3b\x67\x26\xcf\x8b\x88\xc6\x58\xec\x0c\x9f\x32\x85\x19\x49\xbd\x48\x73\xba\xf5\xaa\x20\xdc\x98\xc6\xc1\x18\xb0\x67\xcf\xe9\x0c\xd2\x7c\x15\x4f\xcf\xf3\xc8\xb3\xc2\x4d\x2b\x0c\x5d\x6b\x48\x31\x20\xc3\xdc\x4c\xce\x5e\x24\x1c\x30\x53\x5b\xa5\xca\x58\x98\xc0\x33\xb9\x13\xc1\xd6\x93\x05\xcb\x65\x93\x1e\xf2\x2b\x9c\x32\xfb\x69\xb4\x9d\x65\xf3\x8d\x61\xdb\xeb\x07\xad\x66\xa7\xdb\x5b\x34\x6f\x07\xad\xe6\xd2\x69\x13\x6f\xb1\x32\x26\x0e\x4b\xd4\xaa\x25\xcd\xf1\xb4\xf6\x1a\x51\xb4\x5a\xcd\xe6\xc9\x99\x66\x4e\xc8\xba\x1c\x4f\x26\x1e\x77\x2e\x6c\x8a\xd0\x0d\x68\x30\xd7\x4d\x70\x23\x21\x7e\x71\x7a\xa6\x98\x6d\x30\xac\x2f\x07\x4e\x4c\xb5\xe3\x64\xa6\x1c\xd1\x53\xf1\x61\xf1\x0d\xa9\x6d\xb0\xb3\x7f\xa7\x5a\x52\xbc\x9d\xf4\x2a\xb6\x47\xad\xf0\x6d\x30\xa6\x45\x05\xad\x34\x43\xf5\xba\xd7\x05\x97\xd4\x0e\x1d\x02\x64\xf3\xd4\xf3\xca\x22\x73\x36\x56\xf9\x91\x37\xc6\x2d\x39\xc6\x6e\xf3\xdc\xcc\xc1\x88\xc6\x1d\x0a\xf9\xa4\xae\x5d\x87\x06\x8a\x8c\x1a\x29\x6e\x4b\x8a\x17\xb9\xf4\x2e\x42\x77\xe8\xfa\xa9\x85\x65\xa4\xf6\x52\x52\x6b\xbc\xcf\x25\xf7\x3e\xb4\x26\xe8\x8f\xbd\x8c\x5c\xad\xfe\x5a\x38\x69\x86\x31\x62\x4d\xa9\x60\x97\xfa\x0c\x2b\x60\x52\xa5\x7c\xe6\xa3\x30\xed\x33\x52\xcb\x5a\xaf\x27\xdc\xee\x35\x5b\xb9\xc3\x41\x8a\xd7\x88\x79\xb2\x8c\xe6\x46\x95\x8f\x68\x14\xcc\xb8\x67\x72\xdf\x0a\xf3\x48\x77\x45\x81\x15\xa9\x6f\x72\xea\x0d\xc0\x0d\xdb\xa9\x92\x35\x10\xda\x22\x5f\x13\x25\xd8\x5c\x8c\x8d\x2d\x40\xdb\x5b\xbc\xea\x36\x39\x93\xb8\xcc\xad\xcd\xe4\xe4\xe6\x37\x96\x88\xe8\xea\xa2\xb0\xcd\x45\x6b\xdf\xb2\x6f\xad\x30\x0c\x66\x18\xf9\x40\x7d\x27\x02\x83\x0d\x66\x5e\x67\x23\xdd\x3f\x39\x2b\x2d\xde\x5b\x64\xf9\x2e\xab\xbe\x2f\x6b\x2f\x1b\x6b\xad\x5a\xad\xbe\x56\x1d\x3c\x03\xe1\x42\x08\x8e\x88\x12\x47\x23\x69\x5b\x0f\x73\x29\x2a\xba\x82\xd8\x54\xb2\x1e\xcb\x08\xb1\xf1\x7a\x51\x28\xc9\xae\x99\xad\x73\xdf\x06\x17\x6d\xc8\xe0\xb2\xc0\xab\xbd\x56\xad\xd6\x17\x8e\x03\x5e\xbe\x42\x6b\x18\xfd\xec\x58\xc0\xfb\xfa\xaf\x1d\x4a\x4d\xac\x28\x58\x2b\x60\x9a\x0b\xe2\x38\x18\x83\xbb\x64\x3c\x27\xc1\x34\x9e\x4c\x63\x73\x2b\x50\xe5\xc2\xbf\x80\x22\x2b\x4c\x7f\xad\x96\xdf\x16\x13\x47\x70\xb2\x5e\xd8\xd4\x09\x9d\x47\x71\x18\xdc\xae\x22\x6c\x1b\x7c\x6f\x66\x52\x0a\x80\x6f\xe0\xdb\x02\x61\x38\xfc\x95\x83\xdd\x21\x6f\xe9\x7c\xb1\xb4\x8f\x69\x6c\x81\xa0\xb7\xd0\x2b\x65\x85\x86\x5f\x99\x1a\x6e\x78\xb1\xb9\x5d\x8c\x90\x97\xba\x40\xf2\xe1\xf3\x9c\x1e\xb1\x8b\x81\x1b\x4c\xa3\x86\x17\x43\xc7\xde\x8f\xac\xf8\xab\xee\x44\xfd\x98\x9a\x12\x9b\x6b\x49\x65\x4b\xa9\xb4\xbb\xbc\x2d\xb5\x38\x98\xc3\x80\x7d\x05\xd5\xdd\x9a\xff\x37\xa5\xfb\x3d\x61\xc0\x2b\x75\xe1\xd9\x0a\x63\x34\xb6\x94\xa7\x8b\x2c\x63\xab\x04\xc1\x20\x8b\x74\x92\x4d\xbe\x33\x5f\x45\x94\xc9\x08\x0d\x21\x1a\xab\x6b\x87\x94\xfa\x64\x1f\x7c\x90\x55\xe1\xda\x7c\xf9\x3a\xef\x50\x90\xb5\x57\x51\x35\x6a\xd5\xcd\x9d\xd7\x12\xe9\x49\xe0\x51\x5a\x91\x86\xf3\x24\x9b\x51\xa2\x14\x65\x40\xb1\x46\x8b\x8b\x3c\xeb\x1f\x79\x01\xc4\x99\x06\xce\xf4\xb9\xca\x22\x31\xcf\x25\x6e\xe6\xf8\x92\x41\x1a\xf5\xc9\x84\x5a\xe6\x4d\xf1\x29\xc4\xd5\xce\xf2\xe8\xdd\x62\xf6\xfd\x37\xab\x0c\x55\xab\x9b\xfc\x04\x0e\x2d\xfb\x96\xb2\xfb\xca\xc4\x8a\xf8\x65\xa3\x92\x37\xa5\xb2\xf0\x25\x2b\xbb\x60\x4e\x53\x5e\x9b\xcb\x8d\x3a\x8b\xaf\x52\xea\x6d\xc8\x70\xa3\x22\xba\xdb\xa1\x72\xbd\x92\x08\x39\xd1\xc8\x0a\x11\x05\xd2\xe0\x23\xc3\x0e\xc8\x8c\x93\x1f\x02\x30\x62\x6e\x0f\xf3\x7d\x98\xdb\x4b\x74\xe7\xc2\x1f\x2a\x86\xbc\xe7\x25\x61\xaa\x86\x76\x39\x56\x1b\xde\xe6\x2c\x01\x86\xa0\xc2\x19\x70\x34\x77\xdb\x9b\x3a\x3c\xa9\x6e\xda\xad\x8d\x7d\xd6\xac\xc2\x10\x9a\x35\x12\x51\x48\x91\x08\x3e\x2d\xe0\xee\x26\x20\x38\xc1\x23\x8e\xdd\xf1\xc1\x93\xa5\x42\x48\x4f\x20\xfd\x0a\xc0\x5e\x71\xf3\x6c\xd6\x38\x86\x2e\xc0\xb6\x73\xfb\x03\x3e\xf9\x33\x22\x72\xf4\xec\x24\xb1\xe5\x08\xd5\xa7\x4c\xb4\x57\x8d\x7d\x3a\x0e\x7c\xd7\xc6\x38\x22\x70\x2c\x8f\xa4\x05\xd5\x12\xcf\x89\x09\x6e\xb5\x84\xa6\xe3\x26\x35\xe4\x20\xbb\xf9\x12\xb4\xa9\x09\xbc\x61\x27\xf1\x69\xc2\x6c\x03\x03\xc0\x1d\xf3\xd1\x3d\x5e\xe9\xb1\xe5\xcf\xf9\xa0\x18\x2d\xe9\xda\xee\x48\x30\xfa\xb4\x17\x4f\xb3\x59\x23\x7b\x0b\xa6\x50\x82\x1c\x23\x12\x58\x48\x79\x8f\x13\xa1\x91\x6f\xa9\xf0\x86\xd8\x82\x6d\x4b\x6d\x81\x31\x6d\x51\x0b\xcd\x6e\x9b\x14\x17\xb8\x32\x95\xb2\x78\xfb\x88\x37\x9b\x74\xa1\x4f\x87\xae\x8f\xed\xc3\x03\xf4\xa7\x02\x5a\x0d\xc7\xd6\x9c\xc4\xd6\x2d\x45\x00\x9b\x80\x3f\xa4\xaa\xa8\xe0\x1a\x2b\xba\xed\x85\x1d\xbd\xe8\x36\x49\xf1\x02\xf3\x12\xf8\x43\x82\xbe\x85\x44\x5a\x43\x1f\xdd\xcb\x2f\x85\x32\x19\x04\xec\xda\x22\xb2\x45\x48\x2b\x3b\x8f\xc0\x04\x2c\x10\x4c\x4f\x15\x2a\x40\xe3\x31\x96\xe7\xe1\xbc\xdd\x1e\x1b\xd9\x7e\xeb\x34\x35\x9c\x8b\x25\x7c\x07\x03\x7d\xa6\xd3\xef\x99\xa2\xe4\xfa\xf8\x2d\xba\x07\xf3\x6c\xe7\x7a\x6e\x03\x37\x62\x77\xd5\xf4\xf6\x00\xb5\xf4\x46\xcf\xa7\x9e\x47\x8a\xe7\x57\xa7\xf2\xe9\xbf\xbb\xd8\xe4\xd6\x6c\xd6\x3e\x15\x3e\xdf\x57\xab\x85\x2f\x24\x63\x32\x57\xe3\x22\xbe\x4f\xdd\x70\x4e\x8a\xad\xf3\x77\x89\x57\x41\x68\xf9\xd1\x18\xc0\x57\xa3\x19\x0d\xe1\xc5\x7d\x4c\xa3\xc8\x1a\x52\x75\xb5\x8a\x47\xee\x6c\x29\x36\x74\x88\xad\x07\xaf\x04\x1f\xa1\x49\x38\xfb\x01\x0e\x73\x46\x21\x04\x3b\xd9\x21\xf1\xc4\x30\x0f\x61\x6b\xf1\x10\x3a\x6c\x4e\xa5\x8b\x44\x29\x87\xc8\x4b\x20\x62\x82\x63\x48\x30\x2c\x5c\x7f\xc8\xe8\xa4\x1c\xcc\x93\x7b\x61\x71\xbf\x2b\x79\x74\x16\xdc\x69\x00\xd8\x7c\x7f\xc2\x24\x09\xbe\x0a\x4c\x23\x90\x58\xca\x22\xed\x32\x42\x48\x5a\xd2\xf1\x02\xea\x8c\xad\x70\xe8\xfa\x65\xc6\x39\x0c\xa0\x85\xd3\xd6\x0f\x00\x60\x92\x89\x9a\xcd\x1a\xca\x19\xdc\xce\xf2\xc1\x61\x37\x4f\xe9\x20\x4e\xfb\xa9\xbc\x0d\x42\xf7\x21\xf0\x63\xcb\x23\x3d\xab\x4f\x8a\x6f\x7b\xcb\x06\x09\x4f\xdd\xb1\xd5\x27\x51\x1c\x4c\x10\x71\x06\xbf\x40\xc7\x57\x1c\x0a\x3b\xba\xfd\x80\x0c\xa6\x21\xc2\x0f\xff\x2a\x6b\x44\x32\xfa\x15\x80\xb1\xd0\x27\xcc\x73\xfd\xf4\x1b\x97\x18\xdd\xab\xe5\xa3\x1b\x04\xe1\xcc\x0a\x9d\x9e\xd5\xef\xc6\xc1\x24\x35\x81\xa7\xae\x4f\xc9\x21\xa5\x0e\x29\x9e\x1e\x96\xb4\x03\x12\x4c\xc1\xb6\x35\x8d\xe0\x2a\x03\x96\xdf\x01\x2b\x08\x19\xb4\x10\xa6\xdf\x57\xb2\xa8\x54\x08\x78\x7d\x4a\x73\x31\xac\x4c\xd5\x62\x9c\x33\x02\x6b\xa5\x11\x8c\x59\x1f\x53\x7d\xbf\xa6\x61\xec\xda\x62\x6a\xae\x93\xa9\x91\xd1\x83\x18\x73\x7e\x7a\x98\xd3\x74\x5f\x5f\x3c\x4a\x8f\x14\x5d\x27\x08\xc7\x9c\x41\x87\x87\x8f\x6e\xc1\x5e\xa1\x05\x61\x2f\x17\x08\x46\xc5\x66\x47\x17\x32\xc3\x2a\xe2\x62\x14\xe8\x3e\x83\x0b\xe4\xc4\x59\xce\x65\x69\xa6\x43\x13\x57\xb1\x9a\x7a\x48\x19\xb9\x83\x98\x5c\x4c\x63\x52\xec\x5e\x94\xca\xc4\xba\xb5\xc8\x69\x60\xdf\xf2\x2f\xaa\xa4\x78\xda\xad\x95\x74\x83\x3a\x39\xaa\xa5\x92\x6e\xb8\x3e\x39\x4a\x1f\x23\xa2\x8f\x34\xb7\x8f\x1c\x64\xa5\x56\x30\xf4\xa8\xed\x93\x62\xb7\x9d\xd3\xa1\x6a\xa6\x43\xd5\x47\x74\x68\xb0\xac\x43\x55\xbd\x43\xf2\x6c\xb8\xf0\x49\xf1\xc3\xc5\xb9\x6c\xfc\x3c\x88\xc5\x24\xb1\x43\x29\xd1\xc1\xe5\x82\xd3\x00\x3f\xda\xa2\xc0\x1b\x63\xbf\x6a\xb5\xc5\x9b\x7e\xd2\x8d\xc1\x80\xf5\x43\x91\xdb\x3f\xb9\x23\x1b\x8b\x3b\xd2\xb4\x7c\x9b\x7a\xa4\xd8\x6c\x24\xac\x68\x0f\x08\x6c\x6d\xce\x14\x83\x0c\xa5\x06\x9f\x78\x54\xa8\xfe\x15\x10\xf9\x3f\x1e\x53\xc7\xb5\x62\xea\xcd\x15\xfd\xe4\x19\x4f\xe9\xca\xd4\x53\x7a\x4f\xed\xa9\x32\x8a\x76\x8c\x50\x29\x7c\xf7\x82\x17\xdd\x30\x0c\x14\x87\x4f\xee\x9e\xc6\xa3\x88\xf3\x34\x84\x5a\xea\xf0\x48\xfb\x0b\xc8\xd7\xe5\x3b\x4a\x00\x42\x46\x2a\xf5\x19\xc9\x2f\x63\x01\x76\xc0\x81\x36\x00\x9e\xef\x81\x48\xdc\x93\x28\x0c\x19\x3c\x70\x79\xcb\x63\x32\x87\xab\x40\x4b\x42\xaf\x01\x10\xfd\x58\xcd\x07\x44\x5f\xf8\x18\x81\x50\x78\x53\x48\x2d\xf8\x69\x3f\x8a\xdd\x78\x1a\x53\x52\xec\x5e\xed\xe7\xed\x7d\xcd\xc6\x79\x0e\xf3\x2c\xe3\xe6\xc7\x78\xaa\xe8\x58\x78\x41\x2c\xb6\xba\xcd\x9c\x03\xa2\xd6\x5f\x3c\x07\x49\xa8\x0e\xfb\xa2\xd5\x6d\x66\x4a\x98\x23\x03\x14\xf8\xb9\xa2\xea\x9a\xc5\x5d\xe4\xd1\x65\x4b\xf3\x4e\x52\x43\x9d\x13\x77\xdb\x56\xb7\x99\xe3\x6e\x8b\xf4\x94\x26\x45\x58\xb3\xe8\x69\x29\xc7\x3b\xca\xe4\x57\x9b\x76\xef\xe1\xb1\xdd\x82\x54\x2a\x3a\x16\x1c\x48\x8b\x07\xb9\x2a\xdf\xcb\x41\xde\xca\x5d\x27\x3b\xc4\x9c\x48\x47\x20\x35\xbb\xa1\x31\xa1\x4d\x19\x33\x40\x54\x2a\x15\x25\x8a\xdf\xa1\xf7\xa4\xd8\x3e\x3f\x90\xc2\x73\xea\xde\x32\x1d\x09\xd4\x82\x32\x5e\x3e\x6f\x05\x24\xcd\x07\xa9\x0e\x1a\xfb\xbc\xb3\xc9\xfa\xac\xdd\xfa\x3e\x15\x0e\x96\x9f\x6b\xac\x29\x83\xf6\x00\x9e\xf7\xa0\xfe\x14\xcf\x5b\xa7\x39\x1d\xec\x4f\x63\xe2\x04\x34\xf2\x0b\x31\xb1\x1c\x07\x4e\xd8\x1c\x45\x73\x67\xcb\xd0\xbd\xd6\xd3\x8e\x5d\xb3\x82\x7a\x10\xcc\xfc\xc5\x0a\xea\xd4\xc3\xc0\x9a\x2e\x8d\x99\xae\xda\xcd\x99\xfd\x9d\x1d\x43\x57\xdf\xae\xd4\x55\xa1\x45\xea\x5f\x0c\x53\x63\x28\xa5\xc3\x50\xe1\x21\x4b\xc8\x43\xa7\xad\xeb\x37\xd3\x09\xdc\x0a\xf2\xb5\x97\x1d\xc7\xd0\xdf\xb3\x15\x2e\x2d\xd8\xee\xa9\x59\x00\xba\x68\x18\x42\x6d\xa1\x4e\x8a\xdd\x6e\x3d\xb9\x40\x62\x8e\x8d\x60\x40\x8e\xea\x44\xe6\x29\x01\xbe\xea\xb1\x77\x49\xb2\x16\x05\xd1\x78\xe1\x29\x6b\x18\x1e\x35\x0c\xef\x7c\xf1\xd1\xaa\x75\x7e\x83\x75\x7e\xc3\xd4\xf9\x8d\xbf\xbe\xf3\x03\x43\xe7\x2f\x16\x77\xfe\x80\xde\xb9\x36\x4d\x82\xcb\xd0\xf4\x50\x3c\x68\x76\x95\x43\x86\xc3\xb1\x58\xe4\xa0\xd9\x4d\x3c\xb5\xf1\x92\x81\x04\xd6\x04\x01\x21\x04\x60\xd7\xfe\xf4\xa1\xd7\xea\x9c\x01\x70\xdd\x63\xd5\x9d\x66\xe0\x47\xae\x43\xc3\xa4\x24\xeb\xd7\x41\xab\xd9\x79\xd7\xed\x96\x05\xce\x48\x2c\xa2\x99\x29\x1d\x13\xee\x82\xd1\xf7\x72\x44\xf7\x55\xd5\xc0\x9e\xcb\xc5\x27\x5a\x6e\x70\x41\xc6\x81\x33\x03\xf0\x61\x76\xde\xdd\x4d\x25\x92\x0e\x51\x38\xa6\x56\xe8\x50\x87\x34\x42\x6a\x91\x62\xf7\xb2\x21\x99\xff\xde\xf5\x3c\xd0\xab\x24\x1f\x72\x06\xb7\x6d\x18\xdc\xf5\x32\xa3\x8a\x93\x6d\xbc\xf5\x94\xc6\x5f\x1a\x1a\x7f\xbf\x64\xd5\x88\xb1\x0b\x91\xeb\x5e\x74\x1f\xdf\xb0\x69\xf7\xfc\xb0\xd2\x72\x4d\x16\xa3\x12\x47\x59\xec\x36\xdb\x65\xd4\x57\x0f\x5a\xcd\x76\x72\x56\xf2\xfb\xa0\x4c\xc8\xd9\x3e\xa8\x10\x72\xd1\x8f\x02\x38\xdd\xd9\xa5\x98\x0d\x05\xcd\x91\xc4\x2e\x90\xe2\x41\x23\x67\xc3\x7f\x65\x19\xba\x7c\xb3\x7c\x03\xd5\xa1\x7a\x10\xaa\xe8\x4d\x6d\xb7\x6e\xa7\x54\xc5\x45\x61\xa2\xc5\x66\xb7\xad\xc5\xe4\x78\xd4\xe2\xd9\x2d\xc7\x41\x94\xc5\x01\xe0\x4b\x1c\xa2\x47\x73\x46\xd3\x37\x8c\xe6\xd3\x4f\xad\x29\x73\x7c\x97\x88\x94\xc8\x89\xe6\x12\x5f\x2f\x5a\x90\xcd\x6e\x3b\xbd\xfc\x0c\x51\x4d\x92\x3f\x57\xdc\x9d\x54\x5e\x73\xd8\xee\xb7\x7e\xd1\x6d\xae\x5f\x9e\xad\x37\x2e\x9b\xc4\x0e\xc6\x63\xcb\x77\x22\x6e\x08\x93\xe6\x67\x81\xd9\xa2\x1a\x9e\x9f\xf1\xec\x58\xb0\x5b\x89\x5c\xa0\xc2\x53\xd5\x8d\xb9\xcf\xac\x15\xa1\xeb\x6b\xf2\x10\xa0\xb5\x1f\x08\x0b\x55\x7a\x82\x00\xec\x66\xc1\xa6\x53\xe0\x29\xe8\x72\xe6\xd0\x36\xcc\xe1\xe7\xcf\x8b\x57\x91\xc1\x32\x0e\xdc\x00\x1f\xd9\x52\x92\x2a\x97\xb3\x28\xa4\x1e\x96\xe6\x96\x93\x40\x56\xc7\x4c\x80\x39\x3d\x33\x29\x1b\x5f\x7e\x42\xba\x32\x77\x94\x0b\xe3\x1d\x25\x71\x06\x58\xc0\x54\xb5\x9e\x16\xf7\xa9\x04\xbb\xc9\xab\xf3\xcc\x4a\x47\x21\xa8\x1e\xb5\xf2\x21\x73\xd1\x25\x85\xf1\x55\x6d\xe6\xbd\x74\x7e\x76\x98\xca\x26\x02\xb2\x94\x20\xbe\x39\x8d\x17\xb4\x25\x49\xb0\xea\x15\x79\x37\xb3\xc2\x79\x36\x98\xe9\x53\xf5\x4b\x05\x80\xf2\x8a\xeb\xff\x28\x7e\x76\x5e\x94\x76\x8b\x95\x5f\x4b\xff\xb9\xce\x1f\x27\x31\xc0\x63\x9e\x74\x2f\x5b\x9d\xec\x31\xca\x9f\xea\x5f\x34\x07\x9a\xe4\xea\x76\x01\x57\x37\x56\xa4\xf6\xc5\x00\x27\x90\x7a\x4a\x36\x83\xe4\x5c\x74\x9b\x46\x9f\xf8\x6c\x6f\x4a\x25\x05\x53\x6a\xd1\x75\xee\x22\x75\x9d\x83\x37\x5a\x7b\x4e\xce\xf8\x03\x42\xf1\xf2\xec\xf1\x87\x96\x49\xc7\xfc\xc7\xbf\x52\x0f\x69\x24\xce\xab\xe4\x92\xe7\xc3\x13\xe7\x48\xb1\x71\xd9\x7c\xfc\x10\x4d\x9a\xe8\xd7\x7f\xe5\x10\x21\x52\xf5\xbe\x5e\x25\x6b\xe4\xca\x07\x3f\x05\xc8\x1e\x06\x00\x3c\x08\x8a\x12\x51\x12\x80\xe3\xa8\x15\x53\x07\x72\x24\x45\x6e\x1f\x32\xa6\xe2\x1b\xd1\x52\xa5\xfc\x35\xc6\x38\xca\x96\x0e\xc9\x9a\xd0\xff\x5f\x12\x05\x66\x07\x1f\x9f\x15\xf7\xe6\x88\x14\xbb\x2f\x9b\x35\x3c\x7a\x54\x0a\x47\x09\x85\x9d\xa5\x14\x76\x14\x0a\xda\xcf\xf9\x3e\xe0\x16\x27\x7d\xb6\xa2\x68\x3a\xa6\x04\xda\x24\x96\x37\xb3\xe6\x51\xfe\x04\xa7\x47\x75\x0a\x7d\x8a\xd1\xf9\xdb\x0e\x10\x42\x82\x6d\x71\x1e\xbd\xa3\x1e\xa9\xa5\xc7\x70\xb6\xb8\x7c\x3d\x5d\xfe\x7c\x71\xf9\x8d\xec\x7b\x33\x13\xb8\x7a\x75\x65\xe1\xe2\xd2\x93\x5b\x74\x25\x13\xd5\x6a\x3e\x1f\x8b\x3c\x3e\xc4\xd1\xf0\x1a\x86\x5e\x65\x43\x07\x97\x8f\xd1\xaa\x68\x12\xb0\x73\xfd\xd0\xf2\x9a\xa1\x02\xfa\x1f\x05\xfd\xa1\x37\xcd\xad\xff\xf8\xd7\xb0\x8a\x1b\xf3\x76\x0a\x25\xe1\xa5\x2c\x9c\xae\x1a\x9e\x3b\xf4\x21\xfb\x4c\x8f\x5d\xe9\x8a\x07\xad\x66\xe3\xf4\xdc\xec\x14\x3b\x70\x3d\xaf\x58\x68\xc9\x08\xce\xc7\xb3\x89\x46\xee\x10\xd4\xa9\x0b\x78\xe9\x6e\x22\xea\x16\xd7\x62\x8a\x07\x17\xcd\x8c\xa9\x06\xb8\xf6\xff\xfd\xcf\x72\x4d\x1c\xd1\xd2\xa6\x2d\x12\x2d\x2a\x50\x61\x1c\x9e\x09\x40\xc2\x29\x0f\x4a\xc7\x6c\x37\x4c\x11\xc3\x23\x3f\x05\x1f\x62\x80\x37\x2b\x69\x98\x11\x7c\x96\xd6\x0b\x89\xdf\xd2\xe2\xa9\x5d\x11\x9e\x22\x4f\x05\xb9\x0c\x03\x9b\x46\x91\x0e\x81\x16\x32\xf1\x8d\x78\x62\x6e\x19\xac\x61\x2b\x20\x10\x08\xf2\xf6\x77\x09\xf0\x86\x8e\x75\x32\x07\x6c\xab\x79\xd6\x20\x1b\x5b\x95\x94\x2b\x59\x02\xd3\x57\x4c\x20\xf0\x14\x87\x33\xd5\xc1\x4b\xb4\x71\x94\xd7\x86\x00\x64\xcc\x6d\x81\xc3\x41\x2e\x26\xbf\xae\x93\xbf\xf0\x99\xae\x38\x27\x71\x68\xf9\x3c\x31\x4a\x1c\x00\x68\x0f\x82\xad\x31\x2d\x28\x69\x73\x85\x95\x97\xc7\x40\x6d\x80\xe8\x0f\x09\xf0\x8d\xa7\x72\x17\x4f\x15\x7b\x6b\x28\x56\xcf\x16\x6b\x1b\x8a\x6d\x54\x34\x57\x50\x0c\xe5\x05\xcc\x76\xc8\x22\x8d\x45\x61\x7b\x8f\x0c\x10\xce\x0b\x98\x2b\x10\x05\x4b\xbb\x5a\x69\x9d\xcf\x24\xeb\xad\x87\x3f\xab\xf8\xec\xf1\xa1\x19\xe3\x45\xd9\x5e\xfb\xff\x91\x75\x79\xd1\x33\xc7\x63\x8e\x4a\xe6\xde\x89\x3f\x7f\xe4\x88\x47\xa6\xcb\xab\x75\x77\x51\x57\x1f\xd1\x51\xa5\x93\xd9\xe0\xef\xd5\x36\x5a\xdd\xda\x89\x6a\x0c\x93\xe7\x62\x57\xb1\x2d\xe2\xc1\x5f\x24\x97\x11\x3f\xf6\x33\x8f\xc2\xc5\xeb\x5e\xad\x5a\x55\x55\xa3\x92\x52\x3a\xfd\xa6\x5d\xbc\xee\xd5\xeb\x5a\xe9\x5f\x95\xd2\xf5\xa5\xa5\x5f\x28\xa5\x37\x96\x96\x5e\x5b\xdc\x93\x0d\xbd\xdf\x95\xc5\x3d\x49\x95\x5e\x5f\xdc\x13\x51\x1a\xd4\x77\xcf\x33\xba\x6d\x51\x7b\x14\x64\x41\xfd\x4c\x87\x5b\xd1\xa0\xae\x97\x0c\x9f\xfd\x6a\xf8\xec\x85\xe1\xb3\x35\xc3\x67\x15\xc3\x67\xeb\x79\x87\x2a\xc6\x8f\xfe\x8f\x28\x24\x1c\x59\xc2\x70\x75\x5d\x74\x9a\xa5\x3a\xb5\xf0\x98\x83\x34\x27\xd6\x64\x61\x26\x1b\xa9\xf7\xb1\x9e\xb1\xc2\xcf\xf7\xf6\x88\xcc\x65\x98\x3a\xa3\x79\x60\x68\xa1\x58\xc8\xf8\x76\x43\xd2\x9e\xb1\x35\xd9\xcd\x3a\xfb\xcb\x6a\xa5\x02\xf9\xe3\x0f\x22\xff\x5c\x33\x50\xa9\x2d\xa7\xf2\xab\x4e\xa5\x62\xa0\x52\x5f\x4e\xe5\x85\x4e\x65\xdd\x40\x65\x23\x45\xe5\x19\x31\x04\x31\xe4\x06\xb0\xa6\x70\x35\x84\xad\x40\x5f\x50\x00\xac\x2b\x3c\xae\xc9\x0b\x52\xe0\x98\xba\x72\x56\x9e\xba\x09\xee\x5b\xf6\xad\x78\x6b\x3b\x68\x35\xf7\x13\xf3\xeb\x75\x6f\xb3\x8e\x5e\xcd\xd3\x49\x85\xac\xfc\xd4\x03\xcb\x66\x7b\x89\x85\xdb\xba\xa3\x84\x47\xa1\x16\x21\xb6\xc0\xa8\xd1\xe6\xbb\x1a\x9a\x02\x04\xf4\x54\xa2\x90\x6f\x4b\x69\xa2\x63\x6e\x22\xdf\xe1\x2f\xc7\xad\xff\x87\xe6\xed\x35\xb3\x42\x47\xe1\xde\xa1\xca\xbd\x7a\xed\xa9\xdc\x7b\xb5\x98\x7b\xaa\x31\xe4\x96\xce\x27\x96\x03\x8d\x9f\x5c\x36\x32\x7e\x73\x40\x6e\x6f\xb9\xed\xde\x14\x25\x7c\x82\xa4\xf7\xb2\x68\x1c\xe7\xec\xc6\xeb\xe9\x6d\x67\x7d\xf6\xa0\xed\xdf\x7f\xb2\x6d\x0e\x6f\xa2\x9e\xda\xd2\xc1\xcd\x0b\x66\x34\x44\x17\x37\x3b\x08\x7d\x4c\x25\x14\xc1\x8d\x6d\xb1\x39\xe8\x99\x92\x31\x9f\x27\x21\xb1\x83\xa1\xef\x3e\xa0\x23\x33\x3a\xdc\x4a\xdc\xe3\xd1\xe4\x94\x35\xc4\xda\xd9\x9f\x0e\x9b\xc1\x78\x62\xc5\x24\xa4\xdc\xf3\xdd\x8d\xd0\xde\x9d\xb6\x33\xc1\xe8\x0f\x17\x4f\xe4\xe1\xd4\xf3\x78\xda\xdb\x62\xa7\x6d\xbe\xd5\xd9\xb9\x0c\x54\x70\x42\xd3\x2f\xd9\xfc\x0b\x85\x6b\x67\x74\x1c\x84\x73\xb8\xa3\xad\x4f\x7d\xf6\x9f\x95\x2d\x66\xd0\x0d\xcf\x70\x36\x8e\x17\x8f\x4e\x71\xaf\xab\x93\xe2\x69\xb7\x5e\xd2\xbd\xeb\xc0\xf1\x29\xfd\x60\x6e\x45\x59\x0f\x3b\x68\xcc\x5f\xe6\x5e\x57\xd7\xdd\xeb\x94\xd6\x37\x58\xeb\x1b\xa6\xd6\xd3\x2f\xde\xb9\xad\x07\xcb\x5a\xdf\xc8\x6d\xbd\x5e\x26\x1d\xf0\xe6\x65\x9d\xe8\xac\xda\x8b\x8e\xa9\x17\x7f\xe4\xf7\xa2\xf3\x88\x5e\xd4\x8d\xbd\x30\xcd\x84\xb1\x17\x3f\x96\xf5\x22\x7f\x26\x6a\x4a\x2f\x6a\xc6\x5e\xd4\x56\xed\xc5\x7f\x2f\xeb\x45\xca\xff\x13\xe3\xaf\x89\x6b\x07\x3e\x22\xe8\xb3\xad\x79\xe6\xfa\x4e\x30\x23\xb1\x1b\x7b\x54\x79\x04\x83\x3d\x01\x61\xf2\xa0\x57\xe9\x62\x7a\x54\xc3\xa7\xc2\x12\xd3\x9e\x01\x05\x81\xd1\xeb\x31\x72\x26\xd3\xbf\xa9\xdf\xcb\xba\x50\xd7\xd7\xa2\xe8\x96\x86\x72\xb1\x1e\x52\xcb\x21\x76\xe0\x05\x21\x99\x58\x1e\x8d\x63\x23\xa9\xcd\xa5\x6e\x8c\x8d\x70\x18\x11\x3b\x18\x43\x78\x02\xa4\x3a\xe2\x71\x53\x05\x00\x31\xab\xed\x86\xc3\x7e\x8d\x54\x2a\x15\xb2\x0b\x1f\x9c\xb3\x0f\xce\x0b\x0a\x00\x32\xde\xb0\xa3\x89\xe7\x4a\xbf\xf5\x88\x8e\x5d\xd6\x37\x9f\x03\xec\xd0\xd0\x8a\xa9\x48\x0d\xc0\xe1\x0c\xdd\x50\xe6\x87\x33\x63\xda\x7d\xaa\x7e\xa9\x00\xd5\x62\x61\x97\x5b\xe0\x20\x6b\x89\xe5\x86\x4d\xc8\xbc\xac\x64\x99\x56\xa1\x43\xd7\x49\x5d\xa2\xe5\x01\x83\x2e\x91\x3f\x42\x23\x8e\x17\x66\x28\x55\x2a\xec\xa6\xd2\x0b\x36\xc2\xd0\x9a\xf3\x94\xfa\xcf\x08\xa8\x71\x45\xd1\xa3\x73\x8c\xaa\xd9\x23\xd5\x5d\xf5\xef\xdf\x92\xee\xee\x92\x17\x2f\x92\x6f\xb4\x1b\x04\x6b\x13\x15\x8f\xd4\x90\x3e\x29\xa4\x7e\x25\x75\x81\x9a\x26\x2b\x41\x1a\x6b\x78\xec\xca\x94\x25\x2f\x88\x06\x02\xa7\x34\xf2\xfb\x9e\xc6\x17\x01\xa9\x96\x28\xb0\xb1\xeb\x4f\x69\xba\x2e\x6f\x0b\xf0\x55\xb5\xa7\xc1\xc2\x9b\x02\x19\x53\xcb\x8f\x00\x0d\x0d\xf1\xf9\x31\x13\x18\x87\xa5\x54\x1c\xd5\x51\x60\x95\xa4\xde\x44\x1f\x88\xe7\xf6\x71\x0a\xa2\x4a\x38\xec\xf7\x82\x0f\xb5\x5a\x51\xed\xeb\xa7\x64\x18\x09\x84\x9c\xde\xc5\xc4\x3e\xa1\xcd\x1b\xe2\xf5\x2a\x5c\x78\x41\x0a\xbb\xa8\x84\xcb\x9a\x89\xb5\x4c\xf2\x40\x51\xc7\xf3\x3a\x7a\x5f\xab\xf5\x82\x66\xb7\x5b\xd4\x28\xe5\x77\x2c\x6f\x3c\x64\x4f\x69\x62\xd7\x94\x54\x09\x07\xa2\x4e\xd7\x52\xaf\x8d\x2f\x9b\x30\x48\x9d\x02\xa6\x1e\xd8\x2d\x94\x18\x13\x10\xde\x49\xdb\xa7\xdc\x1e\x0d\xc7\x75\x32\x0c\x83\x19\xa8\x13\xee\x80\xab\x72\x69\x0b\xff\x45\xa2\xe1\x2e\xda\x63\x40\x3f\x03\xc3\xb1\x33\x1d\x4f\x84\xf9\x35\x76\x43\xaa\xa4\x9c\x01\x88\x4e\x19\x4f\xc5\xb7\x3f\x68\x7c\x5e\xfc\x67\xa1\x1f\x38\xf3\xc2\x6b\xc3\x16\xf1\xc3\xb8\xc5\x82\x19\x07\xf3\x11\x0c\x82\x90\x0e\x11\x73\x03\xd8\x6b\x1a\x42\x6d\xc9\xae\xbf\x68\x9f\x14\x01\x5c\x7d\x40\x65\x8c\x43\x0b\xb7\x33\x48\x58\x60\x8f\x00\x8d\x9f\x47\x69\x42\x3c\x9e\xeb\x0f\x91\xe0\x45\xb7\xa9\xbd\x9c\x3c\x62\x27\x54\xa0\x3e\x33\x89\x53\xe5\xde\xd0\x08\x87\xda\x2e\xf8\xa1\x56\xcb\x91\x5b\xd8\x3c\xc1\x49\xbd\x58\x92\xd4\x45\x9d\x1c\xbc\xa7\x43\xc9\xd5\x26\x2b\x98\x14\xdf\x55\x31\x18\x13\xd8\x4e\x99\x18\x20\xe7\xb1\x7e\x18\x25\x52\x89\x8b\x27\x35\x43\xb5\xc2\x97\x3c\xf8\xaf\x2f\x59\x1c\xa8\xac\x18\xb0\xad\x68\xa9\x18\xd4\xfe\x4f\x0c\x1e\x27\x06\xfb\x92\xab\x26\x31\x58\x87\xf7\x6b\xfa\x9a\x83\x0e\x8b\xfc\xb5\x6c\xc8\xb5\xfa\x0b\xc0\xea\x75\x38\x73\xb8\x57\x52\xe5\xaf\x11\x9e\xfa\x72\xe1\x21\x4c\x1c\x0c\xe9\x9d\x78\x0c\x56\x34\xb2\x26\x52\xad\x4c\x80\xef\xdd\x04\x45\x8f\x07\x96\xf0\x28\x10\x70\xd2\xfb\x85\xe7\x78\x66\x75\xf7\x30\xee\xf6\x97\x32\xf7\x01\xe0\x61\xb8\x78\xe5\x44\xa4\xb2\xd7\xd2\x4c\x5d\x25\x6b\x64\x9f\x5d\xec\xf0\xcf\x1a\x59\x23\xed\xb5\x7d\x6a\x8d\xf1\xef\x3a\xf8\x15\x38\x34\xf4\x5c\x9f\xa6\xee\xc0\x16\x3c\xdd\x03\x56\xa2\x43\xd7\x06\x96\x1d\x07\x24\x12\x69\x3c\xf9\x0c\xe0\xd5\x18\x76\x79\x52\x07\x15\xed\x84\x5b\xad\xc0\xc3\x0b\x02\x6c\x20\xdf\x17\x98\x73\xae\xba\x1d\x25\x96\x0a\xec\x59\xd8\x79\x2e\xdd\x22\x21\x7a\x36\x24\x12\xb3\x92\x48\xd6\xa5\x97\xdb\xd6\x92\x5d\x77\xf1\x4a\xe0\x1e\x42\x2a\x8b\x8b\x95\xd2\xba\x9b\x5a\x18\x46\x64\xb9\x26\x28\x29\xec\xa2\x8c\x20\xd9\x4c\x22\xb7\xaa\xd0\x18\x9a\xe2\x8c\x9a\x3c\xc9\x02\x13\x8a\xc7\x2e\x0e\xba\xab\x27\x12\xae\xf1\xd7\x29\xb5\x8b\xb5\xd7\x7c\x26\x73\x41\x21\x94\xd2\x3c\x8b\x51\x4f\x8f\x06\x80\xaf\x2a\xfb\xad\xc6\xd9\x82\xd4\xbc\x75\x43\xdb\xf5\xd7\x89\xd4\xfc\x6c\xf3\x57\xe7\x07\xad\xce\x69\xfb\xbc\xb5\x10\xaf\x22\xd3\x85\xea\x6b\x94\xeb\x9f\x1e\xfd\xe9\x45\xf3\xc4\x08\xff\x87\x17\x23\xf4\xf3\x23\xb6\xe7\x4e\xd0\x1e\x25\x3d\x6b\x2d\x87\xad\x12\xcd\x46\x42\x1d\xe2\x4c\x29\xa6\x5d\xb3\xa7\x90\xac\xd5\xe6\x0e\xe1\x5c\xeb\x21\xa4\x41\x42\x3a\x0e\x62\x4a\xac\xc9\x04\xc2\x76\x47\x16\x06\x2c\xf3\xb4\xd8\xfd\x20\x1e\x91\x59\xe8\x72\x34\x03\xe8\x04\x5f\x05\xb2\x13\xc4\x06\xb1\xa3\x51\xc4\x94\x1f\xcb\xf3\xe6\x40\xc9\xba\xa5\x88\x88\x3f\x0f\xa6\x21\x89\x68\x14\xa5\x00\x20\x12\x02\x8e\x15\x5b\x4f\x49\x59\xf9\x0c\xb2\x2e\xe5\x24\x23\xc4\xb5\x58\xff\x89\x9b\xa2\xec\xe0\x6e\x7f\x7b\x73\x8d\x75\x52\xde\x0f\x89\x3e\x02\xa4\x34\x51\xf7\x4f\xe1\x79\x1a\xa1\xeb\x11\xba\xb7\x72\xf0\x8c\x0f\x49\x4d\x00\xbb\xb0\x1c\x27\xa4\x11\x38\xa2\xba\xbe\xcd\xb3\x9c\x27\xb8\xac\xae\x1f\xd3\x21\xf7\xf4\x04\x2c\x84\x0f\x80\x5b\x8f\x8f\xbf\x98\xf7\xd7\xf3\xb4\x47\xdf\x95\xb6\x98\x7f\x7c\xb2\x27\x51\xb5\x56\xdf\xd8\xdc\xda\x7e\xf9\xe5\x57\xf0\x46\x5c\x5f\xe1\xfc\x85\xd9\xda\xe3\xd7\xfd\x8a\x15\x07\x7d\xb9\x4f\x88\xca\xac\x88\xe9\x68\xb5\x83\xc9\x9c\xbb\x98\x05\x4d\xc1\x02\x2d\x3b\x28\xd4\xd4\x75\xdf\xab\xce\xfd\x5d\x4c\x26\x34\x04\x5c\xd3\xa9\xa7\xc2\x45\x24\xa9\x6b\x84\xdb\x35\xae\x10\xe0\x7e\x7f\x4e\xc2\xfb\xbb\x78\x6d\xea\xbb\x32\xb7\x8f\x1b\x47\x19\x52\xe4\xa2\x0f\x48\x48\xde\x9c\xb1\x55\xa6\x76\x83\x43\x1d\xca\x06\x21\xb1\xa7\x51\x1c\x8c\x45\x2d\x81\x6b\xe0\xb9\x90\x5a\x7e\x40\x67\xe0\xc8\x0c\x81\x5e\xec\xd4\x8b\x04\xa0\x0a\x19\xb8\xbe\xc3\x53\x05\xc9\x5e\x53\x7b\xe4\xbb\x36\x5b\x28\xac\xe7\x21\xc5\x95\x4b\x30\x8f\x50\x82\xfc\x8b\xee\xe4\xbc\x45\x12\xf4\xe9\x1c\xdc\xc8\x7e\xc3\x4f\xc0\x42\xf4\xfb\xae\xf8\x8b\xcd\x40\x99\x4c\xa3\x29\x90\xdd\x95\xa9\x6b\x9c\xdf\x0d\xab\xe2\xe5\xcb\x97\xab\x1c\x51\x73\xa1\x61\x4d\x19\x1b\xcf\x02\x67\x89\xee\x56\x26\xb5\xd2\xa7\xea\x17\x2d\x13\xbd\xa8\xaa\x1f\x21\x78\xff\x51\xd3\x8c\x1f\xc2\xe0\x95\x0f\xb0\xc8\x2e\x58\x93\x76\xf9\x05\x8a\x7f\xcb\xba\x04\x9f\x97\xc5\xcd\x4a\x6c\xd6\x4b\xfd\x6e\x3f\xfd\x63\xf7\xcb\x8b\xdd\x22\xfb\xcf\xaf\xa5\xe2\x6e\xf1\xd3\xe7\xe8\x73\xf7\xcb\xaf\xa5\xd2\x1b\xe9\x87\x6b\xf0\xc4\x25\xd8\x1c\x77\xbf\xad\x7d\x49\x9e\xf8\x05\x06\x06\x7e\xb3\xf1\x25\x0d\x9c\x95\xba\xee\x01\x99\xc2\x6b\xd1\x7b\x71\xfd\xe3\x54\x7e\xac\x02\x92\x64\xf6\x4d\x00\x36\x73\x59\x59\x72\xd4\xe7\x81\x20\x71\xc0\xdd\x62\xdf\xb3\xfc\xdb\x92\x1a\x27\x59\x6c\x37\xdf\x66\x02\x31\xba\xed\x4f\x85\xbf\x3f\xc6\xa8\xe8\x02\xfd\xee\xc4\xb2\x35\x8b\xa2\x6b\x85\x43\x4c\x80\x56\x32\xbd\xa1\x5c\x4d\x48\xb1\x79\x75\x65\x6c\xbe\xf1\x98\xe6\xf1\x98\xbd\x9a\x3c\xa2\xed\x03\xc6\xd9\x62\xf3\xea\xc0\xd8\xfa\xfe\xe3\x5b\x87\x80\xc7\xd5\xdb\x17\x8f\x77\xc5\xe6\xd5\xa1\xb1\x0b\xcd\xc7\x77\x01\x6c\xdb\x8f\xe8\x03\xbb\x09\x89\x4e\xec\x1b\x3b\x71\xf0\xf8\x4e\x00\x32\xc9\xea\x7d\x50\x22\x5b\x9b\xe7\xa7\xa5\xf4\xee\xef\xb9\xb7\x54\x9d\xb2\x32\xe4\x47\x99\x68\xf7\x9c\x71\x70\x47\x25\xae\x14\xa0\x0a\xf9\x49\x6e\x5b\x46\x0c\x60\x3d\x20\x63\xa7\x97\x76\xee\x80\x51\xb6\xfe\xe4\xd9\x7e\x24\x58\x05\x1f\xde\x25\x53\x81\x40\x27\xe2\xec\xb8\x5c\xcc\x8e\xab\xc9\x5f\xc2\x8c\xc3\x3f\x75\xe1\x3d\x8d\x15\xc9\x1b\x4c\xa3\x1f\x05\x1e\x44\xf5\x37\xdf\x66\x03\xc6\x58\x7f\x8f\x1e\xf9\xf8\xa1\x35\x6f\xec\x36\x59\x4b\x67\x18\x14\x33\xc4\x23\xbe\xd9\x7a\xb9\x34\x76\xe6\xed\x93\x3a\x23\xe8\xe6\x77\xc7\x94\xb6\x24\xfd\x93\xae\x5c\x5b\x38\x16\xb1\xff\x28\x81\xd8\xc5\x26\x47\x0c\x4a\x8f\xaa\xbd\x5c\xa1\xb0\xd5\xd7\x8d\xf4\x08\x98\x18\x88\x02\x98\x75\xd6\xf6\xac\xf1\xa4\x08\x9f\x95\x49\xad\x9c\xc5\x56\xa5\xd4\xef\xba\x0f\xb4\x32\x73\x1d\x9e\x39\x45\x3e\x5d\xb8\xf8\x62\xe1\x92\xdf\x90\xe8\x2e\x71\x5f\xbc\xd0\x50\x26\xe2\x7c\x34\xa1\xd4\xb9\xd8\x0a\x99\xca\xe2\xfa\x90\xe0\xc3\xb3\xe6\xa4\xd8\x3a\x28\x23\x92\xba\xf9\x60\x38\xd6\xdf\xa1\xe1\xb3\x37\xc7\xab\x38\x69\x71\xb5\xdd\xa8\xc2\x68\xa9\x90\xc8\x1f\x7f\x60\x41\x25\x35\xa9\x3e\x2c\xca\x7a\xbd\x4f\xbd\x60\x56\x4c\x63\xd5\xf3\x8a\xb5\x05\x15\x1b\xfd\x40\x20\x5a\x66\x2b\xd6\xcd\x15\x15\xdc\xca\x6c\x9d\x0d\x3d\x17\x29\xf7\x5f\x70\x02\x3b\x22\x91\x35\x47\x9c\x3e\x7c\x6c\xf9\x05\xf9\x0d\xae\x2d\x08\x4f\xf0\x8b\xc8\x49\x53\xf0\x3c\x34\xb7\x43\x53\x82\x1c\x80\x8d\xf0\xa9\x89\xd8\xf5\x89\xdc\xba\x9e\x27\xa3\xb8\x38\x9a\xb6\x7d\x0b\xf1\xcd\x11\x09\xa7\x02\xb9\x32\xbf\xfb\xc6\xe9\x47\xe0\xa7\xd6\x29\x9f\xfb\x2c\x12\x05\x9b\xe7\x13\xd3\xdc\x9f\xfc\x2b\xe6\xbe\x17\xe0\x51\xff\x84\xd9\xef\x05\x70\x40\x3f\x6e\xfa\xa1\x26\x3b\x95\x0c\x3c\xe4\xaa\x25\xfb\x96\x69\x93\x66\xd6\x9d\x3e\x5e\x99\x04\x82\xab\x28\x12\x1c\x40\x84\x77\xe0\xc0\xdc\x81\xb3\xc7\x74\xc0\x01\x8a\x8f\xed\x40\x53\x51\xaa\x0f\xb8\x52\xfd\x2c\xc1\x27\xc3\xe0\x4f\xb0\x55\x47\x12\x28\x0d\x5e\xed\x20\xa5\x8a\x47\x07\x71\x39\x01\x8f\xb4\xb4\x43\x5d\x40\x8d\x98\x46\xb6\x24\x3e\xdf\x34\x32\xd6\xd3\x95\x46\xc6\x61\xb1\x99\x9e\xde\x35\xab\xe9\xdd\xc7\xb4\x7e\xc7\xf1\xef\x57\x53\xd4\x79\xe3\xa8\xa8\x77\x71\x3b\x26\x0d\x2f\x0a\x48\xa1\xed\xbb\xb1\x6b\xc5\x94\x8c\xdc\xe1\xc8\x43\xac\x3a\x80\x3b\x8f\x43\x0b\xf2\xc8\x14\x2a\xc4\xe0\x58\x84\x5b\xd1\xc4\x0a\x33\x41\x79\x6c\x28\xbd\xc5\x43\x49\x45\x9e\xaa\xd6\xfe\xdf\xd8\x92\x33\x2c\x1b\x31\xde\x55\xaf\x06\x9d\x24\x05\x08\xc7\xe6\x1c\x50\x2b\x9e\x86\x54\x22\xb3\xe2\x55\x15\xb2\x81\xa4\x53\x27\x8a\x07\x6a\xc5\x6b\xfc\x13\xf9\x9d\x5c\x46\xa4\x27\xe3\xf2\xc2\xb1\xe5\x79\xf3\x32\xf9\x05\x5c\xb4\x7e\x11\xb0\x95\x3c\x3f\x30\xb6\x55\x21\x6d\xb0\x12\xf2\xf0\x3e\xb0\x14\xf2\x72\x32\xc1\x64\xdf\xf5\xdc\x78\x9e\x24\x9e\x94\xdd\x04\x70\xdd\xf1\x04\x33\xb7\x5a\xc4\x71\x07\x60\xbf\x8b\x65\x2f\x05\xa6\x07\x0c\x84\xd1\x1a\xf3\x48\xbd\x38\xd0\x83\x08\x2f\x23\x9e\x96\xe6\x75\xf2\xbc\x70\x10\x60\x2a\x23\x1a\x73\x03\xd5\x3a\xb8\xd3\x78\x56\x9f\x7a\x11\x99\x42\x74\xef\x88\xde\x5b\x0e\xb5\xdd\x31\xfa\x71\xf3\x97\x08\x5e\xf3\xfb\x94\x86\xf3\xc7\xd4\xad\xaf\xd8\xaa\x08\x75\x61\x75\x36\x56\x6e\x4f\xd6\x5a\x2d\x72\x94\x09\xe9\xef\xbd\x25\x88\x15\x70\xa2\xa9\x5b\x51\x2b\xe7\x7e\xff\xe1\x31\x2b\x57\x3b\x75\x9e\x70\xc1\xd4\xb4\xcc\x7d\xb3\x96\x79\xf3\xff\xaa\x96\xd9\xe7\xa3\xcc\x57\x33\x93\xfb\x8c\xbc\x42\x24\x17\x9b\xb7\x0a\x9e\x48\x17\x3c\xc3\xa2\xa7\xdc\x83\xfe\x2b\x05\x60\xc6\xef\x46\x0b\x3b\xd1\x01\xd0\x81\x3b\xe8\x44\xc7\x48\xd5\xfa\x99\xdb\xd5\x12\xdc\xa5\xbc\xdc\x7d\x0b\xee\x34\xc6\x4d\x73\x22\x42\xfb\x26\xf2\x06\x3d\x0c\xad\xc9\xc8\xb5\xb5\xe4\xc3\x8f\x03\x0c\x62\x83\xef\x2f\xf1\x22\xa7\xbe\x23\xe0\x81\x12\x87\x2c\x52\xbc\x0c\xdd\xb1\x15\xce\xc9\x41\x32\xaf\x3a\x74\x8f\xb8\xcd\x8f\xac\xd0\xc1\xf7\x10\x78\x4b\xe0\x99\x6a\x49\x01\x5d\x00\xe0\x35\xa0\x81\x59\x0f\x1d\x02\xb9\x7f\x10\x57\x82\xcd\x44\x01\xf5\x66\x37\x06\x54\x8d\x3e\xc5\xe3\xc2\x0e\xc2\x10\xd2\xf4\x72\x72\x16\x81\x88\x9c\x24\x4d\x54\x00\x2f\x10\xbf\xa2\xf1\xda\xf3\x08\x4f\x69\x4f\x0a\xb9\x7c\x29\xc0\x79\x69\xc0\x86\xce\xb8\x06\x9b\x0e\xcc\xe7\x86\xd7\xef\x3f\xfe\x30\xbe\x89\xe7\x6a\xbc\x0b\x71\x5d\x32\x8f\x69\xe6\x29\xe9\x52\x3b\xf0\x9d\x9f\x9f\x94\x82\x81\xeb\x8c\xd4\x4a\x8c\xd7\xb8\x0e\xf3\xa5\xb3\x1d\xdc\x98\x56\xe2\xfc\xef\x4b\x58\xbf\x9c\x81\xbf\x57\x77\xeb\x5b\xdb\xbb\xd5\x34\x38\x0e\x98\x9e\x0c\x9b\xd4\xf5\xa5\x79\xd7\x71\x1e\xb9\x3f\x08\x8a\xb8\x13\x74\x82\xd9\xaa\x26\x18\x05\x3b\x8e\xe9\xd1\x12\x4e\x37\xb1\xc9\xbc\xbd\xbe\xcc\xdb\x47\x97\x1b\x6e\x06\x86\xdd\xf3\xad\xba\x7b\xf6\xac\x3e\x69\x02\x2a\x42\xb1\xb7\x9f\x85\x7f\x64\xe5\x87\x7f\xd5\x7a\x58\x5f\xe7\x4d\x0b\xe0\x65\x76\x3d\xc0\xab\x41\xee\x6d\x97\x1f\x46\x0d\xbe\xe7\x16\x21\x90\x21\x7d\xeb\x33\xb7\xbb\x91\x69\x17\x9e\x20\x05\xe8\x73\x6e\x93\x0d\xcf\xe3\xad\x46\x86\x33\xb0\x4b\x45\xc2\xbf\x6e\x16\x5e\x99\xb1\x6f\xb4\x04\x3a\xd3\x70\x32\x9b\xf5\xf1\xec\x51\xad\x24\x2b\xcc\x8c\xd9\xfd\x52\x86\x08\x93\x6c\x8f\xd3\x29\x27\x10\xa9\x10\xd3\xec\x19\x47\xf0\xe6\xaf\x1d\x02\xcf\xdb\xf7\x88\x11\x9c\x51\xc7\xb5\x48\x33\x98\xcc\x49\xf1\x0c\x85\x36\xf5\x59\x19\x61\x06\x26\xd4\x76\x07\xae\xad\x42\x5f\x45\x34\xc1\x6f\x12\xf8\x9a\x78\xc8\xba\x3e\x3b\x50\x4d\x17\x2c\x13\x53\x5c\x93\xd5\xc4\x5d\x82\x04\x0f\xb7\x0a\x94\x96\x8e\x59\x5a\xbc\x7f\x9d\xb4\x28\x4b\x69\xa1\xb8\xf0\xc8\x1a\x4c\xc8\x68\x16\x98\xbf\x76\x14\x8b\x04\x26\x67\x10\x8a\xc6\xa9\x1e\x9f\x47\x09\xca\x77\xdb\xe0\x19\x0f\x4f\xe5\xc1\x20\x41\xf4\x2a\x03\xd6\xe0\x5c\x18\xea\x2c\x41\x8b\x47\x35\x44\xa4\x6f\x45\x88\x8a\xcc\xbd\xef\x45\x4d\x7e\x8d\xad\x98\xb8\x35\x5e\x11\x5b\x77\x48\xe3\xfa\xd6\x76\xd1\x55\xc1\xaa\xf2\x6e\xee\xc4\x25\x2f\x48\xdd\xb4\x07\xbb\xe0\x8d\x4e\x9e\xef\x91\x2d\x1d\x59\x97\x27\x51\x52\xbc\x27\x32\x6a\x2a\x10\x2d\x93\x6a\x92\xa0\x5e\xed\x5c\x2f\x9c\x52\x74\x3d\x5c\xbd\x8b\x5b\x8b\xbb\x58\x37\x76\x51\xbc\xa7\x87\x86\x2b\x93\xd6\x45\x2c\x36\xcc\x29\xb6\xa1\x17\xeb\xe7\x14\xdb\xc4\x62\x2a\x5f\x0a\xe1\xb0\x5f\x04\x5f\x6e\xc8\xc9\x5c\x66\xbf\x0e\x93\x5f\xfb\xec\xd7\x52\x41\x32\x09\xcc\xa4\x71\x1c\x46\xab\x84\x3d\x24\x76\x53\x33\xe3\x04\x6b\x81\xa0\x1a\xac\x96\x71\x88\x7b\xe2\x2a\x33\x1a\x75\x91\x1b\x0a\x27\x84\x71\xf5\x37\xb2\x51\xd5\x83\x94\x15\x3b\x2f\x1c\xb5\x3c\xaa\xb1\xc8\x4d\x25\xa5\x04\xe0\xc1\x30\x84\x3c\xb3\x2f\x26\x74\x0a\x3c\x27\x5d\xbb\x1f\x78\x49\x2c\x65\x1e\x85\xba\xa0\x70\x68\xb9\x7e\x9c\x26\x31\x60\x1f\x2e\xa5\xb1\x21\x93\xfc\xc6\x96\xe7\xda\x69\x22\x2e\x7c\xba\x94\x8a\x4c\x15\x9c\xf1\xfe\x13\x84\xa6\xe2\x8b\xa5\xb4\xb6\x24\x5f\x3c\xd7\xbf\xcd\x30\x86\x7d\xb8\x94\xc6\xcb\x24\x75\x31\xc0\xf4\x66\x86\x85\x1f\x2f\xa5\xb3\xa3\xd0\xc1\x14\xa0\x06\x4a\xf8\xc5\x52\x5a\xaf\x04\xad\x66\x18\x40\x0a\xa9\x60\x9a\x99\xb3\x28\x0e\xdd\x5b\x2a\xf6\xea\xa5\xf3\x5f\x4f\x84\x31\x26\x20\x32\x7f\x83\x13\x7e\x60\x92\x07\x2e\x52\x3c\x44\xd6\x2c\x2b\xda\x97\x86\x06\x37\xd4\x06\xdd\xc5\x12\xb3\x8c\xd6\xa6\x4a\x4b\x8a\x47\x66\x25\xa8\x82\xb3\x8c\xe4\x96\xc6\x8f\x45\xe2\xb3\x8c\x92\x14\xa0\x6e\x4c\x2d\x67\x9e\x2f\x3f\xcb\x08\x49\x09\xba\x5e\x2e\x3f\xcb\x68\xbd\x52\x87\x67\xaf\x2e\x45\x3a\xdd\x67\x69\xbc\x01\xdc\xef\xb6\xaa\x5a\xc8\x15\x87\x69\x1b\x04\x21\x5d\x4f\x07\x36\x60\x1e\x33\x9e\x7a\x73\x64\x79\x03\xa6\x4c\xd4\xb6\xf5\x58\xc1\x84\x94\xa8\xc0\x14\x87\xfa\x56\xaa\x18\xa4\x7c\xe1\x59\xf3\xdc\x3b\x4a\x22\xd0\x6d\xe7\xbc\x90\xeb\x93\xc1\x14\xbc\x58\x05\xb1\xef\x53\xcb\x73\x07\x2e\x75\x08\x3b\xac\xc2\x32\x19\x96\x49\xbf\x04\x0e\x7b\x95\xd4\x6e\xfd\x1b\xd9\xd8\x51\x1d\xc7\xb8\xa8\xcb\xb0\x92\x2e\x86\x64\x83\x7b\x3f\x59\x23\x1b\x55\x19\x9c\x65\xd8\x26\x35\x4a\x6c\xcb\x75\xc3\x28\x26\xf6\x88\xda\xb7\x68\x25\x0f\xa7\x94\x77\x1a\x30\x2e\x38\xd6\x3c\xff\x01\x37\x39\xa1\x47\x90\xbd\xb4\x5a\x91\x2c\x47\xc0\x7f\x90\x05\x9f\x63\x0a\x48\x1d\xe5\x28\x7f\x18\xf0\x45\xb7\xd3\xfc\xda\x39\xda\xdf\x5d\x50\x83\x6f\x2c\xd0\x86\x06\x2b\xe4\x92\x17\x7b\x64\x4b\xc1\xf2\x49\x27\x3c\xc4\xfd\x4b\x0e\x5a\xce\xa6\x52\x00\x0c\xbf\x38\x44\x54\xeb\xd4\x9e\x40\xbc\x07\xe3\x27\x0c\x4b\xb3\x27\x66\x41\x8e\xa0\x37\x75\xfd\x23\xa8\xff\xbb\x18\xeb\x82\x18\x43\xfc\x49\x45\x1a\x2e\x61\xa0\xad\xa2\x18\xe5\x8b\xc2\xab\xd5\x84\x4a\xce\xc6\x41\xeb\xb0\x71\x75\xda\xcb\x93\xae\xdf\xc8\xa6\x41\x4c\x93\x35\x97\x12\xd3\xcd\x45\x62\xba\xf9\xef\x26\xa6\xa6\x61\x2c\x16\x53\x65\xb3\xf9\x3f\x31\x35\x32\xd0\xce\x82\x6d\x65\x38\xb0\x02\xf7\xa5\x58\x0a\x52\xa6\x73\xe1\xf7\x3d\xf2\xaa\x4a\xfe\xf6\x37\x10\xbe\xdf\xf6\xc8\xab\x97\xc9\x2c\x2f\xd9\x4f\x5f\x55\xc9\x0b\xb2\xb3\x9b\x47\xb6\x56\x55\xe9\xd6\xaa\x19\xc2\xb9\x2b\x80\xd5\x04\xca\x82\x03\xd0\x75\x7e\xf4\xd1\xf8\x00\x15\xf2\x28\xfb\x9e\x91\x8e\x28\x2c\x99\xfd\xb4\x32\xf5\xd2\x21\x68\xe9\x97\x6f\x1a\xe3\x63\xe8\x5a\xc4\x0d\x33\x44\x80\x94\xe0\x7b\xe9\x23\xdf\x0c\x97\x00\x65\x70\x7b\x39\xbb\xc0\x4c\x23\x91\x41\xbc\x78\xd0\xed\xe4\x18\x87\xb6\xc8\x9a\x5e\xb8\x42\x3a\x34\x9a\x7a\x31\x29\x5e\x9c\x94\x88\x1b\x41\x0e\xcb\x2a\x01\x87\xf9\x6d\xb2\x26\x48\x66\x8d\xb1\x97\x9d\x12\xf9\x14\x06\xb3\x5d\x1b\x9e\x84\xbe\x48\x42\x9c\x46\x48\x76\x89\x4d\x3a\x86\x31\xf9\x8f\x7e\xac\xe7\xc6\xcd\xad\x95\x1f\x19\xaa\x7e\x61\x35\x7b\xe9\xb6\x7a\x23\x0c\x83\x99\xe9\xf6\x9a\xd8\xbb\x4b\xec\xd2\xae\xc5\xc4\xe7\x97\x4f\x5e\xca\x44\x95\xe5\x96\x7d\xb8\x6e\x07\x33\x35\x56\x9c\xfd\xde\x31\xbc\x96\x1c\xf0\x67\x7d\x9e\x04\x3c\x54\x81\xda\xfb\x94\x50\x1f\x72\x5a\x92\x3b\xd7\x22\x52\x90\x1e\x29\x7a\xfe\x9f\x2b\x7a\xdb\xe4\x31\xe2\x04\x2f\x00\xdd\x36\x79\xa3\x08\x12\xa9\x6d\x25\x24\x2e\xd1\x96\x09\xf9\xd3\xa7\x51\x52\xbc\xc6\xa4\x97\x14\x43\xa6\xa9\x97\x48\x10\x3e\x13\x98\xc1\xe2\xeb\x1a\xfb\x9a\x8d\x1e\x8b\x80\x61\xb5\xae\x10\xbe\x3a\x38\xc9\x10\xad\x23\x51\x44\xbf\xa1\x0e\xa3\x2b\xbf\x01\x7a\xfc\x73\x24\xa6\xac\x9b\x13\xb1\xf6\xb3\x14\x5f\x92\x5d\x52\x23\xbb\xa4\x0a\xff\x7c\x52\x3c\x0f\xc2\x78\x44\x1a\x63\x1a\xba\xb6\xe5\x2b\x68\xc7\x90\xcc\xc0\x8a\x62\x48\x87\x24\x83\x99\x22\xb4\xd3\x91\x38\x20\xd7\xbd\x4d\xb6\x81\x92\xe9\x04\x93\xc5\x3a\xd4\x0f\x62\x9a\x6c\x3c\x30\x52\x49\x8e\x95\x38\x3d\xa9\xd6\xe0\x85\x8b\xda\x4c\xd3\xc6\xac\x2c\x64\x6b\x23\xe9\xf9\x69\x60\x43\xd6\x80\x74\xc7\xb7\xc8\x06\xf1\xe5\xb7\xd6\x9d\xe5\x7a\x4c\xd4\xca\x6c\x91\xa1\xff\x08\x75\xd6\x5c\xbf\x2c\x9b\x93\xac\xda\x82\x61\x9e\x07\xa2\x72\x19\xb3\x53\x1a\x85\xef\xcd\x93\x37\x89\xff\xa7\x56\xf4\xb2\xed\xa9\xb6\xfa\x96\xf7\xe9\x4d\xad\xb6\xea\xae\x57\x7f\x0c\xd9\xfa\xea\x64\xb7\x1f\xd3\xdb\xfa\x6e\x6d\xb7\xba\xbb\xf2\x4e\xbd\xb5\xf1\x08\xe2\x5b\x92\xac\x96\x36\x91\x3f\x13\x8b\x20\x34\x74\x76\x8d\x03\xe2\x50\xdb\x75\x00\x2d\x1d\x80\x26\xe3\x80\x8c\xd8\xdf\xf0\x64\x12\xe0\x36\x93\xa4\xb4\xe7\x8e\x54\xd3\x88\x95\x9c\x4f\x92\x13\xfd\x1a\x62\x95\xd1\xf3\x49\x3a\x4b\xc9\xe5\xaa\xf8\x42\x9d\xd3\x3b\x1a\x66\x9a\x50\x5c\x9e\xde\xb2\xaf\x5c\x74\x1b\xd3\x9d\xe3\x40\x87\x10\x11\xa5\x7c\x93\x57\xfc\x9d\x1a\x80\x77\x6e\x24\xfd\x0c\x73\x22\xfa\x81\x1e\x0e\x39\x74\xef\xa8\x5f\xe6\xac\x90\x49\x0c\xb9\x1d\xb3\xcc\x0f\x15\x37\x42\xe8\xf3\x47\x7b\x61\xfc\x3e\x59\xe2\x86\x11\x0c\x62\x89\xdd\xc9\x1d\xd2\xe0\x95\xae\x67\x76\x69\x79\x3e\x79\x3c\xa4\x59\x14\x0c\xe2\x8e\x01\xd6\xac\x83\x38\xcc\x88\xc5\x8e\xef\x55\x90\x81\xe9\x6c\xb5\x24\x96\xe9\xae\xfd\x67\xce\x50\x53\xfb\x5a\x5e\x31\x55\x7f\xcc\x02\xc3\x23\xd0\xe1\xe9\xd3\x7a\xf6\xcb\x92\x26\x4f\x03\xcb\x21\xa7\xad\x83\x08\x9a\x39\x5d\xa5\x15\x42\x30\xa4\xbd\x4f\xb5\xb0\x66\x2b\x22\x77\x6e\x18\x4f\x2d\x0f\xe9\x05\x77\x34\xf4\xac\x39\x80\x4f\xfc\xaa\xe1\xb4\x32\xe9\xb6\xfc\x39\x24\x69\xb6\xc2\x6c\xaa\x3b\xd6\xef\xef\x2b\x70\x8a\xa3\x25\xc4\x73\x8f\x72\x26\x5d\x31\x05\xe4\xba\xb7\xc5\xc1\x6c\xd3\x44\xc9\xf7\x95\x40\x00\x16\xbb\x7b\x0b\xf3\xbf\xe2\xf2\x9d\xe3\xb7\xfd\x94\x10\xf3\x5c\x1a\x60\x03\x2f\x26\xcf\xc5\xab\xba\x80\xff\x05\x9d\x30\xba\x24\xa4\x63\x0a\xfe\xac\x60\xff\xa7\xb2\x63\xf3\x7f\xb4\x23\x8b\x58\x92\x73\xde\x3e\x09\x7e\xe1\xa9\xdc\xc8\x39\x9c\xff\xfc\x3e\x64\x18\x61\x82\xc4\x10\x01\xb2\xea\x0a\xc6\x00\x59\x2b\x1c\x9a\x3c\x50\xc0\x02\xad\x24\x74\x0f\x83\x98\x63\x6e\x27\x2f\xd4\xb8\x03\x3c\x26\xc5\x1b\xec\x8f\x2b\x6c\x34\xe8\x0c\xce\x0e\xe0\x0e\x1d\xc2\x8d\x05\x4e\xa9\x7d\xb3\x83\x43\xf8\x54\xa0\x11\x11\xd8\x8d\xd1\x31\xbd\x60\x22\xc0\xd6\xaa\x5f\xc8\x9b\x14\x56\x5b\xf5\x4b\x99\xd4\xaa\x25\xb2\x56\x23\xaf\xe5\xa3\x71\x52\x79\x1f\x2d\xf2\xbc\x7e\x2d\x5b\xbf\x26\xea\x13\x95\x40\x66\x66\xaf\x7b\x38\x76\x1c\x77\x51\xf6\xac\xac\xb5\xb3\x28\x5c\x50\x86\xc8\x55\xf1\x6d\xd5\x00\xb6\x9b\xf1\xbf\x00\x50\xb2\x47\xda\x4a\xde\x84\x4b\xb2\x44\x23\x48\x93\xe2\x1c\xe1\xfa\xa4\x43\xed\xd8\xf2\x87\x53\xcf\x0a\x79\x8e\xc0\x83\x56\xb3\xd9\xe8\x34\x4a\x8f\x6a\xfb\x3f\x97\xb4\x0d\xa8\xc5\x5c\xd6\x8b\x4c\xe3\xa8\x74\x3f\x76\x4b\x06\x42\xd1\x53\x71\x8b\xa1\x85\x3f\x87\x8f\xd1\xe2\xb1\x20\x04\x25\x19\x5b\xbe\x3b\x91\x9e\xe1\xf0\xa8\xe3\xc4\xac\x4e\x59\x84\xa8\xb2\xff\xd2\xfb\x98\xfa\x91\x1b\xf8\xd1\x23\x57\x65\xbc\xcc\xcd\x08\x1f\xdd\x56\x98\xcd\x0e\x9b\xcd\xc7\x35\xfe\x9f\x4b\x5a\xef\xae\x1e\xeb\xf1\x48\xa3\xcb\x0a\x0d\xb3\x0d\xd4\xf5\x87\x6b\x7d\xc6\xe2\x3b\x76\x29\xe5\x3b\xdf\xfb\xfd\x6b\x55\xf5\x59\xbd\x55\xb2\x94\xd9\xb8\x4c\x33\x02\x6c\x22\x36\xfd\x09\x58\x6c\x36\xbc\xb1\x15\x0e\x5d\x3f\x3b\xba\xb3\x27\x8f\x6e\xba\x64\x5f\x08\x26\xf3\x9c\x7d\xa0\xd3\x28\x73\xe3\x0a\xa2\x71\x3f\x56\x8c\xee\x96\xe5\x28\x05\x1b\xde\xa1\xeb\xb1\x23\x8d\x77\x81\x6b\xb2\xad\xc3\xce\x23\x5b\xfb\x5c\x98\x2d\x9b\x46\xbc\xf1\xc8\x44\x9f\x97\x89\x2d\x09\x16\x4a\xeb\x5d\xef\xb2\xd1\x79\xe2\x05\xe8\x7e\x99\xe4\xc2\x09\x2e\xd7\xab\xd8\x8e\x5b\x6c\x83\xe0\xb7\xbe\x46\xb3\xf5\xc8\x31\xff\xba\xa4\xd5\x43\x17\x60\xb2\x0d\x73\x7b\xd8\x69\x94\xca\x3a\x50\xfd\xe3\xe6\x76\x49\xcb\x77\xf1\xd7\xd8\xf5\x28\x80\xf2\x14\xad\xc4\xe8\x70\xde\xb8\x18\x59\xf6\x2d\xb4\x79\xe5\x9f\xd3\xf8\xad\x65\xdf\xb2\x93\x80\x14\x23\x4a\xc9\x28\x8e\x27\xd1\xeb\xf5\x75\x9f\xc6\xac\xd8\xcc\xbd\x75\x2b\x76\x30\x5e\x67\xbf\xac\x5f\x2b\x34\x07\x62\xef\x71\xfd\x41\x20\xe1\x90\xf5\xcb\xd8\xc0\x0a\x71\x2f\x86\x4b\x16\x29\x42\x88\x22\xb1\xc8\xd0\x9b\x4f\x46\xd0\x03\x74\x78\x87\xbf\x8d\x8b\xf9\xe1\xe9\x81\x75\x22\xae\x2e\xf1\xd8\x5a\x7c\xb7\xca\x78\x56\x41\x6d\xf0\xba\x50\x7b\x5d\xe4\xf9\x20\x51\x70\x31\x59\x32\x7e\x83\x28\x71\xa5\xca\x72\xaf\xbc\x7a\x3a\xdf\xbe\xf1\xa5\x27\x03\xd6\xcb\x78\x7f\x80\x20\x4b\xe9\x01\x20\xf6\xcc\x82\x70\xde\xf5\x75\xc8\x48\xcc\x47\x61\xf2\xc3\x5e\xd2\xa2\x50\xd0\xf4\x20\x68\xdc\x40\x84\x35\x16\x4d\xb7\x98\xe3\xba\xd5\x6c\x9d\x76\x9e\xb6\x92\x3f\xf3\x69\x5f\x12\xa9\x66\x5c\x56\x2d\xb1\xac\xaa\x4f\x5c\x56\x4b\x9a\xe6\xdb\x88\x18\x71\xeb\x0e\x22\x70\x61\xf7\x38\x6d\x3d\x75\xb8\xff\x5c\x6d\xdf\x14\x8d\x26\xcf\x16\x60\x30\x3a\xbd\x7c\x6a\xbb\x7f\x2c\x6e\x97\x87\x67\xa3\xdd\x19\x07\xd9\x6e\xfe\xd4\xa6\xf5\x99\x23\xb0\x2f\x78\xd4\x81\x78\xe8\x4b\x12\x69\xcd\x1e\xfc\x6c\xb3\xff\x6d\x6e\x96\xad\xee\x8b\xab\x4e\xb3\x45\x0e\xdb\xa7\xad\xd7\x58\x60\xfd\x5b\xb4\x0e\xbf\x7c\xbd\x8b\xbf\xca\x1b\xdf\xd7\xb1\x35\xa9\x7c\x8b\x58\x15\x76\x60\x87\x88\x05\x6f\x97\x48\xbd\x5a\xab\xc3\x13\x49\x73\x14\x06\x63\x77\x3a\x26\x17\x5d\xd2\x98\xc6\xa3\x20\x8c\x2a\x90\x3e\x08\xca\x46\x60\x5e\x0c\xef\xd8\x5c\xac\xaf\x93\xab\x88\xa2\xb2\xe6\x46\x84\xa7\x63\xb0\xb9\x69\x75\x18\xdc\xd1\xd0\xc7\xdd\xda\x22\xfb\xdd\x83\x35\xb4\x2f\x79\xae\x4d\xfd\x88\x22\x84\x98\x6d\xf9\xa4\x4f\x19\xa5\x01\xb8\x27\x70\x1c\xce\xd3\x76\xb3\x75\xde\x6d\x91\x81\xeb\xd1\xca\xb3\x67\x85\x69\x84\x50\xad\x76\x5c\xd8\x7d\xf6\xcc\x73\xfb\x95\x30\x76\xe8\xa4\x58\x80\x28\x47\x80\x19\xcf\x78\x6f\x8f\xad\x09\x09\xfa\xdf\xa8\x2d\x13\x4e\x9c\x59\x93\x09\x5b\xd5\xa0\x64\x73\xb4\x3d\x87\x07\xf7\x02\xbe\x82\xe4\x52\x19\xcf\x19\x87\x4e\xa8\x0f\xd1\x74\xc2\x47\x1b\x9e\x79\xc0\x4a\xdd\xd3\xd3\xc3\x88\x36\x8e\x3a\xac\x61\xcc\xad\xe4\x6b\x62\x2c\x51\x3c\x45\xd1\xbf\xc3\xf6\x4b\xfe\x89\x98\x7b\x3f\x88\x43\x23\x3b\x74\x27\x18\x76\x44\x46\xd3\xb1\xe5\xc3\x93\x13\xec\x4d\xea\x97\x82\xe1\x6c\x2a\x55\x42\x17\x30\xda\x1f\x64\xe8\xb1\xb1\xb3\xb9\x3c\x3a\x65\x85\x92\x41\xbb\xfe\x64\x0a\x21\x5a\xc1\x34\x66\xbf\x25\x28\x58\x69\x79\x53\xf2\x0f\xa9\x27\x97\xd2\x8d\x32\xb6\xc3\x81\x06\x19\xf7\x09\xdb\x58\x46\x41\x18\x6b\xbd\x45\x13\xbe\x1b\xe9\xfc\x2a\x73\xd4\x38\xf8\xda\xa1\xfd\xe9\x70\xc8\x81\xe9\x59\x3f\x44\xea\x5f\x85\xcc\x9e\x4a\x94\xe3\xd4\xf2\x36\xd9\x48\xa5\x77\x79\x1c\x10\x1b\x82\x75\x02\x91\x3f\x04\x39\xc5\x44\xd2\xf5\xa3\xd8\xf2\x3c\x0a\x72\x06\x69\x26\xd4\xd6\x20\x8f\x84\xf4\x6c\x5f\x5f\x17\xcf\x00\xb7\x94\x4e\x88\xe5\x93\xa9\xcf\x5f\x89\x1d\x22\x41\x19\x45\x08\x3a\x4e\x85\x44\xcd\xb6\x3c\x2f\x98\x31\x65\x05\xc2\xe1\x2c\x9f\x42\x86\x93\x88\x0a\x6c\x75\x9e\xe0\x1a\x53\xc9\x7a\xf0\x38\x08\x5e\x8c\xd0\x0f\x60\xeb\xbe\x15\xd1\xaf\x64\x0f\x79\x2c\x3a\x74\x1e\xcc\x48\x34\xf7\x6d\xa8\x0d\x4f\x12\xb2\x36\x53\x50\x7c\x4a\x1d\x74\xf6\xc4\x7b\xc2\xdc\xb7\xbf\xa6\x6e\x06\x6d\x51\x69\x44\xbd\x09\x0d\x81\xfb\x21\x65\x25\x99\x8c\xe8\x24\x2b\x6a\x92\x73\x99\x8b\x85\xcb\x53\xc4\xe3\x18\xd2\xc2\x8c\x32\xf8\xe6\x07\x09\x26\xf1\x57\x14\xc4\x86\xe3\xc0\x3e\x6f\x79\x49\x65\x26\x82\x68\xd5\x86\xa5\x15\x4c\x14\x78\x26\x70\x09\x62\x27\x23\x2f\xbd\x40\x34\x2b\x93\x30\x88\x83\x78\x3e\xa1\x38\x5a\x55\x54\x65\x07\x24\x14\x66\x7b\xc0\x01\x09\x71\x71\xc2\x42\xe5\xf9\x31\x71\x72\x30\x2f\x36\xe3\x26\x9b\x26\x81\x6a\xfc\x3c\x3d\x2b\x7f\xfb\x1b\x79\x9e\xa2\x9e\x15\x21\x02\xd8\x76\x70\x0c\x24\xf5\xbf\x9a\x3e\x0f\xe9\x57\xa3\x53\x3e\x78\x8c\x62\xa7\x62\x6d\x2d\x57\x08\x4f\xf9\x19\x52\x7c\x78\x22\x96\x04\x70\xc4\x12\x7c\x54\x76\x48\x41\x34\x90\x98\x4f\x67\x7c\x43\x84\xa7\xb9\xc0\x73\x38\x7a\x7b\x38\xa4\x0e\x48\x30\x41\xe9\x9d\x59\x73\x54\x76\x7d\x80\xa2\xf1\x35\xe1\x15\x5c\x49\x18\x90\x0c\x1f\xc7\x48\xf6\x08\x4a\x41\xc5\x8a\x22\x77\xe8\x17\xff\xf9\xa3\x9c\x96\xec\x72\x22\x1f\x60\xf3\x62\x0a\x9f\x81\x4e\xaa\x96\xc4\xe8\x1c\x7a\x6c\x33\x89\x92\x96\x6e\xe9\x9c\x3b\x27\x61\xdd\x52\x65\x6c\x4d\x8a\xc5\x5b\x3a\x2f\x91\xbd\xdf\xb9\x9a\x5a\xf8\xfc\xf9\xbe\x40\x5e\xf0\xd0\xf8\x87\x89\xe5\xb0\x02\x90\x6b\xad\x19\x38\xb4\x11\x17\xab\xa5\x4a\x1c\xf0\x37\xd0\xda\x76\x49\x81\xef\x82\x69\x62\x93\x4b\x67\xa4\x43\x87\xad\xfb\x49\xb1\x00\xcf\xd2\xbc\x2b\x1c\xca\x1a\xc1\xf9\xbf\x14\xca\xa4\x30\xe4\xd9\x2f\x12\xc1\x28\x46\x71\xc8\xba\xc3\x8e\xb2\x4a\x48\x27\x9e\x65\xd3\x62\x42\xbd\x8c\xd9\x37\xf7\x7e\x57\x99\xf0\xc9\x1e\x7d\x31\x41\x64\xb0\x85\x25\xf6\x12\xb9\x8f\xc8\xe5\x55\x74\xdc\xc8\xb6\x10\x5e\x36\x9c\xfa\xb1\x3b\xa6\x64\x3a\x71\xac\x98\x26\xf6\x23\xe1\x59\x82\x78\x18\x96\x3f\x87\x7d\x13\x77\x2c\x1a\x5f\xdc\xd1\x30\x74\x1d\x1a\x25\xc0\xb5\x48\x32\xab\x84\x99\xd7\x23\x4a\x4c\xc6\x82\x21\xd2\xd5\x92\x91\x75\x47\xfd\x42\x4c\xfa\x94\xfa\x8b\xa5\x18\xd6\x6c\x01\xde\x6a\x47\x1c\x2f\x17\x88\x0b\x49\x54\x45\xe6\xf9\x5e\x46\x68\x14\xf9\x34\xed\x88\x67\x4c\xfc\x45\xc3\x22\x36\x0b\x36\xe8\xe4\x84\xe5\xf1\x80\xfc\xf8\x64\xac\x67\x5b\x2d\xe6\xd5\x9f\x62\xc6\x2c\x5c\xa3\xf4\xde\x8d\xe0\xe2\x20\x67\xc2\x8a\x88\x0b\xce\x5c\x7c\x99\xcd\xdc\x78\x24\x5e\xf1\x64\x69\xb1\xdb\x91\xe2\x0c\x70\x55\xad\x88\x2f\x5d\x2c\x5f\xaa\x10\xd2\x9d\xf6\x11\x6f\x3e\x4e\xa6\x89\x75\x11\x42\xd9\x5d\xc0\xc7\x0d\x83\x19\xb1\xd8\xda\x9d\x84\x14\x00\x5f\x61\x8b\x65\x93\xc8\x26\x94\x35\x14\x99\x77\x6b\x55\x63\x48\x66\x40\xec\xd1\x40\x20\x33\xb0\x15\x37\x65\x55\x90\x14\x59\x50\x76\x4e\x65\x62\xc4\x76\xa0\x09\x3b\x44\x51\x59\xc4\x0e\x26\x73\x55\xf1\x11\x07\x03\x8c\x86\xc7\x5a\xfd\xd3\xd8\x9d\x1f\xa4\x01\xab\xd6\xac\xdb\x80\x4a\x90\x45\x57\xce\x19\x8f\xed\x05\x18\x34\xa1\x0b\x75\x92\xbc\x31\xb7\xa1\x62\x5a\xa1\xc9\x6c\x89\x12\x5d\x78\x25\x79\x66\x92\xa9\x72\x57\xdb\xfc\x18\x25\xce\x13\xd0\x1e\x7e\x68\x41\xdc\x1e\xa8\xec\xb6\xaa\x28\x2f\x9a\xce\x28\xc7\x0c\xc9\xaa\x7d\xd5\x22\xc6\xb5\x9c\x95\xdc\x65\x94\xfd\xfe\x2f\xd6\xa7\x58\x47\x85\x3a\x95\xf4\x3c\x95\x20\x2b\xb8\x25\xd3\x09\xb1\xe4\xda\x81\x06\x86\x6e\x14\xd3\x90\x1f\x8e\xa9\xa5\xd3\xe5\x5a\x3b\x64\xb2\x62\x2b\x07\x7e\xe1\x86\x6b\xbe\x7c\xbc\x20\xb8\x9d\x72\x1d\x7d\x89\x8c\xf6\xb0\x16\x38\x73\xb9\x71\x21\xc2\x7d\x31\xe9\xc2\xa2\x09\x52\x04\x14\x33\x85\xaa\x33\xc6\xba\x95\x58\x99\x92\xf1\x57\x46\x56\x74\x31\xf3\x2f\xc3\x60\x42\xc3\x78\x8e\xe5\x54\x53\x93\xc2\xab\x4f\xec\xcb\x2f\xda\x39\xcd\xcb\xc8\xec\xa3\xa9\x55\x8b\xdd\x26\x16\x2c\x08\x85\x7b\x0d\x7f\x9e\xcf\x62\x00\x4f\x82\x05\x0e\xbc\x34\x1e\x3c\x8f\x99\x02\xed\x72\x94\xc3\x77\xb1\xef\xf1\x19\x13\x1d\x5a\x91\xdd\x96\xe3\x18\xd8\x5d\x26\x72\x77\xd3\x79\x4e\xf6\xf6\xf6\x52\x32\xa9\x9c\x4e\x62\x41\xe5\x28\x4f\x49\x95\x5d\x6d\x09\xe2\xe4\x88\xfc\xa7\x19\x45\x01\xd4\x47\x58\xf4\x96\xef\x00\x8c\x81\x1b\x47\x9c\xdb\x69\xfd\x41\xaa\xfd\x2b\x0c\x3d\xe7\x7c\x4f\x0d\x98\xed\x5f\xcb\x37\x08\x03\x13\x56\xd9\x55\x56\x3d\xc5\x61\xf8\x79\x47\x1f\x70\xa2\x01\xd8\x56\xc1\x20\xe7\x90\x40\xad\x79\xe1\x26\xb9\xc2\xa1\xc7\x5a\xfa\x4b\xa5\x42\x0d\xe4\x85\xa5\xe0\xc2\xfe\x1f\xa9\xae\x9c\x4a\x8e\x61\x9e\x55\x18\x16\xfe\xae\xb4\xf6\x2e\xc8\x2b\x6c\x96\x39\x3c\x14\x93\xa8\xdc\x74\x29\xfd\x98\x62\x5f\xe0\xe7\x22\x6b\x6e\xb2\xa7\xf0\xba\xb8\xa8\xf8\x4a\xca\x3f\x50\x0b\xe0\x3a\xc8\x54\x70\xb9\xe6\x04\x65\x93\xcf\x62\x02\x13\xc7\xa7\x3a\xc9\xaa\xb2\xfa\x51\xa8\xca\x1f\xd9\x23\xff\x54\x5a\x40\xc4\xa2\xa3\x34\xea\x92\xdc\x87\x46\x71\x3c\x79\xbd\xbe\x7e\x17\xd7\xaa\xd5\x8a\x4f\xe3\x75\x27\xb0\xa3\xf5\xbb\xb8\x5e\xaf\xae\x85\xe3\x75\x90\xd1\xfa\xda\x66\x65\x14\x8f\xbd\x15\x7b\x20\xd2\x1e\xe6\xf3\x08\xd8\x5a\xe0\x50\x50\x85\xb2\x9c\xc9\xc2\xe7\xfb\xed\x6a\xe1\x75\xe1\xf3\xb4\xbe\x65\x6f\x17\xca\x70\xd2\xfe\x17\x59\xfb\x9d\x38\xae\x35\x0e\x7c\x47\x29\x57\xe3\xe5\x5e\xd5\x79\x39\x8b\x95\x1b\x86\x74\xbe\xd6\x0f\xee\x95\x82\x75\x2c\xb8\x59\x7d\xc5\x0b\xf6\x59\xc1\xd1\x7a\xac\x94\xd9\x10\x65\x6c\x5e\xc6\x66\x65\x06\xeb\x03\xa5\xcc\xa6\x28\xe3\xf0\x32\x0e\x2b\x63\xaf\x87\x4a\x99\x2d\x51\xc6\xe2\x65\x28\x2b\xe3\x69\x74\xb6\xa1\x4c\xb5\xda\xaf\xf2\x32\x03\x18\x20\x1d\x86\x94\x2a\xc5\x5e\x8a\x62\x35\x5e\x6c\xc8\x8a\xbd\x58\x5f\x53\xca\xec\xf0\xe6\xea\x9b\xbc\xcc\x88\x95\xf1\xd7\x3d\xa5\xcc\x2b\xd1\xa5\x3e\x2f\xe3\xb2\x32\x77\xda\xf0\x2d\xce\xcb\xda\x0e\x2f\xf3\x8d\x95\xc1\xa8\xcf\x35\xb0\xaf\x2a\x85\xfb\xa2\xb0\xe8\xff\x2d\x2b\x1c\x07\x93\x4c\x49\x9b\x97\x94\x5c\xf5\x44\x49\x8f\x0e\xd4\x82\x8e\x20\x29\xc6\x31\x56\xda\x4f\x95\xa5\xbc\xec\x86\x20\xea\x03\x8b\x5d\x9f\xae\x41\x9c\xac\x52\x74\x80\x45\x37\xfa\x62\x36\x02\x56\x34\xb2\x2d\xbf\x96\x94\x7a\x59\x15\xa5\x04\x83\x26\xa2\xd4\x86\x52\x4a\x88\x5b\x55\x8c\xfa\xbb\x28\xb5\xa5\x94\xaa\x0b\x5a\xa2\x73\xa1\x28\xf5\x52\x29\xb5\x21\x4a\x09\x49\x8a\x44\xa9\x57\x4a\xa9\x4d\xc1\x14\x41\x2b\x86\x81\xd2\x41\xbc\x16\xab\x92\xf2\x92\x0b\xdd\x96\x94\x82\x29\x2b\x08\x93\x91\x2a\xb9\x2d\x78\x27\x4a\xde\x29\x7c\xd6\x8b\xbe\x14\x44\x45\xeb\x33\x31\x77\x7a\xb9\x1d\xc1\x17\xb1\x0c\xef\x41\xbc\x38\x08\xd4\x1a\xe6\x94\x92\xa5\xb9\x30\xd6\xb7\x45\x07\xe6\x38\xa6\x28\x5a\xa3\xdf\xa7\x96\x22\xb7\x2f\x2d\x51\x74\x8b\x17\x7d\xe0\xeb\xdb\x8a\x69\x98\x29\x8d\x42\x59\xdd\xb0\xc5\xf4\xfc\x93\x95\x9e\xb8\x4a\x11\x5b\x10\x14\x45\xfe\x80\xc5\x12\xc4\x19\x62\x0e\x5f\x7a\xd6\x06\x2f\xf9\x03\xd8\x14\xba\xb1\x1b\x8d\xd6\x26\xc1\x54\xdd\x88\x5e\x52\xb1\x50\x5f\xf2\xd2\xff\x0d\xeb\x39\x40\xa1\xfd\xa1\x3c\x02\xec\x23\x85\x27\xef\xc2\x5b\x8f\xdb\x85\x1b\x2b\xed\xc2\x7c\x58\xfa\x2e\x5c\xdf\x28\xbc\x26\x3a\x0f\xfe\xc3\xcc\x03\x75\x7c\x57\x5d\xd2\xe8\x36\xdb\x6d\xbc\x31\xf8\x81\xd0\x78\x56\x3d\xba\x44\x76\x87\x65\x5d\x9e\x46\x85\x32\xc6\x6b\x2a\x4f\x5b\xd3\xd8\x7e\x3a\x67\xb7\x1f\xc7\xd9\xcd\x95\xba\xe9\xb0\x2e\x3d\x85\xaf\x49\xf9\xcd\xaa\x28\xdf\xa7\xbc\xfc\xdf\x59\xf9\x8d\xf5\x4d\xa5\xd4\x56\x9f\x97\xaa\x6d\x88\x55\xf8\x89\x95\x2a\xb8\xdf\x0a\xc4\x73\x87\xe0\xbd\x44\x8a\x18\x05\x30\x0c\xc0\x78\x16\x8f\x08\x23\x3b\x18\xbc\x29\x29\x84\x6c\xd9\x9c\xd8\x9a\x3e\x33\x42\xb5\xf5\xba\x52\xc8\x11\x85\x5e\x8a\xbd\xe1\x8b\xba\xe6\x49\xdf\x0a\x9f\xe9\x4b\x93\x0f\x79\x47\x5d\x9b\xf1\x2c\x60\x8b\x24\xd2\x57\x28\x96\xdc\xde\x56\x97\xe8\x40\x5f\x9a\xbc\x83\xb6\xba\x36\x6b\xeb\x9b\xfa\x8a\xe4\x85\x36\xd5\x25\x69\xd9\x53\x8e\x55\xa0\x0a\xed\xa1\xeb\xfb\x3f\xb3\x28\x5f\x3e\x4e\x74\x9a\x29\xd0\xad\xfc\x92\x5b\x2b\x09\xd9\x00\xbb\xaf\x8b\x99\x14\x88\xaa\xbd\xa9\x09\x44\xa3\x40\xa6\x63\xcf\x9a\xc6\xa6\x39\x77\xb6\xd5\x39\x2f\x5c\x18\xca\x4a\xf6\xdb\x5b\xea\xd4\x33\xba\x21\x26\xa1\x14\x25\xe5\x1c\x38\xb6\x3a\x07\x85\xa9\xa4\xaa\xeb\x7c\x58\x98\xbe\x52\x95\xbe\x02\x2d\xf0\x49\x33\x89\x13\xdd\x54\xc5\xa9\x60\x65\xbb\x9b\x08\xd4\x40\x13\xa8\x42\x60\x28\x2b\x87\x46\xb7\x54\xc9\x62\x74\xf5\xa1\x25\xe2\x35\xc8\x1b\x5a\x46\xc6\x42\xea\xff\xc4\xee\xb4\xf3\x38\x11\xeb\xac\x26\x38\xd0\xa7\x3f\x6b\x7b\xa2\x55\x75\x7b\x62\x4c\x1b\x86\xd6\x1d\x35\x6d\x52\x89\xe2\xfb\x09\xf5\x14\x4d\x6e\xe4\x94\xd1\x97\x9a\x34\xda\x05\x62\x53\xc7\xf5\x3c\xcb\x24\x8e\xd6\x4b\x55\x1c\x23\xee\x3a\x1e\xcd\xc7\xfd\xc0\x23\x45\x27\x98\xf6\x3d\x4a\xa2\x92\x59\x8e\x5e\x69\x72\x24\x65\xce\x24\x46\xaf\x34\x31\x9a\x8a\x51\x9a\xa4\x68\x47\x93\x22\x9a\x2d\x4a\x33\xfb\x22\x88\xd1\x62\x11\x6a\x5a\xbe\xe5\xb8\x96\xff\x64\x59\x7a\xf5\x38\x59\x7a\xf7\x08\x59\x22\x36\xef\x9c\x2e\x54\x4f\x13\x12\xaa\x9f\x64\x56\x81\xd8\x6e\x68\x4f\xc7\x03\x8f\xde\xff\xb4\xb8\x50\x4b\xdb\xbd\x68\x0e\x71\x39\x43\x54\x1c\xbe\xff\xc0\x63\x55\x2b\x6f\xda\xc7\x06\x9b\xda\x3e\x16\xe4\x54\xf8\x37\x12\xc2\x41\x3f\xbd\x97\xa5\x58\xa2\x0a\xe3\x11\x0d\xc7\x3f\x21\x83\xb5\xea\xe3\x84\xf0\x64\x35\x73\x02\x74\x2a\x4f\xf6\xe4\x0e\xf1\xf7\x55\x77\x88\xbf\xfe\x10\x75\x34\xfd\xa9\x70\x65\x38\x1a\xff\xfa\xe3\x6e\xa0\x29\x52\xa9\x43\x2c\x25\x24\xce\x40\x15\x12\x1a\x3d\xd0\x38\xbb\x53\x01\xba\xdc\xcf\x48\x47\xed\x71\xd2\xf1\x71\x25\xe9\x70\xb1\x57\x7f\xd6\x79\xf7\x33\xe2\xf4\x17\x9c\x7f\x72\xfb\xf8\x92\xa7\x37\x29\x7b\x93\xae\x63\x4d\xb3\xbb\xb0\x22\x74\xd5\xb4\xd0\xa5\x37\x90\x44\xe6\xea\x69\x99\xfb\x33\xb6\x25\xaa\xab\x58\xae\x5a\x54\x15\xba\xf3\x20\x9c\xd1\xa1\x6b\xf9\xeb\x07\xd6\x4f\xa9\xf3\xb5\xfa\xe3\xa4\xaf\xb5\xb2\x3e\xbf\xbd\x92\x9c\xfa\x72\x20\x8e\x95\x55\xec\x13\x01\x94\x7b\xd2\xdf\x53\x7b\x92\x71\x03\xdb\xd6\x37\xb0\x56\x72\x2d\x34\xee\x61\x3b\xe9\x3d\x2c\x8a\xc3\xe0\x96\xfe\x49\x17\x81\x7f\xe4\xee\x76\xca\x45\x40\x3f\x40\xad\xc5\x5b\xe3\xb6\x2e\xa5\xd4\x34\x3c\x45\x52\x77\xd2\x92\x9a\x1e\xde\x5f\x7a\x19\xe8\x4e\x7e\x52\x42\x37\x1e\x27\xa1\x37\x2b\xc9\x5d\x34\x31\x88\xdb\xbf\x66\x7f\xb4\x6a\x9a\xb4\x3e\x2f\x10\xc0\x60\x8c\xa9\x63\x14\xd6\x9a\x26\xac\xe7\x05\x12\xbb\x9e\x63\x94\xd5\xfe\x40\x93\xd5\x37\x0a\x61\x93\x58\xf5\xb5\xcd\x2f\x35\xef\x89\x34\xd5\x34\x69\xf2\x33\xed\x2b\xc2\xf4\x52\x13\xa6\xd4\x96\xae\xc9\xc8\x8c\x3a\x3f\x25\x23\x8f\x7c\xb0\x79\xb9\xf2\x2e\xf6\x76\x35\x69\xc2\xfe\xe7\x6e\x5e\xaf\xb4\xcd\xab\x95\x3d\xae\xfe\x2d\x2d\x18\x2b\x6d\x5c\xff\x3b\x2d\x18\xdd\x99\x1b\x45\x4f\x17\xc7\x47\x5a\xae\xf7\x56\x14\x32\x37\x8a\xf2\x36\x2c\xa9\xe5\xfc\x47\x9e\x96\xf3\xc4\x7b\xe9\x2b\x4d\x1c\xb3\x17\xb5\x7f\x87\x2b\x69\x52\x7e\x90\xd1\xb9\xbe\xea\x3a\xd7\x9f\x73\x7b\xfd\x37\xb8\x9b\xac\x74\x81\x85\x10\x0d\x8a\x11\x21\x15\xcb\x71\x8a\x05\x8c\x49\xb1\xa6\x8e\x1b\xac\xf7\xa9\xe7\x15\xca\xa4\x80\x7f\x05\xc3\xe1\x6e\xdf\x8a\xe8\xf6\x66\xa1\xfc\xac\xd0\xab\x3b\xfe\xd5\xac\xd1\x6c\xc8\x9f\x83\xd1\xf7\xf7\x5b\x27\xf0\xeb\xd9\xe1\x5d\xeb\xdb\xc7\xfd\xb7\xc3\xc3\x7a\x7f\xe3\xd8\xb5\x3e\x9c\x61\x91\x8f\xcd\x97\xb2\xf8\x5b\x7b\x1f\x7f\x69\x6e\x16\xc8\x8b\x67\x85\xc6\xd5\x2b\xff\xa6\x76\xd6\x50\x7f\x36\x2d\x6f\xda\x1d\xb6\xe0\x77\x1a\xb5\x37\x5a\xcd\x8d\xf5\xcc\xcf\xce\xed\x81\x33\x7e\x35\xff\x38\xf6\x1e\xde\xbe\x6b\x34\x1a\x87\xa3\x09\x10\xb4\x8f\x86\xd3\xde\xc6\xb1\xdf\x3e\xba\x9f\x7c\xf4\x6e\xee\xec\xf1\xf1\xc4\x9e\xef\x1f\xb7\x0f\xda\xb3\xb3\x83\xdb\xd9\xf9\x43\x63\x0b\x9b\x69\x1d\x0a\x02\x27\x57\xc7\x07\xd7\xc3\x16\x0e\xeb\xe0\xf0\xac\x7d\xf6\xbe\x51\x3d\xde\xbf\xc6\x1e\x36\x1a\xef\x1a\x8d\xfd\xe1\x71\xf3\xf6\xe2\xb6\x7e\x73\x7c\x62\xbd\xbf\x0a\xba\xa3\xad\xf1\x71\xa7\xdd\xed\x8e\x3d\xef\xec\x6a\xe6\xde\xb8\x57\xae\x7d\xf5\xf1\xe3\xe6\xec\xfe\x7e\x34\xfa\xf6\xed\xe0\xed\xd1\xd1\xd1\xc5\x59\xfb\xa0\x73\x7b\xc8\x6a\x37\x9a\x8d\x93\xc6\xf8\x02\x08\x06\x2f\x6e\x8e\xad\x68\x73\xeb\xe6\x7e\xe8\x7f\xf3\x4f\x86\x17\xef\xbd\x8b\x8b\x13\x7b\xb8\xbf\x39\xe9\x6c\x1e\xdc\x1e\xcf\xee\xae\xc6\x1f\xeb\xdb\xe3\xf8\xe4\x26\xec\x47\x9b\x93\xe3\x77\xc3\xf3\xf7\xef\xae\x1a\x8d\x46\xbb\xf1\xae\x35\x1c\x8d\x3a\x9d\x6e\xb7\x79\x74\x78\x78\x74\xd2\x06\x82\xed\x8f\x1f\x3f\x7e\x0c\x86\xa3\xd1\xfd\xfd\x7c\xde\x3c\xf2\xfd\xb7\xed\x93\x93\xef\xee\x70\x38\x0c\xe6\xf3\x66\xf3\xa0\x77\x70\x3a\x99\x1c\x9f\x5f\x5c\x4c\xc7\x41\xb0\xb9\xb9\xbd\xed\xba\xd5\x6a\xab\x7d\x7a\xda\xef\x75\xbb\xb7\xb3\xfb\xda\xf5\xcd\xb7\x30\xac\x1e\x7d\xf8\x70\xff\x00\x04\x1f\xbe\xf9\xbe\xff\xf6\xf2\xe2\x82\x52\xdb\xde\xd9\x3c\x7e\x77\x7b\xfe\xbe\xf1\xae\x31\x64\x4c\x7b\x37\xfc\x78\x73\xb3\xbf\xdf\x6c\xb2\x1e\x1c\x9e\xb4\x4f\x2c\xeb\xa3\xcd\x1a\x6a\x1f\xbc\xbb\x3d\xbc\x6a\x30\x26\x0e\x81\xbf\xfb\x6f\x6f\x3b\x9d\x63\x20\x18\x75\x7a\xa7\x51\xe7\xe1\xbc\xda\xed\x5c\xee\xb8\xf7\x9d\xd6\xc3\x87\xce\x59\xf5\xba\x77\xdd\xaa\x5d\xb3\x1f\xe7\xba\xf6\xc1\x19\x7f\xf8\xe0\xf8\xec\x5f\xed\x66\xdc\xbe\xee\x4f\xdf\xd6\x6e\xa6\xed\xeb\x7e\xbd\x7d\xed\xbc\xda\xbc\x1e\x1d\xb5\x6f\xe0\x1f\x10\x64\xbf\xbc\x78\xbb\x31\x78\xb5\xc1\xfe\x55\x87\xe7\x47\xef\xae\x1b\xcd\xc6\x7e\xe3\xa4\xf1\xed\xe2\xa6\xff\xed\xc4\x6a\xbb\x47\xdf\x4f\xdd\x0b\xab\x7d\x30\x6a\x5b\x51\x63\xb8\x7f\xcb\x7a\xdf\x68\x36\x8e\x6f\xdd\xf6\xe4\xf6\xfb\xf9\xf1\x64\x7c\xf3\x3d\x1c\x8f\xfb\x40\x30\x1e\xbb\x61\x3c\xde\x38\x8d\xdc\x87\xd3\x68\x38\x6f\x8d\xbe\xcf\x98\x34\xec\xc3\xe4\xb3\x9f\x93\xfd\xc9\xf8\xfb\x8d\xf9\xdf\xf8\xe6\xc6\x1b\x5f\xcb\x7f\x40\x50\xfd\x20\xef\xdf\xbb\xa3\x6f\xed\x93\xe1\x7e\xa3\x31\xdc\x6f\xdc\x6f\xb4\xec\xfb\x8d\xd6\x6d\xe7\xba\x7d\x7b\xbf\xd1\x8e\xf6\x67\x38\xeb\xf3\x46\xa3\x01\x04\xd9\xe8\xae\xdc\x87\x43\xfb\x5b\xe7\xad\xfd\xd0\x7b\x6b\x3f\x3c\xbc\xb5\x1f\xee\xdf\x3a\xad\xde\xb1\xd7\x7a\x38\x7f\xd5\x9a\x5d\x36\x1b\xb5\x9b\x7d\xd6\xe1\x61\xa3\x8d\xdd\xde\x6f\x9c\x75\x1e\x0e\xed\xce\xc3\x31\xe3\xfd\x95\xbb\xd1\xb3\xbf\x5d\x7f\xc0\x95\xf2\xb0\xf1\xc1\xae\x6e\x7c\x60\xcc\xbf\x7e\xcc\xcf\xc7\xb7\x38\xd3\x8c\x35\xcd\x23\xe7\x66\x72\xf3\x1d\x08\x0e\x1b\xc3\x87\xdb\xa3\x16\x4e\x06\xb6\xff\x31\x78\x37\x3a\x38\x68\x08\x01\x7e\xd7\x68\xb4\xdd\xd1\x56\xb3\x69\x55\x8f\xc3\x87\x87\xde\xed\xc5\x78\xfa\x7e\xf8\xbd\xd3\xed\x57\x77\x8e\x8e\xaf\x8f\x23\x7f\x6a\x8d\x3f\x8e\x37\x2e\x71\xa5\x30\xf9\xeb\x9f\x6d\xde\x6c\x6e\xdd\x3f\x3c\xb8\xfe\xc9\xd8\x7e\x3f\x1c\x3b\x4d\xcb\xde\xd9\x3a\x3e\x38\xfe\xee\x05\xc7\xfe\xbb\xb1\x7f\x79\x41\x3b\x27\xfd\xfd\xed\xfa\xa4\x3a\x99\x3c\x3c\x8c\x7c\xdf\x6f\xbc\x3c\x3a\x7a\x7f\x64\xdb\x3b\x5b\x93\xea\x24\x78\xfb\xdd\xf1\x3e\x02\x41\x46\xf9\xbd\xd3\xb4\xb6\xbe\xbb\x5b\x87\xc7\xf1\xc3\x43\x30\xbe\x1a\xcf\x69\x6d\x7a\xdd\xed\xdb\x3b\x9b\x5b\x5b\xac\x21\x2e\xfc\xdf\xaf\xb7\xed\x87\xa8\xb5\xb5\x79\x73\xff\xf0\x10\xf8\xd6\xb8\x3e\xdd\x6a\x5e\xd7\x6d\x7b\xe7\xe5\xd6\xcd\xf1\xc3\x14\x57\xca\x3b\x7f\xa4\xac\x14\x24\x30\xf4\x9a\xef\x6a\x1f\xf7\x1b\xb0\x83\x75\x46\xf5\xfd\x6f\x47\xfe\xc7\xf6\x70\xf0\x71\xf3\xe8\xe3\xe8\xdd\x68\xe2\x1e\xf5\xde\xfa\xdd\xcb\x83\xc9\xc5\xf0\xcc\x1e\x4e\x26\xfb\xdb\xe7\xdf\x6e\x6f\x4e\x80\xe0\xf7\x8f\xe7\xef\xae\x46\xb7\xfe\xe4\x43\xb7\xc9\xb6\x20\x98\xcb\x46\xb3\xd5\x3a\x3c\x6e\xb7\x3f\x5e\x5d\x5d\xdd\xca\x0d\xe0\xe8\xe8\xe8\xa4\xdd\xb6\xa8\x6d\x0f\x83\xef\xdf\x4f\xba\x5d\xd7\x0d\x4f\x4e\x4e\x2f\xcf\xce\xa2\x28\x8a\x76\x66\x73\x20\x38\xdf\x7e\x38\x78\xf8\x16\x86\xd1\xd9\xd9\xbb\x77\xb3\xd9\x7d\x7c\x7e\x7c\x72\x7a\xf0\xe1\xfa\x7a\x7c\x71\x1e\x53\x8b\xda\xdb\x9b\x5b\xdd\xa3\xa9\x17\x3b\x37\xd6\xc9\xf6\xfb\xab\xab\xdb\x60\x32\xe9\x36\xaa\x37\xfb\x7c\xc7\x69\xee\xdf\xde\xb6\x5a\x47\x47\x1f\xaf\xae\x80\x20\xf4\x60\x32\x9a\xcf\xdd\xb1\x1f\xb4\xdb\x27\x69\x99\xdb\x69\xf6\x2e\x5b\x9d\x8d\x4e\xea\xdf\xe5\x4e\xe7\xbe\xd3\x72\xaf\x3b\x2d\xf7\x43\xe7\xcc\xad\xf5\xce\x1e\x6a\xb8\xc1\x5e\x1f\x5e\x7f\x70\xc6\xb5\x1b\x6f\xe3\x43\x3f\xde\xbc\x76\xea\x6f\x3f\x0c\x6a\x1b\x1b\x83\xda\x66\x6d\x70\xb8\x79\xe3\xbd\xbf\xc9\xfe\x6b\xf2\x1d\x1b\x5a\x6c\xb5\xdb\xed\x8f\xef\x80\x35\x40\x70\x74\xd3\x71\xbf\x1d\xbc\x7d\xeb\xb7\xcf\x2f\xde\x0d\xc7\xfb\x92\x8f\x7c\x4d\x74\x36\x5a\x57\xf7\x5b\x2d\x7b\x7e\xd3\xba\xed\xbe\x6c\xdf\xf6\x9c\x76\xf4\x30\x68\x57\x7b\xeb\x67\xd5\x6a\xe7\xfc\xf0\xaa\xd7\x39\xbf\xba\xbf\x76\xaa\x9d\xeb\x1a\x10\xac\xde\xdf\x78\x57\x0f\x37\x4e\xf5\xe1\xda\xab\xd6\xae\xbd\xda\x87\x1b\xaf\xde\xbf\xf1\xde\xbf\x74\x5e\xbd\xef\xdf\xbc\xda\x58\x77\xf4\x7f\xaf\x9c\x1a\xdf\xfa\x87\x8d\x77\xcd\x61\xfb\x61\xdc\x6d\xbb\xe3\x6e\xfb\x1b\x3f\x02\x36\xab\x6e\x77\xbf\xdd\x3d\x0a\x1b\xed\xc6\x0d\xac\xd2\xe6\xf0\xa4\xfd\xd2\xbd\x68\x6f\x7e\xeb\xde\xb4\x6f\xdf\xdf\xb4\xc7\xf4\xe6\xc6\x77\x6f\xbe\x4f\xc6\x37\x2f\x27\xdf\xad\xf6\x09\x6e\x63\xb0\x88\x5a\xfc\x08\x1d\x5a\xed\xef\x3e\x0a\x76\xfb\xbb\xef\xb6\x43\xdf\x6d\x6f\x06\xee\xcd\xcd\xc4\xbd\xf9\xfe\x7d\x6a\x1d\x47\xf3\xef\x2f\xc3\xe9\x63\xfe\xdd\xee\x07\x28\x36\xcd\xa0\xf1\x0e\x0e\x1c\x67\x7e\x0c\xff\xae\xbb\xc7\xad\xeb\xf9\x71\xc3\x6e\x1f\x5c\xdf\x1e\x36\xce\x86\xc0\xd2\xd9\x41\xcb\x7e\x57\x6b\xdf\xde\xbf\x6c\x47\xbd\xc1\x19\xe7\xe1\xd9\xab\x6a\xef\xec\xd5\xf5\x87\xce\xe1\xe1\x6c\x78\x0e\x04\xc5\x09\x26\x54\x87\xd9\x71\xe3\xac\xfb\xb2\x65\x3f\x38\xad\xdb\xab\xeb\x76\x5c\xbb\x6e\xd7\x6a\xd7\xed\xf8\xfa\xfa\xdd\xab\x65\x1b\x10\x8a\x8d\xf2\x53\xeb\x75\xce\xab\x0f\xdd\xfd\xea\x71\x93\xcd\x34\x63\xe9\xb7\x77\xef\x3e\xde\x8c\xf6\x9b\x27\xf6\x64\xbf\xd9\xff\x56\xfb\xd8\x3c\x78\x3b\x3e\x6e\xbc\x1f\x5d\xbc\xb3\x46\xf7\xfb\x6e\x6b\x72\xdf\x78\x38\x38\xb8\x3d\x6f\xfb\xdd\x77\x40\xf0\x5d\xd7\x7e\x35\x3d\x6e\x6f\xcd\x66\x0f\x0f\x9b\x87\xed\xe0\xf0\xaa\x73\x36\xdc\xac\x7a\xe7\x9b\x9b\xc3\x03\xfb\x64\xfc\xa1\xe5\x7b\x17\x8d\x11\x5b\xdb\xad\xc6\x61\x8b\x0d\xe6\x7e\x7e\xf0\xb6\x75\xf4\xf6\xf4\xa2\x6b\x8f\x87\x9d\xb3\xcd\xfb\xe6\x4d\xfd\x6a\x7e\x70\x8b\x93\x32\xb9\xb9\xec\x76\xbb\xb7\xb1\x37\x1a\x3e\x9c\x74\xdf\x8f\x5b\xe3\xcb\x6f\xfe\xc9\x65\xb7\x6b\x8f\x6f\xbd\xfd\xd1\xa9\x3b\xa9\xdf\xb6\xc6\x17\xc7\xe1\x3b\x58\xe4\x6f\x99\x7c\x36\xb7\xdf\xbe\xbb\xdd\xbf\xda\x7f\xc7\x96\xd4\x51\xfb\xec\x6a\x18\x4c\x46\x37\x9d\x2e\xee\x36\xae\x3f\xbe\x3d\x3c\x3d\x39\xa3\x57\xf6\xd5\x6d\xb0\x35\xd9\xba\xef\x3d\x7c\xbb\x6d\xbf\xfd\xd8\x3b\x39\x7b\x67\x39\xc3\xfb\xc6\x64\xd2\xb9\xef\x3d\xb8\xfe\xdb\xb7\xed\xde\xd9\x3b\xfa\xde\x1e\xbe\xda\xdf\x67\xea\x59\xfb\x8c\x49\xd9\x41\xe3\x9d\x3b\xac\xde\xb4\xae\xf0\x4c\x69\x35\xed\xc6\xe6\xdb\xc6\xed\xc3\xd6\x59\xb5\x7b\xff\xce\xeb\xde\x9f\x1f\x3e\xdc\x77\xbc\xda\xfd\xf9\x79\x6d\xeb\xaa\xfa\xd0\x7b\x57\xbb\xba\xee\x5c\xcf\xef\xcf\xaf\x6b\xd7\x9d\xeb\xfa\xfd\xcd\xf9\x75\xff\xa3\xd7\xeb\x9c\x9f\xf7\x06\x9d\xab\xeb\xce\xf9\xe1\x75\xe7\xfa\xba\xba\x75\x83\xb3\x7c\xdd\xbf\x8e\x1f\x1e\x3a\x5e\xfd\xba\x73\xbd\xd1\xb9\xb9\xae\xf5\x6f\xbc\xfa\xfd\xcd\x8b\xeb\xad\x9b\xda\xc6\xc3\xf9\xf9\x7b\xf6\x99\xc3\x88\x5c\xd7\x6a\x5b\x37\xaf\x3e\xbc\xba\x89\x3f\xdc\x0c\x65\x43\xbd\x4e\x07\x1b\x7a\xb8\xc1\x59\xae\xbd\xfc\x58\xbb\xfa\xd0\xb9\xbe\xba\xbe\xf6\xde\x5f\x77\xae\xdf\x7f\xb8\xf1\xfe\x7f\xec\xfd\xf7\x92\xe3\x46\x96\x28\x0e\xff\xaf\xa7\xe0\xce\x17\x71\xbb\xb5\x6c\x35\x40\x80\x76\xb4\x3d\x1b\x09\x47\x18\x82\x20\x3c\x81\x89\x09\x05\x1c\x01\x10\xde\x83\xd8\x9d\x77\xff\x82\x44\x55\x9b\x2a\x56\x77\x75\x4b\xbb\xa3\x7b\xe3\x57\x11\x92\x28\x20\xf3\xe4\xc9\xe3\x4d\x92\xa9\x9f\x5c\x4d\xdb\x98\x1b\xb9\xbf\x0e\xde\xef\x11\x49\xd3\x34\xdb\xd4\x90\x93\x56\x6b\xa6\xb9\x99\x1f\x25\xed\xa8\xb9\x31\x72\x72\x35\x5d\x32\xa7\xfa\xc6\xa3\xe6\x27\x73\x33\xaa\x9e\x14\xdc\x30\x98\x6d\xb4\xd9\x75\xb0\xe1\x9a\xb1\x61\xbb\x33\xf4\x12\xe4\x49\x12\x17\x59\x11\x16\x49\x18\x16\x45\x91\x14\x75\x82\x14\x65\x31\xb3\xb3\x26\x2c\xb2\xa2\xe4\xaa\xc4\x2b\xca\x62\xe0\xaa\x62\x5a\x96\xc9\x50\x8e\xaa\x17\x86\x45\x59\x84\x45\x15\x5e\x8a\x22\xbc\x94\x55\x31\xac\x8a\x70\x28\xeb\x22\x2c\x9a\x02\xe5\xaa\x12\xb7\xcb\xa2\x2d\xeb\x66\xbd\xeb\x2e\x43\xd9\xa4\x78\x51\x16\xcb\xb2\x6a\xc6\x71\x4d\x81\x96\x7d\x4a\x97\xcd\x19\x5b\x8f\x62\x13\xa6\xbb\xbc\x68\x8b\xa6\x48\x96\x4d\xb2\x2a\x9b\x94\xe6\xeb\x04\x76\xb2\x65\x59\xb4\x61\xb9\xeb\x4a\x82\xab\x1a\xa8\x6c\xc2\x29\xec\xca\x94\xa4\x1d\x8f\x6e\x4c\xa1\x67\x0d\xd1\xcc\x0d\x32\x3b\xb9\x8b\x85\xbd\x99\xeb\x17\x5b\x69\xa0\x1b\xc0\xf2\xd4\x72\x8e\xd7\x2c\xe1\xd6\x5f\x0c\xc8\xda\x69\x6c\xb3\xa6\x77\xfb\x66\xbb\x9a\xd6\xd3\xb5\x3d\x70\xc3\x26\x10\x98\x65\x6c\x2e\x0a\xc4\xb6\x8a\xa2\x34\x9b\xa2\x98\x36\x17\x3b\x6c\x89\x52\xa8\x71\x55\xd3\x36\x47\x53\x8b\xd1\xc1\x75\x47\x5d\x96\xdc\x06\x1d\x3c\x41\xdf\x78\xfb\xac\x28\x8b\x26\x2c\x77\xed\x15\xab\x33\xed\xf4\xc9\xda\x69\x06\xe0\x1c\xdd\x0a\x39\xc7\xed\x31\xb5\xb9\x1a\x47\x67\xe7\xcb\xc1\x61\x07\xa4\xb5\xfb\x94\x5e\x09\xcd\x01\x71\x2d\xa1\x25\x40\x4a\xdf\x00\x9e\xbb\xab\x06\x90\x37\x0d\x20\xd7\x39\xc8\x64\xb2\x04\x19\x98\x03\x11\x6c\x19\xcf\x51\xd5\x1e\x14\xbd\x8c\xc1\x24\xb5\x2b\x18\x4e\x52\x79\xd1\x08\x1c\x78\xc1\xf5\xd2\x45\x55\xc9\xbc\x60\x4c\x45\xe5\x2a\xc3\xd7\x98\xc5\x18\x70\x5e\xd8\x8b\x42\x46\x79\xc6\x99\x8a\xac\xfa\x5e\x90\x6b\x18\x67\x2d\xb7\xea\x2c\x66\xcb\xca\xb2\x55\xa3\x81\xfd\x1c\x33\x39\x4b\x46\x54\x38\xce\x8b\xc2\xb1\x55\x3d\xeb\x24\xa3\x07\x97\xc5\x52\x8a\x86\x28\x62\x73\x5b\xd4\xe5\x24\xaa\xc7\x60\x09\x5e\x70\x8b\x25\x1e\x11\x11\xcb\xe5\x96\xa8\xca\x70\x56\x6b\x55\xcf\x5e\x2c\xfc\x0c\x47\x14\x53\x58\xa2\xac\xc2\x49\x5e\xdf\x16\xd2\x23\x2a\xaa\x39\xde\x36\x54\x1d\x99\xf7\xb3\xa0\xbf\x2e\x14\x91\x71\xcd\x72\x8e\xf1\xe0\x46\x11\xb8\xee\xf3\xec\xdc\x87\x58\x34\x44\x29\x9b\xb2\xbc\x7c\x5d\x2d\xde\xb3\xd6\xc2\x0c\xd5\xeb\x42\x89\x21\xc8\x72\x54\xd4\xb1\xc9\xca\x03\x7b\x51\x6e\x0b\x19\x82\x20\x47\x51\x5e\xe7\x2c\xa7\x70\x5b\x75\x16\xe5\x63\xe4\x50\x19\x9a\xac\x27\x5d\x3f\xcb\x7b\xd9\x26\xf4\xeb\xb6\x58\xce\xb1\x64\x39\xe9\xea\x3e\xce\x6d\x65\xa7\xcd\x48\x2a\xdb\x8d\xdb\x4a\xea\x5a\x33\x4b\xab\x40\xb7\x2a\x99\x97\xac\xa5\x1a\x32\x5c\xf4\xb5\x64\x96\xf6\x99\x4e\xc6\x18\x3b\xca\xf3\xd2\x12\x65\x1d\x4e\xf2\x5e\x32\xed\x73\x88\x6e\x93\x78\x5f\xee\x2d\x5b\xb7\x92\x79\xbf\x08\x72\xdb\x56\x50\x3d\x49\xf7\x5c\xe9\xda\xaa\x9a\x5d\x77\x94\x9f\x6d\x1b\xd5\x92\xb4\x6d\x19\x6e\xa4\x5f\xbc\x67\xc3\x1b\x40\x2b\x44\xb7\xb3\x84\xab\x33\x53\xd1\xe5\xb0\xe8\x63\x93\xb5\x6c\x82\x4e\x90\xb8\xe0\x05\x53\x91\x8d\x28\xc9\x7b\x93\x95\xcf\xf8\x75\xa1\xba\x6a\x2c\x4b\xb7\x92\xae\x5f\xe4\xb9\x1c\xae\x8e\x09\x92\xee\xab\xfd\xc9\x56\xf5\xa2\x1b\x99\xd2\xe7\xb9\x22\xaf\x8e\xba\x9e\x0a\x87\xe6\xa4\xe9\x00\x10\xc0\x07\x3c\x10\x19\xc0\x9a\x16\x21\x46\xac\x0a\x6e\x86\x94\xdc\x32\x6a\xb5\x60\x2d\x09\xbb\x0c\x44\x54\xe0\xea\x8e\x17\x64\x2f\x77\xa2\x1e\xe7\xe4\x58\x1b\x48\x72\xcc\xa4\x58\xfb\x78\xa5\x6e\xde\xbb\xc6\x02\xc7\xf5\x98\x8a\xaa\x62\xe7\x68\xba\x75\x89\xf2\x2b\x6d\x76\x22\x00\xd9\x83\x21\xc5\x22\x84\xed\x45\x92\x23\xb4\x88\x05\xa4\x78\x7d\xb6\x65\xae\x82\x09\x0c\x33\x97\x42\x62\x8c\x1c\xb0\x30\xa2\xb6\xbc\xc8\x14\xaa\x71\x15\xa1\x5c\x92\xce\x57\x6e\x6f\x69\x5e\x10\xc3\xcc\x34\xd6\x0b\x8c\xc3\x13\x52\x25\xb3\x82\x33\x54\x51\x8e\xa2\x38\x17\xaf\x71\x4a\xe6\x5c\x3d\xbc\xbd\xc7\x55\x1d\xbb\xf8\x30\x0b\x1e\xb2\x51\x15\xa8\xd7\x6c\xf4\xba\x16\x6f\x18\xbe\x4b\x89\x17\x2e\xd8\x92\x0a\x99\xa5\x85\x41\x8a\xba\xdf\xd4\xae\x6b\xca\xd6\xf2\x48\x0d\x54\x5e\x94\xb6\x62\x88\x20\xac\x03\xd7\xb8\xc8\x97\xe3\x76\x46\xe5\x49\xe9\xc8\x86\x1e\x56\xa3\x0b\x00\xc2\x00\x80\x48\x54\x1d\xc9\x64\xfb\xad\x18\x03\x16\xd0\x80\x04\x46\xd6\x4b\xe7\xe1\x1c\xa7\xe4\x76\xc7\x0b\x9e\xef\xec\x81\xdf\x2f\x82\x0b\x49\x84\xe5\x36\x65\x78\x41\xf4\x7d\xed\x8a\x3d\x8e\x6f\xc9\x81\x88\xae\x11\xd8\x83\x1b\x6d\x0c\x27\xb8\x26\x88\xdc\x96\x20\x49\x86\xc9\x4d\x45\x16\x45\x3f\x08\x28\x96\x5b\xca\x38\x49\x92\x4c\x9e\x1f\x45\x51\xf4\xc3\x20\xa6\x98\xab\x6f\x2a\x6e\x7b\xdd\x61\x92\x49\x0b\x78\x64\x61\x57\x17\x8b\x03\x3a\x7a\xc0\x90\x01\xbd\x7c\x8e\xe8\xcc\x94\xb6\x9c\x63\xf8\x31\xcb\xca\x57\xec\x48\x32\x67\x8b\x23\xc3\x8b\x61\x94\xf7\x9a\xb1\xc0\x96\x5b\x35\xa6\xca\x8a\x61\x95\xab\x22\xcc\xdc\x00\xe3\x2c\x19\xdd\xea\xd1\x9e\x2b\x1d\xcd\xb0\x96\xf3\x31\x3e\xcc\x5d\x33\x2c\x89\xe3\x71\x46\x15\x7c\xed\x59\x96\x05\x67\x57\x0d\x29\x07\x3b\x02\x60\xdf\x51\x58\x87\x77\xa0\xaf\xa9\x7d\xe8\x18\xb8\x9c\xc1\x26\xae\x82\x08\x38\xc0\xc7\xf1\x88\xda\x0a\x57\xba\xab\x46\x96\xf5\x8b\x45\x3f\x72\x19\xc7\x53\x2a\xa1\x0f\x02\x67\x19\xc6\x98\x05\x5c\x03\xd0\x6b\x1a\x21\xf0\xfc\x43\x66\xd0\xe7\xc1\x2d\xb5\xa0\x1f\xb3\x85\xf9\x97\xe9\xc6\x63\x06\x71\x03\x38\xa6\x11\x11\x00\x78\xde\x5d\x7d\x77\x45\x51\x91\x33\xe7\xa4\x8c\xbc\x86\xbd\x0c\x28\xae\xf1\x36\x46\xe9\x46\xd6\xf5\x7d\xe0\xdb\xf8\x43\xbd\x81\x57\x0d\x79\x7c\x16\x9c\xed\x87\x67\x37\x80\xbc\x63\x19\x8f\x2f\x1e\x8b\x13\xbc\x63\x3c\x2b\x58\xbc\xe6\xd9\x68\x1c\xa8\xba\x2c\xed\xa3\xae\x27\x4d\x7d\x4d\x1d\xac\x25\x32\x9b\xc5\x79\x59\x8a\x18\x68\xbb\x8c\x06\x87\x35\xbd\x9d\x8d\xfc\xc4\x2f\xdd\x8d\x86\x24\x98\x03\x80\x9d\x89\x84\x16\x04\x41\x34\xdc\x80\x31\xf2\x25\x27\x93\x37\x80\x57\x11\xca\xd4\x3d\x27\xc8\x7e\x1c\x50\x18\xc7\xc9\xf1\xa0\x44\x39\x97\x5b\xb2\xaa\x47\x85\xe9\xcc\x58\x99\x0b\xf5\x38\x8e\xaf\x2e\x40\x51\xf5\x28\xbb\x2d\x8c\x5d\xf4\x78\x16\xb3\xc5\x15\x19\xc1\x0f\xe3\x7a\x2f\x59\xa3\xb5\x59\x22\x33\x84\xa4\x18\xce\x3a\xea\x7a\x56\xd5\x7d\x8c\x71\x72\x81\xcc\x90\x2d\xc7\xef\x0d\x53\x56\x93\xa2\xee\xdd\x20\x2c\x89\x6d\x04\xc7\x6c\xb5\xbb\x6e\x73\x79\x09\xe2\xbd\x69\x59\xc3\x75\xeb\x55\xcd\xd9\x47\xdd\xc8\x2e\x63\x16\x70\x15\x11\xd9\x4a\x66\xb3\x84\xdb\xed\x5d\xd3\xc2\x3b\xc2\xb7\x53\x00\x7c\x32\xec\x1c\xc3\xd2\xf2\xdd\x01\x87\xbd\x07\xe1\xc5\x49\x0c\x00\x09\x1f\xa5\x80\x17\x45\xdf\x0f\xd4\xab\xc8\x2c\xf1\x9b\x52\x8c\x75\x1b\x55\xe2\x78\xcf\x70\xdc\xb1\x9c\x42\x9e\x09\x3a\xcd\x98\x71\x70\xc0\x82\x7e\x11\xf4\x30\x39\x26\x37\xa2\xd0\x38\x8f\x5a\x45\xaa\x51\x99\xd2\xb4\x78\x1b\x17\x53\x18\x7e\xd5\xaa\x31\x9c\x23\x19\x26\x33\x24\x59\x0e\x23\xf7\x3a\x98\xbb\x0d\xce\x72\xd6\xb8\x0e\x4e\xe2\x98\x62\x39\xce\xd2\xc9\x71\x9c\x28\xcb\x61\x12\xc7\x37\xa0\x0f\x79\x9f\x29\xca\x23\x50\x76\xf4\x29\x9c\x75\x7d\xc1\x30\x99\x29\x89\xb7\xc1\x14\xcb\x5d\x31\x1d\x07\x4b\xb2\xec\x47\xc1\x8d\x59\xd6\x08\x80\x79\x04\x7a\x5b\x48\xbd\x86\xc8\x04\xd6\xe1\x00\xe0\x87\x31\xad\x60\xb9\x03\xc7\x24\x1d\x3c\x77\x18\x42\xdd\x9e\x19\xd9\xc7\x01\x01\x00\x70\xdc\xa0\x58\x5e\x52\xfd\x82\x13\x54\xca\xc8\xba\x3c\x97\x45\x27\xc0\xc2\x5d\x40\xc9\xe1\x39\xa6\x2b\x5d\x63\xb6\x8e\x6a\xcc\x4c\xb1\xcf\x25\x49\x51\x93\x76\x04\x98\x6e\x39\x5e\x55\xa7\xae\x01\x67\x7d\xb7\xbc\xa8\x5a\x94\x65\x91\xb1\x93\x9d\xe2\x32\x73\xab\x0e\xbb\x26\x29\x38\x00\x1d\x89\x93\x83\xaf\x02\x8c\xc2\xce\xcc\x15\xab\x00\x88\x39\xe0\xf0\xae\xdb\x83\xfe\x08\x44\x72\x81\x31\x63\xbe\x8c\xfb\x1d\xd7\xcf\xa5\x01\x4e\x22\x02\x60\x38\x79\x01\x17\x29\xa4\x7c\x9e\x0c\x84\xc2\xb7\xd8\x50\xf0\x31\xe3\xb8\x25\x18\x6c\x0e\xf8\xb3\x81\xc0\x61\xd7\x66\x7c\x05\xa8\xa3\xdb\xcf\x18\x46\xf4\x31\x7c\xcb\xf4\x22\xa9\x46\x0c\x3e\x1a\x07\x12\x59\xcc\xe7\xfe\xec\xd0\xf0\x24\x2b\x44\x7a\x4c\xf8\x63\x1a\x3a\x07\x00\xd0\x3e\x00\x91\x0f\xfb\x4c\xc8\x59\x82\x31\x17\xce\xdd\x54\x24\x59\x52\x8a\x02\x4e\x21\x17\x0f\x95\xa7\x1d\xc0\x7c\xb0\x06\x3e\x2e\x52\x37\x80\x21\x13\x32\x66\xb6\x3c\x77\x53\x9e\xf8\x38\x16\x88\xf1\xe7\x25\x54\x1c\x3c\xac\x02\xc6\x64\x11\x07\xc1\xc1\x44\x5c\x05\x00\xd1\x10\xba\x87\x37\xc2\x76\x2c\x99\xda\x51\x76\xcb\xca\x12\x67\x35\x27\x24\xff\xb2\x3f\xf3\xcb\x8d\x02\x06\x41\x89\x56\x73\x37\xdd\x35\xb6\xd7\x55\xb6\xe5\x27\x66\xb8\xcf\xe7\x2e\xcc\xd9\x15\xd9\xcb\x06\xc4\xa0\x47\x55\xe9\x58\x3f\xf2\x4c\x37\x9d\xd1\xc6\x7c\xc8\xce\x37\x80\x28\x0a\x15\x1b\x82\xaa\x5b\x54\x0d\x67\xd0\x39\xe9\x57\x31\xae\xd6\x87\x7a\xb6\x86\x2a\xe3\xb4\xe1\x23\x1f\x54\x60\x2b\x61\x2e\xea\xf3\xdb\xc3\xbc\x52\xa7\x05\x7e\x30\xb0\xcb\x46\x2b\x01\x6a\x14\x6c\x56\xe9\xa8\x8e\x40\xde\x69\x16\x8e\xf9\x32\xd4\xa0\x8e\xbf\x36\xb7\xd0\x62\x75\x56\xa7\xf9\x21\xb1\xb7\x24\xab\xfa\xd1\x29\xb5\x18\x74\x43\xd8\x87\xa2\x77\x5d\x33\x0f\x6c\x5e\x4a\x70\x67\x51\x72\x71\xa4\xf2\xd1\xa5\x5f\x87\x4c\xd6\xf8\x0b\x97\x6d\x67\x82\x41\x6f\xac\xc5\xc6\x99\x8e\x18\x6e\xbd\xb6\x70\x56\x26\x72\xa4\x5c\xe2\xbc\x83\x0a\x7a\xa8\xa5\xd3\x59\x27\xf5\x9e\x85\xac\x70\xeb\x0d\xe7\x2c\x68\x36\x74\x85\x9b\xae\x88\x71\x76\x48\xc3\x5a\xad\x42\x68\xb2\x5e\xc4\xc4\x16\x51\xa0\x69\x1f\x99\x8e\x91\x1e\xa7\xe4\x08\xd0\x2a\x86\x16\xea\x15\x5f\xc8\x14\x6a\x3b\xed\x57\xf2\xbe\x10\xe7\xfb\x69\x06\x00\x26\xf7\x8d\x76\xec\x56\x2b\xd6\x5d\xd8\x49\xa2\x24\x0d\x6b\x45\xc7\xd5\x02\xde\xd0\x34\x1c\x6d\x0d\xae\x05\xd2\x21\xef\x4e\x82\x0c\x0e\x17\xf9\x00\x1c\x64\x14\x9b\x28\xf5\x88\x0e\x43\xe8\x0e\x00\x36\x16\x09\x83\x5b\x2c\xd6\xcb\xfd\x6a\xb3\x65\xf1\x73\x3f\x9f\xe6\x4b\x8b\x50\x5d\x64\x75\x94\x5b\xe9\x72\xdc\xb1\x11\x83\x2f\x0c\x73\x76\xde\xb5\x8b\x38\x17\x02\x53\x19\xe0\x6a\x4a\x24\x29\x35\x73\xc7\xe8\x2b\xaf\xcb\x94\x5f\xaa\x84\xcf\xe8\xb3\xd9\x31\x58\x3b\xb4\xe2\xc2\x90\x9c\xd8\xbe\x00\xdc\xde\xb9\xe8\x1d\x7f\xcd\x38\x4b\x13\x3d\xed\xe5\x93\x69\x0f\x5c\x68\x94\xdc\x7c\x5a\x1f\x8a\x3a\xe5\xb5\x9d\xe0\xe9\xc2\x16\x89\xb4\x56\x35\xc6\x2d\xe7\xc8\x81\x85\x82\x08\x8f\x17\x16\x25\x09\x73\x65\xb7\x35\x0e\xa6\xc3\xa8\x68\x6b\xf0\xb3\x20\x0b\xe4\xf9\x99\xa6\xe2\xf4\xa2\x43\x88\xb2\x60\x57\xd1\xb6\x92\x83\xa3\xae\xac\xf7\xf0\x42\x9b\xa2\x38\xb4\x3d\x14\xec\x4c\x74\xf5\xb0\xda\x1e\x46\x03\x4b\x0e\x74\x71\x64\x64\xec\xc0\x84\xa9\x4e\xa8\xf5\x8a\xf1\xd8\x16\x3a\x2d\x84\x7a\xc0\xfa\x5c\x19\x4c\x53\x9c\xe2\x06\x19\xd0\xc7\x53\xb1\x9d\x5b\x00\x13\xe3\x70\x85\x6c\xd9\x60\x3f\xcf\xd8\x76\x1a\x1c\x1d\x90\x03\xf6\x9a\x3b\xe8\x37\x80\xeb\x2d\x52\x5a\xe0\x38\xdf\xab\x0e\xc0\x52\xad\x5e\xad\xf0\xc1\x04\xd8\x74\x57\xd1\x8e\xe6\x4d\xc5\x79\x30\x15\xb1\x59\x17\x40\x66\xc9\x2a\x87\x5e\xc6\x5c\x66\x9d\xf8\x8a\x07\x5c\xa5\x12\x85\x8c\x52\xc9\xd4\xdf\x60\xb4\xa3\x1d\x82\xfe\x06\x50\x96\x24\x23\xe2\x74\x93\x3d\x0a\x94\x71\x58\x6a\x73\x40\x96\x61\xce\x66\xe4\xf9\xe8\x03\xa4\x63\x25\x93\x96\xc9\x3e\x61\x89\x64\x4d\xc1\x60\xe9\x93\xc7\xca\x5f\x58\x73\xb3\x02\x3b\xa6\x2e\x79\x6c\x35\x3d\x05\x2b\x95\xdb\xb5\x86\x3e\x66\xf4\x6e\x5d\x11\x1d\x75\x9a\x25\x83\x31\xc8\x33\x6a\x8d\xec\x67\x01\x22\x5c\x6a\xc4\x5b\x2d\xb1\x99\xe8\xca\xb0\x0c\x2a\x31\xf4\x77\x07\x5e\xf0\x59\x79\xc3\x4a\xf8\x2a\xa0\x8e\x60\x19\xa9\xd5\x8e\xda\x73\xc4\xc2\x01\x0b\x47\x91\x5a\x5f\x1e\x6b\xb0\x07\x07\xa5\xe2\xcd\xa6\xd7\x51\x51\x09\x21\x9e\x96\xd6\x04\x99\x2c\xf5\xb4\xb5\x34\x11\x28\x9d\x54\x48\xdc\xf9\xd2\x89\x1b\xac\x2c\x83\xc6\x97\x10\xc0\x29\xd5\x41\xf4\x44\x27\x2a\x81\xe0\x13\x42\x60\x2b\xa4\x7c\x29\x8f\xe2\x02\xc6\x6f\x00\xa3\x7d\x7e\x74\x6b\xfd\xac\xaf\x74\x04\x42\xd5\xb3\x77\x44\xd5\xcd\xc2\x67\x5c\x2b\x3e\x49\x20\x03\x49\xa1\x92\x61\x97\x2f\xd0\x00\x77\x1d\xbc\x8b\xfd\xf9\xea\xe4\xd8\xa7\x21\x4e\x44\x1e\xf8\x16\x16\x05\x2b\x67\x7a\x72\x08\x9f\x9a\x8e\x72\x78\xea\x88\xe3\x69\xf0\xfc\xdd\xc1\xd9\x19\x6c\x05\x00\x2b\x82\x52\x39\x9e\xd3\x00\x6a\x8e\xdb\x0b\xda\xce\xe8\x08\xcd\xb5\x25\x84\xd6\x8b\xb2\xd1\xd7\xb3\xd3\x32\x2f\x4f\x36\x8f\x88\xa8\xbe\xd7\x2e\x9b\x35\xd6\xa9\xb5\x8d\x77\x01\x15\x8c\xf1\xa1\xde\x1c\xbc\x76\x29\x78\xd0\xdc\xb4\x28\x51\x75\x7c\xae\xd4\xaa\xb9\xeb\x9d\x86\x60\xa6\x00\x02\xcc\x08\x32\x58\xd8\xa8\x16\x13\x16\x89\x77\x0b\x7b\x6a\x1f\x4e\x11\x97\x55\x68\xcd\x80\xc6\x43\x5b\xd6\x14\xc2\x00\xf5\x2d\x34\x5e\x8e\xd6\x06\x3d\xc8\x27\x26\x2a\x77\x2d\x7c\x00\xf2\x7a\x79\x38\xb8\xbb\x95\xbf\xce\x1c\x84\xab\xbd\x3d\xc5\x71\x03\x27\x79\x81\xd0\x22\x3e\x9b\x51\x3b\xec\x70\x4c\xac\x63\x7b\xc0\x44\x66\xe7\xb3\x59\x0a\xdb\xb6\x8e\x55\x43\x69\x98\x86\xd1\x91\xab\x31\xbd\x8d\x91\xf3\xb4\x55\x5c\x75\xa5\xe5\x11\x32\xdb\x85\x2a\x2c\x5a\xe7\x43\x74\xe9\x00\xa0\x0b\x5b\xc5\x61\xc8\xa8\x0c\xc1\xb5\xe7\xde\x12\x13\xf2\x15\x09\x3b\x78\x08\xcf\x41\x06\x29\x3e\xb1\x36\x35\xc0\x87\xee\x32\x80\xc0\x9a\xf1\xb0\x1b\xc0\x7d\x94\x2f\xa1\xbe\x02\x00\x37\xc9\x1d\x69\x30\xd1\xf4\xd2\x32\x4b\x71\x98\xed\xf7\xcb\x98\x39\xd5\x18\xb4\x64\x78\xfd\xac\xb3\x7b\xa1\x38\x28\xbc\xe7\x82\xe4\x62\x9d\x97\x64\x05\x8b\x58\x14\xb3\x79\x28\xeb\x3a\x9d\x8a\x08\x9e\x19\x63\xfb\x63\xab\x83\xa4\x9e\xc2\xfe\x4e\xc4\x28\x0e\xc7\xd2\x1c\x11\x55\x55\x34\xa1\x59\x1d\xd4\x26\x81\xb1\x6a\x4e\xe9\xc6\x1a\x19\xd0\x79\xe6\x64\x25\xb6\x44\xb2\xe3\xaa\xc0\x16\x17\x38\x3b\x80\x16\x3a\x65\x3d\x8d\x2c\x3a\x2d\xf1\x19\xfa\x34\x9a\xaf\x9e\x12\xca\x75\xec\x99\x0e\x56\xcc\xb8\x1e\x35\x5b\xbc\xd8\x60\xbe\xb5\x44\x37\xa0\x6f\xe8\xe6\xb0\xdf\x41\xab\x99\x81\x53\x73\xf2\xd2\xb1\x79\x41\x53\xe0\xb8\x3c\x52\x70\x75\xd6\xec\x06\xec\xd3\xb6\x75\x77\x4e\xd9\x9c\x8c\x4e\xe0\xc7\x22\x46\x48\x58\xcb\x10\xcc\x97\x6b\x60\x00\x80\x2d\x93\x3d\xc6\x1f\x1d\x5f\x21\xd6\xb4\x2c\x15\xec\xbc\xed\xd6\xf8\x19\xc4\x38\x79\x00\x38\x90\xe3\x23\x04\x0e\xdd\x41\x60\xb9\x78\xd3\x5f\xdd\xe8\x21\x49\xbd\x16\xf1\xf4\x1c\x45\x8f\xfe\xe8\xe8\x3b\x94\x68\x4f\xc3\x32\xb9\x6c\x23\x34\xbb\x1c\xd6\x86\xc2\x55\xb8\xd0\x0e\xc0\x07\x3b\x31\x84\xb3\x99\xb3\xdc\x0f\x15\x22\x20\x07\x1f\x09\xe6\x00\x67\x58\xe0\x83\xed\x01\xb6\xf6\xe9\xa2\x87\x31\xc2\xd7\x4e\xf4\xaa\x41\x94\xfa\x72\x1a\x1d\xbd\x23\x31\x8d\x01\x2e\x62\x80\x51\x50\xdc\xca\x12\xa8\x6b\x1f\x2c\x95\x83\xad\x9b\x60\xe3\x5b\x6a\x69\xea\x40\x25\x01\x98\x12\xfd\x7c\x25\xa2\x50\xb9\x5e\xd1\xbd\xaa\x16\x66\x82\xc1\x58\xa2\x36\x7c\x9c\x9d\xa9\x33\x5d\xcf\x7c\x62\x6c\x2e\xa4\x69\xdb\x1c\xd7\x3c\x93\x54\x67\xb9\x58\xe8\xd1\x20\x0f\x5b\x79\x89\x08\x24\x13\x0b\xcd\x49\xd7\xbd\xa1\xd7\xf3\x76\x49\x61\x3e\xe1\xb3\x5a\x5c\x9f\x8e\x94\x51\xef\x01\x48\x0b\x15\xee\xc5\x8c\x80\x8d\x5d\x78\xcc\x16\x0e\xb5\x10\xc7\xe4\x71\x8e\xa7\xc6\xac\xc6\x76\x20\x32\x71\x01\x60\x20\xb0\x23\x08\xf0\x53\x08\x74\x32\x8e\xbb\xb1\x0e\x00\xe0\x1d\xea\x2c\xaf\xb2\xce\x5e\x6f\x35\x62\x68\x3d\x22\x34\xdb\x21\xb5\x6b\xa4\xa6\xe6\xf6\x6e\x91\xb9\xfb\x99\xc1\xc5\xeb\xb5\x32\xa6\x66\x24\xc0\x70\xb3\x6d\x4e\xc5\xc6\xc0\x15\xac\xe6\x3b\x0d\x88\x2a\x09\xba\x6d\xbd\x8f\xeb\x41\xb6\xe8\x16\x10\x06\x8e\x2a\xfd\x4e\x3b\x17\xa1\x04\xa6\x82\x09\xf8\x60\x70\x0a\xd2\x97\x1c\x20\x74\x19\xee\xb7\xae\xd2\x57\x0a\xbd\x1b\x93\x47\x92\x5a\x4e\x33\xc1\x46\xa6\x07\xc0\xac\x9d\xf0\x20\x3a\x47\x7f\x95\x0b\xc6\x74\x77\xee\x45\xb9\x45\x4e\xe7\x84\x6a\xce\xe8\xdc\xdf\x76\x03\x3a\x83\x21\x7b\xcb\x2d\x07\xb4\xf7\x95\xf5\x7a\xe5\x65\x89\xae\xee\x48\x8b\x70\xe1\x79\x47\x7b\x63\x5f\xcf\xe8\xdd\xb3\xe3\x6b\x88\xdc\xb7\x72\x97\xc2\x5a\x66\x1e\x59\xa9\x88\x24\x7c\x01\x64\x11\x4a\x1a\x2d\x03\x6a\x75\x5c\x01\x1f\x88\x3c\xb6\xb7\xb4\x0e\x80\x18\x60\x52\xaf\x40\xb3\x43\x72\x2a\x76\x85\x2c\xed\x09\x3b\x38\xda\xf0\xa8\xcb\xb6\x57\xe6\x18\x6a\x6f\xe6\xe7\xbc\xd1\x49\xf3\x8c\xe1\x04\x22\x38\xee\x91\xca\x71\x8e\xf4\x71\xe2\xe4\x50\x07\xbe\x5b\x03\x00\x08\xb5\x53\xe6\x71\xaa\x26\x0b\x38\x4e\xba\x32\xe7\xf9\xe0\x20\x32\xdc\x79\xd9\xc0\xe4\xfa\x54\x22\xed\x98\x49\x61\xa9\xcf\xef\x5d\x26\x2e\xcd\x2a\xf4\xcf\x56\x10\x9f\x1b\x77\x09\x28\xcd\x9f\xd6\xc3\xb1\x53\xd3\xe3\x0e\x55\xd8\x5d\x6e\x9d\x2d\x9d\x03\x73\xed\xd6\x68\x0f\xa9\x53\xc1\xfa\x1c\x30\xe1\xf5\xb1\xac\x65\xd4\xed\x6b\x71\x6f\x38\x63\x38\x77\x68\x0d\x72\xbb\xc6\xe3\xb6\x14\x25\xd6\xc7\xbc\x3c\xe8\xd2\xbd\xce\x9e\xeb\x6d\x91\xe4\x4b\x8d\x3c\xc8\x2d\xe6\xad\x48\x2c\x54\xd1\xc2\x67\x6d\x11\x74\xc4\x7c\xe7\xad\x77\x80\x27\xf8\x80\xb6\xf7\x00\x80\xd8\xe7\xa6\x35\x55\x2d\x46\x7b\x38\x35\x2e\xac\xb3\xb9\xe0\x29\x6b\xa1\x65\xbf\x3b\x34\xf1\x36\xed\xbb\xea\xa8\x6d\xa8\x2a\x42\xa2\xf9\x21\xac\x70\x40\xe3\x6b\x2a\xea\xec\x2d\xb9\xf1\xd9\x5b\x95\x24\xbd\x44\xd5\x19\xc6\x5d\x8a\x37\x77\x3b\x3f\x1b\xd6\xfc\x94\x7a\xe8\x2f\x87\x9d\x81\xf9\x4c\x3f\x1d\xe8\x10\xc7\x00\x07\x62\x8c\xdb\xe7\xd4\xac\x12\x36\x6c\xae\x39\x17\x32\xdc\x58\xe5\x6c\x61\xc4\xb4\x5f\x36\xf5\xe2\x74\x60\xd3\xc8\x65\x97\x2d\xd9\x99\x87\x0b\xa0\x45\x8c\x21\x09\xb5\x8c\x79\x07\x03\x60\x2c\x48\x22\x1c\x90\x61\xb1\x98\xb2\x9d\x54\x91\x73\xc0\x9a\x35\x9f\x02\x62\xb9\x4d\x05\xa3\x33\x62\x81\x31\xdb\x7a\x50\xf7\xee\xb9\xf4\xb0\xd5\x29\xe4\x23\x9d\x81\xf1\x04\xc3\x96\x80\x01\x9c\x83\xae\xc1\x26\xab\x48\x2a\x56\xe4\x2d\x89\x8f\x06\x76\xea\xd8\x9e\x44\xe0\xb0\x25\xe5\x3b\xba\xd8\x1f\xf2\xd8\xe1\xa0\xd5\x72\xd7\xa7\x48\x99\x27\xc5\xe5\x58\x19\xac\x2e\x85\x10\x25\xde\x5a\xc3\x62\xb4\xe1\x71\x20\x84\x76\x29\x62\x22\x20\x70\xa2\x2a\xf2\x2c\x3b\x34\xb5\x3b\x85\xc7\x8c\x1e\xf7\x36\xfe\x32\x24\xdd\xd0\x38\xfa\x5a\x22\x02\x66\x3e\x9d\x77\x55\x44\x62\x64\x88\xc5\xd9\x5e\x5c\x72\x21\x0c\x71\x8a\x08\x8b\x67\xfd\x74\xee\x87\x70\x0a\xbc\xe6\xc8\x65\xfc\x99\xd4\x4e\xa2\x60\x0e\x25\x7c\xd9\xcc\x67\xc5\xce\xe7\x91\x07\xd5\xeb\x5b\xdb\x14\x0a\xa7\x37\x97\xec\x32\x2a\xe3\xf2\x3c\xbf\x20\xe7\x0d\x70\x7d\x8e\xe8\x97\xdb\x94\xad\xb4\x5d\x60\x3b\x73\xa4\x29\x16\xeb\xf9\x34\x6b\x64\x77\x8f\xe5\x19\x1e\xe2\x1a\x5d\x0e\x53\x7d\x50\x01\x44\x10\x35\xb1\x06\xca\x43\xf7\x16\x0d\xe0\x98\xc7\x01\x18\x1c\xaa\x9d\xca\xd3\x93\x2c\xef\x23\xcf\xd0\x63\x25\xb7\xd1\x79\x72\x42\xa4\x53\x52\x14\xac\xc7\x7b\x51\x1c\xd0\xe0\xd4\xac\xb4\x0c\x90\x00\xf7\x01\xc8\x39\x29\xaa\x77\x53\x2e\x12\x09\x9d\xef\x8c\x31\x72\x50\x6f\xe7\x3d\x70\xae\xca\xd7\x70\x1f\xe4\x9b\x99\x7a\x2e\x44\xac\x43\xfb\xf9\xc2\xf1\xea\x22\x3a\x8b\xe4\xa5\x41\xb7\x1b\x6c\xb9\x9f\x4a\xcb\x05\xac\x16\x6b\x41\x0b\xfd\x55\x27\x24\x4b\xbd\x49\x61\xcf\x9a\xc7\x1c\x71\xc8\x2c\x9b\xad\x6e\x00\x97\xd6\xae\xf0\xed\xe0\x30\xe4\xed\x9c\x93\xe6\xa1\x40\x84\x71\xb7\x5e\x9b\xb9\xb1\x2a\x66\x8c\xc0\x3b\x36\x90\x81\x00\xb4\x3a\x71\xf0\x34\xb3\x9d\x32\xda\xce\xb9\xad\xbc\x82\xcc\xb4\x8a\x34\x5d\xda\x53\x1b\x16\x96\x54\x9a\x13\xd2\x91\xcb\x97\xcb\x46\x07\x6b\xa2\x5d\xee\xae\xc9\x98\xc4\xe3\xa2\x0a\xe6\xdb\x32\xac\x4f\x1a\x8f\xc4\x8e\x79\xa2\x51\x11\x55\xa0\xd6\x9c\xaf\x58\xc4\xa0\x03\x27\xc1\xac\xe1\x7c\x72\x2f\x8d\x86\x2c\xfc\x1d\x18\x4a\x07\x76\xc6\x6c\x6a\xec\x2f\xe3\xc1\xf2\xe0\x5e\x1f\x6c\x2f\xfa\x99\xd2\xe7\x17\xd9\x39\x5b\xba\x85\x24\x5b\x27\x3b\xd1\xbd\xde\x7b\x1d\x07\x76\x7e\xac\x63\xf9\x4e\x6d\xbb\x2e\x9a\xaa\x42\xb0\xf0\xf6\xdb\x8b\x2a\x54\x33\x88\xa4\xa6\xb9\x59\x4e\x1b\x77\x21\x0c\x63\x7a\xbb\xed\x0c\x17\x00\xcc\x47\xf2\x05\xb2\x0b\x65\x1f\x18\x90\xa9\xc5\x42\x12\xc6\xa4\x4f\xa7\xcb\x2d\x2a\x38\x9d\x71\x1e\x98\x55\x2b\x9c\x67\xf5\xb2\xaf\xfa\xb9\x8c\xc6\x98\xb1\x59\x92\xaa\x88\x51\x4b\xc0\x60\x20\x39\x18\xf4\xfc\x90\x8d\xd6\xc6\xc0\x33\x16\x00\x42\xf7\xa6\x82\xc9\x9a\xe1\x0a\xea\x57\x4b\xe8\x42\xaf\x76\xc3\x69\xc3\x2f\x8e\x83\xc4\xa5\xd4\x21\x69\x3d\xbe\x0a\x63\x91\xee\xb4\x87\xb3\x0f\xe8\x4e\x24\xd6\x07\xfc\x9a\x53\x12\xbe\x05\x8b\xcd\x19\xdb\x3d\xb8\xd1\xc1\x63\xe7\xd6\xd2\x84\x48\x49\xc3\x80\x1a\x03\x92\x28\xda\x8c\x5f\x61\x22\x06\x1a\xe0\x37\x03\x55\x30\xbb\x3a\x39\xd3\x28\xe7\xce\xbb\x13\x97\xd9\xa9\x10\x00\x74\x58\x2f\x0a\x3d\x93\x0e\xc9\x26\xe8\x32\x81\xce\x08\x00\xe2\x51\x6c\xec\x8e\x00\x60\xb1\xa4\x68\xd0\x1c\x4f\x31\x9d\xa1\x27\x0f\xa9\xeb\xed\xe6\xa8\x12\x1e\xd8\x18\x89\x81\x63\x22\x9c\x1d\x4a\x68\x26\xe2\x6b\xa6\x6d\xf0\x2b\xbd\x73\x5b\x05\x22\xce\x21\x08\x9f\x90\xa8\xb0\x5a\x6b\xc0\xa6\x45\x65\xec\xf8\x1c\x98\xc3\x3e\x53\x36\xc3\xde\x41\x63\x44\xf0\x56\x0a\xd0\x76\x60\x8f\x35\x27\x65\xcd\xdf\x4e\x77\x6c\x07\x65\x7e\x90\xd7\xd7\xcf\x19\xb9\xdb\xd2\x36\xd2\x58\x78\xd7\x91\xed\x8c\xd4\x03\xaa\x0c\xd5\xc8\x06\x16\x30\x91\x15\x74\x1a\x9b\x5c\x66\xaa\x98\x47\x5b\x1f\x50\xac\xd3\xf3\xb3\x6a\xf1\x26\x27\x9d\x57\xae\x09\xb3\x10\xe4\xab\x9e\xe2\xe6\x1a\xd9\x01\x60\x0a\x54\xb5\xef\x39\x70\x16\x65\x1f\x4c\x01\x76\xc8\x8c\x35\x7b\x5e\x5c\x90\xee\xec\xad\x67\xe7\xea\xe8\x40\x63\x65\x49\x11\x44\x5d\x21\x0c\x13\x4b\x40\xb4\x27\xc2\x42\xeb\x1a\x80\xec\xd9\xcd\x15\x23\x12\xe3\x40\xbd\xd1\xca\xea\x54\x41\xc8\x7e\xb6\xe1\x85\xcd\x4c\xde\x94\xee\x9a\xa4\x15\x93\x4e\x07\x7c\xc1\x1b\xc9\x49\x24\x01\x7e\x81\x28\xcc\x79\x28\x99\x02\x02\x2c\x9c\xb9\x1f\xce\x87\xb5\x04\xf6\x15\x94\x2c\xa9\xfd\x51\xcb\x36\x84\x36\x5f\xb2\xdb\x19\x86\x11\x4d\x54\xc4\x1d\xa4\x59\x8b\xed\x4a\xb4\x9b\xad\x26\x33\x53\xc4\x32\xad\x6c\x77\x64\x4b\x57\x3b\x23\x43\x8c\x6f\xcc\x85\x48\x3e\x34\x0a\xa9\x01\x5a\x88\x83\xaf\x99\xa3\xb8\x43\xd9\xd1\xe9\x2f\xf8\x52\x3f\x29\xcd\x14\xde\x68\x1e\xe4\xac\x96\x4b\x76\xae\x29\x60\xab\x52\x09\x58\xcc\xa6\x1a\xd8\x73\x21\x24\x1e\xb2\x43\x67\xf8\x06\x88\xc0\x6a\xb6\x10\xe8\xb9\x0c\x8f\xdd\x8a\x05\x47\xd0\xed\x79\xb3\xe1\xf9\x62\xad\x1c\x28\x07\x2d\x33\xce\x4c\xb7\x42\xa6\xcc\xec\x84\x09\x34\xdf\x59\x1d\x01\x3f\x1e\x16\xe3\x81\x3e\xd3\x6c\xb1\x43\x7d\x2b\x1f\x84\x9c\x75\xa7\x9c\x8b\x9c\x9c\x79\x28\x0b\x4b\xe4\x34\x76\x7c\xda\xcd\x34\xc9\xda\x26\x9c\x75\xea\xfe\x00\xce\xf0\x62\xb3\x47\x05\xad\x1f\xa2\xb9\xaf\xad\xd0\x43\x42\xae\x29\x06\x20\xd4\x22\x91\x0a\x74\x45\xb6\xce\x6a\xd9\xee\x8e\x27\x6a\x5e\x12\x0b\x95\x65\x41\x37\x5f\x06\xfa\x72\x67\xe2\xf6\xa2\x1a\x5b\x99\x3b\xb7\x9f\x46\xc3\xd5\x1e\x62\xd3\xe0\x74\xd9\x2c\xa6\x9b\xe5\xc2\xc4\x77\x87\x15\x86\x42\x5a\xac\xd0\x78\x4b\x90\x5c\x2d\x06\x4a\x32\xe7\x42\xdc\x07\x24\xb0\xcb\x93\xad\x2b\x87\xaa\xba\x22\x7d\xcc\x3d\x6f\x56\x6b\x65\x36\x18\xa3\x71\x48\xe7\xb3\x8e\x98\x59\x9e\x51\x47\xdc\xa9\xea\xf6\x0b\x48\x3e\x1e\x04\x98\x25\xd2\x40\x80\xe6\xb1\xa5\x66\x65\xdd\x42\xd5\x7c\x86\x9c\x2e\xb6\x07\xa5\xc2\xde\x4d\x9d\x0c\xa7\x53\x4c\x8b\xc3\x06\xc6\xc5\x2d\xa6\xc7\x07\x03\x5a\x70\xdd\x68\x1c\x12\x64\x07\x45\x65\x73\xe0\x97\xe2\x2a\x1b\xe6\x75\x4b\x88\x97\xa9\x6d\xa2\xf4\x20\x84\x53\x7f\x4f\x83\x39\x61\x92\x3e\xf8\x70\x1b\xfc\xe6\xa7\x9f\x1f\x7f\x9c\xf9\xce\xc9\xbf\x30\xb1\x7c\xaf\x82\x42\x27\x4b\x7f\xd9\x2c\xdf\xbc\x9b\xbc\xb9\x3d\x81\xf2\xf4\xf3\xd3\x7f\xa1\x86\x09\x52\x07\x73\x5b\x3f\xbb\xee\x70\x2f\xab\x01\xa9\xfa\x57\x0d\xba\x1d\x35\xf2\xf1\x6b\x6c\x0e\x88\x30\xa1\x9d\xf9\xed\xc9\xd6\xc5\x94\x6b\xc8\xbb\xdb\x1e\x70\xa8\x0f\x6e\xc7\x44\x00\x35\xa8\x91\x3b\xea\x3a\xe0\x56\x02\x2d\x44\xd7\xa7\xbe\x01\x07\xb2\x22\x02\xe0\x85\x06\x00\x0c\x4e\x02\x40\x2c\x6f\x2f\x04\x1f\x00\x5a\xed\x00\x20\x8a\x2b\x78\x21\xf7\x01\xc0\xdc\x2e\xdd\xe5\xd2\xe1\x26\x1e\x66\x28\xc3\xee\x58\x01\x05\x87\x35\x80\x3a\x02\xca\x76\x48\x1a\xdd\x44\x35\xee\x64\x2a\x1e\x00\x00\x0d\xd3\x01\xb0\x0b\x79\xcc\xe3\x54\xc8\xf5\x01\xa0\xb8\x80\x95\x48\x4a\xf5\xf6\x65\x7d\x3c\xc6\xd5\x91\x77\x17\x10\x0a\x0f\xeb\xe5\x7c\xd3\x10\xc3\x08\x30\xe9\x25\x2a\xb4\x99\x4a\x38\x9a\x6b\x8d\x49\x15\x96\x32\x64\x1d\xb5\x9c\x9a\x9c\x39\xb5\x1e\x39\x35\x49\x2d\x19\x58\x93\x28\x52\x07\x59\x18\x88\x19\x38\x8b\x54\x12\x62\x99\xaf\x5b\x0c\x09\x08\x0a\x4f\xc4\x63\x14\xd7\x19\x3c\x1f\xdd\xac\x00\xa7\xae\xce\xcc\xed\xde\xb4\x62\x9d\x66\xc3\x54\x31\xea\x48\x62\xa9\xc8\xa9\x87\x78\x33\xb8\x9b\xd5\x6a\xba\x76\xe6\x9b\xa9\x7a\x6e\xc2\xdc\xc6\x89\xd9\x65\xba\x99\x5a\xde\x6a\xd1\xb6\x09\x1b\xb7\xa8\x2f\x20\x86\xd4\xdc\xfe\x19\x2d\xfa\xf5\x7f\xd4\x06\xd4\x65\x86\xed\xd1\xf4\xe4\x71\x95\x25\x1f\xf5\xa6\xb4\xca\x56\x6a\xd5\x52\x49\x63\xc7\xd1\xa0\x85\x85\xc6\x84\xe4\x49\x1c\xe5\x3a\x73\xd3\x5a\xa6\x43\xab\x23\xf6\x4a\x60\xf2\xce\x0c\x56\x7b\x74\x15\xd2\xc6\x98\xa0\x1f\x86\xfa\xd2\x5e\xe6\x61\x01\x60\x58\x49\x7d\x48\x3f\xd2\xb3\x13\xba\x15\x2b\x2a\x0a\x61\xd1\x1e\xa6\x0e\xd0\x66\xc8\xd9\x93\x22\xa5\xeb\x54\x17\xb9\x9c\x2a\x8d\x59\x6f\x84\xb3\xbd\x2b\xbb\x34\x63\x99\x5d\xb7\x26\x33\x20\x30\x80\xf2\x47\x4d\xea\x08\x05\xef\x1d\xc0\x62\x24\xcb\x84\x0c\xf0\xb3\x90\xc1\x01\xe3\x33\x3e\x83\xb1\xdb\xdc\x3d\x48\xb8\x54\xa0\xd5\x01\xc7\x00\x0b\xc2\x70\x2d\xfa\x20\x82\x0e\x0c\x15\xc9\x18\x26\xb6\x01\x2a\x4a\x91\x78\xac\x49\x1c\xe3\xf2\xb1\x0c\x43\x6f\xec\x72\x11\xf0\x61\x14\x38\xfe\x5c\xd4\xe6\xae\x11\xf9\x40\xa2\x30\x39\x4a\x62\x35\x49\xf3\xd5\x2e\xd9\x1d\xd7\x65\xbc\x2e\x36\x0b\xe1\xc0\xb1\x30\x21\xe2\xd1\xc1\x53\x48\x47\x2c\x01\x31\x5b\x6d\xa6\xab\xe9\x6a\x57\x1d\xd0\xb6\x1e\x8d\x47\xb7\x01\x33\xb3\xb5\x3b\xea\x24\xf2\x50\x39\x83\xc0\x85\x58\xce\xb9\x1d\xd6\x2e\x58\x9a\xb1\x98\x8e\xc9\x99\xc5\x96\xb1\xbd\xd6\x5d\x23\x25\xcc\xa0\x02\x7f\x6e\xd9\x93\x90\x2d\x4e\x27\xbc\xe8\x66\x64\xc0\x48\xb1\x28\x86\xa8\x85\xae\xc6\x18\x1c\xb6\xea\x93\xa2\x61\x08\x72\x08\x98\x86\xae\x37\x8b\x3a\x4d\xb1\x72\xb5\x18\xe8\x3d\x04\xb6\x40\xce\x8c\xf3\xa5\xd7\x34\x05\x17\xf0\xc3\x49\xd0\xf7\x9b\x6a\x7b\x6a\xbc\xa9\x7b\x82\x76\xf3\x12\x1d\xd6\xbc\xbc\x55\x85\x16\xb5\x74\x83\x18\x7b\x05\xc5\x1c\xc5\xc8\xe3\x91\x14\xa5\x03\x2e\x72\x8b\x82\x8a\x3d\x8a\x77\xdd\x46\xe8\x78\x0d\xd5\x39\x15\x3b\x52\xda\x45\x3b\x06\x75\x82\x9e\xcb\x73\xdd\x76\x33\xb4\x6d\x76\xb3\xe6\x70\xdc\x02\xa0\xfa\x41\xb4\x8d\x77\x87\x23\xbb\x31\x5b\x73\x8c\xc1\x77\x2b\x74\x9d\x0d\x6b\xba\x12\x02\x8a\x42\x1a\xd4\xa2\x61\x72\xcd\x92\x2d\xd0\x03\x6f\x9a\x22\x07\x9a\x58\xc1\xe6\x0a\xea\x13\xc7\x39\xed\x30\x99\xdb\xf0\xb3\xf4\x08\x83\x22\x35\x28\x99\x0b\xb1\xd5\x89\x09\x85\xc1\x47\x23\x64\x86\x8d\x99\x96\x41\xeb\x33\x9f\x8f\xca\x19\x44\x60\xd8\x74\x49\x47\xdb\x9d\xd2\x27\xd2\xc9\xee\x4f\x9b\x69\xe1\x40\x6b\xbd\x1a\xf8\x4d\x3c\x50\x9b\xcd\x7c\xb9\xae\xbb\xde\xc4\x41\xb1\xe8\x6c\x31\xe4\x71\x89\xd4\x0f\x58\x44\x1c\x5d\x0f\xf5\x98\xf9\x7a\xf4\xdb\xd3\xc0\x83\xa6\xb3\x06\xf2\x6a\xc8\x41\x01\x37\x85\x1a\x79\xb8\xec\x94\xd6\xe7\x56\x65\x32\xad\x31\x72\x8e\x9b\x60\x46\x4b\x16\xa5\xac\xb2\x62\x2f\x72\x38\xee\x56\x05\x96\x2f\x67\x5b\x62\xe3\xd1\x18\xb1\x5a\x1d\x9b\x94\x9d\x2d\x33\x68\x2c\x58\x2e\x8b\x29\xe4\xec\x58\x63\x77\x40\x4e\xc1\x70\xda\x6e\x23\xc9\x08\x3b\x4c\xe2\x90\x53\xba\x83\xd0\x50\x1a\x56\x50\xa3\x40\xeb\xf4\xd4\x34\x03\xa2\xf4\xb1\xb5\x9e\x06\x47\xc9\x66\x97\xa2\xca\x61\xd6\xae\x61\x13\x5f\xdb\xb1\x12\xd7\xc8\x63\x23\x31\x66\xb0\xdc\xaa\x43\x92\x02\x39\xc0\x19\x8a\xa6\xa1\x18\x40\xd0\x9e\x3e\xa3\x68\xe1\xc1\xde\xa1\x15\xd9\x23\x69\x41\x6c\x4a\x93\x4c\x06\x30\xc3\xdd\x20\x0b\x68\x10\x0e\xa7\x29\x7b\xc6\x7a\x9e\xc5\x21\xe8\xd2\x1f\xa7\x5b\xc3\x32\x47\x4d\xd9\x02\xb3\xf2\x60\xb8\xf1\x66\x0d\x76\xb9\xe8\xbc\x58\x6e\xc9\xd8\xd5\x34\x0e\xd7\x6d\xd1\x07\x60\x29\xa4\x9e\x2f\x1e\x56\x9b\xcd\x6a\x68\xad\x03\x8d\xf8\xdb\x8a\xc9\xc5\xd0\xd5\x9b\x4c\xea\x00\x94\x21\x90\x4d\x0c\x2b\x38\x3b\x9d\xc6\x2d\xa7\x14\x63\x41\x27\x67\x18\x90\x43\x81\x04\x83\x6c\x4b\x51\xb5\xc3\xfb\x6a\xaf\xcc\x51\x8c\x59\x9d\x0d\x5c\x87\xc2\xc0\x85\x1c\x8c\xd3\x4d\xc5\x0c\x44\x87\xd2\x36\x05\x7f\x16\x61\x3f\x21\xbb\x64\x1e\x44\x45\x25\x68\xe4\x99\xc8\xfc\xb1\xbe\x88\xae\x6c\xe1\xdc\x5a\x64\x8c\x71\xbb\x70\x48\x0c\xcd\xe7\x74\x53\x87\x67\xf4\xd9\x13\x76\x5b\x0b\xd8\x6a\x98\x67\xac\xa2\xd3\x80\xeb\xac\x39\x67\xe4\x09\x8d\xb3\x2a\x06\xc7\x22\x9e\xa9\x70\xe5\x70\xb0\x8f\xf3\xac\x24\x17\x85\x30\xf6\x0a\x68\x2f\x86\xc9\xc2\xcc\x99\x9c\x62\x6c\x42\xf5\xf6\x5d\x27\xf0\xc8\x65\xe5\x0b\x73\x37\xd5\x83\x52\x1e\x34\x0a\x23\xc8\x81\xcf\x23\x75\xb7\xe7\xe1\x39\xc6\xf8\x54\x25\xcf\x7c\xbf\xdf\xab\x03\xa7\xc9\x21\x2e\x55\x24\x46\xaa\x64\xf6\xd0\x1e\x91\x0a\xa4\x5d\xd0\xfb\xe3\x99\x77\x67\xeb\x5c\xa6\x35\xcf\x4c\x9b\x26\x0d\x4d\x2b\xcb\x19\x46\xc4\x00\x13\xa4\x6a\xe1\xb7\xf6\xac\x56\x51\x01\xe3\xa8\x50\xc7\x5d\xfe\xe2\x02\x4c\xc7\xe8\xa9\xcd\x64\x78\x0b\x50\x69\xaf\x6e\xb8\x31\xc2\x25\x84\xd0\x0a\xb6\xc8\x11\x00\x30\x54\x83\x30\xdf\xd3\x91\xc9\xec\x1d\x0e\xec\x1a\xd7\x95\xe8\x10\xd5\x74\x4a\xf2\x76\x8e\x7e\x59\xbb\x41\x2f\x2c\x2c\x2a\x6f\xa3\xc0\x4a\x88\x05\x4d\x75\xa2\xd8\xc8\xb5\xdf\xed\x0e\x79\x25\x0c\xd6\x78\xe6\x7d\xb1\x25\xa0\x0b\x31\xe7\x89\x0e\x39\x6b\x78\x89\xf3\xb4\x1c\xa9\x5d\xd2\x55\x68\x84\xf3\x80\x20\xe0\x2d\x6e\xe6\xa1\x15\xf3\x5b\xd4\x0e\xad\x79\x5d\x6a\x15\x3b\xed\x23\x16\x70\xb2\x2a\xd7\x3c\x9c\xe9\x95\x2c\x96\xbe\xb2\x75\x1f\x5c\x00\x7f\x8c\x63\x32\xf1\x06\x0a\xa2\xa5\x60\x98\xe2\x73\x7b\x19\x5c\x48\xbf\x4c\x2f\x67\x6d\xb7\x1b\x02\x27\xc8\x66\x21\x55\x11\xe1\x36\x4b\x84\xa1\x9e\x12\x15\xb4\x1e\x56\x07\x66\x48\x4e\x12\xba\xf1\x0e\x33\x57\xd3\x64\x81\x0c\xcf\x12\x3c\x9e\x5c\x93\x2a\xaa\xf4\x67\x8c\x9c\x27\x51\x26\x6e\x1c\xa5\x39\xf5\x5c\x89\xd9\x74\x92\xa9\x19\x6b\xea\x49\x7c\x20\x8e\x92\xe9\xbb\x3c\xb1\xaf\xfa\x35\xdd\x1c\xed\xba\x47\x87\xb6\x0d\x24\x91\x53\x5c\x2a\xd9\x89\x00\xcf\x14\xc4\xed\x8c\xcd\x68\x1c\x4e\x92\x1e\xb7\x60\x96\xcc\x7a\xf6\x82\x30\xa4\xef\x47\x87\x32\x55\xdb\x23\xb6\xe1\xe1\x78\x1b\x59\xa1\xd6\x4f\x7b\x09\x02\x84\xd8\x1c\x24\x11\xe4\xb9\x65\xc0\xec\x69\x10\x30\x0c\x3e\x67\x14\xa8\xe6\xc2\xc5\x5e\x6c\x48\xd8\x58\xe5\x23\x97\xe7\x04\x41\xb8\x49\x37\x5f\xed\xfc\x8b\x2f\xd2\xb6\x5d\xad\x98\xf3\x9c\xcd\xb7\x3c\xd3\x9d\xb7\x12\xe5\x50\x70\x4f\xb1\x0e\xe1\x92\x70\xae\xda\xa8\x21\xce\x02\x43\xaf\x08\x4a\xee\x4f\xa7\x55\xeb\xd3\xfc\x45\x40\xa3\x88\xdf\x86\x16\x18\x9b\x0f\x83\xec\x80\x6e\xc0\x60\x43\x8b\x13\xd0\xd0\x19\x3a\x88\x74\xc4\x59\x6a\x9e\x2b\x34\x50\x45\x6c\x27\xa6\xc0\x48\xe6\xec\x7c\x76\xf2\xf0\xd8\x05\x5b\x8f\xf6\x10\xca\xc2\x8b\xcd\xc9\x3d\x8a\xfc\x61\x5d\xd4\x8b\x0a\x5b\x0a\xf1\xd6\x1e\x01\xce\xf3\x08\xeb\x06\xcc\xdf\xd2\x19\xc7\xbb\x0e\xb3\x5d\x23\x64\x07\x4b\xdc\x52\x2d\x94\x9e\x06\x2c\x49\xcb\x18\xbe\x4b\x34\x1a\xb7\xda\x63\xa7\x3a\xdd\x36\x3f\xf2\x2c\x23\x23\x46\xaa\x05\x65\x01\xcf\x1c\x20\x88\x7d\x84\xaf\x0c\x7e\x4c\xdd\x16\xe1\xb2\xed\xc2\xe5\x62\xa7\xcd\xeb\x92\xe1\x66\xf0\x96\xbd\xd0\xbb\x36\x57\x14\x09\x26\x4c\x33\x66\x6b\x92\xe4\x7b\x69\xca\x68\x2c\xab\xc8\x31\x05\x28\xd7\xdc\xcd\x57\xe7\x8c\xf2\xab\xae\x24\x4d\xf4\x08\x2f\x89\x16\xf5\x00\xbd\x1a\x0f\x9a\xad\xb4\x64\x0d\xd5\x70\xb5\x4e\xf9\xd8\xdd\x1c\xce\x58\x40\xe3\xfb\xd9\x76\xe5\xc6\xc9\x7c\x03\xfb\x68\xc9\x0c\x78\x0d\x2d\x2e\x34\xa3\x87\x60\xe1\xf6\x5b\x71\x41\x0b\xce\xd5\xe4\x35\xc6\xd6\x2c\x9a\x4e\x91\xf7\xca\x91\x07\x99\xaf\x8d\x01\xa9\xdc\x44\x0d\x38\x76\xf1\x40\xa9\xb9\x2c\xe1\x97\x78\xe6\xf4\x53\x2d\x13\xb0\x01\x32\xc3\x0d\xda\x5e\x3c\x82\x9c\x2d\xed\x7e\x16\x36\xbb\x8a\xa9\x04\x79\x27\xeb\x78\xd3\x75\x64\x00\x5b\x9b\x00\x6a\x7a\xa2\x9a\x22\xbe\x9e\xf6\xc4\x79\x34\x5f\xab\x8d\x2b\x72\xe7\x20\xf6\xe7\xb6\x19\x43\x6d\x14\x5a\x44\x52\x47\xed\x71\x4f\x85\x49\xa2\x4a\x3c\x3b\xd7\x0c\x21\xc2\x72\x39\x76\xe5\xc6\xdf\xcc\x14\xc2\x08\x19\xc2\x3d\x76\x35\xd9\x2a\x1e\xb1\x8f\x7b\xb3\x43\x2f\x10\x3a\x3f\x10\xa3\x60\xbb\xcd\x0e\x0f\x21\x7e\x3e\xf5\x44\xd8\xac\x17\x0e\xee\x32\xb3\x2d\x44\x71\x54\xef\x2f\x12\x9e\xdc\x48\xab\x52\xe2\x75\x25\x84\x40\x3d\x08\x87\x94\xdc\xef\xb8\xa3\x86\xd4\x97\x12\x4c\x63\xaa\x18\x22\x2e\x42\xb1\x3d\x03\x47\x28\xa6\x8f\xf1\xe1\xa2\xea\x88\x23\x58\x75\x71\x02\xdb\x14\x19\x91\x02\x61\x9f\x07\xfd\x30\x24\x44\xa1\x74\x73\x9a\x48\xed\xf3\xb0\x58\x55\x9d\x4b\x3b\x5c\xbe\x58\x4e\xcf\xb5\x07\x45\xb0\xd6\x94\xb5\xa4\x32\xa9\x7c\x60\x8f\x04\x6a\x6c\x60\xe3\x74\x74\xc6\x4a\xbc\x59\xaf\x98\xf9\xa6\x86\xf8\xf9\x62\xc7\x2e\x4c\x9f\x5a\xc5\x3c\xb0\xab\xfd\x06\x3b\x85\x47\x72\xd1\xd4\xc1\x91\x1c\x28\x8c\x9b\x2a\x39\x08\x4a\xad\x49\x01\x20\x3d\x32\x9f\x13\xe2\x3c\xbb\x5c\x44\x66\x7a\x8a\xe4\x73\x0a\xd5\xdb\xca\x1c\xb3\x55\xdd\x01\x9b\x33\x7a\x3c\xb7\x11\x04\x1b\xb5\xb7\x42\x5a\x62\x4d\x5d\xcc\x0e\x32\x10\xcd\x6a\xa4\x0a\x80\xf9\x1a\x65\x12\x22\x9d\x66\x14\xb2\x26\x76\xd0\x50\x50\x29\xda\xa5\x21\xd4\x3b\xa4\x2c\x67\x4a\x1b\x91\x7d\xef\x62\xd8\x3e\x8c\x6f\x00\xa9\x14\x07\xf1\x0e\xe3\xf9\x29\x1d\xb8\x11\x4a\xd7\x4a\x90\x31\xe4\x4c\x69\x62\xa5\x21\xe2\xca\x01\x3e\x68\xf6\x3d\x0e\x96\xc7\xfd\x82\x3e\x4c\x0f\xd6\x3a\xf0\xf4\x8a\x06\xbe\x2c\x5e\x00\x6c\x0e\x54\xb9\x66\xb6\x74\x40\xe3\x4d\xe4\x3d\xb8\x00\xf7\x94\xf0\x42\x6e\xaf\x3b\x3f\xbe\xc0\xc8\xec\x7c\x8c\x94\xea\x6c\x24\x1b\x1c\x36\xce\x7b\x56\xf6\xa9\x96\x6e\xc0\x61\x55\xd8\x3c\x40\x95\xdc\xe9\x40\x36\xcb\x32\x42\xe8\xba\x33\xa7\xd0\x88\x48\xb4\x0d\x14\xfb\x68\x8c\xa7\xdd\x58\xca\x5a\x6e\x9c\xde\x91\x73\xd6\x59\xbb\x26\x7b\xf0\x01\xee\x79\x0d\x30\x02\xff\x04\x1f\xdc\x25\x7b\xbe\xf0\xa0\x3c\x2e\xa0\x6d\x6c\xae\x2b\x1f\x41\xd5\x85\x82\x9f\xa6\xa4\x5c\xc3\x22\x85\xe3\x54\xa8\x1b\x0e\x35\x43\x67\x91\x32\x8f\x83\xb1\x50\x94\x13\xf2\x11\xf0\x97\x29\x59\xcc\x0e\xe0\x68\x00\xc6\xa0\xb1\x66\x23\xdc\xb4\xc4\x6b\x9d\x98\x3f\xad\x2e\x20\x5a\xad\x17\x83\xdc\x1c\xd7\xe1\xca\x58\xae\x4d\x21\xc3\xc1\xb2\x77\xf5\xf5\x1e\x81\x9a\xb9\x22\xb9\x88\xdb\xad\x16\xd4\x58\xda\x3f\x1c\x8a\xb4\x41\x89\xa4\x59\xed\xe7\x1b\xa9\x1a\xf4\x5d\x78\xd9\xb6\xfe\x56\x3a\xf1\xf3\x15\x7d\xde\xbb\x43\xe2\x2f\xd5\x65\x24\xed\x40\x05\x23\xdd\x16\x1c\xbb\xd0\xc3\x3a\xdf\xf7\x33\x8b\x57\x89\x55\xc6\x2c\x57\xa7\x84\xa4\xed\x73\x3b\x1e\x27\xf4\x4f\x49\x89\x29\x03\xba\x59\x9c\xba\x45\x54\xed\x38\x0e\x59\xe6\x89\x3f\x08\x70\x87\x57\x94\x63\x2e\x56\xcb\x63\xef\x29\xb9\xe9\x0e\xbd\x85\x9f\x9a\x29\x0d\x8e\x92\xbf\x44\xe6\x9e\xac\xc0\x43\x00\xb9\xd8\x92\x3a\x12\x67\x0e\x55\xd4\x31\x14\xd1\x3a\x51\x22\xd5\xac\x86\x01\x85\x93\x64\x8f\xaa\x6b\x33\xc3\x7c\x12\x68\x9d\x9b\xa9\x69\xe0\x51\xa9\xbe\xdd\x0d\x35\x98\x5d\xe6\xca\x19\x1a\x7a\x9c\xb9\xa8\x1d\x33\xf5\x92\xca\x3a\xa4\x8b\x94\x5a\x17\x97\x96\xa2\x2a\x98\x80\xf0\xd1\xda\xc0\x0b\x33\x0d\xd1\x73\x5e\xcc\x78\x03\x9a\x92\xf8\xea\x9c\xca\x3e\x74\x9a\x2e\x7c\x6c\xb9\xb9\x1c\x3b\x08\x73\x52\x03\x3b\x11\x8c\xc7\x97\x86\xb5\xd3\x97\x00\x07\x06\x95\x24\xe7\x3c\x5c\x19\x45\x9e\xe0\x92\xce\x17\x48\x62\xed\x7c\x66\x2c\x4b\x17\x94\xa3\x8a\x2b\x9e\x2c\xf3\x85\xd9\x17\x49\x6a\xc2\x6c\x0f\x4f\x19\x56\xdf\x63\x4c\xb9\x28\xf2\x6a\x88\xd7\x0b\x04\x3a\x75\xf9\x0a\x35\xf7\x38\x7a\xe8\x92\x80\xc3\x45\xa0\xea\xf8\x16\x34\x0b\xbe\xd9\xc7\x65\x48\x8a\xe4\x65\x39\x8c\x27\x86\x28\xab\xd9\x05\xb4\xbf\x14\xf1\x78\xef\x9d\x6b\x6f\x63\x88\x0c\xee\xec\x66\x21\x1a\xad\xa1\xb9\xca\xba\x90\x6d\x9a\x34\xa9\x6c\xbb\x2d\x6e\x70\xeb\xcb\x70\xee\xd0\x60\xde\xd2\x54\x02\x8e\x97\x64\xb6\x71\xfb\xd3\x9e\x84\xc9\xda\x29\xa2\x31\x4f\x51\xb4\x83\xe2\xba\x70\x41\x81\x5c\x3a\xec\x2d\xb2\x76\x7a\x11\x84\x00\x56\xbc\x18\xf7\xb8\x56\x22\x14\x39\x3b\xea\x8a\xc1\xda\x8b\x20\x5b\x2d\xa4\x02\x8e\x40\x6e\x77\x44\x99\x07\xa5\x20\x91\x2e\xcc\xe4\x0b\x20\x60\xcd\x25\x08\x47\x17\x40\x57\x75\x9d\x63\x73\x2c\x0b\x42\x35\x29\xcc\xdc\xf7\xe2\x39\xdf\xcf\x8a\xac\x29\x53\x03\xb7\x1d\xd5\x9f\x77\xf9\xce\x71\x54\xab\xd2\x4c\x0d\xdf\x01\x56\x35\x03\xce\x52\x95\x7c\x11\xb4\x8a\x8e\xe7\xc7\x14\x38\x24\x23\x54\x5b\x78\x2c\xc3\x9c\xfa\x46\x33\xa4\x62\xc9\x03\xd4\x3d\x2e\xd8\x06\xdf\xd6\x8b\x3e\x20\x41\xa1\x47\xc5\x9c\xc1\xe7\xfc\x74\x6b\xd8\x1a\x0c\xd9\x3b\x76\x19\x6c\x10\x37\x89\x2d\x96\xd9\x6e\x94\x20\xba\x0c\x36\xb9\xf1\x45\xb8\x34\xb0\x65\x9c\xcb\xbe\xea\x8c\x5c\xc6\x95\x35\x0e\xa7\xe2\x70\x50\x5b\x9c\x88\x90\x6c\x15\x5e\x2a\x55\x85\xfd\xa4\xa2\x1c\x19\xc7\x53\xd6\xac\x72\xaf\x58\x62\xf5\x41\x8d\x50\x5a\xee\xcb\x2d\x1e\x70\x66\x9e\x34\x90\x8a\xf8\x1d\x57\xf1\x87\x0c\x31\x21\x72\x8a\x6e\x56\x0f\x75\xee\x1d\xb5\x9b\xaf\x49\x9e\xa6\x8a\xad\x0b\x41\x3d\x1c\xcd\x37\xbe\xd1\x49\x53\x4d\x57\xb7\x6d\x02\xc4\x9e\x98\x21\x5b\xd3\xf4\xb3\x7e\x56\xe7\x61\x23\x5b\x4b\x5a\xc0\x59\x86\x5d\x37\x49\x9f\x2d\x02\x72\x27\xf4\xad\x4c\x1d\xc8\x70\x54\x3d\xa6\x77\xa4\x45\xe8\x1e\xf7\x83\x56\x14\x5d\x2a\x1e\x31\xd3\x0f\xca\x75\xb9\x48\x20\xce\xa6\xfd\x7e\xa8\xa6\xd9\x9e\x9c\x29\x50\x85\xb5\x81\xef\x87\xc0\xb9\x08\xe5\x14\x83\xa0\x29\x75\x51\x87\xea\x44\xc0\xa4\xc4\xaf\x24\x8a\x89\xce\x0f\x85\xf3\x33\x82\xed\x95\xc4\x4f\x03\x55\x3d\x3a\x2e\xb2\x9f\xcb\x39\xa6\xe6\x73\x7c\x49\x68\x34\xc0\x12\x8b\x2c\x17\xd3\xf5\x6e\x5a\xd6\xe1\x36\x56\x00\xa1\x72\x73\x66\x1d\xb1\xeb\xa3\x47\x10\x5e\x05\x71\xa0\x43\x57\xc3\x41\x95\x4b\x43\x1d\x9d\xd4\xa2\xce\x59\x81\x2d\xc8\xb9\x12\x08\x32\xc0\xd3\xa9\x34\x80\x6b\xec\x07\xe5\x2b\x90\xf8\x0c\x92\x07\x7a\x74\xf1\xb0\xb9\x59\x88\x21\xa8\x28\xb3\x8e\x28\xc1\x64\xa6\x20\x5b\xc9\xfe\xa5\xd6\x7c\x8f\xcd\x44\x0d\x8b\x4e\x53\x5a\x1a\xc5\xa6\xec\xb5\x40\xc3\xa8\x6d\x41\x9f\x91\x79\x98\xc8\x07\x34\xaf\x28\x15\x5c\x62\x03\x97\xc9\x4a\x97\x09\xb7\x41\x2e\xeb\xa5\xbe\x17\x9b\xa8\xb9\xd4\x09\xe3\x76\x5a\x81\xd6\x32\x9b\x2d\x86\xb2\x66\x60\x56\xe5\xcf\x21\x60\x07\xbb\xc4\xa0\x87\xfa\xe2\xda\x90\x52\x5c\xdf\xa7\x3b\x61\x8f\xb2\x0d\x75\x21\x43\xe6\xbc\x06\xa6\x97\x6e\x34\x07\xee\x76\x30\x1b\x49\x35\xef\x6f\xe3\xd3\x99\xa0\xb1\x8e\x90\x77\xdc\xd0\xe5\x2b\x57\x32\x77\x53\xcb\x08\x5b\xb3\x03\x20\x37\x63\x3d\x7d\x88\xbe\x6a\x58\xe9\x1b\xd9\xc0\xb8\xcc\xc1\xc1\x0c\xe3\xd4\x9e\xf1\x79\xec\x02\xd7\x96\x0a\x04\x3c\xd4\xc2\x28\x8c\xd5\x28\x4c\x61\x88\xb2\xa9\x94\x1c\xd0\xbe\x17\x77\x5b\xde\x5f\x96\xb9\x97\x1c\x37\xb9\x25\x26\xe8\xaa\x47\x88\x78\xb7\x1b\x0f\x3c\xaa\x4b\xc6\x64\x18\xa5\x13\x54\xbc\xb4\x48\xa0\x91\x52\x56\x4b\x73\xc7\xc9\x08\x91\x05\xcc\x8a\xd8\x62\x65\xd5\xaf\xf9\x03\x9a\x4d\xd3\x16\xd2\x36\x2e\x7d\x42\x31\xe0\xcc\x98\xb3\xdf\x08\x30\xec\x4e\x85\x9c\x3e\x9d\x8c\xb2\x5b\x84\xe3\x31\x7f\x78\xa3\xf3\xe1\xa2\x73\xe7\x07\x7c\x2d\xee\x08\xfa\x48\x6f\x13\x86\x2e\x67\xdb\xb5\xeb\x57\x82\xe0\x67\x17\x81\xc5\x36\x2b\x74\x77\x96\x20\x4e\xde\x19\x94\x51\x37\x97\xa4\x37\x70\x53\x50\xd5\x9a\x5f\x0f\x48\x08\x75\xf3\xb5\x73\xf0\x95\x51\x6c\xf8\x03\x41\xcc\x97\x9e\x78\x9c\x25\xdb\xd5\x72\x2d\x27\x45\x31\x2d\x00\x45\x4a\x42\xc7\x88\x32\x90\x4d\xcd\xc5\x40\x28\x32\xa2\xef\x33\xeb\x62\x35\x75\x20\x70\x96\x71\xd2\x37\x31\x3f\x81\x14\xdf\x44\xab\x3a\x6b\xb9\xcb\x5c\xaa\x8a\x87\x8c\x1e\xe3\xcf\x42\xe7\x49\x72\x78\x0c\xf6\x02\xd5\x49\x21\x8c\x27\xac\x1d\x90\x08\xa6\x24\x10\x57\xe5\x7b\x11\xce\x9d\x92\xd7\x2c\x35\x22\xce\x10\x7c\x4a\x07\x1f\x3e\xc0\x59\x1c\x15\x41\x35\x9d\x5b\xab\x59\x9f\x79\x00\xde\x71\x78\x33\x6e\x99\x29\x83\xe4\x84\x94\xec\xe0\x58\x1b\x27\x86\xd5\x04\x55\xe1\xc2\xcc\x40\xb1\xef\x34\x64\x01\xe4\x4d\x4e\xba\x29\x40\x18\xbf\xe1\xe7\x11\xb5\xc3\x37\x0b\xdb\xd8\x1d\xc2\x90\x35\x98\x73\x4d\x32\x6b\x14\xf3\x7d\x9d\xb3\xf2\xab\x90\x8d\x87\x02\x50\x12\xa9\xfb\x30\x8d\x0f\xac\xd0\x6f\x86\x75\xb4\x02\x36\xa6\x2a\x98\x2c\x45\x65\xbc\xae\xdb\xe9\x56\x75\x09\x06\x8f\xa3\x2a\x0f\xa8\xaa\xdd\x4d\x4d\xcb\xe1\x76\xe9\xcc\xdf\xa1\x1a\x4c\x30\x78\x29\x34\xe2\xb1\x95\xb3\x40\xdd\x8f\xd1\x17\x52\xa6\xc3\x7c\x26\x16\x8e\x7b\xd8\xd7\x5a\x25\x6d\x49\xcc\x16\xfc\xd4\x76\xa3\xb3\xa2\x71\xaa\xa9\xfb\x7a\x21\xa5\xf3\x13\x0d\x30\x21\xd3\x30\x67\x4f\x22\x43\x4d\x1f\xd2\x6c\xb7\xda\x83\x13\x0d\xf6\xb4\xbc\x76\x0f\x03\x09\x57\xfd\x28\x36\x6e\xc5\xec\x8a\xb6\xda\x96\xc7\xcc\x21\xb7\x92\x71\xa4\xfa\xe5\xea\xa4\x0e\x8b\xcb\x0a\xd9\x78\x2b\xa3\x9b\x03\xe2\xdc\x24\x36\x02\xd8\x4c\x2f\x90\x1e\xaf\xcb\xce\x0d\x60\x45\x94\x86\xd5\xdc\x48\x76\xb9\xc9\x6c\xe8\xb0\xa6\xcf\x0a\x3e\x56\x38\x2d\x98\x33\xc1\x9e\xdb\x66\xc7\xf5\x3a\x56\xb3\x69\x8e\x27\x71\x80\x01\xd9\xe0\x13\x70\x26\x57\x4b\xd2\x9a\xe3\xd9\xfe\xe2\x95\x84\xd1\xa8\x26\x2d\x1d\xbb\xb0\x40\x0e\x56\xba\x2e\xa1\xcb\x3e\x72\x78\x10\x16\x6d\x3b\xcd\x3b\x8a\xd2\xc7\x53\xf9\xb9\x58\xd8\xf1\x32\xac\xac\x22\xd3\xb4\xda\x3a\x57\xec\x09\x83\xf3\xf0\xd8\xe1\x64\xe8\x06\x17\x3a\x5f\x42\x07\x3a\x6f\xdc\xf4\x54\xad\x7d\x22\x99\xdb\xf0\xaa\x3f\x4e\xfb\x23\x96\x92\xfa\x1c\x3d\xb7\x88\x70\xce\x56\x28\x84\xc0\xfd\x74\x8c\xbe\x06\x67\xbe\xa2\x2e\x4b\x7e\x0f\x31\xc2\xd1\x9c\x9a\x3d\xd6\x32\xe4\xd2\xf3\xf0\xac\xb5\x53\x98\x3a\x0e\xe7\x63\x51\xcf\x9b\x92\xac\xb4\x78\x5b\x1d\xc4\xf5\x9e\xa2\x0f\xb0\x74\x80\x5c\x6f\x98\x57\x2d\xb4\xd9\xae\xcd\x86\x5b\x77\x05\xd2\x8c\x87\x46\xfb\x3a\x92\xaa\xe9\x7c\xee\xec\xab\x95\x87\xd6\xcb\xd9\x9e\x3c\x1e\x3b\x8d\xd1\xd4\x8b\x37\xcb\xa6\xa7\x69\x9a\x1e\x2b\x65\x66\xc6\x65\x17\xd2\x1b\x97\x3b\xef\xf2\xa9\x62\x6a\x41\x26\xed\x2f\x10\x6b\x2f\x0e\xe5\xe1\x1c\x5f\x4e\x60\x20\xc2\x31\x9c\x3b\x21\xeb\xd6\x27\xe6\x40\x9b\x82\x46\x5e\xb8\xc5\xc2\x6a\x50\xaa\x91\x21\x06\x66\xb0\x25\x86\xda\xfc\x6a\xb7\xea\x2a\x1d\x65\x58\x19\x3b\xb7\x36\x12\x57\xb0\x6f\xa3\x86\xcf\x84\x97\x04\x0e\x42\x68\xcf\x24\x18\x94\x2f\xf8\x3c\x84\xc7\xca\x92\x50\x4e\x3b\x0f\x2b\x9a\x29\x1e\x87\xb4\x51\xf7\x50\xd9\xe0\xf9\x56\x37\x1b\xd4\x11\x08\x48\x76\xbc\x06\x5e\x87\x99\x1a\x52\x81\x73\x9c\x21\x25\xad\x5c\x60\x91\x3c\x2a\x6e\xc7\x69\x3b\x6d\x85\x41\x28\xb2\xac\x6b\xf4\x44\xa7\x6d\x32\x66\xa3\x92\xc8\x37\xeb\x16\x46\x2d\x40\x4a\xcc\x59\xb9\xe0\x0b\x06\xd4\xec\xd6\xf5\xa1\x6a\x25\x9c\x77\x89\x4d\x1b\xd8\x51\x43\x36\x8a\x56\x2f\x1b\x4a\xc3\x66\xa8\xc6\x1f\xcd\x9a\xea\x4a\xa6\xe3\xf7\x00\x75\x5b\xdb\xd9\xf6\x16\xa0\x0c\x71\xcc\x02\x36\x3b\x72\x21\x02\x8a\x59\xed\xa3\x8d\xe3\xbb\xe0\x22\x78\x3b\x04\xa7\x62\x79\x7d\x3c\x94\x36\xa1\x66\xa6\x82\xcf\x63\xc6\xeb\x35\x86\xed\xe0\xc3\x86\xe9\x08\xd9\xc1\xb4\x7e\xd0\x04\x65\x23\xfa\x7e\x6b\x87\x4d\xab\x0b\x67\x63\x93\x8e\xaa\x77\xc0\xfa\x64\x87\xc3\xb5\xed\x4c\xb7\xb3\x0e\xe4\xac\x7e\xa1\x79\x45\xb0\x7b\xe7\xdc\x19\xd8\x14\xec\x7c\x4c\xc1\xf7\xeb\xa9\xae\x18\xb9\x05\x8b\x40\x54\x15\xa2\x81\x3d\x7a\x7a\x71\x92\x7c\x81\x09\xf5\x65\xab\xc9\x09\x5c\xce\xb1\x70\x8c\x0f\x97\x9d\x91\xb0\x85\xd1\xed\xf7\xca\x89\xb1\x8e\x55\x85\xa0\x2b\x82\x64\x24\x8d\x37\x28\x55\x64\xc8\x34\x25\x3a\x61\x8b\x75\xd9\x76\x73\x3a\xcd\x36\x87\x69\x7d\x54\x16\x08\x66\x86\x5a\x8d\x4b\x3b\x79\x49\xac\x3b\x1e\x1e\xa4\x7e\x79\x62\xc7\xc3\x29\x90\x30\x6c\x36\xb3\xb3\x2b\x0c\x39\x7a\xcc\x11\x6b\x13\x6a\x5c\xac\xc4\xd6\x45\xa4\xa4\xf5\xe6\x60\x1c\x94\x7c\xdd\xed\x58\xfe\x52\xcd\x6b\xa6\xde\x37\x06\xbd\x98\x9e\x8a\xb6\xdf\xac\x0c\x9a\x11\x45\xf8\xe8\x9c\xd4\x5a\x4a\x22\xd5\x4f\xc7\x52\xd5\x6a\xba\x76\x1b\x25\x9b\x95\xd6\x56\x38\xcf\x40\x8c\xc1\x4a\x0a\x84\x64\x63\x2c\x05\x74\x71\x64\x17\x3c\xa8\xa2\x68\x1d\xd7\x6b\x9b\x17\x12\x7e\x10\x3a\x9a\x34\x6e\xb4\xbc\xb8\x42\x7a\x36\xa4\x65\x86\x2f\x31\x40\x70\x8b\x8e\x18\xc5\xc6\x5b\xbb\x08\xa1\x2d\x17\x82\x8f\xba\x3c\xb7\x55\x9b\x46\x55\x1d\xbc\xa5\x22\xe7\x00\xa0\x43\x87\x4b\xa9\x21\x10\x80\xcd\x00\x0a\xdc\xbd\x74\x99\x59\xe9\x16\x60\x38\x58\x09\x9b\x96\xbe\xbe\x73\xcb\x7e\x3d\xaf\x5c\x1f\x6b\xec\x51\x97\x17\xa5\xb1\x60\x70\x6b\x9e\x40\x6b\x39\x9a\x79\x29\xaf\x88\x30\x0c\x10\x7f\xbb\xc6\x6c\x4e\x70\x70\x2c\xc9\x07\x1f\xc8\xfe\x79\x3e\xe7\x57\x53\x28\xb3\xd8\xd3\x31\x4f\x4e\x12\x5a\x2f\xfa\x0b\xbc\x02\x7a\xa5\x52\x81\xca\x48\xf1\xc5\x1b\x01\x3a\x82\xe3\x7a\x1b\x21\xd7\x68\xd6\xb7\xf4\x74\x41\x59\x5d\xe0\x17\xbb\x53\x10\x25\xc2\xd9\x43\x96\xa9\x99\x48\x97\xfe\x28\xd6\xde\x21\x39\xa9\x68\xaf\x65\x54\x9e\xd8\x3e\x72\x30\x6a\x5e\x9f\x95\xe5\x72\x8a\x7a\xde\x71\x91\x0b\x56\x31\x1a\x58\xff\xa2\xb3\x72\x40\x47\xec\x26\xef\x91\xcd\x4a\x3a\xba\x6e\x5a\x85\xa1\x6e\xe3\x5d\xb3\x6b\x17\x6a\xc8\x6e\xac\x23\x64\x1b\x32\x16\x93\xab\x54\x5b\x08\x86\x87\xb8\xa0\x20\xc0\x0a\x59\x0d\xf1\x66\x5e\x2d\x18\x60\xca\x4c\xc6\xb5\x9b\x51\x53\x98\x84\xae\x91\x72\xbf\xca\x89\x6a\xb5\x9f\x43\xf1\x42\xd7\x18\xc1\xab\xa4\x8e\x5e\x2b\x76\x85\x14\x7e\xd7\x1e\xc3\x65\xc3\x95\x9b\x03\x36\x6d\xd6\xcd\x39\x4b\x64\x8f\x8b\xb3\xd4\xdc\xc2\x52\x22\xc5\x4b\xe0\x1c\x68\x47\x01\x22\xbe\x7e\x38\x3e\x03\x35\x5b\xd2\x5e\x48\x07\x25\x0b\xe6\xcb\x33\x6a\x07\x78\xef\xa0\x81\x8f\x6e\x30\x3f\xdd\xa4\x76\xd5\x1d\x72\x0d\xe3\x16\x28\x59\x9a\x12\x52\x17\x82\x86\x2e\xd6\x9e\xd6\xcf\x8f\x48\x37\x48\x52\x8f\x70\x33\x18\x2d\x66\xc8\x85\x3c\x8e\x45\x8c\x05\xd6\x3a\xe5\x65\xb3\x61\xe6\x5e\xd7\x30\x8b\xc8\x70\xab\xf3\x52\x66\x84\x5e\x5b\x64\xc9\x51\xe8\xf2\x40\x5e\x36\xe7\xcc\x0f\x78\xa2\x83\x49\xd0\x1e\xc9\x36\x93\x7d\xe5\x04\xb8\xf2\x64\xa9\x3c\xd8\x50\xf0\x59\x5c\xb9\xa8\x8b\x3a\x63\x95\x38\x82\xd3\x73\x26\x4e\x37\xf6\x1a\xdd\x87\x1c\xac\x29\x29\xed\xa5\xae\x50\xb8\xe9\xce\x65\x18\x63\xc5\xa1\x06\x0b\xef\xd7\x79\xee\x85\xbd\xed\x39\xbc\x11\xf6\x54\x4e\x5b\x7b\x82\x99\x26\x2a\x9c\xa2\xb9\x1b\xaf\xad\x4d\x3a\xdd\xf7\xec\x43\xdd\xa6\x39\xb7\x2b\x18\x85\x5d\x61\x6d\xb4\xf4\x6e\x96\x94\xeb\x41\xaf\x0c\x2c\x36\x4b\xf3\x92\x28\x32\x67\xa9\xb1\xb8\xdf\x01\x2d\x83\xda\xa4\xaf\x98\x1e\xd7\xe0\x7a\xe7\xb1\x43\xb5\x42\xec\x6c\x0d\xec\x4c\xa6\x57\xb3\xa2\xcc\xe4\x7a\x3c\x75\x25\xaf\x9b\xc5\x72\x75\x18\x2e\xdc\x7a\xb9\xdd\x64\x3d\x8a\x5c\xce\xfa\x2c\x56\x97\x50\xa5\x94\x06\x15\x24\x62\xa1\x9b\xf2\xd6\x95\x13\xb3\xc8\x35\x33\x2e\x34\x94\x19\x9c\x3e\x32\x97\x5e\xab\xe8\x54\xee\xd9\x7a\xa2\x20\xd3\xfa\xbc\xe4\x47\x2e\xaf\x96\x42\xed\xda\xf2\x6e\x39\xf3\x2f\x03\x71\x54\x62\x13\x0e\x38\x72\x23\x6e\x4a\x72\x5b\x96\xdc\xba\x21\x77\x9e\x33\xd3\x9c\xa9\xed\xb0\x4c\x7b\x92\xba\x0b\x3f\xeb\xf2\xb0\xbc\x20\x95\xba\xc8\xf2\x56\x2a\x8c\x1a\x77\x1a\x95\xc3\xe4\xd1\xa7\xb0\x86\x78\x82\xc4\xc1\xa1\x8e\x30\x2e\xed\x61\xc9\x59\xbb\x87\x94\x58\x14\xac\xb9\xca\x22\x8d\xc3\x69\xc3\x5d\x6b\xc8\x0a\x92\x24\x87\xdf\xf8\x00\x78\x9d\x03\x21\x76\xb5\xa3\xa7\xdb\x14\x3f\x4d\x8f\x39\x74\x48\xa8\x8a\xaa\x49\xac\x19\x35\x65\x57\x54\xd5\x3a\x53\x98\xe3\x26\x1e\x54\x0a\x17\xd9\x4d\x09\xc2\xb3\xa4\x6d\x10\xad\x3e\x2b\x3d\x7d\x29\x9a\x22\xe7\x86\xdd\x39\x9d\x52\xcd\xb4\xaf\xb8\x8b\xba\x1b\x76\xc3\xa5\x0f\x9a\x63\x1a\xc9\xfb\xdd\x72\xa9\xa7\x86\x84\x4d\xb9\x74\x74\xf4\xc4\xfe\xe2\xd2\x07\xc8\x35\x87\x1c\x57\x57\xba\xae\x36\x60\x3b\xf4\xdd\xb9\x8d\x0d\x73\xe3\xec\xf4\x64\xee\xd8\x3d\xaf\xe6\x04\xd2\x46\x85\x38\x0c\x91\xd6\x91\x2a\x83\xaf\xb6\x36\x14\x1e\xc5\xd6\x1b\xd0\x93\x6c\xc4\xba\x04\x1b\xe6\xc8\x94\x46\x55\xdb\xc8\xa0\xbb\xf9\x02\x9d\xb2\x5b\x6e\x43\x72\xae\x52\xba\x0a\x4c\xd8\x88\xa2\x6f\x70\x61\x49\x78\x5b\xf9\x12\xd0\x5e\xad\x1f\xb5\x42\x38\xb5\x47\x50\xac\x12\xb8\x35\x36\x7d\x8b\xe9\x53\x64\x2d\xb5\x2c\x7a\xf1\x0f\x73\xc7\x42\x6f\x00\x39\x27\x67\x55\x75\xd5\x91\x12\xa4\x01\x11\x2b\x38\x84\x86\x08\xc9\x9c\x06\x55\x4e\x78\xeb\x19\x69\x70\x95\x58\x99\xda\x4c\xf3\x57\x19\xb7\xe7\xce\x97\xad\xe7\x57\xc7\x7d\x43\x09\x24\x0a\x23\x46\x57\x42\xdb\x35\xe5\x21\x79\x31\x3f\x8d\x06\x96\x39\x99\x89\xd8\x9e\x6d\xda\x36\x97\x60\x3b\x10\xfb\x64\xfc\x07\xe9\x95\x29\x3d\x5d\xa8\xca\x4a\xb9\xf4\x0e\x42\x03\x00\x00\x7b\x94\x28\x9d\x96\x22\xe3\x28\xc5\x42\xb2\xbf\x98\x3a\x05\x9b\x22\xb8\xf0\x04\x89\xec\x14\x30\xd6\xb1\x77\x0a\xdf\x69\x04\xd9\x0b\x67\xb5\x13\xce\xe0\xb2\x53\x00\x2c\x9c\x41\x27\x58\x72\x84\xfb\x00\x00\x5c\x83\x25\x2d\x80\xcd\x2d\x05\x9b\x4a\x5e\xdb\x88\x94\x9b\x69\x04\xf8\x33\xe8\xf9\x0b\xdc\xf3\x32\xdc\xf1\x9a\xd8\xf3\x44\x36\x86\xc4\x02\x91\x5d\xf6\x38\xdc\xed\x89\xac\xe3\xf7\xb6\xb5\xc6\x6e\xad\x79\x20\xab\x9a\x20\x71\x0b\xdc\x60\x98\xd7\x74\xc7\x9d\x2c\x75\xac\x1a\x72\xad\xda\x7b\xf3\x6e\xf2\xa6\xf6\xfa\x1a\xca\x63\x2b\x4c\x6f\x3f\x89\xd3\x78\xef\x26\x08\x32\x01\x8d\x3f\x41\xe0\xd9\x6a\x02\x2f\xff\x3a\x47\xfe\x8a\xce\x26\x53\x18\x7e\x48\xb3\xbf\x01\xfe\x76\x3f\x40\x9c\xf9\x50\xeb\x95\x55\x98\xa5\xcf\x17\x99\xbd\x5f\x7d\x1f\xa4\xfb\xb8\x5e\xf1\xfb\x05\x5e\xff\x32\x5b\xbe\x02\x98\x1f\xd6\x10\x4d\x02\xe2\x39\x18\x3f\xac\x27\xa5\xd7\xfe\x72\xbb\x20\x7e\x72\x1b\xf3\x09\xdc\x37\xae\xbb\xf6\xfa\x3c\x2b\xeb\xf7\xe7\xea\xa7\x24\x73\x9b\xd8\x7b\x3f\x3e\xb8\x5d\xd8\x73\xfb\x81\xa2\xdb\xb0\x87\x69\xef\x6e\x4f\xe2\xd0\xfe\xeb\xf5\x5f\xb7\x2b\x83\x6e\xbf\xc5\xf5\xef\xd0\xe4\x9f\x3f\xbf\xfb\x09\xfa\xf7\xc9\x6c\x31\xf9\x77\xe8\xe1\xd1\xdb\x4f\x97\x39\xdd\x40\xbf\x9b\x3c\xc0\x7e\x37\xf9\xed\xb7\xce\xb3\x73\xcb\x89\x7e\x2b\xbd\xa2\x09\x4b\xef\xb7\xdf\x7e\x9e\xfc\xd7\x4f\x3f\xfd\xe5\xd3\xdd\xd5\x7f\xf9\xf5\xa7\x9f\x1e\xae\x71\x1a\xef\x56\xfa\x78\xf9\xda\x47\x28\x7f\xf9\xed\x37\xaf\xe2\x6f\xb0\xff\xf2\x6e\xf2\x5f\x93\xd6\x8a\x1b\xef\xaf\x93\xba\x6c\xbc\xdb\xef\x2a\xb5\x56\x39\xe2\xfd\xdb\x6c\xf2\xe1\xde\x9a\x6f\x67\xf0\xc3\xb0\xfe\xeb\xc3\xd0\x87\x61\x9d\x67\xd7\xf5\xe5\xe5\x71\xc8\xa7\x71\x55\xe6\x44\x5e\xfd\xf2\xd0\xd9\xc3\x50\x2f\xf6\x92\xc9\x87\x89\x9b\x39\xcd\xed\x2a\x73\xdf\xab\xc9\xf1\x56\x73\xec\xc2\xb8\x6f\xff\xf2\x78\x57\xff\x5f\x7e\xfe\xf5\xa7\xf0\x34\x79\x7b\x1b\xff\x6f\x1f\xc6\x9b\x73\x3f\xbf\xac\xea\x3a\xf0\xd3\xcd\x54\x7e\x76\x45\xf4\x76\xb7\xc2\x87\x0f\x93\xbf\xdc\xc8\xf0\x97\x4f\xb7\x53\x4d\x26\xe3\xab\x4f\x3f\x67\xf6\xdb\xec\xbd\xe2\x95\x09\x7d\xfd\x7c\x5b\xe4\xf1\xca\xa9\xdb\xbf\xbd\xb8\xf2\xee\x4f\xee\x3f\x9b\x7c\xbc\x3f\x79\xe4\x43\x9d\x57\x64\x6a\xd9\xb1\xe7\x4e\x3e\x4c\xba\x30\x75\xb3\xee\x7d\x9c\x39\xd6\x55\x42\xc6\x0b\xc1\x9c\x2c\x7e\x40\xb6\xce\xab\xbf\xfe\xe5\xd7\x8f\x93\x9b\x32\x9e\x7c\x98\xbc\xfd\x02\xc6\x7f\x4e\xde\x74\x55\xf5\x57\x08\x7a\x33\xf9\xeb\xf5\xe3\xf5\xd3\xcf\x93\xe9\x33\xc8\x41\x56\xd5\x77\x1e\xe7\x56\x1d\xdc\xae\xfd\x9a\x5e\x27\xbf\xf9\xb4\x96\x55\xfa\xd5\x1d\x04\x2b\xcf\x2a\x9d\xe0\xd3\xb0\x93\xe5\xd4\x59\x79\x79\x20\xc2\x67\xfc\x7e\x8f\x67\x69\x3a\xfe\xb2\x24\x35\x8e\x79\xdb\x94\xf1\xbb\x8f\xa2\xf3\x71\xab\xd5\xcf\x9f\xa0\x75\xf5\x27\x40\xe3\x28\xdd\xb3\x15\xc5\x78\x7b\xd3\xba\xc7\xc5\xde\xdd\x90\x7b\x37\x19\x79\x6b\x35\x75\xf0\x5b\x9d\x45\x5e\xfa\x19\x20\x27\xce\x2a\xaf\xbc\x49\x5d\x57\xbf\xcf\x72\x2f\x7d\xbc\x6b\xec\x61\x43\x96\xeb\x92\xad\x97\xd6\xbb\xb0\xaa\xbd\xd4\x2b\xdf\xfe\xa5\x49\xe3\xcc\x72\xff\xf2\xee\xd3\xad\xe0\x6f\x3f\x97\x93\x47\x88\x9f\xee\x2c\x1b\xd9\xff\xfe\xf6\xe2\xf1\xe9\x55\xdd\xfe\xf9\xd3\xaf\xcf\xcc\xc1\xf2\x4f\x66\x0e\xf0\x2c\xc9\xb3\xea\x76\xc3\x36\x3d\x5e\xea\xfd\xe1\x13\x62\x9f\x36\xfe\xf1\xc9\xb3\xf1\x6f\xaf\xa6\xd7\x2a\x3d\xeb\xdd\xc4\xf9\xf4\x4e\x0b\xbd\xee\xdd\xe4\x51\x55\xbf\x50\xb3\x20\xac\xde\x3f\xce\x99\x7c\x98\x3c\x7e\xfc\xf5\xcb\x11\x4f\x60\x4d\x3e\x3c\x85\xfe\xeb\x53\x88\xe3\x52\x37\x88\xe3\xc7\x27\x23\xc2\xea\x01\xf7\xd4\x9f\x7c\x98\x9c\xac\xb8\xf2\x9e\x8d\x90\xc7\x0b\xfb\x3f\xdb\xe4\x0b\x43\x3f\x43\xe6\xf0\x69\xe4\x7f\x4d\xaa\xda\x2a\xeb\xbf\xde\x4c\xd1\xbb\x89\x97\xba\xe3\xc7\xc9\x3f\x3f\xd7\xfe\x67\x24\xfc\xfc\x8a\xd8\x4f\xef\x6e\xa0\x3e\xbb\x01\xf0\x4b\x29\xbc\xb3\xa5\x2b\x5f\xbf\x8d\xe6\xfb\x47\xb8\x5f\x30\xe2\xfd\x4d\x36\xde\xc7\x5e\xea\xd7\xc1\xd7\x59\x71\x9b\x83\x67\x69\xed\xa5\x57\x30\x6f\xde\x7c\x63\xb8\x13\x5b\x55\x75\xd5\xae\xd1\x77\x5b\x4e\x1d\xb6\xde\x9b\x47\x35\xf9\xf5\x7b\x48\x32\x5e\x42\xfd\x05\x4d\xbc\xf6\x73\xaa\x5c\x25\xfa\xb7\xdb\xad\x8d\xe3\xfe\xbe\x6b\x27\x5e\xfb\xde\xb5\xea\xa7\x82\x38\xae\xf9\x19\x82\x0f\xce\xa8\xfa\x5c\xff\x2b\xaf\x56\xc2\xc4\xcb\x9a\xfa\x8e\xee\x3c\xfe\xfd\xf6\x22\x4b\xbc\xf4\xea\x02\x7e\x7b\x0d\x47\xfe\xf9\x6e\x02\xff\x10\xed\xc6\x35\xbe\x22\x4c\xa7\xab\xce\x84\xc3\xe7\x5b\x7d\x7b\x15\xa9\xd7\xaf\x16\x79\x17\x37\xeb\xd2\xaf\xf0\xe7\xe3\xd5\x95\x9f\x4b\xee\x7f\xff\xf7\xcb\xea\xf7\x94\x86\x37\x87\xdf\x5e\x57\xc2\x33\xd7\xbb\xdd\x7d\x89\x20\x9b\xa7\xa3\x26\x9f\xae\x98\x7d\xa2\xbc\x9f\xb4\xf0\xf1\xef\xe6\xc8\xef\x80\x9d\x2d\xaf\x88\x3d\x7d\xb8\xba\xf7\x70\xfd\xbb\xd7\x7f\x3e\xfd\x45\x96\xdc\x00\xfe\xfc\x12\xc4\x7f\xfe\xf4\x7d\x94\xba\x2d\x13\x58\xa9\x1b\x7b\x20\xbd\x28\x0f\xb2\x87\x8f\x17\x82\xbd\x7d\xb2\xcc\xfd\x2d\x7d\x5a\xf2\xf1\xe6\xdf\x8f\x76\xe8\x15\x32\x73\x67\x8b\x5f\xc8\x4f\x67\x85\x35\x95\x95\x57\xe7\x96\xf9\xd6\x53\x91\xf8\x4e\x7d\xff\x64\x8a\x4a\x2f\xc9\x5a\xef\xa9\x35\x9a\xbc\xde\x57\x38\xb1\x67\x95\x8f\xf4\x7a\x54\xe4\xcf\x09\x76\xa5\xff\xbf\x7d\x1d\xfb\xc9\xf7\x39\x9e\xc7\x0d\x8f\xf7\xc8\xdf\x37\xe0\x55\x63\x57\xb7\x7b\x8d\xdf\x7e\xdd\xfe\xbf\x7b\xd9\x3f\x78\xa9\xfb\x84\xef\x5f\x38\xd8\x07\x69\x29\xdf\xde\xd0\xf8\xf9\x9e\x1c\xdc\x11\xe9\x5b\x28\xd6\x94\xa5\x97\xd6\xf8\xf3\x35\x6f\xe1\xd9\x73\x1d\x78\x70\xa6\xdf\xd8\xc9\xb3\x69\x37\xb7\xfb\xb5\xed\x7d\x39\xe5\x9f\x77\x36\xfb\x02\x43\xbe\xf4\xb0\x93\xd7\x1a\xfe\x47\x71\xf8\xed\xd5\x66\xee\xf1\xef\xe5\x19\xf7\xc5\xe3\x9e\x98\xb4\x59\xe8\x4e\xe0\xfb\xe3\x3e\xc7\xea\xa3\xc4\xbf\x84\xcc\x6d\xc2\x03\xd0\xbb\xbe\xea\x93\xf0\x7d\x8d\xd5\x8f\x02\xf8\xd5\x31\xcf\x85\xf0\x23\xbb\xee\x3e\x7d\xc1\x8a\xfe\xe1\x68\x7f\x17\x52\xbf\xbd\x4e\x71\xee\x03\xf9\xcc\xd1\x7f\x7a\xf9\x0a\x83\xfa\x92\x31\x7f\xd1\xf9\xbf\x6c\x43\xaf\x6f\xb2\xd8\xd5\xae\x54\xba\x6f\x6f\xbe\x33\x02\xba\xd9\xc4\x57\xc9\xdb\xed\x12\x6a\xaf\x7b\x5c\xfa\x1e\xdf\x9e\x13\xf0\x3a\xc9\x0d\x4f\xa7\x31\x75\xbc\xcd\x7d\x5f\x7a\x79\x6c\x39\xde\xdb\xc7\x7d\xbc\x9b\xbc\x79\x73\x87\xf6\x57\xcc\xae\x53\x1f\xe2\xad\xc9\xdf\x26\xf0\xd7\x75\xf2\x19\x57\xaf\xb3\xbf\xcd\xd4\x1f\x8c\xe3\x5e\x0c\x42\xbf\xe0\xaa\x9b\xa5\xb5\xe4\x39\x4d\x59\x79\xaf\x63\xf0\x8d\x1f\xdf\x62\xc7\xe8\xd5\xef\xd9\xf9\x07\xa3\x5e\x65\xe5\x27\xe9\x78\xa0\x8a\x37\xe2\xf7\xbe\x68\xbc\xf2\x22\x7b\xb1\x77\xcd\xd7\xdf\xbe\xf9\x38\xe0\x97\x71\xde\x9b\x27\x0e\x73\x7c\xfa\x14\x83\x8f\xf5\x28\x29\xeb\xaa\x57\x2f\x75\x9b\xf1\x4b\x99\x75\xd5\x53\x86\x7f\xc2\x5b\xc9\xf2\xc9\x87\x4f\xb0\xdf\x67\xa7\xd3\x55\x90\xb3\x7c\x32\x7d\x18\xf1\xe9\xd1\x1d\x37\xf1\x34\xbe\xa8\xea\x4b\x7c\x0d\xd9\x4f\x57\x5b\xf3\xc5\xfc\xdd\xf5\xd9\x74\xf2\x26\xef\xdf\xbc\x1a\x4e\x7d\x43\xee\x13\xa2\xdf\x39\x3d\xf0\x42\x3f\x78\x86\x08\x3d\x3e\xfd\x4e\x58\x71\x98\x7a\xf4\xf7\xc2\xbb\x91\xf9\x4b\x70\x58\xd6\xa4\xee\x47\x16\x3e\x5d\xcb\xf7\xea\xdb\x80\xab\xa7\x8b\x43\xef\x26\xcc\xf5\xd3\x20\xf4\x4b\x4b\xf0\xa3\x14\x7f\x02\xe0\xd5\xa4\x7e\x32\xaf\x0b\xdd\x3a\x78\x5e\x9b\x18\xb7\xf9\xf0\xf6\xb5\xb0\x3e\xf1\xeb\x2e\xb0\xe0\x1b\x8c\x7b\x4a\x92\x2f\x38\xf6\x3d\x10\xbf\x4c\x21\xfe\xed\x05\xa3\x32\xf9\x8a\xcd\x7f\x4c\x04\x7e\xfb\x46\x02\x3d\x66\x97\x5f\xf5\x74\xaf\x48\x71\xef\x05\xe2\x5f\xcf\x74\xef\x4b\xcf\xb3\x42\xc6\x5d\x19\x79\x1c\xf5\x05\x7e\x0f\xfb\x7d\x86\xe6\xaf\x3f\xfd\xf3\xed\xcf\x3f\xff\xfa\xd3\x43\x45\xee\xfd\xbd\x62\xdb\x9d\x49\x3f\x41\xd0\xff\x6f\x32\xf6\x3b\x78\x2b\xcf\xc3\xd4\x57\xa5\xdd\x87\xe7\x44\x38\x57\xef\x13\x2b\x7f\x56\x62\x5c\xfd\xc9\x4a\x8c\x64\xe5\x58\xb9\x27\x7b\x45\xe3\xa5\x8e\x57\xbd\xd8\x01\x78\xec\x15\xe0\x81\x55\x56\x5e\xfd\xf2\xc0\xc7\xe6\x03\x73\x0d\xa4\xe8\xd1\xff\x7e\xa3\x6c\xf9\xf9\xd0\xb7\xbf\xbd\x58\x97\xfc\xed\xb3\x32\xe2\x6f\x5f\xd6\x11\x47\xb1\xfc\x1c\xce\x67\x42\x68\xb9\xee\x15\xeb\x2f\xc4\xce\x09\xac\xf2\xdd\xc4\xc9\x5c\xef\x69\x05\xe4\xfa\x66\xf2\xb7\x0f\x93\x37\x93\x37\xf7\x5c\x9d\x13\xfc\xf6\x68\x57\x3a\xe7\xf6\xe9\xed\x0d\xca\xaf\xcf\x62\xa9\x2f\x71\x7e\xef\x8c\x84\x9b\xfc\x9f\xff\x33\xb9\xff\xe6\xef\xd7\xff\xfe\xe3\x5e\x60\xe3\x8c\xd8\x7f\x6d\xda\xd7\x8a\x18\x57\xb4\xcb\xac\x7b\x0e\xe1\x32\x99\x3e\x7b\x64\x5b\x4f\xd3\x96\x9b\xa1\xf9\xb8\xed\xe7\xe8\xf7\x2f\x65\x54\x4f\xc6\x5d\x8d\x5e\x75\x75\x23\x6f\xcb\xac\xfb\xf9\xef\x4f\xa1\x4c\x7e\x99\xcc\xee\xee\x7e\xf2\x45\x2c\xf4\x7d\xf0\xfe\x8e\xbc\x08\xf2\x87\xb1\x44\xfe\xf1\xf3\x8b\x00\x27\xcf\x64\xf5\x55\x00\xff\x3e\xfb\xc7\x64\xfa\xe1\xc6\xe7\x3f\x30\xaf\xfa\x11\x7a\xfd\x18\x22\x4f\x60\x8d\x4e\x45\xba\x66\x36\x4f\xc9\x7b\xf9\x66\x14\x3e\xb9\x13\xd5\x3e\x1f\x75\x87\x73\xfd\x35\x2c\x7c\x14\xd3\x5f\x26\xb3\xab\x12\x3f\x55\x99\x2c\xae\x5e\x29\xad\x5d\x69\xe5\x56\x79\xf5\xc5\xfc\x13\x23\xf1\x95\x8d\xf7\x93\x0f\x2f\x25\xf3\x4f\xe9\x30\x9d\xbe\x9c\xf4\x3f\x53\xd3\xbf\x3d\x9d\x5e\x39\x65\x16\xc7\x58\x56\xd7\x59\xf2\x35\x01\x7f\x0a\xe9\x97\x5f\xee\xaf\x7a\x67\xec\xb8\xc4\xe7\x45\xe6\xa7\x7f\x7f\xac\x50\x3e\x13\x94\xf7\x61\xa5\x97\x56\x9e\xdf\x3a\xb0\xcf\x8b\x3b\x2f\x63\xf1\xfc\xc9\x57\x70\x1a\x4d\xfe\xa3\x4d\xff\xf0\x61\x82\xbc\xac\xdd\xf7\xc4\xf2\xf9\x82\x5f\xfe\xdf\xef\x34\xbc\x4f\x46\x85\x69\xe5\x95\xf5\x4b\x12\x79\xca\xca\xc9\xdb\xab\xb5\x4f\xb2\xf6\x56\x53\x80\x7f\x7d\xf8\xf8\x1f\x1f\x35\xe3\xd7\xc9\x74\x7a\x7b\xf6\x92\xd8\xdc\xbc\xc5\xad\x00\xeb\x3e\x47\xfc\x65\x76\xbd\xb0\xa3\x9f\xdf\xe7\x59\xfe\x34\x4b\xf8\x7c\x83\x0f\x4b\xfd\x1d\xf9\xc7\x8d\xfa\xf0\x8b\xc4\x7f\xee\x78\xbe\x6e\xd0\xae\xba\x7e\x33\xae\x7f\x3c\xc4\x47\x64\x91\xef\x50\xbd\x57\x82\x9e\x7c\x98\x3c\x7b\xd7\x94\xa0\xae\xcb\x77\xd7\x88\xe4\xdd\x64\xf6\x8f\xdf\x61\x98\xbf\x44\xe2\x7d\x95\xc7\xa1\xf3\xcc\x44\xf7\xef\x26\xf0\xbb\x6f\x62\xf1\x1d\xd5\x94\xef\xa6\x46\xff\x55\x32\x3c\x84\x6e\x0f\xf2\xfc\x8f\x3b\xd9\xd6\x67\x90\x9e\x9a\xd9\x1f\xf7\x54\x77\x0c\xc5\x4b\x9d\xa1\x3f\x66\x9f\x6f\xde\xbc\x9b\xc0\x77\xb8\xfd\xad\x2d\x3e\xed\x37\x3d\x24\x43\x2f\x04\xc7\xb6\x17\xc7\x3f\x50\x7d\xbc\x17\x90\xb5\x61\xd5\x58\x31\xe6\xc5\xf1\xeb\xab\x54\x4f\x40\x3c\x96\x8b\xc6\xa4\xce\xce\x4a\xd7\x2b\xf1\x2c\xbe\xd5\xb0\xde\x74\x41\x58\x7b\x6f\xbe\x5d\xd5\xfc\x32\xc3\x7d\x25\xf0\x37\xb7\x54\x77\x06\x3f\xa9\x79\x3d\x01\x91\x67\xb9\x90\xde\xdb\xe1\x93\x71\xa7\xcc\x69\xbe\xe8\xd0\xbd\x86\x15\x57\x61\xa1\x3c\xef\xe5\x4e\xf0\xbd\xac\x22\xbb\xdd\xbe\x4a\x66\xdf\xc2\xe8\x49\x68\xf2\x22\x07\xbe\x08\x4c\x7e\x7f\x30\xf2\xad\x00\xe4\x7e\xd0\x71\xb7\x71\x75\x37\xe4\x7b\x5d\x8c\xf7\x74\xda\xe7\x58\xbc\x86\x33\x8e\x55\x96\xa1\xe5\x7b\xd2\x28\x58\x5f\xad\x5f\xdc\x25\xf9\x37\x74\xd0\x72\xa2\x2a\xb7\x1c\xef\x7b\x38\xdf\xdf\x2b\x83\xff\xde\x8d\xd6\x96\xfd\x3d\xbb\x7b\xf2\x28\xf5\xfa\x5a\xae\x3f\xf9\xfb\xaf\xaf\x55\x05\xe1\xa9\x16\x9a\x6f\x9c\xa2\xf9\x4c\x36\xbc\xda\xdf\x79\xad\x17\xbf\x9d\xbd\x1e\x3e\xf3\x6a\x6e\x7d\x02\x0f\xbf\x0a\xfc\x18\x8a\xdd\xca\x21\x5f\x2c\x91\x5b\xa5\x95\x54\x4f\xad\xe8\xed\xe9\xbb\x6b\x34\xf8\x6e\x72\xbe\x7a\xaf\x4f\x7c\xb9\xbd\x9a\x7c\x18\xff\x5b\xfd\xfd\x73\x93\x7f\x65\xfb\xf8\xfa\x3f\x26\xb3\x2f\xe3\xd2\xc7\x59\xb3\x4f\xa3\x7f\x30\xd4\x3c\x3f\x9f\xd4\x7f\x7a\xeb\x04\x77\x7c\x94\x57\x5a\x95\x77\xf5\x52\x6f\x7f\xbe\x13\x96\x74\x41\x18\x7b\x0f\x88\xff\xf2\xcb\x35\xcc\x3a\x4f\xfe\xe3\x07\xd4\xf4\x7e\xb4\x72\x9e\x4e\x6f\x01\x8a\x13\xdc\xab\x3d\xbf\x38\xfb\x49\x18\xfa\x2a\xad\xbf\x55\x9c\xd5\xfc\xb5\xec\x7d\x0d\x0f\x9f\xec\xf8\x0e\x17\x5f\xb6\xcc\x93\x5f\x1e\x16\xf8\x86\x81\xfe\x8f\x6f\xda\x85\xcb\x3d\x67\xf0\x1a\x62\x10\x4f\x4f\x10\xfd\x2b\xc9\x31\x7d\x1d\x39\x9e\xbb\x88\x32\xeb\xbe\x25\x7b\x97\xe7\x4a\x71\x9d\x35\xf9\xe5\x3e\x6e\xff\x4a\xdf\x74\x63\x0c\x95\x95\x9d\x55\xba\x7f\x12\xde\xf4\xaf\xe3\xcd\x8f\x92\xe8\x4e\x2d\x74\xcc\x9f\x9e\xe1\xf6\x1a\xd2\x61\x96\x13\xfd\x2b\x69\xf7\x3f\x2a\x3b\x77\xc9\xf7\x2a\x3b\xd2\xbf\xc2\x8e\xdc\x0d\x2a\x5f\x43\xf3\xbd\xd7\xd7\xbb\x30\xf5\xfe\x24\xf2\xfa\xa7\xb2\x25\xdf\x8c\x22\x5f\x41\xdf\x43\xe9\x39\x9e\x1b\xa6\xfe\x9f\x8a\xc8\xff\xb3\xfe\xeb\x8f\xa2\xdd\x35\xa4\x03\x76\x95\xc5\x4d\xfd\x67\x21\x5d\xff\x08\xff\x93\xcc\xbc\x46\xcb\xee\x36\x5c\xef\xef\xe2\x16\x98\x3a\x59\xfc\x34\x9a\xfc\xb8\xab\x2f\xa5\xf5\xe3\xce\xaa\x8f\x67\x72\xee\x14\x44\x6e\xdf\x90\x79\x04\x31\xfb\xc7\x4b\x02\x7f\xa7\x3a\x3b\xce\xbc\xcb\xe2\x5b\xd1\x30\xeb\xee\x49\xc9\x88\xf2\xdd\x59\x1f\x0f\x12\x5f\xc7\xbc\x4e\x8b\xef\x86\xd3\xdf\x0a\x02\xae\x88\xdf\xc1\xec\x2b\xfb\xf9\x88\xd9\x75\xcc\xeb\xcc\xfe\x08\xed\x95\x2e\x70\x72\x5f\x9c\xbe\xe0\xf5\x1d\xf5\x2a\xb3\xee\xf5\x82\xf6\x10\x7d\x28\x4f\xb2\xc7\x57\x2a\xcc\xe4\xbf\xff\xfb\x73\xb4\xbf\x4c\x1f\xbe\x3f\x16\x78\x9a\x85\x4e\x5e\xe9\x99\x6e\x49\x0d\x93\x12\x61\x95\xc7\xd6\xe5\x15\x1b\x39\x7f\x56\x8a\xea\xc2\xda\x09\x1e\x07\xfe\x1d\x7e\xd6\x75\x74\xac\xca\x9b\xc0\x7f\xfd\xe2\xd9\x9d\xed\xdc\x70\x90\x42\x3f\x78\x56\x60\xef\xdf\x3d\xe3\xd2\x9d\x12\xec\x9d\x5c\xee\x9a\x00\xce\x9e\x8f\xbc\xf5\x0a\x7e\xbd\x97\x99\x5d\x45\xfc\xd7\xc9\x79\x3a\x7d\x65\xd3\xeb\x86\xf3\xd5\xcf\xbc\x3d\xbf\xaa\xb9\x67\x97\x9e\x15\xfd\xfa\x9c\x3a\xb3\xd7\x51\x67\xe7\x9d\xfe\x40\xe2\x3c\x1f\xf5\x20\x7e\xe7\xe7\xa2\xf7\x3f\xbc\x7f\xe4\xf9\xfe\xef\x60\x7c\xe3\xce\xd7\x90\xfe\xfd\x28\xbf\x84\x20\xfa\x1c\xc1\xab\x1a\x3c\x94\xff\x2c\x27\x92\xc3\xc1\x7b\xa9\x67\xf4\xe0\x26\x7e\x79\xdd\x7e\xae\xf6\xf0\x09\xdc\xaf\x1c\xfa\xbc\xbb\x60\x5d\x86\x89\x5c\x5b\x65\xfd\x04\xd0\x0b\xbd\xa8\x7b\x35\x92\xc9\x87\x09\x6f\xd5\xc1\xfb\xc4\xea\x9f\x45\x29\xb7\xf7\xbf\x3c\xd9\xfc\x97\x67\xa5\xbe\x06\xde\x0d\xab\xfc\x6b\xe0\x6f\xef\x5f\x07\xfe\x9b\x12\xf6\x1d\xc6\xef\x15\xe1\xe2\x9f\xc5\xd4\xfd\xcb\xcc\xc8\x77\xe8\xef\x8b\x6a\xf7\xfd\xcb\xbc\x86\x89\x63\x49\xf2\xba\xc0\x77\x97\x24\x7f\xa0\x1c\xf9\x3d\xf1\xec\x1f\x57\x9a\x7c\x0c\xc0\x9e\x5b\x92\xcf\xdb\x10\xaf\x03\x71\x7f\xf9\xc9\x2f\x93\xf3\x97\x3e\xf3\xeb\x11\xc9\x8b\x87\x88\x1e\x4c\xde\x87\x0f\x2f\x98\xc4\xc4\xea\x77\xb7\x21\xaf\x6e\x24\x7e\xb2\x69\xb3\x3b\x12\x73\x6f\x33\xf7\x0e\x7c\xdc\xb3\x35\xf7\xc6\x95\x59\x77\xef\xf1\xf9\xe9\xc3\x57\x74\x7a\x1f\x6a\xb7\x37\x59\x83\x9f\x69\x99\x1d\x5b\x69\x34\xea\x45\xd9\x78\x3f\xbf\xa6\xae\xfb\x58\x0c\x7e\x37\x99\xdd\x6d\x16\xfd\x58\x9f\xf7\xf5\xb3\xbe\xe8\x79\xbd\x26\x50\x76\xbd\xd8\xab\xbd\xff\x4f\x37\x7f\xbf\x6e\xfe\x3f\xa1\x97\x93\x5f\x3e\xdc\x8b\xca\xef\x87\x01\xcf\x86\xbe\x5e\xe3\x6e\x96\xec\x8f\xd5\xb9\x9b\x50\xfe\x5f\xa5\x75\x3f\xd2\xa4\xfb\xa1\x0e\xdd\xff\x82\xda\xfd\xee\x7e\xdc\x0f\x35\xdd\x9e\x07\x4a\x4f\x05\xfd\x1b\xdd\xb7\xa6\x0a\xde\x7e\xd1\xb1\x7b\x4d\x3c\x33\xb2\xfb\xc7\x1a\x70\xbf\xa7\xa8\xf0\x85\xb8\xdf\xd5\xde\x67\x5c\x1a\x51\x55\xb2\xfc\x95\x94\xf9\x01\xe0\xa3\xd8\x7f\x5d\x97\x7f\xfe\x9d\x6a\xf9\x71\x1b\xff\x3b\xea\x39\x4e\xf8\xd1\xa6\xe2\xbf\x84\xc5\x8f\x5c\xf8\x9f\xe2\xf2\x4d\x84\xfe\x1f\x62\xf1\xcd\x34\xfd\x6f\x9e\x92\xf8\xd7\x84\x3e\x7f\xc6\x13\x13\x7f\x3f\x4f\xa7\xff\x98\x7c\xf8\x82\x8c\xdf\xdf\x16\xfd\x73\x14\x75\xf3\xd2\x6b\x7f\xa4\xa8\xeb\x04\x56\x79\xc8\xaa\x3f\x7f\x3f\x67\xf2\xe7\x6c\x91\xd3\x8f\x3d\x24\xc9\x8b\xad\x3a\x6c\xff\x3c\x14\xfc\xbf\xe2\x84\x41\xe9\xe5\x9e\x55\x7f\xec\xc6\x5e\xed\xa0\xe5\xd4\x5e\xf9\xc3\x1a\xf5\x6e\x12\x8f\x25\xba\x17\x35\xff\x75\xce\xe6\xf2\xf3\xbb\xd1\x50\x5d\x27\xde\xff\x2e\xd0\x75\xbd\xa7\x6f\x5c\xef\xf4\xc2\x59\xf4\xaf\x2b\xf8\xdd\x55\x7e\xcc\x3a\x55\x5e\xea\x12\x5e\x1b\x3a\x37\x73\x1a\xda\x4d\xfd\xcd\x8c\xfa\x53\xb7\xf2\x4a\xc6\x3b\x85\xe4\x97\xcf\x27\xdf\x3b\xe7\x9c\x97\xde\x29\x7c\xf6\xad\xb7\x7b\xdf\xd6\xa8\xde\xbe\xb9\x7d\x7d\xfd\xcd\xcf\x1f\x7f\x47\xe9\xcb\xb7\x65\xdf\xd6\xbf\x34\x69\xe8\x64\xae\xf7\xe2\xa0\xca\x29\x3d\x2f\x7d\xf3\xf3\x2b\xd2\xd1\x2b\x71\xde\x3e\xfb\x4a\xe7\x7b\x1c\x7e\x4f\xca\xf8\x64\x3a\x79\xf3\xf7\xff\x9c\xfd\x8a\x38\x4f\xbf\x73\xff\xc2\x8f\x2e\xdd\xc1\x25\x0e\xd3\xa6\xff\xa3\x50\x59\x7e\x05\x91\x3b\x0d\xd2\xbb\x6c\xb8\xa5\xf1\x6f\xfe\xf6\xec\xbb\x9a\x5f\x67\xc7\x1f\x82\xff\xdf\xe0\x5f\x91\xd5\xf2\x57\xf8\x77\x90\xf3\x4b\xfe\xff\x31\x58\xad\x17\xbf\x6e\x16\xbf\x0b\xab\xef\x64\xf2\x27\xd5\x9a\x4e\xde\xfc\x8e\x65\xff\x50\x39\xff\xdb\x1a\xfd\x75\x0e\xc3\x30\xfa\x55\x4a\xbc\xf6\x58\xfe\x9f\x2f\x84\xb8\xbc\x3a\x84\xf8\x9f\x3f\xb5\xf4\x75\xfa\x69\x7f\xd2\x10\xe2\x4f\x75\xe8\xeb\x5f\x78\x80\x94\xd6\x5e\x79\x4e\xe8\x4b\x37\x7a\xff\x44\xfa\xed\xd5\x87\xfb\x47\x85\xfe\x3e\x7b\x79\xd6\xec\xc9\xac\x97\xa4\xfd\xfe\x51\xa4\x7f\x09\xcb\x5e\x8a\xe9\x9f\x1f\x75\xfa\x13\x06\xa6\xb5\x65\xe3\xb1\x67\xfd\x50\x20\x7a\x57\x17\x3f\x3c\x8f\xaa\xc6\xe2\xeb\x53\x7c\x6b\xcb\xae\x9e\x7f\x11\xee\x1e\x81\x3f\xfa\x8a\x07\x0c\x3e\x7c\x98\xa0\xdf\xa0\xcf\x15\xf8\xe4\xc3\xe4\xbf\xfe\xf9\xbd\x31\xe5\xed\x3b\xb5\xaf\x96\xff\x4f\x3f\x44\xf5\xcc\x02\x7d\xfc\x0e\x6e\x38\x7e\xff\x36\x9c\xfc\xc7\xe4\x8b\x49\xbf\x4e\xc2\xfb\x47\x6b\x6e\x5b\x79\xc0\xe4\xed\xdf\x1f\xa8\x1d\xfe\xe3\xe9\x37\x2d\xff\xf9\x87\x47\xae\xdf\xec\xe8\x4f\x1e\x5b\xdc\xf3\xe7\x2d\xee\x3b\x4c\xf8\xf4\x25\xe5\xaf\x7e\x71\xfb\x4e\x1f\xfd\xe3\x42\xc8\x9d\xf3\x03\x2f\xcc\xf9\xd1\x90\xf1\x3f\x9f\x85\x8c\xaf\xa7\xc3\x9d\x33\x06\x77\xe8\x60\xe5\x79\x1c\x8e\x3f\xc8\x8d\x7f\xfc\x21\xae\x1f\x23\xc7\xab\xd6\xab\xbc\xda\x7f\xf8\x79\x96\xb7\xf0\xbb\xcf\x7e\xa9\xe5\x3d\x41\x52\x40\xdd\x29\xbf\xe1\x34\x90\x64\x52\x79\xdd\x19\x95\xcf\xc1\xcd\xfe\x58\x70\xc8\x1f\x0b\x0e\xfd\x01\x70\x5f\x23\xf7\x9d\x83\x4e\xf7\x30\xb0\x5a\xcf\xc5\xaf\xd6\xf7\xae\x4d\x7e\xd5\x2e\x4a\xaf\x0a\x07\xef\xed\x0c\x45\xfe\xff\xec\xbd\xfb\x5b\x1b\x39\xb2\x00\xfa\xf3\xe6\xaf\x50\xd8\xd9\xd8\x0e\xc6\xd8\xe6\x0d\x71\x72\x6c\x63\x26\x9c\x21\x8f\x0b\xcc\xeb\x02\xc7\xa7\x71\xcb\x76\x4f\x4c\xb7\xa7\xbb\x1d\x60\x13\xf6\x6f\xbf\x9f\x9e\xad\x77\x77\x1b\x32\x33\x77\xcf\xf2\x7d\x33\x01\xb5\x54\x55\x2a\x95\x4a\x25\xa9\xaa\xa4\x9d\xf8\xe2\x05\xab\x3c\xed\xdb\x85\x68\x8f\xe2\x60\x12\x84\x8f\x9a\xa2\x3b\x85\x10\xc9\x69\x34\x96\x46\xd6\xb2\xcc\x00\x27\x27\x8a\xb1\x62\x16\x4d\xaa\x95\x33\x18\x07\xde\x0c\xcc\xa3\x38\x05\x31\xda\x50\x24\x29\xf4\x81\x30\x81\xc1\x27\x78\x3f\xf7\xfc\x86\x29\x3d\xa1\x01\xa8\xd0\xf2\x07\xdc\xd0\xd9\x73\xa5\xf1\xe7\x00\xde\xe2\x67\x2e\x92\xfb\x70\x74\x86\x0f\xdc\xbb\x31\xf4\x6c\x59\x14\x5c\x3c\xd8\xd3\x59\x40\xf8\xd9\x6c\x1a\x34\x2c\xfb\x64\x60\x36\xfb\x54\x6c\x6a\xdc\xb5\x9a\xef\xa2\x05\x76\xa0\x13\xac\xc2\x4e\x07\xec\x15\x63\x40\xda\x6e\x5a\x00\x20\xc2\x0b\xc1\x08\xa3\xf8\xc6\x9b\xe9\x40\x5e\x17\x07\x71\x83\x1a\xe3\xe7\x07\x92\x32\xc3\xc7\xc2\xcc\x95\xd4\xea\x10\xbf\x04\xb1\x86\x81\xae\x41\x0c\xb5\xa0\x30\x25\x38\x6d\x62\x10\x85\xef\xbc\xd0\x9b\xc0\xb8\xe1\x07\x09\x82\x65\x13\x08\x93\x80\xf7\x02\x9c\xb9\x0f\xa4\x11\xc0\x14\x00\x42\x81\x55\x9e\x9d\x93\xb1\xd9\x2c\x66\x08\xa0\x5d\xfa\x51\x34\x5a\xb8\xd9\x97\x83\x6a\xab\x10\xaa\x45\x3a\x66\x63\xbd\x34\xa6\x62\xfa\x22\x99\xc4\x8f\xc5\xd4\x2a\xd8\xa7\xf8\xee\x73\xfa\x38\x5c\xed\x62\x98\xc8\x8d\xcf\xdb\xc0\xf7\x61\x4e\xee\x62\x77\xc7\x36\x0d\xfa\x06\xf0\xa8\x1b\xad\xc1\xa6\x61\x0d\x61\x90\x2c\xcb\x8b\xc9\xaa\x25\x53\xdd\x95\x8b\x05\x27\xac\xc5\xb5\x8c\xa9\xac\xc5\x1f\x7c\x90\xbe\x6f\x3c\x5e\xd7\x93\x59\x8b\x3f\xf8\xa0\x5d\x6b\x88\x4b\x73\x1a\xfa\x41\x32\xd7\x1b\xa2\x52\x77\xc3\x3b\xad\xd1\x5d\x0e\x26\x1d\x8b\xbb\x01\xbf\x2b\xd6\x1a\x66\x97\xd5\x05\x00\x90\xeb\x62\x0b\x0c\x7a\xa1\xee\x04\x83\xb6\x75\x5a\x73\x54\x68\x6d\xf5\x60\x16\x5f\x60\x34\xc1\xa0\x96\xc7\xd4\x51\xbf\xe4\xea\x6c\x80\xc0\x25\x91\xfc\x52\xb8\x5d\x32\x8d\x6e\xc9\x46\xc2\x86\xcc\x9c\x04\xa8\xc0\xa6\x29\xef\x16\xeb\xaf\xb3\x41\xe6\xb4\xfc\xfb\x6c\x91\x97\x54\xb7\xff\xb6\x7b\xe4\x25\xf9\x61\x31\x4d\x8d\x49\x73\xd0\xa6\x0d\x59\x93\x1b\x6d\x43\x16\x30\xbe\xb1\x2b\x91\xde\x8b\x6e\xe4\x6c\x90\xca\xec\xee\xcc\x93\xd8\x7c\x98\xc6\x11\xfc\x21\x1b\xc5\x25\x07\x66\xc9\x9d\xe2\xb2\x56\xc8\xb7\xde\x2a\xe2\x19\x80\x6c\xe9\x6b\x6f\xf4\x09\x19\xd4\x54\x9f\x3f\x7e\x87\xe8\xe8\xf1\xbf\xf3\x16\xb1\x44\xb7\xc5\x8d\x61\xf1\x66\xf2\x5e\xb0\x78\x3b\x79\x03\x58\xbc\x9d\xbe\x03\x64\x2f\xda\x3c\xe1\x26\x90\x80\x5a\x66\xc4\x97\xda\xbf\x2d\xbd\x27\x28\xbf\x81\x5b\x1e\x55\xe9\x1d\xdc\xd2\xa8\x96\xd9\xc2\x2d\xbb\xce\x2f\xb5\x87\x5b\x76\x6f\xfa\xc7\x6c\xe1\x4a\xef\xe0\x4c\xfb\x31\x43\xe8\x37\x86\x43\xbe\x16\x36\xab\x59\xa8\xa7\x19\x96\x21\x2f\xab\x0b\x16\x8d\xeb\xb4\xc0\x42\x5f\x0b\xc3\x32\x85\xb6\x13\x38\x77\xc5\xe9\xb1\xd3\x52\x7c\xdb\xc1\xb6\x7a\x56\x58\xbc\x46\x49\x98\x64\xeb\x97\x03\x56\x0d\x1a\xca\x81\x4c\x6f\x00\xcd\x10\xd1\xc7\x25\xb6\x69\x8b\x59\x89\x4d\x9a\xaa\xa7\x13\x98\xf6\x16\xe3\x31\x8c\x8d\xc1\x48\xc5\x77\x8d\x31\x1c\xc7\x30\x99\x56\x75\xdf\x70\x76\x49\xfd\x47\xee\x61\xff\xb4\xbd\xe8\x68\xea\xc5\x4b\x38\xfe\x89\x41\x5f\x2d\x64\xf3\xcb\xc7\xca\x79\x09\x67\x68\x52\x56\x5d\xb0\xa8\x43\xe4\x41\xc1\x1d\x27\xda\xf7\x66\x39\x51\x28\x51\x75\xb2\x15\xae\x83\xf1\xcc\x9b\x98\x6e\x93\x28\xf2\xd7\xaf\x41\x6b\xb7\x0e\xc6\x13\xd0\xd1\xb7\x34\x59\x9d\xbd\x1a\x78\x01\x9a\x77\xad\xf1\xb8\x0e\xae\x27\x76\x70\xbc\x92\x30\x6d\x69\x56\x08\xb4\x27\x9f\x19\xf7\xe1\xf3\xec\x30\x3d\x50\x72\xd3\x62\x66\x83\xd7\x1d\xb0\xd1\xc4\x0c\x06\xaf\x3a\x60\x63\xc7\x98\xa7\x1a\x51\x35\x07\x6b\x60\xa3\xe9\xda\xb8\x67\xf7\xff\x08\xea\x66\x06\x75\xd3\x08\xf5\x9a\x41\xdd\x2c\x01\x75\x2f\x83\xba\x67\x84\x3a\x07\xab\x1d\xb0\xab\x8b\x38\xef\xc3\x5e\x09\x6c\xad\x66\x86\xae\xd5\x2c\x85\x8f\xf7\xae\xa5\xde\x5e\x58\x11\x1a\x05\x1b\xd3\x6e\x96\x33\x2a\xcb\x44\xce\x2c\x3d\x56\xe5\x4e\x68\x93\xc9\x9d\x85\x7a\x4b\x53\x63\x23\x67\xa7\xb4\x33\xa5\xac\x53\x5f\x73\x62\x25\x15\x48\x9b\x4e\x48\xed\x12\x90\xb6\x9c\x90\x36\x4b\x40\x32\x4f\x19\x06\x69\xb7\x04\x24\xe3\xd3\xa7\x19\x9f\xb6\x4b\x80\x6a\x1b\xb3\x5d\x13\x58\x2f\x3a\xe0\x5f\x65\x98\xde\x76\x70\x1d\xc1\x2a\xc3\xf6\xb6\x83\xef\x08\x56\x19\xc6\xb7\x1d\x9c\x47\xb0\xca\xb0\xbe\xed\xe0\x3d\xe6\x57\x19\xe6\x6f\x18\xdf\xd0\x5d\x76\x3e\xba\x27\x84\x11\xd5\xd3\x4e\xdf\x0d\x23\x6f\x04\x3f\xc1\x00\xac\x82\x56\x4e\x8a\xfd\x00\xe9\xc9\xb6\xd9\xf4\x18\x1b\xc8\xbd\xf1\xd2\xd1\x14\x67\xfb\xe6\x58\xae\x30\xed\x78\x05\x94\xf0\x1a\x4a\xdb\xac\xd4\xf1\x92\x01\xc2\xda\xe9\x80\xb5\x96\xfd\x01\x09\x4c\x98\x45\x45\xba\x3a\x65\x79\xd1\xc2\xcc\x32\xe3\x8c\xc8\x63\x99\xb4\xae\xd3\xbe\x3a\x98\x6b\xb0\xf4\x5d\xd9\xff\x55\x21\xfb\xd6\x02\x60\x92\xd7\x6f\x2f\x00\xd7\xf9\x02\x70\xfd\x6f\x20\x00\xd7\x8f\x17\x80\x56\xd3\x6c\x97\xfc\xc9\x16\x46\x6e\xd8\x01\x8c\xe3\x28\xae\x56\x7e\x0c\x3f\x85\xd1\x6d\x08\xce\xbe\x3f\x05\x1e\xdb\x8b\xec\x83\x7f\xf8\x8d\x4a\x1d\xcc\x0b\x84\xb4\x58\x77\x17\x55\xb2\x42\xbc\x7a\x85\xdf\x2d\xff\x8a\x95\xca\xab\x57\xa8\xe3\x5f\xc1\xf5\xe4\xa0\xc0\xfe\xc8\xc7\xa1\x51\x67\xa9\x97\x2e\x8a\xec\x8e\x9e\xfa\xfa\xab\xd8\x59\x55\x7e\xf8\x46\x33\x5c\xc6\x33\xa5\xe0\xf9\x5f\x2e\xf6\x8a\x75\x02\xaf\x1a\x9c\xcd\x57\x55\x9f\x76\xb9\x41\xe5\xa0\x0c\xb8\xbb\x5c\x70\xa7\x25\x38\xf3\x67\x5c\xfc\x3d\xd5\x20\xbc\xf9\xb7\x19\x05\xc0\x0f\x45\x2d\xd3\x63\x99\xe3\x5f\x67\x1b\xcb\x18\xb8\xda\x6c\x59\xee\x6d\x1e\x7d\x62\x93\x44\xe3\xf4\x14\x26\x30\xcd\x51\x47\xa5\x7c\x92\x4a\xdc\xa7\x97\xb8\xd1\x2c\xe7\xbc\x5a\xfe\x46\xaf\xfc\x31\x5c\xf9\xeb\x72\xc7\xe9\x6d\x33\xa7\x96\xed\x3c\x56\x8f\x82\x59\xfa\x78\x2c\xff\x8c\xfb\xde\x49\x28\x7b\x45\x53\x3d\x95\x55\xaa\x4d\x66\xf0\x33\x9c\x15\x81\x84\x16\xc9\x0b\x04\xeb\xaa\xc8\xea\x9a\xc0\x94\xf0\xfd\x2c\xbd\x9f\x2d\x15\xc8\x06\x5e\x81\x16\x78\x03\x5a\x60\xdf\x14\x50\x23\x69\x59\x63\x62\x45\xc5\xad\xa2\x60\xe6\xc1\x04\xa6\x1f\xe6\xf8\xa9\xd9\xca\x28\xa3\xbf\x52\x07\x95\xeb\x59\x34\xfa\x64\xd2\x65\x05\xb3\x80\xda\x9c\x5e\x0a\x13\xb0\x08\x7d\x18\xcf\x82\x10\x96\x21\x62\xcb\x40\x84\x41\xe7\x15\xe7\x82\x17\x17\x40\x2f\x9f\xe3\x06\x49\x6f\x16\x84\x9f\x82\x70\xc2\x43\x31\xff\x01\xda\xc4\xbe\xb5\x4f\x34\x95\x04\x0c\xa3\x52\x17\xa0\x15\xcb\x9c\x03\x53\xa2\x30\x4e\xe1\xa4\x58\xe4\x9e\xd9\xd0\x93\xba\xac\x9e\x5b\x3b\x54\x49\x55\x4e\x4b\x50\x73\xaa\x07\x45\xbb\x08\xe1\x80\xd9\x41\x7c\xeb\x0a\xbc\x32\x2b\x9e\x37\x42\x15\xcd\x09\x90\x84\xf5\xb9\x90\xdf\x39\xb5\xc0\x7d\xd1\x37\x9a\x12\xef\x33\xcc\x54\x6e\xf1\x65\x0c\x7b\xe8\xfc\xe2\x4c\x18\x63\x6a\xf1\xab\x35\x57\x71\xae\xab\x5e\x1a\xc5\x4b\x51\x6a\xd0\xc5\x94\xf8\xaf\x5f\x73\x38\x68\xee\x41\xd6\x8c\xd2\x4c\xdf\x65\x13\x49\x57\x1f\xe1\x56\x5e\x8d\x96\xab\xa2\x59\x47\x1f\x5d\x96\x5f\x94\x8e\xe6\x29\xef\x19\x7e\xa4\xfa\xc3\xbb\xde\xf1\xfb\xe3\xf7\xdf\x23\xe5\xce\x09\xbf\x68\xde\x35\x37\x9a\xcd\x3a\x40\xff\x6e\x1f\x5d\xd5\x71\xc9\xe6\xee\x06\x2e\xd9\xdc\xdd\xe6\x25\xbb\xb4\x64\xef\xaa\x2e\xb5\xde\xda\x6b\xe1\x2f\x5b\xbd\x43\x5a\x77\xab\x77\x44\x4b\x18\xbc\xad\x3e\xad\xd3\x6f\xab\xad\xfb\x9b\xf4\xcb\x16\xaf\xbb\x43\x4b\x76\x68\xc9\x36\xa5\x6f\xbb\xb9\xa1\xb4\xde\x6e\xd1\x2f\x2d\xd6\x7a\x7b\xb3\x47\x4a\xb6\x06\xac\x64\x87\xd6\xd9\x69\xaa\xad\x0f\xb7\xc9\x97\xc1\x26\xab\x3b\xd8\xa1\x25\xbb\xbc\xa4\x4b\x4b\x0e\x95\xd6\x3b\x4d\xd2\xcb\x9d\x26\xeb\xe5\x4e\x8b\xf4\x72\xa7\xd5\x62\x25\x1b\x04\xf7\xce\x66\x57\x6d\xdd\x25\xb8\x77\x7a\x4d\x56\x77\x40\x28\xdf\x39\xda\xa0\x25\x7b\x4d\x02\x6f\xaf\xa9\x72\x6d\x6f\xa3\x4f\xbe\x6c\xf4\x59\xdd\x4d\x5a\x77\x73\x97\x97\x1c\xd2\x12\x95\xf2\xbd\x2d\x5a\x77\x8b\xf5\x7b\x6f\xbb\x4d\x4a\xb6\x39\xee\x5d\x5a\x67\xb7\xa5\xb6\xee\x51\xdc\x3d\x8e\x9b\x8e\xee\x5e\x9f\xc3\xeb\x53\xdc\x7d\x0d\xf7\x80\x62\x1a\x30\x4c\x5d\xda\xcb\x2e\xea\x25\x29\xa1\xbd\xeb\xa2\xde\x49\xad\xbb\xb4\x97\xdd\x4d\x5e\x77\x73\x87\x96\xec\xf2\x92\x1e\x2d\x51\x71\x77\xa9\x24\x74\x77\xd8\xf8\x74\x69\x2f\xbb\xbb\x1c\x1e\xed\x5d\xb7\xa7\xe1\xa6\xbd\xec\x72\x49\xed\x52\x49\xed\xf6\x39\x6e\xda\xef\xae\xd6\xef\x2e\xed\x77\x97\xf7\xbb\x47\xfb\xdd\x6b\x32\x6a\x7a\xb4\xdf\x3d\xad\xdf\xbd\x8d\x23\xfa\x85\xc9\x5a\x8f\x72\xa2\xb7\xc9\xe1\xd1\xf1\xee\x69\xfd\xee\x6d\x11\x59\xeb\x6d\xb1\xd9\xdc\xdb\x25\xd4\xf4\x78\xbf\x7b\x7d\xc2\x9b\x5e\x5f\x9d\x25\x3d\xda\xa7\x5e\x9f\xcd\xef\xfe\xc6\x00\x97\xf4\x37\x99\xec\xf6\x37\xb7\x69\xc9\xae\xd2\xba\xbf\xd9\xa5\x5f\x78\xeb\xad\x2d\x52\xc2\xa9\xe9\x53\x9e\xf7\x35\x9e\xf7\xa9\x26\xe9\x73\x4d\xd2\xef\x53\x4c\x7d\xde\xba\x4f\x5b\x6b\x3c\xef\x53\x9e\xf7\x39\xcf\x0f\x29\xd7\x0e\x37\xb3\x92\x43\x5a\xa2\xb6\x3e\xec\x13\xca\x0f\xfb\x5d\x56\xf7\x90\xc0\x3b\x3c\xdc\xe4\x25\xdb\xb4\x64\x5b\x69\x3d\xd8\x20\x98\x06\x1b\x6c\x74\x07\x1b\x9b\xb4\x84\xc1\x1b\x50\xd9\x1d\x6c\x0e\xd4\xd6\x3d\xda\xba\xc7\x5b\xf7\x68\xeb\xde\x1e\x2f\xe9\xd1\x12\x95\x6b\x83\x3e\xd1\xd5\x03\x3e\x62\x47\x2d\x52\x72\xd4\x62\xad\x8f\x36\xc8\x28\x1c\x6d\x6c\x29\xad\x8f\x36\x76\xe8\x97\x1d\x5e\x77\x8f\x96\xf0\xd6\x3b\x84\xbe\xa3\x1d\x95\xf2\xa3\x5d\x22\x47\x47\xbb\x8c\x47\x47\xbb\xdb\xb4\x84\xc3\xdb\xa3\x75\xf6\x76\xd4\xd6\x7b\x14\x13\xd7\x2d\x47\x74\xbc\x8f\xd8\x78\xb7\x9a\x6d\x3c\x62\xad\xe6\x86\x22\xa9\xad\xe6\x46\x9b\x7e\x69\xb3\xba\x1b\xdb\xb4\x64\x87\x97\xec\xd1\x92\x3d\xb5\xf5\xd6\x2e\xf9\xb2\x45\x7b\xd9\x6a\x6d\x63\x3a\x5b\xad\x23\x2a\x7d\xad\x8d\x2d\x2c\x8f\xe8\x5f\xa5\xf5\x4e\x8b\xe0\xde\x69\xd1\x7e\xb7\x76\x28\x35\x3b\x1b\xbc\x64\x8b\x96\x6c\x6d\xa8\xad\x77\xe8\x97\x9d\x0d\x56\x97\x8c\x77\x6b\xa7\xb7\xc5\x4b\x76\x68\xc9\xa1\xda\x9a\xf0\x08\xfd\xcb\xea\xf6\x49\x2f\x77\x0e\x39\xbc\xc3\x43\x5a\xa2\xb6\xde\x6d\x62\x39\x6a\xed\x36\xa9\xb4\xb4\x76\xbb\xa4\xf5\x6e\x97\x71\x62\xaf\x4d\x38\xb1\xd7\x56\x56\xa2\xd6\x5e\x7b\x87\x7e\xd9\x65\x75\x69\xbf\xf7\xf8\x28\xec\x51\x9e\xef\x6d\xf4\x94\xd6\xdd\x16\x69\xdd\x6d\xb1\xd6\x3d\xb2\xd6\xb7\x7a\x4d\x46\x79\x8f\xcc\x1b\xf4\xaf\xd2\xba\x47\x47\xb7\xc7\x66\x54\x8b\x6a\xd0\x56\x8f\xad\x8b\xad\xde\x26\xa1\xa6\xb7\xa9\x52\xde\xdb\x26\xfd\xee\x71\x9e\x1f\x12\x1d\xd8\xe2\x33\xbe\x75\x78\x34\x20\x25\x47\xca\x78\xb7\x9b\x84\x6b\xed\x26\x5b\xfd\xdb\xcd\x76\x97\x94\xb4\x07\xac\x84\xc8\x4f\xbb\xb9\xbd\xa1\xb6\xde\xa6\x75\xb7\x79\xeb\x43\x5a\x77\x40\x4b\x36\x28\xbc\x8d\x66\x5b\xc1\xbd\xd1\x24\xb3\x64\xa3\xb9\x47\xe9\xec\xee\x36\x31\x27\xd0\xbf\xbc\xa4\x47\x4b\x14\x9e\x77\x77\xdb\x5b\xe4\x4b\x9b\xd6\x3d\xea\xb5\x70\x2f\xd1\xbf\xb4\x64\x40\x46\xe1\x68\xd0\x54\x70\x1f\x0d\xda\xf4\x4b\x7b\x83\xd5\x3d\x3a\x22\x25\x6c\x96\x1c\x1d\x1d\x61\xfa\x8e\x8e\x8e\xd4\xf1\x66\x8b\x3d\xfa\x85\x71\xbd\xd9\x6d\x6e\xb1\xb2\xed\xac\xac\xcf\xca\xd4\x99\xd6\xec\x6e\xd0\x89\xda\xe5\xe3\xde\xec\x92\x05\x12\xff\xc2\xc6\xae\xb5\x4d\x84\xeb\xb0\xb5\xad\xce\xf5\xc3\xd6\xce\x06\xfd\xc6\x56\x40\xf4\xeb\x16\x2b\xeb\xf1\xb2\x6e\x97\x96\x75\xd5\x79\x73\xd8\xa6\xa2\x75\xd8\xde\xa4\x33\x7c\xd0\x6c\x92\xfe\xe1\x5f\x78\x19\x61\xd9\xa0\xd9\xdc\x51\xfa\x32\x68\xb6\x9a\xf4\x5b\x6b\x70\x44\x1e\x65\xa7\x07\x1f\xdc\x8e\xbf\x0e\x12\xe8\xc5\xa3\x69\x75\x31\xd2\x0e\x52\x6e\x82\x50\xde\xc8\xe1\x42\x0f\x6d\x5a\xb8\xb5\x9f\x3d\x32\xd2\x52\xea\x05\xfe\x81\xb4\x19\x5e\x8c\x12\xf0\x2a\x6b\x78\xd1\xbc\xa2\x3b\x59\xf4\xe1\xb5\xf0\xe1\xc6\xbb\xbb\xba\x68\x5d\x99\xf6\xc9\xea\xc1\x1b\xcd\x80\x87\x68\x7a\xdd\x41\xf4\xaa\xe7\x37\x37\x81\xcf\x9e\xfc\x18\xcf\xa2\x28\xae\x56\x51\xa7\x56\x51\x2f\x6a\x60\x1d\xb4\x0d\x0f\x8e\x6b\xe4\x04\xbe\x4e\x0e\x81\x8d\xd8\x83\x30\x68\xaf\xfd\xf0\xf3\x7e\xb5\xd3\x18\x58\xd3\x04\x0c\xb3\x15\x01\x5b\x33\x01\xd3\xea\x53\x7e\xc8\xa7\xa3\x42\x96\x55\x8d\x5d\x0f\xf2\xb8\xd3\x3d\x9d\x3a\xec\x8c\x66\xe2\xc7\x64\x1a\x01\xb4\xef\x6b\x84\x8b\x99\x69\x70\x37\xda\x68\x3c\x09\x07\x3b\xa0\x79\xb7\x33\x06\x2f\x5e\x00\xf2\xad\x79\xe7\x35\x6b\x76\x88\xa3\x28\x4c\xe3\x48\x81\x2a\x09\xa7\xb1\x6d\x53\x6e\x10\x24\x3f\x07\x3e\x24\xd5\x8d\xf9\x06\xc5\xab\x58\x8d\x5b\x2d\x23\xa7\x04\x98\x02\x48\xda\x24\xeb\x6b\x8b\x3a\x9a\x11\x56\x90\x92\xad\x31\xf8\xfa\x55\xa2\x82\xf3\xf6\xae\xbd\xd1\xde\x73\x7e\xf5\xd4\xaf\x19\xae\x36\xdc\x6d\x72\xce\xa2\x02\x6f\x73\xc4\x59\xfd\x1c\x03\xd8\x68\x6e\x8c\x6b\x76\x08\xde\xa8\x29\x43\xf0\x77\xbc\x0d\x47\xfd\xf1\x9e\x52\x7f\xec\x8d\x5d\xf0\xc7\xb0\xa5\xd4\x87\xad\x3d\x67\xfd\x0d\xb5\xfe\xb6\x13\xfe\x58\xa5\x67\xbc\xdd\x74\xd6\x87\x6a\x7d\xb8\xed\xa8\xdf\x6e\x36\x15\x04\xed\xf1\x78\xec\x3b\x5a\x6c\x68\x2d\x36\x70\x0b\x96\x3b\xfa\x41\x3c\x8e\xa1\xb3\xef\xe0\xd9\x43\xad\xfa\x05\x84\x8b\xd9\x3e\x7e\x5e\x99\xcc\x81\x7d\xd0\x04\x0f\xb5\x83\x67\xcf\xd6\xd7\xff\x0e\x92\x68\x11\x8f\xe0\x3b\x6f\x3e\x0f\xc2\xc9\x8f\xa7\x27\x1d\xe9\x10\xea\xb7\xa4\x71\xe3\xcd\x9f\x3d\x7b\xb6\xfe\xf2\xe5\xcb\x75\xf0\x50\xab\x3f\x5b\x7f\x09\x5a\xbb\xe0\xe5\x3a\x2d\xe2\x27\x36\xd5\x9b\xc8\x5f\xcc\x60\x1d\xd0\x63\x9f\x3a\x18\x0e\x6f\xe1\xf5\xdc\x1b\x7d\x1a\xc6\xf0\xf7\x45\x10\xc3\xe1\x10\x49\xf8\xb3\x95\x45\x02\x41\x92\xc6\xc1\x28\x5d\x39\x78\xf6\xec\xc3\xf5\x6f\x70\x94\x36\x7c\x38\x0e\x42\xf8\x31\x8e\xe6\x30\x4e\xef\xab\x1c\xca\xca\x70\x08\x93\x77\x18\xf6\x4a\x1d\x7c\x01\x9f\xbd\xd9\x02\xee\x63\xc5\x84\x7b\x81\xd6\x82\xe3\xf7\x3f\x75\x4f\x8e\x0f\x87\x27\xc7\xef\x7f\x18\xf6\x4f\xba\x67\x67\xa0\x03\x48\x5e\xc8\xb5\x20\xfc\xec\xcd\x02\x7f\x0d\x9f\xc9\x92\xea\xf8\x68\x6d\x14\xcd\xfa\x33\x8f\x44\x71\x54\xaa\xd3\x34\x9d\x27\x6f\xf6\x2f\x2f\xd7\x2f\x2f\xd7\x6b\xb4\x9e\x1f\xdd\x78\x41\xc8\x13\xbc\x9e\xe1\x3b\x8a\xca\xc5\xe5\xa5\xef\xad\xfd\xf3\xf2\xb2\xb1\x76\xb5\x4a\x6b\x86\x70\xe2\xa5\xd0\x3f\x34\x37\xf8\x1f\x43\x0b\x02\xbb\x17\xf9\xf7\x02\x15\x15\xb0\x6a\x42\xba\x0a\x2a\x8c\xa4\x74\xe6\x0b\xf5\x2f\x08\xd4\xab\x2f\xed\xfa\xf6\x03\xab\x12\xcc\x85\x1a\xd5\xcb\x4b\xff\x4b\xab\xbe\xf1\x70\x79\xd9\xa8\x7d\x41\xff\x90\x3f\x59\xe5\x59\x34\xf2\x66\x6f\xa3\x24\x15\xda\xe0\xb2\x69\x94\xa4\xac\x12\x1a\x09\xe1\xfb\x3e\x01\xb2\xc5\x81\x4c\xe5\xf6\x42\x37\x84\xfe\xad\x82\xca\xe5\x65\x03\x7d\xca\xfa\x80\x3a\xf6\x15\x15\x71\x9a\x57\x41\x05\x17\xa8\x74\x61\x16\x80\x55\x91\x94\x55\x50\x79\xc3\x08\xf4\xd2\xa9\x40\xc0\xe5\xe5\xfa\x05\x1e\xc9\xdb\xcb\xcb\xc6\xe5\xe5\xda\x3f\xfe\x75\xf5\xb2\xf6\x92\xd6\xfd\x7d\x01\xe3\xfb\xb3\x34\x0e\xc2\xc9\x5b\x2f\x99\x1e\xc5\xde\xe4\x06\x86\xa9\x36\x68\xcd\xb5\x3d\x0c\xe0\xe2\xf2\xf2\xea\xf2\xb2\x7a\x79\x59\xc3\x20\xdf\x5c\x5e\x3e\xff\xfb\x7f\x7d\xf7\x8f\x17\x97\x95\x97\xab\xf5\xfd\x83\x7f\x5d\x5e\x76\x08\x96\x2b\x03\x06\x89\xa8\x37\xa8\x03\x45\xd0\xa3\xce\xb2\xae\x4d\xc5\x4a\x19\xb4\xbf\x2f\x03\x8b\x4a\xe9\x47\xc4\x2d\x83\x8c\x0a\x0c\xe3\x62\x7a\x2d\x0a\xe8\x54\x1c\x0f\x81\xe7\xab\x86\x2e\xaf\x1a\x28\x27\x20\x93\xd4\x8b\x31\xce\xea\x9b\xfd\xff\xc1\x83\x6d\x9f\x3d\x88\xfa\x2a\x25\x05\x86\xc8\xd4\xaa\xd4\xaa\xdf\x89\x8d\xb4\xce\x08\x93\x85\xe8\x98\x1f\xe3\xd9\x29\x9c\x40\x64\xfe\x84\xf0\x16\x9c\xc2\xc9\xe0\x6e\x5e\x25\x54\xac\xaa\xba\x60\x55\xec\xf1\x2a\xc2\x49\x55\xcc\xdb\x5f\x3f\x0e\x4e\xcf\x07\xbf\x9c\x13\x25\xf3\xae\x7b\xde\x7f\x3b\x38\x1d\x1e\x1f\x12\x0b\x16\x55\x39\x09\xc2\x4f\xc1\x38\x80\xb1\x7c\x90\xcd\x56\x75\x5e\xc2\xeb\x55\xf5\x93\xfb\x90\x3c\xa2\xfc\xe9\x9d\x97\x8e\xa6\x30\x3e\x46\x5d\xb6\xa2\x56\xcf\xef\xe3\xe8\xf6\x3c\xb8\x81\xd1\x22\x3d\xf6\xf1\x1d\xe8\x95\x5a\x63\x96\x81\x36\x56\x88\xe1\x24\x48\x52\x18\x0b\x24\x54\x65\x2e\xd6\xf1\x25\x2d\x52\xc4\xd8\xf9\xee\x38\xf4\xe1\xdd\x3e\x68\x61\x55\x9c\x2d\x43\xbc\x8b\xc2\x35\x86\x97\xa6\xde\x68\x7a\x1e\x1d\xe2\x0b\xa3\x8c\x3f\x7e\x34\x5a\x20\x19\xc1\x6f\x04\x18\x2e\x33\xd8\x77\xd0\x01\xec\x57\x43\xc7\x13\xf2\xbe\x69\x22\x5d\x4e\x98\xc8\xc0\x37\x72\xe3\xfb\x53\xfc\x4c\x40\x46\x45\x1c\xdd\xe2\xbe\x58\x9c\xa9\x18\xe6\xe2\x59\xa6\xb1\xb6\x66\xa3\xc1\xef\x53\xa4\x21\xba\x60\x48\x95\xf4\x8b\xbc\x99\x76\x5b\x3c\x83\x5e\x4c\xdb\x0b\xb5\x4c\xe8\x9d\xe8\x40\x07\x24\x30\xe5\x80\xb8\x68\x10\xbe\x34\xae\x83\xd0\xc7\xa5\x78\x48\x08\x5b\xea\x02\x33\xcf\x8f\xdf\x0d\x86\xbd\xc1\xd1\x87\xd3\x01\x16\xc9\xe3\xa3\x5f\x6b\xb9\x7c\x4f\x60\xfa\xf6\x1e\xad\xed\x54\xc2\xb3\x0b\xa1\x6c\x10\xa6\xa4\x4c\x97\x01\x51\x6e\x2f\xac\xf3\xe1\xaa\x31\xe5\x40\xa7\xec\x82\xa9\x04\x59\x3f\x21\x43\x81\x38\x62\x78\xb3\x19\x0e\x05\x17\xa9\x1b\xd1\xc2\xe5\xc9\xfb\x6c\x42\xc0\xc0\xe6\x92\x6a\x98\x9c\xb2\x08\x93\xf9\x49\x7b\x5e\x47\xfb\x9e\x20\x0a\xb5\xed\x17\x2d\xc6\x1b\x81\xcf\x51\xe0\xe3\x78\x12\xc0\x4b\xc1\x97\x87\x03\x63\x12\x5b\x5d\x35\xa1\x9d\x80\x5d\x2f\xbe\x78\x01\x9e\x1b\x06\x94\x70\x2d\x8e\x6e\xb1\x36\x1e\x10\xef\x4b\x36\x6e\x37\x8b\x24\x05\xd7\x10\x10\x63\xd0\xaf\x18\x45\x9b\x9c\x12\xb0\xfe\x2b\x29\xc2\xfd\x7d\x9b\x26\x5d\x5d\xad\x2b\x53\x77\x82\x54\x17\xe1\x9a\xf4\x85\x52\xb3\xcf\x59\x29\x6f\xf9\x05\xbd\x47\xb9\xd6\xc8\xca\xe4\xba\xfa\x80\x67\x6d\xf4\x6f\x72\xdb\x79\x1c\x44\x71\x90\xde\x67\x2d\x58\x09\xbe\x85\xcd\x18\xa3\x6a\x43\xcf\xf7\x85\x8e\x9f\x47\x27\x41\x92\x56\x29\xc3\x04\x86\xd2\xad\x02\xfd\xd0\x60\xc7\x29\x0e\x01\x34\x42\x96\x44\x90\x61\x31\xfa\x29\x88\xb3\x44\x8c\xdd\xb3\x04\xea\x49\xd5\xf1\x63\x53\x7a\x1f\x80\x53\x05\x4b\x69\x69\xec\x34\xac\x81\xd6\x01\x08\xf0\x2e\xeb\x00\x04\xe6\x47\xe7\x18\x97\xf8\x10\xbc\x32\x41\xbc\x08\xae\x78\x0d\x7b\xc6\x73\x89\x06\xfa\x9c\x50\xc0\xdf\x74\x33\x77\xd2\xd4\x51\xe0\xf4\x44\x36\x61\x69\x1a\x30\x38\xc6\xdb\x87\x79\x2a\xe7\x86\x4d\x2e\xb1\xb7\x12\xdb\x5b\x24\xf2\xd0\xca\x7d\x63\x44\xa2\x59\x66\x10\x77\x03\x1f\x8b\x8c\x11\x6f\x01\x2e\xeb\x6f\x3c\x01\xdb\x59\x97\x8d\xbb\x86\x93\x2f\xc7\x8c\x29\x61\x6d\xd0\x27\xfb\x45\x53\xc1\x6a\x21\x3c\x8f\xa3\xdb\x92\xa6\x08\xbc\x4b\x89\x89\xd4\x40\xbf\xf6\xa3\x30\x95\x0c\x29\x53\x0a\xa7\x72\x83\x26\xab\x65\xe3\xf0\x1d\x68\x0d\x50\x85\x01\x49\xad\x91\x45\x2f\xfa\xd1\x09\x67\x1b\x79\x9a\xd0\x3c\x29\x10\x27\x44\x00\x59\x86\x2a\x63\x28\x82\x38\x8f\x75\xe5\x6b\x0b\xb0\x40\x54\x0e\x67\x51\x34\x1f\xb6\xa4\x21\xfc\x2d\x2f\x39\x1d\xcd\x18\x42\xde\x63\xe1\x34\x5e\xfc\x76\x65\xf6\x31\x06\x6c\x69\x31\x52\x57\x65\xf9\x47\x84\xc1\xab\x33\x14\x75\x81\xac\x20\xc1\x56\x8c\x8b\x38\xc6\x8b\xe7\x05\xeb\x02\x7c\x46\x6c\x4a\x80\xa9\x9f\xbb\x38\xa2\xcd\x81\x35\x80\x1c\x7f\xb1\x85\x9c\x5b\x22\x96\x98\xb8\xfe\x46\xc4\xf5\x37\xf0\x0a\x18\x44\xc1\xf9\xe6\x3d\xfa\xa1\x23\x6b\x7c\x33\xdd\x4c\xb0\x5e\x52\x44\x2f\xbb\x74\x84\x28\xee\xaa\x96\xc8\x44\x5f\xd5\x14\x30\x59\xcc\x52\x65\x0f\x47\x5c\x18\xdf\xa6\xe9\x5c\x56\xd8\xd9\x1a\x8f\xb5\x67\x81\x0d\x25\xc9\xae\xe8\x43\xba\xad\x6a\x8c\xa6\xc1\xcc\x7f\x8f\x0a\xd4\xdb\x9a\x14\x3f\x39\xa4\xe8\x15\x62\x10\xf1\xd9\x86\x6d\xac\x9a\xa2\xc2\x48\xd3\xaf\x5f\x09\x0c\xa7\x41\x40\x75\x2e\xe9\xb3\x4d\xc3\x2d\xe2\x80\x75\xf5\x02\x31\x36\x1a\xf3\x7e\x67\xe6\x19\xb6\x59\x2b\xe1\xe2\xe6\x1a\xc6\x15\xf0\x06\x34\xc1\xbe\xa1\x96\xc2\xd2\x38\xba\xc5\x2f\xc1\x12\x08\x14\x47\x23\xc0\x7f\xad\x22\xbc\x4c\xda\x9c\xda\x14\xb3\x33\x4f\x81\x86\xc4\x29\x1d\xd7\x35\x2a\x4c\x72\x61\xc1\x28\x41\xf5\x24\xbe\x63\xa2\x3e\x8c\xab\x8b\x38\x30\x28\x4b\xb1\xf1\x6b\x4b\x20\xb9\xa2\x95\xb9\x52\x1e\xc5\xd0\x4b\x61\x37\x1c\x4d\xa3\x98\x7e\x43\x58\xb8\x80\x36\xf8\xbe\x43\x93\x40\xc3\xdc\x42\xd4\x68\xc4\x0b\x22\x90\x31\xd5\x1a\xf8\xc6\x20\xa0\xff\x9d\xdf\xcf\xa1\xf9\x31\x01\xf1\x87\xae\xab\x70\x3e\xf3\x46\x10\x09\x33\x06\x50\x17\xbb\x5b\x2a\xf1\x85\x25\xc0\x4c\xe4\x64\xb6\x08\x20\x54\x76\xe5\x88\x7a\xc3\x74\x2c\xaa\xf9\xde\xbb\x21\x1d\xaa\x74\xb5\xb0\x1d\xf5\xc7\x32\x3b\x8a\xf5\x01\x08\xca\x3d\x08\x43\x18\xbf\x3d\x7f\x77\x02\x3a\xa0\x52\xb1\x43\x62\xf5\xbd\xf9\x1c\x86\x7e\x1f\xa9\x86\xea\x32\x3c\x74\x44\x40\xe2\x91\xcd\x94\x8e\x23\xf7\x24\xfb\x31\xad\x08\x66\x28\xb9\x8b\x02\x82\xc2\x5b\xb1\x59\x96\x81\x71\x2e\xe1\xbc\xed\x99\x34\x51\x79\xeb\x82\xb3\x55\xfc\x41\xfc\xd0\x40\x3e\x27\x51\xa9\x39\xa2\xa1\x49\xfc\xd9\xe2\x3a\xc1\xc7\xb4\x3f\x07\xe9\x14\x4f\x01\x4e\x99\x34\x0f\xea\x00\xcf\x6d\x15\x6d\xce\xf2\x6e\x89\x45\x62\x3f\x66\x09\x2c\x2c\x17\x76\xfb\x0c\xab\xcb\xae\xef\x43\xe1\xa0\xcd\xd5\x67\x6d\xda\xd3\xee\x26\xb9\x3d\xc5\xe1\xb6\x19\x3a\xbd\x92\xc9\x3c\x40\xf3\x92\xec\x60\xdd\xb3\xc4\xb6\x98\x26\xac\x03\x55\x69\x25\xaa\xe5\xac\xb2\x9c\xe6\x92\xab\x6d\x46\xb8\x53\xaf\xe8\x3d\xfd\x36\x2b\x30\x27\x47\x5a\x85\x57\x8b\x2c\xc3\xc0\xbd\x87\x13\x7b\xe6\x32\xd0\x0c\x4b\x9f\x64\xa7\x61\xd9\x11\x97\x3f\xc3\x39\xa7\x6a\xbf\x41\x65\x79\x65\x07\xcc\x0d\x82\x8c\xad\xb0\x15\x4f\x3c\x03\x33\x6c\x02\x00\x5e\x2b\xf5\x2a\x7e\xec\x4d\x26\xde\xf5\xcc\x10\x11\x47\x1c\x19\xf2\x88\x14\x81\x4d\x63\x38\x56\x11\x49\xf4\x78\xf1\x84\xdc\x23\x0d\xf1\xa3\xc6\x15\x73\x35\xcf\xf7\x71\xe6\x45\xb4\x7f\x80\x21\x8c\xab\x95\xd1\x2c\x18\x7d\xaa\x88\xfb\x17\x9c\x40\xd1\xb6\x7b\xb3\x1c\x27\x2a\xc3\x4a\x6b\x11\x50\x78\x66\x1b\x26\x85\x12\xd9\x6e\x3c\x68\x34\x68\x9d\x27\xeb\x8a\xbe\xa1\x1a\x45\x61\xea\x05\x61\x62\xda\x55\xb9\x7b\x5c\x4c\x0b\x15\xe3\x8d\x99\x13\xb4\x35\x25\x3a\x7f\xc6\x08\xda\x57\x9a\x29\x11\x59\x6a\xd4\xc9\x10\xc2\xdb\xf7\x74\xb3\x21\x6e\x67\xf8\x92\x3e\xa4\x27\x49\x43\x64\x47\x7b\xf1\x64\x21\xef\xf1\x86\x06\x63\x9a\x81\xbc\x18\x06\xe4\xe5\xd3\x4e\xd6\xf0\x62\x18\x18\x1f\xa7\xa2\xc1\x7d\x64\x56\x51\x52\x1b\xa4\xe0\xbd\x64\xbd\x19\xcd\x7b\x8a\xd0\x65\xe1\x13\x58\x34\xb2\xb5\x07\xc7\x51\x0c\xab\x9c\xd0\xe0\xaa\xce\x90\x1a\xc7\x80\x36\x26\x69\x47\x89\xd1\x25\x57\x2f\x38\x20\xda\x72\x28\x8d\x10\x99\xca\xc4\x1e\xa0\xa4\xd5\x01\x5f\x80\x84\x5f\x8d\xb7\x65\x59\x6b\x83\xf1\x66\x4c\xf3\x94\xb5\x40\xaa\xd0\xd4\x5c\x0a\xa6\x7c\xb0\xa1\xe3\xbb\x80\xe7\xe6\x27\xc5\x94\x0b\x07\x01\x2d\xbb\x73\xf0\xc8\x19\x19\xde\x81\x45\x31\x88\xc2\xd9\x3d\xa0\x73\x12\x78\x20\x09\xc2\xc9\x0c\x66\x55\xec\x57\x13\xe3\xc5\x6c\x76\x4e\x4e\xdb\x04\xfa\x8c\x87\x6e\x78\x4f\x26\x31\xd4\xbc\x22\xe3\x4d\x68\x30\x99\xa6\x08\x2e\x3d\x87\x22\x48\x04\xdb\x80\xff\xc6\x36\x4e\xfa\xe6\x91\xc3\x40\x24\x61\x38\xc6\xc5\x87\xd5\xa8\x0a\x38\x8d\x4f\xe3\x8b\x5b\x29\xa3\xe0\x28\x08\x8d\x27\xf7\xa2\x8f\xdd\x43\x1e\x6b\xcc\x1c\xcd\x4e\xf2\x35\x26\x18\x38\x39\x83\x63\x27\x23\x9b\x9a\x94\x1b\xce\x2d\x29\x8c\x82\x8c\xcc\x50\x96\xe2\xa3\x8c\x85\xf3\xb5\x04\x1b\x45\x5a\xcb\xf7\x56\xed\x69\xe1\x7e\x2a\x30\xb8\x18\xe4\x48\x2e\x35\xed\xf4\x51\xb4\x80\x2b\x44\x13\xaf\xad\x85\xe0\x17\x61\xbb\x4d\x98\xf5\x8b\xb4\x96\x29\x2e\x92\x2b\x63\x16\x14\xe9\xbc\x45\x07\x1d\xd0\x6e\x36\xb3\xc8\x49\xd1\xa3\x44\x80\x64\x76\xdc\xcb\x20\x5b\xbc\xf6\xf6\xfe\x62\x5e\x7b\x5a\xa6\x10\xd0\x31\x61\xaf\xb6\x69\xfd\xec\x3d\x38\x4b\xc5\x0d\x5a\x91\x64\x79\x3d\x4b\xbd\x14\x66\x5e\x06\x5f\x1e\x0e\x9e\xe9\x1f\x2e\x8c\xe9\x4a\x7a\x83\x93\x2b\x35\xd0\x36\x41\xb6\x7d\x66\x80\x2a\x06\x55\xe3\x1a\xce\x66\xd5\xda\x01\x28\x81\xe5\xe4\xa8\x2c\x92\x59\x10\xc2\x23\x08\xfd\x92\x88\x7e\x3a\xbf\xe2\x2f\x93\x14\x22\xab\x38\xe8\xa3\xa3\x6f\x06\xba\x7f\x5a\x96\x3d\x23\x2f\x8e\x03\x6f\x02\x4f\x71\x71\x49\x26\xf5\xce\x4a\x0f\xb9\x37\xfa\x94\xcc\xbd\x11\x2c\x89\xe9\xed\x79\x59\x4c\xa9\x77\x5d\x12\xc7\xd9\x87\xb2\x38\x92\x69\x30\x4e\x3f\x2c\xd2\xb2\x88\x8e\x97\x42\x74\x5c\x76\x78\x06\x67\xfd\xa2\x88\xc8\x17\x9c\x4e\x01\x81\xad\x7e\xc4\x7f\xe3\xdf\x11\x98\xee\xc7\xc1\x21\xc1\x8d\xf7\xe1\x18\x99\x6f\x50\x16\x86\x2f\x17\x95\x8b\x8a\x99\x0a\x16\x27\xcf\xec\x8d\x2c\x27\x03\x0e\xd1\x17\x36\x36\x62\x82\x15\x64\xd0\x7f\xa4\xd9\x44\xe8\xf2\xed\x22\xbe\x7f\x76\x3c\xfc\xd8\x3d\xed\xbe\xab\x1d\x3c\xb3\x11\x78\xf5\x67\x12\xf8\xe1\xac\xef\x20\xed\xe3\x9f\x49\xda\x61\xff\xcc\x41\xda\xb0\x20\x69\x2e\x0c\xc7\xdf\xbf\xff\x70\x3a\x70\x20\xf9\x9f\x3f\x02\xc9\xa8\x2c\x93\xf9\x5b\x59\x36\x88\x83\xb2\x10\x85\xec\x1c\x42\x32\x27\x1f\xde\xb1\x24\x48\xae\x0e\xbe\xff\x70\xfa\xae\x7b\xe2\x20\xe7\xb0\x2c\x39\x4f\x87\xfa\x5d\x79\xde\x7e\x86\x71\x02\x8f\x9f\x8c\x82\x7f\x94\xa5\x20\x81\xe9\xe4\x04\x7e\x86\xb3\x6a\xb3\x76\xa0\x7f\x2a\xf3\xb4\x70\x21\xc2\xc5\x8a\x9f\x82\xf9\x7b\xb4\x47\x9b\x7a\xb1\x43\xbe\xcc\x6b\x7f\xf7\xbd\xa9\xa3\x05\x95\x3c\xa3\x86\xe9\xf8\x51\x12\x60\x4d\x61\x50\xf2\xa6\x4f\x17\x95\x37\x46\x36\x1b\xb1\x7f\xc4\x39\x77\xaa\x95\x37\x15\x82\xcf\x0c\xf0\x75\x79\x80\xaf\x9d\x00\x9f\x97\x07\xf8\xdc\x09\xb0\x59\x02\x20\x6a\x4d\x2b\x34\x26\xec\xef\x1a\x78\x09\x5a\x4d\x17\x8a\xd6\xd3\xa0\xc0\x69\xfc\x1c\x68\xda\x4f\x86\xa6\xed\x42\xb3\xf1\x64\x68\x36\x5c\x68\x36\x9f\x0c\xcd\xa6\x0b\xcd\xd6\x93\xa1\xd9\x72\xa1\xd9\x7e\x32\x34\xdb\x2e\x34\x3b\x4f\x86\x66\xc7\x85\x66\xf7\xc9\xd0\xec\xba\xd0\xec\x3d\x19\x9a\x3d\x17\x9a\xef\x4a\xa0\x89\x92\x14\xeb\x94\xef\x9c\x3a\x65\x65\x09\x88\x2b\x4e\x88\x60\x09\x88\xc0\x09\xf1\xb2\xb2\x04\xc8\xcb\x8a\x13\xe6\x41\x41\x90\x63\xb4\x0e\x07\xff\x84\x74\x94\xec\x10\xff\x98\x35\xd2\xbc\x3c\xca\x5d\xfb\x2f\xa5\x6b\xfc\xd6\x93\xd8\xea\x75\xc0\x93\x0d\xab\xdb\x3e\x72\xe9\x81\xad\x0c\x96\xb7\x8c\x75\x58\x46\xd1\x5d\x1a\x05\xc9\xbe\xf7\xe3\xdc\x0d\xbf\xf7\x48\xf8\x87\xd1\x6d\xe8\xc6\xd0\x7f\x24\x86\xa3\x28\xbe\xf5\x62\xdf\x8d\x44\xb5\x83\xcb\x22\xe9\x79\xa3\x4f\xf9\x58\x54\xe3\xbf\x2c\x96\xf7\xe4\x82\x19\xba\xb1\x1c\x3d\x12\xcb\xc7\x18\x8e\xa0\x1f\x84\x93\x7c\x54\xdf\x3f\x12\x15\x12\xe0\xee\x75\x12\xcd\x16\x69\x0e\xa6\xb7\x8f\xed\x54\x94\x04\xf8\x88\xd6\x89\xe5\xf8\x69\x64\xed\xdc\xbb\x76\xe3\xf9\xef\xa5\xf1\xc0\xd8\x43\x5b\xa0\xc3\x20\x99\xcf\xbc\x7b\x37\x96\x1f\x1e\x8b\x25\x5f\x00\x4e\x1e\xa9\xc1\x10\x86\x1c\x0d\xa6\xee\x13\x8b\xa3\x20\x2f\xc2\x16\x40\xa1\x9e\xa5\x94\x45\x51\x40\x0f\x9f\x2d\x8d\x82\xe4\x06\xcd\xd3\xc3\xe7\x85\xe1\x3f\x03\xc6\x77\xbf\x5e\x01\xfc\xd2\xef\x73\x3d\xbf\xbd\x4c\x88\xa4\xb0\xc9\x1d\xcd\x33\x13\x41\xbf\x3c\x4e\xf8\x0a\xb0\xf4\xff\x7d\x22\x9d\x9d\x3b\x5b\xff\x77\x79\x44\x53\x0f\x69\x9e\x62\x2a\xce\x5b\x1a\xcd\x5b\xa6\xdd\x4e\xe1\xcc\x4b\x83\xcf\x39\x88\xae\x97\x46\x14\xc3\x39\xf4\x52\xbe\x40\xf0\x50\x71\x37\x3e\xf5\x14\xad\x84\xec\xc3\xd0\x3f\xc4\xef\x35\x64\x2f\xda\xb9\x71\xf9\x4b\xe3\x9a\x05\x21\x2c\x3c\x56\x70\x69\x34\x3f\x95\x1b\xab\xf1\xf2\x42\xf1\x53\xb1\x35\x6f\xb2\x34\x86\xd4\xbb\xee\xcf\xa0\x97\x33\xfa\xd3\x47\x8c\x3e\x79\xc7\xde\x09\x7e\xf6\x08\x61\x2e\x84\xe0\xe6\x51\xb3\xbf\xa8\xdc\x86\x8f\x58\x82\xb2\xf7\x4c\xdc\x38\xe6\xe5\xd6\x08\x9e\x6a\x5d\x5b\x11\x70\x36\xf1\xca\xf3\x8a\x9c\x4f\x9c\x0f\x1b\x7b\xce\x40\x5e\x26\xd8\x8f\xe0\xd6\x6c\x5e\x39\x7e\x2f\x46\x66\x1d\xcc\xc9\x0e\x52\x5a\xd3\x48\x11\x71\xf6\x07\x15\xe3\x32\x26\x65\xa8\x2f\xb2\x94\xc5\x6e\x82\xcc\x92\x2b\x26\x1f\x77\x0f\x4b\x52\x1e\x3c\x4f\xb5\xed\x86\xbc\x28\x0d\x59\xca\x8e\xed\x04\x5e\x6c\x17\x9d\x37\x76\x75\xf0\xa8\x7d\xb6\xf0\xed\xe0\x99\x90\x25\x44\x28\x67\x22\x20\x14\x5d\x88\xbf\xaf\x10\x98\x2b\x88\xee\x26\xfa\x1f\x2b\x38\x70\x37\xa3\x77\x9f\xb8\x1d\x76\x88\xe4\x25\x39\x0d\xf9\xbd\x23\x6e\xda\xc6\x4d\xb3\xb2\xfc\xc6\xb8\xd9\x06\x6b\x96\xd7\xe0\xc3\x59\x1f\x37\xd8\xc4\x0d\xd0\x5f\x79\x18\xc8\x35\x05\x6e\xb4\x45\xb0\xd0\x92\x9c\x86\x87\xfd\x33\xdc\x68\x1b\x37\x42\x7f\xe5\x34\x20\xb7\x6f\xb8\xcd\x0e\x6e\x43\x0b\x70\x9e\x2d\xa1\x26\xce\x52\x27\xfe\xdd\x01\x5f\x1e\x6a\x35\x51\x02\x72\x72\xc4\x90\x4a\xd5\x61\x20\x64\xe3\xaa\x83\xa1\x7a\xcf\x93\xf9\x32\x05\x72\x92\x75\xe9\x6f\xd5\xef\x89\x41\x41\xf5\xd8\xef\x6a\x9d\x84\xd2\xad\xcb\x32\xd3\x3b\x19\xa7\x04\x47\x53\x3c\x15\xe4\xf4\x2e\x5e\xea\xa9\xfe\xbe\x08\x33\x2a\xe7\x8f\xe5\xfe\x56\x07\xa3\xa4\x0e\x46\xd3\x3a\x18\x11\x17\xac\xe8\x56\xa5\x68\x4e\x6d\x03\x39\x65\xa4\xe1\x19\x84\x64\x11\xc7\xd1\xc4\x4b\xe1\x70\x1a\x4c\x34\x0f\x40\x84\xd7\x90\xde\x5e\x6a\x03\x56\x71\x35\x93\xab\x9e\xad\x85\x1c\x31\xa5\xe4\x20\x38\x50\xbb\x80\x9f\xe2\x95\xcb\x74\x6f\x61\x1c\x0b\x82\xe8\xb8\x90\x6b\x2a\xb1\x11\x23\xe2\x04\x87\xf9\x89\xd6\xef\x7e\xe4\xc3\x2e\xcb\xea\xc2\xda\x18\x82\x01\x9b\x77\x87\xbb\xcd\x26\x78\xd5\x21\x10\x5e\xbc\x20\xff\xe2\xd4\x72\x87\xbd\xa3\x23\x93\xcf\xf9\x0c\x47\xa8\xba\x51\x91\xfb\x19\xa3\xd3\x7b\x90\xbc\xf7\xde\x57\x67\xd1\xad\xd5\xa1\x3d\x8f\xc9\xa3\xa9\x39\x2e\x67\x14\x85\x69\x10\x9a\x9e\xc7\xd7\x5d\xe1\x29\xc3\xaa\x55\xfc\xcb\x1a\x20\x8c\xa8\x81\x97\xa0\x79\xb7\x89\x7e\x59\x05\x88\x46\xf2\xa5\x4f\x0a\x9a\x77\xad\x66\x53\x7d\xa5\x97\x0e\xd2\xaa\xc0\x91\x22\xdc\x78\x30\x0d\x45\xdf\x3a\x14\x47\x47\x47\x7a\x3a\x4f\x73\x7f\x99\xfd\x23\x4c\x61\xeb\x93\x5e\xfa\xc4\xb6\x3f\xed\x3f\x9a\x82\x20\x34\x78\x79\xb9\xc2\xcf\x0c\x8e\x3d\xa3\xe9\x15\x4d\x2b\xa4\xeb\xac\xa7\x0c\xbc\xd4\xa1\x37\x3c\xdf\xc7\xf7\xd0\x4c\xc3\x3c\xf6\x81\x73\x60\x62\x23\x5d\x4e\xf3\xf8\x68\xb8\x05\x77\x31\xd2\x74\x69\xae\x72\x92\xaf\x0b\xf6\xe0\x3b\x47\x6c\x9e\xb9\xd7\x4c\x98\x46\xd6\x10\x5c\xce\x84\x4a\xb5\x62\xee\x74\x56\xa3\x96\x5b\xe3\x65\x6e\x8d\xd5\xdc\x1a\x6b\xb9\x35\x1a\x8e\x1a\xa0\x70\xaf\x65\x98\xae\xde\x8b\x3f\xea\x83\x56\xd9\xc3\x57\x06\xc5\x62\xfa\xc9\x89\xaf\x94\xa9\x72\x71\xbc\x18\x55\xad\x6f\x40\x95\x6b\x94\x8b\x51\x65\x79\xec\xf4\x51\x54\xb9\x24\xab\x18\x55\x1b\xdf\x80\x2a\x97\x34\x17\xa3\xea\x5b\x8c\x60\xde\x0c\xca\xa7\xea\xe9\x46\xd0\x1e\xd3\x0e\x9c\x96\x2c\xdd\x20\x3c\x2a\x9a\x99\x70\x63\x3d\x87\x1b\x4b\x4b\xcc\x23\x89\x97\xad\x90\xb5\xb5\x27\xe8\xea\xfb\x9c\xae\x16\x02\xf2\xe1\x29\x80\x84\xe5\x98\x9e\x39\xc1\xa9\xf9\xd8\x97\xc2\x1e\x2d\x8b\x7d\xe3\x29\xb0\x7f\xfd\x53\xb1\x3f\xfc\xa9\x9c\xff\xd7\xb2\xd8\x4d\x1b\x92\xd2\xd8\x77\x0a\x61\x97\xcc\x4e\xe1\xd8\x2b\x87\x82\x62\xbb\xee\x47\xd1\xbf\x5b\x9e\x7e\xf9\x70\xed\xcf\xef\xc2\xdf\x0b\x75\x61\x59\x12\xd4\x0d\xf9\x13\x10\xfc\xb6\x9c\xc4\xa6\xde\xf5\x19\xf1\xc6\xfe\x76\xbd\x2c\x44\x77\xa7\x1c\xdd\xb3\x68\x52\xad\x9c\xc1\x38\xf0\x66\x38\x45\x37\x88\xe1\xef\x0b\x98\xa4\xd0\x07\xc2\xf3\xb6\xe0\x13\x7e\x43\xb7\x61\x7b\x66\xd9\x02\xdc\xf4\x08\xaf\x9e\xab\x2f\x07\x48\x81\x77\x79\xed\x50\xbe\x29\xab\x5f\x2f\xc3\x6a\xbc\x4b\x09\xc2\x09\xc0\x49\x64\xd3\x88\x6e\xb7\x9f\x90\xc3\x4a\xd2\x88\x02\x50\xfe\x8a\x2c\xf6\xe1\xd8\x5b\xcc\xd2\x6f\xaf\x35\x38\x17\x20\x09\x30\xff\x31\xfc\x14\x46\xb7\x21\x18\x9c\xf5\xb3\x77\x17\xfe\x91\x34\x2a\x75\x30\x52\x43\xb3\x4b\xf4\xe9\x71\x07\x14\xd4\x72\xcc\x3b\xa0\x10\x42\x01\x68\x8b\x33\xe7\x11\x40\x02\x3a\xa6\x36\x17\xa3\xa9\x23\x51\x12\x45\x87\xaf\xbd\xd6\x73\x73\x5c\x61\x26\xab\x11\x05\xb6\xca\x45\xf3\x0c\x81\xfc\xa3\x24\xb5\x6f\x4a\x68\x44\x99\x41\x32\x18\x27\x2c\xfc\xc2\xb2\x49\xa8\x83\x91\x7a\x15\x69\x01\x36\xb1\xbd\xa1\xad\xb7\x29\x2b\xe6\x45\x65\xeb\xc3\x59\xdf\x29\x57\x68\xa0\x6d\x91\x7d\xe0\xeb\x57\xe0\xaa\xd2\x1b\x9c\xb8\x04\xa4\x00\x06\xfb\xbb\xff\xa0\xd4\xc2\xaf\xbe\xb8\x4c\x1c\x92\x70\x6e\x27\xfd\xfd\x74\x1e\xa2\xe6\x90\x55\xf9\xc8\x56\x01\x7c\xd1\xbc\xca\x9b\x18\x78\x1c\x9a\x6e\xfd\x66\x7a\x64\xdc\x58\xc7\xf0\xe8\xb8\xfa\x63\x7a\x76\x9a\x3d\xe5\x5c\xe4\xc4\x0c\x18\x8c\x9e\x20\x9d\x41\xfd\x4a\x86\x83\x2d\x76\x5a\xa0\xb4\x26\xd7\xb8\xe7\x08\xb4\x4a\x2f\xc6\x97\xa3\x82\x41\xee\xe1\x02\x28\x76\x42\x61\x7a\x5f\xfd\x31\xa0\x0c\xcf\xb2\x6b\x75\xb6\x9e\x0e\x5d\xab\x90\x68\x15\x91\xad\x56\x8e\x70\x91\x4a\x39\x9c\x22\x95\x8a\xf0\xa0\x95\xc3\x04\x52\xc9\xf0\xbe\xbc\x5e\x69\xa7\x48\xa5\xdd\x22\x95\xf6\x9e\x50\x0e\x72\x48\x2f\x03\x6b\x2b\x67\x90\x4b\xc1\xca\x91\x85\x52\xb0\x0a\xe8\xa3\xe2\x82\x5c\x48\x6a\x9a\x85\xc4\xa6\xe0\xac\x28\x34\x2d\x8a\xcd\x8b\x62\x13\xa3\xd8\xcc\x28\x36\x35\x8a\xcd\x8d\x62\x93\x23\x6f\x76\x80\x65\x73\x47\x02\xdb\x92\xac\x64\x12\xcb\x69\x63\x0e\x27\xb7\x37\x2c\x6b\x43\x2d\x65\x7a\x0a\xaf\xcf\xa8\xf6\x86\x3b\x33\xae\x08\x60\x34\x05\xaf\x3b\xa0\xd2\xac\xe0\x4b\xe5\x29\x78\xd5\x01\x95\xbd\x5c\x6b\x1b\xe4\xb1\x68\x99\x15\x59\x82\x40\x03\xd2\x46\x53\xd1\x8f\xa0\x59\x03\x6b\x60\x73\xf7\x31\x47\xfe\x3c\x81\x2c\xdb\x5a\x1c\x2c\xd3\xd9\xc7\x9b\x75\x45\x78\xe0\x4e\xb2\xeb\xee\xab\x2b\x99\xaf\x53\xaa\xf2\x88\x5a\xb5\xfb\x58\xd8\xf1\x3e\x72\x57\xca\x5c\xc9\xf2\xf6\xa5\xa6\xd8\x38\xf7\xc6\xd4\x10\x4b\xc7\xae\xce\x9f\xf2\xaa\x1c\x33\x54\x8d\xe6\x2b\xb9\x07\xeb\x9f\x1d\x17\xe3\x55\x01\x2e\x95\x60\x90\x91\x37\x0d\xc5\xef\xcc\x38\x3d\xf4\x62\xea\x28\xa9\x16\x33\xbf\x49\x07\xd7\x1f\xe1\xe6\x61\x3b\x78\xe9\x9f\x1d\x63\x4f\x8f\xdc\x53\x17\xd7\x6e\xbd\xac\xa2\x37\x72\xc4\x31\xd1\xcd\xac\x72\x34\x28\x3a\xa7\x0e\xfb\x67\xff\x07\x76\xe3\x38\x61\x67\x0a\xd8\x3b\x56\xee\x8a\xf8\x51\x8d\x02\x75\x6d\x3b\x72\xcd\xa7\xdc\xf4\x43\x8e\x74\x0b\xdc\x90\x17\xb5\x5b\x2b\xdf\xfd\x5e\x00\xda\x3c\xd5\xf7\xcf\xa2\x5a\xcf\x5f\xa8\x18\x77\x0a\x1c\xfb\x02\xd1\xd3\xde\x98\xe0\xd6\xde\x9b\x95\x22\xbd\x91\x7a\x55\x69\xae\xfc\x9e\xb3\x4c\x8a\x3f\x05\x5d\x19\x04\x8a\xe6\xa5\x29\xda\x6e\xad\xcc\xbf\x25\x49\x71\x69\x8a\x2a\x85\xeb\xa3\x9f\x55\xdd\x65\x16\x9f\xd6\x9f\x47\x73\xec\xae\x58\x12\x58\xe5\xe0\x69\xd0\xf7\xa2\x34\x8d\x6e\x96\xa2\x20\xfe\x96\xc3\x71\x53\x5e\x64\x6f\xbe\x0d\x3d\x85\x6e\x33\xc4\x1f\xf7\x12\x79\xd8\x3f\x03\x1f\x53\xb6\x40\xce\x6d\x0f\x37\x98\x7e\xa8\xd8\x3d\x79\x2f\xf3\xcf\xdc\xb4\x63\xf4\xd0\xaf\x5a\x57\xb2\x55\x50\xf9\x58\x01\xab\x60\x95\xa8\xb7\x55\x50\xf9\x2e\xc6\xcf\x08\xa7\x60\xd5\xbe\xfe\xe1\xa7\x8a\xf3\xae\xd0\x0a\x76\x8a\xfa\x97\x15\x51\x32\xc5\xa1\xfd\x25\x97\x84\x47\x0e\xcc\xea\x1f\x3c\x30\x85\xe7\x52\xfe\x1c\x22\xa6\x01\x9b\x47\x66\xbb\xe1\xd1\x34\x17\x3e\x00\x29\x7b\x98\x51\xdc\x5a\x05\xdf\xe2\x00\xc4\x74\xcc\x21\x6d\xb2\xcb\x1e\x91\x90\x5e\x90\xe3\x0e\xfc\xd6\xc4\x77\x15\xf1\xaf\xd5\x62\x77\x8d\x56\x7e\x96\xdf\x1d\x4b\x5d\x35\x52\x2b\x66\x48\x6f\xff\x69\xe4\x95\x42\x4b\xd9\xfc\x84\xc7\x05\xe5\x76\x7b\x45\x0f\x2d\x1e\x77\x34\x41\xe2\xbb\xfe\x0f\xec\xa4\x9e\x72\x5a\x1b\x98\xeb\x78\x84\x45\xc0\x4c\xda\xd0\x04\xda\x5a\x68\x19\x0b\xaf\x94\xa2\xcb\xb4\x18\x17\xb9\x23\xc5\xc0\x7e\x64\x8a\x4f\xc8\xa5\xa4\xed\xf6\x6c\xca\x92\xfc\x92\x8f\x83\x6f\xed\x05\x24\x72\x34\xb0\x09\x0b\x6f\x45\x7f\xcb\xc7\x43\xf5\x80\x94\x16\x4a\xd6\xa2\x6e\x05\x32\xcf\x8c\x03\x1b\x9a\x89\x09\x8d\x88\x41\x1a\x5a\x87\xf5\x61\x43\x20\x1d\xa5\x59\xb1\x3c\xfa\xd0\xb6\xd0\xc2\x69\xe5\xb5\xe0\x8c\x92\x43\xa2\x3a\x01\xe5\x14\xf1\x04\x32\xcb\x0f\xcf\x52\xbf\xf3\x28\x51\xf6\xd9\x9c\xf4\x9d\x92\x65\xce\xf8\xde\x6e\xfe\xc5\x32\xbe\x1f\x46\x37\xf4\x61\x23\x02\xec\x63\x14\xcd\xec\xd9\xdc\x59\x3a\xf7\x77\xdd\x5f\x86\xa7\x83\xa3\xd3\xc1\xd9\xdb\xe1\xd1\x69\xf7\xdd\x60\x78\xf6\xc3\xf1\x47\xd0\x01\x5b\xe4\xfb\xd1\x49\xf7\xfb\x33\x29\x98\x1a\x97\xb0\x71\xc0\x7f\x5c\x90\xff\xaf\xf4\x3e\x9c\x88\x01\xd0\xf8\xcf\x03\xbd\xda\x8f\xef\x0f\x07\xa7\x27\xc7\xef\x07\x42\xc4\x73\x56\x66\x68\xd0\x3b\x39\x7e\xff\x83\x10\xb6\x4c\xfe\x36\x54\x3c\x7e\xff\xd3\xe0\xf4\x8c\xc0\xdd\x25\x31\xc4\xb4\xc4\x5c\xf9\xf8\xec\xb8\x77\x42\xaa\xb7\xb6\x59\x7d\x5a\x88\xc3\x8e\x71\x55\x1c\x70\x4c\x7e\x63\xa1\xc6\x84\x37\xd7\x71\xf4\x09\x86\xbd\x68\xe6\x73\xd7\x20\x54\x7c\x0a\x43\x1f\xc6\xb9\x51\xc8\xac\x5a\xd5\x11\x78\x5c\x24\x98\x38\x86\xe3\x18\x26\xd3\xd3\xe8\x36\xf9\x7f\x16\x70\x01\x95\xdb\x39\xa9\xd2\x51\xec\xdd\xc0\xe4\xec\x53\x30\x9f\xe3\xe7\xdc\x9a\x96\x7a\xdd\x30\xb8\xc1\x1e\x8b\xb8\x81\xe6\xf8\x44\xd7\x81\xb9\x17\x6a\x12\x87\xea\xc2\x5b\x8b\x30\x36\x4c\xc5\xd5\x0a\x02\x54\x51\x5e\x30\x15\x79\xdb\x21\xf8\xd5\xd5\x5c\x62\xff\x68\x0a\x47\x9f\xd0\xef\x3d\x5c\xaa\x2a\x29\xa8\xbd\x0b\xa7\x3e\xe9\xfd\x4d\x7a\x43\x90\xb0\x91\x16\x14\xdc\xef\x68\xa4\x4e\x09\xb3\xd5\x35\x37\x4e\xeb\x00\x86\xbe\x2e\x0d\xea\x48\x13\x75\xfc\x05\xe0\x36\xfb\x20\x6b\xba\x8f\xfe\x27\xbd\x36\x25\x18\xf3\xc6\x21\x36\xbf\x12\x6f\x93\x86\xdb\x20\xf4\xa3\xdb\x06\xf5\x43\x96\x3f\x57\xa5\xa6\x27\x51\x34\x6f\x5c\x07\xa1\x4f\xae\x85\x34\xfe\x53\x6d\x6d\xe0\x90\x08\xc1\xba\x04\xe0\x47\x5b\x3f\x05\x73\x46\x98\x32\xea\xb7\x71\x90\xc2\xde\x62\x3c\x86\xb1\xf0\x7c\x35\xda\xb0\xd8\x67\xc5\xea\x2a\x78\xd5\xb1\xa8\x45\x99\x9f\x1c\xf1\x1f\xcf\x3c\xe0\x7c\x92\xbc\xe8\x94\xc7\xdc\x43\x42\x23\x17\xc1\xd0\x97\x3b\x6a\x91\x3e\xce\xd1\x4d\x95\x01\x18\xa8\xbe\x3d\x46\x42\xa9\x8d\x51\x1c\xdd\x26\x60\x4d\x0c\xa6\x73\xbe\x11\xc7\x40\x9b\x69\xba\x68\x5e\x35\x94\x1e\xa9\x88\x4d\x4d\xa4\x1e\x03\xe7\x2b\xfb\x16\x2e\x18\x5f\x24\x73\xf3\xef\x22\xa0\xb4\x82\x57\xa4\x57\xb6\xdd\x4a\x4e\x97\x03\x63\x97\x81\x71\x07\xe1\xa6\x06\xb1\xe9\xb5\xaa\x7a\x0a\xf3\x31\x30\xf0\x51\xa7\xc2\xb4\x59\x29\xbf\x8e\x15\x5a\x9f\x68\x5d\x51\xa5\x1e\x14\x54\x3a\x05\x54\x72\xf6\x9e\x9d\x3c\x59\x10\x8f\xd6\xe8\x98\xbd\x36\x4b\xfb\xba\x7e\x0e\xc1\x5f\xc6\x33\xaf\x5b\xc6\x87\xf2\x40\x96\xb8\xcf\xf2\x16\xa2\x05\x98\xf8\xca\x9d\x4e\x5f\x9f\x3c\xcb\xa6\x65\x0d\x30\x8d\x1c\x62\xc2\x6d\xe0\xa7\x53\xc3\x71\x68\x34\x53\x9e\x33\xbf\x27\x7b\xc6\xd8\xc0\x30\x33\xa3\xcc\x7a\x55\x0e\xd6\xf8\x5f\x18\xfa\xff\x0b\x82\x04\xa4\x51\x04\x66\x5e\x3c\x81\x0d\xf0\x2e\x4a\x52\x30\x0b\x3e\xc1\xd9\x3d\xf0\xc0\xb5\xe7\x83\xfe\xd9\xa9\x16\xb6\x51\x5a\x1b\xd1\x6c\x23\xf7\x68\x7d\x40\x92\x0e\xee\xcd\xcf\x8c\xc7\x38\x8f\xc7\x3d\x58\x55\x81\xdf\xfb\x41\x32\x3f\xd0\xea\xcf\x82\xd0\xb0\x76\xa1\xd2\x04\xed\x06\xab\x71\x74\x6b\x78\x24\xed\xce\x72\xdb\x6a\x38\x07\xbb\xc7\x26\xd4\x3d\x58\xd3\xbf\x5c\x7b\x09\x04\x6b\x46\x42\x6b\xe0\xc5\x8b\x3c\x89\x1a\xd1\xcc\x59\x5e\x0a\x4d\xb5\x0d\x47\x8f\x49\x14\xbf\x0d\x7c\x1f\x86\x26\x79\xbd\xd3\xd9\x70\x67\x13\x42\x60\x3f\xd5\x42\x60\xd6\x5a\xae\x86\x88\x81\x5e\x9a\xc6\x3a\x3e\x1f\x8e\xbb\x69\x1a\xeb\xfc\x66\x2f\xa0\x1d\xc5\xde\x84\x3e\x2e\xab\x3c\x8a\x76\xa8\xd4\x50\xdd\x54\xf0\x7a\xe2\x78\x05\x1c\x67\x8a\x26\xdb\xe4\xec\x21\x5c\xd3\x10\xdf\x4e\x83\x19\xd4\xc6\x12\x3f\xea\x18\xc3\xf0\xe2\xfe\x8a\xff\xee\x70\x66\xe3\x6f\x69\x1b\xa6\xae\x01\x92\xf4\x50\x24\xfb\x71\xb4\x13\x75\x0c\x2e\x37\x1c\xd2\x3b\x0c\xef\x46\x0c\x67\xd0\x4b\xa0\xb1\xed\x83\x7d\xad\xa6\xef\x85\x62\x9d\x64\x5d\x93\xf1\x70\x92\x4c\x45\x68\x96\x5d\x04\x57\xc6\xde\x11\x0e\x09\x95\x4c\xde\xf2\xa4\xd2\x90\x29\x41\x56\xb5\x6d\xa8\x8a\x6d\x70\x56\xd7\xb6\xc4\x96\xc9\xb5\x83\xb3\xfe\xe0\xb9\x6d\x75\x9d\xa0\xdd\x54\x67\x83\x1d\x1e\x6e\xf0\xbc\xd3\xc1\xd3\xc3\x06\x15\x55\xc4\xd3\x07\x55\x34\x4f\xa0\xbc\xa3\x57\x3e\x11\x72\x9d\x3e\xa4\x19\x21\x3d\xa3\xcf\x7f\x77\xdf\xff\x14\x7d\x79\xdf\x7e\x82\xaf\xce\x7d\xe9\x71\x7e\x99\x40\xc7\x5d\x94\x36\xb7\xed\xd1\x44\x66\x52\xa4\xf1\x79\x24\xdb\x71\x72\x5f\x85\xf4\x52\x23\xc1\xd5\x86\x79\xfe\x7a\x23\x7c\xd4\x54\x3e\x92\x8c\x51\x5a\x8e\xb6\x52\x22\xa5\x77\x66\x19\xb1\x02\x25\x44\x0b\xe4\xde\xbe\x3f\x8d\x88\xd9\x71\x3c\xf5\xe0\x71\x59\x44\xea\x67\x4d\x7b\x79\xd8\x8d\x5e\x78\x98\xdb\xf3\xfd\x6a\x85\x3e\xe5\xb4\xf6\x39\xf0\x61\x94\x77\x05\xed\x06\xc5\x26\xc4\x1a\xb1\x35\x5c\xc0\x1e\x75\x63\x87\xcf\xff\x26\x34\x5f\x1b\x78\x01\x9a\x77\xad\xf1\xd8\x4d\x38\x7e\xbf\x18\x35\x21\x8c\x7b\xfd\x1a\xec\xd5\x4a\xb4\x9c\x79\x93\x84\xe1\x7b\xfd\x1a\xb4\x72\x5c\xb9\xd1\x00\x91\x36\x2f\xc8\xb9\x67\xa3\xf7\xe1\xe4\xb0\xc8\xd4\xc0\xeb\x54\x76\xb8\x56\xd8\x07\xcd\x39\x2e\x77\x68\x60\xd6\xae\xa3\x99\x5f\xc4\xc5\x20\xdf\x53\x05\x77\x6f\x02\x5e\x81\xdd\xa2\xf4\x8d\x27\x60\xb5\x03\x72\xb8\x96\x8f\xdc\xfd\x55\xe7\x3a\x3f\xd9\x5e\x42\x2b\x19\x79\xb8\x40\xbb\x56\x64\x67\xe4\x31\xb2\x2c\xa5\xf8\x58\xfd\xa9\xa8\xbc\x9e\x05\xe1\xa7\xa7\xa6\x90\x9e\xe6\x17\xa1\x11\x4d\x99\x14\xde\xcc\x41\x07\x5c\x4f\x0a\xf8\x87\xa0\x79\x39\x2e\x50\x11\x4f\x60\x04\xb8\xc0\xe2\x30\x06\x55\xde\x81\x16\xda\x4e\x81\xff\x5f\x48\x2c\xbf\x03\x79\x2a\x59\x98\xe2\x0d\xdf\x9f\x28\x0c\xf8\x42\x61\x42\x3c\x40\xb6\x76\x8a\xb2\x1f\xcb\x44\x6b\xeb\x09\xb5\x15\x21\x60\xbb\xc4\xf8\x17\xca\x5e\xf7\xd8\xe1\xbf\x46\x52\x59\x90\x2e\xe7\x78\xaf\xd0\xb9\x3f\x59\x1b\x45\xb3\x28\x5e\x5b\x01\xab\xe0\x7a\xf2\xf8\x71\x7f\x62\xfa\x32\xe2\xc6\xcb\x13\x57\xd4\xfb\xc6\xbc\xcd\xca\xb6\x8c\x2e\xaf\xa4\xcc\xbc\x5c\xed\x80\x95\x57\xc8\x58\x03\xb8\x47\x9d\x4b\xda\x95\xdb\xc0\x87\x6b\xa3\xa9\x17\x5f\xae\xbc\x5e\xc1\x31\x5f\x60\x15\xac\xbc\x5a\x47\x55\x5f\xaf\x14\xd9\xf4\x09\x41\x5d\x4a\xb8\xd8\x6b\xd0\xde\xda\x5a\x9e\x34\x92\x34\xe5\x09\x88\xb3\x9c\x8a\x97\xc8\xa0\xf9\x22\xc7\xa5\x53\xea\x4c\xe5\x85\x77\x33\x3f\xc8\x31\xe6\x0b\x25\x9f\x79\x55\x0e\xed\x2c\x7d\x12\xac\x79\x29\x6f\x14\xac\x93\xc7\x62\x2d\xe4\xeb\x49\xbd\xad\x5e\x69\x69\xf8\x0b\x52\x19\x5e\x27\xb9\x63\x52\x20\x78\xb1\x24\x5e\x97\xf7\x5d\x3e\xc6\x52\x91\x6e\x7a\x09\x3d\x9f\xd4\x73\x65\xeb\x29\x8e\xcb\xee\xea\x9f\x62\x33\xa8\x53\x91\x8f\xb7\xd0\x2e\x7d\xf9\x9d\x79\xde\x6e\x5c\xe7\xf1\xe3\x76\xdd\x05\x0e\x74\x64\x94\x8e\xf3\x52\x11\xb1\x4a\x95\xd1\x6b\xc1\x7e\xf3\x63\xb9\xf5\x11\x31\x14\xbb\xf5\x51\x6f\xe8\x32\x90\x37\x41\x8a\x76\xed\xf8\xae\xac\x52\x07\x5f\x00\x45\xb2\x6f\x41\x5e\xcf\xf3\x51\xa0\x57\x72\xd6\x8b\x39\x8a\xeb\x0c\xce\xe0\x88\xe6\xa9\xcf\xbb\xa0\x33\x9f\x92\x27\x0c\x02\xef\x70\xde\x61\x79\x3e\x00\xc7\x7d\x9a\x03\xdd\x45\xf3\xca\x3a\xb0\xcf\xc9\xfd\xe1\xd7\xaf\xe0\xb9\xe1\x3a\xd6\x7e\xf3\x8f\x43\xf1\x68\xa6\xb0\x33\x04\xe2\x14\xdf\x45\x61\x68\x17\xad\x2b\xcb\x4d\xcf\x81\xb1\xfd\x20\xf4\x49\x6b\x18\xfa\x65\xdb\xf6\x91\xb0\xf9\x02\x05\xef\xbc\x74\xda\xb8\xf1\xee\xaa\x2a\x75\x75\xd0\xac\xb9\x60\x70\x2a\x08\x84\x20\xac\xca\xf4\x69\x21\x01\xec\x06\x4f\x71\x7e\xb1\x50\x66\xb9\xa1\xfd\xfa\xd5\x4c\xc6\x2b\xd0\x2c\x37\x18\x8f\xbb\x35\xe2\x0e\x1a\x7d\xec\x8a\xa4\x8f\x6c\xa7\x63\x63\xf9\x1b\x3a\xe8\xcd\x2b\xb0\xaf\xfa\x7c\x20\x35\x20\x01\x54\x87\x4b\x03\x4b\xbb\xff\x06\xcb\x02\x06\xe9\xbc\xed\x75\xaa\x55\xd2\x92\x74\x9e\xcf\x67\xaa\x43\x2d\xc3\x54\xe7\x5c\xa8\x53\xe2\x6b\x0a\x97\x6e\x02\xdf\x9f\xc1\xd3\xe8\x36\xe9\x47\x0b\x72\x71\x66\xea\xc0\x9a\xad\xcb\xd2\x95\xef\x53\x93\x0f\x56\x41\xab\x0e\x9a\x9a\xa8\x22\xa6\xd5\x55\xd2\x6b\xc5\x04\xf7\xb9\x65\x8c\x4c\x17\xd2\x84\x65\xd8\x17\x54\x9d\xdc\x8f\x1d\xe9\xa7\x64\x17\x9b\xd0\xcd\x3a\xa7\x58\x77\x18\x2b\xa6\x91\x0b\xac\xa6\x0e\x27\x10\x33\xb5\xd2\x92\x13\x23\x42\x47\xd1\xec\x8c\x2c\x3d\xa3\x68\x36\x08\xfd\x3a\xc0\x0b\xe9\x42\x5e\x92\xd1\x20\xb2\x72\xc2\x70\x7c\xa5\x8b\x9f\x38\xe2\xc5\xa0\x75\xa0\x68\x0e\xc8\xb1\x2a\x0a\x83\x31\xaf\xe2\x07\x9f\xc5\x33\x15\xb6\xce\x27\xe9\xfd\x0c\x36\xa6\x30\x98\x4c\x51\x6b\x8e\xe3\xa5\x6e\x7e\x78\xf1\x3b\xe8\x25\x8b\x98\x57\x5f\x05\x2b\xf3\xbb\x15\x1b\xcc\x14\x7b\xe2\xc5\xd1\xed\x13\xc0\x9a\xc1\x31\xa2\x8e\xb1\xd0\x0d\x91\x6c\x95\xdd\x00\x6d\x6e\x28\x1a\x98\x97\xa0\x4a\x86\x0b\xac\x71\xf4\x35\x0d\x38\xf5\x1f\xa7\x38\x4c\xae\xe5\x4c\x72\x54\xe7\x72\xc1\xfd\x37\xab\xc2\x25\x47\xf3\x53\x55\x7c\x7f\xc5\x45\x03\x9f\x34\xd2\x7e\x44\xb7\x21\x8c\xd9\x5a\x71\xf0\x2c\x93\x12\x87\x80\x88\x9e\xa8\x70\x26\x59\xd2\x95\x29\x9c\xcd\x22\x70\x1b\xc5\x33\x9f\x5a\xca\x62\xc2\x52\x3e\x79\x20\x7b\xf5\x02\x7b\xfa\x20\x0d\x02\x67\x8d\x68\x3c\x4e\x60\xfa\x33\xbe\x63\xe7\x1f\xa7\xd2\xc7\xb7\x58\x06\x38\x6a\x32\x44\xe3\x28\x4c\x7f\x66\x72\x59\xc1\x77\x01\x02\xf0\xb6\x0b\x78\xdb\x06\x3c\x5b\xb7\x05\x23\x8c\x53\x4d\x87\xea\xb6\x85\xf5\xe5\x6d\x1b\x2d\xec\x53\xf2\xc7\xb4\x7d\xf0\xec\xc1\xe2\xf8\xcf\x95\x82\xc5\xf5\xbf\xf5\x94\xae\xff\xa8\x7f\xc3\x21\xbc\x4b\x61\xe8\x27\xa0\x43\x2c\xd6\xcc\x47\x95\x7d\xa9\x61\x37\x74\xdd\x0d\x16\x4b\x01\xae\x72\x96\x7a\x69\x80\x73\x6a\xd2\x68\x02\x1c\x7d\x43\xb5\xda\x87\x31\xf8\xfa\x95\x4b\x77\xf5\x0b\x18\x0e\xb1\xc6\x1b\x0e\xf7\xc1\xc5\x15\x78\x00\x41\x98\xa4\x5e\x38\x82\xd1\x18\x74\xe3\xd8\xbb\xc7\xc7\xd5\xd9\x43\x53\x75\x70\x8d\x34\x96\xdf\xe0\xed\x40\x07\x5c\x1f\x80\x87\x9a\x08\x57\x6f\xc0\xbd\x33\xe6\x20\x08\x51\x11\x3e\x70\x6c\x4c\xbd\xe4\xc3\x6d\xc8\x03\x1d\xe6\xb5\x1a\xf0\x2f\xe6\x57\x08\xe6\xc5\xfc\xea\x40\x99\x6a\x1a\xd8\x4c\x07\x88\x3d\x27\x5f\x0f\x74\x6a\x86\x43\xc4\x2e\xc2\xd0\x51\x14\x26\x69\xbc\x18\xa5\x11\xde\x5d\x8b\x6a\xd7\xcf\x16\x01\x44\x08\x77\x3c\x07\x6f\x18\x47\xc9\x04\xab\x5e\xd7\xc0\x3e\xa8\x0e\x87\x72\xfd\xec\xaf\x3a\xf6\x1a\x47\x58\xb3\xc5\xe6\xa1\x86\x2c\xbb\x27\x88\xf3\x78\x17\x2d\xf0\x2b\x60\xa6\xb0\x8e\x3d\x5a\xa7\x87\xac\x58\xf2\x56\x99\xa1\xd6\x2e\xad\x35\xf8\x8c\x76\xaf\x37\x41\x9a\xc2\xd8\x1a\x29\xd2\xa2\x95\xf9\x72\xf8\x2e\xf2\xa1\x3d\xb0\xa4\xdd\x66\xe1\x28\xa7\xdd\xef\x87\x67\xfd\xd3\x0f\x27\x27\xc3\x77\xdd\x5f\x86\xe7\x6f\x4f\x07\x67\x6f\x3f\x9c\x1c\x82\x0e\xd8\x6a\x9a\xeb\x9c\x7d\x1c\x0c\x0e\xe9\xa1\xbb\xfa\xfd\xf8\xfd\xf9\xe0\xf4\xa7\xee\x89\xd0\xbc\x7f\x32\xe8\x9e\x0e\xdf\x7d\xf8\xf1\x6c\x30\x3c\xfc\xf0\xf3\xfb\xe1\xf9\xf1\xbb\x01\xe8\x80\xcd\xa6\xa9\xc2\xf1\xd9\x79\xf7\x7d\x1f\x7d\x6f\xd1\xcf\x3f\x7f\x38\x3d\x1c\x9e\x0d\x3e\x76\x4f\xbb\xe7\x1f\x4e\xcf\x90\x52\x02\xd5\xda\xc5\xd5\x97\x87\xcb\xca\x4a\x85\xd4\x39\x39\x7e\x3f\x18\x1e\x76\xcf\xbb\x38\x2b\xed\xf0\xf8\xfd\xe1\xe0\x17\xf2\xf6\x87\xfc\xf5\xe7\xe3\xc3\xf3\xb7\xfc\x73\x9b\x7c\x7e\xff\xe1\xfd\xb0\x77\x3a\xe8\xfe\x70\xfc\xfe\xfb\xe1\xd9\xc7\x6e\x7f\x80\xa1\x80\x0e\x38\x4b\xe3\x20\x9c\x34\xc6\x71\x74\xd3\xa7\x87\xae\xd5\xd6\x76\x93\xf2\xae\x7b\x72\x32\x34\xb4\x3d\x1d\x7c\x8f\xa1\x23\xe1\x3a\x85\x93\xc1\xdd\xbc\x6a\xc1\x50\x07\x95\x49\xc5\x34\x70\x52\x24\x8f\xf4\x85\xcd\x2a\xa9\xf0\x42\xfe\x2b\xe7\x71\x44\x67\x53\xc4\x6c\x21\x38\x08\xff\x59\xa0\x99\x12\x27\x44\x43\x84\x1e\x6a\x32\xf1\x58\x37\xca\x25\xe2\xab\x80\xd9\x17\x2f\xf4\x26\x6a\x64\xce\x30\x59\xcc\xb3\x54\x4e\x5c\xe1\x56\xd5\x56\x75\x40\x6b\x12\xb2\x39\x00\xb5\x5e\x16\xd0\x53\x07\xc3\x6b\x1c\x7d\x50\x07\x43\xf1\x8c\xa5\x0e\x86\x82\x5d\xa2\x7a\x15\x0f\xf1\x02\xd0\xa1\xd8\x1a\x23\x6f\x36\x23\x01\x00\xa8\x97\xe8\x97\x4c\xc3\x0d\x8b\x84\x09\xd1\x4a\x84\x12\x54\x85\xfc\xa6\x55\x10\x29\x44\xd5\xc4\xbf\xb5\xca\x02\xfd\xa8\xae\xf0\xa7\x56\x35\x08\x83\xf4\x24\x48\x52\x18\xc2\x38\x11\xb7\xb7\xe4\x3b\x0c\xbd\xeb\x19\xd4\xcb\x87\x37\x48\xd1\x50\x71\x57\xb5\x4f\x43\x2e\xa8\x9a\x1e\xe9\xa2\x60\x66\x5e\x92\x62\x9d\x79\x18\xdd\x86\xe7\x01\x76\x17\x6f\x6a\xb5\xbc\x51\x1a\x7c\x86\xaa\x08\x49\x7f\x6b\xd1\xba\x74\x75\x1a\x66\x63\xf2\xa0\x08\x34\x11\x08\x71\x6f\x21\x31\xc3\x19\xd7\xc2\xc4\x40\x1e\x71\x71\x2c\xcf\xe3\xe0\x86\xc1\x92\x40\x79\x37\x74\x13\x22\x91\xd8\x18\x46\x21\x6a\xc2\x3e\xf3\x55\x36\x83\x7b\x83\xf8\xf4\x2e\xfa\x0c\x8d\x60\xe1\x67\x68\x86\xfa\x8e\x35\xa3\x55\x6c\x90\xd1\x08\x2c\x01\x19\xbf\x31\xef\x86\xfc\xe3\x7c\x09\xb8\x3f\xce\x55\xa8\x0f\xaa\x46\xd2\x06\xd0\x0f\x12\x24\xae\xee\xa0\xd4\xd1\x0c\x7a\x31\x07\x52\xd5\xa2\x62\xc9\xf0\x21\x6b\xb6\x5a\x49\xe3\xe0\x86\x27\xb6\xd0\xc7\x55\x6b\x2b\xce\x4a\x6a\xf4\xe2\x75\x9c\x35\xa8\x56\x30\x43\xfc\xe8\x36\xe4\x60\x35\xe6\xd7\x8a\x76\x97\x4c\xce\x9c\x10\x5c\xd6\x9d\xf0\x91\xbd\xf1\x7c\xff\x1b\x76\x25\x81\x69\x8f\xa9\xc0\xac\x37\x84\x46\x5b\x9f\x90\x59\xa7\x28\x4b\xc7\x00\x53\x1a\xcc\x36\x9e\x9d\xb2\x3a\x58\x99\x7a\x09\xff\x8e\x0c\x3f\x8e\x6d\x02\xd3\x7d\x0b\xef\x81\x78\x40\xc8\x37\xbe\x58\x69\x92\x18\x6f\x0e\xf1\x4c\x0f\x0f\xa2\xc7\x42\xce\x66\x03\x35\x9a\x27\xff\x64\x5a\xd0\x8a\x86\xc4\x36\x0f\x86\x83\xd3\xec\x98\x12\x6d\xca\xe8\xa1\xd3\xd7\xaf\xd9\x91\x35\x2b\x16\x9d\xaf\x1f\xea\xd9\x06\x20\x5c\xdc\xc0\x18\x09\x29\x31\x93\xb3\x2f\xa3\x28\x1c\x07\x93\x85\xf0\x8d\x0c\x52\x6d\xe9\x51\xe2\x07\x4d\xe7\xf0\x2e\xfd\x37\x19\x26\xf5\x9e\x4c\x8f\x93\x48\xe8\x91\xe3\x80\x9d\x1a\xf3\xa1\xe9\xf0\xa1\x11\xcf\x0b\xf5\x4b\x30\x1c\x14\x03\x93\xc5\x2c\x35\x64\x0e\x26\x1f\xa4\xcc\x02\xb1\x17\x26\x33\x8f\x45\x6e\x9e\x04\x21\x3c\x8f\x88\xc1\x5c\x95\x14\xce\x04\xa6\x55\x46\x4c\xad\x4e\x86\x9f\xcb\x53\x5d\x21\x5c\x0d\x9f\x94\xc2\x06\x78\x97\x56\x69\xb4\x9f\x70\xeb\xd1\x72\xc6\x11\x5c\x73\x1a\xf9\x20\x09\xd4\x05\x86\x5b\x43\x16\xf2\x83\x84\x28\x3b\xaf\x72\xf4\x39\x43\x41\xfa\x68\x79\xff\x37\xab\xd6\x08\x92\x9f\x63\x7c\xa4\x6a\xbb\x63\x25\x4c\xbf\xa0\xbc\xa7\x81\x9c\x6b\xc8\x34\x5f\xed\x70\xe2\x1e\xe9\xa0\x21\x0e\x2c\x03\x69\x20\xdd\x16\x1e\xc8\xba\x65\x50\x04\xcb\x8d\x05\x6d\xfb\x0d\x06\x84\x1d\x59\xcb\x37\x7a\x62\x27\xfe\x0d\xc7\x06\xfb\x24\x47\xf1\x8d\x97\xa6\xd0\x3f\x65\xb3\x9b\x02\xbe\xf1\xe6\xc2\x06\x0b\x61\x70\xa8\x20\xf4\xb9\x11\xc3\xf9\xcc\x1b\xc1\xaa\x6b\xeb\x5b\xc7\xce\x23\x8a\xbe\xaa\x35\x7e\x8b\x82\xb0\x4a\x4f\x3c\x1a\x41\xf2\xee\xec\x67\x1c\x61\x9d\x80\x37\xa0\x72\x19\x5f\x86\x15\xb0\x0f\x2a\x97\x9a\xff\x21\x5b\xa7\xe4\x3e\x3c\xed\x22\xe3\x30\x47\x64\x13\x22\xc7\xc2\x22\x7a\x3f\xcf\xac\x24\xd6\xe0\x3b\xd5\x42\x4a\xb4\x9a\x2c\x32\xb6\xb0\xed\xe4\x9a\x0e\x12\xe9\x33\x3a\x29\x82\x9b\xd3\x60\x32\x4d\x0d\x17\x77\xca\xcd\x48\x76\xbd\x29\xdd\x8c\x08\xb7\x9e\xcd\x03\xe5\x72\x9c\x5d\x5f\x4a\x0d\xf8\x9d\x26\x5e\x7e\x94\xbb\x14\x44\x15\x27\x56\x5c\xf1\x78\xfc\x6a\xd7\xff\x6d\x91\xa4\xf4\x7e\x4d\x58\xe6\xfa\xd1\xcc\x51\x9b\x2f\x89\x04\xbb\x70\xf2\x68\x88\x49\xc3\x62\xee\x88\x16\x27\x91\x64\x38\xdf\x0d\x8d\x22\x93\xe5\x55\xe8\x04\x76\x4d\xf2\xe2\x0b\xd3\xe1\xd4\x95\x6e\x0c\x28\x75\x85\xa3\x2a\xb2\x86\x6b\x77\xda\xda\xe0\xbc\xee\x80\xc0\xa6\xaf\x8c\xfc\x33\xbd\x89\x6a\xf6\x84\xa4\x03\x57\x18\x03\xe1\x79\x3e\x7c\x5b\xb8\x32\x36\x9e\xf8\xc0\x99\x86\xf3\xeb\x57\x69\xac\x24\xd9\xe3\x92\x6d\x0c\xfc\x45\x1f\x7e\x9e\x06\x29\x4c\xe6\xde\x08\x1e\x87\x3e\xbc\xa3\xa3\x49\xcf\xfb\x12\xe8\xc5\xa3\x69\x75\xfd\x32\x59\xfd\x6e\xbd\xa6\x8f\x94\x11\xc2\x73\x6b\x84\x8d\xdc\x17\xee\x21\x21\x14\xd7\x8d\x44\xe5\xba\x72\x89\x80\x5f\x75\xcc\x43\xbc\x94\x51\xa9\x65\x28\x13\x99\xb3\xb8\x4e\xc8\x02\x6b\xc4\x57\x17\xbb\x5b\x58\x73\x99\x02\xfa\x83\xe4\x3d\xbc\xe5\x6d\x8a\x9d\xbb\xfc\x81\x09\x54\xa4\x85\x40\x39\xb9\xc8\x34\xb7\x94\xde\x45\x56\x90\xd9\x5a\x78\x12\x84\x0b\x9c\xae\xd1\xde\x65\xd6\x6d\x69\x73\xc3\xcc\x20\xa9\x50\x17\x57\xe9\xb3\x23\xd6\x98\x9c\xf3\x61\xa7\xb1\x10\xde\xf2\x56\x6c\x53\x2f\x81\xc9\xc9\x3a\x50\x60\xad\x32\x0d\xb9\x35\x99\x4e\x91\x4c\x12\xba\xbb\x1b\xf5\x66\xcb\xd9\xcb\x51\x3f\x37\xe7\xd6\x4d\xf5\x80\x73\x1e\x60\xa0\x4f\xdd\xd9\xac\x90\xb1\x10\xd0\x13\x85\xee\x6c\xd6\xc5\x67\x9b\xda\xc3\x9e\x4b\x9a\x02\xe4\x10\xd1\x7c\xde\x28\x4d\xa4\x10\x42\x3f\xc9\x72\x1c\x89\xc4\x29\x07\x91\x92\xf4\x8a\xcd\x8c\xb3\x4a\x21\xb9\x94\x6c\x4c\x20\x39\x0b\x26\x66\x4c\x3f\x8a\x62\x3f\x31\x9e\x18\x4a\x3d\x19\xb1\x7a\xb8\x2d\xda\x4d\x90\x96\xa4\x76\xdd\x70\x96\xc5\xca\x84\x73\x71\x8b\xfb\x8f\xc1\xfd\x4c\xdb\xe6\x11\xfc\x17\xcd\x2b\x71\xd9\xa3\x85\x2d\x73\x21\xb2\x11\xdc\xfe\x7a\x54\xb1\x90\x16\x85\x47\x9f\x31\x10\x1f\xd4\xd1\x77\x48\x6f\xa8\x0f\x4b\x0e\x17\xc9\xe5\xbd\xce\xc5\x53\x38\xf3\x90\x80\x9e\x47\xcc\x73\xc1\xca\xd6\x9a\x74\x0c\x44\x62\xbc\x48\xef\xde\x32\xbf\x02\x93\x3b\xdf\x4b\x7d\x34\xa8\x97\x8a\x2c\x7a\x94\xc2\xd7\x1d\x92\x24\x8a\xfe\xf9\xaa\xa3\x60\x31\xbb\x00\x8a\x97\x0a\x0f\x46\xb0\x39\x60\x68\xb5\x35\x15\x9d\x09\x6c\xc6\x4b\xb6\xe8\x73\x0f\x4b\xf2\xa9\x0e\xd6\xac\x37\xb0\xb5\xba\xfd\x76\x56\x90\x3a\x8a\x63\xbd\x63\xaf\xad\x49\x13\xeb\xeb\x3a\x21\xcc\xbb\x4e\x68\x49\xad\x06\x56\x49\x59\x1c\x2d\x42\x9f\xd5\x7b\x09\xaa\xe6\x4b\xe0\x35\xd0\xaa\x95\xd1\x49\x7c\xd7\xe3\x96\x43\x6c\x71\xa2\xc2\xc6\xf5\x22\x4d\xa3\x10\x1b\x57\x25\x7c\x3a\x49\xdb\x79\x8c\xff\x3d\x24\x91\x0f\xfa\x46\xcc\x8f\xbd\x89\x32\x37\xb4\x4c\x7b\x09\x9d\x48\xfd\x59\x30\xfa\x84\x3d\xb4\xd8\x65\x84\x81\xd8\x64\x1a\x8c\xd3\x1f\xe0\xbd\xd9\xca\x88\xc2\x33\xf4\x1d\x43\xd2\x80\x38\xb3\x69\x65\xc9\x62\x46\x9c\x0c\xbc\x25\x30\x9a\x9b\x1c\x5b\x10\x4e\x66\xd0\x8c\x0e\x98\x93\xb4\x58\x11\x19\x63\x9f\x18\xa2\xc3\x68\x71\xfd\x54\x88\x36\x5c\x88\xce\xe3\x60\x5e\x0c\x91\xea\x85\xe8\xf9\x7e\x89\x0d\xb7\xa0\xd7\x0b\x48\xb5\x11\xf6\xd2\x77\x86\xd2\x55\x8b\xe4\x4e\x66\xbb\x78\xb9\x89\x3e\x43\xf9\xe2\x45\xbc\x1a\x74\xdf\xe5\x14\x42\xb0\x98\xcb\xe0\xb3\x5b\x3c\xc7\x94\x3a\x0e\x53\x18\x7f\xf6\x66\xe7\xc1\x0d\xbe\xa0\x49\x60\xca\x8a\x9c\xa6\x73\x06\x01\x5b\xcf\x75\xa3\x77\x49\xf1\xc1\xb1\x1d\xb6\xe4\x99\x9d\x76\x26\xd9\x2f\xf3\x9e\x6e\x20\xec\x38\x0a\x8d\x05\x3e\x81\xe2\xdc\x76\x8e\x4c\x89\x11\xcc\x4c\xee\x42\xaa\x3e\x53\x76\xf9\xba\x5e\x34\x3a\x13\xc9\x38\x37\xab\x52\xa5\xe6\x40\xb8\x7b\x31\x99\x8e\x16\x6d\x5b\xac\x1b\x99\x16\x75\xf7\xc3\xde\x87\x13\x9a\xd9\x5e\x5f\x5d\xec\x7b\x00\xe5\x5e\x6e\x79\xef\x07\x3b\x59\xe5\x58\xf6\x64\xc3\x64\xbe\x78\xa2\x47\x6a\xda\x75\x80\x1d\xe5\x45\xeb\xaa\x76\xe1\xf8\xdc\xbc\x7a\xaa\x33\x36\x27\x12\x35\xa3\xfc\x12\x3b\x61\x69\x05\x2d\xb1\xcd\x29\x39\x7a\xa4\x9d\x79\xa4\x8a\x48\xd6\xcf\x1f\x4e\x0f\x0f\x0c\x6d\x09\x4b\x7e\x8e\x62\xbf\x9b\x32\x24\x4b\x4d\x35\x61\x79\xff\xeb\x72\x01\x09\x8f\x9d\x0b\x27\x41\x08\x39\x17\xe4\x7b\xac\xc2\x8c\xd0\x4d\xce\x02\xdc\x20\x31\x8e\xd4\x6f\xaa\x8a\xb3\x21\x7b\x29\xac\xd6\x6a\x68\x16\xa1\xe2\xaa\xca\x07\xa1\x05\x8b\x19\xd3\x7d\xb0\x5e\x5b\xbc\x37\xa9\x8b\x5b\x63\xe8\x07\xc4\x1f\xf9\x28\x8e\x6e\x4e\x58\xf3\x8f\x34\xd9\x3b\xa3\xf5\xb5\xd1\xc5\xd3\x3c\x06\xa2\x3d\x68\xde\xab\xd9\xfd\xc5\x84\x3e\xa9\x0a\x70\xa6\xd2\x06\x3a\xe0\x82\x6e\x13\xbc\x09\xfc\xa5\x0e\xb2\x3f\x7e\xd5\xf2\x99\x66\x44\x29\xf9\xeb\x5d\xe3\xe8\x64\x4d\xfe\x90\xf2\xab\x78\xbe\x65\xe4\x7b\x35\x4b\x97\x2e\x9a\x57\x60\x4d\xe8\xc7\x2f\xb5\x3a\xc8\x6d\xd3\x92\xdb\xfc\x2a\x5e\xc0\x53\xcb\x2c\x16\xae\xdc\x8a\xef\xf2\x90\xed\x93\xdf\x4b\xb4\x47\x0b\xa2\x45\x72\x66\x5a\xcb\x0d\xeb\xc7\x1b\x60\xd6\xf9\x03\x7c\xaf\x5b\xb7\x36\xbc\x68\x5d\xe9\x5e\x0f\x4f\x63\x4c\x64\x2b\xa3\x51\x7f\x74\x4c\x1a\x44\x95\x7d\xeb\xea\x4a\x48\xe7\x79\x8d\x6d\x0b\x61\xd1\x55\x8b\xb0\x49\xcf\x57\x52\x28\x61\xa7\x1b\xa2\xe1\xd8\x2c\x7f\x77\xa6\x6c\x06\x8b\x31\x10\x2d\x44\x66\xe5\x41\xa8\x3a\x8f\xe8\x62\x64\x23\xd8\x11\xae\x66\x38\x13\x90\x45\x41\x3b\x51\x73\xc8\x83\x06\xec\xb5\x6e\x60\x94\x66\xaa\x33\x0b\xb7\x03\xb7\x21\x28\xb6\xb0\x88\x3c\xe4\x9b\x81\x8a\xa0\x5e\x8b\xe9\xdc\x1d\x77\xa8\xc5\x0c\x3e\x02\xdc\x62\xee\x11\x82\x2d\xc6\x1e\x79\xf6\xca\x8b\x2f\xda\x65\x0d\x3c\x02\x36\xcf\xbc\x63\xb8\x9e\x1b\x15\x99\x10\x73\x83\x7e\x4c\x75\x98\x4f\x9d\x6b\x2c\x8a\x80\x69\xe5\x80\xd1\x95\x84\xed\xc8\x03\x94\x31\x56\x32\x31\xb3\xee\xa8\xed\x32\x99\x17\xc3\x8f\xab\x1e\x06\xc9\xdc\xd2\xbe\x4e\xb6\x49\x86\x1b\xda\xe2\xf3\xcf\x35\xfe\xc8\x46\xb0\xcc\x40\xed\x46\x00\x1f\xdb\xeb\xc9\xa4\xe3\xe8\x36\xb9\x7a\x42\x5d\x8b\x48\xd2\x43\x94\x31\x72\x27\x9a\x47\x5f\xc9\x70\x67\xec\x22\xbb\xe0\x3c\x17\x97\x02\xf8\x46\x51\xf8\x19\xc6\xe9\x4f\x2c\xf6\x38\x9a\x9d\x47\xfd\xa9\x17\x7b\xa3\x14\xc6\xec\xce\x5e\x75\x10\x26\xce\x5e\xba\x89\xcf\x14\x0e\x6b\xc7\x6f\x6a\xec\xbe\x20\xbc\x0a\xf6\x79\xc8\x73\x05\xc9\xd0\x6b\x0e\x21\x4b\x6f\x3b\x39\xc1\xaa\x17\x85\xe3\x9e\x9e\xb7\x29\x73\x53\x44\x56\x4b\x89\x9d\x66\x16\xba\x3d\xf7\x4c\x9b\x1e\x3d\x71\x7a\x41\x87\x3d\x75\x62\x53\x17\x5b\x36\x80\xd4\x2c\xcf\x95\x11\x93\x5c\xc8\x40\xf1\x1d\x31\x03\xcb\x30\x1c\x68\x92\xf3\x81\xdd\xe4\x64\x72\xb1\x26\xb4\x55\x7a\x0c\xc7\xe9\xcf\x81\x0f\x49\xcc\x98\xb6\x95\xc9\x9c\x50\xec\x75\x90\xd4\x60\xf7\x16\x84\xbc\x4b\x1d\x68\x89\x57\x08\x96\x18\x43\x7e\x26\x9a\x49\x45\xe8\x10\x7d\x45\xc5\x0c\x07\xdf\xdd\xd8\x60\x01\xf6\xa0\x45\x8e\x00\x0a\x78\xf9\xe8\x48\x3e\x54\x2a\x7e\x5e\x6b\x35\x07\x3b\xab\x58\x64\x01\x36\xe8\x50\x25\x27\x87\x61\xc2\x03\x35\xcd\x86\xa5\x8e\xec\x18\x7a\xc1\x80\x5e\x95\x9e\xcf\x9a\x54\x98\x1e\x23\x4c\x2c\x9e\x59\xba\xf3\x8f\x40\x13\xe9\x82\x93\x22\xe3\x05\x8e\x2e\x84\x26\x92\x08\x74\xfb\x38\x00\x97\xec\x51\x67\x9c\x20\x41\x28\x90\xa2\x39\x83\x73\x2f\xf6\xd2\x28\xb6\x88\x37\xb9\x52\xb4\xb9\xba\x19\x06\x02\x3b\xdd\x96\x1e\x8c\xc2\x03\xe2\x1a\x14\x9d\x0f\xc0\x39\x6f\x5c\xb0\xdc\x73\x6a\x15\xb4\xf4\x79\x55\x90\xb7\xd2\x94\x2b\xc2\x59\x3a\x23\x56\x73\xf8\x6a\xcd\x87\x58\x4c\xac\x80\x55\xb4\xcc\x6c\xb5\x29\x04\x3b\x1c\x9b\x6f\x21\x8b\xf1\x10\x84\x6e\x55\x54\xf2\x6b\xba\x64\xa8\xfa\x9d\x1e\xe8\xf3\x6b\x7d\xce\xe3\x35\x19\xaa\xbe\x12\xac\x9a\x54\xff\xaa\xc1\xa0\x44\x96\xa6\x7e\x16\xa3\x3e\x23\x46\x48\xd9\x67\x24\x15\x0e\x90\x93\x4e\x6d\x0b\x2c\xfd\xb7\x51\xec\x0b\x67\x57\x7c\x4f\x6c\x3b\xf6\x75\x5e\x3b\x5c\x88\xd0\x1a\x09\x4b\xce\x42\xcd\x07\xed\xf4\xcd\x79\xa7\x22\x81\x12\x7d\x41\x0b\xf3\x80\x1d\x17\xfc\x51\x5c\x90\x36\x16\xe4\x9b\x17\x67\x87\x1e\x3f\x79\xb3\x05\x4c\x4e\x49\xae\x75\xbf\x5a\x03\x6f\x80\xce\x2e\xb0\x0f\xaa\x86\xd2\x55\x13\x3b\x6a\x3a\x6f\x0b\xf0\xc6\xa0\x55\x64\x06\x4d\x3d\x29\x1e\x8f\xca\xa7\x12\xac\xdf\x08\xd0\x44\xf8\x30\xa6\xd5\x5f\xab\x4f\x8a\xe6\x8f\x0e\x39\x51\xd7\xbc\xd7\x8b\xdd\xbc\xd1\xdd\x12\x6a\x50\x4e\xaa\xac\x87\x59\x72\xc6\x0b\x95\xfc\x83\x67\x0f\x55\x39\x5d\x43\x43\xfc\x53\xcc\x3f\x63\x08\x76\xd7\xa1\x99\xf3\x9e\x68\x4c\xb3\xe4\x3f\x69\xff\xc5\x9e\x3e\x95\x83\xc1\x73\xde\xdd\xb4\x46\x8e\x6b\x03\x5f\xe0\xf5\x4d\x4b\x20\xa8\x22\x82\x58\x20\x96\x0b\xfd\xd0\xc4\xce\x70\xd0\xec\xbc\x07\xc5\x35\x8a\x5e\x04\xbb\xaf\x97\x0b\xc6\xb7\xca\xbd\xad\x83\x15\x83\x6b\x6c\x99\xe8\x49\x7e\xec\xa2\xf5\xc2\xe1\x82\x8e\x66\xa7\x6a\x70\xeb\xa6\xee\x73\x9d\x7f\x5f\xbf\x82\xe7\x06\x5e\x38\x50\x19\x6a\xbb\xf0\x8a\xad\x72\xd4\xb3\x4e\xdd\xbe\x1b\xdb\x1f\x11\x18\x9b\x33\xbc\x83\xd0\xff\xf6\x83\x6b\xd0\xa2\xfa\xd1\x15\x7e\xdb\xcc\x78\x6e\x86\x2d\xfb\x92\xb2\x91\x27\x05\x79\xb9\x5f\xed\xe2\x96\x2b\x09\xb9\x9c\xd0\x7c\x07\x58\xb7\x4d\xf3\x59\x75\xba\x67\x57\x3d\xb9\x0c\xb1\x42\xb4\x59\xfe\x5a\x6f\x59\xd0\xb0\x99\x00\x7b\x40\x24\xe9\x2a\xbf\xae\x7c\x7c\x9f\xc9\xf1\x77\xcd\x54\xac\x31\x42\x67\x86\x7d\x3e\x8b\x90\x9e\x76\x56\x5a\x17\x13\xbb\xe0\xb8\x5f\xcd\x15\x1d\x75\x6c\xea\x44\x09\x3f\x37\xf7\x4e\x8a\xe3\x6f\x5d\x91\x17\x44\xd1\x2f\x5f\xbf\x0a\xd1\xbb\x42\xac\xf8\x8b\x17\x59\xd0\xff\x6b\x39\x6e\x56\x33\xde\x94\xce\x16\x8a\x3d\xb0\xc8\xaa\xf1\x4e\x40\x13\x42\xb0\xd6\x01\x04\xa4\xf3\x92\x4a\xba\xf4\x73\x02\xa6\x62\x5f\x1e\x2c\x4f\x01\xa7\xdf\x84\x99\xef\xdb\xec\xe1\xa1\xa2\x98\x4a\x21\x20\x2e\x12\x88\xc1\xa1\x11\xc1\x19\x65\x23\x43\xaf\x69\xb9\xf1\xd3\x13\x45\xd8\x6c\x60\x24\x05\x6a\x9a\x45\xcd\xe6\x53\xab\xe7\x99\xb8\x58\xb4\x2c\x06\xee\xc6\x5f\xcc\xc0\x65\x07\xd1\x39\xa6\x2d\xab\x56\xcd\x12\x50\xf1\x84\xaf\x3c\x11\x37\xb9\xb6\x8a\xa1\x57\x07\x05\x92\x50\xa5\xba\x27\xb1\x60\x16\x5b\xac\x62\x05\xa9\x98\x77\x56\xcc\xa7\x99\x89\x0c\xa7\x09\x74\x04\x02\x55\x5b\x5b\x4a\x39\x65\xcc\x38\x45\xea\x11\x67\x9d\xd3\xe8\x96\x07\x85\xa8\xfe\x91\x33\x2f\x49\x4f\xe1\x28\x8a\x7d\xe8\xd3\xfb\x02\x9b\x2b\xa5\x58\x95\xf1\xd7\x0a\x37\x4b\xd7\x19\x56\x2b\xa4\x23\x3c\xc8\xed\x3e\x1c\x9d\xf1\xae\x99\x9f\xf5\xd6\x61\xc4\x30\x09\xfe\x09\x4b\xc3\x50\xd8\x6d\xf0\xbf\x96\x89\x8b\x42\x02\xd6\x0c\x32\x21\x8e\x5e\xd1\x22\x75\x39\x58\xcb\xc4\x51\x1f\xeb\xa6\xb4\x23\x62\xfc\xcb\x89\xcf\x34\x2a\x73\x43\x86\x59\xc3\xa5\x2b\x7d\x7f\x97\x0c\x50\x7f\xea\x85\x13\xc8\x97\x2f\x03\x04\x7e\xb1\xad\xca\x8c\x7e\x52\xaf\x42\xb5\x5e\xf7\x1a\xc4\xcf\x82\x5e\xb7\x33\x8c\x83\x47\x13\xe6\x06\x21\xcc\x03\x08\x56\x41\x65\x7e\x67\x78\xf9\x40\x16\x2c\xc9\x3f\xfc\x91\xd0\xf5\xa4\x10\x9f\xa5\x49\xa2\x8c\x81\x63\x36\xf1\xb1\x90\x4c\xf5\xfc\x81\x10\x93\xb5\x17\x1b\x21\xe7\x94\xce\x23\x21\x67\x98\xa6\x79\x4c\x7c\x69\xc0\x50\x70\xdc\x0c\x89\xae\x4d\x48\x5d\x84\xe5\xde\xe4\x67\xda\x57\x85\x6d\x9d\x86\x2f\xdd\x3a\xb5\xa6\xf5\x4e\x72\x0d\x30\xe8\x04\x59\x93\xe4\xab\x06\xab\x36\xd7\x45\x8a\xbc\xaa\xed\x78\xe8\xc1\xb1\x32\xd8\x21\x19\xdc\x76\xad\x1e\x11\x40\xf3\xa8\x2a\x3d\x27\xca\x45\xc5\x82\x9c\xd0\xaf\x32\x6a\xd1\x3a\xa5\x0c\xd8\x81\xeb\xa2\x04\x8f\xee\x39\xce\x27\x2e\xf7\x8f\x78\xbb\xbc\xcc\xd3\xca\x9c\x7a\x4d\xd8\x39\x64\xd4\x09\xfe\x97\x91\x65\xf6\xb6\x42\xcb\xe2\x62\xcb\x16\x51\xc5\x8f\x45\x0f\x8b\xbe\x15\x5e\xb4\x20\xd1\x90\x39\xe4\xac\x5b\x46\x43\xde\xa9\xf9\xc1\x78\x4c\xd2\x65\x92\x17\x0d\x0c\x8c\xb5\x99\x1a\x82\x43\x14\x82\x22\x05\x20\xbb\x3a\xfc\xf3\x14\x42\x57\x7f\x49\x04\x63\xc3\x87\xb3\xd4\xfb\xd5\x7c\x67\xea\x7e\x3f\xe3\x66\x31\x4b\x83\xf9\x2c\xc0\xc7\xd8\xad\x03\x23\x60\xee\xcc\x89\xa9\xc1\x76\x4e\xe3\xf0\xc3\xbb\xe1\xe1\xe0\xe4\xbc\x3b\x34\x39\xc5\x4a\x50\x73\x24\xcd\x30\x6b\x8b\x21\xfe\xd8\xfd\x7e\x09\xc4\xc6\xf5\xc1\xea\x55\x6a\x17\x99\xd5\x0e\xc8\x18\xff\x52\x40\x9c\xc1\x82\x9f\x2d\x81\xac\xd2\x63\x3c\xc6\x71\x3f\x8f\x16\xa3\x29\x3b\x91\xb6\x0d\x3e\x57\x6e\xb8\xf6\xaf\x00\x53\x94\xa2\xdf\x61\x72\xd1\xbc\x22\x5e\xe1\xa5\x30\x1a\x3c\xbf\xd5\xd9\xc5\x44\x4d\xc3\xbe\x66\xc7\x5e\x92\x58\x26\x7f\xcb\x49\x75\xfe\xb8\x11\xb8\x65\xc7\x89\xda\xe2\x8c\x79\xea\x76\x59\xd8\x41\x66\x55\xcc\x5b\x64\xce\x7f\xcb\xe6\x78\xf3\x51\x9b\x63\x3c\xab\x3d\xa4\x62\xbf\x3c\xfb\xdb\x4a\x63\xdd\x4b\x53\x6f\x34\xa5\xff\xac\xec\x83\xcd\xba\x5e\xdc\xf8\x2d\xd1\xbe\x20\xd0\xde\x04\x36\x7e\x4b\xa2\x70\x65\x1f\xb4\xb7\xc8\xd7\x71\x90\xa2\xff\x56\xf6\x81\x5c\x40\x40\x08\x65\x6a\xfb\x6d\xfa\x69\x31\x9b\x25\xa3\x18\xc2\x50\xf8\x75\x65\x1f\xb8\x3e\x37\x46\x09\x02\xde\xde\x71\xd5\xc1\xf8\x75\x28\x2a\x19\xbb\xa4\x06\x9d\xfe\x7e\xa4\x55\xd8\x53\x2b\xf0\xdf\x56\xf6\xc1\x8e\xf5\x23\xc1\xbf\xf3\xec\x41\x78\x8b\x82\x0e\x10\xb2\x26\xe1\x5d\x5a\x8d\xe1\xef\x68\x84\xfe\xc6\x76\x75\x86\xec\xee\x72\x8b\x53\x98\x44\xb3\xcf\x10\x37\xac\x1d\x38\x40\x8b\x15\x11\x06\xec\x0d\x89\xf6\x04\x37\xde\xfc\x22\x86\xbf\x5f\x1d\x3c\xfb\x5b\x30\xae\x3e\xaf\x06\x3e\xf1\x25\x01\xeb\xeb\xe4\xa5\x0c\xec\x3d\x19\x2e\x6e\xae\x61\x0c\xa2\x18\x90\xfc\x40\xcf\xfe\xf6\xb7\x74\x1a\x47\xb7\x38\x33\xf4\x20\x8e\xa3\xb8\xba\xd2\xf7\xc2\x30\x4a\xc1\x38\x08\x7d\x40\x64\x11\x54\x56\xc0\x2a\x88\xe1\xef\x60\x15\xac\x54\x1a\x2b\xb5\x03\xde\xb5\xc0\xc7\xd4\xca\x44\x36\x3e\xc1\x7b\x29\x7a\x57\xfe\xfc\x03\xbc\x4f\xaa\x22\x7f\xe8\xb1\x0e\x6a\x55\xbd\xf1\xe6\x35\x13\xc8\x98\x74\x1c\x74\xcc\x0c\x39\x78\x46\x48\x6d\xd0\x59\xa3\xd5\xd3\x00\x62\xae\xb5\x37\x0f\xd4\x39\xb9\x55\x60\x4e\xe2\xe9\xa7\x21\xfc\xb2\x12\x7a\x37\x70\x65\x9f\xbc\xda\xd9\xa0\xf3\xb0\xbe\x72\xe3\x05\xe1\xca\xfe\x4a\x36\x01\xeb\x2b\xf3\x38\xf8\xec\xa5\x70\x65\x1f\x59\x07\x0f\x2a\x09\xdb\x4f\x45\x02\x9a\xbe\x1c\x3f\x9d\xba\x79\xc8\x77\x8a\x22\xd7\x04\x87\x9c\xbc\x81\xb9\x17\x27\x10\x8c\xbd\x60\x06\xfd\x7d\xb0\x3e\x8d\x6e\xe0\xfa\xfd\xc2\xf7\x82\x75\x2f\x1e\x4d\x83\xcf\x70\x7d\x1e\x47\xfe\x62\x94\x26\xeb\xed\x66\x6b\x6b\x7d\x12\xa5\xe9\xfd\x7a\x12\x8f\xd6\x27\x41\x3a\x5d\x5c\x37\x46\xd1\x0d\x6d\x40\x3e\xfd\x96\xac\x87\x91\x0f\x87\x84\x88\x64\x1d\xf7\x6d\x7d\x16\x5c\xaf\x7b\xbe\x1f\x85\x89\x5d\x95\x80\x1f\x43\x78\x37\x87\xa3\x14\xfa\x20\x8d\x3e\xc1\x10\x54\x5b\xfb\xcd\xda\x65\xf8\x6b\xb4\x00\x37\xde\x3d\x4e\xac\x03\xbc\x10\x78\xf3\x79\x1c\xcd\xe3\xc0\x4b\x21\x98\x45\x9e\x0f\x63\x90\x46\x60\xea\x85\xfe\x0c\xe2\x75\x06\x8c\x03\xf4\x1b\x5a\x41\x2f\xc3\xaf\xa0\x41\xf9\xcb\xb1\x81\x2f\xa8\x18\xfd\xcc\xa9\x67\xc7\x3e\x18\x07\x77\xd0\x3f\x60\xe5\x69\x34\xdf\x07\xcd\x03\x34\x79\x14\x8e\xef\x3e\xd9\x70\x67\x6a\x36\x1b\x75\x49\x6f\xe6\x0d\xfe\xde\x53\x91\x92\xa9\x52\x4e\x89\xa4\x40\x73\x08\xd9\x68\xfe\x85\x8e\x8d\xb9\x1a\x9b\xc7\x70\xee\xc5\x38\xc5\xe7\x51\x14\x9f\x53\xbb\xb2\x8a\xd4\x49\x1d\x08\xe9\x32\x99\x09\x83\x1f\xe9\xd4\x8b\x05\x1b\x83\xaa\x36\x92\xb0\x73\xfd\x32\x7e\x73\x19\xae\x4f\xea\xa0\x72\x19\x57\xa4\xe3\x3e\xa1\xfa\xc1\xb3\x07\x6e\x8a\x98\x09\x02\x1d\x0b\xa5\xe2\xe3\x49\xd1\xfc\xfe\x2d\x16\xef\xb8\x0a\x3f\xd7\xf1\xf1\x73\x3d\xcb\x5c\x46\xbd\x56\xc4\x8e\xe0\x61\xbd\x16\x72\x83\x1e\x4b\x36\x39\xcd\xc3\x36\x9a\x05\xf3\xeb\xc8\x8b\xfd\x43\x2f\xf5\x1a\x09\x4c\xd1\xbf\xd5\x0a\x22\xa4\xa2\xc3\x37\xe6\x2b\x23\x3d\x56\xf6\xd9\xf0\xb3\x0d\x34\xe2\xc9\xfa\x7c\xe6\x05\x61\x49\x04\x26\x5b\x30\x63\xad\xc0\x20\xec\x77\xcc\xff\x12\xe5\xc1\x4b\x52\xa8\x72\x91\x31\x05\x7e\x6e\x24\x69\x34\x47\xe2\xe6\x4d\x3c\xf1\x1e\x89\x24\x5b\xba\x13\xde\x9e\x42\x1b\x4a\x2f\x1d\x4d\x3f\x22\x80\x92\x59\x8e\xea\x49\x3b\x01\x92\x52\xce\x29\x89\xda\x48\x31\xf9\x13\x6c\x74\x54\x65\x4a\x29\x4f\xe5\x5c\x71\x74\xfe\xde\xa5\x5e\x0c\xbd\x06\x9e\x0c\x4a\xae\x4f\x5c\x83\xa4\x72\xc3\x2c\xa8\xd4\x81\x02\x83\xcb\x6b\x7c\xd3\x18\x79\xe1\x08\xce\xd0\x06\x43\xb2\xb5\x0b\xc8\x14\xaa\x62\x92\x2b\xed\x08\x82\x30\xc5\x28\x82\x13\x49\x04\x95\x43\x15\x89\xef\x2a\x1f\x1e\xec\xd2\x48\xb7\xae\x45\x88\xd2\x04\x77\x62\x10\xdc\x65\xc8\x12\xb4\x80\x20\x86\x48\x36\x84\x3f\x05\x61\xbd\x89\x3e\x63\x79\xe9\xc6\xd0\xfb\x31\xf4\x61\x4c\x02\xd8\x17\x71\x12\x31\xe1\x25\x43\xce\x3a\xc2\x45\x80\x9c\x5e\xce\x33\x9f\xca\x0a\x5e\xd9\xf8\x63\x67\x52\x35\xf6\x78\x5c\xa5\xdd\xe4\x27\x95\x4a\x15\x7e\x0e\xea\xa8\x43\x1f\xb5\xa3\x5c\x86\x61\xfa\x0b\x58\x03\xad\xa6\x7c\x02\xaa\xb4\x21\x8f\xea\x65\x4d\x7e\xcd\x6f\xf2\x4f\x16\x55\x52\x69\x35\x9b\x4d\xb5\xce\x38\x1a\x2d\x78\x3c\x94\xed\xea\x46\x9a\x9a\x66\x7e\x29\x6e\x64\x66\x86\x39\x2b\x71\x96\x39\x6b\x51\xa6\x39\xeb\x10\x26\x39\xab\x70\xa6\x08\xd9\x64\xea\x60\x53\x52\x8f\x2e\x69\x42\xbb\x11\xc7\x67\x41\x26\xb1\x9b\x35\xce\xa1\x20\x6b\x51\x42\x8e\x7d\x3d\x2a\x2e\xcb\xca\x88\x32\x6d\xe6\x5e\x27\x54\x51\xc1\xdf\xe4\xe5\x41\xa3\x1c\x74\xf4\xde\xd8\x8e\x05\xfa\x4c\x21\x58\xce\x05\x36\xfe\xf3\x2a\xde\x7f\x5e\xc5\xfb\xd3\x5e\xc5\x93\x9c\xa3\x7f\x4b\x72\x9f\xb3\xeb\x4b\xce\x04\x05\x5e\x03\xeb\x8b\x99\x3c\xcd\x0f\x81\x09\x55\xf8\xab\xb3\x75\x40\x1e\x69\x37\xbc\x8a\xbf\xdc\x5b\x5f\xc2\xe3\xa0\xbe\xf4\x1c\xa8\x50\x47\x42\x89\x17\x57\xe1\x6f\xcd\xde\xd1\xde\xaf\x32\x0f\x87\xd0\x3b\xc9\xfd\x13\x2f\x05\x65\x5c\x3e\x45\x87\xb9\xe1\x6d\xf6\xd0\x27\xf8\xa6\x0e\xac\x36\xf2\xc9\x22\xb5\x34\xfd\xea\xb5\xea\x53\x74\xc0\x48\x6a\xe3\x86\x4b\x6b\xd9\xfc\x7f\x42\xee\x6a\x0a\xc4\x20\x8d\x20\x8b\x5f\x90\xea\xf0\x98\x85\x22\xaf\xcc\xba\x00\x19\x2c\x32\xef\x3a\x89\x66\x8b\x14\x56\x0a\xb7\x26\x86\x40\xa5\x59\xbc\x05\x35\x2f\x2a\x6b\x7b\x7b\x7b\x7b\xf0\xa6\x48\x43\xb4\x86\xe2\x03\x37\xdc\xfb\xca\xcf\x85\x90\xc1\xb4\x9b\xa6\x71\x70\xbd\x48\x61\xb5\xe2\xc5\x81\xb7\x36\x0d\x7c\x1f\xa2\xfd\x5d\x05\x8d\xb0\x99\x45\xd2\xcc\x34\x3c\x9c\xad\x8c\x97\x0c\xa2\x98\x5f\xce\xd0\x8f\x98\x52\x92\x7d\x72\x40\xde\x15\xb1\xde\x5c\xb5\xe7\x5d\xf2\x9a\x35\x74\x8a\xec\x04\x46\x37\x30\x8d\xef\xb3\xdc\x3c\x32\x63\x27\x30\xed\x45\x8b\xd0\x0f\xc2\x49\x1f\x1b\xc8\xa7\xd4\xac\x11\xa5\x9b\x01\x61\x76\x69\xa7\x03\x9a\x48\x83\xf2\x72\x66\x8a\x96\xbb\xab\xc9\x12\x3e\x10\xb8\xcf\x3b\x1d\xa0\xa0\xe2\xf9\xaa\x84\xab\x73\x05\xab\x79\x96\x31\x0b\x5a\x86\x67\x92\x11\x6e\x46\x2b\x70\x0d\x75\xc9\xf6\x76\x34\xf5\xe2\x24\xf8\x27\x1c\x11\x3f\x98\x8a\x6d\xdc\xa8\x98\xf4\x45\x4f\x3a\x25\xcc\x08\xad\xa4\xd6\x48\x23\x79\x0d\x95\xc0\x58\x4c\x48\x41\x50\x2c\x46\xe4\x93\x86\x16\xfd\xc7\x88\xfc\x8f\x11\xb9\xb4\x11\x99\x6b\x41\x06\xf1\x68\x31\xf3\xe2\x93\x20\x49\x0b\x9a\x90\x42\x0b\xab\x0d\x29\xd4\xa9\xde\x78\x77\x7a\x84\xc5\x72\x66\xa3\x87\x05\x8f\x3c\xa6\x8a\x85\x50\x00\xae\x55\x96\x52\x57\xe8\x6f\xa5\xce\x0c\xbe\xb2\x25\x6d\x49\xa1\x97\x92\x35\xc6\x89\x5a\xda\x20\xc3\x1d\xd5\xfc\xb2\x04\xb3\x2c\x91\x81\x85\xf0\xf6\x9d\x89\xcd\x20\x73\xd7\xe9\x6a\xbc\x93\x1a\xc9\x7a\xd8\xf4\xf4\x0f\x8f\xe6\x16\xdb\x51\xd7\x5b\xea\x8b\x66\x7d\x64\x8e\xe1\xbf\x08\xb2\xb4\x5d\xb8\x8f\x34\x08\x6a\x02\xd3\xfe\xfd\x68\x16\x8c\x48\x5a\x92\xa0\x96\x9f\xad\x47\x14\x06\x0c\xdb\xb4\xea\xd8\x64\xe0\x1b\x5a\xe8\x36\xa1\x98\x3d\x4e\x22\x4a\xc9\x82\x59\x10\xc8\xbb\x14\xf4\x23\x78\x2d\x01\x36\x0d\x9a\x24\x04\x12\x15\x58\x1e\x38\x28\xeb\xa8\x2b\x63\x45\x06\x7f\x11\x12\x8e\xf9\xba\xa3\xa8\x2b\x40\x49\x99\xb4\x19\xf2\x3f\x73\x4c\xc7\x51\x3c\xc0\x17\xcd\xc5\x07\xd5\xbe\xc1\x01\xa6\xf5\x0c\x29\xc5\x6b\x6f\xf4\x69\xac\x3d\x77\xc3\x80\x05\x7a\xba\x42\xa0\x26\x62\x18\x0a\x93\x54\xaf\x9a\x8d\x33\x5e\x2e\xd0\x74\x1f\xe2\x7c\x1a\x6c\x74\x87\x2d\xfb\xf8\x66\x04\x56\x09\x16\xfc\x62\xe4\xb0\x55\xab\xa3\x76\xf9\xcf\xf1\x3d\xf1\xa6\xd3\x38\x52\x88\x26\xf9\xed\x24\x92\x29\x48\xbf\x13\xcc\x55\x4c\xb8\xa1\x9c\x26\xc0\x82\x33\x31\xe1\xac\x93\x15\x5b\x8f\xd2\xce\xc7\x09\x3a\xa4\x6d\x11\xdc\xf3\x85\x12\x8c\x50\x1e\xab\xa4\x1c\x14\xe4\x40\xda\x55\x30\x29\x63\xee\xb6\xc6\xf5\x1e\x18\x54\xb2\x9a\x90\x24\x03\x29\xaa\xed\x5c\xb0\x26\xd0\x79\x29\x3c\x85\x7d\x06\x7d\xec\xb9\x55\x6e\x3f\x49\x3a\x2d\xf6\xe0\xa1\xc8\xb8\x44\x73\xeb\x36\xb2\xa8\x08\x8a\xf8\xd7\xd6\x70\x3e\xa0\x62\xf2\x38\x9f\x05\x23\x79\x17\x4b\x53\x8b\xf8\x70\x06\x53\xd8\x37\xbd\x7e\x14\xa4\xf0\x26\x51\xde\xbb\xe5\xea\x62\x88\x54\x4f\xfb\x00\xfd\xfb\x0a\x78\xf1\x04\x1f\xac\x70\x35\x03\x86\x86\x55\x01\xc3\xbb\x18\x06\x60\x0d\xb4\x91\x50\xf1\x56\x17\x43\x31\x31\x9c\xbc\x79\xb5\xd0\x07\x8c\xef\xdf\x92\xb5\x49\x92\xcc\x35\xb1\x87\xd6\xc5\xaa\x88\x51\x52\xc8\x76\x01\xab\x12\x47\x0b\x58\x32\x8c\xce\x8e\x44\xa8\x85\x1b\x64\x48\x5e\xbc\x20\xbc\xb4\x44\x01\x58\x97\x6e\xfa\x14\x30\x78\x9d\xb1\x6b\x6d\x6d\x39\x76\x80\x55\x99\x84\xa7\xb0\xec\x4c\x76\xa7\x88\x64\xf9\xd1\x63\x19\x60\xc8\x28\x12\x39\x54\x73\x11\x5a\xa2\xc5\x19\xeb\xe4\xfe\x32\x03\xca\xa9\x97\x48\x2a\xf6\x45\x98\x9e\x47\x34\xe6\xd7\x05\xb2\xc6\xfc\xdd\x39\x4c\x7d\xf9\xd4\x34\xdd\x6a\x47\xc4\x60\x6b\x30\x93\xe2\x3f\xf2\xe0\x4b\x9a\x51\x80\x9e\xff\x72\x8d\x6d\x64\x58\x7f\x3b\xf2\x70\x5a\xc0\x15\xd1\xa5\x88\x3a\xdd\x79\x7b\x64\x8a\xa3\x1e\xd1\xec\xa6\x2e\x83\x77\x24\xa5\x33\xd6\xac\xed\x67\xb9\xfc\x57\xbc\xb0\x85\x49\x6d\xfa\xac\x73\xb8\x56\x48\x89\x4f\x83\x31\x3b\x68\x4d\x4c\xba\x7c\x44\x12\xbf\xd2\xe7\xaa\x8c\x7c\x78\x55\xfa\xf4\x90\xcc\x9d\x57\xe4\x34\x92\xfc\xf1\xba\xe3\xe4\xa6\xea\xa0\x58\x21\xad\x98\xba\x07\xd1\x22\x05\xd1\x18\xc4\x5e\x38\x81\xfa\xc9\x9e\x8c\x77\x95\x3f\x61\x66\x8a\xd5\x56\xf0\x50\x0f\x5a\xcc\x27\x00\x19\xa3\x82\x10\xcc\x82\x24\x05\xd7\xf0\x3e\x0a\x7d\x80\x2d\x2a\xd0\xb4\x23\xe6\x6f\x9d\x69\x08\x25\x05\x45\xf8\x99\x69\xd4\xa6\x5b\x9b\x26\xec\xa5\x77\x34\xed\x79\xb7\xe8\x0e\x7a\x22\x7e\x54\x9f\x79\xd7\xe3\x13\xe1\xdd\xdc\x0b\x7d\x24\x1d\x3d\xb4\x07\xe6\x4d\x47\x34\x61\x1a\x13\x80\x35\x8b\x40\xb3\x9e\x4a\x70\x9c\xf9\x7f\xb3\x19\x2c\xb6\xd1\x15\x08\xcd\xcd\x27\x35\x2a\xa2\x2a\x55\x4c\xa6\xec\x80\xa0\x80\x15\x29\xd5\xb3\x9a\x78\x66\xce\x16\xcc\x9e\x69\x5a\xa5\x46\xf9\xc6\xc5\x53\x8c\x7f\x11\xcd\xa8\x2c\x7d\x85\x76\x3e\xba\xe1\xbd\x0a\x68\xdd\x7f\x18\xd7\x0c\xe5\xf4\x5d\xa0\xa4\x44\x96\x2f\xe5\xf4\x51\x86\x62\x39\x7d\x17\xfb\x6c\x39\x7e\xff\xab\x25\x3e\x38\x8c\x6e\xa8\xce\x26\xc0\x3e\x46\x51\x5e\x7e\x2f\x53\x93\x2a\x1a\x5d\x6d\x13\x47\x4f\x97\xd1\x3f\xea\x12\xe4\xf8\x34\x27\x24\x5c\x68\x79\xdf\x82\xf0\xc7\x04\x35\xfa\xf2\x20\x1e\x80\x9a\xc8\x11\xd3\xb7\x8c\x30\x03\x9d\x57\x64\x50\xbd\xb8\xcf\xec\x2b\x44\x4c\x43\xd8\x46\x6a\x5a\x08\x2a\xb7\xb8\xe4\x98\xfd\x3d\xbc\x2d\x1c\x28\xaa\x42\xc0\x28\xe7\xd1\xdc\x0c\x40\x60\xc5\x05\xcc\xae\xf0\xb2\xbb\x51\x23\x3f\x3e\xf4\xfe\x7b\xd0\x3f\x1f\x1e\x1f\x0e\xbb\xe7\xe7\xa7\xc7\xbd\x1f\xcf\x07\xd8\xd8\xd4\x7a\x4e\x27\x8d\x54\x4e\xd9\x9d\xc3\xe8\x18\xce\xa0\x97\x28\xe1\x63\xfa\x35\xb8\x70\x57\xfe\x24\x9d\xc8\x5f\x76\xa3\xc5\xcc\x07\x68\xe5\x65\x14\x7a\xbc\x7f\xb8\xf8\x1e\xa6\x80\x4a\x89\xe1\x2a\x0f\xfd\x90\xad\xcf\x53\xb2\x5e\x15\xed\xd1\x0c\x7a\x21\x7f\x9d\x55\xbb\x8c\x16\x05\x63\x91\x4c\x95\x1a\xc5\xc6\x27\x93\xcc\x22\x73\x41\xf0\x7e\x51\xfc\x11\xb2\xf9\xab\x84\xc7\xe2\xd0\x19\x23\x11\xc3\x08\xff\xae\x25\x94\x85\xa6\xbb\xfd\xa2\x4c\xac\x83\xc0\x6f\xa4\x2c\x03\x79\xab\x69\x78\xfe\x66\x09\x29\x96\x46\x22\x4f\x96\x19\xfd\xa3\x99\x97\x24\xef\xc9\xf3\xd6\xa2\x47\x34\xfb\x1e\x84\x21\x8c\xdf\x9e\xbf\x3b\x11\xbe\xcb\x8b\x94\x89\x2a\x16\x61\x58\x94\x21\x08\xb8\xef\xa5\xde\x5a\x74\xfd\xdb\x5a\xe0\x57\x2c\x2d\xc5\xc1\x20\x67\x51\x6c\xc9\xb3\xac\x05\x66\xda\xcc\x4b\xa0\x11\xa3\x65\x29\x7c\x5c\x98\xe3\x37\x0a\xe6\x18\x91\xcc\x0f\x49\xd5\x8b\xe3\x3a\x80\x3c\x69\x25\x1d\x27\x2f\x8e\x79\x62\x54\xf4\x91\xa4\x45\x15\xe3\x03\x48\x73\x6c\x81\x93\x5f\x0f\x9e\xd9\x98\xf5\x3d\x0c\x61\x1c\x8c\x74\xfe\xe0\x5f\xf0\xef\x57\xb5\x03\x73\xdb\xeb\x45\xe8\xcf\xd8\x25\xff\xff\x17\x00\x00\xff\xff\x8b\x4c\x2a\x79\x35\xcd\x0b\x00") func staticJsBundleJsBytes() ([]byte, error) { return bindataRead( @@ -189,27 +188,7 @@ func staticJsBundleJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/js/bundle.js", size: 214874, mode: os.FileMode(436), modTime: time.Unix(1503301076, 0)} - a := &asset{bytes: bytes, info: info} - return a, nil -} - -var _staticJsHtermJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x7b\x77\x1b\x37\x92\x38\xfa\xbf\x3f\x05\xa2\xc9\x86\xa4\x4d\xf1\xa5\xb7\x1d\x25\x4b\x5b\x56\xc6\x7b\x1c\x27\xd7\x76\x66\x7e\x7b\x64\x8d\x17\xec\x06\x49\x44\xcd\x6e\x06\x00\x25\x31\x89\xe6\xb3\xdf\x53\x85\x37\xba\x49\x2a\xb3\xbb\xbf\x7d\xdc\x6b\x45\x0c\xd5\x5d\x8d\x2e\x14\xea\x8d\x02\xd0\xef\x93\x8f\x73\x2e\xc9\x94\x17\x8c\xdc\x51\x49\x66\xac\x64\x82\x2a\x96\x93\xc9\x9a\x14\x7c\x92\x57\xaa\x3f\xe1\x65\x3f\xab\xca\x8c\xaa\x9e\x9c\xf7\x9e\xf4\xfb\xe4\x8d\x22\x73\x2a\xc9\x84\xb1\x92\x2c\xa8\xb8\x61\x39\x11\x8c\xe6\xfb\x55\x59\xac\xc9\xb4\x12\x64\x5d\xad\x04\x91\x74\xca\xd4\xba\x47\xc8\x7b\xaa\xe6\x4c\xc0\x83\x6a\x4e\x4b\xc2\x72\xae\x08\x57\x24\xe7\x82\x65\xaa\x58\x77\xc9\xb2\x60\x54\x32\xb2\xa8\x72\x3e\x5d\x93\xaa\x64\xa4\x9a\x12\x35\x67\x92\x11\x59\xad\x44\xc6\xe0\x59\xc0\x51\xf6\x7a\x80\x00\xfc\x69\x90\xfb\x59\xf6\x0b\x3e\xe9\xfd\x2c\x6b\xd7\x3e\x2f\xab\x62\x3d\xe5\x45\xd1\x78\x33\xab\x8a\x4a\xc8\xc6\x5b\xd3\xc6\xab\x0b\x26\x25\x9d\xb1\xcf\x0b\x5a\xd2\x19\x13\xcd\x6f\x14\x6c\xca\x04\x2b\xb3\xed\x60\x82\xe9\x5e\x35\xde\x94\xaa\x12\x74\xb6\xf5\xde\xe7\x6c\x2e\xaa\xc5\x76\x90\xa2\xca\x68\x73\xcf\x2d\xc4\x82\x2d\x2a\xb1\x6e\x04\x51\x4c\xaa\xad\x3d\x58\xa9\xe9\x69\x7c\x43\xcd\xb9\xc8\x3f\x2f\xa9\x50\xeb\xfe\x5d\x76\xc7\x73\x35\x47\xc8\xbb\xcc\xc0\xcd\x15\x13\x0b\x78\x1e\xbf\x34\x5e\xfc\x3c\x15\xd4\x75\x2b\xb9\x75\xc3\xd6\x93\x8a\x8a\x7c\xfb\xdd\xcf\x13\x5e\xe6\xbc\x9c\xc9\x1d\x60\x37\x6c\xbd\xa0\xcb\xdd\x40\x4b\xaa\x14\x13\x65\x33\x60\xb5\x54\xbc\x2a\x37\xbc\x6a\x49\x85\x74\xc4\x6b\xbc\xf7\x99\xe7\xac\x54\x7c\xca\x99\xd8\xd4\xc6\x26\x76\x4a\xe1\x56\x13\xb9\x9a\x34\xdf\x93\x99\x60\x6c\x43\x07\x64\x26\xaa\xa2\x58\x56\x42\x35\xdf\x87\x0f\x5e\x3a\x36\xda\x70\xf7\x33\xaf\x36\x01\xdc\xab\xcf\x54\x29\xc1\x27\x2b\xc5\x36\xf4\xf1\x76\xc3\xbb\x6f\xd5\xe7\x6c\x4e\x05\xcd\x14\x13\x9f\xdd\x58\x3d\x01\xc8\x0f\x3f\xfc\xf4\xfe\xd5\x6b\x72\xf9\xe6\xed\xeb\xe7\x8d\x6a\xe0\x55\xb5\x5c\x0b\x3e\x9b\x2b\xd2\xce\x3a\x64\x34\x18\x8e\xc8\xc7\x39\x23\xaf\x40\x6a\xf8\x6a\x41\x7e\xf8\x40\xc6\x2b\x35\x07\xf9\x27\xe3\xa2\x20\x08\x2b\x89\x60\x92\x89\x5b\x96\xa3\x8a\xfb\x49\x1a\x25\xc4\xa5\xd1\x41\x24\xab\x72\x46\xb8\x24\xb3\xea\x96\x89\x52\xab\x48\x4a\x5e\x7e\xb8\xd8\x97\x6a\x5d\x30\x52\xf0\x8c\x95\x92\x81\x92\x53\x24\xa3\x25\x99\x68\xbd\x55\xad\xca\x9c\xf0\x12\x14\x1a\x79\xfb\xe6\xd5\xeb\x77\x1f\x5e\xa3\x32\xeb\x3d\x79\xd2\x5a\x81\x8a\x53\x82\x67\xaa\xf5\xe2\xc9\x13\x3e\x25\x6d\xb5\x5e\xb2\x6a\x0a\xfd\x22\x5f\x9c\x93\xd6\xaa\xcc\xd9\x94\x97\x2c\x6f\x75\x9e\x10\xa2\xe6\xa2\xba\x23\x25\xbb\x23\xaf\x85\xa8\x44\xbb\xf5\x5d\x51\x4d\x68\x41\xf6\x0a\x3e\xd9\x23\xd5\xe4\x67\x96\x29\x42\x0b\x50\xc6\x6b\xc2\xee\xb9\x54\xb2\xd7\xea\xbc\x78\xf2\xe4\x96\x0a\x6c\xf2\x9c\xfc\xf6\xf0\xe2\xc9\x93\xfe\xd3\xa7\x4f\xc8\x53\xf2\x3d\x5d\x42\x27\xf7\x72\xb6\x64\x65\xce\xca\x6c\xbd\x47\x54\x45\xae\xf6\x74\x8f\xf7\xba\xa4\xd7\xeb\x5d\xf7\x9e\x10\x84\x7e\x4d\xb3\x39\xf1\xa0\x40\x0a\x6a\xdf\x59\xd2\x05\xeb\x92\x82\xdf\x30\xc4\xa5\x37\x95\x7b\x5d\x62\x9b\x01\x48\xe8\xfc\x4a\x14\x48\x1c\x68\x4c\xb7\x23\x49\xa5\xe9\xa2\x9b\x81\x37\xf5\x9f\xc0\xf3\x62\x55\x2a\xbe\x60\x17\xf6\x6d\x9c\xc9\xcf\x09\xf2\x6f\xb9\x54\x80\xfd\x74\x55\x66\x28\x88\x9a\xf0\x25\x63\x39\x74\x62\xc2\x08\x2f\x6f\x2b\xb0\x4d\xf9\x4a\xf0\x72\x06\xfd\x17\x54\xac\x09\x2f\xb9\xe2\xb4\xe0\xbf\x52\x78\x2c\xea\x1d\x2b\xd8\x82\x95\xca\x8e\x16\x40\xbe\xa2\x45\x31\xa1\xd9\x8d\xfc\x4c\xa8\x10\x14\xbb\xcd\x95\x64\xc5\x94\x50\xa2\xee\xaa\x7d\xfb\x0c\xde\xed\x61\x53\xe6\xca\x40\x93\x48\xce\x2b\xa1\x70\x94\xcb\x19\xc9\x99\xcc\x04\x9f\xc0\x57\xec\xf7\x5d\xc9\x84\xb1\x76\xf8\x3a\x22\xaa\x95\xe2\x25\xeb\x92\x95\x64\xd3\x55\x01\xed\x81\x45\xcd\xd9\x64\x35\x9b\xf1\x72\xd6\x23\xae\xfd\xa1\x25\x6c\x66\x70\x74\xb4\xf0\x84\x4c\xba\x70\x4e\xae\xae\x3d\x09\xdf\xb3\xac\x12\x39\xe0\x68\xe8\x1d\x0c\xaf\xa5\x0b\xfa\x07\x9a\x9b\x0d\x4a\xe4\x6e\xce\x4a\x30\xf1\xe4\x8e\x96\x0a\x68\xcd\xee\x97\x82\x49\xd3\xce\x7e\xd2\x10\xd1\x03\x9e\x55\x8b\x25\x78\x19\x70\xb7\x47\xc0\x85\xe0\x92\x94\x15\xd0\x5a\x01\xa4\x1d\x34\x4a\xa6\xab\xa2\xd8\x9f\x16\x2c\x9f\xb1\xdc\x0d\x9a\x5c\x4b\xc5\x16\xa4\x12\x9e\x79\xb0\x71\x25\x68\x76\xc3\x04\xb6\xd8\x92\xe4\xe7\x95\x54\x40\x12\xc1\xa0\xb9\x05\xbd\x61\xe0\x69\x2c\x2b\x29\xf9\xa4\xc0\x6b\x48\x48\x00\x31\x0d\x49\x72\xc7\xd5\xbc\x5a\x29\xc0\xbd\x84\x71\xa1\x45\xa1\xa9\x5a\xe5\xcc\x52\xe1\x07\xcf\xe6\x92\x50\xc1\x88\x5c\xb2\x0c\x74\x77\x4e\xa8\x34\x63\x2b\x7b\x84\x5c\x56\x82\xb0\x7b\xba\x58\x16\x0c\x5c\x15\xfd\x30\xfc\x43\xa6\x56\x39\x5b\xb6\x5b\xf0\x55\xbb\x1f\xad\x2e\xc1\xbf\x7e\x74\x8a\xfe\x7b\xad\xe7\x41\x66\x1b\x5e\x8c\xbc\x0d\x34\x9b\x30\x22\xaa\xca\xb8\x69\xd0\x44\xab\x47\xc8\xbf\x56\x2b\xb2\xa0\x6b\x18\x25\xad\xb7\xb0\xb7\x59\x01\xe8\xd2\x84\x6c\x55\x49\x68\xb9\x0e\xc4\x4e\x0f\x35\x23\x59\xc1\x81\xb5\x96\xa2\x9a\x09\xba\xc0\xf6\x80\xbb\x10\x7f\x56\xca\x95\x60\xef\xeb\xa2\xd9\xee\x10\x0a\x1c\x4e\x85\x5a\x2d\x09\x2f\xa1\xb1\x4a\xe4\x4c\x20\x73\xe0\x53\x5a\x38\xa1\xa5\x1a\xab\x71\x26\xc9\x9c\xde\x32\xe3\x4f\x32\x87\xcf\x3f\x2f\x29\xe0\xf0\x9b\x26\xef\x03\xb9\xa5\xe2\x33\x15\x33\x49\x7e\x00\x0f\x51\x90\x45\x25\xac\xe6\x90\xcd\x03\xe2\xf5\x09\x90\x9e\x9c\x3b\x01\x69\xdb\xb6\x3a\xe4\xb7\x27\x04\x5a\x36\x5a\xfe\xc5\x13\x50\xb3\x62\x8d\x97\xeb\x0a\x17\xc6\x85\x3c\x90\x8c\xaa\x6c\x4e\xda\xec\xbe\x63\xe0\xb0\x01\x45\xb3\x9b\x31\xea\x88\x73\xc2\xee\x7b\xf8\x77\x4f\x2e\x0b\xae\xda\xad\x4f\x25\x8e\x29\x21\x04\xfc\xe7\x92\x7c\xa0\x53\x2a\x78\x17\x19\x4d\x30\xb9\x2a\x14\xb0\x5e\xd0\xc4\x1d\x2f\x0a\x82\x0e\x35\xd2\x66\x64\x75\x93\x24\xb4\xcc\x35\xff\xea\xc6\xc0\xe3\xb9\xe5\xf9\x8a\x16\xb6\xdb\xc8\xa0\xd3\x4a\x2c\xc0\x7b\xc9\x49\xce\xa7\xc8\x5d\xaa\x00\xa1\x26\x84\x80\x99\xf1\x6f\xea\x15\xac\x9c\xa9\x39\xf9\xe6\x9c\x1c\xd8\xee\x10\x6b\xf3\xce\x03\x94\xae\x46\xd7\x3d\xc1\x96\x05\xcd\x58\xbb\xff\xb7\x4f\xf2\x29\x55\x9f\xe4\xb3\x7e\x97\xb4\x6c\xd7\x1e\x08\x2b\x24\xdb\xda\xc6\x30\x69\x63\xa6\x0d\x18\xc8\xda\x3f\x47\x4d\x01\x9d\x61\x2c\x40\xf9\xc1\x68\x11\x4e\xce\xc9\xe0\x05\xe1\xe4\x6b\x42\xc5\x6c\x85\xb4\x30\xb8\xbf\x20\xfc\xd9\xb3\x70\x28\x96\x54\xcd\xc9\xb9\x87\xbb\xe2\xd7\x2f\x5c\xd7\xf1\x26\x2f\xa5\xa2\x65\x06\xa6\x16\x11\xf3\x3d\x77\xec\xd2\xa3\xcb\x65\xb1\x6e\x17\x7c\xd2\xc5\x06\x9b\x3b\x09\xaf\x03\x05\x75\x8e\x32\xd7\x68\xb8\xae\xe0\x69\x83\x80\x46\xe1\x0b\x2a\xd6\x1d\xf3\x37\x79\xdc\xe3\x46\x75\xbb\x27\x7a\xcb\x95\x9c\xb7\x35\x89\x23\x9a\x05\x26\xf2\x35\x8a\x9e\xdc\x21\x7b\xc0\x2d\x0b\xa6\xba\x20\x52\x10\x9e\xdd\x67\x0c\x3d\x5b\x6d\x5d\x44\x75\xe7\x6d\xe4\x2d\x13\x6b\xb2\x2a\x17\x4c\x35\x58\x0c\xcd\xb2\x13\x46\x8a\x6a\x36\xd3\xfa\x1c\xb8\xfb\x5f\x3e\x90\xac\x2a\x65\x55\xa0\xda\x9f\x1a\x73\x00\x11\x9f\xc2\x50\x2f\xf6\x28\x74\xe3\xa8\xbe\xb0\x39\x41\xb9\x64\x11\x5a\x5e\xa8\x37\xea\xa3\xcf\xa1\xa4\x7b\x09\x5f\x52\x29\x59\x0e\xa4\x16\x2b\x2d\xe8\x8e\xb9\x0c\x4f\x90\x4d\xbe\x47\x24\xe7\x48\x73\x74\x3f\xce\x37\x3e\x10\x8e\x39\x3c\xa4\x15\xf8\x39\xbe\xc8\xea\x04\xed\x9a\x79\x9d\x40\x49\x5e\x65\xc8\xb0\x40\x31\x70\x9f\x49\xeb\x8e\x97\x79\x75\xd7\xb2\x96\xde\x88\x8b\xd1\xdb\x44\x3f\x75\x57\x89\x1b\x26\x08\x57\x2d\x69\x5b\x03\x9d\xcd\x72\xd2\x02\x3f\xa5\xd5\x73\x58\x54\x93\x9f\xc9\x39\x69\xeb\x46\xc9\xef\xbf\x13\xb8\x6f\xb8\xa7\x49\xd0\x10\xeb\x26\x21\x33\x6c\xdc\x46\x80\x2b\x7e\x0d\xb4\xab\x26\x3f\x77\xfc\x7d\xe2\x46\xfd\x8e\x8a\xb2\xdd\xfa\x9e\x4b\x09\x2a\x6e\xaf\x45\x9e\x69\x72\x3f\x23\x2d\x74\x0d\xc1\xaa\xa1\x25\x6b\x75\x03\xda\x76\x5e\xb8\x86\xdc\xb8\x4d\x69\x21\x99\xbf\x3e\x11\x8c\xde\xd8\x3f\x1f\x9e\x98\x2f\xba\x8f\xd5\xe4\xe7\x2b\x8b\xdc\x75\xa2\x52\x10\x75\xdd\x68\xa7\x51\xcb\xb7\x2e\x29\x07\xf2\x35\xf0\x78\x36\x67\xd9\x0d\x8c\xdb\x43\xe8\x46\xcd\xb8\x54\x0c\xa5\x27\x76\x2e\x23\x87\xcc\x9a\xd8\x0d\x20\x5a\x10\xad\xcf\xca\x4b\x22\xb0\x59\xa1\xa1\xb4\x39\x05\xcf\x0b\xa5\xc7\x78\x76\xed\x0e\xba\xa3\xfa\x19\xf0\x0c\xc1\x89\xb5\x0d\x1a\x01\x62\x19\xe3\xb7\xe0\x57\x01\xf9\x0b\x46\xd0\xa8\x32\xc5\x44\x97\xdc\xcd\x79\x36\x87\xf6\xd0\x4f\x75\xcf\xc5\xde\x33\x7a\x7b\x5c\xa1\x03\x57\x30\xc5\xd0\xfd\x85\x56\x54\xe8\xb7\xd6\x1d\xea\xd4\x7a\xc3\x68\x90\xb1\xf1\x86\xb5\x1b\xbc\x54\x80\x19\xde\x68\x70\x81\xad\xbb\x39\xd5\x4e\x1f\xfc\xf3\x5e\x70\xf8\x06\x27\xea\xf6\x4b\xe7\xc1\xbb\xc4\x5b\x28\x0e\x1d\x15\x66\xec\x74\x83\x82\xa9\x95\x28\x7d\x8b\x0f\xda\x27\xb2\x6d\x39\xd2\x05\x8e\x85\x79\xfe\x0d\x20\x1e\x68\x1d\x1d\x10\xd9\x27\xb5\x58\xd4\xfd\x71\xad\xc4\xaf\x62\xe0\x6b\x64\x7d\x83\x8a\xbd\x18\x31\xdc\x1b\xdb\x1f\x86\x44\x33\x3e\x72\xe4\xb1\xe3\xd8\xd7\x5c\x2f\x83\x6c\x13\x6b\x47\x96\x80\x96\x39\xb2\x05\xb2\x00\x7a\x8a\xc1\xa3\x9b\xf8\xd7\xbe\xff\x4d\x7c\x1f\x78\x4b\xae\xcb\x6c\x2e\xaa\xb2\x5a\x81\x93\xfc\xd1\xe3\x6c\x83\x00\x1d\xb1\x82\x0a\x02\xef\x15\x70\xc3\xc8\x07\x43\xa4\x12\x69\xeb\x06\x2d\x60\xf8\x84\xd3\xbc\xca\x7f\xb0\x4f\xc1\xab\xc2\xe1\x36\x3d\xd2\x3c\x9d\xe2\x69\xb9\xcc\x72\x7a\x33\x93\x3d\x85\xd6\x97\xea\x73\x51\xcd\x2e\x6d\xcb\xe3\x92\xe8\x6c\x10\x2d\xa2\xd7\x49\xa6\x09\x89\x0a\x33\x7e\x9d\x60\x05\xe6\x59\x8b\x6a\x46\x4c\x6e\x11\x3c\xf6\x38\x72\x0b\x39\x4a\xf7\xa8\x9b\xbe\xdb\x9b\x37\xed\x46\xd4\x99\x0c\x6d\x0c\x2a\xf6\x92\xab\x77\x60\x55\x6a\xd6\x51\xeb\x44\xe0\x21\xad\xeb\x3b\x91\x7b\x23\x58\x86\xce\xd4\xba\x27\xe7\x7c\xaa\xda\x9d\xd0\x95\x49\xd1\x71\xda\x39\xb9\xd1\x6e\xc1\xeb\x9f\x13\x50\xff\x82\x65\x57\x83\x6b\xd7\x0c\xfc\x39\xbc\x6e\x63\xde\xa0\x47\x0b\x2a\x16\x6d\x8b\x6a\xa7\xd9\xe9\xd2\xb4\x68\x87\x7e\xcf\x0b\xab\xd9\x4d\x02\xc5\x30\xc0\x17\xe7\xa4\x65\x3b\xdb\xda\xa0\xed\xad\x69\xaa\x80\x44\xb7\xb4\xe0\xb9\xf3\x1c\x9f\x9b\x76\x8c\xa5\xde\xee\x75\xb4\x35\x90\x64\xea\x23\x5f\xb0\x6a\xa5\x5c\x37\xba\x64\xa0\x4d\xc6\xd6\xf4\x55\x9a\xb1\xf6\x79\xac\xd1\x60\x78\xf2\x3f\x24\x87\x65\x54\xd4\x3f\xc3\x5d\x78\xc9\x2d\x67\x77\xe4\x47\xd3\x31\x89\x22\xfe\xfa\xc3\x68\x30\x3c\x7e\x46\xa6\x8c\x2a\xf4\x4f\xef\x98\x4b\x25\xac\x24\xd3\x22\xa0\x73\x82\x6a\x29\x9f\xf7\xfb\x39\xbb\x65\x45\xb5\x64\xa2\xb7\xa8\x7e\xe5\x45\x41\x7b\x95\x98\xf5\x59\xb9\xff\xd3\x87\x7e\x5e\x65\xb2\xff\x57\x36\xe9\xff\x0b\xbd\xa5\x1f\xd0\xa8\xf4\xdf\xdb\x70\xba\xaf\xf3\x63\x9f\x75\x14\x2d\xfb\x1f\xd0\x16\xf5\x97\x34\xff\x00\xc1\x2a\x26\xdc\xbe\xd0\x17\x7b\x4b\x51\xa9\x0a\x98\xa7\x67\x6f\x6b\x29\xd8\x78\x3b\x14\x23\x45\xc5\x8c\xa9\xb7\x28\x3c\x10\x2d\xe4\xfa\x29\x2b\x47\xe0\xdf\x69\x03\x67\xd2\x40\xa0\x14\x4d\x9a\xae\xa8\xca\x19\x61\x65\xb5\x9a\xcd\xbb\xa0\x0b\xe7\x98\x1b\xaa\x48\x5e\x7d\xa1\xd9\x35\x68\x9a\xec\x9b\x38\xc1\xb8\x64\x4e\x74\x23\xa0\xaf\xcf\xc9\xa0\xe3\x64\x0b\xcd\x88\x46\xa7\x0d\xcf\x5a\x9f\x53\x87\x42\x06\x51\x72\x7e\x7e\x4e\x5c\xae\xd1\x3e\x1c\xdc\x26\x2d\xd2\x8a\x9c\xd5\x8c\x4a\x6d\x7d\x96\x34\x87\xee\x2c\x20\x84\x5d\x16\x8c\x64\x73\x2a\x24\xf6\xaa\xd7\x8c\xde\x37\xbe\x5d\xab\x6e\x1a\xde\xe7\x61\x04\x5b\x32\xaa\xda\x71\x23\xfd\x7a\x23\xe4\x19\x19\xda\xce\x99\x6e\x7b\x18\x09\x9c\xdd\x1e\x74\x23\x72\xc2\x23\x31\x65\x50\x91\x3c\xfc\x67\x33\xdf\xeb\x32\xdf\xcc\x7a\xaf\xcb\x7c\x33\xe3\xbd\x2e\xf3\xff\x9f\xed\xfe\xdb\xb3\x5d\xd8\x6d\x8c\x76\xb6\x73\xa1\x63\xbb\xed\xd6\x21\x9a\xb2\xfc\x1f\x3b\xc7\x61\xec\xc3\x3b\x88\xcd\x96\x34\xc3\x44\x15\xc1\xae\x91\x95\xe2\x05\x57\x9c\x05\x79\x3b\xdd\xe7\x24\xf3\x7f\xc9\x85\x54\x10\x2b\x2e\xc0\x37\x2f\x4b\x9c\x7e\x9e\xad\x0a\x2a\x6c\x26\x1a\xc3\xa9\x3b\xd6\x12\x8c\xcc\x2a\xc3\xd8\x80\x06\x62\x68\xe6\xbb\x8d\xf7\x68\xdd\xb3\x8d\xff\x5e\xbe\x1f\xbf\x7a\x4d\xfe\xf5\x87\x9f\xde\x7f\x78\xfd\xf6\xf2\x31\x4f\x10\x42\xba\x7f\xff\xfb\xdf\xff\xde\x7b\x0c\xe4\xef\xdf\x7c\xfe\x9a\xfc\xfd\xef\x8f\x00\x3d\xf8\xb7\xfd\xfd\xfd\xd6\x7e\xff\x31\xcd\x1e\x3c\x87\x7f\x9f\x6e\x3f\xed\x86\x3d\xaf\xce\x35\x70\xf7\x11\xc0\xe4\x77\x62\x80\x11\x7a\xcb\x03\x1f\xff\xfc\x9a\xbc\x7f\xfd\xdd\x4f\x6f\xc7\xef\xc9\xeb\xff\xf3\xe3\xfb\xd7\x1f\x3e\xbc\xf9\xe1\xdd\x87\xdd\xaf\x18\xbf\x7f\x4d\x5e\xfd\xf0\xfd\x9b\x77\xdf\x05\x41\xb3\x60\x2d\x08\x14\xc8\x1d\x5d\x63\x78\x0a\x91\xbf\x56\x61\xef\x5f\x93\x82\x2b\x26\x68\x01\x71\x01\xf1\x8a\xb8\x47\xc8\x25\xbf\xd7\x9c\x7a\x37\x5f\x93\xbc\x2a\x5b\x98\x7a\x5a\x57\xab\x6f\x09\xf9\x61\x8e\x61\x0e\xa1\x85\xac\xf4\x8c\x41\xf4\x86\x3b\xc1\x15\x06\xcd\x5a\x31\x60\x2b\x79\xc5\x64\xd9\xd2\x33\x16\x62\x29\x18\xb6\xc6\x64\x46\x97\x2c\x08\x7e\xa4\x62\x34\xef\x82\x4f\x23\x55\x55\x2d\x75\x1a\x8c\x4b\xe2\xf2\x9e\x1d\x02\xc2\x70\x93\x32\x79\x4f\x30\x9c\xe2\x7a\x82\xaa\xee\xd5\x87\x0f\x64\xce\xee\xb5\x64\x74\xc9\x9f\xde\x7f\xf7\x12\xf4\xda\x9c\xdd\x0f\x8f\x9f\x93\xfe\x9f\xda\x57\x74\x7f\x3a\xd8\x3f\xbb\xee\x34\x7d\xeb\xf3\xee\x93\x0d\xed\xbc\xff\xee\xbb\x97\xb6\xa9\xd1\x61\xd4\xd4\x6f\xa3\x87\xce\xe6\x3f\xe2\x36\xc5\x6c\x62\xdb\x14\xb3\x49\x5b\x08\xd1\x9d\xcd\x66\xdd\xc9\x64\xd2\x81\xc6\xc5\x6c\xf2\x1c\x5d\xec\xf7\x6c\xf6\xfa\x7e\xd9\x36\x9a\xb6\xdd\xfa\x5b\x5f\x3e\x15\xb3\x49\x5f\x3e\xed\xb7\xfb\xf2\x69\xbb\x9f\xff\x36\xec\x1e\x3c\x74\xfa\xf2\x69\x37\xfd\xbb\x45\x9e\xd9\x68\xa2\x95\xdc\xeb\xc3\xc7\x97\x2d\x7b\xbb\xe3\x93\xca\x9f\xfa\xfd\x59\x97\xb4\x3e\x7d\x6a\x75\xba\xa4\xc5\x5b\x9d\xc7\x61\xdd\xa5\x94\x5a\xcc\xe9\x56\xd4\x69\x5f\x3e\x8d\x30\xdb\xd9\x8f\xe4\xef\xf0\xe1\xf6\xb7\xcf\xcd\xed\x67\xed\x6f\x9f\xf7\x7b\xfd\xfc\x59\xe7\x5b\x00\xea\xfc\x03\x3d\x7c\xcd\x81\x8f\xc9\xfb\xef\x5e\x42\x28\xf3\xfe\xbb\x97\x63\xd3\xa1\xfb\xed\x1d\xfa\xf6\xff\x4e\x8f\xbe\xfd\x07\xba\x34\x2e\xc9\xff\x19\x0e\xc9\x1e\xf0\x53\x9e\xe7\x79\xdf\x7d\xec\x91\x5b\x5a\xac\x40\x8b\x93\xfb\xe1\x10\xf9\x0d\x27\x14\xe0\x9b\xe7\xdb\x61\xf7\xf0\xa1\xf3\xa9\xbf\xf3\x82\x7c\xfa\xa5\xe7\xef\xd7\xe5\xac\xe0\x72\x6e\xac\x52\x49\x17\xf8\x16\xf8\xff\x73\xd2\xbf\xa2\xfb\xbf\x5e\xc3\xc7\x60\xff\xec\x93\xbc\x7e\xd6\xef\x86\x99\x99\x57\x55\x79\xcb\x84\x22\xd4\xb2\x5b\x3b\xcf\xf3\xae\xf9\xed\x98\x16\x11\x71\xd0\x22\x15\xa1\xba\x7f\xc1\x75\x37\xe3\x88\x63\x09\xad\x04\x37\x4d\x8e\x70\x56\x56\x42\x27\xd8\x4d\x86\x47\xd2\x92\x2b\x88\xff\x73\xaa\x28\x99\xd3\x32\x2f\x4c\x92\xcc\x4d\x6d\xb7\xf2\x3c\x6f\x61\x6a\xa3\x2a\x71\x8a\x1b\x67\xef\x4b\x46\x26\x6b\xc5\x0c\x4a\x7e\x0e\x8d\x97\x24\x67\x19\x5f\xd0\x62\xf3\x64\x1c\x3c\x81\x3e\x47\x8c\x23\xa0\x95\x69\x32\xc4\x49\x35\xfb\x24\x3c\x93\x74\x1a\xf8\xb5\x5c\x15\x05\x78\x6d\xe0\x42\xe8\x8b\x59\xb5\x2a\xec\x7c\xa7\xcf\xcd\x60\xcb\x3a\xf9\x13\xab\xcf\xd9\xe4\x63\x05\xed\x46\xb3\x7c\xc5\x8a\x69\x6f\xd8\xa5\x65\x64\x46\x0b\xd6\xbe\x75\x19\x7d\x72\x4e\xda\xdf\x53\x35\xef\x2d\x78\xd9\xbe\xed\x92\xd1\xd1\x51\x87\x3c\x25\xa3\xa3\x93\x4e\x4f\x55\xc6\x95\x1b\x1e\x9b\x5c\x83\xe9\x8c\xce\x55\xfc\xba\xa4\x39\x3c\x72\xa8\x5d\xb8\x27\x51\x22\x46\x8f\xe6\x82\xaa\x6c\xde\x8e\xb5\x3c\xa0\x7a\x8f\x8f\xc4\x73\x41\xa6\x6d\x20\x04\xfa\x93\xe6\xef\x16\xb0\x74\x8b\x3c\x33\x98\x53\xb1\xbe\x1a\x5e\x83\x5f\xd9\xea\xc7\x57\x47\x8d\x57\x0f\xae\xe3\x6c\xb5\x67\xd1\x82\xcd\x68\xb6\x76\x63\x71\xcb\x52\xd6\xb4\x3c\xdc\xeb\xf5\x3a\x4d\x3c\xfa\x71\xce\xd6\x44\xd1\x1b\xed\x91\x4f\x2b\xb1\x78\x0e\x97\x87\x23\x32\xe1\xea\x39\x1a\x2d\x6f\xd7\xf7\xbf\x21\x7f\x7a\x3f\x18\x0c\xbe\x1b\x0c\x06\x2f\x07\x83\x01\x40\x8e\x0e\x2d\x24\x9a\xa5\x10\xf2\xfd\x60\xf0\xdd\x77\x83\xc1\xcb\x97\x1a\xf2\xe0\xd8\x41\xbe\xff\x0e\x60\x5f\x7a\xc8\xf7\x83\xef\xbe\xfb\x6e\xf0\xf2\xe5\x4b\x84\x3c\x3c\xf5\x90\x00\x0a\xb0\x2f\x0d\xb6\x92\xa1\x00\x01\xb6\x8b\x4a\x2a\x22\xf9\xac\xe4\x53\x9e\xd1\x52\xc1\x43\xce\x8a\x7f\x14\xab\x32\xa3\x56\x2e\x24\xc1\xec\x6f\x5e\xdd\x61\x52\x4f\x23\x4d\x24\x2f\x33\xed\x08\xb7\x24\x66\x57\x81\x5a\x72\xb5\x5c\x56\x42\xd5\x3c\xd8\xde\xfd\x70\xf8\x67\x76\xff\xb1\x02\xa0\x90\x41\x35\x1b\x22\x1f\xdc\xf6\x70\x06\x5d\xfe\x95\xab\x79\xbb\xf5\xa7\x56\xa7\x81\x2b\x50\x3f\x01\x4f\x2e\x75\xe6\x97\xd1\x1c\xdc\x93\x3f\x91\x6a\x3a\x05\x25\x05\xdc\x7c\xdb\x93\xab\x89\x54\xa2\x6d\xc2\x92\x7e\x9f\xbc\x67\x58\x45\xb0\x2a\x6f\x4a\xe8\x84\xe4\xbf\xa2\xc7\x82\xef\xbd\x3a\xe8\x92\xe3\x2e\x39\xeb\x92\xe1\xe8\xba\xc7\xcb\x9c\xdd\xff\x30\x6d\xdf\xba\xf0\xe6\xfc\x9c\xec\x0f\x9b\x19\xd4\xb7\x5c\x56\xe5\x3e\xb8\x19\x9a\x5e\xb6\xe9\x5b\xc3\xfe\xfd\xab\xbf\x19\x75\xdb\xe7\x4d\xbd\x32\xdd\x5a\x16\x5c\x99\xca\x0b\xf4\xfa\xab\x95\xea\xd9\xc9\x79\xfe\x2b\xc3\xae\x15\x36\x0e\x3b\x78\x61\x6e\x89\xb0\xcb\x83\x2e\x82\x76\xec\xcd\x59\x78\x13\xee\x24\xf7\x27\xe9\x7d\x10\x9d\x10\x4c\xa3\xf6\xae\x12\x0b\x93\x6f\xaf\xc8\xf0\xd8\xf2\x8a\x57\x2a\x65\x25\x16\xc3\xe3\x58\xab\x60\x99\xdf\x9b\x52\x81\x86\x48\xf5\x87\xee\xcf\x39\x19\x91\x6f\xc9\x2d\x79\xee\x84\xa4\xdf\x37\xcd\x3f\x09\x3c\x62\x0b\x3c\x44\xe0\xaf\xbf\x26\x87\xfa\x89\x7e\x9f\x9c\xa6\xb0\xb7\xe4\x9b\x6f\x48\xfb\x90\x3c\x25\xba\x3b\xfb\x64\xd4\xe9\xbc\x40\xd8\xd1\x21\xa8\xd9\x83\x91\x79\xe4\xe1\x49\xa4\xcd\x0c\x9f\x62\x15\xd3\xc7\x0a\x9c\x87\xf6\x95\xe8\x92\x59\x97\x4c\xae\x7b\x0b\xba\x6c\xeb\x2e\x76\x36\x28\x93\x9a\x1d\xfb\x23\x4a\x04\x9f\xd5\x4f\x2d\xe8\x1a\xab\x80\xc2\xf6\xf4\xf4\x88\x9e\x9d\x06\x95\x62\x4c\xc6\xd4\x69\x1d\x68\x06\x94\xe4\x7c\x3e\x9f\xf7\xdd\x87\x99\x6e\x0e\x6c\x9e\x41\x4c\x92\x82\x49\xa9\x8b\x91\x0f\x49\xce\x67\x5c\x49\xc2\x95\x99\x01\x58\xd2\x3c\x67\x39\x30\x1f\x0c\xf6\x21\x96\x68\x18\xab\x91\x3b\x1d\x30\xe5\x58\x24\xe6\x26\xd5\xc0\x88\xee\xb6\x94\x29\x89\x1e\x63\x29\x53\xeb\xfa\x1f\x60\x29\xef\x87\xc3\x4d\x8a\x68\x93\x95\xec\xf7\xc9\x8f\x54\x13\xc5\xa8\xc4\x3b\xae\xe6\x01\x1d\xa7\xd5\x4a\x18\x52\xe2\x0c\x0f\x97\x48\x48\x50\x4e\xed\xa5\xa8\x26\x74\x52\x18\x2b\xd7\xef\x13\xd4\x0a\x4c\x92\x7b\x2c\x05\x36\xa5\x5b\x39\x9f\x4e\x79\xb6\x2a\x90\xec\x92\xea\xd9\x20\xed\xdd\xa0\xa6\x45\x60\x22\x19\x5b\x48\xa2\x2a\xdb\x14\x15\x02\x67\x37\xc1\x9e\x99\x91\xd3\x24\x31\x55\x32\x25\x59\x32\x01\x3c\x62\xd2\x05\xd5\x62\xc2\x4b\x33\xa5\x3a\xb5\x8d\xcc\xe8\x62\x01\x7c\x22\x04\xc3\xde\x77\x0d\xc5\x75\x82\x42\x09\x5a\x4a\x5d\x4e\x83\xf7\xa0\xe5\x5f\x56\xb4\x54\x6e\xc2\xd3\x25\x9c\x9c\x7e\x02\x69\xf5\x93\x28\xa0\xdc\x34\x9f\x18\x66\x5b\x52\xc7\x60\x48\xb8\xc9\x9a\xe8\x74\x93\xad\x0b\x74\xb5\xaf\x3d\x42\xf6\xa6\x7b\x64\xc2\xb2\x6a\xc1\xa4\x6f\x6f\x6f\x3a\x9d\x4e\xf7\x7a\x84\x7c\xc8\x68\x81\x85\x85\xc0\x99\x94\x38\x25\xec\x32\x3b\xa6\x86\x19\xde\x31\x3a\x3a\xb1\x85\x04\x92\x2e\x98\x6f\x8d\x4a\x92\xad\x14\xbe\xbd\x9a\x4e\x9d\x5b\xd8\x23\xe4\xaf\x8c\xc8\x1b\x63\x6d\x16\x3c\xcf\x0b\x08\x6b\xd9\x12\x89\x80\xc5\x76\x79\xb5\x9a\x14\x41\x53\x31\xf6\x71\x3a\xd0\x6b\x44\xf2\x8c\x84\x5a\xf1\xa1\x99\x84\xa3\x84\x84\x0b\x5e\x50\x41\x72\x46\x0b\x02\x01\x7b\x8f\xa0\x44\x2d\x69\x2e\x89\xba\xab\x34\x71\x9d\xc9\x4e\x48\xea\xdb\x41\x87\xb7\x0d\xc3\x0b\x3c\x4e\x56\x4b\x43\x9a\x0e\x50\x13\x59\x2d\xc9\x1c\x69\x38\xae\xd0\x0d\xf0\xed\x68\x8a\x97\xeb\x3b\xba\xc6\x70\x3f\xa3\xa5\x26\x89\xe9\x2d\x4e\x5e\x0a\x3e\xe3\x25\x2d\x7c\xb0\xd2\x48\x8e\xdd\xa4\x38\x88\x48\xf1\x71\x2e\x18\x8b\xfb\x0b\x82\x61\x66\xee\x8d\x1c\xd4\x98\x6a\x8a\x98\xe0\x53\x3d\xdf\x16\xeb\xcd\x7a\x64\x38\x98\x5a\x1e\x83\xef\x53\x7b\x1f\xfd\x09\x18\x2c\x6b\x23\x47\x31\x9a\x30\x2c\x48\x1d\xad\x18\xe7\x8c\x8c\x82\x80\xa2\x17\x9a\x3c\xf4\xb1\x45\xb5\x2a\xf3\x76\xd2\x71\xd2\x47\xf2\x37\xf9\xd0\xcd\xfe\xb3\x0e\xf8\x62\x0f\xda\x2b\xaa\x3f\x43\xf8\x63\x66\xc6\xb5\x87\xab\x85\xb7\x17\x10\xb6\xd1\xd3\x6a\xb2\x87\x81\xdf\xd6\xbe\x35\x7d\x67\x85\x64\x1b\x1f\x00\x63\x85\xf6\xd3\x80\x63\x8f\x70\xee\x74\x69\x93\xbf\xc3\x70\x82\x7f\x83\xed\x85\x27\xc0\xea\x22\xef\x35\x1b\x5d\xa9\x57\xca\x98\x3a\x48\xd0\xe7\x2d\xe3\x47\xb7\xe2\x98\x11\x2d\xb1\x9a\x33\x2e\x9c\x21\x36\x65\xc5\x0b\x6b\xb3\xb0\x06\x4e\x47\x97\xce\x6e\x80\x81\xc3\xf8\xbc\xa7\xed\xa8\x31\x35\xb4\x34\x15\xa8\x0e\xb0\xeb\x8d\xa7\x89\xe8\x73\x6d\x1e\xc0\x50\x35\x5b\xc5\xdf\x75\xe9\xe1\xd7\xfa\xaf\x6f\x1e\xc8\xd8\x5a\xd2\xc0\xc0\x0b\x53\x71\x5d\x4d\xfd\x55\xad\xfb\x23\x0b\xd7\x64\x3b\x6b\xed\x63\x1d\x87\xeb\x99\x7b\x81\xf3\x57\x63\x0b\x39\x87\x21\x87\x77\x06\x16\x92\x8a\x99\x9f\x6b\xc7\x3c\x9c\x99\x6d\x0f\x18\x13\x2f\xbf\xf0\x30\xa3\xc3\x46\x98\xd1\xa1\xae\x3e\xb3\xc6\xd6\x20\xd6\x9e\xfb\x82\x52\x60\xd3\x39\xbb\x0f\x34\xc0\xa1\xd7\x00\xa0\xe4\xcf\xe1\xd3\x65\x50\xf0\xc5\x5d\x8f\xec\xbc\x4b\x8c\xf3\x16\x56\x64\x19\x1a\xed\xfd\x69\x8f\x3c\x23\xc2\xfc\xce\xcc\xef\x04\x7e\x5d\x35\x55\x30\xb5\x1e\x0a\x24\xbc\x53\x8b\x24\x76\xa3\xe3\xa7\x82\xc2\x92\xc6\xd4\xb9\x8f\x42\xd9\xb6\x2e\x00\x33\x1a\x40\x47\xb3\x5a\x0d\x3c\x23\xad\x2e\x09\x72\x49\x31\xd4\xe8\x51\x50\x07\x1e\xaa\xd3\x7a\x11\x56\x7c\x51\x31\xdb\x58\xf5\xb9\xa1\xc8\xb4\xb9\xf2\x8d\x8a\xd9\x15\xbf\x26\xe7\x6e\xd8\xf4\x85\xb0\x18\x21\xac\x56\x80\xf7\x46\xb0\x5e\x2d\x18\xaa\x50\x31\x7b\x9c\x7c\x3b\x37\x1a\x44\x37\x92\xeb\x66\xc9\x77\x49\xe9\x29\x99\xf1\x5b\x06\xd6\x0a\xf3\x9b\xbe\x11\x5d\x80\x4c\x8b\xe5\x9c\x92\x29\x67\x45\xee\x8b\x3e\x09\xbd\xa3\xeb\xff\x7e\xfa\xc1\xd1\xa0\xae\x24\x42\xe5\xa6\xd9\xd6\x28\x8c\xff\x44\x4d\x81\x59\xa7\x3f\xa3\x3c\xd6\x35\x45\x4d\xc0\xc1\x6a\x05\x95\xa4\xbe\x62\xc7\xb4\x96\x09\x9a\xdd\x80\xed\xb0\xe6\x6d\x87\x6c\x85\xa2\xf5\x27\x90\xab\x20\x2f\xd5\x6e\x47\x82\x31\xb8\xee\x40\xe8\x08\xb2\xf1\x7b\x18\x30\xd6\xff\xb5\x13\xe1\xc4\xe7\xc8\xe9\x1f\x7c\x6e\x64\x9e\x1b\x74\xe2\x34\x5a\x97\x1c\x77\xfe\x87\xca\xe5\x47\x6a\x8a\xe1\x74\x8d\x50\x26\xa5\x91\x36\x9c\xbf\xe6\x38\xd2\x18\x76\xc0\xc3\x18\x20\xea\x08\x58\xcc\x26\xc0\x41\x20\x79\x71\xe8\xfb\x1e\xdf\x23\x77\x04\x74\x98\x5c\xc0\xec\x43\x3d\x94\x73\xb7\x92\x70\x2e\x67\x53\x9f\x59\xca\xd9\x74\x6b\x6a\xa9\xc1\xf0\x61\x03\xae\xa4\xaa\x21\x7d\xd9\x53\x4c\x2a\x84\x8a\x9a\xca\xd9\x34\x4c\x5d\x36\xfa\x45\xba\xe9\xc6\x8c\xe4\x01\xd0\xe9\x90\x44\x4b\xaa\x42\x32\x1a\xcd\xa5\x65\xb5\x46\x8c\xc0\x7f\x8a\xc5\x71\x1d\x14\xc9\xa1\xaa\x3b\x0f\x8b\xdd\xc8\x37\xe0\x5d\x7f\x4b\xb4\xf9\x20\xcf\xc9\xf0\x45\x9c\x7c\xa5\x68\xb2\xb4\x10\x39\xf3\x43\xb4\x70\xc4\x7f\x8f\xc2\xbf\xf1\x4d\xc6\x0e\x05\xbd\xfd\xe1\x96\x09\x3d\xbb\xe8\x55\x6f\x36\xa7\x65\xc9\x0a\x50\x62\xba\xa3\x7d\x64\x16\xec\x57\xad\x9b\x92\xa9\xb1\xe9\x85\xeb\xa3\x98\x4d\xba\xba\xad\xa6\x7a\xc0\x4d\xda\xc5\xf4\xf8\x5c\x3f\xf9\x28\xa7\x34\x1e\xb9\xef\xf9\x3d\xc4\xdd\x4c\x64\xac\x54\x74\x86\x41\x27\x25\x8a\x63\x05\x7b\x81\xf5\x74\x30\x76\x64\x42\x25\xdb\xd0\x9b\x05\x8f\x74\x27\x40\x76\xb1\x85\xae\x6d\x37\xea\xd1\x70\x43\x97\xe0\x39\x97\xd5\xa3\x62\x3d\xda\x00\x07\x2d\x77\x5e\x6c\x5a\x58\x72\xf8\x82\x3c\x7b\xc6\x43\x15\x9d\xf3\xe9\x54\x17\x3f\x8e\x40\xb9\xec\x23\x0e\x6e\x39\x89\xf9\x83\x9c\x37\x46\x37\xe6\x2e\x38\x23\xd8\xcc\x53\xd7\xa3\x54\xd3\x6c\xa6\xf7\x30\x26\xb8\xce\x91\xd6\x78\xc4\xc9\x88\xb3\x85\x5c\x49\x9f\xf8\x72\x8e\xc0\x0f\x25\x91\xab\x2c\x63\x52\x76\x09\xad\x09\x9a\x5d\xbf\xa1\x91\xc2\x82\xf2\x4b\xad\xb7\x8c\xf5\x0b\xbc\x05\x68\xcd\xc2\x4b\x86\x99\x8c\x61\x6d\x6c\x2d\xd5\xc3\x01\xc6\x5b\x5e\x37\x69\xa6\x08\xb5\x13\xf4\xaa\xd5\xa9\x9b\x49\x0d\xb9\x69\x3e\x85\x06\xe6\x32\x08\x07\x49\x53\xd9\xaa\x53\xef\xeb\x0d\xa6\xe1\xb1\x2f\xfd\x03\xef\x74\x2b\x76\x86\xdb\xd1\x00\xa6\xb0\x0b\x27\x98\x2e\x4f\x7d\x05\xb6\xa0\xfc\xd4\x52\x04\xe9\xa9\x4b\x68\x35\x19\x03\x91\xd5\x0e\xc1\xae\xd4\x2c\xd6\xda\x1b\xa1\x8c\x3c\xca\xc8\x2e\xbd\xf3\xcb\x1c\x95\xe0\xcb\x25\xcb\x81\xa5\x30\x1b\xa6\x97\x9f\x79\xff\x48\x55\xa4\xa8\xee\x98\xc8\xa8\x34\xeb\x7b\x80\x45\xf4\x6b\xd0\xe3\x33\x73\x0e\x5d\x63\xe4\xa4\xe7\xae\xb0\x5c\xbd\x30\x8b\x79\x03\x2c\x55\x85\x51\xdf\x82\x2e\x97\xa6\x74\x2d\x67\x82\xdf\xb2\x9c\x4c\x45\xb5\x30\x55\x6d\x55\x76\x03\xbd\x33\x09\xe0\x9e\xba\x57\x61\x6d\x4f\xf3\x1a\x84\x8f\x76\x86\xc1\xbd\x67\x67\x12\x16\x53\x83\x72\x59\xe1\xe6\x02\x1b\x08\x17\xdb\x65\x6b\xed\xd2\x35\x01\x9e\xf3\xcd\x50\x44\x5a\x0a\xfe\x87\xc4\xdf\x64\x9f\x3d\x04\x2e\x1a\xb8\x46\x4d\x86\x2d\x9d\xeb\x89\x6a\x55\xbd\x85\xe1\x78\x45\x25\x6b\xbb\x04\xc9\x7f\xce\xab\xfc\xec\xbd\x7c\x86\xd3\xf7\xad\xff\x84\x17\x6e\xe2\xee\x8f\x6e\xf8\xf5\x50\x2e\x69\xc1\x94\xaa\x0f\x04\xc2\xbc\x82\xef\x3f\x6a\x88\xd8\x2e\x58\x7f\xe7\x09\x21\xed\x2b\x4c\xac\x31\xb2\x37\x7e\xf7\xe1\x0d\x19\x1e\xef\xe1\x0a\x5e\x42\x48\xeb\x4f\x03\xfc\x07\x86\xfd\x4f\xaf\x5e\xb9\xaf\x87\xaf\xcf\xc6\x83\x63\x7d\xf5\x70\x8c\x57\x0d\xfc\xc1\xe1\xf1\xd1\xf8\x10\xef\x9c\x1c\x1d\x0d\x4e\x5e\xe2\xd7\xc1\xf1\xd9\xe9\xd9\x18\xbf\x5e\x1c\x5c\x9c\xbc\xba\x74\xf0\x47\x47\x47\x27\x47\x07\x78\xe7\xf5\xe5\xe8\x6c\x74\xa6\xe1\x07\x2f\xc7\x43\x7d\xf5\xf2\xd5\xeb\xb3\x43\x0f\x7f\x32\x3a\xbb\x84\xc7\xe1\xce\x68\x30\x78\xf5\xd2\xc2\x1f\xbd\xbc\xd0\xad\xc0\xbf\x57\xad\xae\xcb\xd2\x41\xc7\x8e\xef\x8f\x0d\xb5\xb2\xd5\x44\xef\xa5\x52\xeb\x1e\x7c\x39\xba\x74\x5f\x4f\x4f\xdc\xd7\xb1\xbf\x7a\xe1\xaf\x5e\x7a\xa4\xe0\x41\xd7\xca\xd1\xa5\x6b\xe5\xe8\xd2\xb5\x72\x74\x39\xf6\x57\x2f\xfc\xd5\xa8\x95\xd3\x13\xd7\xca\xe9\x89\x6b\xe5\xf4\xc4\xb5\x72\x7a\x32\xf6\x57\x2f\xfc\xd5\xa8\x95\xb1\xc7\x65\xec\x71\x19\x7b\x5c\xc6\x1e\x97\xb1\xc7\x65\x1c\xe3\x72\xe1\x71\xb9\xf0\xb8\x5c\x78\x5c\x2e\x3c\x2e\x17\x1e\x97\x8b\x18\x97\x4b\x8f\xcb\xa5\xc7\xe5\xd2\xe3\x72\xe9\x71\xb9\xf4\xb8\x5c\x6a\x5c\x2c\x8f\x5c\xba\x41\x82\xaf\xa6\x19\xf8\x6a\x9a\x81\xaf\x63\x7f\xf5\xc2\x5f\x0d\x90\x81\x71\x71\xad\xb8\x41\x82\x2f\xae\x15\x37\x48\xf0\xf5\xc2\x5f\x8d\x5a\x71\x83\x04\x5f\x5d\x2b\x6e\x90\xe0\xeb\xd8\x5f\xbd\xf0\x57\xa3\x56\xc6\x1e\x97\xb1\xc7\x65\xec\x71\x19\x7b\x5c\xc6\x1e\x97\x71\x8c\xcb\x85\xc7\xe5\xc2\xe3\x72\xe1\x71\xb9\xf0\xb8\x5c\x78\x5c\x2e\x62\x5c\x2e\x3d\x2e\x97\x1e\x97\x4b\x8f\xcb\xa5\xc7\xe5\xd2\xe3\x12\x0f\x12\x90\xc5\x34\x03\x5f\x4d\x33\xf0\xd5\x34\x03\x5f\xc7\xfe\xea\x85\xbf\x1a\x20\x03\x14\x75\xad\xb8\x41\x82\xaf\xae\x15\x37\x48\xf0\xf5\xc2\x5f\x8d\x5a\x71\x83\x04\x5f\x5d\x2b\x6e\x90\xe0\xcb\xd8\x5f\xbd\xf0\x57\xa3\x56\xc6\x1e\x97\xb1\xc7\x65\xec\x71\x19\x7b\x5c\xc6\x1e\x97\x71\x8c\xcb\x85\xc7\xe5\xc2\xe3\x72\xe1\x71\xb9\xf0\xb8\x5c\x78\x5c\x2e\x62\x5c\x2e\x3d\x2e\x97\x1e\x97\x4b\x8f\xcb\xa5\xc7\xe5\xd2\xe3\x12\x0f\xd2\xd8\x4b\xd2\xd8\x4b\xd2\xd8\x4b\xd2\xd8\x4b\xd2\xd8\x4b\xd2\x38\x96\xa4\xb1\x97\xa4\xb1\x97\xa4\xb1\x97\xa4\xb1\x97\xa4\xb1\x97\xa4\x71\x2c\x49\x63\x2f\x49\x63\x2f\x49\x63\x2f\x49\x63\x2f\x49\x63\x2f\x49\xe3\x58\x92\xc6\x5e\x92\xc6\x5e\x92\xc6\x5e\x92\xc6\x5e\x92\xc6\x5e\x92\xc6\xb1\x24\x8d\xbd\x24\x8d\xbd\x24\x8d\xbd\x24\x8d\xbd\x24\x8d\xbd\x24\x8d\x63\x49\x1a\x7b\x49\x1a\x7b\x49\x1a\x7b\x49\x1a\x7b\x49\x1a\x7b\x49\x1a\x27\x92\x74\xe1\x25\xe9\xc2\x4b\xd2\x85\x97\xa4\x0b\x2f\x49\x17\x5e\x92\x2e\x62\x49\xba\xf0\x92\x74\xe1\x25\xe9\xc2\x4b\xd2\x85\x97\xa4\x0b\x2f\x49\x17\xb1\x24\x5d\x78\x49\xba\xf0\x92\x74\xe1\x25\xe9\xc2\x4b\xd2\x85\x97\xa4\x8b\x58\x92\x2e\xbc\x24\x5d\x78\x49\xba\xf0\x92\x74\xe1\x25\xe9\xc2\x4b\xd2\x45\x2c\x49\x17\x5e\x92\x2e\xbc\x24\x5d\x78\x49\xba\xf0\x92\x74\xe1\x25\xe9\x22\x96\xa4\x0b\x2f\x49\x17\x5e\x92\x2e\xbc\x24\x5d\x78\x49\xba\xf0\x92\x74\x91\x48\xd2\xa5\x97\xa4\x4b\x2f\x49\x97\x5e\x92\x2e\xbd\x24\x5d\x7a\x49\xba\x8c\x25\xe9\xd2\x4b\xd2\xa5\x97\xa4\x4b\x2f\x49\x97\x5e\x92\x2e\xbd\x24\x5d\xc6\x92\x74\xe9\x25\xe9\xd2\x4b\xd2\xa5\x97\xa4\x4b\x2f\x49\x97\x5e\x92\x2e\x63\x49\xba\xf4\x92\x74\xe9\x25\xe9\xd2\x4b\xd2\xa5\x97\xa4\x4b\x2f\x49\x97\xb1\x24\x5d\x7a\x49\xba\xf4\x92\x74\xe9\x25\xe9\xd2\x4b\xd2\xa5\x97\xa4\xcb\x58\x92\x2e\xbd\x24\x5d\x7a\x49\xba\xf4\x92\x74\xe9\x25\xe9\xd2\x4b\xd2\x65\x24\x49\xc6\xf7\x9b\x09\xb6\xd6\xf3\xd8\x82\x2e\x96\x81\xeb\x77\x0a\x3f\xf8\xdc\x70\x04\x3f\xfa\xeb\x2b\xf8\xc1\xaf\xa3\x63\xf8\xc1\xaf\x07\x03\xf8\xd1\x5f\xc7\xf0\xe3\x30\x3d\xc4\x7f\x78\xe7\xf0\x35\xfc\x68\xe3\x78\x0a\x3f\xf8\x15\x1b\xd1\x6d\x1f\xbf\x82\x1f\xfc\x7a\x72\x0c\x3f\x5e\xbd\x23\x32\x5a\x65\x8f\xe1\x07\xbf\x9e\x1d\xc2\x8f\xfe\xfa\x1a\x7e\xb4\xba\x40\x08\xfc\xfa\x72\x04\x3f\xae\x95\x97\xaf\xe0\x07\xef\xe0\x9b\x34\xee\x17\x03\xf8\xd1\x5f\xc7\xf0\x83\x5f\x11\x57\xdd\x36\x7a\xcc\xaf\xb1\x38\xf9\xba\x13\xc7\x19\xd9\x4a\x08\xe6\x52\x5a\x26\xd2\xe8\xda\x5d\x85\xd6\x7a\x2e\x63\x25\x99\xc0\x3c\xde\xac\x61\x96\x20\xdb\x18\x80\xd4\xe2\x93\x78\x89\x4c\x6e\x6b\xe1\x68\x96\x55\x22\x37\x05\x09\x51\xec\x5b\x0b\x7c\xeb\x6f\x7e\x67\x36\x9f\x80\xd0\x73\x8f\x16\x3c\x63\x93\x62\xc5\xf6\x9e\x63\x5d\x75\x7b\x74\x38\xe8\x92\xd1\xe1\xa9\x2e\x7d\xdd\xeb\x22\x50\xa9\xf8\x2f\x2b\x76\x37\xe7\xca\xc3\x1d\x01\xdc\xc1\x51\x97\x8c\x86\x4d\x70\x43\x0f\x08\x30\x07\x67\x00\x78\xd6\x00\x38\x72\x80\x07\xf0\xd2\xd1\x41\x97\x8c\x06\x87\x0d\x80\x07\x0e\x70\x70\xd4\x25\xc3\xb3\x51\x97\x0c\x4f\x8e\x1b\x00\x0f\x2d\xe0\x10\xde\x3a\x3c\x18\x76\xc9\x70\x34\xb0\x80\xbf\xac\xe8\x82\x0a\x5e\xba\x9e\x0c\x47\x27\xd8\x59\x40\x70\x54\x83\x1a\x3e\x0e\xcc\xf5\x62\x38\x84\x5e\x40\x57\x86\x67\xa7\x35\x30\xd7\x87\xe1\x60\x04\xfd\x84\x8e\x9c\xd4\x51\x73\x3d\x38\xc6\x0e\xc0\xc7\xd0\xf5\xf4\xd7\x95\x48\x46\x0b\x91\xf2\xa3\x05\x00\xc3\x9d\x10\x9e\xee\xa3\x43\x83\xf1\xe8\xe0\x34\x84\xf0\xc8\x9e\x1d\x18\x64\x47\x83\xa8\x8d\x80\xd2\x43\x8b\xe8\x81\x1d\xe4\x09\xe3\xb3\x00\x51\x78\x1a\x3f\xdc\x50\x4c\xb8\xfc\x25\x60\x3c\xc4\x71\x84\x84\x3b\x8e\x20\x86\xbb\x41\x12\x26\x1a\x1e\x74\xc9\xf0\xf4\x20\x02\x49\xd8\xe7\x14\x40\x8e\x4e\x23\x90\x84\x71\x46\x00\x37\x38\xb1\x20\x05\xcd\x6e\x2c\xc0\xa0\x4b\xe0\x3f\x7f\xab\xcc\xe6\x2c\xa7\xc5\xa2\x2a\xf3\x84\xf1\x23\xaa\x85\x92\xa6\xdb\xf0\xa3\x02\xf7\x86\xdb\x6e\x8e\x92\x9b\x6e\xb4\xe0\xe6\x41\x72\x33\x7a\xe5\x61\x7c\x33\x18\xa3\x62\xc5\x6e\x79\x55\x30\xe5\xbb\x7e\xda\x25\x87\x30\xde\x23\x47\x62\x51\xdd\x95\xee\xfe\xf1\x51\x97\x1c\x8e\xe0\x37\xbc\x1d\x8f\xd1\xf1\x21\xfc\x86\xf7\xe3\x01\x3a\x3a\x83\xdf\xf0\x7e\x3c\x3a\x47\x43\xf8\x0d\xef\xc7\x43\x03\x44\x3d\x70\x1d\x5c\x89\x62\x7d\x57\x55\x9e\xf0\x23\x50\x0d\xa7\x87\xd0\xd1\x1a\x50\xc2\x4c\x43\xe0\xdb\xa3\x1a\x54\x8c\xee\xf0\xec\xa4\x4b\x86\x87\x35\xa8\x84\xa5\x4e\x06\xc8\x34\x29\x54\xc2\x55\xc3\xa3\x2e\x39\xb5\x40\x19\xcd\x99\x0a\x99\xe2\xec\x08\xd9\xb2\x4b\x86\xc7\x83\x14\xc6\xab\xa2\xa3\x91\x15\xa6\xa3\x5a\x4b\x5e\x13\xc1\x28\x8d\x46\x67\x21\xa7\x38\x28\x2f\xdb\x48\x2c\xe8\xa0\x67\x19\x07\xe5\x50\x47\x69\x39\x38\x0c\x59\x27\x9b\x53\xa1\x04\x5b\xc9\x06\x45\x3a\xa8\xc1\x34\xa8\xd1\x3a\x50\x83\x12\xad\x03\x35\xa8\xd0\x3a\x50\x5d\x81\x7a\x98\x2a\xab\x0a\x1a\x18\xb2\x21\x0c\x1b\x34\x73\x50\x83\x89\x99\x05\x51\x3f\x38\x4e\x81\x12\x5e\x01\xd4\x0f\x0e\x52\xa0\x84\x55\x10\xf5\xb3\x14\x28\xe6\x14\x44\xdd\xc1\x54\x82\x16\x75\x6c\x4e\x07\xe1\xfd\x04\xdd\xe1\x61\x97\x9c\x1e\x87\x00\x09\xaa\x83\xe3\xb4\x85\x18\xcd\xb3\x21\x60\x11\xde\x4f\x30\x04\x35\x70\xe2\xef\x97\x53\xcc\xfe\x87\xfc\x3c\x1c\x00\x75\x0f\x91\x09\x43\x48\xc9\x8b\x9b\x58\x12\xd1\xe5\x18\x0d\x12\x98\xe1\x63\x80\x12\xed\x7f\x30\x8a\x98\xd9\x00\xc5\x5d\x1b\x21\x5e\x27\x29\x4a\xa9\xeb\x70\x1c\xba\x0e\xd9\x9a\x96\x81\x22\x4d\x8c\x2a\xdc\x1d\x6e\xbf\x1d\x2a\xf0\xc4\xe0\xc2\xed\x50\x85\x27\xd6\x16\x6e\x87\x4a\x3c\x31\xb5\x39\x15\x37\x75\xd3\x12\xdf\x4f\xb0\x6f\x68\x61\x56\x15\x39\x2b\x85\x57\xa4\x46\x87\xc2\xc7\xb0\x09\x2e\xe1\xb7\x53\xd4\x5d\x4d\x80\x09\xdf\x9d\x80\x36\x39\x6c\x02\x4c\xc4\xe4\x10\xcd\x70\x13\x60\x32\x50\x83\x61\x97\x9c\x86\x70\x82\xae\xbd\xc5\x02\x08\xf3\x11\xc1\x30\x16\x51\x64\x10\x98\x74\x03\xb0\xb3\x91\x9b\x39\xbd\xe1\x9e\x5e\x67\xd6\xb3\x70\x6e\x03\x00\x2d\xe8\x8c\x95\x8a\x46\x28\xd7\xc6\xa7\x2a\xf8\x2d\x8b\x70\x3a\xd5\xfe\x47\x20\x63\x31\x9c\x27\x3f\xaa\x13\x2d\xf3\xa3\x46\x50\xaf\x59\x4f\x9d\x7b\x3a\x38\x6c\x04\xf5\xfa\xf5\xd8\xea\xd7\xb3\x41\x23\xa4\x1f\x83\xa1\x65\xa8\xe3\x90\x4f\x2a\x01\xf1\x4f\xcc\x23\x87\x09\x8d\x35\x4c\x83\x9e\xad\x03\x35\xe8\xd9\x3a\x50\x83\x9e\xad\x03\xd5\xf5\x6c\x0c\x93\xcd\xb9\x97\x81\xa3\x83\x2e\xc1\x58\x27\xa6\x17\x02\x79\xab\x86\xaa\x72\x14\x0a\xbc\x87\xf2\xc4\x3f\x01\xdf\x27\x92\x7b\x0f\xe5\xe9\x7e\x74\x68\xdf\x58\x6f\xcb\xa3\x3e\x38\xec\x92\xd8\x22\x03\x94\x60\x79\xca\x66\x61\xdf\x24\xba\xa8\x9e\x90\xe8\x04\xa3\xdb\x12\xf2\x8d\x64\x34\x62\xc4\xe1\x21\xfa\xd3\x40\xf5\xc3\x83\x06\xb8\x61\x1c\x28\xe0\x18\x9e\x35\x01\x06\x6c\x68\x55\xe0\xf0\x74\xd0\x00\x18\x10\xe3\xc8\xc6\x49\x11\x65\x2d\x60\x40\x8f\x23\xab\xd4\x22\xb2\x49\x30\xac\xa1\x6e\x3c\x19\x01\x9b\xa6\x74\x43\xb0\x50\x6b\x1c\x9e\x74\xc9\xc9\x19\xfc\x36\x41\x05\xae\xd8\xb0\xa6\xea\x23\xc8\xc0\x1d\x1b\xd6\xb4\x7e\x04\x19\xb8\x64\xc3\x9a\x01\x88\x20\xbd\x5b\x36\x6a\x54\xe4\x06\x90\x6d\xef\x8c\x5a\x89\x5f\x56\x15\x97\x2c\x32\x3b\xc7\xf0\x11\x82\x25\xe1\x01\x58\xe0\x01\x3a\xce\x16\x86\x4d\x38\x2d\x03\xbe\x1b\x81\x87\x0b\xbe\x89\x87\x60\xcb\x25\x2f\x13\x7b\x8f\x7e\xc1\x49\x02\x32\x7c\x04\x4c\xa2\x07\xe0\xf7\x20\x85\x49\xd4\xc0\x31\xea\x8b\x04\x26\x35\x21\x81\x2f\x04\x20\xf2\x66\x9d\x98\x54\x14\xf2\x60\x98\x3d\xd0\xf0\x51\x50\xa1\xf9\x47\x55\x10\x30\x82\x87\x0a\xbd\x00\x54\x05\x01\x13\x78\xa8\xc8\x19\x18\xc4\x6a\x80\x2f\x22\xf3\xa7\x15\xe1\x51\x24\x18\x00\xc2\xb6\x83\x54\xf9\x2c\x76\xe5\x0e\x70\x34\x0e\xa3\xce\x39\xa0\xe1\xa3\xa0\xfc\xd0\x9d\x1a\xc7\x22\x20\x81\x83\xf2\x83\x87\x9e\xc7\x71\x44\x02\x07\xe5\x87\xef\xb8\x4b\x4e\x4e\x43\x0a\x4c\xb9\x60\x13\xc1\x7d\xb8\x8e\xd4\x3e\x40\x85\x99\x82\xc4\x1c\x07\xdc\x7d\x78\x9a\xc2\xc4\x1c\x07\x9d\x3b\xac\xb5\x13\x73\x1c\xc0\x1d\xd4\xda\x89\x39\x6e\x04\x1d\xb3\xee\xf9\xb4\x00\xf7\x3a\xc9\xb0\xa1\x56\xc1\x74\x9c\x65\xcc\x69\x25\x98\x54\x91\x72\x36\x36\x20\xe8\xdb\x8c\xf2\x52\x4e\x2a\x51\xf9\x80\x78\x80\x6e\x73\xe8\x3b\xcf\xe6\x95\x54\xf1\xfb\xd0\xb9\x8e\x33\x7f\xe0\x6f\x25\x01\x73\x10\x6f\xc1\xdd\x34\x9e\x4e\x6e\x27\xae\x39\xf8\x69\xe1\xed\x34\x82\x3e\x88\x6f\xa7\xa1\xf3\x49\x7c\x3b\x72\x56\x47\xa8\x09\x8e\x81\xf8\xa3\x14\x26\xf1\x2f\xc0\x4a\x39\x95\xb1\xc9\x49\x05\x0b\xe5\x49\xba\xc1\x41\xc5\x3e\x9f\xa5\x40\xa9\x66\x41\x55\x66\x81\x42\xd1\x3c\x43\x7d\xa1\x3f\x82\xfb\x83\xd8\x8f\x0f\x6f\x79\x39\xeb\x12\xf8\x2f\xbc\xe5\x1e\xd3\x9c\x15\x70\x97\xbe\x3d\x48\x38\x2b\x32\x5a\x08\x32\x0c\xe5\x53\xff\x86\xb7\x1d\x85\x0e\x86\x5d\xa2\x7f\xc3\xdb\x8e\x36\xe0\x56\xe8\xdf\xf0\xb6\xa3\x0a\x44\x55\xfa\x37\xbc\x7d\xe4\x6e\x9f\x26\xf2\x83\xb7\x8f\x9d\x2d\x1b\x76\x89\xfe\x0d\x6f\x9f\xb8\xdb\x07\x3a\x7d\x75\x18\xbd\xfb\xd4\xdd\x3e\xee\x12\xfd\x1b\xde\x3e\x73\xb7\x4f\x13\x1d\x10\x99\xf0\xa3\x2e\x81\xff\xc2\x5b\x8e\xa6\x3a\x65\x15\xa4\xad\xf0\xb6\x23\x28\xfa\x74\xf8\x1b\xde\xf6\x2d\x1f\x77\x89\xfe\x0d\x6f\x3b\x82\xea\x7c\x59\x90\x33\xc3\xdb\x3e\xc9\x31\xd4\x2e\xcd\x71\xf4\x6e\x47\x50\x9d\x8d\x0b\x32\x72\x78\xdb\x11\xf4\xf8\xb8\x4b\xf4\x6f\x78\xfb\x24\xcc\xa0\xe8\xdf\xf0\xb6\x23\xe8\xc9\xb0\x4b\xf4\x6f\x78\xdb\x11\xf4\xe4\xb0\x4b\xf4\x6f\x70\xdb\xf5\xeb\xb4\x4b\x4e\x7d\xe0\x86\xb7\x1c\x41\x4f\xc0\x67\xc1\xdf\xf0\xb6\x23\xa8\x76\x67\x02\x97\x06\x6f\x8f\x42\xcf\x48\xff\x86\xb7\xfd\x8b\x0f\xbb\x44\xff\x86\xb7\xbd\x5f\x05\xee\x0b\xfe\x86\xb7\x1d\x41\x21\xcc\xd3\xbf\xe1\x6d\x47\xd0\xb3\x51\x97\xe8\xdf\xf0\xb6\x23\xe8\xd9\x61\x97\xe8\xdf\xf0\xb6\x23\xe8\xd9\x49\x97\xe8\xdf\xf0\xb6\x23\xe8\xd9\x59\x97\xe8\xdf\xe0\x76\xe0\x05\x6b\x4f\x66\x18\xea\x8c\xc3\x81\xbf\x3d\x32\x41\xd1\x70\x10\x22\x77\x38\xdc\xe6\x0a\x20\x84\xf7\x63\x21\x22\xb5\x1f\x21\xc4\x41\x1c\x0e\x9a\x8f\x10\x22\x08\x18\x47\x18\xab\x86\x01\x2b\x42\x1c\x79\x88\x23\x93\x2b\x1d\x0e\x23\x3c\x8e\x3d\xc4\x89\x31\x09\xc3\x61\x84\xc7\x89\xf7\xa3\x31\xb2\x19\x84\x39\x1c\x84\x38\xf5\x10\x23\x8c\x7d\xc2\x00\x08\x21\xce\x3c\xc4\x91\x9d\x09\x18\x85\x78\x78\x44\x31\x33\x0a\xbf\xe1\x5d\x4f\x71\x88\x65\xed\x47\x08\xe1\x29\x8e\x1e\x93\xf9\x08\x21\x3c\xc5\x31\x4c\x33\x1f\x21\x84\xa7\xf8\x01\x06\x3f\x47\x61\xc6\x1b\x21\x02\x4b\x84\x1e\x92\xfe\x08\x21\x7c\x47\x0e\x07\x26\x3e\x1f\x1e\x46\x78\x1c\xc7\x61\xa0\xf9\x08\x21\x3c\xc5\x0f\x31\xc6\x3f\x0a\xb3\xe5\x08\x71\x1a\xc5\x0f\xf6\x23\x84\xf0\x14\xc7\x78\xd4\x7c\x04\x10\x1e\x0d\x34\xbc\x41\xaa\x09\xef\x0e\xa2\x80\xdd\x7e\x84\x10\x41\xcc\x06\xf1\x80\xf9\x08\x21\x3c\xc5\x31\x03\x6f\x3e\x42\x88\x20\x39\x02\x21\xa4\xf9\x08\x21\x02\xb7\x14\x50\x30\x1f\x21\x84\xa7\x38\x68\x5d\xfb\x11\x42\xf8\xae\x1e\xa3\x4f\xa3\x3f\x42\x08\x4f\x71\xd0\xbd\xf6\x23\x84\xf0\x14\xc7\x6c\x9b\xf9\x08\x21\x3c\xc5\x4f\x8e\x71\x2a\x35\x9c\x4f\x05\x08\xff\x12\x1b\x67\x85\x38\x9c\x78\x8a\x83\x1e\xb6\x1f\x21\x84\xa7\xf8\x29\x20\x68\x3e\x42\x88\x20\x21\x70\x68\xe7\x6c\x22\x9d\x7c\xe2\x29\x7e\x0a\x08\x9a\x8f\x10\xc2\x53\x5c\xa7\xdf\xf4\x47\x08\xe1\x29\x0e\xb1\x99\xfd\x08\x21\x3c\xc5\x41\x33\xdb\x8f\x10\xc2\x13\xe3\xec\x18\xe7\x1f\xc3\x49\x48\x84\xf0\x14\x3f\xc3\xcc\xbd\xfe\x08\x21\xce\xbc\xf3\x38\x34\xce\xf0\x68\x10\xe2\x71\xea\x01\x74\xf4\x1b\xe9\xad\x53\xef\xc0\x0d\x30\x2e\x3c\x0c\xb3\x52\x08\x11\xa4\x04\x71\x46\x47\x7f\x84\x10\xde\xcb\x1d\x9c\x61\xa8\x1f\xc6\xfb\x08\xe1\x5d\x5c\x50\xd0\xf6\x23\x84\x38\xf4\x10\x80\x82\xf9\x08\x21\x8e\x3c\x04\xa0\x60\x3e\x42\x88\x63\x0f\xa1\x4b\x03\xc2\xfa\x00\x84\x38\xf1\xe1\x0b\x4e\x64\xe9\x8f\x10\xc2\x93\x0b\xa7\xb0\xcd\x47\x08\xe1\x29\x8e\xd3\x4e\xe6\x23\x80\xf0\x00\x07\x10\x8c\xc2\x6f\x78\xd7\x53\x1c\xe7\xd1\xcc\x47\x08\xe1\x29\x8e\xd3\x0e\xe6\x23\x84\x08\xe2\x0a\x37\x21\x1c\x69\xe9\x33\x4f\xf1\x83\x13\x9c\x28\x09\x67\x4b\x10\xc2\x53\x5c\x97\x67\x44\x41\x21\x42\x78\x8a\xe3\xb4\x9f\xf9\x08\x21\x3c\xc5\xfd\x5c\x7c\xa4\xa5\xcf\x3c\xc5\x0f\x01\x05\xf3\x11\x42\x78\x8a\x63\x5c\x6a\x3e\x42\x08\x4f\x50\x9c\xa4\x34\x1f\x0e\x22\x4e\xb9\x47\xf3\x80\x71\x2a\xb1\xf1\x6e\x6d\x02\x25\xba\x5b\x9b\x3f\x89\xee\xd6\xa6\x4f\xa2\xbb\x6b\x56\x14\xd5\x5d\xa4\x33\x75\x42\xc0\x77\x9f\xed\x88\xdb\xd8\xe6\xb8\x8d\x6d\x8e\xdb\xd8\xf6\xb8\x8d\xed\x8e\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8e\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xe6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8f\xdb\xd8\xf6\xb8\x8d\x6d\x8d\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xd6\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\x6d\x8d\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xd6\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\x6d\x8d\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xd6\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\xce\xb8\x8d\xed\x8c\xdb\xd8\x8e\xb8\x6d\x5e\x95\x6c\x9d\xb3\xbb\xb8\x37\xba\x22\x6f\x90\xc0\x34\x55\x9e\xd7\x80\x9a\x8a\xcf\x1d\x07\x58\xa0\x86\xfa\x73\x5f\x56\x62\x81\x1a\x4b\xd0\x87\x0e\x48\xd5\x0a\x0f\xb4\x93\x74\x3a\x88\x41\xd2\xd2\xc9\x41\x03\x4c\x43\xf5\xe4\xf0\xf8\x24\x86\x49\x0a\x28\x8f\x71\x32\x3c\x06\x89\x67\x07\xc1\x58\xb9\x85\x02\xbc\xcc\x93\x5a\x0a\x6c\x25\xf4\x49\x1d\x48\x82\x31\x62\x33\x38\x4e\xa1\x62\x9c\x23\x07\xd4\xc1\xc4\x38\x9f\x86\xf5\xc9\x0e\xa6\x8e\xb4\x33\xb0\xfc\xb6\x12\xeb\x86\x10\xd5\x0d\x3a\x02\x0c\x77\x42\xa4\x55\x9c\x11\x4f\x20\x44\x5a\xc2\x19\x31\x04\x42\xa4\xf5\x9b\x11\x37\x44\xb5\x7a\x9a\x3b\x0f\x22\xb7\x09\x01\xd2\x8a\xd3\xe3\xd0\x6d\x42\x88\x14\xd1\x41\xe8\xe0\x21\x44\xba\x54\xe5\x34\x74\x87\x11\x22\x45\x14\x42\x2d\x4b\xd0\x82\xde\xb2\x32\x67\xc2\xbf\xc6\xa2\xea\x65\xd6\xc2\x4c\x8a\x95\x9c\x27\x18\x0f\x42\x05\x11\x01\xa6\x7d\xdb\x0c\x99\xae\xca\x39\x0c\x15\x68\x04\x99\xf6\xf5\x00\xcb\xc9\x9b\x20\x9b\xd6\xe5\xb8\x19\xf6\x82\xde\x95\x71\xd1\x19\xbe\xf3\x28\x28\xe0\x2b\xd8\xa2\x2a\xb3\x39\x9f\x4e\x83\x12\x36\x5f\x24\xe1\xe2\x9e\x10\x2e\x65\xbb\x8d\x80\xe9\xa0\x1e\x84\xbe\x46\x08\x98\x32\x21\xba\x92\x4d\x2d\xa6\xdd\x3d\x09\xa3\xa6\x82\xcf\xe6\x51\xe1\xbf\x4e\x39\x61\xb1\x8b\x0b\x27\x1c\x50\x5c\x67\xa8\x17\x53\xb9\x0c\x90\x83\x8a\xeb\x0c\xf5\x4a\x2a\x17\x34\x38\xa8\xb8\xce\x10\x97\x51\x05\x14\xb1\x50\x71\x9d\xa1\xd5\xad\x21\x54\x5c\x91\x8e\xf1\x07\x56\xf5\x8c\xa2\x37\x86\x55\xc7\x9a\x8b\xe2\xf4\x95\x03\x1a\x3e\x0a\x2a\xf1\x82\xe2\x6a\x3a\x07\x15\xf8\x9e\xf5\x52\x6a\x07\x75\x18\x47\x93\x71\x19\x1d\x42\xd5\x6b\x4c\xb4\x30\x0c\xc3\x98\x2f\x86\x4c\x97\xbd\x1d\x6f\x6e\x34\x15\xb1\xc1\xe6\x56\x53\x19\x1b\xd4\x58\x69\x53\xed\x09\x78\x3e\x2e\x38\x88\x21\xe3\x94\x67\xe0\x18\x0c\x63\x24\x82\x82\x15\x5c\x2e\x63\x3f\x62\xa0\xa8\x5c\xd4\xda\x74\x6f\xfb\x2c\xd4\xee\xa6\xea\x06\x1b\xab\x1c\x9d\x9e\x77\x40\x89\x01\x3c\xc1\x18\xe4\x28\x85\x4a\x8c\xf6\xf1\x28\x8c\xa7\x1c\x54\x5a\x77\xae\x17\x2d\xa4\x50\x31\x6d\x71\xa9\xce\x20\xc2\x3d\x29\xaf\x45\xbc\x8e\xa3\xf2\xda\x00\x6c\xf8\x48\xb8\xa4\x07\x58\x13\x3f\x3c\xac\xc3\x25\x7d\x80\x91\x3f\x3b\xad\x83\xc5\x9d\x38\x3d\x09\x12\x88\x1a\x2a\x29\xfe\x3d\x18\x99\x6a\x45\xbf\x50\x51\xc3\xc5\xf5\x91\x43\xbd\xd0\xed\x38\x32\x52\x01\xdc\x30\x8a\x5a\x47\x98\xe6\x8e\xe5\x3b\xad\x92\x1c\x1e\x1f\x5a\x0e\x89\x45\x3c\x2d\x94\xc4\xca\x5a\xe4\x92\x44\xca\xd3\x5a\x49\x74\xc7\x46\x07\x35\x91\xac\xd5\x08\x0f\x0f\x6c\x9e\x2b\xc5\x31\x2d\x13\x1e\x0e\xdd\x3a\x91\xa3\x83\x06\x48\xf6\x08\x48\xc5\x58\x11\x9b\x02\x1b\xa9\x8e\x12\x7e\xb0\x90\x49\xe5\xff\xa8\xae\x2c\x1d\x68\x52\xf9\x3f\x1c\xd4\xc9\x69\x41\xe3\xca\x7f\x0c\xfb\x53\x82\x5a\xd0\xa4\xf4\xbf\x81\xa6\xa9\x76\x71\x4e\xdf\xe8\xb0\x0e\xd6\xe4\x1c\x36\xc1\x35\xb9\x88\x83\x86\xd7\x36\x39\x8a\xa7\x83\x3a\x5c\x93\xbb\x18\x90\x7c\x11\xaf\xc7\x38\xb2\xc6\x24\x60\xf0\x92\x95\xb1\x06\x35\x6e\xa5\x01\x48\x56\x7e\xe8\x19\xad\x70\xb0\x0c\xc0\x70\x27\x44\xdc\xf5\x68\x14\x0d\x44\xdc\xe9\xc8\xd1\x31\x10\x71\x77\xa3\x15\x28\x0b\x2a\x2a\xaf\xb9\x90\x03\x0f\x21\x60\x38\x8e\xee\xc7\x68\x1e\x8d\xc2\xcc\x91\x86\x48\x4a\x65\x4f\xc3\x10\x49\x43\xc4\x68\xa2\xe8\x3a\x2b\xa1\x21\x92\x32\xd9\x30\x40\x5a\xb0\x9c\xaf\x16\x0d\x6b\xb8\x1b\x96\x53\x6b\xd8\x86\x15\xb7\x9e\x2c\x08\x91\xac\xf7\x38\x3d\xd6\x31\x90\x37\x4b\x21\x58\xec\xa6\x0c\x07\x91\x8a\x08\x01\x63\x4f\xe5\xec\x28\x1a\xb0\x00\x2e\xf6\x55\x62\x25\x16\xc2\xc5\xde\xca\xd1\x51\x34\x78\x08\xb7\x5c\x89\x65\xe1\x29\x72\x78\x62\x55\xd8\xb0\x09\x2e\xd0\xc7\x43\x93\xc7\x4e\x3b\xa2\x01\x83\xe4\x2a\x8a\xc7\xb0\xde\x13\x0d\x18\x64\xb5\x4f\x4c\x51\x7a\xda\x15\x0d\xe8\xf5\xf1\x81\x9e\x83\x4a\x7b\x92\x9a\x20\x34\x8d\x98\xa7\x74\xd9\x7a\x03\x58\x53\xdc\xa8\x89\x06\x87\x75\x1c\xe5\x52\xf0\x72\x56\x9f\x80\xd6\x55\xf6\x11\x68\x6d\x61\xc4\xc9\xc8\x65\xdc\x62\x48\xbd\x36\x22\x5c\x73\x73\x86\xf9\xb0\x30\x20\x5c\xf0\xbc\x4c\x9d\x7d\xad\xb0\x43\x27\x6e\xc1\x4b\x95\x09\x46\x17\x71\xb2\xc7\x04\x2d\x0e\x48\xaa\xb5\xa8\x64\xc3\x9a\xf9\x91\x9b\xe5\x70\x40\x0d\xcb\xe6\x1b\xa0\x1a\x56\xce\x7b\x07\xd0\x41\x35\x2d\x9e\x77\x19\x61\x07\xd5\xb4\x7e\xde\xe5\xe5\x16\x55\x96\x51\xc9\xcb\x3a\x56\xbe\xa5\x92\xde\xd2\x9f\xab\x86\x2a\xf8\x51\xe4\xb6\x05\x60\x69\x27\x37\xc1\xa5\x75\xe8\x27\xe1\x04\x40\x00\x97\x16\xa4\x47\x41\x41\x00\x97\x76\x75\x18\xcc\x0b\x96\xf4\x76\x1d\xab\x1c\x1f\x14\xc1\xbd\x86\x95\x9a\xee\x7e\x55\xe4\x05\xcd\x82\xde\x1f\xd8\x94\x9f\xb3\x29\xb8\x00\x2f\x17\x74\xe2\x95\x1f\x2e\x4f\x1f\x05\x6b\xe2\x1d\x4c\x10\x39\xda\x35\x82\xc7\xa3\x14\x28\x08\x1c\x6d\x54\x75\x74\x9a\x02\xc5\x71\x63\x6c\x07\x1d\x50\xc3\x72\x2c\x17\xe1\x37\x2d\x07\x3c\x0e\xaa\x34\x1a\x97\x02\xd6\x01\x12\x77\x18\x90\x89\x01\x92\x21\x3c\x38\x48\x01\x12\x37\x7e\x90\xde\x0f\xf3\x6f\x48\xb0\xb3\x06\x88\xe1\x6e\x90\x18\xd3\xe3\x1a\xa2\xb5\xd4\xdb\x51\xad\xb3\xb5\xcc\xdb\xc1\x49\x08\x12\x1a\x2e\xbd\xfe\x41\x2b\xfc\xc3\x08\x22\x21\xe9\xc1\x30\xd4\x29\xa9\xb5\x42\xa2\x62\xce\xde\x69\xb0\xc4\x50\x8d\xdc\x54\xb3\x9f\x04\x49\x6d\x14\xa0\xaa\x35\xbb\x35\xfe\x4b\x5a\xb0\x0d\xf1\xb4\x8e\x30\x06\x21\x60\x14\x4e\xea\x5c\x34\x6e\xd4\x30\x4a\x81\x86\x31\x57\x62\x07\x9d\x3a\x77\x50\xa3\x6d\xa1\xa9\x83\x3a\x88\x53\x4f\x3a\x8a\xaa\x41\xf9\x62\x03\xbb\xf0\xe6\x34\x84\xa9\x19\x8f\xe1\xc9\x51\x2d\x53\x11\x01\x06\xb3\x6d\x27\xb5\xcc\x47\x04\x19\xc8\x69\x7d\xcb\x96\x08\x32\x10\xd6\x7a\x06\x24\x82\x3c\x8c\x5c\xa8\x24\x0b\x02\x90\x35\x1b\x87\x73\x3e\xba\x08\xe0\xf0\xa4\x09\x30\xe5\xb7\x41\x38\xc9\x19\x41\xa6\x6c\x87\x63\xdc\xf8\xf2\x94\xfb\x0e\x53\xde\x72\x90\x75\x26\x74\xa9\x83\x25\x5d\xd2\x35\xbd\x9b\xf3\x65\x92\xa5\x41\xa3\xed\xa0\x18\xcd\xe6\xcb\xd5\x74\x1a\x03\xe9\x89\xd4\xa3\x14\x28\x5d\xff\xd4\x0c\x95\x9a\x9f\x68\x56\xd7\x41\xa5\xc6\xe7\x28\xcc\x42\x38\xa8\x74\x51\xd4\x59\x98\x86\x58\x32\xb1\xaa\xeb\x3f\x37\x91\x5d\x4f\xae\xe8\xfc\x5f\x78\x3f\x5d\xd5\x3f\x0c\x13\xba\x4d\x29\x95\xb3\x70\xf2\xb7\x29\x9b\x72\x14\xce\xc7\x37\x24\x52\xb0\x07\xee\x7e\xb1\xf2\x4e\x10\x72\xc4\x31\x2e\x5c\x1b\x06\xf7\x53\x14\x4f\x22\x91\x29\x56\x8b\x74\xc3\x81\xc8\x21\x04\x80\x74\x1d\x57\x14\x17\x00\x40\xba\x86\x6b\x14\xc9\x45\x75\x97\x27\xfb\x5c\xe8\xac\xc6\x61\x68\xa8\x13\x87\x1c\xba\x81\xd3\x8c\x87\x31\x40\xa0\xc2\xcc\x0a\xc4\xa0\x2f\x89\x0b\x0e\xa4\x3c\x8c\x3b\x93\xf8\xde\x23\xb3\xfa\x30\xe8\x4d\xec\x74\x63\x6c\x13\xa5\x25\x53\x7b\x17\x18\xc4\x9a\x34\xc7\xf7\x6a\x41\x69\x70\xaf\x16\x8e\x06\xf7\x6a\x81\xa8\xbb\x57\xc9\x75\xbc\xdd\x90\x59\x75\x1e\x4e\xc2\x38\xa0\x86\x65\x7d\x3e\x4f\xe8\xa0\x1a\xd6\xf5\xf9\x64\x80\x83\x6a\x58\xd8\xe7\x57\x9c\x3b\xa8\x86\x95\x7d\xbe\xde\x4a\x54\x6b\x1a\x25\x72\x8e\x9d\xa1\x1c\xd5\x60\x86\x61\x70\xa1\xf7\xbb\x39\xaa\x01\x39\xd4\x8f\x4f\xcc\xa4\xa4\x1f\x78\x07\xe4\xab\x0d\x4f\x4d\xa0\x59\xc7\xc8\xd7\x70\x9e\x69\x4f\xc4\x8f\xbe\xa4\x79\x5e\xb0\x98\xe8\xb5\xed\x67\xd2\xc4\xa6\xcb\xf6\x3b\x57\xa3\x31\xa7\x79\x38\x08\xe9\xd3\x98\xce\x04\xeb\xe0\xc2\xfb\xc6\x44\x26\x58\x9a\xd3\xf8\x35\x89\x8e\x3f\xee\x92\xa3\x13\x07\x50\xe6\x31\x0b\x8d\x40\x60\x30\x99\xe8\xb2\x19\x69\x80\x79\x78\x6c\x4d\xf9\x49\x02\x31\x0c\xad\xbd\x71\x2f\xce\x12\x18\xd7\xa3\x13\xb7\xb7\x86\xab\x91\xaa\x6d\x68\x70\x7c\xe2\x5c\x8b\x14\xe6\x70\x2b\x3a\x72\xce\x8a\x78\x07\x20\x13\x17\x9c\x26\x30\xe9\x24\x5f\x23\x50\x3a\xf9\x70\x16\x26\x1b\x2d\x50\x3a\xed\x70\x12\xce\x89\x59\xa0\x86\x99\x4c\x3f\x8d\x21\x39\x2b\x4b\x1a\xa9\xc0\xd3\x51\x97\xb8\x39\x47\x7d\xbf\xc1\x61\x70\xfe\x82\x86\x68\x70\x14\x5c\xd6\x5a\x43\x34\x38\x08\x9e\x27\x10\xa2\xee\x18\x78\xaa\x6c\xcc\x65\xbb\x88\xaa\x96\xc6\x0e\xf2\xdd\x09\x8c\x57\xd7\xa8\x67\xd1\xc2\xa6\xaf\x0a\x76\xb1\x3a\x35\xc5\x64\x5e\x6c\xd3\xbc\x35\x4e\x6d\x0c\x23\x0b\x54\xcf\x7c\x00\x2a\x67\x91\x19\x73\x30\x01\xd2\x60\x4f\x87\xd1\x06\x05\x0e\x2a\x40\x1b\x0b\x4d\xa3\xe9\x43\x07\x75\x10\x45\x78\xa7\x67\x8d\x2f\xf4\x98\xc3\x40\x0d\x6a\x88\xc7\x19\xf4\x91\x55\x26\xce\x25\x6f\xd8\x67\xe3\xec\xb4\x36\x6b\xd0\xb0\xc7\xc6\xe9\x51\x6d\xca\xa0\x61\x7f\x0d\x4c\x64\xc5\xa9\xb6\xfa\xde\x1a\x7a\x60\xe2\xcc\x76\x43\x52\xbf\x01\xf9\xb2\x96\xf7\x8e\xa6\xee\xe1\x7e\xd3\xb4\x74\x04\xd0\x30\x1d\xed\x03\x32\x00\x68\x98\x86\xf6\xe1\x18\x00\x34\x4d\x3f\x3b\x8f\x79\x53\x36\xec\x28\xac\x77\x0d\x80\x6a\xcb\x32\x1a\xa1\x6a\xcb\x33\xfc\xa6\x1b\x01\x54\x6d\x99\x86\xaf\x69\x0e\xa0\x6a\xcb\x35\x5c\x1d\x7b\x6d\xbe\xe4\xc4\x15\xe2\x3a\xb3\x5e\x9f\x29\x39\x3b\x33\x75\x8a\x01\xff\xd4\xe6\x48\xf4\x9e\xa2\xb1\xbc\xd6\x66\x47\x30\x27\x74\x18\xb9\x58\xf5\x79\x11\x9c\x5b\x1f\x44\x9c\xaf\x82\x99\x70\x53\x5f\x14\x16\x9f\x28\x5a\x9b\x11\x3c\x0a\xca\xe4\x15\x4d\x2d\x27\xbc\xc2\xc5\x10\x8a\xa6\x66\x33\xf2\xfb\x15\x2d\xeb\x59\x0f\xe7\x50\xa9\x39\x97\xaa\x08\x76\xc4\x3b\xb6\xdb\x98\xb8\x5d\x47\x0d\x48\x9a\x6e\x8b\x62\x55\x03\x93\x66\x14\x23\xaf\xc5\xc0\xa4\xf9\xc4\x68\xaa\xc9\xc0\xa4\x29\xb6\x48\x12\x55\xb5\xa0\xaa\x8a\xb0\x39\x3b\x0b\xcc\x86\xbe\x3f\xdc\x05\x90\x94\x47\x8d\x02\xb3\xa2\x01\x62\x44\x61\xe8\x9d\x55\xd1\x00\x49\x61\xd4\x61\x60\x55\x6a\xa9\x80\x63\x57\xed\x38\xa8\xc1\x44\x12\x16\x6f\xed\x58\x8f\xff\x07\xb5\x8d\x1d\xeb\x91\xff\xa0\xb6\xad\x63\x3d\xe6\x1f\xd4\x76\x75\x8c\x77\xfb\xf1\x2e\x9a\x7f\x53\x3d\x1f\x00\x8a\x12\x73\x38\x4e\x05\x6e\x48\x05\xe0\xb4\xa2\x53\x73\x1b\xb2\x00\x58\xbd\x7d\x58\x03\x4a\x32\x65\xd1\xe2\x80\x0d\xb1\x3f\xf4\xcc\xad\x23\xb9\x9b\x33\xea\xfb\x75\xe8\x93\xc5\x67\x21\x40\x5a\xbe\x31\x0c\xab\x96\x11\x22\xe5\x6e\xac\xbe\x3e\x0c\x21\x52\xde\x3e\x0e\x3b\x8d\x10\x29\x67\x1f\x87\x3a\xb0\x69\x0f\x98\x88\x1d\x10\x40\x2e\xaa\x9b\xa6\xcd\x75\x9d\x67\xb5\x69\xfe\x75\x10\xdd\x6f\x98\x78\x8d\x01\x1a\x66\x5c\x63\x80\x86\xa9\xd6\x18\xa0\x61\x8e\x35\x06\x48\x92\x7d\x61\x72\xf9\xc9\xc3\x8b\x27\xfd\x3e\xf9\xf0\xc3\x4f\xef\x5f\xbd\x26\x97\x6f\xde\xbe\x7e\x4e\x0a\x3e\xc9\x2b\xd5\xff\x59\xf6\x0b\x3e\xf9\x3c\xed\xfd\x2c\x01\xe4\x55\xb5\x5c\x0b\x3e\x9b\x2b\xd2\xce\x3a\x60\x09\x47\xfa\xbc\xfc\xb9\xa8\x16\x7c\xb5\x20\x3f\x7c\x20\xe3\x95\x9a\x57\x42\xf6\xc8\xb8\x28\x08\xc2\x4a\x22\x98\x64\xe2\x96\xe5\x3d\x68\xe3\x27\xe9\xcf\x49\x97\xd5\x4a\x64\x8c\x64\x55\xce\x08\x97\x64\x56\xdd\x32\x51\xea\x63\xb4\x29\x79\xf9\xe1\x62\x5f\xaa\x75\xc1\x48\xc1\x33\x56\x4a\x46\xd4\x9c\x2a\x3c\xf2\x7b\xc2\xa0\xa5\x69\xb5\x2a\xf1\x44\x54\x35\x67\xe4\xed\x9b\x57\xaf\xdf\x7d\x78\x6d\x76\xe4\x7e\xd2\x5a\x49\x7d\x92\x56\xa6\x5a\x7e\x7b\xef\xef\x04\x9d\x90\x09\x9d\x01\x02\x2b\xc5\x0b\xae\xd6\xee\xa8\xa8\x60\x07\xf1\x29\x39\x27\xbf\x85\xc7\x7a\x09\x46\x15\x23\x94\xac\x4a\xfe\xcb\x8a\x11\x56\xae\x16\xf1\xe9\x5d\xff\x2c\x57\xcb\xa5\x60\x52\x92\xdf\x0a\x5e\xaa\x57\x73\x96\xdd\xc8\x87\x8d\xc7\x61\x8d\xc9\x7c\xb5\xa0\x25\x99\x0a\xce\xca\xbc\x58\xeb\xab\x53\x3c\xd6\x72\xb2\x9a\xcd\xcc\x49\x8b\xfe\x60\xac\x1f\x26\x3f\xb3\x4c\x3d\x90\x71\x84\x02\xd2\xe3\xae\x2a\x5b\x0a\xcf\x9d\xa3\x82\x11\xf6\xcb\x8a\x16\x04\x0f\xa6\x5b\xab\x39\x2f\x67\x78\xc6\x5a\xd0\xb5\x5e\x86\x9d\x79\x0d\xcf\x37\x9e\x93\xd5\xef\x93\xbf\x32\x02\xe4\xa3\x44\x1f\x21\x4a\x2a\x7c\x3b\xa1\x92\x94\x95\x6f\x94\xc8\x39\x9e\x98\x39\x01\x68\x73\xde\xf9\x82\xec\xef\x93\x3b\x46\xee\x68\xa9\xf0\xd4\x68\x68\xce\x0e\x45\x39\x23\x4b\xc1\x17\x5c\xf1\x5b\x26\xcd\x09\x9b\xc5\xba\x47\xc8\xcb\x95\x32\x1d\x67\x42\xea\x23\xee\x78\x99\x15\xab\x9c\x91\x6a\xa5\x8f\x0c\xeb\x05\xe7\x52\xb1\x3b\x83\x98\xc6\x3a\x3a\xa3\xea\xbd\x3e\x20\x8b\xdc\x52\xc1\xe9\xa4\x60\x44\xb0\x29\x13\xac\xcc\xf0\x4c\x6e\x42\x83\x73\x2c\x01\xfc\x2f\x06\x4c\x9f\xbc\x56\xe9\x93\xd4\xa6\x95\x58\x90\x7f\xba\xfc\xe9\xdd\xab\x8f\x6f\x7e\x78\xd7\xfe\xcb\xf8\xfd\xbb\xf1\xf7\xaf\x3b\x3d\x42\xec\x35\x60\x56\x5a\x92\x6a\x09\xb4\xa3\x05\xb4\xc4\x64\x46\x97\xcc\x1f\x3f\x0b\x43\xb0\x5c\x16\x6b\xbb\x77\x7c\xc4\x2e\x97\x95\x20\xec\x9e\x2e\x96\x05\xd3\x07\xe7\xea\xa1\x31\xa7\x7b\xfd\x85\x0a\xd9\xde\xfb\xa7\x36\x88\xac\xe2\xe5\xac\xd3\x25\xff\xc4\x4a\x10\x92\x9f\xde\xbf\x79\x65\x0f\x18\xd4\x9d\x07\x11\x7f\xda\x78\x34\xec\x6f\xc4\x3e\xff\x9c\xec\xfd\x19\x74\xc0\x66\x58\x7d\xc8\xd8\x73\xb2\xf7\x5d\x55\xcd\x0a\xf6\x6c\x4f\x1f\x46\x8d\xb8\xfe\x15\x86\x43\x30\xb9\x2a\x14\x50\x50\x37\xd5\x25\x1a\xf2\x9f\x46\x2f\xf7\x42\xe6\x0a\x7a\x10\x72\x97\x54\xa2\x0b\x43\x22\x35\x8b\x99\x81\x94\x4a\xf8\x03\xcd\xfe\xa9\x7d\x45\xf7\x7f\xbd\x7e\xda\xf9\xd4\x6e\x5f\xfd\xed\x53\xe7\xfa\x59\xe7\x53\xa7\x3f\xe3\xc1\x01\xdb\x78\x24\x60\x97\x4c\x4b\x6c\xcb\x73\xac\x3d\x0f\x50\xad\x97\xac\x9a\xe2\x7b\xae\x0c\xc0\x35\x39\x3f\x27\xad\x55\x89\xa7\xc5\xb2\xbc\xd5\x71\xc7\xe9\xe2\x81\xcb\xa4\xf5\x93\x3e\x2a\xcf\xf1\x8b\x3e\xe9\xcf\x3c\x6d\x0e\xd2\xd6\x87\x13\x0a\x3c\x97\x3f\x6c\xdb\xdd\x86\x97\x4f\x4b\x7b\xf8\x5a\x44\x85\x9e\x53\x2f\xd1\xa1\xe0\xb7\xe6\x44\x82\x0d\xb0\x57\xd3\xf2\xba\x2d\x6e\xdd\xb1\x85\xe6\xa4\x44\xfd\x9e\xb0\xa1\xa4\x17\x09\x13\xea\xce\x4c\x4b\xd7\xcc\x93\xf8\x18\x44\x71\x6b\x4e\x41\x8c\x65\xe8\xd2\xa2\x11\x2a\x5c\x90\x62\x73\x84\x74\x88\xb2\x61\x92\x57\x05\x67\xa5\x92\x08\x4b\xf3\x5c\x33\xbd\x3d\x63\x50\x55\x84\xdd\x2b\x56\xe6\x0d\x6c\xde\xd9\xc0\x3d\x9e\x16\xe6\x0c\x05\x27\x00\xcf\xfd\xd7\x6e\x78\xdd\x09\xc6\xf3\x86\x6b\x08\x89\xc4\xf9\xf3\xc7\xef\xdf\x3e\x8f\x38\x33\x3c\xf6\x72\x41\x97\xe6\x7d\x78\xb0\xc5\xd7\xad\xe7\xa4\xf5\x55\xa1\x5e\x98\x93\x2e\x08\x69\x7d\x83\x97\x66\xe1\xa5\xaf\xf0\x12\x5d\x2c\x83\x6b\x7b\x78\xed\x97\x55\x15\x00\xee\xb5\xf6\xe0\xe2\x9f\x0e\xce\x5e\xb4\x34\xdd\xe3\x93\xda\x23\x79\xb8\xfa\xfa\x9b\xaf\x3e\xed\x7d\x6a\x5d\xf7\x67\xa1\x08\x74\xc8\x6f\x16\x7c\x41\x97\x57\x8b\x6b\x73\x6c\xfc\x43\x38\x80\xdf\x31\x85\x3a\xc7\x9e\xf0\x48\xb3\x8c\x2d\x15\xcb\xc9\x4f\x6f\x48\x41\xcb\xd9\x8a\xce\xfc\x41\xe5\xd6\x40\xb9\x77\xe8\xd3\xa0\x1f\x48\x46\x8b\x62\x42\xb3\x1b\xc7\x0f\x30\x90\xbc\xbc\xad\x6e\x98\xe6\x03\x78\x85\x56\x0c\xb2\x47\xc0\x11\xb0\xea\x05\x5b\x64\x8a\x09\xd4\x93\x0e\x8d\xa2\xc2\xc3\x50\x40\x76\x42\x63\xdb\x9b\x31\x35\x46\x0c\xdf\x5a\xdc\xa2\xc3\x4b\x0d\x1a\xfe\x14\xc7\x4d\x4f\xf5\x32\xf0\x43\xd8\x87\xd5\x72\x59\x09\xc5\xf2\xb6\x3b\xd1\x54\xdf\xe8\xf1\xe1\x69\xd9\xf0\x9c\x7f\xc5\x8b\xf4\x54\x52\xc9\xd4\x47\xbe\x60\xd5\x4a\xb5\x1d\x42\xa1\xfc\xd9\x27\xdb\x57\x25\xbd\xe5\x33\xaa\x2a\xd1\xb3\x14\xf6\x63\xb9\x8f\x47\x35\x7e\x6e\x75\xae\xbd\x44\x83\x7f\xe6\x07\xee\xb1\x5d\x0a\x09\x13\xe9\xd2\x3b\x5e\xe6\xd5\x9d\x01\x27\x5f\x7d\x15\x76\x39\x12\xee\x1f\xa9\x40\xd3\xfe\xcb\x8a\x89\xb5\x35\xcb\xe6\x74\xd2\x39\x95\xf3\xe8\x88\x50\x45\x6f\xc0\x34\x92\x95\x28\xd2\x07\xbc\xa5\x6c\xc1\x80\x0e\xcf\xd1\xc0\x7d\x05\xdf\x47\xfa\x7b\x8b\xd0\x32\x87\xa6\x32\x7b\xb6\x7e\x70\x3e\xb7\x71\x29\x42\x8b\xfb\x1b\x72\xc6\xf0\x39\x69\xe9\xc7\xbb\xf8\xf7\xc8\xfd\x4d\x1e\x7a\xe6\x60\x7d\x6a\x8e\xd6\x47\xaf\x89\x2e\x97\x0c\xcc\xcd\x62\x55\x28\xbe\x2c\x18\x51\x7c\xa1\x8d\x3d\xb4\x1c\x62\xdd\x25\x55\x09\x06\x59\x33\x6a\x41\xa5\x32\x27\x7f\xa3\xc7\xa1\xdb\xb1\xcf\x69\xbe\x4e\x0e\x67\x2d\x73\x7b\xbe\x3d\x78\x0b\x4b\x2a\x41\x25\x82\x0a\x5e\xcd\xe6\x24\x67\xa9\xd2\x21\x13\x36\xad\x04\x23\x13\x06\x24\xa3\x79\xce\x90\x1c\xc6\x21\x30\x26\x55\x13\x62\xd3\xe1\xa9\x88\xbe\xf1\xc2\xf4\xf1\x9b\xc2\x9c\x47\x83\x27\x1e\xeb\xd3\x5f\xb9\x22\xfa\x30\x5f\x2d\x96\xd4\x8a\x61\xc1\x28\x9e\x5e\xd3\xfa\xb6\xa5\x4f\x11\x6e\x7d\xdb\x72\x07\x08\xf3\x59\x59\x89\xf0\x74\xf3\x69\x0f\x9b\xfc\x7f\x90\x60\x01\x9b\x05\x28\x78\x11\x0c\x2e\x46\x07\x09\x7f\x6b\x8f\x39\x0f\x11\x3f\x27\x11\xf8\x6a\x22\x95\xc0\x33\x79\x9f\x04\x96\xf5\xb7\x07\xf7\xf7\x92\x72\x74\x1f\xa2\xa7\x96\x05\x57\xed\xd6\x57\xfa\xbc\xd3\xa6\x73\xa4\xf1\xa9\xa6\x53\xea\x6d\x93\xe4\x5c\xc3\x5c\xf1\x6b\xdb\xdc\x79\xcb\x08\xa4\xb8\xbd\xaa\x8f\x5f\x1b\xc0\xaf\x06\xd7\x9d\x6b\x72\xde\x30\xbc\xfa\xf6\xf0\xba\x76\xb2\x34\x98\xd5\x48\xa8\x7f\x7a\xff\x36\xa4\xe8\x92\xaa\x79\x83\x36\xfb\xe9\xfd\xdb\x06\x0d\x16\x1a\x08\x23\xd3\x62\x55\x02\x8f\x9b\x67\x74\x73\xe1\xc1\xad\x70\xa1\x8e\xc1\xbf\x5b\x95\x98\xd7\xd6\xaf\x98\x17\xc4\x27\x21\x17\x74\xb1\x74\x82\xca\x4b\xc5\x66\x4c\xa0\x53\x4c\xe4\x92\x65\x7c\xca\x59\x4e\xb0\xf8\x26\x65\x7d\x03\xfb\x40\x6e\x91\xe3\xb5\x84\xaa\x0a\x78\x36\x83\x46\x35\xcf\xd6\xc1\x17\xbc\xc4\x07\x16\xbc\xe4\x8b\xd5\xc2\x18\x3d\x8c\x01\x9c\xef\xdd\xf0\x14\xbd\xd7\x4f\xd1\xfb\x8d\x4f\xb9\xc8\x09\xfb\x14\x90\xed\xb6\x0b\x6f\xeb\xc2\xc3\x7e\x3c\x6f\xc9\xd7\x70\x35\x1a\xb8\x05\x2f\x5f\xb8\xdb\xdf\x20\x7c\x74\x9b\xde\x07\xa7\x4a\xdf\x46\x84\x7c\xcb\xa6\x8a\x2c\x69\x4e\x28\x29\x57\x8b\x89\x25\xa2\xa6\xab\x39\x4c\x1f\xc5\xde\x4a\xfb\xaf\x4c\x54\x35\xe3\xae\xf5\xc6\xef\xae\xdb\xa6\x29\xe8\xb9\x6f\x75\x49\x37\x90\xd6\xbc\x06\xa0\x73\x26\xb9\x60\xb9\xb9\xb4\xf9\xf4\xe6\x25\xaa\x3b\xdb\x38\x95\x51\xe4\x65\x09\xfa\x2b\xf4\x2b\x0c\x42\x11\xba\x6b\x1a\x8f\x98\xd2\x06\x7c\x08\xd1\xe9\x2d\x69\xfe\x01\xd4\x4e\x5b\x83\x76\x49\x6b\xd0\x4a\x03\x41\x7d\xd2\xb7\x55\x99\x59\x55\x2a\xca\x4b\xd4\xc4\xd6\x7c\x68\xe4\xec\x31\xdb\x24\x9b\x53\x41\x33\xc5\xbc\x5b\x8b\x46\x70\xc1\xd4\xbc\xca\xc9\x82\x72\x6c\x41\x77\x85\x2a\x9e\x91\x8c\x66\x73\x17\x35\x16\x54\xcc\x98\x54\x84\x2e\xaa\x55\x89\x96\x4d\xa7\x90\xa0\x69\x0c\x10\x6f\x99\x20\x82\xfd\xb2\x62\x52\xe1\x39\xef\x6f\x94\x89\xa0\x21\x7e\xb7\x0e\xb6\xaa\xc8\x8c\x95\x4c\x60\xbe\x01\x04\x47\xd2\x92\x15\x6b\x32\x5f\xcd\x98\x6f\x1a\x4f\x82\x77\xad\x6f\x94\xa0\x86\x71\x6b\xc2\xae\xd7\x64\x79\xc6\x96\x70\xfe\x14\x72\xd3\x51\xd7\x87\x80\x09\x02\x57\xee\xaf\xae\xdd\x70\x68\xc3\x21\x45\xad\xa7\x51\xfb\xfa\x9c\x0c\x22\x51\x68\xb5\x9c\x19\x98\x92\x73\x0c\x22\xe2\x46\xad\x1c\x7d\x31\xed\xf9\x1e\xe8\x26\xc2\x2b\xe4\x9c\xb4\x7c\x74\xab\x1b\xbd\x9b\xf3\x82\xb9\x57\x7f\x13\xc1\xf7\x42\x04\x93\xa6\x9e\x9d\x47\x7f\xa7\xea\x3e\x6a\xc6\x58\xb7\x81\x63\x62\xcd\x94\xc4\x70\xe5\xeb\x52\xae\x84\x49\x64\x51\x9f\x2c\xe0\x12\x3d\x49\x13\x60\x61\x9e\x22\x63\x02\xb8\x0d\xbd\x19\x52\xf0\x05\x77\x3e\xc2\x07\xbe\x00\x37\x67\x25\xe9\x8c\x91\xa2\xaa\x6e\x20\xcc\xba\x61\x9a\x56\x3d\x0b\x85\xb1\x96\x60\x33\x2e\x15\x13\x6f\x4a\xae\x8c\xa1\xa1\x05\x15\x8b\x76\x55\xc2\xa5\x8e\x0b\xf2\x91\xd1\xd1\x35\x28\x2a\x10\x90\x3b\x2a\xca\xe0\xe0\x3b\x73\x3a\x3e\x10\x5e\x3f\xd9\xee\x00\xce\x65\xa5\x4c\x40\x60\x11\x87\xb6\x8e\x88\x64\x59\x55\xe6\x4e\x8a\xde\x4c\xc9\xba\x5a\xb5\xc0\x65\x62\x02\x5c\x3d\x68\x59\x82\x71\xa9\x96\xc0\xe9\x18\x5a\x00\x45\x16\x74\x8d\x2e\x27\x29\xaa\x12\xcd\xc5\x9c\x96\xbe\x39\x68\x04\xdd\x49\x5a\xa2\xef\x45\x28\xc9\x57\xe6\x71\x0e\x3a\xb6\x28\xb8\x05\xa5\x12\xf1\xb6\x09\x1a\xd3\x84\x0f\x4c\x62\xd4\x6c\x73\xd6\xb9\xcd\x59\xa9\xc0\x42\x81\x37\x28\x15\xa3\x78\x14\x3f\xf5\x01\x91\x1d\xb7\x2e\xf6\xab\x28\xc8\x8c\x29\xed\x76\xdd\x09\x70\x23\x85\x95\xe1\x4a\x10\x41\xd5\xdc\x76\x85\x12\xc9\xcb\x59\xc1\x2c\x58\x8f\x90\xd7\x34\x9b\x63\xc3\x86\xd4\xd0\x88\x7f\xf8\x4e\xe7\x5e\x8c\x26\xd3\x4f\xe5\xe4\x96\x09\x09\x9d\x36\xf2\xe8\xd0\xba\x43\x09\x57\x15\xb4\x41\x89\x9c\x53\xfc\x53\x87\x2f\x18\xa0\x71\x09\xa3\x06\xce\x53\x46\x25\x93\xe4\x6e\xce\x04\x43\x02\x98\x7c\x1d\x61\x21\x7f\x2a\xb0\x29\x52\x41\x73\x55\xc9\x34\x0d\x24\x43\xe5\x61\xdf\x89\x0d\x5a\x16\x30\xee\x2e\xb5\xef\x24\xec\x7e\xc9\x85\x8f\x34\xb5\x58\x23\x03\xba\xf4\x87\x66\xc7\xd6\x94\xa9\x6c\x6e\x7c\x61\xf4\xc9\x5c\x52\xac\xaa\x7a\x78\x53\x67\x40\xdb\x96\x7d\x3f\xac\xb2\x8c\x49\xd9\xe9\x12\x7b\xe5\x92\xf2\x62\x25\x98\xe7\xe9\x5a\x60\xfb\x34\x0c\x6a\x41\x29\x86\xc9\x3a\x20\x2e\x66\x08\x4b\xdd\x62\x6a\x09\x1f\x80\x99\x3e\x2f\x24\xf9\xc1\xf2\x94\x37\x1f\x11\xeb\x41\x5b\x94\x3b\xe7\x5f\x50\x0e\x83\x6e\x7d\x72\xd7\x3c\x21\x17\x6c\x4a\x31\xa9\x26\xc9\xd1\x60\x30\x20\x6d\xc7\xe9\x9d\xd8\xae\x5a\x34\x1f\x80\x5d\x5d\x07\x30\xb4\xf6\x3d\x98\x33\x1b\xb8\x68\x27\xc2\x07\x36\x13\x17\x97\xc3\x7d\xcb\x44\xb6\x1d\x1d\x42\xc4\xad\xda\x28\x63\x63\x9b\xb6\xc1\x09\x8b\x71\xa0\xca\x59\x2f\x89\x79\xda\xf4\x6d\x51\xdc\x6f\x39\xa1\x16\xea\x77\x0d\xad\xb5\x36\xc6\xbc\x0c\xc4\x03\x66\x00\x7e\xff\x9d\x1c\x91\xa7\x64\x38\x18\x0c\x5e\x98\xdb\x52\x01\xee\x96\xa7\x66\x4c\x7d\x80\x0b\x36\xc6\x30\xe8\xd7\x23\x78\x3c\xa7\x95\x4b\x52\xad\x14\x13\x4d\xda\x98\x2f\x16\x2c\xe7\x54\x31\x4c\x53\xbf\x51\x2d\x49\x50\x64\x54\x45\x32\xba\x54\x2b\xe4\xf6\x92\xdd\xd9\xd6\x64\x56\x2d\x75\x1e\x1f\xc8\x66\xc5\xc0\xe6\x16\x7b\xd1\xe9\xb0\x2d\x73\xbb\xe5\x73\xd5\x5c\x5a\xa9\x9d\xac\x75\xfe\xcc\x36\xe1\x35\x0e\x04\xa1\xa8\x27\x74\x4b\x5e\xf8\x8d\x4a\x71\x21\x8f\x7d\xf4\x7c\x47\x12\x03\x60\x31\x90\x3e\x77\x19\x54\xd7\xe8\xf9\x39\x69\x69\x66\x68\x75\xc8\xb7\x1a\xec\xb9\x67\x1d\x9d\x23\xf5\x09\x64\x72\xae\xff\xf7\x2d\x69\xb7\x74\xee\x51\x27\x69\x9f\xa3\x59\x37\x19\x13\x6d\x4a\x7a\x60\x61\xda\xad\x80\x11\x9e\x27\x6a\x23\xd7\x2d\xb4\x17\x92\xf4\x71\xb0\x3b\xe4\x19\x69\x49\xd7\x6a\xda\x60\x51\xcd\xda\xc8\x07\xee\x8e\xa7\x40\xb9\x2a\x0a\x93\xea\xec\x92\x85\xec\x98\xbc\x1b\x74\xdd\xd0\xed\x3b\xa7\x73\x37\xa6\x9e\x02\x2f\xa5\x31\x17\x84\x29\x68\xfd\xca\xf0\x32\x21\x59\xc1\xa8\xb0\x23\x60\x21\x5e\x04\x00\x4d\x88\x46\xf9\x5a\x1f\x01\x5a\xd2\xe3\xdc\x42\x1b\xc0\xbb\x84\x8a\xd9\x6a\xc1\x4a\x25\x7d\x76\x29\x4a\x2f\x06\xb9\xf1\xc6\x91\x8d\xfb\x96\x12\x24\xce\x51\xa6\x77\x93\xdc\x59\xa7\xdd\xe8\x85\xab\xf0\x44\x5f\x30\x76\x5a\x60\xe9\x14\xe4\x4e\xde\xf0\xe5\xb2\xd9\x2f\x9f\x0a\x9b\x2b\x4c\xbd\x71\x34\x3b\x8a\x95\xb9\xf6\x99\xad\xfb\x1c\x4d\xa1\x61\xba\x47\x3b\xda\x1a\x7b\x49\x28\x7a\x28\xda\x96\x44\xc6\xbd\x24\x98\xf6\xec\x92\x09\xcb\xe8\x0a\xe7\x1a\xbd\xdb\xa3\x09\x05\x1e\x81\x24\x14\xc0\x24\x99\xac\xa1\xa1\xdc\xa8\x70\x2d\x94\x14\xf4\x03\xf8\x44\x77\x38\x2f\xa7\x67\xc1\x2c\xf2\x63\xa2\xd6\x4b\x9e\xd1\x42\x13\x60\x81\xb3\xa8\xe0\xbd\xa1\xf3\x16\xf8\x6d\x31\x47\xb7\x3e\x54\xd0\x63\xe8\xcd\x1d\xcf\x6e\x30\xdf\x04\xae\x1a\x5d\x93\x8c\x2e\x58\xab\x9b\xea\xbc\x8e\xb5\x9e\xa0\x1d\x36\xfd\x7b\x57\x29\x9e\xd9\x3e\x2e\x16\x94\xfc\x2d\xf2\x03\x71\x5a\x6f\x29\x78\xa9\xd3\xc8\x0b\x26\xd1\xd7\x34\xce\xe0\xcf\xd2\x62\xd8\x25\xd3\xaa\x28\xaa\x3b\x33\x63\x6b\xb3\x7a\x26\x3a\x41\xc7\xa6\xd4\x71\xbb\x41\xbd\x22\x82\xdd\x32\x5a\x98\xd3\x94\x81\x91\x13\x63\xad\xc7\x5e\x1b\x5b\x9d\xa2\xba\x44\x1e\x40\x95\x59\xd5\x4d\xaf\x66\x24\xcd\x27\xc6\xf5\x41\x96\xc7\x47\x75\x56\x9a\xd0\x4c\xad\x68\x41\x5a\x96\x46\x2d\x3d\x04\x60\xea\x8a\x3b\x18\xcc\x86\x5c\x98\x85\x0d\xd5\x41\x8a\x93\x37\x4f\x11\xa6\xe7\x75\xe4\xbf\xad\x5f\x7a\x46\x46\xe4\x39\x19\xb9\x68\x07\x3b\x82\x3c\x88\x97\x94\x58\x1b\x1d\xa2\xa7\x78\xc0\x98\xbe\x16\xa2\x12\x6d\x93\xa4\xce\x28\x78\x4c\x6d\x76\x6f\x75\x8d\x6f\x80\x9c\x13\x76\xdf\xd3\xe4\x35\x89\xae\x4f\x65\xcb\xa7\xa9\xdc\xeb\x8c\x1c\xe8\xe4\x5b\x92\x55\x0b\x91\xd5\x09\x36\xff\x82\xa6\x2c\x5b\xd0\xe0\x15\x27\xfb\xd1\xf3\xd7\x60\x84\xdc\xd3\x57\xfc\xda\xa7\xc6\xff\xf6\x49\x3e\xa5\xea\x93\x7c\xd6\xef\x92\x56\xab\x96\x4a\x0b\x5a\x8d\xf4\xca\x05\xbf\xe5\x39\xd3\x4e\xbe\xba\xab\x0c\x43\xe8\x14\xed\xb4\xa8\x2a\x21\xc3\xd9\x89\x2e\x59\x95\x05\x93\xf6\x1a\x44\xf2\xb9\x9e\x9c\x80\xab\x98\x93\x45\xf7\x1c\xe2\x88\x4c\xb0\x1c\x4f\x18\x97\x0b\x60\x12\xf4\x79\xba\xe0\x18\x5a\x8e\x96\x8c\x70\xaf\x50\x50\x84\x18\x2f\xec\x8c\xbd\x75\xb2\x57\x92\x4d\x57\x05\x78\xd8\x5a\xfb\xd9\x44\x08\x38\x0f\x62\x55\x66\x14\xe2\x67\xba\x5c\x8a\xea\x9e\x2f\xa8\x9e\xe8\xc2\x29\x12\x08\x7c\xa0\x21\x9d\x68\xd6\xf6\x5e\x56\x24\xaf\x40\x05\xe4\xfc\x96\xa3\xeb\x6f\xe7\x5f\x24\x73\x5d\x5f\x73\x56\x40\xe4\xe3\xe7\x6a\x6d\x57\x30\x68\x2a\x2a\xc9\x74\xea\xe8\x6e\x0e\x3a\x4d\x3f\xb6\x49\xfc\xca\xd5\x42\xeb\xf7\xa6\x9b\x39\x2b\xab\x05\x2f\xdd\x6d\xeb\xa7\x9a\xfb\x81\x14\xc9\x05\x15\xea\x12\xc6\x43\x0f\x58\x92\xec\xd1\xaf\xe8\x92\xb0\x45\x2f\x54\xb7\xb4\x40\x8b\x68\xc0\x48\x3f\x04\xb3\x9e\x9f\xa1\x3d\x39\x27\xdf\x53\x35\xef\xc1\x9f\xed\x5b\x5a\x74\x6c\x9a\xc0\xde\xdf\xc7\xe6\xbe\x26\xbd\xc1\x60\x30\xb4\x3c\x6b\x8d\xaa\x86\xa9\x4d\xfe\x98\xdb\xd8\x30\x32\x95\x6b\xb9\x36\xdb\x46\x89\xa0\x65\x5e\x2d\x5c\xa6\x13\x63\x78\xcc\x6f\x92\x36\xd6\x32\x48\x7e\xcb\x3a\x9b\xc8\x6d\x73\x97\xa0\x4b\xa5\x0a\x1b\x41\x8e\xb5\x69\xd2\xfa\x73\x26\x7b\x39\xe7\xb3\xf9\xf6\x07\x93\x31\x22\x63\x8b\xb0\x61\xcc\x09\x53\x77\x8c\x61\xa6\x92\x7c\x05\xed\x46\xf3\xb2\x08\xfa\xa6\x54\xe1\xf8\xc5\x99\xcf\x3a\xad\xf0\xab\x7e\xb2\xdd\x21\x4f\x49\x1b\x90\xdd\xc7\x17\x3c\x23\xc3\x0e\x78\x73\x98\x16\xdd\x59\x7c\x64\xcc\xcf\xe7\x05\x2d\xe9\x8c\x89\xff\x25\xa5\x48\xdf\xeb\x5e\x7d\xaf\x3b\x45\xb2\x82\x4a\x49\xe6\xb4\xcc\x0b\xa6\x5d\x1b\x51\x52\x6d\xed\xf8\xaf\x2c\x37\x2e\x88\x73\x85\xde\x55\x8a\x3d\x0f\xe7\xf8\x08\x97\x65\x4b\x11\xb9\x9a\x4e\x79\xc6\xf5\xe4\x13\x3a\x32\xda\xb3\x40\xa3\x38\xec\x01\x89\x04\x6b\x81\x96\x98\xac\x70\x16\xcf\x64\xf9\x4d\xfa\xe5\x86\xe1\x24\xdd\xaa\xa4\xb7\x94\x17\x3a\x26\x29\x09\xd7\xe6\xf5\x79\x50\x3d\x32\x57\x6a\x29\x9f\xf7\xfb\x99\x98\xac\x66\xbd\xac\x5a\xf4\x87\x07\x83\xd1\x60\x60\x41\x46\xf8\x2a\x30\xfc\xe8\xf2\x01\x51\x17\x74\x8d\xce\xd1\x84\x91\x25\xcd\x6e\xe8\x8c\xe5\x5a\x4a\x5e\x69\x14\xb0\x44\x00\x94\x9b\xc3\xf7\xa0\xb9\x11\x6c\x40\xe8\x89\x6d\x60\x15\x41\xc5\x3a\x69\x52\xcd\xb9\xc8\xf7\x01\x6a\x1d\x20\xdd\xf4\xa2\x50\xaa\xd0\x3a\x3d\xf8\x19\x72\xf2\xd6\x4e\x5c\xbb\x2b\xaa\x22\x45\x45\xf3\xae\x1d\xea\x4a\xe4\x98\xdc\x61\xee\x3d\xbe\x28\x0a\x00\x31\xd1\xfb\x8e\xdd\x31\x61\xbd\x28\x69\xcb\x27\x48\x55\xc0\xb3\x55\xc9\x64\x8f\x90\x16\x2b\x5b\x84\x4b\x97\x26\x58\x61\xdd\x2b\xf8\x8b\xc5\x5a\x4f\x1d\xda\x9c\xd6\x94\x0b\xa9\x1c\x4a\xa0\xe4\xb8\xb2\xc9\x38\x5a\x08\x46\xf3\x35\x59\x02\x9b\x6b\xdf\x53\xcb\x70\xc2\x6d\x61\x62\xd6\xf6\x4d\xcb\x31\x26\x11\xdd\xb5\xcf\x10\x53\xbb\xb9\xe8\x05\x5d\xb6\x4d\xac\xe0\x1e\x67\x45\x50\x91\xc0\x8a\x86\x39\x6f\x2c\x50\x30\xda\x38\x69\xbd\x07\x76\xf8\xfe\x87\x69\x1b\x7a\xdf\x81\x98\x64\x7f\xd8\x31\x4e\x4f\x0c\xb8\x2a\xe5\x9c\x4f\x95\x06\xd4\x0e\x12\x40\x38\x9a\x6a\x17\x26\x50\xca\xe3\x3c\x77\x7e\x2b\x16\xff\x70\x53\xd1\x52\x45\x2e\xad\xd5\x29\x0d\x93\xde\xe9\x1c\xb5\x34\x25\x7a\x0b\x6a\x58\xcf\xb0\x93\xc5\xa1\xf7\xb3\xac\x4a\x2d\xf3\x84\x7c\x60\x98\x74\xf9\xda\xca\x49\xce\x6e\x59\x51\x41\x7c\x6e\x64\x16\x44\xc6\x31\xa2\xec\x83\x08\xef\xdb\x96\xbe\xd9\x34\x6e\xbd\xa5\xa8\x54\x05\xa1\x5c\x8f\xe6\xf9\xf7\xbe\xf3\x6e\x38\x72\x36\x35\x03\xe9\x9c\xb9\x1b\xb6\x06\x6e\xf5\x77\xb4\xe1\xcc\xd9\x14\x67\x35\xa7\xf2\xea\x86\xad\xaf\x83\x50\xf1\x8b\x9c\x4d\x7b\x38\x8a\x73\x64\xd1\xa0\x72\x29\x22\x3a\x3e\xa7\xdb\xb0\xd7\x4c\x8c\x1d\x1a\x51\x8c\x43\x6c\x55\xde\xde\x97\xef\xc6\xdf\xbf\xfe\x72\x8f\x84\xcd\x6b\x67\x66\xef\xcb\xe1\x5e\x97\x30\x95\xf5\x1e\xf9\x2e\xc7\x6a\x41\x20\xdd\xff\xf4\xa5\x2e\x23\xbb\xfa\xdb\x27\xf9\xe9\xcb\xeb\x67\x9d\x4f\x5f\xf6\xf9\xac\x1b\x80\x78\xfb\xd5\x25\x71\x09\x59\x14\x05\x3b\xc2\x44\x94\xb8\xc2\x52\x44\x55\xbd\xad\xee\x98\x78\x45\x25\x6b\x77\xae\x7b\x59\x05\x81\xa8\x0a\x03\xfa\x07\x13\x89\x3f\xa4\xbe\xc2\xdb\x8a\xe6\x81\x14\x7b\x35\xeb\xe4\xd9\x72\xe6\x64\x05\xa6\x60\x53\x5d\xc0\x92\x2a\xb0\x10\x64\x8c\xa5\x19\xf6\xaf\x68\x8e\x0b\x08\x6a\x32\xbc\x38\x3d\x85\xc5\x37\x56\xbf\x60\x9a\xc6\xa8\xaa\x59\xd5\xdb\x5c\x07\xd4\xb5\xd5\x40\x55\xf9\xaa\x5a\x2c\x0b\xa6\x58\x54\x0f\x34\x61\x6e\xe6\x02\x5c\x5d\xd0\x79\x41\xb6\x93\x4b\x2c\x4c\x85\xa7\x4c\x2c\x06\xce\xba\x09\xa1\xa9\xc5\xcc\x68\x59\xa9\x53\xba\xe0\x36\xa3\x1b\x4f\x79\xa1\x0b\x26\xe0\x5f\x54\x3b\x84\x29\x4b\x4f\xc5\xa8\xdc\xc8\xcc\xee\x0c\xba\xa4\xac\xcc\x53\x92\xdc\x31\xc1\x7c\x4b\xa8\x96\x77\x8b\xd8\x94\x97\xf9\xb8\xcc\x61\xc8\x9a\x44\x0d\x07\xd8\x50\xbe\x1b\x90\xc7\x3b\xb0\x45\x50\xce\x94\x2a\xb4\xac\x82\x18\x40\x07\x73\x08\x8b\x58\x91\x73\x72\x75\x6d\x2f\x69\x02\x98\x4b\x4f\x3c\xe7\x92\xaa\xb4\xf5\x41\xf6\x9d\x6d\xa9\xa8\x72\xac\x0c\x42\x1c\x5d\x20\xbe\x79\xaf\xcd\xb5\x42\xed\x34\x8a\xac\x7b\xf5\x26\x70\xaf\x2d\x3c\x44\x3c\x83\x86\x21\xec\x3b\x76\xef\x6a\x99\x36\xbc\xca\x13\xae\xad\x91\xec\x9a\xb7\x47\x22\x64\x48\x92\x34\x59\x2f\x61\xb0\x96\x23\x18\x33\x6d\x74\x8c\xb2\x78\xef\xaa\x81\xdb\x6e\xe8\xbc\x05\xec\x3e\x69\x4e\x97\xd4\x09\xde\x9b\xf0\x32\xc7\x96\xbb\x10\xcf\xb1\x7f\xf0\xd1\x29\x2d\xa4\x9e\xb1\x20\x0f\xfe\x7a\xc7\x66\x00\x52\xf2\xa5\x8a\xc4\x99\xbf\xa9\xa8\x16\x84\x36\x99\xa2\xdd\x6c\x5e\x6c\xe3\xef\x95\x28\x80\xb7\xcd\x6c\x8b\xce\xcb\x57\x25\x26\x22\x3c\x9f\xdf\xcf\xc1\xa3\x28\xd9\x1d\xf9\x3f\xdf\xbf\xfd\xb3\x52\xcb\xf7\x7a\x86\xb8\xad\x3b\x72\x3f\x17\xbd\xaa\xc4\xc1\x2d\x1b\xaa\x4e\x34\x1b\x01\x10\xf0\xec\x4a\x92\x2f\xce\xc9\x68\x30\x88\x4b\x7b\xc3\xf7\x3a\x4a\x07\x17\x83\xe7\x3b\x2f\xe2\x2a\xd7\x88\x63\x91\x17\x02\xdb\xd9\xfe\x97\x0f\x3f\xbc\xd3\x85\x4f\xd8\x84\x60\x72\x59\x95\x92\x7d\x64\xf7\x7a\x76\x14\x87\xd0\x74\xbf\xdd\x3c\x50\xd8\xbf\x25\x2b\xdb\xad\xef\x5e\x7f\x6c\x75\x81\x66\x08\x88\x28\xb1\x32\xaf\xa5\x44\xb5\x2d\xfc\x72\xd8\xeb\xf5\xbe\x2c\xc3\x02\x75\x57\x55\xc9\x0a\x86\x09\x5d\xeb\x7b\x50\x31\x33\x99\xc7\x4d\x06\x61\x21\x67\xb6\x5a\x3f\xb0\x02\xa1\xab\x03\x3a\xd5\x66\x8a\x83\x97\xf6\x1a\x3c\x60\x7c\x9d\x4e\x25\x25\x8d\xb9\x06\x74\x7a\x62\x23\x7b\xd5\xc4\x2d\x8a\x1c\xe5\x0c\x93\xd6\x71\x35\xf8\x42\xce\xbc\xf7\xf8\xe9\xcb\xf6\xa7\xfc\x59\x27\xac\x7d\x25\x60\xb1\xd1\x61\xac\xa5\xe3\xa1\xad\x2b\xbc\x45\xf6\xc9\xf0\xba\xb1\xa8\xf9\x47\x26\xf6\x79\x29\x15\x2d\x31\xca\x5b\xae\x81\xb6\x35\x34\x1f\x21\x2f\x0d\x5d\xc3\xf7\x3d\x86\x0a\x69\xd2\xc0\x19\x7b\xbd\x02\xa4\xeb\x32\x9c\xc5\xda\xe0\x86\xb6\xdc\xe6\xf7\x89\xaa\xaa\x2d\x0c\x80\x46\xbd\x99\x09\xf0\x96\x61\xa6\x20\x9d\x3b\x63\xaa\x69\xfc\x41\xb0\x90\x07\xdc\x5c\x27\x7d\x24\x33\xd4\xd0\x82\xa6\x6c\x96\xdc\xb5\xe6\x6a\xba\xcc\xf8\x71\x83\x98\xe9\x82\x0e\x66\xac\xbd\xc6\xd0\xba\x47\xcc\x54\x82\x8c\xba\x80\xe0\x93\xb5\xcd\xc3\x3f\x62\xf4\x66\x4c\x25\xac\xe8\x08\x8f\x5d\xee\x86\x18\x07\xf3\x8f\xd6\xbf\x35\x81\x8c\x43\xb5\x8c\xfd\x54\xcb\x9a\x16\xc1\xf3\xc4\x8d\x35\xcf\x69\x83\x1e\x59\x42\x68\x35\xaa\xbc\xc3\xb0\xde\x2a\x3b\xdf\x5e\x52\xca\x6c\x3a\x6a\x11\xea\x84\x7e\xbc\x79\xc8\x8b\x4b\x3c\xf7\x66\x17\x0d\x18\x30\x3d\xdd\xe6\xdb\x89\x24\xcc\xce\x1f\x85\xc3\x99\xac\xac\x20\xdf\xba\x01\x7c\x1e\xc2\x25\x66\x1c\x31\xb3\xd4\x8e\xab\xe0\x12\x1a\x7f\xd1\x76\x7c\x68\x05\xb7\x9a\x6a\xb5\x64\xca\x22\xdd\xfd\x73\x72\x65\xbf\x5f\x87\x53\xbe\x1b\x4c\xbf\x79\x93\x1f\xf5\x44\x55\x88\x0a\xd4\x3d\xa1\x45\x61\x65\x66\x0f\xe8\xbd\x47\xe6\x6a\x51\x10\xaa\x94\xe0\x93\x95\x02\xbb\x6b\xd3\x3e\x76\xea\x2a\xaf\x16\x64\x2a\xe8\x6c\xc1\xfc\xcc\xcf\x47\x4c\x3a\xd3\x82\xdc\x55\xe2\x86\xcc\xe9\x72\xc9\x4a\xac\x4f\x5e\xea\xf7\xbc\x19\x9e\x96\x63\xdb\xe6\x23\x58\xb8\xe9\xb1\x38\x08\xac\x16\x9e\x73\xcb\x2a\xc7\xbb\x79\xb5\xe8\xe9\x82\x5a\x56\xb0\x4c\x55\x62\x5c\x14\xed\xd6\x15\xf4\xeb\xda\x84\xd4\x4d\x55\xb5\xf8\x78\x94\xef\xf7\x76\xb4\x09\x91\x36\x3e\x70\xc5\xaf\x9b\x49\x1a\xd0\xd2\x91\xd1\xe6\x52\x7c\x5d\x28\xb4\x11\x52\x0f\x13\x5c\x1e\xde\xc4\x2d\x46\x1b\x11\x4a\xc0\x88\xdb\x42\x6a\x1d\x66\xdc\x30\x1b\x60\xd0\x1b\x56\x9a\x89\xa1\x09\x0b\x1a\xc1\x48\xc2\x4d\xa7\x87\x75\xdd\xa1\x72\x09\x6b\x98\x00\x2c\x78\x13\x99\x63\x55\xe3\xde\xe7\x3d\xd2\x06\x31\x10\x32\xab\x04\xeb\xc0\xab\xbb\x84\x2b\x69\xb4\x9c\x9e\x0b\xb0\xd9\x1b\x9c\x6b\x60\xf7\xea\x95\x8e\x19\x2d\x7b\x19\x7b\x6f\x5f\xf6\x7d\x88\x01\x66\x19\xd1\x5e\x83\xc6\xac\xb0\x9a\x28\x60\xc1\xaa\xf4\xd9\x09\xd3\x8c\xf6\x23\xf4\x0c\xe5\x52\xb0\x29\xbf\xd7\xd3\x87\x6a\x4e\x28\xc9\xab\xa2\xa0\x82\x48\x3e\x2b\x7b\x24\x5c\x88\x16\x4e\x41\x7e\x3d\x59\x29\x55\x95\x84\xe7\xe7\x2d\x70\x61\xf6\xf5\xdf\xad\x78\xfd\x18\x0c\xcb\x79\xeb\xb7\x3d\x2a\x38\xdd\x2f\xe8\x84\xe1\xc6\x29\x5f\xf2\x7c\xaf\x0b\x64\x79\x4e\xf6\x3e\xbc\x7e\x77\xf1\xf9\xe5\x4f\x1f\x3f\xfe\xf0\xee\xf3\xdb\xf1\xcb\xd7\x6f\xf7\x1e\x92\x36\xbe\xf9\xba\xaf\xdb\xfe\x26\x18\x6f\xdf\x60\xac\xe9\x6d\xed\x3a\xc4\x94\x2b\xa5\x89\x1a\xbd\x63\xfc\xfe\xcd\xd8\xbc\xa8\x67\xd2\xa4\x7a\x9e\x93\x2a\xc3\x7a\x79\xc8\x78\x77\x30\x82\x20\x8e\x66\x16\x19\x67\x93\xa8\xc0\x6a\x2e\x0b\xd4\xb5\xab\x18\x82\x9a\x7d\xb3\xa0\x41\x3f\xf4\xd3\x8f\x3f\xbe\x7e\xff\x79\xfc\xee\xe2\xf3\x4f\xef\x2e\x5e\xbf\x27\x98\x27\xfe\x07\xc5\x38\x9a\x1f\xa9\x72\xbf\x22\xf3\x95\x7e\xa3\xee\x44\x51\xdd\x31\xb1\x4f\xcb\x7c\x3f\xa7\x72\xce\xe4\x5e\xca\xd6\xb8\xca\x42\x3f\xb8\x97\xa0\xb7\xe7\xf0\x0b\xeb\x76\x56\xe5\x8d\x59\x09\xd5\xb8\x16\xc9\xe5\xf2\x7a\xaa\xfa\x69\xb9\xb4\xa9\x0f\x1f\x97\xa1\x80\x9e\x6b\xb9\x9d\x31\xe5\xb5\x41\x0b\xee\xb4\xdc\x6c\xcc\x17\xde\xa6\x59\xe7\x3c\x9a\xeb\x34\xed\x04\x4e\x39\x3e\xb0\x61\xc6\xd3\x9a\x33\x86\x11\x40\xeb\x15\x2d\x3f\xb5\x94\x5e\x18\xa1\x8b\x4f\x00\x1d\x45\x67\xef\x80\x77\x9e\x91\xd6\x9f\xdc\x45\x9e\xc3\xdf\xda\xe2\xb9\x37\xd8\xa9\x56\x76\xef\x66\x21\xfb\x7d\x1d\x68\x61\x7d\x9e\xf7\x3b\x64\xa0\xab\x8c\xf2\x8a\x55\x94\xec\x35\x64\xe0\xf0\x45\x61\xe5\x11\x43\x64\x42\x7e\x64\x2d\xcd\xe0\x92\x29\xa5\x67\x14\x6d\xd1\x9c\x52\x10\x63\xdd\xb0\x75\x50\xba\x62\xcd\xed\x39\x36\x6d\xd2\x78\xa6\x75\x10\xec\xbd\xf3\x69\x55\xed\x75\x89\x60\xfb\xb6\xa2\xc1\xf9\xfd\x79\x24\x59\x3d\xe7\x34\x98\x36\xa3\x45\x1d\xe7\xad\x8e\xf7\x21\xa0\x33\xe7\xc4\x81\xf9\xc5\x1c\xc6\x51\xd9\x84\xd3\xc3\x93\x08\xb5\x2f\x35\x6a\x19\x2d\xb2\x55\x41\x15\xab\xb9\x75\xdb\x51\xfa\xd2\xae\x33\x09\xdf\xa8\xf9\xb8\xce\x84\x35\x64\xb1\x92\xe8\x33\x0c\xfe\x0d\x5b\x5b\x97\x09\x30\xe3\xda\xf5\x2e\x6c\x96\xce\xa6\x1a\x43\x92\x07\x55\xc9\xed\xd8\x5b\x02\x64\xf5\x40\x9d\xa3\xb4\xd8\xca\x28\x64\xc3\x40\xe9\x23\xf9\xf4\x23\xe0\x00\x86\x60\x32\xc4\x1b\xda\xea\x02\xac\x9f\x73\xdc\x3e\x53\xb6\x74\xc3\xfb\xbf\x6c\xb2\xec\x55\x55\x4a\x25\x56\xe0\xb6\xa0\x58\x81\x62\xfd\xd1\x75\xd6\xce\x6a\x68\xbb\x1c\x94\x0b\x31\x40\x59\x5f\x24\x39\x7a\x60\x60\x03\x97\x4c\x48\x2e\x15\x46\x49\x73\x5a\x9a\x69\x1d\xa9\x17\x7d\x48\x55\x09\x1b\x2d\x97\x95\xe2\xd3\xb5\x49\x67\x82\xb2\x59\x2d\x30\x5d\x3d\x67\x25\x59\x06\x61\xbb\x6e\xc5\x79\x0a\x2a\x2e\x4e\xb2\xb6\x67\x42\xb3\x1b\x2c\x7c\x56\x95\x00\xd2\x99\x59\x22\xe9\xea\x7b\x2a\x5f\x28\xfc\xe7\x8f\xdf\xbf\x3d\x82\xc6\x0c\x3a\x5d\x32\x59\x61\x2b\x02\x8c\x23\x2b\x5b\x8a\xd0\x72\x8d\x0b\xeb\x75\x25\xaf\x79\xc7\xa2\x42\x37\x82\x90\x37\x66\x7d\xde\x4a\xe9\x72\x5e\x93\xff\x34\xd3\x67\xd4\x4e\xfb\xd1\x25\xd7\x7d\x07\x94\xe4\xba\xcc\xf6\x91\x08\xc0\xd3\x7d\xed\xbe\xe0\x8a\x29\xed\x26\xdd\xb1\x56\x8e\x25\x4d\xa6\x60\xa2\xb6\x68\x0d\x46\xe5\x83\x46\xb8\xf7\xf4\xc1\x91\x52\xaf\x5b\xd3\xdf\x8d\xeb\xa4\x2a\xbd\xc1\x00\x4e\x44\x6a\xba\xb8\xf9\x33\xc0\x65\x63\x28\xa9\xdd\x99\xb8\x18\xc8\x5c\x4b\xaa\xc0\x40\x65\xfb\x41\x0a\xf3\xde\x66\xb1\x2a\x69\xf5\x5b\x7e\xc9\x47\xb4\x99\x81\x36\xec\x92\x01\x02\x8a\x91\x82\xdd\xb2\x02\x73\x31\x73\xce\x04\x15\xd9\x7c\xed\x56\xd2\x73\x57\xdb\x3e\xab\x4c\xc1\xfc\x9c\xde\x1a\x96\xbf\xe1\x65\x6e\x64\xa6\x9c\xe9\xac\xf5\x52\x54\xb7\x1c\xb3\x9c\x30\x3e\x1a\xf5\x64\xea\x10\xf5\x9c\x75\xd7\x5a\xfd\x96\x7e\xb0\xac\x54\xf0\x30\x57\x36\xe6\x45\xe6\x05\x28\xe7\x71\xd4\x05\x23\x5a\x89\x6f\x18\xca\x53\x33\x98\xf8\xb3\xc3\x74\x6e\x07\xec\x45\x72\xe7\x87\x09\x6a\x04\xf1\xd9\x6a\xc1\xaa\x34\x23\xfe\x0a\x85\xe0\x73\x2d\x8b\x09\x40\x5c\x8e\x33\xc5\x6f\x19\x3c\x85\x29\x4f\xd7\x2c\x85\xeb\x54\xb1\x76\x00\xad\x84\x59\x3b\xa2\x21\xed\xa2\x40\x3d\xca\xe7\x21\x1b\xfc\xfe\x3b\xf4\xdc\x39\x17\xfa\x6a\x8f\x95\xb9\xb1\x12\x7d\x6b\x25\x0c\xfc\xb3\x73\x0d\xff\xc4\x05\x30\xa6\x4d\xfd\x25\xbe\xf1\x9e\x65\x95\xc8\x71\x0a\x54\x97\x47\x69\xad\x5f\x54\x13\x5a\x58\x32\xe0\x5d\x93\x9e\xc7\xdb\xd9\x9c\x17\xf9\x25\x05\x45\xc5\x99\x7b\x56\x7b\x12\xdf\xd3\x25\x4e\x26\x73\xa9\xf6\xd1\x62\xa9\x8a\xfc\xb6\xd0\x17\xf1\x39\x44\xc3\x4e\x49\xca\x07\xfd\xd4\x18\x74\x09\xfa\xe6\xa4\xdf\xd7\x97\x82\x57\xbd\xe5\x52\xe9\xd7\x3c\xb1\x05\x7f\xad\xa5\xa8\x40\x99\xee\xf3\x5c\xb6\x9e\x07\x37\x08\x69\x55\x25\x6b\x3d\x27\x35\x06\xe9\x86\x30\xea\xae\xda\x05\x63\xd1\x41\xbb\xde\x0d\x31\x23\xa4\x35\x15\xd5\xa4\xe1\xdd\xd1\x33\xe6\xdb\xc3\x93\xe6\xbe\xc4\x53\xb9\x3f\x49\x74\xb3\xb0\x22\xa2\xd0\x1b\x6a\xf0\x32\xe7\x99\xf6\x1a\x8c\xe6\xb3\xd5\xa5\x5a\x6b\x99\xb0\xca\xcb\xbf\x91\x2d\x13\x05\xea\xa0\x10\x93\xe6\x0a\xd7\x46\xe9\x84\x86\x7e\xd6\x24\x34\x7c\x32\xd6\xb7\x62\x15\xde\xeb\x5f\x56\x14\xf7\x8e\x51\x4c\x2a\x49\xe8\x8c\xf2\x52\x2a\x6d\x1a\x75\x23\xdf\xff\xf4\xe1\x23\xaa\xb8\xd6\xf9\xf9\x79\x8b\x54\x82\xb4\xbe\x80\x2f\x5a\x49\xd1\x2c\x5b\x81\x66\xd9\x22\xb3\x41\xa0\x70\xf1\xfa\x72\xfc\xd3\xdb\x8f\x9f\xff\x32\x7e\xfb\xd3\x6b\x57\xe4\xee\xb7\x71\x69\xb7\x0c\x04\x86\xf1\x76\xfe\xbb\x44\x22\xdd\xf2\x7c\x45\x8b\x86\x2e\xc4\xc6\x11\xc3\x5e\x7c\xb1\x29\x3d\x67\x0d\x0c\x80\x0b\x45\xfc\x8a\xb5\x92\xb9\xc5\x26\xba\x6c\x45\xef\xff\x92\x73\xc1\x32\x55\xac\xb7\xf5\x4d\x8b\x56\xba\xfd\x4c\xd7\x0e\xc4\x5f\x80\x84\x81\x56\x0a\x4a\xcb\x9d\x1c\x86\xa0\x7a\x5e\xd8\xfd\xe9\x60\x0c\x4f\x58\x18\xbc\x16\x11\xd3\x41\x56\x56\x9e\x8d\x38\x87\x85\x04\x7a\x12\xd1\xa5\x8c\x81\x36\xf1\x88\x80\x67\xa0\xcc\xfa\x99\x05\xbd\xc1\xf2\x40\xac\x36\xbc\x65\x62\x52\xc9\xad\xa3\xac\x29\xb1\x79\xb0\x5d\x66\xf9\xd1\x0c\x12\x4e\x34\xe8\xc5\x5f\xe1\xca\x25\xcd\x7f\x6e\xcd\x96\xae\x4e\xe4\x32\x94\x14\xe3\x13\x6d\xdc\x1e\xc2\x54\x44\xda\x25\xf5\x8d\xc8\x3d\x10\x4b\xd1\x68\x9d\x8d\x5b\x87\x62\xf7\x91\xd0\xc5\xd9\x66\x95\x53\xc6\xf8\xad\x8e\x03\x4a\x76\x67\x0b\x2f\xd3\xe4\xb5\x47\xb4\xeb\x97\xd4\xe4\x58\xf5\x68\x3b\x60\x02\xf9\xba\x19\xa4\xd2\x4f\x15\xcb\x3f\x34\x2a\x34\xcf\xad\xca\x8f\x0a\x82\xcd\xb5\x80\x57\x1d\x27\xf5\x96\x2b\x39\xf7\x10\xb1\x46\x2b\x85\x1b\x9b\xd2\x93\xca\x15\xf7\x6f\x20\x7d\x40\xd5\x31\x10\xe2\x96\x57\x2b\x89\x33\x05\xba\xb1\x70\x55\xcf\x1f\xe9\x9d\x60\x8b\xea\x96\xed\xee\xa0\x4d\x0d\x26\x1d\xb5\x45\x3c\x41\x5f\xb5\x41\xe6\xe4\x1b\xb7\xbc\x33\x79\x46\x2e\x21\x36\x68\xf3\x2e\x19\x26\x7b\xcf\xe0\x42\x30\x97\x91\x73\x11\x47\xac\xc1\x1e\xdd\xb5\x24\xdd\xef\xd7\x9f\x36\x28\x88\xf3\x26\x15\x11\xce\x51\xf6\xff\xd6\x36\xeb\xa8\xcd\x32\xe4\x2f\xfb\x3d\xb0\x00\x36\x39\x5e\x53\x4c\x9d\x64\x69\x45\x0d\xa0\xbe\x40\xa3\x41\xb9\x9d\x93\x96\x5d\x18\x17\xd6\xd4\xfc\xd5\xed\xb2\xe5\x57\x08\xbe\xfa\xe1\xc7\x7f\xb5\x92\x12\x5b\x35\x59\x69\x5b\xb9\x92\xa0\xe5\x32\x5a\xfa\x86\x16\x55\xce\xa7\x6b\x33\xa3\x23\xe8\x1a\xac\x95\xf1\xd3\xc1\x06\x56\x2b\xa5\x75\x82\x9d\xf6\x89\x1a\xee\xc5\x3d\x0c\x32\x37\xf8\xd5\xae\x9c\x58\xb7\x1b\x88\x13\x25\x06\x36\x93\x28\xae\x08\xaf\x0d\x5c\xc4\x3e\x1f\x54\xb5\xac\x69\x34\xe3\x51\x19\x83\x2f\x82\x38\x0c\x7c\xdd\x44\xdf\xbd\xd2\xb9\x1e\x08\xe1\xea\xae\xbd\xbc\x03\x77\x6d\xa5\x70\x3d\x64\xd3\x1b\x20\xf0\x28\x75\x20\x27\x2b\x1b\x27\xa1\xe1\xcc\x71\x9b\x36\xe0\x47\x0c\x2b\x39\xcb\x09\x9d\x40\x53\x5c\x08\x56\xb0\x5b\x18\xca\x00\x95\xdd\x6e\x41\xce\xac\xf3\xdc\xcc\xe1\x5f\xc4\xae\x77\xa7\x71\x31\x41\xeb\x5d\xa5\x88\x6d\x27\x6f\x3d\xca\x67\x37\x84\x4b\xd4\x46\xbb\x31\x4c\xe8\x24\xa3\x03\x91\xcd\xae\x11\xb0\x6b\x72\xbd\x82\xf3\x5d\xcd\x37\x0d\xae\xf6\x4e\x74\xaa\xdc\xd1\x85\xeb\xa5\x28\xda\x91\x73\x6b\x87\x7a\x84\xfc\xab\x1b\x10\xe3\xc5\x98\x25\xb8\x00\x44\x15\xc1\x6a\x41\x5a\xf0\x5f\xcd\xda\x64\x0e\xce\x09\xc5\xe2\x4c\xae\x5a\x32\xa9\xce\x34\xf5\x4f\xda\xba\xb8\x94\x7e\xe6\x53\x16\x8f\x1b\xcf\xed\xa3\xf9\xa8\xc1\x1c\x9b\xf2\xcf\x9d\x03\xaa\xc4\xaa\x3e\x9e\x81\x91\x7b\xcc\x60\xbe\x67\x26\x49\x36\x49\x86\xd3\x2c\x7f\x94\xa1\x84\xb8\xc1\xfd\x57\xe7\x43\x92\xdc\xec\x11\x56\xc1\x30\x36\x53\x1d\x77\xa5\x10\xf8\xc5\x96\xb0\xe9\x4d\x17\x70\x4d\xf2\x34\xe4\x03\x33\x07\xad\x43\xfb\x06\xd1\x44\x27\x63\x51\x95\x5c\x99\xd5\x99\x41\xde\x21\xc4\xdc\x30\x63\x17\x34\xa6\x77\x78\x31\xfc\xae\xf3\xca\xa2\xd2\x8b\xa5\x4b\xec\x44\x54\x45\xea\xb2\xeb\x82\x65\x2b\x21\xf9\x2d\x43\x4b\x4d\x73\x19\xbd\x0e\x9a\xf2\xc1\x5f\x8c\xb3\x34\x3c\x77\xc7\x8a\xa2\xb9\x6d\x60\x57\xb9\x2e\xb3\xb9\xa8\xca\x6a\x25\xbb\x46\x67\x39\x4c\xe1\x7d\x75\x22\x75\xed\x4a\xfa\xa7\x8b\x95\x54\x4f\xf5\x72\x65\xbb\x68\x75\x97\x13\xd2\xee\xe8\x4c\x8c\x73\x29\xdd\xac\xfe\xb4\x61\x9b\x30\xbf\x82\x98\xba\x52\xbe\x39\xf5\x55\x81\xf9\xe3\x64\x03\x1e\xff\xe0\x72\x13\xd1\x82\xac\x78\x8d\x26\x66\x0a\x58\x99\xf3\x72\xf6\x0a\xa8\x2a\x58\x89\x73\x99\x49\xfd\x1c\xde\x73\x75\x67\xa1\x8d\xdf\xdf\xaf\x3d\x7e\x4e\x06\xe4\xab\xaf\xa2\x4e\x5b\xbb\x1e\x5e\x6b\xc7\x0b\xac\x70\x06\xf2\xdc\x2c\x35\xec\xc1\x5f\xed\x5a\x6a\xa1\xb3\xbb\xa4\x3a\xcc\x53\x3c\x23\xac\x88\xca\x8f\x92\xc2\x6a\x4c\x9c\x74\xa2\xa9\x11\x5c\x42\xf8\x63\x90\xab\x04\x4a\xea\x79\x8f\xa0\xe5\x40\x4b\x58\x65\x30\x63\xea\x8d\x62\x0b\xd9\x06\xcc\x83\x0d\xe8\x38\x5c\x8c\x17\x0f\xeb\x36\xde\xea\xba\xcb\xf3\xb0\x5d\x3b\x6f\x6c\x0b\xb2\x6a\x33\x22\x71\x63\x6e\xd9\x0f\x86\x6b\x78\x33\x98\x40\x20\xf1\x5a\xe5\x1b\xb6\xb6\x09\xfd\x10\x81\x4e\x02\xcc\x58\xfe\x61\x5d\x66\xe4\x9c\xb4\xa3\x82\x8d\x30\xe3\xf0\xd5\x57\x1b\x8a\xf7\x08\x49\xbd\x98\x5b\x1d\x9a\x7e\x71\xbe\xf1\x09\xd2\xe4\xf7\x84\x83\x8e\x35\xc4\xd7\x91\x0b\xd3\xe9\xf8\xa2\xb5\x86\x0c\x54\xc3\x13\xb8\x15\xa5\x77\x20\x2d\xf7\xda\xee\xc6\x45\xcd\x09\x47\x3f\x7b\x16\xad\x3d\xc6\x51\x5f\x97\xd9\x2b\x4b\x11\x13\x8c\x27\x52\xd2\x09\x97\x25\xdb\xff\x07\x15\x7a\x7f\x44\x6c\xa2\x7d\xf5\x22\x00\xe3\x12\xc6\x3c\x1e\xae\xfb\xc3\xe4\x0c\xa1\x8d\x19\x0d\x2e\x5d\x28\x24\x09\x25\x51\x4e\xc1\xc6\x93\x10\x2c\x42\xcf\x70\x65\x96\xce\x5b\x18\xb7\xad\xa1\xc9\xc6\xbd\x7b\x3f\x6e\x8c\x48\xed\x1e\x1b\x76\x9a\x5a\xf3\x25\xa6\x54\xc2\x1d\x18\x8c\x34\xdb\xc8\xa6\x1e\xa7\x9a\x9d\x23\xee\x04\x57\x0a\x8b\x17\x8c\xe5\xb3\xb2\x59\x47\xcd\x04\x24\xbf\x4f\xaa\xaa\x60\xb4\xfc\x5d\x6b\x9d\xdf\xb1\x56\xe6\xf7\x72\x55\x14\x0f\x46\xac\x3e\xd6\x02\x03\xbd\x99\x90\xe5\x84\xb8\x37\x63\xbb\x87\x70\xb8\x0f\xa8\x60\x66\x75\x89\x9e\xfc\xc4\x8a\x08\xdc\x35\xe2\x96\x16\xdc\x29\xf9\x34\x48\xf8\xc7\x13\x09\x4b\xf5\xd9\x87\xbd\xae\x28\x6c\x8b\xad\x69\xc8\x65\x6c\x4c\x33\xd8\xf6\x76\x67\x1b\x36\xa4\x19\x6c\x03\xff\x8e\x6c\x43\xe8\xd2\x03\x77\x7b\x88\x5a\x39\xae\x66\x69\x83\xac\x2e\x7f\xd5\xac\x0c\x02\x6f\x77\xd3\xb3\xc9\xb5\x0d\x7a\xc4\x46\xe7\x1a\x2e\x2a\x9b\xd6\xe4\x32\xfb\x92\xb4\x83\x97\xd5\x37\xc6\xdc\xf5\x16\xe2\x35\x24\x38\xa8\xdb\xc2\xf5\xfa\x8b\xac\x55\x8b\x7a\x18\xbc\x36\x72\x55\x23\xa0\x26\x65\xe1\x36\x86\x5c\xa6\xa5\xb6\x6e\x3f\x1e\xc7\x4e\xa0\x88\x36\x2c\x0b\x73\xf3\x2d\xe3\xd2\xc6\xc9\x53\x72\xb0\x6f\x6b\x6e\xf4\xa2\x06\xbb\xa3\x8f\x9a\x0b\xe6\xea\x71\x5c\xa2\x0a\x9f\x4a\xaa\x97\x80\xcd\xae\xb0\x66\xc8\x0e\xab\xe9\xcb\x75\xc0\x3e\x5a\x43\xd9\x76\x1e\x97\x0b\xd9\xcc\x56\xe9\x8a\x21\xec\x56\xb2\x6a\x28\x28\x01\xb3\x10\x4d\xab\xbe\x6d\xb8\x1e\xb5\xef\xda\xbc\xe2\xd7\x57\x83\x6b\xa7\x83\xf1\xef\x61\xf2\xf7\xe8\xba\xbe\xa2\xd6\x6a\xf9\x52\xaf\xaf\x63\xb9\x5b\x23\x92\xba\xca\x3e\x6c\x4f\x6f\x60\x4e\x3b\xe7\x53\xfc\x5b\xe9\xd8\xff\xe7\x95\x54\xa8\x45\xb1\xaa\x36\x18\xc6\xa0\xac\x4b\x47\x79\x66\x33\x1b\x86\xbb\x33\x61\xd3\x7a\xc7\x6f\x57\x41\x8c\x2b\xc0\xea\x2e\xbb\x35\x01\x0b\x46\xcb\x68\xc3\x2a\xa3\xc2\xc2\x19\xe7\x20\x3f\x5f\xeb\x96\x56\x37\x33\xa6\xf4\x3e\x59\xa8\x5a\xa9\x4d\xa1\xda\x9c\x42\x4b\x30\x8c\x4b\x84\xd9\xf9\xaf\x12\x68\x33\x4c\xae\x82\x96\xc4\x55\x67\xd6\x43\x8c\x78\xf7\xfa\xc4\xce\x01\xb5\xdf\xe9\x7d\xea\xdd\xc6\xf4\xe1\x4a\x9d\xcc\x18\x79\xd7\x5b\xa0\xab\xdf\x66\xc8\x6c\x51\xcf\xeb\xb9\xe5\x90\x4a\xcc\xbf\xc6\x18\xcc\x0c\xa7\xa4\xeb\x5c\xae\x6b\xdc\x1a\x4d\xa5\x9b\xab\x55\x95\x59\x4d\x94\x70\x8c\x6d\xcd\x0c\x62\x6e\x6c\x01\xee\xfd\x20\x2b\xfd\x3c\x2f\x81\xd2\x7d\x9a\xe7\x7d\x9d\xd3\xf0\xfb\x92\xe9\x81\xd2\xfb\x81\xad\x43\x7d\x9f\x92\x02\x6b\xf3\x96\x7a\xdf\x3e\xb3\x84\xb5\x9e\xbe\x0d\x66\x07\xd7\x64\x9c\x6c\x9c\x64\xbd\x86\x74\x1b\x40\x37\xd3\x6c\x58\xcf\x2e\x0a\x90\x2c\x1e\x07\x46\xa6\xa6\x65\xd7\x6e\x6a\xf1\x9e\xf8\xfd\x99\x41\x26\xb6\x55\x51\x18\x73\x67\x87\x32\x77\x3c\x00\xda\x1c\xdf\x5b\x1f\xa7\x3f\x64\xe5\x82\xf0\x2c\xb6\x71\x96\x2b\xba\x11\xb9\x8c\x81\xeb\xf7\x9b\x5c\x40\x9c\x75\xaf\x8a\xbc\x89\x01\x82\x91\x7f\xb2\x49\x5f\xf9\x57\x5e\x5d\x6f\x5a\xc8\x63\x53\xd8\xa5\xf3\x93\x6b\x33\xde\x5d\x87\xbb\xce\x6d\x36\xcd\x08\x5f\x59\x90\x6b\xac\xe5\xf6\x1d\x7c\xd1\x30\x17\x1a\x01\x27\xb3\xa2\x6e\x76\x07\x18\xcf\x28\x97\xdd\xb3\x38\x97\x8e\x17\xf5\x44\x36\x19\x07\x73\x43\x8e\x0b\x75\x8d\x32\x0e\x39\xbb\x65\x62\x9d\x58\x1c\xed\xf0\x50\x29\x71\xbb\x22\x9b\x73\x08\xf2\x69\x55\x19\xbb\x7c\xf6\xf4\x8a\x05\x5d\x92\x31\x31\x53\xde\xe1\xe4\xac\xae\xa6\xcb\x82\x6d\xc2\xe2\x17\xd8\x97\x26\xef\xa1\xe5\xd6\x69\xc6\xc6\xf9\x9b\xc8\xf8\x69\x22\x74\x01\x25\x9f\x6a\x33\x94\xf9\xea\x2b\x62\x72\xf2\xe6\xc2\x17\xe7\xa4\x65\x9f\x6c\x6d\xc8\xc0\xbd\x29\x51\x55\x6b\xd3\xfd\xdc\x3c\x29\x5b\x3e\x50\xd7\x57\x82\x39\x91\xb4\xa0\x40\xcf\x1b\x19\x30\x5f\x0b\x0f\x18\xa6\x75\x93\xce\x58\xdb\xc8\xd6\x75\xc3\x16\xd0\x47\x21\x6f\x94\x79\xe8\xb8\x55\xb6\x49\x0f\xec\xaa\x00\x3f\x3c\xc1\x4e\x5e\x2f\x9e\x3c\xd9\x16\xa1\x86\x6e\xd9\x82\x2e\xf5\xd5\x06\xf3\xce\xe5\x92\xda\x69\x1e\xcd\xa8\xc4\xcf\xc0\xda\xac\x58\x8a\x86\x0c\x0a\xac\x4c\x1d\x93\xd9\x64\x25\x4e\xdf\xe2\x9e\x52\x61\xc2\xc8\xe6\x9a\x24\xae\xda\x37\x2b\xf6\x31\x39\x8f\x85\xbe\xcb\x65\xc1\x33\x9d\x72\xc4\x45\x93\x00\x04\xf1\xb0\x76\x11\x57\x92\x89\x26\x24\xd0\xee\x85\x27\x23\x98\xd9\x02\x67\xe2\xf3\x46\xff\x00\x27\x0f\xd0\x17\xc1\x92\xf1\x27\xb8\x53\x63\x01\xea\x59\xab\xdd\xae\x16\x3a\x5d\x91\xad\x43\x1a\x79\xc7\x55\x36\xb7\x46\x3d\x70\x69\x4c\x8e\xe5\x51\x02\xa0\x4b\xd9\xc6\x45\x51\xcf\x2e\xd7\xb8\xa8\xce\x2c\xa1\xb3\xa7\x5b\x32\xba\xaf\xed\xaa\x1f\xa3\x01\x7e\x57\x59\x73\xb9\x61\x78\xcd\x6a\x89\x7f\x77\xc4\x6d\x02\x53\x4d\xf0\x3f\x42\x09\x83\x7f\xf3\x09\x38\x7f\x24\x8a\xfa\xc2\x84\x51\xcd\xea\x60\xb7\x30\xe1\x1e\x36\x71\x62\xc7\xc4\x38\x33\x66\x17\x50\x36\x39\xe5\xcd\xba\xa3\x79\x9d\x46\x0a\x76\xc5\xaf\x4d\xcc\x15\x25\xa1\x36\xbe\xcb\x20\xe4\x67\x6f\x1b\x02\x81\x14\x06\xde\x11\xb6\xde\x35\xb1\xab\xa9\x0c\x4b\x18\xc6\x1d\xb0\xe4\xbc\x8b\x06\x5f\xcf\x7a\x20\x9a\x77\x34\x14\x18\xc8\x70\xa5\x88\x2b\x0a\x9c\xf3\x32\x59\x18\x8e\xe7\xf5\x50\xf0\x66\x4c\x02\x46\xef\xaa\x61\xaa\x05\xe8\x4a\x55\xfb\xd6\xe5\x42\xdf\x26\x75\x7d\x40\xde\xe1\x9d\x7a\xfa\x48\x18\x04\xac\xcf\xa5\x37\xa5\x15\x92\xa1\x84\xc7\xb5\x7d\xe0\x4a\xad\x70\xdb\xa8\x9d\x0e\x37\xee\x77\xe2\x7a\x86\x9a\x4d\x93\xc6\xba\x5e\x2e\x00\x01\x25\xb2\xb1\x4c\x12\x7b\xff\x43\x44\x0b\x0c\x38\xf4\x99\x4a\x26\xea\xb4\x8e\xd1\xc6\x56\x78\xee\xdb\xe0\x48\xa9\xea\x96\x09\xc1\x73\x8d\x8e\xa3\x96\x69\x63\xb7\xec\xe9\xbe\xe8\x50\x2d\xdc\x82\xc4\xb9\x5f\x16\xf7\xcd\x4e\xd8\x8e\x7f\x1a\xed\xa0\x5c\x21\x97\x61\xbd\xb6\xf3\xcf\x5e\xb8\xfb\x2f\xc2\x64\x03\x77\xf9\x10\x9e\xdb\x7d\xdc\x72\x5f\xdc\x0d\x4e\xa4\xad\x76\x00\xd0\x2f\xfc\x86\x25\x0d\xc2\x7f\xb1\xd2\x96\xc5\x50\x5a\x4b\xbe\x1b\x69\xbf\xfe\x20\xef\xd4\x57\x03\xf6\xfb\xe4\x47\x9e\xdd\xb8\x7d\xa5\xba\x96\x1d\x0f\xf7\x73\x3e\xe3\x8a\xcc\xd9\x7d\xb8\x4f\x71\xe8\x9d\x9b\xfa\x3f\x3d\x33\x6f\xf6\xbc\xfe\x82\xe7\xe4\xf7\xdf\x49\x73\x07\xfc\x4a\xeb\xdc\x1f\x4b\x64\xb7\x7c\x6a\x0f\xbb\x64\x70\x3f\x9d\x4e\xa7\x9d\x9e\xaa\xcc\x36\xec\xc3\x63\x97\x0e\x0e\x9e\xf9\x75\x49\xf3\x36\xcf\xbb\xe4\xd0\xdf\x35\x84\x85\x41\xf5\xd9\x5f\x47\x5c\xe4\x4c\xa0\x84\x26\x44\xc3\x8a\x7f\x24\x9d\xaf\x63\xdd\xee\x52\x1b\x2f\x9c\xeb\xbd\x03\xc2\x47\x5d\x51\xa9\x9f\x28\xa9\x81\x08\x26\x99\x1a\x17\x45\x58\x8b\xda\xe8\x8c\x5f\xf1\xdc\x79\xef\xe6\x61\xcd\x45\xb9\xa9\xfa\x31\x08\xe8\xd4\x7a\xc0\x76\x80\x9a\x8c\xf6\xa4\x8d\xdb\x88\xdc\x7b\x0c\x44\x69\x3d\x35\xe0\x54\x80\x55\x26\x1a\x54\x36\xc0\x3a\xaf\x03\x34\x10\xee\x42\x2a\xb1\x6e\x3c\x6c\x0d\x23\xe7\x5c\xcf\xc6\x3c\x4a\x3d\x85\x96\x38\x50\x55\xc9\xda\x60\x7d\xc7\x6f\xc8\xa8\x03\xeb\x46\x55\xc3\xf3\x40\xed\xbd\xb9\x78\xec\x8c\x20\xb4\xb7\x45\x95\x84\x5a\x00\xfa\x1b\xea\x01\x7c\x2c\x86\x85\xf1\x42\xb0\x94\x0d\x1e\xa5\x45\xc8\x79\x2a\x5a\xbe\x06\x2a\x92\x31\x80\x8a\x6b\x9f\x9c\x95\x6e\x62\x14\x23\x08\x39\xc3\x7d\x57\xb6\x73\x64\xf3\xe9\x07\x9b\x8c\xa9\xb7\x23\x81\x3f\xa6\xf5\x78\xb0\xdc\x31\x18\xdf\x4a\x38\x83\x61\x77\x9b\xd2\xbe\x8d\x72\x53\x1e\xc2\x6f\xf6\xea\xd6\x47\x3d\x09\x76\x49\x35\x13\x0e\xc2\xa8\x4a\x5a\x12\x76\x9f\xb1\xa5\x9e\xc9\x9e\x92\xb2\x4a\x20\x31\x77\xa4\x2b\xde\xff\x01\xc3\x89\x7b\xab\xf2\xf2\xb1\x2c\xe7\x60\x9e\xc6\x8b\xd6\x23\xaf\x22\xc6\xaf\xb6\x80\x3d\xca\x8b\x18\x22\xe9\xe5\xeb\x8f\xe2\x69\xcb\x99\x9b\x18\xba\x61\x6d\xba\x0e\xf3\x1c\x15\x1a\x66\x37\x3b\x3b\x5c\x53\x4f\xb4\xd8\x40\x05\xee\xa9\x6d\x2c\xd2\xbf\x29\x0b\x3a\x87\xb8\xcd\x73\xbd\xb1\x9c\x01\xea\x84\x21\xe9\xee\x65\xe4\xbb\xe2\xd2\xbd\xd4\x8a\xee\x85\xe6\xd5\x1a\x53\xa7\x60\x93\x85\xe8\x0f\xa9\xee\x05\x0c\x6b\xd2\xf3\x2a\x5a\x95\x66\x23\xae\x8c\xb9\x5d\x12\xd5\x5d\x85\x38\xc8\x34\xc1\xa4\xf7\x76\x40\x61\x0a\x76\x3a\x0a\x81\xb4\x0b\x5c\xcb\xd1\x69\x71\x8d\x76\xd0\xc5\x5d\xb1\xd0\x49\xdd\xeb\x92\x3d\xad\xf0\xe0\x2b\x28\xf3\xbd\xac\x5a\x2c\xaa\x72\x0f\x04\x64\xc9\x84\xe2\xcc\x4d\x3d\x98\x2b\x6b\xb3\x9b\x1c\x25\xe1\x12\x83\x7d\xed\xc7\xfd\x9b\x12\x2b\xf6\x6f\xf1\xfa\xdf\xae\x56\x02\xd1\x4e\xc4\x94\x9c\x93\xab\x96\x7e\xf2\xbe\xd5\x25\xe6\xeb\xba\x75\x6d\x00\x26\x01\x80\xbe\x6a\x6e\x00\xd1\x5c\xa6\x4c\xb6\x69\x97\x4c\x3a\xe4\xfc\x1b\xb7\xf8\xf7\x37\xed\x7e\x3f\x27\xbf\x11\xd7\xfe\x73\xac\x4b\x22\x0f\x5d\x63\x2d\xe0\xee\x43\x97\xe8\xae\x06\x90\x6b\x07\x09\xbe\x82\x5f\x35\x0c\x0d\x9a\x0c\x6e\x1e\x10\x86\x50\x29\x57\x76\x8f\xc3\x7f\xa3\xff\x06\x92\x19\x2e\x19\x08\x63\x88\x68\xce\xe7\x4a\xab\x8b\xeb\x07\x42\xf5\x19\x41\x95\x54\x98\x4e\x35\x0f\xd5\x06\x7f\xd3\xe3\x13\x32\x2e\xcd\x76\x7f\x1b\x9e\xab\x9d\xf3\x5a\x86\x25\x98\x71\xd7\xfa\x9a\x20\xe1\xd0\x6f\x51\x2f\xf1\x40\x84\xaa\x45\x8f\xc9\x6f\xd1\x21\x5c\x28\x3a\x76\x64\x1e\xba\x4f\xbc\xe9\x0e\x2e\xb8\x01\xc1\xbf\x1f\x36\xc6\x8d\xb4\x29\x50\x04\x2d\x30\x71\x96\x92\x5e\xf1\xeb\x9a\x1b\x2a\x6e\x7b\xfa\x15\x57\x70\xfb\x3a\xa8\x57\xab\xed\x1e\x25\x6e\x7b\x88\x6d\x13\xa4\x15\xf7\x26\xd4\x26\x9b\x50\x6b\x4f\xae\xf8\x35\xe8\x2f\xdb\x72\x07\xfc\xe6\xf0\xaa\x46\xcd\x25\xd0\xc0\xef\xe1\xa5\xab\xc4\x10\xb7\xc6\x35\xc9\xaf\x26\x09\x4a\x4d\x47\x84\xd9\xc2\x48\x53\xc3\xc5\x7f\x65\xc1\x79\x89\x1b\x6c\xb7\x0c\xa6\x02\xdc\x22\x15\xc3\xcc\xd0\x18\x3e\xee\xdd\x3a\xed\xd5\xd4\xce\x79\xd1\x6d\x28\xae\x0f\x1a\x5a\x93\x05\x97\x78\x88\xaf\xaf\x3d\x2b\x73\x5d\x3f\x66\xe5\xa4\x56\x47\x06\x0d\x62\x2e\xcb\x16\x26\x60\xc5\x80\xae\x3e\x0c\x8a\xd8\x50\xee\x70\x33\x36\x3c\xd4\xc5\x9f\xb3\x17\xcf\xc7\xea\x53\x25\x26\xcc\x78\x3b\xff\x88\xc9\x97\x9e\x8c\xcd\x25\x07\xff\x50\xed\x1a\xb4\xfa\xa4\x61\x43\xbb\x47\xd9\xf4\xa8\xb2\x66\xcb\x5c\x47\x5a\xca\xb6\xad\x96\xad\x5e\xca\x66\x52\x9d\xff\xf1\x95\x6c\x66\x9d\x7a\x4d\x6b\x99\xc9\x02\x46\x9e\xea\xe9\xec\xa7\x7a\xd5\x23\x0d\x2b\xa1\x7b\x71\x7a\xeb\xcd\x46\x27\xda\xbf\xc7\x6c\x48\xe3\x58\x50\xd9\x8d\xe2\x7d\x5d\x2d\x10\xd4\x30\x9a\x7d\x97\x54\x9a\xa1\xb1\x71\xdd\x18\x22\x6c\x1e\x67\x65\x1e\xac\xee\xcc\xb9\xcc\xa8\xd0\x2e\x25\xa2\x57\x15\xb9\x46\xad\x56\xaa\xd7\xe8\xe7\x24\xc7\x16\x3e\x46\xe9\xb6\x3d\x05\xba\xe6\x75\x9b\x93\x6d\x1e\x76\xd3\x59\x86\x18\x3d\x7b\xb0\x2b\x7e\x1d\xee\x09\xa0\x31\x78\x83\x9b\x61\x9d\x9b\xb7\xa5\x81\x89\x59\x57\x1f\x82\xfa\x95\x1a\xc4\x3e\x64\xe2\x94\x10\x4c\x87\x2c\x7e\x82\x61\x7b\x44\x12\x97\x09\xfe\x3b\x22\x79\xf7\xbe\xb0\x8d\xe8\x18\xd6\x64\x63\x23\x5c\xc5\x8c\xee\xb9\x59\x6d\xbd\x33\x01\x13\xb4\x64\xd4\xb9\xfe\xdb\xd5\xb8\x3d\x22\x9b\x40\xc8\x1f\xce\x1a\xe8\x87\x36\x16\xe8\x25\xf9\x09\x37\xa7\xd1\x8e\xe5\x3e\xdd\x2a\xb1\x89\xaf\xcc\xa0\x36\xf0\xd4\xee\xe8\x52\x3f\x0b\xe6\x2c\x2a\xcf\xf9\x22\x55\x30\x8d\xba\x65\x73\xa9\x5f\x14\xaf\x4a\xdc\x10\x2d\x9e\xd3\xe5\xb8\x6e\x5f\x87\x09\x38\x37\x53\x37\x63\x79\x38\x97\x54\x2b\xec\xe3\xb5\x09\x03\x1d\xb9\xe9\x13\x21\xcc\xce\xf8\xcd\x33\xa5\xb5\x19\x88\x18\x35\xcc\x12\x3c\x36\x55\x21\xe3\x55\x48\xff\x35\x33\x0d\x0d\x6b\x37\xde\x28\xb6\x68\xc7\x15\xc6\x1e\xde\xd7\x88\xc5\x95\xa7\x5f\x6c\x5d\x27\xd5\xf4\xc4\xa6\xa5\x97\x7f\x60\x46\xc9\xf0\x47\xb4\xa6\x5f\x12\xbb\xa4\x51\xcd\x19\x17\x75\x4e\x79\xe4\xd0\x34\xce\x8a\x69\x8d\xa5\x27\xf2\xfc\x0e\xac\x56\xae\xb6\x06\xdc\x81\xaa\x7e\x7c\xe8\x1c\x0a\x6d\x12\x3f\xfb\xed\xdb\xc2\x80\x35\xca\x53\x35\x4b\xff\xce\x09\x3d\x57\x39\xbe\xab\xda\x78\xfb\x98\x3f\xba\x64\x79\x13\x1b\x10\x37\x85\x87\xe9\xd3\x60\x4b\x95\x87\x7f\xac\xa4\x3e\xae\xa5\x6f\x58\x84\x17\x54\xd4\xa7\x7b\x7a\x6e\x95\x16\x5d\x0f\xaf\x41\x2c\xce\xd3\x4a\x40\xe0\xdd\xae\x33\xf3\xc6\x32\x66\x7b\x2c\x12\x04\xb1\xa0\xa3\xee\x2a\xbb\x01\x99\x77\x54\xc0\xa6\x71\x5d\xca\x52\x56\x6a\x9f\xfd\xb2\xa2\x45\x90\x9e\x9b\x54\x6a\x1e\xee\x5a\xe6\x36\x01\x93\x19\x2d\xa8\xc0\xda\x05\x9d\xf7\xad\x16\x4b\x00\xc0\x06\xe2\xe4\x03\x34\x65\x0f\x32\xc1\x35\x5e\xa4\x5d\x56\x41\xbe\xa3\xd3\xd5\x9b\x92\xdc\x71\xe9\x0e\x81\x03\x9c\x23\x35\x6c\x37\x38\x03\x87\xbe\xc0\x73\x42\xf5\xa6\xd3\x77\x7e\x7d\x62\x36\x67\xd9\x0d\x74\x34\x52\xf0\xb8\x0e\xc4\x4f\xdd\x92\xf7\xc1\x49\x89\x78\x0a\xa4\x3d\x43\x0d\x9b\x30\xbd\xd0\xde\xf7\xbd\xed\xf9\x1d\xd3\x45\x7d\x96\x58\xb8\x06\xfd\x89\x3e\x64\xdb\x1c\xee\x33\x09\xca\x00\x53\x25\xff\x14\x42\xfb\xb1\x4f\xe7\x99\xb7\xa4\xf9\xc0\xc9\x06\x98\x47\xd4\x3a\xf1\xe9\xb4\x39\xe6\xee\xf7\x6d\x92\x15\x00\x93\x72\xc5\x2e\xb1\x47\xc8\xc1\x28\xda\xcd\xfd\x89\xd4\x27\x7f\x2e\x05\x5f\x70\x8c\xb1\x74\xa1\x8d\x0e\x5c\x4d\x6a\x8d\x76\x50\x5a\xed\x9f\x13\x88\x5f\x8d\x00\x7c\xd1\xee\xff\xad\xed\x52\x6d\xae\x58\xdc\xd4\x8e\x6b\x83\x97\xae\x69\xa5\x9d\x4e\x72\x5a\x4a\x53\x38\x4b\xf1\x9d\x93\x38\x89\xa6\x4d\x71\x7d\x29\x6a\x52\x3a\xd9\xc0\x4c\xee\xe4\x1c\xb9\x9a\xe0\xc1\x18\x10\x98\x36\xac\x8f\x0a\x67\x7e\x5d\x48\x94\x57\xcc\x1e\x86\xa0\x98\x78\xcc\xe6\x10\xf6\x78\x20\xbd\xbe\x0f\xf9\x12\xbd\x89\x22\x4f\xca\xd8\x09\xf9\xab\x0e\x0a\xa9\xb2\xfb\x38\x76\x1b\xab\x1c\x74\xfe\x4e\xd7\xf3\xd9\xe5\x9e\x7f\xac\xc4\xc1\xcd\x5c\xa3\xf8\xd4\x0e\x80\x79\xfa\x00\xc6\xff\x2f\xae\xa6\x1f\x3c\x81\x98\xca\x76\x46\xf0\x8f\x16\x0b\x47\x35\xe0\xf5\x2d\x1a\xec\x5b\xff\xef\xfb\x2f\x3e\xe0\x00\x31\xb1\xae\x49\xb8\x54\x38\xc0\x2e\xd8\x67\xed\x22\x22\xcb\x9c\xe2\x39\x29\x5e\xef\x44\xfb\x44\x3f\xfc\xe3\x8e\x8f\x3d\x4b\x12\xf7\x70\xd1\x5b\x43\xba\xb2\x36\x53\xd9\xad\x35\x55\x5d\x2c\xcc\xe6\x4a\xa0\x00\x8c\x40\x3b\x3f\x2a\xd9\xe6\xc2\xf6\xef\x45\x13\xde\xbb\x1e\x79\xb2\xcd\xdf\x7a\xa4\xe0\x36\xd5\xd2\xa7\x8c\xdd\x58\xed\x87\xcc\xbd\xff\x0d\x09\x76\x95\x32\xf4\x59\xbb\x3d\x8a\x3d\x0f\x47\xcb\x32\x1e\x59\x56\x1a\x31\x6e\xbc\xdf\xb4\x2d\x8b\x4b\xd7\x9f\x05\xf5\x72\x0d\xeb\x1f\xb0\x28\x7f\x41\x97\xb8\x06\xad\xee\x92\x7e\x68\x08\x58\xd2\x31\xff\x2f\x88\x57\xa0\x6b\xf5\x70\x45\x26\x1b\x3d\x3f\x0d\x17\x04\x39\xd3\x06\x50\x8f\x5a\xf5\x63\xc7\x27\x59\xfc\x93\x1e\x99\xbf\x35\x31\x56\x8f\x89\xfe\x2b\xb5\x8b\xc9\x04\x6d\xac\xc1\x4a\xb4\x8f\x05\x0d\x55\x4e\x5a\x9e\xe9\xbc\xeb\x3f\xa0\xaf\x9a\xc3\xa7\x58\xec\x23\xd7\x54\xea\x75\x9a\x0d\x51\x5c\xd0\xfa\x86\xd5\x3b\x7f\x28\x4a\x7b\x6c\xe4\xe8\x13\x87\x7f\x65\x6e\x1d\xf2\x82\x96\xc8\xbf\x44\xb2\x32\x77\x15\x52\xda\x32\x9a\xda\x4b\x5b\xe3\xef\xaa\x1b\x70\xd7\xb3\x3b\xe6\x93\x83\x76\xd9\x34\xbb\xc5\x3d\x6e\xb1\x0c\x78\xca\xf5\x11\xbc\x61\x4b\xf6\x04\xcf\x3b\xd6\xba\x65\xee\x48\x24\xa3\xf1\x75\x73\x81\x53\x60\x46\x42\x56\x60\xfa\x75\xa3\x92\xb1\xa0\xd0\xd2\xa3\x42\x72\x56\xd0\x35\xae\xa6\xd0\xdb\x61\xe8\xc6\x22\x2a\xae\x4a\xc5\xed\xf1\x96\x01\xba\x5d\xa3\x2a\x74\x46\x3d\x38\x56\xd8\xd4\xab\x52\x5c\xb9\x61\x3a\xab\xcf\xdf\x0c\x66\xd3\xed\x56\x08\x7e\xcb\x0d\xbb\xe1\xd6\xc7\x94\x8c\x48\xc1\xe0\x08\x6e\x59\x99\xf3\xb3\xa4\x29\x9c\xa6\x59\x86\x75\x43\x38\x1c\x39\x5b\xe2\x80\x94\xba\x35\x4a\x82\xc5\xe4\x51\xbb\xf0\xce\x20\x91\xb3\x2d\xd4\x31\xc7\xea\x74\xc9\x20\x36\x2b\xdf\x31\x15\xef\xeb\xf2\x98\x15\x97\xcd\xda\x6c\xf6\xd8\xd4\xcb\xec\xbf\x43\xe2\xc5\x4e\xf9\x44\x2a\xa5\xa1\x56\xa3\x28\x48\x59\x95\xfb\xd6\xe6\x46\x6b\x99\x64\xb2\xcb\x75\xe4\x33\xeb\xb2\x3e\x5d\xda\x53\x32\xa9\xd8\xa6\xcd\x04\xdc\x4e\x02\xbb\x29\xc7\xee\x97\x95\x50\x63\xf9\x2f\xb2\x2a\x9b\xb3\x23\x7a\xc2\xf0\xa1\xb9\x12\x7d\x6b\xca\x61\xd3\x42\xec\x70\x06\xd0\xae\x22\x34\xe7\xe1\x44\x09\x95\x64\x26\x21\xda\xaf\xbe\x31\xa5\x6e\x1e\x6a\x4a\x7e\xc6\x49\x75\x03\x88\x29\x75\x7b\xd7\xe2\xa2\x73\x13\xbf\xf1\xfc\x39\x96\x62\xfc\x2c\xab\xf2\x79\x52\x51\x54\xda\x6a\xa2\x88\x7c\xed\xce\x43\x27\x49\x27\x27\xb3\x98\x8f\xe5\x46\x4b\xc0\x66\xef\xb4\xc9\x39\xad\xf5\xc2\xdb\xb6\x78\x0f\x9d\x28\xd9\xd2\x3c\x49\xf9\x66\x01\x7d\xb2\x8c\x38\x29\xaa\x49\xbc\x8c\x43\x86\x5b\xb6\xf8\xe2\x50\x9c\xa2\x0c\xe9\x51\x77\x8a\x4c\x8d\xeb\x7f\x14\xef\x72\x44\xf4\x52\x54\x8b\x94\x7b\x61\xd0\x36\x54\xbd\xfb\x5b\x8f\x65\xd2\x34\xc1\x07\x2d\xc4\x63\xb5\x91\x19\xe1\x89\xc7\x71\xa3\x4e\xf7\x5d\xf7\x4c\xa1\x6a\xf2\x66\xa0\x42\xd3\x94\x8a\xc9\x30\x96\xbe\x36\xcc\x3e\xea\xa7\x51\x82\x67\x3b\x41\xb9\xed\xc6\x76\x7d\xed\xae\x75\xd6\xf0\xf0\x71\x5f\x71\xd3\xf4\x74\x32\x16\xed\xa8\x4f\x48\xf2\xed\x92\xe1\x2a\xe3\xf4\x2b\x3d\x89\x37\x1d\xb0\xf6\x2a\x38\x8c\xac\x2a\x9b\x0a\x15\xeb\x3b\xf7\x3e\x32\xc0\xa8\x2f\xfd\x6a\x2a\xd4\x0a\x77\x53\x8d\x76\x55\x08\x26\x3c\x37\xe0\x4b\x6d\x5c\x12\xba\x0f\x7f\x10\xc5\x78\x37\xd6\x3f\x1a\x05\x45\x09\x61\x7e\x1f\x9f\xc1\x74\xc3\xd6\xbd\x82\x4a\xf5\xc6\x4c\x26\x06\x80\x60\xec\x41\x03\x0d\x3a\x1b\x26\xd2\x1e\xfc\x0c\x65\x7d\xff\x8e\xfa\x8e\x21\xd1\x24\xe3\xb6\x55\x4c\xe1\x86\x68\x78\x52\x3a\x5f\x60\x56\xb0\x55\x14\x4d\x7b\x6d\xe9\x42\x50\x8c\x6b\x28\x2e\x9e\xb5\x45\x09\x26\x27\xd6\xab\x15\x75\x24\xc8\xef\xd6\xd2\xbe\x9f\x36\x3f\x73\xee\x82\xc8\x5e\xec\xc8\x6f\x5e\xfb\x51\xd7\xcd\x78\x96\x71\xba\x5d\x9d\x81\x6e\x54\xf9\x49\xc3\xed\xdb\x8a\xe7\xe8\x92\xc5\x03\x8d\xb1\x49\xb2\x50\x23\x0d\x4a\xa2\xd2\x3d\xdf\xad\xa8\x6e\x8f\xfc\xfe\x7b\x78\xeb\x1c\xb5\x43\xa8\xd6\x9a\x43\x8e\xa6\x1e\x38\x8d\x10\xab\x82\xc7\x05\x47\xc1\x8c\xed\xb6\xc9\xa5\x40\x73\x6c\xdf\x52\x5d\x30\xbd\xd7\xf9\xff\x92\x8d\xd4\x3f\x84\x3b\x5d\xd1\x12\x5e\x65\x7b\x98\xec\x9b\x0e\xf2\xb1\x92\x3a\x6a\x03\xb7\xf4\x5f\xe8\x2d\xfd\x90\x09\xbe\xc4\x7d\x6e\xcb\x59\x20\x46\x59\x55\x14\x2c\x03\xd3\x9d\xaf\xf4\xd2\x7a\x32\x59\x99\x4a\x58\xa9\xd8\xd2\x4c\x43\xd8\x33\x33\x78\xa9\x33\x25\x4c\x70\xbd\x98\xb9\x05\x6a\xcd\x11\x9a\xe6\x79\xbb\xd7\xeb\x75\xf4\x29\xfd\xd2\x1f\xa6\x8a\x67\x5f\xfc\xb3\x85\xdb\x33\x3b\xcd\xf2\x5b\xbd\x16\xc6\x8e\xdb\x84\x97\x7d\x7d\xb8\x62\x4f\xce\x83\x5d\xad\xca\xaa\xe4\x19\x2d\xc8\x4a\x32\xbd\x26\x5f\xd6\x32\xcf\x66\x9d\xa7\xdb\x22\x3b\xde\x01\xcc\x04\xba\xeb\x6a\x25\x1c\xcd\xcc\x71\x1b\xd0\x1f\x90\x2f\x6c\xb8\x2a\x0a\x3c\xa3\x3d\x50\xd9\x0e\xfc\xdc\x1c\x78\x66\x28\xfe\xf9\x39\xf9\xed\x21\x3d\xb5\x96\xba\xfb\x5b\x33\xc6\xc9\xd2\x7c\xf7\x0c\x09\xb7\x58\xb3\x5b\xa3\xe3\xb1\xb6\xa6\x16\x1f\x31\x0d\xd0\xd4\x0e\x9a\xc3\xc9\x9e\x25\x28\xe7\x54\xaf\xa2\xc6\xf3\x95\x1b\xab\xa8\x71\x72\x62\x4c\x16\x38\x45\x03\xdf\x53\x64\x70\x1a\x63\x4f\xd0\xbb\x3d\x5d\xdf\x6d\xf2\x7a\x66\xc9\xe5\xa4\xa8\xe5\xb4\x73\xaa\x68\x90\x92\x32\xc6\x3b\xa4\x47\x4c\x50\x60\x96\x7a\x16\x09\x70\xe9\x62\x5b\x5a\x01\x45\x4f\x78\xe2\x3b\x87\xd8\x64\x00\xd7\x4b\xf6\x5c\x3f\x8b\x7f\xc3\xdd\xe7\x3a\x93\xa2\xcb\x24\xa8\xa2\xcf\xf1\x53\x17\x3d\xc6\x11\x9c\xe0\x0c\xeb\x9f\xdc\x50\x1b\x65\x15\x9d\x01\x65\x6e\x61\x2f\xb9\x5b\x7a\x61\x4e\xf0\xd9\x83\xcb\x7b\xbe\x7c\xd7\x75\x1e\x7c\x71\x00\x8b\x22\xbf\x47\xcd\x22\xb8\x37\x36\x1c\xf5\x16\x97\xb9\xfb\x99\x84\x6a\xc7\x21\x6d\xae\x4d\x7b\x58\x75\x59\xa9\xc0\x7c\x06\xb5\xac\x55\x73\x2d\xeb\x1e\x90\x78\xaf\x4b\xf6\x00\x53\x5b\xce\x1c\xf5\x3d\xaa\x68\x75\x03\xd7\x10\xcb\x77\x6b\x5d\x08\xab\xe2\xad\xdb\xb0\x61\xf8\x77\xd4\xa5\x37\x19\xb9\xb8\x38\xdd\x85\xfe\xb6\x4d\x1f\xf8\x6f\xac\x41\x6f\xdc\xd2\x74\x2b\x7f\x36\x33\x5a\xc4\x4b\xff\x83\x78\xe2\xe9\x43\x5d\x14\x9a\xc7\xfa\x02\x84\xe4\xff\x83\xe3\xdd\x03\x92\xec\x18\x74\x4c\x07\x69\x7d\xb4\x12\xb5\xfd\x8a\xfe\x7b\x0f\xff\xd8\x23\x4e\x58\x09\x8e\x4f\x4e\x6e\x99\x90\x98\x03\xde\xa9\xef\x0d\x63\xfc\x24\x8a\xc7\xf2\x86\xf6\xda\x9d\xfd\x4d\x5b\xdb\xf4\xec\x0b\x3f\x5c\x2d\x44\x18\x86\xda\x3d\x88\xd6\xee\x19\x69\x75\xa3\xab\x6e\xe4\xb6\xbb\x94\x36\x93\xfe\xbf\xc3\xa3\x84\x90\x56\x2e\xa9\x59\x49\x86\x05\x0a\x0b\x56\x2a\xb3\x7b\x4e\x35\xb5\xc7\xed\x60\x12\x7c\x59\x49\xc9\x27\xc5\x9a\x64\x45\xb5\xca\xf7\x27\x34\xbb\x61\xc6\x4d\x74\x5b\xdb\xe9\x11\xf7\xbb\x7d\x96\xec\xce\x94\xfc\xb4\x3b\x8f\x24\xed\x67\x73\x48\xe6\xff\x0e\x0a\x9b\xce\xd8\x84\xc0\x84\x4a\x96\x13\x2c\x8b\x30\x8b\x43\x4a\xbd\x09\xac\x3e\x23\x63\x4a\xed\xb6\x08\xe6\x14\x22\xa1\x33\x08\xe0\x6e\xb9\x65\x45\x7a\x87\xea\xe8\xbc\x9e\x74\xe8\x6a\x43\xd1\x7b\xa5\xcf\x0c\xaa\x1f\x26\x53\x3f\x40\xe6\x73\xc3\x09\x32\x55\xc3\x99\x29\x71\xd7\x7a\x76\x3e\x14\x37\x78\x7b\x8b\x4c\x63\xf7\x22\x76\xb7\x36\x17\x55\x99\x54\x8a\x39\xbf\xc2\x92\x2b\xee\x56\x50\xd5\x6f\xef\x4b\xbd\x01\x3a\x0f\x37\x90\x88\xbb\x9c\xe4\x80\x34\x1a\x21\x1d\xdc\x9e\xc1\x54\x30\xea\x27\x19\x30\x66\x8f\x7a\x78\x65\x01\xae\x5d\xbe\xd6\x52\x6c\xf3\xee\x2e\xe9\xae\x0f\x55\xf3\x7e\x0f\xe1\x44\x76\x15\xed\xf5\x60\xd0\x6b\xaa\xaa\x74\x27\x44\x84\x0b\x20\xec\x76\x42\x1b\xf6\xe7\xae\xad\xaa\xf8\x7f\xd9\x7b\xf7\xfe\xb6\x8d\x24\x51\xf4\x7f\x7f\x8a\x4e\xee\x3d\x21\x19\x53\x14\x49\x3d\x2d\x8f\x92\xa5\x28\x6a\xe2\x13\xdb\xf1\x46\x76\x72\x77\x3d\x5e\x9f\x26\xd0\x24\x11\x81\x68\x0c\x1a\x90\xc4\x19\x7b\x3f\xfb\xfd\x75\x55\xf5\x0b\x00\x25\xc5\x79\xec\xcc\x9c\xf8\x0f\x4b\x6a\xf4\xb3\xba\xba\xba\xaa\xba\x1e\x6b\x9e\xf7\x3e\xba\x38\x42\x81\x35\x4e\x9b\x3f\x05\x76\xfb\xc8\x46\xe6\xaa\x29\xb8\xb6\x02\x7f\x4b\x16\x86\x30\x02\x70\x1d\x44\xa0\xb5\x6f\x37\x3a\xf6\xd3\x30\xd4\x4d\x78\x7e\xd5\x1c\x0c\x5b\x57\xb4\x3d\xf3\x42\x33\xac\x71\x33\xf3\xc2\x7b\x6b\xd7\x1f\xc4\x4f\xf5\xdd\x8e\xdb\x50\x62\x7b\xf2\x85\x73\xb4\x04\x87\x98\x4f\x68\x02\x60\x62\xb8\x79\xf4\xf9\xd7\x40\x01\x34\x39\x7f\x74\x77\x40\xe8\xad\x50\x03\x4f\xf6\xbb\xe3\x40\x07\x47\x0b\x1b\x78\x0f\xf9\x0f\x36\x52\x6f\x3c\x62\x7e\xef\x1e\x65\x1b\x46\x65\xdc\xd1\x94\x52\xac\xef\x7b\xd1\xd4\x3f\x8d\x97\x72\x95\xdf\x11\x21\xb5\xf7\x70\xb0\x5a\x13\x27\x03\xd9\xb9\x10\x9a\x5d\x45\xfe\xf1\x21\xa0\xa5\xb0\xcf\x3e\x70\xc1\x0c\xe6\x2e\xe8\x6a\x2e\x2a\xac\x84\x4c\x50\x6b\x42\x0f\x15\x58\x11\xf9\x00\x6b\xd0\x17\x8a\xbb\x09\x56\xbf\x36\xa7\xef\x7d\x20\x03\x65\xf6\xcf\x03\x98\x02\xdf\xa5\xbb\x40\xf6\x20\x98\xa9\x1a\xd0\xd4\x83\xa0\xa6\xea\x60\x0b\xcd\x8b\xc8\x11\x3e\xdb\x76\x00\xdb\xb0\xca\x68\x61\x2c\xb7\x3e\x17\xa4\x6a\x78\x80\x09\x90\xab\xbb\xc5\x10\x48\x89\x02\x82\xf4\x0b\xeb\xe8\x0e\x1c\x85\xb5\x04\x8a\x22\x91\x97\x0d\xdd\xce\x2f\xf2\xc0\x33\x03\x29\x51\x06\x0e\x78\x7e\x1e\x07\x4c\xba\x27\xc3\x58\xf6\xba\x01\x59\xec\x02\x61\x33\xe1\xbf\x1e\xb9\x3c\x44\x85\xc9\x62\x60\xa2\x11\x27\x18\x56\x2a\xc8\x36\x00\x66\xa9\x79\x0c\xcf\x99\x9e\x85\x84\x9f\xe4\x6a\x2b\x76\xa8\x2d\x27\xca\x0b\xe2\xdb\xa4\xf5\x72\xfe\x93\x4d\x3b\x27\xe7\x3f\xc1\xe3\x81\x0b\xf9\x5d\x47\x25\x25\xca\xae\x9c\xff\x54\xeb\xac\x81\x4d\xf6\xd4\x11\xd6\x6f\xc7\xaa\x56\x0b\xbe\x2b\xb1\xd9\xa5\x96\x68\x2a\x56\xeb\xe0\x8f\xbd\x36\x7b\xad\xc2\x14\x4a\xf5\x8d\x69\x21\x06\x0f\xd8\x41\x13\x10\x06\xa3\xe6\x87\x7e\xb7\x0f\xbb\x6a\xc0\x8a\x0f\x5c\x93\x7f\xfd\xed\xa2\xb8\xa9\xbf\x70\xc7\x4c\x6f\x26\x46\xdf\x6f\xbf\x63\xce\x9a\xad\x71\x40\xef\xdb\x33\x6c\xda\x52\xb7\x6d\xdb\xec\xd9\x83\x9b\xee\xce\xdd\xdb\x76\xed\xfd\xb1\x7d\x77\x6d\x5f\xcb\xed\xfb\xf0\x0d\xac\x57\x7e\xb8\x12\xe7\x3d\x2c\xe4\x5f\x44\xd1\x70\x93\x64\xb1\xbc\x19\xc0\x92\x2e\x7f\xbe\xb6\x01\xdc\x27\x42\x85\xc3\x2f\xd0\x36\x3c\x07\x0c\x69\x58\x9e\xb5\xab\x12\x9a\xda\x87\x96\xb5\xe8\x6a\x54\xcc\xe3\x78\x76\x2d\xb2\xd2\xea\x18\x3a\xd4\xb4\xd3\x37\x61\x7e\x2f\x0d\x9a\xfc\x8e\xea\x06\x58\x73\x9b\x39\x47\xa0\x6d\xf0\xb4\x0b\x56\xb1\x30\x29\x04\xbf\x5f\xa5\xb0\xbb\xcb\xfe\xf7\x25\x6a\xb3\x55\x23\xfc\x92\x4b\xdd\x06\xc8\x06\x31\x6c\x74\x9d\x75\x5e\x6e\x28\x49\xc3\x80\x5d\x4a\x46\xce\x5d\xd8\x9d\xcc\xd2\x0d\xc5\x3d\x24\x65\xb0\x0d\xdd\x54\x16\x55\xb9\xda\x0c\x5c\x3c\x74\x74\xc6\xf7\xba\xeb\xbb\x00\xe5\x64\x7f\x9a\xc5\x18\xf1\x17\xac\xc2\x32\x59\x42\x16\x0d\xdd\xbb\xf5\xd6\xd7\x22\xb7\x79\xf9\x17\x03\x6b\xb1\xfd\xb5\x9f\x79\xce\x95\xf7\xd8\x89\x57\xeb\xa9\x0b\x48\xe0\xba\xb0\x46\x0b\xb5\x2e\x9c\x29\xfa\x89\x57\xcb\x74\x21\x1d\x7b\xf6\x56\x0c\x88\x3d\x43\x05\x8c\x19\xed\xc4\xcd\x95\x1e\x14\xa9\x8f\x13\x3b\x81\x3b\xa3\xa7\x7c\x9a\xae\x47\xfe\xb3\x69\x79\xea\x38\xff\x4f\xaf\xe4\xa9\x2f\xe8\x0f\x1d\xcf\x03\x74\x3c\x75\xa0\xfd\xa1\xe2\xf9\xb5\x54\x3c\x75\xc8\x3e\x4c\xc3\xe3\x27\xe2\x6a\xe8\x2d\xc0\xf9\xe3\x4a\x6c\xbc\xf4\x63\xf8\x9c\x7a\x6d\xdf\x50\x11\x14\x36\x61\x69\x59\x6c\x3c\xb3\x59\xec\xd6\xa3\xb6\x2e\xf5\x0b\x63\x1a\xc3\xca\x68\xc5\xcc\x35\x47\xc6\x7d\xe8\x80\x11\x71\xcd\x8e\xe2\x7d\xe3\xf1\x95\xe0\x58\x67\xde\x24\x4b\x56\x65\xee\xce\xf0\xac\x9a\x3d\x04\xb0\xa7\x17\x2e\x77\x34\x64\xc5\x49\x34\xd0\xe1\x5f\x41\x7f\xf5\x00\x7c\xb8\x57\x7b\xb5\xd5\xe4\x3f\x41\x63\x4e\x63\x5d\xcf\x76\xd8\x48\x5f\x60\x5f\xe1\x45\xb6\xb3\xe3\xc7\x43\xd0\x27\x02\x6b\x5b\x13\xfb\x87\x62\x5a\xed\xe5\x7e\x2b\xaa\x85\xc8\x06\x86\xef\x74\x3d\x6f\x41\xb8\x76\x94\xfb\x85\x48\x17\x8e\x7c\x1d\xda\x27\xb6\x18\x37\x02\x00\x9b\x81\x41\x1f\x8a\xbb\xc5\x75\x13\x71\xff\x50\x20\xfe\x53\x2a\x95\xea\xe7\xf3\x67\xeb\x0f\x1b\x9a\x25\x73\x88\xfa\xf5\xd4\x84\x78\x0a\xb6\xdf\x99\x0f\xbd\x31\xff\x50\x2e\xfe\x7e\x78\xf0\x10\xdd\x62\xdd\xc0\x5f\xce\x7f\x0a\x24\x86\x07\x21\x87\x51\x3b\xf7\x9a\x29\xd9\x3e\x05\x47\xfe\x50\x5f\xfe\x06\x38\xf1\x8b\xb5\x97\x4d\x4e\xee\x17\xee\xef\x1f\x7a\xce\xdf\x76\x9f\xc3\x00\xae\x45\xeb\x46\xb7\x86\x62\x2d\x36\x5b\x15\x08\x6d\x38\xc1\x8b\xcd\xdb\xe4\xdd\x2f\x3b\xfa\x0f\x53\xa0\xae\xc5\x5a\x16\x9b\x7f\x11\x0d\xea\xb3\x6c\x07\xd7\xe3\xb4\x2a\x9f\x62\xa7\x05\xf5\x75\x7f\x9f\xa4\x39\x7d\x81\x33\xf8\x64\xd5\xe9\xb6\x44\x63\xff\x90\xea\x23\x5c\xec\xbf\x92\xfe\xa8\xb1\xa2\x3f\x14\x48\x0f\x50\x20\x35\xa0\xf6\x00\x0d\x92\x06\x98\xb0\x8a\xdc\x3a\xd7\x14\xaa\xd2\x89\x60\x0a\x23\xd2\xfd\xdd\xa9\x79\x83\x8a\xf0\xbd\xef\xe9\x7a\x8d\xe3\xdd\x47\x4b\x4b\xdb\xce\x5b\x48\x4e\x6b\x07\xf7\x93\xf5\xc3\xad\x1a\xe2\xc0\x01\xce\x7b\xdd\xe8\x1b\xef\xc0\x3f\xd4\x67\x77\xe1\xd5\x2f\xd4\x9f\x51\x42\xfb\x3f\xf4\x66\xff\x6c\x7a\xb3\x6d\x88\xf0\x8f\xa7\x38\x23\x14\xfb\x43\x61\xf6\x87\xc2\xec\xff\x06\x45\x49\xe3\x60\x7e\x9a\xc5\x9d\x8b\xfd\xd5\x7e\x98\x9a\xa5\xe6\x84\xd4\x15\x6a\x36\x9e\x98\xe3\x2d\xda\xd8\x86\x66\x08\xb1\x13\x9c\xe2\x3f\x01\x3b\xf0\x87\x66\xf0\x1f\x10\xe1\x1f\xa2\x1a\xf4\xd1\xf2\x6e\x4d\xe1\xcf\xe7\x74\x8d\xc6\xf0\x63\x33\x6a\xdc\xb6\x03\x63\x95\x8c\x4f\x5b\xe8\xf6\xff\x08\xda\xff\x6a\x9a\xb0\x3f\x34\x9d\xbf\x2a\x8e\xff\x2c\x55\xa7\x9f\xd1\xa0\x9d\xf1\xfe\x43\xcd\xf9\x8f\xbd\xc9\xbf\xb2\x9e\xb3\x15\x21\x50\xc7\xf9\xee\x37\xd4\x71\x96\x42\x95\xef\x29\x86\xd9\xbf\x88\x86\xf3\xdf\xf4\x57\x3d\xc8\x75\x22\x6e\x98\x17\x14\xa6\xca\x92\x92\xe9\x05\x6b\xf6\x75\x51\xf0\xb5\xb8\x91\xc5\x15\x6c\x92\x1f\x54\x92\x67\x96\x8b\xe5\x7e\xb9\x6e\x19\x66\xa9\xd2\x03\x99\xac\xa2\x18\x90\x5b\xe3\xce\x6b\xa1\xca\x17\x5e\x56\xd3\x42\xa4\x80\x6a\xa0\x67\x85\x24\x78\x13\x0c\x33\xb9\x96\x6b\xca\x87\x95\x94\x1d\x05\xd1\x15\x5d\x9c\x1a\x08\x91\xa9\x92\x6c\x99\x0a\x1c\x07\x51\x19\x6a\x16\x82\x2b\x99\xf1\x79\xba\x61\x6a\xcd\x31\x2b\x55\xf7\xf4\xbf\x47\x57\x2c\x4d\x32\xa1\x19\x23\x3d\x2e\x76\xca\x52\x59\x32\xc1\x55\x82\x07\xc4\x24\x58\x96\x19\x75\x0b\xa1\x6e\x20\x62\x8c\x5e\x9f\xee\x69\xc5\x8b\x4c\x28\x85\x51\xee\x13\x60\x36\xbc\x86\x4a\x5c\x8b\x2c\x88\x6a\x2e\xd3\x54\xde\x68\x90\xd2\x02\x31\x4e\x3c\xf9\xd6\x7b\xa9\xfa\xea\xb0\xd9\xc1\x38\x0b\x52\x96\xa4\x82\xd6\x93\x16\x59\x59\x6c\x72\x99\x64\x78\xec\x21\xa4\x1b\x48\x1b\x42\x4b\x66\x15\x2a\x93\x9b\x9d\x0d\x9e\xcb\x25\xdb\x61\xcf\xe5\x72\xa9\x6b\x6b\x4c\x4c\xd0\x3b\xbf\xa5\xee\x65\x95\x94\x82\xed\xb0\x89\x01\xb7\x71\xec\x37\x1b\xdc\xd2\x46\xff\x0e\x4d\x68\x4b\x74\xdd\x3b\xaa\x7e\x5f\x65\x6c\x87\x61\x09\x62\x86\xb8\x15\x51\x65\x46\xe2\x40\xcb\xee\x19\xf2\x7b\xa1\xaa\xb4\x31\xa8\x3e\x67\x55\x4a\xc1\x45\x2d\xcd\xd7\x40\xa4\x08\x26\x74\x54\x2c\xb2\xb3\x55\x22\x0a\x5e\x44\xab\x0d\xa2\xc5\x95\x10\xb9\x28\x4c\x20\x83\x54\x2e\xb7\x84\x6d\x69\x81\x30\xd2\x7b\xdd\xc4\x92\xfa\xb6\x7d\x70\xfd\xc1\x21\x7a\x2e\x97\xca\xe4\x30\xf7\x4e\x23\x25\x44\xd2\x34\x4d\xae\x93\x32\x50\x99\xfa\x68\x52\xd3\x8f\xa6\x72\xe9\x29\xc8\xf5\x5c\x4e\xed\xac\x30\xc0\x57\xdb\x9c\x20\x9e\x69\x7b\x2e\x77\x83\x59\x06\x7e\x36\x95\x3a\x7c\x30\xa4\x71\x8b\x1c\x00\x14\xf7\xd6\x8b\x1f\x83\xd7\x66\xae\x0f\x02\x26\x6e\xd7\x9d\x28\x40\x38\x25\xca\x2a\xef\xf6\xfa\x06\x2e\x79\x21\xf8\x7a\x9e\x8a\x2e\x9d\x57\xa8\x1a\x71\x7d\x82\x28\x48\x95\x9b\x46\x51\x65\x03\x86\x44\xc7\x6c\xb3\xa2\x5c\xf1\x1e\x1b\x5f\x5f\xf8\x97\x40\x74\x07\x8c\x3d\xd3\xa4\x40\x64\x65\x52\x88\x74\xc3\xaa\xdc\x6c\x87\x37\xbb\x1b\x78\xe7\x29\x3b\x56\xed\x08\x19\x33\x30\x47\x5a\x73\x57\x1a\x19\xd3\x0d\xd2\xd7\xb5\xd9\x14\xa0\x8f\x74\x2a\x6d\xbb\x43\x2d\x29\x30\x2f\x35\xba\x23\x00\xa1\xdd\x2f\xae\x94\x8c\x12\x17\xc0\xb3\xb1\x69\x96\x53\xb0\x54\x7b\x4a\x71\x86\xd7\x7c\xe3\x27\x8a\x47\x0a\xa7\x6f\x4e\x78\x01\xcb\xf3\x42\xe6\x05\xa4\x1d\x34\x8b\xb9\x0f\x08\x32\xa3\x65\x4c\x0d\x73\xe2\x01\xa2\xc4\x4f\x3d\x14\x69\x6a\xb6\xf9\x62\x21\x21\x3e\x34\x4c\xfc\xfe\x25\x25\x0a\x70\xe1\x9e\xb3\x8a\xa4\xe3\x23\xd1\x0a\x13\xcf\x46\xff\x1a\x20\xb9\x60\x55\x1e\xc9\x35\x84\x89\x26\x24\x32\x64\xad\x8e\xe8\xd1\x2d\x26\x33\x94\x59\x29\x6e\x83\x6e\xdc\x8e\xdc\x07\x24\x5d\xef\x15\x21\xbd\x0f\x1f\x9c\x5a\x9f\x01\xb2\x34\x41\x64\xc2\x4f\x3f\x10\x42\x8b\x24\x4b\xd4\xaa\xf9\xcc\xf7\xc9\x30\xa2\x0e\xe3\xdf\x0f\x46\x52\x95\x0f\x06\xd2\x39\xf0\x33\xe8\xca\x01\x33\x36\x54\x84\xc9\xaa\xcc\x2b\x2f\x0e\xf3\x0d\x9b\xbc\x7a\x66\x73\x7e\xd8\x64\x3c\x94\x4a\xc4\x90\x63\x22\xde\x8c\x89\xc1\x72\xc0\x7e\x14\x4c\x55\x39\x04\xd5\x4d\xb2\x85\x24\xea\x05\x39\xec\x7a\x7d\x26\x20\xbe\xb4\xfe\xa5\x8c\x06\x83\x01\xaa\x4f\xd3\xe4\xca\xf6\x36\xa0\x46\x54\xe1\x2e\x22\x4a\xc3\xbf\x6e\x4c\x05\xd8\x7a\x59\x69\x7a\x9d\xa6\xfa\xbe\x5a\x22\x69\x2c\x64\xb5\x5c\xd9\x4b\xe6\xd2\x44\x93\x83\x64\xdc\x4c\x71\xb9\x16\xb0\x5e\x5a\x9e\x2a\x79\x16\xf3\x22\xb6\x9d\x4f\x5e\x3d\x6b\xdf\x8b\xe7\x70\xa5\x84\x54\x0c\xdb\x9c\xd2\x4f\xdf\x58\x45\xcb\x29\xa7\x98\x99\xc8\xaa\xe0\x62\x8c\x0b\xd5\xe9\xd8\x12\x0c\x72\xf7\xbe\xad\xf0\xb2\xe4\xd1\xd5\x7b\xcc\x9a\x89\x2e\x26\x53\x9e\x97\x55\x81\xcb\xf5\x77\x06\x58\x23\x06\xbc\x11\xa8\xa8\x60\x93\x81\xab\xe6\x80\x5a\x90\x87\x08\x02\x12\xea\x66\x8a\xdc\x5f\x30\x04\x61\xba\x19\x30\xbd\x99\x26\xdd\xd1\x5c\x30\x93\x80\x10\x53\x53\x2a\x21\x28\x68\xe2\xc0\x86\xc6\xe7\xa9\x92\x10\x16\x59\x99\x2c\xd3\xba\x2b\x80\x6a\x29\x99\x66\x19\xf5\x68\xa2\x50\xac\x0b\xc8\x72\x23\x2c\xfc\x11\x43\x7a\x03\xb3\x56\x5a\xc3\x7b\xba\xac\xe9\x4f\x0d\x8a\xb7\x9d\x54\x2e\x3b\x7d\xd6\x89\xc5\xbc\x82\x5f\x34\xce\xe8\x9f\xba\x0f\xfd\x13\xb0\xac\xf3\xce\x26\xb1\xea\xa6\xe2\x5a\xa4\x3d\x76\xfa\x15\x89\x4e\xa9\x28\xd9\x5a\x2d\x5f\x61\x24\x41\x03\x63\xc6\xd4\x4d\x02\x4f\x00\x54\xdf\xe6\x28\xd3\x70\xa3\xe1\x4e\x82\x32\x18\x31\x2c\xc2\xc1\x4f\xec\x03\x80\x3f\x0e\xf4\x3b\x28\xe5\x9b\x3c\x17\xc5\x94\x2b\xd1\xed\x51\xca\x46\x17\xcc\x78\x5e\x08\x7e\x15\xc4\x68\xd5\x6b\x2f\x99\x44\x34\x0b\x80\xf3\x16\x3a\x7c\xe7\x74\x53\x54\xb0\xa5\x1e\x3b\x65\xdd\xc1\x60\xc0\x8b\xa5\xf2\x80\xe1\x05\x4e\xd5\xc8\xe9\xa2\xdd\x3a\xd4\x7c\x7c\x1a\x62\xe5\x63\x6f\x55\x8f\x99\xee\x6f\xf0\x93\x4c\xb2\x6e\x87\x75\x60\x41\x7f\xc9\xec\x82\xf4\xb4\x07\x3c\xcf\xd3\x4d\x37\x98\x52\x1f\x9a\x19\x85\x15\xc8\xab\x36\x6b\xea\x8f\x05\xcf\x77\xe7\x49\x86\x82\xf9\xb2\x90\x55\x6e\x8f\x17\x60\xdb\xdb\x0e\x14\xea\xbd\x86\x5f\xa6\x32\x4d\x79\xae\x44\xec\x6f\x3a\x7c\xf1\xd6\x49\x60\xfc\x33\x74\x57\x07\x10\x54\xf6\x01\x89\x05\x5b\xea\x69\x40\xa6\x7c\x2e\xd2\xd3\x4e\x27\x80\x24\xf6\x8e\xdf\x82\x2c\x9f\x3f\x13\xbc\xd0\x41\x0d\x92\x75\xba\xc0\x58\x67\x50\x88\x5c\xf0\xb2\xfb\xf8\x71\x83\x3e\xb4\x40\xd6\x07\xc0\x2c\x8b\xeb\x6b\x1b\x2c\xe9\x83\xa5\x37\xcb\xfb\x6a\x6a\x38\x78\xeb\xb7\x5d\x9b\xf4\x7d\x77\x4c\x79\x67\xa7\x7d\xca\x8d\x20\x94\x90\xc8\x0d\x19\x6f\x58\x40\x51\x45\xa5\x2c\x3c\x8d\x11\x24\xed\xc5\x64\xb9\x2b\x51\x24\x25\x68\xae\x1e\x41\xce\xe8\x16\x29\xce\x5c\x29\x6f\x94\x08\xf3\xc6\x01\x43\xd7\x60\xf3\x89\x11\xa7\x94\x5d\xc0\x18\x87\xd9\xed\x75\x5f\x18\xe2\x31\xdd\xb0\x24\x4b\x4a\x7a\xd6\x6a\x9f\xac\x55\x4c\xb9\x0e\xff\x43\x56\xa0\xbc\x28\x57\x02\xb4\x53\x1e\x97\x69\x25\x00\xe0\xf6\x1d\xf7\xcf\xd6\xa2\x5c\xc9\x58\x41\x00\x52\x11\x09\xa5\x78\xb1\x81\x3a\x3c\xf6\xa5\x82\x47\x98\x33\x2e\x18\xd0\x0a\xd7\xd7\xbc\x60\x2f\x36\x1a\x3e\x8a\x02\x92\xb5\xc2\xab\xdb\xa1\x4a\x1d\xbd\x3d\xd4\x96\x8a\x42\x75\x3d\x9c\x2a\x67\xc6\x83\x7c\xfc\x97\xe6\x15\xf5\x52\x94\x8a\x6e\xc0\xe4\x6f\x98\x73\xee\x16\x7f\x4d\x16\x2c\x29\x99\xb8\x4d\x54\xa9\x6c\x8e\xb8\x46\x92\xa6\xd1\xd0\xeb\x0c\x03\xaf\xda\xab\xdc\x04\x54\x37\x49\x8e\xa2\xdb\x3e\xfb\xbb\xee\xfb\x84\x8d\x86\x90\xa7\xe0\x4b\x3a\x0a\x5b\xe7\x9f\xdf\xc7\x65\xfa\x4b\xd1\x9c\x02\xc8\xe1\xac\x2b\xae\x21\xa3\x5b\xa4\x37\x61\x51\xa5\x4c\x66\x42\xf5\x40\x5a\x50\x49\x2c\x76\xc4\x62\x01\x0c\x89\x46\xb4\x34\x51\x65\x9f\x29\xe9\xf5\x54\x08\xc2\xb8\xa4\x34\x7c\x3d\x98\x20\xf9\xca\x02\x23\xb7\x62\x3c\x7e\xb0\x6e\xc3\xe2\xad\x2f\x07\x7a\xe5\x4e\x53\xf8\xa5\x4f\x6e\x52\x8c\x52\xcf\x4e\x59\x62\xfb\xf9\xd8\x00\xcf\xee\x2e\x3b\xe3\x2a\x89\x58\x5d\x99\x65\x23\x0c\x7b\x30\xe4\x71\xac\x7f\xe9\x76\x72\x99\xef\xa0\x9a\xb2\xd3\xbf\x07\x88\xde\x6c\x06\xb9\xcc\xbb\x1e\x6a\x31\xe6\xd2\x08\x26\x4a\x73\xef\xa2\xc0\xa3\xc3\x93\x94\x32\xd3\xe9\xa9\xc0\x65\x0b\x27\x51\x95\x32\x07\x07\xde\x81\xeb\x81\x54\x1e\xd8\x7a\xf6\xef\x5d\x37\x1c\xce\xb0\xef\xa1\xe2\x0e\x3e\xb4\x87\xe3\x4f\x48\x44\xd0\xfc\x69\x92\xc5\x49\x44\xbb\xb4\xe2\xca\xc8\xea\xf3\x0d\x70\x33\x56\xec\xc6\x43\xd9\x9c\x84\xae\xde\xed\x39\x70\xf7\x02\x40\x5f\x72\x48\x7f\xd8\xd0\x1b\xde\x09\x6a\xa8\xbd\xf3\xb3\x00\xae\x11\x45\x89\x74\x41\xb4\x3c\x5c\x30\x38\x10\x1b\xa5\x7c\xdd\xc6\xd2\x54\x6a\x83\xab\xee\x31\x84\x2b\x94\x04\x70\x6d\x36\xaf\x41\x24\xc0\x3d\x82\xff\x8f\x3c\x29\xd9\x68\x38\x5c\x2b\x97\x6b\x53\x6f\x3d\x2f\x0a\xbe\x61\x64\x5c\x62\xa9\x29\xbf\x72\xca\x63\x71\x0b\x10\xf5\xf6\xa1\xc5\x6c\xa2\xaf\xfb\xae\xed\xfa\xbd\x28\x69\xd0\x00\x6e\x1c\x27\x46\x66\x42\xc4\x8a\xf1\x0c\xed\x5a\xc7\x76\xce\x5e\x4a\xfd\x1a\x5e\x93\x1a\xc5\x26\x75\x2c\x04\xc8\x4b\x1a\x2c\xbb\x1a\xcd\xc9\xff\x3e\xeb\x93\x32\xd5\xcb\x9a\x5a\xca\xa0\x3b\x7c\xf5\x48\xd6\x02\x12\x50\x35\x71\xaf\x10\x7f\xad\x84\x82\xe5\x77\xc7\xb4\xe2\x06\x16\x36\xe5\x2c\xf3\x86\x07\xb7\xdf\xcb\xb6\x90\xab\xee\x72\x6c\x97\x89\x50\x63\xea\x87\x55\x34\x5d\xd1\x3b\x87\xb9\x11\xf5\xfd\x08\xfa\x0e\x6a\x69\x11\xd7\xec\x88\xf7\x4d\xf3\x10\xde\x9f\xfe\x93\xac\x9d\xe8\xa9\x9b\x34\x05\xb0\x35\xb7\x43\x95\x77\x41\x4f\x44\x7c\xb5\x1e\x78\x5b\x3b\xfa\x4a\xe7\x8d\x22\xac\x36\x59\x09\xfa\x6e\xeb\xc7\x89\xd2\x32\xd2\x9d\x6d\xbc\x3a\xb6\xdd\x52\x94\x77\xb6\xa1\xef\xf5\xfa\x94\xa2\xe5\xce\x36\xba\x8e\x6d\x57\x52\x81\x33\x93\xb6\xc5\x2f\x78\xfe\xde\x5a\x76\x40\xa9\xbd\x1b\x5d\x76\x62\xbc\xac\xba\xed\x03\xda\xfa\x3d\xdb\x85\xcf\x02\x6d\x99\x27\xec\x51\x7b\x87\x86\x65\x11\x8a\x4c\x99\x4b\x59\x04\xc9\xa7\x74\x41\xc0\x2d\x02\x40\xe4\x62\x8b\xfa\xde\xf5\xd7\x37\x2a\x6f\x7a\x05\x5c\x89\x0d\xbb\x11\xde\x1b\xc4\x76\x94\xf6\x66\x65\x22\x7e\x06\x61\xee\xe1\x5c\x40\x2a\x80\x3b\xb9\xcf\xd7\xee\xc2\xc0\x03\x9e\x27\xa8\xfd\xd5\x7c\x98\x37\x84\x79\x04\xdd\x60\x4e\x02\x80\xff\x9d\xd3\x73\x28\x1b\x28\x13\x5f\x62\x0c\x79\xa1\xca\x0b\x2a\x76\xf1\x36\xcc\x77\x6b\x1f\x6c\xf0\xc1\x4f\x0e\xd6\x39\xaf\x20\xbe\x7d\x49\x47\x1f\x03\xc9\x77\xd8\x63\x66\x9a\x5b\x0b\xa1\x12\xc7\xdf\xa6\xb9\x25\xb5\xed\x96\x59\x59\xd9\xc3\x4c\xe2\xad\xa9\xf8\x8e\x0e\x7f\x50\x03\xb0\x19\xd1\x43\xff\x59\x37\xea\xd6\xbb\x09\x61\xa5\xf1\xd0\xc5\x96\xaf\xda\x06\xbe\xf0\x04\xff\xf3\x82\xd0\x68\xd3\x52\xb9\xec\x76\xce\xfd\xd5\xbb\x11\x07\x8b\x2a\x4d\x9b\xc9\x7b\xfe\x0c\x16\x83\xad\xaf\x59\x26\x8d\xa1\xbe\x9f\xf4\xec\x7f\x35\x6c\x6e\xbb\x7b\x2c\x4c\xeb\x57\x4f\x2c\x54\x52\x78\x7b\xe9\x22\x71\xb7\x4d\xda\xc4\x66\x87\x7b\x90\x5a\x81\x94\x61\xc3\xb4\x90\x00\x72\xc3\x95\xcb\xe6\xc0\xf0\x15\xf9\x2e\x54\x71\x44\xbb\x81\x26\xc1\x0b\xc6\x16\x6c\x6e\xc2\x3c\x23\xe6\xa6\x85\x80\xa1\x94\xd6\xaa\xc9\xfe\x7d\xc8\x4a\x78\xe3\xd4\x8c\x98\xea\x0b\x85\x43\xd9\x30\x99\x73\x79\x10\x98\xb4\xaf\x32\x28\x5e\x1b\xbc\xea\xb3\xbc\x32\x0c\xb5\x70\x49\x23\x28\xf7\x33\x49\xf5\xa5\xa7\x30\xf7\x45\x47\x90\x7f\xc1\x68\xc5\x93\x1f\x15\x8b\x13\x98\xaa\x16\x90\x9d\xd4\xf8\xc8\x4b\x90\x92\x64\xa5\xc8\x62\x04\xd3\x5c\xd8\xb4\xef\xf6\x81\x1b\xe7\xd8\x51\x56\x16\x27\xf8\x22\x27\x86\x38\xe4\x52\x5b\x2b\xcb\x94\x06\x2f\x65\x49\xb4\x02\xa1\x70\x2e\x8c\x7c\x1f\xc3\x0e\x80\x4a\xda\x58\xb9\x84\xcf\x00\x03\xc6\x2e\x64\x61\xd9\x59\xef\x59\xfc\xc5\xa6\x76\xe3\xde\x23\x7d\xd7\xc4\x63\x75\x9f\x7c\x4c\x3c\x6a\xed\x55\x02\xd3\x3f\x77\x74\xb3\x8e\xdb\x9b\x12\x31\xc9\xc8\x52\xe6\xad\x00\x0d\x6f\xcc\x76\x59\x21\x9e\x44\x7e\x3f\x03\x7f\xad\xed\x12\xa8\x4f\x8b\xf4\xbf\xed\x29\xe0\xa1\x4f\x28\x8d\x86\x16\x43\xdc\x53\x2c\x19\x66\x68\x04\xd4\x04\x67\xd7\xcf\xeb\x4c\x76\x9a\x32\xf3\xa1\xda\x86\xc4\xf0\xea\x6a\xd6\xac\xc5\x09\x11\x53\x78\x29\x82\x0d\x62\xd8\xc2\xb7\x6d\xc2\x2c\x0f\xca\xcf\x31\x60\x32\xa8\xd4\x90\xe2\x8e\x33\x1a\xa0\x43\x5b\xca\x68\xbd\xed\x66\xd5\x75\xa7\x6a\x8d\xf2\xe1\x37\xd2\x83\x5e\x81\xb2\x13\xbe\x6b\xa4\xfa\x9a\x45\xb7\xba\xec\xc4\xd6\x7e\x7b\xf5\xae\x99\x46\x9a\x48\x0d\xbc\x18\xd0\x79\x89\xf0\x6d\x8e\xe0\x58\xe5\x2d\x62\x84\x31\x10\x31\xdb\x5f\x8b\x3b\x66\x24\x3c\x47\xe0\x38\xcb\xe4\x8e\xcc\x31\x97\x6d\xed\xc4\xea\xce\x34\xd9\x4f\x0a\xa1\x98\x92\x6b\xc1\xae\x92\x2c\xd6\x9d\xc0\xe7\x9d\x1b\x78\xf5\xd1\x07\x07\x95\x01\x60\xb5\xa2\xc9\x4e\xca\x31\x93\x44\x2c\x59\x62\xa9\x05\xbc\x87\xc3\x51\x87\x07\x10\x59\xc0\x03\x51\x29\xcc\x36\xb5\x52\x33\x10\x14\xb1\x1a\x6d\xbe\xee\x8a\x83\xb2\x28\xa1\xc7\x14\x78\xb3\x01\xf2\x6e\x72\xe4\x01\x34\x60\x45\x3c\xdb\x78\xaf\x73\x9e\x02\x04\x1f\xe6\xe1\x78\xb9\x71\x6d\x3e\x1a\x44\xb3\x38\x51\x11\x2f\x34\x61\x03\xc5\x20\x5c\x01\x32\x73\x68\x48\x54\x5f\xe3\x80\x39\xa7\x85\x58\x13\xfa\x07\x96\x4b\x93\x0c\xb5\x59\x0c\xb5\x59\x4a\x8b\x9a\xf0\xb7\xd9\x90\x96\xc5\xa3\xe6\x64\x2e\x58\x12\x8b\x75\x2e\x4b\x91\xe1\x5d\xed\x91\xb4\xbe\x3e\x04\x1b\x59\x75\x0a\xc1\x78\x1c\xeb\x61\xcf\xbf\x7b\xc1\x32\x19\x53\xf6\x29\x16\xcb\xa8\x5a\x43\x8e\x85\xb5\x96\xf0\x55\x55\x00\xc8\x16\x49\x81\x76\x47\xc8\x6c\xa3\x34\x2e\x36\x1d\x48\x7e\x57\xda\xe4\xc8\x25\xe8\x84\x18\x91\x33\xb8\xea\xfa\xc6\x8a\xb0\x5c\x89\x35\x2b\x38\x48\xec\xe5\x8a\x67\x88\x2c\x15\x3e\x5b\xad\xc3\x7c\x53\xba\xcf\x48\x56\x59\x49\x7b\x9d\x14\xb8\xa7\x9e\xad\x20\x89\x0f\x79\x21\xe7\x7c\x8e\x19\xcd\x53\xb1\xd0\xeb\x5f\x69\x9c\x03\xbb\x35\xbd\x7d\xc4\x7f\xf8\x79\xba\x34\x70\x5d\xc8\x3a\x47\x28\xf8\x5c\x16\xa5\xb7\x2b\xb1\xb3\xc0\xf1\xc9\xda\xaf\xfb\xaa\xfc\xb0\x7b\xe5\xc1\x07\x3d\x96\x2c\x2f\xc4\x0e\xa2\x07\x1c\xfa\xdf\xf1\x94\xfb\x23\x3f\xec\x8c\x03\x47\x40\xfe\x29\x15\x59\xe3\x60\x62\x31\xce\xe6\x55\x16\xad\x74\xb7\x73\x99\xa4\xa2\xc8\x53\x6e\xec\x73\x76\x4b\xc1\x8b\x58\xde\x64\x64\xaf\x98\xe1\x69\x4a\x94\x65\x1c\xcc\x96\xab\xdf\x60\xcf\xff\x91\xed\x38\xea\xd8\x74\xaf\x8e\xfd\x67\x21\x96\x54\x25\xee\xaf\x86\xff\x8e\xde\x80\x3f\x90\xeb\x1f\x05\xb9\x7e\x07\x03\x98\x06\x72\xfd\x1c\x13\x18\x1c\x9e\x15\x22\x2f\x84\xd2\x97\x29\xe4\x77\xf4\x6d\x26\x93\x50\x44\x19\x34\xd2\x48\x9a\xeb\x13\xde\x03\x8a\xd2\x5a\x47\xde\xa5\x95\xb1\xc2\x03\xc0\xc2\xbf\x62\xc4\xb5\x28\xac\x09\xbb\x55\x9b\xc1\x7d\x3d\xdf\xb0\x15\xcf\x1a\x62\x72\xeb\x40\xa4\xb1\x9d\x82\x71\xec\xeb\x90\x2d\x41\x8b\x59\xc7\xe2\x36\xf8\xd8\xc1\xbd\x52\x38\x5a\xc4\x3b\x59\x3c\xf1\x9e\x2a\xfa\x70\x4f\xa2\xcd\x2f\x49\x70\xfe\xee\xd3\x24\x8c\xd6\xa0\xe9\x1a\xd0\x8e\x6b\x7d\xda\xaa\xde\xc7\x40\xc7\x11\xf8\xc2\x7a\xe6\x8c\xe4\x3a\x10\x1a\x64\xc2\x6d\xcb\xac\xbc\x47\xaf\x37\x9c\x91\xb5\xac\xe5\x58\x38\xda\x1b\x98\xee\x6a\x38\xd9\x14\xbe\x1b\xe7\xa6\x89\xa4\x75\x05\x81\xdb\x9d\xad\xda\x1b\xe0\xbd\x01\x4d\x19\x91\xb2\x3b\xf6\x30\x7c\xc1\x06\xa7\xd3\x2f\x77\x1f\xf9\x3a\x71\x44\x85\x53\x0f\x2f\xd0\xc8\xc2\x1f\x60\xcb\xb6\xb6\xec\x68\xcb\x56\xfa\x23\x5a\x64\x39\x0d\x55\x5a\xc1\x68\x94\x90\xb4\x65\xb8\x9f\x33\x94\xd1\x5d\x05\x4b\xf3\xd4\xf9\x8f\x59\xe7\xad\xaf\x5a\xd3\x05\xef\x3a\xc6\xc0\xa4\xee\x4a\x0d\x86\x9c\x01\xd6\x0c\xfc\x35\x99\xcd\x31\xef\x0f\xe6\xef\x40\xc7\x31\x03\x73\x6d\x11\x9e\x27\x5f\xd1\x10\xd9\xd8\xca\x4d\xf5\x5a\x0d\x17\xfb\x3e\x59\xe1\x6d\xb6\x0c\x64\x3c\xda\xc2\xa9\xea\xa5\x24\xe5\x43\xc9\xc6\x83\x49\xfa\x76\xcd\xa9\xfe\xdd\xf7\x77\x09\x6d\x7a\xb1\x37\x32\x80\xb3\x3e\xd9\x7a\x0f\x50\xa7\xa5\x99\xff\x3c\x4f\x49\x4f\x05\xf7\x27\x87\x00\x0b\x77\x2b\xf1\x07\xe1\x03\x91\xdd\x21\x32\x35\xa2\xe7\x2f\xc0\x87\xfe\x23\x76\xd7\xbf\xb7\xe6\x92\xa0\x36\x64\x7b\x3b\x88\x6e\xc9\x83\xcf\xfa\x85\xdf\xfa\xc9\x16\xc5\xad\xdd\xad\x16\x85\x1d\x82\x15\x8a\x8c\x7d\xaf\x31\xfc\xf1\x42\x57\xbb\x07\xd1\x22\xc9\xca\x34\xeb\x76\x80\x60\x14\x3c\x01\x0a\xe5\xc5\xb2\x46\xad\xad\xb8\xf5\x53\x5d\x8b\xdb\x81\x2a\xad\xe3\x50\xbd\xd4\x9f\x1d\xb8\x6b\x85\x79\xab\x83\x61\x4d\x1b\x32\xe2\xfa\x4b\xd6\xe9\xf5\xee\x48\x58\xdd\xda\xb6\x57\xf3\x6c\x0f\xd6\x67\xde\x42\xf5\xf2\xde\x9b\xcd\xb9\x98\x3c\x7b\x3e\x3b\xef\xa3\x29\x64\x33\xc2\xf3\x1b\x62\x92\xa2\x95\x94\xfa\xce\x0d\x1c\x20\xd0\x4d\xa6\xca\x50\x5c\xf3\x65\x74\x95\x26\xcb\x55\x99\x6e\xd8\x5a\x42\x16\xe7\xec\x5a\x64\x89\xc8\xca\xe6\xc5\x8a\x37\xb6\x12\x5b\xed\x85\xb6\x58\xac\x77\x7b\xf7\x1c\xaa\x8f\xfe\x23\xa5\x25\xe1\xd6\xc1\xa7\x45\x8b\x6b\xee\x1c\x73\xaa\xb7\xb0\x4a\x13\x7b\x29\x05\x4e\x03\xe0\x90\x63\xce\xa8\x32\x57\x9d\xc7\x6b\x7a\x37\xa4\x06\xe2\xdd\xca\x4a\x59\x80\xc1\xc3\x75\x12\x57\x3c\xf5\x8c\x89\xb6\x1f\xfe\x9a\x15\x7f\xeb\x63\x6e\x70\x05\x78\x20\xa8\xfb\x6e\x58\x2d\x5a\xf3\x66\x71\xee\x1d\xc1\x1b\xb0\xdf\xf9\xe5\x4a\x16\x65\x54\x95\x86\x94\xd4\x7a\xef\x28\x96\xca\x65\xad\x6b\x74\x08\xf1\xba\xd4\x25\xcd\x6b\xcb\xdc\xf5\x66\x0b\x1e\xe6\x23\x11\x7a\x69\x60\x6f\x2b\x79\x63\xe5\x05\xbd\x3b\x68\x54\x66\xbd\x33\xb6\xb8\x65\xd0\x4b\x68\x38\xf7\xe8\x96\x9d\x6a\xc4\xf8\xf0\xc1\x38\x3f\x87\x17\x3b\xbd\x87\xba\x19\xa0\xb6\x44\x64\xa0\xcf\x00\x83\x82\x05\x4f\xd2\xaa\x68\xf4\x6c\x8a\x5d\x5a\xc3\x07\xf5\x8c\x18\x59\xeb\x2b\x0f\x9e\x4b\xeb\x70\x85\x44\xdb\x3e\x80\x55\xc9\x8b\x52\xc4\xf0\x48\x03\x81\xf3\x51\xcb\xbf\xe2\x2a\xeb\x94\x18\xd2\x84\xaa\xb0\x0d\x24\x7b\x0d\x98\x1e\xfd\xe5\x9c\x83\xed\x81\x6e\xbc\x65\xc0\x24\x63\xeb\x24\x4d\x13\x25\x22\x99\xc5\xca\x2a\x91\xdc\x2c\x4a\x29\xaf\x7c\x33\x0e\x7f\x3a\xd8\x99\x9b\x93\x0d\xe1\xd4\x32\xa1\xb8\x2a\x50\xf4\xdc\x36\x9f\xb5\x04\x17\xad\x48\xd3\xa8\xe0\xea\x0d\x00\x10\xcc\x8d\x86\x25\x28\x60\x57\x7a\x64\xc6\x9e\x65\xce\xb3\x35\x16\xa5\xbe\xc0\x41\x98\x34\xdb\xe9\x24\x55\xe0\x15\x52\x01\xf9\xd0\x6d\x08\x99\x12\x1c\xfa\x18\xbc\x45\x38\x47\x98\x00\xe3\x30\xfc\x11\xf1\x2b\x6d\x6b\x7a\x59\xad\xe7\x28\x5a\xae\xf9\x6d\xb2\xae\xd6\x0e\xc5\x58\x78\x92\x9c\xf5\xd6\x8d\x79\x45\x60\x19\xb6\x4e\xe8\xac\x14\x82\x47\x2b\x3c\x22\x0b\x36\xd4\x00\x21\xcf\x2f\x5f\x0f\x6a\x6e\x06\x25\xc8\x13\x92\xf4\xa9\xe0\xf8\xd2\x67\xe2\x5a\x64\xb4\x63\x0b\x94\xe2\xf5\x84\x6a\xeb\x5a\xf3\xdb\x0b\x87\xf2\xc3\xda\x36\x15\x15\xa5\x82\xf0\xbc\xab\x18\xbe\x1a\x09\x5e\xa4\x1b\x36\x17\x11\xaf\xd0\x83\x95\x67\xac\xca\xc4\x6d\x8e\x53\xd1\xe8\x95\xb4\x30\xe7\x39\xcf\x92\xc8\xf9\x01\x20\x5b\x6a\xec\x17\x72\x91\xc5\xd6\x85\xd1\x10\x5f\x47\x08\xff\xbd\x12\x95\xb0\x09\x47\xbd\x2b\x13\xe8\x3e\x3e\x3c\x10\xf5\x77\x6e\x65\x08\x9c\x6e\x0f\xc5\x24\xdf\x92\xc9\x69\xa0\x91\x8d\xd4\x3d\xc1\x13\x0e\x42\xf3\x4e\xba\xef\xdd\x91\x93\xe7\xcf\xdf\xbf\x9e\x5d\xbe\xbe\x24\x53\x8f\x05\xdd\x9a\xb3\xac\x5a\x77\x3b\x7f\xe2\x69\x0a\x1a\x13\xf5\x55\xa7\x57\x37\x9a\xf0\x05\x6f\x9f\x86\x6e\x15\xfe\x9b\xa3\xe3\x6c\xdb\x1e\x64\x3d\xdf\x0b\x07\xbc\x86\xc9\xc0\x43\x47\x68\xd8\x35\xa1\xdf\x80\x27\xd7\xc9\xbc\x7c\x9f\xf3\xb2\x14\x45\xe6\xc2\x53\x50\x01\x39\x33\x98\xbf\x3e\x7c\xc0\x79\x59\xd0\x99\x4c\x1c\x38\xd6\x14\x94\xce\x80\x8d\xce\x2c\x80\x9e\x60\x3d\xa1\xc7\x7b\x9b\xa5\x5c\x01\xf6\x59\xe7\x27\xb4\x0c\xfd\x89\xfd\xc9\xb6\xb5\x9e\xe4\x3f\x39\x4f\x72\xcf\xe4\xc0\x54\x7b\xfb\x13\x19\xc3\xef\xee\xb2\x97\xd2\xa0\xca\x8d\xe8\x14\x9a\xa5\xd0\xc8\xf9\xf9\x67\xa7\xa7\x9f\xfb\x3a\x74\x5d\xf2\x39\x53\xd2\xaf\xba\xd6\xac\x33\x28\x1b\xb0\x2b\xbd\xb5\x0e\x51\x2e\x41\xc9\x60\xc9\x9d\xdf\x97\x7d\xfa\xca\x4a\x65\x74\x2b\x94\xaf\xc5\x32\xc0\x06\x8c\x9f\x9d\x9e\xd6\xe0\x18\xb2\xc4\xa6\x9e\xc7\x11\x7f\x2f\x96\xb3\xdb\xdc\x67\x89\x21\xdd\x3a\xd5\x04\x44\x01\xec\xb0\x22\x6d\xaf\xe7\x49\x11\x7a\x62\x49\xe6\x05\x73\x42\x1e\xd9\x58\x82\x38\x39\xf8\xb3\x53\x16\xa0\xc2\x96\xe6\x3e\xc7\x4c\x8f\xb5\x06\x9b\x0d\x8e\x02\x96\x39\xac\x78\xfc\xb8\x9e\x7f\xdd\xfb\x58\x7b\x7a\x4f\xf1\xcd\x26\x03\xd6\x0e\xb8\x62\x3c\xed\xa5\x64\x4b\x84\x38\x5e\x3b\xca\xf8\x6e\xba\x66\x46\x16\x07\xb7\x2f\xc0\x10\x6c\xaf\x77\x48\x82\x73\x39\x38\xa1\xcb\x9b\x6d\x66\x1c\x1f\x10\xd0\x1f\xed\x01\x78\x45\x3f\xab\x80\x2c\xb9\xf7\x26\x00\xc8\xb3\x05\xbb\x83\xbe\xf4\x3d\x8a\xc5\x8b\x90\x50\x99\xe6\xdc\x66\xe3\x81\x64\x3e\x96\xa2\x20\xfb\x73\xcb\x23\x90\x10\x34\x72\x0a\xb8\x28\xda\xfb\xc0\xc9\x9b\x3e\x60\x40\x83\xd0\xd0\x25\x7e\x47\x19\x36\x8e\x3d\x18\x18\x83\x94\x24\x23\xfb\x93\xcc\x5e\x8a\x3c\xc6\xfb\x80\x9b\x25\xc0\x94\x40\xf5\x87\xac\x8d\xb0\xee\xfc\xce\xd6\x13\x2e\x1e\x4f\x38\x78\x38\x45\x7c\x65\x09\x8f\xa5\x58\x0d\xe2\xd4\xa0\x36\x5b\xe2\x50\xdc\x6b\xa6\xd7\x12\xa4\xc2\xef\xdb\xb8\xb9\x78\x94\x74\x8b\x2d\xa1\xeb\xf3\x6d\xf2\xee\x1e\xf9\x9d\xfe\x99\x55\x05\x91\x2f\x3e\xf3\x86\x0f\x8c\x4a\xb5\x18\x00\x1e\x67\x9d\x97\xd2\xdf\x59\x11\xd3\x8c\xc1\x34\xb5\x48\x4a\x51\x24\x1c\x85\xef\xc6\x00\xf7\x1c\xbc\x6f\xa4\xbc\x12\x31\x89\x05\x94\xa2\x4b\x66\xe0\x1d\x66\xbc\xb5\x3d\xd7\xe4\xc4\x63\xdc\x50\xdf\x60\x65\x7f\x74\xe3\x00\x9a\x0a\x5a\x1e\x67\x3b\xb1\x94\xac\xca\x22\x5e\x2d\x57\x77\xa8\x66\x42\xac\x90\xd9\x1b\x6a\x31\x33\xfd\xbf\x6f\x5c\x67\x6b\xa1\x14\x5f\x8a\x3e\xc4\x7b\xe8\x43\x88\x08\x0d\x3d\x02\x2a\x7d\xb5\x21\x58\x3b\xa6\xc7\x87\x68\x41\x3a\x3d\x76\x7a\xca\x86\xec\xc3\x07\xda\xd5\x46\x6f\xaa\xe4\x65\xa5\x4e\x88\x75\xe9\xf4\x28\x9e\xab\xa7\x38\x22\x0e\x96\x87\xe6\xe4\x9a\xba\x51\x81\xe6\xef\xba\x3d\xd2\xea\x15\x72\xcd\xb8\x0b\x4d\xcb\xd8\x8f\xfa\x66\x32\x9d\x99\xc7\xe2\xa5\x84\x43\xad\xb9\x66\x9e\xa2\x60\x9e\x94\x75\xe5\x7e\xa8\xc6\xc0\x01\xdc\xcd\xc6\xad\xe6\x26\x29\xd1\x77\x52\x33\x61\x8a\x2f\xb4\x74\xa8\xfe\x5a\x89\x34\x22\x9b\x2d\x44\x02\xb3\xf2\x47\x4e\x2b\xc4\xca\x02\xaf\x05\x87\xc1\x4d\xae\xbb\x91\x01\xcd\xdb\x14\x88\x85\x68\xf7\x03\x14\xa0\x8d\xf6\x03\xc3\x9c\xce\xf4\x34\x5e\x60\xc3\xf7\xbd\x50\x33\x47\x42\xdd\x9a\x6f\xc0\xbe\x1d\x5c\x6a\xf5\xe2\x90\xbd\x5d\xf1\x2c\x4e\x35\xf3\x6b\xdf\x99\x6a\x90\x32\x2a\x54\x37\x4f\x5a\x93\x26\x29\xc0\xed\x9f\xb2\x0e\x9e\x82\x8e\x0b\x1c\xda\x9c\x2a\x22\x83\x4d\x02\x17\x7e\x7c\x35\x7b\x79\xfe\xec\xe5\x9f\x11\x1e\xa6\x53\xf0\xfd\xc6\x3e\xed\x49\x47\xaf\x63\x07\x17\x37\x6d\x0d\x21\x68\xf9\x98\x75\x1c\xbb\x0d\x07\xbe\x49\x75\x5a\xa6\x50\xb7\xa3\x6c\x0c\x6a\xf6\xe5\x31\xeb\xf4\x61\x34\x08\xa1\xf2\x98\x75\x4e\xf4\x1f\x70\xb2\xdc\x5c\xc3\xbe\x43\x6c\x6b\xa9\x50\x57\xa0\x39\x9a\x44\x52\x45\xd3\x33\x5e\x93\x22\x2b\x6b\xf9\xf2\x64\x18\x86\xb8\x6e\x4b\x58\x6e\xf2\x44\x23\xfb\x86\x15\x62\xa7\xa8\x32\xc5\x92\x12\x9c\x49\x78\x10\x0d\xa9\x1f\x90\xb1\x54\x94\xe6\x3d\xe5\xfc\xbb\x17\x5a\x5a\x9d\x27\x69\xf2\x37\x54\x8a\xa8\x95\x2c\xca\x9d\x52\x14\x6b\x10\xc8\x65\x55\x06\x4e\x13\xc6\x1b\x2a\x16\x51\xca\x0b\xef\x3d\xc9\x53\xc3\x38\xf7\x0a\x9f\xef\x98\x4b\x99\x0a\x9e\xa1\x8f\xb8\xba\x4a\x72\x72\xfd\x00\x33\x90\xa2\x12\xe4\x41\x44\x85\xfa\xea\xbf\x4a\xf2\x9c\xac\x64\xea\x8f\x56\x40\x99\x3d\xd8\xb0\x64\xbd\x16\x71\xc2\x4b\x01\xee\xd1\x00\x22\xd2\xbd\x03\x8f\x60\xde\x76\x81\xe8\x68\x22\x92\x84\xe6\x62\x77\x07\x87\x68\xa3\xd6\xb5\x20\x11\x4d\x5a\x5d\x5b\xa6\xb3\x49\xfe\xac\xf5\x8b\x7b\xfe\x48\x0c\x0b\x02\x87\x1c\x18\x10\xb0\x59\xe1\x1a\x2b\x97\xa2\xc0\xa8\x38\xd6\x73\x66\x30\x18\xf4\xd9\xb0\x07\x4a\x89\x35\xdf\xcc\x2d\x05\xcd\xe1\x9a\x23\xf5\x89\xde\x68\x78\x3a\xbd\xe1\x1b\xcf\x33\xb3\x2c\x92\x25\xe8\x3e\x41\x18\x2f\xc9\x88\x47\x98\x56\x22\x8b\x4d\x6f\x36\x04\x54\x09\x5e\x3a\x4a\xb2\x1b\x01\x79\x1b\xc9\xd7\x9c\xe2\x95\xe3\x03\xbb\x12\x65\x99\x0a\x06\xef\xe3\x84\x30\xb2\x2a\x4c\x57\xb8\xc2\x48\x63\x43\x95\x83\xfd\x64\xe8\x0b\x54\x62\x4e\xcc\x3a\x84\xc3\x70\x91\x7d\x40\x1a\x62\xc0\x6b\xb4\xac\xae\xdf\xe9\x66\xe2\x86\x9d\xf3\x52\x74\x7b\x3d\xb6\x53\xd3\x47\x85\x14\x69\x19\x38\xca\xda\x62\x08\x7e\xe0\xe9\xcc\x4c\x14\x5d\x4d\x9d\xf0\x3e\xec\xb7\x92\xa6\x40\x65\xe7\x37\x42\xa3\x23\xdd\x68\x5b\xab\xb5\x7a\x2d\x2f\x51\x0b\x46\x44\xc6\xac\xa8\xe7\x51\x26\x55\xad\xd7\xbc\x48\xfe\x26\x48\xc2\xac\xf1\x33\x9e\x1e\xa8\xae\xae\x6d\x42\x18\x61\x7b\x47\xda\xd1\x2d\x8f\x63\xc6\xbe\xcd\x0b\xea\xd2\x08\xd7\xf2\xc9\xcf\x5c\x68\xa2\xab\x09\xe1\x4f\x95\x2a\xdd\x1b\x70\x23\x36\xfb\x7d\x07\x16\x47\x6a\x0b\xea\xd2\xfe\x12\xd6\x80\x57\xe9\xc7\xf3\xb0\x16\x0c\xa4\xee\xb5\x88\xe8\x9e\xb7\x9c\xe5\x43\xad\x72\x79\xbb\xed\xfd\xaa\x79\x31\x5a\x7d\x95\x97\x3d\x35\x63\xb6\xe7\x2d\x17\x22\xf3\x9e\x9b\xbe\x66\xf6\xd7\x13\x26\x6e\x7b\x81\x07\x38\x29\xbb\x1a\xdc\x4d\x51\xbf\xe5\xa9\xe0\xd5\xe4\xf2\x72\x76\xde\x6b\x9b\x6c\xd0\x04\x06\xb1\xb2\x37\x7d\xb2\x27\xf2\x2b\x76\x30\x1c\xf6\xda\x98\xfe\xcb\x54\xde\x18\x75\x93\xbc\x72\x7c\x52\x70\x18\x6a\xdd\xf5\xc2\xa3\xea\x9f\xe0\xd6\xd5\x9c\xda\xd5\xe0\x3d\x1d\x00\xdf\x9e\x55\xd0\x43\x11\x66\x78\x10\xa3\x8b\xde\x68\x9b\xf0\x74\x05\x8a\x86\x6d\x83\x11\xe8\xfc\xc1\x72\xcf\x89\xca\x1b\x2a\x78\xd9\x6b\xa2\xc4\x55\xa6\xc9\x2a\x9d\x12\xc3\x94\x6b\x48\x15\x2d\xac\x0f\x45\xb1\x68\x47\x92\xe6\x96\x85\x3e\x03\xad\xe8\x01\x5f\x8a\x2a\x7b\x29\x6e\x4b\xe2\xb7\x7f\x15\x92\xe1\x0e\x3a\xb1\xfe\x8f\x3c\x6d\x77\x4c\xae\x98\xce\x9d\x93\xbe\xd0\x9d\xed\x3f\xe7\x57\xaa\x02\x8e\x88\x94\xa9\xfa\x8a\x82\x38\x6d\xf3\x6a\xb9\xdc\x38\x33\x4f\xf3\xb8\x63\x6c\x43\x69\x04\x10\xff\xd0\xbe\x0c\x67\x9a\x31\x71\xab\x25\x0e\xe4\x42\x32\xc6\x97\x3c\xc9\x48\x7a\xc9\x42\xf7\x60\x3f\xcd\x06\xbe\x7b\xc2\x15\x0e\xc1\x57\x28\x4e\x0f\x18\x0c\xdb\x47\x8d\x94\xab\x92\xf1\x28\xe0\xce\x31\x16\x0c\xaf\x20\xfc\x1e\xdc\xdb\x98\x07\x44\x77\x88\x30\xa2\x4b\x9b\x2c\xdf\xec\xc5\x0d\x81\xb4\x20\xc0\x92\xd3\xd3\x62\x94\x06\x6b\x6b\x8b\x95\x1f\x41\x64\x40\x2d\x28\x14\x0e\xac\xe6\x31\x00\xa4\x35\x2d\x50\x28\x94\x28\xea\x9c\xb9\x73\xf4\x06\x0e\x42\xf7\x05\x9e\xb1\xe0\x6f\x5f\xae\xc0\x6d\x82\xdc\xb1\x8d\x08\xd7\xe0\x60\x9f\x65\x60\x41\x8d\xd6\x49\x85\xd8\x31\x7b\xe9\x24\xef\xc9\xf3\x1f\x27\xff\x71\xc9\xd6\xf2\x5a\x28\xf0\xb5\x35\x2f\xa9\x66\x96\x79\x92\x36\x38\xcc\xdf\xe2\x6e\x69\xd8\x5d\xa5\xbc\x14\x97\x78\xb6\x5f\x63\x30\x22\xfd\x6b\xf8\x4c\xc5\xcb\x52\xac\xf3\x92\xa4\x33\x11\xc9\x22\x0e\x5e\x93\xe1\xa5\x8b\x17\xdb\x1d\x99\xb6\xdf\x5f\xdf\x8b\xb6\x1b\xcc\xbb\x7b\xfa\xde\x0c\xc3\xe8\x7a\x86\x82\x3c\xe7\xa5\x93\x98\x6d\xa0\xa9\x4f\x22\x21\xde\x50\x36\xe4\x11\xb9\x44\xc3\x0e\xa7\xde\x50\x20\x8c\x9a\xfd\xc3\xc7\x1f\x7c\x40\x84\xd0\x96\xb1\xac\xe6\xa9\xd8\xc9\x41\x53\x0f\xe6\xdb\xd8\x1d\x7d\x5e\x27\xaa\x52\x81\x8f\xb3\x46\x16\x0c\xfc\x84\xa9\x68\xb2\x58\xdc\x9a\x70\x28\x44\x57\x8d\xe6\xc2\x23\xad\x90\x88\x06\xaa\x7e\x75\xca\x86\x6d\xc4\xd8\x44\xf9\xd7\x95\x5c\xa4\xff\xbb\xef\x86\x30\x01\x36\x1a\x3f\xb0\x0c\xcc\x01\xc8\x64\x51\x17\xfc\xb5\x12\xd5\x16\xa7\xec\xe6\x7e\xfb\x04\xb6\xe9\xd8\x65\x85\x72\xa4\xd0\x1f\x3e\xb0\xcf\xea\xef\x28\xc8\x6b\xf6\x1a\x34\xbd\xc9\x57\x7b\x17\x65\xe3\xc5\xed\x8b\x2f\xda\x59\xd8\xaf\x4e\x1b\xaf\x73\xdb\x78\x98\x17\xe1\x63\x23\x59\xec\xd3\xfb\x61\x1f\xad\x5f\xfd\xb0\xa0\x83\x4e\xcb\x4d\xd4\x3e\x6b\xba\x91\x76\x77\xd9\x2b\x21\xae\x8c\xd0\x52\xca\x1c\x3b\x03\x77\x04\x54\xf8\x98\x18\xc5\xf8\xea\x5a\x60\x78\x33\x92\x4c\x10\xc5\xe6\xb2\x2a\xb1\x2f\x24\xa5\x7d\xef\xc1\x84\x22\x19\xc7\x89\x2a\xab\x62\x0e\x83\x24\x99\x3d\x41\xc4\xf0\xea\x55\x25\x14\x18\x59\x77\x43\x74\x99\x7a\xc0\xe8\x01\x38\x60\x51\x65\x60\x23\x08\x36\xc8\xc1\x1b\x4f\xb8\x87\x6f\x87\xef\xec\xbb\x13\xf1\x1b\x2d\x4f\xbd\x5f\xb7\xa9\x28\xb0\xfe\x89\xc7\xfd\x5b\xbe\x16\xd5\xaf\xf0\x5d\xe3\x4d\x37\x74\x0f\x21\xd3\x01\xcf\x46\xb1\x17\xbe\xd9\xc0\x87\x5a\xac\xa4\xa6\xe0\xd4\xfc\xd4\xad\x75\xeb\x4c\x02\x6d\x03\xb3\x48\x13\xe3\xc7\xab\xdd\xad\x73\xe3\x75\xc6\xfb\x63\x3b\x43\x4d\x81\x1d\x6a\x91\x3b\xd1\x63\x87\x5e\xc2\x32\x59\x22\x31\xb2\x9a\x46\x0d\x2b\xba\x4f\x9d\xf1\x4e\x2b\x6e\x5b\x55\xad\x51\x1c\x43\xf7\x48\x4a\x3f\x8d\x03\x67\x77\xe3\x7b\x53\xd4\x0d\xe5\x95\x1a\xb8\xed\x23\x99\x1f\x71\xa1\x61\x29\xd0\xe2\xcc\x8c\x1f\xc9\x9d\x19\x8d\xf5\x98\xf7\xe0\xd5\x2e\x1b\x99\x30\x48\xcd\x51\xea\xbb\x45\xf2\xd1\xc3\x1a\x84\x23\x12\x79\x53\xab\x64\x51\x76\x7f\x91\x1c\x65\x22\xb3\x6a\xe4\x30\x53\xf9\x85\xf2\x54\x8b\xfc\xf1\xdb\xec\x73\x78\xda\x8b\x2a\xdb\x0a\x8a\xdd\x5d\xe6\xd7\x32\x5a\x31\xac\x07\x6b\x77\xef\x19\xc8\xe4\x52\x42\xad\x35\x32\x5d\x81\x19\x92\xcb\xba\xb3\x94\x25\xb8\x30\x40\x24\x94\xb5\xe0\x18\x34\xbb\x80\x87\xc7\xb2\x80\xcb\xdc\xdc\x7b\x65\x3d\x4c\x77\xfb\x59\xba\x77\x8f\x8a\x2a\xfb\xd5\xc5\xdd\x96\x7b\xdb\xbe\xf3\xf9\xa6\x54\x56\x8f\xe1\x85\x98\x0a\x54\xf0\x55\xd6\x50\xb9\x2a\x08\xc6\xcd\x22\x9e\x81\xf3\x9b\x52\x15\x19\x54\xa1\xf2\xd2\x17\x6f\x3c\xdd\xaf\xb5\x7e\xf6\x78\xf7\x4c\x95\x82\xc7\x7d\xd0\x34\xa1\x16\xcf\xb7\x91\x46\xe7\x45\x63\xc4\xac\x17\x6e\xcd\x86\xee\xd6\x21\xdb\x4e\x40\x15\x98\xca\x25\x39\xa1\xe0\x9b\x73\xcd\x05\x85\xa2\x6f\x6e\xd8\x8a\xe7\xb9\x66\xdd\x88\x23\x07\xfb\x4c\xb9\xb4\xde\xb1\x24\xf7\x6d\xb7\x24\x1c\x30\x76\xb6\xb1\x6e\x40\x64\xf5\x44\x5e\xd6\x26\x34\x42\x9f\x58\x73\x32\x96\xb9\x4e\xc4\x8d\xb0\x91\xe3\x5b\x02\x4f\xcb\x05\x5a\x6b\xcd\x0b\x79\xa3\x44\xa1\x7c\x87\x23\x2a\x23\x77\xcf\x44\x81\xf9\x55\xb1\xf6\x27\x0b\x62\x98\x31\x72\xc1\xf8\xcc\x3f\x0a\xf4\x3f\xc7\x17\x61\xf4\x1c\x24\x2e\x40\xa2\xf0\x82\xea\x4b\xcb\x25\xd0\x56\xeb\x8b\x34\xc7\xc8\x62\xd6\x11\x75\x11\x3a\x19\xf6\x19\x3a\x76\xa6\x82\xa3\xc3\xa3\x9d\x22\x8a\x4b\x0b\x50\xe4\x66\xc6\xc8\x13\x2d\x2b\xac\x07\x91\xb5\xff\x4b\xb2\x2d\x41\xa2\x99\x2c\x9a\x37\x9e\x1f\x4e\xf6\x11\x44\xc6\x23\x97\x2f\xd8\x7b\xb4\x91\xaa\x99\xd9\x21\x6b\xf6\x33\x18\xd6\x2d\x49\x40\xad\xfe\xb4\xf3\x3d\x31\x3e\x56\xad\xd3\xe0\x57\xed\x73\x4f\x57\xf5\x3a\x5b\x34\x9a\x44\x38\x9b\xcf\xa5\x9e\x82\xf8\x69\xab\xd9\xa1\xd5\x02\x3f\x7d\x80\x1e\xe3\x42\x16\x6b\x5e\x86\xd6\x88\x5c\x69\x2a\x16\x91\x99\x00\x95\x3e\x14\x42\xbe\x0e\xcb\x07\xd5\x5a\xf9\x2f\xfe\x91\x62\xa7\xac\xbb\x56\x6c\x97\x8d\x86\xc3\x61\x6f\x50\xca\x8b\xe4\x56\xc4\xdd\x31\xcc\xda\xbe\x6d\x47\x4a\xc3\x4a\x75\xc2\x38\x3b\x74\x86\x4d\x2e\x44\xa3\x24\x02\x25\xf1\xe6\xc1\x06\x0a\x46\xa7\x7c\x87\xe0\x51\x13\x08\xee\x4d\x9a\x53\xab\xdf\x96\x32\xc7\xbb\x0b\x50\x31\x77\xe2\x10\xc5\x34\x7f\x9b\xbc\x6b\x79\xda\xf3\x32\xb1\xd9\x09\x36\x45\xa1\x76\x33\x83\xd7\xee\xa1\xdf\x50\xc9\x93\x3b\x11\xb4\xe5\xfa\xb1\x28\x8b\xde\xc6\x10\x39\xcc\x0a\x32\xe1\x25\x83\xca\x00\xa2\xad\x46\x1b\xb1\x08\x4d\xed\x5a\x7c\xda\x8c\x7d\xbc\x88\x9b\x26\x0a\x7d\xa0\x3d\x78\xaf\xfb\x09\x57\xc0\x35\x5b\x66\x70\xdc\x25\xc5\xcd\xf0\x9c\x31\x27\xce\xee\xca\x3e\xee\xa0\x1b\x93\xf3\xc5\x4a\x80\x0e\x68\x51\x8d\x24\x2a\xf3\x4c\x06\xca\x33\xca\xec\xc1\xbe\x74\x7e\x93\x71\x6c\x5e\xcf\x55\x60\x30\x08\x34\xdd\x29\x43\x68\xf2\x2e\xae\x1a\xf9\x6d\x53\x64\x0a\x8a\x0e\x8e\xf1\x05\x29\xf4\xa4\x8d\x01\x6a\x99\x83\x9d\xbc\x90\x72\xc1\x6e\x0a\x7d\x21\x91\xc9\xbc\xd1\xc0\x81\x5a\xca\x0b\x4c\x7b\xa7\x9e\x88\x4e\x00\x7a\x07\x68\x36\x40\x5f\x1b\xc6\x7e\xde\x79\xa1\x85\xee\x01\xc1\xf3\xa1\x4b\xe4\x70\xa7\x1b\x20\x79\x01\x42\xff\xa8\x41\x0e\x3c\xc6\x8c\x5a\x0d\xcd\x20\x8c\x32\x2a\x75\xf6\x5e\x76\x24\x63\x10\x76\xe7\x92\x70\x3d\xce\xb2\x17\xc5\x9d\xbb\x3b\x6c\x92\x07\x2b\x26\xd4\x63\xe0\x87\x72\x41\xd3\x97\xe0\x3e\x00\xd6\x20\x57\x77\x2a\x40\xdf\x05\xfa\xad\x69\x9c\x7d\x0f\xf8\xee\x5e\x66\xc3\x19\xcf\xd8\x6d\x6e\xf1\x2e\xf8\x99\x5d\x7a\x16\x9b\x5b\xac\xdc\x6f\x84\xb5\x94\x87\xb7\xf5\x34\xb5\xc1\x48\x8d\x16\xcf\x33\x31\xbf\x11\x70\xa6\x3d\xcb\xf2\xdf\xc2\xb6\xfe\x77\xb3\xab\x37\x97\x13\xa9\x4e\x03\x87\xd5\x56\x74\x30\x4f\x29\xf8\x17\x19\x97\x18\x7d\xe3\x24\x0b\xad\x76\x6a\xab\x02\x6d\x3a\x04\x9f\x24\xd9\xa2\x94\x6c\x29\x32\x51\x70\xb0\x50\xc0\x2e\x5b\xed\x6e\xec\xfc\x3d\xf2\xfd\x4a\x52\x7c\x10\xca\x11\x68\x3c\x13\x69\x8a\x77\x9d\x20\xef\x7e\xa5\x15\xb0\x53\xd6\x21\x83\xf2\xce\xd3\xfb\x5b\xe1\x9d\xc8\x74\x2b\xfc\xf5\x21\x8d\xf0\xd1\x09\x1a\x91\xd9\x96\xef\x17\x69\xa4\x2c\x08\x83\x96\xb5\x3f\xe0\xb2\x2e\x48\x1d\xb2\x00\xce\xb3\x07\x54\x5c\x64\x10\xf1\x23\x93\x68\x75\x2a\x17\x26\x4e\x09\xaa\x3b\xd5\x76\xfb\xf0\x16\xc3\xb3\xad\x2f\xb1\xc0\x9f\x19\xea\x83\xbf\xb4\x9b\x84\xb7\x74\xea\xa7\x61\x90\x64\xcd\xbc\x2d\x3c\x56\xe7\x01\xfd\x79\x2c\x41\xbb\x8a\x9c\xb8\x82\x4e\x3f\x78\x91\xf3\x1b\x60\xb9\x9f\xbb\xe6\x52\x1f\x5b\xef\xd5\xe0\x4e\xfa\xf8\x10\xc4\x6a\xe5\xc1\x1b\xf1\x65\x1f\xc8\x1a\xc3\x02\x0b\xca\xe6\x52\x53\x11\xbb\xc7\x4d\xff\x48\xb2\x2f\xbe\x30\x7a\x68\xb4\xe4\x78\x1f\x2a\xd8\x03\x5f\xca\x38\x89\x29\xc4\x2a\x86\xeb\x26\xf7\x08\x9e\xc5\xde\x27\x88\x0d\x47\xa6\xcd\xc9\x5a\x58\xd5\x30\xea\x40\x9a\x66\x58\xf7\x79\x2e\x3a\xfb\xb8\x1a\xc9\x30\xf4\x07\x29\x81\xaa\x51\x09\xcf\xec\x8a\x82\xe7\x60\x1a\x28\x1e\x95\x64\xce\xec\x9b\x81\x6a\x76\x04\x5e\x24\xb6\x48\xab\x90\x77\x63\x9d\x64\x15\x46\xa5\xf0\xad\x02\x31\xe8\xba\x2f\xbd\x3a\x22\x06\x41\x69\xbf\xcc\x64\xf9\x25\xe3\x55\x29\xd7\xbc\x24\xcb\x2f\x60\xa0\xc8\x13\x29\x5c\x57\x62\x03\xe7\x79\x8e\x65\x0f\xc4\x25\x84\x84\x4f\x11\x03\x7f\xf9\xb2\xf0\x4e\xe9\x36\xfa\xa9\xca\x30\x0c\xa8\x8d\x12\x10\x35\xd3\x00\xe9\xfd\x55\x26\x56\xee\x03\xe6\x27\x33\x32\x17\x6a\x79\x1e\x09\x70\xd0\xbf\x87\xea\x08\xfc\x59\x88\xc0\x0d\x03\xce\x16\xbc\x75\x31\x7d\x3b\xee\xac\x3c\x00\x15\x3d\x30\x84\xf1\x8a\xb9\xb7\xc7\x18\xb1\xd8\xe2\x7b\x3d\x5a\xb1\x6e\x7c\x16\x64\x19\x82\x56\xa4\x29\x02\x4d\x1c\x66\xbd\x86\xa8\xc5\xdc\xe3\xaf\x3d\xae\xc2\x3f\x55\x40\xb7\x69\xa0\x58\x32\x25\x07\x2e\xd2\x1c\x8d\x70\x47\x2c\x64\x9c\x89\xb1\xda\xd3\x67\x07\xe2\xb1\x24\xee\x65\x18\xd2\x4e\xea\x66\x18\x8f\x83\x5b\xf3\x3e\x92\xe7\x30\x09\x35\x3e\x13\xda\x8e\x95\x8d\x84\x95\xc9\xd2\xaa\x7d\xac\x60\x00\xa2\xc4\xbc\x22\x03\x36\x50\xad\x99\x58\xee\xc6\x78\xce\xc9\x55\xbe\x83\x3c\x1c\xa9\xd0\x82\x16\x0c\x91\xbd\x50\xcc\x35\x2f\x0a\x1b\x7b\x06\x65\x2a\xce\x16\xe2\x86\xa5\x7c\x23\x0a\x50\x58\xc9\xd0\xcc\xd2\x64\x53\x59\x4a\x13\x3f\xd0\x97\xcc\x70\x2c\xa0\x34\xe0\xa0\x91\x8b\x02\xbb\xb2\xd2\x04\xcf\x98\x50\x65\xb2\x26\x9d\xd1\x4a\xde\xb0\x54\x66\x4b\x14\xbf\x6c\x10\x70\x34\xdb\xd3\xa2\x5d\x0b\x72\x18\x71\x00\xdc\x1b\xd6\xca\x77\xf9\xf3\x19\x3f\x1b\x74\xf3\xa1\xf7\x8a\x07\xa1\x16\xc5\x85\x93\xb9\x0d\xd9\x87\x73\x04\x4e\x8c\x81\x4d\x9f\xfd\xee\x19\xa4\xb9\x53\xda\x62\x01\x48\x1f\x03\xcb\xbf\xb5\xaa\x27\x49\xcd\x4d\xfc\x1c\xef\xa5\x59\x1a\x04\xde\x1a\x41\xbb\xf1\x86\xef\x2b\x3c\x6d\x8c\xf7\x56\xeb\x55\x0c\x1b\x6b\x13\xe7\xd1\x37\x6b\x70\x92\x2d\x35\x65\x03\x2b\x15\xcd\x42\xbb\xd0\xa5\xa5\xa4\x88\xb3\x25\xc9\x47\x96\x07\xb2\x42\xed\x03\x77\x24\x20\x38\x21\x61\xd6\x6b\xe9\xbb\x69\xd6\xb6\xa8\xfd\xe6\x0e\xee\xe9\x87\x1b\x4e\x32\x56\xe7\xd0\x0d\x93\x13\xbe\xd9\x7c\x5f\x65\x0d\x03\x3c\xa7\xa7\x6b\x9a\x3b\xd5\xdb\x38\xa3\x07\xf3\x22\xe5\x2c\x96\xac\xd6\x87\x17\x4b\x88\x49\x67\xdf\xa8\xff\xc4\xc6\xec\xc3\x07\x0f\x12\x34\x80\xde\x80\xed\x6f\x5e\x01\xdb\xd7\x66\x11\x49\x11\xef\xb5\x90\x71\x23\x31\x32\x2c\xba\x3b\x89\xbf\x56\x3c\x7d\xe0\xfe\x41\xb3\xd9\xbf\x07\x5b\xc7\xa3\xb2\xe2\x69\xdf\x8a\x2a\x9e\xc5\x30\x7e\x82\xf7\x5a\xfb\xd5\x7f\x23\xb7\x35\x34\x07\x66\x6b\xd8\x2b\x0f\x3f\x1a\xb8\x7c\x76\x6a\x87\x68\xb3\x12\x70\x8e\xaf\xad\x29\x6f\xfd\xae\x9e\xb2\xc7\x8f\x93\x9e\x7d\x55\xc6\x6f\x6f\x93\x77\xfe\x10\x6f\x93\x77\x61\x80\x0d\x6f\x80\xc0\xb7\xc2\x83\xf1\x04\x74\x3f\x74\x3d\x66\x34\x26\x31\x88\x98\x48\x00\xdc\xc4\x00\xe0\x46\xcd\x64\x05\x3c\xa8\x16\x30\x6d\x95\xa2\xc4\x9d\x1e\x2f\xd6\x39\x3d\x3d\xed\x30\x99\x6b\x16\x0f\x02\x2b\x38\xf3\x78\x0c\xfe\x05\x01\xd6\x23\x29\x8a\xc8\x33\x31\x23\x2b\xaa\xad\xb9\x2f\xf4\xec\xd6\xbc\xb8\x32\xd7\x9d\xb1\x79\xc0\x40\x8f\x3e\x66\x81\x33\xaf\x67\xd3\xa9\x48\x08\xab\x93\xab\x2f\x3f\x9a\xe5\x43\x7c\x06\xfc\x75\x2d\xb8\x16\xc0\xbc\xb5\xfa\xf5\x2d\x24\x5c\xb4\x53\xbb\xdf\x6d\x94\x50\x1f\x10\x08\xfa\x33\xc9\xf4\xef\x48\xd3\xa0\xc0\xa8\xf5\x92\x58\x64\x65\xb2\xd8\x04\x46\x4c\x0e\x08\xde\x3b\x1f\x84\x71\x80\x5b\x93\xdc\xc1\x0d\x37\x60\x98\xe6\x45\x92\x8a\x93\x34\xc9\xac\x82\xcb\x78\xf0\x40\xfa\xb1\x87\x9e\x1e\xca\x72\xd1\x30\x81\xaa\x1f\xa1\xbe\x5d\x1c\x29\xa8\x76\xd9\x9b\x32\x49\x93\x72\x13\xbc\xa0\xe5\x85\x28\xcb\x8d\x09\x7d\x4a\x91\x28\xfc\xd4\x40\x6b\x5e\x76\x01\x92\x7e\xa0\x19\x3d\x15\xb9\x20\x08\x9f\x9e\xb2\x0e\xfa\x12\x76\x6a\xe8\x0e\xdf\x89\x22\x82\x2c\x56\x16\xec\x94\x3c\x6c\xa9\xd3\xa7\xf6\x23\x2f\x36\xc8\x37\x83\x1d\x52\x89\x21\x5f\x06\x6b\x9e\xdb\xfc\xf4\xac\xab\x27\x61\x3a\xaf\x65\xb8\x17\x3d\xcc\x1f\x61\x0e\xa4\xcd\x4f\xcd\xbe\x62\x23\xa7\x6e\x77\xe9\x2e\x48\x7a\x59\x71\xa5\x49\x22\xa4\x1c\xee\xa3\x92\x49\x6f\x9c\x5c\x2c\x98\xde\xdf\x52\x31\x79\x93\x81\x53\x8c\x79\xef\x72\x3d\x81\xf9\x8c\xcb\x4a\xac\x6f\x26\xf0\xbb\x5c\xf2\x24\xd3\x52\x2d\xd9\x6b\xd2\x48\x20\xd9\x9a\xa1\x06\x21\xa4\xf4\x62\x21\x6b\xd9\xc6\x8b\x77\x43\xfa\xfd\x30\xd8\x8d\x11\x1a\xdb\x6a\x06\x77\x02\x9e\x97\xd3\x53\x47\x8f\x1a\x3c\xfe\xee\x2e\x3b\xb7\xae\x65\x91\x5c\xaf\xa5\xcb\x00\xbb\xc9\x85\xa2\x60\xa2\xbe\x1c\xc7\xb3\x0e\xe8\xa8\x30\xac\x4f\x6e\xdc\x42\x6b\x61\x7d\x1c\xa2\xe8\x3b\xcd\x50\xfc\x26\x99\x6f\x89\x3f\xa4\x51\x21\xc3\x20\x5a\xf6\x74\x7e\x4d\x81\xb3\x6c\x01\x04\xce\x62\x27\x90\x23\xcf\x8f\x0e\xd2\xed\x98\xf3\xa1\xab\x67\xbe\x05\x1f\x56\x5a\x8a\x12\x8c\x74\x8b\xe7\x32\x82\x9b\xfe\x7d\x77\xd4\x6b\xb7\xf2\x23\xdc\xc7\x39\x43\x1d\x70\xea\x06\x7f\x29\xfc\xe4\x96\xb1\x9d\x84\x3b\xd2\xad\x49\xfd\x6f\x40\x9b\x31\x5e\x87\x27\x9b\x1b\x96\x0c\x07\xfe\x3f\x7a\xd8\xff\x83\x61\xd3\xc0\xf2\x0b\x0c\x67\x3f\x2f\x8b\x2a\x51\xab\xcf\xc3\x1b\xe3\xf7\x27\xf1\x96\xb5\xfc\x59\x84\xfe\x9f\x9d\x7a\xb7\x71\x3e\x21\xb1\xae\x1d\x60\x70\xf7\xa9\x1f\xde\x5f\xe5\xa0\xfc\xf2\x63\x42\xd4\x9c\x8e\x49\x5d\x3e\x31\x16\x35\x00\x3e\x48\x2e\x01\x94\x14\x44\x14\x93\xa8\x0a\x2d\x56\xc0\x44\xa6\x79\x3e\x38\x8b\x93\xa2\xdc\xb0\x15\xfa\xc9\x3e\x2b\x11\x93\x54\x10\x89\xac\x8f\x36\x3d\x20\x80\x63\x16\x6a\x71\xcb\xd7\x9a\xcc\x1a\xed\x2c\x8e\x61\x23\xc4\xdb\xbd\x0b\x0d\xbc\x5b\x65\x49\x98\xd8\x33\x30\x9c\x7d\x6d\x7b\x82\x42\x7c\xd5\xd3\x4b\x1c\x30\x36\x34\xa1\x56\xe9\x13\x5c\x14\xf4\x90\x45\x7e\x8e\xce\x79\xb1\xcf\x46\x10\xe6\xbf\xa4\x08\x7c\x05\xce\x5a\x49\x46\x87\xda\x7a\xeb\x1b\x5c\x9f\x98\x5b\x84\xa6\x8e\x24\x88\x7d\x1e\xc0\x15\x6f\xe1\xcf\x1f\x88\x8c\xcd\x4d\xf6\x11\xd3\x2d\xbb\xe9\x1d\x64\xc4\x88\x19\x66\xce\xdd\x62\x7e\xa5\x11\x14\x81\x71\x6a\x0d\x93\xfc\xbb\xfd\xad\x07\xd9\xc7\x6c\xfc\xae\xce\x0a\x20\x46\x80\x0b\x7c\x77\xb7\xfb\xf6\xbf\x76\xdf\x3d\x3e\xf9\x4b\xfc\xb8\xa7\xff\xfb\x4b\xef\xeb\xff\x77\x37\x34\x96\xd5\x8d\xbe\xd6\xff\xbf\x1d\xbd\xd3\x18\xff\xf5\xd7\x5f\x77\x1a\x6a\xd0\x1f\x0b\x88\x80\xe5\xd4\x9f\xd2\x7f\x8d\x46\xf6\xe7\x21\xb0\x23\xc5\x58\xa0\x12\xc0\x2e\x6b\xa1\x5d\xb4\x2c\x67\xad\x40\x4c\x95\xe0\x90\xbc\xe0\xc5\x55\x68\x25\x43\x18\xac\xb9\x90\xaa\xf4\x1e\xcc\xdb\xd5\x3a\x1a\xab\x50\x33\x02\xfb\x52\x23\xc4\xe1\x21\xc1\x28\x29\xbe\x99\x84\x31\xfd\x51\xa5\xcc\xb7\xe9\x0b\x34\x35\x31\x00\xb3\x92\xbf\x07\x41\x48\xf0\x28\x3d\x06\xf2\x21\x10\x04\x3d\x5a\x2d\x43\x71\x00\xc2\x36\xc1\xb6\xd7\x54\xa9\xfb\xed\x3c\xaf\xe5\xed\x5a\x49\xf2\x9d\x6c\xee\x80\x89\x4b\xf4\x3f\xbc\x03\x0f\xc1\x3e\x8c\x9f\xda\xa6\xfa\x6d\x59\x38\x3e\x84\xf9\x0b\xdf\xdd\x65\x97\xdf\xbd\xf9\x7e\x3a\x63\x17\xcf\x9e\xcf\x4e\x58\x9a\xcc\x63\x59\xee\xfe\xa4\x76\xd3\x64\xfe\xbe\x2a\x17\xc7\x83\x9f\xd4\x23\xf0\x68\xc8\x37\x45\xa2\x69\x64\x37\xea\xb1\xf1\x70\x34\x06\x1a\x38\x5d\x15\x72\x9d\x54\x6b\xf6\xdd\x25\x9b\x54\xe5\x4a\x16\x6a\xc0\x26\x69\xca\xa0\x2e\xbc\xdc\x88\xe2\x5a\xcb\x5c\x5a\xea\x50\xce\xc8\x42\xc9\xaa\x88\x28\xdd\x73\xa2\xd8\x52\x5e\x8b\x22\x33\xf1\x47\xcf\x2e\xcf\x77\x54\xb9\x49\x05\x4b\x93\x48\x64\xc6\x59\x88\x4c\x2d\x76\x77\x31\xfd\x8d\xb9\xb4\x9f\x3f\x9b\xce\x5e\x5e\xce\xe0\x62\x19\x3c\x7a\xd4\xa9\x14\xb2\xf4\x51\x09\xef\x7c\xbb\xec\xf5\x77\xe7\xdf\x75\x63\x7e\x9d\xc4\x73\x91\xf5\x4e\xd8\x8f\xc6\x32\x90\x08\xa9\xc8\x22\x19\x93\x2b\x05\x10\x63\x13\x95\x5b\xc4\xfd\x47\x90\x07\x93\x82\x66\xe3\xf6\x52\x78\xdd\x0c\xbd\xaa\x92\x6c\xc7\x58\xae\x85\xd1\xbc\xf5\x92\x75\xeb\x55\x59\xe6\xea\x64\x77\xf7\x26\xb9\x4a\x06\x37\x2b\x5e\xde\x2c\x07\xb2\x58\xc2\xdf\xbb\x78\x67\xce\x68\x02\x7e\x75\x33\xa9\x81\xca\x45\xe4\xb7\x73\xdc\x25\x1a\x8c\x2c\xaa\x94\xbd\x79\x7d\xb1\x73\xcc\x62\xa1\xc1\xe9\x71\x20\x6f\x5e\x5f\x1c\x9f\x63\x61\x13\x49\xc8\xd3\xda\xc5\x7e\x99\x6f\x4a\xa1\xd0\xcb\x9a\x20\x6b\x1f\xa9\xc5\x5f\x2b\x41\x61\x0f\x01\x91\xa0\xea\x73\x5d\x93\xe2\x3f\x51\x67\x09\xd8\xa3\x2c\x0b\x01\x71\x80\x63\x81\xd9\xbd\xd9\x5c\x68\xe8\xe2\xf4\x62\x48\xac\xe0\x3a\xf8\x8a\x0d\xbd\xac\xda\xb1\x78\x05\x2d\xc2\x6e\x53\x79\x23\x0a\x36\x87\x4d\x97\x99\xa7\xe3\x76\x63\xdc\xd1\x2b\xb4\x3e\x83\xc6\xd0\x6d\x90\x83\x2b\x82\x7c\x0e\x1c\x99\x61\x02\x23\x2f\x79\x9f\x95\xfc\x0a\xdc\x13\x32\x4d\xd6\x22\xf4\x6c\x40\x53\x46\xf0\x7a\xcb\x0b\x71\x9d\xc8\x0a\xd8\x0a\xc8\x92\xac\xca\x42\xf0\x35\x5c\xee\x36\x6d\x0e\x62\x96\x28\xea\xe4\xf4\xd2\xaa\x5f\x0b\x6c\x0c\x91\x3d\x74\xd5\xbe\x8b\xfa\x6d\x78\x6b\x27\x13\x18\x2e\xe2\xd2\x93\x22\x51\x2f\xae\xc1\x50\x65\x49\x23\x66\xb8\x06\x08\x9b\x8b\xf2\x46\x88\x8c\x0d\x6f\x87\x43\x2f\x43\xe3\xf0\xf6\xe2\x22\xe4\x30\xcc\xb4\x20\x42\xbd\x9e\x16\xed\x18\x01\xc1\x97\x4e\x34\xa4\x46\x87\x2e\xe6\x55\x13\xe1\x3c\x22\x85\xdd\xb4\xbe\x9c\xe9\x3b\xbe\x10\xa5\x4d\x72\xde\xa6\x6d\x53\x65\xd1\x66\x30\x07\x59\x41\x49\x4f\x10\xad\x78\x31\x95\xb1\x98\x94\xdd\xc4\x13\xfd\xeb\xb8\xea\x79\x3b\x61\x85\x88\xfd\xe9\x94\x0d\x6f\x8f\x2e\xc2\xf0\xb3\x10\x0c\xc8\xf4\xeb\xf5\x19\xb8\xb8\x0e\x6f\xa7\x43\xdd\x3c\x62\x5f\x7c\xc1\xa8\xa3\xf3\xa0\xa3\x06\x4e\x47\x6c\x87\xe9\x66\x4f\xc3\x2a\xfe\x69\x1a\x3d\xad\x7b\x95\xf8\xc8\x7b\x7b\x3c\x6c\x9d\xc9\xac\x31\x93\xd9\x43\x66\x32\xbb\x6b\x26\xe3\xfb\x66\xd2\x3e\x95\x8b\xc6\x54\x2e\x8e\x1e\x30\x95\x8b\xbb\xa6\xb2\x77\xf7\x54\x46\xc3\xe1\xb6\xc9\x1c\x37\x26\x73\xf6\x90\xc9\x1c\xdf\x31\x99\xfd\xbb\x27\x33\x1e\x6e\x9f\xcd\xb4\x31\x9b\xf3\x87\xcc\x66\x7a\xc7\x6c\x0e\xee\x9e\xcd\xfe\xb0\x6d\x3a\x0d\x5c\xef\xfc\xa5\x5a\x2c\x16\x71\xa7\x16\xf3\x2d\xac\x8d\x8b\x38\x6e\xec\xef\x59\x13\xd5\xec\x0c\x77\x76\x9e\x6e\x5f\x5e\xb7\x56\xf2\xa7\x3f\xb1\x43\x2d\x5b\x76\x71\xdd\xc7\xc3\x9e\x6b\x7c\xef\x71\x66\xa8\x88\xfb\xb3\x2c\xc1\x33\x20\x4d\xdd\xad\x45\xcf\x15\xc6\xcf\x12\x23\x9f\xe0\x75\x02\xde\x1e\x61\x0f\x8b\x24\x2d\xf5\x85\x58\x95\x4c\x55\x45\x21\x97\xf8\x2e\x9b\x14\x56\x53\xc7\x0c\xf5\xf1\xd6\x12\x2e\xe5\xa9\x57\x13\xe8\x8c\x5b\x63\x7d\x9b\x6a\x96\xb4\x1f\x3e\x68\x20\x9f\x1f\x0f\x11\xcc\xb6\x9d\x06\xb7\xeb\x04\x69\xcd\xc5\x45\xaf\xd9\xda\xd5\xfa\x0a\x8e\xc6\x85\xae\x16\x40\x69\xeb\xae\xb7\x62\x08\x41\x05\x58\x14\xa1\x6f\x24\x22\xfd\x26\x47\x69\x55\xe6\x55\x39\x08\xaa\xd7\x57\x4c\x27\xb4\x3e\x0b\x3b\x0f\xbc\x77\x06\xfa\x5e\x9d\x12\x21\x77\xed\x7b\x4f\x83\x46\xad\xf3\xc3\x54\xd5\xc1\x66\x0d\x6a\x15\xdc\x7c\x76\x1a\x24\xe3\x01\xd3\x69\xd8\x3b\xd3\x1e\x3d\x66\x5d\x6f\xa9\x5f\x7d\xf5\x15\x1b\x0d\x7b\xec\x0b\x36\xbc\xdd\xbb\xb8\xe8\x35\x63\xc3\x0d\x6f\xcf\xa7\xd8\xcc\xdb\x5a\xaa\x5d\x5f\xe9\xa3\xb6\xdf\x3f\x6e\x3b\xc9\x9a\x55\x92\x12\x1e\xe7\x91\x91\x4b\x32\xb6\xae\xd2\x32\xd9\x01\x26\xc0\x1d\x86\xef\xc5\x4d\x92\xc5\xc4\xaf\x60\x08\x1b\xbf\x13\xf4\xef\x48\x25\xb9\x42\x80\x03\xaf\xee\x61\x70\x1f\xcd\xd8\xc6\x1a\x12\x4e\x38\x4a\xf0\xd1\x53\x51\x5b\x99\xbd\x10\x65\x2b\x67\xe6\x58\xb2\x81\x17\x5a\xcd\x06\x4e\x8f\x44\xf0\x44\x41\xc6\x34\x20\x80\x09\xcb\x9a\x25\xce\x0b\x1f\xc2\x46\xfc\x5f\xc3\x8e\x61\x03\xcd\x94\xf9\xcc\x97\x96\xea\x02\xdb\xbf\xae\x79\x08\xf6\xd8\xb7\x6e\xaf\x47\xcd\xb1\x7e\x98\x4c\x22\x33\x6c\x73\x30\x30\x4e\x0c\x76\xcc\x4a\xc4\x35\xd1\xeb\x1c\x22\x26\x81\xc3\x18\x77\xe2\xcb\xb5\x28\x94\x9f\xff\xc8\x48\x7b\x2e\x46\x83\xae\x1d\x9c\x6f\x06\xea\x23\xa0\x42\x37\x98\x21\x43\x7d\xcd\x7e\xc4\x60\x95\x79\x2e\x32\xa5\xa9\x10\x84\xb0\xb8\x12\x9b\x1c\x04\x12\xf4\x45\x46\xf3\x34\x30\x65\x21\xc3\x69\x98\x8b\xe6\xf4\x78\x44\x84\x1f\xd2\xc7\x69\xec\x3f\x7b\xf1\xea\xeb\x3b\x90\xe5\xb5\x93\x21\xc1\x20\x54\x43\x65\xfb\x1e\xfa\xd2\x26\x62\x13\x80\xaa\xbf\x0d\xaf\xfc\xc7\x22\x3c\xd2\x35\x64\xb4\x78\xa6\x50\x26\x21\x8c\xb2\xa8\x84\x48\x80\xe3\xd5\x91\xe0\xd7\xe0\xc0\xf5\x75\x0b\x09\x31\xab\x2c\x81\xb9\x78\x22\x1f\x69\x4b\x74\xcb\x87\x72\xeb\x44\x1b\x1b\x2c\xb5\x7f\x7f\x45\xc0\xd5\x5c\x5c\x5c\x9c\x07\x4f\x62\xd4\xfc\xb8\xa5\xf9\x99\xdf\x1c\x22\x1f\x3c\x1e\x05\x4b\xf2\xaf\x25\x3d\xcb\xb8\x65\x96\x8f\x47\x35\x56\xc4\xcd\x35\xd6\x83\xc5\x6d\x73\x25\x10\x5d\xde\x40\x0c\xda\x06\x06\xfb\x37\x54\xe4\xf8\x58\xbc\x52\xec\xa5\xa0\x99\x22\x7d\xa5\x3c\x66\xdd\xd8\x16\x06\xec\x05\x06\xdb\xdd\x72\x2b\x34\x21\x76\xe7\x25\xd2\xac\x1c\x44\xff\x75\x7c\x40\xa4\x4f\x9e\x39\xe9\x04\x38\x4b\xf9\xdd\x96\xb6\xc8\x57\x77\x49\x57\x61\xe8\x61\x6f\x6f\x6d\x3f\xcd\x8e\xda\x6e\x6b\x10\xcd\x3e\xe8\x66\xfa\x46\x3e\x74\x37\x6b\x8b\xa4\xd5\x1c\x25\xe4\x98\xee\x1c\x66\xe6\x0d\x33\x1a\xb7\x8f\x33\x0e\xc6\xd9\xfd\xd2\x1f\xca\xb0\x67\x5f\xee\x3e\x6c\xbc\x0b\x7f\xbc\xe3\xf6\xf1\xf6\x9e\xfa\x5b\x76\xb3\x4a\x52\xc1\xba\x81\x66\xc4\x2d\xae\x85\x4f\xbf\x73\xfc\x63\x18\x9f\x26\xd0\x3d\x64\x5f\xba\x1e\x7a\x86\xed\xe9\x05\x6f\xd0\x8d\x0b\x7e\x8b\xc6\xb1\x5c\x25\x45\xfc\x3e\xe7\x45\xb9\xd9\xbd\x89\x6e\x92\xb8\x5c\x81\x0a\xf2\x26\xda\xa6\x80\xdc\xff\x64\x05\xa4\xa6\x8a\x37\xd1\xef\xa8\x82\xf4\xe2\xdf\x7b\x97\x76\x9a\xcc\x0b\x48\xfc\xac\x18\x59\x87\xda\xfc\xd0\x04\x81\xc1\x4f\x8a\xad\x65\x5c\xa1\x73\x6f\xa6\x6f\x97\x9f\x94\x7d\xea\x95\x45\xb2\x04\x2d\x58\x2d\x8b\x20\xf9\x0b\xe3\x04\x79\x79\x02\xb7\x28\x69\x15\xb3\x7c\xfd\x93\x02\x35\x62\xce\xa3\x2b\xbe\x14\xbb\x6e\x28\xb8\x31\xcc\x64\xbd\x79\x9a\x80\x50\x72\x01\xfa\xf1\x4a\xb1\x6f\xab\x55\xa6\x05\x29\x6c\xda\xed\xd5\x66\xe0\x59\x6e\x2f\xa4\xa6\x7d\x70\xed\xdd\xe6\x29\xcf\x68\x86\x72\x2d\x94\x5b\xad\x5d\xc8\xb4\xd6\xd1\x49\x2d\xa8\x15\xcf\x5a\x32\x26\xba\x59\xf0\x2c\x66\x37\x91\x32\x7f\x76\x6d\x06\x75\x60\x24\x9e\xcd\x66\x33\x76\x59\xc6\x6c\x34\x1c\x8e\x07\xa3\x9d\xf1\x70\x38\xea\xc1\x75\xf7\x06\xaf\x2f\xc3\xb3\x68\x58\x9d\xec\xee\xde\xdc\xdc\x0c\x64\x2e\x32\x08\x65\x00\x20\x93\x59\x9a\x64\x22\xaf\xe6\x6a\x77\x38\x3c\x7a\x32\xdc\x7f\x72\x74\xb0\x6b\x1d\xec\x2c\x24\x57\xe5\x3a\xfd\x65\xfd\xa8\xa0\x23\x0a\x16\xb5\x48\x6e\x45\xbc\x03\x5f\x48\xea\x62\xb1\xb8\x4e\x22\xa1\xfa\xec\x39\x2f\x93\xcc\xf1\x30\x10\xf6\x9c\xc9\x28\xaa\xf2\x8d\xf5\xaa\xd4\xdd\x7c\x1e\x89\x34\xfd\x9c\xe5\x52\x25\x06\x7c\x68\x3f\x06\xdd\xf6\x35\xfb\x5c\x08\xae\x58\x12\x0b\xb9\x2c\x78\xbe\x4a\x22\x36\xfd\xdf\xdf\x7a\x3d\x83\xc9\x2f\x76\xac\x19\x2f\x55\x69\x7e\x57\xa4\xa9\x1a\xb0\x67\x59\x29\xe0\x59\x15\x22\xa9\x96\x1b\xcb\xe9\xa2\xa7\x39\x4f\x77\xcc\xa3\x39\xa4\xd4\xc2\x97\x46\x0c\xb7\xd0\x2d\x45\x2a\xca\x4d\x2e\xf0\xcc\xf5\x3c\x76\xcc\x34\x56\xcc\x3e\x98\x80\x17\x03\xc8\x05\x56\x73\x6f\xf3\x60\xf2\x65\x21\x00\x3f\x98\xcc\x8c\xff\xbc\xed\x8b\x8c\x90\x79\x7c\xcd\x21\xb6\xd2\x97\x46\xcb\xad\x64\x01\x29\xc9\xe4\x0d\x5b\x83\x5f\xbb\x48\x53\x0b\x25\x35\x60\x2f\x25\x13\xaa\xe4\xf3\x14\xf2\x46\xe2\x93\x2b\xec\xb1\x2a\x79\x16\xf3\x22\x56\x98\xe6\x9d\x71\x88\xa2\xa1\x82\xf1\xdf\x18\xee\xc8\x9b\x87\xdb\x9f\x47\x94\x73\xa7\x65\x5c\xdd\x45\x0b\x20\x06\xe4\x13\x5b\xc8\xaa\x4c\x32\x01\x76\x97\x00\x55\x8c\xf5\x63\x02\x6f\xe9\xcd\x85\x13\x00\x2f\xeb\x7a\x9f\xe6\x62\xc5\xaf\x13\xbd\x54\xae\x30\x85\xb7\x82\xe3\xc4\x8a\x2a\xc5\x07\x72\x2f\xd7\x19\x48\x1c\x79\x21\xaf\x93\xd8\xc5\x08\x30\x4b\x99\xca\x4c\x69\xaa\x50\xd9\xec\x56\x17\xb2\x40\x1d\x3a\xa1\x0d\x4f\x3d\xa4\xe9\x07\x8d\x0d\xcc\x80\x24\x24\x51\x52\x52\x60\x01\x38\xad\xca\xe7\xc5\x77\x00\x1e\x88\xf2\xd7\x09\x87\x5e\x70\x49\x2e\x5d\xaa\x60\x33\xae\x4a\x36\x51\x09\xca\x0b\x17\x55\x9a\xfe\x08\x2d\xba\x17\xbd\x3e\xfb\x51\xb3\xf2\xdd\x1f\x7b\x7d\xf6\x0d\x4f\x17\x74\x7c\xba\xdf\xf4\xf0\x99\xfd\x25\x2f\x0a\x79\xc3\xba\x2f\x79\xcf\xcb\x61\x84\xb1\xd9\x50\x88\x54\x18\xad\x0e\x97\x50\x90\x37\x09\xe3\xeb\x79\xb2\xac\x34\x8e\x43\xc8\x24\xda\x68\xec\x9c\xa3\x91\x3e\x6e\x16\x6d\x75\xa5\xc4\x00\x40\xe4\x1d\x51\xba\x3a\xdc\xec\xd9\x04\x7a\x95\x95\x62\xdd\x49\x0f\x82\x41\x50\x2e\x46\x7d\x23\x40\xdf\xd1\x4a\x26\x91\x86\x41\x2e\xb2\x58\xb1\xbc\x82\xdc\x4e\x10\x53\x2c\x2f\xc4\x42\x14\x82\x1c\x99\xe7\x3c\xba\xba\xe1\x45\x6c\xe2\x6b\xf0\x32\xa1\x43\x89\x62\x6a\x02\xe6\x68\xab\x44\x95\xb2\xa0\x33\x2e\x0b\xf6\xa3\x50\x10\x8e\x3f\x07\xf7\xfe\x08\x65\x99\xe9\x4a\x4a\x38\x79\x48\x46\x08\x84\x94\x9a\x4b\x89\x60\x49\x60\x03\x07\x71\x83\x7e\xaa\x14\x98\xdb\x70\x6b\x78\xc1\xf3\xbc\x90\x79\x91\x68\xfe\x37\x95\xd9\x12\xc3\x2b\x2b\x99\x56\xf8\x22\x8a\xa1\x35\x60\x2a\x66\x7c\x72\xaa\x8b\x13\x95\xa7\x7c\x43\xa7\x3f\x1c\x92\x2b\x13\x35\x8d\x20\xe4\xae\x16\xb3\x3a\xdd\x45\xed\xda\x00\xbc\xd7\xa8\xb7\x61\xdd\xe3\x9d\x79\x52\x5a\xa9\xcc\xeb\x1a\xdc\xd8\x69\x6c\xb4\x63\x0a\x20\xa0\xf1\x67\x74\x08\x8d\xa5\xc6\x5b\x7f\x1a\x14\xd9\x4d\x03\xe9\xcf\x85\x10\x57\xe0\xed\x34\xdd\x14\x49\x9a\x26\x51\x9f\x89\x32\x1a\xe0\x75\x05\x9e\x1b\xd9\x86\x95\x9b\xdc\x12\xdc\x88\x82\xc7\xf1\xc0\x6f\xfb\x85\x3e\xc1\x29\x3c\xac\xa5\xe0\x59\x85\xe0\x22\x8c\xd0\xf7\xa0\xbf\x2f\xec\xa5\x2c\x6b\x07\xa3\xfb\x52\x54\x65\xc1\x53\xc2\xf4\x01\x9b\x69\x8a\xa5\x81\x6a\xc1\x6d\xdd\x5c\xe2\x24\x82\xa7\x2e\xee\xf5\xca\xb3\x0d\xf9\x7b\xd4\x37\x61\xc0\x9e\x19\xb9\x1a\x52\xc5\x96\x2b\x01\x13\xc5\xb4\xe8\x9a\x79\x02\x1c\x70\x4b\x04\x8f\x2d\xcc\x2e\x2f\xd1\x07\x48\xcb\xf0\x96\xd2\xc1\x7d\x82\xc9\xf5\xec\x66\x68\x02\x06\x14\x0a\xfd\x4d\xad\x3f\xf5\xec\x05\xbb\x7c\x35\x99\xce\x34\xfa\xfe\xf0\xdd\xf3\x37\x2f\x66\xec\xd9\xcb\xd7\xb3\x3f\x7f\x3f\x79\xee\xc5\x4f\xd1\x6b\x9a\x53\xc2\x64\x4f\x84\x8e\xf5\xe5\x57\xea\x23\x04\xa7\x82\x87\x1b\xbc\x4c\x37\xf9\x6a\x10\xb2\x31\xd0\x85\xa5\xbb\x8e\xd8\xaf\x05\x9c\x44\xae\x54\xb2\xcc\x5c\x47\x1e\xfd\xc2\xe5\xea\xf6\x19\xee\x43\x40\x1f\x89\x18\x24\xe0\x9d\x86\xc6\x05\x0e\x47\x9d\xe6\xcb\x3a\xb2\x51\x56\x37\xc5\xcb\x44\x2d\x78\x54\xca\x62\x63\x02\x97\xeb\x6d\x00\x97\x23\x83\x47\x9a\x7c\x83\x97\x12\x34\x35\xd7\x18\x6a\xa4\xf0\x26\x73\x24\x99\xe2\xa9\xdc\x44\xfa\x52\xe1\x03\x36\x41\x9f\x92\xb5\xc4\x44\xf7\x46\xab\x26\xa2\x04\x14\x36\x08\xe0\x10\xd7\x7c\x44\xf3\xf6\xcf\x4c\xac\xbe\x09\xf3\x4d\x78\x80\x01\xea\xca\x6c\xda\x46\x80\x35\x23\xcf\xd4\x0d\x2e\x64\x63\xae\xa9\x8d\xc9\x8a\x6c\x6f\x30\xc7\x50\x9a\x9b\x46\xdf\x61\x73\x88\x24\x8a\xb9\x7a\x06\xec\x52\x94\x25\x6d\x63\x95\x03\xd5\xd4\x0c\x8b\x5b\xbf\x39\x3e\xf6\xaa\x94\x0b\x62\x35\x5a\x2e\x62\xdd\x0b\x58\x7b\x10\xf7\x01\x96\x6c\x05\x68\xb4\x78\xc6\xd3\x8d\xa2\x44\x66\x10\x7c\x5d\xb3\x5a\xbc\x8d\x1b\x00\xda\x30\xaf\x4a\x8c\x90\x6a\xaa\x11\x80\xb8\x35\xbe\xee\xc3\xf5\x5a\xda\xec\x2e\x1c\x84\x1d\x7b\x1c\x03\xc4\x84\xb8\xa3\xd7\x12\x6e\x6e\xe3\xd4\xc6\x16\xbc\x68\xe1\x70\x49\x75\x03\x7c\x29\xfd\xbe\x4b\xe1\x50\x77\xcb\x62\x34\xda\x35\xe4\xc7\x71\xfe\x6c\x67\x87\x8d\x87\xc3\xa3\x9d\xe1\xc1\xce\xf8\x90\x75\xcd\x8a\x0e\x06\xc3\x1e\xd5\x7e\xa5\x41\xa4\x14\x59\x96\x57\x4a\xf4\x59\x24\xf3\x4d\x5f\x4b\x33\xc9\x62\xd3\x27\x0f\x57\x2d\x22\xcd\xab\x52\x38\x89\x6c\x51\xde\x10\x37\x43\x24\x47\xdf\x71\x39\x64\xd8\xcc\xd0\x23\x18\x1c\xe7\x04\x5c\xc4\xfa\x42\x9e\x6f\x34\xc7\xa1\x31\x09\x4f\x2a\x82\x85\x6e\x8d\x28\xe5\xc9\x1a\x99\xe1\x1b\x5e\xe8\x6a\x89\x20\x0b\x8e\x42\x2c\xf5\x7e\x53\x36\x43\x6f\x6c\x03\xa3\xe7\x1c\xcc\x71\x48\x35\x79\xe2\xc3\x2c\x4a\x07\x11\x5f\x0f\x78\x34\xa8\xae\x76\xff\x7b\xbd\xbc\x1a\x1f\xec\x56\x91\x13\x00\xa2\x40\x92\x0a\xc5\x20\xab\xad\x36\xec\x0e\xba\x6c\xa5\xd5\x3a\x23\x42\x81\x49\xda\x9e\x5d\x7e\xc7\x46\xc3\xc3\xfd\x43\x87\x28\x96\xfc\xe9\xbe\x94\x91\x8d\xd8\x0e\x99\x71\xa4\x1e\x45\x61\xdd\x37\x8f\xf1\xc9\x05\x50\xa1\x31\xc0\x70\x40\x4d\xbf\x03\x3e\x60\x3a\xdc\x9d\x8e\xe0\x90\x14\x32\x0d\x6e\xd7\x2c\x66\xe7\xb3\xe7\x14\x1b\x4b\x70\x8c\x6f\x12\x18\xf5\xeb\xee\x76\x46\xa6\xbf\x97\x32\xdb\x51\x39\x8f\xe0\x70\x66\xb1\xbe\x56\x53\xe4\x1e\x22\xb9\x9e\x23\x2f\xea\xf5\xdf\x45\xff\xe2\x94\xe9\x5b\x60\xa9\x89\x18\x60\xd2\x0b\x93\x97\x40\x16\xec\x85\x0d\xa1\x56\x3f\xd5\x3d\xe3\x90\xb8\x75\x75\x97\xdf\x5d\xbc\x66\xdf\xfc\xc7\xab\x6f\x66\x2f\x11\x22\x93\xf3\x6d\x10\x19\x85\x10\x21\xa3\xca\xfb\xa7\x3a\x5d\x6c\x9d\x1e\xad\x41\x83\xe1\x3f\x67\xdf\x7f\xc7\x7e\x7c\x76\xfe\xfa\x1b\xba\xad\xba\x6f\x1e\x8f\x87\xc3\xb3\xfb\x97\xf0\x0d\xcf\x96\x55\xca\xfe\x37\x5f\x4b\x06\xc9\x1d\x52\x76\x2d\x6f\x44\x8a\x7b\x63\xac\x60\x32\x25\x33\x9e\x95\x4a\xf7\x3b\x1a\x1d\x0e\x77\xf4\x8f\x8b\x0b\xd3\x3d\xcd\x64\x3b\x9c\x68\xc7\xee\xe4\x4e\x0d\x27\xad\x37\xc5\x2b\xd6\xfc\xb6\x61\xab\x2f\xcc\x9a\x2d\x8c\x34\x7b\x66\xa5\x70\x0b\xa2\xd7\x22\x5a\x65\x20\x23\x90\xdf\xe2\xff\x33\x1a\x6d\x81\x04\x75\x38\x36\x53\x6d\x65\x97\x7d\x8c\x2d\x04\x38\x86\x66\xa1\xe5\x4e\x62\x3a\xc2\x73\x3f\xfd\xe9\xca\xb5\x5e\xa4\x7c\x09\xac\x6b\xc6\xe7\x29\xd1\x91\xcd\xb6\x8d\xb1\x13\x01\x1d\x93\x58\xf3\x26\x4e\xbb\x44\xe1\x9a\xf0\x80\x75\xa2\xee\x18\x8e\xf4\xf1\xf1\xc1\x93\x9d\x11\xec\xdd\x8f\x7f\x7e\xbe\x6f\xc0\xe5\x71\x02\xf6\x7e\x68\x9c\x46\xc3\x37\x6e\x99\xd9\x28\x0c\x01\x1e\x32\xbc\x18\x78\xcf\xbc\xac\x84\xe0\x32\xac\x6f\xe2\x51\x1d\x7c\x3e\x78\x44\xb4\xf1\x14\xf3\xb7\xee\xee\xb2\x1f\x2d\x89\xd2\x14\xc7\xf5\x34\xa0\xaa\x83\xac\x22\xe9\x0b\x53\x75\x85\x4d\x1a\x6b\xb2\xcd\xe8\x4b\xad\xe9\x85\xde\x19\xe3\x45\x4a\x19\x92\x21\xac\xf2\x3d\x58\x60\xbb\x6d\xd9\x6d\x97\xd4\x32\x98\x5b\x76\x4f\x9f\x6e\xa6\x5e\x67\x66\xba\x63\xec\xed\x12\xb5\x78\x26\x64\x62\x26\xb3\x1d\x79\x2d\x8a\x94\xe7\x39\xbd\x8e\x89\xe2\x9a\xa7\xca\x7c\x54\x8d\x63\xa7\x7b\x31\x21\x17\x80\x35\xfa\xbc\xca\x12\x25\x4a\xf6\x38\xe2\xe5\xe9\x0b\x41\x3f\x33\xfc\x39\x5d\xb0\x1d\x4d\xd3\x18\x9e\x79\x7d\xe2\x19\x90\x15\x16\x7d\xee\x00\x6b\xc8\xee\x29\x7b\x0b\x7a\xd9\xb7\x6c\x78\x3b\xdc\x1b\x0e\xfb\xf0\xf3\xf0\x82\xbd\xeb\x63\xd9\xfe\xf1\x5e\x1f\x7f\x1e\x7a\x65\xc7\x54\xf6\x84\x51\xaa\x33\x28\x3f\x78\x32\x82\xf2\x83\xb3\x73\x5b\xf7\xe0\xec\x82\xca\x5c\x9f\x07\x53\xaa\x37\x1d\x87\xed\xa7\xfb\x54\x7e\xe0\xd5\x3d\xa2\xb2\x23\x5b\x76\x48\xf3\x3c\x1c\xee\x05\xed\x0f\x47\x54\x3e\x72\xed\x0f\xf7\xcf\xb0\xec\x60\xe6\xca\x8e\xa8\xde\xd1\x30\x6c\x7f\x7e\x88\xe5\xb3\x7d\x57\x77\x76\x44\x65\xc7\x5e\xd9\x84\xca\xce\x83\xf6\x47\x43\x5c\xeb\xd1\xd0\xad\xf5\x68\x84\x6b\x3d\x1a\x8d\x5c\xd9\x1e\x8e\x7f\xb4\x3f\x09\xdb\x4f\x70\xfc\xa3\xb3\xa1\xab\x3b\xc3\xf9\x1f\x5d\xec\xd9\xb2\x27\x43\xec\xf3\xc9\x30\x84\xdf\x93\xbd\x69\x9f\x7e\xba\xba\xfb\x54\x77\xff\xd8\x2b\x3b\xa7\xb2\x70\xfe\x4f\x0e\xa8\xee\x81\x5b\xff\x93\xc3\x31\x96\x1d\x7a\xe3\x1f\x53\xbd\xe3\x51\xd8\xfe\x8c\xc6\x3f\xf3\xc6\xa7\xbd\x7e\x32\xf5\xfa\x9c\xd2\xf8\xd3\xda\xf8\x33\x1a\x6b\xe6\xc6\x9a\xd0\x5a\x27\xb0\x56\x2a\xa3\x75\x4e\x60\x9d\xae\xfd\x84\xd6\x3a\xd9\xf7\xea\xee\x1f\x51\xd9\xb1\x57\x76\x46\x65\xe1\xf8\x13\xc2\x8b\xc9\x91\xdb\xab\x09\xad\x75\x72\xec\xf5\x49\xeb\x9c\x9c\xd5\xc6\xa7\xb5\x4e\x3c\xfc\x9d\x10\xfe\x4e\xa6\xde\xf8\xb4\xfe\x49\x6d\xfd\x13\x5a\xff\xc4\x5b\xff\x19\xad\xff\x6c\xe8\xe6\x74\x46\xeb\x3f\xab\xad\xff\x6c\xef\x82\xca\x1d\xfe\x9d\x11\x4c\xce\xf6\xbd\x3e\x69\xff\xcf\x6a\xeb\x3f\x3b\x40\xfc\x3b\x3b\x70\x67\xfd\xec\x18\xe7\x74\xe6\xad\xff\x6c\x8a\x70\x3a\x9b\x86\xe7\xe7\x8c\xd6\x75\x36\x75\xe7\x7f\xba\x37\x83\xb2\xe9\xbe\xc3\xe9\xe9\xfe\x21\x95\x1d\x07\xed\xa7\xfb\x13\x2a\xf7\xda\x1f\x1c\x60\x99\x37\xa7\x29\xc1\x7f\x5a\x83\xff\x94\x68\xcd\xd4\xa3\x35\xd3\x29\x8d\x35\xf5\xda\x4f\xa9\x7d\x0d\xfe\x53\x82\xff\xd4\x83\xff\x39\xc1\xef\x7c\xdf\x2f\x3b\xa7\xb2\xb0\xfd\xf9\x14\xe7\x7f\x3e\x9d\xb8\xba\xe7\xd8\xe7\xf9\xf9\xbe\x57\x76\x48\x65\x87\x41\xfb\xd9\x1e\x8e\x35\xdb\x73\x7b\x3d\xdb\xdb\xa7\x32\xd7\xe7\x8c\x70\x7a\xb6\x3f\x0b\xdb\x9f\x51\xfb\x33\xaf\xfd\x19\xb5\x3f\x7b\xe2\x95\x9d\x51\x59\x08\xbf\xd9\x14\xe9\xfa\xcc\xdb\xbf\x8b\x11\x96\x5d\x8c\x5c\xfb\x8b\x3d\xdc\x93\x8b\xbd\x83\xa0\xfd\xc5\xde\x11\x95\x1f\x79\x75\x9f\x50\x99\xd7\xfe\x08\xe7\x79\x71\x14\xce\xff\xe2\x18\xf1\xea\xe2\xd8\xc1\xea\xe2\xf8\x90\xca\xbc\x3e\x9f\x50\xbd\x27\x47\x61\xfb\x27\x34\x96\x47\x7f\x2e\x68\xff\x2f\xdc\xfe\x8f\x86\x63\xd8\xbf\xd1\x70\x2f\xc0\xdf\xd1\x70\x6f\x4c\xe5\x63\x57\x77\xef\x90\xca\x8e\xbc\xb2\x27\x54\xf6\x24\x6c\x7f\x70\x8c\xe5\x07\x76\xad\xfa\x0e\x86\x32\x7d\x0d\x9b\xb2\xbd\x03\xc0\x53\xfd\x33\x68\x7f\x34\xc2\xf1\x8f\x46\x76\xfd\xa3\x23\x9a\xd3\xd1\x9e\x57\x76\x40\x65\x07\x7b\x61\xfb\x23\x2a\x3f\xda\x73\x75\x71\xff\x47\x47\x67\x07\x5e\xd9\x11\x95\x9d\x87\xed\x11\x56\xfa\xa7\xab\x3b\xc5\xb5\x1e\x9d\x7b\x7d\x9e\x9f\x53\x59\xd8\xfe\x78\x08\x78\x35\x3a\x1e\x5a\xfc\x19\x1d\x4f\xb0\xfd\xf1\xc4\xc1\xe4\xc9\x18\x61\xf2\x64\x1c\xdc\x5f\xa3\x27\xe3\x23\x2a\x3f\x76\x75\x69\xfd\x4f\xbc\x3d\x79\x42\xf0\x7f\xb2\x77\x16\xb4\x9f\x8c\xb0\xfd\x64\xe4\xda\x9f\x21\xaf\x30\x3a\x1b\xba\xf9\x9f\xe1\x99\xd2\x3f\x83\xf6\x67\xb4\xd7\x67\xee\xac\x8d\x88\xd6\x8e\xce\xdc\x9d\x3a\x3a\xdb\xc7\x39\x9d\xed\x87\xf3\x3f\x3b\xc4\xf5\x9f\x79\xf0\x3f\x47\x5a\x39\xf2\x68\xc2\xe8\xfc\x62\x86\x65\x17\xc1\xfe\x6b\x26\xad\x8f\x3f\x2d\xae\x8c\x87\xe3\x09\x96\x8d\x67\xae\x0c\x71\x6a\x3c\x3c\xdc\x0b\xdb\x1f\x52\xdd\x43\xaf\xfd\x39\xd5\x9d\xd9\xb2\x3d\xea\x73\x6f\x38\x0e\xc6\xdf\x1b\xe2\xf9\xd9\x1b\x3e\xb1\x73\x9d\x1c\x0f\x01\x26\xfa\xa7\x57\x76\x46\x65\x01\xfc\x27\xc7\xe3\x03\x2c\x1f\xdb\xba\x17\x67\x23\x58\xab\xfe\x69\xcb\x66\xb8\x27\x17\xb3\x61\x30\xfe\xc5\x6c\x4c\xe5\xe3\x3d\x57\xf7\xe2\xa2\x4f\x3f\x6d\xd9\xc5\x05\xcc\xf3\xe2\xe2\x22\xdc\x7f\xc3\x2c\xe8\x5f\xdc\x0e\x0c\x27\xc3\x03\x53\x7a\xe8\x97\x4e\x4d\xe9\x45\xad\x97\x3d\x3a\xc6\x13\x0f\x0f\x86\x13\xbc\x5c\xe1\x17\xb7\x93\xa3\x43\x44\xb9\xf3\xd1\x61\x48\x0b\xce\x47\x47\x7b\xf4\xc5\xdd\x9c\xfa\x8f\x03\x53\x7a\xe6\x95\x4e\x26\x54\x3a\x09\x4f\xd4\xf9\x98\x50\xed\x7c\xbc\x6f\xcf\xff\x6c\x38\xc4\x75\xc2\x2f\x5e\x29\x82\x6f\x36\x1c\x1e\x05\x2b\x9a\x0d\x47\x43\xfa\x32\xd2\x58\xf0\xe8\xdd\xcf\x97\x4c\xee\x91\xad\xb6\x8b\x28\xa0\xdf\xd8\x99\xb0\x1d\x92\x55\x76\x48\x56\xd9\x21\x59\xc5\x09\x25\xdc\x93\xc6\x3c\xa1\x64\x38\xc1\xcb\x62\x38\x71\x97\xda\x70\xb2\x4f\x65\xfb\x5e\xd9\x11\x95\x85\x4c\xc5\x10\x61\xab\x7f\x7a\x75\x67\x54\xe6\x84\x82\xe1\x19\x5e\x2a\xc3\xb3\xfd\xb0\xfd\xd9\x21\x95\x7b\xed\x89\x01\x19\x7a\x8c\xc6\x90\x2e\x9a\xe1\x34\xbc\xd4\xe9\x00\xea\x9f\xae\xee\x39\xcd\xf5\xfc\xd8\x2b\xa3\x39\xcd\x42\xa6\x7a\x38\xa3\x7e\x67\x8e\x81\x19\xce\x8e\xa9\xcc\x9b\xd3\x8c\xe6\x54\x13\x4a\x86\x17\x34\xfe\x85\x37\xfe\xc5\x98\xca\xf6\xbc\x32\x9a\xd3\xc5\xa4\xd6\x9e\xfa\xbd\x98\x7a\x75\x69\xae\x17\x0e\x7e\x23\x62\x54\x47\xc3\x70\xfe\x23\x12\x80\x46\x9e\x00\x34\x1a\xed\x51\xd9\x9e\x57\x76\x46\x65\x67\x61\xfb\x31\xae\x7f\x34\x76\x0c\xc0\x68\x4c\x75\xc7\x67\xae\x8c\x98\xa7\xd1\x5e\x28\x14\x8e\xf0\x34\xeb\x9f\x5e\x5d\x64\x14\x47\x9e\xa0\x30\xda\xdf\xa7\xb2\x70\xff\x47\xfb\xd4\x7e\xdf\x1b\x8b\x18\xc0\x91\xc7\xa8\x8e\xf0\x52\x1e\x8e\x0e\x6a\xe3\x1f\xd2\xfc\x0f\xbd\xf9\x1f\xd2\xfc\x0f\xbd\x3e\xa7\x08\xd3\xd1\x34\x64\x8a\x46\x84\x3f\x23\x0f\x7f\x46\xc4\x54\x8e\xce\xbd\xf9\x9f\xd3\xfc\xcf\x6b\xf3\x27\x66\x73\x74\x7e\xe8\xd5\xa5\x35\x79\xf8\x37\x3a\x9f\x50\xd9\xa4\xd6\x7e\x4a\xe5\x6e\xff\xc7\x24\x28\x8e\x0f\xdc\x9e\x8e\x0f\xa9\xec\x30\xdc\xff\x31\x09\xf5\x63\x4f\x00\x1c\x93\x50\x34\xf6\x84\xfa\x31\x32\x1a\xc3\xf1\xf4\xac\xd6\xfe\x9c\xca\x1d\xac\xc7\x04\x93\xb1\x07\x93\x31\xad\x69\x7c\x5e\x6b\x7f\x4e\xed\xcf\xfd\xf6\x17\x54\xe6\xce\xef\x1e\x29\x2f\xf6\x26\xe1\xfc\xf7\x26\x7b\x54\xee\x18\xd8\x3d\x62\xb4\xf7\xa6\x6e\xfd\x7b\x53\xaa\x37\x0d\x95\x22\xfb\x74\x2e\xf6\x3d\x01\x6e\x9f\x14\x15\xfb\xfb\x9e\xa2\x85\x60\xba\x7f\x30\x0a\x2f\xf5\x11\x5d\xe0\xa3\xa1\xbb\xd4\xf1\xfc\x8c\x87\xa3\x43\xaf\xec\x98\xca\x9e\xd4\xda\x4f\xa9\xfc\xdc\x63\x2a\xa8\xcf\xf1\xd8\x2b\xdb\xa7\xb2\xa3\xb0\xfd\x1e\xd5\xdd\xf3\xc6\x47\xa6\x6c\x3c\xdc\xdb\xf3\xca\x0e\xa8\xec\xa0\xd6\x9e\x98\x9a\xbd\x33\xaf\xee\x8c\xca\x3c\xa6\xe6\x88\xc6\x3f\xda\x0f\xdb\x1f\x5d\x50\xb9\xc7\xd4\xa0\x50\x3e\x1e\x3a\x41\x61\x3c\x9c\xd0\x3a\x27\x81\x50\x33\x1e\x0d\x11\x56\x23\xc7\x12\x8c\x47\xc8\x11\xe8\x9f\x5e\xd9\x13\x2a\x0b\xe1\x47\xb4\x6a\xec\xd1\xaa\xf1\x68\x74\x48\x65\x0e\xfe\xa3\x31\xce\x69\x14\x32\xb5\x63\xa2\x5f\xfa\xa7\x57\xf7\x8c\xca\x1c\x4c\x46\x07\x34\xce\x41\xb8\xfe\xd1\x01\xd5\x75\x0a\xac\x31\x09\x15\x63\x8f\x7e\x8c\x47\x47\x54\x76\x54\x9b\xff\x13\x2a\x7f\xf2\xc4\xd5\x3d\x43\x5c\x19\x9d\x79\x65\x48\x53\xc6\x48\x53\xbc\xf6\x48\x57\xc6\x23\x27\xc0\x8e\x47\xa8\x14\xd3\x3f\x6d\xd9\x18\x79\x0c\xfd\x33\x68\x3f\x1e\x8e\xa9\x7c\xcf\xab\x7b\x44\x65\xc7\x5e\xd9\x19\x95\x9d\xd5\xda\x5f\x50\xb9\xdb\xff\x31\xde\x29\xfa\xa7\x57\x76\x40\x65\x21\xfe\x8d\x47\x13\x2a\x9f\x78\x75\xcf\xb1\x6c\xec\x70\x7a\x3c\xde\xa3\xb2\x90\xa9\x1e\x8f\xa9\xdf\xf1\x81\x57\x97\xe6\x3f\x9e\x7a\x65\x33\x2a\x9b\x85\xed\x51\xd8\x18\x8f\xf7\x3c\x58\xa1\x50\x31\x1e\xef\xb9\x33\x39\xc6\x7b\x46\xff\x0c\xdb\xef\x53\xdd\x7d\x6f\xac\x03\x82\xe9\x81\x3b\xbf\x63\xc2\x89\x1a\xfd\x1d\x8f\x0f\x69\xfc\x43\x6f\x7c\x12\x14\xc6\x1e\xfe\x8c\x0f\x69\xfe\x87\xa1\x50\x32\x3e\xa6\xb1\x8e\xbd\xfd\x43\xa1\x7c\x3c\x3e\xf6\xfa\x7c\x42\x70\x7a\x52\x83\x3f\x0a\x15\xfa\xa7\xab\x3b\xa1\xba\x13\x0f\xa6\x67\xb4\xcf\x67\xe1\xf8\x7b\x28\x14\xeb\x9f\xb6\xee\x3e\xad\x75\x7f\xe6\xfa\xdc\x47\x45\xe9\xf8\x60\x3f\xc4\x9f\x83\x03\xac\x7b\xe0\x84\xb2\xf1\xc1\x31\x95\x1d\x3b\x9c\x3a\x78\x82\xe3\x1c\xd4\xe6\x7f\x30\xa1\xba\x8e\xff\x1c\x1f\xe0\x9d\x30\x3e\x70\x77\xc2\xf8\xe0\x8c\xda\x9f\x85\xf8\x73\x80\xfc\xe3\xf8\xe0\xec\xc8\xab\x3b\xa5\x32\xb7\xff\x07\x53\x1a\x67\x1a\xee\xdf\xc1\x94\xda\x3b\x05\xe2\xf8\x60\x4a\x6b\x9d\x9e\x79\x65\xb8\x7f\x07\xe7\xb5\xf6\x33\x9a\xd7\xcc\xc1\xfa\x60\x76\x41\x65\x6e\xfd\x87\x44\x13\x0f\x87\x01\xff\x3a\x3e\x24\xba\x78\x38\x7c\xe2\xd5\x9d\x51\x99\xd7\x7e\x84\x78\x76\x58\x3b\x7f\x87\x74\xff\x1c\x8e\xa6\x5e\x5d\x6a\xef\x84\xc2\xf1\xe1\x3e\xae\xff\x70\x3f\xa4\x1f\x87\x28\x01\xe9\x9f\xae\x2e\xed\xff\xe1\xe1\xc8\x2b\xdb\xa3\xb2\xda\xf8\x28\xa1\x8d\x0f\x0f\x27\x5e\x5d\x9a\xd3\xe1\xb9\x57\x76\x41\x65\x21\xfe\x1d\xed\x21\xad\x38\xf2\xce\xea\xd1\x11\xee\xc9\x91\xbb\x93\xb4\x2c\xd6\x07\x2f\xe1\x50\xa8\xbf\xb8\xb8\x80\xf6\xfa\xa7\x15\x60\x87\xa6\xb2\x5f\x0a\x8e\x1e\xa8\x2c\x18\x62\x39\x0a\x6a\x68\x30\x70\x96\x64\xbc\xd8\x30\x25\x78\x11\xad\xd0\x0c\x8a\xdc\x57\xcb\x15\x66\x9b\xcf\x9c\xc7\x8d\x7d\xf1\x07\xbf\x38\x95\xf3\x48\xf8\x8f\x56\x8d\x28\x46\x62\x29\x8a\x8f\xac\x8a\x14\x9b\xb4\x74\xe2\x9b\x41\x5b\x1f\x26\x1b\x9a\xeb\x75\x51\x89\x70\x1a\x77\x0f\xff\x14\x9f\xda\x6c\x98\xac\x72\x25\x8a\x9b\x44\x79\xe9\x3f\x6f\xa2\x41\xa2\x2e\xa1\x95\xef\xa0\x16\x29\x1b\xa2\x62\x52\xdd\x26\x69\xa2\xe1\x11\xf8\xf9\xcd\x03\x18\x25\x99\x15\x61\x19\xbc\xb5\x9a\x94\x92\xeb\x24\x63\xa7\x6c\xd8\x67\x6b\x7e\xcb\x4e\x59\xfd\x4d\xcc\xc4\x05\xdc\x41\x67\x10\x6c\x11\xdb\x88\xa1\x1a\x4a\x7f\x6a\x34\x7a\x3b\x7c\xf7\x76\xf8\x8e\x7d\xf8\x00\x50\xfc\xaa\xf9\x7d\xcd\x6f\xdf\xbd\x1d\xbd\x6b\x8b\x27\x6a\xfd\x31\xf4\x7c\xbe\x3a\xd5\xf3\x33\xce\x18\xeb\x24\x66\xa7\xec\x05\x2f\x57\x83\x45\x2a\x65\xd1\xed\xea\xc9\x3f\xd6\x33\xef\xb1\x5d\x36\xf6\x1c\xa5\xb6\x8d\x9b\xc4\x30\xae\xf5\xee\xc0\xd5\xeb\x8e\x1f\xb7\x78\xbb\x6c\x59\x1d\xf4\x32\xf4\x7b\x01\xd0\xe9\x5e\x76\x6a\xbd\xd4\x02\x11\xba\xac\x7e\x36\xfc\x60\xb8\x7a\x3f\x32\x5e\xfb\xb6\x02\xa6\x83\x46\xe2\x01\xc8\x3e\xe3\x98\xae\xf8\x8e\x37\xdb\xdf\x17\xfd\xdb\x34\x27\x60\x80\xeb\x4f\xc8\x43\xfc\xfa\xbb\x74\x03\xff\xb7\xa3\xb0\xd5\xa0\xfc\x1c\x14\xb6\x8d\xb6\xa0\xb0\xfb\xfe\xfb\xa2\xb0\x37\xee\x2f\x40\xe1\x5a\x2f\xbf\x39\x0a\x9f\x9b\x0c\x7a\xad\x26\x5c\x2d\x48\xf2\xeb\xa0\xa3\x6d\xf5\xfa\xe1\xa3\x5a\x9c\xd3\xa5\xc6\x68\xa1\x89\x6e\x1a\xa4\x5b\x0d\x27\x0c\x34\x69\x1e\xf5\x0e\xbf\x87\x06\xb6\x36\x74\xda\x88\x6b\xbd\xa5\xed\x79\xa2\x8a\x6d\xcd\x7f\x11\xc4\xad\xc1\xa0\x31\x1c\xd1\xa4\xe5\x5e\xb2\xd1\x48\x95\xf5\x3f\xb9\x51\x4d\xd8\x6c\xbb\x29\x21\xaa\xbf\x26\xa2\x68\xd0\xde\xb4\x1f\x1a\x78\x34\xe1\x14\x82\x67\xb4\x6c\x8a\xb1\xdf\x79\x1a\x10\x90\x3d\x08\x22\x8e\xa7\x16\x1c\x31\x17\xec\x8b\x2f\x18\x7e\x1b\xde\xf2\x61\xaf\xad\x2b\xdf\xa6\xc7\x04\x99\xfd\x2e\x2f\x93\x75\xf2\x37\xcc\xb8\x3e\xb9\x9c\x3e\x7b\xb6\x65\x82\x7f\x82\x51\x82\x6e\x47\xa6\x93\xb3\xfa\xe5\x8f\xf6\x55\x5b\xad\x6a\x06\x21\x6e\x13\xc7\x01\xc0\x0b\x06\x18\x9a\x01\x30\xbb\x2b\x2f\x8a\xe4\x5a\x50\x82\x57\x3d\x27\x32\xe7\xe5\x9e\x2d\xa3\xdc\x6a\x3c\x39\x70\xb4\x63\x44\x81\x32\x1d\xfc\x46\xa3\xe1\x90\x7d\xf1\x05\x12\x1f\x5c\x2f\x16\x1f\x2c\x34\xa0\xfd\x7f\xbb\xbb\x81\x0d\x60\x92\x25\xe5\xc0\xb3\xf8\x23\xfa\x85\x7b\x0a\xc2\xd3\xf8\x89\x21\xec\xa6\x80\xb3\x0f\x1f\xa8\x9e\x9b\xc2\x58\x1c\x0f\xed\x26\xea\x02\xbe\x1f\x2d\xec\x9c\xb0\xc7\xcf\x4e\xe1\x8d\x68\x6f\xd1\x0b\x67\xb5\xbb\x0b\x6e\x1a\x83\xc1\x80\xfd\x47\xd2\xe8\x99\x47\xc3\xb0\xe7\xf8\x88\xef\x61\x0f\x6e\x31\x97\x9b\x34\xd5\xbb\xa6\x1a\xcd\x17\x4f\x6a\xcd\x17\x7c\xb1\xb0\xcd\xf5\xb8\xd3\xc0\xa1\xe5\x99\xf1\x55\x6b\xe9\x4a\x8c\x6a\x5d\x89\xd1\x13\xdb\xd5\x0f\xa2\x80\xec\x31\x60\xec\xd9\xd6\x78\xaf\xde\xf8\xf0\xae\x79\x5c\xb4\xf7\xb2\xa8\xaf\x66\x71\x38\xb4\xbd\x5c\x54\x69\x8a\x34\x61\x5b\x6b\x51\x6f\x2d\x0e\x7b\xad\xdb\x09\xbe\xe3\x7e\xd5\xf1\x62\xb1\x88\x5b\xeb\xee\x35\xea\xee\x41\x5d\xf4\xdc\xa5\x80\x79\x27\x4c\xac\xe5\x4f\x89\x6f\x2c\x58\xa9\x0a\x3c\x37\x8c\xb9\x3b\xb2\xfb\x10\x76\x23\x89\x43\xaf\x9c\x54\xd3\xdd\xe5\x0a\xbb\xf3\xf8\x22\x5c\xac\xca\x45\xc4\x14\xdf\xc0\x79\x5a\x69\x46\x9c\x5d\xa2\x7f\x80\x3e\x76\x71\x0c\x15\x12\xb0\xb5\x55\x36\xc1\x98\x58\x7f\xfd\xcb\x2e\x83\xfa\x25\xe0\x5c\x63\xfe\xd1\x2f\x81\xef\x1f\x70\x03\x04\x04\xce\xbf\xb8\x9b\x74\x6e\x9b\x25\xa3\x9f\x8e\xe0\xc1\x77\xf4\x27\x6c\x89\x0b\x53\xd2\x16\x63\x54\x95\x85\x8d\x71\xfb\xa9\xf0\xac\x07\x42\xb9\x89\x06\xaa\x6c\x72\x3e\x41\x10\x0c\x72\xdc\x2a\xae\xc9\xfe\xf4\xde\x50\x18\x41\x20\x3a\x2f\x14\x14\x84\x36\x30\x7f\x7b\xf1\x0d\x6e\x68\xf8\x3a\x68\x1b\xb1\x8e\xf4\x56\x62\xe5\x3f\x99\x4b\xda\xee\xcb\x0e\xf1\xaf\xc5\x35\x7b\x7c\x8a\x5d\x52\x23\xfd\x77\xb7\x16\x23\x6a\xb1\xd0\xa4\xf3\x6b\x36\x62\x27\x18\x87\xc0\x67\x69\x8b\xeb\x60\xf7\xfe\x2c\x28\x5f\x73\x35\xa7\xc8\x23\x94\x42\x90\x50\x14\x81\x2d\x17\x0b\x25\xca\x1a\xf6\x7a\xfb\x70\xd7\xae\x86\xe1\x52\x96\xa2\xf4\xc6\x5a\x14\x72\x3d\x68\x3d\x6f\x18\x88\x9f\x02\x2e\xa3\x27\x7a\x38\x97\x7a\x5f\xed\xdd\xc8\xbc\x7c\x8f\x40\xdd\x86\x3a\x41\x07\x8f\xda\x42\x2f\xbf\xae\xd7\x72\xd8\x05\xa5\x35\xdc\xa2\x24\x02\x7d\x37\xb6\x97\x8c\x4e\x7f\x81\x88\xc7\x7d\x26\xb2\x98\x7e\xbb\xb1\xc7\x10\x70\xcf\x55\x42\x11\xf0\xc6\x9a\x47\x7b\xed\x6b\xf1\x59\xdc\x07\x17\xa8\x05\xdb\x3d\x6e\x41\xbd\x5a\xa0\x13\xd7\xb8\xd7\xc0\xc5\xaf\xb0\x6b\x83\x8f\xf3\x42\xf0\xab\x20\xf7\x8c\x83\xf0\x67\xa7\xac\xca\xc8\xee\x3f\x48\x8a\x6c\x56\x8a\x49\x72\x2c\x00\xdc\xba\x1e\x59\x1e\xc3\x56\xf5\x97\xa7\x2f\x2d\x3a\x19\xa7\x0e\xaa\x5e\xab\x07\xaf\xd4\x74\xdf\xeb\x39\xf8\x3f\x7e\xdc\xb2\x68\xb7\x77\x8f\xc2\x89\x99\x90\x19\x26\x19\x75\x59\x0c\x2c\x6e\x74\xdb\xb6\xb7\x57\x3f\x80\xae\x89\x0f\xf8\xc6\xa1\xdc\x72\x20\xf1\x5c\xa0\x93\x4d\x1c\x1e\x89\xdf\xff\x10\xb6\xb7\xd2\x13\x7b\x0d\x61\x50\xe3\xd6\x16\x9f\x74\xc8\x6a\x59\x2c\xfd\x73\x26\xb2\x38\x08\x6c\x15\xb4\xab\xd7\x64\x3b\x84\xd0\x00\x70\x5d\xb5\x10\x18\x12\x64\xc0\xe3\xb8\xdb\xa1\xc0\x24\xd1\x8a\x67\x4b\x91\xca\xe5\x2e\xb9\x82\x75\xfa\xac\x53\x8a\xdb\x72\x37\x4f\x79\x92\x75\xfa\x8f\x3a\xa3\xc1\xe8\xb0\xc3\x1e\x3f\xea\x74\x1e\xf5\x28\x33\xe7\x3d\x5d\xc5\xbc\x14\xcd\x7e\xc6\xc3\xd1\xd1\xce\xf0\x78\x27\xe8\xad\x1e\x2f\x65\xa5\xef\xd8\xdd\x9f\xd4\x2e\xfc\xf2\xcf\x1e\x9d\x19\x60\x55\xc6\x22\x07\x20\x0d\x2e\x4b\x59\xf0\xa5\x80\xa4\xf7\x74\x02\xfe\x4d\x37\xd4\xe3\x5f\x27\xe2\x86\x9d\x8b\x28\xe5\x05\xb9\xcd\x21\x04\xbe\x84\xb4\x05\xc8\x8b\x62\xe8\xfc\xb5\x60\x73\xae\x92\x88\xa9\x15\x2f\x44\xcc\x2a\xc8\x76\x93\x98\x1c\x00\xbc\x44\x2f\x21\x29\x99\x5a\x83\x9b\xbf\x64\x31\x42\x82\xc5\x02\xb3\x12\xc6\x30\x5f\xca\x65\xab\xe9\x35\x8c\x65\x1d\x61\x9c\x67\x1f\x64\xe1\x00\xef\xeb\x2c\x96\x37\x6c\x25\xd1\xa5\x1a\xa7\x56\x0b\x5f\xa2\x2f\x2b\xae\x58\xae\x8f\x92\x5c\x50\x1d\x2d\xd0\x75\x7b\x03\xe6\x25\x2a\xd2\xb5\xb3\x6b\x9e\x26\x31\xab\xb2\x32\x01\xa7\x61\x88\x79\xc0\xd3\xe4\x6f\x36\x82\x0a\x66\xa6\xc5\x19\x62\x57\x38\x87\xd7\x7a\x46\x36\xdd\xa3\x89\x76\xcf\x0b\x90\x57\xbd\x58\xed\xe4\xd9\xee\x52\x5f\x50\xc4\x02\x08\xa1\x67\x42\x5a\xff\x4d\xca\xb5\xef\x1b\x45\x2b\xfa\x0f\x59\xc1\x7e\x9b\xc8\xd8\x90\x21\xa3\x5c\xd9\xf4\xea\x2c\x95\x91\x9e\xac\xb0\x99\xd0\xfd\x79\xea\x4e\x69\x42\x2e\xab\x66\xe7\x3f\xbf\xfb\xee\x85\xbe\x39\x46\xc3\xe1\xff\xf2\xa2\xe6\x9c\x15\x89\x58\x30\xb4\x56\xdb\xd8\xf9\x5b\xb7\x7c\x9c\xae\x3e\x47\x7a\x9a\x91\xcc\x29\x7c\x05\x70\xa0\x69\x92\xcf\x25\x2f\xec\xb4\xcf\x36\x2c\x16\x0b\x5e\xa5\x90\xd8\x87\x3c\xe8\x0d\x27\x7f\xf6\x7c\x32\xfd\x96\x5d\x4e\x9f\x5d\x5e\x7e\xf7\xfd\xa5\xe7\x9f\x0b\xce\xb9\x1b\x5c\x31\x79\x2f\xff\x8c\x45\xfb\x08\x00\x8e\xc0\xf5\xa9\xaf\x04\xeb\x20\x78\x77\xec\x84\x77\x32\x59\x26\x91\xe8\x78\x51\x1d\x00\x09\x82\x8d\x30\xe0\xd4\x75\x17\x1b\x4d\x02\x3c\x68\xfe\xa5\x1a\x1f\x0d\xc7\x1a\x8e\x16\x5b\x35\x8c\xd4\x4a\x4f\x34\xc9\x18\xd7\x28\x7f\x55\xca\x9c\x41\x73\x8a\xc6\x62\xfd\x9f\x0d\x36\x80\x6f\xb2\x48\xd3\x01\x63\x7f\xa9\xc6\xe3\x43\x0c\xa6\x68\x61\x36\x7b\xf6\xe7\x6f\x5e\x7f\xc3\x5e\x7e\xf7\x7a\xd6\x67\xff\xab\x5b\x26\x65\x2a\x7a\xb5\xc4\x97\x1a\x56\x36\x80\x88\xc5\x32\xa8\xea\xaf\x82\xa6\xf3\xd2\x9b\xcd\x6b\x5d\x87\x16\x73\x78\x38\x71\x03\xe0\xdf\x1e\x92\x3c\x27\xc3\x46\x08\xef\x48\x67\x15\xdc\x77\x21\xa1\xb9\x95\xe5\x26\x58\xb8\xe2\x45\x26\x94\xf5\x49\xa7\x44\xce\x26\x65\xf6\x06\xdc\xf6\x30\x9c\x0b\x65\xf7\x2c\xaa\x2c\xb3\x97\x11\x4e\x57\x77\x74\x2e\x72\xb0\x60\xec\x60\xd1\x65\x54\xc8\x34\x7d\x25\x0b\x4c\x9f\xa7\x34\x81\xb7\x5f\x84\xc8\x4c\xe9\x23\xd6\xf8\x47\xf5\x5e\x13\x74\xea\xed\x7f\x78\x7d\x7f\xdb\x1f\x5e\x0f\xa6\x3c\xcb\x44\x8c\x35\xdf\x85\x64\x0a\x41\xa2\x89\x88\xbd\x39\xfb\xac\x10\xcb\x44\x41\x3a\x5c\x44\x64\xbc\xb8\xb0\xec\x19\x92\xa5\x1a\x02\x53\xfe\x92\xb8\x82\x5b\x58\xd7\x4f\x82\x7a\x86\x03\x30\x63\x7c\x64\x32\xd3\x3d\xa1\x13\xb4\x79\xe9\x71\xed\xd8\x0d\x78\xad\x56\x10\xed\x21\xc9\xae\xe5\x95\x80\x53\x61\x9e\x0c\x6b\x54\x0f\x4e\xb8\x4b\xf6\xb9\xfb\xa8\x31\x63\x04\x46\xa7\xef\x65\x93\x80\x09\x20\x5b\x60\x67\x20\xb3\x1f\x81\x56\x76\x91\x64\x1a\x1e\xb5\x85\x8c\xe2\x1f\x03\x4d\xe6\x91\xdd\xf3\x12\x74\x62\xd7\x7d\x36\x74\x9c\x9d\x37\xc2\x6b\x3e\xef\x96\x7c\x1e\x24\x4b\xe3\x73\xe4\x60\xa1\xcf\x48\xdf\xce\xc2\x8b\x6d\x08\x7f\xd3\xf0\x90\x79\x47\x37\xa0\xbf\x9f\xc5\x7d\x20\xe9\x7d\x3b\xf7\xf6\xa4\x60\x26\xdd\x41\xb1\x4c\xb2\x98\xf7\x4e\xec\xd6\x41\x68\x27\x76\x03\xcc\x18\xab\x72\xf4\xaf\x67\xd7\x23\xc6\xf3\xbc\xa3\x20\x60\xcc\xb2\x80\x8b\x3b\x47\xca\x65\xba\x7b\xc1\x37\x73\xc1\x02\xa0\x74\x32\x99\x89\x0e\x85\xfc\x98\x53\xc2\x58\x2f\xbe\x0b\xa4\xd8\xb5\xe1\x0a\x4c\x5f\x2d\xd0\xed\x64\x10\x7f\xc2\xc6\x90\xdd\x0a\xdc\x5a\x4a\xb3\xcf\x0c\xcd\x00\x62\x4e\x5c\x83\x0f\xe9\x00\xc4\x10\x0e\x12\x81\xab\xb0\x6a\xb3\x64\xa0\x36\x59\xe4\xf6\xa2\xad\x7f\xca\x10\xee\xf1\x29\x03\x60\xb0\x44\xb7\xad\xab\xd6\xdd\x79\x60\xb7\xcf\xf5\x45\xd2\xad\x2f\x9c\x92\x21\xd0\x60\x25\x9f\x2b\x93\xb0\x22\x93\x9a\xd2\xe5\x14\x45\x2e\xc9\x18\x05\x77\x83\x34\xdc\x8a\xa2\x2d\x88\x52\x44\x25\xbe\xad\x62\x67\x1b\x59\x75\x20\x68\x85\x5f\x1b\xe9\x7b\x9a\x94\x9a\xf4\xf2\x1b\x08\x22\x64\x5e\xd3\x13\xf5\x8a\x6a\x4e\xf2\xdc\x39\xd2\xde\x0d\xf1\x42\xb3\x30\x6d\x25\x1a\xc1\x5f\xf0\x2c\x59\x08\x55\xfa\xaa\x94\x35\x95\xb1\xd3\x3b\x1a\x18\xe0\xd4\xa7\x64\x1a\x0f\xf4\x52\xbe\xf8\x22\xf8\x7b\xe0\x70\x3c\x90\x5b\x83\x3e\xbc\xd8\xa6\xaf\x7c\x20\x02\xcb\x08\xd1\x6d\xbc\x0b\x3c\x71\x8c\x92\xde\x8e\x41\x93\x40\xe0\x51\xc5\xd4\xbd\x78\x7c\xff\xae\x49\xc9\x09\xeb\xe4\x32\xaf\xf2\xce\xc7\x9e\x25\x1f\x3e\xa6\xdc\x05\x50\x3d\x52\x90\xc5\x50\x23\xc5\x52\x94\x53\x4a\xd6\x81\x79\xa5\x74\x09\xf2\x37\x9a\xe8\xc0\xdd\x96\x28\xf6\x39\x65\xf4\x48\x37\xe6\x4e\xfb\x1c\x13\xc2\x41\x60\x17\xd3\x61\x29\xf3\xb5\xd4\x17\x6a\xc1\x16\x32\xc2\x0c\x6a\x7c\x3e\x08\xc9\x14\x2c\xd8\x0d\xdb\x05\x82\xd7\x8e\xf5\x0f\x84\x08\xd1\x02\x07\x12\x83\xfb\x1f\x7b\x8d\x44\x62\xb1\x88\x92\x35\x4f\xd9\xdf\x8d\xda\x6e\x25\x40\xfc\xf9\x48\x74\x0d\x45\xe4\x58\xae\x31\x6a\xa2\x77\x71\xeb\x29\xa7\x89\xc8\xca\xcb\xe4\x6f\x81\xd5\x49\x2c\xd7\x81\xf0\x18\x4b\xa8\x0c\x41\xda\x93\x6c\x89\x8d\xbe\x17\x11\xe0\x5e\x33\xb5\x99\x99\x91\x17\x30\xe9\x21\xb3\x68\xe8\x24\x7f\xc6\x34\x06\xa4\xfd\xd8\x3e\x19\x82\xca\x83\x67\xf3\x0d\xd6\xff\xc4\xe9\xe0\x68\x61\xa2\x60\x99\x6f\x6a\xa9\x64\x52\x61\x53\x8e\x82\xd6\x6d\xa3\x4a\xb1\x6e\xf2\xea\x86\x95\xf8\xe6\xf5\x8b\xe7\xe7\x32\x82\xe4\x4f\x14\x0b\x9b\xfe\x72\xa9\x78\x82\x4e\x23\x99\x6f\xfc\xc5\xe9\xbf\x2f\x4d\x85\xd7\x72\x6a\x06\x0a\x57\x89\x5d\xd6\x13\x9c\x99\xf2\x81\xb8\x15\xd1\x54\xae\xd7\x3c\x8b\xbb\x1d\xdd\x63\x27\xcc\x75\xb6\x48\x0a\xb1\x90\xb7\x33\x93\xe0\xc9\x23\x23\xcf\x96\x19\xe6\x53\x4f\xd4\x80\x5d\x5c\xb4\x65\xad\x23\xab\x12\x7d\x3f\x73\xfc\x52\x14\xb2\xa0\x20\x62\xf6\x25\x05\xcf\xa6\x5e\xae\x7d\x3e\xf9\x09\x33\xdd\x3b\x0b\x85\x41\xfd\xcd\xfc\x15\x57\xa5\x68\x05\x34\x06\xc8\x80\x2c\x35\x18\x29\x02\xe1\x09\x27\xde\x6c\xc2\x4b\x59\x8a\x13\xf6\x2c\x43\x4d\x82\xd8\xbd\xc0\x65\x6a\x8a\xb8\x2b\x6e\x4b\x91\x41\x88\x1f\x91\x5d\x27\x85\xcc\x20\x3d\x17\x64\x7b\xef\xa4\x29\xc6\xf8\xa6\x78\x51\x9f\xdb\x41\xbf\x17\x3c\xfe\x9c\xe5\x36\x3c\xd0\x80\xe9\xde\x31\x39\x6a\xd8\x0d\xe6\xc8\x03\x74\xe4\xe9\x0d\xdf\x80\xf0\x0e\xa9\xc2\x28\x50\x9c\xa1\xbc\x0b\x48\xcc\x0e\x34\x6d\x9e\xca\xe8\x4a\x31\x1e\x45\x9a\xbd\xd7\x58\xaf\x44\x54\x15\x49\xb9\x61\x85\xe0\xca\x8b\xa6\xf6\x00\xec\x2a\x25\xcb\x01\x78\x1a\x4e\x83\xfb\x4d\x82\xb0\xb2\xaa\xa2\x48\x88\x38\x94\xd0\xe0\xd3\x45\x21\xd7\x3f\x0b\xf9\xec\x89\x6b\xc3\x41\xe8\xf2\x13\x91\x50\x63\xe1\xfe\x10\xb8\x02\x99\xc6\xa2\x20\x46\x2e\xc9\x22\x59\x14\x02\xb2\x4a\x53\xfe\xb2\x10\x47\x3d\x1c\xac\xa1\x2a\xc4\x63\x13\x3c\xd6\x32\x18\x4e\x1b\xd4\x89\x06\x23\x9b\x36\x44\x01\x8e\x4e\x0b\x81\xc1\xe6\x34\x1f\xe4\x8b\xa3\xf5\xdd\xfa\x0e\x32\xd2\x7e\x64\xf0\xa7\x62\x3f\xf0\x22\x91\x95\xc2\x3f\x05\x3c\x3c\x1a\xf9\xb5\xde\x4b\x43\x15\x8a\x5d\x0c\x40\xa0\x44\x45\x0e\xfc\xd6\x25\xde\x4c\x19\xf2\x84\xb7\x70\x47\xe1\xf7\xde\x5d\x7d\xcd\x65\xbc\xc1\x1c\xac\x24\x86\x43\x41\x77\xcd\x13\x54\x50\xf4\x9a\x42\xbb\x8f\x06\xd8\x8b\x7b\x21\x88\xc5\x82\x9d\xb2\xae\x26\x9c\x7d\x0d\xb8\x54\xb3\x2f\x3d\x76\xfa\x15\xd0\x52\xc8\x40\x6b\x95\xec\xec\x6b\x2c\x3c\xb1\x15\x0d\x5b\x46\xa0\x3a\x0d\x6a\x7f\xf8\xc0\xbc\x72\x7d\x0b\xa3\x72\xdb\x14\xa2\x96\x0b\xb9\x7f\x51\x2c\x91\x7e\x54\x4a\x14\x1d\x45\x01\x07\xbd\x3c\x68\x46\xa3\xa2\x30\xb4\x9a\xc6\xaf\x1f\x05\xa5\x91\x28\xf9\x95\x60\x49\x89\x5d\xc5\x09\x21\x57\x92\xc1\xc3\x2e\x28\x50\xb8\x62\xaa\xac\x16\x0b\x23\x83\x6a\x7c\x53\x9a\xb0\x65\x57\x86\xed\xc4\x84\xae\x30\x2d\x62\x28\x3a\x1a\xb2\x9d\x13\x1f\xf0\x46\x32\xee\x24\x91\xcc\x3a\x27\x7a\x56\xb4\xf6\x81\x2e\xe9\xb3\x40\x2b\xbb\x14\xe5\x39\x2f\xf9\x9b\x22\x25\x89\x71\x37\x59\xf3\xa5\x50\xbb\xba\xee\xce\x93\xc3\x4e\x0f\x72\x77\x7c\x34\xd9\x55\x4b\xd2\x44\x78\xbd\x42\x51\xdf\xc8\x72\xf6\x90\x22\x9a\x18\xe8\x7f\x86\x7f\xc2\xdc\x4c\x1f\x24\xa2\xea\x2a\xa6\x48\xcf\x6d\x31\x20\x5d\xc9\x0f\xbc\x50\xdd\xbb\x75\x22\x7d\xf6\xf7\x0e\xb4\xed\x9c\x60\x1f\x1f\x7b\x2e\x11\x2c\xc9\x13\x7e\xa3\x2e\x4d\x96\x20\x09\xd3\xcb\x06\x32\x8b\xd2\x24\xba\x6a\x66\x86\x63\x66\x55\x70\x17\x18\x56\x1b\x33\xdc\xa4\x52\x09\xca\xf3\xf9\xd4\x71\x05\x59\xed\xd2\xcf\x54\x59\x54\x51\x09\x0c\xa4\x66\x3d\x48\x0d\xa2\x39\xae\x42\x44\xd2\xdd\xf2\xcf\x28\x8e\xa3\xb2\xaa\x67\x08\x4e\x89\x31\x8e\xf2\x6a\x9e\x26\x91\x26\xdd\xf1\xee\x0d\xa4\xeb\x5c\x8b\xf5\xdc\x1c\x73\x17\x85\x13\xf9\x8e\xad\x0f\xf6\xee\xd5\xcf\x7b\xee\x4b\x94\x37\x93\x66\x1b\x62\x9c\x40\x75\x82\xbf\x36\x5b\x99\xa3\x5c\x67\x24\x03\x8e\xd4\x4b\xc8\x68\x5e\xb9\xec\x9b\x15\x94\xae\x0c\xcb\xd5\xc2\x3d\x4d\x62\xb8\xe0\x5d\xfc\x57\xb7\xda\x96\xf9\xdc\xb3\x78\x8d\x14\x9f\x04\x00\xdd\xf0\x41\x40\xf0\x52\xbe\x15\x42\xfd\x66\x50\x21\x1e\x97\x03\xa7\xb7\x0d\x0e\xe6\xaa\x76\xb3\xfb\xc8\x26\xb8\x14\xb7\x69\x36\x8a\xa8\xe3\x24\xf9\xda\x83\x35\xc4\x4a\xb4\xc8\xb5\x65\xa9\x51\x2a\x33\xd1\x3c\x44\xe6\x64\x04\x23\x76\xdd\x92\xfb\xfe\x42\x43\x89\xe2\x92\x5e\xe2\x09\x08\x18\xf9\xd0\xdf\x38\x3b\x6f\x1b\xc8\xd9\x24\x98\xf7\x66\x58\xc3\x08\x1f\x10\x20\x0e\x42\x08\x79\x4a\xf1\x8e\x5c\xb3\x7d\xff\xdb\xb2\x52\x2d\xc7\x49\x7f\xa5\xba\x9f\x96\xad\xd4\xc5\x83\x2d\xfb\x09\xdf\x5a\x36\x15\xac\x17\x93\x45\xcb\x42\xdc\x6a\x13\x45\xd1\xca\xe1\x6e\x06\x7d\xfa\x03\x97\xb9\xad\xcb\x7b\xd8\xba\xb9\x2c\x57\xb6\x2e\x11\xa5\x10\x4b\x76\x71\x29\xfd\x3b\x3d\x1d\x5a\x81\x09\x2b\x51\xed\xd0\x34\xd6\xc8\x1e\x50\x7d\xa8\xb2\x2f\xbe\x08\xa1\xba\x1d\xac\xf6\xac\xd0\xc3\xa9\x8d\xbc\xca\x4b\x3f\xe1\x8e\x0f\x8f\xd6\x47\x59\x9b\x74\x1a\x35\x09\x98\x4c\x3d\xa1\x77\xb8\x6d\xb4\xc9\x69\x71\x5d\xef\x5b\xa0\x51\xca\xcb\xc6\xcb\x6e\x00\x8b\xce\x5b\xd7\xce\x4b\x4f\x4e\xef\xfd\xac\xd3\x77\x65\x34\x09\x48\x78\xfe\xa0\x7b\xe9\x7b\x79\x33\x95\xe9\xaf\x77\x33\x21\xeb\x6c\xde\xe4\x03\x1d\x3a\xf6\x81\x11\x02\x05\xf0\xcf\x1d\x79\x2d\x8a\x45\x2a\x6f\x3a\x6c\x9e\x98\x48\xe2\x98\xf3\x1c\x95\xe2\xf8\x20\x49\xef\x96\xa0\x19\x37\x01\xde\x57\x5c\xb1\xb9\x10\x19\x5b\xf3\x18\x2a\xaf\x25\x21\x28\x85\xb4\xa7\x07\x77\x93\xce\x18\x5f\xe2\xc9\xdc\x45\x77\xa4\xf0\x5d\x82\x99\x8c\xb8\x89\xb2\xd9\x93\x6e\x04\x4b\x05\x6f\xed\x8e\x6c\x6e\x20\xc9\x33\x57\x25\x15\x3f\xb2\xb1\xa1\xa9\x5b\x78\x36\x53\x44\xca\xcc\x22\xf5\x1a\x51\xe6\xc3\x77\x66\x88\x32\x4d\xdd\xeb\xd9\x6b\x1e\x0a\xa8\x2e\x4d\x03\x75\x42\xe9\x06\x1f\xe1\x78\xb6\xb1\x8b\xd7\xe2\x59\x91\x64\x25\x50\x58\xcf\xf4\x30\xe2\x94\x2d\x3e\x2a\x76\x53\x88\xfa\x08\x51\xf1\xb7\x5e\x90\x7a\xb3\x34\x8d\xd0\x3f\x1f\x72\x31\x12\x10\x3c\x23\xa2\x3b\x5a\x59\x8a\x22\xf3\xf2\xbd\x85\x81\xcd\x9c\x4d\x9f\xcd\x26\xdb\xf3\xa5\x21\x86\x48\x69\x8e\x90\xde\x6a\xd3\x3e\x94\x2d\x09\x79\xbd\x73\x53\xc8\x9b\x3e\xcd\xad\x1f\x0c\xec\x91\x6a\xbd\xda\x53\xbd\xe6\xa7\x2e\xf7\x2e\x2c\xe6\x94\x5a\xda\x72\x3b\xeb\x53\xf6\xd9\x67\x7e\x6f\xdb\x38\x95\x10\xfb\x1f\xca\xa7\x98\x6d\xd0\xbb\xf9\x09\x5b\x01\x48\xf0\x8f\xb3\x1d\x1e\x65\x83\x33\xf9\x3f\xbc\x3b\x9f\xc0\x31\xe1\x3a\x42\x9e\x89\x50\x6d\x0b\xd7\x44\xfb\x0e\x0e\x4f\x96\xf0\x6d\x05\xcb\x43\xb9\x26\x6c\xd8\x35\x60\xe9\xfb\xe0\xe8\x87\x30\x68\x67\xa2\xb6\xa0\xe3\x7d\x2c\x14\x4d\xb8\x95\xbb\x30\xb0\x79\x28\x1b\xd5\x58\xfc\x7d\x8c\x14\xee\x3f\xdc\xe9\xad\x48\x00\x5f\xb6\x63\x02\x7c\x6e\x45\x84\x76\x2e\xab\xbe\xaf\x0f\xe7\xb3\x9a\x90\xd8\xde\xed\x2f\xe1\xb5\x0a\x79\xb3\x6b\xf6\xfc\x7e\x4e\xab\x01\xef\x07\xf0\x5a\x5d\x07\x78\x07\x79\xcb\x68\x19\xc8\x07\xa0\xf7\x9c\x25\x58\x63\x13\x6a\xbb\xd0\xfa\x64\xf0\xdb\x72\x65\xed\x88\x7f\x17\x4f\xd6\x80\xdb\xbd\x5c\x59\xd7\xb0\x65\xd8\xd4\x63\xcc\xf4\xe8\x21\x5b\x46\xf3\x30\x85\x5b\x41\x07\x7c\x5b\xaf\x35\x57\x58\x68\xfb\xf6\x7e\x51\xf0\xb5\xf8\x17\xb3\x80\x5b\xf8\xb6\x6f\x17\x90\xcf\x27\x2e\xf8\xc2\x5a\x5c\x83\x9f\xf3\x82\x47\x2e\x8f\x68\x60\x56\xa3\x37\x9c\x33\x48\xa6\x06\x76\x66\x1b\x16\x27\x3c\x95\xcb\xba\x21\x07\xa4\xa8\xd7\x8c\x58\xd9\xa1\x57\x04\xbf\x9b\x9d\xaf\xb0\x15\x4b\xf9\x46\x14\x03\xc6\x5e\x4b\x6b\x78\xc1\xe0\x4d\x1f\x73\x1f\x88\x4e\x9a\x62\xda\x02\xca\xe8\x19\xa1\x7a\x7a\xe7\x2b\x3b\x21\xdb\x83\x06\x10\x84\x91\xc7\x93\x2d\xd9\x82\x47\x49\x9a\x68\x06\x10\xaf\x8c\x5a\x4b\x3b\x07\x59\x90\xe6\xd0\xd5\xa1\x2f\xfa\xef\x2a\xab\xe9\x8a\x9f\xb1\x64\xcd\x97\xe8\x84\x60\x19\x6e\x18\x18\xcd\x2f\x99\x4a\x96\x19\x68\xc6\xe0\xc9\x80\x6c\xb0\x5c\xde\xd0\x41\x10\xbc\xdf\x8a\x0c\xa4\x9d\x06\x94\xb3\x5a\x66\x7c\x51\x33\x33\xae\x91\x48\x0b\x82\xbf\x87\xc6\x3d\xf8\xcc\x90\x73\x78\x0e\xb3\x95\xf0\x0a\xf1\xb9\x95\xaa\x48\xc3\xfc\xa1\xba\xa0\x94\x2c\x95\xdc\xa2\x16\x9e\x00\xaf\x11\xb0\x00\xa4\x2f\xb5\xea\x72\xcb\xe0\x98\x2f\x66\xfe\xd8\x9c\x41\x02\x0f\x1b\x30\x3c\xe4\x67\x2e\x60\xc1\x3e\xe5\xa4\x19\xf7\xf5\x7c\xfa\xfe\x80\xde\x05\x66\x2a\xbd\xd7\xb7\x11\xfd\x6e\x6f\xaa\x38\xb9\xf6\xcb\xe1\x6f\xfb\x51\x2f\xf2\x54\x77\xed\x2e\x36\xab\xfe\xf5\x17\xf7\xe1\x03\x28\xa9\xa9\x4e\x02\x2b\x79\x6f\xcd\x1e\xed\x85\x89\x09\x5e\x8b\xc6\x17\x52\xd1\x4f\x57\x3c\xcb\x44\xea\x3e\x7b\x44\xfa\x1b\x4c\x3c\x4b\x35\xbd\x74\x75\x89\x85\x7a\x00\x24\x8f\x6e\xca\x8c\x2c\xf1\xde\xfb\x90\x23\x03\x15\x75\x93\xc0\x6b\x8d\x18\x40\x56\xe3\x8c\x3b\x1b\x20\xd0\x8a\x77\x92\x3c\xda\x49\xb2\xa4\xdc\x91\x57\x9d\x13\xf7\x2a\xff\x23\xbc\xf2\x1b\xd6\x4d\xe5\x52\xd3\x1d\xbe\x00\x37\x57\x48\xb3\x03\x12\xde\x9a\x99\xe6\x40\x0b\xc0\x9e\x6d\x91\x64\x89\x5a\x99\xf7\x7b\x58\xbf\xae\x6e\x10\xf2\x59\xb6\x90\xef\xbb\xbd\xa7\x81\xa3\xc9\x53\x6f\x42\xf6\x48\x26\xd9\x42\x7e\xe2\xac\x82\x3e\xb6\x4d\x4d\xd3\xfb\x95\xbc\x41\xdc\x84\x2f\x90\x14\x91\xaf\x45\xdf\x34\xc9\x58\x21\xe6\x89\x96\x62\xab\xc2\x3e\xb4\x60\x8e\xe0\x82\xa4\x52\xd7\x59\x44\x8f\x21\x6c\x2e\x52\x79\x13\x00\xc0\xa1\xc6\x00\x28\xf9\xc0\x98\xc3\x9e\xb2\xce\x22\x15\xb7\xd6\x24\xa9\x0d\x5d\x06\xb9\x2c\xca\xd1\x40\x66\x6b\x6b\x70\x89\xa8\x6a\xf6\x1d\xcd\x1b\x74\x59\x2f\xe8\x47\x66\xcf\x25\x8f\xdb\x61\x4d\xef\x28\x06\xb6\xe0\xe2\x99\x8a\x41\x2a\x97\xdd\xce\x9b\x0c\x2d\x1b\xcd\x78\x80\x8b\x00\x98\x93\x4e\x9f\x21\x26\xb5\x74\x1a\xbe\xb2\xc1\x53\xbd\x62\x11\x3c\xf6\xe9\xfb\xac\xc0\x34\xc7\x89\xea\xb3\x67\x6c\x59\x09\x65\x9f\x47\x9f\x95\x90\x0b\x2a\xeb\x58\xbb\x22\xcc\x25\x9e\xc3\x95\xa7\x4a\x91\x41\x3e\x02\x2d\x93\x3f\xeb\xac\xc9\xfe\xc8\xd8\x50\xe2\x6b\x62\x98\xfc\x69\x25\x0a\x61\xae\x9b\xbc\x90\x73\x3e\x4f\x21\x3f\x60\x89\xbb\xa6\x72\xc1\xaf\xdc\x03\x51\x29\x61\x7b\x91\x46\xaa\x07\x9d\xb4\x1a\x8b\xd2\x3c\xc7\x78\x6a\x19\xee\x00\xe6\x82\xbe\xbb\x63\x5d\xef\x7d\x93\xf3\xd9\x46\x3e\xc4\x0d\x7b\x11\x94\xe2\x2e\x7f\x12\xfa\xbc\xaf\xe1\xcf\x1d\x9d\x80\x0b\x83\x37\x14\x51\xc2\x01\x65\x3c\x22\x6b\x9b\x5c\xaa\x92\xfa\x36\xa9\xec\xff\xae\x09\xcf\x89\xa3\x36\x9d\x3e\xe3\xc5\xf2\xfa\x84\xbd\xfd\x3b\x8d\xf4\x4a\x16\xe5\xc9\xf6\xb1\xc7\x1f\xdf\x7d\xec\xfb\xc8\x0d\xf7\xc1\xdb\xed\xf5\xdf\x85\x4c\xb0\xc1\xc7\x35\xdf\x84\xd8\x78\xff\xb6\x6c\xdf\xec\x4b\xc8\x8b\x17\xf0\x32\x40\x70\x3c\xbb\xf7\x87\x91\xf0\x06\x81\x6c\x62\x02\xbe\xda\x2d\x45\x39\x89\x22\x91\x97\xcf\x79\xb6\xac\xf4\x4d\xd1\xb5\xf5\x52\x53\xe4\xec\xb5\x60\x81\xfe\x76\x84\xd4\xb5\xd3\x67\x6f\xbd\xec\xcd\x3c\xec\xf9\x84\xd9\x1e\x3d\x4b\xe0\x85\x2c\x04\x9a\xb5\x4d\x65\x2a\x8b\x93\xda\x15\xac\x67\x78\x11\x56\xe9\xf6\xbc\xe6\xce\x2a\x6e\x6b\xf3\xb3\xb0\x4a\xd0\x1c\x95\x77\x5b\x9b\x4e\xdd\xe7\xa0\xd9\x42\xa2\x05\x56\xfb\x6c\xf1\x5b\xa3\xc1\x05\x5f\x27\xe9\x66\x5b\x13\xfc\x5a\x5b\x9b\x12\x6f\xbe\x7f\x7e\xe2\xf6\xea\xcd\xf7\xcf\xbb\x9d\xdd\x4e\xcf\x13\x3f\x3e\xbe\xb3\x7f\x18\xb3\x33\xef\xfc\x85\x48\xfb\x46\x89\x82\xc1\xb3\x29\x29\x54\xe1\x41\x54\x13\xc2\x12\x8c\x7e\x1d\x5b\x05\xd9\xfa\x0b\xcb\x9a\x6e\x47\xe8\xa9\xee\x61\x8a\x5d\x6e\xa3\x37\xf6\xd9\x35\x38\x3f\x52\x11\x93\x7b\x2f\x36\xe3\x2c\x1b\x7d\xe3\x13\x75\x8d\x53\xfa\xf0\x81\xd5\xcb\x06\x48\x89\x5f\xca\x58\xf4\x6a\x97\x4c\x93\xd5\xf2\x2a\x0f\x0a\xb1\x96\xd7\x62\xba\x4a\x52\x84\xa6\x57\xcd\x91\x2c\x02\x81\x59\xde\x2f\xa4\x0f\xd3\x96\xa5\xd6\x08\x04\xe3\x3f\x9f\x1e\x78\x47\xd6\xef\x3c\x43\xde\xa4\x58\x5e\xd7\x21\x5a\x23\x81\x64\x03\x00\x66\x35\xfa\xae\x98\x15\x85\x2c\xba\x1d\xd3\x65\x84\xd5\xac\x31\xaf\x28\x59\x95\x0f\x3a\x3d\x07\xe0\x76\xf2\xef\x53\x12\xa2\xe8\x6e\x4a\x27\xf0\xff\xc7\x9a\x5e\xcc\x30\x58\x6f\x9e\x91\x1c\xe0\x23\x90\xf1\x17\xa0\xdb\x52\x15\x91\x99\x92\x16\x3b\x04\x39\x24\x91\x71\x16\x1a\x9a\x5a\xb7\x80\x3b\xc9\xe9\x0a\x34\x53\x35\xfc\x03\x47\x58\x91\x2e\xe8\x02\x7c\x1a\x5a\xd0\xe7\x25\x81\x97\x38\xa3\x1f\x78\x5a\x05\x46\xde\xfa\xab\x96\x84\x74\x17\x46\x4c\xa8\xb9\x4b\xfb\x9f\xde\xea\xfa\xef\x9e\x3e\x0a\x8c\xab\xbc\xae\x9f\xfa\x16\x1f\xf5\x69\x81\xf9\x7e\xed\xa4\x38\xed\x50\xdb\x41\x31\x3c\x3d\xf1\x71\x02\x37\x1c\xe5\x29\x9e\x16\x82\xc7\x1b\x76\x9d\xa8\x64\x9e\x92\x1d\x57\xc8\xb9\xd1\x3c\x56\x82\xc7\xa2\xb0\x76\x99\x9d\xd1\x61\xae\x79\x53\x63\x23\x94\x5c\x93\xf5\x41\x8b\x71\x6b\xd7\x4a\x5b\xce\x3a\xc4\x3c\xd1\x6a\xe0\x76\xe0\x8f\x4e\x9f\x1d\xee\xa3\xbd\x2d\x8e\x47\x23\x41\x0d\xfc\xab\xd3\x67\xfb\xc7\xae\x4a\x8a\x79\xe6\xbb\x34\x38\xbd\xc1\xed\x30\xf2\x70\xde\x45\x4f\x73\x30\x9b\x91\xb9\x5f\x91\xfa\xde\xb1\x46\x00\x50\xd5\x2c\xc5\xd8\xdd\x9d\xd6\xc9\xbb\xf9\xf2\xde\xd6\xb5\x00\x37\x95\x03\x41\xcf\xda\xe2\x44\x60\x57\x36\x43\xb1\xb6\xdb\x89\x93\x6b\x04\xb4\xad\x4d\xac\x7f\xa4\x14\x38\x47\x9d\x32\xc3\x1c\x75\x4c\x0e\xe6\x13\xc6\xe7\x90\xa2\x56\x3c\x75\x3a\xab\x0e\xc9\x0a\x27\x2c\x93\x59\xf0\x41\x4b\x0e\x3b\xc8\xc6\x42\x63\xd2\xd1\x7a\x35\x4a\x99\x9f\xb0\xd1\xf0\x7f\xf9\x65\x1a\xa0\x27\x6c\x3f\x28\x03\x60\x9e\xb0\x27\x61\x4d\x04\xdc\x09\x3b\x0e\x8b\xd7\x49\xb6\x63\x3e\x8d\x6b\x9f\xf8\xed\xce\x96\x56\x73\x79\xbb\xa3\x56\x3c\x96\x37\x27\x6c\xc8\x86\x6c\x9c\xdf\x3a\x6d\xdd\xdd\xec\x03\x7b\xcc\x3a\x61\x57\x45\x2c\x8a\x93\x9f\xdb\x05\x53\x32\x4d\xe2\xa7\x44\xe6\xf4\x11\x03\xe5\xae\x67\xb7\xf8\x12\xb2\x47\x5a\x85\x85\x7f\xdb\xf6\x99\x92\x2c\x0b\xbf\x1b\x2f\x4c\x38\x34\x94\xe5\x78\x60\x3d\x0b\xa8\xf8\x01\x18\xc2\xa8\xee\x56\x04\xf1\x91\x40\x6f\xfa\x53\x5f\xa3\xd9\xa1\xe4\xc7\x3b\xc4\x84\x63\x95\x1d\x91\xc5\x61\x35\xb3\x2f\x1a\x62\xc1\x39\x0f\xa1\xab\xe1\x6b\x19\xb0\x9d\x08\x39\xad\x4f\xdb\x28\xc6\x3a\x77\xb6\x6f\x30\x7a\xcd\xf6\x9a\x0f\xdb\x51\xc0\xb9\x69\x5a\xd4\xf2\x71\x41\x5c\xda\xb6\x29\x3a\x4e\x8d\x60\xed\xce\x23\xa8\xe0\x62\xe4\x17\x10\x22\x3d\xa2\xd7\x7a\xff\x88\xcb\x7a\xd0\xfe\x61\xdd\x81\x12\xe5\xa4\xa4\x2c\xa3\xdd\x4e\x21\x53\x70\xbb\xc6\x8f\xf5\xaa\xdb\xb7\x7a\xcd\x8b\x65\x92\xed\xc0\xd9\xdd\xd9\xab\x2f\x9a\xbe\x16\xb8\x99\x8d\xcf\xc8\x20\x9f\xb0\x5c\x82\xee\xf6\x69\x6d\xd8\x52\xdc\x96\x53\xc4\x13\x72\x75\xe4\xe3\x45\x27\xa8\xc2\xe3\x78\xa6\xe5\xd5\xe7\x24\x79\x77\x3b\xc0\x81\x76\xfa\x01\xff\x64\x58\xc8\x90\x77\xf5\x70\xd9\x07\x2e\xf6\xdc\x0b\xae\x1a\xba\xf3\x4f\xeb\x2a\xb5\x6d\xd0\xc6\x1a\x1d\x32\x76\x84\x0b\x5f\x66\x29\x8a\x67\x9e\xb6\xa3\x2e\xcc\x52\xd5\xad\xa4\x77\xdb\xb9\x02\xe2\x7a\xc2\x46\x2d\x54\x12\x5c\x86\x83\xce\x83\x6d\x57\x45\x64\x60\x55\x15\xe9\x1d\xf5\x04\x5f\xa7\x42\x29\x5d\xb9\xa8\x44\xed\xae\xf0\xc1\x87\xcd\x3d\xee\x4c\xdf\xb2\x41\x0d\xdb\xee\x41\x2f\x19\x57\x62\x83\xce\x0f\xff\x3a\x8f\x19\xc8\x90\x7c\x6b\x16\xf6\xad\xd8\xbc\xe0\xb9\xff\xb8\x61\x3e\x19\xed\x9d\x61\x3f\xa7\x32\xc3\x5c\x95\x32\xfb\x56\x6c\xbe\x44\x55\x0d\xa6\x3b\x45\x0f\x51\xfd\xe5\x87\xd7\xdf\x8a\x8d\x2a\x0b\x79\x25\x8c\xd4\xc5\x95\x92\x51\xc2\x4b\x4c\xd5\x1e\xea\xdc\x3d\xf5\x3a\x0a\x01\x02\x9e\x2d\x4e\xd8\xdb\xff\xef\xf5\xec\xfb\x17\xef\x18\xd7\xd0\x23\x4f\x6b\x58\xeb\x75\x39\xf8\xa9\xe1\x2d\xd0\xa6\xc8\xaf\x0d\xe1\x4d\xc3\xbc\x8f\x27\x8a\xd9\xfd\xf5\x58\x64\xbb\xfe\x16\xe5\xba\x0b\xea\xe7\x9e\x0a\xae\x4b\x7c\xfc\xc9\x0b\x41\xe1\xe5\x02\xe2\x1a\x68\xda\x5d\x63\xeb\xdb\x21\x3a\x85\xf5\xc2\x49\x37\x2c\xe2\x79\x89\x5e\xbc\x66\x6e\x06\xd0\x0b\xe9\x3a\x37\xdf\xe8\xcc\x3b\x3d\xb9\x37\x80\x6e\x65\xf6\x50\x61\xdc\x3c\x97\xc8\x1c\x80\x69\x95\xb7\x49\xc1\xe6\x80\x4c\x46\x31\xab\xfa\x4c\xf1\x6b\xbd\x63\xba\x3b\x25\x51\x29\x8c\xa8\xc7\xaa\x0c\x1e\x29\xc1\xe3\x98\x72\x36\x6b\x69\x32\x20\x85\x7d\x7c\xc0\xa1\x88\x64\xb1\x9d\xb8\x99\xcf\x7b\x9b\x61\x86\xb1\xb7\x1d\xb0\x67\x96\x55\xe9\x28\xe7\x85\x2e\xf9\xae\x2a\x7d\x22\xf5\xae\x6f\x1b\x5c\x89\x4d\x2c\x6f\x32\x57\xff\x5b\xb1\x39\x97\x37\xd9\xf6\xea\x79\x41\x04\xc4\xd6\x7f\xa5\x4b\xb6\x37\xa8\xf2\xa0\xf6\x9b\x7c\x4b\x55\x7d\x4f\x3c\xcb\x72\x7f\xf2\xaf\x4d\x51\xd0\xe4\x11\x63\x28\xe4\xc0\x39\x63\x24\xd0\x19\xff\xab\x2b\xb1\x61\x6b\x9e\x03\x53\xf4\xe5\xae\xb7\xcf\x2f\x78\x4e\x6a\xcc\xd6\x93\x6b\xe8\xb7\x69\xa1\x07\x4c\xb2\xa5\x6a\x6f\x73\x46\x5f\xbd\x56\x76\x36\x9a\x67\x3e\x61\xe7\x89\x82\xa0\x8d\x3c\xdb\xb0\x49\x5a\xfe\xb9\x60\x85\x48\xe1\xd4\xac\xab\x6c\x69\xbc\x86\xbf\x64\x51\x59\xa4\x3b\x3c\x2d\x4f\xd8\x04\x52\xd8\xb2\x69\x59\xa4\x8f\x27\x69\xc9\xd6\x82\x67\x0a\xdb\x52\x5d\xcd\x47\x07\x75\x41\x52\x69\xaf\x0b\x24\x33\xa8\x8c\x04\xb7\xb5\xb6\x85\x13\xd7\x65\x2f\x34\x19\x35\x4e\xd0\xe1\xda\x9e\x2d\xe0\xe6\xe8\xb3\xcb\x55\xb2\x28\x77\x9e\x65\x4a\x14\xf4\xec\xb9\x80\x48\x23\x2b\x78\x78\x35\x6a\x07\xe3\xc2\x04\x19\xa9\xc1\xa3\x67\x60\xfb\x01\x4e\x18\x32\xee\xeb\x3d\x23\x52\x07\x3d\xcd\x41\xaf\x6e\x6d\xf0\x56\x12\xac\xdb\xfc\x69\x2a\x3d\x3a\x0e\x8e\xfe\x5f\xa7\x14\xd9\xb6\x75\xae\x2b\xb9\x16\xbb\x02\x8c\x8c\xd3\xd4\x06\xb2\x0c\x9e\x95\x15\x84\x36\x98\xf3\x02\x23\xac\xe8\xee\x6d\x33\xec\x0d\xda\x9a\xe7\x1e\xf6\xc3\x6b\x3d\x69\x7d\xdf\xa8\x01\xb3\xab\xc1\xf7\x1b\x3b\x9c\x02\x5d\xed\x0f\xaf\xe1\x5e\x52\x68\x3b\xa4\xbb\x0a\xbb\xa7\xb1\x55\x6d\x89\xfa\xb3\xbe\x02\x30\xe8\x82\x97\xd5\xd7\x5b\xe1\x25\x88\xda\x8a\xf1\xb9\xbc\x16\x7d\x72\x65\x02\x59\x21\xe7\x4b\xc1\xaa\x7c\x17\x7e\xea\x13\x5e\xeb\x5d\x97\xdf\xd7\xbb\x85\x9f\xc6\xc8\x9d\x57\x69\xa5\x76\x5f\x24\x59\xa5\x76\xff\x53\x14\xd2\x80\x51\x41\x04\x95\xc6\xae\x42\x13\xc4\x91\x3b\x1b\x52\x4d\xf8\x4c\xf0\xfa\xaf\xf7\x7d\xec\xcd\x0d\x0b\xed\x62\x69\x83\x29\x86\x6b\xd1\x27\x48\x57\x83\x4e\x74\xd5\xff\x94\x72\xdd\x8a\x11\x70\xb4\xa6\x18\x44\x45\x81\x5b\x1b\xac\x8f\xc6\x9d\x6a\x84\xd3\xc8\xa6\xbf\x38\xd7\x2e\x6a\x06\x8b\x79\x3c\x6d\xad\x8c\xdd\xb8\x6e\xbd\xc6\xc1\x2c\xa7\xe0\x2d\xda\x0a\x6c\x18\xe3\x07\x3c\x23\xcd\xa9\xfd\xf0\x80\xa9\xfd\xd0\x5a\x19\xbb\x71\xdd\x6e\x9b\xda\x0f\xe6\x1c\xb5\xcc\x6d\x06\x21\x59\x76\x63\x43\xd1\xf2\x3c\x35\xe1\x54\xf4\x85\xc0\x63\xec\xcf\xd0\xe2\x44\x91\x25\x02\x19\x4f\xf3\x0d\xcb\xaa\xb5\x28\x92\x08\x0e\x3a\x5c\x9f\x70\xbe\xed\x83\xb3\xc7\x3d\x04\xc4\xc8\x0d\xf4\x2d\x8c\xf3\xa0\xe9\x01\xab\xe4\x4d\xd1\x1a\xdf\xc6\xe2\xde\x79\x52\xdd\x4f\x9e\x26\x3e\x06\xdc\x73\x9c\x80\x30\x6a\xde\x00\x22\x3a\x51\x8c\x16\xa0\x2c\x67\x97\xac\xdb\xf9\xcb\xed\xf0\xb8\xd3\x67\xfc\x8a\xb3\xff\xfa\xa6\x37\x60\x98\xb0\xff\x26\x51\x02\xfb\x09\x9b\xeb\xeb\xce\xef\xa2\xf3\x97\xdb\xa3\x45\xa7\x36\x43\x5b\x1d\x5e\x8f\xce\x6c\xe3\xd6\x79\x62\x3c\xb3\x48\xc6\x18\x4e\x09\x54\xa0\x9a\xa4\xc4\xbc\xe4\xf7\xd1\x65\x6b\xa6\x3c\x33\x1d\x9c\xb2\x4e\x55\x2e\x76\x8e\x6b\xf7\xc8\xa5\x28\x5d\xde\x73\xf0\x28\x2c\x39\xae\x05\x70\x98\xb3\x54\x70\x68\x2f\x54\xc4\x73\xc1\x64\xa1\x0f\x7f\x6d\x34\xdd\x08\x56\x34\xc3\x4a\x6d\x47\xde\x1f\x48\xd7\xdf\xf9\x01\x03\x07\x18\x93\x71\xd9\xb6\x0c\xfd\xf1\x85\x28\xf9\x0f\xed\x54\xc4\x10\x30\xa3\x68\xe6\x29\xb2\x1d\x60\x5d\xae\xd9\xb2\xe0\x40\xd0\x12\x06\xf8\x8f\xf4\xf3\x19\x9b\x5d\x4e\x21\xf8\x51\x72\x4b\x47\x19\xc3\x5a\x0f\x4c\xbd\x49\x1c\xb3\xd1\xf8\xd8\x00\xbb\xca\xe0\xd6\x10\xb1\x17\x90\x95\x2b\xcd\xc8\xdf\x52\x24\x2e\xe8\x83\x2e\xdc\x9d\x2b\xb1\x19\x0c\xd8\x8f\x3c\x29\xad\xea\xc8\xf0\x6e\xc4\xd0\xc2\x3d\x27\x04\xbb\x31\x06\xc0\xe6\xae\x56\x7c\xa3\x4c\x77\xe1\xbf\x2e\x9c\x99\x1b\x70\x7c\xbc\x91\xc5\x15\xbb\x11\x69\xaa\xa5\x93\x3c\xe5\x25\xc4\x18\xa6\x20\x2c\x5e\x77\xad\x1d\xb1\x5c\x14\x58\x9f\x5b\xef\x4a\xee\x92\x24\x40\x80\x33\x0e\x1e\x97\x7f\xad\xb4\xc0\xa2\x06\xbd\xfa\xc9\x25\x67\x4c\x8c\x38\xb5\xe6\x25\x98\xc6\x03\xab\xac\x1b\x26\x8a\xc5\x89\x2a\x93\x2c\xa2\xe3\x0b\xf8\xd5\xe5\x69\xf9\x0c\x36\x96\x25\x0a\xfb\x42\x72\xd8\x6b\x30\x41\x80\x56\x3f\x6a\xd0\x9c\xb2\x0e\x6e\xe0\x3d\x18\x6c\x90\x80\x47\x5a\x96\x53\xf0\x04\x83\x38\xdd\xf7\x9d\x87\xf3\x42\xc6\x15\x84\xef\x86\xed\x26\x1e\x30\x88\xe4\x6d\xd7\x59\x54\xf0\x7e\x83\x11\xb1\xfa\x86\xc5\x80\xc0\x66\x58\xa2\x45\x15\x5d\xc0\xab\x52\x62\xf8\x13\x67\xed\x6b\xf6\xa4\xc9\xe0\x11\x08\xee\x21\x52\x05\x98\x59\x4a\x0a\xab\xc2\xce\x67\xcf\x61\x79\x24\x43\xd9\x20\x73\x00\x5d\x9e\x96\x3b\x8e\x24\xc9\x8c\xce\x09\x06\xf6\xf8\xee\x92\x5d\x93\x71\x11\x87\xce\x6d\x5f\x80\x8e\xfe\x8a\x9d\x76\xee\x84\x4d\xc8\x62\x2f\x59\x63\xf8\xb9\x22\xd1\xfb\xdd\xd7\x4b\xb3\x1d\xf7\x6b\x23\x27\x4a\xb3\xfe\xb9\x20\x3e\xab\x94\x7a\xa8\x01\xbb\xd4\xb5\x2b\xa5\x31\x64\xcd\x37\x9a\xbd\x5c\xf1\x3c\xdf\x38\xf1\x15\x0d\x3d\xc0\xd4\xd6\x56\x59\x14\x95\x2a\x0b\x94\xb6\x99\x09\xab\x97\x94\x1d\xc5\x92\x75\x2e\x15\x3c\x6b\x00\x7c\x24\xd2\x15\x3b\x8b\x01\x00\x91\xfc\x89\x69\xf3\x14\x4a\xc9\xfa\xbc\x13\x73\x73\x03\xdf\x01\x22\x49\x74\x05\xa7\x5c\x1f\xa6\x10\x42\x78\x5e\x9b\x20\x3e\xb1\x30\x0e\x8a\xfb\xba\x57\xe2\x53\x45\x80\x94\x4b\x09\x4c\x60\x1f\x19\xd4\xa5\x28\x19\x37\x63\x20\xe3\xed\xaf\x91\x1c\x72\xcc\x26\xe3\x71\xca\x64\x89\xfb\x25\xe2\x01\xa8\x17\x56\x65\x99\xab\x93\xdd\xdd\xa8\x98\x57\xcb\x41\x24\xd7\xbb\xa3\xa3\xfd\xfd\xd1\x90\x35\x11\xce\x5e\x38\x88\x79\xf7\xdc\x3f\x6f\x88\x2e\x5f\x09\x91\xb3\xb2\xe0\xd1\x95\x31\x0d\x35\x22\x9e\x5e\x34\xdc\x15\x25\x84\x62\xb2\x1e\x45\x99\x88\x84\x52\x90\x73\x45\x16\xee\xb2\xbc\x6b\x06\x2e\xfc\x1c\x32\xd1\x40\x16\x0d\xc5\xb4\xc2\x10\xf6\xe5\xea\x82\xb9\x27\xda\x99\x72\x36\x4f\xca\x35\xcf\x11\x99\x90\xfc\xcd\x93\x92\x99\xf7\x15\xc5\x20\xe6\x80\xca\x65\x16\x7b\xe6\x5b\x5f\xb2\xcf\x53\x89\x3c\xc3\xe7\x9a\x26\xe4\xa2\x28\x37\x66\x9d\xf6\x9c\x35\x41\x69\xc4\x6d\x11\xdb\x20\xce\x2d\xfc\xba\x3d\x78\x6b\x11\x27\x1c\xd9\x19\x23\x59\xe1\x01\xa1\xa9\x24\x05\xbb\x00\x50\x8a\xbf\x56\xc9\x35\x4f\xed\x98\x6c\x36\x58\x0e\xd8\xe7\x1a\x50\x9f\xb7\x34\xbd\x18\x0d\x7c\x66\x1f\xc7\x23\xe3\x57\x30\x46\x32\x52\x5d\xe3\xc6\x8e\x13\xae\xe5\x8e\x49\x21\x2e\xf4\xcf\x76\x14\xf8\x46\xa6\x64\xe4\x92\x17\xe2\x1a\x42\x20\x58\x7a\xbf\x60\x01\x79\x06\x92\x7f\x3e\x9b\x5e\xce\x5e\x33\x48\x62\x8e\x9e\x65\xf1\x00\x5c\xbe\xb0\xbb\xf3\xd9\xf4\xfb\xcb\xf0\x73\x3f\xec\xc5\xb2\x82\x31\xb0\x56\xd6\x2f\x00\xd5\x3a\xb0\xd3\x24\xdb\x57\xa0\xad\x91\x55\x83\x65\xa0\x89\x4e\xbc\x6e\x5b\xad\x2e\x2f\x29\xf2\x3b\x00\x0a\x82\x48\x20\xc3\x39\x05\x19\x11\x02\x17\x5a\x85\x55\xca\x37\x38\x52\x43\xa7\xa6\x7f\x99\x44\x7e\xd8\x00\xc7\x9e\x68\x39\x5c\x4f\x47\x64\xe5\xb9\xb9\x5c\xf5\x65\x5f\xca\xfc\x55\x21\x73\xbe\xf4\x23\x21\xa2\xee\xce\xe3\x09\x48\xc6\xc2\xbe\x44\x20\x2c\x4c\x27\x2f\xa7\x33\x6b\x6b\x42\xca\xf2\xac\x5a\x77\x3b\xf8\xa5\xd3\xeb\xd7\x38\x49\x4d\xf3\xcc\x55\xef\x87\x52\x70\xe6\xdc\x51\x10\x95\x51\xb3\x2d\x20\x4e\x43\x4c\x26\xd4\xc8\x62\x5f\x26\x78\x92\x69\x41\x0a\xb7\x9a\xfa\xc0\xfa\x19\x80\xbe\xa1\x48\x32\x4c\x9c\x01\x97\xb0\xed\xca\xcf\x9e\xb2\x45\xdb\x10\xcc\x41\x66\xc2\x9c\xcc\xb5\x8c\x93\x45\x62\xb8\x1a\x9c\x8a\xea\xd7\xc2\x8b\xea\x4e\x69\xd5\x14\xaa\x43\xcf\xdc\x4e\x1c\x4c\x47\xbb\x74\x85\x6c\x7a\x96\x8e\x63\xdc\xfe\xa4\x0c\x78\xc7\x1d\x73\x99\x50\x27\x86\x23\xc2\xc8\xbe\x14\xa4\x62\x7a\xf9\xac\x4f\x61\x82\xe8\xab\x59\x18\x07\xaf\x35\x73\x85\x31\x86\x0e\x97\xe0\x9b\x19\xac\xc7\x45\x18\xd1\xac\x4b\x2c\x54\x54\x24\x73\x5c\xbd\x51\x20\x1b\x83\x6c\x0c\x9a\x69\xba\x33\x79\x49\xf4\xa7\xcf\x5f\x4d\x77\x2e\x41\xcf\x7e\x61\x4c\x1c\xf4\x11\xff\x9c\x29\x7c\x2d\x6e\x5f\x98\x51\xc7\x10\x03\xad\xaf\x29\xbb\xb9\xba\x6c\xcb\x96\xba\xe8\xa5\x76\x32\xa6\x55\x95\xe7\xa2\x00\xc3\x5e\x0a\x68\x6c\x26\xe8\x78\xe8\x2b\xb1\x89\x38\x84\x82\x23\x27\x03\xdb\xc9\xe1\x3e\xeb\x62\xda\x96\xce\xbf\x75\x7a\xd0\xe7\x93\x03\x5b\xf4\xbe\xd3\xa3\x3b\xf4\xae\x81\x6c\x67\x8d\x01\xd7\xa0\xe7\x38\xdc\xc7\x60\xb9\x59\x69\x2e\x92\x35\xbf\x12\x8a\x75\xfe\xeb\xdf\x3a\x56\x8a\x1b\x0e\x3b\x4e\x63\xc4\x18\xeb\xfc\xd7\x7b\xf7\x71\xb4\xe8\x0c\x18\xeb\xbe\x94\xc6\x6f\x56\xe3\xe8\x2a\x59\x22\x33\xca\x4b\x36\xbc\x1d\x2d\xf4\x20\xc3\xdb\xf1\xd0\xdd\x90\x6e\xdf\x60\x27\x0b\x55\x7a\x10\xc5\x25\x42\x80\xde\x80\xdd\x76\x5b\xe5\xc9\x39\x3f\x7b\x9b\x00\x6a\xc1\xf8\x18\x0a\xd8\x5c\xed\x7e\xa2\x31\x03\xb4\x2a\x67\xf3\x8d\x16\x82\x9a\x98\xb3\x46\x26\xde\xcd\x23\x92\xd9\x22\x59\x56\x05\xde\x4f\x8a\x84\x2c\xe4\xdc\xfb\x00\xb2\x79\x27\x38\xef\x76\x2e\x14\x02\xb5\x79\x52\x1d\xf1\x12\x9e\xc8\x7f\x3e\xbb\x98\xbc\x79\xfe\xba\x8d\x0a\xd2\xa7\x3a\x19\x9c\xa2\xc3\x6e\x18\x1d\x56\x32\x99\x97\xfa\x1e\x81\x40\xc9\xe6\x2e\x08\x6e\x7f\x27\x37\xa4\x78\xf9\x79\xf2\x3f\xc9\x6a\xb1\x00\x82\x53\xae\x2c\xdd\xd0\x53\x7c\x35\xb9\xbc\x6c\x9b\x9f\x2e\xaf\x4f\x8e\x34\xb8\x0e\x21\x30\xa6\x94\xe6\x56\xdc\x9e\x38\xbe\x64\xca\xf3\xbe\x93\x31\x04\x2a\x62\xbf\x15\x9b\x81\xd3\x1d\xe8\xf9\x1b\x40\x93\x38\x8c\x54\x94\x9e\x16\xf0\xb1\x44\x0c\xc2\x2b\xaa\xdb\x33\x8d\x88\x48\x1b\x8b\x2b\xbb\xf1\xcf\x4a\xba\xbc\x17\x55\x4a\xde\xed\x44\xbe\x62\x23\x78\x41\xd0\x57\xe4\xc1\x92\x92\x69\x36\x29\x2b\x13\xc8\xe8\xa2\xca\x22\xc9\x95\x3b\x9c\x96\xf0\x61\xae\x37\x9a\x8b\xd9\x02\x17\x79\x4b\xae\x59\x21\x38\x86\x95\xa4\x0b\xe2\xca\xac\x56\x83\xfa\xf2\xf5\xf7\xcf\x5e\xb5\xc1\x1a\x3e\x74\x7a\xfe\xcd\x0f\x3a\x11\xe1\x9c\xe2\x78\x14\xc9\x22\xf6\x7a\xee\x68\xb4\xdd\x31\xba\x17\x3f\x36\x72\x2b\x0b\xe0\xb9\xff\x61\xcf\x6d\x89\x3f\x9c\x59\x57\x53\x35\x63\x75\x33\x41\xf2\x94\xe0\xd1\x6d\x70\x5d\x52\xef\x6f\x5e\x5f\x1c\x43\xb7\x4f\xc3\x00\xff\xa1\xc9\x26\x3c\xba\x89\xc6\x93\x9b\x7f\xc1\x7a\xef\x87\xf4\x76\x17\xf8\x6e\x39\x81\xc9\x53\xb8\x31\xd3\xb3\xed\x51\xcb\x9e\x11\x3e\xa4\x52\xec\x65\xe3\x0b\x05\x01\x04\x8c\xb2\x1f\xc4\x16\x77\x17\x27\x45\x5d\xdf\x20\x0b\x36\xaf\xe6\x24\xcb\x51\x98\x36\x9c\x95\x7d\x1c\x7d\xc5\x95\x82\xfd\x42\x79\xdb\x05\x93\x4b\x53\xf7\x84\x17\xcc\xd7\xbe\x16\xb6\x45\x63\xa3\xa7\xc6\x8f\xb6\xa3\xe0\x15\x73\x25\x95\xb0\x50\x5b\x99\xf8\xb3\x11\xad\xbe\xcf\xb4\x60\x83\xfa\x14\x23\xfc\xfb\x7a\xcf\xbb\x9e\x61\x3d\x7c\xa1\x39\xb7\x3d\xd0\xd2\x44\x1c\xf2\x98\x99\x9d\x9e\xb6\xbf\x98\xfa\xb8\x63\xad\x9c\x4c\x23\x63\x40\xd8\xde\x08\xcd\x30\xc2\xb9\x40\xc8\xcc\xde\xd6\xec\x34\xe1\xdb\xa7\xcd\x09\x92\xb8\x54\x20\x60\x07\x45\xee\x32\xa7\xb5\xfa\x6f\x93\x77\x2e\xff\x45\xb0\x52\xfd\xcf\x60\x63\xc3\x1a\x85\xda\xbf\x1d\xbe\xeb\x9b\xae\xdf\x8e\xde\xb5\x87\x02\x6d\x5d\xee\xa0\xe5\x61\xf7\x9e\x5e\x8d\xdd\xca\xb6\x57\x6a\x9a\x6c\x98\x9e\x88\x30\x21\x3c\x7d\x06\x79\x82\x53\x06\xc8\xcb\xd3\x94\x34\x98\x36\xc8\xab\xd4\xc2\x28\x04\x28\xf3\x94\x3d\x26\x46\xc5\x3d\x58\x65\xcf\x42\x1b\x5e\x79\xb6\xde\x5b\x76\xbc\xe9\xd1\xe2\x3d\x00\xd3\x54\xcc\x1a\x7e\x84\xc7\x7e\xc8\x55\x17\x95\x98\xb3\x0b\xdc\x78\x48\x75\x80\x0e\x5b\x42\xcb\xa6\xf3\xaa\x64\x37\x82\xc5\xd2\x58\x51\xbc\xe0\x91\xe1\x65\x35\xeb\x06\x6e\x9e\x70\x63\x84\x5e\xa5\x3c\xcf\x49\x17\xad\x36\x59\xb9\x12\x25\xbd\x5e\x80\x9c\x01\x8a\x31\x94\x7a\xef\x81\x89\xff\x86\xdd\xe2\x2a\x07\xd6\xd4\xe4\xdd\x54\x3f\x47\xe4\x3e\xa7\xf2\x34\x29\xbb\x9d\x4e\x6f\xb0\x90\xc5\x8c\x47\xab\x6e\x48\xa0\x03\x53\x11\xf7\x4c\x6e\x2b\xf4\xb6\x80\xd6\x68\x12\x3c\xc8\xde\xb9\x0e\xfb\xd0\xdf\xb2\x0c\x93\x20\xca\xda\xaf\x6a\xe4\x39\x65\xe8\xdb\x39\xd0\xb7\xe8\x94\x12\xd3\x74\xc5\x00\x98\x51\x67\x6b\x2b\x6f\x44\xf1\x2d\x54\xd7\x17\x6b\x29\x9f\xeb\x82\x29\x37\x41\xd8\x34\x84\xba\x02\x9e\xa8\x74\xad\x0f\x1f\x98\x00\xbd\xff\xb7\x62\xd3\xd3\xe4\xa5\xeb\x3a\x38\x65\x9d\xa8\xa3\x6b\x04\x45\xd7\x9d\x9e\x67\x6e\xf9\x5d\x86\x11\x4a\x85\x53\x40\xb2\xae\xc6\x23\xfd\xa7\x66\x26\x7b\x74\x68\xe0\x91\x60\x91\xe8\x1b\x07\xf2\xf6\xca\x7c\xb3\xeb\x1e\xb0\x75\x57\xcf\x05\x24\x59\x08\x9e\xbd\x8d\x1c\x6b\x2e\x19\x73\xae\xe6\x62\xc5\xaf\x13\x59\x0c\x82\x4d\xf6\x42\x34\x0b\x52\xee\x58\x8a\x19\xea\xa0\x4f\x59\xc7\xd3\xec\x77\x74\x2d\x61\x93\xfd\x40\x1a\x44\x3f\x14\x26\x24\x77\x5c\xca\x92\xa1\x36\x4a\x40\xc4\x18\xd0\x0d\xea\xbf\xc5\x6d\x4e\x71\xb2\x6b\x27\x9f\x54\x37\x3c\x33\x1d\xf9\x2a\x78\x38\x48\x49\xc9\xe2\x24\xce\x3a\xa5\x3e\x4f\x49\x49\xa2\xd0\x8d\xa0\x30\xa6\x73\x81\x61\x26\xd8\x77\x97\x26\x31\xa9\xed\x2a\x33\x89\x1d\xd8\xb3\x17\x33\x0a\xd5\x6a\xe2\xe4\x80\x31\x16\xce\x10\xa0\x69\x54\x30\xf0\xb2\xb1\x93\x26\xa8\x9e\xd4\xdd\x84\x70\xdc\xdd\x35\xe5\xaf\xfd\xc8\x3e\xb0\x6a\x78\x17\x00\x35\xbc\x09\x18\xa9\x65\xad\x4d\x9e\x44\x40\x2d\x80\x3a\x78\xef\x16\x78\xd5\x9a\xee\x20\x8f\x89\xbf\x01\xa5\x24\x5b\x5b\xfb\x18\xa0\x19\x87\x0e\xa8\xf0\x3b\xce\xfe\x36\x5a\x6d\xc5\x7a\xd2\xf0\x78\xf9\x97\x3e\x73\xdc\xb3\xb1\xe9\x87\xf6\xd1\xaa\x79\x0a\x18\x23\x06\x2f\x5a\xf9\x39\x9e\x86\x3d\xf6\x58\xcb\x47\x70\xee\xbc\xb4\xc1\x1e\x6e\x7c\x75\xca\xf6\xc6\xd6\x54\x5f\xf7\xef\x3e\x06\x18\x18\xad\xbc\x4b\xb9\x9d\xba\x74\xdb\x96\x16\xad\x7a\x3d\xa2\x57\x75\x8e\xfe\x29\x94\xd6\xf4\x4e\x35\x27\x9f\x57\xd8\xc6\x9e\x98\x40\x2d\x96\xc9\x6c\x07\xec\x63\x8c\x44\x68\xbd\x1a\xe1\x12\x58\x41\x6a\xb6\xf5\x1c\x42\x7e\xa2\x26\x04\x35\x91\x2e\xfc\x2e\xeb\xf0\x3c\x1f\x98\x68\x8f\x55\x9a\x52\x44\x28\xe3\x6f\x33\x53\x51\xa7\x6f\x38\x46\x4a\xfe\x00\xe9\xd7\x65\xb9\xb2\x34\x01\x3e\xea\x3f\xaa\x9c\xa8\x65\xff\x11\x09\x62\xb3\xcb\x29\x89\xbf\x6b\x9e\x64\x5a\x3c\x81\x1b\x58\x4f\x26\xc9\x98\x1b\xd0\xcc\x4c\x5f\x2b\x26\xff\xc1\xdd\x14\x97\x80\x89\xed\x26\x79\xfe\x52\x66\xd3\xb2\x48\xe1\xad\x9f\x20\xbc\xf5\x46\x09\x23\xab\x7f\xf8\xc0\xc2\x12\x88\x1d\xdf\x5a\x4a\x90\xea\xd5\xc8\x14\xa1\xab\x47\x84\x1b\xc8\xdb\xb6\xfb\x7a\x9b\xef\xb8\x51\xac\x69\x5a\xcb\x32\xb6\xe9\xbb\xef\xe9\x12\xed\xcb\xb6\x80\xc5\x1e\x42\x4d\x30\x47\xc7\x1e\xba\xd7\x07\x6a\x29\xfc\x82\xfd\x77\x77\xc4\xfe\xf4\x27\xdd\x8d\xd1\xdc\xb3\x1d\x36\xea\x39\xd3\xfe\xa0\xff\xf1\x91\xd7\xff\x43\xf6\xb2\x2b\xb6\x5f\xd4\x5a\x6c\xfe\x19\xf7\x34\x18\xf0\xfd\x16\x40\xf8\xc0\x7e\x07\x18\x38\x16\xe2\x5c\x18\x0f\x25\xb2\xdf\x1b\x60\xa1\x7a\xfb\xff\xb3\xf7\xae\xed\x6d\xdc\x48\xa2\xf0\xf7\xfc\x0a\x58\x7b\x36\x24\x63\x92\x12\xe5\x3b\x1d\x65\x56\x96\xe4\x44\x1b\xdb\xd2\x8a\xb2\x3d\x33\x92\xe2\x05\x49\x50\xea\x51\xb3\xc1\x69\x34\x45\x31\xb1\xe7\xb7\xbf\x0f\xaa\x0a\xb7\xbe\xf0\x22\x2b\x99\x99\xf3\x1e\x3f\xbb\x19\x8a\x04\x0a\x40\xa1\x50\x28\xd4\xd5\x0e\x73\x61\xc9\x13\x7f\xca\x07\x25\xcd\x78\x9a\xd4\x6b\xef\x24\x83\xcc\xc0\x91\x55\x36\x53\x77\xf4\xe1\xcf\x73\xe7\xdc\xfd\x4c\x7e\xa0\xa6\x10\x16\x3d\x1c\xd1\xdf\xf4\x52\xd2\xfb\x7d\x8a\x8a\x72\x3d\xf3\x54\x28\x19\xdf\x88\x21\xea\xe7\xc3\x6a\x55\x25\xb1\x57\x5e\x44\x18\x84\xda\xda\xb0\x3b\xef\x4a\x37\xa5\x2b\x9d\x9e\x23\x97\xa2\x83\xbe\x4c\x30\xdd\x85\xd1\xd7\x59\x3d\x16\x37\x80\x5c\x6d\x9c\x61\xa4\x26\x90\x55\x3b\xca\x0a\x3d\x86\x62\x24\x52\x9b\x21\x3a\xd0\x8a\x35\x0d\x24\x5a\xa5\xb1\x19\x82\xa2\xaa\x6d\x42\xcf\xca\x10\xc0\xc7\xc2\x0b\x75\xa0\x91\x76\x68\x9f\x4d\xe8\x9a\xb9\x1c\x35\xb2\x1d\xae\xb5\xfc\x63\x66\x6e\x23\x5b\x2d\x04\xfc\x00\x6e\x38\xf3\x3a\xc4\xc3\x21\xb5\x34\xd9\x99\x68\x12\xfc\x0b\x13\x66\xa1\x81\x5b\xa8\x3b\x46\x9b\xa7\x05\x2a\x08\xb6\x7b\xe0\x4a\xb6\x14\xc6\x71\xbb\x63\x9b\x84\xb1\x76\xd8\xd2\xa7\x1b\xa7\xa0\x25\x7b\x2f\x28\x01\xd3\x68\x12\x8b\x16\xe5\x6c\xaa\xd7\x76\x76\x76\x6a\x0d\x26\x27\x22\xe5\x99\xc4\x1c\x0f\x42\x65\x98\xa1\x2a\xca\x8c\x31\x13\xd3\x92\x2b\xd4\x7a\x64\x1c\x52\xc8\x47\x09\x83\xb8\x24\x52\x03\x68\xa1\x6e\x1a\xa9\x2b\x7d\x0b\x5d\x3a\xd5\x2a\xb5\x47\x6d\x16\xfc\x84\xe0\x34\x7e\x59\x1c\x65\x22\xe5\x71\x90\x67\xc9\x08\x52\x99\x34\xd1\x01\x2e\x51\x55\x7f\x8e\xe5\xa6\x60\x13\xd1\xec\x63\x83\xf3\x4a\x8c\x53\x6d\x6c\x62\xa4\x7d\x83\xee\x45\x3d\xa8\x8d\xe9\x72\xbc\xdb\xeb\x2d\x6c\xaf\x1b\x98\xc6\xa0\x75\x5b\xd8\x1a\x5a\x04\x71\x76\x29\x24\x17\xb4\xb7\x9b\x01\xa5\x85\xdf\x9d\xbc\xcf\xc4\x9f\xc8\x09\xa3\xcb\x8c\xc0\x6e\x9a\x8f\xd1\xa5\xa2\xd0\xde\x49\xf6\xe1\xd3\xa5\xeb\xfe\xb0\x45\xd9\x13\x73\xc6\x5b\x63\x4d\xbd\x33\xc1\xd4\x34\xc5\x92\x45\x4e\xfd\x6a\x05\x23\xab\x64\x07\xab\xe1\xc6\x59\xbb\xdd\xbe\xd8\x70\x85\x6c\xac\x0a\x7e\x87\x3d\xa8\x6f\xfe\x72\x7e\x76\x3e\x7b\x78\x7e\xf1\x7f\x36\xa1\xb0\x57\x1d\x4f\x45\x1b\x41\x12\xff\x36\x79\x5b\x42\x47\xe0\x30\x75\x8b\xf1\x56\xa6\x0c\x29\x54\x5d\xc6\x8e\xf5\xed\xb7\x16\xa5\xdf\x7e\xab\x51\x18\xd4\x71\x31\x9d\xdd\xd4\xc9\x13\x19\x06\xc3\xb4\xea\x83\x58\xf0\x14\xf4\xe2\xbe\x71\x88\x0c\x21\xee\x59\x62\xf4\xb7\x68\xa2\x9d\xf1\x28\x43\xb5\xbf\xb0\xd6\x04\xb8\x84\x22\x8b\xd2\xa1\xbd\x42\x6d\x99\x17\xbb\xf7\x36\x69\x3f\x1c\x77\xd8\x77\xef\xab\x2f\xf0\x5f\xaa\x06\xeb\xa1\xc2\x3a\x58\x57\xe3\x22\xf7\x54\xb7\xda\xb9\xbc\x68\xb1\xdd\xf0\x8a\x64\x7d\xe5\xb4\x8c\x8f\xf8\xd7\xcf\xaa\xf3\xb5\xb3\xf2\x42\xaf\x0c\x6b\x34\x8f\x0d\x04\x67\xe0\x97\xb1\x58\x6a\x52\xf3\x6b\x07\x01\xf3\x76\x44\x55\xd6\x4d\xaf\x3c\xdf\x45\x9f\xb3\x45\x7d\xf4\xef\xb5\x62\x8d\xa2\xc5\x8c\xdf\x31\xf9\xc3\x91\x3e\xcb\x5c\x5d\xf7\x48\x22\xc6\xa4\xff\x22\x63\x75\xaa\x23\x67\x01\x34\xf4\x13\x1a\x69\x1e\x38\x2a\x38\x82\xa3\x49\xed\x1b\xa2\x6d\x8c\x9b\xe6\x83\x81\x9c\x26\x19\xbd\x46\x88\x8c\x8d\x85\x03\x48\xde\x7a\x8e\x92\x16\x4c\x3f\xbd\x21\x27\xd2\xfc\x1b\xba\xe9\x53\x08\x0e\x75\xa5\xed\x6c\x68\x0c\xbc\x8d\xc1\xba\xad\x81\x7b\xae\xda\xa7\xbc\x6f\x8c\x85\x9e\x4f\x29\xc2\xdb\xd8\xeb\x1d\xb2\xbf\x52\x35\x25\xf8\xa3\xc3\x5e\xb2\x6d\xf6\xd7\x0d\x73\x1b\xe0\x6a\x76\xf4\xdb\x20\xc0\x06\x28\x2b\xcc\x6b\x21\x90\xef\xf4\x99\x34\x45\x0f\xac\x44\x66\xa5\x31\x14\x35\xa0\x63\xd7\x83\xd0\xd4\xb3\xd1\x93\xf8\x5f\x3b\xe8\xff\x92\x8f\x54\x5f\xde\x90\x7e\x46\xb3\x9a\xae\xa1\x5a\x04\x04\xa1\x10\x3c\xce\xf0\x2f\xbd\xe7\x5d\xf8\x2f\x66\xfa\xa7\x59\x51\xd4\x87\xe1\xe4\x26\x08\x04\x42\x47\xf1\x73\x9d\x26\xee\x64\x5e\x6a\xe4\x89\x6b\x7b\x01\x13\xb3\xb6\xa6\x7e\x94\x29\xa6\x24\xea\x23\xa1\x7a\x44\x0a\xa9\x80\xc6\xd3\x84\x4a\x50\x18\x6d\x8b\x13\xd7\x52\x17\xe1\x6b\xf0\xeb\xce\x22\x1e\xbf\x71\xe0\xcd\x57\x29\x80\x85\xa5\xe8\x2c\x71\xd3\xec\xdb\xde\x09\xbd\xb3\x08\xa6\x1f\xd0\x75\x74\xa8\x0b\x78\x4c\x93\x39\xa4\x79\x2a\x07\x3d\xfd\x95\xf5\x5d\x6e\x1e\x24\x20\x78\xf8\xfe\x48\x7e\x9f\x81\x43\x4f\x00\x01\x5d\xe3\xaa\xdd\x61\xad\x56\xef\x30\xb1\xbf\x34\x43\xb7\x58\x3c\x10\x90\xdc\xcf\x24\x7d\xc6\xae\xf6\xb6\xf1\xb2\x73\xe9\xa3\xec\xca\x05\x3a\x53\xaa\x1d\x27\xac\x61\xb8\x67\x4d\xad\x03\x39\x76\xae\x63\x68\xc2\x12\xc2\xd4\xfc\x8d\xf9\xe0\x9a\x8d\xf9\x65\x34\x68\x87\x9b\x68\x64\x20\x87\x5a\x27\xe2\x82\x00\xf5\xf9\x73\x95\xd8\xfb\xc0\x30\x63\xdd\x46\xef\xc8\xe7\xcf\x40\x51\x8d\x46\xa8\x52\xb4\xae\x42\x91\x0a\x74\xed\x9e\x95\x97\x4a\xa0\x12\xc6\xa0\x46\x22\x56\xa1\x75\x2a\xc5\x69\x12\xd8\x6c\x0b\x35\x56\x0c\x8b\x03\xc5\xa2\xb8\x8d\x28\xf1\x5a\x10\x83\xd7\xf6\x66\x05\x0e\x99\x3c\xc9\xc1\x6d\xea\xef\xcb\x2d\xd0\xa8\xf3\x36\xb5\x22\x0d\xa4\x01\x4f\xd0\xff\x12\xdc\x8f\xa7\xfa\x37\xe0\x82\xe8\x13\x31\xa0\xcd\x8d\xc0\x56\x5e\xaa\x7b\x84\xc2\x4c\xb0\x55\x24\x36\xeb\xed\x72\x8e\x05\x28\x97\x6a\xc9\xab\xe9\x32\xba\x52\x7a\x49\x30\x4d\x1b\x60\x01\xbf\x20\xef\xb3\xe4\x1a\x97\x29\x41\x29\x1a\x8b\xd0\x5d\x3b\x74\xb8\x73\x2e\xb5\xe6\xd9\x6a\xda\xa1\xdb\xf6\x75\x22\x67\xf4\x74\xcd\xd2\x39\xbd\x5d\x23\x53\x3b\x49\xe4\xe4\x2a\x50\xeb\x1a\x60\xc6\x8c\x0a\xa4\x18\xee\x57\xa5\x5a\xdb\x23\x39\x40\x81\xbd\x85\xe3\x90\x91\x79\xbc\x2b\xf7\x30\x6c\x23\xd7\xba\x87\x97\xa1\xa7\x47\x58\xfe\x32\xf4\x4f\x48\x20\x2b\x9b\x3a\xfd\x3b\x3b\x6c\xbb\x30\x5e\xd8\x92\xaa\xb2\xd7\x91\x6f\xff\x89\x75\x58\x97\x6d\x35\x9a\xac\xe3\xb8\xe0\x1a\x3a\xd3\x22\x46\xf1\x69\x55\x6a\x7f\xa5\x56\x0f\xc2\x85\x84\xa8\xd3\x4f\x5d\x7c\xf5\xd5\xca\xb5\x26\x87\x54\xa2\x9b\x53\xae\x8f\x1a\x7b\xc8\xfe\xbb\x77\xf4\xae\x8d\xbd\xa2\xd1\x9c\xc6\x69\x54\xea\x4d\x7a\x9a\xb6\x43\xa2\x36\x95\x1a\x8b\x61\xc4\x4e\xc0\x51\x11\x38\xb1\x81\xaf\xc0\x74\x8c\x2f\x68\x04\x68\xc1\x5c\x71\x65\x85\x25\x28\x11\xb0\x40\x62\x6a\x13\x56\xca\xae\xc5\x1d\xe6\x24\x4d\x87\x85\x3c\x59\x7a\xc2\x64\x05\x10\x90\x3b\x03\xea\x5e\xa3\x33\x0a\xa0\xd4\x3b\x7f\x9d\xe7\x0e\x93\x21\xab\xad\x26\xdb\x6e\x40\xef\xf3\xdb\x4e\xff\x0c\xee\xc8\x3a\xf1\x6f\x8f\xa3\x03\xf1\xf9\xac\xfc\x34\x54\x0c\x19\x1f\x29\x67\xe8\xa1\x3a\x0c\x43\x53\xbd\x2a\x4b\xa3\xcb\x4b\xa8\xa1\xec\xfc\x31\x81\x1f\x80\xbf\xd7\x00\x75\x62\xce\xe6\x6c\x76\x08\x6e\xdc\x31\x9f\x53\x9d\x3c\x89\x2e\x8e\xbe\x96\x29\x93\x06\x54\xa9\x4b\x22\xb1\x4f\x2d\x81\x1a\xc7\x48\xab\x3d\x1a\xcb\xa1\x77\x6a\xf1\x80\xc1\x5d\x16\x22\xc0\x7b\xc0\x8c\xe5\x50\xcb\x40\x2f\xb7\x6b\x81\xd9\xde\x13\x43\x1e\x10\x9c\x85\xdd\x1f\x15\xbb\xdb\xd1\x0d\x9c\xdc\xe3\xc6\x75\x7e\x5c\xec\xec\xbd\x96\xbd\xf1\xf5\x1b\xa7\xd8\xfd\xc9\x82\xb1\x7d\x38\xc1\xb3\xdb\x74\x7e\x5a\xb9\x6e\xbf\x2b\x52\x4b\xa1\xf3\xb3\xe5\xab\xae\x5c\xf4\x73\xd3\x37\xcf\x65\x3d\x4e\xfa\x28\x50\x13\x40\xb8\x06\x29\xaf\xf4\x3b\xc3\x46\x01\xa1\xf0\xf5\xab\x48\xa5\x5f\x11\x6f\x9a\xc4\xfa\x4a\x37\xf7\x7f\x3b\xcf\x94\xf1\x7c\x74\x34\xf7\xd2\x73\x7a\xc8\xc2\x73\xb4\x6d\x18\x72\x59\xa5\xe9\x23\x0c\x09\xc1\xfa\x8c\x38\x3c\xcf\x58\x2c\xb8\x42\x97\x4b\x3b\x8d\xc2\xa8\x85\xc3\x1a\x2e\xba\xc5\x3a\x0d\x33\x21\xea\xea\xba\x9b\x5e\xc5\x2e\x1e\x2a\x0b\xe5\x74\x8b\xe2\x9d\xc3\xea\x1d\x6e\x28\xea\x59\xf2\x5a\x37\x87\xd0\x79\xb7\x56\xc0\xdd\x72\xa8\x35\x7d\xc8\x8c\x69\xbb\x86\xd6\x4c\xd7\x16\x87\x45\xfb\xe5\xd3\xc7\x48\x60\x43\xc1\xbe\xdf\x61\x2f\x9e\xf8\xf3\xf0\x96\x56\x6a\x9c\xd4\x9d\x5a\xec\xe9\x63\x0f\xf4\x97\x6f\xfc\xff\xf5\xc9\x72\xd1\x73\x04\x4d\xbd\xee\x21\xe2\x51\x6f\xc7\x4d\xc8\x5b\xa2\x79\x12\x95\x59\x6b\x57\x9c\x79\x23\x38\x39\x98\x8b\x38\x15\x6a\x02\x59\x38\xe2\x6c\x33\x1f\xff\x08\xd5\x54\x23\xeb\xab\x39\xe6\x13\x6b\xac\xe0\xca\xe9\x7a\x0d\x34\xbc\xc6\xfd\x00\x53\x28\xc8\x9a\xda\x6c\x84\x43\x7c\x55\xc1\x38\x16\x92\x7b\x05\x39\xfe\x3d\xb8\x12\x83\xeb\xb2\x29\xb5\x2d\x72\x17\x63\x97\x8c\xea\x0d\xf6\xf9\xb3\xdd\x27\x50\xdb\xd8\x2e\x39\xc0\x8d\x12\xda\x26\x27\xdf\x87\x9e\x1e\x3e\xef\x48\x55\x61\xd7\x26\x31\x66\x9d\x44\x36\x9f\xac\x6a\xa0\x22\xa3\xcd\x93\x7f\x93\x8c\x36\xa6\xbe\x0d\x44\xf7\x80\xe1\x3d\x95\xe3\x12\x05\xfa\x31\xc4\x58\x42\x01\x62\x9e\x38\xc1\x0a\x5d\xca\x82\xc7\xec\x6b\x50\x50\xcf\x70\x1d\x36\x8d\x86\x59\x49\xa8\x7c\x82\x18\x39\x63\x8c\x07\xe3\x66\x79\x76\x0e\xa6\x32\x17\x5d\xa4\x19\x72\x6c\x6e\x88\xfe\x34\x8a\xb3\x56\x94\x98\xc4\x1f\x13\xd8\x14\xcc\xf1\x5c\x03\xe7\xc9\x24\x1a\xc0\x9d\x85\x7e\x2a\x10\xd2\x47\x4e\xf3\x37\x68\x3a\xd1\xcf\xc4\xf2\xf4\x1e\xe8\xea\x5c\x6a\x73\x7d\xe5\xf2\x83\x94\x39\xb9\x99\x75\x7f\xa2\x62\xa3\x41\x71\x0c\x28\x99\x03\x9e\x2e\x86\x88\x16\x8d\x10\xa4\x39\x15\x3c\xf5\x46\x64\x2b\x0e\xb9\x3b\x1c\x52\x7e\x7f\xa3\xee\xb1\x45\xc0\xf4\xa6\xf2\x18\x0a\xed\xa3\xe4\xa7\x30\x39\xd1\x84\xa7\xe0\xe5\x0d\x49\x7f\x14\xc6\x1a\x4f\xa6\x68\x80\x86\x00\x40\x08\xcf\xc2\x32\x61\x7c\x38\xa4\xc9\xc2\xa6\x8e\xb5\xdc\x36\x14\x19\x8f\xe2\x8a\x0c\x43\x25\x84\xf5\x45\x6f\x20\x7d\x2e\xd6\xa0\xfd\x6c\x56\xfc\xb9\xca\xb4\xf3\x85\x68\x72\x45\x4c\xba\x29\x07\x96\x72\x37\x07\x73\x63\x3b\x0f\x37\xa7\x1b\x34\x99\xf6\xc1\x81\x2d\x52\x59\x5e\x5d\xf8\xe9\xcc\xc1\x29\x58\xaa\x75\x07\xc3\xbd\xca\x5c\x5c\xf5\xef\x65\x8e\xad\xae\xf7\x59\x74\xd1\xf6\x06\x18\xf3\x6c\x70\xe5\x10\xe9\xad\xa1\xe1\x5f\x95\x6e\xfa\x04\xc3\x5d\x89\x56\x5f\xef\xdf\x8b\xde\xcb\x23\xa7\xe1\x0c\x55\x86\xf6\xae\x2b\x28\xd0\xdd\x88\xbf\xb9\x39\x75\x59\x11\xc7\x5d\xfa\xdf\x2f\x9e\x50\xff\xc0\xc7\x53\x9e\xc2\xcb\xf0\xcb\x76\xd8\x19\x35\xb8\xa8\x76\xcd\x5d\x08\xa2\x3d\x99\xaa\x2b\xbb\x5a\x2b\x03\xc1\x8e\x28\x99\x66\x2e\xf1\x35\x6f\xb2\xbe\x8f\x5c\xb2\x00\x57\x52\x37\x74\xdf\x93\xe3\x09\x4f\x45\xdd\x93\x5e\x18\xe3\x6d\x1f\x1f\x7d\xef\x2f\x2b\xb3\x7c\x09\x9c\x82\x57\x3a\xd6\x23\x08\x4c\x75\x47\x92\x44\x02\xc3\xc4\xcd\xcb\x59\xdc\x46\x2a\x53\xf0\xd2\xa3\x88\x0d\x77\xf5\x1b\x58\x6f\xe1\x15\x36\x11\x83\x68\x84\x3e\xb0\x04\x44\x61\xf1\xe3\x49\x2a\x06\x62\x88\x0f\x41\xe0\xa7\xe0\xc1\x8e\xd1\xb0\x51\x3c\x1c\xf0\x74\xa8\xda\x8c\xfd\x18\xdd\x08\x38\xd7\xf6\x42\xd0\xd3\xda\x00\xe3\xc3\xee\x06\xbc\x37\xf1\x8f\xef\x5a\xbb\x1b\x4d\x2a\xf3\x62\x7f\x26\x03\x1e\x6a\x64\xcd\xb7\x1e\x34\x9c\x3e\x1c\x04\x2b\x05\x39\x70\x20\xfe\x60\x70\xc6\x10\x2a\xfa\xf9\x68\x72\x4f\x61\x12\x88\x9a\x3e\x3a\x6c\x65\x41\xf4\xef\xc4\xfd\x3d\xd6\xac\x31\x6d\x03\x87\xb4\xfc\xc7\xc0\xd4\xb7\x9f\xb8\xe5\xe3\x49\x2c\xba\xe8\xaa\xaf\x05\x37\x0d\x8e\xca\x1f\x53\x5e\x1b\xdf\x9b\xd8\xd5\x19\x43\x2b\xfc\xc6\x55\x34\xe7\x0f\x36\xda\xd8\xdf\xb1\xaa\x7a\x0d\xfb\xd6\x9a\x6c\xa3\x06\x6d\x6a\x1b\x9a\x36\xfc\x51\x06\x3c\x19\x88\x38\x17\x17\x29\x92\x2c\x4a\x45\x0c\xc5\xba\xa1\x60\xb5\x97\x4d\xa7\x51\x32\xcc\x6e\x9c\xb5\xf6\x6b\xcd\xa5\x76\xfd\xfc\xe0\xe2\x56\x0c\xa6\x54\x8e\x1f\x83\x5d\x92\xa1\x8b\x2b\xf1\xf4\x31\xa5\xeb\x3a\xad\x35\x73\x77\x29\x46\x3a\x04\x95\x22\x7e\x94\x19\xe3\xec\xf4\x41\xcd\x8c\xbd\xe0\xf0\xe5\x5c\x04\xbe\x33\x67\xe9\xbb\x92\x0b\xe6\x5f\xef\x62\xca\xdd\x4b\xe1\x85\x64\xfc\x7c\xc1\x09\x09\x5d\x80\x16\x08\x6d\x78\x8b\x43\x1e\x20\x85\xbb\x3f\xb3\x5a\x31\xd2\x0a\x6a\xf1\xa9\x44\x25\x88\xf2\xba\xbb\x2c\x83\x99\x54\xa9\xfd\x7e\x42\xed\x3a\xcb\xf4\x99\x43\xa7\x25\x77\xbe\x8c\xb9\x30\xcc\xc6\x86\x67\x8a\x14\x9d\x93\xb6\x96\x8b\xc1\x4b\xc1\x3a\x8a\x1b\x2d\x00\x66\x68\x4b\xe7\x34\x3f\xab\xb6\xda\x61\x13\x7b\x22\x7b\xf4\x25\xd5\xf1\x66\x03\x8e\x05\x69\x6e\xcb\x73\x56\x8b\xdb\xf2\x95\xc0\x35\x34\x69\x47\x6a\x8f\x4a\x43\xd5\x1b\xe5\x00\x26\x26\xf9\xf5\x01\xf8\x56\x8b\xa1\x29\x43\x6a\x66\x87\xca\x53\xf3\x57\xb5\xbe\xb4\x82\x21\xc1\xba\xd0\x51\xcb\xbe\xd5\x8c\x6e\x14\x4c\x03\x03\x1e\xc7\xbc\x1f\x8b\xdc\x9e\x7a\x4a\xf2\xdc\xb6\x1a\x0c\x07\x1b\xe9\xb0\xea\xbd\xaa\x26\x39\x3e\x57\xb7\xca\x92\x02\x56\x2b\xf1\x1a\xd6\x81\xf9\xf2\x4f\xc2\x6f\x81\x94\xcb\x73\x01\x1a\x31\xca\x42\xf3\xc8\x3d\x77\xf7\xda\x92\x31\xf6\x52\xd3\x02\x34\xe6\x2c\x99\x52\xcc\x98\x7e\x85\xcb\x91\x61\x17\x5d\xbb\xa7\xed\x76\xfb\x8b\x1f\x91\x03\x31\xa2\xfe\x59\x80\x60\x1c\xd8\x78\x50\x8b\xf2\x09\x99\xdf\x92\x4c\x32\x37\x4d\x65\x73\x4f\x6a\x48\x7a\x30\x88\xab\x55\xd8\xae\xc0\xa4\x1c\x57\xaa\xbc\xaf\x0c\xdb\xfd\xda\x6b\x8b\x99\xcb\xaa\xeb\x2e\xab\x66\x0e\xf6\x9d\x2f\x2b\x46\x57\x54\x77\xe9\x15\x85\x43\x7e\xc9\x31\x7d\x53\x39\x6c\xcc\x27\x6b\xf3\xe5\xe0\xc9\x37\xe6\x13\xa4\x59\x2b\xca\xe3\x26\x31\xfb\x43\x81\xf0\x90\x85\x8e\xf9\x44\x8b\xa0\x17\x8d\x42\x1d\xa3\x13\x77\x5f\x1a\xf1\xc6\x18\x4d\xe0\x3b\xa1\x32\x12\x75\x42\x1f\x50\xe3\x51\x81\x65\x4f\x61\xdd\xfa\x25\x3e\x8d\x63\x52\x0a\xa5\x02\x33\xb9\x60\xef\xfc\xcb\xcc\xa0\xc4\x80\xd9\x35\xd7\x06\xee\x33\x37\x1e\x1a\x2e\x5d\x89\x26\x3c\xd0\xc6\x9a\xa0\x44\x78\xf8\x99\x22\xb3\xd4\x2c\x12\xca\x05\x87\x53\x3a\x56\x67\x66\x84\x00\x78\x08\xc5\x30\x40\x13\x3e\x16\x54\xc4\x71\x3c\xb5\x2b\x45\xa9\x12\x9c\x78\xd1\x10\x51\x2d\x69\x3b\xd8\x2b\xee\xac\xf3\xed\xc8\xdd\xb8\xe0\xb1\x60\x9f\x7f\x95\x0f\x3d\xdd\xac\xe8\x8f\x0c\xcf\x17\x8f\x0d\x39\x0f\xe0\x75\x1e\x7d\xe1\xbb\x33\x78\xb8\x79\x0f\xb3\xb2\xd7\xa0\x9e\x95\x5d\x44\xae\x68\x04\x75\xb3\x9c\x31\x98\xe1\x1a\x3a\x30\x54\x32\xfe\x5f\x9d\xd3\x99\x98\x89\x9f\xd7\xf9\xd4\xf3\x57\x20\xa5\x13\xec\xe9\x15\x25\x62\x33\x49\x9e\x33\x88\x08\xe1\x56\xb1\x86\x42\x16\xe6\x79\x81\xfc\x46\xe0\xcb\xce\xea\xfc\x1a\x53\xdf\x39\x17\x75\xd5\xc0\x73\xa1\xbf\xd6\xc0\x3c\xe7\xf5\x4c\xc4\x31\xf2\x81\x5c\x92\x65\x2a\xde\x2e\x67\x5e\x28\x97\x4d\x51\xea\x5f\x34\xe4\xc8\x02\x09\xdc\x50\x5b\xa3\x30\xfe\x4a\x5f\x25\x26\xeb\x4e\x21\x7f\x83\x82\xa0\x4a\xf2\xa6\xd0\xb0\x9c\x6b\xa5\xef\x46\x13\x46\x74\x35\xf3\x2a\x69\x4a\xba\x31\x4b\x65\x72\x69\xcd\x89\xdf\x19\x2c\x36\xe9\xdd\x90\x62\x31\x4c\xeb\x13\xe3\xe2\xa0\x95\x17\xfe\xb3\x1f\x8d\x20\x3a\x3e\xa3\x34\x39\xaa\xc9\xd4\x74\x70\xa5\xd7\xb0\x7f\x23\x53\x7e\x1d\xac\x34\x48\x55\x0d\x63\xc1\x5a\x25\x46\x80\x12\x04\x96\xd9\x00\x31\x50\xd1\x19\xfc\x31\x8e\x5e\xb8\x32\x09\xc3\xbc\x29\xc8\x0d\x7c\xaf\xa7\x69\x1f\x52\x34\x7c\x67\x1e\x3a\x53\x1e\xd3\x92\x3d\xfc\x6b\x1e\x4c\x09\xc6\x22\xa5\xa6\xe6\x12\xf5\x92\xa0\x28\x3d\x4a\x22\x93\xd6\xfb\x9e\x1d\x48\x69\x46\x0e\x0d\xed\x37\xdf\x98\x74\x5d\xa0\xb0\x0f\x4b\x7e\xda\x84\x95\x18\xea\xc7\xd1\x99\x48\x8f\x0d\x2e\xe3\xe8\xda\x62\x22\xee\xc6\x7c\x8e\xf5\xe8\x6f\xc8\xc7\x05\x5c\x6d\xb4\x68\x44\xbb\xe2\xcf\xde\xb3\xc5\x79\xbc\xd8\xba\x06\xe9\x93\x00\xae\x2f\x30\x83\xaa\xd4\xe3\x1a\x16\x64\x1f\x6f\x62\x16\x1b\x7c\xbf\x1b\x51\x42\x90\x71\x38\xca\x62\x31\x64\x1b\xbb\x94\xbd\x08\xdc\xa9\x21\x9d\x4c\x55\x3a\x24\xcc\xef\xec\xf3\x6f\xf8\xc9\x53\x90\x5e\xbb\xb8\x64\xf3\xf1\xa5\xf7\x1b\x9c\xc6\x1d\xbf\xea\x26\xca\xc8\x45\xb9\x8f\x33\x2d\xdc\xe1\x01\xf3\x0e\xa7\x8f\x28\xef\xc8\x82\x28\x7f\xc5\xd5\x95\xf1\xa6\x37\xb1\x97\x23\x19\xc7\x72\x46\x77\xa2\xea\xb2\x1a\x9a\xcf\x6a\x4d\xeb\xab\x07\x97\xb8\x75\x50\x40\x51\x0f\x5c\x0d\xcc\x50\xac\x65\xdc\xc2\xbd\x07\x83\x29\x94\x3c\xf7\x52\x8a\xb4\x19\x48\x7a\xf6\x64\x93\x18\xa5\x07\xb6\x39\x98\x99\x3e\x9e\xee\xb0\x89\x5b\x8e\xc5\x0a\x67\xd2\xe3\x03\x25\x9b\xf6\x4d\x3e\xdb\x0d\xa5\xc3\xa1\x31\x49\xba\x6c\xb2\x1a\xdf\x85\xe2\x14\xaf\xf4\x7f\x3b\x0f\x6a\xb8\x9c\x9d\x87\x35\x6c\x48\x60\x02\xdf\xf6\x8a\xa9\x19\xbf\x78\xa4\x3f\xf5\xf7\x29\xd7\x82\x47\xca\x07\xc4\xc4\x90\xc8\xb4\x98\x78\x76\xf8\xae\x77\xa1\xc7\x3b\x7b\x73\xf0\xfa\xf4\x42\x0f\xf5\x6a\xae\x37\x02\xf2\x7d\xc8\xa4\x99\x1b\x8f\x4e\x2c\xe5\x78\x77\x29\x7e\x08\x5e\x7f\x9a\x99\x84\x60\xe8\x78\x4b\xf7\x88\x49\xd0\xee\xa7\xb3\x60\x2d\xf6\x0e\x43\x67\x48\x72\x33\x7e\x0f\xfa\xd8\xba\xb5\xd8\x1c\x33\xa6\x54\xaf\x98\x1b\x3f\x3b\x4a\xb8\x47\x63\x1b\x9f\x96\xbe\x73\xbb\x48\x9c\x28\xd5\x66\xa0\x95\x87\x42\xa0\x56\x30\xa4\xda\x96\xc2\x38\xf1\x28\x6f\x6e\x94\xc6\xf4\x9e\x26\xc7\x63\xe9\x1f\x63\xc3\xd0\xee\x3c\xbb\xdd\x38\xfb\x7d\x66\xe6\x47\x0f\xac\x3d\x2b\xca\x1d\xfa\x3b\x4c\x0b\x8c\x9d\x77\x9b\x97\xc9\x03\x47\x55\x05\xbc\x74\x65\xd5\x39\xe3\xb8\xb2\x55\x4f\xb4\x48\xa5\x07\xc2\x30\xd8\x5c\x40\x10\x38\x71\xf2\x84\xf1\x34\xe5\xf3\xd2\xc8\xb2\x62\x04\x11\xea\x79\xbd\x77\x21\x25\xbb\x0a\xca\x9f\x86\xa9\xd6\xb2\xbc\x53\x12\x8c\xc7\xa2\x0c\x24\x0d\xd4\x34\x27\x64\xaa\xab\x72\x59\xa2\x6b\x15\xdc\x8c\x50\x4c\xb4\xae\x44\x94\x89\xd0\x5c\x61\x03\x99\x0c\x5b\x99\x6c\xc5\x5c\x65\x36\xf3\x0a\xa1\x0c\x07\xf6\xb5\xe1\xb3\x34\xca\x32\x91\x04\xdc\x0e\x32\x4f\xe6\x93\xc2\x11\x33\xe5\xca\x68\xcb\xc5\x30\xc8\x9a\xe6\xb2\xa5\xd9\x4c\x69\xf0\x00\x0f\x93\xa5\xf9\x57\xe7\x82\xab\x2e\x7c\x99\xfe\x6c\x82\x25\xfd\xeb\x0f\x7c\xe8\xf5\x45\xe4\xa2\x3f\xcd\x13\x8e\x2e\x6d\x73\xeb\x35\x4a\xbc\xff\xf6\xa7\x98\xd5\x5a\x84\xb1\x92\x2e\x52\x32\x77\x73\x9e\x79\x76\x98\xa1\x18\x55\xeb\x4a\x72\xa2\x2e\xa6\x3c\xa4\xfb\x54\xcb\x5e\x81\xb0\x6a\x0d\x9d\x19\x64\x48\x33\xb7\x81\xdf\x9f\x2b\xfd\x4a\x8a\x30\x35\x79\x7a\x89\x35\xd6\xe0\x3d\xc5\xd8\x01\x1f\x5c\x01\x59\x9b\xef\xa3\x32\x18\xde\x7e\x71\x47\x7d\x66\x1e\x75\xa2\x4f\x37\x15\x29\xaf\xd1\x51\x02\x54\x12\xba\x8f\x3e\x73\xfd\xe8\x12\x6f\xf9\x99\xc0\x12\xc4\x90\x27\x01\xb2\xe7\x82\x0c\x6f\xf0\xe9\x34\x36\xa9\x20\x77\x0a\x4d\xb6\x2c\x96\x19\x3e\xa0\xb5\x10\x0a\xe2\xf1\x0d\xf8\x0a\xb6\x1b\x34\x11\xbd\x98\xc2\xcc\x3d\xaf\xf4\xa7\x36\x73\x51\x97\xb9\xfd\x37\x49\xbb\xf2\x51\x9c\xdf\xb9\xe0\x2a\x13\x56\xe2\xb2\x22\x81\xf3\xaf\xf3\xfa\x68\x10\x43\x22\xd2\x73\x04\x47\xbc\x09\x54\x4f\x82\x27\xf4\xca\xc1\x38\x45\x3f\x8d\xd2\x1a\x44\x1c\x68\x57\x6e\x78\xfa\x89\xa7\x97\x2a\xa7\x62\xf1\x1e\xce\x66\x67\x55\xd9\xeb\xd9\x28\x5e\x10\x72\xdd\xb6\x3d\x8b\x2e\xce\xb6\x2e\x9a\x81\x1d\x8e\xfe\xfd\x46\x08\xeb\xb2\xa0\x75\xa7\xbc\x35\x23\xb4\xe6\x5a\x6f\x57\xb5\x26\x94\xe7\x9a\x3f\xaa\x6a\x8e\x21\x2b\x7e\xd3\xc7\x55\x4d\x31\x9e\x25\x68\xfb\xe4\xa2\xac\xe9\x97\xa2\xc2\xa9\x07\xc5\x38\x03\x3f\x7c\x64\x70\x7e\x8a\x50\xac\xa9\xb2\xc2\x4e\x82\xd0\x5c\xe1\x15\x11\x4a\xd9\x15\x95\x28\x8d\x4f\xbd\x3d\x70\x94\xb3\xd5\xc4\x17\x6c\x8c\xf9\x20\x95\x1b\xf6\x77\x45\xd5\xcf\x19\x3b\xcc\x28\x93\x62\x44\xee\xc2\x7e\xa2\x66\x13\x7e\x0b\x41\x2a\x0d\x06\x40\xec\x79\x27\xf6\x00\xce\x2d\x73\xca\x03\x06\x2d\xda\x7e\x7c\x36\xb9\xef\xd6\xcd\x89\xd1\xc7\xcb\xaf\xd7\xb9\x82\x6f\x7a\x10\x2a\xec\xc5\x2c\x93\x4b\xfa\xc5\xd2\x90\xe2\xc3\x11\x0a\x9e\x85\x22\x0c\x8c\x37\xd1\xde\xdd\x77\xca\x03\x65\xde\xe2\x29\xe4\x37\x9e\x12\x5a\x4a\x3a\x53\x0c\x40\x94\x59\xb9\xc5\x88\x2d\xbe\x63\xa5\xc5\x04\xbf\x0e\x4c\xe0\x34\x5b\x97\x70\xc0\x43\x4c\x2e\xde\xbb\xee\x22\xb9\x30\x24\x36\x48\xed\x53\x12\x2b\xeb\xfb\x84\xf9\xff\x1e\x98\x50\x6f\x8a\x5e\xcc\x17\x8b\x68\xb0\x3f\x31\xce\xba\xac\x1f\xda\x20\xca\x37\x91\x2c\x13\x39\x44\x8f\xe5\x90\x2a\x0f\x94\x55\x94\xb8\x1b\xbe\xa9\xf3\xba\xf8\x1e\xfc\x0b\xe3\x1b\xab\x5e\xdc\x03\xbe\x35\xa2\x6d\x36\xf3\x16\xa4\xdf\x6a\x05\xa5\x2e\x42\x32\xf7\x11\xd4\x57\x77\x45\x50\x6e\x5d\x55\xb5\x32\xee\x65\x71\xde\x5e\x94\x2f\x43\x5d\xdd\x79\x19\x1e\xec\xdc\x5c\x73\xf1\x98\xa6\xa6\xc5\xd7\x2d\x84\x28\xa7\x7c\x19\x3c\xce\xbe\x62\x1d\x04\xfa\x1e\x30\xee\xc7\x33\x95\x4e\x74\x2c\x87\x77\x9e\xe8\xda\x27\xeb\x6b\x4f\xc8\x9e\x1c\x4f\xa6\x99\x96\x15\x8d\xe8\xe6\x74\xa4\x98\x10\x15\x0d\x41\x41\xb4\xa1\x5d\xea\x20\x8b\xeb\x83\xab\x06\xfb\xcd\x0c\x5b\x9e\xcd\x29\xe7\xb1\x0c\xce\xd3\x6e\x06\x1c\x6a\x14\x50\x55\x18\xa7\x0e\x1d\xf3\x09\xe4\x00\xe1\x98\xab\xd4\x1b\xb4\x3e\xf6\x46\x74\x6e\x8b\x84\x57\x3f\xe7\xe8\xd9\xf8\x82\xbe\xfe\xe2\x36\x91\xb8\x24\x12\x5d\x96\x92\x26\xdd\xa5\xb5\x0f\x37\x53\x0c\xeb\xa3\x64\xb5\xad\x04\x1b\x4d\x78\xf2\x0b\xc9\xe9\x7d\x07\xaf\xcd\x4d\xf6\x0a\x62\xfc\x34\x47\x68\xb2\xd7\x32\x9d\xf1\x74\x88\xa2\xfc\x89\x80\xa2\xa0\xc8\xff\x25\xe3\x37\x32\x1a\xb2\x84\xdf\x44\x97\x1c\xf4\x64\x7c\xc6\x51\x29\xeb\x43\xcb\xbc\x82\x06\x13\x7e\x29\xda\x79\x5f\xb2\x5c\xaa\x9e\xa7\x4f\x91\x96\x82\xef\x9e\x95\x7c\xf7\xbc\xc1\xfe\x14\x30\xf0\x65\x16\x52\xd6\x5d\xb1\xb9\x89\x32\x65\x9e\x17\x7d\x8e\x84\x47\x55\xe4\xab\x8f\xce\x41\x6f\xcf\xba\x69\x1b\xb7\x8e\xbd\xde\xa1\x8d\xd1\xb0\x5f\xf6\x7a\x8f\xcc\x97\x47\xae\x16\xf8\xbf\x75\xb6\x91\xf0\x29\xa2\xea\xc6\x75\x1e\xad\x9f\xa3\x48\xc4\x43\x50\x3a\x76\xd9\x19\x59\x1d\x9a\xa4\x8b\x34\x4f\xb7\xa6\x0d\x67\x87\x28\x76\x90\xf8\x2f\xbe\xf1\xe0\xb8\x50\x65\xc8\x5b\x69\x4c\x2e\x9a\x30\xb6\x5c\x5d\x1d\x38\x35\x8c\x7d\x84\xd8\xd3\xbf\x4d\x55\xe6\x3b\x92\x18\x68\x36\xad\xd1\x10\x35\x35\x68\xd7\xc3\xe7\x6e\x7f\x6e\x5f\x09\xf8\x3e\x90\xca\xab\xf5\xc0\xce\xb6\x9a\xa0\x77\x7d\xff\xee\xe7\x77\x47\x1f\xdf\x5d\xd4\x9a\x80\xd4\xe2\x7f\x2f\x9a\x76\xf2\xaf\x21\xf3\x74\x2a\x67\x04\x62\xfb\x59\x53\x83\x38\xe8\xed\xe9\xee\x07\xbd\xbd\x66\x99\x40\xc2\x6c\x32\xee\xa6\xfb\xe0\x7d\x4b\x4f\xa5\xb3\x4e\x67\xbb\xc9\x6a\x67\xaf\x3b\x1a\x18\x70\x7c\x4d\x5f\x0f\x59\xed\xb8\xd6\x04\xfa\x83\x8f\x0d\x0f\x08\x7e\xb9\xb1\xfd\xe8\x1f\x1b\xcd\x22\xb4\x47\x00\x6d\x3b\x0f\xed\x7f\x1c\xb4\xff\x29\x85\xf6\xb8\x14\xda\x63\x80\xf6\x28\x0f\xed\xc4\x41\x3b\x29\x85\xf6\xa4\x14\xda\x13\x80\xf6\x38\x0f\xad\xe7\xa0\xf5\x4a\xa1\x3d\x2d\x85\xf6\x14\xa0\x3d\x01\x68\xd4\xbd\xf3\xe4\x1f\xb5\xfc\x6e\x14\xa0\x3d\x2f\x85\xf6\x0c\xa0\x3d\x0d\xa0\x3d\x5b\x01\xda\x8b\x52\x68\xcf\x01\xda\xb3\x00\xda\xf3\xe5\xd0\x1e\x75\x4a\xa1\xbd\x00\x68\xcf\x03\x68\x2f\x56\x80\xb6\x5d\x06\x6d\x7b\x0b\xa0\xbd\xf0\xa1\x6d\x6f\xad\x00\xad\x94\xde\xb6\x3b\x48\xbd\x5b\x17\x6e\x13\xb7\x3b\x2b\x40\x2b\xa5\xb7\x6d\x3a\x0b\x1d\x1f\xda\xa3\xe5\xd0\x1e\x97\xaf\x14\xcf\x42\x67\xdb\x87\xf6\x78\x05\x68\xb9\x95\x1a\x46\xd0\xc3\xcc\xf3\x8e\x13\x74\x5e\xe8\xf9\xfe\xaf\x86\x68\x61\xa8\xab\xba\x96\x65\x6a\xff\xa5\x29\x19\x3e\xfd\x52\x6b\x34\x9a\xe1\x40\xee\x1f\xf1\x1a\x00\xf7\xf8\x85\x66\x2c\x9d\x07\x3e\xb8\x41\xbd\x86\xa9\xe8\xde\x4d\xc7\x50\xdf\x81\x31\xfc\x6e\x37\xce\xcc\x57\xf0\xf7\x5b\x91\x71\xfc\xc2\x80\x7b\xa2\x79\x5d\x6d\xfb\xbf\xee\x0b\x5c\x47\x83\x7b\xf4\x1f\xf7\x05\x6e\x5b\x83\x7b\xfc\x7f\xee\x0b\xdc\x23\x0d\xee\xc9\x7f\xde\x17\xb8\xc7\x1a\xdc\xd3\x5f\xee\x0b\xdc\x13\x0d\xee\xd9\xb7\xf7\x05\xee\xa9\x06\xf7\xfc\xbb\xfb\x02\x07\x17\xda\x8b\xfa\x3d\x81\x7b\xfc\x5c\x83\xdb\x6a\x14\xc0\x05\x65\x50\x35\x84\x1c\xc0\xd2\x46\xf6\x34\x3f\xd7\x5c\xb0\xf5\x69\x39\xd4\x25\xbf\x3b\x80\x9a\xe5\xef\x3c\xbc\x2f\x80\x28\x29\x88\x91\xbc\x65\xad\x4f\x20\x79\xef\x3c\xa4\x91\x9e\x3d\xba\xdf\xa9\x3f\xed\xfc\x5e\x33\x3f\xcc\x78\x1c\xf1\x84\x3d\xfc\xce\x4c\x5d\x0f\xf5\xb0\x48\x69\x77\x18\x0a\x21\x3e\x47\x01\xec\xd5\xcf\xbd\x63\xcd\x96\xfb\xaa\x8e\x45\x41\x9b\xac\x76\xde\xd7\x70\xe0\x9b\x3e\xfc\xad\xbf\x6f\x54\x8a\x4f\x4e\xb8\x8c\x52\x9f\x2b\xbf\xc0\x11\x4e\x77\x5f\xe9\x01\xd4\x55\xbd\x76\x9e\xb9\x0b\xe0\xaf\x1a\x22\x48\xbe\x4d\xcb\x80\x9b\xac\x28\x97\x3d\x07\x76\xf7\xf7\xff\xa9\x35\x2b\x38\x37\x43\xee\x0e\xd2\x54\x41\xd4\xb3\x50\xe0\x68\xcd\x3e\x2e\x83\xf2\x71\x21\x94\xa7\x70\x31\x88\x83\x65\x50\x0e\x16\xcf\x05\x38\x6e\x7a\xb2\x0c\xca\xc9\x62\x28\xc0\x19\xb3\xd3\x65\x50\x4e\x17\x43\x81\x15\xcd\xff\xb2\x0c\xca\x5f\x16\x43\x01\xb6\x3a\x7d\xbf\x0c\xca\xfb\x85\x50\x9e\xc1\xd5\x11\x1d\x2e\x83\x72\xb8\x18\x0a\xac\x48\x1e\x2d\x83\x72\xb4\x78\x45\x70\x67\x4f\x8e\x97\x41\x39\x5e\x08\x65\x1b\x25\xc6\xdf\x96\x41\x39\x5b\x0c\x05\x64\xbb\x8b\x2f\xcb\xa0\x5c\x2c\x81\xa2\xe5\xcd\xf3\xf3\xcf\x00\xa6\x1a\xca\xf9\x79\x70\xd4\x8b\xc7\xfc\xb5\x9c\xa6\xd9\x15\x9c\x73\x56\xff\x28\x20\xd5\x90\x97\x1d\xee\xbf\x31\x7c\x04\x72\xc6\x61\x66\xe9\x7d\x71\x73\x2a\x65\x4c\xe5\x59\xd9\xd9\x36\xe0\xf6\x6c\x6f\xf7\x18\x7c\x6e\xdc\xc9\xb7\x1f\x2a\xfe\x55\xb1\x88\xa7\x40\x7e\xe0\x36\xc4\x02\x14\xc1\x82\x76\xe9\xd6\x2c\xf9\x57\xb9\xfb\x40\x89\xaa\x57\x0e\xb0\xb7\x3e\xc0\xa7\x70\x15\x0f\xf7\xcb\x01\xee\xaf\x0f\xf0\x19\xe0\x70\xf4\xba\x1c\xe0\xeb\x3b\x00\x04\x36\x7b\xf9\x63\x39\xc0\x1f\xef\x00\x10\xb8\xdc\xd5\x4f\xe5\x00\x7f\xba\x03\x40\x60\x78\x7f\xfb\xef\x02\x40\x23\xe9\xff\xb7\x86\xa9\x69\x24\x07\xba\x12\x20\x90\xcd\xf5\xcf\x95\x00\x7f\xb6\xc2\x15\xa4\xea\xfb\x64\xde\x0f\x95\x00\x41\x1c\x8c\xdf\x54\x02\x7c\xb3\xe6\x0c\x3b\xcf\xf5\xdb\xfa\x65\xb7\x00\xd0\xbb\x37\xd7\xc2\xe1\x36\x3c\xec\xce\x6b\x1b\xb5\xe6\xfd\x00\xec\x3c\x42\x1d\xcc\xbb\xd3\x83\x13\x70\xa0\x3b\x4f\x11\x34\x85\x55\x54\x02\xb4\xbf\x97\x30\x98\x68\x64\xf8\x0b\xa5\xa5\xc4\xc4\x3f\x8a\x7c\xc6\x4c\x8d\x0d\xa6\xae\x64\x9a\x0d\xa6\x99\x6a\x33\x76\x94\x80\xe2\xca\xc0\x70\x35\x1b\x20\xf2\x09\xf8\xd3\xde\xe6\x07\x28\x0c\x4c\x15\x7c\xe1\x07\x2d\x35\xeb\x1f\x30\xad\x2c\xe9\xb8\xb0\x88\x83\x01\x45\x7d\xb1\xa5\x71\xa5\x00\x1e\x47\x0e\x4a\x36\x77\x1a\x99\xe8\x30\x80\x82\x33\x25\x62\x61\xfc\x28\x4c\x7d\x8b\xa1\xcf\x2a\x3f\x20\xd0\xef\x5a\x1f\x0c\x58\x4a\x21\x53\x06\xbd\x0e\xe9\xae\x0c\x24\x74\x9e\x50\x42\x8c\xc9\xdf\x29\x15\x03\x79\x99\x44\xbf\xa2\x77\x0a\xe2\x27\x93\xb2\x61\x5e\xc8\x40\x9a\x67\xbd\x9f\x0e\x5f\x9f\xe6\x95\x6d\xc5\x7f\x55\x8c\xf6\x05\x70\x9d\x5f\xff\x1a\x5e\x21\x40\xda\x7f\x2d\x1e\xe8\x4a\xee\x0a\xcc\xf0\xf6\xcf\x25\x50\xfe\xbc\x3a\x94\xa7\x20\xd1\x0d\xf6\x72\x50\xcc\x73\x69\xef\x53\x00\x2a\x6c\xa0\xd1\xbe\xe7\xc9\xf1\xcf\x01\x3b\x37\x1f\x2a\x60\x7d\x58\x06\xeb\x83\xff\x26\x00\x58\xe0\xbd\x5a\xc2\x01\x5e\xe5\x38\x80\xdf\xc0\x7e\x86\xdf\x2d\x53\x01\x6c\x25\xef\x2a\xe6\xf6\x6e\xd9\xdc\xde\x79\x73\x7b\x06\x38\x1b\xbf\x2d\xc1\xfc\xdb\xd5\x31\xdf\xd1\x1b\x58\x6b\x7e\x1f\x42\xe1\x71\x56\x27\x2e\x12\x70\xb8\x4a\x28\x9a\x98\x6a\xed\x1f\xbe\x16\x8a\x96\x8d\x36\xff\x54\x8e\xed\x4f\x56\xf7\xf3\x27\xe0\xdd\x0b\xa4\x9a\x5e\x74\x9b\x5d\x61\x5d\x67\xf0\xc2\xf3\x94\x4b\xa8\x66\xde\x3b\x3d\x79\x53\x25\xae\x04\x5f\x39\x34\x41\xbf\xdd\x37\x70\xe0\x56\xef\xf7\x02\x6e\xe2\xb3\x37\xbb\xc7\xeb\x8d\xf7\x08\x2e\x5c\x56\x2b\xa0\xcc\xa9\xc1\xaa\xb0\xf8\x02\xba\x9e\x9d\xac\x3b\xe4\x0b\xe4\xfe\x27\x6f\x0f\xde\xbd\x77\x5c\x65\x61\xbf\xd0\xa2\x01\xb6\x02\x63\x12\x78\x8c\xb3\x38\x3e\x39\xed\xed\x9d\x2c\xb4\x08\x20\x7e\x1f\x83\x1a\xbb\xb7\x77\xf2\xe6\x67\x6f\xd6\x95\xcd\xe1\x5d\x70\xf6\xea\xe4\x60\x77\x49\xf3\xc0\x58\x02\xd6\x3c\x39\x62\x2a\xba\x45\xd3\x1d\x16\x00\x27\x27\x50\x2c\xd0\x02\x93\x07\x61\xe2\xec\xf0\x5d\xef\xe0\x04\x36\x1c\x0e\xe0\xcf\x62\x8e\xa5\x33\xe9\x94\xe6\x37\xa0\xb0\x13\x8f\x90\x4f\xff\x74\xf4\xf6\x00\xa9\xc6\x80\xf9\x49\x8e\x85\x3d\xea\xcb\xc1\xe0\xc6\x1c\xff\xf8\xfe\x38\x04\x73\xcc\x2f\xc5\xfb\xc9\xaa\xb3\x79\x8c\xb3\xd9\x3f\x40\xb2\x70\x60\xf6\x45\xec\xf8\xce\xf2\xd9\x3c\x21\x21\x61\x3f\x07\xe6\x20\x19\xae\x03\xe6\x31\x2d\x6a\x9f\x2c\x46\xfe\xa2\xa0\x9a\x49\x19\x8d\x97\x1d\xf6\x5d\xbd\x73\xd6\xc6\xa5\xaf\x6d\x2f\x33\x2c\x38\x63\x9b\x04\x5a\xb0\xcf\x45\xbf\x1c\xac\x29\x6f\xc0\xb9\x5c\xad\xd0\x97\x2e\x71\xa8\x2e\x6b\xb2\xd3\x99\x00\x2b\x58\x07\x18\x25\xcc\xce\xd8\x55\xc0\xa4\x68\x6f\x96\xef\x0c\x18\x0f\x0c\x22\x42\x18\x2b\xa1\x02\x67\x02\xcf\xd3\x93\xc3\x1f\x7f\x02\x92\xe5\x83\x3a\x29\x67\xf4\xad\x4a\x46\xa1\xbd\xd5\x20\x3d\x73\xc1\x13\x4d\xe6\x41\xda\x77\x90\xf6\x57\xda\x9e\xb3\xce\x63\x30\x76\xbd\x7b\xff\xf6\xcd\xd1\xde\xcf\x2b\x59\x06\x3f\x46\xd9\x15\x4b\xa6\x63\x3a\xac\x23\x1b\xab\x32\xe1\x43\x76\x29\x12\x91\xf2\x8c\xc4\x47\x28\x4f\x01\xa1\x22\x18\xb2\xa5\xbc\xa3\xec\x8b\x69\x35\xff\xe4\xd7\x42\xc3\x28\xda\xf3\x21\x64\xd6\x41\x32\x0e\xf8\xa9\x50\x26\x07\xe5\xe6\x26\x43\x27\x33\xf4\x0a\xb7\x13\x4c\xbc\x39\x4d\x93\xe8\xef\x53\x6f\x46\xed\xb6\xd1\x9e\xe1\xd9\xfb\xf9\x18\x2c\x3a\x95\x68\x2b\xf2\xf2\x67\xd4\xaf\xb3\x66\xbf\xe7\xd4\x6f\x7b\xcd\x7e\x2f\xa8\xdf\xa3\xf5\xfa\x75\xb6\x80\x84\x7f\x3e\x7e\xbc\x6e\xbf\x0e\xf6\x7b\xb2\x6e\xbf\x6d\xec\xf7\x74\xdd\x7e\x8f\xb0\xdf\xb3\x75\xfb\x3d\xc6\x7e\xcf\xd7\xed\xf7\x04\xfb\xbd\x58\xb7\xdf\x33\xec\xf7\xf0\xe2\xfe\x54\xf3\x5b\x2f\x10\x66\xeb\x3e\x61\x3e\x45\x98\xdf\xad\xb9\xbe\x0e\xed\xfb\xe6\xba\xfd\x88\xce\xda\x2b\xf7\xb3\x2f\x3f\xd4\x5f\x1d\xb9\x10\x4b\x96\xc9\x89\x2f\x1a\x3e\x85\xb5\xbc\xda\x45\x3e\xc5\xc0\xb7\x88\x0c\xea\x0f\x8d\xe3\x80\xfe\xd0\xc8\x59\xd3\x1f\x56\x78\x0d\x3c\x45\xeb\xf7\x47\x73\x51\x06\xf0\xfe\xc7\xc0\xfb\x9f\x32\x78\xa5\x76\xdc\xa7\x70\xd5\x9c\x1c\xbc\x39\xda\x05\x90\x01\xbc\x13\x03\xef\xa4\x0c\x5e\xa9\xe7\xc0\x73\xb4\xe4\x92\x7c\x96\x9b\x5f\xcf\xc0\xeb\x95\xc1\x2b\xf5\x1d\x78\x0e\x67\xf2\x23\x45\xdf\x21\x3c\xcf\x85\x20\x78\x92\xe4\xe0\x95\x79\x0f\x6c\xa3\x2f\xc2\xab\x93\xc3\xd3\x16\x3a\x37\x78\xf0\x9e\x2d\x86\x57\xe6\x3f\xb0\x8d\xde\x08\x1a\xde\xc3\x02\xbc\xe7\x0b\xe1\x85\x1e\x04\x96\xa4\x3a\xcf\x1e\xb1\xb3\xb7\xef\x4f\x0f\x2e\x9a\xac\xf3\xec\x31\x3b\xfb\x70\xf4\xa6\x75\x01\xf7\x49\xe7\xd9\x13\xf8\xf3\xe1\x05\x84\x15\x82\x1b\x9b\x73\x67\xb7\xb4\x68\x20\x61\x0d\x3e\x36\xe6\x09\xbf\x14\x69\x13\x2b\x46\xd4\xa0\x12\xc0\x0d\x78\xf7\x80\x34\x32\x6e\x7b\xd5\xa5\xf4\xe0\x91\x62\x3c\x56\x32\x67\x6f\xaa\x29\xd6\xfa\x64\xfc\x80\x34\x71\x87\xd1\xac\x07\x58\xd5\xd2\x55\x02\x46\xfd\x82\x4c\xa9\x84\x3e\x5c\x5f\x26\xce\x6a\x35\xff\x7f\x5f\x36\xae\x28\x42\x17\x44\xe3\xa2\x13\x25\x76\x38\x86\xd1\x83\x82\x21\x41\x0e\x85\x65\x7e\x59\x2e\x97\x01\x7a\x94\x6d\xff\xa3\x56\xb6\x5c\x35\x48\x25\x95\xec\xc6\x8f\x50\x71\xb4\x3f\x1d\x8d\x44\xfa\xf5\x6b\x07\x81\xbe\xaa\x34\x63\xb8\xf4\x2b\x39\x16\x3f\x8b\xb9\xea\xe1\x84\x7e\xf1\xd7\xed\xc5\x15\x60\x11\xa9\x52\x37\x53\xd7\xdc\x73\xdb\xce\x8d\x52\xe2\xaa\x6d\x1c\x1b\x03\x6c\xfd\x14\xa6\x6a\xf6\x7f\x3b\xc2\xdf\x8a\x25\xa9\x5d\x4a\x55\xc4\xa4\x5e\x3c\xa6\x08\x5a\xba\x65\xc6\x59\xef\x8f\xde\x1f\xfd\x36\xf9\x1d\xb6\xa7\xdc\x0d\xf8\x3e\xf7\xe7\xf5\x82\xfd\x79\xbd\xe2\xfe\x1c\x24\xc3\x7f\xf1\xed\xa1\x87\xec\x6a\x3b\x34\xe1\x97\x95\x3b\x54\x40\xd2\xd9\x93\x7f\xd4\x5e\x2e\xc5\x10\x8e\xff\xf5\x48\x42\x24\x64\xe9\x54\xb0\xfd\x83\x37\x10\x48\xab\xa6\x7d\x48\x0d\x24\x32\xee\xe2\x1a\x4c\x9c\xe1\x51\xe2\xae\x82\x26\xe5\xab\xbd\x4e\x88\x2d\xf3\xd8\xd4\x89\x62\x98\x08\x91\xea\x9a\x5f\x8a\x8c\x71\x0d\x9f\x4a\xa4\x60\xa5\x84\xef\xd8\x20\xe6\xd1\x98\xa2\x51\x72\xfd\x13\x99\x99\x50\xe4\x66\x30\x86\x86\x82\x89\xa2\x6d\xc9\x73\xc8\x21\x94\x50\x3e\x07\x8e\xd9\x7a\xb1\x44\x60\x04\x29\xa8\xbd\x55\xb0\x57\x1c\xf2\xc5\x26\xa6\xdd\x24\x15\x23\x18\x60\xc0\x13\xbd\x72\x4a\x1a\x12\x2e\xde\xa6\x8f\x18\x70\xb5\x0e\x91\xec\x8b\x78\xb5\xcb\x85\xc7\x99\x8d\xe1\xc0\xa2\x7c\x2e\xa4\xe3\xdb\x6f\xe9\x94\x15\xba\xf8\x75\xd0\xbe\x75\x21\x09\x45\x92\x02\x07\x8a\x97\xf9\x6b\xe7\xd1\x3f\xe3\xda\xb1\xba\x92\xdf\xe3\xe4\x3c\x5d\xf5\xe4\x40\xda\xa1\x7f\x6d\x06\x63\xd4\x31\xab\xe1\xa9\xc0\x9c\x73\xe2\x89\x1f\x6a\x5a\x85\x98\x37\x51\x62\x59\xca\x1a\x88\x09\xb3\x33\x7d\x65\x20\xd7\xf2\x3b\xe7\x4f\xb4\xd7\xbb\x35\xd6\xa5\x5b\x65\xf7\x9f\x40\xc7\x4e\xd3\xf5\xc7\x6e\x90\xa3\xdc\x7f\xfd\x2d\x7a\xe5\xb6\xe8\x55\xb8\x45\x58\x7a\x8e\x92\x38\x8d\x79\x3a\xdf\x84\x84\x08\x09\xcf\x60\xb3\x84\x48\x94\x09\x3f\x2f\x6e\xde\xaa\xbb\x84\x46\xf3\x60\x7b\x4c\x39\xa5\x92\x74\x3b\x0e\xd9\xb3\x68\x22\xf6\x64\x92\x89\x24\x53\x5f\xcd\x24\xc0\x94\x0a\x36\xd7\x4e\xbb\xfd\x22\x6f\x54\x35\x64\xa8\x5f\x4a\x41\xbe\x09\xba\x6d\xdd\xdb\x09\x41\x38\x0b\xee\x0b\x2a\xce\x87\x29\x9c\xe2\x39\x95\x7c\x9b\x88\x41\xc4\x63\x2f\x01\xd2\x18\x5e\x71\x90\xea\x42\xe2\x30\x51\xc2\x6e\xf5\x42\xf4\xe0\x97\x89\x1c\x8b\x96\x5d\x39\x46\x88\xa6\x3c\xb9\x04\x13\x72\x2a\x00\x32\x8c\xb7\xdd\x6e\x3f\x87\xfb\x5c\x83\x9a\x99\x8a\x65\x0c\x16\x85\x85\x90\x48\x2c\x80\x6c\xaa\xa8\xd5\x9c\x5d\xc9\xd8\x80\xa3\x99\xad\xbc\x77\xe4\x71\xba\x60\xf7\xfe\xf9\xa1\x66\xc5\x7b\xdc\x62\x52\x6f\x3b\xad\xa1\x2f\x52\xba\x9e\xef\xfa\x58\x34\x25\x6f\xab\xcb\x97\x84\xe5\x6f\x3b\xb5\xae\xbd\x17\x3b\x24\x8d\xe3\x2f\xdb\xee\x17\x63\x95\xf3\x7f\x7e\x94\xfb\xf9\x2c\xfc\xf9\x71\xee\xe7\xf3\xf3\xf0\xf7\x27\xb9\xdf\x2f\xc2\x9f\x9f\xe6\x7e\xfe\x25\xfc\xf9\x59\xee\xe7\x4f\xe1\xcf\xcf\xbd\x45\x59\x79\xc6\xfc\xf8\xc2\xfb\xf1\x45\xad\x90\x3a\xc0\x3f\x8b\xbb\x71\xb6\xf6\x51\x5c\x85\x62\xc9\x7d\x79\x01\xc1\x2e\x21\x17\x04\xf0\xf5\xd4\xb2\xb4\x25\x29\x85\x2a\xb9\x15\x38\x85\xfc\x1e\x28\x32\x2e\xe2\x77\xc7\x11\x41\xf8\xe7\x22\x89\x04\x87\x5f\xf6\xa0\x74\x64\x92\x89\x74\x92\xba\xca\xf7\x94\x1e\x16\x5e\x28\x03\x39\x99\xb3\x81\x1c\x8f\x79\x52\x5e\x9e\xa3\x82\xf3\xed\x2d\x42\x11\x25\xa3\x10\x26\xc2\xb7\x02\x5d\x97\x22\xdb\xa7\xdc\x49\xf5\x86\xfe\xab\x67\xfa\x78\x75\xfa\x1e\x58\x40\x90\xdf\x38\x8e\xf9\x44\x89\x61\x90\x2c\x22\x80\xae\x25\x85\xbd\x3d\xbd\xaa\x1c\xfa\xfd\x72\x54\xe8\xb0\x64\x5c\x8a\x00\x07\x7e\x66\x57\xdf\x31\x09\x71\xa9\x31\x69\x4c\x98\x6d\x07\xe7\x98\x4a\x39\x1a\xaf\x2b\xd6\x9f\xb3\x58\x64\x99\xc9\x17\x97\xab\x2d\x89\xc3\xa2\x2b\xd6\x58\xaa\xcc\x01\xa2\x86\x54\xef\xd5\x64\xd7\xf9\x4e\x26\xf1\xfc\x3b\x36\xe3\x90\xe9\x09\xb3\x07\x67\xe2\x36\x33\x01\xc3\x83\x38\x9a\xa0\xd2\xdd\x0b\x8a\xa5\x90\xd8\xda\x30\x8d\x6e\x44\xab\x3f\xaf\xb1\x99\xe8\x9b\x39\x2f\x20\x5e\x28\x89\x62\x77\x60\x77\x94\x89\x54\xa3\xd1\x8f\xdd\x55\x22\x3b\x8d\xc6\x42\x4e\xb3\xba\xdb\x95\x01\xed\xc9\xa9\x3c\x48\x86\x90\xd0\xd5\xfd\xd8\x68\xb2\x27\xae\x1a\x55\x2e\xd4\x75\x95\xf8\x58\xaf\xaa\xd4\x83\x05\xfb\xbc\x68\x9b\xd1\x91\xec\xf7\xd8\xec\x31\x4f\x40\xb0\x31\x4e\x78\x50\x91\x67\x26\xd3\x6b\xc8\xc5\xa4\xa2\x6c\x4a\x19\x23\xa1\x4a\xaa\x03\x64\x12\x86\xb5\xc5\xad\x18\xec\xe1\xd9\xab\xd7\x34\xc8\x5a\x03\xb5\xcf\xb1\x9c\xb9\x02\x6c\xff\x12\x7b\x56\x35\x01\x39\x99\xdb\xf1\x4f\xe5\x9e\x21\xc8\x7a\x2e\x61\xf9\x4a\x2f\x00\x2f\xa3\xb9\xbb\x46\xb7\x1e\x95\x3f\x9d\x88\xc3\xbd\xd3\x1c\x4e\x4e\x20\x6d\x7f\x22\x66\x46\xe7\x4f\xac\x1f\x4c\xd9\xb1\x44\xd9\x7f\x2d\xc1\x6e\xd9\x0d\x50\xa4\x38\x1c\xb9\xad\xe7\x52\xb7\x3b\x6c\xc7\xbe\x02\x25\x4e\xad\x56\xcc\x3a\x54\x1b\x80\x54\xba\x93\xc8\xe6\x20\x96\x4a\xec\xcc\x85\x6a\xa6\x42\x45\xbf\xe2\x47\xf3\xb8\x48\x15\xfc\x59\x0b\xea\xdc\x11\x88\x71\x94\x44\xe3\xe8\x57\xde\x8f\xb1\xcf\x2c\x1a\x66\x57\x3b\x35\xf6\xd0\xcc\x2a\x4a\x12\x91\x7e\xd4\xdf\x96\x75\x6f\x5e\x89\xe8\xf2\x2a\x2b\x74\xf8\x09\xbe\xfe\xba\xa7\x9c\xde\x42\xb1\x70\x0b\x3f\xc0\x25\xa5\xd4\x54\x4b\xc9\x68\x36\xf1\x2e\xa4\x7c\xa2\xe0\xbe\xb8\xe2\x37\x11\xf4\xc0\xc4\xee\xba\x3d\x25\xc6\x35\xea\x32\xa5\x84\x0a\xbc\x48\xd1\x1d\x01\x6b\xb0\x7f\x87\x63\x56\x76\xf9\x40\x95\xde\x29\x0b\xe0\x28\x8e\xc0\xc8\xe4\x67\xad\xab\x69\xe6\xd3\xba\x69\xc1\xe0\x35\x50\xd0\x61\x56\x56\x9a\xf0\xaa\x54\xf6\x61\x19\x95\xd5\xfd\x64\x24\xa6\x82\x5b\xc0\x02\x3f\x80\xa5\xc7\x53\x8a\xd7\xc3\x1e\x25\x5c\x93\xba\xf8\x65\xbf\x85\xa9\xa0\x4e\x61\xea\x7a\x61\x90\x83\x6c\x9a\x2a\x11\xdf\xa0\x17\x08\x64\xef\x89\x63\x7b\x57\x6d\x1e\xf5\xb0\x2c\x19\xe1\xcd\xab\x63\x47\xfd\xdb\x4c\x3f\x0f\x79\x3f\x9e\x83\x57\xf1\x98\x0f\x8e\x7a\x4d\x6a\xbd\xe9\xef\x8f\x97\x98\xde\xd6\x5c\xfe\x49\xce\xc4\x8d\x48\xe9\x46\x84\x0a\xca\x2c\x9d\x26\x98\x8f\x7f\x26\xfa\xe0\x46\x92\x46\x48\x7c\x60\xdc\x8b\x46\x2c\xca\xd8\x88\x47\xb1\x02\x7d\x29\x94\x3a\x33\xe0\x46\x9c\x5e\xe8\xc4\x1a\xfc\x6b\x3a\xe1\x59\x74\x23\x1c\x69\xd5\xaf\xe4\x44\x8c\xa6\x71\x3c\x6f\x30\xa5\x1f\xad\x53\xd5\xae\x10\x37\x7c\xd9\x0f\xea\x2e\xdc\x85\xed\x89\x58\x89\x75\xef\xc6\xdc\x19\xeb\x3c\x2d\x3d\x63\xc5\x92\xe0\xf7\xcf\x2f\xd1\x85\xf6\xff\x2e\x7e\x29\xa7\xd9\x7a\xfc\x12\x3a\xdc\x07\xbf\xfc\x1a\x79\x9f\x1c\xf0\xa5\x6f\x87\x36\x22\x28\xa4\xa4\xae\x7e\x08\x60\x1e\xc3\xf0\x2d\x40\x95\x9d\xfc\x82\x07\x9e\xa8\xa4\x59\x70\x09\x0f\x85\x39\x90\xcc\x45\xe5\xe7\xc1\xe8\x0e\xfa\x9d\x94\x27\x6a\x1c\x65\x8c\x27\xa6\xc8\x64\x3d\x1a\xb1\x7c\xf9\x4d\x10\xa5\x1a\x94\xd5\x19\xed\xfb\xb5\x41\x4d\x0f\x58\xdb\xab\x95\x4d\x2c\x10\xe1\x66\x40\xf1\xb8\x62\x0f\x01\x26\xa3\x3a\x99\x48\xc0\x9e\x02\x2a\x3e\x89\x0a\x23\xcc\x99\x6d\xde\x2c\x4a\xba\x95\x5d\x27\x72\xa6\x40\xa1\x24\xc0\xbf\xe5\x4a\x8c\xa9\xae\x56\xac\x9b\x49\xd0\xe0\xe0\x8b\x13\xd1\x78\xc5\x21\x97\xaa\xcc\x6d\x4b\x7f\x8e\x69\x42\xae\x22\xc7\x79\xa0\xa4\xcf\x25\x8f\xd6\x3a\x6c\x4b\xdf\x5e\xe6\x38\xad\xf8\xf4\x7a\x59\x38\xa3\xec\xf3\x67\x27\xa5\x86\x0f\xb3\xb2\x57\x18\x66\x89\x02\x0c\x42\x01\x5c\x32\x90\xf5\x85\x5e\xe6\x95\x88\x87\x40\x2d\x3e\x1d\xd9\x19\xe6\x64\x6f\xeb\x5f\x48\x48\x73\x19\xe1\x28\x39\xbf\x1c\x0a\x4c\x2a\xcb\x87\xa8\x7b\x3d\xe8\xed\xb1\x72\x1a\xca\xd2\xa9\x73\x40\x9d\x09\x42\x3e\xa5\x67\x1f\x8a\x41\x34\xd4\x2c\x3f\x9b\x09\x91\x00\x7d\x81\x4f\x23\x10\x98\x3b\xbd\xa5\xfa\xac\x20\x41\x18\x94\xfa\x0d\x6a\xd1\x9b\x72\xc7\xe0\xee\x1a\xd3\x69\xcb\xbd\x04\xf5\x19\x28\x79\x7e\x7f\x85\xac\xef\xc9\xf9\x7e\xc2\xc8\xca\x6d\x0c\x9e\x00\xf5\x06\xfb\x62\xc5\xfe\x2f\xab\x30\x23\xbc\x86\x8a\x9c\x08\xf2\xfe\x48\x97\x32\x08\xb6\xf1\x43\x93\x0d\xc5\x84\xea\x8f\xcb\xa4\x28\x30\xb1\x5d\x74\x08\x86\xde\x1e\x07\xf9\x80\xf5\xce\x35\x2f\x5b\x89\x8f\xa1\x74\x57\x90\x21\x57\x3d\x58\x4b\xe5\xb1\xaf\xd6\xe6\xe4\x4d\x87\xa8\x2f\xfa\x60\x13\x4d\x2d\x86\x64\x13\x4c\xad\x77\x49\xfc\x84\x34\x37\x92\x49\xc6\x7e\x95\x72\xec\xd5\x37\xf4\xb2\x1d\xd5\x94\x2b\x01\xab\x5b\xb1\x2b\xa0\xd0\x7e\x94\x61\x86\x74\x23\xa2\x67\x6c\x20\xd2\x8c\x9b\x56\xb1\xb8\x11\x58\x9d\x94\xed\x66\xe8\x00\x3c\xe6\x54\x44\x81\x44\x33\x4c\xcb\xcd\xd5\x34\x15\x43\x86\x57\x27\xd6\xba\x4f\xe5\x0c\xd2\xdc\x8a\xdb\x8c\x0d\xa1\x0a\x85\x22\x4d\x06\xf2\x63\x6a\x0b\xd6\x85\x19\x57\x4c\xdc\x4e\xe2\x68\x10\x65\xf1\x5c\x93\xbb\x59\xc3\x47\x5b\x6c\x51\x04\x47\x0d\xa6\x67\x72\x89\x69\xa6\x7c\x89\xbf\xa3\xa1\xf6\x58\xa6\x59\x4d\x21\x52\xb4\xec\x00\xd2\xeb\x77\x94\x73\x4c\x37\x83\xe5\xae\x4a\x3d\xa1\x2b\xe7\x12\x2a\x7a\x50\xa2\xb2\x0a\x00\xfc\x55\xcf\x3c\x30\x24\x87\x9c\x16\x9e\x1f\xc7\x6f\xff\x6a\x6c\x0a\x0a\xd7\x6a\xcd\x51\x3e\x13\xb6\x1e\x0a\xd2\x86\xeb\x41\x77\x68\x54\x09\x04\xca\x9b\x78\x50\x7c\x5f\x07\x03\x86\xee\x76\x36\xe3\x98\xf0\xd5\x7a\xf3\x5b\x4b\x07\x66\xc8\x56\x99\xe0\x50\x64\x8c\x8f\x46\x9a\xfd\x24\x97\x30\x92\x93\xa8\x03\x26\x0b\xd9\x5e\x5b\x9f\xf2\x79\x5e\xb5\xb8\x30\xaa\xbd\x84\x81\x7f\xf9\x64\x9d\x05\x8f\x92\x78\xce\x7e\xf9\xa4\xa7\x78\xc3\xe3\x68\x88\xc4\x26\x49\x28\x0a\xca\xdd\x27\xd2\xa4\x56\x6e\xdf\x49\x3e\x5b\xc0\x9a\x2f\x45\xa6\xb7\xec\x35\x1f\x64\x32\xad\x37\xd8\x03\xaf\x96\xb9\x5f\x5f\x10\x5e\x50\x19\xeb\x74\x3b\x88\xeb\x11\x74\x68\xda\x4b\x42\x3f\x89\xd8\xc3\xcd\xd6\xe6\x16\xd2\xad\x41\x24\x3c\x3b\x03\x45\x21\xf4\xc7\x47\x8f\xa6\x62\xc1\x55\x84\xbc\xd1\xf8\xd8\x4f\x89\x57\x5e\x0a\xcc\x04\xaa\x3f\x77\xb6\xb6\xfe\x73\xc5\xb5\x07\xaf\x0c\x28\xc6\x0e\x45\x41\x16\x57\xa7\x87\x5a\xf3\xb4\x83\x5b\xb5\x5c\xc9\xd9\x12\x8b\xb1\xc8\x5e\xcb\x24\xeb\x45\xbf\x0a\x2a\x59\x1f\xd4\x99\x05\x25\xb2\x3e\x98\x8b\x84\x18\x0b\xa0\xe1\x55\xbc\x35\x73\x68\xd5\xb4\x1c\x53\xa4\x2e\xf4\xd6\x76\xf3\x83\x51\x5a\x3b\xac\x53\x5a\xed\x16\x7e\x7d\xe8\x7e\xfd\x66\xa1\x15\xdc\x9b\x92\xee\xd8\x58\x5d\xbc\xf7\x0c\xb4\x6b\x94\x8d\x9a\x50\xb5\xaa\xff\x5b\x8a\xa7\x63\xcd\x35\x3d\x01\x5b\x0d\xa0\x1f\x65\x68\x6a\x37\x49\xf8\x20\x87\x35\xc8\x70\xa3\x28\x11\xe4\x20\x91\x2b\xdc\x7b\xea\xd7\x13\x80\x52\x68\xe0\x32\x2c\x92\xe9\x58\x60\xe5\x72\x9a\x97\xca\x78\x16\x0d\x58\x59\xdd\x33\x0d\xc7\x96\x53\x33\xa9\xb1\x21\x79\xbc\x85\x4c\x4a\x22\x10\x35\xd9\x88\xc7\x4a\x80\xa8\xbb\xf1\xdd\x86\x96\x5c\xd3\x29\x5c\x7c\x89\x32\x17\x9a\x5f\xe1\x00\xab\xb2\xf5\xa1\xf0\xaf\x12\x49\x46\xfd\xb1\x83\x16\x10\xe1\xf7\x44\x66\xf8\xd8\xd8\xf8\x6e\xc3\xc1\x82\x52\x7e\x42\x25\x35\x28\xeb\x96\x55\x3b\x1c\x98\xba\xa5\xde\x85\xa4\x26\x62\xe0\x39\x17\x98\xda\xc2\x7b\x72\x0a\x0f\x86\x2d\xbf\x92\x0f\x26\xc3\x04\xcb\xb8\xf9\x13\xce\xd9\x2a\x45\xe3\x46\x32\xd5\xb8\x72\xd2\xe8\x58\x0e\x7d\x1f\x92\xb3\xb1\x1c\x5e\x10\x70\xfc\xfc\xf9\x33\xa2\xe0\x65\xa0\x6b\xa1\x76\x3b\xac\xf6\x9d\xbd\x14\x8a\x33\x7f\xf8\x10\x4e\x1a\xea\xb2\xf5\xcf\x8d\xd0\x3f\xfb\x83\xbe\x1d\x72\x14\xb1\x04\x69\x6e\x2d\x6c\x87\x9d\x7d\xc3\x58\x0d\xae\xc4\x5a\x13\xf5\x7f\xfa\x7f\x79\x0c\x7f\xea\xc7\x47\xed\x9b\x0b\x9f\x8e\x07\x58\xa2\x1a\x92\xa4\x03\xff\xd5\x8c\x79\x17\xca\x21\x38\xb9\x01\x4a\x61\x37\x02\x59\x2c\xa8\xf2\xaf\x6f\x56\x45\xd1\xeb\x5a\x7a\xc2\x5b\x96\xa7\x50\xc7\x0f\x0b\x29\x9b\xea\x20\x83\x4c\xa8\xcc\x94\x39\x9b\x98\xc2\xd2\xa3\x28\x55\x59\x13\x5f\xb3\x3c\x63\xb1\x94\x4a\xc4\x73\x5b\x72\xca\xb6\x83\x0b\x92\x33\xfd\xdc\x86\xd2\x46\x32\x8d\xb2\xb9\xee\x03\x15\x48\xa0\x7e\x91\x6d\xbc\x46\x21\x7a\xbe\x62\xbb\xfe\x92\x8d\xf0\x6a\x7e\xfb\x94\xec\xf2\x0d\x6b\x5a\xe1\x39\x52\xfe\x9e\xf5\xc3\x6f\x02\x91\xbd\xd5\xb1\x16\xc6\x7c\xc7\x1f\x16\x76\xec\xf8\xe2\xfc\x56\x40\x63\xc7\x69\x74\xc3\x33\x61\xb2\xfa\x1a\x36\x65\x0a\x2f\x52\x6d\xaf\x89\x29\x1d\xae\x9f\xfd\x2a\x23\x61\xc5\xfb\x45\x51\xc1\x49\xa8\x50\x21\x67\x09\x7a\xa4\x16\xf0\x6e\xca\x4c\x6a\xb2\xa1\xfa\x92\x99\x57\x91\xd2\xb6\xa3\x32\x92\x5f\x90\x1d\xa1\x3b\x2c\xd9\xc2\x28\x77\xba\x5f\x5e\xfc\xbd\x12\xa3\x69\x8c\x89\x1a\xe6\x72\x0a\x24\x88\x85\x76\x32\x69\x6a\xf2\x00\x3f\x42\xa2\xc0\xb5\x99\xa5\xf0\xa4\xb0\x98\x65\x67\xcc\x1d\x06\x00\x15\x88\xce\xb2\xff\xb7\x26\x8e\xf3\x56\xff\x56\x34\xbf\x03\x7b\x7a\xb0\xa3\x97\x6f\xfe\x0c\xf6\x8a\xb8\x09\x89\x30\xe9\x8d\xcd\xd8\x7d\x0f\x2c\x4c\x43\x1c\xcb\xe1\x07\x1e\x4f\x35\x51\xea\x9f\xf4\x95\x22\xfb\x7f\x6b\xb0\x3f\xe9\xff\x41\xbe\xd5\xcd\xb3\xb4\x07\xe9\x8d\x66\x74\xf5\x07\x6e\x61\x46\xb3\x1f\x70\x3a\xdd\x28\xf8\xd2\x0c\x16\x0a\xc6\xa6\xca\x81\x5e\x9b\x1d\x29\xc7\x06\x1d\xbd\xa6\x37\x2f\xcb\x0a\xa4\x12\x61\x14\x2b\xa0\x12\x5d\x45\x58\x7d\xd1\x55\x4a\x0d\x49\xf9\xff\x9f\x05\x50\xab\x89\x98\x8a\x86\x56\x16\x41\xf5\x75\x01\x48\xf5\xe6\x77\x92\x01\x1a\xab\xed\x52\xf5\x75\x1f\x29\x57\x74\xce\xa8\xf5\x39\x49\x21\xa0\x5d\x15\xab\x73\xf1\xb5\xd7\x5e\x22\x73\xb8\xb2\xaa\x8b\x30\x40\x4d\x9a\xb0\xd4\xc6\x2a\x92\xb0\x9c\xa0\xec\xfc\x6f\x5e\x38\x95\x36\xfa\xbf\xf4\xaf\x7a\x90\x9b\x48\xcc\xa8\x74\x4b\x14\x0b\x16\x8d\x27\x54\x02\xc8\x2b\x46\x76\x84\x4b\xc7\x72\xa5\x50\x86\x08\xcb\x51\xaa\x4c\xa6\x42\xd9\x8c\xe8\xfa\x2c\x60\xf2\xf4\x81\x4c\x86\x54\xe9\xc9\x3c\x12\x03\xaf\x4a\x4d\x17\xe6\xb8\x6b\x70\x70\x7d\xf9\xaf\x77\xa6\x44\xaa\xcf\xa0\x1c\x31\x20\x1a\x01\xd5\x4c\xad\x82\x4e\xf1\x9b\x28\xb9\xdc\x4c\x85\x9e\x01\x15\x30\xc2\x5c\x00\x54\x23\xc9\x8c\xae\x1f\xab\xf1\x9c\x8a\x37\x49\x7d\x5e\x6f\xa2\x21\x96\x23\xe3\x6a\x4e\x6e\x2e\x7a\x8a\x03\x39\x1e\xcb\x44\x77\x1d\x45\x97\xd3\x14\xd4\x49\x70\x37\xd2\xae\x9b\x78\x8f\x34\xba\x84\x84\x24\xb0\x51\xfd\x39\xdb\x93\xe9\x9c\xbd\xe5\x83\x01\x4f\x53\x22\xf5\x4d\xe7\xd7\x2b\x13\x95\xa5\x53\xfd\xf0\xb6\x78\x28\xc3\x28\x8d\x02\xee\xa5\x1c\xb5\x16\x56\x63\x4b\x0b\x32\x70\x4a\xcc\xd4\xf8\xda\xe0\x2a\x64\x34\xd9\xa4\xbb\xb9\x39\x9b\xcd\xda\x37\x59\x67\x6b\xab\x9d\x88\x6c\x73\x28\x07\x6a\xf3\x26\x7b\xd2\xd9\x6a\xa5\xe3\xcd\xfd\x83\xbd\xde\xe9\x09\xca\x5c\x03\x31\x31\xaa\x2f\xfd\x6e\xc1\xb2\x5c\xd3\x4c\xce\x52\x3e\x61\x75\xfd\x5f\x2c\xa6\xda\xf0\x13\x89\xa3\x9f\x2b\x96\xd2\x13\x62\xac\x48\xab\xd5\x17\x6c\xa6\xbf\x43\xaf\x5a\xfd\x74\x28\x3f\xff\x84\x82\x9d\x2f\x7a\xf5\x9f\x40\x39\x7d\x44\x68\xb0\x65\x09\x40\x9b\x26\x27\x73\x14\x32\x3c\x34\x78\x8c\xc2\xa0\xd2\xbf\xcc\x09\xa0\xf5\x8c\xd5\x27\x90\x67\x59\x1a\xf5\xa7\x19\x94\x59\x27\xe3\x0c\x94\xdf\xd5\xd8\x9b\x4c\xfb\x71\x34\x70\x04\x06\xd4\xc1\x07\x03\xa1\x14\x85\x7c\x22\x20\x4b\xc5\x36\xae\xc2\x21\x87\xed\xb8\x95\xfc\xc9\x7e\xf4\x1b\x74\x6d\x11\x0f\xaa\x54\x7a\x23\x52\x25\x3e\x2e\x83\x50\x6c\xe7\xdd\xf4\x00\x49\x02\x59\xbe\xc5\x17\x54\x19\x08\xaf\x41\xbe\xaf\xde\xe7\x3d\x9e\xa6\x11\xbf\x14\xc4\xfe\xcb\x61\x94\x34\xcc\xc3\xc2\x33\xf8\x21\xc2\xfa\x4d\xe5\x60\xc2\x36\xe5\x10\x5e\xc5\x51\x72\xbd\xb0\x3f\xb6\xc8\xf7\x8e\x20\x20\x75\x01\x1e\xbc\x06\xf9\xbe\x84\xe5\x0f\xd1\x50\xc8\xc5\x1b\x81\x4d\xf2\xfd\xfb\x29\x1f\x5c\x8b\x4c\x0c\x31\x1e\xb6\x1c\x42\xae\x91\x85\xb1\xfc\xfa\x99\xf0\x54\x89\xf4\xdf\x5d\xf7\xb2\x6e\xd9\xee\xdc\x99\x67\xc7\x1a\x0b\xe5\xe5\x00\xe7\x49\xc6\x6f\xf1\x26\xd1\xbc\x16\xcd\xa9\xd6\x96\x37\x55\x99\x1c\x47\xbf\x72\xcb\xcd\x0d\xfb\x00\x88\x69\xb1\xf4\x19\x4c\x80\xe9\x29\x68\x81\x83\xfd\x86\x65\x31\xf1\x09\x44\xe8\xc2\xaf\x40\xcb\xf9\xdd\xa6\x21\x03\xfa\x6d\x87\xd5\x30\xf8\x2a\x0f\x27\x01\x7f\x5d\x84\x63\x4b\x89\x48\x65\x6a\x11\xfb\xa0\x26\x52\xa1\x92\xa4\x72\x3a\x7f\x22\x38\xd6\xcd\x9f\x22\x07\x97\x00\x1e\x5c\xb1\x1d\x57\x38\x3e\x40\x84\x27\x63\x89\x34\x95\x01\x62\xc6\x42\x29\x7e\x29\x02\xb1\x2a\x11\x33\x76\xa0\x1b\xd6\x6b\x00\x80\x61\x2f\x9e\x41\xe1\x49\xbb\x8c\x87\xac\x86\xa5\x28\x0d\x8c\x85\x23\x47\x4a\xbf\xc0\x63\x91\x89\xe2\xbe\xf8\xe2\x1c\x20\x68\xc7\xc7\xbb\x29\x28\xb8\x08\x7a\xa1\xd6\x1d\x76\x85\x5b\xf8\xd3\x44\x2a\x4f\x61\x65\x37\x13\x3f\xbc\x0c\x77\x86\xda\xeb\xd7\x93\xd3\x64\x01\x6e\x69\x32\xa1\xd2\xda\x7f\xbd\x03\xaa\x8a\xd1\x56\xa8\xcf\xf1\xbf\xd5\xc7\x91\x5e\x2b\xf8\x50\x91\xb6\x2e\xbb\x57\x27\xc9\xdd\xfc\x50\x16\xdc\x5f\x37\x95\x95\x86\xa7\x85\xe9\xf0\xb3\x98\xab\xc0\xe5\x81\xdb\x8c\x37\x6d\xc6\x7e\x16\x24\x74\x0c\x85\xf5\x4c\xe3\xe0\x0b\x25\x2e\xd1\xed\x5d\xff\x65\xc1\x5a\x2b\x5a\xe5\xb0\xa6\x80\x7e\x9b\xb1\xb7\xae\xb4\x13\x2a\x59\xb1\xb2\xbe\x2b\xc5\xfb\x37\xa9\x17\x02\x72\x04\xbe\x27\x86\x50\x83\xdb\x8b\x58\x41\x24\x25\x4c\x33\xd0\x34\x52\xd7\xa0\xad\xa4\x69\x1a\x35\x48\x94\x0c\xb1\x0c\xaa\x8d\xa5\x9d\x26\xae\x5e\x68\xa0\x74\xd5\xb7\xbf\x11\xbf\x0c\x74\xaf\x00\x76\x17\x1f\x75\xbb\x5d\x06\xcf\x67\x41\x9e\xb7\x3c\xc8\x51\xb5\xb1\xbb\x11\x4e\x91\x31\xf6\xf4\x49\x97\xf5\xf0\x2d\x84\x49\xca\xe8\xfb\xad\xdb\xc7\x9d\xf2\x5f\xc0\x49\x2d\x3f\x10\x7e\xe9\xb7\xa8\x02\x0c\x3f\x2e\x81\x8e\x96\xee\xd2\x31\xe8\x27\xbf\xf5\x77\x7e\x4b\x9c\x08\x54\xca\x9d\x09\x2d\x4e\x29\xaf\xea\x62\x40\xb1\x80\x73\x93\x24\x94\x0a\x27\x6b\x86\x10\x0b\xae\x3c\xdb\x93\x26\x80\x5d\x5b\xe5\x17\x98\x3d\x9d\x6d\xfb\xa8\xcf\x3d\xe6\x41\x25\xda\x04\x93\xa2\x57\x4e\xa7\x69\xc8\x08\x87\x72\x0f\xf8\x22\x97\xf7\x98\x00\x5c\xa7\x3f\x8b\x79\xcf\xcc\xba\xc0\x68\xac\x1a\x07\x75\x30\xb6\xa0\xae\xe6\x9b\xdf\x40\x95\x24\xbf\xba\xe9\xb5\x7b\xde\x2f\x39\x78\xb6\xd4\xd5\xcd\xd9\x4a\xed\xcf\xae\x2f\x2e\x02\x85\x8b\x1e\x77\x76\xa5\x1f\x6b\x75\xcb\x8c\xbe\x2f\x61\x82\x41\x10\xa5\xba\x8e\x26\xbd\x09\x1f\x38\xeb\x95\x9e\x75\x26\xaf\x85\x0d\x9a\x00\x94\x9c\xea\x6f\x8c\x47\x35\xe8\xbf\xf4\x17\x6d\xb8\x74\x76\x76\x58\x8d\xb8\x80\x67\xd1\x4a\x6f\x3c\xed\x3d\xb6\xbe\xe1\x31\x69\xbe\xac\x85\xab\x0c\x94\x5d\x70\x2d\xac\xd6\x36\x1d\x18\x4d\x97\x07\xae\x9d\xc9\xf7\x93\x89\x48\xf7\xb8\x12\xce\xe3\x5b\x83\x35\xcd\x57\xdd\x00\x17\x42\xee\xdc\x1b\x96\x74\x69\x5f\x71\x75\x34\x4b\x8e\x49\xdd\x63\x86\x6c\xf8\xce\xef\xa4\xa4\xb3\xa5\xa5\x96\x6d\x2b\xc1\xb8\x78\x69\x21\xe8\xc5\xa4\x37\xa8\x84\xfb\xf6\x5b\x66\x3e\x3e\x08\xcc\x11\xb8\xa3\x29\x78\xdc\x45\x0a\x2f\x69\xbf\xf0\xb3\x19\x03\xaf\x5b\x0f\x81\x0d\x37\x90\x81\xec\xa9\x28\x73\x5b\xb5\x0a\x4e\x2d\xf7\x0e\xf0\xb9\x0c\xad\xf6\x32\x58\x01\xa5\x01\x69\x2d\x85\xe8\x61\x34\x5c\x90\x03\x58\x44\xdc\xfb\xe4\x3a\x91\x33\xd0\x42\x56\x63\xec\xcb\x32\x52\x56\xf3\x71\x5f\xc6\xb5\xb0\x52\x9d\x07\xc9\x2a\x5a\xdd\x54\x5c\x5d\xe4\xe1\xda\xac\xc3\x11\xdc\x64\x65\x72\x8b\x86\x1e\xa5\x59\xf5\xf0\xd9\xe4\xa2\x11\x6c\x1e\x7c\xc5\x76\x98\x9e\xae\x6b\xff\x65\x1d\x84\x8a\xdb\x89\x18\x64\x62\xc8\x10\x2b\x8b\xd0\x5a\x02\xb3\x08\xf1\xc0\xc0\xf3\x24\x10\x9f\x77\x14\x6d\xe5\x45\x66\x67\x35\xf9\x83\x2b\x38\x4f\x2d\x7b\x9e\xfa\xa9\xe0\xd7\x5e\x2b\x8f\xe6\x1e\xa0\x90\xdc\x58\x30\xb3\x2c\xe5\xfe\x23\x84\x8f\xb4\x10\x9e\xf1\xf4\x52\x80\x81\xac\x66\xc6\xa7\x4a\x72\x37\x3c\x19\x88\xba\xe7\xbf\x97\x1b\x71\xc7\x1f\xb1\x38\xde\xdb\x48\x29\xf0\xe6\xcc\x0f\x90\x53\xb9\x2f\xb9\xf3\x76\x4d\xac\x5c\x59\xb5\xe7\x3c\xee\x96\x5c\x13\xdf\x94\xde\x12\xf8\x3a\xa9\x05\x06\x92\xfc\xd5\xb0\xda\x8d\x90\x3f\x48\x8b\x8e\x0a\xa7\xca\xd2\x1e\x3f\x5a\xd6\x36\xcf\x85\x7c\x32\x2d\x75\xaf\xaf\x06\x75\xe6\xf5\xbd\xb0\xdb\xbe\x80\xdf\x90\x93\x7c\xf9\xf9\xa0\xa4\x40\x95\x67\x01\x31\x5c\x3c\x0a\x0b\xf7\x5f\x88\x6b\x0c\xea\x5e\xfc\xac\xd2\x4f\x98\x1d\x56\x3b\xaf\xd5\x8c\x61\xc8\x7c\xb5\x51\x5b\x4c\x60\x42\x5c\x1f\xba\x87\xc1\x92\x41\x50\x1b\x5f\xdf\x3c\xe3\xad\x5f\x3f\x5d\x6c\x46\x8b\xdf\x84\x00\x9b\x18\xc0\xaa\x80\xb7\x5a\x2f\x2e\x36\x97\x80\xb5\xd4\x5c\x84\xea\x33\x8d\x90\x81\x3b\xd9\x50\x03\xe9\xda\x0b\xa0\xc9\x60\x07\xbb\x66\x26\x5f\x5e\x56\x9d\xfe\xe0\xcc\xe6\xbd\xbe\x42\x3c\x9a\x40\x0f\x23\x1d\xd3\x90\xde\xbe\x87\xc3\xc2\x92\xfc\xee\x5f\x5e\x16\xa0\x23\x19\x54\x40\xa6\xd3\x5b\x02\xd5\x74\x2b\x81\x48\x7b\x53\x35\x59\x12\x1b\xcb\x66\x6a\x3a\x6a\xa0\xa5\x44\xef\x5d\x29\x70\x4c\x6a\x2b\x6c\xe9\x22\x32\x74\x11\x9e\xe5\x88\x5e\x74\x05\x85\x87\x2d\xa7\x8e\xd0\x03\x93\x61\x09\xc9\x7a\xab\xf5\xe2\xd3\xc5\xc3\xcd\xe8\x72\x95\x19\x57\x11\xb7\x26\xb6\x3e\x57\x5a\x06\xea\x6c\x85\x88\x27\xc2\xdc\xaa\xd9\x80\xad\xaa\xc7\x00\x6b\xb1\x4e\x2e\x77\x52\xa8\xa4\xf0\x54\x35\x9d\x26\xeb\x34\x00\xf0\x6d\x2d\x57\x98\xd7\xcc\xb4\x5e\xb2\xe0\xad\x5b\x7d\xe0\x78\x6b\x74\xf1\x70\xf3\x32\x6a\x14\xdc\xd1\x16\xf5\x3d\x1f\x3e\xdc\xbc\x6c\x94\x2b\x49\xf4\x95\x17\x43\x7a\xc3\xa1\x9c\xf6\x63\xc1\xfe\x3e\x95\x8e\x05\xfa\x06\x91\xbc\xda\xcb\x96\x87\x90\x51\x92\x19\xdd\x18\xdc\xd5\x3c\x46\x28\xde\xb3\x9d\xb1\x1e\x0c\xa4\x81\x05\x23\x28\x0c\x02\xe8\x53\x32\x0f\x31\x64\x71\x94\x89\x94\xc7\xf1\xbc\x99\x9b\x12\x34\x9c\xa4\x12\xec\x06\x02\xa2\x03\xec\xeb\xf6\xf4\x68\xff\xa8\x9e\x5e\x46\xc9\x90\x37\xba\xec\x03\x4f\x23\x30\xb3\xa0\x83\xb9\x8c\x6d\x18\x94\x6f\x29\x39\xc6\x43\xc7\x33\xf1\x85\x4d\xec\x67\xbf\x85\x51\x4b\xe2\x6a\x76\x0b\xc8\x6a\xe5\x97\x19\x3c\xb4\xa9\xf7\xd2\x87\x72\xd5\xad\x01\x7c\x50\xa8\x69\x9c\x39\x85\xa7\xfe\x0e\x07\xdd\x31\x6c\xd0\x38\x6c\xe2\xd7\x0f\xe0\x22\xd1\x14\xeb\xfe\x3e\xaf\xd5\xaa\xce\x1e\x8d\x6d\x58\x00\x9d\xbb\x02\x4b\xb5\xb3\x61\x3b\xa0\x94\x3c\x11\x97\x07\xb7\x93\x7a\xed\xec\xfc\xfc\xfc\x5c\xdf\xb0\x38\xd8\x43\x56\x83\xc2\x28\x97\x04\x67\x9d\x87\x74\x2a\xda\x31\x57\xd9\x61\x32\x14\xb7\x56\x1a\x92\xca\xf7\xb7\x10\x10\x67\x5d\xf7\x60\x34\xaa\xc5\xc7\xf7\x09\x99\x93\xbc\x0b\x9d\x48\xcb\x0a\x8e\x84\xdd\x87\x3b\x25\x67\x56\xb3\x62\x33\x89\x66\x38\xbb\x16\xeb\x94\x8a\x9e\xb9\x46\x76\xd9\x5e\x7b\xb7\x51\x3b\x76\xa3\x02\xb1\xe0\x3c\xef\x6e\x9b\xbf\xd9\x0a\xb3\x06\x1a\xc2\x60\x19\xf7\x74\x1f\xc8\x24\x8b\x12\x53\xd3\xfe\x4b\xd9\xe0\x5a\x02\x59\x34\x7a\x6e\x18\x24\xb4\x05\xd3\xaa\x1c\xd2\x1b\x01\x46\x5f\x61\x81\xa6\x82\xf6\x34\xce\x72\xf1\xe4\x6b\x6f\x34\x5c\x7c\x21\xd3\x4b\x88\x7b\xa0\x49\x06\x32\xf9\x95\xe9\xf5\x59\x9d\x0c\xf1\x3e\x9f\x43\x33\xac\x6e\x0e\x2e\x79\x9e\x75\x60\xf7\xf5\xe9\xc1\x09\x45\xa4\x72\x08\x90\x81\x9c\x7e\x31\x57\x57\xed\x46\x5e\x09\xb7\x2a\x6f\xa0\x20\xa8\x52\xde\x30\x06\x4f\x6e\xc4\x65\x6d\xa3\xd6\xd5\xff\x41\x9f\x7e\xbd\xb7\x5d\xf8\xaf\xf9\xfb\x1c\xfe\x3e\x37\x7f\x73\xf8\xf3\x76\xeb\x99\xf9\xa2\x4f\x5f\x3c\x37\x5f\x88\x1a\xa5\xd3\x32\x5f\x8c\xa8\xc5\xc0\x7c\x91\xd0\x17\xdc\x7c\x91\xd2\x17\x43\xf3\x45\x46\x5f\xbc\x30\x5f\xdc\xd0\x17\x16\xe8\x6d\xad\x9b\x5f\x99\x91\x00\x6f\x8c\x96\xaa\xf2\xf2\xbf\xf8\x6d\xfb\x0b\xde\xfe\x01\xd9\x94\x65\x56\xb2\xb7\x23\x40\x6d\xb2\xce\xd3\x86\x79\xd9\xd2\x4c\xa6\x5f\x37\x93\xc7\xf7\x30\x13\xab\xf7\xf4\x42\x4b\x06\x57\x90\x21\x92\x4f\xf4\x51\x1d\xf3\x49\xe1\x49\x85\x8d\x1a\x95\xc2\x95\x79\x12\x21\xc5\x77\x9d\xe1\x68\x70\xe5\xf8\xba\x59\xe1\x98\x4f\xce\xe8\xc7\x8b\x97\x15\xf7\x00\x9c\xe8\xf9\x44\xc8\x11\x73\xda\x17\x83\x39\xba\x67\x0c\x3c\xd4\x2d\x0e\x78\x1c\xa3\x0b\x9b\x2f\xd4\xd1\x5b\xb5\x20\x92\x38\xaf\x28\xe3\x5f\xa9\x32\x9e\x82\xdb\x46\xe5\x49\xcd\xdf\xec\x78\x3d\x7d\xb1\x10\x76\xed\xa7\xc0\xed\x2c\xf3\xad\x7b\xe0\x00\xa3\x26\x3c\x69\x33\xf6\xf6\x7d\xef\x14\x15\xde\xa4\x69\x87\xa6\x1b\x97\xb1\xec\xf3\x78\x83\x6e\x3f\x36\x8a\xf9\xe5\xdd\x6e\xfc\x12\xc7\xaa\x89\xef\x55\x05\x04\x60\x7c\xf2\x70\xd4\xaa\xfd\xd5\x82\x6d\x9a\xf0\x18\x4d\x83\x5d\xd6\x9b\xf0\xc4\xb9\x03\x1b\xcf\x74\x84\x41\xf7\x9e\x01\x5c\x75\xdd\x6a\x8a\xe0\xe9\x9c\xed\xd8\x96\x85\x6b\xd7\x91\xa9\x6e\xf8\xf9\x73\x09\xcc\x96\x86\x71\xb6\x75\x61\x44\xe4\x07\x6e\x90\xa5\x0f\x01\xeb\xa1\x88\xf4\x6a\x70\xe3\x64\x13\x34\x11\x96\x0d\xda\xa9\xa2\x5b\xda\x23\x9c\x54\x78\x2d\xec\x62\xcb\x95\x48\xcb\x58\x98\x07\x72\x0a\xfe\xb4\x95\x1b\x4d\xc3\xfb\x7b\x0c\x7d\x3c\x6d\x10\x3c\x08\x76\x10\x54\x68\xe2\x5c\xf0\x84\x28\x98\x3b\x43\x61\x95\x3c\x7e\x50\xa0\x63\xbb\x2c\x8e\x14\xc4\xe8\x41\x50\x15\x4b\x64\xd2\x9a\x5d\x45\x99\xc0\x74\xaf\x01\xf1\x93\x73\xb0\xb9\x4b\x19\xae\xdd\x11\xf7\x8d\x8c\x86\x0b\x49\xdb\x2a\xb7\xf2\xde\x42\x38\x19\x8f\xb4\x37\xcf\xd5\x66\x3b\x13\x2a\x73\xfc\xcb\x7b\x07\x85\xe2\xe6\xe6\xb9\x7a\xb8\x79\x39\xc6\xd4\x88\x15\x34\x6b\x32\x55\x19\x83\xb2\x87\x3e\x23\x1d\x1b\xe1\x31\x90\x1b\x3d\x5a\xf2\x61\x3b\x3a\x5b\x6d\x33\x68\x88\xfc\x52\x03\xe9\xa7\x1d\x69\xc8\x47\xa3\xa0\xd5\xce\x0e\x6b\x75\x1a\xab\x68\x67\x65\x02\xc6\x69\x7d\x1a\xbc\xed\x7d\xc8\x6a\x4d\x74\x10\x81\x83\x12\x18\x31\x0c\x8b\x77\xd2\xd3\xaa\x6e\x30\x9f\x7c\xfd\xdb\xbf\xb9\x4b\x8c\xf5\x15\x8c\x29\x60\x1a\xbc\x1e\x7d\xfb\xba\x4c\x43\xe5\x63\x91\xc2\x3d\x74\x68\x79\xcb\x3b\x7a\x6f\xfd\x28\x20\x8c\x4d\x02\x23\x39\x38\xdd\xa3\xe6\x9a\xbc\x9b\x6d\x08\xa3\xf7\xa2\xd6\xa2\x68\x2a\xd8\x74\x32\x81\xf8\x23\x3d\x6f\x69\xb2\x43\x27\x32\x1d\xf3\x18\xa2\x59\x4d\x0c\x60\x94\x4c\xa6\x19\x18\x76\xfb\xe0\x55\x79\x19\xdd\xd0\x0b\x9d\x6d\xec\x9d\x9e\xbc\x69\xed\x6e\x60\x7c\x11\x1a\x93\xe9\x0f\x08\x11\xe5\x1b\xe8\xc5\x18\xc7\xe0\x76\x37\xc9\xc4\xd0\xcf\xfa\xd9\x65\xef\x60\xee\x10\xd6\x3f\xe0\x49\x22\x33\x08\xc4\x8d\xf9\x04\x6d\xc3\xcb\xed\x4d\x0b\xb1\x16\x1a\x08\x51\x64\x85\xea\x8c\x5d\x1b\x89\xf3\x0d\x63\x7a\x0d\x5d\x13\x91\x63\x73\x6e\x8e\x65\xc2\x78\x1c\x71\xc8\xdb\xb2\x77\xf4\xee\xf4\xe4\x28\x68\xb5\xfb\x46\x43\x81\xf0\x9d\x6f\x18\x7b\x7b\x70\xba\xdb\x35\x61\x3c\xde\x46\xfd\x6c\x4b\x17\x4d\xbd\xb0\x88\xc5\x3b\x74\xac\x59\x18\x26\xfe\xd2\x34\x3a\x96\x2a\x8b\xe7\x2c\x16\xa3\x8c\xc9\x69\x66\x49\x19\x18\x6c\x5f\x0c\xf8\xd4\xd4\xc4\xd2\xfb\x37\x96\x37\x7a\x77\x35\xa1\x82\xbb\x85\xc9\x04\x6e\x7d\xa6\x62\x39\xe0\xb1\xc0\xed\xa4\xbc\x16\x26\x1f\x46\x92\xf3\x5d\x61\x71\x74\x2d\x68\x5b\x0f\x7a\x7b\x1b\x4d\x9b\x2e\x61\x20\xf5\xb6\x91\x58\x64\xe6\x22\x47\x10\x58\xe6\xa1\x9f\xb1\x43\x70\xfd\x17\x7f\x9f\x46\x37\x3c\x16\x18\xe5\x8b\x00\xb7\x9f\xf9\x54\xb3\x75\xdb\xe9\x6f\xfc\x4e\x24\x6a\xa6\xef\x0d\x77\xa0\x06\xfa\x4f\xfa\x4b\xc0\x5f\x15\x74\xfa\x51\x60\x96\x0e\x23\x90\x0d\x3c\xd2\xf0\x2a\x52\x99\x92\x57\x6d\xc6\x36\x08\xfa\x10\x3e\xf1\x89\x40\xe0\x94\xf9\xc9\x36\xbc\x97\x73\x10\x98\xb3\x17\x9f\x05\x6b\xd8\xdd\x31\xfe\xb3\xa7\xae\xce\xce\x41\x6f\x6f\xf7\xf8\xa0\xcb\xb6\x9f\x35\xf1\x2f\xf3\xf1\x75\xa7\xcb\x3a\x9d\x6d\xf8\xb8\xad\x3f\x3e\x82\x8f\x8f\xf4\xc7\xc7\xf0\xf1\xb1\xfe\xf8\x04\x3e\x3e\xd1\x1f\x9f\xc2\xc7\xa7\xfa\x23\x42\x78\xa6\x3f\x3e\x87\x8f\xcf\xf5\xc7\x17\xf0\xf1\x45\x97\x75\xb6\xb7\x70\x88\x2d\xfd\xb9\x83\x9f\xf5\x78\xdb\x38\x5e\x47\x0f\xb8\xfd\xa8\x49\x29\x31\x4e\xf4\x1d\x35\x93\x7a\xba\x47\xef\x0e\xba\xec\x31\x00\x3a\xfd\x78\xd4\x65\x4f\x00\xd0\xe9\x4f\x27\x07\x07\x5d\xf6\x04\x21\x1d\xbd\x3f\xe9\xb2\x27\x08\xe9\xf0\x83\xfe\x1e\xa6\xde\x3b\xfc\x73\x97\x3d\x81\xa9\xf7\x0e\x3e\x1c\xbc\xeb\xb2\x27\x30\xf9\x83\xc3\x1f\x7f\x3a\xed\xb2\x27\x30\xfd\x77\x87\x7a\x80\x27\x30\xff\xbf\x1e\x9c\x1c\x75\xd9\x63\x58\xc0\xab\xdd\xbd\x9f\x7b\xc7\xbb\x7b\x07\x5d\x86\x7f\xff\xdc\x3b\x36\x1f\x7b\xf0\xc1\x9b\xea\x55\x2a\x20\xf9\xdf\xe9\xee\xab\x2e\x83\xb9\xfe\x4f\x97\x3d\x87\xc9\x7d\xec\xb2\xe7\x88\xe9\x2e\x7b\x0a\x3f\x9d\x74\xd9\x73\x98\xeb\x69\x97\x3d\x87\xd9\xfd\xa5\xcb\x9e\xc3\x4f\xef\xbb\xec\x39\x4c\xf1\xb0\xcb\x9e\xc1\x1a\x8e\xba\xec\x19\xfc\xa4\x07\xdf\xf2\x07\x1d\xc9\x29\xe4\xff\xdd\xdb\x3d\xee\x7d\x7a\x73\xb4\xf7\x73\x97\x21\x92\xf5\x17\xf9\xbf\xcd\xe7\xdd\x2e\x7b\x0a\x03\xe8\x25\xc0\x00\xfb\x5d\xf6\x14\x77\xac\xcb\x9e\x41\x9b\x1f\xbb\xec\x19\x4c\xfd\xa7\x2e\x7b\x06\x13\xfd\xef\x2e\x7b\x06\x13\xfd\xb9\xcb\x9e\x41\xf7\x37\x5d\xf6\xec\x29\x71\xd0\x8f\x02\x1e\x8f\x22\x01\xff\xc5\x64\xe8\xec\x85\x97\x02\x9c\x8b\xc4\x0d\x14\xf2\x85\x10\x44\x6c\x45\xea\x0e\x4a\xc8\xdc\x17\xac\xb3\x85\xb0\x0c\x93\xd3\x9c\x90\x4d\x84\x9c\xc4\x82\x12\x43\x43\xc1\x04\xa9\x39\x84\x3e\xbd\x7d\xcd\x1e\xc1\x1b\x3f\x52\x99\x4c\xe7\x70\x9e\xda\x8c\x1d\xc7\x53\x45\xd3\x02\x10\x86\x17\xaa\xcd\x49\x2a\x2f\x53\x3e\x86\x0c\xd2\x26\xe3\x2b\xcd\x8f\xc7\xa9\xe0\x43\x7d\x9e\x31\x31\xcd\xdc\x4c\x0c\xe3\xd9\xc0\x6d\x5c\x62\xf2\x32\xe8\x88\xd9\x27\x44\x92\xc5\xf3\xa6\x63\xc7\xc0\x3a\x88\x41\x33\x88\x1c\x8e\x06\xf4\x3a\xd5\xbb\xff\xee\xf4\xe0\xa4\xcb\xf0\x4c\x1d\xbc\x3b\x35\x1f\x4f\x0e\x4e\xdf\x9f\xbc\xf3\xfe\xc2\x8f\xde\x36\x47\xe0\x01\xc6\xfe\xda\x65\x2f\x60\x7b\xfe\xdc\x65\xcf\x61\xc3\xf6\xba\xec\x29\x50\xd6\x87\x2e\x7b\x0e\x9b\xf1\xaa\xcb\x9e\x22\x51\x77\xd9\x33\x68\xf3\xb6\xcb\x9e\x3d\x33\xe0\x0e\xb2\x81\x86\x44\x54\xfd\x08\xb6\x56\x13\x35\x7e\x3a\x3e\x39\x7c\x77\xfa\xa9\xb7\x77\x72\xa0\x4f\xca\x63\xfa\xee\x54\xf3\x07\xfc\xa3\xb7\x77\x72\xf4\xe6\x0d\x91\x5a\xe7\xf1\x13\xfa\xee\x8d\xfb\x0b\x8a\x81\x76\x19\x1e\xfb\x57\x27\xf6\x23\x56\xf1\xec\x32\x6c\x75\xf8\xae\x67\x3e\xfe\x74\xf4\x56\xcf\x04\xe6\x7c\xbc\xfb\xe3\xc1\xa7\xf7\x7a\x3a\x80\x8a\xe3\x1f\xdd\xe7\xfd\x83\x37\x07\xa7\x9a\x0d\x3c\xa5\xbf\xcc\xc7\x83\x77\xfb\x5d\xf6\xe8\x89\xed\xbe\x7f\xf4\xf1\x5d\x97\x3d\x7a\x8c\x00\x72\x7f\xd9\xcf\x00\x18\xd0\x83\x2d\x1e\x03\x5e\x4f\x90\x2b\x3c\x82\x19\xbf\x39\xd0\x92\xc3\x23\x40\x2f\x55\x4e\xd4\xab\x7c\x6c\x50\x89\x75\x08\xf5\x89\x38\xde\xea\xb2\x17\x30\x99\x9f\x8f\x3b\x5d\xf6\xe2\x19\x7e\xdc\xee\xb2\x17\xcf\xf1\xe3\xa3\x2e\x7b\xf1\x02\x3f\x6a\x06\xba\xb5\x85\x9f\x35\x07\xdd\xea\xe0\x67\xcd\x42\xb7\xb6\xf1\xb3\xe6\xa1\x5b\x8f\xf0\xb3\x66\xa2\x5b\x78\xf2\x8e\x35\x17\xdd\x7a\x82\x9f\x3f\x1d\xbf\x79\xdf\xd3\x7f\xd3\x68\x9f\x76\xf7\xf7\xfd\x3f\xdf\x1e\xbe\xc3\xdf\x69\xdc\x4f\xbd\xf7\xaf\x4e\x4f\x76\xf7\x4e\x83\xef\x4e\x77\x35\x45\x6e\x3d\x35\x9d\xde\xbf\x39\x3d\x3c\x7e\xf3\x17\xff\xbb\xfd\xc3\x0f\x87\xfb\x07\x9a\x95\x77\xcc\x37\x07\x7b\x87\x6f\x77\xdf\xe8\xaf\xb6\xcc\x64\x0e\x4e\x0e\x8f\xf6\xe9\x9b\x6f\x72\xa5\xde\xc6\x62\x18\x81\xac\xa1\x34\x2a\x77\x3f\x1c\xfe\xb8\x7b\x7a\xf0\x49\x73\xd7\x2e\xeb\x10\xb5\x9a\x6f\x5f\x1f\x9d\x7c\xdc\x3d\xd1\x90\x90\xb0\xb1\xd0\x9a\xfe\x13\x39\xd4\xfb\x37\x6f\x2c\x81\x76\x90\x7d\x7d\x3c\x7c\xb7\x7f\xf4\xf1\xd3\xd1\x87\x83\x93\x0f\x87\x07\x1f\xf5\xf7\xdb\x48\x7d\x7a\x3b\xdf\x1d\xf4\x7a\x40\x53\xdb\x78\x57\x79\xdf\xe2\xd6\x6f\x77\x9e\xf9\x32\xdc\xa1\x27\x86\x93\x0f\xba\x7e\x03\x38\x5b\xff\xb2\x9b\xd7\x78\x30\xec\x84\x2e\xe8\xc7\xa9\x29\x14\xe3\x32\xce\x68\x4e\xe9\x02\xae\xd4\x5c\x65\x62\x8c\x72\x16\xa4\x7d\x32\xca\x23\xe8\xe8\xdc\xbf\x31\xf1\x43\x77\x69\x6a\x88\x66\xe0\x73\xfe\x91\x47\x19\x65\x90\xdf\xb8\x16\x73\x48\xce\xb2\x81\xa0\x9b\x2e\x15\x8b\xf9\x85\x99\x0c\xf1\xb9\xa4\xd8\x34\x05\xca\x1a\xb4\x68\x0e\xa6\x76\x5b\x30\x89\x37\xb9\xec\x56\x98\x5b\x30\x5c\x3f\x65\xbc\xa2\xd9\xb8\x31\x8f\x77\x7b\xbd\x45\x03\x42\x19\xd3\x60\xb4\x9e\x2b\x97\x61\x62\x7e\xe0\x85\x3b\xe1\x97\x5a\xd8\x74\xa0\xfd\xfa\x43\x9e\x7e\xd6\x74\xb2\x4e\x98\xd5\xf5\x8a\xd6\x4b\x0f\xb3\xc6\x34\x87\x72\x96\x94\x4d\x74\x5f\xce\x92\xf5\xa6\x7a\xd7\x32\x1b\xcb\x27\x4b\x24\x92\xc9\x02\x4a\x4f\xe5\xa9\x5c\x03\xa3\xb6\x46\xd6\xef\x34\xc3\xbe\xcc\x32\x4a\x24\x14\x4c\xf2\x15\x7c\xff\x07\xcf\xd3\x15\x0c\xb1\xd3\x84\xa4\xb3\x25\xb5\x41\x68\xba\x98\xd1\xcd\xfe\xbe\xca\x7c\x8b\x85\x3f\xd6\x4c\x64\xb4\x82\x36\xc7\x26\x67\xfb\x44\x95\x13\xff\xdd\xc3\x6b\xbd\x00\x27\xfd\x71\x54\x6b\x32\xf8\xd0\xcb\x64\xca\x2f\x85\x1f\xdb\x74\x6c\x17\xff\x16\xd7\xce\xd4\xb4\x8f\x21\x89\x80\x0c\xcd\xd7\x50\x2b\xce\xde\xf1\x5e\xef\x27\x2f\x95\x9d\xa7\xa3\xc1\x0c\xee\xa4\x13\x8e\x29\xed\x23\x4f\x98\x4c\x87\x22\x05\x5f\x05\xd4\xae\xa2\x8d\x65\x20\x93\x84\xd2\x4e\x4e\x52\xa9\x97\x10\x5e\x49\x85\x29\xf9\xfa\x7f\xec\x70\x48\x69\x09\xf4\xaa\x0a\xed\x9d\x25\xa5\x49\x44\x42\xd1\xa2\xb4\xfe\x62\x8a\xd5\xe0\x5f\x0d\xe9\x62\xd3\xcc\x6d\x13\x74\xeb\x76\x5c\xa3\xfa\x1f\x8a\x91\x72\x8e\xaf\x85\x39\xd0\x90\xee\x07\xb0\x19\x60\x50\x81\x7e\xdc\xaa\xba\x06\xd0\x28\xa6\x5c\xb8\xce\x55\x1e\xc2\xb0\x1a\x07\x47\x37\x68\xc2\xe8\x67\xd7\x62\x7e\x71\xd6\xb9\x68\x54\x64\x82\xa9\x9a\xda\x80\x67\xe2\x52\x42\x68\x33\xea\xe9\x96\x37\xb4\xc7\x8c\xed\xb0\x9a\xf9\x5c\x5b\xa9\xe7\xee\x64\x22\x78\x4a\x3a\xfe\x9a\xfb\x6b\xb5\xde\xfa\x0c\x9a\x58\xc6\x9a\xfd\x63\xb5\xbe\x3d\x7d\x62\xf4\x1a\x6b\xf8\x69\xc5\x5e\xc0\x9f\xd0\xd3\xa4\x66\xff\x58\xad\xef\x41\x32\x90\x43\xea\x6a\x3e\xaf\xd6\xf3\x6d\xa4\x06\x22\x8e\x79\x22\xe4\x14\xa6\x1c\x7c\xe1\xa9\x68\xdf\xd0\x51\x72\x7d\x9b\xf6\x98\xf5\xe7\x6c\x18\xa9\x49\xcc\xe7\xf8\x15\xab\x67\x72\x02\xef\x3e\xb8\x1f\x1a\x8b\x0e\x99\x99\xcc\x7c\xdf\x7a\x12\x9b\x34\x40\xbf\xb1\x68\xd8\xad\x24\xf4\xd2\xad\x6e\x12\x17\xbf\xcd\xba\xfe\x9e\xb3\xfa\x48\x26\x99\x6a\xb2\x81\x8c\x65\xaa\x9a\x2c\x1a\xf3\x4b\xa1\x1a\x35\x30\x2f\xaf\x3c\x8e\xa5\x83\x60\x18\xac\x8d\xc0\x90\x40\xd6\x03\x68\xf6\x2a\x80\x67\x37\x70\x3d\x58\xe6\x74\x04\xb0\xec\x91\x59\x0f\x96\x25\xbf\x00\x98\x23\xca\x35\xa1\xc1\x29\x08\x41\xe1\xc1\x58\x0f\x4e\x40\x9a\x01\x38\xfd\x4b\xbb\xf6\x05\x32\x43\x55\x12\x5a\x91\x33\xd2\x53\xa3\xc6\xe3\xac\x75\x99\xb6\xc6\x72\x28\x6a\xdd\x6f\x18\x3b\x5b\x07\xdd\xe0\xb4\x0e\xb3\x39\x83\x4f\xac\x96\xc8\x44\x98\xe4\x55\x2d\xca\x5c\x15\x8b\x51\x66\x3e\xc3\x7d\x0d\x7f\x60\x71\xe7\x1a\xa6\x8b\xd5\x17\xd7\x6e\x9c\xfd\xa8\x59\x7c\x46\xf7\xd4\x15\x1f\x5c\xff\xf2\xf1\x4a\x4c\xd3\x48\x65\xd1\xa0\x7d\x9e\x90\x1d\xa9\xe6\x7d\xaa\xe9\x71\xcf\x6b\x5d\x2d\x15\x48\xec\xeb\x34\xda\x09\xbf\x89\x2e\x79\x26\xd3\x76\xcc\x93\xcb\x29\xbf\x14\x5d\xd7\x15\x2f\x9e\xf3\x9a\x48\x5a\x53\x75\x5e\x63\x3b\x3f\xb0\x73\x98\xfe\x79\xad\x89\x91\x09\xf0\x8d\x9d\xf0\x79\x38\x2c\x34\xec\xb2\xfd\x48\x61\xd2\x84\x64\x4e\x0b\x48\x45\x0c\xee\x3e\xe3\x69\xa2\x6f\x72\x7f\xda\x16\x2b\x30\x61\xa5\xa6\x63\x0c\x89\x7b\xb8\x1b\x67\x94\x92\x0d\x60\x04\x7d\x0c\xf6\xbc\x3e\xa0\xe8\x5f\xd4\xc7\x9b\xb4\xed\x84\x52\x55\x49\x2f\xac\xb4\x5e\x0b\x0a\x84\xb6\x22\xd5\x0a\x6b\x7f\xde\x81\x38\x28\x55\x5d\xad\x2f\x25\x1a\x44\x58\xed\x70\xc4\x94\xc8\x9a\x6c\x9a\x0c\x25\x85\x73\xbb\x27\xff\x6e\x9c\xb5\x6c\xbd\xcf\xd6\x0f\xfb\x07\x6f\x58\x2a\xc6\x7c\xe2\x72\x8b\x99\x15\x06\x73\x65\x51\x32\x14\x62\x88\x45\x4d\xfc\x22\xa7\xfe\xca\x68\x3d\xf7\xb3\x8a\x9e\xc8\xd8\xec\x4a\xd8\xe4\xf7\xa6\x5e\x2b\x1f\x64\x0a\x13\x78\xe8\xb1\xe0\x2b\xfd\x76\xd6\x5f\x0c\x35\x0d\x27\x83\xcc\xb4\x0d\x26\xa7\x5f\xd2\xaa\x35\xbb\xe2\xd9\x1d\xe6\x57\x43\xf7\x19\x9c\xda\x99\xfd\x8b\xd5\x9e\xb7\xfa\x11\x9c\x39\x7a\x38\xb7\xae\xc5\xdc\x9c\xba\x3d\x93\x8e\xf5\xaa\x58\xb2\x16\xdf\xd2\xc3\xd2\xf3\xc6\xc8\x59\xa7\x8d\xff\x58\x0f\x92\x8f\x27\x60\xf1\xd1\x52\x6a\x74\xdb\xf6\x1b\xc3\x14\xda\xa6\xf1\xee\x70\xc8\x3a\xdb\xcf\xcd\xc3\x6a\x9a\x80\x81\x4d\x0c\xfd\x30\x76\x65\xeb\xf2\x05\x80\xbc\x25\xb4\xdb\x4e\x2d\x11\x68\x1f\x50\x55\x82\x35\x38\x28\x15\x89\xaf\x36\xc8\x9f\x7c\xf7\x4f\xf1\xb9\x6a\x33\x56\x07\x99\x7a\x26\x93\xf3\x5a\x06\x15\x76\x30\xde\x55\x4b\xcc\x31\xcf\x46\x32\x1d\x53\x91\x1d\x00\x5b\x0d\xce\x0c\x48\x89\xcc\x60\xf7\xc3\xea\x08\x7a\xea\x90\xc4\x58\x63\xdd\x19\xf7\x1a\xb5\x6f\x18\x33\x64\x31\x1d\x46\xfd\x58\xb4\xfa\x22\x8e\x5b\x4a\xdf\x18\x2b\x93\x06\x5d\x39\xf0\xfc\x68\xa5\x02\x5f\x40\x5d\x94\xaf\x35\x58\xb9\xa9\x81\x12\x29\x4f\x53\xf3\xe9\xfd\xc9\x1b\x13\x63\x6e\xdf\x96\xba\x21\x83\xd1\xdb\x8c\x1d\x8c\x27\xd9\xdc\x78\x31\xea\x25\x24\x92\xd1\x34\xa1\xa1\x25\xe9\xa1\x50\xd7\x99\x9c\xb4\x12\x99\xd9\x0c\xcd\xb0\x90\xb5\x97\x50\xce\x41\x30\x11\x66\x30\x49\x65\x1e\x69\xfa\xf4\x5f\x62\xae\x14\xf0\xc9\x1e\x80\xe7\x36\xe3\xec\xa3\xe8\x5b\xf6\xf1\xce\x9b\x58\x1b\x52\xe6\x28\xca\x99\x33\x7b\xd4\x96\xe9\xe5\xe6\xe9\xc9\xa6\x3f\x79\xb5\x19\x9c\x05\xfc\xb0\x8f\x52\x9f\x46\x46\xd0\x96\xa5\xe2\xef\xd3\x28\x15\x4a\x13\xc0\x38\x52\x0a\x76\xdc\xb8\x87\x4d\xa1\x4a\xc0\xc7\x2b\x41\x99\x68\x0c\x58\x8c\x44\xd7\xc7\x4f\x09\x30\x81\xe2\x22\x01\x57\x94\x8b\x3e\xcb\xc4\x78\x02\xbf\x71\x75\xed\x0c\x9b\x7a\x27\xbc\x91\x0c\xc0\x68\xc4\x12\x31\x10\x4a\xf1\x74\xde\xc6\x02\x9a\xa6\xa6\x0a\x1b\xf3\x39\xa4\x09\x56\x57\xe4\xd3\xe1\x03\xd0\xd3\x17\x2a\xa3\x42\x27\x06\xdc\x10\x3c\x74\x32\x86\xf9\x64\x34\x4a\xfd\x2a\xd3\x48\xd7\xa5\x1c\x83\xd8\xbb\xb8\xcd\x44\xa2\xb0\x50\x15\x15\xb9\x61\x1b\x01\xde\x36\xfc\x49\x40\xae\x48\xef\xef\x4c\x7a\x33\x41\x69\x3b\xe8\x6c\x69\xcf\xed\x7f\x0b\xe4\xdd\x95\x49\xce\x93\xa3\x59\x2d\xbd\xec\xd7\x3b\x4f\x9b\x0c\xff\xbf\x01\x02\x0d\x40\x43\x1a\x3c\x0d\x09\x0d\x7e\x42\x7e\x24\x6e\x29\x64\x3d\x91\x14\x21\x8f\x3f\xba\x1c\x44\x65\x33\x05\x89\xfc\x6e\x33\xd5\x53\x33\x61\x3b\x88\xef\x5e\x8f\x7c\x1c\xe9\x30\x7b\x13\x85\x71\x2a\x4e\x32\xfe\x56\xb6\x83\x7e\x52\x04\x9f\xeb\x4d\xd3\xb8\x6e\xce\xce\xa5\x94\xed\xcb\x78\x93\x27\x62\x78\xfa\x73\xc3\x6f\x15\x47\x89\xe0\x69\xeb\x32\xe5\xc3\x48\x24\x19\xbc\x8e\xf0\x69\xd4\x64\x7d\x70\x33\x4d\xc5\xb0\x51\x82\x14\x15\xfd\xfa\x87\xe1\x04\xf2\x2f\xb7\x19\xdb\x37\x89\xb5\x32\xc9\xb4\x84\x57\xb6\x59\xc6\xfb\xee\x0f\x9b\x9b\x75\xf7\x5b\x67\x73\x3a\x5b\xff\xa9\xff\xdf\xff\x6a\x00\x36\x54\x7f\x45\x28\x68\xa1\xf4\x71\xff\x82\x1e\xb1\x69\x5a\x12\x8a\x6a\x64\xc0\x05\xd3\xc1\xab\x1e\xab\x9f\xd7\xce\xcf\x6f\xb7\x9e\x6b\x91\x9b\x5f\x73\xf6\xcb\x4f\x8d\x36\xf3\x0a\x5b\x98\xc9\x87\x40\xc0\x01\xc5\x03\x04\x40\x9e\x8d\xce\x6b\x76\xbb\xac\x40\xd1\x1a\xf3\x49\xcb\x24\xee\x57\x77\xda\x32\x7a\xd8\xc0\x1e\x19\xdf\x70\xa3\x7d\x73\xa9\x45\x20\x2b\x06\x25\xad\x68\x93\x4f\x0b\x67\x6a\x82\x5e\xfd\x69\xca\xe7\x4d\x12\x1e\x04\x1f\x5c\xe9\xed\x40\x97\xb8\x9a\xcd\x24\x49\xe5\x18\x9d\x2c\xa4\x2f\x02\xd0\x5b\x9a\x94\xfb\x14\x08\xeb\x8d\x44\x29\x37\xec\x35\xc2\x6a\xe1\x98\x2c\xca\x94\x88\x47\x6d\xac\x4a\xc3\xb3\xdc\x84\x60\x2a\xf9\x09\x58\x50\xa9\x18\x88\xe8\x26\x14\xcf\xf2\x33\x81\x44\x2d\xc8\x90\xfd\x86\x8e\x54\x3d\x5a\xad\x20\x56\x8d\x8b\xdf\x36\xb6\x36\xba\xbf\x6d\x3c\xdc\xe8\x6e\x9c\x9f\x4f\xb7\x3b\x2f\xb6\x37\x9a\x1b\x4d\xfb\xd7\xd6\x46\x73\xa3\x65\xff\xea\x6c\x34\x37\xda\xf6\xaf\x47\x1b\x4d\x37\x65\x0d\x06\xbe\x7f\xf2\xfc\xf9\xc6\x97\x2f\x9e\x3c\x05\x55\x9c\x5a\x32\x69\x89\xdb\x68\x75\x29\x3b\x7c\x75\x13\x45\xfb\x64\xfe\x91\x5e\x01\xc0\x43\xe1\x6e\x86\x81\x00\x2f\x54\xf5\x6a\x86\x77\xbd\xad\x15\xc2\xf4\x0c\xdc\x35\x80\x59\xcd\x5a\xfd\x38\x4a\xae\xef\x44\x9f\x25\x87\xaf\x38\x2b\x00\x6f\x9c\x88\x95\x4c\xbd\x74\x7e\xa5\x33\x69\x0d\xe6\x83\xf8\x6e\xec\xf7\xac\xb3\xb5\xb5\xd5\x64\x4f\xb6\xb6\x2e\xc2\x63\x53\x3b\xf5\x86\x87\xf9\xa4\x5a\x8e\x88\x12\x36\x8e\xe2\x38\x52\x62\x20\x93\xa1\x2a\xe5\x72\xbb\x2c\x9b\x49\x26\x30\x41\xa5\xa1\x5e\x17\xe8\x22\x47\x94\x97\x32\xc2\x07\x4d\x2c\x8d\x07\x3d\x8e\xe6\xb2\x0c\x59\x71\x0b\x4a\x01\xe9\x01\x83\x3e\x51\xe6\xb5\x95\xa3\x51\x1e\x37\x5f\x27\x52\xf0\xfa\xf6\x93\x27\x4d\xb6\x85\xff\xd7\x7e\xd2\x20\xbc\xe4\x45\x0b\x14\x19\xe8\x3a\xb8\xa1\x7c\x79\x38\x03\x37\x21\xdd\xa6\x35\xe1\xb1\xc8\x32\x71\xef\x1c\xae\x76\x64\x6a\x9d\xa0\xd2\xd0\x48\xd7\xe6\x1d\x43\xe3\x96\xee\x95\x5f\xd7\x30\xcf\x1f\x91\x29\x61\x22\x29\xc3\x2b\xd9\xe1\xa8\xd0\xce\x6e\x13\xe5\x0a\x45\x76\x0a\x7a\x8c\x21\xa5\x2a\x5f\xc0\x5c\x2d\x47\xb3\xb2\xb0\xe6\xc5\xc6\xb5\x06\x9c\x9d\xb1\xc0\x5f\x66\x91\xbd\x68\x41\x90\x5b\xa4\x62\x49\x31\x78\x0b\xf1\x64\xce\x06\x4a\x11\x2c\xf4\xdd\xa1\x6c\xa7\x76\x0a\x94\x16\x89\xfd\xc7\xc9\x8f\xaf\x9a\xec\x3f\x4e\x4e\x7e\xfc\xf1\xd5\xab\x26\xd3\x92\x66\xbb\xdd\x6e\xc0\x27\x4e\x1f\xa1\xee\x97\x86\x09\xf0\xd0\x79\xd7\x5d\x85\x3c\x23\x4f\x44\x25\xd9\x84\xa7\x99\xa1\x14\x95\xc9\xc1\x35\xfb\x73\xa7\xa3\x41\xb5\xb3\xdb\x0c\x2d\x55\x65\x4b\xfa\x8b\x9c\xc2\x7a\xa6\x4a\x30\xa3\x42\xc3\x18\x13\xbd\xb8\xb9\xcb\x9e\x65\x36\x1c\x19\xbe\x3b\x1b\x9a\xad\x18\x60\x7d\x41\x85\x6f\x86\x66\xd1\x91\xf5\x65\x85\x97\xee\x75\x34\x99\x40\x6a\x53\xa6\xc6\x3c\x8e\x19\xc6\x29\x80\xb3\x73\x32\x8c\x06\xde\xe2\x2c\xaf\xb4\x17\x4c\x29\x05\x79\xa7\x60\x32\xd7\x4c\x1d\x0b\x7c\xad\x4c\xfc\x4e\x97\x5d\xc2\xd2\x77\xa7\x99\x1c\xf3\x2c\x1a\x80\x2b\x17\xd6\xe0\x95\x60\xeb\xb3\x85\xdb\x0c\xe9\x98\x42\xb4\x76\x3e\x53\x25\x5a\x84\xb2\x16\xb2\xff\x16\x54\xdc\xbd\xc3\xc4\x16\xb0\xf5\xcc\xf9\x8b\x99\xfd\xa1\xbb\x06\xcb\x43\x53\x85\x49\x8b\xa4\x58\x0b\xe0\x76\xf6\x2d\xc8\x55\x72\xe7\x79\x55\xdf\x81\x70\xf9\x19\xf3\xb4\x43\x16\xa6\x46\xd1\xc3\x45\xc9\xa5\xdb\xb9\x2c\x8d\x5b\x93\x78\xaa\x5a\xe3\x28\x99\xaa\xd6\xaf\x22\x95\xad\x5f\xa5\x1c\xdf\x41\xfc\x2c\x4e\xc9\x4a\x9f\xe0\xbc\x7b\x1c\x4f\xd5\x26\xd4\x3d\xda\xfc\xab\x48\x65\x58\x8b\xc8\x3b\x1f\x87\x23\x83\x75\x2f\x31\xda\xc2\xce\xd4\x12\x7e\x06\x59\x54\xb1\x5f\x3e\x59\x79\xa4\xe6\x46\x87\xae\x5e\xfd\xd1\x00\x0d\x83\xf5\x36\x63\xa1\xdc\x0d\xea\xe4\x3d\x8d\xee\x48\x28\xc8\xe4\x0d\x78\x30\x25\xa7\x33\x09\x4e\x39\xfa\x07\xe8\xec\xad\x1e\x7a\xc2\x9a\x1f\xee\x99\xb5\x04\x1d\x10\x92\x83\x8c\x00\x82\x95\x98\x6a\xb5\xf7\xb7\x94\x0f\x58\x68\xad\xb0\x94\x0f\x2b\x2e\xe5\x83\x59\xca\x87\xe2\x52\x1c\xe4\x70\x29\x82\xab\xac\xc5\x55\xc4\x93\x16\x1f\xf7\xa3\xcb\xa9\x9c\xaa\x16\x57\xad\x6c\x26\xb5\x04\x30\x1d\xaf\xfe\xf6\x5b\x59\x8d\x7c\xc0\x55\xc6\x76\xf5\x98\x6c\xd7\x8c\xe9\xc7\x40\x61\x49\xc1\x99\xa6\x3f\x3d\x01\x06\xc5\x44\xdd\x8c\x21\x73\x73\x0b\xd4\xad\x2d\xa2\xd0\xfb\x99\x23\xd4\x73\xc8\xa4\xc9\x0d\x0d\x23\xb8\xda\x5b\x76\x7e\xa6\xae\x4c\x26\x4d\xbd\x87\xec\x4a\x8c\x4b\xef\x9e\x8f\xe2\xbc\x16\xc7\x2c\x15\x6a\x82\x2f\x18\x58\x57\xab\x3f\xcf\x04\xbb\x11\xa9\x32\x81\x30\x19\xb8\xf8\x17\x87\xb2\xa7\x2b\x15\x97\x3c\x1d\xc6\x42\x29\xe7\xed\x81\xf5\x76\xf3\x78\xe9\xcb\x78\x75\xf5\x69\x89\x64\x94\xa5\x91\xca\x78\x26\x7c\x9c\x04\x35\x2e\x34\x3b\xd6\x83\xb0\x19\x16\x93\x83\x82\x6f\xa1\x42\x08\x5d\x89\xe2\xe1\x66\x1f\x0d\x31\xd6\x94\x61\x34\x43\x6d\xc6\x5e\x1b\x1c\x5a\x77\x60\x88\x63\xf0\xa1\xb6\x19\x7b\x37\x8d\xc1\x39\x89\x5b\x8b\x57\xd9\x7a\x35\xc1\xe2\x50\x77\x5a\x79\x91\xa7\x56\xac\x1a\x57\x43\x62\x62\xfd\x79\xab\xf3\x84\x69\xa6\xcf\x3a\x4f\x43\xd1\xaa\x61\x57\x0c\xfe\x84\xc9\xbc\x04\x37\xac\x88\x0c\x57\x23\x3f\xbf\xc6\x3b\x3f\x98\x56\x59\x9a\x4f\x9d\xf8\x56\x29\xdd\x27\xa2\xf5\x48\x6f\x4b\x6e\x7e\x56\x38\x00\x35\xf8\x1a\x6a\x95\x85\x77\x6d\x4f\x3f\x55\xb8\x49\xa6\x6b\xc4\x72\xab\x0a\xb7\xf2\x13\x30\xba\x59\x1a\x69\xfe\x56\x29\xad\x14\x66\x0a\x1d\xee\x49\x8a\xb2\xb5\x81\x61\x2a\x99\xc4\xd9\xb0\x61\x94\x0a\x2c\x19\x41\xc5\xa0\xd1\x7f\xb3\x72\x72\x43\x31\xe8\x6c\xdf\xf5\xbd\x5e\xc2\xcf\x4e\xbc\x8d\xd5\x33\x3b\xaf\x29\x5f\xb3\xee\x55\x70\x0c\x5e\xaa\xfa\xf8\x4f\xb5\x54\xab\xe5\x58\x43\xc8\xfb\x07\x7b\xb6\x1c\x0f\x64\x16\xef\x6c\x7b\xd3\xbf\x89\x52\x99\xe8\xf7\xea\x5d\x67\xff\x5b\xed\xf4\xe0\xe4\x6d\xad\xcb\x6a\x60\x0f\x6b\x6d\x3f\x79\x8a\x2f\x45\xcc\x0b\x50\x78\x5a\x1b\x59\xd0\x1b\x9a\xdd\x50\xb6\x19\xd5\x0c\x35\x54\x66\x9a\x9a\xa5\xb4\x46\x7c\x1c\xc5\xab\xcb\x1f\x39\x8f\x93\xda\xc6\xbe\xf8\x1b\xff\x30\x65\x3d\x9e\x28\xf6\x56\x26\x72\xa3\xc9\x36\x0e\x34\x2b\x97\x89\xf9\xfb\x75\x2a\x84\xfe\xd8\x64\x1b\x6f\x45\x12\x43\x93\x53\xa2\x5a\xa7\xc0\xa9\x8d\x65\x22\x51\x09\x99\x57\x93\x92\x66\x96\x38\x2b\x4c\xb8\x50\x61\x02\x38\x4a\xb8\xb4\x3b\x2b\x91\x3b\x4f\x9a\x90\xbc\xaa\x04\xbf\xae\x9a\x67\x94\xb0\x49\x74\x2b\x62\x95\x1b\x74\x2c\x51\xcc\xbb\x9b\xa6\x80\x27\x59\x84\xb1\x63\xc3\x52\x6d\x71\x38\x86\x7d\xed\x7a\x73\x48\xc5\xfd\x98\x40\xb6\x1f\x6f\x35\x99\xf9\x4f\xa9\x15\xc4\x8d\x75\x47\x2b\xc8\x95\x1c\x8b\xd6\xb5\x98\xab\x16\xfa\xb0\xde\xb3\xf6\x59\x83\xdf\x14\xd6\x18\xe8\x4a\x5d\x3a\xa2\xb1\xa5\xdc\xd1\x74\x0c\x05\x49\x6d\x37\xfb\x30\xd5\xdd\xad\xc3\xfb\x87\x53\x53\x26\x50\xa1\xfe\x82\x84\x1f\xcd\x7d\x6d\x57\x94\x3b\x3f\x9c\x52\x70\x27\xf7\xa0\xe5\x06\xc1\x19\x38\x9c\x5c\x8b\xb9\x29\xd1\x76\x57\x97\x9c\x90\x3b\xec\x42\xf0\x92\x1c\xe5\xd2\x35\xcb\x20\x40\x01\xf2\x7f\x7b\xf5\x4c\x4d\x34\xa3\x49\x42\xee\xce\x68\x1a\xd6\x18\x5c\x9c\x51\x3c\x4c\x27\x3e\x14\x83\x48\x4b\x34\x1e\xbc\x2b\x71\xcb\xcd\xd7\xa8\x19\x00\xef\x3a\x02\xe4\x82\x24\x08\x9c\x89\x94\x28\xa8\x63\xac\x40\x65\x0c\x5b\xb6\x5a\xac\x0b\x46\x68\x92\xee\x89\xec\xf0\x01\xf0\xd7\x30\xe6\x48\x0b\x57\x06\x94\xb8\x9d\xc4\x3c\xc1\x30\x5b\x52\xb2\x8c\xb4\x44\x06\xc1\x0f\x82\xe5\x8c\x5f\x6f\x3e\x9e\x24\xc3\xb4\x54\xe6\xed\x81\xce\x9b\x79\x1b\xeb\x19\x6b\x7e\xf3\x8d\x34\x14\x21\x1d\x67\xad\x9f\x37\xba\x6c\x23\xe7\xbd\xbd\xd1\x2c\xb6\xc5\x67\xea\x1b\xdd\xfa\x78\xb7\xd7\x2b\x6b\xf2\x93\xfe\xf1\xbc\xf6\xd3\xc1\x9b\x37\x47\xe7\xe7\xc9\x79\x6d\xc3\xb5\xf9\x62\xa8\x6e\xcc\x6f\x5b\x88\xb9\x96\x21\x82\x95\xa9\xcf\xfa\xf2\xb1\xce\xd6\x16\xa8\x7f\x3d\xde\xf9\x96\xdf\x32\x4a\xb4\x01\x15\x7e\xf6\xf7\x7a\x4d\x76\xd4\xdb\x6b\xb2\xe3\xb7\xb0\x21\xbb\xc7\x3d\x47\x95\x7d\x31\x82\x72\x71\x98\x69\x85\x4d\x27\xc1\xc9\x71\x8f\x0b\x24\x31\x3b\x79\x31\x8c\x38\xf2\x11\x9e\x8a\xd6\x48\x7f\xba\x67\x56\x32\x90\xc9\x8d\x48\x33\x2f\x30\x89\x28\x2b\x4a\xd9\x6b\x4d\xaa\x2e\x84\xb9\xcd\x9c\x2a\x21\x16\x59\x68\xc6\x0a\x6b\xb4\x9b\xe2\xe2\xde\x4a\x32\x4e\x26\x39\x72\xe5\xb9\x0f\x85\x48\xde\x63\xc9\xfa\x27\x21\x97\xe2\x36\x2f\x14\x65\x9f\x42\xcb\x81\x9b\x94\x9c\x2a\xd1\x42\xaf\xb2\x41\x1c\x0d\xae\xd7\x7c\xe7\x2f\x14\x15\xd1\xd5\x58\x26\xe4\xa1\x86\xca\xb6\xfe\x34\xcb\x64\xc2\x60\xb0\x72\x9b\x00\x16\x93\xb2\x6e\x13\xfa\x48\xdf\xa0\x3d\x01\xcb\xc0\x43\x61\x2a\x3c\xb4\x1b\x38\x7f\x98\x73\x0b\x21\x6f\x38\x66\x4c\x6f\xc6\xb2\x31\x30\xf2\x1a\xfd\x82\xf4\x0d\x40\x9b\x06\xfe\x77\xdf\xd2\x7c\xf5\x77\x62\xc8\xc6\x11\x84\x19\xa4\x28\xde\xe6\x30\xe7\x8f\x7c\x17\xa4\xe5\xdd\x2c\xb7\x9a\xac\xd3\x64\xdb\x4d\xf6\xa8\xc9\x1e\x37\xd9\x93\x26\x7b\x4a\x8e\x5d\x6f\x01\x7b\x58\x9c\x1e\xc7\x83\x23\x96\x14\xdf\x8c\x55\xd6\x64\xd7\xa4\xc9\x66\xf8\x56\x37\xcf\xd1\x71\x34\xd4\xcb\x0f\x76\x08\xdd\x07\x92\xd6\x9f\x3b\x1d\x8b\x52\xe7\x2f\x55\xc7\x5b\x44\x53\x96\xf5\xf3\x03\x13\x6f\xc2\xfe\xdc\xe9\x14\x06\xf0\x29\xc0\xaa\x97\x71\x9c\xba\xa9\x3a\x25\x98\xe6\xc8\x37\xd6\xbe\x36\x36\x31\x14\x94\x0a\x0d\x96\x7e\x13\x71\x7f\xc6\xee\xee\x72\x33\x6f\x94\x62\x60\x8b\xed\xec\xe0\xfe\xd6\x27\x69\x34\xe6\xe9\xbc\x41\xed\xbd\xe6\x1d\x28\x95\x88\xa0\xeb\x7c\x7a\x1b\xc5\x51\x79\xc3\x6d\xdd\x90\xc2\x59\xd0\xdc\x54\xde\xee\x6b\xa8\xba\x70\x2a\xff\x28\xd2\x9e\xc9\x74\xd8\x82\x2c\xda\x2d\x48\x8a\xd4\xd2\x7d\xef\x40\xdd\x30\x9d\xb3\x5f\xce\xcf\xd5\xf9\xf9\xd9\xf9\xf9\x45\xbd\xf1\xdb\x97\xef\x7f\xd8\x38\xaf\x9d\x9f\xff\xf2\xe0\xbf\xfe\xe3\xff\xfc\xe7\xb7\xdf\x35\x5f\x76\xff\xf7\xa2\x20\x0c\x9f\x88\xcb\x69\xcc\x53\x26\x6e\xc1\x01\x90\x34\xf3\x57\x3c\xa6\x32\x8c\x24\x04\x60\xda\x3b\xbd\xa3\x90\xad\xab\x61\xea\xcc\x91\x82\xba\x02\x3b\xe9\x18\xf4\xff\x19\xd9\x33\xb8\x67\x05\xc7\x50\x9d\x4c\xb2\x54\x80\x79\x8a\x64\x90\x81\xa7\xa4\x6a\xfb\xfa\x2e\x2a\x2d\xb6\xf1\x0f\x4a\xf9\xd0\xde\xf0\xab\xa9\x71\xc5\x26\x3c\xbb\x52\x6c\x04\x9e\x57\x10\xcb\x03\x13\x35\xba\x11\xe9\x29\x3f\x0a\x38\x5f\x4f\xc3\xb3\x2e\xd2\xff\xd1\xfe\x3a\xb4\x13\xe9\x8b\x64\xf8\xc7\x60\xbd\x12\x4d\x78\x58\xef\x19\x4f\x17\xdf\xad\x88\x1b\x2a\x60\x4b\x01\x86\x9e\x2a\x93\xf4\x37\x38\xbb\xdf\x9b\x10\xdd\xa7\xf7\x54\x2d\x47\xdc\x4e\x8c\x47\x87\xb3\xd7\xa8\x69\x0a\x0f\x3a\x13\x48\x6c\x53\xdc\x41\x92\x49\x8b\xe2\x09\xbf\xfc\x3d\x1f\x6e\x14\x6e\xbb\x09\xb5\x89\xd7\x7b\xbc\xd9\x5b\xa8\x00\x62\xa5\x07\x5c\xd0\xcd\x71\xd2\xc2\x63\x0e\x07\x0b\x5a\xe7\x1f\x72\x13\xae\x54\x8b\xc7\x59\x0b\xdf\x35\x77\x7f\xcc\xe5\x14\xd0\xbe\x34\xe7\x74\x96\x7a\x34\xf0\xa1\xef\xb4\xdb\x2f\x6c\xf4\x2a\x25\xf0\xa9\xbc\x6b\xc8\xe1\x7b\x8e\xba\xc3\x74\x9a\x40\xd6\x21\xf4\x3b\x8d\x12\xc6\xad\xc0\x9a\xf1\xbe\x73\xc4\x9f\xcb\x29\x1b\xa2\xa7\xb4\x81\x06\x7e\x2f\x78\xc9\x9f\xd7\x14\xdb\x50\xb3\x08\x4a\xe1\x4a\xdd\x73\xc3\x65\x17\xe2\x83\x81\x88\x45\xca\x33\x88\xe1\x44\x57\xd8\x44\x66\x76\x68\x67\x31\x67\x5c\x77\x65\x11\x28\xe9\xfa\x22\xcb\xd0\xc8\x68\x76\x51\x09\x5f\x0a\x47\x3d\x23\xcc\x8f\x12\x6b\x78\xee\x1e\x54\x66\x94\xdd\x44\x63\x2d\x0d\x89\x31\x1f\x94\x9f\x0c\x4b\x7f\x16\x8f\x26\x05\x34\x79\xc5\x9b\xea\x54\x06\xaf\xcc\x13\xf5\x6d\x9f\x40\x6b\xa0\x1f\xa9\x94\xd6\xc8\xc6\xc4\x43\x2f\xdc\x5b\x5e\x12\xb7\x62\x3d\xc8\x49\x8e\x72\x6f\x5b\xd0\x64\x80\xd8\x03\x69\xed\x02\x42\x03\x0b\xdc\x1f\x47\x69\xf0\xb2\xfc\x7f\xa4\xf6\xf5\xa4\xe6\x10\xb9\x06\xad\xb9\x4e\x7f\x34\xb1\x11\xb5\xc1\x3b\xf5\x8f\xa3\xb6\xb7\x7a\xb8\xff\x47\x6d\x5f\x4f\x6d\x0e\x91\x6b\x50\x9b\xeb\xf4\xcf\x61\x6d\x40\x6c\x37\xf7\xae\x09\x01\xb0\x1f\xd8\xa5\xc8\x14\x50\x19\x4a\x45\xb0\x0c\x33\x3c\x39\xc1\xb6\x84\x09\x4c\x5d\x5f\x25\x56\x9b\x66\xa3\xd6\xf3\x5a\x93\x9d\xd9\x4f\xb5\x94\xcf\x5c\x00\x24\x5a\xa3\x6c\xa9\x0b\x33\x14\x3c\xad\x87\x3c\xe3\xcc\x7a\xe2\xda\x30\x12\x98\x63\x85\xb3\x5a\x34\x44\xf7\x29\x2c\x70\x7c\x8e\x83\x9e\xd7\x40\x68\x39\xd7\x23\x7b\x8e\xd2\x28\xb1\xb4\x64\x02\xa2\x5c\x96\xca\xeb\xd5\x85\x64\x17\x28\xbb\xc8\x03\x47\x51\x66\x0d\x3f\x99\x06\x58\x88\x93\x39\xb3\x63\x96\xcc\x47\x4e\xb3\xc9\x74\xf5\x97\x8d\x37\x99\x45\x62\x65\xd5\x6c\x5c\x0e\x15\x18\x36\x37\x9f\x3e\x4f\x5b\xe4\x87\x79\x3f\xd8\x39\xbd\x02\x5f\x07\x70\x32\xf3\x64\xd8\xb1\xaf\xd2\x24\x54\xcc\xae\x84\x88\x5b\x63\x3e\x07\xa5\x60\x8b\xa7\xa9\x9c\xb5\xd6\x52\x6f\x2e\x46\x0d\xb0\x29\xb4\x6b\x52\x1c\xa0\x48\x49\xc1\xa2\x06\xa9\x10\x09\x65\x14\x41\xaf\xc4\xfd\x83\xbd\xbd\x9f\xdf\xb2\xfa\xee\x04\xcb\xce\xe9\x07\xc3\x1e\x1a\x4a\x0d\x05\x62\xbd\x32\xa3\xbb\x10\x4d\x52\xe7\xc0\x3a\x0c\xfe\x21\x54\x8f\x14\x0f\x62\x3c\x8d\x21\x44\x4b\xaf\x0c\x75\xa1\xa5\x0c\xcc\xe4\xe5\x60\x99\x18\x4f\x64\xca\xd3\x28\x86\xd0\x7b\xde\x27\xe6\x75\x25\x63\xf7\x68\x01\xe1\xfc\x5a\xcc\xab\xef\x07\xef\xb9\x8d\xb9\x2a\xa7\x13\xbc\x2a\x10\x19\x5a\xb0\x4f\x15\xab\xc7\x42\xa9\x86\xe6\xad\x29\x69\x48\xc7\x1c\xdf\x08\x5e\xec\x16\x99\xbc\xc4\x30\xca\xc0\x0b\xe2\x26\xda\x4c\x78\x22\xa1\x1b\x42\x43\x54\x6e\x66\xe3\xe9\x6d\xc5\x06\xcb\x1b\xd1\x1a\x4f\xe3\x2c\x9a\xc4\xd1\x1a\x57\xaa\xb7\xb9\x9d\x82\xc5\xd2\xc1\xb3\xb6\x52\xb0\x57\xb2\xa1\x88\x33\xae\xef\x0d\xdc\x15\xda\x0e\x48\xa1\x67\xef\x01\xfb\xf4\xc1\x2d\x83\x96\x6d\x2d\xe3\x82\x3b\x92\x9c\xb1\x91\xa9\xea\x09\x6f\xa0\xfc\xdb\x07\xa8\xf5\x0f\xe0\x9a\x05\x66\x69\x6e\xa4\x80\x8d\x9b\xf3\xfd\x55\x33\x8a\x94\x6c\x6d\x6f\x6d\x6f\x9b\x50\x5b\xf7\xb7\x9b\x2d\x7e\x68\xc5\x72\x70\x2d\x86\x66\xb2\xbe\xf5\xd8\x72\x1a\x3b\xf3\xfa\xfe\xd1\x5e\xaf\x5c\x1b\x79\xd8\x3b\x82\x11\xc8\xfd\xca\xf3\x08\xc3\x74\x84\x29\x4f\x54\x4c\x61\x87\x75\x48\xc5\x7a\x99\xf2\xc9\x55\x34\x80\x74\x85\xca\x07\xfa\xfe\xf4\x75\xeb\xb9\x39\x2f\x8a\xa9\xe9\x64\x22\x53\x13\x45\x2b\x55\x95\x2f\xb7\x60\xb8\x14\xf4\x24\x48\x4c\xf0\x78\x80\x7a\x4a\x47\xea\xfc\x80\x19\x07\xa9\x27\x8b\xc6\x8e\x8c\x40\x23\x6b\xd7\x8e\x56\x06\x17\xfa\x5a\xe5\xa4\x6c\xc2\x7c\xb2\x68\x70\x8d\xfa\x30\x5c\xc7\x34\x01\xbf\x2f\x2d\xad\xa1\x7b\x8d\x16\x2c\xae\xb5\x9c\x27\x92\xa1\x00\xf3\x1f\xb4\xb6\x32\x9c\xb8\xe4\x83\x39\xe3\x8e\x6d\x79\x94\x0a\x06\x34\x2c\x10\x7f\x67\xff\xc5\x32\x57\x1d\xcd\x82\x1e\xb2\x43\x00\x5c\xe6\xc6\x98\x15\x7d\x18\x3d\x47\xe2\xb4\x35\x50\x77\xf3\xe7\x87\x20\xb3\x42\x60\x2f\x04\x6a\x42\xb6\x23\x75\x25\x30\xc6\xd4\x98\x78\xf3\x6e\x44\x43\x39\x98\x8e\x85\xa7\xec\x31\xd3\x69\x69\x3e\x77\xf7\x39\x01\x3f\x8a\xa3\x44\xb4\x42\xa7\x06\xa8\xd1\xce\xf6\x7a\x3d\xe4\xa3\xe0\x34\x9e\xcd\x6d\x2a\x3b\x9b\x98\x4a\x4f\x67\x51\x92\x1d\x9b\xef\x9d\xed\x68\xc0\x26\xf3\x0f\xc6\x00\xd7\xcb\xf3\x16\xd9\x3e\x8d\x05\x39\x63\x5c\x2d\xfa\xea\xec\x43\xcb\x73\x5e\x4d\xfb\x6a\xda\xff\x77\xcf\x73\x45\x29\x71\xde\xeb\x8d\xcc\xe6\xa4\x82\x34\xe5\xb7\xf9\x70\xc8\x26\xd3\x7e\x1c\xa9\xab\x4d\x35\xed\xab\x41\x1a\xf5\xc5\xe6\x34\xb1\x9f\x6d\x52\x29\x0e\xbd\x31\xb3\x3f\x4f\x98\xb8\x85\xfc\x08\x97\xc6\x3f\xc9\xcf\x9a\x33\xed\xf7\xa6\xfd\x8a\xa2\x95\xb2\x0f\xf8\x48\xd5\x27\x4a\xab\xe4\x25\x65\xdc\x75\x93\x69\x32\x3b\x03\x94\x63\xfc\x29\x8d\x45\x76\x25\x87\xf0\xdc\x2a\x9f\x09\xe6\x60\x26\x4f\x16\x57\x66\xda\xd8\x61\x28\x48\x05\x12\x38\xcb\xe9\xe0\x4a\x0c\xe9\x39\x29\x52\xd8\x8b\x44\xb2\x44\x00\x7e\x34\xa0\x99\x4c\xd3\x39\x25\xa2\xd5\xc8\x23\x1f\x1e\xb4\xf2\x84\x35\xac\xfd\x0a\x0a\xa6\x32\xb6\xec\xff\x0d\x08\xc5\xc4\xff\x21\xce\x81\x04\x8c\xdf\x3f\xcb\x64\x11\x7f\x6d\x3e\x1c\xbe\x32\x0d\xfc\x1a\x08\xfd\xbf\xb9\xaa\x3d\x48\xa1\x54\x47\xcb\xef\x8d\x59\xe0\x6c\xe5\xda\xb1\x57\x8d\x13\xa1\xbb\x53\x44\x69\xb4\x64\xff\x6f\x67\xe3\x0b\x77\x5a\x72\xcd\xce\xc6\x17\x98\x3b\x0b\x87\x6c\xd8\xbc\x71\x66\xf3\x7a\x76\x7b\x30\xdc\x07\xa3\xbd\xf5\x1b\x72\x64\xbc\x1f\x15\x61\x91\xeb\xcd\xf5\xf7\x2a\x5f\x22\x8d\x7e\x06\xbc\x99\xcf\xfa\xb9\xed\x0d\xd1\xf6\xfb\x59\xe4\x20\xd2\x1b\x5f\xd8\x80\x53\x76\x3d\xf0\x79\xa2\x9f\x91\x83\xde\xc8\x6b\x41\x46\x50\x3f\x1e\xbd\xb8\x01\x5e\x31\x0a\x3b\xb0\xb7\x11\x34\xb1\xa6\x1d\xcb\xab\x49\x61\x7e\xc4\x13\x1a\x90\xbd\x5f\x2d\xc2\x7d\x7b\x46\x1d\xf4\x06\x9c\x5d\xb8\x9a\x11\x25\x2d\xda\x93\xa9\xba\xaa\xdb\x41\x83\x13\xf4\xde\x3f\xb8\x18\xee\x7f\x37\x54\x4f\x73\x80\x56\x45\xf7\xae\xfb\x38\x49\xc5\x4d\x24\xa7\x2a\x9e\xb3\x54\x5c\x46\x2a\x83\xec\x5b\x37\x11\x37\x85\xe6\xed\x08\xf5\xc6\x42\xec\xfb\x73\x59\x8e\x7f\x4d\xee\x90\x49\x6f\xa7\x12\x83\xa6\x8c\xc7\x03\xdd\xce\xaf\x1f\x53\x3b\x4c\xb0\xb4\x09\xb5\xc4\x8a\x31\xf4\x87\xad\x0c\x12\xb1\x1d\x18\xc1\x56\xe1\xf0\xf6\x02\x01\x47\xec\x7b\xb6\x15\x00\x7e\x27\x33\xb7\xde\x61\x11\x2e\xc0\x53\x5a\xd6\x11\xf5\xa8\x50\x95\xe5\x18\x99\xa2\xe7\x47\x5c\x71\x90\xec\x21\xd4\x8f\x1a\x63\x29\x42\xe3\x34\x8f\xd9\x08\x64\x05\x87\x2e\xcd\x00\xf1\x3c\x0c\x19\x57\xf3\x64\x70\x95\xca\x04\x76\xac\x6d\x33\x16\x22\xaf\xc5\x87\x1f\xa5\x94\x24\x87\x1f\x9e\xcc\x65\x22\xe8\xdd\x38\x05\x93\x97\x39\xf3\x6b\x12\xdb\xc4\x2c\x4f\x2f\xaa\x5d\xc6\x44\x05\xdb\x4d\x18\x4f\xfb\x51\x96\xf2\x74\x6e\x19\xb8\x52\x72\x10\x71\x2c\xe7\x08\x96\x57\x60\xde\x5e\xaa\x90\xc5\x54\x2b\x27\xd9\xa7\x98\xab\x6c\xcf\x52\x6f\xe2\x21\xcb\x63\x1a\x03\x28\x22\x30\xca\x44\x6a\x68\x57\x7f\xa1\x3c\x64\x43\xb4\x47\x5f\xa0\x02\xd1\xe2\xa0\x92\xa4\xcd\x8a\xcb\xc8\x59\x34\x0b\x13\x43\xca\xb6\x33\x82\x21\xe6\x6f\x22\x95\xd5\x23\xc3\xbe\xb5\x28\x03\x2f\xac\x48\x31\x2d\xc6\x6b\xf2\xa0\x8d\x82\x2d\xb6\x25\xaa\x08\x64\x93\x8a\x2f\x60\xce\x75\x0c\x56\x91\x06\xd2\x40\x26\x03\x91\x26\x4c\x4e\x53\x25\xe2\x1b\x41\x29\x40\xc4\xed\x40\x4c\x0c\xb7\x64\x8e\xd4\x81\x78\x5d\xf1\x52\x53\x46\x51\x89\xec\x14\x67\x52\x77\x33\x06\x57\x98\x88\x3d\x74\x55\x0c\x75\xef\xb3\xe8\xa2\xee\x55\x53\x5e\xe3\x0c\xc3\x11\x76\x38\x80\xf4\x76\xe0\x3f\x00\x63\x45\x09\x16\x9a\x88\x32\x7a\xe9\x28\x2a\x23\x39\x13\xb5\x94\xee\xa8\x39\x56\x95\xa0\x99\x00\xff\xd5\xf2\xe3\x80\x67\x08\x3c\x28\xfa\x5b\xbe\x33\xc5\xa9\xd0\x89\x06\x56\x5d\xe8\x43\x75\x74\xc2\x6a\xea\x66\xf0\x7c\xeb\x8b\x5c\xcd\x42\x3b\xd2\x37\x8b\x71\xbc\x85\x2c\x64\x89\x88\x8b\x6a\x8e\x7f\x77\x11\xb7\x2a\x95\xeb\xcc\xd4\x17\xa4\x9c\xa5\x78\x1a\x4f\xe4\x6c\x0f\x2a\x40\xd3\xdf\xbd\xe8\x57\xe1\xfe\x3a\x15\xb7\xd9\xae\x75\x7b\xf6\xb3\xc0\xfe\x97\x1e\x5c\xaf\xe1\x26\x12\x33\xe4\x8e\x28\x4c\xdb\x3a\x70\xca\xd5\xc0\xf5\x0d\xde\x9a\x2d\x80\x9b\xaa\x46\x8c\xb8\xb5\xdc\xfa\x30\x63\x63\x1e\x25\x19\x8f\xe8\x81\x6e\xea\x85\x51\x24\x83\xad\x1d\xa9\x39\xf9\x15\x57\xac\xcf\x55\x34\xb0\xe2\xaf\xf1\xdc\x86\x0a\x2d\xf8\x66\x85\x54\xe3\x37\x22\x85\xd0\x0d\x0a\x4b\x1e\x0e\xa9\xfc\x78\x2a\xc6\xf2\x46\x7f\x4e\xe5\x4c\x39\xcd\x34\x91\x80\x9f\xa6\x16\x97\xa5\x47\x4c\x24\xa4\xa3\x8d\xc5\xf0\xd2\xe6\x3b\x29\xcb\x5d\x6c\x0b\xfb\xba\x50\x61\x18\x45\x26\xde\x18\x9a\x08\x86\x02\x31\x03\xc6\x85\x78\x6e\x74\x57\x61\x37\xac\x8a\x49\x11\xcd\x9a\x63\x41\x39\x18\xbd\x42\xe5\xe2\xc0\x69\xde\x60\xbe\xe0\xa6\xd5\x8c\x27\x98\x0c\x46\x24\x6a\xaa\x2f\x29\x0d\x0a\x5e\x83\x3c\xc9\x16\x4e\xae\xc9\xa2\xac\xa6\xc8\x3d\x34\x15\x6a\x22\x13\x15\xf5\x23\x7a\xf5\x20\xf2\x08\x5e\x0a\x45\x39\x52\x8c\x5d\xd7\x7f\xe0\xdc\xdc\xbd\x77\xea\x96\x0c\x61\x7f\xc8\x88\x64\x92\xa5\x1c\xb8\x92\x62\x22\x19\xc9\x74\x20\xa8\x74\x4f\x6c\x2a\xc7\x50\xc9\x9e\x49\xca\x07\x59\x34\x10\xed\x36\xdc\x60\x2d\x00\x68\xc8\x93\xe8\x8a\xf6\x48\xc6\xfa\x21\x34\x93\xf4\x73\x8f\x10\x0d\x0b\x1e\x80\xb3\xc4\x51\x22\x8c\x32\x51\x03\x23\x27\x39\x33\x3f\xa0\x18\xd7\xc2\xaa\x93\xf3\x74\x61\xe6\x30\x8e\xcd\x18\x38\x01\xd8\xc4\x01\x4f\x21\x37\x20\xcf\x10\xb1\x5a\xb0\xf8\xe9\xf4\xed\x9b\x03\xcc\xff\x00\x2e\x1b\x89\x99\x40\xcc\xd3\x4b\x08\x30\x48\x40\x77\x20\x47\x38\xf5\x26\xbb\x92\x33\x71\x23\x52\xcc\x13\x01\x70\xae\xf8\x64\x22\x12\x7a\x50\xb8\xac\x25\x9a\x7f\x24\x1a\x94\x5d\xb3\x8c\xe3\x63\x49\xf4\x4f\x77\x19\xf9\xb8\x33\xce\x46\x62\xc6\xd2\x69\x2c\x28\xd3\x1f\x56\x82\x6d\x33\x76\xc0\x07\x57\x66\x3b\x4d\x6d\xc3\x54\x42\x75\x68\xa2\xca\x01\xea\x39\xf4\x52\x58\xc6\x2f\x59\xed\xb6\x95\xca\x59\x0d\x0f\x16\xec\x3e\xf4\x83\x11\x0d\x65\x60\x41\x39\x9b\xd1\x00\x99\x9a\x4c\x91\xa2\x86\xd6\x46\x88\x49\x0d\xe8\x44\x21\x0d\x91\x93\x74\x62\xce\x74\xe5\x71\x63\x54\x4d\x29\x4a\x48\xc7\x87\x18\xb7\x34\xd5\x9f\xe7\x88\x05\xaa\x46\xd9\xaa\x52\x98\x80\x06\x23\xcc\x50\x17\x60\x84\x83\x1c\x0d\xf9\x13\x02\x6f\xb0\x52\xa4\xa3\xa0\x63\x8b\xa3\x99\xf4\x6d\xfa\x45\xaa\x42\x6a\x2c\x39\x1e\x54\xe2\x3b\x9e\x1b\x6e\x83\xf4\xa3\xf9\x16\x1b\xf3\xdb\x68\x3c\x1d\x9b\x00\x5a\xa8\x6c\xa8\xa7\xb1\x95\x17\x2f\xa9\x64\x3d\x0a\x74\xd8\x7a\x0f\x1a\x83\x4a\x9d\xa0\xb8\xb3\x8f\x2d\x4c\x99\xa7\x48\x91\x4c\x67\xf9\x49\x4f\x08\x3a\xd1\xa6\x88\x7e\xc8\x57\xed\xb7\x1a\x40\x94\x60\x80\x01\xb0\x69\x2d\xbf\x12\x34\xc8\x66\x88\xf4\xab\x28\xca\x4f\x4a\x36\x86\x24\x11\xce\x9d\x0c\xd2\x42\x0c\x87\xa0\x6b\x90\x9a\x36\xe5\x2c\x4c\x6a\x45\xd0\xb6\xf4\xb5\x9f\xc8\x4c\xd3\xd5\x4d\x34\x0c\xa5\x4b\xda\xaf\x5c\x9d\x44\x0f\x0f\x8d\x5c\x8d\x0a\x2d\x7c\x0e\x9a\x60\x1f\x69\xc1\xf9\xe5\x03\x28\x83\x6e\x7c\x00\xf5\x16\xd0\xc3\xd5\x71\x01\xca\x4e\x0f\xf2\x98\x6e\xb1\x0b\x99\x41\xec\x6b\x75\x73\xd3\x60\x3b\x08\x78\xb6\x48\xf6\x00\x61\x39\x41\x37\xbd\x4f\x6c\xa7\xb0\x73\x9f\x3f\xb3\xe7\x5b\x3e\x60\x7b\x35\xca\x58\xa6\x4d\x08\x3e\x85\xa4\xa4\x22\x8d\xa3\x84\x4a\x9f\x85\x61\x9f\xca\x8e\x95\x05\x57\x7a\xa0\x2d\x09\x6f\xfb\x3a\xda\xb3\xdb\x46\x9d\xda\x30\x33\xd8\xa3\xd1\x21\xe9\x01\x9a\xc6\xe9\x8e\x1e\x48\x99\x0e\x21\xbf\x9e\x1b\x0f\x7f\x3a\x36\xb7\xb7\x3f\x1e\xca\x1e\x75\x92\xcf\xdc\xf2\x12\x39\xc4\xa3\xc6\xb1\x88\x9c\xe1\x0a\xee\x16\xc4\xe1\x22\x65\xa5\x02\xb8\x41\x73\x63\x9e\xc8\xd9\x3b\x39\x14\x1a\xa3\xc9\x34\x8e\x97\x8d\xa0\x26\x3c\x31\x42\xc9\xba\x43\x55\x8d\x23\x47\x23\x25\x32\xbc\xf0\x3c\x3a\x80\x6b\xdb\xef\xe9\x12\x73\x96\x8d\x97\x1b\xec\x08\x80\xe6\x87\x3b\x11\x97\xe2\x96\xea\xb5\xa1\x67\x24\x98\x11\x64\x3a\x74\xde\x91\x6e\x57\xf4\xf7\xaf\x52\xc1\xaf\xdf\xf2\x6c\x70\xf5\x46\x8c\x32\x0b\xae\xb4\xc5\x09\x48\xc2\x0b\x9b\xbc\x45\x8f\x72\xd3\xc6\x7b\xb1\x9f\x50\x65\x2c\xc7\xe9\x20\xfe\x10\x43\x3a\x9d\xd8\x99\xd3\x59\xda\xf2\xa8\xae\xc5\x97\x62\xeb\x92\xba\xc3\x44\x9e\xc8\xe3\xcc\x1b\xd5\x88\x39\x1c\x63\xfd\x80\xe7\x15\x8e\x75\x8e\x8b\x78\x6f\xd4\x4b\x91\xc1\xa0\x05\x3d\x2e\x4d\xd2\x11\xb5\x6e\x56\x2f\x9c\xea\x66\x8e\x57\x98\x12\xfd\x55\x78\x0a\x17\x61\x67\x5f\x9c\x71\x80\x29\xcb\xfb\x4b\x84\xcf\xf5\x16\xfb\x93\xa0\x0d\x2f\x5f\x6e\xe9\x62\x56\x5f\x4b\xf5\x06\xac\xb2\x9c\xbb\x6d\xdf\x47\x38\x79\x0b\x17\xe4\x6f\x58\xb0\x18\x63\xae\xad\xbe\x3e\x27\x22\xa5\x4a\x83\xe5\x97\xf1\x60\x85\x2b\xd8\x83\x51\xb9\x10\x25\xb2\x3d\xef\x66\x58\x50\x02\x39\x77\xa7\x50\x29\xe4\x6f\xfc\xd2\xb9\x01\x67\xa6\x0e\xec\x07\x6a\xeb\x69\x66\xf5\xa0\x41\xdb\xd2\xfe\xa9\x9c\x35\x69\x9d\xad\xbc\xce\xee\x04\x1f\x0c\x2e\xe7\x19\xbc\x1a\xc2\x47\x97\x5f\x44\x2f\x2a\x72\x01\x4f\x84\x46\x82\x70\x80\xd6\x20\x04\xb0\x96\x9e\xc8\xd9\x62\x42\x30\xad\x54\xbd\xd3\xb0\x35\xad\xc3\xa5\x84\xcf\xc6\x4c\x4e\x3c\x09\x35\xb7\x18\xa8\x9e\xe7\xe7\x7f\x5a\x4e\x24\xb9\xb3\x6b\x9f\x5c\x61\xdd\x68\x3c\x7c\xdf\x7b\x98\xf9\x01\x51\x83\x0c\x5f\x0c\xa1\xf7\x4a\xf8\x50\x15\xa4\x54\x7e\xde\x49\x37\xbb\x45\xfb\x1d\xee\x35\x59\x8c\x41\x7e\x63\x74\x8b\x16\xf0\x93\xc7\x41\xb0\xbb\xba\xe3\xa9\xb9\xf3\x25\x89\x9f\x0b\x97\x41\xc9\xb8\x73\x1b\x9b\xca\x99\x77\x20\xca\xa6\xbf\xd5\xd4\x83\x94\xce\x1f\x6f\x8b\x15\xa7\x5f\xba\x13\x00\xe1\xd4\xc8\x90\xeb\x2e\x44\xe5\x56\xa2\x4a\x97\x42\xed\xdb\x7c\x32\x89\xe7\xf5\xf0\x47\x58\x9b\xaa\x3c\x88\x31\xbf\x9f\x73\x68\xe1\xac\x71\x0c\x27\x72\xb2\xf4\x10\x62\x9b\x95\x8f\xa0\xf1\x86\xfb\x77\x3c\x85\xb4\xd4\xbb\x9c\xc1\xd2\x9b\x98\xb5\x70\x15\x2b\x9f\xcf\x32\xe4\xdd\xf3\x11\x9d\x4c\xd5\xd5\x8a\xe7\x13\x14\xc5\xab\x9c\xcb\x55\xa6\x7d\x6f\x47\x93\x16\x50\x71\x2e\x61\x8f\x75\x93\x95\x8f\x62\xd9\x3e\xb8\x7c\x00\xfa\xcb\x85\xeb\xb2\xf4\x8a\xca\x93\x53\xab\x46\xb1\xab\x31\xef\xa6\xf6\x3d\xee\x22\x36\xc9\xed\x23\x8c\x8b\x9c\x74\x01\xbb\xa5\x56\x2b\xb2\xdc\xdf\x05\x13\xaa\xfd\xbb\x50\x86\x45\x8a\x2a\xc7\x0a\x91\x88\x75\x40\x88\xd8\x0e\xdb\x7a\xc9\x22\xf6\x3d\x4e\x8a\xc4\x67\x16\x3d\x7c\x18\xd4\xf1\x2a\x47\x21\x7b\xc8\x22\x83\x46\x75\x16\x5d\x14\xbd\x0f\x88\x3f\xf2\x35\xb8\xfb\x32\x54\x7a\xba\xb9\x0a\x36\x58\xb8\x17\x7c\xf6\xb7\x10\x7d\x08\xad\x8c\xa6\x56\xe0\x7f\x84\xe5\x3f\xfa\x92\x28\x21\x35\x8c\x7a\x0d\xec\x0a\xed\x7f\x95\x0b\xc6\xa2\xb8\x8c\x42\x57\xbd\x6a\x82\xe6\xb9\xf3\x0b\x9e\x02\x3c\x13\x8b\x2c\x37\x81\x55\x45\x89\x4c\x95\x2a\x88\x32\xc9\x50\x23\x84\x4f\xf5\x58\xf0\x54\x31\x39\xcd\xb0\xe4\x88\x46\x62\x4a\x4a\xdc\x21\xcf\xb8\x81\xb9\x8b\x49\xb0\x28\x78\x97\x4e\xbd\x4c\x9d\x9e\x92\xd2\xfa\x80\xbd\xd3\xd3\xb3\x58\xab\x52\xa4\x40\x83\x1c\x47\x43\x70\x73\x02\x0b\x3f\x8f\x94\xc0\xac\x53\x6a\x30\x4d\x85\x33\xf9\x2e\xe1\x06\x06\x19\x7b\x79\xd5\x57\x99\x0f\x58\xee\x15\xa5\xf7\xc9\x68\xc4\x16\x6b\xb3\x16\x28\xa0\x16\xaa\x8b\xbc\x7d\x73\xf5\x38\x07\x54\x30\xd3\x1c\x0d\x42\xcf\xb2\xa3\x0b\xdb\xb3\x67\xe6\xb7\x70\x85\x66\xfe\xed\x28\x49\x44\x0a\x56\x84\x1d\x56\xab\x55\xac\x92\x28\xd6\x6a\x23\xeb\x35\x70\xbc\xd4\xdb\x39\x8a\xe5\xac\x96\xc7\x8e\x5b\xe4\xd6\xcb\x0a\xcc\xd2\xfb\x76\x41\x0b\x03\x5d\xaf\x83\xc7\x4a\x58\x27\x17\x4d\x3b\x2f\xfd\xa7\x73\xa8\x44\x6d\x47\x8a\xb4\xd4\xf5\x86\x2b\x47\x7a\x9b\xd9\x05\x06\xd6\x6d\xfa\x05\x6c\xb3\xa0\x98\xb8\x8a\x32\x01\x69\xc3\x8a\x6a\x23\x67\x6f\xc7\x8a\xf3\xe8\x50\x0c\x4e\x0a\x32\x01\x85\xfb\x8d\x48\x95\xcd\x73\x0d\xaa\x75\xd8\x13\x48\x58\xac\x99\x98\xe0\x4d\x1b\xc3\x8d\x60\x20\x1d\x5b\x4d\x41\x45\x02\xca\x6c\x25\x52\xae\x84\xf5\xc0\x6b\x1b\xd7\x1e\x02\xbe\x53\xa6\x38\x6e\xd3\xaf\x2f\xcb\xf5\xca\x6d\xd7\x99\x50\x59\xde\x4c\xcd\x93\xc1\x1e\x4c\xbe\xde\xb0\xe8\x06\xed\x6c\xf9\xa8\xe8\x0c\xbb\x87\x9a\x5b\x91\xd6\xf5\xcf\x55\x27\xa5\x0d\x06\x87\xe1\xde\x55\x14\x0f\xeb\x1a\x66\xbe\xa1\x3d\x34\x72\x28\x9c\x97\x59\xe5\x42\x96\xac\x38\x5c\x8a\x77\xca\xde\xf2\xf4\x3a\xe0\x8b\x20\xf0\x81\x9b\x0c\x18\xa3\x89\xea\x84\xcd\xf5\x94\x68\x0a\xd1\xf4\xee\xdb\x88\x40\xb3\x6f\x29\x14\xe2\x0e\x29\x53\xf5\x90\xf6\x1d\x33\xfc\x60\xaa\xea\x14\x12\x01\x3a\xdd\x9f\x86\x4c\xc6\x76\xb4\xb4\x5f\x0b\xc5\xa2\x4c\xf3\x3f\x4c\xd0\x0e\x77\xcf\x40\x8e\xfb\x7a\x98\x6c\x06\x39\xb3\x20\x57\x96\x1d\xd2\x1a\xf1\x2d\x48\xf0\x7e\x35\x36\xfe\x70\xbe\x18\xc1\x68\xcb\x86\xd9\x0b\xd8\xa4\x25\x14\x7a\x9a\x64\x54\x0b\x17\xd5\x66\x14\x92\x03\x56\x3f\xf3\x13\xa4\xda\xe6\x99\x31\xac\x4e\xd2\x08\x15\xbe\xa1\x96\xde\x72\x73\x0a\xb9\x1f\x8f\xa3\x0c\x6d\x91\x01\xf6\x9a\xc6\x01\x1f\x33\xb3\x4f\x52\x31\x10\x43\xe3\x8a\x91\x0a\x03\x05\x36\xc7\x67\x87\x60\x89\x97\x8c\x43\xc6\x98\xdc\xac\x17\x72\x49\x98\xc8\x9b\x28\x11\x47\x1e\x87\x59\xce\x29\x95\xc8\x2a\x19\x20\xfa\xec\xe7\x1f\xf7\xb1\x1c\x78\x97\xb0\x02\x6f\x5a\xc6\x31\x17\x15\x50\x9d\xd5\x7e\x57\x4a\x36\xe6\x4d\x00\x89\xd3\xd0\xba\x93\x7f\x43\x78\x92\x0c\xb0\xd4\x5c\x73\x37\xc0\x42\x35\x66\xe5\xe5\x48\x8a\x44\x0d\xc4\xf3\x22\x2d\xd7\x9f\x13\x4f\x1d\xc8\x44\xc9\x58\xb4\x67\x3c\x4d\xea\xb5\x5d\x97\x11\x13\xaa\x90\xe4\x88\x43\x26\x4c\x60\x09\x21\x9c\x56\x2d\x28\x12\x1d\x78\x38\x69\x64\xfc\xb0\x53\xa1\xbb\xcf\x8d\x2d\xd2\x54\xa6\xf5\x9a\xbe\x07\xb5\xb8\x22\x47\xac\x0f\x75\xc0\xd0\xbf\x11\xdf\x3c\x30\x0c\x6c\x7f\xd5\xbb\xbd\xe3\xdd\x17\x66\x06\xdf\x6b\x69\xe8\x6b\x06\xdb\x0a\x16\xe5\x14\xbd\xc5\xfb\xa6\x7c\x18\x54\x39\x97\x8d\x44\xdb\xf4\x92\x7a\xd1\x0d\x5b\x54\x40\x17\x17\x46\x8d\xab\xd7\xb6\xee\xa0\x6e\x91\x6b\xdd\xed\x29\x9e\xb6\xc2\x96\x9c\xa5\x72\x76\xf1\x32\xbc\x91\xa8\x6d\x1b\x54\xcf\x70\xaf\x58\x8d\xfa\x03\xb8\x60\x68\x25\xb9\xe6\x72\x96\x88\x74\xdf\x44\xa5\xe0\x15\x76\x2a\x6e\x33\xfd\x63\xbd\x56\x73\x5b\x05\xad\x4b\x6f\x2d\xeb\x09\x48\x77\xc8\x9e\xb7\x6a\x47\xab\xb8\x90\x9d\x32\x66\xe2\xfb\xe6\xe5\x09\xa0\x54\x4e\x6a\x95\x88\x57\xce\xa1\xcf\xbf\xa2\xbd\xcb\xf4\x25\xfd\x9c\x9f\xe5\x9a\xe3\x78\x5e\x7e\x81\xe4\x54\x2a\x0d\xd3\xba\x17\xee\x3e\x48\xd5\x3e\x5f\x01\xac\xe1\x6b\xa0\xee\xef\x9c\x46\x31\x19\x6d\x77\x98\x9d\x61\xb0\x9c\x97\xb6\xe1\x8c\x4c\x4a\x65\xd6\xf3\xb6\x86\x0a\x36\x27\xb7\x89\x1e\xa5\xb4\xf5\x1d\xdf\x8b\xfa\x10\x25\xf4\xf9\x33\x81\xfa\x81\xc6\x76\x78\xae\x94\x56\x0a\x3f\x3b\x09\x18\x61\x98\x26\x8e\xab\x11\x7e\xf2\xbb\xf3\x70\x07\x47\x7f\xe9\x93\x6e\x7e\x8e\xc5\x08\x07\x32\x89\x19\x1f\x0c\x2f\x05\x8f\x0b\xee\x80\x42\x27\x03\x9e\x8a\xcc\xaf\xa8\x90\xf9\xc2\x10\xb8\xa4\x15\xdf\x89\xd5\x37\xc7\x3c\x19\xf4\x0c\xac\x3d\x00\xed\xfb\x0d\x9b\x5f\xe8\x52\x4d\xe7\x84\x49\x97\xb9\x69\x20\xe3\x98\x4f\x94\xa8\xe7\x51\xdb\x2c\x23\x78\x64\x5a\x03\xc8\x80\x54\x1f\x45\xa9\x18\xc9\xdb\x43\xc8\xe2\x38\x3c\x30\xaf\x41\xcf\xe3\xf6\xf5\x6b\xf0\xd9\x44\x3f\x77\x08\xc7\xa1\x36\x10\x39\x77\x25\x48\x2e\x8b\xf4\x3b\x6b\xd4\x64\x29\xa7\x94\x86\x3c\xc1\x02\xf8\x89\xcc\x0c\x28\xaa\xbf\x69\xad\xda\x34\xed\x76\x61\x23\x26\x71\x94\x39\x31\x0c\xf6\x0f\xe5\xbd\x99\x84\xbf\xac\x4a\x4d\x4b\x01\x09\x51\x87\xb9\xfe\xfd\x9a\x56\xfa\xef\x1f\xa1\x8d\x6e\xbd\x7f\xf4\x96\x8d\x52\x7e\x09\x89\x98\x6b\xdf\x0f\xa3\x9b\x1f\xbe\x57\x13\x9e\xfc\xf0\x93\x88\x63\xc9\x3e\xca\x34\x1e\x7e\xbf\x09\xdf\x7c\xbf\xa9\x7f\xad\x61\xf0\x01\x53\x7a\x42\x80\x51\xf0\xb0\xe3\x4a\x05\x1e\x16\x58\x1d\xc6\x1c\x32\x39\x62\x4f\x4d\xdd\x95\x19\x04\x4b\x42\x6e\x56\xf4\x38\xb3\xc3\xa3\xa8\xd9\xd7\xf2\xa9\xe8\x96\x4c\xc6\xcc\x03\xfe\x5b\x32\x33\xf4\x8b\x34\x53\x00\xbf\x2d\x8e\x35\x6a\x9c\x83\x0c\x26\xa8\xc0\x39\x38\x07\x76\xa8\x17\xe1\x09\xe6\x33\x5a\x84\x82\xea\xaa\xbe\x7c\x9e\xc9\x56\x5f\xb4\x60\xf1\xb8\x09\x9e\x37\x9c\x71\x35\x11\xa9\x4b\xd5\x61\xe0\xa1\x2b\x0a\x3a\xfa\x6a\x7c\xc5\x7c\x20\x86\xf8\x04\xc8\x64\x89\x8a\x4e\xbf\x9c\x35\x76\xbf\x60\x4f\xeb\xcd\x02\xf5\x6f\xe2\x28\x2b\x97\xd4\x08\xdd\x81\x4f\x8a\x59\x94\xee\xed\x1c\x50\x70\x05\xf8\xd0\xb4\xce\x13\x83\xc1\x34\x5d\x7c\x2c\xed\xa6\xfb\xc7\x51\x83\x6e\x06\x3c\x4d\xb3\x4d\x88\x1d\x78\xe7\xf1\x99\x41\x2c\x13\x01\x97\x21\x5c\xcd\x8d\xe0\xdd\xbd\x87\x9a\x09\xd3\xd6\xfb\x4a\x9f\xcd\xfc\x77\x8b\xb8\x71\x6f\xda\x57\x59\x4a\x93\xda\xb2\xf3\xd2\x60\xec\x94\x72\xb0\xd0\x6f\x1a\x42\x9e\x32\x7c\x6c\xd2\x6f\x5e\x6f\xba\x7e\x4b\x41\x34\x2c\x4f\x6d\x4f\xb8\x66\x77\xd0\x00\xd5\x53\xaf\x20\x20\xc1\xf5\x6b\x16\x98\xae\x0d\xa1\x79\x90\x5f\x66\x39\x5c\xd4\x99\x04\x92\x83\xc7\x28\x0e\xd0\x09\x18\x89\x4f\x93\x17\xf8\x36\x47\x93\x89\x18\xda\xca\x78\xce\xfb\x68\x10\xf3\xf1\xc4\x51\xbe\xef\x76\xb8\x90\x10\xc6\x7c\xde\x17\x7b\x71\x34\x21\x2f\xb1\x52\xb5\xd0\x1a\x97\x67\x99\x28\x63\x71\x8e\x30\xbe\x5f\x20\xc8\x7a\xee\x6a\x9a\x25\x43\xd9\xee\x44\x66\x18\xd2\x08\xab\x87\xe0\xf8\xfe\x34\xc3\xb2\xb2\xf8\x35\x1f\x4f\x6c\x1c\xc4\x72\x77\x89\xca\xc1\xd7\x77\x9f\x28\x15\x9c\x1b\x25\xb7\x7d\x99\x5c\xab\x1f\x84\xc1\x3d\x9f\x7b\xd0\x6c\x6e\xb2\x9e\x66\x47\x72\x34\x0a\xd5\xb4\xb8\x12\x0c\x81\xd1\x9c\x08\xf6\x90\xa5\x42\x65\x58\x1e\x82\xc5\x3c\x13\x56\x2d\xb4\xba\x6c\x67\x5c\xd3\xde\x1a\x93\xb3\x7b\x93\xa2\x27\x08\xb8\x6e\x9b\xd7\xe2\xbd\x21\xcb\xf8\xc3\xa1\x11\xc4\x94\xea\x40\xbd\x01\x4f\xc9\xc3\xd6\xe0\x0d\x5c\xe2\xd6\xa7\xc5\x1c\x21\x96\xc8\x61\xdf\x13\x54\x3d\xa7\xa2\xfc\x8a\x0f\xfc\xf5\x18\x97\x0d\xde\x28\x4a\x2e\x5b\x65\xc2\x0b\xc5\x15\xb9\xdd\x37\x28\x89\x63\x23\x18\x40\x71\x2b\xb7\x33\xed\xf2\x37\x51\x78\xfc\x5e\x96\x68\xe9\xfc\x45\x05\x52\x63\xb9\x94\x6d\x9e\x3a\x25\x0c\x6b\xc1\xe3\xa2\x28\x8f\x9a\x07\x6d\x40\x91\xdf\x2f\xe4\x06\x87\x81\x7e\x7b\xc6\x31\x9a\x2b\x0a\xbc\x13\x5d\x12\x6f\xb0\xe9\x08\xe0\x8d\x89\x77\x20\x94\x15\xd2\x9c\xc8\x7a\x17\x67\x29\x7f\xde\x8d\x82\xa2\x78\x73\xd3\xab\x25\x1b\x0b\x7d\x74\xb5\xa4\x47\x2e\x29\xc6\xf3\x82\x4e\x6f\xb9\x2e\x2d\x4f\x76\x8b\xd8\xc6\x97\x52\xe3\x34\x65\xa3\x0f\x85\x76\x2f\x91\x87\xd5\xaa\x38\xc7\x79\x4f\xb2\x87\x93\x17\x38\x21\x03\xf4\xbf\xc8\x29\x8a\x47\x20\x30\x96\x5c\x19\xf5\x06\xd1\x66\x94\x30\x99\x0e\x4d\x79\xb6\x68\xe2\x69\x4b\x1d\xfc\x84\x78\x76\x48\xc9\x26\xaa\x28\x52\x58\x6c\x70\x3a\xb1\x97\x19\x86\xc7\x64\x92\x22\x13\xe2\xb9\x0d\x3d\xa2\x70\xb9\x82\xaa\x55\xc3\xc2\x15\x06\xf7\x5e\x89\x6a\x2f\x8c\xdf\xad\xb0\x15\xa3\xd7\x7c\xf0\x72\xc9\x52\x77\x37\x3a\xa2\xaf\x78\x63\x87\x8d\x4e\xd1\xa2\xe0\xbe\x08\xa5\xa4\x3b\x5b\x58\xac\xd9\x41\x5f\x8d\x10\x0b\x03\xe8\x41\xbe\x66\xcb\x36\xc2\x4a\xfa\x73\x36\x49\x21\xc5\x33\xe4\x0b\x92\x63\xc1\xa0\xf8\x79\x72\x89\x40\x66\xd6\xc8\xa1\x4c\xb0\x25\x65\x15\x00\xb5\x73\x3a\xf4\x81\xe1\x00\xfc\x4a\x70\x08\x98\xcf\xa2\xb1\x30\x9c\x49\x65\xa9\x71\xe4\x34\xb2\x19\x7d\x03\x18\x34\x73\x7e\x07\x16\x0f\x3d\xe1\xd9\x15\xcf\x9a\xe6\x44\x83\x7b\x92\x8d\x1c\x85\x4a\xb6\x3e\x37\xb0\x3e\xda\x90\x50\xfa\x46\x20\x2c\x8d\x25\xca\x51\x30\x9e\x0e\xae\x2a\x1c\xdb\x8d\x3c\xf0\x70\xc7\xce\xd1\x4c\xe6\x8d\x1c\x40\xa4\xf1\xe0\x4a\xe4\xcc\x6b\xf6\x2d\x16\xea\x1d\xca\x14\x22\x86\x83\xa3\x31\xc2\xc8\xf0\x38\x7d\xfa\x6b\x2c\xb8\x96\xf0\xbc\x3c\x6b\x22\x19\x86\xfb\xd4\x46\x30\x50\xcf\x2f\x1a\x4f\xe2\xc8\x28\xd4\x43\xe1\x8f\x67\xf9\xee\xf4\x1b\x48\x9c\xe6\x92\xc0\xb9\x1c\x99\x59\x2f\xb9\x3c\x1d\x75\x36\x58\xcb\xea\x28\x8c\xee\x2a\x80\xe5\xe9\x04\x37\x37\xd9\x2e\x4b\xc4\x25\xa6\xf4\x4a\xc3\xe5\xbb\x64\x3e\xa5\x5e\xfa\x13\x93\xe1\x49\x24\x43\x03\xcc\x2c\xc7\x45\x9d\x48\xf2\x5a\x03\xfb\x05\x63\x1f\x45\x4d\x5f\x8f\x44\x9b\x9e\xfb\x88\x23\xe7\x1c\x41\xb7\x9d\x3e\x48\x55\xd8\xf5\x5a\xc1\xfa\x4c\xac\x2f\xc4\x08\x44\xca\x03\xe5\x95\x28\x1d\x48\xfd\x26\xcf\x44\x3c\x67\xd3\x04\x42\x43\x87\x6d\xc6\xde\x9b\x18\x8f\xa6\x57\x68\xdd\x05\x2a\x43\x34\x08\x64\xf7\xcd\xd2\xe8\x5a\x64\x57\xa9\x9c\x5e\x5e\xd1\xa3\xb6\xef\xaa\xf1\xca\xc4\x1b\xb4\xe9\x24\xbf\x5a\xc6\xa6\x4a\x58\x5c\x25\x44\xaf\x52\xe1\xc3\x59\x61\xc6\x9f\x78\x48\x79\x6d\xc0\x9e\x64\xb4\x5a\xa5\x86\x51\x17\x93\xf2\xf9\xb3\x17\x7b\x5a\x6a\x3e\x0b\xa6\xbc\xb4\xb9\x57\x67\x7e\x69\xdb\xd9\x00\x58\x69\xd0\xee\x41\x59\x43\xae\x06\x51\x54\x6c\x5b\xd6\x34\x8b\x62\xb1\xcf\x33\xce\x1e\xa0\x5d\xbd\xe1\x84\xfe\xcd\x4d\xf6\x4a\xc0\xe5\xa6\xf1\x36\x10\x09\x4f\x23\xd9\x34\xc2\x35\xe8\x79\x26\xa9\xc8\x4c\x36\x67\xe4\x8a\x6c\xa6\x1f\xe0\x5e\x41\x5c\x07\x4c\xa6\xd1\x25\x46\xcf\xda\x33\x0c\x2a\xad\x2c\x65\x3b\x9a\xe6\x1e\xea\x8f\x41\x18\x35\x09\x45\xe6\x36\xd0\x87\xf0\x14\xf2\x0a\xed\xb0\x47\xe1\xd2\x10\x17\x7e\xe3\x32\x64\x99\x76\x5e\xb3\x0a\x54\xd1\x3f\xff\x2a\x8a\x62\xb1\x4a\x3b\xa0\x71\xc0\xf2\xbe\xbe\x10\x30\x88\x6c\xa5\x3e\x8e\x14\xc0\xfc\x1a\xee\x44\x0f\xcb\x64\xf7\xcd\x86\x34\xc3\x90\x04\x8a\xc6\xe6\x64\x02\xb5\xc4\x9d\x3f\xde\xac\xe2\x76\x65\x3b\x3e\xa6\xe1\x22\x7e\xa8\x37\xa5\x3c\xac\x5d\xdf\xa6\x32\xb5\x33\x99\x09\x1b\x9f\x39\xf0\x23\x05\x8d\x3e\x67\xc1\x6c\x90\xdd\x90\x84\xe0\x4d\x6d\xa1\xa9\xc1\x4e\xab\xca\x31\xc3\x53\x4b\x20\xf0\xa6\x0f\x3b\xaf\x99\x60\xe5\xfa\xe9\x40\x78\x41\x30\x2b\xa8\xab\xd9\x0e\x0b\xb9\xe4\xcb\x02\xde\x49\xcc\x99\xa9\xe0\x91\x8b\x12\x4a\x22\x67\x10\x9b\x8d\xd9\xb7\xac\x9e\x03\x33\x1b\xd0\x75\x86\xe2\xb2\x95\x5c\xcb\x6f\x36\x56\xb8\xd7\x42\xe3\x59\x19\x2f\x00\xe7\x0a\xa1\x9c\x57\x82\x77\xd7\x79\x17\xd9\x29\x69\xfc\x40\x68\xa5\x6c\x90\xa4\xee\xb3\x75\x05\xa3\xa4\x7c\x52\xc5\x4b\x72\x67\xc7\xdd\x92\x0b\xa8\x33\x4f\x9c\xa5\xbc\x42\xae\x05\x52\x33\x9e\x87\x39\xc0\xa5\xe4\x5e\x05\xc1\x3b\xd3\xcb\xde\xbc\x0e\x84\xaf\xb2\xc3\xb4\x78\xcc\xf1\xc1\x87\x6b\x01\xf2\x14\x7f\x96\x8c\xca\x9e\xcf\xbe\x28\xc7\x4a\xf5\x29\xa7\xe1\x5e\x19\x81\x6c\x96\x4a\x2d\x05\x43\x42\x07\x13\x4b\x6e\x76\x1e\x75\xd1\x3e\x61\x22\xa8\xbe\xb8\x8c\x30\xd3\xb2\x4c\x2b\x24\xaf\x26\xbe\x43\x21\x32\x7d\xf8\x37\x3e\x08\x38\x98\x7e\xe2\xf0\x6f\xe8\x55\xaa\xf1\x1c\x81\xd0\x99\x0c\xc1\x15\xad\x6d\x73\x76\x14\xb7\x5a\xcb\x58\xe4\x4f\xed\xe6\x50\x3e\x38\x1b\x5c\x89\xc1\x35\x19\x7e\x30\xa3\x11\x53\xc8\x12\x9c\x18\x64\x7e\x31\xe6\xad\x80\x41\xe5\x7e\x74\x66\xb1\x7c\xaf\x6f\xbf\x0d\xf5\x1d\xcb\xce\x5c\xae\xbf\x77\x0b\xe4\x7e\x09\x68\x11\xf7\x78\x01\x37\x2b\x9d\x6f\x05\x27\xcb\xbf\x48\x16\x0c\xdc\x58\x60\x9e\x03\xe5\x8a\x08\x34\x30\x4b\xbc\xa0\xf0\xe9\xb3\x12\x5f\x27\xc0\x3e\x63\x2f\x76\xb5\xa6\x46\x31\x73\xec\xbb\x74\xc9\x0b\x0f\xc8\x62\xa6\xe5\xc8\x6e\x01\xb5\x7b\x04\x07\x26\x91\x02\xb1\xf9\x76\xd4\x9d\x8a\xdb\xca\x11\x99\xdf\x7a\x5d\x02\xf3\xaf\x3f\xcf\x10\xee\xbe\x2d\x65\x93\x15\xbf\x2f\xa0\xb8\xc2\xc4\x57\xa4\x36\x47\x04\xff\x44\xaa\x2a\xca\x08\xcb\xc8\x8a\x1c\x1b\xa9\xf6\x0b\x66\xce\xb2\xaf\x2f\x4c\xf0\xc9\x93\xb9\x79\x7e\xf9\x8f\xa5\x2b\x91\xea\xc7\x0b\x14\xd6\x8a\xb2\x9a\x55\xca\x5d\x4a\x72\x2e\x73\xd2\x54\x41\x11\xe6\xd0\xb8\xcc\x78\x8f\x73\x2d\x77\x11\x2a\xc8\x73\x9a\xa9\x2b\x39\x16\x68\x4e\x0b\xea\xe3\x94\xc9\x1b\xf4\xdc\x44\x48\x46\x14\x44\x03\x5c\x94\x15\xac\xb8\x90\x00\x08\x1d\x9b\xa7\xb0\x97\xce\xac\xa8\x87\xea\x8b\x6c\xe6\x27\x15\x70\x26\xb9\xaa\xcb\xef\xee\x24\x71\x17\x36\x53\x90\x1f\x17\x53\xc6\x12\x76\xe3\xe9\x2a\x8f\x9c\x8f\x37\x3d\x4b\x0b\xea\xca\x72\x47\xf4\xff\x1f\xab\x21\x73\xf9\x3b\x2a\x35\x91\x63\x7e\xfb\x06\x5d\xd3\xca\xbd\xba\x16\x19\x7f\x48\x31\x60\x41\x34\xbc\x23\xc4\xce\x54\x96\x5e\x58\x43\xef\x6c\xa1\x4e\x6f\x0d\xc9\xbb\x60\xa2\x71\x6c\x7e\x91\xf5\xc5\x5a\x78\x4b\x5c\x9e\x76\x80\xec\x02\x39\x3e\x52\x5e\x60\x81\xd5\xae\x70\x96\xc8\x96\x9c\x34\xf1\x89\x3f\xce\x19\xbd\x5c\x94\x49\x25\x33\x0a\x3d\x71\x16\x2b\x19\x67\x95\xb7\x2e\xf4\x1b\x8a\x58\x64\x62\xef\x8a\xa7\xaa\xfe\x96\x67\x57\xed\x71\x94\xd4\x29\xfd\x92\xdb\x10\x77\x0c\x83\x14\x2f\x88\x75\xef\x84\xbd\x96\xe9\x8c\xa7\xc3\x16\x42\x45\xc5\x10\xb9\x07\xfb\xf9\x5b\x56\x3a\x74\xa7\xe4\xd9\x90\xd9\x02\x6b\xc4\x18\x11\xf8\x30\x28\x30\xa6\x30\x15\xbe\x18\x42\x09\x3c\xc8\xdf\x14\xcf\x19\x1f\x8d\xc4\x20\x83\x54\x35\x79\x45\x9e\x60\x8a\x8f\x85\xf1\xb0\x2e\x1e\xc4\x05\xc1\x38\x41\x86\x0e\x39\xf2\x41\x67\x92\x66\x67\x5c\x55\x6c\x9e\x9c\x0a\x3b\x39\x02\x19\x47\xc9\xb4\x44\xc1\xdc\xae\x4e\x72\x90\x9f\x43\x4e\x57\x69\x73\x4b\x12\xae\x16\x1e\x71\x8f\x04\x2a\x02\x4b\x17\x58\xf1\x5e\xae\xa8\x93\xf6\x0d\xc2\xf0\xe3\x4a\x66\x61\x46\x68\xdf\x61\x96\x36\x29\x5e\xb5\x8c\xc7\x94\xc0\x77\x9e\x11\x5e\xae\x02\xc2\xe8\x96\x73\xed\xbc\x71\x89\x0f\x8c\xf9\x80\xa7\x19\x12\x7f\x53\x8b\x9d\x6f\x28\x71\x45\x68\xa6\x64\xdf\x7e\xeb\x07\x45\x31\xbf\xdb\x5a\xee\x7e\xf7\xe0\x9d\xe2\x3d\x75\x57\xeb\x4a\x3b\xf6\xd0\xc6\x69\xe9\xae\x76\xa9\x6b\x4d\x9f\x92\x39\xec\x04\xeb\x6f\xf9\x78\x33\x72\xb5\x34\x8a\x7b\xbf\xe5\xb7\xdf\x7a\xe3\x7e\xfb\x6d\x88\xc5\x1d\xf7\x5b\xa0\xaf\x7b\x27\x7d\x82\x07\xa5\xa8\x61\x0c\x33\x7a\xfc\xa6\x9e\x9e\x1c\x45\xa8\x14\xfc\x10\xfb\xbc\x1f\xcf\x59\x96\xce\x8d\x9a\x1e\x00\xda\xb3\x0b\x6c\x2b\x4c\xc7\x84\x49\x81\x67\xd1\xd0\x3b\x65\x4e\x32\x33\x69\xee\x02\x65\x6c\x49\x63\x10\x44\x89\xbf\x83\x3e\x47\x0b\x6f\x90\x23\xd4\x7a\xe5\x15\x74\x77\xf0\xc5\x1a\x82\x57\x8d\xd5\xac\x70\xbf\xd0\x9d\xc8\x02\xae\x70\x27\xaa\x20\x4b\x8c\x53\xca\x93\xca\x96\x55\xc2\x19\x4a\xe8\x94\xbc\x29\x50\xbb\x58\xe1\x34\x8a\xf4\xe1\x01\xdd\x61\x5b\x9a\x18\x00\x71\x0f\x8a\x8c\x27\x74\x31\x5e\xe2\xdd\xc4\xc8\x4b\xd8\xb9\xad\xd2\x64\xf0\x27\x59\x54\xe1\x39\x2f\x88\x82\xf4\x19\x8d\x28\x1e\x84\x9b\xf8\x80\x44\x26\x50\x32\xc0\x3e\x21\x72\xae\x1e\xe4\x95\x60\xb4\xeb\x0f\x76\xd8\x23\xbd\xb4\x07\x8b\x24\x0d\xdf\xd1\x78\xa9\x99\x97\xe5\x35\xf9\x79\x25\xc7\x22\x3f\xe1\x65\x4a\x97\xbb\xbd\x87\x3c\xc5\xdb\x82\x79\x2d\xb4\x46\x78\x14\xb9\xe2\xfc\x57\x7d\x12\x6f\x95\xaa\x21\x35\xaa\x61\x43\xab\x7d\x5a\x56\x74\xd1\x5f\x1e\x66\x66\xc7\x59\xa4\x21\xb7\x8d\x56\x5a\x4c\xe5\x0b\xdc\x3f\x10\x39\x6d\x0e\xd0\x3a\xdd\x87\xe9\x4d\x28\xcb\x45\xc9\x50\x51\xf2\x9c\x3f\xb7\x4e\x8e\x3e\x62\x69\x5b\x78\x6c\x78\x19\xd1\x5c\xfc\x3d\x34\x02\x99\xc5\x14\x5e\x35\xd5\x57\x82\x07\x4a\x5e\xc2\x42\x1f\x55\x2d\x88\xe1\x28\xe0\x0e\x7e\x19\x25\x4c\x09\x9e\x0e\x30\x17\x9e\x4b\xe1\x23\x47\x36\x80\xcc\x89\x46\x08\x42\xcb\x45\x04\x82\xb2\x35\xf2\x0a\x6d\xa5\x81\xb0\x30\x0f\x94\x7e\x24\xf5\xf4\x4d\x74\x22\x67\x9f\x4a\xb3\x51\x90\x24\x90\xca\x59\x9e\xae\x7d\x9d\x11\x2b\xf9\xbd\x7d\xc5\x55\xb5\x43\x85\xe7\xfd\x84\x61\x0b\x65\xe7\xf2\x8b\xb7\x71\x72\x16\xec\xdc\x8f\x10\x32\x6d\xd2\x4f\x22\xf6\x1d\x0e\xe0\xc2\x31\x91\x5a\x3d\xdc\x21\xb5\xea\x16\xbd\x0e\xc9\xa1\xb8\x15\x26\x69\x39\x48\xef\x14\x2c\xec\xb7\x5c\x8a\x72\xdd\xb1\x1c\xdd\xe4\x70\x46\xd6\x9d\x8d\x8d\x97\xc1\x16\x78\x48\x33\xd6\x35\xbd\xc8\x82\x2a\x8d\x22\x60\x56\xdb\x01\x7f\x0f\x0a\xbc\x25\xc7\x3d\xa0\x0e\xb3\x17\x90\x12\xec\x0f\x9a\x3e\x0a\x69\xcf\x54\x9e\x60\x93\x01\xf8\x8e\x19\x42\xa5\xfb\xa4\x64\x33\xe0\x1e\x7b\x47\xf6\xbf\x4b\x61\xf6\xc4\x02\x18\xe1\x53\x26\x7f\x46\x72\xad\xe4\x88\x34\xa8\xa6\x76\x3e\x25\xcc\x84\x2c\xd2\x4b\xb7\xeb\xcf\x27\x72\xb6\x4b\xa0\x0a\xee\xdc\xc1\x11\xf1\x7d\xfa\x40\xbd\x6a\xac\xcd\xef\xf4\x23\x6c\x67\x67\x87\xd5\x60\x66\xb5\x46\x11\x99\x7e\xa0\x89\xbb\xe5\x73\x47\x00\x63\x5d\x4a\xf0\xeb\x45\x7a\x82\xf7\x1e\xd2\xb9\xf7\x68\xd3\x4c\x82\xee\x7f\x6a\x62\x90\xbe\xf6\xe1\x20\xe4\x66\x21\xc3\x71\x67\x64\xf1\x06\xba\xb0\xc3\xd1\x42\xd7\xfc\x23\xcf\x2d\x3f\xa0\x8f\xc2\x43\xf1\xf8\xee\x6b\x5f\xb8\xef\x06\xee\xc7\x28\xbb\x32\x6a\xa4\xfc\x91\x6d\xb2\xa2\x4f\xbf\x0b\x7f\xf3\x9f\x61\xad\x8e\x79\x74\x19\xb2\x3c\x71\x81\x8f\x79\x2a\x73\x02\x1d\x00\xf3\x7a\x54\xc0\x9c\xb8\xb8\xd1\x2d\x8f\x61\xf8\x43\x3d\xd8\x61\x1e\xff\xb0\x1d\x1e\x2e\x15\x71\x5c\xf4\xe4\x4a\x4c\x45\x8b\x7c\x39\x46\x72\x17\x3e\x13\x2c\xb1\xc0\x6b\xdc\xf4\x2d\x02\xfd\xed\x8a\x12\x7d\x9b\x95\x6c\xd0\x4a\x87\x87\x2e\xe0\x55\xce\xce\xbe\x71\xa0\xbf\xab\x0c\x10\x1c\x09\x84\xbe\xd6\x29\xb2\x0c\x70\xf1\x31\xf2\xe6\x5d\x0d\x62\xe9\xc9\x5a\x1d\x31\x2b\x1f\x2c\xdc\xa9\x15\x4f\x55\x8e\x39\xe6\x48\x1a\xbd\x99\x67\x82\x65\x29\x07\x23\x9b\xd5\x42\x65\x72\x92\x33\x18\xa7\xa2\x06\xfb\x76\x45\x19\x52\x46\x51\x32\x84\x77\x6b\x3b\x64\xde\xde\x60\x3b\xe4\xd8\x54\xa4\x4f\xff\x48\x2e\xa0\xc6\x1c\xc0\xfc\x22\x7d\x1b\xfe\x4a\x44\x1d\xc0\xda\x6a\x98\xab\xa2\x8c\x1d\x54\xa4\x5a\x6a\x0f\xb4\xb0\xfc\x0e\x0a\xe7\x97\x24\x5d\xf2\x94\x59\xef\x6c\x04\xaf\xd7\xe7\x2c\xba\x08\x5e\x65\x01\xaa\x2c\xff\x2b\x3b\xb3\x7e\x48\xe6\x1a\x9c\xc8\x1b\xa3\x91\xbb\x19\xf5\x3e\x94\x1c\x6d\x1b\xd0\x05\x49\xba\x91\x54\x5d\xc2\x75\xda\xfc\xb2\xcb\xf3\xf7\xbc\x19\xed\xf9\xb2\x03\x97\x5e\x61\xe0\x0b\x9c\xa5\x91\xb8\x29\xac\xa1\x24\x21\xd2\x17\x76\x3a\x93\x4c\x60\x42\x24\xcc\xd6\xe4\xbf\x5f\xf2\x48\xd0\x18\x10\x50\xd2\x15\xeb\x0b\x2c\x3c\xb0\x7a\x85\xbb\xc9\x10\x79\xc9\xe2\xeb\xd0\x2c\x29\xff\x74\xd0\xb7\x82\x5d\xee\x0f\xab\x5c\x39\xbe\x20\xf5\x75\x97\x8e\x1d\xb7\xb5\xc6\x5d\x77\x7f\x77\x95\x39\xcb\x05\x2c\xfa\x07\xda\xe2\xed\xfe\xc8\xd8\x3c\x7e\x7e\xf7\x3b\x6a\x39\x3d\xdb\x3c\x69\xff\x9a\xe4\x5c\x71\x09\x85\xb4\x7c\x77\x1e\x9a\x2c\x64\x9e\xa6\x85\xa6\xc9\x8f\x77\x8a\xa0\xb7\x68\xff\x7e\x27\x84\xe4\x8e\x40\xc5\x6b\xa4\x77\xbc\xfb\xae\xe6\x5a\x41\x1d\x00\xb6\x9f\x46\x71\xcc\x86\x72\x06\xc9\xc7\x12\x2f\x35\x3c\xe6\x84\xd1\x9d\xda\x80\x62\xfb\xf4\x5f\x8d\xd0\xf1\xbe\xf3\x28\x1d\x7b\xe7\x0e\x93\x33\x89\x86\xed\x2f\x6c\x7b\x4f\x0f\xe4\x1f\xed\x60\xe9\xf9\x87\x53\x79\x0e\xf6\x7f\xf5\x0b\x02\x73\xe8\x81\x7a\xc6\x7f\x38\x51\xd8\x7c\x7e\x36\x85\xee\x22\x19\xb2\x83\x64\xb8\x46\xd7\x13\xfd\xeb\x17\x6a\x04\x7f\x40\xb6\x2c\x88\x41\x5f\x7c\xae\x94\xc8\xa0\x7d\xf1\x18\xc1\x22\xc0\xbc\xd4\x44\xc0\x4e\xcf\x01\x3f\x05\xe4\xe2\xbd\x88\xaa\x6f\x1d\x0f\xae\x7d\x24\x95\x81\xf2\x25\x36\x67\x15\x06\xfd\x67\x32\xbc\xeb\xb0\x22\x19\xda\x41\x8b\x60\xca\x87\x84\x65\x6b\x14\xc1\x56\x96\xcc\xf5\x6c\xeb\xa2\x59\x82\x8d\xb3\x0e\xa6\xb3\xb4\xfd\x0f\x92\x61\x61\x50\xe8\x5b\xf8\x12\x7a\xfa\xe1\xce\x50\x03\x41\x79\x89\x27\x40\x73\x99\x62\xcc\xc0\xfb\x93\x37\x85\x22\xa5\x36\xad\xc4\x17\xaf\x53\xcf\xef\x8e\x75\x15\x16\xd3\x05\xb6\x71\xdd\xaa\xb3\x53\xc0\x53\xd7\x7d\x17\xa0\xd0\xe8\xc5\x80\x22\x77\xbc\xf4\x15\x97\x44\x76\xbb\x59\x7d\xcb\x3d\x98\xb1\xdd\xe7\xcf\x84\xb8\x4c\x9a\xb2\x2c\xe8\x21\x51\xdf\x3c\x57\x9b\x8d\xff\x8f\xbd\xb7\xed\x73\xe3\x36\xf2\x45\xdf\xeb\x53\xc0\x3a\xbb\x26\x69\x91\x9c\x91\xf7\xe4\x9c\xec\x8c\x27\xb9\xd2\x68\x94\xe8\x46\xf2\xe8\xa7\x19\xdb\x39\xeb\x78\x15\xb0\x1b\x24\x3b\xd3\x6c\x74\x00\x90\x1c\x3a\xd6\x77\xbf\x3f\x54\xe1\xb9\xd1\x24\x47\x96\xb3\xd9\x9c\x9b\x17\xb1\x86\x0d\x14\x9e\x0b\x85\x7a\xf8\x57\xbe\x85\xe8\x51\x1e\x29\x47\x87\xf9\xa7\xba\x59\x1b\x5d\xca\xd9\xa7\x46\x41\x57\xe2\x37\xbb\x6b\x08\x2a\x04\x70\x4f\x39\x89\x3f\xde\x79\xe1\xfb\xe0\xe8\xff\xe5\x7a\xf7\xb3\x29\x5d\x7b\x9f\x29\x77\xf4\xfc\x50\x2e\xc8\xe4\x69\xcf\x99\xfb\xa5\xc7\x8b\x7d\x64\x4d\xf9\xb3\xc6\xea\xa8\x24\xe3\x8c\x06\xd0\x1d\x25\x9a\xd3\xbe\x91\xe8\xe6\x02\x09\xba\x0b\xde\xcc\xab\xc5\x5a\x40\x3c\x05\x6c\x3d\x22\x99\x52\x55\xb3\x90\x36\x6c\xac\x66\x73\x05\xf9\x42\x08\xb1\xb3\xd2\x4d\x46\x62\xa7\x10\x1c\x44\x4c\xe9\x6c\x61\xc8\x4b\x72\xee\x00\x0b\x65\x55\x32\x2c\x9e\x2d\x8d\x29\x4a\x4c\xcf\x21\x2a\x1d\x2f\x1c\xf3\x6c\x06\x1f\x93\x8e\x46\x3a\x3c\x1b\xa0\xc5\x76\x42\x33\x66\x66\x6c\xd8\x37\xed\x2d\x7f\x67\x4e\x6a\x84\x18\xa1\x8f\xa0\x21\x04\x36\xfd\x60\x42\x3d\x01\x36\x57\xef\xd8\x62\x5d\x53\x71\x75\xdf\x0a\x26\xa5\x4f\x93\xf3\x8e\x2d\xae\xee\xdb\xa1\x9f\xb2\x27\xd1\x18\x9f\x90\xc7\xff\xf2\xd8\x11\x42\xc6\xc3\x4a\xbc\x3d\x2f\xe2\x9e\x4d\xd1\xea\x32\xcc\xb6\xe6\x17\x3c\x26\xa1\x97\x5c\x33\x95\xf8\xe7\xdf\xc4\x47\x39\xb3\x27\x60\x66\x21\xbc\x29\x70\xf3\x99\x06\x13\xf6\x52\xf0\xd5\xe1\x09\x8b\x9a\x39\x7a\x5f\xa7\x2e\x64\x86\xdc\x68\x14\xed\xa9\x03\x33\xfe\xf8\x3f\x1f\x77\xe6\xda\xef\x45\x47\x0a\xb3\x32\x5e\xc4\x63\x32\x2c\x37\xdf\x8c\xe7\x93\x50\x37\xcb\x36\xcc\x6c\x5f\x01\xe9\x98\xd7\x3c\xe9\x0c\x0f\xc8\x7c\x7f\xfa\x43\x67\x0d\xa1\x7a\xba\x82\xfa\xc7\xaf\xa2\x6d\x98\xae\x9e\x8d\x61\x47\xd9\xc6\x48\x00\xe1\xfa\x8f\x43\x62\x56\xc0\xd1\x8d\xfb\x3b\x8a\x96\x25\x54\x1f\xda\x8f\x47\xa5\xde\xe4\x75\xad\x65\xcb\x7f\xc6\xf4\x9b\x61\xe2\xdb\x24\xd5\x66\x90\x52\xf3\x19\x19\x6c\x2a\xb6\xd5\x93\x30\x20\x90\x56\x93\xcf\xc9\xbc\xba\x67\xe5\x64\x89\xe9\x78\x00\x79\x13\x0c\x7d\xf6\x69\x0b\xe1\x4e\x1e\x5a\xab\x01\x77\xd4\x82\xb7\xbb\x89\xe2\x93\xa2\xae\xda\x19\xa7\xc2\xa5\x62\x1c\x7c\xeb\xe8\xdb\x64\x0d\x10\xa4\x68\x03\x69\xa9\xc2\x14\x86\x7a\x94\x36\x56\xd4\xe5\x30\xac\x1c\x2e\x14\xa2\x88\x3a\x44\xf0\xb7\x08\x01\x26\x20\x6b\xdd\xd3\xd3\xd3\xf1\xe9\xe9\x29\x54\x43\x5c\x15\x5d\x2a\xc8\x4a\x58\x99\x34\x89\x5f\xfe\xca\x67\xb7\xa4\x75\x6d\x54\x95\xf6\x53\xc9\x57\xd6\xed\x59\x30\x13\x1d\x57\x62\xae\xbf\x90\x18\x84\x6a\x53\x79\x47\x4c\x3a\xc5\x77\x41\x6f\x7c\x54\x9d\x3e\xd8\xd1\x70\x78\x43\x4a\xb6\x02\x24\x2a\x83\xfb\xa4\x5b\xc1\x3d\xc8\xf4\x3a\x1b\xa4\xcf\x70\x1e\xa8\x60\x34\xc2\x37\xb5\x6b\x85\x89\x3c\x65\xb5\xd0\xdb\xc9\xa2\x3b\xe1\x9a\x18\xbc\xcd\x64\x35\x88\x54\xba\xdb\x5b\x2e\xee\xe4\x58\x93\x63\x1b\xd6\xa0\x77\x13\xad\x6b\xc2\x45\x18\x06\x1a\xac\x2e\xa6\xd6\xc0\x2e\xf2\xf9\x3c\x41\xc3\xff\x9a\x2b\xe6\x63\xb9\xff\xf8\xf4\x29\x59\x71\xbd\x33\x7d\xb3\x0e\xfc\x46\xb7\xec\x7d\x8e\xd3\x86\x1f\x05\xd9\x16\xc3\xb6\x83\x26\x09\x79\xa5\xbc\xdf\x6b\x59\xcd\xe7\x55\xb1\xae\x15\x2a\x96\xef\x71\x63\xe9\x6d\x6a\x32\x00\x9a\xac\xab\x7a\x8a\xc0\xc7\xbf\x51\xf0\x74\x84\xf8\x7e\xfd\xda\xa4\x6a\xc9\x6b\xbe\x30\xde\xff\x90\x12\x33\x68\x5a\xef\x50\x19\x22\x6d\x85\x8b\x6c\x1c\xc1\xbc\x45\x56\xe6\xb3\x56\x2a\xba\x20\x0d\x5d\x31\x9b\xb5\x72\xea\x96\x11\x73\xa3\x4a\x1b\x2f\x08\x87\xfe\xaf\xeb\xaa\xb8\xab\x77\x84\x4a\xdd\x67\xe3\xd8\x29\x84\x5e\x51\x93\x78\x93\xe0\x89\x0c\xf6\x89\x3f\x9b\x85\xec\x3c\x2d\x82\x2e\x7f\x88\x8e\xcc\x33\x07\x97\x57\xd0\x16\xa4\x26\x3e\x37\x98\x7a\x2e\x39\x2d\x75\xce\xa6\x82\x9a\xe8\x41\x84\xe6\xc6\x13\x92\x38\x81\xda\xa3\x11\xbf\x4a\x6d\x83\xf8\xf2\x88\x12\x71\xd3\xb2\x7c\x6e\x90\x9f\x41\xe2\x1f\xf9\x7b\x20\xa8\x68\x90\x16\xed\x9f\x56\xfa\xbb\xf9\xee\xd9\xef\x62\x2f\x55\xcc\xed\xb6\x6e\x54\x55\x3b\x3c\x21\x04\x26\x40\x30\x33\xe3\xca\x62\x8b\x9b\xac\x6a\x49\xfe\xb4\xa7\xa7\x63\xf2\xd4\x27\x05\x7c\x71\xfd\x06\x95\x16\x80\x76\xac\x79\x9e\x6f\xce\x10\x07\xbf\x1d\xd7\xef\x75\x8d\x3d\x76\x09\xf2\xcc\xb5\xe6\x1f\x65\x41\x83\x3e\x79\xa7\x7b\xb5\x05\x13\x01\x08\x04\x2b\xda\x1a\x30\x65\xcc\x68\x7a\xf1\x1b\x87\x91\x13\xe5\xbe\xb5\x06\xff\x52\xd0\x2d\xa0\xc4\xd9\x93\x6c\x23\xf3\x0c\x40\x86\x60\xba\xc4\xfb\xe1\x08\x82\x00\xa6\x84\x7c\x6d\xac\xf4\xe8\xde\x08\x99\xdb\xd3\xc2\x58\x34\x88\x8c\x30\x41\x0a\xba\x17\x97\xb4\x58\x76\x12\x10\x3e\xb0\xdb\x5b\x9a\xe9\xb7\x0b\x4f\x74\xe1\x7e\x49\xd7\x6d\x7f\xec\xf7\xb4\x43\x7f\xfb\x10\x3c\x14\x4a\x52\xae\x21\xdc\x00\xf9\x18\x30\x3e\x65\xdc\xab\x95\x3e\x04\xd6\xc5\xd3\x24\xb3\xdc\xe9\xb2\x98\xa9\xb5\x32\xd9\x6a\xab\x1f\x99\x6b\xb3\xa6\x52\xe1\xfb\x1b\x64\xa1\x0e\xfe\xbd\xff\x8e\xe9\xec\x3a\x19\x1a\xc5\x9a\x59\x60\x46\x78\xbe\x78\xf8\x05\x5a\x3b\x44\x6e\xc3\xca\x11\x32\xad\x31\x31\x26\x08\x85\x3d\x7d\xe4\x03\x02\x10\xee\x5a\x1f\x61\xef\xa9\x4a\x96\x5c\x2a\x22\xd8\x5f\xd7\x4c\x2a\x69\x18\x72\x29\xe8\xc2\x8e\xdc\x5e\x17\x36\xf7\x3c\xd2\xd3\xa2\xf3\xba\x35\x69\xfc\x21\xfe\x47\xef\x49\xc0\xe6\xf7\x42\x56\x67\x53\x5f\x35\xd0\xf8\x7b\x07\xe9\xe3\x43\x54\x5d\x8a\x26\xf4\xe3\x44\x6e\xe9\x79\xa4\xfe\x62\x70\x3c\xc5\x98\x08\x36\x69\x79\xbb\xae\xf5\x8d\x6b\xd6\x0b\x29\x01\xf4\x26\x2c\x1c\x4e\x27\x84\x98\xf8\x99\x86\x6c\x9e\x26\xdb\x5c\x94\xad\xd4\x2c\xf6\x76\xc9\x58\x4d\xda\xea\x9e\xd5\xa4\x64\xb5\xa2\x64\xb5\xae\x55\xd5\xd6\x15\x5e\xd6\x55\xa3\xaf\x6b\xc9\x4e\x4a\x86\xff\x40\x0a\xca\x53\x90\x2d\x83\xab\xcf\x4c\x24\x12\xc4\x99\x9c\x92\x1b\xc6\xb4\x54\xa9\x5a\x79\x76\x72\xb2\xe0\x7c\xba\xa8\x4f\xe4\x1f\x59\xdd\xfc\xd5\xcd\x14\x50\xf9\x4e\xd7\x7a\xe3\x5a\xd6\xbd\x7d\xda\x99\x2b\xc5\xd7\xc5\xd2\x2e\xd2\x96\x11\x49\xb7\xa1\xe3\x1b\x7e\x46\xb4\x6b\xa4\x5a\x35\x0b\xc8\xeb\x5c\xb2\x7b\x56\x9a\x80\xde\x9d\x29\x57\x95\xac\x51\xd5\xbc\x02\xde\xd8\x14\xcc\xb2\x45\x08\xf8\x5a\x21\x2e\x0d\x6d\xc0\x3d\x19\x2b\x50\x50\xec\x47\x93\x7b\xab\x3f\x84\xe7\xc9\xe6\xaf\x0d\xf7\x30\x74\xdd\xcc\x15\x9c\x9a\x32\x98\x3d\xd3\x71\xbd\xc7\xb7\x01\xfc\x1a\x1a\x4d\xc2\x7c\xb6\x95\xbc\x31\x52\x06\xbe\x40\xfc\x66\xb2\x6d\x3e\x23\x8b\x35\x93\x9d\x80\x0f\x9b\x9b\x59\xd8\x3c\xdf\x20\xbb\xea\x33\x83\xe7\x16\xf7\x4b\xd0\x92\xa9\x78\x63\xeb\xc1\x29\x7e\x7b\xaf\x57\xe4\x7f\xc5\x2d\x7e\xb7\x64\x06\x29\x95\x91\x42\x89\x7a\xb2\x21\x77\x6c\x97\x24\x54\x37\xa7\xb7\xa5\xd2\x20\x5f\x05\x2d\x29\x51\x7f\xfb\x56\x7f\x88\xf0\x9f\x31\x54\xa6\xda\x74\x38\x87\xcd\x79\x9b\x72\x8c\x4b\x3d\x2f\x85\x55\x2d\xe3\x3a\x01\x3e\x11\x5f\x2b\xb2\xa4\x4d\x59\x87\x99\x76\xf1\x77\x19\x2c\x1b\xfc\xce\x67\xf0\x46\x11\x9d\x0f\x2f\xae\x9e\x7f\xf3\xbb\xf7\xbe\x87\x1f\xdc\xd3\xe0\xad\xe0\xf7\x3b\x1f\x4a\x8e\x68\x38\x1d\xc4\xdd\xed\xb2\x2a\x96\xc8\x3a\xa5\x02\xe5\xe7\x12\xed\x50\x5b\x5a\xdf\x41\xe0\x19\x4a\xc9\xfa\x3a\xb5\x3e\x00\x36\xf9\x87\xb1\x33\x59\xa9\x02\x51\x64\x38\xc4\x1a\x5a\xc2\x05\x5f\x31\xe3\x39\x9a\xca\x37\xe9\x4d\xfa\xc1\x6c\x06\x90\x44\xf4\xa9\x42\xd3\x7d\x37\x47\x79\x98\x0d\xbb\x2b\xc4\x4c\xf3\x6a\x54\xf7\x3d\x80\xce\xf7\x3f\x42\x9c\xa0\xfb\x2b\x39\x2d\x86\xdb\xa5\xa9\x7f\x55\x4e\xe0\xc6\x3d\x64\x2b\x56\x12\x60\xb0\x66\x2c\x04\x11\x14\x64\xbe\xd6\xff\xb0\x99\x78\x50\x32\x36\xe5\x62\x09\x9a\x36\xc5\x92\x0b\xa4\x66\xd6\x71\xce\x8b\xb5\x79\x24\x55\xfa\xed\x6a\xaf\x69\xfd\x3e\x5d\x53\x41\x1b\x65\x02\x61\x67\x8c\xd4\x4c\xca\x89\xe6\x13\x13\x2e\x26\xec\xaf\x6b\x5a\x4f\x14\x47\x6a\xf8\x6e\x9b\xdb\x50\xea\x77\xf6\x44\xe3\xd7\x57\x73\x7c\x54\x69\xf6\x02\x59\xfa\xa4\xcf\x1b\x04\x4f\x2e\x69\xf4\xbd\x26\x26\xe3\x1d\x64\xdd\x7e\x15\x89\x22\x48\x29\xd8\x6f\xa2\xfb\x3c\xb0\x00\xc5\x19\xaa\xfa\x04\x25\x07\xd2\x7f\x0e\xce\xd7\x81\x55\x0a\xd1\xac\xfe\x21\xd7\x68\x01\xcf\x4d\x71\xc4\x32\xd9\xe1\xff\xe3\x2f\x14\x36\x94\x5f\x26\x73\xf5\x38\x0a\x9f\x5d\x44\xfb\x2f\xb8\x51\xe0\xbe\x05\x9b\xe1\x3e\x42\x9d\xae\x42\x20\x25\x25\x2d\xaf\xb4\xd4\x12\x80\x65\x9b\x04\x27\x9d\x76\x2e\xdd\xd8\x32\xd9\x8e\x10\xdb\x9a\x92\xba\x92\xb0\x10\xf6\x55\x61\x53\xec\x07\x20\xcd\x3e\x1d\x98\x7f\x7b\xe8\xf5\xd3\x64\x2a\xeb\x3d\x4f\x8b\x02\xd2\x9d\x2f\x30\xc9\x46\xc9\x5a\xb5\x9c\xe0\x27\xd4\xb6\x5a\x2e\x69\x6d\xaf\xde\x15\xb7\xf1\xe1\xe0\xcb\xaa\x2e\x05\x83\x54\x3d\xde\x3f\x77\x1f\x2b\x0c\x6c\x4d\x9a\x83\xbf\x74\xb9\x08\x42\x1e\x89\xc6\x62\x60\xba\x63\x6c\xe3\x99\xd8\x75\xa2\xfe\xb0\x40\x9a\xce\xa0\xc7\xb9\xd7\x52\x99\x42\x1e\xb0\xeb\xb9\x29\xf0\x99\x37\x0c\x24\x6e\xbb\xb1\x67\x59\xc7\x6d\x60\x14\x05\x68\x40\xac\x1e\xac\x62\x3c\x28\x63\x44\x77\x43\x38\x0f\x0c\xfc\x62\x33\x4a\x6d\xe8\x62\x13\x05\x28\x35\xfb\xd0\xec\xf7\x58\xcb\x6f\x76\x4d\xb1\x14\xbc\xd1\x8f\x53\xd0\x66\xd8\x1b\x16\x44\xf2\x40\xe6\xd1\xbb\x23\x64\x46\x51\xfa\x1b\xaa\xcf\xf2\x64\x4b\x77\x20\x3a\x23\x3d\xc0\xb5\x1a\xbb\x9d\x95\x9c\x4c\x0f\x36\x8e\x11\xa6\xd8\xec\x18\xb4\x36\x80\xf4\x07\x47\x40\x53\xa4\xe2\x81\x7b\x45\x77\x21\x8f\xc4\x2c\x59\x3d\x37\x93\x1f\x0a\xc2\x25\x5f\x75\x45\x8c\x25\x85\xa7\xa9\xee\x01\xa4\x14\x02\xb9\x5e\x0b\x07\x78\x90\xb4\x88\x60\x4e\x47\xd5\x78\xf9\xdd\x8a\x53\x16\x6a\xce\x42\x1d\x80\xad\xc8\x68\xad\xf8\x5a\xe1\x73\x2a\x78\x53\x39\xa8\xc6\x28\xd1\x91\x7e\x2c\xe1\x73\xd1\xa9\xbb\x1e\x23\xe7\x7e\xec\xe0\x70\xac\x94\xe2\x49\x60\x09\xd8\x58\xc3\x91\xcf\x0a\x30\x0f\xaf\x22\x2c\xf3\x8e\x6f\xcf\x93\xcf\xc6\x1d\x30\x50\x71\x43\x49\x1f\xc3\xe3\x8b\x3a\xfb\x7a\x5a\x38\x84\xb5\x82\xe2\x8e\xb5\xc2\x1d\x13\xb7\x6a\xcc\xdb\x11\x19\x28\x96\x34\xc9\x02\x83\x7e\x52\xd2\xb7\xe7\xd1\x8a\x1e\x34\xa7\x40\x65\xdf\x94\x42\x81\xfd\x33\x9a\x19\x5a\x7e\x42\x73\x83\xeb\x9b\xcf\x64\x78\xe9\x74\xe6\x56\x31\x37\x9f\xd9\x35\xcc\x4f\x68\xba\x82\x2e\x1d\x4b\xa8\x52\x4a\xe5\xd0\xe9\x82\x29\x1b\x52\x36\x1c\xe9\xbf\xbc\x7e\x29\x50\xb2\x75\x44\xa1\xfc\xcd\xbb\xe7\x2e\xcd\x5e\x7f\xde\xb3\x80\xfc\xf4\x53\x30\x94\xa0\x54\x0c\x5f\x1d\x7c\xc8\x1a\xf0\xdd\xb4\xee\x99\x44\xef\x86\x6f\x8a\x7e\xfe\x39\xf9\x6c\x38\xb0\x52\x13\x98\x1d\xdc\x47\xe7\xf1\x18\x52\x76\xff\xee\x04\x85\x04\xc1\x01\xa6\x7e\x3e\x6f\xd0\x4d\x22\xce\xa1\x64\xa4\xac\x5e\x18\x70\x61\xec\x33\x07\xf2\x09\x65\x2c\x8b\xb9\xf1\x39\x57\xb2\x3c\x16\x0c\xda\x03\x71\xb7\xf7\xef\x6c\x33\x41\xae\x60\x66\x7e\xec\x37\x37\x3d\x01\x55\xfb\xcf\xde\xc9\x71\x95\x0f\xcd\x0d\x14\xfc\x79\x53\xe3\x06\x76\x60\x66\x20\x3b\x82\x5b\x56\x27\x41\x7f\xe5\x47\x63\x7f\x8b\x37\x84\xe1\x2c\xb0\x01\x83\x50\xd2\x0c\xa9\xdf\xf4\x93\x0a\x79\x54\x4a\x29\x33\x14\x40\xfb\xc8\x2c\x7e\x28\x08\xe5\xd9\x02\xf9\x2a\xcf\xa1\xbc\x98\x93\x8c\x8a\x74\x5d\x01\xe3\xce\x3a\x39\x26\x45\x05\xbf\x8d\xe4\x64\xe0\x1f\x28\xc3\x32\xfd\xe6\xaf\x62\x1c\x0c\xf3\x76\x91\xcd\x40\x05\x6e\x8d\x14\x50\x87\x80\x1a\xac\x7a\x90\x3d\xc6\x63\x6b\x01\xc7\x0f\x83\x66\x13\xd1\xcc\xed\x0e\xb7\x24\x63\xf2\x7d\x6e\xf6\xc6\xb9\x5d\xf3\xc3\x28\x10\x11\x3f\x73\x6d\x59\x91\x0e\x73\xe8\x34\x6c\x4b\xae\x70\xef\x7e\xd3\xb0\xfb\x16\x9f\x43\xb0\x9b\x41\xa8\x02\x65\xb2\xa3\x3d\x08\x49\x06\xbd\xdf\xbf\xa6\x1f\xbb\x32\x21\xde\x4a\xcc\x96\x33\x5b\xf4\xb3\x8b\xee\x1e\x45\x91\xd3\xca\x9c\xb7\x5a\x12\xa5\xa4\xac\x36\x36\x37\x4b\x25\xbb\x26\x8a\xbc\xc0\x17\xa2\x7e\x00\x78\x2a\x0b\x45\xbd\xb2\xda\x04\x9a\x12\xa3\xef\x2a\xab\x8d\xbf\x83\xaa\xb9\xa0\x2b\x66\x7e\xce\x06\x43\x9b\xcc\xc3\xc3\x01\x16\x0d\x12\xb0\x9a\xba\x06\x8c\xb5\x90\xd2\xf8\xcd\xd8\xed\x31\x98\x01\x74\xd2\x19\x39\x3d\xf7\x1c\x65\x80\xf6\xb3\x33\xf2\xf4\xf4\xf4\x5f\xc3\xdf\xad\xeb\xe6\x19\xa1\x33\xc9\xeb\xb5\x62\xe1\x57\x50\x2c\x62\x25\x0f\x50\x6e\x53\x51\x61\x47\x88\x14\x85\x96\x2d\xff\x87\xde\xd8\x2f\x5f\x4e\x49\x00\xa2\xef\xf4\xf2\x38\x06\x89\xf5\x6b\x4e\x4b\xd4\xf5\xea\x1d\xcf\x24\x56\x24\x95\x0a\xb3\x0f\x2b\x9f\x24\xd7\x3e\xdd\xb0\x3d\x8b\x0b\x30\x58\xf1\x1f\x5f\x35\x0d\x13\x68\x71\xf8\x23\xf0\xf2\x6d\xd5\x94\x9a\x19\xeb\x66\x8c\x7c\x45\x35\x6d\x78\xe8\xa3\x05\x56\xed\x1e\x11\x92\x4e\xa5\xd0\xa2\xfa\xe0\x7f\x0c\x60\x88\x7a\x49\xc2\x18\xf3\xb0\xe8\xa8\xb3\x86\x53\xd3\xcb\xef\xa0\xe9\x29\x2d\xcb\x2b\x3d\xb4\xd7\x95\x54\x0c\x90\x24\x50\x19\x3b\x78\xa8\xa3\x18\xaa\x2e\x9b\x77\x50\xfb\xfd\x74\x56\x35\xd8\x93\x91\x4f\xd7\x53\xf2\xc2\x72\x8a\x50\x81\x9a\xeb\x9d\xdd\x5d\x7a\x17\x95\xbc\x98\xce\x78\xb9\xeb\xdf\x41\x2b\x2a\x16\x55\x73\x46\x4e\xdb\xfb\x68\xaf\xa0\x61\xb9\xf3\x7b\xdf\xde\x0a\x76\x4f\xf8\xb3\x75\x63\x3e\x23\xcb\xaa\x2c\x59\x13\x7e\xc3\xb8\xfa\x33\x3d\xbc\xe1\x64\x02\xe7\x6e\x02\xd6\x87\x09\x7e\x41\xb7\x91\x51\x58\x65\xb2\x65\xb3\xbb\x4a\x4d\xd6\x92\x89\x09\xf2\x9d\x33\x78\xf2\x47\x85\x56\xfc\xc7\x5c\x89\x24\xa5\x08\x6a\x84\x83\x80\xaf\xef\x50\x58\x1f\x00\x2c\xca\x6c\xbd\x58\x40\xe8\x37\x23\xb4\x2c\x89\x99\x0e\x6b\x90\xd6\x53\x1a\x65\x9b\xe2\xf3\x39\x6a\xca\x2d\x31\x13\x6d\x80\x3e\x16\xc6\xcf\x21\x00\xa7\x72\x6b\x18\xae\x8e\x69\xe4\x96\xb7\x01\x8e\xeb\xc1\xe2\xcf\x31\xef\xba\xaf\x31\x28\x68\x5d\x0c\xc3\x59\x2d\x96\x54\xe8\xad\x65\x7c\x5d\x46\xe4\x0b\xf2\x6f\xa3\x41\x2c\x6c\x83\x8b\xce\x05\x6c\x98\x84\x2b\xc1\x27\x64\x4a\x1e\x48\x3a\xc0\x68\xb6\xf3\x0e\xd6\x7f\xf2\xb7\x60\x25\x88\x35\xe9\x9f\x91\x59\xcd\x8b\xbb\xf3\xe8\x9b\xdd\x4a\xfb\x7a\x1a\xd7\x80\x40\x9d\x87\x56\xfb\x80\x5d\xd7\x03\x5b\x32\x5a\x46\xc7\xdd\xec\x30\x77\xce\xf5\xae\xb9\x94\xf2\x75\xd5\xdc\xbd\xcf\x4f\x46\x5d\x35\x77\x01\x83\x0e\x2b\x24\x39\x65\x05\xab\x07\x63\x82\xb3\x27\x97\x8c\xa9\x41\xb7\x21\x1b\xb9\xbf\x7f\xd6\xb3\x5d\xef\x90\x71\x3c\xfb\xf6\xfa\xc5\xf5\x50\x1f\xea\x92\x8e\xce\xc8\x0d\x17\x62\x87\xe0\x4f\x64\x80\x7b\xf4\xfd\xc0\xc8\x2c\x4e\x96\xc1\xd8\x45\x2a\x23\xe8\x3b\xa4\x06\x40\x3e\xc6\x37\xe5\x2f\x72\x4a\xc8\x2b\x87\x21\xd9\x56\xc5\x1d\xa1\x64\xc6\x20\x1b\x04\xb8\x80\xcc\xb9\xf0\xd8\xf6\x6c\x05\xda\xbb\x0d\xaf\x4a\xaf\xaf\x28\x78\x5d\x57\xd2\xa8\x97\x6d\x0a\x8c\x3b\x9b\x3f\xa2\x62\x75\x49\x58\x59\x29\xf0\xd7\x60\x98\x30\x0f\x81\xf6\x8d\x19\xd7\x03\x75\x81\x1d\x99\xd0\x66\x07\xbd\x7f\x64\x11\x89\x66\x0c\x08\x30\x8c\xc1\x74\xa7\x14\xbc\xdb\x18\x7a\x35\x95\x21\x44\x1a\x8e\x1d\xb4\x4f\x9b\x4a\x68\xda\x48\xea\x8e\xed\xc0\xb7\x07\xc5\xbf\x57\x6f\xae\xf4\xe0\x9f\xaf\x31\xc1\x33\xe2\x60\x6f\x19\x01\x1d\x17\x9f\xcf\xc1\xcb\x07\x6e\xae\xa6\x5d\x2b\xb2\x64\x75\xcb\x04\x01\xcf\x1b\x3b\x76\xaa\xc0\x4d\x48\x8f\x01\x49\x80\x37\x1c\x22\x6d\xea\x26\x56\xd0\x9d\xaa\xa1\xe5\x86\x09\x7d\xb8\xea\x1d\x59\xad\x11\xb4\x58\x42\x86\x1a\x4d\xda\x4c\xdb\x8d\x1e\x0c\xce\xb2\x64\x61\xaa\x3d\xf0\xb6\x52\xb4\x29\xa9\x28\xcd\x93\x08\x34\x5b\xf8\x65\x26\xf8\x16\xac\xf1\x06\x13\x74\x6c\xec\xa9\x6b\x15\x18\xe8\x25\x9d\xb3\x7a\x47\x2a\xcc\xc5\x48\x66\x3b\xa3\x1b\x33\x95\xbd\x15\xce\x6c\xa7\xfc\x06\xbe\x9f\xe0\xe7\xe0\xb4\x98\xf2\xc9\x41\x31\xd7\x96\x5d\x75\x7d\x68\x94\x58\xb3\x83\xf5\x64\xcb\xea\x1a\x30\x6c\x75\x15\xb0\xeb\x1d\xac\x43\xd7\x8a\xdb\xf4\x0f\xba\x16\x9f\xcf\x8f\xac\x03\x2e\x4a\x0f\xaa\x42\x5b\x45\x6b\x10\x07\xc8\x40\xdf\x40\x07\x6b\x09\x6e\x46\xcf\xee\xd5\x8c\xdf\x1f\x2c\xaf\xe8\x0c\xf4\xc5\xba\xce\xe4\x69\xae\x78\xdf\xa5\x0f\x79\x43\x27\x90\xd4\xe2\x8c\x28\x41\x1b\x89\x8f\xde\x90\x6f\xf6\xb3\xee\x39\x6f\xd4\x64\x4e\x57\x55\xbd\x3b\x23\x2b\xde\x70\x00\xc6\xea\x94\xd0\x0c\xf9\x8c\x3c\xfd\x55\x2c\x40\xc0\xa7\x0d\x15\x15\x6d\xd4\xa4\xae\x16\x54\xad\x05\x93\xdd\x5b\xbc\x4f\xd0\xb0\x12\xc5\x64\x77\x66\x4c\x91\xe7\x2e\x58\x6a\x72\x9f\x93\x33\x00\xd6\x76\x02\x7d\x3c\x23\xad\xe8\x13\x7a\xa3\x46\xd6\x4a\xdf\x35\xd8\x2b\xf2\x59\xb5\x6a\xb9\x50\xb4\xb1\x2c\xdc\x49\x55\x1d\x86\x6c\x66\x3e\x54\x41\x99\xb5\xe8\x0a\x8b\xd8\xfb\xc1\xd8\x8a\x7f\xf8\xe6\x48\xc4\xbf\x83\x54\xc0\x53\x23\x25\x02\x8e\x18\x0f\xa5\x04\x0e\x12\xf0\xe2\xf5\xe4\xd0\x37\xe2\x63\x08\xad\xf8\x86\x7d\x0a\x3a\xac\x29\x3f\x05\x99\x82\x36\x45\x38\x4f\x1f\x45\xa9\xe0\xed\xce\x93\xb8\xe4\xed\xee\xa1\x14\xc0\x81\xc2\x93\x00\xb7\x89\x0e\x8d\x93\x13\xf2\x02\xdd\x9d\xd0\xa1\xe9\x73\x52\x0a\x0e\xde\x66\x9a\x33\x9c\x18\x7e\x89\x38\x7a\x78\x27\xa2\x7b\x84\x49\x61\xa6\x6f\xa2\xe1\x8e\xa9\xdf\x8e\x0c\x77\xb7\x19\x28\x4b\x36\xa7\xeb\x5a\x91\x99\x71\x49\x44\x1b\x60\xc1\x9b\xf9\x5a\x32\x7b\xf7\x1f\x1e\x83\xee\xcc\x60\xec\x9f\xc0\xee\xb1\x8f\x58\x65\xfa\x05\x82\x0d\x0d\x23\x9d\x95\xf5\xbc\x20\xe4\x43\x7a\x8a\x3a\x4d\xdc\xb1\x5d\xc9\xb7\x8d\x9f\xa8\xe7\xbc\xdc\xfd\x81\xed\x5e\xf0\x6d\xd3\x7d\x1f\x05\x6e\x62\x80\x09\x4d\xab\x26\x80\x6f\xb6\x9e\x1d\xe8\x31\x23\x4c\x5a\x42\xeb\x83\x09\x56\xb3\x9e\x1b\xac\xac\x36\x01\x53\x75\x85\xa7\x55\xa9\x5f\x90\x30\x5d\x67\x82\x6f\x27\x60\x9f\x19\x64\x0a\xf6\xf2\xdf\x7e\xde\xea\xdf\xe8\xd0\xdf\x63\xdf\x52\xd9\x87\x91\xde\x2d\xfb\x1f\x46\x58\x22\xb3\x71\x53\xbe\xe6\xc6\xe4\x67\xdc\x81\x67\xdb\x6c\x2a\xee\x0d\x84\xfe\x7c\xc6\x1d\x11\x65\xbe\x76\x87\x5a\x00\xef\xc0\xc3\x5b\x54\x98\x3e\xa7\x8b\x7e\x01\x02\x4a\x4c\x66\x74\x11\xf4\x31\xaa\xf9\x31\x53\xbc\x6f\x1e\x1f\xfa\xb8\xe8\xde\x2d\x01\xeb\x9f\xc1\xcb\x2c\x1a\x66\x66\x04\x3e\x43\x6f\x90\x62\x0d\x2c\xe7\x33\x0b\x73\xac\x78\x4b\xe6\x7a\x8a\x29\xa4\xdb\xa9\x8d\x97\x19\xd2\x37\x5f\x04\x33\xc3\x41\x4f\x7e\x70\xbb\x7f\x64\x72\x4d\xd5\x3b\x34\x47\xd9\x95\x02\xd7\x67\x10\x48\x69\x9c\x18\x29\x50\x7d\x6a\x91\x10\xe2\x03\xd0\x1a\x5b\xef\x8c\xa3\x62\xe8\x25\x6f\xfb\xc6\x85\xed\x8b\x21\xe3\x22\x02\xac\x27\x81\x1d\xf7\x4b\x5e\x97\xbd\xcb\xad\x07\x12\x2f\x34\x14\x8f\xce\x9b\xe2\x2d\x94\x9b\xcc\xb9\xd0\xef\xcd\x89\xeb\xf1\xa0\x5b\x31\xdd\x1c\x9d\x4d\x91\x39\xb3\x9d\xad\x6f\xa9\x75\x16\xd6\x8e\x25\x6e\x33\x5a\xce\x6e\xf9\x68\x30\xf8\xfb\xc1\xf1\xec\xe9\x5c\x40\x39\xe6\x85\xb8\x17\x40\xe3\x49\x0b\x70\x4d\x95\x8e\x13\xea\xe7\x45\x55\xd0\x1a\x91\x52\x8d\x97\xac\x4f\x8e\xd6\xc8\xf5\x0a\xc4\x7e\x73\x7b\x98\x87\x0d\x6c\x1a\xa3\x00\x9f\xad\xe7\x73\x26\x8c\x5f\xc9\x0e\xa1\x64\xad\x92\x83\x90\x57\x6a\x20\x21\x39\x20\x7a\x4a\x4a\xef\xe9\xec\xdd\x18\xf5\xc3\xb0\x6d\x19\x15\xd6\xd1\xd0\xbf\x17\xf0\x35\x54\x21\xcc\x77\x2e\x87\xe8\x76\xc9\x9a\xd4\x81\x55\xd3\xac\x24\x26\x14\x0c\x6d\xdd\x88\x0e\x2f\x99\x22\x03\xe8\x60\x55\x57\x6a\x67\x4f\xfe\x40\x77\xe3\x8e\x31\x84\x95\xb7\x6f\x23\x4c\xf1\x07\x50\xb7\x41\xa6\x04\x24\x57\x39\x3f\x65\x7f\x52\x30\xc8\x03\xbd\x9c\x07\x70\x61\xe3\x37\x39\x20\xeb\x76\x0b\x2f\xc8\x21\xfc\x0c\x97\x13\xb8\xd7\x82\xdf\x92\x9e\x0f\x1f\xca\x62\x7c\x4b\x69\xf8\x2a\xaf\x56\x6c\xa4\xaf\x79\x0c\xf7\x80\xcd\x30\x4e\x1a\x5f\x30\x65\x54\xad\xba\x04\x9f\xeb\x79\x2f\xee\xa6\xb1\xeb\xde\x33\xc1\xe8\x51\x77\x5c\x50\x3c\xda\xa8\xf8\x3b\x15\x8c\x0e\xb2\x65\x3b\x07\x2d\x33\xd7\x87\x2f\x99\x80\x62\xbc\x99\xe5\x66\xe1\xe0\x3b\xac\x69\x3d\xe3\xd8\x6e\x17\xb0\x92\xe4\x47\xce\x57\xce\x1d\x4d\x4b\x39\x33\xeb\x6b\x8f\x49\xa1\x6c\x4a\xd7\xb5\x1e\x1e\x97\xca\xb9\x51\x60\x04\x84\x75\x9e\xa5\x98\xba\x6c\xe6\x62\x54\xa6\x39\x15\x0b\x3a\xc7\xf9\x38\x2f\x98\x33\xd2\x30\x69\x0d\x7f\x8d\xd5\x9f\x83\xf6\xa1\xe1\xca\x92\xb3\x5c\xd5\x8c\xc4\x0e\x40\xf7\x9e\xd4\x6c\xc3\x6a\x14\xf2\xcc\xd3\x1c\x3c\x40\xac\xf3\xba\xd3\xbb\x80\x26\xdf\xeb\x53\xbe\xe6\x8a\xd9\x2e\xe1\xc0\xc1\x73\xfb\x0c\x74\x92\x92\x59\x3d\x48\x41\x1b\xe8\x07\x46\x71\x81\x0b\xa0\x99\x60\xd7\x35\x1b\x55\x7a\xbf\xaa\x1b\x89\x7b\x01\xe8\x6c\xb7\xdb\xe9\xf6\xdf\xa6\x5c\x2c\x4e\xbe\x3c\x3d\x3d\x3d\x91\x9b\x45\xb0\xb8\x1b\x7f\xcf\x95\xd5\x26\x8f\xfe\x6a\x76\xdf\xd7\x37\x43\xa0\x3d\x26\x03\x4d\x63\x14\x11\x89\xf6\x9f\x9e\x90\x09\x4e\x12\x17\x71\x63\xc9\x9b\x18\x08\x0e\xc6\xd8\xe9\xd1\xbe\x92\x1b\x26\xa4\x66\xb3\x63\x32\x78\x3a\x7d\x9a\xb6\xde\x2b\x57\xec\x37\xa2\x28\xde\x26\xc6\x98\x9a\xcd\x55\xf2\x53\xe6\x70\xe8\xfd\xee\xf4\x61\x92\x35\xa5\x31\x22\x5b\x5b\x95\x5d\x9c\xbf\xe0\x92\x42\xc6\x55\x8a\xee\xd8\x64\x09\x07\x49\x06\xb9\x26\x91\x52\x41\x5b\x85\x2e\x40\x0c\x4b\x96\x3e\x99\xc6\x1c\xb3\x0e\x68\x7e\x66\xd0\x1b\xf8\x8a\xe9\xb7\xee\x76\xc9\x49\x41\x45\xe0\x6a\x0d\x55\x6f\xa9\x58\xb0\x3e\x55\xa5\xa6\x0a\xbc\xc1\xcf\x61\x58\x29\x5a\x49\xf4\x30\x9f\xc0\xf7\x89\x82\x02\x83\x7c\xad\x23\x75\x1d\x71\x9d\xec\xaa\xed\x5b\x33\xaf\x67\x08\xd4\x14\x4e\x2d\x10\xfe\x66\x16\xb2\xbd\x3f\x77\xd6\xfb\x01\x5e\xbf\xb1\x91\x64\xc0\x5b\x5a\xc0\xda\x9e\xf6\x75\xd3\xbc\xe0\xae\xac\x9e\x33\x08\x04\xd8\xcf\x21\x43\x2a\x3d\xb4\x3b\x8f\x29\xb7\x35\xd9\xbd\x7a\xd5\xb4\x6b\xf7\xba\xc7\x47\xe3\x5b\x5f\xf9\xd6\x96\xe8\x3e\xb1\x50\x0e\x31\xa1\x06\xb1\x3b\x9f\x09\xe1\x01\x7f\x5e\xa7\x17\x32\x9b\xac\x51\x13\xb9\xe2\x06\x1a\x0f\xc5\x0f\x17\x69\xd9\x1a\x93\x6b\xe8\xeb\x6e\xa1\x70\x75\xcd\x97\x48\xe8\x5b\x5a\xaf\x9d\x47\xe7\xe5\xcd\x4d\xa4\x7e\x82\x0b\x5c\x5f\xa8\x96\xb6\x8d\xe6\x0b\x9a\x20\xe4\xc6\x87\x1e\x79\x75\x15\xb4\x31\xcd\x35\xce\x5b\xf5\xde\xf7\xfa\xba\xd5\x3b\x87\xd6\x64\x03\x1d\xd1\x0d\xb9\xd7\x56\x3c\x40\x0c\x7c\xd4\xff\x33\xef\x5f\x38\xbe\x0e\xf1\xdc\x24\x60\x36\x70\xb1\x0e\x03\xfa\xa0\xd5\x59\x32\xf5\xd2\x4f\x47\x60\x7a\xf6\x93\x34\x8e\xfb\x1c\xbb\xee\x07\x9a\xc0\x79\x44\xc7\xfd\x61\xc3\xdb\x33\x44\xb2\x64\x70\xf4\xba\x53\x37\x6e\x9a\x2e\xe2\x2e\x9c\xa7\xae\x15\x47\x93\x19\x78\xbb\x14\xd6\xd9\x35\xc5\x65\x18\xd1\x68\xf7\xdf\x9e\x29\x5b\xf4\x4d\x19\x0e\x2a\x84\x98\xea\x9b\xa0\x64\x8f\x2b\x42\x6d\xb8\xab\x37\xe8\x84\x79\xb4\xbc\x84\x9a\x6c\xed\x70\x2f\x34\xeb\xba\x1e\x83\xa4\x80\xb8\x63\x96\x64\x21\x41\x79\x51\x73\x5a\x82\xd0\xa2\xdb\xab\x14\xa4\x21\xb6\xd5\x08\x17\x10\x10\xab\x2f\xea\x70\x3b\x01\x12\x1a\x80\xee\x53\x17\x47\xa8\x8f\x5f\xdb\xd6\x15\x2b\x83\x06\x8e\xd9\x67\xdf\xa0\x39\xe9\x1b\x51\x87\x93\xb6\x16\xb5\x07\xd5\x71\x7f\x1c\x36\x80\x2d\x05\x9b\x0f\xc6\x44\xd7\x08\xbd\x51\xba\xd5\xbc\xc3\x95\x77\x50\x89\x8c\x9e\x7b\x8d\x5f\x40\x23\xcc\xf0\xef\x2c\xbc\x7d\x8d\x84\xfd\x4f\x1a\x09\x71\xdf\x7b\x1a\x39\xb4\xf9\xfc\x3c\x9a\x4b\xc8\x4d\xa4\xe6\xc0\xc1\xd9\x0c\x8d\x77\x89\x4d\x55\x39\xec\xeb\x3d\x0d\xa1\x84\xd0\xd9\xdd\x91\x4b\x00\x94\x19\x76\x15\x3c\xee\xf7\x63\x4e\x92\x60\x41\x0a\xe0\x87\x1c\x27\x30\x30\x1c\x6c\x43\xee\x6d\x03\x68\xf4\x72\xb4\xc2\x14\x3f\xae\xa5\x05\x53\xcf\xe3\x84\xc6\x0f\x19\x4d\x92\x0b\xf9\x98\x71\xed\x69\x6d\xff\xb8\x66\x9d\x8a\x47\xcf\xa5\x6f\xf3\xd5\x8a\x2e\x22\x67\xa5\x4a\xff\x70\x44\x9b\xb6\x22\x94\x7f\x58\x9b\x26\xe6\xdc\x07\x94\x55\x3f\x1e\xd3\xa2\xa9\xa6\x4b\x3f\xac\xbd\x00\x05\xca\xb5\x19\x63\x2d\xee\x6d\x37\xa8\x6e\x6b\x1d\xd3\xfe\x65\x14\xf3\xe8\x96\xd4\xfd\x1a\xb4\x1c\x85\x47\xfa\x3f\xd2\xec\x03\x26\x50\x1a\xc4\x41\x88\xf2\xb7\x0a\x39\x1f\x60\x1a\x63\x52\xdc\x2e\x99\x49\xb5\xe3\x1e\x95\xf6\x2e\x8a\xb5\x22\x50\xe8\x20\xf7\x5f\x30\x13\xce\x9d\x2e\x60\x10\xcb\x80\x5f\x90\xc8\x82\xa9\xcb\xba\xd2\x8f\x64\x7d\x25\x27\xb6\x2f\x77\x8a\x90\xd1\x5a\x11\x1b\x02\xcc\xf1\x0f\xf4\x90\x32\x62\x36\xfc\x8e\x63\x99\xec\x8d\x5e\xd5\xec\x77\xdf\xc4\x45\xb9\xbd\xf6\xcc\x9c\x4d\x25\x5c\x95\x0b\x80\x9b\xf6\x09\xc5\x3e\x7a\xda\x2c\xda\xe6\x1e\x6e\x12\x4d\xf1\x70\x64\x46\xbc\x6f\x3c\x06\x9a\x66\xdf\x80\x8e\xeb\x1d\x06\x95\x3f\xac\x7b\xd8\x78\x06\xe8\x32\x0a\x3b\x31\x1a\x0f\x5e\x97\xb2\x0b\x6d\x63\x01\x82\x1e\xec\x69\x19\x78\xf7\xef\xef\xb4\xbb\xbe\x7b\x01\x39\xad\x5a\xd1\x3d\xa1\x93\x0e\xff\xec\x8e\xe2\xa4\x19\x57\xde\xc3\x97\x49\xd4\xd1\xcb\x1a\x34\xa0\x6b\x05\x79\x58\x0b\x5a\x2c\xd1\x44\xf5\x75\x3f\xf8\x48\xd0\xb8\x60\x9a\x15\xe9\x4a\x3d\x52\xc0\x5e\x20\x8b\x23\xc0\x25\xc2\x9e\x2e\x11\xc0\x33\x88\xcf\x0a\x20\x4b\xa2\xa3\x05\xfc\x08\xdc\x3b\x1d\x02\x02\x8c\x0c\x11\x7b\x00\x71\x82\x1a\xa8\x8b\xf4\xfd\x77\x0d\x91\x50\x0f\x82\x71\xb1\x6b\x68\xdf\x5e\x16\x7c\xe9\xc1\x4b\x29\x99\x0a\xd1\x6f\xf6\x61\xbc\xd8\xd7\xb0\x99\xfd\x61\x64\x24\xec\x45\x75\x71\x57\xd1\x92\x95\xeb\x9a\xbd\x83\x19\x48\x5e\xd3\xaf\x9a\x39\x17\xab\x14\xd7\xc9\xb9\x19\x0a\xce\x55\x10\x5b\x09\x08\x55\xe0\x08\x24\x10\x65\x28\xb2\xbe\x68\x7a\x0e\x61\xaa\xe1\xa4\xe6\xcd\x82\x09\xfd\x8e\xad\x1c\x6a\xd5\x4d\x90\x1b\xd8\x38\x89\x79\x3f\x20\x48\xa2\x5a\xa2\x96\x3f\x19\x1b\x60\x65\xe2\x8e\x19\x8e\x48\xc3\xb7\xd0\x98\x39\x76\xfa\xc9\xdb\xa8\x4a\xb0\x7a\x07\x00\x46\x4c\xb8\x6c\xea\x10\x61\x5a\x29\x52\x56\xa5\x51\x63\xa1\x8e\xd6\xe2\x27\x69\x32\x8d\x8f\xfa\x0d\x7b\x10\xf9\x08\xfb\x58\x0a\x6b\xf5\x35\xe0\x5a\xb8\x25\x30\x9a\xb4\x80\x3d\x5b\x46\x9b\x53\xde\x55\xad\x34\x93\x86\x54\x1d\x5c\x12\x90\x9d\xeb\xb7\x16\x6e\xce\x71\xe8\x16\xa5\xef\xd7\x19\x82\xe4\x40\xa0\xaa\xc1\x4e\x22\x98\x8d\x38\x61\xcf\x4b\x2a\xc9\x0c\x60\x13\x8c\xb5\x0c\xb2\xc5\x38\x3d\xb5\x47\x0b\x59\x52\x99\x74\x74\xef\x16\xad\x1a\x58\xbc\xc4\x05\x3d\x9f\x70\xd2\x19\xa4\x92\xd8\xcc\x30\x17\xa3\xcd\x11\x17\x5a\x91\x42\xac\xe9\x28\xff\x77\x3e\x03\x5d\x90\x3c\xc0\xe8\x03\xfb\x92\xc9\x05\x69\xe4\xd2\x50\xd1\xbd\x8c\xc8\x72\xab\x0d\x58\x8d\xda\x77\x0e\x70\xc7\x5d\x5b\xb7\xfe\xd7\xa1\xc3\x0f\xc4\x31\x65\x4a\x3f\x8f\x3e\x0c\x03\x92\x81\xaa\x4b\xaf\xff\xb7\x78\x8c\xde\xf1\xad\x7c\x1f\x16\x1b\x27\xb4\x0f\xbf\xa2\xec\x91\x7f\xb5\x67\xfd\x7c\x1a\x5e\x0b\x6d\x11\x2c\x77\x1e\xf5\x35\x8c\x2d\x4d\x71\x31\xe2\xbd\x22\x99\xba\xc5\x2f\x43\x17\x61\x38\xf4\x31\x1a\x26\x89\x23\x04\xe9\xe5\x28\xd8\xc0\x60\x28\xe0\x7f\x76\xe1\x1a\x98\x32\x22\x51\x98\x58\x8d\x60\x24\xce\x3e\x8c\x1f\x83\x6e\x28\x91\x47\xdb\xfb\xbd\xea\x2d\x53\xbc\xbd\x27\x4f\xc8\xa0\xbd\x0f\x6c\x05\x7d\x7a\xa4\xae\x6c\x63\x2f\xb8\x9f\xd3\xfb\x45\xbe\xf7\x91\x58\xd0\x52\x21\xd9\xab\x46\x0d\xf7\x8c\x25\xee\xe4\x1b\x83\xf6\x05\xfc\xc6\x74\xcc\x05\x18\x79\xdc\xae\xaa\x41\x2c\xa0\x0e\x56\x5a\xa8\xe2\xdc\xa2\x4c\x78\x6b\x97\xc9\xfc\xad\xb8\x85\xfd\x02\xa6\x35\x68\xb8\x58\xd1\x7a\x40\xaa\xb9\xbd\x61\xf9\xaa\x52\x26\x41\xae\x07\xda\xf7\x00\x63\x1f\xc8\xb3\x04\x72\xcc\xdc\xdf\x07\xe7\xcc\xb4\x7b\x99\xe0\x97\xb9\xc9\xf3\xbd\xc6\x69\x3c\x39\x21\x5f\xaf\x57\x33\x26\x2c\xf0\xb9\x37\x0d\xd2\x0d\x13\xd4\xc8\x2b\x5e\x8a\xee\x4e\x95\xb5\x71\x35\x40\xe7\x7a\xfe\x1a\xa8\x5c\x90\xa7\xa7\xa7\xe7\x69\x0b\xe0\x07\x42\xc0\xad\xb7\x6a\x58\xb6\x29\xf7\x00\xe9\x6f\x49\xd7\x75\x49\x40\xa1\x99\x47\xa1\x62\x0c\xe1\xd5\x22\x15\x95\x43\x5c\x4b\x14\x56\x7d\x96\xdc\xa8\x5a\xec\xac\xa4\x7f\x9a\xb8\x2e\x81\x87\xe6\xa0\x5b\xa5\xcf\xf6\x75\xc8\xfa\x95\xb3\x7f\x65\x2d\x60\x59\x1b\x58\xfc\xdd\xbe\x19\xe9\x5a\xf1\xc0\x01\x33\x2e\x64\xde\x8f\x9d\x32\x56\xdf\x88\xe6\x34\xe7\xae\x6e\x42\x8d\x2c\xda\x18\x25\xb2\xa5\x60\xfc\x32\x0e\xe8\xe6\x4c\x15\xb4\x2e\xd6\x35\x80\x09\x58\x2a\x31\xaa\x63\xd5\x90\x97\x95\x60\x73\x7e\x9f\x4c\xdd\x4d\x4b\x9b\xc3\x0b\xa5\x5b\xed\xae\x14\xd4\xcd\xac\x96\x2e\x3d\xd1\xed\x23\x2a\x41\x67\xb9\x4c\xbd\xa6\x61\xe2\xf7\xb7\x6f\x5e\x07\x71\x20\xc3\xc1\x1f\x07\x53\xc1\x5a\x46\xd5\xd0\xef\xba\x91\x66\x8c\x7f\x12\x83\x91\xfd\x14\x6d\xfd\xcc\x06\xea\xfa\x82\xb9\x66\xed\x3c\xfb\x9f\x9f\x53\xc9\x74\x5b\x9f\x7a\x16\x66\x86\xae\x19\x3e\x2e\xec\x96\x36\xc0\xaf\x2c\xea\x8a\xb5\x66\x2e\x19\xb1\xe5\xfb\xba\xd7\xbd\x31\x06\xa7\xe6\xb6\xc8\x97\x4f\x52\xfa\xfe\x31\xb1\x52\x04\x9d\xf7\x94\xbf\xb3\xaf\xee\x80\xdd\xfe\xf4\x13\x58\x38\x8e\x70\xed\x31\x9c\xc0\x41\x2b\x43\x0b\x07\x54\x30\xe9\xd2\x04\x6a\x9b\x04\x05\xd2\x91\x33\x6a\x88\x93\x80\x31\xed\x0f\x5f\xf3\x35\x0d\x63\x3d\x21\xe9\x16\x7a\x74\xcc\x0e\x72\x73\x8b\x91\x45\x9a\xa0\x5d\x35\xbb\x79\x92\x35\xc0\x94\x1a\xb7\xbc\x3d\x4f\x1a\xe8\x68\xed\x3b\x0d\x74\xe7\x3b\x5f\x27\x2c\x9b\x71\x5f\xe8\x71\xfa\xde\x2c\x82\x41\xfc\xc8\xf9\xea\x25\x2d\x14\x68\x6d\xbd\x43\x41\xe8\x53\x72\x7e\xa8\x89\x4e\xe7\x4c\x13\x5e\x76\xf0\x9a\xd2\x2c\xac\x4a\x0a\x1a\xda\x7d\xa0\x0b\x36\x59\x05\xd2\x84\x95\x79\x12\xac\x51\x40\xef\x29\xc1\xeb\xc0\x5f\xa5\x06\xc5\x96\x36\x04\x43\xbe\x80\x83\xaa\xe2\xb0\xb6\xac\x23\x83\xf5\xe9\x2d\x92\x32\xf0\x63\x4e\x3a\x18\x1e\xb2\x4e\xbf\xd3\x8f\x74\x52\x56\x2b\xd6\x48\xc0\x79\xd4\x03\x0a\x74\x54\xe6\x1d\xa6\xaf\x71\xf4\x92\x83\x37\x35\x35\x2f\x32\x63\xd5\xd3\x84\x02\x12\x46\x18\xf4\x0e\x6b\xc7\x28\x6a\xf6\x0c\xb6\x17\xa9\x2f\x39\xe6\x08\x4a\x1e\xa9\x5a\xc9\xa4\x6b\x5c\x2d\x7c\xe1\xf3\xc8\x8a\x1a\xe3\x4b\x46\x82\xb1\x79\x73\xc9\x17\x6e\x94\xef\x87\xa3\xbd\x0f\x8d\x76\x3d\xab\x2b\xe9\x72\x56\xbb\xc8\x57\xf2\xb7\x00\x20\xee\x0c\x35\x0a\x1f\x2c\x43\x49\x86\x1f\x3c\x2a\xb0\xce\x3b\xbe\xbd\xe5\xf8\x3e\x1b\xc2\xcf\x19\x95\x03\xe0\x60\x0e\x47\x0e\xac\xc8\x11\x48\xb5\x2a\xf8\xf1\x43\xfe\x61\xe2\xb2\xd8\x80\xeb\x5d\x20\xe2\x3b\xe8\x5f\xab\x2f\x3c\x6a\x53\x67\xe6\xaf\x47\x87\x1e\xea\xd8\x73\x6a\x57\xbf\x64\x19\x04\x56\x5f\x1b\xb9\xf6\x5e\x34\xd6\xa0\xb0\x55\xe5\x3a\x0f\x23\x8c\x1a\xb0\xf7\x27\xc0\x56\x52\x8b\xeb\x06\x53\x30\x63\x06\x1a\x36\xc2\xa2\x96\x4a\x1f\x3d\x17\x6c\x07\x32\x94\xc5\x6b\xb5\xee\x47\xf3\x9a\xeb\x13\xd4\xec\xc8\x1c\x0a\x73\x83\x84\x89\x27\xcd\x79\x15\x6d\xdc\xe3\x1a\x16\xd4\x24\x2b\x98\x4f\xe5\x8a\x0a\xf5\x52\xd3\x78\x51\xe9\x75\xb7\x1b\xac\x33\x9a\x71\x86\x55\x4c\xad\x87\xb6\x87\x5a\x6a\x48\xc1\x57\xed\x5a\xa5\x4f\x01\xbe\xd6\xcf\x24\xc5\x16\x82\xd6\xe6\xfe\x32\x70\xbe\x2e\x9b\x86\xef\xa2\x74\xfa\xf3\x6c\xdf\xbf\xe8\xef\x4a\xd4\x13\xd0\x9b\x1b\x7d\x58\xc1\xc8\x8c\xa9\x2d\x63\x91\x67\xab\xe9\x1f\x04\x6c\x70\x65\x26\xce\xfc\xa8\xc5\x58\xe9\x3c\x47\x67\x8c\xac\x68\x09\xee\x80\xc0\xb1\x24\x38\x62\x63\x30\x37\x3a\x0d\x5a\xb1\x57\xb0\x82\x8b\x12\x4f\x22\xfa\xb0\x48\x4e\x2a\x65\x7d\xc4\x1a\xab\xd6\x22\x35\x55\x88\x16\x5b\x32\x5c\x54\xe7\x7c\x6e\x35\x1d\x99\xd5\xbb\xe5\xed\x1b\x68\xd4\xa6\x87\x4c\xbe\xe3\x69\x76\x45\x3a\xcb\x48\x26\xdd\x79\xf6\x67\x20\xf1\xe4\xc6\xe1\xd9\x80\xe7\xfe\xae\xd8\xa7\xff\x23\xaf\x36\xd2\x64\x1c\xf8\xd0\xe9\xf9\x3e\x85\x59\x26\x73\x78\x06\xb6\x2d\xa6\xf9\xa4\xc3\xad\x0d\x9f\xcd\x28\xc0\x32\x49\xfd\x43\x24\x29\xcb\xa2\xba\x37\x4e\x64\x5b\x71\x01\x2e\xdd\x68\x16\xeb\x5f\x63\x4c\x52\x29\xd7\x48\x35\x23\x69\xbd\xa5\xdd\xec\xdd\x03\xf0\x24\x1d\xf6\x7e\x4a\xfa\xe5\x17\x80\x37\xc1\xf5\x84\x42\xdc\x6b\xfd\xe5\x40\x6d\xbd\xa1\xb3\x95\x6f\x79\x4b\x26\x3d\x3d\x39\xa4\x89\x4b\xee\xc1\x2e\x97\x3e\x39\x21\x88\xc3\x10\xa2\x23\x53\xc1\x68\xe0\xb2\x0e\x99\x0d\x20\x2a\xb9\x72\xc0\x2f\x92\xb0\x0d\x13\x3b\x0b\xfa\xeb\xd8\x72\x08\xdd\xdc\xa7\x46\x37\x77\xda\x1e\xd7\x6a\xb7\x26\xc3\x5e\x56\x83\x58\x97\x87\xfe\x97\xe9\x57\x0e\x89\x28\x5f\x2f\x7b\xd6\x3e\xa2\x76\xc4\x14\x8e\x22\xa0\x17\x37\xb9\xc9\xcd\x85\xef\x6c\x49\x10\xdd\x02\xb2\x39\xa1\x16\x13\x10\x9c\xa1\xac\xec\xfb\xca\x18\xf9\x56\x4c\x2d\x79\x09\xa0\x80\x68\x5e\x30\x58\xd9\xe8\x70\x2f\xad\x7b\x2d\x48\x03\x48\x79\x49\xa5\x91\x09\x0b\xf4\xdd\xff\x82\x88\x75\x13\x40\x8a\x62\x31\x5e\x14\x6b\x71\x84\xa3\x55\x24\xaa\x1c\xa5\x09\xc6\x06\x3e\x42\x0b\x2c\x6c\x1b\x1f\xa5\x01\xc6\xda\x91\xf6\xd7\x41\xd4\xf7\xa9\x7e\xcd\xa8\xc2\x37\x45\x07\x99\x18\xd1\xbd\x79\xd3\x03\x71\x6d\x85\x33\xbb\x70\x00\xcc\x81\x0d\x57\xcd\x62\x0c\x98\x1c\x82\x81\x9b\xf2\x7c\x5d\x3b\x05\x8e\x74\x78\x87\xce\xae\x8b\xf9\x42\x10\x81\x18\x92\x86\x59\x1f\x3a\xd7\xa8\x07\x34\x03\x23\x99\xc1\x1f\xb7\x7e\xfb\x3b\xb2\xa5\xbb\x29\x21\x2f\x38\x80\x21\x71\x23\x0c\x69\x49\x68\x2d\x66\x96\x98\x23\x82\x91\x2b\x45\x6d\x1c\xfc\xd6\x2d\xa1\x73\x85\xb8\xaa\x56\x8e\x42\xb1\x6a\x5e\x53\xb9\x64\x12\xb3\x37\x4a\x65\x93\xcb\x54\x8d\x4d\x85\x11\xf4\x0b\x72\x8a\x48\x05\x10\xe8\x52\x31\x5a\xc2\x04\x60\x1a\x45\x87\x75\x89\xca\x21\x83\x06\xe0\x52\x57\x68\x31\x00\x30\x14\xa4\xa2\x72\x99\x44\x8e\xc0\xb4\x9c\x00\xf0\xef\x5a\xc9\xaa\x64\xe9\x35\x03\x4c\x0f\xd5\xbe\x2e\x8f\x8b\x4b\xfd\x2a\x9d\x8d\xce\x16\x37\x1e\x90\x0f\xb6\xbb\xda\x14\x0c\xf9\xd7\x11\x58\x59\x5d\xb4\x9c\x7c\x1f\x72\x49\x87\x3b\xa5\x8f\x7b\x04\xfb\x97\x79\xed\x1c\xb0\x89\x1b\xac\xf0\xbf\xbb\x91\xe9\xd6\x48\x1d\x49\x91\xa0\xc4\x73\x6f\x9c\x1b\x76\x0c\x4f\x1f\x67\xae\x3a\xee\xe9\xb7\xd7\x2a\xd7\x3b\x97\xe7\x47\x39\x1f\x78\x6c\xaf\x18\x10\x7f\xe8\xdf\xb3\xe9\x9c\xdb\xf4\xfc\xa9\xf4\xfd\x9b\x8b\xcc\xa5\x96\xe4\xab\x6c\x62\xde\xd0\xf4\xc6\x57\x0a\xe6\xd2\x16\x39\x3b\x78\x74\x7f\x74\x4e\x90\x3e\xbb\x27\xc8\x5c\x82\xac\x4a\x9e\x76\x14\x0a\xe9\xf2\xff\x64\x1c\x14\x88\x72\x6f\x04\xbe\x42\x1d\xcd\x8c\x19\xe5\x4b\x90\xfd\x08\x8f\x22\xc8\x21\x9a\x5a\x70\x59\xb9\x51\x0c\x31\xdc\x59\x48\x45\x30\xa8\xd2\xbe\x65\xc7\x84\xde\xd1\x48\xda\x1d\x05\x83\x6b\xb8\x1a\xc7\x84\x6c\x27\x3c\xbd\xe0\x51\x0c\xb5\x20\x1e\xab\x10\x15\xc6\x13\x9a\x0e\xfa\x3b\xd6\xa5\x45\x5a\xd9\xe9\xf0\xb3\x87\x5c\xca\xf0\x56\x4d\xcc\xb1\x57\xef\x3b\xd2\x61\xd3\x21\x17\xc4\x0b\x5a\x3a\xff\x28\xcd\x07\x31\x02\xc0\x4d\x9a\x67\x8b\xab\xc3\xe8\x6e\xc1\x69\x8c\xbc\x76\x83\x83\xe9\x73\x8b\xa6\x1c\xc8\x02\x8d\xfe\xf4\x53\xe8\xc2\xdc\x2d\x10\x00\x2b\x5e\x90\x0e\x69\xf3\x00\x08\x70\x8b\x9d\x23\x85\x0f\xfb\xb5\xcb\x33\xc6\x68\xa0\xf0\xee\x63\xb8\x6e\x7a\x16\x88\x0b\x90\xc4\x95\x03\x94\xe7\xa9\x73\xc3\x4e\x24\x6e\x0f\x53\xed\x9c\x02\x5c\xdc\x6b\x38\xa0\x20\x08\xbe\x91\x4c\xa8\xe7\xb0\xfd\xe2\x40\xd9\x71\x5a\xd4\x13\xb7\x06\x83\x0c\x8a\x65\x3a\xa3\x21\xea\x5f\xdf\xa4\x1a\x44\xf4\xc3\x53\x7a\x6d\x33\xaf\xb9\x75\xaa\xc2\xf3\xaf\x27\x2d\x99\x9a\xcc\xca\x85\xee\x10\x3f\x7f\x92\x8e\x90\x7a\x8f\xe8\xc8\xa8\x13\x68\x71\x72\x42\x9e\x73\xb5\xf4\x9e\x3f\x47\x0e\xd3\xcc\xe5\xde\x41\x3a\x71\xf1\x97\x1c\x66\xb7\x23\x21\x5e\xa7\x49\x2e\x54\xad\x40\x3a\xab\x1a\x7d\x9e\x59\x59\x51\xc5\xd0\x02\x8c\xe3\x33\xef\xf5\xe3\x56\xf2\xd1\xa1\xbe\xf4\x8e\xbb\xab\xa6\x3f\xbc\x58\x01\xba\x25\xf4\xf2\x88\x93\xd8\xa5\x1a\xdb\x87\xf7\xd8\x34\xf2\x67\xd0\x46\x31\xec\xbd\x1e\xfb\x71\x06\x3e\xc9\x0d\xe9\xc9\xff\xc2\x37\xa4\x15\xc1\xe3\x71\x0c\xb1\xa3\x05\x6f\xca\xfe\x4b\xd2\xfb\x45\x65\xef\xc9\x90\x5e\x78\x55\x42\xae\xa0\x7f\xf2\x9b\xf2\x79\x04\x81\xe0\x2e\xcb\x44\xd4\xec\xbd\x2f\x0d\x00\xf7\xb1\x8c\xfd\xab\x8b\x54\x88\x3d\x74\x5d\x7a\xae\x17\xac\xd2\xb1\x37\x26\x2c\xe0\xfe\x0b\x53\x17\x89\x4f\x69\xe8\x44\x97\x67\x17\x87\xd1\x1b\x3e\xd9\xcd\xd8\x15\x37\xf6\x4d\xa1\xbb\x1e\xcd\xb2\x54\xe1\xe9\xcf\xdc\x1a\x21\x9e\x45\xee\xc2\xe8\x30\xd0\x63\xaf\x8d\x80\xf0\x47\xdf\x1c\x47\x5c\x89\x9f\x68\x70\x29\x37\xfe\xc5\x07\xe8\x1a\xfc\xbf\xe9\x42\xec\x9e\xb4\xbe\xee\x1c\x7f\x1b\x3a\x9a\x87\x2f\x43\xd8\x34\xa1\xa9\x46\x8b\xdf\x80\xc3\xe3\xf9\x8a\xdc\x7f\x2d\xde\x06\x7c\x9e\x4a\xb9\x5e\xd9\x94\xa8\x91\x02\x60\x04\x54\xd3\x17\xff\x08\x13\x7a\xd0\x5a\x30\x5a\xee\x8c\xe6\x71\x6c\x20\xbd\xec\x65\x07\x45\x40\xd9\xae\xf7\x80\xbd\x4f\xfd\x05\x22\xf8\x36\x80\x56\xc7\x5b\xf9\x11\xe6\x61\xf2\xbf\xb2\xa6\x1c\x45\x03\x85\x91\x05\xf7\x97\x60\xc5\xae\xa8\x99\x0c\x1d\xd0\x01\x2a\x65\xc9\xd2\x14\x96\xc6\x2d\xba\xe5\x12\xba\x82\x9e\xd4\x36\xa1\xb0\x55\x9b\x09\xbe\xbd\xc1\xcc\xd1\x56\x83\xd7\x30\x6b\x7c\xad\xe6\xa4\x61\x05\x93\x92\x8a\xdd\x3f\xeb\x15\x1a\x2a\x6c\x3a\xf9\x85\xf6\x29\x70\xf6\x65\x97\xf9\x03\x63\x2d\x46\x04\x63\x88\x71\xc9\xa4\xc9\xf6\xee\x50\x4e\xcd\x38\x11\x3c\xde\x25\x93\x65\x0d\x18\x68\x99\x30\xc8\x3a\x80\x08\x00\x19\x08\x08\xb9\x5d\xda\xd4\xce\x73\x5a\xd5\x6b\xc1\xa2\x54\x25\x78\xce\xbe\xd1\x84\x20\x1e\x20\xa2\xef\xe9\xd8\x53\x6a\x58\x51\x50\x0a\x0e\x76\xa7\x9c\xb9\xfc\x82\x72\x3e\x23\x11\x02\xd8\x0f\x5e\x54\xe8\x98\xef\xfa\x6e\xc8\xc0\xb8\x07\xe6\x46\x35\x19\x96\x82\xe6\x10\xb3\x7e\x9e\xbb\xb1\x1d\xe9\x2b\x4b\x92\x45\x27\xdd\xe9\x5b\x72\xed\x00\x4e\x37\xa3\x36\x1b\x4a\xd0\xa4\x55\xa1\x47\xbd\x08\xff\xea\x3a\xd6\x13\x47\x2a\x08\x5d\x8e\x78\x9a\xfd\x9e\x72\x51\x2d\x13\x2d\xb9\x50\x4b\x03\xf4\x81\x51\x11\xd2\x40\x5b\x2f\xb8\x09\x1b\xc7\x38\x9c\x9a\xab\x69\x9a\x6f\xe5\xc6\x67\x4d\xe9\x61\xe2\xe7\x69\x95\x2b\x9b\x50\x25\xcb\xa0\x63\x75\xa9\x9e\x70\xd2\x15\x9a\xc2\xfc\x48\x60\x2a\xc5\xfe\xb2\x7b\xba\xc2\x3c\x75\x21\xa0\x9c\x39\xaa\x95\x62\x82\x5a\xf0\x9b\xe3\x22\x20\xac\x92\x17\x16\xf0\x85\xa0\xce\xff\xe0\x0d\x55\xcb\xe9\xaa\xc2\xfc\xc4\xa9\x96\xf1\x88\xcb\xfa\x80\x71\x0f\x05\x3c\xbd\x1c\x43\xd8\x27\x41\xcb\xa7\xe7\xc1\x9f\x5f\xa5\x5d\x0b\x3e\x3e\x79\x12\x86\x67\x88\x40\xed\x1c\xa8\xac\x9f\xf8\xf2\x49\x9e\x30\xbd\xf1\x83\x27\x8d\x3b\x67\xe0\x13\x32\xd8\x30\xb2\xac\x54\x57\x64\xde\x7a\x57\x02\x94\x67\x08\x05\x46\x6d\xb3\x9b\xba\x60\x91\x6d\x94\xce\x82\xa9\x62\x69\x74\xbf\xef\x87\x22\xd4\x58\xbb\xa3\x6d\xaa\x84\xce\x40\x36\xa7\x4a\xcd\x17\xc3\xc7\x97\x9a\x41\x37\x03\x45\x80\x18\x26\xee\xd3\x54\xce\xc8\x63\xf2\x84\x74\x68\x12\x32\x13\x8c\xde\x39\xcf\x9f\x47\x47\x08\x65\xa6\x0b\x63\x12\xd8\xe9\xa1\x17\xaa\x6a\xd6\x2c\x12\xb3\x5c\xb6\x35\x3f\xef\x17\x24\x4d\x89\xe2\x31\xab\x6c\x6c\x92\x31\x8b\x20\xd6\x34\xa0\x4f\x8d\xf1\x82\xa2\x35\x6f\x16\x76\x06\xf7\x24\x53\xdb\xdb\xa1\xee\x99\xfd\xfc\xf3\xee\x41\x3e\xa6\xcb\xdd\x67\xbb\x4d\x94\x18\x9b\x7b\x10\xaf\xda\x60\x4e\xe0\x65\x0d\x77\x88\xa7\xb5\x65\x98\xfe\x14\x53\x92\x13\x78\xd4\xc4\x37\x44\x13\xe7\x2d\xb9\x89\xc5\x5a\x37\x1b\xdd\x71\x7c\xd4\xd4\x18\xde\x14\x4e\xcc\x55\xf2\xbe\x3c\x6e\x5a\x58\x53\xfe\xfd\x26\xe5\xca\x3f\x66\x72\x53\x72\xd5\xd1\x92\x1d\xb5\x79\xa3\x7c\x2d\x37\x5e\x69\x4d\x3a\x1f\xaf\x12\x49\x1f\x1d\xc7\x58\x70\x2d\x3a\x7d\xea\x49\x2e\x7b\xa8\x91\xf9\x22\x5f\x33\xf0\x3a\x32\xc4\x76\xcc\x98\x34\x23\x8e\x02\x49\x6b\x19\x2d\xff\xaf\xe2\x2c\xb8\xd1\x6c\x9e\x51\x8c\x61\x04\x7c\x20\x5a\x13\x3a\xb3\xc8\x7f\x04\x37\x08\x66\x4b\x1d\x00\x63\xe1\x6b\x61\x0c\xd4\xef\x18\xb0\x16\x4b\xae\x0a\xd2\x29\xba\x04\x9b\x41\x64\xa7\x6e\xcd\xe7\x22\x7a\xc8\x04\xe7\xa7\xf7\xe7\x4c\x6e\x30\xb5\x99\xcd\xda\x69\xea\x63\x38\xe5\x43\xd7\x29\x1c\x64\xf4\x5e\x75\x92\xd9\x6c\xbd\x58\x60\x4c\xef\xde\x67\x67\x2e\xfc\xb1\x43\x35\x52\xf6\xf4\xc6\x65\x3e\xea\xe7\x19\xc1\x9d\x1e\x9b\x3d\x01\x28\x48\xef\x9f\x19\x57\x4b\x0b\x36\x39\xa3\x0b\x74\x83\x36\xec\x0a\xf2\x34\xb8\x87\x9c\x8d\xd7\x08\x60\x26\xac\x47\x01\x62\xc7\xba\x08\x9a\xc8\x7d\xd1\xea\x79\xb3\x89\x84\x35\x1d\x13\xfc\x4a\x6d\xb2\x7f\x89\x39\x05\x20\x75\x10\x9f\xcf\x2d\xa2\x81\xc7\xae\x25\xf3\x0a\x71\x66\xd7\x2a\x70\xc3\x36\xa8\xdb\x0e\x4c\xf8\x88\x00\xf9\xc0\x79\x60\x9f\xaf\x4d\x84\xc9\xdb\x03\x16\x14\x17\x4a\x42\x42\xc2\xe0\x91\x3e\x6a\x5d\x9d\x44\x54\x72\x14\x6d\x85\x60\x0b\x1c\xee\x5a\xa7\xdc\x9e\xde\xed\xa1\xd9\xed\x60\x5a\xb8\xab\x31\x79\xab\x39\x4f\x14\x91\x6d\x1c\x7b\x20\xe8\x9f\xcf\x9d\x42\xc2\xf9\xa5\xa4\x4a\x91\x15\xdd\xa1\x33\x95\x75\x45\x35\xa2\xbe\x75\xed\x7a\x7f\x70\xa5\xa1\x2d\xcb\xb3\x92\xd8\x7d\x3f\x57\xbd\x7e\x09\xdf\x9b\x62\x4e\x22\xf8\x01\x83\xf7\xf1\xed\x16\x8c\xf5\x25\xb0\xb4\xd0\x51\xdc\xa1\xea\x2e\x20\x05\x72\x65\xfc\x64\x3b\xd1\x16\x0a\x53\x90\x61\x15\x7b\xda\x70\x8a\xaa\x79\xa0\x29\xe1\xc2\xd6\xf8\xeb\x1a\xf4\x0d\x0d\x6c\x7c\x57\x25\xc4\x28\x40\x2c\xb9\xc0\x34\xe1\x26\xcc\x48\x9e\xad\xe0\x0b\xc1\xa4\x43\xba\x08\x8c\x26\xa5\xcd\x86\x1b\xc4\x7e\xe8\xde\x1c\x9c\xea\xe8\x7a\x48\xa6\x3a\xd1\x4f\xb8\x5c\xc5\x6e\x3b\xe7\xdd\x49\x3e\xff\x3c\x48\xfe\xdd\xec\x71\x3c\xb1\x5b\x3e\x7c\xe6\x65\x0b\x7e\xef\x16\xb2\xa3\x0d\x0e\xeb\xf6\x41\x1a\x44\x97\x54\x7c\x20\x73\xdb\x67\xe4\xcf\x56\xb4\x11\x2d\xff\x7f\x94\x64\x6f\xee\xc2\x27\xd2\xba\x8e\x00\x96\x37\x15\xdb\xb6\xc7\x45\x49\xeb\xfa\xcf\xea\x3a\x1f\x6f\x00\x66\x3f\x78\x81\x27\xcc\xae\xf3\x32\x8e\xd2\xe9\x9d\x26\xca\x9a\xbd\x0e\xd2\xc7\x6b\x83\x7b\x29\x44\xb7\xb5\xed\x73\x5e\x1e\x39\x1d\x65\x6f\xdd\xe8\x4e\xb7\x14\xc6\x89\xfd\x3a\xa8\xb9\xc7\xf5\x29\xd9\x2f\x69\x77\xfa\x80\x15\x5c\x2a\x2d\xe3\x88\x14\xb9\x84\xf5\xeb\x05\xc8\x84\x3c\x3d\x8f\x6b\x9e\x67\x6e\x80\xec\xbc\x45\x6b\x16\x36\x9b\x5b\xbe\x1e\xbb\xc6\xf1\xab\xd7\x47\x20\x5a\x3c\xd3\x8b\xfc\xda\x45\x5d\xcc\x2e\x63\x68\x22\x33\xa5\xbb\x2b\x92\xb4\x71\xcc\x04\x9d\xef\x4d\x2c\xec\x83\x54\xd3\x44\xc2\x61\x4e\x56\x1b\x66\x1a\x6c\xaf\xd3\xa4\x08\xbb\x57\xac\x71\x3d\x1f\xdb\x9e\x66\x12\xb4\x07\x4e\x78\x1d\x37\xc6\x3c\x2a\xc1\x8a\xde\x57\xab\xf5\xca\xba\xa4\xbb\x08\xa6\x28\xd8\xff\x08\xb0\x22\x5e\xd7\x6f\xe8\x7d\xc4\xb9\x59\x04\x4b\x30\xcc\x47\x32\xa8\xc4\x33\x7d\x14\x79\x6e\xab\x5e\xff\xf0\xbd\xce\xdf\x93\x80\xc4\xfe\x66\x21\xde\x2d\x75\x01\x87\x99\xf0\x97\xaf\x3b\x0e\xe6\x62\x53\x26\x6b\x4a\x8f\x5b\x6a\x88\x8c\x00\xb1\x40\x4c\x7c\xf0\x34\xf0\xff\x4d\x75\xa3\xef\x45\x9d\xd7\x21\xf7\x6e\x17\xca\x06\x99\xfc\xfa\x2e\x48\x75\xc8\x53\x35\xef\x1b\x29\xbc\x9e\xef\x41\xee\x90\x3e\x00\x8d\xd7\x35\x76\xcc\x91\xda\x13\xc0\xe4\x16\xb9\x6f\x81\x13\xca\x6f\xe8\x7d\x1c\xd9\x66\xb6\x1b\x1e\x26\xd0\xcb\xb8\x1e\xfc\xc6\xd7\xc1\x1b\x34\xec\x9c\xfb\x14\x73\x43\x87\x92\xe1\x8b\x5e\xf8\x7a\x1d\x0f\xf9\xbe\x3a\xbe\xca\x71\xb8\x4c\x07\xb7\x5a\x9c\xff\xe2\xbf\x64\xb7\xb9\xb8\xa8\x7f\xee\x0d\xb7\x9f\xa3\x00\x3f\x76\x4d\x4e\x3e\x32\x62\x2f\xde\xa7\x5f\x91\xd3\xee\xfe\x3c\xfd\xc5\xf7\x65\xfe\x1a\x70\xea\x14\xbb\x59\xd0\xbd\x33\x88\x0d\x8b\x5e\x1f\x95\x8c\xa3\x2d\x92\xdb\x63\x4a\x0e\x3c\x1b\xd0\xc6\x29\x02\x40\x3d\x88\xf8\xd6\x0f\xf9\x2f\x50\x9f\xf4\x05\xbc\x27\x94\x65\xb8\xc7\xdc\x42\xb7\x91\x87\x7d\x1e\x1c\x07\xcc\x31\x60\x51\xed\x9b\xe0\x93\xfe\x45\xec\xbd\x44\x3b\xb3\x07\xae\x3e\xff\x18\x93\x87\x2c\xe4\x98\xf9\x7b\x9e\x86\x1d\xf4\x3b\x2b\x5b\x04\xc2\xc8\x40\x94\x3d\x13\x20\x87\x06\xb3\xf6\x7b\x80\x87\xc7\xfc\x59\x66\xe0\xa0\x75\x91\x21\x02\xa9\x4d\x38\x17\xe5\x78\x06\x5d\x8f\x97\x14\x06\x32\x38\x38\x36\x31\xb3\x89\xb0\x97\xa0\xf1\xc1\x79\x5a\x51\x50\x00\x94\x6b\x66\x99\x2a\xa4\x54\x59\xd1\x06\xf3\x7d\x7a\xb3\xbe\x8d\x14\x82\xd7\x32\xc5\x19\xa7\xab\x15\x55\x55\x61\xe8\x1e\x9c\x45\x97\x6e\x2f\x23\x07\x1d\x19\xa8\xed\xd8\x44\x1c\x5d\xf9\x59\xc0\x0f\xa3\xf8\x6d\xe7\xab\xd5\x0d\x82\xed\xd6\x31\x71\xdc\xa3\x30\x33\x7d\x25\xcd\x34\xeb\x99\xa2\xb5\xe4\x30\xdf\xa1\xb2\x04\xe2\x16\x87\xb3\xb5\x8a\x83\xd8\xe0\x67\xa8\xfa\xd9\x68\x1a\xd1\x33\xb9\x23\xba\x39\x54\x30\xf7\x4e\x34\xdb\x84\xca\x28\x57\x14\xd2\x75\xf4\x5e\x35\x26\xfc\x08\x80\xf1\xc0\x6e\x68\x03\xcc\x31\x93\x68\x78\x84\x70\x1c\xb4\x29\x49\xcd\x14\xb1\xa9\xaf\x2d\x29\x93\xce\x0e\xed\xd6\x78\xca\xac\x21\x61\x8c\x4e\xa0\xe0\xb0\x50\x92\x75\x6b\x08\x06\xb9\x99\xb7\x82\x43\x80\x3a\xa6\x7b\x71\x71\xfe\xe0\x05\x4a\xa3\x4e\xe3\xdb\xc3\xc1\x46\x90\xae\xfb\x9d\x29\x11\x84\xbc\xa1\xca\xc1\x80\x1f\xf8\x14\x8e\x39\xd4\x83\x51\x02\xf5\x59\x41\x3e\xe8\x82\x36\x00\x39\x28\xaa\xd2\x24\xbd\x75\x59\x94\xcc\x6c\x2d\x99\xbb\x36\x21\xb9\x63\x72\xec\x2c\x21\xbd\x09\x0a\x6a\xe7\xb2\x93\x7a\xaf\x43\xd6\xe5\x39\xf2\x40\x85\x4e\xb1\x04\x9b\x09\x66\xdd\x5a\xd8\x7d\x9b\x47\x1d\x23\x48\x38\x99\x1e\xa5\xbd\xcc\x64\x92\x1b\x5b\xc8\x52\xbe\xf3\xdf\x43\xbe\xe2\xf9\x82\xdd\xa1\x55\x3c\x5b\x7a\x72\x1d\xef\xed\x74\x9d\x90\xe7\x06\xda\x00\xee\x4e\xc1\x1b\x05\xf9\x7f\x5c\x7a\xa1\x7c\x14\x9b\xf5\xf5\x31\x59\x04\xdd\xb6\x7a\xf1\xea\xdb\x71\xb8\xaf\xb1\x0b\xd6\x13\x09\x2c\x39\xb3\x9d\x4d\xbc\x18\x87\xf0\x41\xf7\xe8\x86\x61\xdc\xaa\xcd\xdf\x68\xb9\xdd\xc3\x66\x3e\xc7\xc5\x60\xa7\x46\xa5\x86\xcc\xa7\x40\x67\x53\xd3\xa9\xb7\xb8\x6f\x58\xd9\x91\x51\x4e\x4e\xc8\xcb\x6a\xb1\x16\x90\x26\x89\x2c\xf9\x96\xcc\xa9\xc9\xe0\x81\xab\xa2\x77\x96\x24\x98\xa5\x06\xc7\x6f\xdd\x30\x4a\x56\x2b\x1a\x04\x6f\xdb\x1e\xbc\xd0\xbf\xdb\x6e\x98\x58\xbb\x34\xc6\x3b\x90\xde\x90\x8e\xe5\xb4\x2a\x14\xc5\x54\x20\x84\x3d\xe4\xf5\xa1\x72\xef\x0e\xd5\xf7\xe2\xe0\xad\x77\x3a\x4c\xbb\x17\xb0\xe6\x37\xe8\x6d\xe5\x7b\x6e\xf2\x9e\xd1\x88\xdd\x8d\xc9\x76\x59\x15\x4b\xa2\x44\xb5\x58\x30\x21\x83\x08\xe3\x80\x1f\xe5\x84\x42\xa5\xc5\xc1\xc8\x59\x37\x3e\xed\x78\x32\xb6\xe0\xc3\xe1\xd2\x63\x5b\xec\x51\xe4\x9f\x6a\xc9\x04\x1b\xb8\x5d\x69\x89\xb9\x95\x0b\xd9\x75\x4b\x8d\xc6\x18\x97\x59\x2d\x05\xc4\xba\x4b\x1e\x24\x8f\xb2\x29\xab\x30\xb5\x1b\x26\x20\xdb\x30\xe1\xb7\x41\x5f\x3a\xd0\xc8\x74\x70\x69\xa0\xd6\x98\xdb\x5e\x94\x04\x7c\xc1\x5a\x2c\x1d\xd5\xe8\x11\x05\x3b\x0a\x72\xdd\x7c\x20\x0c\x58\x07\x26\x57\x0b\x09\xe8\xd1\x08\x5e\x30\xcc\x7f\xe1\xe1\x0a\x11\xf1\xe3\x03\xf9\xbd\x69\x76\xe8\xb4\x28\xa3\x68\x37\x1f\xf3\xf8\xf2\x3b\xbb\x47\x96\x30\xbb\x58\xbf\x4c\xb6\x95\x2a\x96\x78\xfa\x6a\x45\xdf\x04\x56\x1c\x7d\x6b\x12\x3f\xa4\xe9\x8b\xeb\x37\xef\x5f\x5c\xbd\xbe\x7d\xf6\xfe\xed\xab\x3f\x5e\xbd\x3e\x73\xa6\x47\x6c\xc7\x50\xf8\x3f\xf6\x29\x13\x74\xe5\x0d\x86\xb3\x57\x4c\xbc\xcf\xd8\x58\xfb\xdb\x79\xfd\xea\xeb\xab\x43\xcd\xe4\x5f\x4c\x0f\x68\xe4\xed\xb3\xdf\x7d\x54\x23\xc1\x38\xe1\x78\x2c\x98\x0a\x91\x8c\xa2\xf6\x3f\x04\x9e\x64\xb2\x5a\x34\x28\x98\x43\x52\xf5\x12\xef\x3b\x48\x4e\xa8\x77\x3c\x6c\x2f\x76\xdf\x9a\xd4\x6e\x66\x7b\x60\xc7\xbe\x20\x13\x23\x11\x7f\xe4\x1d\x0e\xa1\xe4\xff\xd8\xb7\x37\xa4\x41\x3e\xf2\xde\x4e\x87\x73\x0c\xe9\x3d\x17\x13\x7c\x7f\xf8\x95\x74\x75\x0f\x20\x44\xe6\xe9\xcb\xea\x32\xf0\x42\xbe\xf5\x3d\x34\x31\xf7\xe8\xbb\xe6\x44\x48\x49\x37\xe8\xb8\x82\xb4\xb0\x64\x59\x61\xbe\xbb\xb1\xbe\x7f\x97\x54\x12\xc1\x0c\x44\x0f\xdc\x6c\x98\xfb\x1e\x21\x4c\x25\x19\xd6\xd5\x1d\x43\xdc\xb3\x91\x01\x9a\xd6\x94\x30\x77\xbf\x54\x55\x71\x67\xfd\x80\x11\x48\xac\xe6\x7a\x49\xaa\x15\x33\x0f\x1d\xb2\xa5\x3b\xdd\x13\x30\x77\xc2\xf5\x2f\x57\x00\xdd\x8d\xf4\x1d\xb0\x12\x5f\xa3\x39\xc0\xcc\xa2\x54\x54\xb1\xa9\xbf\xeb\xd6\xb3\xce\xca\x29\xcb\x49\xa2\xdc\x0b\x84\x54\xe5\x19\x51\xd3\xaa\x64\x8d\xaa\xe6\x15\x13\xd6\x95\x71\xa7\x7f\x46\xb0\xb0\xff\x63\x7f\xbb\xf7\xbf\xfd\x11\x7f\xfb\x70\x8e\x49\x17\x4c\xd3\xd5\x18\xb7\xc1\x79\xc4\xcc\xf4\x8a\x47\x7c\x2c\xcc\x25\x7e\xe6\x7d\x7e\x6e\xe8\x86\x25\xae\xd6\xf8\x9a\x00\xcc\x05\x69\x9d\x7e\xc0\x49\xb2\x42\xc7\xc8\x8a\x7c\x45\xd8\xd4\x00\x64\xdf\x9a\x72\xa8\x43\x3f\x27\x4f\x9e\x54\xa1\x8b\x8f\x32\x53\xe2\xe7\x67\x98\x56\xfd\xbe\xfa\x21\xf0\xea\x71\x6f\x2e\x9c\xe5\xef\x81\xc0\xb4\x2a\x7f\x80\x3b\xd7\x0c\x93\x18\xdf\xda\x80\xc5\xa4\x03\x35\xc9\xc5\xcf\xd2\xdf\x59\x53\x86\xc3\x07\x37\x6a\x42\xf5\x0e\x60\xf7\x95\x54\xf8\x68\x81\x7e\xd9\xed\x3a\x00\xc7\x87\xa6\x92\x4b\x56\x82\x0b\xcf\x47\xcd\x89\x1b\xa0\x81\xf5\x48\xc7\x99\x99\x95\x60\x83\xfc\x70\xbe\x7f\xb4\x90\xd9\x3d\x18\xd6\x77\xb4\xbe\x0b\xe1\xe7\xed\x90\x2c\x12\x3f\x6f\x58\xf0\xde\x5b\x31\xb1\x60\x41\xf1\x4a\x78\x4a\x46\x27\x40\xaa\x46\x9f\xbb\x86\x21\x23\xb6\x27\xa7\x66\x9a\x6f\x5a\xac\x96\x79\xd5\x80\x10\x65\xc4\x97\x39\x95\x06\x64\x97\x90\x58\x06\x3d\x3d\xff\x7b\x6f\x2b\x6c\xf9\x89\x05\xeb\xc9\x6d\xb0\xe9\x0e\x10\x8c\xf4\x5f\xbb\x8f\xdb\x90\x7e\xd6\x5e\xc1\xd5\xe6\x50\x18\xfd\x1a\x18\x50\x31\xff\x42\x46\x4e\xa7\xdf\x2d\x7c\xee\x5e\xfa\xdb\xaa\x29\x0d\xea\x99\xef\xfc\x17\x17\x70\xf9\x05\xd3\x79\xac\xa4\x4e\x48\x46\x5a\x4f\x25\x76\x4b\xf4\x18\xa9\x3d\x24\xd8\x91\xdc\x49\x8f\xf4\x1e\x56\x3a\x28\xc1\x93\x4f\x2a\xc5\x93\x83\x92\x7c\x96\xa7\x04\x62\x0b\x27\xa5\x49\xff\xbf\x60\x52\xad\xf5\xd3\x17\x21\xf5\xf0\x41\x89\x49\xce\x1a\xc5\xc4\x9c\x09\x17\xd5\xa1\x2f\x0c\xb7\xd2\xba\x27\x39\xf1\xbb\xe7\x66\x0f\x35\x44\xd1\x5b\xdc\xef\x11\xf0\x48\x81\x52\x6b\x49\xe4\x1a\xb6\x99\x57\xfa\x82\x5e\x53\x2a\xba\x93\x81\x26\xd8\x7a\x80\x6a\x62\x2d\xdc\xa9\x89\xb1\xc4\x60\x87\xea\x7a\x0f\xd4\x81\x5a\x85\x51\x4e\xbc\x00\x00\xaf\x89\xc3\x30\x97\x55\x53\x30\xa7\x61\xb2\xb2\x12\x6a\xbd\xf4\xd8\xa3\x9c\xbb\x56\x29\xb9\x17\x34\x7e\x1f\xde\xe8\x03\x25\x44\x9f\x18\xff\x1f\x55\x40\xbc\xd4\x3d\x4c\x26\x99\xf4\x6c\x23\x3d\x9a\x89\xe2\x93\xa2\xae\xda\x19\xa7\xa2\x4c\x86\xf6\x6a\x9e\xcb\x56\x82\xf6\x6f\x56\xfa\xf0\x4c\xef\x0f\x08\x48\x47\x74\xe7\x02\x10\xe6\x7a\x1f\x56\x4d\x10\x41\xe6\x63\xf3\x32\x51\xe7\xb1\xef\xb6\xbd\x47\x96\xa6\xcb\x0e\xe6\x10\x54\x3b\xd5\xdc\x5c\xbf\xab\x4a\x4a\x44\x7b\xf2\x39\x42\x5c\x1f\x15\xbb\x57\x26\x3f\xb9\x1e\x0c\x69\x79\x0b\xef\x57\xbc\xe5\x30\x0f\xfe\xd2\xc5\xb0\x33\xf2\x38\x70\xba\x7c\xec\x7d\x72\x6d\x1b\x9a\xdc\x91\x8b\xb0\x47\x92\xd6\x9f\x1f\x28\x48\xdb\x1d\xfc\x20\x6c\xa5\x8f\x02\x3e\x49\x43\xb9\x27\x47\x84\x2a\x93\x2f\x63\x59\x36\xf2\xde\xf8\x7b\xc0\x33\xed\x83\x01\x09\xba\xd9\x83\xdf\xa2\x8c\x92\x5c\x86\x91\xe9\x5d\xb4\x21\xef\x80\xcd\x9a\xf2\x39\x2d\xee\xf4\xee\x36\xde\x2a\xce\x0d\xf9\xc0\x6c\x66\xfb\x80\xef\x24\x88\x84\x3f\xae\x0f\xa4\xd3\x83\xbe\x48\xae\xc8\xa1\x26\x71\xcb\x49\xa2\xf1\xd1\x17\x46\x66\x80\x6b\x0e\x35\xba\xd7\x3d\xad\xeb\xd8\xbd\xcf\x2b\xb7\xcf\xf9\x0a\x52\x1b\x0c\x93\xfb\x7a\xcf\x5a\x3f\x21\x4f\xc7\x9d\xfe\x1e\xe1\x89\xd6\xed\xe0\xe1\x48\xb2\xbe\xce\x74\x7d\xae\x8e\xf0\x64\xeb\xd9\xcd\x1d\xe4\x9c\x63\xf0\x15\x92\xe5\x0c\xa2\xc4\xfc\x56\x86\xde\x1e\xb9\x99\x33\x98\x48\x3d\xdd\xe8\xdd\xd1\x7b\x7a\x43\x32\x7d\xe9\x8f\x68\x8c\x96\xfa\xf0\xe6\x86\x6a\x32\x8f\x32\x71\xb8\xf9\xa3\x5c\xfa\x7c\x3f\x1e\x1d\xed\xe6\x7d\xe4\x76\xef\xf6\x6c\x7c\xe0\xb8\x1f\xbb\xd5\xd3\xfe\xf5\xd0\xed\x6a\x82\x5f\xf2\x02\x84\x6d\x63\x69\xc7\xcc\xf6\xc6\x0f\x86\x37\x84\x12\x4c\x1c\x4f\xee\xd8\xae\xe4\xdb\xc6\xca\xe2\x54\x1a\x71\xe0\xe5\x4b\x5d\xc6\x4c\x04\xb3\x89\xd5\xad\x55\x67\x85\x69\xf3\x31\xa9\x3e\x2b\x43\xeb\x28\xb6\x74\x5c\x3c\x01\x6f\x9e\xf3\x72\xf7\x07\xb6\x7b\xc1\xb7\x4d\xee\x42\xf6\x37\x64\x90\x0b\x34\xbd\x7b\xf5\x31\xb9\x63\x5a\xaa\xba\x81\x74\x3c\x53\x2d\xa3\x69\x29\xf3\x92\x97\x6c\xc8\xa6\xf0\xbe\x70\x77\x58\xcd\xb7\x4c\xfc\x01\x8a\xdf\xb1\xdd\x54\xf1\xd7\xfa\x87\x4b\x2a\x03\x1b\xb4\x7e\x8f\x2a\x51\xeb\x52\x3f\xfd\x44\xd8\x74\xc5\x14\xfd\x03\xdb\x8d\xc8\xe7\x9f\x07\xf5\x2f\xc8\xe3\xcd\xe3\xc0\x55\x39\x4a\x1b\x1f\x25\x04\x8e\x64\x3b\x40\x06\x77\x73\x64\x17\x48\x45\xe9\x90\xd0\xc4\x1f\x64\x59\x3c\x62\x2a\x61\x72\x7a\xa5\x9a\x7c\xe7\xf2\x98\xa7\x19\x6c\xd3\x00\xda\x14\x42\xbd\x9d\xc5\x16\xe8\x82\xc1\x56\x9f\x9c\x33\xf3\x35\x6c\x0c\x31\xb2\x3f\x8c\x22\xd8\xd3\x4c\x09\x1f\x54\xe1\x31\xec\xe3\xdc\xca\x24\x0b\x90\x8a\xb3\x2a\x01\x3a\xdd\xe4\xdb\x8f\xa7\x36\xdc\xfb\x53\x72\xa3\x78\x8b\xbe\x24\x20\xcb\xe3\x63\x8a\xb7\x74\x41\x41\x7f\x44\xa5\xb7\xdc\x40\x5e\x53\x8c\x47\x84\x36\x4a\x6b\xcd\x74\x93\x8d\xf1\x16\x07\x17\x07\xab\xbf\xf5\x63\xbe\xb5\x3d\xcd\xad\x17\x9b\x4a\xc5\xdb\xb7\xb6\x53\xe8\x38\x9b\xc1\xdc\xdf\x30\x81\xc8\x0d\xde\xa3\x60\xc5\xcb\x8f\x4c\x0d\xe6\xd2\x25\x18\x14\x85\x28\xe7\xb0\xa2\xaa\x3f\xe9\xb0\x7e\x96\xcd\x6b\xbe\xfd\x3f\xe4\x02\xd5\xaa\xe4\xb7\xc4\x1a\xf2\xc9\x19\x19\x60\x36\xa2\x41\x67\x08\x91\x85\x77\xe5\x6c\x2c\x53\x7c\x54\xd0\x5a\x31\x21\xc1\x8c\xb5\x5a\x1b\x25\x4c\xa4\x7f\xd1\xac\x0d\xbc\x5c\x52\x1b\xd5\x51\x99\xd9\x03\x2b\xee\x1b\xbe\x61\xc6\xc4\x13\xa7\xa9\xf4\x7d\x8a\xc7\x9e\xb1\x0b\x91\x8b\x60\x04\x30\x52\x7d\xbb\x5d\x7f\xf3\xee\xf2\x8a\xbc\x7c\xf5\xfa\xea\x0c\x0d\xe0\x27\x7f\x91\x27\xf0\x8f\xf7\x16\xe5\x7f\xfa\x17\xa9\x8b\xea\x17\x07\x46\x34\x0f\x8b\x11\xf9\xf2\xf4\xe9\x97\xa0\x2e\x00\xf3\x60\xb5\x5e\x91\xeb\x1b\xf2\x6c\xad\x96\x5c\xc8\x29\x79\x56\xd7\x18\xfd\x2c\x89\x7e\x70\x88\x0d\x2b\xa7\x9a\xc6\x37\x92\x39\xa4\x2f\x89\x38\x20\x85\x89\x99\x5e\xe8\x35\x6a\x34\x9f\xde\x11\x4a\x9e\xdf\xbc\x98\xc0\xd2\x91\xba\x2a\x58\x23\x4d\x34\x23\x42\xd7\x6b\x4a\x73\xd0\xb7\x9b\xbd\xfe\xfa\xd5\xe5\xd5\xd7\x37\x57\xfa\xa9\xc8\xa6\x8f\x1e\x0d\xf4\x6c\x4b\x25\xaa\x42\x0d\xce\x1f\x3d\xaa\xab\xd9\x54\xa8\x92\xb5\xc3\x81\xfe\x27\x24\xd5\x96\x83\x31\x81\xbf\xde\x3a\xc5\xff\x1b\xda\xd0\x05\x13\xf6\x83\x60\xd8\x41\xfb\xf7\xb6\x18\x84\x62\x1c\xfc\x36\xd7\x1f\x71\x11\xff\xc0\x76\xf0\xfc\xf5\xbf\x5c\xb7\x7a\x85\xa4\xff\x21\xd3\x54\x48\xd0\x6d\x06\xc6\x1a\x5f\x29\xe0\xb7\xfe\x37\xc8\xba\xd1\xad\xab\x4f\xac\xcb\xc5\x1f\x34\xfc\xed\x2d\x64\xc7\xb2\xea\x0a\xde\x48\x25\xd6\x90\xac\xc6\xc6\x31\xdd\x9a\xa5\x26\x45\x4d\xa5\x7b\xbb\x3f\xf3\xbf\xb7\x6b\xbd\x9b\x15\x5f\x30\xb0\x8c\xe4\xdc\x25\xc6\x24\x1c\x01\xbc\x97\x6d\xf3\x4f\x4f\x4f\x21\xe5\xa5\x26\x8e\x06\x16\xcc\xe5\x6a\x0c\x03\x7c\xd5\xa2\xca\xda\xb6\x66\xb7\x37\xad\x2b\xb5\x0b\x74\x53\x02\x41\xa0\x69\x90\xbc\x01\xae\xba\x49\xcd\x36\xac\xf6\xbd\x45\x96\x27\xc3\x3d\x63\x70\xbf\x31\xad\x0b\xda\x7e\x50\x7b\xda\x54\xf8\x9a\xb7\x36\x0a\xc9\xc5\xd8\x3c\xf9\xcd\xe9\x17\x6c\xe1\x70\x9e\xd1\x30\x64\x3b\x0a\xee\x21\x6e\xc2\xa7\x84\xfc\x9e\x6f\xd9\x86\x89\xb1\xc1\xc7\xa9\x56\x54\xec\x02\xec\x71\x50\xe0\xb5\x82\xa9\xe1\xc8\xaa\x14\x21\x1f\xa0\x24\xdf\xde\x6a\x5a\x4c\x16\xb4\xd5\xd2\xee\x5f\xd7\x68\x8a\x02\xa5\x43\xb3\xe1\x77\xc6\x2f\x8b\xb6\xfa\x1e\x10\x80\xf4\x94\x8e\x36\xf2\x62\x84\xa9\x26\x5b\x2a\xc9\x92\xd1\x4d\x05\x09\xcc\xe6\x35\x50\x85\x13\x76\xc9\xc5\x8e\xbc\xa1\x45\x41\x85\xe0\x0d\x1b\x48\xf2\x52\xd0\x15\x9b\xad\xe7\x73\x26\xe2\x5d\x70\x7b\xfd\xe2\x7a\x28\x16\x55\x53\xd2\xd1\x19\x01\xdb\x2e\x3a\x1b\x24\xd8\x22\x56\x5f\x03\x61\xf2\x22\xc8\x2a\x24\xcd\x50\xa9\x30\x59\x75\x64\x5b\xd3\x9d\x2e\xbc\xad\x0a\x80\x50\xda\xea\xad\x40\xa5\x66\xcd\x4d\x49\x05\xa4\xa5\xa8\x9a\x80\x82\x55\xe3\xe0\x65\x67\x5a\x80\xcd\xfc\xff\xfe\x81\x0c\xf5\x2c\x99\x60\xba\x9d\x59\xa1\x20\xa5\x11\x53\x72\xb4\x2f\x27\x62\x2b\xb8\xe6\x1b\xaf\x4a\x82\x27\x56\xef\x76\x77\x52\x89\xf9\x4a\x1a\x0a\xe6\x3c\x84\x02\xb4\x59\x11\xcd\x2e\x2e\xc7\xd6\xdb\x07\xba\x37\x30\x7f\x44\x39\x82\xdc\x6a\x25\xb9\x0d\x5d\xeb\xa1\x1c\x64\x7f\x8b\xb0\x93\x4f\x4e\xc8\xed\x96\xdb\x0b\xa6\x6a\xf4\x64\x15\x81\xde\xd2\x6c\x37\x3c\x7e\xef\xe3\xec\x5f\xf0\x5b\xa0\xea\x81\x9b\xab\xa1\x8a\xed\x2f\xed\x4d\xea\x8f\x8d\xf5\xee\xb1\x4f\x43\x1e\xdd\xb3\x3e\x30\x2f\xec\x44\x48\xa1\xe6\x5a\x0c\x68\xb8\x35\x45\x84\x97\x65\xf5\xa3\x9e\x5b\xac\xf4\x1c\xb6\xa0\xb4\xfa\xcb\x0d\x83\xbc\x8a\x3f\x32\xdc\x44\xd6\x56\x5a\x56\x05\x68\xe0\xd0\x15\xac\xd5\x97\x8c\xc9\xdb\x39\x25\xe4\x05\x3a\x47\x62\x62\x3f\xd4\xee\x1a\x90\xe3\x2d\x07\xd5\x62\x59\x49\xba\x10\x0c\x8c\xab\x27\x27\xe4\x59\x2d\x39\x16\xa8\x1a\x5a\xa8\x6a\x63\x7b\xa6\x45\x5c\x4d\x04\x63\xf4\xf1\xbe\x67\xa5\xc1\x4f\xaa\x20\xa2\x19\x12\xb2\xc0\xd1\x84\x8a\x48\x30\x3b\x47\x37\xd9\x9c\x6c\xa7\x28\x2b\x06\xce\x0b\xd6\xdf\x58\x80\x6d\x10\x43\x37\xd7\xd2\x1c\x32\x73\x78\x88\x4a\x52\x83\x4c\xe3\xbb\x5f\xf3\xe3\xce\xa2\x9a\xdf\xe1\xd1\x96\xe6\x9d\x80\x0a\x53\xb9\x9e\xc9\x42\x54\x33\x36\xf4\xb9\x9d\x8c\xbe\xd1\xe8\xde\xa7\xb3\xca\x38\x67\x8f\x0e\x92\x70\x8e\x92\x91\x57\xda\x83\x48\x58\xc9\xdd\x50\x40\x89\xf6\x20\x01\xa7\xc1\x0e\x74\xa5\x61\xad\x70\xba\xcb\x6a\x63\xae\x09\x9b\xd2\x03\x45\x6a\x2b\xfb\x84\x59\xdb\xd2\xd3\xd8\x49\x89\x1f\xd0\x60\x81\x73\xa8\xde\x92\xc8\x12\x7c\xfc\xed\xa2\xe6\x33\x7d\x81\x68\x42\x8e\x08\xdc\x70\x01\xa4\xa9\xbf\x11\xf5\x4b\xc0\x5d\x8a\x88\xef\x5f\xcd\x8d\xef\x42\x33\x50\x90\x79\xda\x9e\x0d\x89\x4e\x2f\x60\x50\xa5\x9e\xf8\x8e\x29\xb4\xce\x08\x36\x91\x0c\xbc\x1e\x4b\x56\x70\x01\x49\x7d\xfd\x38\x6d\x58\x1c\xb9\x30\x56\x42\xf7\x53\x38\x6e\x9f\x69\x01\xfd\x19\x8c\xdf\x59\xa8\xc6\x87\x34\x72\x51\x16\x72\x5a\x96\x82\x49\xb0\x72\x25\xfb\x75\x46\x8b\x3b\x8b\x89\xf6\xfd\x0f\xb6\xa1\x1b\xf4\xdc\xa0\x33\xa2\x1f\x1b\x7e\x8f\x2b\x3a\x83\x17\x52\x5c\x1a\x50\xd0\x94\xa0\xc5\x9d\x66\x2f\xdb\x25\x4a\x2a\x86\x17\x7b\x2a\xd8\x61\xc8\xd4\xcd\x04\x95\xac\x3c\x77\x7e\xc2\xb7\xcf\x2f\x4d\x86\xa4\x9a\x51\x60\x41\xb5\xaf\x17\xf0\x78\x2a\x98\x9e\x73\xc1\xa4\xe2\x02\x23\x05\xac\x9d\x0c\x38\x03\x78\x1c\x33\x9f\xf7\xca\x54\xbc\x35\xdd\xd6\x1b\x53\xac\x59\x38\x9d\xdf\xde\xa2\x9b\x5e\xc0\x1b\x13\xc8\x41\x38\xe4\x44\x0b\xd0\x2e\x52\x1e\x8c\x15\x5a\x70\x80\x2e\x83\xe4\xe2\x9c\x54\xe1\x99\xd8\x94\x81\x1d\xb8\xe0\xab\x15\x6d\x4a\x3f\x8b\x1b\xf3\xc0\xb8\xe5\x6d\x98\x72\x3b\xfa\x86\x3a\xf3\xdc\xc6\x7f\xf1\xea\x5b\xa7\x69\xb1\x52\xa4\x65\x48\xd8\x97\x69\x10\x7c\x2f\xb9\xb0\xa1\xe3\x29\x21\x17\x88\x8e\x03\x90\x4b\x2d\x01\xd9\x39\x48\x4f\x21\x16\xba\xd1\x65\xde\xbb\x64\x79\xf6\x6a\x0d\xbf\x4e\x9f\xbf\xbe\xbe\xfc\x43\xb6\x1d\x2d\xfe\xdb\x06\xb2\x3d\xbd\xd4\x25\xd2\xae\x5e\x62\xf7\x66\x75\xd5\xdc\x11\xde\x9c\xe8\x8d\x0e\xd0\x88\xfa\x1c\xad\xe4\x18\x2c\x7f\x5b\x51\x29\xc5\x1a\x2d\x60\x69\x11\x42\x3f\xff\x0a\xb8\x1d\x76\x5a\x52\xaa\x39\x2d\x21\x85\x72\xd8\xd8\x73\x4d\xf0\x52\x13\x82\xdd\xfc\xf4\xf4\x74\x4c\x9e\x9e\x9e\xba\x5d\xfd\x56\xb0\xc9\x0c\xde\x3a\xbc\xb9\xf4\x35\xde\x5b\x8b\x96\x4d\xc1\x86\x88\x3b\xd6\xb7\xb8\xe4\x46\x7b\xc0\x05\x61\xd4\x5e\x9b\x66\x8a\x4d\xef\xf5\xb3\xac\x2a\x8c\xe1\x18\x7a\xb4\xda\x5d\xc7\x6d\x78\x0e\x1a\xfc\x9a\x67\xa4\x92\x99\x21\x63\x96\x16\x48\xa7\x92\xeb\x99\x60\xd4\xf8\xe3\xa1\x40\xa0\x8f\x10\x5d\x30\x30\x93\x19\x07\x2d\x5a\x2c\x09\x5f\xab\x76\x8d\xf6\xbc\x3b\xb6\x93\x4a\xf0\x3b\x16\x02\x85\x54\x4d\xa5\x2a\x5a\x57\x3f\xa2\x38\x6b\xe0\x28\xad\xd0\xb6\xc2\xf7\x95\x1b\x98\x66\x2f\x0b\xf0\xd0\x4a\xd6\xd6\x7c\x9f\x73\xc1\xf6\x7d\xc7\x53\x74\xdd\x5c\x43\xaf\x7a\x3f\xff\xc1\xf6\xb4\xa7\x04\xbc\xc8\x9f\x09\xc1\xb7\xba\x64\xe7\x30\x88\x35\x43\x8b\xa4\x75\x81\x75\xc6\x64\xd4\x1f\xa0\xc2\x48\x30\x2d\x1a\x18\x71\x80\xd6\x35\xdf\xda\x99\x74\xfa\xd6\x80\xef\x30\xaa\xde\xe8\xca\xef\xa0\x16\xa2\xa1\xd0\x5a\x7a\xe6\x63\x2f\x98\x19\xab\x6b\xfd\x24\x6f\xfc\x06\xd5\x3f\x3d\x5b\x97\x15\x3f\x9c\xd8\x97\xea\x62\x03\x7f\x1b\xfb\xaa\x51\x5e\x5f\xfd\xf3\x04\xcb\xe6\x8a\x4a\xe6\x9f\xaf\xc3\x41\x2b\x98\x3e\x31\xfa\x19\x4b\xd7\x8a\x0f\xdc\x6e\x7b\xa6\xd9\x72\xd4\x6f\xcd\x39\xe7\x5a\x22\x84\xcc\x69\xfe\x5a\x02\x2e\xbf\x60\x0d\xd3\x97\x5c\x49\x86\x5a\x88\xb3\x10\xa3\x55\xbd\x33\xc2\xda\x92\x6f\x9b\x51\x34\xea\xaf\x03\x7a\xaf\x2b\xa9\xe2\x8b\xe6\x3b\x73\xb5\x6c\x19\xb6\xd2\xea\xbe\x48\xa9\x79\x77\x20\xa1\x45\x7d\x0a\x96\x44\xde\x29\xde\x86\x0d\x3c\x67\x26\x22\x29\x5c\x97\xcb\x98\x9d\xe3\x65\xea\x5e\x9a\xc6\xa7\x11\x4c\xcb\x2f\xae\x2e\x6f\x2e\xfd\x75\xaa\x3f\x18\xcd\x43\x90\xe2\x26\xe1\x81\xa0\x82\x9b\x55\x4a\x3a\xd6\xdd\xe1\xb4\xdc\xd3\xf0\x42\xa4\x21\x1c\x3c\x0d\x4c\xda\x28\xb0\xd9\xbb\x8c\x85\x90\x9f\x59\x5f\xa1\xd3\x4e\x72\xaa\x4e\x97\xbe\xbd\x4d\x5f\xbd\xfe\x95\x1c\x9c\xe0\x8d\x8a\x3a\xf2\xed\x6d\x57\x92\xbb\x33\x1a\x18\xcb\x19\x5d\x5d\xf7\x21\xa4\x60\xf5\x35\x31\x9d\xdf\xc1\x5e\xa9\xc9\xab\x6b\xe3\x6c\x43\x8b\x48\xf3\x64\x02\x81\x41\x86\xab\x44\x89\xe9\x33\x99\x84\x95\xe0\x6b\x45\xd8\xbd\x5e\x31\x9b\x2b\x13\xd1\xb5\xc1\x80\xe5\xf6\xab\x4b\x8b\x6f\xc2\x6f\x79\xd4\x2b\x77\x95\xbd\xba\x4e\x06\x68\x98\x03\x70\x82\x49\x51\x57\xc5\xdd\xa4\x14\x74\x11\x7b\xcb\xe7\x97\x92\x35\x5a\xe2\x02\x36\xf0\x42\xd0\x85\x09\xde\x0b\x84\x10\xbc\x8e\x78\xbb\xbb\x6e\x0c\x34\x49\xc2\xbe\xa0\xd5\x77\x7a\x7d\x2f\x75\xcb\x20\x86\x67\xcb\xc0\x97\xe7\x6b\xa5\x00\x67\x21\xe4\x6e\xf6\xd0\x18\x10\x52\x80\x9d\xb2\x81\x0c\x20\x66\xa2\x5f\xcc\x8c\x2d\xe9\xa6\x0a\xae\x64\xdd\x69\x2c\xf7\x1d\x14\xb3\xbe\x29\xee\xb0\x60\xe7\xf5\x6e\x73\x96\xba\x67\x5a\x9e\xb3\x4f\x80\x68\x90\x82\xc1\x9d\xa1\x5f\x5e\xef\x87\xbf\x3e\x1d\x93\x2f\xff\x67\xe8\xff\x60\x5d\x6d\xac\xa4\x16\xe5\x97\x62\xea\x2d\xbe\xcb\xe3\x77\x3b\x64\xf7\xb6\x2f\xfe\x9c\xa1\x37\x34\x4f\x38\x3f\x68\xb3\x46\xef\x18\x2d\x77\xc3\xd1\x39\xf9\x10\x3f\x6a\x42\xa4\x25\x83\x12\x14\x09\x48\x32\xa7\x5a\x08\xe5\x1f\x7d\xce\x1e\x11\x02\x52\xd0\x19\x19\xc0\x7f\xa1\x77\xcf\xaf\x9e\xbd\xd1\x3f\x5c\x3d\x7b\x03\x7f\x7f\xf3\xf5\x8b\xab\x77\x10\x05\x40\x06\xee\xdf\x83\x9c\x7b\x53\x7a\x29\x05\xa6\x07\xe4\x75\x9a\x23\xd9\x68\xad\xf0\xe1\xe2\x50\xac\x35\xb3\x59\x4b\x16\x3a\x9b\xf9\x72\xf6\x42\xa7\xce\x71\x21\x48\xe8\x87\xca\x37\xec\x01\x3e\x77\x48\x60\xd3\x7b\x64\x02\x05\x3a\x59\xfe\xb2\xb3\x14\xf9\xab\x87\xeb\x90\x84\x25\x87\x1e\x4f\x2f\x82\x57\x04\x7a\xde\xcd\xc9\xaf\xbd\xf7\xe5\x3d\xb4\xb0\xbf\x31\x45\x67\xdf\x99\xe4\x9c\xbf\xee\x42\x01\x65\x54\x4e\x5d\x40\x29\x7d\x1d\xc6\xb3\xdb\x06\x6e\xeb\x31\x26\x55\xa8\xb7\xb2\xa9\xe6\xa8\x94\xbc\x00\xdd\xa1\x7e\x62\x03\xbb\x55\x61\xc3\xd6\x15\xd7\xc3\x08\xb2\xed\x9e\x8e\xa5\xca\x34\x7f\x24\x00\xce\x97\x7a\x57\xaa\x0c\x0d\x42\x5e\x72\xb1\xd5\x5c\x59\xd6\x54\x2e\xad\x46\x2d\x54\x1a\x1a\xd8\x2a\xc4\xa4\x29\xbd\xc7\x3f\xa8\xe2\xc2\x0e\xd8\x55\x43\x7d\x9e\x5e\x7a\x2d\xf0\x79\x75\x9e\xfb\x05\xe0\x6c\x37\xfc\x8e\xf9\x8d\x6a\xfa\x63\xdb\x57\x82\x36\x16\x63\x45\x3a\xcd\xf4\x81\xa5\xf5\xac\x21\xdc\x42\x6e\x3a\xc6\x51\xb7\xfa\xf4\x7c\xee\x8f\xa9\x40\x5c\xc7\xe1\xc9\x9f\x4e\x4e\x16\x63\x32\x18\x04\xa1\x73\x5e\x8b\xa8\x2c\x00\x78\x88\xb3\x35\x97\x21\x2e\x15\xfe\x30\x2d\x19\xe8\xa6\xe0\x9d\x1f\x25\x79\x9b\x27\xd7\x7b\xc7\x40\x31\x4c\xba\x19\x44\xc3\x22\x69\x5a\x96\xd7\x33\xb0\xef\x08\x39\xd4\xec\x7e\x6c\x4c\xb0\x03\x5a\xab\xc9\x42\x4c\xb4\xa4\x31\x38\xf3\x93\xb2\x89\x91\xbe\x37\x00\xf7\xb8\xae\xeb\xd0\x2d\x17\x20\x11\xe9\xa6\x5a\x50\xc5\xc5\xb4\xa6\xcd\x62\x4d\x17\x2c\xb6\x82\xeb\x7a\x03\xd6\x4c\xd6\x72\x10\x56\x25\x64\xa3\xa5\xcd\x86\x37\x6c\xe0\x3d\xac\x13\xa7\x0e\x57\x0c\x2c\x54\x13\x5a\xab\xb0\xec\xa3\xa8\x0e\x4c\xee\xae\x65\x7c\x4e\xa0\xaf\x03\xdc\xec\x51\xa3\x9a\xd6\xa6\x6b\xa4\xcf\xb6\xdc\xed\xde\x87\xd0\x75\xf9\xb3\x93\xff\x1c\xea\xaf\x3f\x81\xe7\x03\xad\xd5\x4f\x35\x9b\x43\x17\x7f\x72\x9d\x1d\xfd\xcb\xc9\x54\x31\xa9\x86\x9b\xd1\x28\x4b\xd7\xfa\xe4\xd9\x8d\x6a\xe5\x9f\x29\xad\xd5\xef\xc4\x1b\x84\x42\xdb\x58\x53\xf5\x23\xbf\x5e\x7a\x7b\xca\x96\x16\x6c\x52\xc9\xc9\x8a\x29\xea\x7f\xe9\x59\xc3\x6c\x1b\xcf\x6d\xa5\x57\xf2\x0d\x53\xd4\xfd\xd9\xd3\xaa\x69\xeb\x21\x2d\x20\xe1\x1e\x7a\x92\x35\xa5\x9c\x6c\x97\x54\xed\xd9\x78\x7a\xa2\x51\xee\xfc\xe9\xd7\x93\x59\xa5\x7e\x32\x2e\xc1\x93\x3b\xb6\xeb\x9f\x60\xac\x71\x60\x8a\x6f\x74\xfb\xdf\x69\x99\x31\xd3\xbf\x75\xa9\xef\xf2\x09\x3c\x84\xe0\xb5\xd5\xd3\x47\x7d\xd8\xa9\xd8\xc1\xce\x82\x3b\x66\x78\xf2\x9f\x75\x35\x9b\x58\xab\xe4\xd9\xf0\x4f\x37\x4f\x46\x27\x91\xb3\x3c\x15\xbb\x28\x84\xc1\x76\xae\xf7\x85\x25\x45\x91\x95\x58\x7a\xfe\x17\x5a\x45\xa7\x0b\xa6\x5e\x50\x45\xbf\x11\xb5\x6e\xf7\xfb\xa7\x3f\x8c\xfa\x37\xfd\x91\x3d\x21\x9b\x51\xec\x27\xef\xa6\xcd\xbc\x9a\x26\xe1\x9b\x0a\xe6\x70\x2f\x6b\xf9\xfc\x73\x12\xbe\xb3\xb2\x73\xd3\xff\x1e\x8b\xe6\x25\xfc\x3e\x0d\xde\x7b\x17\x9a\x25\x2c\x04\x6d\x14\x2b\x03\x26\x82\x2e\x41\x87\xda\x88\x19\xd7\xc9\x89\x6e\x85\x9d\xf9\x54\xfd\xe0\x09\x1e\xb5\x6c\xf0\x21\xdf\xfa\x0e\x80\xc6\xd8\x24\xee\x8f\x89\x99\xb0\x5d\x5d\x05\x02\xe9\x11\x7a\xd2\x27\xac\x12\x4c\x6a\x89\x86\xcf\x09\xc5\xd8\x7a\x4c\xdc\x4f\x86\xe0\xe8\x4f\x25\xa1\x4d\x4c\x90\x37\xf0\xec\xb0\xcf\xab\x11\xca\x64\xfa\x22\x20\x75\x25\x95\x7e\x39\xa1\xf6\x47\xac\x33\xd9\x98\x03\x4a\x31\xd9\x67\x10\x1d\xc7\xe7\x64\xcb\xc5\x1d\xa8\x2d\x6d\x4a\x0d\x2d\xf6\x58\xf0\xe2\xe0\x61\x4d\x49\x59\xd1\x9a\x2f\x1c\x42\x6c\x48\xcd\x5d\x90\x20\xc3\x50\xf2\x18\x9f\x4a\x8a\x4f\xcc\xdc\x4d\xfc\xea\x3d\x26\x33\x78\xa9\x84\xbd\xb3\xa0\xc6\x5b\x2a\x9a\x61\xff\xbe\x03\x43\xa4\x7e\x92\x39\xbc\x6b\x30\x10\x81\x3a\x60\xd0\x9f\xdd\x7a\x70\x8c\xaa\x60\x30\xea\xbd\x8d\x1e\xb4\x81\xed\x1b\x29\x7b\xa2\xbc\x46\x6c\x02\x0a\xd1\x43\xdc\x57\x32\x60\xeb\x81\x92\x6c\xb8\x19\x9d\xf7\xd2\xac\x56\x74\x71\xf0\xce\x88\x6c\x3e\x21\xfd\x57\xba\xf6\x5e\xfa\x60\x9b\xfa\x58\xf2\x60\x77\xdb\x47\xdd\x6a\x5d\x3e\xba\x85\xb7\x86\x40\xbe\x15\xbc\x62\xf1\x9a\x7a\xf8\x05\xeb\x6a\xc0\x3d\xb3\xef\x72\x75\xb2\xf4\x64\x45\xdb\x89\x7d\xb7\xc9\x7d\xb7\xa2\x17\xc8\xf4\xb3\x76\xe3\xac\xcc\x7c\x4e\xae\x41\x71\x31\xca\xc1\xab\xe3\x61\x79\x1b\x3d\x24\x82\x96\x21\x6d\xb5\xd3\xce\x59\x5b\x6a\xd3\x7f\x50\x06\xa8\x24\x39\xd3\x25\x82\x4b\x21\x8c\x0c\x20\x11\x24\xbb\x9d\xa4\x8d\xf2\x71\xe4\x6f\x68\x6b\xa2\x1d\xbc\x38\xd6\x5f\x50\x32\x75\x6d\x27\xa8\xbb\x6a\xf8\xb0\x9e\x80\xf2\xff\x88\x93\x12\x68\xcb\x87\x9f\x7d\xb6\x97\xda\x04\x6c\x08\x3d\x34\xed\x45\x16\xac\xc2\x33\x21\xe8\x8e\x7c\xfe\x79\x34\x71\x56\x40\xfd\xfe\xf4\x07\x90\x51\xd1\x3b\x66\xd0\x5b\xec\x69\x54\x2c\xbe\x86\x54\xac\x4c\x88\xcd\x13\x9b\x8e\x4c\xdd\x91\x8f\x1f\x4e\xf4\xfb\xcd\x98\x6c\x7e\xd8\x2b\xad\x9f\x9c\x90\x97\x54\x2a\x63\x7d\xf1\xd6\x7f\xda\x10\x26\x04\x17\xd3\xa3\xdb\x0a\xec\x2b\xae\xbd\xec\xea\x1c\xcb\x15\x2f\xbd\xc9\x28\xb3\x6f\xf4\xcf\x93\x96\xd6\x4c\x29\xf6\x89\x4e\x60\xe7\x67\xd8\x12\x47\x9e\xcb\x7c\x7f\x82\x33\x49\x61\x7f\x71\xf1\xe9\x0e\xa7\x77\xb9\xc3\xff\xbc\xc5\xd6\xc9\x45\xf8\x45\x2a\x5e\xdc\x5d\x06\x9f\xa7\x05\x6f\x0a\x6a\x91\x0a\xdd\x51\x08\x47\xe9\xd2\xea\xdc\xb1\x9d\x96\x05\x36\xc9\x43\x90\x0a\x52\xe9\x77\x35\x15\x92\xbd\x6a\xd4\x50\x4b\xf6\xe7\x41\x01\x4d\xb0\x92\x5f\xd3\xaf\x87\xd5\x48\x4f\x6a\x45\xbe\x22\xa7\xf8\x8f\xdf\x90\x2f\x7f\xf5\xab\x98\x5c\x9c\xef\x60\xf0\xaa\xd9\xd0\xba\x2a\x09\xba\x05\x57\x0d\x31\x93\x8a\xd3\xa2\x7b\xf4\x84\x0c\xcc\x1c\x7d\x7f\xc7\x76\x3f\x44\x4d\xa7\x29\x0b\x92\x29\x73\xc3\xfd\xbe\xfa\x21\xed\x05\x24\x01\x5a\xcc\xe2\xe9\x6b\xb8\x58\x81\x62\xf3\xf2\xe6\x06\x6b\xc5\xad\x69\x62\x62\x31\x1b\x25\x2b\xda\xb3\x34\xdf\x57\x80\x84\xbe\x98\xc5\x9d\x4b\xff\xd5\x65\xbf\xb1\xf3\x0f\x84\x29\x78\x77\x44\xe4\xc5\xe1\x1a\x67\xf8\x72\xea\x97\x74\x34\x8d\xe0\xc8\xb5\xbb\x09\x6f\x26\x68\x0d\x3b\x74\x80\x13\xa5\xf7\x67\x9f\xa5\x77\xe8\x5a\xb2\x89\x51\xee\x4e\x50\x4f\x3d\xd1\x75\x0e\xd1\xed\xd1\x5a\x77\xe9\x83\xe2\x7a\xe2\x4c\x77\x13\x70\x45\x38\xaa\x89\x7e\x95\x77\xa6\x15\x25\xea\x49\x5b\xaf\xe5\x64\x55\x35\x6b\x39\xf9\x91\x09\x3e\xf9\x91\xf3\xd5\xd1\x52\x87\xa6\xf0\xb6\x5e\xcb\x37\xba\xfe\x7f\x30\xc1\xff\x83\x03\xec\x68\xb6\xa5\xe2\xa8\x01\x44\xb4\x2f\x4d\xdf\xb3\xf4\x36\x13\xf4\x03\x7a\x08\xc1\x6f\xad\x91\x62\xd3\xd9\x64\x89\xd8\x76\xe9\x4a\x77\x19\x38\xa3\x52\x4d\xa8\xac\x68\x33\xa1\xab\x59\xb5\x58\xf3\xb5\x9c\x50\x39\x51\x5b\xae\x6f\x88\xf5\xaa\x4f\x46\x44\x8f\xe1\xa9\x60\x0b\x2a\xca\xcb\xbf\xdc\x3d\xb3\xb5\x33\x63\x44\xfb\xcc\x04\xf4\x10\x13\xcd\x18\x04\xef\x7b\xd8\x86\x02\x0c\x56\xfb\xf5\xf3\x0a\x62\x81\x04\xaf\xb3\x4b\x6f\x88\xcf\x78\xdd\xa7\x6a\xf0\xf3\xb2\x6b\x8a\xe7\xbc\x2e\x6f\xe8\x9c\xdd\x28\x9a\x39\x5c\x01\x31\x3d\x0b\x33\xd0\x49\x1d\x22\xbb\x9f\x2b\x20\x49\xdd\xec\x33\xf9\x1c\xdd\xcb\x83\x61\x3c\x80\x35\xec\x27\xd4\x19\xc2\x51\xa2\x9c\x9e\x10\x5d\x70\xef\x6c\xb8\xc8\xe7\xc9\x56\x54\x87\x77\xa9\x5b\xb9\x4b\x5b\xef\x3b\x5d\x6d\x5f\x67\x4b\x56\x3c\xfd\xf2\x68\xba\x2f\x74\xe9\x2c\xb9\x39\x6f\xd4\x64\x4e\x57\x55\x7d\xf0\x70\xea\xa1\xbf\xe4\x8d\x7a\x09\xa5\x3b\x43\x07\x4a\x47\x3d\xc2\x98\xd2\x64\xf2\x4f\x2e\xa4\xb2\xe2\x08\x4f\xf6\xb3\xbb\x64\x7d\x38\x8e\x96\xdd\x5e\xc6\x6e\x1f\xdd\x0e\x2e\xf9\x8a\x4d\xee\xd8\x4e\x4e\x8c\x2f\xe3\xb1\x1c\x48\x57\xfc\x03\xdb\x49\x67\x6b\x4d\x97\x42\x97\xd4\x72\x6c\xb3\xe8\x93\x06\x33\x2f\x3f\x53\x01\x59\x7f\x22\x1a\x7d\xb6\x19\x75\x24\xb1\x44\xae\x3c\xee\x31\x07\x02\xf5\x70\x70\xa5\xff\xa3\x05\x9b\xa0\xa7\x81\x1d\xe7\x8c\x5c\x01\x80\x16\x2b\x8d\x45\x7b\x70\xc4\x33\x4d\xec\x72\x1a\x8c\xee\xf8\x68\x59\x3e\x37\xff\x1e\x06\x3a\x41\x52\x50\xc4\x1e\xba\xff\x39\xfd\xd6\x22\x59\x90\x89\x2a\x91\xfe\x57\xf4\x7e\x82\x2a\xfe\x89\xf5\x47\x38\xe2\xe0\xad\xe8\x3d\x86\xf5\xdd\x58\x1f\x86\xee\x8a\x43\x82\x66\xdc\x4c\x54\xb0\xc9\x5c\xff\xeb\xe8\xa5\x87\xca\x7a\x43\x3d\x13\xec\xa5\xfe\x6f\xb6\x01\x45\x8d\x56\xc1\xe8\xa9\x8f\xa7\xae\x28\x68\x13\xae\xd0\x13\x23\x43\x1b\xdc\x0e\xd0\x04\x81\x1a\xb5\xa3\x6e\xe4\x1e\xbf\x81\x3c\x75\xa0\x38\x41\x95\xdc\x31\xbc\xe0\x4d\xe2\x70\xd0\xe1\x08\x2d\x5d\x7c\xdc\xe9\xd5\x15\xf7\x9e\xde\x96\x4a\x39\xa1\xb5\x9a\x98\xd7\xee\x03\x0d\x5c\x5a\x86\xe7\xf2\xde\x7b\xd8\x7a\x6b\xd7\x5a\x32\xf1\x6c\xc1\x1a\x65\xb5\xfe\x6f\x68\x41\xae\x6f\xc8\x1f\x4f\xfc\x71\x87\xf7\xf0\x6b\xa6\xc8\xb3\x5a\x4d\x9e\x4e\xa7\xff\x6e\xc0\x1b\x79\x04\xe6\x3b\x54\x9c\x18\x61\x02\x9d\x58\x01\xb9\x0b\x92\x7f\xf0\x26\xa4\xd4\xf0\x66\xa2\x5b\x20\x72\x27\x15\x03\x57\x46\xc8\x32\x04\x36\x41\xfb\x34\xe4\x2d\x6b\x30\xb6\x50\x3f\x12\xdb\xd6\xf6\xdc\x8f\x89\x5c\x90\xe1\x67\x7a\x54\x9f\x7f\x6e\xcc\x89\x58\xe4\x76\xd7\x42\x72\xb3\x41\xcb\xdb\x75\x3b\x18\xf5\x6b\x6f\xf4\x28\x9e\xd5\xea\x6b\x8c\xed\xe9\x99\x75\x10\x08\xff\x6b\xa7\x5d\x0b\x8c\xff\x6c\xf3\xae\xc7\xb4\x7f\xe2\x81\xbd\xfc\xd7\x4e\xfc\x1b\xdd\x85\x9f\x3f\xf1\x9f\x68\xd2\x7f\xf6\x9c\xeb\xe1\x1c\x31\xe7\x9b\x07\xf0\x2d\x24\xfa\x6d\x86\x9e\x60\x05\xab\x36\x6c\xc2\x9a\x82\x97\xfd\xd2\x96\x11\x16\x4e\xfe\x73\xb8\x56\xf3\xc9\xaf\x7f\x12\x74\x3b\xfa\x97\x93\x91\xb3\x87\x86\xda\x88\x58\xcd\x14\x6b\x44\xe6\x5c\x90\xc7\x69\x9b\x8f\xbb\x4a\x23\xb4\xab\x42\x5b\xde\x7e\xe6\x15\x21\x59\x85\xed\x95\x21\x97\x19\xa5\x81\x99\xe6\xcd\xc4\x79\x0d\x1f\xa7\xc4\x4f\x9c\x77\xfb\xe9\xa2\x63\xf2\xb1\x44\xbd\xc3\x70\x9e\xe2\x8c\x8a\x89\xf1\x9a\x3f\x42\x5e\x4d\xe3\x9f\xbb\x02\x6b\x08\xb3\x3d\x59\xd1\x1d\xc8\x03\x13\x2a\x04\xdf\x4e\x8e\x11\x38\xfa\xfc\x94\x7b\xe6\xc3\xb4\xc3\x37\x6c\xe2\x43\x8b\x8f\x1e\x48\x37\xb2\x39\x33\x20\xdd\xff\xbf\xe7\x9e\x8d\x1a\xfc\x19\x1b\xd6\x2b\x23\x8e\xd9\xb6\xcb\x6a\xae\x26\x18\xb9\xf3\x40\x5d\x07\x54\xc5\x8c\xba\x7d\xe2\x95\xad\x74\x68\x1e\xc3\xc3\x26\x99\xb2\xfd\xed\x2e\x8a\x66\xda\x93\x42\x1e\xb9\x9b\x9c\xa2\xe5\x1b\xc9\xc4\xa5\x94\xdf\x88\xba\x9f\xe4\x44\xbf\xea\x3f\x8e\x2e\xc0\x9d\x74\x08\x6f\xb9\x28\x27\x00\xb7\x37\x81\x1b\x66\x52\xb3\xf9\x43\x55\x16\x9a\xc6\x73\x4d\xe2\x8d\xa6\xf0\x9a\xcd\x55\x56\xaf\xd4\xd1\x50\xec\xab\xd7\xdf\xc1\x8f\x51\xaa\xc4\x2d\xbd\x33\xda\x8f\x07\x77\x31\xa9\xd8\xdf\xc7\x55\x55\x96\x87\x59\xd6\xde\x4e\xbe\x01\x12\x1f\xd3\xcb\xb4\xe6\x87\xf1\x23\x02\xd8\x1d\x89\x73\x9a\x60\xb4\xbc\xc1\xf0\x92\x2e\x46\x48\x58\x10\xec\xef\xbb\x67\x75\xed\xde\xd4\x9a\xa3\x44\x4e\x7b\xa6\x8b\xe1\x6f\x06\x6c\xa9\xeb\xb8\x1b\xa7\xa0\x91\x89\x07\xa4\xb4\xd1\x29\xe8\xc1\x8a\x18\x7a\xcd\xbc\x5a\x60\x50\x57\x1a\x7d\xf8\x45\x04\x61\xde\xe3\xa7\xf7\x61\xbf\x7f\xe2\x82\xa9\xb7\x10\x9b\xd3\x97\x77\x27\x98\x8c\x38\x99\x30\x28\x94\xb4\x88\x64\xc1\x29\x67\x82\x16\x77\x4c\x3f\xfb\x11\xb1\x64\xc5\xcb\x8e\x3f\xe8\x8c\xf3\x9a\xd1\xe6\x83\x41\xda\xb8\x5d\x32\xc3\x60\x15\x27\x18\x16\x77\xc0\x99\xf2\xb9\x6d\xc4\x72\xb4\x5e\x94\x0f\x1b\xa5\x30\x9d\xa5\x55\xa0\x64\x16\x92\x04\x03\xc0\xac\xb7\xac\x8b\x00\xb3\x68\x85\x3b\xbe\x0e\xa0\x55\x24\x53\x36\xd6\xa6\x65\x42\x56\x52\x8d\x01\xc0\xb8\xf2\x10\xf9\x38\x6f\x63\x22\xa8\x81\x46\xa0\x98\xfc\x18\x9d\x68\x9d\x57\x72\x9f\xd7\x2c\x76\xe7\xd6\x75\xec\xd8\x49\x0a\x0c\x8f\xe1\x0c\x01\x91\x38\xf3\x6d\x18\xd2\x06\x9f\xcf\x33\x91\x79\x06\x28\x25\x89\x94\x3a\xa6\x06\x17\x25\x13\x49\xe9\x7c\x22\xa6\x24\xd4\x0f\xc7\x4b\x01\x6c\x15\x41\x91\xa2\xbd\x6e\x26\xe8\xe0\xd6\xee\x99\x88\xee\x06\x0f\xa7\xe2\xc0\x36\xc7\x80\x2b\xcc\x03\x05\xb9\xab\x03\x00\xb2\x26\x8d\xb2\xf8\xb4\x9b\xff\xc6\x27\xe3\xd7\x5d\x29\xf7\x6d\xff\xbe\xc8\x8e\xfe\xcd\xef\xd7\x17\xa7\xff\xbf\xe1\xc6\x7f\xde\xd9\xa2\xbd\x9b\x3f\x13\xf7\xd7\x67\x35\xc5\xaa\xe7\x79\x30\x85\xd4\xd6\xe0\x23\x45\xa4\x05\x58\xcb\xc6\x11\x8e\xf3\xdd\xe8\xc7\x61\xf8\xc5\x1a\xea\x75\x55\x42\xcd\xb7\x1d\xfd\xfe\x73\xeb\x83\xee\xfa\x76\x51\xa3\x58\x53\x9a\x5b\x0d\x4e\x90\xc3\xe3\x40\xe8\x97\x7c\xb4\x2a\x44\x4d\xb1\x20\x5c\xca\xa2\x07\xcb\xf7\x3e\x5e\xea\x8b\x8f\x62\x0e\x7b\x36\x4b\x97\x41\xa4\xd3\x97\x3d\x41\x7e\xea\xff\xdb\x9e\xa0\xc4\xee\xb1\xef\x04\x65\x22\x63\xff\xff\x13\x94\xb3\x1d\x3d\xf0\x04\xf5\xee\xa2\x7f\xb8\x13\xb4\x67\xb3\x74\x4f\x50\x3a\xab\x31\x4e\x36\xc4\x0c\x13\x0a\x11\x27\xd6\x18\x85\x0e\xc8\x6e\x5e\x0c\x4a\x01\xb8\x16\x8b\x75\xa3\x0f\x8b\xf1\xe4\x85\xb0\x26\x88\x62\x12\x0b\x04\xb4\xf0\x42\x43\x3e\x18\xc8\xd0\xba\x04\x28\x24\x3c\x25\x31\xf2\x55\xb7\xdd\x69\xee\x98\x51\xb1\x40\xeb\x0e\x10\x49\x9a\xf7\xb9\x93\xb8\x05\xb3\xb2\x84\xf6\xcc\xab\x58\x37\x97\x61\xef\xa2\x13\xe8\x7f\x1f\xfb\xb6\x7d\x66\x21\xd6\x6c\x2a\xc1\x9b\x55\x80\xfe\x69\xde\x31\x0b\xa6\x86\x83\xe0\xf3\xc0\x67\xc0\x42\x17\xbd\xb0\xea\x67\x17\xd6\x95\x6b\x00\x00\x92\x21\x55\xa3\xc2\x85\xf3\x12\x37\xf7\xb7\x0f\x7d\x80\x8c\x26\x88\x14\x97\x0f\xa3\x8a\xc2\xa1\xd8\xc3\xf7\x37\x3f\xa4\xb3\x60\x66\x7f\xfa\x89\x0c\x82\x58\x84\x8a\x9f\xd9\xf8\xd8\x69\xbb\x96\xcb\xe1\xc8\x7f\x0b\x3a\x74\x16\xfe\xe1\x4b\xf0\xe6\xea\xbe\x52\x67\xe1\x9c\xfa\x9c\x4b\xf8\x3f\x00\x6f\xd4\xc4\x79\x3b\x8c\x9c\xa5\xe0\xc3\xba\x81\xed\x59\xd7\x2e\x4a\xb8\xe3\x39\x86\x08\x91\xc1\xbc\x17\x35\x97\x6c\xc2\x9b\x09\xbb\xaf\xd4\x60\x94\xfa\x5a\x19\x15\x32\x94\x1a\xe6\x3c\xbc\xc3\x9c\xbc\xb9\xc6\xc3\xf9\xd5\xfb\x27\x9b\x34\xdc\x78\xa5\x57\xf3\x38\xe3\x8a\x81\x8c\x92\x11\x2c\x19\xfe\x3a\x46\x37\x71\x64\x32\xdb\xca\x47\x67\x3a\x46\x61\x25\xda\xfd\x3b\xba\x92\x6f\x43\x86\xbf\x9f\x4d\x38\xd0\xa8\x1e\xd4\xa8\x60\x5c\xaf\x70\x2e\xa0\xe7\x69\x84\xb7\x79\xc4\x65\x1e\xcc\x3e\x66\xd2\x60\xe8\x47\x96\x02\x88\x24\x94\x8c\x21\x48\xca\xce\x23\x4c\xe8\x4b\x1b\x91\xf5\x21\xb0\xe0\x8b\x88\xee\xbe\xc1\xc7\x0b\xd6\x1d\x7c\x14\x87\xde\x59\xdf\xce\xfd\xb2\x60\xea\x85\x81\x5a\x18\x8e\xa6\x33\x5e\xee\xf4\x62\xbb\x39\xf9\xc6\x6e\xcf\x07\xcc\xca\x9e\xde\x77\x76\xfb\x43\xfb\x0f\xcc\x22\xec\xa0\x96\x95\x28\xb9\xbc\xb9\xd1\x8c\xa2\x32\x78\x3f\xf0\xe5\x6b\x90\x18\xea\x1d\x76\xb0\x92\xa8\x04\x41\xc1\xc5\x15\x96\x51\x46\x46\x88\xf7\x04\x1f\xf7\x3e\x39\x08\x42\x4d\xf1\xa5\x85\x04\x02\x49\xa8\x53\x18\x5f\x63\xd1\xbb\x8c\x4a\xc8\x18\x66\x38\x78\xd8\xe5\xa4\xf6\x6f\x2d\x62\x1c\x9b\x57\xf7\x71\x8b\xae\x93\x27\xe6\x2b\x06\xba\x1f\xf1\x8e\x97\xf2\x5b\x1a\x5d\xab\x9a\xd4\x18\x7b\xf7\x80\xe8\x2c\xa7\x9f\xc2\xf6\x2f\x06\x93\x09\x34\x3b\x19\x04\x4b\xe8\x01\x3c\xec\xbf\x0c\x84\x87\x79\xcc\x63\x24\x2b\x24\xeb\xb5\x0c\xfb\xcf\xff\xf2\x37\x4f\xf5\xc3\xbf\xfc\x4d\xf7\xee\xc3\x9f\x4d\xff\xf2\xa0\xaf\x73\x6e\xb0\xd8\xfa\x0f\xe8\xa5\xde\xbd\xa1\x73\xd0\xe9\x08\xd1\x61\xf4\x3e\x30\x0b\x61\xf1\x01\x1c\xb9\xe8\x74\xdb\xe9\x72\x89\x37\x09\xc4\x19\xec\x5c\x0f\xc0\x3f\x29\x50\xbc\xa5\xbb\xc7\xa6\x03\x6c\x71\x25\x4b\x26\x2b\x01\x82\x97\x69\x6d\x4c\x5c\x7e\xc0\x63\x44\x6a\x1c\x47\x14\x00\x7c\xef\x01\xa2\xdb\x7b\x88\x15\x33\xa9\x71\xda\xfb\xdc\xcd\xed\x9d\xaa\x46\x51\xbe\xf0\x58\xec\x34\xf3\xd5\xde\x47\xc0\x05\xb8\x8b\x86\x10\xf3\xa1\x49\x4c\x20\x2f\xb1\x45\x4e\x0b\x89\xc4\x89\xf6\x30\x7d\xf1\x13\x32\x68\xef\x07\xfb\x09\x62\x4a\xbe\x5c\xbc\xe0\x81\x26\x6c\x8a\x77\xdb\x46\xb0\x61\x7e\x67\x55\x72\xe6\xa2\xea\xac\x74\x9a\xbb\xf1\x08\x69\xb5\xbb\x0e\xd9\xfb\x27\xe4\xb5\x6e\x52\x8f\xe8\x1d\xba\xcf\xfd\x0c\x69\xda\x3a\xb0\x3d\xb8\x87\xde\xef\x2d\x73\xe4\x34\xaf\x7d\x1c\xf8\xf7\x3d\x7e\xf0\x2d\x10\xbb\xd7\xf5\x5c\x01\x99\xdd\x68\xba\x95\xdf\xcd\xc6\xd9\x70\x74\x04\x1f\xeb\x39\x0e\xce\x3b\x30\xc4\xfa\xcb\x39\xaa\x76\x26\x25\x87\x49\x12\x65\x76\xef\xba\x1d\x01\xb7\x18\xc3\x23\x63\xad\x38\x66\x3b\xd5\x42\x42\x35\x77\xb0\x41\xbb\x23\xa6\x31\xf5\x4c\xea\x4e\x26\x24\x2a\xb1\xdf\x3a\x23\xcf\xf8\x43\xa5\x92\xbc\xad\xdc\x8d\xb8\xe9\x03\x63\xc1\x1a\x28\x78\x66\x32\xac\x60\xb0\xf1\x1e\xc7\x8c\x3f\x0d\xff\xf8\xf4\xe9\xf9\x9f\xe4\x93\x20\xf2\x18\x0c\xaf\xba\xe6\x4f\x3f\x11\x8c\x02\x86\x1e\x5d\x8a\xeb\x9b\x83\xfd\x79\x7a\x8e\x09\xb8\xd0\x98\x63\x14\xae\x2e\x1e\x33\x0a\x02\xea\x23\xf1\x25\x92\x40\xab\x55\x87\xc2\x01\x43\x06\xaf\xcb\x78\x3b\x04\xce\xcd\xb8\x0f\x3a\x9b\x40\x53\x7a\xc8\x3e\x88\xf6\x68\x7e\x13\x78\xaf\xe5\xfc\x5b\xce\x3b\x6f\xbb\x09\x0f\xaa\x7c\x96\x38\xdb\x1c\xa1\x78\x89\x1a\xf4\x7f\x9c\xfb\xfa\xc7\x3b\x5a\x67\x28\x64\x76\x16\x2a\x89\xc2\xac\xfa\x21\x17\x31\x39\xbb\x32\x09\xb7\x30\x99\x4f\x5d\x3e\xa8\xe6\xc0\xce\x95\xcd\x5d\x29\xed\x22\xe8\xdd\xed\x7a\x32\x65\x7f\x5d\xd3\x5a\x0e\x2d\x7d\xbf\x9b\x7d\x05\x97\xdc\x32\x72\x19\x80\x71\x07\x28\x25\x66\x3f\x95\x67\x04\xfa\xa9\x8f\xa6\x2e\xb1\xc5\x4b\xaf\xac\x10\xcc\x36\x1b\x4d\x35\x80\x77\x08\x76\x0a\xf0\x50\xdc\xf5\x42\x2a\x79\x96\xaf\x73\xe8\x72\xf0\x09\x60\x1e\xba\x17\xfc\xc0\x8f\xd6\xad\xf5\xd6\xdf\x7f\xf2\x20\x88\x2f\x7b\xf4\xe0\x8b\x3e\x00\xc7\x1c\x2e\xe7\x98\xdf\x77\x57\x79\x21\xa6\xe1\x25\x9b\x94\x6b\x01\x21\xa8\xbd\x22\x4c\xee\xe4\x41\x98\xc0\x88\xfc\x96\x0c\x4e\xa7\xff\x5b\x42\xae\x80\xd3\x41\xfe\x0a\x46\x06\x64\x51\x9a\x00\xbb\x3e\x1a\x64\x47\x07\x68\x6d\xa7\xc7\xdc\x26\x37\x40\xef\xe0\x40\x0d\x3c\x18\x86\x30\x42\x1f\x7a\x47\xbb\x51\xc6\x3d\x17\x90\x01\xdd\x53\x7c\xa3\xa6\x6f\xae\xbf\xb9\xb9\x7a\xff\xee\xea\xed\xf5\xbb\xdb\xf7\x2f\x5e\xdd\x3c\x7b\xfe\xfa\xea\x05\xf9\x6d\xfe\x0a\x1f\x6c\xa8\x18\xda\xa7\x46\xd4\xbc\xde\x2c\xa3\x01\x39\x7b\x68\xbd\x96\x03\xf4\xda\x68\x90\xd5\xa6\x52\xc4\x09\xe3\xf3\x9c\x45\xd1\x06\x6e\xf7\xd8\xcd\xdf\xf1\xed\x25\xaf\x3f\x80\xb8\x8f\xff\x36\xca\x51\x22\x98\x81\x90\xb6\xb9\xf2\x2c\xe1\x90\xe2\xbe\x75\xa2\x1b\x66\x20\xfb\x8e\x51\x7c\x18\x53\xa4\x0d\x13\x9f\x16\x35\x6f\x52\x21\x26\xab\x3d\xbe\x57\x21\xde\xfc\xc7\x0a\xa1\x71\x9e\x80\xe3\x7a\x1c\x1f\xfd\xec\x01\xe8\xeb\x5e\xf2\x00\x8f\x29\xa1\x4e\xd5\xff\x79\xac\x0d\xa3\x7f\x0c\x31\xfd\x4c\x4a\x10\x95\x56\xdd\x33\xb6\xcc\x2a\x44\xc9\x23\xe7\x14\xb4\xc9\xb4\x6d\xeb\xca\x83\x3b\xf7\xfa\x6f\xd8\x37\xe7\xed\x7e\x7a\x07\x86\xbf\x60\xea\x3f\x38\x5f\xbd\xc4\xb6\x8f\x7e\x47\xc4\xcf\xb2\x1f\x1d\x85\x58\x49\x0f\x18\x60\x38\x8a\x4a\xd5\x3e\x5d\x87\x1d\xd3\x40\x7a\x77\xd8\xfc\xfa\x42\xb5\x5b\x47\xe0\xd8\x15\xc5\x48\xc9\x5b\xa8\x13\x2e\xa7\xfe\x01\x07\x96\xe0\x51\x4f\x95\x29\x0b\xff\x4d\x96\x0d\xa0\x99\x11\x57\x0d\x52\x6d\xd5\x3b\x03\x9a\xd9\xc7\x2a\xcc\x28\x62\x4e\x61\x0a\xeb\xc1\x38\x28\x4e\x54\x53\x68\xf2\x87\x94\xfc\x58\xaa\xcb\x17\x90\xaa\x17\x02\x05\xdf\x1a\xbb\xda\x7c\x5a\xd4\x74\xd5\x9a\x12\x53\xc1\xb7\x63\x72\x3a\x0e\xb7\x6f\xf8\xa4\x9e\x90\xa7\x4e\x52\xc2\x68\xc4\x3c\x19\xfc\x96\xa5\x84\xef\x7f\x4b\x28\x3a\x26\xce\xc7\xc4\xa1\x59\x40\x77\x90\x98\x13\x98\xa2\x26\xc8\x6f\x6c\x3f\x5c\x66\xc8\xf8\xfb\xc5\x85\x2d\xf0\xf9\xe7\xf6\x93\xcd\xcd\x13\x09\xb1\x3d\x8c\xd2\x96\x75\xc0\x8e\x89\x9c\x7f\x59\x43\x0e\x7e\xe7\xd7\x33\x90\xc4\x55\x99\xd7\x74\x71\x60\xc5\x20\xb0\x0a\x07\x7d\xed\x5b\xea\x79\x08\x1f\xe8\x9f\x41\x5f\x89\xf9\xa4\x0c\xfa\x86\x48\x8e\x3d\x87\x08\x61\xb0\x21\x1f\x00\xfc\xeb\x61\x5e\x41\x16\x02\xd2\x3b\x8e\xe8\x1f\x3a\x5e\x41\x0e\x47\x1b\x3e\x9f\x07\x29\x42\xb5\xe4\x80\xa4\x20\xa7\xe0\x87\x9c\x4e\xa4\x33\x84\x8f\x73\xdc\xe9\xf4\xb5\xcf\x71\x07\x7b\x9b\xaa\x99\x75\x67\x70\x13\x27\x98\xe1\x63\xc4\x64\xb7\x17\xfa\x37\xaf\x1c\x5c\x63\x9f\x22\x10\x77\xe6\x25\x5f\x37\xea\x08\x66\x85\x50\x8e\xa1\xe1\xdc\x56\xf6\x5a\xbf\xe0\xc7\x34\x2e\x42\xd9\xa4\x02\x46\xf3\xba\x35\x04\x07\x4f\x4f\x4f\xff\x75\x90\x7d\x4c\xf5\x55\x79\x43\xd5\x72\x5a\xb0\xaa\x8e\x0c\xdc\x87\x74\x7e\x5f\xd8\x03\x1a\xf4\xf1\x49\xa6\x2a\xde\x52\xce\xf5\x1c\x06\xfe\xf6\x7e\x64\xf4\x79\xe7\x59\x64\xd5\x80\x66\x1f\xf3\x0a\xf9\xcd\x92\x95\xeb\x9a\xdd\xec\x9a\x22\x66\x38\xef\x7b\x94\x5d\x86\xfd\xfd\xec\x05\x17\x9a\xcb\xeb\x71\xdf\x7a\xa2\x55\x63\xf3\x69\x1c\xd8\x01\xbf\x67\xc6\x59\xd6\x6d\x01\x4b\xce\xaf\xbf\x6b\xe0\xc0\xe2\x2f\x2d\xad\x07\xac\xbe\xad\x73\xdc\x9a\x9b\xd2\x5f\xf8\x31\xef\x5b\xbf\xec\x2d\x31\x76\x75\x3f\x66\xed\x5e\x30\x0b\xca\xe5\xde\x3f\x61\x7e\x96\x23\xce\x24\xa2\x8a\xba\xc4\x4f\xf8\x45\x4e\x0f\x2e\xac\xaf\x72\xc4\xc2\x86\xd3\xd0\x73\xbc\x83\x79\xc8\x1e\xf4\x38\xf5\xbc\x9f\xbf\x00\x98\xd3\xb4\x02\x67\x29\x3a\x2d\x3e\x13\xb1\x1b\x42\x86\x9c\x39\x41\x1d\x7a\xb8\x25\xdf\x0f\x83\x75\x32\x89\x34\x58\x53\x82\x45\x3e\x9e\x7b\xc5\x49\x5b\xaf\x17\x55\x13\xc0\x51\x47\xa0\xb8\xb2\x7b\x9a\x03\xda\xfb\x57\x17\xb9\x4c\xb2\xbc\x19\xcb\xcd\x76\x49\x11\x35\xdc\x82\x09\x97\xbc\x61\x19\x20\xe1\x88\x1e\x64\xdb\x5e\x2b\xb4\xe4\xae\x9b\x12\xbc\xa9\xa7\x84\xbc\x52\x2e\xcf\x3b\x20\xe3\x05\x8e\x55\xfa\x64\xbb\x34\x36\xc3\x91\x05\xcd\x83\x71\x43\x72\x32\x5e\xc6\x79\xc7\xc5\xba\x21\x11\x8a\x1d\x64\x70\xc7\xf4\x98\xad\xe0\x0b\x41\x57\x2b\xaa\xaa\xc2\xc1\xe6\xf2\x79\x68\x32\xc6\x0e\xdb\x81\xbf\x63\xf5\x4e\x73\x26\xa3\x0b\xb0\x32\x3f\x5c\xeb\x4d\x49\xd6\x80\x65\x04\xa0\x79\x51\x62\x7e\xb2\x62\xb4\x91\x2e\x23\x3a\x57\x64\x06\x76\x69\x63\x1f\x2d\xb8\x10\xfa\xf9\x8a\xbe\xa6\x3b\xa6\xfc\xbc\x35\xfa\x31\x96\x22\xab\x2f\x2b\xf5\xf3\x4e\xda\xe1\x93\x83\x7b\xfa\x41\x37\xe3\x57\xce\x2e\xa6\x96\x5a\x14\xd6\x1b\xf5\x0a\xa3\xb9\x9f\x29\xc5\x56\xad\x32\x89\x23\x34\x7d\x32\xa3\x25\x4e\x2d\xc6\xe6\x74\x0e\x8f\x16\x86\x4b\x56\x2b\x7a\x89\xdd\x26\x17\xd1\xd0\x26\xb1\xfc\xb6\x30\x57\xf9\x30\x36\xb9\xc5\xe2\x71\x44\x21\x2b\x27\xfb\xcf\xf9\xd3\x1c\x75\xe8\x37\xe4\xd4\x5e\x04\x0e\xbb\x37\x49\x11\x33\x8a\xb8\x7a\x17\x97\xbc\x4f\x8c\x0f\xdb\x41\x55\x60\xa8\x47\x77\x88\x49\x95\xcb\xba\x6d\x33\xe9\x4c\x6b\xd6\x2c\xf0\x25\x70\x4e\x2a\xf2\x9b\x0b\x72\x7a\x4e\xaa\xc9\x24\x8e\xee\x8c\xeb\x7c\x5f\xfd\x40\xbe\x8a\x16\xc0\xa9\x7a\x20\x56\xc4\xc3\xa4\xc6\x4d\x05\x3e\x37\x1f\xa2\xdb\xad\x67\x46\xf3\xdc\xf4\x10\xff\x31\x37\xde\xa7\x63\x40\x31\xc1\xff\x0e\x1c\x08\x7b\xfc\xdf\x87\x05\xfd\xec\x6b\xdb\x5c\x80\x47\x0a\x65\x0f\xe7\x3b\x38\xa1\xc8\x78\xe2\x4b\xd6\x71\x9d\x77\x7c\xab\x59\x8e\x6b\xa4\xcb\x6f\xb0\x93\x3d\x0c\xc7\x49\x82\x96\x80\xa3\x5e\x58\x35\x02\x56\x71\x0a\xc7\x61\xc2\x65\xa0\x03\x5f\x79\x16\xa3\xaf\x7f\x74\xc9\x5a\x70\x45\xe4\x8a\xd6\x26\x37\x06\x09\x3a\xfc\xc5\x05\x99\x98\xcc\xe3\xdb\x65\x55\xb3\x80\x56\x8c\x49\x5c\x53\xa9\xde\xe1\xfb\x5b\x77\x03\x33\x8d\xe3\x31\x1d\x01\xf3\x08\xb8\x85\x2d\x3b\x09\x85\x53\x97\xe9\xcb\x72\x9c\x8b\x0b\xe2\xb5\x1d\x7d\x1c\xc4\x31\x1f\x6c\x10\x42\xfd\x0c\xf9\xd1\x5e\xae\x63\xe7\xbd\xe5\xed\x3b\xbe\xf5\x8e\x77\x6e\x78\x93\x89\xe5\x44\x8f\x48\x84\xbb\x1c\x73\xa4\x65\x35\x87\x9c\xea\xc1\xbc\x9c\x3f\x4a\xe4\x6e\x3f\xb4\x76\x2d\x97\x53\xda\xb6\xd6\x2e\x9e\x7c\x1f\xeb\x26\x6c\xa8\xd9\xc9\x09\xf9\x8e\x91\xbf\xac\xa5\x72\x48\xf7\x90\x5c\xcd\xc1\xdd\x2b\xde\xc6\xf9\x12\xc7\xfa\x30\x5a\x1e\xb1\x6e\x4b\xaa\x98\xa5\x14\x3c\xcd\x83\xc7\x8f\x57\xc3\xa0\xa6\x09\x1e\x8c\x2b\x7a\x1f\xa8\x99\xec\xdd\xa1\xfb\x87\x19\x09\x23\x88\x47\xbf\x53\x7e\xd3\xb7\xb3\x6a\x2a\x20\xe5\x92\xbb\xd7\x82\xdd\x78\xb1\x6f\x07\xc4\x1b\xcc\x97\x31\x2f\x27\xd3\xdb\xaa\x19\x06\x1d\xdc\x47\xee\x3c\xa0\x26\xf0\x34\x66\x8b\xcb\xb6\xae\x0a\x36\x7c\x94\xd8\x45\x7a\xb6\xe9\x24\xed\xd9\x38\xfd\xc1\xa3\xd9\x85\x3b\x67\xdd\xf8\xbd\x23\xfc\xb6\x09\x0f\xdf\xe4\x22\x25\x75\x1e\x2b\xcf\xf4\xfa\x3c\xe9\x29\xf4\x21\x33\xe1\x91\xf4\x00\x97\x51\x09\x63\x49\x36\xef\x87\x30\xb7\xc9\xb7\xb7\xf8\xc4\x7f\x07\xc9\x6e\x0d\x96\xbf\x71\xec\x0b\xf4\x42\x4e\x9f\x69\x95\x98\xf1\x03\xbd\x9b\x85\xc6\xa9\xc4\xa3\x5d\x6c\xc6\x41\x30\xdf\xec\xa1\xc7\x36\x94\xff\x3d\x5f\xf5\x1a\xc0\x42\xaf\x14\x1c\x05\xdf\xde\xf2\x5b\xde\x0e\x4f\x8f\xee\x20\x3b\xe8\xb4\x8d\xa4\xaf\x9a\x3e\xff\xc8\x9e\x6e\x60\x0e\xbd\x61\x97\x5f\x1e\xee\x9a\x16\x44\x5a\xba\x60\x64\xdd\x92\x21\x40\xf7\xc1\x4f\x75\xd5\xb0\x11\x11\xac\xa6\x90\xab\xd4\x7a\x9e\xa3\xa6\x06\x3c\xff\x8f\xb4\x5a\x61\x87\xe9\x82\x7d\xd3\xe6\xdd\x13\xaa\x9c\xe1\x7d\xc1\xd4\x2d\xb0\xd3\x57\x4d\xc9\xee\x87\x3d\x21\x12\xf1\x3a\x54\xf1\x45\x18\x3b\x86\x3d\x7d\xc0\x4c\x94\x7c\xdb\xfc\xb2\x73\xf1\x42\xb7\xf0\x4b\xcf\xc6\x93\xfd\x3a\xfd\x23\x66\x43\x0f\x5c\xef\x8b\x9e\xa1\x3f\x6c\xdc\xaf\xab\xe6\xef\xb3\x07\x1e\x32\x38\x58\xea\x4f\x36\xbc\xbf\xd3\xb2\x26\x03\x44\x83\x44\xea\x72\x2f\x59\xc1\x9b\x32\xfc\x85\x36\xe5\x47\xf1\xc6\x6d\xd5\xb2\x4b\xde\x28\xc8\xd0\xb4\x8f\x2d\x75\xe5\x2e\x72\x9a\x1d\x13\x42\xac\xd2\x62\x69\xb3\xc5\x7c\x9f\xf1\x24\x19\xe7\x1d\x44\x7e\x98\xce\xb9\xb8\xa2\xc5\xd2\xc7\xdb\xe3\x00\xed\x1d\x8f\x3e\x3d\x90\xd0\xf4\xc2\x66\x49\x8e\x44\x62\x7b\x97\x99\x42\x81\xb4\xe1\x2e\x21\x7c\x18\xe0\x85\x76\x3a\x36\xe4\xe2\xcb\x17\xec\x38\xfa\xc2\xb0\xcd\x07\xaf\xcd\x38\x5e\x3f\x74\x29\xcc\x28\x30\x33\xf3\x53\x21\x66\x48\xd7\xeb\xf0\xe5\x3a\xcc\x4b\x68\x33\xc0\x1e\x30\x10\x32\xd5\xb3\x6a\x30\x84\x67\x75\x1d\xa6\x22\x3b\x2a\x4f\x99\x1f\x7b\x66\xdd\x8e\x0d\xcf\x73\xb8\xe9\x3d\x54\xd3\x85\x3f\x3e\x1e\xaf\x43\xb9\x83\x97\xde\xf1\xc5\x89\xd0\xd7\xc3\x45\xdb\xa8\x0c\x39\x3e\x57\xef\xec\x8f\x21\xa7\xe1\x73\x95\x59\x1d\xc8\xb0\xc6\xc4\x9c\x8b\x15\xa1\x44\x57\xce\xfb\xa0\x83\xb7\xbb\xc4\x44\x17\x25\xa9\x20\x10\x6d\xa9\x54\x7b\x76\x72\xb2\xdd\x6e\xa7\x1b\xf5\xf4\xf4\x74\xda\x30\x75\x52\xf2\x42\x9e\x6c\xd4\xaf\x9e\x9e\x4e\xc4\xea\xe4\xc5\xd5\xe5\xcd\xed\xbb\xff\x71\xfb\xab\xc9\xbf\x1f\xe0\x53\xb6\xdb\xdd\xed\x70\x72\x42\xf0\x8b\xe7\x90\x88\x7a\x60\xfa\x58\x89\xa4\x97\x0f\xcc\xe1\xf8\x1d\xe4\x1b\xdd\x86\x6f\x07\xde\x84\x53\x31\x5b\x2b\x9b\xe0\x02\x56\x17\xd5\x07\xe0\xab\x05\xaf\xfe\x4e\x7b\x21\xf4\x3a\x00\x91\xa2\x02\xc8\xe6\x80\x0c\x3f\xdb\x4e\xfc\x11\x22\x3d\x20\xe7\x3b\x34\x2a\x03\xa8\x06\x03\xad\x1d\xf7\x6a\x8c\x49\xb0\xd5\x12\x02\x69\x2b\x05\xba\x9c\x66\xa0\x4c\x4e\x4f\xc6\x56\x4e\x9b\x83\xde\x02\xac\x24\xb4\xd9\x6d\x97\x4c\xb0\x9e\x94\xf9\x47\x82\x4d\x1f\xbf\xcd\xd3\xba\x3e\x57\x25\x24\x8c\x23\x2b\xda\xa0\x50\xc3\xee\xf5\x5b\xa4\x52\xe0\xa4\xb0\x33\x29\xc8\x21\x7c\x09\x75\x49\xf1\xd0\xa7\x47\x8a\xed\x9d\x99\xd5\xcb\x2c\x7b\xd7\x79\x6c\x16\x9a\xc9\xdc\x52\x9b\x79\x8d\xd6\xdb\x1d\x5d\x8b\x47\xa5\x44\x1a\x12\xf2\x86\x6f\x58\xd8\xe2\xdc\x24\x7d\x33\xc7\x0b\x54\x44\x36\xc5\x36\x60\xb1\x99\x0f\xfa\x71\x6f\x54\x8b\xa0\x6c\x9a\x93\x86\x93\x15\x17\x2c\x48\xe4\x4d\x05\x3b\xc2\x28\x6e\x5a\x34\xac\x32\x2f\x01\x38\xe7\x89\xbd\x4e\x5a\x50\x08\xa6\x35\x52\xa4\x9e\x9e\x03\x74\x7c\x56\x9f\x7a\x4e\xaa\x27\x4f\x3a\xca\xde\x48\x83\x6a\x5d\x26\x92\x7b\x2e\x44\xf8\x58\xaf\x9a\x6e\x45\x77\xe3\x85\x68\xab\x4e\x9f\x7a\x72\x62\xf6\x98\x5b\xcf\xc2\xb9\x46\x44\x1e\x11\x7a\x0f\xfc\xfe\x56\xcf\xfc\xe5\xef\x6f\xa7\x66\x3e\x42\x37\x8b\x23\xbc\x1d\xce\x3b\x1b\x22\xec\xf4\x71\xde\x26\xfd\x8e\x14\xbe\x95\x3d\xfb\x4a\x8b\x37\xe1\xc6\xb2\x6e\x3f\xd9\xcd\x35\xaf\x44\x66\x77\x75\xaa\x1c\xbb\xc3\x6c\xdb\xbf\xdc\x16\x7b\x98\xae\x7e\xbf\xa6\xfe\xd3\xee\xb3\x2c\x8d\x54\xc8\x87\x68\x40\x3b\xab\x84\xaa\x20\x4d\x25\xf6\x29\x55\x08\x57\x8d\x62\x0b\x6f\x94\x22\xff\xc1\x04\x37\xce\xb4\xbe\xc2\x01\xff\xc0\xee\x62\x84\xe3\xff\xe4\xd3\xeb\x3c\x9b\x46\xc9\x74\x3d\x7c\x49\x7c\x4f\x8c\x8a\x0a\xde\x15\xe0\xbe\x15\x38\x5f\xed\x5f\x92\x0e\x8d\xd3\xb8\x7e\xd6\x67\x2a\x5d\xa2\x03\xde\xb5\x5f\x73\xc2\xe6\x73\x56\x28\x13\x6f\x2c\x18\x02\x68\x3e\x84\xce\x21\x67\x2c\xb3\x8c\xcf\x54\x9f\x77\xed\xc7\x9c\xad\x9e\x75\xaf\xf4\x4b\xef\x7a\x3e\x4c\x3c\xdc\x2a\xbd\xb6\x93\xa7\xa3\x47\xc9\xaa\xf6\xac\xd5\x38\xff\x04\x84\x68\x5d\xcb\x58\x8e\x19\x79\x20\xfb\xf7\x3c\x11\x3a\x3b\x36\x7c\xd2\x25\x06\xc5\x3e\x87\x34\xb2\x6e\x23\x39\xd7\x75\x71\xac\xef\x7a\xcc\x33\x0f\x9a\x68\x9a\x3d\xb0\xb7\x06\xe8\x44\xe2\x01\x87\x45\x67\x1b\x26\x76\xd6\xc2\x4b\xfe\xd5\xf5\x15\xec\xac\x23\x62\x9d\x11\x2d\x79\x4d\xc6\xe9\xba\x65\xcb\x0a\xcc\x24\x6c\x8b\x71\x41\x4e\x0d\x83\x36\x14\x2b\x49\x5a\xc1\x37\x55\xc9\x4a\xb4\xb7\x81\x6c\xa3\xef\x32\xb0\xa2\xcd\xd7\x6a\x2d\x98\x31\x61\x59\x7f\x62\x4d\x7c\x45\xd6\x6d\xd4\xef\xcc\xd5\xc8\xee\x2b\x89\x3e\xe0\xee\x0e\x80\xcb\x62\x0c\x58\x1c\xe9\xba\x3c\x32\x39\x8d\xd5\x92\xaa\x5e\x16\xc6\x5b\xf5\x1e\xc6\xea\xf3\xd1\xba\x99\xfd\xd1\xf3\x35\xf7\x9b\x1d\xf8\x5a\xb2\xf9\xba\xb6\x79\x69\x75\x33\xf3\xaa\xae\xc1\x80\xb7\x56\x04\xb2\xc8\x45\xfd\xec\x49\xbd\xac\x67\xe1\xa0\x62\xb3\xf3\xa0\x0c\x77\x9c\x1b\x80\x3f\x70\x38\x9e\x8b\x60\x6c\x3f\xfd\x84\x7b\x4f\x7f\xdd\x06\x47\x0b\x16\xfd\xdc\xbc\x62\x00\xee\x04\xcb\xeb\x6d\xc7\x09\xed\xec\x3b\x2d\x81\x58\xea\xf8\xdf\x09\x79\x4a\x26\x64\x38\x74\x7f\x8d\xc8\xbf\x92\xed\x88\x3c\x21\x20\x77\x44\x8c\x1c\xca\x04\xe2\x58\x2a\x7a\xe8\x4f\x4f\x2e\x48\xe2\x6a\xea\x2e\x8b\x61\x95\xe8\xc5\xbb\x87\x08\xbd\x4e\x23\x7c\x02\x93\xac\x5e\x3f\x1f\xad\x91\x93\xcf\x83\x10\x21\x0f\xed\x62\xd3\x09\xa7\x46\x51\x14\x34\x50\xdf\xc3\x4a\xb2\x6e\x54\x55\x7b\xf1\xb8\xa0\x75\x07\x65\xcc\xb9\x89\x2a\x41\x6e\xb2\xad\x62\xae\x63\xdb\x37\x78\x45\x49\x69\x81\x87\x0e\xc2\x19\xd8\x7a\x11\xf6\x58\x88\x0b\xb4\x51\xbe\x14\x7c\xfa\x08\x97\xb0\x5b\x7a\x87\xc2\x68\x20\x0f\xbc\x78\xf5\xad\x83\xbe\xa1\x32\xde\xcf\x26\x5d\x62\x3a\x17\xbf\xbf\x7d\xf3\xfa\x45\xb5\x31\x81\xec\x1f\x48\x59\x6d\x30\xa0\xbb\xda\xd8\x6c\xf3\x7b\x28\xed\x99\x86\x92\x15\x5c\x24\xf1\x45\x65\xb5\x09\xc3\xe9\xab\x8d\x7e\x5c\x97\xd5\x26\x1f\xb0\x6d\x29\x40\xb5\xc3\x58\x5c\x98\xf7\xb0\xa3\xff\xe8\xe4\x55\x1c\x1d\x41\x0b\xa2\xe1\xf6\x91\xc2\x40\xf3\x23\x28\x39\xf7\xef\x50\x46\xe9\x21\xea\x32\x27\xf6\x13\x0e\x50\x60\x3b\x94\x1c\xb0\xec\xc1\xea\x60\x01\xee\xad\x8f\x28\xb2\xa1\xaa\x08\x1c\x27\xe7\xbc\x58\x3b\x73\x20\xfc\x11\x28\x03\x23\x8d\x94\x8b\x08\xef\x34\x11\x04\xe9\xc7\x01\xc9\x71\x88\x76\x40\xab\x83\xda\xdc\xa1\xd9\xc5\x82\x1e\x45\xda\xbe\x5e\xb8\xe4\xbe\x15\xd9\x0b\xcf\x1c\x4d\x8b\xc5\x83\xe8\x51\x81\x7b\x14\x92\x4c\x1d\x00\x26\x99\xf2\xa6\xe0\x8d\x9e\xef\x15\x6b\xd6\x69\x0a\x7d\xe3\xc5\x8d\xa2\x07\xf1\xd8\x41\xbc\x81\xa8\x36\xdb\xaa\xf9\xf3\x7d\xb4\x1c\xce\x1e\xcc\x58\xf3\x35\x26\xad\xce\x75\xf1\xc6\x15\x40\xf5\x8c\xaf\x30\xa5\x65\x79\xb5\x61\x8d\x7a\x6d\xd2\xd3\x9a\xf8\xb8\x92\x6f\x9b\xc1\xd8\xf6\xe1\xc8\x4a\xeb\xf6\xc1\x55\xf4\xc4\x27\x95\x3a\x03\xe0\x4d\xb0\xb8\xfa\x46\xc5\xc2\x30\x51\xfb\x5a\x30\x2b\x3f\x80\x5d\x6c\x61\x1e\x78\xf3\x52\xff\x89\x21\x3c\xc1\x64\x8e\xe1\xda\xc2\x3d\x75\x72\x42\x90\x08\xb0\x59\x37\x1f\xe8\xeb\x23\xad\x73\x50\x30\xeb\x14\xd0\x58\x5e\xbe\x34\xb8\x1a\xc5\x5a\x22\x15\x53\x01\x71\xc8\x66\xeb\x19\x22\xa6\x1c\x3f\xfd\x1d\x44\x5e\x7d\x0f\xa3\x8a\x70\x78\xf4\x68\xba\xda\xfc\x63\x26\x6d\x56\xaf\xc5\xe1\x39\x83\x4d\x3b\xf2\xee\x3d\xd2\x84\x60\x26\x87\xa0\x00\x54\x33\x73\xfb\x0c\x07\x18\x74\x89\x3b\x04\xfc\xb4\xf5\xd1\x30\x16\x1a\xe7\xac\x3d\x1c\x98\xd7\xc9\xa4\xe1\x25\xfb\x1e\x66\xf5\xe2\x31\x34\xf8\xf8\x07\xf2\xb7\x20\xf2\x77\x40\xc8\x8c\xdf\x4f\xd0\xaf\xfd\x8c\x20\xd8\xea\x64\xc6\xef\xcf\x93\x42\x49\x3e\xdf\x33\xa2\x04\x6d\x64\x4b\xe1\xe1\xf5\x59\xb5\x6a\xb9\x50\xb4\x51\x69\x35\xa4\x67\xfc\x29\xbf\x6c\x3b\x64\xf1\x3b\x8c\xe4\x8c\x48\x5e\x57\x65\x54\xe2\x43\xf8\xc7\x74\x5b\xc0\x78\xd2\x01\x98\xdb\xf6\x8c\x54\x4d\x5d\x35\x6c\x32\xab\x79\x71\x97\x34\xa4\x67\x69\x42\xeb\x6a\xd1\x9c\x91\x82\x69\xc9\x22\x29\x60\xba\x58\xd0\xba\x18\x86\xa1\xa3\x31\xe0\xc9\x88\x7c\x41\xbe\x1c\x25\x55\xa1\x51\xeb\xba\x95\xad\x6b\x43\x12\x7a\x87\x76\x26\x38\x57\xe9\xb8\xf2\x5d\x40\xef\xb0\xce\x41\xef\x85\x5d\x39\x3f\x40\x34\xf4\x39\x3b\x40\x35\x44\x5a\xe9\x23\x8b\xdb\x8e\xcf\xe7\x92\x29\xbd\x55\xce\xc8\xe9\x51\x45\x05\xdf\xf6\x17\xc5\x54\xb6\x51\x94\xf5\x19\x39\x9d\xfe\x6f\xd9\x53\xbe\x13\x27\x7c\x06\x1b\xe0\x98\xd2\x26\x3a\xf8\xcc\xbe\x1c\x8e\xa9\x63\xb6\xef\xfe\x48\xe5\xfe\xc5\xff\x7f\xee\xd8\x6e\x2e\xe8\x8a\x49\x63\xf5\x48\xf6\x01\xbc\x5e\xff\x46\x78\x4b\x8b\x4a\xed\xce\xc8\xd3\xe9\xe9\x39\xf9\x90\xec\x6f\x1e\x96\x38\xed\x94\x88\x0f\x92\x9f\xcf\xb4\x2d\xda\x54\x2b\x4c\x43\xde\xd0\x15\x3b\xc3\x0e\x9d\xf7\x95\xf1\x8b\x11\x8e\x3d\xb3\x5a\xe9\x91\xf1\x24\x2a\xc5\xb0\xc8\xa4\xe0\xeb\x46\xe9\x43\x3c\xaf\x9a\x4a\xb1\xde\x1a\xaa\x5a\x55\xcd\x62\x62\xf9\xfb\x19\x61\x54\xb2\x49\x05\xa9\x33\xfa\x7b\x5a\x09\x66\x8a\x3b\xd3\x4a\xb2\x22\xfe\x02\xf5\xcc\x77\xc9\x68\x69\x3c\x9c\x2e\x97\x55\x5d\x0e\x61\xa9\x43\xbb\xa5\xc7\xab\x3e\xc8\xba\xcb\x6a\x13\x34\x12\x22\x5d\x57\x25\xb9\x20\x03\x98\xbd\x33\x97\x4d\xc1\x44\x18\x66\x2b\x00\x58\xe7\xd7\x14\x3c\x96\x06\x01\xab\xcf\x97\xc6\x8b\xa2\x40\xa9\x36\xb8\x24\xac\x34\x7d\x46\xe8\x4c\xf2\x7a\x9d\x4c\x49\xcd\xe6\xea\x28\x8e\x18\x7d\x4d\x19\xc0\x28\x5e\x7b\xc5\xdb\x7d\x34\x0d\xa7\xdc\x4b\x54\xf0\x6d\x42\xd4\xdd\x00\x5d\xd6\x6f\x78\xe6\x9e\x01\x44\xc5\x1f\xcc\xc6\x27\x5b\x36\xbb\xab\xd4\x04\xae\x43\x33\x9b\xe6\x1c\x8e\x3b\xb7\x26\x79\x7a\x7a\xba\x92\x70\x61\xd0\xf8\x02\x9a\xac\xf8\x8f\x1f\x45\x23\x67\xe9\x46\xc4\xd8\x3e\x3b\x37\x66\x2f\x8c\x5f\x00\x0f\xb5\x90\xf7\x46\x72\xf6\x08\xf1\xe1\x11\x4a\xb7\xa7\x37\x14\x2f\x59\x63\x73\x52\x26\x98\xe3\x03\x52\x49\xc2\xe7\x73\xb2\x65\x44\x30\x1f\x2a\xbd\xac\x24\x61\x78\xbe\x08\x1e\xf1\x7a\x87\xc4\xd0\x65\xbe\x83\x9b\x01\xf9\x6f\x09\x25\x90\x64\x6e\x4a\x50\x51\xb7\xa2\x77\x4c\x92\xcb\xa5\xe0\x2b\x2d\x8f\x4a\x5e\x54\xe8\xf3\x7a\x72\x42\xe4\x7a\x86\x6a\x14\x83\x00\xa4\x85\x6e\x2b\x9b\x1a\x1c\x65\xeb\x55\x83\x82\x07\x13\x53\x42\x6e\xaa\xa6\x60\x08\xf2\x08\x44\xa2\xef\x7a\x2c\x94\xb4\x8c\x09\x32\x04\x4b\x28\x29\xf4\xc4\x8c\x62\xff\x45\x2d\x50\x8d\xfd\x00\x74\xbb\x89\x60\x8c\xba\x45\xe3\xe2\x1f\x56\x03\xa5\x24\xfc\x35\x85\x2a\x58\xef\x95\x1a\xe8\x76\x97\xb4\xb8\x43\x53\x6c\xa5\x7f\x00\xfd\x79\xcd\x68\xc3\xa4\x22\x5b\xba\x23\xaf\x48\xc1\xd7\x75\x49\xe6\x15\x38\x2c\x86\x32\xc1\x73\xec\xff\xc7\x70\xbb\x2e\x81\x88\xe9\xe1\x75\x59\x0a\xba\x98\xc4\x73\x35\xd8\x47\xe1\x23\xf9\x1a\xb0\xa0\xc9\xbf\xff\x7b\x22\xc4\x1c\x66\x22\x4f\x4f\x93\x2a\x96\x5b\xe0\x87\xdc\x05\x92\xdf\xfd\xdd\xb1\xf4\x20\xf2\xf5\x3e\xdf\x08\xf9\x3e\x7a\xed\x04\x8f\xc8\xe8\x71\x38\x80\x8d\xae\xff\x51\xce\x6a\xf3\x6f\xdd\xfd\x8c\x27\x15\xec\xab\x00\xc5\xb6\x6f\xd6\x3b\xcf\x1e\xa8\x18\xbf\x43\x3d\x81\xf0\x1e\x7a\x58\x4d\x3f\x89\x47\xd6\xeb\x71\xbd\xda\xdb\x83\xfd\x4f\xc6\xee\xa3\x31\xd5\xea\x58\xcf\xaf\x1e\xaf\x2f\xa6\xde\xb1\x0d\x13\x92\x7d\x5b\x95\x8c\x0f\xf1\xc9\x97\x5f\x6a\xa0\xdc\xeb\x07\x88\x3a\xcf\x77\xac\x14\x74\xdb\x0f\xe4\xf2\xfb\xdb\x37\xaf\x9d\x43\x0a\x98\x0d\x20\x63\x1d\xad\x9a\x44\x41\xf9\xe2\xfa\x0d\xd1\xf2\x42\x17\xe3\x05\xb4\x9d\x86\xc2\xe1\x10\x7b\x5b\x72\x7f\x7c\xbd\x5b\xc9\xd8\x9f\x0d\xb4\x65\x29\x9c\xc9\x5e\x4f\x0b\x54\xaf\x1d\xf2\x8d\x76\x33\xb9\x67\x92\x0c\x9b\x32\x30\xdd\xa8\x1b\x16\x7c\x4b\xc0\x46\x17\x59\x71\x80\x59\x23\x4e\xbe\xb7\x23\xbd\xe3\xdb\xb7\x68\x23\x12\xa8\x05\x9f\xd3\x82\xc1\x75\xc2\x8c\xcf\xa9\xee\x0a\x59\x4b\x0c\xe4\xaa\x80\x25\xcf\x99\x2a\x96\x18\x32\xc0\x1b\x52\x32\x04\x22\x87\x29\xd8\xa1\x2b\x00\xd4\x04\xff\x2f\xc5\xc9\xa6\x62\x0e\x03\xe5\xf6\xfa\xc5\xf5\x50\x2c\xaa\xa6\xa4\xa3\x33\x72\xc9\x1b\x09\x4d\x4b\xba\xa9\x9a\x45\xe8\xd4\x09\xd4\xa9\x24\x43\x18\xa5\xe4\x6b\x51\xb0\x31\x22\xe7\x14\xa8\x24\x18\x81\xd3\x32\xad\x50\x85\x5f\xf0\x46\x32\xb1\x61\x64\xc5\x56\x5c\x74\x74\xdf\xce\xca\x04\xf3\x02\xc3\x83\xdc\xee\x68\x53\x72\x13\x36\x26\x06\x2c\xad\x4c\xfd\x69\xad\x7d\x09\xad\x2b\xbd\x0e\xfa\x84\x5c\x37\x13\x03\x23\x0d\x43\x00\xe7\x24\x5a\x6f\xe9\x4e\x1a\x10\x7a\x4f\x0b\x22\x41\xa4\xd2\x4d\x57\x05\x93\xd3\xce\xfe\x75\xaa\x7a\xdd\xdf\xc1\xbd\x16\x18\x07\x4e\x4c\x30\x07\x02\x0c\x8f\x26\x47\x8f\xd0\x17\x3c\x38\xde\x09\x84\x9d\xd9\xbf\xe9\xdf\xf1\xad\xd1\x17\xba\x9d\x08\xb3\xe0\x43\xc0\x70\xb6\xbe\xda\x1b\x46\x12\x98\x7b\xb3\xe5\xbe\x07\x22\x3f\x78\xf5\x10\xcc\x0e\x78\x0b\x93\x0b\xb3\x1e\x7b\x23\x9f\xce\x7b\x90\x96\xf4\xfc\x3e\x13\x82\xee\xbe\x0f\x48\xfe\xd0\x77\x5a\xc2\xad\x13\x9f\x16\xc0\xf1\x09\xc2\xe7\x7e\xb1\x13\x13\x75\xc1\x9f\x1c\x67\x90\x5c\x4b\x2d\xd2\x61\x44\x9d\xd9\xd4\xed\x0e\x3d\x17\x35\x29\x9f\x5a\xc7\xba\x78\xdb\xc4\xe8\xbd\xbb\x1d\x77\x6b\xdf\x6e\x07\xf1\x0a\x4a\xe8\xd1\xf9\xbd\x6f\xf7\x67\xea\x52\xfe\x31\x7b\xdf\xd2\x4a\x8e\x40\x7e\xef\xa7\xdd\x67\x4d\xb9\xb7\xf3\xfa\x3b\x6f\x7e\x76\xc7\x73\xa0\x2c\xe4\x19\x91\x55\xb3\xa8\x99\x4d\x5f\x10\x1c\x37\xb7\x9d\x10\x18\xdb\xd0\xb5\xfb\xc8\x75\x42\x6f\x27\x42\x5e\x57\x0d\x33\x6c\x60\xc6\x48\xc3\xb6\xe8\xb2\xcf\xea\x6a\x55\x29\x56\x8e\x51\xf8\x6e\x38\x51\x82\x56\x60\xb6\x36\x65\x8e\x3a\xbf\x46\x62\x8c\x32\x1f\x69\x71\x9b\x35\xa5\xb7\x42\x63\x9c\xde\xf7\x3f\xec\x33\x03\xb3\xa6\x8c\x7c\xf0\x10\x90\xd2\x1b\x13\x3c\xbb\x30\xc6\x5f\xa2\xc9\x62\xce\x01\x5d\x2e\x54\xdf\x06\xee\xe9\x86\x34\x18\xa7\x3f\xff\x9c\x7c\x06\x45\x17\xcc\x7b\x80\x0e\x07\xa0\x75\xb4\xbe\x6b\x3e\x1f\x80\xa3\x3e\xf8\x93\x41\x75\x05\x73\xb3\x59\x26\xfd\xf5\x2f\xbc\x6a\x86\x83\x3c\xfa\xdd\xfe\x13\xef\x31\xb9\xfe\x49\xce\xf9\xfe\x5b\x0d\xa3\x73\xf5\xbc\xfc\x03\x9c\xf1\xcc\x39\x3b\xf2\x80\xe1\xbc\x3c\xe0\x72\x4b\xcf\x46\x70\xb9\xed\xdb\xde\x50\x2a\xb8\x74\xd2\xed\xdd\xbb\xdf\xb8\xa2\x75\x12\x8e\x6d\xa3\xbf\x69\x59\x0a\x26\x11\xd7\xd3\x4c\x9f\xde\x12\xf8\x15\x16\x3d\x9d\xea\x0e\x9e\xdc\x2f\xb4\x65\x0b\xbe\x6a\xd7\xca\xbc\xbc\x0d\x32\x6b\xb8\xf6\xa2\x23\x59\xbb\x5d\xd7\x8d\x3e\xc7\x01\x1d\x8f\xa5\x1d\x84\xf9\x1d\x03\xcf\xd7\x89\xcd\x79\xd2\x23\x11\x38\xc9\xa1\x9b\x55\xc7\xbd\x18\x80\x25\x34\x6c\x6b\x44\x4d\x2d\xc2\xc2\xf3\x16\x5d\xa0\x7c\xb0\x63\x0a\x9f\x94\xae\x03\x78\x0a\x37\xf5\xce\x45\xf8\x6f\x29\xe0\x0f\xd0\xb2\x34\x29\x7c\x6c\x93\x86\x09\xe9\xed\x4b\xc8\xd7\x5c\x55\xa0\x5a\xa1\x10\x7d\x87\x5e\x2c\x5b\x3c\xb4\xd2\x74\xc5\x03\x25\x9a\x30\x1f\xd3\x95\xba\x92\xca\x4e\x39\x86\x44\x59\x17\x2d\x4d\x4a\x4b\x81\x15\x78\x76\xe1\xe2\xe8\x13\x35\xb4\x97\x94\x89\xd3\x22\xad\xc9\x5e\x00\xca\x1a\xe7\xd1\x1b\x8a\x40\x26\x4f\x97\x5a\x56\xcd\x9d\xcf\xd8\x85\x23\x9a\xd5\xb4\x01\x19\x9d\x48\xbe\x62\x5b\x74\x69\x34\x60\xe1\x88\x53\x8d\xed\x85\x28\x0b\x63\x52\x73\x7e\x87\x4f\x02\xfd\xa8\xc7\xc0\xa4\x51\x34\x9d\x66\x47\x3b\x87\xb3\x96\xee\x80\x51\x36\x96\x1d\x6e\x8c\x8d\xff\x96\xb7\x27\x18\x2f\x3a\xd6\xf7\x74\xc1\xa0\x87\x72\xc9\xd7\x35\xb0\xb6\x99\xe6\xb2\x7a\xe0\xb6\xa5\xe1\x48\x77\xb0\xa0\x12\x80\x2c\x74\x7f\xe1\xb5\xb2\x05\x15\xd1\x4a\xb7\x21\x7c\x4f\x9c\x96\xcd\x5e\xdb\x56\x11\xc3\x4a\x42\xad\x43\x34\x39\xb5\xcb\x81\x6e\xd2\x98\x95\x98\x95\xc4\x5e\xde\x79\xf0\x98\x3c\x6c\x03\x9c\x44\xd8\xa0\x87\x7c\xd0\x82\x30\xe5\xd8\x67\xd7\x61\x37\x78\x10\x84\x77\x5d\xcf\xf4\xee\x11\x31\x8e\x06\xa0\x92\xee\x0b\x01\x77\xc7\xcd\xd1\xed\xc8\x12\xc6\xbb\x1f\xfa\xd1\x91\x24\x84\xef\x48\xaf\x9e\x0d\x9f\x37\x46\x76\xd0\x67\xa4\xa3\x6d\x4a\xab\x6a\xfe\x0e\x2c\x7b\x30\x18\x05\xf5\xdc\x1e\xbf\xb0\xa3\x7a\x42\xaa\x18\x84\x00\xa1\x0e\xd6\x72\xf9\x8e\x6f\x87\x82\x6f\x47\x11\x10\x37\xbb\x57\xc2\xe2\x53\xec\x9d\xbc\xde\x58\x5d\x07\x41\xee\x28\x05\x01\x7a\x07\xa1\x13\x5c\x2d\x33\x28\x6c\xd2\x6f\x81\x23\x51\x13\x48\xe8\x4f\x1d\x45\xe6\xc9\x1b\xf3\x40\xbf\x6a\xca\x18\x41\xc7\xfa\xa4\xc1\xf7\x17\x7c\x6b\xa3\xfb\x3e\x3c\x8a\x60\x2c\xf5\xc6\xfa\xcd\x81\xc9\x19\x05\x78\x0a\x47\x6c\x44\x04\xc5\x08\x14\x4e\xcf\x8c\xca\x33\xc1\xd6\x74\x04\x11\x7d\x21\xba\x8a\x6b\x5e\x68\x16\xef\x61\x21\x30\x1a\xda\x0b\x34\x99\x6b\x58\x73\xea\x06\x92\x3a\xa5\x8c\xdd\x66\xdc\x11\xac\xd8\x15\xb5\x21\x5b\x62\xf6\xe1\x6f\x6f\xcd\x05\x29\xf5\xfc\x72\xc9\xc8\x76\x59\x15\x4b\xd0\x7e\x94\xc2\x66\x60\x9b\xed\x74\x41\x93\x8b\x4a\x46\xe9\x0b\xf5\x37\x27\x0b\xae\x68\x53\xb5\x6b\x2d\x88\x19\xe1\xc7\x5f\xbe\x23\xe7\x14\x89\x17\xab\xe6\x60\x63\x13\x6d\xa4\x79\x70\x0d\xcf\x8b\x58\xe1\xe2\x29\x10\x01\xe1\x4e\xd0\xad\x15\x2d\xed\xf3\x04\x2e\x1b\xb8\x03\xb7\x81\xb2\x86\xcf\xe7\x28\x2c\x48\xe6\x64\xb8\x4a\x74\xae\x8c\x8a\xe9\x5e\x08\x36\x5f\xd7\xf5\x0e\xef\x1b\xe4\x65\xac\x24\x92\x13\x8a\x9c\x1b\x55\x32\x73\xab\xd3\xf7\xe2\x47\x1f\x67\xd4\xeb\xf5\xca\x89\xb1\x28\x86\x3a\x25\xd6\x83\xf8\xa8\x66\xf9\xd9\x4a\x8a\xfb\x06\x4a\x26\x55\xd5\x50\x93\xa9\xd6\x34\xb3\x87\xed\xba\x1b\x2b\x64\xba\xae\xcf\x63\xec\xd0\xd8\x36\x91\xbe\xbd\xe2\x9d\xcf\xdc\xa5\x94\x12\xe8\x86\xfb\xe0\xad\x02\x85\x0d\xed\x00\x14\xc5\xb9\x18\xc3\x83\xcf\x32\x1d\x3f\x93\x5f\xc5\xfd\xf1\x1e\xc3\xae\x08\x72\x09\x06\x50\x0d\x76\x7a\x9e\x18\x26\x9e\xa2\x62\xd9\xca\xa6\x5c\x58\xd5\x37\x19\x56\x7e\xf4\x28\x1b\x8b\x1c\x3c\x51\xf7\x2a\x89\x5f\xf5\x05\x10\xbf\x33\xe4\xf2\x12\x8d\x3d\xeb\x7b\xb5\x3b\x76\x87\x69\xd9\x89\x81\x20\x0e\x4f\x14\x38\x28\x9d\x27\x91\x09\x3d\x87\x6d\x1d\xbd\x8a\x60\x97\xbd\x0b\xc4\xfc\xae\x14\x5f\xd0\x06\xa1\xa0\x82\x63\x12\xda\xd5\x50\x61\x6a\x24\xb7\x90\x3d\x0d\xb5\x40\x53\xd0\x66\xa0\x48\xc9\xc0\x19\x5a\xcb\xa5\x16\x4c\xc5\xfc\xc1\x54\x31\x1a\x07\xa2\x0f\x9c\x5b\x4d\xa9\xe1\x1e\x1c\xcb\xce\x56\xa2\x5d\xed\x3b\x88\x5e\x67\x74\xe8\x10\x5a\xf5\x8c\x99\xc0\xa4\x14\x1e\x25\xf4\x3a\x34\xde\xfd\xc8\x71\x6f\x97\x21\xf3\xb5\xdd\x3b\x18\x02\x1e\x6c\xa1\xbc\xc2\x63\x1c\x34\x12\xb8\xe0\xdb\x34\x7b\x41\x0f\x7e\xfa\x29\x3a\x64\xde\xdb\xf2\x08\x21\xe8\x21\x4a\x14\x13\xb8\xef\x15\x95\xd5\x0f\xfd\xd2\x49\x84\xcf\xfc\x56\x54\x20\x6c\xfb\xdc\x99\xbd\x4f\x10\xc1\x64\xcb\x0a\x8f\x98\x0c\x8e\x6c\xc8\x36\x60\x7b\x6f\x05\x6d\x29\x66\x50\x5d\x81\xa5\x04\x62\x41\x50\x2f\x5d\x22\xda\x25\x5c\x22\x70\x31\xf4\xbe\x7a\xec\xc6\x83\xb8\x8a\xf9\xdc\x41\xd5\x24\x17\x4e\xb0\xf5\x6d\xc0\x60\x98\x07\xc6\x1f\x3e\x18\x56\x25\xc9\x17\x0d\x57\x5f\xe8\x3b\xda\xe6\xf8\x37\x2e\xff\x85\xe9\xea\x37\xe6\x02\xf1\x4e\xf4\x23\xfb\x4a\xa8\xcc\x5d\x46\xd5\xc0\x80\xd3\xed\xf8\x7a\x20\x18\xda\xc6\xe3\xed\x1d\x05\x02\x04\x3d\x50\x9c\xb4\x7a\xaa\x0f\xec\x3e\x28\x93\x75\xf2\x77\x2c\xf8\xda\xee\x9d\xd3\x80\x35\x0b\x0b\x7f\x5c\x57\xb3\xe9\xb6\x98\xda\x5f\x4c\x24\xc0\x23\x87\x22\x16\x92\xf8\xca\x55\xec\x44\xd2\xb9\xc0\xf1\x60\x51\x3f\xff\xfc\xa8\x00\xd1\x34\x9c\xd1\x96\xe6\xab\x55\xa5\x5e\x57\x0d\xb3\x40\xde\xc3\x18\x22\xa2\x61\x5b\xfd\xd5\x03\x11\x3a\x19\xb6\x30\xcf\x76\x37\xcc\x49\x38\x13\xe7\xae\x5c\x59\x95\xd7\x1d\xb8\x6f\xfb\x51\xae\x67\x52\x89\x34\xfa\x6f\x6f\x68\x9a\xbd\x63\x12\x09\x34\x80\x3c\x74\x43\x8d\x9b\xb6\x48\xe8\x20\x97\x9a\xce\x67\x09\xa4\x60\x74\x3d\x11\x72\x24\x81\x95\x0a\x1a\xfb\xfc\x73\xf2\x59\xdf\x8a\xf9\xee\x9d\x9c\xe8\x57\xb6\xf2\xdb\xd1\x2e\x16\x2b\xcd\x3b\xbf\x81\x4c\x4d\xe1\x19\x46\xff\x11\x10\x01\x8d\xf2\xc8\x92\x82\x50\x70\xd8\xa9\x2c\xc8\xbc\x63\x6f\x86\x19\xf3\xf1\xe2\x3c\x6c\x74\xea\x29\xdc\x5e\xbf\xb8\x3e\x0b\x72\x82\x6a\xfe\xa0\x38\xe1\x6b\xa1\x6f\xd7\x59\xcd\x56\xc6\x57\x04\xbc\xe4\x67\x3b\xc5\xc8\x37\xb7\x2f\x27\x4f\xff\x57\x1c\xc5\x83\x86\x32\x58\xd8\x60\xeb\xc3\xdf\x7a\xe3\x8f\xc3\x6d\x62\x04\x1f\x8c\x57\x0a\xf3\xf8\x64\xab\xb9\x8d\xf6\x74\x94\x2e\xa4\xfd\x68\x96\x25\x14\x5c\x1e\xda\x99\xee\x56\x57\xfc\x8e\x01\x42\xaa\xe5\x10\x71\xea\xec\xb6\xae\xd4\x77\x55\xc9\xf4\x2c\x60\x9e\xde\x21\xb6\x60\x28\x65\xc3\xe0\x81\x64\x2e\xfc\x7d\x6f\x16\x8e\xe9\xb6\xb0\x3e\xfe\x40\x40\x5f\x29\xf8\x53\x16\x55\x2d\xa9\x4c\x65\x51\x55\x9d\xfa\xee\xd7\x2e\x8c\xa0\xdb\xbe\x78\xa1\xbc\xe9\xe4\x07\xce\x08\xab\x66\x06\x3c\x7d\x3f\x11\x9d\x85\x49\x08\xe8\xfd\xbf\x15\x95\x62\xfb\x69\x3c\x64\x9a\x02\x7e\xf3\x80\xb9\x71\x9c\xc2\x6c\x82\xa8\xe2\x8a\xee\x66\xec\xb2\xae\xda\x4b\xbc\x6d\x03\xc0\xc4\x90\x8f\x3f\xb9\xc8\xc9\xc2\x07\xc2\xbe\x1e\x75\xde\xec\xd7\xcd\xf5\x5a\xb5\x6b\xf5\x7e\x14\xf5\xe4\xe7\x20\xa8\x19\x78\x78\xf7\x88\x35\xcf\xc4\x48\xac\xe8\x40\x8c\xc4\x31\xc9\x56\x54\xb0\x8e\x49\x04\x02\xa7\x47\xee\xbb\x51\xcb\xa5\x37\x34\x62\x2d\xd0\xb6\x65\x14\xed\xf6\x25\xb7\xad\xde\x30\x95\xbc\x7f\xed\xeb\xd5\xa2\x11\xac\xeb\xba\x07\xd2\x1e\xd9\x15\x84\x9d\xda\xf7\x6d\x3c\x32\xe2\x5e\xf5\x5f\x7c\x7d\x7d\xfb\x05\x76\x66\xc5\xa5\x07\x8b\x91\xba\x2b\x84\x7c\xc7\xb4\x04\xe1\x71\x46\x34\xb9\x05\xd7\xfd\x7a\xcc\xe7\xf3\x89\x16\xb5\x1e\x23\x60\xad\x45\xa5\xad\x94\xf1\xbb\xfb\x33\xee\x8f\x3f\x83\xd4\xf5\x67\xb5\x5a\xdf\xff\xd9\x03\x44\x58\x39\x49\xd3\xab\x79\x41\xeb\xae\xc0\x34\x36\x3a\x04\xc4\x91\x8d\xd4\x00\xa8\x9f\x06\x0d\xd1\xa4\x5d\xac\xdb\x93\x76\x51\x36\x08\x85\xdb\xa8\xaa\xc1\xec\xbc\x5b\x2e\xee\xf4\xf3\x1b\x86\xb5\x96\x4c\x48\xa3\xde\x64\xf7\x6d\x98\xd8\xbe\x63\x24\xb6\x1a\xd5\xd4\x80\xd4\x81\x22\x0c\xf6\x49\x1f\x19\xdc\x82\x29\xa5\x58\x7d\x1d\x11\x1b\x5b\xeb\x51\xd5\x14\xf5\x5a\x56\x9b\x23\x52\x01\xc7\x60\x2e\x91\x5c\x66\xc7\x32\x8e\xfa\xe3\x3d\x1a\xfc\x60\x2f\x2e\xc8\xa9\xbe\xa7\xa3\x7e\x5f\xf4\x81\xc8\xe3\x05\x15\x44\xc3\x06\x9a\x68\xc0\x0d\x5a\xd7\xf5\x79\xf7\x2b\x92\x0d\x0b\x74\x13\x36\x26\x94\x5c\x0f\xf7\x92\x0b\x7b\xdd\x79\x3d\x44\x46\xa9\x36\x30\x04\xd2\xa2\xe0\xa2\x0c\x5e\x14\xdf\xde\x76\x33\x81\x1b\xbb\xcb\x29\x59\x37\x35\x93\x89\xc3\xd5\x92\x4a\x32\xc3\xa7\x5b\x5d\xda\x14\x3f\xa2\x2a\x94\x7f\x1f\x98\x87\x84\xe4\x2b\x46\xb4\x2c\x23\x8c\xc5\xe3\x95\x72\x5a\x35\x7d\x21\xc2\xf7\x6f\x6f\x53\xc6\x82\xb9\xc6\xcb\x98\x9c\x55\xa1\xed\xb7\x45\x29\xde\xc2\xde\xc7\xf1\x46\xfd\x1e\xc8\xee\x16\xde\x6f\x97\xb2\x7b\xec\x36\x07\x54\xe2\x58\x74\xb4\x76\x9f\x99\xe4\x15\x1d\x8f\x98\xb0\xd4\x79\x60\xc5\x3e\xed\x33\x25\x9a\xf3\xf2\x71\x0b\xa7\x7a\x33\x7f\x84\x2b\x5a\xa9\xce\x5a\xa2\x32\x2f\x5d\x4e\xb7\x96\xcb\x6a\xb1\x3c\x6e\x31\x43\x38\xc9\xce\x7a\x1e\xb9\x98\x66\x0a\x3e\xfd\x82\xda\x93\x7e\x70\x4d\xed\x61\x3b\xb8\xac\xa6\x60\xb8\xb2\xfd\x4c\x24\xcc\xcb\xf3\x56\x70\xfd\x38\x26\x94\x0c\xfe\xd4\x0c\xbc\x10\x1d\x98\xe0\x82\xab\xb7\x72\x51\x87\x73\xc4\x66\xe3\xdb\xce\x02\x2b\x2f\xbb\xa3\x31\x13\xec\x75\xa0\x8b\x76\x26\xbb\x48\xad\x15\xac\x8d\xe5\x17\xc1\x94\x77\xde\xf6\x40\xc9\x79\xcd\xe8\xbf\xae\xd5\x92\x89\x6d\x85\x5a\xe9\x4a\x82\xf6\x35\x92\x18\x94\x03\xa4\x00\x14\x07\xd3\x63\x88\xd8\x3f\x6c\xc8\x37\xaf\xcf\x1e\x38\x13\x68\xe0\x99\xba\x6a\xca\xeb\xf9\x8d\xd5\xf3\xec\x7d\x41\x82\x21\xea\x22\x90\x5f\x33\xff\x3b\x68\xa6\x48\xc4\xb4\xbe\xfd\xe2\xd1\x9f\x9f\xe9\xa3\x71\x13\xc9\x34\x5a\xc2\x2a\x54\xb5\x61\x06\xa4\x7a\xc3\x84\x5d\x32\x6b\x93\x9e\x1e\xf5\x26\xc6\x11\x65\x37\x64\xf4\xd0\x44\xc1\xc6\x00\xcd\x04\x0a\x1e\xdf\x33\xbc\x4d\xc7\xa4\x75\x30\x7f\x4e\x40\x9c\x86\xf2\xb3\x6d\xe5\x9b\x76\xf8\x34\xc1\x72\xee\xb5\xda\x1c\x18\x81\x45\xd2\x8e\xb0\xb4\x33\xcb\x7b\xd4\x88\xac\xbe\xd6\x19\xe6\x21\x2f\x36\x0a\x9b\x00\x8a\xb2\x56\xf1\xc3\xb9\xb3\x51\x4f\xa7\xbf\xcc\xa8\x82\xce\x3f\x33\x10\x7b\xf0\x61\x4c\x68\xb9\xa1\x46\x23\x6c\xbb\x03\x04\xf4\xe9\x34\x38\x8b\x08\xf3\x87\x98\x32\x9f\xa0\x73\x06\x2a\x29\x44\xfc\x3c\x6a\xea\x0f\x4e\xfc\x94\x90\x67\x01\xef\x09\x59\x8e\x53\x26\x5a\x4a\x20\xd1\x3a\x8f\x1f\x27\xaa\x74\xd8\xce\xd4\x8b\x42\x21\x4c\xf7\xd3\x6e\xea\x8e\x74\x6a\x03\xcd\xbc\x66\x0f\x00\x1f\x9f\xb2\xa8\x80\xfa\x27\x99\xce\x48\x16\x7b\x5d\xdd\x81\x67\x07\x2a\xd1\xc6\x84\xdd\x17\xac\xd5\x4f\x86\x0a\xdc\x9d\xc2\x15\x3f\x0a\xb2\xab\xae\x1a\xf6\x92\xb1\x0c\xb6\xf6\x83\x11\x9e\x72\x1a\xbe\x4e\x00\xd6\x7a\xd5\x0c\x73\x68\x58\xaf\xe6\x90\xf6\xfb\x92\x0a\x51\xd1\x05\x33\xc2\x0b\xa2\x1c\xa1\x72\x2a\x1c\xb4\x5e\x09\xdb\x73\xf4\xf9\xd8\x8f\x44\xb8\xca\x0f\xb1\xab\x97\xe8\xf6\x21\x92\xd2\xa3\xb1\x75\x45\x6f\xdf\xa5\xce\xba\xa5\xc0\x79\xeb\x16\xac\xc9\x70\x2a\x5b\x2e\x65\x35\xab\x77\x46\xcd\x0e\x22\x4e\x60\x8f\xcd\x38\x92\x78\x48\x26\x88\x75\x82\x20\xfa\x43\x9e\x1e\x02\x23\x2e\x5e\xef\x5d\xf0\xe0\x3d\xe3\x3c\xd9\x02\xd1\xd5\x67\x08\x2f\x9c\xae\xe2\xc0\xee\x10\x7c\x7b\x1e\x58\xfb\x5d\xa5\xe0\x65\x12\x4d\x31\xce\x01\xb8\xb9\xe6\x0e\x64\xfe\x58\xbd\xe3\xdb\x90\xb8\x55\xe8\x25\xaf\x98\xb6\xa6\x05\x03\x44\xb0\x18\xaf\x07\x14\x99\x6c\xae\x7a\xb2\x1b\xfb\x70\xb6\x96\xa2\x0a\xa2\x23\x59\xc5\x71\x08\x88\xce\x85\x7a\xd2\x56\xf0\x19\xd5\x6b\xfb\x05\xda\x69\x51\x9b\x10\xb4\x0f\xa1\x6e\x26\x0d\x05\x74\x50\xd3\x83\x26\x29\x36\x38\xf2\x30\x6f\x68\xdb\x0b\x6b\x53\xc0\x18\x9a\xb1\x1d\x37\x40\xd6\x71\xdf\x1f\x1d\x0f\xc4\xce\x04\x95\xec\x96\xbf\xd6\xf3\xb0\x47\x3c\xca\x27\x42\xe9\x39\xe8\xa7\x5d\x03\x74\xaa\x92\xc3\xb4\xa9\x0b\xa6\xbe\x5b\x56\x8a\xc1\x80\x93\xdc\xa6\x4f\xc8\xd3\xd1\x43\x92\x21\x5c\xe9\x81\x38\xe7\xdc\x20\x9d\x56\x67\xcd\x45\xf8\xa8\x71\xbc\x3b\x3d\x6b\x4e\x45\xa5\x1f\x28\x4d\x70\xd6\x62\x91\x1a\x73\x0a\xbb\xa0\x54\x83\xa1\x6b\x4e\xa8\x0a\xa0\xde\x3a\x65\x94\xc9\x43\x04\x72\xb6\xb1\xb4\xc1\x44\xc8\xc8\xc3\x03\xcd\xb6\x81\xea\x69\xdd\xcc\xb9\x50\xeb\x86\x2a\x16\xe4\x34\x42\x1d\x99\x75\xfe\x06\x3a\x46\x82\x47\xcc\x40\x70\x84\x75\x3e\xc1\x41\xc4\x63\x59\xcd\xe7\x55\x01\xa0\x60\xe0\xc6\xc9\xc8\xba\x0d\xf6\xa2\x71\x43\x44\x34\x0e\xb6\x6a\xd5\xce\x10\x87\x70\x2a\xd0\x0c\x35\x03\x45\x94\xa8\x5a\x0b\x6e\x17\x9a\x6c\x1f\x99\x44\x4b\x76\xe2\xcc\x76\x7b\x87\xc9\x1f\x25\xa9\x16\x0d\x17\xcc\xba\xb0\x12\x4c\x0b\x8e\xe0\x5a\xd4\xc1\xe6\x1a\xed\x97\x9d\x83\x92\x6d\x2a\xaa\xd0\xd4\x08\xfe\x39\xa0\x0e\xc4\x21\xd1\x85\x60\xcc\x98\x17\x16\x0d\x5f\xb1\x89\x7b\xd4\x68\x21\xe8\x8e\x37\x92\xd7\x6c\x4c\xee\xe7\x05\xfb\x9f\xee\xdb\x94\x90\x1b\x86\x47\x5c\xcc\xd6\x8b\x69\xc1\x57\x27\x5f\xfe\xdb\x97\xff\xf6\xef\xa7\xf0\x2c\x2d\x99\xa2\x55\xdd\x6b\xea\xe6\xad\x7a\x9f\xf3\x24\x89\x77\x1e\x8c\xfc\xb8\xc3\xf8\x2e\x4d\x75\xe9\x5a\x48\xee\xaf\x43\xc6\xba\xe0\xad\xe9\xcc\x89\x2b\x7a\x7f\xf9\x49\xac\x56\xa1\xf1\xce\x4f\xc1\x6f\x7d\x02\x19\xf7\xe3\xd8\x35\x3a\x22\x67\xee\xdf\x1d\x2d\x75\x4e\x9d\x1e\x9c\x9a\x8b\x8b\x34\xf9\x66\xae\xc2\x8b\xab\x97\xcf\xbe\x79\x7d\xfb\xfe\xf2\xfa\xf5\xf5\xbb\xd0\x57\xee\xb0\x0b\xd9\xf7\x07\xee\xb3\x1f\xbc\x33\x5c\xd6\x80\xd3\xf0\x12\xf3\xf1\x79\xef\xb2\x11\xf9\xea\x22\x6f\xa3\xd8\x6b\x93\xec\xb1\xe1\x20\x2b\xb8\x5c\x52\x21\x87\x45\x37\x07\x4e\x26\x9d\xf2\x70\x3f\x76\xe9\xb1\xfc\xfd\x21\x4c\x1c\xfa\x75\x90\x71\xef\xef\x72\x87\xad\x87\xcc\xb6\x47\x36\xea\xe5\xd7\x87\xce\xdb\x21\xcd\xc0\x51\x53\x13\x0c\xc4\xd9\x71\x3e\xe1\xf8\x13\xe1\xc5\x03\x78\x26\x71\x16\xc6\x1b\x66\xbf\x44\x30\x26\x82\x2d\xa8\x28\x41\x89\xc7\xe7\x7d\xd6\x9b\x9f\x3f\xb3\xcf\x66\x5a\xfa\x7d\xf0\xd4\xda\xc9\x09\x44\x13\xf3\x73\xd6\x55\xd8\x25\x6d\x8a\xcc\x9f\x07\xde\x61\x95\x7f\xb4\x1e\x5c\xc7\xd0\x03\xed\x97\x5c\xcc\x1e\xdc\xde\xae\x3b\x8d\x89\xf4\x00\xf5\xc4\xdf\x69\x29\x9f\xb3\x6c\x72\xf6\x07\x2e\xe5\xbb\x20\x15\x5f\x94\x9b\x64\x9f\xa2\x33\x59\xf6\x30\x49\x17\x42\x46\x7f\x75\x61\x08\xfd\xe3\x6f\x80\x97\x55\x9a\x7e\xc7\x88\x59\x06\xed\xb7\xf3\xc0\xf0\xe1\x0c\x01\x80\xae\xf1\xd5\xda\x6b\x7d\x4d\xa1\x4b\x8b\x25\xee\x03\xe7\xd0\x61\xb0\x3a\x6d\xd0\xef\xbc\xaa\x0f\x06\x9c\xeb\xce\x87\xc1\x02\xcb\x87\x6d\x82\xfe\xc5\x38\xb5\x8b\xe1\x56\x1a\x5d\xfd\x4f\xcf\xe1\x1f\x5d\x78\x59\xe3\x1f\xaf\xbf\xfa\x15\x77\x95\x0b\x5e\x63\x65\xfd\x8f\x5e\x6c\xda\x82\xd7\x5d\x6f\x89\xde\x2e\xc2\x8b\xbd\xe0\x75\x3e\xed\x5c\x7a\x33\x16\xcb\x6c\xc6\xd5\x63\x5f\x31\x78\xdc\x55\x25\x98\x45\x73\x03\xe9\xb5\x66\x34\xd6\x26\x50\x65\x0c\xe6\x79\xa0\xe5\x70\x9f\xec\xdd\x24\xbd\x4e\x96\x1e\x43\xd9\xdd\x2d\xbc\x65\x80\xd2\x0a\xe6\x70\x83\x63\x2c\xad\xf5\x35\xb9\x7b\x8c\x2a\xef\x08\xf8\xed\x34\xdd\xdc\x47\xfb\x60\x1e\x91\xf4\xe8\x51\x94\xf3\xe8\xe2\x22\x4a\xb1\x78\x85\x4f\x1c\xef\xac\xeb\xb5\xbe\xd3\x47\xa4\x9b\x27\x3e\x77\x25\x65\xb8\x91\xe9\x87\x7b\x29\xe7\xf8\x90\x29\xd3\xcb\x81\x7a\x69\x9c\x76\x82\x18\x7a\xb7\x91\x66\x37\x7c\x6d\x74\x47\x56\x65\xda\x03\x38\x7f\xf0\xde\x20\x07\xf7\x1b\xda\x02\xff\x31\xb7\xdc\x27\xdc\x6e\x8e\xfb\xd9\x25\x4c\x84\xfb\x9a\x47\x8a\xd1\x6c\xbe\xac\xde\xd5\xf5\x17\xde\x98\x44\x2a\x92\x78\xc9\x7d\x88\x08\x62\x51\x83\x3e\x01\xe3\x3a\xf2\x79\x01\xd2\xf8\xe5\xac\x07\x70\xea\xff\x02\x6e\xea\xed\x5a\x2e\x31\xd2\x23\x34\x33\x53\x61\xdc\x52\xa4\xd2\x6f\x3a\x08\x8b\x6b\x06\x0a\xb3\x1d\xad\xdb\x5e\xe7\xf6\xd1\x9e\x74\x14\xdd\x47\x35\x8e\xc8\x8d\xf0\x20\xb4\xb6\xd3\x2a\x7e\x4c\x98\x5b\x8f\x4e\xb3\x2b\xba\x74\x0c\xc3\xb8\xda\x45\x9a\x53\xd5\x3c\x87\x4d\xe5\x89\x6f\x39\x4a\x57\xb4\xe2\x1b\x86\x6f\x74\x13\x18\x9a\x44\xa7\x04\xf9\x68\x85\x8d\x56\x82\xfc\xb3\x77\x8c\x08\xce\x57\x9a\x29\x3d\x72\x09\x6a\x8d\xf5\x64\x28\x47\x26\x88\xb7\x08\x49\x97\x95\x54\x68\x33\xc2\x90\x17\x08\x09\xb0\x89\x69\x7c\x47\x2e\x32\x7d\xd6\xff\x86\x8f\x4f\x50\x4c\xd3\x4c\xd5\xd5\x08\xdc\xcc\x7c\x98\x66\x10\x75\xe5\x0a\x8e\x03\x82\x4f\x9c\xe7\x64\x47\xea\xb3\xee\x9d\xd9\x1c\x21\xc7\x06\x7b\x91\x27\xe4\x61\x72\x5f\xef\xf9\x32\xc1\x14\x47\x9e\xaf\xaf\x5d\x7c\xb0\x80\xe8\xb1\x5c\x44\x6e\xd7\x59\x4d\x2f\x27\x06\x4f\x81\x82\x78\x4a\x34\x1d\xe0\xa8\x96\x14\x3a\x59\x80\x6d\x12\x62\x51\x4d\xa5\x75\x6b\x74\x74\xba\xb3\x10\x83\x05\xe9\x1c\x0c\x92\x80\x81\xd6\x7d\x48\x6c\xa9\x3b\x74\x46\x19\x79\x08\xc8\x5d\x17\x3a\xee\xd0\xf5\x4a\x8c\xe8\x2f\xdb\x46\x02\x7f\xe7\x76\xef\x3f\x7b\x5d\x65\x97\xdb\xbf\x9a\xaa\xd9\xb1\x7d\xe7\xd3\xa9\xab\x3c\x21\xbe\x61\x37\x26\x72\xc9\x9f\x84\x74\xf7\xe3\x0f\x9f\x5d\x78\x02\xb9\x53\x00\xe9\x91\x6c\x4b\x96\xee\x9e\x07\x6e\x27\x16\xf6\xc0\x76\xf7\x7d\x7d\xe8\x76\xff\x54\xcf\x9c\x57\xc0\x76\x65\x10\x40\xe5\xf7\x92\x51\x71\x1f\x97\xf3\xa6\x47\x04\x49\xac\x5f\xc7\x6e\x63\xd3\xf4\xc3\x2e\x8f\x1b\x38\x49\x3f\x6b\x1f\x43\x08\x70\xaf\xb2\x4c\x0b\x15\x99\x0c\x5d\x91\x17\xb4\x09\xe2\x3d\xc6\x7f\xf8\x93\x3d\x55\x31\x91\xdb\xc4\x87\x8d\x05\xe9\x62\xb2\x4a\x6e\x97\x53\xc5\xaf\x6d\xc6\x16\x75\xf4\x4d\x1f\xab\xcf\x1f\xc0\x79\x40\x41\xba\x67\xc5\xb0\x54\x99\x5e\xf6\x79\xed\xaa\xc9\xf4\x0d\x15\x5c\x38\x46\x8f\xee\xf9\xff\x63\xef\xed\xfb\xdb\xb6\xb1\x7c\xf1\xff\xf3\x2a\x90\xee\x6e\x29\xc5\xb2\x2c\x39\x4d\x9b\xda\x75\x7b\x6d\xd9\x69\x3d\xb5\xe3\x5c\xcb\x69\xbb\x9b\x64\x32\x10\x09\x49\xac\x29\x42\x43\x52\x96\xd5\x49\xf6\xb5\xff\x3e\x38\x07\xcf\x04\x25\x39\x6d\x77\xee\xee\x6f\xe7\x73\xef\x36\x16\xf1\x8c\x03\xe0\x3c\x7e\x4f\x5a\x4a\xe6\xb4\xd5\xae\x6b\x9e\x9b\xd4\x88\x0f\xcc\xe5\x26\xc7\x12\x3a\xd3\x0e\xc5\x84\xc8\x4d\xd5\xb5\x2b\x37\x92\xc9\xc7\x47\xdb\xd3\xca\x70\x9a\x8e\x2b\x07\xa9\xc4\x7d\xcd\x16\x73\x41\x4a\x25\x19\xad\x02\x06\x3a\x78\x5c\x82\x2f\xa5\xc6\x42\x90\x04\xb5\xc6\xff\x17\x60\x73\xa4\x72\xe5\x11\xc0\xe5\x0a\xae\x28\x51\xf0\x49\x37\x86\x0f\xc2\xdb\x43\x94\x15\x2c\xec\xa2\x32\x76\x5e\x75\x17\x81\xa9\x8c\x9a\x6d\xb5\x99\x64\x45\x53\x56\xe2\x46\x69\x5f\x73\x59\x5b\x9c\x43\x45\x68\x96\x29\xae\x19\xbc\x54\x10\x32\xc7\x0e\x7d\x13\x13\x15\x3c\xf3\x16\x57\x1e\x40\x35\xd7\xaf\xbc\xb5\xa7\x48\x85\x33\x6b\x0f\xac\x75\xe7\xc7\xf8\x64\x7d\xfa\x85\xd7\x6c\xa9\x0f\x3a\x16\x58\x28\xa1\x86\x6d\x68\x59\x6c\xe0\x96\x8a\x13\x8b\x04\x47\xa0\xab\xb4\x04\x5b\xc8\xb8\xb0\x99\xf6\xdc\x0d\xde\x42\x1c\xda\x86\x66\x9b\xbc\xdf\xff\x7b\x12\xac\x11\xf5\x1c\x9a\xfd\xf3\x28\xd1\x4f\x23\xee\x59\x42\x7f\xbf\xea\x31\x48\x94\x8a\x69\xaa\x79\xa6\x98\xee\xb7\xa2\x4d\x3f\x54\x66\x33\x97\x23\x81\x7b\x02\xc1\xe3\xb6\xd7\xe7\xb8\xe6\x4d\x2f\x9a\x89\x78\x91\x4e\xd2\x1c\xe2\x73\x23\x82\xc0\xd1\x09\xa4\x74\xf3\x9b\x0b\x00\x58\x70\xe5\x80\xdb\xb8\xa7\x62\x68\x8a\x2c\xad\xa0\x0c\x57\xda\x79\x68\xb5\x6d\xf3\x4b\xba\xbb\x66\x53\x84\x52\xcc\xea\xc4\x8e\x75\xef\x2e\x5c\x17\x3b\xea\x4c\x11\xc5\xb5\x5c\x98\x06\x65\xaf\xca\x4b\xb8\x85\x2b\x52\x73\xdd\x75\xee\x60\xf6\xc6\xa4\x55\x19\x4c\xb7\x1f\xe2\x6e\x0b\xbe\x0c\x33\xbd\x32\xc7\xea\xfa\xc5\x0c\xcf\x7a\xed\xa2\x6e\xed\x24\x86\x8a\x7b\xe4\x3e\xe2\x8c\xce\xe6\x2d\xb4\xd4\xd4\x42\x6a\xe0\x9f\x4d\x02\x9c\xd4\x9e\x48\x2f\x44\xbb\x35\x95\xaf\xaf\xd7\x69\x74\x5f\x08\x30\xd3\x75\xad\x9a\xbb\x4d\x6b\xb6\x48\x9d\x40\xcd\xfb\xfe\xb9\x7b\x13\xa6\xaa\xb5\x7b\x13\x5c\xf2\xe0\x0a\x59\x41\x48\xff\xbc\x05\xf6\x2e\xc3\xed\x52\xd2\xfe\x51\x37\xc8\x40\x4d\x39\x98\xa6\xf6\xf7\x3a\x6a\x87\xa6\x6b\xc5\xe3\x84\x67\x1c\x8c\x5b\xf9\xc4\x79\x4e\x9a\xe7\x19\x44\xc3\x5b\xe7\xe1\xd3\xbc\x65\x8e\xe6\xf8\xbf\xdb\xd3\xe5\xce\xe1\x21\x87\xf1\xda\xb5\x80\x17\x0a\x0d\x61\x9b\x07\x61\xf3\x82\x6f\xa2\x1a\x6b\xd1\xb7\x25\x99\xad\x10\x2e\x83\x73\xdb\x9a\x58\x0a\x2f\x51\xf8\x35\x62\x47\xa3\x77\x60\xe5\x22\x46\x16\x00\xd7\x2e\xde\x39\x96\x8d\x49\xc9\x5d\x06\x48\x7e\xb5\xd3\xf0\xd3\x72\x95\xc7\xd3\x82\xe7\x7c\x51\x66\xab\x0e\x54\x91\x29\x2b\x60\x61\x68\x06\xc9\x5d\xe3\x5b\xb2\x4c\x73\x30\x90\x2f\x31\xaa\x54\xa5\xec\x83\x22\x06\x36\x37\xe6\x34\x63\x65\xac\x00\xae\xa8\xc2\xe6\xc5\xae\x37\x91\x83\x03\x3a\xff\x7e\x8d\x57\x79\x85\x08\xf9\xe5\xfb\x2e\x36\x1c\x74\xc3\x83\x35\xc0\x77\x54\x5f\xa6\x7e\x45\x72\x64\x03\xee\x07\xe0\xf8\xa5\x6e\x46\xb4\x55\xab\x7c\xa8\x21\xfb\xb3\xb1\x13\xe9\x8d\x9f\xdf\x6b\x28\x8e\x00\x02\x5a\xf3\x1e\x8e\x2c\xa4\x2f\x47\x85\xed\xe0\xb2\xe0\x91\xff\x67\x6c\xa5\x11\x2e\x4c\x08\x3a\xc8\x3b\x5e\x28\xb4\x91\xad\xa5\x70\x66\xe6\xd8\x91\x6a\xf3\xd2\xb2\xfe\x8a\xc6\x12\x6e\x24\x2f\xe3\x75\x61\x87\x21\x6e\x41\x3d\x16\x24\xde\x56\x14\x54\xea\xf2\x9f\x40\x45\xa5\x2d\x42\x7d\x0a\x25\x99\x06\x1a\xa9\xa9\x8e\x1b\x00\x45\x7c\xdc\x00\x49\x69\xfd\xde\x7a\x66\x6b\x31\x07\xf7\xf7\xba\x9a\x31\x04\x35\xb5\x95\xb4\x39\x73\x7b\xd8\x64\x18\x86\x42\x8d\xea\x0f\xfb\x42\xc4\xa2\x62\x6d\x5a\xbb\xb6\x22\x77\xfd\x04\x41\x15\xf1\xff\xc0\x14\x7d\xb9\xda\x9a\xa4\x32\x8a\x98\x39\x29\xbb\xcb\x2c\xcd\xd1\x8b\x42\xc7\x47\x06\x44\x2c\xf2\x5d\x58\x38\x20\x07\x52\xa8\x96\x76\x99\x4f\x6a\x49\xc9\x07\xe4\x20\x14\x7c\xb9\x96\xdd\x7d\x64\x63\x88\xda\x0c\xef\xe6\x90\x2c\xb4\xd5\x34\x86\x7b\xea\x65\xe9\x98\x79\x39\xc1\x11\x75\x55\x18\x82\x85\xae\xa1\x13\x88\x4b\x09\xd3\x09\xb2\x0b\x36\xc0\xae\x0c\xf1\xf1\x31\xba\x04\x37\x26\x59\x29\xb8\xd2\xa4\x83\xbd\xc6\xe8\x85\xf2\x73\x79\x85\x2a\xc0\x0b\x25\x81\x16\xa8\x42\xcb\xc9\x92\x41\xe8\x02\x3a\xf7\x43\x3a\x6b\x28\x67\xf5\x45\x4b\xb2\x64\xf5\xa4\xd9\xeb\x95\xfb\x38\x89\x4f\x25\x5f\x3f\x5c\x65\x03\xf9\x3a\xe6\xb9\x6f\x48\x3f\x78\x97\xca\x99\x0f\x1e\x16\xfb\x56\xd7\x36\xc8\xdd\xf8\xb9\x86\xd4\xb4\xb5\xdb\x7e\x0d\xd9\x29\x2d\xad\xe8\x6d\xa9\x61\xc7\x28\x96\x19\x2d\x26\x69\xde\x81\xc4\x25\x8b\x19\x83\xe0\x32\x9c\x66\xc5\xc9\x84\x55\x24\xad\x4c\x5b\xb0\x8f\x2a\xf0\x89\x96\x0a\x82\x58\xf9\xf1\x40\x94\x2b\x9d\xcf\xb3\x94\xc9\xfc\xf6\x4b\x08\xd1\x4c\x73\x45\x61\xa6\x29\x8f\xd4\xba\x36\x8c\xd2\xee\xee\x36\x6e\xe9\x16\x46\xd0\xe3\xd8\xd8\x4a\xeb\xbe\xea\xda\x8e\x92\xb3\xe5\x96\x3e\x1a\x56\x0d\xbd\x9d\xee\xf6\xee\x1a\x50\x1d\x1c\x83\x29\xfa\x8d\xf1\x07\x23\xa6\x4f\xf9\x8f\x5d\xb4\x15\x8f\x33\xce\x0b\x49\x4f\x7b\x61\x39\xb9\xad\xbc\x57\xad\x1e\xae\xc1\x99\xb1\x67\x63\x1f\xed\xed\x29\x34\x9b\xac\xe4\xb0\xac\xd2\x23\x58\x1c\xc0\x9e\xb3\x5b\xc8\xce\x13\x6f\x60\x0d\x97\xde\x8e\x2a\xf1\x6f\x4d\xce\x93\x1e\x0c\x92\xbd\x56\x61\xc1\x7f\xc7\x2a\x53\x6f\x75\x69\xc1\x66\x3d\x0a\xd8\xb5\xb4\x3c\x84\xc6\x76\x7a\x2f\x17\x44\xb0\x9f\x1d\xd3\x32\x52\x86\xa3\x70\xf3\x77\x52\x37\x10\xdc\x52\xdf\xe0\xed\xd9\xd5\xec\x8e\x36\x29\xe7\x60\x21\xb7\xba\x84\xff\x2b\xee\xbc\x5a\x54\xd0\x1f\x72\xe9\x85\x54\x40\xdb\x07\xaa\x34\x3f\x8a\x84\x6c\xab\x41\xda\x22\x4a\x58\x66\x0d\x43\x47\x65\x5e\x30\x19\x11\x24\x1e\x35\x3f\xac\xae\x5c\x0b\xb4\x8f\x57\x9c\x12\x08\xd8\xbd\x14\x72\x96\xb4\x24\x42\x28\xca\x75\x1a\x95\x80\x35\xc5\x8d\xf5\x14\x02\x12\x1e\xdc\x8a\x93\x92\x41\xc0\xbb\x7a\x87\x8d\x33\x9d\xc4\x35\x31\x3d\x49\x7d\x07\xe0\xa5\x58\x3d\x9a\xee\x54\x31\x90\x9a\x20\x22\x2f\xcd\xe3\x34\x61\x46\xf6\x90\x01\x85\xa0\x36\xc9\xf9\xae\xae\x1a\xc9\x05\xe8\x12\x72\xb9\x22\x93\x05\x2b\x21\x5c\x50\x47\xa2\xe6\xbc\x66\xaf\x19\x71\x9e\x31\x9a\x03\x5a\x6b\xc5\x14\x5a\x2b\x7a\x93\x95\x6c\x93\x7f\x84\x97\xce\xcd\x83\x53\xad\x98\xa5\x1d\xf1\x1f\x47\x55\x01\xca\xa9\x67\xd4\xaa\x14\x02\x28\x63\xd5\x0b\xbd\xf5\x0d\x29\x3d\xfd\xe4\xa0\x51\xdb\xb3\x93\xdb\xad\x9d\xe8\xc2\x0d\xad\x19\x4a\x73\x5a\x0b\x18\x03\x1e\x38\xcc\x86\x86\x3f\x71\x98\x0d\x93\x76\x83\xa0\x4d\x3e\x14\xa9\x78\x1b\x31\x4f\x4c\x06\xc9\x1a\xb2\x25\x64\x14\x41\xc5\x45\x11\x42\x17\x49\x2a\xee\x2b\x48\x75\x40\x73\xc2\xf3\x98\x91\x39\x13\xa2\x67\xcc\xf3\x8d\xc1\xe7\x69\x3e\x39\x61\x6e\xd8\x80\x45\x16\x78\xb7\xd8\xd9\x2b\x47\xee\x6c\x89\x1f\xf2\xa7\x57\x66\x52\x5f\xe7\x76\x93\x58\xbc\x5e\xf4\x05\x79\x75\x8b\x91\x60\xc1\xe6\x0c\xb2\x5a\xc8\xdd\xef\xf5\xb4\x3b\xa7\x58\xc3\xe1\xdf\x17\x2c\x8b\xa7\x72\x08\xef\xf5\xfd\x33\xe2\xe2\xe4\xc3\xfa\x8a\x9b\x2c\xe7\x55\x3a\x4e\x63\x04\x13\x17\xf5\x00\xba\x45\x33\x8d\x81\x96\x6a\x37\xba\x53\xf8\x58\xb4\xfc\xde\x4b\x93\x54\x16\x71\xd4\x76\xce\x98\x55\x54\xec\xbc\xe3\x94\x02\x7d\x32\x6f\xf8\x9b\x54\x09\xc4\x20\x4d\x87\x87\xad\x39\x0f\x2b\x4b\x64\x87\x3c\xeb\xf5\xea\xc7\x6b\x8b\x96\x3e\x3a\x13\x4f\x58\x79\x5b\xf1\xf9\x4b\x6b\x2d\x05\xfd\xbd\x37\xbe\x3b\x56\x36\x6b\x5a\xbe\xc0\xdc\x88\x4e\xba\x2a\x8d\xcf\x09\x1b\x52\x5f\x10\xbb\xed\x8b\xb4\xac\xde\xcb\xf4\x55\xb2\x9c\x06\x40\x1d\x22\x12\xc0\x92\x91\xaa\x80\x18\xea\x82\xa6\xf2\x0d\x5b\xa6\x79\xc2\x97\x00\x00\xf8\x1d\x54\xca\xbb\x3c\x87\x74\xa4\xde\x41\x91\xc4\x99\x71\x88\xc0\x72\xba\x2e\xdf\xb7\xda\x87\xe4\x63\xed\xa8\x2b\x5d\xbd\xa5\x51\x27\xa3\xb4\xb2\xc4\x45\xfb\x0b\xbc\x89\x1d\x12\xb3\x02\x60\x44\x0c\x90\x5a\x18\x6c\x4b\x25\x7e\x22\x3a\xcd\x94\x60\x53\xe1\x35\x61\x15\xab\x6b\xeb\x6b\xd1\x49\xc4\x46\x7a\x42\x16\x17\x12\xde\x94\x73\x9e\x27\x36\x78\xb4\xe5\x37\x51\x57\xf9\xab\xc9\xa8\x58\x00\x08\x12\x18\x8f\x37\x3d\x6f\xc5\x42\xbd\x6c\xf6\x1a\x74\x10\xdc\x13\x02\xa2\xf2\xad\x5e\xbd\x2b\xa3\xa2\xd8\xe6\xcd\xe3\x76\x71\xfd\xe2\x35\x70\xc7\xf5\x58\x0e\xb5\xa1\xd2\xa5\x3f\xb0\xa1\xf6\x17\xb9\xa1\xec\x3e\x2d\x11\x12\x47\xb0\x1e\x2e\x50\x84\xe3\x5a\x24\x15\xaa\x10\x52\x88\xfe\x1e\x92\xef\xf5\x1d\xca\xc1\x78\x22\x5a\x73\xf7\x50\xfd\x4a\x74\x08\x14\xec\x22\xcd\x57\xee\x18\x7e\xff\x96\x59\xb3\x7c\xf8\x96\x9d\x6b\xe0\xd9\xad\xb6\x2c\xb5\x8b\xcb\x2d\x0b\x6c\x09\x5d\x08\x0e\x4d\xe2\xc6\x28\xed\xa0\xbb\x37\xc1\x22\x1a\x83\x2d\x27\x54\xac\xed\x6c\xcc\x1c\xb0\x65\x90\xf2\x25\x52\x39\x3a\xe0\xd0\x12\x71\x90\xb2\x34\x67\x1d\x63\xf1\x32\x49\xab\x4b\x0a\xc9\xba\x09\x05\x9f\x26\xd1\x9e\xf4\x22\x4a\xd2\xf1\x98\x15\x00\xaa\x30\xe2\x69\x56\xa2\x2a\x7b\x09\xcc\xe5\x72\xca\x00\x68\x42\xec\x2e\x0f\x58\x65\x25\x27\xcb\xfe\x78\xc6\xf1\xb8\x0e\xfa\xb3\xcd\xbe\x04\xb0\x82\xd6\xed\x8f\xaf\x10\x73\xb7\x26\xa0\x2e\xf3\xef\x42\x75\xed\xc9\xfc\xab\x9e\x5f\x59\x85\x02\xbb\x75\x6b\x39\xf1\xd8\x63\x2e\x2a\x88\x03\x80\x60\x87\x0e\xc6\x9d\x8d\xc7\x07\x52\x97\x36\xa8\x00\x4c\x86\x0f\x87\x85\x99\xc5\xac\x64\x7f\x70\xd4\xc8\x9c\x96\x15\x49\x2b\xf4\x3c\x43\x28\x8d\xe0\x41\xab\xd9\xd7\xd7\x9c\x33\x6f\x59\x1e\x7e\xd6\x8c\xe6\x6b\xab\x3d\x5d\xda\xc5\x9b\xf7\x52\x4a\x0e\xbb\x0f\xdf\xd3\xf1\xf8\xf7\x6d\xaa\xb5\x19\xb6\xfa\x74\xcb\x1d\xd5\x7e\x1f\x80\x07\xf7\x3b\xef\xc0\x86\x45\x78\xf8\x1e\x5d\xfb\x4a\xca\x87\x48\x6f\x3f\x6f\xda\xb1\x0c\xf9\x5b\x56\x2d\x19\x53\xc0\x2e\xe9\x8c\x16\x18\xc6\x0a\x6e\xac\x00\x5f\x83\xb4\x6d\xab\xb2\xcd\x37\xfb\x48\xc2\x5d\xeb\xd5\x32\xd8\x87\xf6\x46\xa8\x03\xa4\xfa\xab\x95\x55\x30\xd1\x4b\x3a\x9f\xcb\x64\xd1\x62\x08\xd2\xde\x47\x18\x3a\x47\xf2\x86\x58\x35\x55\xfd\x8c\xc6\x53\xd5\xb6\xc2\x60\x2b\xc1\x83\x4b\xdc\xac\x0d\x6e\x7e\x9f\xbe\xed\xee\xaa\x3c\x7c\xb7\x8f\x55\xfd\x35\x0f\xe0\xc3\x00\x2f\xd4\xc6\x2b\x1b\x8d\x1e\xe1\x50\x7e\x3f\x20\x52\x50\x85\x7d\x18\x5a\x29\x52\x6a\x6a\xf0\x1a\x38\xe6\xe7\x9f\x87\x62\xac\x0d\x4e\x4b\xcf\xca\x7f\xf2\x78\x6d\x9a\x15\x2b\xb0\xf7\xdc\xb9\x4e\x65\xf4\x08\xe4\xaa\x2c\x65\xfa\x8c\xa5\xf8\x7f\x05\x23\x74\x49\x57\x1d\x48\x57\xa0\x7a\x61\x25\x99\xd1\x95\x6a\x69\x24\x78\x31\x99\xa6\xb1\xab\xe5\x86\x6d\xb3\xbe\x34\x27\x74\x52\xf3\x6b\x46\xfb\xa7\xc5\x2a\x0c\xf5\x4f\x8b\xf5\x59\x61\xea\x81\xe8\x34\x4b\x7f\x43\xb4\x9a\xf7\xe1\x58\x03\x1b\xc2\x04\x0a\xa3\x61\xab\x5e\x7a\xea\x1b\xbc\x6c\xfd\xc5\x2a\x8f\xd1\x72\x67\xc2\xaf\x03\xc5\x52\x27\x47\xd3\x76\x11\x2c\xae\x4b\x83\xd8\x47\x3f\x28\xc1\x71\x5a\xda\x1d\x65\x69\x7e\x1b\x7a\x32\x9c\xef\xd6\x85\xa3\x61\xe0\x04\x83\x0c\x1f\xc1\x26\x92\x42\xe8\xe4\x5d\x5a\xa6\xa3\xcc\xb9\x7a\x80\x4d\x53\x1f\x8c\xbd\x57\x7a\x5d\x43\x0b\xaa\xd7\x7f\x37\xa9\x96\x80\xc7\x46\x91\x8a\x13\xe4\x1f\x45\x49\x95\x20\x27\x1d\xab\x74\x34\x08\x1f\x5f\x71\x08\xe5\xe6\x25\x42\x64\x3d\x72\x32\x63\x1a\xb6\x50\xd4\xc9\x32\x92\x31\x7a\x4b\x28\x91\x06\xfd\xdf\xcd\x19\xd4\x56\xf2\xe1\x37\x11\x6e\xe6\x09\xb4\xb0\xcd\x8b\x13\x3b\xe5\xe5\x5b\x23\x2f\x91\xc7\x38\x42\x95\xb9\xc6\xb8\x2d\x58\x95\xd4\x11\x01\x23\x94\x52\x5a\xac\x29\x7e\x58\x53\x3b\x04\xcb\xd5\x15\x0f\xde\x88\x7f\x42\x32\x68\x07\x0c\x11\xf2\x53\xab\x2a\x16\x6c\x2d\xc5\x2a\x52\x6a\xa6\x59\x55\xa2\x89\x6a\x59\x88\x4e\x05\x05\x2b\x65\xdf\x1f\x45\x12\xf6\x50\x3f\x95\x28\xe4\xba\x3c\x80\x2c\x4c\x8d\x10\x61\xd4\xcc\xae\x6b\x09\xe4\xa1\x24\xb2\x25\x91\x28\xfb\x5a\x83\xba\x93\xcf\x69\x9c\x56\xe2\x29\x88\x7a\xd1\x61\x08\x5f\x02\x69\xa7\x31\xcb\xc7\xe6\x76\xfb\xd1\xe1\x3a\x42\x75\x16\x61\xc3\x52\x79\x50\x62\x66\x62\x3c\xb7\xce\xf5\xfb\x00\x4c\xea\xff\x03\x7b\xe0\x2a\xc9\xa4\x37\x1a\xbc\xfe\xe2\xd8\x78\xd7\x36\x26\x43\x46\x45\xa1\x95\x49\xdd\x8f\xbc\x11\x4d\x69\x81\x19\x90\xf5\xa9\xb4\x18\xad\x23\xf8\xfa\x66\x86\x81\x95\x2a\x3e\xbf\x36\x0f\x7a\x48\x03\x7e\x63\x4a\x18\x88\x56\xf4\xc7\xdb\x50\xf3\xc4\x29\xd4\xb2\xba\x6a\x1f\xfa\xa8\x08\x81\x76\xea\x39\x7d\x43\x1c\x5b\x03\x7c\x82\x93\x00\x16\x1b\xff\xd6\x1b\xb5\xc5\xb7\x0d\xb4\x50\x65\xa7\x18\xd5\x08\x2d\x60\x49\x4d\x2b\x22\x76\x3e\x4d\x74\xde\x71\xb5\x9f\xb4\x60\xd4\x05\x66\x1e\x94\xe5\x4f\xb4\xd0\xca\x7b\xe4\x93\x20\x69\x70\x87\x44\xbb\x7d\x9d\x3a\xd8\x3d\x86\x1b\xee\x79\x8f\x65\xad\x1f\x48\x85\xbf\x72\x74\x44\xa2\x9c\xe7\x2c\xb2\x66\x78\xcd\x76\xd5\x67\xc7\x44\xa3\xc4\xc9\x31\xdc\xd8\xb4\x24\xd3\x34\x49\x98\xce\xf9\x3a\xe3\x8b\x32\x80\x3d\xbd\xa6\x6f\x12\x45\x7a\x42\x7b\x7b\x44\x07\x17\xd8\x0e\x78\x90\xee\x7a\x30\x1c\x0a\x12\x48\x41\xe5\x3a\xa3\xd5\xb4\x4b\x40\xb8\x66\x24\x41\x91\x58\xfc\x46\xd2\x9c\xfc\x65\xd8\x31\x40\x13\xe3\x8c\xd3\x0a\x3f\xc1\xfb\x22\xe4\xe6\xc5\x9c\x8c\x18\x66\xd0\x2e\x40\x7c\x8e\x51\x48\xa3\xd8\xab\xe8\x08\xd3\xd5\x88\x1a\xd8\x94\x46\x34\xd5\x12\x79\x41\xe3\x5b\xc9\xfc\x8c\x98\x14\x9d\xfc\xfd\x94\xcb\x1f\xda\x56\xf9\xe9\x6f\xff\xfa\x0f\x8f\xea\x76\xed\x23\xf6\x91\xec\x90\xbf\x69\x3a\xfe\xdb\xbf\xfe\xa3\x76\x6c\x24\x4d\x81\xaf\xe3\xfc\x12\x1c\x6f\x3e\xce\xef\xff\xe6\x9a\xb2\x83\xd4\x15\xf3\x2c\xda\xd2\x07\x3c\x78\xa7\x3b\x26\x9c\x2a\xad\x32\x16\xad\xb5\xbc\xe3\x52\xb4\x22\x3f\xb3\x7d\x83\x2d\x7f\x73\x53\x1d\xb2\xa9\x2d\xf0\x94\xdb\xdc\x50\x3b\xd2\xa6\xb1\xd7\xf3\x84\xca\xc0\xf2\x98\x16\xac\xc2\xbc\xf6\xfd\xfe\x8a\xcc\x17\x85\xe0\x70\xcb\xae\x31\xe7\xc9\x0b\xb8\x96\xfd\x7b\xc2\xaa\xa1\xfa\xda\xd2\x01\xdb\xa6\xc2\xe7\x9f\x9b\xda\xdd\xb4\x1c\xf0\x2c\xa3\xf3\x92\x25\xed\x7a\xf8\x34\xc8\x2a\xaa\xec\x40\x8c\xc8\xb4\xe3\xf2\x69\xc7\xc9\xaf\x8b\x52\x79\x14\x03\x30\x2e\x1f\xd7\x76\xad\x9e\x6c\xc5\xc3\x3a\x28\xa7\x74\x8e\x42\x43\x6e\xeb\x7e\x63\x96\x65\x24\x49\x67\x2c\x2f\xc5\x45\xb3\x11\xdd\x1b\x06\x80\x97\x64\xc3\x3b\x02\x1d\xa9\xa5\xc3\xce\x87\xe2\x27\x4f\x1c\xb7\x29\xce\x35\x1a\x8e\x79\xbc\x28\xa3\x36\x5c\x5e\xc0\xdb\xd9\xb7\xd7\x71\xb6\xa4\xab\x12\x51\x7e\x28\x19\x65\x3c\xbe\xd5\x4c\xa8\x90\x97\x16\x39\x54\x07\xc5\x24\x21\x7a\x30\xde\x8c\xac\x61\x75\x4f\x2e\xae\x06\x3f\x1e\xda\x18\xa5\xb8\xc8\x47\x0d\x17\x1c\x4c\xa3\x5c\xa6\x55\x3c\x25\x2d\x68\x5f\x73\xfd\xb4\x64\x6b\x7b\x3a\x3b\xbe\x54\x9e\xa4\x78\x57\x4e\x95\x57\x6a\x74\x47\x8b\xd6\xee\x2e\x54\xde\x15\xbb\x23\x24\xcc\x5d\x29\xeb\x46\x87\x4e\xa5\xba\xa9\x38\xaa\x0a\x9a\x97\x73\x2a\xf6\xdb\x2f\xcc\x8b\x84\x15\xf8\xfe\x0e\xe5\xbc\x4c\xda\x27\xb7\xd4\x05\x1b\x57\xaa\x4c\x54\xf2\x2c\x4d\x74\x63\xa3\x82\xd1\x5b\xc9\x83\x6d\x9a\xe6\xeb\x97\xa7\x67\xd7\x17\xe7\x2f\xcf\x1a\xe6\x5a\xbb\xe9\x34\x35\x82\x80\x3f\xa2\x25\x83\x1c\x92\x3b\x24\x9a\xdf\xff\xd1\x73\xf7\xe6\x25\x1e\x00\x54\xad\xe0\xf1\x4a\x7f\x03\x49\x62\x0e\x70\xd5\x84\xdd\x53\xc0\xbb\x51\x80\x00\x72\x64\x1b\x96\xce\x5e\x5e\x7b\xdd\xa4\x27\xcd\x9f\x42\x01\x16\xa9\xc2\x4f\xef\xff\x18\x2a\x08\x4c\xe5\x81\xac\x6d\x2d\x7a\x3c\xcc\xc0\xea\x58\x8e\x55\x1e\xff\x73\x22\x39\x56\x79\xbc\x6d\x50\xc5\x36\x1c\x75\x28\xb8\x42\xd7\xfb\x94\xe0\x0a\x5d\x79\xa3\x47\x04\x06\x4d\x84\x65\x38\x2c\xd1\x10\x7e\xa1\xab\x34\x85\xea\x0c\xc5\xad\xcb\x0b\xc1\x19\xe2\x4b\xfa\x1b\xe7\x33\xb2\xa4\x45\x8e\x29\x59\xf5\x36\xda\xbf\x83\x36\x9c\xcc\x58\x59\xd2\x09\xd3\x3f\x8a\xda\x8b\x12\x51\xe7\x2b\x89\x3b\x35\x2a\xf8\x52\xfc\x04\xb5\x67\x8b\xb2\x42\xdf\x35\x4c\xce\xc1\x49\xbf\xd7\xfb\x37\xc1\x05\x02\x95\xc2\xf3\x3d\x55\x1e\x71\x1a\x76\x00\xf3\xa9\x67\xab\x6d\x75\x0a\x53\x69\x8d\x91\xc3\xb3\x94\x09\x30\xc7\x74\xa3\x3a\x61\xca\x97\xff\xc1\xf9\xec\x67\x9c\x96\x9f\xe4\x5b\xa9\x05\x40\x4d\x00\x3b\xfa\x9b\x29\x0c\x6f\x8a\x2d\x0b\x4b\x45\x42\xa3\xdc\xeb\xd7\xad\xf3\x27\x71\xc1\x68\xc5\xce\x32\x26\xfe\x6c\x45\x49\x7a\x17\xd9\xfe\x24\x7e\x03\xdd\x34\x11\x37\x0f\xcc\xee\x40\x7c\xdc\x95\xdb\x13\xad\xab\x84\x97\x45\x5c\x96\x37\xec\x1e\x22\x2a\x34\x1f\x16\x81\x6f\xd2\x01\x19\x65\x34\xbe\x3d\x8c\x2c\x0e\xad\xe6\x36\x76\x40\xfe\x65\x3c\xde\xdf\xdf\xdf\x77\x8b\x8d\x79\x5e\xed\x8a\x9b\xef\x80\x64\xb4\x98\x30\xaf\x11\xd8\xfa\xdd\x82\x26\xe9\xa2\x3c\x20\xcf\xe7\xf7\xee\x77\xa9\x87\x38\x20\xbd\xee\x57\xcf\xdc\x4f\x73\x9a\x08\xe6\x48\x7c\xda\x67\x33\xd2\xeb\x3e\x83\xff\xab\xff\xed\x96\xae\xf8\xfc\x20\xf4\x3b\xf8\x2a\x1c\x90\xbe\xa8\xe7\xb5\x2f\x4f\xd9\x81\x4e\x2e\xea\x7e\xdf\x5d\xb2\xd1\x6d\x5a\xed\x56\xec\x1e\x27\xb8\x4b\x81\xad\x3b\x20\x42\x3e\x0b\x97\x15\xe7\x63\x17\x99\xc2\x60\xb1\x19\xff\x6d\xbb\xf6\x44\xc1\x40\x63\xed\x75\xc4\xd5\xa5\x49\x72\x76\xc7\xf2\xea\x22\x2d\x2b\x96\x33\x21\x65\x64\x69\x7c\x1b\x75\x0c\x85\x33\x0f\xcf\x16\x5f\x61\x51\xbd\x8b\x79\x48\x06\xd3\x34\x93\x2e\x57\xf2\x4e\xf1\xc0\x7e\x6a\xbd\x8a\xf9\x0c\x24\x76\x1c\xba\x09\x5f\xe2\xd1\xbc\xa4\x39\x9d\xb0\xa2\x2b\xf3\x97\x5c\x33\xe9\x66\x50\x2a\xf2\xc3\x33\x6a\x35\x28\x2b\x2a\xd1\xe5\x0d\xe4\x6b\x3f\xcf\xab\xd6\x06\x06\x44\x34\xf1\x82\xc6\x15\x2f\xc8\x13\x71\xe9\xb4\xdf\x59\x82\x52\xc3\x69\x10\x74\xfb\x82\xce\xd2\x4c\xdb\x59\x5c\x0f\xcc\xbc\xda\x1d\xc3\xe7\xc8\x20\xc2\xd6\xd4\x86\xe1\x1b\xc2\x5a\xd5\xb6\xbd\xd8\x49\x7a\x67\x7f\x93\x39\xa6\xcc\x8a\xd7\xaf\x9a\x43\x37\x5f\xd6\xc6\xde\x6c\xbf\xbd\x35\xe5\x6a\x7b\xdd\xd0\x73\xed\x25\x71\xd4\x0f\xfc\x8e\x15\x19\x5d\xa1\x58\x26\x91\x73\xe8\x0c\xbc\xc9\x85\xb8\x93\xce\x1c\x14\xfe\x5a\x35\x95\x9d\x37\xcd\x49\x9a\xa3\x5f\xf4\x1d\x78\xfd\xa6\x39\xa1\x78\x97\x10\xb1\x0d\x1d\x12\xb3\x1c\x70\x8d\x00\x68\xe6\x4e\xf2\x11\x56\x6a\x0e\xcb\x5a\xa2\x9d\x99\x6f\x19\xc3\x64\x23\xaa\x3b\xf5\x9c\x8d\x8a\x94\x8d\x21\x1b\x2c\x64\x0e\x46\x07\x19\xaf\x4b\x90\xb8\x56\x7c\x61\x9a\x13\x4b\x17\x55\xc6\xc6\x12\x4f\x59\x7c\xab\x19\x50\x44\xc0\x71\x57\x67\x9c\x16\x75\xfc\x1b\x05\xb6\x3d\x2b\x27\x72\x51\xee\x2b\xcc\xf4\xf3\xc3\xcd\xe5\x45\x5b\x0f\x52\x5a\x71\xc4\xb8\x65\x34\x8f\x9c\x46\x37\x84\x1c\xc1\xe7\xd5\x7b\xc9\x14\x40\xab\xee\x26\x80\xc3\x02\x4d\x2b\x32\x62\x63\x5e\x30\x32\xa6\x20\x73\xf2\x05\x3c\xd6\x48\x2e\xa6\x7d\xe2\xa8\xfa\xfb\xdd\x67\xd2\x8f\xb7\xec\x12\xf2\x8a\x96\x25\x30\x98\xf0\xda\x2a\xa8\x69\x59\x53\x35\x56\x56\x74\x45\x16\x73\x70\xc3\x17\x7b\xd5\xe2\x05\x59\xe4\x55\x8a\xb0\xe6\xb9\xf2\x04\xcb\xe8\x6a\x53\x7e\x2e\xf1\x52\x5f\xc9\xdd\xb3\x1e\xe9\x59\x39\xe9\xd8\x53\xf6\xdf\x6b\xd9\x7a\xfd\xad\xd6\x67\x70\x8d\x9e\xda\xaa\xfb\xe0\xb7\xda\xae\xbc\xee\xc9\xf5\xde\xc4\xfe\x33\xff\x51\xb4\x9e\xd4\xfb\xfb\xdd\xc0\xab\xfa\x87\xbd\x9a\xdb\xbe\x81\x9b\xde\x35\xf5\x54\x0a\xc1\x4e\x36\xa8\x2c\x0c\xfd\xe7\xbd\x59\x49\x18\x2d\xd9\x6e\x9a\x6f\xf7\xca\xd5\x9f\xcc\xcd\xed\xb6\x9b\xb6\x31\xf0\x2a\x82\x62\x54\x88\x1d\x0d\x2f\x23\x13\x4f\x81\xa8\xa2\xd1\xfa\x0e\xf5\x97\xb2\xe2\xf3\x57\x05\x9f\xd3\x09\x35\x2a\x25\xe0\xbc\xa5\xb9\xce\x7e\x2b\x43\x14\x61\x8b\x7f\xeb\xbd\xf4\x0f\xd7\x34\xd3\x20\x4f\xae\x0f\x22\x58\xd7\xe0\x43\x9f\xc3\x7a\x3b\x2e\x1f\x30\x2b\x27\xeb\xba\xb3\xed\x5a\xdd\xaf\x9e\x19\x13\x54\xfd\x0c\xd7\x5e\x53\xf3\x96\xd6\x1e\x50\xe7\xec\x6b\x39\x2d\x49\xef\x04\x9b\xa0\x95\x4a\x13\x56\x0d\xb2\x94\xe5\x95\xf8\xb5\x65\xae\x05\x65\xd8\x90\xad\x6c\xaa\x53\xef\xac\x69\xb6\x80\x53\x2b\x49\xa8\x25\x47\x63\x82\x8f\xad\xee\x94\xaf\x04\xd9\x23\xfb\x96\x36\xa5\xa9\xdd\x0c\xa3\x5c\x75\x93\x2a\x7a\xca\x6e\x51\xfe\xd6\x14\x26\x21\x85\xfc\xa1\xc2\x3d\x00\x8f\x8f\x57\xf7\xee\x08\x42\xf2\xae\x63\xf3\xc0\xfe\xdc\xb0\x83\xba\xa9\xce\x2f\xa6\x1b\xb1\x1f\xb0\xa3\xa3\x7a\x1e\xe4\xda\xe2\x6e\x1d\x6b\x00\x02\xf3\x06\xfa\x8b\x0e\x03\x85\x1f\x10\xcd\xa0\x55\xca\xe3\xf5\x74\xab\xfe\xb7\xae\xa4\xc3\x99\xd5\x0a\xea\x7b\x68\xcd\x68\x6d\x05\xd0\xb6\x2b\x80\x27\x50\xd5\xd0\x11\x2a\xf2\x0f\x7b\x77\x3e\x7c\x20\x7d\x0c\xc4\xb0\x58\xc3\x57\xb4\xac\x98\x95\x73\x68\x55\x56\x6c\x46\xe2\x2c\x9d\x8f\x38\x2d\x12\x3f\x2d\xeb\x86\x67\x7f\x0e\xad\x35\x61\xcd\x60\x35\x28\xf3\xa2\xe0\xb3\x81\xea\xa4\xe5\xbe\xd5\xee\x00\x07\x7c\xbe\x22\x94\x20\xf7\xa5\x5d\x71\xbd\x61\x6a\xb4\x46\x5e\xb1\x03\xe9\x0d\x56\x30\xd4\x85\xe0\xfb\xc4\x12\x52\xd0\x7c\xc2\xfc\x24\xe1\x1d\xc1\x44\x4a\x65\x95\x20\xfa\x3a\x02\xa7\xe2\xfb\xca\xaa\x90\xbe\xd0\x6a\x24\x31\x9f\xaf\x36\x45\x77\xf2\xf9\x0a\x41\x5b\x6f\xb8\x9e\xaf\xab\xb6\x28\x3c\x15\x96\x7d\x77\x63\x84\xff\xae\x9e\xe7\x6e\xce\xab\x34\x66\x51\x1b\xa9\xd2\xa2\x6e\xbc\x1c\x0c\xd7\x65\xc2\x6f\x3a\x4e\xc4\x8b\x58\x4e\x25\xaa\x41\x58\x8e\x15\xd2\x84\x31\xa3\xf3\xd5\x90\x2f\x8a\x98\x6d\xe4\xa1\xe6\x05\x8b\x24\xd4\x98\xaa\xe3\xa8\x38\xc4\xcf\xbb\x15\xb7\x46\x5f\x42\xa1\xc8\xab\xe3\x3e\x3e\x65\x55\x78\xdf\x9b\xd8\xb1\x30\x87\x23\x5a\xb3\xd8\x90\x00\xa3\xe2\x97\x58\xcb\x48\xa1\x72\x62\xf7\xeb\xaf\xe7\xf7\xf6\xeb\x69\x16\x65\xc4\x93\x95\xf3\x98\x99\x91\x3b\x31\x6b\xdb\x1b\xb9\xc0\x85\x30\x8f\xa7\x68\x07\xc1\xd8\x34\x69\xe4\x32\x3f\xbb\x05\xaf\x94\x7f\xa2\x5f\x14\x3f\xa8\xc2\x60\xac\xa9\x35\xaa\x7f\x75\x8a\x05\x9a\xb4\x7e\x47\xb3\x8c\xfe\x82\xff\x3a\xce\x32\x58\x82\x82\xe5\xb5\x55\x40\x1a\x84\x5f\x55\x2d\xeb\x44\xd4\x6f\x00\x34\x23\x9e\x9f\x81\x93\x1d\x64\x9a\x58\xcc\xe7\xbc\xb0\x1c\x36\xba\xec\xbe\x62\x79\xd2\x55\x79\x94\x68\x5e\x1a\x54\x23\x5d\x0a\xdb\xc1\x64\x15\xf2\x1a\xe2\x39\x39\x3f\xeb\xfa\xd6\x44\xd9\x9c\xce\xe9\xa2\x7f\x8f\xa5\x59\xb1\x65\x16\xbf\xe3\x2c\xbb\xca\xf0\xe2\xb5\xd4\xd2\xeb\xda\xb1\x57\xd4\xb0\x99\x16\x89\x37\x3c\x22\xce\x22\xd6\x00\xc4\x4a\x6b\xa6\x2c\x01\xb2\x06\x54\x35\x90\xf2\xd2\x31\xc9\x39\xca\xa8\x90\x70\x19\x0b\xd5\x40\xc6\xf0\x32\xfb\x20\xaa\x7c\xdc\x88\x26\x66\x76\x0e\x0f\x62\xc8\x1c\xe9\x13\xba\x1b\xf0\x2a\x3f\x1e\xba\xc4\xb3\xca\x63\x2b\x75\xcf\x1a\x93\xae\x1c\x35\x3e\x93\x92\x44\x86\x32\x2a\x03\xa8\x55\x46\xb0\x59\x79\xd7\x46\x6c\x92\xe6\x39\x7a\x5c\x22\xda\x02\x66\x18\x94\xa6\x47\x5a\x54\x01\x42\xb7\x7e\x57\x67\x22\xf7\x4f\x0d\x94\xc1\x53\x23\x07\x2e\x8a\x40\x9e\xc8\x97\x74\xc6\xc8\xe3\x23\x12\xfd\xb2\x7b\x7d\xf5\x73\x14\xf0\x53\xd6\xab\xa4\xa9\x1b\x67\x91\x13\x9a\x93\xfb\xdd\x82\x2f\xa1\xc3\x0e\x86\x11\xa5\x15\xe8\xe7\x21\x92\x4b\x26\x45\xe7\x33\x86\x09\xcc\xd3\xbc\x54\xe6\x01\xa8\xd7\x25\xe4\x38\x49\x20\x44\xcb\x4f\x43\xa7\xe3\x1b\xca\x74\x94\xa5\xf9\xa4\x54\xad\x99\x6c\xea\xd6\x5a\x76\x1f\x69\xe9\xdb\x9d\xd8\xd1\x11\x89\xfe\x45\x10\x56\x44\x3e\xff\x1c\x86\x69\x93\xaf\x53\x6c\xf8\xea\xf8\x65\xe4\x23\x9e\xe4\xd2\xf7\xbf\x52\x3a\x14\xfc\x01\x90\x93\xc4\x4d\x9f\x90\x72\x4e\x95\xf3\xcf\x62\x6e\x30\x3a\x69\x8e\xbd\xc9\xd6\xe4\x8e\x78\x03\x70\x40\x2a\xd0\xf5\x1b\xc7\xaf\x66\x3f\xc4\xc9\x5b\x28\x20\x76\x3b\x6e\x21\x63\xb0\x33\x74\xb2\x63\xcc\xdb\x0d\x09\x42\xc5\xbf\xfc\x0c\x61\x7b\x7b\xe4\x0c\x22\x4d\x1a\xc8\xd4\x0a\x43\xb1\x09\x94\xe5\x89\x26\xcf\x4d\x79\x49\xad\xfb\x27\x4f\x50\xa3\xb8\x1b\xf2\xd9\x70\xca\x59\x77\x52\x8d\xc2\x65\x33\x7f\x08\x7d\xc3\xfc\xfe\x54\xea\x36\x01\x59\x8d\xe4\xcd\xf4\x0e\xfc\x4f\x23\xee\x9c\xdd\x57\x6b\x09\xdb\x2a\xa0\xf5\x21\x9a\xb6\x3e\x8d\xa4\x01\x70\xeb\xce\x82\x0b\xbe\xe6\x4b\x60\xd1\x5a\xde\x25\x79\xcd\x97\x3a\x78\x61\xbd\x67\x93\x43\x7b\x76\x35\x48\x18\x7e\x68\x24\x89\x2c\x1d\x75\x97\x71\xb7\x5c\x8c\xf0\x01\x6b\x15\x77\x1d\xfb\x94\x76\x74\x89\x0a\xa5\xe2\x56\x71\xd7\x26\xbb\xc4\xa6\x78\x5f\xc6\x70\xa0\xe0\x35\x01\x37\x08\x1c\x92\x76\x31\xd7\x58\x5a\x49\x1b\x39\xc5\x48\x5b\xc1\xa6\x24\x4c\x6a\x7c\x37\x09\x07\x01\x6e\xa8\xc1\x63\x14\x1f\x5d\xb5\xda\xce\x63\x6c\xbc\xa3\xa0\xd4\x63\x5b\x0c\x47\x67\x85\x90\x1c\x02\x85\xe5\x4a\x34\x0e\xd2\x55\xa8\x84\x80\x1e\x2c\xa9\xa3\x21\xb3\xc5\x0e\x89\xee\x3d\x1f\x33\x37\xba\xc4\x49\x2f\x73\xc7\x6f\x59\x42\x46\x2b\xdf\xeb\xe5\x47\xb6\xc2\xe5\x59\x62\x6c\xed\x4f\x37\xe4\x96\xad\xca\xaa\xe0\xb7\x70\xe6\x12\x56\xb9\x4c\x4e\x5d\x80\x13\xd7\xc3\x8d\x0c\x5d\xc7\xbf\x0a\x86\x69\xc9\x2b\x65\x26\xd7\x4d\x76\xc4\xb1\x7d\x7d\xf3\x62\xb7\xff\xe5\x86\x7d\xe4\xf9\x4f\x37\x3f\xea\x91\xb8\xc2\x9d\x3e\x91\x76\x64\x14\xcf\xb2\xab\x5c\xd7\x78\xef\xfa\xab\xad\x41\x5f\xb4\x4e\x9a\x41\x5f\xd4\x50\xf6\xdc\x1d\x08\x96\xbe\x95\x8b\xd6\x65\x79\xcc\x13\xa6\x86\xe4\xae\xf9\x05\x5d\xe4\xf1\x94\x95\x64\x51\x64\x78\x59\x41\xe4\x37\x1d\x35\x2d\xa5\x28\xf7\xfa\xfa\x42\x9c\x8e\x0c\xea\xd6\x6a\xad\x5b\xae\x39\xcb\x5f\x17\x0e\x6c\xc8\xa2\xc8\xcc\x2a\x21\x80\x42\x37\x9e\x16\x7c\x06\x11\x20\xce\x0f\x5d\xe9\xb7\x60\xbd\x3a\x2f\x78\x41\x06\x58\xfa\x6e\x9f\xd0\xf9\xbc\xec\xd8\x69\xd4\xd0\xe3\x34\x2d\xc9\xf1\xab\x73\x70\x37\x92\x5e\x0b\x44\x0c\x44\x36\x5e\xe2\xc5\xeb\x76\x01\x23\xbd\xa1\xa3\xd6\x3f\xa2\x45\x91\x45\x07\x62\xda\x1f\xeb\xfe\xef\x90\x05\x28\x15\x1c\xaf\x1c\xa8\xa8\x26\xa6\xd4\x21\xd1\xfb\x51\x46\xf3\x5b\x65\x6a\x58\xa6\x52\x88\xd2\x29\xc8\xf4\x16\x5c\xcd\x65\x30\xa5\xe6\xe7\x17\xc5\x26\x6d\x8b\xe8\x67\x28\x8b\xbf\x2e\xb2\x26\x0f\xc1\xaa\x58\x77\x6d\x3c\xb2\x1e\x6e\x54\x99\xe4\xdc\xdc\x7f\x1d\xc0\xb7\xa0\x79\x42\xd8\xfd\x5c\xfc\x07\xde\x65\x69\xc7\x5b\x11\xb0\x51\xa3\xf7\x1f\xda\x58\x0b\xa2\x54\x80\x1e\x86\x0e\x78\x61\x62\x1b\x46\xdc\x5d\x2b\x0a\x2b\xb1\x6a\xe3\xf0\xd5\x04\x60\x30\xe0\x02\x93\x13\x86\x99\x3e\xe7\x34\x66\x1d\xf9\x68\x74\xf5\x93\x6f\x0f\xd3\x33\x27\x19\x76\xed\x52\xc7\x6e\x09\x42\x4f\x4b\x02\x51\x6c\xca\x10\x27\x96\x1e\xbd\x70\x54\x8b\xca\x59\xfe\x5b\xb2\xdf\xfb\xe2\x39\xf9\xf0\x41\x8c\xbc\x5b\x32\x5a\xc4\xd3\xd6\xde\x9b\xb7\xe5\xdb\x37\x6f\xdf\xb5\xda\xff\xf8\xf8\xcd\xb7\x9f\x45\x6f\xdf\xfe\xf5\x6f\xef\xf6\xda\x90\xec\xae\xa6\x2c\x35\x7c\xd4\xeb\xeb\x73\x92\x02\xff\x84\xf2\x26\x4b\x94\xba\x0a\x48\xd7\x07\xe4\x00\xb9\xb3\xc4\xa0\x54\xd1\xca\xcf\x4c\x27\x88\x5b\xd2\x95\xe0\x2f\x6f\x73\x64\x91\xe0\xad\x93\x9e\x78\x65\x3c\x65\x33\xda\x21\x25\x27\xb4\x04\x9c\xc1\x69\x55\xcd\xed\x99\xc9\x49\x44\x7f\x7d\x43\x77\x7f\x3b\xde\xfd\x8f\x77\xf2\xbf\xbd\xdd\xaf\x77\xba\xbb\xef\x9e\x1c\xec\xed\x45\x6d\x1b\xfb\xce\xea\x1b\x80\x08\xd2\x8a\x65\x69\x59\x11\x4a\xc6\x6c\x49\x80\x80\x63\x9e\x49\x71\x3d\xa3\xf1\x2d\xa1\x8b\x6a\xca\x8b\xb4\x4a\x59\x29\xe1\x2c\x17\x9a\x7f\xcb\x81\xde\x94\xdf\xf8\xde\x5e\x97\x90\x8b\xf4\x96\x91\x19\x4d\xb3\x4a\x26\x6e\xd5\x1e\xa2\x62\xb8\xf3\x2c\xad\x5a\xd1\x41\xd4\x21\xfd\xf6\x9b\xde\x3b\x2b\x02\x85\x96\x8c\x44\x58\x2f\x32\x28\xa3\xda\xd7\x8e\xd4\xfd\x06\x15\x01\x46\x62\x51\xc4\x44\xc9\x8e\x52\x51\xd5\x2a\xbb\x61\x98\xf2\x9a\x03\x0d\xdf\xa1\x38\xe9\xc6\xc3\x38\x71\x54\x90\xd7\x7c\x89\x73\x96\x7f\x4b\xc8\x3b\xbc\xa6\x60\x45\x00\x54\x4e\x2c\x00\x58\xb6\x60\x85\x24\xa4\x67\x4e\xc6\x98\xca\x8b\x20\xaf\xc2\xf3\x4b\x51\xb0\xd5\x0e\x99\xef\x37\x77\x14\x73\x88\x76\x86\xe1\x39\x20\xff\x10\x0c\x63\x9c\x08\x75\x66\x69\x6b\x58\xfe\x5b\x01\x86\xbb\x8f\x84\xc9\xac\x97\xba\x1c\x1a\xa0\xf3\x24\xdb\x94\xf0\x4b\xce\xc5\xb9\xd6\x2c\x0f\x2f\x21\xad\xf1\x98\x95\x25\x4b\x4e\x56\xaa\xfa\x0f\xd0\x70\xf1\xde\xa5\xc4\x82\x4d\xd2\x52\x30\x68\x7c\x51\xc8\x41\xe0\x08\x0a\x85\xd5\xa1\x03\x82\x3a\x0a\xf1\x54\xfc\xb7\xb2\x12\x9d\x61\x63\x0a\x6a\x55\x02\xdf\x80\x47\x34\x2b\xba\x84\x5c\xda\xfb\x03\x74\xcd\xe3\x78\x51\x10\x37\x02\xc3\x34\xe4\x36\xa0\xe0\x0a\xc4\x19\x04\xd7\x8a\xfa\xb0\x46\x8b\x0a\x63\x34\xc4\x75\xb0\xa4\xb0\x8e\xaa\x31\xb9\x10\xa2\xc6\x8c\x54\xcb\x34\x96\x72\xc4\xde\x9e\xb5\x08\x31\x15\x35\x7f\x15\xa2\x96\x34\x91\x92\xd1\x62\x04\x22\x01\x19\x31\x15\x98\x81\x30\x76\x18\x6d\x4a\x40\xf8\xc2\xa8\xf9\x52\x5c\x10\xaa\x35\x31\x0e\x16\xf3\x42\xb9\xf8\x63\x6b\x7c\xf4\xab\xb8\x4f\xa4\x0f\x2a\xa2\xd3\x09\xc2\x5a\x09\x31\xae\x62\x34\x09\xe6\x58\x06\x31\x82\xcd\x79\x51\xc1\x12\x9e\xe1\x0a\x1e\x69\x9b\x3f\x1b\x33\x8a\x9f\xae\xa1\x54\xf9\xde\x8b\xc7\xb9\xab\xba\x33\xf3\x59\xc7\x8c\xdf\x55\xdd\xcb\xab\xd7\xc3\xb3\xf7\xd7\x67\xaf\xae\xae\x6f\xde\x9f\x9e\x0f\x8f\x4f\x2e\xce\x4e\xf1\xcd\x58\x4b\x3c\xe2\xbd\x29\x16\x4c\x5d\xc6\x57\x39\x3a\x23\x43\xfe\xa6\x3d\x19\x57\x01\xd1\xcb\x89\xda\x26\xf7\x18\x10\xd6\xb5\x8f\xdc\x11\xd1\xbe\x50\x2d\xd6\x8d\xc1\x12\xf9\xef\x64\xb7\xce\xf0\x05\x62\x50\xda\x64\x6f\x9d\xc4\xb4\xc1\xb7\x4a\x59\x24\x65\x16\x4b\x33\x2c\x0d\xb7\xa9\x47\xa6\x06\xf6\xcb\xfa\x0e\x37\xf7\x29\xf1\x51\x77\x2c\x94\x4a\xd6\x15\xe7\x19\x84\x66\x63\xbe\x17\x8c\x5d\x6d\x40\xdf\x36\xc1\xad\xea\xd3\x7c\xa9\x1a\xf0\x53\x0e\x17\x56\x38\xd8\x83\xe3\xbb\xc8\xe3\x1a\x09\xd6\xb5\x1a\x06\x01\x44\x07\xa0\x09\x86\x08\x60\x74\x73\x2e\x84\xc6\x3c\xc1\x68\x28\xfb\x2a\x90\xb0\x2f\xd8\xd2\x94\x8b\x57\x70\x3e\xef\x68\xf8\x65\x79\x92\x8d\x93\xaf\x1f\x21\x06\xc2\x8e\xa6\x31\xd5\x90\x19\x0b\x3a\x55\xf1\xb9\x02\xfa\xbd\x65\x6c\x5e\x06\x5b\x02\x35\x09\x40\x0f\x8d\x99\x60\xe3\xf5\x69\x16\x07\x36\xe3\x31\xcd\x50\xc6\x34\x52\xb8\xe6\x98\x5c\x82\xde\x25\x7d\xb1\x99\x9b\x22\x86\xf4\x31\x0d\x50\xde\x16\x4d\xd8\xb9\x5b\xc8\x56\x01\x70\x10\x7b\x27\x9f\x62\xcf\xf1\xee\x01\x41\x7b\x5b\x87\xda\x59\x0f\x7e\x23\x95\xdb\x4e\x4c\xac\x4b\xb3\xea\x47\xb6\x12\xbc\x61\x33\xbd\x29\x8a\xfb\xe9\x46\x12\x12\x96\x94\xae\xdd\x49\x5a\x9a\xf4\x29\xe2\xa2\x46\xb0\x51\xb8\x24\x59\x02\x5b\x69\x5a\xa1\x59\xb5\xab\x87\x22\x49\xce\xdc\x56\xf8\xe4\x18\x3c\x14\xa4\x00\x6f\xf3\x75\xfa\xbe\xfa\x2d\xac\x2e\x49\xfb\x56\xb0\x18\xf4\x33\x04\x27\x6f\x69\xd7\x1a\x4f\x6a\xc2\xab\x55\xc7\xad\xc3\x93\x32\x16\x4f\xf4\x32\x67\x45\x39\x4d\x35\x42\x1c\x8e\x56\x63\xce\x6d\x31\x2e\xf0\x2a\x77\x06\xd6\x24\x63\x68\xe3\xce\x0d\x3f\xcb\x13\xe3\x2b\xd4\x38\x1b\x68\xda\x72\x29\x0a\x3b\x1b\x39\x74\xd1\xbc\xd5\x1e\xd5\x24\xa3\x0c\x7d\x7e\x35\xea\x41\xcc\xe7\xab\x2b\x29\xe2\x79\xe4\xf9\x7b\x44\x2a\x5b\x27\xb4\x95\x31\x8e\x18\xad\xa3\x37\x66\x33\xe0\xc7\xac\x0b\x18\x73\x82\xc0\x3f\xff\x5c\x14\x8a\xab\x22\x93\xe4\xce\xba\x33\x56\xd1\x1f\xd9\xaa\xed\x90\xf9\x29\x1b\xf1\x05\xe4\x27\x17\x37\x17\x72\x11\x06\x0a\x57\x2e\x87\x7c\x56\x21\x48\x75\xc5\x17\x0a\x70\x31\xe1\x8b\x51\xc6\xa0\x84\x45\xf1\x4a\x2b\x01\xf2\x51\x5a\x75\x94\x5e\x00\x88\x7d\x9c\x16\x0c\xa5\x44\x3c\x0b\xaa\x07\xcd\x5c\x81\x99\xd0\xb4\x06\x02\x0c\x2e\x30\x4b\x3c\xc5\xb6\x4c\xcb\x88\xb1\xb1\x69\x51\x56\xc4\x1e\xac\x92\x37\xd6\x44\xbc\x4b\xf1\xc0\xdd\x92\xda\x67\xd7\x85\x45\xcb\x15\xb6\xd4\x6f\x03\x6d\x6e\x78\xba\xed\xff\x3d\xd3\x6e\x22\x41\x4c\xf6\x8d\x37\x1a\x16\xc1\x21\x21\xff\x25\x78\x8d\x81\x58\x04\xf4\x29\x81\xf7\x7d\xb4\xa8\x2a\x9e\x8b\x26\xf6\xc9\xde\x13\x89\x3e\x28\x7f\x7c\xb2\xd7\x26\x1f\x3e\x58\x43\xb6\x8b\x9b\x76\xa1\xb5\x13\xf8\x60\x7b\xee\x18\x87\x33\x70\x28\x69\xb5\x6d\x47\x9d\x98\xe7\x25\xcf\x58\x57\x06\x58\xb4\xa2\x01\x78\x18\x03\x02\x2e\x0c\x6e\x46\xf3\x05\xcd\xb2\x15\x49\x30\x34\x65\xc9\x46\xa4\x60\x98\x72\x5d\xb0\x08\x51\xfb\xd0\xc5\x50\x5f\xb3\x2c\x8b\x79\xe4\x4f\xb6\x17\x3c\xc2\xf6\x8b\xe8\xe3\x95\x7a\xf7\x92\x6d\xfa\xf4\xde\xa5\x4f\x3d\xb5\xb5\x71\xcf\xf8\x1d\x8b\xf0\x74\xd6\x26\xd4\xb6\xc7\x6a\x71\x7c\x27\x28\xaf\xe0\xb3\xc8\xf2\x09\x9d\xd8\x03\x14\x47\x3a\x2d\xf1\x67\x8b\x39\xdb\x55\x52\x0e\x6a\xc9\x79\xae\x22\xf9\x35\x9b\xd4\xad\xbb\xb8\x85\x7a\x0a\xde\xed\x81\xe2\x96\xe7\x1e\x89\xd0\x77\xc3\x59\x8e\xbd\x3d\x72\x36\x5b\x64\x42\x7c\xa1\x85\x60\x55\x6e\xd9\x4a\x08\x45\x65\xc9\x04\x73\x47\x75\x92\xa3\x29\x63\x99\x33\x44\x4f\x8b\xfb\xb3\x28\x70\x2c\x9a\xf8\x91\xad\xca\xf7\xf5\x7b\xd0\x5d\x43\xad\x8c\x85\x44\x0c\x08\xf5\x2a\xc3\xcc\x34\x84\x6d\x5a\xbe\xb2\x61\xb5\x5a\x6d\xf7\xc0\x59\x7b\x05\xa3\x8b\xec\x33\x21\x13\x60\x57\x34\x68\x7d\x37\x23\x3e\x15\x65\x5a\xcc\x72\x49\x13\x35\x33\x99\xd4\x1f\xd1\xe2\xcb\x19\x2d\xaa\x17\x19\xe7\xc5\x69\x7a\x97\x26\xac\xe5\xdc\x2d\x00\xd3\x4f\x47\x65\x0b\xba\x6b\x77\xb6\x94\x44\x74\x66\x08\x39\x56\x0a\x43\x8d\xde\xde\xf7\x47\x57\x11\xd9\x21\xd8\x1c\xf9\x86\xf4\xc8\x77\x24\x3a\x89\xc8\x01\x89\x8e\x23\x6b\x9c\x4a\xd3\x2d\x78\x6d\x99\x0c\x5b\x34\xd2\x2d\xd8\x9c\xd1\xaa\x05\x53\x68\xdb\xdd\x34\xfb\x03\x7f\x34\x4f\x35\xf2\x25\x7b\x4f\xcc\xf6\x06\xde\xec\x27\x7b\x35\x87\xf4\x6d\xce\xc4\x16\x17\xa9\x14\x6c\xee\x82\x67\x06\xac\x97\x10\x84\x23\x9a\xb2\x24\x06\x1d\x25\x81\x15\xc4\x78\xed\xf6\x80\xdb\xd7\x20\xbf\xdd\x6d\x0f\xb3\xc7\xd6\x6d\x77\xc6\x1c\xb1\xf6\x59\xdb\x8b\x25\xde\xd4\x86\xf2\x84\x35\x22\x68\xa0\x11\x8b\xa1\x0f\xde\x63\xde\x6a\x5e\x4d\x95\x3c\x64\x39\x06\x25\x05\x9d\xec\xaa\xa3\x4d\x0d\x33\x4d\x8e\x5f\xdc\x9c\x5d\x5b\xcc\x26\xf0\xcb\x76\x73\x69\x2e\x91\x2c\x40\x83\x88\xb8\xac\x9c\x93\x4c\xa2\xa2\x36\xde\x78\xde\xb2\x3f\x94\x0d\xdd\x86\x7c\x8d\x96\x5d\xe9\xfe\x2c\x4f\xf6\x35\xcf\xd5\x83\xdf\x1f\x00\x33\x01\xb5\x07\xb2\x6b\x3c\x27\xb2\x3d\xb1\x3c\x72\x61\x60\x5d\x2b\x36\x9b\xf3\x82\x16\xa9\x78\x5f\x6d\xd1\x84\x50\xad\x47\xb3\x45\x93\x2e\x21\x57\xb9\x28\xcb\xb1\x65\x2d\xf2\x1a\x76\x4b\xb0\x87\xa8\xd2\xe7\xb0\x97\xb6\x26\x0a\x34\x62\xe9\x6c\xc6\x92\x94\x56\x2c\x5b\x91\x5b\x99\x7a\x1b\x42\x5e\x4b\x5f\xa4\xd9\x46\x70\x70\xa2\xa7\xd0\x77\xbc\x54\x61\x4a\x42\xe0\x2e\x50\x5a\x4f\x4b\x99\xf3\x72\x05\x28\x17\x70\x2a\x73\xbe\x24\x74\xc4\x17\x95\xa3\x07\xb0\xd5\xb1\xc8\xe7\x1a\x5c\x6d\x15\x2c\x4d\x49\xce\x8b\x19\xcd\xc8\xe9\xd5\xa5\x02\x80\x31\x3c\xa5\x5c\xc0\x24\x01\xe9\x98\x66\x90\x22\xc2\x92\xca\x23\xd0\x46\x44\xae\x9c\x1d\x59\xca\xdd\x3f\x4b\x3f\xeb\xab\x67\x89\xe3\xa8\x26\x04\xcc\x25\xea\xa9\xe3\x45\x29\xa1\x19\x6b\x63\xd1\x01\xc3\x12\x4e\x02\x43\x86\xd3\xb1\xfa\x5b\x45\x0a\x3b\xd9\x40\xd7\x0e\x0d\xc0\xdf\x07\xd0\x9b\xa3\x40\x96\x0d\x36\xe5\x29\x08\x40\x63\x74\xd4\x20\x6c\xd0\x44\x1b\x98\xc3\x18\xdf\xd5\xe8\x8f\x8e\xf0\x16\xb5\x0d\xf0\x8d\x30\xef\x8f\xc2\xeb\x55\xb9\xb9\x19\x2d\x88\xa4\x8d\x73\xc7\x6a\x01\x73\xa0\xbc\x87\x1b\x03\xeb\xd7\x8c\x46\x3a\x12\x02\xf7\x9c\x58\x1e\x63\x7a\x84\x6b\xc9\x4b\x50\x34\x32\xde\x0f\x25\x31\xe0\xfe\x43\x26\x00\x8b\x7f\x40\x17\x62\x15\xab\xda\xda\x7b\x9b\xef\xcd\x26\x1d\x12\xbd\x95\x71\x33\xb2\x58\xd0\x1e\x2e\xbe\x19\xe7\x09\x47\x49\x38\x2a\x68\x7c\xcb\x2a\x96\xc0\x18\x70\x2f\x6d\x8e\xe5\xcd\x7e\xaf\xf7\x9f\x82\x6b\x81\x1f\x77\xf4\x8f\xfd\xff\x8c\x1c\xab\xbc\xc7\xab\xac\xdd\x71\x0c\xd2\x2f\xa4\xd1\x47\xf0\xfa\x96\x6f\xfe\xf6\x6b\x0d\x15\xb5\x55\x66\xed\x02\x0f\xf8\x7c\xd5\x64\x62\x41\x2e\x67\x51\x32\xf9\xfa\xfc\x0c\xf6\x6d\x51\x43\x3d\x0a\x4d\xef\x93\x2f\xb4\x36\x49\x2d\x4e\x96\x88\x5e\x20\xb7\xc9\xba\x03\x81\xc8\xa0\x9e\xf3\x3f\x3c\xfa\x1a\xa1\x40\xde\xd9\x42\xf0\x4b\xd2\x82\x01\xbe\x88\x32\x72\x89\xfd\x47\xc6\x00\x00\x6e\x51\x69\x0a\xfa\x51\x79\xbd\x22\x7a\x81\x9f\x72\x48\xf0\x15\xb4\x22\xb7\x29\xba\xec\x41\x2b\x23\x96\xf1\x7c\x52\x62\x36\x35\x83\xbe\x0a\xf6\x9e\x27\xc4\xc1\x58\xed\xa8\x27\x4c\xbc\x96\x31\xcd\xc5\xcd\xcf\xee\x59\xbc\x10\xe7\xca\x81\xdf\x50\x1a\x6e\x78\x5a\x15\x20\xe8\xbc\xe0\x93\x82\xce\x66\xb4\x4a\x63\x82\xde\x35\x78\xa7\x6e\xdc\xe8\x6b\x58\xad\x06\x27\x01\x54\xb6\x0e\x64\xa6\x29\x2b\x0d\x5a\x8d\xaf\x17\x8c\x02\x48\x26\xe8\x57\xb5\xc1\x40\x41\xb6\x36\x18\x7c\xf8\x40\x7a\x87\x26\x8f\xa3\x1a\x4a\x83\x30\xd2\x3c\x2c\x85\x45\xbb\x5e\x17\xb2\xa5\xe1\x04\x07\xa5\x93\x6d\x99\x35\xfa\x46\xc8\xf8\x1f\x3e\x98\x91\x8a\x1f\x5c\xa3\x23\xbd\xe3\x69\x22\xa5\xdc\x32\xad\x16\x78\xe3\xcb\xc8\x65\xe0\x19\x24\xe8\x4a\xc9\x67\xac\x4a\x67\xcc\x62\x7c\x14\xb1\xa9\xe6\x26\xac\x12\xe4\x2e\x38\xdd\xc4\x5c\x08\x1a\xc4\x90\x17\x24\x59\x14\xca\xb0\x9f\xe6\x69\x95\xd2\x8c\x64\x9c\x26\x1d\x69\xa3\x40\xeb\x9f\x6a\x2e\x61\x34\x53\x8a\x36\x5a\x29\x5b\x21\x1e\x1d\x41\x92\x60\x88\x94\xa3\x4b\xc7\x80\xe9\xc2\xb4\xeb\x83\x7b\x15\x89\x8f\x31\x88\xd2\xa5\x6d\xe8\x30\x90\x57\x82\xe8\x3a\xc0\x85\x8b\xf1\x09\x7e\x2d\xbd\x43\xf7\xae\x9e\xe0\x93\xee\xd0\x8a\x22\xad\xee\xe2\xd2\xeb\x91\x3b\x9a\x2d\x58\xd9\x68\x2d\x4c\xcb\x97\x6c\x29\xfd\xd1\x9c\x4d\x79\xdc\x94\xdc\xce\xd1\x32\xe9\xff\xe9\xbd\x0b\xd4\xb3\xe5\x55\xdc\x4e\xc5\x9c\x8a\xdb\x4e\x65\x3a\x07\x00\xa3\x24\x4d\x04\x03\x8a\xa7\xb0\x83\x06\x56\x04\xb3\x03\xef\x11\x76\xc7\x8a\x15\xa6\x1a\x4e\xcb\x47\x4a\x9a\x90\x00\x38\x8a\x9d\x80\xfb\x41\x74\xfc\xde\x9e\x50\x47\x0f\xd1\x82\xa1\xf3\x20\x50\x1e\x00\xaf\xf0\xf8\x48\xe5\x4a\x15\xd4\xac\x57\xd1\x62\x52\x2c\x5f\x3f\x1f\xab\xd9\x67\x77\x1e\xc8\x4a\x0c\x59\x71\x97\xc6\x0e\xf2\x1f\x22\x0d\x5b\xf0\xc5\xeb\x9f\x29\x0b\x83\x34\x8c\xff\xf3\x38\x64\xe2\x73\x20\x48\xb7\x04\x14\x6d\xb2\x1e\x3e\x04\x43\xcd\x90\x5c\x83\x31\x49\x87\xf0\x41\x14\xa3\xe3\x2d\xb5\x11\xf1\x95\xd4\xd5\xc5\x1e\x94\xb2\xf7\xfa\xce\x56\x57\xce\x02\x3e\x44\x4f\xec\x0c\x0a\xaa\x0f\x56\x71\xc6\xde\xbf\xe9\xbd\x6b\xc8\x98\xb6\x15\x12\xee\x3f\x7f\xfc\xfd\x77\x01\xa0\x0c\x09\xd2\xac\x8d\xca\xeb\x70\x9a\xeb\x85\x2c\xa8\xe6\x3b\x21\x74\x81\x41\x4d\xdb\xa7\x7d\xd8\x66\x70\xfb\xfb\x53\x80\x9b\xc3\xc3\x7f\x38\x76\xb3\x8e\x2c\xde\x02\xbe\xd9\xcb\x6c\xe7\x57\x95\xe5\x83\x90\xd8\x8e\xb6\x15\x3c\xe3\x67\x08\x27\x96\x82\x6b\x8d\xc9\x60\x87\xc9\xd5\xc8\x94\x2f\xc9\x98\x96\x58\x79\x4e\x27\x98\xe0\x08\x1a\x01\xb5\x84\xa7\xb6\xad\xad\x65\xdf\x5f\x4a\x05\xc6\x61\xba\x45\xa1\xd8\xfc\xb9\x6d\xea\x9b\xa1\x51\xb2\x5e\xf2\x3b\xa6\x60\xd1\x0a\x07\x04\x43\x37\xbb\x69\xf9\xea\xed\xd8\x95\x5d\x17\x76\x21\x5f\x12\x2a\x96\x91\x8d\x9c\x74\x73\x25\xc1\xb8\x4d\x78\x73\x9d\x14\x81\x9b\xf0\x27\x1b\x64\xd6\x06\xb9\x32\x9c\x3e\x6d\xcc\x8b\x33\x1a\x4f\x4d\xf4\xb5\x65\xc4\xc9\xb1\x87\x96\x83\x56\xb4\xa6\x2d\xe9\x61\x79\x24\x78\xb2\x8f\x87\x8f\xf6\xf6\xc8\xf0\xea\xf5\xf5\xe0\x8c\xbc\x38\xbf\x38\x3b\x40\x77\xf1\xbd\x5f\xcb\x3d\xf8\xc7\x7b\x35\xd5\xf7\x29\xef\xfe\x5a\x8a\xd2\x42\x70\x41\x0b\x54\x2b\x6e\x93\xfd\x5e\x7f\x1f\xb6\x19\x4c\x84\xe9\x62\x46\xae\x86\xe4\x18\xfc\x10\xcb\x2e\x39\xce\x32\xb4\x56\x61\x92\xa4\xe2\x4e\xc8\x19\x7b\x7b\xe4\x75\xa9\x01\x41\x09\x86\xb3\xa2\x04\x90\x96\x64\x22\x9e\xcf\x1c\xd7\x99\x92\x93\xe1\xe9\x2e\x42\x5b\x66\x69\xcc\x72\xe5\x5c\x85\x1c\xbf\x68\x69\x0c\x39\x56\x24\x8f\x7f\x71\x3e\x38\x7b\x39\x3c\x23\xe3\x54\x5c\x0c\x8f\xa2\x45\x89\x81\xc6\x71\x25\x64\x49\xc1\x04\x17\x55\xc2\xe6\xad\x48\xfc\x13\x45\xd7\xd7\x37\x2f\x9e\x43\x48\xaa\x76\x9c\x9f\x2f\xaa\xbd\xab\x45\x05\x70\x8a\xe0\xe6\x41\x63\x90\x28\x61\x44\x3a\x33\x0e\xc8\x95\xb3\xd9\x22\x17\x6b\x6b\xa5\x1e\xf5\x73\xaa\x0e\x54\x85\x2c\xbd\x65\xe4\x6f\x39\x2d\xcb\xe9\xdf\x80\x59\xfb\x5b\x5c\x70\xf1\xef\x82\xc5\x2c\x05\x06\x0e\x3c\xbc\xa8\x60\x6c\xd5\xda\xc4\x19\x2d\x4b\x82\x09\x51\xe7\x26\x6f\x52\x5a\x10\x5a\x4c\xee\xa4\xaf\x98\x3a\xdc\x90\xa7\x47\xb9\xaf\xa9\xf4\x47\x15\x66\x4e\x2c\x18\x35\x2c\xaf\x9d\x12\x01\x46\xce\x17\x15\x61\xf7\x73\x5e\x4a\xe6\x77\x86\xd5\x08\xcb\xab\xb4\xf0\x71\x33\xf5\x28\x6d\x6d\x1c\xa6\x8e\x51\xcb\x83\xa1\x48\x96\x8a\x8f\x11\xd7\xa9\xbe\x8d\xc9\xf3\x8c\x48\xdf\x26\x33\x56\x4d\x39\xe6\xb7\x73\x67\xaf\xd1\xf3\x2a\xae\xd7\x4a\x87\x17\x94\xba\x21\xc2\x71\xcf\x14\x92\x2c\xfa\xe5\x42\x2a\x2f\x56\x56\x69\x4e\x2b\x2b\xcf\xcc\x79\xc9\x33\x5a\x39\x69\xfb\xb4\x3c\xa0\x57\x66\x5e\x70\x21\x25\xa1\x44\x6b\x02\xa3\x46\x2c\x67\xe3\xb4\x2a\x0f\x44\x43\xbb\xe4\x95\x2a\x45\xc9\x8c\x09\xf6\x35\x2d\x31\xe1\x2d\x95\x4c\xb9\xcc\xd1\xe1\xae\x80\x37\x7f\x84\x0e\xd2\xde\x94\x98\x45\x23\xbf\xe3\xe0\x88\x5d\x2e\x46\x7a\x94\xad\x92\xe1\x7a\x42\x42\x45\x5c\xc6\x39\x9f\x9b\xf5\x03\x97\x55\xb2\x0b\x9b\x92\xe2\x2c\x79\x0e\x29\x34\x4a\x40\x07\xa5\xa5\xbc\x88\x21\xab\x86\x54\x24\x8a\x35\xd6\xdb\x0b\x23\xc3\x30\x61\x3d\x32\xd8\x09\x21\x5a\x49\x62\xc1\x27\xc4\x5e\x3f\xd9\xed\x79\x0e\x3d\xbf\x58\x54\x82\x6b\x37\x39\x11\xe9\x8a\x14\x0b\xf0\x36\x13\x17\xeb\x92\x17\xb7\x72\x9e\x85\x94\xe2\x96\xa8\x15\xce\xb3\x15\x28\x71\x47\x19\xc3\x9e\xc5\x76\xd2\x0c\x72\xb2\x53\x52\x23\x41\x9d\x6f\x9f\xe6\xe4\xfc\xd5\xc0\xec\x80\xff\x36\xb9\x24\x1c\x0c\xd2\x3d\xbf\xb2\xaf\x64\x45\x05\xd6\xd5\xac\xaf\x42\x72\xa4\x89\x44\x89\x36\x62\xd2\xe7\x57\xca\x79\x13\x28\x55\xed\x3a\x39\xbf\xea\xc2\x16\x69\x49\x45\xc5\x47\x9e\x5f\x19\xb8\x8a\xff\xc5\x19\xfb\x5f\x9c\xb1\xff\x62\x9c\x31\x41\x97\x1b\xa1\xc6\x14\xc8\x45\x0d\x6e\xcc\x3d\x12\x4e\xf8\x5a\xb0\x92\x43\xe2\x10\xa7\x43\x73\x32\x2e\xe8\x4c\x83\x89\xa8\xb0\x41\xeb\x69\xca\x13\xbe\xec\x90\x39\x17\x0f\x71\x62\xc2\x3c\x65\xb2\x79\xd1\x92\x8c\xef\x81\x8c\x63\x82\x55\x45\x7f\x94\x25\x8b\xb2\xcc\xca\xeb\xcd\x64\x1e\xab\x3d\x85\x52\xb1\x27\x3d\xaf\xc5\xe5\x28\x85\xdd\xae\x3a\x3f\xa0\x3d\x96\x54\x0e\x3a\x1c\x79\x21\xa9\xac\xf4\x7b\xa8\x31\xc5\x67\x41\x4c\x60\x5d\x7c\xd7\xcd\x94\xe9\x18\x2f\x4e\x35\xa7\xa2\xeb\xe9\x4a\x57\x70\x75\x20\x89\xc9\x11\x91\xab\x39\x5a\xa9\xe4\x3a\xa9\x81\x12\xf2\x92\x57\x24\x9d\xcd\x11\x43\xa4\xc1\x96\xe1\x6c\x2f\x32\xaf\x2f\xa0\x19\x37\x62\xac\x63\xf7\xe8\x00\xcd\xe4\x6c\x29\x9f\x7e\xa8\xd7\x72\x77\xbc\x43\x6a\x95\x5d\x56\x1a\x9e\x16\x7c\xab\x0a\x05\x7c\x29\xb6\x44\x30\x67\x3a\xf2\xc1\x67\x97\xe4\x6a\xc8\x62\x10\x25\xac\x97\x53\x2c\x65\x0e\xeb\x30\x6e\x6a\x56\xbc\x12\x82\x13\xa1\x55\x58\x93\xeb\x92\x3c\xab\xd4\x87\x57\xb2\xbe\xb5\x34\xd6\x10\xc2\x04\xcf\x2a\x59\xcb\x29\xea\xae\x01\xac\xba\x0c\xe9\xab\x3f\x37\xfa\x15\x03\x96\x49\xbc\xc7\x69\xa5\x38\x29\xe9\x4e\x7a\xa3\x55\x98\x4f\xd4\xe3\x42\xcb\x92\xc7\xa9\xb1\x06\xa3\x01\xb5\xc6\x93\xa5\x90\xda\x1e\xf8\xd6\x8a\x93\xb9\xb8\x50\x62\x9e\x57\x05\xcf\x6a\x17\xa8\x78\xb8\xc6\x63\x7c\x62\x0d\xb3\x81\xc9\x51\x81\x5b\x92\x0f\x98\xe4\x31\x94\xbe\x5d\xb5\xad\x9e\x3a\xd5\xbc\x31\x3c\xeb\xb6\x04\x27\x30\xcf\x58\x53\xe6\x17\x67\x5b\x04\x67\x13\x56\xaf\xa7\x5c\x3c\x97\xa1\xa5\xf4\x68\x13\x4d\x51\x5c\x9b\xa9\x06\x74\x2e\xf8\x91\xe4\xbd\x6f\xbf\xd2\x1f\x50\xa1\xc7\xbb\xae\x06\x5f\x1a\x5d\xf4\x4f\xb2\x59\x4b\xb1\x8e\x9a\x3d\xf9\xb7\x6a\xc4\x7d\xdf\x3d\xba\x49\xf9\x61\x9d\x98\x60\x66\xe2\x8b\x39\x7d\xe2\x2f\xc7\x84\xa3\x9c\x06\x0c\x51\x44\xa5\x41\xa3\xd0\xcc\xc7\x16\x0b\x0c\xde\x26\x21\xe1\xd3\x1b\x90\xcf\xac\xb8\xb4\x8d\xea\x6c\xd8\x6c\x30\xdd\x89\x4b\xb6\x54\x3a\x5b\x69\x9e\x74\x40\xd4\x25\x59\x29\xc1\x68\x9d\x3f\x80\xc5\xea\x3b\x39\xdf\xf9\x98\xcc\x65\x7c\x00\x38\x2c\x6d\x8e\x51\x86\xa1\x81\xde\xa1\x21\x13\xbf\x77\x25\x28\x8e\xbc\x29\x00\x79\x6f\x8f\x5c\xd9\x43\xed\x3e\x32\x7e\x92\x19\x9f\xb4\xa2\xd7\x39\xb2\xf1\x36\x7b\x7f\x40\x64\xc0\x9b\x68\xa6\x71\x15\xa9\x39\x91\x6b\x23\xb2\x3f\x75\xe5\x8c\xd0\x64\x73\x8b\xa6\x2b\x58\x2a\xa5\x5e\x43\xe9\x38\xa9\xa7\xe8\x88\xc4\xb4\x76\xe1\x73\x9a\x4f\x22\xb4\xa6\xa9\x8b\x78\xbb\xa0\xf1\x5b\xb6\x22\x25\xfb\xfb\x42\xd5\x58\xbf\x27\x5b\xc5\x85\x6f\xb1\x2d\x7c\x04\x0a\x88\x22\x71\x42\xde\x71\x6b\xfe\x32\xbc\x7a\xd9\xc5\xf6\xd2\xf1\xca\x0b\xef\x5e\x3f\x38\xf5\x7b\xc0\x30\x08\x66\x93\x0e\x51\x66\x30\x75\x8d\xf1\xd1\xaf\x16\x66\xbe\x04\xa0\xe0\xa3\x5f\x95\x4a\x87\x8f\x7e\xf5\xee\x21\x68\xe8\x50\x7f\xb4\xee\x1f\x6c\x5b\x7f\x22\x47\x50\xc0\x39\xb3\x4e\x34\xa5\x37\x5c\x6f\x88\x8d\xa4\xa9\x09\x13\x18\x9f\x54\x79\xa0\xfc\x6e\x92\x44\x4e\x2a\x4c\x35\x1f\x04\xd3\x37\x11\x5c\xb7\xc5\x10\x26\xd5\xb4\xbb\x55\x51\x9c\xd1\x36\xd4\xe5\xae\xc8\x86\xfd\xab\xd3\x99\xb5\x62\x3f\x83\xc6\x85\x02\xdc\xc1\x73\x7d\x82\x46\xab\x8a\x79\xc0\x7b\x0d\x5c\x4f\xe8\xb8\xb8\x6d\x99\x66\xe6\x45\xda\xe0\x96\xe0\x4c\x0f\x94\x40\xaf\x6f\x5e\x3c\xdf\x08\xa8\xe0\xdc\xfd\xd2\x96\xa7\x8c\x5a\x05\x5f\x92\xe8\x18\x53\x6b\xeb\xce\x55\x24\x94\x64\x58\xcc\x03\x64\xf9\x6d\x58\x8d\xaa\x64\xed\xad\xd0\x35\xf8\xe0\x95\x93\xfa\x18\xa9\x94\x2b\xb2\x5a\xaa\xe0\x3f\x69\x29\xb3\xfc\xff\xc5\xc5\x04\xb7\x99\xe2\x6d\x1e\x35\xaf\x6a\xff\x4b\xf2\x17\x7a\x47\x87\x71\x91\xce\xab\x4f\x27\xc7\x07\xaf\x1a\xce\xee\x68\x2b\x22\xed\x7f\xd9\xb4\xb0\x30\x7f\x4d\xcb\x2d\x57\x7d\x1b\x46\xe3\x78\x05\x1d\x6f\x3f\x79\x87\xa2\x80\x63\x97\x10\x52\x7f\xce\x92\x64\xf9\x36\x8b\x02\xe4\xb6\xcd\xb2\x20\x5d\xae\x5d\x98\x8d\x8a\xfe\xfb\xea\x3d\x35\xb0\x45\xff\xb3\x94\xfd\x80\xff\x5c\xda\x8a\xfe\x01\xcf\xcb\xaa\x58\x80\x4d\x5f\x48\xa3\x0e\x6a\x93\x3c\x7d\x36\xa3\x54\xea\x1f\xc9\x0c\xd2\x3a\x00\x28\x2a\xea\x7e\x30\x8a\x49\x2d\x1d\x29\x17\xf1\x94\x50\x08\xef\x97\xf8\xd3\x7b\x90\x15\x46\x23\x56\x13\x18\x4e\x87\x8c\x78\x06\x4e\x99\x69\x5e\x75\x48\x5a\xd1\x2c\x8d\x3b\x68\xd1\xef\x90\x45\x9e\xb0\x42\x90\x20\x3a\x9f\x88\x99\xdd\x32\xa9\xee\xd4\xc3\x72\xc6\xac\x64\xc0\xd2\x17\xd0\x62\x35\x55\x42\xa5\x5f\x1b\xb8\x6e\xb1\xc2\xe8\x10\xa4\xa6\xd7\xe6\xd7\xcd\x84\x20\x4c\x52\x1c\x17\x56\x56\x60\x16\xb8\x4f\x4b\x50\xfe\xba\x8d\x8d\xd1\x4f\x4b\x88\x7a\xb4\x4a\x47\x69\x96\x56\xab\x7a\x2e\x25\x8b\xc4\xd4\xd9\x8a\xcd\x56\xd8\x67\xed\x87\x9b\xcb\x8b\x53\xe9\x9c\xf3\xd1\xb8\xe9\xdc\x80\xb9\x12\xda\xd2\xbf\x49\x7c\x1a\xe0\x55\x40\xd5\xa1\x35\xd7\x04\x04\x46\x67\xa0\x9e\x0c\x6a\x83\x75\xd9\x07\x4d\x35\x6e\x1d\x35\xed\xe8\x4d\x8e\x74\xdf\x87\x5a\x01\x5c\x32\x9d\x11\xd2\xc5\x80\x90\x44\x2f\xc5\x6e\xc4\x3f\xa7\x25\x61\x69\x35\x65\xc5\x81\x04\x60\xbc\x1e\xbc\x3f\x3d\x7b\x71\xfc\xfa\xe2\x86\x90\x16\x78\x2d\xf3\x1c\x08\x4b\x3a\xf5\xb4\x4d\xb9\xeb\xef\x4f\xd0\xf4\xd7\xd2\xaa\x30\x71\x28\xa2\x62\x32\x6a\x91\xa2\x43\x26\x1d\x32\x6a\x47\x62\x3f\x66\xb2\x16\xea\x2f\xa5\x25\xbf\x55\x43\x6b\x4a\x01\x1d\x0c\x9e\x20\x1c\xdd\x9c\x66\xac\x42\xeb\xd1\xa2\x04\xdf\x16\x98\xbf\x21\x68\x17\xdc\xd6\x1a\xbc\x31\x3e\x6a\x6a\x5f\x53\xd6\x5e\x3b\x1b\x40\x83\xc6\x53\x14\x75\xc1\x89\x49\x2b\x08\x61\x6c\x95\x58\x60\x0c\x36\xf4\xc7\xf3\x48\xa3\x4b\xd4\x7a\xb7\xf7\x23\xa6\x39\xcf\xc1\xad\xc0\xf8\x48\x79\xf3\x53\xa3\x95\x23\x7d\x3f\xb8\xba\xb8\xba\x0e\xcc\xad\xa1\xdc\x23\xe3\x20\x2f\xf6\xee\x85\xdd\x2e\x6c\xd3\xfe\xb3\x67\x1d\xa2\xfe\x4f\xdb\x40\x9c\xcb\x0a\x27\x76\x07\x50\xa1\xd7\x21\xe2\xff\xb5\x2d\x7e\x40\xdc\x1e\xb6\xbb\x3d\x4e\x81\xc2\x7b\xeb\xfd\x8a\x77\x4b\xed\xe7\x91\x4a\x32\xee\xfc\xaa\x6f\x9e\xda\x17\xe7\x12\xaa\x77\x22\x6d\x0b\x81\xdf\x8d\xe3\x83\xf3\x65\x19\x4b\x18\x5d\xf7\x67\x5a\xc6\x69\x2a\xbf\xa8\x30\x1a\xe9\xe9\x92\xb1\x53\xf4\x1d\x96\xe8\xa5\x3a\x9c\x2f\xe3\xc5\x2b\x49\xb4\x06\x01\x5c\xf9\x5d\xb1\x6a\x60\x15\xf0\x9c\xaa\xce\xc7\xd8\x3d\xa0\x5d\xa5\x93\x5c\x69\x59\x60\x79\xf5\x6d\x15\x54\xac\x8d\xe1\xed\xd0\x58\x25\xa0\xa8\xa7\x58\x51\x2c\x05\x26\x8e\xa5\x15\x22\x68\x27\xe9\x18\xa4\xe4\x4a\x1b\x32\x74\x8e\x57\x19\xb1\xb0\x44\x3c\x7c\x59\xb5\xf9\x96\xb2\xb8\x04\x84\xb6\x3e\x41\x4a\x90\x70\x1b\x66\x5e\xe2\x87\x0e\xdc\x8c\x23\x7c\xc4\xf1\x19\x24\xad\x74\x4c\xe8\x1d\x4d\x33\x51\xb9\x0d\xd3\x80\x41\x83\x03\xb8\x3d\xd1\x92\x55\x2a\x66\x5e\xdc\x11\x73\x96\x27\x2c\x57\x56\x68\x62\x75\x2e\x0b\x3e\x70\xcc\xc7\xe5\x49\xa1\x12\x2c\x3a\x63\x3f\x26\x78\x3d\xb1\x0c\x1f\x2f\x9a\x57\xda\xf9\xf1\xb3\xe5\x94\x56\x0a\x3c\x4b\xbb\x3c\xe2\xdd\x00\xe3\x94\xc6\x63\xbc\x3e\x3f\xdb\x6a\x48\xce\xf1\xd5\xfe\xb2\x12\xa9\x3b\x5f\xcc\x5a\x91\xcd\x3a\x1c\x9b\x41\x49\xe6\x4f\xbd\xb4\x78\x1f\xaf\x70\xd7\x35\xaf\x23\x47\xe6\x5d\xe8\x5b\x0d\xcc\x7e\x16\x8e\x48\x24\xab\x8a\x4b\xe0\x81\x83\x71\xdf\x21\x6a\x46\x45\x11\x92\x0b\x3c\xac\xed\xf7\x43\x9b\x59\x8a\xad\x07\x2a\xde\x25\xbc\xae\x22\xb3\x58\x37\x8e\x8b\xad\x04\xb7\x81\x28\x30\xa5\x2c\x58\xe2\x21\x10\x6f\x74\xce\x13\xe6\x7a\xda\x84\x94\xdb\x0f\x67\x10\xb6\x9a\x42\xc9\x2a\xd5\xda\x27\xf1\x01\x21\xc5\x7f\xc2\xd8\x1c\xe3\x08\x14\x07\x6c\xb4\xb4\x0e\x84\x74\x68\x6c\x1f\xc9\xf1\xda\x06\x36\xce\x28\xce\x78\x1e\xc0\x9b\xd4\x98\xa3\xb6\x2e\xdd\x6e\xa2\x05\xa0\x6e\x70\xbd\x8a\xbb\xa1\x25\x2a\xdc\xb2\x95\x3a\x5b\x4a\x51\x55\xdc\xbd\xb9\x65\xab\x77\xf2\x0d\x84\x7f\x6b\x75\x53\x71\xe7\x5f\xca\xb5\x8b\xba\x1b\xf3\x3c\xa6\x32\xd8\x41\xae\x43\x71\xe7\x6b\xbd\xa5\x77\x9b\xc1\x14\x85\xeb\xa7\xce\x45\xc2\x7d\x95\x70\x56\x42\x98\x82\xf4\x71\x43\xd7\x36\xec\x8d\x80\x20\x12\x78\x0d\xa4\x31\x0a\x5c\xb8\x9f\x90\xf3\x0a\x8d\x7e\x0a\x73\xd7\x6a\x49\x3c\x3f\xa0\x25\xed\xa0\x2d\x5b\x74\x24\x6e\x25\xc1\x7f\x6e\xb5\x1f\xd0\x79\x83\xee\xfd\x0f\xe7\xad\xfe\x68\x9e\xe6\xff\x7f\x5c\x47\x98\x10\x7d\x06\xd9\x7e\x85\xc0\x3d\x73\x7b\x52\x18\xb8\x27\x24\x44\x16\xde\x21\x32\xb2\x6c\xf3\x51\xc2\x45\x5b\xe5\x31\x34\x5f\x7a\xec\xce\x8d\x10\xe2\xd2\x71\x83\x4c\x46\x12\x56\xc6\x45\x2a\x84\xc7\x5c\x42\x2d\xdb\x4c\x81\xbe\xae\xb4\xdb\xac\x0a\x31\x7c\x70\x73\x1b\x57\x28\x2d\xa5\x7f\x44\x63\x26\x94\x56\xc3\xc1\xa9\x9f\x06\x1b\x43\xa0\xf1\x0c\x6d\xaa\xf6\xd8\xd0\x7f\xe0\x77\x3c\x02\x81\x0f\xf2\x14\x84\x9a\x82\x83\x10\xf8\x60\xce\x42\xe0\xa3\x7b\x1c\x42\x1d\xca\x13\x11\xfe\xa4\xd1\xba\x6a\x1f\xe5\xb9\xa8\x2f\x95\x39\x19\xf5\x6f\x86\x25\x97\x50\xa0\xe1\x77\xd0\xd5\x14\xb4\x28\x62\x75\x83\x3b\x93\x06\xf8\x6e\xcb\xe0\x5c\x99\xcb\x1c\x7c\xd4\xaa\x78\xaa\x3c\x16\xb7\x7b\x01\xa4\x89\x1a\xcc\x58\xb1\xea\x7d\x9e\x81\xe8\x67\x90\xc4\x95\x01\x1c\xc3\x31\x15\x6d\x76\x64\xa4\x19\xcd\xc1\x49\x08\xc7\xe8\x95\xc5\x92\x5d\x42\x4e\xd1\x51\x1c\x70\x37\xf9\x98\xcc\x78\xce\x01\x28\x95\x2c\xd3\x84\x99\xc8\x1d\xd1\x1e\x8a\x08\x3c\x27\x31\x2b\x40\x08\x45\x1c\xec\x92\xb4\x58\x77\xd2\x55\xe0\x3a\x57\xc3\xb6\x03\xb8\x3b\x5f\x54\x84\xd1\x78\x1a\x68\x10\x91\xd0\x61\x05\xc7\x64\x30\x1c\x4a\x4f\xc9\xa8\xbb\x8c\x77\xc5\x04\x23\xc9\x61\x4d\x69\x29\x11\x7e\x64\x68\x9a\x65\x41\x39\x13\x4d\xdf\x55\xef\xc5\x06\xa2\x91\x34\x45\xdf\x7b\x78\xfd\xb4\x8a\x40\xe9\xe6\xa0\x37\xb5\x3f\x90\x7e\x1a\xf6\x44\x8d\xaa\x83\xdf\xf4\x58\x98\x18\x8d\x68\x51\x06\x54\xc3\xbf\xdf\x7f\x33\xc9\x56\xf3\xa9\xd4\x46\x7c\x1b\x35\x29\x57\xc1\x6d\xc8\x4a\x67\xa3\xdd\x60\x60\x13\x62\xf9\xab\x72\x21\x11\x4c\x8c\x26\xad\xae\x73\x4b\x89\x5d\x14\x74\xfb\x91\x1c\xdb\x5b\xca\x0b\x43\x0b\x6a\x47\x1d\x72\x53\xb4\xa6\x54\x48\x2e\xad\x6d\x66\xbb\x80\xee\x06\x9a\xdc\xad\xfb\xcb\x9b\x9a\x67\x36\xd0\x57\x9e\xc2\xe1\x91\x13\x71\x99\x4e\xd9\xbe\xe8\x5e\x4c\xae\xd6\xa6\xc9\x97\x23\x26\xbb\x29\xff\x90\x28\x14\xe9\x8c\x39\xa5\x4c\xa2\x2e\x7e\xc5\xb0\x13\xf5\x45\x6d\xeb\x11\x79\xf3\xce\xcd\x7d\x66\x71\x18\x8f\x43\xac\x83\xcc\xb2\x54\x4f\xfe\x67\x2a\xba\x0d\x5a\xac\xc8\xc6\x06\x1b\xd2\x00\x9a\x9f\xdd\xa6\x2d\x91\x55\xa1\x37\x88\x0b\xdd\x6e\x51\x9c\xd6\x9f\x75\x86\x7b\xf1\x35\xf2\xe6\x2b\x6e\x7a\x59\x43\x2c\x93\x62\x7e\x34\xda\xa5\xd9\x4f\xb8\xfa\xfd\xc6\x75\x5a\x7f\xfc\xec\xb5\x3e\xb2\x63\xad\xe4\xa2\x83\x4f\x4c\x2b\x82\x4f\x78\xc0\x55\x80\xb0\xe8\x1f\x7e\xf6\xd4\x25\x3a\xcc\x4f\x10\xc6\xa9\xf1\x75\x53\xa8\x7b\xba\x3b\xfd\xd4\xe8\xe0\x29\xb7\xc2\xce\x11\x89\x8c\x2e\x3a\xb2\xba\xb5\x19\x36\xd3\xad\x0d\xee\x63\x3f\x54\xeb\x9a\x17\x8d\xec\xca\x72\x76\x0f\x3e\xe3\x57\xeb\xc5\x69\x4b\xe7\x1c\x42\x48\x15\x7f\xde\xee\x0f\xf5\xb8\x34\x7c\xfd\xc2\x0b\xaf\xae\x55\x7b\xd5\x35\x17\x69\x80\x5e\xe0\x77\x9b\x8d\xb4\x90\x30\xdc\xf4\xfa\xf2\xcd\x7c\xec\xa2\x7c\xbb\x9d\xc2\xed\x29\x7b\xac\x7f\x79\xaf\x33\x01\xa8\xd6\xec\xc1\x89\xdf\x42\x14\xa1\x53\x0d\x5a\xd7\x85\x55\xcb\x49\x21\xe6\x95\x33\x01\xbc\x72\x2c\x18\x47\x62\x55\x87\x0f\x98\xd8\x43\x0f\xf8\x57\x9e\xe6\xad\x88\xc8\xa4\x5f\xf2\x3a\x13\xa5\x6b\x3c\xa9\x02\x01\x51\x6e\xf7\x89\x52\x16\x48\x2b\x56\xa7\x7e\x77\xb7\xe1\x81\x03\xcd\x06\x9d\x61\xf8\x12\x1c\x2d\xf8\x31\x2d\x89\xa7\xdb\x0f\xfb\xc8\xe5\x09\x44\x70\xa8\xac\x57\xa2\x6d\x65\xb3\x28\x99\xcd\xca\xc6\xa0\xad\x18\x81\x9d\x85\x15\xe2\x61\x54\xb1\xf0\xf8\x24\x2b\x7b\x22\x2d\x26\xac\xd2\xda\x0c\xd5\xd9\x0b\xf9\x5a\xcd\x17\xc5\x9c\x8b\x7b\x54\x89\xf3\xc8\xb0\x74\x4c\x72\x3e\xd4\x14\x95\x69\xc2\x0a\x96\xd8\xfc\x51\x83\x9b\x84\x79\xe4\xf8\xe8\x57\x50\x7e\x18\x2f\xf4\x8a\xa1\x67\xf4\x06\xc6\x5d\x2f\xb9\x61\xd1\xec\x95\xd5\xcb\x6a\xdc\x98\x05\x9f\x10\x5e\xd9\x8d\xaf\x23\xbc\xb2\xac\x0c\x3f\x8f\xca\x0b\x06\xce\xca\x6a\xce\xf8\x18\xdd\x5a\x8e\x48\x84\xd3\x05\xa8\x35\x3e\xfa\x15\xd2\xaa\xdc\x48\x48\x9e\xa7\xf5\xd7\xd2\x7a\x4a\xcd\x7b\x28\x2f\x5e\x51\x5d\xbe\x6d\x56\x60\xb2\x85\x08\x0d\xbc\x97\x8c\x11\x63\x76\x8e\x1c\x60\xbc\xe4\xc9\x47\xe6\x15\x8c\x8f\x68\x99\x91\x91\x19\x31\x9f\xcd\xc0\x19\x26\x95\xb6\x28\xc3\x09\x74\x2d\xd9\xe5\xb1\x7d\xed\xa8\x49\xa9\x4b\x68\x1d\x0f\xae\xe4\x94\x06\xae\xfc\x71\xf8\x8e\x51\x3d\xa8\x9b\x21\xd4\x87\xad\x2a\x38\x72\x1e\xec\x75\xe2\x93\x29\xeb\xbf\xc5\x4e\xad\xf5\xef\xaf\x68\xe4\xf1\xe3\xda\x03\x1c\xe8\x17\x95\x07\xb8\x89\xe6\xe5\xab\x17\x54\xca\x07\xb7\x5d\x7c\x7b\xdd\x05\xf3\x65\x2e\xa8\x22\x9a\x6f\x12\xc3\x42\x72\x98\xae\xe4\xbe\x7a\xae\x07\xd9\x1a\xc5\xa3\x0a\x05\x70\x40\x76\xd4\x76\x74\x2c\x7b\x96\xad\x86\x0c\x58\x97\x6c\x9e\x6a\x8d\x4d\xc9\xe3\x8f\xd6\xab\x0c\x5e\xcf\x13\x05\x57\xaf\x3a\x72\x6d\x6c\xb6\xed\x0e\x31\xbe\x85\xb0\x23\xe5\x35\xb8\x61\x99\x86\xdb\x97\x98\xe8\x4a\x51\x12\xe2\xff\x95\x4b\x86\x35\xb1\x1b\xd7\x53\x43\xff\x8e\xe4\x29\x44\x81\x45\x69\xdf\x50\x4a\x06\x86\xcb\xd3\x0c\x34\xe0\x3b\x66\xba\xb3\x16\xc8\xe9\xce\xb7\xdb\x6f\xea\xce\x0c\x4f\x4e\x70\xb3\xe6\x59\xaf\x7c\x5d\xd7\xa1\x41\x58\x26\xac\x42\x6b\x09\xe4\x72\x6a\xa5\x36\xfe\x6d\x4a\xbe\x21\xcf\x7d\xec\x63\xa3\xad\x4a\xad\xf0\xb6\x8c\x2f\xe1\x7a\xcf\xc6\xca\x8c\x73\xfc\x72\x78\x4e\xfa\x5f\x76\x08\x4d\x12\xf2\xbc\xeb\xa0\x99\x92\x94\xec\x90\xe7\x3e\xec\xe3\xf9\xd8\x28\x40\x75\xc3\xfd\x2f\x5d\xdd\x58\x47\x19\xd3\x40\x63\x52\xb0\xbf\x2f\xc4\x2b\x2f\x83\x15\x55\x4b\xf2\x31\x40\x83\x1b\x9b\xd2\xbb\x94\x17\x62\x5c\x93\x9c\xcf\xd8\xae\xe5\x98\x64\x8d\xc8\xe1\x6f\x9b\xd4\xa6\xfe\xef\x4a\x8c\x69\x52\x9d\xfa\xbf\xab\xf2\xa1\x33\x16\xd6\x8e\x5a\xa5\x4f\xb6\xb0\x0f\x1b\x21\x01\x69\x47\xed\x5e\xd3\x84\x42\x03\x24\x8d\xd3\x09\x4d\xdf\x4d\x61\x90\xe6\x53\x56\xa4\x4a\xa7\x29\x1f\xa8\xa8\x54\xee\x09\xf9\x6a\xc6\x0b\x99\x00\xa1\x71\x0d\x6a\xd3\x3d\xb4\xcb\xd7\x57\xa1\xd6\x50\x9d\x37\x0e\x18\x07\xdd\x87\xc2\x10\x7d\x6d\xa5\x1e\xaf\xd7\xe0\xad\x2d\x7f\xfd\xfd\x89\x39\x3f\x81\x3d\xf0\x4e\x9f\x5f\x22\x04\x59\xed\x6a\xdc\xd6\xec\x6f\x78\x6b\x1f\xb6\xea\x2a\xe1\xce\x90\xe1\x05\xb4\xe7\xdf\x5a\x25\x59\xe4\x19\x2b\x4b\x42\xb3\x82\xd1\x64\x45\x1c\xdf\x91\x62\x32\x6a\x69\xcb\xdf\x98\x17\xb3\xee\xa3\x2d\x16\xd9\x5a\xb4\xba\xad\xa1\x55\xaf\x1b\x50\xb1\xb6\xc9\x77\x4d\x30\x14\xf5\x05\x38\xa8\xeb\xc4\xdf\xf8\x9d\xbc\x6b\xd7\x89\x4a\xe9\x66\x7d\x2d\x68\xdb\xca\x3d\x05\x8d\xde\xf0\x4b\x7a\xcb\x5e\x48\x81\xbe\x55\xd3\x6f\x1c\x05\xd5\x11\xcd\x53\x30\xec\x48\xe3\x64\x4c\xeb\xed\xc3\x86\x95\xb4\x94\xfe\xb3\xf4\xbe\xe5\x8f\xb4\xe3\x79\x88\x74\x48\xaf\xfb\xf4\xe9\xd3\xa7\xee\x42\xd4\x6e\x8a\x75\x1b\xe9\x18\x83\x5a\xf5\xba\x9f\xb4\x91\xd6\x7d\x10\xda\x48\xbf\x93\x10\xb0\x48\x05\x80\x5d\x52\xc7\xab\xec\xdc\x95\x65\xd1\xf0\x84\xc7\x52\x49\x8f\x25\x8a\x8f\xa5\xd4\xf0\x1a\xf5\x5f\xdb\x84\x57\x1a\x51\xe7\xbf\x58\x68\xeb\x93\xe3\x3c\x28\xb4\xad\xa9\xb3\x4f\x8e\x73\x64\xa5\x1e\x2c\xed\x19\x47\xb8\xa6\xb9\x37\x30\x2c\xa6\xe2\x25\x68\x4a\x5d\xc1\xad\xdf\x81\x71\x85\xe4\xb7\xbe\x2d\xc0\x39\xb2\xda\xfa\x7e\xce\xb5\x10\x07\x2d\xeb\x77\x53\x34\x69\x04\xc0\xc7\x20\x0c\xec\xeb\x1f\x9c\x0e\xa4\x0a\x26\x58\xb1\x2e\x39\x2a\x0d\x9e\x96\x16\xfb\x28\x2e\xf6\x5d\x5d\x28\xfc\xb1\x4f\x64\xbf\x46\x94\x54\xb2\x1d\x56\x55\xca\x4e\x29\x1e\xed\x87\x64\x29\x59\xb2\xa6\xc5\xd4\x75\xd6\xca\x54\xb2\xb6\xad\xb1\xd4\x15\x9b\xa4\x28\xab\x8e\x54\x44\x3a\x55\x02\x02\x92\xac\xe1\x6b\xd4\x74\x35\x4f\x0d\x77\xd8\x7c\x62\xad\xc3\xaa\xc2\xd8\x5d\xc3\x90\x36\x3b\x94\x61\xfb\xe3\x3f\xfb\x40\xae\x3d\x57\xb2\x82\x65\x50\xda\xe6\x2c\x9d\x87\xcc\x9c\x5a\x0f\xa2\x08\x33\xac\x0a\x09\xea\x42\xd6\xaf\xff\xc4\x98\xb1\xb5\x3d\x08\x3d\x82\x40\xc3\x59\x12\x4b\xe5\x17\xf2\xb7\x91\x76\x83\x8f\x68\x48\x13\x72\x12\xd8\x55\x18\xfe\x6c\xf7\xa0\x9b\xb6\x5a\x54\xf2\x92\x10\x1a\xdc\x15\xd5\x11\x3c\x37\x81\xc1\xa1\x8f\x5c\x68\x78\x0d\xab\xab\x73\xee\xda\x8b\x9a\x6b\xfd\x2e\x00\x9d\x01\x31\x68\x25\x8a\xf6\x69\x71\x53\xe3\xaa\xc4\xb7\x50\xd8\x35\xb2\x78\xa0\x5d\x2a\x68\xda\x2b\x28\xd5\xa4\x7e\xa2\xca\xc6\x7d\xc1\x64\xbc\x8d\x3b\x42\x64\xc8\x01\x2d\x2a\xf4\xda\x45\x7b\x65\xa2\xea\xe1\x92\x51\xc4\xde\x98\x2f\x10\x65\xb6\x66\xfc\xfb\xf4\x4d\x35\xc3\x5b\xbb\xab\xb2\x6d\xbd\xa9\x38\x60\x3d\x74\x4c\x24\x0f\x59\x93\x03\xa3\xab\x57\xc7\x59\xdd\x68\xa2\xaa\x38\x89\x31\x72\x37\x5c\x3f\x48\x54\xec\xbe\x02\x35\x5e\x62\x4f\xe2\x53\x08\x6b\x88\xd5\x3d\xca\x92\x99\x93\x3b\xc4\xca\xb5\xb5\x3d\x9d\x41\x93\x35\x2a\xf3\xda\xdc\x9a\xe6\x64\x73\xf5\xca\xdb\x53\x20\x20\xdd\xa0\x2a\x67\x1d\x29\xa2\xd2\x5d\x53\xa3\x28\xcc\x20\x44\x43\xfc\xf1\x3f\x8d\x0c\x99\xd4\x0c\xc9\x08\xe4\x75\x55\xb7\xa2\x40\x6c\xe4\xf7\x10\xa1\x17\xa8\xec\xd0\x21\x53\xba\xc2\x07\x52\x61\x9a\x4f\x9a\x09\x91\x49\x31\xe5\x01\x64\x28\xda\xf3\x6b\xaf\x7d\xa2\x20\xf3\xa8\xf5\x92\xe7\x18\xc2\x52\xa5\x93\x05\x5f\x94\xa4\x58\xe4\xf0\xee\xa3\x17\xc2\x2e\x2c\xba\xe3\x8b\x80\x98\x50\xaa\x18\xfa\x3f\xec\x6a\x90\x5f\x59\x66\x4d\x60\x97\x17\xd5\x05\xc3\x71\x77\xf5\xb8\x28\xe8\x0a\x9c\x0a\xa8\xf8\x17\xc1\xa7\x19\xe4\x0d\x8c\x58\x92\xc1\x06\x7a\x01\x70\xc0\x55\xd1\x41\xc8\x23\x45\xa9\xe0\xde\x61\x68\x21\x55\x31\x21\xe0\x9f\xbb\x76\xc2\xd6\x4c\x54\x63\x60\x8f\x08\xcf\xb6\x4b\x80\x73\x0a\x8e\xd1\xad\xa3\x1a\xb3\x1c\x3b\xd2\xaa\x54\x26\x0f\x93\x8a\x12\x5c\xc3\x81\x37\x2a\x16\x6c\x4d\xf3\x7a\x70\x79\xb6\x22\xc7\xc3\xc1\xf9\xb9\xf2\xdf\xc0\x86\x8d\x11\xa3\xa9\xed\xe6\x63\x00\x1b\xf3\x73\x9a\x30\x31\xd8\x60\xd4\xbe\xe7\xee\xfa\xe6\x9d\xd1\x02\x82\xc7\x60\xaf\x43\x6c\x34\x3c\xfc\x56\xf7\x03\xb4\xdd\x60\x53\x28\x4a\x52\xf2\x0d\x31\xe9\x8a\x0f\x1d\x45\x02\x39\x82\x4f\x31\x4f\xd8\x2b\x9e\xe6\xd5\x71\xd5\x4a\xa5\x6c\x0f\x2d\xe4\x71\xc1\xa4\x93\x71\x2b\x06\xc8\xe3\xfb\xf1\x78\x3c\x6e\x93\xef\x48\x9f\x1c\x90\xfd\x43\xad\xe1\x8a\xc9\x37\xa4\xbf\x6f\x29\x76\xe5\x68\x77\x8e\x4c\x2b\xb5\x4c\x7d\xf2\x30\x8b\x45\x41\xde\x25\x6e\x8b\x4e\xfa\x5b\xb4\x42\x48\xd0\x7a\x5d\xcb\x39\x07\xdd\xa0\xf9\xd7\x4a\x18\x52\xdc\xa1\x7d\xfa\x1f\x8e\xec\x50\x1c\x60\x0a\x67\x7c\x92\xc4\xc2\xab\x45\x77\xc0\xa5\x75\xc7\x07\xe6\x9f\xe6\xfb\x47\x2b\x99\x47\x28\x3a\x84\xe8\x54\x1e\xa1\x61\xf8\x83\x48\x3b\x66\xe2\xd6\x20\x90\xc8\x0f\x30\x6a\xa2\xde\xdd\x81\x0c\x13\x79\xe4\x0f\x49\x12\x53\x4a\x76\xea\xeb\xe9\x92\x97\x1a\x64\x5a\x5b\x7b\xad\xa6\x71\x97\xd5\x9f\xcb\x56\xcb\xd9\xbc\x94\x1f\x8d\x4a\xc8\xf5\xb7\xde\x10\x1b\x7a\x57\xfd\xcf\x0c\x07\xed\x10\xf8\x6b\xac\xfe\xf1\xfa\xe6\xc5\x73\x21\xc9\x26\xac\x88\x6c\xe2\x8c\xf0\xfe\xf9\xe9\xa6\x3b\x50\xf7\xe2\x25\x9d\xaf\x8b\x26\xc5\x2c\x8b\x84\x95\x31\x9d\x33\x0d\x76\x41\x74\xe0\x36\x7a\xaa\xa9\xf8\x08\xeb\x67\x22\x6e\x41\xb0\xb6\x71\x07\x11\x44\x0a\x97\x31\x9d\x03\x14\x15\x00\xa1\x14\x63\x2e\xbe\x4e\x74\x76\xe5\x27\x88\xfb\x8a\x4d\xa4\x3c\x2f\x3b\x64\x4e\x53\x8c\xf3\x33\x0f\x46\x87\xb0\x2a\xf6\x9c\x20\x4c\xff\xf2\x4f\x4c\xd6\x07\x60\x2e\x2a\xa0\x33\x93\x30\x97\xf7\x62\x50\x1d\x52\x4d\xc1\xf0\x99\x02\xdf\x85\xa6\x9e\x12\x50\xd8\x4d\xca\xc9\x82\x11\x56\xf2\x8a\x15\x69\xec\x2f\x45\x69\x00\x32\x11\x35\x48\x7f\x00\xb6\x51\xb9\xab\x21\xe3\x88\xe4\x98\xf0\x78\x4f\x96\x1e\xea\x56\x66\xc9\x06\xa8\x3f\xb3\x84\x1a\x3d\x50\x45\x8b\xaa\xd0\x54\x6f\x57\xd4\x73\xf3\xd3\x4d\x33\x20\x20\x6c\x3b\x51\xe1\x2d\x12\x40\xce\xdf\xac\x20\x52\xd3\x5d\x5a\x54\x0b\xf0\x65\xb4\x6c\x5b\x4f\xf6\xfc\x20\x7f\x1f\x63\x50\x17\x37\xf9\x62\xa0\xbc\xc1\xaf\xc0\x34\xdf\x56\x2a\x08\x6d\x00\xb6\x13\x3b\xcb\x6a\xc1\xa4\xce\xca\x1d\xe2\x15\x2d\xe0\xf0\xd0\x8a\x11\x48\x2b\x05\x50\x80\xc6\x82\x48\xcb\x0a\x53\x1e\xbb\x88\x80\x2a\xb7\x3c\x7c\x12\x5c\x1d\x53\x40\xed\x12\xe6\x6a\x4e\xcb\x52\xa5\x3d\x59\xf1\x45\x81\x25\x49\xc1\x17\x15\xc4\x39\x17\x14\x98\x1f\x08\x8b\x2b\x18\x80\xe7\x61\x0b\x30\x64\xd3\xec\x7b\xed\x79\x63\x20\x15\xad\x8f\x76\x5c\xcb\x4f\x37\xdd\x57\xfa\x53\xcb\x14\x7d\x9d\xdf\xe6\x7c\x99\xbf\xd7\xd8\xf4\xc7\xf9\x8a\x7c\x96\x61\xa7\x64\xc6\x13\x88\x7c\x2a\x3f\xd3\x87\xd9\x23\xdf\x8e\x0e\xf2\x8e\xbe\x13\xb7\x07\x89\x30\x48\x7a\x2a\xe7\x8c\xaa\x59\xdd\x0e\x51\x98\x40\x32\x82\x06\x07\x31\x18\x9e\xbf\xd7\x33\x90\x7d\x5f\xca\x2a\xef\xa5\xab\x9e\x35\xba\xaa\xa0\x69\xe6\x0e\xaf\x4b\xc8\x90\xce\x98\x9d\x28\x80\x09\xba\x23\x94\xf8\x73\xe9\x60\x4b\xec\x3e\x66\xf3\x4a\x79\x37\x15\x4c\x5e\xa2\x98\x53\x10\x24\x91\xc5\x0c\xce\x2b\x2d\x26\x70\x02\x4d\x74\xac\xea\x3f\x3c\xc4\x9f\xa7\x0c\xd5\xd1\x05\x98\x85\x11\x17\x6c\xae\x42\x67\xe4\xf2\xc5\xe0\x71\x2b\xd6\x54\x45\x16\xd6\xb0\x5d\xa4\x73\x4b\x96\xf1\x25\x66\x5f\x02\x26\x06\xd1\xe4\xec\xf4\x52\x06\x77\xd3\x03\x61\xc4\x54\xd2\xcb\x14\x32\xb6\x69\x48\x46\xbd\x8f\x98\x6f\x84\xe6\xe4\x6a\x38\xb0\x51\x88\xe4\x71\x2a\xe3\x9b\x74\xc6\x2e\xd2\x59\x0a\xd1\x5d\xfb\xbd\x5e\xaf\xa7\x3a\x93\x4f\x03\xba\x0a\xa7\xc8\x3e\x23\xa8\x48\x02\x5f\xb4\x57\x83\x8c\x68\xa9\xc6\xea\x35\x51\x44\xe9\x3d\x32\xd2\x37\x49\x5f\x26\x6a\x0d\x01\xc6\x4e\xed\x13\x79\xbe\x3b\x4a\x2b\x8d\xae\xe6\x88\x30\x84\xc8\x9a\xc7\x79\x53\x31\x84\x53\xb7\x6e\x3b\xd0\x09\x4f\x89\x28\x5c\x32\x29\xc6\x63\x4a\xec\x27\x2a\x0b\xc3\x92\x17\xb7\xe2\xfd\xf9\x0a\x9a\x54\x5b\x54\x62\xce\x15\xb6\x02\x80\x6c\x34\x1d\x2c\x39\xa2\xb4\xb0\xbf\x2f\xd2\x3b\x9a\xe9\x14\x8f\x4f\xc8\x25\x2f\x2b\xc8\xd4\x5d\x92\xb2\x4a\xb3\x0c\x45\x00\x75\x47\x54\x4b\xbe\x0b\x15\x65\xb0\xab\x33\x99\x9f\x75\x1c\xae\x37\x27\xa0\x9e\xd1\x4a\x47\x50\x12\x1d\x8e\x6b\x83\x04\x43\xca\x10\x6c\x29\x2d\xcb\x85\x84\xad\x25\x9f\xd1\x38\x4e\x13\x96\x57\x34\xfb\x8c\x2c\x00\xfc\x53\x26\x9e\x91\x22\x8b\x72\xbc\x1f\x69\xdf\x0f\x04\xdd\x52\xd7\xbc\x6e\x40\x54\x47\x9c\xc9\x34\xbf\xe3\xd9\x1d\x44\xac\x57\x11\xa8\x4c\xd2\x9c\x16\x2b\x05\x4e\x66\x5f\xec\x68\xd8\x7e\x7e\x92\x56\xea\xc5\x73\x48\x39\x44\x02\xe2\x0c\xc0\x6a\x09\x52\x7d\xb6\x6f\xd8\x08\x1b\xdd\x19\xd4\x21\x10\x4f\x40\x62\x9d\x0f\x28\xd4\xb5\xce\x16\x84\xb0\x30\x76\x76\x7e\xd5\xf9\xb5\x75\x62\xc5\xd6\x45\xe0\xe5\xa7\x80\x6a\x62\x83\xe8\xe8\x24\x9f\x10\x54\xbf\x28\xc9\xa2\x94\xd9\xd0\x11\x46\xe2\xf4\x6c\x40\x5e\x15\x00\xc5\x88\xb0\xff\xfd\xfd\xe0\xb0\x4e\x59\xdc\xdf\x0f\xaf\x05\xea\x4c\xe6\x00\x7e\x46\x14\xe2\x98\x52\x14\x88\x03\x0d\x71\x0b\x12\x5b\xca\xca\xe8\x22\x86\xee\xf5\xa5\x8f\xc3\x99\x6a\xe6\x88\x44\x8b\x6a\xbc\xfb\x3c\x72\xfb\xbc\xa4\xf7\x8a\x69\xc7\x6b\x62\x91\x1b\x62\x20\xa7\x83\x61\x47\xec\x46\x87\xbc\xba\x14\x37\xdd\xf1\x2b\x73\x87\x28\xd4\xd7\x25\x03\xd3\x06\x36\xb7\x98\x83\x32\xc2\x0a\x2b\x8f\xd1\x06\xa1\x89\x1d\xc1\x0f\xc4\x89\x12\x57\x93\x8c\xb0\x90\xd2\xac\x7c\xda\x05\x53\xd9\x1a\xde\x74\x48\xf4\xf6\xfe\xeb\x38\xea\x90\xb3\xe1\x80\x44\x6f\xdf\x46\x6d\x30\x67\x8a\x56\x5a\x27\x67\x17\xf0\xbd\xf7\x55\xd4\xb6\xa5\xf7\x29\x93\x89\x72\xc8\x67\x52\xcb\xa0\xc6\xfb\x19\x99\xf1\x3c\x55\xe9\x15\xcd\x52\xcd\xe8\x3d\x76\xaf\x98\x2c\x72\x44\xfa\xbd\xfd\x2f\xdc\x75\xd2\xd1\xe5\x6c\x06\xf9\x0a\x21\x8f\x8a\x44\xae\x5e\x22\x7c\x1c\xac\x9c\x54\x65\xb8\x57\x12\x2f\xe4\x83\x80\x6d\x19\xba\x16\xc7\x50\x27\x23\x2c\x58\xcc\x27\x79\xfa\x1b\xb8\x5a\xb2\xfb\x79\x96\xc6\x69\x25\x0e\x1d\x2c\xa6\x37\x6a\x31\x82\xd7\xb9\x85\x89\x1a\x24\x70\xd0\xec\xc8\xf8\x21\x15\xff\x6e\x8d\x6b\x46\xe7\x25\x80\x6f\x80\x04\xf2\x7d\xaf\xdb\xed\x7e\xff\x14\xd2\x52\x2d\xdb\x4d\x04\x75\x29\xea\x78\x2c\x87\x2d\x25\x94\xfe\x25\x7f\x63\xc5\x0b\xaa\x2e\xdc\x21\x74\xf5\x35\x68\x25\xf4\x11\x5b\xf8\x7a\xb8\x87\x3a\x94\x19\x9d\x63\x4a\x1c\x44\xd0\xa6\xa5\xca\xc0\x95\x4e\x72\x79\xdd\x01\x07\x22\x8f\xa3\xba\xc0\x11\x4a\x26\xad\x0c\x1e\xf8\x94\xea\x5b\x53\xdf\x8e\xd9\x8a\x94\xcb\x14\x42\x61\xb0\xdb\x49\x41\xe7\xd3\x34\x2e\xb1\x35\x67\xac\xa4\x35\xa8\x8a\x6c\xf7\x65\xbb\x4b\x80\x49\x91\x89\xb5\xe4\x4e\xd2\x1c\xc1\x8d\xd5\xad\xaf\x1a\x12\x35\xb1\x31\x88\xd3\x52\xb7\x29\xa6\x98\x04\x10\xd4\x7c\xb5\xa4\x2b\x2b\xcd\x53\xc1\xc0\xdd\x8c\x4c\x16\xb4\xa0\x79\xc5\x18\x59\x42\x88\x3d\xf0\xa8\x34\x5f\x61\x6b\x4a\xf0\x10\x5b\x42\xd1\x38\x40\xa1\x31\x00\xcf\x4f\xe3\x45\x46\x0b\x05\x97\x6d\x6f\xe6\xf7\x3d\xc5\x17\x7f\xdf\xd7\xff\xda\xd7\xff\x7a\x4a\x8e\xa4\x30\x58\xdf\xfa\xee\x84\x55\x97\x74\xde\x8a\x4e\xa2\xc0\x3e\xe3\x03\xaa\x62\xee\x1c\x2e\xcd\xbd\x03\xf0\x15\xa3\x62\xe8\x73\x71\x48\x25\x1c\xd8\x08\x98\x33\x85\x61\xa9\xe4\x0c\x88\xa2\x92\xa6\xa0\xef\x2f\x44\x63\x72\x67\x50\xe7\x86\xde\x74\x5f\x7f\x01\x2f\xb3\xf4\xfc\xeb\xdd\xef\xf7\x21\x2d\xd4\xfd\x57\xfe\xed\x63\x88\x11\x9a\x12\xe3\x88\x4e\xa2\x0e\x79\x3d\x44\x85\x9d\xbf\x56\x17\xe2\xea\xfc\xbe\x17\xd5\x67\xfb\xfc\xcf\x9f\xed\xf5\x96\xb3\xa5\x72\xb6\xe3\xda\x56\x5f\x37\x0e\x5f\x39\xac\xea\x97\xc6\xcf\x59\xe7\xb2\x28\xc0\xcf\x48\xa0\x7c\x72\x36\xb8\x3c\xde\x7d\xfa\x0c\xce\x17\xb0\x84\x90\xa0\x6e\xc2\xd5\x85\x2e\x0d\xc6\x44\x50\xb2\xc5\x52\xe8\xae\x24\x62\x13\xe4\xbb\x15\x4c\x08\xf7\xaf\x1b\x28\x36\x84\x77\xfe\x75\x35\x7e\xfe\xbe\x16\xbe\x6c\x97\xb8\x80\x66\x6a\xcc\xf2\xc0\xc2\x81\x2a\xd8\x04\x4e\x03\xbb\x87\x8c\xdd\x00\x55\x62\x47\xc0\x81\x78\x24\x18\x47\x64\xd3\xec\x3b\xbc\xec\x3e\x32\x89\xce\x14\x14\x4a\x9a\x13\x47\xb0\x12\xad\xfd\x7d\x91\xc6\xb7\x62\x91\x20\x1b\x9a\x52\xa9\x9b\xb8\xbd\xfb\x0a\x1b\xaa\x3d\x10\x9a\x85\x8e\xe3\xfe\x2b\xc1\x81\x14\xf9\x7b\x1f\xd6\x65\x01\x4e\xc9\xea\x39\x47\xd1\xaf\xa5\xc5\xb9\x21\xbd\x03\x8c\x3f\x71\x3d\xa8\xf1\x9d\x9e\x0d\x86\x03\x1c\xbb\x3b\x01\x2a\x33\x43\x57\x9c\x20\xc8\x2e\x45\xc4\x85\x9f\x6e\xb0\x85\x8e\xb8\x92\xd2\x92\x3c\xc9\x79\x85\xcc\x8d\x84\xe9\x73\xf9\xfd\x52\xf4\x19\x96\x41\x31\xed\x92\x11\x42\x5d\x27\x89\x97\xbc\x96\xe5\xd6\xe8\x20\x2c\x37\xe1\xa0\xd0\x8e\xba\x45\xd5\x94\x98\xe3\xd9\x8d\x64\xb8\x7a\xbd\x9e\x52\x8e\x48\xe9\xdf\x24\x66\xde\x5b\xcc\x65\x77\x40\xc8\xdb\xf5\x39\xb8\x38\x1f\xfc\x28\xd8\x81\xc6\x0e\xf7\xd7\x76\x08\x38\xd7\xfc\x0e\xb5\xdf\x08\x7c\x4a\x89\xcc\xf7\x0f\xe8\x0d\xcb\x7c\xcb\xc9\x5f\x1f\x7f\x4f\xc0\xd7\x41\xc3\xfd\x69\x29\x9f\x58\x70\x62\x8e\x96\x4b\x39\x74\x14\x34\xbe\x2d\x5d\x50\x09\x3b\x45\xa5\xd2\x6c\x9c\x57\x10\x04\x33\x4e\x59\x96\x94\x8a\x6a\xed\x40\xe4\xd1\x62\x3c\x16\x2c\x96\xc2\x94\x57\x9a\x48\xf5\xbb\x98\xad\x6e\x50\x2b\x92\x7c\x75\x95\xfa\xfd\xa3\xf6\x77\x5c\xe4\xb1\x73\x2f\x43\xfd\xc2\x69\x20\x18\x32\x3b\x5a\x8c\x4d\xa8\xac\xb1\x5f\xa1\xa7\xba\x33\x5f\x1c\xa1\xb7\xd4\xd6\x0a\xda\xe8\x27\x66\x50\xe2\xef\x8e\xea\x29\x10\x86\xa0\x1c\xd5\x8f\x88\xf7\x8b\x41\x7e\x58\x8c\x65\x60\x99\xf8\xd7\x87\x0f\xee\x89\x9e\xf3\x52\x29\xca\xd1\x07\x52\x2c\x44\x73\x63\xb4\x98\xa8\x68\xd4\x20\x50\x83\xb7\x6c\x1d\x67\x5f\xd4\x9e\x35\xae\xc1\x3a\xd4\x8e\xfa\x12\x40\x11\xa8\xfc\x42\x7b\xef\xbb\x00\x54\x27\x8b\x71\xcb\x9a\x78\x14\x79\xdf\x8f\x95\xba\xa5\x96\x3d\xb8\x61\x3e\xa1\x63\xdb\x3c\x7c\x67\x6c\x4d\x08\x24\xb8\xde\xa1\x3d\x6d\x18\x12\xae\xa8\xb3\xa0\x7a\x58\x21\x2a\x75\x28\x54\x5c\x90\x08\xef\x06\xf8\x53\x8b\x71\x47\x6d\x35\xf0\x8c\x82\x34\xb6\x9e\xde\x09\x10\xd6\x9a\x0d\x42\xca\xd3\x2e\x89\x72\x23\x6c\xaf\x44\xf2\x9d\xfe\xf9\xa0\x81\x2e\x83\x6b\xa0\xf5\x64\x24\x4b\xcb\x6a\xed\xf4\x45\xfb\xb4\x98\xbc\xff\x8d\x15\xdc\xac\x83\x4a\x34\x6a\xd6\x42\x50\xf6\x9b\xde\xbb\xad\x67\xaf\x69\xc7\x5f\x03\xd5\x99\xb5\x10\xa2\xed\xae\x6b\x95\xb2\x7d\x35\xed\x11\x3e\x16\x22\x72\x9e\xb0\x71\x9a\xb3\x24\xb2\x12\x5c\xca\xf1\xc9\xa3\xac\xca\x3b\xeb\xf3\x3d\x03\xa4\x48\xb5\x38\xa0\x92\xcc\x89\xf4\x86\x68\x4a\x1c\x47\x8b\x49\xbe\x98\xa1\x4e\x4f\x55\x94\xc8\x85\xa0\x4e\xac\x8a\x94\xdd\xb1\x6d\x96\x25\xa5\x85\x63\x0b\xc6\x96\x35\x81\xfd\x24\x96\xda\x18\x87\xd1\x9b\xc7\x4c\x0d\x4b\xbf\x53\x6b\xa3\x0d\xc9\xd2\x94\x0c\x97\x01\x9c\xc6\xf3\x1c\x10\x78\x3b\xa4\xdf\x6b\xeb\x08\x8b\x63\x6b\xda\x7c\x4c\x60\x29\xd3\x92\x54\x12\xd4\x4a\x5e\xc5\xea\x72\x87\x5d\xef\x6a\x8b\x2f\x34\x7e\x44\x7a\x6d\x13\x85\x63\xae\x40\x18\xb6\x9d\x5d\x53\xfc\x47\x05\x44\xcb\x5f\xdc\xa2\xd6\x8e\x1c\x27\x77\x54\xa9\x02\xf0\x45\xb2\xef\xc0\xa0\xbf\x0b\x88\xf0\x98\x76\x03\x77\x81\x8f\x25\x97\x2d\xe4\x45\x6c\x6f\x9b\xdd\x90\x45\xed\x0d\x81\xa6\x2d\xb2\x14\x67\x6c\xe7\x08\x7b\xf4\x0e\x9a\x8c\xe9\x64\xa4\x60\x33\x9a\x02\x04\x1c\xe4\xa6\x42\x04\x71\xeb\x1a\xaa\x27\xa7\xd2\x73\x15\x2d\xd5\xa6\xab\xbc\x39\xec\xfc\x22\x1b\xfa\xd8\x66\xb6\x73\xc6\x6e\xaf\x55\x33\xde\xc5\xe4\x3a\x75\xca\x8b\x49\x19\x73\xd5\x42\xf8\x0f\x80\x5e\x00\x48\xe9\x83\x5e\x20\xb6\x7e\x37\xff\xa3\x17\x01\xfa\x69\xe8\x60\xdb\x15\x18\x4c\x69\xf1\xe0\x99\x77\x20\xb5\xee\xa7\x4f\x5e\x3c\x44\xd4\xa7\x73\x7b\xda\xa0\x09\x17\x24\xfc\xa7\xce\x5f\x30\xa0\x8b\x19\xfb\xa4\x25\xd8\xd9\x69\x5c\x04\xcb\xd5\x58\xce\x37\x2d\x09\x9b\xcd\xab\x95\xb2\x3d\x59\xac\x68\x49\xe6\x2a\xb7\xa7\x97\xf9\xa2\xf1\xce\x2c\x07\x32\x49\xcb\xc6\x41\x2b\xb0\x1f\xc1\xc9\xe8\x89\xc8\x47\xe5\x9b\x23\x7d\xa2\xed\xe0\x57\x57\x08\xb2\x7b\xb8\xb3\xef\x81\x3b\xb0\xba\xdc\x55\x87\xb6\x50\xd5\x6a\x37\xb7\x64\x47\x51\xd2\xbb\x46\x14\x2d\xd4\x57\x1f\xe9\x4e\xb4\x9d\x15\x6a\x61\x7b\x76\xb2\xe6\xca\x87\x05\xae\x57\x9c\xb0\xca\x43\xcd\x6b\x23\xe0\x9e\xdd\x0e\x68\x4b\x74\xdd\xef\x2f\x0e\x1d\x3d\x84\xf9\x60\x61\xc6\x1a\x65\x14\x7c\x31\xfc\xb0\xd1\x4d\xc1\x87\xbe\xf9\xb0\xef\x7c\xd8\x37\x1f\x9e\x3a\x1f\x9e\x6e\xb5\x8c\x2a\x9d\x4f\x78\x25\x9d\x25\x90\x45\xe5\xf2\x59\x2b\x6d\xad\x80\xbb\xd8\xb5\x35\x0b\xac\xb6\x5a\x45\xaf\x11\xb3\x94\xd6\x32\xe2\xe2\xe9\x0f\xd7\x5e\x15\xa3\xd7\xeb\xb9\x55\x8c\x9a\xaf\xef\x7e\x30\x5a\xbf\x7d\xf7\xc3\x53\xa3\x0e\xf4\x96\x71\x3b\x7c\x3f\x33\x96\x35\xfa\xc3\xda\x4e\x87\xcb\xf6\xec\xb2\xfb\x0f\x68\xf7\xe9\x16\x65\x03\x8a\xbe\xa0\xee\xec\x13\x74\x1e\x0f\x77\x48\xb0\xae\xc1\x1f\xc0\x84\x6e\x0c\xc6\xbe\xca\x04\x7c\x49\x25\x06\xc3\x67\xe8\x23\x71\x23\x44\xfd\x34\x9f\x7c\x46\x4a\x16\xab\xd7\xfc\x0d\xf8\xaf\xf8\xdc\x75\x28\x23\x08\x7a\x54\xd8\xfb\xc9\x3c\xc0\x26\x67\x22\xeb\x66\x62\x87\x19\x69\xdb\x35\x9b\xcd\x79\x41\x8b\x15\x68\x9d\xe8\x04\x99\x7f\xbe\x28\xc0\x72\xce\xf3\x12\xf8\x42\x64\x39\xf1\x6f\x55\x53\x59\xe0\x31\x93\x8e\x52\x42\x89\x92\x33\x9e\xd8\x6c\x3d\xeb\x96\xd3\x74\x5c\xfd\xc8\x56\x38\x00\xf1\xf9\xc3\x11\xf9\xc2\x7c\x9f\xb1\x8a\xfe\xc8\x56\xe2\x26\x77\x53\x57\xe8\x1c\x59\x5d\x9a\x55\xe7\xe5\x25\xab\x28\xf9\xfc\x73\xc2\xc4\x9f\xa2\x3d\xa7\xc1\xe7\xa6\xc1\xb8\x2a\x32\xbf\xbf\xfe\x97\x7a\xce\x57\xa7\x57\xad\x62\x92\xe6\x09\x6d\x1f\x90\x9f\x99\x93\x67\x4f\x29\x53\x95\x32\x09\xd4\xa9\x7b\xbc\x10\xff\xfe\x52\xf0\x9c\xec\xbe\x62\xa8\x54\x51\x8a\x43\xc8\x4d\x24\x1e\x14\xc0\x5e\x03\x2d\x31\x5f\x4c\xa6\x1d\xe9\xd0\x30\xc7\x0c\xaa\x14\xa3\x0e\x7f\x5d\x94\x15\xa1\x24\x4b\xab\x2a\x63\x1d\x72\x4e\x96\xb4\xcc\x23\xa9\x84\x54\x19\xfe\x26\xac\x22\x77\x29\x98\x9c\x66\x34\xd6\xe6\x0b\xe9\x98\x8b\xdc\x60\x89\x26\xcd\x52\xad\xfa\x3d\x39\x92\x26\xbb\xee\xb8\xe0\x33\xf1\xf0\x0f\x78\xc2\x5a\x12\x46\x38\xa3\xb3\x79\x8b\xe9\x95\x45\xb7\x06\xb2\x43\x9e\xee\x77\xe0\xff\xef\x3f\x7b\xd6\xd6\x08\x5c\xab\x07\xb5\x75\xcd\x97\xf5\x86\x1e\x11\x65\xc0\x11\x25\x57\x73\x83\x6a\x44\x4b\x46\x22\x48\xec\x1d\x1d\x48\x09\x03\xc8\x49\x82\xe7\xb3\xcc\x93\x54\xa4\x6e\xae\x2f\x96\x63\x9f\xcc\xb3\x05\x88\x71\x34\x49\x52\x29\xbc\x7e\xf9\x85\xc2\x0b\x18\x41\xa4\x68\x8b\x75\x13\x96\x55\xf4\xdf\xc9\x13\xb2\xdb\x6f\x93\x6f\x49\x4f\x48\xd6\x3d\x72\x40\xfa\x6d\xb2\x43\xbe\xfe\x52\x7b\x4d\x0a\xc2\x98\xf1\xe4\x50\x4b\x3a\x48\xe3\xe2\x8a\x79\x7b\xdf\x1f\xbd\xb9\x8c\xc8\x4e\x70\x25\x46\xa2\xa1\x7b\xb2\x43\x56\x87\x8f\xcc\x24\x7e\x54\x69\x48\x0d\x4c\x44\xc1\x67\x32\xa1\x39\x42\x53\xc3\xff\x18\x64\x47\x62\x79\x65\xe1\xc3\xc8\x11\x15\x8c\xde\xca\x26\x71\xa5\xe0\x78\x27\x7c\x99\xdb\xab\x75\x02\x6b\x82\x06\x26\x9d\x25\x4b\x2f\x95\x94\x94\x60\xa9\x9e\xee\xab\x4e\xc1\xe7\x98\x1c\x91\x4b\x5a\x4d\xbb\xb3\x34\x6f\xb1\x2e\x96\xef\x90\xfd\x36\x6c\xa0\x3d\x95\xe3\x3c\x21\xb3\xf4\x5e\x31\x9e\x33\xeb\xb4\x97\xdd\xda\xf2\xfd\xae\xf5\x5b\x3b\xf3\xc5\xbc\x4e\x25\x8b\x39\x68\x45\x73\xae\x90\x93\xe4\xad\x8a\x80\x83\x72\x11\x96\xb4\x24\x05\xcb\x18\x2d\xa5\x03\x45\x70\x7c\x6f\xef\xf7\x9f\x46\x5b\x0e\x65\xc6\xef\x98\x1e\xcc\x03\xae\xdf\xeb\xe3\xef\xf1\xd6\xc2\x91\x95\xb6\xbf\xf2\xde\x1e\x19\x56\x34\x4f\x68\x91\xa8\x81\x8f\x52\x89\x50\xc1\xc8\x2f\xe2\x15\x20\xf0\x2c\xc4\x5c\x7a\xaf\x14\xd0\x95\x4c\x08\x9d\x16\x65\x65\xb7\x25\x9b\x00\x73\x8a\x44\x76\x4c\xc7\xe8\x3f\xf7\x39\x3a\xc2\x02\xc9\xc0\x77\x96\x74\xe4\x4f\x69\x29\xed\xd9\x89\xe5\x89\x2c\x93\x18\xa4\x95\x63\x64\xb2\xfa\x25\xd5\xb4\x60\x4c\x76\x29\x46\x7c\x3e\x26\xb9\x90\x6d\xf0\x7e\x9a\x89\x9e\xec\xd6\x74\xa7\xd5\x94\xe5\x72\x6a\xe3\x8c\x4e\xc0\x06\x0c\xee\x62\x72\xbb\xba\x84\xfc\x0c\xb9\x53\x13\xae\xe3\x82\xbb\xba\x25\x41\xc2\x16\xa9\xa2\xb3\x60\x91\xf2\x22\xad\x56\x60\xda\xd2\x78\x1e\xd0\xc5\x01\xcc\xbe\x43\x66\x69\x92\x88\x0b\xb7\x90\x29\xb9\x88\xd9\x46\xbd\x31\xe4\x73\xd2\xbb\xef\xdb\xdb\x03\xad\xcb\xcd\x85\x55\xc4\x92\x5d\xab\xc0\x88\xec\x68\xcf\x6a\xe2\x7a\xc1\xbb\x0d\x7f\xd1\xd4\x30\x0e\xad\xa9\xe9\xfe\x16\x4d\xef\x37\x35\x8d\xfb\xdb\xd0\xf2\x7e\xad\xe5\x5a\x23\xb0\x1f\x64\x9a\x4e\xc4\xbb\xa3\x76\xda\x6f\xe7\xa9\xd5\x8e\xb3\x2d\xc7\x49\x42\x9e\xee\x8b\xd7\x4b\x21\x9c\x49\x86\x69\xc6\xa5\xfc\xef\x34\xe3\x6d\xea\x36\x37\x50\xe0\x0e\xfa\x7d\xb7\x90\x9e\x40\xfd\x0e\x88\xb3\x34\xbe\x95\xe7\x1f\x7f\x49\x46\x99\xfd\xa3\x5b\x49\x2a\xc1\xd4\x27\x95\x08\x90\x15\x05\x2f\x5a\x91\x34\x51\xda\x0c\x24\x66\x01\xc4\xc7\xb2\x43\x98\xff\x24\x58\xfe\xf9\x6a\x82\x96\x3a\x54\x73\x4c\x29\xb7\x12\x48\x9a\x92\x6e\xb6\x09\xe5\x6b\x6c\x0c\xa2\x7c\xec\x38\x67\x4b\xbb\xb7\x52\xdd\x14\xac\x04\x95\xb8\x4c\x08\x6b\x7c\x8a\x1f\xd9\x59\xfc\x5d\x54\xf9\x1b\x5b\x1f\x84\xf9\x1c\xd1\x43\x31\x94\xcf\x51\xfa\x4f\x99\x94\x8e\x5e\x3e\xc7\x20\x93\xac\x5d\xa6\x6d\xee\xd8\x55\xb9\x5b\x2e\xb9\xc6\x04\x22\x8d\x0b\x31\x50\xc0\x62\x2c\xb9\x15\x99\x03\xf1\x71\xad\x9e\xd1\x49\xb4\xda\xb6\x0e\xd6\x36\x55\xd8\xe5\xc5\xef\x26\xd2\x06\x15\xf7\xb5\x42\xa0\x99\x50\x65\xd0\x30\x50\x2b\x33\x5a\x8c\x25\x2d\x05\xfb\xe8\xc6\x34\xcb\x60\x32\x9d\x5a\x81\xb6\xac\xa8\x5f\x29\xbf\xb2\x78\xaa\xe0\xbf\x0a\xd8\xc6\x1b\x9c\xf8\x2e\xfe\x63\x05\xe1\x87\xc6\x27\x8a\xe9\x15\x27\x26\xb5\xdc\x2b\xb4\x13\x25\x69\x82\x48\xf8\x99\xf2\xec\x05\x41\xe1\x71\x64\x23\xd5\x58\x84\x89\x2e\xa9\x86\x2a\xff\x20\x42\x91\x9e\xb1\xa1\xb8\x2c\xbd\x40\x01\xe7\x3c\xed\x9d\x17\xc0\xc1\x65\x76\x7e\x33\x17\x58\xb2\x2a\x9c\xc3\x06\xed\x59\x19\xf0\xd4\xd4\x4a\xf4\xd1\xb0\xa5\x46\x21\x80\x1c\x90\x69\x55\xcd\xcb\x83\xbd\x3d\x96\x77\x97\xe9\x6d\x3a\x67\x49\x4a\xbb\xbc\x98\xec\x89\xbf\xf6\xb0\x95\xa6\x99\x9a\xbc\x6b\xc1\xd9\x5a\xa1\x96\x6e\x86\x36\xf7\x7e\xd0\xdb\x80\x8e\xc5\x76\x0c\x24\x76\xbf\x61\xa5\x37\xf5\x5f\xf3\x4c\x56\xa7\xb1\x36\x92\x21\x53\xea\xc3\x46\x77\x98\xa0\x95\x4b\x97\xf7\xf3\x75\xeb\x0f\x90\x8e\xb7\x6a\x9c\x48\xc9\x2a\xcb\x4b\xd3\xc8\xde\xf2\x37\x9c\x8e\x16\x70\x9c\x5f\x1b\xaf\xfe\x25\x2d\xf2\x56\x74\x9e\x43\xae\x13\xcb\xd4\xf6\x99\x9a\x8d\xa6\xea\xcf\xe4\x5b\xa0\xda\x3d\x34\x1c\xf0\x0b\x9a\x65\xc4\xa4\x60\xd3\x6f\x51\x5a\xf2\xdd\xfd\xde\xfe\xbe\x7e\x8b\x36\xbb\xec\x04\x4b\xd5\xdc\x76\xbc\x47\x48\xf5\x07\x27\x63\x17\x7d\x85\x36\xf7\x69\xc7\xc8\xad\xe9\xd2\x2e\x16\xee\xf1\x0f\xeb\x2a\x3c\x3b\x93\xa5\xb6\xc9\xb5\xc7\xd1\x89\x8f\x0b\x56\x4e\x31\x74\x07\xfd\x1d\x04\x8b\xa3\x53\x8f\x1b\xc7\x2a\x0c\x1c\x68\x24\xb6\x50\x5f\x75\x0d\x1e\x62\xde\x61\x64\x01\x3a\xfd\x3f\x07\x0d\x40\x47\xba\xaa\x96\x0b\x60\xf9\xd0\x01\xce\x8f\x74\x12\xf7\xcd\x12\x98\xea\x9c\xdd\x81\x4f\xe6\xde\x1e\x29\x41\x53\xc5\x4b\x46\x76\x77\xd1\x95\xb3\x9a\x82\x77\xee\x54\xc1\xcc\x8a\x4e\x1e\x2b\xf0\xed\xb8\x4f\x8e\xc8\x15\x3e\xf2\x82\x09\x6b\x19\x35\xdb\xa0\xaf\x8c\x85\xdd\x71\x2a\x2e\xfb\x56\x8b\xb5\xc9\xd1\xb7\x12\xec\xaa\xbe\x4f\x1f\x3e\x10\x06\x77\xae\xe0\xc3\x8e\xab\x56\x9b\x7c\x43\x7a\xf7\xcf\xb5\xcd\xb1\x3b\xa3\x73\xd5\x46\xf4\xf6\xed\xbd\x38\x0e\xa8\x7d\xf8\x6d\x4e\x93\x96\x5b\xb7\x5b\x71\xc9\xef\xf4\xbf\x6c\x0b\x69\x56\xb7\x82\xd0\xbf\x96\xf6\xd1\x73\xe6\x62\x4b\x72\xcd\x26\x67\xf7\xf3\xd6\xdf\xde\xfc\xeb\x3f\xe2\xb8\xff\xf1\xdd\xdf\xbc\x54\x15\xbe\x13\x4c\xcd\x89\x06\xfc\x7a\x80\xc5\x01\x1f\xb3\xca\x04\x6e\x2b\x2f\x33\x14\x97\xfa\x75\x2f\x36\xb4\xed\xb4\x06\xbd\xbd\x41\xdf\x0b\x1f\x07\xc5\xc1\x9b\xc1\xcd\xf5\xc5\x3b\xed\xd7\x6a\x32\x08\xc4\x1c\x62\xee\xa4\xb7\xb7\x72\xe9\x56\x8c\x16\x58\x9b\x8a\x14\x3c\x90\xbd\x0c\xa3\x52\xfa\x52\x10\x4c\xee\x40\x34\x9f\x96\x96\x73\x90\xa1\x7c\x9b\x8d\x65\x5e\x73\xfc\xec\x2c\x5a\x35\x0c\x82\x65\xdb\x66\xd9\x58\x67\x9b\xb6\xe1\x24\x61\x90\xb6\x6d\x1b\x60\x02\x44\xf1\x00\xc9\x7c\xfe\x39\x34\xf4\x06\x3e\x7f\x7f\xf1\xae\xfb\xfd\x85\xda\x67\x34\x9e\xfb\x5f\xcd\xd3\x4c\xe0\x9b\x61\x92\x4d\xbf\x70\xe8\xb5\xc3\x1e\xa3\x45\x3c\x75\x9c\x03\xed\x18\xf8\x91\xb8\xed\x20\xea\x51\x6f\x84\x52\xbe\x21\x07\x37\xb7\x4c\x5a\x9e\x01\xb6\xa5\x75\x6b\xb9\x04\x27\xc0\xe8\x0b\xb0\xbe\x41\xb7\x2d\x9f\x3e\x0d\xd4\x94\x53\xe5\x88\xf4\xd4\x6a\x01\x94\x62\x04\x3e\x80\x8b\xd9\x28\x63\x89\x92\xe7\xc5\x4b\x1d\xf0\x79\xef\x1a\x66\x52\x6d\x71\x2b\x1a\x0c\xfa\x51\x87\x58\x56\xc0\x5e\x87\xf4\xdb\x1d\x6b\x32\xf2\xf9\xb1\x66\x27\xed\x9b\xad\x7e\xfb\xd0\xd1\x29\x5b\x32\x8a\x37\xe6\xdd\xbe\x35\xe8\x1b\x74\x18\x2f\x18\xc9\x79\x20\xa6\x48\xa7\x4f\xc3\x63\x84\xa3\xc6\x2d\x13\xbc\x66\x6d\x34\xc0\xd8\xb7\xc2\x43\xd1\xd5\xac\xd9\x59\x43\x6b\x9b\x9b\x61\xcd\x8a\x58\x15\x82\x6b\x13\x58\x19\x7b\xfa\x3b\xbe\x31\x15\x63\x1b\xa9\x0e\x3b\xd5\x41\x0e\xe7\xe2\xef\x64\x11\xb3\x02\xcf\x33\xcd\x13\x7d\x18\x49\x5a\xd9\xbc\xe2\x9b\xc1\xf0\xfc\x1d\x46\xb1\xf1\x19\xf8\x97\x8e\x17\x19\x49\xf3\x31\x2f\x66\xa8\x10\xa3\x23\xbe\x50\x41\x76\xb1\xd4\x14\xaf\x39\xcc\x83\xe1\xf9\xc6\x83\x0c\x78\x6b\x1e\x95\x0b\x61\xda\x50\xb7\x74\x88\xb3\x57\xa4\x98\x94\x06\xb7\x7d\x4a\xbe\x3d\x22\xd1\xff\x89\xc4\x69\x8e\xc1\x50\x1b\xfd\x67\xe4\x90\x06\xba\xc3\xe2\xb5\x29\x1e\xd5\x0d\xd4\x3b\x3c\x8f\x3a\x0d\xc1\x8b\x3b\x4d\x21\x83\x3b\x24\x9e\xda\xa1\xd5\xea\x7f\xeb\x48\x3e\xec\x5d\xf7\xc8\x51\xca\xc4\x00\xc1\x1c\x1d\xda\x13\x7a\x25\x18\x53\x08\x6a\x4e\x58\x96\xce\x52\x3d\x11\x83\xc4\xef\x8f\xcf\xc1\xd0\x0d\xd4\xb7\x02\x25\x6b\xe1\x98\xa0\x38\xa4\x10\x34\x45\xe6\x34\x49\xb2\x34\x8f\x94\xb2\x64\x9b\xd9\x04\x61\x16\x1e\x5b\x0e\x5b\x9e\xf2\xf2\x66\xca\x56\x84\xcf\xd2\x0a\xde\x1a\xfd\xd6\x01\x3b\xee\x64\x92\x29\x17\xf3\x79\xb6\x42\x22\x96\xff\x83\x56\x31\x9b\x40\xd4\xae\x29\x60\x02\x5f\x3f\xd6\xd7\x5b\x50\x53\xcf\xa6\xa6\xaf\xed\xc5\x7f\x09\xc8\xcb\xab\xca\x64\x6f\x95\xce\xa7\x73\xb5\xaa\xdd\x47\x0f\xd9\x8c\x97\x32\x2e\x55\x57\xff\xd3\xb6\xe2\x81\x3b\x61\xbc\xe1\xe2\xa9\x5e\x49\x5f\xa7\xa7\xfc\xca\xb4\xef\xdd\x2e\xe9\xbf\x03\x8f\xa7\xa9\x8b\x5f\xd1\xb0\xce\xc4\x5e\xe7\xef\xd4\x1f\x8f\x8f\x48\x74\x60\x2f\xba\x36\x0c\x7a\x27\xb7\x79\xfc\x0d\xc7\xd7\x0c\xcc\x9b\x4a\xd3\xb1\xb6\x2a\x78\x33\xf0\xdf\xd6\x6e\xc5\xca\xaa\x15\x4f\xdb\xd6\xb8\x07\x0f\x78\x2e\xe3\xa9\xf7\x08\xf8\x70\x44\x7b\x7b\xe4\x75\xae\xe3\x06\x1d\x3f\x1e\x13\xbe\x3d\xa2\x69\x46\xf8\x42\x1e\x89\x2d\x68\x02\x9f\xb4\xf0\x3b\x6c\x4b\xcd\xb7\xe9\x1c\xe3\xe5\x2d\x66\x74\x91\x57\x69\x66\xf8\x9a\xa6\xe8\xbe\xb3\xe1\x80\xa8\xa0\xbe\x27\xe4\x84\x65\x99\x1b\xd7\x67\xab\xf7\x0c\x64\x10\x8d\xe3\xc5\x6c\x91\xd1\xca\x8a\xc2\x30\xd7\xff\x9b\xde\xbb\x2e\x21\x97\xf4\x96\x91\x72\x51\x30\x19\x97\x8d\xa2\x3d\x60\xc7\x69\xdf\xd1\x16\x84\xaa\xf8\x2b\xa1\x7d\x4b\xdb\x8a\xe3\xd5\xd0\x59\xc6\x59\x5e\x8e\xeb\xdf\xf9\x02\x02\x59\x12\x56\x61\x14\x29\x45\xbe\x1d\x35\x18\x80\x23\x01\xee\x45\xa3\x15\x89\xa7\x0c\x2c\xf3\x26\x39\xa9\xf6\xd5\xd2\x1c\xea\x94\x96\x52\x7c\x43\xac\x79\x3f\xd9\x5e\x58\x24\x00\x39\xcd\x8a\x3f\x9c\x21\x97\x4e\x73\x52\x0f\x6c\xb4\xd5\xae\x4b\x21\xb1\x49\x54\xfb\x47\x32\x86\xd5\x89\xfd\xb4\xa3\x6f\x47\x8c\x14\x6c\x17\x06\x90\x98\xc8\xea\x35\x0e\xfb\x61\xf4\x48\x1d\x44\xa9\x57\xa9\x24\x3c\x9f\x70\xd0\xb6\x14\x7a\xc1\xd0\xbe\xa3\x93\x14\x47\x77\x06\x40\xea\x3e\x66\x2c\x91\xd7\xff\x8c\xde\x13\x2f\xc6\x73\x93\x0c\x51\xa5\x19\x2e\x89\xa1\xc5\x8d\x8c\xc8\x03\xf9\x6d\x8b\xca\x1d\x96\x7b\xaf\xf5\xf6\xbe\x3f\x7a\xfb\xf6\x83\xa0\xed\xf6\xde\xb6\x5c\x4c\xe8\x16\x33\x37\x70\x24\xb5\x9b\xf0\x4b\xff\x9d\x14\x33\x4f\x29\x26\x7d\xf6\x58\x64\x7b\x64\x1e\x97\xfc\x92\xeb\x10\x70\x5e\x80\x65\xab\x23\x03\xde\x3d\x38\x01\xf4\x4a\x94\xbc\xb2\x33\x98\x1d\x98\xad\x7c\xd8\x61\x62\x23\x5e\x54\xd7\x8c\x96\x3c\xb7\x34\xc4\xea\x8c\xca\x67\xe1\xdb\x86\x18\x5c\x25\x6d\x59\x8d\x88\xe9\x56\x9c\x93\x8c\xe7\x13\xd4\x59\xb9\x6d\x05\x3a\x01\x58\xbe\xab\x71\x0b\x4c\x33\x51\x5b\xbc\x1f\xbb\xfd\x86\xa6\xd9\x6c\xc4\x12\x41\x5a\xa8\xce\x70\x7b\xf0\x1a\xb2\xba\x32\xeb\x4d\x76\xf5\x36\x7c\x1b\x00\x57\x68\x9a\x51\x3a\x63\x82\x77\x66\xf7\xf3\xb4\x60\x09\x76\x1b\x6a\xd4\x9e\x9e\x69\xc2\x3c\x6c\x4a\xf3\x97\xf1\x49\x2b\x5a\x43\xee\x07\x38\x82\x54\x2f\xa2\x69\x2c\xc4\xa7\xca\x15\xd0\x3c\x53\x4d\x16\xf2\x0b\xb8\x38\xc4\x16\x9b\x15\x78\x4b\x8c\x1b\xa5\x23\x51\xd5\x73\x38\x79\x54\xb3\xe3\x9f\xb4\x46\x32\xb2\xa5\x57\x09\xfd\x61\xa1\x62\xc0\x93\x65\x9e\xc8\x05\x04\x63\x23\x7a\x43\x35\x4d\xf3\x5b\xcc\xfa\xa0\x88\x2e\xfc\x74\xb6\xf4\x01\x20\x46\x62\xf4\x17\x01\x26\xe2\x9e\x14\x4f\x48\x34\x93\x41\xea\xda\xe2\x85\x6e\x10\x05\xad\x65\xd9\x09\x6c\x28\x21\xa4\xe5\xc9\x9b\xa6\x86\x10\x39\x41\xae\x00\x3a\x27\xdf\x91\x7d\x70\x64\x71\x8c\x0e\xb5\x5c\xb1\xa7\x4a\x6a\x94\xef\x95\x7e\xd0\x64\x92\xf8\x3c\xc9\x58\xa9\x01\x90\x07\x83\x3e\x04\xf4\x83\x0f\xef\x60\x78\x2e\xfe\xf3\xd3\xcd\xb3\x7d\x05\x14\xd0\xa0\xec\x57\x7d\xd8\x08\x45\x60\xbc\x8c\x41\x2d\x19\xba\xb8\xb1\x67\x71\x0d\xab\x06\xdf\x88\x2a\xef\xde\x88\x2a\x3a\xda\xe1\xb1\x2c\x66\xab\x85\x80\x98\x6a\x11\xf6\xed\xa0\x8e\x5d\x59\x57\x21\x3f\xd9\x6a\xce\xc8\x0e\x89\x60\x50\x78\xbc\xfe\x32\xbc\x7a\xd9\xc5\x0b\x33\x1d\xaf\x5a\xe2\x43\xbb\x59\x93\xa1\x87\x6c\xc6\xdc\x45\x77\x89\x4f\x1d\xde\x39\x3a\x5b\xfc\x31\xc3\xab\x24\xe6\x32\x70\xa6\xc0\x93\xf3\x84\x91\x6f\x05\xb9\x7c\x35\x8e\x4c\xc2\x81\x1a\xf6\x87\x75\x0e\xcf\xc5\x91\xba\x4d\x25\x2c\x0d\x99\x4a\x46\x67\x0e\xfa\x83\xb4\x94\x8f\xcf\x68\x51\x75\xbb\x5d\x59\x47\x57\x55\x2a\x69\x45\x0d\x60\xdc\x92\xa3\x41\x3a\x40\x37\x92\xa8\x24\x13\x5e\x05\xd0\x5f\x3a\xaa\x29\x3c\xeb\x11\xa8\x85\x2a\x74\x38\x91\xe8\xfa\xb8\x05\x1a\x89\x25\x61\xe5\x77\x84\xfc\x65\x51\x56\x0a\xd4\x42\x89\x95\x66\x5c\xa0\x48\x90\x5e\x56\xe0\x30\xc6\x8a\x82\xe6\x15\x69\x01\x7c\x46\xf4\xf6\xfe\xeb\x5e\xd4\xee\x90\x16\x00\x69\x88\x3f\x13\xf8\xf3\xd5\x25\xfe\xc5\x34\xae\x85\x68\xac\x75\xfc\x4a\x96\x1a\x47\x6d\x54\xcd\x66\x1c\x79\xc7\x85\xe7\xf0\x25\x5e\x66\xa5\xfb\x4d\xab\x52\x63\x87\xe8\xa6\x0c\x86\x86\xe8\xa1\xc6\x5c\x87\x89\x45\xb4\x58\xc7\xa1\x39\x20\xbd\xfb\x28\x74\xa1\xc0\xb1\xb5\x34\xe4\x3d\x57\x45\x1e\x26\x26\x49\xe7\x5d\x2a\x04\x75\x69\x57\x7e\x63\xce\x30\x9e\xea\x77\x75\xfb\x9c\x71\xf9\xc1\x2c\x3e\x32\x58\xcb\x76\x92\x4d\x18\x7a\x35\x29\xf6\x38\xbf\xe3\xb7\x32\xe7\x87\xf2\xd5\xa8\x38\x19\x5e\xee\x5d\x5f\xaa\x32\x96\xf4\x24\xe8\x67\xe1\xc0\x6a\x80\xed\x0c\xbd\xdf\xca\x34\x63\xb9\x41\xe4\x68\xd6\x58\x0b\x39\xe2\xe5\xf0\xfc\xd2\xb3\x04\xc7\x0a\xae\xb6\xb2\xfc\x6a\x63\x99\xe3\xec\x8b\x36\xf9\x07\x52\x39\xa4\xdb\x23\x50\xb9\x75\x7e\x7d\x19\xf2\xbc\x28\x59\x85\xc5\x2e\xd1\x94\xa9\xd4\x48\xb6\x20\x2d\xdb\xdd\xef\xa9\x86\x8f\x17\x15\x9f\x01\xf6\xec\x4b\xb6\x84\x34\x5f\xad\x8b\x97\x4d\xcd\x8b\xc2\x03\x5a\x14\x29\x9d\x30\x0c\xc8\x08\x77\xd3\x70\x17\x29\x07\x4c\xef\xaa\xb4\x17\x16\x36\xf0\x52\xdf\x44\x70\xf5\xd4\xc1\x72\xc5\xa6\x17\x52\x84\xb3\x76\xdf\x47\xdb\xd9\xb4\xdf\x18\xb6\xbd\x77\x7a\x36\xb8\x1e\xde\xac\xdb\xb7\xd3\xb3\xc1\xc6\x6d\x53\xb6\x58\x1d\x13\x87\x25\xfa\xbd\xb6\xe3\x78\xda\x3f\x40\x14\xad\xb3\xc1\xe0\xc7\x4b\x47\x9d\x50\x77\x39\x9e\xcf\x33\xe9\x5c\x38\x50\xa1\x1b\xd0\x61\xa3\x9b\xe0\x53\xd3\xf8\xd5\xc5\xa5\xa5\xb6\xc1\xb0\xbe\x06\x38\x31\x5b\x8f\x53\xdb\x72\x44\x4f\x45\xc3\xe2\x77\xa4\xff\x54\xbc\xfd\xcf\x7b\x6d\xcb\xdb\xc9\xad\x12\x67\x8c\x16\x3f\xf0\x19\x6b\x59\x68\xa5\xb5\x56\x7f\xba\x19\x82\x4b\xea\x35\x9b\x00\x64\xf3\x22\xcb\x3a\x2a\x73\x36\x56\xf9\xd8\x34\xc7\x67\x7a\x8e\xc3\xc1\xcb\xf0\x0a\x96\xac\xba\x66\x90\x4f\xea\xa7\x34\x61\xdc\xa2\xd1\x60\x8b\x5f\xea\x16\xaf\x1a\xdb\xbb\x2a\xd2\x49\x9a\x7b\x07\x2b\xd8\xda\x57\xba\xb5\xe3\x9f\x1b\x9b\xfb\xb9\xa0\x73\xf4\xc7\xde\xd4\x5c\x7f\xff\x40\x39\x69\x16\x15\x62\x4d\xd9\x60\x97\xee\x0e\x5b\x60\x52\xed\xe6\xc5\x47\x62\x3a\x11\x4d\x6d\xea\x7d\xdf\xac\xf6\xcd\xe0\xac\x71\x3a\xd8\xe2\x4f\x88\x79\xb2\xa9\xcd\xa7\x3d\x39\xa3\x29\x5f\x4a\xcf\xe4\x11\x2d\x9a\x9a\x1e\xaa\x02\x5b\xb6\xfe\x85\x6c\xfd\x18\x70\xc3\x9e\xf7\xc8\x2e\x10\x6d\x4b\x9e\x89\x36\x5c\x2e\xc1\xce\xd6\xa0\xed\xad\x3f\x75\x5f\xc8\x45\x92\x34\xb7\xbb\xd4\x9b\xdb\xdc\x99\x21\xd1\xed\x49\xe1\x4b\x49\x5a\x27\x34\xbe\xa5\x45\xc1\x97\x18\xf9\xc0\xf2\xa4\x04\x85\x0d\x66\x5e\x17\x33\x3d\xf9\xf1\xb2\xbd\xfe\x6e\xd1\xe5\x87\xa2\xfa\x89\xae\xbd\x69\xae\xfd\x5e\xaf\x77\x60\x3b\x78\x72\xe5\x42\x08\x8e\x88\x1a\x47\xc3\xf4\xed\x86\xb9\xb4\x2c\x5e\x41\x5d\x2a\x75\x8f\x65\x84\xd8\x38\x58\x17\x4a\x72\x18\x5e\xd6\x55\x1e\x83\x8b\x36\x64\x70\x59\xe3\xd5\xde\xef\xf5\xf6\xd7\xce\x03\x2c\x5f\x05\x9d\x94\xbf\x77\x2e\xe0\x7d\xfd\xe7\x4e\xa5\xaf\x4e\x14\x9c\x15\x50\xcd\xf1\xaa\xe2\x33\x70\x97\xac\x56\x84\x2f\xaa\xf9\xa2\x0a\xf7\x02\x55\xae\xf2\x2b\x28\xb2\xc5\xf6\xf7\xfb\xcd\x7d\x09\x72\x04\x27\xeb\xb5\x5d\xfd\xc8\x56\x65\x55\xf0\xdb\x6d\x88\xed\xa9\xbc\x9b\x05\x95\x02\xe0\x1b\xf8\xb6\x40\x18\x8e\xb4\x72\x08\x19\xf2\x96\xad\xd6\x53\xfb\x8c\x55\x14\x08\xfd\x0c\xbd\x52\xb6\xe8\xf8\xeb\x50\xc7\xc7\x59\x15\xee\x17\x23\xe4\x35\x2f\x60\x7e\x7c\xdc\x30\x22\x21\x18\xa4\x7c\x51\x1e\x67\x15\x0c\xec\xe7\x29\xad\xde\xbb\x4e\xd4\x0f\xa9\xa9\xb1\xb9\x36\x54\xa6\x56\xa5\xc3\xcd\x7d\xd9\xc5\x41\x1d\x06\xcb\x17\xd9\xee\xd6\xf2\xbf\x1e\xef\xf7\x09\x13\xde\x6a\x08\x8f\xb6\x98\x63\xb0\xa7\x26\x5e\x64\xd3\xb2\x6a\x10\x0c\xb2\x8e\x27\xf9\x42\xde\xcc\xaf\x4b\x26\x68\x84\x15\x10\x8d\x35\x8c\x0b\xc6\x72\x72\x02\x3e\xc8\x36\x71\x7d\xf1\xd5\x41\xd3\xa3\xa0\x6b\x6f\xc3\x6a\xf4\x7b\x5f\x3c\x3f\xd0\x48\x4f\x0a\x8f\x92\x96\x0e\xce\x93\xee\xc6\x8a\x52\xd4\x01\xc5\x4e\x5b\x92\xe4\xc5\xf8\xc8\x0e\x34\x2e\x38\x70\xc1\xcf\x75\xd7\x91\x79\x63\xe3\xe1\x15\xdf\x30\xc9\x20\x3f\x69\x5a\xab\xd9\x14\x3f\xa5\x71\x7b\xb0\x32\x7a\xb7\x55\xb7\xff\xd6\x99\xa1\x5e\xef\x0b\xf9\x02\x17\x34\xbe\x65\x42\x5e\x99\xd3\x52\x0a\x1b\xdd\xa6\x2d\xd5\x85\x5f\x89\xb2\x6b\xf6\xd4\xf3\xda\xdc\xac\xd4\x59\x2f\x4a\xd9\xd2\x50\x40\xa2\x22\xae\xdb\xa1\x25\x5e\x69\x84\x9c\x72\x4a\x0b\x44\x81\x0c\xf8\xc8\x88\x07\xb2\xe6\xe4\x87\x00\x8c\x98\xdb\x23\x2c\x0f\x4b\x7d\x89\xeb\x5c\xf8\xd1\xc6\x90\xcf\x32\x13\xa6\x1a\xe8\x57\x62\xb5\xa1\x34\x47\x15\x18\x82\x0d\x67\x20\xd1\xdc\xe3\x6c\x91\xc8\xa4\xba\xbe\x5b\x9b\xf8\x6d\xd0\x83\x29\x0c\xfa\xa4\x64\x90\x22\x11\x7c\x5a\xc0\xdd\x4d\x41\x70\x82\x47\x9c\x90\xf1\xc1\x93\xa5\x4b\xc8\x8d\x42\xfa\x55\x80\xbd\x4a\xf2\x1c\xf4\x25\x86\x2e\xc0\xb6\x4b\xfd\x03\x9a\xfc\x45\x23\x7a\xf6\xe2\x25\x89\xf5\x0c\x6d\x53\x26\xea\xab\x66\x39\x9b\xf1\x3c\x8d\x31\x8e\x08\x1c\xcb\x4b\xad\x41\xa5\xca\x9c\x68\x70\xab\x35\x34\x9d\x54\xa9\xe1\x0a\x0a\xc9\x97\xa0\x4e\x4d\xe1\x0d\x27\xc6\xa7\x09\xb3\x0d\x8c\x01\x77\x2c\x47\xf7\x78\x6b\xc4\x34\x5f\xc9\x49\x89\xb6\xb4\x6b\x7b\xa2\xc1\xe8\x7d\x2f\x9e\xc1\xa0\x4f\x8e\xd6\x6c\xa1\x06\x39\x46\x24\xb0\x82\xc9\x11\x1b\xa2\xd1\xb6\x54\xb0\x21\x9e\xc1\xb5\x65\xf7\x20\x16\x6d\x5d\x0f\x83\xe1\x39\x69\xad\x71\x65\x6a\xd7\xf1\xf6\x11\x6f\xd6\x0c\x61\xc4\x26\x69\x8e\xfd\x83\x01\xfa\x4d\x84\x5a\xc3\x19\x5d\x91\x8a\xde\x32\x04\xb0\xe1\xd2\x90\x6a\xa3\x82\x3b\x4b\x31\x3c\x5f\x3b\xd0\xab\xe1\x80\xb4\xae\x30\x2f\x41\x3e\x21\xe8\x5b\x48\xb4\x36\xf4\xc1\xa3\x7c\x17\x75\xc8\x98\x0b\xb1\x45\x65\x8b\xd0\x5a\x76\x19\x81\x09\x58\x20\x98\x9e\xaa\xb0\x80\xc6\x2b\x2c\x2f\xc3\x79\x87\x37\x62\x66\x27\x67\x17\xde\x74\xae\x36\xac\x3b\x28\xe8\x6b\x83\xfe\x59\x30\x4a\x69\x8e\x5f\xd1\x3d\x58\x66\x3b\x77\x73\x1b\xa4\xa5\x90\x55\xfd\xeb\x01\x6a\xb9\x9d\xbe\x5c\x64\x19\x69\xbd\x7c\x7d\xa1\x4d\xff\xc3\xf5\x2a\xb7\xc1\xa0\xff\x26\x7a\x7b\xdf\xeb\x45\xef\x48\x4d\x65\x6e\xc7\x45\xfc\x7d\x91\x16\x2b\xd2\x3a\x7b\xf9\x7f\x8d\x57\x41\x41\xf3\x72\x06\xe0\xab\xe5\x92\x15\x60\x71\x9f\xb1\xb2\xa4\x13\x66\x9f\x56\x65\xe4\xae\x97\x12\x53\x87\xd8\x7a\xf0\x4a\xc8\x11\x9a\x44\x2e\x3f\xc0\x61\x2e\x19\x84\x60\x9b\x1b\x12\x5f\x8c\xf0\x14\x9e\xad\x9f\xc2\xb5\xd8\x53\xed\x22\xd1\x6e\x68\xe4\x2b\x68\x24\x04\xc7\x60\x30\x2c\xd2\x7c\x22\xda\xf1\x1c\xcc\x8d\x5c\xd8\x3a\x19\xea\x35\xba\xe4\x77\x0e\x00\xb6\xbc\x9f\x30\x49\x42\x6e\x03\xd3\x28\x24\x96\x8e\x4a\xbb\x8c\x10\x92\x54\x3b\x5e\x40\x9d\x19\x2d\x26\x69\xde\x11\x2b\x87\x01\xb4\xf0\xda\xe6\x1c\x00\x26\x05\xa9\xc5\xa2\xa3\x86\xc9\x3d\xdf\x3c\x39\x1c\xe6\x05\x1b\x57\xbe\x9f\xca\x0f\xbc\x48\x7f\xe3\x79\x45\x33\x72\x43\x47\xa4\xf5\xc3\xcd\xa6\x49\x82\xa9\xbb\xa2\x23\x52\x56\x7c\x8e\x88\x33\xf8\x01\x1d\x5f\x71\x2a\xe2\xe9\xce\x39\x19\x2f\x0a\x84\x1f\x7e\xa2\x6b\x94\x3a\xfa\x15\x80\xb1\xd0\x27\x2c\x4b\x73\xdf\xc6\xa5\x66\xf7\xf5\xe6\xd9\x8d\x79\xb1\xa4\x45\x72\x43\x47\xc3\x8a\xcf\xbd\x0d\xbc\x48\x73\x46\x5e\x30\x96\x90\xd6\xc5\x8b\xb6\xf3\x40\x82\x2a\x38\xa6\x8b\x12\x44\x19\xd0\xfc\x8e\x45\x41\xc8\xa0\x85\x30\xfd\xb9\x95\x45\xa5\x4b\xc0\xeb\x53\xab\x8b\xe1\x64\xda\x1a\xe3\x86\x19\xd0\xad\x66\x30\x13\x63\xf4\xc6\xfe\x13\x2b\xaa\x34\x56\x5b\xf3\x93\xd9\x1a\x1d\x3d\x88\x31\xe7\x17\x2f\x1a\xba\x1e\xb9\x87\xc7\x1a\x91\xc5\xeb\xf0\x62\x26\x17\xe8\xc5\x8b\x07\xf7\x10\x6f\xd1\x83\xd2\x97\x2b\x04\xa3\xd6\xe0\xda\x25\xb2\xc0\x29\x92\x64\xc4\x5d\x9f\xc1\x35\x74\x92\x6c\x5e\x65\xad\xa6\x43\x15\x57\xab\xe7\x19\x52\xa6\xe9\xb8\x22\x57\x8b\x8a\xb4\x86\x57\xed\x0e\xa1\xb7\x94\x5c\xf0\xf8\x56\x7e\xe8\x91\xd6\xc5\xb0\xdf\x76\x15\xea\xe4\xfb\xbe\x97\x74\x23\xcd\xc9\xf7\xfe\x33\xa2\xc6\xc8\x1a\xc7\x28\x41\x56\xfa\x51\x60\x44\xe7\x39\x69\x0d\xcf\x1b\x06\xd4\xab\x0d\xa8\xf7\x80\x01\x8d\x37\x0d\xa8\xe7\x0e\x48\xbf\x0d\x57\x39\x69\xfd\x72\xf5\x52\x77\xfe\x92\x57\x6a\x93\xc4\xa3\x64\x78\x70\x7d\xe0\x1c\xc0\x8f\x73\x55\xe0\xbb\xe0\xb8\xfa\xfd\xf5\x97\xbe\x19\xc6\x78\x2c\xc6\x61\xd1\xed\x1f\x3c\x90\xa7\xeb\x07\x32\xa0\x79\xcc\x32\xd2\x1a\x1c\x9b\xa5\x38\x1f\x13\xb8\xda\x92\x05\x06\x19\x6a\x0e\xde\x78\x54\xd8\xfe\x15\x10\xf9\x3f\x9b\xb1\x24\xa5\x15\xcb\x56\x16\x7f\xf2\x48\xa6\x74\x15\xec\x29\xbb\x67\xf1\xc2\x9a\xc5\x79\x85\x50\x29\xf2\xf6\x02\x8b\x6e\x51\x70\xcb\xe1\x53\xba\xa7\xc9\x28\xe2\x26\x0e\xa1\xef\x3d\x1e\xbe\xbf\x80\xb6\x2e\xdf\x31\x02\x10\x32\x9a\xa9\xaf\x51\x7e\x07\x0b\x88\x07\x0e\xb8\x01\xf0\x7c\xe7\x2a\x71\x8f\x61\x18\x6a\x78\xe0\x5a\xca\x13\x34\x87\xa7\xc0\x49\x42\xef\x00\x10\x7d\xdc\xce\x07\xc4\x3d\xf8\x18\x81\x10\x7d\x17\x79\x07\x7e\x31\x2a\xab\xb4\x5a\x54\x8c\xb4\x86\xaf\x4f\x9a\xee\xbe\xc1\xf1\xcb\x86\xc5\xa3\xc1\xcb\x4f\xac\xa9\xc5\x63\xa1\x80\xd8\x3a\x1b\x0e\x1a\x1e\x88\xfe\x68\xfd\x1e\x98\x50\x1d\xf1\xe1\x6c\x38\xa8\x95\x08\x47\x06\x58\xf0\x73\x2d\xdb\x35\x4b\xba\xc8\xa3\xcb\x96\xe3\x9d\x64\x87\x3a\x1b\x77\xdb\xb3\xe1\xa0\xc1\xdd\x16\xdb\xb3\xba\x54\x61\xcd\x6a\xa4\xed\x06\xef\xa8\x90\x5f\xad\xef\xde\x23\x63\xbb\x55\x53\x5e\x74\x2c\x38\x90\xb6\x4e\x1b\x59\xbe\xaf\xc6\x4d\x27\x77\x8f\x3c\x27\xe1\x44\x3a\x0a\xa9\x39\x2d\x82\x09\x6d\x3a\x98\x01\xa2\xdb\xed\x5a\x51\xfc\x09\xbb\x27\xad\xf3\x97\xa7\x9a\x78\x2e\xd2\x5b\xc1\x23\x01\x5b\xd0\x41\xe1\xf3\x56\x41\xd2\xfc\xa2\xd9\xc1\xe0\x98\x9f\x7f\x21\xc6\xec\x48\x7d\x6f\xa2\xd3\xcd\xef\x9a\xe8\x2a\xc0\x3d\x80\xe7\x3d\xb0\x3f\xad\x97\x67\x17\x0d\x03\x1c\x2d\x2a\x92\x70\x56\xe6\x51\x45\x68\x92\xc0\x0b\xdb\xc0\x68\x3e\x7f\x16\x18\xde\xd9\xa7\x3d\xbb\x61\x06\xf5\x94\x2f\xf3\xf5\x0c\xea\x22\xc3\xc0\x9a\x21\xab\x04\xaf\x3a\x6c\xd8\xfd\xe7\xcf\x03\x43\xfd\x61\xab\xa1\x2a\x2e\xd2\xfd\x30\xf1\xe6\xd0\xf6\xc3\x50\xc1\x90\xa5\xe8\xe1\xfa\xdc\xe5\x6f\x16\x73\x90\x0a\x9a\xb9\x97\xe7\x49\x60\xbc\x97\x5b\x08\x2d\xd8\xef\x45\x98\x00\x86\xa8\x18\x42\x6e\x61\x9f\xb4\x86\xc3\x7d\x23\x40\x62\x8e\x0d\x3e\x26\xdf\xef\x13\x9d\xa7\x04\xd6\xd5\x8d\xbd\x33\xc9\x5a\x2c\x44\xe3\xb5\xaf\x6c\x60\x7a\x2c\x30\xbd\x97\xeb\x9f\x56\x67\xf0\x4f\xc5\xe0\x9f\x86\x06\xff\xf4\xcf\x1f\xfc\x38\x30\xf8\xab\xf5\x83\x3f\x65\x77\x69\xcc\x4c\x70\x19\xaa\x1e\x5a\xa7\x83\xa1\xf5\xc8\x48\x38\x16\x4a\x4e\x07\x43\xe3\xa9\x8d\x42\x06\x36\xb0\xab\x1a\x50\x44\x00\x7a\xed\x37\xbf\xdc\x9c\x5d\x5f\x02\x70\xdd\x43\xd9\x9d\x01\xcf\xcb\x34\x61\x85\x29\x29\xc6\x75\x7a\x36\xb8\xfe\xbf\xc3\x61\x47\xe1\x8c\x54\x2a\x9a\x99\xb1\x19\x91\x2e\x18\xa3\xac\x81\x74\xbf\xee\x05\x96\xe7\xd5\xfa\x17\xad\x31\xb8\xa0\xe6\xc0\x59\x03\xf8\x08\x3b\xef\x1e\x7a\x89\xa4\x0b\x24\x8e\x05\x2d\x12\x96\x90\xe3\x82\x51\xd2\x1a\xbe\x3a\xd6\x8b\xff\x73\x9a\x65\xc0\x57\xe9\x75\x68\x98\xdc\x97\x81\xc9\xfd\xb4\x49\xa9\x92\xd4\x3b\x3f\xfb\x94\xce\xbf\x0a\x74\xfe\xf3\x86\x53\xa3\xe6\xae\x48\x6e\x78\x35\x7c\x78\xc7\xa1\xdb\xf3\x97\xad\x8e\xab\x39\x8c\x56\x1c\x65\x6b\x38\x38\xef\x20\xbf\x7a\x7a\x36\x38\x37\x6f\xa5\x94\x07\x75\x42\xce\xf3\xd3\x2e\x21\x57\xa3\x92\xc3\xeb\x2e\x84\x62\x31\x15\x54\x47\x92\x38\x22\xad\xd3\xe3\x86\x0b\xff\x6b\x1a\x18\xf2\x7f\x6c\xbe\x40\x5d\xa8\x1e\x84\x2a\xfa\xae\x7f\xb8\x1f\x7b\xac\xe2\xba\x30\xd1\xd6\x60\x78\xee\xc4\xe4\x64\x8c\xca\xec\x96\x33\x5e\xd6\x71\x00\xe4\x11\x87\xe8\xd1\x86\xd9\x8c\x02\xb3\x79\xf3\xbb\xce\x54\x38\xbe\x4b\x45\x4a\x34\x44\x73\xa9\xcf\xeb\x0e\xe4\x60\x78\xee\x1f\xbf\x40\x54\x93\x5e\x9f\xd7\xd2\x9d\x54\x8b\x39\xe2\xf6\xdb\xbb\x1a\x0e\xf6\x5e\x5d\xee\x1d\xbf\x1a\x90\x98\xcf\x66\x34\x4f\x4a\xa9\x08\xd3\xea\x67\x85\xd9\x62\x2b\x9e\x1f\xc9\xec\x58\x70\x5b\xa9\x5c\xa0\xca\x53\x35\xad\xa4\xcf\x2c\x2d\xd1\xf5\xd5\x18\x02\x9c\xfe\xb9\xd2\x50\xf9\x1b\x04\x60\x37\x6b\x2e\x9d\x48\xa6\xa0\x6b\xd8\xc3\x38\xb0\x87\x6f\xdf\xae\x3f\x45\x01\xcd\x38\xac\x06\xf8\xc8\xb6\x4d\xaa\x5c\xb9\x44\x05\xcb\xb0\xb4\xd4\x9c\x70\x5d\x1d\x33\x01\x36\x8c\x2c\xc4\x6c\xbc\xfb\x1d\xd4\x55\x93\x51\xae\x82\x32\x8a\x71\x06\x58\xb3\xa8\x76\x3d\x27\xee\xd3\x0a\x76\xd3\xa2\xf3\x92\xfa\x51\x08\xb6\x47\xad\x36\x64\xae\x13\x52\xc4\xba\xda\xdd\xfc\xac\x9d\x9f\x13\xc1\xb2\xa9\x80\x2c\x2b\x88\x6f\xc5\xaa\x35\x7d\xe9\x26\x44\xf5\xae\x96\xcd\x68\xb1\xaa\x07\x33\xbd\xe9\xbd\xeb\x02\x50\x5e\x6b\xef\xaf\xad\xb7\xc9\x4e\xfb\xb0\xd5\x7d\xd2\xfe\xd7\x3d\x69\x9c\xc4\x00\x8f\x95\x19\x5e\xbd\x3a\x39\x12\x2d\xbf\xd9\x7f\xe7\x38\xd0\x18\xd1\xed\x0a\x44\x37\x51\xa4\xff\x2e\x00\x27\xe0\x99\x92\xc3\x20\x39\x57\xc3\x41\xd0\x27\xbe\x3e\x9a\x76\xdb\xc2\x94\x5a\x27\xce\x5d\x79\xe2\x1c\xd8\x68\xe3\x15\xb9\x94\x06\x84\xd6\xab\xcb\x87\x3f\x5a\x21\x1e\xf3\xaf\xff\x4c\x3e\xe4\xd8\x38\xaf\x92\x57\x32\x1f\x9e\x7a\x47\x5a\xc7\xaf\x06\x0f\x9f\x62\x88\x13\x7d\xff\xcf\x9c\x22\x44\xaa\xde\xef\xf7\xc8\x2e\x79\x9d\x83\x9f\x02\x64\x0f\x03\x00\x1e\x04\x45\x29\x19\xe1\xe0\x38\x4a\x2b\x96\x40\x8e\xa4\x32\x1d\x41\xc6\x54\xb4\x11\x6d\x64\xca\x0f\x30\xc6\x51\xf7\xf4\x82\xec\x2a\xfe\xff\x2b\x62\xc1\xec\xa0\xf1\xd9\x72\x6f\x2e\x49\x6b\xf8\xd5\xa0\x8f\x4f\x8f\xdd\xc2\xf7\xa6\x85\xe7\x1b\x5b\x78\x6e\xb5\xe0\xfc\xef\xe5\x09\xe0\x16\x9b\x31\xd3\xb2\x5c\xcc\x18\x81\x3e\x09\xcd\x96\x74\x55\x36\x6f\xb0\x3f\xab\x0b\x18\x53\x85\xce\xdf\x31\x47\x08\x09\x71\xc5\x65\xec\x8e\x65\xa4\xef\xcf\xe1\x72\x7d\xf9\x7d\xbf\xfc\xcb\xf5\xe5\x9f\xd6\xed\xcd\x82\xe0\xf6\x7b\x5b\x13\x97\xa4\x9e\xc6\xa2\x5b\xa9\xa8\xb6\xf3\xf9\x58\xe7\xf1\xa1\x9e\x86\x03\x98\x7a\x4f\x4c\x1d\x5c\x3e\xa6\xdb\xa2\x49\xc0\xcd\xf5\xd1\xc9\x6b\x86\x0c\xe8\xbf\x44\xae\xa1\xd7\x5f\xad\x7f\xf9\xe7\x2c\x95\x54\xe6\x3d\x8f\xda\xca\x4b\x59\x39\x5d\x1d\x67\xe9\x24\x87\xec\x33\x37\x42\xa4\x6b\x9d\x9e\x0d\x8e\x2f\x5e\x86\x9d\x62\xc7\x69\x96\xb5\xa2\x33\x1d\xc1\xf9\xf0\x65\x62\x65\x3a\x01\x76\xea\x0a\x2c\xdd\x03\x44\xdd\x92\x5c\x4c\xeb\xf4\x6a\x50\x53\xd5\xc0\xaa\xfd\xdb\x7f\xed\xaa\xa9\x27\x5a\xeb\xb4\x55\xa2\x45\x0b\x2a\x4c\xc2\x33\x01\x48\x38\x93\x41\xe9\x98\xed\x46\x30\x62\xf8\xe4\x7b\xf0\x21\x01\x78\xb3\xb6\x83\x19\x21\x77\x69\x2f\x32\x7e\x4b\xeb\xb7\x76\x4b\x78\x8a\x26\x16\xe4\x55\xc1\x63\x56\x96\x2e\x04\x5a\x21\xc8\xb7\x94\x89\xb9\x75\xb0\x46\x6c\x81\x40\x20\xc8\xdb\xff\xd1\x00\x6f\xe8\x58\xa7\x73\xc0\x9e\x0d\x2e\x8f\xc9\xd3\x67\x5d\xcf\x95\xcc\xc0\xf4\xb5\x0c\x04\x9e\xe5\x70\x66\x3b\x78\xa9\x3e\xbe\x6f\xea\x43\x01\x32\x36\xf6\x20\xe1\x20\xd7\x37\xbf\xe7\x36\x7f\x95\x0b\x5e\x71\x45\xaa\x82\xe6\x32\x31\x4a\xc5\x01\xb4\x07\xc1\xd6\x04\x17\x64\xfa\xdc\xe2\xe4\x35\x2d\xa0\x33\x41\xf4\x87\x04\xf8\xc6\x0b\x7d\x8b\x7b\xc5\x7e\x08\x14\xdb\xaf\x17\x3b\x0f\x14\x7b\xda\x75\x5c\x41\x31\x94\x17\x30\xdb\x21\x8b\x34\x16\x85\xeb\xbd\x0c\x40\x38\xaf\x59\x5c\x85\x28\xd8\x3e\x74\x4a\xbb\xeb\x4c\xea\xde\x7a\xf8\xbf\x6d\x7c\xf6\xe4\xd4\x82\xf1\xa2\xe2\xae\xfd\x37\xb2\xa7\x05\xbd\x70\x3c\xe6\xb4\x1d\x1e\x9d\xfa\xf3\x63\x03\x79\xd4\x86\xbc\xdd\x70\xd7\x0d\xf5\x01\x03\xb5\x06\x59\x0f\xfe\xde\xee\xa2\x75\xb5\x9d\xc8\xc6\x08\x7a\x6e\x0d\x2d\xdd\x22\x3e\xfc\x2d\xf2\xaa\x94\xcf\x7e\xcd\x28\xdc\xfa\xe9\xa6\xdf\xeb\xd9\xac\x51\xdb\x2a\xed\xdb\xb4\x5b\x3f\xdd\xec\xef\x3b\xa5\x9f\x58\xa5\xf7\x37\x96\xde\xb1\x4a\x3f\xdd\x58\x7a\x77\xfd\x48\x9e\xba\xe3\xee\xae\x1f\x89\x57\x7a\x6f\xfd\x48\x54\x69\x60\xdf\xb3\x2c\xe8\xb6\xc5\xe2\x29\xaf\x83\xfa\x85\x1e\xb7\x56\x80\x5d\x6f\x07\x7e\x7b\x12\xf8\x6d\x27\xf0\xdb\x6e\xe0\xb7\x6e\xe0\xb7\xbd\xa6\x47\x15\xe3\x47\xff\x4b\x18\x12\x89\x2c\x11\x10\x5d\xd7\xbd\x66\xde\xa0\xd6\x3e\x73\x90\xe6\x84\xce\xd7\x66\xb2\xd1\x7c\x9f\x18\x99\x28\xfc\xf8\xe8\x88\xe8\x5c\x86\xde\x1b\x2d\x03\x43\xa3\x56\x54\xf3\xed\x86\xa4\x3d\x33\x3a\x3f\xac\x3b\xfb\xeb\x6a\xed\x88\x7c\xf8\x40\xf4\x9f\xbb\x81\x56\xfa\x9b\x5b\x79\xe2\xb6\xd2\x0d\xb4\xb2\xbf\xb9\x95\x1d\xb7\x95\xbd\x40\x2b\x4f\xbd\x56\x1e\x91\x40\x10\x43\x63\x00\xab\x87\xab\xa1\x74\x05\xee\x81\x02\x60\x5d\xe5\x71\x4d\x76\x48\x24\x31\x75\xf5\xae\x7c\xea\x25\x78\x42\xe3\x5b\x65\x6b\x3b\x3d\x1b\x9c\x18\xf5\xeb\x4f\x37\x5f\xec\xa3\x57\xf3\x62\xde\x25\x5b\x9b\x7a\xe0\xd8\x7c\xb9\x41\xc3\x4d\xef\x18\x91\x51\xa8\x2d\x88\x2d\x08\x72\xb4\xcd\xae\x86\xa1\x00\x01\x37\x95\x28\xe4\xdb\xb2\xba\xb8\x0e\x77\xd1\xec\xf0\xd7\xe0\xd6\xff\xd1\xf1\xf6\x5a\xd2\x22\xb1\x56\xef\x85\xbd\x7a\xfb\xfd\x4f\x5d\xbd\xaf\xd7\xaf\x9e\xad\x0c\xb9\x65\xab\x39\x4d\xa0\xf3\x1f\x5f\x1d\xd7\xfc\xe6\xa0\xb9\xa3\xcd\xba\xfb\x50\x94\xf0\x8f\xd8\xf4\x51\x1d\x8d\xe3\xa5\x90\x78\x33\xb7\xef\xba\xcf\x1e\xf4\xfd\xed\xef\xec\x5b\xc2\x9b\xd8\xaf\xb6\x76\x70\xcb\xf8\x92\x15\xe8\xe2\x16\xf3\x22\xc7\x54\x42\x25\x48\x6c\xeb\xd5\x41\x8f\xac\x8c\xf9\x32\x09\x49\xcc\x27\x79\xfa\x1b\x3a\x32\xa3\xc3\xad\xc6\x3d\x9e\xce\x2f\x44\x47\xa2\x9f\x93\xc5\x64\xc0\x67\x73\x5a\x91\x82\x49\xcf\xf7\xb4\x44\x7d\xb7\xaf\x67\x82\xd9\xbf\x58\xbf\x91\x2f\x16\x59\x26\xd3\xde\xb6\xae\xcf\xc3\x52\x5d\xdc\xb8\x80\x16\x4e\xa8\x6f\xc9\x96\x1f\xac\x55\xbb\x64\x33\x5e\xac\x40\x46\xdb\x5b\xe4\xe2\x3f\x5b\x6b\xcc\x60\x18\x59\xe0\x6d\x9c\xad\x9f\x9d\xe5\x5e\xb7\x4f\x5a\x17\xc3\xfd\xb6\xeb\x5d\x07\x8e\x4f\xbe\xc1\x9c\x96\x75\x0f\x3b\xe8\x2c\xdf\xe4\x5e\xb7\xef\xba\xd7\x59\xbd\x3f\x15\xbd\x3f\x0d\xf5\xee\x5b\xbc\x1b\x7b\xe7\x9b\x7a\x7f\xda\xd8\xfb\x7e\x87\x5c\x83\x37\xaf\x18\xc4\xf5\xb6\xa3\xb8\x0e\x8d\xe2\x43\xf3\x28\xae\x1f\x30\x8a\xfd\xe0\x28\x42\x3b\x11\x1c\xc5\xc7\x4d\xa3\x68\xde\x89\xbe\x35\x8a\x7e\x70\x14\xfd\x6d\x47\xf1\x9f\x9b\x46\xe1\xf9\x7f\x62\xfc\x35\x49\x63\x9e\x23\x82\xbe\xb8\x9a\x97\x69\x9e\xf0\x25\xa9\xd2\x2a\x63\x96\x11\x0c\xee\x04\x84\xc9\x83\x51\xf9\xc5\xdc\xa8\x86\x37\xd1\x06\xd5\x5e\x00\x05\x41\xb4\x77\x23\x9a\x0b\xa9\xfe\x43\xe3\xde\x34\x84\x7d\xf7\x2c\xaa\x61\x39\x28\x17\x7b\x05\xa3\x09\x89\x79\xc6\x0b\x32\xa7\x19\xab\xaa\x60\x53\x5f\x6c\x74\x63\x3c\x2e\x26\x25\x89\xf9\x0c\xc2\x13\x20\xd5\x91\x8c\x9b\x8a\x00\xc4\xac\x7f\x58\x4c\x46\x7d\xd2\xed\x76\xc9\x21\xfc\xf0\x52\xfc\xf0\x32\xb2\x00\x90\x51\xc2\x2e\xe7\x59\xaa\xfd\xd6\x4b\x36\x4b\xc5\xd8\x72\x09\xb0\xc3\x0a\x5a\x31\x95\x1a\x40\xc2\x19\xa6\x85\xce\x0f\x17\xc6\xb4\x7b\xd3\x7b\xd7\x85\x56\x5b\xd1\xa1\xd4\xc0\x41\xd6\x12\x9a\x16\x03\xc8\xbc\x6c\x65\x99\xb6\xa1\x43\xf7\xc8\xbe\x46\xcb\x83\x05\x7a\x85\xeb\xa3\x38\xe2\x6a\x6d\x86\x52\xab\xc2\xa1\x97\x5e\xf0\xb8\x28\xe8\x4a\xa6\xd4\x7f\x44\x80\x8d\x6b\xa9\x11\xbd\xc4\xa8\x9a\x23\xd2\x3b\xb4\xff\xfe\xc6\x0c\xf7\x90\xec\xec\x98\x2f\x8e\x04\x21\xfa\x44\xc6\xc3\x9b\xd2\x1b\xab\xa9\x27\x64\x5f\xa1\xa6\xe9\x4a\x90\xc6\x1a\x8c\x5d\xb5\xb2\x64\x87\x38\x20\x70\x56\x27\xdf\x1e\x39\xeb\xa2\x20\xd5\x0c\x03\x5b\xa5\xf9\x82\xf9\x75\x65\x5f\x80\xaf\xea\x98\x06\xa3\xef\x22\x32\x63\x34\x2f\x01\x0d\x0d\xf1\xf9\x31\x13\x98\x84\xa5\xb4\x1c\xd5\x91\x60\xad\xa4\xde\xc4\x9d\x48\x96\x8e\x70\x0b\xca\x6e\x31\x19\xdd\xf0\x5f\xfa\xfd\x96\x3d\xd6\x37\x66\x1a\x06\x42\xce\x1d\xa2\xd1\x4f\x38\xfb\x86\x78\xbd\xd6\x2a\xec\x90\xe8\x10\x99\x70\x5d\xd3\x68\xcb\xf4\x1a\x58\xec\x78\xd3\x40\xef\xfb\xfd\x1b\x3e\x18\x0e\x5b\x4e\x4b\xcd\x03\x6b\x9a\x0f\x39\xb2\xba\x38\x0c\x25\x55\xc2\x89\xd8\xdb\xb5\xd1\x6b\xe3\xdd\x17\x30\x49\xb7\x05\x4c\x3d\x70\x18\xb5\xc5\x22\x20\xbc\x93\x73\x4f\xa5\x37\xac\x98\xed\x93\x49\xc1\x97\xc0\x4e\xa4\x63\xc9\xca\xf9\x1a\xfe\x2b\xc3\xe1\xae\xbb\x63\x80\x3f\x03\xc5\x71\xb2\x98\xcd\x95\xfa\xb5\x4a\x0b\x66\xa5\x9c\x01\x88\x4e\x1d\x4f\x25\xaf\x3f\xe8\x7c\xd5\xfa\x47\x34\xe2\xc9\x2a\x3a\x08\x5c\x11\x1f\x83\x57\x2c\xa8\x71\x30\x1f\xc1\x98\x17\x6c\x82\x98\x1b\xb0\xbc\xa1\x29\xf4\x37\xdc\xfa\xeb\xee\x49\x15\xc0\x35\x02\x54\xc6\xaa\xa0\x78\x9d\x41\xc2\x82\x78\x0a\x68\xfc\x32\x4a\x13\xe2\xf1\xd2\x7c\x82\x0d\x5e\x0d\x07\x8e\xe5\xe4\x01\x37\xa1\x05\xf5\x59\x4b\x9c\xaa\xef\x86\xe3\x62\xe2\xdc\x82\xbf\xf4\xfb\x0d\x74\x0b\x97\x27\x38\xa9\xb7\xda\xba\x75\x55\xa7\x01\xef\xe9\x85\x5e\xd5\x81\x28\x68\x8a\x1f\xda\x18\x8c\x06\xb6\x53\x27\x06\x68\x30\xd6\x4f\x4a\x43\x95\x78\x78\xbc\x1d\xea\x47\xef\x9a\xe0\xbf\xde\xd5\x71\xa0\xea\x64\x20\xae\xa2\x8d\x64\xd0\xff\x5f\x32\x78\x18\x19\x9c\xe8\x55\x0d\x91\xc1\x1e\xd8\xaf\xd9\x81\x04\x1d\x56\xf9\x6b\xc5\x94\xfb\xfb\x3b\x80\xd5\x9b\xc8\xc5\x91\x5e\x49\xdd\x3f\x87\x78\xf6\x37\x13\x0f\x11\xe4\x10\x48\xef\x24\x63\xb0\xca\x29\x9d\x6b\xb6\xd2\x00\xdf\xa7\x06\x45\x4f\x06\x96\xc8\x28\x10\x70\xd2\xfb\x4c\xe6\x78\x16\x75\x8f\x30\xee\xf6\xb3\x8e\xf4\x01\x90\x61\xb8\x28\x72\x22\x52\xd9\x81\x56\x53\xf7\xc8\x2e\x39\x11\x82\x1d\xfe\xd9\x27\xbb\xe4\x7c\xf7\x84\xd1\x19\xfe\xbd\x0f\x7e\x05\x09\x2b\xb2\x34\x67\x9e\x0c\x4c\xc1\x74\x0f\x58\x89\x09\xdb\x1d\xd3\xb8\xe2\xa4\x54\x69\x3c\xe5\x0e\xa0\x68\x0c\xb7\x3c\xd9\x07\x16\xed\x47\xa9\xb5\x02\x0f\x2f\x08\xb0\x81\x7c\x5f\xa0\xce\x79\x3d\xbc\xb6\x62\xa9\x40\x9f\x85\x83\x97\xd4\xad\x12\xa2\xd7\x43\x22\x31\x2b\x89\x5e\x3a\xff\xb8\x3d\xdb\x70\xeb\xae\x3f\x09\xd2\x43\xc8\x5e\xe2\x56\xb7\xbd\x97\x7a\x07\x23\x88\x2c\x37\x00\x26\x45\x08\xca\x08\x92\x2d\x28\xf2\x59\x0f\x3a\x43\x55\x5c\x90\x93\x27\x75\x60\x42\x65\xec\x92\xa0\xbb\x6e\x22\xe1\xbe\xb4\x4e\xd9\x43\xec\x1f\xc8\x9d\x6c\x04\x85\xb0\x4a\xcb\x2c\x46\x37\x6e\x34\x00\x7c\xea\x9e\x9c\x1d\x5f\xae\x49\xcd\xbb\x1f\xe8\x7b\xff\xc0\x50\xcd\xef\xed\xfe\xf5\xcb\xd3\xb3\xeb\x8b\xf3\x97\x67\x6b\xf1\x2a\x6a\x43\xe8\x1d\x20\x5d\xff\xee\xd9\x5f\x5c\x0d\x7e\x0c\xc2\xff\xa1\x60\x84\x7e\x7e\x24\xce\xd2\x39\xea\xa3\xb4\x67\x2d\x4d\xc4\x29\x71\x74\x24\x2c\x21\xc9\x82\x61\xda\xb5\x78\x01\xc9\x5a\x63\xe9\x10\x2e\xb9\x1e\x42\x8e\x49\xc1\x66\xbc\x62\x84\xce\xe7\x10\xb6\x3b\xa5\x18\xb0\x2c\xd3\x62\x8f\x78\x35\x25\xcb\x22\x95\x68\x06\x30\x08\x79\x0a\xf4\x20\x48\x0c\x64\xc7\xca\x52\x30\x3f\x34\xcb\x56\xd0\x12\xbd\x65\x88\x88\xbf\xe2\x8b\x82\x94\xac\x2c\x3d\x00\x08\xd3\x40\x42\x2b\xfa\x29\x29\x2b\x1f\x41\xd6\xa5\x86\x64\x84\x78\x16\xf7\x7f\x87\xa4\xa8\x07\x78\x38\xfa\xf2\x8b\x5d\x31\x48\x2d\x1f\x12\x77\x06\xd8\xd2\xdc\xbe\x3f\x95\xe7\x69\x89\xae\x47\xe8\xde\x2a\xc1\x33\x7e\x31\x35\x01\xec\x82\x26\x49\xc1\x4a\x70\x44\x4d\xf3\x58\x66\x39\x37\xb8\xac\x69\x5e\xb1\x89\xf4\xf4\x04\x2c\x84\x5f\x00\xb7\x1e\x8d\xbf\x98\xf7\x37\xcb\x1c\xa3\xef\x56\x57\xcc\x5f\xdf\xc4\xf3\xb2\xd7\xdf\x7f\xfa\xc5\xb3\x2f\xbf\x7a\xf7\x04\xbc\x11\xf7\xb6\x78\x7f\x61\xb7\x8e\xa4\xb8\xdf\xa5\x15\x1f\xe9\x7b\x42\x55\x16\x45\x42\x4f\x6b\xcc\xe7\x2b\xe9\x62\xc6\x07\x6a\x09\x9c\xec\xa0\x50\xd3\xe5\x7d\x5f\x5f\xdf\xdf\x55\x64\xce\x0a\xc0\x35\x5d\x64\x36\x5c\x84\x49\x5d\xa3\xdc\xae\xf1\x84\xc0\xea\x8f\x56\xa4\xb8\xbf\xab\x76\x17\x79\xaa\x73\xfb\xa4\x55\x59\x6b\x8a\x5c\x8d\x00\x09\x29\x5b\x89\x65\xd5\xa9\xdd\xe0\x51\x87\xb2\xbc\x20\xf1\xa2\xac\xf8\x4c\xd5\x52\xb8\x06\x59\x0a\xa9\xe5\xc7\x6c\x09\x8e\xcc\x10\xe8\x25\x5e\xbd\x52\x01\xaa\x90\x71\x9a\x27\x32\x55\x90\x1e\x35\x8b\xa7\x79\x1a\x8b\x83\x22\x46\x5e\x30\x3c\xb9\x04\xf3\x08\x19\xe4\x5f\x74\x27\x97\x3d\x12\x3e\x62\x2b\x70\x23\xfb\x06\x7f\x01\x0d\xd1\xb7\x87\xea\x2f\xb1\x03\x1d\xb2\x28\x17\xd0\xec\xa1\x4e\x5d\x93\x7c\x1b\x38\x15\x5f\x7d\xf5\xd5\x36\x4f\xd4\x4a\x71\x58\x0b\xb1\x8c\x97\x3c\xd9\xc0\xbb\x75\x48\xbf\xfd\xa6\xf7\xce\xc9\x44\xaf\xaa\xba\x4f\x08\xca\x3f\x76\x9a\xf1\x17\x30\x79\xeb\x07\x2c\x72\x08\xda\xa4\x43\x29\x40\xc9\xaf\x62\x48\xf0\x7b\x47\x49\x56\xea\xb2\xde\xe8\x77\xfb\xe6\xaf\x87\xef\x76\x0e\x5b\xe2\x3f\x4f\xda\xad\xc3\xd6\x9b\xb7\xe5\xdb\xe1\xbb\x27\xed\xf6\x77\xda\x0f\x37\xe0\x89\x4b\xb0\x3b\xe9\x7e\xdb\x7f\x67\x4c\xfc\x0a\x03\x03\xbf\x3c\x7d\xe7\x03\x67\x79\xe2\x1e\x34\x13\x1d\xa8\xd1\x2b\xf1\x4f\xb6\xf2\x71\x1b\x90\xa4\xb0\x6f\x02\x2c\xb3\xa4\x95\x0d\x4f\x7d\x13\x08\x92\x04\xdc\x6d\x8d\x32\x9a\xdf\xb6\xed\x38\xc9\xd6\xf9\xe0\x87\x5a\x20\xc6\xf0\xfc\x4d\xf4\x7f\x1e\xa2\x54\x4c\xa1\xfd\xe1\x9c\xc6\x8e\x46\x31\xa5\xc5\x04\x13\xa0\xb5\x43\x36\x94\xd7\x73\xd2\x1a\xbc\x7e\x1d\xec\xfe\xf8\x21\xdd\xe3\x33\xfb\x7a\xfe\x80\xbe\x4f\xc5\xca\xb6\x06\xaf\x4f\x83\xbd\x9f\x3c\xbc\x77\x08\x78\xdc\xbe\x7f\x65\xbc\x6b\x0d\x5e\xbf\x08\x0e\x61\xf0\xf0\x21\x80\x6e\xfb\x01\x63\x10\x92\x90\x1a\xc4\x49\x70\x10\xa7\x0f\x1f\x04\x20\x93\x6c\x3f\x06\x2b\xb2\x75\xf0\xf2\xa2\xed\xdf\xfe\x59\x7a\xcb\xec\x2d\xeb\x40\x7e\x94\xb9\x23\xe7\xcc\xf8\x1d\xd3\xb8\x52\x80\x2a\x94\x9b\xdc\xb6\xa2\x31\x80\xf5\x80\x8c\x9d\x99\xef\xdc\x01\xb3\x3c\xfb\x83\x77\xfb\x81\x60\x15\x72\x7a\xaf\x04\x0b\x04\x3c\x91\x5c\x8e\x57\xeb\x97\xe3\xf5\xfc\x4f\x59\x8c\x17\x7f\xe8\xc1\xfb\xb4\xa5\x30\x36\x98\xe3\x51\xc9\x33\x88\xea\x1f\xfc\x50\x0f\x18\x13\xe3\xfd\xfe\x81\xc6\x0f\xa7\xfb\xe0\xb0\xc9\xae\x9f\x61\x50\xed\x90\x8c\xf8\x16\xe7\xe5\x55\x70\x30\x3f\x7c\xd2\x60\x54\xbb\xcd\xc3\x09\xa5\x2d\xf1\xff\xe7\x57\xee\xaf\x9d\x8b\xba\x7f\xac\x40\xec\xd6\x40\x22\x06\xf9\xb3\x3a\xdf\xcc\x50\xc4\xb6\x75\xc3\x9f\x81\x20\x03\x55\x00\xb3\xce\xc6\x19\x9d\xcd\x5b\xf0\x5b\x87\xf4\x3b\x75\x6c\x55\xc6\xf2\x61\xfa\x1b\xeb\x2e\xd3\x44\x66\x4e\xd1\xa6\x8b\x14\x2d\x16\x29\xf9\x06\x1b\x3d\x24\xe9\xce\x8e\x83\x32\x51\x35\xa3\x09\x79\xef\xe2\x59\x21\x58\x96\x34\x87\x04\x1f\x19\x5d\x91\xd6\xd9\x69\x07\x91\xd4\xc3\x0f\xc3\x5f\x5c\x3b\x34\xfc\xf6\xdd\x5f\xb6\x71\xd2\x92\x6c\x7b\x90\x85\x71\x52\x21\x91\x0f\x1f\xb0\xa0\x95\x9a\xd4\x9d\x16\x13\xa3\x3e\x61\x19\x5f\xb6\x7c\xac\x7a\x59\xb1\xbf\xa6\xe2\xf1\x88\x2b\x44\xcb\x7a\xc5\xfd\x70\x45\x0b\xb7\xb2\x5e\xe7\xa9\x9b\x8b\x54\xfa\x2f\x24\x3c\x2e\x49\x49\x57\x88\xd3\x87\xc6\x96\xcf\x70\xbd\xc1\xb5\x05\xe1\x09\x3e\x53\x39\x69\xa2\x2c\x43\x75\x3b\x74\xa5\x9a\x03\xb0\x11\xb9\x35\xa5\x10\x9f\xc8\x6d\x9a\x65\x3a\x8a\x4b\xa2\x69\xc7\xb7\x10\xdf\x5c\x92\x62\xa1\x90\x2b\x9b\x87\x1f\xdc\x7e\x04\x7e\x3a\xbb\x90\x7b\x5f\x47\xa2\x10\xfb\xfc\x63\x68\xef\x7f\xfc\x67\xec\xfd\x0d\xc7\xa7\xfe\x13\x76\xff\x86\xc3\x03\xfd\xb0\xed\x87\x9a\xe2\x55\x0a\xac\xa1\x64\x2d\xc5\x57\xc1\x4d\x86\x97\xee\xe2\xe1\xcc\x24\x34\xb8\x0d\x23\x21\x01\x44\xe4\x00\x4e\xc3\x03\xb8\x7c\xc8\x00\x12\x68\xf1\xa1\x03\x18\x58\x4c\xf5\xa9\x64\xaa\x1f\x19\x7c\x32\x0c\xfe\x04\x5d\x75\xa9\x81\xd2\xc0\x6a\x07\x29\x55\x32\x36\xae\x3a\x06\x3c\x92\x3a\x8f\xba\x82\x1a\x09\xcd\x6c\x43\x7c\x7e\x68\x66\x62\xa4\x5b\xcd\x4c\xc2\x62\x0b\x3e\x7d\x18\x66\xd3\x87\x0f\xe9\xfd\x4e\xe2\xdf\x6f\xc7\xa8\xcb\xce\x91\x51\x1f\xe2\x75\x4c\x8e\xb3\x92\x93\xe8\x3c\x4f\xab\x94\x56\x8c\x4c\xd3\xc9\x34\x43\xac\x3a\x80\x3b\xaf\x0a\x0a\x79\x64\xa2\x2e\x09\x38\x16\xe1\x55\x34\xa7\x45\x2d\x28\x4f\x4c\xe5\x66\xfd\x54\xbc\xc8\x53\x5b\xdb\xff\x8d\x38\x72\x81\x63\xa3\xe6\xbb\xad\x68\x70\x6d\x52\x80\x48\x6c\xce\x31\xa3\xd5\xa2\x60\x1a\x99\x15\x45\x55\xc8\x06\xe2\xa7\x4e\x54\x06\x6a\xcb\x6b\xfc\x0d\xf9\x96\xbc\x2a\xc9\x8d\x8e\xcb\x2b\x66\x34\xcb\x56\x1d\xf2\x19\xb8\x68\x7d\xa6\x60\x2b\x65\x7e\x60\xec\xab\x4b\xce\x41\x4b\x28\xc3\xfb\x40\x53\x28\xcb\xe9\x04\x93\xa3\x34\x4b\xab\x95\x49\x3c\xa9\x87\x09\xe0\xba\xb3\x39\x66\x6e\xa5\x24\x49\xc7\xa0\xbf\xab\xf4\x28\x15\xa6\x07\x4c\x44\xb4\x35\x93\x91\x7a\x15\x77\x83\x08\x5f\x95\x32\x2d\xcd\x81\x31\x2f\x9c\x72\x4c\x65\xc4\x2a\xa9\xa0\xda\x03\x77\x9a\x8c\x8e\x58\x56\x92\x05\x44\xf7\x4e\xd9\x3d\x4d\x58\x9c\xce\xd0\x8f\x5b\x5a\x22\x64\xcd\xbf\x2f\x58\xb1\x7a\x48\xdd\xfd\x2d\x7b\x55\xa1\x2e\xa2\xce\xd3\xad\xfb\xd3\xb5\xb6\x8b\x1c\x15\x44\xfa\xed\xcd\x06\xc4\x0a\x78\xd1\xec\xab\xe8\xac\x41\xbe\xff\xe5\x21\x27\xd7\x79\x75\x3e\x41\xc0\x74\xb8\xcc\x93\x30\x97\xf9\x1f\xff\x5d\xb9\xcc\x91\x9c\x65\x33\x9b\x69\xe4\x19\x2d\x42\x18\xc1\xe6\x07\x0b\x4f\x64\x08\x9e\x61\xe5\xa7\xc8\x41\x7f\xf3\x00\xcc\xa4\x6c\xb4\x76\x10\xd7\x00\x3a\x70\x07\x83\xb8\x0e\xb6\x4a\x7f\x8f\x74\xb5\x01\x77\xa9\x29\x77\xdf\x1a\x99\x26\x78\x69\xce\x55\x68\xdf\x5c\x4b\xd0\x93\x82\xce\xa7\x69\xec\x24\x1f\x7e\x18\x60\x90\x98\xfc\x68\x83\x17\x39\xcb\x13\x05\x0f\x64\x1c\xb2\x48\xeb\x55\x91\xce\x68\xb1\x22\xa7\x66\x5f\x5d\xe8\x1e\x25\xcd\x4f\x69\x91\xa0\x3d\x04\x6c\x09\x32\x53\x2d\x89\xd0\x05\x00\xac\x01\xc7\x98\xf5\x30\x21\x90\xfb\x07\x71\x25\xc4\x4e\x44\xc8\x37\xa7\x15\xa0\x6a\x8c\x18\x3e\x17\x31\x2f\x0a\x48\xd3\x2b\x9b\xa3\x04\x22\x72\x4c\x9a\x28\x0e\x16\x88\x27\xa8\xbc\xce\x32\x22\x53\xda\x93\xa8\x71\x5d\x22\x78\x2f\x03\xd8\xd0\x35\xd7\xe0\xd0\x83\xf9\xff\xb1\xf7\xe7\x5f\x8e\x22\x49\xbe\x28\xfe\x7b\xfd\x15\xea\xef\xbd\x67\x22\xeb\x2a\xab\x04\x02\xb4\x74\x4d\x75\x8f\xb3\x49\x80\x24\x04\x08\x24\xe8\xee\x5b\x5f\x36\x01\x62\xdf\x04\xa2\xa7\xef\xdf\xfe\x0e\x20\x45\x28\xb6\xcc\xc8\xac\xee\x37\xf3\xde\x79\x71\x8e\x4e\x2a\x91\x61\xee\x6e\xfe\x31\x73\xf3\xcd\xec\x0f\x6f\xec\x7e\xff\xe7\x7f\xbe\xb9\x27\xfe\xae\xc7\xfb\xc5\xb8\x2e\xaf\x36\xd3\xde\xee\x12\xc9\x36\xe3\xc8\xfa\xfd\x9d\xf2\xf0\x86\xd4\x5b\x56\x1f\x12\xfc\x33\xa9\x77\xfd\xf5\x5c\xec\xdd\x31\xa6\x0f\x49\xfe\x4f\x5f\x11\xfd\xd7\x05\xf8\x27\xe8\x97\x31\x36\xf9\x05\x7a\x19\x1c\xa7\x5b\x7a\x7a\xc3\x48\x29\xdb\xb7\xad\x8e\xf5\x8d\xf6\xe1\xc6\xb1\xb7\x04\x62\x5c\x7d\x74\x09\xe6\x2e\x76\x5c\xeb\x47\x3f\x86\xd3\x7d\x5a\x93\x59\x2a\xdb\xf7\xec\xe8\xd7\x17\x6e\x8e\x6f\x58\xcf\xe5\xbd\xf5\xdc\xe9\xc6\x80\xe8\xa2\x22\x7c\xda\xe1\xaf\xc3\x3f\xb6\xf4\xce\xbf\x4a\x1f\x46\xa3\x6b\xd1\xb7\xc0\xcb\xed\xf4\xa0\x9f\x1a\xbc\x3b\xdb\xbd\x0e\x46\xe0\x6a\x73\x3f\x75\x17\x19\x5e\xce\xfa\xde\x2e\x17\x79\x55\x6e\xb7\x05\x79\x0b\xfa\xfc\x6e\x91\x20\x08\xae\xa5\xe6\x6f\x8c\x81\x92\x7d\x4b\xf8\x27\xbd\x0e\xaf\xdc\x8a\xcf\xfd\x4a\xe8\xcc\x37\x46\xe6\xb7\xfd\xf1\xd7\x43\xf5\x5d\xb2\xc2\x57\x6d\xf6\xfe\xf6\xb9\xbb\x61\xf2\xba\xc6\x2f\x53\x4e\xf4\x91\x0a\xfb\x34\x7b\x6f\xb6\xe0\xcf\xff\xda\x26\x5c\xf3\xf6\x7d\x43\x0b\xd6\xb6\xe5\xe9\x03\x22\x4e\x2e\x83\x4f\xeb\x1e\xb4\x2f\x9e\x7d\xee\xc3\x0c\x24\xb6\xe9\x1d\x3d\xf3\x3e\xf4\x55\x6e\x3f\xc5\x6f\xba\xc5\xd7\xec\x07\x59\x2f\x6a\x07\xd4\xb7\x26\x58\x6f\x09\xc5\x7b\x6b\xd5\xc4\xfb\x4a\x24\xf8\x6e\x56\xd1\xa3\x45\x7c\x1b\x2d\xc1\x7f\x1d\x5a\xee\x54\xe9\x8b\x70\xb9\xde\xac\xe9\x13\x32\xbe\x0d\x98\x7f\x6d\x2b\xbe\x04\x98\x77\x1a\x71\xe7\x71\xde\x0f\x9f\x8b\xa7\x28\xdf\xcc\x1b\x27\xe3\xbb\xad\xf2\xf8\xf8\x14\xd1\xeb\x73\x17\x6b\xf0\x72\x5b\xa8\xd3\x6f\xbc\xae\xb7\x1a\xf2\x81\xa1\xe7\x7d\x54\xe4\xeb\xe9\xfb\xdb\x9b\xd7\x69\xec\xcf\x6f\x49\x2b\xfc\x60\x6c\x5d\xc7\x2e\xc6\xd8\xe4\x93\x77\x1f\xac\xea\xbd\x99\xfb\xc0\x1b\x0c\x07\xe3\xb7\x6c\xb0\xd7\x9d\x46\x1f\xfc\xe1\xd7\x01\xf6\x3c\xb2\xee\x35\x89\xd2\xdd\xe9\x89\x57\x6e\x6a\xc7\xf4\xf3\x00\x7a\x4a\x50\x7f\x5f\xb9\x5d\x56\xda\xfd\xd1\xc3\x8f\x57\x11\xfb\x72\x15\xc7\x6f\x56\xf1\xb6\x9f\x9e\xbd\x31\x65\x7a\x56\xc5\x9e\xcc\x79\x87\x0c\x79\x4e\x66\xbc\x43\x86\xf6\x64\xf7\x72\x79\xc8\x1c\xe3\x53\x77\x96\xbb\xcb\xc9\xfc\xb9\xfd\xea\x3c\x7d\x35\xda\xaf\x3f\x3e\x3c\x0a\xa9\x5b\x26\x2d\x8a\x2c\xff\xc8\xb5\x87\xa7\x75\xd3\xb7\x05\x77\x13\x6d\xc7\xf0\xfe\xb2\xda\xab\x03\x71\xdf\xa9\x65\x6f\x2e\xea\xf6\xd2\xb8\x93\xc4\x6d\x71\xf5\xdf\x07\x08\xf4\xfc\x92\xf2\xdd\x3a\x6f\x37\xd4\x5e\x6f\x35\x7e\xba\x2e\x95\xfc\xf8\x14\xe0\xe1\x8d\x26\xbc\xb7\xec\xdb\x27\x74\x8a\x03\xeb\xe5\xdb\x46\x1c\x3c\xdd\xa5\x7c\x8f\xc3\xf8\xc6\x81\xd6\xbd\xa8\x78\xc9\xe2\xd8\x3e\xfc\x2a\x0f\xe4\x31\xc9\x6f\xa1\x07\x9e\xf9\x92\x89\xd7\x3d\xfd\x2a\x97\xc7\x54\xc1\xaf\x4e\xff\xdd\x18\x95\xb7\x1f\xbe\xca\x0b\x7b\x94\x4b\xe0\x45\xfe\x2b\xc1\xb4\x0f\xbf\xca\x63\xfa\x94\xba\xb8\x0b\xd3\xfb\xaa\x59\xfd\xe3\xaf\xf2\x99\xdd\xf1\xe9\x53\x80\xbe\xc1\xa9\xff\xe1\xab\xbc\xe6\x37\x5e\x44\x16\x77\x29\xa4\xe2\xf2\x55\x9f\xe5\x45\xe6\xf9\xf6\xcd\x56\x7f\xb5\xff\xc7\x4f\x60\x2c\x06\x1d\x64\xfe\xad\x1b\xe1\x8f\x6f\xe1\xe1\x0a\xa9\xeb\x15\xd9\xb7\xb1\xf2\xec\xc7\x37\x0a\x44\xee\x0b\xf4\xbe\x8c\x98\xaf\xf1\x42\xef\x79\x3d\xc2\xe3\x95\x26\xdc\x03\xe7\x6b\x2c\xb1\x67\xf2\xf8\x12\x7c\xbe\xc6\xe9\x11\x40\x52\x61\xeb\xd6\xe5\x7d\xfc\x7c\x8d\xd1\x23\x82\x94\xaf\xe3\xe7\x6b\xbc\xe6\xf7\xcd\x33\x3f\x8e\xa2\xe7\x7c\x7f\x78\x19\x6f\xa0\xb7\x77\x18\xf4\xec\xca\xd5\x35\x4c\xdb\x31\xce\xec\xd1\xcb\x8b\x0d\x7d\x1e\xb3\x6b\xea\x4d\x57\x0f\x8e\xad\x33\x01\x4f\x9e\xdf\x15\x7c\x62\x75\x7b\xa1\x75\x1c\xc6\xd8\x0b\xb2\x2e\xe5\xcb\x35\x6b\x9e\x77\xb6\x07\x79\xe7\xdb\x5e\xae\x44\x5e\x34\x38\x96\xdd\x29\xd6\x1b\xb3\xb4\xd4\x03\xef\xe8\xd9\xd6\xa0\x1d\xac\xb2\xcf\x03\xe7\xf3\xc0\xf8\xb1\x3b\xb0\xf7\xf3\x0b\x6b\xfd\xef\x03\x64\x76\x7f\x70\xec\x0a\xf5\xc7\x6b\x25\x52\x7f\x25\xbb\x3b\xde\x3f\xf8\x69\x80\x40\x8f\x97\xb3\xde\x30\x93\xcf\x38\xb5\x26\xd7\xcb\xf2\x62\x60\xba\xb6\xe9\xf7\xab\xe4\x59\x69\x5f\x2b\xdd\xc5\xb8\xb8\xc6\x9a\xbf\xfe\x75\xc7\xe4\x6e\x7e\xc4\xe0\xd7\x97\x6e\xc5\x93\x3a\x76\xf1\x1f\x1e\x09\xff\xd0\xa7\x80\x7c\x1e\xe5\xe8\xfd\x66\x74\x3f\x48\x22\xf1\x9b\xb8\xc0\x7f\xf9\xc2\x1b\x57\xc3\xd2\x95\xf1\x2c\xac\x90\x37\x18\xfe\x3a\xc0\xee\x62\xf9\xbc\x4c\x78\xd8\xdb\xaf\xc7\x46\x3f\xf6\xe6\x1d\x41\xb7\xf0\xdb\x37\xb1\x77\xeb\xee\x6b\xd2\xdd\xf7\x68\xe5\xd9\x35\xeb\xd9\x7a\xe2\xeb\x20\x47\x5d\x6d\xc6\xcf\x1f\x75\xef\xff\xe9\xd6\xd6\x2f\xdc\x31\xec\xff\x5e\xdc\x34\xfc\x8a\x00\xcd\xfb\x28\x46\xef\x43\x61\xfe\x31\x50\x3d\xf6\x06\x49\xd1\x40\x5e\xed\xde\x43\xd7\xbf\x0f\xd0\x37\x60\xfa\xa4\x73\x2f\x60\x8a\x7e\x09\xa6\xe8\x7f\x37\x98\xbe\xd5\x8c\x2f\xc3\xf4\xce\xd8\xfc\x7f\x30\x7d\x53\x80\xe6\xeb\x60\x5b\xaf\x24\xf0\x01\xe9\x3f\xc2\xf2\xc6\xea\xad\x71\xe1\x4f\xbf\x0e\xe6\xd0\xe0\xdf\xfe\xad\x03\xdf\xbf\xff\x3a\x98\x4f\x9f\x7a\xf9\x2b\xf6\x74\x0e\x0d\x86\x83\xd9\x2f\xef\xb1\x85\xa1\x7b\xbe\x30\xf4\x8a\xf1\xbb\x1a\xd0\xbe\xd9\x71\xbe\x49\xa0\xab\xfa\x75\xe8\xb3\x0b\xb2\x77\xc8\xf3\xd7\xfb\x19\x2f\x6f\x14\xfe\xf8\xf6\x39\xad\x57\xef\xbd\xbc\x82\xf6\x72\xe7\xdb\x2e\xfa\xcd\xd0\x9f\xf2\xeb\xc2\xcc\xe0\x16\xa4\xa4\xdf\x2f\xfd\xc6\x3d\xc3\xaf\x04\xca\xb8\xae\x97\xb7\x13\x98\x32\xbf\x65\x10\xff\x44\x4a\xe2\x3b\x8b\x43\xd8\xe0\xa7\xe7\xc4\x3f\x0f\x44\x3b\x2f\x83\x62\xf0\x89\xe7\x7e\x1c\x78\x79\x97\xc3\x12\x1a\x74\x07\xe6\x27\x83\x9f\x6e\x2c\x5f\x2f\xc6\x6e\xc5\x1f\x07\x7f\xc9\xe2\xea\x17\xb3\xdb\x12\xfa\xdb\x23\xa3\x2b\x8f\x6c\xf0\xcb\xc0\x1c\x88\x6f\xb4\x29\xfa\xe6\xcd\xfa\xeb\xe2\x26\xf6\xe1\x4d\x06\x28\x7a\xf8\xd8\x7a\xe9\xe4\x7e\x46\x98\xc5\xd5\x5b\xb3\xd7\xa7\xf5\xee\x1f\xdb\x49\xfb\xb3\x3b\xf1\xef\xd3\x3f\xed\x94\xdd\x5e\xf9\xfa\xca\x7e\x37\xdd\x8e\xab\xfb\xbb\xe2\xed\x77\xf1\x8d\xdd\x12\xf2\xba\xad\x7f\x4d\x02\x9e\xdd\x07\x6a\x37\xec\x81\x1d\x75\x39\x2d\x07\x67\x4f\x1f\x3c\x02\xe9\x1b\xa1\x17\xfd\x73\xa1\x37\x19\x7c\x0b\x9c\xba\x1d\x00\x89\x19\xfc\xf9\x0e\x48\x03\x18\x7b\x62\xb1\xed\xd7\x32\xbb\xfc\xe9\x65\xfe\x44\x0e\xb7\xe8\x1d\x7c\xca\x5a\x4f\xfd\xc7\x41\x9c\xfd\x70\x8b\x19\x7c\xfb\x19\x6e\x7f\x6e\x5b\xdf\x93\x74\x0b\xab\xe3\x3b\xc6\x32\xc9\xbd\x62\x3a\xee\x99\xf6\xd1\x6f\x6c\xab\xe5\xfb\xf8\x4b\xc7\xef\xfa\xbc\x67\x76\xa7\x37\xdc\x4d\xf7\x5f\x73\x9c\x0e\x7e\x19\xc0\x83\x5f\x06\x50\xf7\x89\x06\x9f\x36\x71\x56\xb8\x03\x10\xda\x99\x67\xea\xd1\x5d\xb4\xe3\x2e\x99\x81\x9e\x17\x5d\x3a\xa4\xc7\xcb\x4c\x79\xbf\x4e\x37\x28\xe2\x81\xb2\x43\x5b\x03\x3a\x28\x93\x3e\x59\xac\x65\x47\x71\x61\x3f\x19\x9e\xae\xa5\x8f\xec\x5a\x8a\x15\x07\xc1\xdd\x0e\x97\x6d\xb6\x9e\x76\x9f\x95\x65\x80\x21\x4f\x35\x5f\xc5\x66\x97\x35\xe0\x65\xc5\xb1\x01\x32\x88\x1e\x7f\xd5\xcf\xba\x17\xb4\x50\xfb\xdc\x2a\x59\x7f\x7e\xc4\xb6\x7e\xf2\xa2\xcf\x8f\xc5\x3d\x8a\x0a\xeb\x9a\xb9\x89\x6f\x2f\x7f\xee\xb3\x53\xbe\x09\xbe\x3f\x7f\xb7\x91\xf8\x7f\x94\x46\x7f\xcd\x3c\xc1\x1f\x37\x79\x7f\xf9\x33\x0c\x7f\xd4\xea\x8d\xbf\x85\xed\xf8\xe3\x6c\x27\xdf\x52\xdb\xf1\x2f\xf0\x2f\xd0\x2f\x1f\xb6\xd4\x18\xf2\x0d\xcc\xb1\x47\xb6\xcf\xd2\x26\x5e\xb7\x89\x6f\x97\xd0\xfa\xc3\xae\x45\x3c\xb0\x6c\xd3\xb3\xba\x68\xe9\x5d\xa0\xc9\x22\x1e\xb8\xed\xff\xbb\x2d\x93\xb8\x37\x33\x4f\x29\xed\xaf\x07\xa9\xca\xbc\xa5\xbc\x24\x4f\x23\xba\xd2\xdd\x55\xee\x4f\x3e\x3d\x1e\x96\x7a\x54\xd7\xbb\xb3\x50\x1b\xfb\x6c\x67\xaf\x8a\xb8\x3b\xf2\xb4\x6c\x7f\xf2\xfa\x63\x63\xcf\x0f\xc7\x75\x3e\xc4\xed\x46\xe9\xd5\xc8\xdf\x9d\x77\x02\x5d\xbc\xf3\x37\x59\xff\xd0\xe7\x44\x8c\xe2\xe7\xd7\x21\x1d\xef\x6c\x47\x9f\xaf\xa2\x78\x4c\x62\x78\x5d\xc7\xfc\x7c\x1d\x54\xbc\xbc\x0f\x7d\xfe\xcd\xa7\x30\xfe\x94\x7c\xe5\x18\x46\x7c\x2c\x1e\x63\x77\x5e\x0f\xa4\x75\xbb\x74\xbb\xb7\x8f\xb4\xfc\x21\xf9\xf6\x90\x66\x79\x7c\x2c\xc4\x37\xc2\x9a\x89\x7d\x1c\xe6\x3e\x16\x7b\xbf\x5f\xd5\x65\x60\x5a\x7f\x2c\x89\xe5\xcb\xaa\xfd\xcf\x77\x9a\xfa\xc2\xae\xbd\x47\x76\xef\x3f\xbe\x0e\x0c\xdf\x07\x3a\x5c\x7d\x5f\xcd\xfe\x7f\x5f\x29\x72\x15\xeb\xd6\x60\x45\x91\x79\x57\xcc\xea\x23\xa5\x0c\x06\xfd\x95\x76\xc3\x7e\x76\xad\x59\xcf\x07\x67\x2f\x2b\x4a\x3d\xe8\xf9\xc5\x67\x3b\x0b\xf4\x4b\x17\x7c\xe2\x7f\x3d\x8b\xd3\xda\xa2\x5b\x8f\x2e\x5d\x92\x66\x3d\x7b\x9d\xea\xae\xad\x77\xfa\x01\x49\x5d\xa3\x25\x14\x97\xc0\xbe\x0a\x49\x6e\x1d\x10\x65\x87\x5d\x83\xd9\xbe\x64\x3a\x48\x3f\x14\x04\xe0\xcb\xc7\xbd\x6f\xcb\xff\x77\x47\xbe\xdf\x39\xb7\xfd\x3d\x57\xcc\xdf\xe5\xd1\xad\x81\x7f\x7a\xda\x2e\xfe\xe8\x11\xf0\x7f\x41\x25\xde\x3c\x92\xf0\xf2\x4e\xc1\x3f\xeb\xb2\xff\xf7\x8a\x03\xfd\xbf\xb5\x22\x5f\x12\xc9\x3b\xe3\xed\x77\x85\x5f\xf8\x5e\x69\xbc\x33\x38\xff\xf3\xeb\xf0\x4a\x10\x6f\x85\xc4\xb8\x5d\x90\xbd\xd7\xe0\xfe\x82\xac\x9e\x39\x6f\x9d\x40\xe9\x56\xa0\xef\x12\xba\x67\x71\x71\x8d\xb9\xfd\xb4\x43\xdd\x5b\x80\x6f\x49\xf1\xd6\xd9\xc7\x0f\x18\x9a\xfe\x30\x78\x3b\x00\x8b\xb6\xd3\xcd\x58\xba\x51\x0a\x7f\xfb\x80\x43\xf6\xbd\x81\x46\x6e\x17\xbb\xfb\xdb\x31\xbb\x38\xb9\x05\x5b\x83\xfe\x36\xf8\xf3\x8b\x58\x6d\xd0\xdf\x3e\x0f\x60\xe8\xc7\xc1\x4f\xf0\xe0\x8f\x8f\x9b\xc6\x4f\x2f\xe3\xfd\x8a\xfc\xf5\x7d\xf8\xf5\xfb\xf0\xed\xfd\xc1\x3d\x83\x57\x3d\xab\xec\xfa\xb6\xf7\xed\xfe\xf4\x58\xb3\xcf\xcf\xca\xf9\xd2\x75\xc1\xc7\x2b\x72\x50\xbf\xb7\xfa\x46\xb0\xdd\x57\xe7\x2f\xba\xa0\x64\xdf\xb8\x56\xf2\xe7\xec\x2b\x59\xa2\xfb\x20\x4d\x77\x87\x23\xbc\x68\x20\xda\x66\xa1\x47\x4e\x19\xe8\xd9\x35\x47\x20\x49\x11\x04\x10\xc1\x8f\xdf\x54\xf6\xff\xfc\x4a\xd9\x5d\xd4\xe2\x2b\xd6\x3f\xb5\x1e\xc7\xcf\x92\x2a\xfd\xf8\x06\xa3\xfc\x7b\xe3\x16\x77\x25\xfc\x73\xe4\x98\x7f\xb9\x2d\x7d\x08\xca\x41\xa8\x47\x5e\xf2\x78\x32\xbc\xdb\xd4\xb1\x8a\xf6\x9d\xcf\xb7\x2b\xaa\xed\xbf\x76\x5d\xd8\x51\xee\xc5\x51\xfe\x8d\x5a\x59\x7c\xed\x98\x51\xbf\xe9\xf6\x81\xde\x14\xdb\xde\xfc\xb6\xc2\xff\xe7\x57\x4a\x97\x3e\x7e\xd7\xe3\x1b\x17\x5d\x3e\x50\x70\x6b\x40\xbd\xc8\xf9\xc9\x68\x45\x7c\x6e\x27\xa5\x57\xcb\xb7\xc7\x95\x7b\xd7\xe7\xe3\xa5\x0e\xbe\x2a\xec\x5e\x4d\x5f\x01\xf8\x2d\x66\xe5\xef\x08\x8b\xdd\x36\x2f\xd4\x33\xc7\x8b\x5e\xb7\x6e\xfd\xdd\xad\x2b\xbf\x62\x17\xe2\xe4\xf2\x8e\x1d\x10\xc1\xe7\xeb\xe2\x4a\x1f\x8d\xfb\x5b\x61\x74\xfe\x5a\x8e\xd2\x6e\x0d\x8f\xf6\x82\x76\x48\xbb\x56\xe1\xea\xc9\x52\xb4\xf8\x8d\xa5\xfd\xf5\xa1\xfa\x5a\x37\xf6\x33\x9e\xc7\x44\x9f\xdb\xa7\xb5\xa4\x4e\x51\x28\x61\xb7\x05\xe2\x77\x4e\x80\xea\xaf\x21\xb7\x1b\xc1\x1f\xf5\xf5\x66\x8e\xa9\xd6\x40\x5c\x67\x7d\x80\xa0\xbe\xb1\xcd\xff\xeb\x2b\xa5\xd2\x5e\x17\x26\xfb\x8d\xbe\xa5\x45\xf0\xe3\xe7\xe7\x81\xea\xbf\xad\x6f\xbf\x52\xf2\xb9\xf8\xad\xf0\x02\xbb\x0b\xca\xf3\x49\x7f\x5a\x74\xd8\x00\xde\xd5\x4d\xbf\x2b\x53\x8e\x36\x76\xb1\xd4\x4d\xbf\x1d\x09\x06\x9f\x72\xdb\x1e\xb8\x45\x91\xe4\x7f\x1c\x8d\x22\xbb\x68\xc9\x2a\xcf\xf7\x7e\x36\xe3\x70\xd4\x7e\x19\x29\x77\x3c\x8f\x37\xdb\xe3\x45\xc7\xf8\x31\x1c\xf2\xf3\xc9\xd8\x51\xcf\x7a\x5b\xdc\x4d\xb2\x06\x9f\xba\x2b\x8a\x03\x7d\xe0\x04\x97\xc4\xed\x6a\xd0\x1f\x78\xef\xfe\xff\xa6\x32\x37\xdf\x7f\xb1\xee\x76\xaf\xee\xe9\xc4\xd6\x97\xe7\x56\xaf\x4e\x56\x75\x6f\x77\xa7\x2e\xee\x6b\xfd\xe9\x9a\x0f\xb2\x07\x6e\x9f\x2c\xb9\xff\xa5\x8f\x12\xf7\xe3\xcf\x5f\x3f\x95\x37\x7e\x99\x6f\xff\xcd\x9d\x9e\x57\xc1\x7a\x5b\xd9\x93\x7d\x90\xa5\x97\x0d\xe8\x63\xcf\x7c\xe1\x3a\xef\x68\xd4\x65\x24\xbe\xb6\xe2\xad\x73\xd8\x5f\x29\xf1\xe6\xa0\x3d\xbf\x04\xdd\x1b\x90\xdb\x6a\x6c\xbf\x74\xdb\xe7\xb8\xa6\x08\x6a\x25\x7e\x9f\x26\xff\xf5\xda\xed\x5f\xb9\xa9\xf6\xa6\x5a\x51\x37\xb5\x82\xbe\x53\xad\xbe\x52\xf4\xd5\x8c\xdc\x5a\x4c\x9d\xbb\x1b\xb8\x9d\xf5\x58\x51\xdf\xdb\xdc\xbf\x7f\xcc\x6e\xde\x0a\x7d\xda\xb6\xe8\x16\x8c\x56\xdb\xef\x2d\xf7\x3f\xbf\x5c\xee\xf5\x7a\x76\xbf\xee\xdc\x37\x92\x21\x7e\x97\xd1\xfa\xeb\x35\x02\xfb\x17\x36\x75\xba\xfb\xd0\xdb\x41\xfe\xac\x58\xf2\xf7\x16\xfb\x7f\xde\x2e\xb6\xd5\x6e\x5e\x16\x09\x6a\x40\x33\x2b\xea\x8f\x3d\xc1\xe8\x94\x8f\xba\x2f\xbf\x9d\x8b\xdf\x1e\x67\x7c\xbf\x85\x7a\xf2\xf3\x29\x6f\x5f\x69\x07\xec\xac\x8f\x05\x6f\xfe\x38\x18\x43\xf0\xb8\xdb\x22\x21\xdc\x2c\x0e\xbd\x32\x1c\xf0\xd2\x00\x94\x85\x1b\x67\xf9\xcf\x5d\xfa\xa0\x8e\x36\xef\x96\x17\xb3\x73\xdb\x17\xa3\xd1\x40\xce\xed\xde\x59\xf3\xf2\xc1\x35\x1d\x83\x79\x5d\x5a\x75\xe2\xb3\x9d\x45\xbd\xb5\xd6\x07\xb8\x44\xfe\xd4\xaf\x2f\x05\x9e\x69\x47\xb9\xdd\x87\x10\x33\xf5\x68\x60\xd8\x2d\xa7\x63\x77\x3c\xe1\x1a\x87\x73\xc5\x10\xd4\x46\xa2\x06\x47\x2f\xb0\x7f\xfe\xe1\x87\x87\x32\xef\x43\xb5\x9a\xc5\xc3\x2f\x3f\xfc\x10\x78\xc6\xcf\x59\x61\xd9\xc9\xa7\x87\xee\x96\x63\x17\x66\xfc\xd5\xe9\xed\x50\x4f\x06\xb1\x71\xb2\xcd\xc7\x84\x13\x6b\x3d\x49\x5a\xad\xee\x9c\xec\x6b\xb4\x3d\xeb\x7a\xb9\xb7\x8b\xaf\xf0\x28\xa5\xcf\xfd\x38\x63\xd9\x89\x1d\x75\xb7\xe9\x6e\x67\xb4\xbb\x6d\x9e\x6e\x95\x7a\xf7\x3c\x3d\xcc\xad\x8c\x85\xd8\x16\xdc\xe7\x56\x8a\x9e\xc1\xf8\x31\x8a\xe7\x8d\xf4\x3f\x3a\xf3\x3b\xf8\x7b\x1f\x73\xef\x1f\x03\xcb\xce\xcd\xcc\x4b\xfa\x6b\x47\x03\xb7\x0c\xf5\xa8\xdb\x72\xea\x6c\xd3\xfd\x8f\x37\x81\xb7\x5d\x79\xcf\x88\xef\x5a\xfb\x8f\x81\x13\xb4\x6d\x6f\xfb\x72\xb1\x6a\x89\x9e\x1a\xed\x45\x49\xd9\x5d\xd1\x8a\xcb\xa2\xfd\xf6\x14\x05\xeb\x25\xde\xee\xf2\x0f\xdd\x8f\x5c\x77\xd5\xf8\xdc\x97\x73\x0d\x34\xd8\x4a\x7f\xd0\x1a\x16\x37\xce\x8a\x67\xb5\xed\x97\xf0\xbd\xfc\xb9\xbc\x3e\x5f\xa3\xc6\x75\x3f\x5b\xb6\x51\x3a\xce\x35\x30\x7d\x5b\x8f\x5b\xea\xdf\x3b\x36\xbf\xde\x33\xbd\xc6\xa9\xbd\x96\xd9\xb6\xf4\xf1\x74\x79\x11\x0f\xcc\xee\xb2\x4e\x7c\xcb\x1f\xd2\x4b\xaa\x85\xa4\x17\xe5\x85\x1e\x04\x76\x87\xb3\x2e\xcd\xc4\x7d\x69\x5d\x1e\x89\xc7\x93\xed\xa3\xd1\x6d\x1b\xc0\xb7\xed\x64\xa0\x47\x83\x32\xba\xee\x12\x5b\x83\xc7\xa0\x8c\xb7\x2b\xe8\x7d\x57\x3c\x46\xcd\xd6\x83\x20\xae\x5a\x67\xa5\xbb\x0e\xa7\x47\x76\x97\xe1\x24\xb7\x6f\xb1\xd5\xaf\x09\xae\xfb\x54\xb2\x41\xb7\x39\xd8\x9d\x62\xec\xea\xd1\x89\x15\xd7\x73\xfb\xb7\xc1\xaf\xbd\x8c\x6f\x15\xda\xc4\xd5\x20\xbf\x44\x66\xf7\x76\xb7\x25\xf1\xf8\x76\xeb\xa0\x44\xb6\x6d\xf5\x87\x3d\xfb\x79\xc2\x25\x32\x7f\x7b\x31\x33\x60\x6e\x2f\xb9\x76\x90\xd8\x59\x27\xfd\xcc\x6e\x29\x5b\x8c\x3c\x67\xf9\xf3\x7d\x92\xf3\xc7\x5c\x2c\x57\x3c\xe5\xd7\x7b\x0c\x2f\xc1\xdc\x63\xf0\xcf\xff\x18\xc4\x49\xf1\x5b\x0f\x44\x60\x59\x9d\x9d\xd7\x83\xa7\x97\x5b\x08\xf6\xab\xda\x9d\x6a\xc5\xc9\x5d\x78\xa6\xee\x48\x50\x3b\x32\x5e\xa9\xbf\x00\xcd\x9f\x93\x2c\x2e\xe2\xe2\x92\xd8\x7d\x6b\xef\xa1\xfa\x58\x81\xc7\x50\x98\xcc\xf1\x1a\x90\xb0\x57\xce\x4e\x51\xaf\xf9\x31\xfb\xce\xe9\xf3\x62\xb7\xd2\x6c\xbb\xe9\x16\xd5\xf8\x0f\x2f\x7b\xe5\xdf\xfe\x6d\xf0\x87\x17\xdc\x5f\x43\x68\xd0\xc5\xb6\xeb\x86\x81\xa7\xf7\x7f\x7b\xeb\x79\x66\xff\xf6\xe6\xa1\xfc\xee\xc4\x68\x5f\xa9\xe2\x99\x2e\xff\x3c\xb8\xa6\xfc\xcc\xec\x7e\xe3\x69\xa0\x3f\x06\x70\xec\x29\xae\xad\x32\x33\xbb\x83\x46\xcf\x2c\xb2\xab\xab\x41\xec\xb6\xe6\xe2\xc0\xba\x46\x6f\xcf\x1c\xdb\xea\x10\x3c\xe8\xd1\x5b\xe9\x97\xde\xd9\x8d\xba\x50\x34\xd1\x33\xf0\xde\xa4\xf2\x24\x80\xa7\xe6\xf7\x6d\x1c\xfc\x3a\xe8\x51\xf0\xb3\x9e\xe7\x9e\x13\x7d\xfa\xfb\x3f\x3e\xbf\x44\xf6\xe7\x27\x7c\x74\x6b\x5e\xad\xc3\xf7\x06\x9f\x17\x6f\x3d\xc6\xe8\x74\x82\xd6\x98\xe4\x4f\x25\xf9\xf6\xe5\x7a\x38\xa9\x7f\xf7\xc7\x9f\x43\x3d\xf9\xf4\xc9\xb7\x2f\x3f\x0e\x7e\xfd\xd3\xd5\x4d\x7d\xf8\xeb\x5f\xeb\x87\xc1\xf0\x7a\x35\xbe\x49\x74\xab\x25\xe8\x72\xad\x11\xb1\x65\x83\xe2\x13\xf4\xe3\xcf\x45\x7c\xdd\x03\x85\x27\x3f\xde\x85\xef\xea\xba\xa9\xed\x5c\xbb\x1a\x88\xb6\x43\xd5\xc9\xa7\x87\x6e\x5b\xfa\x5a\x95\x6b\x28\xeb\x3e\x38\xff\xdf\x1e\x3e\x0f\x1e\x9c\x6b\xf6\x8b\x27\x60\x7c\xca\x8b\xac\xad\x4e\x3b\x94\xfd\x9c\xd9\x49\xa0\x9b\xf6\xa7\x27\xee\x9f\xfb\xec\x9b\xbf\xfe\xe9\x5e\x08\x7f\x31\xdd\xbf\xbd\x15\x22\xa3\x55\xac\x9b\x2d\x79\xb4\x23\x8f\xea\xf5\xc9\xf2\x72\x53\xef\xc3\xcb\x66\x65\x54\x78\xa1\x3d\x28\x13\x4b\x2f\xec\xa7\xf5\xa3\xdb\xc9\x92\x3e\x1e\x86\x1e\x5d\x3a\xbb\xd9\x5b\x2c\xbb\xe0\xcf\x76\x96\x79\x96\x9d\x3f\x05\xae\xed\x59\xbe\x76\xc2\xde\xd6\xc7\x1e\x31\xaf\x56\x30\x6e\xe9\x6a\x07\xae\x7e\xb6\xa3\x87\x62\x60\xd8\x76\xf4\x65\x14\x77\x3a\xfb\xd0\xed\xd5\xba\xd7\x78\xb9\x1d\xf3\x1b\x12\xef\x21\xf3\x87\x5f\x5f\x81\xe6\x0e\x9f\x6f\x59\xc4\x75\x0b\xff\x5b\xc1\xb7\xbb\x59\x9d\x81\x7e\x1a\x61\xaf\xf7\x01\xaf\xc3\x67\x2b\xfa\xd6\xd4\xf6\x79\xf5\xcb\x3e\x63\x56\xaf\xa3\x76\xed\xe5\xdd\xc4\xe1\xb1\x27\xf4\x7c\xe0\x75\x87\xb9\xae\x6a\x56\x79\x85\x7b\xdb\xc5\x7b\xa4\xbe\x59\xbb\xc1\xa7\xaa\x8b\xab\xaa\xe7\x57\xd5\xed\xe9\x7f\xfc\x79\x30\x90\x4a\xa3\x8f\x37\x5f\x3c\x75\x53\x5b\xc5\xee\x2a\xbb\xd7\xc5\xc7\xcd\xe2\x6a\xa0\xb7\xba\x9b\x64\x76\x17\xf0\xb5\x33\xb1\x6d\x27\xb6\x1d\xda\x16\x94\xbf\x6d\xad\xef\x3d\x86\xa7\x1e\xb8\xd9\xe8\x8e\xc1\xab\x86\x7d\xd0\x28\xdf\x03\xe9\x0e\x0b\x77\x96\xf3\xae\x63\x6e\xe6\xe0\x19\xd8\xbb\x5b\x54\xfa\xc0\x8c\x93\xcb\xbd\xe3\x73\x1b\x18\xba\xd6\x5c\xef\x5a\xfd\xfd\xcd\xea\xfc\x63\x00\x3a\xad\x7d\xdb\xb7\xe9\x5c\x82\xd7\xd1\x95\xdf\x69\x8f\x19\xc4\xfd\xa5\x89\xe7\xa0\x7e\x4a\xde\xf8\x6e\x41\x9f\x5e\x3a\x34\xaf\x4c\xe2\x63\x74\xe1\x0f\xe1\xb9\x45\xe6\xbd\x74\x9f\x19\xbf\x96\xd3\x55\x26\x9d\xf7\xf0\x8f\x67\x97\xb8\x83\xce\x65\x37\xef\x1d\xe5\x2f\x75\x67\xfe\xce\x32\x64\xfb\xda\x6f\xcf\x6e\x8c\x3f\xcb\x59\x79\x3d\x32\xda\x7e\xff\x2f\xf6\xa7\xda\x8a\xde\xdc\xa9\xa7\x9a\xbf\x48\x90\x15\xfb\x83\x32\x19\xe8\x8f\xba\xd3\x15\xe0\x78\x79\x61\x67\xd7\xc1\xf1\x85\xea\x48\x57\xaf\xbd\xcb\x64\xd5\x6a\x4e\xf7\xe5\xba\x70\x7d\x55\x9f\x20\x8e\xfd\xf2\xea\xa3\x7f\x05\xa3\xbb\xfe\xad\xee\x30\x97\x57\x3c\xe4\xbd\x5d\x7c\xaa\xc2\x97\x3a\xe8\x0e\xa0\x7d\xa6\xd0\xfb\x1e\x6b\xab\xf5\xb4\xca\xf4\xd4\xfe\x9f\x5d\x3d\xe7\xab\x68\x9b\xc5\x89\x9d\x15\x97\x9e\xee\x7e\xa9\xe9\x4e\x56\x7f\x69\x7f\xfc\xdb\xb3\x71\xfa\x4a\xf3\x98\x7d\xf4\x85\xd6\xf6\xd5\x1e\xe8\x9d\x42\xdc\x49\x0f\x44\x97\xf7\x45\xdc\x05\x4f\xea\x14\xbc\x93\xe5\x9b\x03\xcf\xb7\x74\xc1\xb3\xc9\xd1\x3b\x72\xbf\xd9\xbd\x6b\x8f\xdd\x2a\xf4\x41\x71\xeb\x96\xf5\x86\xb8\x3f\x0f\x1e\xad\xdb\x73\x99\x0f\x7e\xfd\xf5\xd7\x17\x98\xbc\x1b\x9d\x6e\x0a\xf5\x8e\xf3\xf4\xf4\xca\x2f\xcf\x54\xb0\xef\x9c\x5b\xfe\xd3\x57\x8e\x42\xe7\x3e\x76\x4a\xaf\x47\x56\x17\xc6\xc0\x2b\xf2\xab\xb4\x5f\xfa\x0f\x8f\x6e\xff\x07\x9a\xfe\xce\xf8\xfe\xa2\xc1\xad\xfd\xfa\xba\x81\x78\x43\x08\x1f\xb1\x2a\x1f\x1d\xc5\xbb\xe6\xbf\x37\xf4\x75\x92\x00\x5d\x6c\xab\xf8\xf8\xce\x20\xd1\x7b\xcd\x5f\x34\x92\x1f\x18\xf4\xda\x92\xfe\xa5\xa8\xb8\xbf\xc8\xdb\xa9\x82\xd7\xd9\xff\xfc\xfe\x28\xe7\x5d\x8e\xe1\x6b\x56\xe1\x4e\xf1\x7f\x79\x5c\xed\xfd\x42\x5e\xe1\xb7\x31\xd7\x0f\x8a\x4f\xb7\x72\x5f\x52\x3d\x1f\xa6\xda\x1f\xfa\xe7\xb7\xac\xb9\x4f\x36\xe5\xfa\x6e\xaf\x54\x57\x4d\x7a\x7f\x40\x7d\xe8\x8e\x0e\xb6\x2e\xf8\xa3\xce\xdd\x38\xbf\x75\x66\xf1\x29\x4c\xdc\xb5\xab\x9f\xb2\xaa\x7c\x7c\x28\xbc\xc7\xdf\xe0\xd7\xc1\xdf\xef\x4a\xe8\x23\x16\x2d\x5e\x46\x5d\x7a\xb4\x43\x6e\x51\x24\x7f\x1c\x8d\xce\x05\x0c\x41\x3f\x47\x76\x31\xb2\x62\x33\x1f\x9d\x8b\xf1\x18\xfa\x29\x0b\x47\x1d\x46\xc7\x3f\xa1\x3f\xbb\x45\x18\x7c\xb0\x06\xb7\xb4\x87\xef\xcb\xa8\x13\xeb\xc3\x35\x14\xd4\xc3\xe7\xc7\x9e\x7c\xf8\x6b\x3d\x81\x1e\xfe\xf8\xf0\xd7\x72\x8c\x99\x93\x87\xcf\xdd\x48\xfb\xff\x1f\xfc\xf4\xa7\x81\xe5\xe9\x61\x1c\x59\x77\x74\xf0\x95\x6e\x3e\xbe\xd2\xe9\x2d\x9d\x93\xd9\x97\x9f\x8c\xb8\xbe\x23\x1c\xf7\x84\x28\x34\xbf\x12\x1a\x2d\xa1\x3b\x2a\xee\x68\x90\x1b\x8d\x79\xa5\x31\x5b\x9a\xe3\xe8\x78\x47\x83\xde\x68\xac\x2b\x8d\xd5\xd2\x98\xa3\xec\x8e\x06\xbb\xd1\xe8\x57\x1a\xbb\xa5\x09\x9e\xf1\x99\x74\x34\x10\x64\x40\x57\x9a\x63\xd7\x40\xdb\xc9\x6c\xfb\x8e\x6c\x7a\x23\x83\xaf\x64\x4e\x4b\x36\x1c\xfd\x74\x47\x33\xbb\x16\x37\x46\xaf\x34\x6e\x4b\x13\x8d\x82\x3b\x9a\xf9\xad\x4a\xc6\x95\xc6\x6b\x69\xce\xcf\x9a\xaf\x5f\x65\x09\xcf\xae\x34\xa7\x96\xa6\xbf\xf5\xf9\x53\xb7\xbe\x7a\x47\x6c\xdc\x88\x6f\xf5\xf7\x5b\xe2\x22\x4e\x5e\x51\x9a\x57\xca\x47\xa9\x06\x37\xca\xc0\x3e\xde\x13\x5a\x37\x96\xb7\x76\x84\x77\xe5\xbf\xa0\xb5\xaf\xb4\xc8\x8d\x69\xd4\x89\xd8\x8b\xec\x9f\xba\x7b\xb2\x77\xa4\xc7\x9e\x14\x31\x6e\xbd\x11\xb7\xa4\xb9\xa9\x47\xf0\x13\xd5\x14\xba\x51\xdd\x04\x94\xdc\xa8\x90\x3b\xaa\x1b\xdc\xa0\x5b\xab\xd3\x1b\x15\x76\x47\x35\xbe\xf1\xba\x55\x2e\xbb\x51\x4d\xef\xa8\x90\x1b\xd5\x0d\x49\xf9\x8d\x6a\x7e\x47\x85\xde\x84\x72\xe3\x55\x74\x0d\xb5\x8f\xc5\x4f\xc5\x3d\x52\xa6\x57\xd0\x61\x8f\x28\x28\x5b\xc2\xae\x33\x5e\x50\x4e\x6e\xb2\xbb\x51\x9e\xef\xe4\xfc\x9c\x74\x7a\x63\x7a\x2b\xbd\xba\xf5\xdd\x73\xba\xd9\x4d\x2e\x37\x35\xac\x3b\x78\x5d\x83\x40\xfd\xd4\xe7\x94\x7a\xa4\xbe\x82\x71\x3c\xb9\x55\xe0\xd2\xb7\x29\xcf\x7f\xb2\xd3\x52\xbf\xc3\xed\x54\xbf\x91\x62\x57\xd2\xe6\xaa\xdf\x7a\x61\x67\xaf\xa8\x7b\x50\x42\x88\x79\xeb\x9e\xbf\xb7\xd4\x89\x77\x47\x62\xde\x18\xde\x48\xfe\xb3\x53\x96\xb8\x78\xc5\xcc\xba\xaa\x9e\x8e\x5c\x29\xff\xd1\x89\x29\xf3\x0a\x2f\x77\x7f\x4a\xe2\xf2\xde\x10\x4d\xed\x9b\xa2\x4e\xaf\xd4\xff\xa7\xd3\xe7\xb8\x07\xed\x3f\xee\x36\x01\xf0\x9e\xc3\x77\x5b\x61\xec\xdb\xac\x30\xf8\x90\x15\xbe\x36\xeb\xb9\x15\x1e\x23\x0f\x7f\x1c\x3c\x97\xc1\xff\x78\x5b\x06\xf7\xed\x93\xa5\x01\x90\x08\x86\xe9\x67\x0c\x51\x7c\xf3\x78\x3e\x3a\x74\xdd\xb2\x3b\x7c\xad\xca\x65\xfe\xf0\xb9\xbf\xaf\x79\xb7\xb5\x55\x16\xe6\xf7\x4b\x76\xf2\x6d\x92\x45\x3f\x54\x4d\xab\xad\xd2\xf7\xc8\xf5\x89\x1e\x85\x6e\xf4\x86\x7d\xa5\xff\x8f\x96\x1e\x19\xa1\x77\x54\x98\x71\xa5\x82\x91\x9b\x16\xfe\xa5\xa5\x7a\xf0\x4e\x0f\x83\xc0\x73\xba\xd3\x4b\x83\x4f\xfd\x2d\x00\x27\xee\x16\xcf\x0a\x77\xd0\xb2\x3d\x1e\xff\xfc\xe3\x1d\x23\xf3\xb1\xb8\x9b\x69\xfa\x6b\xcb\x08\x1e\x8d\xef\x88\xac\x1b\xd1\xf4\x66\x1b\xfe\x76\xaf\xf3\x03\x43\xcf\x7e\x78\xae\x9a\xd7\x26\xcf\xee\x75\xb3\xa8\xe2\x56\x49\xf2\xe7\x1a\xda\x53\x4e\x26\xf7\x2a\x7a\x7c\xae\x9a\xd7\x0a\x9a\xf7\xba\x09\x8f\xd0\xe7\x1a\x79\x25\x42\xef\x55\x52\x37\xcb\x6b\xac\x82\x7b\xd0\xd2\x5e\x14\xfd\x1e\xa5\x9c\x7e\x1b\x74\x88\x17\x41\xb7\xde\xa7\xc4\x3e\x04\xb2\x63\x5f\xfd\xe7\x30\x7b\x04\x04\x64\xa2\xcf\x00\x01\x1e\x06\x65\x18\xe8\x65\xf1\x56\x9f\x5b\x93\xfb\x3e\x7f\xe0\xdf\xa0\x7d\x14\xbf\x89\xdd\x77\x7d\xcb\x37\xeb\x93\x50\xde\x28\x1f\xfb\xc0\x32\xef\xfb\xe0\xa1\x7c\xe4\xfa\xdc\xe7\xeb\x89\xed\xf9\xbd\xd3\xf7\x60\x3f\x5c\x3b\xed\x2d\x38\xd9\xe8\x3d\x9c\x1e\xf4\xd7\xd5\x7d\x02\xd4\xf1\x19\xa0\x1e\xe2\x37\x68\x1f\x9b\x66\x63\xf7\xc8\x6a\xf9\x3e\x6f\xda\x13\xbc\x8e\xef\x35\xed\x15\xc6\x32\x3b\xfa\x1d\xd6\x69\xf6\x6d\x10\x13\x3f\x06\x9c\xae\x4e\xff\x2c\xf3\x64\x43\xf7\xe6\xa9\x15\x9a\x93\xe9\x67\xfb\x2d\x23\xf5\xe4\xf8\xfe\xa5\xf7\x53\x9e\xe1\xe6\xb1\xcb\xec\xe9\x33\x34\x9a\x0f\x03\xd3\xb6\xbc\x20\xd0\xdf\x82\xa3\x3e\xbd\x87\x63\x7e\x3d\x3a\x9e\x5f\x42\x23\x0e\x06\x9f\xac\xb8\x34\x02\x7b\x90\xff\xf8\x36\x8e\xe6\xcf\x70\xf4\x88\xb9\xb7\x60\x34\x7f\x06\xa3\xf2\xd6\xca\xb7\x50\x34\x7b\x86\x22\xfb\x35\xa9\xfd\xca\x2e\x76\x30\xfa\x32\x84\x08\x3d\xd2\x2d\x4f\x8f\xbe\x1b\x4b\xf3\x6f\xc3\x92\xf0\x0d\x58\x1a\x98\xd7\xca\x3d\x07\xd5\xf7\x81\xc4\x7e\x3e\x92\xe9\x0f\x03\xd3\xcb\xcc\x32\x3c\x06\x76\xfd\xbb\xe1\x62\xeb\xcf\xac\x97\xfd\x0e\xf3\xc7\x1e\xb2\x6f\x83\xef\xff\xee\x87\xd5\x67\xf4\x6f\xd9\xb1\x23\xfa\xcc\x8e\xc5\xef\xbc\xf0\xdf\x08\x84\x47\xe3\xa5\x2d\x7b\x21\x92\x7b\x30\x2e\xec\x2c\xfc\x1d\x18\x84\xa1\x6f\x03\x21\xf7\xb1\xe5\x84\xae\x52\xef\x61\xef\xd1\x42\xfc\xc7\x47\x2d\xc4\xbf\x7e\x10\xb5\x9e\xf9\x4f\x0f\xf2\x1b\x43\xe3\xbf\x7e\xb8\x3b\x3e\x73\xa4\x5e\x0c\x62\x2f\x40\x62\x1d\xef\x41\x62\xe7\x8d\x5d\xbc\xb6\x54\x5d\x74\xb9\xdf\x83\x0e\xf8\xdb\xd0\xa1\x7e\x08\x1d\x5e\x5f\xab\x7f\xd6\x78\xf7\x7b\xe0\xf4\x2f\x18\xff\x1e\xcd\xc7\xdf\xde\xf3\x9b\xee\x6c\xd3\x73\x1f\xab\x7c\x6d\x85\xef\x40\x07\xbd\x04\xdd\x4b\x03\xf2\x84\xb9\xf1\x4b\xcc\xfd\x33\xcc\x92\xfd\xdc\xc5\xf2\xee\x49\xef\x41\xb7\x89\xb3\xca\x76\x3c\x3d\x1a\x91\xfa\xef\x72\xe7\xe1\xf1\xb7\xa1\x8f\xfa\xb0\x3f\x3f\xf9\x10\x4e\xa3\xc7\x86\x58\xfa\x6b\xc7\xfe\x09\x80\x8f\x36\xe9\x3f\x5e\xd8\xa4\x37\x0d\xd8\xe4\xb9\x01\xa3\x9e\xa6\x85\x6f\xda\xb0\xd9\x4b\x1b\x96\x17\x59\xec\xdb\xff\xa4\x89\xc0\xff\x7e\xd7\xda\xdd\x4d\x04\x9e\x0f\xa0\xfa\x97\x4d\xe3\xe4\x39\x4a\xed\xb7\x9a\x77\x87\xd4\xd9\x4b\xa4\xbe\x6c\xde\xbf\x74\x32\x20\x25\xbf\x13\xa1\xc8\xb7\x21\x54\xfb\x10\xee\xf2\xe4\x0d\xb8\xfd\xd7\xd8\x47\x1d\x7e\x86\xd6\x3f\x3c\x0c\xba\x18\x8c\x85\x6d\xbd\x09\x56\xf8\x19\x58\x37\x0f\x83\xc2\x0b\xac\x37\xb1\x6a\x1c\x9f\x61\xf5\xcf\x77\x8c\xdf\x82\x95\xf1\xcc\xf8\xbd\xe8\xf7\x27\x34\xc1\xcf\xd0\x14\xbd\x2a\xff\x0e\x4c\xd3\x67\x60\x7a\x61\xd2\x9f\x61\xa4\xb2\xad\xdf\x85\x91\x6f\xdc\xb0\x99\x7e\xd8\x8a\x2d\x3f\x86\xa6\xbe\xfe\xef\x1a\xaf\xf9\x33\xe3\x45\xbd\x1e\xae\xfe\x5b\xae\x60\x7c\xc8\x70\xfd\xbf\x73\x05\x43\xaa\xbc\x3c\xff\x7e\x38\x7e\xe3\xca\xf5\xaf\x1f\x04\x99\x97\xe7\xef\x19\xac\x47\x2f\xe7\x7f\xbc\xe7\xe5\x7c\xe7\xbc\x74\xfe\x0c\x8e\xaf\x27\x6a\xff\x1d\xa6\xa4\x4f\xf4\xc7\x57\x3e\xd7\x6f\xcf\x7d\xae\x7f\xce\xec\xf5\xbf\xc1\xdc\xe4\x43\x13\xd8\xee\x8a\x86\xdd\xdf\x08\xf9\x59\xb7\xac\x4f\x0f\xfd\x9d\x14\xbd\xb4\xbc\x78\x64\xd8\x41\xf0\xf0\x79\xf0\xd0\xff\x2f\x76\x9c\x5f\x0c\x3d\xb7\x27\xe8\xc3\xe7\x1f\x1e\x76\x63\x2b\x92\x2b\x40\x80\xc7\x3f\xd2\x4d\xf7\x18\xd7\x7d\x5d\xd3\x67\xea\xa4\xe2\x4b\x87\x1e\x1b\x08\xeb\xe9\x87\x75\x4f\xa2\x12\xd3\x47\xf2\xa5\x89\xf7\x5f\x08\xf4\x61\x30\xfc\xe1\x01\xc8\xf3\x48\x83\xd7\xe0\xfe\x0f\xd5\x83\x52\x72\xa8\xee\xbb\x9d\x33\x08\x45\x20\xa3\x57\x7f\x33\x9f\xb4\xc2\xf9\x45\x0d\x83\x66\x29\x00\x00\x68\x37\xe9\x18\x9a\x0b\xa7\xdc\x21\x6c\xc4\x2c\xea\x44\x0d\xb4\xb3\x19\xb2\x89\x79\xc1\x59\x86\x64\xaa\x35\xe9\x57\x9b\x06\x60\x7d\x31\x14\x7d\x63\xc0\xc9\x2c\xa9\x38\x54\xdf\x2c\x92\x5e\x33\xeb\x3d\x80\x58\x5c\xe9\x6b\x08\x80\x00\x00\xee\xb0\x84\xcf\xfb\x63\x8d\xe5\xf4\xbd\x1c\x4b\x2e\x16\xb2\x22\x23\x49\x61\x10\xac\xe5\xca\xd3\x3c\xd9\x33\x65\x55\x45\xab\xba\x76\xdd\xd3\x89\x5c\x2e\x16\x0b\x7e\xcd\x90\xa2\x4f\xb7\x6f\x03\x02\x70\x20\xe4\x3b\x86\xf1\x50\x63\xf5\x1c\xc5\xb4\xda\x89\x4e\x11\xe7\xf0\xfb\x80\xe7\x39\xd3\xc1\xd1\x44\x44\x49\x9f\xad\xce\x72\xa8\x8e\x27\x61\xc1\x69\x99\x91\xa3\x09\x2b\x38\x9b\xbd\x20\x03\x00\x18\x20\x50\x8e\xeb\x8a\xa2\x24\x11\x0b\x9a\x5e\x70\x4c\xc7\x90\x51\x55\x55\x8d\x1d\xd7\xad\xeb\xcb\x85\x58\x44\xd1\x92\xe1\xb8\xd4\x73\x1c\x27\xbe\x5c\x08\x82\xdc\x91\xab\x24\x61\x37\x3c\x5f\x86\x71\x8c\xa2\x93\x89\xe7\x41\x10\xc5\xac\x56\xc6\x4e\x92\xfc\xaa\x86\x15\xed\x94\x65\xd0\xe2\x70\xa8\x9b\x8e\x61\x73\x8a\xa2\x68\xb9\xe5\x79\xdb\x36\xcd\x19\xca\x0a\xfe\x66\x0f\x04\xe0\xb4\x42\x13\x1c\x55\xd3\x70\x9c\x20\xda\x1a\xd0\x1c\xc3\xe9\xba\x6a\xb6\x05\x31\xa4\xe0\xd3\x32\x68\x85\xe8\x74\xf2\xc5\x97\xbe\x28\xb2\x1d\xc3\x5c\xdc\xad\x72\xb1\xd9\x40\x92\xb8\x9d\x79\xb5\x48\x35\x07\x71\x0d\x29\x3b\x85\x82\x95\xf6\xcf\x52\xe0\x83\x15\x1e\x0e\x56\xd4\x7e\x60\x2d\x64\x14\xa3\x5c\xc2\x5a\xc9\x28\xc6\x98\x51\xac\x39\xaa\xb8\x0b\x46\xeb\x3e\x1d\xc3\xf6\xcb\x70\x89\x1c\xe7\x48\xfb\x81\x9c\xcd\x42\x50\x00\x01\x70\xc0\x81\x13\xaf\x19\x27\x4e\x67\xbc\x45\xba\xf2\x78\x9d\x21\x5d\x46\xcf\x81\x83\xfb\x6d\xed\x01\x01\x58\xdf\x63\x12\x3f\xdd\xb0\x49\xa8\xa5\x59\x18\x1a\x1d\xc3\x22\xf4\xb2\x22\x44\x56\xb9\xd7\xac\x72\xe7\x42\xb9\x69\xd5\xa2\x01\xef\x3a\xbf\xfd\xe3\xf0\x24\x4c\xb5\xb7\x3f\xa1\xa6\x05\xa1\xf2\xf8\xe9\x18\xde\x3f\x78\xef\x23\x2c\x4e\x0c\xe7\xe0\x00\x38\x38\xa8\x11\xca\xac\x11\xca\x17\x15\xc6\xaf\x11\x26\xc7\xab\xbe\xd7\x2f\x00\x80\x8e\x61\xdb\x3a\xd9\x6b\x68\xf3\x24\x2e\xcd\x66\xb7\x34\x9b\x66\x69\x36\xf5\xd2\xa2\x76\x6c\x40\x35\x9b\x39\x55\x6d\x09\x00\x6b\x78\x5b\x61\x07\x30\x7d\xb5\x71\xb0\x16\x1b\xda\x14\x1b\xb6\x95\xbd\xec\x21\x3b\xf3\xa4\x1c\x7a\x4d\x69\x90\x83\x09\x21\x87\x56\xf8\xca\xb7\xfc\xa9\xcb\xbe\xa7\x5b\xd1\x10\x0b\x4b\x4b\xb4\xb4\x63\xe8\x00\xa7\xf1\x17\x54\xdf\x19\x7d\xf9\x6a\x2c\xb8\x24\x09\x6e\x00\x16\x00\x60\x3c\x17\x23\x08\x1d\x62\xb3\xa6\xd9\xf9\x7c\x58\xee\x9d\x54\x94\x0c\x68\xb6\x60\x15\x36\x8f\x4a\x3d\x54\x43\x64\xdb\x6b\x4a\x8b\x3f\x63\x8d\x6a\x28\x56\x37\x8d\x17\x71\xa1\xb9\x77\x42\x8b\xd0\xcd\x19\xc6\x92\x6c\x1a\xc4\x6c\x24\x84\xd1\x96\xb7\x45\xce\xc0\x27\xe3\x04\x4a\x92\xa6\x71\xa3\x28\x02\xd3\xc5\x62\xbf\x30\xcd\x19\x96\x40\x49\xbc\x4c\xad\x40\xed\x18\xb6\x9c\xf7\x16\xa1\x63\xa9\x87\xd1\x6c\xd1\x34\x71\x28\x87\x17\x1b\x2e\x15\xc9\x30\x67\x28\x86\xb5\x05\x5d\xc1\x9f\x2a\x13\xb3\xc9\x29\x0c\xd5\xea\xa6\x89\x23\x3d\x1c\x97\x18\xa1\x8c\x4d\x73\x36\xc5\x34\xb6\x29\x7b\x4d\x11\x22\xf7\x4e\x53\x7a\x06\x4e\x40\x08\xb0\x8a\x83\xce\x82\x89\xee\x18\x3f\x2d\x22\x95\x71\x8e\x2a\xba\x50\x5d\xc1\x4d\xbc\xc5\x6e\x19\x49\x5b\x32\xe1\x9d\xb5\xe9\x24\x09\x3e\xd9\x9c\x7c\x8d\xeb\x18\xa6\xea\x46\x90\x5d\x3f\x4a\x0e\x12\xd1\x9a\xa0\xae\x2f\x01\x41\x51\x34\xcb\x30\xaa\x2c\xcb\xfe\xa3\x01\x58\x2c\x16\x1c\xc3\xe8\xb6\x69\x3a\x71\x9a\x72\x92\xe4\x79\x19\xc7\xad\xb6\xeb\x75\x9e\xe7\xf9\xac\xba\x74\x0c\x2f\x93\x86\x6c\x4e\x59\x96\xaf\xd7\x82\x50\x55\x75\xb1\x61\xb9\x15\x79\x50\x94\x90\xdf\x14\xb6\x6e\x9b\x13\x14\x93\x16\x65\x50\x58\x9a\xce\x4d\xf6\xb2\xec\xc7\x49\x22\x01\x48\xc3\xaf\x16\x87\xc0\x7d\x9f\xa2\x16\x0b\x55\x96\x3b\x86\x5d\x0d\x12\xf7\x72\xf1\xc2\x28\x66\x18\xee\x25\xe6\x66\xc4\x6e\x4b\x89\x88\xf8\xe2\xb3\x9d\x89\xb5\x48\x79\x8a\x48\x79\x07\x71\xed\xc1\xbb\x75\x03\xf7\x06\x56\xa1\x95\x83\x15\xc2\x5a\x80\x1c\x8c\x02\x55\xac\xf1\xf2\x70\x84\x11\xe4\x08\xa3\xf0\x91\x46\xb5\x60\xaf\xbd\xfe\x10\x57\x8b\xdd\x95\x48\x31\x0c\xa3\x0a\x9d\x68\x3a\x86\xae\x26\x7a\x27\x72\xb9\x8c\x98\x0d\x2f\x38\x21\xfe\x28\xc7\xab\x4e\x88\x08\x25\xd7\x18\x65\x5e\x34\xca\x97\xa6\x8c\xbf\xb3\x98\xbc\x39\x32\xd0\x6e\xb4\x86\x20\x71\x43\xcb\x3b\x71\x23\xd7\x8a\x05\x89\x0a\xdc\x31\x84\x6a\x2d\x90\x1b\xcd\x82\x1a\x25\x80\x60\x25\x80\x0f\x5a\x30\x36\xb4\x60\x3f\xb5\xe6\x7b\x43\x9b\x23\x23\xeb\xf9\x67\x6e\xc1\x57\xd3\xef\x00\x81\x70\x98\x26\x94\x18\x2f\x94\x98\xd3\x75\x08\x40\x21\x4f\xc2\x19\x69\x91\x01\x06\x68\x9d\x96\x12\x0e\xc7\x4c\x3d\x9e\x41\x4f\x92\xc6\xf8\x7b\x8d\x09\x6d\x4d\x8b\x3c\x2d\x4d\x42\x6d\x9a\xa4\x3a\xc3\xf5\x66\xac\x53\x22\xea\x3a\x84\x3a\x3a\x93\x46\x3d\xb0\x99\x34\xf2\x98\x2c\xf2\x18\x34\xf6\x34\x2d\xf1\xb4\x34\x2d\x75\x36\xbf\xa4\xd3\xac\xfc\x96\x8f\x8f\xc7\x3d\x6c\x88\x18\x08\xdd\x80\x63\x5d\xd8\xee\xa3\x48\x2c\xa5\x5c\x58\x60\x32\xa4\xe2\xd3\x60\xed\x74\x22\xad\x48\xca\x14\x60\xc6\xaf\xa7\x4c\xbe\x3b\xae\xaf\x32\x5c\xcf\xa1\xdd\x7a\xae\x1c\x44\x9a\xae\x9c\x4d\xc7\xf0\x36\x82\xdd\x5c\x87\x8a\x05\x6b\x69\x4a\x99\x8d\x45\xf9\xb2\xc2\x14\xb0\xc2\xc0\xb0\xc2\x14\x8a\x22\xcc\xbf\x66\x80\x7a\xd8\xdc\xfd\xc1\x3b\x71\x03\x35\x12\x0e\xb1\x44\xdb\xd3\xad\x48\x4f\x82\xa0\x6a\x2e\x4e\x70\x66\x82\x13\xc6\x09\x56\x09\x72\x19\xb2\x60\xef\xf2\x82\xee\xd6\xb8\x47\x25\x35\x68\x48\xd2\xdf\x30\x91\x24\x74\x0c\x05\xc9\x9c\x97\x2c\x83\x55\x55\xd3\xa0\x34\x13\xd3\xb2\xb8\x76\x50\x28\xd8\xa0\xa8\x43\x9a\x5c\x78\xa0\xa2\x80\x07\x6e\xab\xdb\x14\xa0\xa9\xb6\x31\xf5\x85\x5c\x52\x8b\xe5\x8a\x97\xcc\xd0\x11\xd7\x68\x4d\x68\x63\xf9\x42\xfa\x7d\xa7\x24\xda\x56\x92\x24\xbf\x08\x5c\xa7\xe1\xa4\x7d\x48\x85\xdb\x53\xc4\x6d\x25\xc9\x0c\xfd\x00\x77\x57\x5e\x32\xf6\xa9\x90\x67\x33\xa1\x53\xf2\x65\x8b\x4f\x62\xb2\x14\x7c\x5c\xc6\x85\x56\xa5\x16\xcc\x5a\x76\xe2\xc4\xd5\x44\xa9\xb7\x36\x5e\x14\xfa\xf4\x8a\x5b\xdb\xb2\x29\xfb\x31\x96\x60\xf5\xae\x39\xf9\xcc\x52\xdd\x71\x6b\x41\xb7\x9c\x1a\x24\x89\x58\xef\x1a\x2f\x5a\x2e\x99\xdd\x5a\xb0\xf7\xa6\x33\xc7\xf1\xd6\x3d\x63\xd6\x2d\xca\x48\x20\x78\x0e\xa4\x51\x72\x3f\xa6\x50\x84\x09\xd0\x25\xf0\x1b\x6c\x0d\x49\xb5\x10\x48\xf5\x86\x6e\x6a\x31\x80\xeb\xcd\x06\xc6\x64\xa8\xd9\x09\xb0\xac\x88\xca\xa5\xde\x28\xb0\x22\x2a\xe3\x5a\xdb\x28\x86\x1a\xec\xc4\xcd\x66\x77\x14\x65\x45\xdc\xd0\x8a\xa8\x28\x10\xa6\xf5\xbd\xac\x18\x4a\xd1\x34\x62\x30\x56\x44\x05\x11\x35\x05\x36\xb4\x60\x5c\x6b\x43\x05\xd3\x60\xa4\xd9\x6c\xf6\xed\x33\xab\x65\xa2\xc0\x30\xa6\xcd\x0f\x73\xad\x38\x68\xce\x63\x41\x3b\x51\xec\x0b\x6a\xb4\xbe\x97\xe1\xa9\x0a\xcb\x07\x51\x91\x15\x25\xd8\x2b\xa2\xb2\x3f\x68\xc1\xfe\x68\x29\xca\x5c\x9b\x4b\x75\x4b\xbc\xd9\x8c\x45\x45\x51\x0c\x4d\x19\x1f\x95\x42\xd1\xb4\x39\x7a\x10\x95\x83\x62\x05\xe3\xa3\xa5\xec\x45\x6d\xb8\x9f\xdb\x34\x7a\xd4\xe6\xbd\xea\x89\x6e\x57\x03\x78\xae\xc0\x2d\xb1\x6a\x69\x81\x6a\x58\x30\x72\x71\x93\x30\x0c\xd2\x38\xf5\xd2\xd0\xf3\xd2\x34\x0d\xd3\x22\x1c\xa7\x59\x0a\x1b\x71\xe9\xa5\x71\x9a\x71\x79\x68\xa7\x59\xda\x70\x79\x3a\xcc\xb2\xb0\xc9\x7a\xd5\xf3\xbc\x34\x4b\xbd\x34\xf7\x2e\x69\xea\x5d\xb2\x3c\x6d\xa6\xa9\xd7\x64\x45\xea\xa5\x65\x8a\x70\x79\x46\x18\x59\x7a\xce\x8a\x72\xb6\xaa\x2e\x4d\x56\x46\x44\x9a\xa5\x93\x2c\x2f\x7b\xba\x32\x45\xb2\x3a\x5a\x66\xe5\x09\x9f\xf5\xb0\xf1\xa2\x55\x92\x9e\xd3\x32\x0d\x27\x65\x38\xcd\xca\x68\xb9\x2e\x42\xc8\x8c\x27\x59\x7a\xf6\xb2\x55\x95\x91\x5c\x5e\x8e\xb2\xd2\x1b\x42\x96\x44\x8b\xca\xe1\x60\x05\x34\x72\x52\xc6\x8a\x36\x1f\xc3\x47\x0b\xc3\x8c\x39\xba\xbf\x18\xbb\x72\xd4\x31\xcc\x8e\x67\xce\xb4\xcb\x09\x74\x76\xb0\x66\x3c\x33\x4b\x43\x2b\x96\xab\x4d\xb9\x98\x0e\x8b\xe1\xcc\x68\xb8\x66\xee\xf2\xcc\x24\xd0\xb0\x74\x6c\xe8\x69\x9a\x69\x65\x9a\x0e\xcb\x8b\xe1\x9d\xc9\x8c\x2f\x08\x59\x51\xe6\x07\x4d\x09\x90\xc6\xb2\x7a\x5d\x16\xad\x12\x69\x6c\x7e\x3f\xb7\x37\x71\x9a\xa5\xa5\x97\xad\xce\x6d\xad\x4e\x4b\xb3\x0e\x67\x66\xd9\x00\xf3\x60\xe5\xe3\x53\x70\x3e\x44\x06\x57\x10\x08\x7c\xba\x6c\x4d\xb6\x19\x9f\x8d\x3a\x5a\x4e\xf9\x72\x3b\xb6\x74\xfe\x4c\x82\x68\xd9\x31\x3c\x55\xad\x06\x50\x9d\x06\x50\xb3\x04\xc4\x12\x95\x81\x18\xa0\x40\x00\x0b\xc6\x36\x65\xb9\x06\x69\x2d\xe1\x10\x45\xaf\x52\x86\x13\xe5\xb5\xa0\xba\x26\x84\x71\xb5\x78\x91\x65\x2a\x49\x19\x6d\x27\x73\xb9\xea\x28\x0c\xd6\x3b\x9c\x17\xf6\xb2\xa3\xfc\x24\xe6\xb4\x9d\x24\x3b\xb6\x9b\x28\x38\xa7\x4f\x16\x32\x1c\xb0\x59\xae\x1b\xb2\x5a\x42\x4e\x82\x6b\x9c\x2e\x8d\x65\x28\x48\xd2\xd4\x34\xe4\x7d\x5c\x89\x6a\x0d\x2e\xd8\x44\xf4\x1b\xdf\x67\x13\x43\xd8\x4b\xa1\x5f\xf4\xce\x12\x84\x71\xd8\x84\xf0\x49\x9f\xe5\x12\x5d\x90\x25\x28\x2e\x94\xbc\x66\x2f\x3a\x71\x82\x7c\x9a\x49\x75\x41\x92\xa1\x30\x29\xba\x82\xf6\x3e\xed\x17\xdc\xda\x50\xe5\xfd\x18\xad\x61\xb7\x6e\x0b\xf2\xa9\xa0\x60\x39\x53\xbd\x0e\xa3\x63\xa8\xa8\x93\xf8\x54\x7b\xb8\xdf\xf8\x11\x1b\xb1\x6b\xa9\x2d\x2d\xd8\xb0\x3a\xa6\x79\x72\x5b\x50\xa8\xf2\x92\xe4\xa7\x45\xa0\xb1\x52\xc3\x5e\x76\x5d\x41\x2a\xcf\x4b\xbe\x9f\x14\x09\xcb\xed\xb8\x85\x0c\xfb\x49\xef\x39\xe4\xaa\x22\xed\xc3\xaa\x86\x93\x5a\x32\xc8\x7d\xdb\x2c\x96\x33\x75\x49\x0a\xab\xa2\x0e\x12\x63\xb7\x52\x60\x8a\x8e\x57\x7d\xb3\xc2\xa2\x50\xb4\x4c\x4f\x91\x85\x4c\x25\x19\xab\xcb\xaa\x04\xa5\x75\x21\x6a\x99\x71\x5a\x86\xbd\x8f\xed\x27\x49\xa6\x0b\xd2\x1e\x0a\x93\x5a\xd4\x8c\x93\x87\x2c\xc2\x60\x93\x6d\x74\x63\xaf\x87\x68\x8d\xb9\x89\x61\xec\x90\x7d\x18\x6d\xb8\xcc\x32\x64\x39\x6e\x5b\x94\x9c\x0c\x03\x51\xc2\xe8\x7c\x66\xb8\x5e\x7e\xc1\x86\xf5\x3a\x86\xba\x87\x2c\xe0\x90\x2b\x62\x6d\xb7\x97\xbc\xb4\x0e\x34\x56\x37\xc8\x65\x38\x0e\xd2\x35\xaf\xed\x24\xd5\x0f\x93\x5a\x63\xa5\x13\xd1\x16\x54\xe4\xa5\xae\xef\xf5\xb0\xaa\xb1\x24\x91\xbc\xe9\x21\x1c\x47\x9b\x7c\x73\x34\xe4\x7d\x5a\xf5\x9d\x52\x27\xc9\x4e\x9a\x1e\xf6\xfb\x88\xdf\x96\x47\x65\x0f\x00\x09\x1c\xb0\x06\x02\x03\x58\x4d\x27\x05\x9f\x95\x41\x67\x48\xa9\x05\x23\xe7\x18\xab\x8b\xf8\xa5\x21\xfd\x94\x90\x57\x6b\x5e\xb2\x13\xd3\xaf\x09\x4e\x0a\x94\x86\xa2\xfa\x99\x14\x6b\x1c\x5a\xe9\x26\xb5\xa5\x62\x04\xb1\x0f\x68\x3f\x4f\x57\xa6\xb2\xd7\x2f\x7e\xd2\xca\x66\x25\x00\x10\x5f\x0d\x29\xee\x8f\xd9\x5a\xa0\x38\x52\xf1\x59\x40\x09\xed\xb3\x05\xd3\x02\x13\xa8\x5a\x22\x7a\x64\xef\x39\xe0\x9e\x4f\x2f\xd6\x02\x93\xca\x6a\x0b\xa1\x44\x14\x4f\x6d\x6f\x2f\x96\x6b\x5e\xf0\x62\x4d\x9d\x61\x38\x47\x84\x94\x4c\xc5\x29\xa7\xca\x82\xe4\xfb\x41\x22\xb4\x7e\x4a\x6c\xb6\x23\xbc\xb1\x21\xe4\x3d\x7e\x71\x20\x16\x5c\x67\xa3\x32\x90\xdb\xd9\x68\x5b\xd6\x5a\x55\x1d\x8b\x16\x2e\x9c\xbb\xa0\x76\x54\x1c\xa5\x2a\x25\xec\x9d\xb2\xb0\x2c\x4d\xd2\x27\x07\xba\xa1\x93\x34\x33\x76\xaa\x00\xbc\xc2\xb5\xd4\x8b\x74\x39\x2c\x60\x3a\x09\x33\x53\x52\xf7\x5e\xde\x0f\x01\x80\x6f\x00\x10\xc8\xbc\xa2\x98\x78\xb3\x10\x02\xc0\x82\x25\xa0\x80\x1a\xd7\xe2\xa9\x39\x05\x11\xb5\x58\xad\x79\xdb\x31\x37\xc0\xa9\x31\xf7\x42\x91\x5e\xb6\x88\x98\x35\x2f\x38\x8e\xd2\xd6\x9e\x20\x16\x54\x43\xfa\xad\x07\x76\x1d\x46\x4b\xd5\x74\xdb\x09\x22\xb7\x20\x29\x8a\x61\x12\x6d\x27\x09\x82\xe3\xba\x34\xcb\x4d\x24\x82\xa2\x28\x26\x49\x0e\x82\x20\x38\x9e\x1b\xd0\x4c\x3b\x36\xa5\x5d\x5b\x57\xb8\xa8\x2d\x79\xc2\xd7\xf1\x76\x88\x25\xc0\xd2\xbf\xd6\x90\x01\xb5\x74\xf2\x97\xb1\x26\x2e\x38\x53\x75\x02\x96\x95\xda\xda\x51\x54\xc2\xa6\x07\x66\x2d\x78\x7e\x52\x2b\x2a\x86\x4f\x16\x72\x40\x67\x39\xc3\xee\x5a\x45\x80\x2d\x17\xe7\x74\x09\x59\xec\xfd\x0d\x97\x99\x8a\xaa\x4f\xd0\xde\x3f\x4c\x2c\xcd\xcb\xc8\xc3\x01\xa6\xd3\x75\x61\xeb\xba\x0e\xc5\xad\x86\x64\x8d\xe1\x03\xb0\xa9\x68\xbc\x22\x2a\x50\x17\xf4\xc6\x33\x55\x42\x8a\x21\x8d\x90\x81\x0f\x4c\xe0\x10\x84\x4f\x2f\xf8\x56\xee\xb2\x1a\xc7\x35\x86\xd5\x7d\x2f\x13\x44\x44\x87\xcb\x2d\xcf\xe9\xaa\xda\xcf\x02\x5a\x07\xb4\x9d\x46\xf0\xeb\xf5\x75\x66\x50\x27\x6e\x37\xb5\x58\xde\x66\x0b\xe8\xf3\xe9\xc6\x6d\x06\xd1\x31\xec\xa7\x11\x3e\x00\x44\x52\xb5\x63\x77\x4e\xd3\xbe\x89\x72\x62\x4c\xb5\x6e\x2f\x03\xd2\xd6\xdf\xc6\xe9\xbd\x1a\x57\x75\xed\x3a\x06\x71\x5d\x6f\x58\xcb\xaa\xd4\x3f\x73\x4f\xc6\xf5\x59\xc7\x70\x6d\xea\xea\xed\x87\xdb\xe2\xc4\xda\x54\x5f\x2d\x58\x7c\xe4\x59\x6f\x1c\xe8\x22\xcb\x8c\xc3\x7e\x1f\x96\x45\x3b\x75\xd0\x27\x63\x18\x0e\x92\x2c\x13\x70\x70\xae\xe2\x25\xd8\xce\x96\x0b\xb8\xef\x4f\xe2\x52\x75\x32\xa4\x00\x0a\x00\x7e\x22\xc3\x25\xcf\xf3\x82\x6a\xb9\x8c\x9a\x4c\x38\x89\xea\x18\xb6\x10\x8a\xe5\x0d\xc7\x4b\x4e\xe0\xd2\x38\xc7\x49\x41\xb3\xf3\x13\x2e\xd1\x25\x79\xef\xa7\x9a\x09\xb3\x12\xe7\xed\x83\x20\x68\x87\x80\x9d\xbc\xf7\xe3\xae\x60\xfc\xb2\x0f\xe0\x80\x4d\xdb\xca\xf0\x8e\x17\x14\x1b\x51\xef\xad\xcd\x64\x0c\x8f\x29\x9a\xe1\xf4\xc3\x7e\x1f\xe7\x45\x1d\xe0\x9c\x94\x8e\xe1\xf1\x82\x5b\x6f\x54\x4d\x92\xc3\xb4\xa8\x2d\xd7\xcb\xc8\x85\x0f\x05\x6c\xbe\x6a\x9b\x39\xb9\xb8\xc1\x46\xd3\xf5\xa6\x6d\x7a\x5e\x70\xc6\x61\xaf\xc6\x97\x7e\x16\xd0\x42\x44\xd2\x43\x18\x0e\xb9\xd5\xc6\xd2\x74\xa2\x22\x1d\x23\x02\xc0\xa1\xbc\xca\x54\x75\x25\x59\x6d\x09\xc8\xbe\x82\x97\xa0\x70\x00\x44\xa2\x47\xc1\x5a\x10\x1c\xc7\x95\x5b\xc8\x4c\x88\x4e\x29\xfa\x75\x1b\x59\xe4\xd6\xb6\x6a\x5a\xfd\x72\x0a\x75\x22\x97\x51\xcc\xf4\xc4\x2e\x0b\x6a\xcc\xad\x21\xaa\x9f\xdc\x08\x7c\x69\xde\xb4\x8a\x92\xfd\x2c\x5a\x2e\x85\x8e\x2e\xa0\x71\xa2\xd5\xaa\xde\x9d\xa3\x18\x26\x56\x45\x49\xf2\x7c\xab\x25\xe6\x3a\xe2\x38\x61\xd5\x96\x38\x0c\x02\x9a\xe5\x38\x7d\x4f\xf5\x74\x82\x24\x79\x61\x10\x74\x4c\xaf\xf3\x3e\x4d\x90\x7a\xa6\x6c\x3f\xa6\x70\x7a\xfb\x03\xc3\xc4\x9a\x28\x74\xc4\x34\xcb\xb5\x35\xed\x89\x45\x49\x72\x7c\xb7\xeb\x2c\xbd\x67\xc0\xdc\x98\x76\x05\xc9\xad\x8b\x4c\xe2\x15\x01\x00\xb1\xed\xa7\x15\x2c\xb7\xe5\x98\xb0\x82\x50\x93\x21\xe5\xc5\x89\x91\x1c\x02\x90\x00\x00\xd3\x72\xd3\xc9\x25\xda\x5f\x08\x92\x8e\x18\x69\x2f\xa1\x92\x60\xba\xb8\xb7\x72\x69\xc9\x3b\x05\xcb\x7c\xaf\x30\x0b\x53\x56\x61\x4d\xa8\x13\x51\xdc\xc9\xe1\xb9\x67\x18\x2d\xb8\xb5\x2c\x0f\x2d\x15\x8a\xeb\x6a\x72\x91\x15\x3f\x8e\x7d\x75\x25\x99\xe9\x05\xb6\xf2\x0a\x6f\x27\x29\x04\x00\x15\x45\x50\x8d\x23\x03\x9c\xc6\x4f\x4c\x5b\x2b\x17\x08\x09\xe0\x88\xaa\xda\x80\xfa\x00\x04\x0a\xc3\x99\x7e\xbe\x4c\x38\x15\x57\xa3\x62\x03\x85\x3e\x09\x70\x82\xba\x80\x8b\xe8\xd1\xce\x9a\x72\xf9\xd4\xd1\x59\x8f\x77\x70\xf5\xb0\x20\x19\x1c\x05\xeb\x93\x3a\x86\xbc\xea\x1c\xaf\x73\x40\x1f\xac\x1a\x66\x18\xc1\xc1\x89\x05\x53\x0b\x94\xec\x33\x44\x6f\x1c\xa8\x31\x86\xa2\x0e\xbc\x2d\xd7\x14\xcb\xfb\xfb\x80\x74\xfa\x69\x28\x0a\x00\x58\x3a\x00\xf8\x0e\xe4\x30\x1e\xa7\xf3\x2a\xca\x9f\xaa\xa1\x40\xb1\x94\xe8\xbb\xdc\x8e\xc2\xae\x2b\x4f\x2b\x80\x3b\x60\x06\x1c\x42\xa0\x3b\x86\x1e\xe3\x31\x5a\x3c\x39\x55\xc3\x35\xf9\x48\x0b\x84\xe0\x7e\x09\x95\x00\xd7\x52\x40\x3f\x59\x24\x80\xbb\xd5\xc6\xd6\x0e\x00\x41\xe5\xab\xeb\x2f\xfc\xa2\x5f\x32\x35\xfc\xb8\x9b\x95\x85\xe6\x14\x25\x45\xe7\xb2\x39\xad\x27\xf3\x1d\x68\xf8\x9d\x3f\x45\xad\x68\x55\x1a\x76\x95\x1b\xba\x13\x6a\xde\x26\x41\x2d\x88\x33\x72\xaa\x96\xd4\x11\x83\x1c\xe4\x5d\xc5\x3a\xbe\xad\x59\x11\xbc\x54\xd1\x26\x3e\x75\x0c\x11\x64\x94\xce\x49\xba\x38\x23\xb2\x07\x8f\x4e\x61\x3d\x0d\x08\xb9\xd8\x16\xf0\x6c\x94\xab\xc7\xf9\xda\x77\x40\x0e\x16\x22\x6e\x21\xce\x7a\xb1\x45\x73\x79\x98\x12\x5b\x15\xbf\xcc\x95\x0c\x20\x6a\xca\xc6\xf9\x1e\xd9\x8f\x47\xf6\x11\xf6\xfa\xf9\xf2\xa8\x44\x4c\x67\xa6\x2d\x46\xd8\xf4\x24\x0f\x93\x6d\x68\x2c\x28\x56\x76\xfc\x63\xa4\x33\xc8\x9c\x34\xb6\x69\x6d\x59\x5a\xe2\x1a\x6b\x31\x24\x4c\x2c\xe3\x02\x5f\x5e\xfb\x97\x7a\xe6\x31\x71\xe9\x60\x16\x7b\x86\x79\x75\x39\xd7\xb1\xb9\x39\xec\x6b\xb8\xb0\xcf\xa9\x39\xd5\xc6\x07\xda\x22\x4f\xab\x51\xba\x6c\x0a\xf1\x78\xda\x53\xfb\x9a\x1d\xe9\xde\xc2\x6e\x4e\xb1\x5b\xce\x97\x39\xa1\x59\x02\xce\x19\xde\x12\x52\x0a\x79\x84\x84\x33\x2c\x20\x17\xe3\xdd\x68\x58\xfb\x9a\xa9\x46\x87\x21\xd5\x33\xd4\xd3\xe6\x3c\xaa\x77\x0e\x1f\xef\xe8\xc5\xb0\x9e\x4a\x9b\x54\x40\x37\xc3\x18\x00\x5c\xaa\x4b\xe5\x50\x4d\xa7\xac\x85\x19\x61\xb8\x0b\x4b\x56\xf7\x0f\x53\x0c\x9a\x2f\x97\x90\xbf\x50\xb9\x33\x10\xb7\x49\x75\xe4\x25\xb0\xbd\x48\x5b\x60\x8e\x7b\xd8\xf8\x91\x4d\x56\xf8\x78\x59\x01\xc0\x06\x02\xa9\x72\x18\x36\x9b\x6c\xa6\xf3\x05\x4b\x9c\x6a\x74\x98\x4c\x74\x52\xb6\xc6\xd3\x83\x74\x16\x2f\x87\x15\xeb\x33\x04\xa6\x6a\xf0\x69\x75\xc6\x82\x84\x77\xb5\x5d\x03\xe5\x43\x32\x8c\x68\xd8\xea\xbd\xaf\xa4\xc8\xa2\xf5\x44\x26\x1d\x66\x0f\xc3\x07\x77\x66\x2e\x77\x16\x34\x92\x42\xc3\xe1\x81\x55\x9b\x97\x7d\xb5\x6e\x67\x9c\x99\x86\x1c\x37\xd2\x51\x33\x1a\xce\x53\x33\x0e\x1d\x16\xdb\xb4\x88\xd6\xca\x8a\xb7\xf7\xfc\x62\xec\x2b\x67\x59\xed\x9b\x9c\x8c\xb7\xec\xc8\xf5\x89\x00\xd3\x69\x91\x47\x77\xab\x85\xba\xd5\x4c\x46\x46\xce\xea\x1a\x76\x63\x57\x42\x4f\x4b\x3a\x88\x2e\xfb\xd1\x78\x87\xb1\x53\x7f\x91\x4b\xee\x61\xbf\x9b\x6d\x20\x4c\x19\x22\xc4\x68\xb1\x4d\x59\x58\xb0\xf6\x5e\xbe\xd8\xf6\x06\x96\x6a\x96\xe9\x81\x91\xf0\x2d\xe3\x45\x7b\x52\x2e\xa6\x8c\xcd\x9e\x47\x47\x8c\x2f\x1a\xbc\x4e\x76\x8d\xa6\x09\x43\x42\xa5\xdc\xe5\xe1\x98\x2e\x50\x1d\xe0\x42\xe0\x4d\xc7\x0b\xd6\xdd\xa0\x31\x7b\x1e\xba\x07\x13\x24\x80\x6d\xe7\x0e\xfb\x8e\xe1\x6c\x31\xce\x74\x70\x40\x37\xb2\x09\xf0\x48\x29\xa6\x53\xa2\xd1\x00\x3e\x5c\xe5\x4b\x53\xb1\x87\x02\xea\x0e\x05\x1c\xae\xdc\x91\x96\xb1\xbb\x6d\x2d\xe1\x16\x33\x0b\x9d\x9d\x0d\xac\x5d\x2e\xf0\x31\x2d\x53\x91\x33\xc7\x97\xa6\xb2\x75\xeb\x8e\xa1\x24\x8a\xaa\xcf\xed\x35\xf6\xc0\xd3\xea\x76\xa2\xa0\x80\xca\xbc\x84\x8d\xa9\xd3\xc1\x01\xe3\x8a\x15\xb5\xa5\x44\xd5\x21\x4b\x86\x33\x1a\x02\x13\x87\x3a\xe4\x0e\xa6\xa3\x5a\x0e\x56\x4c\x91\xad\xf1\xe9\xf0\xe8\x4e\x65\x6e\x75\x56\xf7\xfd\x8c\xde\x2a\x72\xb2\xa2\x8f\x70\xd8\xa8\x8d\x04\xd3\xb3\xf1\x06\x76\xc7\xfc\xa5\x18\xdb\xd3\x09\x0e\x0b\x96\x04\x49\x20\x17\x3c\x67\xb5\x5d\xf3\x0e\x2b\xcd\x59\x91\x98\xba\xf4\x01\x4c\x7c\x39\x5f\xd1\x1b\x8e\xc4\x4c\x80\x99\x3b\xf1\xec\x48\xfd\x1a\xec\xd6\x44\xe8\x60\x3e\xaf\xf7\x88\xb0\xf3\x46\xeb\xa5\x38\x23\xa9\x70\xb2\x8f\xce\xba\x22\x80\x5d\x25\xa6\x22\x77\xba\x54\xc2\x1c\xcf\x32\xb7\x74\xc4\x31\xe0\x76\xf9\x56\xb0\x05\xd3\xcf\x00\xef\x90\xbc\x6b\xec\x28\xe9\x92\x1d\x04\x0c\x22\x3a\x86\xfe\x26\x39\x58\xc5\xfe\xb4\x9f\xee\xc7\x23\x44\x3e\xd9\x07\x44\x9e\x63\x0e\x63\xe9\xc1\x51\x04\x31\x08\x53\x99\xf2\xaa\x04\x43\x5c\xc2\x32\x89\x2a\x70\xd0\xe9\xd1\x34\x8e\x4d\x10\x0a\x6b\xe0\xe8\xb8\xef\x4e\xcd\xe1\xd1\x24\x1d\x7a\xd8\xe3\xf0\x58\x91\x87\x63\x63\x3b\xab\xad\xb9\x52\xd9\x1c\x00\x56\x00\xd9\xee\x70\x8a\xdc\x51\x79\x58\x5c\x90\x33\xbc\xf4\x91\x44\x99\x8c\x90\x02\xcb\xca\xfd\x0c\x3e\x4e\x92\xec\x68\xac\xc7\x02\xb2\xdf\x28\x97\xf9\x0c\xaf\xe4\xc2\x20\x2a\x97\x76\x7b\xff\x70\x5f\x6e\xed\xf3\x84\xb7\x47\xa8\xa6\xd3\x82\x6c\x3a\x5c\xa6\xe4\xa8\x65\x1f\x1b\x17\xde\x01\x12\xc0\x24\xe5\x62\x06\xa2\x04\xa4\x4e\x11\x15\x66\x0c\x8d\xed\xd1\xe7\xe2\x1c\x29\x18\x50\xda\xc8\x99\xd5\x78\xcf\x45\x1c\x1d\x09\x26\xbd\xb5\x41\xb6\xd2\x91\xf1\xb3\xd5\x19\xda\x02\x69\x36\xd9\x6e\xad\xd5\xd4\x99\xc5\xe6\x98\x2b\xec\x0d\xcd\x71\x0d\x27\xda\x2e\x7f\x1e\x3b\x6c\x4c\xaf\xf0\xed\x21\xd4\x0f\xe7\x2d\x2e\x30\x2b\x87\x8d\x23\xc8\x30\xf6\x78\xde\x64\xaa\xa6\xaa\x15\x35\xed\xa7\xb7\xc1\xf8\x34\x3c\xef\x2c\x79\xaa\x24\xfe\x18\x5e\x79\x32\x24\xe8\xa7\xad\x7f\xa9\x00\x58\xa6\x86\x4c\x40\x23\x35\x57\x79\xcb\x40\xed\x09\xce\x27\x53\x0a\x32\x09\x0f\x42\x41\x3c\xda\x39\xe4\x4c\x53\xc0\xda\xb3\x26\xee\x08\xcc\x18\x1b\xef\x18\x6e\xfc\x64\x32\xaa\x73\x00\x08\x8d\x5a\x51\x2a\xe3\x0f\x2f\x67\x66\x22\x34\xf0\x66\x33\x09\x98\x63\x81\x8f\x26\xcc\x7a\x7f\xda\xb3\x1b\x3e\xdd\xee\xd6\xb6\x05\xc2\x8b\x7e\x9a\x50\x39\x24\xe0\x7e\xc0\x26\x9e\xb4\xdf\x2f\x23\x61\x4c\xc4\x6a\xbf\xfd\xb1\xd8\x83\xb0\x18\x42\xce\x4a\xc0\x69\x8e\xc0\xa3\x64\x2c\xc8\xb2\xa0\x8d\xe0\xc2\x2d\x34\x12\x67\xe5\x84\xde\xab\xb3\x71\x83\xa0\xb1\x19\x67\xf8\x64\x1c\x1f\xa6\x29\x8e\x5d\xa0\x78\x0b\xce\xa3\x63\x5c\x2f\xc7\x58\xa5\x84\x0e\xb3\x3c\xf6\xe6\xab\xa6\xf9\x6c\x16\xd8\x9a\x89\xa7\x30\x57\x23\xda\x99\x48\xe7\xb8\xa3\x4f\x90\x39\xa8\xcb\x65\xb9\xdd\xac\x46\x53\x58\x25\x68\x94\xba\x54\x6c\x92\x2e\x69\x70\x98\x1c\x68\x28\x3f\x29\x46\x09\x36\xd1\xf9\x6c\xad\xcc\xac\x3c\xaa\x15\xbf\xee\x17\x31\x3c\x52\x9f\x78\x00\x9d\xcc\x80\x0a\x00\x3e\x09\x37\xf8\xfa\x60\x3a\x3b\x72\xb6\x94\xc4\x94\x45\xcf\xd5\x8c\x38\x81\x80\xa0\xb6\x80\x00\x52\x70\x18\x81\x6d\xb5\xe5\x59\x2e\x98\xd7\xed\x30\xba\x0d\x23\xfb\x3c\xb6\xf7\x09\x82\x1c\x9c\x7e\xa0\xaf\x10\xf2\x7c\x6c\x26\xe1\x65\xe1\x23\xf1\x65\x3b\x53\x77\x5c\x4e\xf0\xe7\x06\x38\x60\x25\x78\x50\x0c\x9b\x93\x4d\x93\x8f\xf9\xf1\xd6\x19\xbb\x28\x20\x18\x16\x38\x60\xb1\x85\xf4\x4d\x84\xd5\x10\x4e\x3a\xca\x71\x39\x2d\xc7\xbb\xe2\x72\xec\x07\x7a\x53\x64\x4a\x15\x5c\x04\x17\xa7\x47\xc1\x59\x12\x41\x51\x38\x60\xb2\xdb\x1a\x7b\x0d\xcc\x1d\x5d\xce\xb4\x3d\x90\x29\x00\x86\x64\x8d\x4e\x05\x64\x94\xcd\xa6\xcb\x5a\x96\x53\x2d\xc4\x21\x3c\x94\xcb\x75\x10\x9f\xe8\xd3\xb2\x80\x1d\xb2\xdf\x5c\x88\xa2\x73\x79\x98\xad\x99\x30\x3f\x49\x29\xb6\xf7\x1b\xa9\x59\x48\x93\x31\x4f\x31\x01\x5f\x1e\xf7\x7b\xbb\xa9\xf7\xc9\x79\x42\xe3\x0e\xe9\xb0\x4a\x50\x1c\x0f\xb4\x5a\x6c\x00\x88\x52\x19\xaa\x85\x98\x84\xd4\x95\x77\x88\x31\x93\xc6\x84\x7e\xf2\x88\x12\x91\x0a\x17\xf8\x0a\xf8\x1a\xc1\x03\x1c\xb8\x86\x3f\x02\xeb\xe1\x08\x54\x12\x41\x58\xc1\x1e\x00\xb0\x36\xe9\x93\x34\x8d\x2b\x63\xb6\x50\xc8\xe6\x6c\x93\x9e\x76\x6e\x22\xa3\x18\x17\x34\x6a\xac\xb0\xd8\xda\xc0\x2a\x17\xcc\x66\xbb\x7e\x6a\x46\x01\x9c\xd0\xce\xe5\x31\x9d\xab\xc4\x0e\x2f\xd6\x95\x02\x04\x99\x02\xd5\xa2\xd8\x04\x45\x23\xe9\xcb\x33\x20\x55\x02\xd9\xd5\x2b\xe5\x94\x7a\x22\x18\xf2\x1a\x58\xbb\x8d\x99\x52\x8e\x68\x02\xbe\x8a\x09\xe7\x6c\xed\xea\x7c\xb7\x5c\xf5\x93\x47\x8a\x9e\x0c\x63\xde\x18\x0f\xb7\x80\x99\x99\xde\x56\x30\x0f\xce\x34\xe1\xd5\xe1\xea\x54\x0b\xd2\x79\x7c\x3c\x85\x74\x79\x42\x50\x67\x51\x35\x08\x0c\x8d\x8c\x05\x37\x69\x90\xda\xd9\xcd\x66\x53\x3b\x0e\xf7\xf2\x8a\xd2\x49\x0b\x42\xab\xa5\xdd\xef\xeb\xa9\xb5\x75\x32\x1d\x65\x2c\xd5\x67\xa9\x8a\x20\x25\xd6\x0e\xac\x98\xfa\x22\x81\x01\x49\x18\x85\xa5\x12\x03\x39\x3f\x4c\x81\x03\x84\x35\xbe\xd1\x95\x0a\x80\x00\xe0\x62\xbd\x1b\xc1\xdb\xf0\x98\xae\x52\x49\xdc\x90\x86\x7b\x30\xa0\x5e\x97\x0d\x3b\x4b\x70\xc4\x98\xa3\xa7\xa4\xdc\x53\xda\x09\x27\xc8\x31\x6f\x5a\x07\x3a\x21\x38\xca\x21\xc8\xa3\x49\x6f\xd7\xd5\x0c\x00\x40\xca\xd5\x0e\x0d\x22\x39\xc4\xa0\x20\xac\xb2\x64\xbd\x76\xb7\x02\xc3\x9d\x26\x25\x44\xcd\x8e\xd9\xf8\xdc\xcf\xa4\xf0\xc8\x59\x6f\x2c\x26\xc8\xb4\xdc\x73\x4e\xba\x1b\x9c\x4a\x6b\x02\x68\xc5\x19\x16\xcd\xa1\x92\xa3\xc3\x0a\xd9\xb1\xab\x44\x3f\xe9\x7b\x0e\xa0\x4a\xb7\xd1\xee\xd1\xc7\x94\x75\x38\xa0\x41\xb3\x43\x56\x48\x88\x55\x17\xc2\x46\x35\x7b\x77\x6e\x7b\x56\xa9\xc5\x8c\x08\xce\x99\x20\xb2\x0e\x6e\x27\x6e\x15\x6d\xf6\xec\xa9\x58\xa4\x61\x32\x51\xa8\xad\x74\xc6\xed\x29\x85\x7b\x32\x92\x3a\xac\x21\x80\x8a\x44\x57\xf6\x6c\x05\xd6\xe4\xda\x5d\x1a\x1b\x00\x40\xe0\x70\xc3\x82\xce\xb1\xde\x1e\x0e\xd5\x0b\x6b\xce\x2f\x44\xc4\xea\x48\x56\xaf\xb6\x65\xb0\x88\xea\x2a\x3f\x28\x73\x3a\xf7\xc7\x3e\xba\xf5\x72\x02\x2c\x89\x19\xed\x57\xc6\x82\x9a\x3b\x6c\xb7\x4a\x12\x5d\xfc\xfc\x04\x11\x16\xbd\xd6\x56\x2b\x27\x6e\x66\xeb\x21\x7d\xdd\x5f\xf6\x2a\x15\x77\x98\x7a\xd8\x2c\x3d\x02\x07\x1c\x08\x70\x6e\x93\xd0\x70\xce\xcf\xd9\x44\x31\x2f\x94\x37\xd7\x33\x18\x53\x83\xa5\x93\x95\x05\x76\xdc\xb2\x91\x6f\xb1\x93\x33\x55\x69\xdb\x0b\x58\x0a\x38\x43\x91\x72\x16\xac\x4d\x1c\x80\x7e\x41\x72\xcc\x01\x09\x12\xd2\x21\x5b\x89\x39\x85\x02\x56\x2b\xd6\x11\x20\x27\x8b\x88\x57\x2b\x35\xe0\x19\xed\x5c\x34\xf2\xc6\x3a\x65\x36\x3e\x3d\x7a\x6b\x7f\xcf\x40\x44\x88\xe3\x13\xc0\x00\xce\x44\x66\x60\x1e\xe7\x14\x1d\xec\xa4\x05\x45\xf4\x06\x76\x68\x1a\xb6\x48\x12\x90\x2e\x26\xab\x65\xba\xd9\x26\x81\xc9\x8d\xa6\x93\x55\x1d\x8d\xb3\x24\x4c\x2f\x87\x5c\x65\xf7\xa2\x37\xa2\x85\x6e\x6b\x58\xf0\xe7\x6b\x02\xf0\x9e\x91\x09\xb8\x00\x48\x82\xcc\xd3\x24\x8e\xb7\x65\x61\x0d\xa1\x7e\x46\x4f\xd8\x73\x67\xe2\x51\x96\xa7\x1e\x1c\x25\x14\x00\x83\x0e\xd1\x2a\xf7\x29\x9c\xf2\xf0\x20\xde\x08\x13\xce\x83\x46\xdc\x4e\x80\x84\xd3\xfe\x78\xaa\x1b\x6f\x08\xec\xf2\xc0\xc5\xeb\x13\xa5\x1c\x05\x5e\x6b\x32\xe8\x32\x47\xe1\x74\xe5\xac\xc7\x57\xd5\xab\xcf\x86\xc6\xa7\x66\xad\x4d\xd8\x89\x9f\x05\xd9\x09\xbd\x8c\x4f\x73\x60\x39\x1c\x59\x4f\x16\x11\x9b\x2b\x2b\xd7\x30\xd1\x71\x99\x62\x33\x74\x18\x97\x92\xb5\xc1\x93\x98\xf0\x08\x65\x99\x35\xc3\x7d\x23\x83\x11\x49\x16\xe4\x0c\xec\xae\xbb\xb7\x88\x0b\x05\x6b\x02\x80\xc6\xa4\xcf\x43\x69\x78\x94\xa4\x8d\x6f\xab\xfb\x60\x97\x18\x08\x1a\x1e\xc7\xe2\x31\x4c\x53\xd6\x5e\xdb\x7e\xe0\x2e\xc1\xb1\x9c\x2a\x31\xa0\x00\xe1\x00\x90\x70\xa2\x5f\xac\x86\x9c\x2f\x90\xfb\x75\xa5\xf6\x9e\x83\xdc\x9d\xf7\x20\xb8\x3c\x99\x41\xb5\x9b\xcc\x61\xf9\x94\x0a\x78\x85\xd4\x28\x66\xda\x45\xea\x9f\x04\xea\x52\x22\x8b\x39\x3e\xd9\x0c\xc5\x09\x06\xc9\xe9\x8c\x57\x3c\x67\x5a\xf1\xe1\x64\x5f\x46\x90\xad\xa3\x01\x47\x6e\x63\xdd\x60\xf3\x8e\xe1\x44\x5f\xa5\x8e\xe1\x6e\x9b\xe4\x8c\x72\x22\xea\xf1\xa4\x17\x54\xb3\x99\x96\xa8\xd3\x14\x66\xf8\xb5\x69\x00\x09\xf0\x40\x29\x42\x93\x88\x62\xc3\xcc\xfc\x05\xca\x2d\xa4\xe9\x48\x8b\x72\x5f\xd9\x8b\x1b\x7a\xce\x42\xa2\xbc\xe4\xf8\xa8\xef\xe5\xcb\x65\xbe\x07\x33\xf2\x3c\x59\xb5\x93\x31\x71\x4d\x08\x32\x40\x17\x99\x57\x1c\x95\xf5\x38\x30\xb5\xe3\x12\x11\x90\xdd\xe8\xac\xa1\x53\x76\xac\x2e\x5d\x33\xc4\xf5\xe6\x74\xb4\x2e\xa5\x32\xc6\x9c\x15\x68\x32\x13\x32\xfb\xd9\x54\xbf\xbf\x4c\xb8\x93\xad\xd5\x3e\x58\x5c\xf6\x27\x7a\x8f\x5e\x24\xf3\xa4\xef\xf5\x71\xb8\x30\xe3\xe3\xb2\xde\xd7\x76\xc5\x81\x95\x13\xec\xf1\x64\x25\x9f\xab\xca\x1f\xca\xbc\x8b\xd9\x9b\xc5\x45\xe6\x73\x78\x44\xd1\xc3\x44\xcb\x86\xa5\x85\xf1\x4d\x3f\xbd\x5d\x54\xaa\x05\x00\xee\x8c\x13\x6c\xbc\xf2\x24\x07\xa8\x23\x4d\x09\xf8\xd0\x0b\x28\x67\x19\x4d\x16\x08\x6f\x56\xea\xa9\x61\xa6\x67\xfe\x04\x17\x93\x3a\xaf\x51\x09\x09\x70\x75\x3e\xa1\x64\x01\xa7\x27\x80\xc1\x41\xb8\x55\x97\xe8\x36\xee\xad\x8d\x4a\xc4\x2c\x00\xe4\xde\x1e\xf2\x1a\xab\x79\xd3\x51\x3d\x9d\x8c\x2e\xcb\xe9\xaa\x39\xce\xd7\xd8\xa1\x11\xb9\x88\xde\x86\x67\x7b\x9d\x7b\x81\xb0\xac\x94\xeb\xd9\x07\x64\x25\x90\xb3\x2d\xd1\xce\x29\x49\x47\x87\x84\xf2\x84\xaf\xae\xc3\x68\x63\xb3\xa8\x3e\xd1\x46\x94\xa8\xe0\x40\x0e\x00\x45\xa6\xe7\x78\x3d\xc5\x05\x1c\x94\xc0\x29\x1b\x3a\x65\x56\x45\x78\x5a\x22\x9c\x85\x56\x47\x2e\x36\x22\xde\x05\x48\x33\xc3\xd2\x7d\x2c\x6e\xc3\xb9\x5b\xc5\xfc\x32\x26\x01\x08\x7a\xd8\x18\x15\x09\x00\x36\xa1\x97\xa0\x3c\x1c\x83\x65\x8c\x1c\xed\x71\x51\x2c\xe6\x07\x99\xb4\xc1\x5c\x0d\x55\x02\x17\xa0\x78\x9b\x8d\x60\x81\x98\x31\xe7\x92\x68\xe5\x9d\x18\x32\x10\x08\x6e\x3c\x5e\x87\x14\xc2\x4f\x67\x0a\x30\x96\xc2\xae\xdf\xf1\xd9\x32\xdb\x4d\xbc\x9b\x37\x1b\x13\x09\xc6\xbc\x3d\xdd\x01\x65\x05\x36\x78\x79\xdc\xcd\xd6\xdd\xe9\x8e\x45\xb3\x43\xb7\xd2\xac\xfd\x1e\x53\xab\xc5\xd2\x18\x97\x3a\x51\x55\xd4\x19\xa6\xf6\x2e\x9d\x79\xb2\x6f\x00\x1d\x68\xe3\xe9\xe8\xd8\x6f\x72\x69\xd1\x4e\x3b\x18\xfb\x06\xc1\xab\x7d\x72\x92\xf5\xb5\xc6\x89\xa7\xa9\xa5\x41\xec\x68\xe4\xc8\xf6\xce\x4a\x14\xaa\x02\x40\xe3\xe9\x7c\x53\x73\xe0\x24\x48\x0e\x18\x02\x7c\x1b\xab\x33\xf6\x84\x5d\xc6\xd5\xc9\x9e\xc1\xa7\xfc\x60\x8e\xfa\x95\xa5\x1d\x2f\xec\x77\xa4\xaa\xe1\x21\xf0\x37\xa4\x97\x2a\x55\x09\xc6\x1b\x76\xde\xd6\x88\xc2\x39\x50\xcc\x95\x2c\x3f\xe6\xa3\xf1\x06\x9e\xaf\xf9\x39\x2c\xcd\x33\x6b\x46\x2d\x77\xda\x32\x6a\x08\x6c\xad\x86\x47\x81\x02\xc4\x65\x44\xe3\xe6\x75\xc9\x14\x90\x00\x33\x51\xc7\x43\x9b\x99\x08\x36\xf9\x28\x9c\xd0\x9b\x83\x12\xcf\x49\x05\x9d\xb0\x0b\x18\xc7\xc9\xd2\x4f\x83\x6a\xa4\xe8\xd8\x62\x2a\x18\xe5\x42\x91\x98\xe1\x58\xd7\xf4\x78\x75\x60\x33\x4b\x39\x8d\x9b\x80\x98\x6b\x98\x40\x5d\x37\x0a\xe9\x66\x84\x09\x8d\xa3\x68\x3d\xdc\x47\xf1\xc1\xac\x2f\xc4\x64\x7f\xdc\x95\x43\x68\xae\xd8\x23\x73\x3a\x99\xb0\xa8\xb2\x03\x0b\x99\x0e\x01\x06\x0f\x15\xb0\xe1\xbc\x91\xb0\x8d\xb7\x95\xea\xa8\xc0\x07\x53\x18\xe3\x97\xa8\x04\xf5\xbb\x15\x18\x47\x2e\xcf\xa7\xf9\x7c\xbd\x4e\x67\xbb\x2d\x6d\x22\x59\xcc\x69\xd1\x82\x8f\x77\xb0\x11\x32\xae\xe2\x98\xd3\x03\x58\xf7\x87\xc5\xd6\x60\x0f\x2b\x86\x50\x21\x8e\x9e\x34\x7c\xc2\x5a\x43\xce\x1a\x1f\x4d\xd4\x93\xf8\xc9\xf8\xd8\xef\xf8\x9c\xe7\xc3\x30\x3e\x97\x1e\x5c\xc9\x9b\x2d\x38\x41\xd8\x7c\x83\xf0\x4a\xdd\xf8\xa8\xa3\x4c\x91\x6d\x48\xcd\x68\x06\x8c\x69\x2c\x14\x53\x64\x4a\x9d\xcd\xe9\xe4\xbc\x3a\x1c\x69\x34\x23\x31\x99\x65\x41\x85\x4e\xdc\xfd\x64\xa5\x11\x06\x96\xf7\x5b\x99\x2b\xab\x1e\xfa\x4d\x6b\x0f\xf1\xa1\x7b\xbc\xcc\xb1\xe1\x7c\x82\x69\xc4\x6a\x3b\xc5\x91\x91\x12\xec\x96\xc4\x99\xa4\xb8\x42\x70\x77\x21\xca\x79\x84\x03\x28\x60\x64\x47\x63\xbf\xdb\xe6\x79\x5b\xe9\x43\x62\xdb\x70\xa1\x64\x71\xa3\xf6\xc6\x21\x42\xe1\x8a\x84\x75\x5b\x2d\x7c\xee\x98\x57\x1b\x6c\x24\x1d\xb6\x3c\xc4\x92\x91\xcb\x8f\xd0\x40\x97\xe3\xac\x38\x8f\x72\x14\x1e\x1f\x2f\x86\x3d\x8a\xf8\x8d\x15\x99\x31\xb1\x8c\x70\x25\xf0\x4a\x88\x10\x16\xf8\x3e\xd8\xaa\x23\x8c\xab\x7a\xe3\x10\x8e\x57\x23\x3f\x2b\xb7\xeb\x89\x30\x8d\x1b\xb4\x38\x93\xc2\x65\x68\x68\xc8\xb2\xe1\xbd\xa1\xb3\x59\x02\x94\xd4\x28\x07\xfc\xda\x11\x3f\xfc\xf0\xe3\x2d\x38\xf3\x1b\x27\xff\xbc\x50\x77\xec\x7c\xe4\x99\x71\xf4\xd3\x7c\xf2\xf0\x79\xf0\xd0\x3d\x19\x25\xd1\xfd\xe9\x3f\x4f\xc1\x79\xb1\x82\xb8\x85\x13\xb7\x2d\xdc\x48\xb2\x4b\xc9\x4e\xab\x41\xdd\x51\x23\x87\x68\x7d\x73\x40\x7a\xe1\xd2\x44\xbb\x27\x0b\x0b\xdf\xb5\x2e\xef\x6a\xb1\x25\x46\xb5\xdb\x1d\x13\x01\x74\x23\xfb\x56\xaf\xeb\x80\x9b\xf2\x4b\xde\x6f\x9f\x3a\x2a\xe4\x4a\x3b\x01\x00\xdb\x53\x01\x60\x08\x0a\x00\x72\xd2\xfd\xc0\x3b\x00\x2c\xe5\x0a\x00\x32\x6d\xd9\xf3\x89\x03\x00\x6e\x55\xd1\x2a\x11\xb7\x1d\x3c\x34\x4f\x82\xac\x7e\x05\x14\x6c\x67\x60\x54\x91\xa3\x78\x35\x8e\xfc\x0e\xaa\x41\x25\xd1\x41\x03\x00\x28\x99\x0a\x80\x95\xb7\xc6\x6d\x4e\x1e\x59\x0e\x00\x34\xe7\xb2\x22\x45\xcb\xf6\x26\x2b\x0e\x87\x20\x3f\xac\x2d\x6c\x84\x40\xcd\x6c\x82\xce\x4b\xb2\xe9\x19\x86\xb5\x48\x7b\x06\x93\xf3\x07\x6d\xa6\x30\xd1\x8e\xa5\x55\x69\x8f\xe8\x66\x41\xc1\x66\xb1\xf7\xcd\x82\xa2\x27\x0c\xa4\x88\x34\xb5\x07\xb1\xe7\x0a\x31\x38\x09\x74\xe8\xe1\xb1\xb3\xd7\x19\x0a\x90\x34\x11\x0a\x07\x3f\x28\x62\x08\xed\x87\x59\x1e\x8a\xac\x3d\x83\x1a\xb5\xa6\x07\xfb\x25\xeb\x45\x3b\xb5\xf0\x45\x96\xf6\xcd\xa2\x09\xe6\x8d\x35\x9f\x4e\x87\x33\x13\x9d\x0f\xe5\x53\xe9\x25\x06\x41\xc2\x97\xe1\x7c\xa8\xdb\x53\xec\x7c\x0e\xd9\xe0\x8c\x38\xfc\x58\x15\xcb\xee\xd3\x5b\xf4\xf6\x3f\x72\x09\x8a\x2c\xc6\x37\x48\x74\xb4\xb9\x5c\x97\x0e\xfb\x32\xd3\xb3\xb3\x78\x96\xb3\x5d\x14\x98\xa6\x32\xc2\x74\x24\x20\x45\x5b\xe4\x68\xcb\x44\x35\x7d\x12\x35\xe7\xfd\xd8\x98\xf2\x4c\x52\x69\xee\x74\x83\x4c\xbd\xa5\xda\x4f\xd0\xb7\x4d\x71\x39\x5f\x50\x2f\x05\x10\xb4\x8b\x9c\xd1\xfe\xb0\x84\x8f\xc8\x42\xc8\x69\xdf\x83\x04\xa3\x19\x9a\x40\x81\xc7\x27\x5b\xf4\x77\x55\x25\x5b\xe3\xcb\x31\x57\x98\xd9\x9c\x3f\x19\xab\xac\x8a\x62\x96\x59\x55\x33\x2a\x06\x3c\x03\x68\xa7\xd7\xa4\x8a\xdc\x11\xb5\x09\x58\x9c\x62\x19\x8f\x01\x4e\xec\x31\x04\x60\x1c\xc6\x61\x70\x76\x91\x58\x5b\x91\x10\x53\x24\xdf\x12\x38\x60\x81\xe7\xcd\x04\x07\xf8\xa3\x2d\x43\xfb\x12\x8e\x0b\x67\x17\x11\x44\x5f\x38\x14\x14\x81\x73\x49\xbf\x0c\xb3\x9c\x1b\x19\xe6\xae\x3d\xdf\x35\x1d\x54\x50\x50\x4b\xf5\x1d\x20\xd2\xb8\xe4\x87\x81\x1c\x46\xc9\x74\x15\xae\x0e\xb3\x2c\x98\xa5\x73\x8c\xdf\x72\x2c\x44\x0a\x84\xbf\xb5\x77\x94\x29\x64\x80\x84\xa7\xf3\xe1\x74\x38\x5d\xe5\x5b\xe4\x5c\xf4\xc6\xa3\x9a\x03\x58\x3b\x1b\x15\x7d\x14\xd6\xa3\x0c\x1e\x81\x0b\x39\x41\xb9\x15\x7e\xc6\xd8\x25\xa3\x33\x15\x93\x30\xd8\x82\x31\xec\xb3\x35\x1b\x67\x10\x83\xf0\xeb\xd3\x99\x3d\xf2\x31\x76\x3c\x12\x69\x05\x53\x2e\x23\x06\x82\xe0\x21\x3a\x32\xed\x7d\x70\x48\x2f\x8e\x3b\x05\x1f\x8f\xb7\x2e\x53\x2e\x8b\x39\x56\x44\x11\x9e\x4d\xb1\x66\xb9\x19\x81\x05\x90\x62\xf5\x74\xa9\x15\x65\x47\xf0\xc4\xf6\xc8\xef\x37\xf3\x7c\x71\x2c\xed\xa1\x75\x1c\xad\xd0\x0c\x69\x66\x6b\x69\x21\xf3\x67\x44\xdf\xab\x64\xbf\x57\x90\xa2\x08\x4e\x1d\x0e\x94\x20\x6e\x09\x81\xc3\x52\x3a\xb0\xe9\xb5\x65\x95\x7c\xb5\x56\x90\x3d\x27\xe3\x07\x5a\xb9\x28\x07\xb7\x08\x91\x53\x76\x2a\xce\x15\x8c\x9c\xcb\x15\x5c\x6e\x0f\x0b\x00\x64\xc7\xf5\x17\xc1\x6a\x7b\x60\xe7\xda\x59\xeb\x7d\xf0\xd5\x14\x99\xc5\xcd\x6c\x99\xf3\x2e\x4d\x8f\x4b\x44\x5f\x42\xd4\x8c\xa5\xce\x60\xef\xda\xc3\x68\xbc\x5d\x92\x53\x48\x9b\x8e\xea\xd0\x34\x8f\x2b\x5c\xe2\xe6\x6b\x38\x3a\x40\x20\x8d\x54\x5a\xe2\x3c\x7c\x7a\x64\x3c\xbe\x71\x10\x7f\x0c\xe3\xfd\x4c\x4b\x5d\xee\x61\x67\xed\x67\xf0\x88\xc4\xf1\xe1\x64\xe9\x2f\x56\xbb\x3a\x14\x8f\x46\x7d\x9c\x0f\x53\x73\x34\xdb\xe7\xcd\x7a\x1e\x34\xf4\x7c\x8e\x4e\x66\x45\x55\x6b\x04\x48\xb1\xca\x10\xbc\x35\x21\x52\xfb\x2d\xee\x93\x07\xcb\x46\x6c\x06\x9d\xf5\xe3\xf6\xd0\xb5\x47\x43\xb8\x1c\xd9\xc5\xc8\x44\x00\x37\x1c\x95\x52\x73\x59\xed\xce\x0e\x37\xcd\xc2\x61\x81\x53\x28\xa1\x01\x78\x29\xea\xf4\x6e\x1a\xa7\x1b\x81\x23\x08\x2b\x4f\xf1\x64\x02\x2f\xc8\xb9\xbd\xc4\xc9\xe9\xf4\x50\x46\x2c\x3c\x89\x47\xfd\x82\xe5\x24\x1d\x8e\xcc\x15\xab\xae\xb6\xe3\xa3\xdb\x1c\x17\x0b\x5f\x54\xbd\x0a\x17\xb9\xf1\x31\x5a\x8d\x10\x4f\x6c\xa6\xa3\x72\x37\x9a\x45\xc7\xb2\x6c\xc6\xbb\x3a\xd0\x67\x43\xf7\x20\x1a\xec\x44\x90\x39\x5c\x5f\x95\x6c\xe8\x28\x2b\x56\xe4\x4a\xa9\xdf\x48\x0c\x18\x3c\xd1\x0b\x8f\xa2\x41\x02\x08\x86\x5e\x2e\x47\x01\x18\x8d\x36\xcb\x13\x82\xa4\x36\x64\x6f\xcf\x02\x7b\xa0\xf4\x11\x1b\x2d\x29\x26\x06\xb8\x6a\xcd\xc7\xd8\xa8\xe1\xb7\xc7\x21\x7b\xc2\xeb\x35\x4b\x8c\x46\x97\xfa\x30\x5c\xa8\xba\xd6\x6b\xca\x02\x68\xb9\x0d\x41\xa5\x0d\x97\xf8\xe5\xb2\x5f\x0b\xd9\x82\x0a\x2c\x45\xe1\x88\xbd\x21\x38\x00\x4c\xf8\xc8\x76\x84\xed\x74\x3e\x9f\x36\x67\x7d\xbb\x1c\x3b\x8b\x9c\x49\x04\xcf\xda\x97\xb1\x58\x81\x51\x3c\x1e\x19\x64\x33\x85\xe2\xe3\xb1\x6f\x72\x44\x33\xfa\xe8\x68\x36\xcd\x78\x9b\x8e\xdd\x46\x32\x44\x3f\x5f\x11\x75\xbe\xd9\xa1\x08\xce\x4c\x4f\x2a\xb1\x1f\x79\xae\x35\x32\x71\x6e\xaf\xed\x34\x57\x30\x69\x65\x9e\xae\x4f\x02\xe4\x84\x54\x15\xa2\xae\x9f\xe6\xbc\x42\x9d\xc8\xd8\xe9\xd7\x17\x91\xa9\xc1\x9f\xce\x3a\x15\xe0\xdc\xca\x6b\x42\x55\x71\xb8\xbd\xb6\x87\xe0\xe5\xc9\xe6\x57\x0b\x1d\x18\xb2\x97\xc4\xec\x6e\xbf\x04\x5c\xa5\xa3\x9c\x9a\x84\x4b\x82\x95\x71\x28\x10\x88\x58\x86\x72\x93\x83\x1c\x62\xcd\x8a\x52\x9a\xf2\xfd\x5e\xc1\xd2\x0e\x20\x2a\xd5\x12\x26\xa1\x19\x83\x94\xed\x4d\x55\xf1\xeb\xf1\x65\xea\xf0\xa8\x15\xed\xdd\x4c\x6a\x14\x1a\x27\xa9\x66\x9d\xf8\xf2\x6a\xb3\x86\x50\x9c\x71\xe8\x5c\x82\x1d\xa7\xde\xc8\x0d\xa7\x48\x1e\x21\xe6\x14\x4e\xc9\x54\x7c\xdd\x1e\x11\xd3\xf1\x19\x5b\x6e\x0e\xa7\xb5\x05\xcf\x12\x69\xa9\xd8\x5a\x54\x96\x91\xa7\xe9\x71\xc2\x30\x02\x0e\x18\x37\x92\x53\xe7\x6c\xc0\x85\x8c\xf0\x38\x47\x7b\x7b\xc2\x5a\x5f\x2c\x80\xef\xf1\xe5\xd0\x60\x62\xe2\x0c\x10\x71\x23\xcf\xb9\xde\xc3\x25\x79\x4f\x77\x17\xe3\x03\x00\xa0\xc9\x1b\x1e\xdd\x2c\x7d\x8d\xd9\x98\x1c\x58\x95\x96\x25\x2e\x3d\x44\xd9\xd3\xa2\xbd\x32\xf7\x97\x99\xe5\xd6\x3c\xa6\xd3\xc9\xd9\x77\xf5\x90\xc4\x96\x74\x25\x08\xa5\x54\x38\xd5\x6a\x9b\xe4\x7c\xa3\xf7\x67\xde\xb1\x05\x39\xba\x90\xe8\x9a\xac\xc6\x27\x85\xc8\x88\xf5\x52\xf2\xe5\x2a\xac\x72\xc4\x27\xd6\x80\x24\xa1\x05\xa1\x25\x9e\x1e\xac\x17\x88\xe1\xe9\x68\x91\x29\x39\x3b\xac\x7d\x16\x70\x92\x2c\x15\x6b\x28\xde\xe7\x92\x90\x39\xbb\x85\x75\x1d\x02\xd6\x87\x20\xa0\x42\xbb\xa1\x47\x4b\xd1\x6d\x86\x04\x6a\x4c\xdc\x0b\xe5\x64\xd1\xe5\xa4\xac\x56\x8d\x6b\xba\x31\xec\xd1\x39\xe9\x2d\xe2\x90\x6f\x8a\x21\x99\x8f\x66\xcd\x74\xcb\x34\xe1\x51\x44\xe6\xf6\x16\xb6\x14\x45\xe2\x29\xef\x24\x42\xfd\xc9\x35\x31\xa7\x33\x07\x66\xa4\x24\xf4\x63\x61\x6e\xee\xca\x63\xcd\x65\xb8\xb1\x0c\x63\x39\x66\xb5\x7d\x18\x6c\xc9\x83\xa8\x39\xd6\x9a\xdc\xe4\xf5\x6c\x59\x1e\x8c\xa2\x46\x9a\xf3\xd9\x15\x05\x6e\x67\xd1\xe1\x4a\x00\x44\xbc\x1b\x5b\x95\x3a\xef\x8d\xc3\x51\xdc\x07\x67\x00\x87\x70\xcd\x5e\xc6\x0c\xe5\x38\xfe\x36\x8b\xe4\xf3\x01\x9f\xaf\xa1\x60\xe1\xeb\x9e\x52\x0f\x6b\x71\x04\x48\xa1\xdc\x8a\x02\x48\x12\x5d\x85\xd8\x63\xc3\xe3\x38\x74\x8a\x69\x90\xa3\xfc\xc5\xc0\xe6\x14\xa4\x4e\x93\xbe\x97\x51\x92\x24\xad\xb0\x42\xa7\x2b\xe7\xe2\x08\x4b\xc3\xc8\xa7\xcc\x09\x65\x93\xc5\x9a\xa9\x4e\x0b\x91\x36\x69\xa8\xa6\x59\x93\xb4\x28\x28\x91\x0d\x44\x15\x60\x57\xdd\xe7\x24\x2d\xd5\xc7\xe3\xf4\xec\x2c\xd7\x17\x1e\xf1\xfd\xf5\xc2\xd3\x41\xbf\xf9\xd0\x48\x26\xa8\x1a\x1c\x52\x95\x20\x04\xe5\x32\x46\x1a\x61\xe9\x73\xba\x9c\x24\xbb\x25\x90\x05\x7c\x25\x44\x40\x0d\x51\x16\x85\x8f\x36\x11\x58\x60\x61\x2f\xed\x31\xad\x13\xe9\xfc\x68\x1d\x84\xf5\x76\x96\x16\x58\x8e\x4f\xf8\x60\x61\xf4\x0c\xd1\xc4\xc7\xab\x06\x77\x16\xcb\x98\x5b\x5b\x26\xb3\x98\x8d\xa9\x0a\x12\xb9\x89\x9c\xee\xea\x25\x60\xa9\xa5\x84\x13\xab\x50\x59\x12\xfa\xf9\x50\xc9\x66\xb5\x48\x0e\x6b\x96\x91\xc6\x6a\xa4\xb8\x59\x0a\xc1\x26\xe0\x85\xda\x27\xa6\xea\xba\x9f\xba\x61\xde\xe4\x5c\x79\x13\x6c\xa5\xa0\x45\xc6\x70\x30\xb4\x60\x2f\xcb\xd5\x39\xd9\xed\x44\x88\xd4\xb4\x80\x2d\x28\x6a\x5d\x8b\x43\x46\x61\xd9\x9d\x14\xd0\x80\xb6\xb4\x15\x3a\x3d\xc5\xb4\x93\x57\x19\xa5\x21\x07\x68\x42\x9e\x11\x1b\x2c\xa7\xfd\x41\xb3\xa9\x12\xce\x46\x05\x94\xcf\xa2\x75\x60\xcd\xb7\x27\xdc\x5d\x12\x1b\x78\x31\xb5\x82\x10\x9d\x43\x0e\x92\x31\x0d\x51\x8c\xb0\xcb\x92\xd9\x7b\x00\xb3\xea\x85\x80\x2d\x79\xb3\x35\x79\xa5\xba\xd0\xd2\xb2\xda\x49\x9b\xdd\x61\x0d\x62\x47\xe9\x1d\x52\xa9\xf4\x4b\x70\xa8\x82\x86\x96\x13\x49\x24\x2e\x01\x6c\xd6\x43\x25\xe6\xf1\x66\xa4\x79\x73\xe4\x7c\xb1\x49\x0a\x9e\x18\x35\xec\x95\xab\x9c\xc9\x79\x69\x25\xed\x89\xb2\xaa\x28\x17\xd2\xe7\xee\xa8\xac\xc9\x7c\x38\x76\xf6\x51\x4d\x9e\x7a\xf3\x35\x9d\x5b\x02\x77\x72\x03\x07\x35\xb4\x60\x74\xf6\x3d\x9d\x0c\x0b\xff\x7c\xd8\xd0\x5e\x18\xca\xe2\x9a\x45\x15\x95\xf7\xf1\x44\x0a\x2c\xa9\x74\xe6\xf0\x8e\x54\x3d\x86\xb4\x0e\x55\x41\x9d\x77\x36\xb9\x09\x6a\xad\x42\x2e\x23\x04\xdd\x92\x3d\xb0\xad\x72\x45\x78\xa3\x35\x3a\xb4\x05\x48\x2b\x30\x93\xb0\x18\x78\x31\xa2\x39\xba\x76\xb0\x70\x4d\xcd\xc5\x69\x26\xae\xf7\x3b\x6f\x04\x8a\x86\xdf\x46\xd4\x66\xc5\x1d\x94\x71\x71\xc9\xc0\x30\xa0\xd3\xc6\xe7\x7c\x04\xdf\x30\x90\x8f\xe0\xfb\xde\x3f\xc4\xf2\x8a\x3c\x80\x69\x15\x84\x90\x41\x53\x3e\xc5\x93\xc6\xa9\xd9\x6f\x9b\x90\x4c\x77\x15\xba\x24\x23\xe3\xd4\x60\xd3\xbc\xb2\x96\x26\x97\x60\x93\xe1\xa9\xb0\x47\x3e\xa4\x94\x59\x21\xca\x4c\x24\x6d\xd9\x03\x89\xa8\x73\x48\x3d\x1e\xcc\x7e\x25\x5e\x2b\xa6\x0c\x3a\x2f\x46\x6b\x14\x5b\xb1\x98\xe6\xd0\xd3\x60\x0d\x8c\x7c\x33\xc7\x8f\xde\x81\xc2\xca\xc2\x3d\x50\x0d\x8d\x73\xc3\x5d\x02\xdc\x4c\x29\x23\x00\x28\x9b\x4a\x50\x52\x40\xe3\xcb\x45\x60\x86\x47\x5f\x3a\x45\xa3\x62\x91\x6b\xfd\x6c\x75\x6f\x82\xf9\x09\x39\x9c\xce\xfe\x08\x52\x0b\x7b\x3a\x3e\x93\x33\xfa\xa2\x55\x23\x75\xac\xe8\xa5\x98\x03\x80\xce\x10\x26\x24\xa3\x61\x4c\x8f\x67\xe4\x6a\xd4\xa4\x74\x84\x54\x91\x37\xaa\x4d\x4a\x92\xe2\xdd\xd9\xa7\xea\xda\xc2\xf1\x8d\x17\x74\x0c\xe9\x88\x00\xc1\x0a\x5f\xaf\x87\x4b\xd7\xf2\x91\x65\xb1\x73\x63\x86\x82\x77\x65\xb0\x2b\xc9\x20\x37\x81\x03\xca\x4d\x4d\x80\xc9\x61\x83\x2d\xb7\xc3\xad\x3e\x73\xed\x7d\xbe\x04\x8e\x24\x5c\x00\xa4\x35\x74\x36\x63\x16\x4b\x77\x49\x94\xbe\x7d\x1d\x02\xac\x63\xb8\xe6\x13\x63\x56\x39\xc1\x05\x1a\xc3\xa7\x83\xbf\xcb\x4f\x6a\x38\x27\x20\xf5\xb4\x61\x25\x87\x3e\x2f\x4b\xb0\x9d\xa6\xc6\x1a\x20\xbb\xc4\xac\x40\x0c\xc7\x31\xc9\x57\xd5\x89\xdb\x2d\xc7\x02\x79\x2e\x47\x81\x83\x04\x44\x54\xf5\x4b\x59\x93\xb9\x59\x9b\x52\xc2\x9a\x33\x4b\x63\xb7\x0e\x20\x6c\xbb\x04\xaa\xeb\x1c\xa1\xad\x35\x61\x4f\x97\x35\xc8\x0e\xd8\x68\x11\x68\xb3\xdc\x19\x23\x32\xb6\x23\x8e\x43\x4a\x2a\x20\x81\x26\x08\xda\xdb\xab\x26\x0d\x23\xb0\xbf\x43\x03\xb7\x5f\x28\x4a\x48\xe9\x00\xd6\x97\x21\x95\xc2\x5b\x70\x50\x01\xa3\x2e\xf1\x72\xce\x77\x5a\x62\x9f\xcd\x60\x7d\x9c\x5e\x80\x3f\x9d\x61\x8d\x54\x1e\x66\xde\x54\x9d\xcc\x34\x3e\x26\xc0\xa4\xb6\xf6\xb3\xcd\x78\x54\xa2\x3b\xd1\x1a\x5b\xd5\x14\xa3\xfb\xa5\xfd\xed\x36\x8d\x4a\x84\x0c\xcb\xe9\x06\x9d\x8b\x79\xb3\x5f\x79\x97\xc5\xd9\x59\x88\xc7\x35\x3a\x5d\x9e\x36\x56\x13\x3a\x13\x79\xe2\x8b\x2b\x90\x43\xe3\x6a\x01\x0e\x95\x67\xe3\x95\xe3\x38\xb1\xbe\x96\xc9\x69\xcc\x4c\xa6\xc7\x90\x5a\x1a\xa7\x73\x7f\x9c\xd0\x39\x86\x19\xbe\x6b\x90\x39\x76\xac\x30\x3f\x5f\x71\xdc\x78\x92\x84\x4e\xc3\x43\x15\x91\xd3\xa6\x86\x4d\x27\x87\xda\xde\x25\x9a\xd5\xd4\x3a\x71\x2c\x87\x4b\x70\x10\x9d\xc9\x18\xb5\xa5\x1d\xd4\xb8\x23\x0b\x9f\xd0\x07\xf2\xc4\x21\x3b\xb9\x77\x45\x94\x4a\x10\x29\x39\x2e\x20\x40\x13\x14\x55\x23\xf2\x4c\x8b\x71\x87\x02\x4a\x65\xc5\x72\xe4\xda\x74\xb4\x5f\xac\x9a\x02\xc0\x17\x74\x77\x1a\x35\x35\xc1\x5c\xe4\x8a\x19\xda\x61\xae\x6f\x23\x2c\xa2\x67\xe9\xe5\x4c\xd3\x39\x44\x8e\x88\xde\xda\x40\x98\x16\x79\xc8\x29\x49\xe1\xb5\x3a\x1a\x52\xc4\xf4\x14\x49\xce\xe8\x38\xc4\x1c\x7c\x32\xbf\x1c\xaa\x11\x6e\x46\x2a\x7e\x24\x19\x7b\x9d\xa9\xfa\x6a\x3f\x01\x04\x50\xe9\x30\x3c\x25\xde\x54\x4d\x93\x90\x10\xf7\xeb\x74\x1c\xea\x2b\x87\xe9\x97\xa5\x53\xda\x94\x85\xe9\x9a\xca\x12\x4c\xab\xd3\x30\xd2\x20\xb6\x86\x86\x0c\xbb\xdf\xe0\x4c\x86\xa5\x49\xde\x04\x33\x6c\x3c\x3a\x56\xc9\x14\xd1\x36\x04\xb2\xad\x42\x97\x23\x04\x20\xef\x89\x05\x28\xb1\x75\xb9\x09\x32\x8f\x12\xa8\xcb\xa4\xe9\x4f\x0c\xd1\x7a\xb9\x72\x97\xce\x44\x20\x82\x8d\x7d\x2a\xec\xb9\x2a\x30\x84\xb9\x82\x3d\xc4\x9f\x8d\x50\x99\xb5\x46\x86\xa6\x2d\xa9\xdd\xa2\x5a\x10\x2a\x37\xbb\x34\xa7\x0a\x71\xd1\xf3\x92\x0e\xc1\xe1\x12\xc2\x73\xab\x3e\x6e\x28\x88\x2a\xcc\xd4\xef\xe7\x29\x3b\x65\xbb\xb3\x2c\x28\xa5\x41\x22\x6e\x37\x3a\x55\x98\xb5\x00\x3c\x00\xed\xec\x80\xb0\xb9\xb3\x48\xee\xa4\xf8\xb0\xdf\xa9\xac\x81\xb9\xf1\x14\x13\x53\xc8\x07\x89\x51\x91\x59\xe2\x66\xbc\x48\x59\x10\x93\x60\x80\xc7\xcb\x8b\xeb\xf5\x43\xc0\x32\x2f\x8a\x04\x47\xf1\xd8\xf5\xe4\x30\xd5\x12\xc7\x0e\xd0\x75\x0d\xa7\x71\x99\x45\x2a\x61\x98\xb2\x83\x56\xc9\xca\x34\x65\x3d\x57\x34\x85\x58\x01\x56\xd6\x5c\x4e\x97\x77\x09\xe6\x9e\x77\x7b\x22\x39\x44\xc0\xa4\x18\x3e\x5f\x40\xfd\x32\xcc\xb1\x2e\x15\x55\x4c\x27\x6b\x80\x58\x07\x8c\x2d\x89\x45\x81\xd5\x2e\x05\xd2\xbd\x9f\xa2\x0c\x81\xae\x87\x0b\xd5\x50\xa0\x91\xb1\x62\x27\xee\x7c\x6c\x85\x81\xce\x32\x8b\xf9\xce\xf5\x2f\x8d\x41\xcd\x1d\x01\xca\x54\x7c\x12\x24\x92\x23\x9b\x7d\x2f\x13\xbb\x19\x01\x45\x42\xb3\x95\xcf\x04\xe9\x8f\xe3\xa9\x77\xc9\x65\x19\x72\xc2\x9c\x36\x25\x82\x88\x58\x2d\x4f\xec\x74\x82\x17\x5b\xd9\x47\x96\x52\x9d\x2d\x08\x97\xd3\x92\xb0\x1c\xc9\x63\xa7\xe2\xf2\xf5\x36\x1e\x6b\x23\x6a\x88\xcc\xa7\xd7\x75\xee\x15\xbd\x42\x67\xd4\x7a\x49\xa7\x0b\x6b\x34\xaa\x21\x1f\x9d\x3b\x6a\x25\x0e\x95\xbd\xbc\x38\x87\x40\xa8\x49\x78\xbc\xd0\x34\x27\xae\xe1\x22\xf1\x4a\x49\x9f\x2c\x79\x82\x65\xd8\x59\x19\xd6\x31\xe6\x52\x2b\xbe\x3e\x4b\xf4\x96\xf2\x7a\xd5\x63\x6a\x53\xc4\x3c\xeb\xb0\x69\x94\x34\xad\x22\xe1\x80\x6b\x8e\x9b\xcd\x32\x2c\x1c\x71\xc6\xd2\xa9\x9b\x7c\x18\x6f\x28\x78\x37\xca\xf1\xb3\xeb\x38\x1e\x30\x2f\x7c\x36\xc4\x47\xa3\x21\x7d\x91\x9b\xfc\x48\x42\x94\xb8\x9e\x8a\x34\xe3\x9f\xae\x0b\xe7\xa7\x31\xbe\xd9\x85\x4e\xe4\xca\xf2\xc1\xb4\xc6\x1b\x54\x4a\x70\x39\x41\x89\x09\xa9\x2c\x01\x1e\xea\x54\x86\x0d\x67\xab\x61\x56\x78\x8b\x60\x07\x48\x99\x43\x99\x99\xcf\xce\x0e\x36\x49\xda\xf9\x88\x03\x15\x32\x6d\xb6\xb2\x94\xa9\x72\x3f\x48\x61\x45\xc2\xf2\x6c\x4a\xa1\x3b\x97\x97\x00\x11\x0d\xc5\x06\xb4\xbe\xdf\x28\x99\x82\xd0\x61\xc6\x89\xbb\xf7\x2f\x36\x8e\x6a\xa9\xe0\x81\x9c\xd6\x0a\x9f\xe6\x35\x66\x08\xe2\xa9\xe4\x5c\x0a\xc5\xb1\xd9\x58\x50\x70\xff\x38\x5c\x8a\x3d\x6c\xb2\x5a\x71\x15\x9c\x5e\xa4\xcb\xd3\x18\xf5\x42\x69\x8b\x24\x39\x2d\x83\x4b\xa0\x12\x12\x95\xef\x25\xd2\x2a\xc7\x97\xd9\x64\xbf\x11\x4a\xbf\xbc\x14\x21\x63\x55\xca\xff\x45\xd9\x95\x2b\x3d\x8b\x2c\x59\xff\x3e\xc5\xe7\xb5\x41\xf7\x50\x02\xb1\x5d\xaf\xd8\x77\xc4\x2a\xc0\x63\x13\x02\xb1\xef\xf0\xf4\x13\xfd\xeb\x8f\x18\xe3\x4e\xc4\xf4\x18\x58\x10\x87\x82\xca\xac\x3a\x79\xea\x44\xe4\x88\x2f\xae\xda\x13\xd7\xb4\x28\x40\xf5\x8d\xba\x82\xea\x95\x4e\x2c\xfa\x5b\x5f\xa4\x23\xa7\xe3\x9e\x66\xa7\x5b\x26\xae\xae\xe2\x29\x54\x4a\x4d\xc3\xb8\xe8\x98\x20\x03\xbb\x0e\xd4\x8f\xb3\x18\xa5\xd4\xbc\x6a\x5e\x66\x77\xde\xd5\xb5\x6b\x1f\xa8\xdc\x89\x75\x24\x89\xaa\x2d\xde\x21\x1c\xe2\xe6\xd9\xfd\x66\x5f\x0b\xf0\x8e\xd5\x8d\x58\xad\xcf\x38\x78\x63\x35\xff\x50\x4a\x83\x3d\xc1\x92\xf8\xd0\xe2\xaa\xa0\xfa\x54\x8d\xff\xa9\x3a\x80\x8a\xa9\xd8\x09\x17\x7e\x1c\xb6\x2e\x19\x25\x39\x0d\x45\x1b\x32\x43\x62\xb7\x38\x75\x60\x7c\xa3\xeb\x5f\xc3\xa3\x4f\x2a\xb1\xa2\x78\xbb\xe5\x73\x53\x22\xc0\x40\x70\xfa\xc5\xb9\x67\x59\xcf\xdb\x2a\x54\x28\x5e\x62\xa7\xf9\xa0\x8d\x07\xde\x23\xdd\x86\x06\x4c\x2e\xbf\x70\x16\x66\x37\xa5\x2e\x57\x0b\x80\x1c\xb1\x06\xf9\xf5\x8a\xa6\x9d\xa8\xbe\x36\x7f\xc0\x3c\x8d\x8a\xd8\xf3\xfb\x83\xa3\x6d\x9d\x97\x43\x59\x6a\x15\x79\xba\x49\x74\x5e\xce\x96\x55\xf6\xa7\xa5\xb2\x0c\x85\xeb\xb5\x83\x6a\xae\x1e\x89\xd1\xb2\x9e\xed\x11\x71\xb1\xe5\xfb\x8b\x41\x5f\x58\x85\xee\x77\x3a\x7b\x94\xde\x37\x6c\x8c\x07\xcf\xdf\xc9\xc2\x0e\x6f\xad\x44\x91\xb4\xdb\x8e\x23\x32\x42\x51\x70\xac\x5d\xb1\x5d\xe8\xc6\x41\xce\xc2\xca\x56\xec\xb2\x54\xe8\x91\x42\x32\x14\xd6\x2e\x27\x94\x31\x5b\xb6\xa8\x57\xc6\xf8\xbc\xf4\x9b\x76\xde\x9d\x79\xfc\x5d\xd1\xb3\x46\x6d\xed\x85\xe3\x56\xe1\xdb\xb4\xc4\xdd\xa9\x00\xd7\xaa\xe9\x5b\xc0\x58\xaf\x45\xb5\x79\x30\x6d\x30\x64\x93\x11\x24\xfe\x87\xaf\x51\xf0\xea\xae\x12\x3c\x40\xdf\x7c\xc6\xf7\x8c\xdc\x13\xea\x76\xf4\x05\x04\xba\xc6\xad\xdf\x4f\x56\xa6\x77\xfb\xc2\x26\xf5\xca\x12\x26\x6b\x80\xdf\xe2\x3e\x18\xe3\x1e\x8e\xe6\x1e\x60\x04\x74\x99\x41\xc8\x3b\x88\x29\xe5\x6a\xdc\x3f\xa2\xce\x31\x44\x1a\xe9\x8f\xaa\x52\x23\xa5\x5e\x04\x85\xc6\xd9\xb2\x7c\x6a\xc9\xf0\x77\x90\x7d\x4d\x01\xb8\x80\x2d\x47\xd5\x35\x0f\xd5\x3a\x98\x8b\xfe\x50\x30\x65\x7d\x8f\x75\x9d\xcf\xd4\xd0\xcb\x86\x48\x7e\xce\x2b\x5c\xf3\x99\x87\xb7\x38\x6f\x3a\x12\x27\x99\xa6\x77\xb7\x52\xc7\x03\xc0\x2b\xdc\x64\xad\x76\xb8\xb9\xfd\xdb\x37\xbf\xec\x0b\x9b\xba\xeb\x7e\xb3\xc7\x2c\x7f\x98\x4b\x30\x3b\x92\xc0\xa6\x56\xd9\xa5\xf9\xa7\xf6\x02\xcd\x8f\x9f\xe5\x73\x74\xba\xfb\x4b\x86\xac\xd5\x07\x6c\x66\x0a\xd8\xb5\xc8\x8f\xae\xd7\x29\x13\xbe\x64\x68\xca\x2e\x9d\x3f\x2e\x01\xcc\xc7\x37\x6c\xf2\x59\xd1\xc7\x6d\x96\xa6\xb0\xcf\x04\xc9\x89\x42\xf1\x20\xa9\x97\x7f\x11\x27\x85\x31\x05\x15\xed\x77\xc8\xd7\x6b\x9b\x62\x50\xed\x9f\x23\x76\x70\xcb\xb4\xe7\x6f\xe0\xd9\xce\x45\xdd\xa3\x56\x1f\x62\x85\x91\xab\x45\xae\x3d\xee\xab\x70\x26\x40\x8b\xa1\xa9\x49\x7d\x48\xd3\x8d\xdf\x23\x03\xd7\x36\x6f\x16\xba\x91\xd1\xc2\x5a\xa0\x48\x21\xb9\x73\xbd\x79\x16\x13\x1f\xad\x7e\x2c\x3b\xe1\x5e\x8d\xd8\x23\xe9\xe8\x09\x3d\xcd\x4f\x66\xc0\x6a\xdc\x36\x64\xd8\x45\xf1\xf9\x75\xe5\x0f\xf6\x98\x36\x64\x35\x27\x63\x1f\x04\x4b\x52\xcf\xea\x8b\x05\x43\x15\xee\x9c\x50\xe5\xef\x53\x1e\x48\xf4\x21\x0f\x6b\xde\xbd\x66\xba\xe4\xdb\x7b\x0a\xa8\x23\x44\x8e\x90\xed\x84\xe7\x1d\xaf\x37\xcc\xaa\x7b\x0a\x47\x31\x70\x20\x5f\xf6\x75\x65\x77\x4a\x3c\x49\xc3\x44\x15\x2b\x8c\x91\xf8\x60\x37\x45\x20\x8b\x82\xeb\xb7\xb4\x03\x62\x78\xd5\xe1\xb8\xdc\xd7\x49\x98\x83\x46\x9a\x1f\x36\x6d\x8a\xf2\x03\x38\x0f\x34\x2f\xae\xfb\xbc\xa1\x8c\x44\xc7\xab\x46\xef\x23\xb6\x7e\x4d\xa3\xc7\xf2\x71\x66\xe4\x7e\xcf\xcc\x99\x2a\xf0\x85\xbc\x99\x42\x18\xee\x81\x12\xf8\x67\x71\xeb\x91\x17\xd2\x75\xe1\xec\xdd\xe2\x66\xda\x2b\x99\xc9\xb5\x5a\x1f\x10\x2f\x0e\xde\xbd\x63\x9e\xa8\x9a\x12\x8f\xe9\x51\x37\xe7\x0b\x5e\x7c\xf5\xa5\x73\x2f\x8c\xde\x4a\xfe\x0e\x03\x04\xae\x2e\x91\x8f\x44\xb2\xe2\xe2\xea\xa2\x0a\x50\x58\x92\xc5\x53\x83\xd2\xa9\x7d\x7e\xe2\x8a\xea\xb2\xf5\x96\x62\xcd\x0c\xca\x14\x8f\x4a\xa5\x3a\x5b\xf0\xae\x50\x53\x69\x59\x74\x20\x8c\xa1\x02\x5f\x65\xc9\x9a\x90\xbd\x60\xc7\x15\xe1\x9a\x4a\x8e\x96\x03\x9d\x56\x6e\x90\x9e\xf1\x8a\x67\x16\x8f\xba\x59\xb1\x02\xba\xea\xfd\x4a\x7c\x67\xe1\x0d\x9b\x64\xef\x04\xb6\x10\x7a\xf9\xae\x05\x7a\x40\xb1\x28\x8e\x91\xcb\x82\xbf\xe4\x6e\x6b\xbf\xd5\xa8\x63\x1b\x2b\xbd\x01\x3c\x81\x82\xa3\xd4\xde\xc9\x11\x0a\x5c\x54\x29\x2f\xd1\x99\xb2\x6a\xbd\x4d\xe5\x88\x0d\x03\x8c\xf1\x82\x85\x5c\xc5\x80\xbd\xe1\x81\x11\xc6\x8b\xb8\x4f\xca\x6e\x98\x10\xcf\xb7\x34\x93\x8e\x04\x8a\x91\xfd\xad\x02\x18\x5d\x20\x6c\x28\x2a\x94\xf9\x61\xb2\x32\x87\xa7\x55\xe8\x18\x27\x36\x2e\x1d\x3e\xa6\x94\xf7\xfb\xd8\xe3\xee\x8d\x52\x1c\x81\xa2\xee\xe0\xc1\x28\x3b\xef\x66\x6c\x70\x5c\x81\xe5\x31\x76\x59\x6e\x69\xb5\x6e\x4f\xab\x8e\x98\xee\x9b\x7a\x0f\xf6\x68\x75\x0e\x2c\x69\x86\x48\xb7\x1d\x0e\xea\xf3\x94\x0d\xcf\x4a\x8f\xac\xde\x23\x16\x81\x7a\xc9\x7a\x9c\x49\x23\x4f\x2f\x1a\x12\x60\x43\xdb\xf7\xf8\x15\x14\x32\x72\x66\xed\x40\xb0\xd6\x72\x4a\x81\xdb\x82\xe9\xce\x56\x5f\x7e\x48\xee\x51\xab\x8e\xd1\x6e\x9a\xde\x4b\x49\xc2\x79\xc6\x70\x8a\x17\x14\x27\x30\x22\xd1\xb7\x15\xa1\xeb\xf8\xdd\x92\xd8\xbd\x97\x98\xd7\xeb\xc6\x3c\x90\x25\xf4\x08\x8c\x8d\xab\x60\xe1\x1c\xdd\x25\x79\x7a\x37\xc0\xe5\x1c\xe4\x4b\xfd\x9a\x53\x50\xeb\x62\x98\x5b\x9d\x5b\xd7\x80\x87\x03\x96\x30\x55\xa0\x35\x5e\x93\x9c\xb6\xe8\xd0\xcc\x23\x7a\x78\x03\xbd\xeb\xaa\x71\xce\xf7\x45\x59\xcc\x35\x92\x09\xe4\x35\x6e\x07\x43\x45\xb2\x62\xdb\x20\xcc\x5e\xfe\xe2\xb4\x1f\xbf\xec\xbe\x52\x15\x85\xd0\xf9\xea\xf5\xb7\x29\x91\xac\xfa\x06\x1b\x16\x78\x1d\xb4\x5a\x26\x22\x2d\x9c\x08\x55\xc2\x80\xf3\xe7\x43\x37\x0b\x9d\x1a\x56\x6b\x5c\xd6\x2e\x0b\xd1\xaf\x7f\x79\xe6\x56\x57\x47\x0e\xd9\x73\x24\x0b\x79\x8d\xd8\xf9\x6f\xd8\x14\x74\x8e\xf1\x01\x49\x58\x25\x9e\x1b\x9a\xe4\xaf\xab\xef\x67\xdc\x26\x7e\xb2\x07\x44\x1f\x3b\xe7\x74\x91\xc5\x43\xb5\x87\x38\xcc\x4d\xe7\xbc\x25\x9d\x04\x59\x0e\x52\x16\xb3\xc9\x7f\xdf\xcb\xa7\x83\xbe\xcf\x79\xc9\xae\xe9\x37\x97\x89\x29\x22\x14\x2e\xb9\xb7\x28\xed\x7e\x6e\x45\x67\x78\x36\x00\x10\x2b\x25\x9a\x4d\x35\x2b\xe3\xd8\x76\xb8\x4a\xe8\x96\xf5\xfd\x6e\x50\x08\xda\x27\xea\x2b\x1c\xda\x97\x83\x2f\xc4\x71\x02\x0a\x3e\x67\x5f\x7c\xfb\x8a\xd3\x9c\xc5\x17\x30\xb3\xb2\xbc\x60\xac\x21\x90\xd5\x32\x79\x76\x84\x98\xec\xef\x72\xd4\x5f\xef\x4f\x6b\xd5\x05\x46\x76\x71\xeb\x9c\x47\x68\x2f\xc5\xa3\x7d\xf9\xf8\x11\xf4\xe2\xd0\xa6\x25\xf6\x88\x16\xe3\x79\x9b\x26\x12\xc1\x8b\x22\x24\x06\x2b\x19\xbf\x0b\x6c\x79\x3e\x55\xf7\x2d\x7f\x54\x66\x38\x30\x86\x72\xc2\x3c\xef\xe6\xaa\x7a\xa6\xdc\xbe\xea\x1b\xe1\x57\x2a\x93\x84\x68\x1a\xb9\x6c\x23\x50\x5d\x40\x58\x51\x81\xe5\x70\xe4\x21\x85\x51\x57\xc3\xdc\x67\x42\x81\xb1\xab\xf4\xda\xc6\x7c\x33\x45\x69\xe5\x05\x9b\x4c\x6a\xe0\x67\xca\xbc\xa3\x0d\xf1\x0c\x14\xab\x98\x9d\x5d\xa6\xbd\x74\xc6\xc6\x72\xdf\xc2\x8a\x5c\xb5\x89\x79\xb0\xc8\x4a\xaf\x75\xdf\xba\x85\xd6\xf4\x5d\x2c\x01\xa7\x75\x1a\x12\x66\x0f\x39\xf3\xa0\xcd\xd1\xbf\xed\x33\xe8\x2a\x09\x29\xe1\x3c\xbc\xfe\x7d\x27\x6b\x3c\x7d\x73\x47\x86\xbf\x4b\x9c\x61\xcb\x8e\xe9\xd2\x79\x7f\x0c\x01\xab\x11\xb8\x30\xc5\x0e\xb6\x8c\x56\x80\x13\x74\x11\x1c\xf7\x10\xdb\x2f\xc7\x39\x30\xed\x06\xf0\xf1\x86\x9d\x42\xf8\x15\x31\x08\x76\xcb\xa6\x93\x61\x94\x7b\xb1\xaf\x0a\xf1\x89\xf2\xb9\x26\x5d\xc5\x3a\x02\xa2\x6f\x43\x6b\x1f\xde\x2e\xb9\xd6\x7d\xf9\x36\xf8\x1d\x08\x70\x0b\x85\xad\x77\x4b\xef\x05\xb5\xe9\x95\xf8\x06\x64\x44\x50\xdb\x54\x8e\xe7\x78\xf6\x55\x89\x3f\xa0\xab\x7b\x1b\x61\x52\x1a\x37\x2b\x0d\x04\x5e\x27\x17\x5d\x6e\x8d\x79\xa7\xe7\x8a\x12\x51\x1a\x1e\xa9\xc0\xa4\x87\xa1\xa8\x8e\xb4\xc8\x8c\xa8\x3a\xc4\x41\x4e\x4c\x5e\x41\x5a\x1f\x74\xf8\x90\x37\x74\xc2\x74\x88\x79\xa8\xbf\x75\x9b\xb5\xde\x28\x80\x83\xdc\xa2\xa3\x4d\xd6\x6f\xed\x44\x5f\xcf\x39\x62\x9b\x78\x8a\xcf\xd6\x73\xb5\xc4\x6f\x6c\x53\x87\x41\x8f\x6e\xed\x31\x2b\x07\x17\x80\x45\x2f\xd4\x6b\xa6\xb0\xb4\xa7\x61\xda\xbb\x32\x75\x1b\xa7\xde\x5d\xbe\xae\x2b\x97\x5e\x09\x92\x7a\x5c\xa7\x46\x93\x12\xd3\x1f\x38\x76\xd6\xcf\x5b\xe3\x93\xe8\xec\x4d\x91\xf8\x6e\xed\xf1\x19\xbb\x52\xee\xb6\xf1\x38\x04\x71\x33\x06\xb8\x72\x65\xc7\x27\x26\x8b\xcd\x7b\x8a\x43\x91\x3e\x5b\x0f\x43\x96\x9a\x34\xbe\xb3\x4c\x91\xd6\x92\xa7\xae\x4e\xde\xca\xf3\xe2\x43\xaf\x89\xc1\x5b\x13\x18\x9b\x99\x04\x69\x9a\x34\x7a\x15\xf4\x22\xbb\x05\x19\x92\x66\xaa\xb2\xbd\x9c\xfd\x34\x6e\xfb\x50\x4d\x27\x36\xfb\x44\x3f\x6c\xce\x18\x2d\x5c\xb6\xfa\x1a\xeb\x7e\xf7\x14\x35\xb2\x5f\xa8\x7d\x65\x62\x08\x38\xc7\x04\x4e\x46\xe7\x8f\x8e\x27\x46\x35\xa6\xfa\x4f\xa0\x71\x72\x94\xd3\x01\x46\xa1\x8e\x93\x19\x4c\x09\x61\xb1\x67\x28\x96\xce\xba\x8c\x48\x1d\xf7\x42\xc2\x01\x7d\xb4\xe2\x2c\x2e\x02\xbb\x7e\x33\x45\x1f\xe7\x99\xee\x3d\x25\x64\x9a\xcb\x17\x39\x5b\x65\x26\x58\xd5\x4e\xc0\x60\xc1\x52\x7b\x87\x7c\x8e\xeb\x38\x68\x97\x5e\x77\x88\xb8\x22\xc7\xac\x9d\xbe\x7e\xe9\xd7\x79\xbc\xd7\xb0\xfb\xb8\xa6\x4e\x92\xcf\x2e\x72\x58\x44\xeb\xbe\x1b\x3d\x6f\x9e\xb9\xfc\x40\xf3\xf8\x1a\x38\x9f\x7a\x3e\xfd\x15\x4a\xd7\xb1\xd7\x5b\x13\xc5\x4c\xa6\x3f\xdb\x7b\x96\x1e\x86\x3f\xf0\xd8\xf6\x19\xed\xeb\xfa\x04\xbb\xe0\x2b\x1c\x25\xa5\x68\x15\xda\x5b\x71\xe1\x2f\x37\x6a\x9e\x0e\x88\xe2\xef\xa4\xac\xbe\xbf\x7d\x22\x79\xbf\x13\x38\xa2\x4a\x1a\x23\x68\xb9\x37\xe5\x1e\xe0\x53\xcc\x7b\x32\x9c\x45\xf2\x85\xe4\x9e\x6f\xb9\x58\x9e\x61\x30\x5a\xaf\x2d\x84\x23\xd5\x82\x2d\x62\x8e\x8d\x7d\x22\x18\xed\x6c\x2a\x7e\x96\x8f\x7b\x96\xe0\xbf\x00\xb5\x6c\x50\x7d\x9f\xda\x05\x07\x0d\xa0\xcd\x8e\x1a\x26\xa3\xbc\x13\x23\xef\x79\xe0\x0b\xfa\x26\x44\xda\x6c\xcf\x71\x70\x0b\x4a\xaa\xd7\x4c\xad\x3e\xa5\xa2\x9c\x43\x73\x15\x2d\x01\x07\x58\xb4\x4f\xa8\x44\x8b\x05\x36\x8c\xf7\xd7\x77\x81\x55\x5e\x71\x6b\x6f\x75\x2a\xa7\x31\x09\xa5\x8b\x37\xdb\xef\x85\x1d\x1e\x22\x23\x84\xef\x51\xde\x79\x64\x98\x0c\x21\x84\x6a\xe8\x88\x4f\xd9\xf9\x44\xa1\xd3\x58\xad\x79\xc6\x4f\x11\xc4\x36\x3c\x0d\x5e\xc0\x74\x0f\x7e\x75\x6c\xdd\x33\xf6\x80\x17\x0e\xab\xf6\x77\xab\x86\xa7\xee\x41\x60\xd5\x70\xb7\x12\xf7\xc3\x95\x10\x42\x2e\x00\x4e\xf0\x06\xb1\x24\x82\xd8\x1b\x96\x14\x73\x86\xb8\xfb\x40\xa3\x86\x87\x71\x82\xc3\x70\xc1\x6e\x04\xf6\x61\xf0\xfd\x97\x12\x5b\x7c\x7f\x9a\x1c\xd8\x4d\xbe\xdf\x0d\x33\x4d\x68\xf6\xd7\xd1\x3c\x74\xfd\xc0\x72\x34\x82\x8b\x14\xe5\x9f\x9c\x8e\x67\x7d\x97\x25\x0b\x9a\x27\x4b\xf1\xc7\x9f\x3f\x7f\x2c\xc5\xb1\xa0\x43\x93\x54\xdd\x1f\x7f\xfe\xeb\x0f\xa3\xef\xfe\xfc\xc1\x6e\x3f\x70\x2d\x7f\x30\x70\xa3\x7e\x00\xf9\xef\xdb\xfd\xdf\x77\xf2\x07\x01\xe0\x77\x99\xfd\x7f\xc0\xff\xea\x0f\xd0\xf4\x25\xba\x15\xd3\x5c\xf5\xdd\x7f\xbe\xe4\xf6\x5f\xd4\xff\x0f\xe9\x7f\x1f\xeb\xdf\xe3\xfb\x0b\xd0\x7f\xdd\xc8\x7f\x00\x56\x56\x0b\x2a\x0b\x90\xff\x4f\x98\xb2\x5a\x7e\xa6\x62\xfb\xeb\x57\x83\xf8\x9f\x5f\xcf\xfc\x0f\xdc\xbf\xfe\x3b\x00\x00\xff\xff\x0b\x77\xc8\x76\xcb\x85\x08\x00") - -func staticJsHtermJsBytes() ([]byte, error) { - return bindataRead( - _staticJsHtermJs, - "static/js/hterm.js", - ) -} - -func staticJsHtermJs() (*asset, error) { - bytes, err := staticJsHtermJsBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "static/js/hterm.js", size: 558539, mode: os.FileMode(292), modTime: time.Unix(1503296087, 0)} + info := bindataFileInfo{name: "static/js/bundle.js", size: 773429, mode: os.FileMode(436), modTime: time.Unix(1503385077, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -272,7 +251,6 @@ var _bindata = map[string]func() (*asset, error){ "static/favicon.png": staticFaviconPng, "static/index.html": staticIndexHtml, "static/js/bundle.js": staticJsBundleJs, - "static/js/hterm.js": staticJsHtermJs, } // AssetDir returns the file names below a certain @@ -326,7 +304,6 @@ var _bintree = &bintree{nil, map[string]*bintree{ "index.html": &bintree{staticIndexHtml, map[string]*bintree{}}, "js": &bintree{nil, map[string]*bintree{ "bundle.js": &bintree{staticJsBundleJs, map[string]*bintree{}}, - "hterm.js": &bintree{staticJsHtermJs, map[string]*bintree{}}, }}, }}, }} From 27b6436196ffe1efe504b196e8b32507501f32d1 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Tue, 22 Aug 2017 15:59:24 +0900 Subject: [PATCH 59/82] Rename TermXterm and TermHterm to Xterm and Hterm --- js/dist/bundle.js | 64 +++++++++++++++++++++---------------------- js/dist/bundle.js.map | 2 +- js/dist/hterm.d.ts | 2 +- js/dist/xterm.d.ts | 2 +- js/src/hterm.ts | 2 +- js/src/main.ts | 8 +++--- js/src/xterm.ts | 2 +- 7 files changed, 41 insertions(+), 41 deletions(-) diff --git a/js/dist/bundle.js b/js/dist/bundle.js index a08d20a..de2d71a 100644 --- a/js/dist/bundle.js +++ b/js/dist/bundle.js @@ -2479,8 +2479,8 @@ exports.getRawByteCoords = getRawByteCoords; Object.defineProperty(exports, "__esModule", { value: true }); var bare = __webpack_require__(14); -var TermHterm = (function () { - function TermHterm(elem) { +var Hterm = (function () { + function Hterm(elem) { this.elem = elem; bare.hterm.defaultStorage = new bare.lib.Storage.Memory(); this.term = new bare.hterm.Terminal(); @@ -2490,17 +2490,17 @@ var TermHterm = (function () { this.term.installKeyboard(); } ; - TermHterm.prototype.info = function () { + Hterm.prototype.info = function () { return { columns: this.columns, rows: this.rows }; }; ; - TermHterm.prototype.output = function (data) { + Hterm.prototype.output = function (data) { if (this.term.io != null) { this.term.io.writeUTF16(data); } }; ; - TermHterm.prototype.showMessage = function (message, timeout) { + Hterm.prototype.showMessage = function (message, timeout) { this.message = message; if (timeout > 0) { this.term.io.showOverlay(message, timeout); @@ -2510,22 +2510,22 @@ var TermHterm = (function () { } }; ; - TermHterm.prototype.removeMessage = function () { + Hterm.prototype.removeMessage = function () { // there is no hideOverlay(), so show the same message with 0 sec this.term.io.showOverlay(this.message, 0); }; - TermHterm.prototype.setWindowTitle = function (title) { + Hterm.prototype.setWindowTitle = function (title) { this.term.setWindowTitle(title); }; ; - TermHterm.prototype.setPreferences = function (value) { + Hterm.prototype.setPreferences = function (value) { var _this = this; Object.keys(value).forEach(function (key) { _this.term.getPrefs().set(key, value[key]); }); }; ; - TermHterm.prototype.onInput = function (callback) { + Hterm.prototype.onInput = function (callback) { this.io.onVTKeystroke = function (data) { callback(data); }; @@ -2534,7 +2534,7 @@ var TermHterm = (function () { }; }; ; - TermHterm.prototype.onResize = function (callback) { + Hterm.prototype.onResize = function (callback) { var _this = this; this.io.onTerminalResize = function (columns, rows) { _this.columns = columns; @@ -2543,22 +2543,22 @@ var TermHterm = (function () { }; }; ; - TermHterm.prototype.deactivate = function () { + Hterm.prototype.deactivate = function () { this.io.onVTKeystroke = null; this.io.sendString = null; this.io.onTerminalResize = null; this.term.uninstallKeyboard(); }; - TermHterm.prototype.reset = function () { + Hterm.prototype.reset = function () { this.removeMessage(); this.term.installKeyboard(); }; - TermHterm.prototype.close = function () { + Hterm.prototype.close = function () { this.term.uninstallKeyboard(); }; - return TermHterm; + return Hterm; }()); -exports.TermHterm = TermHterm; +exports.Hterm = Hterm; /***/ }), @@ -2741,8 +2741,8 @@ exports.WebTTY = WebTTY; Object.defineProperty(exports, "__esModule", { value: true }); var bare = __webpack_require__(0); bare.loadAddon("fit"); -var TermXterm = (function () { - function TermXterm(elem) { +var Xterm = (function () { + function Xterm(elem) { var _this = this; this.elem = elem; this.term = new bare(); @@ -2761,15 +2761,15 @@ var TermXterm = (function () { this.term.open(elem, true); } ; - TermXterm.prototype.info = function () { + Xterm.prototype.info = function () { return { columns: this.term.cols, rows: this.term.rows }; }; ; - TermXterm.prototype.output = function (data) { + Xterm.prototype.output = function (data) { this.term.write(data); }; ; - TermXterm.prototype.showMessage = function (message, timeout) { + Xterm.prototype.showMessage = function (message, timeout) { var _this = this; this.message.textContent = message; this.elem.appendChild(this.message); @@ -2783,46 +2783,46 @@ var TermXterm = (function () { } }; ; - TermXterm.prototype.removeMessage = function () { + Xterm.prototype.removeMessage = function () { if (this.message.parentNode == this.elem) { this.elem.removeChild(this.message); } }; - TermXterm.prototype.setWindowTitle = function (title) { + Xterm.prototype.setWindowTitle = function (title) { document.title = title; }; ; - TermXterm.prototype.setPreferences = function (value) { + Xterm.prototype.setPreferences = function (value) { }; ; - TermXterm.prototype.onInput = function (callback) { + Xterm.prototype.onInput = function (callback) { this.term.on("data", function (data) { callback(data); }); }; ; - TermXterm.prototype.onResize = function (callback) { + Xterm.prototype.onResize = function (callback) { this.term.on("resize", function (data) { callback(data.cols, data.rows); }); }; ; - TermXterm.prototype.deactivate = function () { + Xterm.prototype.deactivate = function () { this.term.off("data"); this.term.off("resize"); this.term.blur(); }; - TermXterm.prototype.reset = function () { + Xterm.prototype.reset = function () { this.removeMessage(); this.term.clear(); }; - TermXterm.prototype.close = function () { + Xterm.prototype.close = function () { window.removeEventListener("resize", this.resizeListener); this.term.destroy(); }; - return TermXterm; + return Xterm; }()); -exports.TermXterm = TermXterm; +exports.Xterm = Xterm; /***/ }), @@ -20831,10 +20831,10 @@ var elem = document.getElementById("terminal"); if (elem !== null) { var term; if (gotty_term == "hterm") { - term = new hterm_1.TermHterm(elem); + term = new hterm_1.Hterm(elem); } else { - term = new xterm_1.TermXterm(elem); + term = new xterm_1.Xterm(elem); } var httpsEnabled = window.location.protocol == "https:"; var url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws'; diff --git a/js/dist/bundle.js.map b/js/dist/bundle.js.map index 3457893..7b54e57 100644 --- a/js/dist/bundle.js.map +++ b/js/dist/bundle.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap d143500d12edcad940e0","webpack:///./~/xterm/lib/xterm.js","webpack:///./~/xterm/lib/EventEmitter.js","webpack:///./~/xterm/lib/EscapeSequences.js","webpack:///./~/xterm/lib/Charsets.js","webpack:///./~/xterm/lib/addons/attach/attach.js","webpack:///./~/xterm/lib/addons/fit/fit.js","webpack:///./~/xterm/lib/addons/fullscreen/fullscreen.js","webpack:///./~/xterm/lib/addons/terminado/terminado.js","webpack:///./~/xterm/lib/utils/Browser.js","webpack:///./~/xterm/lib/utils/Mouse.js","webpack:///./src/hterm.ts","webpack:///./src/websocket.ts","webpack:///./src/webtty.ts","webpack:///./src/xterm.ts","webpack:///./~/libapps/hterm/dist/js/hterm_module.js","webpack:///./src/main.ts","webpack:///./~/xterm/lib/CompositionHelper.js","webpack:///./~/xterm/lib/InputHandler.js","webpack:///./~/xterm/lib/Linkifier.js","webpack:///./~/xterm/lib/Parser.js","webpack:///./~/xterm/lib/Renderer.js","webpack:///./~/xterm/lib/SelectionManager.js","webpack:///./~/xterm/lib/SelectionModel.js","webpack:///./~/xterm/lib/Viewport.js","webpack:///./~/xterm/lib/addons ^\\.\\/.*$","webpack:///./~/xterm/lib/addons/attach/package.json","webpack:///./~/xterm/lib/addons/fit/package.json","webpack:///./~/xterm/lib/addons/fullscreen/package.json","webpack:///./~/xterm/lib/addons/terminado/package.json","webpack:///./~/xterm/lib/handlers/Clipboard.js","webpack:///./~/xterm/lib/utils/CharMeasure.js","webpack:///./~/xterm/lib/utils/CircularList.js","webpack:///./~/xterm/lib/utils/DomElementObjectPool.js","webpack:///./~/xterm/lib/utils/Generic.js"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AChEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA,UAAU,QAAQ;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gDAAgD,8CAA8C;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,KAAK;AACL;AACA,2BAA2B,iBAAiB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,mCAAmC,yCAAyC,EAAE;AAC9E,iEAAiE,yCAAyC,EAAE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,4CAA4C;AACtE,iCAAiC,wCAAwC;AACzE,gCAAgC,0CAA0C;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,cAAc;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,wHAAwH;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,wHAAwH;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,mCAAmC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,6BAA6B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5lDA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC1DA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,qCAAqC;AACtC;;AAEA;;;;;;;;ACzCA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;;;;;;;AChKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;AC7HD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B;AAC/B;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;;AAEA,gBAAgB;AAChB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;ACrFD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;ACjDD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;ACtID;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,mBAAmB;AAC9B,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,EAAE,WAAW,EAAE,WAAW,EAAE;;AAEjD;AACA;AACA,2BAA2B,IAAI,YAAY,IAAI;AAC/C,eAAe,IAAI;AACnB;;AAEA;AACA;AACA;AACA,iBAAiB,IAAI,YAAY,IAAI,YAAY,IAAI;AACrD;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,IAAI,YAAY,IAAI,YAAY,IAAI;AACrD;AACA;;AAEA;AACA,6BAA6B,IAAI,aAAa,IAAI,aAAa,IAAI;;AAEnE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,gBAAgB;AAChB,iBAAiB;AACjB,kBAAkB;AAClB,iBAAiB;AACjB;;AAEA,kDAAkD,gBAAgB;AAClE;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2CAA2C,iCAAiC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,IAAI;AACf;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,4BAA4B,uBAAuB;AACnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA,oBAAoB,+BAA+B;;AAEnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,sBAAsB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,kBAAkB;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,8CAA8C;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,8CAA8C;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,0BAA0B;;AAE9C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,wCAAwC;AACnD;AACA;AACA,WAAW,8CAA8C;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB,kCAAkC;AACnD;;AAEA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS,kBAAkB,aAAa,WAAW,kBAAkB;AAC9E;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,YAAY,OAAO;AACnB;AACA;AACA;AACA,aAAa;AACb,eAAe;AACf,cAAc;AACd;;AAEA,iBAAiB,cAAc;AAC/B;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,iBAAiB,cAAc;AAC/B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,iBAAiB,uBAAuB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA,uBAAuB,qDAAqD;AAC5E;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;AACA;AACA;;AAEA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;;AAEA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;AACA;AACA;;AAEA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;;AAEZ;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,SAAS;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,qBAAqB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS;AACtC;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,WAAW,OAAO;AAClB;AACA,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA,YAAY,IAAI;AAChB;AACA;AACA;AACA;;AAEA,iBAAiB,6CAA6C;AAC9D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA,WAAW,qBAAqB;AAChC;AACA,WAAW,qBAAqB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD,2BAA2B;AAC3E;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ,kDAAkD;AACtE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;;AAEA,iCAAiC,yBAAyB;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC,cAAc;AAClD,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL,sCAAsC,eAAe;AACrD;AACA;AACA,CAAC;;AAED;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6DAA6D,eAAe;;AAE5E;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC,eAAe,OAAO;AACtB,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,0BAA0B,wCAAwC,EAAE;AAC3E;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,0CAA0C,uBAAuB;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,0BAA0B;AAC1B,qBAAqB;AACrB,8BAA8B;AAC9B,gBAAgB;AAChB,gBAAgB;AAChB,kBAAkB;AAClB,mBAAmB;AACnB,uBAAuB;AACvB,uBAAuB;AACvB,uEAAuE;AACvE,qEAAqE;;AAErE;AACA;AACA;AACA;AACA,uBAAuB;AACvB,mCAAmC;AACnC,sCAAsC;AACtC,uEAAuE;AACvE,4DAA4D;AAC5D,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B,2BAA2B;AAC3B,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,eAAe;;AAEf;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,WAAW,iCAAiC;AAC5C,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,mDAAmD;AACnD;AACA;AACA,oBAAoB,0BAA0B;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;;AAEpB;AACA,iBAAiB,yBAAyB,uBAAuB;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,0CAA0C;AACrE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC,WAAW,0BAA0B;AACrC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,YAAY;;AAEZ;AACA,YAAY;;AAEZ;AACA,YAAY;;;AAGZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,EAAE;AAChD;AACA,KAAK;AACL;AACA,8CAA8C,EAAE;AAChD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,+CAA+C;AAC/C,GAAG;AACH,yBAAyB;AACzB,GAAG;AACH,qBAAqB;AACrB,GAAG;AACH,qBAAqB;AACrB,GAAG;AACH,sBAAsB;AACtB,GAAG;AACH,mBAAmB;AACnB,GAAG;AACH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,KAAK;AACb,oBAAoB;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sDAAsD,yBAAyB;AAC/E;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,oBAAoB;AAC/B;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,MAAM;AAClB;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB,oBAAoB;AACpB,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB,oBAAoB;AACpB,oBAAoB;AACpB,mBAAmB;AACnB,wBAAwB;AACxB,+CAA+C;AAC/C,iCAAiC;AACjC,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd,wBAAwB;AACxB,8CAA8C;AAC9C,mDAAmD;AACnD,QAAQ;AACR;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,sBAAsB;AACtB,8BAA8B;AAC9B,uBAAuB;AACvB,oCAAoC;AACpC,oBAAoB;AACpB,0BAA0B,oBAAoB;AAC9C,wBAAwB;AACxB,mBAAmB;AACnB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,uBAAuB;AACvB,wBAAwB;AACxB,iCAAiC;AACjC,8BAA8B;AAC9B;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB,wBAAwB;AACxB,4CAA4C;AAC5C,wBAAwB;;AAExB;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,cAAc;AACd,eAAe;AACf;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,iBAAiB;AACjB,gBAAgB;AAChB,eAAe;AACf,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,gBAAgB;AAChB,iBAAiB;AACjB,4BAA4B;AAC5B,iCAAiC;AACjC,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,yBAAyB,6BAA6B;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,mBAAmB;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B,gCAAgC;AAC7D;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,8DAA8D;AAC9D;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,8BAA8B,wBAAwB,EAAE;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA,SAAS,WAAW,EAAE,KAAK;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C;AAC7C;AACA,8BAA8B;AAC9B,GAAG;AACH,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,2CAA2C,QAAQ;AACnD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,kDAAkD,cAAc;;AAEhE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC,iCAAiC;AACjC,mDAAmD;AACnD,4BAA4B;AAC5B,8BAA8B;AAC9B,SAAS;AACT,kBAAkB;AAClB,gCAAgC;AAChC,6BAA6B;AAC7B,uDAAuD;AACvD,oDAAoD;AACpD,SAAS;AACT,eAAe;AACf,iFAAiF;AACjF,mFAAmF;AACnF,uCAAuC;AACvC,uCAAuC;AACvC,4CAA4C;AAC5C,0CAA0C;AAC1C,gDAAgD;AAChD,qEAAqE;AACrE,SAAS;AACT,0BAA0B;AAC1B,gBAAgB,cAAc,EAAE;AAChC,cAAc,cAAc,EAAE;AAC9B,SAAS;AACT,qBAAqB;AACrB,gCAAgC;AAChC,+DAA+D;AAC/D,8CAA8C;AAC9C,iDAAiD;AACjD,yCAAyC;AACzC,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,iFAAiF;AACjF,iFAAiF;AACjF,uBAAuB;AACvB,2CAA2C;AAC3C,6CAA6C;AAC7C,mEAAmE;AACnE,gEAAgE;;AAEhE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,mBAAmB;AACnB,uBAAuB;AACvB,oBAAoB;AACpB,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB;AACA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,mBAAmB,mBAAmB;AACtC;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA,mBAAmB,8BAA8B;AACjD,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B,gCAAgC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,6BAA6B;AACtC,SAAS,qCAAqC;AAC9C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB,mCAAmC;AACnC,0BAA0B;AAC1B,4BAA4B;AAC5B,uBAAuB;AACvB,0CAA0C;AAC1C,oBAAoB;AACpB,sBAAsB;AACtB,4BAA4B;AAC5B,wCAAwC;AACxC,mCAAmC;AACnC,qCAAqC;AACrC,gCAAgC;;AAEhC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B,uBAAuB;AACvB,0CAA0C;AAC1C,4BAA4B;AAC5B,mCAAmC;AACnC,mDAAmD;AACnD,gCAAgC;AAChC,gDAAgD;;AAEhD;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,8BAA8B;AAC9B,0BAA0B;AAC1B;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,4BAA4B,WAAW;AACvC,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,qBAAqB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,IAAI;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,GAAG,kBAAkB;AACrB;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,GAAG;AACH;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,GAAG,uBAAuB;AAC1B;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC,UAAU,OAAO;AACvD;AACA,wCAAwC;;AAExC;AACA;AACA;;AAEA,0BAA0B,wBAAwB;AAClD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC,yBAAyB;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,uDAAuD;AACvD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA;AACA,gBAAgB,MAAM;AACtB;AACA,0CAA0C,GAAG,IAAI,KAAK;AACtD;AACA;AACA;AACA;AACA,oBAAoB,gCAAgC;AACpD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,IAAI;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;;AAEA;AACA,qBAAqB;AACrB;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,sBAAsB;AAC7B;AACA;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,OAAO;AACP;;AAEA,OAAO;AACP;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC,0BAA0B;AACnE;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C,oBAAoB;AAC9D;AACA;AACA;AACA,6CAA6C,IAAI,IAAI;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH,0CAA0C,EAAE,EAAE;AAC9C,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,sBAAsB;AACjC;AACA;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,4BAA4B;AAC5B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;AACL,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC9jjBA,sCAAoC;AACpC,sCAAoC;AACpC,uCAAuD;AACvD,0CAAgD;AAMhD,IAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;AAEhD,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;IAChB,IAAI,IAAc,CAAC;IACnB,EAAE,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC;QACxB,IAAI,GAAG,IAAI,iBAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,IAAI,GAAG,IAAI,iBAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,IAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAC1D,IAAM,GAAG,GAAG,CAAC,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzG,IAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IACpC,IAAM,OAAO,GAAG,IAAI,6BAAiB,CAAC,GAAG,EAAE,kBAAS,CAAC,CAAC;IACtD,IAAM,EAAE,GAAG,IAAI,eAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC7D,IAAM,QAAM,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAEzB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAC9B,QAAM,EAAE,CAAC;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC;AAAA,CAAC;;;;;;;;AC7BF;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,8CAA8C,EAAE;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC5HA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,uDAAuD,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,yBAAyB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,IAAI;AACxE;AACA;AACA,qEAAqE,GAAG;AACxE;AACA;AACA;AACA;AACA;AACA,qEAAqE,MAAM;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,GAAG,qBAAqB;;AAEzB;;;;;;;;ACx6BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B,sBAAsB,IAAI,KAAK,EAAE,IAAI,IAAI;AACzC;AACA,wBAAwB,IAAI;AAC5B;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,gBAAgB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,mCAAmC,yBAAyB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,4BAA4B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;;;;;;;ACzOA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA,2EAA2E,uBAAuB;AAClG,0EAA0E,2BAA2B;AACrG;AACA;AACA,0EAA0E,iCAAiC;AAC3G,0EAA0E,4BAA4B;AACtG,0EAA0E,sBAAsB;AAChG,0EAA0E,2BAA2B;AACrG,0EAA0E,0BAA0B;AACpG,2EAA2E,6CAA6C;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,4CAA4C;AAC/G;AACA,+CAA+C,8BAA8B;AAC7E,+CAA+C,8BAA8B;AAC7E,+CAA+C,8BAA8B;AAC7E,+CAA+C,gDAAgD;AAC/F,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,+BAA+B;AAC9E,+CAA+C,+BAA+B;AAC9E,+CAA+C,+BAA+B;AAC9E,gDAAgD,gCAAgC;AAChF,uBAAuB,wBAAwB,+BAA+B;AAC9E,oEAAoE,4CAA4C;AAChH;AACA,2DAA2D,oCAAoC;AAC/F,2DAA2D,iCAAiC;AAC5F,2DAA2D,mCAAmC;AAC9F,2DAA2D,sCAAsC;AACjG,2DAA2D,uCAAuC;AAClG,2DAA2D,uCAAuC;AAClG,2DAA2D,4CAA4C;AACvG,2DAA2D,2CAA2C;AACtG,2DAA2D,uCAAuC;AAClG,2DAA2D,yCAAyC;AACpG,2DAA2D,uCAAuC;AAClG,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,iCAAiC;AAC5F;AACA;AACA;AACA;AACA;AACA,2DAA2D,mCAAmC;AAC9F,2DAA2D,0CAA0C;AACrG,2DAA2D,wCAAwC;AACnG,2DAA2D,0CAA0C;AACrG,2DAA2D,iDAAiD;AAC5G,2DAA2D,6CAA6C;AACxG,2DAA2D,wCAAwC;AACnG,2DAA2D,0CAA0C;AACrG,2DAA2D,mCAAmC;AAC9F,2DAA2D,iCAAiC;AAC5F,2DAA2D,gCAAgC;AAC3F,2DAA2D,kCAAkC;AAC7F,2DAA2D,uCAAuC;AAClG,2DAA2D,qCAAqC;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,wCAAwC;AAC3F,mDAAmD,mCAAmC;AACtF,mDAAmD,sCAAsC;AACzF,iGAAiG,4CAA4C;AAC7I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC7dA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sBAAsB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,yBAAyB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mCAAmC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,0DAA0D;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrRA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,8BAA8B;AACpF,oDAAoD,kCAAkC;AACtF,oDAAoD,kCAAkC;AACtF,kDAAkD,gCAAgC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,iBAAiB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAoF,yBAAyB,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6EAA6E;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,4BAA4B,EAAE;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;ACrZA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;ACxEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uB;;;;;;AC7BA,kBAAkB,wD;;;;;;ACAlB,kBAAkB,kD;;;;;;;;;;;;ACAlB,kBAAkB,gE;;;;;;ACAlB,kBAAkB,8D;;;;;;;ACAlB;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpEA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,2BAA2B,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AClEA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,2BAA2B,yCAAyC;AACpE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,0CAA0C,eAAe;AACzD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,+BAA+B,gCAAgC;AAC/D;AACA;AACA;AACA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AClKA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;;;;;;;AC5CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;;AAEA","file":"./dist/bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 15);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap d143500d12edcad940e0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CompositionHelper_1 = require(\"./CompositionHelper\");\nvar EventEmitter_1 = require(\"./EventEmitter\");\nvar Viewport_1 = require(\"./Viewport\");\nvar Clipboard_1 = require(\"./handlers/Clipboard\");\nvar CircularList_1 = require(\"./utils/CircularList\");\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar InputHandler_1 = require(\"./InputHandler\");\nvar Parser_1 = require(\"./Parser\");\nvar Renderer_1 = require(\"./Renderer\");\nvar Linkifier_1 = require(\"./Linkifier\");\nvar SelectionManager_1 = require(\"./SelectionManager\");\nvar CharMeasure_1 = require(\"./utils/CharMeasure\");\nvar Browser = require(\"./utils/Browser\");\nvar Mouse_1 = require(\"./utils/Mouse\");\nvar document = (typeof window != 'undefined') ? window.document : null;\nvar WRITE_BUFFER_PAUSE_THRESHOLD = 5;\nvar WRITE_BATCH_SIZE = 300;\nvar CURSOR_BLINK_INTERVAL = 600;\nfunction Terminal(options) {\n var self = this;\n if (!(this instanceof Terminal)) {\n return new Terminal(arguments[0], arguments[1], arguments[2]);\n }\n self.browser = Browser;\n self.cancel = Terminal.cancel;\n EventEmitter_1.EventEmitter.call(this);\n if (typeof options === 'number') {\n options = {\n cols: arguments[0],\n rows: arguments[1],\n handler: arguments[2]\n };\n }\n options = options || {};\n Object.keys(Terminal.defaults).forEach(function (key) {\n if (options[key] == null) {\n options[key] = Terminal.options[key];\n if (Terminal[key] !== Terminal.defaults[key]) {\n options[key] = Terminal[key];\n }\n }\n self[key] = options[key];\n });\n if (options.colors.length === 8) {\n options.colors = options.colors.concat(Terminal._colors.slice(8));\n }\n else if (options.colors.length === 16) {\n options.colors = options.colors.concat(Terminal._colors.slice(16));\n }\n else if (options.colors.length === 10) {\n options.colors = options.colors.slice(0, -2).concat(Terminal._colors.slice(8, -2), options.colors.slice(-2));\n }\n else if (options.colors.length === 18) {\n options.colors = options.colors.concat(Terminal._colors.slice(16, -2), options.colors.slice(-2));\n }\n this.colors = options.colors;\n this.options = options;\n this.parent = options.body || options.parent || (document ? document.getElementsByTagName('body')[0] : null);\n this.cols = options.cols || options.geometry[0];\n this.rows = options.rows || options.geometry[1];\n this.geometry = [this.cols, this.rows];\n if (options.handler) {\n this.on('data', options.handler);\n }\n this.ybase = 0;\n this.ydisp = 0;\n this.x = 0;\n this.y = 0;\n this.cursorState = 0;\n this.cursorHidden = false;\n this.convertEol;\n this.queue = '';\n this.scrollTop = 0;\n this.scrollBottom = this.rows - 1;\n this.customKeyEventHandler = null;\n this.cursorBlinkInterval = null;\n this.applicationKeypad = false;\n this.applicationCursor = false;\n this.originMode = false;\n this.insertMode = false;\n this.wraparoundMode = true;\n this.normal = null;\n this.charset = null;\n this.gcharset = null;\n this.glevel = 0;\n this.charsets = [null];\n this.decLocator;\n this.x10Mouse;\n this.vt200Mouse;\n this.vt300Mouse;\n this.normalMouse;\n this.mouseEvents;\n this.sendFocus;\n this.utfMouse;\n this.sgrMouse;\n this.urxvtMouse;\n this.element;\n this.children;\n this.refreshStart;\n this.refreshEnd;\n this.savedX;\n this.savedY;\n this.savedCols;\n this.readable = true;\n this.writable = true;\n this.defAttr = (0 << 18) | (257 << 9) | (256 << 0);\n this.curAttr = this.defAttr;\n this.params = [];\n this.currentParam = 0;\n this.prefix = '';\n this.postfix = '';\n this.inputHandler = new InputHandler_1.InputHandler(this);\n this.parser = new Parser_1.Parser(this.inputHandler, this);\n this.renderer = this.renderer || null;\n this.selectionManager = this.selectionManager || null;\n this.linkifier = this.linkifier || new Linkifier_1.Linkifier();\n this.writeBuffer = [];\n this.writeInProgress = false;\n this.xoffSentToCatchUp = false;\n this.writeStopped = false;\n this.surrogate_high = '';\n this.lines = new CircularList_1.CircularList(this.scrollback);\n var i = this.rows;\n while (i--) {\n this.lines.push(this.blankLine());\n }\n if (this.selectionManager) {\n this.selectionManager.setBuffer(this.lines);\n }\n this.tabs;\n this.setupStops();\n this.userScrolling = false;\n}\ninherits(Terminal, EventEmitter_1.EventEmitter);\nTerminal.prototype.eraseAttr = function () {\n return (this.defAttr & ~0x1ff) | (this.curAttr & 0x1ff);\n};\nTerminal.tangoColors = [\n '#2e3436',\n '#cc0000',\n '#4e9a06',\n '#c4a000',\n '#3465a4',\n '#75507b',\n '#06989a',\n '#d3d7cf',\n '#555753',\n '#ef2929',\n '#8ae234',\n '#fce94f',\n '#729fcf',\n '#ad7fa8',\n '#34e2e2',\n '#eeeeec'\n];\nTerminal.colors = (function () {\n var colors = Terminal.tangoColors.slice(), r = [0x00, 0x5f, 0x87, 0xaf, 0xd7, 0xff], i;\n i = 0;\n for (; i < 216; i++) {\n out(r[(i / 36) % 6 | 0], r[(i / 6) % 6 | 0], r[i % 6]);\n }\n i = 0;\n for (; i < 24; i++) {\n r = 8 + i * 10;\n out(r, r, r);\n }\n function out(r, g, b) {\n colors.push('#' + hex(r) + hex(g) + hex(b));\n }\n function hex(c) {\n c = c.toString(16);\n return c.length < 2 ? '0' + c : c;\n }\n return colors;\n})();\nTerminal._colors = Terminal.colors.slice();\nTerminal.vcolors = (function () {\n var out = [], colors = Terminal.colors, i = 0, color;\n for (; i < 256; i++) {\n color = parseInt(colors[i].substring(1), 16);\n out.push([\n (color >> 16) & 0xff,\n (color >> 8) & 0xff,\n color & 0xff\n ]);\n }\n return out;\n})();\nTerminal.defaults = {\n colors: Terminal.colors,\n theme: 'default',\n convertEol: false,\n termName: 'xterm',\n geometry: [80, 24],\n cursorBlink: false,\n cursorStyle: 'block',\n visualBell: false,\n popOnBell: false,\n scrollback: 1000,\n screenKeys: false,\n debug: false,\n cancelEvents: false,\n disableStdin: false,\n useFlowControl: false,\n tabStopWidth: 8\n};\nTerminal.options = {};\nTerminal.focus = null;\neach(keys(Terminal.defaults), function (key) {\n Terminal[key] = Terminal.defaults[key];\n Terminal.options[key] = Terminal.defaults[key];\n});\nTerminal.prototype.focus = function () {\n return this.textarea.focus();\n};\nTerminal.prototype.getOption = function (key, value) {\n if (!(key in Terminal.defaults)) {\n throw new Error('No option with key \"' + key + '\"');\n }\n if (typeof this.options[key] !== 'undefined') {\n return this.options[key];\n }\n return this[key];\n};\nTerminal.prototype.setOption = function (key, value) {\n if (!(key in Terminal.defaults)) {\n throw new Error('No option with key \"' + key + '\"');\n }\n switch (key) {\n case 'scrollback':\n if (value < this.rows) {\n var msg = 'Setting the scrollback value less than the number of rows ';\n msg += \"(\" + this.rows + \") is not allowed.\";\n console.warn(msg);\n return false;\n }\n if (this.options[key] !== value) {\n if (this.lines.length > value) {\n var amountToTrim = this.lines.length - value;\n var needsRefresh = (this.ydisp - amountToTrim < 0);\n this.lines.trimStart(amountToTrim);\n this.ybase = Math.max(this.ybase - amountToTrim, 0);\n this.ydisp = Math.max(this.ydisp - amountToTrim, 0);\n if (needsRefresh) {\n this.refresh(0, this.rows - 1);\n }\n }\n this.lines.maxLength = value;\n this.viewport.syncScrollArea();\n }\n break;\n }\n this[key] = value;\n this.options[key] = value;\n switch (key) {\n case 'cursorBlink':\n this.setCursorBlinking(value);\n break;\n case 'cursorStyle':\n this.element.classList.toggle(\"xterm-cursor-style-underline\", value === 'underline');\n this.element.classList.toggle(\"xterm-cursor-style-bar\", value === 'bar');\n break;\n case 'tabStopWidth':\n this.setupStops();\n break;\n }\n};\nTerminal.prototype.restartCursorBlinking = function () {\n this.setCursorBlinking(this.options.cursorBlink);\n};\nTerminal.prototype.setCursorBlinking = function (enabled) {\n this.element.classList.toggle('xterm-cursor-blink', enabled);\n this.clearCursorBlinkingInterval();\n if (enabled) {\n var self = this;\n this.cursorBlinkInterval = setInterval(function () {\n self.element.classList.toggle('xterm-cursor-blink-on');\n }, CURSOR_BLINK_INTERVAL);\n }\n};\nTerminal.prototype.clearCursorBlinkingInterval = function () {\n this.element.classList.remove('xterm-cursor-blink-on');\n if (this.cursorBlinkInterval) {\n clearInterval(this.cursorBlinkInterval);\n this.cursorBlinkInterval = null;\n }\n};\nTerminal.bindFocus = function (term) {\n on(term.textarea, 'focus', function (ev) {\n if (term.sendFocus) {\n term.send(EscapeSequences_1.C0.ESC + '[I');\n }\n term.element.classList.add('focus');\n term.showCursor();\n term.restartCursorBlinking.apply(term);\n Terminal.focus = term;\n term.emit('focus', { terminal: term });\n });\n};\nTerminal.prototype.blur = function () {\n return this.textarea.blur();\n};\nTerminal.bindBlur = function (term) {\n on(term.textarea, 'blur', function (ev) {\n term.refresh(term.y, term.y);\n if (term.sendFocus) {\n term.send(EscapeSequences_1.C0.ESC + '[O');\n }\n term.element.classList.remove('focus');\n term.clearCursorBlinkingInterval.apply(term);\n Terminal.focus = null;\n term.emit('blur', { terminal: term });\n });\n};\nTerminal.prototype.initGlobal = function () {\n var _this = this;\n var term = this;\n Terminal.bindKeys(this);\n Terminal.bindFocus(this);\n Terminal.bindBlur(this);\n on(this.element, 'copy', function (event) {\n if (_this.mouseEvents) {\n return;\n }\n Clipboard_1.copyHandler(event, term, _this.selectionManager);\n });\n var pasteHandlerWrapper = function (event) { return Clipboard_1.pasteHandler(event, term); };\n on(this.textarea, 'paste', pasteHandlerWrapper);\n on(this.element, 'paste', pasteHandlerWrapper);\n if (term.browser.isFirefox) {\n on(this.element, 'mousedown', function (event) {\n if (event.button == 2) {\n Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager);\n }\n });\n }\n else {\n on(this.element, 'contextmenu', function (event) {\n Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager);\n });\n }\n if (term.browser.isLinux) {\n on(this.element, 'auxclick', function (event) {\n if (event.button === 1) {\n Clipboard_1.moveTextAreaUnderMouseCursor(event, _this.textarea, _this.selectionManager);\n }\n });\n }\n};\nTerminal.bindKeys = function (term) {\n on(term.element, 'keydown', function (ev) {\n if (document.activeElement != this) {\n return;\n }\n term.keyDown(ev);\n }, true);\n on(term.element, 'keypress', function (ev) {\n if (document.activeElement != this) {\n return;\n }\n term.keyPress(ev);\n }, true);\n on(term.element, 'keyup', function (ev) {\n if (!wasMondifierKeyOnlyEvent(ev)) {\n term.focus(term);\n }\n }, true);\n on(term.textarea, 'keydown', function (ev) {\n term.keyDown(ev);\n }, true);\n on(term.textarea, 'keypress', function (ev) {\n term.keyPress(ev);\n this.value = '';\n }, true);\n on(term.textarea, 'compositionstart', term.compositionHelper.compositionstart.bind(term.compositionHelper));\n on(term.textarea, 'compositionupdate', term.compositionHelper.compositionupdate.bind(term.compositionHelper));\n on(term.textarea, 'compositionend', term.compositionHelper.compositionend.bind(term.compositionHelper));\n term.on('refresh', term.compositionHelper.updateCompositionElements.bind(term.compositionHelper));\n term.on('refresh', function (data) {\n term.queueLinkification(data.start, data.end);\n });\n};\nTerminal.prototype.insertRow = function (row) {\n if (typeof row != 'object') {\n row = document.createElement('div');\n }\n this.rowContainer.appendChild(row);\n this.children.push(row);\n return row;\n};\nTerminal.prototype.open = function (parent, focus) {\n var _this = this;\n var self = this, i = 0, div;\n this.parent = parent || this.parent;\n if (!this.parent) {\n throw new Error('Terminal requires a parent element.');\n }\n this.context = this.parent.ownerDocument.defaultView;\n this.document = this.parent.ownerDocument;\n this.body = this.document.getElementsByTagName('body')[0];\n this.element = this.document.createElement('div');\n this.element.classList.add('terminal');\n this.element.classList.add('xterm');\n this.element.classList.add('xterm-theme-' + this.theme);\n this.setCursorBlinking(this.options.cursorBlink);\n this.element.setAttribute('tabindex', 0);\n this.viewportElement = document.createElement('div');\n this.viewportElement.classList.add('xterm-viewport');\n this.element.appendChild(this.viewportElement);\n this.viewportScrollArea = document.createElement('div');\n this.viewportScrollArea.classList.add('xterm-scroll-area');\n this.viewportElement.appendChild(this.viewportScrollArea);\n this.selectionContainer = document.createElement('div');\n this.selectionContainer.classList.add('xterm-selection');\n this.element.appendChild(this.selectionContainer);\n this.rowContainer = document.createElement('div');\n this.rowContainer.classList.add('xterm-rows');\n this.element.appendChild(this.rowContainer);\n this.children = [];\n this.linkifier.attachToDom(document, this.children);\n this.helperContainer = document.createElement('div');\n this.helperContainer.classList.add('xterm-helpers');\n this.element.appendChild(this.helperContainer);\n this.textarea = document.createElement('textarea');\n this.textarea.classList.add('xterm-helper-textarea');\n this.textarea.setAttribute('autocorrect', 'off');\n this.textarea.setAttribute('autocapitalize', 'off');\n this.textarea.setAttribute('spellcheck', 'false');\n this.textarea.tabIndex = 0;\n this.textarea.addEventListener('focus', function () {\n self.emit('focus', { terminal: self });\n });\n this.textarea.addEventListener('blur', function () {\n self.emit('blur', { terminal: self });\n });\n this.helperContainer.appendChild(this.textarea);\n this.compositionView = document.createElement('div');\n this.compositionView.classList.add('composition-view');\n this.compositionHelper = new CompositionHelper_1.CompositionHelper(this.textarea, this.compositionView, this);\n this.helperContainer.appendChild(this.compositionView);\n this.charSizeStyleElement = document.createElement('style');\n this.helperContainer.appendChild(this.charSizeStyleElement);\n for (; i < this.rows; i++) {\n this.insertRow();\n }\n this.parent.appendChild(this.element);\n this.charMeasure = new CharMeasure_1.CharMeasure(document, this.helperContainer);\n this.charMeasure.on('charsizechanged', function () {\n self.updateCharSizeStyles();\n });\n this.charMeasure.measure();\n this.viewport = new Viewport_1.Viewport(this, this.viewportElement, this.viewportScrollArea, this.charMeasure);\n this.renderer = new Renderer_1.Renderer(this);\n this.selectionManager = new SelectionManager_1.SelectionManager(this, this.lines, this.rowContainer, this.charMeasure);\n this.selectionManager.on('refresh', function (data) {\n _this.renderer.refreshSelection(data.start, data.end);\n });\n this.selectionManager.on('newselection', function (text) {\n _this.textarea.value = text;\n _this.textarea.focus();\n _this.textarea.select();\n });\n this.on('scroll', function () { return _this.selectionManager.refresh(); });\n this.viewportElement.addEventListener('scroll', function () { return _this.selectionManager.refresh(); });\n this.refresh(0, this.rows - 1);\n this.initGlobal();\n if (typeof focus == 'undefined') {\n var message = 'You did not pass the `focus` argument in `Terminal.prototype.open()`.\\n';\n message += 'The `focus` argument now defaults to `true` but starting with xterm.js 3.0 ';\n message += 'it will default to `false`.';\n console.warn(message);\n focus = true;\n }\n if (focus) {\n this.focus();\n }\n on(this.element, 'click', function () {\n var selection = document.getSelection(), collapsed = selection.isCollapsed, isRange = typeof collapsed == 'boolean' ? !collapsed : selection.type == 'Range';\n if (!isRange) {\n self.focus();\n }\n });\n this.bindMouse();\n this.emit('open');\n};\nTerminal.loadAddon = function (addon, callback) {\n if (typeof exports === 'object' && typeof module === 'object') {\n return require('./addons/' + addon + '/' + addon);\n }\n else if (typeof define == 'function') {\n return require(['./addons/' + addon + '/' + addon], callback);\n }\n else {\n console.error('Cannot load a module without a CommonJS or RequireJS environment.');\n return false;\n }\n};\nTerminal.prototype.updateCharSizeStyles = function () {\n this.charSizeStyleElement.textContent =\n \".xterm-wide-char{width:\" + this.charMeasure.width * 2 + \"px;}\" +\n (\".xterm-normal-char{width:\" + this.charMeasure.width + \"px;}\") +\n (\".xterm-rows > div{height:\" + this.charMeasure.height + \"px;}\");\n};\nTerminal.prototype.bindMouse = function () {\n var el = this.element, self = this, pressed = 32;\n function sendButton(ev) {\n var button, pos;\n button = getButton(ev);\n pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows);\n if (!pos)\n return;\n sendEvent(button, pos);\n switch (ev.overrideType || ev.type) {\n case 'mousedown':\n pressed = button;\n break;\n case 'mouseup':\n pressed = 32;\n break;\n case 'wheel':\n break;\n }\n }\n function sendMove(ev) {\n var button = pressed, pos;\n pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows);\n if (!pos)\n return;\n button += 32;\n sendEvent(button, pos);\n }\n function encode(data, ch) {\n if (!self.utfMouse) {\n if (ch === 255)\n return data.push(0);\n if (ch > 127)\n ch = 127;\n data.push(ch);\n }\n else {\n if (ch === 2047)\n return data.push(0);\n if (ch < 127) {\n data.push(ch);\n }\n else {\n if (ch > 2047)\n ch = 2047;\n data.push(0xC0 | (ch >> 6));\n data.push(0x80 | (ch & 0x3F));\n }\n }\n }\n function sendEvent(button, pos) {\n if (self.vt300Mouse) {\n button &= 3;\n pos.x -= 32;\n pos.y -= 32;\n var data = EscapeSequences_1.C0.ESC + '[24';\n if (button === 0)\n data += '1';\n else if (button === 1)\n data += '3';\n else if (button === 2)\n data += '5';\n else if (button === 3)\n return;\n else\n data += '0';\n data += '~[' + pos.x + ',' + pos.y + ']\\r';\n self.send(data);\n return;\n }\n if (self.decLocator) {\n button &= 3;\n pos.x -= 32;\n pos.y -= 32;\n if (button === 0)\n button = 2;\n else if (button === 1)\n button = 4;\n else if (button === 2)\n button = 6;\n else if (button === 3)\n button = 3;\n self.send(EscapeSequences_1.C0.ESC + '['\n + button\n + ';'\n + (button === 3 ? 4 : 0)\n + ';'\n + pos.y\n + ';'\n + pos.x\n + ';'\n + (pos.page || 0)\n + '&w');\n return;\n }\n if (self.urxvtMouse) {\n pos.x -= 32;\n pos.y -= 32;\n pos.x++;\n pos.y++;\n self.send(EscapeSequences_1.C0.ESC + '[' + button + ';' + pos.x + ';' + pos.y + 'M');\n return;\n }\n if (self.sgrMouse) {\n pos.x -= 32;\n pos.y -= 32;\n self.send(EscapeSequences_1.C0.ESC + '[<'\n + (((button & 3) === 3 ? button & ~3 : button) - 32)\n + ';'\n + pos.x\n + ';'\n + pos.y\n + ((button & 3) === 3 ? 'm' : 'M'));\n return;\n }\n var data = [];\n encode(data, button);\n encode(data, pos.x);\n encode(data, pos.y);\n self.send(EscapeSequences_1.C0.ESC + '[M' + String.fromCharCode.apply(String, data));\n }\n function getButton(ev) {\n var button, shift, meta, ctrl, mod;\n switch (ev.overrideType || ev.type) {\n case 'mousedown':\n button = ev.button != null\n ? +ev.button\n : ev.which != null\n ? ev.which - 1\n : null;\n if (self.browser.isMSIE) {\n button = button === 1 ? 0 : button === 4 ? 1 : button;\n }\n break;\n case 'mouseup':\n button = 3;\n break;\n case 'DOMMouseScroll':\n button = ev.detail < 0\n ? 64\n : 65;\n break;\n case 'wheel':\n button = ev.wheelDeltaY > 0\n ? 64\n : 65;\n break;\n }\n shift = ev.shiftKey ? 4 : 0;\n meta = ev.metaKey ? 8 : 0;\n ctrl = ev.ctrlKey ? 16 : 0;\n mod = shift | meta | ctrl;\n if (self.vt200Mouse) {\n mod &= ctrl;\n }\n else if (!self.normalMouse) {\n mod = 0;\n }\n button = (32 + (mod << 2)) + button;\n return button;\n }\n on(el, 'mousedown', function (ev) {\n if (!self.mouseEvents)\n return;\n sendButton(ev);\n self.focus();\n if (self.vt200Mouse) {\n ev.overrideType = 'mouseup';\n sendButton(ev);\n return self.cancel(ev);\n }\n if (self.normalMouse)\n on(self.document, 'mousemove', sendMove);\n if (!self.x10Mouse) {\n on(self.document, 'mouseup', function up(ev) {\n sendButton(ev);\n if (self.normalMouse)\n off(self.document, 'mousemove', sendMove);\n off(self.document, 'mouseup', up);\n return self.cancel(ev);\n });\n }\n return self.cancel(ev);\n });\n on(el, 'wheel', function (ev) {\n if (!self.mouseEvents)\n return;\n if (self.x10Mouse\n || self.vt300Mouse\n || self.decLocator)\n return;\n sendButton(ev);\n return self.cancel(ev);\n });\n on(el, 'wheel', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onWheel(ev);\n return self.cancel(ev);\n });\n on(el, 'touchstart', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onTouchStart(ev);\n return self.cancel(ev);\n });\n on(el, 'touchmove', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onTouchMove(ev);\n return self.cancel(ev);\n });\n};\nTerminal.prototype.destroy = function () {\n this.readable = false;\n this.writable = false;\n this._events = {};\n this.handler = function () { };\n this.write = function () { };\n if (this.element && this.element.parentNode) {\n this.element.parentNode.removeChild(this.element);\n }\n};\nTerminal.prototype.refresh = function (start, end) {\n if (this.renderer) {\n this.renderer.queueRefresh(start, end);\n }\n};\nTerminal.prototype.queueLinkification = function (start, end) {\n if (this.linkifier) {\n for (var i = start; i <= end; i++) {\n this.linkifier.linkifyRow(i);\n }\n }\n};\nTerminal.prototype.showCursor = function () {\n if (!this.cursorState) {\n this.cursorState = 1;\n this.refresh(this.y, this.y);\n }\n};\nTerminal.prototype.scroll = function (isWrapped) {\n var row;\n if (this.lines.length === this.lines.maxLength) {\n this.lines.trimStart(1);\n this.ybase--;\n if (this.ydisp !== 0) {\n this.ydisp--;\n }\n }\n this.ybase++;\n if (!this.userScrolling) {\n this.ydisp = this.ybase;\n }\n row = this.ybase + this.rows - 1;\n row -= this.rows - 1 - this.scrollBottom;\n if (row === this.lines.length) {\n this.lines.push(this.blankLine(undefined, isWrapped));\n }\n else {\n this.lines.splice(row, 0, this.blankLine(undefined, isWrapped));\n }\n if (this.scrollTop !== 0) {\n if (this.ybase !== 0) {\n this.ybase--;\n if (!this.userScrolling) {\n this.ydisp = this.ybase;\n }\n }\n this.lines.splice(this.ybase + this.scrollTop, 1);\n }\n this.updateRange(this.scrollTop);\n this.updateRange(this.scrollBottom);\n this.emit('scroll', this.ydisp);\n};\nTerminal.prototype.scrollDisp = function (disp, suppressScrollEvent) {\n if (disp < 0) {\n if (this.ydisp === 0) {\n return;\n }\n this.userScrolling = true;\n }\n else if (disp + this.ydisp >= this.ybase) {\n this.userScrolling = false;\n }\n this.ydisp += disp;\n if (this.ydisp > this.ybase) {\n this.ydisp = this.ybase;\n }\n else if (this.ydisp < 0) {\n this.ydisp = 0;\n }\n if (!suppressScrollEvent) {\n this.emit('scroll', this.ydisp);\n }\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.scrollPages = function (pageCount) {\n this.scrollDisp(pageCount * (this.rows - 1));\n};\nTerminal.prototype.scrollToTop = function () {\n this.scrollDisp(-this.ydisp);\n};\nTerminal.prototype.scrollToBottom = function () {\n this.scrollDisp(this.ybase - this.ydisp);\n};\nTerminal.prototype.write = function (data) {\n this.writeBuffer.push(data);\n if (this.options.useFlowControl && !this.xoffSentToCatchUp && this.writeBuffer.length >= WRITE_BUFFER_PAUSE_THRESHOLD) {\n this.send(EscapeSequences_1.C0.DC3);\n this.xoffSentToCatchUp = true;\n }\n if (!this.writeInProgress && this.writeBuffer.length > 0) {\n this.writeInProgress = true;\n var self = this;\n setTimeout(function () {\n self.innerWrite();\n });\n }\n};\nTerminal.prototype.innerWrite = function () {\n var writeBatch = this.writeBuffer.splice(0, WRITE_BATCH_SIZE);\n while (writeBatch.length > 0) {\n var data = writeBatch.shift();\n var l = data.length, i = 0, j, cs, ch, code, low, ch_width, row;\n if (this.xoffSentToCatchUp && writeBatch.length === 0 && this.writeBuffer.length === 0) {\n this.send(EscapeSequences_1.C0.DC1);\n this.xoffSentToCatchUp = false;\n }\n this.refreshStart = this.y;\n this.refreshEnd = this.y;\n var state = this.parser.parse(data);\n this.parser.setState(state);\n this.updateRange(this.y);\n this.refresh(this.refreshStart, this.refreshEnd);\n }\n if (this.writeBuffer.length > 0) {\n var self = this;\n setTimeout(function () {\n self.innerWrite();\n }, 0);\n }\n else {\n this.writeInProgress = false;\n }\n};\nTerminal.prototype.writeln = function (data) {\n this.write(data + '\\r\\n');\n};\nTerminal.prototype.attachCustomKeydownHandler = function (customKeydownHandler) {\n var message = 'attachCustomKeydownHandler() is DEPRECATED and will be removed soon. Please use attachCustomKeyEventHandler() instead.';\n console.warn(message);\n this.attachCustomKeyEventHandler(customKeydownHandler);\n};\nTerminal.prototype.attachCustomKeyEventHandler = function (customKeyEventHandler) {\n this.customKeyEventHandler = customKeyEventHandler;\n};\nTerminal.prototype.setHypertextLinkHandler = function (handler) {\n if (!this.linkifier) {\n throw new Error('Cannot attach a hypertext link handler before Terminal.open is called');\n }\n this.linkifier.setHypertextLinkHandler(handler);\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.setHypertextValidationCallback = function (callback) {\n if (!this.linkifier) {\n throw new Error('Cannot attach a hypertext validation callback before Terminal.open is called');\n }\n this.linkifier.setHypertextValidationCallback(callback);\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.registerLinkMatcher = function (regex, handler, options) {\n if (this.linkifier) {\n var matcherId = this.linkifier.registerLinkMatcher(regex, handler, options);\n this.refresh(0, this.rows - 1);\n return matcherId;\n }\n};\nTerminal.prototype.deregisterLinkMatcher = function (matcherId) {\n if (this.linkifier) {\n if (this.linkifier.deregisterLinkMatcher(matcherId)) {\n this.refresh(0, this.rows - 1);\n }\n }\n};\nTerminal.prototype.hasSelection = function () {\n return this.selectionManager.hasSelection;\n};\nTerminal.prototype.getSelection = function () {\n return this.selectionManager.selectionText;\n};\nTerminal.prototype.clearSelection = function () {\n this.selectionManager.clearSelection();\n};\nTerminal.prototype.selectAll = function () {\n this.selectionManager.selectAll();\n};\nTerminal.prototype.keyDown = function (ev) {\n if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) {\n return false;\n }\n this.restartCursorBlinking();\n if (!this.compositionHelper.keydown.bind(this.compositionHelper)(ev)) {\n if (this.ybase !== this.ydisp) {\n this.scrollToBottom();\n }\n return false;\n }\n var self = this;\n var result = this.evaluateKeyEscapeSequence(ev);\n if (result.key === EscapeSequences_1.C0.DC3) {\n this.writeStopped = true;\n }\n else if (result.key === EscapeSequences_1.C0.DC1) {\n this.writeStopped = false;\n }\n if (result.scrollDisp) {\n this.scrollDisp(result.scrollDisp);\n return this.cancel(ev, true);\n }\n if (isThirdLevelShift(this, ev)) {\n return true;\n }\n if (result.cancel) {\n this.cancel(ev, true);\n }\n if (!result.key) {\n return true;\n }\n this.emit('keydown', ev);\n this.emit('key', result.key, ev);\n this.showCursor();\n this.handler(result.key);\n return this.cancel(ev, true);\n};\nTerminal.prototype.evaluateKeyEscapeSequence = function (ev) {\n var result = {\n cancel: false,\n key: undefined,\n scrollDisp: undefined\n };\n var modifiers = ev.shiftKey << 0 | ev.altKey << 1 | ev.ctrlKey << 2 | ev.metaKey << 3;\n switch (ev.keyCode) {\n case 8:\n if (ev.shiftKey) {\n result.key = EscapeSequences_1.C0.BS;\n break;\n }\n result.key = EscapeSequences_1.C0.DEL;\n break;\n case 9:\n if (ev.shiftKey) {\n result.key = EscapeSequences_1.C0.ESC + '[Z';\n break;\n }\n result.key = EscapeSequences_1.C0.HT;\n result.cancel = true;\n break;\n case 13:\n result.key = EscapeSequences_1.C0.CR;\n result.cancel = true;\n break;\n case 27:\n result.key = EscapeSequences_1.C0.ESC;\n result.cancel = true;\n break;\n case 37:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'D';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3D') {\n result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'b' : EscapeSequences_1.C0.ESC + '[1;5D';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OD';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[D';\n }\n break;\n case 39:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'C';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3C') {\n result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'f' : EscapeSequences_1.C0.ESC + '[1;5C';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OC';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[C';\n }\n break;\n case 38:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'A';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3A') {\n result.key = EscapeSequences_1.C0.ESC + '[1;5A';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OA';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[A';\n }\n break;\n case 40:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'B';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3B') {\n result.key = EscapeSequences_1.C0.ESC + '[1;5B';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OB';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[B';\n }\n break;\n case 45:\n if (!ev.shiftKey && !ev.ctrlKey) {\n result.key = EscapeSequences_1.C0.ESC + '[2~';\n }\n break;\n case 46:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[3;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[3~';\n }\n break;\n case 36:\n if (modifiers)\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'H';\n else if (this.applicationCursor)\n result.key = EscapeSequences_1.C0.ESC + 'OH';\n else\n result.key = EscapeSequences_1.C0.ESC + '[H';\n break;\n case 35:\n if (modifiers)\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'F';\n else if (this.applicationCursor)\n result.key = EscapeSequences_1.C0.ESC + 'OF';\n else\n result.key = EscapeSequences_1.C0.ESC + '[F';\n break;\n case 33:\n if (ev.shiftKey) {\n result.scrollDisp = -(this.rows - 1);\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[5~';\n }\n break;\n case 34:\n if (ev.shiftKey) {\n result.scrollDisp = this.rows - 1;\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[6~';\n }\n break;\n case 112:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'P';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OP';\n }\n break;\n case 113:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'Q';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OQ';\n }\n break;\n case 114:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'R';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OR';\n }\n break;\n case 115:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'S';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OS';\n }\n break;\n case 116:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[15;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[15~';\n }\n break;\n case 117:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[17;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[17~';\n }\n break;\n case 118:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[18;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[18~';\n }\n break;\n case 119:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[19;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[19~';\n }\n break;\n case 120:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[20;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[20~';\n }\n break;\n case 121:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[21;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[21~';\n }\n break;\n case 122:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[23;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[23~';\n }\n break;\n case 123:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[24;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[24~';\n }\n break;\n default:\n if (ev.ctrlKey && !ev.shiftKey && !ev.altKey && !ev.metaKey) {\n if (ev.keyCode >= 65 && ev.keyCode <= 90) {\n result.key = String.fromCharCode(ev.keyCode - 64);\n }\n else if (ev.keyCode === 32) {\n result.key = String.fromCharCode(0);\n }\n else if (ev.keyCode >= 51 && ev.keyCode <= 55) {\n result.key = String.fromCharCode(ev.keyCode - 51 + 27);\n }\n else if (ev.keyCode === 56) {\n result.key = String.fromCharCode(127);\n }\n else if (ev.keyCode === 219) {\n result.key = String.fromCharCode(27);\n }\n else if (ev.keyCode === 220) {\n result.key = String.fromCharCode(28);\n }\n else if (ev.keyCode === 221) {\n result.key = String.fromCharCode(29);\n }\n }\n else if (!this.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) {\n if (ev.keyCode >= 65 && ev.keyCode <= 90) {\n result.key = EscapeSequences_1.C0.ESC + String.fromCharCode(ev.keyCode + 32);\n }\n else if (ev.keyCode === 192) {\n result.key = EscapeSequences_1.C0.ESC + '`';\n }\n else if (ev.keyCode >= 48 && ev.keyCode <= 57) {\n result.key = EscapeSequences_1.C0.ESC + (ev.keyCode - 48);\n }\n }\n else if (this.browser.isMac && !ev.altKey && !ev.ctrlKey && ev.metaKey) {\n if (ev.keyCode === 65) {\n this.selectAll();\n }\n }\n break;\n }\n return result;\n};\nTerminal.prototype.setgLevel = function (g) {\n this.glevel = g;\n this.charset = this.charsets[g];\n};\nTerminal.prototype.setgCharset = function (g, charset) {\n this.charsets[g] = charset;\n if (this.glevel === g) {\n this.charset = charset;\n }\n};\nTerminal.prototype.keyPress = function (ev) {\n var key;\n if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) {\n return false;\n }\n this.cancel(ev);\n if (ev.charCode) {\n key = ev.charCode;\n }\n else if (ev.which == null) {\n key = ev.keyCode;\n }\n else if (ev.which !== 0 && ev.charCode !== 0) {\n key = ev.which;\n }\n else {\n return false;\n }\n if (!key || ((ev.altKey || ev.ctrlKey || ev.metaKey) && !isThirdLevelShift(this, ev))) {\n return false;\n }\n key = String.fromCharCode(key);\n this.emit('keypress', key, ev);\n this.emit('key', key, ev);\n this.showCursor();\n this.handler(key);\n return true;\n};\nTerminal.prototype.send = function (data) {\n var self = this;\n if (!this.queue) {\n setTimeout(function () {\n self.handler(self.queue);\n self.queue = '';\n }, 1);\n }\n this.queue += data;\n};\nTerminal.prototype.bell = function () {\n if (!this.visualBell)\n return;\n var self = this;\n this.element.style.borderColor = 'white';\n setTimeout(function () {\n self.element.style.borderColor = '';\n }, 10);\n if (this.popOnBell)\n this.focus();\n};\nTerminal.prototype.log = function () {\n if (!this.debug)\n return;\n if (!this.context.console || !this.context.console.log)\n return;\n var args = Array.prototype.slice.call(arguments);\n this.context.console.log.apply(this.context.console, args);\n};\nTerminal.prototype.error = function () {\n if (!this.debug)\n return;\n if (!this.context.console || !this.context.console.error)\n return;\n var args = Array.prototype.slice.call(arguments);\n this.context.console.error.apply(this.context.console, args);\n};\nTerminal.prototype.resize = function (x, y) {\n if (isNaN(x) || isNaN(y)) {\n return;\n }\n if (y > this.getOption('scrollback')) {\n this.setOption('scrollback', y);\n }\n var line, el, i, j, ch, addToY;\n if (x === this.cols && y === this.rows) {\n return;\n }\n if (x < 1)\n x = 1;\n if (y < 1)\n y = 1;\n j = this.cols;\n if (j < x) {\n ch = [this.defAttr, ' ', 1];\n i = this.lines.length;\n while (i--) {\n while (this.lines.get(i).length < x) {\n this.lines.get(i).push(ch);\n }\n }\n }\n this.cols = x;\n this.setupStops(this.cols);\n j = this.rows;\n addToY = 0;\n if (j < y) {\n el = this.element;\n while (j++ < y) {\n if (this.lines.length < y + this.ybase) {\n if (this.ybase > 0 && this.lines.length <= this.ybase + this.y + addToY + 1) {\n this.ybase--;\n addToY++;\n if (this.ydisp > 0) {\n this.ydisp--;\n }\n }\n else {\n this.lines.push(this.blankLine());\n }\n }\n if (this.children.length < y) {\n this.insertRow();\n }\n }\n }\n else {\n while (j-- > y) {\n if (this.lines.length > y + this.ybase) {\n if (this.lines.length > this.ybase + this.y + 1) {\n this.lines.pop();\n }\n else {\n this.ybase++;\n this.ydisp++;\n }\n }\n if (this.children.length > y) {\n el = this.children.shift();\n if (!el)\n continue;\n el.parentNode.removeChild(el);\n }\n }\n }\n this.rows = y;\n if (this.y >= y) {\n this.y = y - 1;\n }\n if (addToY) {\n this.y += addToY;\n }\n if (this.x >= x) {\n this.x = x - 1;\n }\n this.scrollTop = 0;\n this.scrollBottom = y - 1;\n this.charMeasure.measure();\n this.refresh(0, this.rows - 1);\n this.normal = null;\n this.geometry = [this.cols, this.rows];\n this.emit('resize', { terminal: this, cols: x, rows: y });\n};\nTerminal.prototype.updateRange = function (y) {\n if (y < this.refreshStart)\n this.refreshStart = y;\n if (y > this.refreshEnd)\n this.refreshEnd = y;\n};\nTerminal.prototype.maxRange = function () {\n this.refreshStart = 0;\n this.refreshEnd = this.rows - 1;\n};\nTerminal.prototype.setupStops = function (i) {\n if (i != null) {\n if (!this.tabs[i]) {\n i = this.prevStop(i);\n }\n }\n else {\n this.tabs = {};\n i = 0;\n }\n for (; i < this.cols; i += this.getOption('tabStopWidth')) {\n this.tabs[i] = true;\n }\n};\nTerminal.prototype.prevStop = function (x) {\n if (x == null)\n x = this.x;\n while (!this.tabs[--x] && x > 0)\n ;\n return x >= this.cols\n ? this.cols - 1\n : x < 0 ? 0 : x;\n};\nTerminal.prototype.nextStop = function (x) {\n if (x == null)\n x = this.x;\n while (!this.tabs[++x] && x < this.cols)\n ;\n return x >= this.cols\n ? this.cols - 1\n : x < 0 ? 0 : x;\n};\nTerminal.prototype.eraseRight = function (x, y) {\n var line = this.lines.get(this.ybase + y);\n if (!line) {\n return;\n }\n var ch = [this.eraseAttr(), ' ', 1];\n for (; x < this.cols; x++) {\n line[x] = ch;\n }\n this.updateRange(y);\n};\nTerminal.prototype.eraseLeft = function (x, y) {\n var line = this.lines.get(this.ybase + y);\n if (!line) {\n return;\n }\n var ch = [this.eraseAttr(), ' ', 1];\n x++;\n while (x--) {\n line[x] = ch;\n }\n this.updateRange(y);\n};\nTerminal.prototype.clear = function () {\n if (this.ybase === 0 && this.y === 0) {\n return;\n }\n this.lines.set(0, this.lines.get(this.ybase + this.y));\n this.lines.length = 1;\n this.ydisp = 0;\n this.ybase = 0;\n this.y = 0;\n for (var i = 1; i < this.rows; i++) {\n this.lines.push(this.blankLine());\n }\n this.refresh(0, this.rows - 1);\n this.emit('scroll', this.ydisp);\n};\nTerminal.prototype.eraseLine = function (y) {\n this.eraseRight(0, y);\n};\nTerminal.prototype.blankLine = function (cur, isWrapped) {\n var attr = cur\n ? this.eraseAttr()\n : this.defAttr;\n var ch = [attr, ' ', 1], line = [], i = 0;\n if (isWrapped) {\n line.isWrapped = isWrapped;\n }\n for (; i < this.cols; i++) {\n line[i] = ch;\n }\n return line;\n};\nTerminal.prototype.ch = function (cur) {\n return cur\n ? [this.eraseAttr(), ' ', 1]\n : [this.defAttr, ' ', 1];\n};\nTerminal.prototype.is = function (term) {\n var name = this.termName;\n return (name + '').indexOf(term) === 0;\n};\nTerminal.prototype.handler = function (data) {\n if (this.options.disableStdin) {\n return;\n }\n if (this.ybase !== this.ydisp) {\n this.scrollToBottom();\n }\n this.emit('data', data);\n};\nTerminal.prototype.handleTitle = function (title) {\n this.emit('title', title);\n};\nTerminal.prototype.index = function () {\n this.y++;\n if (this.y > this.scrollBottom) {\n this.y--;\n this.scroll();\n }\n if (this.x >= this.cols) {\n this.x--;\n }\n};\nTerminal.prototype.reverseIndex = function () {\n var j;\n if (this.y === this.scrollTop) {\n this.lines.shiftElements(this.y + this.ybase, this.rows - 1, 1);\n this.lines.set(this.y + this.ybase, this.blankLine(true));\n this.updateRange(this.scrollTop);\n this.updateRange(this.scrollBottom);\n }\n else {\n this.y--;\n }\n};\nTerminal.prototype.reset = function () {\n this.options.rows = this.rows;\n this.options.cols = this.cols;\n var customKeyEventHandler = this.customKeyEventHandler;\n var cursorBlinkInterval = this.cursorBlinkInterval;\n Terminal.call(this, this.options);\n this.customKeyEventHandler = customKeyEventHandler;\n this.cursorBlinkInterval = cursorBlinkInterval;\n this.refresh(0, this.rows - 1);\n this.viewport.syncScrollArea();\n};\nTerminal.prototype.tabSet = function () {\n this.tabs[this.x] = true;\n};\nfunction on(el, type, handler, capture) {\n if (!Array.isArray(el)) {\n el = [el];\n }\n el.forEach(function (element) {\n element.addEventListener(type, handler, capture || false);\n });\n}\nfunction off(el, type, handler, capture) {\n el.removeEventListener(type, handler, capture || false);\n}\nfunction cancel(ev, force) {\n if (!this.cancelEvents && !force) {\n return;\n }\n ev.preventDefault();\n ev.stopPropagation();\n return false;\n}\nfunction inherits(child, parent) {\n function f() {\n this.constructor = child;\n }\n f.prototype = parent.prototype;\n child.prototype = new f;\n}\nfunction indexOf(obj, el) {\n var i = obj.length;\n while (i--) {\n if (obj[i] === el)\n return i;\n }\n return -1;\n}\nfunction isThirdLevelShift(term, ev) {\n var thirdLevelKey = (term.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) ||\n (term.browser.isMSWindows && ev.altKey && ev.ctrlKey && !ev.metaKey);\n if (ev.type == 'keypress') {\n return thirdLevelKey;\n }\n return thirdLevelKey && (!ev.keyCode || ev.keyCode > 47);\n}\nTerminal.prototype.matchColor = matchColor;\nfunction matchColor(r1, g1, b1) {\n var hash = (r1 << 16) | (g1 << 8) | b1;\n if (matchColor._cache[hash] != null) {\n return matchColor._cache[hash];\n }\n var ldiff = Infinity, li = -1, i = 0, c, r2, g2, b2, diff;\n for (; i < Terminal.vcolors.length; i++) {\n c = Terminal.vcolors[i];\n r2 = c[0];\n g2 = c[1];\n b2 = c[2];\n diff = matchColor.distance(r1, g1, b1, r2, g2, b2);\n if (diff === 0) {\n li = i;\n break;\n }\n if (diff < ldiff) {\n ldiff = diff;\n li = i;\n }\n }\n return matchColor._cache[hash] = li;\n}\nmatchColor._cache = {};\nmatchColor.distance = function (r1, g1, b1, r2, g2, b2) {\n return Math.pow(30 * (r1 - r2), 2)\n + Math.pow(59 * (g1 - g2), 2)\n + Math.pow(11 * (b1 - b2), 2);\n};\nfunction each(obj, iter, con) {\n if (obj.forEach)\n return obj.forEach(iter, con);\n for (var i = 0; i < obj.length; i++) {\n iter.call(con, obj[i], i, obj);\n }\n}\nfunction wasMondifierKeyOnlyEvent(ev) {\n return ev.keyCode === 16 ||\n ev.keyCode === 17 ||\n ev.keyCode === 18;\n}\nfunction keys(obj) {\n if (Object.keys)\n return Object.keys(obj);\n var key, keys = [];\n for (key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n keys.push(key);\n }\n }\n return keys;\n}\nTerminal.EventEmitter = EventEmitter_1.EventEmitter;\nTerminal.inherits = inherits;\nTerminal.on = on;\nTerminal.off = off;\nTerminal.cancel = cancel;\nmodule.exports = Terminal;\n\n//# sourceMappingURL=xterm.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/xterm.js\n// module id = 0\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n;\nvar EventEmitter = (function () {\n function EventEmitter() {\n this._events = this._events || {};\n }\n EventEmitter.prototype.on = function (type, listener) {\n this._events[type] = this._events[type] || [];\n this._events[type].push(listener);\n };\n EventEmitter.prototype.off = function (type, listener) {\n if (!this._events[type]) {\n return;\n }\n var obj = this._events[type];\n var i = obj.length;\n while (i--) {\n if (obj[i] === listener || obj[i].listener === listener) {\n obj.splice(i, 1);\n return;\n }\n }\n };\n EventEmitter.prototype.removeAllListeners = function (type) {\n if (this._events[type]) {\n delete this._events[type];\n }\n };\n EventEmitter.prototype.once = function (type, listener) {\n function on() {\n var args = Array.prototype.slice.call(arguments);\n this.off(type, on);\n return listener.apply(this, args);\n }\n on.listener = listener;\n return this.on(type, on);\n };\n EventEmitter.prototype.emit = function (type) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!this._events[type]) {\n return;\n }\n var obj = this._events[type];\n for (var i = 0; i < obj.length; i++) {\n obj[i].apply(this, args);\n }\n };\n EventEmitter.prototype.listeners = function (type) {\n return this._events[type] || [];\n };\n return EventEmitter;\n}());\nexports.EventEmitter = EventEmitter;\n\n//# sourceMappingURL=EventEmitter.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/EventEmitter.js\n// module id = 1\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar C0;\n(function (C0) {\n C0.NUL = '\\x00';\n C0.SOH = '\\x01';\n C0.STX = '\\x02';\n C0.ETX = '\\x03';\n C0.EOT = '\\x04';\n C0.ENQ = '\\x05';\n C0.ACK = '\\x06';\n C0.BEL = '\\x07';\n C0.BS = '\\x08';\n C0.HT = '\\x09';\n C0.LF = '\\x0a';\n C0.VT = '\\x0b';\n C0.FF = '\\x0c';\n C0.CR = '\\x0d';\n C0.SO = '\\x0e';\n C0.SI = '\\x0f';\n C0.DLE = '\\x10';\n C0.DC1 = '\\x11';\n C0.DC2 = '\\x12';\n C0.DC3 = '\\x13';\n C0.DC4 = '\\x14';\n C0.NAK = '\\x15';\n C0.SYN = '\\x16';\n C0.ETB = '\\x17';\n C0.CAN = '\\x18';\n C0.EM = '\\x19';\n C0.SUB = '\\x1a';\n C0.ESC = '\\x1b';\n C0.FS = '\\x1c';\n C0.GS = '\\x1d';\n C0.RS = '\\x1e';\n C0.US = '\\x1f';\n C0.SP = '\\x20';\n C0.DEL = '\\x7f';\n})(C0 = exports.C0 || (exports.C0 = {}));\n;\n\n//# sourceMappingURL=EscapeSequences.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/EscapeSequences.js\n// module id = 2\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CHARSETS = {};\nexports.DEFAULT_CHARSET = exports.CHARSETS['B'];\nexports.CHARSETS['0'] = {\n '`': '\\u25c6',\n 'a': '\\u2592',\n 'b': '\\u0009',\n 'c': '\\u000c',\n 'd': '\\u000d',\n 'e': '\\u000a',\n 'f': '\\u00b0',\n 'g': '\\u00b1',\n 'h': '\\u2424',\n 'i': '\\u000b',\n 'j': '\\u2518',\n 'k': '\\u2510',\n 'l': '\\u250c',\n 'm': '\\u2514',\n 'n': '\\u253c',\n 'o': '\\u23ba',\n 'p': '\\u23bb',\n 'q': '\\u2500',\n 'r': '\\u23bc',\n 's': '\\u23bd',\n 't': '\\u251c',\n 'u': '\\u2524',\n 'v': '\\u2534',\n 'w': '\\u252c',\n 'x': '\\u2502',\n 'y': '\\u2264',\n 'z': '\\u2265',\n '{': '\\u03c0',\n '|': '\\u2260',\n '}': '\\u00a3',\n '~': '\\u00b7'\n};\nexports.CHARSETS['A'] = {\n '#': '£'\n};\nexports.CHARSETS['B'] = null;\nexports.CHARSETS['4'] = {\n '#': '£',\n '@': '¾',\n '[': 'ij',\n '\\\\': '½',\n ']': '|',\n '{': '¨',\n '|': 'f',\n '}': '¼',\n '~': '´'\n};\nexports.CHARSETS['C'] =\n exports.CHARSETS['5'] = {\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Å',\n '^': 'Ü',\n '`': 'é',\n '{': 'ä',\n '|': 'ö',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['R'] = {\n '#': '£',\n '@': 'à',\n '[': '°',\n '\\\\': 'ç',\n ']': '§',\n '{': 'é',\n '|': 'ù',\n '}': 'è',\n '~': '¨'\n};\nexports.CHARSETS['Q'] = {\n '@': 'à',\n '[': 'â',\n '\\\\': 'ç',\n ']': 'ê',\n '^': 'î',\n '`': 'ô',\n '{': 'é',\n '|': 'ù',\n '}': 'è',\n '~': 'û'\n};\nexports.CHARSETS['K'] = {\n '@': '§',\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Ü',\n '{': 'ä',\n '|': 'ö',\n '}': 'ü',\n '~': 'ß'\n};\nexports.CHARSETS['Y'] = {\n '#': '£',\n '@': '§',\n '[': '°',\n '\\\\': 'ç',\n ']': 'é',\n '`': 'ù',\n '{': 'à',\n '|': 'ò',\n '}': 'è',\n '~': 'ì'\n};\nexports.CHARSETS['E'] =\n exports.CHARSETS['6'] = {\n '@': 'Ä',\n '[': 'Æ',\n '\\\\': 'Ø',\n ']': 'Å',\n '^': 'Ü',\n '`': 'ä',\n '{': 'æ',\n '|': 'ø',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['Z'] = {\n '#': '£',\n '@': '§',\n '[': '¡',\n '\\\\': 'Ñ',\n ']': '¿',\n '{': '°',\n '|': 'ñ',\n '}': 'ç'\n};\nexports.CHARSETS['H'] =\n exports.CHARSETS['7'] = {\n '@': 'É',\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Å',\n '^': 'Ü',\n '`': 'é',\n '{': 'ä',\n '|': 'ö',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['='] = {\n '#': 'ù',\n '@': 'à',\n '[': 'é',\n '\\\\': 'ç',\n ']': 'ê',\n '^': 'î',\n '_': 'è',\n '`': 'ô',\n '{': 'ä',\n '|': 'ö',\n '}': 'ü',\n '~': 'û'\n};\n\n//# sourceMappingURL=Charsets.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Charsets.js\n// module id = 3\n// module chunks = 0","/**\n * Implements the attach method, that attaches the terminal to a WebSocket stream.\n * @module xterm/addons/attach/attach\n * @license MIT\n */\n\n(function (attach) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = attach(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], attach);\n } else {\n /*\n * Plain browser environment\n */\n attach(window.Terminal);\n }\n})(function (Xterm) {\n 'use strict';\n\n var exports = {};\n\n /**\n * Attaches the given terminal to the given socket.\n *\n * @param {Xterm} term - The terminal to be attached to the given socket.\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n exports.attach = function (term, socket, bidirectional, buffered) {\n bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;\n term.socket = socket;\n\n term._flushBuffer = function () {\n term.write(term._attachSocketBuffer);\n term._attachSocketBuffer = null;\n clearTimeout(term._attachSocketBufferTimer);\n term._attachSocketBufferTimer = null;\n };\n\n term._pushToBuffer = function (data) {\n if (term._attachSocketBuffer) {\n term._attachSocketBuffer += data;\n } else {\n term._attachSocketBuffer = data;\n setTimeout(term._flushBuffer, 10);\n }\n };\n\n term._getMessage = function (ev) {\n if (buffered) {\n term._pushToBuffer(ev.data);\n } else {\n term.write(ev.data);\n }\n };\n\n term._sendData = function (data) {\n socket.send(data);\n };\n\n socket.addEventListener('message', term._getMessage);\n\n if (bidirectional) {\n term.on('data', term._sendData);\n }\n\n socket.addEventListener('close', term.detach.bind(term, socket));\n socket.addEventListener('error', term.detach.bind(term, socket));\n };\n\n /**\n * Detaches the given terminal from the given socket\n *\n * @param {Xterm} term - The terminal to be detached from the given socket.\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n exports.detach = function (term, socket) {\n term.off('data', term._sendData);\n\n socket = (typeof socket == 'undefined') ? term.socket : socket;\n\n if (socket) {\n socket.removeEventListener('message', term._getMessage);\n }\n\n delete term.socket;\n };\n\n /**\n * Attaches the current terminal to the given socket\n *\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n Xterm.prototype.attach = function (socket, bidirectional, buffered) {\n return exports.attach(this, socket, bidirectional, buffered);\n };\n\n /**\n * Detaches the current terminal from the given socket.\n *\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n Xterm.prototype.detach = function (socket) {\n return exports.detach(this, socket);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/attach/attach.js\n// module id = 4\n// module chunks = 0","/**\n * Fit terminal columns and rows to the dimensions of its DOM element.\n *\n * ## Approach\n * - Rows: Truncate the division of the terminal parent element height by the terminal row height.\n *\n * - Columns: Truncate the division of the terminal parent element width by the terminal character\n * width (apply display: inline at the terminal row and truncate its width with the current\n * number of columns).\n * @module xterm/addons/fit/fit\n * @license MIT\n */\n\n(function (fit) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = fit(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], fit);\n } else {\n /*\n * Plain browser environment\n */\n fit(window.Terminal);\n }\n})(function (Xterm) {\n var exports = {};\n\n exports.proposeGeometry = function (term) {\n if (!term.element.parentElement) {\n return null;\n }\n var parentElementStyle = window.getComputedStyle(term.element.parentElement),\n parentElementHeight = parseInt(parentElementStyle.getPropertyValue('height')),\n parentElementWidth = Math.max(0, parseInt(parentElementStyle.getPropertyValue('width')) - 17),\n elementStyle = window.getComputedStyle(term.element),\n elementPaddingVer = parseInt(elementStyle.getPropertyValue('padding-top')) + parseInt(elementStyle.getPropertyValue('padding-bottom')),\n elementPaddingHor = parseInt(elementStyle.getPropertyValue('padding-right')) + parseInt(elementStyle.getPropertyValue('padding-left')),\n availableHeight = parentElementHeight - elementPaddingVer,\n availableWidth = parentElementWidth - elementPaddingHor,\n container = term.rowContainer,\n subjectRow = term.rowContainer.firstElementChild,\n contentBuffer = subjectRow.innerHTML,\n characterHeight,\n rows,\n characterWidth,\n cols,\n geometry;\n\n subjectRow.style.display = 'inline';\n subjectRow.innerHTML = 'W'; // Common character for measuring width, although on monospace\n characterWidth = subjectRow.getBoundingClientRect().width;\n subjectRow.style.display = ''; // Revert style before calculating height, since they differ.\n characterHeight = subjectRow.getBoundingClientRect().height;\n subjectRow.innerHTML = contentBuffer;\n\n rows = parseInt(availableHeight / characterHeight);\n cols = parseInt(availableWidth / characterWidth);\n\n geometry = {cols: cols, rows: rows};\n return geometry;\n };\n\n exports.fit = function (term) {\n var geometry = exports.proposeGeometry(term);\n\n if (geometry) {\n term.resize(geometry.cols, geometry.rows);\n }\n };\n\n Xterm.prototype.proposeGeometry = function () {\n return exports.proposeGeometry(this);\n };\n\n Xterm.prototype.fit = function () {\n return exports.fit(this);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fit/fit.js\n// module id = 5\n// module chunks = 0","/**\n * Fullscreen addon for xterm.js\n * @module xterm/addons/fullscreen/fullscreen\n * @license MIT\n */\n(function (fullscreen) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = fullscreen(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], fullscreen);\n } else {\n /*\n * Plain browser environment\n */\n fullscreen(window.Terminal);\n }\n})(function (Xterm) {\n var exports = {};\n\n /**\n * Toggle the given terminal's fullscreen mode.\n * @param {Xterm} term - The terminal to toggle full screen mode\n * @param {boolean} fullscreen - Toggle fullscreen on (true) or off (false)\n */\n exports.toggleFullScreen = function (term, fullscreen) {\n var fn;\n\n if (typeof fullscreen == 'undefined') {\n fn = (term.element.classList.contains('fullscreen')) ? 'remove' : 'add';\n } else if (!fullscreen) {\n fn = 'remove';\n } else {\n fn = 'add';\n }\n\n term.element.classList[fn]('fullscreen');\n };\n\n Xterm.prototype.toggleFullscreen = function (fullscreen) {\n exports.toggleFullScreen(this, fullscreen);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fullscreen/fullscreen.js\n// module id = 6\n// module chunks = 0","/**\n * This module provides methods for attaching a terminal to a terminado WebSocket stream.\n *\n * @module xterm/addons/terminado/terminado\n * @license MIT\n */\n\n(function (attach) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = attach(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], attach);\n } else {\n /*\n * Plain browser environment\n */\n attach(window.Terminal);\n }\n})(function (Xterm) {\n 'use strict';\n\n var exports = {};\n\n /**\n * Attaches the given terminal to the given socket.\n *\n * @param {Xterm} term - The terminal to be attached to the given socket.\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n exports.terminadoAttach = function (term, socket, bidirectional, buffered) {\n bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;\n term.socket = socket;\n\n term._flushBuffer = function () {\n term.write(term._attachSocketBuffer);\n term._attachSocketBuffer = null;\n clearTimeout(term._attachSocketBufferTimer);\n term._attachSocketBufferTimer = null;\n };\n\n term._pushToBuffer = function (data) {\n if (term._attachSocketBuffer) {\n term._attachSocketBuffer += data;\n } else {\n term._attachSocketBuffer = data;\n setTimeout(term._flushBuffer, 10);\n }\n };\n\n term._getMessage = function (ev) {\n var data = JSON.parse(ev.data)\n if( data[0] == \"stdout\" ) {\n if (buffered) {\n term._pushToBuffer(data[1]);\n } else {\n term.write(data[1]);\n }\n }\n };\n\n term._sendData = function (data) {\n socket.send(JSON.stringify(['stdin', data]));\n };\n\n term._setSize = function (size) {\n socket.send(JSON.stringify(['set_size', size.rows, size.cols]));\n };\n\n socket.addEventListener('message', term._getMessage);\n\n if (bidirectional) {\n term.on('data', term._sendData);\n }\n term.on('resize', term._setSize);\n\n socket.addEventListener('close', term.terminadoDetach.bind(term, socket));\n socket.addEventListener('error', term.terminadoDetach.bind(term, socket));\n };\n\n /**\n * Detaches the given terminal from the given socket\n *\n * @param {Xterm} term - The terminal to be detached from the given socket.\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n exports.terminadoDetach = function (term, socket) {\n term.off('data', term._sendData);\n\n socket = (typeof socket == 'undefined') ? term.socket : socket;\n\n if (socket) {\n socket.removeEventListener('message', term._getMessage);\n }\n\n delete term.socket;\n };\n\n /**\n * Attaches the current terminal to the given socket\n *\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n Xterm.prototype.terminadoAttach = function (socket, bidirectional, buffered) {\n return exports.terminadoAttach(this, socket, bidirectional, buffered);\n };\n\n /**\n * Detaches the current terminal from the given socket.\n *\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n Xterm.prototype.terminadoDetach = function (socket) {\n return exports.terminadoDetach(this, socket);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/terminado/terminado.js\n// module id = 7\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Generic_1 = require(\"./Generic\");\nvar isNode = (typeof navigator === 'undefined') ? true : false;\nvar userAgent = (isNode) ? 'node' : navigator.userAgent;\nvar platform = (isNode) ? 'node' : navigator.platform;\nexports.isFirefox = !!~userAgent.indexOf('Firefox');\nexports.isMSIE = !!~userAgent.indexOf('MSIE') || !!~userAgent.indexOf('Trident');\nexports.isMac = Generic_1.contains(['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'], platform);\nexports.isIpad = platform === 'iPad';\nexports.isIphone = platform === 'iPhone';\nexports.isMSWindows = Generic_1.contains(['Windows', 'Win16', 'Win32', 'WinCE'], platform);\nexports.isLinux = platform.indexOf('Linux') >= 0;\n\n//# sourceMappingURL=Browser.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Browser.js\n// module id = 8\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction getCoordsRelativeToElement(event, element) {\n if (event.pageX == null) {\n return null;\n }\n var x = event.pageX;\n var y = event.pageY;\n while (element && element !== self.document.documentElement) {\n x -= element.offsetLeft;\n y -= element.offsetTop;\n element = 'offsetParent' in element ? element.offsetParent : element.parentElement;\n }\n return [x, y];\n}\nexports.getCoordsRelativeToElement = getCoordsRelativeToElement;\nfunction getCoords(event, rowContainer, charMeasure, colCount, rowCount, isSelection) {\n var coords = getCoordsRelativeToElement(event, rowContainer);\n coords[0] = Math.ceil((coords[0] + (isSelection ? charMeasure.width / 2 : 0)) / charMeasure.width);\n coords[1] = Math.ceil(coords[1] / charMeasure.height);\n coords[0] = Math.min(Math.max(coords[0], 1), colCount + 1);\n coords[1] = Math.min(Math.max(coords[1], 1), rowCount + 1);\n return coords;\n}\nexports.getCoords = getCoords;\nfunction getRawByteCoords(event, rowContainer, charMeasure, colCount, rowCount) {\n var coords = getCoords(event, rowContainer, charMeasure, colCount, rowCount);\n var x = coords[0];\n var y = coords[1];\n x += 32;\n y += 32;\n return { x: x, y: y };\n}\nexports.getRawByteCoords = getRawByteCoords;\n\n//# sourceMappingURL=Mouse.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Mouse.js\n// module id = 9\n// module chunks = 0","import * as bare from \"libapps\";\n\nexport class TermHterm {\n elem: HTMLElement;\n\n term: bare.Terminal;\n io: bare.IO;\n\n columns: number;\n rows: number;\n\n // to \"show\" the current message when removeMessage() is called\n message: string;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n bare.hterm.defaultStorage = new bare.lib.Storage.Memory();\n this.term = new bare.hterm.Terminal();\n this.term.getPrefs().set(\"send-encoding\", \"raw\");\n this.term.decorate(this.elem);\n\n this.io = this.term.io.push();\n this.term.installKeyboard();\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.columns, rows: this.rows };\n };\n\n output(data: string) {\n if (this.term.io != null) {\n this.term.io.writeUTF16(data);\n }\n };\n\n showMessage(message: string, timeout: number) {\n this.message = message;\n if (timeout > 0) {\n this.term.io.showOverlay(message, timeout);\n } else {\n this.term.io.showOverlay(message, null);\n }\n };\n\n removeMessage(): void {\n // there is no hideOverlay(), so show the same message with 0 sec\n this.term.io.showOverlay(this.message, 0);\n }\n\n setWindowTitle(title: string) {\n this.term.setWindowTitle(title);\n };\n\n setPreferences(value: object) {\n Object.keys(value).forEach((key) => {\n this.term.getPrefs().set(key, value[key]);\n });\n };\n\n onInput(callback: (input: string) => void) {\n this.io.onVTKeystroke = (data) => {\n callback(data);\n };\n this.io.sendString = (data) => {\n callback(data);\n };\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.io.onTerminalResize = (columns: number, rows: number) => {\n this.columns = columns;\n this.rows = rows;\n callback(columns, rows);\n };\n };\n\n deactivate(): void {\n this.io.onVTKeystroke = null;\n this.io.sendString = null\n this.io.onTerminalResize = null;\n this.term.uninstallKeyboard();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.installKeyboard();\n }\n\n close(): void {\n this.term.uninstallKeyboard();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/hterm.ts","export class ConnectionFactory {\n url: string;\n protocols: string[];\n\n constructor(url: string, protocols: string[]) {\n this.url = url;\n this.protocols = protocols;\n };\n\n create(): Connection {\n return new Connection(this.url, this.protocols);\n };\n}\n\nexport class Connection {\n bare: WebSocket;\n\n\n constructor(url: string, protocols: string[]) {\n this.bare = new WebSocket(url, protocols);\n }\n\n open() {\n // nothing todo for websocket\n };\n\n close() {\n this.bare.close();\n };\n\n send(data: string) {\n this.bare.send(data);\n };\n\n isOpen(): boolean {\n if (this.bare.readyState == WebSocket.CONNECTING ||\n this.bare.readyState == WebSocket.OPEN) {\n return true\n }\n return false\n }\n\n onOpen(callback: () => void) {\n this.bare.onopen = (event) => {\n callback();\n }\n };\n\n onReceive(callback: (data: string) => void) {\n this.bare.onmessage = (event) => {\n callback(event.data);\n }\n };\n\n onClose(callback: () => void) {\n this.bare.onclose = (event) => {\n callback();\n };\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/websocket.ts","export const protocols = [\"webtty\"];\n\nexport const msgInputUnknown = '0';\nexport const msgInput = '1';\nexport const msgPing = '2';\nexport const msgResizeTerminal = '3';\n\nexport const msgUnknownOutput = '0';\nexport const msgOutput = '1';\nexport const msgPong = '2';\nexport const msgSetWindowTitle = '3';\nexport const msgSetPreferences = '4';\nexport const msgSetReconnect = '5';\n\n\nexport interface Terminal {\n info(): { columns: number, rows: number };\n output(data: string): void;\n showMessage(message: string, timeout: number): void;\n removeMessage(): void;\n setWindowTitle(title: string): void;\n setPreferences(value: object): void;\n onInput(callback: (input: string) => void): void;\n onResize(callback: (colmuns: number, rows: number) => void): void;\n reset(): void;\n deactivate(): void;\n close(): void;\n}\n\nexport interface Connection {\n open(): void;\n close(): void;\n send(data: string): void;\n isOpen(): boolean;\n onOpen(callback: () => void): void;\n onReceive(callback: (data: string) => void): void;\n onClose(callback: () => void): void;\n}\n\nexport interface ConnectionFactory {\n create(): Connection;\n}\n\n\nexport class WebTTY {\n term: Terminal;\n connectionFactory: ConnectionFactory;\n args: string;\n authToken: string;\n reconnect: number;\n\n constructor(term: Terminal, connectionFactory: ConnectionFactory, args: string, authToken: string) {\n this.term = term;\n this.connectionFactory = connectionFactory;\n this.args = args;\n this.authToken = authToken;\n this.reconnect = -1;\n };\n\n open() {\n let connection = this.connectionFactory.create();\n let pingTimer: number;\n let reconnectTimeout: number;\n\n const setup = () => {\n connection.onOpen(() => {\n const termInfo = this.term.info();\n\n connection.send(JSON.stringify(\n {\n Arguments: this.args,\n AuthToken: this.authToken,\n }\n ));\n\n\n const resizeHandler = (colmuns: number, rows: number) => {\n connection.send(\n msgResizeTerminal + JSON.stringify(\n {\n columns: colmuns,\n rows: rows\n }\n )\n );\n };\n\n this.term.onResize(resizeHandler);\n resizeHandler(termInfo.columns, termInfo.rows);\n\n this.term.onInput(\n (input: string) => {\n connection.send(msgInput + input);\n }\n );\n\n pingTimer = setInterval(() => {\n connection.send(msgPing)\n }, 30 * 1000);\n\n });\n\n connection.onReceive((data) => {\n const payload = data.slice(1);\n switch (data[0]) {\n case msgOutput:\n this.term.output(\n decodeURIComponent(Array.prototype.map.call(atob(payload), function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''))\n );\n break;\n case msgPong:\n break;\n case msgSetWindowTitle:\n this.term.setWindowTitle(payload);\n break;\n case msgSetPreferences:\n const preferences = JSON.parse(payload);\n this.term.setPreferences(preferences);\n break;\n case msgSetReconnect:\n const autoReconnect = JSON.parse(payload);\n console.log(\"Enabling reconnect: \" + autoReconnect + \" seconds\")\n this.reconnect = autoReconnect;\n break;\n }\n });\n\n connection.onClose(() => {\n clearInterval(pingTimer);\n this.term.deactivate();\n this.term.showMessage(\"Connection Closed\", 0);\n if (this.reconnect > 0) {\n reconnectTimeout = setTimeout(() => {\n connection = this.connectionFactory.create();\n this.term.reset();\n setup();\n }, this.reconnect * 1000);\n }\n });\n\n connection.open();\n }\n\n setup();\n return () => {\n clearTimeout(reconnectTimeout);\n connection.close();\n }\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/webtty.ts","import * as bare from \"xterm\";\n\nbare.loadAddon(\"fit\");\n\nexport class TermXterm {\n elem: HTMLElement;\n\n message: HTMLElement;\n messageTimeout: number;\n messageTimer: number;\n\n term: bare;\n resizeListener: () => void;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n this.term = new bare();\n\n this.message = elem.ownerDocument.createElement(\"div\");\n this.message.className = \"xterm-overlay\";\n this.messageTimeout = 2000;\n\n\n this.resizeListener = () => {\n this.term.fit();\n this.term.scrollToBottom();\n this.showMessage(String(this.term.cols) + \"x\" + String(this.term.rows), this.messageTimeout);\n };\n\n this.term.on(\"open\", () => {\n this.resizeListener();\n window.addEventListener(\"resize\", () => { this.resizeListener(); });\n });\n\n this.term.open(elem, true);\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.term.cols, rows: this.term.rows };\n };\n\n output(data: string) {\n this.term.write(data);\n };\n\n showMessage(message: string, timeout: number) {\n this.message.textContent = message;\n this.elem.appendChild(this.message);\n\n if (this.messageTimer) {\n clearTimeout(this.messageTimer);\n }\n if (timeout > 0) {\n this.messageTimer = setTimeout(() => {\n this.elem.removeChild(this.message);\n }, timeout);\n }\n };\n\n removeMessage(): void {\n if (this.message.parentNode == this.elem) {\n this.elem.removeChild(this.message);\n }\n }\n\n setWindowTitle(title: string) {\n document.title = title;\n };\n\n setPreferences(value: object) {\n };\n\n onInput(callback: (input: string) => void) {\n this.term.on(\"data\", (data) => {\n callback(data);\n });\n\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.term.on(\"resize\", (data) => {\n callback(data.cols, data.rows);\n });\n };\n\n deactivate(): void {\n this.term.off(\"data\");\n this.term.off(\"resize\");\n this.term.blur();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.clear();\n }\n\n close(): void {\n window.removeEventListener(\"resize\", this.resizeListener);\n this.term.destroy();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/xterm.ts","// This file was generated by libdot/bin/concat.sh.\n// It has been marked read-only for your safety. Rather\n// than edit it directly, please modify one of these source\n// files...\n//\n// libdot/js/lib.js\n// libdot/js/lib_polyfill.js\n// libdot/js/lib_colors.js\n// libdot/js/lib_f.js\n// libdot/js/lib_message_manager.js\n// libdot/js/lib_preference_manager.js\n// libdot/js/lib_resource.js\n// libdot/js/lib_storage.js\n// libdot/js/lib_storage_chrome.js\n// libdot/js/lib_storage_local.js\n// libdot/js/lib_storage_memory.js\n// libdot/js/lib_test_manager.js\n// libdot/js/lib_utf8.js\n// libdot/third_party/wcwidth/lib_wc.js\n// hterm/js/hterm.js\n// hterm/js/hterm_frame.js\n// hterm/js/hterm_keyboard.js\n// hterm/js/hterm_keyboard_bindings.js\n// hterm/js/hterm_keyboard_keymap.js\n// hterm/js/hterm_keyboard_keypattern.js\n// hterm/js/hterm_options.js\n// hterm/js/hterm_parser.js\n// hterm/js/hterm_parser_identifiers.js\n// hterm/js/hterm_preference_manager.js\n// hterm/js/hterm_pubsub.js\n// hterm/js/hterm_screen.js\n// hterm/js/hterm_scrollport.js\n// hterm/js/hterm_terminal.js\n// hterm/js/hterm_terminal_io.js\n// hterm/js/hterm_text_attributes.js\n// hterm/js/hterm_vt.js\n// hterm/js/hterm_vt_character_map.js\n// hterm/js/hterm_export.js\n//\n\n// SOURCE FILE: libdot/js/lib.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nif (typeof lib != 'undefined')\n throw new Error('Global \"lib\" object already exists.');\n\nvar lib = {};\n\n/**\n * Map of \"dependency\" to [\"source\", ...].\n *\n * Each dependency is a object name, like \"lib.fs\", \"source\" is the url that\n * depends on the object.\n */\nlib.runtimeDependencies_ = {};\n\n/**\n * List of functions that need to be invoked during library initialization.\n *\n * Each element in the initCallbacks_ array is itself a two-element array.\n * Element 0 is a short string describing the owner of the init routine, useful\n * for debugging. Element 1 is the callback function.\n */\nlib.initCallbacks_ = [];\n\n/**\n * Records a runtime dependency.\n *\n * This can be useful when you want to express a run-time dependency at\n * compile time. It is not intended to be a full-fledged library system or\n * dependency tracker. It's just there to make it possible to debug the\n * deps without running all the code.\n *\n * Object names are specified as strings. For example...\n *\n * lib.rtdep('lib.colors', 'lib.PreferenceManager');\n *\n * Object names need not be rooted by 'lib'. You may use this to declare a\n * dependency on any object.\n *\n * The client program may call lib.ensureRuntimeDependencies() at startup in\n * order to ensure that all runtime dependencies have been met.\n *\n * @param {string} var_args One or more objects specified as strings.\n */\nlib.rtdep = function(var_args) {\n var source;\n\n try {\n throw new Error();\n } catch (ex) {\n var stackArray = ex.stack.split('\\n');\n // In Safari, the resulting stackArray will only have 2 elements and the\n // individual strings are formatted differently.\n if (stackArray.length >= 3) {\n source = stackArray[2].replace(/^\\s*at\\s+/, '');\n } else {\n source = stackArray[1].replace(/^\\s*global code@/, '');\n }\n }\n\n for (var i = 0; i < arguments.length; i++) {\n var path = arguments[i];\n if (path instanceof Array) {\n lib.rtdep.apply(lib, path);\n } else {\n var ary = this.runtimeDependencies_[path];\n if (!ary)\n ary = this.runtimeDependencies_[path] = [];\n ary.push(source);\n }\n }\n};\n\n/**\n * Ensures that all runtime dependencies are met, or an exception is thrown.\n *\n * Every unmet runtime dependency will be logged to the JS console. If at\n * least one dependency is unmet this will raise an exception.\n */\nlib.ensureRuntimeDependencies_ = function() {\n var passed = true;\n\n for (var path in lib.runtimeDependencies_) {\n var sourceList = lib.runtimeDependencies_[path];\n var names = path.split('.');\n\n // In a document context 'window' is the global object. In a worker it's\n // called 'self'.\n var obj = (window || self);\n for (var i = 0; i < names.length; i++) {\n if (!(names[i] in obj)) {\n console.warn('Missing \"' + path + '\" is needed by', sourceList);\n passed = false;\n break;\n }\n\n obj = obj[names[i]];\n }\n }\n\n if (!passed)\n throw new Error('Failed runtime dependency check');\n};\n\n/**\n * Register an initialization function.\n *\n * The initialization functions are invoked in registration order when\n * lib.init() is invoked. Each function will receive a single parameter, which\n * is a function to be invoked when it completes its part of the initialization.\n *\n * @param {string} name A short descriptive name of the init routine useful for\n * debugging.\n * @param {function(function)} callback The initialization function to register.\n * @return {function} The callback parameter.\n */\nlib.registerInit = function(name, callback) {\n lib.initCallbacks_.push([name, callback]);\n return callback;\n};\n\n/**\n * Initialize the library.\n *\n * This will ensure that all registered runtime dependencies are met, and\n * invoke any registered initialization functions.\n *\n * Initialization is asynchronous. The library is not ready for use until\n * the onInit function is invoked.\n *\n * @param {function()} onInit The function to invoke when initialization is\n * complete.\n * @param {function(*)} opt_logFunction An optional function to send\n * initialization related log messages to.\n */\nlib.init = function(onInit, opt_logFunction) {\n var ary = lib.initCallbacks_;\n\n var initNext = function() {\n if (ary.length) {\n var rec = ary.shift();\n if (opt_logFunction)\n opt_logFunction('init: ' + rec[0]);\n rec[1](lib.f.alarm(initNext));\n } else {\n onInit();\n }\n };\n\n if (typeof onInit != 'function')\n throw new Error('Missing or invalid argument: onInit');\n\n lib.ensureRuntimeDependencies_();\n\n setTimeout(initNext, 0);\n};\n// SOURCE FILE: libdot/js/lib_polyfill.js\n// Copyright 2017 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview Polyfills for ES2016+ features we want to use.\n */\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart\nif (!String.prototype.padStart) {\n String.prototype.padStart = function(targetLength, padString) {\n // If the string is already long enough, nothing to do!\n targetLength -= this.length;\n if (targetLength <= 0)\n return String(this);\n\n if (padString === undefined)\n padString = ' ';\n\n // In case the pad is multiple chars long.\n if (targetLength > padString.length)\n padString = padString.repeat((targetLength / padString.length) + 1);\n\n return padString.slice(0, targetLength) + String(this);\n };\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd\nif (!String.prototype.padEnd) {\n String.prototype.padEnd = function(targetLength, padString) {\n // If the string is already long enough, nothing to do!\n targetLength -= this.length;\n if (targetLength <= 0)\n return String(this);\n\n if (padString === undefined)\n padString = ' ';\n\n // In case the pad is multiple chars long.\n if (targetLength > padString.length)\n padString = padString.repeat((targetLength / padString.length) + 1);\n\n return String(this) + padString.slice(0, targetLength);\n };\n}\n// SOURCE FILE: libdot/js/lib_colors.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Namespace for color utilities.\n */\nlib.colors = {};\n\n/**\n * First, some canned regular expressions we're going to use in this file.\n *\n *\n * BRACE YOURSELF\n *\n * ,~~~~.\n * |>_< ~~\n * 3`---'-/.\n * 3:::::\\v\\\n * =o=:::::\\,\\\n * | :::::\\,,\\\n *\n * THE REGULAR EXPRESSIONS\n * ARE COMING.\n *\n * There's no way to break long RE literals in JavaScript. Fix that why don't\n * you? Oh, and also there's no way to write a string that doesn't interpret\n * escapes.\n *\n * Instead, we stoop to this .replace() trick.\n */\nlib.colors.re_ = {\n // CSS hex color, #RGB.\n hex16: /#([a-f0-9])([a-f0-9])([a-f0-9])/i,\n\n // CSS hex color, #RRGGBB.\n hex24: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/i,\n\n // CSS rgb color, rgb(rrr,ggg,bbb).\n rgb: new RegExp(\n ('^/s*rgb/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,' +\n '/s*(/d{1,3})/s*/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // CSS rgb color, rgb(rrr,ggg,bbb,aaa).\n rgba: new RegExp(\n ('^/s*rgba/s*' +\n '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' +\n '(?:,/s*(/d+(?:/./d+)?)/s*)/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // Either RGB or RGBA.\n rgbx: new RegExp(\n ('^/s*rgba?/s*' +\n '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' +\n '(?:,/s*(/d+(?:/./d+)?)/s*)?/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // An X11 \"rgb:dddd/dddd/dddd\" value.\n x11rgb: /^\\s*rgb:([a-f0-9]{1,4})\\/([a-f0-9]{1,4})\\/([a-f0-9]{1,4})\\s*$/i,\n\n // English color name.\n name: /[a-z][a-z0-9\\s]+/,\n};\n\n/**\n * Convert a CSS rgb(ddd,ddd,ddd) color value into an X11 color value.\n *\n * Other CSS color values are ignored to ensure sanitary data handling.\n *\n * Each 'ddd' component is a one byte value specified in decimal.\n *\n * @param {string} value The CSS color value to convert.\n * @return {string} The X11 color value or null if the value could not be\n * converted.\n */\nlib.colors.rgbToX11 = function(value) {\n function scale(v) {\n v = (Math.min(v, 255) * 257).toString(16);\n return lib.f.zpad(v, 4);\n }\n\n var ary = value.match(lib.colors.re_.rgbx);\n if (!ary)\n return null;\n\n return 'rgb:' + scale(ary[1]) + '/' + scale(ary[2]) + '/' + scale(ary[3]);\n};\n\n/**\n * Convert a legacy X11 colover value into an CSS rgb(...) color value.\n *\n * They take the form:\n * 12 bit: #RGB -> #R000G000B000\n * 24 bit: #RRGGBB -> #RR00GG00BB00\n * 36 bit: #RRRGGGBBB -> #RRR0GGG0BBB0\n * 48 bit: #RRRRGGGGBBBB\n * These are the most significant bits.\n *\n * Truncate values back down to 24 bit since that's all CSS supports.\n */\nlib.colors.x11HexToCSS = function(v) {\n if (!v.startsWith('#'))\n return null;\n // Strip the leading # off.\n v = v.substr(1);\n\n // Reject unknown sizes.\n if ([3, 6, 9, 12].indexOf(v.length) == -1)\n return null;\n\n // Reject non-hex values.\n if (v.match(/[^a-f0-9]/i))\n return null;\n\n // Split the colors out.\n var size = v.length / 3;\n var r = v.substr(0, size);\n var g = v.substr(size, size);\n var b = v.substr(size + size, size);\n\n // Normalize to 16 bits.\n function norm16(v) {\n v = parseInt(v, 16);\n return size == 2 ? v : // 16 bit\n size == 1 ? v << 4 : // 8 bit\n v >> (4 * (size - 2)); // 24 or 32 bit\n }\n return lib.colors.arrayToRGBA([r, g, b].map(norm16));\n};\n\n/**\n * Convert an X11 color value into an CSS rgb(...) color value.\n *\n * The X11 value may be an X11 color name, or an RGB value of the form\n * rgb:hhhh/hhhh/hhhh. If a component value is less than 4 digits it is\n * padded out to 4, then scaled down to fit in a single byte.\n *\n * @param {string} value The X11 color value to convert.\n * @return {string} The CSS color value or null if the value could not be\n * converted.\n */\nlib.colors.x11ToCSS = function(v) {\n function scale(v) {\n // Pad out values with less than four digits. This padding (probably)\n // matches xterm. It's difficult to say for sure since xterm seems to\n // arrive at a padded value and then perform some combination of\n // gamma correction, color space transformation, and quantization.\n\n if (v.length == 1) {\n // Single digits pad out to four by repeating the character. \"f\" becomes\n // \"ffff\". Scaling down a hex value of this pattern by 257 is the same\n // as cutting off one byte. We skip the middle step and just double\n // the character.\n return parseInt(v + v, 16);\n }\n\n if (v.length == 2) {\n // Similar deal here. X11 pads two digit values by repeating the\n // byte (or scale up by 257). Since we're going to scale it back\n // down anyway, we can just return the original value.\n return parseInt(v, 16);\n }\n\n if (v.length == 3) {\n // Three digit values seem to be padded by repeating the final digit.\n // e.g. 10f becomes 10ff.\n v = v + v.substr(2);\n }\n\n // Scale down the 2 byte value.\n return Math.round(parseInt(v, 16) / 257);\n }\n\n var ary = v.match(lib.colors.re_.x11rgb);\n if (!ary) {\n // Handle the legacy format.\n if (v.startsWith('#'))\n return lib.colors.x11HexToCSS(v);\n else\n return lib.colors.nameToRGB(v);\n }\n\n ary.splice(0, 1);\n return lib.colors.arrayToRGBA(ary.map(scale));\n};\n\n/**\n * Converts one or more CSS '#RRGGBB' color values into their rgb(...)\n * form.\n *\n * Arrays are converted in place. If a value cannot be converted, it is\n * replaced with null.\n *\n * @param {string|Array.} A single RGB value or array of RGB values to\n * convert.\n * @return {string|Array.} The converted value or values.\n */\nlib.colors.hexToRGB = function(arg) {\n var hex16 = lib.colors.re_.hex16;\n var hex24 = lib.colors.re_.hex24;\n\n function convert(hex) {\n if (hex.length == 4) {\n hex = hex.replace(hex16, function(h, r, g, b) {\n return \"#\" + r + r + g + g + b + b;\n });\n }\n var ary = hex.match(hex24);\n if (!ary)\n return null;\n\n return 'rgb(' + parseInt(ary[1], 16) + ', ' +\n parseInt(ary[2], 16) + ', ' +\n parseInt(ary[3], 16) + ')';\n }\n\n if (arg instanceof Array) {\n for (var i = 0; i < arg.length; i++) {\n arg[i] = convert(arg[i]);\n }\n } else {\n arg = convert(arg);\n }\n\n return arg;\n};\n\n/**\n * Converts one or more CSS rgb(...) forms into their '#RRGGBB' color values.\n *\n * If given an rgba(...) form, the alpha field is thrown away.\n *\n * Arrays are converted in place. If a value cannot be converted, it is\n * replaced with null.\n *\n * @param {string|Array.} A single rgb(...) value or array of rgb(...)\n * values to convert.\n * @return {string|Array.} The converted value or values.\n */\nlib.colors.rgbToHex = function(arg) {\n function convert(rgb) {\n var ary = lib.colors.crackRGB(rgb);\n if (!ary)\n return null;\n return '#' + lib.f.zpad(((parseInt(ary[0]) << 16) |\n (parseInt(ary[1]) << 8) |\n (parseInt(ary[2]) << 0)).toString(16), 6);\n }\n\n if (arg instanceof Array) {\n for (var i = 0; i < arg.length; i++) {\n arg[i] = convert(arg[i]);\n }\n } else {\n arg = convert(arg);\n }\n\n return arg;\n};\n\n/**\n * Take any valid css color definition and turn it into an rgb or rgba value.\n *\n * Returns null if the value could not be normalized.\n */\nlib.colors.normalizeCSS = function(def) {\n if (def.startsWith('#'))\n return lib.colors.hexToRGB(def);\n\n if (lib.colors.re_.rgbx.test(def))\n return def;\n\n return lib.colors.nameToRGB(def);\n};\n\n/**\n * Convert a 3 or 4 element array into an rgba(...) string.\n */\nlib.colors.arrayToRGBA = function(ary) {\n var alpha = (ary.length > 3) ? ary[3] : 1;\n return 'rgba(' + ary[0] + ', ' + ary[1] + ', ' + ary[2] + ', ' + alpha + ')';\n};\n\n/**\n * Overwrite the alpha channel of an rgb/rgba color.\n */\nlib.colors.setAlpha = function(rgb, alpha) {\n var ary = lib.colors.crackRGB(rgb);\n ary[3] = alpha;\n return lib.colors.arrayToRGBA(ary);\n};\n\n/**\n * Mix a percentage of a tint color into a base color.\n */\nlib.colors.mix = function(base, tint, percent) {\n var ary1 = lib.colors.crackRGB(base);\n var ary2 = lib.colors.crackRGB(tint);\n\n for (var i = 0; i < 4; ++i) {\n var diff = ary2[i] - ary1[i];\n ary1[i] = Math.round(parseInt(ary1[i]) + diff * percent);\n }\n\n return lib.colors.arrayToRGBA(ary1);\n};\n\n/**\n * Split an rgb/rgba color into an array of its components.\n *\n * On success, a 4 element array will be returned. For rgb values, the alpha\n * will be set to 1.\n */\nlib.colors.crackRGB = function(color) {\n if (color.startsWith('rgba')) {\n var ary = color.match(lib.colors.re_.rgba);\n if (ary) {\n ary.shift();\n return ary;\n }\n } else {\n var ary = color.match(lib.colors.re_.rgb);\n if (ary) {\n ary.shift();\n ary.push(1);\n return ary;\n }\n }\n\n console.error('Couldn\\'t crack: ' + color);\n return null;\n};\n\n/**\n * Convert an X11 color name into a CSS rgb(...) value.\n *\n * Names are stripped of spaces and converted to lowercase. If the name is\n * unknown, null is returned.\n *\n * This list of color name to RGB mapping is derived from the stock X11\n * rgb.txt file.\n *\n * @param {string} name The color name to convert.\n * @return {string} The corresponding CSS rgb(...) value.\n */\nlib.colors.nameToRGB = function(name) {\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n name = name.toLowerCase();\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n name = name.replace(/\\s+/g, '');\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n return null;\n};\n\n/**\n * The stock color palette.\n */\nlib.colors.stockColorPalette = lib.colors.hexToRGB\n ([// The \"ANSI 16\"...\n '#000000', '#CC0000', '#4E9A06', '#C4A000',\n '#3465A4', '#75507B', '#06989A', '#D3D7CF',\n '#555753', '#EF2929', '#00BA13', '#FCE94F',\n '#729FCF', '#F200CB', '#00B5BD', '#EEEEEC',\n\n // The 6x6 color cubes...\n '#000000', '#00005F', '#000087', '#0000AF', '#0000D7', '#0000FF',\n '#005F00', '#005F5F', '#005F87', '#005FAF', '#005FD7', '#005FFF',\n '#008700', '#00875F', '#008787', '#0087AF', '#0087D7', '#0087FF',\n '#00AF00', '#00AF5F', '#00AF87', '#00AFAF', '#00AFD7', '#00AFFF',\n '#00D700', '#00D75F', '#00D787', '#00D7AF', '#00D7D7', '#00D7FF',\n '#00FF00', '#00FF5F', '#00FF87', '#00FFAF', '#00FFD7', '#00FFFF',\n\n '#5F0000', '#5F005F', '#5F0087', '#5F00AF', '#5F00D7', '#5F00FF',\n '#5F5F00', '#5F5F5F', '#5F5F87', '#5F5FAF', '#5F5FD7', '#5F5FFF',\n '#5F8700', '#5F875F', '#5F8787', '#5F87AF', '#5F87D7', '#5F87FF',\n '#5FAF00', '#5FAF5F', '#5FAF87', '#5FAFAF', '#5FAFD7', '#5FAFFF',\n '#5FD700', '#5FD75F', '#5FD787', '#5FD7AF', '#5FD7D7', '#5FD7FF',\n '#5FFF00', '#5FFF5F', '#5FFF87', '#5FFFAF', '#5FFFD7', '#5FFFFF',\n\n '#870000', '#87005F', '#870087', '#8700AF', '#8700D7', '#8700FF',\n '#875F00', '#875F5F', '#875F87', '#875FAF', '#875FD7', '#875FFF',\n '#878700', '#87875F', '#878787', '#8787AF', '#8787D7', '#8787FF',\n '#87AF00', '#87AF5F', '#87AF87', '#87AFAF', '#87AFD7', '#87AFFF',\n '#87D700', '#87D75F', '#87D787', '#87D7AF', '#87D7D7', '#87D7FF',\n '#87FF00', '#87FF5F', '#87FF87', '#87FFAF', '#87FFD7', '#87FFFF',\n\n '#AF0000', '#AF005F', '#AF0087', '#AF00AF', '#AF00D7', '#AF00FF',\n '#AF5F00', '#AF5F5F', '#AF5F87', '#AF5FAF', '#AF5FD7', '#AF5FFF',\n '#AF8700', '#AF875F', '#AF8787', '#AF87AF', '#AF87D7', '#AF87FF',\n '#AFAF00', '#AFAF5F', '#AFAF87', '#AFAFAF', '#AFAFD7', '#AFAFFF',\n '#AFD700', '#AFD75F', '#AFD787', '#AFD7AF', '#AFD7D7', '#AFD7FF',\n '#AFFF00', '#AFFF5F', '#AFFF87', '#AFFFAF', '#AFFFD7', '#AFFFFF',\n\n '#D70000', '#D7005F', '#D70087', '#D700AF', '#D700D7', '#D700FF',\n '#D75F00', '#D75F5F', '#D75F87', '#D75FAF', '#D75FD7', '#D75FFF',\n '#D78700', '#D7875F', '#D78787', '#D787AF', '#D787D7', '#D787FF',\n '#D7AF00', '#D7AF5F', '#D7AF87', '#D7AFAF', '#D7AFD7', '#D7AFFF',\n '#D7D700', '#D7D75F', '#D7D787', '#D7D7AF', '#D7D7D7', '#D7D7FF',\n '#D7FF00', '#D7FF5F', '#D7FF87', '#D7FFAF', '#D7FFD7', '#D7FFFF',\n\n '#FF0000', '#FF005F', '#FF0087', '#FF00AF', '#FF00D7', '#FF00FF',\n '#FF5F00', '#FF5F5F', '#FF5F87', '#FF5FAF', '#FF5FD7', '#FF5FFF',\n '#FF8700', '#FF875F', '#FF8787', '#FF87AF', '#FF87D7', '#FF87FF',\n '#FFAF00', '#FFAF5F', '#FFAF87', '#FFAFAF', '#FFAFD7', '#FFAFFF',\n '#FFD700', '#FFD75F', '#FFD787', '#FFD7AF', '#FFD7D7', '#FFD7FF',\n '#FFFF00', '#FFFF5F', '#FFFF87', '#FFFFAF', '#FFFFD7', '#FFFFFF',\n\n // The greyscale ramp...\n '#080808', '#121212', '#1C1C1C', '#262626', '#303030', '#3A3A3A',\n '#444444', '#4E4E4E', '#585858', '#626262', '#6C6C6C', '#767676',\n '#808080', '#8A8A8A', '#949494', '#9E9E9E', '#A8A8A8', '#B2B2B2',\n '#BCBCBC', '#C6C6C6', '#D0D0D0', '#DADADA', '#E4E4E4', '#EEEEEE'\n ]);\n\n/**\n * The current color palette, possibly with user changes.\n */\nlib.colors.colorPalette = lib.colors.stockColorPalette;\n\n/**\n * Named colors according to the stock X11 rgb.txt file.\n */\nlib.colors.colorNames = {\n \"aliceblue\": \"rgb(240, 248, 255)\",\n \"antiquewhite\": \"rgb(250, 235, 215)\",\n \"antiquewhite1\": \"rgb(255, 239, 219)\",\n \"antiquewhite2\": \"rgb(238, 223, 204)\",\n \"antiquewhite3\": \"rgb(205, 192, 176)\",\n \"antiquewhite4\": \"rgb(139, 131, 120)\",\n \"aquamarine\": \"rgb(127, 255, 212)\",\n \"aquamarine1\": \"rgb(127, 255, 212)\",\n \"aquamarine2\": \"rgb(118, 238, 198)\",\n \"aquamarine3\": \"rgb(102, 205, 170)\",\n \"aquamarine4\": \"rgb(69, 139, 116)\",\n \"azure\": \"rgb(240, 255, 255)\",\n \"azure1\": \"rgb(240, 255, 255)\",\n \"azure2\": \"rgb(224, 238, 238)\",\n \"azure3\": \"rgb(193, 205, 205)\",\n \"azure4\": \"rgb(131, 139, 139)\",\n \"beige\": \"rgb(245, 245, 220)\",\n \"bisque\": \"rgb(255, 228, 196)\",\n \"bisque1\": \"rgb(255, 228, 196)\",\n \"bisque2\": \"rgb(238, 213, 183)\",\n \"bisque3\": \"rgb(205, 183, 158)\",\n \"bisque4\": \"rgb(139, 125, 107)\",\n \"black\": \"rgb(0, 0, 0)\",\n \"blanchedalmond\": \"rgb(255, 235, 205)\",\n \"blue\": \"rgb(0, 0, 255)\",\n \"blue1\": \"rgb(0, 0, 255)\",\n \"blue2\": \"rgb(0, 0, 238)\",\n \"blue3\": \"rgb(0, 0, 205)\",\n \"blue4\": \"rgb(0, 0, 139)\",\n \"blueviolet\": \"rgb(138, 43, 226)\",\n \"brown\": \"rgb(165, 42, 42)\",\n \"brown1\": \"rgb(255, 64, 64)\",\n \"brown2\": \"rgb(238, 59, 59)\",\n \"brown3\": \"rgb(205, 51, 51)\",\n \"brown4\": \"rgb(139, 35, 35)\",\n \"burlywood\": \"rgb(222, 184, 135)\",\n \"burlywood1\": \"rgb(255, 211, 155)\",\n \"burlywood2\": \"rgb(238, 197, 145)\",\n \"burlywood3\": \"rgb(205, 170, 125)\",\n \"burlywood4\": \"rgb(139, 115, 85)\",\n \"cadetblue\": \"rgb(95, 158, 160)\",\n \"cadetblue1\": \"rgb(152, 245, 255)\",\n \"cadetblue2\": \"rgb(142, 229, 238)\",\n \"cadetblue3\": \"rgb(122, 197, 205)\",\n \"cadetblue4\": \"rgb(83, 134, 139)\",\n \"chartreuse\": \"rgb(127, 255, 0)\",\n \"chartreuse1\": \"rgb(127, 255, 0)\",\n \"chartreuse2\": \"rgb(118, 238, 0)\",\n \"chartreuse3\": \"rgb(102, 205, 0)\",\n \"chartreuse4\": \"rgb(69, 139, 0)\",\n \"chocolate\": \"rgb(210, 105, 30)\",\n \"chocolate1\": \"rgb(255, 127, 36)\",\n \"chocolate2\": \"rgb(238, 118, 33)\",\n \"chocolate3\": \"rgb(205, 102, 29)\",\n \"chocolate4\": \"rgb(139, 69, 19)\",\n \"coral\": \"rgb(255, 127, 80)\",\n \"coral1\": \"rgb(255, 114, 86)\",\n \"coral2\": \"rgb(238, 106, 80)\",\n \"coral3\": \"rgb(205, 91, 69)\",\n \"coral4\": \"rgb(139, 62, 47)\",\n \"cornflowerblue\": \"rgb(100, 149, 237)\",\n \"cornsilk\": \"rgb(255, 248, 220)\",\n \"cornsilk1\": \"rgb(255, 248, 220)\",\n \"cornsilk2\": \"rgb(238, 232, 205)\",\n \"cornsilk3\": \"rgb(205, 200, 177)\",\n \"cornsilk4\": \"rgb(139, 136, 120)\",\n \"cyan\": \"rgb(0, 255, 255)\",\n \"cyan1\": \"rgb(0, 255, 255)\",\n \"cyan2\": \"rgb(0, 238, 238)\",\n \"cyan3\": \"rgb(0, 205, 205)\",\n \"cyan4\": \"rgb(0, 139, 139)\",\n \"darkblue\": \"rgb(0, 0, 139)\",\n \"darkcyan\": \"rgb(0, 139, 139)\",\n \"darkgoldenrod\": \"rgb(184, 134, 11)\",\n \"darkgoldenrod1\": \"rgb(255, 185, 15)\",\n \"darkgoldenrod2\": \"rgb(238, 173, 14)\",\n \"darkgoldenrod3\": \"rgb(205, 149, 12)\",\n \"darkgoldenrod4\": \"rgb(139, 101, 8)\",\n \"darkgray\": \"rgb(169, 169, 169)\",\n \"darkgreen\": \"rgb(0, 100, 0)\",\n \"darkgrey\": \"rgb(169, 169, 169)\",\n \"darkkhaki\": \"rgb(189, 183, 107)\",\n \"darkmagenta\": \"rgb(139, 0, 139)\",\n \"darkolivegreen\": \"rgb(85, 107, 47)\",\n \"darkolivegreen1\": \"rgb(202, 255, 112)\",\n \"darkolivegreen2\": \"rgb(188, 238, 104)\",\n \"darkolivegreen3\": \"rgb(162, 205, 90)\",\n \"darkolivegreen4\": \"rgb(110, 139, 61)\",\n \"darkorange\": \"rgb(255, 140, 0)\",\n \"darkorange1\": \"rgb(255, 127, 0)\",\n \"darkorange2\": \"rgb(238, 118, 0)\",\n \"darkorange3\": \"rgb(205, 102, 0)\",\n \"darkorange4\": \"rgb(139, 69, 0)\",\n \"darkorchid\": \"rgb(153, 50, 204)\",\n \"darkorchid1\": \"rgb(191, 62, 255)\",\n \"darkorchid2\": \"rgb(178, 58, 238)\",\n \"darkorchid3\": \"rgb(154, 50, 205)\",\n \"darkorchid4\": \"rgb(104, 34, 139)\",\n \"darkred\": \"rgb(139, 0, 0)\",\n \"darksalmon\": \"rgb(233, 150, 122)\",\n \"darkseagreen\": \"rgb(143, 188, 143)\",\n \"darkseagreen1\": \"rgb(193, 255, 193)\",\n \"darkseagreen2\": \"rgb(180, 238, 180)\",\n \"darkseagreen3\": \"rgb(155, 205, 155)\",\n \"darkseagreen4\": \"rgb(105, 139, 105)\",\n \"darkslateblue\": \"rgb(72, 61, 139)\",\n \"darkslategray\": \"rgb(47, 79, 79)\",\n \"darkslategray1\": \"rgb(151, 255, 255)\",\n \"darkslategray2\": \"rgb(141, 238, 238)\",\n \"darkslategray3\": \"rgb(121, 205, 205)\",\n \"darkslategray4\": \"rgb(82, 139, 139)\",\n \"darkslategrey\": \"rgb(47, 79, 79)\",\n \"darkturquoise\": \"rgb(0, 206, 209)\",\n \"darkviolet\": \"rgb(148, 0, 211)\",\n \"debianred\": \"rgb(215, 7, 81)\",\n \"deeppink\": \"rgb(255, 20, 147)\",\n \"deeppink1\": \"rgb(255, 20, 147)\",\n \"deeppink2\": \"rgb(238, 18, 137)\",\n \"deeppink3\": \"rgb(205, 16, 118)\",\n \"deeppink4\": \"rgb(139, 10, 80)\",\n \"deepskyblue\": \"rgb(0, 191, 255)\",\n \"deepskyblue1\": \"rgb(0, 191, 255)\",\n \"deepskyblue2\": \"rgb(0, 178, 238)\",\n \"deepskyblue3\": \"rgb(0, 154, 205)\",\n \"deepskyblue4\": \"rgb(0, 104, 139)\",\n \"dimgray\": \"rgb(105, 105, 105)\",\n \"dimgrey\": \"rgb(105, 105, 105)\",\n \"dodgerblue\": \"rgb(30, 144, 255)\",\n \"dodgerblue1\": \"rgb(30, 144, 255)\",\n \"dodgerblue2\": \"rgb(28, 134, 238)\",\n \"dodgerblue3\": \"rgb(24, 116, 205)\",\n \"dodgerblue4\": \"rgb(16, 78, 139)\",\n \"firebrick\": \"rgb(178, 34, 34)\",\n \"firebrick1\": \"rgb(255, 48, 48)\",\n \"firebrick2\": \"rgb(238, 44, 44)\",\n \"firebrick3\": \"rgb(205, 38, 38)\",\n \"firebrick4\": \"rgb(139, 26, 26)\",\n \"floralwhite\": \"rgb(255, 250, 240)\",\n \"forestgreen\": \"rgb(34, 139, 34)\",\n \"gainsboro\": \"rgb(220, 220, 220)\",\n \"ghostwhite\": \"rgb(248, 248, 255)\",\n \"gold\": \"rgb(255, 215, 0)\",\n \"gold1\": \"rgb(255, 215, 0)\",\n \"gold2\": \"rgb(238, 201, 0)\",\n \"gold3\": \"rgb(205, 173, 0)\",\n \"gold4\": \"rgb(139, 117, 0)\",\n \"goldenrod\": \"rgb(218, 165, 32)\",\n \"goldenrod1\": \"rgb(255, 193, 37)\",\n \"goldenrod2\": \"rgb(238, 180, 34)\",\n \"goldenrod3\": \"rgb(205, 155, 29)\",\n \"goldenrod4\": \"rgb(139, 105, 20)\",\n \"gray\": \"rgb(190, 190, 190)\",\n \"gray0\": \"rgb(0, 0, 0)\",\n \"gray1\": \"rgb(3, 3, 3)\",\n \"gray10\": \"rgb(26, 26, 26)\",\n \"gray100\": \"rgb(255, 255, 255)\",\n \"gray11\": \"rgb(28, 28, 28)\",\n \"gray12\": \"rgb(31, 31, 31)\",\n \"gray13\": \"rgb(33, 33, 33)\",\n \"gray14\": \"rgb(36, 36, 36)\",\n \"gray15\": \"rgb(38, 38, 38)\",\n \"gray16\": \"rgb(41, 41, 41)\",\n \"gray17\": \"rgb(43, 43, 43)\",\n \"gray18\": \"rgb(46, 46, 46)\",\n \"gray19\": \"rgb(48, 48, 48)\",\n \"gray2\": \"rgb(5, 5, 5)\",\n \"gray20\": \"rgb(51, 51, 51)\",\n \"gray21\": \"rgb(54, 54, 54)\",\n \"gray22\": \"rgb(56, 56, 56)\",\n \"gray23\": \"rgb(59, 59, 59)\",\n \"gray24\": \"rgb(61, 61, 61)\",\n \"gray25\": \"rgb(64, 64, 64)\",\n \"gray26\": \"rgb(66, 66, 66)\",\n \"gray27\": \"rgb(69, 69, 69)\",\n \"gray28\": \"rgb(71, 71, 71)\",\n \"gray29\": \"rgb(74, 74, 74)\",\n \"gray3\": \"rgb(8, 8, 8)\",\n \"gray30\": \"rgb(77, 77, 77)\",\n \"gray31\": \"rgb(79, 79, 79)\",\n \"gray32\": \"rgb(82, 82, 82)\",\n \"gray33\": \"rgb(84, 84, 84)\",\n \"gray34\": \"rgb(87, 87, 87)\",\n \"gray35\": \"rgb(89, 89, 89)\",\n \"gray36\": \"rgb(92, 92, 92)\",\n \"gray37\": \"rgb(94, 94, 94)\",\n \"gray38\": \"rgb(97, 97, 97)\",\n \"gray39\": \"rgb(99, 99, 99)\",\n \"gray4\": \"rgb(10, 10, 10)\",\n \"gray40\": \"rgb(102, 102, 102)\",\n \"gray41\": \"rgb(105, 105, 105)\",\n \"gray42\": \"rgb(107, 107, 107)\",\n \"gray43\": \"rgb(110, 110, 110)\",\n \"gray44\": \"rgb(112, 112, 112)\",\n \"gray45\": \"rgb(115, 115, 115)\",\n \"gray46\": \"rgb(117, 117, 117)\",\n \"gray47\": \"rgb(120, 120, 120)\",\n \"gray48\": \"rgb(122, 122, 122)\",\n \"gray49\": \"rgb(125, 125, 125)\",\n \"gray5\": \"rgb(13, 13, 13)\",\n \"gray50\": \"rgb(127, 127, 127)\",\n \"gray51\": \"rgb(130, 130, 130)\",\n \"gray52\": \"rgb(133, 133, 133)\",\n \"gray53\": \"rgb(135, 135, 135)\",\n \"gray54\": \"rgb(138, 138, 138)\",\n \"gray55\": \"rgb(140, 140, 140)\",\n \"gray56\": \"rgb(143, 143, 143)\",\n \"gray57\": \"rgb(145, 145, 145)\",\n \"gray58\": \"rgb(148, 148, 148)\",\n \"gray59\": \"rgb(150, 150, 150)\",\n \"gray6\": \"rgb(15, 15, 15)\",\n \"gray60\": \"rgb(153, 153, 153)\",\n \"gray61\": \"rgb(156, 156, 156)\",\n \"gray62\": \"rgb(158, 158, 158)\",\n \"gray63\": \"rgb(161, 161, 161)\",\n \"gray64\": \"rgb(163, 163, 163)\",\n \"gray65\": \"rgb(166, 166, 166)\",\n \"gray66\": \"rgb(168, 168, 168)\",\n \"gray67\": \"rgb(171, 171, 171)\",\n \"gray68\": \"rgb(173, 173, 173)\",\n \"gray69\": \"rgb(176, 176, 176)\",\n \"gray7\": \"rgb(18, 18, 18)\",\n \"gray70\": \"rgb(179, 179, 179)\",\n \"gray71\": \"rgb(181, 181, 181)\",\n \"gray72\": \"rgb(184, 184, 184)\",\n \"gray73\": \"rgb(186, 186, 186)\",\n \"gray74\": \"rgb(189, 189, 189)\",\n \"gray75\": \"rgb(191, 191, 191)\",\n \"gray76\": \"rgb(194, 194, 194)\",\n \"gray77\": \"rgb(196, 196, 196)\",\n \"gray78\": \"rgb(199, 199, 199)\",\n \"gray79\": \"rgb(201, 201, 201)\",\n \"gray8\": \"rgb(20, 20, 20)\",\n \"gray80\": \"rgb(204, 204, 204)\",\n \"gray81\": \"rgb(207, 207, 207)\",\n \"gray82\": \"rgb(209, 209, 209)\",\n \"gray83\": \"rgb(212, 212, 212)\",\n \"gray84\": \"rgb(214, 214, 214)\",\n \"gray85\": \"rgb(217, 217, 217)\",\n \"gray86\": \"rgb(219, 219, 219)\",\n \"gray87\": \"rgb(222, 222, 222)\",\n \"gray88\": \"rgb(224, 224, 224)\",\n \"gray89\": \"rgb(227, 227, 227)\",\n \"gray9\": \"rgb(23, 23, 23)\",\n \"gray90\": \"rgb(229, 229, 229)\",\n \"gray91\": \"rgb(232, 232, 232)\",\n \"gray92\": \"rgb(235, 235, 235)\",\n \"gray93\": \"rgb(237, 237, 237)\",\n \"gray94\": \"rgb(240, 240, 240)\",\n \"gray95\": \"rgb(242, 242, 242)\",\n \"gray96\": \"rgb(245, 245, 245)\",\n \"gray97\": \"rgb(247, 247, 247)\",\n \"gray98\": \"rgb(250, 250, 250)\",\n \"gray99\": \"rgb(252, 252, 252)\",\n \"green\": \"rgb(0, 255, 0)\",\n \"green1\": \"rgb(0, 255, 0)\",\n \"green2\": \"rgb(0, 238, 0)\",\n \"green3\": \"rgb(0, 205, 0)\",\n \"green4\": \"rgb(0, 139, 0)\",\n \"greenyellow\": \"rgb(173, 255, 47)\",\n \"grey\": \"rgb(190, 190, 190)\",\n \"grey0\": \"rgb(0, 0, 0)\",\n \"grey1\": \"rgb(3, 3, 3)\",\n \"grey10\": \"rgb(26, 26, 26)\",\n \"grey100\": \"rgb(255, 255, 255)\",\n \"grey11\": \"rgb(28, 28, 28)\",\n \"grey12\": \"rgb(31, 31, 31)\",\n \"grey13\": \"rgb(33, 33, 33)\",\n \"grey14\": \"rgb(36, 36, 36)\",\n \"grey15\": \"rgb(38, 38, 38)\",\n \"grey16\": \"rgb(41, 41, 41)\",\n \"grey17\": \"rgb(43, 43, 43)\",\n \"grey18\": \"rgb(46, 46, 46)\",\n \"grey19\": \"rgb(48, 48, 48)\",\n \"grey2\": \"rgb(5, 5, 5)\",\n \"grey20\": \"rgb(51, 51, 51)\",\n \"grey21\": \"rgb(54, 54, 54)\",\n \"grey22\": \"rgb(56, 56, 56)\",\n \"grey23\": \"rgb(59, 59, 59)\",\n \"grey24\": \"rgb(61, 61, 61)\",\n \"grey25\": \"rgb(64, 64, 64)\",\n \"grey26\": \"rgb(66, 66, 66)\",\n \"grey27\": \"rgb(69, 69, 69)\",\n \"grey28\": \"rgb(71, 71, 71)\",\n \"grey29\": \"rgb(74, 74, 74)\",\n \"grey3\": \"rgb(8, 8, 8)\",\n \"grey30\": \"rgb(77, 77, 77)\",\n \"grey31\": \"rgb(79, 79, 79)\",\n \"grey32\": \"rgb(82, 82, 82)\",\n \"grey33\": \"rgb(84, 84, 84)\",\n \"grey34\": \"rgb(87, 87, 87)\",\n \"grey35\": \"rgb(89, 89, 89)\",\n \"grey36\": \"rgb(92, 92, 92)\",\n \"grey37\": \"rgb(94, 94, 94)\",\n \"grey38\": \"rgb(97, 97, 97)\",\n \"grey39\": \"rgb(99, 99, 99)\",\n \"grey4\": \"rgb(10, 10, 10)\",\n \"grey40\": \"rgb(102, 102, 102)\",\n \"grey41\": \"rgb(105, 105, 105)\",\n \"grey42\": \"rgb(107, 107, 107)\",\n \"grey43\": \"rgb(110, 110, 110)\",\n \"grey44\": \"rgb(112, 112, 112)\",\n \"grey45\": \"rgb(115, 115, 115)\",\n \"grey46\": \"rgb(117, 117, 117)\",\n \"grey47\": \"rgb(120, 120, 120)\",\n \"grey48\": \"rgb(122, 122, 122)\",\n \"grey49\": \"rgb(125, 125, 125)\",\n \"grey5\": \"rgb(13, 13, 13)\",\n \"grey50\": \"rgb(127, 127, 127)\",\n \"grey51\": \"rgb(130, 130, 130)\",\n \"grey52\": \"rgb(133, 133, 133)\",\n \"grey53\": \"rgb(135, 135, 135)\",\n \"grey54\": \"rgb(138, 138, 138)\",\n \"grey55\": \"rgb(140, 140, 140)\",\n \"grey56\": \"rgb(143, 143, 143)\",\n \"grey57\": \"rgb(145, 145, 145)\",\n \"grey58\": \"rgb(148, 148, 148)\",\n \"grey59\": \"rgb(150, 150, 150)\",\n \"grey6\": \"rgb(15, 15, 15)\",\n \"grey60\": \"rgb(153, 153, 153)\",\n \"grey61\": \"rgb(156, 156, 156)\",\n \"grey62\": \"rgb(158, 158, 158)\",\n \"grey63\": \"rgb(161, 161, 161)\",\n \"grey64\": \"rgb(163, 163, 163)\",\n \"grey65\": \"rgb(166, 166, 166)\",\n \"grey66\": \"rgb(168, 168, 168)\",\n \"grey67\": \"rgb(171, 171, 171)\",\n \"grey68\": \"rgb(173, 173, 173)\",\n \"grey69\": \"rgb(176, 176, 176)\",\n \"grey7\": \"rgb(18, 18, 18)\",\n \"grey70\": \"rgb(179, 179, 179)\",\n \"grey71\": \"rgb(181, 181, 181)\",\n \"grey72\": \"rgb(184, 184, 184)\",\n \"grey73\": \"rgb(186, 186, 186)\",\n \"grey74\": \"rgb(189, 189, 189)\",\n \"grey75\": \"rgb(191, 191, 191)\",\n \"grey76\": \"rgb(194, 194, 194)\",\n \"grey77\": \"rgb(196, 196, 196)\",\n \"grey78\": \"rgb(199, 199, 199)\",\n \"grey79\": \"rgb(201, 201, 201)\",\n \"grey8\": \"rgb(20, 20, 20)\",\n \"grey80\": \"rgb(204, 204, 204)\",\n \"grey81\": \"rgb(207, 207, 207)\",\n \"grey82\": \"rgb(209, 209, 209)\",\n \"grey83\": \"rgb(212, 212, 212)\",\n \"grey84\": \"rgb(214, 214, 214)\",\n \"grey85\": \"rgb(217, 217, 217)\",\n \"grey86\": \"rgb(219, 219, 219)\",\n \"grey87\": \"rgb(222, 222, 222)\",\n \"grey88\": \"rgb(224, 224, 224)\",\n \"grey89\": \"rgb(227, 227, 227)\",\n \"grey9\": \"rgb(23, 23, 23)\",\n \"grey90\": \"rgb(229, 229, 229)\",\n \"grey91\": \"rgb(232, 232, 232)\",\n \"grey92\": \"rgb(235, 235, 235)\",\n \"grey93\": \"rgb(237, 237, 237)\",\n \"grey94\": \"rgb(240, 240, 240)\",\n \"grey95\": \"rgb(242, 242, 242)\",\n \"grey96\": \"rgb(245, 245, 245)\",\n \"grey97\": \"rgb(247, 247, 247)\",\n \"grey98\": \"rgb(250, 250, 250)\",\n \"grey99\": \"rgb(252, 252, 252)\",\n \"honeydew\": \"rgb(240, 255, 240)\",\n \"honeydew1\": \"rgb(240, 255, 240)\",\n \"honeydew2\": \"rgb(224, 238, 224)\",\n \"honeydew3\": \"rgb(193, 205, 193)\",\n \"honeydew4\": \"rgb(131, 139, 131)\",\n \"hotpink\": \"rgb(255, 105, 180)\",\n \"hotpink1\": \"rgb(255, 110, 180)\",\n \"hotpink2\": \"rgb(238, 106, 167)\",\n \"hotpink3\": \"rgb(205, 96, 144)\",\n \"hotpink4\": \"rgb(139, 58, 98)\",\n \"indianred\": \"rgb(205, 92, 92)\",\n \"indianred1\": \"rgb(255, 106, 106)\",\n \"indianred2\": \"rgb(238, 99, 99)\",\n \"indianred3\": \"rgb(205, 85, 85)\",\n \"indianred4\": \"rgb(139, 58, 58)\",\n \"ivory\": \"rgb(255, 255, 240)\",\n \"ivory1\": \"rgb(255, 255, 240)\",\n \"ivory2\": \"rgb(238, 238, 224)\",\n \"ivory3\": \"rgb(205, 205, 193)\",\n \"ivory4\": \"rgb(139, 139, 131)\",\n \"khaki\": \"rgb(240, 230, 140)\",\n \"khaki1\": \"rgb(255, 246, 143)\",\n \"khaki2\": \"rgb(238, 230, 133)\",\n \"khaki3\": \"rgb(205, 198, 115)\",\n \"khaki4\": \"rgb(139, 134, 78)\",\n \"lavender\": \"rgb(230, 230, 250)\",\n \"lavenderblush\": \"rgb(255, 240, 245)\",\n \"lavenderblush1\": \"rgb(255, 240, 245)\",\n \"lavenderblush2\": \"rgb(238, 224, 229)\",\n \"lavenderblush3\": \"rgb(205, 193, 197)\",\n \"lavenderblush4\": \"rgb(139, 131, 134)\",\n \"lawngreen\": \"rgb(124, 252, 0)\",\n \"lemonchiffon\": \"rgb(255, 250, 205)\",\n \"lemonchiffon1\": \"rgb(255, 250, 205)\",\n \"lemonchiffon2\": \"rgb(238, 233, 191)\",\n \"lemonchiffon3\": \"rgb(205, 201, 165)\",\n \"lemonchiffon4\": \"rgb(139, 137, 112)\",\n \"lightblue\": \"rgb(173, 216, 230)\",\n \"lightblue1\": \"rgb(191, 239, 255)\",\n \"lightblue2\": \"rgb(178, 223, 238)\",\n \"lightblue3\": \"rgb(154, 192, 205)\",\n \"lightblue4\": \"rgb(104, 131, 139)\",\n \"lightcoral\": \"rgb(240, 128, 128)\",\n \"lightcyan\": \"rgb(224, 255, 255)\",\n \"lightcyan1\": \"rgb(224, 255, 255)\",\n \"lightcyan2\": \"rgb(209, 238, 238)\",\n \"lightcyan3\": \"rgb(180, 205, 205)\",\n \"lightcyan4\": \"rgb(122, 139, 139)\",\n \"lightgoldenrod\": \"rgb(238, 221, 130)\",\n \"lightgoldenrod1\": \"rgb(255, 236, 139)\",\n \"lightgoldenrod2\": \"rgb(238, 220, 130)\",\n \"lightgoldenrod3\": \"rgb(205, 190, 112)\",\n \"lightgoldenrod4\": \"rgb(139, 129, 76)\",\n \"lightgoldenrodyellow\": \"rgb(250, 250, 210)\",\n \"lightgray\": \"rgb(211, 211, 211)\",\n \"lightgreen\": \"rgb(144, 238, 144)\",\n \"lightgrey\": \"rgb(211, 211, 211)\",\n \"lightpink\": \"rgb(255, 182, 193)\",\n \"lightpink1\": \"rgb(255, 174, 185)\",\n \"lightpink2\": \"rgb(238, 162, 173)\",\n \"lightpink3\": \"rgb(205, 140, 149)\",\n \"lightpink4\": \"rgb(139, 95, 101)\",\n \"lightsalmon\": \"rgb(255, 160, 122)\",\n \"lightsalmon1\": \"rgb(255, 160, 122)\",\n \"lightsalmon2\": \"rgb(238, 149, 114)\",\n \"lightsalmon3\": \"rgb(205, 129, 98)\",\n \"lightsalmon4\": \"rgb(139, 87, 66)\",\n \"lightseagreen\": \"rgb(32, 178, 170)\",\n \"lightskyblue\": \"rgb(135, 206, 250)\",\n \"lightskyblue1\": \"rgb(176, 226, 255)\",\n \"lightskyblue2\": \"rgb(164, 211, 238)\",\n \"lightskyblue3\": \"rgb(141, 182, 205)\",\n \"lightskyblue4\": \"rgb(96, 123, 139)\",\n \"lightslateblue\": \"rgb(132, 112, 255)\",\n \"lightslategray\": \"rgb(119, 136, 153)\",\n \"lightslategrey\": \"rgb(119, 136, 153)\",\n \"lightsteelblue\": \"rgb(176, 196, 222)\",\n \"lightsteelblue1\": \"rgb(202, 225, 255)\",\n \"lightsteelblue2\": \"rgb(188, 210, 238)\",\n \"lightsteelblue3\": \"rgb(162, 181, 205)\",\n \"lightsteelblue4\": \"rgb(110, 123, 139)\",\n \"lightyellow\": \"rgb(255, 255, 224)\",\n \"lightyellow1\": \"rgb(255, 255, 224)\",\n \"lightyellow2\": \"rgb(238, 238, 209)\",\n \"lightyellow3\": \"rgb(205, 205, 180)\",\n \"lightyellow4\": \"rgb(139, 139, 122)\",\n \"limegreen\": \"rgb(50, 205, 50)\",\n \"linen\": \"rgb(250, 240, 230)\",\n \"magenta\": \"rgb(255, 0, 255)\",\n \"magenta1\": \"rgb(255, 0, 255)\",\n \"magenta2\": \"rgb(238, 0, 238)\",\n \"magenta3\": \"rgb(205, 0, 205)\",\n \"magenta4\": \"rgb(139, 0, 139)\",\n \"maroon\": \"rgb(176, 48, 96)\",\n \"maroon1\": \"rgb(255, 52, 179)\",\n \"maroon2\": \"rgb(238, 48, 167)\",\n \"maroon3\": \"rgb(205, 41, 144)\",\n \"maroon4\": \"rgb(139, 28, 98)\",\n \"mediumaquamarine\": \"rgb(102, 205, 170)\",\n \"mediumblue\": \"rgb(0, 0, 205)\",\n \"mediumorchid\": \"rgb(186, 85, 211)\",\n \"mediumorchid1\": \"rgb(224, 102, 255)\",\n \"mediumorchid2\": \"rgb(209, 95, 238)\",\n \"mediumorchid3\": \"rgb(180, 82, 205)\",\n \"mediumorchid4\": \"rgb(122, 55, 139)\",\n \"mediumpurple\": \"rgb(147, 112, 219)\",\n \"mediumpurple1\": \"rgb(171, 130, 255)\",\n \"mediumpurple2\": \"rgb(159, 121, 238)\",\n \"mediumpurple3\": \"rgb(137, 104, 205)\",\n \"mediumpurple4\": \"rgb(93, 71, 139)\",\n \"mediumseagreen\": \"rgb(60, 179, 113)\",\n \"mediumslateblue\": \"rgb(123, 104, 238)\",\n \"mediumspringgreen\": \"rgb(0, 250, 154)\",\n \"mediumturquoise\": \"rgb(72, 209, 204)\",\n \"mediumvioletred\": \"rgb(199, 21, 133)\",\n \"midnightblue\": \"rgb(25, 25, 112)\",\n \"mintcream\": \"rgb(245, 255, 250)\",\n \"mistyrose\": \"rgb(255, 228, 225)\",\n \"mistyrose1\": \"rgb(255, 228, 225)\",\n \"mistyrose2\": \"rgb(238, 213, 210)\",\n \"mistyrose3\": \"rgb(205, 183, 181)\",\n \"mistyrose4\": \"rgb(139, 125, 123)\",\n \"moccasin\": \"rgb(255, 228, 181)\",\n \"navajowhite\": \"rgb(255, 222, 173)\",\n \"navajowhite1\": \"rgb(255, 222, 173)\",\n \"navajowhite2\": \"rgb(238, 207, 161)\",\n \"navajowhite3\": \"rgb(205, 179, 139)\",\n \"navajowhite4\": \"rgb(139, 121, 94)\",\n \"navy\": \"rgb(0, 0, 128)\",\n \"navyblue\": \"rgb(0, 0, 128)\",\n \"oldlace\": \"rgb(253, 245, 230)\",\n \"olivedrab\": \"rgb(107, 142, 35)\",\n \"olivedrab1\": \"rgb(192, 255, 62)\",\n \"olivedrab2\": \"rgb(179, 238, 58)\",\n \"olivedrab3\": \"rgb(154, 205, 50)\",\n \"olivedrab4\": \"rgb(105, 139, 34)\",\n \"orange\": \"rgb(255, 165, 0)\",\n \"orange1\": \"rgb(255, 165, 0)\",\n \"orange2\": \"rgb(238, 154, 0)\",\n \"orange3\": \"rgb(205, 133, 0)\",\n \"orange4\": \"rgb(139, 90, 0)\",\n \"orangered\": \"rgb(255, 69, 0)\",\n \"orangered1\": \"rgb(255, 69, 0)\",\n \"orangered2\": \"rgb(238, 64, 0)\",\n \"orangered3\": \"rgb(205, 55, 0)\",\n \"orangered4\": \"rgb(139, 37, 0)\",\n \"orchid\": \"rgb(218, 112, 214)\",\n \"orchid1\": \"rgb(255, 131, 250)\",\n \"orchid2\": \"rgb(238, 122, 233)\",\n \"orchid3\": \"rgb(205, 105, 201)\",\n \"orchid4\": \"rgb(139, 71, 137)\",\n \"palegoldenrod\": \"rgb(238, 232, 170)\",\n \"palegreen\": \"rgb(152, 251, 152)\",\n \"palegreen1\": \"rgb(154, 255, 154)\",\n \"palegreen2\": \"rgb(144, 238, 144)\",\n \"palegreen3\": \"rgb(124, 205, 124)\",\n \"palegreen4\": \"rgb(84, 139, 84)\",\n \"paleturquoise\": \"rgb(175, 238, 238)\",\n \"paleturquoise1\": \"rgb(187, 255, 255)\",\n \"paleturquoise2\": \"rgb(174, 238, 238)\",\n \"paleturquoise3\": \"rgb(150, 205, 205)\",\n \"paleturquoise4\": \"rgb(102, 139, 139)\",\n \"palevioletred\": \"rgb(219, 112, 147)\",\n \"palevioletred1\": \"rgb(255, 130, 171)\",\n \"palevioletred2\": \"rgb(238, 121, 159)\",\n \"palevioletred3\": \"rgb(205, 104, 137)\",\n \"palevioletred4\": \"rgb(139, 71, 93)\",\n \"papayawhip\": \"rgb(255, 239, 213)\",\n \"peachpuff\": \"rgb(255, 218, 185)\",\n \"peachpuff1\": \"rgb(255, 218, 185)\",\n \"peachpuff2\": \"rgb(238, 203, 173)\",\n \"peachpuff3\": \"rgb(205, 175, 149)\",\n \"peachpuff4\": \"rgb(139, 119, 101)\",\n \"peru\": \"rgb(205, 133, 63)\",\n \"pink\": \"rgb(255, 192, 203)\",\n \"pink1\": \"rgb(255, 181, 197)\",\n \"pink2\": \"rgb(238, 169, 184)\",\n \"pink3\": \"rgb(205, 145, 158)\",\n \"pink4\": \"rgb(139, 99, 108)\",\n \"plum\": \"rgb(221, 160, 221)\",\n \"plum1\": \"rgb(255, 187, 255)\",\n \"plum2\": \"rgb(238, 174, 238)\",\n \"plum3\": \"rgb(205, 150, 205)\",\n \"plum4\": \"rgb(139, 102, 139)\",\n \"powderblue\": \"rgb(176, 224, 230)\",\n \"purple\": \"rgb(160, 32, 240)\",\n \"purple1\": \"rgb(155, 48, 255)\",\n \"purple2\": \"rgb(145, 44, 238)\",\n \"purple3\": \"rgb(125, 38, 205)\",\n \"purple4\": \"rgb(85, 26, 139)\",\n \"red\": \"rgb(255, 0, 0)\",\n \"red1\": \"rgb(255, 0, 0)\",\n \"red2\": \"rgb(238, 0, 0)\",\n \"red3\": \"rgb(205, 0, 0)\",\n \"red4\": \"rgb(139, 0, 0)\",\n \"rosybrown\": \"rgb(188, 143, 143)\",\n \"rosybrown1\": \"rgb(255, 193, 193)\",\n \"rosybrown2\": \"rgb(238, 180, 180)\",\n \"rosybrown3\": \"rgb(205, 155, 155)\",\n \"rosybrown4\": \"rgb(139, 105, 105)\",\n \"royalblue\": \"rgb(65, 105, 225)\",\n \"royalblue1\": \"rgb(72, 118, 255)\",\n \"royalblue2\": \"rgb(67, 110, 238)\",\n \"royalblue3\": \"rgb(58, 95, 205)\",\n \"royalblue4\": \"rgb(39, 64, 139)\",\n \"saddlebrown\": \"rgb(139, 69, 19)\",\n \"salmon\": \"rgb(250, 128, 114)\",\n \"salmon1\": \"rgb(255, 140, 105)\",\n \"salmon2\": \"rgb(238, 130, 98)\",\n \"salmon3\": \"rgb(205, 112, 84)\",\n \"salmon4\": \"rgb(139, 76, 57)\",\n \"sandybrown\": \"rgb(244, 164, 96)\",\n \"seagreen\": \"rgb(46, 139, 87)\",\n \"seagreen1\": \"rgb(84, 255, 159)\",\n \"seagreen2\": \"rgb(78, 238, 148)\",\n \"seagreen3\": \"rgb(67, 205, 128)\",\n \"seagreen4\": \"rgb(46, 139, 87)\",\n \"seashell\": \"rgb(255, 245, 238)\",\n \"seashell1\": \"rgb(255, 245, 238)\",\n \"seashell2\": \"rgb(238, 229, 222)\",\n \"seashell3\": \"rgb(205, 197, 191)\",\n \"seashell4\": \"rgb(139, 134, 130)\",\n \"sienna\": \"rgb(160, 82, 45)\",\n \"sienna1\": \"rgb(255, 130, 71)\",\n \"sienna2\": \"rgb(238, 121, 66)\",\n \"sienna3\": \"rgb(205, 104, 57)\",\n \"sienna4\": \"rgb(139, 71, 38)\",\n \"skyblue\": \"rgb(135, 206, 235)\",\n \"skyblue1\": \"rgb(135, 206, 255)\",\n \"skyblue2\": \"rgb(126, 192, 238)\",\n \"skyblue3\": \"rgb(108, 166, 205)\",\n \"skyblue4\": \"rgb(74, 112, 139)\",\n \"slateblue\": \"rgb(106, 90, 205)\",\n \"slateblue1\": \"rgb(131, 111, 255)\",\n \"slateblue2\": \"rgb(122, 103, 238)\",\n \"slateblue3\": \"rgb(105, 89, 205)\",\n \"slateblue4\": \"rgb(71, 60, 139)\",\n \"slategray\": \"rgb(112, 128, 144)\",\n \"slategray1\": \"rgb(198, 226, 255)\",\n \"slategray2\": \"rgb(185, 211, 238)\",\n \"slategray3\": \"rgb(159, 182, 205)\",\n \"slategray4\": \"rgb(108, 123, 139)\",\n \"slategrey\": \"rgb(112, 128, 144)\",\n \"snow\": \"rgb(255, 250, 250)\",\n \"snow1\": \"rgb(255, 250, 250)\",\n \"snow2\": \"rgb(238, 233, 233)\",\n \"snow3\": \"rgb(205, 201, 201)\",\n \"snow4\": \"rgb(139, 137, 137)\",\n \"springgreen\": \"rgb(0, 255, 127)\",\n \"springgreen1\": \"rgb(0, 255, 127)\",\n \"springgreen2\": \"rgb(0, 238, 118)\",\n \"springgreen3\": \"rgb(0, 205, 102)\",\n \"springgreen4\": \"rgb(0, 139, 69)\",\n \"steelblue\": \"rgb(70, 130, 180)\",\n \"steelblue1\": \"rgb(99, 184, 255)\",\n \"steelblue2\": \"rgb(92, 172, 238)\",\n \"steelblue3\": \"rgb(79, 148, 205)\",\n \"steelblue4\": \"rgb(54, 100, 139)\",\n \"tan\": \"rgb(210, 180, 140)\",\n \"tan1\": \"rgb(255, 165, 79)\",\n \"tan2\": \"rgb(238, 154, 73)\",\n \"tan3\": \"rgb(205, 133, 63)\",\n \"tan4\": \"rgb(139, 90, 43)\",\n \"thistle\": \"rgb(216, 191, 216)\",\n \"thistle1\": \"rgb(255, 225, 255)\",\n \"thistle2\": \"rgb(238, 210, 238)\",\n \"thistle3\": \"rgb(205, 181, 205)\",\n \"thistle4\": \"rgb(139, 123, 139)\",\n \"tomato\": \"rgb(255, 99, 71)\",\n \"tomato1\": \"rgb(255, 99, 71)\",\n \"tomato2\": \"rgb(238, 92, 66)\",\n \"tomato3\": \"rgb(205, 79, 57)\",\n \"tomato4\": \"rgb(139, 54, 38)\",\n \"turquoise\": \"rgb(64, 224, 208)\",\n \"turquoise1\": \"rgb(0, 245, 255)\",\n \"turquoise2\": \"rgb(0, 229, 238)\",\n \"turquoise3\": \"rgb(0, 197, 205)\",\n \"turquoise4\": \"rgb(0, 134, 139)\",\n \"violet\": \"rgb(238, 130, 238)\",\n \"violetred\": \"rgb(208, 32, 144)\",\n \"violetred1\": \"rgb(255, 62, 150)\",\n \"violetred2\": \"rgb(238, 58, 140)\",\n \"violetred3\": \"rgb(205, 50, 120)\",\n \"violetred4\": \"rgb(139, 34, 82)\",\n \"wheat\": \"rgb(245, 222, 179)\",\n \"wheat1\": \"rgb(255, 231, 186)\",\n \"wheat2\": \"rgb(238, 216, 174)\",\n \"wheat3\": \"rgb(205, 186, 150)\",\n \"wheat4\": \"rgb(139, 126, 102)\",\n \"white\": \"rgb(255, 255, 255)\",\n \"whitesmoke\": \"rgb(245, 245, 245)\",\n \"yellow\": \"rgb(255, 255, 0)\",\n \"yellow1\": \"rgb(255, 255, 0)\",\n \"yellow2\": \"rgb(238, 238, 0)\",\n \"yellow3\": \"rgb(205, 205, 0)\",\n \"yellow4\": \"rgb(139, 139, 0)\",\n \"yellowgreen\": \"rgb(154, 205, 50)\"\n};\n// SOURCE FILE: libdot/js/lib_f.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Grab bag of utility functions.\n */\nlib.f = {};\n\n/**\n * Create a unique enum value.\n *\n * @suppress {lintChecks}\n * @param {string} name A human friendly name for debugging.\n * @return {Object} A unique enum that won't compare equal to anything else.\n */\nlib.f.createEnum = function(name) {\n // We use a String object as nothing else should be using them -- we want to\n // use string primitives normally. But debuggers will include our name.\n return new String(name);\n};\n\n/**\n * Replace variable references in a string.\n *\n * Variables are of the form %FUNCTION(VARNAME). FUNCTION is an optional\n * escape function to apply to the value.\n *\n * For example\n * lib.f.replaceVars(\"%(greeting), %encodeURIComponent(name)\",\n * { greeting: \"Hello\",\n * name: \"Google+\" });\n *\n * Will result in \"Hello, Google%2B\".\n */\nlib.f.replaceVars = function(str, vars) {\n return str.replace(/%([a-z]*)\\(([^\\)]+)\\)/gi, function(match, fn, varname) {\n if (typeof vars[varname] == 'undefined')\n throw 'Unknown variable: ' + varname;\n\n var rv = vars[varname];\n\n if (fn in lib.f.replaceVars.functions) {\n rv = lib.f.replaceVars.functions[fn](rv);\n } else if (fn) {\n throw 'Unknown escape function: ' + fn;\n }\n\n return rv;\n });\n};\n\n/**\n * Functions that can be used with replaceVars.\n *\n * Clients can add to this list to extend lib.f.replaceVars().\n */\nlib.f.replaceVars.functions = {\n encodeURI: encodeURI,\n encodeURIComponent: encodeURIComponent,\n escapeHTML: function(str) {\n var map = {\n '<': '<',\n '>': '>',\n '&': '&',\n '\"': '"',\n \"'\": '''\n };\n\n return str.replace(/[<>&\\\"\\']/g, function(m) { return map[m] });\n }\n};\n\n/**\n * Get the list of accepted UI languages.\n *\n * @param {function(Array)} callback Function to invoke with the results. The\n * parameter is a list of locale names.\n */\nlib.f.getAcceptLanguages = function(callback) {\n if (lib.f.getAcceptLanguages.chromeSupported()) {\n chrome.i18n.getAcceptLanguages(callback);\n } else {\n setTimeout(function() {\n callback([navigator.language.replace(/-/g, '_')]);\n }, 0);\n }\n};\n\nlib.f.getAcceptLanguages.chromeSupported = function() {\n return window.chrome && chrome.i18n;\n};\n\n/**\n * Parse a query string into a hash.\n *\n * This takes a url query string in the form 'name1=value&name2=value' and\n * converts it into an object of the form { name1: 'value', name2: 'value' }.\n * If a given name appears multiple times in the query string, only the\n * last value will appear in the result.\n *\n * Names and values are passed through decodeURIComponent before being added\n * to the result object.\n *\n * @param {string} queryString The string to parse. If it starts with a\n * leading '?', the '?' will be ignored.\n */\nlib.f.parseQuery = function(queryString) {\n if (queryString.startsWith('?'))\n queryString = queryString.substr(1);\n\n var rv = {};\n\n var pairs = queryString.split('&');\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i].split('=');\n rv[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n\n return rv;\n};\n\nlib.f.getURL = function(path) {\n if (lib.f.getURL.chromeSupported())\n return chrome.runtime.getURL(path);\n\n return path;\n};\n\nlib.f.getURL.chromeSupported = function() {\n return window.chrome && chrome.runtime && chrome.runtime.getURL;\n};\n\n/**\n * Clamp a given integer to a specified range.\n *\n * @param {integer} v The value to be clamped.\n * @param {integer} min The minimum acceptable value.\n * @param {integer} max The maximum acceptable value.\n */\nlib.f.clamp = function(v, min, max) {\n if (v < min)\n return min;\n if (v > max)\n return max;\n return v;\n};\n\n/**\n * Left pad a number to a given length with leading zeros.\n *\n * @param {string|integer} number The number to pad.\n * @param {integer} length The desired length.\n * @return {string} The padded number as a string.\n */\nlib.f.zpad = function(number, length) {\n return String(number).padStart(length, '0');\n};\n\n/**\n * Return a string containing a given number of space characters.\n *\n * This method maintains a static cache of the largest amount of whitespace\n * ever requested. It shouldn't be used to generate an insanely huge amount of\n * whitespace.\n *\n * @param {integer} length The desired amount of whitespace.\n * @param {string} A string of spaces of the requested length.\n */\nlib.f.getWhitespace = function(length) {\n if (length <= 0)\n return '';\n\n var f = this.getWhitespace;\n if (!f.whitespace)\n f.whitespace = ' ';\n\n while (length > f.whitespace.length) {\n f.whitespace += f.whitespace;\n }\n\n return f.whitespace.substr(0, length);\n};\n\n /**\n * Ensure that a function is called within a certain time limit.\n *\n * Simple usage looks like this...\n *\n * lib.registerInit(lib.f.alarm(onInit));\n *\n * This will log a warning to the console if onInit() is not invoked within\n * 5 seconds.\n *\n * If you're performing some operation that may take longer than 5 seconds you\n * can pass a duration in milliseconds as the optional second parameter.\n *\n * If you pass a string identifier instead of a callback function, you'll get a\n * wrapper generator rather than a single wrapper. Each call to the\n * generator will return a wrapped version of the callback wired to\n * a shared timeout. This is for cases where you want to ensure that at least\n * one of a set of callbacks is invoked before a timeout expires.\n *\n * var alarm = lib.f.alarm('fetch object');\n * lib.foo.fetchObject(alarm(onSuccess), alarm(onFailure));\n *\n * @param {function(*)} callback The function to wrap in an alarm.\n * @param {int} opt_ms Optional number of milliseconds to wait before raising\n * an alarm. Default is 5000 (5 seconds).\n * @return {function} If callback is a function then the return value will be\n * the wrapped callback. If callback is a string then the return value will\n * be a function that generates new wrapped callbacks.\n */\nlib.f.alarm = function(callback, opt_ms) {\n var ms = opt_ms || 5 * 1000;\n var stack = lib.f.getStack(1);\n\n return (function() {\n // This outer function is called immediately. It's here to capture a new\n // scope for the timeout variable.\n\n // The 'timeout' variable is shared by this timeout function, and the\n // callback wrapper.\n var timeout = setTimeout(function() {\n var name = (typeof callback == 'string') ? name : callback.name;\n name = name ? (': ' + name) : '';\n console.warn('lib.f.alarm: timeout expired: ' + (ms / 1000) + 's' + name);\n console.log(stack);\n timeout = null;\n }, ms);\n\n var wrapperGenerator = function(callback) {\n return function() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n\n return callback.apply(null, arguments);\n }\n };\n\n if (typeof callback == 'string')\n return wrapperGenerator;\n\n return wrapperGenerator(callback);\n })();\n};\n\n/**\n * Return the current call stack after skipping a given number of frames.\n *\n * This method is intended to be used for debugging only. It returns an\n * Object instead of an Array, because the console stringifies arrays by\n * default and that's not what we want.\n *\n * A typical call might look like...\n *\n * console.log('Something wicked this way came', lib.f.getStack());\n * // Notice the comma ^\n *\n * This would print the message to the js console, followed by an object\n * which can be clicked to reveal the stack.\n *\n * @param {number} opt_ignoreFrames The optional number of stack frames to\n * ignore. The actual 'getStack' call is always ignored.\n */\nlib.f.getStack = function(opt_ignoreFrames) {\n var ignoreFrames = opt_ignoreFrames ? opt_ignoreFrames + 2 : 2;\n\n var stackArray;\n\n try {\n throw new Error();\n } catch (ex) {\n stackArray = ex.stack.split('\\n');\n }\n\n var stackObject = {};\n for (var i = ignoreFrames; i < stackArray.length; i++) {\n stackObject[i - ignoreFrames] = stackArray[i].replace(/^\\s*at\\s+/, '');\n }\n\n return stackObject;\n};\n\n/**\n * Divides the two numbers and floors the results, unless the remainder is less\n * than an incredibly small value, in which case it returns the ceiling.\n * This is useful when the number are truncated approximations of longer\n * values, and so doing division with these numbers yields a result incredibly\n * close to a whole number.\n *\n * @param {number} numerator\n * @param {number} denominator\n * @return {number}\n */\nlib.f.smartFloorDivide = function(numerator, denominator) {\n var val = numerator / denominator;\n var ceiling = Math.ceil(val);\n if (ceiling - val < .0001) {\n return ceiling;\n } else {\n return Math.floor(val);\n }\n};\n\n/**\n * Get a random integer in a range (inclusive).\n *\n * @param {number} min The lowest integer in the range.\n * @param {number} max The highest integer in the range.\n * @return {number} A random number between min & max.\n */\nlib.f.randomInt = function(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\n// SOURCE FILE: libdot/js/lib_message_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * MessageManager class handles internationalized strings.\n *\n * Note: chrome.i18n isn't sufficient because...\n * 1. There's a bug in chrome that makes it unavailable in iframes:\n * https://crbug.com/130200\n * 2. The client code may not be packaged in a Chrome extension.\n * 3. The client code may be part of a library packaged in a third-party\n * Chrome extension.\n *\n * @param {Array} languages List of languages to load, in the order they\n * should be loaded. Newer messages replace older ones. 'en' is\n * automatically added as the first language if it is not already present.\n */\nlib.MessageManager = function(languages) {\n this.languages_ = languages.map(\n function(el) { return el.replace(/-/g, '_') });\n\n if (this.languages_.indexOf('en') == -1)\n this.languages_.unshift('en');\n\n this.messages = {};\n};\n\n/**\n * Add message definitions to the message manager.\n *\n * This takes an object of the same format of a Chrome messages.json file. See\n * .\n */\nlib.MessageManager.prototype.addMessages = function(defs) {\n for (var key in defs) {\n var def = defs[key];\n\n if (!def.placeholders) {\n this.messages[key] = def.message;\n } else {\n // Replace \"$NAME$\" placeholders with \"$1\", etc.\n this.messages[key] = def.message.replace(\n /\\$([a-z][^\\s\\$]+)\\$/ig,\n function(m, name) {\n return defs[key].placeholders[name.toLowerCase()].content;\n });\n }\n }\n};\n\n/**\n * Load the first available language message bundle.\n *\n * @param {string} pattern A url pattern containing a \"$1\" where the locale\n * name should go.\n * @param {function(Array,Array)} onComplete Function to be called when loading\n * is complete. The two arrays are the list of successful and failed\n * locale names. If the first parameter is length 0, no locales were\n * loaded.\n */\nlib.MessageManager.prototype.findAndLoadMessages = function(\n pattern, onComplete) {\n var languages = this.languages_.concat();\n var loaded = [];\n var failed = [];\n\n function onLanguageComplete(state) {\n if (state) {\n loaded = languages.shift();\n } else {\n failed = languages.shift();\n }\n\n if (languages.length) {\n tryNextLanguage();\n } else {\n onComplete(loaded, failed);\n }\n }\n\n var tryNextLanguage = function() {\n this.loadMessages(this.replaceReferences(pattern, languages),\n onLanguageComplete.bind(this, true),\n onLanguageComplete.bind(this, false));\n }.bind(this);\n\n tryNextLanguage();\n};\n\n/**\n * Load messages from a messages.json file.\n */\nlib.MessageManager.prototype.loadMessages = function(\n url, onSuccess, opt_onError) {\n var xhr = new XMLHttpRequest();\n\n xhr.onloadend = function() {\n if (xhr.status != 200) {\n if (opt_onError)\n opt_onError(xhr.status);\n\n return;\n }\n\n this.addMessages(JSON.parse(xhr.responseText));\n onSuccess();\n }.bind(this);\n\n xhr.open('GET', url);\n xhr.send();\n};\n\n/**\n * Replace $1...$n references with the elements of the args array.\n *\n * @param {string} msg String containing the message and argument references.\n * @param {Array} args Array containing the argument values.\n */\nlib.MessageManager.replaceReferences = function(msg, args) {\n return msg.replace(/\\$(\\d+)/g, function (m, index) {\n return args[index - 1];\n });\n};\n\n/**\n * Per-instance copy of replaceReferences.\n */\nlib.MessageManager.prototype.replaceReferences =\n lib.MessageManager.replaceReferences;\n\n/**\n * Get a message by name, optionally replacing arguments too.\n *\n * @param {string} msgname String containing the name of the message to get.\n * @param {Array} opt_args Optional array containing the argument values.\n * @param {string} opt_default Optional value to return if the msgname is not\n * found. Returns the message name by default.\n */\nlib.MessageManager.prototype.get = function(msgname, opt_args, opt_default) {\n var message;\n\n if (msgname in this.messages) {\n message = this.messages[msgname];\n\n } else {\n if (window.chrome.i18n)\n message = chrome.i18n.getMessage(msgname);\n\n if (!message) {\n console.warn('Unknown message: ' + msgname);\n return (typeof opt_default == 'undefined') ? msgname : opt_default;\n }\n }\n\n if (!opt_args)\n return message;\n\n if (!(opt_args instanceof Array))\n opt_args = [opt_args];\n\n return this.replaceReferences(message, opt_args);\n};\n\n/**\n * Process all of the \"i18n\" html attributes found in a given dom fragment.\n *\n * The real work happens in processI18nAttribute.\n */\nlib.MessageManager.prototype.processI18nAttributes = function(dom) {\n var nodes = dom.querySelectorAll('[i18n]');\n\n for (var i = 0; i < nodes.length; i++)\n this.processI18nAttribute(nodes[i]);\n};\n\n/**\n * Process the \"i18n\" attribute in the specified node.\n *\n * The i18n attribute should contain a JSON object. The keys are taken to\n * be attribute names, and the values are message names.\n *\n * If the JSON object has a \"_\" (underscore) key, its value is used as the\n * textContent of the element.\n *\n * Message names can refer to other attributes on the same element with by\n * prefixing with a dollar sign. For example...\n *\n * \n *\n * The aria-label message name will be computed as \"SEND_BUTTON_ARIA_LABEL\".\n * Notice that the \"id\" attribute was appended to the target attribute, and\n * the result converted to UPPER_AND_UNDER style.\n */\nlib.MessageManager.prototype.processI18nAttribute = function(node) {\n // Convert the \"lower-and-dashes\" attribute names into\n // \"UPPER_AND_UNDER\" style.\n function thunk(str) { return str.replace(/-/g, '_').toUpperCase() }\n\n var i18n = node.getAttribute('i18n');\n if (!i18n)\n return;\n\n try {\n i18n = JSON.parse(i18n);\n } catch (ex) {\n console.error('Can\\'t parse ' + node.tagName + '#' + node.id + ': ' + i18n);\n throw ex;\n }\n\n // Load all the messages specified in the i18n attributes.\n for (var key in i18n) {\n // The node attribute we'll be setting.\n var attr = key;\n\n var msgname = i18n[key];\n // For \"=foo\", re-use the referenced message name.\n if (msgname.startsWith('=')) {\n key = msgname.substr(1);\n msgname = i18n[key];\n }\n\n // For \"$foo\", calculate the message name.\n if (msgname.startsWith('$'))\n msgname = thunk(node.getAttribute(msgname.substr(1)) + '_' + key);\n\n // Finally load the message.\n var msg = this.get(msgname);\n if (attr == '_')\n node.textContent = msg;\n else\n node.setAttribute(attr, msg);\n }\n};\n// SOURCE FILE: libdot/js/lib_preference_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Constructor for lib.PreferenceManager objects.\n *\n * These objects deal with persisting changes to stable storage and notifying\n * consumers when preferences change.\n *\n * It is intended that the backing store could be something other than HTML5\n * storage, but there aren't any use cases at the moment. In the future there\n * may be a chrome api to store sync-able name/value pairs, and we'd want\n * that.\n *\n * @param {lib.Storage.*} storage The storage object to use as a backing\n * store.\n * @param {string} opt_prefix The optional prefix to be used for all preference\n * names. The '/' character should be used to separate levels of hierarchy,\n * if you're going to have that kind of thing. If provided, the prefix\n * should start with a '/'. If not provided, it defaults to '/'.\n */\nlib.PreferenceManager = function(storage, opt_prefix) {\n this.storage = storage;\n this.storageObserver_ = this.onStorageChange_.bind(this);\n\n this.isActive_ = false;\n this.activate();\n\n this.trace = false;\n\n var prefix = opt_prefix || '/';\n if (!prefix.endsWith('/'))\n prefix += '/';\n\n this.prefix = prefix;\n\n this.prefRecords_ = {};\n this.globalObservers_ = [];\n\n this.childFactories_ = {};\n\n // Map of list-name to {map of child pref managers}\n // As in...\n //\n // this.childLists_ = {\n // 'profile-ids': {\n // 'one': PreferenceManager,\n // 'two': PreferenceManager,\n // ...\n // },\n //\n // 'frob-ids': {\n // ...\n // }\n // }\n this.childLists_ = {};\n};\n\n/**\n * Used internally to indicate that the current value of the preference should\n * be taken from the default value defined with the preference.\n *\n * Equality tests against this value MUST use '===' or '!==' to be accurate.\n */\nlib.PreferenceManager.prototype.DEFAULT_VALUE = lib.f.createEnum('DEFAULT');\n\n/**\n * An individual preference.\n *\n * These objects are managed by the PreferenceManager, you shouldn't need to\n * handle them directly.\n */\nlib.PreferenceManager.Record = function(name, defaultValue) {\n this.name = name;\n this.defaultValue = defaultValue;\n this.currentValue = this.DEFAULT_VALUE;\n this.observers = [];\n};\n\n/**\n * A local copy of the DEFAULT_VALUE constant to make it less verbose.\n */\nlib.PreferenceManager.Record.prototype.DEFAULT_VALUE =\n lib.PreferenceManager.prototype.DEFAULT_VALUE;\n\n/**\n * Register a callback to be invoked when this preference changes.\n *\n * @param {function(value, string, lib.PreferenceManager} observer The function\n * to invoke. It will receive the new value, the name of the preference,\n * and a reference to the PreferenceManager as parameters.\n */\nlib.PreferenceManager.Record.prototype.addObserver = function(observer) {\n this.observers.push(observer);\n};\n\n/**\n * Unregister an observer callback.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.PreferenceManager.Record.prototype.removeObserver = function(observer) {\n var i = this.observers.indexOf(observer);\n if (i >= 0)\n this.observers.splice(i, 1);\n};\n\n/**\n * Fetch the value of this preference.\n */\nlib.PreferenceManager.Record.prototype.get = function() {\n if (this.currentValue === this.DEFAULT_VALUE) {\n if (/^(string|number)$/.test(typeof this.defaultValue))\n return this.defaultValue;\n\n if (typeof this.defaultValue == 'object') {\n // We want to return a COPY of the default value so that users can\n // modify the array or object without changing the default value.\n return JSON.parse(JSON.stringify(this.defaultValue));\n }\n\n return this.defaultValue;\n }\n\n return this.currentValue;\n};\n\n/**\n * Stop this preference manager from tracking storage changes.\n *\n * Call this if you're going to swap out one preference manager for another so\n * that you don't get notified about irrelevant changes.\n */\nlib.PreferenceManager.prototype.deactivate = function() {\n if (!this.isActive_)\n throw new Error('Not activated');\n\n this.isActive_ = false;\n this.storage.removeObserver(this.storageObserver_);\n};\n\n/**\n * Start tracking storage changes.\n *\n * If you previously deactivated this preference manager, you can reactivate it\n * with this method. You don't need to call this at initialization time, as\n * it's automatically called as part of the constructor.\n */\nlib.PreferenceManager.prototype.activate = function() {\n if (this.isActive_)\n throw new Error('Already activated');\n\n this.isActive_ = true;\n this.storage.addObserver(this.storageObserver_);\n};\n\n/**\n * Read the backing storage for these preferences.\n *\n * You should do this once at initialization time to prime the local cache\n * of preference values. The preference manager will monitor the backing\n * storage for changes, so you should not need to call this more than once.\n *\n * This function recursively reads storage for all child preference managers as\n * well.\n *\n * This function is asynchronous, if you need to read preference values, you\n * *must* wait for the callback.\n *\n * @param {function()} opt_callback Optional function to invoke when the read\n * has completed.\n */\nlib.PreferenceManager.prototype.readStorage = function(opt_callback) {\n var pendingChildren = 0;\n\n function onChildComplete() {\n if (--pendingChildren == 0 && opt_callback)\n opt_callback();\n }\n\n var keys = Object.keys(this.prefRecords_).map(\n function(el) { return this.prefix + el }.bind(this));\n\n if (this.trace)\n console.log('Preferences read: ' + this.prefix);\n\n this.storage.getItems(keys, function(items) {\n var prefixLength = this.prefix.length;\n\n for (var key in items) {\n var value = items[key];\n var name = key.substr(prefixLength);\n var needSync = (name in this.childLists_ &&\n (JSON.stringify(value) !=\n JSON.stringify(this.prefRecords_[name].currentValue)));\n\n this.prefRecords_[name].currentValue = value;\n\n if (needSync) {\n pendingChildren++;\n this.syncChildList(name, onChildComplete);\n }\n }\n\n if (pendingChildren == 0 && opt_callback)\n setTimeout(opt_callback);\n }.bind(this));\n};\n\n/**\n * Define a preference.\n *\n * This registers a name, default value, and onChange handler for a preference.\n *\n * @param {string} name The name of the preference. This will be prefixed by\n * the prefix of this PreferenceManager before written to local storage.\n * @param {string|number|boolean|Object|Array|null} value The default value of\n * this preference. Anything that can be represented in JSON is a valid\n * default value.\n * @param {function(value, string, lib.PreferenceManager} opt_observer A\n * function to invoke when the preference changes. It will receive the new\n * value, the name of the preference, and a reference to the\n * PreferenceManager as parameters.\n */\nlib.PreferenceManager.prototype.definePreference = function(\n name, value, opt_onChange) {\n\n var record = this.prefRecords_[name];\n if (record) {\n this.changeDefault(name, value);\n } else {\n record = this.prefRecords_[name] =\n new lib.PreferenceManager.Record(name, value);\n }\n\n if (opt_onChange)\n record.addObserver(opt_onChange);\n};\n\n/**\n * Define multiple preferences with a single function call.\n *\n * @param {Array} defaults An array of 3-element arrays. Each three element\n * array should contain the [key, value, onChange] parameters for a\n * preference.\n */\nlib.PreferenceManager.prototype.definePreferences = function(defaults) {\n for (var i = 0; i < defaults.length; i++) {\n this.definePreference(defaults[i][0], defaults[i][1], defaults[i][2]);\n }\n};\n\n/**\n * Define an ordered list of child preferences.\n *\n * Child preferences are different from just storing an array of JSON objects\n * in that each child is an instance of a preference manager. This means you\n * can observe changes to individual child preferences, and get some validation\n * that you're not reading or writing to an undefined child preference value.\n *\n * @param {string} listName A name for the list of children. This must be\n * unique in this preference manager. The listName will become a\n * preference on this PreferenceManager used to store the ordered list of\n * child ids. It is also used in get/add/remove operations to identify the\n * list of children to operate on.\n * @param {function} childFactory A function that will be used to generate\n * instances of these children. The factory function will receive the\n * parent lib.PreferenceManager object and a unique id for the new child\n * preferences.\n */\nlib.PreferenceManager.prototype.defineChildren = function(\n listName, childFactory) {\n\n // Define a preference to hold the ordered list of child ids.\n this.definePreference(listName, [],\n this.onChildListChange_.bind(this, listName));\n this.childFactories_[listName] = childFactory;\n this.childLists_[listName] = {};\n};\n\n/**\n * Register to observe preference changes.\n *\n * @param {Function} global A callback that will happen for every preference.\n * Pass null if you don't need one.\n * @param {Object} map A map of preference specific callbacks. Pass null if\n * you don't need any.\n */\nlib.PreferenceManager.prototype.addObservers = function(global, map) {\n if (global && typeof global != 'function')\n throw new Error('Invalid param: globals');\n\n if (global)\n this.globalObservers_.push(global);\n\n if (!map)\n return;\n\n for (var name in map) {\n if (!(name in this.prefRecords_))\n throw new Error('Unknown preference: ' + name);\n\n this.prefRecords_[name].addObserver(map[name]);\n }\n};\n\n/**\n * Dispatch the change observers for all known preferences.\n *\n * It may be useful to call this after readStorage completes, in order to\n * get application state in sync with user preferences.\n *\n * This can be used if you've changed a preference manager out from under\n * a live object, for example when switching to a different prefix.\n */\nlib.PreferenceManager.prototype.notifyAll = function() {\n for (var name in this.prefRecords_) {\n this.notifyChange_(name);\n }\n};\n\n/**\n * Notify the change observers for a given preference.\n *\n * @param {string} name The name of the preference that changed.\n */\nlib.PreferenceManager.prototype.notifyChange_ = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n var currentValue = record.get();\n\n for (var i = 0; i < this.globalObservers_.length; i++)\n this.globalObservers_[i](name, currentValue);\n\n for (var i = 0; i < record.observers.length; i++) {\n record.observers[i](currentValue, name, this);\n }\n};\n\n/**\n * Create a new child PreferenceManager for the given child list.\n *\n * The optional hint parameter is an opaque prefix added to the auto-generated\n * unique id for this child. Your child factory can parse out the prefix\n * and use it.\n *\n * @param {string} listName The child list to create the new instance from.\n * @param {string} opt_hint Optional hint to include in the child id.\n * @param {string} opt_id Optional id to override the generated id.\n */\nlib.PreferenceManager.prototype.createChild = function(listName, opt_hint,\n opt_id) {\n var ids = this.get(listName);\n var id;\n\n if (opt_id) {\n id = opt_id;\n if (ids.indexOf(id) != -1)\n throw new Error('Duplicate child: ' + listName + ': ' + id);\n\n } else {\n // Pick a random, unique 4-digit hex identifier for the new profile.\n while (!id || ids.indexOf(id) != -1) {\n id = lib.f.randomInt(1, 0xffff).toString(16);\n id = lib.f.zpad(id, 4);\n if (opt_hint)\n id = opt_hint + ':' + id;\n }\n }\n\n var childManager = this.childFactories_[listName](this, id);\n childManager.trace = this.trace;\n childManager.resetAll();\n\n this.childLists_[listName][id] = childManager;\n\n ids.push(id);\n this.set(listName, ids);\n\n return childManager;\n};\n\n/**\n * Remove a child preferences instance.\n *\n * Removes a child preference manager and clears any preferences stored in it.\n *\n * @param {string} listName The name of the child list containing the child to\n * remove.\n * @param {string} id The child ID.\n */\nlib.PreferenceManager.prototype.removeChild = function(listName, id) {\n var prefs = this.getChild(listName, id);\n prefs.resetAll();\n\n var ids = this.get(listName);\n var i = ids.indexOf(id);\n if (i != -1) {\n ids.splice(i, 1);\n this.set(listName, ids);\n }\n\n delete this.childLists_[listName][id];\n};\n\n/**\n * Return a child PreferenceManager instance for a given id.\n *\n * If the child list or child id is not known this will return the specified\n * default value or throw an exception if no default value is provided.\n *\n * @param {string} listName The child list to look in.\n * @param {string} id The child ID.\n * @param {*} opt_default The optional default value to return if the child\n * is not found.\n */\nlib.PreferenceManager.prototype.getChild = function(listName, id, opt_default) {\n if (!(listName in this.childLists_))\n throw new Error('Unknown child list: ' + listName);\n\n var childList = this.childLists_[listName];\n if (!(id in childList)) {\n if (typeof opt_default == 'undefined')\n throw new Error('Unknown \"' + listName + '\" child: ' + id);\n\n return opt_default;\n }\n\n return childList[id];\n};\n\n/**\n * Calculate the difference between two lists of child ids.\n *\n * Given two arrays of child ids, this function will return an object\n * with \"added\", \"removed\", and \"common\" properties. Each property is\n * a map of child-id to `true`. For example, given...\n *\n * a = ['child-x', 'child-y']\n * b = ['child-y']\n *\n * diffChildLists(a, b) =>\n * { added: { 'child-x': true }, removed: {}, common: { 'child-y': true } }\n *\n * The added/removed properties assume that `a` is the current list.\n *\n * @param {Array[string]} a The most recent list of child ids.\n * @param {Array[string]} b An older list of child ids.\n * @return {Object} An object with added/removed/common properties.\n */\nlib.PreferenceManager.diffChildLists = function(a, b) {\n var rv = {\n added: {},\n removed: {},\n common: {},\n };\n\n for (var i = 0; i < a.length; i++) {\n if (b.indexOf(a[i]) != -1) {\n rv.common[a[i]] = true;\n } else {\n rv.added[a[i]] = true;\n }\n }\n\n for (var i = 0; i < b.length; i++) {\n if ((b[i] in rv.added) || (b[i] in rv.common))\n continue;\n\n rv.removed[b[i]] = true;\n }\n\n return rv;\n};\n\n/**\n * Synchronize a list of child PreferenceManagers instances with the current\n * list stored in prefs.\n *\n * This will instantiate any missing managers and read current preference values\n * from storage. Any active managers that no longer appear in preferences will\n * be deleted.\n *\n * @param {string} listName The child list to synchronize.\n * @param {function()} opt_callback Optional function to invoke when the sync\n * is complete.\n */\nlib.PreferenceManager.prototype.syncChildList = function(\n listName, opt_callback) {\n\n var pendingChildren = 0;\n function onChildStorage() {\n if (--pendingChildren == 0 && opt_callback)\n opt_callback();\n }\n\n // The list of child ids that we *should* have a manager for.\n var currentIds = this.get(listName);\n\n // The known managers at the start of the sync. Any manager still in this\n // list at the end should be discarded.\n var oldIds = Object.keys(this.childLists_[listName]);\n\n var rv = lib.PreferenceManager.diffChildLists(currentIds, oldIds);\n\n for (var i = 0; i < currentIds.length; i++) {\n var id = currentIds[i];\n\n var managerIndex = oldIds.indexOf(id);\n if (managerIndex >= 0)\n oldIds.splice(managerIndex, 1);\n\n if (!this.childLists_[listName][id]) {\n var childManager = this.childFactories_[listName](this, id);\n if (!childManager) {\n console.warn('Unable to restore child: ' + listName + ': ' + id);\n continue;\n }\n\n childManager.trace = this.trace;\n this.childLists_[listName][id] = childManager;\n pendingChildren++;\n childManager.readStorage(onChildStorage);\n }\n }\n\n for (var i = 0; i < oldIds.length; i++) {\n delete this.childLists_[listName][oldIds[i]];\n }\n\n if (!pendingChildren && opt_callback)\n setTimeout(opt_callback);\n};\n\n/**\n * Reset a preference to its default state.\n *\n * This will dispatch the onChange handler if the preference value actually\n * changes.\n *\n * @param {string} name The preference to reset.\n */\nlib.PreferenceManager.prototype.reset = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n this.storage.removeItem(this.prefix + name);\n\n if (record.currentValue !== this.DEFAULT_VALUE) {\n record.currentValue = this.DEFAULT_VALUE;\n this.notifyChange_(name);\n }\n};\n\n/**\n * Reset all preferences back to their default state.\n */\nlib.PreferenceManager.prototype.resetAll = function() {\n var changed = [];\n\n for (var listName in this.childLists_) {\n var childList = this.childLists_[listName];\n for (var id in childList) {\n childList[id].resetAll();\n }\n }\n\n for (var name in this.prefRecords_) {\n if (this.prefRecords_[name].currentValue !== this.DEFAULT_VALUE) {\n this.prefRecords_[name].currentValue = this.DEFAULT_VALUE;\n changed.push(name);\n }\n }\n\n var keys = Object.keys(this.prefRecords_).map(function(el) {\n return this.prefix + el;\n }.bind(this));\n\n this.storage.removeItems(keys);\n\n changed.forEach(this.notifyChange_.bind(this));\n};\n\n/**\n * Return true if two values should be considered not-equal.\n *\n * If both values are the same scalar type and compare equal this function\n * returns false (no difference), otherwise return true.\n *\n * This is used in places where we want to check if a preference has changed.\n * Rather than take the time to compare complex values we just consider them\n * to always be different.\n *\n * @param {*} a A value to compare.\n * @param {*} b A value to compare.\n */\nlib.PreferenceManager.prototype.diff = function(a, b) {\n // If the types are different, or the type is not a simple primitive one.\n if ((typeof a) !== (typeof b) ||\n !(/^(undefined|boolean|number|string)$/.test(typeof a))) {\n return true;\n }\n\n return a !== b;\n};\n\n/**\n * Change the default value of a preference.\n *\n * This is useful when subclassing preference managers.\n *\n * The function does not alter the current value of the preference, unless\n * it has the old default value. When that happens, the change observers\n * will be notified.\n *\n * @param {string} name The name of the parameter to change.\n * @param {*} newValue The new default value for the preference.\n */\nlib.PreferenceManager.prototype.changeDefault = function(name, newValue) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n if (!this.diff(record.defaultValue, newValue)) {\n // Default value hasn't changed.\n return;\n }\n\n if (record.currentValue !== this.DEFAULT_VALUE) {\n // This pref has a specific value, just change the default and we're done.\n record.defaultValue = newValue;\n return;\n }\n\n record.defaultValue = newValue;\n\n this.notifyChange_(name);\n};\n\n/**\n * Change the default value of multiple preferences.\n *\n * @param {Object} map A map of name -> value pairs specifying the new default\n * values.\n */\nlib.PreferenceManager.prototype.changeDefaults = function(map) {\n for (var key in map) {\n this.changeDefault(key, map[key]);\n }\n};\n\n/**\n * Set a preference to a specific value.\n *\n * This will dispatch the onChange handler if the preference value actually\n * changes.\n *\n * @param {string} key The preference to set.\n * @param {*} value The value to set. Anything that can be represented in\n * JSON is a valid value.\n */\nlib.PreferenceManager.prototype.set = function(name, newValue) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n var oldValue = record.get();\n\n if (!this.diff(oldValue, newValue))\n return;\n\n if (this.diff(record.defaultValue, newValue)) {\n record.currentValue = newValue;\n this.storage.setItem(this.prefix + name, newValue);\n } else {\n record.currentValue = this.DEFAULT_VALUE;\n this.storage.removeItem(this.prefix + name);\n }\n\n // We need to manually send out the notification on this instance. If we\n // The storage event won't fire a notification because we've already changed\n // the currentValue, so it won't see a difference. If we delayed changing\n // currentValue until the storage event, a pref read immediately after a write\n // would return the previous value.\n //\n // The notification is in a timeout so clients don't accidentally depend on\n // a synchronous notification.\n setTimeout(this.notifyChange_.bind(this, name), 0);\n};\n\n/**\n * Get the value of a preference.\n *\n * @param {string} key The preference to get.\n */\nlib.PreferenceManager.prototype.get = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n return record.get();\n};\n\n/**\n * Return all non-default preferences as a JSON object.\n *\n * This includes any nested preference managers as well.\n */\nlib.PreferenceManager.prototype.exportAsJson = function() {\n var rv = {};\n\n for (var name in this.prefRecords_) {\n if (name in this.childLists_) {\n rv[name] = [];\n var childIds = this.get(name);\n for (var i = 0; i < childIds.length; i++) {\n var id = childIds[i];\n rv[name].push({id: id, json: this.getChild(name, id).exportAsJson()});\n }\n\n } else {\n var record = this.prefRecords_[name];\n if (record.currentValue != this.DEFAULT_VALUE)\n rv[name] = record.currentValue;\n }\n }\n\n return rv;\n};\n\n/**\n * Import a JSON blob of preferences previously generated with exportAsJson.\n *\n * This will create nested preference managers as well.\n */\nlib.PreferenceManager.prototype.importFromJson = function(json) {\n for (var name in json) {\n if (name in this.childLists_) {\n var childList = json[name];\n for (var i = 0; i < childList.length; i++) {\n var id = childList[i].id;\n\n var childPrefManager = this.childLists_[name][id];\n if (!childPrefManager)\n childPrefManager = this.createChild(name, null, id);\n\n childPrefManager.importFromJson(childList[i].json);\n }\n\n } else {\n this.set(name, json[name]);\n }\n }\n};\n\n/**\n * Called when one of the child list preferences changes.\n */\nlib.PreferenceManager.prototype.onChildListChange_ = function(listName) {\n this.syncChildList(listName);\n};\n\n/**\n * Called when a key in the storage changes.\n */\nlib.PreferenceManager.prototype.onStorageChange_ = function(map) {\n for (var key in map) {\n if (this.prefix) {\n if (key.lastIndexOf(this.prefix, 0) != 0)\n continue;\n }\n\n var name = key.substr(this.prefix.length);\n\n if (!(name in this.prefRecords_)) {\n // Sometimes we'll get notified about prefs that are no longer defined.\n continue;\n }\n\n var record = this.prefRecords_[name];\n\n var newValue = map[key].newValue;\n var currentValue = record.currentValue;\n if (currentValue === record.DEFAULT_VALUE)\n currentValue = (void 0);\n\n if (this.diff(currentValue, newValue)) {\n if (typeof newValue == 'undefined' || newValue === null) {\n record.currentValue = record.DEFAULT_VALUE;\n } else {\n record.currentValue = newValue;\n }\n\n this.notifyChange_(name);\n }\n }\n};\n// SOURCE FILE: libdot/js/lib_resource.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Storage for canned resources.\n *\n * These are usually non-JavaScript things that are collected during a build\n * step and converted into a series of 'lib.resource.add(...)' calls. See\n * the \"@resource\" directive from libdot/bin/concat.sh for the canonical use\n * case.\n *\n * This is global storage, so you should prefix your resource names to avoid\n * collisions.\n */\nlib.resource = {\n resources_: {}\n};\n\n/**\n * Add a resource.\n *\n * @param {string} name A name for the resource. You should prefix this to\n * avoid collisions with resources from a shared library.\n * @param {string} type A mime type for the resource, or \"raw\" if not\n * applicable.\n * @param {*} data The value of the resource.\n */\nlib.resource.add = function(name, type, data) {\n lib.resource.resources_[name] = {\n type: type,\n name: name,\n data: data\n };\n};\n\n/**\n * Retrieve a resource record.\n *\n * The resource data is stored on the \"data\" property of the returned object.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {object} An object with \"type\", \"name\", and \"data\" properties.\n */\nlib.resource.get = function(name, opt_defaultValue) {\n if (!(name in lib.resource.resources_)) {\n if (typeof opt_defaultValue == 'undefined')\n throw 'Unknown resource: ' + name;\n\n return opt_defaultValue;\n }\n\n return lib.resource.resources_[name];\n};\n\n/**\n * Retrieve resource data.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {*} The resource data.\n */\nlib.resource.getData = function(name, opt_defaultValue) {\n if (!(name in lib.resource.resources_)) {\n if (typeof opt_defaultValue == 'undefined')\n throw 'Unknown resource: ' + name;\n\n return opt_defaultValue;\n }\n\n return lib.resource.resources_[name].data;\n};\n\n/**\n * Retrieve resource as a data: url.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {*} A data: url encoded version of the resource.\n */\nlib.resource.getDataUrl = function(name, opt_defaultValue) {\n var resource = lib.resource.get(name, opt_defaultValue);\n return 'data:' + resource.type + ',' + resource.data;\n};\n// SOURCE FILE: libdot/js/lib_storage.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Namespace for implementations of persistent, possibly cloud-backed\n * storage.\n */\nlib.Storage = new Object();\n// SOURCE FILE: libdot/js/lib_storage_chrome.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * chrome.storage based class with an async interface that is interchangeable\n * with other lib.Storage.* implementations.\n */\nlib.Storage.Chrome = function(storage) {\n this.storage_ = storage;\n this.observers_ = [];\n\n chrome.storage.onChanged.addListener(this.onChanged_.bind(this));\n};\n\n/**\n * Called by the storage implementation when the storage is modified.\n */\nlib.Storage.Chrome.prototype.onChanged_ = function(changes, areaname) {\n if (chrome.storage[areaname] != this.storage_)\n return;\n\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](changes);\n }\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Chrome.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Chrome.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Chrome.prototype.clear = function(opt_callback) {\n this.storage_.clear();\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Chrome.prototype.getItem = function(key, callback) {\n this.storage_.get(key, callback);\n};\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\n\nlib.Storage.Chrome.prototype.getItems = function(keys, callback) {\n this.storage_.get(keys, callback);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.setItem = function(key, value, opt_callback) {\n var obj = {};\n obj[key] = value;\n this.storage_.set(obj, opt_callback);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.setItems = function(obj, opt_callback) {\n this.storage_.set(obj, opt_callback);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.removeItem = function(key, opt_callback) {\n this.storage_.remove(key, opt_callback);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.removeItems = function(keys, opt_callback) {\n this.storage_.remove(keys, opt_callback);\n};\n// SOURCE FILE: libdot/js/lib_storage_local.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * window.localStorage based class with an async interface that is\n * interchangeable with other lib.Storage.* implementations.\n */\nlib.Storage.Local = function() {\n this.observers_ = [];\n this.storage_ = window.localStorage;\n window.addEventListener('storage', this.onStorage_.bind(this));\n};\n\n/**\n * Called by the storage implementation when the storage is modified.\n */\nlib.Storage.Local.prototype.onStorage_ = function(e) {\n if (e.storageArea != this.storage_)\n return;\n\n // JS throws an exception if JSON.parse is given an empty string. So here we\n // only parse if the value is truthy. This mean the empty string, undefined\n // and null will not be parsed.\n var prevValue = e.oldValue ? JSON.parse(e.oldValue) : e.oldValue;\n var curValue = e.newValue ? JSON.parse(e.newValue) : e.newValue;\n var o = {};\n o[e.key] = {\n oldValue: prevValue,\n newValue: curValue\n };\n\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](o);\n }\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Local.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Local.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Local.prototype.clear = function(opt_callback) {\n this.storage_.clear();\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Local.prototype.getItem = function(key, callback) {\n var value = this.storage_.getItem(key);\n\n if (typeof value == 'string') {\n try {\n value = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n }\n }\n\n setTimeout(callback.bind(null, value), 0);\n};\n\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\nlib.Storage.Local.prototype.getItems = function(keys, callback) {\n var rv = {};\n\n for (var i = keys.length - 1; i >= 0; i--) {\n var key = keys[i];\n var value = this.storage_.getItem(key);\n if (typeof value == 'string') {\n try {\n rv[key] = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n rv[key] = value;\n }\n } else {\n keys.splice(i, 1);\n }\n }\n\n setTimeout(callback.bind(null, rv), 0);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.setItem = function(key, value, opt_callback) {\n this.storage_.setItem(key, JSON.stringify(value));\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.setItems = function(obj, opt_callback) {\n for (var key in obj) {\n this.storage_.setItem(key, JSON.stringify(obj[key]));\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.removeItem = function(key, opt_callback) {\n this.storage_.removeItem(key);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.removeItems = function(ary, opt_callback) {\n for (var i = 0; i < ary.length; i++) {\n this.storage_.removeItem(ary[i]);\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n// SOURCE FILE: libdot/js/lib_storage_memory.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * In-memory storage class with an async interface that is interchangeable with\n * other lib.Storage.* implementations.\n */\nlib.Storage.Memory = function() {\n this.observers_ = [];\n this.storage_ = {};\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Memory.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Memory.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Memory.prototype.clear = function(opt_callback) {\n var e = {};\n for (var key in this.storage_) {\n e[key] = {oldValue: this.storage_[key], newValue: (void 0)};\n }\n\n this.storage_ = {};\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this), 0);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Memory.prototype.getItem = function(key, callback) {\n var value = this.storage_[key];\n\n if (typeof value == 'string') {\n try {\n value = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n }\n }\n\n setTimeout(callback.bind(null, value), 0);\n};\n\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\nlib.Storage.Memory.prototype.getItems = function(keys, callback) {\n var rv = {};\n\n for (var i = keys.length - 1; i >= 0; i--) {\n var key = keys[i];\n var value = this.storage_[key];\n if (typeof value == 'string') {\n try {\n rv[key] = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n rv[key] = value;\n }\n } else {\n keys.splice(i, 1);\n }\n }\n\n setTimeout(callback.bind(null, rv), 0);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.setItem = function(key, value, opt_callback) {\n var oldValue = this.storage_[key];\n this.storage_[key] = JSON.stringify(value);\n\n var e = {};\n e[key] = {oldValue: oldValue, newValue: value};\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this), 0);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.setItems = function(obj, opt_callback) {\n var e = {};\n\n for (var key in obj) {\n e[key] = {oldValue: this.storage_[key], newValue: obj[key]};\n this.storage_[key] = JSON.stringify(obj[key]);\n }\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this));\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.removeItem = function(key, opt_callback) {\n delete this.storage_[key];\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.removeItems = function(ary, opt_callback) {\n for (var i = 0; i < ary.length; i++) {\n delete this.storage_[ary[i]];\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n// SOURCE FILE: libdot/js/lib_test_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview JavaScript unit testing framework for synchronous and\n * asynchronous tests.\n *\n * This file contains the lib.TestManager and related classes. At the moment\n * it's all collected in a single file since it's reasonably small\n * (=~1k lines), and it's a lot easier to include one file into your test\n * harness than it is to include seven.\n *\n * The following classes are defined...\n *\n * lib.TestManager - The root class and entrypoint for creating test runs.\n * lib.TestManager.Log - Logging service.\n * lib.TestManager.Suite - A collection of tests.\n * lib.TestManager.Test - A single test.\n * lib.TestManager.TestRun - Manages the execution of a set of tests.\n * lib.TestManager.Result - A single test result.\n */\n\n/**\n * Root object in the unit test hierarchy, and keeper of the log object.\n *\n * @param {lib.TestManager.Log} opt_log Optional lib.TestManager.Log object.\n * Logs to the JavaScript console if omitted.\n */\nlib.TestManager = function(opt_log) {\n this.log = opt_log || new lib.TestManager.Log();\n}\n\n/**\n * Create a new test run object for this test manager.\n *\n * @param {Object} opt_cx An object to be passed to test suite setup(),\n * preamble(), and test cases during this test run. This object is opaque\n * to lib.TestManager.* code. It's entirely up to the test suite what it's\n * used for.\n */\nlib.TestManager.prototype.createTestRun = function(opt_cx) {\n return new lib.TestManager.TestRun(this, opt_cx);\n};\n\n/**\n * Called when a test run associated with this test manager completes.\n *\n * Clients may override this to call an appropriate function.\n */\nlib.TestManager.prototype.onTestRunComplete = function(testRun) {};\n\n/**\n * Called before a test associated with this test manager is run.\n *\n * @param {lib.TestManager.Result} result The result object for the upcoming\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.prototype.testPreamble = function(result, cx) {};\n\n/**\n * Called after a test associated with this test manager finishes.\n *\n * @param {lib.TestManager.Result} result The result object for the finished\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.prototype.testPostamble = function(result, cx) {};\n\n/**\n * Destination for test case output.\n *\n * Thw API will be the same as the console object. e.g. We support info(),\n * warn(), error(), etc... just like console.info(), etc...\n *\n * @param {Object} opt_console The console object to route all logging through.\n * Should provide saome API as the standard console API.\n */\nlib.TestManager.Log = function(opt_console=console) {\n this.save = false;\n this.data = '';\n this.prefix_ = '';\n this.prefixStack_ = 0;\n\n // Capture all the console entry points in case code at runtime calls these\n // directly. We want to be able to still see things.\n // We also expose the direct API to our callers (e.g. we provide warn()).\n this.console_ = opt_console;\n ['log', 'debug', 'info', 'warn', 'error'].forEach((level) => {\n let msgPrefix = '';\n switch (level) {\n case 'debug':\n case 'warn':\n case 'error':\n msgPrefix = level.toUpperCase() + ': ';\n break;\n }\n\n const oLog = this.console_[level];\n this[level] = this.console_[level] = (...args) => {\n if (this.save)\n this.data += this.prefix_ + msgPrefix + args.join(' ') + '\\n';\n oLog.apply(this.console_, args);\n };\n });\n\n // Wrap/bind the group functions.\n ['group', 'groupCollapsed'].forEach((group) => {\n const oGroup = this.console_[group];\n this[group] = this.console_[group] = (label='') => {\n oGroup(label);\n if (this.save)\n this.data += this.prefix_ + label + '\\n';\n this.prefix_ = ' '.repeat(++this.prefixStack_);\n };\n });\n\n const oGroupEnd = this.console_.groupEnd;\n this.groupEnd = this.console_.groupEnd = () => {\n oGroupEnd();\n this.prefix_ = ' '.repeat(--this.prefixStack_);\n };\n};\n\n/**\n * Returns a new constructor function that will inherit from\n * lib.TestManager.Suite.\n *\n * Use this function to create a new test suite subclass. It will return a\n * properly initialized constructor function for the subclass. You can then\n * override the setup() and preamble() methods if necessary and add test cases\n * to the subclass.\n *\n * var MyTests = new lib.TestManager.Suite('MyTests');\n *\n * MyTests.prototype.setup = function(cx) {\n * // Sets this.size to cx.size if it exists, or the default value of 10\n * // if not.\n * this.setDefault(cx, {size: 10});\n * };\n *\n * MyTests.prototype.preamble = function(result, cx) {\n * // Some tests (even successful ones) may side-effect this list, so\n * // recreate it before every test.\n * this.list = [];\n * for (var i = 0; i < this.size; i++) {\n * this.list[i] = i;\n * }\n * };\n *\n * // Basic synchronous test case.\n * MyTests.addTest('pop-length', function(result, cx) {\n * this.list.pop();\n *\n * // If this assertion fails, the testcase will stop here.\n * result.assertEQ(this.list.length, this.size - 1);\n *\n * // A test must indicate it has passed by calling this method.\n * result.pass();\n * });\n *\n * // Sample asynchronous test case.\n * MyTests.addTest('async-pop-length', function(result, cx) {\n * var self = this;\n *\n * var callback = function() {\n * result.assertEQ(self.list.length, self.size - 1);\n * result.pass();\n * };\n *\n * // Wait 100ms to check the array length for the sake of this example.\n * setTimeout(callback, 100);\n *\n * this.list.pop();\n *\n * // Indicate that this test needs another 200ms to complete.\n * // If the test does not report pass/fail by then, it is considered to\n * // have timed out.\n * result.requestTime(200);\n * });\n *\n * ...\n *\n * @param {string} suiteName The name of the test suite.\n */\nlib.TestManager.Suite = function(suiteName) {\n function ctor(testManager, cx) {\n this.testManager_ = testManager;\n this.suiteName = suiteName;\n\n this.setup(cx);\n }\n\n ctor.suiteName = suiteName;\n ctor.addTest = lib.TestManager.Suite.addTest;\n ctor.disableTest = lib.TestManager.Suite.disableTest;\n ctor.getTest = lib.TestManager.Suite.getTest;\n ctor.getTestList = lib.TestManager.Suite.getTestList;\n ctor.testList_ = [];\n ctor.testMap_ = {};\n ctor.prototype = Object.create(lib.TestManager.Suite.prototype);\n ctor.constructor = lib.TestManager.Suite;\n\n lib.TestManager.Suite.subclasses.push(ctor);\n\n return ctor;\n};\n\n/**\n * List of lib.TestManager.Suite subclasses, in the order they were defined.\n */\nlib.TestManager.Suite.subclasses = [];\n\n/**\n * Add a test to a lib.TestManager.Suite.\n *\n * This method is copied to new subclasses when they are created.\n */\nlib.TestManager.Suite.addTest = function(testName, testFunction) {\n if (testName in this.testMap_)\n throw 'Duplicate test name: ' + testName;\n\n var test = new lib.TestManager.Test(this, testName, testFunction);\n this.testMap_[testName] = test;\n this.testList_.push(test);\n};\n\n/**\n * Defines a disabled test.\n */\nlib.TestManager.Suite.disableTest = function(testName, testFunction) {\n if (testName in this.testMap_)\n throw 'Duplicate test name: ' + testName;\n\n var test = new lib.TestManager.Test(this, testName, testFunction);\n console.log('Disabled test: ' + test.fullName);\n};\n\n/**\n * Get a lib.TestManager.Test instance by name.\n *\n * This method is copied to new subclasses when they are created.\n *\n * @param {string} testName The name of the desired test.\n * @return {lib.TestManager.Test} The requested test, or undefined if it was not\n * found.\n */\nlib.TestManager.Suite.getTest = function(testName) {\n return this.testMap_[testName];\n};\n\n/**\n * Get an array of lib.TestManager.Tests associated with this Suite.\n *\n * This method is copied to new subclasses when they are created.\n */\nlib.TestManager.Suite.getTestList = function() {\n return this.testList_;\n};\n\n/**\n * Set properties on a test suite instance, pulling the property value from\n * the context if it exists and from the defaults dictionary if not.\n *\n * This is intended to be used in your test suite's setup() method to\n * define parameters for the test suite which may be overridden through the\n * context object. For example...\n *\n * MySuite.prototype.setup = function(cx) {\n * this.setDefaults(cx, {size: 10});\n * };\n *\n * If the context object has a 'size' property then this.size will be set to\n * the value of cx.size, otherwise this.size will get a default value of 10.\n *\n * @param {Object} cx The context object for a test run.\n * @param {Object} defaults An object containing name/value pairs to set on\n * this test suite instance. The value listed here will be used if the\n * name is not defined on the context object.\n */\nlib.TestManager.Suite.prototype.setDefaults = function(cx, defaults) {\n for (var k in defaults) {\n this[k] = (k in cx) ? cx[k] : defaults[k];\n }\n};\n\n/**\n * Subclassable method called to set up the test suite.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of suite-wide setup, this is the place to do it.\n *\n * It's fine to store state on the test suite instance, that state will be\n * accessible to all tests in the suite. If any test case fails, the entire\n * test suite object will be discarded and a new one will be created for\n * the remaining tests.\n *\n * Any side effects outside of this test suite instance must be idempotent.\n * For example, if you're adding DOM nodes to a document, make sure to first\n * test that they're not already there. If they are, remove them rather than\n * reuse them. You should not count on their state, since they were probably\n * left behind by a failed testcase.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.setup = function(cx) {};\n\n/**\n * Subclassable method called to do pre-test set up.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of pre-test setup, this is the place to do it.\n *\n * This can be used to avoid a bunch of boilerplate setup/teardown code in\n * this suite's testcases.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {lib.TestManager.Result} result The result object for the upcoming\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.preamble = function(result, cx) {};\n\n/**\n * Subclassable method called to do post-test tear-down.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of pre-test setup, this is the place to do it.\n *\n * This can be used to avoid a bunch of boilerplate setup/teardown code in\n * this suite's testcases.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {lib.TestManager.Result} result The result object for the finished\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.postamble = function(result, cx) {};\n\n/**\n * Object representing a single test in a test suite.\n *\n * These are created as part of the lib.TestManager.Suite.addTest() method.\n * You should never have to construct one by hand.\n *\n * @param {lib.TestManager.Suite} suiteClass The test suite class containing\n * this test.\n * @param {string} testName The local name of this test case, not including the\n * test suite name.\n * @param {function(lib.TestManager.Result, Object)} testFunction The function\n * to invoke for this test case. This is passed a Result instance and the\n * context object associated with the test run.\n *\n */\nlib.TestManager.Test = function(suiteClass, testName, testFunction) {\n /**\n * The test suite class containing this function.\n */\n this.suiteClass = suiteClass;\n\n /**\n * The local name of this test, not including the test suite name.\n */\n this.testName = testName;\n\n /**\n * The global name of this test, including the test suite name.\n */\n this.fullName = suiteClass.suiteName + '[' + testName + ']';\n\n // The function to call for this test.\n this.testFunction_ = testFunction;\n};\n\n/**\n * Execute this test.\n *\n * This is called by a lib.TestManager.Result instance, as part of a\n * lib.TestManager.TestRun. You should not call it by hand.\n *\n * @param {lib.TestManager.Result} result The result object for the test.\n */\nlib.TestManager.Test.prototype.run = function(result) {\n try {\n // Tests are applied to the parent lib.TestManager.Suite subclass.\n this.testFunction_.apply(result.suite,\n [result, result.testRun.cx]);\n } catch (ex) {\n if (ex instanceof lib.TestManager.Result.TestComplete)\n return;\n\n result.println('Test raised an exception: ' + ex);\n\n if (ex.stack) {\n if (ex.stack instanceof Array) {\n result.println(ex.stack.join('\\n'));\n } else {\n result.println(ex.stack);\n }\n }\n\n result.completeTest_(result.FAILED, false);\n }\n};\n\n/**\n * Used to choose a set of tests and run them.\n *\n * It's slightly more convenient to construct one of these from\n * lib.TestManager.prototype.createTestRun().\n *\n * @param {lib.TestManager} testManager The testManager associated with this\n * TestRun.\n * @param {Object} cx A context to be passed into the tests. This can be used\n * to set parameters for the test suite or individual test cases.\n */\nlib.TestManager.TestRun = function(testManager, cx) {\n /**\n * The associated lib.TestManager instance.\n */\n this.testManager = testManager;\n\n /**\n * Shortcut to the lib.TestManager's log.\n */\n this.log = testManager.log;\n\n /**\n * The test run context. It's entirely up to the test suite and test cases\n * how this is used. It is opaque to lib.TestManager.* classes.\n */\n this.cx = cx || {};\n\n /**\n * The list of test cases that encountered failures.\n */\n this.failures = [];\n\n /**\n * The list of test cases that passed.\n */\n this.passes = [];\n\n /**\n * The time the test run started, or null if it hasn't been started yet.\n */\n this.startDate = null;\n\n /**\n * The time in milliseconds that the test run took to complete, or null if\n * it hasn't completed yet.\n */\n this.duration = null;\n\n /**\n * The most recent result object, or null if the test run hasn't started\n * yet. In order to detect late failures, this is not cleared when the test\n * completes.\n */\n this.currentResult = null;\n\n /**\n * Number of maximum failures. The test run will stop when this number is\n * reached. If 0 or omitted, the entire set of selected tests is run, even\n * if some fail.\n */\n this.maxFailures = 0;\n\n /**\n * True if this test run ended early because of an unexpected condition.\n */\n this.panic = false;\n\n // List of pending test cases.\n this.testQueue_ = [];\n\n};\n\n/**\n * This value can be passed to select() to indicate that all tests should\n * be selected.\n */\nlib.TestManager.TestRun.prototype.ALL_TESTS = lib.f.createEnum('');\n\n/**\n * Add a single test to the test run.\n */\nlib.TestManager.TestRun.prototype.selectTest = function(test) {\n this.testQueue_.push(test);\n};\n\nlib.TestManager.TestRun.prototype.selectSuite = function(\n suiteClass, opt_pattern) {\n var pattern = opt_pattern || this.ALL_TESTS;\n var selectCount = 0;\n var testList = suiteClass.getTestList();\n\n for (var j = 0; j < testList.length; j++) {\n var test = testList[j];\n // Note that we're using \"!==\" rather than \"!=\" so that we're matching\n // the ALL_TESTS String object, rather than the contents of the string.\n if (pattern !== this.ALL_TESTS) {\n if (pattern instanceof RegExp) {\n if (!pattern.test(test.testName))\n continue;\n } else if (test.testName != pattern) {\n continue;\n }\n }\n\n this.selectTest(test);\n selectCount++;\n }\n\n return selectCount;\n};\n\n/**\n * Selects one or more tests to gather results for.\n *\n * Selecting the same test more than once is allowed.\n *\n * @param {string|RegExp} pattern Pattern used to select tests.\n * If TestRun.prototype.ALL_TESTS, all tests are selected.\n * If a string, only the test that exactly matches is selected.\n * If a RegExp, only tests matching the RegExp are added.\n *\n * @return {int} The number of additional tests that have been selected into\n * this TestRun.\n */\nlib.TestManager.TestRun.prototype.selectPattern = function(pattern) {\n var selectCount = 0;\n\n for (var i = 0; i < lib.TestManager.Suite.subclasses.length; i++) {\n selectCount += this.selectSuite(lib.TestManager.Suite.subclasses[i],\n pattern);\n }\n\n if (!selectCount) {\n this.log.warn('No tests matched selection criteria: ' + pattern);\n }\n\n return selectCount;\n};\n\n/**\n * Hooked up to window.onerror during a test run in order to catch exceptions\n * that would otherwise go uncaught.\n */\nlib.TestManager.TestRun.prototype.onUncaughtException_ = function(\n message, file, line) {\n\n if (message.indexOf('Uncaught lib.TestManager.Result.TestComplete') == 0 ||\n message.indexOf('status: passed') != -1) {\n // This is a result.pass() or result.fail() call from a callback. We're\n // already going to deal with it as part of the completeTest_() call\n // that raised it. We can safely squelch this error message.\n return true;\n }\n\n if (!this.currentResult)\n return;\n\n if (message == 'Uncaught ' + this.currentResult.expectedErrorMessage_) {\n // Test cases may need to raise an unhandled exception as part of the test.\n return;\n }\n\n var when = 'during';\n\n if (this.currentResult.status != this.currentResult.PENDING)\n when = 'after';\n\n this.log.error('Uncaught exception ' + when + ' test case: ' +\n this.currentResult.test.fullName);\n this.log.error(message + ', ' + file + ':' + line);\n\n this.currentResult.completeTest_(this.currentResult.FAILED, false);\n\n return false;\n};\n\n/**\n * Called to when this test run has completed.\n *\n * This method typically re-runs itself asynchronously, in order to let the\n * DOM stabilize and short-term timeouts to complete before declaring the\n * test run complete.\n *\n * @param {boolean} opt_skipTimeout If true, the timeout is skipped and the\n * test run is completed immediately. This should only be used from within\n * this function.\n */\nlib.TestManager.TestRun.prototype.onTestRunComplete_ = function(\n opt_skipTimeout) {\n if (!opt_skipTimeout) {\n // The final test may have left a lingering setTimeout(..., 0), or maybe\n // poked at the DOM in a way that will trigger a event to fire at the end\n // of this stack, so we give things a chance to settle down before our\n // final cleanup...\n setTimeout(this.onTestRunComplete_.bind(this), 0, true);\n return;\n }\n\n this.duration = (new Date()) - this.startDate;\n\n this.log.groupEnd();\n this.log.info(this.passes.length + ' passed, ' +\n this.failures.length + ' failed, ' +\n this.msToSeconds_(this.duration));\n\n this.summarize();\n\n window.onerror = null;\n\n this.testManager.onTestRunComplete(this);\n};\n\n/**\n * Called by the lib.TestManager.Result object when a test completes.\n *\n * @param {lib.TestManager.Result} result The result object which has just\n * completed.\n */\nlib.TestManager.TestRun.prototype.onResultComplete = function(result) {\n try {\n this.testManager.testPostamble(result, this.cx);\n result.suite.postamble(result, this.ctx);\n } catch (ex) {\n this.log.error('Unexpected exception in postamble: ' +\n (ex.stack ? ex.stack : ex));\n this.panic = true;\n }\n\n if (result.status != result.PASSED)\n this.log.error(result.status);\n else if (result.duration > 500)\n this.log.warn('Slow test took ' + this.msToSeconds_(result.duration));\n this.log.groupEnd();\n\n if (result.status == result.FAILED) {\n this.failures.push(result);\n this.currentSuite = null;\n } else if (result.status == result.PASSED) {\n this.passes.push(result);\n } else {\n this.log.error('Unknown result status: ' + result.test.fullName + ': ' +\n result.status);\n return this.panic = true;\n }\n\n this.runNextTest_();\n};\n\n/**\n * Called by the lib.TestManager.Result object when a test which has already\n * completed reports another completion.\n *\n * This is usually indicative of a buggy testcase. It is probably reporting a\n * result on exit and then again from an asynchronous callback.\n *\n * It may also be the case that the last act of the testcase causes a DOM change\n * which triggers some event to run after the test returns. If the event\n * handler reports a failure or raises an uncaught exception, the test will\n * fail even though it has already completed.\n *\n * In any case, re-completing a test ALWAYS moves it into the failure pile.\n *\n * @param {lib.TestManager.Result} result The result object which has just\n * completed.\n * @param {string} lateStatus The status that the test attempted to record this\n * time around.\n */\nlib.TestManager.TestRun.prototype.onResultReComplete = function(\n result, lateStatus) {\n this.log.error('Late complete for test: ' + result.test.fullName + ': ' +\n lateStatus);\n\n // Consider any late completion a failure, even if it's a double-pass, since\n // it's a misuse of the testing API.\n var index = this.passes.indexOf(result);\n if (index >= 0) {\n this.passes.splice(index, 1);\n this.failures.push(result);\n }\n};\n\n/**\n * Run the next test in the queue.\n */\nlib.TestManager.TestRun.prototype.runNextTest_ = function() {\n if (this.panic || !this.testQueue_.length)\n return this.onTestRunComplete_();\n\n if (this.maxFailures && this.failures.length >= this.maxFailures) {\n this.log.error('Maximum failure count reached, aborting test run.');\n return this.onTestRunComplete_();\n }\n\n // Peek at the top test first. We remove it later just before it's about\n // to run, so that we don't disturb the incomplete test count in the\n // event that we fail before running it.\n var test = this.testQueue_[0];\n var suite = this.currentResult ? this.currentResult.suite : null;\n\n try {\n if (!suite || !(suite instanceof test.suiteClass)) {\n if (suite)\n this.log.groupEnd();\n this.log.group(test.suiteClass.suiteName);\n suite = new test.suiteClass(this.testManager, this.cx);\n }\n } catch (ex) {\n // If test suite setup fails we're not even going to try to run the tests.\n this.log.error('Exception during setup: ' + (ex.stack ? ex.stack : ex));\n this.panic = true;\n this.onTestRunComplete_();\n return;\n }\n\n try {\n this.log.group(test.testName);\n\n this.currentResult = new lib.TestManager.Result(this, suite, test);\n this.testManager.testPreamble(this.currentResult, this.cx);\n suite.preamble(this.currentResult, this.cx);\n\n this.testQueue_.shift();\n } catch (ex) {\n this.log.error('Unexpected exception during test preamble: ' +\n (ex.stack ? ex.stack : ex));\n this.log.groupEnd();\n\n this.panic = true;\n this.onTestRunComplete_();\n return;\n }\n\n try {\n this.currentResult.run();\n } catch (ex) {\n // Result.run() should catch test exceptions and turn them into failures.\n // If we got here, it means there is trouble in the testing framework.\n this.log.error('Unexpected exception during test run: ' +\n (ex.stack ? ex.stack : ex));\n this.panic = true;\n }\n};\n\n/**\n * Run the selected list of tests.\n *\n * Some tests may need to run asynchronously, so you cannot assume the run is\n * complete when this function returns. Instead, pass in a function to be\n * called back when the run has completed.\n *\n * This function will log the results of the test run as they happen into the\n * log defined by the associated lib.TestManager. By default this is\n * console.log, which can be viewed in the JavaScript console of most browsers.\n *\n * The browser state is determined by the last test to run. We intentionally\n * don't do any cleanup so that you can inspect the state of a failed test, or\n * leave the browser ready for manual testing.\n *\n * Any failures in lib.TestManager.* code or test suite setup or test case\n * preamble will cause the test run to abort.\n */\nlib.TestManager.TestRun.prototype.run = function() {\n this.log.info('Running ' + this.testQueue_.length + ' test(s)');\n\n window.onerror = this.onUncaughtException_.bind(this);\n this.startDate = new Date();\n this.runNextTest_();\n};\n\n/**\n * Format milliseconds as fractional seconds.\n */\nlib.TestManager.TestRun.prototype.msToSeconds_ = function(ms) {\n var secs = (ms / 1000).toFixed(2);\n return secs + 's';\n};\n\n/**\n * Log the current result summary.\n */\nlib.TestManager.TestRun.prototype.summarize = function() {\n if (this.failures.length) {\n for (var i = 0; i < this.failures.length; i++) {\n this.log.error('FAILED: ' + this.failures[i].test.fullName);\n }\n }\n\n if (this.testQueue_.length) {\n this.log.warn('Test run incomplete: ' + this.testQueue_.length +\n ' test(s) were not run.');\n }\n};\n\n/**\n * Record of the result of a single test.\n *\n * These are constructed during a test run, you shouldn't have to make one\n * on your own.\n *\n * An instance of this class is passed in to each test function. It can be\n * used to add messages to the test log, to record a test pass/fail state, to\n * test assertions, or to create exception-proof wrappers for callback\n * functions.\n *\n * @param {lib.TestManager.TestRun} testRun The TestRun instance associated with\n * this result.\n * @param {lib.TestManager.Suit} suite The Suite containing the test we're\n * collecting this result for.\n * @param {lib.TestManager.Test} test The test we're collecting this result for.\n */\nlib.TestManager.Result = function(testRun, suite, test) {\n /**\n * The TestRun instance associated with this result.\n */\n this.testRun = testRun;\n\n /**\n * The Suite containing the test we're collecting this result for.\n */\n this.suite = suite;\n\n /**\n * The test we're collecting this result for.\n */\n this.test = test;\n\n /**\n * The time we started to collect this result, or null if we haven't started.\n */\n this.startDate = null;\n\n /**\n * The time in milliseconds that the test took to complete, or null if\n * it hasn't completed yet.\n */\n this.duration = null;\n\n /**\n * The current status of this test result.\n */\n this.status = this.PENDING;\n\n // An error message that the test case is expected to generate.\n this.expectedErrorMessage_ = null;\n};\n\n/**\n * Possible values for this.status.\n */\nlib.TestManager.Result.prototype.PENDING = 'pending';\nlib.TestManager.Result.prototype.FAILED = 'FAILED';\nlib.TestManager.Result.prototype.PASSED = 'passed';\n\n/**\n * Exception thrown when a test completes (pass or fail), to ensure no more of\n * the test is run.\n */\nlib.TestManager.Result.TestComplete = function(result) {\n this.result = result;\n};\n\nlib.TestManager.Result.TestComplete.prototype.toString = function() {\n return 'lib.TestManager.Result.TestComplete: ' + this.result.test.fullName +\n ', status: ' + this.result.status;\n}\n\n/**\n * Start the test associated with this result.\n */\nlib.TestManager.Result.prototype.run = function() {\n var self = this;\n\n this.startDate = new Date();\n this.test.run(this);\n\n if (this.status == this.PENDING && !this.timeout_) {\n this.println('Test did not return a value and did not request more time.');\n this.completeTest_(this.FAILED, false);\n }\n};\n\n/**\n * Unhandled error message this test expects to generate.\n *\n * This must be the exact string that would appear in the JavaScript console,\n * minus the 'Uncaught ' prefix.\n *\n * The test case does *not* automatically fail if the error message is not\n * encountered.\n */\nlib.TestManager.Result.prototype.expectErrorMessage = function(str) {\n this.expectedErrorMessage_ = str;\n};\n\n/**\n * Function called when a test times out.\n */\nlib.TestManager.Result.prototype.onTimeout_ = function() {\n this.timeout_ = null;\n\n if (this.status != this.PENDING)\n return;\n\n this.println('Test timed out.');\n this.completeTest_(this.FAILED, false);\n};\n\n/**\n * Indicate that a test case needs more time to complete.\n *\n * Before a test case returns it must report a pass/fail result, or request more\n * time to do so.\n *\n * If a test does not report pass/fail before the time expires it will\n * be reported as a timeout failure. Any late pass/fails will be noted in the\n * test log, but will not affect the final result of the test.\n *\n * Test cases may call requestTime more than once. If you have a few layers\n * of asynchronous API to go through, you should call this once per layer with\n * an estimate of how long each callback will take to complete.\n *\n * @param {int} ms Number of milliseconds requested.\n */\nlib.TestManager.Result.prototype.requestTime = function(ms) {\n if (this.timeout_)\n clearTimeout(this.timeout_);\n\n this.timeout_ = setTimeout(this.onTimeout_.bind(this), ms);\n};\n\n/**\n * Report the completion of a test.\n *\n * @param {string} status The status of the test case.\n * @param {boolean} opt_throw Optional boolean indicating whether or not\n * to throw the TestComplete exception.\n */\nlib.TestManager.Result.prototype.completeTest_ = function(status, opt_throw) {\n if (this.status == this.PENDING) {\n this.duration = (new Date()) - this.startDate;\n this.status = status;\n\n this.testRun.onResultComplete(this);\n } else {\n this.testRun.onResultReComplete(this, status);\n }\n\n if (arguments.length < 2 || opt_throw)\n throw new lib.TestManager.Result.TestComplete(this);\n};\n\n/**\n * Check that two arrays are equal.\n */\nlib.TestManager.Result.prototype.arrayEQ_ = function(actual, expected) {\n if (!actual || !expected)\n return (!actual && !expected);\n\n if (actual.length != expected.length)\n return false;\n\n for (var i = 0; i < actual.length; ++i)\n if (actual[i] != expected[i])\n return false;\n\n return true;\n};\n\n/**\n * Assert that an actual value is exactly equal to the expected value.\n *\n * This uses the JavaScript '===' operator in order to avoid type coercion.\n *\n * If the assertion fails, the test is marked as a failure and a TestCompleted\n * exception is thrown.\n *\n * @param {*} actual The actual measured value.\n * @param {*} expected The value expected.\n * @param {string} opt_name An optional name used to identify this\n * assertion in the test log. If omitted it will be the file:line\n * of the caller.\n */\nlib.TestManager.Result.prototype.assertEQ = function(\n actual, expected, opt_name) {\n // Utility function to pretty up the log.\n function format(value) {\n if (typeof value == 'number')\n return value;\n\n var str = String(value);\n var ary = str.split('\\n').map(function (e) { return JSON.stringify(e) });\n if (ary.length > 1) {\n // If the string has newlines, start it off on its own line so that\n // it's easier to compare against another string with newlines.\n return '\\n' + ary.join('\\n');\n } else {\n return ary.join('\\n');\n }\n }\n\n if (actual === expected)\n return;\n\n // Deal with common object types since JavaScript can't.\n if (expected instanceof Array)\n if (this.arrayEQ_(actual, expected))\n return;\n\n var name = opt_name ? '[' + opt_name + ']' : '';\n\n this.fail('assertEQ' + name + ': ' + this.getCallerLocation_(1) + ': ' +\n format(actual) + ' !== ' + format(expected));\n};\n\n/**\n * Assert that a value is true.\n *\n * This uses the JavaScript '===' operator in order to avoid type coercion.\n * The must be the boolean value `true`, not just some \"truish\" value.\n *\n * If the assertion fails, the test is marked as a failure and a TestCompleted\n * exception is thrown.\n *\n * @param {boolean} actual The actual measured value.\n * @param {string} opt_name An optional name used to identify this\n * assertion in the test log. If omitted it will be the file:line\n * of the caller.\n */\nlib.TestManager.Result.prototype.assert = function(actual, opt_name) {\n if (actual === true)\n return;\n\n var name = opt_name ? '[' + opt_name + ']' : '';\n\n this.fail('assert' + name + ': ' + this.getCallerLocation_(1) + ': ' +\n String(actual));\n};\n\n/**\n * Return the filename:line of a calling stack frame.\n *\n * This uses a dirty hack. It throws an exception, catches it, and examines\n * the stack property of the caught exception.\n *\n * @param {int} frameIndex The stack frame to return. 0 is the frame that\n * called this method, 1 is its caller, and so on.\n * @return {string} A string of the format \"filename:linenumber\".\n */\nlib.TestManager.Result.prototype.getCallerLocation_ = function(frameIndex) {\n try {\n throw new Error();\n } catch (ex) {\n var frame = ex.stack.split('\\n')[frameIndex + 2];\n var ary = frame.match(/([^/]+:\\d+):\\d+\\)?$/);\n return ary ? ary[1] : '???';\n }\n};\n\n/**\n * Write a message to the result log.\n */\nlib.TestManager.Result.prototype.println = function(message) {\n this.testRun.log.info(message);\n};\n\n/**\n * Mark a failed test and exit out of the rest of the test.\n *\n * This will throw a TestCompleted exception, causing the current test to stop.\n *\n * @param {string} opt_message Optional message to add to the log.\n */\nlib.TestManager.Result.prototype.fail = function(opt_message) {\n if (arguments.length)\n this.println(opt_message);\n\n this.completeTest_(this.FAILED, true);\n};\n\n/**\n * Mark a passed test and exit out of the rest of the test.\n *\n * This will throw a TestCompleted exception, causing the current test to stop.\n */\nlib.TestManager.Result.prototype.pass = function() {\n this.completeTest_(this.PASSED, true);\n};\n// SOURCE FILE: libdot/js/lib_utf8.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n// TODO(davidben): When the string encoding API is implemented,\n// replace this with the native in-browser implementation.\n//\n// https://wiki.whatwg.org/wiki/StringEncoding\n// https://encoding.spec.whatwg.org/\n\n/**\n * A stateful UTF-8 decoder.\n */\nlib.UTF8Decoder = function() {\n // The number of bytes left in the current sequence.\n this.bytesLeft = 0;\n // The in-progress code point being decoded, if bytesLeft > 0.\n this.codePoint = 0;\n // The lower bound on the final code point, if bytesLeft > 0.\n this.lowerBound = 0;\n};\n\n/**\n * Decodes a some UTF-8 data, taking into account state from previous\n * data streamed through the encoder.\n *\n * @param {String} str data to decode, represented as a JavaScript\n * String with each code unit representing a byte between 0x00 to\n * 0xFF.\n * @return {String} The data decoded into a JavaScript UTF-16 string.\n */\nlib.UTF8Decoder.prototype.decode = function(str) {\n var ret = '';\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n if (this.bytesLeft == 0) {\n if (c <= 0x7F) {\n ret += str.charAt(i);\n } else if (0xC0 <= c && c <= 0xDF) {\n this.codePoint = c - 0xC0;\n this.bytesLeft = 1;\n this.lowerBound = 0x80;\n } else if (0xE0 <= c && c <= 0xEF) {\n this.codePoint = c - 0xE0;\n this.bytesLeft = 2;\n this.lowerBound = 0x800;\n } else if (0xF0 <= c && c <= 0xF7) {\n this.codePoint = c - 0xF0;\n this.bytesLeft = 3;\n this.lowerBound = 0x10000;\n } else if (0xF8 <= c && c <= 0xFB) {\n this.codePoint = c - 0xF8;\n this.bytesLeft = 4;\n this.lowerBound = 0x200000;\n } else if (0xFC <= c && c <= 0xFD) {\n this.codePoint = c - 0xFC;\n this.bytesLeft = 5;\n this.lowerBound = 0x4000000;\n } else {\n ret += '\\ufffd';\n }\n } else {\n if (0x80 <= c && c <= 0xBF) {\n this.bytesLeft--;\n this.codePoint = (this.codePoint << 6) + (c - 0x80);\n if (this.bytesLeft == 0) {\n // Got a full sequence. Check if it's within bounds and\n // filter out surrogate pairs.\n var codePoint = this.codePoint;\n if (codePoint < this.lowerBound\n || (0xD800 <= codePoint && codePoint <= 0xDFFF)\n || codePoint > 0x10FFFF) {\n ret += '\\ufffd';\n } else {\n // Encode as UTF-16 in the output.\n if (codePoint < 0x10000) {\n ret += String.fromCharCode(codePoint);\n } else {\n // Surrogate pair.\n codePoint -= 0x10000;\n ret += String.fromCharCode(\n 0xD800 + ((codePoint >>> 10) & 0x3FF),\n 0xDC00 + (codePoint & 0x3FF));\n }\n }\n }\n } else {\n // Too few bytes in multi-byte sequence. Rewind stream so we\n // don't lose the next byte.\n ret += '\\ufffd';\n this.bytesLeft = 0;\n i--;\n }\n }\n }\n return ret;\n};\n\n/**\n * Decodes UTF-8 data. This is a convenience function for when all the\n * data is already known.\n *\n * @param {String} str data to decode, represented as a JavaScript\n * String with each code unit representing a byte between 0x00 to\n * 0xFF.\n * @return {String} The data decoded into a JavaScript UTF-16 string.\n */\nlib.decodeUTF8 = function(utf8) {\n return (new lib.UTF8Decoder()).decode(utf8);\n};\n\n/**\n * Encodes a UTF-16 string into UTF-8.\n *\n * TODO(davidben): Do we need a stateful version of this that can\n * handle a surrogate pair split in two calls? What happens if a\n * keypress event would have contained a character outside the BMP?\n *\n * @param {String} str The string to encode.\n * @return {String} The string encoded as UTF-8, as a JavaScript\n * string with bytes represented as code units from 0x00 to 0xFF.\n */\nlib.encodeUTF8 = function(str) {\n var ret = '';\n for (var i = 0; i < str.length; i++) {\n // Get a unicode code point out of str.\n var c = str.charCodeAt(i);\n if (0xDC00 <= c && c <= 0xDFFF) {\n c = 0xFFFD;\n } else if (0xD800 <= c && c <= 0xDBFF) {\n if (i+1 < str.length) {\n var d = str.charCodeAt(i+1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n // Swallow a surrogate pair.\n c = 0x10000 + ((c & 0x3FF) << 10) + (d & 0x3FF);\n i++;\n } else {\n c = 0xFFFD;\n }\n } else {\n c = 0xFFFD;\n }\n }\n\n // Encode c in UTF-8.\n var bytesLeft;\n if (c <= 0x7F) {\n ret += str.charAt(i);\n continue;\n } else if (c <= 0x7FF) {\n ret += String.fromCharCode(0xC0 | (c >>> 6));\n bytesLeft = 1;\n } else if (c <= 0xFFFF) {\n ret += String.fromCharCode(0xE0 | (c >>> 12));\n bytesLeft = 2;\n } else /* if (c <= 0x10FFFF) */ {\n ret += String.fromCharCode(0xF0 | (c >>> 18));\n bytesLeft = 3;\n }\n\n while (bytesLeft > 0) {\n bytesLeft--;\n ret += String.fromCharCode(0x80 | ((c >>> (6 * bytesLeft)) & 0x3F));\n }\n }\n return ret;\n};\n// SOURCE FILE: libdot/third_party/wcwidth/lib_wc.js\n// Copyright (c) 2014 The Chromium OS Authors. All rights reserved.\n// Use of lib.wc source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * This JavaScript library is ported from the wcwidth.js module of node.js.\n * The original implementation can be found at:\n * https://npmjs.org/package/wcwidth.js\n */\n\n/**\n * JavaScript porting of Markus Kuhn's wcwidth() implementation\n *\n * The following explanation comes from the original C implementation:\n *\n * This is an implementation of wcwidth() and wcswidth() (defined in\n * IEEE Std 1002.1-2001) for Unicode.\n *\n * http://www.opengroup.org/onlinepubs/007904975/functions/wcwidth.html\n * http://www.opengroup.org/onlinepubs/007904975/functions/wcswidth.html\n *\n * In fixed-width output devices, Latin characters all occupy a single\n * \"cell\" position of equal width, whereas ideographic CJK characters\n * occupy two such cells. Interoperability between terminal-line\n * applications and (teletype-style) character terminals using the\n * UTF-8 encoding requires agreement on which character should advance\n * the cursor by how many cell positions. No established formal\n * standards exist at present on which Unicode character shall occupy\n * how many cell positions on character terminals. These routines are\n * a first attempt of defining such behavior based on simple rules\n * applied to data provided by the Unicode Consortium.\n *\n * For some graphical characters, the Unicode standard explicitly\n * defines a character-cell width via the definition of the East Asian\n * FullWidth (F), Wide (W), Half-width (H), and Narrow (Na) classes.\n * In all these cases, there is no ambiguity about which width a\n * terminal shall use. For characters in the East Asian Ambiguous (A)\n * class, the width choice depends purely on a preference of backward\n * compatibility with either historic CJK or Western practice.\n * Choosing single-width for these characters is easy to justify as\n * the appropriate long-term solution, as the CJK practice of\n * displaying these characters as double-width comes from historic\n * implementation simplicity (8-bit encoded characters were displayed\n * single-width and 16-bit ones double-width, even for Greek,\n * Cyrillic, etc.) and not any typographic considerations.\n *\n * Much less clear is the choice of width for the Not East Asian\n * (Neutral) class. Existing practice does not dictate a width for any\n * of these characters. It would nevertheless make sense\n * typographically to allocate two character cells to characters such\n * as for instance EM SPACE or VOLUME INTEGRAL, which cannot be\n * represented adequately with a single-width glyph. The following\n * routines at present merely assign a single-cell width to all\n * neutral characters, in the interest of simplicity. This is not\n * entirely satisfactory and should be reconsidered before\n * establishing a formal standard in lib.wc area. At the moment, the\n * decision which Not East Asian (Neutral) characters should be\n * represented by double-width glyphs cannot yet be answered by\n * applying a simple rule from the Unicode database content. Setting\n * up a proper standard for the behavior of UTF-8 character terminals\n * will require a careful analysis not only of each Unicode character,\n * but also of each presentation form, something the author of these\n * routines has avoided to do so far.\n *\n * http://www.unicode.org/unicode/reports/tr11/\n *\n * Markus Kuhn -- 2007-05-26 (Unicode 5.0)\n *\n * Permission to use, copy, modify, and distribute lib.wc software\n * for any purpose and without fee is hereby granted. The author\n * disclaims all warranties with regard to lib.wc software.\n *\n * Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c\n */\n\n/**\n * The following function defines the column width of an ISO 10646 character\n * as follows:\n *\n * - The null character (U+0000) has a column width of 0.\n * - Other C0/C1 control characters and DEL will lead to a return value of -1.\n * - Non-spacing and enclosing combining characters (general category code Mn\n * or Me in the Unicode database) have a column width of 0.\n * - SOFT HYPHEN (U+00AD) has a column width of 1.\n * - Other format characters (general category code Cf in the Unicode database)\n * and ZERO WIDTH SPACE (U+200B) have a column width of 0.\n * - Hangul Jamo medial vowels and final consonants (U+1160-U+11FF) have a\n * column width of 0.\n * - Spacing characters in the East Asian Wide (W) or East Asian Full-width (F)\n * category as defined in Unicode Technical Report #11 have a column width of\n * 2.\n * - East Asian Ambiguous characters are taken into account if\n * regardCjkAmbiguous flag is enabled. They have a column width of 2.\n * - All remaining characters (including all printable ISO 8859-1 and WGL4\n * characters, Unicode control characters, etc.) have a column width of 1.\n *\n * This implementation assumes that characters are encoded in ISO 10646.\n */\n\nlib.wc = {};\n\n// Width of a nul character.\nlib.wc.nulWidth = 0;\n\n// Width of a control character.\nlib.wc.controlWidth = 0;\n\n// Flag whether to consider East Asian Ambiguous characters.\nlib.wc.regardCjkAmbiguous = false;\n\n// Width of an East Asian Ambiguous character.\nlib.wc.cjkAmbiguousWidth = 2;\n\n// Sorted list of non-overlapping intervals of non-spacing characters\n// generated by \"uniset +cat=Me +cat=Mn +cat=Cf -00AD +1160-11FF +200B c\"\nlib.wc.combining = [\n [ 0x0300, 0x036F ], [ 0x0483, 0x0486 ], [ 0x0488, 0x0489 ],\n [ 0x0591, 0x05BD ], [ 0x05BF, 0x05BF ], [ 0x05C1, 0x05C2 ],\n [ 0x05C4, 0x05C5 ], [ 0x05C7, 0x05C7 ], [ 0x0600, 0x0603 ],\n [ 0x0610, 0x0615 ], [ 0x064B, 0x065E ], [ 0x0670, 0x0670 ],\n [ 0x06D6, 0x06E4 ], [ 0x06E7, 0x06E8 ], [ 0x06EA, 0x06ED ],\n [ 0x070F, 0x070F ], [ 0x0711, 0x0711 ], [ 0x0730, 0x074A ],\n [ 0x07A6, 0x07B0 ], [ 0x07EB, 0x07F3 ], [ 0x0901, 0x0902 ],\n [ 0x093C, 0x093C ], [ 0x0941, 0x0948 ], [ 0x094D, 0x094D ],\n [ 0x0951, 0x0954 ], [ 0x0962, 0x0963 ], [ 0x0981, 0x0981 ],\n [ 0x09BC, 0x09BC ], [ 0x09C1, 0x09C4 ], [ 0x09CD, 0x09CD ],\n [ 0x09E2, 0x09E3 ], [ 0x0A01, 0x0A02 ], [ 0x0A3C, 0x0A3C ],\n [ 0x0A41, 0x0A42 ], [ 0x0A47, 0x0A48 ], [ 0x0A4B, 0x0A4D ],\n [ 0x0A70, 0x0A71 ], [ 0x0A81, 0x0A82 ], [ 0x0ABC, 0x0ABC ],\n [ 0x0AC1, 0x0AC5 ], [ 0x0AC7, 0x0AC8 ], [ 0x0ACD, 0x0ACD ],\n [ 0x0AE2, 0x0AE3 ], [ 0x0B01, 0x0B01 ], [ 0x0B3C, 0x0B3C ],\n [ 0x0B3F, 0x0B3F ], [ 0x0B41, 0x0B43 ], [ 0x0B4D, 0x0B4D ],\n [ 0x0B56, 0x0B56 ], [ 0x0B82, 0x0B82 ], [ 0x0BC0, 0x0BC0 ],\n [ 0x0BCD, 0x0BCD ], [ 0x0C3E, 0x0C40 ], [ 0x0C46, 0x0C48 ],\n [ 0x0C4A, 0x0C4D ], [ 0x0C55, 0x0C56 ], [ 0x0CBC, 0x0CBC ],\n [ 0x0CBF, 0x0CBF ], [ 0x0CC6, 0x0CC6 ], [ 0x0CCC, 0x0CCD ],\n [ 0x0CE2, 0x0CE3 ], [ 0x0D41, 0x0D43 ], [ 0x0D4D, 0x0D4D ],\n [ 0x0DCA, 0x0DCA ], [ 0x0DD2, 0x0DD4 ], [ 0x0DD6, 0x0DD6 ],\n [ 0x0E31, 0x0E31 ], [ 0x0E34, 0x0E3A ], [ 0x0E47, 0x0E4E ],\n [ 0x0EB1, 0x0EB1 ], [ 0x0EB4, 0x0EB9 ], [ 0x0EBB, 0x0EBC ],\n [ 0x0EC8, 0x0ECD ], [ 0x0F18, 0x0F19 ], [ 0x0F35, 0x0F35 ],\n [ 0x0F37, 0x0F37 ], [ 0x0F39, 0x0F39 ], [ 0x0F71, 0x0F7E ],\n [ 0x0F80, 0x0F84 ], [ 0x0F86, 0x0F87 ], [ 0x0F90, 0x0F97 ],\n [ 0x0F99, 0x0FBC ], [ 0x0FC6, 0x0FC6 ], [ 0x102D, 0x1030 ],\n [ 0x1032, 0x1032 ], [ 0x1036, 0x1037 ], [ 0x1039, 0x1039 ],\n [ 0x1058, 0x1059 ], [ 0x1160, 0x11FF ], [ 0x135F, 0x135F ],\n [ 0x1712, 0x1714 ], [ 0x1732, 0x1734 ], [ 0x1752, 0x1753 ],\n [ 0x1772, 0x1773 ], [ 0x17B4, 0x17B5 ], [ 0x17B7, 0x17BD ],\n [ 0x17C6, 0x17C6 ], [ 0x17C9, 0x17D3 ], [ 0x17DD, 0x17DD ],\n [ 0x180B, 0x180D ], [ 0x18A9, 0x18A9 ], [ 0x1920, 0x1922 ],\n [ 0x1927, 0x1928 ], [ 0x1932, 0x1932 ], [ 0x1939, 0x193B ],\n [ 0x1A17, 0x1A18 ], [ 0x1B00, 0x1B03 ], [ 0x1B34, 0x1B34 ],\n [ 0x1B36, 0x1B3A ], [ 0x1B3C, 0x1B3C ], [ 0x1B42, 0x1B42 ],\n [ 0x1B6B, 0x1B73 ], [ 0x1DC0, 0x1DCA ], [ 0x1DFE, 0x1DFF ],\n [ 0x200B, 0x200F ], [ 0x202A, 0x202E ], [ 0x2060, 0x2063 ],\n [ 0x206A, 0x206F ], [ 0x20D0, 0x20EF ], [ 0x302A, 0x302F ],\n [ 0x3099, 0x309A ], [ 0xA806, 0xA806 ], [ 0xA80B, 0xA80B ],\n [ 0xA825, 0xA826 ], [ 0xFB1E, 0xFB1E ], [ 0xFE00, 0xFE0F ],\n [ 0xFE20, 0xFE23 ], [ 0xFEFF, 0xFEFF ], [ 0xFFF9, 0xFFFB ],\n [ 0x10A01, 0x10A03 ], [ 0x10A05, 0x10A06 ], [ 0x10A0C, 0x10A0F ],\n [ 0x10A38, 0x10A3A ], [ 0x10A3F, 0x10A3F ], [ 0x1D167, 0x1D169 ],\n [ 0x1D173, 0x1D182 ], [ 0x1D185, 0x1D18B ], [ 0x1D1AA, 0x1D1AD ],\n [ 0x1D242, 0x1D244 ], [ 0xE0001, 0xE0001 ], [ 0xE0020, 0xE007F ],\n [ 0xE0100, 0xE01EF ]\n];\n\n// Sorted list of non-overlapping intervals of East Asian Ambiguous characters\n// generated by \"uniset +WIDTH-A -cat=Me -cat=Mn -cat=Cf c\"\nlib.wc.ambiguous = [\n [ 0x00A1, 0x00A1 ], [ 0x00A4, 0x00A4 ], [ 0x00A7, 0x00A8 ],\n [ 0x00AA, 0x00AA ], [ 0x00AE, 0x00AE ], [ 0x00B0, 0x00B4 ],\n [ 0x00B6, 0x00BA ], [ 0x00BC, 0x00BF ], [ 0x00C6, 0x00C6 ],\n [ 0x00D0, 0x00D0 ], [ 0x00D7, 0x00D8 ], [ 0x00DE, 0x00E1 ],\n [ 0x00E6, 0x00E6 ], [ 0x00E8, 0x00EA ], [ 0x00EC, 0x00ED ],\n [ 0x00F0, 0x00F0 ], [ 0x00F2, 0x00F3 ], [ 0x00F7, 0x00FA ],\n [ 0x00FC, 0x00FC ], [ 0x00FE, 0x00FE ], [ 0x0101, 0x0101 ],\n [ 0x0111, 0x0111 ], [ 0x0113, 0x0113 ], [ 0x011B, 0x011B ],\n [ 0x0126, 0x0127 ], [ 0x012B, 0x012B ], [ 0x0131, 0x0133 ],\n [ 0x0138, 0x0138 ], [ 0x013F, 0x0142 ], [ 0x0144, 0x0144 ],\n [ 0x0148, 0x014B ], [ 0x014D, 0x014D ], [ 0x0152, 0x0153 ],\n [ 0x0166, 0x0167 ], [ 0x016B, 0x016B ], [ 0x01CE, 0x01CE ],\n [ 0x01D0, 0x01D0 ], [ 0x01D2, 0x01D2 ], [ 0x01D4, 0x01D4 ],\n [ 0x01D6, 0x01D6 ], [ 0x01D8, 0x01D8 ], [ 0x01DA, 0x01DA ],\n [ 0x01DC, 0x01DC ], [ 0x0251, 0x0251 ], [ 0x0261, 0x0261 ],\n [ 0x02C4, 0x02C4 ], [ 0x02C7, 0x02C7 ], [ 0x02C9, 0x02CB ],\n [ 0x02CD, 0x02CD ], [ 0x02D0, 0x02D0 ], [ 0x02D8, 0x02DB ],\n [ 0x02DD, 0x02DD ], [ 0x02DF, 0x02DF ], [ 0x0391, 0x03A1 ],\n [ 0x03A3, 0x03A9 ], [ 0x03B1, 0x03C1 ], [ 0x03C3, 0x03C9 ],\n [ 0x0401, 0x0401 ], [ 0x0410, 0x044F ], [ 0x0451, 0x0451 ],\n [ 0x2010, 0x2010 ], [ 0x2013, 0x2016 ], [ 0x2018, 0x2019 ],\n [ 0x201C, 0x201D ], [ 0x2020, 0x2022 ], [ 0x2024, 0x2027 ],\n [ 0x2030, 0x2030 ], [ 0x2032, 0x2033 ], [ 0x2035, 0x2035 ],\n [ 0x203B, 0x203B ], [ 0x203E, 0x203E ], [ 0x2074, 0x2074 ],\n [ 0x207F, 0x207F ], [ 0x2081, 0x2084 ], [ 0x20AC, 0x20AC ],\n [ 0x2103, 0x2103 ], [ 0x2105, 0x2105 ], [ 0x2109, 0x2109 ],\n [ 0x2113, 0x2113 ], [ 0x2116, 0x2116 ], [ 0x2121, 0x2122 ],\n [ 0x2126, 0x2126 ], [ 0x212B, 0x212B ], [ 0x2153, 0x2154 ],\n [ 0x215B, 0x215E ], [ 0x2160, 0x216B ], [ 0x2170, 0x2179 ],\n [ 0x2190, 0x2199 ], [ 0x21B8, 0x21B9 ], [ 0x21D2, 0x21D2 ],\n [ 0x21D4, 0x21D4 ], [ 0x21E7, 0x21E7 ], [ 0x2200, 0x2200 ],\n [ 0x2202, 0x2203 ], [ 0x2207, 0x2208 ], [ 0x220B, 0x220B ],\n [ 0x220F, 0x220F ], [ 0x2211, 0x2211 ], [ 0x2215, 0x2215 ],\n [ 0x221A, 0x221A ], [ 0x221D, 0x2220 ], [ 0x2223, 0x2223 ],\n [ 0x2225, 0x2225 ], [ 0x2227, 0x222C ], [ 0x222E, 0x222E ],\n [ 0x2234, 0x2237 ], [ 0x223C, 0x223D ], [ 0x2248, 0x2248 ],\n [ 0x224C, 0x224C ], [ 0x2252, 0x2252 ], [ 0x2260, 0x2261 ],\n [ 0x2264, 0x2267 ], [ 0x226A, 0x226B ], [ 0x226E, 0x226F ],\n [ 0x2282, 0x2283 ], [ 0x2286, 0x2287 ], [ 0x2295, 0x2295 ],\n [ 0x2299, 0x2299 ], [ 0x22A5, 0x22A5 ], [ 0x22BF, 0x22BF ],\n [ 0x2312, 0x2312 ], [ 0x2460, 0x24E9 ], [ 0x24EB, 0x254B ],\n [ 0x2550, 0x2573 ], [ 0x2580, 0x258F ], [ 0x2592, 0x2595 ],\n [ 0x25A0, 0x25A1 ], [ 0x25A3, 0x25A9 ], [ 0x25B2, 0x25B3 ],\n [ 0x25B6, 0x25B7 ], [ 0x25BC, 0x25BD ], [ 0x25C0, 0x25C1 ],\n [ 0x25C6, 0x25C8 ], [ 0x25CB, 0x25CB ], [ 0x25CE, 0x25D1 ],\n [ 0x25E2, 0x25E5 ], [ 0x25EF, 0x25EF ], [ 0x2605, 0x2606 ],\n [ 0x2609, 0x2609 ], [ 0x260E, 0x260F ], [ 0x2614, 0x2615 ],\n [ 0x261C, 0x261C ], [ 0x261E, 0x261E ], [ 0x2640, 0x2640 ],\n [ 0x2642, 0x2642 ], [ 0x2660, 0x2661 ], [ 0x2663, 0x2665 ],\n [ 0x2667, 0x266A ], [ 0x266C, 0x266D ], [ 0x266F, 0x266F ],\n [ 0x273D, 0x273D ], [ 0x2776, 0x277F ], [ 0xE000, 0xF8FF ],\n [ 0xFFFD, 0xFFFD ], [ 0xF0000, 0xFFFFD ], [ 0x100000, 0x10FFFD ]\n];\n\n/**\n * Binary search to check if the given unicode character is a space character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {boolean} True if the given character is a space character; false\n * otherwise.\n */\nlib.wc.isSpace = function(ucs) {\n // Auxiliary function for binary search in interval table.\n var min = 0, max = lib.wc.combining.length - 1;\n var mid;\n\n if (ucs < lib.wc.combining[0][0] || ucs > lib.wc.combining[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > lib.wc.combining[mid][1]) {\n min = mid + 1;\n } else if (ucs < lib.wc.combining[mid][0]) {\n max = mid - 1;\n } else {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * Auxiliary function for checking if the given unicode character is a East\n * Asian Ambiguous character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {boolean} True if the given character is a East Asian Ambiguous\n * character.\n */\nlib.wc.isCjkAmbiguous = function(ucs) {\n var min = 0, max = lib.wc.ambiguous.length - 1;\n var mid;\n\n if (ucs < lib.wc.ambiguous[0][0] || ucs > lib.wc.ambiguous[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > lib.wc.ambiguous[mid][1]) {\n min = mid + 1;\n } else if (ucs < lib.wc.ambiguous[mid][0]) {\n max = mid - 1;\n } else {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * Determine the column width of the given character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidth = function(ucs) {\n if (lib.wc.regardCjkAmbiguous) {\n return lib.wc.charWidthRegardAmbiguous(ucs);\n } else {\n return lib.wc.charWidthDisregardAmbiguous(ucs);\n }\n};\n\n/**\n * Determine the column width of the given character without considering East\n * Asian Ambiguous characters.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidthDisregardAmbiguous = function(ucs) {\n // Test for 8-bit control characters.\n if (ucs === 0)\n return lib.wc.nulWidth;\n if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0))\n return lib.wc.controlWidth;\n\n // Optimize for ASCII characters.\n if (ucs < 0x7f)\n return 1;\n\n // Binary search in table of non-spacing characters.\n if (lib.wc.isSpace(ucs))\n return 0;\n\n // If we arrive here, ucs is not a combining or C0/C1 control character.\n return 1 +\n (ucs >= 0x1100 &&\n (ucs <= 0x115f || // Hangul Jamo init. consonants\n ucs == 0x2329 || ucs == 0x232a ||\n (ucs >= 0x2e80 && ucs <= 0xa4cf &&\n ucs != 0x303f) || // CJK ... Yi\n (ucs >= 0xac00 && ucs <= 0xd7a3) || // Hangul Syllables\n (ucs >= 0xf900 && ucs <= 0xfaff) || // CJK Compatibility Ideographs\n (ucs >= 0xfe10 && ucs <= 0xfe19) || // Vertical forms\n (ucs >= 0xfe30 && ucs <= 0xfe6f) || // CJK Compatibility Forms\n (ucs >= 0xff00 && ucs <= 0xff60) || // Fullwidth Forms\n (ucs >= 0xffe0 && ucs <= 0xffe6) ||\n (ucs >= 0x20000 && ucs <= 0x2fffd) ||\n (ucs >= 0x30000 && ucs <= 0x3fffd)));\n // TODO: emoji characters usually require space for wide characters although\n // East Asian width spec says nothing. Should we add special cases for them?\n};\n\n/**\n * Determine the column width of the given character considering East Asian\n * Ambiguous characters.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidthRegardAmbiguous = function(ucs) {\n if (lib.wc.isCjkAmbiguous(ucs))\n return lib.wc.cjkAmbiguousWidth;\n\n return lib.wc.charWidthDisregardAmbiguous(ucs);\n};\n\n/**\n * Determine the column width of the given string.\n *\n * @param {string} str A string.\n *\n * @return {integer} The column width of the given string.\n */\nlib.wc.strWidth = function(str) {\n var width, rv = 0;\n\n for (var i = 0; i < str.length;) {\n var codePoint = str.codePointAt(i);\n width = lib.wc.charWidth(codePoint);\n if (width < 0)\n return -1;\n rv += width;\n i += (codePoint <= 0xffff) ? 1 : 2;\n }\n\n return rv;\n};\n\n/**\n * Get the substring at the given column offset of the given column width.\n *\n * @param {string} str The string to get substring from.\n * @param {integer} start The starting column offset to get substring.\n * @param {integer} opt_width The column width of the substring.\n *\n * @return {string} The substring.\n */\nlib.wc.substr = function(str, start, opt_width) {\n var startIndex, endIndex, width;\n\n for (startIndex = 0, width = 0; startIndex < str.length; startIndex++) {\n width += lib.wc.charWidth(str.charCodeAt(startIndex));\n if (width > start)\n break;\n }\n\n if (opt_width != undefined) {\n for (endIndex = startIndex, width = 0;\n endIndex < str.length && width <= opt_width;\n width += lib.wc.charWidth(str.charCodeAt(endIndex)), endIndex++);\n if (width > opt_width)\n endIndex--;\n return str.substring(startIndex, endIndex);\n }\n\n return str.substr(startIndex);\n};\n\n/**\n * Get substring at the given start and end column offset.\n *\n * @param {string} str The string to get substring from.\n * @param {integer} start The starting column offset.\n * @param {integer} end The ending column offset.\n *\n * @return {string} The substring.\n */\nlib.wc.substring = function(str, start, end) {\n return lib.wc.substr(str, start, end - start);\n};\nlib.resource.add('libdot/changelog/version', 'text/plain',\n'1.16' +\n''\n);\n\nlib.resource.add('libdot/changelog/date', 'text/plain',\n'2017-08-16' +\n''\n);\n\n// SOURCE FILE: hterm/js/hterm.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.Storage');\n\n/**\n * @fileoverview Declares the hterm.* namespace and some basic shared utilities\n * that are too small to deserve dedicated files.\n */\nvar hterm = {};\n\n/**\n * The type of window hosting hterm.\n *\n * This is set as part of hterm.init(). The value is invalid until\n * initialization completes.\n */\nhterm.windowType = null;\n\n/**\n * Warning message to display in the terminal when browser zoom is enabled.\n *\n * You can replace it with your own localized message.\n */\nhterm.zoomWarningMessage = 'ZOOM != 100%';\n\n/**\n * Brief overlay message displayed when text is copied to the clipboard.\n *\n * By default it is the unicode BLACK SCISSORS character, but you can\n * replace it with your own localized message.\n *\n * This is only displayed when the 'enable-clipboard-notice' preference\n * is enabled.\n */\nhterm.notifyCopyMessage = '\\u2702';\n\n\n/**\n * Text shown in a desktop notification for the terminal\n * bell. \\u226a is a unicode EIGHTH NOTE, %(title) will\n * be replaced by the terminal title.\n */\nhterm.desktopNotificationTitle = '\\u266A %(title) \\u266A';\n\n/**\n * List of known hterm test suites.\n *\n * A test harness should ensure that they all exist before running.\n */\nhterm.testDeps = ['hterm.ScrollPort.Tests', 'hterm.Screen.Tests',\n 'hterm.Terminal.Tests', 'hterm.VT.Tests',\n 'hterm.VT.CannedTests'];\n\n/**\n * The hterm init function, registered with lib.registerInit().\n *\n * This is called during lib.init().\n *\n * @param {function} onInit The function lib.init() wants us to invoke when\n * initialization is complete.\n */\nlib.registerInit('hterm', function(onInit) {\n function onWindow(window) {\n hterm.windowType = window.type;\n setTimeout(onInit, 0);\n }\n\n function onTab(tab) {\n if (tab && window.chrome) {\n chrome.windows.get(tab.windowId, null, onWindow);\n } else {\n // TODO(rginda): This is where we end up for a v1 app's background page.\n // Maybe windowType = 'none' would be more appropriate, or something.\n hterm.windowType = 'normal';\n setTimeout(onInit, 0);\n }\n }\n\n if (!hterm.defaultStorage) {\n if (window.chrome && chrome.storage && chrome.storage.sync) {\n hterm.defaultStorage = new lib.Storage.Chrome(chrome.storage.sync);\n } else {\n hterm.defaultStorage = new lib.Storage.Local();\n }\n }\n\n // The chrome.tabs API is not supported in packaged apps, and detecting if\n // you're a packaged app is a little awkward.\n var isPackagedApp = false;\n if (window.chrome && chrome.runtime && chrome.runtime.getManifest) {\n var manifest = chrome.runtime.getManifest();\n isPackagedApp = manifest.app && manifest.app.background;\n }\n\n if (isPackagedApp) {\n // Packaged apps are never displayed in browser tabs.\n setTimeout(onWindow.bind(null, {type: 'popup'}), 0);\n } else {\n if (window.chrome && chrome.tabs) {\n // The getCurrent method gets the tab that is \"currently running\", not the\n // topmost or focused tab.\n chrome.tabs.getCurrent(onTab);\n } else {\n setTimeout(onWindow.bind(null, {type: 'normal'}), 0);\n }\n }\n});\n\n/**\n * Return decimal { width, height } for a given dom node.\n */\nhterm.getClientSize = function(dom) {\n return dom.getBoundingClientRect();\n};\n\n/**\n * Return decimal width for a given dom node.\n */\nhterm.getClientWidth = function(dom) {\n return dom.getBoundingClientRect().width;\n};\n\n/**\n * Return decimal height for a given dom node.\n */\nhterm.getClientHeight = function(dom) {\n return dom.getBoundingClientRect().height;\n};\n\n/**\n * Copy the current selection to the system clipboard.\n *\n * @param {HTMLDocument} The document with the selection to copy.\n */\nhterm.copySelectionToClipboard = function(document) {\n try {\n document.execCommand('copy');\n } catch (firefoxException) {\n // Ignore this. FF throws an exception if there was an error, even though\n // the spec says just return false.\n }\n};\n\n/**\n * Paste the system clipboard into the element with focus.\n *\n * Note: In Chrome/Firefox app/extension environments, you'll need the\n * \"clipboardRead\" permission. In other environments, this might always\n * fail as the browser frequently blocks access for security reasons.\n *\n * @param {HTMLDocument} The document to paste into.\n * @return {boolean} True if the paste succeeded.\n */\nhterm.pasteFromClipboard = function(document) {\n try {\n return document.execCommand('paste');\n } catch (firefoxException) {\n // Ignore this. FF 40 and older would incorrectly throw an exception if\n // there was an error instead of returning false.\n return false;\n }\n};\n\n/**\n * Create a new notification.\n *\n * @param {Object} params Various parameters for the notification.\n * @param {string} params.title The title (defaults to the window's title).\n * @param {string} params.body The message body (main text).\n */\nhterm.notify = function(params) {\n var def = (curr, fallback) => curr !== undefined ? curr : fallback;\n if (params === undefined || params === null)\n params = {};\n\n // Merge the user's choices with the default settings. We don't take it\n // directly in case it was stuffed with excess junk.\n var options = {\n 'body': params.body,\n 'icon': def(params.icon, lib.resource.getDataUrl('hterm/images/icon-96')),\n }\n\n var title = def(params.title, window.document.title);\n if (!title)\n title = 'hterm';\n title = lib.f.replaceVars(hterm.desktopNotificationTitle, {'title': title});\n\n var n = new Notification(title, options);\n n.onclick = function() {\n window.focus();\n this.close();\n };\n return n;\n};\n\n/**\n * Constructor for a hterm.Size record.\n *\n * Instances of this class have public read/write members for width and height.\n *\n * @param {integer} width The width of this record.\n * @param {integer} height The height of this record.\n */\nhterm.Size = function(width, height) {\n this.width = width;\n this.height = height;\n};\n\n/**\n * Adjust the width and height of this record.\n *\n * @param {integer} width The new width of this record.\n * @param {integer} height The new height of this record.\n */\nhterm.Size.prototype.resize = function(width, height) {\n this.width = width;\n this.height = height;\n};\n\n/**\n * Return a copy of this record.\n *\n * @return {hterm.Size} A new hterm.Size instance with the same width and\n * height.\n */\nhterm.Size.prototype.clone = function() {\n return new hterm.Size(this.width, this.height);\n};\n\n/**\n * Set the height and width of this instance based on another hterm.Size.\n *\n * @param {hterm.Size} that The object to copy from.\n */\nhterm.Size.prototype.setTo = function(that) {\n this.width = that.width;\n this.height = that.height;\n};\n\n/**\n * Test if another hterm.Size instance is equal to this one.\n *\n * @param {hterm.Size} that The other hterm.Size instance.\n * @return {boolean} True if both instances have the same width/height, false\n * otherwise.\n */\nhterm.Size.prototype.equals = function(that) {\n return this.width == that.width && this.height == that.height;\n};\n\n/**\n * Return a string representation of this instance.\n *\n * @return {string} A string that identifies the width and height of this\n * instance.\n */\nhterm.Size.prototype.toString = function() {\n return '[hterm.Size: ' + this.width + ', ' + this.height + ']';\n};\n\n/**\n * Constructor for a hterm.RowCol record.\n *\n * Instances of this class have public read/write members for row and column.\n *\n * This class includes an 'overflow' bit which is use to indicate that an\n * attempt has been made to move the cursor column passed the end of the\n * screen. When this happens we leave the cursor column set to the last column\n * of the screen but set the overflow bit. In this state cursor movement\n * happens normally, but any attempt to print new characters causes a cr/lf\n * first.\n *\n * @param {integer} row The row of this record.\n * @param {integer} column The column of this record.\n * @param {boolean} opt_overflow Optional boolean indicating that the RowCol\n * has overflowed.\n */\nhterm.RowCol = function(row, column, opt_overflow) {\n this.row = row;\n this.column = column;\n this.overflow = !!opt_overflow;\n};\n\n/**\n * Adjust the row and column of this record.\n *\n * @param {integer} row The new row of this record.\n * @param {integer} column The new column of this record.\n * @param {boolean} opt_overflow Optional boolean indicating that the RowCol\n * has overflowed.\n */\nhterm.RowCol.prototype.move = function(row, column, opt_overflow) {\n this.row = row;\n this.column = column;\n this.overflow = !!opt_overflow;\n};\n\n/**\n * Return a copy of this record.\n *\n * @return {hterm.RowCol} A new hterm.RowCol instance with the same row and\n * column.\n */\nhterm.RowCol.prototype.clone = function() {\n return new hterm.RowCol(this.row, this.column, this.overflow);\n};\n\n/**\n * Set the row and column of this instance based on another hterm.RowCol.\n *\n * @param {hterm.RowCol} that The object to copy from.\n */\nhterm.RowCol.prototype.setTo = function(that) {\n this.row = that.row;\n this.column = that.column;\n this.overflow = that.overflow;\n};\n\n/**\n * Test if another hterm.RowCol instance is equal to this one.\n *\n * @param {hterm.RowCol} that The other hterm.RowCol instance.\n * @return {boolean} True if both instances have the same row/column, false\n * otherwise.\n */\nhterm.RowCol.prototype.equals = function(that) {\n return (this.row == that.row && this.column == that.column &&\n this.overflow == that.overflow);\n};\n\n/**\n * Return a string representation of this instance.\n *\n * @return {string} A string that identifies the row and column of this\n * instance.\n */\nhterm.RowCol.prototype.toString = function() {\n return ('[hterm.RowCol: ' + this.row + ', ' + this.column + ', ' +\n this.overflow + ']');\n};\n// SOURCE FILE: hterm/js/hterm_frame.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f');\n\n/**\n * First draft of the interface between the terminal and a third party dialog.\n *\n * This is rough. It's just the terminal->dialog layer. To complete things\n * we'll also need a command->terminal layer. That will have to facilitate\n * command->terminal->dialog or direct command->dialog communication.\n *\n * I imagine this class will change significantly when that happens.\n */\n\n/**\n * Construct a new frame for the given terminal.\n *\n * @param terminal {hterm.Terminal} The parent terminal object.\n * @param url {String} The url to load in the frame.\n * @param opt_options {Object} Optional options for the frame. Not implemented.\n */\nhterm.Frame = function(terminal, url, opt_options) {\n this.terminal_ = terminal;\n this.div_ = terminal.div_;\n this.url = url;\n this.options = opt_options || {};\n this.iframe_ = null;\n this.container_ = null;\n this.messageChannel_ = null;\n};\n\n/**\n * Handle messages from the iframe.\n */\nhterm.Frame.prototype.onMessage_ = function(e) {\n switch (e.data.name) {\n case 'ipc-init-ok':\n // We get this response after we send them ipc-init and they finish.\n this.sendTerminalInfo_();\n return;\n case 'terminal-info-ok':\n // We get this response after we send them terminal-info and they finish.\n // Show the finished frame, and then rebind our message handler to the\n // callback below.\n this.container_.style.display = 'flex';\n this.messageChannel_.port1.onmessage = this.onMessage.bind(this);\n this.onLoad();\n return;\n default:\n console.log('Unknown message from frame:', e.data);\n return;\n }\n};\n\n/**\n * Clients could override this, I guess.\n *\n * It doesn't support multiple listeners, but I'm not sure that would make sense\n * here. It's probably better to speak directly to our parents.\n */\nhterm.Frame.prototype.onMessage = function() {};\n\n/**\n * Handle iframe onLoad event.\n */\nhterm.Frame.prototype.onLoad_ = function() {\n this.messageChannel_ = new MessageChannel();\n this.messageChannel_.port1.onmessage = this.onMessage_.bind(this);\n this.messageChannel_.port1.start();\n this.iframe_.contentWindow.postMessage(\n {name: 'ipc-init', argv: [{messagePort: this.messageChannel_.port2}]},\n this.url, [this.messageChannel_.port2]);\n};\n\n/**\n * Clients may override this.\n */\nhterm.Frame.prototype.onLoad = function() {};\n\n/**\n * Sends the terminal-info message to the iframe.\n */\nhterm.Frame.prototype.sendTerminalInfo_ = function() {\n lib.f.getAcceptLanguages(function(languages) {\n this.postMessage('terminal-info', [{\n acceptLanguages: languages,\n foregroundColor: this.terminal_.getForegroundColor(),\n backgroundColor: this.terminal_.getBackgroundColor(),\n cursorColor: this.terminal_.getCursorColor(),\n fontSize: this.terminal_.getFontSize(),\n fontFamily: this.terminal_.getFontFamily(),\n baseURL: lib.f.getURL('/')\n }]\n );\n }.bind(this));\n};\n\n/**\n * User clicked the close button on the frame decoration.\n */\nhterm.Frame.prototype.onCloseClicked_ = function() {\n this.close();\n};\n\n/**\n * Close this frame.\n */\nhterm.Frame.prototype.close = function() {\n if (!this.container_ || !this.container_.parentNode)\n return;\n\n this.container_.parentNode.removeChild(this.container_);\n this.onClose();\n};\n\n\n/**\n * Clients may override this.\n */\nhterm.Frame.prototype.onClose = function() {};\n\n/**\n * Send a message to the iframe.\n */\nhterm.Frame.prototype.postMessage = function(name, argv) {\n if (!this.messageChannel_)\n throw new Error('Message channel is not set up.');\n\n this.messageChannel_.port1.postMessage({name: name, argv: argv});\n};\n\n/**\n * Show the UI for this frame.\n *\n * The iframe src is not loaded until this method is called.\n */\nhterm.Frame.prototype.show = function() {\n var self = this;\n\n function opt(name, defaultValue) {\n if (name in self.options)\n return self.options[name];\n\n return defaultValue;\n }\n\n var self = this;\n\n if (this.container_ && this.container_.parentNode) {\n console.error('Frame already visible');\n return;\n }\n\n var headerHeight = '16px';\n\n var divSize = hterm.getClientSize(this.div_);\n\n var width = opt('width', 640);\n var height = opt('height', 480);\n var left = (divSize.width - width) / 2;\n var top = (divSize.height - height) / 2;\n\n var document = this.terminal_.document_;\n\n var container = this.container_ = document.createElement('div');\n container.style.cssText = (\n 'position: absolute;' +\n 'display: none;' +\n 'flex-direction: column;' +\n 'top: 10%;' +\n 'left: 4%;' +\n 'width: 90%;' +\n 'height: 80%;' +\n 'min-height: 20%;' +\n 'max-height: 80%;' +\n 'box-shadow: 0 0 2px ' + this.terminal_.getForegroundColor() + ';' +\n 'border: 2px ' + this.terminal_.getForegroundColor() + ' solid;');\n\n if (false) {\n // No use for the close button, so no use for the window header either.\n var header = document.createElement('div');\n header.style.cssText = (\n 'display: flex;' +\n 'justify-content: flex-end;' +\n 'height: ' + headerHeight + ';' +\n 'background-color: ' + this.terminal_.getForegroundColor() + ';' +\n 'color: ' + this.terminal_.getBackgroundColor() + ';' +\n 'font-size: 16px;' +\n 'font-family: ' + this.terminal_.getFontFamily());\n container.appendChild(header);\n\n var button = document.createElement('div');\n button.setAttribute('role', 'button');\n button.style.cssText = (\n 'margin-top: -3px;' +\n 'margin-right: 3px;' +\n 'cursor: pointer;');\n button.textContent = '\\u2a2f';\n button.addEventListener('click', this.onCloseClicked_.bind(this));\n header.appendChild(button);\n }\n\n var iframe = this.iframe_ = document.createElement('iframe');\n iframe.onload = this.onLoad_.bind(this);\n iframe.style.cssText = (\n 'display: flex;' +\n 'flex: 1;' +\n 'width: 100%');\n iframe.setAttribute('src', this.url);\n iframe.setAttribute('seamless', true);\n container.appendChild(iframe);\n\n this.div_.appendChild(container);\n};\n// SOURCE FILE: hterm/js/hterm_keyboard.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyMap');\n\n/**\n * Keyboard handler.\n *\n * Consumes onKey* events and invokes onVTKeystroke on the associated\n * hterm.Terminal object.\n *\n * See also: [XTERM] as referenced in vt.js.\n *\n * @param {hterm.Terminal} The Terminal object associated with this keyboard.\n */\nhterm.Keyboard = function(terminal) {\n // The parent vt interpreter.\n this.terminal = terminal;\n\n // The element we're currently capturing keyboard events for.\n this.keyboardElement_ = null;\n\n // The event handlers we are interested in, and their bound callbacks, saved\n // so they can be uninstalled with removeEventListener, when required.\n this.handlers_ = [\n ['focusout', this.onFocusOut_.bind(this)],\n ['keydown', this.onKeyDown_.bind(this)],\n ['keypress', this.onKeyPress_.bind(this)],\n ['keyup', this.onKeyUp_.bind(this)],\n ['textInput', this.onTextInput_.bind(this)]\n ];\n\n /**\n * The current key map.\n */\n this.keyMap = new hterm.Keyboard.KeyMap(this);\n\n this.bindings = new hterm.Keyboard.Bindings(this);\n\n /**\n * none: Disable any AltGr related munging.\n * ctrl-alt: Assume Ctrl+Alt means AltGr.\n * left-alt: Assume left Alt means AltGr.\n * right-alt: Assume right Alt means AltGr.\n */\n this.altGrMode = 'none';\n\n /**\n * If true, Shift-Insert will fall through to the browser as a paste.\n * If false, the keystroke will be sent to the host.\n */\n this.shiftInsertPaste = true;\n\n /**\n * If true, home/end will control the terminal scrollbar and shift home/end\n * will send the VT keycodes. If false then home/end sends VT codes and\n * shift home/end scrolls.\n */\n this.homeKeysScroll = false;\n\n /**\n * Same as above, except for page up/page down.\n */\n this.pageKeysScroll = false;\n\n /**\n * If true, Ctrl-Plus/Minus/Zero controls zoom.\n * If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_,\n * Ctrl-Plus/Zero do nothing.\n */\n this.ctrlPlusMinusZeroZoom = true;\n\n /**\n * Ctrl+C copies if true, sends ^C to host if false.\n * Ctrl+Shift+C sends ^C to host if true, copies if false.\n */\n this.ctrlCCopy = false;\n\n /**\n * Ctrl+V pastes if true, sends ^V to host if false.\n * Ctrl+Shift+V sends ^V to host if true, pastes if false.\n */\n this.ctrlVPaste = false;\n\n /**\n * Enable/disable application keypad.\n *\n * This changes the way numeric keys are sent from the keyboard.\n */\n this.applicationKeypad = false;\n\n /**\n * Enable/disable the application cursor mode.\n *\n * This changes the way cursor keys are sent from the keyboard.\n */\n this.applicationCursor = false;\n\n /**\n * If true, the backspace should send BS ('\\x08', aka ^H). Otherwise\n * the backspace key should send '\\x7f'.\n */\n this.backspaceSendsBackspace = false;\n\n /**\n * The encoding method for data sent to the host.\n */\n this.characterEncoding = 'utf-8';\n\n /**\n * Set whether the meta key sends a leading escape or not.\n */\n this.metaSendsEscape = true;\n\n /**\n * Set whether meta-V gets passed to host.\n */\n this.passMetaV = true;\n\n /**\n * Controls how the alt key is handled.\n *\n * escape....... Send an ESC prefix.\n * 8-bit........ Add 128 to the unshifted character as in xterm.\n * browser-key.. Wait for the keypress event and see what the browser says.\n * (This won't work well on platforms where the browser\n * performs a default action for some alt sequences.)\n *\n * This setting only matters when alt is distinct from meta (altIsMeta is\n * false.)\n */\n this.altSendsWhat = 'escape';\n\n /**\n * Set whether the alt key acts as a meta key, instead of producing 8-bit\n * characters.\n *\n * True to enable, false to disable, null to autodetect based on platform.\n */\n this.altIsMeta = false;\n\n /**\n * If true, tries to detect DEL key events that are from alt-backspace on\n * Chrome OS vs from a true DEL key press.\n *\n * Background: At the time of writing, on Chrome OS, alt-backspace is mapped\n * to DEL. Some users may be happy with this, but others may be frustrated\n * that it's impossible to do meta-backspace. If the user enables this pref,\n * we use a trick to tell a true DEL keypress from alt-backspace: on\n * alt-backspace, we will see the alt key go down, then get a DEL keystroke\n * that indicates that alt is not pressed. See https://crbug.com/174410 .\n */\n this.altBackspaceIsMetaBackspace = false;\n\n /**\n * Used to keep track of the current alt-key state, which is necessary for\n * the altBackspaceIsMetaBackspace preference above and for the altGrMode\n * preference. This is a bitmap with where bit positions correspond to the\n * \"location\" property of the key event.\n */\n this.altKeyPressed = 0;\n\n /**\n * If true, Chrome OS media keys will be mapped to their F-key equivalent.\n * E.g. \"Back\" will be mapped to F1. If false, Chrome will handle the keys.\n */\n this.mediaKeysAreFKeys = false;\n\n /**\n * Holds the previous setting of altSendsWhat when DECSET 1039 is used. When\n * DECRST 1039 is used, altSendsWhat is changed back to this and this is\n * nulled out.\n */\n this.previousAltSendsWhat_ = null;\n};\n\n/**\n * Special handling for keyCodes in a keyboard layout.\n */\nhterm.Keyboard.KeyActions = {\n /**\n * Call preventDefault and stopPropagation for this key event and nothing\n * else.\n */\n CANCEL: lib.f.createEnum('CANCEL'),\n\n /**\n * This performs the default terminal action for the key. If used in the\n * 'normal' action and the the keystroke represents a printable key, the\n * character will be sent to the host. If used in one of the modifier\n * actions, the terminal will perform the normal action after (possibly)\n * altering it.\n *\n * - If the normal sequence starts with CSI, the sequence will be adjusted\n * to include the modifier parameter as described in [XTERM] in the final\n * table of the \"PC-Style Function Keys\" section.\n *\n * - If the control key is down and the key represents a printable character,\n * and the uppercase version of the unshifted keycap is between\n * 64 (ASCII '@') and 95 (ASCII '_'), then the uppercase version of the\n * unshifted keycap minus 64 is sent. This makes '^@' send '\\x00' and\n * '^_' send '\\x1f'. (Note that one higher that 0x1f is 0x20, which is\n * the first printable ASCII value.)\n *\n * - If the alt key is down and the key represents a printable character then\n * the value of the character is shifted up by 128.\n *\n * - If meta is down and configured to send an escape, '\\x1b' will be sent\n * before the normal action is performed.\n */\n DEFAULT: lib.f.createEnum('DEFAULT'),\n\n /**\n * Causes the terminal to opt out of handling the key event, instead letting\n * the browser deal with it.\n */\n PASS: lib.f.createEnum('PASS'),\n\n /**\n * Insert the first or second character of the keyCap, based on e.shiftKey.\n * The key will be handled in onKeyDown, and e.preventDefault() will be\n * called.\n *\n * It is useful for a modified key action, where it essentially strips the\n * modifier while preventing the browser from reacting to the key.\n */\n STRIP: lib.f.createEnum('STRIP')\n};\n\n/**\n * Encode a string according to the 'send-encoding' preference.\n */\nhterm.Keyboard.prototype.encode = function(str) {\n if (this.characterEncoding == 'utf-8')\n return this.terminal.vt.encodeUTF8(str);\n\n return str;\n};\n\n/**\n * Capture keyboard events sent to the associated element.\n *\n * This enables the keyboard. Captured events are consumed by this class\n * and will not perform their default action or bubble to other elements.\n *\n * Passing a null element will uninstall the keyboard handlers.\n *\n * @param {HTMLElement} element The element whose events should be captured, or\n * null to disable the keyboard.\n */\nhterm.Keyboard.prototype.installKeyboard = function(element) {\n if (element == this.keyboardElement_)\n return;\n\n if (element && this.keyboardElement_)\n this.installKeyboard(null);\n\n for (var i = 0; i < this.handlers_.length; i++) {\n var handler = this.handlers_[i];\n if (element) {\n element.addEventListener(handler[0], handler[1]);\n } else {\n this.keyboardElement_.removeEventListener(handler[0], handler[1]);\n }\n }\n\n this.keyboardElement_ = element;\n};\n\n/**\n * Disable keyboard event capture.\n *\n * This will allow the browser to process key events normally.\n */\nhterm.Keyboard.prototype.uninstallKeyboard = function() {\n this.installKeyboard(null);\n};\n\n/**\n * Handle onTextInput events.\n *\n * We're not actually supposed to get these, but we do on the Mac in the case\n * where a third party app sends synthetic keystrokes to Chrome.\n */\nhterm.Keyboard.prototype.onTextInput_ = function(e) {\n if (!e.data)\n return;\n\n e.data.split('').forEach(this.terminal.onVTKeystroke.bind(this.terminal));\n};\n\n/**\n * Handle onKeyPress events.\n */\nhterm.Keyboard.prototype.onKeyPress_ = function(e) {\n var code;\n\n var key = String.fromCharCode(e.which);\n var lowerKey = key.toLowerCase();\n if ((e.ctrlKey || e.metaKey) && (lowerKey == 'c' || lowerKey == 'v')) {\n // On FF the key press (not key down) event gets fired for copy/paste.\n // Let it fall through for the default browser behavior.\n return;\n }\n\n if (e.altKey && this.altSendsWhat == 'browser-key' && e.charCode == 0) {\n // If we got here because we were expecting the browser to handle an\n // alt sequence but it didn't do it, then we might be on an OS without\n // an enabled IME system. In that case we fall back to xterm-like\n // behavior.\n //\n // This happens here only as a fallback. Typically these platforms should\n // set altSendsWhat to either 'escape' or '8-bit'.\n var ch = String.fromCharCode(e.keyCode);\n if (!e.shiftKey)\n ch = ch.toLowerCase();\n code = ch.charCodeAt(0) + 128;\n\n } else if (e.charCode >= 32) {\n ch = e.charCode;\n }\n\n if (ch)\n this.terminal.onVTKeystroke(String.fromCharCode(ch));\n\n e.preventDefault();\n e.stopPropagation();\n};\n\n/**\n * Prevent default handling for non-ctrl-shifted event.\n *\n * When combined with Chrome permission 'app.window.fullscreen.overrideEsc',\n * and called for both key down and key up events,\n * the ESC key remains usable within fullscreen Chrome app windows.\n */\nhterm.Keyboard.prototype.preventChromeAppNonCtrlShiftDefault_ = function(e) {\n if (!window.chrome || !window.chrome.app || !window.chrome.app.window)\n return;\n if (!e.ctrlKey || !e.shiftKey)\n e.preventDefault();\n};\n\nhterm.Keyboard.prototype.onFocusOut_ = function(e) {\n this.altKeyPressed = 0;\n};\n\nhterm.Keyboard.prototype.onKeyUp_ = function(e) {\n if (e.keyCode == 18)\n this.altKeyPressed = this.altKeyPressed & ~(1 << (e.location - 1));\n\n if (e.keyCode == 27)\n this.preventChromeAppNonCtrlShiftDefault_(e);\n};\n\n/**\n * Handle onKeyDown events.\n */\nhterm.Keyboard.prototype.onKeyDown_ = function(e) {\n if (e.keyCode == 18)\n this.altKeyPressed = this.altKeyPressed | (1 << (e.location - 1));\n\n if (e.keyCode == 27)\n this.preventChromeAppNonCtrlShiftDefault_(e);\n\n var keyDef = this.keyMap.keyDefs[e.keyCode];\n if (!keyDef) {\n console.warn('No definition for keyCode: ' + e.keyCode);\n return;\n }\n\n // The type of action we're going to use.\n var resolvedActionType = null;\n\n var self = this;\n function getAction(name) {\n // Get the key action for the given action name. If the action is a\n // function, dispatch it. If the action defers to the normal action,\n // resolve that instead.\n\n resolvedActionType = name;\n\n var action = keyDef[name];\n if (typeof action == 'function')\n action = action.apply(self.keyMap, [e, keyDef]);\n\n if (action === DEFAULT && name != 'normal')\n action = getAction('normal');\n\n return action;\n }\n\n // Note that we use the triple-equals ('===') operator to test equality for\n // these constants, in order to distinguish usage of the constant from usage\n // of a literal string that happens to contain the same bytes.\n var CANCEL = hterm.Keyboard.KeyActions.CANCEL;\n var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT;\n var PASS = hterm.Keyboard.KeyActions.PASS;\n var STRIP = hterm.Keyboard.KeyActions.STRIP;\n\n var control = e.ctrlKey;\n var alt = this.altIsMeta ? false : e.altKey;\n var meta = this.altIsMeta ? (e.altKey || e.metaKey) : e.metaKey;\n\n // In the key-map, we surround the keyCap for non-printables in \"[...]\"\n var isPrintable = !(/^\\[\\w+\\]$/.test(keyDef.keyCap));\n\n switch (this.altGrMode) {\n case 'ctrl-alt':\n if (isPrintable && control && alt) {\n // ctrl-alt-printable means altGr. We clear out the control and\n // alt modifiers and wait to see the charCode in the keydown event.\n control = false;\n alt = false;\n }\n break;\n\n case 'right-alt':\n if (isPrintable && (this.terminal.keyboard.altKeyPressed & 2)) {\n control = false;\n alt = false;\n }\n break;\n\n case 'left-alt':\n if (isPrintable && (this.terminal.keyboard.altKeyPressed & 1)) {\n control = false;\n alt = false;\n }\n break;\n }\n\n var action;\n\n if (control) {\n action = getAction('control');\n } else if (alt) {\n action = getAction('alt');\n } else if (meta) {\n action = getAction('meta');\n } else {\n action = getAction('normal');\n }\n\n // If e.maskShiftKey was set (during getAction) it means the shift key is\n // already accounted for in the action, and we should not act on it any\n // further. This is currently only used for Ctrl-Shift-Tab, which should send\n // \"CSI Z\", not \"CSI 1 ; 2 Z\".\n var shift = !e.maskShiftKey && e.shiftKey;\n\n var keyDown = {\n keyCode: e.keyCode,\n shift: e.shiftKey, // not `var shift` from above.\n ctrl: control,\n alt: alt,\n meta: meta\n };\n\n var binding = this.bindings.getBinding(keyDown);\n\n if (binding) {\n // Clear out the modifier bits so we don't try to munge the sequence\n // further.\n shift = control = alt = meta = false;\n resolvedActionType = 'normal';\n action = binding.action;\n\n if (typeof action == 'function')\n action = action.call(this, this.terminal, keyDown);\n }\n\n if (alt && this.altSendsWhat == 'browser-key' && action == DEFAULT) {\n // When altSendsWhat is 'browser-key', we wait for the keypress event.\n // In keypress, the browser should have set the event.charCode to the\n // appropriate character.\n // TODO(rginda): Character compositions will need some black magic.\n action = PASS;\n }\n\n if (action === PASS || (action === DEFAULT && !(control || alt || meta))) {\n // If this key is supposed to be handled by the browser, or it is an\n // unmodified key with the default action, then exit this event handler.\n // If it's an unmodified key, it'll be handled in onKeyPress where we\n // can tell for sure which ASCII code to insert.\n //\n // This block needs to come before the STRIP test, otherwise we'll strip\n // the modifier and think it's ok to let the browser handle the keypress.\n // The browser won't know we're trying to ignore the modifiers and might\n // perform some default action.\n return;\n }\n\n if (action === STRIP) {\n alt = control = false;\n action = keyDef.normal;\n if (typeof action == 'function')\n action = action.apply(this.keyMap, [e, keyDef]);\n\n if (action == DEFAULT && keyDef.keyCap.length == 2)\n action = keyDef.keyCap.substr((shift ? 1 : 0), 1);\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n if (action === CANCEL)\n return;\n\n if (action !== DEFAULT && typeof action != 'string') {\n console.warn('Invalid action: ' + JSON.stringify(action));\n return;\n }\n\n // Strip the modifier that is associated with the action, since we assume that\n // modifier has already been accounted for in the action.\n if (resolvedActionType == 'control') {\n control = false;\n } else if (resolvedActionType == 'alt') {\n alt = false;\n } else if (resolvedActionType == 'meta') {\n meta = false;\n }\n\n if (action.substr(0, 2) == '\\x1b[' && (alt || control || shift)) {\n // The action is an escape sequence that and it was triggered in the\n // presence of a keyboard modifier, we may need to alter the action to\n // include the modifier before sending it.\n\n var mod;\n\n if (shift && !(alt || control)) {\n mod = ';2';\n } else if (alt && !(shift || control)) {\n mod = ';3';\n } else if (shift && alt && !control) {\n mod = ';4';\n } else if (control && !(shift || alt)) {\n mod = ';5';\n } else if (shift && control && !alt) {\n mod = ';6';\n } else if (alt && control && !shift) {\n mod = ';7';\n } else if (shift && alt && control) {\n mod = ';8';\n }\n\n if (action.length == 3) {\n // Some of the CSI sequences have zero parameters unless modified.\n action = '\\x1b[1' + mod + action.substr(2, 1);\n } else {\n // Others always have at least one parameter.\n action = action.substr(0, action.length - 1) + mod +\n action.substr(action.length - 1);\n }\n\n } else {\n if (action === DEFAULT) {\n action = keyDef.keyCap.substr((shift ? 1 : 0), 1);\n\n if (control) {\n var unshifted = keyDef.keyCap.substr(0, 1);\n var code = unshifted.charCodeAt(0);\n if (code >= 64 && code <= 95) {\n action = String.fromCharCode(code - 64);\n }\n }\n }\n\n if (alt && this.altSendsWhat == '8-bit' && action.length == 1) {\n var code = action.charCodeAt(0) + 128;\n action = String.fromCharCode(code);\n }\n\n // We respect alt/metaSendsEscape even if the keymap action was a literal\n // string. Otherwise, every overridden alt/meta action would have to\n // check alt/metaSendsEscape.\n if ((alt && this.altSendsWhat == 'escape') ||\n (meta && this.metaSendsEscape)) {\n action = '\\x1b' + action;\n }\n }\n\n this.terminal.onVTKeystroke(action);\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_bindings.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * A mapping from hterm.Keyboard.KeyPattern to an action.\n *\n * TODO(rginda): For now this bindings code is only used for user overrides.\n * hterm.Keyboard.KeyMap still handles all of the built-in key mappings.\n * It'd be nice if we migrated that over to be hterm.Keyboard.Bindings based.\n */\nhterm.Keyboard.Bindings = function() {\n this.bindings_ = {};\n};\n\n/**\n * Remove all bindings.\n */\nhterm.Keyboard.Bindings.prototype.clear = function () {\n this.bindings_ = {};\n};\n\n/**\n * Add a new binding.\n *\n * Internal API that assumes parsed objects as inputs.\n * See the public addBinding for more details.\n *\n * @param {hterm.Keyboard.KeyPattern} keyPattern\n * @param {string|function|hterm.Keyboard.KeyAction} action\n */\nhterm.Keyboard.Bindings.prototype.addBinding_ = function(keyPattern, action) {\n var binding = null;\n var list = this.bindings_[keyPattern.keyCode];\n if (list) {\n for (var i = 0; i < list.length; i++) {\n if (list[i].keyPattern.matchKeyPattern(keyPattern)) {\n binding = list[i];\n break;\n }\n }\n }\n\n if (binding) {\n binding.action = action;\n } else {\n binding = {keyPattern: keyPattern, action: action};\n\n if (!list) {\n this.bindings_[keyPattern.keyCode] = [binding];\n } else {\n this.bindings_[keyPattern.keyCode].push(binding);\n\n list.sort(function(a, b) {\n return hterm.Keyboard.KeyPattern.sortCompare(\n a.keyPattern, b.keyPattern);\n });\n }\n }\n};\n\n/**\n * Add a new binding.\n *\n * If a binding for the keyPattern already exists it will be overridden.\n *\n * More specific keyPatterns take precedence over those with wildcards. Given\n * bindings for \"Ctrl-A\" and \"Ctrl-*-A\", and a \"Ctrl-A\" keydown, the \"Ctrl-A\"\n * binding will match even if \"Ctrl-*-A\" was created last.\n *\n * If action is a string, it will be passed through hterm.Parser.parseKeyAction.\n *\n * For example:\n * // Will replace Ctrl-P keystrokes with the string \"hiya!\".\n * addBinding('Ctrl-P', \"'hiya!'\");\n * // Will cancel the keystroke entirely (make it do nothing).\n * addBinding('Alt-D', hterm.Keyboard.KeyActions.CANCEL);\n * // Will execute the code and return the action.\n * addBinding('Ctrl-T', function() {\n * console.log('Got a T!');\n * return hterm.Keyboard.KeyActions.PASS;\n * });\n *\n * @param {string|hterm.Keyboard.KeyPattern} keyPattern\n * @param {string|function|hterm.Keyboard.KeyAction} action\n */\nhterm.Keyboard.Bindings.prototype.addBinding = function(key, action) {\n // If we're given a hterm.Keyboard.KeyPattern object, pass it down.\n if (typeof key != 'string') {\n this.addBinding_(key, action);\n return;\n }\n\n // Here we treat key as a string.\n var p = new hterm.Parser();\n\n p.reset(key);\n var sequence;\n\n try {\n sequence = p.parseKeySequence();\n } catch (ex) {\n console.error(ex);\n return;\n }\n\n if (!p.isComplete()) {\n console.error(p.error('Expected end of sequence: ' + sequence));\n return;\n }\n\n // If action is a string, parse it. Otherwise assume it's callable.\n if (typeof action == 'string') {\n p.reset(action);\n try {\n action = p.parseKeyAction();\n } catch (ex) {\n console.error(ex);\n return;\n }\n }\n\n if (!p.isComplete()) {\n console.error(p.error('Expected end of sequence: ' + sequence));\n return;\n }\n\n this.addBinding_(new hterm.Keyboard.KeyPattern(sequence), action);\n};\n\n/**\n * Add multiple bindings at a time using a map of {string: string, ...}\n *\n * This uses hterm.Parser to parse the maps key into KeyPatterns, and the\n * map values into {string|function|KeyAction}.\n *\n * For example:\n * {\n * // Will replace Ctrl-P keystrokes with the string \"hiya!\".\n * 'Ctrl-P': \"'hiya!'\",\n * // Will cancel the keystroke entirely (make it do nothing).\n * 'Alt-D': hterm.Keyboard.KeyActions.CANCEL,\n * }\n *\n * @param {Object} map\n */\nhterm.Keyboard.Bindings.prototype.addBindings = function(map) {\n for (var key in map) {\n this.addBinding(key, map[key]);\n }\n};\n\n/**\n * Return the binding that is the best match for the given keyDown record,\n * or null if there is no match.\n *\n * @param {Object} keyDown An object with a keyCode property and zero or\n * more boolean properties representing key modifiers. These property names\n * must match those defined in hterm.Keyboard.KeyPattern.modifiers.\n */\nhterm.Keyboard.Bindings.prototype.getBinding = function(keyDown) {\n var list = this.bindings_[keyDown.keyCode];\n if (!list)\n return null;\n\n for (var i = 0; i < list.length; i++) {\n var binding = list[i];\n if (binding.keyPattern.matchKeyDown(keyDown))\n return binding;\n }\n\n return null;\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_keymap.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyActions');\n\n/**\n * The default key map for hterm.\n *\n * Contains a mapping of keyCodes to keyDefs (aka key definitions). The key\n * definition tells the hterm.Keyboard class how to handle keycodes.\n *\n * This should work for most cases, as the printable characters get handled\n * in the keypress event. In that case, even if the keycap is wrong in the\n * key map, the correct character should be sent.\n *\n * Different layouts, such as Dvorak should work with this keymap, as those\n * layouts typically move keycodes around on the keyboard without disturbing\n * the actual keycaps.\n *\n * There may be issues with control keys on non-US keyboards or with keyboards\n * that very significantly from the expectations here, in which case we may\n * have to invent new key maps.\n *\n * The sequences defined in this key map come from [XTERM] as referenced in\n * vt.js, starting with the section titled \"Alt and Meta Keys\".\n */\nhterm.Keyboard.KeyMap = function(keyboard) {\n this.keyboard = keyboard;\n this.keyDefs = {};\n this.reset();\n};\n\n/**\n * Add a single key definition.\n *\n * The definition is a hash containing the following keys: 'keyCap', 'normal',\n * 'control', and 'alt'.\n *\n * - keyCap is a string identifying the key. For printable\n * keys, the key cap should be exactly two characters, starting with the\n * unshifted version. For example, 'aA', 'bB', '1!' and '=+'. For\n * non-printable the key cap should be surrounded in square braces, as in\n * '[INS]', '[LEFT]'. By convention, non-printable keycaps are in uppercase\n * but this is not a strict requirement.\n *\n * - Normal is the action that should be performed when they key is pressed\n * in the absence of any modifier. See below for the supported actions.\n *\n * - Control is the action that should be performed when they key is pressed\n * along with the control modifier. See below for the supported actions.\n *\n * - Alt is the action that should be performed when they key is pressed\n * along with the alt modifier. See below for the supported actions.\n *\n * - Meta is the action that should be performed when they key is pressed\n * along with the meta modifier. See below for the supported actions.\n *\n * Actions can be one of the hterm.Keyboard.KeyActions as documented below,\n * a literal string, or an array. If the action is a literal string then\n * the string is sent directly to the host. If the action is an array it\n * is taken to be an escape sequence that may be altered by modifier keys.\n * The second-to-last element of the array will be overwritten with the\n * state of the modifier keys, as specified in the final table of \"PC-Style\n * Function Keys\" from [XTERM].\n */\nhterm.Keyboard.KeyMap.prototype.addKeyDef = function(keyCode, def) {\n if (keyCode in this.keyDefs)\n console.warn('Duplicate keyCode: ' + keyCode);\n\n this.keyDefs[keyCode] = def;\n};\n\n/**\n * Add multiple key definitions in a single call.\n *\n * This function takes the key definitions as variable argument list. Each\n * argument is the key definition specified as an array.\n *\n * (If the function took everything as one big hash we couldn't detect\n * duplicates, and there would be a lot more typing involved.)\n *\n * Each key definition should have 6 elements: (keyCode, keyCap, normal action,\n * control action, alt action and meta action). See KeyMap.addKeyDef for the\n * meaning of these elements.\n */\nhterm.Keyboard.KeyMap.prototype.addKeyDefs = function(var_args) {\n for (var i = 0; i < arguments.length; i++) {\n this.addKeyDef(arguments[i][0],\n { keyCap: arguments[i][1],\n normal: arguments[i][2],\n control: arguments[i][3],\n alt: arguments[i][4],\n meta: arguments[i][5]\n });\n }\n};\n\n/**\n * Set up the default state for this keymap.\n */\nhterm.Keyboard.KeyMap.prototype.reset = function() {\n this.keyDefs = {};\n\n var self = this;\n\n // This function is used by the \"macro\" functions below. It makes it\n // possible to use the call() macro as an argument to any other macro.\n function resolve(action, e, k) {\n if (typeof action == 'function')\n return action.apply(self, [e, k]);\n\n return action;\n }\n\n // If not application keypad a, else b. The keys that care about\n // application keypad ignore it when the key is modified.\n function ak(a, b) {\n return function(e, k) {\n var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !self.keyboard.applicationKeypad) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If mod or not application cursor a, else b. The keys that care about\n // application cursor ignore it when the key is modified.\n function ac(a, b) {\n return function(e, k) {\n var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !self.keyboard.applicationCursor) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If not backspace-sends-backspace keypad a, else b.\n function bs(a, b) {\n return function(e, k) {\n var action = !self.keyboard.backspaceSendsBackspace ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If not e.shiftKey a, else b.\n function sh(a, b) {\n return function(e, k) {\n var action = !e.shiftKey ? a : b;\n e.maskShiftKey = true;\n return resolve(action, e, k);\n };\n }\n\n // If not e.altKey a, else b.\n function alt(a, b) {\n return function(e, k) {\n var action = !e.altKey ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If no modifiers a, else b.\n function mod(a, b) {\n return function(e, k) {\n var action = !(e.shiftKey || e.ctrlKey || e.altKey || e.metaKey) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // Compute a control character for a given character.\n function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) }\n\n // Call a method on the keymap instance.\n function c(m) { return function (e, k) { return this[m](e, k) } }\n\n // Ignore if not trapping media keys.\n function med(fn) {\n return function(e, k) {\n if (!self.keyboard.mediaKeysAreFKeys) {\n // Block Back, Forward, and Reload keys to avoid navigating away from\n // the current page.\n return (e.keyCode == 166 || e.keyCode == 167 || e.keyCode == 168) ?\n hterm.Keyboard.KeyActions.CANCEL :\n hterm.Keyboard.KeyActions.PASS;\n }\n return resolve(fn, e, k);\n };\n }\n\n var ESC = '\\x1b';\n var CSI = '\\x1b[';\n var SS3 = '\\x1bO';\n\n var CANCEL = hterm.Keyboard.KeyActions.CANCEL;\n var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT;\n var PASS = hterm.Keyboard.KeyActions.PASS;\n var STRIP = hterm.Keyboard.KeyActions.STRIP;\n\n this.addKeyDefs(\n // These fields are: [keycode, keycap, normal, control, alt, meta]\n\n // The browser sends the keycode 0 for some keys. We'll just assume it's\n // going to do the right thing by default for those keys.\n [0, '[UNKNOWN]', PASS, PASS, PASS, PASS],\n\n // First row.\n [27, '[ESC]', ESC, DEFAULT, DEFAULT, DEFAULT],\n [112, '[F1]', mod(SS3 + 'P', CSI + 'P'), DEFAULT, CSI + \"23~\", DEFAULT],\n [113, '[F2]', mod(SS3 + 'Q', CSI + 'Q'), DEFAULT, CSI + \"24~\", DEFAULT],\n [114, '[F3]', mod(SS3 + 'R', CSI + 'R'), DEFAULT, CSI + \"25~\", DEFAULT],\n [115, '[F4]', mod(SS3 + 'S', CSI + 'S'), DEFAULT, CSI + \"26~\", DEFAULT],\n [116, '[F5]', CSI + '15~', DEFAULT, CSI + \"28~\", DEFAULT],\n [117, '[F6]', CSI + '17~', DEFAULT, CSI + \"29~\", DEFAULT],\n [118, '[F7]', CSI + '18~', DEFAULT, CSI + \"31~\", DEFAULT],\n [119, '[F8]', CSI + '19~', DEFAULT, CSI + \"32~\", DEFAULT],\n [120, '[F9]', CSI + '20~', DEFAULT, CSI + \"33~\", DEFAULT],\n [121, '[F10]', CSI + '21~', DEFAULT, CSI + \"34~\", DEFAULT],\n [122, '[F11]', CSI + '23~', DEFAULT, CSI + \"42~\", DEFAULT],\n [123, '[F12]', CSI + '24~', DEFAULT, CSI + \"43~\", DEFAULT],\n\n // Second row.\n [192, '`~', DEFAULT, sh(ctl('@'), ctl('^')), DEFAULT, PASS],\n [49, '1!', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [50, '2@', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [51, '3#', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [52, '4$', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [53, '5%', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [54, '6^', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [55, '7&', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [56, '8*', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [57, '9(', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [48, '0)', DEFAULT, c('onPlusMinusZero_'),c('onAltNum_'),c('onPlusMinusZero_')],\n [189, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [187, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n // Firefox -_ and =+\n [173, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [61, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n // Firefox Italian +*\n [171, '+*', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n\n [8, '[BKSP]', bs('\\x7f', '\\b'), bs('\\b', '\\x7f'), DEFAULT, DEFAULT],\n\n // Third row.\n [9, '[TAB]', sh('\\t', CSI + 'Z'), STRIP, PASS, DEFAULT],\n [81, 'qQ', DEFAULT, ctl('Q'), DEFAULT, DEFAULT],\n [87, 'wW', DEFAULT, ctl('W'), DEFAULT, DEFAULT],\n [69, 'eE', DEFAULT, ctl('E'), DEFAULT, DEFAULT],\n [82, 'rR', DEFAULT, ctl('R'), DEFAULT, DEFAULT],\n [84, 'tT', DEFAULT, ctl('T'), DEFAULT, DEFAULT],\n [89, 'yY', DEFAULT, ctl('Y'), DEFAULT, DEFAULT],\n [85, 'uU', DEFAULT, ctl('U'), DEFAULT, DEFAULT],\n [73, 'iI', DEFAULT, ctl('I'), DEFAULT, DEFAULT],\n [79, 'oO', DEFAULT, ctl('O'), DEFAULT, DEFAULT],\n [80, 'pP', DEFAULT, ctl('P'), DEFAULT, DEFAULT],\n [219, '[{', DEFAULT, ctl('['), DEFAULT, DEFAULT],\n [221, ']}', DEFAULT, ctl(']'), DEFAULT, DEFAULT],\n [220, '\\\\|', DEFAULT, ctl('\\\\'), DEFAULT, DEFAULT],\n\n // Fourth row. (We let Ctrl-Shift-J pass for Chrome DevTools.)\n [20, '[CAPS]', PASS, PASS, PASS, DEFAULT],\n [65, 'aA', DEFAULT, ctl('A'), DEFAULT, DEFAULT],\n [83, 'sS', DEFAULT, ctl('S'), DEFAULT, DEFAULT],\n [68, 'dD', DEFAULT, ctl('D'), DEFAULT, DEFAULT],\n [70, 'fF', DEFAULT, ctl('F'), DEFAULT, DEFAULT],\n [71, 'gG', DEFAULT, ctl('G'), DEFAULT, DEFAULT],\n [72, 'hH', DEFAULT, ctl('H'), DEFAULT, DEFAULT],\n [74, 'jJ', DEFAULT, sh(ctl('J'), PASS), DEFAULT, DEFAULT],\n [75, 'kK', DEFAULT, sh(ctl('K'), c('onClear_')), DEFAULT, DEFAULT],\n [76, 'lL', DEFAULT, sh(ctl('L'), PASS), DEFAULT, DEFAULT],\n [186, ';:', DEFAULT, STRIP, DEFAULT, DEFAULT],\n [222, '\\'\"', DEFAULT, STRIP, DEFAULT, DEFAULT],\n [13, '[ENTER]', '\\r', CANCEL, CANCEL, DEFAULT],\n\n // Fifth row. This includes the copy/paste shortcuts. On some\n // platforms it's Ctrl-C/V, on others it's Meta-C/V. We assume either\n // Ctrl-C/Meta-C should pass to the browser when there is a selection,\n // and Ctrl-Shift-V/Meta-*-V should always pass to the browser (since\n // these seem to be recognized as paste too).\n [16, '[SHIFT]', PASS, PASS, PASS, DEFAULT],\n [90, 'zZ', DEFAULT, ctl('Z'), DEFAULT, DEFAULT],\n [88, 'xX', DEFAULT, ctl('X'), DEFAULT, DEFAULT],\n [67, 'cC', DEFAULT, c('onCtrlC_'), DEFAULT, c('onMetaC_')],\n [86, 'vV', DEFAULT, c('onCtrlV_'), DEFAULT, c('onMetaV_')],\n [66, 'bB', DEFAULT, sh(ctl('B'), PASS), DEFAULT, sh(DEFAULT, PASS)],\n [78, 'nN', DEFAULT, c('onCtrlN_'), DEFAULT, c('onMetaN_')],\n [77, 'mM', DEFAULT, ctl('M'), DEFAULT, DEFAULT],\n [188, ',<', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT],\n [190, '.>', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT],\n [191, '/?', DEFAULT, sh(ctl('_'), ctl('?')), DEFAULT, DEFAULT],\n\n // Sixth and final row.\n [17, '[CTRL]', PASS, PASS, PASS, PASS],\n [18, '[ALT]', PASS, PASS, PASS, PASS],\n [91, '[LAPL]', PASS, PASS, PASS, PASS],\n [32, ' ', DEFAULT, ctl('@'), DEFAULT, DEFAULT],\n [92, '[RAPL]', PASS, PASS, PASS, PASS],\n [93, '[RMENU]', PASS, PASS, PASS, PASS],\n\n // These things.\n [42, '[PRTSCR]', PASS, PASS, PASS, PASS],\n [145, '[SCRLK]', PASS, PASS, PASS, PASS],\n [19, '[BREAK]', PASS, PASS, PASS, PASS],\n\n // The block of six keys above the arrows.\n [45, '[INSERT]', c('onKeyInsert_'), DEFAULT, DEFAULT, DEFAULT],\n [36, '[HOME]', c('onKeyHome_'), DEFAULT, DEFAULT, DEFAULT],\n [33, '[PGUP]', c('onKeyPageUp_'), DEFAULT, DEFAULT, DEFAULT],\n [46, '[DEL]', c('onKeyDel_'), DEFAULT, DEFAULT, DEFAULT],\n [35, '[END]', c('onKeyEnd_'), DEFAULT, DEFAULT, DEFAULT],\n [34, '[PGDOWN]', c('onKeyPageDown_'), DEFAULT, DEFAULT, DEFAULT],\n\n // Arrow keys. When unmodified they respect the application cursor state,\n // otherwise they always send the CSI codes.\n [38, '[UP]', c('onKeyArrowUp_'), DEFAULT, DEFAULT, DEFAULT],\n [40, '[DOWN]', c('onKeyArrowDown_'), DEFAULT, DEFAULT, DEFAULT],\n [39, '[RIGHT]', ac(CSI + 'C', SS3 + 'C'), DEFAULT, DEFAULT, DEFAULT],\n [37, '[LEFT]', ac(CSI + 'D', SS3 + 'D'), DEFAULT, DEFAULT, DEFAULT],\n\n [144, '[NUMLOCK]', PASS, PASS, PASS, PASS],\n\n // With numlock off, the keypad generates the same key codes as the arrows\n // and 'block of six' for some keys, and null key codes for the rest.\n\n // Keypad with numlock on generates unique key codes...\n [96, '[KP0]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [97, '[KP1]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [98, '[KP2]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [99, '[KP3]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [100, '[KP4]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [101, '[KP5]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [102, '[KP6]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [103, '[KP7]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [104, '[KP8]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [105, '[KP9]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [107, '[KP+]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [109, '[KP-]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [106, '[KP*]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [111, '[KP/]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [110, '[KP.]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n\n // Chrome OS keyboard top row.\n [166, '[BACK]', med(mod(SS3+'P', CSI+'P')), DEFAULT, CSI+\"23~\", DEFAULT],\n [167, '[FWD]', med(mod(SS3+'Q', CSI+'Q')), DEFAULT, CSI+\"24~\", DEFAULT],\n [168, '[RELOAD]', med(mod(SS3+'R', CSI+'R')), DEFAULT, CSI+\"25~\", DEFAULT],\n [183, '[FSCR]', med(mod(SS3+'S', CSI+'S')), DEFAULT, CSI+\"26~\", DEFAULT],\n [182, '[WINS]', med(CSI + '15~'), DEFAULT, CSI+\"28~\", DEFAULT],\n [216, '[BRIT-]', med(CSI + '17~'), DEFAULT, CSI+\"29~\", DEFAULT],\n [217, '[BRIT+]', med(CSI + '18~'), DEFAULT, CSI+\"31~\", DEFAULT]\n\n // 173 [MUTE], 174 [VOL-] and 175 [VOL+] are trapped by the Chrome OS\n // window manager, so we'll never see them. Note that 173 is also\n // Firefox's -_ keycode.\n );\n};\n\n/**\n * Either allow the paste or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyInsert_ = function(e) {\n if (this.keyboard.shiftInsertPaste && e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return '\\x1b[2~';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyHome_ = function(e) {\n if (!this.keyboard.homeKeysScroll ^ e.shiftKey) {\n if ((e.altey || e.ctrlKey || e.shiftKey) ||\n !this.keyboard.applicationCursor) {\n return '\\x1b[H';\n }\n\n return '\\x1bOH';\n }\n\n this.keyboard.terminal.scrollHome();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyEnd_ = function(e) {\n if (!this.keyboard.homeKeysScroll ^ e.shiftKey) {\n if ((e.altKey || e.ctrlKey || e.shiftKey) ||\n !this.keyboard.applicationCursor) {\n return '\\x1b[F';\n }\n\n return '\\x1bOF';\n }\n\n this.keyboard.terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyPageUp_ = function(e) {\n if (!this.keyboard.pageKeysScroll ^ e.shiftKey)\n return '\\x1b[5~';\n\n this.keyboard.terminal.scrollPageUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either send a true DEL, or sub in meta-backspace.\n *\n * On Chrome OS, if we know the alt key is down, but we get a DEL event that\n * claims that the alt key is not pressed, we know the DEL was a synthetic\n * one from a user that hit alt-backspace. Based on a user pref, we can sub\n * in meta-backspace in this case.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyDel_ = function(e) {\n if (this.keyboard.altBackspaceIsMetaBackspace &&\n this.keyboard.altKeyPressed && !e.altKey)\n return '\\x1b\\x7f';\n return '\\x1b[3~';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyPageDown_ = function(e) {\n if (!this.keyboard.pageKeysScroll ^ e.shiftKey)\n return '\\x1b[6~';\n\n this.keyboard.terminal.scrollPageDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyArrowUp_ = function(e) {\n if (!this.keyboard.applicationCursor && e.shiftKey) {\n this.keyboard.terminal.scrollLineUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !this.keyboard.applicationCursor) ? '\\x1b[A' : '\\x1bOA';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyArrowDown_ = function(e) {\n if (!this.keyboard.applicationCursor && e.shiftKey) {\n this.keyboard.terminal.scrollLineDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !this.keyboard.applicationCursor) ? '\\x1b[B' : '\\x1bOB';\n};\n\n/**\n * Clear the primary/alternate screens and the scrollback buffer.\n */\nhterm.Keyboard.KeyMap.prototype.onClear_ = function(e, keyDef) {\n this.keyboard.terminal.wipeContents();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either pass Ctrl-1..9 to the browser or send them to the host.\n *\n * Note that Ctrl-1 and Ctrl-9 don't actually have special sequences mapped\n * to them in xterm or gnome-terminal. The range is really Ctrl-2..8, but\n * we handle 1..9 since Chrome treats the whole range special.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlNum_ = function(e, keyDef) {\n // Compute a control character for a given character.\n function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) }\n\n if (this.keyboard.terminal.passCtrlNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n switch (keyDef.keyCap.substr(0, 1)) {\n case '1': return '1';\n case '2': return ctl('@');\n case '3': return ctl('[');\n case '4': return ctl('\\\\');\n case '5': return ctl(']');\n case '6': return ctl('^');\n case '7': return ctl('_');\n case '8': return '\\x7f';\n case '9': return '9';\n }\n};\n\n/**\n * Either pass Alt-1..9 to the browser or send them to the host.\n */\nhterm.Keyboard.KeyMap.prototype.onAltNum_ = function(e, keyDef) {\n if (this.keyboard.terminal.passAltNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either pass Meta-1..9 to the browser or send them to the host.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaNum_ = function(e, keyDef) {\n if (this.keyboard.terminal.passMetaNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either send a ^C or interpret the keystroke as a copy command.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlC_ = function(e, keyDef) {\n var selection = this.keyboard.terminal.getDocument().getSelection();\n\n if (!selection.isCollapsed) {\n if (this.keyboard.ctrlCCopy && !e.shiftKey) {\n // Ctrl-C should copy if there is a selection, send ^C otherwise.\n // Perform the copy by letting the browser handle Ctrl-C. On most\n // browsers, this is the *only* way to place text on the clipboard from\n // the 'drive-by' web.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(selection.collapseToEnd.bind(selection), 50);\n }\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n if (!this.keyboard.ctrlCCopy && e.shiftKey) {\n // Ctrl-Shift-C should copy if there is a selection, send ^C otherwise.\n // Perform the copy manually. This only works in situations where\n // document.execCommand('copy') is allowed.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(selection.collapseToEnd.bind(selection), 50);\n }\n this.keyboard.terminal.copySelectionToClipboard();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n }\n\n return '\\x03';\n};\n\n/**\n * Either send a ^N or open a new window to the same location.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlN_ = function(e, keyDef) {\n if (e.shiftKey) {\n window.open(document.location.href, '',\n 'chrome=no,close=yes,resize=yes,scrollbars=yes,' +\n 'minimizable=yes,width=' + window.innerWidth +\n ',height=' + window.innerHeight);\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return '\\x0e';\n};\n\n/**\n * Either send a ^V or issue a paste command.\n *\n * The default behavior is to paste if the user presses Ctrl-Shift-V, and send\n * a ^V if the user presses Ctrl-V. This can be flipped with the\n * 'ctrl-v-paste' preference.\n *\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlV_ = function(e, keyDef) {\n if ((!e.shiftKey && this.keyboard.ctrlVPaste) ||\n (e.shiftKey && !this.keyboard.ctrlVPaste)) {\n // We try to do the pasting ourselves as not all browsers/OSs bind Ctrl-V to\n // pasting. Notably, on macOS, Ctrl-V/Ctrl-Shift-V do nothing.\n // However, this might run into web restrictions, so if it fails, we still\n // fallback to the letting the native behavior (hopefully) save us.\n if (this.keyboard.terminal.paste())\n return hterm.Keyboard.KeyActions.CANCEL;\n else\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n return '\\x16';\n};\n\n/**\n * Either the default action or open a new window to the same location.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaN_ = function(e, keyDef) {\n if (e.shiftKey) {\n window.open(document.location.href, '',\n 'chrome=no,close=yes,resize=yes,scrollbars=yes,' +\n 'minimizable=yes,width=' + window.outerWidth +\n ',height=' + window.outerHeight);\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either send a Meta-C or allow the browser to interpret the keystroke as a\n * copy command.\n *\n * If there is no selection, or if the user presses Meta-Shift-C, then we'll\n * transmit an '\\x1b' (if metaSendsEscape is on) followed by 'c' or 'C'.\n *\n * If there is a selection, we defer to the browser. In this case we clear out\n * the selection so the user knows we heard them, and also to give them a\n * chance to send a Meta-C by just hitting the key again.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaC_ = function(e, keyDef) {\n var document = this.keyboard.terminal.getDocument();\n if (e.shiftKey || document.getSelection().isCollapsed) {\n // If the shift key is being held, or there is no document selection, send\n // a Meta-C. The keyboard code will add the ESC if metaSendsEscape is true,\n // we just have to decide between 'c' and 'C'.\n return keyDef.keyCap.substr(e.shiftKey ? 1 : 0, 1);\n }\n\n // Otherwise let the browser handle it as a copy command.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(function() { document.getSelection().collapseToEnd() }, 50);\n }\n return hterm.Keyboard.KeyActions.PASS;\n};\n\n/**\n * Either PASS or DEFAULT Meta-V, depending on preference.\n *\n * Always PASS Meta-Shift-V to allow browser to interpret the keystroke as\n * a paste command.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaV_ = function(e, keyDef) {\n if (e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return this.keyboard.passMetaV ?\n hterm.Keyboard.KeyActions.PASS :\n hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Handle font zooming.\n *\n * The browser's built-in zoom has a bit of an issue at certain zoom levels.\n * At some magnifications, the measured height of a row of text differs from\n * the height that was explicitly set.\n *\n * We override the browser zoom keys to change the ScrollPort's font size to\n * avoid the issue.\n */\nhterm.Keyboard.KeyMap.prototype.onPlusMinusZero_ = function(e, keyDef) {\n if (!(this.keyboard.ctrlPlusMinusZeroZoom ^ e.shiftKey)) {\n // If ctrl-PMZ controls zoom and the shift key is pressed, or\n // ctrl-shift-PMZ controls zoom and this shift key is not pressed,\n // then we want to send the control code instead of affecting zoom.\n if (keyDef.keyCap == '-_')\n return '\\x1f'; // ^_\n\n // Only ^_ is valid, the other sequences have no meaning.\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n if (this.keyboard.terminal.getZoomFactor() != 1) {\n // If we're not at 1:1 zoom factor, let the Ctrl +/-/0 keys control the\n // browser zoom, so it's easier to for the user to get back to 100%.\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n var cap = keyDef.keyCap.substr(0, 1);\n if (cap == '0') {\n this.keyboard.terminal.setFontSize(0);\n } else {\n var size = this.keyboard.terminal.getFontSize();\n\n if (cap == '-' || keyDef.keyCap == '[KP-]') {\n size -= 1;\n } else {\n size += 1;\n }\n\n this.keyboard.terminal.setFontSize(size);\n }\n\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_keypattern.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * A record of modifier bits and keycode used to define a key binding.\n *\n * The modifier names are enumerated in the static KeyPattern.modifiers\n * property below. Each modifier can be true, false, or \"*\". True means\n * the modifier key must be present, false means it must not, and \"*\" means\n * it doesn't matter.\n */\nhterm.Keyboard.KeyPattern = function(spec) {\n this.wildcardCount = 0;\n this.keyCode = spec.keyCode;\n\n hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) {\n this[mod] = spec[mod] || false;\n if (this[mod] == '*')\n this.wildcardCount++;\n }.bind(this));\n};\n\n/**\n * Valid modifier names.\n */\nhterm.Keyboard.KeyPattern.modifiers = [\n 'shift', 'ctrl', 'alt', 'meta'\n];\n\n/**\n * A compare callback for Array.prototype.sort().\n *\n * The bindings code wants to be sure to search through the strictest key\n * patterns first, so that loosely defined patterns have a lower priority than\n * exact patterns.\n *\n * @param {hterm.Keyboard.KeyPattern} a\n * @param {hterm.Keyboard.KeyPattern} b\n */\nhterm.Keyboard.KeyPattern.sortCompare = function(a, b) {\n if (a.wildcardCount < b.wildcardCount)\n return -1;\n\n if (a.wildcardCount > b.wildcardCount)\n return 1;\n\n return 0;\n};\n\n/**\n * Private method used to match this key pattern against other key patterns\n * or key down events.\n *\n * @param {Object} The object to match.\n * @param {boolean} True if we should ignore wildcards. Useful when you want\n * to perform and exact match against another key pattern.\n */\nhterm.Keyboard.KeyPattern.prototype.match_ = function(obj, exactMatch) {\n if (this.keyCode != obj.keyCode)\n return false;\n\n var rv = true;\n\n hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) {\n var modValue = (mod in obj) ? obj[mod] : false;\n if (!rv || (!exactMatch && this[mod] == '*') || this[mod] == modValue)\n return;\n\n rv = false;\n }.bind(this));\n\n return rv;\n};\n\n/**\n * Return true if the given keyDown object is a match for this key pattern.\n *\n * @param {Object} keyDown An object with a keyCode property and zero or\n * more boolean properties representing key modifiers. These property names\n * must match those defined in hterm.Keyboard.KeyPattern.modifiers.\n */\nhterm.Keyboard.KeyPattern.prototype.matchKeyDown = function(keyDown) {\n return this.match_(keyDown, false);\n};\n\n/**\n * Return true if the given hterm.Keyboard.KeyPattern is exactly the same as\n * this one.\n *\n * @param {hterm.Keyboard.KeyPattern}\n */\nhterm.Keyboard.KeyPattern.prototype.matchKeyPattern = function(keyPattern) {\n return this.match_(keyPattern, true);\n};\n// SOURCE FILE: hterm/js/hterm_options.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview This file implements the hterm.Options class,\n * which stores current operating conditions for the terminal. This object is\n * used instead of a series of parameters to allow saving/restoring of cursor\n * conditions easily, and to provide an easy place for common configuration\n * options.\n *\n * Original code by Cory Maccarrone.\n */\n\n/**\n * Constructor for the hterm.Options class, optionally acting as a copy\n * constructor.\n *\n * The defaults are as defined in http://www.vt100.net/docs/vt510-rm/DECSTR\n * except that we enable autowrap (wraparound) by default since that seems to\n * be what xterm does.\n *\n * @param {hterm.Options=} opt_copy Optional instance to copy.\n * @constructor\n */\nhterm.Options = function(opt_copy) {\n // All attributes in this class are public to allow easy access by the\n // terminal.\n\n this.wraparound = opt_copy ? opt_copy.wraparound : true;\n this.reverseWraparound = opt_copy ? opt_copy.reverseWraparound : false;\n this.originMode = opt_copy ? opt_copy.originMode : false;\n this.autoCarriageReturn = opt_copy ? opt_copy.autoCarriageReturn : false;\n this.cursorVisible = opt_copy ? opt_copy.cursorVisible : false;\n this.cursorBlink = opt_copy ? opt_copy.cursorBlink : false;\n this.insertMode = opt_copy ? opt_copy.insertMode : false;\n this.reverseVideo = opt_copy ? opt_copy.reverseVideo : false;\n this.bracketedPaste = opt_copy ? opt_copy.bracketedPaste : false;\n};\n// SOURCE FILE: hterm/js/hterm_parser.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyActions');\n\n/**\n * @constructor\n * Parses the key definition syntax used for user keyboard customizations.\n */\nhterm.Parser = function() {\n /**\n * @type {string} The source string.\n */\n this.source = '';\n\n /**\n * @type {number} The current position.\n */\n this.pos = 0;\n\n /**\n * @type {string?} The character at the current position.\n */\n this.ch = null;\n};\n\nhterm.Parser.prototype.error = function(message) {\n return new Error('Parse error at ' + this.pos + ': ' + message);\n};\n\nhterm.Parser.prototype.isComplete = function() {\n return this.pos == this.source.length;\n};\n\nhterm.Parser.prototype.reset = function(source, opt_pos) {\n this.source = source;\n this.pos = opt_pos || 0;\n this.ch = source.substr(0, 1);\n};\n\n/**\n * Parse a key sequence.\n *\n * A key sequence is zero or more of the key modifiers defined in\n * hterm.Parser.identifiers.modifierKeys followed by a key code. Key\n * codes can be an integer or an identifier from\n * hterm.Parser.identifiers.keyCodes. Modifiers and keyCodes should be joined\n * by the dash character.\n *\n * An asterisk \"*\" can be used to indicate that the unspecified modifiers\n * are optional.\n *\n * For example:\n * A: Matches only an unmodified \"A\" character.\n * 65: Same as above.\n * 0x41: Same as above.\n * Ctrl-A: Matches only Ctrl-A.\n * Ctrl-65: Same as above.\n * Ctrl-0x41: Same as above.\n * Ctrl-Shift-A: Matches only Ctrl-Shift-A.\n * Ctrl-*-A: Matches Ctrl-A, as well as any other key sequence that includes\n * at least the Ctrl and A keys.\n *\n * @return {Object} An object with shift, ctrl, alt, meta, keyCode\n * properties.\n */\nhterm.Parser.prototype.parseKeySequence = function() {\n var rv = {\n keyCode: null\n };\n\n for (var k in hterm.Parser.identifiers.modifierKeys) {\n rv[hterm.Parser.identifiers.modifierKeys[k]] = false;\n }\n\n while (this.pos < this.source.length) {\n this.skipSpace();\n\n var token = this.parseToken();\n if (token.type == 'integer') {\n rv.keyCode = token.value;\n\n } else if (token.type == 'identifier') {\n var ucValue = token.value.toUpperCase();\n if (ucValue in hterm.Parser.identifiers.modifierKeys &&\n hterm.Parser.identifiers.modifierKeys.hasOwnProperty(ucValue)) {\n var mod = hterm.Parser.identifiers.modifierKeys[ucValue];\n if (rv[mod] && rv[mod] != '*')\n throw this.error('Duplicate modifier: ' + token.value);\n rv[mod] = true;\n\n } else if (ucValue in hterm.Parser.identifiers.keyCodes &&\n hterm.Parser.identifiers.keyCodes.hasOwnProperty(ucValue)) {\n rv.keyCode = hterm.Parser.identifiers.keyCodes[ucValue];\n\n } else {\n throw this.error('Unknown key: ' + token.value);\n }\n\n } else if (token.type == 'symbol') {\n if (token.value == '*') {\n for (var id in hterm.Parser.identifiers.modifierKeys) {\n var p = hterm.Parser.identifiers.modifierKeys[id];\n if (!rv[p])\n rv[p] = '*';\n }\n } else {\n throw this.error('Unexpected symbol: ' + token.value);\n }\n } else {\n throw this.error('Expected integer or identifier');\n }\n\n this.skipSpace();\n\n if (this.ch != '-')\n break;\n\n if (rv.keyCode != null)\n throw this.error('Extra definition after target key');\n\n this.advance(1);\n }\n\n if (rv.keyCode == null)\n throw this.error('Missing target key');\n\n return rv;\n};\n\nhterm.Parser.prototype.parseKeyAction = function() {\n this.skipSpace();\n\n var token = this.parseToken();\n\n if (token.type == 'string')\n return token.value;\n\n if (token.type == 'identifier') {\n if (token.value in hterm.Parser.identifiers.actions &&\n hterm.Parser.identifiers.actions.hasOwnProperty(token.value))\n return hterm.Parser.identifiers.actions[token.value];\n\n throw this.error('Unknown key action: ' + token.value);\n }\n\n throw this.error('Expected string or identifier');\n\n};\n\nhterm.Parser.prototype.peekString = function() {\n return this.ch == '\\'' || this.ch == '\"';\n};\n\nhterm.Parser.prototype.peekIdentifier = function() {\n return this.ch.match(/[a-z_]/i);\n};\n\nhterm.Parser.prototype.peekInteger = function() {\n return this.ch.match(/[0-9]/);\n};\n\nhterm.Parser.prototype.parseToken = function() {\n if (this.ch == '*') {\n var rv = {type: 'symbol', value: this.ch};\n this.advance(1);\n return rv;\n }\n\n if (this.peekIdentifier())\n return {type: 'identifier', value: this.parseIdentifier()};\n\n if (this.peekString())\n return {type: 'string', value: this.parseString()};\n\n if (this.peekInteger())\n return {type: 'integer', value: this.parseInteger()};\n\n\n throw this.error('Unexpected token');\n};\n\nhterm.Parser.prototype.parseIdentifier = function() {\n if (!this.peekIdentifier())\n throw this.error('Expected identifier');\n\n return this.parsePattern(/[a-z0-9_]+/ig);\n};\n\nhterm.Parser.prototype.parseInteger = function() {\n var base = 10;\n\n if (this.ch == '0' && this.pos < this.source.length - 1 &&\n this.source.substr(this.pos + 1, 1) == 'x') {\n return parseInt(this.parsePattern(/0x[0-9a-f]+/gi));\n }\n\n return parseInt(this.parsePattern(/\\d+/g));\n};\n\n/**\n * Parse a single or double quoted string.\n *\n * The current position should point at the initial quote character. Single\n * quoted strings will be treated literally, double quoted will process escapes.\n *\n * TODO(rginda): Variable interpolation.\n *\n * @param {ParseState} parseState\n * @param {string} quote A single or double-quote character.\n * @return {string}\n */\nhterm.Parser.prototype.parseString = function() {\n var result = '';\n\n var quote = this.ch;\n if (quote != '\"' && quote != '\\'')\n throw this.error('String expected');\n\n this.advance(1);\n\n var re = new RegExp('[\\\\\\\\' + quote + ']', 'g');\n\n while (this.pos < this.source.length) {\n re.lastIndex = this.pos;\n if (!re.exec(this.source))\n throw this.error('Unterminated string literal');\n\n result += this.source.substring(this.pos, re.lastIndex - 1);\n\n this.advance(re.lastIndex - this.pos - 1);\n\n if (quote == '\"' && this.ch == '\\\\') {\n this.advance(1);\n result += this.parseEscape();\n continue;\n }\n\n if (quote == '\\'' && this.ch == '\\\\') {\n result += this.ch;\n this.advance(1);\n continue;\n }\n\n if (this.ch == quote) {\n this.advance(1);\n return result;\n }\n }\n\n throw this.error('Unterminated string literal');\n};\n\n\n/**\n * Parse an escape code from the current position (which should point to\n * the first character AFTER the leading backslash.)\n *\n * @return {string}\n */\nhterm.Parser.prototype.parseEscape = function() {\n var map = {\n '\"': '\"',\n '\\'': '\\'',\n '\\\\': '\\\\',\n 'a': '\\x07',\n 'b': '\\x08',\n 'e': '\\x1b',\n 'f': '\\x0c',\n 'n': '\\x0a',\n 'r': '\\x0d',\n 't': '\\x09',\n 'v': '\\x0b',\n 'x': function() {\n var value = this.parsePattern(/[a-z0-9]{2}/ig);\n return String.fromCharCode(parseInt(value, 16));\n },\n 'u': function() {\n var value = this.parsePattern(/[a-z0-9]{4}/ig);\n return String.fromCharCode(parseInt(value, 16));\n }\n };\n\n if (!(this.ch in map && map.hasOwnProperty(this.ch)))\n throw this.error('Unknown escape: ' + this.ch);\n\n var value = map[this.ch];\n this.advance(1);\n\n if (typeof value == 'function')\n value = value.call(this);\n\n return value;\n};\n\n/**\n * Parse the given pattern starting from the current position.\n *\n * @param {RegExp} pattern A pattern representing the characters to span. MUST\n * include the \"global\" RegExp flag.\n * @return {string}\n */\nhterm.Parser.prototype.parsePattern = function(pattern) {\n if (!pattern.global)\n throw this.error('Internal error: Span patterns must be global');\n\n pattern.lastIndex = this.pos;\n var ary = pattern.exec(this.source);\n\n if (!ary || pattern.lastIndex - ary[0].length != this.pos)\n throw this.error('Expected match for: ' + pattern);\n\n this.pos = pattern.lastIndex - 1;\n this.advance(1);\n\n return ary[0];\n};\n\n\n/**\n * Advance the current position.\n *\n * @param {number} count\n */\nhterm.Parser.prototype.advance = function(count) {\n this.pos += count;\n this.ch = this.source.substr(this.pos, 1);\n};\n\n/**\n * @param {string=} opt_expect A list of valid non-whitespace characters to\n * terminate on.\n * @return {void}\n */\nhterm.Parser.prototype.skipSpace = function(opt_expect) {\n if (!/\\s/.test(this.ch))\n return;\n\n var re = /\\s+/gm;\n re.lastIndex = this.pos;\n\n var source = this.source;\n if (re.exec(source))\n this.pos = re.lastIndex;\n\n this.ch = this.source.substr(this.pos, 1);\n\n if (opt_expect) {\n if (this.ch.indexOf(opt_expect) == -1) {\n throw this.error('Expected one of ' + opt_expect + ', found: ' +\n this.ch);\n }\n }\n};\n// SOURCE FILE: hterm/js/hterm_parser_identifiers.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Collections of identifier for hterm.Parser.\n */\nhterm.Parser.identifiers = {};\n\n/**\n * Modifier key names used when defining key sequences.\n *\n * These are upper case so we can normalize the user input and be forgiving.\n * \"CTRL-A\" and \"Ctrl-A\" and \"ctrl-a\" are all accepted.\n *\n * Note: Names here cannot overlap with hterm.Parser.identifiers.keyCodes.\n */\nhterm.Parser.identifiers.modifierKeys = {\n SHIFT: 'shift',\n CTRL: 'ctrl',\n // Common alias.\n CONTROL: 'ctrl',\n ALT: 'alt',\n META: 'meta'\n};\n\n/**\n * Key codes useful when defining key sequences.\n *\n * Punctuation is mostly left out of this list because they can move around\n * based on keyboard locale and browser.\n *\n * In a key sequence like \"Ctrl-ESC\", the ESC comes from this list of\n * identifiers. It is equivalent to \"Ctrl-27\" and \"Ctrl-0x1b\".\n *\n * These are upper case so we can normalize the user input and be forgiving.\n * \"Ctrl-ESC\" and \"Ctrl-Esc\" an \"Ctrl-esc\" are all accepted.\n *\n * We also include common aliases for the same key. \"Esc\" and \"Escape\" are the\n * same key.\n *\n * Note: Names here cannot overlap with hterm.Parser.identifiers.modifierKeys.\n */\nhterm.Parser.identifiers.keyCodes = {\n // Top row.\n ESCAPE: 27,\n ESC: 27,\n F1: 112,\n F2: 113,\n F3: 114,\n F4: 115,\n F5: 116,\n F6: 117,\n F7: 118,\n F8: 119,\n F9: 120,\n F10: 121,\n F11: 122,\n F12: 123,\n\n // Row two.\n ONE: 49,\n TWO: 50,\n THREE: 51,\n FOUR: 52,\n FIVE: 53,\n SIX: 54,\n SEVEN: 55,\n EIGHT: 56,\n NINE: 57,\n ZERO: 48,\n BACKSPACE: 8,\n BKSP: 8,\n BS: 8,\n\n // Row three.\n TAB: 9,\n Q: 81,\n W: 87,\n E: 69,\n R: 82,\n T: 84,\n Y: 89,\n U: 85,\n I: 73,\n O: 79,\n P: 80,\n\n // Row four.\n CAPS_LOCK: 20,\n CAPSLOCK: 20,\n CAPS: 20,\n A: 65,\n S: 83,\n D: 68,\n F: 70,\n G: 71,\n H: 72,\n J: 74,\n K: 75,\n L: 76,\n // We map enter and return together even though enter should really be 10\n // because most people don't know or care about the history here. Plus,\n // most keyboards/programs map them together already. If they really want\n // to bind them differently, they can also use the numeric value.\n ENTER: 13,\n ENT: 13,\n RETURN: 13,\n RET: 13,\n\n // Row five.\n Z: 90,\n X: 88,\n C: 67,\n V: 86,\n B: 66,\n N: 78,\n M: 77,\n\n // Etc.\n SPACE: 32,\n SP: 32,\n PRINT_SCREEN: 42,\n PRTSC: 42,\n SCROLL_LOCK: 145,\n SCRLK: 145,\n BREAK: 19,\n BRK: 19,\n INSERT: 45,\n INS: 45,\n HOME: 36,\n PAGE_UP: 33,\n PGUP: 33,\n DELETE: 46,\n DEL: 46,\n END: 35,\n PAGE_DOWN: 34,\n PGDOWN: 34,\n PGDN: 34,\n UP: 38,\n DOWN: 40,\n RIGHT: 39,\n LEFT: 37,\n NUMLOCK: 144,\n\n // Keypad\n KP0: 96,\n KP1: 97,\n KP2: 98,\n KP3: 99,\n KP4: 100,\n KP5: 101,\n KP6: 102,\n KP7: 103,\n KP8: 104,\n KP9: 105,\n KP_PLUS: 107,\n KP_ADD: 107,\n KP_MINUS: 109,\n KP_SUBTRACT: 109,\n KP_STAR: 106,\n KP_MULTIPLY: 106,\n KP_DIVIDE: 111,\n KP_DECIMAL: 110,\n KP_PERIOD: 110,\n\n // Chrome OS media keys\n NAVIGATE_BACK: 166,\n NAVIGATE_FORWARD: 167,\n RELOAD: 168,\n FULL_SCREEN: 183,\n WINDOW_OVERVIEW: 182,\n BRIGHTNESS_UP: 216,\n BRIGHTNESS_DOWN: 217\n};\n\n/**\n * Identifiers for use in key actions.\n */\nhterm.Parser.identifiers.actions = {\n /**\n * Prevent the browser and operating system from handling the event.\n */\n CANCEL: hterm.Keyboard.KeyActions.CANCEL,\n\n /**\n * Wait for a \"keypress\" event, send the keypress charCode to the host.\n */\n DEFAULT: hterm.Keyboard.KeyActions.DEFAULT,\n\n /**\n * Let the browser or operating system handle the key.\n */\n PASS: hterm.Keyboard.KeyActions.PASS,\n\n /**\n * Scroll the terminal one page up.\n */\n scrollPageUp: function(terminal) {\n terminal.scrollPageUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal one page down.\n */\n scrollPageDown: function(terminal) {\n terminal.scrollPageDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal to the top.\n */\n scrollToTop: function(terminal) {\n terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal to the bottom.\n */\n scrollToBottom: function(terminal) {\n terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Clear the terminal and scrollback buffer.\n */\n clearScrollback: function(terminal) {\n terminal.wipeContents();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n};\n// SOURCE FILE: hterm/js/hterm_preference_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'lib.Storage');\n\n/**\n * PreferenceManager subclass managing global NaSSH preferences.\n *\n * This is currently just an ordered list of known connection profiles.\n */\nhterm.PreferenceManager = function(profileId) {\n lib.PreferenceManager.call(this, hterm.defaultStorage,\n '/hterm/profiles/' + profileId);\n var defs = hterm.PreferenceManager.defaultPreferences;\n Object.keys(defs).forEach(function(key) {\n this.definePreference(key, defs[key][1]);\n }.bind(this));\n};\n\nhterm.PreferenceManager.categories = {};\nhterm.PreferenceManager.categories.Keyboard = 'Keyboard';\nhterm.PreferenceManager.categories.Appearance = 'Appearance';\nhterm.PreferenceManager.categories.CopyPaste = 'CopyPaste';\nhterm.PreferenceManager.categories.Sounds = 'Sounds';\nhterm.PreferenceManager.categories.Scrolling = 'Scrolling';\nhterm.PreferenceManager.categories.Encoding = 'Encoding';\nhterm.PreferenceManager.categories.Miscellaneous = 'Miscellaneous';\n\n/**\n * List of categories, ordered by display order (top to bottom)\n */\nhterm.PreferenceManager.categoryDefinitions = [\n { id: hterm.PreferenceManager.categories.Appearance,\n text: 'Appearance (fonts, colors, images)'},\n { id: hterm.PreferenceManager.categories.CopyPaste,\n text: 'Copy & Paste'},\n { id: hterm.PreferenceManager.categories.Encoding,\n text: 'Encoding'},\n { id: hterm.PreferenceManager.categories.Keyboard,\n text: 'Keyboard'},\n { id: hterm.PreferenceManager.categories.Scrolling,\n text: 'Scrolling'},\n { id: hterm.PreferenceManager.categories.Sounds,\n text: 'Sounds'},\n { id: hterm.PreferenceManager.categories.Miscellaneous,\n text: 'Misc.'}\n];\n\n\nhterm.PreferenceManager.defaultPreferences = {\n 'alt-gr-mode':\n [hterm.PreferenceManager.categories.Keyboard, null,\n [null, 'none', 'ctrl-alt', 'left-alt', 'right-alt'],\n 'Select an AltGr detection hack^Wheuristic.\\n' +\n '\\n' +\n '\\'null\\': Autodetect based on navigator.language:\\n' +\n ' \\'en-us\\' => \\'none\\', else => \\'right-alt\\'\\n' +\n '\\'none\\': Disable any AltGr related munging.\\n' +\n '\\'ctrl-alt\\': Assume Ctrl+Alt means AltGr.\\n' +\n '\\'left-alt\\': Assume left Alt means AltGr.\\n' +\n '\\'right-alt\\': Assume right Alt means AltGr.\\n'],\n\n 'alt-backspace-is-meta-backspace':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If set, undoes the Chrome OS Alt-Backspace->DEL remap, so that ' +\n 'alt-backspace indeed is alt-backspace.'],\n\n 'alt-is-meta':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Set whether the alt key acts as a meta key or as a distinct alt key.'],\n\n 'alt-sends-what':\n [hterm.PreferenceManager.categories.Keyboard, 'escape',\n ['escape', '8-bit', 'browser-key'],\n 'Controls how the alt key is handled.\\n' +\n '\\n' +\n ' escape....... Send an ESC prefix.\\n' +\n ' 8-bit........ Add 128 to the unshifted character as in xterm.\\n' +\n ' browser-key.. Wait for the keypress event and see what the browser \\n' +\n ' says. (This won\\'t work well on platforms where the \\n' +\n ' browser performs a default action for some alt sequences.)'\n ],\n\n 'audible-bell-sound':\n [hterm.PreferenceManager.categories.Sounds, 'lib-resource:hterm/audio/bell',\n 'url',\n 'URL of the terminal bell sound. Empty string for no audible bell.'],\n\n 'desktop-notification-bell':\n [hterm.PreferenceManager.categories.Sounds, false, 'bool',\n 'If true, terminal bells in the background will create a Web ' +\n 'Notification. https://www.w3.org/TR/notifications/\\n' +\n '\\n'+\n 'Displaying notifications requires permission from the user. When this ' +\n 'option is set to true, hterm will attempt to ask the user for permission ' +\n 'if necessary. Note browsers may not show this permission request if it ' +\n 'did not originate from a user action.\\n' +\n '\\n' +\n 'Chrome extensions with the \"notifications\" permission have permission to ' +\n 'display notifications.'],\n\n 'background-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgb(16, 16, 16)', 'color',\n 'The background color for text with no other color attributes.'],\n\n 'background-image':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image. Empty string for no image.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' url(https://goo.gl/anedTK)\\n' +\n ' linear-gradient(top bottom, blue, red)'],\n\n 'background-size':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image size. Defaults to none.'],\n\n 'background-position':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image position.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' 10% 10%\\n' +\n ' center'],\n\n 'backspace-sends-backspace':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, the backspace should send BS (\\'\\\\x08\\', aka ^H). Otherwise ' +\n 'the backspace key should send \\'\\\\x7f\\'.'],\n\n 'character-map-overrides':\n [hterm.PreferenceManager.categories.Appearance, null, 'value',\n 'This is specified as an object. It is a sparse array, where each ' +\n 'property is the character set code and the value is an object that is ' +\n 'a sparse array itself. In that sparse array, each property is the ' +\n 'received character and the value is the displayed character.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' {\"0\":{\"+\":\"\\\\u2192\",\",\":\"\\\\u2190\",\"-\":\"\\\\u2191\",\".\":\"\\\\u2193\", ' +\n '\"0\":\"\\\\u2588\"}}'\n ],\n\n 'close-on-exit':\n [hterm.PreferenceManager.categories.Miscellaneous, true, 'bool',\n 'Whether or not to close the window when the command exits.'],\n\n 'cursor-blink':\n [hterm.PreferenceManager.categories.Appearance, false, 'bool',\n 'Whether or not to blink the cursor by default.'],\n\n 'cursor-blink-cycle':\n [hterm.PreferenceManager.categories.Appearance, [1000, 500], 'value',\n 'The cursor blink rate in milliseconds.\\n' +\n '\\n' +\n 'A two element array, the first of which is how long the cursor should be ' +\n 'on, second is how long it should be off.'],\n\n 'cursor-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgba(255, 0, 0, 0.5)',\n 'color',\n 'The color of the visible cursor.'],\n\n 'color-palette-overrides':\n [hterm.PreferenceManager.categories.Appearance, null, 'value',\n 'Override colors in the default palette.\\n' +\n '\\n' +\n 'This can be specified as an array or an object. If specified as an ' +\n 'object it is assumed to be a sparse array, where each property ' +\n 'is a numeric index into the color palette.\\n' +\n '\\n' +\n 'Values can be specified as almost any css color value. This ' +\n 'includes #RGB, #RRGGBB, rgb(...), rgba(...), and any color names ' +\n 'that are also part of the stock X11 rgb.txt file.\\n' +\n '\\n' +\n 'You can use \\'null\\' to specify that the default value should be not ' +\n 'be changed. This is useful for skipping a small number of indices ' +\n 'when the value is specified as an array.'],\n\n 'copy-on-select':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Automatically copy mouse selection to the clipboard.'],\n\n 'use-default-window-copy':\n [hterm.PreferenceManager.categories.CopyPaste, false, 'bool',\n 'Whether to use the default window copy behavior'],\n\n 'clear-selection-after-copy':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Whether to clear the selection after copying.'],\n\n 'ctrl-plus-minus-zero-zoom':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'If true, Ctrl-Plus/Minus/Zero controls zoom.\\n' +\n 'If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_, ' +\n 'Ctrl-Plus/Zero do nothing.'],\n\n 'ctrl-c-copy':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Ctrl+C copies if true, send ^C to host if false.\\n' +\n 'Ctrl+Shift+C sends ^C to host if true, copies if false.'],\n\n 'ctrl-v-paste':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Ctrl+V pastes if true, send ^V to host if false.\\n' +\n 'Ctrl+Shift+V sends ^V to host if true, pastes if false.'],\n\n 'east-asian-ambiguous-as-two-column':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Set whether East Asian Ambiguous characters have two column width.'],\n\n 'enable-8-bit-control':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'True to enable 8-bit control characters, false to ignore them.\\n' +\n '\\n' +\n 'We\\'ll respect the two-byte versions of these control characters ' +\n 'regardless of this setting.'],\n\n 'enable-bold':\n [hterm.PreferenceManager.categories.Appearance, null, 'tristate',\n 'True if we should use bold weight font for text with the bold/bright ' +\n 'attribute. False to use the normal weight font. Null to autodetect.'],\n\n 'enable-bold-as-bright':\n [hterm.PreferenceManager.categories.Appearance, true, 'bool',\n 'True if we should use bright colors (8-15 on a 16 color palette) ' +\n 'for any text with the bold attribute. False otherwise.'],\n\n 'enable-blink':\n [hterm.PreferenceManager.categories.Appearance, true, 'bool',\n 'True if we should respect the blink attribute. False to ignore it. '],\n\n 'enable-clipboard-notice':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Show a message in the terminal when the host writes to the clipboard.'],\n\n 'enable-clipboard-write':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Allow the host to write directly to the system clipboard.'],\n\n 'enable-dec12':\n [hterm.PreferenceManager.categories.Miscellaneous, false, 'bool',\n 'Respect the host\\'s attempt to change the cursor blink status using ' +\n 'DEC Private Mode 12.'],\n\n 'environment':\n [hterm.PreferenceManager.categories.Miscellaneous, {'TERM': 'xterm-256color'},\n 'value',\n 'The default environment variables, as an object.'],\n\n 'font-family':\n [hterm.PreferenceManager.categories.Appearance,\n '\"DejaVu Sans Mono\", \"Everson Mono\", FreeMono, \"Menlo\", \"Terminal\", ' +\n 'monospace', 'string',\n 'Default font family for the terminal text.'],\n\n 'font-size':\n [hterm.PreferenceManager.categories.Appearance, 15, 'int',\n 'The default font size in pixels.'],\n\n 'font-smoothing':\n [hterm.PreferenceManager.categories.Appearance, 'antialiased', 'string',\n 'CSS font-smoothing property.'],\n\n 'foreground-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgb(240, 240, 240)', 'color',\n 'The foreground color for text with no other color attributes.'],\n\n 'home-keys-scroll':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, home/end will control the terminal scrollbar and shift home/end ' +\n 'will send the VT keycodes. If false then home/end sends VT codes and ' +\n 'shift home/end scrolls.'],\n\n 'keybindings':\n [hterm.PreferenceManager.categories.Keyboard, null, 'value',\n 'A map of key sequence to key actions. Key sequences include zero or ' +\n 'more modifier keys followed by a key code. Key codes can be decimal or ' +\n 'hexadecimal numbers, or a key identifier. Key actions can be specified ' +\n 'a string to send to the host, or an action identifier. For a full ' +\n 'explanation of the format, see https://goo.gl/LWRndr.\\n' +\n '\\n' +\n 'Sample keybindings:\\n' +\n '{\\n' +\n ' \"Ctrl-Alt-K\": \"clearScrollback\",\\n' +\n ' \"Ctrl-Shift-L\": \"PASS\",\\n' +\n ' \"Ctrl-H\": \"\\'HELLO\\\\n\\'\"\\n' +\n '}'],\n\n 'max-string-sequence':\n [hterm.PreferenceManager.categories.Encoding, 100000, 'int',\n 'Max length of a DCS, OSC, PM, or APS sequence before we give up and ' +\n 'ignore the code.'],\n\n 'media-keys-are-fkeys':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, convert media keys to their Fkey equivalent. If false, let ' +\n 'the browser handle the keys.'],\n\n 'meta-sends-escape':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Set whether the meta key sends a leading escape or not.'],\n\n 'mouse-right-click-paste':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Paste on right mouse button clicks.\\n' +\n '\\n' +\n 'This option is activate independent of the \"mouse-paste-button\" ' +\n 'setting.\\n' +\n '\\n' +\n 'Note: This will handle left & right handed mice correctly.'],\n\n 'mouse-paste-button':\n [hterm.PreferenceManager.categories.CopyPaste, null,\n [null, 0, 1, 2, 3, 4, 5, 6],\n 'Mouse paste button, or null to autodetect.\\n' +\n '\\n' +\n 'For autodetect, we\\'ll use the middle mouse button for non-X11 ' +\n 'platforms (including Chrome OS). On X11, we\\'ll use the right mouse ' +\n 'button (since the native window manager should paste via the middle ' +\n 'mouse button).\\n' +\n '\\n' +\n '0 == left (primary) button.\\n' +\n '1 == middle (auxiliary) button.\\n' +\n '2 == right (secondary) button.\\n' +\n '\\n' +\n 'This option is activate independent of the \"mouse-right-click-paste\" ' +\n 'setting.\\n' +\n '\\n' +\n 'Note: This will handle left & right handed mice correctly.'],\n\n 'word-break-match-left':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^!@#$%&*,;:`]', 'string',\n 'Regular expression to halt matching to the left (start) of a selection.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.\\n' +\n 'We allow \"~\" and \".\" by default as paths frequently start with those.'],\n\n 'word-break-match-right':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^!@#$%&*,;:~.`]', 'string',\n 'Regular expression to halt matching to the right (end) of a selection.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.'],\n\n 'word-break-match-middle':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^]*', 'string',\n 'Regular expression to match all the characters in the middle.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.\\n' +\n '\\n' +\n 'Used to expand the selection surrounding the starting point.'],\n\n 'page-keys-scroll':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, page up/down will control the terminal scrollbar and shift ' +\n 'page up/down will send the VT keycodes. If false then page up/down ' +\n 'sends VT codes and shift page up/down scrolls.'],\n\n 'pass-alt-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Alt-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Alt-1..9 will be handled by the browser. If false, Alt-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-ctrl-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Ctrl-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Ctrl-1..9 will be handled by the browser. If false, Ctrl-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-meta-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Meta-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Meta-1..9 will be handled by the browser. If false, Meta-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-meta-v':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Set whether meta-V gets passed to host.'],\n\n 'receive-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'],\n 'Set the expected encoding for data received from the host.\\n' +\n '\\n' +\n 'Valid values are \\'utf-8\\' and \\'raw\\'.'],\n\n 'scroll-on-keystroke':\n [hterm.PreferenceManager.categories.Scrolling, true, 'bool',\n 'If true, scroll to the bottom on any keystroke.'],\n\n 'scroll-on-output':\n [hterm.PreferenceManager.categories.Scrolling, false, 'bool',\n 'If true, scroll to the bottom on terminal output.'],\n\n 'scrollbar-visible':\n [hterm.PreferenceManager.categories.Scrolling, true, 'bool',\n 'The vertical scrollbar mode.'],\n\n 'scroll-wheel-may-send-arrow-keys':\n [hterm.PreferenceManager.categories.Scrolling, false, 'bool',\n 'When using the alternative screen buffer, and DECCKM (Application Cursor ' +\n 'Keys) is active, mouse wheel scroll events will emulate arrow keys.\\n' +\n '\\n' +\n 'It can be temporarily disabled by holding the shift key.\\n' +\n '\\n' +\n 'This frequently comes up when using pagers (less) or reading man pages ' +\n 'or text editors (vi/nano) or using screen/tmux.'],\n\n 'scroll-wheel-move-multiplier':\n [hterm.PreferenceManager.categories.Scrolling, 1, 'int',\n 'The multiplier for the pixel delta in wheel events caused by the ' +\n 'scroll wheel. Alters how fast the page scrolls.'],\n\n 'send-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'],\n 'Set the encoding for data sent to host.'],\n\n 'terminal-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'iso-2022',\n ['iso-2022', 'utf-8', 'utf-8-locked'],\n 'The default terminal encoding (DOCS).\\n' +\n '\\n' +\n 'ISO-2022 enables character map translations (like graphics maps).\\n' +\n 'UTF-8 disables support for those.\\n' +\n '\\n' +\n 'The locked variant means the encoding cannot be changed at runtime ' +\n 'via terminal escape sequences.\\n' +\n '\\n' +\n 'You should stick with UTF-8 unless you notice broken rendering with ' +\n 'legacy applications.'],\n\n 'shift-insert-paste':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Shift + Insert pastes if true, sent to host if false.'],\n\n 'user-css':\n [hterm.PreferenceManager.categories.Appearance, '', 'url',\n 'URL of user stylesheet to include in the terminal document.'],\n\n 'user-css-text':\n [hterm.PreferenceManager.categories.Appearance, '', 'multiline-string',\n 'Custom CSS text for styling the terminal.'],\n};\n\nhterm.PreferenceManager.prototype =\n Object.create(lib.PreferenceManager.prototype);\nhterm.PreferenceManager.constructor = hterm.PreferenceManager;\n// SOURCE FILE: hterm/js/hterm_pubsub.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Utility class used to add publish/subscribe/unsubscribe functionality to\n * an existing object.\n */\nhterm.PubSub = function() {\n this.observers_ = {};\n};\n\n/**\n * Add publish, subscribe, and unsubscribe methods to an existing object.\n *\n * No other properties of the object are touched, so there is no need to\n * worry about clashing private properties.\n *\n * @param {Object} obj The object to add this behavior to.\n */\nhterm.PubSub.addBehavior = function(obj) {\n var pubsub = new hterm.PubSub();\n for (var m in hterm.PubSub.prototype) {\n obj[m] = hterm.PubSub.prototype[m].bind(pubsub);\n }\n};\n\n/**\n * Subscribe to be notified of messages about a subject.\n *\n * @param {string} subject The subject to subscribe to.\n * @param {function(Object)} callback The function to invoke for notifications.\n */\nhterm.PubSub.prototype.subscribe = function(subject, callback) {\n if (!(subject in this.observers_))\n this.observers_[subject] = [];\n\n this.observers_[subject].push(callback);\n};\n\n/**\n * Unsubscribe from a subject.\n *\n * @param {string} subject The subject to unsubscribe from.\n * @param {function(Object)} callback A callback previously registered via\n * subscribe().\n */\nhterm.PubSub.prototype.unsubscribe = function(subject, callback) {\n var list = this.observers_[subject];\n if (!list)\n throw 'Invalid subject: ' + subject;\n\n var i = list.indexOf(callback);\n if (i < 0)\n throw 'Not subscribed: ' + subject;\n\n list.splice(i, 1);\n};\n\n/**\n * Publish a message about a subject.\n *\n * Subscribers (and the optional final callback) are invoked asynchronously.\n * This method will return before anyone is actually notified.\n *\n * @param {string} subject The subject to publish about.\n * @param {Object} e An arbitrary object associated with this notification.\n * @param {function(Object)} opt_lastCallback An optional function to call after\n * all subscribers have been notified.\n */\nhterm.PubSub.prototype.publish = function(subject, e, opt_lastCallback) {\n function notifyList(i) {\n // Set this timeout before invoking the callback, so we don't have to\n // concern ourselves with exceptions.\n if (i < list.length - 1)\n setTimeout(notifyList, 0, i + 1);\n\n list[i](e);\n }\n\n var list = this.observers_[subject];\n if (list) {\n // Copy the list, in case it changes while we're notifying.\n list = [].concat(list);\n }\n\n if (opt_lastCallback) {\n if (list) {\n list.push(opt_lastCallback);\n } else {\n list = [opt_lastCallback];\n }\n }\n\n if (list)\n setTimeout(notifyList, 0, 0);\n};\n// SOURCE FILE: hterm/js/hterm_screen.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'lib.wc',\n 'hterm.RowCol', 'hterm.Size', 'hterm.TextAttributes');\n\n/**\n * @fileoverview This class represents a single terminal screen full of text.\n *\n * It maintains the current cursor position and has basic methods for text\n * insert and overwrite, and adding or removing rows from the screen.\n *\n * This class has no knowledge of the scrollback buffer.\n *\n * The number of rows on the screen is determined only by the number of rows\n * that the caller inserts into the screen. If a caller wants to ensure a\n * constant number of rows on the screen, it's their responsibility to remove a\n * row for each row inserted.\n *\n * The screen width, in contrast, is enforced locally.\n *\n *\n * In practice...\n * - The hterm.Terminal class holds two hterm.Screen instances. One for the\n * primary screen and one for the alternate screen.\n *\n * - The html.Screen class only cares that rows are HTMLElements. In the\n * larger context of hterm, however, the rows happen to be displayed by an\n * hterm.ScrollPort and have to follow a few rules as a result. Each\n * row must be rooted by the custom HTML tag 'x-row', and each must have a\n * rowIndex property that corresponds to the index of the row in the context\n * of the scrollback buffer. These invariants are enforced by hterm.Terminal\n * because that is the class using the hterm.Screen in the context of an\n * hterm.ScrollPort.\n */\n\n/**\n * Create a new screen instance.\n *\n * The screen initially has no rows and a maximum column count of 0.\n *\n * @param {integer} opt_columnCount The maximum number of columns for this\n * screen. See insertString() and overwriteString() for information about\n * what happens when too many characters are added too a row. Defaults to\n * 0 if not provided.\n */\nhterm.Screen = function(opt_columnCount) {\n /**\n * Public, read-only access to the rows in this screen.\n */\n this.rowsArray = [];\n\n // The max column width for this screen.\n this.columnCount_ = opt_columnCount || 80;\n\n // The current color, bold, underline and blink attributes.\n this.textAttributes = new hterm.TextAttributes(window.document);\n\n // Current zero-based cursor coordinates.\n this.cursorPosition = new hterm.RowCol(0, 0);\n\n // The node containing the row that the cursor is positioned on.\n this.cursorRowNode_ = null;\n\n // The node containing the span of text that the cursor is positioned on.\n this.cursorNode_ = null;\n\n // The offset in column width into cursorNode_ where the cursor is positioned.\n this.cursorOffset_ = null;\n\n // Regexes for expanding word selections.\n this.wordBreakMatchLeft = null;\n this.wordBreakMatchRight = null;\n this.wordBreakMatchMiddle = null;\n};\n\n/**\n * Return the screen size as an hterm.Size object.\n *\n * @return {hterm.Size} hterm.Size object representing the current number\n * of rows and columns in this screen.\n */\nhterm.Screen.prototype.getSize = function() {\n return new hterm.Size(this.columnCount_, this.rowsArray.length);\n};\n\n/**\n * Return the current number of rows in this screen.\n *\n * @return {integer} The number of rows in this screen.\n */\nhterm.Screen.prototype.getHeight = function() {\n return this.rowsArray.length;\n};\n\n/**\n * Return the current number of columns in this screen.\n *\n * @return {integer} The number of columns in this screen.\n */\nhterm.Screen.prototype.getWidth = function() {\n return this.columnCount_;\n};\n\n/**\n * Set the maximum number of columns per row.\n *\n * @param {integer} count The maximum number of columns per row.\n */\nhterm.Screen.prototype.setColumnCount = function(count) {\n this.columnCount_ = count;\n\n if (this.cursorPosition.column >= count)\n this.setCursorPosition(this.cursorPosition.row, count - 1);\n};\n\n/**\n * Remove the first row from the screen and return it.\n *\n * @return {HTMLElement} The first row in this screen.\n */\nhterm.Screen.prototype.shiftRow = function() {\n return this.shiftRows(1)[0];\n};\n\n/**\n * Remove rows from the top of the screen and return them as an array.\n *\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.shiftRows = function(count) {\n return this.rowsArray.splice(0, count);\n};\n\n/**\n * Insert a row at the top of the screen.\n *\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.unshiftRow = function(row) {\n this.rowsArray.splice(0, 0, row);\n};\n\n/**\n * Insert rows at the top of the screen.\n *\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.unshiftRows = function(rows) {\n this.rowsArray.unshift.apply(this.rowsArray, rows);\n};\n\n/**\n * Remove the last row from the screen and return it.\n *\n * @return {HTMLElement} The last row in this screen.\n */\nhterm.Screen.prototype.popRow = function() {\n return this.popRows(1)[0];\n};\n\n/**\n * Remove rows from the bottom of the screen and return them as an array.\n *\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.popRows = function(count) {\n return this.rowsArray.splice(this.rowsArray.length - count, count);\n};\n\n/**\n * Insert a row at the bottom of the screen.\n *\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.pushRow = function(row) {\n this.rowsArray.push(row);\n};\n\n/**\n * Insert rows at the bottom of the screen.\n *\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.pushRows = function(rows) {\n rows.push.apply(this.rowsArray, rows);\n};\n\n/**\n * Insert a row at the specified row of the screen.\n *\n * @param {integer} index The index to insert the row.\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.insertRow = function(index, row) {\n this.rowsArray.splice(index, 0, row);\n};\n\n/**\n * Insert rows at the specified row of the screen.\n *\n * @param {integer} index The index to insert the rows.\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.insertRows = function(index, rows) {\n for (var i = 0; i < rows.length; i++) {\n this.rowsArray.splice(index + i, 0, rows[i]);\n }\n};\n\n/**\n * Remove a row from the screen and return it.\n *\n * @param {integer} index The index of the row to remove.\n * @return {HTMLElement} The selected row.\n */\nhterm.Screen.prototype.removeRow = function(index) {\n return this.rowsArray.splice(index, 1)[0];\n};\n\n/**\n * Remove rows from the bottom of the screen and return them as an array.\n *\n * @param {integer} index The index to start removing rows.\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.removeRows = function(index, count) {\n return this.rowsArray.splice(index, count);\n};\n\n/**\n * Invalidate the current cursor position.\n *\n * This sets this.cursorPosition to (0, 0) and clears out some internal\n * data.\n *\n * Attempting to insert or overwrite text while the cursor position is invalid\n * will raise an obscure exception.\n */\nhterm.Screen.prototype.invalidateCursorPosition = function() {\n this.cursorPosition.move(0, 0);\n this.cursorRowNode_ = null;\n this.cursorNode_ = null;\n this.cursorOffset_ = null;\n};\n\n/**\n * Clear the contents of the cursor row.\n */\nhterm.Screen.prototype.clearCursorRow = function() {\n this.cursorRowNode_.innerHTML = '';\n this.cursorRowNode_.removeAttribute('line-overflow');\n this.cursorOffset_ = 0;\n this.cursorPosition.column = 0;\n this.cursorPosition.overflow = false;\n\n var text;\n if (this.textAttributes.isDefault()) {\n text = '';\n } else {\n text = lib.f.getWhitespace(this.columnCount_);\n }\n\n // We shouldn't honor inverse colors when clearing an area, to match\n // xterm's back color erase behavior.\n var inverse = this.textAttributes.inverse;\n this.textAttributes.inverse = false;\n this.textAttributes.syncColors();\n\n var node = this.textAttributes.createContainer(text);\n this.cursorRowNode_.appendChild(node);\n this.cursorNode_ = node;\n\n this.textAttributes.inverse = inverse;\n this.textAttributes.syncColors();\n};\n\n/**\n * Mark the current row as having overflowed to the next line.\n *\n * The line overflow state is used when converting a range of rows into text.\n * It makes it possible to recombine two or more overflow terminal rows into\n * a single line.\n *\n * This is distinct from the cursor being in the overflow state. Cursor\n * overflow indicates that printing at the cursor position will commit a\n * line overflow, unless it is preceded by a repositioning of the cursor\n * to a non-overflow state.\n */\nhterm.Screen.prototype.commitLineOverflow = function() {\n this.cursorRowNode_.setAttribute('line-overflow', true);\n};\n\n/**\n * Relocate the cursor to a give row and column.\n *\n * @param {integer} row The zero based row.\n * @param {integer} column The zero based column.\n */\nhterm.Screen.prototype.setCursorPosition = function(row, column) {\n if (!this.rowsArray.length) {\n console.warn('Attempt to set cursor position on empty screen.');\n return;\n }\n\n if (row >= this.rowsArray.length) {\n console.error('Row out of bounds: ' + row);\n row = this.rowsArray.length - 1;\n } else if (row < 0) {\n console.error('Row out of bounds: ' + row);\n row = 0;\n }\n\n if (column >= this.columnCount_) {\n console.error('Column out of bounds: ' + column);\n column = this.columnCount_ - 1;\n } else if (column < 0) {\n console.error('Column out of bounds: ' + column);\n column = 0;\n }\n\n this.cursorPosition.overflow = false;\n\n var rowNode = this.rowsArray[row];\n var node = rowNode.firstChild;\n\n if (!node) {\n node = rowNode.ownerDocument.createTextNode('');\n rowNode.appendChild(node);\n }\n\n var currentColumn = 0;\n\n if (rowNode == this.cursorRowNode_) {\n if (column >= this.cursorPosition.column - this.cursorOffset_) {\n node = this.cursorNode_;\n currentColumn = this.cursorPosition.column - this.cursorOffset_;\n }\n } else {\n this.cursorRowNode_ = rowNode;\n }\n\n this.cursorPosition.move(row, column);\n\n while (node) {\n var offset = column - currentColumn;\n var width = hterm.TextAttributes.nodeWidth(node);\n if (!node.nextSibling || width > offset) {\n this.cursorNode_ = node;\n this.cursorOffset_ = offset;\n return;\n }\n\n currentColumn += width;\n node = node.nextSibling;\n }\n};\n\n/**\n * Set the provided selection object to be a caret selection at the current\n * cursor position.\n */\nhterm.Screen.prototype.syncSelectionCaret = function(selection) {\n try {\n selection.collapse(this.cursorNode_, this.cursorOffset_);\n } catch (firefoxIgnoredException) {\n // FF can throw an exception if the range is off, rather than just not\n // performing the collapse.\n }\n};\n\n/**\n * Split a single node into two nodes at the given offset.\n *\n * For example:\n * Given the DOM fragment '
Hello World
', call splitNode_\n * passing the span and an offset of 6. This would modify the fragment to\n * become: '
Hello World
'. If the span\n * had any attributes they would have been copied to the new span as well.\n *\n * The to-be-split node must have a container, so that the new node can be\n * placed next to it.\n *\n * @param {HTMLNode} node The node to split.\n * @param {integer} offset The offset into the node where the split should\n * occur.\n */\nhterm.Screen.prototype.splitNode_ = function(node, offset) {\n var afterNode = node.cloneNode(false);\n\n var textContent = node.textContent;\n node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset);\n afterNode.textContent = lib.wc.substr(textContent, offset);\n\n if (afterNode.textContent)\n node.parentNode.insertBefore(afterNode, node.nextSibling);\n if (!node.textContent)\n node.parentNode.removeChild(node);\n};\n\n/**\n * Ensure that text is clipped and the cursor is clamped to the column count.\n */\nhterm.Screen.prototype.maybeClipCurrentRow = function() {\n var width = hterm.TextAttributes.nodeWidth(this.cursorRowNode_);\n\n if (width <= this.columnCount_) {\n // Current row does not need clipping, but may need clamping.\n if (this.cursorPosition.column >= this.columnCount_) {\n this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1);\n this.cursorPosition.overflow = true;\n }\n\n return;\n }\n\n // Save off the current column so we can maybe restore it later.\n var currentColumn = this.cursorPosition.column;\n\n // Move the cursor to the final column.\n this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1);\n\n // Remove any text that partially overflows.\n width = hterm.TextAttributes.nodeWidth(this.cursorNode_);\n\n if (this.cursorOffset_ < width - 1) {\n this.cursorNode_.textContent = hterm.TextAttributes.nodeSubstr(\n this.cursorNode_, 0, this.cursorOffset_ + 1);\n }\n\n // Remove all nodes after the cursor.\n var rowNode = this.cursorRowNode_;\n var node = this.cursorNode_.nextSibling;\n\n while (node) {\n rowNode.removeChild(node);\n node = this.cursorNode_.nextSibling;\n }\n\n if (currentColumn < this.columnCount_) {\n // If the cursor was within the screen before we started then restore its\n // position.\n this.setCursorPosition(this.cursorPosition.row, currentColumn);\n } else {\n // Otherwise leave it at the the last column in the overflow state.\n this.cursorPosition.overflow = true;\n }\n};\n\n/**\n * Insert a string at the current character position using the current\n * text attributes.\n *\n * You must call maybeClipCurrentRow() after in order to clip overflowed\n * text and clamp the cursor.\n *\n * It is also up to the caller to properly maintain the line overflow state\n * using hterm.Screen..commitLineOverflow().\n */\nhterm.Screen.prototype.insertString = function(str) {\n var cursorNode = this.cursorNode_;\n var cursorNodeText = cursorNode.textContent;\n\n this.cursorRowNode_.removeAttribute('line-overflow');\n\n // We may alter the width of the string by prepending some missing\n // whitespaces, so we need to record the string width ahead of time.\n var strWidth = lib.wc.strWidth(str);\n\n // No matter what, before this function exits the cursor column will have\n // moved this much.\n this.cursorPosition.column += strWidth;\n\n // Local cache of the cursor offset.\n var offset = this.cursorOffset_;\n\n // Reverse offset is the offset measured from the end of the string.\n // Zero implies that the cursor is at the end of the cursor node.\n var reverseOffset = hterm.TextAttributes.nodeWidth(cursorNode) - offset;\n\n if (reverseOffset < 0) {\n // A negative reverse offset means the cursor is positioned past the end\n // of the characters on this line. We'll need to insert the missing\n // whitespace.\n var ws = lib.f.getWhitespace(-reverseOffset);\n\n // This whitespace should be completely unstyled. Underline, background\n // color, and strikethrough would be visible on whitespace, so we can't use\n // one of those spans to hold the text.\n if (!(this.textAttributes.underline ||\n this.textAttributes.strikethrough ||\n this.textAttributes.background ||\n this.textAttributes.wcNode ||\n !this.textAttributes.asciiNode ||\n this.textAttributes.tileData != null)) {\n // Best case scenario, we can just pretend the spaces were part of the\n // original string.\n str = ws + str;\n } else if (cursorNode.nodeType == 3 ||\n !(cursorNode.wcNode ||\n !cursorNode.asciiNode ||\n cursorNode.tileNode ||\n cursorNode.style.textDecoration ||\n cursorNode.style.backgroundColor)) {\n // Second best case, the current node is able to hold the whitespace.\n cursorNode.textContent = (cursorNodeText += ws);\n } else {\n // Worst case, we have to create a new node to hold the whitespace.\n var wsNode = cursorNode.ownerDocument.createTextNode(ws);\n this.cursorRowNode_.insertBefore(wsNode, cursorNode.nextSibling);\n this.cursorNode_ = cursorNode = wsNode;\n this.cursorOffset_ = offset = -reverseOffset;\n cursorNodeText = ws;\n }\n\n // We now know for sure that we're at the last character of the cursor node.\n reverseOffset = 0;\n }\n\n if (this.textAttributes.matchesContainer(cursorNode)) {\n // The new text can be placed directly in the cursor node.\n if (reverseOffset == 0) {\n cursorNode.textContent = cursorNodeText + str;\n } else if (offset == 0) {\n cursorNode.textContent = str + cursorNodeText;\n } else {\n cursorNode.textContent =\n hterm.TextAttributes.nodeSubstr(cursorNode, 0, offset) +\n str + hterm.TextAttributes.nodeSubstr(cursorNode, offset);\n }\n\n this.cursorOffset_ += strWidth;\n return;\n }\n\n // The cursor node is the wrong style for the new text. If we're at the\n // beginning or end of the cursor node, then the adjacent node is also a\n // potential candidate.\n\n if (offset == 0) {\n // At the beginning of the cursor node, the check the previous sibling.\n var previousSibling = cursorNode.previousSibling;\n if (previousSibling &&\n this.textAttributes.matchesContainer(previousSibling)) {\n previousSibling.textContent += str;\n this.cursorNode_ = previousSibling;\n this.cursorOffset_ = lib.wc.strWidth(previousSibling.textContent);\n return;\n }\n\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, cursorNode);\n this.cursorNode_ = newNode;\n this.cursorOffset_ = strWidth;\n return;\n }\n\n if (reverseOffset == 0) {\n // At the end of the cursor node, the check the next sibling.\n var nextSibling = cursorNode.nextSibling;\n if (nextSibling &&\n this.textAttributes.matchesContainer(nextSibling)) {\n nextSibling.textContent = str + nextSibling.textContent;\n this.cursorNode_ = nextSibling;\n this.cursorOffset_ = lib.wc.strWidth(str);\n return;\n }\n\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, nextSibling);\n this.cursorNode_ = newNode;\n // We specifically need to include any missing whitespace here, since it's\n // going in a new node.\n this.cursorOffset_ = hterm.TextAttributes.nodeWidth(newNode);\n return;\n }\n\n // Worst case, we're somewhere in the middle of the cursor node. We'll\n // have to split it into two nodes and insert our new container in between.\n this.splitNode_(cursorNode, offset);\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, cursorNode.nextSibling);\n this.cursorNode_ = newNode;\n this.cursorOffset_ = strWidth;\n};\n\n/**\n * Overwrite the text at the current cursor position.\n *\n * You must call maybeClipCurrentRow() after in order to clip overflowed\n * text and clamp the cursor.\n *\n * It is also up to the caller to properly maintain the line overflow state\n * using hterm.Screen..commitLineOverflow().\n */\nhterm.Screen.prototype.overwriteString = function(str) {\n var maxLength = this.columnCount_ - this.cursorPosition.column;\n if (!maxLength)\n return [str];\n\n var width = lib.wc.strWidth(str);\n if (this.textAttributes.matchesContainer(this.cursorNode_) &&\n this.cursorNode_.textContent.substr(this.cursorOffset_) == str) {\n // This overwrite would be a no-op, just move the cursor and return.\n this.cursorOffset_ += width;\n this.cursorPosition.column += width;\n return;\n }\n\n this.deleteChars(Math.min(width, maxLength));\n this.insertString(str);\n};\n\n/**\n * Forward-delete one or more characters at the current cursor position.\n *\n * Text to the right of the deleted characters is shifted left. Only affects\n * characters on the same row as the cursor.\n *\n * @param {integer} count The column width of characters to delete. This is\n * clamped to the column width minus the cursor column.\n * @return {integer} The column width of the characters actually deleted.\n */\nhterm.Screen.prototype.deleteChars = function(count) {\n var node = this.cursorNode_;\n var offset = this.cursorOffset_;\n\n var currentCursorColumn = this.cursorPosition.column;\n count = Math.min(count, this.columnCount_ - currentCursorColumn);\n if (!count)\n return 0;\n\n var rv = count;\n var startLength, endLength;\n\n while (node && count) {\n startLength = hterm.TextAttributes.nodeWidth(node);\n node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset) +\n hterm.TextAttributes.nodeSubstr(node, offset + count);\n endLength = hterm.TextAttributes.nodeWidth(node);\n count -= startLength - endLength;\n if (offset < startLength && endLength && startLength == endLength) {\n // No characters were deleted when there should be. We're probably trying\n // to delete one column width from a wide character node. We remove the\n // wide character node here and replace it with a single space.\n var spaceNode = this.textAttributes.createContainer(' ');\n node.parentNode.insertBefore(spaceNode, node.nextSibling);\n node.textContent = '';\n endLength = 0;\n count -= 1;\n }\n\n var nextNode = node.nextSibling;\n if (endLength == 0 && node != this.cursorNode_) {\n node.parentNode.removeChild(node);\n }\n node = nextNode;\n offset = 0;\n }\n\n // Remove this.cursorNode_ if it is an empty non-text node.\n if (this.cursorNode_.nodeType != 3 && !this.cursorNode_.textContent) {\n var cursorNode = this.cursorNode_;\n if (cursorNode.previousSibling) {\n this.cursorNode_ = cursorNode.previousSibling;\n this.cursorOffset_ = hterm.TextAttributes.nodeWidth(\n cursorNode.previousSibling);\n } else if (cursorNode.nextSibling) {\n this.cursorNode_ = cursorNode.nextSibling;\n this.cursorOffset_ = 0;\n } else {\n var emptyNode = this.cursorRowNode_.ownerDocument.createTextNode('');\n this.cursorRowNode_.appendChild(emptyNode);\n this.cursorNode_ = emptyNode;\n this.cursorOffset_ = 0;\n }\n this.cursorRowNode_.removeChild(cursorNode);\n }\n\n return rv;\n};\n\n/**\n * Finds first X-ROW of a line containing specified X-ROW.\n * Used to support line overflow.\n *\n * @param {Node} row X-ROW to begin search for first row of line.\n * @return {Node} The X-ROW that is at the beginning of the line.\n **/\nhterm.Screen.prototype.getLineStartRow_ = function(row) {\n while (row.previousSibling &&\n row.previousSibling.hasAttribute('line-overflow')) {\n row = row.previousSibling;\n }\n return row;\n};\n\n/**\n * Gets text of a line beginning with row.\n * Supports line overflow.\n *\n * @param {Node} row First X-ROW of line.\n * @return {string} Text content of line.\n **/\nhterm.Screen.prototype.getLineText_ = function(row) {\n var rowText = \"\";\n while (row) {\n rowText += row.textContent;\n if (row.hasAttribute('line-overflow')) {\n row = row.nextSibling;\n } else {\n break;\n }\n }\n return rowText;\n};\n\n/**\n * Returns X-ROW that is ancestor of the node.\n *\n * @param {Node} node Node to get X-ROW ancestor for.\n * @return {Node} X-ROW ancestor of node, or null if not found.\n **/\nhterm.Screen.prototype.getXRowAncestor_ = function(node) {\n while (node) {\n if (node.nodeName === 'X-ROW')\n break;\n node = node.parentNode;\n }\n return node;\n};\n\n/**\n * Returns position within line of character at offset within node.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {Node} node Node to get position of.\n * @param {integer} offset Offset into node.\n *\n * @return {integer} Position within line of character at offset within node.\n **/\nhterm.Screen.prototype.getPositionWithOverflow_ = function(row, node, offset) {\n if (!node)\n return -1;\n var ancestorRow = this.getXRowAncestor_(node);\n if (!ancestorRow)\n return -1;\n var position = 0;\n while (ancestorRow != row) {\n position += hterm.TextAttributes.nodeWidth(row);\n if (row.hasAttribute('line-overflow') && row.nextSibling) {\n row = row.nextSibling;\n } else {\n return -1;\n }\n }\n return position + this.getPositionWithinRow_(row, node, offset);\n};\n\n/**\n * Returns position within row of character at offset within node.\n * Does not support line overflow.\n *\n * @param {Node} row X-ROW to get position within.\n * @param {Node} node Node to get position for.\n * @param {integer} offset Offset within node to get position for.\n * @return {integer} Position within row of character at offset within node.\n **/\nhterm.Screen.prototype.getPositionWithinRow_ = function(row, node, offset) {\n if (node.parentNode != row) {\n // If we traversed to the top node, then there's nothing to find here.\n if (node.parentNode == null)\n return -1;\n\n return this.getPositionWithinRow_(node.parentNode, node, offset) +\n this.getPositionWithinRow_(row, node.parentNode, 0);\n }\n var position = 0;\n for (var i = 0; i < row.childNodes.length; i++) {\n var currentNode = row.childNodes[i];\n if (currentNode == node)\n return position + offset;\n position += hterm.TextAttributes.nodeWidth(currentNode);\n }\n return -1;\n};\n\n/**\n * Returns the node and offset corresponding to position within line.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {integer} position Position within line to retrieve node and offset.\n * @return {Array} Two element array containing node and offset respectively.\n **/\nhterm.Screen.prototype.getNodeAndOffsetWithOverflow_ = function(row, position) {\n while (row && position > hterm.TextAttributes.nodeWidth(row)) {\n if (row.hasAttribute('line-overflow') && row.nextSibling) {\n position -= hterm.TextAttributes.nodeWidth(row);\n row = row.nextSibling;\n } else {\n return -1;\n }\n }\n return this.getNodeAndOffsetWithinRow_(row, position);\n};\n\n/**\n * Returns the node and offset corresponding to position within row.\n * Does not support line overflow.\n *\n * @param {Node} row X-ROW to get position within.\n * @param {integer} position Position within row to retrieve node and offset.\n * @return {Array} Two element array containing node and offset respectively.\n **/\nhterm.Screen.prototype.getNodeAndOffsetWithinRow_ = function(row, position) {\n for (var i = 0; i < row.childNodes.length; i++) {\n var node = row.childNodes[i];\n var nodeTextWidth = hterm.TextAttributes.nodeWidth(node);\n if (position <= nodeTextWidth) {\n if (node.nodeName === 'SPAN') {\n /** Drill down to node contained by SPAN. **/\n return this.getNodeAndOffsetWithinRow_(node, position);\n } else {\n return [node, position];\n }\n }\n position -= nodeTextWidth;\n }\n return null;\n};\n\n/**\n * Returns the node and offset corresponding to position within line.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {integer} start Start position of range within line.\n * @param {integer} end End position of range within line.\n * @param {Range} range Range to modify.\n **/\nhterm.Screen.prototype.setRange_ = function(row, start, end, range) {\n var startNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, start);\n if (startNodeAndOffset == null)\n return;\n var endNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, end);\n if (endNodeAndOffset == null)\n return;\n range.setStart(startNodeAndOffset[0], startNodeAndOffset[1]);\n range.setEnd(endNodeAndOffset[0], endNodeAndOffset[1]);\n};\n\n/**\n * Expands selection to surround URLs.\n *\n * @param {Selection} selection Selection to expand.\n **/\nhterm.Screen.prototype.expandSelection = function(selection) {\n if (!selection)\n return;\n\n var range = selection.getRangeAt(0);\n if (!range || range.toString().match(/\\s/))\n return;\n\n var row = this.getLineStartRow_(this.getXRowAncestor_(range.startContainer));\n if (!row)\n return;\n\n var startPosition = this.getPositionWithOverflow_(row,\n range.startContainer,\n range.startOffset);\n if (startPosition == -1)\n return;\n var endPosition = this.getPositionWithOverflow_(row,\n range.endContainer,\n range.endOffset);\n if (endPosition == -1)\n return;\n\n // Use the user configurable match settings.\n var leftMatch = this.wordBreakMatchLeft;\n var rightMatch = this.wordBreakMatchRight;\n var insideMatch = this.wordBreakMatchMiddle;\n\n //Move start to the left.\n var rowText = this.getLineText_(row);\n var lineUpToRange = lib.wc.substring(rowText, 0, endPosition);\n var leftRegularExpression = new RegExp(leftMatch + insideMatch + \"$\");\n var expandedStart = lineUpToRange.search(leftRegularExpression);\n if (expandedStart == -1 || expandedStart > startPosition)\n return;\n\n //Move end to the right.\n var lineFromRange = lib.wc.substring(rowText, startPosition,\n lib.wc.strWidth(rowText));\n var rightRegularExpression = new RegExp(\"^\" + insideMatch + rightMatch);\n var found = lineFromRange.match(rightRegularExpression);\n if (!found)\n return;\n var expandedEnd = startPosition + lib.wc.strWidth(found[0]);\n if (expandedEnd == -1 || expandedEnd < endPosition)\n return;\n\n this.setRange_(row, expandedStart, expandedEnd, range);\n selection.addRange(range);\n};\n// SOURCE FILE: hterm/js/hterm_scrollport.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'hterm.PubSub', 'hterm.Size');\n\n/**\n * A 'viewport' view of fixed-height rows with support for selection and\n * copy-to-clipboard.\n *\n * 'Viewport' in this case means that only the visible rows are in the DOM.\n * If the rowProvider has 100,000 rows, but the ScrollPort is only 25 rows\n * tall, then only 25 dom nodes are created. The ScrollPort will ask the\n * RowProvider to create new visible rows on demand as they are scrolled in\n * to the visible area.\n *\n * This viewport is designed so that select and copy-to-clipboard still works,\n * even when all or part of the selection is scrolled off screen.\n *\n * Note that the X11 mouse clipboard does not work properly when all or part\n * of the selection is off screen. It would be difficult to fix this without\n * adding significant overhead to pathologically large selection cases.\n *\n * The RowProvider should return rows rooted by the custom tag name 'x-row'.\n * This ensures that we can quickly assign the correct display height\n * to the rows with css.\n *\n * @param {RowProvider} rowProvider An object capable of providing rows as\n * raw text or row nodes.\n */\nhterm.ScrollPort = function(rowProvider) {\n hterm.PubSub.addBehavior(this);\n\n this.rowProvider_ = rowProvider;\n\n // SWAG the character size until we can measure it.\n this.characterSize = new hterm.Size(10, 10);\n\n // DOM node used for character measurement.\n this.ruler_ = null;\n\n this.selection = new hterm.ScrollPort.Selection(this);\n\n // A map of rowIndex => rowNode for each row that is drawn as part of a\n // pending redraw_() call. Null if there is no pending redraw_ call.\n this.currentRowNodeCache_ = null;\n\n // A map of rowIndex => rowNode for each row that was drawn as part of the\n // previous redraw_() call.\n this.previousRowNodeCache_ = {};\n\n // Used during scroll events to detect when the underlying cause is a resize.\n this.lastScreenWidth_ = null;\n this.lastScreenHeight_ = null;\n\n // True if the user should be allowed to select text in the terminal.\n // This is disabled when the host requests mouse drag events so that we don't\n // end up with two notions of selection.\n this.selectionEnabled_ = true;\n\n // The last row count returned by the row provider, re-populated during\n // syncScrollHeight().\n this.lastRowCount_ = 0;\n\n // The scroll wheel pixel delta multiplier to increase/decrease\n // the scroll speed of mouse wheel events. See: https://goo.gl/sXelnq\n this.scrollWheelMultiplier_ = 1;\n\n // The last touch events we saw to support touch based scrolling. Indexed\n // by touch identifier since we can have more than one touch active.\n this.lastTouch_ = {};\n\n /**\n * True if the last scroll caused the scrollport to show the final row.\n */\n this.isScrolledEnd = true;\n\n /**\n * A guess at the current scrollbar width, fixed in resize().\n */\n this.currentScrollbarWidthPx = 16;\n\n /**\n * Whether the ctrl-v key on the screen should paste.\n */\n this.ctrlVPaste = false;\n\n this.div_ = null;\n this.document_ = null;\n\n // Collection of active timeout handles.\n this.timeouts_ = {};\n\n this.observers_ = {};\n\n this.DEBUG_ = false;\n}\n\n/**\n * Proxy for the native selection object which understands how to walk up the\n * DOM to find the containing row node and sort out which comes first.\n *\n * @param {hterm.ScrollPort} scrollPort The parent hterm.ScrollPort instance.\n */\nhterm.ScrollPort.Selection = function(scrollPort) {\n this.scrollPort_ = scrollPort;\n\n /**\n * The row containing the start of the selection.\n *\n * This may be partially or fully selected. It may be the selection anchor\n * or the focus, but its rowIndex is guaranteed to be less-than-or-equal-to\n * that of the endRow.\n *\n * If only one row is selected then startRow == endRow. If there is no\n * selection or the selection is collapsed then startRow == null.\n */\n this.startRow = null;\n\n /**\n * The row containing the end of the selection.\n *\n * This may be partially or fully selected. It may be the selection anchor\n * or the focus, but its rowIndex is guaranteed to be greater-than-or-equal-to\n * that of the startRow.\n *\n * If only one row is selected then startRow == endRow. If there is no\n * selection or the selection is collapsed then startRow == null.\n */\n this.endRow = null;\n\n /**\n * True if startRow != endRow.\n */\n this.isMultiline = null;\n\n /**\n * True if the selection is just a point rather than a range.\n */\n this.isCollapsed = null;\n};\n\n/**\n * Given a list of DOM nodes and a container, return the DOM node that\n * is first according to a depth-first search.\n *\n * Returns null if none of the children are found.\n */\nhterm.ScrollPort.Selection.prototype.findFirstChild = function(\n parent, childAry) {\n var node = parent.firstChild;\n\n while (node) {\n if (childAry.indexOf(node) != -1)\n return node;\n\n if (node.childNodes.length) {\n var rv = this.findFirstChild(node, childAry);\n if (rv)\n return rv;\n }\n\n node = node.nextSibling;\n }\n\n return null;\n};\n\n/**\n * Synchronize this object with the current DOM selection.\n *\n * This is a one-way synchronization, the DOM selection is copied to this\n * object, not the other way around.\n */\nhterm.ScrollPort.Selection.prototype.sync = function() {\n var self = this;\n\n // The dom selection object has no way to tell which nodes come first in\n // the document, so we have to figure that out.\n //\n // This function is used when we detect that the \"anchor\" node is first.\n function anchorFirst() {\n self.startRow = anchorRow;\n self.startNode = selection.anchorNode;\n self.startOffset = selection.anchorOffset;\n self.endRow = focusRow;\n self.endNode = selection.focusNode;\n self.endOffset = selection.focusOffset;\n }\n\n // This function is used when we detect that the \"focus\" node is first.\n function focusFirst() {\n self.startRow = focusRow;\n self.startNode = selection.focusNode;\n self.startOffset = selection.focusOffset;\n self.endRow = anchorRow;\n self.endNode = selection.anchorNode;\n self.endOffset = selection.anchorOffset;\n }\n\n var selection = this.scrollPort_.getDocument().getSelection();\n\n this.startRow = null;\n this.endRow = null;\n this.isMultiline = null;\n this.isCollapsed = !selection || selection.isCollapsed;\n\n if (this.isCollapsed)\n return;\n\n var anchorRow = selection.anchorNode;\n while (anchorRow && !('rowIndex' in anchorRow)) {\n anchorRow = anchorRow.parentNode;\n }\n\n if (!anchorRow) {\n console.error('Selection anchor is not rooted in a row node: ' +\n selection.anchorNode.nodeName);\n return;\n }\n\n var focusRow = selection.focusNode;\n while (focusRow && !('rowIndex' in focusRow)) {\n focusRow = focusRow.parentNode;\n }\n\n if (!focusRow) {\n console.error('Selection focus is not rooted in a row node: ' +\n selection.focusNode.nodeName);\n return;\n }\n\n if (anchorRow.rowIndex < focusRow.rowIndex) {\n anchorFirst();\n\n } else if (anchorRow.rowIndex > focusRow.rowIndex) {\n focusFirst();\n\n } else if (selection.focusNode == selection.anchorNode) {\n if (selection.anchorOffset < selection.focusOffset) {\n anchorFirst();\n } else {\n focusFirst();\n }\n\n } else {\n // The selection starts and ends in the same row, but isn't contained all\n // in a single node.\n var firstNode = this.findFirstChild(\n anchorRow, [selection.anchorNode, selection.focusNode]);\n\n if (!firstNode)\n throw new Error('Unexpected error syncing selection.');\n\n if (firstNode == selection.anchorNode) {\n anchorFirst();\n } else {\n focusFirst();\n }\n }\n\n this.isMultiline = anchorRow.rowIndex != focusRow.rowIndex;\n};\n\n\n/**\n * Turn a div into this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.decorate = function(div) {\n this.div_ = div;\n\n this.iframe_ = div.ownerDocument.createElement('iframe');\n this.iframe_.style.cssText = (\n 'border: 0;' +\n 'height: 100%;' +\n 'position: absolute;' +\n 'width: 100%');\n\n // Set the iframe src to # in FF. Otherwise when the frame's\n // load event fires in FF it clears out the content of the iframe.\n if ('mozInnerScreenX' in window) // detect a FF only property\n this.iframe_.src = '#';\n\n div.appendChild(this.iframe_);\n\n this.iframe_.contentWindow.addEventListener('resize',\n this.onResize_.bind(this));\n\n var doc = this.document_ = this.iframe_.contentDocument;\n doc.body.style.cssText = (\n 'margin: 0px;' +\n 'padding: 0px;' +\n 'height: 100%;' +\n 'width: 100%;' +\n 'overflow: hidden;' +\n 'cursor: var(--hterm-mouse-cursor-style);' +\n '-webkit-user-select: none;' +\n '-moz-user-select: none;');\n\n if (this.DEBUG_) {\n // When we're debugging we add padding to the body so that the offscreen\n // elements are visible.\n this.document_.body.style.paddingTop =\n this.document_.body.style.paddingBottom =\n 'calc(var(--hterm-charsize-height) * 3)';\n }\n\n var style = doc.createElement('style');\n style.textContent = (\n 'x-row {' +\n ' display: block;' +\n ' height: var(--hterm-charsize-height);' +\n ' line-height: var(--hterm-charsize-height);' +\n '}');\n doc.head.appendChild(style);\n\n this.userCssLink_ = doc.createElement('link');\n this.userCssLink_.setAttribute('rel', 'stylesheet');\n\n this.userCssText_ = doc.createElement('style');\n doc.head.appendChild(this.userCssText_);\n\n // TODO(rginda): Sorry, this 'screen_' isn't the same thing as hterm.Screen\n // from screen.js. I need to pick a better name for one of them to avoid\n // the collision.\n // We make this field editable even though we don't actually allow anything\n // to be edited here so that Chrome will do the right thing with virtual\n // keyboards and IMEs. But make sure we turn off all the input helper logic\n // that doesn't make sense here, and might inadvertently mung or save input.\n // Some of these attributes are standard while others are browser specific,\n // but should be safely ignored by other browsers.\n this.screen_ = doc.createElement('x-screen');\n this.screen_.setAttribute('contenteditable', 'true');\n this.screen_.setAttribute('spellcheck', 'false');\n this.screen_.setAttribute('autocomplete', 'off');\n this.screen_.setAttribute('autocorrect', 'off');\n this.screen_.setAttribute('autocaptalize', 'none');\n this.screen_.setAttribute('role', 'textbox');\n this.screen_.setAttribute('tabindex', '-1');\n this.screen_.style.cssText = (\n 'caret-color: transparent;' +\n 'display: block;' +\n 'font-family: monospace;' +\n 'font-size: 15px;' +\n 'font-variant-ligatures: none;' +\n 'height: 100%;' +\n 'overflow-y: scroll; overflow-x: hidden;' +\n 'white-space: pre;' +\n 'width: 100%;' +\n 'outline: none !important');\n\n doc.body.appendChild(this.screen_);\n\n this.screen_.addEventListener('scroll', this.onScroll_.bind(this));\n this.screen_.addEventListener('wheel', this.onScrollWheel_.bind(this));\n this.screen_.addEventListener('touchstart', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchmove', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchend', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchcancel', this.onTouch_.bind(this));\n this.screen_.addEventListener('copy', this.onCopy_.bind(this));\n this.screen_.addEventListener('paste', this.onPaste_.bind(this));\n // Disable drag & drop of text/content. We don't handle it at all (yet?),\n // and the default behavior just confuses hterm.\n this.screen_.addEventListener('drop', function(e) {\n e.preventDefault();\n return false;\n });\n\n doc.body.addEventListener('keydown', this.onBodyKeyDown_.bind(this));\n\n // This is the main container for the fixed rows.\n this.rowNodes_ = doc.createElement('div');\n this.rowNodes_.id = 'hterm:row-nodes';\n this.rowNodes_.style.cssText = (\n 'display: block;' +\n 'position: fixed;' +\n 'overflow: hidden;' +\n '-webkit-user-select: text;' +\n '-moz-user-select: text;');\n this.screen_.appendChild(this.rowNodes_);\n\n // Two nodes to hold offscreen text during the copy event.\n this.topSelectBag_ = doc.createElement('x-select-bag');\n this.topSelectBag_.style.cssText = (\n 'display: block;' +\n 'overflow: hidden;' +\n 'height: var(--hterm-charsize-height);' +\n 'white-space: pre;');\n\n this.bottomSelectBag_ = this.topSelectBag_.cloneNode();\n\n // Nodes above the top fold and below the bottom fold are hidden. They are\n // only used to hold rows that are part of the selection but are currently\n // scrolled off the top or bottom of the visible range.\n this.topFold_ = doc.createElement('x-fold');\n this.topFold_.id = 'hterm:top-fold-for-row-selection';\n this.topFold_.style.cssText = 'display: block;';\n this.rowNodes_.appendChild(this.topFold_);\n\n this.bottomFold_ = this.topFold_.cloneNode();\n this.bottomFold_.id = 'hterm:bottom-fold-for-row-selection';\n this.rowNodes_.appendChild(this.bottomFold_);\n\n // This hidden div accounts for the vertical space that would be consumed by\n // all the rows in the buffer if they were visible. It's what causes the\n // scrollbar to appear on the 'x-screen', and it moves within the screen when\n // the scrollbar is moved.\n //\n // It is set 'visibility: hidden' to keep the browser from trying to include\n // it in the selection when a user 'drag selects' upwards (drag the mouse to\n // select and scroll at the same time). Without this, the selection gets\n // out of whack.\n this.scrollArea_ = doc.createElement('div');\n this.scrollArea_.id = 'hterm:scrollarea';\n this.scrollArea_.style.cssText = 'visibility: hidden';\n this.screen_.appendChild(this.scrollArea_);\n\n // This svg element is used to detect when the browser is zoomed. It must be\n // placed in the outermost document for currentScale to be correct.\n // TODO(rginda): This means that hterm nested in an iframe will not correctly\n // detect browser zoom level. We should come up with a better solution.\n // Note: This must be http:// else Chrome cannot create the element correctly.\n var xmlns = 'http://www.w3.org/2000/svg';\n this.svg_ = this.div_.ownerDocument.createElementNS(xmlns, 'svg');\n this.svg_.id = 'hterm:zoom-detector';\n this.svg_.setAttribute('xmlns', xmlns);\n this.svg_.setAttribute('version', '1.1');\n this.svg_.style.cssText = (\n 'position: absolute;' +\n 'top: 0;' +\n 'left: 0;' +\n 'visibility: hidden');\n\n\n // We send focus to this element just before a paste happens, so we can\n // capture the pasted text and forward it on to someone who cares.\n this.pasteTarget_ = doc.createElement('textarea');\n this.pasteTarget_.id = 'hterm:ctrl-v-paste-target';\n this.pasteTarget_.setAttribute('tabindex', '-1');\n this.pasteTarget_.style.cssText = (\n 'position: absolute;' +\n 'height: 1px;' +\n 'width: 1px;' +\n 'left: 0px; ' +\n 'bottom: 0px;' +\n 'opacity: 0');\n this.pasteTarget_.contentEditable = true;\n\n this.screen_.appendChild(this.pasteTarget_);\n this.pasteTarget_.addEventListener(\n 'textInput', this.handlePasteTargetTextInput_.bind(this));\n\n this.resize();\n};\n\n/**\n * Select the font-family and font-smoothing for this scrollport.\n *\n * @param {string} fontFamily Value of the CSS 'font-family' to use for this\n * scrollport. Should be a monospace font.\n * @param {string} opt_smoothing Optional value for '-webkit-font-smoothing'.\n * Defaults to an empty string if not specified.\n */\nhterm.ScrollPort.prototype.setFontFamily = function(fontFamily, opt_smoothing) {\n this.screen_.style.fontFamily = fontFamily;\n if (opt_smoothing) {\n this.screen_.style.webkitFontSmoothing = opt_smoothing;\n } else {\n this.screen_.style.webkitFontSmoothing = '';\n }\n\n this.syncCharacterSize();\n};\n\nhterm.ScrollPort.prototype.getFontFamily = function() {\n return this.screen_.style.fontFamily;\n};\n\n/**\n * Set a custom stylesheet to include in the scrollport.\n *\n * Defaults to null, meaning no custom css is loaded. Set it back to null or\n * the empty string to remove a previously applied custom css.\n */\nhterm.ScrollPort.prototype.setUserCssUrl = function(url) {\n if (url) {\n this.userCssLink_.setAttribute('href', url);\n\n if (!this.userCssLink_.parentNode)\n this.document_.head.appendChild(this.userCssLink_);\n } else if (this.userCssLink_.parentNode) {\n this.document_.head.removeChild(this.userCssLink_);\n }\n};\n\nhterm.ScrollPort.prototype.setUserCssText = function(text) {\n this.userCssText_.textContent = text;\n};\n\nhterm.ScrollPort.prototype.focus = function() {\n this.iframe_.focus();\n this.screen_.focus();\n};\n\nhterm.ScrollPort.prototype.getForegroundColor = function() {\n return this.screen_.style.color;\n};\n\nhterm.ScrollPort.prototype.setForegroundColor = function(color) {\n this.screen_.style.color = color;\n};\n\nhterm.ScrollPort.prototype.getBackgroundColor = function() {\n return this.screen_.style.backgroundColor;\n};\n\nhterm.ScrollPort.prototype.setBackgroundColor = function(color) {\n this.screen_.style.backgroundColor = color;\n};\n\nhterm.ScrollPort.prototype.setBackgroundImage = function(image) {\n this.screen_.style.backgroundImage = image;\n};\n\nhterm.ScrollPort.prototype.setBackgroundSize = function(size) {\n this.screen_.style.backgroundSize = size;\n};\n\nhterm.ScrollPort.prototype.setBackgroundPosition = function(position) {\n this.screen_.style.backgroundPosition = position;\n};\n\nhterm.ScrollPort.prototype.setCtrlVPaste = function(ctrlVPaste) {\n this.ctrlVPaste = ctrlVPaste;\n};\n\n/**\n * Get the usable size of the scrollport screen.\n *\n * The width will not include the scrollbar width.\n */\nhterm.ScrollPort.prototype.getScreenSize = function() {\n var size = hterm.getClientSize(this.screen_);\n return {\n height: size.height,\n width: size.width - this.currentScrollbarWidthPx\n };\n};\n\n/**\n * Get the usable width of the scrollport screen.\n *\n * This the widget width minus scrollbar width.\n */\nhterm.ScrollPort.prototype.getScreenWidth = function() {\n return this.getScreenSize().width ;\n};\n\n/**\n * Get the usable height of the scrollport screen.\n */\nhterm.ScrollPort.prototype.getScreenHeight = function() {\n return this.getScreenSize().height;\n};\n\n/**\n * Return the document that holds the visible rows of this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.getDocument = function() {\n return this.document_;\n};\n\n/**\n * Returns the x-screen element that holds the rows of this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.getScreenNode = function() {\n return this.screen_;\n};\n\n/**\n * Clear out any cached rowNodes.\n */\nhterm.ScrollPort.prototype.resetCache = function() {\n this.currentRowNodeCache_ = null;\n this.previousRowNodeCache_ = {};\n};\n\n/**\n * Change the current rowProvider.\n *\n * This will clear the row cache and cause a redraw.\n *\n * @param {Object} rowProvider An object capable of providing the rows\n * in this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.setRowProvider = function(rowProvider) {\n this.resetCache();\n this.rowProvider_ = rowProvider;\n this.scheduleRedraw();\n};\n\n/**\n * Inform the ScrollPort that the root DOM nodes for some or all of the visible\n * rows are no longer valid.\n *\n * Specifically, this should be called if this.rowProvider_.getRowNode() now\n * returns an entirely different node than it did before. It does not\n * need to be called if the content of a row node is the only thing that\n * changed.\n *\n * This skips some of the overhead of a full redraw, but should not be used\n * in cases where the scrollport has been scrolled, or when the row count has\n * changed.\n */\nhterm.ScrollPort.prototype.invalidate = function() {\n var node = this.topFold_.nextSibling;\n while (node != this.bottomFold_) {\n var nextSibling = node.nextSibling;\n node.parentElement.removeChild(node);\n node = nextSibling;\n }\n\n this.previousRowNodeCache_ = null;\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n this.drawVisibleRows_(topRowIndex, bottomRowIndex);\n};\n\nhterm.ScrollPort.prototype.scheduleInvalidate = function() {\n if (this.timeouts_.invalidate)\n return;\n\n var self = this;\n this.timeouts_.invalidate = setTimeout(function () {\n delete self.timeouts_.invalidate;\n self.invalidate();\n }, 0);\n};\n\n/**\n * Set the font size of the ScrollPort.\n */\nhterm.ScrollPort.prototype.setFontSize = function(px) {\n this.screen_.style.fontSize = px + 'px';\n this.syncCharacterSize();\n};\n\n/**\n * Return the current font size of the ScrollPort.\n */\nhterm.ScrollPort.prototype.getFontSize = function() {\n return parseInt(this.screen_.style.fontSize);\n};\n\n/**\n * Measure the size of a single character in pixels.\n *\n * @param {string} opt_weight The font weight to measure, or 'normal' if\n * omitted.\n * @return {hterm.Size} A new hterm.Size object.\n */\nhterm.ScrollPort.prototype.measureCharacterSize = function(opt_weight) {\n // Number of lines used to average the height of a single character.\n var numberOfLines = 100;\n // Number of chars per line used to average the width of a single character.\n var lineLength = 100;\n\n if (!this.ruler_) {\n this.ruler_ = this.document_.createElement('div');\n this.ruler_.id = 'hterm:ruler-character-size';\n this.ruler_.style.cssText = (\n 'position: absolute;' +\n 'top: 0;' +\n 'left: 0;' +\n 'visibility: hidden;' +\n 'height: auto !important;' +\n 'width: auto !important;');\n\n // We need to put the text in a span to make the size calculation\n // work properly in Firefox\n this.rulerSpan_ = this.document_.createElement('span');\n this.rulerSpan_.id = 'hterm:ruler-span-workaround';\n this.rulerSpan_.innerHTML =\n ('X'.repeat(lineLength) + '\\r').repeat(numberOfLines);\n this.ruler_.appendChild(this.rulerSpan_);\n\n this.rulerBaseline_ = this.document_.createElement('span');\n this.rulerSpan_.id = 'hterm:ruler-baseline';\n // We want to collapse it on the baseline\n this.rulerBaseline_.style.fontSize = '0px';\n this.rulerBaseline_.textContent = 'X';\n }\n\n this.rulerSpan_.style.fontWeight = opt_weight || '';\n\n this.rowNodes_.appendChild(this.ruler_);\n var rulerSize = hterm.getClientSize(this.rulerSpan_);\n\n var size = new hterm.Size(rulerSize.width / lineLength,\n rulerSize.height / numberOfLines);\n\n this.ruler_.appendChild(this.rulerBaseline_);\n size.baseline = this.rulerBaseline_.offsetTop;\n this.ruler_.removeChild(this.rulerBaseline_);\n\n this.rowNodes_.removeChild(this.ruler_);\n\n this.div_.ownerDocument.body.appendChild(this.svg_);\n size.zoomFactor = this.svg_.currentScale;\n this.div_.ownerDocument.body.removeChild(this.svg_);\n\n return size;\n};\n\n/**\n * Synchronize the character size.\n *\n * This will re-measure the current character size and adjust the height\n * of an x-row to match.\n */\nhterm.ScrollPort.prototype.syncCharacterSize = function() {\n this.characterSize = this.measureCharacterSize();\n\n this.resize();\n};\n\n/**\n * Reset dimensions and visible row count to account for a change in the\n * dimensions of the 'x-screen'.\n */\nhterm.ScrollPort.prototype.resize = function() {\n this.currentScrollbarWidthPx = hterm.getClientWidth(this.screen_) -\n this.screen_.clientWidth;\n\n this.syncScrollHeight();\n this.syncRowNodesDimensions_();\n\n var self = this;\n this.publish(\n 'resize', { scrollPort: this },\n function() {\n self.scrollRowToBottom(self.rowProvider_.getRowCount());\n self.scheduleRedraw();\n });\n};\n\n/**\n * Set the position and size of the row nodes element.\n */\nhterm.ScrollPort.prototype.syncRowNodesDimensions_ = function() {\n var screenSize = this.getScreenSize();\n\n this.lastScreenWidth_ = screenSize.width;\n this.lastScreenHeight_ = screenSize.height;\n\n // We don't want to show a partial row because it would be distracting\n // in a terminal, so we floor any fractional row count.\n this.visibleRowCount = lib.f.smartFloorDivide(\n screenSize.height, this.characterSize.height);\n\n // Then compute the height of our integral number of rows.\n var visibleRowsHeight = this.visibleRowCount * this.characterSize.height;\n\n // Then the difference between the screen height and total row height needs to\n // be made up for as top margin. We need to record this value so it\n // can be used later to determine the topRowIndex.\n this.visibleRowTopMargin = 0;\n this.visibleRowBottomMargin = screenSize.height - visibleRowsHeight;\n\n this.topFold_.style.marginBottom = this.visibleRowTopMargin + 'px';\n\n\n var topFoldOffset = 0;\n var node = this.topFold_.previousSibling;\n while (node) {\n topFoldOffset += hterm.getClientHeight(node);\n node = node.previousSibling;\n }\n\n // Set the dimensions of the visible rows container.\n this.rowNodes_.style.width = screenSize.width + 'px';\n this.rowNodes_.style.height = visibleRowsHeight + topFoldOffset + 'px';\n this.rowNodes_.style.left = this.screen_.offsetLeft + 'px';\n this.rowNodes_.style.top = this.screen_.offsetTop - topFoldOffset + 'px';\n};\n\nhterm.ScrollPort.prototype.syncScrollHeight = function() {\n // Resize the scroll area to appear as though it contains every row.\n this.lastRowCount_ = this.rowProvider_.getRowCount();\n this.scrollArea_.style.height = (this.characterSize.height *\n this.lastRowCount_ +\n this.visibleRowTopMargin +\n this.visibleRowBottomMargin +\n 'px');\n};\n\n/**\n * Schedule a redraw to happen asynchronously.\n *\n * If this method is called multiple times before the redraw has a chance to\n * run only one redraw occurs.\n */\nhterm.ScrollPort.prototype.scheduleRedraw = function() {\n if (this.timeouts_.redraw)\n return;\n\n var self = this;\n this.timeouts_.redraw = setTimeout(function () {\n delete self.timeouts_.redraw;\n self.redraw_();\n }, 0);\n};\n\n/**\n * Redraw the current hterm.ScrollPort based on the current scrollbar position.\n *\n * When redrawing, we are careful to make sure that the rows that start or end\n * the current selection are not touched in any way. Doing so would disturb\n * the selection, and cleaning up after that would cause flashes at best and\n * incorrect selection at worst. Instead, we modify the DOM around these nodes.\n * We even stash the selection start/end outside of the visible area if\n * they are not supposed to be visible in the hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.redraw_ = function() {\n this.resetSelectBags_();\n this.selection.sync();\n\n this.syncScrollHeight();\n\n this.currentRowNodeCache_ = {};\n\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n this.drawTopFold_(topRowIndex);\n this.drawBottomFold_(bottomRowIndex);\n this.drawVisibleRows_(topRowIndex, bottomRowIndex);\n\n this.syncRowNodesDimensions_();\n\n this.previousRowNodeCache_ = this.currentRowNodeCache_;\n this.currentRowNodeCache_ = null;\n\n this.isScrolledEnd = (\n this.getTopRowIndex() + this.visibleRowCount >= this.lastRowCount_);\n};\n\n/**\n * Ensure that the nodes above the top fold are as they should be.\n *\n * If the selection start and/or end nodes are above the visible range\n * of this hterm.ScrollPort then the dom will be adjusted so that they appear\n * before the top fold (the first x-fold element, aka this.topFold).\n *\n * If not, the top fold will be the first element.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawTopFold_ = function(topRowIndex) {\n if (!this.selection.startRow ||\n this.selection.startRow.rowIndex >= topRowIndex) {\n // Selection is entirely below the top fold, just make sure the fold is\n // the first child.\n if (this.rowNodes_.firstChild != this.topFold_)\n this.rowNodes_.insertBefore(this.topFold_, this.rowNodes_.firstChild);\n\n return;\n }\n\n if (!this.selection.isMultiline ||\n this.selection.endRow.rowIndex >= topRowIndex) {\n // Only the startRow is above the fold.\n if (this.selection.startRow.nextSibling != this.topFold_)\n this.rowNodes_.insertBefore(this.topFold_,\n this.selection.startRow.nextSibling);\n } else {\n // Both rows are above the fold.\n if (this.selection.endRow.nextSibling != this.topFold_) {\n this.rowNodes_.insertBefore(this.topFold_,\n this.selection.endRow.nextSibling);\n }\n\n // Trim any intermediate lines.\n while (this.selection.startRow.nextSibling !=\n this.selection.endRow) {\n this.rowNodes_.removeChild(this.selection.startRow.nextSibling);\n }\n }\n\n while(this.rowNodes_.firstChild != this.selection.startRow) {\n this.rowNodes_.removeChild(this.rowNodes_.firstChild);\n }\n};\n\n/**\n * Ensure that the nodes below the bottom fold are as they should be.\n *\n * If the selection start and/or end nodes are below the visible range\n * of this hterm.ScrollPort then the dom will be adjusted so that they appear\n * after the bottom fold (the second x-fold element, aka this.bottomFold).\n *\n * If not, the bottom fold will be the last element.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawBottomFold_ = function(bottomRowIndex) {\n if (!this.selection.endRow ||\n this.selection.endRow.rowIndex <= bottomRowIndex) {\n // Selection is entirely above the bottom fold, just make sure the fold is\n // the last child.\n if (this.rowNodes_.lastChild != this.bottomFold_)\n this.rowNodes_.appendChild(this.bottomFold_);\n\n return;\n }\n\n if (!this.selection.isMultiline ||\n this.selection.startRow.rowIndex <= bottomRowIndex) {\n // Only the endRow is below the fold.\n if (this.bottomFold_.nextSibling != this.selection.endRow)\n this.rowNodes_.insertBefore(this.bottomFold_,\n this.selection.endRow);\n } else {\n // Both rows are below the fold.\n if (this.bottomFold_.nextSibling != this.selection.startRow) {\n this.rowNodes_.insertBefore(this.bottomFold_,\n this.selection.startRow);\n }\n\n // Trim any intermediate lines.\n while (this.selection.startRow.nextSibling !=\n this.selection.endRow) {\n this.rowNodes_.removeChild(this.selection.startRow.nextSibling);\n }\n }\n\n while(this.rowNodes_.lastChild != this.selection.endRow) {\n this.rowNodes_.removeChild(this.rowNodes_.lastChild);\n }\n};\n\n/**\n * Ensure that the rows between the top and bottom folds are as they should be.\n *\n * This method assumes that drawTopFold_() and drawBottomFold_() have already\n * run, and that they have left any visible selection row (selection start\n * or selection end) between the folds.\n *\n * It recycles DOM nodes from the previous redraw where possible, but will ask\n * the rowSource to make new nodes if necessary.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawVisibleRows_ = function(\n topRowIndex, bottomRowIndex) {\n var self = this;\n\n // Keep removing nodes, starting with currentNode, until we encounter\n // targetNode. Throws on failure.\n function removeUntilNode(currentNode, targetNode) {\n while (currentNode != targetNode) {\n if (!currentNode)\n throw 'Did not encounter target node';\n\n if (currentNode == self.bottomFold_)\n throw 'Encountered bottom fold before target node';\n\n var deadNode = currentNode;\n currentNode = currentNode.nextSibling;\n deadNode.parentNode.removeChild(deadNode);\n }\n }\n\n // Shorthand for things we're going to use a lot.\n var selectionStartRow = this.selection.startRow;\n var selectionEndRow = this.selection.endRow;\n var bottomFold = this.bottomFold_;\n\n // The node we're examining during the current iteration.\n var node = this.topFold_.nextSibling;\n\n var targetDrawCount = Math.min(this.visibleRowCount,\n this.rowProvider_.getRowCount());\n\n for (var drawCount = 0; drawCount < targetDrawCount; drawCount++) {\n var rowIndex = topRowIndex + drawCount;\n\n if (node == bottomFold) {\n // We've hit the bottom fold, we need to insert a new row.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n continue;\n }\n\n if (node.rowIndex == rowIndex) {\n // This node is in the right place, move along.\n node = node.nextSibling;\n continue;\n }\n\n if (selectionStartRow && selectionStartRow.rowIndex == rowIndex) {\n // The selection start row is supposed to be here, remove nodes until\n // we find it.\n removeUntilNode(node, selectionStartRow);\n node = selectionStartRow.nextSibling;\n continue;\n }\n\n if (selectionEndRow && selectionEndRow.rowIndex == rowIndex) {\n // The selection end row is supposed to be here, remove nodes until\n // we find it.\n removeUntilNode(node, selectionEndRow);\n node = selectionEndRow.nextSibling;\n continue;\n }\n\n if (node == selectionStartRow || node == selectionEndRow) {\n // We encountered the start/end of the selection, but we don't want it\n // yet. Insert a new row instead.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n continue;\n }\n\n // There is nothing special about this node, but it's in our way. Replace\n // it with the node that should be here.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n if (node == newNode) {\n node = node.nextSibling;\n continue;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n if (!newNode.nextSibling)\n debugger;\n this.rowNodes_.removeChild(node);\n node = newNode.nextSibling;\n }\n\n if (node != this.bottomFold_)\n removeUntilNode(node, bottomFold);\n};\n\n/**\n * Empty out both select bags and remove them from the document.\n *\n * These nodes hold the text between the start and end of the selection\n * when that text is otherwise off screen. They are filled out in the\n * onCopy_ event.\n */\nhterm.ScrollPort.prototype.resetSelectBags_ = function() {\n if (this.topSelectBag_.parentNode) {\n this.topSelectBag_.textContent = '';\n this.topSelectBag_.parentNode.removeChild(this.topSelectBag_);\n }\n\n if (this.bottomSelectBag_.parentNode) {\n this.bottomSelectBag_.textContent = '';\n this.bottomSelectBag_.parentNode.removeChild(this.bottomSelectBag_);\n }\n};\n\n/**\n * Place a row node in the cache of visible nodes.\n *\n * This method may only be used during a redraw_.\n */\nhterm.ScrollPort.prototype.cacheRowNode_ = function(rowNode) {\n this.currentRowNodeCache_[rowNode.rowIndex] = rowNode;\n};\n\n/**\n * Fetch the row node for the given index.\n *\n * This will return a node from the cache if possible, or will request one\n * from the RowProvider if not.\n *\n * If a redraw_ is in progress the row will be added to the current cache.\n */\nhterm.ScrollPort.prototype.fetchRowNode_ = function(rowIndex) {\n var node;\n\n if (this.previousRowNodeCache_ && rowIndex in this.previousRowNodeCache_) {\n node = this.previousRowNodeCache_[rowIndex];\n } else {\n node = this.rowProvider_.getRowNode(rowIndex);\n }\n\n if (this.currentRowNodeCache_)\n this.cacheRowNode_(node);\n\n return node;\n};\n\n/**\n * Select all rows in the viewport.\n */\nhterm.ScrollPort.prototype.selectAll = function() {\n var firstRow;\n\n if (this.topFold_.nextSibling.rowIndex != 0) {\n while (this.topFold_.previousSibling) {\n this.rowNodes_.removeChild(this.topFold_.previousSibling);\n }\n\n firstRow = this.fetchRowNode_(0);\n this.rowNodes_.insertBefore(firstRow, this.topFold_);\n this.syncRowNodesDimensions_();\n } else {\n firstRow = this.topFold_.nextSibling;\n }\n\n var lastRowIndex = this.rowProvider_.getRowCount() - 1;\n var lastRow;\n\n if (this.bottomFold_.previousSibling.rowIndex != lastRowIndex) {\n while (this.bottomFold_.nextSibling) {\n this.rowNodes_.removeChild(this.bottomFold_.nextSibling);\n }\n\n lastRow = this.fetchRowNode_(lastRowIndex);\n this.rowNodes_.appendChild(lastRow);\n } else {\n lastRow = this.bottomFold_.previousSibling.rowIndex;\n }\n\n var selection = this.document_.getSelection();\n selection.collapse(firstRow, 0);\n selection.extend(lastRow, lastRow.childNodes.length);\n\n this.selection.sync();\n};\n\n/**\n * Return the maximum scroll position in pixels.\n */\nhterm.ScrollPort.prototype.getScrollMax_ = function(e) {\n return (hterm.getClientHeight(this.scrollArea_) +\n this.visibleRowTopMargin + this.visibleRowBottomMargin -\n hterm.getClientHeight(this.screen_));\n};\n\n/**\n * Scroll the given rowIndex to the top of the hterm.ScrollPort.\n *\n * @param {integer} rowIndex Index of the target row.\n */\nhterm.ScrollPort.prototype.scrollRowToTop = function(rowIndex) {\n this.syncScrollHeight();\n\n this.isScrolledEnd = (\n rowIndex + this.visibleRowCount >= this.lastRowCount_);\n\n var scrollTop = rowIndex * this.characterSize.height +\n this.visibleRowTopMargin;\n\n var scrollMax = this.getScrollMax_();\n if (scrollTop > scrollMax)\n scrollTop = scrollMax;\n\n if (this.screen_.scrollTop == scrollTop)\n return;\n\n this.screen_.scrollTop = scrollTop;\n this.scheduleRedraw();\n};\n\n/**\n * Scroll the given rowIndex to the bottom of the hterm.ScrollPort.\n *\n * @param {integer} rowIndex Index of the target row.\n */\nhterm.ScrollPort.prototype.scrollRowToBottom = function(rowIndex) {\n this.syncScrollHeight();\n\n this.isScrolledEnd = (\n rowIndex + this.visibleRowCount >= this.lastRowCount_);\n\n var scrollTop = rowIndex * this.characterSize.height +\n this.visibleRowTopMargin + this.visibleRowBottomMargin;\n scrollTop -= this.visibleRowCount * this.characterSize.height;\n\n if (scrollTop < 0)\n scrollTop = 0;\n\n if (this.screen_.scrollTop == scrollTop)\n return;\n\n this.screen_.scrollTop = scrollTop;\n};\n\n/**\n * Return the row index of the first visible row.\n *\n * This is based on the scroll position. If a redraw_ is in progress this\n * returns the row that *should* be at the top.\n */\nhterm.ScrollPort.prototype.getTopRowIndex = function() {\n return Math.round(this.screen_.scrollTop / this.characterSize.height);\n};\n\n/**\n * Return the row index of the last visible row.\n *\n * This is based on the scroll position. If a redraw_ is in progress this\n * returns the row that *should* be at the bottom.\n */\nhterm.ScrollPort.prototype.getBottomRowIndex = function(topRowIndex) {\n return topRowIndex + this.visibleRowCount - 1;\n};\n\n/**\n * Handler for scroll events.\n *\n * The onScroll event fires when scrollArea's scrollTop property changes. This\n * may be due to the user manually move the scrollbar, or a programmatic change.\n */\nhterm.ScrollPort.prototype.onScroll_ = function(e) {\n var screenSize = this.getScreenSize();\n if (screenSize.width != this.lastScreenWidth_ ||\n screenSize.height != this.lastScreenHeight_) {\n // This event may also fire during a resize (but before the resize event!).\n // This happens when the browser moves the scrollbar as part of the resize.\n // In these cases, we want to ignore the scroll event and let onResize\n // handle things. If we don't, then we end up scrolling to the wrong\n // position after a resize.\n this.resize();\n return;\n }\n\n this.redraw_();\n this.publish('scroll', { scrollPort: this });\n};\n\n/**\n * Clients can override this if they want to hear scrollwheel events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onScrollWheel = function(e) {};\n\n/**\n * Handler for scroll-wheel events.\n *\n * The onScrollWheel event fires when the user moves their scrollwheel over this\n * hterm.ScrollPort. Because the frontmost element in the hterm.ScrollPort is\n * a fixed position DIV, the scroll wheel does nothing by default. Instead, we\n * have to handle it manually.\n */\nhterm.ScrollPort.prototype.onScrollWheel_ = function(e) {\n this.onScrollWheel(e);\n\n if (e.defaultPrevented)\n return;\n\n // Figure out how far this event wants us to scroll.\n var delta = this.scrollWheelDelta(e);\n\n var top = this.screen_.scrollTop - delta;\n if (top < 0)\n top = 0;\n\n var scrollMax = this.getScrollMax_();\n if (top > scrollMax)\n top = scrollMax;\n\n if (top != this.screen_.scrollTop) {\n // Moving scrollTop causes a scroll event, which triggers the redraw.\n this.screen_.scrollTop = top;\n\n // Only preventDefault when we've actually scrolled. If there's nothing\n // to scroll we want to pass the event through so Chrome can detect the\n // overscroll.\n e.preventDefault();\n }\n};\n\n/**\n * Calculate how far a wheel event should scroll.\n *\n * @param {WheelEvent} e The mouse wheel event to process.\n * @return {number} How far (in pixels) to scroll.\n */\nhterm.ScrollPort.prototype.scrollWheelDelta = function(e) {\n var delta;\n\n switch (e.deltaMode) {\n case WheelEvent.DOM_DELTA_PIXEL:\n delta = e.deltaY * this.scrollWheelMultiplier_;\n break;\n case WheelEvent.DOM_DELTA_LINE:\n delta = e.deltaY * this.characterSize.height;\n break;\n case WheelEvent.DOM_DELTA_PAGE:\n delta = e.deltaY * this.characterSize.height * this.screen_.getHeight();\n break;\n }\n\n // The sign is inverted from what we would expect.\n return delta * -1;\n};\n\n\n/**\n * Clients can override this if they want to hear touch events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onTouch = function(e) {};\n\n/**\n * Handler for touch events.\n */\nhterm.ScrollPort.prototype.onTouch_ = function(e) {\n this.onTouch(e);\n\n if (e.defaultPrevented)\n return;\n\n // Extract the fields from the Touch event that we need. If we saved the\n // event directly, it has references to other objects (like x-row) that\n // might stick around for a long time. This way we only have small objects\n // in our lastTouch_ state.\n var scrubTouch = function(t) {\n return {\n id: t.identifier,\n y: t.clientY,\n x: t.clientX,\n };\n };\n\n var i, touch;\n switch (e.type) {\n case 'touchstart':\n // Save the current set of touches.\n for (i = 0; i < e.changedTouches.length; ++i) {\n touch = scrubTouch(e.changedTouches[i]);\n this.lastTouch_[touch.id] = touch;\n }\n break;\n\n case 'touchcancel':\n case 'touchend':\n // Throw away existing touches that we're finished with.\n for (i = 0; i < e.changedTouches.length; ++i)\n delete this.lastTouch_[e.changedTouches[i].identifier];\n break;\n\n case 'touchmove':\n // Walk all of the touches in this one event and merge all of their\n // changes into one delta. This lets multiple fingers scroll faster.\n var delta = 0;\n for (i = 0; i < e.changedTouches.length; ++i) {\n touch = scrubTouch(e.changedTouches[i]);\n delta += (this.lastTouch_[touch.id].y - touch.y);\n this.lastTouch_[touch.id] = touch;\n }\n\n // Invert to match the touchscreen scrolling direction of browser windows.\n delta *= -1;\n\n var top = this.screen_.scrollTop - delta;\n if (top < 0)\n top = 0;\n\n var scrollMax = this.getScrollMax_();\n if (top > scrollMax)\n top = scrollMax;\n\n if (top != this.screen_.scrollTop) {\n // Moving scrollTop causes a scroll event, which triggers the redraw.\n this.screen_.scrollTop = top;\n }\n break;\n }\n\n // To disable gestures or anything else interfering with our scrolling.\n e.preventDefault();\n};\n\n/**\n * Handler for resize events.\n *\n * The browser will resize us such that the top row stays at the top, but we\n * prefer to the bottom row to stay at the bottom.\n */\nhterm.ScrollPort.prototype.onResize_ = function(e) {\n // Re-measure, since onResize also happens for browser zoom changes.\n this.syncCharacterSize();\n this.resize();\n};\n\n/**\n * Clients can override this if they want to hear copy events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onCopy = function(e) { };\n\n/**\n * Handler for copy-to-clipboard events.\n *\n * If some or all of the selected rows are off screen we may need to fill in\n * the rows between selection start and selection end. This handler determines\n * if we're missing some of the selected text, and if so populates one or both\n * of the \"select bags\" with the missing text.\n */\nhterm.ScrollPort.prototype.onCopy_ = function(e) {\n this.onCopy(e);\n\n if (e.defaultPrevented)\n return;\n\n this.resetSelectBags_();\n this.selection.sync();\n\n if (!this.selection.startRow ||\n this.selection.endRow.rowIndex - this.selection.startRow.rowIndex < 2) {\n return;\n }\n\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n if (this.selection.startRow.rowIndex < topRowIndex) {\n // Start of selection is above the top fold.\n var endBackfillIndex;\n\n if (this.selection.endRow.rowIndex < topRowIndex) {\n // Entire selection is above the top fold.\n endBackfillIndex = this.selection.endRow.rowIndex;\n } else {\n // Selection extends below the top fold.\n endBackfillIndex = this.topFold_.nextSibling.rowIndex;\n }\n\n this.topSelectBag_.textContent = this.rowProvider_.getRowsText(\n this.selection.startRow.rowIndex + 1, endBackfillIndex);\n this.rowNodes_.insertBefore(this.topSelectBag_,\n this.selection.startRow.nextSibling);\n this.syncRowNodesDimensions_();\n }\n\n if (this.selection.endRow.rowIndex > bottomRowIndex) {\n // Selection ends below the bottom fold.\n var startBackfillIndex;\n\n if (this.selection.startRow.rowIndex > bottomRowIndex) {\n // Entire selection is below the bottom fold.\n startBackfillIndex = this.selection.startRow.rowIndex + 1;\n } else {\n // Selection starts above the bottom fold.\n startBackfillIndex = this.bottomFold_.previousSibling.rowIndex + 1;\n }\n\n this.bottomSelectBag_.textContent = this.rowProvider_.getRowsText(\n startBackfillIndex, this.selection.endRow.rowIndex);\n this.rowNodes_.insertBefore(this.bottomSelectBag_, this.selection.endRow);\n }\n};\n\n/**\n * Focuses on the paste target on a ctrl-v keydown event, as in\n * FF a content editable element must be focused before the paste event.\n */\nhterm.ScrollPort.prototype.onBodyKeyDown_ = function(e) {\n if (!this.ctrlVPaste)\n return;\n\n var key = String.fromCharCode(e.which);\n var lowerKey = key.toLowerCase();\n if ((e.ctrlKey || e.metaKey) && lowerKey == \"v\")\n this.pasteTarget_.focus();\n};\n\n/**\n * Handle a paste event on the the ScrollPort's screen element.\n */\nhterm.ScrollPort.prototype.onPaste_ = function(e) {\n this.pasteTarget_.focus();\n\n var self = this;\n setTimeout(function() {\n self.publish('paste', { text: self.pasteTarget_.value });\n self.pasteTarget_.value = '';\n self.screen_.focus();\n }, 0);\n};\n\n/**\n * Handles a textInput event on the paste target. Stops this from\n * propagating as we want this to be handled in the onPaste_ method.\n */\nhterm.ScrollPort.prototype.handlePasteTargetTextInput_ = function(e) {\n e.stopPropagation();\n};\n\n/**\n * Set the vertical scrollbar mode of the ScrollPort.\n */\nhterm.ScrollPort.prototype.setScrollbarVisible = function(state) {\n this.screen_.style.overflowY = state ? 'scroll' : 'hidden';\n};\n\n/**\n * Set scroll wheel multiplier. This alters how much the screen scrolls on\n * mouse wheel events.\n */\nhterm.ScrollPort.prototype.setScrollWheelMoveMultipler = function(multiplier) {\n this.scrollWheelMultiplier_ = multiplier;\n};\n// SOURCE FILE: hterm/js/hterm_terminal.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors', 'lib.PreferenceManager', 'lib.resource', 'lib.wc',\n 'lib.f', 'hterm.Keyboard', 'hterm.Options', 'hterm.PreferenceManager',\n 'hterm.Screen', 'hterm.ScrollPort', 'hterm.Size',\n 'hterm.TextAttributes', 'hterm.VT');\n\n/**\n * Constructor for the Terminal class.\n *\n * A Terminal pulls together the hterm.ScrollPort, hterm.Screen and hterm.VT100\n * classes to provide the complete terminal functionality.\n *\n * There are a number of lower-level Terminal methods that can be called\n * directly to manipulate the cursor, text, scroll region, and other terminal\n * attributes. However, the primary method is interpret(), which parses VT\n * escape sequences and invokes the appropriate Terminal methods.\n *\n * This class was heavily influenced by Cory Maccarrone's Framebuffer class.\n *\n * TODO(rginda): Eventually we're going to need to support characters which are\n * displayed twice as wide as standard latin characters. This is to support\n * CJK (and possibly other character sets).\n *\n * @param {string} opt_profileId Optional preference profile name. If not\n * provided, defaults to 'default'.\n */\nhterm.Terminal = function(opt_profileId) {\n this.profileId_ = null;\n\n // Two screen instances.\n this.primaryScreen_ = new hterm.Screen();\n this.alternateScreen_ = new hterm.Screen();\n\n // The \"current\" screen.\n this.screen_ = this.primaryScreen_;\n\n // The local notion of the screen size. ScreenBuffers also have a size which\n // indicates their present size. During size changes, the two may disagree.\n // Also, the inactive screen's size is not altered until it is made the active\n // screen.\n this.screenSize = new hterm.Size(0, 0);\n\n // The scroll port we'll be using to display the visible rows.\n this.scrollPort_ = new hterm.ScrollPort(this);\n this.scrollPort_.subscribe('resize', this.onResize_.bind(this));\n this.scrollPort_.subscribe('scroll', this.onScroll_.bind(this));\n this.scrollPort_.subscribe('paste', this.onPaste_.bind(this));\n this.scrollPort_.onCopy = this.onCopy_.bind(this);\n\n // The div that contains this terminal.\n this.div_ = null;\n\n // The document that contains the scrollPort. Defaulted to the global\n // document here so that the terminal is functional even if it hasn't been\n // inserted into a document yet, but re-set in decorate().\n this.document_ = window.document;\n\n // The rows that have scrolled off screen and are no longer addressable.\n this.scrollbackRows_ = [];\n\n // Saved tab stops.\n this.tabStops_ = [];\n\n // Keep track of whether default tab stops have been erased; after a TBC\n // clears all tab stops, defaults aren't restored on resize until a reset.\n this.defaultTabStops = true;\n\n // The VT's notion of the top and bottom rows. Used during some VT\n // cursor positioning and scrolling commands.\n this.vtScrollTop_ = null;\n this.vtScrollBottom_ = null;\n\n // The DIV element for the visible cursor.\n this.cursorNode_ = null;\n\n // The current cursor shape of the terminal.\n this.cursorShape_ = hterm.Terminal.cursorShape.BLOCK;\n\n // The current color of the cursor.\n this.cursorColor_ = null;\n\n // Cursor blink on/off cycle in ms, overwritten by prefs once they're loaded.\n this.cursorBlinkCycle_ = [100, 100];\n\n // Pre-bound onCursorBlink_ handler, so we don't have to do this for each\n // cursor on/off servicing.\n this.myOnCursorBlink_ = this.onCursorBlink_.bind(this);\n\n // These prefs are cached so we don't have to read from local storage with\n // each output and keystroke. They are initialized by the preference manager.\n this.backgroundColor_ = null;\n this.foregroundColor_ = null;\n this.scrollOnOutput_ = null;\n this.scrollOnKeystroke_ = null;\n this.scrollWheelArrowKeys_ = null;\n\n // True if we should override mouse event reporting to allow local selection.\n this.defeatMouseReports_ = false;\n\n // Terminal bell sound.\n this.bellAudio_ = this.document_.createElement('audio');\n this.bellAudio_.id = 'hterm:bell-audio';\n this.bellAudio_.setAttribute('preload', 'auto');\n\n // All terminal bell notifications that have been generated (not necessarily\n // shown).\n this.bellNotificationList_ = [];\n\n // Whether we have permission to display notifications.\n this.desktopNotificationBell_ = false;\n\n // Cursor position and attributes saved with DECSC.\n this.savedOptions_ = {};\n\n // The current mode bits for the terminal.\n this.options_ = new hterm.Options();\n\n // Timeouts we might need to clear.\n this.timeouts_ = {};\n\n // The VT escape sequence interpreter.\n this.vt = new hterm.VT(this);\n\n // The keyboard handler.\n this.keyboard = new hterm.Keyboard(this);\n\n // General IO interface that can be given to third parties without exposing\n // the entire terminal object.\n this.io = new hterm.Terminal.IO(this);\n\n // True if mouse-click-drag should scroll the terminal.\n this.enableMouseDragScroll = true;\n\n this.copyOnSelect = null;\n this.mouseRightClickPaste = null;\n this.mousePasteButton = null;\n\n // Whether to use the default window copy behavior.\n this.useDefaultWindowCopy = false;\n\n this.clearSelectionAfterCopy = true;\n\n this.realizeSize_(80, 24);\n this.setDefaultTabStops();\n\n this.setProfile(opt_profileId || 'default',\n function() { this.onTerminalReady(); }.bind(this));\n};\n\n/**\n * Possible cursor shapes.\n */\nhterm.Terminal.cursorShape = {\n BLOCK: 'BLOCK',\n BEAM: 'BEAM',\n UNDERLINE: 'UNDERLINE'\n};\n\n/**\n * Clients should override this to be notified when the terminal is ready\n * for use.\n *\n * The terminal initialization is asynchronous, and shouldn't be used before\n * this method is called.\n */\nhterm.Terminal.prototype.onTerminalReady = function() { };\n\n/**\n * Default tab with of 8 to match xterm.\n */\nhterm.Terminal.prototype.tabWidth = 8;\n\n/**\n * Select a preference profile.\n *\n * This will load the terminal preferences for the given profile name and\n * associate subsequent preference changes with the new preference profile.\n *\n * @param {string} profileId The name of the preference profile. Forward slash\n * characters will be removed from the name.\n * @param {function} opt_callback Optional callback to invoke when the profile\n * transition is complete.\n */\nhterm.Terminal.prototype.setProfile = function(profileId, opt_callback) {\n this.profileId_ = profileId.replace(/\\//g, '');\n\n var terminal = this;\n\n if (this.prefs_)\n this.prefs_.deactivate();\n\n this.prefs_ = new hterm.PreferenceManager(this.profileId_);\n this.prefs_.addObservers(null, {\n 'alt-gr-mode': function(v) {\n if (v == null) {\n if (navigator.language.toLowerCase() == 'en-us') {\n v = 'none';\n } else {\n v = 'right-alt';\n }\n } else if (typeof v == 'string') {\n v = v.toLowerCase();\n } else {\n v = 'none';\n }\n\n if (!/^(none|ctrl-alt|left-alt|right-alt)$/.test(v))\n v = 'none';\n\n terminal.keyboard.altGrMode = v;\n },\n\n 'alt-backspace-is-meta-backspace': function(v) {\n terminal.keyboard.altBackspaceIsMetaBackspace = v;\n },\n\n 'alt-is-meta': function(v) {\n terminal.keyboard.altIsMeta = v;\n },\n\n 'alt-sends-what': function(v) {\n if (!/^(escape|8-bit|browser-key)$/.test(v))\n v = 'escape';\n\n terminal.keyboard.altSendsWhat = v;\n },\n\n 'audible-bell-sound': function(v) {\n var ary = v.match(/^lib-resource:(\\S+)/);\n if (ary) {\n terminal.bellAudio_.setAttribute('src',\n lib.resource.getDataUrl(ary[1]));\n } else {\n terminal.bellAudio_.setAttribute('src', v);\n }\n },\n\n 'desktop-notification-bell': function(v) {\n if (v && Notification) {\n terminal.desktopNotificationBell_ =\n Notification.permission === 'granted';\n if (!terminal.desktopNotificationBell_) {\n // Note: We don't call Notification.requestPermission here because\n // Chrome requires the call be the result of a user action (such as an\n // onclick handler), and pref listeners are run asynchronously.\n //\n // A way of working around this would be to display a dialog in the\n // terminal with a \"click-to-request-permission\" button.\n console.warn('desktop-notification-bell is true but we do not have ' +\n 'permission to display notifications.');\n }\n } else {\n terminal.desktopNotificationBell_ = false;\n }\n },\n\n 'background-color': function(v) {\n terminal.setBackgroundColor(v);\n },\n\n 'background-image': function(v) {\n terminal.scrollPort_.setBackgroundImage(v);\n },\n\n 'background-size': function(v) {\n terminal.scrollPort_.setBackgroundSize(v);\n },\n\n 'background-position': function(v) {\n terminal.scrollPort_.setBackgroundPosition(v);\n },\n\n 'backspace-sends-backspace': function(v) {\n terminal.keyboard.backspaceSendsBackspace = v;\n },\n\n 'character-map-overrides': function(v) {\n if (!(v == null || v instanceof Object)) {\n console.warn('Preference character-map-modifications is not an ' +\n 'object: ' + v);\n return;\n }\n\n terminal.vt.characterMaps.reset();\n terminal.vt.characterMaps.setOverrides(v);\n },\n\n 'cursor-blink': function(v) {\n terminal.setCursorBlink(!!v);\n },\n\n 'cursor-blink-cycle': function(v) {\n if (v instanceof Array &&\n typeof v[0] == 'number' &&\n typeof v[1] == 'number') {\n terminal.cursorBlinkCycle_ = v;\n } else if (typeof v == 'number') {\n terminal.cursorBlinkCycle_ = [v, v];\n } else {\n // Fast blink indicates an error.\n terminal.cursorBlinkCycle_ = [100, 100];\n }\n },\n\n 'cursor-color': function(v) {\n terminal.setCursorColor(v);\n },\n\n 'color-palette-overrides': function(v) {\n if (!(v == null || v instanceof Object || v instanceof Array)) {\n console.warn('Preference color-palette-overrides is not an array or ' +\n 'object: ' + v);\n return;\n }\n\n lib.colors.colorPalette = lib.colors.stockColorPalette.concat();\n\n if (v) {\n for (var key in v) {\n var i = parseInt(key);\n if (isNaN(i) || i < 0 || i > 255) {\n console.log('Invalid value in palette: ' + key + ': ' + v[key]);\n continue;\n }\n\n if (v[i]) {\n var rgb = lib.colors.normalizeCSS(v[i]);\n if (rgb)\n lib.colors.colorPalette[i] = rgb;\n }\n }\n }\n\n terminal.primaryScreen_.textAttributes.resetColorPalette();\n terminal.alternateScreen_.textAttributes.resetColorPalette();\n },\n\n 'copy-on-select': function(v) {\n terminal.copyOnSelect = !!v;\n },\n\n 'use-default-window-copy': function(v) {\n terminal.useDefaultWindowCopy = !!v;\n },\n\n 'clear-selection-after-copy': function(v) {\n terminal.clearSelectionAfterCopy = !!v;\n },\n\n 'ctrl-plus-minus-zero-zoom': function(v) {\n terminal.keyboard.ctrlPlusMinusZeroZoom = v;\n },\n\n 'ctrl-c-copy': function(v) {\n terminal.keyboard.ctrlCCopy = v;\n },\n\n 'ctrl-v-paste': function(v) {\n terminal.keyboard.ctrlVPaste = v;\n terminal.scrollPort_.setCtrlVPaste(v);\n },\n\n 'east-asian-ambiguous-as-two-column': function(v) {\n lib.wc.regardCjkAmbiguous = v;\n },\n\n 'enable-8-bit-control': function(v) {\n terminal.vt.enable8BitControl = !!v;\n },\n\n 'enable-bold': function(v) {\n terminal.syncBoldSafeState();\n },\n\n 'enable-bold-as-bright': function(v) {\n terminal.primaryScreen_.textAttributes.enableBoldAsBright = !!v;\n terminal.alternateScreen_.textAttributes.enableBoldAsBright = !!v;\n },\n\n 'enable-blink': function(v) {\n terminal.syncBlinkState();\n },\n\n 'enable-clipboard-write': function(v) {\n terminal.vt.enableClipboardWrite = !!v;\n },\n\n 'enable-dec12': function(v) {\n terminal.vt.enableDec12 = !!v;\n },\n\n 'font-family': function(v) {\n terminal.syncFontFamily();\n },\n\n 'font-size': function(v) {\n terminal.setFontSize(v);\n },\n\n 'font-smoothing': function(v) {\n terminal.syncFontFamily();\n },\n\n 'foreground-color': function(v) {\n terminal.setForegroundColor(v);\n },\n\n 'home-keys-scroll': function(v) {\n terminal.keyboard.homeKeysScroll = v;\n },\n\n 'keybindings': function(v) {\n terminal.keyboard.bindings.clear();\n\n if (!v)\n return;\n\n if (!(v instanceof Object)) {\n console.error('Error in keybindings preference: Expected object');\n return;\n }\n\n try {\n terminal.keyboard.bindings.addBindings(v);\n } catch (ex) {\n console.error('Error in keybindings preference: ' + ex);\n }\n },\n\n 'max-string-sequence': function(v) {\n terminal.vt.maxStringSequence = v;\n },\n\n 'media-keys-are-fkeys': function(v) {\n terminal.keyboard.mediaKeysAreFKeys = v;\n },\n\n 'meta-sends-escape': function(v) {\n terminal.keyboard.metaSendsEscape = v;\n },\n\n 'mouse-right-click-paste': function(v) {\n terminal.mouseRightClickPaste = v;\n },\n\n 'mouse-paste-button': function(v) {\n terminal.syncMousePasteButton();\n },\n\n 'page-keys-scroll': function(v) {\n terminal.keyboard.pageKeysScroll = v;\n },\n\n 'pass-alt-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Alt-1..9 pass to the browser (to control tab switching) on\n // non-OS X systems, or if hterm is not opened in an app window.\n v = (!osx && hterm.windowType != 'popup');\n }\n\n terminal.passAltNumber = v;\n },\n\n 'pass-ctrl-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Ctrl-1..9 pass to the browser (to control tab switching) on\n // non-OS X systems, or if hterm is not opened in an app window.\n v = (!osx && hterm.windowType != 'popup');\n }\n\n terminal.passCtrlNumber = v;\n },\n\n 'pass-meta-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Meta-1..9 pass to the browser (to control tab switching) on\n // OS X systems, or if hterm is not opened in an app window.\n v = (osx && hterm.windowType != 'popup');\n }\n\n terminal.passMetaNumber = v;\n },\n\n 'pass-meta-v': function(v) {\n terminal.keyboard.passMetaV = v;\n },\n\n 'receive-encoding': function(v) {\n if (!(/^(utf-8|raw)$/).test(v)) {\n console.warn('Invalid value for \"receive-encoding\": ' + v);\n v = 'utf-8';\n }\n\n terminal.vt.characterEncoding = v;\n },\n\n 'scroll-on-keystroke': function(v) {\n terminal.scrollOnKeystroke_ = v;\n },\n\n 'scroll-on-output': function(v) {\n terminal.scrollOnOutput_ = v;\n },\n\n 'scrollbar-visible': function(v) {\n terminal.setScrollbarVisible(v);\n },\n\n 'scroll-wheel-may-send-arrow-keys': function(v) {\n terminal.scrollWheelArrowKeys_ = v;\n },\n\n 'scroll-wheel-move-multiplier': function(v) {\n terminal.setScrollWheelMoveMultipler(v);\n },\n\n 'send-encoding': function(v) {\n if (!(/^(utf-8|raw)$/).test(v)) {\n console.warn('Invalid value for \"send-encoding\": ' + v);\n v = 'utf-8';\n }\n\n terminal.keyboard.characterEncoding = v;\n },\n\n 'shift-insert-paste': function(v) {\n terminal.keyboard.shiftInsertPaste = v;\n },\n\n 'terminal-encoding': function(v) {\n terminal.vt.setEncoding(v);\n },\n\n 'user-css': function(v) {\n terminal.scrollPort_.setUserCssUrl(v);\n },\n\n 'user-css-text': function(v) {\n terminal.scrollPort_.setUserCssText(v);\n },\n\n 'word-break-match-left': function(v) {\n terminal.primaryScreen_.wordBreakMatchLeft = v;\n terminal.alternateScreen_.wordBreakMatchLeft = v;\n },\n\n 'word-break-match-right': function(v) {\n terminal.primaryScreen_.wordBreakMatchRight = v;\n terminal.alternateScreen_.wordBreakMatchRight = v;\n },\n\n 'word-break-match-middle': function(v) {\n terminal.primaryScreen_.wordBreakMatchMiddle = v;\n terminal.alternateScreen_.wordBreakMatchMiddle = v;\n },\n });\n\n this.prefs_.readStorage(function() {\n this.prefs_.notifyAll();\n\n if (opt_callback)\n opt_callback();\n }.bind(this));\n};\n\n\n/**\n * Returns the preferences manager used for configuring this terminal.\n *\n * @return {hterm.PreferenceManager}\n */\nhterm.Terminal.prototype.getPrefs = function() {\n return this.prefs_;\n};\n\n/**\n * Enable or disable bracketed paste mode.\n *\n * @param {boolean} state The value to set.\n */\nhterm.Terminal.prototype.setBracketedPaste = function(state) {\n this.options_.bracketedPaste = state;\n};\n\n/**\n * Set the color for the cursor.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setCursorColor = function(color) {\n this.cursorColor_ = color;\n this.cursorNode_.style.backgroundColor = color;\n this.cursorNode_.style.borderColor = color;\n};\n\n/**\n * Return the current cursor color as a string.\n * @return {string}\n */\nhterm.Terminal.prototype.getCursorColor = function() {\n return this.cursorColor_;\n};\n\n/**\n * Enable or disable mouse based text selection in the terminal.\n *\n * @param {boolean} state The value to set.\n */\nhterm.Terminal.prototype.setSelectionEnabled = function(state) {\n this.enableMouseDragScroll = state;\n};\n\n/**\n * Set the background color.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setBackgroundColor = function(color) {\n this.backgroundColor_ = lib.colors.normalizeCSS(color);\n this.primaryScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.alternateScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.scrollPort_.setBackgroundColor(color);\n};\n\n/**\n * Return the current terminal background color.\n *\n * Intended for use by other classes, so we don't have to expose the entire\n * prefs_ object.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getBackgroundColor = function() {\n return this.backgroundColor_;\n};\n\n/**\n * Set the foreground color.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setForegroundColor = function(color) {\n this.foregroundColor_ = lib.colors.normalizeCSS(color);\n this.primaryScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.alternateScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.scrollPort_.setForegroundColor(color);\n};\n\n/**\n * Return the current terminal foreground color.\n *\n * Intended for use by other classes, so we don't have to expose the entire\n * prefs_ object.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getForegroundColor = function() {\n return this.foregroundColor_;\n};\n\n/**\n * Create a new instance of a terminal command and run it with a given\n * argument string.\n *\n * @param {function} commandClass The constructor for a terminal command.\n * @param {string} argString The argument string to pass to the command.\n */\nhterm.Terminal.prototype.runCommandClass = function(commandClass, argString) {\n var environment = this.prefs_.get('environment');\n if (typeof environment != 'object' || environment == null)\n environment = {};\n\n var self = this;\n this.command = new commandClass(\n { argString: argString || '',\n io: this.io.push(),\n environment: environment,\n onExit: function(code) {\n self.io.pop();\n self.uninstallKeyboard();\n if (self.prefs_.get('close-on-exit'))\n window.close();\n }\n });\n\n this.installKeyboard();\n this.command.run();\n};\n\n/**\n * Returns true if the current screen is the primary screen, false otherwise.\n *\n * @return {boolean}\n */\nhterm.Terminal.prototype.isPrimaryScreen = function() {\n return this.screen_ == this.primaryScreen_;\n};\n\n/**\n * Install the keyboard handler for this terminal.\n *\n * This will prevent the browser from seeing any keystrokes sent to the\n * terminal.\n */\nhterm.Terminal.prototype.installKeyboard = function() {\n this.keyboard.installKeyboard(this.scrollPort_.getDocument().body);\n}\n\n/**\n * Uninstall the keyboard handler for this terminal.\n */\nhterm.Terminal.prototype.uninstallKeyboard = function() {\n this.keyboard.installKeyboard(null);\n}\n\n/**\n * Set a CSS variable.\n *\n * Normally this is used to set variables in the hterm namespace.\n *\n * @param {string} name The variable to set.\n * @param {string} value The value to assign to the variable.\n * @param {string?} opt_prefix The variable namespace/prefix to use.\n */\nhterm.Terminal.prototype.setCssVar = function(name, value,\n opt_prefix='--hterm-') {\n this.document_.documentElement.style.setProperty(\n `${opt_prefix}${name}`, value);\n};\n\n/**\n * Set the font size for this terminal.\n *\n * Call setFontSize(0) to reset to the default font size.\n *\n * This function does not modify the font-size preference.\n *\n * @param {number} px The desired font size, in pixels.\n */\nhterm.Terminal.prototype.setFontSize = function(px) {\n if (px === 0)\n px = this.prefs_.get('font-size');\n\n this.scrollPort_.setFontSize(px);\n this.setCssVar('charsize-width', this.scrollPort_.characterSize.width + 'px');\n this.setCssVar('charsize-height',\n this.scrollPort_.characterSize.height + 'px');\n};\n\n/**\n * Get the current font size.\n *\n * @return {number}\n */\nhterm.Terminal.prototype.getFontSize = function() {\n return this.scrollPort_.getFontSize();\n};\n\n/**\n * Get the current font family.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getFontFamily = function() {\n return this.scrollPort_.getFontFamily();\n};\n\n/**\n * Set the CSS \"font-family\" for this terminal.\n */\nhterm.Terminal.prototype.syncFontFamily = function() {\n this.scrollPort_.setFontFamily(this.prefs_.get('font-family'),\n this.prefs_.get('font-smoothing'));\n this.syncBoldSafeState();\n};\n\n/**\n * Set this.mousePasteButton based on the mouse-paste-button pref,\n * autodetecting if necessary.\n */\nhterm.Terminal.prototype.syncMousePasteButton = function() {\n var button = this.prefs_.get('mouse-paste-button');\n if (typeof button == 'number') {\n this.mousePasteButton = button;\n return;\n }\n\n var ary = navigator.userAgent.match(/\\(X11;\\s+(\\S+)/);\n if (!ary || ary[1] == 'CrOS') {\n this.mousePasteButton = 1; // Middle mouse button.\n } else {\n this.mousePasteButton = 2; // Right mouse button.\n }\n};\n\n/**\n * Enable or disable bold based on the enable-bold pref, autodetecting if\n * necessary.\n */\nhterm.Terminal.prototype.syncBoldSafeState = function() {\n var enableBold = this.prefs_.get('enable-bold');\n if (enableBold !== null) {\n this.primaryScreen_.textAttributes.enableBold = enableBold;\n this.alternateScreen_.textAttributes.enableBold = enableBold;\n return;\n }\n\n var normalSize = this.scrollPort_.measureCharacterSize();\n var boldSize = this.scrollPort_.measureCharacterSize('bold');\n\n var isBoldSafe = normalSize.equals(boldSize);\n if (!isBoldSafe) {\n console.warn('Bold characters disabled: Size of bold weight differs ' +\n 'from normal. Font family is: ' +\n this.scrollPort_.getFontFamily());\n }\n\n this.primaryScreen_.textAttributes.enableBold = isBoldSafe;\n this.alternateScreen_.textAttributes.enableBold = isBoldSafe;\n};\n\n/**\n * Enable or disable blink based on the enable-blink pref.\n */\nhterm.Terminal.prototype.syncBlinkState = function() {\n this.setCssVar('node-duration',\n this.prefs_.get('enable-blink') ? '0.7s' : '0');\n};\n\n/**\n * Set the mouse cursor style based on the current terminal mode.\n */\nhterm.Terminal.prototype.syncMouseStyle = function() {\n this.setCssVar('mouse-cursor-style',\n this.vt.mouseReport == this.vt.MOUSE_REPORT_DISABLED ?\n 'var(--hterm-mouse-cursor-text)' :\n 'var(--hterm-mouse-cursor-pointer)');\n};\n\n/**\n * Return a copy of the current cursor position.\n *\n * @return {hterm.RowCol} The RowCol object representing the current position.\n */\nhterm.Terminal.prototype.saveCursor = function() {\n return this.screen_.cursorPosition.clone();\n};\n\n/**\n * Return the current text attributes.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getTextAttributes = function() {\n return this.screen_.textAttributes;\n};\n\n/**\n * Set the text attributes.\n *\n * @param {string} textAttributes The attributes to set.\n */\nhterm.Terminal.prototype.setTextAttributes = function(textAttributes) {\n this.screen_.textAttributes = textAttributes;\n};\n\n/**\n * Return the current browser zoom factor applied to the terminal.\n *\n * @return {number} The current browser zoom factor.\n */\nhterm.Terminal.prototype.getZoomFactor = function() {\n return this.scrollPort_.characterSize.zoomFactor;\n};\n\n/**\n * Change the title of this terminal's window.\n *\n * @param {string} title The title to set.\n */\nhterm.Terminal.prototype.setWindowTitle = function(title) {\n window.document.title = title;\n};\n\n/**\n * Restore a previously saved cursor position.\n *\n * @param {hterm.RowCol} cursor The position to restore.\n */\nhterm.Terminal.prototype.restoreCursor = function(cursor) {\n var row = lib.f.clamp(cursor.row, 0, this.screenSize.height - 1);\n var column = lib.f.clamp(cursor.column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n if (cursor.column > column ||\n cursor.column == column && cursor.overflow) {\n this.screen_.cursorPosition.overflow = true;\n }\n};\n\n/**\n * Clear the cursor's overflow flag.\n */\nhterm.Terminal.prototype.clearCursorOverflow = function() {\n this.screen_.cursorPosition.overflow = false;\n};\n\n/**\n * Sets the cursor shape\n *\n * @param {string} shape The shape to set.\n */\nhterm.Terminal.prototype.setCursorShape = function(shape) {\n this.cursorShape_ = shape;\n this.restyleCursor_();\n}\n\n/**\n * Get the cursor shape\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getCursorShape = function() {\n return this.cursorShape_;\n}\n\n/**\n * Set the width of the terminal, resizing the UI to match.\n *\n * @param {number} columnCount\n */\nhterm.Terminal.prototype.setWidth = function(columnCount) {\n if (columnCount == null) {\n this.div_.style.width = '100%';\n return;\n }\n\n this.div_.style.width = Math.ceil(\n this.scrollPort_.characterSize.width *\n columnCount + this.scrollPort_.currentScrollbarWidthPx) + 'px';\n this.realizeSize_(columnCount, this.screenSize.height);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Set the height of the terminal, resizing the UI to match.\n *\n * @param {number} rowCount The height in rows.\n */\nhterm.Terminal.prototype.setHeight = function(rowCount) {\n if (rowCount == null) {\n this.div_.style.height = '100%';\n return;\n }\n\n this.div_.style.height =\n this.scrollPort_.characterSize.height * rowCount + 'px';\n this.realizeSize_(this.screenSize.width, rowCount);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Deal with terminal size changes.\n *\n * @param {number} columnCount The number of columns.\n * @param {number} rowCount The number of rows.\n */\nhterm.Terminal.prototype.realizeSize_ = function(columnCount, rowCount) {\n if (columnCount != this.screenSize.width)\n this.realizeWidth_(columnCount);\n\n if (rowCount != this.screenSize.height)\n this.realizeHeight_(rowCount);\n\n // Send new terminal size to plugin.\n this.io.onTerminalResize_(columnCount, rowCount);\n};\n\n/**\n * Deal with terminal width changes.\n *\n * This function does what needs to be done when the terminal width changes\n * out from under us. It happens here rather than in onResize_() because this\n * code may need to run synchronously to handle programmatic changes of\n * terminal width.\n *\n * Relying on the browser to send us an async resize event means we may not be\n * in the correct state yet when the next escape sequence hits.\n *\n * @param {number} columnCount The number of columns.\n */\nhterm.Terminal.prototype.realizeWidth_ = function(columnCount) {\n if (columnCount <= 0)\n throw new Error('Attempt to realize bad width: ' + columnCount);\n\n var deltaColumns = columnCount - this.screen_.getWidth();\n\n this.screenSize.width = columnCount;\n this.screen_.setColumnCount(columnCount);\n\n if (deltaColumns > 0) {\n if (this.defaultTabStops)\n this.setDefaultTabStops(this.screenSize.width - deltaColumns);\n } else {\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] < columnCount)\n break;\n\n this.tabStops_.pop();\n }\n }\n\n this.screen_.setColumnCount(this.screenSize.width);\n};\n\n/**\n * Deal with terminal height changes.\n *\n * This function does what needs to be done when the terminal height changes\n * out from under us. It happens here rather than in onResize_() because this\n * code may need to run synchronously to handle programmatic changes of\n * terminal height.\n *\n * Relying on the browser to send us an async resize event means we may not be\n * in the correct state yet when the next escape sequence hits.\n *\n * @param {number} rowCount The number of rows.\n */\nhterm.Terminal.prototype.realizeHeight_ = function(rowCount) {\n if (rowCount <= 0)\n throw new Error('Attempt to realize bad height: ' + rowCount);\n\n var deltaRows = rowCount - this.screen_.getHeight();\n\n this.screenSize.height = rowCount;\n\n var cursor = this.saveCursor();\n\n if (deltaRows < 0) {\n // Screen got smaller.\n deltaRows *= -1;\n while (deltaRows) {\n var lastRow = this.getRowCount() - 1;\n if (lastRow - this.scrollbackRows_.length == cursor.row)\n break;\n\n if (this.getRowText(lastRow))\n break;\n\n this.screen_.popRow();\n deltaRows--;\n }\n\n var ary = this.screen_.shiftRows(deltaRows);\n this.scrollbackRows_.push.apply(this.scrollbackRows_, ary);\n\n // We just removed rows from the top of the screen, we need to update\n // the cursor to match.\n cursor.row = Math.max(cursor.row - deltaRows, 0);\n } else if (deltaRows > 0) {\n // Screen got larger.\n\n if (deltaRows <= this.scrollbackRows_.length) {\n var scrollbackCount = Math.min(deltaRows, this.scrollbackRows_.length);\n var rows = this.scrollbackRows_.splice(\n this.scrollbackRows_.length - scrollbackCount, scrollbackCount);\n this.screen_.unshiftRows(rows);\n deltaRows -= scrollbackCount;\n cursor.row += scrollbackCount;\n }\n\n if (deltaRows)\n this.appendRows_(deltaRows);\n }\n\n this.setVTScrollRegion(null, null);\n this.restoreCursor(cursor);\n};\n\n/**\n * Scroll the terminal to the top of the scrollback buffer.\n */\nhterm.Terminal.prototype.scrollHome = function() {\n this.scrollPort_.scrollRowToTop(0);\n};\n\n/**\n * Scroll the terminal to the end.\n */\nhterm.Terminal.prototype.scrollEnd = function() {\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n};\n\n/**\n * Scroll the terminal one page up (minus one line) relative to the current\n * position.\n */\nhterm.Terminal.prototype.scrollPageUp = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i - this.screenSize.height + 1);\n};\n\n/**\n * Scroll the terminal one page down (minus one line) relative to the current\n * position.\n */\nhterm.Terminal.prototype.scrollPageDown = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i + this.screenSize.height - 1);\n};\n\n/**\n * Scroll the terminal one line up relative to the current position.\n */\nhterm.Terminal.prototype.scrollLineUp = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i - 1);\n};\n\n/**\n * Scroll the terminal one line down relative to the current position.\n */\nhterm.Terminal.prototype.scrollLineDown = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i + 1);\n};\n\n/**\n * Clear primary screen, secondary screen, and the scrollback buffer.\n */\nhterm.Terminal.prototype.wipeContents = function() {\n this.scrollbackRows_.length = 0;\n this.scrollPort_.resetCache();\n\n [this.primaryScreen_, this.alternateScreen_].forEach(function(screen) {\n var bottom = screen.getHeight();\n if (bottom > 0) {\n this.renumberRows_(0, bottom);\n this.clearHome(screen);\n }\n }.bind(this));\n\n this.syncCursorPosition_();\n this.scrollPort_.invalidate();\n};\n\n/**\n * Full terminal reset.\n */\nhterm.Terminal.prototype.reset = function() {\n this.clearAllTabStops();\n this.setDefaultTabStops();\n\n this.clearHome(this.primaryScreen_);\n this.primaryScreen_.textAttributes.reset();\n\n this.clearHome(this.alternateScreen_);\n this.alternateScreen_.textAttributes.reset();\n\n this.setCursorBlink(!!this.prefs_.get('cursor-blink'));\n\n this.vt.reset();\n\n this.softReset();\n};\n\n/**\n * Soft terminal reset.\n *\n * Perform a soft reset to the default values listed in\n * http://www.vt100.net/docs/vt510-rm/DECSTR#T5-9\n */\nhterm.Terminal.prototype.softReset = function() {\n // Reset terminal options to their default values.\n this.options_ = new hterm.Options();\n\n // We show the cursor on soft reset but do not alter the blink state.\n this.options_.cursorBlink = !!this.timeouts_.cursorBlink;\n\n // Xterm also resets the color palette on soft reset, even though it doesn't\n // seem to be documented anywhere.\n this.primaryScreen_.textAttributes.resetColorPalette();\n this.alternateScreen_.textAttributes.resetColorPalette();\n\n // The xterm man page explicitly says this will happen on soft reset.\n this.setVTScrollRegion(null, null);\n\n // Xterm also shows the cursor on soft reset, but does not alter the blink\n // state.\n this.setCursorVisible(true);\n};\n\n/**\n * Move the cursor forward to the next tab stop, or to the last column\n * if no more tab stops are set.\n */\nhterm.Terminal.prototype.forwardTabStop = function() {\n var column = this.screen_.cursorPosition.column;\n\n for (var i = 0; i < this.tabStops_.length; i++) {\n if (this.tabStops_[i] > column) {\n this.setCursorColumn(this.tabStops_[i]);\n return;\n }\n }\n\n // xterm does not clear the overflow flag on HT or CHT.\n var overflow = this.screen_.cursorPosition.overflow;\n this.setCursorColumn(this.screenSize.width - 1);\n this.screen_.cursorPosition.overflow = overflow;\n};\n\n/**\n * Move the cursor backward to the previous tab stop, or to the first column\n * if no previous tab stops are set.\n */\nhterm.Terminal.prototype.backwardTabStop = function() {\n var column = this.screen_.cursorPosition.column;\n\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] < column) {\n this.setCursorColumn(this.tabStops_[i]);\n return;\n }\n }\n\n this.setCursorColumn(1);\n};\n\n/**\n * Set a tab stop at the given column.\n *\n * @param {integer} column Zero based column.\n */\nhterm.Terminal.prototype.setTabStop = function(column) {\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] == column)\n return;\n\n if (this.tabStops_[i] < column) {\n this.tabStops_.splice(i + 1, 0, column);\n return;\n }\n }\n\n this.tabStops_.splice(0, 0, column);\n};\n\n/**\n * Clear the tab stop at the current cursor position.\n *\n * No effect if there is no tab stop at the current cursor position.\n */\nhterm.Terminal.prototype.clearTabStopAtCursor = function() {\n var column = this.screen_.cursorPosition.column;\n\n var i = this.tabStops_.indexOf(column);\n if (i == -1)\n return;\n\n this.tabStops_.splice(i, 1);\n};\n\n/**\n * Clear all tab stops.\n */\nhterm.Terminal.prototype.clearAllTabStops = function() {\n this.tabStops_.length = 0;\n this.defaultTabStops = false;\n};\n\n/**\n * Set up the default tab stops, starting from a given column.\n *\n * This sets a tabstop every (column % this.tabWidth) column, starting\n * from the specified column, or 0 if no column is provided. It also flags\n * future resizes to set them up.\n *\n * This does not clear the existing tab stops first, use clearAllTabStops\n * for that.\n *\n * @param {integer} opt_start Optional starting zero based starting column, useful\n * for filling out missing tab stops when the terminal is resized.\n */\nhterm.Terminal.prototype.setDefaultTabStops = function(opt_start) {\n var start = opt_start || 0;\n var w = this.tabWidth;\n // Round start up to a default tab stop.\n start = start - 1 - ((start - 1) % w) + w;\n for (var i = start; i < this.screenSize.width; i += w) {\n this.setTabStop(i);\n }\n\n this.defaultTabStops = true;\n};\n\n/**\n * Interpret a sequence of characters.\n *\n * Incomplete escape sequences are buffered until the next call.\n *\n * @param {string} str Sequence of characters to interpret or pass through.\n */\nhterm.Terminal.prototype.interpret = function(str) {\n this.vt.interpret(str);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Take over the given DIV for use as the terminal display.\n *\n * @param {HTMLDivElement} div The div to use as the terminal display.\n */\nhterm.Terminal.prototype.decorate = function(div) {\n this.div_ = div;\n\n this.scrollPort_.decorate(div);\n this.scrollPort_.setBackgroundImage(this.prefs_.get('background-image'));\n this.scrollPort_.setBackgroundSize(this.prefs_.get('background-size'));\n this.scrollPort_.setBackgroundPosition(\n this.prefs_.get('background-position'));\n this.scrollPort_.setUserCssUrl(this.prefs_.get('user-css'));\n this.scrollPort_.setUserCssText(this.prefs_.get('user-css-text'));\n\n this.div_.focus = this.focus.bind(this);\n\n this.setFontSize(this.prefs_.get('font-size'));\n this.syncFontFamily();\n\n this.setScrollbarVisible(this.prefs_.get('scrollbar-visible'));\n this.setScrollWheelMoveMultipler(\n this.prefs_.get('scroll-wheel-move-multiplier'));\n\n this.document_ = this.scrollPort_.getDocument();\n\n this.document_.body.oncontextmenu = function() { return false; };\n\n var onMouse = this.onMouse_.bind(this);\n var screenNode = this.scrollPort_.getScreenNode();\n screenNode.addEventListener('mousedown', onMouse);\n screenNode.addEventListener('mouseup', onMouse);\n screenNode.addEventListener('mousemove', onMouse);\n this.scrollPort_.onScrollWheel = onMouse;\n\n screenNode.addEventListener(\n 'focus', this.onFocusChange_.bind(this, true));\n // Listen for mousedown events on the screenNode as in FF the focus\n // events don't bubble.\n screenNode.addEventListener('mousedown', function() {\n setTimeout(this.onFocusChange_.bind(this, true));\n }.bind(this));\n\n screenNode.addEventListener(\n 'blur', this.onFocusChange_.bind(this, false));\n\n var style = this.document_.createElement('style');\n style.textContent =\n ('.cursor-node[focus=\"false\"] {' +\n ' box-sizing: border-box;' +\n ' background-color: transparent !important;' +\n ' border-width: 2px;' +\n ' border-style: solid;' +\n '}' +\n '.wc-node {' +\n ' display: inline-block;' +\n ' text-align: center;' +\n ' width: calc(var(--hterm-charsize-width) * 2);' +\n ' line-height: var(--hterm-charsize-height);' +\n '}' +\n ':root {' +\n ' --hterm-charsize-width: ' + this.scrollPort_.characterSize.width + 'px;' +\n ' --hterm-charsize-height: ' + this.scrollPort_.characterSize.height + 'px;' +\n ' --hterm-cursor-offset-col: 0;' +\n ' --hterm-cursor-offset-row: 0;' +\n ' --hterm-blink-node-duration: 0.7s;' +\n ' --hterm-mouse-cursor-text: text;' +\n ' --hterm-mouse-cursor-pointer: default;' +\n ' --hterm-mouse-cursor-style: var(--hterm-mouse-cursor-text);' +\n '}' +\n '@keyframes blink {' +\n ' from { opacity: 1.0; }' +\n ' to { opacity: 0.0; }' +\n '}' +\n '.blink-node {' +\n ' animation-name: blink;' +\n ' animation-duration: var(--hterm-blink-node-duration);' +\n ' animation-iteration-count: infinite;' +\n ' animation-timing-function: ease-in-out;' +\n ' animation-direction: alternate;' +\n '}');\n this.document_.head.appendChild(style);\n\n this.cursorNode_ = this.document_.createElement('div');\n this.cursorNode_.id = 'hterm:terminal-cursor';\n this.cursorNode_.className = 'cursor-node';\n this.cursorNode_.style.cssText =\n ('position: absolute;' +\n 'left: calc(var(--hterm-charsize-width) * var(--hterm-cursor-offset-col));' +\n 'top: calc(var(--hterm-charsize-height) * var(--hterm-cursor-offset-row));' +\n 'display: block;' +\n 'width: var(--hterm-charsize-width);' +\n 'height: var(--hterm-charsize-height);' +\n '-webkit-transition: opacity, background-color 100ms linear;' +\n '-moz-transition: opacity, background-color 100ms linear;');\n\n this.setCursorColor(this.prefs_.get('cursor-color'));\n this.setCursorBlink(!!this.prefs_.get('cursor-blink'));\n this.restyleCursor_();\n\n this.document_.body.appendChild(this.cursorNode_);\n\n // When 'enableMouseDragScroll' is off we reposition this element directly\n // under the mouse cursor after a click. This makes Chrome associate\n // subsequent mousemove events with the scroll-blocker. Since the\n // scroll-blocker is a peer (not a child) of the scrollport, the mousemove\n // events do not cause the scrollport to scroll.\n //\n // It's a hack, but it's the cleanest way I could find.\n this.scrollBlockerNode_ = this.document_.createElement('div');\n this.scrollBlockerNode_.id = 'hterm:mouse-drag-scroll-blocker';\n this.scrollBlockerNode_.style.cssText =\n ('position: absolute;' +\n 'top: -99px;' +\n 'display: block;' +\n 'width: 10px;' +\n 'height: 10px;');\n this.document_.body.appendChild(this.scrollBlockerNode_);\n\n this.scrollPort_.onScrollWheel = onMouse;\n ['mousedown', 'mouseup', 'mousemove', 'click', 'dblclick',\n ].forEach(function(event) {\n this.scrollBlockerNode_.addEventListener(event, onMouse);\n this.cursorNode_.addEventListener(event, onMouse);\n this.document_.addEventListener(event, onMouse);\n }.bind(this));\n\n this.cursorNode_.addEventListener('mousedown', function() {\n setTimeout(this.focus.bind(this));\n }.bind(this));\n\n this.setReverseVideo(false);\n\n this.scrollPort_.focus();\n this.scrollPort_.scheduleRedraw();\n};\n\n/**\n * Return the HTML document that contains the terminal DOM nodes.\n *\n * @return {HTMLDocument}\n */\nhterm.Terminal.prototype.getDocument = function() {\n return this.document_;\n};\n\n/**\n * Focus the terminal.\n */\nhterm.Terminal.prototype.focus = function() {\n this.scrollPort_.focus();\n};\n\n/**\n * Return the HTML Element for a given row index.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch rows on demand as they are scrolled into view.\n *\n * TODO(rginda): Consider saving scrollback rows as (HTML source, text content)\n * pairs to conserve memory.\n *\n * @param {integer} index The zero-based row index, measured relative to the\n * start of the scrollback buffer. On-screen rows will always have the\n * largest indices.\n * @return {HTMLElement} The 'x-row' element containing for the requested row.\n */\nhterm.Terminal.prototype.getRowNode = function(index) {\n if (index < this.scrollbackRows_.length)\n return this.scrollbackRows_[index];\n\n var screenIndex = index - this.scrollbackRows_.length;\n return this.screen_.rowsArray[screenIndex];\n};\n\n/**\n * Return the text content for a given range of rows.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch text content on demand when the user attempts to copy their\n * selection to the clipboard.\n *\n * @param {integer} start The zero-based row index to start from, measured\n * relative to the start of the scrollback buffer. On-screen rows will\n * always have the largest indices.\n * @param {integer} end The zero-based row index to end on, measured\n * relative to the start of the scrollback buffer.\n * @return {string} A single string containing the text value of the range of\n * rows. Lines will be newline delimited, with no trailing newline.\n */\nhterm.Terminal.prototype.getRowsText = function(start, end) {\n var ary = [];\n for (var i = start; i < end; i++) {\n var node = this.getRowNode(i);\n ary.push(node.textContent);\n if (i < end - 1 && !node.getAttribute('line-overflow'))\n ary.push('\\n');\n }\n\n return ary.join('');\n};\n\n/**\n * Return the text content for a given row.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch text content on demand when the user attempts to copy their\n * selection to the clipboard.\n *\n * @param {integer} index The zero-based row index to return, measured\n * relative to the start of the scrollback buffer. On-screen rows will\n * always have the largest indices.\n * @return {string} A string containing the text value of the selected row.\n */\nhterm.Terminal.prototype.getRowText = function(index) {\n var node = this.getRowNode(index);\n return node.textContent;\n};\n\n/**\n * Return the total number of rows in the addressable screen and in the\n * scrollback buffer of this terminal.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to compute the size of the scrollbar.\n *\n * @return {integer} The number of rows in this terminal.\n */\nhterm.Terminal.prototype.getRowCount = function() {\n return this.scrollbackRows_.length + this.screen_.rowsArray.length;\n};\n\n/**\n * Create DOM nodes for new rows and append them to the end of the terminal.\n *\n * This is the only correct way to add a new DOM node for a row. Notice that\n * the new row is appended to the bottom of the list of rows, and does not\n * require renumbering (of the rowIndex property) of previous rows.\n *\n * If you think you want a new blank row somewhere in the middle of the\n * terminal, look into moveRows_().\n *\n * This method does not pay attention to vtScrollTop/Bottom, since you should\n * be using moveRows() in cases where they would matter.\n *\n * The cursor will be positioned at column 0 of the first inserted line.\n *\n * @param {number} count The number of rows to created.\n */\nhterm.Terminal.prototype.appendRows_ = function(count) {\n var cursorRow = this.screen_.rowsArray.length;\n var offset = this.scrollbackRows_.length + cursorRow;\n for (var i = 0; i < count; i++) {\n var row = this.document_.createElement('x-row');\n row.appendChild(this.document_.createTextNode(''));\n row.rowIndex = offset + i;\n this.screen_.pushRow(row);\n }\n\n var extraRows = this.screen_.rowsArray.length - this.screenSize.height;\n if (extraRows > 0) {\n var ary = this.screen_.shiftRows(extraRows);\n Array.prototype.push.apply(this.scrollbackRows_, ary);\n if (this.scrollPort_.isScrolledEnd)\n this.scheduleScrollDown_();\n }\n\n if (cursorRow >= this.screen_.rowsArray.length)\n cursorRow = this.screen_.rowsArray.length - 1;\n\n this.setAbsoluteCursorPosition(cursorRow, 0);\n};\n\n/**\n * Relocate rows from one part of the addressable screen to another.\n *\n * This is used to recycle rows during VT scrolls (those which are driven\n * by VT commands, rather than by the user manipulating the scrollbar.)\n *\n * In this case, the blank lines scrolled into the scroll region are made of\n * the nodes we scrolled off. These have their rowIndex properties carefully\n * renumbered so as not to confuse the ScrollPort.\n *\n * @param {number} fromIndex The start index.\n * @param {number} count The number of rows to move.\n * @param {number} toIndex The destination index.\n */\nhterm.Terminal.prototype.moveRows_ = function(fromIndex, count, toIndex) {\n var ary = this.screen_.removeRows(fromIndex, count);\n this.screen_.insertRows(toIndex, ary);\n\n var start, end;\n if (fromIndex < toIndex) {\n start = fromIndex;\n end = toIndex + count;\n } else {\n start = toIndex;\n end = fromIndex + count;\n }\n\n this.renumberRows_(start, end);\n this.scrollPort_.scheduleInvalidate();\n};\n\n/**\n * Renumber the rowIndex property of the given range of rows.\n *\n * The start and end indices are relative to the screen, not the scrollback.\n * Rows in the scrollback buffer cannot be renumbered. Since they are not\n * addressable (you can't delete them, scroll them, etc), you should have\n * no need to renumber scrollback rows.\n *\n * @param {number} start The start index.\n * @param {number} end The end index.\n * @param {hterm.Screen} opt_screen The screen to renumber.\n */\nhterm.Terminal.prototype.renumberRows_ = function(start, end, opt_screen) {\n var screen = opt_screen || this.screen_;\n\n var offset = this.scrollbackRows_.length;\n for (var i = start; i < end; i++) {\n screen.rowsArray[i].rowIndex = offset + i;\n }\n};\n\n/**\n * Print a string to the terminal.\n *\n * This respects the current insert and wraparound modes. It will add new lines\n * to the end of the terminal, scrolling off the top into the scrollback buffer\n * if necessary.\n *\n * The string is *not* parsed for escape codes. Use the interpret() method if\n * that's what you're after.\n *\n * @param{string} str The string to print.\n */\nhterm.Terminal.prototype.print = function(str) {\n var startOffset = 0;\n\n var strWidth = lib.wc.strWidth(str);\n\n while (startOffset < strWidth) {\n if (this.options_.wraparound && this.screen_.cursorPosition.overflow) {\n this.screen_.commitLineOverflow();\n this.newLine();\n }\n\n var count = strWidth - startOffset;\n var didOverflow = false;\n var substr;\n\n if (this.screen_.cursorPosition.column + count >= this.screenSize.width) {\n didOverflow = true;\n count = this.screenSize.width - this.screen_.cursorPosition.column;\n }\n\n if (didOverflow && !this.options_.wraparound) {\n // If the string overflowed the line but wraparound is off, then the\n // last printed character should be the last of the string.\n // TODO: This will add to our problems with multibyte UTF-16 characters.\n substr = lib.wc.substr(str, startOffset, count - 1) +\n lib.wc.substr(str, strWidth - 1);\n count = strWidth;\n } else {\n substr = lib.wc.substr(str, startOffset, count);\n }\n\n var tokens = hterm.TextAttributes.splitWidecharString(substr);\n for (var i = 0; i < tokens.length; i++) {\n this.screen_.textAttributes.wcNode = tokens[i].wcNode;\n this.screen_.textAttributes.asciiNode = tokens[i].asciiNode;\n\n if (this.options_.insertMode) {\n this.screen_.insertString(tokens[i].str);\n } else {\n this.screen_.overwriteString(tokens[i].str);\n }\n this.screen_.textAttributes.wcNode = false;\n this.screen_.textAttributes.asciiNode = true;\n }\n\n this.screen_.maybeClipCurrentRow();\n startOffset += count;\n }\n\n this.scheduleSyncCursorPosition_();\n\n if (this.scrollOnOutput_)\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n};\n\n/**\n * Set the VT scroll region.\n *\n * This also resets the cursor position to the absolute (0, 0) position, since\n * that's what xterm appears to do.\n *\n * Setting the scroll region to the full height of the terminal will clear\n * the scroll region. This is *NOT* what most terminals do. We're explicitly\n * going \"off-spec\" here because it makes `screen` and `tmux` overflow into the\n * local scrollback buffer, which means the scrollbars and shift-pgup/pgdn\n * continue to work as most users would expect.\n *\n * @param {integer} scrollTop The zero-based top of the scroll region.\n * @param {integer} scrollBottom The zero-based bottom of the scroll region,\n * inclusive.\n */\nhterm.Terminal.prototype.setVTScrollRegion = function(scrollTop, scrollBottom) {\n if (scrollTop == 0 && scrollBottom == this.screenSize.height - 1) {\n this.vtScrollTop_ = null;\n this.vtScrollBottom_ = null;\n } else {\n this.vtScrollTop_ = scrollTop;\n this.vtScrollBottom_ = scrollBottom;\n }\n};\n\n/**\n * Return the top row index according to the VT.\n *\n * This will return 0 unless the terminal has been told to restrict scrolling\n * to some lower row. It is used for some VT cursor positioning and scrolling\n * commands.\n *\n * @return {integer} The topmost row in the terminal's scroll region.\n */\nhterm.Terminal.prototype.getVTScrollTop = function() {\n if (this.vtScrollTop_ != null)\n return this.vtScrollTop_;\n\n return 0;\n};\n\n/**\n * Return the bottom row index according to the VT.\n *\n * This will return the height of the terminal unless the it has been told to\n * restrict scrolling to some higher row. It is used for some VT cursor\n * positioning and scrolling commands.\n *\n * @return {integer} The bottom most row in the terminal's scroll region.\n */\nhterm.Terminal.prototype.getVTScrollBottom = function() {\n if (this.vtScrollBottom_ != null)\n return this.vtScrollBottom_;\n\n return this.screenSize.height - 1;\n}\n\n/**\n * Process a '\\n' character.\n *\n * If the cursor is on the final row of the terminal this will append a new\n * blank row to the screen and scroll the topmost row into the scrollback\n * buffer.\n *\n * Otherwise, this moves the cursor to column zero of the next row.\n */\nhterm.Terminal.prototype.newLine = function() {\n var cursorAtEndOfScreen = (this.screen_.cursorPosition.row ==\n this.screen_.rowsArray.length - 1);\n\n if (this.vtScrollBottom_ != null) {\n // A VT Scroll region is active, we never append new rows.\n if (this.screen_.cursorPosition.row == this.vtScrollBottom_) {\n // We're at the end of the VT Scroll Region, perform a VT scroll.\n this.vtScrollUp(1);\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0);\n } else if (cursorAtEndOfScreen) {\n // We're at the end of the screen, the only thing to do is put the\n // cursor to column 0.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0);\n } else {\n // Anywhere else, advance the cursor row, and reset the column.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0);\n }\n } else if (cursorAtEndOfScreen) {\n // We're at the end of the screen. Append a new row to the terminal,\n // shifting the top row into the scrollback.\n this.appendRows_(1);\n } else {\n // Anywhere else in the screen just moves the cursor.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0);\n }\n};\n\n/**\n * Like newLine(), except maintain the cursor column.\n */\nhterm.Terminal.prototype.lineFeed = function() {\n var column = this.screen_.cursorPosition.column;\n this.newLine();\n this.setCursorColumn(column);\n};\n\n/**\n * If autoCarriageReturn is set then newLine(), else lineFeed().\n */\nhterm.Terminal.prototype.formFeed = function() {\n if (this.options_.autoCarriageReturn) {\n this.newLine();\n } else {\n this.lineFeed();\n }\n};\n\n/**\n * Move the cursor up one row, possibly inserting a blank line.\n *\n * The cursor column is not changed.\n */\nhterm.Terminal.prototype.reverseLineFeed = function() {\n var scrollTop = this.getVTScrollTop();\n var currentRow = this.screen_.cursorPosition.row;\n\n if (currentRow == scrollTop) {\n this.insertLines(1);\n } else {\n this.setAbsoluteCursorRow(currentRow - 1);\n }\n};\n\n/**\n * Replace all characters to the left of the current cursor with the space\n * character.\n *\n * TODO(rginda): This should probably *remove* the characters (not just replace\n * with a space) if there are no characters at or beyond the current cursor\n * position.\n */\nhterm.Terminal.prototype.eraseToLeft = function() {\n var cursor = this.saveCursor();\n this.setCursorColumn(0);\n this.screen_.overwriteString(lib.f.getWhitespace(cursor.column + 1));\n this.restoreCursor(cursor);\n};\n\n/**\n * Erase a given number of characters to the right of the cursor.\n *\n * The cursor position is unchanged.\n *\n * If the current background color is not the default background color this\n * will insert spaces rather than delete. This is unfortunate because the\n * trailing space will affect text selection, but it's difficult to come up\n * with a way to style empty space that wouldn't trip up the hterm.Screen\n * code.\n *\n * eraseToRight is ignored in the presence of a cursor overflow. This deviates\n * from xterm, but agrees with gnome-terminal and konsole, xfce4-terminal. See\n * crbug.com/232390 for details.\n *\n * @param {number} opt_count The number of characters to erase.\n */\nhterm.Terminal.prototype.eraseToRight = function(opt_count) {\n if (this.screen_.cursorPosition.overflow)\n return;\n\n var maxCount = this.screenSize.width - this.screen_.cursorPosition.column;\n var count = opt_count ? Math.min(opt_count, maxCount) : maxCount;\n\n if (this.screen_.textAttributes.background ===\n this.screen_.textAttributes.DEFAULT_COLOR) {\n var cursorRow = this.screen_.rowsArray[this.screen_.cursorPosition.row];\n if (hterm.TextAttributes.nodeWidth(cursorRow) <=\n this.screen_.cursorPosition.column + count) {\n this.screen_.deleteChars(count);\n this.clearCursorOverflow();\n return;\n }\n }\n\n var cursor = this.saveCursor();\n this.screen_.overwriteString(lib.f.getWhitespace(count));\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase the current line.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseLine = function() {\n var cursor = this.saveCursor();\n this.screen_.clearCursorRow();\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase all characters from the start of the screen to the current cursor\n * position, regardless of scroll region.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseAbove = function() {\n var cursor = this.saveCursor();\n\n this.eraseToLeft();\n\n for (var i = 0; i < cursor.row; i++) {\n this.setAbsoluteCursorPosition(i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase all characters from the current cursor position to the end of the\n * screen, regardless of scroll region.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseBelow = function() {\n var cursor = this.saveCursor();\n\n this.eraseToRight();\n\n var bottom = this.screenSize.height - 1;\n for (var i = cursor.row + 1; i <= bottom; i++) {\n this.setAbsoluteCursorPosition(i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Fill the terminal with a given character.\n *\n * This methods does not respect the VT scroll region.\n *\n * @param {string} ch The character to use for the fill.\n */\nhterm.Terminal.prototype.fill = function(ch) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorPosition(0, 0);\n for (var row = 0; row < this.screenSize.height; row++) {\n for (var col = 0; col < this.screenSize.width; col++) {\n this.setAbsoluteCursorPosition(row, col);\n this.screen_.overwriteString(ch);\n }\n }\n\n this.restoreCursor(cursor);\n};\n\n/**\n * Erase the entire display and leave the cursor at (0, 0).\n *\n * This does not respect the scroll region.\n *\n * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults\n * to the current screen.\n */\nhterm.Terminal.prototype.clearHome = function(opt_screen) {\n var screen = opt_screen || this.screen_;\n var bottom = screen.getHeight();\n\n if (bottom == 0) {\n // Empty screen, nothing to do.\n return;\n }\n\n for (var i = 0; i < bottom; i++) {\n screen.setCursorPosition(i, 0);\n screen.clearCursorRow();\n }\n\n screen.setCursorPosition(0, 0);\n};\n\n/**\n * Erase the entire display without changing the cursor position.\n *\n * The cursor position is unchanged. This does not respect the scroll\n * region.\n *\n * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults\n * to the current screen.\n */\nhterm.Terminal.prototype.clear = function(opt_screen) {\n var screen = opt_screen || this.screen_;\n var cursor = screen.cursorPosition.clone();\n this.clearHome(screen);\n screen.setCursorPosition(cursor.row, cursor.column);\n};\n\n/**\n * VT command to insert lines at the current cursor row.\n *\n * This respects the current scroll region. Rows pushed off the bottom are\n * lost (they won't show up in the scrollback buffer).\n *\n * @param {integer} count The number of lines to insert.\n */\nhterm.Terminal.prototype.insertLines = function(count) {\n var cursorRow = this.screen_.cursorPosition.row;\n\n var bottom = this.getVTScrollBottom();\n count = Math.min(count, bottom - cursorRow);\n\n // The moveCount is the number of rows we need to relocate to make room for\n // the new row(s). The count is the distance to move them.\n var moveCount = bottom - cursorRow - count + 1;\n if (moveCount)\n this.moveRows_(cursorRow, moveCount, cursorRow + count);\n\n for (var i = count - 1; i >= 0; i--) {\n this.setAbsoluteCursorPosition(cursorRow + i, 0);\n this.screen_.clearCursorRow();\n }\n};\n\n/**\n * VT command to delete lines at the current cursor row.\n *\n * New rows are added to the bottom of scroll region to take their place. New\n * rows are strictly there to take up space and have no content or style.\n *\n * @param {number} count The number of lines to delete.\n */\nhterm.Terminal.prototype.deleteLines = function(count) {\n var cursor = this.saveCursor();\n\n var top = cursor.row;\n var bottom = this.getVTScrollBottom();\n\n var maxCount = bottom - top + 1;\n count = Math.min(count, maxCount);\n\n var moveStart = bottom - count + 1;\n if (count != maxCount)\n this.moveRows_(top, count, moveStart);\n\n for (var i = 0; i < count; i++) {\n this.setAbsoluteCursorPosition(moveStart + i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Inserts the given number of spaces at the current cursor position.\n *\n * The cursor position is not changed.\n *\n * @param {number} count The number of spaces to insert.\n */\nhterm.Terminal.prototype.insertSpace = function(count) {\n var cursor = this.saveCursor();\n\n var ws = lib.f.getWhitespace(count || 1);\n this.screen_.insertString(ws);\n this.screen_.maybeClipCurrentRow();\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Forward-delete the specified number of characters starting at the cursor\n * position.\n *\n * @param {integer} count The number of characters to delete.\n */\nhterm.Terminal.prototype.deleteChars = function(count) {\n var deleted = this.screen_.deleteChars(count);\n if (deleted && !this.screen_.textAttributes.isDefault()) {\n var cursor = this.saveCursor();\n this.setCursorColumn(this.screenSize.width - deleted);\n this.screen_.insertString(lib.f.getWhitespace(deleted));\n this.restoreCursor(cursor);\n }\n\n this.clearCursorOverflow();\n};\n\n/**\n * Shift rows in the scroll region upwards by a given number of lines.\n *\n * New rows are inserted at the bottom of the scroll region to fill the\n * vacated rows. The new rows not filled out with the current text attributes.\n *\n * This function does not affect the scrollback rows at all. Rows shifted\n * off the top are lost.\n *\n * The cursor position is not altered.\n *\n * @param {integer} count The number of rows to scroll.\n */\nhterm.Terminal.prototype.vtScrollUp = function(count) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorRow(this.getVTScrollTop());\n this.deleteLines(count);\n\n this.restoreCursor(cursor);\n};\n\n/**\n * Shift rows below the cursor down by a given number of lines.\n *\n * This function respects the current scroll region.\n *\n * New rows are inserted at the top of the scroll region to fill the\n * vacated rows. The new rows not filled out with the current text attributes.\n *\n * This function does not affect the scrollback rows at all. Rows shifted\n * off the bottom are lost.\n *\n * @param {integer} count The number of rows to scroll.\n */\nhterm.Terminal.prototype.vtScrollDown = function(opt_count) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorPosition(this.getVTScrollTop(), 0);\n this.insertLines(opt_count);\n\n this.restoreCursor(cursor);\n};\n\n\n/**\n * Set the cursor position.\n *\n * The cursor row is relative to the scroll region if the terminal has\n * 'origin mode' enabled, or relative to the addressable screen otherwise.\n *\n * @param {integer} row The new zero-based cursor row.\n * @param {integer} row The new zero-based cursor column.\n */\nhterm.Terminal.prototype.setCursorPosition = function(row, column) {\n if (this.options_.originMode) {\n this.setRelativeCursorPosition(row, column);\n } else {\n this.setAbsoluteCursorPosition(row, column);\n }\n};\n\n/**\n * Move the cursor relative to its current position.\n *\n * @param {number} row\n * @param {number} column\n */\nhterm.Terminal.prototype.setRelativeCursorPosition = function(row, column) {\n var scrollTop = this.getVTScrollTop();\n row = lib.f.clamp(row + scrollTop, scrollTop, this.getVTScrollBottom());\n column = lib.f.clamp(column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n};\n\n/**\n * Move the cursor to the specified position.\n *\n * @param {number} row\n * @param {number} column\n */\nhterm.Terminal.prototype.setAbsoluteCursorPosition = function(row, column) {\n row = lib.f.clamp(row, 0, this.screenSize.height - 1);\n column = lib.f.clamp(column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n};\n\n/**\n * Set the cursor column.\n *\n * @param {integer} column The new zero-based cursor column.\n */\nhterm.Terminal.prototype.setCursorColumn = function(column) {\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, column);\n};\n\n/**\n * Return the cursor column.\n *\n * @return {integer} The zero-based cursor column.\n */\nhterm.Terminal.prototype.getCursorColumn = function() {\n return this.screen_.cursorPosition.column;\n};\n\n/**\n * Set the cursor row.\n *\n * The cursor row is relative to the scroll region if the terminal has\n * 'origin mode' enabled, or relative to the addressable screen otherwise.\n *\n * @param {integer} row The new cursor row.\n */\nhterm.Terminal.prototype.setAbsoluteCursorRow = function(row) {\n this.setAbsoluteCursorPosition(row, this.screen_.cursorPosition.column);\n};\n\n/**\n * Return the cursor row.\n *\n * @return {integer} The zero-based cursor row.\n */\nhterm.Terminal.prototype.getCursorRow = function() {\n return this.screen_.cursorPosition.row;\n};\n\n/**\n * Request that the ScrollPort redraw itself soon.\n *\n * The redraw will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single redraw.\n */\nhterm.Terminal.prototype.scheduleRedraw_ = function() {\n if (this.timeouts_.redraw)\n return;\n\n var self = this;\n this.timeouts_.redraw = setTimeout(function() {\n delete self.timeouts_.redraw;\n self.scrollPort_.redraw_();\n }, 0);\n};\n\n/**\n * Request that the ScrollPort be scrolled to the bottom.\n *\n * The scroll will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single scroll.\n *\n * This affects the scrollbar position of the ScrollPort, and has nothing to\n * do with the VT scroll commands.\n */\nhterm.Terminal.prototype.scheduleScrollDown_ = function() {\n if (this.timeouts_.scrollDown)\n return;\n\n var self = this;\n this.timeouts_.scrollDown = setTimeout(function() {\n delete self.timeouts_.scrollDown;\n self.scrollPort_.scrollRowToBottom(self.getRowCount());\n }, 10);\n};\n\n/**\n * Move the cursor up a specified number of rows.\n *\n * @param {integer} count The number of rows to move the cursor.\n */\nhterm.Terminal.prototype.cursorUp = function(count) {\n return this.cursorDown(-(count || 1));\n};\n\n/**\n * Move the cursor down a specified number of rows.\n *\n * @param {integer} count The number of rows to move the cursor.\n */\nhterm.Terminal.prototype.cursorDown = function(count) {\n count = count || 1;\n var minHeight = (this.options_.originMode ? this.getVTScrollTop() : 0);\n var maxHeight = (this.options_.originMode ? this.getVTScrollBottom() :\n this.screenSize.height - 1);\n\n var row = lib.f.clamp(this.screen_.cursorPosition.row + count,\n minHeight, maxHeight);\n this.setAbsoluteCursorRow(row);\n};\n\n/**\n * Move the cursor left a specified number of columns.\n *\n * If reverse wraparound mode is enabled and the previous row wrapped into\n * the current row then we back up through the wraparound as well.\n *\n * @param {integer} count The number of columns to move the cursor.\n */\nhterm.Terminal.prototype.cursorLeft = function(count) {\n count = count || 1;\n\n if (count < 1)\n return;\n\n var currentColumn = this.screen_.cursorPosition.column;\n if (this.options_.reverseWraparound) {\n if (this.screen_.cursorPosition.overflow) {\n // If this cursor is in the right margin, consume one count to get it\n // back to the last column. This only applies when we're in reverse\n // wraparound mode.\n count--;\n this.clearCursorOverflow();\n\n if (!count)\n return;\n }\n\n var newRow = this.screen_.cursorPosition.row;\n var newColumn = currentColumn - count;\n if (newColumn < 0) {\n newRow = newRow - Math.floor(count / this.screenSize.width) - 1;\n if (newRow < 0) {\n // xterm also wraps from row 0 to the last row.\n newRow = this.screenSize.height + newRow % this.screenSize.height;\n }\n newColumn = this.screenSize.width + newColumn % this.screenSize.width;\n }\n\n this.setCursorPosition(Math.max(newRow, 0), newColumn);\n\n } else {\n var newColumn = Math.max(currentColumn - count, 0);\n this.setCursorColumn(newColumn);\n }\n};\n\n/**\n * Move the cursor right a specified number of columns.\n *\n * @param {integer} count The number of columns to move the cursor.\n */\nhterm.Terminal.prototype.cursorRight = function(count) {\n count = count || 1;\n\n if (count < 1)\n return;\n\n var column = lib.f.clamp(this.screen_.cursorPosition.column + count,\n 0, this.screenSize.width - 1);\n this.setCursorColumn(column);\n};\n\n/**\n * Reverse the foreground and background colors of the terminal.\n *\n * This only affects text that was drawn with no attributes.\n *\n * TODO(rginda): Test xterm to see if reverse is respected for text that has\n * been drawn with attributes that happen to coincide with the default\n * 'no-attribute' colors. My guess is probably not.\n *\n * @param {boolean} state The state to set.\n */\nhterm.Terminal.prototype.setReverseVideo = function(state) {\n this.options_.reverseVideo = state;\n if (state) {\n this.scrollPort_.setForegroundColor(this.prefs_.get('background-color'));\n this.scrollPort_.setBackgroundColor(this.prefs_.get('foreground-color'));\n } else {\n this.scrollPort_.setForegroundColor(this.prefs_.get('foreground-color'));\n this.scrollPort_.setBackgroundColor(this.prefs_.get('background-color'));\n }\n};\n\n/**\n * Ring the terminal bell.\n *\n * This will not play the bell audio more than once per second.\n */\nhterm.Terminal.prototype.ringBell = function() {\n this.cursorNode_.style.backgroundColor =\n this.scrollPort_.getForegroundColor();\n\n var self = this;\n setTimeout(function() {\n self.cursorNode_.style.backgroundColor = self.prefs_.get('cursor-color');\n }, 200);\n\n // bellSquelchTimeout_ affects both audio and notification bells.\n if (this.bellSquelchTimeout_)\n return;\n\n if (this.bellAudio_.getAttribute('src')) {\n this.bellAudio_.play();\n this.bellSequelchTimeout_ = setTimeout(function() {\n delete this.bellSquelchTimeout_;\n }.bind(this), 500);\n } else {\n delete this.bellSquelchTimeout_;\n }\n\n if (this.desktopNotificationBell_ && !this.document_.hasFocus()) {\n var n = hterm.notify();\n this.bellNotificationList_.push(n);\n // TODO: Should we try to raise the window here?\n n.onclick = function() { self.closeBellNotifications_(); };\n }\n};\n\n/**\n * Set the origin mode bit.\n *\n * If origin mode is on, certain VT cursor and scrolling commands measure their\n * row parameter relative to the VT scroll region. Otherwise, row 0 corresponds\n * to the top of the addressable screen.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set origin mode, false to unset.\n */\nhterm.Terminal.prototype.setOriginMode = function(state) {\n this.options_.originMode = state;\n this.setCursorPosition(0, 0);\n};\n\n/**\n * Set the insert mode bit.\n *\n * If insert mode is on, existing text beyond the cursor position will be\n * shifted right to make room for new text. Otherwise, new text overwrites\n * any existing text.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set insert mode, false to unset.\n */\nhterm.Terminal.prototype.setInsertMode = function(state) {\n this.options_.insertMode = state;\n};\n\n/**\n * Set the auto carriage return bit.\n *\n * If auto carriage return is on then a formfeed character is interpreted\n * as a newline, otherwise it's the same as a linefeed. The difference boils\n * down to whether or not the cursor column is reset.\n *\n * @param {boolean} state The state to set.\n */\nhterm.Terminal.prototype.setAutoCarriageReturn = function(state) {\n this.options_.autoCarriageReturn = state;\n};\n\n/**\n * Set the wraparound mode bit.\n *\n * If wraparound mode is on, certain VT commands will allow the cursor to wrap\n * to the start of the following row. Otherwise, the cursor is clamped to the\n * end of the screen and attempts to write past it are ignored.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set wraparound mode, false to unset.\n */\nhterm.Terminal.prototype.setWraparound = function(state) {\n this.options_.wraparound = state;\n};\n\n/**\n * Set the reverse-wraparound mode bit.\n *\n * If wraparound mode is off, certain VT commands will allow the cursor to wrap\n * to the end of the previous row. Otherwise, the cursor is clamped to column\n * 0.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set reverse-wraparound mode, false to unset.\n */\nhterm.Terminal.prototype.setReverseWraparound = function(state) {\n this.options_.reverseWraparound = state;\n};\n\n/**\n * Selects between the primary and alternate screens.\n *\n * If alternate mode is on, the alternate screen is active. Otherwise the\n * primary screen is active.\n *\n * Swapping screens has no effect on the scrollback buffer.\n *\n * Each screen maintains its own cursor position.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set alternate mode, false to unset.\n */\nhterm.Terminal.prototype.setAlternateMode = function(state) {\n var cursor = this.saveCursor();\n this.screen_ = state ? this.alternateScreen_ : this.primaryScreen_;\n\n if (this.screen_.rowsArray.length &&\n this.screen_.rowsArray[0].rowIndex != this.scrollbackRows_.length) {\n // If the screen changed sizes while we were away, our rowIndexes may\n // be incorrect.\n var offset = this.scrollbackRows_.length;\n var ary = this.screen_.rowsArray;\n for (var i = 0; i < ary.length; i++) {\n ary[i].rowIndex = offset + i;\n }\n }\n\n this.realizeWidth_(this.screenSize.width);\n this.realizeHeight_(this.screenSize.height);\n this.scrollPort_.syncScrollHeight();\n this.scrollPort_.invalidate();\n\n this.restoreCursor(cursor);\n this.scrollPort_.resize();\n};\n\n/**\n * Set the cursor-blink mode bit.\n *\n * If cursor-blink is on, the cursor will blink when it is visible. Otherwise\n * a visible cursor does not blink.\n *\n * You should make sure to turn blinking off if you're going to dispose of a\n * terminal, otherwise you'll leak a timeout.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set cursor-blink mode, false to unset.\n */\nhterm.Terminal.prototype.setCursorBlink = function(state) {\n this.options_.cursorBlink = state;\n\n if (!state && this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n\n if (this.options_.cursorVisible)\n this.setCursorVisible(true);\n};\n\n/**\n * Set the cursor-visible mode bit.\n *\n * If cursor-visible is on, the cursor will be visible. Otherwise it will not.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set cursor-visible mode, false to unset.\n */\nhterm.Terminal.prototype.setCursorVisible = function(state) {\n this.options_.cursorVisible = state;\n\n if (!state) {\n if (this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n this.cursorNode_.style.opacity = '0';\n return;\n }\n\n this.syncCursorPosition_();\n\n this.cursorNode_.style.opacity = '1';\n\n if (this.options_.cursorBlink) {\n if (this.timeouts_.cursorBlink)\n return;\n\n this.onCursorBlink_();\n } else {\n if (this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n }\n};\n\n/**\n * Synchronizes the visible cursor and document selection with the current\n * cursor coordinates.\n */\nhterm.Terminal.prototype.syncCursorPosition_ = function() {\n var topRowIndex = this.scrollPort_.getTopRowIndex();\n var bottomRowIndex = this.scrollPort_.getBottomRowIndex(topRowIndex);\n var cursorRowIndex = this.scrollbackRows_.length +\n this.screen_.cursorPosition.row;\n\n if (cursorRowIndex > bottomRowIndex) {\n // Cursor is scrolled off screen, move it outside of the visible area.\n this.setCssVar('cursor-offset-row', '-1');\n return;\n }\n\n if (this.options_.cursorVisible &&\n this.cursorNode_.style.display == 'none') {\n // Re-display the terminal cursor if it was hidden by the mouse cursor.\n this.cursorNode_.style.display = '';\n }\n\n // Position the cursor using CSS variable math. If we do the math in JS,\n // the float math will end up being more precise than the CSS which will\n // cause the cursor tracking to be off.\n this.setCssVar(\n 'cursor-offset-row',\n `${cursorRowIndex - topRowIndex} + ` +\n `${this.scrollPort_.visibleRowTopMargin}px`);\n this.setCssVar('cursor-offset-col', this.screen_.cursorPosition.column);\n\n this.cursorNode_.setAttribute('title',\n '(' + this.screen_.cursorPosition.column +\n ', ' + this.screen_.cursorPosition.row +\n ')');\n\n // Update the caret for a11y purposes.\n var selection = this.document_.getSelection();\n if (selection && selection.isCollapsed)\n this.screen_.syncSelectionCaret(selection);\n};\n\n/**\n * Adjusts the style of this.cursorNode_ according to the current cursor shape\n * and character cell dimensions.\n */\nhterm.Terminal.prototype.restyleCursor_ = function() {\n var shape = this.cursorShape_;\n\n if (this.cursorNode_.getAttribute('focus') == 'false') {\n // Always show a block cursor when unfocused.\n shape = hterm.Terminal.cursorShape.BLOCK;\n }\n\n var style = this.cursorNode_.style;\n\n switch (shape) {\n case hterm.Terminal.cursorShape.BEAM:\n style.height = 'var(--hterm-charsize-height)';\n style.backgroundColor = 'transparent';\n style.borderBottomStyle = null;\n style.borderLeftStyle = 'solid';\n break;\n\n case hterm.Terminal.cursorShape.UNDERLINE:\n style.height = this.scrollPort_.characterSize.baseline + 'px';\n style.backgroundColor = 'transparent';\n style.borderBottomStyle = 'solid';\n // correct the size to put it exactly at the baseline\n style.borderLeftStyle = null;\n break;\n\n default:\n style.height = 'var(--hterm-charsize-height)';\n style.backgroundColor = this.cursorColor_;\n style.borderBottomStyle = null;\n style.borderLeftStyle = null;\n break;\n }\n};\n\n/**\n * Synchronizes the visible cursor with the current cursor coordinates.\n *\n * The sync will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single sync.\n */\nhterm.Terminal.prototype.scheduleSyncCursorPosition_ = function() {\n if (this.timeouts_.syncCursor)\n return;\n\n var self = this;\n this.timeouts_.syncCursor = setTimeout(function() {\n self.syncCursorPosition_();\n delete self.timeouts_.syncCursor;\n }, 0);\n};\n\n/**\n * Show or hide the zoom warning.\n *\n * The zoom warning is a message warning the user that their browser zoom must\n * be set to 100% in order for hterm to function properly.\n *\n * @param {boolean} state True to show the message, false to hide it.\n */\nhterm.Terminal.prototype.showZoomWarning_ = function(state) {\n if (!this.zoomWarningNode_) {\n if (!state)\n return;\n\n this.zoomWarningNode_ = this.document_.createElement('div');\n this.zoomWarningNode_.id = 'hterm:zoom-warning';\n this.zoomWarningNode_.style.cssText = (\n 'color: black;' +\n 'background-color: #ff2222;' +\n 'font-size: large;' +\n 'border-radius: 8px;' +\n 'opacity: 0.75;' +\n 'padding: 0.2em 0.5em 0.2em 0.5em;' +\n 'top: 0.5em;' +\n 'right: 1.2em;' +\n 'position: absolute;' +\n '-webkit-text-size-adjust: none;' +\n '-webkit-user-select: none;' +\n '-moz-text-size-adjust: none;' +\n '-moz-user-select: none;');\n\n this.zoomWarningNode_.addEventListener('click', function(e) {\n this.parentNode.removeChild(this);\n });\n }\n\n this.zoomWarningNode_.textContent = lib.MessageManager.replaceReferences(\n hterm.zoomWarningMessage,\n [parseInt(this.scrollPort_.characterSize.zoomFactor * 100)]);\n\n this.zoomWarningNode_.style.fontFamily = this.prefs_.get('font-family');\n\n if (state) {\n if (!this.zoomWarningNode_.parentNode)\n this.div_.parentNode.appendChild(this.zoomWarningNode_);\n } else if (this.zoomWarningNode_.parentNode) {\n this.zoomWarningNode_.parentNode.removeChild(this.zoomWarningNode_);\n }\n};\n\n/**\n * Show the terminal overlay for a given amount of time.\n *\n * The terminal overlay appears in inverse video in a large font, centered\n * over the terminal. You should probably keep the overlay message brief,\n * since it's in a large font and you probably aren't going to check the size\n * of the terminal first.\n *\n * @param {string} msg The text (not HTML) message to display in the overlay.\n * @param {number} opt_timeout The amount of time to wait before fading out\n * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay\n * stay up forever (or until the next overlay).\n */\nhterm.Terminal.prototype.showOverlay = function(msg, opt_timeout) {\n if (!this.overlayNode_) {\n if (!this.div_)\n return;\n\n this.overlayNode_ = this.document_.createElement('div');\n this.overlayNode_.style.cssText = (\n 'border-radius: 15px;' +\n 'font-size: xx-large;' +\n 'opacity: 0.75;' +\n 'padding: 0.2em 0.5em 0.2em 0.5em;' +\n 'position: absolute;' +\n '-webkit-user-select: none;' +\n '-webkit-transition: opacity 180ms ease-in;' +\n '-moz-user-select: none;' +\n '-moz-transition: opacity 180ms ease-in;');\n\n this.overlayNode_.addEventListener('mousedown', function(e) {\n e.preventDefault();\n e.stopPropagation();\n }, true);\n }\n\n this.overlayNode_.style.color = this.prefs_.get('background-color');\n this.overlayNode_.style.backgroundColor = this.prefs_.get('foreground-color');\n this.overlayNode_.style.fontFamily = this.prefs_.get('font-family');\n\n this.overlayNode_.textContent = msg;\n this.overlayNode_.style.opacity = '0.75';\n\n if (!this.overlayNode_.parentNode)\n this.div_.appendChild(this.overlayNode_);\n\n var divSize = hterm.getClientSize(this.div_);\n var overlaySize = hterm.getClientSize(this.overlayNode_);\n\n this.overlayNode_.style.top =\n (divSize.height - overlaySize.height) / 2 + 'px';\n this.overlayNode_.style.left = (divSize.width - overlaySize.width -\n this.scrollPort_.currentScrollbarWidthPx) / 2 + 'px';\n\n var self = this;\n\n if (this.overlayTimeout_)\n clearTimeout(this.overlayTimeout_);\n\n if (opt_timeout === null)\n return;\n\n this.overlayTimeout_ = setTimeout(function() {\n self.overlayNode_.style.opacity = '0';\n self.overlayTimeout_ = setTimeout(function() {\n if (self.overlayNode_.parentNode)\n self.overlayNode_.parentNode.removeChild(self.overlayNode_);\n self.overlayTimeout_ = null;\n self.overlayNode_.style.opacity = '0.75';\n }, 200);\n }, opt_timeout || 1500);\n};\n\n/**\n * Paste from the system clipboard to the terminal.\n */\nhterm.Terminal.prototype.paste = function() {\n return hterm.pasteFromClipboard(this.document_);\n};\n\n/**\n * Copy a string to the system clipboard.\n *\n * Note: If there is a selected range in the terminal, it'll be cleared.\n *\n * @param {string} str The string to copy.\n */\nhterm.Terminal.prototype.copyStringToClipboard = function(str) {\n if (this.prefs_.get('enable-clipboard-notice'))\n setTimeout(this.showOverlay.bind(this, hterm.notifyCopyMessage, 500), 200);\n\n var copySource = this.document_.createElement('pre');\n copySource.id = 'hterm:copy-to-clipboard-source';\n copySource.textContent = str;\n copySource.style.cssText = (\n '-webkit-user-select: text;' +\n '-moz-user-select: text;' +\n 'position: absolute;' +\n 'top: -99px');\n\n this.document_.body.appendChild(copySource);\n\n var selection = this.document_.getSelection();\n var anchorNode = selection.anchorNode;\n var anchorOffset = selection.anchorOffset;\n var focusNode = selection.focusNode;\n var focusOffset = selection.focusOffset;\n\n selection.selectAllChildren(copySource);\n\n hterm.copySelectionToClipboard(this.document_);\n\n // IE doesn't support selection.extend. This means that the selection\n // won't return on IE.\n if (selection.extend) {\n selection.collapse(anchorNode, anchorOffset);\n selection.extend(focusNode, focusOffset);\n }\n\n copySource.parentNode.removeChild(copySource);\n};\n\n/**\n * Returns the selected text, or null if no text is selected.\n *\n * @return {string|null}\n */\nhterm.Terminal.prototype.getSelectionText = function() {\n var selection = this.scrollPort_.selection;\n selection.sync();\n\n if (selection.isCollapsed)\n return null;\n\n\n // Start offset measures from the beginning of the line.\n var startOffset = selection.startOffset;\n var node = selection.startNode;\n\n if (node.nodeName != 'X-ROW') {\n // If the selection doesn't start on an x-row node, then it must be\n // somewhere inside the x-row. Add any characters from previous siblings\n // into the start offset.\n\n if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') {\n // If node is the text node in a styled span, move up to the span node.\n node = node.parentNode;\n }\n\n while (node.previousSibling) {\n node = node.previousSibling;\n startOffset += hterm.TextAttributes.nodeWidth(node);\n }\n }\n\n // End offset measures from the end of the line.\n var endOffset = (hterm.TextAttributes.nodeWidth(selection.endNode) -\n selection.endOffset);\n node = selection.endNode;\n\n if (node.nodeName != 'X-ROW') {\n // If the selection doesn't end on an x-row node, then it must be\n // somewhere inside the x-row. Add any characters from following siblings\n // into the end offset.\n\n if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') {\n // If node is the text node in a styled span, move up to the span node.\n node = node.parentNode;\n }\n\n while (node.nextSibling) {\n node = node.nextSibling;\n endOffset += hterm.TextAttributes.nodeWidth(node);\n }\n }\n\n var rv = this.getRowsText(selection.startRow.rowIndex,\n selection.endRow.rowIndex + 1);\n return lib.wc.substring(rv, startOffset, lib.wc.strWidth(rv) - endOffset);\n};\n\n/**\n * Copy the current selection to the system clipboard, then clear it after a\n * short delay.\n */\nhterm.Terminal.prototype.copySelectionToClipboard = function() {\n var text = this.getSelectionText();\n if (text != null)\n this.copyStringToClipboard(text);\n};\n\nhterm.Terminal.prototype.overlaySize = function() {\n this.showOverlay(this.screenSize.width + 'x' + this.screenSize.height);\n};\n\n/**\n * Invoked by hterm.Terminal.Keyboard when a VT keystroke is detected.\n *\n * @param {string} string The VT string representing the keystroke, in UTF-16.\n */\nhterm.Terminal.prototype.onVTKeystroke = function(string) {\n if (this.scrollOnKeystroke_)\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n\n this.io.onVTKeystroke(this.keyboard.encode(string));\n};\n\n/**\n * Launches url in a new tab.\n *\n * @param {string} url URL to launch in a new tab.\n */\nhterm.Terminal.prototype.openUrl = function(url) {\n if (window.chrome && window.chrome.browser) {\n // For Chrome v2 apps, we need to use this API to properly open windows.\n chrome.browser.openTab({'url': url});\n } else {\n var win = window.open(url, '_blank');\n win.focus();\n }\n}\n\n/**\n * Open the selected url.\n */\nhterm.Terminal.prototype.openSelectedUrl_ = function() {\n var str = this.getSelectionText();\n\n // If there is no selection, try and expand wherever they clicked.\n if (str == null) {\n this.screen_.expandSelection(this.document_.getSelection());\n str = this.getSelectionText();\n\n // If clicking in empty space, return.\n if (str == null)\n return;\n }\n\n // Make sure URL is valid before opening.\n if (str.length > 2048 || str.search(/[\\s\\[\\](){}<>\"'\\\\^`]/) >= 0)\n return;\n\n // If the URI isn't anchored, it'll open relative to the extension.\n // We have no way of knowing the correct schema, so assume http.\n if (str.search('^[a-zA-Z][a-zA-Z0-9+.-]*://') < 0) {\n // We have to whitelist a few protocols that lack authorities and thus\n // never use the //. Like mailto.\n switch (str.split(':', 1)[0]) {\n case 'mailto':\n break;\n default:\n str = 'http://' + str;\n break;\n }\n }\n\n this.openUrl(str);\n}\n\n\n/**\n * Add the terminalRow and terminalColumn properties to mouse events and\n * then forward on to onMouse().\n *\n * The terminalRow and terminalColumn properties contain the (row, column)\n * coordinates for the mouse event.\n *\n * @param {Event} e The mouse event to handle.\n */\nhterm.Terminal.prototype.onMouse_ = function(e) {\n if (e.processedByTerminalHandler_) {\n // We register our event handlers on the document, as well as the cursor\n // and the scroll blocker. Mouse events that occur on the cursor or\n // scroll blocker will also appear on the document, but we don't want to\n // process them twice.\n //\n // We can't just prevent bubbling because that has other side effects, so\n // we decorate the event object with this property instead.\n return;\n }\n\n var reportMouseEvents = (!this.defeatMouseReports_ &&\n this.vt.mouseReport != this.vt.MOUSE_REPORT_DISABLED);\n\n e.processedByTerminalHandler_ = true;\n\n // One based row/column stored on the mouse event.\n e.terminalRow = parseInt((e.clientY - this.scrollPort_.visibleRowTopMargin) /\n this.scrollPort_.characterSize.height) + 1;\n e.terminalColumn = parseInt(e.clientX /\n this.scrollPort_.characterSize.width) + 1;\n\n if (e.type == 'mousedown' && e.terminalColumn > this.screenSize.width) {\n // Mousedown in the scrollbar area.\n return;\n }\n\n if (this.options_.cursorVisible && !reportMouseEvents) {\n // If the cursor is visible and we're not sending mouse events to the\n // host app, then we want to hide the terminal cursor when the mouse\n // cursor is over top. This keeps the terminal cursor from interfering\n // with local text selection.\n if (e.terminalRow - 1 == this.screen_.cursorPosition.row &&\n e.terminalColumn - 1 == this.screen_.cursorPosition.column) {\n this.cursorNode_.style.display = 'none';\n } else if (this.cursorNode_.style.display == 'none') {\n this.cursorNode_.style.display = '';\n }\n }\n\n if (e.type == 'mousedown') {\n if (e.altKey || !reportMouseEvents) {\n // If VT mouse reporting is disabled, or has been defeated with\n // alt-mousedown, then the mouse will act on the local selection.\n this.defeatMouseReports_ = true;\n this.setSelectionEnabled(true);\n } else {\n // Otherwise we defer ownership of the mouse to the VT.\n this.defeatMouseReports_ = false;\n this.document_.getSelection().collapseToEnd();\n this.setSelectionEnabled(false);\n e.preventDefault();\n }\n }\n\n if (!reportMouseEvents) {\n if (e.type == 'dblclick' && this.copyOnSelect) {\n this.screen_.expandSelection(this.document_.getSelection());\n this.copySelectionToClipboard(this.document_);\n }\n\n if (e.type == 'click' && !e.shiftKey && (e.ctrlKey || e.metaKey)) {\n // Debounce this event with the dblclick event. If you try to doubleclick\n // a URL to open it, Chrome will fire click then dblclick, but we won't\n // have expanded the selection text at the first click event.\n clearTimeout(this.timeouts_.openUrl);\n this.timeouts_.openUrl = setTimeout(this.openSelectedUrl_.bind(this),\n 500);\n return;\n }\n\n if (e.type == 'mousedown') {\n if ((this.mouseRightClickPaste && e.button == 2 /* right button */) ||\n e.button == this.mousePasteButton) {\n if (!this.paste())\n console.warning('Could not paste manually due to web restrictions');;\n }\n }\n\n if (e.type == 'mouseup' && e.button == 0 && this.copyOnSelect &&\n !this.document_.getSelection().isCollapsed) {\n this.copySelectionToClipboard(this.document_);\n }\n\n if ((e.type == 'mousemove' || e.type == 'mouseup') &&\n this.scrollBlockerNode_.engaged) {\n // Disengage the scroll-blocker after one of these events.\n this.scrollBlockerNode_.engaged = false;\n this.scrollBlockerNode_.style.top = '-99px';\n }\n\n // Emulate arrow key presses via scroll wheel events.\n if (this.scrollWheelArrowKeys_ && !e.shiftKey &&\n this.keyboard.applicationCursor && !this.isPrimaryScreen()) {\n if (e.type == 'wheel') {\n var delta = this.scrollPort_.scrollWheelDelta(e);\n var lines = lib.f.smartFloorDivide(\n Math.abs(delta), this.scrollPort_.characterSize.height);\n\n var data = '\\x1bO' + (delta < 0 ? 'B' : 'A');\n this.io.sendString(data.repeat(lines));\n\n e.preventDefault();\n }\n }\n } else /* if (this.reportMouseEvents) */ {\n if (!this.scrollBlockerNode_.engaged) {\n if (e.type == 'mousedown') {\n // Move the scroll-blocker into place if we want to keep the scrollport\n // from scrolling.\n this.scrollBlockerNode_.engaged = true;\n this.scrollBlockerNode_.style.top = (e.clientY - 5) + 'px';\n this.scrollBlockerNode_.style.left = (e.clientX - 5) + 'px';\n } else if (e.type == 'mousemove') {\n // Oh. This means that drag-scroll was disabled AFTER the mouse down,\n // in which case it's too late to engage the scroll-blocker.\n this.document_.getSelection().collapseToEnd();\n e.preventDefault();\n }\n }\n\n this.onMouse(e);\n }\n\n if (e.type == 'mouseup' && this.document_.getSelection().isCollapsed) {\n // Restore this on mouseup in case it was temporarily defeated with a\n // alt-mousedown. Only do this when the selection is empty so that\n // we don't immediately kill the users selection.\n this.defeatMouseReports_ = false;\n }\n};\n\n/**\n * Clients should override this if they care to know about mouse events.\n *\n * The event parameter will be a normal DOM mouse click event with additional\n * 'terminalRow' and 'terminalColumn' properties.\n *\n * @param {Event} e The mouse event to handle.\n */\nhterm.Terminal.prototype.onMouse = function(e) { };\n\n/**\n * React when focus changes.\n *\n * @param {boolean} focused True if focused, false otherwise.\n */\nhterm.Terminal.prototype.onFocusChange_ = function(focused) {\n this.cursorNode_.setAttribute('focus', focused);\n this.restyleCursor_();\n if (focused === true)\n this.closeBellNotifications_();\n};\n\n/**\n * React when the ScrollPort is scrolled.\n */\nhterm.Terminal.prototype.onScroll_ = function() {\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * React when text is pasted into the scrollPort.\n *\n * @param {Event} e The DOM paste event to handle.\n */\nhterm.Terminal.prototype.onPaste_ = function(e) {\n var data = e.text.replace(/\\n/mg, '\\r');\n data = this.keyboard.encode(data);\n if (this.options_.bracketedPaste)\n data = '\\x1b[200~' + data + '\\x1b[201~';\n\n this.io.sendString(data);\n};\n\n/**\n * React when the user tries to copy from the scrollPort.\n *\n * @param {Event} e The DOM copy event.\n */\nhterm.Terminal.prototype.onCopy_ = function(e) {\n if (!this.useDefaultWindowCopy) {\n e.preventDefault();\n setTimeout(this.copySelectionToClipboard.bind(this), 0);\n }\n};\n\n/**\n * React when the ScrollPort is resized.\n *\n * Note: This function should not directly contain code that alters the internal\n * state of the terminal. That kind of code belongs in realizeWidth or\n * realizeHeight, so that it can be executed synchronously in the case of a\n * programmatic width change.\n */\nhterm.Terminal.prototype.onResize_ = function() {\n var columnCount = Math.floor(this.scrollPort_.getScreenWidth() /\n this.scrollPort_.characterSize.width) || 0;\n var rowCount = lib.f.smartFloorDivide(this.scrollPort_.getScreenHeight(),\n this.scrollPort_.characterSize.height) || 0;\n\n if (columnCount <= 0 || rowCount <= 0) {\n // We avoid these situations since they happen sometimes when the terminal\n // gets removed from the document or during the initial load, and we can't\n // deal with that.\n // This can also happen if called before the scrollPort calculates the\n // character size, meaning we dived by 0 above and default to 0 values.\n return;\n }\n\n var isNewSize = (columnCount != this.screenSize.width ||\n rowCount != this.screenSize.height);\n\n // We do this even if the size didn't change, just to be sure everything is\n // in sync.\n this.realizeSize_(columnCount, rowCount);\n this.showZoomWarning_(this.scrollPort_.characterSize.zoomFactor != 1);\n\n if (isNewSize)\n this.overlaySize();\n\n this.restyleCursor_();\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Service the cursor blink timeout.\n */\nhterm.Terminal.prototype.onCursorBlink_ = function() {\n if (!this.options_.cursorBlink) {\n delete this.timeouts_.cursorBlink;\n return;\n }\n\n if (this.cursorNode_.getAttribute('focus') == 'false' ||\n this.cursorNode_.style.opacity == '0') {\n this.cursorNode_.style.opacity = '1';\n this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_,\n this.cursorBlinkCycle_[0]);\n } else {\n this.cursorNode_.style.opacity = '0';\n this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_,\n this.cursorBlinkCycle_[1]);\n }\n};\n\n/**\n * Set the scrollbar-visible mode bit.\n *\n * If scrollbar-visible is on, the vertical scrollbar will be visible.\n * Otherwise it will not.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set scrollbar-visible mode, false to unset.\n */\nhterm.Terminal.prototype.setScrollbarVisible = function(state) {\n this.scrollPort_.setScrollbarVisible(state);\n};\n\n/**\n * Set the scroll wheel move multiplier. This will affect how fast the page\n * scrolls on wheel events.\n *\n * Defaults to 1.\n *\n * @param {number} multiplier The multiplier to set.\n */\nhterm.Terminal.prototype.setScrollWheelMoveMultipler = function(multiplier) {\n this.scrollPort_.setScrollWheelMoveMultipler(multiplier);\n};\n\n/**\n * Close all web notifications created by terminal bells.\n */\nhterm.Terminal.prototype.closeBellNotifications_ = function() {\n this.bellNotificationList_.forEach(function(n) {\n n.close();\n });\n this.bellNotificationList_.length = 0;\n};\n// SOURCE FILE: hterm/js/hterm_terminal_io.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.encodeUTF8');\n\n/**\n * Input/Output interface used by commands to communicate with the terminal.\n *\n * Commands like `nassh` and `crosh` receive an instance of this class as\n * part of their argv object. This allows them to write to and read from the\n * terminal without exposing them to an entire hterm.Terminal instance.\n *\n * The active command must override the onVTKeystroke() and sendString() methods\n * of this class in order to receive keystrokes and send output to the correct\n * destination.\n *\n * Isolating commands from the terminal provides the following benefits:\n * - Provides a mechanism to save and restore onVTKeystroke and sendString\n * handlers when invoking subcommands (see the push() and pop() methods).\n * - The isolation makes it easier to make changes in Terminal and supporting\n * classes without affecting commands.\n * - In The Future commands may run in web workers where they would only be able\n * to talk to a Terminal instance through an IPC mechanism.\n *\n * @param {hterm.Terminal}\n */\nhterm.Terminal.IO = function(terminal) {\n this.terminal_ = terminal;\n\n // The IO object to restore on IO.pop().\n this.previousIO_ = null;\n};\n\n/**\n * Show the terminal overlay for a given amount of time.\n *\n * The terminal overlay appears in inverse video in a large font, centered\n * over the terminal. You should probably keep the overlay message brief,\n * since it's in a large font and you probably aren't going to check the size\n * of the terminal first.\n *\n * @param {string} msg The text (not HTML) message to display in the overlay.\n * @param {number} opt_timeout The amount of time to wait before fading out\n * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay\n * stay up forever (or until the next overlay).\n */\nhterm.Terminal.IO.prototype.showOverlay = function(message, opt_timeout) {\n this.terminal_.showOverlay(message, opt_timeout);\n};\n\n/**\n * Open an frame in the current terminal window, pointed to the specified\n * url.\n *\n * Eventually we'll probably need size/position/decoration options.\n * The user should also be able to move/resize the frame.\n *\n * @param {string} url The URL to load in the frame.\n * @param {Object} opt_options Optional frame options. Not implemented.\n */\nhterm.Terminal.IO.prototype.createFrame = function(url, opt_options) {\n return new hterm.Frame(this.terminal_, url, opt_options);\n};\n\n/**\n * Change the preference profile for the terminal.\n *\n * @param profileName {string} The name of the preference profile to activate.\n */\nhterm.Terminal.IO.prototype.setTerminalProfile = function(profileName) {\n this.terminal_.setProfile(profileName);\n};\n\n/**\n * Create a new hterm.Terminal.IO instance and make it active on the Terminal\n * object associated with this instance.\n *\n * This is used to pass control of the terminal IO off to a subcommand. The\n * IO.pop() method can be used to restore control when the subcommand completes.\n */\nhterm.Terminal.IO.prototype.push = function() {\n var io = new hterm.Terminal.IO(this.terminal_);\n io.keyboardCaptured_ = this.keyboardCaptured_;\n\n io.columnCount = this.columnCount;\n io.rowCount = this.rowCount;\n\n io.previousIO_ = this.terminal_.io;\n this.terminal_.io = io;\n\n return io;\n};\n\n/**\n * Restore the Terminal's previous IO object.\n */\nhterm.Terminal.IO.prototype.pop = function() {\n this.terminal_.io = this.previousIO_;\n};\n\n/**\n * Called when data needs to be sent to the current command.\n *\n * Clients should override this to receive notification of pending data.\n *\n * @param {string} string The data to send.\n */\nhterm.Terminal.IO.prototype.sendString = function(string) {\n // Override this.\n console.log('Unhandled sendString: ' + string);\n};\n\n/**\n * Called when a terminal keystroke is detected.\n *\n * Clients should override this to receive notification of keystrokes.\n *\n * The keystroke data will be encoded according to the 'send-encoding'\n * preference.\n *\n * @param {string} string The VT key sequence.\n */\nhterm.Terminal.IO.prototype.onVTKeystroke = function(string) {\n // Override this.\n console.log('Unobserverd VT keystroke: ' + JSON.stringify(string));\n};\n\nhterm.Terminal.IO.prototype.onTerminalResize_ = function(width, height) {\n var obj = this;\n while (obj) {\n obj.columnCount = width;\n obj.rowCount = height;\n obj = obj.previousIO_;\n }\n\n this.onTerminalResize(width, height);\n};\n\n/**\n * Called when terminal size is changed.\n *\n * Clients should override this to receive notification of resize.\n *\n * @param {string|integer} terminal width.\n * @param {string|integer} terminal height.\n */\nhterm.Terminal.IO.prototype.onTerminalResize = function(width, height) {\n // Override this.\n};\n\n/**\n * Write a UTF-8 encoded byte string to the terminal.\n *\n * @param {string} string The UTF-8 encoded string to print.\n */\nhterm.Terminal.IO.prototype.writeUTF8 = function(string) {\n if (this.terminal_.io != this)\n throw 'Attempt to print from inactive IO object.';\n\n this.terminal_.interpret(string);\n};\n\n/**\n * Write a UTF-8 encoded byte string to the terminal followed by crlf.\n *\n * @param {string} string The UTF-8 encoded string to print.\n */\nhterm.Terminal.IO.prototype.writelnUTF8 = function(string) {\n if (this.terminal_.io != this)\n throw 'Attempt to print from inactive IO object.';\n\n this.terminal_.interpret(string + '\\r\\n');\n};\n\n/**\n * Write a UTF-16 JavaScript string to the terminal.\n *\n * @param {string} string The string to print.\n */\nhterm.Terminal.IO.prototype.print =\nhterm.Terminal.IO.prototype.writeUTF16 = function(string) {\n this.writeUTF8(lib.encodeUTF8(string));\n};\n\n/**\n * Print a UTF-16 JavaScript string to the terminal followed by a newline.\n *\n * @param {string} string The string to print.\n */\nhterm.Terminal.IO.prototype.println =\nhterm.Terminal.IO.prototype.writelnUTF16 = function(string) {\n this.writelnUTF8(lib.encodeUTF8(string));\n};\n// SOURCE FILE: hterm/js/hterm_text_attributes.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors');\n\n/**\n * Constructor for TextAttribute objects.\n *\n * These objects manage a set of text attributes such as foreground/\n * background color, bold, faint, italic, blink, underline, and strikethrough.\n *\n * TextAttribute instances can be used to construct a DOM container implementing\n * the current attributes, or to test an existing DOM container for\n * compatibility with the current attributes.\n *\n * @constructor\n * @param {HTMLDocument} document The parent document to use when creating\n * new DOM containers.\n */\nhterm.TextAttributes = function(document) {\n this.document_ = document;\n // These variables contain the source of the color as either:\n // SRC_DEFAULT (use context default)\n // SRC_RGB (specified in 'rgb( r, g, b)' form)\n // number (representing the index from color palette to use)\n this.foregroundSource = this.SRC_DEFAULT;\n this.backgroundSource = this.SRC_DEFAULT;\n\n // These properties cache the value in the color table, but foregroundSource\n // and backgroundSource contain the canonical values.\n this.foreground = this.DEFAULT_COLOR;\n this.background = this.DEFAULT_COLOR;\n\n this.defaultForeground = 'rgb(255, 255, 255)';\n this.defaultBackground = 'rgb(0, 0, 0)';\n\n this.bold = false;\n this.faint = false;\n this.italic = false;\n this.blink = false;\n this.underline = false;\n this.strikethrough = false;\n this.inverse = false;\n this.invisible = false;\n this.wcNode = false;\n this.asciiNode = true;\n this.tileData = null;\n\n this.colorPalette = null;\n this.resetColorPalette();\n};\n\n/**\n * If false, we ignore the bold attribute.\n *\n * This is used for fonts that have a bold version that is a different size\n * than the normal weight version.\n */\nhterm.TextAttributes.prototype.enableBold = true;\n\n/**\n * If true, use bright colors (if available) for bold text.\n *\n * This setting is independent of the enableBold setting.\n */\nhterm.TextAttributes.prototype.enableBoldAsBright = true;\n\n/**\n * A sentinel constant meaning \"whatever the default color is in this context\".\n */\nhterm.TextAttributes.prototype.DEFAULT_COLOR = lib.f.createEnum('');\n\n/**\n * A constant string used to specify that source color is context default.\n */\nhterm.TextAttributes.prototype.SRC_DEFAULT = 'default';\n\n\n/**\n * A constant string used to specify that the source of a color is a valid\n * rgb( r, g, b) specifier.\n */\nhterm.TextAttributes.prototype.SRC_RGB = 'rgb';\n\n/**\n * The document object which should own the DOM nodes created by this instance.\n *\n * @param {HTMLDocument} document The parent document.\n */\nhterm.TextAttributes.prototype.setDocument = function(document) {\n this.document_ = document;\n};\n\n/**\n * Create a deep copy of this object.\n *\n * @return {hterm.TextAttributes} A deep copy of this object.\n */\nhterm.TextAttributes.prototype.clone = function() {\n var rv = new hterm.TextAttributes(null);\n\n for (var key in this) {\n rv[key] = this[key];\n }\n\n rv.colorPalette = this.colorPalette.concat();\n return rv;\n};\n\n/**\n * Reset the current set of attributes.\n *\n * This does not affect the palette. Use resetColorPalette() for that.\n * It also doesn't affect the tile data, it's not meant to.\n */\nhterm.TextAttributes.prototype.reset = function() {\n this.foregroundSource = this.SRC_DEFAULT;\n this.backgroundSource = this.SRC_DEFAULT;\n this.foreground = this.DEFAULT_COLOR;\n this.background = this.DEFAULT_COLOR;\n this.bold = false;\n this.faint = false;\n this.italic = false;\n this.blink = false;\n this.underline = false;\n this.strikethrough = false;\n this.inverse = false;\n this.invisible = false;\n this.wcNode = false;\n this.asciiNode = true;\n};\n\n/**\n * Reset the color palette to the default state.\n */\nhterm.TextAttributes.prototype.resetColorPalette = function() {\n this.colorPalette = lib.colors.colorPalette.concat();\n this.syncColors();\n};\n\n/**\n * Test if the current attributes describe unstyled text.\n *\n * @return {boolean} True if the current attributes describe unstyled text.\n */\nhterm.TextAttributes.prototype.isDefault = function() {\n return (this.foregroundSource == this.SRC_DEFAULT &&\n this.backgroundSource == this.SRC_DEFAULT &&\n !this.bold &&\n !this.faint &&\n !this.italic &&\n !this.blink &&\n !this.underline &&\n !this.strikethrough &&\n !this.inverse &&\n !this.invisible &&\n !this.wcNode &&\n this.asciiNode &&\n this.tileData == null);\n};\n\n/**\n * Create a DOM container (a span or a text node) with a style to match the\n * current set of attributes.\n *\n * This method will create a plain text node if the text is unstyled, or\n * an HTML span if the text is styled. Due to lack of monospace wide character\n * fonts on certain systems (e.g. Chrome OS), we need to put each wide character\n * in a span of CSS class '.wc-node' which has double column width.\n * Each vt_tiledata tile is also represented by a span with a single\n * character, with CSS classes '.tile' and '.tile_'.\n *\n * @param {string} opt_textContent Optional text content for the new container.\n * @return {HTMLNode} An HTML span or text nodes styled to match the current\n * attributes.\n */\nhterm.TextAttributes.prototype.createContainer = function(opt_textContent) {\n if (this.isDefault())\n return this.document_.createTextNode(opt_textContent);\n\n var span = this.document_.createElement('span');\n var style = span.style;\n var classes = [];\n\n if (this.foreground != this.DEFAULT_COLOR)\n style.color = this.foreground;\n\n if (this.background != this.DEFAULT_COLOR)\n style.backgroundColor = this.background;\n\n if (this.enableBold && this.bold)\n style.fontWeight = 'bold';\n\n if (this.faint)\n span.faint = true;\n\n if (this.italic)\n style.fontStyle = 'italic';\n\n if (this.blink) {\n classes.push('blink-node');\n span.blinkNode = true;\n }\n\n var textDecoration = '';\n if (this.underline) {\n textDecoration += ' underline';\n span.underline = true;\n }\n if (this.strikethrough) {\n textDecoration += ' line-through';\n span.strikethrough = true;\n }\n if (textDecoration) {\n style.textDecoration = textDecoration;\n }\n\n if (this.wcNode) {\n classes.push('wc-node');\n span.wcNode = true;\n span.asciiNode = false;\n }\n\n if (this.tileData != null) {\n classes.push('tile');\n classes.push('tile_' + this.tileData);\n span.tileNode = true;\n }\n\n if (opt_textContent)\n span.textContent = opt_textContent;\n\n if (classes.length)\n span.className = classes.join(' ');\n\n return span;\n};\n\n/**\n * Tests if the provided object (string, span or text node) has the same\n * style as this TextAttributes instance.\n *\n * This indicates that text with these attributes could be inserted directly\n * into the target DOM node.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj The object to test.\n * @return {boolean} True if the provided container has the same style as\n * this attributes instance.\n */\nhterm.TextAttributes.prototype.matchesContainer = function(obj) {\n if (typeof obj == 'string' || obj.nodeType == 3)\n return this.isDefault();\n\n var style = obj.style;\n\n // We don't want to put multiple characters in a wcNode or a tile.\n // See the comments in createContainer.\n return (!(this.wcNode || obj.wcNode) &&\n this.asciiNode == this.asciiNode &&\n !(this.tileData != null || obj.tileNode) &&\n this.foreground == style.color &&\n this.background == style.backgroundColor &&\n (this.enableBold && this.bold) == !!style.fontWeight &&\n this.blink == obj.blinkNode &&\n this.italic == !!style.fontStyle &&\n !!this.underline == !!obj.underline &&\n !!this.strikethrough == !!obj.strikethrough);\n};\n\nhterm.TextAttributes.prototype.setDefaults = function(foreground, background) {\n this.defaultForeground = foreground;\n this.defaultBackground = background;\n\n this.syncColors();\n};\n\n/**\n * Updates foreground and background properties based on current indices and\n * other state.\n *\n * @param {string} terminalForeground The terminal foreground color for use as\n * inverse text background.\n * @param {string} terminalBackground The terminal background color for use as\n * inverse text foreground.\n *\n */\nhterm.TextAttributes.prototype.syncColors = function() {\n function getBrightIndex(i) {\n if (i < 8) {\n // If the color is from the lower half of the ANSI 16, add 8.\n return i + 8;\n }\n\n // If it's not from the 16 color palette, ignore bold requests. This\n // matches the behavior of gnome-terminal.\n return i;\n }\n\n var foregroundSource = this.foregroundSource;\n var backgroundSource = this.backgroundSource;\n var defaultForeground = this.DEFAULT_COLOR;\n var defaultBackground = this.DEFAULT_COLOR;\n\n if (this.inverse) {\n foregroundSource = this.backgroundSource;\n backgroundSource = this.foregroundSource;\n // We can't inherit the container's color anymore.\n defaultForeground = this.defaultBackground;\n defaultBackground = this.defaultForeground;\n }\n\n if (this.enableBoldAsBright && this.bold) {\n if (foregroundSource != this.SRC_DEFAULT &&\n foregroundSource != this.SRC_RGB) {\n foregroundSource = getBrightIndex(foregroundSource);\n }\n }\n\n if (this.invisible) {\n foregroundSource = backgroundSource;\n defaultForeground = this.defaultBackground;\n }\n\n // Set fore/background colors unless already specified in rgb(r, g, b) form.\n if (foregroundSource != this.SRC_RGB) {\n this.foreground = ((foregroundSource == this.SRC_DEFAULT) ?\n defaultForeground : this.colorPalette[foregroundSource]);\n }\n\n if (this.faint && !this.invisible) {\n var colorToMakeFaint = ((this.foreground == this.DEFAULT_COLOR) ?\n this.defaultForeground : this.foreground);\n this.foreground = lib.colors.mix(colorToMakeFaint, 'rgb(0, 0, 0)', 0.3333);\n }\n\n if (backgroundSource != this.SRC_RGB) {\n this.background = ((backgroundSource == this.SRC_DEFAULT) ?\n defaultBackground : this.colorPalette[backgroundSource]);\n }\n};\n\n/**\n * Static method used to test if the provided objects (strings, spans or\n * text nodes) have the same style.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj1 An object to test.\n * @param {string|HTMLNode} obj2 Another object to test.\n * @return {boolean} True if the containers have the same style.\n */\nhterm.TextAttributes.containersMatch = function(obj1, obj2) {\n if (typeof obj1 == 'string')\n return hterm.TextAttributes.containerIsDefault(obj2);\n\n if (obj1.nodeType != obj2.nodeType)\n return false;\n\n if (obj1.nodeType == 3)\n return true;\n\n var style1 = obj1.style;\n var style2 = obj2.style;\n\n return (style1.color == style2.color &&\n style1.backgroundColor == style2.backgroundColor &&\n style1.fontWeight == style2.fontWeight &&\n style1.fontStyle == style2.fontStyle &&\n style1.textDecoration == style2.textDecoration);\n};\n\n/**\n * Static method to test if a given DOM container represents unstyled text.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj1 An object to test.\n * @return {boolean} True if the object is unstyled.\n */\nhterm.TextAttributes.containerIsDefault = function(obj) {\n return typeof obj == 'string' || obj.nodeType == 3;\n};\n\n/**\n * Static method to get the column width of a node's textContent.\n *\n * @param {HTMLElement} node The HTML element to get the width of textContent\n * from.\n * @return {integer} The column width of the node's textContent.\n */\nhterm.TextAttributes.nodeWidth = function(node) {\n if (!node.asciiNode) {\n return lib.wc.strWidth(node.textContent);\n } else {\n return node.textContent.length;\n }\n}\n\n/**\n * Static method to get the substr of a node's textContent. The start index\n * and substr width are computed in column width.\n *\n * @param {HTMLElement} node The HTML element to get the substr of textContent\n * from.\n * @param {integer} start The starting offset in column width.\n * @param {integer} width The width to capture in column width.\n * @return {integer} The extracted substr of the node's textContent.\n */\nhterm.TextAttributes.nodeSubstr = function(node, start, width) {\n if (!node.asciiNode) {\n return lib.wc.substr(node.textContent, start, width);\n } else {\n return node.textContent.substr(start, width);\n }\n}\n\n/**\n * Static method to get the substring based of a node's textContent. The\n * start index of end index are computed in column width.\n *\n * @param {HTMLElement} node The HTML element to get the substr of textContent\n * from.\n * @param {integer} start The starting offset in column width.\n * @param {integer} end The ending offset in column width.\n * @return {integer} The extracted substring of the node's textContent.\n */\nhterm.TextAttributes.nodeSubstring = function(node, start, end) {\n if (!node.asciiNode) {\n return lib.wc.substring(node.textContent, start, end);\n } else {\n return node.textContent.substring(start, end);\n }\n};\n\n/**\n * Static method to split a string into contiguous runs of single-width\n * characters and runs of double-width characters.\n *\n * @param {string} str The string to split.\n * @return {Array} An array of objects that contain substrings of str, where\n * each substring is either a contiguous runs of single-width characters\n * or a double-width character. For objects that contain a double-width\n * character, its wcNode property is set to true. For objects that contain\n * only ASCII content, its asciiNode property is set to true.\n */\nhterm.TextAttributes.splitWidecharString = function(str) {\n var rv = [];\n var base = 0, length = 0;\n var asciiNode = true;\n\n for (var i = 0; i < str.length;) {\n var c = str.codePointAt(i);\n var increment = (c <= 0xffff) ? 1 : 2;\n if (c < 128) {\n length += increment;\n } else if (lib.wc.charWidth(c) <= 1) {\n length += increment;\n asciiNode = false;\n } else {\n if (length) {\n rv.push({\n str: str.substr(base, length),\n asciiNode: asciiNode,\n });\n asciiNode = true;\n }\n rv.push({\n str: str.substr(i, increment),\n wcNode: true,\n asciiNode: false,\n });\n base = i + increment;\n length = 0;\n }\n i += increment;\n }\n\n if (length) {\n rv.push({\n str: str.substr(base, length),\n asciiNode: asciiNode,\n });\n }\n\n return rv;\n};\n// SOURCE FILE: hterm/js/hterm_vt.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors', 'lib.f', 'lib.UTF8Decoder',\n 'hterm.VT.CharacterMap');\n\n/**\n * Constructor for the VT escape sequence interpreter.\n *\n * The interpreter operates on a terminal object capable of performing cursor\n * move operations, painting characters, etc.\n *\n * This interpreter is intended to be compatible with xterm, though it\n * ignores some of the more esoteric escape sequences.\n *\n * Control sequences are documented in hterm/doc/ControlSequences.md.\n *\n * @param {hterm.Terminal} terminal Terminal to use with the interpreter.\n */\nhterm.VT = function(terminal) {\n /**\n * The display terminal object associated with this virtual terminal.\n */\n this.terminal = terminal;\n\n terminal.onMouse = this.onTerminalMouse_.bind(this);\n this.mouseReport = this.MOUSE_REPORT_DISABLED;\n\n // Parse state left over from the last parse. You should use the parseState\n // instance passed into your parse routine, rather than reading\n // this.parseState_ directly.\n this.parseState_ = new hterm.VT.ParseState(this.parseUnknown_);\n\n // Any \"leading modifiers\" for the escape sequence, such as '?', ' ', or the\n // other modifiers handled in this.parseCSI_.\n this.leadingModifier_ = '';\n\n // Any \"trailing modifiers\". Same character set as a leading modifier,\n // except these are found after the numeric arguments.\n this.trailingModifier_ = '';\n\n // Whether or not to respect the escape codes for setting terminal width.\n this.allowColumnWidthChanges_ = false;\n\n // The amount of time we're willing to wait for the end of an OSC sequence.\n this.oscTimeLimit_ = 20000;\n\n // Decoder to maintain UTF-8 decode state.\n this.utf8Decoder_ = new lib.UTF8Decoder();\n\n /**\n * Whether to accept the 8-bit control characters.\n *\n * An 8-bit control character is one with the eighth bit set. These\n * didn't work on 7-bit terminals so they all have two byte equivalents.\n * Most hosts still only use the two-byte versions.\n *\n * We ignore 8-bit control codes by default. This is in order to avoid\n * issues with \"accidental\" usage of codes that need to be terminated.\n * The \"accident\" usually involves cat'ing binary data.\n */\n this.enable8BitControl = false;\n\n /**\n * Whether to allow the OSC 52 sequence to write to the system clipboard.\n */\n this.enableClipboardWrite = true;\n\n /**\n * Respect the host's attempt to change the cursor blink status using\n * the DEC Private mode 12.\n */\n this.enableDec12 = false;\n\n /**\n * The expected encoding method for data received from the host.\n */\n this.characterEncoding = 'utf-8';\n\n /**\n * Max length of an unterminated DCS, OSC, PM or APC sequence before we give\n * up and ignore the code.\n *\n * These all end with a String Terminator (ST, '\\x9c', ESC '\\\\') or\n * (BEL, '\\x07') character, hence the \"string sequence\" moniker.\n */\n this.maxStringSequence = 1024;\n\n /**\n * If true, emit warnings when we encounter a control character or escape\n * sequence that we don't recognize or explicitly ignore.\n */\n this.warnUnimplemented = true;\n\n /**\n * The set of available character maps (used by G0...G3 below).\n */\n this.characterMaps = new hterm.VT.CharacterMaps();\n\n /**\n * The default G0...G3 character maps.\n * We default to the US/ASCII map everywhere as that aligns with other\n * terminals, and it makes it harder to accidentally switch to the graphics\n * character map (Ctrl-N). Any program that wants to use the graphics map\n * will usually select it anyways since there's no guarantee what state any\n * of the maps are in at any particular time.\n */\n this.G0 = this.G1 = this.G2 = this.G3 =\n this.characterMaps.getMap('B');\n\n /**\n * The 7-bit visible character set.\n *\n * This is a mapping from inbound data to display glyph. The GL set\n * contains the 94 bytes from 0x21 to 0x7e.\n *\n * The default GL set is 'B', US ASCII.\n */\n this.GL = 'G0';\n\n /**\n * The 8-bit visible character set.\n *\n * This is a mapping from inbound data to display glyph. The GR set\n * contains the 94 bytes from 0xa1 to 0xfe.\n */\n this.GR = 'G0';\n\n /**\n * The current encoding of the terminal.\n *\n * We only support ECMA-35 and UTF-8, so go with a boolean here.\n * The encoding can be locked too.\n */\n this.codingSystemUtf8_ = false;\n this.codingSystemLocked_ = false;\n\n // Construct a regular expression to match the known one-byte control chars.\n // This is used in parseUnknown_ to quickly scan a string for the next\n // control character.\n this.cc1Pattern_ = null;\n this.updateEncodingState_();\n\n // Saved state used in DECSC.\n //\n // This is a place to store a copy VT state, it is *not* the active state.\n this.savedState_ = new hterm.VT.CursorState(this);\n};\n\n/**\n * No mouse events.\n */\nhterm.VT.prototype.MOUSE_REPORT_DISABLED = 0;\n\n/**\n * DECSET mode 1000.\n *\n * Report mouse down/up events only.\n */\nhterm.VT.prototype.MOUSE_REPORT_CLICK = 1;\n\n/**\n * DECSET mode 1002.\n *\n * Report mouse down/up and movement while a button is down.\n */\nhterm.VT.prototype.MOUSE_REPORT_DRAG = 3;\n\n/**\n * ParseState constructor.\n *\n * This object tracks the current state of the parse. It has fields for the\n * current buffer, position in the buffer, and the parse function.\n *\n * @param {function} defaultFunc The default parser function.\n * @param {string} opt_buf Optional string to use as the current buffer.\n */\nhterm.VT.ParseState = function(defaultFunction, opt_buf) {\n this.defaultFunction = defaultFunction;\n this.buf = opt_buf || null;\n this.pos = 0;\n this.func = defaultFunction;\n this.args = [];\n};\n\n/**\n * Reset the parser function, buffer, and position.\n */\nhterm.VT.ParseState.prototype.reset = function(opt_buf) {\n this.resetParseFunction();\n this.resetBuf(opt_buf || '');\n this.resetArguments();\n};\n\n/**\n * Reset the parser function only.\n */\nhterm.VT.ParseState.prototype.resetParseFunction = function() {\n this.func = this.defaultFunction;\n};\n\n/**\n * Reset the buffer and position only.\n *\n * @param {string} buf Optional new value for buf, defaults to null.\n */\nhterm.VT.ParseState.prototype.resetBuf = function(opt_buf) {\n this.buf = (typeof opt_buf == 'string') ? opt_buf : null;\n this.pos = 0;\n};\n\n/**\n * Reset the arguments list only.\n *\n * @param {string} opt_arg_zero Optional initial value for args[0].\n */\nhterm.VT.ParseState.prototype.resetArguments = function(opt_arg_zero) {\n this.args.length = 0;\n if (typeof opt_arg_zero != 'undefined')\n this.args[0] = opt_arg_zero;\n};\n\n/**\n * Get an argument as an integer.\n *\n * @param {number} argnum The argument number to retrieve.\n */\nhterm.VT.ParseState.prototype.iarg = function(argnum, defaultValue) {\n var str = this.args[argnum];\n if (str) {\n var ret = parseInt(str, 10);\n // An argument of zero is treated as the default value.\n if (ret == 0)\n ret = defaultValue;\n return ret;\n }\n return defaultValue;\n};\n\n/**\n * Advance the parse position.\n *\n * @param {integer} count The number of bytes to advance.\n */\nhterm.VT.ParseState.prototype.advance = function(count) {\n this.pos += count;\n};\n\n/**\n * Return the remaining portion of the buffer without affecting the parse\n * position.\n *\n * @return {string} The remaining portion of the buffer.\n */\nhterm.VT.ParseState.prototype.peekRemainingBuf = function() {\n return this.buf.substr(this.pos);\n};\n\n/**\n * Return the next single character in the buffer without affecting the parse\n * position.\n *\n * @return {string} The next character in the buffer.\n */\nhterm.VT.ParseState.prototype.peekChar = function() {\n return this.buf.substr(this.pos, 1);\n};\n\n/**\n * Return the next single character in the buffer and advance the parse\n * position one byte.\n *\n * @return {string} The next character in the buffer.\n */\nhterm.VT.ParseState.prototype.consumeChar = function() {\n return this.buf.substr(this.pos++, 1);\n};\n\n/**\n * Return true if the buffer is empty, or the position is past the end.\n */\nhterm.VT.ParseState.prototype.isComplete = function() {\n return this.buf == null || this.buf.length <= this.pos;\n};\n\nhterm.VT.CursorState = function(vt) {\n this.vt_ = vt;\n this.save();\n};\n\nhterm.VT.CursorState.prototype.save = function() {\n this.cursor = this.vt_.terminal.saveCursor();\n\n this.textAttributes = this.vt_.terminal.getTextAttributes().clone();\n\n this.GL = this.vt_.GL;\n this.GR = this.vt_.GR;\n\n this.G0 = this.vt_.G0;\n this.G1 = this.vt_.G1;\n this.G2 = this.vt_.G2;\n this.G3 = this.vt_.G3;\n};\n\nhterm.VT.CursorState.prototype.restore = function() {\n this.vt_.terminal.restoreCursor(this.cursor);\n\n this.vt_.terminal.setTextAttributes(this.textAttributes.clone());\n\n this.vt_.GL = this.GL;\n this.vt_.GR = this.GR;\n\n this.vt_.G0 = this.G0;\n this.vt_.G1 = this.G1;\n this.vt_.G2 = this.G2;\n this.vt_.G3 = this.G3;\n};\n\nhterm.VT.prototype.reset = function() {\n this.G0 = this.characterMaps.getMap('B');\n this.G1 = this.characterMaps.getMap('0');\n this.G2 = this.characterMaps.getMap('B');\n this.G3 = this.characterMaps.getMap('B');\n\n this.GL = 'G0';\n this.GR = 'G0';\n\n this.savedState_ = new hterm.VT.CursorState(this);\n\n this.mouseReport = this.MOUSE_REPORT_DISABLED;\n};\n\n/**\n * Handle terminal mouse events.\n *\n * See the \"Mouse Tracking\" section of [xterm].\n */\nhterm.VT.prototype.onTerminalMouse_ = function(e) {\n if (this.mouseReport == this.MOUSE_REPORT_DISABLED)\n return;\n\n // Temporary storage for our response.\n var response;\n\n // Modifier key state.\n var mod = 0;\n if (e.shiftKey)\n mod |= 4;\n if (e.metaKey || (this.terminal.keyboard.altIsMeta && e.altKey))\n mod |= 8;\n if (e.ctrlKey)\n mod |= 16;\n\n // TODO(rginda): We should also support mode 1005 and/or 1006 to extend the\n // coordinate space. Though, after poking around just a little, I wasn't\n // able to get vi or emacs to use either of these modes.\n var x = String.fromCharCode(lib.f.clamp(e.terminalColumn + 32, 32, 255));\n var y = String.fromCharCode(lib.f.clamp(e.terminalRow + 32, 32, 255));\n\n switch (e.type) {\n case 'wheel':\n // Mouse wheel is treated as button 1 or 2 plus an additional 64.\n b = (((e.deltaY * -1) > 0) ? 0 : 1) + 96;\n b |= mod;\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n\n // Keep the terminal from scrolling.\n e.preventDefault();\n break;\n\n case 'mousedown':\n // Buttons are encoded as button number plus 32.\n var b = Math.min(e.button, 2) + 32;\n\n // And mix in the modifier keys.\n b |= mod;\n\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n break;\n\n case 'mouseup':\n // Mouse up has no indication of which button was released.\n response = '\\x1b[M\\x23' + x + y;\n break;\n\n case 'mousemove':\n if (this.mouseReport == this.MOUSE_REPORT_DRAG && e.buttons) {\n // Standard button bits. The XTerm protocol only reports the first\n // button press (e.g. if left & right are pressed, right is ignored),\n // and it only supports the first three buttons. If none of them are\n // pressed, then XTerm flags it as a release. We'll do the same.\n b = 32;\n\n // Priority here matches XTerm: left, middle, right.\n if (e.buttons & 0x1) {\n // Report left button.\n b += 0;\n } else if (e.buttons & 0x4) {\n // Report middle button.\n b += 1;\n } else if (e.buttons & 0x2) {\n // Report right button.\n b += 2;\n } else {\n // Release higher buttons.\n b += 3;\n }\n\n // Add 32 to indicate mouse motion.\n b += 32;\n\n // And mix in the modifier keys.\n b |= mod;\n\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n }\n\n break;\n\n case 'click':\n case 'dblclick':\n break;\n\n default:\n console.error('Unknown mouse event: ' + e.type, e);\n break;\n }\n\n if (response)\n this.terminal.io.sendString(response);\n};\n\n/**\n * Interpret a string of characters, displaying the results on the associated\n * terminal object.\n *\n * The buffer will be decoded according to the 'receive-encoding' preference.\n */\nhterm.VT.prototype.interpret = function(buf) {\n this.parseState_.resetBuf(this.decode(buf));\n\n while (!this.parseState_.isComplete()) {\n var func = this.parseState_.func;\n var pos = this.parseState_.pos;\n var buf = this.parseState_.buf;\n\n this.parseState_.func.call(this, this.parseState_);\n\n if (this.parseState_.func == func && this.parseState_.pos == pos &&\n this.parseState_.buf == buf) {\n throw 'Parser did not alter the state!';\n }\n }\n};\n\n/**\n * Decode a string according to the 'receive-encoding' preference.\n */\nhterm.VT.prototype.decode = function(str) {\n if (this.characterEncoding == 'utf-8')\n return this.decodeUTF8(str);\n\n return str;\n};\n\n/**\n * Encode a UTF-16 string as UTF-8.\n *\n * See also: https://en.wikipedia.org/wiki/UTF-16\n */\nhterm.VT.prototype.encodeUTF8 = function(str) {\n return lib.encodeUTF8(str);\n};\n\n/**\n * Decode a UTF-8 string into UTF-16.\n */\nhterm.VT.prototype.decodeUTF8 = function(str) {\n return this.utf8Decoder_.decode(str);\n};\n\n/**\n * Set the encoding of the terminal.\n *\n * @param {string} encoding The name of the encoding to set.\n */\nhterm.VT.prototype.setEncoding = function(encoding) {\n switch (encoding) {\n default:\n console.warn('Invalid value for \"terminal-encoding\": ' + encoding);\n // Fall through.\n case 'iso-2022':\n this.codingSystemUtf8_ = false;\n this.codingSystemLocked_ = false;\n break;\n case 'utf-8-locked':\n this.codingSystemUtf8_ = true;\n this.codingSystemLocked_ = true;\n break;\n case 'utf-8':\n this.codingSystemUtf8_ = true;\n this.codingSystemLocked_ = false;\n break;\n }\n\n this.updateEncodingState_();\n};\n\n/**\n * Refresh internal state when the encoding changes.\n */\nhterm.VT.prototype.updateEncodingState_ = function() {\n // If we're in UTF8 mode, don't suport 8-bit escape sequences as we'll never\n // see those -- everything should be UTF8!\n var cc1 = Object.keys(hterm.VT.CC1)\n .filter((e) => !this.codingSystemUtf8_ || e.charCodeAt() < 0x80)\n .map((e) => '\\\\x' + lib.f.zpad(e.charCodeAt().toString(16), 2))\n .join('');\n this.cc1Pattern_ = new RegExp(`[${cc1}]`);\n};\n\n/**\n * The default parse function.\n *\n * This will scan the string for the first 1-byte control character (C0/C1\n * characters from [CTRL]). Any plain text coming before the code will be\n * printed to the terminal, then the control character will be dispatched.\n */\nhterm.VT.prototype.parseUnknown_ = function(parseState) {\n var self = this;\n\n function print(str) {\n if (!self.codingSystemUtf8_ && self[self.GL].GL)\n str = self[self.GL].GL(str);\n\n self.terminal.print(str);\n };\n\n // Search for the next contiguous block of plain text.\n var buf = parseState.peekRemainingBuf();\n var nextControl = buf.search(this.cc1Pattern_);\n\n if (nextControl == 0) {\n // We've stumbled right into a control character.\n this.dispatch('CC1', buf.substr(0, 1), parseState);\n parseState.advance(1);\n return;\n }\n\n if (nextControl == -1) {\n // There are no control characters in this string.\n print(buf);\n parseState.reset();\n return;\n }\n\n print(buf.substr(0, nextControl));\n this.dispatch('CC1', buf.substr(nextControl, 1), parseState);\n parseState.advance(nextControl + 1);\n};\n\n/**\n * Parse a Control Sequence Introducer code and dispatch it.\n *\n * See [CSI] for some useful information about these codes.\n */\nhterm.VT.prototype.parseCSI_ = function(parseState) {\n var ch = parseState.peekChar();\n var args = parseState.args;\n\n if (ch >= '@' && ch <= '~') {\n // This is the final character.\n this.dispatch('CSI', this.leadingModifier_ + this.trailingModifier_ + ch,\n parseState);\n parseState.resetParseFunction();\n\n } else if (ch == ';') {\n // Parameter delimiter.\n if (this.trailingModifier_) {\n // Parameter delimiter after the trailing modifier. That's a paddlin'.\n parseState.resetParseFunction();\n\n } else {\n if (!args.length) {\n // They omitted the first param, we need to supply it.\n args.push('');\n }\n\n args.push('');\n }\n\n } else if (ch >= '0' && ch <= '9') {\n // Next byte in the current parameter.\n\n if (this.trailingModifier_) {\n // Numeric parameter after the trailing modifier. That's a paddlin'.\n parseState.resetParseFunction();\n } else {\n if (!args.length) {\n args[0] = ch;\n } else {\n args[args.length - 1] += ch;\n }\n }\n\n } else if (ch >= ' ' && ch <= '?' && ch != ':') {\n // Modifier character.\n if (!args.length) {\n this.leadingModifier_ += ch;\n } else {\n this.trailingModifier_ += ch;\n }\n\n } else if (this.cc1Pattern_.test(ch)) {\n // Control character.\n this.dispatch('CC1', ch, parseState);\n\n } else {\n // Unexpected character in sequence, bail out.\n parseState.resetParseFunction();\n }\n\n parseState.advance(1);\n};\n\n/**\n * Skip over the string until the next String Terminator (ST, 'ESC \\') or\n * Bell (BEL, '\\x07').\n *\n * The string is accumulated in parseState.args[0]. Make sure to reset the\n * arguments (with parseState.resetArguments) before starting the parse.\n *\n * You can detect that parsing in complete by checking that the parse\n * function has changed back to the default parse function.\n *\n * If we encounter more than maxStringSequence characters, we send back\n * the unterminated sequence to be re-parsed with the default parser function.\n *\n * @return {boolean} If true, parsing is ongoing or complete. If false, we've\n * exceeded the max string sequence.\n */\nhterm.VT.prototype.parseUntilStringTerminator_ = function(parseState) {\n var buf = parseState.peekRemainingBuf();\n var nextTerminator = buf.search(/(\\x1b\\\\|\\x07)/);\n var args = parseState.args;\n\n if (!args.length) {\n args[0] = '';\n args[1] = new Date();\n }\n\n if (nextTerminator == -1) {\n // No terminator here, have to wait for the next string.\n\n args[0] += buf;\n\n var abortReason;\n\n if (args[0].length > this.maxStringSequence)\n abortReason = 'too long: ' + args[0].length;\n\n if (args[0].indexOf('\\x1b') != -1)\n abortReason = 'embedded escape: ' + args[0].indexOf('\\x1b');\n\n if (new Date() - args[1] > this.oscTimeLimit_)\n abortReason = 'timeout expired: ' + new Date() - args[1];\n\n if (abortReason) {\n console.log('parseUntilStringTerminator_: aborting: ' + abortReason,\n args[0]);\n parseState.reset(args[0]);\n return false;\n }\n\n parseState.advance(buf.length);\n return true;\n }\n\n if (args[0].length + nextTerminator > this.maxStringSequence) {\n // We found the end of the sequence, but we still think it's too long.\n parseState.reset(args[0] + buf);\n return false;\n }\n\n args[0] += buf.substr(0, nextTerminator);\n\n parseState.resetParseFunction();\n parseState.advance(nextTerminator +\n (buf.substr(nextTerminator, 1) == '\\x1b' ? 2 : 1));\n\n return true;\n};\n\n/**\n * Dispatch to the function that handles a given CC1, ESC, or CSI or VT52 code.\n */\nhterm.VT.prototype.dispatch = function(type, code, parseState) {\n var handler = hterm.VT[type][code];\n if (!handler) {\n if (this.warnUnimplemented)\n console.warn('Unknown ' + type + ' code: ' + JSON.stringify(code));\n return;\n }\n\n if (handler == hterm.VT.ignore) {\n if (this.warnUnimplemented)\n console.warn('Ignored ' + type + ' code: ' + JSON.stringify(code));\n return;\n }\n\n if (type == 'CC1' && code > '\\x7f' && !this.enable8BitControl) {\n // It's kind of a hack to put this here, but...\n //\n // If we're dispatching a 'CC1' code, and it's got the eighth bit set,\n // but we're not supposed to handle 8-bit codes? Just ignore it.\n //\n // This prevents an errant (DCS, '\\x90'), (OSC, '\\x9d'), (PM, '\\x9e') or\n // (APC, '\\x9f') from locking up the terminal waiting for its expected\n // (ST, '\\x9c') or (BEL, '\\x07').\n console.warn('Ignoring 8-bit control code: 0x' +\n code.charCodeAt(0).toString(16));\n return;\n }\n\n handler.apply(this, [parseState, code]);\n};\n\n/**\n * Set one of the ANSI defined terminal mode bits.\n *\n * Invoked in response to SM/RM.\n *\n * Unexpected and unimplemented values are silently ignored.\n */\nhterm.VT.prototype.setANSIMode = function(code, state) {\n if (code == 4) { // Insert Mode (IRM)\n this.terminal.setInsertMode(state);\n } else if (code == 20) { // Automatic Newline (LNM)\n this.terminal.setAutoCarriageReturn(state);\n } else if (this.warnUnimplemented) {\n console.warn('Unimplemented ANSI Mode: ' + code);\n }\n};\n\n/**\n * Set or reset one of the DEC Private modes.\n *\n * Invoked in response to DECSET/DECRST.\n */\nhterm.VT.prototype.setDECMode = function(code, state) {\n switch (parseInt(code, 10)) {\n case 1: // DECCKM\n this.terminal.keyboard.applicationCursor = state;\n break;\n\n case 3: // DECCOLM\n if (this.allowColumnWidthChanges_) {\n this.terminal.setWidth(state ? 132 : 80);\n\n this.terminal.clearHome();\n this.terminal.setVTScrollRegion(null, null);\n }\n break;\n\n case 5: // DECSCNM\n this.terminal.setReverseVideo(state);\n break;\n\n case 6: // DECOM\n this.terminal.setOriginMode(state);\n break;\n\n case 7: // DECAWM\n this.terminal.setWraparound(state);\n break;\n\n case 12: // Start blinking cursor\n if (this.enableDec12)\n this.terminal.setCursorBlink(state);\n break;\n\n case 25: // DECTCEM\n this.terminal.setCursorVisible(state);\n break;\n\n case 30: // Show scrollbar\n this.terminal.setScrollbarVisible(state);\n break;\n\n case 40: // Allow 80 - 132 (DECCOLM) Mode\n this.terminal.allowColumnWidthChanges_ = state;\n break;\n\n case 45: // Reverse-wraparound Mode\n this.terminal.setReverseWraparound(state);\n break;\n\n case 67: // Backarrow key sends backspace (DECBKM)\n this.terminal.keyboard.backspaceSendsBackspace = state;\n break;\n\n case 1000: // Report on mouse clicks only.\n this.mouseReport = (\n state ? this.MOUSE_REPORT_CLICK : this.MOUSE_REPORT_DISABLED);\n this.terminal.syncMouseStyle();\n break;\n\n case 1002: // Report on mouse clicks and drags\n this.mouseReport = (\n state ? this.MOUSE_REPORT_DRAG : this.MOUSE_REPORT_DISABLED);\n this.terminal.syncMouseStyle();\n break;\n\n case 1010: // Scroll to bottom on tty output\n this.terminal.scrollOnOutput = state;\n break;\n\n case 1011: // Scroll to bottom on key press\n this.terminal.scrollOnKeystroke = state;\n break;\n\n case 1036: // Send ESC when Meta modifies a key\n this.terminal.keyboard.metaSendsEscape = state;\n break;\n\n case 1039: // Send ESC when Alt modifies a key\n if (state) {\n if (!this.terminal.keyboard.previousAltSendsWhat_) {\n this.terminal.keyboard.previousAltSendsWhat_ =\n this.terminal.keyboard.altSendsWhat;\n this.terminal.keyboard.altSendsWhat = 'escape';\n }\n } else if (this.terminal.keyboard.previousAltSendsWhat_) {\n this.terminal.keyboard.altSendsWhat =\n this.terminal.keyboard.previousAltSendsWhat_;\n this.terminal.keyboard.previousAltSendsWhat_ = null;\n }\n break;\n\n case 47: // Use Alternate Screen Buffer\n case 1047:\n this.terminal.setAlternateMode(state);\n break;\n\n case 1048: // Save cursor as in DECSC.\n this.savedState_.save();\n\n case 1049: // 1047 + 1048 + clear.\n if (state) {\n this.savedState_.save();\n this.terminal.setAlternateMode(state);\n this.terminal.clear();\n } else {\n this.terminal.setAlternateMode(state);\n this.savedState_.restore();\n }\n\n break;\n\n case 2004: // Bracketed paste mode.\n this.terminal.setBracketedPaste(state);\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unimplemented DEC Private Mode: ' + code);\n break;\n }\n};\n\n/**\n * Function shared by control characters and escape sequences that are\n * ignored.\n */\nhterm.VT.ignore = function() {};\n\n/**\n * Collection of control characters expressed in a single byte.\n *\n * This includes the characters from the C0 and C1 sets (see [CTRL]) that we\n * care about. Two byte versions of the C1 codes are defined in the\n * hterm.VT.ESC collection.\n *\n * The 'CC1' mnemonic here refers to the fact that these are one-byte Control\n * Codes. It's only used in this source file and not defined in any of the\n * referenced documents.\n */\nhterm.VT.CC1 = {};\n\n/**\n * Collection of two-byte and three-byte sequences starting with ESC.\n */\nhterm.VT.ESC = {};\n\n/**\n * Collection of CSI (Control Sequence Introducer) sequences.\n *\n * These sequences begin with 'ESC [', and may take zero or more arguments.\n */\nhterm.VT.CSI = {};\n\n/**\n * Collection of OSC (Operating System Control) sequences.\n *\n * These sequences begin with 'ESC ]', followed by a function number and a\n * string terminated by either ST or BEL.\n */\nhterm.VT.OSC = {};\n\n/**\n * Collection of VT52 sequences.\n *\n * When in VT52 mode, other sequences are disabled.\n */\nhterm.VT.VT52 = {};\n\n/**\n * Null (NUL).\n *\n * Silently ignored.\n */\nhterm.VT.CC1['\\x00'] = hterm.VT.ignore;\n\n/**\n * Enquiry (ENQ).\n *\n * Transmit answerback message.\n *\n * The default answerback message in xterm is an empty string, so we just\n * ignore this.\n */\nhterm.VT.CC1['\\x05'] = hterm.VT.ignore;\n\n/**\n * Ring Bell (BEL).\n */\nhterm.VT.CC1['\\x07'] = function() {\n this.terminal.ringBell();\n};\n\n/**\n * Backspace (BS).\n *\n * Move the cursor to the left one character position, unless it is at the\n * left margin, in which case no action occurs.\n */\nhterm.VT.CC1['\\x08'] = function() {\n this.terminal.cursorLeft(1);\n};\n\n/**\n * Horizontal Tab (HT).\n *\n * Move the cursor to the next tab stop, or to the right margin if no further\n * tab stops are present on the line.\n */\nhterm.VT.CC1['\\x09'] = function() {\n this.terminal.forwardTabStop();\n};\n\n/**\n * Line Feed (LF).\n *\n * This code causes a line feed or a new line operation. See Automatic\n * Newline (LNM).\n */\nhterm.VT.CC1['\\x0a'] = function() {\n this.terminal.formFeed();\n};\n\n/**\n * Vertical Tab (VT).\n *\n * Interpreted as LF.\n */\nhterm.VT.CC1['\\x0b'] = hterm.VT.CC1['\\x0a'];\n\n/**\n * Form Feed (FF).\n *\n * Interpreted as LF.\n */\nhterm.VT.CC1['\\x0c'] = hterm.VT.CC1['\\x0a'];\n\n/**\n * Carriage Return (CR).\n *\n * Move cursor to the left margin on the current line.\n */\nhterm.VT.CC1['\\x0d'] = function() {\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Shift Out (SO), aka Lock Shift 0 (LS1).\n *\n * Invoke G1 character set in GL.\n */\nhterm.VT.CC1['\\x0e'] = function() {\n this.GL = 'G1';\n};\n\n/**\n * Shift In (SI), aka Lock Shift 0 (LS0).\n *\n * Invoke G0 character set in GL.\n */\nhterm.VT.CC1['\\x0f'] = function() {\n this.GL = 'G0';\n};\n\n/**\n * Transmit On (XON).\n *\n * Not currently implemented.\n *\n * TODO(rginda): Implement?\n */\nhterm.VT.CC1['\\x11'] = hterm.VT.ignore;\n\n/**\n * Transmit Off (XOFF).\n *\n * Not currently implemented.\n *\n * TODO(rginda): Implement?\n */\nhterm.VT.CC1['\\x13'] = hterm.VT.ignore;\n\n/**\n * Cancel (CAN).\n *\n * If sent during a control sequence, the sequence is immediately terminated\n * and not executed.\n *\n * It also causes the error character to be displayed.\n */\nhterm.VT.CC1['\\x18'] = function(parseState) {\n // If we've shifted in the G1 character set, shift it back out to\n // the default character set.\n if (this.GL == 'G1') {\n this.GL = 'G0';\n }\n parseState.resetParseFunction();\n this.terminal.print('?');\n};\n\n/**\n * Substitute (SUB).\n *\n * Interpreted as CAN.\n */\nhterm.VT.CC1['\\x1a'] = hterm.VT.CC1['\\x18'];\n\n/**\n * Escape (ESC).\n */\nhterm.VT.CC1['\\x1b'] = function(parseState) {\n function parseESC(parseState) {\n var ch = parseState.consumeChar();\n\n if (ch == '\\x1b')\n return;\n\n this.dispatch('ESC', ch, parseState);\n\n if (parseState.func == parseESC)\n parseState.resetParseFunction();\n };\n\n parseState.func = parseESC;\n};\n\n/**\n * Delete (DEL).\n */\nhterm.VT.CC1['\\x7f'] = hterm.VT.ignore;\n\n// 8 bit control characters and their two byte equivalents, below...\n\n/**\n * Index (IND).\n *\n * Like newline, only keep the X position\n */\nhterm.VT.CC1['\\x84'] =\nhterm.VT.ESC['D'] = function() {\n this.terminal.lineFeed();\n};\n\n/**\n * Next Line (NEL).\n *\n * Like newline, but doesn't add lines.\n */\nhterm.VT.CC1['\\x85'] =\nhterm.VT.ESC['E'] = function() {\n this.terminal.setCursorColumn(0);\n this.terminal.cursorDown(1);\n};\n\n/**\n * Horizontal Tabulation Set (HTS).\n */\nhterm.VT.CC1['\\x88'] =\nhterm.VT.ESC['H'] = function() {\n this.terminal.setTabStop(this.terminal.getCursorColumn());\n};\n\n/**\n * Reverse Index (RI).\n *\n * Move up one line.\n */\nhterm.VT.CC1['\\x8d'] =\nhterm.VT.ESC['M'] = function() {\n this.terminal.reverseLineFeed();\n};\n\n/**\n * Single Shift 2 (SS2).\n *\n * Select of G2 Character Set for the next character only.\n *\n * Not currently implemented.\n */\nhterm.VT.CC1['\\x8e'] =\nhterm.VT.ESC['N'] = hterm.VT.ignore;\n\n/**\n * Single Shift 3 (SS3).\n *\n * Select of G3 Character Set for the next character only.\n *\n * Not currently implemented.\n */\nhterm.VT.CC1['\\x8f'] =\nhterm.VT.ESC['O'] = hterm.VT.ignore;\n\n/**\n * Device Control String (DCS).\n *\n * Indicate a DCS sequence. See Device-Control functions in [XTERM].\n * Not currently implemented.\n *\n * TODO(rginda): Consider implementing DECRQSS, the rest don't seem applicable.\n */\nhterm.VT.CC1['\\x90'] =\nhterm.VT.ESC['P'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * Start of Guarded Area (SPA).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x96'] =\nhterm.VT.ESC['V'] = hterm.VT.ignore;\n\n/**\n * End of Guarded Area (EPA).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x97'] =\nhterm.VT.ESC['W'] = hterm.VT.ignore;\n\n/**\n * Start of String (SOS).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x98'] =\nhterm.VT.ESC['X'] = hterm.VT.ignore;\n\n/**\n * Single Character Introducer (SCI, also DECID).\n *\n * Return Terminal ID. Obsolete form of 'ESC [ c' (DA).\n */\nhterm.VT.CC1['\\x9a'] =\nhterm.VT.ESC['Z'] = function() {\n this.terminal.io.sendString('\\x1b[?1;2c');\n};\n\n/**\n * Control Sequence Introducer (CSI).\n *\n * The lead into most escape sequences. See [CSI].\n */\nhterm.VT.CC1['\\x9b'] =\nhterm.VT.ESC['['] = function(parseState) {\n parseState.resetArguments();\n this.leadingModifier_ = '';\n this.trailingModifier_ = '';\n parseState.func = this.parseCSI_;\n};\n\n/**\n * String Terminator (ST).\n *\n * Used to terminate DCS/OSC/PM/APC commands which may take string arguments.\n *\n * We don't directly handle it here, as it's only used to terminate other\n * sequences. See the 'parseUntilStringTerminator_' method.\n */\nhterm.VT.CC1['\\x9c'] =\nhterm.VT.ESC['\\\\'] = hterm.VT.ignore;\n\n/**\n * Operating System Command (OSC).\n *\n * Commands relating to the operating system.\n */\nhterm.VT.CC1['\\x9d'] =\nhterm.VT.ESC[']'] = function(parseState) {\n parseState.resetArguments();\n\n function parseOSC(parseState) {\n if (!this.parseUntilStringTerminator_(parseState)) {\n // The string sequence was too long.\n return;\n }\n\n if (parseState.func == parseOSC) {\n // We're not done parsing the string yet.\n return;\n }\n\n // We're done.\n var ary = parseState.args[0].match(/^(\\d+);(.*)$/);\n if (ary) {\n parseState.args[0] = ary[2];\n this.dispatch('OSC', ary[1], parseState);\n } else {\n console.warn('Invalid OSC: ' + JSON.stringify(parseState.args[0]));\n }\n };\n\n parseState.func = parseOSC;\n};\n\n/**\n * Privacy Message (PM).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x9e'] =\nhterm.VT.ESC['^'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * Application Program Control (APC).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x9f'] =\nhterm.VT.ESC['_'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * ESC \\x20 - Unclear to me where these originated, possibly in xterm.\n *\n * Not currently implemented:\n * ESC \\x20 F - Select 7 bit escape codes in responses (S7C1T).\n * ESC \\x20 G - Select 8 bit escape codes in responses (S8C1T).\n * NB: We currently assume S7C1T always.\n *\n * Will not implement:\n * ESC \\x20 L - Set ANSI conformance level 1.\n * ESC \\x20 M - Set ANSI conformance level 2.\n * ESC \\x20 N - Set ANSI conformance level 3.\n */\nhterm.VT.ESC['\\x20'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (this.warnUnimplemented)\n console.warn('Unimplemented sequence: ESC 0x20 ' + ch);\n parseState.resetParseFunction();\n };\n};\n\n/**\n * DEC 'ESC #' sequences.\n */\nhterm.VT.ESC['#'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (ch == '8') // DEC Screen Alignment Test (DECALN)\n this.terminal.fill('E');\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Designate Other Coding System (DOCS).\n */\nhterm.VT.ESC['%'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n\n // If we've locked the encoding, then just eat the bytes and return.\n if (this.codingSystemLocked_) {\n if (ch == '/')\n parseState.consumeChar();\n parseState.resetParseFunction();\n return;\n }\n\n // Process the encoding requests.\n switch (ch) {\n case '@':\n // Switch to ECMA 35.\n this.setEncoding('iso-2022');\n break;\n\n case 'G':\n // Switch to UTF-8.\n this.setEncoding('utf-8');\n break;\n\n case '/':\n // One way transition to something else.\n ch = parseState.consumeChar();\n switch (ch) {\n case 'G': // UTF-8 Level 1.\n case 'H': // UTF-8 Level 2.\n case 'I': // UTF-8 Level 3.\n // We treat all UTF-8 levels the same.\n this.setEncoding('utf-8-locked');\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unknown ESC % / argument: ' + JSON.stringify(ch));\n break;\n }\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unknown ESC % argument: ' + JSON.stringify(ch));\n break;\n }\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Character Set Selection (SCS).\n *\n * ESC ( Ps - Set G0 character set (VT100).\n * ESC ) Ps - Set G1 character set (VT220).\n * ESC * Ps - Set G2 character set (VT220).\n * ESC + Ps - Set G3 character set (VT220).\n * ESC - Ps - Set G1 character set (VT300).\n * ESC . Ps - Set G2 character set (VT300).\n * ESC / Ps - Set G3 character set (VT300).\n *\n * All other sequences are echoed to the terminal.\n */\nhterm.VT.ESC['('] =\nhterm.VT.ESC[')'] =\nhterm.VT.ESC['*'] =\nhterm.VT.ESC['+'] =\nhterm.VT.ESC['-'] =\nhterm.VT.ESC['.'] =\nhterm.VT.ESC['/'] = function(parseState, code) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (ch == '\\x1b') {\n parseState.resetParseFunction();\n parseState.func();\n return;\n }\n\n var map = this.characterMaps.getMap(ch);\n if (map !== undefined) {\n if (code == '(') {\n this.G0 = map;\n } else if (code == ')' || code == '-') {\n this.G1 = map;\n } else if (code == '*' || code == '.') {\n this.G2 = map;\n } else if (code == '+' || code == '/') {\n this.G3 = map;\n }\n } else if (this.warnUnimplemented) {\n console.log('Invalid character set for \"' + code + '\": ' + ch);\n }\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Back Index (DECBI).\n *\n * VT420 and up. Not currently implemented.\n */\nhterm.VT.ESC['6'] = hterm.VT.ignore;\n\n/**\n * Save Cursor (DECSC).\n */\nhterm.VT.ESC['7'] = function() {\n this.savedState_.save();\n};\n\n/**\n * Restore Cursor (DECRC).\n */\nhterm.VT.ESC['8'] = function() {\n this.savedState_.restore();\n};\n\n/**\n * Forward Index (DECFI).\n *\n * VT210 and up. Not currently implemented.\n */\nhterm.VT.ESC['9'] = hterm.VT.ignore;\n\n/**\n * Application keypad (DECKPAM).\n */\nhterm.VT.ESC['='] = function() {\n this.terminal.keyboard.applicationKeypad = true;\n};\n\n/**\n * Normal keypad (DECKPNM).\n */\nhterm.VT.ESC['>'] = function() {\n this.terminal.keyboard.applicationKeypad = false;\n};\n\n/**\n * Cursor to lower left corner of screen.\n *\n * Will not implement.\n *\n * This is only recognized by xterm when the hpLowerleftBugCompat resource is\n * set.\n */\nhterm.VT.ESC['F'] = hterm.VT.ignore;\n\n/**\n * Full Reset (RIS).\n */\nhterm.VT.ESC['c'] = function() {\n this.reset();\n this.terminal.reset();\n};\n\n/**\n * Memory lock/unlock.\n *\n * Will not implement.\n */\nhterm.VT.ESC['l'] =\nhterm.VT.ESC['m'] = hterm.VT.ignore;\n\n/**\n * Lock Shift 2 (LS2)\n *\n * Invoke the G2 Character Set as GL.\n */\nhterm.VT.ESC['n'] = function() {\n this.GL = 'G2';\n};\n\n/**\n * Lock Shift 3 (LS3)\n *\n * Invoke the G3 Character Set as GL.\n */\nhterm.VT.ESC['o'] = function() {\n this.GL = 'G3';\n};\n\n/**\n * Lock Shift 2, Right (LS3R)\n *\n * Invoke the G3 Character Set as GR.\n */\nhterm.VT.ESC['|'] = function() {\n this.GR = 'G3';\n};\n\n/**\n * Lock Shift 2, Right (LS2R)\n *\n * Invoke the G2 Character Set as GR.\n */\nhterm.VT.ESC['}'] = function() {\n this.GR = 'G2';\n};\n\n/**\n * Lock Shift 1, Right (LS1R)\n *\n * Invoke the G1 Character Set as GR.\n */\nhterm.VT.ESC['~'] = function() {\n this.GR = 'G1';\n};\n\n/**\n * Change icon name and window title.\n *\n * We only change the window title.\n */\nhterm.VT.OSC['0'] = function(parseState) {\n this.terminal.setWindowTitle(parseState.args[0]);\n};\n\n/**\n * Change window title.\n */\nhterm.VT.OSC['2'] = hterm.VT.OSC['0'];\n\n/**\n * Set/read color palette.\n */\nhterm.VT.OSC['4'] = function(parseState) {\n // Args come in as a single 'index1;rgb1 ... ;indexN;rgbN' string.\n // We split on the semicolon and iterate through the pairs.\n var args = parseState.args[0].split(';');\n\n var pairCount = parseInt(args.length / 2);\n var colorPalette = this.terminal.getTextAttributes().colorPalette;\n var responseArray = [];\n\n for (var pairNumber = 0; pairNumber < pairCount; ++pairNumber) {\n var colorIndex = parseInt(args[pairNumber * 2]);\n var colorValue = args[pairNumber * 2 + 1];\n\n if (colorIndex >= colorPalette.length)\n continue;\n\n if (colorValue == '?') {\n // '?' means we should report back the current color value.\n colorValue = lib.colors.rgbToX11(colorPalette[colorIndex]);\n if (colorValue)\n responseArray.push(colorIndex + ';' + colorValue);\n\n continue;\n }\n\n colorValue = lib.colors.x11ToCSS(colorValue);\n if (colorValue)\n colorPalette[colorIndex] = colorValue;\n }\n\n if (responseArray.length)\n this.terminal.io.sendString('\\x1b]4;' + responseArray.join(';') + '\\x07');\n};\n\n/**\n * iTerm2 growl notifications.\n */\nhterm.VT.OSC['9'] = function(parseState) {\n // This just dumps the entire string as the message.\n hterm.notify({'body': parseState.args[0]});\n};\n\n/**\n * Change VT100 text foreground color.\n */\nhterm.VT.OSC['10'] = function(parseState) {\n // Args come in as a single string, but extra args will chain to the following\n // OSC sequences.\n var args = parseState.args[0].split(';');\n if (!args)\n return;\n\n var colorArg;\n var colorX11 = lib.colors.x11ToCSS(args.shift());\n if (colorX11)\n this.terminal.setForegroundColor(colorX11);\n\n if (args.length > 0) {\n parseState.args[0] = args.join(';');\n hterm.VT.OSC['11'].apply(this, [parseState]);\n }\n};\n\n/**\n * Change VT100 text background color.\n */\nhterm.VT.OSC['11'] = function(parseState) {\n // Args come in as a single string, but extra args will chain to the following\n // OSC sequences.\n var args = parseState.args[0].split(';');\n if (!args)\n return;\n\n var colorArg;\n var colorX11 = lib.colors.x11ToCSS(args.shift());\n if (colorX11)\n this.terminal.setBackgroundColor(colorX11);\n\n /* Note: If we support OSC 12+, we'd chain it here.\n if (args.length > 0) {\n parseState.args[0] = args.join(';');\n hterm.VT.OSC['12'].apply(this, [parseState]);\n }\n */\n};\n\n/**\n * Set the cursor shape.\n *\n * Parameter is expected to be in the form \"CursorShape=number\", where number is\n * one of:\n *\n * 0 - Block\n * 1 - I-Beam\n * 2 - Underline\n *\n * This is a bit of a de-facto standard supported by iTerm 2 and Konsole. See\n * also: DECSCUSR.\n *\n * Invalid numbers will restore the cursor to the block shape.\n */\nhterm.VT.OSC['50'] = function(parseState) {\n var args = parseState.args[0].match(/CursorShape=(.)/i);\n if (!args) {\n console.warn('Could not parse OSC 50 args: ' + parseState.args[0]);\n return;\n }\n\n switch (args[1]) {\n case '1': // CursorShape=1: I-Beam.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n break;\n\n case '2': // CursorShape=2: Underline.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n break;\n\n default: // CursorShape=0: Block.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n }\n};\n\n/**\n * Set/read system clipboard.\n *\n * Read is not implemented due to security considerations. A remote app\n * that is able to both write and read to the clipboard could essentially\n * take over your session.\n *\n * The clipboard data will be decoded according to the 'receive-encoding'\n * preference.\n */\nhterm.VT.OSC['52'] = function(parseState) {\n // Args come in as a single 'clipboard;b64-data' string. The clipboard\n // parameter is used to select which of the X clipboards to address. Since\n // we're not integrating with X, we treat them all the same.\n var args = parseState.args[0].match(/^[cps01234567]*;(.*)/);\n if (!args)\n return;\n\n var data = window.atob(args[1]);\n if (data)\n this.terminal.copyStringToClipboard(this.decode(data));\n};\n\n/**\n * URxvt perl modules.\n *\n * This is the escape system used by rxvt-unicode and its perl modules.\n * Obviously we don't support perl or custom modules, so we list a few common\n * ones that we find useful.\n *\n * Technically there is no format here, but most modules obey:\n * ;\n */\nhterm.VT.OSC['777'] = function(parseState) {\n var ary;\n var urxvtMod = parseState.args[0].split(';', 1)[0];\n\n switch (urxvtMod) {\n case 'notify':\n // Format:\n // notify;title;message\n var title, message;\n ary = parseState.args[0].match(/^[^;]+;([^;]*)(;([\\s\\S]*))?$/);\n if (ary) {\n title = ary[1];\n message = ary[3];\n }\n hterm.notify({'title': title, 'body': message});\n break;\n\n default:\n console.warn('Unknown urxvt module: ' + parseState.args[0]);\n break;\n }\n};\n\n/**\n * Insert (blank) characters (ICH).\n */\nhterm.VT.CSI['@'] = function(parseState) {\n this.terminal.insertSpace(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Up (CUU).\n */\nhterm.VT.CSI['A'] = function(parseState) {\n this.terminal.cursorUp(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Down (CUD).\n */\nhterm.VT.CSI['B'] = function(parseState) {\n this.terminal.cursorDown(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Forward (CUF).\n */\nhterm.VT.CSI['C'] = function(parseState) {\n this.terminal.cursorRight(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Backward (CUB).\n */\nhterm.VT.CSI['D'] = function(parseState) {\n this.terminal.cursorLeft(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Next Line (CNL).\n *\n * This is like Cursor Down, except the cursor moves to the beginning of the\n * line as well.\n */\nhterm.VT.CSI['E'] = function(parseState) {\n this.terminal.cursorDown(parseState.iarg(0, 1));\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Cursor Preceding Line (CPL).\n *\n * This is like Cursor Up, except the cursor moves to the beginning of the\n * line as well.\n */\nhterm.VT.CSI['F'] = function(parseState) {\n this.terminal.cursorUp(parseState.iarg(0, 1));\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Cursor Character Absolute (CHA).\n */\nhterm.VT.CSI['G'] = function(parseState) {\n this.terminal.setCursorColumn(parseState.iarg(0, 1) - 1);\n};\n\n/**\n * Cursor Position (CUP).\n */\nhterm.VT.CSI['H'] = function(parseState) {\n this.terminal.setCursorPosition(parseState.iarg(0, 1) - 1,\n parseState.iarg(1, 1) - 1);\n};\n\n/**\n * Cursor Forward Tabulation (CHT).\n */\nhterm.VT.CSI['I'] = function(parseState) {\n var count = parseState.iarg(0, 1);\n count = lib.f.clamp(count, 1, this.terminal.screenSize.width);\n for (var i = 0; i < count; i++) {\n this.terminal.forwardTabStop();\n }\n};\n\n/**\n * Erase in Display (ED, DECSED).\n */\nhterm.VT.CSI['J'] =\nhterm.VT.CSI['?J'] = function(parseState, code) {\n var arg = parseState.args[0];\n\n if (!arg || arg == 0) {\n this.terminal.eraseBelow();\n } else if (arg == 1) {\n this.terminal.eraseAbove();\n } else if (arg == 2) {\n this.terminal.clear();\n } else if (arg == 3) {\n // The xterm docs say this means \"Erase saved lines\", but we'll just clear\n // the display since killing the scrollback seems rude.\n this.terminal.clear();\n }\n};\n\n/**\n * Erase in line (EL, DECSEL).\n */\nhterm.VT.CSI['K'] =\nhterm.VT.CSI['?K'] = function(parseState, code) {\n var arg = parseState.args[0];\n\n if (!arg || arg == 0) {\n this.terminal.eraseToRight();\n } else if (arg == 1) {\n this.terminal.eraseToLeft();\n } else if (arg == 2) {\n this.terminal.eraseLine();\n }\n};\n\n/**\n * Insert Lines (IL).\n */\nhterm.VT.CSI['L'] = function(parseState) {\n this.terminal.insertLines(parseState.iarg(0, 1));\n};\n\n/**\n * Delete Lines (DL).\n */\nhterm.VT.CSI['M'] = function(parseState) {\n this.terminal.deleteLines(parseState.iarg(0, 1));\n};\n\n/**\n * Delete Characters (DCH).\n *\n * This command shifts the line contents left, starting at the cursor position.\n */\nhterm.VT.CSI['P'] = function(parseState) {\n this.terminal.deleteChars(parseState.iarg(0, 1));\n};\n\n/**\n * Scroll Up (SU).\n */\nhterm.VT.CSI['S'] = function(parseState) {\n this.terminal.vtScrollUp(parseState.iarg(0, 1));\n};\n\n/**\n * Scroll Down (SD).\n * Also 'Initiate highlight mouse tracking'. Will not implement this part.\n */\nhterm.VT.CSI['T'] = function(parseState) {\n if (parseState.args.length <= 1)\n this.terminal.vtScrollDown(parseState.iarg(0, 1));\n};\n\n/**\n * Reset one or more features of the title modes to the default value.\n *\n * ESC [ > Ps T\n *\n * Normally, \"reset\" disables the feature. It is possible to disable the\n * ability to reset features by compiling a different default for the title\n * modes into xterm.\n *\n * Ps values:\n * 0 - Do not set window/icon labels using hexadecimal.\n * 1 - Do not query window/icon labels using hexadecimal.\n * 2 - Do not set window/icon labels using UTF-8.\n * 3 - Do not query window/icon labels using UTF-8.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>T'] = hterm.VT.ignore;\n\n/**\n * Erase Characters (ECH).\n */\nhterm.VT.CSI['X'] = function(parseState) {\n this.terminal.eraseToRight(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Backward Tabulation (CBT).\n */\nhterm.VT.CSI['Z'] = function(parseState) {\n var count = parseState.iarg(0, 1);\n count = lib.f.clamp(count, 1, this.terminal.screenSize.width);\n for (var i = 0; i < count; i++) {\n this.terminal.backwardTabStop();\n }\n};\n\n/**\n * Character Position Absolute (HPA).\n *\n * Same as Cursor Character Absolute (CHA).\n */\nhterm.VT.CSI['`'] = hterm.VT.CSI['G'];\n\n/**\n * Character Position Relative (HPR).\n */\nhterm.VT.CSI['a'] = function(parseState) {\n this.terminal.setCursorColumn(this.terminal.getCursorColumn() +\n parseState.iarg(0, 1));\n};\n\n/**\n * Repeat the preceding graphic character.\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['b'] = hterm.VT.ignore;\n\n/**\n * Send Device Attributes (Primary DA).\n *\n * TODO(rginda): This is hardcoded to send back 'VT100 with Advanced Video\n * Option', but it may be more correct to send a VT220 response once\n * we fill out the 'Not currently implemented' parts.\n */\nhterm.VT.CSI['c'] = function(parseState) {\n if (!parseState.args[0] || parseState.args[0] == 0) {\n this.terminal.io.sendString('\\x1b[?1;2c');\n }\n};\n\n/**\n * Send Device Attributes (Secondary DA).\n *\n * TODO(rginda): This is hardcoded to send back 'VT100' but it may be more\n * correct to send a VT220 response once we fill out more 'Not currently\n * implemented' parts.\n */\nhterm.VT.CSI['>c'] = function(parseState) {\n this.terminal.io.sendString('\\x1b[>0;256;0c');\n};\n\n/**\n * Line Position Absolute (VPA).\n */\nhterm.VT.CSI['d'] = function(parseState) {\n this.terminal.setAbsoluteCursorRow(parseState.iarg(0, 1) - 1);\n};\n\n/**\n * Horizontal and Vertical Position (HVP).\n *\n * Same as Cursor Position (CUP).\n */\nhterm.VT.CSI['f'] = hterm.VT.CSI['H'];\n\n/**\n * Tab Clear (TBC).\n */\nhterm.VT.CSI['g'] = function(parseState) {\n if (!parseState.args[0] || parseState.args[0] == 0) {\n // Clear tab stop at cursor.\n this.terminal.clearTabStopAtCursor(false);\n } else if (parseState.args[0] == 3) {\n // Clear all tab stops.\n this.terminal.clearAllTabStops();\n }\n};\n\n/**\n * Set Mode (SM).\n */\nhterm.VT.CSI['h'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setANSIMode(parseState.args[i], true);\n }\n};\n\n/**\n * DEC Private Mode Set (DECSET).\n */\nhterm.VT.CSI['?h'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setDECMode(parseState.args[i], true);\n }\n};\n\n/**\n * Media Copy (MC).\n * Media Copy (MC, DEC Specific).\n *\n * These commands control the printer. Will not implement.\n */\nhterm.VT.CSI['i'] =\nhterm.VT.CSI['?i'] = hterm.VT.ignore;\n\n/**\n * Reset Mode (RM).\n */\nhterm.VT.CSI['l'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setANSIMode(parseState.args[i], false);\n }\n};\n\n/**\n * DEC Private Mode Reset (DECRST).\n */\nhterm.VT.CSI['?l'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setDECMode(parseState.args[i], false);\n }\n};\n\n/**\n * Character Attributes (SGR).\n *\n * Iterate through the list of arguments, applying the attribute changes based\n * on the argument value...\n */\nhterm.VT.CSI['m'] = function(parseState) {\n function get256(i) {\n if (parseState.args.length < i + 2 || parseState.args[i + 1] != 5)\n return null;\n\n return parseState.iarg(i + 2, 0);\n }\n\n function getTrueColor(i) {\n if (parseState.args.length < i + 5 || parseState.args[i + 1] != 2)\n return null;\n var r = parseState.iarg(i + 2, 0);\n var g = parseState.iarg(i + 3, 0);\n var b = parseState.iarg(i + 4, 0);\n\n return 'rgb(' + r + ' ,' + g + ' ,' + b + ')';\n }\n\n var attrs = this.terminal.getTextAttributes();\n\n if (!parseState.args.length) {\n attrs.reset();\n return;\n }\n\n for (var i = 0; i < parseState.args.length; i++) {\n var arg = parseState.iarg(i, 0);\n\n if (arg < 30) {\n if (arg == 0) { // Normal (default).\n attrs.reset();\n } else if (arg == 1) { // Bold.\n attrs.bold = true;\n } else if (arg == 2) { // Faint.\n attrs.faint = true;\n } else if (arg == 3) { // Italic.\n attrs.italic = true;\n } else if (arg == 4) { // Underline.\n attrs.underline = true;\n } else if (arg == 5) { // Blink.\n attrs.blink = true;\n } else if (arg == 7) { // Inverse.\n attrs.inverse = true;\n } else if (arg == 8) { // Invisible.\n attrs.invisible = true;\n } else if (arg == 9) { // Crossed out.\n attrs.strikethrough = true;\n } else if (arg == 22) { // Not bold & not faint.\n attrs.bold = false;\n attrs.faint = false;\n } else if (arg == 23) { // Not italic.\n attrs.italic = false;\n } else if (arg == 24) { // Not underlined.\n attrs.underline = false;\n } else if (arg == 25) { // Not blink.\n attrs.blink = false;\n } else if (arg == 27) { // Steady.\n attrs.inverse = false;\n } else if (arg == 28) { // Visible.\n attrs.invisible = false;\n } else if (arg == 29) { // Not crossed out.\n attrs.strikethrough = false;\n }\n\n } else if (arg < 50) {\n // Select fore/background color from bottom half of 16 color palette\n // or from the 256 color palette or alternative specify color in fully\n // qualified rgb(r, g, b) form.\n if (arg < 38) {\n attrs.foregroundSource = arg - 30;\n\n } else if (arg == 38) {\n // First check for true color definition\n var trueColor = getTrueColor(i);\n if (trueColor != null) {\n attrs.foregroundSource = attrs.SRC_RGB;\n attrs.foreground = trueColor;\n\n i += 5;\n } else {\n // Check for 256 color\n var c = get256(i);\n if (c == null)\n break;\n\n i += 2;\n\n if (c >= attrs.colorPalette.length)\n continue;\n\n attrs.foregroundSource = c;\n }\n\n } else if (arg == 39) {\n attrs.foregroundSource = attrs.SRC_DEFAULT;\n\n } else if (arg < 48) {\n attrs.backgroundSource = arg - 40;\n\n } else if (arg == 48) {\n // First check for true color definition\n var trueColor = getTrueColor(i);\n if (trueColor != null) {\n attrs.backgroundSource = attrs.SRC_RGB;\n attrs.background = trueColor;\n\n i += 5;\n } else {\n // Check for 256 color\n var c = get256(i);\n if (c == null)\n break;\n\n i += 2;\n\n if (c >= attrs.colorPalette.length)\n continue;\n\n attrs.backgroundSource = c;\n }\n } else {\n attrs.backgroundSource = attrs.SRC_DEFAULT;\n }\n\n } else if (arg >= 90 && arg <= 97) {\n attrs.foregroundSource = arg - 90 + 8;\n\n } else if (arg >= 100 && arg <= 107) {\n attrs.backgroundSource = arg - 100 + 8;\n }\n }\n\n attrs.setDefaults(this.terminal.getForegroundColor(),\n this.terminal.getBackgroundColor());\n};\n\n/**\n * Set xterm-specific keyboard modes.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>m'] = hterm.VT.ignore;\n\n/**\n * Device Status Report (DSR, DEC Specific).\n *\n * 5 - Status Report. Result (OK) is CSI 0 n\n * 6 - Report Cursor Position (CPR) [row;column]. Result is CSI r ; c R\n */\nhterm.VT.CSI['n'] = function(parseState) {\n if (parseState.args[0] == 5) {\n this.terminal.io.sendString('\\x1b0n');\n } else if (parseState.args[0] == 6) {\n var row = this.terminal.getCursorRow() + 1;\n var col = this.terminal.getCursorColumn() + 1;\n this.terminal.io.sendString('\\x1b[' + row + ';' + col + 'R');\n }\n};\n\n/**\n * Disable modifiers which may be enabled via CSI['>m'].\n *\n * Will not implement.\n */\nhterm.VT.CSI['>n'] = hterm.VT.ignore;\n\n/**\n * Device Status Report (DSR, DEC Specific).\n *\n * 6 - Report Cursor Position (CPR) [row;column] as CSI ? r ; c R\n * 15 - Report Printer status as CSI ? 1 0 n (ready) or\n * CSI ? 1 1 n (not ready).\n * 25 - Report UDK status as CSI ? 2 0 n (unlocked) or CSI ? 2 1 n (locked).\n * 26 - Report Keyboard status as CSI ? 2 7 ; 1 ; 0 ; 0 n (North American).\n * The last two parameters apply to VT400 & up, and denote keyboard ready\n * and LK01 respectively.\n * 53 - Report Locator status as CSI ? 5 3 n Locator available, if compiled-in,\n * or CSI ? 5 0 n No Locator, if not.\n */\nhterm.VT.CSI['?n'] = function(parseState) {\n if (parseState.args[0] == 6) {\n var row = this.terminal.getCursorRow() + 1;\n var col = this.terminal.getCursorColumn() + 1;\n this.terminal.io.sendString('\\x1b[' + row + ';' + col + 'R');\n } else if (parseState.args[0] == 15) {\n this.terminal.io.sendString('\\x1b[?11n');\n } else if (parseState.args[0] == 25) {\n this.terminal.io.sendString('\\x1b[?21n');\n } else if (parseState.args[0] == 26) {\n this.terminal.io.sendString('\\x1b[?12;1;0;0n');\n } else if (parseState.args[0] == 53) {\n this.terminal.io.sendString('\\x1b[?50n');\n }\n};\n\n/**\n * This is used by xterm to decide whether to hide the pointer cursor as the\n * user types.\n *\n * Valid values for the parameter:\n * 0 - Never hide the pointer.\n * 1 - Hide if the mouse tracking mode is not enabled.\n * 2 - Always hide the pointer.\n *\n * If no parameter is given, xterm uses the default, which is 1.\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['>p'] = hterm.VT.ignore;\n\n/**\n * Soft terminal reset (DECSTR).\n */\nhterm.VT.CSI['!p'] = function() {\n this.reset();\n this.terminal.softReset();\n};\n\n/**\n * Request ANSI Mode (DECRQM).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['$p'] = hterm.VT.ignore;\nhterm.VT.CSI['?$p'] = hterm.VT.ignore;\n\n/**\n * Set conformance level (DECSCL).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\"p'] = hterm.VT.ignore;\n\n/**\n * Load LEDs (DECLL).\n *\n * Not currently implemented. Could be implemented as virtual LEDs overlaying\n * the terminal if anyone cares.\n */\nhterm.VT.CSI['q'] = hterm.VT.ignore;\n\n/**\n * Set cursor style (DECSCUSR, VT520).\n */\nhterm.VT.CSI[' q'] = function(parseState) {\n var arg = parseState.args[0];\n\n if (arg == 0 || arg == 1) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n this.terminal.setCursorBlink(true);\n } else if (arg == 2) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n this.terminal.setCursorBlink(false);\n } else if (arg == 3) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n this.terminal.setCursorBlink(true);\n } else if (arg == 4) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n this.terminal.setCursorBlink(false);\n } else if (arg == 5) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n this.terminal.setCursorBlink(true);\n } else if (arg == 6) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n this.terminal.setCursorBlink(false);\n } else {\n console.warn('Unknown cursor style: ' + arg);\n }\n};\n\n/**\n * Select character protection attribute (DECSCA).\n *\n * Will not implement.\n */\nhterm.VT.CSI['\"q'] = hterm.VT.ignore;\n\n/**\n * Set Scrolling Region (DECSTBM).\n */\nhterm.VT.CSI['r'] = function(parseState) {\n var args = parseState.args;\n var scrollTop = args[0] ? parseInt(args[0], 10) -1 : null;\n var scrollBottom = args[1] ? parseInt(args[1], 10) - 1 : null;\n this.terminal.setVTScrollRegion(scrollTop, scrollBottom);\n this.terminal.setCursorPosition(0, 0);\n};\n\n/**\n * Restore DEC Private Mode Values.\n *\n * Will not implement.\n */\nhterm.VT.CSI['?r'] = hterm.VT.ignore;\n\n/**\n * Change Attributes in Rectangular Area (DECCARA)\n *\n * Will not implement.\n */\nhterm.VT.CSI['$r'] = hterm.VT.ignore;\n\n/**\n * Save cursor (ANSI.SYS)\n */\nhterm.VT.CSI['s'] = function() {\n this.savedState_.save();\n};\n\n/**\n * Save DEC Private Mode Values.\n *\n * Will not implement.\n */\nhterm.VT.CSI['?s'] = hterm.VT.ignore;\n\n/**\n * Window manipulation (from dtterm, as well as extensions).\n *\n * Will not implement.\n */\nhterm.VT.CSI['t'] = hterm.VT.ignore;\n\n/**\n * Reverse Attributes in Rectangular Area (DECRARA).\n *\n * Will not implement.\n */\nhterm.VT.CSI['$t'] = hterm.VT.ignore;\n\n/**\n * Set one or more features of the title modes.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>t'] = hterm.VT.ignore;\n\n/**\n * Set warning-bell volume (DECSWBV, VT520).\n *\n * Will not implement.\n */\nhterm.VT.CSI[' t'] = hterm.VT.ignore;\n\n/**\n * Restore cursor (ANSI.SYS).\n */\nhterm.VT.CSI['u'] = function() {\n this.savedState_.restore();\n};\n\n/**\n * Set margin-bell volume (DECSMBV, VT520).\n *\n * Will not implement.\n */\nhterm.VT.CSI[' u'] = hterm.VT.ignore;\n\n/**\n * Copy Rectangular Area (DECCRA, VT400 and up).\n *\n * Will not implement.\n */\nhterm.VT.CSI['$v'] = hterm.VT.ignore;\n\n/**\n * Enable Filter Rectangle (DECEFR).\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'w'] = hterm.VT.ignore;\n\n/**\n * Request Terminal Parameters (DECREQTPARM).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['x'] = hterm.VT.ignore;\n\n/**\n * Select Attribute Change Extent (DECSACE).\n *\n * Will not implement.\n */\nhterm.VT.CSI['*x'] = hterm.VT.ignore;\n\n/**\n * Fill Rectangular Area (DECFRA), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['$x'] = hterm.VT.ignore;\n\n/**\n * vt_tiledata (as used by NAOhack and UnNetHack)\n * (see https://nethackwiki.com/wiki/Vt_tiledata for more info)\n *\n * Implemented as far as we care (start a glyph and end a glyph).\n */\nhterm.VT.CSI['z'] = function(parseState) {\n if (parseState.args.length < 1)\n return;\n var arg = parseState.args[0];\n if (arg == 0) {\n // Start a glyph (one parameter, the glyph number).\n if (parseState.args.length < 2)\n return;\n this.terminal.getTextAttributes().tileData = parseState.args[1];\n } else if (arg == 1) {\n // End a glyph.\n this.terminal.getTextAttributes().tileData = null;\n }\n};\n\n/**\n * Enable Locator Reporting (DECELR).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'z'] = hterm.VT.ignore;\n\n/**\n * Erase Rectangular Area (DECERA), VT400 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['$z'] = hterm.VT.ignore;\n\n/**\n * Select Locator Events (DECSLE).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'{'] = hterm.VT.ignore;\n\n/**\n * Request Locator Position (DECRQLP).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'|'] = hterm.VT.ignore;\n\n/**\n * Insert Columns (DECIC), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'}'] = hterm.VT.ignore;\n\n/**\n * Delete P s Columns (DECDC), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'~'] = hterm.VT.ignore;\n// SOURCE FILE: hterm/js/hterm_vt_character_map.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f');\n\n/**\n * Character map object.\n *\n * Mapping from received to display character, used depending on the active\n * VT character set.\n *\n * GR maps are not currently supported.\n *\n * @param {string} description A human readable description of this map.\n * @param {Object} glmap The GL mapping from input to output characters.\n */\nhterm.VT.CharacterMap = function(description, glmap) {\n /**\n * Short description for this character set, useful for debugging.\n */\n this.description = description;\n\n /**\n * The function to call to when this map is installed in GL.\n */\n this.GL = null;\n\n // Always keep an unmodified reference to the map.\n // This allows us to sanely reset back to the original state.\n this.glmapBase_ = glmap;\n\n // Now sync the internal state as needed.\n this.sync_();\n};\n\n/**\n * Internal helper for resyncing internal state.\n *\n * Used when the mappings change.\n *\n * @param {Object?} opt_glmap Additional mappings to overlay on top of the\n * base mapping.\n */\nhterm.VT.CharacterMap.prototype.sync_ = function(opt_glmap) {\n // If there are no maps, then reset the state back.\n if (!this.glmapBase_ && !opt_glmap) {\n this.GL = null;\n delete this.glmap_;\n delete this.glre_;\n return;\n }\n\n // Set the the GL mapping. If we're given a custom mapping, then create a\n // new object to hold the merged map. This way we can cleanly reset back.\n if (opt_glmap)\n this.glmap_ = Object.assign({}, this.glmapBase_, opt_glmap);\n else\n this.glmap_ = this.glmapBase_;\n\n var glchars = Object.keys(this.glmap_).map((key) =>\n '\\\\x' + lib.f.zpad(key.charCodeAt(0).toString(16)));\n this.glre_ = new RegExp('[' + glchars.join('') + ']', 'g');\n\n this.GL = (str) => str.replace(this.glre_, (ch) => this.glmap_[ch]);\n};\n\n/**\n * Reset map back to original mappings (discarding runtime updates).\n *\n * Specifically, any calls to setOverrides will be discarded.\n */\nhterm.VT.CharacterMap.prototype.reset = function() {\n // If we haven't been given a custom mapping, then there's nothing to reset.\n if (this.glmap_ !== this.glmapBase_)\n this.sync_();\n};\n\n/**\n * Merge custom changes to this map.\n *\n * The input map need not duplicate the existing mappings as it is merged with\n * the existing base map (what was created with). Subsequent calls to this\n * will throw away previous override settings.\n *\n * @param {Object} glmap The custom map to override existing mappings.\n */\nhterm.VT.CharacterMap.prototype.setOverrides = function(glmap) {\n this.sync_(glmap);\n};\n\n/**\n * Return a copy of this mapping.\n *\n * @return {hterm.VT.CharacterMap} A new hterm.VT.CharacterMap instance.\n */\nhterm.VT.CharacterMap.prototype.clone = function() {\n var map = new hterm.VT.CharacterMap(this.description, this.glmapBase_);\n if (this.glmap_ !== this.glmapBase_)\n map.setOverrides(this.glmap_);\n return map;\n};\n\n/**\n * Table of character maps.\n */\nhterm.VT.CharacterMaps = function() {\n this.maps_ = hterm.VT.CharacterMaps.DefaultMaps;\n\n // Always keep an unmodified reference to the map.\n // This allows us to sanely reset back to the original state.\n this.mapsBase_ = this.maps_;\n};\n\n/**\n * Look up a previously registered map.\n *\n * @param {String} name The name of the map to lookup.\n * @return {hterm.VT.CharacterMap} The map, if it's been registered.\n */\nhterm.VT.CharacterMaps.prototype.getMap = function(name) {\n if (this.maps_.hasOwnProperty(name))\n return this.maps_[name];\n else\n return undefined;\n};\n\n/**\n * Register a new map.\n *\n * Any previously registered maps by this name will be discarded.\n *\n * @param {String} name The name of the map.\n * @param {hterm.VT.CharacterMap} map The map to register.\n */\nhterm.VT.CharacterMaps.prototype.addMap = function(name, map) {\n if (this.maps_ === this.mapsBase_)\n this.maps_ = Object.assign({}, this.mapsBase_);\n this.maps_[name] = map;\n};\n\n/**\n * Reset the table and all its maps back to original state.\n */\nhterm.VT.CharacterMaps.prototype.reset = function() {\n if (this.maps_ !== hterm.VT.CharacterMaps.DefaultMaps)\n this.maps_ = hterm.VT.CharacterMaps.DefaultMaps;\n};\n\n/**\n * Merge custom changes to this table.\n *\n * @param {Object} maps A set of hterm.VT.CharacterMap objects.\n */\nhterm.VT.CharacterMaps.prototype.setOverrides = function(maps) {\n if (this.maps_ === this.mapsBase_)\n this.maps_ = Object.assign({}, this.mapsBase_);\n\n for (var name in maps) {\n var map = this.getMap(name);\n if (map !== undefined) {\n this.maps_[name] = map.clone();\n this.maps_[name].setOverrides(maps[name]);\n } else\n this.addMap(name, new hterm.VT.CharacterMap('user ' + name, maps[name]));\n }\n};\n\n/**\n * The default set of supported character maps.\n */\nhterm.VT.CharacterMaps.DefaultMaps = {};\n\n/**\n * VT100 Graphic character map.\n * http://vt100.net/docs/vt220-rm/table2-4.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['0'] = new hterm.VT.CharacterMap(\n 'graphic', {\n '\\x60':'\\u25c6', // ` -> diamond\n '\\x61':'\\u2592', // a -> grey-box\n '\\x62':'\\u2409', // b -> h/t\n '\\x63':'\\u240c', // c -> f/f\n '\\x64':'\\u240d', // d -> c/r\n '\\x65':'\\u240a', // e -> l/f\n '\\x66':'\\u00b0', // f -> degree\n '\\x67':'\\u00b1', // g -> +/-\n '\\x68':'\\u2424', // h -> n/l\n '\\x69':'\\u240b', // i -> v/t\n '\\x6a':'\\u2518', // j -> bottom-right\n '\\x6b':'\\u2510', // k -> top-right\n '\\x6c':'\\u250c', // l -> top-left\n '\\x6d':'\\u2514', // m -> bottom-left\n '\\x6e':'\\u253c', // n -> line-cross\n '\\x6f':'\\u23ba', // o -> scan1\n '\\x70':'\\u23bb', // p -> scan3\n '\\x71':'\\u2500', // q -> scan5\n '\\x72':'\\u23bc', // r -> scan7\n '\\x73':'\\u23bd', // s -> scan9\n '\\x74':'\\u251c', // t -> left-tee\n '\\x75':'\\u2524', // u -> right-tee\n '\\x76':'\\u2534', // v -> bottom-tee\n '\\x77':'\\u252c', // w -> top-tee\n '\\x78':'\\u2502', // x -> vertical-line\n '\\x79':'\\u2264', // y -> less-equal\n '\\x7a':'\\u2265', // z -> greater-equal\n '\\x7b':'\\u03c0', // { -> pi\n '\\x7c':'\\u2260', // | -> not-equal\n '\\x7d':'\\u00a3', // } -> british-pound\n '\\x7e':'\\u00b7', // ~ -> dot\n });\n\n/**\n * British character map.\n * http://vt100.net/docs/vt220-rm/table2-5.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['A'] = new hterm.VT.CharacterMap(\n 'british', {\n '\\x23': '\\u00a3', // # -> british-pound\n });\n\n/**\n * US ASCII map, no changes.\n */\nhterm.VT.CharacterMaps.DefaultMaps['B'] = new hterm.VT.CharacterMap(\n 'us', null);\n\n/**\n * Dutch character map.\n * http://vt100.net/docs/vt220-rm/table2-6.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['4'] = new hterm.VT.CharacterMap(\n 'dutch', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00be', // @ -> 3/4\n\n '\\x5b': '\\u0132', // [ -> 'ij' ligature (xterm goes with \\u00ff?)\n '\\x5c': '\\u00bd', // \\ -> 1/2\n '\\x5d': '\\u007c', // ] -> vertical bar\n\n '\\x7b': '\\u00a8', // { -> two dots\n '\\x7c': '\\u0066', // | -> f\n '\\x7d': '\\u00bc', // } -> 1/4\n '\\x7e': '\\u00b4', // ~ -> acute\n });\n\n/**\n * Finnish character map.\n * http://vt100.net/docs/vt220-rm/table2-7.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['C'] =\nhterm.VT.CharacterMaps.DefaultMaps['5'] = new hterm.VT.CharacterMap(\n 'finnish', {\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ~ -> 'u' umlaut\n\n '\\x60': '\\u00e9', // ` -> 'e' acute\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * French character map.\n * http://vt100.net/docs/vt220-rm/table2-8.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['R'] = new hterm.VT.CharacterMap(\n 'french', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00b0', // [ -> ring\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00a7', // ] -> section symbol (double s)\n\n '\\x7b': '\\u00e9', // { -> 'e' acute\n '\\x7c': '\\u00f9', // | -> 'u' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00a8', // ~ -> umlaut\n });\n\n/**\n * French Canadian character map.\n * http://vt100.net/docs/vt220-rm/table2-9.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Q'] = new hterm.VT.CharacterMap(\n 'french canadian', {\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00e2', // [ -> 'a' circumflex\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00ea', // ] -> 'e' circumflex\n '\\x5e': '\\u00ee', // ^ -> 'i' circumflex\n\n '\\x60': '\\u00f4', // ` -> 'o' circumflex\n\n '\\x7b': '\\u00e9', // { -> 'e' acute\n '\\x7c': '\\u00f9', // | -> 'u' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00fb', // ~ -> 'u' circumflex\n });\n\n/**\n * German character map.\n * http://vt100.net/docs/vt220-rm/table2-10.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['K'] = new hterm.VT.CharacterMap(\n 'german', {\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00dc', // ] -> 'U' umlaut\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00fc', // } -> 'u' umlaut\n '\\x7e': '\\u00df', // ~ -> eszett\n });\n\n/**\n * Italian character map.\n * http://vt100.net/docs/vt220-rm/table2-11.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Y'] = new hterm.VT.CharacterMap(\n 'italian', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00b0', // [ -> ring\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00e9', // ] -> 'e' acute\n\n '\\x60': '\\u00f9', // ` -> 'u' grave\n\n '\\x7b': '\\u00e0', // { -> 'a' grave\n '\\x7c': '\\u00f2', // | -> 'o' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00ec', // ~ -> 'i' grave\n });\n\n/**\n * Norwegian/Danish character map.\n * http://vt100.net/docs/vt220-rm/table2-12.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['E'] =\nhterm.VT.CharacterMaps.DefaultMaps['6'] = new hterm.VT.CharacterMap(\n 'norwegian/danish', {\n '\\x40': '\\u00c4', // @ -> 'A' umlaut\n\n '\\x5b': '\\u00c6', // [ -> 'AE' ligature\n '\\x5c': '\\u00d8', // \\ -> 'O' stroke\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ^ -> 'U' umlaut\n\n '\\x60': '\\u00e4', // ` -> 'a' umlaut\n\n '\\x7b': '\\u00e6', // { -> 'ae' ligature\n '\\x7c': '\\u00f8', // | -> 'o' stroke\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * Spanish character map.\n * http://vt100.net/docs/vt220-rm/table2-13.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Z'] = new hterm.VT.CharacterMap(\n 'spanish', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00a1', // [ -> '!' inverted\n '\\x5c': '\\u00d1', // \\ -> 'N' tilde\n '\\x5d': '\\u00bf', // ] -> '?' inverted\n\n '\\x7b': '\\u00b0', // { -> ring\n '\\x7c': '\\u00f1', // | -> 'n' tilde\n '\\x7d': '\\u00e7', // } -> 'c' cedilla\n });\n\n/**\n * Swedish character map.\n * http://vt100.net/docs/vt220-rm/table2-14.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['7'] =\nhterm.VT.CharacterMaps.DefaultMaps['H'] = new hterm.VT.CharacterMap(\n 'swedish', {\n '\\x40': '\\u00c9', // @ -> 'E' acute\n\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ^ -> 'U' umlaut\n\n '\\x60': '\\u00e9', // ` -> 'e' acute\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * Swiss character map.\n * http://vt100.net/docs/vt220-rm/table2-15.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['='] = new hterm.VT.CharacterMap(\n 'swiss', {\n '\\x23': '\\u00f9', // # -> 'u' grave\n\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00e9', // [ -> 'e' acute\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00ea', // ] -> 'e' circumflex\n '\\x5e': '\\u00ee', // ^ -> 'i' circumflex\n '\\x5f': '\\u00e8', // _ -> 'e' grave\n\n '\\x60': '\\u00f4', // ` -> 'o' circumflex\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00fc', // } -> 'u' umlaut\n '\\x7e': '\\u00fb', // ~ -> 'u' circumflex\n });\nlib.resource.add('hterm/audio/bell', 'audio/ogg;base64',\n'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' +\n'zinmkFLKMeUcUko5p5xTzjkIHYTKMQadgxAppRxTzinHHITMQeWcg9BBKAAAIMABACDAQig0ZEUA' +\n'ECcA4HAkz5M0SxQlSxNFzxRl1xNN15U0zTQ1UVRVyxNV1VRV2xZNVbYlTRNNTfRUVRNFVRVV05ZN' +\n'VbVtzzRl2VRV3RZV1bZl2xZ+V5Z13zNNWRZV1dZNVbV115Z9X9ZtXZg0zTQ1UVRVTRRV1VRV2zZV' +\n'17Y1UXRVUVVlWVRVWXZlWfdVV9Z9SxRV1VNN2RVVVbZV2fVtVZZ94XRVXVdl2fdVWRZ+W9eF4fZ9' +\n'4RhV1dZN19V1VZZ9YdZlYbd13yhpmmlqoqiqmiiqqqmqtm2qrq1bouiqoqrKsmeqrqzKsq+rrmzr' +\n'miiqrqiqsiyqqiyrsqz7qizrtqiquq3KsrCbrqvrtu8LwyzrunCqrq6rsuz7qizruq3rxnHrujB8' +\n'pinLpqvquqm6um7runHMtm0co6rqvirLwrDKsu/rui+0dSFRVXXdlF3jV2VZ921fd55b94WybTu/' +\n'rfvKceu60vg5z28cubZtHLNuG7+t+8bzKz9hOI6lZ5q2baqqrZuqq+uybivDrOtCUVV9XZVl3zdd' +\n'WRdu3zeOW9eNoqrquirLvrDKsjHcxm8cuzAcXds2jlvXnbKtC31jyPcJz2vbxnH7OuP2daOvDAnH' +\n'jwAAgAEHAIAAE8pAoSErAoA4AQAGIecUUxAqxSB0EFLqIKRUMQYhc05KxRyUUEpqIZTUKsYgVI5J' +\n'yJyTEkpoKZTSUgehpVBKa6GU1lJrsabUYu0gpBZKaS2U0lpqqcbUWowRYxAy56RkzkkJpbQWSmkt' +\n'c05K56CkDkJKpaQUS0otVsxJyaCj0kFIqaQSU0mptVBKa6WkFktKMbYUW24x1hxKaS2kEltJKcYU' +\n'U20txpojxiBkzknJnJMSSmktlNJa5ZiUDkJKmYOSSkqtlZJSzJyT0kFIqYOOSkkptpJKTKGU1kpK' +\n'sYVSWmwx1pxSbDWU0lpJKcaSSmwtxlpbTLV1EFoLpbQWSmmttVZraq3GUEprJaUYS0qxtRZrbjHm' +\n'GkppraQSW0mpxRZbji3GmlNrNabWam4x5hpbbT3WmnNKrdbUUo0txppjbb3VmnvvIKQWSmktlNJi' +\n'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' +\n'm2L/kruPM6Q7oz4tvDQy+bZ3HzOi+gNHA4DZEgA=' +\n''\n);\n\nlib.resource.add('hterm/images/icon-96', 'image/png;base64',\n'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' +\n'ODoyNC0wNDowMNba8BsAAAAASUVORK5CYII=' +\n''\n);\n\nlib.resource.add('hterm/concat/date', 'text/plain',\n'Tue, 22 Aug 2017 06:42:31 +0000' +\n''\n);\n\nlib.resource.add('hterm/changelog/version', 'text/plain',\n'1.70' +\n''\n);\n\nlib.resource.add('hterm/changelog/date', 'text/plain',\n'2017-08-16' +\n''\n);\n\nlib.resource.add('hterm/git/HEAD', 'text/plain',\n'git rev-parse HEAD' +\n''\n);\n\n// SOURCE FILE: hterm/js/hterm_export.js\nmodule.exports = {\n hterm: hterm,\n lib: lib\n};\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/libapps/hterm/dist/js/hterm_module.js\n// module id = 14\n// module chunks = 0","import { TermHterm } from \"./hterm\";\nimport { TermXterm } from \"./xterm\";\nimport { Terminal, WebTTY, protocols } from \"./webtty\";\nimport { ConnectionFactory } from \"./websocket\";\n\n// @TODO remove these\ndeclare var gotty_auth_token: string;\ndeclare var gotty_term: string;\n\nconst elem = document.getElementById(\"terminal\")\n\nif (elem !== null) {\n var term: Terminal;\n if (gotty_term == \"hterm\") {\n term = new TermHterm(elem);\n } else {\n term = new TermXterm(elem);\n }\n const httpsEnabled = window.location.protocol == \"https:\";\n const url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws';\n const args = window.location.search;\n const factory = new ConnectionFactory(url, protocols);\n const wt = new WebTTY(term, factory, args, gotty_auth_token);\n const closer = wt.open();\n\n window.addEventListener(\"unload\", () => {\n closer();\n term.close();\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CompositionHelper = (function () {\n function CompositionHelper(textarea, compositionView, terminal) {\n this.textarea = textarea;\n this.compositionView = compositionView;\n this.terminal = terminal;\n this.isComposing = false;\n this.isSendingComposition = false;\n this.compositionPosition = { start: null, end: null };\n }\n CompositionHelper.prototype.compositionstart = function () {\n this.isComposing = true;\n this.compositionPosition.start = this.textarea.value.length;\n this.compositionView.textContent = '';\n this.compositionView.classList.add('active');\n };\n CompositionHelper.prototype.compositionupdate = function (ev) {\n var _this = this;\n this.compositionView.textContent = ev.data;\n this.updateCompositionElements();\n setTimeout(function () {\n _this.compositionPosition.end = _this.textarea.value.length;\n }, 0);\n };\n CompositionHelper.prototype.compositionend = function () {\n this.finalizeComposition(true);\n };\n CompositionHelper.prototype.keydown = function (ev) {\n if (this.isComposing || this.isSendingComposition) {\n if (ev.keyCode === 229) {\n return false;\n }\n else if (ev.keyCode === 16 || ev.keyCode === 17 || ev.keyCode === 18) {\n return false;\n }\n else {\n this.finalizeComposition(false);\n }\n }\n if (ev.keyCode === 229) {\n this.handleAnyTextareaChanges();\n return false;\n }\n return true;\n };\n CompositionHelper.prototype.finalizeComposition = function (waitForPropogation) {\n var _this = this;\n this.compositionView.classList.remove('active');\n this.isComposing = false;\n this.clearTextareaPosition();\n if (!waitForPropogation) {\n this.isSendingComposition = false;\n var input = this.textarea.value.substring(this.compositionPosition.start, this.compositionPosition.end);\n this.terminal.handler(input);\n }\n else {\n var currentCompositionPosition_1 = {\n start: this.compositionPosition.start,\n end: this.compositionPosition.end,\n };\n this.isSendingComposition = true;\n setTimeout(function () {\n if (_this.isSendingComposition) {\n _this.isSendingComposition = false;\n var input = void 0;\n if (_this.isComposing) {\n input = _this.textarea.value.substring(currentCompositionPosition_1.start, currentCompositionPosition_1.end);\n }\n else {\n input = _this.textarea.value.substring(currentCompositionPosition_1.start);\n }\n _this.terminal.handler(input);\n }\n }, 0);\n }\n };\n CompositionHelper.prototype.handleAnyTextareaChanges = function () {\n var _this = this;\n var oldValue = this.textarea.value;\n setTimeout(function () {\n if (!_this.isComposing) {\n var newValue = _this.textarea.value;\n var diff = newValue.replace(oldValue, '');\n if (diff.length > 0) {\n _this.terminal.handler(diff);\n }\n }\n }, 0);\n };\n CompositionHelper.prototype.updateCompositionElements = function (dontRecurse) {\n var _this = this;\n if (!this.isComposing) {\n return;\n }\n var cursor = this.terminal.element.querySelector('.terminal-cursor');\n if (cursor) {\n var xtermRows = this.terminal.element.querySelector('.xterm-rows');\n var cursorTop = xtermRows.offsetTop + cursor.offsetTop;\n this.compositionView.style.left = cursor.offsetLeft + 'px';\n this.compositionView.style.top = cursorTop + 'px';\n this.compositionView.style.height = cursor.offsetHeight + 'px';\n this.compositionView.style.lineHeight = cursor.offsetHeight + 'px';\n var compositionViewBounds = this.compositionView.getBoundingClientRect();\n this.textarea.style.left = cursor.offsetLeft + 'px';\n this.textarea.style.top = cursorTop + 'px';\n this.textarea.style.width = compositionViewBounds.width + 'px';\n this.textarea.style.height = compositionViewBounds.height + 'px';\n this.textarea.style.lineHeight = compositionViewBounds.height + 'px';\n }\n if (!dontRecurse) {\n setTimeout(function () { return _this.updateCompositionElements(true); }, 0);\n }\n };\n ;\n CompositionHelper.prototype.clearTextareaPosition = function () {\n this.textarea.style.left = '';\n this.textarea.style.top = '';\n };\n ;\n return CompositionHelper;\n}());\nexports.CompositionHelper = CompositionHelper;\n\n//# sourceMappingURL=CompositionHelper.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/CompositionHelper.js\n// module id = 16\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar Charsets_1 = require(\"./Charsets\");\nvar InputHandler = (function () {\n function InputHandler(_terminal) {\n this._terminal = _terminal;\n }\n InputHandler.prototype.addChar = function (char, code) {\n if (char >= ' ') {\n var ch_width = wcwidth(code);\n if (this._terminal.charset && this._terminal.charset[char]) {\n char = this._terminal.charset[char];\n }\n var row = this._terminal.y + this._terminal.ybase;\n if (!ch_width && this._terminal.x) {\n if (this._terminal.lines.get(row)[this._terminal.x - 1]) {\n if (!this._terminal.lines.get(row)[this._terminal.x - 1][2]) {\n if (this._terminal.lines.get(row)[this._terminal.x - 2])\n this._terminal.lines.get(row)[this._terminal.x - 2][1] += char;\n }\n else {\n this._terminal.lines.get(row)[this._terminal.x - 1][1] += char;\n }\n this._terminal.updateRange(this._terminal.y);\n }\n return;\n }\n if (this._terminal.x + ch_width - 1 >= this._terminal.cols) {\n if (this._terminal.wraparoundMode) {\n this._terminal.x = 0;\n this._terminal.y++;\n if (this._terminal.y > this._terminal.scrollBottom) {\n this._terminal.y--;\n this._terminal.scroll(true);\n }\n else {\n this._terminal.lines.get(this._terminal.y).isWrapped = true;\n }\n }\n else {\n if (ch_width === 2)\n return;\n }\n }\n row = this._terminal.y + this._terminal.ybase;\n if (this._terminal.insertMode) {\n for (var moves = 0; moves < ch_width; ++moves) {\n var removed = this._terminal.lines.get(this._terminal.y + this._terminal.ybase).pop();\n if (removed[2] === 0\n && this._terminal.lines.get(row)[this._terminal.cols - 2]\n && this._terminal.lines.get(row)[this._terminal.cols - 2][2] === 2) {\n this._terminal.lines.get(row)[this._terminal.cols - 2] = [this._terminal.curAttr, ' ', 1];\n }\n this._terminal.lines.get(row).splice(this._terminal.x, 0, [this._terminal.curAttr, ' ', 1]);\n }\n }\n this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, char, ch_width];\n this._terminal.x++;\n this._terminal.updateRange(this._terminal.y);\n if (ch_width === 2) {\n this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, '', 0];\n this._terminal.x++;\n }\n }\n };\n InputHandler.prototype.bell = function () {\n var _this = this;\n if (!this._terminal.visualBell) {\n return;\n }\n this._terminal.element.style.borderColor = 'white';\n setTimeout(function () { return _this._terminal.element.style.borderColor = ''; }, 10);\n if (this._terminal.popOnBell) {\n this._terminal.focus();\n }\n };\n InputHandler.prototype.lineFeed = function () {\n if (this._terminal.convertEol) {\n this._terminal.x = 0;\n }\n this._terminal.y++;\n if (this._terminal.y > this._terminal.scrollBottom) {\n this._terminal.y--;\n this._terminal.scroll();\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.carriageReturn = function () {\n this._terminal.x = 0;\n };\n InputHandler.prototype.backspace = function () {\n if (this._terminal.x > 0) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.tab = function () {\n this._terminal.x = this._terminal.nextStop();\n };\n InputHandler.prototype.shiftOut = function () {\n this._terminal.setgLevel(1);\n };\n InputHandler.prototype.shiftIn = function () {\n this._terminal.setgLevel(0);\n };\n InputHandler.prototype.insertChars = function (params) {\n var param, row, j, ch;\n param = params[0];\n if (param < 1)\n param = 1;\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.x;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param-- && j < this._terminal.cols) {\n this._terminal.lines.get(row).splice(j++, 0, ch);\n this._terminal.lines.get(row).pop();\n }\n };\n InputHandler.prototype.cursorUp = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y -= param;\n if (this._terminal.y < 0) {\n this._terminal.y = 0;\n }\n };\n InputHandler.prototype.cursorDown = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.cursorForward = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x += param;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.cursorBackward = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n this._terminal.x -= param;\n if (this._terminal.x < 0) {\n this._terminal.x = 0;\n }\n };\n InputHandler.prototype.cursorNextLine = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n this._terminal.x = 0;\n };\n ;\n InputHandler.prototype.cursorPrecedingLine = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y -= param;\n if (this._terminal.y < 0) {\n this._terminal.y = 0;\n }\n this._terminal.x = 0;\n };\n ;\n InputHandler.prototype.cursorCharAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x = param - 1;\n };\n InputHandler.prototype.cursorPosition = function (params) {\n var row, col;\n row = params[0] - 1;\n if (params.length >= 2) {\n col = params[1] - 1;\n }\n else {\n col = 0;\n }\n if (row < 0) {\n row = 0;\n }\n else if (row >= this._terminal.rows) {\n row = this._terminal.rows - 1;\n }\n if (col < 0) {\n col = 0;\n }\n else if (col >= this._terminal.cols) {\n col = this._terminal.cols - 1;\n }\n this._terminal.x = col;\n this._terminal.y = row;\n };\n InputHandler.prototype.cursorForwardTab = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.x = this._terminal.nextStop();\n }\n };\n InputHandler.prototype.eraseInDisplay = function (params) {\n var j;\n switch (params[0]) {\n case 0:\n this._terminal.eraseRight(this._terminal.x, this._terminal.y);\n j = this._terminal.y + 1;\n for (; j < this._terminal.rows; j++) {\n this._terminal.eraseLine(j);\n }\n break;\n case 1:\n this._terminal.eraseLeft(this._terminal.x, this._terminal.y);\n j = this._terminal.y;\n while (j--) {\n this._terminal.eraseLine(j);\n }\n break;\n case 2:\n j = this._terminal.rows;\n while (j--)\n this._terminal.eraseLine(j);\n break;\n case 3:\n var scrollBackSize = this._terminal.lines.length - this._terminal.rows;\n if (scrollBackSize > 0) {\n this._terminal.lines.trimStart(scrollBackSize);\n this._terminal.ybase = Math.max(this._terminal.ybase - scrollBackSize, 0);\n this._terminal.ydisp = Math.max(this._terminal.ydisp - scrollBackSize, 0);\n }\n break;\n }\n };\n InputHandler.prototype.eraseInLine = function (params) {\n switch (params[0]) {\n case 0:\n this._terminal.eraseRight(this._terminal.x, this._terminal.y);\n break;\n case 1:\n this._terminal.eraseLeft(this._terminal.x, this._terminal.y);\n break;\n case 2:\n this._terminal.eraseLine(this._terminal.y);\n break;\n }\n };\n InputHandler.prototype.insertLines = function (params) {\n var param, row, j;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.rows - 1 - this._terminal.scrollBottom;\n j = this._terminal.rows - 1 + this._terminal.ybase - j + 1;\n while (param--) {\n if (this._terminal.lines.length === this._terminal.lines.maxLength) {\n this._terminal.lines.trimStart(1);\n this._terminal.ybase--;\n this._terminal.ydisp--;\n row--;\n j--;\n }\n this._terminal.lines.splice(row, 0, this._terminal.blankLine(true));\n this._terminal.lines.splice(j, 1);\n }\n this._terminal.updateRange(this._terminal.y);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.deleteLines = function (params) {\n var param, row, j;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.rows - 1 - this._terminal.scrollBottom;\n j = this._terminal.rows - 1 + this._terminal.ybase - j;\n while (param--) {\n if (this._terminal.lines.length === this._terminal.lines.maxLength) {\n this._terminal.lines.trimStart(1);\n this._terminal.ybase -= 1;\n this._terminal.ydisp -= 1;\n }\n this._terminal.lines.splice(j + 1, 0, this._terminal.blankLine(true));\n this._terminal.lines.splice(row, 1);\n }\n this._terminal.updateRange(this._terminal.y);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.deleteChars = function (params) {\n var param, row, ch;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param--) {\n this._terminal.lines.get(row).splice(this._terminal.x, 1);\n this._terminal.lines.get(row).push(ch);\n }\n };\n InputHandler.prototype.scrollUp = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 1);\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 0, this._terminal.blankLine());\n }\n this._terminal.updateRange(this._terminal.scrollTop);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.scrollDown = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 1);\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 0, this._terminal.blankLine());\n }\n this._terminal.updateRange(this._terminal.scrollTop);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.eraseChars = function (params) {\n var param, row, j, ch;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.x;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param-- && j < this._terminal.cols) {\n this._terminal.lines.get(row)[j++] = ch;\n }\n };\n InputHandler.prototype.cursorBackwardTab = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.x = this._terminal.prevStop();\n }\n };\n InputHandler.prototype.charPosAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x = param - 1;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.HPositionRelative = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x += param;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.repeatPrecedingCharacter = function (params) {\n var param = params[0] || 1, line = this._terminal.lines.get(this._terminal.ybase + this._terminal.y), ch = line[this._terminal.x - 1] || [this._terminal.defAttr, ' ', 1];\n while (param--) {\n line[this._terminal.x++] = ch;\n }\n };\n InputHandler.prototype.sendDeviceAttributes = function (params) {\n if (params[0] > 0) {\n return;\n }\n if (!this._terminal.prefix) {\n if (this._terminal.is('xterm') || this._terminal.is('rxvt-unicode') || this._terminal.is('screen')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?1;2c');\n }\n else if (this._terminal.is('linux')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?6c');\n }\n }\n else if (this._terminal.prefix === '>') {\n if (this._terminal.is('xterm')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>0;276;0c');\n }\n else if (this._terminal.is('rxvt-unicode')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>85;95;0c');\n }\n else if (this._terminal.is('linux')) {\n this._terminal.send(params[0] + 'c');\n }\n else if (this._terminal.is('screen')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>83;40003;0c');\n }\n }\n };\n InputHandler.prototype.linePosAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y = param - 1;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n };\n InputHandler.prototype.VPositionRelative = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.HVPosition = function (params) {\n if (params[0] < 1)\n params[0] = 1;\n if (params[1] < 1)\n params[1] = 1;\n this._terminal.y = params[0] - 1;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n this._terminal.x = params[1] - 1;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.tabClear = function (params) {\n var param = params[0];\n if (param <= 0) {\n delete this._terminal.tabs[this._terminal.x];\n }\n else if (param === 3) {\n this._terminal.tabs = {};\n }\n };\n InputHandler.prototype.setMode = function (params) {\n if (params.length > 1) {\n for (var i = 0; i < params.length; i++) {\n this.setMode([params[i]]);\n }\n return;\n }\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 4:\n this._terminal.insertMode = true;\n break;\n case 20:\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 1:\n this._terminal.applicationCursor = true;\n break;\n case 2:\n this._terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(1, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(2, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(3, Charsets_1.DEFAULT_CHARSET);\n break;\n case 3:\n this._terminal.savedCols = this._terminal.cols;\n this._terminal.resize(132, this._terminal.rows);\n break;\n case 6:\n this._terminal.originMode = true;\n break;\n case 7:\n this._terminal.wraparoundMode = true;\n break;\n case 12:\n break;\n case 66:\n this._terminal.log('Serial port requested application keypad.');\n this._terminal.applicationKeypad = true;\n this._terminal.viewport.syncScrollArea();\n break;\n case 9:\n case 1000:\n case 1002:\n case 1003:\n this._terminal.x10Mouse = params[0] === 9;\n this._terminal.vt200Mouse = params[0] === 1000;\n this._terminal.normalMouse = params[0] > 1000;\n this._terminal.mouseEvents = true;\n this._terminal.element.classList.add('enable-mouse-events');\n this._terminal.selectionManager.disable();\n this._terminal.log('Binding to mouse events.');\n break;\n case 1004:\n this._terminal.sendFocus = true;\n break;\n case 1005:\n this._terminal.utfMouse = true;\n break;\n case 1006:\n this._terminal.sgrMouse = true;\n break;\n case 1015:\n this._terminal.urxvtMouse = true;\n break;\n case 25:\n this._terminal.cursorHidden = false;\n break;\n case 1049:\n ;\n case 47:\n case 1047:\n if (!this._terminal.normal) {\n var normal = {\n lines: this._terminal.lines,\n ybase: this._terminal.ybase,\n ydisp: this._terminal.ydisp,\n x: this._terminal.x,\n y: this._terminal.y,\n scrollTop: this._terminal.scrollTop,\n scrollBottom: this._terminal.scrollBottom,\n tabs: this._terminal.tabs\n };\n this._terminal.reset();\n this._terminal.viewport.syncScrollArea();\n this._terminal.normal = normal;\n this._terminal.showCursor();\n }\n break;\n }\n }\n };\n InputHandler.prototype.resetMode = function (params) {\n if (params.length > 1) {\n for (var i = 0; i < params.length; i++) {\n this.resetMode([params[i]]);\n }\n return;\n }\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 4:\n this._terminal.insertMode = false;\n break;\n case 20:\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 1:\n this._terminal.applicationCursor = false;\n break;\n case 3:\n if (this._terminal.cols === 132 && this._terminal.savedCols) {\n this._terminal.resize(this._terminal.savedCols, this._terminal.rows);\n }\n delete this._terminal.savedCols;\n break;\n case 6:\n this._terminal.originMode = false;\n break;\n case 7:\n this._terminal.wraparoundMode = false;\n break;\n case 12:\n break;\n case 66:\n this._terminal.log('Switching back to normal keypad.');\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n break;\n case 9:\n case 1000:\n case 1002:\n case 1003:\n this._terminal.x10Mouse = false;\n this._terminal.vt200Mouse = false;\n this._terminal.normalMouse = false;\n this._terminal.mouseEvents = false;\n this._terminal.element.classList.remove('enable-mouse-events');\n this._terminal.selectionManager.enable();\n break;\n case 1004:\n this._terminal.sendFocus = false;\n break;\n case 1005:\n this._terminal.utfMouse = false;\n break;\n case 1006:\n this._terminal.sgrMouse = false;\n break;\n case 1015:\n this._terminal.urxvtMouse = false;\n break;\n case 25:\n this._terminal.cursorHidden = true;\n break;\n case 1049:\n ;\n case 47:\n case 1047:\n if (this._terminal.normal) {\n this._terminal.lines = this._terminal.normal.lines;\n this._terminal.ybase = this._terminal.normal.ybase;\n this._terminal.ydisp = this._terminal.normal.ydisp;\n this._terminal.x = this._terminal.normal.x;\n this._terminal.y = this._terminal.normal.y;\n this._terminal.scrollTop = this._terminal.normal.scrollTop;\n this._terminal.scrollBottom = this._terminal.normal.scrollBottom;\n this._terminal.tabs = this._terminal.normal.tabs;\n this._terminal.normal = null;\n this._terminal.selectionManager.setBuffer(this._terminal.lines);\n this._terminal.refresh(0, this._terminal.rows - 1);\n this._terminal.viewport.syncScrollArea();\n this._terminal.showCursor();\n }\n break;\n }\n }\n };\n InputHandler.prototype.charAttributes = function (params) {\n if (params.length === 1 && params[0] === 0) {\n this._terminal.curAttr = this._terminal.defAttr;\n return;\n }\n var l = params.length, i = 0, flags = this._terminal.curAttr >> 18, fg = (this._terminal.curAttr >> 9) & 0x1ff, bg = this._terminal.curAttr & 0x1ff, p;\n for (; i < l; i++) {\n p = params[i];\n if (p >= 30 && p <= 37) {\n fg = p - 30;\n }\n else if (p >= 40 && p <= 47) {\n bg = p - 40;\n }\n else if (p >= 90 && p <= 97) {\n p += 8;\n fg = p - 90;\n }\n else if (p >= 100 && p <= 107) {\n p += 8;\n bg = p - 100;\n }\n else if (p === 0) {\n flags = this._terminal.defAttr >> 18;\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n bg = this._terminal.defAttr & 0x1ff;\n }\n else if (p === 1) {\n flags |= 1;\n }\n else if (p === 4) {\n flags |= 2;\n }\n else if (p === 5) {\n flags |= 4;\n }\n else if (p === 7) {\n flags |= 8;\n }\n else if (p === 8) {\n flags |= 16;\n }\n else if (p === 22) {\n flags &= ~1;\n }\n else if (p === 24) {\n flags &= ~2;\n }\n else if (p === 25) {\n flags &= ~4;\n }\n else if (p === 27) {\n flags &= ~8;\n }\n else if (p === 28) {\n flags &= ~16;\n }\n else if (p === 39) {\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n }\n else if (p === 49) {\n bg = this._terminal.defAttr & 0x1ff;\n }\n else if (p === 38) {\n if (params[i + 1] === 2) {\n i += 2;\n fg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff);\n if (fg === -1)\n fg = 0x1ff;\n i += 2;\n }\n else if (params[i + 1] === 5) {\n i += 2;\n p = params[i] & 0xff;\n fg = p;\n }\n }\n else if (p === 48) {\n if (params[i + 1] === 2) {\n i += 2;\n bg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff);\n if (bg === -1)\n bg = 0x1ff;\n i += 2;\n }\n else if (params[i + 1] === 5) {\n i += 2;\n p = params[i] & 0xff;\n bg = p;\n }\n }\n else if (p === 100) {\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n bg = this._terminal.defAttr & 0x1ff;\n }\n else {\n this._terminal.error('Unknown SGR attribute: %d.', p);\n }\n }\n this._terminal.curAttr = (flags << 18) | (fg << 9) | bg;\n };\n InputHandler.prototype.deviceStatus = function (params) {\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 5:\n this._terminal.send(EscapeSequences_1.C0.ESC + '[0n');\n break;\n case 6:\n this._terminal.send(EscapeSequences_1.C0.ESC + '['\n + (this._terminal.y + 1)\n + ';'\n + (this._terminal.x + 1)\n + 'R');\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 6:\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?'\n + (this._terminal.y + 1)\n + ';'\n + (this._terminal.x + 1)\n + 'R');\n break;\n case 15:\n break;\n case 25:\n break;\n case 26:\n break;\n case 53:\n break;\n }\n }\n };\n InputHandler.prototype.softReset = function (params) {\n this._terminal.cursorHidden = false;\n this._terminal.insertMode = false;\n this._terminal.originMode = false;\n this._terminal.wraparoundMode = true;\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n this._terminal.applicationCursor = false;\n this._terminal.scrollTop = 0;\n this._terminal.scrollBottom = this._terminal.rows - 1;\n this._terminal.curAttr = this._terminal.defAttr;\n this._terminal.x = this._terminal.y = 0;\n this._terminal.charset = null;\n this._terminal.glevel = 0;\n this._terminal.charsets = [null];\n };\n InputHandler.prototype.setCursorStyle = function (params) {\n var param = params[0] < 1 ? 1 : params[0];\n switch (param) {\n case 1:\n case 2:\n this._terminal.setOption('cursorStyle', 'block');\n break;\n case 3:\n case 4:\n this._terminal.setOption('cursorStyle', 'underline');\n break;\n case 5:\n case 6:\n this._terminal.setOption('cursorStyle', 'bar');\n break;\n }\n var isBlinking = param % 2 === 1;\n this._terminal.setOption('cursorBlink', isBlinking);\n };\n InputHandler.prototype.setScrollRegion = function (params) {\n if (this._terminal.prefix)\n return;\n this._terminal.scrollTop = (params[0] || 1) - 1;\n this._terminal.scrollBottom = (params[1] && params[1] <= this._terminal.rows ? params[1] : this._terminal.rows) - 1;\n this._terminal.x = 0;\n this._terminal.y = 0;\n };\n InputHandler.prototype.saveCursor = function (params) {\n this._terminal.savedX = this._terminal.x;\n this._terminal.savedY = this._terminal.y;\n };\n InputHandler.prototype.restoreCursor = function (params) {\n this._terminal.x = this._terminal.savedX || 0;\n this._terminal.y = this._terminal.savedY || 0;\n };\n return InputHandler;\n}());\nexports.InputHandler = InputHandler;\nvar wcwidth = (function (opts) {\n var COMBINING = [\n [0x0300, 0x036F], [0x0483, 0x0486], [0x0488, 0x0489],\n [0x0591, 0x05BD], [0x05BF, 0x05BF], [0x05C1, 0x05C2],\n [0x05C4, 0x05C5], [0x05C7, 0x05C7], [0x0600, 0x0603],\n [0x0610, 0x0615], [0x064B, 0x065E], [0x0670, 0x0670],\n [0x06D6, 0x06E4], [0x06E7, 0x06E8], [0x06EA, 0x06ED],\n [0x070F, 0x070F], [0x0711, 0x0711], [0x0730, 0x074A],\n [0x07A6, 0x07B0], [0x07EB, 0x07F3], [0x0901, 0x0902],\n [0x093C, 0x093C], [0x0941, 0x0948], [0x094D, 0x094D],\n [0x0951, 0x0954], [0x0962, 0x0963], [0x0981, 0x0981],\n [0x09BC, 0x09BC], [0x09C1, 0x09C4], [0x09CD, 0x09CD],\n [0x09E2, 0x09E3], [0x0A01, 0x0A02], [0x0A3C, 0x0A3C],\n [0x0A41, 0x0A42], [0x0A47, 0x0A48], [0x0A4B, 0x0A4D],\n [0x0A70, 0x0A71], [0x0A81, 0x0A82], [0x0ABC, 0x0ABC],\n [0x0AC1, 0x0AC5], [0x0AC7, 0x0AC8], [0x0ACD, 0x0ACD],\n [0x0AE2, 0x0AE3], [0x0B01, 0x0B01], [0x0B3C, 0x0B3C],\n [0x0B3F, 0x0B3F], [0x0B41, 0x0B43], [0x0B4D, 0x0B4D],\n [0x0B56, 0x0B56], [0x0B82, 0x0B82], [0x0BC0, 0x0BC0],\n [0x0BCD, 0x0BCD], [0x0C3E, 0x0C40], [0x0C46, 0x0C48],\n [0x0C4A, 0x0C4D], [0x0C55, 0x0C56], [0x0CBC, 0x0CBC],\n [0x0CBF, 0x0CBF], [0x0CC6, 0x0CC6], [0x0CCC, 0x0CCD],\n [0x0CE2, 0x0CE3], [0x0D41, 0x0D43], [0x0D4D, 0x0D4D],\n [0x0DCA, 0x0DCA], [0x0DD2, 0x0DD4], [0x0DD6, 0x0DD6],\n [0x0E31, 0x0E31], [0x0E34, 0x0E3A], [0x0E47, 0x0E4E],\n [0x0EB1, 0x0EB1], [0x0EB4, 0x0EB9], [0x0EBB, 0x0EBC],\n [0x0EC8, 0x0ECD], [0x0F18, 0x0F19], [0x0F35, 0x0F35],\n [0x0F37, 0x0F37], [0x0F39, 0x0F39], [0x0F71, 0x0F7E],\n [0x0F80, 0x0F84], [0x0F86, 0x0F87], [0x0F90, 0x0F97],\n [0x0F99, 0x0FBC], [0x0FC6, 0x0FC6], [0x102D, 0x1030],\n [0x1032, 0x1032], [0x1036, 0x1037], [0x1039, 0x1039],\n [0x1058, 0x1059], [0x1160, 0x11FF], [0x135F, 0x135F],\n [0x1712, 0x1714], [0x1732, 0x1734], [0x1752, 0x1753],\n [0x1772, 0x1773], [0x17B4, 0x17B5], [0x17B7, 0x17BD],\n [0x17C6, 0x17C6], [0x17C9, 0x17D3], [0x17DD, 0x17DD],\n [0x180B, 0x180D], [0x18A9, 0x18A9], [0x1920, 0x1922],\n [0x1927, 0x1928], [0x1932, 0x1932], [0x1939, 0x193B],\n [0x1A17, 0x1A18], [0x1B00, 0x1B03], [0x1B34, 0x1B34],\n [0x1B36, 0x1B3A], [0x1B3C, 0x1B3C], [0x1B42, 0x1B42],\n [0x1B6B, 0x1B73], [0x1DC0, 0x1DCA], [0x1DFE, 0x1DFF],\n [0x200B, 0x200F], [0x202A, 0x202E], [0x2060, 0x2063],\n [0x206A, 0x206F], [0x20D0, 0x20EF], [0x302A, 0x302F],\n [0x3099, 0x309A], [0xA806, 0xA806], [0xA80B, 0xA80B],\n [0xA825, 0xA826], [0xFB1E, 0xFB1E], [0xFE00, 0xFE0F],\n [0xFE20, 0xFE23], [0xFEFF, 0xFEFF], [0xFFF9, 0xFFFB],\n [0x10A01, 0x10A03], [0x10A05, 0x10A06], [0x10A0C, 0x10A0F],\n [0x10A38, 0x10A3A], [0x10A3F, 0x10A3F], [0x1D167, 0x1D169],\n [0x1D173, 0x1D182], [0x1D185, 0x1D18B], [0x1D1AA, 0x1D1AD],\n [0x1D242, 0x1D244], [0xE0001, 0xE0001], [0xE0020, 0xE007F],\n [0xE0100, 0xE01EF]\n ];\n function bisearch(ucs) {\n var min = 0;\n var max = COMBINING.length - 1;\n var mid;\n if (ucs < COMBINING[0][0] || ucs > COMBINING[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > COMBINING[mid][1])\n min = mid + 1;\n else if (ucs < COMBINING[mid][0])\n max = mid - 1;\n else\n return true;\n }\n return false;\n }\n function wcwidth(ucs) {\n if (ucs === 0)\n return opts.nul;\n if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0))\n return opts.control;\n if (bisearch(ucs))\n return 0;\n if (isWide(ucs)) {\n return 2;\n }\n return 1;\n }\n function isWide(ucs) {\n return (ucs >= 0x1100 && (ucs <= 0x115f ||\n ucs === 0x2329 ||\n ucs === 0x232a ||\n (ucs >= 0x2e80 && ucs <= 0xa4cf && ucs !== 0x303f) ||\n (ucs >= 0xac00 && ucs <= 0xd7a3) ||\n (ucs >= 0xf900 && ucs <= 0xfaff) ||\n (ucs >= 0xfe10 && ucs <= 0xfe19) ||\n (ucs >= 0xfe30 && ucs <= 0xfe6f) ||\n (ucs >= 0xff00 && ucs <= 0xff60) ||\n (ucs >= 0xffe0 && ucs <= 0xffe6) ||\n (ucs >= 0x20000 && ucs <= 0x2fffd) ||\n (ucs >= 0x30000 && ucs <= 0x3fffd)));\n }\n return wcwidth;\n})({ nul: 0, control: 0 });\n\n//# sourceMappingURL=InputHandler.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/InputHandler.js\n// module id = 17\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar INVALID_LINK_CLASS = 'xterm-invalid-link';\nvar protocolClause = '(https?:\\\\/\\\\/)';\nvar domainCharacterSet = '[\\\\da-z\\\\.-]+';\nvar negatedDomainCharacterSet = '[^\\\\da-z\\\\.-]+';\nvar domainBodyClause = '(' + domainCharacterSet + ')';\nvar tldClause = '([a-z\\\\.]{2,6})';\nvar ipClause = '((\\\\d{1,3}\\\\.){3}\\\\d{1,3})';\nvar localHostClause = '(localhost)';\nvar portClause = '(:\\\\d{1,5})';\nvar hostClause = '((' + domainBodyClause + '\\\\.' + tldClause + ')|' + ipClause + '|' + localHostClause + ')' + portClause + '?';\nvar pathClause = '(\\\\/[\\\\/\\\\w\\\\.\\\\-%~]*)*';\nvar queryStringHashFragmentCharacterSet = '[0-9\\\\w\\\\[\\\\]\\\\(\\\\)\\\\/\\\\?\\\\!#@$%&\\'*+,:;~\\\\=\\\\.\\\\-]*';\nvar queryStringClause = '(\\\\?' + queryStringHashFragmentCharacterSet + ')?';\nvar hashFragmentClause = '(#' + queryStringHashFragmentCharacterSet + ')?';\nvar negatedPathCharacterSet = '[^\\\\/\\\\w\\\\.\\\\-%]+';\nvar bodyClause = hostClause + pathClause + queryStringClause + hashFragmentClause;\nvar start = '(?:^|' + negatedDomainCharacterSet + ')(';\nvar end = ')($|' + negatedPathCharacterSet + ')';\nvar strictUrlRegex = new RegExp(start + protocolClause + bodyClause + end);\nvar HYPERTEXT_LINK_MATCHER_ID = 0;\nvar Linkifier = (function () {\n function Linkifier() {\n this._nextLinkMatcherId = HYPERTEXT_LINK_MATCHER_ID;\n this._rowTimeoutIds = [];\n this._linkMatchers = [];\n this.registerLinkMatcher(strictUrlRegex, null, { matchIndex: 1 });\n }\n Linkifier.prototype.attachToDom = function (document, rows) {\n this._document = document;\n this._rows = rows;\n };\n Linkifier.prototype.linkifyRow = function (rowIndex) {\n if (!this._document) {\n return;\n }\n var timeoutId = this._rowTimeoutIds[rowIndex];\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n this._rowTimeoutIds[rowIndex] = setTimeout(this._linkifyRow.bind(this, rowIndex), Linkifier.TIME_BEFORE_LINKIFY);\n };\n Linkifier.prototype.setHypertextLinkHandler = function (handler) {\n this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].handler = handler;\n };\n Linkifier.prototype.setHypertextValidationCallback = function (callback) {\n this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].validationCallback = callback;\n };\n Linkifier.prototype.registerLinkMatcher = function (regex, handler, options) {\n if (options === void 0) { options = {}; }\n if (this._nextLinkMatcherId !== HYPERTEXT_LINK_MATCHER_ID && !handler) {\n throw new Error('handler must be defined');\n }\n var matcher = {\n id: this._nextLinkMatcherId++,\n regex: regex,\n handler: handler,\n matchIndex: options.matchIndex,\n validationCallback: options.validationCallback,\n priority: options.priority || 0\n };\n this._addLinkMatcherToList(matcher);\n return matcher.id;\n };\n Linkifier.prototype._addLinkMatcherToList = function (matcher) {\n if (this._linkMatchers.length === 0) {\n this._linkMatchers.push(matcher);\n return;\n }\n for (var i = this._linkMatchers.length - 1; i >= 0; i--) {\n if (matcher.priority <= this._linkMatchers[i].priority) {\n this._linkMatchers.splice(i + 1, 0, matcher);\n return;\n }\n }\n this._linkMatchers.splice(0, 0, matcher);\n };\n Linkifier.prototype.deregisterLinkMatcher = function (matcherId) {\n for (var i = 1; i < this._linkMatchers.length; i++) {\n if (this._linkMatchers[i].id === matcherId) {\n this._linkMatchers.splice(i, 1);\n return true;\n }\n }\n return false;\n };\n Linkifier.prototype._linkifyRow = function (rowIndex) {\n var row = this._rows[rowIndex];\n if (!row) {\n return;\n }\n var text = row.textContent;\n for (var i = 0; i < this._linkMatchers.length; i++) {\n var matcher = this._linkMatchers[i];\n var linkElements = this._doLinkifyRow(row, matcher);\n if (linkElements.length > 0) {\n if (matcher.validationCallback) {\n var _loop_1 = function (j) {\n var element = linkElements[j];\n matcher.validationCallback(element.textContent, element, function (isValid) {\n if (!isValid) {\n element.classList.add(INVALID_LINK_CLASS);\n }\n });\n };\n for (var j = 0; j < linkElements.length; j++) {\n _loop_1(j);\n }\n }\n return;\n }\n }\n };\n Linkifier.prototype._doLinkifyRow = function (row, matcher) {\n var result = [];\n var isHttpLinkMatcher = matcher.id === HYPERTEXT_LINK_MATCHER_ID;\n var nodes = row.childNodes;\n var match = row.textContent.match(matcher.regex);\n if (!match || match.length === 0) {\n return result;\n }\n var uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];\n var rowStartIndex = match.index + uri.length;\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n var searchIndex = node.textContent.indexOf(uri);\n if (searchIndex >= 0) {\n var linkElement = this._createAnchorElement(uri, matcher.handler, isHttpLinkMatcher);\n if (node.textContent.length === uri.length) {\n if (node.nodeType === 3) {\n this._replaceNode(node, linkElement);\n }\n else {\n var element = node;\n if (element.nodeName === 'A') {\n return result;\n }\n element.innerHTML = '';\n element.appendChild(linkElement);\n }\n }\n else if (node.childNodes.length > 1) {\n for (var j = 0; j < node.childNodes.length; j++) {\n var childNode = node.childNodes[j];\n var childSearchIndex = childNode.textContent.indexOf(uri);\n if (childSearchIndex !== -1) {\n this._replaceNodeSubstringWithNode(childNode, linkElement, uri, childSearchIndex);\n break;\n }\n }\n }\n else {\n var nodesAdded = this._replaceNodeSubstringWithNode(node, linkElement, uri, searchIndex);\n i += nodesAdded;\n }\n result.push(linkElement);\n match = row.textContent.substring(rowStartIndex).match(matcher.regex);\n if (!match || match.length === 0) {\n return result;\n }\n uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];\n rowStartIndex += match.index + uri.length;\n }\n }\n return result;\n };\n Linkifier.prototype._createAnchorElement = function (uri, handler, isHypertextLinkHandler) {\n var element = this._document.createElement('a');\n element.textContent = uri;\n element.draggable = false;\n if (isHypertextLinkHandler) {\n element.href = uri;\n element.target = '_blank';\n element.addEventListener('click', function (event) {\n if (handler) {\n return handler(event, uri);\n }\n });\n }\n else {\n element.addEventListener('click', function (event) {\n if (element.classList.contains(INVALID_LINK_CLASS)) {\n return;\n }\n return handler(event, uri);\n });\n }\n return element;\n };\n Linkifier.prototype._replaceNode = function (oldNode) {\n var newNodes = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n newNodes[_i - 1] = arguments[_i];\n }\n var parent = oldNode.parentNode;\n for (var i = 0; i < newNodes.length; i++) {\n parent.insertBefore(newNodes[i], oldNode);\n }\n parent.removeChild(oldNode);\n };\n Linkifier.prototype._replaceNodeSubstringWithNode = function (targetNode, newNode, substring, substringIndex) {\n if (targetNode.childNodes.length === 1) {\n targetNode = targetNode.childNodes[0];\n }\n if (targetNode.nodeType !== 3) {\n throw new Error('targetNode must be a text node or only contain a single text node');\n }\n var fullText = targetNode.textContent;\n if (substringIndex === 0) {\n var rightText_1 = fullText.substring(substring.length);\n var rightTextNode_1 = this._document.createTextNode(rightText_1);\n this._replaceNode(targetNode, newNode, rightTextNode_1);\n return 0;\n }\n if (substringIndex === targetNode.textContent.length - substring.length) {\n var leftText_1 = fullText.substring(0, substringIndex);\n var leftTextNode_1 = this._document.createTextNode(leftText_1);\n this._replaceNode(targetNode, leftTextNode_1, newNode);\n return 0;\n }\n var leftText = fullText.substring(0, substringIndex);\n var leftTextNode = this._document.createTextNode(leftText);\n var rightText = fullText.substring(substringIndex + substring.length);\n var rightTextNode = this._document.createTextNode(rightText);\n this._replaceNode(targetNode, leftTextNode, newNode, rightTextNode);\n return 1;\n };\n return Linkifier;\n}());\nLinkifier.TIME_BEFORE_LINKIFY = 200;\nexports.Linkifier = Linkifier;\n\n//# sourceMappingURL=Linkifier.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Linkifier.js\n// module id = 18\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar Charsets_1 = require(\"./Charsets\");\nvar normalStateHandler = {};\nnormalStateHandler[EscapeSequences_1.C0.BEL] = function (parser, handler) { return handler.bell(); };\nnormalStateHandler[EscapeSequences_1.C0.LF] = function (parser, handler) { return handler.lineFeed(); };\nnormalStateHandler[EscapeSequences_1.C0.VT] = normalStateHandler[EscapeSequences_1.C0.LF];\nnormalStateHandler[EscapeSequences_1.C0.FF] = normalStateHandler[EscapeSequences_1.C0.LF];\nnormalStateHandler[EscapeSequences_1.C0.CR] = function (parser, handler) { return handler.carriageReturn(); };\nnormalStateHandler[EscapeSequences_1.C0.BS] = function (parser, handler) { return handler.backspace(); };\nnormalStateHandler[EscapeSequences_1.C0.HT] = function (parser, handler) { return handler.tab(); };\nnormalStateHandler[EscapeSequences_1.C0.SO] = function (parser, handler) { return handler.shiftOut(); };\nnormalStateHandler[EscapeSequences_1.C0.SI] = function (parser, handler) { return handler.shiftIn(); };\nnormalStateHandler[EscapeSequences_1.C0.ESC] = function (parser, handler) { return parser.setState(ParserState.ESCAPED); };\nvar escapedStateHandler = {};\nescapedStateHandler['['] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.CSI_PARAM);\n};\nescapedStateHandler[']'] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.OSC);\n};\nescapedStateHandler['P'] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.DCS);\n};\nescapedStateHandler['_'] = function (parser, terminal) {\n parser.setState(ParserState.IGNORE);\n};\nescapedStateHandler['^'] = function (parser, terminal) {\n parser.setState(ParserState.IGNORE);\n};\nescapedStateHandler['c'] = function (parser, terminal) {\n terminal.reset();\n};\nescapedStateHandler['E'] = function (parser, terminal) {\n terminal.x = 0;\n terminal.index();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['D'] = function (parser, terminal) {\n terminal.index();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['M'] = function (parser, terminal) {\n terminal.reverseIndex();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['%'] = function (parser, terminal) {\n terminal.setgLevel(0);\n terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET);\n parser.setState(ParserState.NORMAL);\n parser.skipNextChar();\n};\nescapedStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); };\nvar csiParamStateHandler = {};\ncsiParamStateHandler['?'] = function (parser) { return parser.setPrefix('?'); };\ncsiParamStateHandler['>'] = function (parser) { return parser.setPrefix('>'); };\ncsiParamStateHandler['!'] = function (parser) { return parser.setPrefix('!'); };\ncsiParamStateHandler['0'] = function (parser) { return parser.setParam(parser.getParam() * 10); };\ncsiParamStateHandler['1'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 1); };\ncsiParamStateHandler['2'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 2); };\ncsiParamStateHandler['3'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 3); };\ncsiParamStateHandler['4'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 4); };\ncsiParamStateHandler['5'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 5); };\ncsiParamStateHandler['6'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 6); };\ncsiParamStateHandler['7'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 7); };\ncsiParamStateHandler['8'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 8); };\ncsiParamStateHandler['9'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 9); };\ncsiParamStateHandler['$'] = function (parser) { return parser.setPostfix('$'); };\ncsiParamStateHandler['\"'] = function (parser) { return parser.setPostfix('\"'); };\ncsiParamStateHandler[' '] = function (parser) { return parser.setPostfix(' '); };\ncsiParamStateHandler['\\''] = function (parser) { return parser.setPostfix('\\''); };\ncsiParamStateHandler[';'] = function (parser) { return parser.finalizeParam(); };\ncsiParamStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); };\nvar csiStateHandler = {};\ncsiStateHandler['@'] = function (handler, params, prefix) { return handler.insertChars(params); };\ncsiStateHandler['A'] = function (handler, params, prefix) { return handler.cursorUp(params); };\ncsiStateHandler['B'] = function (handler, params, prefix) { return handler.cursorDown(params); };\ncsiStateHandler['C'] = function (handler, params, prefix) { return handler.cursorForward(params); };\ncsiStateHandler['D'] = function (handler, params, prefix) { return handler.cursorBackward(params); };\ncsiStateHandler['E'] = function (handler, params, prefix) { return handler.cursorNextLine(params); };\ncsiStateHandler['F'] = function (handler, params, prefix) { return handler.cursorPrecedingLine(params); };\ncsiStateHandler['G'] = function (handler, params, prefix) { return handler.cursorCharAbsolute(params); };\ncsiStateHandler['H'] = function (handler, params, prefix) { return handler.cursorPosition(params); };\ncsiStateHandler['I'] = function (handler, params, prefix) { return handler.cursorForwardTab(params); };\ncsiStateHandler['J'] = function (handler, params, prefix) { return handler.eraseInDisplay(params); };\ncsiStateHandler['K'] = function (handler, params, prefix) { return handler.eraseInLine(params); };\ncsiStateHandler['L'] = function (handler, params, prefix) { return handler.insertLines(params); };\ncsiStateHandler['M'] = function (handler, params, prefix) { return handler.deleteLines(params); };\ncsiStateHandler['P'] = function (handler, params, prefix) { return handler.deleteChars(params); };\ncsiStateHandler['S'] = function (handler, params, prefix) { return handler.scrollUp(params); };\ncsiStateHandler['T'] = function (handler, params, prefix) {\n if (params.length < 2 && !prefix) {\n handler.scrollDown(params);\n }\n};\ncsiStateHandler['X'] = function (handler, params, prefix) { return handler.eraseChars(params); };\ncsiStateHandler['Z'] = function (handler, params, prefix) { return handler.cursorBackwardTab(params); };\ncsiStateHandler['`'] = function (handler, params, prefix) { return handler.charPosAbsolute(params); };\ncsiStateHandler['a'] = function (handler, params, prefix) { return handler.HPositionRelative(params); };\ncsiStateHandler['b'] = function (handler, params, prefix) { return handler.repeatPrecedingCharacter(params); };\ncsiStateHandler['c'] = function (handler, params, prefix) { return handler.sendDeviceAttributes(params); };\ncsiStateHandler['d'] = function (handler, params, prefix) { return handler.linePosAbsolute(params); };\ncsiStateHandler['e'] = function (handler, params, prefix) { return handler.VPositionRelative(params); };\ncsiStateHandler['f'] = function (handler, params, prefix) { return handler.HVPosition(params); };\ncsiStateHandler['g'] = function (handler, params, prefix) { return handler.tabClear(params); };\ncsiStateHandler['h'] = function (handler, params, prefix) { return handler.setMode(params); };\ncsiStateHandler['l'] = function (handler, params, prefix) { return handler.resetMode(params); };\ncsiStateHandler['m'] = function (handler, params, prefix) { return handler.charAttributes(params); };\ncsiStateHandler['n'] = function (handler, params, prefix) { return handler.deviceStatus(params); };\ncsiStateHandler['p'] = function (handler, params, prefix) {\n switch (prefix) {\n case '!':\n handler.softReset(params);\n break;\n }\n};\ncsiStateHandler['q'] = function (handler, params, prefix, postfix) {\n if (postfix === ' ') {\n handler.setCursorStyle(params);\n }\n};\ncsiStateHandler['r'] = function (handler, params) { return handler.setScrollRegion(params); };\ncsiStateHandler['s'] = function (handler, params) { return handler.saveCursor(params); };\ncsiStateHandler['u'] = function (handler, params) { return handler.restoreCursor(params); };\ncsiStateHandler[EscapeSequences_1.C0.CAN] = function (handler, params, prefix, postfix, parser) { return parser.setState(ParserState.NORMAL); };\nvar ParserState;\n(function (ParserState) {\n ParserState[ParserState[\"NORMAL\"] = 0] = \"NORMAL\";\n ParserState[ParserState[\"ESCAPED\"] = 1] = \"ESCAPED\";\n ParserState[ParserState[\"CSI_PARAM\"] = 2] = \"CSI_PARAM\";\n ParserState[ParserState[\"CSI\"] = 3] = \"CSI\";\n ParserState[ParserState[\"OSC\"] = 4] = \"OSC\";\n ParserState[ParserState[\"CHARSET\"] = 5] = \"CHARSET\";\n ParserState[ParserState[\"DCS\"] = 6] = \"DCS\";\n ParserState[ParserState[\"IGNORE\"] = 7] = \"IGNORE\";\n})(ParserState || (ParserState = {}));\nvar Parser = (function () {\n function Parser(_inputHandler, _terminal) {\n this._inputHandler = _inputHandler;\n this._terminal = _terminal;\n this._state = ParserState.NORMAL;\n }\n Parser.prototype.parse = function (data) {\n var l = data.length, j, cs, ch, code, low;\n this._position = 0;\n if (this._terminal.surrogate_high) {\n data = this._terminal.surrogate_high + data;\n this._terminal.surrogate_high = '';\n }\n for (; this._position < l; this._position++) {\n ch = data[this._position];\n code = data.charCodeAt(this._position);\n if (0xD800 <= code && code <= 0xDBFF) {\n low = data.charCodeAt(this._position + 1);\n if (isNaN(low)) {\n this._terminal.surrogate_high = ch;\n continue;\n }\n code = ((code - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;\n ch += data.charAt(this._position + 1);\n }\n if (0xDC00 <= code && code <= 0xDFFF)\n continue;\n switch (this._state) {\n case ParserState.NORMAL:\n if (ch in normalStateHandler) {\n normalStateHandler[ch](this, this._inputHandler);\n }\n else {\n this._inputHandler.addChar(ch, code);\n }\n break;\n case ParserState.ESCAPED:\n if (ch in escapedStateHandler) {\n escapedStateHandler[ch](this, this._terminal);\n break;\n }\n switch (ch) {\n case '(':\n case ')':\n case '*':\n case '+':\n case '-':\n case '.':\n switch (ch) {\n case '(':\n this._terminal.gcharset = 0;\n break;\n case ')':\n this._terminal.gcharset = 1;\n break;\n case '*':\n this._terminal.gcharset = 2;\n break;\n case '+':\n this._terminal.gcharset = 3;\n break;\n case '-':\n this._terminal.gcharset = 1;\n break;\n case '.':\n this._terminal.gcharset = 2;\n break;\n }\n this._state = ParserState.CHARSET;\n break;\n case '/':\n this._terminal.gcharset = 3;\n this._state = ParserState.CHARSET;\n this._position--;\n break;\n case 'N':\n break;\n case 'O':\n break;\n case 'n':\n this._terminal.setgLevel(2);\n break;\n case 'o':\n this._terminal.setgLevel(3);\n break;\n case '|':\n this._terminal.setgLevel(3);\n break;\n case '}':\n this._terminal.setgLevel(2);\n break;\n case '~':\n this._terminal.setgLevel(1);\n break;\n case '7':\n this._inputHandler.saveCursor();\n this._state = ParserState.NORMAL;\n break;\n case '8':\n this._inputHandler.restoreCursor();\n this._state = ParserState.NORMAL;\n break;\n case '#':\n this._state = ParserState.NORMAL;\n this._position++;\n break;\n case 'H':\n this._terminal.tabSet();\n this._state = ParserState.NORMAL;\n break;\n case '=':\n this._terminal.log('Serial port requested application keypad.');\n this._terminal.applicationKeypad = true;\n this._terminal.viewport.syncScrollArea();\n this._state = ParserState.NORMAL;\n break;\n case '>':\n this._terminal.log('Switching back to normal keypad.');\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n this._state = ParserState.NORMAL;\n break;\n default:\n this._state = ParserState.NORMAL;\n this._terminal.error('Unknown ESC control: %s.', ch);\n break;\n }\n break;\n case ParserState.CHARSET:\n if (ch in Charsets_1.CHARSETS) {\n cs = Charsets_1.CHARSETS[ch];\n if (ch === '/') {\n this.skipNextChar();\n }\n }\n else {\n cs = Charsets_1.DEFAULT_CHARSET;\n }\n this._terminal.setgCharset(this._terminal.gcharset, cs);\n this._terminal.gcharset = null;\n this._state = ParserState.NORMAL;\n break;\n case ParserState.OSC:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n this._terminal.params.push(this._terminal.currentParam);\n switch (this._terminal.params[0]) {\n case 0:\n case 1:\n case 2:\n if (this._terminal.params[1]) {\n this._terminal.title = this._terminal.params[1];\n this._terminal.handleTitle(this._terminal.title);\n }\n break;\n case 3:\n break;\n case 4:\n case 5:\n break;\n case 10:\n case 11:\n case 12:\n case 13:\n case 14:\n case 15:\n case 16:\n case 17:\n case 18:\n case 19:\n break;\n case 46:\n break;\n case 50:\n break;\n case 51:\n break;\n case 52:\n break;\n case 104:\n case 105:\n case 110:\n case 111:\n case 112:\n case 113:\n case 114:\n case 115:\n case 116:\n case 117:\n case 118:\n break;\n }\n this._terminal.params = [];\n this._terminal.currentParam = 0;\n this._state = ParserState.NORMAL;\n }\n else {\n if (!this._terminal.params.length) {\n if (ch >= '0' && ch <= '9') {\n this._terminal.currentParam =\n this._terminal.currentParam * 10 + ch.charCodeAt(0) - 48;\n }\n else if (ch === ';') {\n this._terminal.params.push(this._terminal.currentParam);\n this._terminal.currentParam = '';\n }\n }\n else {\n this._terminal.currentParam += ch;\n }\n }\n break;\n case ParserState.CSI_PARAM:\n if (ch in csiParamStateHandler) {\n csiParamStateHandler[ch](this);\n break;\n }\n this.finalizeParam();\n this._state = ParserState.CSI;\n case ParserState.CSI:\n if (ch in csiStateHandler) {\n csiStateHandler[ch](this._inputHandler, this._terminal.params, this._terminal.prefix, this._terminal.postfix, this);\n }\n else {\n this._terminal.error('Unknown CSI code: %s.', ch);\n }\n this._state = ParserState.NORMAL;\n this._terminal.prefix = '';\n this._terminal.postfix = '';\n break;\n case ParserState.DCS:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n var pt = void 0;\n var valid = void 0;\n switch (this._terminal.prefix) {\n case '':\n break;\n case '$q':\n pt = this._terminal.currentParam;\n valid = false;\n switch (pt) {\n case '\"q':\n pt = '0\"q';\n break;\n case '\"p':\n pt = '61\"p';\n break;\n case 'r':\n pt = ''\n + (this._terminal.scrollTop + 1)\n + ';'\n + (this._terminal.scrollBottom + 1)\n + 'r';\n break;\n case 'm':\n pt = '0m';\n break;\n default:\n this._terminal.error('Unknown DCS Pt: %s.', pt);\n pt = '';\n break;\n }\n this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '$r' + pt + EscapeSequences_1.C0.ESC + '\\\\');\n break;\n case '+p':\n break;\n case '+q':\n pt = this._terminal.currentParam;\n valid = false;\n this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '+r' + pt + EscapeSequences_1.C0.ESC + '\\\\');\n break;\n default:\n this._terminal.error('Unknown DCS prefix: %s.', this._terminal.prefix);\n break;\n }\n this._terminal.currentParam = 0;\n this._terminal.prefix = '';\n this._state = ParserState.NORMAL;\n }\n else if (!this._terminal.currentParam) {\n if (!this._terminal.prefix && ch !== '$' && ch !== '+') {\n this._terminal.currentParam = ch;\n }\n else if (this._terminal.prefix.length === 2) {\n this._terminal.currentParam = ch;\n }\n else {\n this._terminal.prefix += ch;\n }\n }\n else {\n this._terminal.currentParam += ch;\n }\n break;\n case ParserState.IGNORE:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n this._state = ParserState.NORMAL;\n }\n break;\n }\n }\n return this._state;\n };\n Parser.prototype.setState = function (state) {\n this._state = state;\n };\n Parser.prototype.setPrefix = function (prefix) {\n this._terminal.prefix = prefix;\n };\n Parser.prototype.setPostfix = function (postfix) {\n this._terminal.postfix = postfix;\n };\n Parser.prototype.setParam = function (param) {\n this._terminal.currentParam = param;\n };\n Parser.prototype.getParam = function () {\n return this._terminal.currentParam;\n };\n Parser.prototype.finalizeParam = function () {\n this._terminal.params.push(this._terminal.currentParam);\n this._terminal.currentParam = 0;\n };\n Parser.prototype.skipNextChar = function () {\n this._position++;\n };\n return Parser;\n}());\nexports.Parser = Parser;\n\n//# sourceMappingURL=Parser.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Parser.js\n// module id = 19\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DomElementObjectPool_1 = require(\"./utils/DomElementObjectPool\");\nvar MAX_REFRESH_FRAME_SKIP = 5;\nvar FLAGS;\n(function (FLAGS) {\n FLAGS[FLAGS[\"BOLD\"] = 1] = \"BOLD\";\n FLAGS[FLAGS[\"UNDERLINE\"] = 2] = \"UNDERLINE\";\n FLAGS[FLAGS[\"BLINK\"] = 4] = \"BLINK\";\n FLAGS[FLAGS[\"INVERSE\"] = 8] = \"INVERSE\";\n FLAGS[FLAGS[\"INVISIBLE\"] = 16] = \"INVISIBLE\";\n})(FLAGS || (FLAGS = {}));\n;\nvar brokenBold = null;\nvar Renderer = (function () {\n function Renderer(_terminal) {\n this._terminal = _terminal;\n this._refreshRowsQueue = [];\n this._refreshFramesSkipped = 0;\n this._refreshAnimationFrame = null;\n this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span');\n if (brokenBold === null) {\n brokenBold = checkBoldBroken(this._terminal.element);\n }\n this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span');\n }\n Renderer.prototype.queueRefresh = function (start, end) {\n this._refreshRowsQueue.push({ start: start, end: end });\n if (!this._refreshAnimationFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this));\n }\n };\n Renderer.prototype._refreshLoop = function () {\n var skipFrame = this._terminal.writeBuffer.length > 0 && this._refreshFramesSkipped++ <= MAX_REFRESH_FRAME_SKIP;\n if (skipFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this));\n return;\n }\n this._refreshFramesSkipped = 0;\n var start;\n var end;\n if (this._refreshRowsQueue.length > 4) {\n start = 0;\n end = this._terminal.rows - 1;\n }\n else {\n start = this._refreshRowsQueue[0].start;\n end = this._refreshRowsQueue[0].end;\n for (var i = 1; i < this._refreshRowsQueue.length; i++) {\n if (this._refreshRowsQueue[i].start < start) {\n start = this._refreshRowsQueue[i].start;\n }\n if (this._refreshRowsQueue[i].end > end) {\n end = this._refreshRowsQueue[i].end;\n }\n }\n }\n this._refreshRowsQueue = [];\n this._refreshAnimationFrame = null;\n this._refresh(start, end);\n };\n Renderer.prototype._refresh = function (start, end) {\n var parent;\n if (end - start >= this._terminal.rows / 2) {\n parent = this._terminal.element.parentNode;\n if (parent) {\n this._terminal.element.removeChild(this._terminal.rowContainer);\n }\n }\n var width = this._terminal.cols;\n var y = start;\n if (end >= this._terminal.rows) {\n this._terminal.log('`end` is too large. Most likely a bad CSR.');\n end = this._terminal.rows - 1;\n }\n for (; y <= end; y++) {\n var row = y + this._terminal.ydisp;\n var line = this._terminal.lines.get(row);\n var x = void 0;\n if (this._terminal.y === y - (this._terminal.ybase - this._terminal.ydisp) &&\n this._terminal.cursorState &&\n !this._terminal.cursorHidden) {\n x = this._terminal.x;\n }\n else {\n x = -1;\n }\n var attr = this._terminal.defAttr;\n var documentFragment = document.createDocumentFragment();\n var innerHTML = '';\n var currentElement = void 0;\n while (this._terminal.children[y].children.length) {\n var child = this._terminal.children[y].children[0];\n this._terminal.children[y].removeChild(child);\n this._spanElementObjectPool.release(child);\n }\n for (var i = 0; i < width; i++) {\n var data = line[i][0];\n var ch = line[i][1];\n var ch_width = line[i][2];\n if (!ch_width) {\n continue;\n }\n if (i === x) {\n data = -1;\n }\n if (data !== attr) {\n if (attr !== this._terminal.defAttr) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n currentElement = null;\n }\n if (data !== this._terminal.defAttr) {\n if (innerHTML && !currentElement) {\n currentElement = this._spanElementObjectPool.acquire();\n }\n if (currentElement) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n }\n currentElement = this._spanElementObjectPool.acquire();\n if (data === -1) {\n currentElement.classList.add('reverse-video');\n currentElement.classList.add('terminal-cursor');\n }\n else {\n var bg = data & 0x1ff;\n var fg = (data >> 9) & 0x1ff;\n var flags = data >> 18;\n if (flags & FLAGS.BOLD) {\n if (!brokenBold) {\n currentElement.classList.add('xterm-bold');\n }\n if (fg < 8) {\n fg += 8;\n }\n }\n if (flags & FLAGS.UNDERLINE) {\n currentElement.classList.add('xterm-underline');\n }\n if (flags & FLAGS.BLINK) {\n currentElement.classList.add('xterm-blink');\n }\n if (flags & FLAGS.INVERSE) {\n var temp = bg;\n bg = fg;\n fg = temp;\n if ((flags & 1) && fg < 8) {\n fg += 8;\n }\n }\n if (flags & FLAGS.INVISIBLE) {\n currentElement.classList.add('xterm-hidden');\n }\n if (flags & FLAGS.INVERSE) {\n if (bg === 257) {\n bg = 15;\n }\n if (fg === 256) {\n fg = 0;\n }\n }\n if (bg < 256) {\n currentElement.classList.add(\"xterm-bg-color-\" + bg);\n }\n if (fg < 256) {\n currentElement.classList.add(\"xterm-color-\" + fg);\n }\n }\n }\n }\n if (ch_width === 2) {\n innerHTML += \"\" + ch + \"\";\n }\n else if (ch.charCodeAt(0) > 255) {\n innerHTML += \"\" + ch + \"\";\n }\n else {\n switch (ch) {\n case '&':\n innerHTML += '&';\n break;\n case '<':\n innerHTML += '<';\n break;\n case '>':\n innerHTML += '>';\n break;\n default:\n if (ch <= ' ') {\n innerHTML += ' ';\n }\n else {\n innerHTML += ch;\n }\n break;\n }\n }\n attr = data;\n }\n if (innerHTML && !currentElement) {\n currentElement = this._spanElementObjectPool.acquire();\n }\n if (currentElement) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n currentElement = null;\n }\n this._terminal.children[y].appendChild(documentFragment);\n }\n if (parent) {\n this._terminal.element.appendChild(this._terminal.rowContainer);\n }\n this._terminal.emit('refresh', { element: this._terminal.element, start: start, end: end });\n };\n ;\n Renderer.prototype.refreshSelection = function (start, end) {\n while (this._terminal.selectionContainer.children.length) {\n this._terminal.selectionContainer.removeChild(this._terminal.selectionContainer.children[0]);\n }\n if (!start || !end) {\n return;\n }\n var viewportStartRow = start[1] - this._terminal.ydisp;\n var viewportEndRow = end[1] - this._terminal.ydisp;\n var viewportCappedStartRow = Math.max(viewportStartRow, 0);\n var viewportCappedEndRow = Math.min(viewportEndRow, this._terminal.rows - 1);\n if (viewportCappedStartRow >= this._terminal.rows || viewportCappedEndRow < 0) {\n return;\n }\n var documentFragment = document.createDocumentFragment();\n var startCol = viewportStartRow === viewportCappedStartRow ? start[0] : 0;\n var endCol = viewportCappedStartRow === viewportCappedEndRow ? end[0] : this._terminal.cols;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow, startCol, endCol));\n var middleRowsCount = viewportCappedEndRow - viewportCappedStartRow - 1;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow + 1, 0, this._terminal.cols, middleRowsCount));\n if (viewportCappedStartRow !== viewportCappedEndRow) {\n var endCol_1 = viewportEndRow === viewportCappedEndRow ? end[0] : this._terminal.cols;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedEndRow, 0, endCol_1));\n }\n this._terminal.selectionContainer.appendChild(documentFragment);\n };\n Renderer.prototype._createSelectionElement = function (row, colStart, colEnd, rowCount) {\n if (rowCount === void 0) { rowCount = 1; }\n var element = document.createElement('div');\n element.style.height = rowCount * this._terminal.charMeasure.height + \"px\";\n element.style.top = row * this._terminal.charMeasure.height + \"px\";\n element.style.left = colStart * this._terminal.charMeasure.width + \"px\";\n element.style.width = this._terminal.charMeasure.width * (colEnd - colStart) + \"px\";\n return element;\n };\n return Renderer;\n}());\nexports.Renderer = Renderer;\nfunction checkBoldBroken(terminal) {\n var document = terminal.ownerDocument;\n var el = document.createElement('span');\n el.innerHTML = 'hello world';\n terminal.appendChild(el);\n var w1 = el.offsetWidth;\n var h1 = el.offsetHeight;\n el.style.fontWeight = 'bold';\n var w2 = el.offsetWidth;\n var h2 = el.offsetHeight;\n terminal.removeChild(el);\n return w1 !== w2 || h1 !== h2;\n}\n\n//# sourceMappingURL=Renderer.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Renderer.js\n// module id = 20\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Mouse = require(\"./utils/Mouse\");\nvar Browser = require(\"./utils/Browser\");\nvar EventEmitter_1 = require(\"./EventEmitter\");\nvar SelectionModel_1 = require(\"./SelectionModel\");\nvar DRAG_SCROLL_MAX_THRESHOLD = 50;\nvar DRAG_SCROLL_MAX_SPEED = 15;\nvar DRAG_SCROLL_INTERVAL = 50;\nvar CLEAR_MOUSE_DOWN_TIME = 400;\nvar CLEAR_MOUSE_DISTANCE = 10;\nvar WORD_SEPARATORS = ' ()[]{}\\'\"';\nvar LINE_DATA_CHAR_INDEX = 1;\nvar LINE_DATA_WIDTH_INDEX = 2;\nvar NON_BREAKING_SPACE_CHAR = String.fromCharCode(160);\nvar ALL_NON_BREAKING_SPACE_REGEX = new RegExp(NON_BREAKING_SPACE_CHAR, 'g');\nvar SelectionMode;\n(function (SelectionMode) {\n SelectionMode[SelectionMode[\"NORMAL\"] = 0] = \"NORMAL\";\n SelectionMode[SelectionMode[\"WORD\"] = 1] = \"WORD\";\n SelectionMode[SelectionMode[\"LINE\"] = 2] = \"LINE\";\n})(SelectionMode || (SelectionMode = {}));\nvar SelectionManager = (function (_super) {\n __extends(SelectionManager, _super);\n function SelectionManager(_terminal, _buffer, _rowContainer, _charMeasure) {\n var _this = _super.call(this) || this;\n _this._terminal = _terminal;\n _this._buffer = _buffer;\n _this._rowContainer = _rowContainer;\n _this._charMeasure = _charMeasure;\n _this._initListeners();\n _this.enable();\n _this._model = new SelectionModel_1.SelectionModel(_terminal);\n _this._lastMouseDownTime = 0;\n _this._activeSelectionMode = SelectionMode.NORMAL;\n return _this;\n }\n SelectionManager.prototype._initListeners = function () {\n var _this = this;\n this._bufferTrimListener = function (amount) { return _this._onTrim(amount); };\n this._mouseMoveListener = function (event) { return _this._onMouseMove(event); };\n this._mouseDownListener = function (event) { return _this._onMouseDown(event); };\n this._mouseUpListener = function (event) { return _this._onMouseUp(event); };\n };\n SelectionManager.prototype.disable = function () {\n this.clearSelection();\n this._buffer.off('trim', this._bufferTrimListener);\n this._rowContainer.removeEventListener('mousedown', this._mouseDownListener);\n };\n SelectionManager.prototype.enable = function () {\n this._buffer.on('trim', this._bufferTrimListener);\n this._rowContainer.addEventListener('mousedown', this._mouseDownListener);\n };\n SelectionManager.prototype.setBuffer = function (buffer) {\n this._buffer = buffer;\n this.clearSelection();\n };\n Object.defineProperty(SelectionManager.prototype, \"hasSelection\", {\n get: function () {\n var start = this._model.finalSelectionStart;\n var end = this._model.finalSelectionEnd;\n if (!start || !end) {\n return false;\n }\n return start[0] !== end[0] || start[1] !== end[1];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SelectionManager.prototype, \"selectionText\", {\n get: function () {\n var start = this._model.finalSelectionStart;\n var end = this._model.finalSelectionEnd;\n if (!start || !end) {\n return '';\n }\n var startRowEndCol = start[1] === end[1] ? end[0] : null;\n var result = [];\n result.push(this._translateBufferLineToString(this._buffer.get(start[1]), true, start[0], startRowEndCol));\n for (var i = start[1] + 1; i <= end[1] - 1; i++) {\n var bufferLine = this._buffer.get(i);\n var lineText = this._translateBufferLineToString(bufferLine, true);\n if (bufferLine.isWrapped) {\n result[result.length - 1] += lineText;\n }\n else {\n result.push(lineText);\n }\n }\n if (start[1] !== end[1]) {\n var bufferLine = this._buffer.get(end[1]);\n var lineText = this._translateBufferLineToString(bufferLine, true, 0, end[0]);\n if (bufferLine.isWrapped) {\n result[result.length - 1] += lineText;\n }\n else {\n result.push(lineText);\n }\n }\n var formattedResult = result.map(function (line) {\n return line.replace(ALL_NON_BREAKING_SPACE_REGEX, ' ');\n }).join(Browser.isMSWindows ? '\\r\\n' : '\\n');\n return formattedResult;\n },\n enumerable: true,\n configurable: true\n });\n SelectionManager.prototype.clearSelection = function () {\n this._model.clearSelection();\n this._removeMouseDownListeners();\n this.refresh();\n };\n SelectionManager.prototype._translateBufferLineToString = function (line, trimRight, startCol, endCol) {\n if (startCol === void 0) { startCol = 0; }\n if (endCol === void 0) { endCol = null; }\n var lineString = '';\n var widthAdjustedStartCol = startCol;\n var widthAdjustedEndCol = endCol;\n for (var i = 0; i < line.length; i++) {\n var char = line[i];\n lineString += char[LINE_DATA_CHAR_INDEX];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n if (startCol >= i) {\n widthAdjustedStartCol--;\n }\n if (endCol >= i) {\n widthAdjustedEndCol--;\n }\n }\n }\n var finalEndCol = widthAdjustedEndCol || line.length;\n if (trimRight) {\n var rightWhitespaceIndex = lineString.search(/\\s+$/);\n if (rightWhitespaceIndex !== -1) {\n finalEndCol = Math.min(finalEndCol, rightWhitespaceIndex);\n }\n if (finalEndCol <= widthAdjustedStartCol) {\n return '';\n }\n }\n return lineString.substring(widthAdjustedStartCol, finalEndCol);\n };\n SelectionManager.prototype.refresh = function (isNewSelection) {\n var _this = this;\n if (!this._refreshAnimationFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(function () { return _this._refresh(); });\n }\n if (Browser.isLinux && isNewSelection) {\n var selectionText = this.selectionText;\n if (selectionText.length) {\n this.emit('newselection', this.selectionText);\n }\n }\n };\n SelectionManager.prototype._refresh = function () {\n this._refreshAnimationFrame = null;\n this.emit('refresh', { start: this._model.finalSelectionStart, end: this._model.finalSelectionEnd });\n };\n SelectionManager.prototype.selectAll = function () {\n this._model.isSelectAllActive = true;\n this.refresh();\n };\n SelectionManager.prototype._onTrim = function (amount) {\n var needsRefresh = this._model.onTrim(amount);\n if (needsRefresh) {\n this.refresh();\n }\n };\n SelectionManager.prototype._getMouseBufferCoords = function (event) {\n var coords = Mouse.getCoords(event, this._rowContainer, this._charMeasure, this._terminal.cols, this._terminal.rows, true);\n coords[0]--;\n coords[1]--;\n coords[1] += this._terminal.ydisp;\n return coords;\n };\n SelectionManager.prototype._getMouseEventScrollAmount = function (event) {\n var offset = Mouse.getCoordsRelativeToElement(event, this._rowContainer)[1];\n var terminalHeight = this._terminal.rows * this._charMeasure.height;\n if (offset >= 0 && offset <= terminalHeight) {\n return 0;\n }\n if (offset > terminalHeight) {\n offset -= terminalHeight;\n }\n offset = Math.min(Math.max(offset, -DRAG_SCROLL_MAX_THRESHOLD), DRAG_SCROLL_MAX_THRESHOLD);\n offset /= DRAG_SCROLL_MAX_THRESHOLD;\n return (offset / Math.abs(offset)) + Math.round(offset * (DRAG_SCROLL_MAX_SPEED - 1));\n };\n SelectionManager.prototype._onMouseDown = function (event) {\n if (event.button !== 0) {\n return;\n }\n event.preventDefault();\n this._dragScrollAmount = 0;\n this._setMouseClickCount(event);\n if (event.shiftKey) {\n this._onShiftClick(event);\n }\n else {\n if (this._clickCount === 1) {\n this._onSingleClick(event);\n }\n else if (this._clickCount === 2) {\n this._onDoubleClick(event);\n }\n else if (this._clickCount === 3) {\n this._onTripleClick(event);\n }\n }\n this._addMouseDownListeners();\n this.refresh(true);\n };\n SelectionManager.prototype._addMouseDownListeners = function () {\n var _this = this;\n this._rowContainer.ownerDocument.addEventListener('mousemove', this._mouseMoveListener);\n this._rowContainer.ownerDocument.addEventListener('mouseup', this._mouseUpListener);\n this._dragScrollIntervalTimer = setInterval(function () { return _this._dragScroll(); }, DRAG_SCROLL_INTERVAL);\n };\n SelectionManager.prototype._removeMouseDownListeners = function () {\n this._rowContainer.ownerDocument.removeEventListener('mousemove', this._mouseMoveListener);\n this._rowContainer.ownerDocument.removeEventListener('mouseup', this._mouseUpListener);\n clearInterval(this._dragScrollIntervalTimer);\n this._dragScrollIntervalTimer = null;\n };\n SelectionManager.prototype._onShiftClick = function (event) {\n if (this._model.selectionStart) {\n this._model.selectionEnd = this._getMouseBufferCoords(event);\n }\n };\n SelectionManager.prototype._onSingleClick = function (event) {\n this._model.selectionStartLength = 0;\n this._model.isSelectAllActive = false;\n this._activeSelectionMode = SelectionMode.NORMAL;\n this._model.selectionStart = this._getMouseBufferCoords(event);\n if (this._model.selectionStart) {\n this._model.selectionEnd = null;\n var char = this._buffer.get(this._model.selectionStart[1])[this._model.selectionStart[0]];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n this._model.selectionStart[0]++;\n }\n }\n };\n SelectionManager.prototype._onDoubleClick = function (event) {\n var coords = this._getMouseBufferCoords(event);\n if (coords) {\n this._activeSelectionMode = SelectionMode.WORD;\n this._selectWordAt(coords);\n }\n };\n SelectionManager.prototype._onTripleClick = function (event) {\n var coords = this._getMouseBufferCoords(event);\n if (coords) {\n this._activeSelectionMode = SelectionMode.LINE;\n this._selectLineAt(coords[1]);\n }\n };\n SelectionManager.prototype._setMouseClickCount = function (event) {\n var currentTime = (new Date()).getTime();\n if (currentTime - this._lastMouseDownTime > CLEAR_MOUSE_DOWN_TIME || this._distanceFromLastMousePosition(event) > CLEAR_MOUSE_DISTANCE) {\n this._clickCount = 0;\n }\n this._lastMouseDownTime = currentTime;\n this._lastMousePosition = [event.pageX, event.pageY];\n this._clickCount++;\n };\n SelectionManager.prototype._distanceFromLastMousePosition = function (event) {\n var result = Math.max(Math.abs(this._lastMousePosition[0] - event.pageX), Math.abs(this._lastMousePosition[1] - event.pageY));\n return result;\n };\n SelectionManager.prototype._onMouseMove = function (event) {\n var previousSelectionEnd = this._model.selectionEnd ? [this._model.selectionEnd[0], this._model.selectionEnd[1]] : null;\n this._model.selectionEnd = this._getMouseBufferCoords(event);\n if (this._activeSelectionMode === SelectionMode.LINE) {\n if (this._model.selectionEnd[1] < this._model.selectionStart[1]) {\n this._model.selectionEnd[0] = 0;\n }\n else {\n this._model.selectionEnd[0] = this._terminal.cols;\n }\n }\n else if (this._activeSelectionMode === SelectionMode.WORD) {\n this._selectToWordAt(this._model.selectionEnd);\n }\n this._dragScrollAmount = this._getMouseEventScrollAmount(event);\n if (this._dragScrollAmount > 0) {\n this._model.selectionEnd[0] = this._terminal.cols - 1;\n }\n else if (this._dragScrollAmount < 0) {\n this._model.selectionEnd[0] = 0;\n }\n if (this._model.selectionEnd[1] < this._buffer.length) {\n var char = this._buffer.get(this._model.selectionEnd[1])[this._model.selectionEnd[0]];\n if (char && char[2] === 0) {\n this._model.selectionEnd[0]++;\n }\n }\n if (!previousSelectionEnd ||\n previousSelectionEnd[0] !== this._model.selectionEnd[0] ||\n previousSelectionEnd[1] !== this._model.selectionEnd[1]) {\n this.refresh(true);\n }\n };\n SelectionManager.prototype._dragScroll = function () {\n if (this._dragScrollAmount) {\n this._terminal.scrollDisp(this._dragScrollAmount, false);\n if (this._dragScrollAmount > 0) {\n this._model.selectionEnd = [this._terminal.cols - 1, this._terminal.ydisp + this._terminal.rows];\n }\n else {\n this._model.selectionEnd = [0, this._terminal.ydisp];\n }\n this.refresh();\n }\n };\n SelectionManager.prototype._onMouseUp = function (event) {\n this._removeMouseDownListeners();\n };\n SelectionManager.prototype._convertViewportColToCharacterIndex = function (bufferLine, coords) {\n var charIndex = coords[0];\n for (var i = 0; coords[0] >= i; i++) {\n var char = bufferLine[i];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n charIndex--;\n }\n }\n return charIndex;\n };\n SelectionManager.prototype._getWordAt = function (coords) {\n var bufferLine = this._buffer.get(coords[1]);\n var line = this._translateBufferLineToString(bufferLine, false);\n var endIndex = this._convertViewportColToCharacterIndex(bufferLine, coords);\n var startIndex = endIndex;\n var charOffset = coords[0] - startIndex;\n var leftWideCharCount = 0;\n var rightWideCharCount = 0;\n if (line.charAt(startIndex) === ' ') {\n while (startIndex > 0 && line.charAt(startIndex - 1) === ' ') {\n startIndex--;\n }\n while (endIndex < line.length && line.charAt(endIndex + 1) === ' ') {\n endIndex++;\n }\n }\n else {\n var startCol = coords[0];\n var endCol = coords[0];\n if (bufferLine[startCol][LINE_DATA_WIDTH_INDEX] === 0) {\n leftWideCharCount++;\n startCol--;\n }\n if (bufferLine[endCol][LINE_DATA_WIDTH_INDEX] === 2) {\n rightWideCharCount++;\n endCol++;\n }\n while (startIndex > 0 && !this._isCharWordSeparator(line.charAt(startIndex - 1))) {\n if (bufferLine[startCol - 1][LINE_DATA_WIDTH_INDEX] === 0) {\n leftWideCharCount++;\n startCol--;\n }\n startIndex--;\n startCol--;\n }\n while (endIndex + 1 < line.length && !this._isCharWordSeparator(line.charAt(endIndex + 1))) {\n if (bufferLine[endCol + 1][LINE_DATA_WIDTH_INDEX] === 2) {\n rightWideCharCount++;\n endCol++;\n }\n endIndex++;\n endCol++;\n }\n }\n var start = startIndex + charOffset - leftWideCharCount;\n var length = Math.min(endIndex - startIndex + leftWideCharCount + rightWideCharCount + 1, this._terminal.cols);\n return { start: start, length: length };\n };\n SelectionManager.prototype._selectWordAt = function (coords) {\n var wordPosition = this._getWordAt(coords);\n this._model.selectionStart = [wordPosition.start, coords[1]];\n this._model.selectionStartLength = wordPosition.length;\n };\n SelectionManager.prototype._selectToWordAt = function (coords) {\n var wordPosition = this._getWordAt(coords);\n this._model.selectionEnd = [this._model.areSelectionValuesReversed() ? wordPosition.start : (wordPosition.start + wordPosition.length), coords[1]];\n };\n SelectionManager.prototype._isCharWordSeparator = function (char) {\n return WORD_SEPARATORS.indexOf(char) >= 0;\n };\n SelectionManager.prototype._selectLineAt = function (line) {\n this._model.selectionStart = [0, line];\n this._model.selectionStartLength = this._terminal.cols;\n };\n return SelectionManager;\n}(EventEmitter_1.EventEmitter));\nexports.SelectionManager = SelectionManager;\n\n//# sourceMappingURL=SelectionManager.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/SelectionManager.js\n// module id = 21\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar SelectionModel = (function () {\n function SelectionModel(_terminal) {\n this._terminal = _terminal;\n this.clearSelection();\n }\n SelectionModel.prototype.clearSelection = function () {\n this.selectionStart = null;\n this.selectionEnd = null;\n this.isSelectAllActive = false;\n this.selectionStartLength = 0;\n };\n Object.defineProperty(SelectionModel.prototype, \"finalSelectionStart\", {\n get: function () {\n if (this.isSelectAllActive) {\n return [0, 0];\n }\n if (!this.selectionEnd || !this.selectionStart) {\n return this.selectionStart;\n }\n return this.areSelectionValuesReversed() ? this.selectionEnd : this.selectionStart;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SelectionModel.prototype, \"finalSelectionEnd\", {\n get: function () {\n if (this.isSelectAllActive) {\n return [this._terminal.cols, this._terminal.ybase + this._terminal.rows - 1];\n }\n if (!this.selectionStart) {\n return null;\n }\n if (!this.selectionEnd || this.areSelectionValuesReversed()) {\n return [this.selectionStart[0] + this.selectionStartLength, this.selectionStart[1]];\n }\n if (this.selectionStartLength) {\n if (this.selectionEnd[1] === this.selectionStart[1]) {\n return [Math.max(this.selectionStart[0] + this.selectionStartLength, this.selectionEnd[0]), this.selectionEnd[1]];\n }\n }\n return this.selectionEnd;\n },\n enumerable: true,\n configurable: true\n });\n SelectionModel.prototype.areSelectionValuesReversed = function () {\n var start = this.selectionStart;\n var end = this.selectionEnd;\n return start[1] > end[1] || (start[1] === end[1] && start[0] > end[0]);\n };\n SelectionModel.prototype.onTrim = function (amount) {\n if (this.selectionStart) {\n this.selectionStart[1] -= amount;\n }\n if (this.selectionEnd) {\n this.selectionEnd[1] -= amount;\n }\n if (this.selectionEnd && this.selectionEnd[1] < 0) {\n this.clearSelection();\n return true;\n }\n if (this.selectionStart && this.selectionStart[1] < 0) {\n this.selectionStart[1] = 0;\n }\n return false;\n };\n return SelectionModel;\n}());\nexports.SelectionModel = SelectionModel;\n\n//# sourceMappingURL=SelectionModel.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/SelectionModel.js\n// module id = 22\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Viewport = (function () {\n function Viewport(terminal, viewportElement, scrollArea, charMeasure) {\n var _this = this;\n this.terminal = terminal;\n this.viewportElement = viewportElement;\n this.scrollArea = scrollArea;\n this.charMeasure = charMeasure;\n this.currentRowHeight = 0;\n this.lastRecordedBufferLength = 0;\n this.lastRecordedViewportHeight = 0;\n this.terminal.on('scroll', this.syncScrollArea.bind(this));\n this.terminal.on('resize', this.syncScrollArea.bind(this));\n this.viewportElement.addEventListener('scroll', this.onScroll.bind(this));\n setTimeout(function () { return _this.syncScrollArea(); }, 0);\n }\n Viewport.prototype.refresh = function () {\n if (this.charMeasure.height > 0) {\n var rowHeightChanged = this.charMeasure.height !== this.currentRowHeight;\n if (rowHeightChanged) {\n this.currentRowHeight = this.charMeasure.height;\n this.viewportElement.style.lineHeight = this.charMeasure.height + 'px';\n this.terminal.rowContainer.style.lineHeight = this.charMeasure.height + 'px';\n }\n var viewportHeightChanged = this.lastRecordedViewportHeight !== this.terminal.rows;\n if (rowHeightChanged || viewportHeightChanged) {\n this.lastRecordedViewportHeight = this.terminal.rows;\n this.viewportElement.style.height = this.charMeasure.height * this.terminal.rows + 'px';\n this.terminal.selectionContainer.style.height = this.viewportElement.style.height;\n }\n this.scrollArea.style.height = (this.charMeasure.height * this.lastRecordedBufferLength) + 'px';\n }\n };\n Viewport.prototype.syncScrollArea = function () {\n if (this.lastRecordedBufferLength !== this.terminal.lines.length) {\n this.lastRecordedBufferLength = this.terminal.lines.length;\n this.refresh();\n }\n else if (this.lastRecordedViewportHeight !== this.terminal.rows) {\n this.refresh();\n }\n else {\n if (this.charMeasure.height !== this.currentRowHeight) {\n this.refresh();\n }\n }\n var scrollTop = this.terminal.ydisp * this.currentRowHeight;\n if (this.viewportElement.scrollTop !== scrollTop) {\n this.viewportElement.scrollTop = scrollTop;\n }\n };\n Viewport.prototype.onScroll = function (ev) {\n var newRow = Math.round(this.viewportElement.scrollTop / this.currentRowHeight);\n var diff = newRow - this.terminal.ydisp;\n this.terminal.scrollDisp(diff, true);\n };\n Viewport.prototype.onWheel = function (ev) {\n if (ev.deltaY === 0) {\n return;\n }\n var multiplier = 1;\n if (ev.deltaMode === WheelEvent.DOM_DELTA_LINE) {\n multiplier = this.currentRowHeight;\n }\n else if (ev.deltaMode === WheelEvent.DOM_DELTA_PAGE) {\n multiplier = this.currentRowHeight * this.terminal.rows;\n }\n this.viewportElement.scrollTop += ev.deltaY * multiplier;\n ev.preventDefault();\n };\n ;\n Viewport.prototype.onTouchStart = function (ev) {\n this.lastTouchY = ev.touches[0].pageY;\n };\n ;\n Viewport.prototype.onTouchMove = function (ev) {\n var deltaY = this.lastTouchY - ev.touches[0].pageY;\n this.lastTouchY = ev.touches[0].pageY;\n if (deltaY === 0) {\n return;\n }\n this.viewportElement.scrollTop += deltaY;\n ev.preventDefault();\n };\n ;\n return Viewport;\n}());\nexports.Viewport = Viewport;\n\n//# sourceMappingURL=Viewport.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Viewport.js\n// module id = 23\n// module chunks = 0","var map = {\n\t\"./attach/attach\": 4,\n\t\"./attach/attach.js\": 4,\n\t\"./attach/package.json\": 25,\n\t\"./fit/fit\": 5,\n\t\"./fit/fit.js\": 5,\n\t\"./fit/package.json\": 26,\n\t\"./fullscreen/fullscreen\": 6,\n\t\"./fullscreen/fullscreen.css\": 27,\n\t\"./fullscreen/fullscreen.js\": 6,\n\t\"./fullscreen/package.json\": 28,\n\t\"./terminado/package.json\": 29,\n\t\"./terminado/terminado\": 7,\n\t\"./terminado/terminado.js\": 7\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 24;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons ^\\.\\/.*$\n// module id = 24\n// module chunks = 0","module.exports = {\"name\":\"xterm.attach\",\"main\":\"attach.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/attach/package.json\n// module id = 25\n// module chunks = 0","module.exports = {\"name\":\"xterm.fit\",\"main\":\"fit.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fit/package.json\n// module id = 26\n// module chunks = 0","module.exports = {\"name\":\"xterm.fullscreen\",\"main\":\"fullscreen.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fullscreen/package.json\n// module id = 28\n// module chunks = 0","module.exports = {\"name\":\"xterm.terminado\",\"main\":\"terminado.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/terminado/package.json\n// module id = 29\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction prepareTextForTerminal(text, isMSWindows) {\n if (isMSWindows) {\n return text.replace(/\\r?\\n/g, '\\r');\n }\n return text;\n}\nexports.prepareTextForTerminal = prepareTextForTerminal;\nfunction copyHandler(ev, term, selectionManager) {\n if (term.browser.isMSIE) {\n window.clipboardData.setData('Text', selectionManager.selectionText);\n }\n else {\n ev.clipboardData.setData('text/plain', selectionManager.selectionText);\n }\n ev.preventDefault();\n}\nexports.copyHandler = copyHandler;\nfunction pasteHandler(ev, term) {\n ev.stopPropagation();\n var text;\n var dispatchPaste = function (text) {\n text = prepareTextForTerminal(text, term.browser.isMSWindows);\n term.handler(text);\n term.textarea.value = '';\n term.emit('paste', text);\n return term.cancel(ev);\n };\n if (term.browser.isMSIE) {\n if (window.clipboardData) {\n text = window.clipboardData.getData('Text');\n dispatchPaste(text);\n }\n }\n else {\n if (ev.clipboardData) {\n text = ev.clipboardData.getData('text/plain');\n dispatchPaste(text);\n }\n }\n}\nexports.pasteHandler = pasteHandler;\nfunction moveTextAreaUnderMouseCursor(ev, textarea) {\n textarea.style.position = 'fixed';\n textarea.style.width = '20px';\n textarea.style.height = '20px';\n textarea.style.left = (ev.clientX - 10) + 'px';\n textarea.style.top = (ev.clientY - 10) + 'px';\n textarea.style.zIndex = '1000';\n textarea.focus();\n setTimeout(function () {\n textarea.style.position = null;\n textarea.style.width = null;\n textarea.style.height = null;\n textarea.style.left = null;\n textarea.style.top = null;\n textarea.style.zIndex = null;\n }, 4);\n}\nexports.moveTextAreaUnderMouseCursor = moveTextAreaUnderMouseCursor;\nfunction rightClickHandler(ev, textarea, selectionManager) {\n moveTextAreaUnderMouseCursor(ev, textarea);\n textarea.value = selectionManager.selectionText;\n textarea.select();\n}\nexports.rightClickHandler = rightClickHandler;\n\n//# sourceMappingURL=Clipboard.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/handlers/Clipboard.js\n// module id = 30\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventEmitter_js_1 = require(\"../EventEmitter.js\");\nvar CharMeasure = (function (_super) {\n __extends(CharMeasure, _super);\n function CharMeasure(document, parentElement) {\n var _this = _super.call(this) || this;\n _this._document = document;\n _this._parentElement = parentElement;\n return _this;\n }\n Object.defineProperty(CharMeasure.prototype, \"width\", {\n get: function () {\n return this._width;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CharMeasure.prototype, \"height\", {\n get: function () {\n return this._height;\n },\n enumerable: true,\n configurable: true\n });\n CharMeasure.prototype.measure = function () {\n var _this = this;\n if (!this._measureElement) {\n this._measureElement = this._document.createElement('span');\n this._measureElement.style.position = 'absolute';\n this._measureElement.style.top = '0';\n this._measureElement.style.left = '-9999em';\n this._measureElement.textContent = 'W';\n this._measureElement.setAttribute('aria-hidden', 'true');\n this._parentElement.appendChild(this._measureElement);\n setTimeout(function () { return _this._doMeasure(); }, 0);\n }\n else {\n this._doMeasure();\n }\n };\n CharMeasure.prototype._doMeasure = function () {\n var geometry = this._measureElement.getBoundingClientRect();\n if (geometry.width === 0 || geometry.height === 0) {\n return;\n }\n if (this._width !== geometry.width || this._height !== geometry.height) {\n this._width = geometry.width;\n this._height = geometry.height;\n this.emit('charsizechanged');\n }\n };\n return CharMeasure;\n}(EventEmitter_js_1.EventEmitter));\nexports.CharMeasure = CharMeasure;\n\n//# sourceMappingURL=CharMeasure.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/CharMeasure.js\n// module id = 31\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventEmitter_1 = require(\"../EventEmitter\");\nvar CircularList = (function (_super) {\n __extends(CircularList, _super);\n function CircularList(maxLength) {\n var _this = _super.call(this) || this;\n _this._array = new Array(maxLength);\n _this._startIndex = 0;\n _this._length = 0;\n return _this;\n }\n Object.defineProperty(CircularList.prototype, \"maxLength\", {\n get: function () {\n return this._array.length;\n },\n set: function (newMaxLength) {\n var newArray = new Array(newMaxLength);\n for (var i = 0; i < Math.min(newMaxLength, this.length); i++) {\n newArray[i] = this._array[this._getCyclicIndex(i)];\n }\n this._array = newArray;\n this._startIndex = 0;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CircularList.prototype, \"length\", {\n get: function () {\n return this._length;\n },\n set: function (newLength) {\n if (newLength > this._length) {\n for (var i = this._length; i < newLength; i++) {\n this._array[i] = undefined;\n }\n }\n this._length = newLength;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CircularList.prototype, \"forEach\", {\n get: function () {\n var _this = this;\n return function (callbackfn) {\n var i = 0;\n var length = _this.length;\n for (var i_1 = 0; i_1 < length; i_1++) {\n callbackfn(_this.get(i_1), i_1);\n }\n };\n },\n enumerable: true,\n configurable: true\n });\n CircularList.prototype.get = function (index) {\n return this._array[this._getCyclicIndex(index)];\n };\n CircularList.prototype.set = function (index, value) {\n this._array[this._getCyclicIndex(index)] = value;\n };\n CircularList.prototype.push = function (value) {\n this._array[this._getCyclicIndex(this._length)] = value;\n if (this._length === this.maxLength) {\n this._startIndex++;\n if (this._startIndex === this.maxLength) {\n this._startIndex = 0;\n }\n this.emit('trim', 1);\n }\n else {\n this._length++;\n }\n };\n CircularList.prototype.pop = function () {\n return this._array[this._getCyclicIndex(this._length-- - 1)];\n };\n CircularList.prototype.splice = function (start, deleteCount) {\n var items = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n items[_i - 2] = arguments[_i];\n }\n if (deleteCount) {\n for (var i = start; i < this._length - deleteCount; i++) {\n this._array[this._getCyclicIndex(i)] = this._array[this._getCyclicIndex(i + deleteCount)];\n }\n this._length -= deleteCount;\n }\n if (items && items.length) {\n for (var i = this._length - 1; i >= start; i--) {\n this._array[this._getCyclicIndex(i + items.length)] = this._array[this._getCyclicIndex(i)];\n }\n for (var i = 0; i < items.length; i++) {\n this._array[this._getCyclicIndex(start + i)] = items[i];\n }\n if (this._length + items.length > this.maxLength) {\n var countToTrim = (this._length + items.length) - this.maxLength;\n this._startIndex += countToTrim;\n this._length = this.maxLength;\n this.emit('trim', countToTrim);\n }\n else {\n this._length += items.length;\n }\n }\n };\n CircularList.prototype.trimStart = function (count) {\n if (count > this._length) {\n count = this._length;\n }\n this._startIndex += count;\n this._length -= count;\n this.emit('trim', count);\n };\n CircularList.prototype.shiftElements = function (start, count, offset) {\n if (count <= 0) {\n return;\n }\n if (start < 0 || start >= this._length) {\n throw new Error('start argument out of range');\n }\n if (start + offset < 0) {\n throw new Error('Cannot shift elements in list beyond index 0');\n }\n if (offset > 0) {\n for (var i = count - 1; i >= 0; i--) {\n this.set(start + i + offset, this.get(start + i));\n }\n var expandListBy = (start + count + offset) - this._length;\n if (expandListBy > 0) {\n this._length += expandListBy;\n while (this._length > this.maxLength) {\n this._length--;\n this._startIndex++;\n this.emit('trim', 1);\n }\n }\n }\n else {\n for (var i = 0; i < count; i++) {\n this.set(start + i + offset, this.get(start + i));\n }\n }\n };\n CircularList.prototype._getCyclicIndex = function (index) {\n return (this._startIndex + index) % this.maxLength;\n };\n return CircularList;\n}(EventEmitter_1.EventEmitter));\nexports.CircularList = CircularList;\n\n//# sourceMappingURL=CircularList.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/CircularList.js\n// module id = 32\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DomElementObjectPool = (function () {\n function DomElementObjectPool(type) {\n this.type = type;\n this._type = type;\n this._pool = [];\n this._inUse = {};\n }\n DomElementObjectPool.prototype.acquire = function () {\n var element;\n if (this._pool.length === 0) {\n element = this._createNew();\n }\n else {\n element = this._pool.pop();\n }\n this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)] = element;\n return element;\n };\n DomElementObjectPool.prototype.release = function (element) {\n if (!this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)]) {\n throw new Error('Could not release an element not yet acquired');\n }\n delete this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)];\n this._cleanElement(element);\n this._pool.push(element);\n };\n DomElementObjectPool.prototype._createNew = function () {\n var element = document.createElement(this._type);\n var id = DomElementObjectPool._objectCount++;\n element.setAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE, id.toString(10));\n return element;\n };\n DomElementObjectPool.prototype._cleanElement = function (element) {\n element.className = '';\n element.innerHTML = '';\n };\n return DomElementObjectPool;\n}());\nDomElementObjectPool.OBJECT_ID_ATTRIBUTE = 'data-obj-id';\nDomElementObjectPool._objectCount = 0;\nexports.DomElementObjectPool = DomElementObjectPool;\n\n//# sourceMappingURL=DomElementObjectPool.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/DomElementObjectPool.js\n// module id = 33\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction contains(arr, el) {\n return arr.indexOf(el) >= 0;\n}\nexports.contains = contains;\n;\n\n//# sourceMappingURL=Generic.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Generic.js\n// module id = 34\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap e07bf020f10a44c91562","webpack:///./~/xterm/lib/xterm.js","webpack:///./~/xterm/lib/EventEmitter.js","webpack:///./~/xterm/lib/EscapeSequences.js","webpack:///./~/xterm/lib/Charsets.js","webpack:///./~/xterm/lib/addons/attach/attach.js","webpack:///./~/xterm/lib/addons/fit/fit.js","webpack:///./~/xterm/lib/addons/fullscreen/fullscreen.js","webpack:///./~/xterm/lib/addons/terminado/terminado.js","webpack:///./~/xterm/lib/utils/Browser.js","webpack:///./~/xterm/lib/utils/Mouse.js","webpack:///./src/hterm.ts","webpack:///./src/websocket.ts","webpack:///./src/webtty.ts","webpack:///./src/xterm.ts","webpack:///./~/libapps/hterm/dist/js/hterm_module.js","webpack:///./src/main.ts","webpack:///./~/xterm/lib/CompositionHelper.js","webpack:///./~/xterm/lib/InputHandler.js","webpack:///./~/xterm/lib/Linkifier.js","webpack:///./~/xterm/lib/Parser.js","webpack:///./~/xterm/lib/Renderer.js","webpack:///./~/xterm/lib/SelectionManager.js","webpack:///./~/xterm/lib/SelectionModel.js","webpack:///./~/xterm/lib/Viewport.js","webpack:///./~/xterm/lib/addons ^\\.\\/.*$","webpack:///./~/xterm/lib/addons/attach/package.json","webpack:///./~/xterm/lib/addons/fit/package.json","webpack:///./~/xterm/lib/addons/fullscreen/package.json","webpack:///./~/xterm/lib/addons/terminado/package.json","webpack:///./~/xterm/lib/handlers/Clipboard.js","webpack:///./~/xterm/lib/utils/CharMeasure.js","webpack:///./~/xterm/lib/utils/CircularList.js","webpack:///./~/xterm/lib/utils/DomElementObjectPool.js","webpack:///./~/xterm/lib/utils/Generic.js"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AChEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA,UAAU,QAAQ;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gDAAgD,8CAA8C;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,KAAK;AACL;AACA,2BAA2B,iBAAiB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,mCAAmC,yCAAyC,EAAE;AAC9E,iEAAiE,yCAAyC,EAAE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,4CAA4C;AACtE,iCAAiC,wCAAwC;AACzE,gCAAgC,0CAA0C;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,cAAc;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,wHAAwH;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,wHAAwH;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,mCAAmC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,6BAA6B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5lDA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC1DA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,qCAAqC;AACtC;;AAEA;;;;;;;;ACzCA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;;;;;;;AChKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;AC7HD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B;AAC/B;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;;AAEA,gBAAgB;AAChB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;ACrFD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;ACjDD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;ACtID;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;;;;;;;;;;ACnCA,mCAAgC;AAEhC;IAYI,eAAY,IAAiB;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;IAAA,CAAC;IAEF,oBAAI,GAAJ;QACI,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACtD,CAAC;IAAA,CAAC;IAEF,sBAAM,GAAN,UAAO,IAAY;QACf,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAAA,CAAC;IAEF,2BAAW,GAAX,UAAY,OAAe,EAAE,OAAe;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;IAAA,CAAC;IAEF,6BAAa,GAAb;QACI,iEAAiE;QACjE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,8BAAc,GAAd,UAAe,KAAa;QACxB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAAA,CAAC;IAEF,8BAAc,GAAd,UAAe,KAAa;QAA5B,iBAIC;QAHG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;YAC3B,KAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACP,CAAC;IAAA,CAAC;IAEF,uBAAO,GAAP,UAAQ,QAAiC;QACrC,IAAI,CAAC,EAAE,CAAC,aAAa,GAAG,UAAC,IAAI;YACzB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC;QACF,IAAI,CAAC,EAAE,CAAC,UAAU,GAAG,UAAC,IAAI;YACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC;IACN,CAAC;IAAA,CAAC;IAEF,wBAAQ,GAAR,UAAS,QAAiD;QAA1D,iBAMC;QALG,IAAI,CAAC,EAAE,CAAC,gBAAgB,GAAG,UAAC,OAAe,EAAE,IAAY;YACrD,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;IACN,CAAC;IAAA,CAAC;IAEF,0BAAU,GAAV;QACI,IAAI,CAAC,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,GAAG,IAAI;QACzB,IAAI,CAAC,EAAE,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAClC,CAAC;IAED,qBAAK,GAAL;QACI,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;IAED,qBAAK,GAAL;QACI,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAClC,CAAC;IACL,YAAC;AAAD,CAAC;AAzFY,sBAAK;;;;;;;;;;ACFlB;IAII,2BAAY,GAAW,EAAE,SAAmB;QACxC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAAA,CAAC;IAEF,kCAAM,GAAN;QACI,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAAA,CAAC;IACN,wBAAC;AAAD,CAAC;AAZY,8CAAiB;AAc9B;IAII,oBAAY,GAAW,EAAE,SAAmB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,yBAAI,GAAJ;QACI,6BAA6B;IACjC,CAAC;IAAA,CAAC;IAEF,0BAAK,GAAL;QACI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAAA,CAAC;IAEF,yBAAI,GAAJ,UAAK,IAAY;QACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAAA,CAAC;IAEF,2BAAM,GAAN;QACI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU;YAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI;QACf,CAAC;QACD,MAAM,CAAC,KAAK;IAChB,CAAC;IAED,2BAAM,GAAN,UAAO,QAAoB;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,UAAC,KAAK;YACrB,QAAQ,EAAE,CAAC;QACf,CAAC;IACL,CAAC;IAAA,CAAC;IAEF,8BAAS,GAAT,UAAU,QAAgC;QACtC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,UAAC,KAAK;YACxB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IAAA,CAAC;IAEF,4BAAO,GAAP,UAAQ,QAAoB;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,UAAC,KAAK;YACtB,QAAQ,EAAE,CAAC;QACf,CAAC,CAAC;IACN,CAAC;IAAA,CAAC;IACN,iBAAC;AAAD,CAAC;AA7CY,gCAAU;;;;;;;;;;ACdV,iBAAS,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEvB,uBAAe,GAAG,GAAG,CAAC;AACtB,gBAAQ,GAAG,GAAG,CAAC;AACf,eAAO,GAAG,GAAG,CAAC;AACd,yBAAiB,GAAG,GAAG,CAAC;AAExB,wBAAgB,GAAG,GAAG,CAAC;AACvB,iBAAS,GAAG,GAAG,CAAC;AAChB,eAAO,GAAG,GAAG,CAAC;AACd,yBAAiB,GAAG,GAAG,CAAC;AACxB,yBAAiB,GAAG,GAAG,CAAC;AACxB,uBAAe,GAAG,GAAG,CAAC;AAgCnC;IAOI,gBAAY,IAAc,EAAE,iBAAoC,EAAE,IAAY,EAAE,SAAiB;QAC7F,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACxB,CAAC;IAAA,CAAC;IAEF,qBAAI,GAAJ;QAAA,iBA2FC;QA1FG,IAAI,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACjD,IAAI,SAAiB,CAAC;QACtB,IAAI,gBAAwB,CAAC;QAE7B,IAAM,KAAK,GAAG;YACV,UAAU,CAAC,MAAM,CAAC;gBACd,IAAM,QAAQ,GAAG,KAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAElC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAC1B;oBACI,SAAS,EAAE,KAAI,CAAC,IAAI;oBACpB,SAAS,EAAE,KAAI,CAAC,SAAS;iBAC5B,CACJ,CAAC,CAAC;gBAGH,IAAM,aAAa,GAAG,UAAC,OAAe,EAAE,IAAY;oBAChD,UAAU,CAAC,IAAI,CACX,yBAAiB,GAAG,IAAI,CAAC,SAAS,CAC9B;wBACI,OAAO,EAAE,OAAO;wBAChB,IAAI,EAAE,IAAI;qBACb,CACJ,CACJ,CAAC;gBACN,CAAC,CAAC;gBAEF,KAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAClC,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAE/C,KAAI,CAAC,IAAI,CAAC,OAAO,CACb,UAAC,KAAa;oBACV,UAAU,CAAC,IAAI,CAAC,gBAAQ,GAAG,KAAK,CAAC,CAAC;gBACtC,CAAC,CACJ,CAAC;gBAEF,SAAS,GAAG,WAAW,CAAC;oBACpB,UAAU,CAAC,IAAI,CAAC,eAAO,CAAC;gBAC5B,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;YAElB,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,SAAS,CAAC,UAAC,IAAI;gBACtB,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9B,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACd,KAAK,iBAAS;wBACV,KAAI,CAAC,IAAI,CAAC,MAAM,CACZ,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,UAAS,CAAC;4BACjE,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACjE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CACf,CAAC;wBACF,KAAK,CAAC;oBACV,KAAK,eAAO;wBACR,KAAK,CAAC;oBACV,KAAK,yBAAiB;wBAClB,KAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;wBAClC,KAAK,CAAC;oBACV,KAAK,yBAAiB;wBAClB,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBACxC,KAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;wBACtC,KAAK,CAAC;oBACV,KAAK,uBAAe;wBAChB,IAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC1C,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,aAAa,GAAG,UAAU,CAAC;wBAChE,KAAI,CAAC,SAAS,GAAG,aAAa,CAAC;wBAC/B,KAAK,CAAC;gBACd,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,OAAO,CAAC;gBACf,aAAa,CAAC,SAAS,CAAC,CAAC;gBACzB,KAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACvB,KAAI,CAAC,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;gBAC9C,EAAE,CAAC,CAAC,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;oBACrB,gBAAgB,GAAG,UAAU,CAAC;wBAC1B,UAAU,GAAG,KAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;wBAC7C,KAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;wBAClB,KAAK,EAAE,CAAC;oBACZ,CAAC,EAAE,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;gBAC9B,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QAED,KAAK,EAAE,CAAC;QACR,MAAM,CAAC;YACH,YAAY,CAAC,gBAAgB,CAAC,CAAC;YAC/B,UAAU,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACL,CAAC;IAAA,CAAC;IACN,aAAC;AAAD,CAAC;AA3GY,wBAAM;AA2GlB,CAAC;;;;;;;;;;ACvJF,kCAA8B;AAE9B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAEtB;IAUI,eAAY,IAAiB;QAA7B,iBAqBC;QApBG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,eAAe,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAG3B,IAAI,CAAC,cAAc,GAAG;YAClB,KAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAChB,KAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC3B,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAI,CAAC,cAAc,CAAC,CAAC;QACjG,CAAC,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;YACjB,KAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAQ,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAA,CAAC;IAEF,oBAAI,GAAJ;QACI,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC7D,CAAC;IAAA,CAAC;IAEF,sBAAM,GAAN,UAAO,IAAY;QACf,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAA,CAAC;IAEF,2BAAW,GAAX,UAAY,OAAe,EAAE,OAAe;QAA5C,iBAYC;QAXG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC;QACD,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;gBAC3B,KAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC,EAAE,OAAO,CAAC,CAAC;QAChB,CAAC;IACL,CAAC;IAAA,CAAC;IAEF,6BAAa,GAAb;QACI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IAED,8BAAc,GAAd,UAAe,KAAa;QACxB,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3B,CAAC;IAAA,CAAC;IAEF,8BAAc,GAAd,UAAe,KAAa;IAC5B,CAAC;IAAA,CAAC;IAEF,uBAAO,GAAP,UAAQ,QAAiC;QACrC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,IAAI;YACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IAEP,CAAC;IAAA,CAAC;IAEF,wBAAQ,GAAR,UAAS,QAAiD;QACtD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAC,IAAI;YACxB,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;IAAA,CAAC;IAEF,0BAAU,GAAV;QACI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,qBAAK,GAAL;QACI,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,qBAAK,GAAL;QACI,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IACL,YAAC;AAAD,CAAC;AAhGY,sBAAK;;;;;;;;ACJlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,mBAAmB;AAC9B,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,EAAE,WAAW,EAAE,WAAW,EAAE;;AAEjD;AACA;AACA,2BAA2B,IAAI,YAAY,IAAI;AAC/C,eAAe,IAAI;AACnB;;AAEA;AACA;AACA;AACA,iBAAiB,IAAI,YAAY,IAAI,YAAY,IAAI;AACrD;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,IAAI,YAAY,IAAI,YAAY,IAAI;AACrD;AACA;;AAEA;AACA,6BAA6B,IAAI,aAAa,IAAI,aAAa,IAAI;;AAEnE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,gBAAgB;AAChB,iBAAiB;AACjB,kBAAkB;AAClB,iBAAiB;AACjB;;AAEA,kDAAkD,gBAAgB;AAClE;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2CAA2C,iCAAiC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,IAAI;AACf;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,4BAA4B,uBAAuB;AACnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA,oBAAoB,+BAA+B;;AAEnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,sBAAsB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,kBAAkB;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,8CAA8C;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,8CAA8C;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,0BAA0B;;AAE9C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,wCAAwC;AACnD;AACA;AACA,WAAW,8CAA8C;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB,kCAAkC;AACnD;;AAEA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS,kBAAkB,aAAa,WAAW,kBAAkB;AAC9E;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,YAAY,OAAO;AACnB;AACA;AACA;AACA,aAAa;AACb,eAAe;AACf,cAAc;AACd;;AAEA,iBAAiB,cAAc;AAC/B;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,iBAAiB,cAAc;AAC/B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,iBAAiB,uBAAuB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA,uBAAuB,qDAAqD;AAC5E;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;AACA;AACA;;AAEA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;;AAEA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;AACA;AACA;;AAEA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;;AAEZ;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,SAAS;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,qBAAqB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS;AACtC;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,WAAW,OAAO;AAClB;AACA,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA,YAAY,IAAI;AAChB;AACA;AACA;AACA;;AAEA,iBAAiB,6CAA6C;AAC9D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA,WAAW,qBAAqB;AAChC;AACA,WAAW,qBAAqB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD,2BAA2B;AAC3E;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ,kDAAkD;AACtE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;;AAEA,iCAAiC,yBAAyB;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC,cAAc;AAClD,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL,sCAAsC,eAAe;AACrD;AACA;AACA,CAAC;;AAED;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6DAA6D,eAAe;;AAE5E;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC,eAAe,OAAO;AACtB,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,0BAA0B,wCAAwC,EAAE;AAC3E;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,0CAA0C,uBAAuB;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,0BAA0B;AAC1B,qBAAqB;AACrB,8BAA8B;AAC9B,gBAAgB;AAChB,gBAAgB;AAChB,kBAAkB;AAClB,mBAAmB;AACnB,uBAAuB;AACvB,uBAAuB;AACvB,uEAAuE;AACvE,qEAAqE;;AAErE;AACA;AACA;AACA;AACA,uBAAuB;AACvB,mCAAmC;AACnC,sCAAsC;AACtC,uEAAuE;AACvE,4DAA4D;AAC5D,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B,2BAA2B;AAC3B,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,eAAe;;AAEf;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,WAAW,iCAAiC;AAC5C,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,mDAAmD;AACnD;AACA;AACA,oBAAoB,0BAA0B;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;;AAEpB;AACA,iBAAiB,yBAAyB,uBAAuB;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,0CAA0C;AACrE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC,WAAW,0BAA0B;AACrC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,YAAY;;AAEZ;AACA,YAAY;;AAEZ;AACA,YAAY;;;AAGZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,EAAE;AAChD;AACA,KAAK;AACL;AACA,8CAA8C,EAAE;AAChD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,+CAA+C;AAC/C,GAAG;AACH,yBAAyB;AACzB,GAAG;AACH,qBAAqB;AACrB,GAAG;AACH,qBAAqB;AACrB,GAAG;AACH,sBAAsB;AACtB,GAAG;AACH,mBAAmB;AACnB,GAAG;AACH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,KAAK;AACb,oBAAoB;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sDAAsD,yBAAyB;AAC/E;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,oBAAoB;AAC/B;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,MAAM;AAClB;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB,oBAAoB;AACpB,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB,oBAAoB;AACpB,oBAAoB;AACpB,mBAAmB;AACnB,wBAAwB;AACxB,+CAA+C;AAC/C,iCAAiC;AACjC,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd,wBAAwB;AACxB,8CAA8C;AAC9C,mDAAmD;AACnD,QAAQ;AACR;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,sBAAsB;AACtB,8BAA8B;AAC9B,uBAAuB;AACvB,oCAAoC;AACpC,oBAAoB;AACpB,0BAA0B,oBAAoB;AAC9C,wBAAwB;AACxB,mBAAmB;AACnB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,uBAAuB;AACvB,wBAAwB;AACxB,iCAAiC;AACjC,8BAA8B;AAC9B;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB,wBAAwB;AACxB,4CAA4C;AAC5C,wBAAwB;;AAExB;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,cAAc;AACd,eAAe;AACf;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,iBAAiB;AACjB,gBAAgB;AAChB,eAAe;AACf,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,gBAAgB;AAChB,iBAAiB;AACjB,4BAA4B;AAC5B,iCAAiC;AACjC,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,yBAAyB,6BAA6B;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,mBAAmB;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B,gCAAgC;AAC7D;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,8DAA8D;AAC9D;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,8BAA8B,wBAAwB,EAAE;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA,SAAS,WAAW,EAAE,KAAK;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C;AAC7C;AACA,8BAA8B;AAC9B,GAAG;AACH,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,2CAA2C,QAAQ;AACnD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,kDAAkD,cAAc;;AAEhE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC,iCAAiC;AACjC,mDAAmD;AACnD,4BAA4B;AAC5B,8BAA8B;AAC9B,SAAS;AACT,kBAAkB;AAClB,gCAAgC;AAChC,6BAA6B;AAC7B,uDAAuD;AACvD,oDAAoD;AACpD,SAAS;AACT,eAAe;AACf,iFAAiF;AACjF,mFAAmF;AACnF,uCAAuC;AACvC,uCAAuC;AACvC,4CAA4C;AAC5C,0CAA0C;AAC1C,gDAAgD;AAChD,qEAAqE;AACrE,SAAS;AACT,0BAA0B;AAC1B,gBAAgB,cAAc,EAAE;AAChC,cAAc,cAAc,EAAE;AAC9B,SAAS;AACT,qBAAqB;AACrB,gCAAgC;AAChC,+DAA+D;AAC/D,8CAA8C;AAC9C,iDAAiD;AACjD,yCAAyC;AACzC,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,iFAAiF;AACjF,iFAAiF;AACjF,uBAAuB;AACvB,2CAA2C;AAC3C,6CAA6C;AAC7C,mEAAmE;AACnE,gEAAgE;;AAEhE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,mBAAmB;AACnB,uBAAuB;AACvB,oBAAoB;AACpB,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB;AACA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,mBAAmB,mBAAmB;AACtC;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA,mBAAmB,8BAA8B;AACjD,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B,gCAAgC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,6BAA6B;AACtC,SAAS,qCAAqC;AAC9C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB,mCAAmC;AACnC,0BAA0B;AAC1B,4BAA4B;AAC5B,uBAAuB;AACvB,0CAA0C;AAC1C,oBAAoB;AACpB,sBAAsB;AACtB,4BAA4B;AAC5B,wCAAwC;AACxC,mCAAmC;AACnC,qCAAqC;AACrC,gCAAgC;;AAEhC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B,uBAAuB;AACvB,0CAA0C;AAC1C,4BAA4B;AAC5B,mCAAmC;AACnC,mDAAmD;AACnD,gCAAgC;AAChC,gDAAgD;;AAEhD;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,8BAA8B;AAC9B,0BAA0B;AAC1B;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,4BAA4B,WAAW;AACvC,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,qBAAqB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,IAAI;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,GAAG,kBAAkB;AACrB;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,GAAG;AACH;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,GAAG,uBAAuB;AAC1B;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC,UAAU,OAAO;AACvD;AACA,wCAAwC;;AAExC;AACA;AACA;;AAEA,0BAA0B,wBAAwB;AAClD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC,yBAAyB;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,uDAAuD;AACvD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA;AACA,gBAAgB,MAAM;AACtB;AACA,0CAA0C,GAAG,IAAI,KAAK;AACtD;AACA;AACA;AACA;AACA,oBAAoB,gCAAgC;AACpD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,IAAI;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;;AAEA;AACA,qBAAqB;AACrB;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,sBAAsB;AAC7B;AACA;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,OAAO;AACP;;AAEA,OAAO;AACP;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC,0BAA0B;AACnE;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C,oBAAoB;AAC9D;AACA;AACA;AACA,6CAA6C,IAAI,IAAI;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH,0CAA0C,EAAE,EAAE;AAC9C,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,sBAAsB;AACjC;AACA;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,4BAA4B;AAC5B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;AACL,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC9jjBA,sCAAgC;AAChC,sCAAgC;AAChC,uCAAuD;AACvD,0CAAgD;AAMhD,IAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;AAEhD,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;IAChB,IAAI,IAAc,CAAC;IACnB,EAAE,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC;QACxB,IAAI,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,IAAI,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,IAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAC1D,IAAM,GAAG,GAAG,CAAC,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzG,IAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IACpC,IAAM,OAAO,GAAG,IAAI,6BAAiB,CAAC,GAAG,EAAE,kBAAS,CAAC,CAAC;IACtD,IAAM,EAAE,GAAG,IAAI,eAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC7D,IAAM,QAAM,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAEzB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAC9B,QAAM,EAAE,CAAC;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC;AAAA,CAAC;;;;;;;;AC7BF;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,8CAA8C,EAAE;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC5HA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,uDAAuD,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,yBAAyB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,IAAI;AACxE;AACA;AACA,qEAAqE,GAAG;AACxE;AACA;AACA;AACA;AACA;AACA,qEAAqE,MAAM;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,GAAG,qBAAqB;;AAEzB;;;;;;;;ACx6BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B,sBAAsB,IAAI,KAAK,EAAE,IAAI,IAAI;AACzC;AACA,wBAAwB,IAAI;AAC5B;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,gBAAgB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,mCAAmC,yBAAyB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,4BAA4B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;;;;;;;ACzOA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA,2EAA2E,uBAAuB;AAClG,0EAA0E,2BAA2B;AACrG;AACA;AACA,0EAA0E,iCAAiC;AAC3G,0EAA0E,4BAA4B;AACtG,0EAA0E,sBAAsB;AAChG,0EAA0E,2BAA2B;AACrG,0EAA0E,0BAA0B;AACpG,2EAA2E,6CAA6C;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,4CAA4C;AAC/G;AACA,+CAA+C,8BAA8B;AAC7E,+CAA+C,8BAA8B;AAC7E,+CAA+C,8BAA8B;AAC7E,+CAA+C,gDAAgD;AAC/F,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,+BAA+B;AAC9E,+CAA+C,+BAA+B;AAC9E,+CAA+C,+BAA+B;AAC9E,gDAAgD,gCAAgC;AAChF,uBAAuB,wBAAwB,+BAA+B;AAC9E,oEAAoE,4CAA4C;AAChH;AACA,2DAA2D,oCAAoC;AAC/F,2DAA2D,iCAAiC;AAC5F,2DAA2D,mCAAmC;AAC9F,2DAA2D,sCAAsC;AACjG,2DAA2D,uCAAuC;AAClG,2DAA2D,uCAAuC;AAClG,2DAA2D,4CAA4C;AACvG,2DAA2D,2CAA2C;AACtG,2DAA2D,uCAAuC;AAClG,2DAA2D,yCAAyC;AACpG,2DAA2D,uCAAuC;AAClG,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,iCAAiC;AAC5F;AACA;AACA;AACA;AACA;AACA,2DAA2D,mCAAmC;AAC9F,2DAA2D,0CAA0C;AACrG,2DAA2D,wCAAwC;AACnG,2DAA2D,0CAA0C;AACrG,2DAA2D,iDAAiD;AAC5G,2DAA2D,6CAA6C;AACxG,2DAA2D,wCAAwC;AACnG,2DAA2D,0CAA0C;AACrG,2DAA2D,mCAAmC;AAC9F,2DAA2D,iCAAiC;AAC5F,2DAA2D,gCAAgC;AAC3F,2DAA2D,kCAAkC;AAC7F,2DAA2D,uCAAuC;AAClG,2DAA2D,qCAAqC;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,wCAAwC;AAC3F,mDAAmD,mCAAmC;AACtF,mDAAmD,sCAAsC;AACzF,iGAAiG,4CAA4C;AAC7I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC7dA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sBAAsB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,yBAAyB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mCAAmC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,0DAA0D;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrRA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,8BAA8B;AACpF,oDAAoD,kCAAkC;AACtF,oDAAoD,kCAAkC;AACtF,kDAAkD,gCAAgC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,iBAAiB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAoF,yBAAyB,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6EAA6E;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,4BAA4B,EAAE;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;ACrZA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;ACxEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uB;;;;;;AC7BA,kBAAkB,wD;;;;;;ACAlB,kBAAkB,kD;;;;;;;;;;;;ACAlB,kBAAkB,gE;;;;;;ACAlB,kBAAkB,8D;;;;;;;ACAlB;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpEA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,2BAA2B,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AClEA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,2BAA2B,yCAAyC;AACpE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,0CAA0C,eAAe;AACzD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,+BAA+B,gCAAgC;AAC/D;AACA;AACA;AACA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AClKA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;;;;;;;AC5CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;;AAEA","file":"./dist/bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 15);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap e07bf020f10a44c91562","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CompositionHelper_1 = require(\"./CompositionHelper\");\nvar EventEmitter_1 = require(\"./EventEmitter\");\nvar Viewport_1 = require(\"./Viewport\");\nvar Clipboard_1 = require(\"./handlers/Clipboard\");\nvar CircularList_1 = require(\"./utils/CircularList\");\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar InputHandler_1 = require(\"./InputHandler\");\nvar Parser_1 = require(\"./Parser\");\nvar Renderer_1 = require(\"./Renderer\");\nvar Linkifier_1 = require(\"./Linkifier\");\nvar SelectionManager_1 = require(\"./SelectionManager\");\nvar CharMeasure_1 = require(\"./utils/CharMeasure\");\nvar Browser = require(\"./utils/Browser\");\nvar Mouse_1 = require(\"./utils/Mouse\");\nvar document = (typeof window != 'undefined') ? window.document : null;\nvar WRITE_BUFFER_PAUSE_THRESHOLD = 5;\nvar WRITE_BATCH_SIZE = 300;\nvar CURSOR_BLINK_INTERVAL = 600;\nfunction Terminal(options) {\n var self = this;\n if (!(this instanceof Terminal)) {\n return new Terminal(arguments[0], arguments[1], arguments[2]);\n }\n self.browser = Browser;\n self.cancel = Terminal.cancel;\n EventEmitter_1.EventEmitter.call(this);\n if (typeof options === 'number') {\n options = {\n cols: arguments[0],\n rows: arguments[1],\n handler: arguments[2]\n };\n }\n options = options || {};\n Object.keys(Terminal.defaults).forEach(function (key) {\n if (options[key] == null) {\n options[key] = Terminal.options[key];\n if (Terminal[key] !== Terminal.defaults[key]) {\n options[key] = Terminal[key];\n }\n }\n self[key] = options[key];\n });\n if (options.colors.length === 8) {\n options.colors = options.colors.concat(Terminal._colors.slice(8));\n }\n else if (options.colors.length === 16) {\n options.colors = options.colors.concat(Terminal._colors.slice(16));\n }\n else if (options.colors.length === 10) {\n options.colors = options.colors.slice(0, -2).concat(Terminal._colors.slice(8, -2), options.colors.slice(-2));\n }\n else if (options.colors.length === 18) {\n options.colors = options.colors.concat(Terminal._colors.slice(16, -2), options.colors.slice(-2));\n }\n this.colors = options.colors;\n this.options = options;\n this.parent = options.body || options.parent || (document ? document.getElementsByTagName('body')[0] : null);\n this.cols = options.cols || options.geometry[0];\n this.rows = options.rows || options.geometry[1];\n this.geometry = [this.cols, this.rows];\n if (options.handler) {\n this.on('data', options.handler);\n }\n this.ybase = 0;\n this.ydisp = 0;\n this.x = 0;\n this.y = 0;\n this.cursorState = 0;\n this.cursorHidden = false;\n this.convertEol;\n this.queue = '';\n this.scrollTop = 0;\n this.scrollBottom = this.rows - 1;\n this.customKeyEventHandler = null;\n this.cursorBlinkInterval = null;\n this.applicationKeypad = false;\n this.applicationCursor = false;\n this.originMode = false;\n this.insertMode = false;\n this.wraparoundMode = true;\n this.normal = null;\n this.charset = null;\n this.gcharset = null;\n this.glevel = 0;\n this.charsets = [null];\n this.decLocator;\n this.x10Mouse;\n this.vt200Mouse;\n this.vt300Mouse;\n this.normalMouse;\n this.mouseEvents;\n this.sendFocus;\n this.utfMouse;\n this.sgrMouse;\n this.urxvtMouse;\n this.element;\n this.children;\n this.refreshStart;\n this.refreshEnd;\n this.savedX;\n this.savedY;\n this.savedCols;\n this.readable = true;\n this.writable = true;\n this.defAttr = (0 << 18) | (257 << 9) | (256 << 0);\n this.curAttr = this.defAttr;\n this.params = [];\n this.currentParam = 0;\n this.prefix = '';\n this.postfix = '';\n this.inputHandler = new InputHandler_1.InputHandler(this);\n this.parser = new Parser_1.Parser(this.inputHandler, this);\n this.renderer = this.renderer || null;\n this.selectionManager = this.selectionManager || null;\n this.linkifier = this.linkifier || new Linkifier_1.Linkifier();\n this.writeBuffer = [];\n this.writeInProgress = false;\n this.xoffSentToCatchUp = false;\n this.writeStopped = false;\n this.surrogate_high = '';\n this.lines = new CircularList_1.CircularList(this.scrollback);\n var i = this.rows;\n while (i--) {\n this.lines.push(this.blankLine());\n }\n if (this.selectionManager) {\n this.selectionManager.setBuffer(this.lines);\n }\n this.tabs;\n this.setupStops();\n this.userScrolling = false;\n}\ninherits(Terminal, EventEmitter_1.EventEmitter);\nTerminal.prototype.eraseAttr = function () {\n return (this.defAttr & ~0x1ff) | (this.curAttr & 0x1ff);\n};\nTerminal.tangoColors = [\n '#2e3436',\n '#cc0000',\n '#4e9a06',\n '#c4a000',\n '#3465a4',\n '#75507b',\n '#06989a',\n '#d3d7cf',\n '#555753',\n '#ef2929',\n '#8ae234',\n '#fce94f',\n '#729fcf',\n '#ad7fa8',\n '#34e2e2',\n '#eeeeec'\n];\nTerminal.colors = (function () {\n var colors = Terminal.tangoColors.slice(), r = [0x00, 0x5f, 0x87, 0xaf, 0xd7, 0xff], i;\n i = 0;\n for (; i < 216; i++) {\n out(r[(i / 36) % 6 | 0], r[(i / 6) % 6 | 0], r[i % 6]);\n }\n i = 0;\n for (; i < 24; i++) {\n r = 8 + i * 10;\n out(r, r, r);\n }\n function out(r, g, b) {\n colors.push('#' + hex(r) + hex(g) + hex(b));\n }\n function hex(c) {\n c = c.toString(16);\n return c.length < 2 ? '0' + c : c;\n }\n return colors;\n})();\nTerminal._colors = Terminal.colors.slice();\nTerminal.vcolors = (function () {\n var out = [], colors = Terminal.colors, i = 0, color;\n for (; i < 256; i++) {\n color = parseInt(colors[i].substring(1), 16);\n out.push([\n (color >> 16) & 0xff,\n (color >> 8) & 0xff,\n color & 0xff\n ]);\n }\n return out;\n})();\nTerminal.defaults = {\n colors: Terminal.colors,\n theme: 'default',\n convertEol: false,\n termName: 'xterm',\n geometry: [80, 24],\n cursorBlink: false,\n cursorStyle: 'block',\n visualBell: false,\n popOnBell: false,\n scrollback: 1000,\n screenKeys: false,\n debug: false,\n cancelEvents: false,\n disableStdin: false,\n useFlowControl: false,\n tabStopWidth: 8\n};\nTerminal.options = {};\nTerminal.focus = null;\neach(keys(Terminal.defaults), function (key) {\n Terminal[key] = Terminal.defaults[key];\n Terminal.options[key] = Terminal.defaults[key];\n});\nTerminal.prototype.focus = function () {\n return this.textarea.focus();\n};\nTerminal.prototype.getOption = function (key, value) {\n if (!(key in Terminal.defaults)) {\n throw new Error('No option with key \"' + key + '\"');\n }\n if (typeof this.options[key] !== 'undefined') {\n return this.options[key];\n }\n return this[key];\n};\nTerminal.prototype.setOption = function (key, value) {\n if (!(key in Terminal.defaults)) {\n throw new Error('No option with key \"' + key + '\"');\n }\n switch (key) {\n case 'scrollback':\n if (value < this.rows) {\n var msg = 'Setting the scrollback value less than the number of rows ';\n msg += \"(\" + this.rows + \") is not allowed.\";\n console.warn(msg);\n return false;\n }\n if (this.options[key] !== value) {\n if (this.lines.length > value) {\n var amountToTrim = this.lines.length - value;\n var needsRefresh = (this.ydisp - amountToTrim < 0);\n this.lines.trimStart(amountToTrim);\n this.ybase = Math.max(this.ybase - amountToTrim, 0);\n this.ydisp = Math.max(this.ydisp - amountToTrim, 0);\n if (needsRefresh) {\n this.refresh(0, this.rows - 1);\n }\n }\n this.lines.maxLength = value;\n this.viewport.syncScrollArea();\n }\n break;\n }\n this[key] = value;\n this.options[key] = value;\n switch (key) {\n case 'cursorBlink':\n this.setCursorBlinking(value);\n break;\n case 'cursorStyle':\n this.element.classList.toggle(\"xterm-cursor-style-underline\", value === 'underline');\n this.element.classList.toggle(\"xterm-cursor-style-bar\", value === 'bar');\n break;\n case 'tabStopWidth':\n this.setupStops();\n break;\n }\n};\nTerminal.prototype.restartCursorBlinking = function () {\n this.setCursorBlinking(this.options.cursorBlink);\n};\nTerminal.prototype.setCursorBlinking = function (enabled) {\n this.element.classList.toggle('xterm-cursor-blink', enabled);\n this.clearCursorBlinkingInterval();\n if (enabled) {\n var self = this;\n this.cursorBlinkInterval = setInterval(function () {\n self.element.classList.toggle('xterm-cursor-blink-on');\n }, CURSOR_BLINK_INTERVAL);\n }\n};\nTerminal.prototype.clearCursorBlinkingInterval = function () {\n this.element.classList.remove('xterm-cursor-blink-on');\n if (this.cursorBlinkInterval) {\n clearInterval(this.cursorBlinkInterval);\n this.cursorBlinkInterval = null;\n }\n};\nTerminal.bindFocus = function (term) {\n on(term.textarea, 'focus', function (ev) {\n if (term.sendFocus) {\n term.send(EscapeSequences_1.C0.ESC + '[I');\n }\n term.element.classList.add('focus');\n term.showCursor();\n term.restartCursorBlinking.apply(term);\n Terminal.focus = term;\n term.emit('focus', { terminal: term });\n });\n};\nTerminal.prototype.blur = function () {\n return this.textarea.blur();\n};\nTerminal.bindBlur = function (term) {\n on(term.textarea, 'blur', function (ev) {\n term.refresh(term.y, term.y);\n if (term.sendFocus) {\n term.send(EscapeSequences_1.C0.ESC + '[O');\n }\n term.element.classList.remove('focus');\n term.clearCursorBlinkingInterval.apply(term);\n Terminal.focus = null;\n term.emit('blur', { terminal: term });\n });\n};\nTerminal.prototype.initGlobal = function () {\n var _this = this;\n var term = this;\n Terminal.bindKeys(this);\n Terminal.bindFocus(this);\n Terminal.bindBlur(this);\n on(this.element, 'copy', function (event) {\n if (_this.mouseEvents) {\n return;\n }\n Clipboard_1.copyHandler(event, term, _this.selectionManager);\n });\n var pasteHandlerWrapper = function (event) { return Clipboard_1.pasteHandler(event, term); };\n on(this.textarea, 'paste', pasteHandlerWrapper);\n on(this.element, 'paste', pasteHandlerWrapper);\n if (term.browser.isFirefox) {\n on(this.element, 'mousedown', function (event) {\n if (event.button == 2) {\n Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager);\n }\n });\n }\n else {\n on(this.element, 'contextmenu', function (event) {\n Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager);\n });\n }\n if (term.browser.isLinux) {\n on(this.element, 'auxclick', function (event) {\n if (event.button === 1) {\n Clipboard_1.moveTextAreaUnderMouseCursor(event, _this.textarea, _this.selectionManager);\n }\n });\n }\n};\nTerminal.bindKeys = function (term) {\n on(term.element, 'keydown', function (ev) {\n if (document.activeElement != this) {\n return;\n }\n term.keyDown(ev);\n }, true);\n on(term.element, 'keypress', function (ev) {\n if (document.activeElement != this) {\n return;\n }\n term.keyPress(ev);\n }, true);\n on(term.element, 'keyup', function (ev) {\n if (!wasMondifierKeyOnlyEvent(ev)) {\n term.focus(term);\n }\n }, true);\n on(term.textarea, 'keydown', function (ev) {\n term.keyDown(ev);\n }, true);\n on(term.textarea, 'keypress', function (ev) {\n term.keyPress(ev);\n this.value = '';\n }, true);\n on(term.textarea, 'compositionstart', term.compositionHelper.compositionstart.bind(term.compositionHelper));\n on(term.textarea, 'compositionupdate', term.compositionHelper.compositionupdate.bind(term.compositionHelper));\n on(term.textarea, 'compositionend', term.compositionHelper.compositionend.bind(term.compositionHelper));\n term.on('refresh', term.compositionHelper.updateCompositionElements.bind(term.compositionHelper));\n term.on('refresh', function (data) {\n term.queueLinkification(data.start, data.end);\n });\n};\nTerminal.prototype.insertRow = function (row) {\n if (typeof row != 'object') {\n row = document.createElement('div');\n }\n this.rowContainer.appendChild(row);\n this.children.push(row);\n return row;\n};\nTerminal.prototype.open = function (parent, focus) {\n var _this = this;\n var self = this, i = 0, div;\n this.parent = parent || this.parent;\n if (!this.parent) {\n throw new Error('Terminal requires a parent element.');\n }\n this.context = this.parent.ownerDocument.defaultView;\n this.document = this.parent.ownerDocument;\n this.body = this.document.getElementsByTagName('body')[0];\n this.element = this.document.createElement('div');\n this.element.classList.add('terminal');\n this.element.classList.add('xterm');\n this.element.classList.add('xterm-theme-' + this.theme);\n this.setCursorBlinking(this.options.cursorBlink);\n this.element.setAttribute('tabindex', 0);\n this.viewportElement = document.createElement('div');\n this.viewportElement.classList.add('xterm-viewport');\n this.element.appendChild(this.viewportElement);\n this.viewportScrollArea = document.createElement('div');\n this.viewportScrollArea.classList.add('xterm-scroll-area');\n this.viewportElement.appendChild(this.viewportScrollArea);\n this.selectionContainer = document.createElement('div');\n this.selectionContainer.classList.add('xterm-selection');\n this.element.appendChild(this.selectionContainer);\n this.rowContainer = document.createElement('div');\n this.rowContainer.classList.add('xterm-rows');\n this.element.appendChild(this.rowContainer);\n this.children = [];\n this.linkifier.attachToDom(document, this.children);\n this.helperContainer = document.createElement('div');\n this.helperContainer.classList.add('xterm-helpers');\n this.element.appendChild(this.helperContainer);\n this.textarea = document.createElement('textarea');\n this.textarea.classList.add('xterm-helper-textarea');\n this.textarea.setAttribute('autocorrect', 'off');\n this.textarea.setAttribute('autocapitalize', 'off');\n this.textarea.setAttribute('spellcheck', 'false');\n this.textarea.tabIndex = 0;\n this.textarea.addEventListener('focus', function () {\n self.emit('focus', { terminal: self });\n });\n this.textarea.addEventListener('blur', function () {\n self.emit('blur', { terminal: self });\n });\n this.helperContainer.appendChild(this.textarea);\n this.compositionView = document.createElement('div');\n this.compositionView.classList.add('composition-view');\n this.compositionHelper = new CompositionHelper_1.CompositionHelper(this.textarea, this.compositionView, this);\n this.helperContainer.appendChild(this.compositionView);\n this.charSizeStyleElement = document.createElement('style');\n this.helperContainer.appendChild(this.charSizeStyleElement);\n for (; i < this.rows; i++) {\n this.insertRow();\n }\n this.parent.appendChild(this.element);\n this.charMeasure = new CharMeasure_1.CharMeasure(document, this.helperContainer);\n this.charMeasure.on('charsizechanged', function () {\n self.updateCharSizeStyles();\n });\n this.charMeasure.measure();\n this.viewport = new Viewport_1.Viewport(this, this.viewportElement, this.viewportScrollArea, this.charMeasure);\n this.renderer = new Renderer_1.Renderer(this);\n this.selectionManager = new SelectionManager_1.SelectionManager(this, this.lines, this.rowContainer, this.charMeasure);\n this.selectionManager.on('refresh', function (data) {\n _this.renderer.refreshSelection(data.start, data.end);\n });\n this.selectionManager.on('newselection', function (text) {\n _this.textarea.value = text;\n _this.textarea.focus();\n _this.textarea.select();\n });\n this.on('scroll', function () { return _this.selectionManager.refresh(); });\n this.viewportElement.addEventListener('scroll', function () { return _this.selectionManager.refresh(); });\n this.refresh(0, this.rows - 1);\n this.initGlobal();\n if (typeof focus == 'undefined') {\n var message = 'You did not pass the `focus` argument in `Terminal.prototype.open()`.\\n';\n message += 'The `focus` argument now defaults to `true` but starting with xterm.js 3.0 ';\n message += 'it will default to `false`.';\n console.warn(message);\n focus = true;\n }\n if (focus) {\n this.focus();\n }\n on(this.element, 'click', function () {\n var selection = document.getSelection(), collapsed = selection.isCollapsed, isRange = typeof collapsed == 'boolean' ? !collapsed : selection.type == 'Range';\n if (!isRange) {\n self.focus();\n }\n });\n this.bindMouse();\n this.emit('open');\n};\nTerminal.loadAddon = function (addon, callback) {\n if (typeof exports === 'object' && typeof module === 'object') {\n return require('./addons/' + addon + '/' + addon);\n }\n else if (typeof define == 'function') {\n return require(['./addons/' + addon + '/' + addon], callback);\n }\n else {\n console.error('Cannot load a module without a CommonJS or RequireJS environment.');\n return false;\n }\n};\nTerminal.prototype.updateCharSizeStyles = function () {\n this.charSizeStyleElement.textContent =\n \".xterm-wide-char{width:\" + this.charMeasure.width * 2 + \"px;}\" +\n (\".xterm-normal-char{width:\" + this.charMeasure.width + \"px;}\") +\n (\".xterm-rows > div{height:\" + this.charMeasure.height + \"px;}\");\n};\nTerminal.prototype.bindMouse = function () {\n var el = this.element, self = this, pressed = 32;\n function sendButton(ev) {\n var button, pos;\n button = getButton(ev);\n pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows);\n if (!pos)\n return;\n sendEvent(button, pos);\n switch (ev.overrideType || ev.type) {\n case 'mousedown':\n pressed = button;\n break;\n case 'mouseup':\n pressed = 32;\n break;\n case 'wheel':\n break;\n }\n }\n function sendMove(ev) {\n var button = pressed, pos;\n pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows);\n if (!pos)\n return;\n button += 32;\n sendEvent(button, pos);\n }\n function encode(data, ch) {\n if (!self.utfMouse) {\n if (ch === 255)\n return data.push(0);\n if (ch > 127)\n ch = 127;\n data.push(ch);\n }\n else {\n if (ch === 2047)\n return data.push(0);\n if (ch < 127) {\n data.push(ch);\n }\n else {\n if (ch > 2047)\n ch = 2047;\n data.push(0xC0 | (ch >> 6));\n data.push(0x80 | (ch & 0x3F));\n }\n }\n }\n function sendEvent(button, pos) {\n if (self.vt300Mouse) {\n button &= 3;\n pos.x -= 32;\n pos.y -= 32;\n var data = EscapeSequences_1.C0.ESC + '[24';\n if (button === 0)\n data += '1';\n else if (button === 1)\n data += '3';\n else if (button === 2)\n data += '5';\n else if (button === 3)\n return;\n else\n data += '0';\n data += '~[' + pos.x + ',' + pos.y + ']\\r';\n self.send(data);\n return;\n }\n if (self.decLocator) {\n button &= 3;\n pos.x -= 32;\n pos.y -= 32;\n if (button === 0)\n button = 2;\n else if (button === 1)\n button = 4;\n else if (button === 2)\n button = 6;\n else if (button === 3)\n button = 3;\n self.send(EscapeSequences_1.C0.ESC + '['\n + button\n + ';'\n + (button === 3 ? 4 : 0)\n + ';'\n + pos.y\n + ';'\n + pos.x\n + ';'\n + (pos.page || 0)\n + '&w');\n return;\n }\n if (self.urxvtMouse) {\n pos.x -= 32;\n pos.y -= 32;\n pos.x++;\n pos.y++;\n self.send(EscapeSequences_1.C0.ESC + '[' + button + ';' + pos.x + ';' + pos.y + 'M');\n return;\n }\n if (self.sgrMouse) {\n pos.x -= 32;\n pos.y -= 32;\n self.send(EscapeSequences_1.C0.ESC + '[<'\n + (((button & 3) === 3 ? button & ~3 : button) - 32)\n + ';'\n + pos.x\n + ';'\n + pos.y\n + ((button & 3) === 3 ? 'm' : 'M'));\n return;\n }\n var data = [];\n encode(data, button);\n encode(data, pos.x);\n encode(data, pos.y);\n self.send(EscapeSequences_1.C0.ESC + '[M' + String.fromCharCode.apply(String, data));\n }\n function getButton(ev) {\n var button, shift, meta, ctrl, mod;\n switch (ev.overrideType || ev.type) {\n case 'mousedown':\n button = ev.button != null\n ? +ev.button\n : ev.which != null\n ? ev.which - 1\n : null;\n if (self.browser.isMSIE) {\n button = button === 1 ? 0 : button === 4 ? 1 : button;\n }\n break;\n case 'mouseup':\n button = 3;\n break;\n case 'DOMMouseScroll':\n button = ev.detail < 0\n ? 64\n : 65;\n break;\n case 'wheel':\n button = ev.wheelDeltaY > 0\n ? 64\n : 65;\n break;\n }\n shift = ev.shiftKey ? 4 : 0;\n meta = ev.metaKey ? 8 : 0;\n ctrl = ev.ctrlKey ? 16 : 0;\n mod = shift | meta | ctrl;\n if (self.vt200Mouse) {\n mod &= ctrl;\n }\n else if (!self.normalMouse) {\n mod = 0;\n }\n button = (32 + (mod << 2)) + button;\n return button;\n }\n on(el, 'mousedown', function (ev) {\n if (!self.mouseEvents)\n return;\n sendButton(ev);\n self.focus();\n if (self.vt200Mouse) {\n ev.overrideType = 'mouseup';\n sendButton(ev);\n return self.cancel(ev);\n }\n if (self.normalMouse)\n on(self.document, 'mousemove', sendMove);\n if (!self.x10Mouse) {\n on(self.document, 'mouseup', function up(ev) {\n sendButton(ev);\n if (self.normalMouse)\n off(self.document, 'mousemove', sendMove);\n off(self.document, 'mouseup', up);\n return self.cancel(ev);\n });\n }\n return self.cancel(ev);\n });\n on(el, 'wheel', function (ev) {\n if (!self.mouseEvents)\n return;\n if (self.x10Mouse\n || self.vt300Mouse\n || self.decLocator)\n return;\n sendButton(ev);\n return self.cancel(ev);\n });\n on(el, 'wheel', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onWheel(ev);\n return self.cancel(ev);\n });\n on(el, 'touchstart', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onTouchStart(ev);\n return self.cancel(ev);\n });\n on(el, 'touchmove', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onTouchMove(ev);\n return self.cancel(ev);\n });\n};\nTerminal.prototype.destroy = function () {\n this.readable = false;\n this.writable = false;\n this._events = {};\n this.handler = function () { };\n this.write = function () { };\n if (this.element && this.element.parentNode) {\n this.element.parentNode.removeChild(this.element);\n }\n};\nTerminal.prototype.refresh = function (start, end) {\n if (this.renderer) {\n this.renderer.queueRefresh(start, end);\n }\n};\nTerminal.prototype.queueLinkification = function (start, end) {\n if (this.linkifier) {\n for (var i = start; i <= end; i++) {\n this.linkifier.linkifyRow(i);\n }\n }\n};\nTerminal.prototype.showCursor = function () {\n if (!this.cursorState) {\n this.cursorState = 1;\n this.refresh(this.y, this.y);\n }\n};\nTerminal.prototype.scroll = function (isWrapped) {\n var row;\n if (this.lines.length === this.lines.maxLength) {\n this.lines.trimStart(1);\n this.ybase--;\n if (this.ydisp !== 0) {\n this.ydisp--;\n }\n }\n this.ybase++;\n if (!this.userScrolling) {\n this.ydisp = this.ybase;\n }\n row = this.ybase + this.rows - 1;\n row -= this.rows - 1 - this.scrollBottom;\n if (row === this.lines.length) {\n this.lines.push(this.blankLine(undefined, isWrapped));\n }\n else {\n this.lines.splice(row, 0, this.blankLine(undefined, isWrapped));\n }\n if (this.scrollTop !== 0) {\n if (this.ybase !== 0) {\n this.ybase--;\n if (!this.userScrolling) {\n this.ydisp = this.ybase;\n }\n }\n this.lines.splice(this.ybase + this.scrollTop, 1);\n }\n this.updateRange(this.scrollTop);\n this.updateRange(this.scrollBottom);\n this.emit('scroll', this.ydisp);\n};\nTerminal.prototype.scrollDisp = function (disp, suppressScrollEvent) {\n if (disp < 0) {\n if (this.ydisp === 0) {\n return;\n }\n this.userScrolling = true;\n }\n else if (disp + this.ydisp >= this.ybase) {\n this.userScrolling = false;\n }\n this.ydisp += disp;\n if (this.ydisp > this.ybase) {\n this.ydisp = this.ybase;\n }\n else if (this.ydisp < 0) {\n this.ydisp = 0;\n }\n if (!suppressScrollEvent) {\n this.emit('scroll', this.ydisp);\n }\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.scrollPages = function (pageCount) {\n this.scrollDisp(pageCount * (this.rows - 1));\n};\nTerminal.prototype.scrollToTop = function () {\n this.scrollDisp(-this.ydisp);\n};\nTerminal.prototype.scrollToBottom = function () {\n this.scrollDisp(this.ybase - this.ydisp);\n};\nTerminal.prototype.write = function (data) {\n this.writeBuffer.push(data);\n if (this.options.useFlowControl && !this.xoffSentToCatchUp && this.writeBuffer.length >= WRITE_BUFFER_PAUSE_THRESHOLD) {\n this.send(EscapeSequences_1.C0.DC3);\n this.xoffSentToCatchUp = true;\n }\n if (!this.writeInProgress && this.writeBuffer.length > 0) {\n this.writeInProgress = true;\n var self = this;\n setTimeout(function () {\n self.innerWrite();\n });\n }\n};\nTerminal.prototype.innerWrite = function () {\n var writeBatch = this.writeBuffer.splice(0, WRITE_BATCH_SIZE);\n while (writeBatch.length > 0) {\n var data = writeBatch.shift();\n var l = data.length, i = 0, j, cs, ch, code, low, ch_width, row;\n if (this.xoffSentToCatchUp && writeBatch.length === 0 && this.writeBuffer.length === 0) {\n this.send(EscapeSequences_1.C0.DC1);\n this.xoffSentToCatchUp = false;\n }\n this.refreshStart = this.y;\n this.refreshEnd = this.y;\n var state = this.parser.parse(data);\n this.parser.setState(state);\n this.updateRange(this.y);\n this.refresh(this.refreshStart, this.refreshEnd);\n }\n if (this.writeBuffer.length > 0) {\n var self = this;\n setTimeout(function () {\n self.innerWrite();\n }, 0);\n }\n else {\n this.writeInProgress = false;\n }\n};\nTerminal.prototype.writeln = function (data) {\n this.write(data + '\\r\\n');\n};\nTerminal.prototype.attachCustomKeydownHandler = function (customKeydownHandler) {\n var message = 'attachCustomKeydownHandler() is DEPRECATED and will be removed soon. Please use attachCustomKeyEventHandler() instead.';\n console.warn(message);\n this.attachCustomKeyEventHandler(customKeydownHandler);\n};\nTerminal.prototype.attachCustomKeyEventHandler = function (customKeyEventHandler) {\n this.customKeyEventHandler = customKeyEventHandler;\n};\nTerminal.prototype.setHypertextLinkHandler = function (handler) {\n if (!this.linkifier) {\n throw new Error('Cannot attach a hypertext link handler before Terminal.open is called');\n }\n this.linkifier.setHypertextLinkHandler(handler);\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.setHypertextValidationCallback = function (callback) {\n if (!this.linkifier) {\n throw new Error('Cannot attach a hypertext validation callback before Terminal.open is called');\n }\n this.linkifier.setHypertextValidationCallback(callback);\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.registerLinkMatcher = function (regex, handler, options) {\n if (this.linkifier) {\n var matcherId = this.linkifier.registerLinkMatcher(regex, handler, options);\n this.refresh(0, this.rows - 1);\n return matcherId;\n }\n};\nTerminal.prototype.deregisterLinkMatcher = function (matcherId) {\n if (this.linkifier) {\n if (this.linkifier.deregisterLinkMatcher(matcherId)) {\n this.refresh(0, this.rows - 1);\n }\n }\n};\nTerminal.prototype.hasSelection = function () {\n return this.selectionManager.hasSelection;\n};\nTerminal.prototype.getSelection = function () {\n return this.selectionManager.selectionText;\n};\nTerminal.prototype.clearSelection = function () {\n this.selectionManager.clearSelection();\n};\nTerminal.prototype.selectAll = function () {\n this.selectionManager.selectAll();\n};\nTerminal.prototype.keyDown = function (ev) {\n if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) {\n return false;\n }\n this.restartCursorBlinking();\n if (!this.compositionHelper.keydown.bind(this.compositionHelper)(ev)) {\n if (this.ybase !== this.ydisp) {\n this.scrollToBottom();\n }\n return false;\n }\n var self = this;\n var result = this.evaluateKeyEscapeSequence(ev);\n if (result.key === EscapeSequences_1.C0.DC3) {\n this.writeStopped = true;\n }\n else if (result.key === EscapeSequences_1.C0.DC1) {\n this.writeStopped = false;\n }\n if (result.scrollDisp) {\n this.scrollDisp(result.scrollDisp);\n return this.cancel(ev, true);\n }\n if (isThirdLevelShift(this, ev)) {\n return true;\n }\n if (result.cancel) {\n this.cancel(ev, true);\n }\n if (!result.key) {\n return true;\n }\n this.emit('keydown', ev);\n this.emit('key', result.key, ev);\n this.showCursor();\n this.handler(result.key);\n return this.cancel(ev, true);\n};\nTerminal.prototype.evaluateKeyEscapeSequence = function (ev) {\n var result = {\n cancel: false,\n key: undefined,\n scrollDisp: undefined\n };\n var modifiers = ev.shiftKey << 0 | ev.altKey << 1 | ev.ctrlKey << 2 | ev.metaKey << 3;\n switch (ev.keyCode) {\n case 8:\n if (ev.shiftKey) {\n result.key = EscapeSequences_1.C0.BS;\n break;\n }\n result.key = EscapeSequences_1.C0.DEL;\n break;\n case 9:\n if (ev.shiftKey) {\n result.key = EscapeSequences_1.C0.ESC + '[Z';\n break;\n }\n result.key = EscapeSequences_1.C0.HT;\n result.cancel = true;\n break;\n case 13:\n result.key = EscapeSequences_1.C0.CR;\n result.cancel = true;\n break;\n case 27:\n result.key = EscapeSequences_1.C0.ESC;\n result.cancel = true;\n break;\n case 37:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'D';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3D') {\n result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'b' : EscapeSequences_1.C0.ESC + '[1;5D';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OD';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[D';\n }\n break;\n case 39:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'C';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3C') {\n result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'f' : EscapeSequences_1.C0.ESC + '[1;5C';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OC';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[C';\n }\n break;\n case 38:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'A';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3A') {\n result.key = EscapeSequences_1.C0.ESC + '[1;5A';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OA';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[A';\n }\n break;\n case 40:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'B';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3B') {\n result.key = EscapeSequences_1.C0.ESC + '[1;5B';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OB';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[B';\n }\n break;\n case 45:\n if (!ev.shiftKey && !ev.ctrlKey) {\n result.key = EscapeSequences_1.C0.ESC + '[2~';\n }\n break;\n case 46:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[3;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[3~';\n }\n break;\n case 36:\n if (modifiers)\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'H';\n else if (this.applicationCursor)\n result.key = EscapeSequences_1.C0.ESC + 'OH';\n else\n result.key = EscapeSequences_1.C0.ESC + '[H';\n break;\n case 35:\n if (modifiers)\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'F';\n else if (this.applicationCursor)\n result.key = EscapeSequences_1.C0.ESC + 'OF';\n else\n result.key = EscapeSequences_1.C0.ESC + '[F';\n break;\n case 33:\n if (ev.shiftKey) {\n result.scrollDisp = -(this.rows - 1);\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[5~';\n }\n break;\n case 34:\n if (ev.shiftKey) {\n result.scrollDisp = this.rows - 1;\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[6~';\n }\n break;\n case 112:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'P';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OP';\n }\n break;\n case 113:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'Q';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OQ';\n }\n break;\n case 114:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'R';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OR';\n }\n break;\n case 115:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'S';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OS';\n }\n break;\n case 116:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[15;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[15~';\n }\n break;\n case 117:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[17;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[17~';\n }\n break;\n case 118:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[18;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[18~';\n }\n break;\n case 119:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[19;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[19~';\n }\n break;\n case 120:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[20;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[20~';\n }\n break;\n case 121:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[21;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[21~';\n }\n break;\n case 122:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[23;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[23~';\n }\n break;\n case 123:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[24;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[24~';\n }\n break;\n default:\n if (ev.ctrlKey && !ev.shiftKey && !ev.altKey && !ev.metaKey) {\n if (ev.keyCode >= 65 && ev.keyCode <= 90) {\n result.key = String.fromCharCode(ev.keyCode - 64);\n }\n else if (ev.keyCode === 32) {\n result.key = String.fromCharCode(0);\n }\n else if (ev.keyCode >= 51 && ev.keyCode <= 55) {\n result.key = String.fromCharCode(ev.keyCode - 51 + 27);\n }\n else if (ev.keyCode === 56) {\n result.key = String.fromCharCode(127);\n }\n else if (ev.keyCode === 219) {\n result.key = String.fromCharCode(27);\n }\n else if (ev.keyCode === 220) {\n result.key = String.fromCharCode(28);\n }\n else if (ev.keyCode === 221) {\n result.key = String.fromCharCode(29);\n }\n }\n else if (!this.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) {\n if (ev.keyCode >= 65 && ev.keyCode <= 90) {\n result.key = EscapeSequences_1.C0.ESC + String.fromCharCode(ev.keyCode + 32);\n }\n else if (ev.keyCode === 192) {\n result.key = EscapeSequences_1.C0.ESC + '`';\n }\n else if (ev.keyCode >= 48 && ev.keyCode <= 57) {\n result.key = EscapeSequences_1.C0.ESC + (ev.keyCode - 48);\n }\n }\n else if (this.browser.isMac && !ev.altKey && !ev.ctrlKey && ev.metaKey) {\n if (ev.keyCode === 65) {\n this.selectAll();\n }\n }\n break;\n }\n return result;\n};\nTerminal.prototype.setgLevel = function (g) {\n this.glevel = g;\n this.charset = this.charsets[g];\n};\nTerminal.prototype.setgCharset = function (g, charset) {\n this.charsets[g] = charset;\n if (this.glevel === g) {\n this.charset = charset;\n }\n};\nTerminal.prototype.keyPress = function (ev) {\n var key;\n if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) {\n return false;\n }\n this.cancel(ev);\n if (ev.charCode) {\n key = ev.charCode;\n }\n else if (ev.which == null) {\n key = ev.keyCode;\n }\n else if (ev.which !== 0 && ev.charCode !== 0) {\n key = ev.which;\n }\n else {\n return false;\n }\n if (!key || ((ev.altKey || ev.ctrlKey || ev.metaKey) && !isThirdLevelShift(this, ev))) {\n return false;\n }\n key = String.fromCharCode(key);\n this.emit('keypress', key, ev);\n this.emit('key', key, ev);\n this.showCursor();\n this.handler(key);\n return true;\n};\nTerminal.prototype.send = function (data) {\n var self = this;\n if (!this.queue) {\n setTimeout(function () {\n self.handler(self.queue);\n self.queue = '';\n }, 1);\n }\n this.queue += data;\n};\nTerminal.prototype.bell = function () {\n if (!this.visualBell)\n return;\n var self = this;\n this.element.style.borderColor = 'white';\n setTimeout(function () {\n self.element.style.borderColor = '';\n }, 10);\n if (this.popOnBell)\n this.focus();\n};\nTerminal.prototype.log = function () {\n if (!this.debug)\n return;\n if (!this.context.console || !this.context.console.log)\n return;\n var args = Array.prototype.slice.call(arguments);\n this.context.console.log.apply(this.context.console, args);\n};\nTerminal.prototype.error = function () {\n if (!this.debug)\n return;\n if (!this.context.console || !this.context.console.error)\n return;\n var args = Array.prototype.slice.call(arguments);\n this.context.console.error.apply(this.context.console, args);\n};\nTerminal.prototype.resize = function (x, y) {\n if (isNaN(x) || isNaN(y)) {\n return;\n }\n if (y > this.getOption('scrollback')) {\n this.setOption('scrollback', y);\n }\n var line, el, i, j, ch, addToY;\n if (x === this.cols && y === this.rows) {\n return;\n }\n if (x < 1)\n x = 1;\n if (y < 1)\n y = 1;\n j = this.cols;\n if (j < x) {\n ch = [this.defAttr, ' ', 1];\n i = this.lines.length;\n while (i--) {\n while (this.lines.get(i).length < x) {\n this.lines.get(i).push(ch);\n }\n }\n }\n this.cols = x;\n this.setupStops(this.cols);\n j = this.rows;\n addToY = 0;\n if (j < y) {\n el = this.element;\n while (j++ < y) {\n if (this.lines.length < y + this.ybase) {\n if (this.ybase > 0 && this.lines.length <= this.ybase + this.y + addToY + 1) {\n this.ybase--;\n addToY++;\n if (this.ydisp > 0) {\n this.ydisp--;\n }\n }\n else {\n this.lines.push(this.blankLine());\n }\n }\n if (this.children.length < y) {\n this.insertRow();\n }\n }\n }\n else {\n while (j-- > y) {\n if (this.lines.length > y + this.ybase) {\n if (this.lines.length > this.ybase + this.y + 1) {\n this.lines.pop();\n }\n else {\n this.ybase++;\n this.ydisp++;\n }\n }\n if (this.children.length > y) {\n el = this.children.shift();\n if (!el)\n continue;\n el.parentNode.removeChild(el);\n }\n }\n }\n this.rows = y;\n if (this.y >= y) {\n this.y = y - 1;\n }\n if (addToY) {\n this.y += addToY;\n }\n if (this.x >= x) {\n this.x = x - 1;\n }\n this.scrollTop = 0;\n this.scrollBottom = y - 1;\n this.charMeasure.measure();\n this.refresh(0, this.rows - 1);\n this.normal = null;\n this.geometry = [this.cols, this.rows];\n this.emit('resize', { terminal: this, cols: x, rows: y });\n};\nTerminal.prototype.updateRange = function (y) {\n if (y < this.refreshStart)\n this.refreshStart = y;\n if (y > this.refreshEnd)\n this.refreshEnd = y;\n};\nTerminal.prototype.maxRange = function () {\n this.refreshStart = 0;\n this.refreshEnd = this.rows - 1;\n};\nTerminal.prototype.setupStops = function (i) {\n if (i != null) {\n if (!this.tabs[i]) {\n i = this.prevStop(i);\n }\n }\n else {\n this.tabs = {};\n i = 0;\n }\n for (; i < this.cols; i += this.getOption('tabStopWidth')) {\n this.tabs[i] = true;\n }\n};\nTerminal.prototype.prevStop = function (x) {\n if (x == null)\n x = this.x;\n while (!this.tabs[--x] && x > 0)\n ;\n return x >= this.cols\n ? this.cols - 1\n : x < 0 ? 0 : x;\n};\nTerminal.prototype.nextStop = function (x) {\n if (x == null)\n x = this.x;\n while (!this.tabs[++x] && x < this.cols)\n ;\n return x >= this.cols\n ? this.cols - 1\n : x < 0 ? 0 : x;\n};\nTerminal.prototype.eraseRight = function (x, y) {\n var line = this.lines.get(this.ybase + y);\n if (!line) {\n return;\n }\n var ch = [this.eraseAttr(), ' ', 1];\n for (; x < this.cols; x++) {\n line[x] = ch;\n }\n this.updateRange(y);\n};\nTerminal.prototype.eraseLeft = function (x, y) {\n var line = this.lines.get(this.ybase + y);\n if (!line) {\n return;\n }\n var ch = [this.eraseAttr(), ' ', 1];\n x++;\n while (x--) {\n line[x] = ch;\n }\n this.updateRange(y);\n};\nTerminal.prototype.clear = function () {\n if (this.ybase === 0 && this.y === 0) {\n return;\n }\n this.lines.set(0, this.lines.get(this.ybase + this.y));\n this.lines.length = 1;\n this.ydisp = 0;\n this.ybase = 0;\n this.y = 0;\n for (var i = 1; i < this.rows; i++) {\n this.lines.push(this.blankLine());\n }\n this.refresh(0, this.rows - 1);\n this.emit('scroll', this.ydisp);\n};\nTerminal.prototype.eraseLine = function (y) {\n this.eraseRight(0, y);\n};\nTerminal.prototype.blankLine = function (cur, isWrapped) {\n var attr = cur\n ? this.eraseAttr()\n : this.defAttr;\n var ch = [attr, ' ', 1], line = [], i = 0;\n if (isWrapped) {\n line.isWrapped = isWrapped;\n }\n for (; i < this.cols; i++) {\n line[i] = ch;\n }\n return line;\n};\nTerminal.prototype.ch = function (cur) {\n return cur\n ? [this.eraseAttr(), ' ', 1]\n : [this.defAttr, ' ', 1];\n};\nTerminal.prototype.is = function (term) {\n var name = this.termName;\n return (name + '').indexOf(term) === 0;\n};\nTerminal.prototype.handler = function (data) {\n if (this.options.disableStdin) {\n return;\n }\n if (this.ybase !== this.ydisp) {\n this.scrollToBottom();\n }\n this.emit('data', data);\n};\nTerminal.prototype.handleTitle = function (title) {\n this.emit('title', title);\n};\nTerminal.prototype.index = function () {\n this.y++;\n if (this.y > this.scrollBottom) {\n this.y--;\n this.scroll();\n }\n if (this.x >= this.cols) {\n this.x--;\n }\n};\nTerminal.prototype.reverseIndex = function () {\n var j;\n if (this.y === this.scrollTop) {\n this.lines.shiftElements(this.y + this.ybase, this.rows - 1, 1);\n this.lines.set(this.y + this.ybase, this.blankLine(true));\n this.updateRange(this.scrollTop);\n this.updateRange(this.scrollBottom);\n }\n else {\n this.y--;\n }\n};\nTerminal.prototype.reset = function () {\n this.options.rows = this.rows;\n this.options.cols = this.cols;\n var customKeyEventHandler = this.customKeyEventHandler;\n var cursorBlinkInterval = this.cursorBlinkInterval;\n Terminal.call(this, this.options);\n this.customKeyEventHandler = customKeyEventHandler;\n this.cursorBlinkInterval = cursorBlinkInterval;\n this.refresh(0, this.rows - 1);\n this.viewport.syncScrollArea();\n};\nTerminal.prototype.tabSet = function () {\n this.tabs[this.x] = true;\n};\nfunction on(el, type, handler, capture) {\n if (!Array.isArray(el)) {\n el = [el];\n }\n el.forEach(function (element) {\n element.addEventListener(type, handler, capture || false);\n });\n}\nfunction off(el, type, handler, capture) {\n el.removeEventListener(type, handler, capture || false);\n}\nfunction cancel(ev, force) {\n if (!this.cancelEvents && !force) {\n return;\n }\n ev.preventDefault();\n ev.stopPropagation();\n return false;\n}\nfunction inherits(child, parent) {\n function f() {\n this.constructor = child;\n }\n f.prototype = parent.prototype;\n child.prototype = new f;\n}\nfunction indexOf(obj, el) {\n var i = obj.length;\n while (i--) {\n if (obj[i] === el)\n return i;\n }\n return -1;\n}\nfunction isThirdLevelShift(term, ev) {\n var thirdLevelKey = (term.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) ||\n (term.browser.isMSWindows && ev.altKey && ev.ctrlKey && !ev.metaKey);\n if (ev.type == 'keypress') {\n return thirdLevelKey;\n }\n return thirdLevelKey && (!ev.keyCode || ev.keyCode > 47);\n}\nTerminal.prototype.matchColor = matchColor;\nfunction matchColor(r1, g1, b1) {\n var hash = (r1 << 16) | (g1 << 8) | b1;\n if (matchColor._cache[hash] != null) {\n return matchColor._cache[hash];\n }\n var ldiff = Infinity, li = -1, i = 0, c, r2, g2, b2, diff;\n for (; i < Terminal.vcolors.length; i++) {\n c = Terminal.vcolors[i];\n r2 = c[0];\n g2 = c[1];\n b2 = c[2];\n diff = matchColor.distance(r1, g1, b1, r2, g2, b2);\n if (diff === 0) {\n li = i;\n break;\n }\n if (diff < ldiff) {\n ldiff = diff;\n li = i;\n }\n }\n return matchColor._cache[hash] = li;\n}\nmatchColor._cache = {};\nmatchColor.distance = function (r1, g1, b1, r2, g2, b2) {\n return Math.pow(30 * (r1 - r2), 2)\n + Math.pow(59 * (g1 - g2), 2)\n + Math.pow(11 * (b1 - b2), 2);\n};\nfunction each(obj, iter, con) {\n if (obj.forEach)\n return obj.forEach(iter, con);\n for (var i = 0; i < obj.length; i++) {\n iter.call(con, obj[i], i, obj);\n }\n}\nfunction wasMondifierKeyOnlyEvent(ev) {\n return ev.keyCode === 16 ||\n ev.keyCode === 17 ||\n ev.keyCode === 18;\n}\nfunction keys(obj) {\n if (Object.keys)\n return Object.keys(obj);\n var key, keys = [];\n for (key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n keys.push(key);\n }\n }\n return keys;\n}\nTerminal.EventEmitter = EventEmitter_1.EventEmitter;\nTerminal.inherits = inherits;\nTerminal.on = on;\nTerminal.off = off;\nTerminal.cancel = cancel;\nmodule.exports = Terminal;\n\n//# sourceMappingURL=xterm.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/xterm.js\n// module id = 0\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n;\nvar EventEmitter = (function () {\n function EventEmitter() {\n this._events = this._events || {};\n }\n EventEmitter.prototype.on = function (type, listener) {\n this._events[type] = this._events[type] || [];\n this._events[type].push(listener);\n };\n EventEmitter.prototype.off = function (type, listener) {\n if (!this._events[type]) {\n return;\n }\n var obj = this._events[type];\n var i = obj.length;\n while (i--) {\n if (obj[i] === listener || obj[i].listener === listener) {\n obj.splice(i, 1);\n return;\n }\n }\n };\n EventEmitter.prototype.removeAllListeners = function (type) {\n if (this._events[type]) {\n delete this._events[type];\n }\n };\n EventEmitter.prototype.once = function (type, listener) {\n function on() {\n var args = Array.prototype.slice.call(arguments);\n this.off(type, on);\n return listener.apply(this, args);\n }\n on.listener = listener;\n return this.on(type, on);\n };\n EventEmitter.prototype.emit = function (type) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!this._events[type]) {\n return;\n }\n var obj = this._events[type];\n for (var i = 0; i < obj.length; i++) {\n obj[i].apply(this, args);\n }\n };\n EventEmitter.prototype.listeners = function (type) {\n return this._events[type] || [];\n };\n return EventEmitter;\n}());\nexports.EventEmitter = EventEmitter;\n\n//# sourceMappingURL=EventEmitter.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/EventEmitter.js\n// module id = 1\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar C0;\n(function (C0) {\n C0.NUL = '\\x00';\n C0.SOH = '\\x01';\n C0.STX = '\\x02';\n C0.ETX = '\\x03';\n C0.EOT = '\\x04';\n C0.ENQ = '\\x05';\n C0.ACK = '\\x06';\n C0.BEL = '\\x07';\n C0.BS = '\\x08';\n C0.HT = '\\x09';\n C0.LF = '\\x0a';\n C0.VT = '\\x0b';\n C0.FF = '\\x0c';\n C0.CR = '\\x0d';\n C0.SO = '\\x0e';\n C0.SI = '\\x0f';\n C0.DLE = '\\x10';\n C0.DC1 = '\\x11';\n C0.DC2 = '\\x12';\n C0.DC3 = '\\x13';\n C0.DC4 = '\\x14';\n C0.NAK = '\\x15';\n C0.SYN = '\\x16';\n C0.ETB = '\\x17';\n C0.CAN = '\\x18';\n C0.EM = '\\x19';\n C0.SUB = '\\x1a';\n C0.ESC = '\\x1b';\n C0.FS = '\\x1c';\n C0.GS = '\\x1d';\n C0.RS = '\\x1e';\n C0.US = '\\x1f';\n C0.SP = '\\x20';\n C0.DEL = '\\x7f';\n})(C0 = exports.C0 || (exports.C0 = {}));\n;\n\n//# sourceMappingURL=EscapeSequences.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/EscapeSequences.js\n// module id = 2\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CHARSETS = {};\nexports.DEFAULT_CHARSET = exports.CHARSETS['B'];\nexports.CHARSETS['0'] = {\n '`': '\\u25c6',\n 'a': '\\u2592',\n 'b': '\\u0009',\n 'c': '\\u000c',\n 'd': '\\u000d',\n 'e': '\\u000a',\n 'f': '\\u00b0',\n 'g': '\\u00b1',\n 'h': '\\u2424',\n 'i': '\\u000b',\n 'j': '\\u2518',\n 'k': '\\u2510',\n 'l': '\\u250c',\n 'm': '\\u2514',\n 'n': '\\u253c',\n 'o': '\\u23ba',\n 'p': '\\u23bb',\n 'q': '\\u2500',\n 'r': '\\u23bc',\n 's': '\\u23bd',\n 't': '\\u251c',\n 'u': '\\u2524',\n 'v': '\\u2534',\n 'w': '\\u252c',\n 'x': '\\u2502',\n 'y': '\\u2264',\n 'z': '\\u2265',\n '{': '\\u03c0',\n '|': '\\u2260',\n '}': '\\u00a3',\n '~': '\\u00b7'\n};\nexports.CHARSETS['A'] = {\n '#': '£'\n};\nexports.CHARSETS['B'] = null;\nexports.CHARSETS['4'] = {\n '#': '£',\n '@': '¾',\n '[': 'ij',\n '\\\\': '½',\n ']': '|',\n '{': '¨',\n '|': 'f',\n '}': '¼',\n '~': '´'\n};\nexports.CHARSETS['C'] =\n exports.CHARSETS['5'] = {\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Å',\n '^': 'Ü',\n '`': 'é',\n '{': 'ä',\n '|': 'ö',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['R'] = {\n '#': '£',\n '@': 'à',\n '[': '°',\n '\\\\': 'ç',\n ']': '§',\n '{': 'é',\n '|': 'ù',\n '}': 'è',\n '~': '¨'\n};\nexports.CHARSETS['Q'] = {\n '@': 'à',\n '[': 'â',\n '\\\\': 'ç',\n ']': 'ê',\n '^': 'î',\n '`': 'ô',\n '{': 'é',\n '|': 'ù',\n '}': 'è',\n '~': 'û'\n};\nexports.CHARSETS['K'] = {\n '@': '§',\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Ü',\n '{': 'ä',\n '|': 'ö',\n '}': 'ü',\n '~': 'ß'\n};\nexports.CHARSETS['Y'] = {\n '#': '£',\n '@': '§',\n '[': '°',\n '\\\\': 'ç',\n ']': 'é',\n '`': 'ù',\n '{': 'à',\n '|': 'ò',\n '}': 'è',\n '~': 'ì'\n};\nexports.CHARSETS['E'] =\n exports.CHARSETS['6'] = {\n '@': 'Ä',\n '[': 'Æ',\n '\\\\': 'Ø',\n ']': 'Å',\n '^': 'Ü',\n '`': 'ä',\n '{': 'æ',\n '|': 'ø',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['Z'] = {\n '#': '£',\n '@': '§',\n '[': '¡',\n '\\\\': 'Ñ',\n ']': '¿',\n '{': '°',\n '|': 'ñ',\n '}': 'ç'\n};\nexports.CHARSETS['H'] =\n exports.CHARSETS['7'] = {\n '@': 'É',\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Å',\n '^': 'Ü',\n '`': 'é',\n '{': 'ä',\n '|': 'ö',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['='] = {\n '#': 'ù',\n '@': 'à',\n '[': 'é',\n '\\\\': 'ç',\n ']': 'ê',\n '^': 'î',\n '_': 'è',\n '`': 'ô',\n '{': 'ä',\n '|': 'ö',\n '}': 'ü',\n '~': 'û'\n};\n\n//# sourceMappingURL=Charsets.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Charsets.js\n// module id = 3\n// module chunks = 0","/**\n * Implements the attach method, that attaches the terminal to a WebSocket stream.\n * @module xterm/addons/attach/attach\n * @license MIT\n */\n\n(function (attach) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = attach(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], attach);\n } else {\n /*\n * Plain browser environment\n */\n attach(window.Terminal);\n }\n})(function (Xterm) {\n 'use strict';\n\n var exports = {};\n\n /**\n * Attaches the given terminal to the given socket.\n *\n * @param {Xterm} term - The terminal to be attached to the given socket.\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n exports.attach = function (term, socket, bidirectional, buffered) {\n bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;\n term.socket = socket;\n\n term._flushBuffer = function () {\n term.write(term._attachSocketBuffer);\n term._attachSocketBuffer = null;\n clearTimeout(term._attachSocketBufferTimer);\n term._attachSocketBufferTimer = null;\n };\n\n term._pushToBuffer = function (data) {\n if (term._attachSocketBuffer) {\n term._attachSocketBuffer += data;\n } else {\n term._attachSocketBuffer = data;\n setTimeout(term._flushBuffer, 10);\n }\n };\n\n term._getMessage = function (ev) {\n if (buffered) {\n term._pushToBuffer(ev.data);\n } else {\n term.write(ev.data);\n }\n };\n\n term._sendData = function (data) {\n socket.send(data);\n };\n\n socket.addEventListener('message', term._getMessage);\n\n if (bidirectional) {\n term.on('data', term._sendData);\n }\n\n socket.addEventListener('close', term.detach.bind(term, socket));\n socket.addEventListener('error', term.detach.bind(term, socket));\n };\n\n /**\n * Detaches the given terminal from the given socket\n *\n * @param {Xterm} term - The terminal to be detached from the given socket.\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n exports.detach = function (term, socket) {\n term.off('data', term._sendData);\n\n socket = (typeof socket == 'undefined') ? term.socket : socket;\n\n if (socket) {\n socket.removeEventListener('message', term._getMessage);\n }\n\n delete term.socket;\n };\n\n /**\n * Attaches the current terminal to the given socket\n *\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n Xterm.prototype.attach = function (socket, bidirectional, buffered) {\n return exports.attach(this, socket, bidirectional, buffered);\n };\n\n /**\n * Detaches the current terminal from the given socket.\n *\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n Xterm.prototype.detach = function (socket) {\n return exports.detach(this, socket);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/attach/attach.js\n// module id = 4\n// module chunks = 0","/**\n * Fit terminal columns and rows to the dimensions of its DOM element.\n *\n * ## Approach\n * - Rows: Truncate the division of the terminal parent element height by the terminal row height.\n *\n * - Columns: Truncate the division of the terminal parent element width by the terminal character\n * width (apply display: inline at the terminal row and truncate its width with the current\n * number of columns).\n * @module xterm/addons/fit/fit\n * @license MIT\n */\n\n(function (fit) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = fit(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], fit);\n } else {\n /*\n * Plain browser environment\n */\n fit(window.Terminal);\n }\n})(function (Xterm) {\n var exports = {};\n\n exports.proposeGeometry = function (term) {\n if (!term.element.parentElement) {\n return null;\n }\n var parentElementStyle = window.getComputedStyle(term.element.parentElement),\n parentElementHeight = parseInt(parentElementStyle.getPropertyValue('height')),\n parentElementWidth = Math.max(0, parseInt(parentElementStyle.getPropertyValue('width')) - 17),\n elementStyle = window.getComputedStyle(term.element),\n elementPaddingVer = parseInt(elementStyle.getPropertyValue('padding-top')) + parseInt(elementStyle.getPropertyValue('padding-bottom')),\n elementPaddingHor = parseInt(elementStyle.getPropertyValue('padding-right')) + parseInt(elementStyle.getPropertyValue('padding-left')),\n availableHeight = parentElementHeight - elementPaddingVer,\n availableWidth = parentElementWidth - elementPaddingHor,\n container = term.rowContainer,\n subjectRow = term.rowContainer.firstElementChild,\n contentBuffer = subjectRow.innerHTML,\n characterHeight,\n rows,\n characterWidth,\n cols,\n geometry;\n\n subjectRow.style.display = 'inline';\n subjectRow.innerHTML = 'W'; // Common character for measuring width, although on monospace\n characterWidth = subjectRow.getBoundingClientRect().width;\n subjectRow.style.display = ''; // Revert style before calculating height, since they differ.\n characterHeight = subjectRow.getBoundingClientRect().height;\n subjectRow.innerHTML = contentBuffer;\n\n rows = parseInt(availableHeight / characterHeight);\n cols = parseInt(availableWidth / characterWidth);\n\n geometry = {cols: cols, rows: rows};\n return geometry;\n };\n\n exports.fit = function (term) {\n var geometry = exports.proposeGeometry(term);\n\n if (geometry) {\n term.resize(geometry.cols, geometry.rows);\n }\n };\n\n Xterm.prototype.proposeGeometry = function () {\n return exports.proposeGeometry(this);\n };\n\n Xterm.prototype.fit = function () {\n return exports.fit(this);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fit/fit.js\n// module id = 5\n// module chunks = 0","/**\n * Fullscreen addon for xterm.js\n * @module xterm/addons/fullscreen/fullscreen\n * @license MIT\n */\n(function (fullscreen) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = fullscreen(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], fullscreen);\n } else {\n /*\n * Plain browser environment\n */\n fullscreen(window.Terminal);\n }\n})(function (Xterm) {\n var exports = {};\n\n /**\n * Toggle the given terminal's fullscreen mode.\n * @param {Xterm} term - The terminal to toggle full screen mode\n * @param {boolean} fullscreen - Toggle fullscreen on (true) or off (false)\n */\n exports.toggleFullScreen = function (term, fullscreen) {\n var fn;\n\n if (typeof fullscreen == 'undefined') {\n fn = (term.element.classList.contains('fullscreen')) ? 'remove' : 'add';\n } else if (!fullscreen) {\n fn = 'remove';\n } else {\n fn = 'add';\n }\n\n term.element.classList[fn]('fullscreen');\n };\n\n Xterm.prototype.toggleFullscreen = function (fullscreen) {\n exports.toggleFullScreen(this, fullscreen);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fullscreen/fullscreen.js\n// module id = 6\n// module chunks = 0","/**\n * This module provides methods for attaching a terminal to a terminado WebSocket stream.\n *\n * @module xterm/addons/terminado/terminado\n * @license MIT\n */\n\n(function (attach) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = attach(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], attach);\n } else {\n /*\n * Plain browser environment\n */\n attach(window.Terminal);\n }\n})(function (Xterm) {\n 'use strict';\n\n var exports = {};\n\n /**\n * Attaches the given terminal to the given socket.\n *\n * @param {Xterm} term - The terminal to be attached to the given socket.\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n exports.terminadoAttach = function (term, socket, bidirectional, buffered) {\n bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;\n term.socket = socket;\n\n term._flushBuffer = function () {\n term.write(term._attachSocketBuffer);\n term._attachSocketBuffer = null;\n clearTimeout(term._attachSocketBufferTimer);\n term._attachSocketBufferTimer = null;\n };\n\n term._pushToBuffer = function (data) {\n if (term._attachSocketBuffer) {\n term._attachSocketBuffer += data;\n } else {\n term._attachSocketBuffer = data;\n setTimeout(term._flushBuffer, 10);\n }\n };\n\n term._getMessage = function (ev) {\n var data = JSON.parse(ev.data)\n if( data[0] == \"stdout\" ) {\n if (buffered) {\n term._pushToBuffer(data[1]);\n } else {\n term.write(data[1]);\n }\n }\n };\n\n term._sendData = function (data) {\n socket.send(JSON.stringify(['stdin', data]));\n };\n\n term._setSize = function (size) {\n socket.send(JSON.stringify(['set_size', size.rows, size.cols]));\n };\n\n socket.addEventListener('message', term._getMessage);\n\n if (bidirectional) {\n term.on('data', term._sendData);\n }\n term.on('resize', term._setSize);\n\n socket.addEventListener('close', term.terminadoDetach.bind(term, socket));\n socket.addEventListener('error', term.terminadoDetach.bind(term, socket));\n };\n\n /**\n * Detaches the given terminal from the given socket\n *\n * @param {Xterm} term - The terminal to be detached from the given socket.\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n exports.terminadoDetach = function (term, socket) {\n term.off('data', term._sendData);\n\n socket = (typeof socket == 'undefined') ? term.socket : socket;\n\n if (socket) {\n socket.removeEventListener('message', term._getMessage);\n }\n\n delete term.socket;\n };\n\n /**\n * Attaches the current terminal to the given socket\n *\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n Xterm.prototype.terminadoAttach = function (socket, bidirectional, buffered) {\n return exports.terminadoAttach(this, socket, bidirectional, buffered);\n };\n\n /**\n * Detaches the current terminal from the given socket.\n *\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n Xterm.prototype.terminadoDetach = function (socket) {\n return exports.terminadoDetach(this, socket);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/terminado/terminado.js\n// module id = 7\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Generic_1 = require(\"./Generic\");\nvar isNode = (typeof navigator === 'undefined') ? true : false;\nvar userAgent = (isNode) ? 'node' : navigator.userAgent;\nvar platform = (isNode) ? 'node' : navigator.platform;\nexports.isFirefox = !!~userAgent.indexOf('Firefox');\nexports.isMSIE = !!~userAgent.indexOf('MSIE') || !!~userAgent.indexOf('Trident');\nexports.isMac = Generic_1.contains(['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'], platform);\nexports.isIpad = platform === 'iPad';\nexports.isIphone = platform === 'iPhone';\nexports.isMSWindows = Generic_1.contains(['Windows', 'Win16', 'Win32', 'WinCE'], platform);\nexports.isLinux = platform.indexOf('Linux') >= 0;\n\n//# sourceMappingURL=Browser.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Browser.js\n// module id = 8\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction getCoordsRelativeToElement(event, element) {\n if (event.pageX == null) {\n return null;\n }\n var x = event.pageX;\n var y = event.pageY;\n while (element && element !== self.document.documentElement) {\n x -= element.offsetLeft;\n y -= element.offsetTop;\n element = 'offsetParent' in element ? element.offsetParent : element.parentElement;\n }\n return [x, y];\n}\nexports.getCoordsRelativeToElement = getCoordsRelativeToElement;\nfunction getCoords(event, rowContainer, charMeasure, colCount, rowCount, isSelection) {\n var coords = getCoordsRelativeToElement(event, rowContainer);\n coords[0] = Math.ceil((coords[0] + (isSelection ? charMeasure.width / 2 : 0)) / charMeasure.width);\n coords[1] = Math.ceil(coords[1] / charMeasure.height);\n coords[0] = Math.min(Math.max(coords[0], 1), colCount + 1);\n coords[1] = Math.min(Math.max(coords[1], 1), rowCount + 1);\n return coords;\n}\nexports.getCoords = getCoords;\nfunction getRawByteCoords(event, rowContainer, charMeasure, colCount, rowCount) {\n var coords = getCoords(event, rowContainer, charMeasure, colCount, rowCount);\n var x = coords[0];\n var y = coords[1];\n x += 32;\n y += 32;\n return { x: x, y: y };\n}\nexports.getRawByteCoords = getRawByteCoords;\n\n//# sourceMappingURL=Mouse.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Mouse.js\n// module id = 9\n// module chunks = 0","import * as bare from \"libapps\";\n\nexport class Hterm {\n elem: HTMLElement;\n\n term: bare.Terminal;\n io: bare.IO;\n\n columns: number;\n rows: number;\n\n // to \"show\" the current message when removeMessage() is called\n message: string;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n bare.hterm.defaultStorage = new bare.lib.Storage.Memory();\n this.term = new bare.hterm.Terminal();\n this.term.getPrefs().set(\"send-encoding\", \"raw\");\n this.term.decorate(this.elem);\n\n this.io = this.term.io.push();\n this.term.installKeyboard();\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.columns, rows: this.rows };\n };\n\n output(data: string) {\n if (this.term.io != null) {\n this.term.io.writeUTF16(data);\n }\n };\n\n showMessage(message: string, timeout: number) {\n this.message = message;\n if (timeout > 0) {\n this.term.io.showOverlay(message, timeout);\n } else {\n this.term.io.showOverlay(message, null);\n }\n };\n\n removeMessage(): void {\n // there is no hideOverlay(), so show the same message with 0 sec\n this.term.io.showOverlay(this.message, 0);\n }\n\n setWindowTitle(title: string) {\n this.term.setWindowTitle(title);\n };\n\n setPreferences(value: object) {\n Object.keys(value).forEach((key) => {\n this.term.getPrefs().set(key, value[key]);\n });\n };\n\n onInput(callback: (input: string) => void) {\n this.io.onVTKeystroke = (data) => {\n callback(data);\n };\n this.io.sendString = (data) => {\n callback(data);\n };\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.io.onTerminalResize = (columns: number, rows: number) => {\n this.columns = columns;\n this.rows = rows;\n callback(columns, rows);\n };\n };\n\n deactivate(): void {\n this.io.onVTKeystroke = null;\n this.io.sendString = null\n this.io.onTerminalResize = null;\n this.term.uninstallKeyboard();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.installKeyboard();\n }\n\n close(): void {\n this.term.uninstallKeyboard();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/hterm.ts","export class ConnectionFactory {\n url: string;\n protocols: string[];\n\n constructor(url: string, protocols: string[]) {\n this.url = url;\n this.protocols = protocols;\n };\n\n create(): Connection {\n return new Connection(this.url, this.protocols);\n };\n}\n\nexport class Connection {\n bare: WebSocket;\n\n\n constructor(url: string, protocols: string[]) {\n this.bare = new WebSocket(url, protocols);\n }\n\n open() {\n // nothing todo for websocket\n };\n\n close() {\n this.bare.close();\n };\n\n send(data: string) {\n this.bare.send(data);\n };\n\n isOpen(): boolean {\n if (this.bare.readyState == WebSocket.CONNECTING ||\n this.bare.readyState == WebSocket.OPEN) {\n return true\n }\n return false\n }\n\n onOpen(callback: () => void) {\n this.bare.onopen = (event) => {\n callback();\n }\n };\n\n onReceive(callback: (data: string) => void) {\n this.bare.onmessage = (event) => {\n callback(event.data);\n }\n };\n\n onClose(callback: () => void) {\n this.bare.onclose = (event) => {\n callback();\n };\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/websocket.ts","export const protocols = [\"webtty\"];\n\nexport const msgInputUnknown = '0';\nexport const msgInput = '1';\nexport const msgPing = '2';\nexport const msgResizeTerminal = '3';\n\nexport const msgUnknownOutput = '0';\nexport const msgOutput = '1';\nexport const msgPong = '2';\nexport const msgSetWindowTitle = '3';\nexport const msgSetPreferences = '4';\nexport const msgSetReconnect = '5';\n\n\nexport interface Terminal {\n info(): { columns: number, rows: number };\n output(data: string): void;\n showMessage(message: string, timeout: number): void;\n removeMessage(): void;\n setWindowTitle(title: string): void;\n setPreferences(value: object): void;\n onInput(callback: (input: string) => void): void;\n onResize(callback: (colmuns: number, rows: number) => void): void;\n reset(): void;\n deactivate(): void;\n close(): void;\n}\n\nexport interface Connection {\n open(): void;\n close(): void;\n send(data: string): void;\n isOpen(): boolean;\n onOpen(callback: () => void): void;\n onReceive(callback: (data: string) => void): void;\n onClose(callback: () => void): void;\n}\n\nexport interface ConnectionFactory {\n create(): Connection;\n}\n\n\nexport class WebTTY {\n term: Terminal;\n connectionFactory: ConnectionFactory;\n args: string;\n authToken: string;\n reconnect: number;\n\n constructor(term: Terminal, connectionFactory: ConnectionFactory, args: string, authToken: string) {\n this.term = term;\n this.connectionFactory = connectionFactory;\n this.args = args;\n this.authToken = authToken;\n this.reconnect = -1;\n };\n\n open() {\n let connection = this.connectionFactory.create();\n let pingTimer: number;\n let reconnectTimeout: number;\n\n const setup = () => {\n connection.onOpen(() => {\n const termInfo = this.term.info();\n\n connection.send(JSON.stringify(\n {\n Arguments: this.args,\n AuthToken: this.authToken,\n }\n ));\n\n\n const resizeHandler = (colmuns: number, rows: number) => {\n connection.send(\n msgResizeTerminal + JSON.stringify(\n {\n columns: colmuns,\n rows: rows\n }\n )\n );\n };\n\n this.term.onResize(resizeHandler);\n resizeHandler(termInfo.columns, termInfo.rows);\n\n this.term.onInput(\n (input: string) => {\n connection.send(msgInput + input);\n }\n );\n\n pingTimer = setInterval(() => {\n connection.send(msgPing)\n }, 30 * 1000);\n\n });\n\n connection.onReceive((data) => {\n const payload = data.slice(1);\n switch (data[0]) {\n case msgOutput:\n this.term.output(\n decodeURIComponent(Array.prototype.map.call(atob(payload), function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''))\n );\n break;\n case msgPong:\n break;\n case msgSetWindowTitle:\n this.term.setWindowTitle(payload);\n break;\n case msgSetPreferences:\n const preferences = JSON.parse(payload);\n this.term.setPreferences(preferences);\n break;\n case msgSetReconnect:\n const autoReconnect = JSON.parse(payload);\n console.log(\"Enabling reconnect: \" + autoReconnect + \" seconds\")\n this.reconnect = autoReconnect;\n break;\n }\n });\n\n connection.onClose(() => {\n clearInterval(pingTimer);\n this.term.deactivate();\n this.term.showMessage(\"Connection Closed\", 0);\n if (this.reconnect > 0) {\n reconnectTimeout = setTimeout(() => {\n connection = this.connectionFactory.create();\n this.term.reset();\n setup();\n }, this.reconnect * 1000);\n }\n });\n\n connection.open();\n }\n\n setup();\n return () => {\n clearTimeout(reconnectTimeout);\n connection.close();\n }\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/webtty.ts","import * as bare from \"xterm\";\n\nbare.loadAddon(\"fit\");\n\nexport class Xterm {\n elem: HTMLElement;\n\n message: HTMLElement;\n messageTimeout: number;\n messageTimer: number;\n\n term: bare;\n resizeListener: () => void;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n this.term = new bare();\n\n this.message = elem.ownerDocument.createElement(\"div\");\n this.message.className = \"xterm-overlay\";\n this.messageTimeout = 2000;\n\n\n this.resizeListener = () => {\n this.term.fit();\n this.term.scrollToBottom();\n this.showMessage(String(this.term.cols) + \"x\" + String(this.term.rows), this.messageTimeout);\n };\n\n this.term.on(\"open\", () => {\n this.resizeListener();\n window.addEventListener(\"resize\", () => { this.resizeListener(); });\n });\n\n this.term.open(elem, true);\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.term.cols, rows: this.term.rows };\n };\n\n output(data: string) {\n this.term.write(data);\n };\n\n showMessage(message: string, timeout: number) {\n this.message.textContent = message;\n this.elem.appendChild(this.message);\n\n if (this.messageTimer) {\n clearTimeout(this.messageTimer);\n }\n if (timeout > 0) {\n this.messageTimer = setTimeout(() => {\n this.elem.removeChild(this.message);\n }, timeout);\n }\n };\n\n removeMessage(): void {\n if (this.message.parentNode == this.elem) {\n this.elem.removeChild(this.message);\n }\n }\n\n setWindowTitle(title: string) {\n document.title = title;\n };\n\n setPreferences(value: object) {\n };\n\n onInput(callback: (input: string) => void) {\n this.term.on(\"data\", (data) => {\n callback(data);\n });\n\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.term.on(\"resize\", (data) => {\n callback(data.cols, data.rows);\n });\n };\n\n deactivate(): void {\n this.term.off(\"data\");\n this.term.off(\"resize\");\n this.term.blur();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.clear();\n }\n\n close(): void {\n window.removeEventListener(\"resize\", this.resizeListener);\n this.term.destroy();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/xterm.ts","// This file was generated by libdot/bin/concat.sh.\n// It has been marked read-only for your safety. Rather\n// than edit it directly, please modify one of these source\n// files...\n//\n// libdot/js/lib.js\n// libdot/js/lib_polyfill.js\n// libdot/js/lib_colors.js\n// libdot/js/lib_f.js\n// libdot/js/lib_message_manager.js\n// libdot/js/lib_preference_manager.js\n// libdot/js/lib_resource.js\n// libdot/js/lib_storage.js\n// libdot/js/lib_storage_chrome.js\n// libdot/js/lib_storage_local.js\n// libdot/js/lib_storage_memory.js\n// libdot/js/lib_test_manager.js\n// libdot/js/lib_utf8.js\n// libdot/third_party/wcwidth/lib_wc.js\n// hterm/js/hterm.js\n// hterm/js/hterm_frame.js\n// hterm/js/hterm_keyboard.js\n// hterm/js/hterm_keyboard_bindings.js\n// hterm/js/hterm_keyboard_keymap.js\n// hterm/js/hterm_keyboard_keypattern.js\n// hterm/js/hterm_options.js\n// hterm/js/hterm_parser.js\n// hterm/js/hterm_parser_identifiers.js\n// hterm/js/hterm_preference_manager.js\n// hterm/js/hterm_pubsub.js\n// hterm/js/hterm_screen.js\n// hterm/js/hterm_scrollport.js\n// hterm/js/hterm_terminal.js\n// hterm/js/hterm_terminal_io.js\n// hterm/js/hterm_text_attributes.js\n// hterm/js/hterm_vt.js\n// hterm/js/hterm_vt_character_map.js\n// hterm/js/hterm_export.js\n//\n\n// SOURCE FILE: libdot/js/lib.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nif (typeof lib != 'undefined')\n throw new Error('Global \"lib\" object already exists.');\n\nvar lib = {};\n\n/**\n * Map of \"dependency\" to [\"source\", ...].\n *\n * Each dependency is a object name, like \"lib.fs\", \"source\" is the url that\n * depends on the object.\n */\nlib.runtimeDependencies_ = {};\n\n/**\n * List of functions that need to be invoked during library initialization.\n *\n * Each element in the initCallbacks_ array is itself a two-element array.\n * Element 0 is a short string describing the owner of the init routine, useful\n * for debugging. Element 1 is the callback function.\n */\nlib.initCallbacks_ = [];\n\n/**\n * Records a runtime dependency.\n *\n * This can be useful when you want to express a run-time dependency at\n * compile time. It is not intended to be a full-fledged library system or\n * dependency tracker. It's just there to make it possible to debug the\n * deps without running all the code.\n *\n * Object names are specified as strings. For example...\n *\n * lib.rtdep('lib.colors', 'lib.PreferenceManager');\n *\n * Object names need not be rooted by 'lib'. You may use this to declare a\n * dependency on any object.\n *\n * The client program may call lib.ensureRuntimeDependencies() at startup in\n * order to ensure that all runtime dependencies have been met.\n *\n * @param {string} var_args One or more objects specified as strings.\n */\nlib.rtdep = function(var_args) {\n var source;\n\n try {\n throw new Error();\n } catch (ex) {\n var stackArray = ex.stack.split('\\n');\n // In Safari, the resulting stackArray will only have 2 elements and the\n // individual strings are formatted differently.\n if (stackArray.length >= 3) {\n source = stackArray[2].replace(/^\\s*at\\s+/, '');\n } else {\n source = stackArray[1].replace(/^\\s*global code@/, '');\n }\n }\n\n for (var i = 0; i < arguments.length; i++) {\n var path = arguments[i];\n if (path instanceof Array) {\n lib.rtdep.apply(lib, path);\n } else {\n var ary = this.runtimeDependencies_[path];\n if (!ary)\n ary = this.runtimeDependencies_[path] = [];\n ary.push(source);\n }\n }\n};\n\n/**\n * Ensures that all runtime dependencies are met, or an exception is thrown.\n *\n * Every unmet runtime dependency will be logged to the JS console. If at\n * least one dependency is unmet this will raise an exception.\n */\nlib.ensureRuntimeDependencies_ = function() {\n var passed = true;\n\n for (var path in lib.runtimeDependencies_) {\n var sourceList = lib.runtimeDependencies_[path];\n var names = path.split('.');\n\n // In a document context 'window' is the global object. In a worker it's\n // called 'self'.\n var obj = (window || self);\n for (var i = 0; i < names.length; i++) {\n if (!(names[i] in obj)) {\n console.warn('Missing \"' + path + '\" is needed by', sourceList);\n passed = false;\n break;\n }\n\n obj = obj[names[i]];\n }\n }\n\n if (!passed)\n throw new Error('Failed runtime dependency check');\n};\n\n/**\n * Register an initialization function.\n *\n * The initialization functions are invoked in registration order when\n * lib.init() is invoked. Each function will receive a single parameter, which\n * is a function to be invoked when it completes its part of the initialization.\n *\n * @param {string} name A short descriptive name of the init routine useful for\n * debugging.\n * @param {function(function)} callback The initialization function to register.\n * @return {function} The callback parameter.\n */\nlib.registerInit = function(name, callback) {\n lib.initCallbacks_.push([name, callback]);\n return callback;\n};\n\n/**\n * Initialize the library.\n *\n * This will ensure that all registered runtime dependencies are met, and\n * invoke any registered initialization functions.\n *\n * Initialization is asynchronous. The library is not ready for use until\n * the onInit function is invoked.\n *\n * @param {function()} onInit The function to invoke when initialization is\n * complete.\n * @param {function(*)} opt_logFunction An optional function to send\n * initialization related log messages to.\n */\nlib.init = function(onInit, opt_logFunction) {\n var ary = lib.initCallbacks_;\n\n var initNext = function() {\n if (ary.length) {\n var rec = ary.shift();\n if (opt_logFunction)\n opt_logFunction('init: ' + rec[0]);\n rec[1](lib.f.alarm(initNext));\n } else {\n onInit();\n }\n };\n\n if (typeof onInit != 'function')\n throw new Error('Missing or invalid argument: onInit');\n\n lib.ensureRuntimeDependencies_();\n\n setTimeout(initNext, 0);\n};\n// SOURCE FILE: libdot/js/lib_polyfill.js\n// Copyright 2017 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview Polyfills for ES2016+ features we want to use.\n */\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart\nif (!String.prototype.padStart) {\n String.prototype.padStart = function(targetLength, padString) {\n // If the string is already long enough, nothing to do!\n targetLength -= this.length;\n if (targetLength <= 0)\n return String(this);\n\n if (padString === undefined)\n padString = ' ';\n\n // In case the pad is multiple chars long.\n if (targetLength > padString.length)\n padString = padString.repeat((targetLength / padString.length) + 1);\n\n return padString.slice(0, targetLength) + String(this);\n };\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd\nif (!String.prototype.padEnd) {\n String.prototype.padEnd = function(targetLength, padString) {\n // If the string is already long enough, nothing to do!\n targetLength -= this.length;\n if (targetLength <= 0)\n return String(this);\n\n if (padString === undefined)\n padString = ' ';\n\n // In case the pad is multiple chars long.\n if (targetLength > padString.length)\n padString = padString.repeat((targetLength / padString.length) + 1);\n\n return String(this) + padString.slice(0, targetLength);\n };\n}\n// SOURCE FILE: libdot/js/lib_colors.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Namespace for color utilities.\n */\nlib.colors = {};\n\n/**\n * First, some canned regular expressions we're going to use in this file.\n *\n *\n * BRACE YOURSELF\n *\n * ,~~~~.\n * |>_< ~~\n * 3`---'-/.\n * 3:::::\\v\\\n * =o=:::::\\,\\\n * | :::::\\,,\\\n *\n * THE REGULAR EXPRESSIONS\n * ARE COMING.\n *\n * There's no way to break long RE literals in JavaScript. Fix that why don't\n * you? Oh, and also there's no way to write a string that doesn't interpret\n * escapes.\n *\n * Instead, we stoop to this .replace() trick.\n */\nlib.colors.re_ = {\n // CSS hex color, #RGB.\n hex16: /#([a-f0-9])([a-f0-9])([a-f0-9])/i,\n\n // CSS hex color, #RRGGBB.\n hex24: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/i,\n\n // CSS rgb color, rgb(rrr,ggg,bbb).\n rgb: new RegExp(\n ('^/s*rgb/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,' +\n '/s*(/d{1,3})/s*/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // CSS rgb color, rgb(rrr,ggg,bbb,aaa).\n rgba: new RegExp(\n ('^/s*rgba/s*' +\n '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' +\n '(?:,/s*(/d+(?:/./d+)?)/s*)/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // Either RGB or RGBA.\n rgbx: new RegExp(\n ('^/s*rgba?/s*' +\n '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' +\n '(?:,/s*(/d+(?:/./d+)?)/s*)?/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // An X11 \"rgb:dddd/dddd/dddd\" value.\n x11rgb: /^\\s*rgb:([a-f0-9]{1,4})\\/([a-f0-9]{1,4})\\/([a-f0-9]{1,4})\\s*$/i,\n\n // English color name.\n name: /[a-z][a-z0-9\\s]+/,\n};\n\n/**\n * Convert a CSS rgb(ddd,ddd,ddd) color value into an X11 color value.\n *\n * Other CSS color values are ignored to ensure sanitary data handling.\n *\n * Each 'ddd' component is a one byte value specified in decimal.\n *\n * @param {string} value The CSS color value to convert.\n * @return {string} The X11 color value or null if the value could not be\n * converted.\n */\nlib.colors.rgbToX11 = function(value) {\n function scale(v) {\n v = (Math.min(v, 255) * 257).toString(16);\n return lib.f.zpad(v, 4);\n }\n\n var ary = value.match(lib.colors.re_.rgbx);\n if (!ary)\n return null;\n\n return 'rgb:' + scale(ary[1]) + '/' + scale(ary[2]) + '/' + scale(ary[3]);\n};\n\n/**\n * Convert a legacy X11 colover value into an CSS rgb(...) color value.\n *\n * They take the form:\n * 12 bit: #RGB -> #R000G000B000\n * 24 bit: #RRGGBB -> #RR00GG00BB00\n * 36 bit: #RRRGGGBBB -> #RRR0GGG0BBB0\n * 48 bit: #RRRRGGGGBBBB\n * These are the most significant bits.\n *\n * Truncate values back down to 24 bit since that's all CSS supports.\n */\nlib.colors.x11HexToCSS = function(v) {\n if (!v.startsWith('#'))\n return null;\n // Strip the leading # off.\n v = v.substr(1);\n\n // Reject unknown sizes.\n if ([3, 6, 9, 12].indexOf(v.length) == -1)\n return null;\n\n // Reject non-hex values.\n if (v.match(/[^a-f0-9]/i))\n return null;\n\n // Split the colors out.\n var size = v.length / 3;\n var r = v.substr(0, size);\n var g = v.substr(size, size);\n var b = v.substr(size + size, size);\n\n // Normalize to 16 bits.\n function norm16(v) {\n v = parseInt(v, 16);\n return size == 2 ? v : // 16 bit\n size == 1 ? v << 4 : // 8 bit\n v >> (4 * (size - 2)); // 24 or 32 bit\n }\n return lib.colors.arrayToRGBA([r, g, b].map(norm16));\n};\n\n/**\n * Convert an X11 color value into an CSS rgb(...) color value.\n *\n * The X11 value may be an X11 color name, or an RGB value of the form\n * rgb:hhhh/hhhh/hhhh. If a component value is less than 4 digits it is\n * padded out to 4, then scaled down to fit in a single byte.\n *\n * @param {string} value The X11 color value to convert.\n * @return {string} The CSS color value or null if the value could not be\n * converted.\n */\nlib.colors.x11ToCSS = function(v) {\n function scale(v) {\n // Pad out values with less than four digits. This padding (probably)\n // matches xterm. It's difficult to say for sure since xterm seems to\n // arrive at a padded value and then perform some combination of\n // gamma correction, color space transformation, and quantization.\n\n if (v.length == 1) {\n // Single digits pad out to four by repeating the character. \"f\" becomes\n // \"ffff\". Scaling down a hex value of this pattern by 257 is the same\n // as cutting off one byte. We skip the middle step and just double\n // the character.\n return parseInt(v + v, 16);\n }\n\n if (v.length == 2) {\n // Similar deal here. X11 pads two digit values by repeating the\n // byte (or scale up by 257). Since we're going to scale it back\n // down anyway, we can just return the original value.\n return parseInt(v, 16);\n }\n\n if (v.length == 3) {\n // Three digit values seem to be padded by repeating the final digit.\n // e.g. 10f becomes 10ff.\n v = v + v.substr(2);\n }\n\n // Scale down the 2 byte value.\n return Math.round(parseInt(v, 16) / 257);\n }\n\n var ary = v.match(lib.colors.re_.x11rgb);\n if (!ary) {\n // Handle the legacy format.\n if (v.startsWith('#'))\n return lib.colors.x11HexToCSS(v);\n else\n return lib.colors.nameToRGB(v);\n }\n\n ary.splice(0, 1);\n return lib.colors.arrayToRGBA(ary.map(scale));\n};\n\n/**\n * Converts one or more CSS '#RRGGBB' color values into their rgb(...)\n * form.\n *\n * Arrays are converted in place. If a value cannot be converted, it is\n * replaced with null.\n *\n * @param {string|Array.} A single RGB value or array of RGB values to\n * convert.\n * @return {string|Array.} The converted value or values.\n */\nlib.colors.hexToRGB = function(arg) {\n var hex16 = lib.colors.re_.hex16;\n var hex24 = lib.colors.re_.hex24;\n\n function convert(hex) {\n if (hex.length == 4) {\n hex = hex.replace(hex16, function(h, r, g, b) {\n return \"#\" + r + r + g + g + b + b;\n });\n }\n var ary = hex.match(hex24);\n if (!ary)\n return null;\n\n return 'rgb(' + parseInt(ary[1], 16) + ', ' +\n parseInt(ary[2], 16) + ', ' +\n parseInt(ary[3], 16) + ')';\n }\n\n if (arg instanceof Array) {\n for (var i = 0; i < arg.length; i++) {\n arg[i] = convert(arg[i]);\n }\n } else {\n arg = convert(arg);\n }\n\n return arg;\n};\n\n/**\n * Converts one or more CSS rgb(...) forms into their '#RRGGBB' color values.\n *\n * If given an rgba(...) form, the alpha field is thrown away.\n *\n * Arrays are converted in place. If a value cannot be converted, it is\n * replaced with null.\n *\n * @param {string|Array.} A single rgb(...) value or array of rgb(...)\n * values to convert.\n * @return {string|Array.} The converted value or values.\n */\nlib.colors.rgbToHex = function(arg) {\n function convert(rgb) {\n var ary = lib.colors.crackRGB(rgb);\n if (!ary)\n return null;\n return '#' + lib.f.zpad(((parseInt(ary[0]) << 16) |\n (parseInt(ary[1]) << 8) |\n (parseInt(ary[2]) << 0)).toString(16), 6);\n }\n\n if (arg instanceof Array) {\n for (var i = 0; i < arg.length; i++) {\n arg[i] = convert(arg[i]);\n }\n } else {\n arg = convert(arg);\n }\n\n return arg;\n};\n\n/**\n * Take any valid css color definition and turn it into an rgb or rgba value.\n *\n * Returns null if the value could not be normalized.\n */\nlib.colors.normalizeCSS = function(def) {\n if (def.startsWith('#'))\n return lib.colors.hexToRGB(def);\n\n if (lib.colors.re_.rgbx.test(def))\n return def;\n\n return lib.colors.nameToRGB(def);\n};\n\n/**\n * Convert a 3 or 4 element array into an rgba(...) string.\n */\nlib.colors.arrayToRGBA = function(ary) {\n var alpha = (ary.length > 3) ? ary[3] : 1;\n return 'rgba(' + ary[0] + ', ' + ary[1] + ', ' + ary[2] + ', ' + alpha + ')';\n};\n\n/**\n * Overwrite the alpha channel of an rgb/rgba color.\n */\nlib.colors.setAlpha = function(rgb, alpha) {\n var ary = lib.colors.crackRGB(rgb);\n ary[3] = alpha;\n return lib.colors.arrayToRGBA(ary);\n};\n\n/**\n * Mix a percentage of a tint color into a base color.\n */\nlib.colors.mix = function(base, tint, percent) {\n var ary1 = lib.colors.crackRGB(base);\n var ary2 = lib.colors.crackRGB(tint);\n\n for (var i = 0; i < 4; ++i) {\n var diff = ary2[i] - ary1[i];\n ary1[i] = Math.round(parseInt(ary1[i]) + diff * percent);\n }\n\n return lib.colors.arrayToRGBA(ary1);\n};\n\n/**\n * Split an rgb/rgba color into an array of its components.\n *\n * On success, a 4 element array will be returned. For rgb values, the alpha\n * will be set to 1.\n */\nlib.colors.crackRGB = function(color) {\n if (color.startsWith('rgba')) {\n var ary = color.match(lib.colors.re_.rgba);\n if (ary) {\n ary.shift();\n return ary;\n }\n } else {\n var ary = color.match(lib.colors.re_.rgb);\n if (ary) {\n ary.shift();\n ary.push(1);\n return ary;\n }\n }\n\n console.error('Couldn\\'t crack: ' + color);\n return null;\n};\n\n/**\n * Convert an X11 color name into a CSS rgb(...) value.\n *\n * Names are stripped of spaces and converted to lowercase. If the name is\n * unknown, null is returned.\n *\n * This list of color name to RGB mapping is derived from the stock X11\n * rgb.txt file.\n *\n * @param {string} name The color name to convert.\n * @return {string} The corresponding CSS rgb(...) value.\n */\nlib.colors.nameToRGB = function(name) {\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n name = name.toLowerCase();\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n name = name.replace(/\\s+/g, '');\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n return null;\n};\n\n/**\n * The stock color palette.\n */\nlib.colors.stockColorPalette = lib.colors.hexToRGB\n ([// The \"ANSI 16\"...\n '#000000', '#CC0000', '#4E9A06', '#C4A000',\n '#3465A4', '#75507B', '#06989A', '#D3D7CF',\n '#555753', '#EF2929', '#00BA13', '#FCE94F',\n '#729FCF', '#F200CB', '#00B5BD', '#EEEEEC',\n\n // The 6x6 color cubes...\n '#000000', '#00005F', '#000087', '#0000AF', '#0000D7', '#0000FF',\n '#005F00', '#005F5F', '#005F87', '#005FAF', '#005FD7', '#005FFF',\n '#008700', '#00875F', '#008787', '#0087AF', '#0087D7', '#0087FF',\n '#00AF00', '#00AF5F', '#00AF87', '#00AFAF', '#00AFD7', '#00AFFF',\n '#00D700', '#00D75F', '#00D787', '#00D7AF', '#00D7D7', '#00D7FF',\n '#00FF00', '#00FF5F', '#00FF87', '#00FFAF', '#00FFD7', '#00FFFF',\n\n '#5F0000', '#5F005F', '#5F0087', '#5F00AF', '#5F00D7', '#5F00FF',\n '#5F5F00', '#5F5F5F', '#5F5F87', '#5F5FAF', '#5F5FD7', '#5F5FFF',\n '#5F8700', '#5F875F', '#5F8787', '#5F87AF', '#5F87D7', '#5F87FF',\n '#5FAF00', '#5FAF5F', '#5FAF87', '#5FAFAF', '#5FAFD7', '#5FAFFF',\n '#5FD700', '#5FD75F', '#5FD787', '#5FD7AF', '#5FD7D7', '#5FD7FF',\n '#5FFF00', '#5FFF5F', '#5FFF87', '#5FFFAF', '#5FFFD7', '#5FFFFF',\n\n '#870000', '#87005F', '#870087', '#8700AF', '#8700D7', '#8700FF',\n '#875F00', '#875F5F', '#875F87', '#875FAF', '#875FD7', '#875FFF',\n '#878700', '#87875F', '#878787', '#8787AF', '#8787D7', '#8787FF',\n '#87AF00', '#87AF5F', '#87AF87', '#87AFAF', '#87AFD7', '#87AFFF',\n '#87D700', '#87D75F', '#87D787', '#87D7AF', '#87D7D7', '#87D7FF',\n '#87FF00', '#87FF5F', '#87FF87', '#87FFAF', '#87FFD7', '#87FFFF',\n\n '#AF0000', '#AF005F', '#AF0087', '#AF00AF', '#AF00D7', '#AF00FF',\n '#AF5F00', '#AF5F5F', '#AF5F87', '#AF5FAF', '#AF5FD7', '#AF5FFF',\n '#AF8700', '#AF875F', '#AF8787', '#AF87AF', '#AF87D7', '#AF87FF',\n '#AFAF00', '#AFAF5F', '#AFAF87', '#AFAFAF', '#AFAFD7', '#AFAFFF',\n '#AFD700', '#AFD75F', '#AFD787', '#AFD7AF', '#AFD7D7', '#AFD7FF',\n '#AFFF00', '#AFFF5F', '#AFFF87', '#AFFFAF', '#AFFFD7', '#AFFFFF',\n\n '#D70000', '#D7005F', '#D70087', '#D700AF', '#D700D7', '#D700FF',\n '#D75F00', '#D75F5F', '#D75F87', '#D75FAF', '#D75FD7', '#D75FFF',\n '#D78700', '#D7875F', '#D78787', '#D787AF', '#D787D7', '#D787FF',\n '#D7AF00', '#D7AF5F', '#D7AF87', '#D7AFAF', '#D7AFD7', '#D7AFFF',\n '#D7D700', '#D7D75F', '#D7D787', '#D7D7AF', '#D7D7D7', '#D7D7FF',\n '#D7FF00', '#D7FF5F', '#D7FF87', '#D7FFAF', '#D7FFD7', '#D7FFFF',\n\n '#FF0000', '#FF005F', '#FF0087', '#FF00AF', '#FF00D7', '#FF00FF',\n '#FF5F00', '#FF5F5F', '#FF5F87', '#FF5FAF', '#FF5FD7', '#FF5FFF',\n '#FF8700', '#FF875F', '#FF8787', '#FF87AF', '#FF87D7', '#FF87FF',\n '#FFAF00', '#FFAF5F', '#FFAF87', '#FFAFAF', '#FFAFD7', '#FFAFFF',\n '#FFD700', '#FFD75F', '#FFD787', '#FFD7AF', '#FFD7D7', '#FFD7FF',\n '#FFFF00', '#FFFF5F', '#FFFF87', '#FFFFAF', '#FFFFD7', '#FFFFFF',\n\n // The greyscale ramp...\n '#080808', '#121212', '#1C1C1C', '#262626', '#303030', '#3A3A3A',\n '#444444', '#4E4E4E', '#585858', '#626262', '#6C6C6C', '#767676',\n '#808080', '#8A8A8A', '#949494', '#9E9E9E', '#A8A8A8', '#B2B2B2',\n '#BCBCBC', '#C6C6C6', '#D0D0D0', '#DADADA', '#E4E4E4', '#EEEEEE'\n ]);\n\n/**\n * The current color palette, possibly with user changes.\n */\nlib.colors.colorPalette = lib.colors.stockColorPalette;\n\n/**\n * Named colors according to the stock X11 rgb.txt file.\n */\nlib.colors.colorNames = {\n \"aliceblue\": \"rgb(240, 248, 255)\",\n \"antiquewhite\": \"rgb(250, 235, 215)\",\n \"antiquewhite1\": \"rgb(255, 239, 219)\",\n \"antiquewhite2\": \"rgb(238, 223, 204)\",\n \"antiquewhite3\": \"rgb(205, 192, 176)\",\n \"antiquewhite4\": \"rgb(139, 131, 120)\",\n \"aquamarine\": \"rgb(127, 255, 212)\",\n \"aquamarine1\": \"rgb(127, 255, 212)\",\n \"aquamarine2\": \"rgb(118, 238, 198)\",\n \"aquamarine3\": \"rgb(102, 205, 170)\",\n \"aquamarine4\": \"rgb(69, 139, 116)\",\n \"azure\": \"rgb(240, 255, 255)\",\n \"azure1\": \"rgb(240, 255, 255)\",\n \"azure2\": \"rgb(224, 238, 238)\",\n \"azure3\": \"rgb(193, 205, 205)\",\n \"azure4\": \"rgb(131, 139, 139)\",\n \"beige\": \"rgb(245, 245, 220)\",\n \"bisque\": \"rgb(255, 228, 196)\",\n \"bisque1\": \"rgb(255, 228, 196)\",\n \"bisque2\": \"rgb(238, 213, 183)\",\n \"bisque3\": \"rgb(205, 183, 158)\",\n \"bisque4\": \"rgb(139, 125, 107)\",\n \"black\": \"rgb(0, 0, 0)\",\n \"blanchedalmond\": \"rgb(255, 235, 205)\",\n \"blue\": \"rgb(0, 0, 255)\",\n \"blue1\": \"rgb(0, 0, 255)\",\n \"blue2\": \"rgb(0, 0, 238)\",\n \"blue3\": \"rgb(0, 0, 205)\",\n \"blue4\": \"rgb(0, 0, 139)\",\n \"blueviolet\": \"rgb(138, 43, 226)\",\n \"brown\": \"rgb(165, 42, 42)\",\n \"brown1\": \"rgb(255, 64, 64)\",\n \"brown2\": \"rgb(238, 59, 59)\",\n \"brown3\": \"rgb(205, 51, 51)\",\n \"brown4\": \"rgb(139, 35, 35)\",\n \"burlywood\": \"rgb(222, 184, 135)\",\n \"burlywood1\": \"rgb(255, 211, 155)\",\n \"burlywood2\": \"rgb(238, 197, 145)\",\n \"burlywood3\": \"rgb(205, 170, 125)\",\n \"burlywood4\": \"rgb(139, 115, 85)\",\n \"cadetblue\": \"rgb(95, 158, 160)\",\n \"cadetblue1\": \"rgb(152, 245, 255)\",\n \"cadetblue2\": \"rgb(142, 229, 238)\",\n \"cadetblue3\": \"rgb(122, 197, 205)\",\n \"cadetblue4\": \"rgb(83, 134, 139)\",\n \"chartreuse\": \"rgb(127, 255, 0)\",\n \"chartreuse1\": \"rgb(127, 255, 0)\",\n \"chartreuse2\": \"rgb(118, 238, 0)\",\n \"chartreuse3\": \"rgb(102, 205, 0)\",\n \"chartreuse4\": \"rgb(69, 139, 0)\",\n \"chocolate\": \"rgb(210, 105, 30)\",\n \"chocolate1\": \"rgb(255, 127, 36)\",\n \"chocolate2\": \"rgb(238, 118, 33)\",\n \"chocolate3\": \"rgb(205, 102, 29)\",\n \"chocolate4\": \"rgb(139, 69, 19)\",\n \"coral\": \"rgb(255, 127, 80)\",\n \"coral1\": \"rgb(255, 114, 86)\",\n \"coral2\": \"rgb(238, 106, 80)\",\n \"coral3\": \"rgb(205, 91, 69)\",\n \"coral4\": \"rgb(139, 62, 47)\",\n \"cornflowerblue\": \"rgb(100, 149, 237)\",\n \"cornsilk\": \"rgb(255, 248, 220)\",\n \"cornsilk1\": \"rgb(255, 248, 220)\",\n \"cornsilk2\": \"rgb(238, 232, 205)\",\n \"cornsilk3\": \"rgb(205, 200, 177)\",\n \"cornsilk4\": \"rgb(139, 136, 120)\",\n \"cyan\": \"rgb(0, 255, 255)\",\n \"cyan1\": \"rgb(0, 255, 255)\",\n \"cyan2\": \"rgb(0, 238, 238)\",\n \"cyan3\": \"rgb(0, 205, 205)\",\n \"cyan4\": \"rgb(0, 139, 139)\",\n \"darkblue\": \"rgb(0, 0, 139)\",\n \"darkcyan\": \"rgb(0, 139, 139)\",\n \"darkgoldenrod\": \"rgb(184, 134, 11)\",\n \"darkgoldenrod1\": \"rgb(255, 185, 15)\",\n \"darkgoldenrod2\": \"rgb(238, 173, 14)\",\n \"darkgoldenrod3\": \"rgb(205, 149, 12)\",\n \"darkgoldenrod4\": \"rgb(139, 101, 8)\",\n \"darkgray\": \"rgb(169, 169, 169)\",\n \"darkgreen\": \"rgb(0, 100, 0)\",\n \"darkgrey\": \"rgb(169, 169, 169)\",\n \"darkkhaki\": \"rgb(189, 183, 107)\",\n \"darkmagenta\": \"rgb(139, 0, 139)\",\n \"darkolivegreen\": \"rgb(85, 107, 47)\",\n \"darkolivegreen1\": \"rgb(202, 255, 112)\",\n \"darkolivegreen2\": \"rgb(188, 238, 104)\",\n \"darkolivegreen3\": \"rgb(162, 205, 90)\",\n \"darkolivegreen4\": \"rgb(110, 139, 61)\",\n \"darkorange\": \"rgb(255, 140, 0)\",\n \"darkorange1\": \"rgb(255, 127, 0)\",\n \"darkorange2\": \"rgb(238, 118, 0)\",\n \"darkorange3\": \"rgb(205, 102, 0)\",\n \"darkorange4\": \"rgb(139, 69, 0)\",\n \"darkorchid\": \"rgb(153, 50, 204)\",\n \"darkorchid1\": \"rgb(191, 62, 255)\",\n \"darkorchid2\": \"rgb(178, 58, 238)\",\n \"darkorchid3\": \"rgb(154, 50, 205)\",\n \"darkorchid4\": \"rgb(104, 34, 139)\",\n \"darkred\": \"rgb(139, 0, 0)\",\n \"darksalmon\": \"rgb(233, 150, 122)\",\n \"darkseagreen\": \"rgb(143, 188, 143)\",\n \"darkseagreen1\": \"rgb(193, 255, 193)\",\n \"darkseagreen2\": \"rgb(180, 238, 180)\",\n \"darkseagreen3\": \"rgb(155, 205, 155)\",\n \"darkseagreen4\": \"rgb(105, 139, 105)\",\n \"darkslateblue\": \"rgb(72, 61, 139)\",\n \"darkslategray\": \"rgb(47, 79, 79)\",\n \"darkslategray1\": \"rgb(151, 255, 255)\",\n \"darkslategray2\": \"rgb(141, 238, 238)\",\n \"darkslategray3\": \"rgb(121, 205, 205)\",\n \"darkslategray4\": \"rgb(82, 139, 139)\",\n \"darkslategrey\": \"rgb(47, 79, 79)\",\n \"darkturquoise\": \"rgb(0, 206, 209)\",\n \"darkviolet\": \"rgb(148, 0, 211)\",\n \"debianred\": \"rgb(215, 7, 81)\",\n \"deeppink\": \"rgb(255, 20, 147)\",\n \"deeppink1\": \"rgb(255, 20, 147)\",\n \"deeppink2\": \"rgb(238, 18, 137)\",\n \"deeppink3\": \"rgb(205, 16, 118)\",\n \"deeppink4\": \"rgb(139, 10, 80)\",\n \"deepskyblue\": \"rgb(0, 191, 255)\",\n \"deepskyblue1\": \"rgb(0, 191, 255)\",\n \"deepskyblue2\": \"rgb(0, 178, 238)\",\n \"deepskyblue3\": \"rgb(0, 154, 205)\",\n \"deepskyblue4\": \"rgb(0, 104, 139)\",\n \"dimgray\": \"rgb(105, 105, 105)\",\n \"dimgrey\": \"rgb(105, 105, 105)\",\n \"dodgerblue\": \"rgb(30, 144, 255)\",\n \"dodgerblue1\": \"rgb(30, 144, 255)\",\n \"dodgerblue2\": \"rgb(28, 134, 238)\",\n \"dodgerblue3\": \"rgb(24, 116, 205)\",\n \"dodgerblue4\": \"rgb(16, 78, 139)\",\n \"firebrick\": \"rgb(178, 34, 34)\",\n \"firebrick1\": \"rgb(255, 48, 48)\",\n \"firebrick2\": \"rgb(238, 44, 44)\",\n \"firebrick3\": \"rgb(205, 38, 38)\",\n \"firebrick4\": \"rgb(139, 26, 26)\",\n \"floralwhite\": \"rgb(255, 250, 240)\",\n \"forestgreen\": \"rgb(34, 139, 34)\",\n \"gainsboro\": \"rgb(220, 220, 220)\",\n \"ghostwhite\": \"rgb(248, 248, 255)\",\n \"gold\": \"rgb(255, 215, 0)\",\n \"gold1\": \"rgb(255, 215, 0)\",\n \"gold2\": \"rgb(238, 201, 0)\",\n \"gold3\": \"rgb(205, 173, 0)\",\n \"gold4\": \"rgb(139, 117, 0)\",\n \"goldenrod\": \"rgb(218, 165, 32)\",\n \"goldenrod1\": \"rgb(255, 193, 37)\",\n \"goldenrod2\": \"rgb(238, 180, 34)\",\n \"goldenrod3\": \"rgb(205, 155, 29)\",\n \"goldenrod4\": \"rgb(139, 105, 20)\",\n \"gray\": \"rgb(190, 190, 190)\",\n \"gray0\": \"rgb(0, 0, 0)\",\n \"gray1\": \"rgb(3, 3, 3)\",\n \"gray10\": \"rgb(26, 26, 26)\",\n \"gray100\": \"rgb(255, 255, 255)\",\n \"gray11\": \"rgb(28, 28, 28)\",\n \"gray12\": \"rgb(31, 31, 31)\",\n \"gray13\": \"rgb(33, 33, 33)\",\n \"gray14\": \"rgb(36, 36, 36)\",\n \"gray15\": \"rgb(38, 38, 38)\",\n \"gray16\": \"rgb(41, 41, 41)\",\n \"gray17\": \"rgb(43, 43, 43)\",\n \"gray18\": \"rgb(46, 46, 46)\",\n \"gray19\": \"rgb(48, 48, 48)\",\n \"gray2\": \"rgb(5, 5, 5)\",\n \"gray20\": \"rgb(51, 51, 51)\",\n \"gray21\": \"rgb(54, 54, 54)\",\n \"gray22\": \"rgb(56, 56, 56)\",\n \"gray23\": \"rgb(59, 59, 59)\",\n \"gray24\": \"rgb(61, 61, 61)\",\n \"gray25\": \"rgb(64, 64, 64)\",\n \"gray26\": \"rgb(66, 66, 66)\",\n \"gray27\": \"rgb(69, 69, 69)\",\n \"gray28\": \"rgb(71, 71, 71)\",\n \"gray29\": \"rgb(74, 74, 74)\",\n \"gray3\": \"rgb(8, 8, 8)\",\n \"gray30\": \"rgb(77, 77, 77)\",\n \"gray31\": \"rgb(79, 79, 79)\",\n \"gray32\": \"rgb(82, 82, 82)\",\n \"gray33\": \"rgb(84, 84, 84)\",\n \"gray34\": \"rgb(87, 87, 87)\",\n \"gray35\": \"rgb(89, 89, 89)\",\n \"gray36\": \"rgb(92, 92, 92)\",\n \"gray37\": \"rgb(94, 94, 94)\",\n \"gray38\": \"rgb(97, 97, 97)\",\n \"gray39\": \"rgb(99, 99, 99)\",\n \"gray4\": \"rgb(10, 10, 10)\",\n \"gray40\": \"rgb(102, 102, 102)\",\n \"gray41\": \"rgb(105, 105, 105)\",\n \"gray42\": \"rgb(107, 107, 107)\",\n \"gray43\": \"rgb(110, 110, 110)\",\n \"gray44\": \"rgb(112, 112, 112)\",\n \"gray45\": \"rgb(115, 115, 115)\",\n \"gray46\": \"rgb(117, 117, 117)\",\n \"gray47\": \"rgb(120, 120, 120)\",\n \"gray48\": \"rgb(122, 122, 122)\",\n \"gray49\": \"rgb(125, 125, 125)\",\n \"gray5\": \"rgb(13, 13, 13)\",\n \"gray50\": \"rgb(127, 127, 127)\",\n \"gray51\": \"rgb(130, 130, 130)\",\n \"gray52\": \"rgb(133, 133, 133)\",\n \"gray53\": \"rgb(135, 135, 135)\",\n \"gray54\": \"rgb(138, 138, 138)\",\n \"gray55\": \"rgb(140, 140, 140)\",\n \"gray56\": \"rgb(143, 143, 143)\",\n \"gray57\": \"rgb(145, 145, 145)\",\n \"gray58\": \"rgb(148, 148, 148)\",\n \"gray59\": \"rgb(150, 150, 150)\",\n \"gray6\": \"rgb(15, 15, 15)\",\n \"gray60\": \"rgb(153, 153, 153)\",\n \"gray61\": \"rgb(156, 156, 156)\",\n \"gray62\": \"rgb(158, 158, 158)\",\n \"gray63\": \"rgb(161, 161, 161)\",\n \"gray64\": \"rgb(163, 163, 163)\",\n \"gray65\": \"rgb(166, 166, 166)\",\n \"gray66\": \"rgb(168, 168, 168)\",\n \"gray67\": \"rgb(171, 171, 171)\",\n \"gray68\": \"rgb(173, 173, 173)\",\n \"gray69\": \"rgb(176, 176, 176)\",\n \"gray7\": \"rgb(18, 18, 18)\",\n \"gray70\": \"rgb(179, 179, 179)\",\n \"gray71\": \"rgb(181, 181, 181)\",\n \"gray72\": \"rgb(184, 184, 184)\",\n \"gray73\": \"rgb(186, 186, 186)\",\n \"gray74\": \"rgb(189, 189, 189)\",\n \"gray75\": \"rgb(191, 191, 191)\",\n \"gray76\": \"rgb(194, 194, 194)\",\n \"gray77\": \"rgb(196, 196, 196)\",\n \"gray78\": \"rgb(199, 199, 199)\",\n \"gray79\": \"rgb(201, 201, 201)\",\n \"gray8\": \"rgb(20, 20, 20)\",\n \"gray80\": \"rgb(204, 204, 204)\",\n \"gray81\": \"rgb(207, 207, 207)\",\n \"gray82\": \"rgb(209, 209, 209)\",\n \"gray83\": \"rgb(212, 212, 212)\",\n \"gray84\": \"rgb(214, 214, 214)\",\n \"gray85\": \"rgb(217, 217, 217)\",\n \"gray86\": \"rgb(219, 219, 219)\",\n \"gray87\": \"rgb(222, 222, 222)\",\n \"gray88\": \"rgb(224, 224, 224)\",\n \"gray89\": \"rgb(227, 227, 227)\",\n \"gray9\": \"rgb(23, 23, 23)\",\n \"gray90\": \"rgb(229, 229, 229)\",\n \"gray91\": \"rgb(232, 232, 232)\",\n \"gray92\": \"rgb(235, 235, 235)\",\n \"gray93\": \"rgb(237, 237, 237)\",\n \"gray94\": \"rgb(240, 240, 240)\",\n \"gray95\": \"rgb(242, 242, 242)\",\n \"gray96\": \"rgb(245, 245, 245)\",\n \"gray97\": \"rgb(247, 247, 247)\",\n \"gray98\": \"rgb(250, 250, 250)\",\n \"gray99\": \"rgb(252, 252, 252)\",\n \"green\": \"rgb(0, 255, 0)\",\n \"green1\": \"rgb(0, 255, 0)\",\n \"green2\": \"rgb(0, 238, 0)\",\n \"green3\": \"rgb(0, 205, 0)\",\n \"green4\": \"rgb(0, 139, 0)\",\n \"greenyellow\": \"rgb(173, 255, 47)\",\n \"grey\": \"rgb(190, 190, 190)\",\n \"grey0\": \"rgb(0, 0, 0)\",\n \"grey1\": \"rgb(3, 3, 3)\",\n \"grey10\": \"rgb(26, 26, 26)\",\n \"grey100\": \"rgb(255, 255, 255)\",\n \"grey11\": \"rgb(28, 28, 28)\",\n \"grey12\": \"rgb(31, 31, 31)\",\n \"grey13\": \"rgb(33, 33, 33)\",\n \"grey14\": \"rgb(36, 36, 36)\",\n \"grey15\": \"rgb(38, 38, 38)\",\n \"grey16\": \"rgb(41, 41, 41)\",\n \"grey17\": \"rgb(43, 43, 43)\",\n \"grey18\": \"rgb(46, 46, 46)\",\n \"grey19\": \"rgb(48, 48, 48)\",\n \"grey2\": \"rgb(5, 5, 5)\",\n \"grey20\": \"rgb(51, 51, 51)\",\n \"grey21\": \"rgb(54, 54, 54)\",\n \"grey22\": \"rgb(56, 56, 56)\",\n \"grey23\": \"rgb(59, 59, 59)\",\n \"grey24\": \"rgb(61, 61, 61)\",\n \"grey25\": \"rgb(64, 64, 64)\",\n \"grey26\": \"rgb(66, 66, 66)\",\n \"grey27\": \"rgb(69, 69, 69)\",\n \"grey28\": \"rgb(71, 71, 71)\",\n \"grey29\": \"rgb(74, 74, 74)\",\n \"grey3\": \"rgb(8, 8, 8)\",\n \"grey30\": \"rgb(77, 77, 77)\",\n \"grey31\": \"rgb(79, 79, 79)\",\n \"grey32\": \"rgb(82, 82, 82)\",\n \"grey33\": \"rgb(84, 84, 84)\",\n \"grey34\": \"rgb(87, 87, 87)\",\n \"grey35\": \"rgb(89, 89, 89)\",\n \"grey36\": \"rgb(92, 92, 92)\",\n \"grey37\": \"rgb(94, 94, 94)\",\n \"grey38\": \"rgb(97, 97, 97)\",\n \"grey39\": \"rgb(99, 99, 99)\",\n \"grey4\": \"rgb(10, 10, 10)\",\n \"grey40\": \"rgb(102, 102, 102)\",\n \"grey41\": \"rgb(105, 105, 105)\",\n \"grey42\": \"rgb(107, 107, 107)\",\n \"grey43\": \"rgb(110, 110, 110)\",\n \"grey44\": \"rgb(112, 112, 112)\",\n \"grey45\": \"rgb(115, 115, 115)\",\n \"grey46\": \"rgb(117, 117, 117)\",\n \"grey47\": \"rgb(120, 120, 120)\",\n \"grey48\": \"rgb(122, 122, 122)\",\n \"grey49\": \"rgb(125, 125, 125)\",\n \"grey5\": \"rgb(13, 13, 13)\",\n \"grey50\": \"rgb(127, 127, 127)\",\n \"grey51\": \"rgb(130, 130, 130)\",\n \"grey52\": \"rgb(133, 133, 133)\",\n \"grey53\": \"rgb(135, 135, 135)\",\n \"grey54\": \"rgb(138, 138, 138)\",\n \"grey55\": \"rgb(140, 140, 140)\",\n \"grey56\": \"rgb(143, 143, 143)\",\n \"grey57\": \"rgb(145, 145, 145)\",\n \"grey58\": \"rgb(148, 148, 148)\",\n \"grey59\": \"rgb(150, 150, 150)\",\n \"grey6\": \"rgb(15, 15, 15)\",\n \"grey60\": \"rgb(153, 153, 153)\",\n \"grey61\": \"rgb(156, 156, 156)\",\n \"grey62\": \"rgb(158, 158, 158)\",\n \"grey63\": \"rgb(161, 161, 161)\",\n \"grey64\": \"rgb(163, 163, 163)\",\n \"grey65\": \"rgb(166, 166, 166)\",\n \"grey66\": \"rgb(168, 168, 168)\",\n \"grey67\": \"rgb(171, 171, 171)\",\n \"grey68\": \"rgb(173, 173, 173)\",\n \"grey69\": \"rgb(176, 176, 176)\",\n \"grey7\": \"rgb(18, 18, 18)\",\n \"grey70\": \"rgb(179, 179, 179)\",\n \"grey71\": \"rgb(181, 181, 181)\",\n \"grey72\": \"rgb(184, 184, 184)\",\n \"grey73\": \"rgb(186, 186, 186)\",\n \"grey74\": \"rgb(189, 189, 189)\",\n \"grey75\": \"rgb(191, 191, 191)\",\n \"grey76\": \"rgb(194, 194, 194)\",\n \"grey77\": \"rgb(196, 196, 196)\",\n \"grey78\": \"rgb(199, 199, 199)\",\n \"grey79\": \"rgb(201, 201, 201)\",\n \"grey8\": \"rgb(20, 20, 20)\",\n \"grey80\": \"rgb(204, 204, 204)\",\n \"grey81\": \"rgb(207, 207, 207)\",\n \"grey82\": \"rgb(209, 209, 209)\",\n \"grey83\": \"rgb(212, 212, 212)\",\n \"grey84\": \"rgb(214, 214, 214)\",\n \"grey85\": \"rgb(217, 217, 217)\",\n \"grey86\": \"rgb(219, 219, 219)\",\n \"grey87\": \"rgb(222, 222, 222)\",\n \"grey88\": \"rgb(224, 224, 224)\",\n \"grey89\": \"rgb(227, 227, 227)\",\n \"grey9\": \"rgb(23, 23, 23)\",\n \"grey90\": \"rgb(229, 229, 229)\",\n \"grey91\": \"rgb(232, 232, 232)\",\n \"grey92\": \"rgb(235, 235, 235)\",\n \"grey93\": \"rgb(237, 237, 237)\",\n \"grey94\": \"rgb(240, 240, 240)\",\n \"grey95\": \"rgb(242, 242, 242)\",\n \"grey96\": \"rgb(245, 245, 245)\",\n \"grey97\": \"rgb(247, 247, 247)\",\n \"grey98\": \"rgb(250, 250, 250)\",\n \"grey99\": \"rgb(252, 252, 252)\",\n \"honeydew\": \"rgb(240, 255, 240)\",\n \"honeydew1\": \"rgb(240, 255, 240)\",\n \"honeydew2\": \"rgb(224, 238, 224)\",\n \"honeydew3\": \"rgb(193, 205, 193)\",\n \"honeydew4\": \"rgb(131, 139, 131)\",\n \"hotpink\": \"rgb(255, 105, 180)\",\n \"hotpink1\": \"rgb(255, 110, 180)\",\n \"hotpink2\": \"rgb(238, 106, 167)\",\n \"hotpink3\": \"rgb(205, 96, 144)\",\n \"hotpink4\": \"rgb(139, 58, 98)\",\n \"indianred\": \"rgb(205, 92, 92)\",\n \"indianred1\": \"rgb(255, 106, 106)\",\n \"indianred2\": \"rgb(238, 99, 99)\",\n \"indianred3\": \"rgb(205, 85, 85)\",\n \"indianred4\": \"rgb(139, 58, 58)\",\n \"ivory\": \"rgb(255, 255, 240)\",\n \"ivory1\": \"rgb(255, 255, 240)\",\n \"ivory2\": \"rgb(238, 238, 224)\",\n \"ivory3\": \"rgb(205, 205, 193)\",\n \"ivory4\": \"rgb(139, 139, 131)\",\n \"khaki\": \"rgb(240, 230, 140)\",\n \"khaki1\": \"rgb(255, 246, 143)\",\n \"khaki2\": \"rgb(238, 230, 133)\",\n \"khaki3\": \"rgb(205, 198, 115)\",\n \"khaki4\": \"rgb(139, 134, 78)\",\n \"lavender\": \"rgb(230, 230, 250)\",\n \"lavenderblush\": \"rgb(255, 240, 245)\",\n \"lavenderblush1\": \"rgb(255, 240, 245)\",\n \"lavenderblush2\": \"rgb(238, 224, 229)\",\n \"lavenderblush3\": \"rgb(205, 193, 197)\",\n \"lavenderblush4\": \"rgb(139, 131, 134)\",\n \"lawngreen\": \"rgb(124, 252, 0)\",\n \"lemonchiffon\": \"rgb(255, 250, 205)\",\n \"lemonchiffon1\": \"rgb(255, 250, 205)\",\n \"lemonchiffon2\": \"rgb(238, 233, 191)\",\n \"lemonchiffon3\": \"rgb(205, 201, 165)\",\n \"lemonchiffon4\": \"rgb(139, 137, 112)\",\n \"lightblue\": \"rgb(173, 216, 230)\",\n \"lightblue1\": \"rgb(191, 239, 255)\",\n \"lightblue2\": \"rgb(178, 223, 238)\",\n \"lightblue3\": \"rgb(154, 192, 205)\",\n \"lightblue4\": \"rgb(104, 131, 139)\",\n \"lightcoral\": \"rgb(240, 128, 128)\",\n \"lightcyan\": \"rgb(224, 255, 255)\",\n \"lightcyan1\": \"rgb(224, 255, 255)\",\n \"lightcyan2\": \"rgb(209, 238, 238)\",\n \"lightcyan3\": \"rgb(180, 205, 205)\",\n \"lightcyan4\": \"rgb(122, 139, 139)\",\n \"lightgoldenrod\": \"rgb(238, 221, 130)\",\n \"lightgoldenrod1\": \"rgb(255, 236, 139)\",\n \"lightgoldenrod2\": \"rgb(238, 220, 130)\",\n \"lightgoldenrod3\": \"rgb(205, 190, 112)\",\n \"lightgoldenrod4\": \"rgb(139, 129, 76)\",\n \"lightgoldenrodyellow\": \"rgb(250, 250, 210)\",\n \"lightgray\": \"rgb(211, 211, 211)\",\n \"lightgreen\": \"rgb(144, 238, 144)\",\n \"lightgrey\": \"rgb(211, 211, 211)\",\n \"lightpink\": \"rgb(255, 182, 193)\",\n \"lightpink1\": \"rgb(255, 174, 185)\",\n \"lightpink2\": \"rgb(238, 162, 173)\",\n \"lightpink3\": \"rgb(205, 140, 149)\",\n \"lightpink4\": \"rgb(139, 95, 101)\",\n \"lightsalmon\": \"rgb(255, 160, 122)\",\n \"lightsalmon1\": \"rgb(255, 160, 122)\",\n \"lightsalmon2\": \"rgb(238, 149, 114)\",\n \"lightsalmon3\": \"rgb(205, 129, 98)\",\n \"lightsalmon4\": \"rgb(139, 87, 66)\",\n \"lightseagreen\": \"rgb(32, 178, 170)\",\n \"lightskyblue\": \"rgb(135, 206, 250)\",\n \"lightskyblue1\": \"rgb(176, 226, 255)\",\n \"lightskyblue2\": \"rgb(164, 211, 238)\",\n \"lightskyblue3\": \"rgb(141, 182, 205)\",\n \"lightskyblue4\": \"rgb(96, 123, 139)\",\n \"lightslateblue\": \"rgb(132, 112, 255)\",\n \"lightslategray\": \"rgb(119, 136, 153)\",\n \"lightslategrey\": \"rgb(119, 136, 153)\",\n \"lightsteelblue\": \"rgb(176, 196, 222)\",\n \"lightsteelblue1\": \"rgb(202, 225, 255)\",\n \"lightsteelblue2\": \"rgb(188, 210, 238)\",\n \"lightsteelblue3\": \"rgb(162, 181, 205)\",\n \"lightsteelblue4\": \"rgb(110, 123, 139)\",\n \"lightyellow\": \"rgb(255, 255, 224)\",\n \"lightyellow1\": \"rgb(255, 255, 224)\",\n \"lightyellow2\": \"rgb(238, 238, 209)\",\n \"lightyellow3\": \"rgb(205, 205, 180)\",\n \"lightyellow4\": \"rgb(139, 139, 122)\",\n \"limegreen\": \"rgb(50, 205, 50)\",\n \"linen\": \"rgb(250, 240, 230)\",\n \"magenta\": \"rgb(255, 0, 255)\",\n \"magenta1\": \"rgb(255, 0, 255)\",\n \"magenta2\": \"rgb(238, 0, 238)\",\n \"magenta3\": \"rgb(205, 0, 205)\",\n \"magenta4\": \"rgb(139, 0, 139)\",\n \"maroon\": \"rgb(176, 48, 96)\",\n \"maroon1\": \"rgb(255, 52, 179)\",\n \"maroon2\": \"rgb(238, 48, 167)\",\n \"maroon3\": \"rgb(205, 41, 144)\",\n \"maroon4\": \"rgb(139, 28, 98)\",\n \"mediumaquamarine\": \"rgb(102, 205, 170)\",\n \"mediumblue\": \"rgb(0, 0, 205)\",\n \"mediumorchid\": \"rgb(186, 85, 211)\",\n \"mediumorchid1\": \"rgb(224, 102, 255)\",\n \"mediumorchid2\": \"rgb(209, 95, 238)\",\n \"mediumorchid3\": \"rgb(180, 82, 205)\",\n \"mediumorchid4\": \"rgb(122, 55, 139)\",\n \"mediumpurple\": \"rgb(147, 112, 219)\",\n \"mediumpurple1\": \"rgb(171, 130, 255)\",\n \"mediumpurple2\": \"rgb(159, 121, 238)\",\n \"mediumpurple3\": \"rgb(137, 104, 205)\",\n \"mediumpurple4\": \"rgb(93, 71, 139)\",\n \"mediumseagreen\": \"rgb(60, 179, 113)\",\n \"mediumslateblue\": \"rgb(123, 104, 238)\",\n \"mediumspringgreen\": \"rgb(0, 250, 154)\",\n \"mediumturquoise\": \"rgb(72, 209, 204)\",\n \"mediumvioletred\": \"rgb(199, 21, 133)\",\n \"midnightblue\": \"rgb(25, 25, 112)\",\n \"mintcream\": \"rgb(245, 255, 250)\",\n \"mistyrose\": \"rgb(255, 228, 225)\",\n \"mistyrose1\": \"rgb(255, 228, 225)\",\n \"mistyrose2\": \"rgb(238, 213, 210)\",\n \"mistyrose3\": \"rgb(205, 183, 181)\",\n \"mistyrose4\": \"rgb(139, 125, 123)\",\n \"moccasin\": \"rgb(255, 228, 181)\",\n \"navajowhite\": \"rgb(255, 222, 173)\",\n \"navajowhite1\": \"rgb(255, 222, 173)\",\n \"navajowhite2\": \"rgb(238, 207, 161)\",\n \"navajowhite3\": \"rgb(205, 179, 139)\",\n \"navajowhite4\": \"rgb(139, 121, 94)\",\n \"navy\": \"rgb(0, 0, 128)\",\n \"navyblue\": \"rgb(0, 0, 128)\",\n \"oldlace\": \"rgb(253, 245, 230)\",\n \"olivedrab\": \"rgb(107, 142, 35)\",\n \"olivedrab1\": \"rgb(192, 255, 62)\",\n \"olivedrab2\": \"rgb(179, 238, 58)\",\n \"olivedrab3\": \"rgb(154, 205, 50)\",\n \"olivedrab4\": \"rgb(105, 139, 34)\",\n \"orange\": \"rgb(255, 165, 0)\",\n \"orange1\": \"rgb(255, 165, 0)\",\n \"orange2\": \"rgb(238, 154, 0)\",\n \"orange3\": \"rgb(205, 133, 0)\",\n \"orange4\": \"rgb(139, 90, 0)\",\n \"orangered\": \"rgb(255, 69, 0)\",\n \"orangered1\": \"rgb(255, 69, 0)\",\n \"orangered2\": \"rgb(238, 64, 0)\",\n \"orangered3\": \"rgb(205, 55, 0)\",\n \"orangered4\": \"rgb(139, 37, 0)\",\n \"orchid\": \"rgb(218, 112, 214)\",\n \"orchid1\": \"rgb(255, 131, 250)\",\n \"orchid2\": \"rgb(238, 122, 233)\",\n \"orchid3\": \"rgb(205, 105, 201)\",\n \"orchid4\": \"rgb(139, 71, 137)\",\n \"palegoldenrod\": \"rgb(238, 232, 170)\",\n \"palegreen\": \"rgb(152, 251, 152)\",\n \"palegreen1\": \"rgb(154, 255, 154)\",\n \"palegreen2\": \"rgb(144, 238, 144)\",\n \"palegreen3\": \"rgb(124, 205, 124)\",\n \"palegreen4\": \"rgb(84, 139, 84)\",\n \"paleturquoise\": \"rgb(175, 238, 238)\",\n \"paleturquoise1\": \"rgb(187, 255, 255)\",\n \"paleturquoise2\": \"rgb(174, 238, 238)\",\n \"paleturquoise3\": \"rgb(150, 205, 205)\",\n \"paleturquoise4\": \"rgb(102, 139, 139)\",\n \"palevioletred\": \"rgb(219, 112, 147)\",\n \"palevioletred1\": \"rgb(255, 130, 171)\",\n \"palevioletred2\": \"rgb(238, 121, 159)\",\n \"palevioletred3\": \"rgb(205, 104, 137)\",\n \"palevioletred4\": \"rgb(139, 71, 93)\",\n \"papayawhip\": \"rgb(255, 239, 213)\",\n \"peachpuff\": \"rgb(255, 218, 185)\",\n \"peachpuff1\": \"rgb(255, 218, 185)\",\n \"peachpuff2\": \"rgb(238, 203, 173)\",\n \"peachpuff3\": \"rgb(205, 175, 149)\",\n \"peachpuff4\": \"rgb(139, 119, 101)\",\n \"peru\": \"rgb(205, 133, 63)\",\n \"pink\": \"rgb(255, 192, 203)\",\n \"pink1\": \"rgb(255, 181, 197)\",\n \"pink2\": \"rgb(238, 169, 184)\",\n \"pink3\": \"rgb(205, 145, 158)\",\n \"pink4\": \"rgb(139, 99, 108)\",\n \"plum\": \"rgb(221, 160, 221)\",\n \"plum1\": \"rgb(255, 187, 255)\",\n \"plum2\": \"rgb(238, 174, 238)\",\n \"plum3\": \"rgb(205, 150, 205)\",\n \"plum4\": \"rgb(139, 102, 139)\",\n \"powderblue\": \"rgb(176, 224, 230)\",\n \"purple\": \"rgb(160, 32, 240)\",\n \"purple1\": \"rgb(155, 48, 255)\",\n \"purple2\": \"rgb(145, 44, 238)\",\n \"purple3\": \"rgb(125, 38, 205)\",\n \"purple4\": \"rgb(85, 26, 139)\",\n \"red\": \"rgb(255, 0, 0)\",\n \"red1\": \"rgb(255, 0, 0)\",\n \"red2\": \"rgb(238, 0, 0)\",\n \"red3\": \"rgb(205, 0, 0)\",\n \"red4\": \"rgb(139, 0, 0)\",\n \"rosybrown\": \"rgb(188, 143, 143)\",\n \"rosybrown1\": \"rgb(255, 193, 193)\",\n \"rosybrown2\": \"rgb(238, 180, 180)\",\n \"rosybrown3\": \"rgb(205, 155, 155)\",\n \"rosybrown4\": \"rgb(139, 105, 105)\",\n \"royalblue\": \"rgb(65, 105, 225)\",\n \"royalblue1\": \"rgb(72, 118, 255)\",\n \"royalblue2\": \"rgb(67, 110, 238)\",\n \"royalblue3\": \"rgb(58, 95, 205)\",\n \"royalblue4\": \"rgb(39, 64, 139)\",\n \"saddlebrown\": \"rgb(139, 69, 19)\",\n \"salmon\": \"rgb(250, 128, 114)\",\n \"salmon1\": \"rgb(255, 140, 105)\",\n \"salmon2\": \"rgb(238, 130, 98)\",\n \"salmon3\": \"rgb(205, 112, 84)\",\n \"salmon4\": \"rgb(139, 76, 57)\",\n \"sandybrown\": \"rgb(244, 164, 96)\",\n \"seagreen\": \"rgb(46, 139, 87)\",\n \"seagreen1\": \"rgb(84, 255, 159)\",\n \"seagreen2\": \"rgb(78, 238, 148)\",\n \"seagreen3\": \"rgb(67, 205, 128)\",\n \"seagreen4\": \"rgb(46, 139, 87)\",\n \"seashell\": \"rgb(255, 245, 238)\",\n \"seashell1\": \"rgb(255, 245, 238)\",\n \"seashell2\": \"rgb(238, 229, 222)\",\n \"seashell3\": \"rgb(205, 197, 191)\",\n \"seashell4\": \"rgb(139, 134, 130)\",\n \"sienna\": \"rgb(160, 82, 45)\",\n \"sienna1\": \"rgb(255, 130, 71)\",\n \"sienna2\": \"rgb(238, 121, 66)\",\n \"sienna3\": \"rgb(205, 104, 57)\",\n \"sienna4\": \"rgb(139, 71, 38)\",\n \"skyblue\": \"rgb(135, 206, 235)\",\n \"skyblue1\": \"rgb(135, 206, 255)\",\n \"skyblue2\": \"rgb(126, 192, 238)\",\n \"skyblue3\": \"rgb(108, 166, 205)\",\n \"skyblue4\": \"rgb(74, 112, 139)\",\n \"slateblue\": \"rgb(106, 90, 205)\",\n \"slateblue1\": \"rgb(131, 111, 255)\",\n \"slateblue2\": \"rgb(122, 103, 238)\",\n \"slateblue3\": \"rgb(105, 89, 205)\",\n \"slateblue4\": \"rgb(71, 60, 139)\",\n \"slategray\": \"rgb(112, 128, 144)\",\n \"slategray1\": \"rgb(198, 226, 255)\",\n \"slategray2\": \"rgb(185, 211, 238)\",\n \"slategray3\": \"rgb(159, 182, 205)\",\n \"slategray4\": \"rgb(108, 123, 139)\",\n \"slategrey\": \"rgb(112, 128, 144)\",\n \"snow\": \"rgb(255, 250, 250)\",\n \"snow1\": \"rgb(255, 250, 250)\",\n \"snow2\": \"rgb(238, 233, 233)\",\n \"snow3\": \"rgb(205, 201, 201)\",\n \"snow4\": \"rgb(139, 137, 137)\",\n \"springgreen\": \"rgb(0, 255, 127)\",\n \"springgreen1\": \"rgb(0, 255, 127)\",\n \"springgreen2\": \"rgb(0, 238, 118)\",\n \"springgreen3\": \"rgb(0, 205, 102)\",\n \"springgreen4\": \"rgb(0, 139, 69)\",\n \"steelblue\": \"rgb(70, 130, 180)\",\n \"steelblue1\": \"rgb(99, 184, 255)\",\n \"steelblue2\": \"rgb(92, 172, 238)\",\n \"steelblue3\": \"rgb(79, 148, 205)\",\n \"steelblue4\": \"rgb(54, 100, 139)\",\n \"tan\": \"rgb(210, 180, 140)\",\n \"tan1\": \"rgb(255, 165, 79)\",\n \"tan2\": \"rgb(238, 154, 73)\",\n \"tan3\": \"rgb(205, 133, 63)\",\n \"tan4\": \"rgb(139, 90, 43)\",\n \"thistle\": \"rgb(216, 191, 216)\",\n \"thistle1\": \"rgb(255, 225, 255)\",\n \"thistle2\": \"rgb(238, 210, 238)\",\n \"thistle3\": \"rgb(205, 181, 205)\",\n \"thistle4\": \"rgb(139, 123, 139)\",\n \"tomato\": \"rgb(255, 99, 71)\",\n \"tomato1\": \"rgb(255, 99, 71)\",\n \"tomato2\": \"rgb(238, 92, 66)\",\n \"tomato3\": \"rgb(205, 79, 57)\",\n \"tomato4\": \"rgb(139, 54, 38)\",\n \"turquoise\": \"rgb(64, 224, 208)\",\n \"turquoise1\": \"rgb(0, 245, 255)\",\n \"turquoise2\": \"rgb(0, 229, 238)\",\n \"turquoise3\": \"rgb(0, 197, 205)\",\n \"turquoise4\": \"rgb(0, 134, 139)\",\n \"violet\": \"rgb(238, 130, 238)\",\n \"violetred\": \"rgb(208, 32, 144)\",\n \"violetred1\": \"rgb(255, 62, 150)\",\n \"violetred2\": \"rgb(238, 58, 140)\",\n \"violetred3\": \"rgb(205, 50, 120)\",\n \"violetred4\": \"rgb(139, 34, 82)\",\n \"wheat\": \"rgb(245, 222, 179)\",\n \"wheat1\": \"rgb(255, 231, 186)\",\n \"wheat2\": \"rgb(238, 216, 174)\",\n \"wheat3\": \"rgb(205, 186, 150)\",\n \"wheat4\": \"rgb(139, 126, 102)\",\n \"white\": \"rgb(255, 255, 255)\",\n \"whitesmoke\": \"rgb(245, 245, 245)\",\n \"yellow\": \"rgb(255, 255, 0)\",\n \"yellow1\": \"rgb(255, 255, 0)\",\n \"yellow2\": \"rgb(238, 238, 0)\",\n \"yellow3\": \"rgb(205, 205, 0)\",\n \"yellow4\": \"rgb(139, 139, 0)\",\n \"yellowgreen\": \"rgb(154, 205, 50)\"\n};\n// SOURCE FILE: libdot/js/lib_f.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Grab bag of utility functions.\n */\nlib.f = {};\n\n/**\n * Create a unique enum value.\n *\n * @suppress {lintChecks}\n * @param {string} name A human friendly name for debugging.\n * @return {Object} A unique enum that won't compare equal to anything else.\n */\nlib.f.createEnum = function(name) {\n // We use a String object as nothing else should be using them -- we want to\n // use string primitives normally. But debuggers will include our name.\n return new String(name);\n};\n\n/**\n * Replace variable references in a string.\n *\n * Variables are of the form %FUNCTION(VARNAME). FUNCTION is an optional\n * escape function to apply to the value.\n *\n * For example\n * lib.f.replaceVars(\"%(greeting), %encodeURIComponent(name)\",\n * { greeting: \"Hello\",\n * name: \"Google+\" });\n *\n * Will result in \"Hello, Google%2B\".\n */\nlib.f.replaceVars = function(str, vars) {\n return str.replace(/%([a-z]*)\\(([^\\)]+)\\)/gi, function(match, fn, varname) {\n if (typeof vars[varname] == 'undefined')\n throw 'Unknown variable: ' + varname;\n\n var rv = vars[varname];\n\n if (fn in lib.f.replaceVars.functions) {\n rv = lib.f.replaceVars.functions[fn](rv);\n } else if (fn) {\n throw 'Unknown escape function: ' + fn;\n }\n\n return rv;\n });\n};\n\n/**\n * Functions that can be used with replaceVars.\n *\n * Clients can add to this list to extend lib.f.replaceVars().\n */\nlib.f.replaceVars.functions = {\n encodeURI: encodeURI,\n encodeURIComponent: encodeURIComponent,\n escapeHTML: function(str) {\n var map = {\n '<': '<',\n '>': '>',\n '&': '&',\n '\"': '"',\n \"'\": '''\n };\n\n return str.replace(/[<>&\\\"\\']/g, function(m) { return map[m] });\n }\n};\n\n/**\n * Get the list of accepted UI languages.\n *\n * @param {function(Array)} callback Function to invoke with the results. The\n * parameter is a list of locale names.\n */\nlib.f.getAcceptLanguages = function(callback) {\n if (lib.f.getAcceptLanguages.chromeSupported()) {\n chrome.i18n.getAcceptLanguages(callback);\n } else {\n setTimeout(function() {\n callback([navigator.language.replace(/-/g, '_')]);\n }, 0);\n }\n};\n\nlib.f.getAcceptLanguages.chromeSupported = function() {\n return window.chrome && chrome.i18n;\n};\n\n/**\n * Parse a query string into a hash.\n *\n * This takes a url query string in the form 'name1=value&name2=value' and\n * converts it into an object of the form { name1: 'value', name2: 'value' }.\n * If a given name appears multiple times in the query string, only the\n * last value will appear in the result.\n *\n * Names and values are passed through decodeURIComponent before being added\n * to the result object.\n *\n * @param {string} queryString The string to parse. If it starts with a\n * leading '?', the '?' will be ignored.\n */\nlib.f.parseQuery = function(queryString) {\n if (queryString.startsWith('?'))\n queryString = queryString.substr(1);\n\n var rv = {};\n\n var pairs = queryString.split('&');\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i].split('=');\n rv[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n\n return rv;\n};\n\nlib.f.getURL = function(path) {\n if (lib.f.getURL.chromeSupported())\n return chrome.runtime.getURL(path);\n\n return path;\n};\n\nlib.f.getURL.chromeSupported = function() {\n return window.chrome && chrome.runtime && chrome.runtime.getURL;\n};\n\n/**\n * Clamp a given integer to a specified range.\n *\n * @param {integer} v The value to be clamped.\n * @param {integer} min The minimum acceptable value.\n * @param {integer} max The maximum acceptable value.\n */\nlib.f.clamp = function(v, min, max) {\n if (v < min)\n return min;\n if (v > max)\n return max;\n return v;\n};\n\n/**\n * Left pad a number to a given length with leading zeros.\n *\n * @param {string|integer} number The number to pad.\n * @param {integer} length The desired length.\n * @return {string} The padded number as a string.\n */\nlib.f.zpad = function(number, length) {\n return String(number).padStart(length, '0');\n};\n\n/**\n * Return a string containing a given number of space characters.\n *\n * This method maintains a static cache of the largest amount of whitespace\n * ever requested. It shouldn't be used to generate an insanely huge amount of\n * whitespace.\n *\n * @param {integer} length The desired amount of whitespace.\n * @param {string} A string of spaces of the requested length.\n */\nlib.f.getWhitespace = function(length) {\n if (length <= 0)\n return '';\n\n var f = this.getWhitespace;\n if (!f.whitespace)\n f.whitespace = ' ';\n\n while (length > f.whitespace.length) {\n f.whitespace += f.whitespace;\n }\n\n return f.whitespace.substr(0, length);\n};\n\n /**\n * Ensure that a function is called within a certain time limit.\n *\n * Simple usage looks like this...\n *\n * lib.registerInit(lib.f.alarm(onInit));\n *\n * This will log a warning to the console if onInit() is not invoked within\n * 5 seconds.\n *\n * If you're performing some operation that may take longer than 5 seconds you\n * can pass a duration in milliseconds as the optional second parameter.\n *\n * If you pass a string identifier instead of a callback function, you'll get a\n * wrapper generator rather than a single wrapper. Each call to the\n * generator will return a wrapped version of the callback wired to\n * a shared timeout. This is for cases where you want to ensure that at least\n * one of a set of callbacks is invoked before a timeout expires.\n *\n * var alarm = lib.f.alarm('fetch object');\n * lib.foo.fetchObject(alarm(onSuccess), alarm(onFailure));\n *\n * @param {function(*)} callback The function to wrap in an alarm.\n * @param {int} opt_ms Optional number of milliseconds to wait before raising\n * an alarm. Default is 5000 (5 seconds).\n * @return {function} If callback is a function then the return value will be\n * the wrapped callback. If callback is a string then the return value will\n * be a function that generates new wrapped callbacks.\n */\nlib.f.alarm = function(callback, opt_ms) {\n var ms = opt_ms || 5 * 1000;\n var stack = lib.f.getStack(1);\n\n return (function() {\n // This outer function is called immediately. It's here to capture a new\n // scope for the timeout variable.\n\n // The 'timeout' variable is shared by this timeout function, and the\n // callback wrapper.\n var timeout = setTimeout(function() {\n var name = (typeof callback == 'string') ? name : callback.name;\n name = name ? (': ' + name) : '';\n console.warn('lib.f.alarm: timeout expired: ' + (ms / 1000) + 's' + name);\n console.log(stack);\n timeout = null;\n }, ms);\n\n var wrapperGenerator = function(callback) {\n return function() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n\n return callback.apply(null, arguments);\n }\n };\n\n if (typeof callback == 'string')\n return wrapperGenerator;\n\n return wrapperGenerator(callback);\n })();\n};\n\n/**\n * Return the current call stack after skipping a given number of frames.\n *\n * This method is intended to be used for debugging only. It returns an\n * Object instead of an Array, because the console stringifies arrays by\n * default and that's not what we want.\n *\n * A typical call might look like...\n *\n * console.log('Something wicked this way came', lib.f.getStack());\n * // Notice the comma ^\n *\n * This would print the message to the js console, followed by an object\n * which can be clicked to reveal the stack.\n *\n * @param {number} opt_ignoreFrames The optional number of stack frames to\n * ignore. The actual 'getStack' call is always ignored.\n */\nlib.f.getStack = function(opt_ignoreFrames) {\n var ignoreFrames = opt_ignoreFrames ? opt_ignoreFrames + 2 : 2;\n\n var stackArray;\n\n try {\n throw new Error();\n } catch (ex) {\n stackArray = ex.stack.split('\\n');\n }\n\n var stackObject = {};\n for (var i = ignoreFrames; i < stackArray.length; i++) {\n stackObject[i - ignoreFrames] = stackArray[i].replace(/^\\s*at\\s+/, '');\n }\n\n return stackObject;\n};\n\n/**\n * Divides the two numbers and floors the results, unless the remainder is less\n * than an incredibly small value, in which case it returns the ceiling.\n * This is useful when the number are truncated approximations of longer\n * values, and so doing division with these numbers yields a result incredibly\n * close to a whole number.\n *\n * @param {number} numerator\n * @param {number} denominator\n * @return {number}\n */\nlib.f.smartFloorDivide = function(numerator, denominator) {\n var val = numerator / denominator;\n var ceiling = Math.ceil(val);\n if (ceiling - val < .0001) {\n return ceiling;\n } else {\n return Math.floor(val);\n }\n};\n\n/**\n * Get a random integer in a range (inclusive).\n *\n * @param {number} min The lowest integer in the range.\n * @param {number} max The highest integer in the range.\n * @return {number} A random number between min & max.\n */\nlib.f.randomInt = function(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\n// SOURCE FILE: libdot/js/lib_message_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * MessageManager class handles internationalized strings.\n *\n * Note: chrome.i18n isn't sufficient because...\n * 1. There's a bug in chrome that makes it unavailable in iframes:\n * https://crbug.com/130200\n * 2. The client code may not be packaged in a Chrome extension.\n * 3. The client code may be part of a library packaged in a third-party\n * Chrome extension.\n *\n * @param {Array} languages List of languages to load, in the order they\n * should be loaded. Newer messages replace older ones. 'en' is\n * automatically added as the first language if it is not already present.\n */\nlib.MessageManager = function(languages) {\n this.languages_ = languages.map(\n function(el) { return el.replace(/-/g, '_') });\n\n if (this.languages_.indexOf('en') == -1)\n this.languages_.unshift('en');\n\n this.messages = {};\n};\n\n/**\n * Add message definitions to the message manager.\n *\n * This takes an object of the same format of a Chrome messages.json file. See\n * .\n */\nlib.MessageManager.prototype.addMessages = function(defs) {\n for (var key in defs) {\n var def = defs[key];\n\n if (!def.placeholders) {\n this.messages[key] = def.message;\n } else {\n // Replace \"$NAME$\" placeholders with \"$1\", etc.\n this.messages[key] = def.message.replace(\n /\\$([a-z][^\\s\\$]+)\\$/ig,\n function(m, name) {\n return defs[key].placeholders[name.toLowerCase()].content;\n });\n }\n }\n};\n\n/**\n * Load the first available language message bundle.\n *\n * @param {string} pattern A url pattern containing a \"$1\" where the locale\n * name should go.\n * @param {function(Array,Array)} onComplete Function to be called when loading\n * is complete. The two arrays are the list of successful and failed\n * locale names. If the first parameter is length 0, no locales were\n * loaded.\n */\nlib.MessageManager.prototype.findAndLoadMessages = function(\n pattern, onComplete) {\n var languages = this.languages_.concat();\n var loaded = [];\n var failed = [];\n\n function onLanguageComplete(state) {\n if (state) {\n loaded = languages.shift();\n } else {\n failed = languages.shift();\n }\n\n if (languages.length) {\n tryNextLanguage();\n } else {\n onComplete(loaded, failed);\n }\n }\n\n var tryNextLanguage = function() {\n this.loadMessages(this.replaceReferences(pattern, languages),\n onLanguageComplete.bind(this, true),\n onLanguageComplete.bind(this, false));\n }.bind(this);\n\n tryNextLanguage();\n};\n\n/**\n * Load messages from a messages.json file.\n */\nlib.MessageManager.prototype.loadMessages = function(\n url, onSuccess, opt_onError) {\n var xhr = new XMLHttpRequest();\n\n xhr.onloadend = function() {\n if (xhr.status != 200) {\n if (opt_onError)\n opt_onError(xhr.status);\n\n return;\n }\n\n this.addMessages(JSON.parse(xhr.responseText));\n onSuccess();\n }.bind(this);\n\n xhr.open('GET', url);\n xhr.send();\n};\n\n/**\n * Replace $1...$n references with the elements of the args array.\n *\n * @param {string} msg String containing the message and argument references.\n * @param {Array} args Array containing the argument values.\n */\nlib.MessageManager.replaceReferences = function(msg, args) {\n return msg.replace(/\\$(\\d+)/g, function (m, index) {\n return args[index - 1];\n });\n};\n\n/**\n * Per-instance copy of replaceReferences.\n */\nlib.MessageManager.prototype.replaceReferences =\n lib.MessageManager.replaceReferences;\n\n/**\n * Get a message by name, optionally replacing arguments too.\n *\n * @param {string} msgname String containing the name of the message to get.\n * @param {Array} opt_args Optional array containing the argument values.\n * @param {string} opt_default Optional value to return if the msgname is not\n * found. Returns the message name by default.\n */\nlib.MessageManager.prototype.get = function(msgname, opt_args, opt_default) {\n var message;\n\n if (msgname in this.messages) {\n message = this.messages[msgname];\n\n } else {\n if (window.chrome.i18n)\n message = chrome.i18n.getMessage(msgname);\n\n if (!message) {\n console.warn('Unknown message: ' + msgname);\n return (typeof opt_default == 'undefined') ? msgname : opt_default;\n }\n }\n\n if (!opt_args)\n return message;\n\n if (!(opt_args instanceof Array))\n opt_args = [opt_args];\n\n return this.replaceReferences(message, opt_args);\n};\n\n/**\n * Process all of the \"i18n\" html attributes found in a given dom fragment.\n *\n * The real work happens in processI18nAttribute.\n */\nlib.MessageManager.prototype.processI18nAttributes = function(dom) {\n var nodes = dom.querySelectorAll('[i18n]');\n\n for (var i = 0; i < nodes.length; i++)\n this.processI18nAttribute(nodes[i]);\n};\n\n/**\n * Process the \"i18n\" attribute in the specified node.\n *\n * The i18n attribute should contain a JSON object. The keys are taken to\n * be attribute names, and the values are message names.\n *\n * If the JSON object has a \"_\" (underscore) key, its value is used as the\n * textContent of the element.\n *\n * Message names can refer to other attributes on the same element with by\n * prefixing with a dollar sign. For example...\n *\n * \n *\n * The aria-label message name will be computed as \"SEND_BUTTON_ARIA_LABEL\".\n * Notice that the \"id\" attribute was appended to the target attribute, and\n * the result converted to UPPER_AND_UNDER style.\n */\nlib.MessageManager.prototype.processI18nAttribute = function(node) {\n // Convert the \"lower-and-dashes\" attribute names into\n // \"UPPER_AND_UNDER\" style.\n function thunk(str) { return str.replace(/-/g, '_').toUpperCase() }\n\n var i18n = node.getAttribute('i18n');\n if (!i18n)\n return;\n\n try {\n i18n = JSON.parse(i18n);\n } catch (ex) {\n console.error('Can\\'t parse ' + node.tagName + '#' + node.id + ': ' + i18n);\n throw ex;\n }\n\n // Load all the messages specified in the i18n attributes.\n for (var key in i18n) {\n // The node attribute we'll be setting.\n var attr = key;\n\n var msgname = i18n[key];\n // For \"=foo\", re-use the referenced message name.\n if (msgname.startsWith('=')) {\n key = msgname.substr(1);\n msgname = i18n[key];\n }\n\n // For \"$foo\", calculate the message name.\n if (msgname.startsWith('$'))\n msgname = thunk(node.getAttribute(msgname.substr(1)) + '_' + key);\n\n // Finally load the message.\n var msg = this.get(msgname);\n if (attr == '_')\n node.textContent = msg;\n else\n node.setAttribute(attr, msg);\n }\n};\n// SOURCE FILE: libdot/js/lib_preference_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Constructor for lib.PreferenceManager objects.\n *\n * These objects deal with persisting changes to stable storage and notifying\n * consumers when preferences change.\n *\n * It is intended that the backing store could be something other than HTML5\n * storage, but there aren't any use cases at the moment. In the future there\n * may be a chrome api to store sync-able name/value pairs, and we'd want\n * that.\n *\n * @param {lib.Storage.*} storage The storage object to use as a backing\n * store.\n * @param {string} opt_prefix The optional prefix to be used for all preference\n * names. The '/' character should be used to separate levels of hierarchy,\n * if you're going to have that kind of thing. If provided, the prefix\n * should start with a '/'. If not provided, it defaults to '/'.\n */\nlib.PreferenceManager = function(storage, opt_prefix) {\n this.storage = storage;\n this.storageObserver_ = this.onStorageChange_.bind(this);\n\n this.isActive_ = false;\n this.activate();\n\n this.trace = false;\n\n var prefix = opt_prefix || '/';\n if (!prefix.endsWith('/'))\n prefix += '/';\n\n this.prefix = prefix;\n\n this.prefRecords_ = {};\n this.globalObservers_ = [];\n\n this.childFactories_ = {};\n\n // Map of list-name to {map of child pref managers}\n // As in...\n //\n // this.childLists_ = {\n // 'profile-ids': {\n // 'one': PreferenceManager,\n // 'two': PreferenceManager,\n // ...\n // },\n //\n // 'frob-ids': {\n // ...\n // }\n // }\n this.childLists_ = {};\n};\n\n/**\n * Used internally to indicate that the current value of the preference should\n * be taken from the default value defined with the preference.\n *\n * Equality tests against this value MUST use '===' or '!==' to be accurate.\n */\nlib.PreferenceManager.prototype.DEFAULT_VALUE = lib.f.createEnum('DEFAULT');\n\n/**\n * An individual preference.\n *\n * These objects are managed by the PreferenceManager, you shouldn't need to\n * handle them directly.\n */\nlib.PreferenceManager.Record = function(name, defaultValue) {\n this.name = name;\n this.defaultValue = defaultValue;\n this.currentValue = this.DEFAULT_VALUE;\n this.observers = [];\n};\n\n/**\n * A local copy of the DEFAULT_VALUE constant to make it less verbose.\n */\nlib.PreferenceManager.Record.prototype.DEFAULT_VALUE =\n lib.PreferenceManager.prototype.DEFAULT_VALUE;\n\n/**\n * Register a callback to be invoked when this preference changes.\n *\n * @param {function(value, string, lib.PreferenceManager} observer The function\n * to invoke. It will receive the new value, the name of the preference,\n * and a reference to the PreferenceManager as parameters.\n */\nlib.PreferenceManager.Record.prototype.addObserver = function(observer) {\n this.observers.push(observer);\n};\n\n/**\n * Unregister an observer callback.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.PreferenceManager.Record.prototype.removeObserver = function(observer) {\n var i = this.observers.indexOf(observer);\n if (i >= 0)\n this.observers.splice(i, 1);\n};\n\n/**\n * Fetch the value of this preference.\n */\nlib.PreferenceManager.Record.prototype.get = function() {\n if (this.currentValue === this.DEFAULT_VALUE) {\n if (/^(string|number)$/.test(typeof this.defaultValue))\n return this.defaultValue;\n\n if (typeof this.defaultValue == 'object') {\n // We want to return a COPY of the default value so that users can\n // modify the array or object without changing the default value.\n return JSON.parse(JSON.stringify(this.defaultValue));\n }\n\n return this.defaultValue;\n }\n\n return this.currentValue;\n};\n\n/**\n * Stop this preference manager from tracking storage changes.\n *\n * Call this if you're going to swap out one preference manager for another so\n * that you don't get notified about irrelevant changes.\n */\nlib.PreferenceManager.prototype.deactivate = function() {\n if (!this.isActive_)\n throw new Error('Not activated');\n\n this.isActive_ = false;\n this.storage.removeObserver(this.storageObserver_);\n};\n\n/**\n * Start tracking storage changes.\n *\n * If you previously deactivated this preference manager, you can reactivate it\n * with this method. You don't need to call this at initialization time, as\n * it's automatically called as part of the constructor.\n */\nlib.PreferenceManager.prototype.activate = function() {\n if (this.isActive_)\n throw new Error('Already activated');\n\n this.isActive_ = true;\n this.storage.addObserver(this.storageObserver_);\n};\n\n/**\n * Read the backing storage for these preferences.\n *\n * You should do this once at initialization time to prime the local cache\n * of preference values. The preference manager will monitor the backing\n * storage for changes, so you should not need to call this more than once.\n *\n * This function recursively reads storage for all child preference managers as\n * well.\n *\n * This function is asynchronous, if you need to read preference values, you\n * *must* wait for the callback.\n *\n * @param {function()} opt_callback Optional function to invoke when the read\n * has completed.\n */\nlib.PreferenceManager.prototype.readStorage = function(opt_callback) {\n var pendingChildren = 0;\n\n function onChildComplete() {\n if (--pendingChildren == 0 && opt_callback)\n opt_callback();\n }\n\n var keys = Object.keys(this.prefRecords_).map(\n function(el) { return this.prefix + el }.bind(this));\n\n if (this.trace)\n console.log('Preferences read: ' + this.prefix);\n\n this.storage.getItems(keys, function(items) {\n var prefixLength = this.prefix.length;\n\n for (var key in items) {\n var value = items[key];\n var name = key.substr(prefixLength);\n var needSync = (name in this.childLists_ &&\n (JSON.stringify(value) !=\n JSON.stringify(this.prefRecords_[name].currentValue)));\n\n this.prefRecords_[name].currentValue = value;\n\n if (needSync) {\n pendingChildren++;\n this.syncChildList(name, onChildComplete);\n }\n }\n\n if (pendingChildren == 0 && opt_callback)\n setTimeout(opt_callback);\n }.bind(this));\n};\n\n/**\n * Define a preference.\n *\n * This registers a name, default value, and onChange handler for a preference.\n *\n * @param {string} name The name of the preference. This will be prefixed by\n * the prefix of this PreferenceManager before written to local storage.\n * @param {string|number|boolean|Object|Array|null} value The default value of\n * this preference. Anything that can be represented in JSON is a valid\n * default value.\n * @param {function(value, string, lib.PreferenceManager} opt_observer A\n * function to invoke when the preference changes. It will receive the new\n * value, the name of the preference, and a reference to the\n * PreferenceManager as parameters.\n */\nlib.PreferenceManager.prototype.definePreference = function(\n name, value, opt_onChange) {\n\n var record = this.prefRecords_[name];\n if (record) {\n this.changeDefault(name, value);\n } else {\n record = this.prefRecords_[name] =\n new lib.PreferenceManager.Record(name, value);\n }\n\n if (opt_onChange)\n record.addObserver(opt_onChange);\n};\n\n/**\n * Define multiple preferences with a single function call.\n *\n * @param {Array} defaults An array of 3-element arrays. Each three element\n * array should contain the [key, value, onChange] parameters for a\n * preference.\n */\nlib.PreferenceManager.prototype.definePreferences = function(defaults) {\n for (var i = 0; i < defaults.length; i++) {\n this.definePreference(defaults[i][0], defaults[i][1], defaults[i][2]);\n }\n};\n\n/**\n * Define an ordered list of child preferences.\n *\n * Child preferences are different from just storing an array of JSON objects\n * in that each child is an instance of a preference manager. This means you\n * can observe changes to individual child preferences, and get some validation\n * that you're not reading or writing to an undefined child preference value.\n *\n * @param {string} listName A name for the list of children. This must be\n * unique in this preference manager. The listName will become a\n * preference on this PreferenceManager used to store the ordered list of\n * child ids. It is also used in get/add/remove operations to identify the\n * list of children to operate on.\n * @param {function} childFactory A function that will be used to generate\n * instances of these children. The factory function will receive the\n * parent lib.PreferenceManager object and a unique id for the new child\n * preferences.\n */\nlib.PreferenceManager.prototype.defineChildren = function(\n listName, childFactory) {\n\n // Define a preference to hold the ordered list of child ids.\n this.definePreference(listName, [],\n this.onChildListChange_.bind(this, listName));\n this.childFactories_[listName] = childFactory;\n this.childLists_[listName] = {};\n};\n\n/**\n * Register to observe preference changes.\n *\n * @param {Function} global A callback that will happen for every preference.\n * Pass null if you don't need one.\n * @param {Object} map A map of preference specific callbacks. Pass null if\n * you don't need any.\n */\nlib.PreferenceManager.prototype.addObservers = function(global, map) {\n if (global && typeof global != 'function')\n throw new Error('Invalid param: globals');\n\n if (global)\n this.globalObservers_.push(global);\n\n if (!map)\n return;\n\n for (var name in map) {\n if (!(name in this.prefRecords_))\n throw new Error('Unknown preference: ' + name);\n\n this.prefRecords_[name].addObserver(map[name]);\n }\n};\n\n/**\n * Dispatch the change observers for all known preferences.\n *\n * It may be useful to call this after readStorage completes, in order to\n * get application state in sync with user preferences.\n *\n * This can be used if you've changed a preference manager out from under\n * a live object, for example when switching to a different prefix.\n */\nlib.PreferenceManager.prototype.notifyAll = function() {\n for (var name in this.prefRecords_) {\n this.notifyChange_(name);\n }\n};\n\n/**\n * Notify the change observers for a given preference.\n *\n * @param {string} name The name of the preference that changed.\n */\nlib.PreferenceManager.prototype.notifyChange_ = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n var currentValue = record.get();\n\n for (var i = 0; i < this.globalObservers_.length; i++)\n this.globalObservers_[i](name, currentValue);\n\n for (var i = 0; i < record.observers.length; i++) {\n record.observers[i](currentValue, name, this);\n }\n};\n\n/**\n * Create a new child PreferenceManager for the given child list.\n *\n * The optional hint parameter is an opaque prefix added to the auto-generated\n * unique id for this child. Your child factory can parse out the prefix\n * and use it.\n *\n * @param {string} listName The child list to create the new instance from.\n * @param {string} opt_hint Optional hint to include in the child id.\n * @param {string} opt_id Optional id to override the generated id.\n */\nlib.PreferenceManager.prototype.createChild = function(listName, opt_hint,\n opt_id) {\n var ids = this.get(listName);\n var id;\n\n if (opt_id) {\n id = opt_id;\n if (ids.indexOf(id) != -1)\n throw new Error('Duplicate child: ' + listName + ': ' + id);\n\n } else {\n // Pick a random, unique 4-digit hex identifier for the new profile.\n while (!id || ids.indexOf(id) != -1) {\n id = lib.f.randomInt(1, 0xffff).toString(16);\n id = lib.f.zpad(id, 4);\n if (opt_hint)\n id = opt_hint + ':' + id;\n }\n }\n\n var childManager = this.childFactories_[listName](this, id);\n childManager.trace = this.trace;\n childManager.resetAll();\n\n this.childLists_[listName][id] = childManager;\n\n ids.push(id);\n this.set(listName, ids);\n\n return childManager;\n};\n\n/**\n * Remove a child preferences instance.\n *\n * Removes a child preference manager and clears any preferences stored in it.\n *\n * @param {string} listName The name of the child list containing the child to\n * remove.\n * @param {string} id The child ID.\n */\nlib.PreferenceManager.prototype.removeChild = function(listName, id) {\n var prefs = this.getChild(listName, id);\n prefs.resetAll();\n\n var ids = this.get(listName);\n var i = ids.indexOf(id);\n if (i != -1) {\n ids.splice(i, 1);\n this.set(listName, ids);\n }\n\n delete this.childLists_[listName][id];\n};\n\n/**\n * Return a child PreferenceManager instance for a given id.\n *\n * If the child list or child id is not known this will return the specified\n * default value or throw an exception if no default value is provided.\n *\n * @param {string} listName The child list to look in.\n * @param {string} id The child ID.\n * @param {*} opt_default The optional default value to return if the child\n * is not found.\n */\nlib.PreferenceManager.prototype.getChild = function(listName, id, opt_default) {\n if (!(listName in this.childLists_))\n throw new Error('Unknown child list: ' + listName);\n\n var childList = this.childLists_[listName];\n if (!(id in childList)) {\n if (typeof opt_default == 'undefined')\n throw new Error('Unknown \"' + listName + '\" child: ' + id);\n\n return opt_default;\n }\n\n return childList[id];\n};\n\n/**\n * Calculate the difference between two lists of child ids.\n *\n * Given two arrays of child ids, this function will return an object\n * with \"added\", \"removed\", and \"common\" properties. Each property is\n * a map of child-id to `true`. For example, given...\n *\n * a = ['child-x', 'child-y']\n * b = ['child-y']\n *\n * diffChildLists(a, b) =>\n * { added: { 'child-x': true }, removed: {}, common: { 'child-y': true } }\n *\n * The added/removed properties assume that `a` is the current list.\n *\n * @param {Array[string]} a The most recent list of child ids.\n * @param {Array[string]} b An older list of child ids.\n * @return {Object} An object with added/removed/common properties.\n */\nlib.PreferenceManager.diffChildLists = function(a, b) {\n var rv = {\n added: {},\n removed: {},\n common: {},\n };\n\n for (var i = 0; i < a.length; i++) {\n if (b.indexOf(a[i]) != -1) {\n rv.common[a[i]] = true;\n } else {\n rv.added[a[i]] = true;\n }\n }\n\n for (var i = 0; i < b.length; i++) {\n if ((b[i] in rv.added) || (b[i] in rv.common))\n continue;\n\n rv.removed[b[i]] = true;\n }\n\n return rv;\n};\n\n/**\n * Synchronize a list of child PreferenceManagers instances with the current\n * list stored in prefs.\n *\n * This will instantiate any missing managers and read current preference values\n * from storage. Any active managers that no longer appear in preferences will\n * be deleted.\n *\n * @param {string} listName The child list to synchronize.\n * @param {function()} opt_callback Optional function to invoke when the sync\n * is complete.\n */\nlib.PreferenceManager.prototype.syncChildList = function(\n listName, opt_callback) {\n\n var pendingChildren = 0;\n function onChildStorage() {\n if (--pendingChildren == 0 && opt_callback)\n opt_callback();\n }\n\n // The list of child ids that we *should* have a manager for.\n var currentIds = this.get(listName);\n\n // The known managers at the start of the sync. Any manager still in this\n // list at the end should be discarded.\n var oldIds = Object.keys(this.childLists_[listName]);\n\n var rv = lib.PreferenceManager.diffChildLists(currentIds, oldIds);\n\n for (var i = 0; i < currentIds.length; i++) {\n var id = currentIds[i];\n\n var managerIndex = oldIds.indexOf(id);\n if (managerIndex >= 0)\n oldIds.splice(managerIndex, 1);\n\n if (!this.childLists_[listName][id]) {\n var childManager = this.childFactories_[listName](this, id);\n if (!childManager) {\n console.warn('Unable to restore child: ' + listName + ': ' + id);\n continue;\n }\n\n childManager.trace = this.trace;\n this.childLists_[listName][id] = childManager;\n pendingChildren++;\n childManager.readStorage(onChildStorage);\n }\n }\n\n for (var i = 0; i < oldIds.length; i++) {\n delete this.childLists_[listName][oldIds[i]];\n }\n\n if (!pendingChildren && opt_callback)\n setTimeout(opt_callback);\n};\n\n/**\n * Reset a preference to its default state.\n *\n * This will dispatch the onChange handler if the preference value actually\n * changes.\n *\n * @param {string} name The preference to reset.\n */\nlib.PreferenceManager.prototype.reset = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n this.storage.removeItem(this.prefix + name);\n\n if (record.currentValue !== this.DEFAULT_VALUE) {\n record.currentValue = this.DEFAULT_VALUE;\n this.notifyChange_(name);\n }\n};\n\n/**\n * Reset all preferences back to their default state.\n */\nlib.PreferenceManager.prototype.resetAll = function() {\n var changed = [];\n\n for (var listName in this.childLists_) {\n var childList = this.childLists_[listName];\n for (var id in childList) {\n childList[id].resetAll();\n }\n }\n\n for (var name in this.prefRecords_) {\n if (this.prefRecords_[name].currentValue !== this.DEFAULT_VALUE) {\n this.prefRecords_[name].currentValue = this.DEFAULT_VALUE;\n changed.push(name);\n }\n }\n\n var keys = Object.keys(this.prefRecords_).map(function(el) {\n return this.prefix + el;\n }.bind(this));\n\n this.storage.removeItems(keys);\n\n changed.forEach(this.notifyChange_.bind(this));\n};\n\n/**\n * Return true if two values should be considered not-equal.\n *\n * If both values are the same scalar type and compare equal this function\n * returns false (no difference), otherwise return true.\n *\n * This is used in places where we want to check if a preference has changed.\n * Rather than take the time to compare complex values we just consider them\n * to always be different.\n *\n * @param {*} a A value to compare.\n * @param {*} b A value to compare.\n */\nlib.PreferenceManager.prototype.diff = function(a, b) {\n // If the types are different, or the type is not a simple primitive one.\n if ((typeof a) !== (typeof b) ||\n !(/^(undefined|boolean|number|string)$/.test(typeof a))) {\n return true;\n }\n\n return a !== b;\n};\n\n/**\n * Change the default value of a preference.\n *\n * This is useful when subclassing preference managers.\n *\n * The function does not alter the current value of the preference, unless\n * it has the old default value. When that happens, the change observers\n * will be notified.\n *\n * @param {string} name The name of the parameter to change.\n * @param {*} newValue The new default value for the preference.\n */\nlib.PreferenceManager.prototype.changeDefault = function(name, newValue) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n if (!this.diff(record.defaultValue, newValue)) {\n // Default value hasn't changed.\n return;\n }\n\n if (record.currentValue !== this.DEFAULT_VALUE) {\n // This pref has a specific value, just change the default and we're done.\n record.defaultValue = newValue;\n return;\n }\n\n record.defaultValue = newValue;\n\n this.notifyChange_(name);\n};\n\n/**\n * Change the default value of multiple preferences.\n *\n * @param {Object} map A map of name -> value pairs specifying the new default\n * values.\n */\nlib.PreferenceManager.prototype.changeDefaults = function(map) {\n for (var key in map) {\n this.changeDefault(key, map[key]);\n }\n};\n\n/**\n * Set a preference to a specific value.\n *\n * This will dispatch the onChange handler if the preference value actually\n * changes.\n *\n * @param {string} key The preference to set.\n * @param {*} value The value to set. Anything that can be represented in\n * JSON is a valid value.\n */\nlib.PreferenceManager.prototype.set = function(name, newValue) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n var oldValue = record.get();\n\n if (!this.diff(oldValue, newValue))\n return;\n\n if (this.diff(record.defaultValue, newValue)) {\n record.currentValue = newValue;\n this.storage.setItem(this.prefix + name, newValue);\n } else {\n record.currentValue = this.DEFAULT_VALUE;\n this.storage.removeItem(this.prefix + name);\n }\n\n // We need to manually send out the notification on this instance. If we\n // The storage event won't fire a notification because we've already changed\n // the currentValue, so it won't see a difference. If we delayed changing\n // currentValue until the storage event, a pref read immediately after a write\n // would return the previous value.\n //\n // The notification is in a timeout so clients don't accidentally depend on\n // a synchronous notification.\n setTimeout(this.notifyChange_.bind(this, name), 0);\n};\n\n/**\n * Get the value of a preference.\n *\n * @param {string} key The preference to get.\n */\nlib.PreferenceManager.prototype.get = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n return record.get();\n};\n\n/**\n * Return all non-default preferences as a JSON object.\n *\n * This includes any nested preference managers as well.\n */\nlib.PreferenceManager.prototype.exportAsJson = function() {\n var rv = {};\n\n for (var name in this.prefRecords_) {\n if (name in this.childLists_) {\n rv[name] = [];\n var childIds = this.get(name);\n for (var i = 0; i < childIds.length; i++) {\n var id = childIds[i];\n rv[name].push({id: id, json: this.getChild(name, id).exportAsJson()});\n }\n\n } else {\n var record = this.prefRecords_[name];\n if (record.currentValue != this.DEFAULT_VALUE)\n rv[name] = record.currentValue;\n }\n }\n\n return rv;\n};\n\n/**\n * Import a JSON blob of preferences previously generated with exportAsJson.\n *\n * This will create nested preference managers as well.\n */\nlib.PreferenceManager.prototype.importFromJson = function(json) {\n for (var name in json) {\n if (name in this.childLists_) {\n var childList = json[name];\n for (var i = 0; i < childList.length; i++) {\n var id = childList[i].id;\n\n var childPrefManager = this.childLists_[name][id];\n if (!childPrefManager)\n childPrefManager = this.createChild(name, null, id);\n\n childPrefManager.importFromJson(childList[i].json);\n }\n\n } else {\n this.set(name, json[name]);\n }\n }\n};\n\n/**\n * Called when one of the child list preferences changes.\n */\nlib.PreferenceManager.prototype.onChildListChange_ = function(listName) {\n this.syncChildList(listName);\n};\n\n/**\n * Called when a key in the storage changes.\n */\nlib.PreferenceManager.prototype.onStorageChange_ = function(map) {\n for (var key in map) {\n if (this.prefix) {\n if (key.lastIndexOf(this.prefix, 0) != 0)\n continue;\n }\n\n var name = key.substr(this.prefix.length);\n\n if (!(name in this.prefRecords_)) {\n // Sometimes we'll get notified about prefs that are no longer defined.\n continue;\n }\n\n var record = this.prefRecords_[name];\n\n var newValue = map[key].newValue;\n var currentValue = record.currentValue;\n if (currentValue === record.DEFAULT_VALUE)\n currentValue = (void 0);\n\n if (this.diff(currentValue, newValue)) {\n if (typeof newValue == 'undefined' || newValue === null) {\n record.currentValue = record.DEFAULT_VALUE;\n } else {\n record.currentValue = newValue;\n }\n\n this.notifyChange_(name);\n }\n }\n};\n// SOURCE FILE: libdot/js/lib_resource.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Storage for canned resources.\n *\n * These are usually non-JavaScript things that are collected during a build\n * step and converted into a series of 'lib.resource.add(...)' calls. See\n * the \"@resource\" directive from libdot/bin/concat.sh for the canonical use\n * case.\n *\n * This is global storage, so you should prefix your resource names to avoid\n * collisions.\n */\nlib.resource = {\n resources_: {}\n};\n\n/**\n * Add a resource.\n *\n * @param {string} name A name for the resource. You should prefix this to\n * avoid collisions with resources from a shared library.\n * @param {string} type A mime type for the resource, or \"raw\" if not\n * applicable.\n * @param {*} data The value of the resource.\n */\nlib.resource.add = function(name, type, data) {\n lib.resource.resources_[name] = {\n type: type,\n name: name,\n data: data\n };\n};\n\n/**\n * Retrieve a resource record.\n *\n * The resource data is stored on the \"data\" property of the returned object.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {object} An object with \"type\", \"name\", and \"data\" properties.\n */\nlib.resource.get = function(name, opt_defaultValue) {\n if (!(name in lib.resource.resources_)) {\n if (typeof opt_defaultValue == 'undefined')\n throw 'Unknown resource: ' + name;\n\n return opt_defaultValue;\n }\n\n return lib.resource.resources_[name];\n};\n\n/**\n * Retrieve resource data.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {*} The resource data.\n */\nlib.resource.getData = function(name, opt_defaultValue) {\n if (!(name in lib.resource.resources_)) {\n if (typeof opt_defaultValue == 'undefined')\n throw 'Unknown resource: ' + name;\n\n return opt_defaultValue;\n }\n\n return lib.resource.resources_[name].data;\n};\n\n/**\n * Retrieve resource as a data: url.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {*} A data: url encoded version of the resource.\n */\nlib.resource.getDataUrl = function(name, opt_defaultValue) {\n var resource = lib.resource.get(name, opt_defaultValue);\n return 'data:' + resource.type + ',' + resource.data;\n};\n// SOURCE FILE: libdot/js/lib_storage.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Namespace for implementations of persistent, possibly cloud-backed\n * storage.\n */\nlib.Storage = new Object();\n// SOURCE FILE: libdot/js/lib_storage_chrome.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * chrome.storage based class with an async interface that is interchangeable\n * with other lib.Storage.* implementations.\n */\nlib.Storage.Chrome = function(storage) {\n this.storage_ = storage;\n this.observers_ = [];\n\n chrome.storage.onChanged.addListener(this.onChanged_.bind(this));\n};\n\n/**\n * Called by the storage implementation when the storage is modified.\n */\nlib.Storage.Chrome.prototype.onChanged_ = function(changes, areaname) {\n if (chrome.storage[areaname] != this.storage_)\n return;\n\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](changes);\n }\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Chrome.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Chrome.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Chrome.prototype.clear = function(opt_callback) {\n this.storage_.clear();\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Chrome.prototype.getItem = function(key, callback) {\n this.storage_.get(key, callback);\n};\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\n\nlib.Storage.Chrome.prototype.getItems = function(keys, callback) {\n this.storage_.get(keys, callback);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.setItem = function(key, value, opt_callback) {\n var obj = {};\n obj[key] = value;\n this.storage_.set(obj, opt_callback);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.setItems = function(obj, opt_callback) {\n this.storage_.set(obj, opt_callback);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.removeItem = function(key, opt_callback) {\n this.storage_.remove(key, opt_callback);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.removeItems = function(keys, opt_callback) {\n this.storage_.remove(keys, opt_callback);\n};\n// SOURCE FILE: libdot/js/lib_storage_local.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * window.localStorage based class with an async interface that is\n * interchangeable with other lib.Storage.* implementations.\n */\nlib.Storage.Local = function() {\n this.observers_ = [];\n this.storage_ = window.localStorage;\n window.addEventListener('storage', this.onStorage_.bind(this));\n};\n\n/**\n * Called by the storage implementation when the storage is modified.\n */\nlib.Storage.Local.prototype.onStorage_ = function(e) {\n if (e.storageArea != this.storage_)\n return;\n\n // JS throws an exception if JSON.parse is given an empty string. So here we\n // only parse if the value is truthy. This mean the empty string, undefined\n // and null will not be parsed.\n var prevValue = e.oldValue ? JSON.parse(e.oldValue) : e.oldValue;\n var curValue = e.newValue ? JSON.parse(e.newValue) : e.newValue;\n var o = {};\n o[e.key] = {\n oldValue: prevValue,\n newValue: curValue\n };\n\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](o);\n }\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Local.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Local.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Local.prototype.clear = function(opt_callback) {\n this.storage_.clear();\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Local.prototype.getItem = function(key, callback) {\n var value = this.storage_.getItem(key);\n\n if (typeof value == 'string') {\n try {\n value = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n }\n }\n\n setTimeout(callback.bind(null, value), 0);\n};\n\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\nlib.Storage.Local.prototype.getItems = function(keys, callback) {\n var rv = {};\n\n for (var i = keys.length - 1; i >= 0; i--) {\n var key = keys[i];\n var value = this.storage_.getItem(key);\n if (typeof value == 'string') {\n try {\n rv[key] = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n rv[key] = value;\n }\n } else {\n keys.splice(i, 1);\n }\n }\n\n setTimeout(callback.bind(null, rv), 0);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.setItem = function(key, value, opt_callback) {\n this.storage_.setItem(key, JSON.stringify(value));\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.setItems = function(obj, opt_callback) {\n for (var key in obj) {\n this.storage_.setItem(key, JSON.stringify(obj[key]));\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.removeItem = function(key, opt_callback) {\n this.storage_.removeItem(key);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.removeItems = function(ary, opt_callback) {\n for (var i = 0; i < ary.length; i++) {\n this.storage_.removeItem(ary[i]);\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n// SOURCE FILE: libdot/js/lib_storage_memory.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * In-memory storage class with an async interface that is interchangeable with\n * other lib.Storage.* implementations.\n */\nlib.Storage.Memory = function() {\n this.observers_ = [];\n this.storage_ = {};\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Memory.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Memory.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Memory.prototype.clear = function(opt_callback) {\n var e = {};\n for (var key in this.storage_) {\n e[key] = {oldValue: this.storage_[key], newValue: (void 0)};\n }\n\n this.storage_ = {};\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this), 0);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Memory.prototype.getItem = function(key, callback) {\n var value = this.storage_[key];\n\n if (typeof value == 'string') {\n try {\n value = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n }\n }\n\n setTimeout(callback.bind(null, value), 0);\n};\n\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\nlib.Storage.Memory.prototype.getItems = function(keys, callback) {\n var rv = {};\n\n for (var i = keys.length - 1; i >= 0; i--) {\n var key = keys[i];\n var value = this.storage_[key];\n if (typeof value == 'string') {\n try {\n rv[key] = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n rv[key] = value;\n }\n } else {\n keys.splice(i, 1);\n }\n }\n\n setTimeout(callback.bind(null, rv), 0);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.setItem = function(key, value, opt_callback) {\n var oldValue = this.storage_[key];\n this.storage_[key] = JSON.stringify(value);\n\n var e = {};\n e[key] = {oldValue: oldValue, newValue: value};\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this), 0);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.setItems = function(obj, opt_callback) {\n var e = {};\n\n for (var key in obj) {\n e[key] = {oldValue: this.storage_[key], newValue: obj[key]};\n this.storage_[key] = JSON.stringify(obj[key]);\n }\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this));\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.removeItem = function(key, opt_callback) {\n delete this.storage_[key];\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.removeItems = function(ary, opt_callback) {\n for (var i = 0; i < ary.length; i++) {\n delete this.storage_[ary[i]];\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n// SOURCE FILE: libdot/js/lib_test_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview JavaScript unit testing framework for synchronous and\n * asynchronous tests.\n *\n * This file contains the lib.TestManager and related classes. At the moment\n * it's all collected in a single file since it's reasonably small\n * (=~1k lines), and it's a lot easier to include one file into your test\n * harness than it is to include seven.\n *\n * The following classes are defined...\n *\n * lib.TestManager - The root class and entrypoint for creating test runs.\n * lib.TestManager.Log - Logging service.\n * lib.TestManager.Suite - A collection of tests.\n * lib.TestManager.Test - A single test.\n * lib.TestManager.TestRun - Manages the execution of a set of tests.\n * lib.TestManager.Result - A single test result.\n */\n\n/**\n * Root object in the unit test hierarchy, and keeper of the log object.\n *\n * @param {lib.TestManager.Log} opt_log Optional lib.TestManager.Log object.\n * Logs to the JavaScript console if omitted.\n */\nlib.TestManager = function(opt_log) {\n this.log = opt_log || new lib.TestManager.Log();\n}\n\n/**\n * Create a new test run object for this test manager.\n *\n * @param {Object} opt_cx An object to be passed to test suite setup(),\n * preamble(), and test cases during this test run. This object is opaque\n * to lib.TestManager.* code. It's entirely up to the test suite what it's\n * used for.\n */\nlib.TestManager.prototype.createTestRun = function(opt_cx) {\n return new lib.TestManager.TestRun(this, opt_cx);\n};\n\n/**\n * Called when a test run associated with this test manager completes.\n *\n * Clients may override this to call an appropriate function.\n */\nlib.TestManager.prototype.onTestRunComplete = function(testRun) {};\n\n/**\n * Called before a test associated with this test manager is run.\n *\n * @param {lib.TestManager.Result} result The result object for the upcoming\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.prototype.testPreamble = function(result, cx) {};\n\n/**\n * Called after a test associated with this test manager finishes.\n *\n * @param {lib.TestManager.Result} result The result object for the finished\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.prototype.testPostamble = function(result, cx) {};\n\n/**\n * Destination for test case output.\n *\n * Thw API will be the same as the console object. e.g. We support info(),\n * warn(), error(), etc... just like console.info(), etc...\n *\n * @param {Object} opt_console The console object to route all logging through.\n * Should provide saome API as the standard console API.\n */\nlib.TestManager.Log = function(opt_console=console) {\n this.save = false;\n this.data = '';\n this.prefix_ = '';\n this.prefixStack_ = 0;\n\n // Capture all the console entry points in case code at runtime calls these\n // directly. We want to be able to still see things.\n // We also expose the direct API to our callers (e.g. we provide warn()).\n this.console_ = opt_console;\n ['log', 'debug', 'info', 'warn', 'error'].forEach((level) => {\n let msgPrefix = '';\n switch (level) {\n case 'debug':\n case 'warn':\n case 'error':\n msgPrefix = level.toUpperCase() + ': ';\n break;\n }\n\n const oLog = this.console_[level];\n this[level] = this.console_[level] = (...args) => {\n if (this.save)\n this.data += this.prefix_ + msgPrefix + args.join(' ') + '\\n';\n oLog.apply(this.console_, args);\n };\n });\n\n // Wrap/bind the group functions.\n ['group', 'groupCollapsed'].forEach((group) => {\n const oGroup = this.console_[group];\n this[group] = this.console_[group] = (label='') => {\n oGroup(label);\n if (this.save)\n this.data += this.prefix_ + label + '\\n';\n this.prefix_ = ' '.repeat(++this.prefixStack_);\n };\n });\n\n const oGroupEnd = this.console_.groupEnd;\n this.groupEnd = this.console_.groupEnd = () => {\n oGroupEnd();\n this.prefix_ = ' '.repeat(--this.prefixStack_);\n };\n};\n\n/**\n * Returns a new constructor function that will inherit from\n * lib.TestManager.Suite.\n *\n * Use this function to create a new test suite subclass. It will return a\n * properly initialized constructor function for the subclass. You can then\n * override the setup() and preamble() methods if necessary and add test cases\n * to the subclass.\n *\n * var MyTests = new lib.TestManager.Suite('MyTests');\n *\n * MyTests.prototype.setup = function(cx) {\n * // Sets this.size to cx.size if it exists, or the default value of 10\n * // if not.\n * this.setDefault(cx, {size: 10});\n * };\n *\n * MyTests.prototype.preamble = function(result, cx) {\n * // Some tests (even successful ones) may side-effect this list, so\n * // recreate it before every test.\n * this.list = [];\n * for (var i = 0; i < this.size; i++) {\n * this.list[i] = i;\n * }\n * };\n *\n * // Basic synchronous test case.\n * MyTests.addTest('pop-length', function(result, cx) {\n * this.list.pop();\n *\n * // If this assertion fails, the testcase will stop here.\n * result.assertEQ(this.list.length, this.size - 1);\n *\n * // A test must indicate it has passed by calling this method.\n * result.pass();\n * });\n *\n * // Sample asynchronous test case.\n * MyTests.addTest('async-pop-length', function(result, cx) {\n * var self = this;\n *\n * var callback = function() {\n * result.assertEQ(self.list.length, self.size - 1);\n * result.pass();\n * };\n *\n * // Wait 100ms to check the array length for the sake of this example.\n * setTimeout(callback, 100);\n *\n * this.list.pop();\n *\n * // Indicate that this test needs another 200ms to complete.\n * // If the test does not report pass/fail by then, it is considered to\n * // have timed out.\n * result.requestTime(200);\n * });\n *\n * ...\n *\n * @param {string} suiteName The name of the test suite.\n */\nlib.TestManager.Suite = function(suiteName) {\n function ctor(testManager, cx) {\n this.testManager_ = testManager;\n this.suiteName = suiteName;\n\n this.setup(cx);\n }\n\n ctor.suiteName = suiteName;\n ctor.addTest = lib.TestManager.Suite.addTest;\n ctor.disableTest = lib.TestManager.Suite.disableTest;\n ctor.getTest = lib.TestManager.Suite.getTest;\n ctor.getTestList = lib.TestManager.Suite.getTestList;\n ctor.testList_ = [];\n ctor.testMap_ = {};\n ctor.prototype = Object.create(lib.TestManager.Suite.prototype);\n ctor.constructor = lib.TestManager.Suite;\n\n lib.TestManager.Suite.subclasses.push(ctor);\n\n return ctor;\n};\n\n/**\n * List of lib.TestManager.Suite subclasses, in the order they were defined.\n */\nlib.TestManager.Suite.subclasses = [];\n\n/**\n * Add a test to a lib.TestManager.Suite.\n *\n * This method is copied to new subclasses when they are created.\n */\nlib.TestManager.Suite.addTest = function(testName, testFunction) {\n if (testName in this.testMap_)\n throw 'Duplicate test name: ' + testName;\n\n var test = new lib.TestManager.Test(this, testName, testFunction);\n this.testMap_[testName] = test;\n this.testList_.push(test);\n};\n\n/**\n * Defines a disabled test.\n */\nlib.TestManager.Suite.disableTest = function(testName, testFunction) {\n if (testName in this.testMap_)\n throw 'Duplicate test name: ' + testName;\n\n var test = new lib.TestManager.Test(this, testName, testFunction);\n console.log('Disabled test: ' + test.fullName);\n};\n\n/**\n * Get a lib.TestManager.Test instance by name.\n *\n * This method is copied to new subclasses when they are created.\n *\n * @param {string} testName The name of the desired test.\n * @return {lib.TestManager.Test} The requested test, or undefined if it was not\n * found.\n */\nlib.TestManager.Suite.getTest = function(testName) {\n return this.testMap_[testName];\n};\n\n/**\n * Get an array of lib.TestManager.Tests associated with this Suite.\n *\n * This method is copied to new subclasses when they are created.\n */\nlib.TestManager.Suite.getTestList = function() {\n return this.testList_;\n};\n\n/**\n * Set properties on a test suite instance, pulling the property value from\n * the context if it exists and from the defaults dictionary if not.\n *\n * This is intended to be used in your test suite's setup() method to\n * define parameters for the test suite which may be overridden through the\n * context object. For example...\n *\n * MySuite.prototype.setup = function(cx) {\n * this.setDefaults(cx, {size: 10});\n * };\n *\n * If the context object has a 'size' property then this.size will be set to\n * the value of cx.size, otherwise this.size will get a default value of 10.\n *\n * @param {Object} cx The context object for a test run.\n * @param {Object} defaults An object containing name/value pairs to set on\n * this test suite instance. The value listed here will be used if the\n * name is not defined on the context object.\n */\nlib.TestManager.Suite.prototype.setDefaults = function(cx, defaults) {\n for (var k in defaults) {\n this[k] = (k in cx) ? cx[k] : defaults[k];\n }\n};\n\n/**\n * Subclassable method called to set up the test suite.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of suite-wide setup, this is the place to do it.\n *\n * It's fine to store state on the test suite instance, that state will be\n * accessible to all tests in the suite. If any test case fails, the entire\n * test suite object will be discarded and a new one will be created for\n * the remaining tests.\n *\n * Any side effects outside of this test suite instance must be idempotent.\n * For example, if you're adding DOM nodes to a document, make sure to first\n * test that they're not already there. If they are, remove them rather than\n * reuse them. You should not count on their state, since they were probably\n * left behind by a failed testcase.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.setup = function(cx) {};\n\n/**\n * Subclassable method called to do pre-test set up.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of pre-test setup, this is the place to do it.\n *\n * This can be used to avoid a bunch of boilerplate setup/teardown code in\n * this suite's testcases.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {lib.TestManager.Result} result The result object for the upcoming\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.preamble = function(result, cx) {};\n\n/**\n * Subclassable method called to do post-test tear-down.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of pre-test setup, this is the place to do it.\n *\n * This can be used to avoid a bunch of boilerplate setup/teardown code in\n * this suite's testcases.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {lib.TestManager.Result} result The result object for the finished\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.postamble = function(result, cx) {};\n\n/**\n * Object representing a single test in a test suite.\n *\n * These are created as part of the lib.TestManager.Suite.addTest() method.\n * You should never have to construct one by hand.\n *\n * @param {lib.TestManager.Suite} suiteClass The test suite class containing\n * this test.\n * @param {string} testName The local name of this test case, not including the\n * test suite name.\n * @param {function(lib.TestManager.Result, Object)} testFunction The function\n * to invoke for this test case. This is passed a Result instance and the\n * context object associated with the test run.\n *\n */\nlib.TestManager.Test = function(suiteClass, testName, testFunction) {\n /**\n * The test suite class containing this function.\n */\n this.suiteClass = suiteClass;\n\n /**\n * The local name of this test, not including the test suite name.\n */\n this.testName = testName;\n\n /**\n * The global name of this test, including the test suite name.\n */\n this.fullName = suiteClass.suiteName + '[' + testName + ']';\n\n // The function to call for this test.\n this.testFunction_ = testFunction;\n};\n\n/**\n * Execute this test.\n *\n * This is called by a lib.TestManager.Result instance, as part of a\n * lib.TestManager.TestRun. You should not call it by hand.\n *\n * @param {lib.TestManager.Result} result The result object for the test.\n */\nlib.TestManager.Test.prototype.run = function(result) {\n try {\n // Tests are applied to the parent lib.TestManager.Suite subclass.\n this.testFunction_.apply(result.suite,\n [result, result.testRun.cx]);\n } catch (ex) {\n if (ex instanceof lib.TestManager.Result.TestComplete)\n return;\n\n result.println('Test raised an exception: ' + ex);\n\n if (ex.stack) {\n if (ex.stack instanceof Array) {\n result.println(ex.stack.join('\\n'));\n } else {\n result.println(ex.stack);\n }\n }\n\n result.completeTest_(result.FAILED, false);\n }\n};\n\n/**\n * Used to choose a set of tests and run them.\n *\n * It's slightly more convenient to construct one of these from\n * lib.TestManager.prototype.createTestRun().\n *\n * @param {lib.TestManager} testManager The testManager associated with this\n * TestRun.\n * @param {Object} cx A context to be passed into the tests. This can be used\n * to set parameters for the test suite or individual test cases.\n */\nlib.TestManager.TestRun = function(testManager, cx) {\n /**\n * The associated lib.TestManager instance.\n */\n this.testManager = testManager;\n\n /**\n * Shortcut to the lib.TestManager's log.\n */\n this.log = testManager.log;\n\n /**\n * The test run context. It's entirely up to the test suite and test cases\n * how this is used. It is opaque to lib.TestManager.* classes.\n */\n this.cx = cx || {};\n\n /**\n * The list of test cases that encountered failures.\n */\n this.failures = [];\n\n /**\n * The list of test cases that passed.\n */\n this.passes = [];\n\n /**\n * The time the test run started, or null if it hasn't been started yet.\n */\n this.startDate = null;\n\n /**\n * The time in milliseconds that the test run took to complete, or null if\n * it hasn't completed yet.\n */\n this.duration = null;\n\n /**\n * The most recent result object, or null if the test run hasn't started\n * yet. In order to detect late failures, this is not cleared when the test\n * completes.\n */\n this.currentResult = null;\n\n /**\n * Number of maximum failures. The test run will stop when this number is\n * reached. If 0 or omitted, the entire set of selected tests is run, even\n * if some fail.\n */\n this.maxFailures = 0;\n\n /**\n * True if this test run ended early because of an unexpected condition.\n */\n this.panic = false;\n\n // List of pending test cases.\n this.testQueue_ = [];\n\n};\n\n/**\n * This value can be passed to select() to indicate that all tests should\n * be selected.\n */\nlib.TestManager.TestRun.prototype.ALL_TESTS = lib.f.createEnum('');\n\n/**\n * Add a single test to the test run.\n */\nlib.TestManager.TestRun.prototype.selectTest = function(test) {\n this.testQueue_.push(test);\n};\n\nlib.TestManager.TestRun.prototype.selectSuite = function(\n suiteClass, opt_pattern) {\n var pattern = opt_pattern || this.ALL_TESTS;\n var selectCount = 0;\n var testList = suiteClass.getTestList();\n\n for (var j = 0; j < testList.length; j++) {\n var test = testList[j];\n // Note that we're using \"!==\" rather than \"!=\" so that we're matching\n // the ALL_TESTS String object, rather than the contents of the string.\n if (pattern !== this.ALL_TESTS) {\n if (pattern instanceof RegExp) {\n if (!pattern.test(test.testName))\n continue;\n } else if (test.testName != pattern) {\n continue;\n }\n }\n\n this.selectTest(test);\n selectCount++;\n }\n\n return selectCount;\n};\n\n/**\n * Selects one or more tests to gather results for.\n *\n * Selecting the same test more than once is allowed.\n *\n * @param {string|RegExp} pattern Pattern used to select tests.\n * If TestRun.prototype.ALL_TESTS, all tests are selected.\n * If a string, only the test that exactly matches is selected.\n * If a RegExp, only tests matching the RegExp are added.\n *\n * @return {int} The number of additional tests that have been selected into\n * this TestRun.\n */\nlib.TestManager.TestRun.prototype.selectPattern = function(pattern) {\n var selectCount = 0;\n\n for (var i = 0; i < lib.TestManager.Suite.subclasses.length; i++) {\n selectCount += this.selectSuite(lib.TestManager.Suite.subclasses[i],\n pattern);\n }\n\n if (!selectCount) {\n this.log.warn('No tests matched selection criteria: ' + pattern);\n }\n\n return selectCount;\n};\n\n/**\n * Hooked up to window.onerror during a test run in order to catch exceptions\n * that would otherwise go uncaught.\n */\nlib.TestManager.TestRun.prototype.onUncaughtException_ = function(\n message, file, line) {\n\n if (message.indexOf('Uncaught lib.TestManager.Result.TestComplete') == 0 ||\n message.indexOf('status: passed') != -1) {\n // This is a result.pass() or result.fail() call from a callback. We're\n // already going to deal with it as part of the completeTest_() call\n // that raised it. We can safely squelch this error message.\n return true;\n }\n\n if (!this.currentResult)\n return;\n\n if (message == 'Uncaught ' + this.currentResult.expectedErrorMessage_) {\n // Test cases may need to raise an unhandled exception as part of the test.\n return;\n }\n\n var when = 'during';\n\n if (this.currentResult.status != this.currentResult.PENDING)\n when = 'after';\n\n this.log.error('Uncaught exception ' + when + ' test case: ' +\n this.currentResult.test.fullName);\n this.log.error(message + ', ' + file + ':' + line);\n\n this.currentResult.completeTest_(this.currentResult.FAILED, false);\n\n return false;\n};\n\n/**\n * Called to when this test run has completed.\n *\n * This method typically re-runs itself asynchronously, in order to let the\n * DOM stabilize and short-term timeouts to complete before declaring the\n * test run complete.\n *\n * @param {boolean} opt_skipTimeout If true, the timeout is skipped and the\n * test run is completed immediately. This should only be used from within\n * this function.\n */\nlib.TestManager.TestRun.prototype.onTestRunComplete_ = function(\n opt_skipTimeout) {\n if (!opt_skipTimeout) {\n // The final test may have left a lingering setTimeout(..., 0), or maybe\n // poked at the DOM in a way that will trigger a event to fire at the end\n // of this stack, so we give things a chance to settle down before our\n // final cleanup...\n setTimeout(this.onTestRunComplete_.bind(this), 0, true);\n return;\n }\n\n this.duration = (new Date()) - this.startDate;\n\n this.log.groupEnd();\n this.log.info(this.passes.length + ' passed, ' +\n this.failures.length + ' failed, ' +\n this.msToSeconds_(this.duration));\n\n this.summarize();\n\n window.onerror = null;\n\n this.testManager.onTestRunComplete(this);\n};\n\n/**\n * Called by the lib.TestManager.Result object when a test completes.\n *\n * @param {lib.TestManager.Result} result The result object which has just\n * completed.\n */\nlib.TestManager.TestRun.prototype.onResultComplete = function(result) {\n try {\n this.testManager.testPostamble(result, this.cx);\n result.suite.postamble(result, this.ctx);\n } catch (ex) {\n this.log.error('Unexpected exception in postamble: ' +\n (ex.stack ? ex.stack : ex));\n this.panic = true;\n }\n\n if (result.status != result.PASSED)\n this.log.error(result.status);\n else if (result.duration > 500)\n this.log.warn('Slow test took ' + this.msToSeconds_(result.duration));\n this.log.groupEnd();\n\n if (result.status == result.FAILED) {\n this.failures.push(result);\n this.currentSuite = null;\n } else if (result.status == result.PASSED) {\n this.passes.push(result);\n } else {\n this.log.error('Unknown result status: ' + result.test.fullName + ': ' +\n result.status);\n return this.panic = true;\n }\n\n this.runNextTest_();\n};\n\n/**\n * Called by the lib.TestManager.Result object when a test which has already\n * completed reports another completion.\n *\n * This is usually indicative of a buggy testcase. It is probably reporting a\n * result on exit and then again from an asynchronous callback.\n *\n * It may also be the case that the last act of the testcase causes a DOM change\n * which triggers some event to run after the test returns. If the event\n * handler reports a failure or raises an uncaught exception, the test will\n * fail even though it has already completed.\n *\n * In any case, re-completing a test ALWAYS moves it into the failure pile.\n *\n * @param {lib.TestManager.Result} result The result object which has just\n * completed.\n * @param {string} lateStatus The status that the test attempted to record this\n * time around.\n */\nlib.TestManager.TestRun.prototype.onResultReComplete = function(\n result, lateStatus) {\n this.log.error('Late complete for test: ' + result.test.fullName + ': ' +\n lateStatus);\n\n // Consider any late completion a failure, even if it's a double-pass, since\n // it's a misuse of the testing API.\n var index = this.passes.indexOf(result);\n if (index >= 0) {\n this.passes.splice(index, 1);\n this.failures.push(result);\n }\n};\n\n/**\n * Run the next test in the queue.\n */\nlib.TestManager.TestRun.prototype.runNextTest_ = function() {\n if (this.panic || !this.testQueue_.length)\n return this.onTestRunComplete_();\n\n if (this.maxFailures && this.failures.length >= this.maxFailures) {\n this.log.error('Maximum failure count reached, aborting test run.');\n return this.onTestRunComplete_();\n }\n\n // Peek at the top test first. We remove it later just before it's about\n // to run, so that we don't disturb the incomplete test count in the\n // event that we fail before running it.\n var test = this.testQueue_[0];\n var suite = this.currentResult ? this.currentResult.suite : null;\n\n try {\n if (!suite || !(suite instanceof test.suiteClass)) {\n if (suite)\n this.log.groupEnd();\n this.log.group(test.suiteClass.suiteName);\n suite = new test.suiteClass(this.testManager, this.cx);\n }\n } catch (ex) {\n // If test suite setup fails we're not even going to try to run the tests.\n this.log.error('Exception during setup: ' + (ex.stack ? ex.stack : ex));\n this.panic = true;\n this.onTestRunComplete_();\n return;\n }\n\n try {\n this.log.group(test.testName);\n\n this.currentResult = new lib.TestManager.Result(this, suite, test);\n this.testManager.testPreamble(this.currentResult, this.cx);\n suite.preamble(this.currentResult, this.cx);\n\n this.testQueue_.shift();\n } catch (ex) {\n this.log.error('Unexpected exception during test preamble: ' +\n (ex.stack ? ex.stack : ex));\n this.log.groupEnd();\n\n this.panic = true;\n this.onTestRunComplete_();\n return;\n }\n\n try {\n this.currentResult.run();\n } catch (ex) {\n // Result.run() should catch test exceptions and turn them into failures.\n // If we got here, it means there is trouble in the testing framework.\n this.log.error('Unexpected exception during test run: ' +\n (ex.stack ? ex.stack : ex));\n this.panic = true;\n }\n};\n\n/**\n * Run the selected list of tests.\n *\n * Some tests may need to run asynchronously, so you cannot assume the run is\n * complete when this function returns. Instead, pass in a function to be\n * called back when the run has completed.\n *\n * This function will log the results of the test run as they happen into the\n * log defined by the associated lib.TestManager. By default this is\n * console.log, which can be viewed in the JavaScript console of most browsers.\n *\n * The browser state is determined by the last test to run. We intentionally\n * don't do any cleanup so that you can inspect the state of a failed test, or\n * leave the browser ready for manual testing.\n *\n * Any failures in lib.TestManager.* code or test suite setup or test case\n * preamble will cause the test run to abort.\n */\nlib.TestManager.TestRun.prototype.run = function() {\n this.log.info('Running ' + this.testQueue_.length + ' test(s)');\n\n window.onerror = this.onUncaughtException_.bind(this);\n this.startDate = new Date();\n this.runNextTest_();\n};\n\n/**\n * Format milliseconds as fractional seconds.\n */\nlib.TestManager.TestRun.prototype.msToSeconds_ = function(ms) {\n var secs = (ms / 1000).toFixed(2);\n return secs + 's';\n};\n\n/**\n * Log the current result summary.\n */\nlib.TestManager.TestRun.prototype.summarize = function() {\n if (this.failures.length) {\n for (var i = 0; i < this.failures.length; i++) {\n this.log.error('FAILED: ' + this.failures[i].test.fullName);\n }\n }\n\n if (this.testQueue_.length) {\n this.log.warn('Test run incomplete: ' + this.testQueue_.length +\n ' test(s) were not run.');\n }\n};\n\n/**\n * Record of the result of a single test.\n *\n * These are constructed during a test run, you shouldn't have to make one\n * on your own.\n *\n * An instance of this class is passed in to each test function. It can be\n * used to add messages to the test log, to record a test pass/fail state, to\n * test assertions, or to create exception-proof wrappers for callback\n * functions.\n *\n * @param {lib.TestManager.TestRun} testRun The TestRun instance associated with\n * this result.\n * @param {lib.TestManager.Suit} suite The Suite containing the test we're\n * collecting this result for.\n * @param {lib.TestManager.Test} test The test we're collecting this result for.\n */\nlib.TestManager.Result = function(testRun, suite, test) {\n /**\n * The TestRun instance associated with this result.\n */\n this.testRun = testRun;\n\n /**\n * The Suite containing the test we're collecting this result for.\n */\n this.suite = suite;\n\n /**\n * The test we're collecting this result for.\n */\n this.test = test;\n\n /**\n * The time we started to collect this result, or null if we haven't started.\n */\n this.startDate = null;\n\n /**\n * The time in milliseconds that the test took to complete, or null if\n * it hasn't completed yet.\n */\n this.duration = null;\n\n /**\n * The current status of this test result.\n */\n this.status = this.PENDING;\n\n // An error message that the test case is expected to generate.\n this.expectedErrorMessage_ = null;\n};\n\n/**\n * Possible values for this.status.\n */\nlib.TestManager.Result.prototype.PENDING = 'pending';\nlib.TestManager.Result.prototype.FAILED = 'FAILED';\nlib.TestManager.Result.prototype.PASSED = 'passed';\n\n/**\n * Exception thrown when a test completes (pass or fail), to ensure no more of\n * the test is run.\n */\nlib.TestManager.Result.TestComplete = function(result) {\n this.result = result;\n};\n\nlib.TestManager.Result.TestComplete.prototype.toString = function() {\n return 'lib.TestManager.Result.TestComplete: ' + this.result.test.fullName +\n ', status: ' + this.result.status;\n}\n\n/**\n * Start the test associated with this result.\n */\nlib.TestManager.Result.prototype.run = function() {\n var self = this;\n\n this.startDate = new Date();\n this.test.run(this);\n\n if (this.status == this.PENDING && !this.timeout_) {\n this.println('Test did not return a value and did not request more time.');\n this.completeTest_(this.FAILED, false);\n }\n};\n\n/**\n * Unhandled error message this test expects to generate.\n *\n * This must be the exact string that would appear in the JavaScript console,\n * minus the 'Uncaught ' prefix.\n *\n * The test case does *not* automatically fail if the error message is not\n * encountered.\n */\nlib.TestManager.Result.prototype.expectErrorMessage = function(str) {\n this.expectedErrorMessage_ = str;\n};\n\n/**\n * Function called when a test times out.\n */\nlib.TestManager.Result.prototype.onTimeout_ = function() {\n this.timeout_ = null;\n\n if (this.status != this.PENDING)\n return;\n\n this.println('Test timed out.');\n this.completeTest_(this.FAILED, false);\n};\n\n/**\n * Indicate that a test case needs more time to complete.\n *\n * Before a test case returns it must report a pass/fail result, or request more\n * time to do so.\n *\n * If a test does not report pass/fail before the time expires it will\n * be reported as a timeout failure. Any late pass/fails will be noted in the\n * test log, but will not affect the final result of the test.\n *\n * Test cases may call requestTime more than once. If you have a few layers\n * of asynchronous API to go through, you should call this once per layer with\n * an estimate of how long each callback will take to complete.\n *\n * @param {int} ms Number of milliseconds requested.\n */\nlib.TestManager.Result.prototype.requestTime = function(ms) {\n if (this.timeout_)\n clearTimeout(this.timeout_);\n\n this.timeout_ = setTimeout(this.onTimeout_.bind(this), ms);\n};\n\n/**\n * Report the completion of a test.\n *\n * @param {string} status The status of the test case.\n * @param {boolean} opt_throw Optional boolean indicating whether or not\n * to throw the TestComplete exception.\n */\nlib.TestManager.Result.prototype.completeTest_ = function(status, opt_throw) {\n if (this.status == this.PENDING) {\n this.duration = (new Date()) - this.startDate;\n this.status = status;\n\n this.testRun.onResultComplete(this);\n } else {\n this.testRun.onResultReComplete(this, status);\n }\n\n if (arguments.length < 2 || opt_throw)\n throw new lib.TestManager.Result.TestComplete(this);\n};\n\n/**\n * Check that two arrays are equal.\n */\nlib.TestManager.Result.prototype.arrayEQ_ = function(actual, expected) {\n if (!actual || !expected)\n return (!actual && !expected);\n\n if (actual.length != expected.length)\n return false;\n\n for (var i = 0; i < actual.length; ++i)\n if (actual[i] != expected[i])\n return false;\n\n return true;\n};\n\n/**\n * Assert that an actual value is exactly equal to the expected value.\n *\n * This uses the JavaScript '===' operator in order to avoid type coercion.\n *\n * If the assertion fails, the test is marked as a failure and a TestCompleted\n * exception is thrown.\n *\n * @param {*} actual The actual measured value.\n * @param {*} expected The value expected.\n * @param {string} opt_name An optional name used to identify this\n * assertion in the test log. If omitted it will be the file:line\n * of the caller.\n */\nlib.TestManager.Result.prototype.assertEQ = function(\n actual, expected, opt_name) {\n // Utility function to pretty up the log.\n function format(value) {\n if (typeof value == 'number')\n return value;\n\n var str = String(value);\n var ary = str.split('\\n').map(function (e) { return JSON.stringify(e) });\n if (ary.length > 1) {\n // If the string has newlines, start it off on its own line so that\n // it's easier to compare against another string with newlines.\n return '\\n' + ary.join('\\n');\n } else {\n return ary.join('\\n');\n }\n }\n\n if (actual === expected)\n return;\n\n // Deal with common object types since JavaScript can't.\n if (expected instanceof Array)\n if (this.arrayEQ_(actual, expected))\n return;\n\n var name = opt_name ? '[' + opt_name + ']' : '';\n\n this.fail('assertEQ' + name + ': ' + this.getCallerLocation_(1) + ': ' +\n format(actual) + ' !== ' + format(expected));\n};\n\n/**\n * Assert that a value is true.\n *\n * This uses the JavaScript '===' operator in order to avoid type coercion.\n * The must be the boolean value `true`, not just some \"truish\" value.\n *\n * If the assertion fails, the test is marked as a failure and a TestCompleted\n * exception is thrown.\n *\n * @param {boolean} actual The actual measured value.\n * @param {string} opt_name An optional name used to identify this\n * assertion in the test log. If omitted it will be the file:line\n * of the caller.\n */\nlib.TestManager.Result.prototype.assert = function(actual, opt_name) {\n if (actual === true)\n return;\n\n var name = opt_name ? '[' + opt_name + ']' : '';\n\n this.fail('assert' + name + ': ' + this.getCallerLocation_(1) + ': ' +\n String(actual));\n};\n\n/**\n * Return the filename:line of a calling stack frame.\n *\n * This uses a dirty hack. It throws an exception, catches it, and examines\n * the stack property of the caught exception.\n *\n * @param {int} frameIndex The stack frame to return. 0 is the frame that\n * called this method, 1 is its caller, and so on.\n * @return {string} A string of the format \"filename:linenumber\".\n */\nlib.TestManager.Result.prototype.getCallerLocation_ = function(frameIndex) {\n try {\n throw new Error();\n } catch (ex) {\n var frame = ex.stack.split('\\n')[frameIndex + 2];\n var ary = frame.match(/([^/]+:\\d+):\\d+\\)?$/);\n return ary ? ary[1] : '???';\n }\n};\n\n/**\n * Write a message to the result log.\n */\nlib.TestManager.Result.prototype.println = function(message) {\n this.testRun.log.info(message);\n};\n\n/**\n * Mark a failed test and exit out of the rest of the test.\n *\n * This will throw a TestCompleted exception, causing the current test to stop.\n *\n * @param {string} opt_message Optional message to add to the log.\n */\nlib.TestManager.Result.prototype.fail = function(opt_message) {\n if (arguments.length)\n this.println(opt_message);\n\n this.completeTest_(this.FAILED, true);\n};\n\n/**\n * Mark a passed test and exit out of the rest of the test.\n *\n * This will throw a TestCompleted exception, causing the current test to stop.\n */\nlib.TestManager.Result.prototype.pass = function() {\n this.completeTest_(this.PASSED, true);\n};\n// SOURCE FILE: libdot/js/lib_utf8.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n// TODO(davidben): When the string encoding API is implemented,\n// replace this with the native in-browser implementation.\n//\n// https://wiki.whatwg.org/wiki/StringEncoding\n// https://encoding.spec.whatwg.org/\n\n/**\n * A stateful UTF-8 decoder.\n */\nlib.UTF8Decoder = function() {\n // The number of bytes left in the current sequence.\n this.bytesLeft = 0;\n // The in-progress code point being decoded, if bytesLeft > 0.\n this.codePoint = 0;\n // The lower bound on the final code point, if bytesLeft > 0.\n this.lowerBound = 0;\n};\n\n/**\n * Decodes a some UTF-8 data, taking into account state from previous\n * data streamed through the encoder.\n *\n * @param {String} str data to decode, represented as a JavaScript\n * String with each code unit representing a byte between 0x00 to\n * 0xFF.\n * @return {String} The data decoded into a JavaScript UTF-16 string.\n */\nlib.UTF8Decoder.prototype.decode = function(str) {\n var ret = '';\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n if (this.bytesLeft == 0) {\n if (c <= 0x7F) {\n ret += str.charAt(i);\n } else if (0xC0 <= c && c <= 0xDF) {\n this.codePoint = c - 0xC0;\n this.bytesLeft = 1;\n this.lowerBound = 0x80;\n } else if (0xE0 <= c && c <= 0xEF) {\n this.codePoint = c - 0xE0;\n this.bytesLeft = 2;\n this.lowerBound = 0x800;\n } else if (0xF0 <= c && c <= 0xF7) {\n this.codePoint = c - 0xF0;\n this.bytesLeft = 3;\n this.lowerBound = 0x10000;\n } else if (0xF8 <= c && c <= 0xFB) {\n this.codePoint = c - 0xF8;\n this.bytesLeft = 4;\n this.lowerBound = 0x200000;\n } else if (0xFC <= c && c <= 0xFD) {\n this.codePoint = c - 0xFC;\n this.bytesLeft = 5;\n this.lowerBound = 0x4000000;\n } else {\n ret += '\\ufffd';\n }\n } else {\n if (0x80 <= c && c <= 0xBF) {\n this.bytesLeft--;\n this.codePoint = (this.codePoint << 6) + (c - 0x80);\n if (this.bytesLeft == 0) {\n // Got a full sequence. Check if it's within bounds and\n // filter out surrogate pairs.\n var codePoint = this.codePoint;\n if (codePoint < this.lowerBound\n || (0xD800 <= codePoint && codePoint <= 0xDFFF)\n || codePoint > 0x10FFFF) {\n ret += '\\ufffd';\n } else {\n // Encode as UTF-16 in the output.\n if (codePoint < 0x10000) {\n ret += String.fromCharCode(codePoint);\n } else {\n // Surrogate pair.\n codePoint -= 0x10000;\n ret += String.fromCharCode(\n 0xD800 + ((codePoint >>> 10) & 0x3FF),\n 0xDC00 + (codePoint & 0x3FF));\n }\n }\n }\n } else {\n // Too few bytes in multi-byte sequence. Rewind stream so we\n // don't lose the next byte.\n ret += '\\ufffd';\n this.bytesLeft = 0;\n i--;\n }\n }\n }\n return ret;\n};\n\n/**\n * Decodes UTF-8 data. This is a convenience function for when all the\n * data is already known.\n *\n * @param {String} str data to decode, represented as a JavaScript\n * String with each code unit representing a byte between 0x00 to\n * 0xFF.\n * @return {String} The data decoded into a JavaScript UTF-16 string.\n */\nlib.decodeUTF8 = function(utf8) {\n return (new lib.UTF8Decoder()).decode(utf8);\n};\n\n/**\n * Encodes a UTF-16 string into UTF-8.\n *\n * TODO(davidben): Do we need a stateful version of this that can\n * handle a surrogate pair split in two calls? What happens if a\n * keypress event would have contained a character outside the BMP?\n *\n * @param {String} str The string to encode.\n * @return {String} The string encoded as UTF-8, as a JavaScript\n * string with bytes represented as code units from 0x00 to 0xFF.\n */\nlib.encodeUTF8 = function(str) {\n var ret = '';\n for (var i = 0; i < str.length; i++) {\n // Get a unicode code point out of str.\n var c = str.charCodeAt(i);\n if (0xDC00 <= c && c <= 0xDFFF) {\n c = 0xFFFD;\n } else if (0xD800 <= c && c <= 0xDBFF) {\n if (i+1 < str.length) {\n var d = str.charCodeAt(i+1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n // Swallow a surrogate pair.\n c = 0x10000 + ((c & 0x3FF) << 10) + (d & 0x3FF);\n i++;\n } else {\n c = 0xFFFD;\n }\n } else {\n c = 0xFFFD;\n }\n }\n\n // Encode c in UTF-8.\n var bytesLeft;\n if (c <= 0x7F) {\n ret += str.charAt(i);\n continue;\n } else if (c <= 0x7FF) {\n ret += String.fromCharCode(0xC0 | (c >>> 6));\n bytesLeft = 1;\n } else if (c <= 0xFFFF) {\n ret += String.fromCharCode(0xE0 | (c >>> 12));\n bytesLeft = 2;\n } else /* if (c <= 0x10FFFF) */ {\n ret += String.fromCharCode(0xF0 | (c >>> 18));\n bytesLeft = 3;\n }\n\n while (bytesLeft > 0) {\n bytesLeft--;\n ret += String.fromCharCode(0x80 | ((c >>> (6 * bytesLeft)) & 0x3F));\n }\n }\n return ret;\n};\n// SOURCE FILE: libdot/third_party/wcwidth/lib_wc.js\n// Copyright (c) 2014 The Chromium OS Authors. All rights reserved.\n// Use of lib.wc source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * This JavaScript library is ported from the wcwidth.js module of node.js.\n * The original implementation can be found at:\n * https://npmjs.org/package/wcwidth.js\n */\n\n/**\n * JavaScript porting of Markus Kuhn's wcwidth() implementation\n *\n * The following explanation comes from the original C implementation:\n *\n * This is an implementation of wcwidth() and wcswidth() (defined in\n * IEEE Std 1002.1-2001) for Unicode.\n *\n * http://www.opengroup.org/onlinepubs/007904975/functions/wcwidth.html\n * http://www.opengroup.org/onlinepubs/007904975/functions/wcswidth.html\n *\n * In fixed-width output devices, Latin characters all occupy a single\n * \"cell\" position of equal width, whereas ideographic CJK characters\n * occupy two such cells. Interoperability between terminal-line\n * applications and (teletype-style) character terminals using the\n * UTF-8 encoding requires agreement on which character should advance\n * the cursor by how many cell positions. No established formal\n * standards exist at present on which Unicode character shall occupy\n * how many cell positions on character terminals. These routines are\n * a first attempt of defining such behavior based on simple rules\n * applied to data provided by the Unicode Consortium.\n *\n * For some graphical characters, the Unicode standard explicitly\n * defines a character-cell width via the definition of the East Asian\n * FullWidth (F), Wide (W), Half-width (H), and Narrow (Na) classes.\n * In all these cases, there is no ambiguity about which width a\n * terminal shall use. For characters in the East Asian Ambiguous (A)\n * class, the width choice depends purely on a preference of backward\n * compatibility with either historic CJK or Western practice.\n * Choosing single-width for these characters is easy to justify as\n * the appropriate long-term solution, as the CJK practice of\n * displaying these characters as double-width comes from historic\n * implementation simplicity (8-bit encoded characters were displayed\n * single-width and 16-bit ones double-width, even for Greek,\n * Cyrillic, etc.) and not any typographic considerations.\n *\n * Much less clear is the choice of width for the Not East Asian\n * (Neutral) class. Existing practice does not dictate a width for any\n * of these characters. It would nevertheless make sense\n * typographically to allocate two character cells to characters such\n * as for instance EM SPACE or VOLUME INTEGRAL, which cannot be\n * represented adequately with a single-width glyph. The following\n * routines at present merely assign a single-cell width to all\n * neutral characters, in the interest of simplicity. This is not\n * entirely satisfactory and should be reconsidered before\n * establishing a formal standard in lib.wc area. At the moment, the\n * decision which Not East Asian (Neutral) characters should be\n * represented by double-width glyphs cannot yet be answered by\n * applying a simple rule from the Unicode database content. Setting\n * up a proper standard for the behavior of UTF-8 character terminals\n * will require a careful analysis not only of each Unicode character,\n * but also of each presentation form, something the author of these\n * routines has avoided to do so far.\n *\n * http://www.unicode.org/unicode/reports/tr11/\n *\n * Markus Kuhn -- 2007-05-26 (Unicode 5.0)\n *\n * Permission to use, copy, modify, and distribute lib.wc software\n * for any purpose and without fee is hereby granted. The author\n * disclaims all warranties with regard to lib.wc software.\n *\n * Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c\n */\n\n/**\n * The following function defines the column width of an ISO 10646 character\n * as follows:\n *\n * - The null character (U+0000) has a column width of 0.\n * - Other C0/C1 control characters and DEL will lead to a return value of -1.\n * - Non-spacing and enclosing combining characters (general category code Mn\n * or Me in the Unicode database) have a column width of 0.\n * - SOFT HYPHEN (U+00AD) has a column width of 1.\n * - Other format characters (general category code Cf in the Unicode database)\n * and ZERO WIDTH SPACE (U+200B) have a column width of 0.\n * - Hangul Jamo medial vowels and final consonants (U+1160-U+11FF) have a\n * column width of 0.\n * - Spacing characters in the East Asian Wide (W) or East Asian Full-width (F)\n * category as defined in Unicode Technical Report #11 have a column width of\n * 2.\n * - East Asian Ambiguous characters are taken into account if\n * regardCjkAmbiguous flag is enabled. They have a column width of 2.\n * - All remaining characters (including all printable ISO 8859-1 and WGL4\n * characters, Unicode control characters, etc.) have a column width of 1.\n *\n * This implementation assumes that characters are encoded in ISO 10646.\n */\n\nlib.wc = {};\n\n// Width of a nul character.\nlib.wc.nulWidth = 0;\n\n// Width of a control character.\nlib.wc.controlWidth = 0;\n\n// Flag whether to consider East Asian Ambiguous characters.\nlib.wc.regardCjkAmbiguous = false;\n\n// Width of an East Asian Ambiguous character.\nlib.wc.cjkAmbiguousWidth = 2;\n\n// Sorted list of non-overlapping intervals of non-spacing characters\n// generated by \"uniset +cat=Me +cat=Mn +cat=Cf -00AD +1160-11FF +200B c\"\nlib.wc.combining = [\n [ 0x0300, 0x036F ], [ 0x0483, 0x0486 ], [ 0x0488, 0x0489 ],\n [ 0x0591, 0x05BD ], [ 0x05BF, 0x05BF ], [ 0x05C1, 0x05C2 ],\n [ 0x05C4, 0x05C5 ], [ 0x05C7, 0x05C7 ], [ 0x0600, 0x0603 ],\n [ 0x0610, 0x0615 ], [ 0x064B, 0x065E ], [ 0x0670, 0x0670 ],\n [ 0x06D6, 0x06E4 ], [ 0x06E7, 0x06E8 ], [ 0x06EA, 0x06ED ],\n [ 0x070F, 0x070F ], [ 0x0711, 0x0711 ], [ 0x0730, 0x074A ],\n [ 0x07A6, 0x07B0 ], [ 0x07EB, 0x07F3 ], [ 0x0901, 0x0902 ],\n [ 0x093C, 0x093C ], [ 0x0941, 0x0948 ], [ 0x094D, 0x094D ],\n [ 0x0951, 0x0954 ], [ 0x0962, 0x0963 ], [ 0x0981, 0x0981 ],\n [ 0x09BC, 0x09BC ], [ 0x09C1, 0x09C4 ], [ 0x09CD, 0x09CD ],\n [ 0x09E2, 0x09E3 ], [ 0x0A01, 0x0A02 ], [ 0x0A3C, 0x0A3C ],\n [ 0x0A41, 0x0A42 ], [ 0x0A47, 0x0A48 ], [ 0x0A4B, 0x0A4D ],\n [ 0x0A70, 0x0A71 ], [ 0x0A81, 0x0A82 ], [ 0x0ABC, 0x0ABC ],\n [ 0x0AC1, 0x0AC5 ], [ 0x0AC7, 0x0AC8 ], [ 0x0ACD, 0x0ACD ],\n [ 0x0AE2, 0x0AE3 ], [ 0x0B01, 0x0B01 ], [ 0x0B3C, 0x0B3C ],\n [ 0x0B3F, 0x0B3F ], [ 0x0B41, 0x0B43 ], [ 0x0B4D, 0x0B4D ],\n [ 0x0B56, 0x0B56 ], [ 0x0B82, 0x0B82 ], [ 0x0BC0, 0x0BC0 ],\n [ 0x0BCD, 0x0BCD ], [ 0x0C3E, 0x0C40 ], [ 0x0C46, 0x0C48 ],\n [ 0x0C4A, 0x0C4D ], [ 0x0C55, 0x0C56 ], [ 0x0CBC, 0x0CBC ],\n [ 0x0CBF, 0x0CBF ], [ 0x0CC6, 0x0CC6 ], [ 0x0CCC, 0x0CCD ],\n [ 0x0CE2, 0x0CE3 ], [ 0x0D41, 0x0D43 ], [ 0x0D4D, 0x0D4D ],\n [ 0x0DCA, 0x0DCA ], [ 0x0DD2, 0x0DD4 ], [ 0x0DD6, 0x0DD6 ],\n [ 0x0E31, 0x0E31 ], [ 0x0E34, 0x0E3A ], [ 0x0E47, 0x0E4E ],\n [ 0x0EB1, 0x0EB1 ], [ 0x0EB4, 0x0EB9 ], [ 0x0EBB, 0x0EBC ],\n [ 0x0EC8, 0x0ECD ], [ 0x0F18, 0x0F19 ], [ 0x0F35, 0x0F35 ],\n [ 0x0F37, 0x0F37 ], [ 0x0F39, 0x0F39 ], [ 0x0F71, 0x0F7E ],\n [ 0x0F80, 0x0F84 ], [ 0x0F86, 0x0F87 ], [ 0x0F90, 0x0F97 ],\n [ 0x0F99, 0x0FBC ], [ 0x0FC6, 0x0FC6 ], [ 0x102D, 0x1030 ],\n [ 0x1032, 0x1032 ], [ 0x1036, 0x1037 ], [ 0x1039, 0x1039 ],\n [ 0x1058, 0x1059 ], [ 0x1160, 0x11FF ], [ 0x135F, 0x135F ],\n [ 0x1712, 0x1714 ], [ 0x1732, 0x1734 ], [ 0x1752, 0x1753 ],\n [ 0x1772, 0x1773 ], [ 0x17B4, 0x17B5 ], [ 0x17B7, 0x17BD ],\n [ 0x17C6, 0x17C6 ], [ 0x17C9, 0x17D3 ], [ 0x17DD, 0x17DD ],\n [ 0x180B, 0x180D ], [ 0x18A9, 0x18A9 ], [ 0x1920, 0x1922 ],\n [ 0x1927, 0x1928 ], [ 0x1932, 0x1932 ], [ 0x1939, 0x193B ],\n [ 0x1A17, 0x1A18 ], [ 0x1B00, 0x1B03 ], [ 0x1B34, 0x1B34 ],\n [ 0x1B36, 0x1B3A ], [ 0x1B3C, 0x1B3C ], [ 0x1B42, 0x1B42 ],\n [ 0x1B6B, 0x1B73 ], [ 0x1DC0, 0x1DCA ], [ 0x1DFE, 0x1DFF ],\n [ 0x200B, 0x200F ], [ 0x202A, 0x202E ], [ 0x2060, 0x2063 ],\n [ 0x206A, 0x206F ], [ 0x20D0, 0x20EF ], [ 0x302A, 0x302F ],\n [ 0x3099, 0x309A ], [ 0xA806, 0xA806 ], [ 0xA80B, 0xA80B ],\n [ 0xA825, 0xA826 ], [ 0xFB1E, 0xFB1E ], [ 0xFE00, 0xFE0F ],\n [ 0xFE20, 0xFE23 ], [ 0xFEFF, 0xFEFF ], [ 0xFFF9, 0xFFFB ],\n [ 0x10A01, 0x10A03 ], [ 0x10A05, 0x10A06 ], [ 0x10A0C, 0x10A0F ],\n [ 0x10A38, 0x10A3A ], [ 0x10A3F, 0x10A3F ], [ 0x1D167, 0x1D169 ],\n [ 0x1D173, 0x1D182 ], [ 0x1D185, 0x1D18B ], [ 0x1D1AA, 0x1D1AD ],\n [ 0x1D242, 0x1D244 ], [ 0xE0001, 0xE0001 ], [ 0xE0020, 0xE007F ],\n [ 0xE0100, 0xE01EF ]\n];\n\n// Sorted list of non-overlapping intervals of East Asian Ambiguous characters\n// generated by \"uniset +WIDTH-A -cat=Me -cat=Mn -cat=Cf c\"\nlib.wc.ambiguous = [\n [ 0x00A1, 0x00A1 ], [ 0x00A4, 0x00A4 ], [ 0x00A7, 0x00A8 ],\n [ 0x00AA, 0x00AA ], [ 0x00AE, 0x00AE ], [ 0x00B0, 0x00B4 ],\n [ 0x00B6, 0x00BA ], [ 0x00BC, 0x00BF ], [ 0x00C6, 0x00C6 ],\n [ 0x00D0, 0x00D0 ], [ 0x00D7, 0x00D8 ], [ 0x00DE, 0x00E1 ],\n [ 0x00E6, 0x00E6 ], [ 0x00E8, 0x00EA ], [ 0x00EC, 0x00ED ],\n [ 0x00F0, 0x00F0 ], [ 0x00F2, 0x00F3 ], [ 0x00F7, 0x00FA ],\n [ 0x00FC, 0x00FC ], [ 0x00FE, 0x00FE ], [ 0x0101, 0x0101 ],\n [ 0x0111, 0x0111 ], [ 0x0113, 0x0113 ], [ 0x011B, 0x011B ],\n [ 0x0126, 0x0127 ], [ 0x012B, 0x012B ], [ 0x0131, 0x0133 ],\n [ 0x0138, 0x0138 ], [ 0x013F, 0x0142 ], [ 0x0144, 0x0144 ],\n [ 0x0148, 0x014B ], [ 0x014D, 0x014D ], [ 0x0152, 0x0153 ],\n [ 0x0166, 0x0167 ], [ 0x016B, 0x016B ], [ 0x01CE, 0x01CE ],\n [ 0x01D0, 0x01D0 ], [ 0x01D2, 0x01D2 ], [ 0x01D4, 0x01D4 ],\n [ 0x01D6, 0x01D6 ], [ 0x01D8, 0x01D8 ], [ 0x01DA, 0x01DA ],\n [ 0x01DC, 0x01DC ], [ 0x0251, 0x0251 ], [ 0x0261, 0x0261 ],\n [ 0x02C4, 0x02C4 ], [ 0x02C7, 0x02C7 ], [ 0x02C9, 0x02CB ],\n [ 0x02CD, 0x02CD ], [ 0x02D0, 0x02D0 ], [ 0x02D8, 0x02DB ],\n [ 0x02DD, 0x02DD ], [ 0x02DF, 0x02DF ], [ 0x0391, 0x03A1 ],\n [ 0x03A3, 0x03A9 ], [ 0x03B1, 0x03C1 ], [ 0x03C3, 0x03C9 ],\n [ 0x0401, 0x0401 ], [ 0x0410, 0x044F ], [ 0x0451, 0x0451 ],\n [ 0x2010, 0x2010 ], [ 0x2013, 0x2016 ], [ 0x2018, 0x2019 ],\n [ 0x201C, 0x201D ], [ 0x2020, 0x2022 ], [ 0x2024, 0x2027 ],\n [ 0x2030, 0x2030 ], [ 0x2032, 0x2033 ], [ 0x2035, 0x2035 ],\n [ 0x203B, 0x203B ], [ 0x203E, 0x203E ], [ 0x2074, 0x2074 ],\n [ 0x207F, 0x207F ], [ 0x2081, 0x2084 ], [ 0x20AC, 0x20AC ],\n [ 0x2103, 0x2103 ], [ 0x2105, 0x2105 ], [ 0x2109, 0x2109 ],\n [ 0x2113, 0x2113 ], [ 0x2116, 0x2116 ], [ 0x2121, 0x2122 ],\n [ 0x2126, 0x2126 ], [ 0x212B, 0x212B ], [ 0x2153, 0x2154 ],\n [ 0x215B, 0x215E ], [ 0x2160, 0x216B ], [ 0x2170, 0x2179 ],\n [ 0x2190, 0x2199 ], [ 0x21B8, 0x21B9 ], [ 0x21D2, 0x21D2 ],\n [ 0x21D4, 0x21D4 ], [ 0x21E7, 0x21E7 ], [ 0x2200, 0x2200 ],\n [ 0x2202, 0x2203 ], [ 0x2207, 0x2208 ], [ 0x220B, 0x220B ],\n [ 0x220F, 0x220F ], [ 0x2211, 0x2211 ], [ 0x2215, 0x2215 ],\n [ 0x221A, 0x221A ], [ 0x221D, 0x2220 ], [ 0x2223, 0x2223 ],\n [ 0x2225, 0x2225 ], [ 0x2227, 0x222C ], [ 0x222E, 0x222E ],\n [ 0x2234, 0x2237 ], [ 0x223C, 0x223D ], [ 0x2248, 0x2248 ],\n [ 0x224C, 0x224C ], [ 0x2252, 0x2252 ], [ 0x2260, 0x2261 ],\n [ 0x2264, 0x2267 ], [ 0x226A, 0x226B ], [ 0x226E, 0x226F ],\n [ 0x2282, 0x2283 ], [ 0x2286, 0x2287 ], [ 0x2295, 0x2295 ],\n [ 0x2299, 0x2299 ], [ 0x22A5, 0x22A5 ], [ 0x22BF, 0x22BF ],\n [ 0x2312, 0x2312 ], [ 0x2460, 0x24E9 ], [ 0x24EB, 0x254B ],\n [ 0x2550, 0x2573 ], [ 0x2580, 0x258F ], [ 0x2592, 0x2595 ],\n [ 0x25A0, 0x25A1 ], [ 0x25A3, 0x25A9 ], [ 0x25B2, 0x25B3 ],\n [ 0x25B6, 0x25B7 ], [ 0x25BC, 0x25BD ], [ 0x25C0, 0x25C1 ],\n [ 0x25C6, 0x25C8 ], [ 0x25CB, 0x25CB ], [ 0x25CE, 0x25D1 ],\n [ 0x25E2, 0x25E5 ], [ 0x25EF, 0x25EF ], [ 0x2605, 0x2606 ],\n [ 0x2609, 0x2609 ], [ 0x260E, 0x260F ], [ 0x2614, 0x2615 ],\n [ 0x261C, 0x261C ], [ 0x261E, 0x261E ], [ 0x2640, 0x2640 ],\n [ 0x2642, 0x2642 ], [ 0x2660, 0x2661 ], [ 0x2663, 0x2665 ],\n [ 0x2667, 0x266A ], [ 0x266C, 0x266D ], [ 0x266F, 0x266F ],\n [ 0x273D, 0x273D ], [ 0x2776, 0x277F ], [ 0xE000, 0xF8FF ],\n [ 0xFFFD, 0xFFFD ], [ 0xF0000, 0xFFFFD ], [ 0x100000, 0x10FFFD ]\n];\n\n/**\n * Binary search to check if the given unicode character is a space character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {boolean} True if the given character is a space character; false\n * otherwise.\n */\nlib.wc.isSpace = function(ucs) {\n // Auxiliary function for binary search in interval table.\n var min = 0, max = lib.wc.combining.length - 1;\n var mid;\n\n if (ucs < lib.wc.combining[0][0] || ucs > lib.wc.combining[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > lib.wc.combining[mid][1]) {\n min = mid + 1;\n } else if (ucs < lib.wc.combining[mid][0]) {\n max = mid - 1;\n } else {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * Auxiliary function for checking if the given unicode character is a East\n * Asian Ambiguous character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {boolean} True if the given character is a East Asian Ambiguous\n * character.\n */\nlib.wc.isCjkAmbiguous = function(ucs) {\n var min = 0, max = lib.wc.ambiguous.length - 1;\n var mid;\n\n if (ucs < lib.wc.ambiguous[0][0] || ucs > lib.wc.ambiguous[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > lib.wc.ambiguous[mid][1]) {\n min = mid + 1;\n } else if (ucs < lib.wc.ambiguous[mid][0]) {\n max = mid - 1;\n } else {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * Determine the column width of the given character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidth = function(ucs) {\n if (lib.wc.regardCjkAmbiguous) {\n return lib.wc.charWidthRegardAmbiguous(ucs);\n } else {\n return lib.wc.charWidthDisregardAmbiguous(ucs);\n }\n};\n\n/**\n * Determine the column width of the given character without considering East\n * Asian Ambiguous characters.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidthDisregardAmbiguous = function(ucs) {\n // Test for 8-bit control characters.\n if (ucs === 0)\n return lib.wc.nulWidth;\n if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0))\n return lib.wc.controlWidth;\n\n // Optimize for ASCII characters.\n if (ucs < 0x7f)\n return 1;\n\n // Binary search in table of non-spacing characters.\n if (lib.wc.isSpace(ucs))\n return 0;\n\n // If we arrive here, ucs is not a combining or C0/C1 control character.\n return 1 +\n (ucs >= 0x1100 &&\n (ucs <= 0x115f || // Hangul Jamo init. consonants\n ucs == 0x2329 || ucs == 0x232a ||\n (ucs >= 0x2e80 && ucs <= 0xa4cf &&\n ucs != 0x303f) || // CJK ... Yi\n (ucs >= 0xac00 && ucs <= 0xd7a3) || // Hangul Syllables\n (ucs >= 0xf900 && ucs <= 0xfaff) || // CJK Compatibility Ideographs\n (ucs >= 0xfe10 && ucs <= 0xfe19) || // Vertical forms\n (ucs >= 0xfe30 && ucs <= 0xfe6f) || // CJK Compatibility Forms\n (ucs >= 0xff00 && ucs <= 0xff60) || // Fullwidth Forms\n (ucs >= 0xffe0 && ucs <= 0xffe6) ||\n (ucs >= 0x20000 && ucs <= 0x2fffd) ||\n (ucs >= 0x30000 && ucs <= 0x3fffd)));\n // TODO: emoji characters usually require space for wide characters although\n // East Asian width spec says nothing. Should we add special cases for them?\n};\n\n/**\n * Determine the column width of the given character considering East Asian\n * Ambiguous characters.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidthRegardAmbiguous = function(ucs) {\n if (lib.wc.isCjkAmbiguous(ucs))\n return lib.wc.cjkAmbiguousWidth;\n\n return lib.wc.charWidthDisregardAmbiguous(ucs);\n};\n\n/**\n * Determine the column width of the given string.\n *\n * @param {string} str A string.\n *\n * @return {integer} The column width of the given string.\n */\nlib.wc.strWidth = function(str) {\n var width, rv = 0;\n\n for (var i = 0; i < str.length;) {\n var codePoint = str.codePointAt(i);\n width = lib.wc.charWidth(codePoint);\n if (width < 0)\n return -1;\n rv += width;\n i += (codePoint <= 0xffff) ? 1 : 2;\n }\n\n return rv;\n};\n\n/**\n * Get the substring at the given column offset of the given column width.\n *\n * @param {string} str The string to get substring from.\n * @param {integer} start The starting column offset to get substring.\n * @param {integer} opt_width The column width of the substring.\n *\n * @return {string} The substring.\n */\nlib.wc.substr = function(str, start, opt_width) {\n var startIndex, endIndex, width;\n\n for (startIndex = 0, width = 0; startIndex < str.length; startIndex++) {\n width += lib.wc.charWidth(str.charCodeAt(startIndex));\n if (width > start)\n break;\n }\n\n if (opt_width != undefined) {\n for (endIndex = startIndex, width = 0;\n endIndex < str.length && width <= opt_width;\n width += lib.wc.charWidth(str.charCodeAt(endIndex)), endIndex++);\n if (width > opt_width)\n endIndex--;\n return str.substring(startIndex, endIndex);\n }\n\n return str.substr(startIndex);\n};\n\n/**\n * Get substring at the given start and end column offset.\n *\n * @param {string} str The string to get substring from.\n * @param {integer} start The starting column offset.\n * @param {integer} end The ending column offset.\n *\n * @return {string} The substring.\n */\nlib.wc.substring = function(str, start, end) {\n return lib.wc.substr(str, start, end - start);\n};\nlib.resource.add('libdot/changelog/version', 'text/plain',\n'1.16' +\n''\n);\n\nlib.resource.add('libdot/changelog/date', 'text/plain',\n'2017-08-16' +\n''\n);\n\n// SOURCE FILE: hterm/js/hterm.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.Storage');\n\n/**\n * @fileoverview Declares the hterm.* namespace and some basic shared utilities\n * that are too small to deserve dedicated files.\n */\nvar hterm = {};\n\n/**\n * The type of window hosting hterm.\n *\n * This is set as part of hterm.init(). The value is invalid until\n * initialization completes.\n */\nhterm.windowType = null;\n\n/**\n * Warning message to display in the terminal when browser zoom is enabled.\n *\n * You can replace it with your own localized message.\n */\nhterm.zoomWarningMessage = 'ZOOM != 100%';\n\n/**\n * Brief overlay message displayed when text is copied to the clipboard.\n *\n * By default it is the unicode BLACK SCISSORS character, but you can\n * replace it with your own localized message.\n *\n * This is only displayed when the 'enable-clipboard-notice' preference\n * is enabled.\n */\nhterm.notifyCopyMessage = '\\u2702';\n\n\n/**\n * Text shown in a desktop notification for the terminal\n * bell. \\u226a is a unicode EIGHTH NOTE, %(title) will\n * be replaced by the terminal title.\n */\nhterm.desktopNotificationTitle = '\\u266A %(title) \\u266A';\n\n/**\n * List of known hterm test suites.\n *\n * A test harness should ensure that they all exist before running.\n */\nhterm.testDeps = ['hterm.ScrollPort.Tests', 'hterm.Screen.Tests',\n 'hterm.Terminal.Tests', 'hterm.VT.Tests',\n 'hterm.VT.CannedTests'];\n\n/**\n * The hterm init function, registered with lib.registerInit().\n *\n * This is called during lib.init().\n *\n * @param {function} onInit The function lib.init() wants us to invoke when\n * initialization is complete.\n */\nlib.registerInit('hterm', function(onInit) {\n function onWindow(window) {\n hterm.windowType = window.type;\n setTimeout(onInit, 0);\n }\n\n function onTab(tab) {\n if (tab && window.chrome) {\n chrome.windows.get(tab.windowId, null, onWindow);\n } else {\n // TODO(rginda): This is where we end up for a v1 app's background page.\n // Maybe windowType = 'none' would be more appropriate, or something.\n hterm.windowType = 'normal';\n setTimeout(onInit, 0);\n }\n }\n\n if (!hterm.defaultStorage) {\n if (window.chrome && chrome.storage && chrome.storage.sync) {\n hterm.defaultStorage = new lib.Storage.Chrome(chrome.storage.sync);\n } else {\n hterm.defaultStorage = new lib.Storage.Local();\n }\n }\n\n // The chrome.tabs API is not supported in packaged apps, and detecting if\n // you're a packaged app is a little awkward.\n var isPackagedApp = false;\n if (window.chrome && chrome.runtime && chrome.runtime.getManifest) {\n var manifest = chrome.runtime.getManifest();\n isPackagedApp = manifest.app && manifest.app.background;\n }\n\n if (isPackagedApp) {\n // Packaged apps are never displayed in browser tabs.\n setTimeout(onWindow.bind(null, {type: 'popup'}), 0);\n } else {\n if (window.chrome && chrome.tabs) {\n // The getCurrent method gets the tab that is \"currently running\", not the\n // topmost or focused tab.\n chrome.tabs.getCurrent(onTab);\n } else {\n setTimeout(onWindow.bind(null, {type: 'normal'}), 0);\n }\n }\n});\n\n/**\n * Return decimal { width, height } for a given dom node.\n */\nhterm.getClientSize = function(dom) {\n return dom.getBoundingClientRect();\n};\n\n/**\n * Return decimal width for a given dom node.\n */\nhterm.getClientWidth = function(dom) {\n return dom.getBoundingClientRect().width;\n};\n\n/**\n * Return decimal height for a given dom node.\n */\nhterm.getClientHeight = function(dom) {\n return dom.getBoundingClientRect().height;\n};\n\n/**\n * Copy the current selection to the system clipboard.\n *\n * @param {HTMLDocument} The document with the selection to copy.\n */\nhterm.copySelectionToClipboard = function(document) {\n try {\n document.execCommand('copy');\n } catch (firefoxException) {\n // Ignore this. FF throws an exception if there was an error, even though\n // the spec says just return false.\n }\n};\n\n/**\n * Paste the system clipboard into the element with focus.\n *\n * Note: In Chrome/Firefox app/extension environments, you'll need the\n * \"clipboardRead\" permission. In other environments, this might always\n * fail as the browser frequently blocks access for security reasons.\n *\n * @param {HTMLDocument} The document to paste into.\n * @return {boolean} True if the paste succeeded.\n */\nhterm.pasteFromClipboard = function(document) {\n try {\n return document.execCommand('paste');\n } catch (firefoxException) {\n // Ignore this. FF 40 and older would incorrectly throw an exception if\n // there was an error instead of returning false.\n return false;\n }\n};\n\n/**\n * Create a new notification.\n *\n * @param {Object} params Various parameters for the notification.\n * @param {string} params.title The title (defaults to the window's title).\n * @param {string} params.body The message body (main text).\n */\nhterm.notify = function(params) {\n var def = (curr, fallback) => curr !== undefined ? curr : fallback;\n if (params === undefined || params === null)\n params = {};\n\n // Merge the user's choices with the default settings. We don't take it\n // directly in case it was stuffed with excess junk.\n var options = {\n 'body': params.body,\n 'icon': def(params.icon, lib.resource.getDataUrl('hterm/images/icon-96')),\n }\n\n var title = def(params.title, window.document.title);\n if (!title)\n title = 'hterm';\n title = lib.f.replaceVars(hterm.desktopNotificationTitle, {'title': title});\n\n var n = new Notification(title, options);\n n.onclick = function() {\n window.focus();\n this.close();\n };\n return n;\n};\n\n/**\n * Constructor for a hterm.Size record.\n *\n * Instances of this class have public read/write members for width and height.\n *\n * @param {integer} width The width of this record.\n * @param {integer} height The height of this record.\n */\nhterm.Size = function(width, height) {\n this.width = width;\n this.height = height;\n};\n\n/**\n * Adjust the width and height of this record.\n *\n * @param {integer} width The new width of this record.\n * @param {integer} height The new height of this record.\n */\nhterm.Size.prototype.resize = function(width, height) {\n this.width = width;\n this.height = height;\n};\n\n/**\n * Return a copy of this record.\n *\n * @return {hterm.Size} A new hterm.Size instance with the same width and\n * height.\n */\nhterm.Size.prototype.clone = function() {\n return new hterm.Size(this.width, this.height);\n};\n\n/**\n * Set the height and width of this instance based on another hterm.Size.\n *\n * @param {hterm.Size} that The object to copy from.\n */\nhterm.Size.prototype.setTo = function(that) {\n this.width = that.width;\n this.height = that.height;\n};\n\n/**\n * Test if another hterm.Size instance is equal to this one.\n *\n * @param {hterm.Size} that The other hterm.Size instance.\n * @return {boolean} True if both instances have the same width/height, false\n * otherwise.\n */\nhterm.Size.prototype.equals = function(that) {\n return this.width == that.width && this.height == that.height;\n};\n\n/**\n * Return a string representation of this instance.\n *\n * @return {string} A string that identifies the width and height of this\n * instance.\n */\nhterm.Size.prototype.toString = function() {\n return '[hterm.Size: ' + this.width + ', ' + this.height + ']';\n};\n\n/**\n * Constructor for a hterm.RowCol record.\n *\n * Instances of this class have public read/write members for row and column.\n *\n * This class includes an 'overflow' bit which is use to indicate that an\n * attempt has been made to move the cursor column passed the end of the\n * screen. When this happens we leave the cursor column set to the last column\n * of the screen but set the overflow bit. In this state cursor movement\n * happens normally, but any attempt to print new characters causes a cr/lf\n * first.\n *\n * @param {integer} row The row of this record.\n * @param {integer} column The column of this record.\n * @param {boolean} opt_overflow Optional boolean indicating that the RowCol\n * has overflowed.\n */\nhterm.RowCol = function(row, column, opt_overflow) {\n this.row = row;\n this.column = column;\n this.overflow = !!opt_overflow;\n};\n\n/**\n * Adjust the row and column of this record.\n *\n * @param {integer} row The new row of this record.\n * @param {integer} column The new column of this record.\n * @param {boolean} opt_overflow Optional boolean indicating that the RowCol\n * has overflowed.\n */\nhterm.RowCol.prototype.move = function(row, column, opt_overflow) {\n this.row = row;\n this.column = column;\n this.overflow = !!opt_overflow;\n};\n\n/**\n * Return a copy of this record.\n *\n * @return {hterm.RowCol} A new hterm.RowCol instance with the same row and\n * column.\n */\nhterm.RowCol.prototype.clone = function() {\n return new hterm.RowCol(this.row, this.column, this.overflow);\n};\n\n/**\n * Set the row and column of this instance based on another hterm.RowCol.\n *\n * @param {hterm.RowCol} that The object to copy from.\n */\nhterm.RowCol.prototype.setTo = function(that) {\n this.row = that.row;\n this.column = that.column;\n this.overflow = that.overflow;\n};\n\n/**\n * Test if another hterm.RowCol instance is equal to this one.\n *\n * @param {hterm.RowCol} that The other hterm.RowCol instance.\n * @return {boolean} True if both instances have the same row/column, false\n * otherwise.\n */\nhterm.RowCol.prototype.equals = function(that) {\n return (this.row == that.row && this.column == that.column &&\n this.overflow == that.overflow);\n};\n\n/**\n * Return a string representation of this instance.\n *\n * @return {string} A string that identifies the row and column of this\n * instance.\n */\nhterm.RowCol.prototype.toString = function() {\n return ('[hterm.RowCol: ' + this.row + ', ' + this.column + ', ' +\n this.overflow + ']');\n};\n// SOURCE FILE: hterm/js/hterm_frame.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f');\n\n/**\n * First draft of the interface between the terminal and a third party dialog.\n *\n * This is rough. It's just the terminal->dialog layer. To complete things\n * we'll also need a command->terminal layer. That will have to facilitate\n * command->terminal->dialog or direct command->dialog communication.\n *\n * I imagine this class will change significantly when that happens.\n */\n\n/**\n * Construct a new frame for the given terminal.\n *\n * @param terminal {hterm.Terminal} The parent terminal object.\n * @param url {String} The url to load in the frame.\n * @param opt_options {Object} Optional options for the frame. Not implemented.\n */\nhterm.Frame = function(terminal, url, opt_options) {\n this.terminal_ = terminal;\n this.div_ = terminal.div_;\n this.url = url;\n this.options = opt_options || {};\n this.iframe_ = null;\n this.container_ = null;\n this.messageChannel_ = null;\n};\n\n/**\n * Handle messages from the iframe.\n */\nhterm.Frame.prototype.onMessage_ = function(e) {\n switch (e.data.name) {\n case 'ipc-init-ok':\n // We get this response after we send them ipc-init and they finish.\n this.sendTerminalInfo_();\n return;\n case 'terminal-info-ok':\n // We get this response after we send them terminal-info and they finish.\n // Show the finished frame, and then rebind our message handler to the\n // callback below.\n this.container_.style.display = 'flex';\n this.messageChannel_.port1.onmessage = this.onMessage.bind(this);\n this.onLoad();\n return;\n default:\n console.log('Unknown message from frame:', e.data);\n return;\n }\n};\n\n/**\n * Clients could override this, I guess.\n *\n * It doesn't support multiple listeners, but I'm not sure that would make sense\n * here. It's probably better to speak directly to our parents.\n */\nhterm.Frame.prototype.onMessage = function() {};\n\n/**\n * Handle iframe onLoad event.\n */\nhterm.Frame.prototype.onLoad_ = function() {\n this.messageChannel_ = new MessageChannel();\n this.messageChannel_.port1.onmessage = this.onMessage_.bind(this);\n this.messageChannel_.port1.start();\n this.iframe_.contentWindow.postMessage(\n {name: 'ipc-init', argv: [{messagePort: this.messageChannel_.port2}]},\n this.url, [this.messageChannel_.port2]);\n};\n\n/**\n * Clients may override this.\n */\nhterm.Frame.prototype.onLoad = function() {};\n\n/**\n * Sends the terminal-info message to the iframe.\n */\nhterm.Frame.prototype.sendTerminalInfo_ = function() {\n lib.f.getAcceptLanguages(function(languages) {\n this.postMessage('terminal-info', [{\n acceptLanguages: languages,\n foregroundColor: this.terminal_.getForegroundColor(),\n backgroundColor: this.terminal_.getBackgroundColor(),\n cursorColor: this.terminal_.getCursorColor(),\n fontSize: this.terminal_.getFontSize(),\n fontFamily: this.terminal_.getFontFamily(),\n baseURL: lib.f.getURL('/')\n }]\n );\n }.bind(this));\n};\n\n/**\n * User clicked the close button on the frame decoration.\n */\nhterm.Frame.prototype.onCloseClicked_ = function() {\n this.close();\n};\n\n/**\n * Close this frame.\n */\nhterm.Frame.prototype.close = function() {\n if (!this.container_ || !this.container_.parentNode)\n return;\n\n this.container_.parentNode.removeChild(this.container_);\n this.onClose();\n};\n\n\n/**\n * Clients may override this.\n */\nhterm.Frame.prototype.onClose = function() {};\n\n/**\n * Send a message to the iframe.\n */\nhterm.Frame.prototype.postMessage = function(name, argv) {\n if (!this.messageChannel_)\n throw new Error('Message channel is not set up.');\n\n this.messageChannel_.port1.postMessage({name: name, argv: argv});\n};\n\n/**\n * Show the UI for this frame.\n *\n * The iframe src is not loaded until this method is called.\n */\nhterm.Frame.prototype.show = function() {\n var self = this;\n\n function opt(name, defaultValue) {\n if (name in self.options)\n return self.options[name];\n\n return defaultValue;\n }\n\n var self = this;\n\n if (this.container_ && this.container_.parentNode) {\n console.error('Frame already visible');\n return;\n }\n\n var headerHeight = '16px';\n\n var divSize = hterm.getClientSize(this.div_);\n\n var width = opt('width', 640);\n var height = opt('height', 480);\n var left = (divSize.width - width) / 2;\n var top = (divSize.height - height) / 2;\n\n var document = this.terminal_.document_;\n\n var container = this.container_ = document.createElement('div');\n container.style.cssText = (\n 'position: absolute;' +\n 'display: none;' +\n 'flex-direction: column;' +\n 'top: 10%;' +\n 'left: 4%;' +\n 'width: 90%;' +\n 'height: 80%;' +\n 'min-height: 20%;' +\n 'max-height: 80%;' +\n 'box-shadow: 0 0 2px ' + this.terminal_.getForegroundColor() + ';' +\n 'border: 2px ' + this.terminal_.getForegroundColor() + ' solid;');\n\n if (false) {\n // No use for the close button, so no use for the window header either.\n var header = document.createElement('div');\n header.style.cssText = (\n 'display: flex;' +\n 'justify-content: flex-end;' +\n 'height: ' + headerHeight + ';' +\n 'background-color: ' + this.terminal_.getForegroundColor() + ';' +\n 'color: ' + this.terminal_.getBackgroundColor() + ';' +\n 'font-size: 16px;' +\n 'font-family: ' + this.terminal_.getFontFamily());\n container.appendChild(header);\n\n var button = document.createElement('div');\n button.setAttribute('role', 'button');\n button.style.cssText = (\n 'margin-top: -3px;' +\n 'margin-right: 3px;' +\n 'cursor: pointer;');\n button.textContent = '\\u2a2f';\n button.addEventListener('click', this.onCloseClicked_.bind(this));\n header.appendChild(button);\n }\n\n var iframe = this.iframe_ = document.createElement('iframe');\n iframe.onload = this.onLoad_.bind(this);\n iframe.style.cssText = (\n 'display: flex;' +\n 'flex: 1;' +\n 'width: 100%');\n iframe.setAttribute('src', this.url);\n iframe.setAttribute('seamless', true);\n container.appendChild(iframe);\n\n this.div_.appendChild(container);\n};\n// SOURCE FILE: hterm/js/hterm_keyboard.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyMap');\n\n/**\n * Keyboard handler.\n *\n * Consumes onKey* events and invokes onVTKeystroke on the associated\n * hterm.Terminal object.\n *\n * See also: [XTERM] as referenced in vt.js.\n *\n * @param {hterm.Terminal} The Terminal object associated with this keyboard.\n */\nhterm.Keyboard = function(terminal) {\n // The parent vt interpreter.\n this.terminal = terminal;\n\n // The element we're currently capturing keyboard events for.\n this.keyboardElement_ = null;\n\n // The event handlers we are interested in, and their bound callbacks, saved\n // so they can be uninstalled with removeEventListener, when required.\n this.handlers_ = [\n ['focusout', this.onFocusOut_.bind(this)],\n ['keydown', this.onKeyDown_.bind(this)],\n ['keypress', this.onKeyPress_.bind(this)],\n ['keyup', this.onKeyUp_.bind(this)],\n ['textInput', this.onTextInput_.bind(this)]\n ];\n\n /**\n * The current key map.\n */\n this.keyMap = new hterm.Keyboard.KeyMap(this);\n\n this.bindings = new hterm.Keyboard.Bindings(this);\n\n /**\n * none: Disable any AltGr related munging.\n * ctrl-alt: Assume Ctrl+Alt means AltGr.\n * left-alt: Assume left Alt means AltGr.\n * right-alt: Assume right Alt means AltGr.\n */\n this.altGrMode = 'none';\n\n /**\n * If true, Shift-Insert will fall through to the browser as a paste.\n * If false, the keystroke will be sent to the host.\n */\n this.shiftInsertPaste = true;\n\n /**\n * If true, home/end will control the terminal scrollbar and shift home/end\n * will send the VT keycodes. If false then home/end sends VT codes and\n * shift home/end scrolls.\n */\n this.homeKeysScroll = false;\n\n /**\n * Same as above, except for page up/page down.\n */\n this.pageKeysScroll = false;\n\n /**\n * If true, Ctrl-Plus/Minus/Zero controls zoom.\n * If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_,\n * Ctrl-Plus/Zero do nothing.\n */\n this.ctrlPlusMinusZeroZoom = true;\n\n /**\n * Ctrl+C copies if true, sends ^C to host if false.\n * Ctrl+Shift+C sends ^C to host if true, copies if false.\n */\n this.ctrlCCopy = false;\n\n /**\n * Ctrl+V pastes if true, sends ^V to host if false.\n * Ctrl+Shift+V sends ^V to host if true, pastes if false.\n */\n this.ctrlVPaste = false;\n\n /**\n * Enable/disable application keypad.\n *\n * This changes the way numeric keys are sent from the keyboard.\n */\n this.applicationKeypad = false;\n\n /**\n * Enable/disable the application cursor mode.\n *\n * This changes the way cursor keys are sent from the keyboard.\n */\n this.applicationCursor = false;\n\n /**\n * If true, the backspace should send BS ('\\x08', aka ^H). Otherwise\n * the backspace key should send '\\x7f'.\n */\n this.backspaceSendsBackspace = false;\n\n /**\n * The encoding method for data sent to the host.\n */\n this.characterEncoding = 'utf-8';\n\n /**\n * Set whether the meta key sends a leading escape or not.\n */\n this.metaSendsEscape = true;\n\n /**\n * Set whether meta-V gets passed to host.\n */\n this.passMetaV = true;\n\n /**\n * Controls how the alt key is handled.\n *\n * escape....... Send an ESC prefix.\n * 8-bit........ Add 128 to the unshifted character as in xterm.\n * browser-key.. Wait for the keypress event and see what the browser says.\n * (This won't work well on platforms where the browser\n * performs a default action for some alt sequences.)\n *\n * This setting only matters when alt is distinct from meta (altIsMeta is\n * false.)\n */\n this.altSendsWhat = 'escape';\n\n /**\n * Set whether the alt key acts as a meta key, instead of producing 8-bit\n * characters.\n *\n * True to enable, false to disable, null to autodetect based on platform.\n */\n this.altIsMeta = false;\n\n /**\n * If true, tries to detect DEL key events that are from alt-backspace on\n * Chrome OS vs from a true DEL key press.\n *\n * Background: At the time of writing, on Chrome OS, alt-backspace is mapped\n * to DEL. Some users may be happy with this, but others may be frustrated\n * that it's impossible to do meta-backspace. If the user enables this pref,\n * we use a trick to tell a true DEL keypress from alt-backspace: on\n * alt-backspace, we will see the alt key go down, then get a DEL keystroke\n * that indicates that alt is not pressed. See https://crbug.com/174410 .\n */\n this.altBackspaceIsMetaBackspace = false;\n\n /**\n * Used to keep track of the current alt-key state, which is necessary for\n * the altBackspaceIsMetaBackspace preference above and for the altGrMode\n * preference. This is a bitmap with where bit positions correspond to the\n * \"location\" property of the key event.\n */\n this.altKeyPressed = 0;\n\n /**\n * If true, Chrome OS media keys will be mapped to their F-key equivalent.\n * E.g. \"Back\" will be mapped to F1. If false, Chrome will handle the keys.\n */\n this.mediaKeysAreFKeys = false;\n\n /**\n * Holds the previous setting of altSendsWhat when DECSET 1039 is used. When\n * DECRST 1039 is used, altSendsWhat is changed back to this and this is\n * nulled out.\n */\n this.previousAltSendsWhat_ = null;\n};\n\n/**\n * Special handling for keyCodes in a keyboard layout.\n */\nhterm.Keyboard.KeyActions = {\n /**\n * Call preventDefault and stopPropagation for this key event and nothing\n * else.\n */\n CANCEL: lib.f.createEnum('CANCEL'),\n\n /**\n * This performs the default terminal action for the key. If used in the\n * 'normal' action and the the keystroke represents a printable key, the\n * character will be sent to the host. If used in one of the modifier\n * actions, the terminal will perform the normal action after (possibly)\n * altering it.\n *\n * - If the normal sequence starts with CSI, the sequence will be adjusted\n * to include the modifier parameter as described in [XTERM] in the final\n * table of the \"PC-Style Function Keys\" section.\n *\n * - If the control key is down and the key represents a printable character,\n * and the uppercase version of the unshifted keycap is between\n * 64 (ASCII '@') and 95 (ASCII '_'), then the uppercase version of the\n * unshifted keycap minus 64 is sent. This makes '^@' send '\\x00' and\n * '^_' send '\\x1f'. (Note that one higher that 0x1f is 0x20, which is\n * the first printable ASCII value.)\n *\n * - If the alt key is down and the key represents a printable character then\n * the value of the character is shifted up by 128.\n *\n * - If meta is down and configured to send an escape, '\\x1b' will be sent\n * before the normal action is performed.\n */\n DEFAULT: lib.f.createEnum('DEFAULT'),\n\n /**\n * Causes the terminal to opt out of handling the key event, instead letting\n * the browser deal with it.\n */\n PASS: lib.f.createEnum('PASS'),\n\n /**\n * Insert the first or second character of the keyCap, based on e.shiftKey.\n * The key will be handled in onKeyDown, and e.preventDefault() will be\n * called.\n *\n * It is useful for a modified key action, where it essentially strips the\n * modifier while preventing the browser from reacting to the key.\n */\n STRIP: lib.f.createEnum('STRIP')\n};\n\n/**\n * Encode a string according to the 'send-encoding' preference.\n */\nhterm.Keyboard.prototype.encode = function(str) {\n if (this.characterEncoding == 'utf-8')\n return this.terminal.vt.encodeUTF8(str);\n\n return str;\n};\n\n/**\n * Capture keyboard events sent to the associated element.\n *\n * This enables the keyboard. Captured events are consumed by this class\n * and will not perform their default action or bubble to other elements.\n *\n * Passing a null element will uninstall the keyboard handlers.\n *\n * @param {HTMLElement} element The element whose events should be captured, or\n * null to disable the keyboard.\n */\nhterm.Keyboard.prototype.installKeyboard = function(element) {\n if (element == this.keyboardElement_)\n return;\n\n if (element && this.keyboardElement_)\n this.installKeyboard(null);\n\n for (var i = 0; i < this.handlers_.length; i++) {\n var handler = this.handlers_[i];\n if (element) {\n element.addEventListener(handler[0], handler[1]);\n } else {\n this.keyboardElement_.removeEventListener(handler[0], handler[1]);\n }\n }\n\n this.keyboardElement_ = element;\n};\n\n/**\n * Disable keyboard event capture.\n *\n * This will allow the browser to process key events normally.\n */\nhterm.Keyboard.prototype.uninstallKeyboard = function() {\n this.installKeyboard(null);\n};\n\n/**\n * Handle onTextInput events.\n *\n * We're not actually supposed to get these, but we do on the Mac in the case\n * where a third party app sends synthetic keystrokes to Chrome.\n */\nhterm.Keyboard.prototype.onTextInput_ = function(e) {\n if (!e.data)\n return;\n\n e.data.split('').forEach(this.terminal.onVTKeystroke.bind(this.terminal));\n};\n\n/**\n * Handle onKeyPress events.\n */\nhterm.Keyboard.prototype.onKeyPress_ = function(e) {\n var code;\n\n var key = String.fromCharCode(e.which);\n var lowerKey = key.toLowerCase();\n if ((e.ctrlKey || e.metaKey) && (lowerKey == 'c' || lowerKey == 'v')) {\n // On FF the key press (not key down) event gets fired for copy/paste.\n // Let it fall through for the default browser behavior.\n return;\n }\n\n if (e.altKey && this.altSendsWhat == 'browser-key' && e.charCode == 0) {\n // If we got here because we were expecting the browser to handle an\n // alt sequence but it didn't do it, then we might be on an OS without\n // an enabled IME system. In that case we fall back to xterm-like\n // behavior.\n //\n // This happens here only as a fallback. Typically these platforms should\n // set altSendsWhat to either 'escape' or '8-bit'.\n var ch = String.fromCharCode(e.keyCode);\n if (!e.shiftKey)\n ch = ch.toLowerCase();\n code = ch.charCodeAt(0) + 128;\n\n } else if (e.charCode >= 32) {\n ch = e.charCode;\n }\n\n if (ch)\n this.terminal.onVTKeystroke(String.fromCharCode(ch));\n\n e.preventDefault();\n e.stopPropagation();\n};\n\n/**\n * Prevent default handling for non-ctrl-shifted event.\n *\n * When combined with Chrome permission 'app.window.fullscreen.overrideEsc',\n * and called for both key down and key up events,\n * the ESC key remains usable within fullscreen Chrome app windows.\n */\nhterm.Keyboard.prototype.preventChromeAppNonCtrlShiftDefault_ = function(e) {\n if (!window.chrome || !window.chrome.app || !window.chrome.app.window)\n return;\n if (!e.ctrlKey || !e.shiftKey)\n e.preventDefault();\n};\n\nhterm.Keyboard.prototype.onFocusOut_ = function(e) {\n this.altKeyPressed = 0;\n};\n\nhterm.Keyboard.prototype.onKeyUp_ = function(e) {\n if (e.keyCode == 18)\n this.altKeyPressed = this.altKeyPressed & ~(1 << (e.location - 1));\n\n if (e.keyCode == 27)\n this.preventChromeAppNonCtrlShiftDefault_(e);\n};\n\n/**\n * Handle onKeyDown events.\n */\nhterm.Keyboard.prototype.onKeyDown_ = function(e) {\n if (e.keyCode == 18)\n this.altKeyPressed = this.altKeyPressed | (1 << (e.location - 1));\n\n if (e.keyCode == 27)\n this.preventChromeAppNonCtrlShiftDefault_(e);\n\n var keyDef = this.keyMap.keyDefs[e.keyCode];\n if (!keyDef) {\n console.warn('No definition for keyCode: ' + e.keyCode);\n return;\n }\n\n // The type of action we're going to use.\n var resolvedActionType = null;\n\n var self = this;\n function getAction(name) {\n // Get the key action for the given action name. If the action is a\n // function, dispatch it. If the action defers to the normal action,\n // resolve that instead.\n\n resolvedActionType = name;\n\n var action = keyDef[name];\n if (typeof action == 'function')\n action = action.apply(self.keyMap, [e, keyDef]);\n\n if (action === DEFAULT && name != 'normal')\n action = getAction('normal');\n\n return action;\n }\n\n // Note that we use the triple-equals ('===') operator to test equality for\n // these constants, in order to distinguish usage of the constant from usage\n // of a literal string that happens to contain the same bytes.\n var CANCEL = hterm.Keyboard.KeyActions.CANCEL;\n var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT;\n var PASS = hterm.Keyboard.KeyActions.PASS;\n var STRIP = hterm.Keyboard.KeyActions.STRIP;\n\n var control = e.ctrlKey;\n var alt = this.altIsMeta ? false : e.altKey;\n var meta = this.altIsMeta ? (e.altKey || e.metaKey) : e.metaKey;\n\n // In the key-map, we surround the keyCap for non-printables in \"[...]\"\n var isPrintable = !(/^\\[\\w+\\]$/.test(keyDef.keyCap));\n\n switch (this.altGrMode) {\n case 'ctrl-alt':\n if (isPrintable && control && alt) {\n // ctrl-alt-printable means altGr. We clear out the control and\n // alt modifiers and wait to see the charCode in the keydown event.\n control = false;\n alt = false;\n }\n break;\n\n case 'right-alt':\n if (isPrintable && (this.terminal.keyboard.altKeyPressed & 2)) {\n control = false;\n alt = false;\n }\n break;\n\n case 'left-alt':\n if (isPrintable && (this.terminal.keyboard.altKeyPressed & 1)) {\n control = false;\n alt = false;\n }\n break;\n }\n\n var action;\n\n if (control) {\n action = getAction('control');\n } else if (alt) {\n action = getAction('alt');\n } else if (meta) {\n action = getAction('meta');\n } else {\n action = getAction('normal');\n }\n\n // If e.maskShiftKey was set (during getAction) it means the shift key is\n // already accounted for in the action, and we should not act on it any\n // further. This is currently only used for Ctrl-Shift-Tab, which should send\n // \"CSI Z\", not \"CSI 1 ; 2 Z\".\n var shift = !e.maskShiftKey && e.shiftKey;\n\n var keyDown = {\n keyCode: e.keyCode,\n shift: e.shiftKey, // not `var shift` from above.\n ctrl: control,\n alt: alt,\n meta: meta\n };\n\n var binding = this.bindings.getBinding(keyDown);\n\n if (binding) {\n // Clear out the modifier bits so we don't try to munge the sequence\n // further.\n shift = control = alt = meta = false;\n resolvedActionType = 'normal';\n action = binding.action;\n\n if (typeof action == 'function')\n action = action.call(this, this.terminal, keyDown);\n }\n\n if (alt && this.altSendsWhat == 'browser-key' && action == DEFAULT) {\n // When altSendsWhat is 'browser-key', we wait for the keypress event.\n // In keypress, the browser should have set the event.charCode to the\n // appropriate character.\n // TODO(rginda): Character compositions will need some black magic.\n action = PASS;\n }\n\n if (action === PASS || (action === DEFAULT && !(control || alt || meta))) {\n // If this key is supposed to be handled by the browser, or it is an\n // unmodified key with the default action, then exit this event handler.\n // If it's an unmodified key, it'll be handled in onKeyPress where we\n // can tell for sure which ASCII code to insert.\n //\n // This block needs to come before the STRIP test, otherwise we'll strip\n // the modifier and think it's ok to let the browser handle the keypress.\n // The browser won't know we're trying to ignore the modifiers and might\n // perform some default action.\n return;\n }\n\n if (action === STRIP) {\n alt = control = false;\n action = keyDef.normal;\n if (typeof action == 'function')\n action = action.apply(this.keyMap, [e, keyDef]);\n\n if (action == DEFAULT && keyDef.keyCap.length == 2)\n action = keyDef.keyCap.substr((shift ? 1 : 0), 1);\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n if (action === CANCEL)\n return;\n\n if (action !== DEFAULT && typeof action != 'string') {\n console.warn('Invalid action: ' + JSON.stringify(action));\n return;\n }\n\n // Strip the modifier that is associated with the action, since we assume that\n // modifier has already been accounted for in the action.\n if (resolvedActionType == 'control') {\n control = false;\n } else if (resolvedActionType == 'alt') {\n alt = false;\n } else if (resolvedActionType == 'meta') {\n meta = false;\n }\n\n if (action.substr(0, 2) == '\\x1b[' && (alt || control || shift)) {\n // The action is an escape sequence that and it was triggered in the\n // presence of a keyboard modifier, we may need to alter the action to\n // include the modifier before sending it.\n\n var mod;\n\n if (shift && !(alt || control)) {\n mod = ';2';\n } else if (alt && !(shift || control)) {\n mod = ';3';\n } else if (shift && alt && !control) {\n mod = ';4';\n } else if (control && !(shift || alt)) {\n mod = ';5';\n } else if (shift && control && !alt) {\n mod = ';6';\n } else if (alt && control && !shift) {\n mod = ';7';\n } else if (shift && alt && control) {\n mod = ';8';\n }\n\n if (action.length == 3) {\n // Some of the CSI sequences have zero parameters unless modified.\n action = '\\x1b[1' + mod + action.substr(2, 1);\n } else {\n // Others always have at least one parameter.\n action = action.substr(0, action.length - 1) + mod +\n action.substr(action.length - 1);\n }\n\n } else {\n if (action === DEFAULT) {\n action = keyDef.keyCap.substr((shift ? 1 : 0), 1);\n\n if (control) {\n var unshifted = keyDef.keyCap.substr(0, 1);\n var code = unshifted.charCodeAt(0);\n if (code >= 64 && code <= 95) {\n action = String.fromCharCode(code - 64);\n }\n }\n }\n\n if (alt && this.altSendsWhat == '8-bit' && action.length == 1) {\n var code = action.charCodeAt(0) + 128;\n action = String.fromCharCode(code);\n }\n\n // We respect alt/metaSendsEscape even if the keymap action was a literal\n // string. Otherwise, every overridden alt/meta action would have to\n // check alt/metaSendsEscape.\n if ((alt && this.altSendsWhat == 'escape') ||\n (meta && this.metaSendsEscape)) {\n action = '\\x1b' + action;\n }\n }\n\n this.terminal.onVTKeystroke(action);\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_bindings.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * A mapping from hterm.Keyboard.KeyPattern to an action.\n *\n * TODO(rginda): For now this bindings code is only used for user overrides.\n * hterm.Keyboard.KeyMap still handles all of the built-in key mappings.\n * It'd be nice if we migrated that over to be hterm.Keyboard.Bindings based.\n */\nhterm.Keyboard.Bindings = function() {\n this.bindings_ = {};\n};\n\n/**\n * Remove all bindings.\n */\nhterm.Keyboard.Bindings.prototype.clear = function () {\n this.bindings_ = {};\n};\n\n/**\n * Add a new binding.\n *\n * Internal API that assumes parsed objects as inputs.\n * See the public addBinding for more details.\n *\n * @param {hterm.Keyboard.KeyPattern} keyPattern\n * @param {string|function|hterm.Keyboard.KeyAction} action\n */\nhterm.Keyboard.Bindings.prototype.addBinding_ = function(keyPattern, action) {\n var binding = null;\n var list = this.bindings_[keyPattern.keyCode];\n if (list) {\n for (var i = 0; i < list.length; i++) {\n if (list[i].keyPattern.matchKeyPattern(keyPattern)) {\n binding = list[i];\n break;\n }\n }\n }\n\n if (binding) {\n binding.action = action;\n } else {\n binding = {keyPattern: keyPattern, action: action};\n\n if (!list) {\n this.bindings_[keyPattern.keyCode] = [binding];\n } else {\n this.bindings_[keyPattern.keyCode].push(binding);\n\n list.sort(function(a, b) {\n return hterm.Keyboard.KeyPattern.sortCompare(\n a.keyPattern, b.keyPattern);\n });\n }\n }\n};\n\n/**\n * Add a new binding.\n *\n * If a binding for the keyPattern already exists it will be overridden.\n *\n * More specific keyPatterns take precedence over those with wildcards. Given\n * bindings for \"Ctrl-A\" and \"Ctrl-*-A\", and a \"Ctrl-A\" keydown, the \"Ctrl-A\"\n * binding will match even if \"Ctrl-*-A\" was created last.\n *\n * If action is a string, it will be passed through hterm.Parser.parseKeyAction.\n *\n * For example:\n * // Will replace Ctrl-P keystrokes with the string \"hiya!\".\n * addBinding('Ctrl-P', \"'hiya!'\");\n * // Will cancel the keystroke entirely (make it do nothing).\n * addBinding('Alt-D', hterm.Keyboard.KeyActions.CANCEL);\n * // Will execute the code and return the action.\n * addBinding('Ctrl-T', function() {\n * console.log('Got a T!');\n * return hterm.Keyboard.KeyActions.PASS;\n * });\n *\n * @param {string|hterm.Keyboard.KeyPattern} keyPattern\n * @param {string|function|hterm.Keyboard.KeyAction} action\n */\nhterm.Keyboard.Bindings.prototype.addBinding = function(key, action) {\n // If we're given a hterm.Keyboard.KeyPattern object, pass it down.\n if (typeof key != 'string') {\n this.addBinding_(key, action);\n return;\n }\n\n // Here we treat key as a string.\n var p = new hterm.Parser();\n\n p.reset(key);\n var sequence;\n\n try {\n sequence = p.parseKeySequence();\n } catch (ex) {\n console.error(ex);\n return;\n }\n\n if (!p.isComplete()) {\n console.error(p.error('Expected end of sequence: ' + sequence));\n return;\n }\n\n // If action is a string, parse it. Otherwise assume it's callable.\n if (typeof action == 'string') {\n p.reset(action);\n try {\n action = p.parseKeyAction();\n } catch (ex) {\n console.error(ex);\n return;\n }\n }\n\n if (!p.isComplete()) {\n console.error(p.error('Expected end of sequence: ' + sequence));\n return;\n }\n\n this.addBinding_(new hterm.Keyboard.KeyPattern(sequence), action);\n};\n\n/**\n * Add multiple bindings at a time using a map of {string: string, ...}\n *\n * This uses hterm.Parser to parse the maps key into KeyPatterns, and the\n * map values into {string|function|KeyAction}.\n *\n * For example:\n * {\n * // Will replace Ctrl-P keystrokes with the string \"hiya!\".\n * 'Ctrl-P': \"'hiya!'\",\n * // Will cancel the keystroke entirely (make it do nothing).\n * 'Alt-D': hterm.Keyboard.KeyActions.CANCEL,\n * }\n *\n * @param {Object} map\n */\nhterm.Keyboard.Bindings.prototype.addBindings = function(map) {\n for (var key in map) {\n this.addBinding(key, map[key]);\n }\n};\n\n/**\n * Return the binding that is the best match for the given keyDown record,\n * or null if there is no match.\n *\n * @param {Object} keyDown An object with a keyCode property and zero or\n * more boolean properties representing key modifiers. These property names\n * must match those defined in hterm.Keyboard.KeyPattern.modifiers.\n */\nhterm.Keyboard.Bindings.prototype.getBinding = function(keyDown) {\n var list = this.bindings_[keyDown.keyCode];\n if (!list)\n return null;\n\n for (var i = 0; i < list.length; i++) {\n var binding = list[i];\n if (binding.keyPattern.matchKeyDown(keyDown))\n return binding;\n }\n\n return null;\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_keymap.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyActions');\n\n/**\n * The default key map for hterm.\n *\n * Contains a mapping of keyCodes to keyDefs (aka key definitions). The key\n * definition tells the hterm.Keyboard class how to handle keycodes.\n *\n * This should work for most cases, as the printable characters get handled\n * in the keypress event. In that case, even if the keycap is wrong in the\n * key map, the correct character should be sent.\n *\n * Different layouts, such as Dvorak should work with this keymap, as those\n * layouts typically move keycodes around on the keyboard without disturbing\n * the actual keycaps.\n *\n * There may be issues with control keys on non-US keyboards or with keyboards\n * that very significantly from the expectations here, in which case we may\n * have to invent new key maps.\n *\n * The sequences defined in this key map come from [XTERM] as referenced in\n * vt.js, starting with the section titled \"Alt and Meta Keys\".\n */\nhterm.Keyboard.KeyMap = function(keyboard) {\n this.keyboard = keyboard;\n this.keyDefs = {};\n this.reset();\n};\n\n/**\n * Add a single key definition.\n *\n * The definition is a hash containing the following keys: 'keyCap', 'normal',\n * 'control', and 'alt'.\n *\n * - keyCap is a string identifying the key. For printable\n * keys, the key cap should be exactly two characters, starting with the\n * unshifted version. For example, 'aA', 'bB', '1!' and '=+'. For\n * non-printable the key cap should be surrounded in square braces, as in\n * '[INS]', '[LEFT]'. By convention, non-printable keycaps are in uppercase\n * but this is not a strict requirement.\n *\n * - Normal is the action that should be performed when they key is pressed\n * in the absence of any modifier. See below for the supported actions.\n *\n * - Control is the action that should be performed when they key is pressed\n * along with the control modifier. See below for the supported actions.\n *\n * - Alt is the action that should be performed when they key is pressed\n * along with the alt modifier. See below for the supported actions.\n *\n * - Meta is the action that should be performed when they key is pressed\n * along with the meta modifier. See below for the supported actions.\n *\n * Actions can be one of the hterm.Keyboard.KeyActions as documented below,\n * a literal string, or an array. If the action is a literal string then\n * the string is sent directly to the host. If the action is an array it\n * is taken to be an escape sequence that may be altered by modifier keys.\n * The second-to-last element of the array will be overwritten with the\n * state of the modifier keys, as specified in the final table of \"PC-Style\n * Function Keys\" from [XTERM].\n */\nhterm.Keyboard.KeyMap.prototype.addKeyDef = function(keyCode, def) {\n if (keyCode in this.keyDefs)\n console.warn('Duplicate keyCode: ' + keyCode);\n\n this.keyDefs[keyCode] = def;\n};\n\n/**\n * Add multiple key definitions in a single call.\n *\n * This function takes the key definitions as variable argument list. Each\n * argument is the key definition specified as an array.\n *\n * (If the function took everything as one big hash we couldn't detect\n * duplicates, and there would be a lot more typing involved.)\n *\n * Each key definition should have 6 elements: (keyCode, keyCap, normal action,\n * control action, alt action and meta action). See KeyMap.addKeyDef for the\n * meaning of these elements.\n */\nhterm.Keyboard.KeyMap.prototype.addKeyDefs = function(var_args) {\n for (var i = 0; i < arguments.length; i++) {\n this.addKeyDef(arguments[i][0],\n { keyCap: arguments[i][1],\n normal: arguments[i][2],\n control: arguments[i][3],\n alt: arguments[i][4],\n meta: arguments[i][5]\n });\n }\n};\n\n/**\n * Set up the default state for this keymap.\n */\nhterm.Keyboard.KeyMap.prototype.reset = function() {\n this.keyDefs = {};\n\n var self = this;\n\n // This function is used by the \"macro\" functions below. It makes it\n // possible to use the call() macro as an argument to any other macro.\n function resolve(action, e, k) {\n if (typeof action == 'function')\n return action.apply(self, [e, k]);\n\n return action;\n }\n\n // If not application keypad a, else b. The keys that care about\n // application keypad ignore it when the key is modified.\n function ak(a, b) {\n return function(e, k) {\n var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !self.keyboard.applicationKeypad) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If mod or not application cursor a, else b. The keys that care about\n // application cursor ignore it when the key is modified.\n function ac(a, b) {\n return function(e, k) {\n var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !self.keyboard.applicationCursor) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If not backspace-sends-backspace keypad a, else b.\n function bs(a, b) {\n return function(e, k) {\n var action = !self.keyboard.backspaceSendsBackspace ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If not e.shiftKey a, else b.\n function sh(a, b) {\n return function(e, k) {\n var action = !e.shiftKey ? a : b;\n e.maskShiftKey = true;\n return resolve(action, e, k);\n };\n }\n\n // If not e.altKey a, else b.\n function alt(a, b) {\n return function(e, k) {\n var action = !e.altKey ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If no modifiers a, else b.\n function mod(a, b) {\n return function(e, k) {\n var action = !(e.shiftKey || e.ctrlKey || e.altKey || e.metaKey) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // Compute a control character for a given character.\n function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) }\n\n // Call a method on the keymap instance.\n function c(m) { return function (e, k) { return this[m](e, k) } }\n\n // Ignore if not trapping media keys.\n function med(fn) {\n return function(e, k) {\n if (!self.keyboard.mediaKeysAreFKeys) {\n // Block Back, Forward, and Reload keys to avoid navigating away from\n // the current page.\n return (e.keyCode == 166 || e.keyCode == 167 || e.keyCode == 168) ?\n hterm.Keyboard.KeyActions.CANCEL :\n hterm.Keyboard.KeyActions.PASS;\n }\n return resolve(fn, e, k);\n };\n }\n\n var ESC = '\\x1b';\n var CSI = '\\x1b[';\n var SS3 = '\\x1bO';\n\n var CANCEL = hterm.Keyboard.KeyActions.CANCEL;\n var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT;\n var PASS = hterm.Keyboard.KeyActions.PASS;\n var STRIP = hterm.Keyboard.KeyActions.STRIP;\n\n this.addKeyDefs(\n // These fields are: [keycode, keycap, normal, control, alt, meta]\n\n // The browser sends the keycode 0 for some keys. We'll just assume it's\n // going to do the right thing by default for those keys.\n [0, '[UNKNOWN]', PASS, PASS, PASS, PASS],\n\n // First row.\n [27, '[ESC]', ESC, DEFAULT, DEFAULT, DEFAULT],\n [112, '[F1]', mod(SS3 + 'P', CSI + 'P'), DEFAULT, CSI + \"23~\", DEFAULT],\n [113, '[F2]', mod(SS3 + 'Q', CSI + 'Q'), DEFAULT, CSI + \"24~\", DEFAULT],\n [114, '[F3]', mod(SS3 + 'R', CSI + 'R'), DEFAULT, CSI + \"25~\", DEFAULT],\n [115, '[F4]', mod(SS3 + 'S', CSI + 'S'), DEFAULT, CSI + \"26~\", DEFAULT],\n [116, '[F5]', CSI + '15~', DEFAULT, CSI + \"28~\", DEFAULT],\n [117, '[F6]', CSI + '17~', DEFAULT, CSI + \"29~\", DEFAULT],\n [118, '[F7]', CSI + '18~', DEFAULT, CSI + \"31~\", DEFAULT],\n [119, '[F8]', CSI + '19~', DEFAULT, CSI + \"32~\", DEFAULT],\n [120, '[F9]', CSI + '20~', DEFAULT, CSI + \"33~\", DEFAULT],\n [121, '[F10]', CSI + '21~', DEFAULT, CSI + \"34~\", DEFAULT],\n [122, '[F11]', CSI + '23~', DEFAULT, CSI + \"42~\", DEFAULT],\n [123, '[F12]', CSI + '24~', DEFAULT, CSI + \"43~\", DEFAULT],\n\n // Second row.\n [192, '`~', DEFAULT, sh(ctl('@'), ctl('^')), DEFAULT, PASS],\n [49, '1!', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [50, '2@', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [51, '3#', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [52, '4$', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [53, '5%', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [54, '6^', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [55, '7&', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [56, '8*', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [57, '9(', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [48, '0)', DEFAULT, c('onPlusMinusZero_'),c('onAltNum_'),c('onPlusMinusZero_')],\n [189, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [187, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n // Firefox -_ and =+\n [173, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [61, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n // Firefox Italian +*\n [171, '+*', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n\n [8, '[BKSP]', bs('\\x7f', '\\b'), bs('\\b', '\\x7f'), DEFAULT, DEFAULT],\n\n // Third row.\n [9, '[TAB]', sh('\\t', CSI + 'Z'), STRIP, PASS, DEFAULT],\n [81, 'qQ', DEFAULT, ctl('Q'), DEFAULT, DEFAULT],\n [87, 'wW', DEFAULT, ctl('W'), DEFAULT, DEFAULT],\n [69, 'eE', DEFAULT, ctl('E'), DEFAULT, DEFAULT],\n [82, 'rR', DEFAULT, ctl('R'), DEFAULT, DEFAULT],\n [84, 'tT', DEFAULT, ctl('T'), DEFAULT, DEFAULT],\n [89, 'yY', DEFAULT, ctl('Y'), DEFAULT, DEFAULT],\n [85, 'uU', DEFAULT, ctl('U'), DEFAULT, DEFAULT],\n [73, 'iI', DEFAULT, ctl('I'), DEFAULT, DEFAULT],\n [79, 'oO', DEFAULT, ctl('O'), DEFAULT, DEFAULT],\n [80, 'pP', DEFAULT, ctl('P'), DEFAULT, DEFAULT],\n [219, '[{', DEFAULT, ctl('['), DEFAULT, DEFAULT],\n [221, ']}', DEFAULT, ctl(']'), DEFAULT, DEFAULT],\n [220, '\\\\|', DEFAULT, ctl('\\\\'), DEFAULT, DEFAULT],\n\n // Fourth row. (We let Ctrl-Shift-J pass for Chrome DevTools.)\n [20, '[CAPS]', PASS, PASS, PASS, DEFAULT],\n [65, 'aA', DEFAULT, ctl('A'), DEFAULT, DEFAULT],\n [83, 'sS', DEFAULT, ctl('S'), DEFAULT, DEFAULT],\n [68, 'dD', DEFAULT, ctl('D'), DEFAULT, DEFAULT],\n [70, 'fF', DEFAULT, ctl('F'), DEFAULT, DEFAULT],\n [71, 'gG', DEFAULT, ctl('G'), DEFAULT, DEFAULT],\n [72, 'hH', DEFAULT, ctl('H'), DEFAULT, DEFAULT],\n [74, 'jJ', DEFAULT, sh(ctl('J'), PASS), DEFAULT, DEFAULT],\n [75, 'kK', DEFAULT, sh(ctl('K'), c('onClear_')), DEFAULT, DEFAULT],\n [76, 'lL', DEFAULT, sh(ctl('L'), PASS), DEFAULT, DEFAULT],\n [186, ';:', DEFAULT, STRIP, DEFAULT, DEFAULT],\n [222, '\\'\"', DEFAULT, STRIP, DEFAULT, DEFAULT],\n [13, '[ENTER]', '\\r', CANCEL, CANCEL, DEFAULT],\n\n // Fifth row. This includes the copy/paste shortcuts. On some\n // platforms it's Ctrl-C/V, on others it's Meta-C/V. We assume either\n // Ctrl-C/Meta-C should pass to the browser when there is a selection,\n // and Ctrl-Shift-V/Meta-*-V should always pass to the browser (since\n // these seem to be recognized as paste too).\n [16, '[SHIFT]', PASS, PASS, PASS, DEFAULT],\n [90, 'zZ', DEFAULT, ctl('Z'), DEFAULT, DEFAULT],\n [88, 'xX', DEFAULT, ctl('X'), DEFAULT, DEFAULT],\n [67, 'cC', DEFAULT, c('onCtrlC_'), DEFAULT, c('onMetaC_')],\n [86, 'vV', DEFAULT, c('onCtrlV_'), DEFAULT, c('onMetaV_')],\n [66, 'bB', DEFAULT, sh(ctl('B'), PASS), DEFAULT, sh(DEFAULT, PASS)],\n [78, 'nN', DEFAULT, c('onCtrlN_'), DEFAULT, c('onMetaN_')],\n [77, 'mM', DEFAULT, ctl('M'), DEFAULT, DEFAULT],\n [188, ',<', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT],\n [190, '.>', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT],\n [191, '/?', DEFAULT, sh(ctl('_'), ctl('?')), DEFAULT, DEFAULT],\n\n // Sixth and final row.\n [17, '[CTRL]', PASS, PASS, PASS, PASS],\n [18, '[ALT]', PASS, PASS, PASS, PASS],\n [91, '[LAPL]', PASS, PASS, PASS, PASS],\n [32, ' ', DEFAULT, ctl('@'), DEFAULT, DEFAULT],\n [92, '[RAPL]', PASS, PASS, PASS, PASS],\n [93, '[RMENU]', PASS, PASS, PASS, PASS],\n\n // These things.\n [42, '[PRTSCR]', PASS, PASS, PASS, PASS],\n [145, '[SCRLK]', PASS, PASS, PASS, PASS],\n [19, '[BREAK]', PASS, PASS, PASS, PASS],\n\n // The block of six keys above the arrows.\n [45, '[INSERT]', c('onKeyInsert_'), DEFAULT, DEFAULT, DEFAULT],\n [36, '[HOME]', c('onKeyHome_'), DEFAULT, DEFAULT, DEFAULT],\n [33, '[PGUP]', c('onKeyPageUp_'), DEFAULT, DEFAULT, DEFAULT],\n [46, '[DEL]', c('onKeyDel_'), DEFAULT, DEFAULT, DEFAULT],\n [35, '[END]', c('onKeyEnd_'), DEFAULT, DEFAULT, DEFAULT],\n [34, '[PGDOWN]', c('onKeyPageDown_'), DEFAULT, DEFAULT, DEFAULT],\n\n // Arrow keys. When unmodified they respect the application cursor state,\n // otherwise they always send the CSI codes.\n [38, '[UP]', c('onKeyArrowUp_'), DEFAULT, DEFAULT, DEFAULT],\n [40, '[DOWN]', c('onKeyArrowDown_'), DEFAULT, DEFAULT, DEFAULT],\n [39, '[RIGHT]', ac(CSI + 'C', SS3 + 'C'), DEFAULT, DEFAULT, DEFAULT],\n [37, '[LEFT]', ac(CSI + 'D', SS3 + 'D'), DEFAULT, DEFAULT, DEFAULT],\n\n [144, '[NUMLOCK]', PASS, PASS, PASS, PASS],\n\n // With numlock off, the keypad generates the same key codes as the arrows\n // and 'block of six' for some keys, and null key codes for the rest.\n\n // Keypad with numlock on generates unique key codes...\n [96, '[KP0]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [97, '[KP1]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [98, '[KP2]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [99, '[KP3]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [100, '[KP4]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [101, '[KP5]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [102, '[KP6]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [103, '[KP7]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [104, '[KP8]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [105, '[KP9]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [107, '[KP+]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [109, '[KP-]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [106, '[KP*]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [111, '[KP/]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [110, '[KP.]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n\n // Chrome OS keyboard top row.\n [166, '[BACK]', med(mod(SS3+'P', CSI+'P')), DEFAULT, CSI+\"23~\", DEFAULT],\n [167, '[FWD]', med(mod(SS3+'Q', CSI+'Q')), DEFAULT, CSI+\"24~\", DEFAULT],\n [168, '[RELOAD]', med(mod(SS3+'R', CSI+'R')), DEFAULT, CSI+\"25~\", DEFAULT],\n [183, '[FSCR]', med(mod(SS3+'S', CSI+'S')), DEFAULT, CSI+\"26~\", DEFAULT],\n [182, '[WINS]', med(CSI + '15~'), DEFAULT, CSI+\"28~\", DEFAULT],\n [216, '[BRIT-]', med(CSI + '17~'), DEFAULT, CSI+\"29~\", DEFAULT],\n [217, '[BRIT+]', med(CSI + '18~'), DEFAULT, CSI+\"31~\", DEFAULT]\n\n // 173 [MUTE], 174 [VOL-] and 175 [VOL+] are trapped by the Chrome OS\n // window manager, so we'll never see them. Note that 173 is also\n // Firefox's -_ keycode.\n );\n};\n\n/**\n * Either allow the paste or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyInsert_ = function(e) {\n if (this.keyboard.shiftInsertPaste && e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return '\\x1b[2~';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyHome_ = function(e) {\n if (!this.keyboard.homeKeysScroll ^ e.shiftKey) {\n if ((e.altey || e.ctrlKey || e.shiftKey) ||\n !this.keyboard.applicationCursor) {\n return '\\x1b[H';\n }\n\n return '\\x1bOH';\n }\n\n this.keyboard.terminal.scrollHome();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyEnd_ = function(e) {\n if (!this.keyboard.homeKeysScroll ^ e.shiftKey) {\n if ((e.altKey || e.ctrlKey || e.shiftKey) ||\n !this.keyboard.applicationCursor) {\n return '\\x1b[F';\n }\n\n return '\\x1bOF';\n }\n\n this.keyboard.terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyPageUp_ = function(e) {\n if (!this.keyboard.pageKeysScroll ^ e.shiftKey)\n return '\\x1b[5~';\n\n this.keyboard.terminal.scrollPageUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either send a true DEL, or sub in meta-backspace.\n *\n * On Chrome OS, if we know the alt key is down, but we get a DEL event that\n * claims that the alt key is not pressed, we know the DEL was a synthetic\n * one from a user that hit alt-backspace. Based on a user pref, we can sub\n * in meta-backspace in this case.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyDel_ = function(e) {\n if (this.keyboard.altBackspaceIsMetaBackspace &&\n this.keyboard.altKeyPressed && !e.altKey)\n return '\\x1b\\x7f';\n return '\\x1b[3~';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyPageDown_ = function(e) {\n if (!this.keyboard.pageKeysScroll ^ e.shiftKey)\n return '\\x1b[6~';\n\n this.keyboard.terminal.scrollPageDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyArrowUp_ = function(e) {\n if (!this.keyboard.applicationCursor && e.shiftKey) {\n this.keyboard.terminal.scrollLineUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !this.keyboard.applicationCursor) ? '\\x1b[A' : '\\x1bOA';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyArrowDown_ = function(e) {\n if (!this.keyboard.applicationCursor && e.shiftKey) {\n this.keyboard.terminal.scrollLineDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !this.keyboard.applicationCursor) ? '\\x1b[B' : '\\x1bOB';\n};\n\n/**\n * Clear the primary/alternate screens and the scrollback buffer.\n */\nhterm.Keyboard.KeyMap.prototype.onClear_ = function(e, keyDef) {\n this.keyboard.terminal.wipeContents();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either pass Ctrl-1..9 to the browser or send them to the host.\n *\n * Note that Ctrl-1 and Ctrl-9 don't actually have special sequences mapped\n * to them in xterm or gnome-terminal. The range is really Ctrl-2..8, but\n * we handle 1..9 since Chrome treats the whole range special.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlNum_ = function(e, keyDef) {\n // Compute a control character for a given character.\n function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) }\n\n if (this.keyboard.terminal.passCtrlNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n switch (keyDef.keyCap.substr(0, 1)) {\n case '1': return '1';\n case '2': return ctl('@');\n case '3': return ctl('[');\n case '4': return ctl('\\\\');\n case '5': return ctl(']');\n case '6': return ctl('^');\n case '7': return ctl('_');\n case '8': return '\\x7f';\n case '9': return '9';\n }\n};\n\n/**\n * Either pass Alt-1..9 to the browser or send them to the host.\n */\nhterm.Keyboard.KeyMap.prototype.onAltNum_ = function(e, keyDef) {\n if (this.keyboard.terminal.passAltNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either pass Meta-1..9 to the browser or send them to the host.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaNum_ = function(e, keyDef) {\n if (this.keyboard.terminal.passMetaNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either send a ^C or interpret the keystroke as a copy command.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlC_ = function(e, keyDef) {\n var selection = this.keyboard.terminal.getDocument().getSelection();\n\n if (!selection.isCollapsed) {\n if (this.keyboard.ctrlCCopy && !e.shiftKey) {\n // Ctrl-C should copy if there is a selection, send ^C otherwise.\n // Perform the copy by letting the browser handle Ctrl-C. On most\n // browsers, this is the *only* way to place text on the clipboard from\n // the 'drive-by' web.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(selection.collapseToEnd.bind(selection), 50);\n }\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n if (!this.keyboard.ctrlCCopy && e.shiftKey) {\n // Ctrl-Shift-C should copy if there is a selection, send ^C otherwise.\n // Perform the copy manually. This only works in situations where\n // document.execCommand('copy') is allowed.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(selection.collapseToEnd.bind(selection), 50);\n }\n this.keyboard.terminal.copySelectionToClipboard();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n }\n\n return '\\x03';\n};\n\n/**\n * Either send a ^N or open a new window to the same location.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlN_ = function(e, keyDef) {\n if (e.shiftKey) {\n window.open(document.location.href, '',\n 'chrome=no,close=yes,resize=yes,scrollbars=yes,' +\n 'minimizable=yes,width=' + window.innerWidth +\n ',height=' + window.innerHeight);\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return '\\x0e';\n};\n\n/**\n * Either send a ^V or issue a paste command.\n *\n * The default behavior is to paste if the user presses Ctrl-Shift-V, and send\n * a ^V if the user presses Ctrl-V. This can be flipped with the\n * 'ctrl-v-paste' preference.\n *\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlV_ = function(e, keyDef) {\n if ((!e.shiftKey && this.keyboard.ctrlVPaste) ||\n (e.shiftKey && !this.keyboard.ctrlVPaste)) {\n // We try to do the pasting ourselves as not all browsers/OSs bind Ctrl-V to\n // pasting. Notably, on macOS, Ctrl-V/Ctrl-Shift-V do nothing.\n // However, this might run into web restrictions, so if it fails, we still\n // fallback to the letting the native behavior (hopefully) save us.\n if (this.keyboard.terminal.paste())\n return hterm.Keyboard.KeyActions.CANCEL;\n else\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n return '\\x16';\n};\n\n/**\n * Either the default action or open a new window to the same location.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaN_ = function(e, keyDef) {\n if (e.shiftKey) {\n window.open(document.location.href, '',\n 'chrome=no,close=yes,resize=yes,scrollbars=yes,' +\n 'minimizable=yes,width=' + window.outerWidth +\n ',height=' + window.outerHeight);\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either send a Meta-C or allow the browser to interpret the keystroke as a\n * copy command.\n *\n * If there is no selection, or if the user presses Meta-Shift-C, then we'll\n * transmit an '\\x1b' (if metaSendsEscape is on) followed by 'c' or 'C'.\n *\n * If there is a selection, we defer to the browser. In this case we clear out\n * the selection so the user knows we heard them, and also to give them a\n * chance to send a Meta-C by just hitting the key again.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaC_ = function(e, keyDef) {\n var document = this.keyboard.terminal.getDocument();\n if (e.shiftKey || document.getSelection().isCollapsed) {\n // If the shift key is being held, or there is no document selection, send\n // a Meta-C. The keyboard code will add the ESC if metaSendsEscape is true,\n // we just have to decide between 'c' and 'C'.\n return keyDef.keyCap.substr(e.shiftKey ? 1 : 0, 1);\n }\n\n // Otherwise let the browser handle it as a copy command.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(function() { document.getSelection().collapseToEnd() }, 50);\n }\n return hterm.Keyboard.KeyActions.PASS;\n};\n\n/**\n * Either PASS or DEFAULT Meta-V, depending on preference.\n *\n * Always PASS Meta-Shift-V to allow browser to interpret the keystroke as\n * a paste command.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaV_ = function(e, keyDef) {\n if (e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return this.keyboard.passMetaV ?\n hterm.Keyboard.KeyActions.PASS :\n hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Handle font zooming.\n *\n * The browser's built-in zoom has a bit of an issue at certain zoom levels.\n * At some magnifications, the measured height of a row of text differs from\n * the height that was explicitly set.\n *\n * We override the browser zoom keys to change the ScrollPort's font size to\n * avoid the issue.\n */\nhterm.Keyboard.KeyMap.prototype.onPlusMinusZero_ = function(e, keyDef) {\n if (!(this.keyboard.ctrlPlusMinusZeroZoom ^ e.shiftKey)) {\n // If ctrl-PMZ controls zoom and the shift key is pressed, or\n // ctrl-shift-PMZ controls zoom and this shift key is not pressed,\n // then we want to send the control code instead of affecting zoom.\n if (keyDef.keyCap == '-_')\n return '\\x1f'; // ^_\n\n // Only ^_ is valid, the other sequences have no meaning.\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n if (this.keyboard.terminal.getZoomFactor() != 1) {\n // If we're not at 1:1 zoom factor, let the Ctrl +/-/0 keys control the\n // browser zoom, so it's easier to for the user to get back to 100%.\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n var cap = keyDef.keyCap.substr(0, 1);\n if (cap == '0') {\n this.keyboard.terminal.setFontSize(0);\n } else {\n var size = this.keyboard.terminal.getFontSize();\n\n if (cap == '-' || keyDef.keyCap == '[KP-]') {\n size -= 1;\n } else {\n size += 1;\n }\n\n this.keyboard.terminal.setFontSize(size);\n }\n\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_keypattern.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * A record of modifier bits and keycode used to define a key binding.\n *\n * The modifier names are enumerated in the static KeyPattern.modifiers\n * property below. Each modifier can be true, false, or \"*\". True means\n * the modifier key must be present, false means it must not, and \"*\" means\n * it doesn't matter.\n */\nhterm.Keyboard.KeyPattern = function(spec) {\n this.wildcardCount = 0;\n this.keyCode = spec.keyCode;\n\n hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) {\n this[mod] = spec[mod] || false;\n if (this[mod] == '*')\n this.wildcardCount++;\n }.bind(this));\n};\n\n/**\n * Valid modifier names.\n */\nhterm.Keyboard.KeyPattern.modifiers = [\n 'shift', 'ctrl', 'alt', 'meta'\n];\n\n/**\n * A compare callback for Array.prototype.sort().\n *\n * The bindings code wants to be sure to search through the strictest key\n * patterns first, so that loosely defined patterns have a lower priority than\n * exact patterns.\n *\n * @param {hterm.Keyboard.KeyPattern} a\n * @param {hterm.Keyboard.KeyPattern} b\n */\nhterm.Keyboard.KeyPattern.sortCompare = function(a, b) {\n if (a.wildcardCount < b.wildcardCount)\n return -1;\n\n if (a.wildcardCount > b.wildcardCount)\n return 1;\n\n return 0;\n};\n\n/**\n * Private method used to match this key pattern against other key patterns\n * or key down events.\n *\n * @param {Object} The object to match.\n * @param {boolean} True if we should ignore wildcards. Useful when you want\n * to perform and exact match against another key pattern.\n */\nhterm.Keyboard.KeyPattern.prototype.match_ = function(obj, exactMatch) {\n if (this.keyCode != obj.keyCode)\n return false;\n\n var rv = true;\n\n hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) {\n var modValue = (mod in obj) ? obj[mod] : false;\n if (!rv || (!exactMatch && this[mod] == '*') || this[mod] == modValue)\n return;\n\n rv = false;\n }.bind(this));\n\n return rv;\n};\n\n/**\n * Return true if the given keyDown object is a match for this key pattern.\n *\n * @param {Object} keyDown An object with a keyCode property and zero or\n * more boolean properties representing key modifiers. These property names\n * must match those defined in hterm.Keyboard.KeyPattern.modifiers.\n */\nhterm.Keyboard.KeyPattern.prototype.matchKeyDown = function(keyDown) {\n return this.match_(keyDown, false);\n};\n\n/**\n * Return true if the given hterm.Keyboard.KeyPattern is exactly the same as\n * this one.\n *\n * @param {hterm.Keyboard.KeyPattern}\n */\nhterm.Keyboard.KeyPattern.prototype.matchKeyPattern = function(keyPattern) {\n return this.match_(keyPattern, true);\n};\n// SOURCE FILE: hterm/js/hterm_options.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview This file implements the hterm.Options class,\n * which stores current operating conditions for the terminal. This object is\n * used instead of a series of parameters to allow saving/restoring of cursor\n * conditions easily, and to provide an easy place for common configuration\n * options.\n *\n * Original code by Cory Maccarrone.\n */\n\n/**\n * Constructor for the hterm.Options class, optionally acting as a copy\n * constructor.\n *\n * The defaults are as defined in http://www.vt100.net/docs/vt510-rm/DECSTR\n * except that we enable autowrap (wraparound) by default since that seems to\n * be what xterm does.\n *\n * @param {hterm.Options=} opt_copy Optional instance to copy.\n * @constructor\n */\nhterm.Options = function(opt_copy) {\n // All attributes in this class are public to allow easy access by the\n // terminal.\n\n this.wraparound = opt_copy ? opt_copy.wraparound : true;\n this.reverseWraparound = opt_copy ? opt_copy.reverseWraparound : false;\n this.originMode = opt_copy ? opt_copy.originMode : false;\n this.autoCarriageReturn = opt_copy ? opt_copy.autoCarriageReturn : false;\n this.cursorVisible = opt_copy ? opt_copy.cursorVisible : false;\n this.cursorBlink = opt_copy ? opt_copy.cursorBlink : false;\n this.insertMode = opt_copy ? opt_copy.insertMode : false;\n this.reverseVideo = opt_copy ? opt_copy.reverseVideo : false;\n this.bracketedPaste = opt_copy ? opt_copy.bracketedPaste : false;\n};\n// SOURCE FILE: hterm/js/hterm_parser.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyActions');\n\n/**\n * @constructor\n * Parses the key definition syntax used for user keyboard customizations.\n */\nhterm.Parser = function() {\n /**\n * @type {string} The source string.\n */\n this.source = '';\n\n /**\n * @type {number} The current position.\n */\n this.pos = 0;\n\n /**\n * @type {string?} The character at the current position.\n */\n this.ch = null;\n};\n\nhterm.Parser.prototype.error = function(message) {\n return new Error('Parse error at ' + this.pos + ': ' + message);\n};\n\nhterm.Parser.prototype.isComplete = function() {\n return this.pos == this.source.length;\n};\n\nhterm.Parser.prototype.reset = function(source, opt_pos) {\n this.source = source;\n this.pos = opt_pos || 0;\n this.ch = source.substr(0, 1);\n};\n\n/**\n * Parse a key sequence.\n *\n * A key sequence is zero or more of the key modifiers defined in\n * hterm.Parser.identifiers.modifierKeys followed by a key code. Key\n * codes can be an integer or an identifier from\n * hterm.Parser.identifiers.keyCodes. Modifiers and keyCodes should be joined\n * by the dash character.\n *\n * An asterisk \"*\" can be used to indicate that the unspecified modifiers\n * are optional.\n *\n * For example:\n * A: Matches only an unmodified \"A\" character.\n * 65: Same as above.\n * 0x41: Same as above.\n * Ctrl-A: Matches only Ctrl-A.\n * Ctrl-65: Same as above.\n * Ctrl-0x41: Same as above.\n * Ctrl-Shift-A: Matches only Ctrl-Shift-A.\n * Ctrl-*-A: Matches Ctrl-A, as well as any other key sequence that includes\n * at least the Ctrl and A keys.\n *\n * @return {Object} An object with shift, ctrl, alt, meta, keyCode\n * properties.\n */\nhterm.Parser.prototype.parseKeySequence = function() {\n var rv = {\n keyCode: null\n };\n\n for (var k in hterm.Parser.identifiers.modifierKeys) {\n rv[hterm.Parser.identifiers.modifierKeys[k]] = false;\n }\n\n while (this.pos < this.source.length) {\n this.skipSpace();\n\n var token = this.parseToken();\n if (token.type == 'integer') {\n rv.keyCode = token.value;\n\n } else if (token.type == 'identifier') {\n var ucValue = token.value.toUpperCase();\n if (ucValue in hterm.Parser.identifiers.modifierKeys &&\n hterm.Parser.identifiers.modifierKeys.hasOwnProperty(ucValue)) {\n var mod = hterm.Parser.identifiers.modifierKeys[ucValue];\n if (rv[mod] && rv[mod] != '*')\n throw this.error('Duplicate modifier: ' + token.value);\n rv[mod] = true;\n\n } else if (ucValue in hterm.Parser.identifiers.keyCodes &&\n hterm.Parser.identifiers.keyCodes.hasOwnProperty(ucValue)) {\n rv.keyCode = hterm.Parser.identifiers.keyCodes[ucValue];\n\n } else {\n throw this.error('Unknown key: ' + token.value);\n }\n\n } else if (token.type == 'symbol') {\n if (token.value == '*') {\n for (var id in hterm.Parser.identifiers.modifierKeys) {\n var p = hterm.Parser.identifiers.modifierKeys[id];\n if (!rv[p])\n rv[p] = '*';\n }\n } else {\n throw this.error('Unexpected symbol: ' + token.value);\n }\n } else {\n throw this.error('Expected integer or identifier');\n }\n\n this.skipSpace();\n\n if (this.ch != '-')\n break;\n\n if (rv.keyCode != null)\n throw this.error('Extra definition after target key');\n\n this.advance(1);\n }\n\n if (rv.keyCode == null)\n throw this.error('Missing target key');\n\n return rv;\n};\n\nhterm.Parser.prototype.parseKeyAction = function() {\n this.skipSpace();\n\n var token = this.parseToken();\n\n if (token.type == 'string')\n return token.value;\n\n if (token.type == 'identifier') {\n if (token.value in hterm.Parser.identifiers.actions &&\n hterm.Parser.identifiers.actions.hasOwnProperty(token.value))\n return hterm.Parser.identifiers.actions[token.value];\n\n throw this.error('Unknown key action: ' + token.value);\n }\n\n throw this.error('Expected string or identifier');\n\n};\n\nhterm.Parser.prototype.peekString = function() {\n return this.ch == '\\'' || this.ch == '\"';\n};\n\nhterm.Parser.prototype.peekIdentifier = function() {\n return this.ch.match(/[a-z_]/i);\n};\n\nhterm.Parser.prototype.peekInteger = function() {\n return this.ch.match(/[0-9]/);\n};\n\nhterm.Parser.prototype.parseToken = function() {\n if (this.ch == '*') {\n var rv = {type: 'symbol', value: this.ch};\n this.advance(1);\n return rv;\n }\n\n if (this.peekIdentifier())\n return {type: 'identifier', value: this.parseIdentifier()};\n\n if (this.peekString())\n return {type: 'string', value: this.parseString()};\n\n if (this.peekInteger())\n return {type: 'integer', value: this.parseInteger()};\n\n\n throw this.error('Unexpected token');\n};\n\nhterm.Parser.prototype.parseIdentifier = function() {\n if (!this.peekIdentifier())\n throw this.error('Expected identifier');\n\n return this.parsePattern(/[a-z0-9_]+/ig);\n};\n\nhterm.Parser.prototype.parseInteger = function() {\n var base = 10;\n\n if (this.ch == '0' && this.pos < this.source.length - 1 &&\n this.source.substr(this.pos + 1, 1) == 'x') {\n return parseInt(this.parsePattern(/0x[0-9a-f]+/gi));\n }\n\n return parseInt(this.parsePattern(/\\d+/g));\n};\n\n/**\n * Parse a single or double quoted string.\n *\n * The current position should point at the initial quote character. Single\n * quoted strings will be treated literally, double quoted will process escapes.\n *\n * TODO(rginda): Variable interpolation.\n *\n * @param {ParseState} parseState\n * @param {string} quote A single or double-quote character.\n * @return {string}\n */\nhterm.Parser.prototype.parseString = function() {\n var result = '';\n\n var quote = this.ch;\n if (quote != '\"' && quote != '\\'')\n throw this.error('String expected');\n\n this.advance(1);\n\n var re = new RegExp('[\\\\\\\\' + quote + ']', 'g');\n\n while (this.pos < this.source.length) {\n re.lastIndex = this.pos;\n if (!re.exec(this.source))\n throw this.error('Unterminated string literal');\n\n result += this.source.substring(this.pos, re.lastIndex - 1);\n\n this.advance(re.lastIndex - this.pos - 1);\n\n if (quote == '\"' && this.ch == '\\\\') {\n this.advance(1);\n result += this.parseEscape();\n continue;\n }\n\n if (quote == '\\'' && this.ch == '\\\\') {\n result += this.ch;\n this.advance(1);\n continue;\n }\n\n if (this.ch == quote) {\n this.advance(1);\n return result;\n }\n }\n\n throw this.error('Unterminated string literal');\n};\n\n\n/**\n * Parse an escape code from the current position (which should point to\n * the first character AFTER the leading backslash.)\n *\n * @return {string}\n */\nhterm.Parser.prototype.parseEscape = function() {\n var map = {\n '\"': '\"',\n '\\'': '\\'',\n '\\\\': '\\\\',\n 'a': '\\x07',\n 'b': '\\x08',\n 'e': '\\x1b',\n 'f': '\\x0c',\n 'n': '\\x0a',\n 'r': '\\x0d',\n 't': '\\x09',\n 'v': '\\x0b',\n 'x': function() {\n var value = this.parsePattern(/[a-z0-9]{2}/ig);\n return String.fromCharCode(parseInt(value, 16));\n },\n 'u': function() {\n var value = this.parsePattern(/[a-z0-9]{4}/ig);\n return String.fromCharCode(parseInt(value, 16));\n }\n };\n\n if (!(this.ch in map && map.hasOwnProperty(this.ch)))\n throw this.error('Unknown escape: ' + this.ch);\n\n var value = map[this.ch];\n this.advance(1);\n\n if (typeof value == 'function')\n value = value.call(this);\n\n return value;\n};\n\n/**\n * Parse the given pattern starting from the current position.\n *\n * @param {RegExp} pattern A pattern representing the characters to span. MUST\n * include the \"global\" RegExp flag.\n * @return {string}\n */\nhterm.Parser.prototype.parsePattern = function(pattern) {\n if (!pattern.global)\n throw this.error('Internal error: Span patterns must be global');\n\n pattern.lastIndex = this.pos;\n var ary = pattern.exec(this.source);\n\n if (!ary || pattern.lastIndex - ary[0].length != this.pos)\n throw this.error('Expected match for: ' + pattern);\n\n this.pos = pattern.lastIndex - 1;\n this.advance(1);\n\n return ary[0];\n};\n\n\n/**\n * Advance the current position.\n *\n * @param {number} count\n */\nhterm.Parser.prototype.advance = function(count) {\n this.pos += count;\n this.ch = this.source.substr(this.pos, 1);\n};\n\n/**\n * @param {string=} opt_expect A list of valid non-whitespace characters to\n * terminate on.\n * @return {void}\n */\nhterm.Parser.prototype.skipSpace = function(opt_expect) {\n if (!/\\s/.test(this.ch))\n return;\n\n var re = /\\s+/gm;\n re.lastIndex = this.pos;\n\n var source = this.source;\n if (re.exec(source))\n this.pos = re.lastIndex;\n\n this.ch = this.source.substr(this.pos, 1);\n\n if (opt_expect) {\n if (this.ch.indexOf(opt_expect) == -1) {\n throw this.error('Expected one of ' + opt_expect + ', found: ' +\n this.ch);\n }\n }\n};\n// SOURCE FILE: hterm/js/hterm_parser_identifiers.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Collections of identifier for hterm.Parser.\n */\nhterm.Parser.identifiers = {};\n\n/**\n * Modifier key names used when defining key sequences.\n *\n * These are upper case so we can normalize the user input and be forgiving.\n * \"CTRL-A\" and \"Ctrl-A\" and \"ctrl-a\" are all accepted.\n *\n * Note: Names here cannot overlap with hterm.Parser.identifiers.keyCodes.\n */\nhterm.Parser.identifiers.modifierKeys = {\n SHIFT: 'shift',\n CTRL: 'ctrl',\n // Common alias.\n CONTROL: 'ctrl',\n ALT: 'alt',\n META: 'meta'\n};\n\n/**\n * Key codes useful when defining key sequences.\n *\n * Punctuation is mostly left out of this list because they can move around\n * based on keyboard locale and browser.\n *\n * In a key sequence like \"Ctrl-ESC\", the ESC comes from this list of\n * identifiers. It is equivalent to \"Ctrl-27\" and \"Ctrl-0x1b\".\n *\n * These are upper case so we can normalize the user input and be forgiving.\n * \"Ctrl-ESC\" and \"Ctrl-Esc\" an \"Ctrl-esc\" are all accepted.\n *\n * We also include common aliases for the same key. \"Esc\" and \"Escape\" are the\n * same key.\n *\n * Note: Names here cannot overlap with hterm.Parser.identifiers.modifierKeys.\n */\nhterm.Parser.identifiers.keyCodes = {\n // Top row.\n ESCAPE: 27,\n ESC: 27,\n F1: 112,\n F2: 113,\n F3: 114,\n F4: 115,\n F5: 116,\n F6: 117,\n F7: 118,\n F8: 119,\n F9: 120,\n F10: 121,\n F11: 122,\n F12: 123,\n\n // Row two.\n ONE: 49,\n TWO: 50,\n THREE: 51,\n FOUR: 52,\n FIVE: 53,\n SIX: 54,\n SEVEN: 55,\n EIGHT: 56,\n NINE: 57,\n ZERO: 48,\n BACKSPACE: 8,\n BKSP: 8,\n BS: 8,\n\n // Row three.\n TAB: 9,\n Q: 81,\n W: 87,\n E: 69,\n R: 82,\n T: 84,\n Y: 89,\n U: 85,\n I: 73,\n O: 79,\n P: 80,\n\n // Row four.\n CAPS_LOCK: 20,\n CAPSLOCK: 20,\n CAPS: 20,\n A: 65,\n S: 83,\n D: 68,\n F: 70,\n G: 71,\n H: 72,\n J: 74,\n K: 75,\n L: 76,\n // We map enter and return together even though enter should really be 10\n // because most people don't know or care about the history here. Plus,\n // most keyboards/programs map them together already. If they really want\n // to bind them differently, they can also use the numeric value.\n ENTER: 13,\n ENT: 13,\n RETURN: 13,\n RET: 13,\n\n // Row five.\n Z: 90,\n X: 88,\n C: 67,\n V: 86,\n B: 66,\n N: 78,\n M: 77,\n\n // Etc.\n SPACE: 32,\n SP: 32,\n PRINT_SCREEN: 42,\n PRTSC: 42,\n SCROLL_LOCK: 145,\n SCRLK: 145,\n BREAK: 19,\n BRK: 19,\n INSERT: 45,\n INS: 45,\n HOME: 36,\n PAGE_UP: 33,\n PGUP: 33,\n DELETE: 46,\n DEL: 46,\n END: 35,\n PAGE_DOWN: 34,\n PGDOWN: 34,\n PGDN: 34,\n UP: 38,\n DOWN: 40,\n RIGHT: 39,\n LEFT: 37,\n NUMLOCK: 144,\n\n // Keypad\n KP0: 96,\n KP1: 97,\n KP2: 98,\n KP3: 99,\n KP4: 100,\n KP5: 101,\n KP6: 102,\n KP7: 103,\n KP8: 104,\n KP9: 105,\n KP_PLUS: 107,\n KP_ADD: 107,\n KP_MINUS: 109,\n KP_SUBTRACT: 109,\n KP_STAR: 106,\n KP_MULTIPLY: 106,\n KP_DIVIDE: 111,\n KP_DECIMAL: 110,\n KP_PERIOD: 110,\n\n // Chrome OS media keys\n NAVIGATE_BACK: 166,\n NAVIGATE_FORWARD: 167,\n RELOAD: 168,\n FULL_SCREEN: 183,\n WINDOW_OVERVIEW: 182,\n BRIGHTNESS_UP: 216,\n BRIGHTNESS_DOWN: 217\n};\n\n/**\n * Identifiers for use in key actions.\n */\nhterm.Parser.identifiers.actions = {\n /**\n * Prevent the browser and operating system from handling the event.\n */\n CANCEL: hterm.Keyboard.KeyActions.CANCEL,\n\n /**\n * Wait for a \"keypress\" event, send the keypress charCode to the host.\n */\n DEFAULT: hterm.Keyboard.KeyActions.DEFAULT,\n\n /**\n * Let the browser or operating system handle the key.\n */\n PASS: hterm.Keyboard.KeyActions.PASS,\n\n /**\n * Scroll the terminal one page up.\n */\n scrollPageUp: function(terminal) {\n terminal.scrollPageUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal one page down.\n */\n scrollPageDown: function(terminal) {\n terminal.scrollPageDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal to the top.\n */\n scrollToTop: function(terminal) {\n terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal to the bottom.\n */\n scrollToBottom: function(terminal) {\n terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Clear the terminal and scrollback buffer.\n */\n clearScrollback: function(terminal) {\n terminal.wipeContents();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n};\n// SOURCE FILE: hterm/js/hterm_preference_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'lib.Storage');\n\n/**\n * PreferenceManager subclass managing global NaSSH preferences.\n *\n * This is currently just an ordered list of known connection profiles.\n */\nhterm.PreferenceManager = function(profileId) {\n lib.PreferenceManager.call(this, hterm.defaultStorage,\n '/hterm/profiles/' + profileId);\n var defs = hterm.PreferenceManager.defaultPreferences;\n Object.keys(defs).forEach(function(key) {\n this.definePreference(key, defs[key][1]);\n }.bind(this));\n};\n\nhterm.PreferenceManager.categories = {};\nhterm.PreferenceManager.categories.Keyboard = 'Keyboard';\nhterm.PreferenceManager.categories.Appearance = 'Appearance';\nhterm.PreferenceManager.categories.CopyPaste = 'CopyPaste';\nhterm.PreferenceManager.categories.Sounds = 'Sounds';\nhterm.PreferenceManager.categories.Scrolling = 'Scrolling';\nhterm.PreferenceManager.categories.Encoding = 'Encoding';\nhterm.PreferenceManager.categories.Miscellaneous = 'Miscellaneous';\n\n/**\n * List of categories, ordered by display order (top to bottom)\n */\nhterm.PreferenceManager.categoryDefinitions = [\n { id: hterm.PreferenceManager.categories.Appearance,\n text: 'Appearance (fonts, colors, images)'},\n { id: hterm.PreferenceManager.categories.CopyPaste,\n text: 'Copy & Paste'},\n { id: hterm.PreferenceManager.categories.Encoding,\n text: 'Encoding'},\n { id: hterm.PreferenceManager.categories.Keyboard,\n text: 'Keyboard'},\n { id: hterm.PreferenceManager.categories.Scrolling,\n text: 'Scrolling'},\n { id: hterm.PreferenceManager.categories.Sounds,\n text: 'Sounds'},\n { id: hterm.PreferenceManager.categories.Miscellaneous,\n text: 'Misc.'}\n];\n\n\nhterm.PreferenceManager.defaultPreferences = {\n 'alt-gr-mode':\n [hterm.PreferenceManager.categories.Keyboard, null,\n [null, 'none', 'ctrl-alt', 'left-alt', 'right-alt'],\n 'Select an AltGr detection hack^Wheuristic.\\n' +\n '\\n' +\n '\\'null\\': Autodetect based on navigator.language:\\n' +\n ' \\'en-us\\' => \\'none\\', else => \\'right-alt\\'\\n' +\n '\\'none\\': Disable any AltGr related munging.\\n' +\n '\\'ctrl-alt\\': Assume Ctrl+Alt means AltGr.\\n' +\n '\\'left-alt\\': Assume left Alt means AltGr.\\n' +\n '\\'right-alt\\': Assume right Alt means AltGr.\\n'],\n\n 'alt-backspace-is-meta-backspace':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If set, undoes the Chrome OS Alt-Backspace->DEL remap, so that ' +\n 'alt-backspace indeed is alt-backspace.'],\n\n 'alt-is-meta':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Set whether the alt key acts as a meta key or as a distinct alt key.'],\n\n 'alt-sends-what':\n [hterm.PreferenceManager.categories.Keyboard, 'escape',\n ['escape', '8-bit', 'browser-key'],\n 'Controls how the alt key is handled.\\n' +\n '\\n' +\n ' escape....... Send an ESC prefix.\\n' +\n ' 8-bit........ Add 128 to the unshifted character as in xterm.\\n' +\n ' browser-key.. Wait for the keypress event and see what the browser \\n' +\n ' says. (This won\\'t work well on platforms where the \\n' +\n ' browser performs a default action for some alt sequences.)'\n ],\n\n 'audible-bell-sound':\n [hterm.PreferenceManager.categories.Sounds, 'lib-resource:hterm/audio/bell',\n 'url',\n 'URL of the terminal bell sound. Empty string for no audible bell.'],\n\n 'desktop-notification-bell':\n [hterm.PreferenceManager.categories.Sounds, false, 'bool',\n 'If true, terminal bells in the background will create a Web ' +\n 'Notification. https://www.w3.org/TR/notifications/\\n' +\n '\\n'+\n 'Displaying notifications requires permission from the user. When this ' +\n 'option is set to true, hterm will attempt to ask the user for permission ' +\n 'if necessary. Note browsers may not show this permission request if it ' +\n 'did not originate from a user action.\\n' +\n '\\n' +\n 'Chrome extensions with the \"notifications\" permission have permission to ' +\n 'display notifications.'],\n\n 'background-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgb(16, 16, 16)', 'color',\n 'The background color for text with no other color attributes.'],\n\n 'background-image':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image. Empty string for no image.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' url(https://goo.gl/anedTK)\\n' +\n ' linear-gradient(top bottom, blue, red)'],\n\n 'background-size':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image size. Defaults to none.'],\n\n 'background-position':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image position.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' 10% 10%\\n' +\n ' center'],\n\n 'backspace-sends-backspace':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, the backspace should send BS (\\'\\\\x08\\', aka ^H). Otherwise ' +\n 'the backspace key should send \\'\\\\x7f\\'.'],\n\n 'character-map-overrides':\n [hterm.PreferenceManager.categories.Appearance, null, 'value',\n 'This is specified as an object. It is a sparse array, where each ' +\n 'property is the character set code and the value is an object that is ' +\n 'a sparse array itself. In that sparse array, each property is the ' +\n 'received character and the value is the displayed character.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' {\"0\":{\"+\":\"\\\\u2192\",\",\":\"\\\\u2190\",\"-\":\"\\\\u2191\",\".\":\"\\\\u2193\", ' +\n '\"0\":\"\\\\u2588\"}}'\n ],\n\n 'close-on-exit':\n [hterm.PreferenceManager.categories.Miscellaneous, true, 'bool',\n 'Whether or not to close the window when the command exits.'],\n\n 'cursor-blink':\n [hterm.PreferenceManager.categories.Appearance, false, 'bool',\n 'Whether or not to blink the cursor by default.'],\n\n 'cursor-blink-cycle':\n [hterm.PreferenceManager.categories.Appearance, [1000, 500], 'value',\n 'The cursor blink rate in milliseconds.\\n' +\n '\\n' +\n 'A two element array, the first of which is how long the cursor should be ' +\n 'on, second is how long it should be off.'],\n\n 'cursor-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgba(255, 0, 0, 0.5)',\n 'color',\n 'The color of the visible cursor.'],\n\n 'color-palette-overrides':\n [hterm.PreferenceManager.categories.Appearance, null, 'value',\n 'Override colors in the default palette.\\n' +\n '\\n' +\n 'This can be specified as an array or an object. If specified as an ' +\n 'object it is assumed to be a sparse array, where each property ' +\n 'is a numeric index into the color palette.\\n' +\n '\\n' +\n 'Values can be specified as almost any css color value. This ' +\n 'includes #RGB, #RRGGBB, rgb(...), rgba(...), and any color names ' +\n 'that are also part of the stock X11 rgb.txt file.\\n' +\n '\\n' +\n 'You can use \\'null\\' to specify that the default value should be not ' +\n 'be changed. This is useful for skipping a small number of indices ' +\n 'when the value is specified as an array.'],\n\n 'copy-on-select':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Automatically copy mouse selection to the clipboard.'],\n\n 'use-default-window-copy':\n [hterm.PreferenceManager.categories.CopyPaste, false, 'bool',\n 'Whether to use the default window copy behavior'],\n\n 'clear-selection-after-copy':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Whether to clear the selection after copying.'],\n\n 'ctrl-plus-minus-zero-zoom':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'If true, Ctrl-Plus/Minus/Zero controls zoom.\\n' +\n 'If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_, ' +\n 'Ctrl-Plus/Zero do nothing.'],\n\n 'ctrl-c-copy':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Ctrl+C copies if true, send ^C to host if false.\\n' +\n 'Ctrl+Shift+C sends ^C to host if true, copies if false.'],\n\n 'ctrl-v-paste':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Ctrl+V pastes if true, send ^V to host if false.\\n' +\n 'Ctrl+Shift+V sends ^V to host if true, pastes if false.'],\n\n 'east-asian-ambiguous-as-two-column':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Set whether East Asian Ambiguous characters have two column width.'],\n\n 'enable-8-bit-control':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'True to enable 8-bit control characters, false to ignore them.\\n' +\n '\\n' +\n 'We\\'ll respect the two-byte versions of these control characters ' +\n 'regardless of this setting.'],\n\n 'enable-bold':\n [hterm.PreferenceManager.categories.Appearance, null, 'tristate',\n 'True if we should use bold weight font for text with the bold/bright ' +\n 'attribute. False to use the normal weight font. Null to autodetect.'],\n\n 'enable-bold-as-bright':\n [hterm.PreferenceManager.categories.Appearance, true, 'bool',\n 'True if we should use bright colors (8-15 on a 16 color palette) ' +\n 'for any text with the bold attribute. False otherwise.'],\n\n 'enable-blink':\n [hterm.PreferenceManager.categories.Appearance, true, 'bool',\n 'True if we should respect the blink attribute. False to ignore it. '],\n\n 'enable-clipboard-notice':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Show a message in the terminal when the host writes to the clipboard.'],\n\n 'enable-clipboard-write':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Allow the host to write directly to the system clipboard.'],\n\n 'enable-dec12':\n [hterm.PreferenceManager.categories.Miscellaneous, false, 'bool',\n 'Respect the host\\'s attempt to change the cursor blink status using ' +\n 'DEC Private Mode 12.'],\n\n 'environment':\n [hterm.PreferenceManager.categories.Miscellaneous, {'TERM': 'xterm-256color'},\n 'value',\n 'The default environment variables, as an object.'],\n\n 'font-family':\n [hterm.PreferenceManager.categories.Appearance,\n '\"DejaVu Sans Mono\", \"Everson Mono\", FreeMono, \"Menlo\", \"Terminal\", ' +\n 'monospace', 'string',\n 'Default font family for the terminal text.'],\n\n 'font-size':\n [hterm.PreferenceManager.categories.Appearance, 15, 'int',\n 'The default font size in pixels.'],\n\n 'font-smoothing':\n [hterm.PreferenceManager.categories.Appearance, 'antialiased', 'string',\n 'CSS font-smoothing property.'],\n\n 'foreground-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgb(240, 240, 240)', 'color',\n 'The foreground color for text with no other color attributes.'],\n\n 'home-keys-scroll':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, home/end will control the terminal scrollbar and shift home/end ' +\n 'will send the VT keycodes. If false then home/end sends VT codes and ' +\n 'shift home/end scrolls.'],\n\n 'keybindings':\n [hterm.PreferenceManager.categories.Keyboard, null, 'value',\n 'A map of key sequence to key actions. Key sequences include zero or ' +\n 'more modifier keys followed by a key code. Key codes can be decimal or ' +\n 'hexadecimal numbers, or a key identifier. Key actions can be specified ' +\n 'a string to send to the host, or an action identifier. For a full ' +\n 'explanation of the format, see https://goo.gl/LWRndr.\\n' +\n '\\n' +\n 'Sample keybindings:\\n' +\n '{\\n' +\n ' \"Ctrl-Alt-K\": \"clearScrollback\",\\n' +\n ' \"Ctrl-Shift-L\": \"PASS\",\\n' +\n ' \"Ctrl-H\": \"\\'HELLO\\\\n\\'\"\\n' +\n '}'],\n\n 'max-string-sequence':\n [hterm.PreferenceManager.categories.Encoding, 100000, 'int',\n 'Max length of a DCS, OSC, PM, or APS sequence before we give up and ' +\n 'ignore the code.'],\n\n 'media-keys-are-fkeys':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, convert media keys to their Fkey equivalent. If false, let ' +\n 'the browser handle the keys.'],\n\n 'meta-sends-escape':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Set whether the meta key sends a leading escape or not.'],\n\n 'mouse-right-click-paste':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Paste on right mouse button clicks.\\n' +\n '\\n' +\n 'This option is activate independent of the \"mouse-paste-button\" ' +\n 'setting.\\n' +\n '\\n' +\n 'Note: This will handle left & right handed mice correctly.'],\n\n 'mouse-paste-button':\n [hterm.PreferenceManager.categories.CopyPaste, null,\n [null, 0, 1, 2, 3, 4, 5, 6],\n 'Mouse paste button, or null to autodetect.\\n' +\n '\\n' +\n 'For autodetect, we\\'ll use the middle mouse button for non-X11 ' +\n 'platforms (including Chrome OS). On X11, we\\'ll use the right mouse ' +\n 'button (since the native window manager should paste via the middle ' +\n 'mouse button).\\n' +\n '\\n' +\n '0 == left (primary) button.\\n' +\n '1 == middle (auxiliary) button.\\n' +\n '2 == right (secondary) button.\\n' +\n '\\n' +\n 'This option is activate independent of the \"mouse-right-click-paste\" ' +\n 'setting.\\n' +\n '\\n' +\n 'Note: This will handle left & right handed mice correctly.'],\n\n 'word-break-match-left':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^!@#$%&*,;:`]', 'string',\n 'Regular expression to halt matching to the left (start) of a selection.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.\\n' +\n 'We allow \"~\" and \".\" by default as paths frequently start with those.'],\n\n 'word-break-match-right':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^!@#$%&*,;:~.`]', 'string',\n 'Regular expression to halt matching to the right (end) of a selection.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.'],\n\n 'word-break-match-middle':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^]*', 'string',\n 'Regular expression to match all the characters in the middle.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.\\n' +\n '\\n' +\n 'Used to expand the selection surrounding the starting point.'],\n\n 'page-keys-scroll':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, page up/down will control the terminal scrollbar and shift ' +\n 'page up/down will send the VT keycodes. If false then page up/down ' +\n 'sends VT codes and shift page up/down scrolls.'],\n\n 'pass-alt-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Alt-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Alt-1..9 will be handled by the browser. If false, Alt-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-ctrl-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Ctrl-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Ctrl-1..9 will be handled by the browser. If false, Ctrl-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-meta-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Meta-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Meta-1..9 will be handled by the browser. If false, Meta-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-meta-v':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Set whether meta-V gets passed to host.'],\n\n 'receive-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'],\n 'Set the expected encoding for data received from the host.\\n' +\n '\\n' +\n 'Valid values are \\'utf-8\\' and \\'raw\\'.'],\n\n 'scroll-on-keystroke':\n [hterm.PreferenceManager.categories.Scrolling, true, 'bool',\n 'If true, scroll to the bottom on any keystroke.'],\n\n 'scroll-on-output':\n [hterm.PreferenceManager.categories.Scrolling, false, 'bool',\n 'If true, scroll to the bottom on terminal output.'],\n\n 'scrollbar-visible':\n [hterm.PreferenceManager.categories.Scrolling, true, 'bool',\n 'The vertical scrollbar mode.'],\n\n 'scroll-wheel-may-send-arrow-keys':\n [hterm.PreferenceManager.categories.Scrolling, false, 'bool',\n 'When using the alternative screen buffer, and DECCKM (Application Cursor ' +\n 'Keys) is active, mouse wheel scroll events will emulate arrow keys.\\n' +\n '\\n' +\n 'It can be temporarily disabled by holding the shift key.\\n' +\n '\\n' +\n 'This frequently comes up when using pagers (less) or reading man pages ' +\n 'or text editors (vi/nano) or using screen/tmux.'],\n\n 'scroll-wheel-move-multiplier':\n [hterm.PreferenceManager.categories.Scrolling, 1, 'int',\n 'The multiplier for the pixel delta in wheel events caused by the ' +\n 'scroll wheel. Alters how fast the page scrolls.'],\n\n 'send-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'],\n 'Set the encoding for data sent to host.'],\n\n 'terminal-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'iso-2022',\n ['iso-2022', 'utf-8', 'utf-8-locked'],\n 'The default terminal encoding (DOCS).\\n' +\n '\\n' +\n 'ISO-2022 enables character map translations (like graphics maps).\\n' +\n 'UTF-8 disables support for those.\\n' +\n '\\n' +\n 'The locked variant means the encoding cannot be changed at runtime ' +\n 'via terminal escape sequences.\\n' +\n '\\n' +\n 'You should stick with UTF-8 unless you notice broken rendering with ' +\n 'legacy applications.'],\n\n 'shift-insert-paste':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Shift + Insert pastes if true, sent to host if false.'],\n\n 'user-css':\n [hterm.PreferenceManager.categories.Appearance, '', 'url',\n 'URL of user stylesheet to include in the terminal document.'],\n\n 'user-css-text':\n [hterm.PreferenceManager.categories.Appearance, '', 'multiline-string',\n 'Custom CSS text for styling the terminal.'],\n};\n\nhterm.PreferenceManager.prototype =\n Object.create(lib.PreferenceManager.prototype);\nhterm.PreferenceManager.constructor = hterm.PreferenceManager;\n// SOURCE FILE: hterm/js/hterm_pubsub.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Utility class used to add publish/subscribe/unsubscribe functionality to\n * an existing object.\n */\nhterm.PubSub = function() {\n this.observers_ = {};\n};\n\n/**\n * Add publish, subscribe, and unsubscribe methods to an existing object.\n *\n * No other properties of the object are touched, so there is no need to\n * worry about clashing private properties.\n *\n * @param {Object} obj The object to add this behavior to.\n */\nhterm.PubSub.addBehavior = function(obj) {\n var pubsub = new hterm.PubSub();\n for (var m in hterm.PubSub.prototype) {\n obj[m] = hterm.PubSub.prototype[m].bind(pubsub);\n }\n};\n\n/**\n * Subscribe to be notified of messages about a subject.\n *\n * @param {string} subject The subject to subscribe to.\n * @param {function(Object)} callback The function to invoke for notifications.\n */\nhterm.PubSub.prototype.subscribe = function(subject, callback) {\n if (!(subject in this.observers_))\n this.observers_[subject] = [];\n\n this.observers_[subject].push(callback);\n};\n\n/**\n * Unsubscribe from a subject.\n *\n * @param {string} subject The subject to unsubscribe from.\n * @param {function(Object)} callback A callback previously registered via\n * subscribe().\n */\nhterm.PubSub.prototype.unsubscribe = function(subject, callback) {\n var list = this.observers_[subject];\n if (!list)\n throw 'Invalid subject: ' + subject;\n\n var i = list.indexOf(callback);\n if (i < 0)\n throw 'Not subscribed: ' + subject;\n\n list.splice(i, 1);\n};\n\n/**\n * Publish a message about a subject.\n *\n * Subscribers (and the optional final callback) are invoked asynchronously.\n * This method will return before anyone is actually notified.\n *\n * @param {string} subject The subject to publish about.\n * @param {Object} e An arbitrary object associated with this notification.\n * @param {function(Object)} opt_lastCallback An optional function to call after\n * all subscribers have been notified.\n */\nhterm.PubSub.prototype.publish = function(subject, e, opt_lastCallback) {\n function notifyList(i) {\n // Set this timeout before invoking the callback, so we don't have to\n // concern ourselves with exceptions.\n if (i < list.length - 1)\n setTimeout(notifyList, 0, i + 1);\n\n list[i](e);\n }\n\n var list = this.observers_[subject];\n if (list) {\n // Copy the list, in case it changes while we're notifying.\n list = [].concat(list);\n }\n\n if (opt_lastCallback) {\n if (list) {\n list.push(opt_lastCallback);\n } else {\n list = [opt_lastCallback];\n }\n }\n\n if (list)\n setTimeout(notifyList, 0, 0);\n};\n// SOURCE FILE: hterm/js/hterm_screen.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'lib.wc',\n 'hterm.RowCol', 'hterm.Size', 'hterm.TextAttributes');\n\n/**\n * @fileoverview This class represents a single terminal screen full of text.\n *\n * It maintains the current cursor position and has basic methods for text\n * insert and overwrite, and adding or removing rows from the screen.\n *\n * This class has no knowledge of the scrollback buffer.\n *\n * The number of rows on the screen is determined only by the number of rows\n * that the caller inserts into the screen. If a caller wants to ensure a\n * constant number of rows on the screen, it's their responsibility to remove a\n * row for each row inserted.\n *\n * The screen width, in contrast, is enforced locally.\n *\n *\n * In practice...\n * - The hterm.Terminal class holds two hterm.Screen instances. One for the\n * primary screen and one for the alternate screen.\n *\n * - The html.Screen class only cares that rows are HTMLElements. In the\n * larger context of hterm, however, the rows happen to be displayed by an\n * hterm.ScrollPort and have to follow a few rules as a result. Each\n * row must be rooted by the custom HTML tag 'x-row', and each must have a\n * rowIndex property that corresponds to the index of the row in the context\n * of the scrollback buffer. These invariants are enforced by hterm.Terminal\n * because that is the class using the hterm.Screen in the context of an\n * hterm.ScrollPort.\n */\n\n/**\n * Create a new screen instance.\n *\n * The screen initially has no rows and a maximum column count of 0.\n *\n * @param {integer} opt_columnCount The maximum number of columns for this\n * screen. See insertString() and overwriteString() for information about\n * what happens when too many characters are added too a row. Defaults to\n * 0 if not provided.\n */\nhterm.Screen = function(opt_columnCount) {\n /**\n * Public, read-only access to the rows in this screen.\n */\n this.rowsArray = [];\n\n // The max column width for this screen.\n this.columnCount_ = opt_columnCount || 80;\n\n // The current color, bold, underline and blink attributes.\n this.textAttributes = new hterm.TextAttributes(window.document);\n\n // Current zero-based cursor coordinates.\n this.cursorPosition = new hterm.RowCol(0, 0);\n\n // The node containing the row that the cursor is positioned on.\n this.cursorRowNode_ = null;\n\n // The node containing the span of text that the cursor is positioned on.\n this.cursorNode_ = null;\n\n // The offset in column width into cursorNode_ where the cursor is positioned.\n this.cursorOffset_ = null;\n\n // Regexes for expanding word selections.\n this.wordBreakMatchLeft = null;\n this.wordBreakMatchRight = null;\n this.wordBreakMatchMiddle = null;\n};\n\n/**\n * Return the screen size as an hterm.Size object.\n *\n * @return {hterm.Size} hterm.Size object representing the current number\n * of rows and columns in this screen.\n */\nhterm.Screen.prototype.getSize = function() {\n return new hterm.Size(this.columnCount_, this.rowsArray.length);\n};\n\n/**\n * Return the current number of rows in this screen.\n *\n * @return {integer} The number of rows in this screen.\n */\nhterm.Screen.prototype.getHeight = function() {\n return this.rowsArray.length;\n};\n\n/**\n * Return the current number of columns in this screen.\n *\n * @return {integer} The number of columns in this screen.\n */\nhterm.Screen.prototype.getWidth = function() {\n return this.columnCount_;\n};\n\n/**\n * Set the maximum number of columns per row.\n *\n * @param {integer} count The maximum number of columns per row.\n */\nhterm.Screen.prototype.setColumnCount = function(count) {\n this.columnCount_ = count;\n\n if (this.cursorPosition.column >= count)\n this.setCursorPosition(this.cursorPosition.row, count - 1);\n};\n\n/**\n * Remove the first row from the screen and return it.\n *\n * @return {HTMLElement} The first row in this screen.\n */\nhterm.Screen.prototype.shiftRow = function() {\n return this.shiftRows(1)[0];\n};\n\n/**\n * Remove rows from the top of the screen and return them as an array.\n *\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.shiftRows = function(count) {\n return this.rowsArray.splice(0, count);\n};\n\n/**\n * Insert a row at the top of the screen.\n *\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.unshiftRow = function(row) {\n this.rowsArray.splice(0, 0, row);\n};\n\n/**\n * Insert rows at the top of the screen.\n *\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.unshiftRows = function(rows) {\n this.rowsArray.unshift.apply(this.rowsArray, rows);\n};\n\n/**\n * Remove the last row from the screen and return it.\n *\n * @return {HTMLElement} The last row in this screen.\n */\nhterm.Screen.prototype.popRow = function() {\n return this.popRows(1)[0];\n};\n\n/**\n * Remove rows from the bottom of the screen and return them as an array.\n *\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.popRows = function(count) {\n return this.rowsArray.splice(this.rowsArray.length - count, count);\n};\n\n/**\n * Insert a row at the bottom of the screen.\n *\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.pushRow = function(row) {\n this.rowsArray.push(row);\n};\n\n/**\n * Insert rows at the bottom of the screen.\n *\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.pushRows = function(rows) {\n rows.push.apply(this.rowsArray, rows);\n};\n\n/**\n * Insert a row at the specified row of the screen.\n *\n * @param {integer} index The index to insert the row.\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.insertRow = function(index, row) {\n this.rowsArray.splice(index, 0, row);\n};\n\n/**\n * Insert rows at the specified row of the screen.\n *\n * @param {integer} index The index to insert the rows.\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.insertRows = function(index, rows) {\n for (var i = 0; i < rows.length; i++) {\n this.rowsArray.splice(index + i, 0, rows[i]);\n }\n};\n\n/**\n * Remove a row from the screen and return it.\n *\n * @param {integer} index The index of the row to remove.\n * @return {HTMLElement} The selected row.\n */\nhterm.Screen.prototype.removeRow = function(index) {\n return this.rowsArray.splice(index, 1)[0];\n};\n\n/**\n * Remove rows from the bottom of the screen and return them as an array.\n *\n * @param {integer} index The index to start removing rows.\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.removeRows = function(index, count) {\n return this.rowsArray.splice(index, count);\n};\n\n/**\n * Invalidate the current cursor position.\n *\n * This sets this.cursorPosition to (0, 0) and clears out some internal\n * data.\n *\n * Attempting to insert or overwrite text while the cursor position is invalid\n * will raise an obscure exception.\n */\nhterm.Screen.prototype.invalidateCursorPosition = function() {\n this.cursorPosition.move(0, 0);\n this.cursorRowNode_ = null;\n this.cursorNode_ = null;\n this.cursorOffset_ = null;\n};\n\n/**\n * Clear the contents of the cursor row.\n */\nhterm.Screen.prototype.clearCursorRow = function() {\n this.cursorRowNode_.innerHTML = '';\n this.cursorRowNode_.removeAttribute('line-overflow');\n this.cursorOffset_ = 0;\n this.cursorPosition.column = 0;\n this.cursorPosition.overflow = false;\n\n var text;\n if (this.textAttributes.isDefault()) {\n text = '';\n } else {\n text = lib.f.getWhitespace(this.columnCount_);\n }\n\n // We shouldn't honor inverse colors when clearing an area, to match\n // xterm's back color erase behavior.\n var inverse = this.textAttributes.inverse;\n this.textAttributes.inverse = false;\n this.textAttributes.syncColors();\n\n var node = this.textAttributes.createContainer(text);\n this.cursorRowNode_.appendChild(node);\n this.cursorNode_ = node;\n\n this.textAttributes.inverse = inverse;\n this.textAttributes.syncColors();\n};\n\n/**\n * Mark the current row as having overflowed to the next line.\n *\n * The line overflow state is used when converting a range of rows into text.\n * It makes it possible to recombine two or more overflow terminal rows into\n * a single line.\n *\n * This is distinct from the cursor being in the overflow state. Cursor\n * overflow indicates that printing at the cursor position will commit a\n * line overflow, unless it is preceded by a repositioning of the cursor\n * to a non-overflow state.\n */\nhterm.Screen.prototype.commitLineOverflow = function() {\n this.cursorRowNode_.setAttribute('line-overflow', true);\n};\n\n/**\n * Relocate the cursor to a give row and column.\n *\n * @param {integer} row The zero based row.\n * @param {integer} column The zero based column.\n */\nhterm.Screen.prototype.setCursorPosition = function(row, column) {\n if (!this.rowsArray.length) {\n console.warn('Attempt to set cursor position on empty screen.');\n return;\n }\n\n if (row >= this.rowsArray.length) {\n console.error('Row out of bounds: ' + row);\n row = this.rowsArray.length - 1;\n } else if (row < 0) {\n console.error('Row out of bounds: ' + row);\n row = 0;\n }\n\n if (column >= this.columnCount_) {\n console.error('Column out of bounds: ' + column);\n column = this.columnCount_ - 1;\n } else if (column < 0) {\n console.error('Column out of bounds: ' + column);\n column = 0;\n }\n\n this.cursorPosition.overflow = false;\n\n var rowNode = this.rowsArray[row];\n var node = rowNode.firstChild;\n\n if (!node) {\n node = rowNode.ownerDocument.createTextNode('');\n rowNode.appendChild(node);\n }\n\n var currentColumn = 0;\n\n if (rowNode == this.cursorRowNode_) {\n if (column >= this.cursorPosition.column - this.cursorOffset_) {\n node = this.cursorNode_;\n currentColumn = this.cursorPosition.column - this.cursorOffset_;\n }\n } else {\n this.cursorRowNode_ = rowNode;\n }\n\n this.cursorPosition.move(row, column);\n\n while (node) {\n var offset = column - currentColumn;\n var width = hterm.TextAttributes.nodeWidth(node);\n if (!node.nextSibling || width > offset) {\n this.cursorNode_ = node;\n this.cursorOffset_ = offset;\n return;\n }\n\n currentColumn += width;\n node = node.nextSibling;\n }\n};\n\n/**\n * Set the provided selection object to be a caret selection at the current\n * cursor position.\n */\nhterm.Screen.prototype.syncSelectionCaret = function(selection) {\n try {\n selection.collapse(this.cursorNode_, this.cursorOffset_);\n } catch (firefoxIgnoredException) {\n // FF can throw an exception if the range is off, rather than just not\n // performing the collapse.\n }\n};\n\n/**\n * Split a single node into two nodes at the given offset.\n *\n * For example:\n * Given the DOM fragment '
Hello World
', call splitNode_\n * passing the span and an offset of 6. This would modify the fragment to\n * become: '
Hello World
'. If the span\n * had any attributes they would have been copied to the new span as well.\n *\n * The to-be-split node must have a container, so that the new node can be\n * placed next to it.\n *\n * @param {HTMLNode} node The node to split.\n * @param {integer} offset The offset into the node where the split should\n * occur.\n */\nhterm.Screen.prototype.splitNode_ = function(node, offset) {\n var afterNode = node.cloneNode(false);\n\n var textContent = node.textContent;\n node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset);\n afterNode.textContent = lib.wc.substr(textContent, offset);\n\n if (afterNode.textContent)\n node.parentNode.insertBefore(afterNode, node.nextSibling);\n if (!node.textContent)\n node.parentNode.removeChild(node);\n};\n\n/**\n * Ensure that text is clipped and the cursor is clamped to the column count.\n */\nhterm.Screen.prototype.maybeClipCurrentRow = function() {\n var width = hterm.TextAttributes.nodeWidth(this.cursorRowNode_);\n\n if (width <= this.columnCount_) {\n // Current row does not need clipping, but may need clamping.\n if (this.cursorPosition.column >= this.columnCount_) {\n this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1);\n this.cursorPosition.overflow = true;\n }\n\n return;\n }\n\n // Save off the current column so we can maybe restore it later.\n var currentColumn = this.cursorPosition.column;\n\n // Move the cursor to the final column.\n this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1);\n\n // Remove any text that partially overflows.\n width = hterm.TextAttributes.nodeWidth(this.cursorNode_);\n\n if (this.cursorOffset_ < width - 1) {\n this.cursorNode_.textContent = hterm.TextAttributes.nodeSubstr(\n this.cursorNode_, 0, this.cursorOffset_ + 1);\n }\n\n // Remove all nodes after the cursor.\n var rowNode = this.cursorRowNode_;\n var node = this.cursorNode_.nextSibling;\n\n while (node) {\n rowNode.removeChild(node);\n node = this.cursorNode_.nextSibling;\n }\n\n if (currentColumn < this.columnCount_) {\n // If the cursor was within the screen before we started then restore its\n // position.\n this.setCursorPosition(this.cursorPosition.row, currentColumn);\n } else {\n // Otherwise leave it at the the last column in the overflow state.\n this.cursorPosition.overflow = true;\n }\n};\n\n/**\n * Insert a string at the current character position using the current\n * text attributes.\n *\n * You must call maybeClipCurrentRow() after in order to clip overflowed\n * text and clamp the cursor.\n *\n * It is also up to the caller to properly maintain the line overflow state\n * using hterm.Screen..commitLineOverflow().\n */\nhterm.Screen.prototype.insertString = function(str) {\n var cursorNode = this.cursorNode_;\n var cursorNodeText = cursorNode.textContent;\n\n this.cursorRowNode_.removeAttribute('line-overflow');\n\n // We may alter the width of the string by prepending some missing\n // whitespaces, so we need to record the string width ahead of time.\n var strWidth = lib.wc.strWidth(str);\n\n // No matter what, before this function exits the cursor column will have\n // moved this much.\n this.cursorPosition.column += strWidth;\n\n // Local cache of the cursor offset.\n var offset = this.cursorOffset_;\n\n // Reverse offset is the offset measured from the end of the string.\n // Zero implies that the cursor is at the end of the cursor node.\n var reverseOffset = hterm.TextAttributes.nodeWidth(cursorNode) - offset;\n\n if (reverseOffset < 0) {\n // A negative reverse offset means the cursor is positioned past the end\n // of the characters on this line. We'll need to insert the missing\n // whitespace.\n var ws = lib.f.getWhitespace(-reverseOffset);\n\n // This whitespace should be completely unstyled. Underline, background\n // color, and strikethrough would be visible on whitespace, so we can't use\n // one of those spans to hold the text.\n if (!(this.textAttributes.underline ||\n this.textAttributes.strikethrough ||\n this.textAttributes.background ||\n this.textAttributes.wcNode ||\n !this.textAttributes.asciiNode ||\n this.textAttributes.tileData != null)) {\n // Best case scenario, we can just pretend the spaces were part of the\n // original string.\n str = ws + str;\n } else if (cursorNode.nodeType == 3 ||\n !(cursorNode.wcNode ||\n !cursorNode.asciiNode ||\n cursorNode.tileNode ||\n cursorNode.style.textDecoration ||\n cursorNode.style.backgroundColor)) {\n // Second best case, the current node is able to hold the whitespace.\n cursorNode.textContent = (cursorNodeText += ws);\n } else {\n // Worst case, we have to create a new node to hold the whitespace.\n var wsNode = cursorNode.ownerDocument.createTextNode(ws);\n this.cursorRowNode_.insertBefore(wsNode, cursorNode.nextSibling);\n this.cursorNode_ = cursorNode = wsNode;\n this.cursorOffset_ = offset = -reverseOffset;\n cursorNodeText = ws;\n }\n\n // We now know for sure that we're at the last character of the cursor node.\n reverseOffset = 0;\n }\n\n if (this.textAttributes.matchesContainer(cursorNode)) {\n // The new text can be placed directly in the cursor node.\n if (reverseOffset == 0) {\n cursorNode.textContent = cursorNodeText + str;\n } else if (offset == 0) {\n cursorNode.textContent = str + cursorNodeText;\n } else {\n cursorNode.textContent =\n hterm.TextAttributes.nodeSubstr(cursorNode, 0, offset) +\n str + hterm.TextAttributes.nodeSubstr(cursorNode, offset);\n }\n\n this.cursorOffset_ += strWidth;\n return;\n }\n\n // The cursor node is the wrong style for the new text. If we're at the\n // beginning or end of the cursor node, then the adjacent node is also a\n // potential candidate.\n\n if (offset == 0) {\n // At the beginning of the cursor node, the check the previous sibling.\n var previousSibling = cursorNode.previousSibling;\n if (previousSibling &&\n this.textAttributes.matchesContainer(previousSibling)) {\n previousSibling.textContent += str;\n this.cursorNode_ = previousSibling;\n this.cursorOffset_ = lib.wc.strWidth(previousSibling.textContent);\n return;\n }\n\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, cursorNode);\n this.cursorNode_ = newNode;\n this.cursorOffset_ = strWidth;\n return;\n }\n\n if (reverseOffset == 0) {\n // At the end of the cursor node, the check the next sibling.\n var nextSibling = cursorNode.nextSibling;\n if (nextSibling &&\n this.textAttributes.matchesContainer(nextSibling)) {\n nextSibling.textContent = str + nextSibling.textContent;\n this.cursorNode_ = nextSibling;\n this.cursorOffset_ = lib.wc.strWidth(str);\n return;\n }\n\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, nextSibling);\n this.cursorNode_ = newNode;\n // We specifically need to include any missing whitespace here, since it's\n // going in a new node.\n this.cursorOffset_ = hterm.TextAttributes.nodeWidth(newNode);\n return;\n }\n\n // Worst case, we're somewhere in the middle of the cursor node. We'll\n // have to split it into two nodes and insert our new container in between.\n this.splitNode_(cursorNode, offset);\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, cursorNode.nextSibling);\n this.cursorNode_ = newNode;\n this.cursorOffset_ = strWidth;\n};\n\n/**\n * Overwrite the text at the current cursor position.\n *\n * You must call maybeClipCurrentRow() after in order to clip overflowed\n * text and clamp the cursor.\n *\n * It is also up to the caller to properly maintain the line overflow state\n * using hterm.Screen..commitLineOverflow().\n */\nhterm.Screen.prototype.overwriteString = function(str) {\n var maxLength = this.columnCount_ - this.cursorPosition.column;\n if (!maxLength)\n return [str];\n\n var width = lib.wc.strWidth(str);\n if (this.textAttributes.matchesContainer(this.cursorNode_) &&\n this.cursorNode_.textContent.substr(this.cursorOffset_) == str) {\n // This overwrite would be a no-op, just move the cursor and return.\n this.cursorOffset_ += width;\n this.cursorPosition.column += width;\n return;\n }\n\n this.deleteChars(Math.min(width, maxLength));\n this.insertString(str);\n};\n\n/**\n * Forward-delete one or more characters at the current cursor position.\n *\n * Text to the right of the deleted characters is shifted left. Only affects\n * characters on the same row as the cursor.\n *\n * @param {integer} count The column width of characters to delete. This is\n * clamped to the column width minus the cursor column.\n * @return {integer} The column width of the characters actually deleted.\n */\nhterm.Screen.prototype.deleteChars = function(count) {\n var node = this.cursorNode_;\n var offset = this.cursorOffset_;\n\n var currentCursorColumn = this.cursorPosition.column;\n count = Math.min(count, this.columnCount_ - currentCursorColumn);\n if (!count)\n return 0;\n\n var rv = count;\n var startLength, endLength;\n\n while (node && count) {\n startLength = hterm.TextAttributes.nodeWidth(node);\n node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset) +\n hterm.TextAttributes.nodeSubstr(node, offset + count);\n endLength = hterm.TextAttributes.nodeWidth(node);\n count -= startLength - endLength;\n if (offset < startLength && endLength && startLength == endLength) {\n // No characters were deleted when there should be. We're probably trying\n // to delete one column width from a wide character node. We remove the\n // wide character node here and replace it with a single space.\n var spaceNode = this.textAttributes.createContainer(' ');\n node.parentNode.insertBefore(spaceNode, node.nextSibling);\n node.textContent = '';\n endLength = 0;\n count -= 1;\n }\n\n var nextNode = node.nextSibling;\n if (endLength == 0 && node != this.cursorNode_) {\n node.parentNode.removeChild(node);\n }\n node = nextNode;\n offset = 0;\n }\n\n // Remove this.cursorNode_ if it is an empty non-text node.\n if (this.cursorNode_.nodeType != 3 && !this.cursorNode_.textContent) {\n var cursorNode = this.cursorNode_;\n if (cursorNode.previousSibling) {\n this.cursorNode_ = cursorNode.previousSibling;\n this.cursorOffset_ = hterm.TextAttributes.nodeWidth(\n cursorNode.previousSibling);\n } else if (cursorNode.nextSibling) {\n this.cursorNode_ = cursorNode.nextSibling;\n this.cursorOffset_ = 0;\n } else {\n var emptyNode = this.cursorRowNode_.ownerDocument.createTextNode('');\n this.cursorRowNode_.appendChild(emptyNode);\n this.cursorNode_ = emptyNode;\n this.cursorOffset_ = 0;\n }\n this.cursorRowNode_.removeChild(cursorNode);\n }\n\n return rv;\n};\n\n/**\n * Finds first X-ROW of a line containing specified X-ROW.\n * Used to support line overflow.\n *\n * @param {Node} row X-ROW to begin search for first row of line.\n * @return {Node} The X-ROW that is at the beginning of the line.\n **/\nhterm.Screen.prototype.getLineStartRow_ = function(row) {\n while (row.previousSibling &&\n row.previousSibling.hasAttribute('line-overflow')) {\n row = row.previousSibling;\n }\n return row;\n};\n\n/**\n * Gets text of a line beginning with row.\n * Supports line overflow.\n *\n * @param {Node} row First X-ROW of line.\n * @return {string} Text content of line.\n **/\nhterm.Screen.prototype.getLineText_ = function(row) {\n var rowText = \"\";\n while (row) {\n rowText += row.textContent;\n if (row.hasAttribute('line-overflow')) {\n row = row.nextSibling;\n } else {\n break;\n }\n }\n return rowText;\n};\n\n/**\n * Returns X-ROW that is ancestor of the node.\n *\n * @param {Node} node Node to get X-ROW ancestor for.\n * @return {Node} X-ROW ancestor of node, or null if not found.\n **/\nhterm.Screen.prototype.getXRowAncestor_ = function(node) {\n while (node) {\n if (node.nodeName === 'X-ROW')\n break;\n node = node.parentNode;\n }\n return node;\n};\n\n/**\n * Returns position within line of character at offset within node.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {Node} node Node to get position of.\n * @param {integer} offset Offset into node.\n *\n * @return {integer} Position within line of character at offset within node.\n **/\nhterm.Screen.prototype.getPositionWithOverflow_ = function(row, node, offset) {\n if (!node)\n return -1;\n var ancestorRow = this.getXRowAncestor_(node);\n if (!ancestorRow)\n return -1;\n var position = 0;\n while (ancestorRow != row) {\n position += hterm.TextAttributes.nodeWidth(row);\n if (row.hasAttribute('line-overflow') && row.nextSibling) {\n row = row.nextSibling;\n } else {\n return -1;\n }\n }\n return position + this.getPositionWithinRow_(row, node, offset);\n};\n\n/**\n * Returns position within row of character at offset within node.\n * Does not support line overflow.\n *\n * @param {Node} row X-ROW to get position within.\n * @param {Node} node Node to get position for.\n * @param {integer} offset Offset within node to get position for.\n * @return {integer} Position within row of character at offset within node.\n **/\nhterm.Screen.prototype.getPositionWithinRow_ = function(row, node, offset) {\n if (node.parentNode != row) {\n // If we traversed to the top node, then there's nothing to find here.\n if (node.parentNode == null)\n return -1;\n\n return this.getPositionWithinRow_(node.parentNode, node, offset) +\n this.getPositionWithinRow_(row, node.parentNode, 0);\n }\n var position = 0;\n for (var i = 0; i < row.childNodes.length; i++) {\n var currentNode = row.childNodes[i];\n if (currentNode == node)\n return position + offset;\n position += hterm.TextAttributes.nodeWidth(currentNode);\n }\n return -1;\n};\n\n/**\n * Returns the node and offset corresponding to position within line.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {integer} position Position within line to retrieve node and offset.\n * @return {Array} Two element array containing node and offset respectively.\n **/\nhterm.Screen.prototype.getNodeAndOffsetWithOverflow_ = function(row, position) {\n while (row && position > hterm.TextAttributes.nodeWidth(row)) {\n if (row.hasAttribute('line-overflow') && row.nextSibling) {\n position -= hterm.TextAttributes.nodeWidth(row);\n row = row.nextSibling;\n } else {\n return -1;\n }\n }\n return this.getNodeAndOffsetWithinRow_(row, position);\n};\n\n/**\n * Returns the node and offset corresponding to position within row.\n * Does not support line overflow.\n *\n * @param {Node} row X-ROW to get position within.\n * @param {integer} position Position within row to retrieve node and offset.\n * @return {Array} Two element array containing node and offset respectively.\n **/\nhterm.Screen.prototype.getNodeAndOffsetWithinRow_ = function(row, position) {\n for (var i = 0; i < row.childNodes.length; i++) {\n var node = row.childNodes[i];\n var nodeTextWidth = hterm.TextAttributes.nodeWidth(node);\n if (position <= nodeTextWidth) {\n if (node.nodeName === 'SPAN') {\n /** Drill down to node contained by SPAN. **/\n return this.getNodeAndOffsetWithinRow_(node, position);\n } else {\n return [node, position];\n }\n }\n position -= nodeTextWidth;\n }\n return null;\n};\n\n/**\n * Returns the node and offset corresponding to position within line.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {integer} start Start position of range within line.\n * @param {integer} end End position of range within line.\n * @param {Range} range Range to modify.\n **/\nhterm.Screen.prototype.setRange_ = function(row, start, end, range) {\n var startNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, start);\n if (startNodeAndOffset == null)\n return;\n var endNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, end);\n if (endNodeAndOffset == null)\n return;\n range.setStart(startNodeAndOffset[0], startNodeAndOffset[1]);\n range.setEnd(endNodeAndOffset[0], endNodeAndOffset[1]);\n};\n\n/**\n * Expands selection to surround URLs.\n *\n * @param {Selection} selection Selection to expand.\n **/\nhterm.Screen.prototype.expandSelection = function(selection) {\n if (!selection)\n return;\n\n var range = selection.getRangeAt(0);\n if (!range || range.toString().match(/\\s/))\n return;\n\n var row = this.getLineStartRow_(this.getXRowAncestor_(range.startContainer));\n if (!row)\n return;\n\n var startPosition = this.getPositionWithOverflow_(row,\n range.startContainer,\n range.startOffset);\n if (startPosition == -1)\n return;\n var endPosition = this.getPositionWithOverflow_(row,\n range.endContainer,\n range.endOffset);\n if (endPosition == -1)\n return;\n\n // Use the user configurable match settings.\n var leftMatch = this.wordBreakMatchLeft;\n var rightMatch = this.wordBreakMatchRight;\n var insideMatch = this.wordBreakMatchMiddle;\n\n //Move start to the left.\n var rowText = this.getLineText_(row);\n var lineUpToRange = lib.wc.substring(rowText, 0, endPosition);\n var leftRegularExpression = new RegExp(leftMatch + insideMatch + \"$\");\n var expandedStart = lineUpToRange.search(leftRegularExpression);\n if (expandedStart == -1 || expandedStart > startPosition)\n return;\n\n //Move end to the right.\n var lineFromRange = lib.wc.substring(rowText, startPosition,\n lib.wc.strWidth(rowText));\n var rightRegularExpression = new RegExp(\"^\" + insideMatch + rightMatch);\n var found = lineFromRange.match(rightRegularExpression);\n if (!found)\n return;\n var expandedEnd = startPosition + lib.wc.strWidth(found[0]);\n if (expandedEnd == -1 || expandedEnd < endPosition)\n return;\n\n this.setRange_(row, expandedStart, expandedEnd, range);\n selection.addRange(range);\n};\n// SOURCE FILE: hterm/js/hterm_scrollport.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'hterm.PubSub', 'hterm.Size');\n\n/**\n * A 'viewport' view of fixed-height rows with support for selection and\n * copy-to-clipboard.\n *\n * 'Viewport' in this case means that only the visible rows are in the DOM.\n * If the rowProvider has 100,000 rows, but the ScrollPort is only 25 rows\n * tall, then only 25 dom nodes are created. The ScrollPort will ask the\n * RowProvider to create new visible rows on demand as they are scrolled in\n * to the visible area.\n *\n * This viewport is designed so that select and copy-to-clipboard still works,\n * even when all or part of the selection is scrolled off screen.\n *\n * Note that the X11 mouse clipboard does not work properly when all or part\n * of the selection is off screen. It would be difficult to fix this without\n * adding significant overhead to pathologically large selection cases.\n *\n * The RowProvider should return rows rooted by the custom tag name 'x-row'.\n * This ensures that we can quickly assign the correct display height\n * to the rows with css.\n *\n * @param {RowProvider} rowProvider An object capable of providing rows as\n * raw text or row nodes.\n */\nhterm.ScrollPort = function(rowProvider) {\n hterm.PubSub.addBehavior(this);\n\n this.rowProvider_ = rowProvider;\n\n // SWAG the character size until we can measure it.\n this.characterSize = new hterm.Size(10, 10);\n\n // DOM node used for character measurement.\n this.ruler_ = null;\n\n this.selection = new hterm.ScrollPort.Selection(this);\n\n // A map of rowIndex => rowNode for each row that is drawn as part of a\n // pending redraw_() call. Null if there is no pending redraw_ call.\n this.currentRowNodeCache_ = null;\n\n // A map of rowIndex => rowNode for each row that was drawn as part of the\n // previous redraw_() call.\n this.previousRowNodeCache_ = {};\n\n // Used during scroll events to detect when the underlying cause is a resize.\n this.lastScreenWidth_ = null;\n this.lastScreenHeight_ = null;\n\n // True if the user should be allowed to select text in the terminal.\n // This is disabled when the host requests mouse drag events so that we don't\n // end up with two notions of selection.\n this.selectionEnabled_ = true;\n\n // The last row count returned by the row provider, re-populated during\n // syncScrollHeight().\n this.lastRowCount_ = 0;\n\n // The scroll wheel pixel delta multiplier to increase/decrease\n // the scroll speed of mouse wheel events. See: https://goo.gl/sXelnq\n this.scrollWheelMultiplier_ = 1;\n\n // The last touch events we saw to support touch based scrolling. Indexed\n // by touch identifier since we can have more than one touch active.\n this.lastTouch_ = {};\n\n /**\n * True if the last scroll caused the scrollport to show the final row.\n */\n this.isScrolledEnd = true;\n\n /**\n * A guess at the current scrollbar width, fixed in resize().\n */\n this.currentScrollbarWidthPx = 16;\n\n /**\n * Whether the ctrl-v key on the screen should paste.\n */\n this.ctrlVPaste = false;\n\n this.div_ = null;\n this.document_ = null;\n\n // Collection of active timeout handles.\n this.timeouts_ = {};\n\n this.observers_ = {};\n\n this.DEBUG_ = false;\n}\n\n/**\n * Proxy for the native selection object which understands how to walk up the\n * DOM to find the containing row node and sort out which comes first.\n *\n * @param {hterm.ScrollPort} scrollPort The parent hterm.ScrollPort instance.\n */\nhterm.ScrollPort.Selection = function(scrollPort) {\n this.scrollPort_ = scrollPort;\n\n /**\n * The row containing the start of the selection.\n *\n * This may be partially or fully selected. It may be the selection anchor\n * or the focus, but its rowIndex is guaranteed to be less-than-or-equal-to\n * that of the endRow.\n *\n * If only one row is selected then startRow == endRow. If there is no\n * selection or the selection is collapsed then startRow == null.\n */\n this.startRow = null;\n\n /**\n * The row containing the end of the selection.\n *\n * This may be partially or fully selected. It may be the selection anchor\n * or the focus, but its rowIndex is guaranteed to be greater-than-or-equal-to\n * that of the startRow.\n *\n * If only one row is selected then startRow == endRow. If there is no\n * selection or the selection is collapsed then startRow == null.\n */\n this.endRow = null;\n\n /**\n * True if startRow != endRow.\n */\n this.isMultiline = null;\n\n /**\n * True if the selection is just a point rather than a range.\n */\n this.isCollapsed = null;\n};\n\n/**\n * Given a list of DOM nodes and a container, return the DOM node that\n * is first according to a depth-first search.\n *\n * Returns null if none of the children are found.\n */\nhterm.ScrollPort.Selection.prototype.findFirstChild = function(\n parent, childAry) {\n var node = parent.firstChild;\n\n while (node) {\n if (childAry.indexOf(node) != -1)\n return node;\n\n if (node.childNodes.length) {\n var rv = this.findFirstChild(node, childAry);\n if (rv)\n return rv;\n }\n\n node = node.nextSibling;\n }\n\n return null;\n};\n\n/**\n * Synchronize this object with the current DOM selection.\n *\n * This is a one-way synchronization, the DOM selection is copied to this\n * object, not the other way around.\n */\nhterm.ScrollPort.Selection.prototype.sync = function() {\n var self = this;\n\n // The dom selection object has no way to tell which nodes come first in\n // the document, so we have to figure that out.\n //\n // This function is used when we detect that the \"anchor\" node is first.\n function anchorFirst() {\n self.startRow = anchorRow;\n self.startNode = selection.anchorNode;\n self.startOffset = selection.anchorOffset;\n self.endRow = focusRow;\n self.endNode = selection.focusNode;\n self.endOffset = selection.focusOffset;\n }\n\n // This function is used when we detect that the \"focus\" node is first.\n function focusFirst() {\n self.startRow = focusRow;\n self.startNode = selection.focusNode;\n self.startOffset = selection.focusOffset;\n self.endRow = anchorRow;\n self.endNode = selection.anchorNode;\n self.endOffset = selection.anchorOffset;\n }\n\n var selection = this.scrollPort_.getDocument().getSelection();\n\n this.startRow = null;\n this.endRow = null;\n this.isMultiline = null;\n this.isCollapsed = !selection || selection.isCollapsed;\n\n if (this.isCollapsed)\n return;\n\n var anchorRow = selection.anchorNode;\n while (anchorRow && !('rowIndex' in anchorRow)) {\n anchorRow = anchorRow.parentNode;\n }\n\n if (!anchorRow) {\n console.error('Selection anchor is not rooted in a row node: ' +\n selection.anchorNode.nodeName);\n return;\n }\n\n var focusRow = selection.focusNode;\n while (focusRow && !('rowIndex' in focusRow)) {\n focusRow = focusRow.parentNode;\n }\n\n if (!focusRow) {\n console.error('Selection focus is not rooted in a row node: ' +\n selection.focusNode.nodeName);\n return;\n }\n\n if (anchorRow.rowIndex < focusRow.rowIndex) {\n anchorFirst();\n\n } else if (anchorRow.rowIndex > focusRow.rowIndex) {\n focusFirst();\n\n } else if (selection.focusNode == selection.anchorNode) {\n if (selection.anchorOffset < selection.focusOffset) {\n anchorFirst();\n } else {\n focusFirst();\n }\n\n } else {\n // The selection starts and ends in the same row, but isn't contained all\n // in a single node.\n var firstNode = this.findFirstChild(\n anchorRow, [selection.anchorNode, selection.focusNode]);\n\n if (!firstNode)\n throw new Error('Unexpected error syncing selection.');\n\n if (firstNode == selection.anchorNode) {\n anchorFirst();\n } else {\n focusFirst();\n }\n }\n\n this.isMultiline = anchorRow.rowIndex != focusRow.rowIndex;\n};\n\n\n/**\n * Turn a div into this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.decorate = function(div) {\n this.div_ = div;\n\n this.iframe_ = div.ownerDocument.createElement('iframe');\n this.iframe_.style.cssText = (\n 'border: 0;' +\n 'height: 100%;' +\n 'position: absolute;' +\n 'width: 100%');\n\n // Set the iframe src to # in FF. Otherwise when the frame's\n // load event fires in FF it clears out the content of the iframe.\n if ('mozInnerScreenX' in window) // detect a FF only property\n this.iframe_.src = '#';\n\n div.appendChild(this.iframe_);\n\n this.iframe_.contentWindow.addEventListener('resize',\n this.onResize_.bind(this));\n\n var doc = this.document_ = this.iframe_.contentDocument;\n doc.body.style.cssText = (\n 'margin: 0px;' +\n 'padding: 0px;' +\n 'height: 100%;' +\n 'width: 100%;' +\n 'overflow: hidden;' +\n 'cursor: var(--hterm-mouse-cursor-style);' +\n '-webkit-user-select: none;' +\n '-moz-user-select: none;');\n\n if (this.DEBUG_) {\n // When we're debugging we add padding to the body so that the offscreen\n // elements are visible.\n this.document_.body.style.paddingTop =\n this.document_.body.style.paddingBottom =\n 'calc(var(--hterm-charsize-height) * 3)';\n }\n\n var style = doc.createElement('style');\n style.textContent = (\n 'x-row {' +\n ' display: block;' +\n ' height: var(--hterm-charsize-height);' +\n ' line-height: var(--hterm-charsize-height);' +\n '}');\n doc.head.appendChild(style);\n\n this.userCssLink_ = doc.createElement('link');\n this.userCssLink_.setAttribute('rel', 'stylesheet');\n\n this.userCssText_ = doc.createElement('style');\n doc.head.appendChild(this.userCssText_);\n\n // TODO(rginda): Sorry, this 'screen_' isn't the same thing as hterm.Screen\n // from screen.js. I need to pick a better name for one of them to avoid\n // the collision.\n // We make this field editable even though we don't actually allow anything\n // to be edited here so that Chrome will do the right thing with virtual\n // keyboards and IMEs. But make sure we turn off all the input helper logic\n // that doesn't make sense here, and might inadvertently mung or save input.\n // Some of these attributes are standard while others are browser specific,\n // but should be safely ignored by other browsers.\n this.screen_ = doc.createElement('x-screen');\n this.screen_.setAttribute('contenteditable', 'true');\n this.screen_.setAttribute('spellcheck', 'false');\n this.screen_.setAttribute('autocomplete', 'off');\n this.screen_.setAttribute('autocorrect', 'off');\n this.screen_.setAttribute('autocaptalize', 'none');\n this.screen_.setAttribute('role', 'textbox');\n this.screen_.setAttribute('tabindex', '-1');\n this.screen_.style.cssText = (\n 'caret-color: transparent;' +\n 'display: block;' +\n 'font-family: monospace;' +\n 'font-size: 15px;' +\n 'font-variant-ligatures: none;' +\n 'height: 100%;' +\n 'overflow-y: scroll; overflow-x: hidden;' +\n 'white-space: pre;' +\n 'width: 100%;' +\n 'outline: none !important');\n\n doc.body.appendChild(this.screen_);\n\n this.screen_.addEventListener('scroll', this.onScroll_.bind(this));\n this.screen_.addEventListener('wheel', this.onScrollWheel_.bind(this));\n this.screen_.addEventListener('touchstart', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchmove', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchend', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchcancel', this.onTouch_.bind(this));\n this.screen_.addEventListener('copy', this.onCopy_.bind(this));\n this.screen_.addEventListener('paste', this.onPaste_.bind(this));\n // Disable drag & drop of text/content. We don't handle it at all (yet?),\n // and the default behavior just confuses hterm.\n this.screen_.addEventListener('drop', function(e) {\n e.preventDefault();\n return false;\n });\n\n doc.body.addEventListener('keydown', this.onBodyKeyDown_.bind(this));\n\n // This is the main container for the fixed rows.\n this.rowNodes_ = doc.createElement('div');\n this.rowNodes_.id = 'hterm:row-nodes';\n this.rowNodes_.style.cssText = (\n 'display: block;' +\n 'position: fixed;' +\n 'overflow: hidden;' +\n '-webkit-user-select: text;' +\n '-moz-user-select: text;');\n this.screen_.appendChild(this.rowNodes_);\n\n // Two nodes to hold offscreen text during the copy event.\n this.topSelectBag_ = doc.createElement('x-select-bag');\n this.topSelectBag_.style.cssText = (\n 'display: block;' +\n 'overflow: hidden;' +\n 'height: var(--hterm-charsize-height);' +\n 'white-space: pre;');\n\n this.bottomSelectBag_ = this.topSelectBag_.cloneNode();\n\n // Nodes above the top fold and below the bottom fold are hidden. They are\n // only used to hold rows that are part of the selection but are currently\n // scrolled off the top or bottom of the visible range.\n this.topFold_ = doc.createElement('x-fold');\n this.topFold_.id = 'hterm:top-fold-for-row-selection';\n this.topFold_.style.cssText = 'display: block;';\n this.rowNodes_.appendChild(this.topFold_);\n\n this.bottomFold_ = this.topFold_.cloneNode();\n this.bottomFold_.id = 'hterm:bottom-fold-for-row-selection';\n this.rowNodes_.appendChild(this.bottomFold_);\n\n // This hidden div accounts for the vertical space that would be consumed by\n // all the rows in the buffer if they were visible. It's what causes the\n // scrollbar to appear on the 'x-screen', and it moves within the screen when\n // the scrollbar is moved.\n //\n // It is set 'visibility: hidden' to keep the browser from trying to include\n // it in the selection when a user 'drag selects' upwards (drag the mouse to\n // select and scroll at the same time). Without this, the selection gets\n // out of whack.\n this.scrollArea_ = doc.createElement('div');\n this.scrollArea_.id = 'hterm:scrollarea';\n this.scrollArea_.style.cssText = 'visibility: hidden';\n this.screen_.appendChild(this.scrollArea_);\n\n // This svg element is used to detect when the browser is zoomed. It must be\n // placed in the outermost document for currentScale to be correct.\n // TODO(rginda): This means that hterm nested in an iframe will not correctly\n // detect browser zoom level. We should come up with a better solution.\n // Note: This must be http:// else Chrome cannot create the element correctly.\n var xmlns = 'http://www.w3.org/2000/svg';\n this.svg_ = this.div_.ownerDocument.createElementNS(xmlns, 'svg');\n this.svg_.id = 'hterm:zoom-detector';\n this.svg_.setAttribute('xmlns', xmlns);\n this.svg_.setAttribute('version', '1.1');\n this.svg_.style.cssText = (\n 'position: absolute;' +\n 'top: 0;' +\n 'left: 0;' +\n 'visibility: hidden');\n\n\n // We send focus to this element just before a paste happens, so we can\n // capture the pasted text and forward it on to someone who cares.\n this.pasteTarget_ = doc.createElement('textarea');\n this.pasteTarget_.id = 'hterm:ctrl-v-paste-target';\n this.pasteTarget_.setAttribute('tabindex', '-1');\n this.pasteTarget_.style.cssText = (\n 'position: absolute;' +\n 'height: 1px;' +\n 'width: 1px;' +\n 'left: 0px; ' +\n 'bottom: 0px;' +\n 'opacity: 0');\n this.pasteTarget_.contentEditable = true;\n\n this.screen_.appendChild(this.pasteTarget_);\n this.pasteTarget_.addEventListener(\n 'textInput', this.handlePasteTargetTextInput_.bind(this));\n\n this.resize();\n};\n\n/**\n * Select the font-family and font-smoothing for this scrollport.\n *\n * @param {string} fontFamily Value of the CSS 'font-family' to use for this\n * scrollport. Should be a monospace font.\n * @param {string} opt_smoothing Optional value for '-webkit-font-smoothing'.\n * Defaults to an empty string if not specified.\n */\nhterm.ScrollPort.prototype.setFontFamily = function(fontFamily, opt_smoothing) {\n this.screen_.style.fontFamily = fontFamily;\n if (opt_smoothing) {\n this.screen_.style.webkitFontSmoothing = opt_smoothing;\n } else {\n this.screen_.style.webkitFontSmoothing = '';\n }\n\n this.syncCharacterSize();\n};\n\nhterm.ScrollPort.prototype.getFontFamily = function() {\n return this.screen_.style.fontFamily;\n};\n\n/**\n * Set a custom stylesheet to include in the scrollport.\n *\n * Defaults to null, meaning no custom css is loaded. Set it back to null or\n * the empty string to remove a previously applied custom css.\n */\nhterm.ScrollPort.prototype.setUserCssUrl = function(url) {\n if (url) {\n this.userCssLink_.setAttribute('href', url);\n\n if (!this.userCssLink_.parentNode)\n this.document_.head.appendChild(this.userCssLink_);\n } else if (this.userCssLink_.parentNode) {\n this.document_.head.removeChild(this.userCssLink_);\n }\n};\n\nhterm.ScrollPort.prototype.setUserCssText = function(text) {\n this.userCssText_.textContent = text;\n};\n\nhterm.ScrollPort.prototype.focus = function() {\n this.iframe_.focus();\n this.screen_.focus();\n};\n\nhterm.ScrollPort.prototype.getForegroundColor = function() {\n return this.screen_.style.color;\n};\n\nhterm.ScrollPort.prototype.setForegroundColor = function(color) {\n this.screen_.style.color = color;\n};\n\nhterm.ScrollPort.prototype.getBackgroundColor = function() {\n return this.screen_.style.backgroundColor;\n};\n\nhterm.ScrollPort.prototype.setBackgroundColor = function(color) {\n this.screen_.style.backgroundColor = color;\n};\n\nhterm.ScrollPort.prototype.setBackgroundImage = function(image) {\n this.screen_.style.backgroundImage = image;\n};\n\nhterm.ScrollPort.prototype.setBackgroundSize = function(size) {\n this.screen_.style.backgroundSize = size;\n};\n\nhterm.ScrollPort.prototype.setBackgroundPosition = function(position) {\n this.screen_.style.backgroundPosition = position;\n};\n\nhterm.ScrollPort.prototype.setCtrlVPaste = function(ctrlVPaste) {\n this.ctrlVPaste = ctrlVPaste;\n};\n\n/**\n * Get the usable size of the scrollport screen.\n *\n * The width will not include the scrollbar width.\n */\nhterm.ScrollPort.prototype.getScreenSize = function() {\n var size = hterm.getClientSize(this.screen_);\n return {\n height: size.height,\n width: size.width - this.currentScrollbarWidthPx\n };\n};\n\n/**\n * Get the usable width of the scrollport screen.\n *\n * This the widget width minus scrollbar width.\n */\nhterm.ScrollPort.prototype.getScreenWidth = function() {\n return this.getScreenSize().width ;\n};\n\n/**\n * Get the usable height of the scrollport screen.\n */\nhterm.ScrollPort.prototype.getScreenHeight = function() {\n return this.getScreenSize().height;\n};\n\n/**\n * Return the document that holds the visible rows of this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.getDocument = function() {\n return this.document_;\n};\n\n/**\n * Returns the x-screen element that holds the rows of this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.getScreenNode = function() {\n return this.screen_;\n};\n\n/**\n * Clear out any cached rowNodes.\n */\nhterm.ScrollPort.prototype.resetCache = function() {\n this.currentRowNodeCache_ = null;\n this.previousRowNodeCache_ = {};\n};\n\n/**\n * Change the current rowProvider.\n *\n * This will clear the row cache and cause a redraw.\n *\n * @param {Object} rowProvider An object capable of providing the rows\n * in this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.setRowProvider = function(rowProvider) {\n this.resetCache();\n this.rowProvider_ = rowProvider;\n this.scheduleRedraw();\n};\n\n/**\n * Inform the ScrollPort that the root DOM nodes for some or all of the visible\n * rows are no longer valid.\n *\n * Specifically, this should be called if this.rowProvider_.getRowNode() now\n * returns an entirely different node than it did before. It does not\n * need to be called if the content of a row node is the only thing that\n * changed.\n *\n * This skips some of the overhead of a full redraw, but should not be used\n * in cases where the scrollport has been scrolled, or when the row count has\n * changed.\n */\nhterm.ScrollPort.prototype.invalidate = function() {\n var node = this.topFold_.nextSibling;\n while (node != this.bottomFold_) {\n var nextSibling = node.nextSibling;\n node.parentElement.removeChild(node);\n node = nextSibling;\n }\n\n this.previousRowNodeCache_ = null;\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n this.drawVisibleRows_(topRowIndex, bottomRowIndex);\n};\n\nhterm.ScrollPort.prototype.scheduleInvalidate = function() {\n if (this.timeouts_.invalidate)\n return;\n\n var self = this;\n this.timeouts_.invalidate = setTimeout(function () {\n delete self.timeouts_.invalidate;\n self.invalidate();\n }, 0);\n};\n\n/**\n * Set the font size of the ScrollPort.\n */\nhterm.ScrollPort.prototype.setFontSize = function(px) {\n this.screen_.style.fontSize = px + 'px';\n this.syncCharacterSize();\n};\n\n/**\n * Return the current font size of the ScrollPort.\n */\nhterm.ScrollPort.prototype.getFontSize = function() {\n return parseInt(this.screen_.style.fontSize);\n};\n\n/**\n * Measure the size of a single character in pixels.\n *\n * @param {string} opt_weight The font weight to measure, or 'normal' if\n * omitted.\n * @return {hterm.Size} A new hterm.Size object.\n */\nhterm.ScrollPort.prototype.measureCharacterSize = function(opt_weight) {\n // Number of lines used to average the height of a single character.\n var numberOfLines = 100;\n // Number of chars per line used to average the width of a single character.\n var lineLength = 100;\n\n if (!this.ruler_) {\n this.ruler_ = this.document_.createElement('div');\n this.ruler_.id = 'hterm:ruler-character-size';\n this.ruler_.style.cssText = (\n 'position: absolute;' +\n 'top: 0;' +\n 'left: 0;' +\n 'visibility: hidden;' +\n 'height: auto !important;' +\n 'width: auto !important;');\n\n // We need to put the text in a span to make the size calculation\n // work properly in Firefox\n this.rulerSpan_ = this.document_.createElement('span');\n this.rulerSpan_.id = 'hterm:ruler-span-workaround';\n this.rulerSpan_.innerHTML =\n ('X'.repeat(lineLength) + '\\r').repeat(numberOfLines);\n this.ruler_.appendChild(this.rulerSpan_);\n\n this.rulerBaseline_ = this.document_.createElement('span');\n this.rulerSpan_.id = 'hterm:ruler-baseline';\n // We want to collapse it on the baseline\n this.rulerBaseline_.style.fontSize = '0px';\n this.rulerBaseline_.textContent = 'X';\n }\n\n this.rulerSpan_.style.fontWeight = opt_weight || '';\n\n this.rowNodes_.appendChild(this.ruler_);\n var rulerSize = hterm.getClientSize(this.rulerSpan_);\n\n var size = new hterm.Size(rulerSize.width / lineLength,\n rulerSize.height / numberOfLines);\n\n this.ruler_.appendChild(this.rulerBaseline_);\n size.baseline = this.rulerBaseline_.offsetTop;\n this.ruler_.removeChild(this.rulerBaseline_);\n\n this.rowNodes_.removeChild(this.ruler_);\n\n this.div_.ownerDocument.body.appendChild(this.svg_);\n size.zoomFactor = this.svg_.currentScale;\n this.div_.ownerDocument.body.removeChild(this.svg_);\n\n return size;\n};\n\n/**\n * Synchronize the character size.\n *\n * This will re-measure the current character size and adjust the height\n * of an x-row to match.\n */\nhterm.ScrollPort.prototype.syncCharacterSize = function() {\n this.characterSize = this.measureCharacterSize();\n\n this.resize();\n};\n\n/**\n * Reset dimensions and visible row count to account for a change in the\n * dimensions of the 'x-screen'.\n */\nhterm.ScrollPort.prototype.resize = function() {\n this.currentScrollbarWidthPx = hterm.getClientWidth(this.screen_) -\n this.screen_.clientWidth;\n\n this.syncScrollHeight();\n this.syncRowNodesDimensions_();\n\n var self = this;\n this.publish(\n 'resize', { scrollPort: this },\n function() {\n self.scrollRowToBottom(self.rowProvider_.getRowCount());\n self.scheduleRedraw();\n });\n};\n\n/**\n * Set the position and size of the row nodes element.\n */\nhterm.ScrollPort.prototype.syncRowNodesDimensions_ = function() {\n var screenSize = this.getScreenSize();\n\n this.lastScreenWidth_ = screenSize.width;\n this.lastScreenHeight_ = screenSize.height;\n\n // We don't want to show a partial row because it would be distracting\n // in a terminal, so we floor any fractional row count.\n this.visibleRowCount = lib.f.smartFloorDivide(\n screenSize.height, this.characterSize.height);\n\n // Then compute the height of our integral number of rows.\n var visibleRowsHeight = this.visibleRowCount * this.characterSize.height;\n\n // Then the difference between the screen height and total row height needs to\n // be made up for as top margin. We need to record this value so it\n // can be used later to determine the topRowIndex.\n this.visibleRowTopMargin = 0;\n this.visibleRowBottomMargin = screenSize.height - visibleRowsHeight;\n\n this.topFold_.style.marginBottom = this.visibleRowTopMargin + 'px';\n\n\n var topFoldOffset = 0;\n var node = this.topFold_.previousSibling;\n while (node) {\n topFoldOffset += hterm.getClientHeight(node);\n node = node.previousSibling;\n }\n\n // Set the dimensions of the visible rows container.\n this.rowNodes_.style.width = screenSize.width + 'px';\n this.rowNodes_.style.height = visibleRowsHeight + topFoldOffset + 'px';\n this.rowNodes_.style.left = this.screen_.offsetLeft + 'px';\n this.rowNodes_.style.top = this.screen_.offsetTop - topFoldOffset + 'px';\n};\n\nhterm.ScrollPort.prototype.syncScrollHeight = function() {\n // Resize the scroll area to appear as though it contains every row.\n this.lastRowCount_ = this.rowProvider_.getRowCount();\n this.scrollArea_.style.height = (this.characterSize.height *\n this.lastRowCount_ +\n this.visibleRowTopMargin +\n this.visibleRowBottomMargin +\n 'px');\n};\n\n/**\n * Schedule a redraw to happen asynchronously.\n *\n * If this method is called multiple times before the redraw has a chance to\n * run only one redraw occurs.\n */\nhterm.ScrollPort.prototype.scheduleRedraw = function() {\n if (this.timeouts_.redraw)\n return;\n\n var self = this;\n this.timeouts_.redraw = setTimeout(function () {\n delete self.timeouts_.redraw;\n self.redraw_();\n }, 0);\n};\n\n/**\n * Redraw the current hterm.ScrollPort based on the current scrollbar position.\n *\n * When redrawing, we are careful to make sure that the rows that start or end\n * the current selection are not touched in any way. Doing so would disturb\n * the selection, and cleaning up after that would cause flashes at best and\n * incorrect selection at worst. Instead, we modify the DOM around these nodes.\n * We even stash the selection start/end outside of the visible area if\n * they are not supposed to be visible in the hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.redraw_ = function() {\n this.resetSelectBags_();\n this.selection.sync();\n\n this.syncScrollHeight();\n\n this.currentRowNodeCache_ = {};\n\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n this.drawTopFold_(topRowIndex);\n this.drawBottomFold_(bottomRowIndex);\n this.drawVisibleRows_(topRowIndex, bottomRowIndex);\n\n this.syncRowNodesDimensions_();\n\n this.previousRowNodeCache_ = this.currentRowNodeCache_;\n this.currentRowNodeCache_ = null;\n\n this.isScrolledEnd = (\n this.getTopRowIndex() + this.visibleRowCount >= this.lastRowCount_);\n};\n\n/**\n * Ensure that the nodes above the top fold are as they should be.\n *\n * If the selection start and/or end nodes are above the visible range\n * of this hterm.ScrollPort then the dom will be adjusted so that they appear\n * before the top fold (the first x-fold element, aka this.topFold).\n *\n * If not, the top fold will be the first element.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawTopFold_ = function(topRowIndex) {\n if (!this.selection.startRow ||\n this.selection.startRow.rowIndex >= topRowIndex) {\n // Selection is entirely below the top fold, just make sure the fold is\n // the first child.\n if (this.rowNodes_.firstChild != this.topFold_)\n this.rowNodes_.insertBefore(this.topFold_, this.rowNodes_.firstChild);\n\n return;\n }\n\n if (!this.selection.isMultiline ||\n this.selection.endRow.rowIndex >= topRowIndex) {\n // Only the startRow is above the fold.\n if (this.selection.startRow.nextSibling != this.topFold_)\n this.rowNodes_.insertBefore(this.topFold_,\n this.selection.startRow.nextSibling);\n } else {\n // Both rows are above the fold.\n if (this.selection.endRow.nextSibling != this.topFold_) {\n this.rowNodes_.insertBefore(this.topFold_,\n this.selection.endRow.nextSibling);\n }\n\n // Trim any intermediate lines.\n while (this.selection.startRow.nextSibling !=\n this.selection.endRow) {\n this.rowNodes_.removeChild(this.selection.startRow.nextSibling);\n }\n }\n\n while(this.rowNodes_.firstChild != this.selection.startRow) {\n this.rowNodes_.removeChild(this.rowNodes_.firstChild);\n }\n};\n\n/**\n * Ensure that the nodes below the bottom fold are as they should be.\n *\n * If the selection start and/or end nodes are below the visible range\n * of this hterm.ScrollPort then the dom will be adjusted so that they appear\n * after the bottom fold (the second x-fold element, aka this.bottomFold).\n *\n * If not, the bottom fold will be the last element.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawBottomFold_ = function(bottomRowIndex) {\n if (!this.selection.endRow ||\n this.selection.endRow.rowIndex <= bottomRowIndex) {\n // Selection is entirely above the bottom fold, just make sure the fold is\n // the last child.\n if (this.rowNodes_.lastChild != this.bottomFold_)\n this.rowNodes_.appendChild(this.bottomFold_);\n\n return;\n }\n\n if (!this.selection.isMultiline ||\n this.selection.startRow.rowIndex <= bottomRowIndex) {\n // Only the endRow is below the fold.\n if (this.bottomFold_.nextSibling != this.selection.endRow)\n this.rowNodes_.insertBefore(this.bottomFold_,\n this.selection.endRow);\n } else {\n // Both rows are below the fold.\n if (this.bottomFold_.nextSibling != this.selection.startRow) {\n this.rowNodes_.insertBefore(this.bottomFold_,\n this.selection.startRow);\n }\n\n // Trim any intermediate lines.\n while (this.selection.startRow.nextSibling !=\n this.selection.endRow) {\n this.rowNodes_.removeChild(this.selection.startRow.nextSibling);\n }\n }\n\n while(this.rowNodes_.lastChild != this.selection.endRow) {\n this.rowNodes_.removeChild(this.rowNodes_.lastChild);\n }\n};\n\n/**\n * Ensure that the rows between the top and bottom folds are as they should be.\n *\n * This method assumes that drawTopFold_() and drawBottomFold_() have already\n * run, and that they have left any visible selection row (selection start\n * or selection end) between the folds.\n *\n * It recycles DOM nodes from the previous redraw where possible, but will ask\n * the rowSource to make new nodes if necessary.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawVisibleRows_ = function(\n topRowIndex, bottomRowIndex) {\n var self = this;\n\n // Keep removing nodes, starting with currentNode, until we encounter\n // targetNode. Throws on failure.\n function removeUntilNode(currentNode, targetNode) {\n while (currentNode != targetNode) {\n if (!currentNode)\n throw 'Did not encounter target node';\n\n if (currentNode == self.bottomFold_)\n throw 'Encountered bottom fold before target node';\n\n var deadNode = currentNode;\n currentNode = currentNode.nextSibling;\n deadNode.parentNode.removeChild(deadNode);\n }\n }\n\n // Shorthand for things we're going to use a lot.\n var selectionStartRow = this.selection.startRow;\n var selectionEndRow = this.selection.endRow;\n var bottomFold = this.bottomFold_;\n\n // The node we're examining during the current iteration.\n var node = this.topFold_.nextSibling;\n\n var targetDrawCount = Math.min(this.visibleRowCount,\n this.rowProvider_.getRowCount());\n\n for (var drawCount = 0; drawCount < targetDrawCount; drawCount++) {\n var rowIndex = topRowIndex + drawCount;\n\n if (node == bottomFold) {\n // We've hit the bottom fold, we need to insert a new row.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n continue;\n }\n\n if (node.rowIndex == rowIndex) {\n // This node is in the right place, move along.\n node = node.nextSibling;\n continue;\n }\n\n if (selectionStartRow && selectionStartRow.rowIndex == rowIndex) {\n // The selection start row is supposed to be here, remove nodes until\n // we find it.\n removeUntilNode(node, selectionStartRow);\n node = selectionStartRow.nextSibling;\n continue;\n }\n\n if (selectionEndRow && selectionEndRow.rowIndex == rowIndex) {\n // The selection end row is supposed to be here, remove nodes until\n // we find it.\n removeUntilNode(node, selectionEndRow);\n node = selectionEndRow.nextSibling;\n continue;\n }\n\n if (node == selectionStartRow || node == selectionEndRow) {\n // We encountered the start/end of the selection, but we don't want it\n // yet. Insert a new row instead.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n continue;\n }\n\n // There is nothing special about this node, but it's in our way. Replace\n // it with the node that should be here.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n if (node == newNode) {\n node = node.nextSibling;\n continue;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n if (!newNode.nextSibling)\n debugger;\n this.rowNodes_.removeChild(node);\n node = newNode.nextSibling;\n }\n\n if (node != this.bottomFold_)\n removeUntilNode(node, bottomFold);\n};\n\n/**\n * Empty out both select bags and remove them from the document.\n *\n * These nodes hold the text between the start and end of the selection\n * when that text is otherwise off screen. They are filled out in the\n * onCopy_ event.\n */\nhterm.ScrollPort.prototype.resetSelectBags_ = function() {\n if (this.topSelectBag_.parentNode) {\n this.topSelectBag_.textContent = '';\n this.topSelectBag_.parentNode.removeChild(this.topSelectBag_);\n }\n\n if (this.bottomSelectBag_.parentNode) {\n this.bottomSelectBag_.textContent = '';\n this.bottomSelectBag_.parentNode.removeChild(this.bottomSelectBag_);\n }\n};\n\n/**\n * Place a row node in the cache of visible nodes.\n *\n * This method may only be used during a redraw_.\n */\nhterm.ScrollPort.prototype.cacheRowNode_ = function(rowNode) {\n this.currentRowNodeCache_[rowNode.rowIndex] = rowNode;\n};\n\n/**\n * Fetch the row node for the given index.\n *\n * This will return a node from the cache if possible, or will request one\n * from the RowProvider if not.\n *\n * If a redraw_ is in progress the row will be added to the current cache.\n */\nhterm.ScrollPort.prototype.fetchRowNode_ = function(rowIndex) {\n var node;\n\n if (this.previousRowNodeCache_ && rowIndex in this.previousRowNodeCache_) {\n node = this.previousRowNodeCache_[rowIndex];\n } else {\n node = this.rowProvider_.getRowNode(rowIndex);\n }\n\n if (this.currentRowNodeCache_)\n this.cacheRowNode_(node);\n\n return node;\n};\n\n/**\n * Select all rows in the viewport.\n */\nhterm.ScrollPort.prototype.selectAll = function() {\n var firstRow;\n\n if (this.topFold_.nextSibling.rowIndex != 0) {\n while (this.topFold_.previousSibling) {\n this.rowNodes_.removeChild(this.topFold_.previousSibling);\n }\n\n firstRow = this.fetchRowNode_(0);\n this.rowNodes_.insertBefore(firstRow, this.topFold_);\n this.syncRowNodesDimensions_();\n } else {\n firstRow = this.topFold_.nextSibling;\n }\n\n var lastRowIndex = this.rowProvider_.getRowCount() - 1;\n var lastRow;\n\n if (this.bottomFold_.previousSibling.rowIndex != lastRowIndex) {\n while (this.bottomFold_.nextSibling) {\n this.rowNodes_.removeChild(this.bottomFold_.nextSibling);\n }\n\n lastRow = this.fetchRowNode_(lastRowIndex);\n this.rowNodes_.appendChild(lastRow);\n } else {\n lastRow = this.bottomFold_.previousSibling.rowIndex;\n }\n\n var selection = this.document_.getSelection();\n selection.collapse(firstRow, 0);\n selection.extend(lastRow, lastRow.childNodes.length);\n\n this.selection.sync();\n};\n\n/**\n * Return the maximum scroll position in pixels.\n */\nhterm.ScrollPort.prototype.getScrollMax_ = function(e) {\n return (hterm.getClientHeight(this.scrollArea_) +\n this.visibleRowTopMargin + this.visibleRowBottomMargin -\n hterm.getClientHeight(this.screen_));\n};\n\n/**\n * Scroll the given rowIndex to the top of the hterm.ScrollPort.\n *\n * @param {integer} rowIndex Index of the target row.\n */\nhterm.ScrollPort.prototype.scrollRowToTop = function(rowIndex) {\n this.syncScrollHeight();\n\n this.isScrolledEnd = (\n rowIndex + this.visibleRowCount >= this.lastRowCount_);\n\n var scrollTop = rowIndex * this.characterSize.height +\n this.visibleRowTopMargin;\n\n var scrollMax = this.getScrollMax_();\n if (scrollTop > scrollMax)\n scrollTop = scrollMax;\n\n if (this.screen_.scrollTop == scrollTop)\n return;\n\n this.screen_.scrollTop = scrollTop;\n this.scheduleRedraw();\n};\n\n/**\n * Scroll the given rowIndex to the bottom of the hterm.ScrollPort.\n *\n * @param {integer} rowIndex Index of the target row.\n */\nhterm.ScrollPort.prototype.scrollRowToBottom = function(rowIndex) {\n this.syncScrollHeight();\n\n this.isScrolledEnd = (\n rowIndex + this.visibleRowCount >= this.lastRowCount_);\n\n var scrollTop = rowIndex * this.characterSize.height +\n this.visibleRowTopMargin + this.visibleRowBottomMargin;\n scrollTop -= this.visibleRowCount * this.characterSize.height;\n\n if (scrollTop < 0)\n scrollTop = 0;\n\n if (this.screen_.scrollTop == scrollTop)\n return;\n\n this.screen_.scrollTop = scrollTop;\n};\n\n/**\n * Return the row index of the first visible row.\n *\n * This is based on the scroll position. If a redraw_ is in progress this\n * returns the row that *should* be at the top.\n */\nhterm.ScrollPort.prototype.getTopRowIndex = function() {\n return Math.round(this.screen_.scrollTop / this.characterSize.height);\n};\n\n/**\n * Return the row index of the last visible row.\n *\n * This is based on the scroll position. If a redraw_ is in progress this\n * returns the row that *should* be at the bottom.\n */\nhterm.ScrollPort.prototype.getBottomRowIndex = function(topRowIndex) {\n return topRowIndex + this.visibleRowCount - 1;\n};\n\n/**\n * Handler for scroll events.\n *\n * The onScroll event fires when scrollArea's scrollTop property changes. This\n * may be due to the user manually move the scrollbar, or a programmatic change.\n */\nhterm.ScrollPort.prototype.onScroll_ = function(e) {\n var screenSize = this.getScreenSize();\n if (screenSize.width != this.lastScreenWidth_ ||\n screenSize.height != this.lastScreenHeight_) {\n // This event may also fire during a resize (but before the resize event!).\n // This happens when the browser moves the scrollbar as part of the resize.\n // In these cases, we want to ignore the scroll event and let onResize\n // handle things. If we don't, then we end up scrolling to the wrong\n // position after a resize.\n this.resize();\n return;\n }\n\n this.redraw_();\n this.publish('scroll', { scrollPort: this });\n};\n\n/**\n * Clients can override this if they want to hear scrollwheel events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onScrollWheel = function(e) {};\n\n/**\n * Handler for scroll-wheel events.\n *\n * The onScrollWheel event fires when the user moves their scrollwheel over this\n * hterm.ScrollPort. Because the frontmost element in the hterm.ScrollPort is\n * a fixed position DIV, the scroll wheel does nothing by default. Instead, we\n * have to handle it manually.\n */\nhterm.ScrollPort.prototype.onScrollWheel_ = function(e) {\n this.onScrollWheel(e);\n\n if (e.defaultPrevented)\n return;\n\n // Figure out how far this event wants us to scroll.\n var delta = this.scrollWheelDelta(e);\n\n var top = this.screen_.scrollTop - delta;\n if (top < 0)\n top = 0;\n\n var scrollMax = this.getScrollMax_();\n if (top > scrollMax)\n top = scrollMax;\n\n if (top != this.screen_.scrollTop) {\n // Moving scrollTop causes a scroll event, which triggers the redraw.\n this.screen_.scrollTop = top;\n\n // Only preventDefault when we've actually scrolled. If there's nothing\n // to scroll we want to pass the event through so Chrome can detect the\n // overscroll.\n e.preventDefault();\n }\n};\n\n/**\n * Calculate how far a wheel event should scroll.\n *\n * @param {WheelEvent} e The mouse wheel event to process.\n * @return {number} How far (in pixels) to scroll.\n */\nhterm.ScrollPort.prototype.scrollWheelDelta = function(e) {\n var delta;\n\n switch (e.deltaMode) {\n case WheelEvent.DOM_DELTA_PIXEL:\n delta = e.deltaY * this.scrollWheelMultiplier_;\n break;\n case WheelEvent.DOM_DELTA_LINE:\n delta = e.deltaY * this.characterSize.height;\n break;\n case WheelEvent.DOM_DELTA_PAGE:\n delta = e.deltaY * this.characterSize.height * this.screen_.getHeight();\n break;\n }\n\n // The sign is inverted from what we would expect.\n return delta * -1;\n};\n\n\n/**\n * Clients can override this if they want to hear touch events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onTouch = function(e) {};\n\n/**\n * Handler for touch events.\n */\nhterm.ScrollPort.prototype.onTouch_ = function(e) {\n this.onTouch(e);\n\n if (e.defaultPrevented)\n return;\n\n // Extract the fields from the Touch event that we need. If we saved the\n // event directly, it has references to other objects (like x-row) that\n // might stick around for a long time. This way we only have small objects\n // in our lastTouch_ state.\n var scrubTouch = function(t) {\n return {\n id: t.identifier,\n y: t.clientY,\n x: t.clientX,\n };\n };\n\n var i, touch;\n switch (e.type) {\n case 'touchstart':\n // Save the current set of touches.\n for (i = 0; i < e.changedTouches.length; ++i) {\n touch = scrubTouch(e.changedTouches[i]);\n this.lastTouch_[touch.id] = touch;\n }\n break;\n\n case 'touchcancel':\n case 'touchend':\n // Throw away existing touches that we're finished with.\n for (i = 0; i < e.changedTouches.length; ++i)\n delete this.lastTouch_[e.changedTouches[i].identifier];\n break;\n\n case 'touchmove':\n // Walk all of the touches in this one event and merge all of their\n // changes into one delta. This lets multiple fingers scroll faster.\n var delta = 0;\n for (i = 0; i < e.changedTouches.length; ++i) {\n touch = scrubTouch(e.changedTouches[i]);\n delta += (this.lastTouch_[touch.id].y - touch.y);\n this.lastTouch_[touch.id] = touch;\n }\n\n // Invert to match the touchscreen scrolling direction of browser windows.\n delta *= -1;\n\n var top = this.screen_.scrollTop - delta;\n if (top < 0)\n top = 0;\n\n var scrollMax = this.getScrollMax_();\n if (top > scrollMax)\n top = scrollMax;\n\n if (top != this.screen_.scrollTop) {\n // Moving scrollTop causes a scroll event, which triggers the redraw.\n this.screen_.scrollTop = top;\n }\n break;\n }\n\n // To disable gestures or anything else interfering with our scrolling.\n e.preventDefault();\n};\n\n/**\n * Handler for resize events.\n *\n * The browser will resize us such that the top row stays at the top, but we\n * prefer to the bottom row to stay at the bottom.\n */\nhterm.ScrollPort.prototype.onResize_ = function(e) {\n // Re-measure, since onResize also happens for browser zoom changes.\n this.syncCharacterSize();\n this.resize();\n};\n\n/**\n * Clients can override this if they want to hear copy events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onCopy = function(e) { };\n\n/**\n * Handler for copy-to-clipboard events.\n *\n * If some or all of the selected rows are off screen we may need to fill in\n * the rows between selection start and selection end. This handler determines\n * if we're missing some of the selected text, and if so populates one or both\n * of the \"select bags\" with the missing text.\n */\nhterm.ScrollPort.prototype.onCopy_ = function(e) {\n this.onCopy(e);\n\n if (e.defaultPrevented)\n return;\n\n this.resetSelectBags_();\n this.selection.sync();\n\n if (!this.selection.startRow ||\n this.selection.endRow.rowIndex - this.selection.startRow.rowIndex < 2) {\n return;\n }\n\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n if (this.selection.startRow.rowIndex < topRowIndex) {\n // Start of selection is above the top fold.\n var endBackfillIndex;\n\n if (this.selection.endRow.rowIndex < topRowIndex) {\n // Entire selection is above the top fold.\n endBackfillIndex = this.selection.endRow.rowIndex;\n } else {\n // Selection extends below the top fold.\n endBackfillIndex = this.topFold_.nextSibling.rowIndex;\n }\n\n this.topSelectBag_.textContent = this.rowProvider_.getRowsText(\n this.selection.startRow.rowIndex + 1, endBackfillIndex);\n this.rowNodes_.insertBefore(this.topSelectBag_,\n this.selection.startRow.nextSibling);\n this.syncRowNodesDimensions_();\n }\n\n if (this.selection.endRow.rowIndex > bottomRowIndex) {\n // Selection ends below the bottom fold.\n var startBackfillIndex;\n\n if (this.selection.startRow.rowIndex > bottomRowIndex) {\n // Entire selection is below the bottom fold.\n startBackfillIndex = this.selection.startRow.rowIndex + 1;\n } else {\n // Selection starts above the bottom fold.\n startBackfillIndex = this.bottomFold_.previousSibling.rowIndex + 1;\n }\n\n this.bottomSelectBag_.textContent = this.rowProvider_.getRowsText(\n startBackfillIndex, this.selection.endRow.rowIndex);\n this.rowNodes_.insertBefore(this.bottomSelectBag_, this.selection.endRow);\n }\n};\n\n/**\n * Focuses on the paste target on a ctrl-v keydown event, as in\n * FF a content editable element must be focused before the paste event.\n */\nhterm.ScrollPort.prototype.onBodyKeyDown_ = function(e) {\n if (!this.ctrlVPaste)\n return;\n\n var key = String.fromCharCode(e.which);\n var lowerKey = key.toLowerCase();\n if ((e.ctrlKey || e.metaKey) && lowerKey == \"v\")\n this.pasteTarget_.focus();\n};\n\n/**\n * Handle a paste event on the the ScrollPort's screen element.\n */\nhterm.ScrollPort.prototype.onPaste_ = function(e) {\n this.pasteTarget_.focus();\n\n var self = this;\n setTimeout(function() {\n self.publish('paste', { text: self.pasteTarget_.value });\n self.pasteTarget_.value = '';\n self.screen_.focus();\n }, 0);\n};\n\n/**\n * Handles a textInput event on the paste target. Stops this from\n * propagating as we want this to be handled in the onPaste_ method.\n */\nhterm.ScrollPort.prototype.handlePasteTargetTextInput_ = function(e) {\n e.stopPropagation();\n};\n\n/**\n * Set the vertical scrollbar mode of the ScrollPort.\n */\nhterm.ScrollPort.prototype.setScrollbarVisible = function(state) {\n this.screen_.style.overflowY = state ? 'scroll' : 'hidden';\n};\n\n/**\n * Set scroll wheel multiplier. This alters how much the screen scrolls on\n * mouse wheel events.\n */\nhterm.ScrollPort.prototype.setScrollWheelMoveMultipler = function(multiplier) {\n this.scrollWheelMultiplier_ = multiplier;\n};\n// SOURCE FILE: hterm/js/hterm_terminal.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors', 'lib.PreferenceManager', 'lib.resource', 'lib.wc',\n 'lib.f', 'hterm.Keyboard', 'hterm.Options', 'hterm.PreferenceManager',\n 'hterm.Screen', 'hterm.ScrollPort', 'hterm.Size',\n 'hterm.TextAttributes', 'hterm.VT');\n\n/**\n * Constructor for the Terminal class.\n *\n * A Terminal pulls together the hterm.ScrollPort, hterm.Screen and hterm.VT100\n * classes to provide the complete terminal functionality.\n *\n * There are a number of lower-level Terminal methods that can be called\n * directly to manipulate the cursor, text, scroll region, and other terminal\n * attributes. However, the primary method is interpret(), which parses VT\n * escape sequences and invokes the appropriate Terminal methods.\n *\n * This class was heavily influenced by Cory Maccarrone's Framebuffer class.\n *\n * TODO(rginda): Eventually we're going to need to support characters which are\n * displayed twice as wide as standard latin characters. This is to support\n * CJK (and possibly other character sets).\n *\n * @param {string} opt_profileId Optional preference profile name. If not\n * provided, defaults to 'default'.\n */\nhterm.Terminal = function(opt_profileId) {\n this.profileId_ = null;\n\n // Two screen instances.\n this.primaryScreen_ = new hterm.Screen();\n this.alternateScreen_ = new hterm.Screen();\n\n // The \"current\" screen.\n this.screen_ = this.primaryScreen_;\n\n // The local notion of the screen size. ScreenBuffers also have a size which\n // indicates their present size. During size changes, the two may disagree.\n // Also, the inactive screen's size is not altered until it is made the active\n // screen.\n this.screenSize = new hterm.Size(0, 0);\n\n // The scroll port we'll be using to display the visible rows.\n this.scrollPort_ = new hterm.ScrollPort(this);\n this.scrollPort_.subscribe('resize', this.onResize_.bind(this));\n this.scrollPort_.subscribe('scroll', this.onScroll_.bind(this));\n this.scrollPort_.subscribe('paste', this.onPaste_.bind(this));\n this.scrollPort_.onCopy = this.onCopy_.bind(this);\n\n // The div that contains this terminal.\n this.div_ = null;\n\n // The document that contains the scrollPort. Defaulted to the global\n // document here so that the terminal is functional even if it hasn't been\n // inserted into a document yet, but re-set in decorate().\n this.document_ = window.document;\n\n // The rows that have scrolled off screen and are no longer addressable.\n this.scrollbackRows_ = [];\n\n // Saved tab stops.\n this.tabStops_ = [];\n\n // Keep track of whether default tab stops have been erased; after a TBC\n // clears all tab stops, defaults aren't restored on resize until a reset.\n this.defaultTabStops = true;\n\n // The VT's notion of the top and bottom rows. Used during some VT\n // cursor positioning and scrolling commands.\n this.vtScrollTop_ = null;\n this.vtScrollBottom_ = null;\n\n // The DIV element for the visible cursor.\n this.cursorNode_ = null;\n\n // The current cursor shape of the terminal.\n this.cursorShape_ = hterm.Terminal.cursorShape.BLOCK;\n\n // The current color of the cursor.\n this.cursorColor_ = null;\n\n // Cursor blink on/off cycle in ms, overwritten by prefs once they're loaded.\n this.cursorBlinkCycle_ = [100, 100];\n\n // Pre-bound onCursorBlink_ handler, so we don't have to do this for each\n // cursor on/off servicing.\n this.myOnCursorBlink_ = this.onCursorBlink_.bind(this);\n\n // These prefs are cached so we don't have to read from local storage with\n // each output and keystroke. They are initialized by the preference manager.\n this.backgroundColor_ = null;\n this.foregroundColor_ = null;\n this.scrollOnOutput_ = null;\n this.scrollOnKeystroke_ = null;\n this.scrollWheelArrowKeys_ = null;\n\n // True if we should override mouse event reporting to allow local selection.\n this.defeatMouseReports_ = false;\n\n // Terminal bell sound.\n this.bellAudio_ = this.document_.createElement('audio');\n this.bellAudio_.id = 'hterm:bell-audio';\n this.bellAudio_.setAttribute('preload', 'auto');\n\n // All terminal bell notifications that have been generated (not necessarily\n // shown).\n this.bellNotificationList_ = [];\n\n // Whether we have permission to display notifications.\n this.desktopNotificationBell_ = false;\n\n // Cursor position and attributes saved with DECSC.\n this.savedOptions_ = {};\n\n // The current mode bits for the terminal.\n this.options_ = new hterm.Options();\n\n // Timeouts we might need to clear.\n this.timeouts_ = {};\n\n // The VT escape sequence interpreter.\n this.vt = new hterm.VT(this);\n\n // The keyboard handler.\n this.keyboard = new hterm.Keyboard(this);\n\n // General IO interface that can be given to third parties without exposing\n // the entire terminal object.\n this.io = new hterm.Terminal.IO(this);\n\n // True if mouse-click-drag should scroll the terminal.\n this.enableMouseDragScroll = true;\n\n this.copyOnSelect = null;\n this.mouseRightClickPaste = null;\n this.mousePasteButton = null;\n\n // Whether to use the default window copy behavior.\n this.useDefaultWindowCopy = false;\n\n this.clearSelectionAfterCopy = true;\n\n this.realizeSize_(80, 24);\n this.setDefaultTabStops();\n\n this.setProfile(opt_profileId || 'default',\n function() { this.onTerminalReady(); }.bind(this));\n};\n\n/**\n * Possible cursor shapes.\n */\nhterm.Terminal.cursorShape = {\n BLOCK: 'BLOCK',\n BEAM: 'BEAM',\n UNDERLINE: 'UNDERLINE'\n};\n\n/**\n * Clients should override this to be notified when the terminal is ready\n * for use.\n *\n * The terminal initialization is asynchronous, and shouldn't be used before\n * this method is called.\n */\nhterm.Terminal.prototype.onTerminalReady = function() { };\n\n/**\n * Default tab with of 8 to match xterm.\n */\nhterm.Terminal.prototype.tabWidth = 8;\n\n/**\n * Select a preference profile.\n *\n * This will load the terminal preferences for the given profile name and\n * associate subsequent preference changes with the new preference profile.\n *\n * @param {string} profileId The name of the preference profile. Forward slash\n * characters will be removed from the name.\n * @param {function} opt_callback Optional callback to invoke when the profile\n * transition is complete.\n */\nhterm.Terminal.prototype.setProfile = function(profileId, opt_callback) {\n this.profileId_ = profileId.replace(/\\//g, '');\n\n var terminal = this;\n\n if (this.prefs_)\n this.prefs_.deactivate();\n\n this.prefs_ = new hterm.PreferenceManager(this.profileId_);\n this.prefs_.addObservers(null, {\n 'alt-gr-mode': function(v) {\n if (v == null) {\n if (navigator.language.toLowerCase() == 'en-us') {\n v = 'none';\n } else {\n v = 'right-alt';\n }\n } else if (typeof v == 'string') {\n v = v.toLowerCase();\n } else {\n v = 'none';\n }\n\n if (!/^(none|ctrl-alt|left-alt|right-alt)$/.test(v))\n v = 'none';\n\n terminal.keyboard.altGrMode = v;\n },\n\n 'alt-backspace-is-meta-backspace': function(v) {\n terminal.keyboard.altBackspaceIsMetaBackspace = v;\n },\n\n 'alt-is-meta': function(v) {\n terminal.keyboard.altIsMeta = v;\n },\n\n 'alt-sends-what': function(v) {\n if (!/^(escape|8-bit|browser-key)$/.test(v))\n v = 'escape';\n\n terminal.keyboard.altSendsWhat = v;\n },\n\n 'audible-bell-sound': function(v) {\n var ary = v.match(/^lib-resource:(\\S+)/);\n if (ary) {\n terminal.bellAudio_.setAttribute('src',\n lib.resource.getDataUrl(ary[1]));\n } else {\n terminal.bellAudio_.setAttribute('src', v);\n }\n },\n\n 'desktop-notification-bell': function(v) {\n if (v && Notification) {\n terminal.desktopNotificationBell_ =\n Notification.permission === 'granted';\n if (!terminal.desktopNotificationBell_) {\n // Note: We don't call Notification.requestPermission here because\n // Chrome requires the call be the result of a user action (such as an\n // onclick handler), and pref listeners are run asynchronously.\n //\n // A way of working around this would be to display a dialog in the\n // terminal with a \"click-to-request-permission\" button.\n console.warn('desktop-notification-bell is true but we do not have ' +\n 'permission to display notifications.');\n }\n } else {\n terminal.desktopNotificationBell_ = false;\n }\n },\n\n 'background-color': function(v) {\n terminal.setBackgroundColor(v);\n },\n\n 'background-image': function(v) {\n terminal.scrollPort_.setBackgroundImage(v);\n },\n\n 'background-size': function(v) {\n terminal.scrollPort_.setBackgroundSize(v);\n },\n\n 'background-position': function(v) {\n terminal.scrollPort_.setBackgroundPosition(v);\n },\n\n 'backspace-sends-backspace': function(v) {\n terminal.keyboard.backspaceSendsBackspace = v;\n },\n\n 'character-map-overrides': function(v) {\n if (!(v == null || v instanceof Object)) {\n console.warn('Preference character-map-modifications is not an ' +\n 'object: ' + v);\n return;\n }\n\n terminal.vt.characterMaps.reset();\n terminal.vt.characterMaps.setOverrides(v);\n },\n\n 'cursor-blink': function(v) {\n terminal.setCursorBlink(!!v);\n },\n\n 'cursor-blink-cycle': function(v) {\n if (v instanceof Array &&\n typeof v[0] == 'number' &&\n typeof v[1] == 'number') {\n terminal.cursorBlinkCycle_ = v;\n } else if (typeof v == 'number') {\n terminal.cursorBlinkCycle_ = [v, v];\n } else {\n // Fast blink indicates an error.\n terminal.cursorBlinkCycle_ = [100, 100];\n }\n },\n\n 'cursor-color': function(v) {\n terminal.setCursorColor(v);\n },\n\n 'color-palette-overrides': function(v) {\n if (!(v == null || v instanceof Object || v instanceof Array)) {\n console.warn('Preference color-palette-overrides is not an array or ' +\n 'object: ' + v);\n return;\n }\n\n lib.colors.colorPalette = lib.colors.stockColorPalette.concat();\n\n if (v) {\n for (var key in v) {\n var i = parseInt(key);\n if (isNaN(i) || i < 0 || i > 255) {\n console.log('Invalid value in palette: ' + key + ': ' + v[key]);\n continue;\n }\n\n if (v[i]) {\n var rgb = lib.colors.normalizeCSS(v[i]);\n if (rgb)\n lib.colors.colorPalette[i] = rgb;\n }\n }\n }\n\n terminal.primaryScreen_.textAttributes.resetColorPalette();\n terminal.alternateScreen_.textAttributes.resetColorPalette();\n },\n\n 'copy-on-select': function(v) {\n terminal.copyOnSelect = !!v;\n },\n\n 'use-default-window-copy': function(v) {\n terminal.useDefaultWindowCopy = !!v;\n },\n\n 'clear-selection-after-copy': function(v) {\n terminal.clearSelectionAfterCopy = !!v;\n },\n\n 'ctrl-plus-minus-zero-zoom': function(v) {\n terminal.keyboard.ctrlPlusMinusZeroZoom = v;\n },\n\n 'ctrl-c-copy': function(v) {\n terminal.keyboard.ctrlCCopy = v;\n },\n\n 'ctrl-v-paste': function(v) {\n terminal.keyboard.ctrlVPaste = v;\n terminal.scrollPort_.setCtrlVPaste(v);\n },\n\n 'east-asian-ambiguous-as-two-column': function(v) {\n lib.wc.regardCjkAmbiguous = v;\n },\n\n 'enable-8-bit-control': function(v) {\n terminal.vt.enable8BitControl = !!v;\n },\n\n 'enable-bold': function(v) {\n terminal.syncBoldSafeState();\n },\n\n 'enable-bold-as-bright': function(v) {\n terminal.primaryScreen_.textAttributes.enableBoldAsBright = !!v;\n terminal.alternateScreen_.textAttributes.enableBoldAsBright = !!v;\n },\n\n 'enable-blink': function(v) {\n terminal.syncBlinkState();\n },\n\n 'enable-clipboard-write': function(v) {\n terminal.vt.enableClipboardWrite = !!v;\n },\n\n 'enable-dec12': function(v) {\n terminal.vt.enableDec12 = !!v;\n },\n\n 'font-family': function(v) {\n terminal.syncFontFamily();\n },\n\n 'font-size': function(v) {\n terminal.setFontSize(v);\n },\n\n 'font-smoothing': function(v) {\n terminal.syncFontFamily();\n },\n\n 'foreground-color': function(v) {\n terminal.setForegroundColor(v);\n },\n\n 'home-keys-scroll': function(v) {\n terminal.keyboard.homeKeysScroll = v;\n },\n\n 'keybindings': function(v) {\n terminal.keyboard.bindings.clear();\n\n if (!v)\n return;\n\n if (!(v instanceof Object)) {\n console.error('Error in keybindings preference: Expected object');\n return;\n }\n\n try {\n terminal.keyboard.bindings.addBindings(v);\n } catch (ex) {\n console.error('Error in keybindings preference: ' + ex);\n }\n },\n\n 'max-string-sequence': function(v) {\n terminal.vt.maxStringSequence = v;\n },\n\n 'media-keys-are-fkeys': function(v) {\n terminal.keyboard.mediaKeysAreFKeys = v;\n },\n\n 'meta-sends-escape': function(v) {\n terminal.keyboard.metaSendsEscape = v;\n },\n\n 'mouse-right-click-paste': function(v) {\n terminal.mouseRightClickPaste = v;\n },\n\n 'mouse-paste-button': function(v) {\n terminal.syncMousePasteButton();\n },\n\n 'page-keys-scroll': function(v) {\n terminal.keyboard.pageKeysScroll = v;\n },\n\n 'pass-alt-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Alt-1..9 pass to the browser (to control tab switching) on\n // non-OS X systems, or if hterm is not opened in an app window.\n v = (!osx && hterm.windowType != 'popup');\n }\n\n terminal.passAltNumber = v;\n },\n\n 'pass-ctrl-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Ctrl-1..9 pass to the browser (to control tab switching) on\n // non-OS X systems, or if hterm is not opened in an app window.\n v = (!osx && hterm.windowType != 'popup');\n }\n\n terminal.passCtrlNumber = v;\n },\n\n 'pass-meta-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Meta-1..9 pass to the browser (to control tab switching) on\n // OS X systems, or if hterm is not opened in an app window.\n v = (osx && hterm.windowType != 'popup');\n }\n\n terminal.passMetaNumber = v;\n },\n\n 'pass-meta-v': function(v) {\n terminal.keyboard.passMetaV = v;\n },\n\n 'receive-encoding': function(v) {\n if (!(/^(utf-8|raw)$/).test(v)) {\n console.warn('Invalid value for \"receive-encoding\": ' + v);\n v = 'utf-8';\n }\n\n terminal.vt.characterEncoding = v;\n },\n\n 'scroll-on-keystroke': function(v) {\n terminal.scrollOnKeystroke_ = v;\n },\n\n 'scroll-on-output': function(v) {\n terminal.scrollOnOutput_ = v;\n },\n\n 'scrollbar-visible': function(v) {\n terminal.setScrollbarVisible(v);\n },\n\n 'scroll-wheel-may-send-arrow-keys': function(v) {\n terminal.scrollWheelArrowKeys_ = v;\n },\n\n 'scroll-wheel-move-multiplier': function(v) {\n terminal.setScrollWheelMoveMultipler(v);\n },\n\n 'send-encoding': function(v) {\n if (!(/^(utf-8|raw)$/).test(v)) {\n console.warn('Invalid value for \"send-encoding\": ' + v);\n v = 'utf-8';\n }\n\n terminal.keyboard.characterEncoding = v;\n },\n\n 'shift-insert-paste': function(v) {\n terminal.keyboard.shiftInsertPaste = v;\n },\n\n 'terminal-encoding': function(v) {\n terminal.vt.setEncoding(v);\n },\n\n 'user-css': function(v) {\n terminal.scrollPort_.setUserCssUrl(v);\n },\n\n 'user-css-text': function(v) {\n terminal.scrollPort_.setUserCssText(v);\n },\n\n 'word-break-match-left': function(v) {\n terminal.primaryScreen_.wordBreakMatchLeft = v;\n terminal.alternateScreen_.wordBreakMatchLeft = v;\n },\n\n 'word-break-match-right': function(v) {\n terminal.primaryScreen_.wordBreakMatchRight = v;\n terminal.alternateScreen_.wordBreakMatchRight = v;\n },\n\n 'word-break-match-middle': function(v) {\n terminal.primaryScreen_.wordBreakMatchMiddle = v;\n terminal.alternateScreen_.wordBreakMatchMiddle = v;\n },\n });\n\n this.prefs_.readStorage(function() {\n this.prefs_.notifyAll();\n\n if (opt_callback)\n opt_callback();\n }.bind(this));\n};\n\n\n/**\n * Returns the preferences manager used for configuring this terminal.\n *\n * @return {hterm.PreferenceManager}\n */\nhterm.Terminal.prototype.getPrefs = function() {\n return this.prefs_;\n};\n\n/**\n * Enable or disable bracketed paste mode.\n *\n * @param {boolean} state The value to set.\n */\nhterm.Terminal.prototype.setBracketedPaste = function(state) {\n this.options_.bracketedPaste = state;\n};\n\n/**\n * Set the color for the cursor.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setCursorColor = function(color) {\n this.cursorColor_ = color;\n this.cursorNode_.style.backgroundColor = color;\n this.cursorNode_.style.borderColor = color;\n};\n\n/**\n * Return the current cursor color as a string.\n * @return {string}\n */\nhterm.Terminal.prototype.getCursorColor = function() {\n return this.cursorColor_;\n};\n\n/**\n * Enable or disable mouse based text selection in the terminal.\n *\n * @param {boolean} state The value to set.\n */\nhterm.Terminal.prototype.setSelectionEnabled = function(state) {\n this.enableMouseDragScroll = state;\n};\n\n/**\n * Set the background color.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setBackgroundColor = function(color) {\n this.backgroundColor_ = lib.colors.normalizeCSS(color);\n this.primaryScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.alternateScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.scrollPort_.setBackgroundColor(color);\n};\n\n/**\n * Return the current terminal background color.\n *\n * Intended for use by other classes, so we don't have to expose the entire\n * prefs_ object.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getBackgroundColor = function() {\n return this.backgroundColor_;\n};\n\n/**\n * Set the foreground color.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setForegroundColor = function(color) {\n this.foregroundColor_ = lib.colors.normalizeCSS(color);\n this.primaryScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.alternateScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.scrollPort_.setForegroundColor(color);\n};\n\n/**\n * Return the current terminal foreground color.\n *\n * Intended for use by other classes, so we don't have to expose the entire\n * prefs_ object.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getForegroundColor = function() {\n return this.foregroundColor_;\n};\n\n/**\n * Create a new instance of a terminal command and run it with a given\n * argument string.\n *\n * @param {function} commandClass The constructor for a terminal command.\n * @param {string} argString The argument string to pass to the command.\n */\nhterm.Terminal.prototype.runCommandClass = function(commandClass, argString) {\n var environment = this.prefs_.get('environment');\n if (typeof environment != 'object' || environment == null)\n environment = {};\n\n var self = this;\n this.command = new commandClass(\n { argString: argString || '',\n io: this.io.push(),\n environment: environment,\n onExit: function(code) {\n self.io.pop();\n self.uninstallKeyboard();\n if (self.prefs_.get('close-on-exit'))\n window.close();\n }\n });\n\n this.installKeyboard();\n this.command.run();\n};\n\n/**\n * Returns true if the current screen is the primary screen, false otherwise.\n *\n * @return {boolean}\n */\nhterm.Terminal.prototype.isPrimaryScreen = function() {\n return this.screen_ == this.primaryScreen_;\n};\n\n/**\n * Install the keyboard handler for this terminal.\n *\n * This will prevent the browser from seeing any keystrokes sent to the\n * terminal.\n */\nhterm.Terminal.prototype.installKeyboard = function() {\n this.keyboard.installKeyboard(this.scrollPort_.getDocument().body);\n}\n\n/**\n * Uninstall the keyboard handler for this terminal.\n */\nhterm.Terminal.prototype.uninstallKeyboard = function() {\n this.keyboard.installKeyboard(null);\n}\n\n/**\n * Set a CSS variable.\n *\n * Normally this is used to set variables in the hterm namespace.\n *\n * @param {string} name The variable to set.\n * @param {string} value The value to assign to the variable.\n * @param {string?} opt_prefix The variable namespace/prefix to use.\n */\nhterm.Terminal.prototype.setCssVar = function(name, value,\n opt_prefix='--hterm-') {\n this.document_.documentElement.style.setProperty(\n `${opt_prefix}${name}`, value);\n};\n\n/**\n * Set the font size for this terminal.\n *\n * Call setFontSize(0) to reset to the default font size.\n *\n * This function does not modify the font-size preference.\n *\n * @param {number} px The desired font size, in pixels.\n */\nhterm.Terminal.prototype.setFontSize = function(px) {\n if (px === 0)\n px = this.prefs_.get('font-size');\n\n this.scrollPort_.setFontSize(px);\n this.setCssVar('charsize-width', this.scrollPort_.characterSize.width + 'px');\n this.setCssVar('charsize-height',\n this.scrollPort_.characterSize.height + 'px');\n};\n\n/**\n * Get the current font size.\n *\n * @return {number}\n */\nhterm.Terminal.prototype.getFontSize = function() {\n return this.scrollPort_.getFontSize();\n};\n\n/**\n * Get the current font family.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getFontFamily = function() {\n return this.scrollPort_.getFontFamily();\n};\n\n/**\n * Set the CSS \"font-family\" for this terminal.\n */\nhterm.Terminal.prototype.syncFontFamily = function() {\n this.scrollPort_.setFontFamily(this.prefs_.get('font-family'),\n this.prefs_.get('font-smoothing'));\n this.syncBoldSafeState();\n};\n\n/**\n * Set this.mousePasteButton based on the mouse-paste-button pref,\n * autodetecting if necessary.\n */\nhterm.Terminal.prototype.syncMousePasteButton = function() {\n var button = this.prefs_.get('mouse-paste-button');\n if (typeof button == 'number') {\n this.mousePasteButton = button;\n return;\n }\n\n var ary = navigator.userAgent.match(/\\(X11;\\s+(\\S+)/);\n if (!ary || ary[1] == 'CrOS') {\n this.mousePasteButton = 1; // Middle mouse button.\n } else {\n this.mousePasteButton = 2; // Right mouse button.\n }\n};\n\n/**\n * Enable or disable bold based on the enable-bold pref, autodetecting if\n * necessary.\n */\nhterm.Terminal.prototype.syncBoldSafeState = function() {\n var enableBold = this.prefs_.get('enable-bold');\n if (enableBold !== null) {\n this.primaryScreen_.textAttributes.enableBold = enableBold;\n this.alternateScreen_.textAttributes.enableBold = enableBold;\n return;\n }\n\n var normalSize = this.scrollPort_.measureCharacterSize();\n var boldSize = this.scrollPort_.measureCharacterSize('bold');\n\n var isBoldSafe = normalSize.equals(boldSize);\n if (!isBoldSafe) {\n console.warn('Bold characters disabled: Size of bold weight differs ' +\n 'from normal. Font family is: ' +\n this.scrollPort_.getFontFamily());\n }\n\n this.primaryScreen_.textAttributes.enableBold = isBoldSafe;\n this.alternateScreen_.textAttributes.enableBold = isBoldSafe;\n};\n\n/**\n * Enable or disable blink based on the enable-blink pref.\n */\nhterm.Terminal.prototype.syncBlinkState = function() {\n this.setCssVar('node-duration',\n this.prefs_.get('enable-blink') ? '0.7s' : '0');\n};\n\n/**\n * Set the mouse cursor style based on the current terminal mode.\n */\nhterm.Terminal.prototype.syncMouseStyle = function() {\n this.setCssVar('mouse-cursor-style',\n this.vt.mouseReport == this.vt.MOUSE_REPORT_DISABLED ?\n 'var(--hterm-mouse-cursor-text)' :\n 'var(--hterm-mouse-cursor-pointer)');\n};\n\n/**\n * Return a copy of the current cursor position.\n *\n * @return {hterm.RowCol} The RowCol object representing the current position.\n */\nhterm.Terminal.prototype.saveCursor = function() {\n return this.screen_.cursorPosition.clone();\n};\n\n/**\n * Return the current text attributes.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getTextAttributes = function() {\n return this.screen_.textAttributes;\n};\n\n/**\n * Set the text attributes.\n *\n * @param {string} textAttributes The attributes to set.\n */\nhterm.Terminal.prototype.setTextAttributes = function(textAttributes) {\n this.screen_.textAttributes = textAttributes;\n};\n\n/**\n * Return the current browser zoom factor applied to the terminal.\n *\n * @return {number} The current browser zoom factor.\n */\nhterm.Terminal.prototype.getZoomFactor = function() {\n return this.scrollPort_.characterSize.zoomFactor;\n};\n\n/**\n * Change the title of this terminal's window.\n *\n * @param {string} title The title to set.\n */\nhterm.Terminal.prototype.setWindowTitle = function(title) {\n window.document.title = title;\n};\n\n/**\n * Restore a previously saved cursor position.\n *\n * @param {hterm.RowCol} cursor The position to restore.\n */\nhterm.Terminal.prototype.restoreCursor = function(cursor) {\n var row = lib.f.clamp(cursor.row, 0, this.screenSize.height - 1);\n var column = lib.f.clamp(cursor.column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n if (cursor.column > column ||\n cursor.column == column && cursor.overflow) {\n this.screen_.cursorPosition.overflow = true;\n }\n};\n\n/**\n * Clear the cursor's overflow flag.\n */\nhterm.Terminal.prototype.clearCursorOverflow = function() {\n this.screen_.cursorPosition.overflow = false;\n};\n\n/**\n * Sets the cursor shape\n *\n * @param {string} shape The shape to set.\n */\nhterm.Terminal.prototype.setCursorShape = function(shape) {\n this.cursorShape_ = shape;\n this.restyleCursor_();\n}\n\n/**\n * Get the cursor shape\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getCursorShape = function() {\n return this.cursorShape_;\n}\n\n/**\n * Set the width of the terminal, resizing the UI to match.\n *\n * @param {number} columnCount\n */\nhterm.Terminal.prototype.setWidth = function(columnCount) {\n if (columnCount == null) {\n this.div_.style.width = '100%';\n return;\n }\n\n this.div_.style.width = Math.ceil(\n this.scrollPort_.characterSize.width *\n columnCount + this.scrollPort_.currentScrollbarWidthPx) + 'px';\n this.realizeSize_(columnCount, this.screenSize.height);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Set the height of the terminal, resizing the UI to match.\n *\n * @param {number} rowCount The height in rows.\n */\nhterm.Terminal.prototype.setHeight = function(rowCount) {\n if (rowCount == null) {\n this.div_.style.height = '100%';\n return;\n }\n\n this.div_.style.height =\n this.scrollPort_.characterSize.height * rowCount + 'px';\n this.realizeSize_(this.screenSize.width, rowCount);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Deal with terminal size changes.\n *\n * @param {number} columnCount The number of columns.\n * @param {number} rowCount The number of rows.\n */\nhterm.Terminal.prototype.realizeSize_ = function(columnCount, rowCount) {\n if (columnCount != this.screenSize.width)\n this.realizeWidth_(columnCount);\n\n if (rowCount != this.screenSize.height)\n this.realizeHeight_(rowCount);\n\n // Send new terminal size to plugin.\n this.io.onTerminalResize_(columnCount, rowCount);\n};\n\n/**\n * Deal with terminal width changes.\n *\n * This function does what needs to be done when the terminal width changes\n * out from under us. It happens here rather than in onResize_() because this\n * code may need to run synchronously to handle programmatic changes of\n * terminal width.\n *\n * Relying on the browser to send us an async resize event means we may not be\n * in the correct state yet when the next escape sequence hits.\n *\n * @param {number} columnCount The number of columns.\n */\nhterm.Terminal.prototype.realizeWidth_ = function(columnCount) {\n if (columnCount <= 0)\n throw new Error('Attempt to realize bad width: ' + columnCount);\n\n var deltaColumns = columnCount - this.screen_.getWidth();\n\n this.screenSize.width = columnCount;\n this.screen_.setColumnCount(columnCount);\n\n if (deltaColumns > 0) {\n if (this.defaultTabStops)\n this.setDefaultTabStops(this.screenSize.width - deltaColumns);\n } else {\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] < columnCount)\n break;\n\n this.tabStops_.pop();\n }\n }\n\n this.screen_.setColumnCount(this.screenSize.width);\n};\n\n/**\n * Deal with terminal height changes.\n *\n * This function does what needs to be done when the terminal height changes\n * out from under us. It happens here rather than in onResize_() because this\n * code may need to run synchronously to handle programmatic changes of\n * terminal height.\n *\n * Relying on the browser to send us an async resize event means we may not be\n * in the correct state yet when the next escape sequence hits.\n *\n * @param {number} rowCount The number of rows.\n */\nhterm.Terminal.prototype.realizeHeight_ = function(rowCount) {\n if (rowCount <= 0)\n throw new Error('Attempt to realize bad height: ' + rowCount);\n\n var deltaRows = rowCount - this.screen_.getHeight();\n\n this.screenSize.height = rowCount;\n\n var cursor = this.saveCursor();\n\n if (deltaRows < 0) {\n // Screen got smaller.\n deltaRows *= -1;\n while (deltaRows) {\n var lastRow = this.getRowCount() - 1;\n if (lastRow - this.scrollbackRows_.length == cursor.row)\n break;\n\n if (this.getRowText(lastRow))\n break;\n\n this.screen_.popRow();\n deltaRows--;\n }\n\n var ary = this.screen_.shiftRows(deltaRows);\n this.scrollbackRows_.push.apply(this.scrollbackRows_, ary);\n\n // We just removed rows from the top of the screen, we need to update\n // the cursor to match.\n cursor.row = Math.max(cursor.row - deltaRows, 0);\n } else if (deltaRows > 0) {\n // Screen got larger.\n\n if (deltaRows <= this.scrollbackRows_.length) {\n var scrollbackCount = Math.min(deltaRows, this.scrollbackRows_.length);\n var rows = this.scrollbackRows_.splice(\n this.scrollbackRows_.length - scrollbackCount, scrollbackCount);\n this.screen_.unshiftRows(rows);\n deltaRows -= scrollbackCount;\n cursor.row += scrollbackCount;\n }\n\n if (deltaRows)\n this.appendRows_(deltaRows);\n }\n\n this.setVTScrollRegion(null, null);\n this.restoreCursor(cursor);\n};\n\n/**\n * Scroll the terminal to the top of the scrollback buffer.\n */\nhterm.Terminal.prototype.scrollHome = function() {\n this.scrollPort_.scrollRowToTop(0);\n};\n\n/**\n * Scroll the terminal to the end.\n */\nhterm.Terminal.prototype.scrollEnd = function() {\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n};\n\n/**\n * Scroll the terminal one page up (minus one line) relative to the current\n * position.\n */\nhterm.Terminal.prototype.scrollPageUp = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i - this.screenSize.height + 1);\n};\n\n/**\n * Scroll the terminal one page down (minus one line) relative to the current\n * position.\n */\nhterm.Terminal.prototype.scrollPageDown = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i + this.screenSize.height - 1);\n};\n\n/**\n * Scroll the terminal one line up relative to the current position.\n */\nhterm.Terminal.prototype.scrollLineUp = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i - 1);\n};\n\n/**\n * Scroll the terminal one line down relative to the current position.\n */\nhterm.Terminal.prototype.scrollLineDown = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i + 1);\n};\n\n/**\n * Clear primary screen, secondary screen, and the scrollback buffer.\n */\nhterm.Terminal.prototype.wipeContents = function() {\n this.scrollbackRows_.length = 0;\n this.scrollPort_.resetCache();\n\n [this.primaryScreen_, this.alternateScreen_].forEach(function(screen) {\n var bottom = screen.getHeight();\n if (bottom > 0) {\n this.renumberRows_(0, bottom);\n this.clearHome(screen);\n }\n }.bind(this));\n\n this.syncCursorPosition_();\n this.scrollPort_.invalidate();\n};\n\n/**\n * Full terminal reset.\n */\nhterm.Terminal.prototype.reset = function() {\n this.clearAllTabStops();\n this.setDefaultTabStops();\n\n this.clearHome(this.primaryScreen_);\n this.primaryScreen_.textAttributes.reset();\n\n this.clearHome(this.alternateScreen_);\n this.alternateScreen_.textAttributes.reset();\n\n this.setCursorBlink(!!this.prefs_.get('cursor-blink'));\n\n this.vt.reset();\n\n this.softReset();\n};\n\n/**\n * Soft terminal reset.\n *\n * Perform a soft reset to the default values listed in\n * http://www.vt100.net/docs/vt510-rm/DECSTR#T5-9\n */\nhterm.Terminal.prototype.softReset = function() {\n // Reset terminal options to their default values.\n this.options_ = new hterm.Options();\n\n // We show the cursor on soft reset but do not alter the blink state.\n this.options_.cursorBlink = !!this.timeouts_.cursorBlink;\n\n // Xterm also resets the color palette on soft reset, even though it doesn't\n // seem to be documented anywhere.\n this.primaryScreen_.textAttributes.resetColorPalette();\n this.alternateScreen_.textAttributes.resetColorPalette();\n\n // The xterm man page explicitly says this will happen on soft reset.\n this.setVTScrollRegion(null, null);\n\n // Xterm also shows the cursor on soft reset, but does not alter the blink\n // state.\n this.setCursorVisible(true);\n};\n\n/**\n * Move the cursor forward to the next tab stop, or to the last column\n * if no more tab stops are set.\n */\nhterm.Terminal.prototype.forwardTabStop = function() {\n var column = this.screen_.cursorPosition.column;\n\n for (var i = 0; i < this.tabStops_.length; i++) {\n if (this.tabStops_[i] > column) {\n this.setCursorColumn(this.tabStops_[i]);\n return;\n }\n }\n\n // xterm does not clear the overflow flag on HT or CHT.\n var overflow = this.screen_.cursorPosition.overflow;\n this.setCursorColumn(this.screenSize.width - 1);\n this.screen_.cursorPosition.overflow = overflow;\n};\n\n/**\n * Move the cursor backward to the previous tab stop, or to the first column\n * if no previous tab stops are set.\n */\nhterm.Terminal.prototype.backwardTabStop = function() {\n var column = this.screen_.cursorPosition.column;\n\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] < column) {\n this.setCursorColumn(this.tabStops_[i]);\n return;\n }\n }\n\n this.setCursorColumn(1);\n};\n\n/**\n * Set a tab stop at the given column.\n *\n * @param {integer} column Zero based column.\n */\nhterm.Terminal.prototype.setTabStop = function(column) {\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] == column)\n return;\n\n if (this.tabStops_[i] < column) {\n this.tabStops_.splice(i + 1, 0, column);\n return;\n }\n }\n\n this.tabStops_.splice(0, 0, column);\n};\n\n/**\n * Clear the tab stop at the current cursor position.\n *\n * No effect if there is no tab stop at the current cursor position.\n */\nhterm.Terminal.prototype.clearTabStopAtCursor = function() {\n var column = this.screen_.cursorPosition.column;\n\n var i = this.tabStops_.indexOf(column);\n if (i == -1)\n return;\n\n this.tabStops_.splice(i, 1);\n};\n\n/**\n * Clear all tab stops.\n */\nhterm.Terminal.prototype.clearAllTabStops = function() {\n this.tabStops_.length = 0;\n this.defaultTabStops = false;\n};\n\n/**\n * Set up the default tab stops, starting from a given column.\n *\n * This sets a tabstop every (column % this.tabWidth) column, starting\n * from the specified column, or 0 if no column is provided. It also flags\n * future resizes to set them up.\n *\n * This does not clear the existing tab stops first, use clearAllTabStops\n * for that.\n *\n * @param {integer} opt_start Optional starting zero based starting column, useful\n * for filling out missing tab stops when the terminal is resized.\n */\nhterm.Terminal.prototype.setDefaultTabStops = function(opt_start) {\n var start = opt_start || 0;\n var w = this.tabWidth;\n // Round start up to a default tab stop.\n start = start - 1 - ((start - 1) % w) + w;\n for (var i = start; i < this.screenSize.width; i += w) {\n this.setTabStop(i);\n }\n\n this.defaultTabStops = true;\n};\n\n/**\n * Interpret a sequence of characters.\n *\n * Incomplete escape sequences are buffered until the next call.\n *\n * @param {string} str Sequence of characters to interpret or pass through.\n */\nhterm.Terminal.prototype.interpret = function(str) {\n this.vt.interpret(str);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Take over the given DIV for use as the terminal display.\n *\n * @param {HTMLDivElement} div The div to use as the terminal display.\n */\nhterm.Terminal.prototype.decorate = function(div) {\n this.div_ = div;\n\n this.scrollPort_.decorate(div);\n this.scrollPort_.setBackgroundImage(this.prefs_.get('background-image'));\n this.scrollPort_.setBackgroundSize(this.prefs_.get('background-size'));\n this.scrollPort_.setBackgroundPosition(\n this.prefs_.get('background-position'));\n this.scrollPort_.setUserCssUrl(this.prefs_.get('user-css'));\n this.scrollPort_.setUserCssText(this.prefs_.get('user-css-text'));\n\n this.div_.focus = this.focus.bind(this);\n\n this.setFontSize(this.prefs_.get('font-size'));\n this.syncFontFamily();\n\n this.setScrollbarVisible(this.prefs_.get('scrollbar-visible'));\n this.setScrollWheelMoveMultipler(\n this.prefs_.get('scroll-wheel-move-multiplier'));\n\n this.document_ = this.scrollPort_.getDocument();\n\n this.document_.body.oncontextmenu = function() { return false; };\n\n var onMouse = this.onMouse_.bind(this);\n var screenNode = this.scrollPort_.getScreenNode();\n screenNode.addEventListener('mousedown', onMouse);\n screenNode.addEventListener('mouseup', onMouse);\n screenNode.addEventListener('mousemove', onMouse);\n this.scrollPort_.onScrollWheel = onMouse;\n\n screenNode.addEventListener(\n 'focus', this.onFocusChange_.bind(this, true));\n // Listen for mousedown events on the screenNode as in FF the focus\n // events don't bubble.\n screenNode.addEventListener('mousedown', function() {\n setTimeout(this.onFocusChange_.bind(this, true));\n }.bind(this));\n\n screenNode.addEventListener(\n 'blur', this.onFocusChange_.bind(this, false));\n\n var style = this.document_.createElement('style');\n style.textContent =\n ('.cursor-node[focus=\"false\"] {' +\n ' box-sizing: border-box;' +\n ' background-color: transparent !important;' +\n ' border-width: 2px;' +\n ' border-style: solid;' +\n '}' +\n '.wc-node {' +\n ' display: inline-block;' +\n ' text-align: center;' +\n ' width: calc(var(--hterm-charsize-width) * 2);' +\n ' line-height: var(--hterm-charsize-height);' +\n '}' +\n ':root {' +\n ' --hterm-charsize-width: ' + this.scrollPort_.characterSize.width + 'px;' +\n ' --hterm-charsize-height: ' + this.scrollPort_.characterSize.height + 'px;' +\n ' --hterm-cursor-offset-col: 0;' +\n ' --hterm-cursor-offset-row: 0;' +\n ' --hterm-blink-node-duration: 0.7s;' +\n ' --hterm-mouse-cursor-text: text;' +\n ' --hterm-mouse-cursor-pointer: default;' +\n ' --hterm-mouse-cursor-style: var(--hterm-mouse-cursor-text);' +\n '}' +\n '@keyframes blink {' +\n ' from { opacity: 1.0; }' +\n ' to { opacity: 0.0; }' +\n '}' +\n '.blink-node {' +\n ' animation-name: blink;' +\n ' animation-duration: var(--hterm-blink-node-duration);' +\n ' animation-iteration-count: infinite;' +\n ' animation-timing-function: ease-in-out;' +\n ' animation-direction: alternate;' +\n '}');\n this.document_.head.appendChild(style);\n\n this.cursorNode_ = this.document_.createElement('div');\n this.cursorNode_.id = 'hterm:terminal-cursor';\n this.cursorNode_.className = 'cursor-node';\n this.cursorNode_.style.cssText =\n ('position: absolute;' +\n 'left: calc(var(--hterm-charsize-width) * var(--hterm-cursor-offset-col));' +\n 'top: calc(var(--hterm-charsize-height) * var(--hterm-cursor-offset-row));' +\n 'display: block;' +\n 'width: var(--hterm-charsize-width);' +\n 'height: var(--hterm-charsize-height);' +\n '-webkit-transition: opacity, background-color 100ms linear;' +\n '-moz-transition: opacity, background-color 100ms linear;');\n\n this.setCursorColor(this.prefs_.get('cursor-color'));\n this.setCursorBlink(!!this.prefs_.get('cursor-blink'));\n this.restyleCursor_();\n\n this.document_.body.appendChild(this.cursorNode_);\n\n // When 'enableMouseDragScroll' is off we reposition this element directly\n // under the mouse cursor after a click. This makes Chrome associate\n // subsequent mousemove events with the scroll-blocker. Since the\n // scroll-blocker is a peer (not a child) of the scrollport, the mousemove\n // events do not cause the scrollport to scroll.\n //\n // It's a hack, but it's the cleanest way I could find.\n this.scrollBlockerNode_ = this.document_.createElement('div');\n this.scrollBlockerNode_.id = 'hterm:mouse-drag-scroll-blocker';\n this.scrollBlockerNode_.style.cssText =\n ('position: absolute;' +\n 'top: -99px;' +\n 'display: block;' +\n 'width: 10px;' +\n 'height: 10px;');\n this.document_.body.appendChild(this.scrollBlockerNode_);\n\n this.scrollPort_.onScrollWheel = onMouse;\n ['mousedown', 'mouseup', 'mousemove', 'click', 'dblclick',\n ].forEach(function(event) {\n this.scrollBlockerNode_.addEventListener(event, onMouse);\n this.cursorNode_.addEventListener(event, onMouse);\n this.document_.addEventListener(event, onMouse);\n }.bind(this));\n\n this.cursorNode_.addEventListener('mousedown', function() {\n setTimeout(this.focus.bind(this));\n }.bind(this));\n\n this.setReverseVideo(false);\n\n this.scrollPort_.focus();\n this.scrollPort_.scheduleRedraw();\n};\n\n/**\n * Return the HTML document that contains the terminal DOM nodes.\n *\n * @return {HTMLDocument}\n */\nhterm.Terminal.prototype.getDocument = function() {\n return this.document_;\n};\n\n/**\n * Focus the terminal.\n */\nhterm.Terminal.prototype.focus = function() {\n this.scrollPort_.focus();\n};\n\n/**\n * Return the HTML Element for a given row index.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch rows on demand as they are scrolled into view.\n *\n * TODO(rginda): Consider saving scrollback rows as (HTML source, text content)\n * pairs to conserve memory.\n *\n * @param {integer} index The zero-based row index, measured relative to the\n * start of the scrollback buffer. On-screen rows will always have the\n * largest indices.\n * @return {HTMLElement} The 'x-row' element containing for the requested row.\n */\nhterm.Terminal.prototype.getRowNode = function(index) {\n if (index < this.scrollbackRows_.length)\n return this.scrollbackRows_[index];\n\n var screenIndex = index - this.scrollbackRows_.length;\n return this.screen_.rowsArray[screenIndex];\n};\n\n/**\n * Return the text content for a given range of rows.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch text content on demand when the user attempts to copy their\n * selection to the clipboard.\n *\n * @param {integer} start The zero-based row index to start from, measured\n * relative to the start of the scrollback buffer. On-screen rows will\n * always have the largest indices.\n * @param {integer} end The zero-based row index to end on, measured\n * relative to the start of the scrollback buffer.\n * @return {string} A single string containing the text value of the range of\n * rows. Lines will be newline delimited, with no trailing newline.\n */\nhterm.Terminal.prototype.getRowsText = function(start, end) {\n var ary = [];\n for (var i = start; i < end; i++) {\n var node = this.getRowNode(i);\n ary.push(node.textContent);\n if (i < end - 1 && !node.getAttribute('line-overflow'))\n ary.push('\\n');\n }\n\n return ary.join('');\n};\n\n/**\n * Return the text content for a given row.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch text content on demand when the user attempts to copy their\n * selection to the clipboard.\n *\n * @param {integer} index The zero-based row index to return, measured\n * relative to the start of the scrollback buffer. On-screen rows will\n * always have the largest indices.\n * @return {string} A string containing the text value of the selected row.\n */\nhterm.Terminal.prototype.getRowText = function(index) {\n var node = this.getRowNode(index);\n return node.textContent;\n};\n\n/**\n * Return the total number of rows in the addressable screen and in the\n * scrollback buffer of this terminal.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to compute the size of the scrollbar.\n *\n * @return {integer} The number of rows in this terminal.\n */\nhterm.Terminal.prototype.getRowCount = function() {\n return this.scrollbackRows_.length + this.screen_.rowsArray.length;\n};\n\n/**\n * Create DOM nodes for new rows and append them to the end of the terminal.\n *\n * This is the only correct way to add a new DOM node for a row. Notice that\n * the new row is appended to the bottom of the list of rows, and does not\n * require renumbering (of the rowIndex property) of previous rows.\n *\n * If you think you want a new blank row somewhere in the middle of the\n * terminal, look into moveRows_().\n *\n * This method does not pay attention to vtScrollTop/Bottom, since you should\n * be using moveRows() in cases where they would matter.\n *\n * The cursor will be positioned at column 0 of the first inserted line.\n *\n * @param {number} count The number of rows to created.\n */\nhterm.Terminal.prototype.appendRows_ = function(count) {\n var cursorRow = this.screen_.rowsArray.length;\n var offset = this.scrollbackRows_.length + cursorRow;\n for (var i = 0; i < count; i++) {\n var row = this.document_.createElement('x-row');\n row.appendChild(this.document_.createTextNode(''));\n row.rowIndex = offset + i;\n this.screen_.pushRow(row);\n }\n\n var extraRows = this.screen_.rowsArray.length - this.screenSize.height;\n if (extraRows > 0) {\n var ary = this.screen_.shiftRows(extraRows);\n Array.prototype.push.apply(this.scrollbackRows_, ary);\n if (this.scrollPort_.isScrolledEnd)\n this.scheduleScrollDown_();\n }\n\n if (cursorRow >= this.screen_.rowsArray.length)\n cursorRow = this.screen_.rowsArray.length - 1;\n\n this.setAbsoluteCursorPosition(cursorRow, 0);\n};\n\n/**\n * Relocate rows from one part of the addressable screen to another.\n *\n * This is used to recycle rows during VT scrolls (those which are driven\n * by VT commands, rather than by the user manipulating the scrollbar.)\n *\n * In this case, the blank lines scrolled into the scroll region are made of\n * the nodes we scrolled off. These have their rowIndex properties carefully\n * renumbered so as not to confuse the ScrollPort.\n *\n * @param {number} fromIndex The start index.\n * @param {number} count The number of rows to move.\n * @param {number} toIndex The destination index.\n */\nhterm.Terminal.prototype.moveRows_ = function(fromIndex, count, toIndex) {\n var ary = this.screen_.removeRows(fromIndex, count);\n this.screen_.insertRows(toIndex, ary);\n\n var start, end;\n if (fromIndex < toIndex) {\n start = fromIndex;\n end = toIndex + count;\n } else {\n start = toIndex;\n end = fromIndex + count;\n }\n\n this.renumberRows_(start, end);\n this.scrollPort_.scheduleInvalidate();\n};\n\n/**\n * Renumber the rowIndex property of the given range of rows.\n *\n * The start and end indices are relative to the screen, not the scrollback.\n * Rows in the scrollback buffer cannot be renumbered. Since they are not\n * addressable (you can't delete them, scroll them, etc), you should have\n * no need to renumber scrollback rows.\n *\n * @param {number} start The start index.\n * @param {number} end The end index.\n * @param {hterm.Screen} opt_screen The screen to renumber.\n */\nhterm.Terminal.prototype.renumberRows_ = function(start, end, opt_screen) {\n var screen = opt_screen || this.screen_;\n\n var offset = this.scrollbackRows_.length;\n for (var i = start; i < end; i++) {\n screen.rowsArray[i].rowIndex = offset + i;\n }\n};\n\n/**\n * Print a string to the terminal.\n *\n * This respects the current insert and wraparound modes. It will add new lines\n * to the end of the terminal, scrolling off the top into the scrollback buffer\n * if necessary.\n *\n * The string is *not* parsed for escape codes. Use the interpret() method if\n * that's what you're after.\n *\n * @param{string} str The string to print.\n */\nhterm.Terminal.prototype.print = function(str) {\n var startOffset = 0;\n\n var strWidth = lib.wc.strWidth(str);\n\n while (startOffset < strWidth) {\n if (this.options_.wraparound && this.screen_.cursorPosition.overflow) {\n this.screen_.commitLineOverflow();\n this.newLine();\n }\n\n var count = strWidth - startOffset;\n var didOverflow = false;\n var substr;\n\n if (this.screen_.cursorPosition.column + count >= this.screenSize.width) {\n didOverflow = true;\n count = this.screenSize.width - this.screen_.cursorPosition.column;\n }\n\n if (didOverflow && !this.options_.wraparound) {\n // If the string overflowed the line but wraparound is off, then the\n // last printed character should be the last of the string.\n // TODO: This will add to our problems with multibyte UTF-16 characters.\n substr = lib.wc.substr(str, startOffset, count - 1) +\n lib.wc.substr(str, strWidth - 1);\n count = strWidth;\n } else {\n substr = lib.wc.substr(str, startOffset, count);\n }\n\n var tokens = hterm.TextAttributes.splitWidecharString(substr);\n for (var i = 0; i < tokens.length; i++) {\n this.screen_.textAttributes.wcNode = tokens[i].wcNode;\n this.screen_.textAttributes.asciiNode = tokens[i].asciiNode;\n\n if (this.options_.insertMode) {\n this.screen_.insertString(tokens[i].str);\n } else {\n this.screen_.overwriteString(tokens[i].str);\n }\n this.screen_.textAttributes.wcNode = false;\n this.screen_.textAttributes.asciiNode = true;\n }\n\n this.screen_.maybeClipCurrentRow();\n startOffset += count;\n }\n\n this.scheduleSyncCursorPosition_();\n\n if (this.scrollOnOutput_)\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n};\n\n/**\n * Set the VT scroll region.\n *\n * This also resets the cursor position to the absolute (0, 0) position, since\n * that's what xterm appears to do.\n *\n * Setting the scroll region to the full height of the terminal will clear\n * the scroll region. This is *NOT* what most terminals do. We're explicitly\n * going \"off-spec\" here because it makes `screen` and `tmux` overflow into the\n * local scrollback buffer, which means the scrollbars and shift-pgup/pgdn\n * continue to work as most users would expect.\n *\n * @param {integer} scrollTop The zero-based top of the scroll region.\n * @param {integer} scrollBottom The zero-based bottom of the scroll region,\n * inclusive.\n */\nhterm.Terminal.prototype.setVTScrollRegion = function(scrollTop, scrollBottom) {\n if (scrollTop == 0 && scrollBottom == this.screenSize.height - 1) {\n this.vtScrollTop_ = null;\n this.vtScrollBottom_ = null;\n } else {\n this.vtScrollTop_ = scrollTop;\n this.vtScrollBottom_ = scrollBottom;\n }\n};\n\n/**\n * Return the top row index according to the VT.\n *\n * This will return 0 unless the terminal has been told to restrict scrolling\n * to some lower row. It is used for some VT cursor positioning and scrolling\n * commands.\n *\n * @return {integer} The topmost row in the terminal's scroll region.\n */\nhterm.Terminal.prototype.getVTScrollTop = function() {\n if (this.vtScrollTop_ != null)\n return this.vtScrollTop_;\n\n return 0;\n};\n\n/**\n * Return the bottom row index according to the VT.\n *\n * This will return the height of the terminal unless the it has been told to\n * restrict scrolling to some higher row. It is used for some VT cursor\n * positioning and scrolling commands.\n *\n * @return {integer} The bottom most row in the terminal's scroll region.\n */\nhterm.Terminal.prototype.getVTScrollBottom = function() {\n if (this.vtScrollBottom_ != null)\n return this.vtScrollBottom_;\n\n return this.screenSize.height - 1;\n}\n\n/**\n * Process a '\\n' character.\n *\n * If the cursor is on the final row of the terminal this will append a new\n * blank row to the screen and scroll the topmost row into the scrollback\n * buffer.\n *\n * Otherwise, this moves the cursor to column zero of the next row.\n */\nhterm.Terminal.prototype.newLine = function() {\n var cursorAtEndOfScreen = (this.screen_.cursorPosition.row ==\n this.screen_.rowsArray.length - 1);\n\n if (this.vtScrollBottom_ != null) {\n // A VT Scroll region is active, we never append new rows.\n if (this.screen_.cursorPosition.row == this.vtScrollBottom_) {\n // We're at the end of the VT Scroll Region, perform a VT scroll.\n this.vtScrollUp(1);\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0);\n } else if (cursorAtEndOfScreen) {\n // We're at the end of the screen, the only thing to do is put the\n // cursor to column 0.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0);\n } else {\n // Anywhere else, advance the cursor row, and reset the column.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0);\n }\n } else if (cursorAtEndOfScreen) {\n // We're at the end of the screen. Append a new row to the terminal,\n // shifting the top row into the scrollback.\n this.appendRows_(1);\n } else {\n // Anywhere else in the screen just moves the cursor.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0);\n }\n};\n\n/**\n * Like newLine(), except maintain the cursor column.\n */\nhterm.Terminal.prototype.lineFeed = function() {\n var column = this.screen_.cursorPosition.column;\n this.newLine();\n this.setCursorColumn(column);\n};\n\n/**\n * If autoCarriageReturn is set then newLine(), else lineFeed().\n */\nhterm.Terminal.prototype.formFeed = function() {\n if (this.options_.autoCarriageReturn) {\n this.newLine();\n } else {\n this.lineFeed();\n }\n};\n\n/**\n * Move the cursor up one row, possibly inserting a blank line.\n *\n * The cursor column is not changed.\n */\nhterm.Terminal.prototype.reverseLineFeed = function() {\n var scrollTop = this.getVTScrollTop();\n var currentRow = this.screen_.cursorPosition.row;\n\n if (currentRow == scrollTop) {\n this.insertLines(1);\n } else {\n this.setAbsoluteCursorRow(currentRow - 1);\n }\n};\n\n/**\n * Replace all characters to the left of the current cursor with the space\n * character.\n *\n * TODO(rginda): This should probably *remove* the characters (not just replace\n * with a space) if there are no characters at or beyond the current cursor\n * position.\n */\nhterm.Terminal.prototype.eraseToLeft = function() {\n var cursor = this.saveCursor();\n this.setCursorColumn(0);\n this.screen_.overwriteString(lib.f.getWhitespace(cursor.column + 1));\n this.restoreCursor(cursor);\n};\n\n/**\n * Erase a given number of characters to the right of the cursor.\n *\n * The cursor position is unchanged.\n *\n * If the current background color is not the default background color this\n * will insert spaces rather than delete. This is unfortunate because the\n * trailing space will affect text selection, but it's difficult to come up\n * with a way to style empty space that wouldn't trip up the hterm.Screen\n * code.\n *\n * eraseToRight is ignored in the presence of a cursor overflow. This deviates\n * from xterm, but agrees with gnome-terminal and konsole, xfce4-terminal. See\n * crbug.com/232390 for details.\n *\n * @param {number} opt_count The number of characters to erase.\n */\nhterm.Terminal.prototype.eraseToRight = function(opt_count) {\n if (this.screen_.cursorPosition.overflow)\n return;\n\n var maxCount = this.screenSize.width - this.screen_.cursorPosition.column;\n var count = opt_count ? Math.min(opt_count, maxCount) : maxCount;\n\n if (this.screen_.textAttributes.background ===\n this.screen_.textAttributes.DEFAULT_COLOR) {\n var cursorRow = this.screen_.rowsArray[this.screen_.cursorPosition.row];\n if (hterm.TextAttributes.nodeWidth(cursorRow) <=\n this.screen_.cursorPosition.column + count) {\n this.screen_.deleteChars(count);\n this.clearCursorOverflow();\n return;\n }\n }\n\n var cursor = this.saveCursor();\n this.screen_.overwriteString(lib.f.getWhitespace(count));\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase the current line.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseLine = function() {\n var cursor = this.saveCursor();\n this.screen_.clearCursorRow();\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase all characters from the start of the screen to the current cursor\n * position, regardless of scroll region.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseAbove = function() {\n var cursor = this.saveCursor();\n\n this.eraseToLeft();\n\n for (var i = 0; i < cursor.row; i++) {\n this.setAbsoluteCursorPosition(i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase all characters from the current cursor position to the end of the\n * screen, regardless of scroll region.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseBelow = function() {\n var cursor = this.saveCursor();\n\n this.eraseToRight();\n\n var bottom = this.screenSize.height - 1;\n for (var i = cursor.row + 1; i <= bottom; i++) {\n this.setAbsoluteCursorPosition(i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Fill the terminal with a given character.\n *\n * This methods does not respect the VT scroll region.\n *\n * @param {string} ch The character to use for the fill.\n */\nhterm.Terminal.prototype.fill = function(ch) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorPosition(0, 0);\n for (var row = 0; row < this.screenSize.height; row++) {\n for (var col = 0; col < this.screenSize.width; col++) {\n this.setAbsoluteCursorPosition(row, col);\n this.screen_.overwriteString(ch);\n }\n }\n\n this.restoreCursor(cursor);\n};\n\n/**\n * Erase the entire display and leave the cursor at (0, 0).\n *\n * This does not respect the scroll region.\n *\n * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults\n * to the current screen.\n */\nhterm.Terminal.prototype.clearHome = function(opt_screen) {\n var screen = opt_screen || this.screen_;\n var bottom = screen.getHeight();\n\n if (bottom == 0) {\n // Empty screen, nothing to do.\n return;\n }\n\n for (var i = 0; i < bottom; i++) {\n screen.setCursorPosition(i, 0);\n screen.clearCursorRow();\n }\n\n screen.setCursorPosition(0, 0);\n};\n\n/**\n * Erase the entire display without changing the cursor position.\n *\n * The cursor position is unchanged. This does not respect the scroll\n * region.\n *\n * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults\n * to the current screen.\n */\nhterm.Terminal.prototype.clear = function(opt_screen) {\n var screen = opt_screen || this.screen_;\n var cursor = screen.cursorPosition.clone();\n this.clearHome(screen);\n screen.setCursorPosition(cursor.row, cursor.column);\n};\n\n/**\n * VT command to insert lines at the current cursor row.\n *\n * This respects the current scroll region. Rows pushed off the bottom are\n * lost (they won't show up in the scrollback buffer).\n *\n * @param {integer} count The number of lines to insert.\n */\nhterm.Terminal.prototype.insertLines = function(count) {\n var cursorRow = this.screen_.cursorPosition.row;\n\n var bottom = this.getVTScrollBottom();\n count = Math.min(count, bottom - cursorRow);\n\n // The moveCount is the number of rows we need to relocate to make room for\n // the new row(s). The count is the distance to move them.\n var moveCount = bottom - cursorRow - count + 1;\n if (moveCount)\n this.moveRows_(cursorRow, moveCount, cursorRow + count);\n\n for (var i = count - 1; i >= 0; i--) {\n this.setAbsoluteCursorPosition(cursorRow + i, 0);\n this.screen_.clearCursorRow();\n }\n};\n\n/**\n * VT command to delete lines at the current cursor row.\n *\n * New rows are added to the bottom of scroll region to take their place. New\n * rows are strictly there to take up space and have no content or style.\n *\n * @param {number} count The number of lines to delete.\n */\nhterm.Terminal.prototype.deleteLines = function(count) {\n var cursor = this.saveCursor();\n\n var top = cursor.row;\n var bottom = this.getVTScrollBottom();\n\n var maxCount = bottom - top + 1;\n count = Math.min(count, maxCount);\n\n var moveStart = bottom - count + 1;\n if (count != maxCount)\n this.moveRows_(top, count, moveStart);\n\n for (var i = 0; i < count; i++) {\n this.setAbsoluteCursorPosition(moveStart + i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Inserts the given number of spaces at the current cursor position.\n *\n * The cursor position is not changed.\n *\n * @param {number} count The number of spaces to insert.\n */\nhterm.Terminal.prototype.insertSpace = function(count) {\n var cursor = this.saveCursor();\n\n var ws = lib.f.getWhitespace(count || 1);\n this.screen_.insertString(ws);\n this.screen_.maybeClipCurrentRow();\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Forward-delete the specified number of characters starting at the cursor\n * position.\n *\n * @param {integer} count The number of characters to delete.\n */\nhterm.Terminal.prototype.deleteChars = function(count) {\n var deleted = this.screen_.deleteChars(count);\n if (deleted && !this.screen_.textAttributes.isDefault()) {\n var cursor = this.saveCursor();\n this.setCursorColumn(this.screenSize.width - deleted);\n this.screen_.insertString(lib.f.getWhitespace(deleted));\n this.restoreCursor(cursor);\n }\n\n this.clearCursorOverflow();\n};\n\n/**\n * Shift rows in the scroll region upwards by a given number of lines.\n *\n * New rows are inserted at the bottom of the scroll region to fill the\n * vacated rows. The new rows not filled out with the current text attributes.\n *\n * This function does not affect the scrollback rows at all. Rows shifted\n * off the top are lost.\n *\n * The cursor position is not altered.\n *\n * @param {integer} count The number of rows to scroll.\n */\nhterm.Terminal.prototype.vtScrollUp = function(count) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorRow(this.getVTScrollTop());\n this.deleteLines(count);\n\n this.restoreCursor(cursor);\n};\n\n/**\n * Shift rows below the cursor down by a given number of lines.\n *\n * This function respects the current scroll region.\n *\n * New rows are inserted at the top of the scroll region to fill the\n * vacated rows. The new rows not filled out with the current text attributes.\n *\n * This function does not affect the scrollback rows at all. Rows shifted\n * off the bottom are lost.\n *\n * @param {integer} count The number of rows to scroll.\n */\nhterm.Terminal.prototype.vtScrollDown = function(opt_count) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorPosition(this.getVTScrollTop(), 0);\n this.insertLines(opt_count);\n\n this.restoreCursor(cursor);\n};\n\n\n/**\n * Set the cursor position.\n *\n * The cursor row is relative to the scroll region if the terminal has\n * 'origin mode' enabled, or relative to the addressable screen otherwise.\n *\n * @param {integer} row The new zero-based cursor row.\n * @param {integer} row The new zero-based cursor column.\n */\nhterm.Terminal.prototype.setCursorPosition = function(row, column) {\n if (this.options_.originMode) {\n this.setRelativeCursorPosition(row, column);\n } else {\n this.setAbsoluteCursorPosition(row, column);\n }\n};\n\n/**\n * Move the cursor relative to its current position.\n *\n * @param {number} row\n * @param {number} column\n */\nhterm.Terminal.prototype.setRelativeCursorPosition = function(row, column) {\n var scrollTop = this.getVTScrollTop();\n row = lib.f.clamp(row + scrollTop, scrollTop, this.getVTScrollBottom());\n column = lib.f.clamp(column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n};\n\n/**\n * Move the cursor to the specified position.\n *\n * @param {number} row\n * @param {number} column\n */\nhterm.Terminal.prototype.setAbsoluteCursorPosition = function(row, column) {\n row = lib.f.clamp(row, 0, this.screenSize.height - 1);\n column = lib.f.clamp(column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n};\n\n/**\n * Set the cursor column.\n *\n * @param {integer} column The new zero-based cursor column.\n */\nhterm.Terminal.prototype.setCursorColumn = function(column) {\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, column);\n};\n\n/**\n * Return the cursor column.\n *\n * @return {integer} The zero-based cursor column.\n */\nhterm.Terminal.prototype.getCursorColumn = function() {\n return this.screen_.cursorPosition.column;\n};\n\n/**\n * Set the cursor row.\n *\n * The cursor row is relative to the scroll region if the terminal has\n * 'origin mode' enabled, or relative to the addressable screen otherwise.\n *\n * @param {integer} row The new cursor row.\n */\nhterm.Terminal.prototype.setAbsoluteCursorRow = function(row) {\n this.setAbsoluteCursorPosition(row, this.screen_.cursorPosition.column);\n};\n\n/**\n * Return the cursor row.\n *\n * @return {integer} The zero-based cursor row.\n */\nhterm.Terminal.prototype.getCursorRow = function() {\n return this.screen_.cursorPosition.row;\n};\n\n/**\n * Request that the ScrollPort redraw itself soon.\n *\n * The redraw will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single redraw.\n */\nhterm.Terminal.prototype.scheduleRedraw_ = function() {\n if (this.timeouts_.redraw)\n return;\n\n var self = this;\n this.timeouts_.redraw = setTimeout(function() {\n delete self.timeouts_.redraw;\n self.scrollPort_.redraw_();\n }, 0);\n};\n\n/**\n * Request that the ScrollPort be scrolled to the bottom.\n *\n * The scroll will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single scroll.\n *\n * This affects the scrollbar position of the ScrollPort, and has nothing to\n * do with the VT scroll commands.\n */\nhterm.Terminal.prototype.scheduleScrollDown_ = function() {\n if (this.timeouts_.scrollDown)\n return;\n\n var self = this;\n this.timeouts_.scrollDown = setTimeout(function() {\n delete self.timeouts_.scrollDown;\n self.scrollPort_.scrollRowToBottom(self.getRowCount());\n }, 10);\n};\n\n/**\n * Move the cursor up a specified number of rows.\n *\n * @param {integer} count The number of rows to move the cursor.\n */\nhterm.Terminal.prototype.cursorUp = function(count) {\n return this.cursorDown(-(count || 1));\n};\n\n/**\n * Move the cursor down a specified number of rows.\n *\n * @param {integer} count The number of rows to move the cursor.\n */\nhterm.Terminal.prototype.cursorDown = function(count) {\n count = count || 1;\n var minHeight = (this.options_.originMode ? this.getVTScrollTop() : 0);\n var maxHeight = (this.options_.originMode ? this.getVTScrollBottom() :\n this.screenSize.height - 1);\n\n var row = lib.f.clamp(this.screen_.cursorPosition.row + count,\n minHeight, maxHeight);\n this.setAbsoluteCursorRow(row);\n};\n\n/**\n * Move the cursor left a specified number of columns.\n *\n * If reverse wraparound mode is enabled and the previous row wrapped into\n * the current row then we back up through the wraparound as well.\n *\n * @param {integer} count The number of columns to move the cursor.\n */\nhterm.Terminal.prototype.cursorLeft = function(count) {\n count = count || 1;\n\n if (count < 1)\n return;\n\n var currentColumn = this.screen_.cursorPosition.column;\n if (this.options_.reverseWraparound) {\n if (this.screen_.cursorPosition.overflow) {\n // If this cursor is in the right margin, consume one count to get it\n // back to the last column. This only applies when we're in reverse\n // wraparound mode.\n count--;\n this.clearCursorOverflow();\n\n if (!count)\n return;\n }\n\n var newRow = this.screen_.cursorPosition.row;\n var newColumn = currentColumn - count;\n if (newColumn < 0) {\n newRow = newRow - Math.floor(count / this.screenSize.width) - 1;\n if (newRow < 0) {\n // xterm also wraps from row 0 to the last row.\n newRow = this.screenSize.height + newRow % this.screenSize.height;\n }\n newColumn = this.screenSize.width + newColumn % this.screenSize.width;\n }\n\n this.setCursorPosition(Math.max(newRow, 0), newColumn);\n\n } else {\n var newColumn = Math.max(currentColumn - count, 0);\n this.setCursorColumn(newColumn);\n }\n};\n\n/**\n * Move the cursor right a specified number of columns.\n *\n * @param {integer} count The number of columns to move the cursor.\n */\nhterm.Terminal.prototype.cursorRight = function(count) {\n count = count || 1;\n\n if (count < 1)\n return;\n\n var column = lib.f.clamp(this.screen_.cursorPosition.column + count,\n 0, this.screenSize.width - 1);\n this.setCursorColumn(column);\n};\n\n/**\n * Reverse the foreground and background colors of the terminal.\n *\n * This only affects text that was drawn with no attributes.\n *\n * TODO(rginda): Test xterm to see if reverse is respected for text that has\n * been drawn with attributes that happen to coincide with the default\n * 'no-attribute' colors. My guess is probably not.\n *\n * @param {boolean} state The state to set.\n */\nhterm.Terminal.prototype.setReverseVideo = function(state) {\n this.options_.reverseVideo = state;\n if (state) {\n this.scrollPort_.setForegroundColor(this.prefs_.get('background-color'));\n this.scrollPort_.setBackgroundColor(this.prefs_.get('foreground-color'));\n } else {\n this.scrollPort_.setForegroundColor(this.prefs_.get('foreground-color'));\n this.scrollPort_.setBackgroundColor(this.prefs_.get('background-color'));\n }\n};\n\n/**\n * Ring the terminal bell.\n *\n * This will not play the bell audio more than once per second.\n */\nhterm.Terminal.prototype.ringBell = function() {\n this.cursorNode_.style.backgroundColor =\n this.scrollPort_.getForegroundColor();\n\n var self = this;\n setTimeout(function() {\n self.cursorNode_.style.backgroundColor = self.prefs_.get('cursor-color');\n }, 200);\n\n // bellSquelchTimeout_ affects both audio and notification bells.\n if (this.bellSquelchTimeout_)\n return;\n\n if (this.bellAudio_.getAttribute('src')) {\n this.bellAudio_.play();\n this.bellSequelchTimeout_ = setTimeout(function() {\n delete this.bellSquelchTimeout_;\n }.bind(this), 500);\n } else {\n delete this.bellSquelchTimeout_;\n }\n\n if (this.desktopNotificationBell_ && !this.document_.hasFocus()) {\n var n = hterm.notify();\n this.bellNotificationList_.push(n);\n // TODO: Should we try to raise the window here?\n n.onclick = function() { self.closeBellNotifications_(); };\n }\n};\n\n/**\n * Set the origin mode bit.\n *\n * If origin mode is on, certain VT cursor and scrolling commands measure their\n * row parameter relative to the VT scroll region. Otherwise, row 0 corresponds\n * to the top of the addressable screen.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set origin mode, false to unset.\n */\nhterm.Terminal.prototype.setOriginMode = function(state) {\n this.options_.originMode = state;\n this.setCursorPosition(0, 0);\n};\n\n/**\n * Set the insert mode bit.\n *\n * If insert mode is on, existing text beyond the cursor position will be\n * shifted right to make room for new text. Otherwise, new text overwrites\n * any existing text.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set insert mode, false to unset.\n */\nhterm.Terminal.prototype.setInsertMode = function(state) {\n this.options_.insertMode = state;\n};\n\n/**\n * Set the auto carriage return bit.\n *\n * If auto carriage return is on then a formfeed character is interpreted\n * as a newline, otherwise it's the same as a linefeed. The difference boils\n * down to whether or not the cursor column is reset.\n *\n * @param {boolean} state The state to set.\n */\nhterm.Terminal.prototype.setAutoCarriageReturn = function(state) {\n this.options_.autoCarriageReturn = state;\n};\n\n/**\n * Set the wraparound mode bit.\n *\n * If wraparound mode is on, certain VT commands will allow the cursor to wrap\n * to the start of the following row. Otherwise, the cursor is clamped to the\n * end of the screen and attempts to write past it are ignored.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set wraparound mode, false to unset.\n */\nhterm.Terminal.prototype.setWraparound = function(state) {\n this.options_.wraparound = state;\n};\n\n/**\n * Set the reverse-wraparound mode bit.\n *\n * If wraparound mode is off, certain VT commands will allow the cursor to wrap\n * to the end of the previous row. Otherwise, the cursor is clamped to column\n * 0.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set reverse-wraparound mode, false to unset.\n */\nhterm.Terminal.prototype.setReverseWraparound = function(state) {\n this.options_.reverseWraparound = state;\n};\n\n/**\n * Selects between the primary and alternate screens.\n *\n * If alternate mode is on, the alternate screen is active. Otherwise the\n * primary screen is active.\n *\n * Swapping screens has no effect on the scrollback buffer.\n *\n * Each screen maintains its own cursor position.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set alternate mode, false to unset.\n */\nhterm.Terminal.prototype.setAlternateMode = function(state) {\n var cursor = this.saveCursor();\n this.screen_ = state ? this.alternateScreen_ : this.primaryScreen_;\n\n if (this.screen_.rowsArray.length &&\n this.screen_.rowsArray[0].rowIndex != this.scrollbackRows_.length) {\n // If the screen changed sizes while we were away, our rowIndexes may\n // be incorrect.\n var offset = this.scrollbackRows_.length;\n var ary = this.screen_.rowsArray;\n for (var i = 0; i < ary.length; i++) {\n ary[i].rowIndex = offset + i;\n }\n }\n\n this.realizeWidth_(this.screenSize.width);\n this.realizeHeight_(this.screenSize.height);\n this.scrollPort_.syncScrollHeight();\n this.scrollPort_.invalidate();\n\n this.restoreCursor(cursor);\n this.scrollPort_.resize();\n};\n\n/**\n * Set the cursor-blink mode bit.\n *\n * If cursor-blink is on, the cursor will blink when it is visible. Otherwise\n * a visible cursor does not blink.\n *\n * You should make sure to turn blinking off if you're going to dispose of a\n * terminal, otherwise you'll leak a timeout.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set cursor-blink mode, false to unset.\n */\nhterm.Terminal.prototype.setCursorBlink = function(state) {\n this.options_.cursorBlink = state;\n\n if (!state && this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n\n if (this.options_.cursorVisible)\n this.setCursorVisible(true);\n};\n\n/**\n * Set the cursor-visible mode bit.\n *\n * If cursor-visible is on, the cursor will be visible. Otherwise it will not.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set cursor-visible mode, false to unset.\n */\nhterm.Terminal.prototype.setCursorVisible = function(state) {\n this.options_.cursorVisible = state;\n\n if (!state) {\n if (this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n this.cursorNode_.style.opacity = '0';\n return;\n }\n\n this.syncCursorPosition_();\n\n this.cursorNode_.style.opacity = '1';\n\n if (this.options_.cursorBlink) {\n if (this.timeouts_.cursorBlink)\n return;\n\n this.onCursorBlink_();\n } else {\n if (this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n }\n};\n\n/**\n * Synchronizes the visible cursor and document selection with the current\n * cursor coordinates.\n */\nhterm.Terminal.prototype.syncCursorPosition_ = function() {\n var topRowIndex = this.scrollPort_.getTopRowIndex();\n var bottomRowIndex = this.scrollPort_.getBottomRowIndex(topRowIndex);\n var cursorRowIndex = this.scrollbackRows_.length +\n this.screen_.cursorPosition.row;\n\n if (cursorRowIndex > bottomRowIndex) {\n // Cursor is scrolled off screen, move it outside of the visible area.\n this.setCssVar('cursor-offset-row', '-1');\n return;\n }\n\n if (this.options_.cursorVisible &&\n this.cursorNode_.style.display == 'none') {\n // Re-display the terminal cursor if it was hidden by the mouse cursor.\n this.cursorNode_.style.display = '';\n }\n\n // Position the cursor using CSS variable math. If we do the math in JS,\n // the float math will end up being more precise than the CSS which will\n // cause the cursor tracking to be off.\n this.setCssVar(\n 'cursor-offset-row',\n `${cursorRowIndex - topRowIndex} + ` +\n `${this.scrollPort_.visibleRowTopMargin}px`);\n this.setCssVar('cursor-offset-col', this.screen_.cursorPosition.column);\n\n this.cursorNode_.setAttribute('title',\n '(' + this.screen_.cursorPosition.column +\n ', ' + this.screen_.cursorPosition.row +\n ')');\n\n // Update the caret for a11y purposes.\n var selection = this.document_.getSelection();\n if (selection && selection.isCollapsed)\n this.screen_.syncSelectionCaret(selection);\n};\n\n/**\n * Adjusts the style of this.cursorNode_ according to the current cursor shape\n * and character cell dimensions.\n */\nhterm.Terminal.prototype.restyleCursor_ = function() {\n var shape = this.cursorShape_;\n\n if (this.cursorNode_.getAttribute('focus') == 'false') {\n // Always show a block cursor when unfocused.\n shape = hterm.Terminal.cursorShape.BLOCK;\n }\n\n var style = this.cursorNode_.style;\n\n switch (shape) {\n case hterm.Terminal.cursorShape.BEAM:\n style.height = 'var(--hterm-charsize-height)';\n style.backgroundColor = 'transparent';\n style.borderBottomStyle = null;\n style.borderLeftStyle = 'solid';\n break;\n\n case hterm.Terminal.cursorShape.UNDERLINE:\n style.height = this.scrollPort_.characterSize.baseline + 'px';\n style.backgroundColor = 'transparent';\n style.borderBottomStyle = 'solid';\n // correct the size to put it exactly at the baseline\n style.borderLeftStyle = null;\n break;\n\n default:\n style.height = 'var(--hterm-charsize-height)';\n style.backgroundColor = this.cursorColor_;\n style.borderBottomStyle = null;\n style.borderLeftStyle = null;\n break;\n }\n};\n\n/**\n * Synchronizes the visible cursor with the current cursor coordinates.\n *\n * The sync will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single sync.\n */\nhterm.Terminal.prototype.scheduleSyncCursorPosition_ = function() {\n if (this.timeouts_.syncCursor)\n return;\n\n var self = this;\n this.timeouts_.syncCursor = setTimeout(function() {\n self.syncCursorPosition_();\n delete self.timeouts_.syncCursor;\n }, 0);\n};\n\n/**\n * Show or hide the zoom warning.\n *\n * The zoom warning is a message warning the user that their browser zoom must\n * be set to 100% in order for hterm to function properly.\n *\n * @param {boolean} state True to show the message, false to hide it.\n */\nhterm.Terminal.prototype.showZoomWarning_ = function(state) {\n if (!this.zoomWarningNode_) {\n if (!state)\n return;\n\n this.zoomWarningNode_ = this.document_.createElement('div');\n this.zoomWarningNode_.id = 'hterm:zoom-warning';\n this.zoomWarningNode_.style.cssText = (\n 'color: black;' +\n 'background-color: #ff2222;' +\n 'font-size: large;' +\n 'border-radius: 8px;' +\n 'opacity: 0.75;' +\n 'padding: 0.2em 0.5em 0.2em 0.5em;' +\n 'top: 0.5em;' +\n 'right: 1.2em;' +\n 'position: absolute;' +\n '-webkit-text-size-adjust: none;' +\n '-webkit-user-select: none;' +\n '-moz-text-size-adjust: none;' +\n '-moz-user-select: none;');\n\n this.zoomWarningNode_.addEventListener('click', function(e) {\n this.parentNode.removeChild(this);\n });\n }\n\n this.zoomWarningNode_.textContent = lib.MessageManager.replaceReferences(\n hterm.zoomWarningMessage,\n [parseInt(this.scrollPort_.characterSize.zoomFactor * 100)]);\n\n this.zoomWarningNode_.style.fontFamily = this.prefs_.get('font-family');\n\n if (state) {\n if (!this.zoomWarningNode_.parentNode)\n this.div_.parentNode.appendChild(this.zoomWarningNode_);\n } else if (this.zoomWarningNode_.parentNode) {\n this.zoomWarningNode_.parentNode.removeChild(this.zoomWarningNode_);\n }\n};\n\n/**\n * Show the terminal overlay for a given amount of time.\n *\n * The terminal overlay appears in inverse video in a large font, centered\n * over the terminal. You should probably keep the overlay message brief,\n * since it's in a large font and you probably aren't going to check the size\n * of the terminal first.\n *\n * @param {string} msg The text (not HTML) message to display in the overlay.\n * @param {number} opt_timeout The amount of time to wait before fading out\n * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay\n * stay up forever (or until the next overlay).\n */\nhterm.Terminal.prototype.showOverlay = function(msg, opt_timeout) {\n if (!this.overlayNode_) {\n if (!this.div_)\n return;\n\n this.overlayNode_ = this.document_.createElement('div');\n this.overlayNode_.style.cssText = (\n 'border-radius: 15px;' +\n 'font-size: xx-large;' +\n 'opacity: 0.75;' +\n 'padding: 0.2em 0.5em 0.2em 0.5em;' +\n 'position: absolute;' +\n '-webkit-user-select: none;' +\n '-webkit-transition: opacity 180ms ease-in;' +\n '-moz-user-select: none;' +\n '-moz-transition: opacity 180ms ease-in;');\n\n this.overlayNode_.addEventListener('mousedown', function(e) {\n e.preventDefault();\n e.stopPropagation();\n }, true);\n }\n\n this.overlayNode_.style.color = this.prefs_.get('background-color');\n this.overlayNode_.style.backgroundColor = this.prefs_.get('foreground-color');\n this.overlayNode_.style.fontFamily = this.prefs_.get('font-family');\n\n this.overlayNode_.textContent = msg;\n this.overlayNode_.style.opacity = '0.75';\n\n if (!this.overlayNode_.parentNode)\n this.div_.appendChild(this.overlayNode_);\n\n var divSize = hterm.getClientSize(this.div_);\n var overlaySize = hterm.getClientSize(this.overlayNode_);\n\n this.overlayNode_.style.top =\n (divSize.height - overlaySize.height) / 2 + 'px';\n this.overlayNode_.style.left = (divSize.width - overlaySize.width -\n this.scrollPort_.currentScrollbarWidthPx) / 2 + 'px';\n\n var self = this;\n\n if (this.overlayTimeout_)\n clearTimeout(this.overlayTimeout_);\n\n if (opt_timeout === null)\n return;\n\n this.overlayTimeout_ = setTimeout(function() {\n self.overlayNode_.style.opacity = '0';\n self.overlayTimeout_ = setTimeout(function() {\n if (self.overlayNode_.parentNode)\n self.overlayNode_.parentNode.removeChild(self.overlayNode_);\n self.overlayTimeout_ = null;\n self.overlayNode_.style.opacity = '0.75';\n }, 200);\n }, opt_timeout || 1500);\n};\n\n/**\n * Paste from the system clipboard to the terminal.\n */\nhterm.Terminal.prototype.paste = function() {\n return hterm.pasteFromClipboard(this.document_);\n};\n\n/**\n * Copy a string to the system clipboard.\n *\n * Note: If there is a selected range in the terminal, it'll be cleared.\n *\n * @param {string} str The string to copy.\n */\nhterm.Terminal.prototype.copyStringToClipboard = function(str) {\n if (this.prefs_.get('enable-clipboard-notice'))\n setTimeout(this.showOverlay.bind(this, hterm.notifyCopyMessage, 500), 200);\n\n var copySource = this.document_.createElement('pre');\n copySource.id = 'hterm:copy-to-clipboard-source';\n copySource.textContent = str;\n copySource.style.cssText = (\n '-webkit-user-select: text;' +\n '-moz-user-select: text;' +\n 'position: absolute;' +\n 'top: -99px');\n\n this.document_.body.appendChild(copySource);\n\n var selection = this.document_.getSelection();\n var anchorNode = selection.anchorNode;\n var anchorOffset = selection.anchorOffset;\n var focusNode = selection.focusNode;\n var focusOffset = selection.focusOffset;\n\n selection.selectAllChildren(copySource);\n\n hterm.copySelectionToClipboard(this.document_);\n\n // IE doesn't support selection.extend. This means that the selection\n // won't return on IE.\n if (selection.extend) {\n selection.collapse(anchorNode, anchorOffset);\n selection.extend(focusNode, focusOffset);\n }\n\n copySource.parentNode.removeChild(copySource);\n};\n\n/**\n * Returns the selected text, or null if no text is selected.\n *\n * @return {string|null}\n */\nhterm.Terminal.prototype.getSelectionText = function() {\n var selection = this.scrollPort_.selection;\n selection.sync();\n\n if (selection.isCollapsed)\n return null;\n\n\n // Start offset measures from the beginning of the line.\n var startOffset = selection.startOffset;\n var node = selection.startNode;\n\n if (node.nodeName != 'X-ROW') {\n // If the selection doesn't start on an x-row node, then it must be\n // somewhere inside the x-row. Add any characters from previous siblings\n // into the start offset.\n\n if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') {\n // If node is the text node in a styled span, move up to the span node.\n node = node.parentNode;\n }\n\n while (node.previousSibling) {\n node = node.previousSibling;\n startOffset += hterm.TextAttributes.nodeWidth(node);\n }\n }\n\n // End offset measures from the end of the line.\n var endOffset = (hterm.TextAttributes.nodeWidth(selection.endNode) -\n selection.endOffset);\n node = selection.endNode;\n\n if (node.nodeName != 'X-ROW') {\n // If the selection doesn't end on an x-row node, then it must be\n // somewhere inside the x-row. Add any characters from following siblings\n // into the end offset.\n\n if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') {\n // If node is the text node in a styled span, move up to the span node.\n node = node.parentNode;\n }\n\n while (node.nextSibling) {\n node = node.nextSibling;\n endOffset += hterm.TextAttributes.nodeWidth(node);\n }\n }\n\n var rv = this.getRowsText(selection.startRow.rowIndex,\n selection.endRow.rowIndex + 1);\n return lib.wc.substring(rv, startOffset, lib.wc.strWidth(rv) - endOffset);\n};\n\n/**\n * Copy the current selection to the system clipboard, then clear it after a\n * short delay.\n */\nhterm.Terminal.prototype.copySelectionToClipboard = function() {\n var text = this.getSelectionText();\n if (text != null)\n this.copyStringToClipboard(text);\n};\n\nhterm.Terminal.prototype.overlaySize = function() {\n this.showOverlay(this.screenSize.width + 'x' + this.screenSize.height);\n};\n\n/**\n * Invoked by hterm.Terminal.Keyboard when a VT keystroke is detected.\n *\n * @param {string} string The VT string representing the keystroke, in UTF-16.\n */\nhterm.Terminal.prototype.onVTKeystroke = function(string) {\n if (this.scrollOnKeystroke_)\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n\n this.io.onVTKeystroke(this.keyboard.encode(string));\n};\n\n/**\n * Launches url in a new tab.\n *\n * @param {string} url URL to launch in a new tab.\n */\nhterm.Terminal.prototype.openUrl = function(url) {\n if (window.chrome && window.chrome.browser) {\n // For Chrome v2 apps, we need to use this API to properly open windows.\n chrome.browser.openTab({'url': url});\n } else {\n var win = window.open(url, '_blank');\n win.focus();\n }\n}\n\n/**\n * Open the selected url.\n */\nhterm.Terminal.prototype.openSelectedUrl_ = function() {\n var str = this.getSelectionText();\n\n // If there is no selection, try and expand wherever they clicked.\n if (str == null) {\n this.screen_.expandSelection(this.document_.getSelection());\n str = this.getSelectionText();\n\n // If clicking in empty space, return.\n if (str == null)\n return;\n }\n\n // Make sure URL is valid before opening.\n if (str.length > 2048 || str.search(/[\\s\\[\\](){}<>\"'\\\\^`]/) >= 0)\n return;\n\n // If the URI isn't anchored, it'll open relative to the extension.\n // We have no way of knowing the correct schema, so assume http.\n if (str.search('^[a-zA-Z][a-zA-Z0-9+.-]*://') < 0) {\n // We have to whitelist a few protocols that lack authorities and thus\n // never use the //. Like mailto.\n switch (str.split(':', 1)[0]) {\n case 'mailto':\n break;\n default:\n str = 'http://' + str;\n break;\n }\n }\n\n this.openUrl(str);\n}\n\n\n/**\n * Add the terminalRow and terminalColumn properties to mouse events and\n * then forward on to onMouse().\n *\n * The terminalRow and terminalColumn properties contain the (row, column)\n * coordinates for the mouse event.\n *\n * @param {Event} e The mouse event to handle.\n */\nhterm.Terminal.prototype.onMouse_ = function(e) {\n if (e.processedByTerminalHandler_) {\n // We register our event handlers on the document, as well as the cursor\n // and the scroll blocker. Mouse events that occur on the cursor or\n // scroll blocker will also appear on the document, but we don't want to\n // process them twice.\n //\n // We can't just prevent bubbling because that has other side effects, so\n // we decorate the event object with this property instead.\n return;\n }\n\n var reportMouseEvents = (!this.defeatMouseReports_ &&\n this.vt.mouseReport != this.vt.MOUSE_REPORT_DISABLED);\n\n e.processedByTerminalHandler_ = true;\n\n // One based row/column stored on the mouse event.\n e.terminalRow = parseInt((e.clientY - this.scrollPort_.visibleRowTopMargin) /\n this.scrollPort_.characterSize.height) + 1;\n e.terminalColumn = parseInt(e.clientX /\n this.scrollPort_.characterSize.width) + 1;\n\n if (e.type == 'mousedown' && e.terminalColumn > this.screenSize.width) {\n // Mousedown in the scrollbar area.\n return;\n }\n\n if (this.options_.cursorVisible && !reportMouseEvents) {\n // If the cursor is visible and we're not sending mouse events to the\n // host app, then we want to hide the terminal cursor when the mouse\n // cursor is over top. This keeps the terminal cursor from interfering\n // with local text selection.\n if (e.terminalRow - 1 == this.screen_.cursorPosition.row &&\n e.terminalColumn - 1 == this.screen_.cursorPosition.column) {\n this.cursorNode_.style.display = 'none';\n } else if (this.cursorNode_.style.display == 'none') {\n this.cursorNode_.style.display = '';\n }\n }\n\n if (e.type == 'mousedown') {\n if (e.altKey || !reportMouseEvents) {\n // If VT mouse reporting is disabled, or has been defeated with\n // alt-mousedown, then the mouse will act on the local selection.\n this.defeatMouseReports_ = true;\n this.setSelectionEnabled(true);\n } else {\n // Otherwise we defer ownership of the mouse to the VT.\n this.defeatMouseReports_ = false;\n this.document_.getSelection().collapseToEnd();\n this.setSelectionEnabled(false);\n e.preventDefault();\n }\n }\n\n if (!reportMouseEvents) {\n if (e.type == 'dblclick' && this.copyOnSelect) {\n this.screen_.expandSelection(this.document_.getSelection());\n this.copySelectionToClipboard(this.document_);\n }\n\n if (e.type == 'click' && !e.shiftKey && (e.ctrlKey || e.metaKey)) {\n // Debounce this event with the dblclick event. If you try to doubleclick\n // a URL to open it, Chrome will fire click then dblclick, but we won't\n // have expanded the selection text at the first click event.\n clearTimeout(this.timeouts_.openUrl);\n this.timeouts_.openUrl = setTimeout(this.openSelectedUrl_.bind(this),\n 500);\n return;\n }\n\n if (e.type == 'mousedown') {\n if ((this.mouseRightClickPaste && e.button == 2 /* right button */) ||\n e.button == this.mousePasteButton) {\n if (!this.paste())\n console.warning('Could not paste manually due to web restrictions');;\n }\n }\n\n if (e.type == 'mouseup' && e.button == 0 && this.copyOnSelect &&\n !this.document_.getSelection().isCollapsed) {\n this.copySelectionToClipboard(this.document_);\n }\n\n if ((e.type == 'mousemove' || e.type == 'mouseup') &&\n this.scrollBlockerNode_.engaged) {\n // Disengage the scroll-blocker after one of these events.\n this.scrollBlockerNode_.engaged = false;\n this.scrollBlockerNode_.style.top = '-99px';\n }\n\n // Emulate arrow key presses via scroll wheel events.\n if (this.scrollWheelArrowKeys_ && !e.shiftKey &&\n this.keyboard.applicationCursor && !this.isPrimaryScreen()) {\n if (e.type == 'wheel') {\n var delta = this.scrollPort_.scrollWheelDelta(e);\n var lines = lib.f.smartFloorDivide(\n Math.abs(delta), this.scrollPort_.characterSize.height);\n\n var data = '\\x1bO' + (delta < 0 ? 'B' : 'A');\n this.io.sendString(data.repeat(lines));\n\n e.preventDefault();\n }\n }\n } else /* if (this.reportMouseEvents) */ {\n if (!this.scrollBlockerNode_.engaged) {\n if (e.type == 'mousedown') {\n // Move the scroll-blocker into place if we want to keep the scrollport\n // from scrolling.\n this.scrollBlockerNode_.engaged = true;\n this.scrollBlockerNode_.style.top = (e.clientY - 5) + 'px';\n this.scrollBlockerNode_.style.left = (e.clientX - 5) + 'px';\n } else if (e.type == 'mousemove') {\n // Oh. This means that drag-scroll was disabled AFTER the mouse down,\n // in which case it's too late to engage the scroll-blocker.\n this.document_.getSelection().collapseToEnd();\n e.preventDefault();\n }\n }\n\n this.onMouse(e);\n }\n\n if (e.type == 'mouseup' && this.document_.getSelection().isCollapsed) {\n // Restore this on mouseup in case it was temporarily defeated with a\n // alt-mousedown. Only do this when the selection is empty so that\n // we don't immediately kill the users selection.\n this.defeatMouseReports_ = false;\n }\n};\n\n/**\n * Clients should override this if they care to know about mouse events.\n *\n * The event parameter will be a normal DOM mouse click event with additional\n * 'terminalRow' and 'terminalColumn' properties.\n *\n * @param {Event} e The mouse event to handle.\n */\nhterm.Terminal.prototype.onMouse = function(e) { };\n\n/**\n * React when focus changes.\n *\n * @param {boolean} focused True if focused, false otherwise.\n */\nhterm.Terminal.prototype.onFocusChange_ = function(focused) {\n this.cursorNode_.setAttribute('focus', focused);\n this.restyleCursor_();\n if (focused === true)\n this.closeBellNotifications_();\n};\n\n/**\n * React when the ScrollPort is scrolled.\n */\nhterm.Terminal.prototype.onScroll_ = function() {\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * React when text is pasted into the scrollPort.\n *\n * @param {Event} e The DOM paste event to handle.\n */\nhterm.Terminal.prototype.onPaste_ = function(e) {\n var data = e.text.replace(/\\n/mg, '\\r');\n data = this.keyboard.encode(data);\n if (this.options_.bracketedPaste)\n data = '\\x1b[200~' + data + '\\x1b[201~';\n\n this.io.sendString(data);\n};\n\n/**\n * React when the user tries to copy from the scrollPort.\n *\n * @param {Event} e The DOM copy event.\n */\nhterm.Terminal.prototype.onCopy_ = function(e) {\n if (!this.useDefaultWindowCopy) {\n e.preventDefault();\n setTimeout(this.copySelectionToClipboard.bind(this), 0);\n }\n};\n\n/**\n * React when the ScrollPort is resized.\n *\n * Note: This function should not directly contain code that alters the internal\n * state of the terminal. That kind of code belongs in realizeWidth or\n * realizeHeight, so that it can be executed synchronously in the case of a\n * programmatic width change.\n */\nhterm.Terminal.prototype.onResize_ = function() {\n var columnCount = Math.floor(this.scrollPort_.getScreenWidth() /\n this.scrollPort_.characterSize.width) || 0;\n var rowCount = lib.f.smartFloorDivide(this.scrollPort_.getScreenHeight(),\n this.scrollPort_.characterSize.height) || 0;\n\n if (columnCount <= 0 || rowCount <= 0) {\n // We avoid these situations since they happen sometimes when the terminal\n // gets removed from the document or during the initial load, and we can't\n // deal with that.\n // This can also happen if called before the scrollPort calculates the\n // character size, meaning we dived by 0 above and default to 0 values.\n return;\n }\n\n var isNewSize = (columnCount != this.screenSize.width ||\n rowCount != this.screenSize.height);\n\n // We do this even if the size didn't change, just to be sure everything is\n // in sync.\n this.realizeSize_(columnCount, rowCount);\n this.showZoomWarning_(this.scrollPort_.characterSize.zoomFactor != 1);\n\n if (isNewSize)\n this.overlaySize();\n\n this.restyleCursor_();\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Service the cursor blink timeout.\n */\nhterm.Terminal.prototype.onCursorBlink_ = function() {\n if (!this.options_.cursorBlink) {\n delete this.timeouts_.cursorBlink;\n return;\n }\n\n if (this.cursorNode_.getAttribute('focus') == 'false' ||\n this.cursorNode_.style.opacity == '0') {\n this.cursorNode_.style.opacity = '1';\n this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_,\n this.cursorBlinkCycle_[0]);\n } else {\n this.cursorNode_.style.opacity = '0';\n this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_,\n this.cursorBlinkCycle_[1]);\n }\n};\n\n/**\n * Set the scrollbar-visible mode bit.\n *\n * If scrollbar-visible is on, the vertical scrollbar will be visible.\n * Otherwise it will not.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set scrollbar-visible mode, false to unset.\n */\nhterm.Terminal.prototype.setScrollbarVisible = function(state) {\n this.scrollPort_.setScrollbarVisible(state);\n};\n\n/**\n * Set the scroll wheel move multiplier. This will affect how fast the page\n * scrolls on wheel events.\n *\n * Defaults to 1.\n *\n * @param {number} multiplier The multiplier to set.\n */\nhterm.Terminal.prototype.setScrollWheelMoveMultipler = function(multiplier) {\n this.scrollPort_.setScrollWheelMoveMultipler(multiplier);\n};\n\n/**\n * Close all web notifications created by terminal bells.\n */\nhterm.Terminal.prototype.closeBellNotifications_ = function() {\n this.bellNotificationList_.forEach(function(n) {\n n.close();\n });\n this.bellNotificationList_.length = 0;\n};\n// SOURCE FILE: hterm/js/hterm_terminal_io.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.encodeUTF8');\n\n/**\n * Input/Output interface used by commands to communicate with the terminal.\n *\n * Commands like `nassh` and `crosh` receive an instance of this class as\n * part of their argv object. This allows them to write to and read from the\n * terminal without exposing them to an entire hterm.Terminal instance.\n *\n * The active command must override the onVTKeystroke() and sendString() methods\n * of this class in order to receive keystrokes and send output to the correct\n * destination.\n *\n * Isolating commands from the terminal provides the following benefits:\n * - Provides a mechanism to save and restore onVTKeystroke and sendString\n * handlers when invoking subcommands (see the push() and pop() methods).\n * - The isolation makes it easier to make changes in Terminal and supporting\n * classes without affecting commands.\n * - In The Future commands may run in web workers where they would only be able\n * to talk to a Terminal instance through an IPC mechanism.\n *\n * @param {hterm.Terminal}\n */\nhterm.Terminal.IO = function(terminal) {\n this.terminal_ = terminal;\n\n // The IO object to restore on IO.pop().\n this.previousIO_ = null;\n};\n\n/**\n * Show the terminal overlay for a given amount of time.\n *\n * The terminal overlay appears in inverse video in a large font, centered\n * over the terminal. You should probably keep the overlay message brief,\n * since it's in a large font and you probably aren't going to check the size\n * of the terminal first.\n *\n * @param {string} msg The text (not HTML) message to display in the overlay.\n * @param {number} opt_timeout The amount of time to wait before fading out\n * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay\n * stay up forever (or until the next overlay).\n */\nhterm.Terminal.IO.prototype.showOverlay = function(message, opt_timeout) {\n this.terminal_.showOverlay(message, opt_timeout);\n};\n\n/**\n * Open an frame in the current terminal window, pointed to the specified\n * url.\n *\n * Eventually we'll probably need size/position/decoration options.\n * The user should also be able to move/resize the frame.\n *\n * @param {string} url The URL to load in the frame.\n * @param {Object} opt_options Optional frame options. Not implemented.\n */\nhterm.Terminal.IO.prototype.createFrame = function(url, opt_options) {\n return new hterm.Frame(this.terminal_, url, opt_options);\n};\n\n/**\n * Change the preference profile for the terminal.\n *\n * @param profileName {string} The name of the preference profile to activate.\n */\nhterm.Terminal.IO.prototype.setTerminalProfile = function(profileName) {\n this.terminal_.setProfile(profileName);\n};\n\n/**\n * Create a new hterm.Terminal.IO instance and make it active on the Terminal\n * object associated with this instance.\n *\n * This is used to pass control of the terminal IO off to a subcommand. The\n * IO.pop() method can be used to restore control when the subcommand completes.\n */\nhterm.Terminal.IO.prototype.push = function() {\n var io = new hterm.Terminal.IO(this.terminal_);\n io.keyboardCaptured_ = this.keyboardCaptured_;\n\n io.columnCount = this.columnCount;\n io.rowCount = this.rowCount;\n\n io.previousIO_ = this.terminal_.io;\n this.terminal_.io = io;\n\n return io;\n};\n\n/**\n * Restore the Terminal's previous IO object.\n */\nhterm.Terminal.IO.prototype.pop = function() {\n this.terminal_.io = this.previousIO_;\n};\n\n/**\n * Called when data needs to be sent to the current command.\n *\n * Clients should override this to receive notification of pending data.\n *\n * @param {string} string The data to send.\n */\nhterm.Terminal.IO.prototype.sendString = function(string) {\n // Override this.\n console.log('Unhandled sendString: ' + string);\n};\n\n/**\n * Called when a terminal keystroke is detected.\n *\n * Clients should override this to receive notification of keystrokes.\n *\n * The keystroke data will be encoded according to the 'send-encoding'\n * preference.\n *\n * @param {string} string The VT key sequence.\n */\nhterm.Terminal.IO.prototype.onVTKeystroke = function(string) {\n // Override this.\n console.log('Unobserverd VT keystroke: ' + JSON.stringify(string));\n};\n\nhterm.Terminal.IO.prototype.onTerminalResize_ = function(width, height) {\n var obj = this;\n while (obj) {\n obj.columnCount = width;\n obj.rowCount = height;\n obj = obj.previousIO_;\n }\n\n this.onTerminalResize(width, height);\n};\n\n/**\n * Called when terminal size is changed.\n *\n * Clients should override this to receive notification of resize.\n *\n * @param {string|integer} terminal width.\n * @param {string|integer} terminal height.\n */\nhterm.Terminal.IO.prototype.onTerminalResize = function(width, height) {\n // Override this.\n};\n\n/**\n * Write a UTF-8 encoded byte string to the terminal.\n *\n * @param {string} string The UTF-8 encoded string to print.\n */\nhterm.Terminal.IO.prototype.writeUTF8 = function(string) {\n if (this.terminal_.io != this)\n throw 'Attempt to print from inactive IO object.';\n\n this.terminal_.interpret(string);\n};\n\n/**\n * Write a UTF-8 encoded byte string to the terminal followed by crlf.\n *\n * @param {string} string The UTF-8 encoded string to print.\n */\nhterm.Terminal.IO.prototype.writelnUTF8 = function(string) {\n if (this.terminal_.io != this)\n throw 'Attempt to print from inactive IO object.';\n\n this.terminal_.interpret(string + '\\r\\n');\n};\n\n/**\n * Write a UTF-16 JavaScript string to the terminal.\n *\n * @param {string} string The string to print.\n */\nhterm.Terminal.IO.prototype.print =\nhterm.Terminal.IO.prototype.writeUTF16 = function(string) {\n this.writeUTF8(lib.encodeUTF8(string));\n};\n\n/**\n * Print a UTF-16 JavaScript string to the terminal followed by a newline.\n *\n * @param {string} string The string to print.\n */\nhterm.Terminal.IO.prototype.println =\nhterm.Terminal.IO.prototype.writelnUTF16 = function(string) {\n this.writelnUTF8(lib.encodeUTF8(string));\n};\n// SOURCE FILE: hterm/js/hterm_text_attributes.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors');\n\n/**\n * Constructor for TextAttribute objects.\n *\n * These objects manage a set of text attributes such as foreground/\n * background color, bold, faint, italic, blink, underline, and strikethrough.\n *\n * TextAttribute instances can be used to construct a DOM container implementing\n * the current attributes, or to test an existing DOM container for\n * compatibility with the current attributes.\n *\n * @constructor\n * @param {HTMLDocument} document The parent document to use when creating\n * new DOM containers.\n */\nhterm.TextAttributes = function(document) {\n this.document_ = document;\n // These variables contain the source of the color as either:\n // SRC_DEFAULT (use context default)\n // SRC_RGB (specified in 'rgb( r, g, b)' form)\n // number (representing the index from color palette to use)\n this.foregroundSource = this.SRC_DEFAULT;\n this.backgroundSource = this.SRC_DEFAULT;\n\n // These properties cache the value in the color table, but foregroundSource\n // and backgroundSource contain the canonical values.\n this.foreground = this.DEFAULT_COLOR;\n this.background = this.DEFAULT_COLOR;\n\n this.defaultForeground = 'rgb(255, 255, 255)';\n this.defaultBackground = 'rgb(0, 0, 0)';\n\n this.bold = false;\n this.faint = false;\n this.italic = false;\n this.blink = false;\n this.underline = false;\n this.strikethrough = false;\n this.inverse = false;\n this.invisible = false;\n this.wcNode = false;\n this.asciiNode = true;\n this.tileData = null;\n\n this.colorPalette = null;\n this.resetColorPalette();\n};\n\n/**\n * If false, we ignore the bold attribute.\n *\n * This is used for fonts that have a bold version that is a different size\n * than the normal weight version.\n */\nhterm.TextAttributes.prototype.enableBold = true;\n\n/**\n * If true, use bright colors (if available) for bold text.\n *\n * This setting is independent of the enableBold setting.\n */\nhterm.TextAttributes.prototype.enableBoldAsBright = true;\n\n/**\n * A sentinel constant meaning \"whatever the default color is in this context\".\n */\nhterm.TextAttributes.prototype.DEFAULT_COLOR = lib.f.createEnum('');\n\n/**\n * A constant string used to specify that source color is context default.\n */\nhterm.TextAttributes.prototype.SRC_DEFAULT = 'default';\n\n\n/**\n * A constant string used to specify that the source of a color is a valid\n * rgb( r, g, b) specifier.\n */\nhterm.TextAttributes.prototype.SRC_RGB = 'rgb';\n\n/**\n * The document object which should own the DOM nodes created by this instance.\n *\n * @param {HTMLDocument} document The parent document.\n */\nhterm.TextAttributes.prototype.setDocument = function(document) {\n this.document_ = document;\n};\n\n/**\n * Create a deep copy of this object.\n *\n * @return {hterm.TextAttributes} A deep copy of this object.\n */\nhterm.TextAttributes.prototype.clone = function() {\n var rv = new hterm.TextAttributes(null);\n\n for (var key in this) {\n rv[key] = this[key];\n }\n\n rv.colorPalette = this.colorPalette.concat();\n return rv;\n};\n\n/**\n * Reset the current set of attributes.\n *\n * This does not affect the palette. Use resetColorPalette() for that.\n * It also doesn't affect the tile data, it's not meant to.\n */\nhterm.TextAttributes.prototype.reset = function() {\n this.foregroundSource = this.SRC_DEFAULT;\n this.backgroundSource = this.SRC_DEFAULT;\n this.foreground = this.DEFAULT_COLOR;\n this.background = this.DEFAULT_COLOR;\n this.bold = false;\n this.faint = false;\n this.italic = false;\n this.blink = false;\n this.underline = false;\n this.strikethrough = false;\n this.inverse = false;\n this.invisible = false;\n this.wcNode = false;\n this.asciiNode = true;\n};\n\n/**\n * Reset the color palette to the default state.\n */\nhterm.TextAttributes.prototype.resetColorPalette = function() {\n this.colorPalette = lib.colors.colorPalette.concat();\n this.syncColors();\n};\n\n/**\n * Test if the current attributes describe unstyled text.\n *\n * @return {boolean} True if the current attributes describe unstyled text.\n */\nhterm.TextAttributes.prototype.isDefault = function() {\n return (this.foregroundSource == this.SRC_DEFAULT &&\n this.backgroundSource == this.SRC_DEFAULT &&\n !this.bold &&\n !this.faint &&\n !this.italic &&\n !this.blink &&\n !this.underline &&\n !this.strikethrough &&\n !this.inverse &&\n !this.invisible &&\n !this.wcNode &&\n this.asciiNode &&\n this.tileData == null);\n};\n\n/**\n * Create a DOM container (a span or a text node) with a style to match the\n * current set of attributes.\n *\n * This method will create a plain text node if the text is unstyled, or\n * an HTML span if the text is styled. Due to lack of monospace wide character\n * fonts on certain systems (e.g. Chrome OS), we need to put each wide character\n * in a span of CSS class '.wc-node' which has double column width.\n * Each vt_tiledata tile is also represented by a span with a single\n * character, with CSS classes '.tile' and '.tile_'.\n *\n * @param {string} opt_textContent Optional text content for the new container.\n * @return {HTMLNode} An HTML span or text nodes styled to match the current\n * attributes.\n */\nhterm.TextAttributes.prototype.createContainer = function(opt_textContent) {\n if (this.isDefault())\n return this.document_.createTextNode(opt_textContent);\n\n var span = this.document_.createElement('span');\n var style = span.style;\n var classes = [];\n\n if (this.foreground != this.DEFAULT_COLOR)\n style.color = this.foreground;\n\n if (this.background != this.DEFAULT_COLOR)\n style.backgroundColor = this.background;\n\n if (this.enableBold && this.bold)\n style.fontWeight = 'bold';\n\n if (this.faint)\n span.faint = true;\n\n if (this.italic)\n style.fontStyle = 'italic';\n\n if (this.blink) {\n classes.push('blink-node');\n span.blinkNode = true;\n }\n\n var textDecoration = '';\n if (this.underline) {\n textDecoration += ' underline';\n span.underline = true;\n }\n if (this.strikethrough) {\n textDecoration += ' line-through';\n span.strikethrough = true;\n }\n if (textDecoration) {\n style.textDecoration = textDecoration;\n }\n\n if (this.wcNode) {\n classes.push('wc-node');\n span.wcNode = true;\n span.asciiNode = false;\n }\n\n if (this.tileData != null) {\n classes.push('tile');\n classes.push('tile_' + this.tileData);\n span.tileNode = true;\n }\n\n if (opt_textContent)\n span.textContent = opt_textContent;\n\n if (classes.length)\n span.className = classes.join(' ');\n\n return span;\n};\n\n/**\n * Tests if the provided object (string, span or text node) has the same\n * style as this TextAttributes instance.\n *\n * This indicates that text with these attributes could be inserted directly\n * into the target DOM node.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj The object to test.\n * @return {boolean} True if the provided container has the same style as\n * this attributes instance.\n */\nhterm.TextAttributes.prototype.matchesContainer = function(obj) {\n if (typeof obj == 'string' || obj.nodeType == 3)\n return this.isDefault();\n\n var style = obj.style;\n\n // We don't want to put multiple characters in a wcNode or a tile.\n // See the comments in createContainer.\n return (!(this.wcNode || obj.wcNode) &&\n this.asciiNode == this.asciiNode &&\n !(this.tileData != null || obj.tileNode) &&\n this.foreground == style.color &&\n this.background == style.backgroundColor &&\n (this.enableBold && this.bold) == !!style.fontWeight &&\n this.blink == obj.blinkNode &&\n this.italic == !!style.fontStyle &&\n !!this.underline == !!obj.underline &&\n !!this.strikethrough == !!obj.strikethrough);\n};\n\nhterm.TextAttributes.prototype.setDefaults = function(foreground, background) {\n this.defaultForeground = foreground;\n this.defaultBackground = background;\n\n this.syncColors();\n};\n\n/**\n * Updates foreground and background properties based on current indices and\n * other state.\n *\n * @param {string} terminalForeground The terminal foreground color for use as\n * inverse text background.\n * @param {string} terminalBackground The terminal background color for use as\n * inverse text foreground.\n *\n */\nhterm.TextAttributes.prototype.syncColors = function() {\n function getBrightIndex(i) {\n if (i < 8) {\n // If the color is from the lower half of the ANSI 16, add 8.\n return i + 8;\n }\n\n // If it's not from the 16 color palette, ignore bold requests. This\n // matches the behavior of gnome-terminal.\n return i;\n }\n\n var foregroundSource = this.foregroundSource;\n var backgroundSource = this.backgroundSource;\n var defaultForeground = this.DEFAULT_COLOR;\n var defaultBackground = this.DEFAULT_COLOR;\n\n if (this.inverse) {\n foregroundSource = this.backgroundSource;\n backgroundSource = this.foregroundSource;\n // We can't inherit the container's color anymore.\n defaultForeground = this.defaultBackground;\n defaultBackground = this.defaultForeground;\n }\n\n if (this.enableBoldAsBright && this.bold) {\n if (foregroundSource != this.SRC_DEFAULT &&\n foregroundSource != this.SRC_RGB) {\n foregroundSource = getBrightIndex(foregroundSource);\n }\n }\n\n if (this.invisible) {\n foregroundSource = backgroundSource;\n defaultForeground = this.defaultBackground;\n }\n\n // Set fore/background colors unless already specified in rgb(r, g, b) form.\n if (foregroundSource != this.SRC_RGB) {\n this.foreground = ((foregroundSource == this.SRC_DEFAULT) ?\n defaultForeground : this.colorPalette[foregroundSource]);\n }\n\n if (this.faint && !this.invisible) {\n var colorToMakeFaint = ((this.foreground == this.DEFAULT_COLOR) ?\n this.defaultForeground : this.foreground);\n this.foreground = lib.colors.mix(colorToMakeFaint, 'rgb(0, 0, 0)', 0.3333);\n }\n\n if (backgroundSource != this.SRC_RGB) {\n this.background = ((backgroundSource == this.SRC_DEFAULT) ?\n defaultBackground : this.colorPalette[backgroundSource]);\n }\n};\n\n/**\n * Static method used to test if the provided objects (strings, spans or\n * text nodes) have the same style.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj1 An object to test.\n * @param {string|HTMLNode} obj2 Another object to test.\n * @return {boolean} True if the containers have the same style.\n */\nhterm.TextAttributes.containersMatch = function(obj1, obj2) {\n if (typeof obj1 == 'string')\n return hterm.TextAttributes.containerIsDefault(obj2);\n\n if (obj1.nodeType != obj2.nodeType)\n return false;\n\n if (obj1.nodeType == 3)\n return true;\n\n var style1 = obj1.style;\n var style2 = obj2.style;\n\n return (style1.color == style2.color &&\n style1.backgroundColor == style2.backgroundColor &&\n style1.fontWeight == style2.fontWeight &&\n style1.fontStyle == style2.fontStyle &&\n style1.textDecoration == style2.textDecoration);\n};\n\n/**\n * Static method to test if a given DOM container represents unstyled text.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj1 An object to test.\n * @return {boolean} True if the object is unstyled.\n */\nhterm.TextAttributes.containerIsDefault = function(obj) {\n return typeof obj == 'string' || obj.nodeType == 3;\n};\n\n/**\n * Static method to get the column width of a node's textContent.\n *\n * @param {HTMLElement} node The HTML element to get the width of textContent\n * from.\n * @return {integer} The column width of the node's textContent.\n */\nhterm.TextAttributes.nodeWidth = function(node) {\n if (!node.asciiNode) {\n return lib.wc.strWidth(node.textContent);\n } else {\n return node.textContent.length;\n }\n}\n\n/**\n * Static method to get the substr of a node's textContent. The start index\n * and substr width are computed in column width.\n *\n * @param {HTMLElement} node The HTML element to get the substr of textContent\n * from.\n * @param {integer} start The starting offset in column width.\n * @param {integer} width The width to capture in column width.\n * @return {integer} The extracted substr of the node's textContent.\n */\nhterm.TextAttributes.nodeSubstr = function(node, start, width) {\n if (!node.asciiNode) {\n return lib.wc.substr(node.textContent, start, width);\n } else {\n return node.textContent.substr(start, width);\n }\n}\n\n/**\n * Static method to get the substring based of a node's textContent. The\n * start index of end index are computed in column width.\n *\n * @param {HTMLElement} node The HTML element to get the substr of textContent\n * from.\n * @param {integer} start The starting offset in column width.\n * @param {integer} end The ending offset in column width.\n * @return {integer} The extracted substring of the node's textContent.\n */\nhterm.TextAttributes.nodeSubstring = function(node, start, end) {\n if (!node.asciiNode) {\n return lib.wc.substring(node.textContent, start, end);\n } else {\n return node.textContent.substring(start, end);\n }\n};\n\n/**\n * Static method to split a string into contiguous runs of single-width\n * characters and runs of double-width characters.\n *\n * @param {string} str The string to split.\n * @return {Array} An array of objects that contain substrings of str, where\n * each substring is either a contiguous runs of single-width characters\n * or a double-width character. For objects that contain a double-width\n * character, its wcNode property is set to true. For objects that contain\n * only ASCII content, its asciiNode property is set to true.\n */\nhterm.TextAttributes.splitWidecharString = function(str) {\n var rv = [];\n var base = 0, length = 0;\n var asciiNode = true;\n\n for (var i = 0; i < str.length;) {\n var c = str.codePointAt(i);\n var increment = (c <= 0xffff) ? 1 : 2;\n if (c < 128) {\n length += increment;\n } else if (lib.wc.charWidth(c) <= 1) {\n length += increment;\n asciiNode = false;\n } else {\n if (length) {\n rv.push({\n str: str.substr(base, length),\n asciiNode: asciiNode,\n });\n asciiNode = true;\n }\n rv.push({\n str: str.substr(i, increment),\n wcNode: true,\n asciiNode: false,\n });\n base = i + increment;\n length = 0;\n }\n i += increment;\n }\n\n if (length) {\n rv.push({\n str: str.substr(base, length),\n asciiNode: asciiNode,\n });\n }\n\n return rv;\n};\n// SOURCE FILE: hterm/js/hterm_vt.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors', 'lib.f', 'lib.UTF8Decoder',\n 'hterm.VT.CharacterMap');\n\n/**\n * Constructor for the VT escape sequence interpreter.\n *\n * The interpreter operates on a terminal object capable of performing cursor\n * move operations, painting characters, etc.\n *\n * This interpreter is intended to be compatible with xterm, though it\n * ignores some of the more esoteric escape sequences.\n *\n * Control sequences are documented in hterm/doc/ControlSequences.md.\n *\n * @param {hterm.Terminal} terminal Terminal to use with the interpreter.\n */\nhterm.VT = function(terminal) {\n /**\n * The display terminal object associated with this virtual terminal.\n */\n this.terminal = terminal;\n\n terminal.onMouse = this.onTerminalMouse_.bind(this);\n this.mouseReport = this.MOUSE_REPORT_DISABLED;\n\n // Parse state left over from the last parse. You should use the parseState\n // instance passed into your parse routine, rather than reading\n // this.parseState_ directly.\n this.parseState_ = new hterm.VT.ParseState(this.parseUnknown_);\n\n // Any \"leading modifiers\" for the escape sequence, such as '?', ' ', or the\n // other modifiers handled in this.parseCSI_.\n this.leadingModifier_ = '';\n\n // Any \"trailing modifiers\". Same character set as a leading modifier,\n // except these are found after the numeric arguments.\n this.trailingModifier_ = '';\n\n // Whether or not to respect the escape codes for setting terminal width.\n this.allowColumnWidthChanges_ = false;\n\n // The amount of time we're willing to wait for the end of an OSC sequence.\n this.oscTimeLimit_ = 20000;\n\n // Decoder to maintain UTF-8 decode state.\n this.utf8Decoder_ = new lib.UTF8Decoder();\n\n /**\n * Whether to accept the 8-bit control characters.\n *\n * An 8-bit control character is one with the eighth bit set. These\n * didn't work on 7-bit terminals so they all have two byte equivalents.\n * Most hosts still only use the two-byte versions.\n *\n * We ignore 8-bit control codes by default. This is in order to avoid\n * issues with \"accidental\" usage of codes that need to be terminated.\n * The \"accident\" usually involves cat'ing binary data.\n */\n this.enable8BitControl = false;\n\n /**\n * Whether to allow the OSC 52 sequence to write to the system clipboard.\n */\n this.enableClipboardWrite = true;\n\n /**\n * Respect the host's attempt to change the cursor blink status using\n * the DEC Private mode 12.\n */\n this.enableDec12 = false;\n\n /**\n * The expected encoding method for data received from the host.\n */\n this.characterEncoding = 'utf-8';\n\n /**\n * Max length of an unterminated DCS, OSC, PM or APC sequence before we give\n * up and ignore the code.\n *\n * These all end with a String Terminator (ST, '\\x9c', ESC '\\\\') or\n * (BEL, '\\x07') character, hence the \"string sequence\" moniker.\n */\n this.maxStringSequence = 1024;\n\n /**\n * If true, emit warnings when we encounter a control character or escape\n * sequence that we don't recognize or explicitly ignore.\n */\n this.warnUnimplemented = true;\n\n /**\n * The set of available character maps (used by G0...G3 below).\n */\n this.characterMaps = new hterm.VT.CharacterMaps();\n\n /**\n * The default G0...G3 character maps.\n * We default to the US/ASCII map everywhere as that aligns with other\n * terminals, and it makes it harder to accidentally switch to the graphics\n * character map (Ctrl-N). Any program that wants to use the graphics map\n * will usually select it anyways since there's no guarantee what state any\n * of the maps are in at any particular time.\n */\n this.G0 = this.G1 = this.G2 = this.G3 =\n this.characterMaps.getMap('B');\n\n /**\n * The 7-bit visible character set.\n *\n * This is a mapping from inbound data to display glyph. The GL set\n * contains the 94 bytes from 0x21 to 0x7e.\n *\n * The default GL set is 'B', US ASCII.\n */\n this.GL = 'G0';\n\n /**\n * The 8-bit visible character set.\n *\n * This is a mapping from inbound data to display glyph. The GR set\n * contains the 94 bytes from 0xa1 to 0xfe.\n */\n this.GR = 'G0';\n\n /**\n * The current encoding of the terminal.\n *\n * We only support ECMA-35 and UTF-8, so go with a boolean here.\n * The encoding can be locked too.\n */\n this.codingSystemUtf8_ = false;\n this.codingSystemLocked_ = false;\n\n // Construct a regular expression to match the known one-byte control chars.\n // This is used in parseUnknown_ to quickly scan a string for the next\n // control character.\n this.cc1Pattern_ = null;\n this.updateEncodingState_();\n\n // Saved state used in DECSC.\n //\n // This is a place to store a copy VT state, it is *not* the active state.\n this.savedState_ = new hterm.VT.CursorState(this);\n};\n\n/**\n * No mouse events.\n */\nhterm.VT.prototype.MOUSE_REPORT_DISABLED = 0;\n\n/**\n * DECSET mode 1000.\n *\n * Report mouse down/up events only.\n */\nhterm.VT.prototype.MOUSE_REPORT_CLICK = 1;\n\n/**\n * DECSET mode 1002.\n *\n * Report mouse down/up and movement while a button is down.\n */\nhterm.VT.prototype.MOUSE_REPORT_DRAG = 3;\n\n/**\n * ParseState constructor.\n *\n * This object tracks the current state of the parse. It has fields for the\n * current buffer, position in the buffer, and the parse function.\n *\n * @param {function} defaultFunc The default parser function.\n * @param {string} opt_buf Optional string to use as the current buffer.\n */\nhterm.VT.ParseState = function(defaultFunction, opt_buf) {\n this.defaultFunction = defaultFunction;\n this.buf = opt_buf || null;\n this.pos = 0;\n this.func = defaultFunction;\n this.args = [];\n};\n\n/**\n * Reset the parser function, buffer, and position.\n */\nhterm.VT.ParseState.prototype.reset = function(opt_buf) {\n this.resetParseFunction();\n this.resetBuf(opt_buf || '');\n this.resetArguments();\n};\n\n/**\n * Reset the parser function only.\n */\nhterm.VT.ParseState.prototype.resetParseFunction = function() {\n this.func = this.defaultFunction;\n};\n\n/**\n * Reset the buffer and position only.\n *\n * @param {string} buf Optional new value for buf, defaults to null.\n */\nhterm.VT.ParseState.prototype.resetBuf = function(opt_buf) {\n this.buf = (typeof opt_buf == 'string') ? opt_buf : null;\n this.pos = 0;\n};\n\n/**\n * Reset the arguments list only.\n *\n * @param {string} opt_arg_zero Optional initial value for args[0].\n */\nhterm.VT.ParseState.prototype.resetArguments = function(opt_arg_zero) {\n this.args.length = 0;\n if (typeof opt_arg_zero != 'undefined')\n this.args[0] = opt_arg_zero;\n};\n\n/**\n * Get an argument as an integer.\n *\n * @param {number} argnum The argument number to retrieve.\n */\nhterm.VT.ParseState.prototype.iarg = function(argnum, defaultValue) {\n var str = this.args[argnum];\n if (str) {\n var ret = parseInt(str, 10);\n // An argument of zero is treated as the default value.\n if (ret == 0)\n ret = defaultValue;\n return ret;\n }\n return defaultValue;\n};\n\n/**\n * Advance the parse position.\n *\n * @param {integer} count The number of bytes to advance.\n */\nhterm.VT.ParseState.prototype.advance = function(count) {\n this.pos += count;\n};\n\n/**\n * Return the remaining portion of the buffer without affecting the parse\n * position.\n *\n * @return {string} The remaining portion of the buffer.\n */\nhterm.VT.ParseState.prototype.peekRemainingBuf = function() {\n return this.buf.substr(this.pos);\n};\n\n/**\n * Return the next single character in the buffer without affecting the parse\n * position.\n *\n * @return {string} The next character in the buffer.\n */\nhterm.VT.ParseState.prototype.peekChar = function() {\n return this.buf.substr(this.pos, 1);\n};\n\n/**\n * Return the next single character in the buffer and advance the parse\n * position one byte.\n *\n * @return {string} The next character in the buffer.\n */\nhterm.VT.ParseState.prototype.consumeChar = function() {\n return this.buf.substr(this.pos++, 1);\n};\n\n/**\n * Return true if the buffer is empty, or the position is past the end.\n */\nhterm.VT.ParseState.prototype.isComplete = function() {\n return this.buf == null || this.buf.length <= this.pos;\n};\n\nhterm.VT.CursorState = function(vt) {\n this.vt_ = vt;\n this.save();\n};\n\nhterm.VT.CursorState.prototype.save = function() {\n this.cursor = this.vt_.terminal.saveCursor();\n\n this.textAttributes = this.vt_.terminal.getTextAttributes().clone();\n\n this.GL = this.vt_.GL;\n this.GR = this.vt_.GR;\n\n this.G0 = this.vt_.G0;\n this.G1 = this.vt_.G1;\n this.G2 = this.vt_.G2;\n this.G3 = this.vt_.G3;\n};\n\nhterm.VT.CursorState.prototype.restore = function() {\n this.vt_.terminal.restoreCursor(this.cursor);\n\n this.vt_.terminal.setTextAttributes(this.textAttributes.clone());\n\n this.vt_.GL = this.GL;\n this.vt_.GR = this.GR;\n\n this.vt_.G0 = this.G0;\n this.vt_.G1 = this.G1;\n this.vt_.G2 = this.G2;\n this.vt_.G3 = this.G3;\n};\n\nhterm.VT.prototype.reset = function() {\n this.G0 = this.characterMaps.getMap('B');\n this.G1 = this.characterMaps.getMap('0');\n this.G2 = this.characterMaps.getMap('B');\n this.G3 = this.characterMaps.getMap('B');\n\n this.GL = 'G0';\n this.GR = 'G0';\n\n this.savedState_ = new hterm.VT.CursorState(this);\n\n this.mouseReport = this.MOUSE_REPORT_DISABLED;\n};\n\n/**\n * Handle terminal mouse events.\n *\n * See the \"Mouse Tracking\" section of [xterm].\n */\nhterm.VT.prototype.onTerminalMouse_ = function(e) {\n if (this.mouseReport == this.MOUSE_REPORT_DISABLED)\n return;\n\n // Temporary storage for our response.\n var response;\n\n // Modifier key state.\n var mod = 0;\n if (e.shiftKey)\n mod |= 4;\n if (e.metaKey || (this.terminal.keyboard.altIsMeta && e.altKey))\n mod |= 8;\n if (e.ctrlKey)\n mod |= 16;\n\n // TODO(rginda): We should also support mode 1005 and/or 1006 to extend the\n // coordinate space. Though, after poking around just a little, I wasn't\n // able to get vi or emacs to use either of these modes.\n var x = String.fromCharCode(lib.f.clamp(e.terminalColumn + 32, 32, 255));\n var y = String.fromCharCode(lib.f.clamp(e.terminalRow + 32, 32, 255));\n\n switch (e.type) {\n case 'wheel':\n // Mouse wheel is treated as button 1 or 2 plus an additional 64.\n b = (((e.deltaY * -1) > 0) ? 0 : 1) + 96;\n b |= mod;\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n\n // Keep the terminal from scrolling.\n e.preventDefault();\n break;\n\n case 'mousedown':\n // Buttons are encoded as button number plus 32.\n var b = Math.min(e.button, 2) + 32;\n\n // And mix in the modifier keys.\n b |= mod;\n\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n break;\n\n case 'mouseup':\n // Mouse up has no indication of which button was released.\n response = '\\x1b[M\\x23' + x + y;\n break;\n\n case 'mousemove':\n if (this.mouseReport == this.MOUSE_REPORT_DRAG && e.buttons) {\n // Standard button bits. The XTerm protocol only reports the first\n // button press (e.g. if left & right are pressed, right is ignored),\n // and it only supports the first three buttons. If none of them are\n // pressed, then XTerm flags it as a release. We'll do the same.\n b = 32;\n\n // Priority here matches XTerm: left, middle, right.\n if (e.buttons & 0x1) {\n // Report left button.\n b += 0;\n } else if (e.buttons & 0x4) {\n // Report middle button.\n b += 1;\n } else if (e.buttons & 0x2) {\n // Report right button.\n b += 2;\n } else {\n // Release higher buttons.\n b += 3;\n }\n\n // Add 32 to indicate mouse motion.\n b += 32;\n\n // And mix in the modifier keys.\n b |= mod;\n\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n }\n\n break;\n\n case 'click':\n case 'dblclick':\n break;\n\n default:\n console.error('Unknown mouse event: ' + e.type, e);\n break;\n }\n\n if (response)\n this.terminal.io.sendString(response);\n};\n\n/**\n * Interpret a string of characters, displaying the results on the associated\n * terminal object.\n *\n * The buffer will be decoded according to the 'receive-encoding' preference.\n */\nhterm.VT.prototype.interpret = function(buf) {\n this.parseState_.resetBuf(this.decode(buf));\n\n while (!this.parseState_.isComplete()) {\n var func = this.parseState_.func;\n var pos = this.parseState_.pos;\n var buf = this.parseState_.buf;\n\n this.parseState_.func.call(this, this.parseState_);\n\n if (this.parseState_.func == func && this.parseState_.pos == pos &&\n this.parseState_.buf == buf) {\n throw 'Parser did not alter the state!';\n }\n }\n};\n\n/**\n * Decode a string according to the 'receive-encoding' preference.\n */\nhterm.VT.prototype.decode = function(str) {\n if (this.characterEncoding == 'utf-8')\n return this.decodeUTF8(str);\n\n return str;\n};\n\n/**\n * Encode a UTF-16 string as UTF-8.\n *\n * See also: https://en.wikipedia.org/wiki/UTF-16\n */\nhterm.VT.prototype.encodeUTF8 = function(str) {\n return lib.encodeUTF8(str);\n};\n\n/**\n * Decode a UTF-8 string into UTF-16.\n */\nhterm.VT.prototype.decodeUTF8 = function(str) {\n return this.utf8Decoder_.decode(str);\n};\n\n/**\n * Set the encoding of the terminal.\n *\n * @param {string} encoding The name of the encoding to set.\n */\nhterm.VT.prototype.setEncoding = function(encoding) {\n switch (encoding) {\n default:\n console.warn('Invalid value for \"terminal-encoding\": ' + encoding);\n // Fall through.\n case 'iso-2022':\n this.codingSystemUtf8_ = false;\n this.codingSystemLocked_ = false;\n break;\n case 'utf-8-locked':\n this.codingSystemUtf8_ = true;\n this.codingSystemLocked_ = true;\n break;\n case 'utf-8':\n this.codingSystemUtf8_ = true;\n this.codingSystemLocked_ = false;\n break;\n }\n\n this.updateEncodingState_();\n};\n\n/**\n * Refresh internal state when the encoding changes.\n */\nhterm.VT.prototype.updateEncodingState_ = function() {\n // If we're in UTF8 mode, don't suport 8-bit escape sequences as we'll never\n // see those -- everything should be UTF8!\n var cc1 = Object.keys(hterm.VT.CC1)\n .filter((e) => !this.codingSystemUtf8_ || e.charCodeAt() < 0x80)\n .map((e) => '\\\\x' + lib.f.zpad(e.charCodeAt().toString(16), 2))\n .join('');\n this.cc1Pattern_ = new RegExp(`[${cc1}]`);\n};\n\n/**\n * The default parse function.\n *\n * This will scan the string for the first 1-byte control character (C0/C1\n * characters from [CTRL]). Any plain text coming before the code will be\n * printed to the terminal, then the control character will be dispatched.\n */\nhterm.VT.prototype.parseUnknown_ = function(parseState) {\n var self = this;\n\n function print(str) {\n if (!self.codingSystemUtf8_ && self[self.GL].GL)\n str = self[self.GL].GL(str);\n\n self.terminal.print(str);\n };\n\n // Search for the next contiguous block of plain text.\n var buf = parseState.peekRemainingBuf();\n var nextControl = buf.search(this.cc1Pattern_);\n\n if (nextControl == 0) {\n // We've stumbled right into a control character.\n this.dispatch('CC1', buf.substr(0, 1), parseState);\n parseState.advance(1);\n return;\n }\n\n if (nextControl == -1) {\n // There are no control characters in this string.\n print(buf);\n parseState.reset();\n return;\n }\n\n print(buf.substr(0, nextControl));\n this.dispatch('CC1', buf.substr(nextControl, 1), parseState);\n parseState.advance(nextControl + 1);\n};\n\n/**\n * Parse a Control Sequence Introducer code and dispatch it.\n *\n * See [CSI] for some useful information about these codes.\n */\nhterm.VT.prototype.parseCSI_ = function(parseState) {\n var ch = parseState.peekChar();\n var args = parseState.args;\n\n if (ch >= '@' && ch <= '~') {\n // This is the final character.\n this.dispatch('CSI', this.leadingModifier_ + this.trailingModifier_ + ch,\n parseState);\n parseState.resetParseFunction();\n\n } else if (ch == ';') {\n // Parameter delimiter.\n if (this.trailingModifier_) {\n // Parameter delimiter after the trailing modifier. That's a paddlin'.\n parseState.resetParseFunction();\n\n } else {\n if (!args.length) {\n // They omitted the first param, we need to supply it.\n args.push('');\n }\n\n args.push('');\n }\n\n } else if (ch >= '0' && ch <= '9') {\n // Next byte in the current parameter.\n\n if (this.trailingModifier_) {\n // Numeric parameter after the trailing modifier. That's a paddlin'.\n parseState.resetParseFunction();\n } else {\n if (!args.length) {\n args[0] = ch;\n } else {\n args[args.length - 1] += ch;\n }\n }\n\n } else if (ch >= ' ' && ch <= '?' && ch != ':') {\n // Modifier character.\n if (!args.length) {\n this.leadingModifier_ += ch;\n } else {\n this.trailingModifier_ += ch;\n }\n\n } else if (this.cc1Pattern_.test(ch)) {\n // Control character.\n this.dispatch('CC1', ch, parseState);\n\n } else {\n // Unexpected character in sequence, bail out.\n parseState.resetParseFunction();\n }\n\n parseState.advance(1);\n};\n\n/**\n * Skip over the string until the next String Terminator (ST, 'ESC \\') or\n * Bell (BEL, '\\x07').\n *\n * The string is accumulated in parseState.args[0]. Make sure to reset the\n * arguments (with parseState.resetArguments) before starting the parse.\n *\n * You can detect that parsing in complete by checking that the parse\n * function has changed back to the default parse function.\n *\n * If we encounter more than maxStringSequence characters, we send back\n * the unterminated sequence to be re-parsed with the default parser function.\n *\n * @return {boolean} If true, parsing is ongoing or complete. If false, we've\n * exceeded the max string sequence.\n */\nhterm.VT.prototype.parseUntilStringTerminator_ = function(parseState) {\n var buf = parseState.peekRemainingBuf();\n var nextTerminator = buf.search(/(\\x1b\\\\|\\x07)/);\n var args = parseState.args;\n\n if (!args.length) {\n args[0] = '';\n args[1] = new Date();\n }\n\n if (nextTerminator == -1) {\n // No terminator here, have to wait for the next string.\n\n args[0] += buf;\n\n var abortReason;\n\n if (args[0].length > this.maxStringSequence)\n abortReason = 'too long: ' + args[0].length;\n\n if (args[0].indexOf('\\x1b') != -1)\n abortReason = 'embedded escape: ' + args[0].indexOf('\\x1b');\n\n if (new Date() - args[1] > this.oscTimeLimit_)\n abortReason = 'timeout expired: ' + new Date() - args[1];\n\n if (abortReason) {\n console.log('parseUntilStringTerminator_: aborting: ' + abortReason,\n args[0]);\n parseState.reset(args[0]);\n return false;\n }\n\n parseState.advance(buf.length);\n return true;\n }\n\n if (args[0].length + nextTerminator > this.maxStringSequence) {\n // We found the end of the sequence, but we still think it's too long.\n parseState.reset(args[0] + buf);\n return false;\n }\n\n args[0] += buf.substr(0, nextTerminator);\n\n parseState.resetParseFunction();\n parseState.advance(nextTerminator +\n (buf.substr(nextTerminator, 1) == '\\x1b' ? 2 : 1));\n\n return true;\n};\n\n/**\n * Dispatch to the function that handles a given CC1, ESC, or CSI or VT52 code.\n */\nhterm.VT.prototype.dispatch = function(type, code, parseState) {\n var handler = hterm.VT[type][code];\n if (!handler) {\n if (this.warnUnimplemented)\n console.warn('Unknown ' + type + ' code: ' + JSON.stringify(code));\n return;\n }\n\n if (handler == hterm.VT.ignore) {\n if (this.warnUnimplemented)\n console.warn('Ignored ' + type + ' code: ' + JSON.stringify(code));\n return;\n }\n\n if (type == 'CC1' && code > '\\x7f' && !this.enable8BitControl) {\n // It's kind of a hack to put this here, but...\n //\n // If we're dispatching a 'CC1' code, and it's got the eighth bit set,\n // but we're not supposed to handle 8-bit codes? Just ignore it.\n //\n // This prevents an errant (DCS, '\\x90'), (OSC, '\\x9d'), (PM, '\\x9e') or\n // (APC, '\\x9f') from locking up the terminal waiting for its expected\n // (ST, '\\x9c') or (BEL, '\\x07').\n console.warn('Ignoring 8-bit control code: 0x' +\n code.charCodeAt(0).toString(16));\n return;\n }\n\n handler.apply(this, [parseState, code]);\n};\n\n/**\n * Set one of the ANSI defined terminal mode bits.\n *\n * Invoked in response to SM/RM.\n *\n * Unexpected and unimplemented values are silently ignored.\n */\nhterm.VT.prototype.setANSIMode = function(code, state) {\n if (code == 4) { // Insert Mode (IRM)\n this.terminal.setInsertMode(state);\n } else if (code == 20) { // Automatic Newline (LNM)\n this.terminal.setAutoCarriageReturn(state);\n } else if (this.warnUnimplemented) {\n console.warn('Unimplemented ANSI Mode: ' + code);\n }\n};\n\n/**\n * Set or reset one of the DEC Private modes.\n *\n * Invoked in response to DECSET/DECRST.\n */\nhterm.VT.prototype.setDECMode = function(code, state) {\n switch (parseInt(code, 10)) {\n case 1: // DECCKM\n this.terminal.keyboard.applicationCursor = state;\n break;\n\n case 3: // DECCOLM\n if (this.allowColumnWidthChanges_) {\n this.terminal.setWidth(state ? 132 : 80);\n\n this.terminal.clearHome();\n this.terminal.setVTScrollRegion(null, null);\n }\n break;\n\n case 5: // DECSCNM\n this.terminal.setReverseVideo(state);\n break;\n\n case 6: // DECOM\n this.terminal.setOriginMode(state);\n break;\n\n case 7: // DECAWM\n this.terminal.setWraparound(state);\n break;\n\n case 12: // Start blinking cursor\n if (this.enableDec12)\n this.terminal.setCursorBlink(state);\n break;\n\n case 25: // DECTCEM\n this.terminal.setCursorVisible(state);\n break;\n\n case 30: // Show scrollbar\n this.terminal.setScrollbarVisible(state);\n break;\n\n case 40: // Allow 80 - 132 (DECCOLM) Mode\n this.terminal.allowColumnWidthChanges_ = state;\n break;\n\n case 45: // Reverse-wraparound Mode\n this.terminal.setReverseWraparound(state);\n break;\n\n case 67: // Backarrow key sends backspace (DECBKM)\n this.terminal.keyboard.backspaceSendsBackspace = state;\n break;\n\n case 1000: // Report on mouse clicks only.\n this.mouseReport = (\n state ? this.MOUSE_REPORT_CLICK : this.MOUSE_REPORT_DISABLED);\n this.terminal.syncMouseStyle();\n break;\n\n case 1002: // Report on mouse clicks and drags\n this.mouseReport = (\n state ? this.MOUSE_REPORT_DRAG : this.MOUSE_REPORT_DISABLED);\n this.terminal.syncMouseStyle();\n break;\n\n case 1010: // Scroll to bottom on tty output\n this.terminal.scrollOnOutput = state;\n break;\n\n case 1011: // Scroll to bottom on key press\n this.terminal.scrollOnKeystroke = state;\n break;\n\n case 1036: // Send ESC when Meta modifies a key\n this.terminal.keyboard.metaSendsEscape = state;\n break;\n\n case 1039: // Send ESC when Alt modifies a key\n if (state) {\n if (!this.terminal.keyboard.previousAltSendsWhat_) {\n this.terminal.keyboard.previousAltSendsWhat_ =\n this.terminal.keyboard.altSendsWhat;\n this.terminal.keyboard.altSendsWhat = 'escape';\n }\n } else if (this.terminal.keyboard.previousAltSendsWhat_) {\n this.terminal.keyboard.altSendsWhat =\n this.terminal.keyboard.previousAltSendsWhat_;\n this.terminal.keyboard.previousAltSendsWhat_ = null;\n }\n break;\n\n case 47: // Use Alternate Screen Buffer\n case 1047:\n this.terminal.setAlternateMode(state);\n break;\n\n case 1048: // Save cursor as in DECSC.\n this.savedState_.save();\n\n case 1049: // 1047 + 1048 + clear.\n if (state) {\n this.savedState_.save();\n this.terminal.setAlternateMode(state);\n this.terminal.clear();\n } else {\n this.terminal.setAlternateMode(state);\n this.savedState_.restore();\n }\n\n break;\n\n case 2004: // Bracketed paste mode.\n this.terminal.setBracketedPaste(state);\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unimplemented DEC Private Mode: ' + code);\n break;\n }\n};\n\n/**\n * Function shared by control characters and escape sequences that are\n * ignored.\n */\nhterm.VT.ignore = function() {};\n\n/**\n * Collection of control characters expressed in a single byte.\n *\n * This includes the characters from the C0 and C1 sets (see [CTRL]) that we\n * care about. Two byte versions of the C1 codes are defined in the\n * hterm.VT.ESC collection.\n *\n * The 'CC1' mnemonic here refers to the fact that these are one-byte Control\n * Codes. It's only used in this source file and not defined in any of the\n * referenced documents.\n */\nhterm.VT.CC1 = {};\n\n/**\n * Collection of two-byte and three-byte sequences starting with ESC.\n */\nhterm.VT.ESC = {};\n\n/**\n * Collection of CSI (Control Sequence Introducer) sequences.\n *\n * These sequences begin with 'ESC [', and may take zero or more arguments.\n */\nhterm.VT.CSI = {};\n\n/**\n * Collection of OSC (Operating System Control) sequences.\n *\n * These sequences begin with 'ESC ]', followed by a function number and a\n * string terminated by either ST or BEL.\n */\nhterm.VT.OSC = {};\n\n/**\n * Collection of VT52 sequences.\n *\n * When in VT52 mode, other sequences are disabled.\n */\nhterm.VT.VT52 = {};\n\n/**\n * Null (NUL).\n *\n * Silently ignored.\n */\nhterm.VT.CC1['\\x00'] = hterm.VT.ignore;\n\n/**\n * Enquiry (ENQ).\n *\n * Transmit answerback message.\n *\n * The default answerback message in xterm is an empty string, so we just\n * ignore this.\n */\nhterm.VT.CC1['\\x05'] = hterm.VT.ignore;\n\n/**\n * Ring Bell (BEL).\n */\nhterm.VT.CC1['\\x07'] = function() {\n this.terminal.ringBell();\n};\n\n/**\n * Backspace (BS).\n *\n * Move the cursor to the left one character position, unless it is at the\n * left margin, in which case no action occurs.\n */\nhterm.VT.CC1['\\x08'] = function() {\n this.terminal.cursorLeft(1);\n};\n\n/**\n * Horizontal Tab (HT).\n *\n * Move the cursor to the next tab stop, or to the right margin if no further\n * tab stops are present on the line.\n */\nhterm.VT.CC1['\\x09'] = function() {\n this.terminal.forwardTabStop();\n};\n\n/**\n * Line Feed (LF).\n *\n * This code causes a line feed or a new line operation. See Automatic\n * Newline (LNM).\n */\nhterm.VT.CC1['\\x0a'] = function() {\n this.terminal.formFeed();\n};\n\n/**\n * Vertical Tab (VT).\n *\n * Interpreted as LF.\n */\nhterm.VT.CC1['\\x0b'] = hterm.VT.CC1['\\x0a'];\n\n/**\n * Form Feed (FF).\n *\n * Interpreted as LF.\n */\nhterm.VT.CC1['\\x0c'] = hterm.VT.CC1['\\x0a'];\n\n/**\n * Carriage Return (CR).\n *\n * Move cursor to the left margin on the current line.\n */\nhterm.VT.CC1['\\x0d'] = function() {\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Shift Out (SO), aka Lock Shift 0 (LS1).\n *\n * Invoke G1 character set in GL.\n */\nhterm.VT.CC1['\\x0e'] = function() {\n this.GL = 'G1';\n};\n\n/**\n * Shift In (SI), aka Lock Shift 0 (LS0).\n *\n * Invoke G0 character set in GL.\n */\nhterm.VT.CC1['\\x0f'] = function() {\n this.GL = 'G0';\n};\n\n/**\n * Transmit On (XON).\n *\n * Not currently implemented.\n *\n * TODO(rginda): Implement?\n */\nhterm.VT.CC1['\\x11'] = hterm.VT.ignore;\n\n/**\n * Transmit Off (XOFF).\n *\n * Not currently implemented.\n *\n * TODO(rginda): Implement?\n */\nhterm.VT.CC1['\\x13'] = hterm.VT.ignore;\n\n/**\n * Cancel (CAN).\n *\n * If sent during a control sequence, the sequence is immediately terminated\n * and not executed.\n *\n * It also causes the error character to be displayed.\n */\nhterm.VT.CC1['\\x18'] = function(parseState) {\n // If we've shifted in the G1 character set, shift it back out to\n // the default character set.\n if (this.GL == 'G1') {\n this.GL = 'G0';\n }\n parseState.resetParseFunction();\n this.terminal.print('?');\n};\n\n/**\n * Substitute (SUB).\n *\n * Interpreted as CAN.\n */\nhterm.VT.CC1['\\x1a'] = hterm.VT.CC1['\\x18'];\n\n/**\n * Escape (ESC).\n */\nhterm.VT.CC1['\\x1b'] = function(parseState) {\n function parseESC(parseState) {\n var ch = parseState.consumeChar();\n\n if (ch == '\\x1b')\n return;\n\n this.dispatch('ESC', ch, parseState);\n\n if (parseState.func == parseESC)\n parseState.resetParseFunction();\n };\n\n parseState.func = parseESC;\n};\n\n/**\n * Delete (DEL).\n */\nhterm.VT.CC1['\\x7f'] = hterm.VT.ignore;\n\n// 8 bit control characters and their two byte equivalents, below...\n\n/**\n * Index (IND).\n *\n * Like newline, only keep the X position\n */\nhterm.VT.CC1['\\x84'] =\nhterm.VT.ESC['D'] = function() {\n this.terminal.lineFeed();\n};\n\n/**\n * Next Line (NEL).\n *\n * Like newline, but doesn't add lines.\n */\nhterm.VT.CC1['\\x85'] =\nhterm.VT.ESC['E'] = function() {\n this.terminal.setCursorColumn(0);\n this.terminal.cursorDown(1);\n};\n\n/**\n * Horizontal Tabulation Set (HTS).\n */\nhterm.VT.CC1['\\x88'] =\nhterm.VT.ESC['H'] = function() {\n this.terminal.setTabStop(this.terminal.getCursorColumn());\n};\n\n/**\n * Reverse Index (RI).\n *\n * Move up one line.\n */\nhterm.VT.CC1['\\x8d'] =\nhterm.VT.ESC['M'] = function() {\n this.terminal.reverseLineFeed();\n};\n\n/**\n * Single Shift 2 (SS2).\n *\n * Select of G2 Character Set for the next character only.\n *\n * Not currently implemented.\n */\nhterm.VT.CC1['\\x8e'] =\nhterm.VT.ESC['N'] = hterm.VT.ignore;\n\n/**\n * Single Shift 3 (SS3).\n *\n * Select of G3 Character Set for the next character only.\n *\n * Not currently implemented.\n */\nhterm.VT.CC1['\\x8f'] =\nhterm.VT.ESC['O'] = hterm.VT.ignore;\n\n/**\n * Device Control String (DCS).\n *\n * Indicate a DCS sequence. See Device-Control functions in [XTERM].\n * Not currently implemented.\n *\n * TODO(rginda): Consider implementing DECRQSS, the rest don't seem applicable.\n */\nhterm.VT.CC1['\\x90'] =\nhterm.VT.ESC['P'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * Start of Guarded Area (SPA).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x96'] =\nhterm.VT.ESC['V'] = hterm.VT.ignore;\n\n/**\n * End of Guarded Area (EPA).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x97'] =\nhterm.VT.ESC['W'] = hterm.VT.ignore;\n\n/**\n * Start of String (SOS).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x98'] =\nhterm.VT.ESC['X'] = hterm.VT.ignore;\n\n/**\n * Single Character Introducer (SCI, also DECID).\n *\n * Return Terminal ID. Obsolete form of 'ESC [ c' (DA).\n */\nhterm.VT.CC1['\\x9a'] =\nhterm.VT.ESC['Z'] = function() {\n this.terminal.io.sendString('\\x1b[?1;2c');\n};\n\n/**\n * Control Sequence Introducer (CSI).\n *\n * The lead into most escape sequences. See [CSI].\n */\nhterm.VT.CC1['\\x9b'] =\nhterm.VT.ESC['['] = function(parseState) {\n parseState.resetArguments();\n this.leadingModifier_ = '';\n this.trailingModifier_ = '';\n parseState.func = this.parseCSI_;\n};\n\n/**\n * String Terminator (ST).\n *\n * Used to terminate DCS/OSC/PM/APC commands which may take string arguments.\n *\n * We don't directly handle it here, as it's only used to terminate other\n * sequences. See the 'parseUntilStringTerminator_' method.\n */\nhterm.VT.CC1['\\x9c'] =\nhterm.VT.ESC['\\\\'] = hterm.VT.ignore;\n\n/**\n * Operating System Command (OSC).\n *\n * Commands relating to the operating system.\n */\nhterm.VT.CC1['\\x9d'] =\nhterm.VT.ESC[']'] = function(parseState) {\n parseState.resetArguments();\n\n function parseOSC(parseState) {\n if (!this.parseUntilStringTerminator_(parseState)) {\n // The string sequence was too long.\n return;\n }\n\n if (parseState.func == parseOSC) {\n // We're not done parsing the string yet.\n return;\n }\n\n // We're done.\n var ary = parseState.args[0].match(/^(\\d+);(.*)$/);\n if (ary) {\n parseState.args[0] = ary[2];\n this.dispatch('OSC', ary[1], parseState);\n } else {\n console.warn('Invalid OSC: ' + JSON.stringify(parseState.args[0]));\n }\n };\n\n parseState.func = parseOSC;\n};\n\n/**\n * Privacy Message (PM).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x9e'] =\nhterm.VT.ESC['^'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * Application Program Control (APC).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x9f'] =\nhterm.VT.ESC['_'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * ESC \\x20 - Unclear to me where these originated, possibly in xterm.\n *\n * Not currently implemented:\n * ESC \\x20 F - Select 7 bit escape codes in responses (S7C1T).\n * ESC \\x20 G - Select 8 bit escape codes in responses (S8C1T).\n * NB: We currently assume S7C1T always.\n *\n * Will not implement:\n * ESC \\x20 L - Set ANSI conformance level 1.\n * ESC \\x20 M - Set ANSI conformance level 2.\n * ESC \\x20 N - Set ANSI conformance level 3.\n */\nhterm.VT.ESC['\\x20'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (this.warnUnimplemented)\n console.warn('Unimplemented sequence: ESC 0x20 ' + ch);\n parseState.resetParseFunction();\n };\n};\n\n/**\n * DEC 'ESC #' sequences.\n */\nhterm.VT.ESC['#'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (ch == '8') // DEC Screen Alignment Test (DECALN)\n this.terminal.fill('E');\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Designate Other Coding System (DOCS).\n */\nhterm.VT.ESC['%'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n\n // If we've locked the encoding, then just eat the bytes and return.\n if (this.codingSystemLocked_) {\n if (ch == '/')\n parseState.consumeChar();\n parseState.resetParseFunction();\n return;\n }\n\n // Process the encoding requests.\n switch (ch) {\n case '@':\n // Switch to ECMA 35.\n this.setEncoding('iso-2022');\n break;\n\n case 'G':\n // Switch to UTF-8.\n this.setEncoding('utf-8');\n break;\n\n case '/':\n // One way transition to something else.\n ch = parseState.consumeChar();\n switch (ch) {\n case 'G': // UTF-8 Level 1.\n case 'H': // UTF-8 Level 2.\n case 'I': // UTF-8 Level 3.\n // We treat all UTF-8 levels the same.\n this.setEncoding('utf-8-locked');\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unknown ESC % / argument: ' + JSON.stringify(ch));\n break;\n }\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unknown ESC % argument: ' + JSON.stringify(ch));\n break;\n }\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Character Set Selection (SCS).\n *\n * ESC ( Ps - Set G0 character set (VT100).\n * ESC ) Ps - Set G1 character set (VT220).\n * ESC * Ps - Set G2 character set (VT220).\n * ESC + Ps - Set G3 character set (VT220).\n * ESC - Ps - Set G1 character set (VT300).\n * ESC . Ps - Set G2 character set (VT300).\n * ESC / Ps - Set G3 character set (VT300).\n *\n * All other sequences are echoed to the terminal.\n */\nhterm.VT.ESC['('] =\nhterm.VT.ESC[')'] =\nhterm.VT.ESC['*'] =\nhterm.VT.ESC['+'] =\nhterm.VT.ESC['-'] =\nhterm.VT.ESC['.'] =\nhterm.VT.ESC['/'] = function(parseState, code) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (ch == '\\x1b') {\n parseState.resetParseFunction();\n parseState.func();\n return;\n }\n\n var map = this.characterMaps.getMap(ch);\n if (map !== undefined) {\n if (code == '(') {\n this.G0 = map;\n } else if (code == ')' || code == '-') {\n this.G1 = map;\n } else if (code == '*' || code == '.') {\n this.G2 = map;\n } else if (code == '+' || code == '/') {\n this.G3 = map;\n }\n } else if (this.warnUnimplemented) {\n console.log('Invalid character set for \"' + code + '\": ' + ch);\n }\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Back Index (DECBI).\n *\n * VT420 and up. Not currently implemented.\n */\nhterm.VT.ESC['6'] = hterm.VT.ignore;\n\n/**\n * Save Cursor (DECSC).\n */\nhterm.VT.ESC['7'] = function() {\n this.savedState_.save();\n};\n\n/**\n * Restore Cursor (DECRC).\n */\nhterm.VT.ESC['8'] = function() {\n this.savedState_.restore();\n};\n\n/**\n * Forward Index (DECFI).\n *\n * VT210 and up. Not currently implemented.\n */\nhterm.VT.ESC['9'] = hterm.VT.ignore;\n\n/**\n * Application keypad (DECKPAM).\n */\nhterm.VT.ESC['='] = function() {\n this.terminal.keyboard.applicationKeypad = true;\n};\n\n/**\n * Normal keypad (DECKPNM).\n */\nhterm.VT.ESC['>'] = function() {\n this.terminal.keyboard.applicationKeypad = false;\n};\n\n/**\n * Cursor to lower left corner of screen.\n *\n * Will not implement.\n *\n * This is only recognized by xterm when the hpLowerleftBugCompat resource is\n * set.\n */\nhterm.VT.ESC['F'] = hterm.VT.ignore;\n\n/**\n * Full Reset (RIS).\n */\nhterm.VT.ESC['c'] = function() {\n this.reset();\n this.terminal.reset();\n};\n\n/**\n * Memory lock/unlock.\n *\n * Will not implement.\n */\nhterm.VT.ESC['l'] =\nhterm.VT.ESC['m'] = hterm.VT.ignore;\n\n/**\n * Lock Shift 2 (LS2)\n *\n * Invoke the G2 Character Set as GL.\n */\nhterm.VT.ESC['n'] = function() {\n this.GL = 'G2';\n};\n\n/**\n * Lock Shift 3 (LS3)\n *\n * Invoke the G3 Character Set as GL.\n */\nhterm.VT.ESC['o'] = function() {\n this.GL = 'G3';\n};\n\n/**\n * Lock Shift 2, Right (LS3R)\n *\n * Invoke the G3 Character Set as GR.\n */\nhterm.VT.ESC['|'] = function() {\n this.GR = 'G3';\n};\n\n/**\n * Lock Shift 2, Right (LS2R)\n *\n * Invoke the G2 Character Set as GR.\n */\nhterm.VT.ESC['}'] = function() {\n this.GR = 'G2';\n};\n\n/**\n * Lock Shift 1, Right (LS1R)\n *\n * Invoke the G1 Character Set as GR.\n */\nhterm.VT.ESC['~'] = function() {\n this.GR = 'G1';\n};\n\n/**\n * Change icon name and window title.\n *\n * We only change the window title.\n */\nhterm.VT.OSC['0'] = function(parseState) {\n this.terminal.setWindowTitle(parseState.args[0]);\n};\n\n/**\n * Change window title.\n */\nhterm.VT.OSC['2'] = hterm.VT.OSC['0'];\n\n/**\n * Set/read color palette.\n */\nhterm.VT.OSC['4'] = function(parseState) {\n // Args come in as a single 'index1;rgb1 ... ;indexN;rgbN' string.\n // We split on the semicolon and iterate through the pairs.\n var args = parseState.args[0].split(';');\n\n var pairCount = parseInt(args.length / 2);\n var colorPalette = this.terminal.getTextAttributes().colorPalette;\n var responseArray = [];\n\n for (var pairNumber = 0; pairNumber < pairCount; ++pairNumber) {\n var colorIndex = parseInt(args[pairNumber * 2]);\n var colorValue = args[pairNumber * 2 + 1];\n\n if (colorIndex >= colorPalette.length)\n continue;\n\n if (colorValue == '?') {\n // '?' means we should report back the current color value.\n colorValue = lib.colors.rgbToX11(colorPalette[colorIndex]);\n if (colorValue)\n responseArray.push(colorIndex + ';' + colorValue);\n\n continue;\n }\n\n colorValue = lib.colors.x11ToCSS(colorValue);\n if (colorValue)\n colorPalette[colorIndex] = colorValue;\n }\n\n if (responseArray.length)\n this.terminal.io.sendString('\\x1b]4;' + responseArray.join(';') + '\\x07');\n};\n\n/**\n * iTerm2 growl notifications.\n */\nhterm.VT.OSC['9'] = function(parseState) {\n // This just dumps the entire string as the message.\n hterm.notify({'body': parseState.args[0]});\n};\n\n/**\n * Change VT100 text foreground color.\n */\nhterm.VT.OSC['10'] = function(parseState) {\n // Args come in as a single string, but extra args will chain to the following\n // OSC sequences.\n var args = parseState.args[0].split(';');\n if (!args)\n return;\n\n var colorArg;\n var colorX11 = lib.colors.x11ToCSS(args.shift());\n if (colorX11)\n this.terminal.setForegroundColor(colorX11);\n\n if (args.length > 0) {\n parseState.args[0] = args.join(';');\n hterm.VT.OSC['11'].apply(this, [parseState]);\n }\n};\n\n/**\n * Change VT100 text background color.\n */\nhterm.VT.OSC['11'] = function(parseState) {\n // Args come in as a single string, but extra args will chain to the following\n // OSC sequences.\n var args = parseState.args[0].split(';');\n if (!args)\n return;\n\n var colorArg;\n var colorX11 = lib.colors.x11ToCSS(args.shift());\n if (colorX11)\n this.terminal.setBackgroundColor(colorX11);\n\n /* Note: If we support OSC 12+, we'd chain it here.\n if (args.length > 0) {\n parseState.args[0] = args.join(';');\n hterm.VT.OSC['12'].apply(this, [parseState]);\n }\n */\n};\n\n/**\n * Set the cursor shape.\n *\n * Parameter is expected to be in the form \"CursorShape=number\", where number is\n * one of:\n *\n * 0 - Block\n * 1 - I-Beam\n * 2 - Underline\n *\n * This is a bit of a de-facto standard supported by iTerm 2 and Konsole. See\n * also: DECSCUSR.\n *\n * Invalid numbers will restore the cursor to the block shape.\n */\nhterm.VT.OSC['50'] = function(parseState) {\n var args = parseState.args[0].match(/CursorShape=(.)/i);\n if (!args) {\n console.warn('Could not parse OSC 50 args: ' + parseState.args[0]);\n return;\n }\n\n switch (args[1]) {\n case '1': // CursorShape=1: I-Beam.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n break;\n\n case '2': // CursorShape=2: Underline.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n break;\n\n default: // CursorShape=0: Block.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n }\n};\n\n/**\n * Set/read system clipboard.\n *\n * Read is not implemented due to security considerations. A remote app\n * that is able to both write and read to the clipboard could essentially\n * take over your session.\n *\n * The clipboard data will be decoded according to the 'receive-encoding'\n * preference.\n */\nhterm.VT.OSC['52'] = function(parseState) {\n // Args come in as a single 'clipboard;b64-data' string. The clipboard\n // parameter is used to select which of the X clipboards to address. Since\n // we're not integrating with X, we treat them all the same.\n var args = parseState.args[0].match(/^[cps01234567]*;(.*)/);\n if (!args)\n return;\n\n var data = window.atob(args[1]);\n if (data)\n this.terminal.copyStringToClipboard(this.decode(data));\n};\n\n/**\n * URxvt perl modules.\n *\n * This is the escape system used by rxvt-unicode and its perl modules.\n * Obviously we don't support perl or custom modules, so we list a few common\n * ones that we find useful.\n *\n * Technically there is no format here, but most modules obey:\n * ;\n */\nhterm.VT.OSC['777'] = function(parseState) {\n var ary;\n var urxvtMod = parseState.args[0].split(';', 1)[0];\n\n switch (urxvtMod) {\n case 'notify':\n // Format:\n // notify;title;message\n var title, message;\n ary = parseState.args[0].match(/^[^;]+;([^;]*)(;([\\s\\S]*))?$/);\n if (ary) {\n title = ary[1];\n message = ary[3];\n }\n hterm.notify({'title': title, 'body': message});\n break;\n\n default:\n console.warn('Unknown urxvt module: ' + parseState.args[0]);\n break;\n }\n};\n\n/**\n * Insert (blank) characters (ICH).\n */\nhterm.VT.CSI['@'] = function(parseState) {\n this.terminal.insertSpace(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Up (CUU).\n */\nhterm.VT.CSI['A'] = function(parseState) {\n this.terminal.cursorUp(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Down (CUD).\n */\nhterm.VT.CSI['B'] = function(parseState) {\n this.terminal.cursorDown(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Forward (CUF).\n */\nhterm.VT.CSI['C'] = function(parseState) {\n this.terminal.cursorRight(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Backward (CUB).\n */\nhterm.VT.CSI['D'] = function(parseState) {\n this.terminal.cursorLeft(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Next Line (CNL).\n *\n * This is like Cursor Down, except the cursor moves to the beginning of the\n * line as well.\n */\nhterm.VT.CSI['E'] = function(parseState) {\n this.terminal.cursorDown(parseState.iarg(0, 1));\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Cursor Preceding Line (CPL).\n *\n * This is like Cursor Up, except the cursor moves to the beginning of the\n * line as well.\n */\nhterm.VT.CSI['F'] = function(parseState) {\n this.terminal.cursorUp(parseState.iarg(0, 1));\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Cursor Character Absolute (CHA).\n */\nhterm.VT.CSI['G'] = function(parseState) {\n this.terminal.setCursorColumn(parseState.iarg(0, 1) - 1);\n};\n\n/**\n * Cursor Position (CUP).\n */\nhterm.VT.CSI['H'] = function(parseState) {\n this.terminal.setCursorPosition(parseState.iarg(0, 1) - 1,\n parseState.iarg(1, 1) - 1);\n};\n\n/**\n * Cursor Forward Tabulation (CHT).\n */\nhterm.VT.CSI['I'] = function(parseState) {\n var count = parseState.iarg(0, 1);\n count = lib.f.clamp(count, 1, this.terminal.screenSize.width);\n for (var i = 0; i < count; i++) {\n this.terminal.forwardTabStop();\n }\n};\n\n/**\n * Erase in Display (ED, DECSED).\n */\nhterm.VT.CSI['J'] =\nhterm.VT.CSI['?J'] = function(parseState, code) {\n var arg = parseState.args[0];\n\n if (!arg || arg == 0) {\n this.terminal.eraseBelow();\n } else if (arg == 1) {\n this.terminal.eraseAbove();\n } else if (arg == 2) {\n this.terminal.clear();\n } else if (arg == 3) {\n // The xterm docs say this means \"Erase saved lines\", but we'll just clear\n // the display since killing the scrollback seems rude.\n this.terminal.clear();\n }\n};\n\n/**\n * Erase in line (EL, DECSEL).\n */\nhterm.VT.CSI['K'] =\nhterm.VT.CSI['?K'] = function(parseState, code) {\n var arg = parseState.args[0];\n\n if (!arg || arg == 0) {\n this.terminal.eraseToRight();\n } else if (arg == 1) {\n this.terminal.eraseToLeft();\n } else if (arg == 2) {\n this.terminal.eraseLine();\n }\n};\n\n/**\n * Insert Lines (IL).\n */\nhterm.VT.CSI['L'] = function(parseState) {\n this.terminal.insertLines(parseState.iarg(0, 1));\n};\n\n/**\n * Delete Lines (DL).\n */\nhterm.VT.CSI['M'] = function(parseState) {\n this.terminal.deleteLines(parseState.iarg(0, 1));\n};\n\n/**\n * Delete Characters (DCH).\n *\n * This command shifts the line contents left, starting at the cursor position.\n */\nhterm.VT.CSI['P'] = function(parseState) {\n this.terminal.deleteChars(parseState.iarg(0, 1));\n};\n\n/**\n * Scroll Up (SU).\n */\nhterm.VT.CSI['S'] = function(parseState) {\n this.terminal.vtScrollUp(parseState.iarg(0, 1));\n};\n\n/**\n * Scroll Down (SD).\n * Also 'Initiate highlight mouse tracking'. Will not implement this part.\n */\nhterm.VT.CSI['T'] = function(parseState) {\n if (parseState.args.length <= 1)\n this.terminal.vtScrollDown(parseState.iarg(0, 1));\n};\n\n/**\n * Reset one or more features of the title modes to the default value.\n *\n * ESC [ > Ps T\n *\n * Normally, \"reset\" disables the feature. It is possible to disable the\n * ability to reset features by compiling a different default for the title\n * modes into xterm.\n *\n * Ps values:\n * 0 - Do not set window/icon labels using hexadecimal.\n * 1 - Do not query window/icon labels using hexadecimal.\n * 2 - Do not set window/icon labels using UTF-8.\n * 3 - Do not query window/icon labels using UTF-8.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>T'] = hterm.VT.ignore;\n\n/**\n * Erase Characters (ECH).\n */\nhterm.VT.CSI['X'] = function(parseState) {\n this.terminal.eraseToRight(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Backward Tabulation (CBT).\n */\nhterm.VT.CSI['Z'] = function(parseState) {\n var count = parseState.iarg(0, 1);\n count = lib.f.clamp(count, 1, this.terminal.screenSize.width);\n for (var i = 0; i < count; i++) {\n this.terminal.backwardTabStop();\n }\n};\n\n/**\n * Character Position Absolute (HPA).\n *\n * Same as Cursor Character Absolute (CHA).\n */\nhterm.VT.CSI['`'] = hterm.VT.CSI['G'];\n\n/**\n * Character Position Relative (HPR).\n */\nhterm.VT.CSI['a'] = function(parseState) {\n this.terminal.setCursorColumn(this.terminal.getCursorColumn() +\n parseState.iarg(0, 1));\n};\n\n/**\n * Repeat the preceding graphic character.\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['b'] = hterm.VT.ignore;\n\n/**\n * Send Device Attributes (Primary DA).\n *\n * TODO(rginda): This is hardcoded to send back 'VT100 with Advanced Video\n * Option', but it may be more correct to send a VT220 response once\n * we fill out the 'Not currently implemented' parts.\n */\nhterm.VT.CSI['c'] = function(parseState) {\n if (!parseState.args[0] || parseState.args[0] == 0) {\n this.terminal.io.sendString('\\x1b[?1;2c');\n }\n};\n\n/**\n * Send Device Attributes (Secondary DA).\n *\n * TODO(rginda): This is hardcoded to send back 'VT100' but it may be more\n * correct to send a VT220 response once we fill out more 'Not currently\n * implemented' parts.\n */\nhterm.VT.CSI['>c'] = function(parseState) {\n this.terminal.io.sendString('\\x1b[>0;256;0c');\n};\n\n/**\n * Line Position Absolute (VPA).\n */\nhterm.VT.CSI['d'] = function(parseState) {\n this.terminal.setAbsoluteCursorRow(parseState.iarg(0, 1) - 1);\n};\n\n/**\n * Horizontal and Vertical Position (HVP).\n *\n * Same as Cursor Position (CUP).\n */\nhterm.VT.CSI['f'] = hterm.VT.CSI['H'];\n\n/**\n * Tab Clear (TBC).\n */\nhterm.VT.CSI['g'] = function(parseState) {\n if (!parseState.args[0] || parseState.args[0] == 0) {\n // Clear tab stop at cursor.\n this.terminal.clearTabStopAtCursor(false);\n } else if (parseState.args[0] == 3) {\n // Clear all tab stops.\n this.terminal.clearAllTabStops();\n }\n};\n\n/**\n * Set Mode (SM).\n */\nhterm.VT.CSI['h'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setANSIMode(parseState.args[i], true);\n }\n};\n\n/**\n * DEC Private Mode Set (DECSET).\n */\nhterm.VT.CSI['?h'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setDECMode(parseState.args[i], true);\n }\n};\n\n/**\n * Media Copy (MC).\n * Media Copy (MC, DEC Specific).\n *\n * These commands control the printer. Will not implement.\n */\nhterm.VT.CSI['i'] =\nhterm.VT.CSI['?i'] = hterm.VT.ignore;\n\n/**\n * Reset Mode (RM).\n */\nhterm.VT.CSI['l'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setANSIMode(parseState.args[i], false);\n }\n};\n\n/**\n * DEC Private Mode Reset (DECRST).\n */\nhterm.VT.CSI['?l'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setDECMode(parseState.args[i], false);\n }\n};\n\n/**\n * Character Attributes (SGR).\n *\n * Iterate through the list of arguments, applying the attribute changes based\n * on the argument value...\n */\nhterm.VT.CSI['m'] = function(parseState) {\n function get256(i) {\n if (parseState.args.length < i + 2 || parseState.args[i + 1] != 5)\n return null;\n\n return parseState.iarg(i + 2, 0);\n }\n\n function getTrueColor(i) {\n if (parseState.args.length < i + 5 || parseState.args[i + 1] != 2)\n return null;\n var r = parseState.iarg(i + 2, 0);\n var g = parseState.iarg(i + 3, 0);\n var b = parseState.iarg(i + 4, 0);\n\n return 'rgb(' + r + ' ,' + g + ' ,' + b + ')';\n }\n\n var attrs = this.terminal.getTextAttributes();\n\n if (!parseState.args.length) {\n attrs.reset();\n return;\n }\n\n for (var i = 0; i < parseState.args.length; i++) {\n var arg = parseState.iarg(i, 0);\n\n if (arg < 30) {\n if (arg == 0) { // Normal (default).\n attrs.reset();\n } else if (arg == 1) { // Bold.\n attrs.bold = true;\n } else if (arg == 2) { // Faint.\n attrs.faint = true;\n } else if (arg == 3) { // Italic.\n attrs.italic = true;\n } else if (arg == 4) { // Underline.\n attrs.underline = true;\n } else if (arg == 5) { // Blink.\n attrs.blink = true;\n } else if (arg == 7) { // Inverse.\n attrs.inverse = true;\n } else if (arg == 8) { // Invisible.\n attrs.invisible = true;\n } else if (arg == 9) { // Crossed out.\n attrs.strikethrough = true;\n } else if (arg == 22) { // Not bold & not faint.\n attrs.bold = false;\n attrs.faint = false;\n } else if (arg == 23) { // Not italic.\n attrs.italic = false;\n } else if (arg == 24) { // Not underlined.\n attrs.underline = false;\n } else if (arg == 25) { // Not blink.\n attrs.blink = false;\n } else if (arg == 27) { // Steady.\n attrs.inverse = false;\n } else if (arg == 28) { // Visible.\n attrs.invisible = false;\n } else if (arg == 29) { // Not crossed out.\n attrs.strikethrough = false;\n }\n\n } else if (arg < 50) {\n // Select fore/background color from bottom half of 16 color palette\n // or from the 256 color palette or alternative specify color in fully\n // qualified rgb(r, g, b) form.\n if (arg < 38) {\n attrs.foregroundSource = arg - 30;\n\n } else if (arg == 38) {\n // First check for true color definition\n var trueColor = getTrueColor(i);\n if (trueColor != null) {\n attrs.foregroundSource = attrs.SRC_RGB;\n attrs.foreground = trueColor;\n\n i += 5;\n } else {\n // Check for 256 color\n var c = get256(i);\n if (c == null)\n break;\n\n i += 2;\n\n if (c >= attrs.colorPalette.length)\n continue;\n\n attrs.foregroundSource = c;\n }\n\n } else if (arg == 39) {\n attrs.foregroundSource = attrs.SRC_DEFAULT;\n\n } else if (arg < 48) {\n attrs.backgroundSource = arg - 40;\n\n } else if (arg == 48) {\n // First check for true color definition\n var trueColor = getTrueColor(i);\n if (trueColor != null) {\n attrs.backgroundSource = attrs.SRC_RGB;\n attrs.background = trueColor;\n\n i += 5;\n } else {\n // Check for 256 color\n var c = get256(i);\n if (c == null)\n break;\n\n i += 2;\n\n if (c >= attrs.colorPalette.length)\n continue;\n\n attrs.backgroundSource = c;\n }\n } else {\n attrs.backgroundSource = attrs.SRC_DEFAULT;\n }\n\n } else if (arg >= 90 && arg <= 97) {\n attrs.foregroundSource = arg - 90 + 8;\n\n } else if (arg >= 100 && arg <= 107) {\n attrs.backgroundSource = arg - 100 + 8;\n }\n }\n\n attrs.setDefaults(this.terminal.getForegroundColor(),\n this.terminal.getBackgroundColor());\n};\n\n/**\n * Set xterm-specific keyboard modes.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>m'] = hterm.VT.ignore;\n\n/**\n * Device Status Report (DSR, DEC Specific).\n *\n * 5 - Status Report. Result (OK) is CSI 0 n\n * 6 - Report Cursor Position (CPR) [row;column]. Result is CSI r ; c R\n */\nhterm.VT.CSI['n'] = function(parseState) {\n if (parseState.args[0] == 5) {\n this.terminal.io.sendString('\\x1b0n');\n } else if (parseState.args[0] == 6) {\n var row = this.terminal.getCursorRow() + 1;\n var col = this.terminal.getCursorColumn() + 1;\n this.terminal.io.sendString('\\x1b[' + row + ';' + col + 'R');\n }\n};\n\n/**\n * Disable modifiers which may be enabled via CSI['>m'].\n *\n * Will not implement.\n */\nhterm.VT.CSI['>n'] = hterm.VT.ignore;\n\n/**\n * Device Status Report (DSR, DEC Specific).\n *\n * 6 - Report Cursor Position (CPR) [row;column] as CSI ? r ; c R\n * 15 - Report Printer status as CSI ? 1 0 n (ready) or\n * CSI ? 1 1 n (not ready).\n * 25 - Report UDK status as CSI ? 2 0 n (unlocked) or CSI ? 2 1 n (locked).\n * 26 - Report Keyboard status as CSI ? 2 7 ; 1 ; 0 ; 0 n (North American).\n * The last two parameters apply to VT400 & up, and denote keyboard ready\n * and LK01 respectively.\n * 53 - Report Locator status as CSI ? 5 3 n Locator available, if compiled-in,\n * or CSI ? 5 0 n No Locator, if not.\n */\nhterm.VT.CSI['?n'] = function(parseState) {\n if (parseState.args[0] == 6) {\n var row = this.terminal.getCursorRow() + 1;\n var col = this.terminal.getCursorColumn() + 1;\n this.terminal.io.sendString('\\x1b[' + row + ';' + col + 'R');\n } else if (parseState.args[0] == 15) {\n this.terminal.io.sendString('\\x1b[?11n');\n } else if (parseState.args[0] == 25) {\n this.terminal.io.sendString('\\x1b[?21n');\n } else if (parseState.args[0] == 26) {\n this.terminal.io.sendString('\\x1b[?12;1;0;0n');\n } else if (parseState.args[0] == 53) {\n this.terminal.io.sendString('\\x1b[?50n');\n }\n};\n\n/**\n * This is used by xterm to decide whether to hide the pointer cursor as the\n * user types.\n *\n * Valid values for the parameter:\n * 0 - Never hide the pointer.\n * 1 - Hide if the mouse tracking mode is not enabled.\n * 2 - Always hide the pointer.\n *\n * If no parameter is given, xterm uses the default, which is 1.\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['>p'] = hterm.VT.ignore;\n\n/**\n * Soft terminal reset (DECSTR).\n */\nhterm.VT.CSI['!p'] = function() {\n this.reset();\n this.terminal.softReset();\n};\n\n/**\n * Request ANSI Mode (DECRQM).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['$p'] = hterm.VT.ignore;\nhterm.VT.CSI['?$p'] = hterm.VT.ignore;\n\n/**\n * Set conformance level (DECSCL).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\"p'] = hterm.VT.ignore;\n\n/**\n * Load LEDs (DECLL).\n *\n * Not currently implemented. Could be implemented as virtual LEDs overlaying\n * the terminal if anyone cares.\n */\nhterm.VT.CSI['q'] = hterm.VT.ignore;\n\n/**\n * Set cursor style (DECSCUSR, VT520).\n */\nhterm.VT.CSI[' q'] = function(parseState) {\n var arg = parseState.args[0];\n\n if (arg == 0 || arg == 1) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n this.terminal.setCursorBlink(true);\n } else if (arg == 2) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n this.terminal.setCursorBlink(false);\n } else if (arg == 3) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n this.terminal.setCursorBlink(true);\n } else if (arg == 4) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n this.terminal.setCursorBlink(false);\n } else if (arg == 5) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n this.terminal.setCursorBlink(true);\n } else if (arg == 6) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n this.terminal.setCursorBlink(false);\n } else {\n console.warn('Unknown cursor style: ' + arg);\n }\n};\n\n/**\n * Select character protection attribute (DECSCA).\n *\n * Will not implement.\n */\nhterm.VT.CSI['\"q'] = hterm.VT.ignore;\n\n/**\n * Set Scrolling Region (DECSTBM).\n */\nhterm.VT.CSI['r'] = function(parseState) {\n var args = parseState.args;\n var scrollTop = args[0] ? parseInt(args[0], 10) -1 : null;\n var scrollBottom = args[1] ? parseInt(args[1], 10) - 1 : null;\n this.terminal.setVTScrollRegion(scrollTop, scrollBottom);\n this.terminal.setCursorPosition(0, 0);\n};\n\n/**\n * Restore DEC Private Mode Values.\n *\n * Will not implement.\n */\nhterm.VT.CSI['?r'] = hterm.VT.ignore;\n\n/**\n * Change Attributes in Rectangular Area (DECCARA)\n *\n * Will not implement.\n */\nhterm.VT.CSI['$r'] = hterm.VT.ignore;\n\n/**\n * Save cursor (ANSI.SYS)\n */\nhterm.VT.CSI['s'] = function() {\n this.savedState_.save();\n};\n\n/**\n * Save DEC Private Mode Values.\n *\n * Will not implement.\n */\nhterm.VT.CSI['?s'] = hterm.VT.ignore;\n\n/**\n * Window manipulation (from dtterm, as well as extensions).\n *\n * Will not implement.\n */\nhterm.VT.CSI['t'] = hterm.VT.ignore;\n\n/**\n * Reverse Attributes in Rectangular Area (DECRARA).\n *\n * Will not implement.\n */\nhterm.VT.CSI['$t'] = hterm.VT.ignore;\n\n/**\n * Set one or more features of the title modes.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>t'] = hterm.VT.ignore;\n\n/**\n * Set warning-bell volume (DECSWBV, VT520).\n *\n * Will not implement.\n */\nhterm.VT.CSI[' t'] = hterm.VT.ignore;\n\n/**\n * Restore cursor (ANSI.SYS).\n */\nhterm.VT.CSI['u'] = function() {\n this.savedState_.restore();\n};\n\n/**\n * Set margin-bell volume (DECSMBV, VT520).\n *\n * Will not implement.\n */\nhterm.VT.CSI[' u'] = hterm.VT.ignore;\n\n/**\n * Copy Rectangular Area (DECCRA, VT400 and up).\n *\n * Will not implement.\n */\nhterm.VT.CSI['$v'] = hterm.VT.ignore;\n\n/**\n * Enable Filter Rectangle (DECEFR).\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'w'] = hterm.VT.ignore;\n\n/**\n * Request Terminal Parameters (DECREQTPARM).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['x'] = hterm.VT.ignore;\n\n/**\n * Select Attribute Change Extent (DECSACE).\n *\n * Will not implement.\n */\nhterm.VT.CSI['*x'] = hterm.VT.ignore;\n\n/**\n * Fill Rectangular Area (DECFRA), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['$x'] = hterm.VT.ignore;\n\n/**\n * vt_tiledata (as used by NAOhack and UnNetHack)\n * (see https://nethackwiki.com/wiki/Vt_tiledata for more info)\n *\n * Implemented as far as we care (start a glyph and end a glyph).\n */\nhterm.VT.CSI['z'] = function(parseState) {\n if (parseState.args.length < 1)\n return;\n var arg = parseState.args[0];\n if (arg == 0) {\n // Start a glyph (one parameter, the glyph number).\n if (parseState.args.length < 2)\n return;\n this.terminal.getTextAttributes().tileData = parseState.args[1];\n } else if (arg == 1) {\n // End a glyph.\n this.terminal.getTextAttributes().tileData = null;\n }\n};\n\n/**\n * Enable Locator Reporting (DECELR).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'z'] = hterm.VT.ignore;\n\n/**\n * Erase Rectangular Area (DECERA), VT400 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['$z'] = hterm.VT.ignore;\n\n/**\n * Select Locator Events (DECSLE).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'{'] = hterm.VT.ignore;\n\n/**\n * Request Locator Position (DECRQLP).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'|'] = hterm.VT.ignore;\n\n/**\n * Insert Columns (DECIC), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'}'] = hterm.VT.ignore;\n\n/**\n * Delete P s Columns (DECDC), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'~'] = hterm.VT.ignore;\n// SOURCE FILE: hterm/js/hterm_vt_character_map.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f');\n\n/**\n * Character map object.\n *\n * Mapping from received to display character, used depending on the active\n * VT character set.\n *\n * GR maps are not currently supported.\n *\n * @param {string} description A human readable description of this map.\n * @param {Object} glmap The GL mapping from input to output characters.\n */\nhterm.VT.CharacterMap = function(description, glmap) {\n /**\n * Short description for this character set, useful for debugging.\n */\n this.description = description;\n\n /**\n * The function to call to when this map is installed in GL.\n */\n this.GL = null;\n\n // Always keep an unmodified reference to the map.\n // This allows us to sanely reset back to the original state.\n this.glmapBase_ = glmap;\n\n // Now sync the internal state as needed.\n this.sync_();\n};\n\n/**\n * Internal helper for resyncing internal state.\n *\n * Used when the mappings change.\n *\n * @param {Object?} opt_glmap Additional mappings to overlay on top of the\n * base mapping.\n */\nhterm.VT.CharacterMap.prototype.sync_ = function(opt_glmap) {\n // If there are no maps, then reset the state back.\n if (!this.glmapBase_ && !opt_glmap) {\n this.GL = null;\n delete this.glmap_;\n delete this.glre_;\n return;\n }\n\n // Set the the GL mapping. If we're given a custom mapping, then create a\n // new object to hold the merged map. This way we can cleanly reset back.\n if (opt_glmap)\n this.glmap_ = Object.assign({}, this.glmapBase_, opt_glmap);\n else\n this.glmap_ = this.glmapBase_;\n\n var glchars = Object.keys(this.glmap_).map((key) =>\n '\\\\x' + lib.f.zpad(key.charCodeAt(0).toString(16)));\n this.glre_ = new RegExp('[' + glchars.join('') + ']', 'g');\n\n this.GL = (str) => str.replace(this.glre_, (ch) => this.glmap_[ch]);\n};\n\n/**\n * Reset map back to original mappings (discarding runtime updates).\n *\n * Specifically, any calls to setOverrides will be discarded.\n */\nhterm.VT.CharacterMap.prototype.reset = function() {\n // If we haven't been given a custom mapping, then there's nothing to reset.\n if (this.glmap_ !== this.glmapBase_)\n this.sync_();\n};\n\n/**\n * Merge custom changes to this map.\n *\n * The input map need not duplicate the existing mappings as it is merged with\n * the existing base map (what was created with). Subsequent calls to this\n * will throw away previous override settings.\n *\n * @param {Object} glmap The custom map to override existing mappings.\n */\nhterm.VT.CharacterMap.prototype.setOverrides = function(glmap) {\n this.sync_(glmap);\n};\n\n/**\n * Return a copy of this mapping.\n *\n * @return {hterm.VT.CharacterMap} A new hterm.VT.CharacterMap instance.\n */\nhterm.VT.CharacterMap.prototype.clone = function() {\n var map = new hterm.VT.CharacterMap(this.description, this.glmapBase_);\n if (this.glmap_ !== this.glmapBase_)\n map.setOverrides(this.glmap_);\n return map;\n};\n\n/**\n * Table of character maps.\n */\nhterm.VT.CharacterMaps = function() {\n this.maps_ = hterm.VT.CharacterMaps.DefaultMaps;\n\n // Always keep an unmodified reference to the map.\n // This allows us to sanely reset back to the original state.\n this.mapsBase_ = this.maps_;\n};\n\n/**\n * Look up a previously registered map.\n *\n * @param {String} name The name of the map to lookup.\n * @return {hterm.VT.CharacterMap} The map, if it's been registered.\n */\nhterm.VT.CharacterMaps.prototype.getMap = function(name) {\n if (this.maps_.hasOwnProperty(name))\n return this.maps_[name];\n else\n return undefined;\n};\n\n/**\n * Register a new map.\n *\n * Any previously registered maps by this name will be discarded.\n *\n * @param {String} name The name of the map.\n * @param {hterm.VT.CharacterMap} map The map to register.\n */\nhterm.VT.CharacterMaps.prototype.addMap = function(name, map) {\n if (this.maps_ === this.mapsBase_)\n this.maps_ = Object.assign({}, this.mapsBase_);\n this.maps_[name] = map;\n};\n\n/**\n * Reset the table and all its maps back to original state.\n */\nhterm.VT.CharacterMaps.prototype.reset = function() {\n if (this.maps_ !== hterm.VT.CharacterMaps.DefaultMaps)\n this.maps_ = hterm.VT.CharacterMaps.DefaultMaps;\n};\n\n/**\n * Merge custom changes to this table.\n *\n * @param {Object} maps A set of hterm.VT.CharacterMap objects.\n */\nhterm.VT.CharacterMaps.prototype.setOverrides = function(maps) {\n if (this.maps_ === this.mapsBase_)\n this.maps_ = Object.assign({}, this.mapsBase_);\n\n for (var name in maps) {\n var map = this.getMap(name);\n if (map !== undefined) {\n this.maps_[name] = map.clone();\n this.maps_[name].setOverrides(maps[name]);\n } else\n this.addMap(name, new hterm.VT.CharacterMap('user ' + name, maps[name]));\n }\n};\n\n/**\n * The default set of supported character maps.\n */\nhterm.VT.CharacterMaps.DefaultMaps = {};\n\n/**\n * VT100 Graphic character map.\n * http://vt100.net/docs/vt220-rm/table2-4.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['0'] = new hterm.VT.CharacterMap(\n 'graphic', {\n '\\x60':'\\u25c6', // ` -> diamond\n '\\x61':'\\u2592', // a -> grey-box\n '\\x62':'\\u2409', // b -> h/t\n '\\x63':'\\u240c', // c -> f/f\n '\\x64':'\\u240d', // d -> c/r\n '\\x65':'\\u240a', // e -> l/f\n '\\x66':'\\u00b0', // f -> degree\n '\\x67':'\\u00b1', // g -> +/-\n '\\x68':'\\u2424', // h -> n/l\n '\\x69':'\\u240b', // i -> v/t\n '\\x6a':'\\u2518', // j -> bottom-right\n '\\x6b':'\\u2510', // k -> top-right\n '\\x6c':'\\u250c', // l -> top-left\n '\\x6d':'\\u2514', // m -> bottom-left\n '\\x6e':'\\u253c', // n -> line-cross\n '\\x6f':'\\u23ba', // o -> scan1\n '\\x70':'\\u23bb', // p -> scan3\n '\\x71':'\\u2500', // q -> scan5\n '\\x72':'\\u23bc', // r -> scan7\n '\\x73':'\\u23bd', // s -> scan9\n '\\x74':'\\u251c', // t -> left-tee\n '\\x75':'\\u2524', // u -> right-tee\n '\\x76':'\\u2534', // v -> bottom-tee\n '\\x77':'\\u252c', // w -> top-tee\n '\\x78':'\\u2502', // x -> vertical-line\n '\\x79':'\\u2264', // y -> less-equal\n '\\x7a':'\\u2265', // z -> greater-equal\n '\\x7b':'\\u03c0', // { -> pi\n '\\x7c':'\\u2260', // | -> not-equal\n '\\x7d':'\\u00a3', // } -> british-pound\n '\\x7e':'\\u00b7', // ~ -> dot\n });\n\n/**\n * British character map.\n * http://vt100.net/docs/vt220-rm/table2-5.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['A'] = new hterm.VT.CharacterMap(\n 'british', {\n '\\x23': '\\u00a3', // # -> british-pound\n });\n\n/**\n * US ASCII map, no changes.\n */\nhterm.VT.CharacterMaps.DefaultMaps['B'] = new hterm.VT.CharacterMap(\n 'us', null);\n\n/**\n * Dutch character map.\n * http://vt100.net/docs/vt220-rm/table2-6.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['4'] = new hterm.VT.CharacterMap(\n 'dutch', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00be', // @ -> 3/4\n\n '\\x5b': '\\u0132', // [ -> 'ij' ligature (xterm goes with \\u00ff?)\n '\\x5c': '\\u00bd', // \\ -> 1/2\n '\\x5d': '\\u007c', // ] -> vertical bar\n\n '\\x7b': '\\u00a8', // { -> two dots\n '\\x7c': '\\u0066', // | -> f\n '\\x7d': '\\u00bc', // } -> 1/4\n '\\x7e': '\\u00b4', // ~ -> acute\n });\n\n/**\n * Finnish character map.\n * http://vt100.net/docs/vt220-rm/table2-7.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['C'] =\nhterm.VT.CharacterMaps.DefaultMaps['5'] = new hterm.VT.CharacterMap(\n 'finnish', {\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ~ -> 'u' umlaut\n\n '\\x60': '\\u00e9', // ` -> 'e' acute\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * French character map.\n * http://vt100.net/docs/vt220-rm/table2-8.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['R'] = new hterm.VT.CharacterMap(\n 'french', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00b0', // [ -> ring\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00a7', // ] -> section symbol (double s)\n\n '\\x7b': '\\u00e9', // { -> 'e' acute\n '\\x7c': '\\u00f9', // | -> 'u' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00a8', // ~ -> umlaut\n });\n\n/**\n * French Canadian character map.\n * http://vt100.net/docs/vt220-rm/table2-9.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Q'] = new hterm.VT.CharacterMap(\n 'french canadian', {\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00e2', // [ -> 'a' circumflex\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00ea', // ] -> 'e' circumflex\n '\\x5e': '\\u00ee', // ^ -> 'i' circumflex\n\n '\\x60': '\\u00f4', // ` -> 'o' circumflex\n\n '\\x7b': '\\u00e9', // { -> 'e' acute\n '\\x7c': '\\u00f9', // | -> 'u' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00fb', // ~ -> 'u' circumflex\n });\n\n/**\n * German character map.\n * http://vt100.net/docs/vt220-rm/table2-10.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['K'] = new hterm.VT.CharacterMap(\n 'german', {\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00dc', // ] -> 'U' umlaut\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00fc', // } -> 'u' umlaut\n '\\x7e': '\\u00df', // ~ -> eszett\n });\n\n/**\n * Italian character map.\n * http://vt100.net/docs/vt220-rm/table2-11.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Y'] = new hterm.VT.CharacterMap(\n 'italian', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00b0', // [ -> ring\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00e9', // ] -> 'e' acute\n\n '\\x60': '\\u00f9', // ` -> 'u' grave\n\n '\\x7b': '\\u00e0', // { -> 'a' grave\n '\\x7c': '\\u00f2', // | -> 'o' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00ec', // ~ -> 'i' grave\n });\n\n/**\n * Norwegian/Danish character map.\n * http://vt100.net/docs/vt220-rm/table2-12.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['E'] =\nhterm.VT.CharacterMaps.DefaultMaps['6'] = new hterm.VT.CharacterMap(\n 'norwegian/danish', {\n '\\x40': '\\u00c4', // @ -> 'A' umlaut\n\n '\\x5b': '\\u00c6', // [ -> 'AE' ligature\n '\\x5c': '\\u00d8', // \\ -> 'O' stroke\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ^ -> 'U' umlaut\n\n '\\x60': '\\u00e4', // ` -> 'a' umlaut\n\n '\\x7b': '\\u00e6', // { -> 'ae' ligature\n '\\x7c': '\\u00f8', // | -> 'o' stroke\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * Spanish character map.\n * http://vt100.net/docs/vt220-rm/table2-13.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Z'] = new hterm.VT.CharacterMap(\n 'spanish', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00a1', // [ -> '!' inverted\n '\\x5c': '\\u00d1', // \\ -> 'N' tilde\n '\\x5d': '\\u00bf', // ] -> '?' inverted\n\n '\\x7b': '\\u00b0', // { -> ring\n '\\x7c': '\\u00f1', // | -> 'n' tilde\n '\\x7d': '\\u00e7', // } -> 'c' cedilla\n });\n\n/**\n * Swedish character map.\n * http://vt100.net/docs/vt220-rm/table2-14.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['7'] =\nhterm.VT.CharacterMaps.DefaultMaps['H'] = new hterm.VT.CharacterMap(\n 'swedish', {\n '\\x40': '\\u00c9', // @ -> 'E' acute\n\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ^ -> 'U' umlaut\n\n '\\x60': '\\u00e9', // ` -> 'e' acute\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * Swiss character map.\n * http://vt100.net/docs/vt220-rm/table2-15.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['='] = new hterm.VT.CharacterMap(\n 'swiss', {\n '\\x23': '\\u00f9', // # -> 'u' grave\n\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00e9', // [ -> 'e' acute\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00ea', // ] -> 'e' circumflex\n '\\x5e': '\\u00ee', // ^ -> 'i' circumflex\n '\\x5f': '\\u00e8', // _ -> 'e' grave\n\n '\\x60': '\\u00f4', // ` -> 'o' circumflex\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00fc', // } -> 'u' umlaut\n '\\x7e': '\\u00fb', // ~ -> 'u' circumflex\n });\nlib.resource.add('hterm/audio/bell', 'audio/ogg;base64',\n'T2dnUwACAAAAAAAAAADhqW5KAAAAAMFvEjYBHgF2b3JiaXMAAAAAAYC7AAAAAAAAAHcBAAAAAAC4' +\n'AU9nZ1MAAAAAAAAAAAAA4aluSgEAAAAAesI3EC3//////////////////8kDdm9yYmlzHQAAAFhp' +\n'cGguT3JnIGxpYlZvcmJpcyBJIDIwMDkwNzA5AAAAAAEFdm9yYmlzKUJDVgEACAAAADFMIMWA0JBV' +\n'AAAQAABgJCkOk2ZJKaWUoSh5mJRISSmllMUwiZiUicUYY4wxxhhjjDHGGGOMIDRkFQAABACAKAmO' +\n'o+ZJas45ZxgnjnKgOWlOOKcgB4pR4DkJwvUmY26mtKZrbs4pJQgNWQUAAAIAQEghhRRSSCGFFGKI' +\n'IYYYYoghhxxyyCGnnHIKKqigggoyyCCDTDLppJNOOumoo4466ii00EILLbTSSkwx1VZjrr0GXXxz' +\n'zjnnnHPOOeecc84JQkNWAQAgAAAEQgYZZBBCCCGFFFKIKaaYcgoyyIDQkFUAACAAgAAAAABHkRRJ' +\n'sRTLsRzN0SRP8ixREzXRM0VTVE1VVVVVdV1XdmXXdnXXdn1ZmIVbuH1ZuIVb2IVd94VhGIZhGIZh' +\n'GIZh+H3f933f930gNGQVACABAKAjOZbjKaIiGqLiOaIDhIasAgBkAAAEACAJkiIpkqNJpmZqrmmb' +\n'tmirtm3LsizLsgyEhqwCAAABAAQAAAAAAKBpmqZpmqZpmqZpmqZpmqZpmqZpmmZZlmVZlmVZlmVZ' +\n'lmVZlmVZlmVZlmVZlmVZlmVZlmVZlmVZlmVZQGjIKgBAAgBAx3Ecx3EkRVIkx3IsBwgNWQUAyAAA' +\n'CABAUizFcjRHczTHczzHczxHdETJlEzN9EwPCA1ZBQAAAgAIAAAAAABAMRzFcRzJ0SRPUi3TcjVX' +\n'cz3Xc03XdV1XVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVYHQkFUAAAQAACGdZpZq' +\n'gAgzkGEgNGQVAIAAAAAYoQhDDAgNWQUAAAQAAIih5CCa0JrzzTkOmuWgqRSb08GJVJsnuamYm3PO' +\n'OeecbM4Z45xzzinKmcWgmdCac85JDJqloJnQmnPOeRKbB62p0ppzzhnnnA7GGWGcc85p0poHqdlY' +\n'm3POWdCa5qi5FJtzzomUmye1uVSbc84555xzzjnnnHPOqV6czsE54Zxzzonam2u5CV2cc875ZJzu' +\n'zQnhnHPOOeecc84555xzzglCQ1YBAEAAAARh2BjGnYIgfY4GYhQhpiGTHnSPDpOgMcgppB6NjkZK' +\n'qYNQUhknpXSC0JBVAAAgAACEEFJIIYUUUkghhRRSSCGGGGKIIaeccgoqqKSSiirKKLPMMssss8wy' +\n'y6zDzjrrsMMQQwwxtNJKLDXVVmONteaec645SGultdZaK6WUUkoppSA0ZBUAAAIAQCBkkEEGGYUU' +\n'UkghhphyyimnoIIKCA1ZBQAAAgAIAAAA8CTPER3RER3RER3RER3RER3P8RxREiVREiXRMi1TMz1V' +\n'VFVXdm1Zl3Xbt4Vd2HXf133f141fF4ZlWZZlWZZlWZZlWZZlWZZlCUJDVgEAIAAAAEIIIYQUUkgh' +\n'hZRijDHHnINOQgmB0JBVAAAgAIAAAAAAR3EUx5EcyZEkS7IkTdIszfI0T/M00RNFUTRNUxVd0RV1' +\n'0xZlUzZd0zVl01Vl1XZl2bZlW7d9WbZ93/d93/d93/d93/d939d1IDRkFQAgAQCgIzmSIimSIjmO' +\n'40iSBISGrAIAZAAABACgKI7iOI4jSZIkWZImeZZniZqpmZ7pqaIKhIasAgAAAQAEAAAAAACgaIqn' +\n'mIqniIrniI4oiZZpiZqquaJsyq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7rukBo' +\n'yCoAQAIAQEdyJEdyJEVSJEVyJAcIDVkFAMgAAAgAwDEcQ1Ikx7IsTfM0T/M00RM90TM9VXRFFwgN' +\n'WQUAAAIACAAAAAAAwJAMS7EczdEkUVIt1VI11VItVVQ9VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV' +\n'VVVVVVVVVVVV1TRN0zSB0JCVAAAZAAAjQQYZhBCKcpBCbj1YCDHmJAWhOQahxBiEpxAzDDkNInSQ' +\n'QSc9uJI5wwzz4FIoFURMg40lN44gDcKmXEnlOAhCQ1YEAFEAAIAxyDHEGHLOScmgRM4xCZ2UyDkn' +\n'pZPSSSktlhgzKSWmEmPjnKPSScmklBhLip2kEmOJrQAAgAAHAIAAC6HQkBUBQBQAAGIMUgophZRS' +\n'zinmkFLKMeUcUko5p5xTzjkIHYTKMQadgxAppRxTzinHHITMQeWcg9BBKAAAIMABACDAQig0ZEUA' +\n'ECcA4HAkz5M0SxQlSxNFzxRl1xNN15U0zTQ1UVRVyxNV1VRV2xZNVbYlTRNNTfRUVRNFVRVV05ZN' +\n'VbVtzzRl2VRV3RZV1bZl2xZ+V5Z13zNNWRZV1dZNVbV115Z9X9ZtXZg0zTQ1UVRVTRRV1VRV2zZV' +\n'17Y1UXRVUVVlWVRVWXZlWfdVV9Z9SxRV1VNN2RVVVbZV2fVtVZZ94XRVXVdl2fdVWRZ+W9eF4fZ9' +\n'4RhV1dZN19V1VZZ9YdZlYbd13yhpmmlqoqiqmiiqqqmqtm2qrq1bouiqoqrKsmeqrqzKsq+rrmzr' +\n'miiqrqiqsiyqqiyrsqz7qizrtqiquq3KsrCbrqvrtu8LwyzrunCqrq6rsuz7qizruq3rxnHrujB8' +\n'pinLpqvquqm6um7runHMtm0co6rqvirLwrDKsu/rui+0dSFRVXXdlF3jV2VZ921fd55b94WybTu/' +\n'rfvKceu60vg5z28cubZtHLNuG7+t+8bzKz9hOI6lZ5q2baqqrZuqq+uybivDrOtCUVV9XZVl3zdd' +\n'WRdu3zeOW9eNoqrquirLvrDKsjHcxm8cuzAcXds2jlvXnbKtC31jyPcJz2vbxnH7OuP2daOvDAnH' +\n'jwAAgAEHAIAAE8pAoSErAoA4AQAGIecUUxAqxSB0EFLqIKRUMQYhc05KxRyUUEpqIZTUKsYgVI5J' +\n'yJyTEkpoKZTSUgehpVBKa6GU1lJrsabUYu0gpBZKaS2U0lpqqcbUWowRYxAy56RkzkkJpbQWSmkt' +\n'c05K56CkDkJKpaQUS0otVsxJyaCj0kFIqaQSU0mptVBKa6WkFktKMbYUW24x1hxKaS2kEltJKcYU' +\n'U20txpojxiBkzknJnJMSSmktlNJa5ZiUDkJKmYOSSkqtlZJSzJyT0kFIqYOOSkkptpJKTKGU1kpK' +\n'sYVSWmwx1pxSbDWU0lpJKcaSSmwtxlpbTLV1EFoLpbQWSmmttVZraq3GUEprJaUYS0qxtRZrbjHm' +\n'GkppraQSW0mpxRZbji3GmlNrNabWam4x5hpbbT3WmnNKrdbUUo0txppjbb3VmnvvIKQWSmktlNJi' +\n'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' +\n'm2L/kruPM6Q7oz4tvDQy+bZ3HzOi+gNHA4DZEgA=' +\n''\n);\n\nlib.resource.add('hterm/images/icon-96', 'image/png;base64',\n'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' +\n'ODoyNC0wNDowMNba8BsAAAAASUVORK5CYII=' +\n''\n);\n\nlib.resource.add('hterm/concat/date', 'text/plain',\n'Tue, 22 Aug 2017 06:42:31 +0000' +\n''\n);\n\nlib.resource.add('hterm/changelog/version', 'text/plain',\n'1.70' +\n''\n);\n\nlib.resource.add('hterm/changelog/date', 'text/plain',\n'2017-08-16' +\n''\n);\n\nlib.resource.add('hterm/git/HEAD', 'text/plain',\n'git rev-parse HEAD' +\n''\n);\n\n// SOURCE FILE: hterm/js/hterm_export.js\nmodule.exports = {\n hterm: hterm,\n lib: lib\n};\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/libapps/hterm/dist/js/hterm_module.js\n// module id = 14\n// module chunks = 0","import { Hterm } from \"./hterm\";\nimport { Xterm } from \"./xterm\";\nimport { Terminal, WebTTY, protocols } from \"./webtty\";\nimport { ConnectionFactory } from \"./websocket\";\n\n// @TODO remove these\ndeclare var gotty_auth_token: string;\ndeclare var gotty_term: string;\n\nconst elem = document.getElementById(\"terminal\")\n\nif (elem !== null) {\n var term: Terminal;\n if (gotty_term == \"hterm\") {\n term = new Hterm(elem);\n } else {\n term = new Xterm(elem);\n }\n const httpsEnabled = window.location.protocol == \"https:\";\n const url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws';\n const args = window.location.search;\n const factory = new ConnectionFactory(url, protocols);\n const wt = new WebTTY(term, factory, args, gotty_auth_token);\n const closer = wt.open();\n\n window.addEventListener(\"unload\", () => {\n closer();\n term.close();\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CompositionHelper = (function () {\n function CompositionHelper(textarea, compositionView, terminal) {\n this.textarea = textarea;\n this.compositionView = compositionView;\n this.terminal = terminal;\n this.isComposing = false;\n this.isSendingComposition = false;\n this.compositionPosition = { start: null, end: null };\n }\n CompositionHelper.prototype.compositionstart = function () {\n this.isComposing = true;\n this.compositionPosition.start = this.textarea.value.length;\n this.compositionView.textContent = '';\n this.compositionView.classList.add('active');\n };\n CompositionHelper.prototype.compositionupdate = function (ev) {\n var _this = this;\n this.compositionView.textContent = ev.data;\n this.updateCompositionElements();\n setTimeout(function () {\n _this.compositionPosition.end = _this.textarea.value.length;\n }, 0);\n };\n CompositionHelper.prototype.compositionend = function () {\n this.finalizeComposition(true);\n };\n CompositionHelper.prototype.keydown = function (ev) {\n if (this.isComposing || this.isSendingComposition) {\n if (ev.keyCode === 229) {\n return false;\n }\n else if (ev.keyCode === 16 || ev.keyCode === 17 || ev.keyCode === 18) {\n return false;\n }\n else {\n this.finalizeComposition(false);\n }\n }\n if (ev.keyCode === 229) {\n this.handleAnyTextareaChanges();\n return false;\n }\n return true;\n };\n CompositionHelper.prototype.finalizeComposition = function (waitForPropogation) {\n var _this = this;\n this.compositionView.classList.remove('active');\n this.isComposing = false;\n this.clearTextareaPosition();\n if (!waitForPropogation) {\n this.isSendingComposition = false;\n var input = this.textarea.value.substring(this.compositionPosition.start, this.compositionPosition.end);\n this.terminal.handler(input);\n }\n else {\n var currentCompositionPosition_1 = {\n start: this.compositionPosition.start,\n end: this.compositionPosition.end,\n };\n this.isSendingComposition = true;\n setTimeout(function () {\n if (_this.isSendingComposition) {\n _this.isSendingComposition = false;\n var input = void 0;\n if (_this.isComposing) {\n input = _this.textarea.value.substring(currentCompositionPosition_1.start, currentCompositionPosition_1.end);\n }\n else {\n input = _this.textarea.value.substring(currentCompositionPosition_1.start);\n }\n _this.terminal.handler(input);\n }\n }, 0);\n }\n };\n CompositionHelper.prototype.handleAnyTextareaChanges = function () {\n var _this = this;\n var oldValue = this.textarea.value;\n setTimeout(function () {\n if (!_this.isComposing) {\n var newValue = _this.textarea.value;\n var diff = newValue.replace(oldValue, '');\n if (diff.length > 0) {\n _this.terminal.handler(diff);\n }\n }\n }, 0);\n };\n CompositionHelper.prototype.updateCompositionElements = function (dontRecurse) {\n var _this = this;\n if (!this.isComposing) {\n return;\n }\n var cursor = this.terminal.element.querySelector('.terminal-cursor');\n if (cursor) {\n var xtermRows = this.terminal.element.querySelector('.xterm-rows');\n var cursorTop = xtermRows.offsetTop + cursor.offsetTop;\n this.compositionView.style.left = cursor.offsetLeft + 'px';\n this.compositionView.style.top = cursorTop + 'px';\n this.compositionView.style.height = cursor.offsetHeight + 'px';\n this.compositionView.style.lineHeight = cursor.offsetHeight + 'px';\n var compositionViewBounds = this.compositionView.getBoundingClientRect();\n this.textarea.style.left = cursor.offsetLeft + 'px';\n this.textarea.style.top = cursorTop + 'px';\n this.textarea.style.width = compositionViewBounds.width + 'px';\n this.textarea.style.height = compositionViewBounds.height + 'px';\n this.textarea.style.lineHeight = compositionViewBounds.height + 'px';\n }\n if (!dontRecurse) {\n setTimeout(function () { return _this.updateCompositionElements(true); }, 0);\n }\n };\n ;\n CompositionHelper.prototype.clearTextareaPosition = function () {\n this.textarea.style.left = '';\n this.textarea.style.top = '';\n };\n ;\n return CompositionHelper;\n}());\nexports.CompositionHelper = CompositionHelper;\n\n//# sourceMappingURL=CompositionHelper.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/CompositionHelper.js\n// module id = 16\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar Charsets_1 = require(\"./Charsets\");\nvar InputHandler = (function () {\n function InputHandler(_terminal) {\n this._terminal = _terminal;\n }\n InputHandler.prototype.addChar = function (char, code) {\n if (char >= ' ') {\n var ch_width = wcwidth(code);\n if (this._terminal.charset && this._terminal.charset[char]) {\n char = this._terminal.charset[char];\n }\n var row = this._terminal.y + this._terminal.ybase;\n if (!ch_width && this._terminal.x) {\n if (this._terminal.lines.get(row)[this._terminal.x - 1]) {\n if (!this._terminal.lines.get(row)[this._terminal.x - 1][2]) {\n if (this._terminal.lines.get(row)[this._terminal.x - 2])\n this._terminal.lines.get(row)[this._terminal.x - 2][1] += char;\n }\n else {\n this._terminal.lines.get(row)[this._terminal.x - 1][1] += char;\n }\n this._terminal.updateRange(this._terminal.y);\n }\n return;\n }\n if (this._terminal.x + ch_width - 1 >= this._terminal.cols) {\n if (this._terminal.wraparoundMode) {\n this._terminal.x = 0;\n this._terminal.y++;\n if (this._terminal.y > this._terminal.scrollBottom) {\n this._terminal.y--;\n this._terminal.scroll(true);\n }\n else {\n this._terminal.lines.get(this._terminal.y).isWrapped = true;\n }\n }\n else {\n if (ch_width === 2)\n return;\n }\n }\n row = this._terminal.y + this._terminal.ybase;\n if (this._terminal.insertMode) {\n for (var moves = 0; moves < ch_width; ++moves) {\n var removed = this._terminal.lines.get(this._terminal.y + this._terminal.ybase).pop();\n if (removed[2] === 0\n && this._terminal.lines.get(row)[this._terminal.cols - 2]\n && this._terminal.lines.get(row)[this._terminal.cols - 2][2] === 2) {\n this._terminal.lines.get(row)[this._terminal.cols - 2] = [this._terminal.curAttr, ' ', 1];\n }\n this._terminal.lines.get(row).splice(this._terminal.x, 0, [this._terminal.curAttr, ' ', 1]);\n }\n }\n this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, char, ch_width];\n this._terminal.x++;\n this._terminal.updateRange(this._terminal.y);\n if (ch_width === 2) {\n this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, '', 0];\n this._terminal.x++;\n }\n }\n };\n InputHandler.prototype.bell = function () {\n var _this = this;\n if (!this._terminal.visualBell) {\n return;\n }\n this._terminal.element.style.borderColor = 'white';\n setTimeout(function () { return _this._terminal.element.style.borderColor = ''; }, 10);\n if (this._terminal.popOnBell) {\n this._terminal.focus();\n }\n };\n InputHandler.prototype.lineFeed = function () {\n if (this._terminal.convertEol) {\n this._terminal.x = 0;\n }\n this._terminal.y++;\n if (this._terminal.y > this._terminal.scrollBottom) {\n this._terminal.y--;\n this._terminal.scroll();\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.carriageReturn = function () {\n this._terminal.x = 0;\n };\n InputHandler.prototype.backspace = function () {\n if (this._terminal.x > 0) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.tab = function () {\n this._terminal.x = this._terminal.nextStop();\n };\n InputHandler.prototype.shiftOut = function () {\n this._terminal.setgLevel(1);\n };\n InputHandler.prototype.shiftIn = function () {\n this._terminal.setgLevel(0);\n };\n InputHandler.prototype.insertChars = function (params) {\n var param, row, j, ch;\n param = params[0];\n if (param < 1)\n param = 1;\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.x;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param-- && j < this._terminal.cols) {\n this._terminal.lines.get(row).splice(j++, 0, ch);\n this._terminal.lines.get(row).pop();\n }\n };\n InputHandler.prototype.cursorUp = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y -= param;\n if (this._terminal.y < 0) {\n this._terminal.y = 0;\n }\n };\n InputHandler.prototype.cursorDown = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.cursorForward = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x += param;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.cursorBackward = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n this._terminal.x -= param;\n if (this._terminal.x < 0) {\n this._terminal.x = 0;\n }\n };\n InputHandler.prototype.cursorNextLine = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n this._terminal.x = 0;\n };\n ;\n InputHandler.prototype.cursorPrecedingLine = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y -= param;\n if (this._terminal.y < 0) {\n this._terminal.y = 0;\n }\n this._terminal.x = 0;\n };\n ;\n InputHandler.prototype.cursorCharAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x = param - 1;\n };\n InputHandler.prototype.cursorPosition = function (params) {\n var row, col;\n row = params[0] - 1;\n if (params.length >= 2) {\n col = params[1] - 1;\n }\n else {\n col = 0;\n }\n if (row < 0) {\n row = 0;\n }\n else if (row >= this._terminal.rows) {\n row = this._terminal.rows - 1;\n }\n if (col < 0) {\n col = 0;\n }\n else if (col >= this._terminal.cols) {\n col = this._terminal.cols - 1;\n }\n this._terminal.x = col;\n this._terminal.y = row;\n };\n InputHandler.prototype.cursorForwardTab = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.x = this._terminal.nextStop();\n }\n };\n InputHandler.prototype.eraseInDisplay = function (params) {\n var j;\n switch (params[0]) {\n case 0:\n this._terminal.eraseRight(this._terminal.x, this._terminal.y);\n j = this._terminal.y + 1;\n for (; j < this._terminal.rows; j++) {\n this._terminal.eraseLine(j);\n }\n break;\n case 1:\n this._terminal.eraseLeft(this._terminal.x, this._terminal.y);\n j = this._terminal.y;\n while (j--) {\n this._terminal.eraseLine(j);\n }\n break;\n case 2:\n j = this._terminal.rows;\n while (j--)\n this._terminal.eraseLine(j);\n break;\n case 3:\n var scrollBackSize = this._terminal.lines.length - this._terminal.rows;\n if (scrollBackSize > 0) {\n this._terminal.lines.trimStart(scrollBackSize);\n this._terminal.ybase = Math.max(this._terminal.ybase - scrollBackSize, 0);\n this._terminal.ydisp = Math.max(this._terminal.ydisp - scrollBackSize, 0);\n }\n break;\n }\n };\n InputHandler.prototype.eraseInLine = function (params) {\n switch (params[0]) {\n case 0:\n this._terminal.eraseRight(this._terminal.x, this._terminal.y);\n break;\n case 1:\n this._terminal.eraseLeft(this._terminal.x, this._terminal.y);\n break;\n case 2:\n this._terminal.eraseLine(this._terminal.y);\n break;\n }\n };\n InputHandler.prototype.insertLines = function (params) {\n var param, row, j;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.rows - 1 - this._terminal.scrollBottom;\n j = this._terminal.rows - 1 + this._terminal.ybase - j + 1;\n while (param--) {\n if (this._terminal.lines.length === this._terminal.lines.maxLength) {\n this._terminal.lines.trimStart(1);\n this._terminal.ybase--;\n this._terminal.ydisp--;\n row--;\n j--;\n }\n this._terminal.lines.splice(row, 0, this._terminal.blankLine(true));\n this._terminal.lines.splice(j, 1);\n }\n this._terminal.updateRange(this._terminal.y);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.deleteLines = function (params) {\n var param, row, j;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.rows - 1 - this._terminal.scrollBottom;\n j = this._terminal.rows - 1 + this._terminal.ybase - j;\n while (param--) {\n if (this._terminal.lines.length === this._terminal.lines.maxLength) {\n this._terminal.lines.trimStart(1);\n this._terminal.ybase -= 1;\n this._terminal.ydisp -= 1;\n }\n this._terminal.lines.splice(j + 1, 0, this._terminal.blankLine(true));\n this._terminal.lines.splice(row, 1);\n }\n this._terminal.updateRange(this._terminal.y);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.deleteChars = function (params) {\n var param, row, ch;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param--) {\n this._terminal.lines.get(row).splice(this._terminal.x, 1);\n this._terminal.lines.get(row).push(ch);\n }\n };\n InputHandler.prototype.scrollUp = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 1);\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 0, this._terminal.blankLine());\n }\n this._terminal.updateRange(this._terminal.scrollTop);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.scrollDown = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 1);\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 0, this._terminal.blankLine());\n }\n this._terminal.updateRange(this._terminal.scrollTop);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.eraseChars = function (params) {\n var param, row, j, ch;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.x;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param-- && j < this._terminal.cols) {\n this._terminal.lines.get(row)[j++] = ch;\n }\n };\n InputHandler.prototype.cursorBackwardTab = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.x = this._terminal.prevStop();\n }\n };\n InputHandler.prototype.charPosAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x = param - 1;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.HPositionRelative = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x += param;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.repeatPrecedingCharacter = function (params) {\n var param = params[0] || 1, line = this._terminal.lines.get(this._terminal.ybase + this._terminal.y), ch = line[this._terminal.x - 1] || [this._terminal.defAttr, ' ', 1];\n while (param--) {\n line[this._terminal.x++] = ch;\n }\n };\n InputHandler.prototype.sendDeviceAttributes = function (params) {\n if (params[0] > 0) {\n return;\n }\n if (!this._terminal.prefix) {\n if (this._terminal.is('xterm') || this._terminal.is('rxvt-unicode') || this._terminal.is('screen')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?1;2c');\n }\n else if (this._terminal.is('linux')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?6c');\n }\n }\n else if (this._terminal.prefix === '>') {\n if (this._terminal.is('xterm')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>0;276;0c');\n }\n else if (this._terminal.is('rxvt-unicode')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>85;95;0c');\n }\n else if (this._terminal.is('linux')) {\n this._terminal.send(params[0] + 'c');\n }\n else if (this._terminal.is('screen')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>83;40003;0c');\n }\n }\n };\n InputHandler.prototype.linePosAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y = param - 1;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n };\n InputHandler.prototype.VPositionRelative = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.HVPosition = function (params) {\n if (params[0] < 1)\n params[0] = 1;\n if (params[1] < 1)\n params[1] = 1;\n this._terminal.y = params[0] - 1;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n this._terminal.x = params[1] - 1;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.tabClear = function (params) {\n var param = params[0];\n if (param <= 0) {\n delete this._terminal.tabs[this._terminal.x];\n }\n else if (param === 3) {\n this._terminal.tabs = {};\n }\n };\n InputHandler.prototype.setMode = function (params) {\n if (params.length > 1) {\n for (var i = 0; i < params.length; i++) {\n this.setMode([params[i]]);\n }\n return;\n }\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 4:\n this._terminal.insertMode = true;\n break;\n case 20:\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 1:\n this._terminal.applicationCursor = true;\n break;\n case 2:\n this._terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(1, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(2, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(3, Charsets_1.DEFAULT_CHARSET);\n break;\n case 3:\n this._terminal.savedCols = this._terminal.cols;\n this._terminal.resize(132, this._terminal.rows);\n break;\n case 6:\n this._terminal.originMode = true;\n break;\n case 7:\n this._terminal.wraparoundMode = true;\n break;\n case 12:\n break;\n case 66:\n this._terminal.log('Serial port requested application keypad.');\n this._terminal.applicationKeypad = true;\n this._terminal.viewport.syncScrollArea();\n break;\n case 9:\n case 1000:\n case 1002:\n case 1003:\n this._terminal.x10Mouse = params[0] === 9;\n this._terminal.vt200Mouse = params[0] === 1000;\n this._terminal.normalMouse = params[0] > 1000;\n this._terminal.mouseEvents = true;\n this._terminal.element.classList.add('enable-mouse-events');\n this._terminal.selectionManager.disable();\n this._terminal.log('Binding to mouse events.');\n break;\n case 1004:\n this._terminal.sendFocus = true;\n break;\n case 1005:\n this._terminal.utfMouse = true;\n break;\n case 1006:\n this._terminal.sgrMouse = true;\n break;\n case 1015:\n this._terminal.urxvtMouse = true;\n break;\n case 25:\n this._terminal.cursorHidden = false;\n break;\n case 1049:\n ;\n case 47:\n case 1047:\n if (!this._terminal.normal) {\n var normal = {\n lines: this._terminal.lines,\n ybase: this._terminal.ybase,\n ydisp: this._terminal.ydisp,\n x: this._terminal.x,\n y: this._terminal.y,\n scrollTop: this._terminal.scrollTop,\n scrollBottom: this._terminal.scrollBottom,\n tabs: this._terminal.tabs\n };\n this._terminal.reset();\n this._terminal.viewport.syncScrollArea();\n this._terminal.normal = normal;\n this._terminal.showCursor();\n }\n break;\n }\n }\n };\n InputHandler.prototype.resetMode = function (params) {\n if (params.length > 1) {\n for (var i = 0; i < params.length; i++) {\n this.resetMode([params[i]]);\n }\n return;\n }\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 4:\n this._terminal.insertMode = false;\n break;\n case 20:\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 1:\n this._terminal.applicationCursor = false;\n break;\n case 3:\n if (this._terminal.cols === 132 && this._terminal.savedCols) {\n this._terminal.resize(this._terminal.savedCols, this._terminal.rows);\n }\n delete this._terminal.savedCols;\n break;\n case 6:\n this._terminal.originMode = false;\n break;\n case 7:\n this._terminal.wraparoundMode = false;\n break;\n case 12:\n break;\n case 66:\n this._terminal.log('Switching back to normal keypad.');\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n break;\n case 9:\n case 1000:\n case 1002:\n case 1003:\n this._terminal.x10Mouse = false;\n this._terminal.vt200Mouse = false;\n this._terminal.normalMouse = false;\n this._terminal.mouseEvents = false;\n this._terminal.element.classList.remove('enable-mouse-events');\n this._terminal.selectionManager.enable();\n break;\n case 1004:\n this._terminal.sendFocus = false;\n break;\n case 1005:\n this._terminal.utfMouse = false;\n break;\n case 1006:\n this._terminal.sgrMouse = false;\n break;\n case 1015:\n this._terminal.urxvtMouse = false;\n break;\n case 25:\n this._terminal.cursorHidden = true;\n break;\n case 1049:\n ;\n case 47:\n case 1047:\n if (this._terminal.normal) {\n this._terminal.lines = this._terminal.normal.lines;\n this._terminal.ybase = this._terminal.normal.ybase;\n this._terminal.ydisp = this._terminal.normal.ydisp;\n this._terminal.x = this._terminal.normal.x;\n this._terminal.y = this._terminal.normal.y;\n this._terminal.scrollTop = this._terminal.normal.scrollTop;\n this._terminal.scrollBottom = this._terminal.normal.scrollBottom;\n this._terminal.tabs = this._terminal.normal.tabs;\n this._terminal.normal = null;\n this._terminal.selectionManager.setBuffer(this._terminal.lines);\n this._terminal.refresh(0, this._terminal.rows - 1);\n this._terminal.viewport.syncScrollArea();\n this._terminal.showCursor();\n }\n break;\n }\n }\n };\n InputHandler.prototype.charAttributes = function (params) {\n if (params.length === 1 && params[0] === 0) {\n this._terminal.curAttr = this._terminal.defAttr;\n return;\n }\n var l = params.length, i = 0, flags = this._terminal.curAttr >> 18, fg = (this._terminal.curAttr >> 9) & 0x1ff, bg = this._terminal.curAttr & 0x1ff, p;\n for (; i < l; i++) {\n p = params[i];\n if (p >= 30 && p <= 37) {\n fg = p - 30;\n }\n else if (p >= 40 && p <= 47) {\n bg = p - 40;\n }\n else if (p >= 90 && p <= 97) {\n p += 8;\n fg = p - 90;\n }\n else if (p >= 100 && p <= 107) {\n p += 8;\n bg = p - 100;\n }\n else if (p === 0) {\n flags = this._terminal.defAttr >> 18;\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n bg = this._terminal.defAttr & 0x1ff;\n }\n else if (p === 1) {\n flags |= 1;\n }\n else if (p === 4) {\n flags |= 2;\n }\n else if (p === 5) {\n flags |= 4;\n }\n else if (p === 7) {\n flags |= 8;\n }\n else if (p === 8) {\n flags |= 16;\n }\n else if (p === 22) {\n flags &= ~1;\n }\n else if (p === 24) {\n flags &= ~2;\n }\n else if (p === 25) {\n flags &= ~4;\n }\n else if (p === 27) {\n flags &= ~8;\n }\n else if (p === 28) {\n flags &= ~16;\n }\n else if (p === 39) {\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n }\n else if (p === 49) {\n bg = this._terminal.defAttr & 0x1ff;\n }\n else if (p === 38) {\n if (params[i + 1] === 2) {\n i += 2;\n fg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff);\n if (fg === -1)\n fg = 0x1ff;\n i += 2;\n }\n else if (params[i + 1] === 5) {\n i += 2;\n p = params[i] & 0xff;\n fg = p;\n }\n }\n else if (p === 48) {\n if (params[i + 1] === 2) {\n i += 2;\n bg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff);\n if (bg === -1)\n bg = 0x1ff;\n i += 2;\n }\n else if (params[i + 1] === 5) {\n i += 2;\n p = params[i] & 0xff;\n bg = p;\n }\n }\n else if (p === 100) {\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n bg = this._terminal.defAttr & 0x1ff;\n }\n else {\n this._terminal.error('Unknown SGR attribute: %d.', p);\n }\n }\n this._terminal.curAttr = (flags << 18) | (fg << 9) | bg;\n };\n InputHandler.prototype.deviceStatus = function (params) {\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 5:\n this._terminal.send(EscapeSequences_1.C0.ESC + '[0n');\n break;\n case 6:\n this._terminal.send(EscapeSequences_1.C0.ESC + '['\n + (this._terminal.y + 1)\n + ';'\n + (this._terminal.x + 1)\n + 'R');\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 6:\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?'\n + (this._terminal.y + 1)\n + ';'\n + (this._terminal.x + 1)\n + 'R');\n break;\n case 15:\n break;\n case 25:\n break;\n case 26:\n break;\n case 53:\n break;\n }\n }\n };\n InputHandler.prototype.softReset = function (params) {\n this._terminal.cursorHidden = false;\n this._terminal.insertMode = false;\n this._terminal.originMode = false;\n this._terminal.wraparoundMode = true;\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n this._terminal.applicationCursor = false;\n this._terminal.scrollTop = 0;\n this._terminal.scrollBottom = this._terminal.rows - 1;\n this._terminal.curAttr = this._terminal.defAttr;\n this._terminal.x = this._terminal.y = 0;\n this._terminal.charset = null;\n this._terminal.glevel = 0;\n this._terminal.charsets = [null];\n };\n InputHandler.prototype.setCursorStyle = function (params) {\n var param = params[0] < 1 ? 1 : params[0];\n switch (param) {\n case 1:\n case 2:\n this._terminal.setOption('cursorStyle', 'block');\n break;\n case 3:\n case 4:\n this._terminal.setOption('cursorStyle', 'underline');\n break;\n case 5:\n case 6:\n this._terminal.setOption('cursorStyle', 'bar');\n break;\n }\n var isBlinking = param % 2 === 1;\n this._terminal.setOption('cursorBlink', isBlinking);\n };\n InputHandler.prototype.setScrollRegion = function (params) {\n if (this._terminal.prefix)\n return;\n this._terminal.scrollTop = (params[0] || 1) - 1;\n this._terminal.scrollBottom = (params[1] && params[1] <= this._terminal.rows ? params[1] : this._terminal.rows) - 1;\n this._terminal.x = 0;\n this._terminal.y = 0;\n };\n InputHandler.prototype.saveCursor = function (params) {\n this._terminal.savedX = this._terminal.x;\n this._terminal.savedY = this._terminal.y;\n };\n InputHandler.prototype.restoreCursor = function (params) {\n this._terminal.x = this._terminal.savedX || 0;\n this._terminal.y = this._terminal.savedY || 0;\n };\n return InputHandler;\n}());\nexports.InputHandler = InputHandler;\nvar wcwidth = (function (opts) {\n var COMBINING = [\n [0x0300, 0x036F], [0x0483, 0x0486], [0x0488, 0x0489],\n [0x0591, 0x05BD], [0x05BF, 0x05BF], [0x05C1, 0x05C2],\n [0x05C4, 0x05C5], [0x05C7, 0x05C7], [0x0600, 0x0603],\n [0x0610, 0x0615], [0x064B, 0x065E], [0x0670, 0x0670],\n [0x06D6, 0x06E4], [0x06E7, 0x06E8], [0x06EA, 0x06ED],\n [0x070F, 0x070F], [0x0711, 0x0711], [0x0730, 0x074A],\n [0x07A6, 0x07B0], [0x07EB, 0x07F3], [0x0901, 0x0902],\n [0x093C, 0x093C], [0x0941, 0x0948], [0x094D, 0x094D],\n [0x0951, 0x0954], [0x0962, 0x0963], [0x0981, 0x0981],\n [0x09BC, 0x09BC], [0x09C1, 0x09C4], [0x09CD, 0x09CD],\n [0x09E2, 0x09E3], [0x0A01, 0x0A02], [0x0A3C, 0x0A3C],\n [0x0A41, 0x0A42], [0x0A47, 0x0A48], [0x0A4B, 0x0A4D],\n [0x0A70, 0x0A71], [0x0A81, 0x0A82], [0x0ABC, 0x0ABC],\n [0x0AC1, 0x0AC5], [0x0AC7, 0x0AC8], [0x0ACD, 0x0ACD],\n [0x0AE2, 0x0AE3], [0x0B01, 0x0B01], [0x0B3C, 0x0B3C],\n [0x0B3F, 0x0B3F], [0x0B41, 0x0B43], [0x0B4D, 0x0B4D],\n [0x0B56, 0x0B56], [0x0B82, 0x0B82], [0x0BC0, 0x0BC0],\n [0x0BCD, 0x0BCD], [0x0C3E, 0x0C40], [0x0C46, 0x0C48],\n [0x0C4A, 0x0C4D], [0x0C55, 0x0C56], [0x0CBC, 0x0CBC],\n [0x0CBF, 0x0CBF], [0x0CC6, 0x0CC6], [0x0CCC, 0x0CCD],\n [0x0CE2, 0x0CE3], [0x0D41, 0x0D43], [0x0D4D, 0x0D4D],\n [0x0DCA, 0x0DCA], [0x0DD2, 0x0DD4], [0x0DD6, 0x0DD6],\n [0x0E31, 0x0E31], [0x0E34, 0x0E3A], [0x0E47, 0x0E4E],\n [0x0EB1, 0x0EB1], [0x0EB4, 0x0EB9], [0x0EBB, 0x0EBC],\n [0x0EC8, 0x0ECD], [0x0F18, 0x0F19], [0x0F35, 0x0F35],\n [0x0F37, 0x0F37], [0x0F39, 0x0F39], [0x0F71, 0x0F7E],\n [0x0F80, 0x0F84], [0x0F86, 0x0F87], [0x0F90, 0x0F97],\n [0x0F99, 0x0FBC], [0x0FC6, 0x0FC6], [0x102D, 0x1030],\n [0x1032, 0x1032], [0x1036, 0x1037], [0x1039, 0x1039],\n [0x1058, 0x1059], [0x1160, 0x11FF], [0x135F, 0x135F],\n [0x1712, 0x1714], [0x1732, 0x1734], [0x1752, 0x1753],\n [0x1772, 0x1773], [0x17B4, 0x17B5], [0x17B7, 0x17BD],\n [0x17C6, 0x17C6], [0x17C9, 0x17D3], [0x17DD, 0x17DD],\n [0x180B, 0x180D], [0x18A9, 0x18A9], [0x1920, 0x1922],\n [0x1927, 0x1928], [0x1932, 0x1932], [0x1939, 0x193B],\n [0x1A17, 0x1A18], [0x1B00, 0x1B03], [0x1B34, 0x1B34],\n [0x1B36, 0x1B3A], [0x1B3C, 0x1B3C], [0x1B42, 0x1B42],\n [0x1B6B, 0x1B73], [0x1DC0, 0x1DCA], [0x1DFE, 0x1DFF],\n [0x200B, 0x200F], [0x202A, 0x202E], [0x2060, 0x2063],\n [0x206A, 0x206F], [0x20D0, 0x20EF], [0x302A, 0x302F],\n [0x3099, 0x309A], [0xA806, 0xA806], [0xA80B, 0xA80B],\n [0xA825, 0xA826], [0xFB1E, 0xFB1E], [0xFE00, 0xFE0F],\n [0xFE20, 0xFE23], [0xFEFF, 0xFEFF], [0xFFF9, 0xFFFB],\n [0x10A01, 0x10A03], [0x10A05, 0x10A06], [0x10A0C, 0x10A0F],\n [0x10A38, 0x10A3A], [0x10A3F, 0x10A3F], [0x1D167, 0x1D169],\n [0x1D173, 0x1D182], [0x1D185, 0x1D18B], [0x1D1AA, 0x1D1AD],\n [0x1D242, 0x1D244], [0xE0001, 0xE0001], [0xE0020, 0xE007F],\n [0xE0100, 0xE01EF]\n ];\n function bisearch(ucs) {\n var min = 0;\n var max = COMBINING.length - 1;\n var mid;\n if (ucs < COMBINING[0][0] || ucs > COMBINING[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > COMBINING[mid][1])\n min = mid + 1;\n else if (ucs < COMBINING[mid][0])\n max = mid - 1;\n else\n return true;\n }\n return false;\n }\n function wcwidth(ucs) {\n if (ucs === 0)\n return opts.nul;\n if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0))\n return opts.control;\n if (bisearch(ucs))\n return 0;\n if (isWide(ucs)) {\n return 2;\n }\n return 1;\n }\n function isWide(ucs) {\n return (ucs >= 0x1100 && (ucs <= 0x115f ||\n ucs === 0x2329 ||\n ucs === 0x232a ||\n (ucs >= 0x2e80 && ucs <= 0xa4cf && ucs !== 0x303f) ||\n (ucs >= 0xac00 && ucs <= 0xd7a3) ||\n (ucs >= 0xf900 && ucs <= 0xfaff) ||\n (ucs >= 0xfe10 && ucs <= 0xfe19) ||\n (ucs >= 0xfe30 && ucs <= 0xfe6f) ||\n (ucs >= 0xff00 && ucs <= 0xff60) ||\n (ucs >= 0xffe0 && ucs <= 0xffe6) ||\n (ucs >= 0x20000 && ucs <= 0x2fffd) ||\n (ucs >= 0x30000 && ucs <= 0x3fffd)));\n }\n return wcwidth;\n})({ nul: 0, control: 0 });\n\n//# sourceMappingURL=InputHandler.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/InputHandler.js\n// module id = 17\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar INVALID_LINK_CLASS = 'xterm-invalid-link';\nvar protocolClause = '(https?:\\\\/\\\\/)';\nvar domainCharacterSet = '[\\\\da-z\\\\.-]+';\nvar negatedDomainCharacterSet = '[^\\\\da-z\\\\.-]+';\nvar domainBodyClause = '(' + domainCharacterSet + ')';\nvar tldClause = '([a-z\\\\.]{2,6})';\nvar ipClause = '((\\\\d{1,3}\\\\.){3}\\\\d{1,3})';\nvar localHostClause = '(localhost)';\nvar portClause = '(:\\\\d{1,5})';\nvar hostClause = '((' + domainBodyClause + '\\\\.' + tldClause + ')|' + ipClause + '|' + localHostClause + ')' + portClause + '?';\nvar pathClause = '(\\\\/[\\\\/\\\\w\\\\.\\\\-%~]*)*';\nvar queryStringHashFragmentCharacterSet = '[0-9\\\\w\\\\[\\\\]\\\\(\\\\)\\\\/\\\\?\\\\!#@$%&\\'*+,:;~\\\\=\\\\.\\\\-]*';\nvar queryStringClause = '(\\\\?' + queryStringHashFragmentCharacterSet + ')?';\nvar hashFragmentClause = '(#' + queryStringHashFragmentCharacterSet + ')?';\nvar negatedPathCharacterSet = '[^\\\\/\\\\w\\\\.\\\\-%]+';\nvar bodyClause = hostClause + pathClause + queryStringClause + hashFragmentClause;\nvar start = '(?:^|' + negatedDomainCharacterSet + ')(';\nvar end = ')($|' + negatedPathCharacterSet + ')';\nvar strictUrlRegex = new RegExp(start + protocolClause + bodyClause + end);\nvar HYPERTEXT_LINK_MATCHER_ID = 0;\nvar Linkifier = (function () {\n function Linkifier() {\n this._nextLinkMatcherId = HYPERTEXT_LINK_MATCHER_ID;\n this._rowTimeoutIds = [];\n this._linkMatchers = [];\n this.registerLinkMatcher(strictUrlRegex, null, { matchIndex: 1 });\n }\n Linkifier.prototype.attachToDom = function (document, rows) {\n this._document = document;\n this._rows = rows;\n };\n Linkifier.prototype.linkifyRow = function (rowIndex) {\n if (!this._document) {\n return;\n }\n var timeoutId = this._rowTimeoutIds[rowIndex];\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n this._rowTimeoutIds[rowIndex] = setTimeout(this._linkifyRow.bind(this, rowIndex), Linkifier.TIME_BEFORE_LINKIFY);\n };\n Linkifier.prototype.setHypertextLinkHandler = function (handler) {\n this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].handler = handler;\n };\n Linkifier.prototype.setHypertextValidationCallback = function (callback) {\n this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].validationCallback = callback;\n };\n Linkifier.prototype.registerLinkMatcher = function (regex, handler, options) {\n if (options === void 0) { options = {}; }\n if (this._nextLinkMatcherId !== HYPERTEXT_LINK_MATCHER_ID && !handler) {\n throw new Error('handler must be defined');\n }\n var matcher = {\n id: this._nextLinkMatcherId++,\n regex: regex,\n handler: handler,\n matchIndex: options.matchIndex,\n validationCallback: options.validationCallback,\n priority: options.priority || 0\n };\n this._addLinkMatcherToList(matcher);\n return matcher.id;\n };\n Linkifier.prototype._addLinkMatcherToList = function (matcher) {\n if (this._linkMatchers.length === 0) {\n this._linkMatchers.push(matcher);\n return;\n }\n for (var i = this._linkMatchers.length - 1; i >= 0; i--) {\n if (matcher.priority <= this._linkMatchers[i].priority) {\n this._linkMatchers.splice(i + 1, 0, matcher);\n return;\n }\n }\n this._linkMatchers.splice(0, 0, matcher);\n };\n Linkifier.prototype.deregisterLinkMatcher = function (matcherId) {\n for (var i = 1; i < this._linkMatchers.length; i++) {\n if (this._linkMatchers[i].id === matcherId) {\n this._linkMatchers.splice(i, 1);\n return true;\n }\n }\n return false;\n };\n Linkifier.prototype._linkifyRow = function (rowIndex) {\n var row = this._rows[rowIndex];\n if (!row) {\n return;\n }\n var text = row.textContent;\n for (var i = 0; i < this._linkMatchers.length; i++) {\n var matcher = this._linkMatchers[i];\n var linkElements = this._doLinkifyRow(row, matcher);\n if (linkElements.length > 0) {\n if (matcher.validationCallback) {\n var _loop_1 = function (j) {\n var element = linkElements[j];\n matcher.validationCallback(element.textContent, element, function (isValid) {\n if (!isValid) {\n element.classList.add(INVALID_LINK_CLASS);\n }\n });\n };\n for (var j = 0; j < linkElements.length; j++) {\n _loop_1(j);\n }\n }\n return;\n }\n }\n };\n Linkifier.prototype._doLinkifyRow = function (row, matcher) {\n var result = [];\n var isHttpLinkMatcher = matcher.id === HYPERTEXT_LINK_MATCHER_ID;\n var nodes = row.childNodes;\n var match = row.textContent.match(matcher.regex);\n if (!match || match.length === 0) {\n return result;\n }\n var uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];\n var rowStartIndex = match.index + uri.length;\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n var searchIndex = node.textContent.indexOf(uri);\n if (searchIndex >= 0) {\n var linkElement = this._createAnchorElement(uri, matcher.handler, isHttpLinkMatcher);\n if (node.textContent.length === uri.length) {\n if (node.nodeType === 3) {\n this._replaceNode(node, linkElement);\n }\n else {\n var element = node;\n if (element.nodeName === 'A') {\n return result;\n }\n element.innerHTML = '';\n element.appendChild(linkElement);\n }\n }\n else if (node.childNodes.length > 1) {\n for (var j = 0; j < node.childNodes.length; j++) {\n var childNode = node.childNodes[j];\n var childSearchIndex = childNode.textContent.indexOf(uri);\n if (childSearchIndex !== -1) {\n this._replaceNodeSubstringWithNode(childNode, linkElement, uri, childSearchIndex);\n break;\n }\n }\n }\n else {\n var nodesAdded = this._replaceNodeSubstringWithNode(node, linkElement, uri, searchIndex);\n i += nodesAdded;\n }\n result.push(linkElement);\n match = row.textContent.substring(rowStartIndex).match(matcher.regex);\n if (!match || match.length === 0) {\n return result;\n }\n uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];\n rowStartIndex += match.index + uri.length;\n }\n }\n return result;\n };\n Linkifier.prototype._createAnchorElement = function (uri, handler, isHypertextLinkHandler) {\n var element = this._document.createElement('a');\n element.textContent = uri;\n element.draggable = false;\n if (isHypertextLinkHandler) {\n element.href = uri;\n element.target = '_blank';\n element.addEventListener('click', function (event) {\n if (handler) {\n return handler(event, uri);\n }\n });\n }\n else {\n element.addEventListener('click', function (event) {\n if (element.classList.contains(INVALID_LINK_CLASS)) {\n return;\n }\n return handler(event, uri);\n });\n }\n return element;\n };\n Linkifier.prototype._replaceNode = function (oldNode) {\n var newNodes = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n newNodes[_i - 1] = arguments[_i];\n }\n var parent = oldNode.parentNode;\n for (var i = 0; i < newNodes.length; i++) {\n parent.insertBefore(newNodes[i], oldNode);\n }\n parent.removeChild(oldNode);\n };\n Linkifier.prototype._replaceNodeSubstringWithNode = function (targetNode, newNode, substring, substringIndex) {\n if (targetNode.childNodes.length === 1) {\n targetNode = targetNode.childNodes[0];\n }\n if (targetNode.nodeType !== 3) {\n throw new Error('targetNode must be a text node or only contain a single text node');\n }\n var fullText = targetNode.textContent;\n if (substringIndex === 0) {\n var rightText_1 = fullText.substring(substring.length);\n var rightTextNode_1 = this._document.createTextNode(rightText_1);\n this._replaceNode(targetNode, newNode, rightTextNode_1);\n return 0;\n }\n if (substringIndex === targetNode.textContent.length - substring.length) {\n var leftText_1 = fullText.substring(0, substringIndex);\n var leftTextNode_1 = this._document.createTextNode(leftText_1);\n this._replaceNode(targetNode, leftTextNode_1, newNode);\n return 0;\n }\n var leftText = fullText.substring(0, substringIndex);\n var leftTextNode = this._document.createTextNode(leftText);\n var rightText = fullText.substring(substringIndex + substring.length);\n var rightTextNode = this._document.createTextNode(rightText);\n this._replaceNode(targetNode, leftTextNode, newNode, rightTextNode);\n return 1;\n };\n return Linkifier;\n}());\nLinkifier.TIME_BEFORE_LINKIFY = 200;\nexports.Linkifier = Linkifier;\n\n//# sourceMappingURL=Linkifier.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Linkifier.js\n// module id = 18\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar Charsets_1 = require(\"./Charsets\");\nvar normalStateHandler = {};\nnormalStateHandler[EscapeSequences_1.C0.BEL] = function (parser, handler) { return handler.bell(); };\nnormalStateHandler[EscapeSequences_1.C0.LF] = function (parser, handler) { return handler.lineFeed(); };\nnormalStateHandler[EscapeSequences_1.C0.VT] = normalStateHandler[EscapeSequences_1.C0.LF];\nnormalStateHandler[EscapeSequences_1.C0.FF] = normalStateHandler[EscapeSequences_1.C0.LF];\nnormalStateHandler[EscapeSequences_1.C0.CR] = function (parser, handler) { return handler.carriageReturn(); };\nnormalStateHandler[EscapeSequences_1.C0.BS] = function (parser, handler) { return handler.backspace(); };\nnormalStateHandler[EscapeSequences_1.C0.HT] = function (parser, handler) { return handler.tab(); };\nnormalStateHandler[EscapeSequences_1.C0.SO] = function (parser, handler) { return handler.shiftOut(); };\nnormalStateHandler[EscapeSequences_1.C0.SI] = function (parser, handler) { return handler.shiftIn(); };\nnormalStateHandler[EscapeSequences_1.C0.ESC] = function (parser, handler) { return parser.setState(ParserState.ESCAPED); };\nvar escapedStateHandler = {};\nescapedStateHandler['['] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.CSI_PARAM);\n};\nescapedStateHandler[']'] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.OSC);\n};\nescapedStateHandler['P'] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.DCS);\n};\nescapedStateHandler['_'] = function (parser, terminal) {\n parser.setState(ParserState.IGNORE);\n};\nescapedStateHandler['^'] = function (parser, terminal) {\n parser.setState(ParserState.IGNORE);\n};\nescapedStateHandler['c'] = function (parser, terminal) {\n terminal.reset();\n};\nescapedStateHandler['E'] = function (parser, terminal) {\n terminal.x = 0;\n terminal.index();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['D'] = function (parser, terminal) {\n terminal.index();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['M'] = function (parser, terminal) {\n terminal.reverseIndex();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['%'] = function (parser, terminal) {\n terminal.setgLevel(0);\n terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET);\n parser.setState(ParserState.NORMAL);\n parser.skipNextChar();\n};\nescapedStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); };\nvar csiParamStateHandler = {};\ncsiParamStateHandler['?'] = function (parser) { return parser.setPrefix('?'); };\ncsiParamStateHandler['>'] = function (parser) { return parser.setPrefix('>'); };\ncsiParamStateHandler['!'] = function (parser) { return parser.setPrefix('!'); };\ncsiParamStateHandler['0'] = function (parser) { return parser.setParam(parser.getParam() * 10); };\ncsiParamStateHandler['1'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 1); };\ncsiParamStateHandler['2'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 2); };\ncsiParamStateHandler['3'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 3); };\ncsiParamStateHandler['4'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 4); };\ncsiParamStateHandler['5'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 5); };\ncsiParamStateHandler['6'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 6); };\ncsiParamStateHandler['7'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 7); };\ncsiParamStateHandler['8'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 8); };\ncsiParamStateHandler['9'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 9); };\ncsiParamStateHandler['$'] = function (parser) { return parser.setPostfix('$'); };\ncsiParamStateHandler['\"'] = function (parser) { return parser.setPostfix('\"'); };\ncsiParamStateHandler[' '] = function (parser) { return parser.setPostfix(' '); };\ncsiParamStateHandler['\\''] = function (parser) { return parser.setPostfix('\\''); };\ncsiParamStateHandler[';'] = function (parser) { return parser.finalizeParam(); };\ncsiParamStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); };\nvar csiStateHandler = {};\ncsiStateHandler['@'] = function (handler, params, prefix) { return handler.insertChars(params); };\ncsiStateHandler['A'] = function (handler, params, prefix) { return handler.cursorUp(params); };\ncsiStateHandler['B'] = function (handler, params, prefix) { return handler.cursorDown(params); };\ncsiStateHandler['C'] = function (handler, params, prefix) { return handler.cursorForward(params); };\ncsiStateHandler['D'] = function (handler, params, prefix) { return handler.cursorBackward(params); };\ncsiStateHandler['E'] = function (handler, params, prefix) { return handler.cursorNextLine(params); };\ncsiStateHandler['F'] = function (handler, params, prefix) { return handler.cursorPrecedingLine(params); };\ncsiStateHandler['G'] = function (handler, params, prefix) { return handler.cursorCharAbsolute(params); };\ncsiStateHandler['H'] = function (handler, params, prefix) { return handler.cursorPosition(params); };\ncsiStateHandler['I'] = function (handler, params, prefix) { return handler.cursorForwardTab(params); };\ncsiStateHandler['J'] = function (handler, params, prefix) { return handler.eraseInDisplay(params); };\ncsiStateHandler['K'] = function (handler, params, prefix) { return handler.eraseInLine(params); };\ncsiStateHandler['L'] = function (handler, params, prefix) { return handler.insertLines(params); };\ncsiStateHandler['M'] = function (handler, params, prefix) { return handler.deleteLines(params); };\ncsiStateHandler['P'] = function (handler, params, prefix) { return handler.deleteChars(params); };\ncsiStateHandler['S'] = function (handler, params, prefix) { return handler.scrollUp(params); };\ncsiStateHandler['T'] = function (handler, params, prefix) {\n if (params.length < 2 && !prefix) {\n handler.scrollDown(params);\n }\n};\ncsiStateHandler['X'] = function (handler, params, prefix) { return handler.eraseChars(params); };\ncsiStateHandler['Z'] = function (handler, params, prefix) { return handler.cursorBackwardTab(params); };\ncsiStateHandler['`'] = function (handler, params, prefix) { return handler.charPosAbsolute(params); };\ncsiStateHandler['a'] = function (handler, params, prefix) { return handler.HPositionRelative(params); };\ncsiStateHandler['b'] = function (handler, params, prefix) { return handler.repeatPrecedingCharacter(params); };\ncsiStateHandler['c'] = function (handler, params, prefix) { return handler.sendDeviceAttributes(params); };\ncsiStateHandler['d'] = function (handler, params, prefix) { return handler.linePosAbsolute(params); };\ncsiStateHandler['e'] = function (handler, params, prefix) { return handler.VPositionRelative(params); };\ncsiStateHandler['f'] = function (handler, params, prefix) { return handler.HVPosition(params); };\ncsiStateHandler['g'] = function (handler, params, prefix) { return handler.tabClear(params); };\ncsiStateHandler['h'] = function (handler, params, prefix) { return handler.setMode(params); };\ncsiStateHandler['l'] = function (handler, params, prefix) { return handler.resetMode(params); };\ncsiStateHandler['m'] = function (handler, params, prefix) { return handler.charAttributes(params); };\ncsiStateHandler['n'] = function (handler, params, prefix) { return handler.deviceStatus(params); };\ncsiStateHandler['p'] = function (handler, params, prefix) {\n switch (prefix) {\n case '!':\n handler.softReset(params);\n break;\n }\n};\ncsiStateHandler['q'] = function (handler, params, prefix, postfix) {\n if (postfix === ' ') {\n handler.setCursorStyle(params);\n }\n};\ncsiStateHandler['r'] = function (handler, params) { return handler.setScrollRegion(params); };\ncsiStateHandler['s'] = function (handler, params) { return handler.saveCursor(params); };\ncsiStateHandler['u'] = function (handler, params) { return handler.restoreCursor(params); };\ncsiStateHandler[EscapeSequences_1.C0.CAN] = function (handler, params, prefix, postfix, parser) { return parser.setState(ParserState.NORMAL); };\nvar ParserState;\n(function (ParserState) {\n ParserState[ParserState[\"NORMAL\"] = 0] = \"NORMAL\";\n ParserState[ParserState[\"ESCAPED\"] = 1] = \"ESCAPED\";\n ParserState[ParserState[\"CSI_PARAM\"] = 2] = \"CSI_PARAM\";\n ParserState[ParserState[\"CSI\"] = 3] = \"CSI\";\n ParserState[ParserState[\"OSC\"] = 4] = \"OSC\";\n ParserState[ParserState[\"CHARSET\"] = 5] = \"CHARSET\";\n ParserState[ParserState[\"DCS\"] = 6] = \"DCS\";\n ParserState[ParserState[\"IGNORE\"] = 7] = \"IGNORE\";\n})(ParserState || (ParserState = {}));\nvar Parser = (function () {\n function Parser(_inputHandler, _terminal) {\n this._inputHandler = _inputHandler;\n this._terminal = _terminal;\n this._state = ParserState.NORMAL;\n }\n Parser.prototype.parse = function (data) {\n var l = data.length, j, cs, ch, code, low;\n this._position = 0;\n if (this._terminal.surrogate_high) {\n data = this._terminal.surrogate_high + data;\n this._terminal.surrogate_high = '';\n }\n for (; this._position < l; this._position++) {\n ch = data[this._position];\n code = data.charCodeAt(this._position);\n if (0xD800 <= code && code <= 0xDBFF) {\n low = data.charCodeAt(this._position + 1);\n if (isNaN(low)) {\n this._terminal.surrogate_high = ch;\n continue;\n }\n code = ((code - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;\n ch += data.charAt(this._position + 1);\n }\n if (0xDC00 <= code && code <= 0xDFFF)\n continue;\n switch (this._state) {\n case ParserState.NORMAL:\n if (ch in normalStateHandler) {\n normalStateHandler[ch](this, this._inputHandler);\n }\n else {\n this._inputHandler.addChar(ch, code);\n }\n break;\n case ParserState.ESCAPED:\n if (ch in escapedStateHandler) {\n escapedStateHandler[ch](this, this._terminal);\n break;\n }\n switch (ch) {\n case '(':\n case ')':\n case '*':\n case '+':\n case '-':\n case '.':\n switch (ch) {\n case '(':\n this._terminal.gcharset = 0;\n break;\n case ')':\n this._terminal.gcharset = 1;\n break;\n case '*':\n this._terminal.gcharset = 2;\n break;\n case '+':\n this._terminal.gcharset = 3;\n break;\n case '-':\n this._terminal.gcharset = 1;\n break;\n case '.':\n this._terminal.gcharset = 2;\n break;\n }\n this._state = ParserState.CHARSET;\n break;\n case '/':\n this._terminal.gcharset = 3;\n this._state = ParserState.CHARSET;\n this._position--;\n break;\n case 'N':\n break;\n case 'O':\n break;\n case 'n':\n this._terminal.setgLevel(2);\n break;\n case 'o':\n this._terminal.setgLevel(3);\n break;\n case '|':\n this._terminal.setgLevel(3);\n break;\n case '}':\n this._terminal.setgLevel(2);\n break;\n case '~':\n this._terminal.setgLevel(1);\n break;\n case '7':\n this._inputHandler.saveCursor();\n this._state = ParserState.NORMAL;\n break;\n case '8':\n this._inputHandler.restoreCursor();\n this._state = ParserState.NORMAL;\n break;\n case '#':\n this._state = ParserState.NORMAL;\n this._position++;\n break;\n case 'H':\n this._terminal.tabSet();\n this._state = ParserState.NORMAL;\n break;\n case '=':\n this._terminal.log('Serial port requested application keypad.');\n this._terminal.applicationKeypad = true;\n this._terminal.viewport.syncScrollArea();\n this._state = ParserState.NORMAL;\n break;\n case '>':\n this._terminal.log('Switching back to normal keypad.');\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n this._state = ParserState.NORMAL;\n break;\n default:\n this._state = ParserState.NORMAL;\n this._terminal.error('Unknown ESC control: %s.', ch);\n break;\n }\n break;\n case ParserState.CHARSET:\n if (ch in Charsets_1.CHARSETS) {\n cs = Charsets_1.CHARSETS[ch];\n if (ch === '/') {\n this.skipNextChar();\n }\n }\n else {\n cs = Charsets_1.DEFAULT_CHARSET;\n }\n this._terminal.setgCharset(this._terminal.gcharset, cs);\n this._terminal.gcharset = null;\n this._state = ParserState.NORMAL;\n break;\n case ParserState.OSC:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n this._terminal.params.push(this._terminal.currentParam);\n switch (this._terminal.params[0]) {\n case 0:\n case 1:\n case 2:\n if (this._terminal.params[1]) {\n this._terminal.title = this._terminal.params[1];\n this._terminal.handleTitle(this._terminal.title);\n }\n break;\n case 3:\n break;\n case 4:\n case 5:\n break;\n case 10:\n case 11:\n case 12:\n case 13:\n case 14:\n case 15:\n case 16:\n case 17:\n case 18:\n case 19:\n break;\n case 46:\n break;\n case 50:\n break;\n case 51:\n break;\n case 52:\n break;\n case 104:\n case 105:\n case 110:\n case 111:\n case 112:\n case 113:\n case 114:\n case 115:\n case 116:\n case 117:\n case 118:\n break;\n }\n this._terminal.params = [];\n this._terminal.currentParam = 0;\n this._state = ParserState.NORMAL;\n }\n else {\n if (!this._terminal.params.length) {\n if (ch >= '0' && ch <= '9') {\n this._terminal.currentParam =\n this._terminal.currentParam * 10 + ch.charCodeAt(0) - 48;\n }\n else if (ch === ';') {\n this._terminal.params.push(this._terminal.currentParam);\n this._terminal.currentParam = '';\n }\n }\n else {\n this._terminal.currentParam += ch;\n }\n }\n break;\n case ParserState.CSI_PARAM:\n if (ch in csiParamStateHandler) {\n csiParamStateHandler[ch](this);\n break;\n }\n this.finalizeParam();\n this._state = ParserState.CSI;\n case ParserState.CSI:\n if (ch in csiStateHandler) {\n csiStateHandler[ch](this._inputHandler, this._terminal.params, this._terminal.prefix, this._terminal.postfix, this);\n }\n else {\n this._terminal.error('Unknown CSI code: %s.', ch);\n }\n this._state = ParserState.NORMAL;\n this._terminal.prefix = '';\n this._terminal.postfix = '';\n break;\n case ParserState.DCS:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n var pt = void 0;\n var valid = void 0;\n switch (this._terminal.prefix) {\n case '':\n break;\n case '$q':\n pt = this._terminal.currentParam;\n valid = false;\n switch (pt) {\n case '\"q':\n pt = '0\"q';\n break;\n case '\"p':\n pt = '61\"p';\n break;\n case 'r':\n pt = ''\n + (this._terminal.scrollTop + 1)\n + ';'\n + (this._terminal.scrollBottom + 1)\n + 'r';\n break;\n case 'm':\n pt = '0m';\n break;\n default:\n this._terminal.error('Unknown DCS Pt: %s.', pt);\n pt = '';\n break;\n }\n this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '$r' + pt + EscapeSequences_1.C0.ESC + '\\\\');\n break;\n case '+p':\n break;\n case '+q':\n pt = this._terminal.currentParam;\n valid = false;\n this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '+r' + pt + EscapeSequences_1.C0.ESC + '\\\\');\n break;\n default:\n this._terminal.error('Unknown DCS prefix: %s.', this._terminal.prefix);\n break;\n }\n this._terminal.currentParam = 0;\n this._terminal.prefix = '';\n this._state = ParserState.NORMAL;\n }\n else if (!this._terminal.currentParam) {\n if (!this._terminal.prefix && ch !== '$' && ch !== '+') {\n this._terminal.currentParam = ch;\n }\n else if (this._terminal.prefix.length === 2) {\n this._terminal.currentParam = ch;\n }\n else {\n this._terminal.prefix += ch;\n }\n }\n else {\n this._terminal.currentParam += ch;\n }\n break;\n case ParserState.IGNORE:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n this._state = ParserState.NORMAL;\n }\n break;\n }\n }\n return this._state;\n };\n Parser.prototype.setState = function (state) {\n this._state = state;\n };\n Parser.prototype.setPrefix = function (prefix) {\n this._terminal.prefix = prefix;\n };\n Parser.prototype.setPostfix = function (postfix) {\n this._terminal.postfix = postfix;\n };\n Parser.prototype.setParam = function (param) {\n this._terminal.currentParam = param;\n };\n Parser.prototype.getParam = function () {\n return this._terminal.currentParam;\n };\n Parser.prototype.finalizeParam = function () {\n this._terminal.params.push(this._terminal.currentParam);\n this._terminal.currentParam = 0;\n };\n Parser.prototype.skipNextChar = function () {\n this._position++;\n };\n return Parser;\n}());\nexports.Parser = Parser;\n\n//# sourceMappingURL=Parser.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Parser.js\n// module id = 19\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DomElementObjectPool_1 = require(\"./utils/DomElementObjectPool\");\nvar MAX_REFRESH_FRAME_SKIP = 5;\nvar FLAGS;\n(function (FLAGS) {\n FLAGS[FLAGS[\"BOLD\"] = 1] = \"BOLD\";\n FLAGS[FLAGS[\"UNDERLINE\"] = 2] = \"UNDERLINE\";\n FLAGS[FLAGS[\"BLINK\"] = 4] = \"BLINK\";\n FLAGS[FLAGS[\"INVERSE\"] = 8] = \"INVERSE\";\n FLAGS[FLAGS[\"INVISIBLE\"] = 16] = \"INVISIBLE\";\n})(FLAGS || (FLAGS = {}));\n;\nvar brokenBold = null;\nvar Renderer = (function () {\n function Renderer(_terminal) {\n this._terminal = _terminal;\n this._refreshRowsQueue = [];\n this._refreshFramesSkipped = 0;\n this._refreshAnimationFrame = null;\n this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span');\n if (brokenBold === null) {\n brokenBold = checkBoldBroken(this._terminal.element);\n }\n this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span');\n }\n Renderer.prototype.queueRefresh = function (start, end) {\n this._refreshRowsQueue.push({ start: start, end: end });\n if (!this._refreshAnimationFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this));\n }\n };\n Renderer.prototype._refreshLoop = function () {\n var skipFrame = this._terminal.writeBuffer.length > 0 && this._refreshFramesSkipped++ <= MAX_REFRESH_FRAME_SKIP;\n if (skipFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this));\n return;\n }\n this._refreshFramesSkipped = 0;\n var start;\n var end;\n if (this._refreshRowsQueue.length > 4) {\n start = 0;\n end = this._terminal.rows - 1;\n }\n else {\n start = this._refreshRowsQueue[0].start;\n end = this._refreshRowsQueue[0].end;\n for (var i = 1; i < this._refreshRowsQueue.length; i++) {\n if (this._refreshRowsQueue[i].start < start) {\n start = this._refreshRowsQueue[i].start;\n }\n if (this._refreshRowsQueue[i].end > end) {\n end = this._refreshRowsQueue[i].end;\n }\n }\n }\n this._refreshRowsQueue = [];\n this._refreshAnimationFrame = null;\n this._refresh(start, end);\n };\n Renderer.prototype._refresh = function (start, end) {\n var parent;\n if (end - start >= this._terminal.rows / 2) {\n parent = this._terminal.element.parentNode;\n if (parent) {\n this._terminal.element.removeChild(this._terminal.rowContainer);\n }\n }\n var width = this._terminal.cols;\n var y = start;\n if (end >= this._terminal.rows) {\n this._terminal.log('`end` is too large. Most likely a bad CSR.');\n end = this._terminal.rows - 1;\n }\n for (; y <= end; y++) {\n var row = y + this._terminal.ydisp;\n var line = this._terminal.lines.get(row);\n var x = void 0;\n if (this._terminal.y === y - (this._terminal.ybase - this._terminal.ydisp) &&\n this._terminal.cursorState &&\n !this._terminal.cursorHidden) {\n x = this._terminal.x;\n }\n else {\n x = -1;\n }\n var attr = this._terminal.defAttr;\n var documentFragment = document.createDocumentFragment();\n var innerHTML = '';\n var currentElement = void 0;\n while (this._terminal.children[y].children.length) {\n var child = this._terminal.children[y].children[0];\n this._terminal.children[y].removeChild(child);\n this._spanElementObjectPool.release(child);\n }\n for (var i = 0; i < width; i++) {\n var data = line[i][0];\n var ch = line[i][1];\n var ch_width = line[i][2];\n if (!ch_width) {\n continue;\n }\n if (i === x) {\n data = -1;\n }\n if (data !== attr) {\n if (attr !== this._terminal.defAttr) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n currentElement = null;\n }\n if (data !== this._terminal.defAttr) {\n if (innerHTML && !currentElement) {\n currentElement = this._spanElementObjectPool.acquire();\n }\n if (currentElement) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n }\n currentElement = this._spanElementObjectPool.acquire();\n if (data === -1) {\n currentElement.classList.add('reverse-video');\n currentElement.classList.add('terminal-cursor');\n }\n else {\n var bg = data & 0x1ff;\n var fg = (data >> 9) & 0x1ff;\n var flags = data >> 18;\n if (flags & FLAGS.BOLD) {\n if (!brokenBold) {\n currentElement.classList.add('xterm-bold');\n }\n if (fg < 8) {\n fg += 8;\n }\n }\n if (flags & FLAGS.UNDERLINE) {\n currentElement.classList.add('xterm-underline');\n }\n if (flags & FLAGS.BLINK) {\n currentElement.classList.add('xterm-blink');\n }\n if (flags & FLAGS.INVERSE) {\n var temp = bg;\n bg = fg;\n fg = temp;\n if ((flags & 1) && fg < 8) {\n fg += 8;\n }\n }\n if (flags & FLAGS.INVISIBLE) {\n currentElement.classList.add('xterm-hidden');\n }\n if (flags & FLAGS.INVERSE) {\n if (bg === 257) {\n bg = 15;\n }\n if (fg === 256) {\n fg = 0;\n }\n }\n if (bg < 256) {\n currentElement.classList.add(\"xterm-bg-color-\" + bg);\n }\n if (fg < 256) {\n currentElement.classList.add(\"xterm-color-\" + fg);\n }\n }\n }\n }\n if (ch_width === 2) {\n innerHTML += \"\" + ch + \"\";\n }\n else if (ch.charCodeAt(0) > 255) {\n innerHTML += \"\" + ch + \"\";\n }\n else {\n switch (ch) {\n case '&':\n innerHTML += '&';\n break;\n case '<':\n innerHTML += '<';\n break;\n case '>':\n innerHTML += '>';\n break;\n default:\n if (ch <= ' ') {\n innerHTML += ' ';\n }\n else {\n innerHTML += ch;\n }\n break;\n }\n }\n attr = data;\n }\n if (innerHTML && !currentElement) {\n currentElement = this._spanElementObjectPool.acquire();\n }\n if (currentElement) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n currentElement = null;\n }\n this._terminal.children[y].appendChild(documentFragment);\n }\n if (parent) {\n this._terminal.element.appendChild(this._terminal.rowContainer);\n }\n this._terminal.emit('refresh', { element: this._terminal.element, start: start, end: end });\n };\n ;\n Renderer.prototype.refreshSelection = function (start, end) {\n while (this._terminal.selectionContainer.children.length) {\n this._terminal.selectionContainer.removeChild(this._terminal.selectionContainer.children[0]);\n }\n if (!start || !end) {\n return;\n }\n var viewportStartRow = start[1] - this._terminal.ydisp;\n var viewportEndRow = end[1] - this._terminal.ydisp;\n var viewportCappedStartRow = Math.max(viewportStartRow, 0);\n var viewportCappedEndRow = Math.min(viewportEndRow, this._terminal.rows - 1);\n if (viewportCappedStartRow >= this._terminal.rows || viewportCappedEndRow < 0) {\n return;\n }\n var documentFragment = document.createDocumentFragment();\n var startCol = viewportStartRow === viewportCappedStartRow ? start[0] : 0;\n var endCol = viewportCappedStartRow === viewportCappedEndRow ? end[0] : this._terminal.cols;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow, startCol, endCol));\n var middleRowsCount = viewportCappedEndRow - viewportCappedStartRow - 1;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow + 1, 0, this._terminal.cols, middleRowsCount));\n if (viewportCappedStartRow !== viewportCappedEndRow) {\n var endCol_1 = viewportEndRow === viewportCappedEndRow ? end[0] : this._terminal.cols;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedEndRow, 0, endCol_1));\n }\n this._terminal.selectionContainer.appendChild(documentFragment);\n };\n Renderer.prototype._createSelectionElement = function (row, colStart, colEnd, rowCount) {\n if (rowCount === void 0) { rowCount = 1; }\n var element = document.createElement('div');\n element.style.height = rowCount * this._terminal.charMeasure.height + \"px\";\n element.style.top = row * this._terminal.charMeasure.height + \"px\";\n element.style.left = colStart * this._terminal.charMeasure.width + \"px\";\n element.style.width = this._terminal.charMeasure.width * (colEnd - colStart) + \"px\";\n return element;\n };\n return Renderer;\n}());\nexports.Renderer = Renderer;\nfunction checkBoldBroken(terminal) {\n var document = terminal.ownerDocument;\n var el = document.createElement('span');\n el.innerHTML = 'hello world';\n terminal.appendChild(el);\n var w1 = el.offsetWidth;\n var h1 = el.offsetHeight;\n el.style.fontWeight = 'bold';\n var w2 = el.offsetWidth;\n var h2 = el.offsetHeight;\n terminal.removeChild(el);\n return w1 !== w2 || h1 !== h2;\n}\n\n//# sourceMappingURL=Renderer.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Renderer.js\n// module id = 20\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Mouse = require(\"./utils/Mouse\");\nvar Browser = require(\"./utils/Browser\");\nvar EventEmitter_1 = require(\"./EventEmitter\");\nvar SelectionModel_1 = require(\"./SelectionModel\");\nvar DRAG_SCROLL_MAX_THRESHOLD = 50;\nvar DRAG_SCROLL_MAX_SPEED = 15;\nvar DRAG_SCROLL_INTERVAL = 50;\nvar CLEAR_MOUSE_DOWN_TIME = 400;\nvar CLEAR_MOUSE_DISTANCE = 10;\nvar WORD_SEPARATORS = ' ()[]{}\\'\"';\nvar LINE_DATA_CHAR_INDEX = 1;\nvar LINE_DATA_WIDTH_INDEX = 2;\nvar NON_BREAKING_SPACE_CHAR = String.fromCharCode(160);\nvar ALL_NON_BREAKING_SPACE_REGEX = new RegExp(NON_BREAKING_SPACE_CHAR, 'g');\nvar SelectionMode;\n(function (SelectionMode) {\n SelectionMode[SelectionMode[\"NORMAL\"] = 0] = \"NORMAL\";\n SelectionMode[SelectionMode[\"WORD\"] = 1] = \"WORD\";\n SelectionMode[SelectionMode[\"LINE\"] = 2] = \"LINE\";\n})(SelectionMode || (SelectionMode = {}));\nvar SelectionManager = (function (_super) {\n __extends(SelectionManager, _super);\n function SelectionManager(_terminal, _buffer, _rowContainer, _charMeasure) {\n var _this = _super.call(this) || this;\n _this._terminal = _terminal;\n _this._buffer = _buffer;\n _this._rowContainer = _rowContainer;\n _this._charMeasure = _charMeasure;\n _this._initListeners();\n _this.enable();\n _this._model = new SelectionModel_1.SelectionModel(_terminal);\n _this._lastMouseDownTime = 0;\n _this._activeSelectionMode = SelectionMode.NORMAL;\n return _this;\n }\n SelectionManager.prototype._initListeners = function () {\n var _this = this;\n this._bufferTrimListener = function (amount) { return _this._onTrim(amount); };\n this._mouseMoveListener = function (event) { return _this._onMouseMove(event); };\n this._mouseDownListener = function (event) { return _this._onMouseDown(event); };\n this._mouseUpListener = function (event) { return _this._onMouseUp(event); };\n };\n SelectionManager.prototype.disable = function () {\n this.clearSelection();\n this._buffer.off('trim', this._bufferTrimListener);\n this._rowContainer.removeEventListener('mousedown', this._mouseDownListener);\n };\n SelectionManager.prototype.enable = function () {\n this._buffer.on('trim', this._bufferTrimListener);\n this._rowContainer.addEventListener('mousedown', this._mouseDownListener);\n };\n SelectionManager.prototype.setBuffer = function (buffer) {\n this._buffer = buffer;\n this.clearSelection();\n };\n Object.defineProperty(SelectionManager.prototype, \"hasSelection\", {\n get: function () {\n var start = this._model.finalSelectionStart;\n var end = this._model.finalSelectionEnd;\n if (!start || !end) {\n return false;\n }\n return start[0] !== end[0] || start[1] !== end[1];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SelectionManager.prototype, \"selectionText\", {\n get: function () {\n var start = this._model.finalSelectionStart;\n var end = this._model.finalSelectionEnd;\n if (!start || !end) {\n return '';\n }\n var startRowEndCol = start[1] === end[1] ? end[0] : null;\n var result = [];\n result.push(this._translateBufferLineToString(this._buffer.get(start[1]), true, start[0], startRowEndCol));\n for (var i = start[1] + 1; i <= end[1] - 1; i++) {\n var bufferLine = this._buffer.get(i);\n var lineText = this._translateBufferLineToString(bufferLine, true);\n if (bufferLine.isWrapped) {\n result[result.length - 1] += lineText;\n }\n else {\n result.push(lineText);\n }\n }\n if (start[1] !== end[1]) {\n var bufferLine = this._buffer.get(end[1]);\n var lineText = this._translateBufferLineToString(bufferLine, true, 0, end[0]);\n if (bufferLine.isWrapped) {\n result[result.length - 1] += lineText;\n }\n else {\n result.push(lineText);\n }\n }\n var formattedResult = result.map(function (line) {\n return line.replace(ALL_NON_BREAKING_SPACE_REGEX, ' ');\n }).join(Browser.isMSWindows ? '\\r\\n' : '\\n');\n return formattedResult;\n },\n enumerable: true,\n configurable: true\n });\n SelectionManager.prototype.clearSelection = function () {\n this._model.clearSelection();\n this._removeMouseDownListeners();\n this.refresh();\n };\n SelectionManager.prototype._translateBufferLineToString = function (line, trimRight, startCol, endCol) {\n if (startCol === void 0) { startCol = 0; }\n if (endCol === void 0) { endCol = null; }\n var lineString = '';\n var widthAdjustedStartCol = startCol;\n var widthAdjustedEndCol = endCol;\n for (var i = 0; i < line.length; i++) {\n var char = line[i];\n lineString += char[LINE_DATA_CHAR_INDEX];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n if (startCol >= i) {\n widthAdjustedStartCol--;\n }\n if (endCol >= i) {\n widthAdjustedEndCol--;\n }\n }\n }\n var finalEndCol = widthAdjustedEndCol || line.length;\n if (trimRight) {\n var rightWhitespaceIndex = lineString.search(/\\s+$/);\n if (rightWhitespaceIndex !== -1) {\n finalEndCol = Math.min(finalEndCol, rightWhitespaceIndex);\n }\n if (finalEndCol <= widthAdjustedStartCol) {\n return '';\n }\n }\n return lineString.substring(widthAdjustedStartCol, finalEndCol);\n };\n SelectionManager.prototype.refresh = function (isNewSelection) {\n var _this = this;\n if (!this._refreshAnimationFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(function () { return _this._refresh(); });\n }\n if (Browser.isLinux && isNewSelection) {\n var selectionText = this.selectionText;\n if (selectionText.length) {\n this.emit('newselection', this.selectionText);\n }\n }\n };\n SelectionManager.prototype._refresh = function () {\n this._refreshAnimationFrame = null;\n this.emit('refresh', { start: this._model.finalSelectionStart, end: this._model.finalSelectionEnd });\n };\n SelectionManager.prototype.selectAll = function () {\n this._model.isSelectAllActive = true;\n this.refresh();\n };\n SelectionManager.prototype._onTrim = function (amount) {\n var needsRefresh = this._model.onTrim(amount);\n if (needsRefresh) {\n this.refresh();\n }\n };\n SelectionManager.prototype._getMouseBufferCoords = function (event) {\n var coords = Mouse.getCoords(event, this._rowContainer, this._charMeasure, this._terminal.cols, this._terminal.rows, true);\n coords[0]--;\n coords[1]--;\n coords[1] += this._terminal.ydisp;\n return coords;\n };\n SelectionManager.prototype._getMouseEventScrollAmount = function (event) {\n var offset = Mouse.getCoordsRelativeToElement(event, this._rowContainer)[1];\n var terminalHeight = this._terminal.rows * this._charMeasure.height;\n if (offset >= 0 && offset <= terminalHeight) {\n return 0;\n }\n if (offset > terminalHeight) {\n offset -= terminalHeight;\n }\n offset = Math.min(Math.max(offset, -DRAG_SCROLL_MAX_THRESHOLD), DRAG_SCROLL_MAX_THRESHOLD);\n offset /= DRAG_SCROLL_MAX_THRESHOLD;\n return (offset / Math.abs(offset)) + Math.round(offset * (DRAG_SCROLL_MAX_SPEED - 1));\n };\n SelectionManager.prototype._onMouseDown = function (event) {\n if (event.button !== 0) {\n return;\n }\n event.preventDefault();\n this._dragScrollAmount = 0;\n this._setMouseClickCount(event);\n if (event.shiftKey) {\n this._onShiftClick(event);\n }\n else {\n if (this._clickCount === 1) {\n this._onSingleClick(event);\n }\n else if (this._clickCount === 2) {\n this._onDoubleClick(event);\n }\n else if (this._clickCount === 3) {\n this._onTripleClick(event);\n }\n }\n this._addMouseDownListeners();\n this.refresh(true);\n };\n SelectionManager.prototype._addMouseDownListeners = function () {\n var _this = this;\n this._rowContainer.ownerDocument.addEventListener('mousemove', this._mouseMoveListener);\n this._rowContainer.ownerDocument.addEventListener('mouseup', this._mouseUpListener);\n this._dragScrollIntervalTimer = setInterval(function () { return _this._dragScroll(); }, DRAG_SCROLL_INTERVAL);\n };\n SelectionManager.prototype._removeMouseDownListeners = function () {\n this._rowContainer.ownerDocument.removeEventListener('mousemove', this._mouseMoveListener);\n this._rowContainer.ownerDocument.removeEventListener('mouseup', this._mouseUpListener);\n clearInterval(this._dragScrollIntervalTimer);\n this._dragScrollIntervalTimer = null;\n };\n SelectionManager.prototype._onShiftClick = function (event) {\n if (this._model.selectionStart) {\n this._model.selectionEnd = this._getMouseBufferCoords(event);\n }\n };\n SelectionManager.prototype._onSingleClick = function (event) {\n this._model.selectionStartLength = 0;\n this._model.isSelectAllActive = false;\n this._activeSelectionMode = SelectionMode.NORMAL;\n this._model.selectionStart = this._getMouseBufferCoords(event);\n if (this._model.selectionStart) {\n this._model.selectionEnd = null;\n var char = this._buffer.get(this._model.selectionStart[1])[this._model.selectionStart[0]];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n this._model.selectionStart[0]++;\n }\n }\n };\n SelectionManager.prototype._onDoubleClick = function (event) {\n var coords = this._getMouseBufferCoords(event);\n if (coords) {\n this._activeSelectionMode = SelectionMode.WORD;\n this._selectWordAt(coords);\n }\n };\n SelectionManager.prototype._onTripleClick = function (event) {\n var coords = this._getMouseBufferCoords(event);\n if (coords) {\n this._activeSelectionMode = SelectionMode.LINE;\n this._selectLineAt(coords[1]);\n }\n };\n SelectionManager.prototype._setMouseClickCount = function (event) {\n var currentTime = (new Date()).getTime();\n if (currentTime - this._lastMouseDownTime > CLEAR_MOUSE_DOWN_TIME || this._distanceFromLastMousePosition(event) > CLEAR_MOUSE_DISTANCE) {\n this._clickCount = 0;\n }\n this._lastMouseDownTime = currentTime;\n this._lastMousePosition = [event.pageX, event.pageY];\n this._clickCount++;\n };\n SelectionManager.prototype._distanceFromLastMousePosition = function (event) {\n var result = Math.max(Math.abs(this._lastMousePosition[0] - event.pageX), Math.abs(this._lastMousePosition[1] - event.pageY));\n return result;\n };\n SelectionManager.prototype._onMouseMove = function (event) {\n var previousSelectionEnd = this._model.selectionEnd ? [this._model.selectionEnd[0], this._model.selectionEnd[1]] : null;\n this._model.selectionEnd = this._getMouseBufferCoords(event);\n if (this._activeSelectionMode === SelectionMode.LINE) {\n if (this._model.selectionEnd[1] < this._model.selectionStart[1]) {\n this._model.selectionEnd[0] = 0;\n }\n else {\n this._model.selectionEnd[0] = this._terminal.cols;\n }\n }\n else if (this._activeSelectionMode === SelectionMode.WORD) {\n this._selectToWordAt(this._model.selectionEnd);\n }\n this._dragScrollAmount = this._getMouseEventScrollAmount(event);\n if (this._dragScrollAmount > 0) {\n this._model.selectionEnd[0] = this._terminal.cols - 1;\n }\n else if (this._dragScrollAmount < 0) {\n this._model.selectionEnd[0] = 0;\n }\n if (this._model.selectionEnd[1] < this._buffer.length) {\n var char = this._buffer.get(this._model.selectionEnd[1])[this._model.selectionEnd[0]];\n if (char && char[2] === 0) {\n this._model.selectionEnd[0]++;\n }\n }\n if (!previousSelectionEnd ||\n previousSelectionEnd[0] !== this._model.selectionEnd[0] ||\n previousSelectionEnd[1] !== this._model.selectionEnd[1]) {\n this.refresh(true);\n }\n };\n SelectionManager.prototype._dragScroll = function () {\n if (this._dragScrollAmount) {\n this._terminal.scrollDisp(this._dragScrollAmount, false);\n if (this._dragScrollAmount > 0) {\n this._model.selectionEnd = [this._terminal.cols - 1, this._terminal.ydisp + this._terminal.rows];\n }\n else {\n this._model.selectionEnd = [0, this._terminal.ydisp];\n }\n this.refresh();\n }\n };\n SelectionManager.prototype._onMouseUp = function (event) {\n this._removeMouseDownListeners();\n };\n SelectionManager.prototype._convertViewportColToCharacterIndex = function (bufferLine, coords) {\n var charIndex = coords[0];\n for (var i = 0; coords[0] >= i; i++) {\n var char = bufferLine[i];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n charIndex--;\n }\n }\n return charIndex;\n };\n SelectionManager.prototype._getWordAt = function (coords) {\n var bufferLine = this._buffer.get(coords[1]);\n var line = this._translateBufferLineToString(bufferLine, false);\n var endIndex = this._convertViewportColToCharacterIndex(bufferLine, coords);\n var startIndex = endIndex;\n var charOffset = coords[0] - startIndex;\n var leftWideCharCount = 0;\n var rightWideCharCount = 0;\n if (line.charAt(startIndex) === ' ') {\n while (startIndex > 0 && line.charAt(startIndex - 1) === ' ') {\n startIndex--;\n }\n while (endIndex < line.length && line.charAt(endIndex + 1) === ' ') {\n endIndex++;\n }\n }\n else {\n var startCol = coords[0];\n var endCol = coords[0];\n if (bufferLine[startCol][LINE_DATA_WIDTH_INDEX] === 0) {\n leftWideCharCount++;\n startCol--;\n }\n if (bufferLine[endCol][LINE_DATA_WIDTH_INDEX] === 2) {\n rightWideCharCount++;\n endCol++;\n }\n while (startIndex > 0 && !this._isCharWordSeparator(line.charAt(startIndex - 1))) {\n if (bufferLine[startCol - 1][LINE_DATA_WIDTH_INDEX] === 0) {\n leftWideCharCount++;\n startCol--;\n }\n startIndex--;\n startCol--;\n }\n while (endIndex + 1 < line.length && !this._isCharWordSeparator(line.charAt(endIndex + 1))) {\n if (bufferLine[endCol + 1][LINE_DATA_WIDTH_INDEX] === 2) {\n rightWideCharCount++;\n endCol++;\n }\n endIndex++;\n endCol++;\n }\n }\n var start = startIndex + charOffset - leftWideCharCount;\n var length = Math.min(endIndex - startIndex + leftWideCharCount + rightWideCharCount + 1, this._terminal.cols);\n return { start: start, length: length };\n };\n SelectionManager.prototype._selectWordAt = function (coords) {\n var wordPosition = this._getWordAt(coords);\n this._model.selectionStart = [wordPosition.start, coords[1]];\n this._model.selectionStartLength = wordPosition.length;\n };\n SelectionManager.prototype._selectToWordAt = function (coords) {\n var wordPosition = this._getWordAt(coords);\n this._model.selectionEnd = [this._model.areSelectionValuesReversed() ? wordPosition.start : (wordPosition.start + wordPosition.length), coords[1]];\n };\n SelectionManager.prototype._isCharWordSeparator = function (char) {\n return WORD_SEPARATORS.indexOf(char) >= 0;\n };\n SelectionManager.prototype._selectLineAt = function (line) {\n this._model.selectionStart = [0, line];\n this._model.selectionStartLength = this._terminal.cols;\n };\n return SelectionManager;\n}(EventEmitter_1.EventEmitter));\nexports.SelectionManager = SelectionManager;\n\n//# sourceMappingURL=SelectionManager.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/SelectionManager.js\n// module id = 21\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar SelectionModel = (function () {\n function SelectionModel(_terminal) {\n this._terminal = _terminal;\n this.clearSelection();\n }\n SelectionModel.prototype.clearSelection = function () {\n this.selectionStart = null;\n this.selectionEnd = null;\n this.isSelectAllActive = false;\n this.selectionStartLength = 0;\n };\n Object.defineProperty(SelectionModel.prototype, \"finalSelectionStart\", {\n get: function () {\n if (this.isSelectAllActive) {\n return [0, 0];\n }\n if (!this.selectionEnd || !this.selectionStart) {\n return this.selectionStart;\n }\n return this.areSelectionValuesReversed() ? this.selectionEnd : this.selectionStart;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SelectionModel.prototype, \"finalSelectionEnd\", {\n get: function () {\n if (this.isSelectAllActive) {\n return [this._terminal.cols, this._terminal.ybase + this._terminal.rows - 1];\n }\n if (!this.selectionStart) {\n return null;\n }\n if (!this.selectionEnd || this.areSelectionValuesReversed()) {\n return [this.selectionStart[0] + this.selectionStartLength, this.selectionStart[1]];\n }\n if (this.selectionStartLength) {\n if (this.selectionEnd[1] === this.selectionStart[1]) {\n return [Math.max(this.selectionStart[0] + this.selectionStartLength, this.selectionEnd[0]), this.selectionEnd[1]];\n }\n }\n return this.selectionEnd;\n },\n enumerable: true,\n configurable: true\n });\n SelectionModel.prototype.areSelectionValuesReversed = function () {\n var start = this.selectionStart;\n var end = this.selectionEnd;\n return start[1] > end[1] || (start[1] === end[1] && start[0] > end[0]);\n };\n SelectionModel.prototype.onTrim = function (amount) {\n if (this.selectionStart) {\n this.selectionStart[1] -= amount;\n }\n if (this.selectionEnd) {\n this.selectionEnd[1] -= amount;\n }\n if (this.selectionEnd && this.selectionEnd[1] < 0) {\n this.clearSelection();\n return true;\n }\n if (this.selectionStart && this.selectionStart[1] < 0) {\n this.selectionStart[1] = 0;\n }\n return false;\n };\n return SelectionModel;\n}());\nexports.SelectionModel = SelectionModel;\n\n//# sourceMappingURL=SelectionModel.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/SelectionModel.js\n// module id = 22\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Viewport = (function () {\n function Viewport(terminal, viewportElement, scrollArea, charMeasure) {\n var _this = this;\n this.terminal = terminal;\n this.viewportElement = viewportElement;\n this.scrollArea = scrollArea;\n this.charMeasure = charMeasure;\n this.currentRowHeight = 0;\n this.lastRecordedBufferLength = 0;\n this.lastRecordedViewportHeight = 0;\n this.terminal.on('scroll', this.syncScrollArea.bind(this));\n this.terminal.on('resize', this.syncScrollArea.bind(this));\n this.viewportElement.addEventListener('scroll', this.onScroll.bind(this));\n setTimeout(function () { return _this.syncScrollArea(); }, 0);\n }\n Viewport.prototype.refresh = function () {\n if (this.charMeasure.height > 0) {\n var rowHeightChanged = this.charMeasure.height !== this.currentRowHeight;\n if (rowHeightChanged) {\n this.currentRowHeight = this.charMeasure.height;\n this.viewportElement.style.lineHeight = this.charMeasure.height + 'px';\n this.terminal.rowContainer.style.lineHeight = this.charMeasure.height + 'px';\n }\n var viewportHeightChanged = this.lastRecordedViewportHeight !== this.terminal.rows;\n if (rowHeightChanged || viewportHeightChanged) {\n this.lastRecordedViewportHeight = this.terminal.rows;\n this.viewportElement.style.height = this.charMeasure.height * this.terminal.rows + 'px';\n this.terminal.selectionContainer.style.height = this.viewportElement.style.height;\n }\n this.scrollArea.style.height = (this.charMeasure.height * this.lastRecordedBufferLength) + 'px';\n }\n };\n Viewport.prototype.syncScrollArea = function () {\n if (this.lastRecordedBufferLength !== this.terminal.lines.length) {\n this.lastRecordedBufferLength = this.terminal.lines.length;\n this.refresh();\n }\n else if (this.lastRecordedViewportHeight !== this.terminal.rows) {\n this.refresh();\n }\n else {\n if (this.charMeasure.height !== this.currentRowHeight) {\n this.refresh();\n }\n }\n var scrollTop = this.terminal.ydisp * this.currentRowHeight;\n if (this.viewportElement.scrollTop !== scrollTop) {\n this.viewportElement.scrollTop = scrollTop;\n }\n };\n Viewport.prototype.onScroll = function (ev) {\n var newRow = Math.round(this.viewportElement.scrollTop / this.currentRowHeight);\n var diff = newRow - this.terminal.ydisp;\n this.terminal.scrollDisp(diff, true);\n };\n Viewport.prototype.onWheel = function (ev) {\n if (ev.deltaY === 0) {\n return;\n }\n var multiplier = 1;\n if (ev.deltaMode === WheelEvent.DOM_DELTA_LINE) {\n multiplier = this.currentRowHeight;\n }\n else if (ev.deltaMode === WheelEvent.DOM_DELTA_PAGE) {\n multiplier = this.currentRowHeight * this.terminal.rows;\n }\n this.viewportElement.scrollTop += ev.deltaY * multiplier;\n ev.preventDefault();\n };\n ;\n Viewport.prototype.onTouchStart = function (ev) {\n this.lastTouchY = ev.touches[0].pageY;\n };\n ;\n Viewport.prototype.onTouchMove = function (ev) {\n var deltaY = this.lastTouchY - ev.touches[0].pageY;\n this.lastTouchY = ev.touches[0].pageY;\n if (deltaY === 0) {\n return;\n }\n this.viewportElement.scrollTop += deltaY;\n ev.preventDefault();\n };\n ;\n return Viewport;\n}());\nexports.Viewport = Viewport;\n\n//# sourceMappingURL=Viewport.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Viewport.js\n// module id = 23\n// module chunks = 0","var map = {\n\t\"./attach/attach\": 4,\n\t\"./attach/attach.js\": 4,\n\t\"./attach/package.json\": 25,\n\t\"./fit/fit\": 5,\n\t\"./fit/fit.js\": 5,\n\t\"./fit/package.json\": 26,\n\t\"./fullscreen/fullscreen\": 6,\n\t\"./fullscreen/fullscreen.css\": 27,\n\t\"./fullscreen/fullscreen.js\": 6,\n\t\"./fullscreen/package.json\": 28,\n\t\"./terminado/package.json\": 29,\n\t\"./terminado/terminado\": 7,\n\t\"./terminado/terminado.js\": 7\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 24;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons ^\\.\\/.*$\n// module id = 24\n// module chunks = 0","module.exports = {\"name\":\"xterm.attach\",\"main\":\"attach.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/attach/package.json\n// module id = 25\n// module chunks = 0","module.exports = {\"name\":\"xterm.fit\",\"main\":\"fit.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fit/package.json\n// module id = 26\n// module chunks = 0","module.exports = {\"name\":\"xterm.fullscreen\",\"main\":\"fullscreen.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fullscreen/package.json\n// module id = 28\n// module chunks = 0","module.exports = {\"name\":\"xterm.terminado\",\"main\":\"terminado.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/terminado/package.json\n// module id = 29\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction prepareTextForTerminal(text, isMSWindows) {\n if (isMSWindows) {\n return text.replace(/\\r?\\n/g, '\\r');\n }\n return text;\n}\nexports.prepareTextForTerminal = prepareTextForTerminal;\nfunction copyHandler(ev, term, selectionManager) {\n if (term.browser.isMSIE) {\n window.clipboardData.setData('Text', selectionManager.selectionText);\n }\n else {\n ev.clipboardData.setData('text/plain', selectionManager.selectionText);\n }\n ev.preventDefault();\n}\nexports.copyHandler = copyHandler;\nfunction pasteHandler(ev, term) {\n ev.stopPropagation();\n var text;\n var dispatchPaste = function (text) {\n text = prepareTextForTerminal(text, term.browser.isMSWindows);\n term.handler(text);\n term.textarea.value = '';\n term.emit('paste', text);\n return term.cancel(ev);\n };\n if (term.browser.isMSIE) {\n if (window.clipboardData) {\n text = window.clipboardData.getData('Text');\n dispatchPaste(text);\n }\n }\n else {\n if (ev.clipboardData) {\n text = ev.clipboardData.getData('text/plain');\n dispatchPaste(text);\n }\n }\n}\nexports.pasteHandler = pasteHandler;\nfunction moveTextAreaUnderMouseCursor(ev, textarea) {\n textarea.style.position = 'fixed';\n textarea.style.width = '20px';\n textarea.style.height = '20px';\n textarea.style.left = (ev.clientX - 10) + 'px';\n textarea.style.top = (ev.clientY - 10) + 'px';\n textarea.style.zIndex = '1000';\n textarea.focus();\n setTimeout(function () {\n textarea.style.position = null;\n textarea.style.width = null;\n textarea.style.height = null;\n textarea.style.left = null;\n textarea.style.top = null;\n textarea.style.zIndex = null;\n }, 4);\n}\nexports.moveTextAreaUnderMouseCursor = moveTextAreaUnderMouseCursor;\nfunction rightClickHandler(ev, textarea, selectionManager) {\n moveTextAreaUnderMouseCursor(ev, textarea);\n textarea.value = selectionManager.selectionText;\n textarea.select();\n}\nexports.rightClickHandler = rightClickHandler;\n\n//# sourceMappingURL=Clipboard.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/handlers/Clipboard.js\n// module id = 30\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventEmitter_js_1 = require(\"../EventEmitter.js\");\nvar CharMeasure = (function (_super) {\n __extends(CharMeasure, _super);\n function CharMeasure(document, parentElement) {\n var _this = _super.call(this) || this;\n _this._document = document;\n _this._parentElement = parentElement;\n return _this;\n }\n Object.defineProperty(CharMeasure.prototype, \"width\", {\n get: function () {\n return this._width;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CharMeasure.prototype, \"height\", {\n get: function () {\n return this._height;\n },\n enumerable: true,\n configurable: true\n });\n CharMeasure.prototype.measure = function () {\n var _this = this;\n if (!this._measureElement) {\n this._measureElement = this._document.createElement('span');\n this._measureElement.style.position = 'absolute';\n this._measureElement.style.top = '0';\n this._measureElement.style.left = '-9999em';\n this._measureElement.textContent = 'W';\n this._measureElement.setAttribute('aria-hidden', 'true');\n this._parentElement.appendChild(this._measureElement);\n setTimeout(function () { return _this._doMeasure(); }, 0);\n }\n else {\n this._doMeasure();\n }\n };\n CharMeasure.prototype._doMeasure = function () {\n var geometry = this._measureElement.getBoundingClientRect();\n if (geometry.width === 0 || geometry.height === 0) {\n return;\n }\n if (this._width !== geometry.width || this._height !== geometry.height) {\n this._width = geometry.width;\n this._height = geometry.height;\n this.emit('charsizechanged');\n }\n };\n return CharMeasure;\n}(EventEmitter_js_1.EventEmitter));\nexports.CharMeasure = CharMeasure;\n\n//# sourceMappingURL=CharMeasure.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/CharMeasure.js\n// module id = 31\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventEmitter_1 = require(\"../EventEmitter\");\nvar CircularList = (function (_super) {\n __extends(CircularList, _super);\n function CircularList(maxLength) {\n var _this = _super.call(this) || this;\n _this._array = new Array(maxLength);\n _this._startIndex = 0;\n _this._length = 0;\n return _this;\n }\n Object.defineProperty(CircularList.prototype, \"maxLength\", {\n get: function () {\n return this._array.length;\n },\n set: function (newMaxLength) {\n var newArray = new Array(newMaxLength);\n for (var i = 0; i < Math.min(newMaxLength, this.length); i++) {\n newArray[i] = this._array[this._getCyclicIndex(i)];\n }\n this._array = newArray;\n this._startIndex = 0;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CircularList.prototype, \"length\", {\n get: function () {\n return this._length;\n },\n set: function (newLength) {\n if (newLength > this._length) {\n for (var i = this._length; i < newLength; i++) {\n this._array[i] = undefined;\n }\n }\n this._length = newLength;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CircularList.prototype, \"forEach\", {\n get: function () {\n var _this = this;\n return function (callbackfn) {\n var i = 0;\n var length = _this.length;\n for (var i_1 = 0; i_1 < length; i_1++) {\n callbackfn(_this.get(i_1), i_1);\n }\n };\n },\n enumerable: true,\n configurable: true\n });\n CircularList.prototype.get = function (index) {\n return this._array[this._getCyclicIndex(index)];\n };\n CircularList.prototype.set = function (index, value) {\n this._array[this._getCyclicIndex(index)] = value;\n };\n CircularList.prototype.push = function (value) {\n this._array[this._getCyclicIndex(this._length)] = value;\n if (this._length === this.maxLength) {\n this._startIndex++;\n if (this._startIndex === this.maxLength) {\n this._startIndex = 0;\n }\n this.emit('trim', 1);\n }\n else {\n this._length++;\n }\n };\n CircularList.prototype.pop = function () {\n return this._array[this._getCyclicIndex(this._length-- - 1)];\n };\n CircularList.prototype.splice = function (start, deleteCount) {\n var items = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n items[_i - 2] = arguments[_i];\n }\n if (deleteCount) {\n for (var i = start; i < this._length - deleteCount; i++) {\n this._array[this._getCyclicIndex(i)] = this._array[this._getCyclicIndex(i + deleteCount)];\n }\n this._length -= deleteCount;\n }\n if (items && items.length) {\n for (var i = this._length - 1; i >= start; i--) {\n this._array[this._getCyclicIndex(i + items.length)] = this._array[this._getCyclicIndex(i)];\n }\n for (var i = 0; i < items.length; i++) {\n this._array[this._getCyclicIndex(start + i)] = items[i];\n }\n if (this._length + items.length > this.maxLength) {\n var countToTrim = (this._length + items.length) - this.maxLength;\n this._startIndex += countToTrim;\n this._length = this.maxLength;\n this.emit('trim', countToTrim);\n }\n else {\n this._length += items.length;\n }\n }\n };\n CircularList.prototype.trimStart = function (count) {\n if (count > this._length) {\n count = this._length;\n }\n this._startIndex += count;\n this._length -= count;\n this.emit('trim', count);\n };\n CircularList.prototype.shiftElements = function (start, count, offset) {\n if (count <= 0) {\n return;\n }\n if (start < 0 || start >= this._length) {\n throw new Error('start argument out of range');\n }\n if (start + offset < 0) {\n throw new Error('Cannot shift elements in list beyond index 0');\n }\n if (offset > 0) {\n for (var i = count - 1; i >= 0; i--) {\n this.set(start + i + offset, this.get(start + i));\n }\n var expandListBy = (start + count + offset) - this._length;\n if (expandListBy > 0) {\n this._length += expandListBy;\n while (this._length > this.maxLength) {\n this._length--;\n this._startIndex++;\n this.emit('trim', 1);\n }\n }\n }\n else {\n for (var i = 0; i < count; i++) {\n this.set(start + i + offset, this.get(start + i));\n }\n }\n };\n CircularList.prototype._getCyclicIndex = function (index) {\n return (this._startIndex + index) % this.maxLength;\n };\n return CircularList;\n}(EventEmitter_1.EventEmitter));\nexports.CircularList = CircularList;\n\n//# sourceMappingURL=CircularList.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/CircularList.js\n// module id = 32\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DomElementObjectPool = (function () {\n function DomElementObjectPool(type) {\n this.type = type;\n this._type = type;\n this._pool = [];\n this._inUse = {};\n }\n DomElementObjectPool.prototype.acquire = function () {\n var element;\n if (this._pool.length === 0) {\n element = this._createNew();\n }\n else {\n element = this._pool.pop();\n }\n this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)] = element;\n return element;\n };\n DomElementObjectPool.prototype.release = function (element) {\n if (!this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)]) {\n throw new Error('Could not release an element not yet acquired');\n }\n delete this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)];\n this._cleanElement(element);\n this._pool.push(element);\n };\n DomElementObjectPool.prototype._createNew = function () {\n var element = document.createElement(this._type);\n var id = DomElementObjectPool._objectCount++;\n element.setAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE, id.toString(10));\n return element;\n };\n DomElementObjectPool.prototype._cleanElement = function (element) {\n element.className = '';\n element.innerHTML = '';\n };\n return DomElementObjectPool;\n}());\nDomElementObjectPool.OBJECT_ID_ATTRIBUTE = 'data-obj-id';\nDomElementObjectPool._objectCount = 0;\nexports.DomElementObjectPool = DomElementObjectPool;\n\n//# sourceMappingURL=DomElementObjectPool.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/DomElementObjectPool.js\n// module id = 33\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction contains(arr, el) {\n return arr.indexOf(el) >= 0;\n}\nexports.contains = contains;\n;\n\n//# sourceMappingURL=Generic.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Generic.js\n// module id = 34\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/js/dist/hterm.d.ts b/js/dist/hterm.d.ts index 8d82157..5884784 100644 --- a/js/dist/hterm.d.ts +++ b/js/dist/hterm.d.ts @@ -1,5 +1,5 @@ import * as bare from "libapps"; -export declare class TermHterm { +export declare class Hterm { elem: HTMLElement; term: bare.Terminal; io: bare.IO; diff --git a/js/dist/xterm.d.ts b/js/dist/xterm.d.ts index 9a04c18..ae28909 100644 --- a/js/dist/xterm.d.ts +++ b/js/dist/xterm.d.ts @@ -1,5 +1,5 @@ import * as bare from "xterm"; -export declare class TermXterm { +export declare class Xterm { elem: HTMLElement; message: HTMLElement; messageTimeout: number; diff --git a/js/src/hterm.ts b/js/src/hterm.ts index 171616e..b775c00 100644 --- a/js/src/hterm.ts +++ b/js/src/hterm.ts @@ -1,6 +1,6 @@ import * as bare from "libapps"; -export class TermHterm { +export class Hterm { elem: HTMLElement; term: bare.Terminal; diff --git a/js/src/main.ts b/js/src/main.ts index dfa8d11..101190a 100644 --- a/js/src/main.ts +++ b/js/src/main.ts @@ -1,5 +1,5 @@ -import { TermHterm } from "./hterm"; -import { TermXterm } from "./xterm"; +import { Hterm } from "./hterm"; +import { Xterm } from "./xterm"; import { Terminal, WebTTY, protocols } from "./webtty"; import { ConnectionFactory } from "./websocket"; @@ -12,9 +12,9 @@ const elem = document.getElementById("terminal") if (elem !== null) { var term: Terminal; if (gotty_term == "hterm") { - term = new TermHterm(elem); + term = new Hterm(elem); } else { - term = new TermXterm(elem); + term = new Xterm(elem); } const httpsEnabled = window.location.protocol == "https:"; const url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws'; diff --git a/js/src/xterm.ts b/js/src/xterm.ts index 8963091..e2b5775 100644 --- a/js/src/xterm.ts +++ b/js/src/xterm.ts @@ -2,7 +2,7 @@ import * as bare from "xterm"; bare.loadAddon("fit"); -export class TermXterm { +export class Xterm { elem: HTMLElement; message: HTMLElement; From a8bb23f570ce28b21c5f4659e6bf1e5e99dd55dd Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Tue, 22 Aug 2017 16:03:19 +0900 Subject: [PATCH 60/82] Rename bundle.js to gotty-bundle.js --- Makefile | 8 +++---- js/dist/bundle.js.map | 1 - js/dist/{bundle.js => gotty-bundle.js} | 2 +- js/dist/gotty-bundle.js.map | 1 + js/webpack.config.js | 2 +- resources/index.html | 2 +- server/asset.go | 33 ++++++++++++++++++++++---- 7 files changed, 36 insertions(+), 13 deletions(-) delete mode 100644 js/dist/bundle.js.map rename js/dist/{bundle.js => gotty-bundle.js} (99%) create mode 100644 js/dist/gotty-bundle.js.map diff --git a/Makefile b/Makefile index 8f88a17..884925a 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ gotty: server/asset.go main.go server/*.go webtty/*.go backend/*.go Makefile asset: server/asset.go -server/asset.go: bindata/static/js/bundle.js bindata/static/index.html bindata/static/favicon.png bindata/static/css/index.css bindata/static/css/xterm.css bindata/static/css/xterm_customize.css +server/asset.go: bindata/static/js/gotty-bundle.js bindata/static/index.html bindata/static/favicon.png bindata/static/css/index.css bindata/static/css/xterm.css bindata/static/css/xterm_customize.css go-bindata -prefix bindata -pkg server -ignore=\\.gitkeep -o server/asset.go bindata/... gofmt -w server/asset.go @@ -27,8 +27,8 @@ bindata/static/js: bindata/static mkdir -p bindata/static/js -bindata/static/js/bundle.js: bindata/static/js js/dist/bundle.js - cp js/dist/bundle.js bindata/static/js/bundle.js +bindata/static/js/gotty-bundle.js: bindata/static/js js/dist/gotty-bundle.js + cp js/dist/gotty-bundle.js bindata/static/js/gotty-bundle.js bindata/static/css: bindata/static mkdir -p bindata/static/css @@ -46,7 +46,7 @@ js/node_modules/xterm/dist/xterm.css: cd js && \ npm install -js/dist/bundle.js: +js/dist/gotty-bundle.js: cd js && \ webpack diff --git a/js/dist/bundle.js.map b/js/dist/bundle.js.map deleted file mode 100644 index 7b54e57..0000000 --- a/js/dist/bundle.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap e07bf020f10a44c91562","webpack:///./~/xterm/lib/xterm.js","webpack:///./~/xterm/lib/EventEmitter.js","webpack:///./~/xterm/lib/EscapeSequences.js","webpack:///./~/xterm/lib/Charsets.js","webpack:///./~/xterm/lib/addons/attach/attach.js","webpack:///./~/xterm/lib/addons/fit/fit.js","webpack:///./~/xterm/lib/addons/fullscreen/fullscreen.js","webpack:///./~/xterm/lib/addons/terminado/terminado.js","webpack:///./~/xterm/lib/utils/Browser.js","webpack:///./~/xterm/lib/utils/Mouse.js","webpack:///./src/hterm.ts","webpack:///./src/websocket.ts","webpack:///./src/webtty.ts","webpack:///./src/xterm.ts","webpack:///./~/libapps/hterm/dist/js/hterm_module.js","webpack:///./src/main.ts","webpack:///./~/xterm/lib/CompositionHelper.js","webpack:///./~/xterm/lib/InputHandler.js","webpack:///./~/xterm/lib/Linkifier.js","webpack:///./~/xterm/lib/Parser.js","webpack:///./~/xterm/lib/Renderer.js","webpack:///./~/xterm/lib/SelectionManager.js","webpack:///./~/xterm/lib/SelectionModel.js","webpack:///./~/xterm/lib/Viewport.js","webpack:///./~/xterm/lib/addons ^\\.\\/.*$","webpack:///./~/xterm/lib/addons/attach/package.json","webpack:///./~/xterm/lib/addons/fit/package.json","webpack:///./~/xterm/lib/addons/fullscreen/package.json","webpack:///./~/xterm/lib/addons/terminado/package.json","webpack:///./~/xterm/lib/handlers/Clipboard.js","webpack:///./~/xterm/lib/utils/CharMeasure.js","webpack:///./~/xterm/lib/utils/CircularList.js","webpack:///./~/xterm/lib/utils/DomElementObjectPool.js","webpack:///./~/xterm/lib/utils/Generic.js"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AChEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA,UAAU,QAAQ;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gDAAgD,8CAA8C;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,KAAK;AACL;AACA,2BAA2B,iBAAiB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,mCAAmC,yCAAyC,EAAE;AAC9E,iEAAiE,yCAAyC,EAAE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,4CAA4C;AACtE,iCAAiC,wCAAwC;AACzE,gCAAgC,0CAA0C;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,cAAc;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,wHAAwH;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,wHAAwH;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,mCAAmC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,6BAA6B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5lDA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC1DA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,qCAAqC;AACtC;;AAEA;;;;;;;;ACzCA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;;;;;;;AChKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;AC7HD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B;AAC/B;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;;AAEA,gBAAgB;AAChB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;ACrFD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;ACjDD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;ACtID;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;;;;;;;;;;ACnCA,mCAAgC;AAEhC;IAYI,eAAY,IAAiB;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;IAAA,CAAC;IAEF,oBAAI,GAAJ;QACI,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACtD,CAAC;IAAA,CAAC;IAEF,sBAAM,GAAN,UAAO,IAAY;QACf,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAAA,CAAC;IAEF,2BAAW,GAAX,UAAY,OAAe,EAAE,OAAe;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;IAAA,CAAC;IAEF,6BAAa,GAAb;QACI,iEAAiE;QACjE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,8BAAc,GAAd,UAAe,KAAa;QACxB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAAA,CAAC;IAEF,8BAAc,GAAd,UAAe,KAAa;QAA5B,iBAIC;QAHG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;YAC3B,KAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACP,CAAC;IAAA,CAAC;IAEF,uBAAO,GAAP,UAAQ,QAAiC;QACrC,IAAI,CAAC,EAAE,CAAC,aAAa,GAAG,UAAC,IAAI;YACzB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC;QACF,IAAI,CAAC,EAAE,CAAC,UAAU,GAAG,UAAC,IAAI;YACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC;IACN,CAAC;IAAA,CAAC;IAEF,wBAAQ,GAAR,UAAS,QAAiD;QAA1D,iBAMC;QALG,IAAI,CAAC,EAAE,CAAC,gBAAgB,GAAG,UAAC,OAAe,EAAE,IAAY;YACrD,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;IACN,CAAC;IAAA,CAAC;IAEF,0BAAU,GAAV;QACI,IAAI,CAAC,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,GAAG,IAAI;QACzB,IAAI,CAAC,EAAE,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAClC,CAAC;IAED,qBAAK,GAAL;QACI,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;IAED,qBAAK,GAAL;QACI,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAClC,CAAC;IACL,YAAC;AAAD,CAAC;AAzFY,sBAAK;;;;;;;;;;ACFlB;IAII,2BAAY,GAAW,EAAE,SAAmB;QACxC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAAA,CAAC;IAEF,kCAAM,GAAN;QACI,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAAA,CAAC;IACN,wBAAC;AAAD,CAAC;AAZY,8CAAiB;AAc9B;IAII,oBAAY,GAAW,EAAE,SAAmB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,yBAAI,GAAJ;QACI,6BAA6B;IACjC,CAAC;IAAA,CAAC;IAEF,0BAAK,GAAL;QACI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAAA,CAAC;IAEF,yBAAI,GAAJ,UAAK,IAAY;QACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAAA,CAAC;IAEF,2BAAM,GAAN;QACI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU;YAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI;QACf,CAAC;QACD,MAAM,CAAC,KAAK;IAChB,CAAC;IAED,2BAAM,GAAN,UAAO,QAAoB;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,UAAC,KAAK;YACrB,QAAQ,EAAE,CAAC;QACf,CAAC;IACL,CAAC;IAAA,CAAC;IAEF,8BAAS,GAAT,UAAU,QAAgC;QACtC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,UAAC,KAAK;YACxB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IAAA,CAAC;IAEF,4BAAO,GAAP,UAAQ,QAAoB;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,UAAC,KAAK;YACtB,QAAQ,EAAE,CAAC;QACf,CAAC,CAAC;IACN,CAAC;IAAA,CAAC;IACN,iBAAC;AAAD,CAAC;AA7CY,gCAAU;;;;;;;;;;ACdV,iBAAS,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEvB,uBAAe,GAAG,GAAG,CAAC;AACtB,gBAAQ,GAAG,GAAG,CAAC;AACf,eAAO,GAAG,GAAG,CAAC;AACd,yBAAiB,GAAG,GAAG,CAAC;AAExB,wBAAgB,GAAG,GAAG,CAAC;AACvB,iBAAS,GAAG,GAAG,CAAC;AAChB,eAAO,GAAG,GAAG,CAAC;AACd,yBAAiB,GAAG,GAAG,CAAC;AACxB,yBAAiB,GAAG,GAAG,CAAC;AACxB,uBAAe,GAAG,GAAG,CAAC;AAgCnC;IAOI,gBAAY,IAAc,EAAE,iBAAoC,EAAE,IAAY,EAAE,SAAiB;QAC7F,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACxB,CAAC;IAAA,CAAC;IAEF,qBAAI,GAAJ;QAAA,iBA2FC;QA1FG,IAAI,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACjD,IAAI,SAAiB,CAAC;QACtB,IAAI,gBAAwB,CAAC;QAE7B,IAAM,KAAK,GAAG;YACV,UAAU,CAAC,MAAM,CAAC;gBACd,IAAM,QAAQ,GAAG,KAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAElC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAC1B;oBACI,SAAS,EAAE,KAAI,CAAC,IAAI;oBACpB,SAAS,EAAE,KAAI,CAAC,SAAS;iBAC5B,CACJ,CAAC,CAAC;gBAGH,IAAM,aAAa,GAAG,UAAC,OAAe,EAAE,IAAY;oBAChD,UAAU,CAAC,IAAI,CACX,yBAAiB,GAAG,IAAI,CAAC,SAAS,CAC9B;wBACI,OAAO,EAAE,OAAO;wBAChB,IAAI,EAAE,IAAI;qBACb,CACJ,CACJ,CAAC;gBACN,CAAC,CAAC;gBAEF,KAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAClC,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAE/C,KAAI,CAAC,IAAI,CAAC,OAAO,CACb,UAAC,KAAa;oBACV,UAAU,CAAC,IAAI,CAAC,gBAAQ,GAAG,KAAK,CAAC,CAAC;gBACtC,CAAC,CACJ,CAAC;gBAEF,SAAS,GAAG,WAAW,CAAC;oBACpB,UAAU,CAAC,IAAI,CAAC,eAAO,CAAC;gBAC5B,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;YAElB,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,SAAS,CAAC,UAAC,IAAI;gBACtB,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9B,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACd,KAAK,iBAAS;wBACV,KAAI,CAAC,IAAI,CAAC,MAAM,CACZ,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,UAAS,CAAC;4BACjE,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACjE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CACf,CAAC;wBACF,KAAK,CAAC;oBACV,KAAK,eAAO;wBACR,KAAK,CAAC;oBACV,KAAK,yBAAiB;wBAClB,KAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;wBAClC,KAAK,CAAC;oBACV,KAAK,yBAAiB;wBAClB,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBACxC,KAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;wBACtC,KAAK,CAAC;oBACV,KAAK,uBAAe;wBAChB,IAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC1C,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,aAAa,GAAG,UAAU,CAAC;wBAChE,KAAI,CAAC,SAAS,GAAG,aAAa,CAAC;wBAC/B,KAAK,CAAC;gBACd,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,OAAO,CAAC;gBACf,aAAa,CAAC,SAAS,CAAC,CAAC;gBACzB,KAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACvB,KAAI,CAAC,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;gBAC9C,EAAE,CAAC,CAAC,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;oBACrB,gBAAgB,GAAG,UAAU,CAAC;wBAC1B,UAAU,GAAG,KAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;wBAC7C,KAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;wBAClB,KAAK,EAAE,CAAC;oBACZ,CAAC,EAAE,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;gBAC9B,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QAED,KAAK,EAAE,CAAC;QACR,MAAM,CAAC;YACH,YAAY,CAAC,gBAAgB,CAAC,CAAC;YAC/B,UAAU,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACL,CAAC;IAAA,CAAC;IACN,aAAC;AAAD,CAAC;AA3GY,wBAAM;AA2GlB,CAAC;;;;;;;;;;ACvJF,kCAA8B;AAE9B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAEtB;IAUI,eAAY,IAAiB;QAA7B,iBAqBC;QApBG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,eAAe,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAG3B,IAAI,CAAC,cAAc,GAAG;YAClB,KAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAChB,KAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC3B,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAI,CAAC,cAAc,CAAC,CAAC;QACjG,CAAC,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;YACjB,KAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAQ,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAA,CAAC;IAEF,oBAAI,GAAJ;QACI,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC7D,CAAC;IAAA,CAAC;IAEF,sBAAM,GAAN,UAAO,IAAY;QACf,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAA,CAAC;IAEF,2BAAW,GAAX,UAAY,OAAe,EAAE,OAAe;QAA5C,iBAYC;QAXG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC;QACD,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;gBAC3B,KAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC,EAAE,OAAO,CAAC,CAAC;QAChB,CAAC;IACL,CAAC;IAAA,CAAC;IAEF,6BAAa,GAAb;QACI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IAED,8BAAc,GAAd,UAAe,KAAa;QACxB,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3B,CAAC;IAAA,CAAC;IAEF,8BAAc,GAAd,UAAe,KAAa;IAC5B,CAAC;IAAA,CAAC;IAEF,uBAAO,GAAP,UAAQ,QAAiC;QACrC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,IAAI;YACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IAEP,CAAC;IAAA,CAAC;IAEF,wBAAQ,GAAR,UAAS,QAAiD;QACtD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAC,IAAI;YACxB,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;IAAA,CAAC;IAEF,0BAAU,GAAV;QACI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,qBAAK,GAAL;QACI,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,qBAAK,GAAL;QACI,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IACL,YAAC;AAAD,CAAC;AAhGY,sBAAK;;;;;;;;ACJlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,mBAAmB;AAC9B,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,EAAE,WAAW,EAAE,WAAW,EAAE;;AAEjD;AACA;AACA,2BAA2B,IAAI,YAAY,IAAI;AAC/C,eAAe,IAAI;AACnB;;AAEA;AACA;AACA;AACA,iBAAiB,IAAI,YAAY,IAAI,YAAY,IAAI;AACrD;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,IAAI,YAAY,IAAI,YAAY,IAAI;AACrD;AACA;;AAEA;AACA,6BAA6B,IAAI,aAAa,IAAI,aAAa,IAAI;;AAEnE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,gBAAgB;AAChB,iBAAiB;AACjB,kBAAkB;AAClB,iBAAiB;AACjB;;AAEA,kDAAkD,gBAAgB;AAClE;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2CAA2C,iCAAiC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,IAAI;AACf;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,4BAA4B,uBAAuB;AACnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA,oBAAoB,+BAA+B;;AAEnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,sBAAsB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,kBAAkB;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,8CAA8C;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,8CAA8C;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,0BAA0B;;AAE9C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,wCAAwC;AACnD;AACA;AACA,WAAW,8CAA8C;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB,kCAAkC;AACnD;;AAEA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS,kBAAkB,aAAa,WAAW,kBAAkB;AAC9E;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,YAAY,OAAO;AACnB;AACA;AACA;AACA,aAAa;AACb,eAAe;AACf,cAAc;AACd;;AAEA,iBAAiB,cAAc;AAC/B;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,iBAAiB,cAAc;AAC/B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,iBAAiB,uBAAuB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA,uBAAuB,qDAAqD;AAC5E;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;AACA;AACA;;AAEA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;;AAEA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;AACA;AACA;;AAEA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;;AAEZ;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,SAAS;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,qBAAqB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS;AACtC;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,WAAW,OAAO;AAClB;AACA,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA,YAAY,IAAI;AAChB;AACA;AACA;AACA;;AAEA,iBAAiB,6CAA6C;AAC9D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA,WAAW,qBAAqB;AAChC;AACA,WAAW,qBAAqB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD,2BAA2B;AAC3E;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ,kDAAkD;AACtE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;;AAEA,iCAAiC,yBAAyB;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC,cAAc;AAClD,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL,sCAAsC,eAAe;AACrD;AACA;AACA,CAAC;;AAED;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6DAA6D,eAAe;;AAE5E;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC,eAAe,OAAO;AACtB,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,0BAA0B,wCAAwC,EAAE;AAC3E;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,0CAA0C,uBAAuB;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,0BAA0B;AAC1B,qBAAqB;AACrB,8BAA8B;AAC9B,gBAAgB;AAChB,gBAAgB;AAChB,kBAAkB;AAClB,mBAAmB;AACnB,uBAAuB;AACvB,uBAAuB;AACvB,uEAAuE;AACvE,qEAAqE;;AAErE;AACA;AACA;AACA;AACA,uBAAuB;AACvB,mCAAmC;AACnC,sCAAsC;AACtC,uEAAuE;AACvE,4DAA4D;AAC5D,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B,2BAA2B;AAC3B,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,eAAe;;AAEf;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,WAAW,iCAAiC;AAC5C,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,mDAAmD;AACnD;AACA;AACA,oBAAoB,0BAA0B;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;;AAEpB;AACA,iBAAiB,yBAAyB,uBAAuB;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,0CAA0C;AACrE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC,WAAW,0BAA0B;AACrC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,YAAY;;AAEZ;AACA,YAAY;;AAEZ;AACA,YAAY;;;AAGZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,EAAE;AAChD;AACA,KAAK;AACL;AACA,8CAA8C,EAAE;AAChD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,+CAA+C;AAC/C,GAAG;AACH,yBAAyB;AACzB,GAAG;AACH,qBAAqB;AACrB,GAAG;AACH,qBAAqB;AACrB,GAAG;AACH,sBAAsB;AACtB,GAAG;AACH,mBAAmB;AACnB,GAAG;AACH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,KAAK;AACb,oBAAoB;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sDAAsD,yBAAyB;AAC/E;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,oBAAoB;AAC/B;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,MAAM;AAClB;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB,oBAAoB;AACpB,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB,oBAAoB;AACpB,oBAAoB;AACpB,mBAAmB;AACnB,wBAAwB;AACxB,+CAA+C;AAC/C,iCAAiC;AACjC,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd,wBAAwB;AACxB,8CAA8C;AAC9C,mDAAmD;AACnD,QAAQ;AACR;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,sBAAsB;AACtB,8BAA8B;AAC9B,uBAAuB;AACvB,oCAAoC;AACpC,oBAAoB;AACpB,0BAA0B,oBAAoB;AAC9C,wBAAwB;AACxB,mBAAmB;AACnB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,uBAAuB;AACvB,wBAAwB;AACxB,iCAAiC;AACjC,8BAA8B;AAC9B;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB,wBAAwB;AACxB,4CAA4C;AAC5C,wBAAwB;;AAExB;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,cAAc;AACd,eAAe;AACf;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,iBAAiB;AACjB,gBAAgB;AAChB,eAAe;AACf,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,gBAAgB;AAChB,iBAAiB;AACjB,4BAA4B;AAC5B,iCAAiC;AACjC,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,yBAAyB,6BAA6B;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,mBAAmB;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B,gCAAgC;AAC7D;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,8DAA8D;AAC9D;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,8BAA8B,wBAAwB,EAAE;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA,SAAS,WAAW,EAAE,KAAK;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C;AAC7C;AACA,8BAA8B;AAC9B,GAAG;AACH,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,2CAA2C,QAAQ;AACnD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,kDAAkD,cAAc;;AAEhE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC,iCAAiC;AACjC,mDAAmD;AACnD,4BAA4B;AAC5B,8BAA8B;AAC9B,SAAS;AACT,kBAAkB;AAClB,gCAAgC;AAChC,6BAA6B;AAC7B,uDAAuD;AACvD,oDAAoD;AACpD,SAAS;AACT,eAAe;AACf,iFAAiF;AACjF,mFAAmF;AACnF,uCAAuC;AACvC,uCAAuC;AACvC,4CAA4C;AAC5C,0CAA0C;AAC1C,gDAAgD;AAChD,qEAAqE;AACrE,SAAS;AACT,0BAA0B;AAC1B,gBAAgB,cAAc,EAAE;AAChC,cAAc,cAAc,EAAE;AAC9B,SAAS;AACT,qBAAqB;AACrB,gCAAgC;AAChC,+DAA+D;AAC/D,8CAA8C;AAC9C,iDAAiD;AACjD,yCAAyC;AACzC,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,iFAAiF;AACjF,iFAAiF;AACjF,uBAAuB;AACvB,2CAA2C;AAC3C,6CAA6C;AAC7C,mEAAmE;AACnE,gEAAgE;;AAEhE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,mBAAmB;AACnB,uBAAuB;AACvB,oBAAoB;AACpB,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB;AACA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,mBAAmB,mBAAmB;AACtC;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA,mBAAmB,8BAA8B;AACjD,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B,gCAAgC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,6BAA6B;AACtC,SAAS,qCAAqC;AAC9C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB,mCAAmC;AACnC,0BAA0B;AAC1B,4BAA4B;AAC5B,uBAAuB;AACvB,0CAA0C;AAC1C,oBAAoB;AACpB,sBAAsB;AACtB,4BAA4B;AAC5B,wCAAwC;AACxC,mCAAmC;AACnC,qCAAqC;AACrC,gCAAgC;;AAEhC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B,uBAAuB;AACvB,0CAA0C;AAC1C,4BAA4B;AAC5B,mCAAmC;AACnC,mDAAmD;AACnD,gCAAgC;AAChC,gDAAgD;;AAEhD;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,8BAA8B;AAC9B,0BAA0B;AAC1B;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,4BAA4B,WAAW;AACvC,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,qBAAqB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,IAAI;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,GAAG,kBAAkB;AACrB;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,GAAG;AACH;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,GAAG,uBAAuB;AAC1B;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC,UAAU,OAAO;AACvD;AACA,wCAAwC;;AAExC;AACA;AACA;;AAEA,0BAA0B,wBAAwB;AAClD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC,yBAAyB;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,uDAAuD;AACvD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA;AACA,gBAAgB,MAAM;AACtB;AACA,0CAA0C,GAAG,IAAI,KAAK;AACtD;AACA;AACA;AACA;AACA,oBAAoB,gCAAgC;AACpD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,IAAI;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;;AAEA;AACA,qBAAqB;AACrB;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,sBAAsB;AAC7B;AACA;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,OAAO;AACP;;AAEA,OAAO;AACP;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC,0BAA0B;AACnE;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C,oBAAoB;AAC9D;AACA;AACA;AACA,6CAA6C,IAAI,IAAI;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH,0CAA0C,EAAE,EAAE;AAC9C,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,sBAAsB;AACjC;AACA;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,4BAA4B;AAC5B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;AACL,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC9jjBA,sCAAgC;AAChC,sCAAgC;AAChC,uCAAuD;AACvD,0CAAgD;AAMhD,IAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;AAEhD,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;IAChB,IAAI,IAAc,CAAC;IACnB,EAAE,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC;QACxB,IAAI,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,IAAI,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,IAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAC1D,IAAM,GAAG,GAAG,CAAC,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzG,IAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IACpC,IAAM,OAAO,GAAG,IAAI,6BAAiB,CAAC,GAAG,EAAE,kBAAS,CAAC,CAAC;IACtD,IAAM,EAAE,GAAG,IAAI,eAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC7D,IAAM,QAAM,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAEzB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAC9B,QAAM,EAAE,CAAC;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC;AAAA,CAAC;;;;;;;;AC7BF;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,8CAA8C,EAAE;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC5HA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,uDAAuD,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,yBAAyB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,IAAI;AACxE;AACA;AACA,qEAAqE,GAAG;AACxE;AACA;AACA;AACA;AACA;AACA,qEAAqE,MAAM;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,GAAG,qBAAqB;;AAEzB;;;;;;;;ACx6BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B,sBAAsB,IAAI,KAAK,EAAE,IAAI,IAAI;AACzC;AACA,wBAAwB,IAAI;AAC5B;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,gBAAgB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,mCAAmC,yBAAyB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,4BAA4B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;;;;;;;ACzOA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA,2EAA2E,uBAAuB;AAClG,0EAA0E,2BAA2B;AACrG;AACA;AACA,0EAA0E,iCAAiC;AAC3G,0EAA0E,4BAA4B;AACtG,0EAA0E,sBAAsB;AAChG,0EAA0E,2BAA2B;AACrG,0EAA0E,0BAA0B;AACpG,2EAA2E,6CAA6C;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,4CAA4C;AAC/G;AACA,+CAA+C,8BAA8B;AAC7E,+CAA+C,8BAA8B;AAC7E,+CAA+C,8BAA8B;AAC7E,+CAA+C,gDAAgD;AAC/F,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,+BAA+B;AAC9E,+CAA+C,+BAA+B;AAC9E,+CAA+C,+BAA+B;AAC9E,gDAAgD,gCAAgC;AAChF,uBAAuB,wBAAwB,+BAA+B;AAC9E,oEAAoE,4CAA4C;AAChH;AACA,2DAA2D,oCAAoC;AAC/F,2DAA2D,iCAAiC;AAC5F,2DAA2D,mCAAmC;AAC9F,2DAA2D,sCAAsC;AACjG,2DAA2D,uCAAuC;AAClG,2DAA2D,uCAAuC;AAClG,2DAA2D,4CAA4C;AACvG,2DAA2D,2CAA2C;AACtG,2DAA2D,uCAAuC;AAClG,2DAA2D,yCAAyC;AACpG,2DAA2D,uCAAuC;AAClG,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,iCAAiC;AAC5F;AACA;AACA;AACA;AACA;AACA,2DAA2D,mCAAmC;AAC9F,2DAA2D,0CAA0C;AACrG,2DAA2D,wCAAwC;AACnG,2DAA2D,0CAA0C;AACrG,2DAA2D,iDAAiD;AAC5G,2DAA2D,6CAA6C;AACxG,2DAA2D,wCAAwC;AACnG,2DAA2D,0CAA0C;AACrG,2DAA2D,mCAAmC;AAC9F,2DAA2D,iCAAiC;AAC5F,2DAA2D,gCAAgC;AAC3F,2DAA2D,kCAAkC;AAC7F,2DAA2D,uCAAuC;AAClG,2DAA2D,qCAAqC;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,wCAAwC;AAC3F,mDAAmD,mCAAmC;AACtF,mDAAmD,sCAAsC;AACzF,iGAAiG,4CAA4C;AAC7I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC7dA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sBAAsB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,yBAAyB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mCAAmC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,0DAA0D;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrRA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,8BAA8B;AACpF,oDAAoD,kCAAkC;AACtF,oDAAoD,kCAAkC;AACtF,kDAAkD,gCAAgC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,iBAAiB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAoF,yBAAyB,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6EAA6E;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,4BAA4B,EAAE;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;ACrZA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;ACxEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uB;;;;;;AC7BA,kBAAkB,wD;;;;;;ACAlB,kBAAkB,kD;;;;;;;;;;;;ACAlB,kBAAkB,gE;;;;;;ACAlB,kBAAkB,8D;;;;;;;ACAlB;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpEA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,2BAA2B,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AClEA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,2BAA2B,yCAAyC;AACpE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,0CAA0C,eAAe;AACzD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,+BAA+B,gCAAgC;AAC/D;AACA;AACA;AACA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AClKA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;;;;;;;AC5CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;;AAEA","file":"./dist/bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 15);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap e07bf020f10a44c91562","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CompositionHelper_1 = require(\"./CompositionHelper\");\nvar EventEmitter_1 = require(\"./EventEmitter\");\nvar Viewport_1 = require(\"./Viewport\");\nvar Clipboard_1 = require(\"./handlers/Clipboard\");\nvar CircularList_1 = require(\"./utils/CircularList\");\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar InputHandler_1 = require(\"./InputHandler\");\nvar Parser_1 = require(\"./Parser\");\nvar Renderer_1 = require(\"./Renderer\");\nvar Linkifier_1 = require(\"./Linkifier\");\nvar SelectionManager_1 = require(\"./SelectionManager\");\nvar CharMeasure_1 = require(\"./utils/CharMeasure\");\nvar Browser = require(\"./utils/Browser\");\nvar Mouse_1 = require(\"./utils/Mouse\");\nvar document = (typeof window != 'undefined') ? window.document : null;\nvar WRITE_BUFFER_PAUSE_THRESHOLD = 5;\nvar WRITE_BATCH_SIZE = 300;\nvar CURSOR_BLINK_INTERVAL = 600;\nfunction Terminal(options) {\n var self = this;\n if (!(this instanceof Terminal)) {\n return new Terminal(arguments[0], arguments[1], arguments[2]);\n }\n self.browser = Browser;\n self.cancel = Terminal.cancel;\n EventEmitter_1.EventEmitter.call(this);\n if (typeof options === 'number') {\n options = {\n cols: arguments[0],\n rows: arguments[1],\n handler: arguments[2]\n };\n }\n options = options || {};\n Object.keys(Terminal.defaults).forEach(function (key) {\n if (options[key] == null) {\n options[key] = Terminal.options[key];\n if (Terminal[key] !== Terminal.defaults[key]) {\n options[key] = Terminal[key];\n }\n }\n self[key] = options[key];\n });\n if (options.colors.length === 8) {\n options.colors = options.colors.concat(Terminal._colors.slice(8));\n }\n else if (options.colors.length === 16) {\n options.colors = options.colors.concat(Terminal._colors.slice(16));\n }\n else if (options.colors.length === 10) {\n options.colors = options.colors.slice(0, -2).concat(Terminal._colors.slice(8, -2), options.colors.slice(-2));\n }\n else if (options.colors.length === 18) {\n options.colors = options.colors.concat(Terminal._colors.slice(16, -2), options.colors.slice(-2));\n }\n this.colors = options.colors;\n this.options = options;\n this.parent = options.body || options.parent || (document ? document.getElementsByTagName('body')[0] : null);\n this.cols = options.cols || options.geometry[0];\n this.rows = options.rows || options.geometry[1];\n this.geometry = [this.cols, this.rows];\n if (options.handler) {\n this.on('data', options.handler);\n }\n this.ybase = 0;\n this.ydisp = 0;\n this.x = 0;\n this.y = 0;\n this.cursorState = 0;\n this.cursorHidden = false;\n this.convertEol;\n this.queue = '';\n this.scrollTop = 0;\n this.scrollBottom = this.rows - 1;\n this.customKeyEventHandler = null;\n this.cursorBlinkInterval = null;\n this.applicationKeypad = false;\n this.applicationCursor = false;\n this.originMode = false;\n this.insertMode = false;\n this.wraparoundMode = true;\n this.normal = null;\n this.charset = null;\n this.gcharset = null;\n this.glevel = 0;\n this.charsets = [null];\n this.decLocator;\n this.x10Mouse;\n this.vt200Mouse;\n this.vt300Mouse;\n this.normalMouse;\n this.mouseEvents;\n this.sendFocus;\n this.utfMouse;\n this.sgrMouse;\n this.urxvtMouse;\n this.element;\n this.children;\n this.refreshStart;\n this.refreshEnd;\n this.savedX;\n this.savedY;\n this.savedCols;\n this.readable = true;\n this.writable = true;\n this.defAttr = (0 << 18) | (257 << 9) | (256 << 0);\n this.curAttr = this.defAttr;\n this.params = [];\n this.currentParam = 0;\n this.prefix = '';\n this.postfix = '';\n this.inputHandler = new InputHandler_1.InputHandler(this);\n this.parser = new Parser_1.Parser(this.inputHandler, this);\n this.renderer = this.renderer || null;\n this.selectionManager = this.selectionManager || null;\n this.linkifier = this.linkifier || new Linkifier_1.Linkifier();\n this.writeBuffer = [];\n this.writeInProgress = false;\n this.xoffSentToCatchUp = false;\n this.writeStopped = false;\n this.surrogate_high = '';\n this.lines = new CircularList_1.CircularList(this.scrollback);\n var i = this.rows;\n while (i--) {\n this.lines.push(this.blankLine());\n }\n if (this.selectionManager) {\n this.selectionManager.setBuffer(this.lines);\n }\n this.tabs;\n this.setupStops();\n this.userScrolling = false;\n}\ninherits(Terminal, EventEmitter_1.EventEmitter);\nTerminal.prototype.eraseAttr = function () {\n return (this.defAttr & ~0x1ff) | (this.curAttr & 0x1ff);\n};\nTerminal.tangoColors = [\n '#2e3436',\n '#cc0000',\n '#4e9a06',\n '#c4a000',\n '#3465a4',\n '#75507b',\n '#06989a',\n '#d3d7cf',\n '#555753',\n '#ef2929',\n '#8ae234',\n '#fce94f',\n '#729fcf',\n '#ad7fa8',\n '#34e2e2',\n '#eeeeec'\n];\nTerminal.colors = (function () {\n var colors = Terminal.tangoColors.slice(), r = [0x00, 0x5f, 0x87, 0xaf, 0xd7, 0xff], i;\n i = 0;\n for (; i < 216; i++) {\n out(r[(i / 36) % 6 | 0], r[(i / 6) % 6 | 0], r[i % 6]);\n }\n i = 0;\n for (; i < 24; i++) {\n r = 8 + i * 10;\n out(r, r, r);\n }\n function out(r, g, b) {\n colors.push('#' + hex(r) + hex(g) + hex(b));\n }\n function hex(c) {\n c = c.toString(16);\n return c.length < 2 ? '0' + c : c;\n }\n return colors;\n})();\nTerminal._colors = Terminal.colors.slice();\nTerminal.vcolors = (function () {\n var out = [], colors = Terminal.colors, i = 0, color;\n for (; i < 256; i++) {\n color = parseInt(colors[i].substring(1), 16);\n out.push([\n (color >> 16) & 0xff,\n (color >> 8) & 0xff,\n color & 0xff\n ]);\n }\n return out;\n})();\nTerminal.defaults = {\n colors: Terminal.colors,\n theme: 'default',\n convertEol: false,\n termName: 'xterm',\n geometry: [80, 24],\n cursorBlink: false,\n cursorStyle: 'block',\n visualBell: false,\n popOnBell: false,\n scrollback: 1000,\n screenKeys: false,\n debug: false,\n cancelEvents: false,\n disableStdin: false,\n useFlowControl: false,\n tabStopWidth: 8\n};\nTerminal.options = {};\nTerminal.focus = null;\neach(keys(Terminal.defaults), function (key) {\n Terminal[key] = Terminal.defaults[key];\n Terminal.options[key] = Terminal.defaults[key];\n});\nTerminal.prototype.focus = function () {\n return this.textarea.focus();\n};\nTerminal.prototype.getOption = function (key, value) {\n if (!(key in Terminal.defaults)) {\n throw new Error('No option with key \"' + key + '\"');\n }\n if (typeof this.options[key] !== 'undefined') {\n return this.options[key];\n }\n return this[key];\n};\nTerminal.prototype.setOption = function (key, value) {\n if (!(key in Terminal.defaults)) {\n throw new Error('No option with key \"' + key + '\"');\n }\n switch (key) {\n case 'scrollback':\n if (value < this.rows) {\n var msg = 'Setting the scrollback value less than the number of rows ';\n msg += \"(\" + this.rows + \") is not allowed.\";\n console.warn(msg);\n return false;\n }\n if (this.options[key] !== value) {\n if (this.lines.length > value) {\n var amountToTrim = this.lines.length - value;\n var needsRefresh = (this.ydisp - amountToTrim < 0);\n this.lines.trimStart(amountToTrim);\n this.ybase = Math.max(this.ybase - amountToTrim, 0);\n this.ydisp = Math.max(this.ydisp - amountToTrim, 0);\n if (needsRefresh) {\n this.refresh(0, this.rows - 1);\n }\n }\n this.lines.maxLength = value;\n this.viewport.syncScrollArea();\n }\n break;\n }\n this[key] = value;\n this.options[key] = value;\n switch (key) {\n case 'cursorBlink':\n this.setCursorBlinking(value);\n break;\n case 'cursorStyle':\n this.element.classList.toggle(\"xterm-cursor-style-underline\", value === 'underline');\n this.element.classList.toggle(\"xterm-cursor-style-bar\", value === 'bar');\n break;\n case 'tabStopWidth':\n this.setupStops();\n break;\n }\n};\nTerminal.prototype.restartCursorBlinking = function () {\n this.setCursorBlinking(this.options.cursorBlink);\n};\nTerminal.prototype.setCursorBlinking = function (enabled) {\n this.element.classList.toggle('xterm-cursor-blink', enabled);\n this.clearCursorBlinkingInterval();\n if (enabled) {\n var self = this;\n this.cursorBlinkInterval = setInterval(function () {\n self.element.classList.toggle('xterm-cursor-blink-on');\n }, CURSOR_BLINK_INTERVAL);\n }\n};\nTerminal.prototype.clearCursorBlinkingInterval = function () {\n this.element.classList.remove('xterm-cursor-blink-on');\n if (this.cursorBlinkInterval) {\n clearInterval(this.cursorBlinkInterval);\n this.cursorBlinkInterval = null;\n }\n};\nTerminal.bindFocus = function (term) {\n on(term.textarea, 'focus', function (ev) {\n if (term.sendFocus) {\n term.send(EscapeSequences_1.C0.ESC + '[I');\n }\n term.element.classList.add('focus');\n term.showCursor();\n term.restartCursorBlinking.apply(term);\n Terminal.focus = term;\n term.emit('focus', { terminal: term });\n });\n};\nTerminal.prototype.blur = function () {\n return this.textarea.blur();\n};\nTerminal.bindBlur = function (term) {\n on(term.textarea, 'blur', function (ev) {\n term.refresh(term.y, term.y);\n if (term.sendFocus) {\n term.send(EscapeSequences_1.C0.ESC + '[O');\n }\n term.element.classList.remove('focus');\n term.clearCursorBlinkingInterval.apply(term);\n Terminal.focus = null;\n term.emit('blur', { terminal: term });\n });\n};\nTerminal.prototype.initGlobal = function () {\n var _this = this;\n var term = this;\n Terminal.bindKeys(this);\n Terminal.bindFocus(this);\n Terminal.bindBlur(this);\n on(this.element, 'copy', function (event) {\n if (_this.mouseEvents) {\n return;\n }\n Clipboard_1.copyHandler(event, term, _this.selectionManager);\n });\n var pasteHandlerWrapper = function (event) { return Clipboard_1.pasteHandler(event, term); };\n on(this.textarea, 'paste', pasteHandlerWrapper);\n on(this.element, 'paste', pasteHandlerWrapper);\n if (term.browser.isFirefox) {\n on(this.element, 'mousedown', function (event) {\n if (event.button == 2) {\n Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager);\n }\n });\n }\n else {\n on(this.element, 'contextmenu', function (event) {\n Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager);\n });\n }\n if (term.browser.isLinux) {\n on(this.element, 'auxclick', function (event) {\n if (event.button === 1) {\n Clipboard_1.moveTextAreaUnderMouseCursor(event, _this.textarea, _this.selectionManager);\n }\n });\n }\n};\nTerminal.bindKeys = function (term) {\n on(term.element, 'keydown', function (ev) {\n if (document.activeElement != this) {\n return;\n }\n term.keyDown(ev);\n }, true);\n on(term.element, 'keypress', function (ev) {\n if (document.activeElement != this) {\n return;\n }\n term.keyPress(ev);\n }, true);\n on(term.element, 'keyup', function (ev) {\n if (!wasMondifierKeyOnlyEvent(ev)) {\n term.focus(term);\n }\n }, true);\n on(term.textarea, 'keydown', function (ev) {\n term.keyDown(ev);\n }, true);\n on(term.textarea, 'keypress', function (ev) {\n term.keyPress(ev);\n this.value = '';\n }, true);\n on(term.textarea, 'compositionstart', term.compositionHelper.compositionstart.bind(term.compositionHelper));\n on(term.textarea, 'compositionupdate', term.compositionHelper.compositionupdate.bind(term.compositionHelper));\n on(term.textarea, 'compositionend', term.compositionHelper.compositionend.bind(term.compositionHelper));\n term.on('refresh', term.compositionHelper.updateCompositionElements.bind(term.compositionHelper));\n term.on('refresh', function (data) {\n term.queueLinkification(data.start, data.end);\n });\n};\nTerminal.prototype.insertRow = function (row) {\n if (typeof row != 'object') {\n row = document.createElement('div');\n }\n this.rowContainer.appendChild(row);\n this.children.push(row);\n return row;\n};\nTerminal.prototype.open = function (parent, focus) {\n var _this = this;\n var self = this, i = 0, div;\n this.parent = parent || this.parent;\n if (!this.parent) {\n throw new Error('Terminal requires a parent element.');\n }\n this.context = this.parent.ownerDocument.defaultView;\n this.document = this.parent.ownerDocument;\n this.body = this.document.getElementsByTagName('body')[0];\n this.element = this.document.createElement('div');\n this.element.classList.add('terminal');\n this.element.classList.add('xterm');\n this.element.classList.add('xterm-theme-' + this.theme);\n this.setCursorBlinking(this.options.cursorBlink);\n this.element.setAttribute('tabindex', 0);\n this.viewportElement = document.createElement('div');\n this.viewportElement.classList.add('xterm-viewport');\n this.element.appendChild(this.viewportElement);\n this.viewportScrollArea = document.createElement('div');\n this.viewportScrollArea.classList.add('xterm-scroll-area');\n this.viewportElement.appendChild(this.viewportScrollArea);\n this.selectionContainer = document.createElement('div');\n this.selectionContainer.classList.add('xterm-selection');\n this.element.appendChild(this.selectionContainer);\n this.rowContainer = document.createElement('div');\n this.rowContainer.classList.add('xterm-rows');\n this.element.appendChild(this.rowContainer);\n this.children = [];\n this.linkifier.attachToDom(document, this.children);\n this.helperContainer = document.createElement('div');\n this.helperContainer.classList.add('xterm-helpers');\n this.element.appendChild(this.helperContainer);\n this.textarea = document.createElement('textarea');\n this.textarea.classList.add('xterm-helper-textarea');\n this.textarea.setAttribute('autocorrect', 'off');\n this.textarea.setAttribute('autocapitalize', 'off');\n this.textarea.setAttribute('spellcheck', 'false');\n this.textarea.tabIndex = 0;\n this.textarea.addEventListener('focus', function () {\n self.emit('focus', { terminal: self });\n });\n this.textarea.addEventListener('blur', function () {\n self.emit('blur', { terminal: self });\n });\n this.helperContainer.appendChild(this.textarea);\n this.compositionView = document.createElement('div');\n this.compositionView.classList.add('composition-view');\n this.compositionHelper = new CompositionHelper_1.CompositionHelper(this.textarea, this.compositionView, this);\n this.helperContainer.appendChild(this.compositionView);\n this.charSizeStyleElement = document.createElement('style');\n this.helperContainer.appendChild(this.charSizeStyleElement);\n for (; i < this.rows; i++) {\n this.insertRow();\n }\n this.parent.appendChild(this.element);\n this.charMeasure = new CharMeasure_1.CharMeasure(document, this.helperContainer);\n this.charMeasure.on('charsizechanged', function () {\n self.updateCharSizeStyles();\n });\n this.charMeasure.measure();\n this.viewport = new Viewport_1.Viewport(this, this.viewportElement, this.viewportScrollArea, this.charMeasure);\n this.renderer = new Renderer_1.Renderer(this);\n this.selectionManager = new SelectionManager_1.SelectionManager(this, this.lines, this.rowContainer, this.charMeasure);\n this.selectionManager.on('refresh', function (data) {\n _this.renderer.refreshSelection(data.start, data.end);\n });\n this.selectionManager.on('newselection', function (text) {\n _this.textarea.value = text;\n _this.textarea.focus();\n _this.textarea.select();\n });\n this.on('scroll', function () { return _this.selectionManager.refresh(); });\n this.viewportElement.addEventListener('scroll', function () { return _this.selectionManager.refresh(); });\n this.refresh(0, this.rows - 1);\n this.initGlobal();\n if (typeof focus == 'undefined') {\n var message = 'You did not pass the `focus` argument in `Terminal.prototype.open()`.\\n';\n message += 'The `focus` argument now defaults to `true` but starting with xterm.js 3.0 ';\n message += 'it will default to `false`.';\n console.warn(message);\n focus = true;\n }\n if (focus) {\n this.focus();\n }\n on(this.element, 'click', function () {\n var selection = document.getSelection(), collapsed = selection.isCollapsed, isRange = typeof collapsed == 'boolean' ? !collapsed : selection.type == 'Range';\n if (!isRange) {\n self.focus();\n }\n });\n this.bindMouse();\n this.emit('open');\n};\nTerminal.loadAddon = function (addon, callback) {\n if (typeof exports === 'object' && typeof module === 'object') {\n return require('./addons/' + addon + '/' + addon);\n }\n else if (typeof define == 'function') {\n return require(['./addons/' + addon + '/' + addon], callback);\n }\n else {\n console.error('Cannot load a module without a CommonJS or RequireJS environment.');\n return false;\n }\n};\nTerminal.prototype.updateCharSizeStyles = function () {\n this.charSizeStyleElement.textContent =\n \".xterm-wide-char{width:\" + this.charMeasure.width * 2 + \"px;}\" +\n (\".xterm-normal-char{width:\" + this.charMeasure.width + \"px;}\") +\n (\".xterm-rows > div{height:\" + this.charMeasure.height + \"px;}\");\n};\nTerminal.prototype.bindMouse = function () {\n var el = this.element, self = this, pressed = 32;\n function sendButton(ev) {\n var button, pos;\n button = getButton(ev);\n pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows);\n if (!pos)\n return;\n sendEvent(button, pos);\n switch (ev.overrideType || ev.type) {\n case 'mousedown':\n pressed = button;\n break;\n case 'mouseup':\n pressed = 32;\n break;\n case 'wheel':\n break;\n }\n }\n function sendMove(ev) {\n var button = pressed, pos;\n pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows);\n if (!pos)\n return;\n button += 32;\n sendEvent(button, pos);\n }\n function encode(data, ch) {\n if (!self.utfMouse) {\n if (ch === 255)\n return data.push(0);\n if (ch > 127)\n ch = 127;\n data.push(ch);\n }\n else {\n if (ch === 2047)\n return data.push(0);\n if (ch < 127) {\n data.push(ch);\n }\n else {\n if (ch > 2047)\n ch = 2047;\n data.push(0xC0 | (ch >> 6));\n data.push(0x80 | (ch & 0x3F));\n }\n }\n }\n function sendEvent(button, pos) {\n if (self.vt300Mouse) {\n button &= 3;\n pos.x -= 32;\n pos.y -= 32;\n var data = EscapeSequences_1.C0.ESC + '[24';\n if (button === 0)\n data += '1';\n else if (button === 1)\n data += '3';\n else if (button === 2)\n data += '5';\n else if (button === 3)\n return;\n else\n data += '0';\n data += '~[' + pos.x + ',' + pos.y + ']\\r';\n self.send(data);\n return;\n }\n if (self.decLocator) {\n button &= 3;\n pos.x -= 32;\n pos.y -= 32;\n if (button === 0)\n button = 2;\n else if (button === 1)\n button = 4;\n else if (button === 2)\n button = 6;\n else if (button === 3)\n button = 3;\n self.send(EscapeSequences_1.C0.ESC + '['\n + button\n + ';'\n + (button === 3 ? 4 : 0)\n + ';'\n + pos.y\n + ';'\n + pos.x\n + ';'\n + (pos.page || 0)\n + '&w');\n return;\n }\n if (self.urxvtMouse) {\n pos.x -= 32;\n pos.y -= 32;\n pos.x++;\n pos.y++;\n self.send(EscapeSequences_1.C0.ESC + '[' + button + ';' + pos.x + ';' + pos.y + 'M');\n return;\n }\n if (self.sgrMouse) {\n pos.x -= 32;\n pos.y -= 32;\n self.send(EscapeSequences_1.C0.ESC + '[<'\n + (((button & 3) === 3 ? button & ~3 : button) - 32)\n + ';'\n + pos.x\n + ';'\n + pos.y\n + ((button & 3) === 3 ? 'm' : 'M'));\n return;\n }\n var data = [];\n encode(data, button);\n encode(data, pos.x);\n encode(data, pos.y);\n self.send(EscapeSequences_1.C0.ESC + '[M' + String.fromCharCode.apply(String, data));\n }\n function getButton(ev) {\n var button, shift, meta, ctrl, mod;\n switch (ev.overrideType || ev.type) {\n case 'mousedown':\n button = ev.button != null\n ? +ev.button\n : ev.which != null\n ? ev.which - 1\n : null;\n if (self.browser.isMSIE) {\n button = button === 1 ? 0 : button === 4 ? 1 : button;\n }\n break;\n case 'mouseup':\n button = 3;\n break;\n case 'DOMMouseScroll':\n button = ev.detail < 0\n ? 64\n : 65;\n break;\n case 'wheel':\n button = ev.wheelDeltaY > 0\n ? 64\n : 65;\n break;\n }\n shift = ev.shiftKey ? 4 : 0;\n meta = ev.metaKey ? 8 : 0;\n ctrl = ev.ctrlKey ? 16 : 0;\n mod = shift | meta | ctrl;\n if (self.vt200Mouse) {\n mod &= ctrl;\n }\n else if (!self.normalMouse) {\n mod = 0;\n }\n button = (32 + (mod << 2)) + button;\n return button;\n }\n on(el, 'mousedown', function (ev) {\n if (!self.mouseEvents)\n return;\n sendButton(ev);\n self.focus();\n if (self.vt200Mouse) {\n ev.overrideType = 'mouseup';\n sendButton(ev);\n return self.cancel(ev);\n }\n if (self.normalMouse)\n on(self.document, 'mousemove', sendMove);\n if (!self.x10Mouse) {\n on(self.document, 'mouseup', function up(ev) {\n sendButton(ev);\n if (self.normalMouse)\n off(self.document, 'mousemove', sendMove);\n off(self.document, 'mouseup', up);\n return self.cancel(ev);\n });\n }\n return self.cancel(ev);\n });\n on(el, 'wheel', function (ev) {\n if (!self.mouseEvents)\n return;\n if (self.x10Mouse\n || self.vt300Mouse\n || self.decLocator)\n return;\n sendButton(ev);\n return self.cancel(ev);\n });\n on(el, 'wheel', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onWheel(ev);\n return self.cancel(ev);\n });\n on(el, 'touchstart', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onTouchStart(ev);\n return self.cancel(ev);\n });\n on(el, 'touchmove', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onTouchMove(ev);\n return self.cancel(ev);\n });\n};\nTerminal.prototype.destroy = function () {\n this.readable = false;\n this.writable = false;\n this._events = {};\n this.handler = function () { };\n this.write = function () { };\n if (this.element && this.element.parentNode) {\n this.element.parentNode.removeChild(this.element);\n }\n};\nTerminal.prototype.refresh = function (start, end) {\n if (this.renderer) {\n this.renderer.queueRefresh(start, end);\n }\n};\nTerminal.prototype.queueLinkification = function (start, end) {\n if (this.linkifier) {\n for (var i = start; i <= end; i++) {\n this.linkifier.linkifyRow(i);\n }\n }\n};\nTerminal.prototype.showCursor = function () {\n if (!this.cursorState) {\n this.cursorState = 1;\n this.refresh(this.y, this.y);\n }\n};\nTerminal.prototype.scroll = function (isWrapped) {\n var row;\n if (this.lines.length === this.lines.maxLength) {\n this.lines.trimStart(1);\n this.ybase--;\n if (this.ydisp !== 0) {\n this.ydisp--;\n }\n }\n this.ybase++;\n if (!this.userScrolling) {\n this.ydisp = this.ybase;\n }\n row = this.ybase + this.rows - 1;\n row -= this.rows - 1 - this.scrollBottom;\n if (row === this.lines.length) {\n this.lines.push(this.blankLine(undefined, isWrapped));\n }\n else {\n this.lines.splice(row, 0, this.blankLine(undefined, isWrapped));\n }\n if (this.scrollTop !== 0) {\n if (this.ybase !== 0) {\n this.ybase--;\n if (!this.userScrolling) {\n this.ydisp = this.ybase;\n }\n }\n this.lines.splice(this.ybase + this.scrollTop, 1);\n }\n this.updateRange(this.scrollTop);\n this.updateRange(this.scrollBottom);\n this.emit('scroll', this.ydisp);\n};\nTerminal.prototype.scrollDisp = function (disp, suppressScrollEvent) {\n if (disp < 0) {\n if (this.ydisp === 0) {\n return;\n }\n this.userScrolling = true;\n }\n else if (disp + this.ydisp >= this.ybase) {\n this.userScrolling = false;\n }\n this.ydisp += disp;\n if (this.ydisp > this.ybase) {\n this.ydisp = this.ybase;\n }\n else if (this.ydisp < 0) {\n this.ydisp = 0;\n }\n if (!suppressScrollEvent) {\n this.emit('scroll', this.ydisp);\n }\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.scrollPages = function (pageCount) {\n this.scrollDisp(pageCount * (this.rows - 1));\n};\nTerminal.prototype.scrollToTop = function () {\n this.scrollDisp(-this.ydisp);\n};\nTerminal.prototype.scrollToBottom = function () {\n this.scrollDisp(this.ybase - this.ydisp);\n};\nTerminal.prototype.write = function (data) {\n this.writeBuffer.push(data);\n if (this.options.useFlowControl && !this.xoffSentToCatchUp && this.writeBuffer.length >= WRITE_BUFFER_PAUSE_THRESHOLD) {\n this.send(EscapeSequences_1.C0.DC3);\n this.xoffSentToCatchUp = true;\n }\n if (!this.writeInProgress && this.writeBuffer.length > 0) {\n this.writeInProgress = true;\n var self = this;\n setTimeout(function () {\n self.innerWrite();\n });\n }\n};\nTerminal.prototype.innerWrite = function () {\n var writeBatch = this.writeBuffer.splice(0, WRITE_BATCH_SIZE);\n while (writeBatch.length > 0) {\n var data = writeBatch.shift();\n var l = data.length, i = 0, j, cs, ch, code, low, ch_width, row;\n if (this.xoffSentToCatchUp && writeBatch.length === 0 && this.writeBuffer.length === 0) {\n this.send(EscapeSequences_1.C0.DC1);\n this.xoffSentToCatchUp = false;\n }\n this.refreshStart = this.y;\n this.refreshEnd = this.y;\n var state = this.parser.parse(data);\n this.parser.setState(state);\n this.updateRange(this.y);\n this.refresh(this.refreshStart, this.refreshEnd);\n }\n if (this.writeBuffer.length > 0) {\n var self = this;\n setTimeout(function () {\n self.innerWrite();\n }, 0);\n }\n else {\n this.writeInProgress = false;\n }\n};\nTerminal.prototype.writeln = function (data) {\n this.write(data + '\\r\\n');\n};\nTerminal.prototype.attachCustomKeydownHandler = function (customKeydownHandler) {\n var message = 'attachCustomKeydownHandler() is DEPRECATED and will be removed soon. Please use attachCustomKeyEventHandler() instead.';\n console.warn(message);\n this.attachCustomKeyEventHandler(customKeydownHandler);\n};\nTerminal.prototype.attachCustomKeyEventHandler = function (customKeyEventHandler) {\n this.customKeyEventHandler = customKeyEventHandler;\n};\nTerminal.prototype.setHypertextLinkHandler = function (handler) {\n if (!this.linkifier) {\n throw new Error('Cannot attach a hypertext link handler before Terminal.open is called');\n }\n this.linkifier.setHypertextLinkHandler(handler);\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.setHypertextValidationCallback = function (callback) {\n if (!this.linkifier) {\n throw new Error('Cannot attach a hypertext validation callback before Terminal.open is called');\n }\n this.linkifier.setHypertextValidationCallback(callback);\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.registerLinkMatcher = function (regex, handler, options) {\n if (this.linkifier) {\n var matcherId = this.linkifier.registerLinkMatcher(regex, handler, options);\n this.refresh(0, this.rows - 1);\n return matcherId;\n }\n};\nTerminal.prototype.deregisterLinkMatcher = function (matcherId) {\n if (this.linkifier) {\n if (this.linkifier.deregisterLinkMatcher(matcherId)) {\n this.refresh(0, this.rows - 1);\n }\n }\n};\nTerminal.prototype.hasSelection = function () {\n return this.selectionManager.hasSelection;\n};\nTerminal.prototype.getSelection = function () {\n return this.selectionManager.selectionText;\n};\nTerminal.prototype.clearSelection = function () {\n this.selectionManager.clearSelection();\n};\nTerminal.prototype.selectAll = function () {\n this.selectionManager.selectAll();\n};\nTerminal.prototype.keyDown = function (ev) {\n if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) {\n return false;\n }\n this.restartCursorBlinking();\n if (!this.compositionHelper.keydown.bind(this.compositionHelper)(ev)) {\n if (this.ybase !== this.ydisp) {\n this.scrollToBottom();\n }\n return false;\n }\n var self = this;\n var result = this.evaluateKeyEscapeSequence(ev);\n if (result.key === EscapeSequences_1.C0.DC3) {\n this.writeStopped = true;\n }\n else if (result.key === EscapeSequences_1.C0.DC1) {\n this.writeStopped = false;\n }\n if (result.scrollDisp) {\n this.scrollDisp(result.scrollDisp);\n return this.cancel(ev, true);\n }\n if (isThirdLevelShift(this, ev)) {\n return true;\n }\n if (result.cancel) {\n this.cancel(ev, true);\n }\n if (!result.key) {\n return true;\n }\n this.emit('keydown', ev);\n this.emit('key', result.key, ev);\n this.showCursor();\n this.handler(result.key);\n return this.cancel(ev, true);\n};\nTerminal.prototype.evaluateKeyEscapeSequence = function (ev) {\n var result = {\n cancel: false,\n key: undefined,\n scrollDisp: undefined\n };\n var modifiers = ev.shiftKey << 0 | ev.altKey << 1 | ev.ctrlKey << 2 | ev.metaKey << 3;\n switch (ev.keyCode) {\n case 8:\n if (ev.shiftKey) {\n result.key = EscapeSequences_1.C0.BS;\n break;\n }\n result.key = EscapeSequences_1.C0.DEL;\n break;\n case 9:\n if (ev.shiftKey) {\n result.key = EscapeSequences_1.C0.ESC + '[Z';\n break;\n }\n result.key = EscapeSequences_1.C0.HT;\n result.cancel = true;\n break;\n case 13:\n result.key = EscapeSequences_1.C0.CR;\n result.cancel = true;\n break;\n case 27:\n result.key = EscapeSequences_1.C0.ESC;\n result.cancel = true;\n break;\n case 37:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'D';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3D') {\n result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'b' : EscapeSequences_1.C0.ESC + '[1;5D';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OD';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[D';\n }\n break;\n case 39:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'C';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3C') {\n result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'f' : EscapeSequences_1.C0.ESC + '[1;5C';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OC';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[C';\n }\n break;\n case 38:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'A';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3A') {\n result.key = EscapeSequences_1.C0.ESC + '[1;5A';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OA';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[A';\n }\n break;\n case 40:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'B';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3B') {\n result.key = EscapeSequences_1.C0.ESC + '[1;5B';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OB';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[B';\n }\n break;\n case 45:\n if (!ev.shiftKey && !ev.ctrlKey) {\n result.key = EscapeSequences_1.C0.ESC + '[2~';\n }\n break;\n case 46:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[3;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[3~';\n }\n break;\n case 36:\n if (modifiers)\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'H';\n else if (this.applicationCursor)\n result.key = EscapeSequences_1.C0.ESC + 'OH';\n else\n result.key = EscapeSequences_1.C0.ESC + '[H';\n break;\n case 35:\n if (modifiers)\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'F';\n else if (this.applicationCursor)\n result.key = EscapeSequences_1.C0.ESC + 'OF';\n else\n result.key = EscapeSequences_1.C0.ESC + '[F';\n break;\n case 33:\n if (ev.shiftKey) {\n result.scrollDisp = -(this.rows - 1);\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[5~';\n }\n break;\n case 34:\n if (ev.shiftKey) {\n result.scrollDisp = this.rows - 1;\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[6~';\n }\n break;\n case 112:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'P';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OP';\n }\n break;\n case 113:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'Q';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OQ';\n }\n break;\n case 114:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'R';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OR';\n }\n break;\n case 115:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'S';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OS';\n }\n break;\n case 116:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[15;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[15~';\n }\n break;\n case 117:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[17;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[17~';\n }\n break;\n case 118:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[18;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[18~';\n }\n break;\n case 119:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[19;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[19~';\n }\n break;\n case 120:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[20;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[20~';\n }\n break;\n case 121:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[21;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[21~';\n }\n break;\n case 122:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[23;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[23~';\n }\n break;\n case 123:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[24;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[24~';\n }\n break;\n default:\n if (ev.ctrlKey && !ev.shiftKey && !ev.altKey && !ev.metaKey) {\n if (ev.keyCode >= 65 && ev.keyCode <= 90) {\n result.key = String.fromCharCode(ev.keyCode - 64);\n }\n else if (ev.keyCode === 32) {\n result.key = String.fromCharCode(0);\n }\n else if (ev.keyCode >= 51 && ev.keyCode <= 55) {\n result.key = String.fromCharCode(ev.keyCode - 51 + 27);\n }\n else if (ev.keyCode === 56) {\n result.key = String.fromCharCode(127);\n }\n else if (ev.keyCode === 219) {\n result.key = String.fromCharCode(27);\n }\n else if (ev.keyCode === 220) {\n result.key = String.fromCharCode(28);\n }\n else if (ev.keyCode === 221) {\n result.key = String.fromCharCode(29);\n }\n }\n else if (!this.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) {\n if (ev.keyCode >= 65 && ev.keyCode <= 90) {\n result.key = EscapeSequences_1.C0.ESC + String.fromCharCode(ev.keyCode + 32);\n }\n else if (ev.keyCode === 192) {\n result.key = EscapeSequences_1.C0.ESC + '`';\n }\n else if (ev.keyCode >= 48 && ev.keyCode <= 57) {\n result.key = EscapeSequences_1.C0.ESC + (ev.keyCode - 48);\n }\n }\n else if (this.browser.isMac && !ev.altKey && !ev.ctrlKey && ev.metaKey) {\n if (ev.keyCode === 65) {\n this.selectAll();\n }\n }\n break;\n }\n return result;\n};\nTerminal.prototype.setgLevel = function (g) {\n this.glevel = g;\n this.charset = this.charsets[g];\n};\nTerminal.prototype.setgCharset = function (g, charset) {\n this.charsets[g] = charset;\n if (this.glevel === g) {\n this.charset = charset;\n }\n};\nTerminal.prototype.keyPress = function (ev) {\n var key;\n if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) {\n return false;\n }\n this.cancel(ev);\n if (ev.charCode) {\n key = ev.charCode;\n }\n else if (ev.which == null) {\n key = ev.keyCode;\n }\n else if (ev.which !== 0 && ev.charCode !== 0) {\n key = ev.which;\n }\n else {\n return false;\n }\n if (!key || ((ev.altKey || ev.ctrlKey || ev.metaKey) && !isThirdLevelShift(this, ev))) {\n return false;\n }\n key = String.fromCharCode(key);\n this.emit('keypress', key, ev);\n this.emit('key', key, ev);\n this.showCursor();\n this.handler(key);\n return true;\n};\nTerminal.prototype.send = function (data) {\n var self = this;\n if (!this.queue) {\n setTimeout(function () {\n self.handler(self.queue);\n self.queue = '';\n }, 1);\n }\n this.queue += data;\n};\nTerminal.prototype.bell = function () {\n if (!this.visualBell)\n return;\n var self = this;\n this.element.style.borderColor = 'white';\n setTimeout(function () {\n self.element.style.borderColor = '';\n }, 10);\n if (this.popOnBell)\n this.focus();\n};\nTerminal.prototype.log = function () {\n if (!this.debug)\n return;\n if (!this.context.console || !this.context.console.log)\n return;\n var args = Array.prototype.slice.call(arguments);\n this.context.console.log.apply(this.context.console, args);\n};\nTerminal.prototype.error = function () {\n if (!this.debug)\n return;\n if (!this.context.console || !this.context.console.error)\n return;\n var args = Array.prototype.slice.call(arguments);\n this.context.console.error.apply(this.context.console, args);\n};\nTerminal.prototype.resize = function (x, y) {\n if (isNaN(x) || isNaN(y)) {\n return;\n }\n if (y > this.getOption('scrollback')) {\n this.setOption('scrollback', y);\n }\n var line, el, i, j, ch, addToY;\n if (x === this.cols && y === this.rows) {\n return;\n }\n if (x < 1)\n x = 1;\n if (y < 1)\n y = 1;\n j = this.cols;\n if (j < x) {\n ch = [this.defAttr, ' ', 1];\n i = this.lines.length;\n while (i--) {\n while (this.lines.get(i).length < x) {\n this.lines.get(i).push(ch);\n }\n }\n }\n this.cols = x;\n this.setupStops(this.cols);\n j = this.rows;\n addToY = 0;\n if (j < y) {\n el = this.element;\n while (j++ < y) {\n if (this.lines.length < y + this.ybase) {\n if (this.ybase > 0 && this.lines.length <= this.ybase + this.y + addToY + 1) {\n this.ybase--;\n addToY++;\n if (this.ydisp > 0) {\n this.ydisp--;\n }\n }\n else {\n this.lines.push(this.blankLine());\n }\n }\n if (this.children.length < y) {\n this.insertRow();\n }\n }\n }\n else {\n while (j-- > y) {\n if (this.lines.length > y + this.ybase) {\n if (this.lines.length > this.ybase + this.y + 1) {\n this.lines.pop();\n }\n else {\n this.ybase++;\n this.ydisp++;\n }\n }\n if (this.children.length > y) {\n el = this.children.shift();\n if (!el)\n continue;\n el.parentNode.removeChild(el);\n }\n }\n }\n this.rows = y;\n if (this.y >= y) {\n this.y = y - 1;\n }\n if (addToY) {\n this.y += addToY;\n }\n if (this.x >= x) {\n this.x = x - 1;\n }\n this.scrollTop = 0;\n this.scrollBottom = y - 1;\n this.charMeasure.measure();\n this.refresh(0, this.rows - 1);\n this.normal = null;\n this.geometry = [this.cols, this.rows];\n this.emit('resize', { terminal: this, cols: x, rows: y });\n};\nTerminal.prototype.updateRange = function (y) {\n if (y < this.refreshStart)\n this.refreshStart = y;\n if (y > this.refreshEnd)\n this.refreshEnd = y;\n};\nTerminal.prototype.maxRange = function () {\n this.refreshStart = 0;\n this.refreshEnd = this.rows - 1;\n};\nTerminal.prototype.setupStops = function (i) {\n if (i != null) {\n if (!this.tabs[i]) {\n i = this.prevStop(i);\n }\n }\n else {\n this.tabs = {};\n i = 0;\n }\n for (; i < this.cols; i += this.getOption('tabStopWidth')) {\n this.tabs[i] = true;\n }\n};\nTerminal.prototype.prevStop = function (x) {\n if (x == null)\n x = this.x;\n while (!this.tabs[--x] && x > 0)\n ;\n return x >= this.cols\n ? this.cols - 1\n : x < 0 ? 0 : x;\n};\nTerminal.prototype.nextStop = function (x) {\n if (x == null)\n x = this.x;\n while (!this.tabs[++x] && x < this.cols)\n ;\n return x >= this.cols\n ? this.cols - 1\n : x < 0 ? 0 : x;\n};\nTerminal.prototype.eraseRight = function (x, y) {\n var line = this.lines.get(this.ybase + y);\n if (!line) {\n return;\n }\n var ch = [this.eraseAttr(), ' ', 1];\n for (; x < this.cols; x++) {\n line[x] = ch;\n }\n this.updateRange(y);\n};\nTerminal.prototype.eraseLeft = function (x, y) {\n var line = this.lines.get(this.ybase + y);\n if (!line) {\n return;\n }\n var ch = [this.eraseAttr(), ' ', 1];\n x++;\n while (x--) {\n line[x] = ch;\n }\n this.updateRange(y);\n};\nTerminal.prototype.clear = function () {\n if (this.ybase === 0 && this.y === 0) {\n return;\n }\n this.lines.set(0, this.lines.get(this.ybase + this.y));\n this.lines.length = 1;\n this.ydisp = 0;\n this.ybase = 0;\n this.y = 0;\n for (var i = 1; i < this.rows; i++) {\n this.lines.push(this.blankLine());\n }\n this.refresh(0, this.rows - 1);\n this.emit('scroll', this.ydisp);\n};\nTerminal.prototype.eraseLine = function (y) {\n this.eraseRight(0, y);\n};\nTerminal.prototype.blankLine = function (cur, isWrapped) {\n var attr = cur\n ? this.eraseAttr()\n : this.defAttr;\n var ch = [attr, ' ', 1], line = [], i = 0;\n if (isWrapped) {\n line.isWrapped = isWrapped;\n }\n for (; i < this.cols; i++) {\n line[i] = ch;\n }\n return line;\n};\nTerminal.prototype.ch = function (cur) {\n return cur\n ? [this.eraseAttr(), ' ', 1]\n : [this.defAttr, ' ', 1];\n};\nTerminal.prototype.is = function (term) {\n var name = this.termName;\n return (name + '').indexOf(term) === 0;\n};\nTerminal.prototype.handler = function (data) {\n if (this.options.disableStdin) {\n return;\n }\n if (this.ybase !== this.ydisp) {\n this.scrollToBottom();\n }\n this.emit('data', data);\n};\nTerminal.prototype.handleTitle = function (title) {\n this.emit('title', title);\n};\nTerminal.prototype.index = function () {\n this.y++;\n if (this.y > this.scrollBottom) {\n this.y--;\n this.scroll();\n }\n if (this.x >= this.cols) {\n this.x--;\n }\n};\nTerminal.prototype.reverseIndex = function () {\n var j;\n if (this.y === this.scrollTop) {\n this.lines.shiftElements(this.y + this.ybase, this.rows - 1, 1);\n this.lines.set(this.y + this.ybase, this.blankLine(true));\n this.updateRange(this.scrollTop);\n this.updateRange(this.scrollBottom);\n }\n else {\n this.y--;\n }\n};\nTerminal.prototype.reset = function () {\n this.options.rows = this.rows;\n this.options.cols = this.cols;\n var customKeyEventHandler = this.customKeyEventHandler;\n var cursorBlinkInterval = this.cursorBlinkInterval;\n Terminal.call(this, this.options);\n this.customKeyEventHandler = customKeyEventHandler;\n this.cursorBlinkInterval = cursorBlinkInterval;\n this.refresh(0, this.rows - 1);\n this.viewport.syncScrollArea();\n};\nTerminal.prototype.tabSet = function () {\n this.tabs[this.x] = true;\n};\nfunction on(el, type, handler, capture) {\n if (!Array.isArray(el)) {\n el = [el];\n }\n el.forEach(function (element) {\n element.addEventListener(type, handler, capture || false);\n });\n}\nfunction off(el, type, handler, capture) {\n el.removeEventListener(type, handler, capture || false);\n}\nfunction cancel(ev, force) {\n if (!this.cancelEvents && !force) {\n return;\n }\n ev.preventDefault();\n ev.stopPropagation();\n return false;\n}\nfunction inherits(child, parent) {\n function f() {\n this.constructor = child;\n }\n f.prototype = parent.prototype;\n child.prototype = new f;\n}\nfunction indexOf(obj, el) {\n var i = obj.length;\n while (i--) {\n if (obj[i] === el)\n return i;\n }\n return -1;\n}\nfunction isThirdLevelShift(term, ev) {\n var thirdLevelKey = (term.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) ||\n (term.browser.isMSWindows && ev.altKey && ev.ctrlKey && !ev.metaKey);\n if (ev.type == 'keypress') {\n return thirdLevelKey;\n }\n return thirdLevelKey && (!ev.keyCode || ev.keyCode > 47);\n}\nTerminal.prototype.matchColor = matchColor;\nfunction matchColor(r1, g1, b1) {\n var hash = (r1 << 16) | (g1 << 8) | b1;\n if (matchColor._cache[hash] != null) {\n return matchColor._cache[hash];\n }\n var ldiff = Infinity, li = -1, i = 0, c, r2, g2, b2, diff;\n for (; i < Terminal.vcolors.length; i++) {\n c = Terminal.vcolors[i];\n r2 = c[0];\n g2 = c[1];\n b2 = c[2];\n diff = matchColor.distance(r1, g1, b1, r2, g2, b2);\n if (diff === 0) {\n li = i;\n break;\n }\n if (diff < ldiff) {\n ldiff = diff;\n li = i;\n }\n }\n return matchColor._cache[hash] = li;\n}\nmatchColor._cache = {};\nmatchColor.distance = function (r1, g1, b1, r2, g2, b2) {\n return Math.pow(30 * (r1 - r2), 2)\n + Math.pow(59 * (g1 - g2), 2)\n + Math.pow(11 * (b1 - b2), 2);\n};\nfunction each(obj, iter, con) {\n if (obj.forEach)\n return obj.forEach(iter, con);\n for (var i = 0; i < obj.length; i++) {\n iter.call(con, obj[i], i, obj);\n }\n}\nfunction wasMondifierKeyOnlyEvent(ev) {\n return ev.keyCode === 16 ||\n ev.keyCode === 17 ||\n ev.keyCode === 18;\n}\nfunction keys(obj) {\n if (Object.keys)\n return Object.keys(obj);\n var key, keys = [];\n for (key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n keys.push(key);\n }\n }\n return keys;\n}\nTerminal.EventEmitter = EventEmitter_1.EventEmitter;\nTerminal.inherits = inherits;\nTerminal.on = on;\nTerminal.off = off;\nTerminal.cancel = cancel;\nmodule.exports = Terminal;\n\n//# sourceMappingURL=xterm.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/xterm.js\n// module id = 0\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n;\nvar EventEmitter = (function () {\n function EventEmitter() {\n this._events = this._events || {};\n }\n EventEmitter.prototype.on = function (type, listener) {\n this._events[type] = this._events[type] || [];\n this._events[type].push(listener);\n };\n EventEmitter.prototype.off = function (type, listener) {\n if (!this._events[type]) {\n return;\n }\n var obj = this._events[type];\n var i = obj.length;\n while (i--) {\n if (obj[i] === listener || obj[i].listener === listener) {\n obj.splice(i, 1);\n return;\n }\n }\n };\n EventEmitter.prototype.removeAllListeners = function (type) {\n if (this._events[type]) {\n delete this._events[type];\n }\n };\n EventEmitter.prototype.once = function (type, listener) {\n function on() {\n var args = Array.prototype.slice.call(arguments);\n this.off(type, on);\n return listener.apply(this, args);\n }\n on.listener = listener;\n return this.on(type, on);\n };\n EventEmitter.prototype.emit = function (type) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!this._events[type]) {\n return;\n }\n var obj = this._events[type];\n for (var i = 0; i < obj.length; i++) {\n obj[i].apply(this, args);\n }\n };\n EventEmitter.prototype.listeners = function (type) {\n return this._events[type] || [];\n };\n return EventEmitter;\n}());\nexports.EventEmitter = EventEmitter;\n\n//# sourceMappingURL=EventEmitter.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/EventEmitter.js\n// module id = 1\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar C0;\n(function (C0) {\n C0.NUL = '\\x00';\n C0.SOH = '\\x01';\n C0.STX = '\\x02';\n C0.ETX = '\\x03';\n C0.EOT = '\\x04';\n C0.ENQ = '\\x05';\n C0.ACK = '\\x06';\n C0.BEL = '\\x07';\n C0.BS = '\\x08';\n C0.HT = '\\x09';\n C0.LF = '\\x0a';\n C0.VT = '\\x0b';\n C0.FF = '\\x0c';\n C0.CR = '\\x0d';\n C0.SO = '\\x0e';\n C0.SI = '\\x0f';\n C0.DLE = '\\x10';\n C0.DC1 = '\\x11';\n C0.DC2 = '\\x12';\n C0.DC3 = '\\x13';\n C0.DC4 = '\\x14';\n C0.NAK = '\\x15';\n C0.SYN = '\\x16';\n C0.ETB = '\\x17';\n C0.CAN = '\\x18';\n C0.EM = '\\x19';\n C0.SUB = '\\x1a';\n C0.ESC = '\\x1b';\n C0.FS = '\\x1c';\n C0.GS = '\\x1d';\n C0.RS = '\\x1e';\n C0.US = '\\x1f';\n C0.SP = '\\x20';\n C0.DEL = '\\x7f';\n})(C0 = exports.C0 || (exports.C0 = {}));\n;\n\n//# sourceMappingURL=EscapeSequences.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/EscapeSequences.js\n// module id = 2\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CHARSETS = {};\nexports.DEFAULT_CHARSET = exports.CHARSETS['B'];\nexports.CHARSETS['0'] = {\n '`': '\\u25c6',\n 'a': '\\u2592',\n 'b': '\\u0009',\n 'c': '\\u000c',\n 'd': '\\u000d',\n 'e': '\\u000a',\n 'f': '\\u00b0',\n 'g': '\\u00b1',\n 'h': '\\u2424',\n 'i': '\\u000b',\n 'j': '\\u2518',\n 'k': '\\u2510',\n 'l': '\\u250c',\n 'm': '\\u2514',\n 'n': '\\u253c',\n 'o': '\\u23ba',\n 'p': '\\u23bb',\n 'q': '\\u2500',\n 'r': '\\u23bc',\n 's': '\\u23bd',\n 't': '\\u251c',\n 'u': '\\u2524',\n 'v': '\\u2534',\n 'w': '\\u252c',\n 'x': '\\u2502',\n 'y': '\\u2264',\n 'z': '\\u2265',\n '{': '\\u03c0',\n '|': '\\u2260',\n '}': '\\u00a3',\n '~': '\\u00b7'\n};\nexports.CHARSETS['A'] = {\n '#': '£'\n};\nexports.CHARSETS['B'] = null;\nexports.CHARSETS['4'] = {\n '#': '£',\n '@': '¾',\n '[': 'ij',\n '\\\\': '½',\n ']': '|',\n '{': '¨',\n '|': 'f',\n '}': '¼',\n '~': '´'\n};\nexports.CHARSETS['C'] =\n exports.CHARSETS['5'] = {\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Å',\n '^': 'Ü',\n '`': 'é',\n '{': 'ä',\n '|': 'ö',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['R'] = {\n '#': '£',\n '@': 'à',\n '[': '°',\n '\\\\': 'ç',\n ']': '§',\n '{': 'é',\n '|': 'ù',\n '}': 'è',\n '~': '¨'\n};\nexports.CHARSETS['Q'] = {\n '@': 'à',\n '[': 'â',\n '\\\\': 'ç',\n ']': 'ê',\n '^': 'î',\n '`': 'ô',\n '{': 'é',\n '|': 'ù',\n '}': 'è',\n '~': 'û'\n};\nexports.CHARSETS['K'] = {\n '@': '§',\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Ü',\n '{': 'ä',\n '|': 'ö',\n '}': 'ü',\n '~': 'ß'\n};\nexports.CHARSETS['Y'] = {\n '#': '£',\n '@': '§',\n '[': '°',\n '\\\\': 'ç',\n ']': 'é',\n '`': 'ù',\n '{': 'à',\n '|': 'ò',\n '}': 'è',\n '~': 'ì'\n};\nexports.CHARSETS['E'] =\n exports.CHARSETS['6'] = {\n '@': 'Ä',\n '[': 'Æ',\n '\\\\': 'Ø',\n ']': 'Å',\n '^': 'Ü',\n '`': 'ä',\n '{': 'æ',\n '|': 'ø',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['Z'] = {\n '#': '£',\n '@': '§',\n '[': '¡',\n '\\\\': 'Ñ',\n ']': '¿',\n '{': '°',\n '|': 'ñ',\n '}': 'ç'\n};\nexports.CHARSETS['H'] =\n exports.CHARSETS['7'] = {\n '@': 'É',\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Å',\n '^': 'Ü',\n '`': 'é',\n '{': 'ä',\n '|': 'ö',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['='] = {\n '#': 'ù',\n '@': 'à',\n '[': 'é',\n '\\\\': 'ç',\n ']': 'ê',\n '^': 'î',\n '_': 'è',\n '`': 'ô',\n '{': 'ä',\n '|': 'ö',\n '}': 'ü',\n '~': 'û'\n};\n\n//# sourceMappingURL=Charsets.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Charsets.js\n// module id = 3\n// module chunks = 0","/**\n * Implements the attach method, that attaches the terminal to a WebSocket stream.\n * @module xterm/addons/attach/attach\n * @license MIT\n */\n\n(function (attach) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = attach(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], attach);\n } else {\n /*\n * Plain browser environment\n */\n attach(window.Terminal);\n }\n})(function (Xterm) {\n 'use strict';\n\n var exports = {};\n\n /**\n * Attaches the given terminal to the given socket.\n *\n * @param {Xterm} term - The terminal to be attached to the given socket.\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n exports.attach = function (term, socket, bidirectional, buffered) {\n bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;\n term.socket = socket;\n\n term._flushBuffer = function () {\n term.write(term._attachSocketBuffer);\n term._attachSocketBuffer = null;\n clearTimeout(term._attachSocketBufferTimer);\n term._attachSocketBufferTimer = null;\n };\n\n term._pushToBuffer = function (data) {\n if (term._attachSocketBuffer) {\n term._attachSocketBuffer += data;\n } else {\n term._attachSocketBuffer = data;\n setTimeout(term._flushBuffer, 10);\n }\n };\n\n term._getMessage = function (ev) {\n if (buffered) {\n term._pushToBuffer(ev.data);\n } else {\n term.write(ev.data);\n }\n };\n\n term._sendData = function (data) {\n socket.send(data);\n };\n\n socket.addEventListener('message', term._getMessage);\n\n if (bidirectional) {\n term.on('data', term._sendData);\n }\n\n socket.addEventListener('close', term.detach.bind(term, socket));\n socket.addEventListener('error', term.detach.bind(term, socket));\n };\n\n /**\n * Detaches the given terminal from the given socket\n *\n * @param {Xterm} term - The terminal to be detached from the given socket.\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n exports.detach = function (term, socket) {\n term.off('data', term._sendData);\n\n socket = (typeof socket == 'undefined') ? term.socket : socket;\n\n if (socket) {\n socket.removeEventListener('message', term._getMessage);\n }\n\n delete term.socket;\n };\n\n /**\n * Attaches the current terminal to the given socket\n *\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n Xterm.prototype.attach = function (socket, bidirectional, buffered) {\n return exports.attach(this, socket, bidirectional, buffered);\n };\n\n /**\n * Detaches the current terminal from the given socket.\n *\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n Xterm.prototype.detach = function (socket) {\n return exports.detach(this, socket);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/attach/attach.js\n// module id = 4\n// module chunks = 0","/**\n * Fit terminal columns and rows to the dimensions of its DOM element.\n *\n * ## Approach\n * - Rows: Truncate the division of the terminal parent element height by the terminal row height.\n *\n * - Columns: Truncate the division of the terminal parent element width by the terminal character\n * width (apply display: inline at the terminal row and truncate its width with the current\n * number of columns).\n * @module xterm/addons/fit/fit\n * @license MIT\n */\n\n(function (fit) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = fit(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], fit);\n } else {\n /*\n * Plain browser environment\n */\n fit(window.Terminal);\n }\n})(function (Xterm) {\n var exports = {};\n\n exports.proposeGeometry = function (term) {\n if (!term.element.parentElement) {\n return null;\n }\n var parentElementStyle = window.getComputedStyle(term.element.parentElement),\n parentElementHeight = parseInt(parentElementStyle.getPropertyValue('height')),\n parentElementWidth = Math.max(0, parseInt(parentElementStyle.getPropertyValue('width')) - 17),\n elementStyle = window.getComputedStyle(term.element),\n elementPaddingVer = parseInt(elementStyle.getPropertyValue('padding-top')) + parseInt(elementStyle.getPropertyValue('padding-bottom')),\n elementPaddingHor = parseInt(elementStyle.getPropertyValue('padding-right')) + parseInt(elementStyle.getPropertyValue('padding-left')),\n availableHeight = parentElementHeight - elementPaddingVer,\n availableWidth = parentElementWidth - elementPaddingHor,\n container = term.rowContainer,\n subjectRow = term.rowContainer.firstElementChild,\n contentBuffer = subjectRow.innerHTML,\n characterHeight,\n rows,\n characterWidth,\n cols,\n geometry;\n\n subjectRow.style.display = 'inline';\n subjectRow.innerHTML = 'W'; // Common character for measuring width, although on monospace\n characterWidth = subjectRow.getBoundingClientRect().width;\n subjectRow.style.display = ''; // Revert style before calculating height, since they differ.\n characterHeight = subjectRow.getBoundingClientRect().height;\n subjectRow.innerHTML = contentBuffer;\n\n rows = parseInt(availableHeight / characterHeight);\n cols = parseInt(availableWidth / characterWidth);\n\n geometry = {cols: cols, rows: rows};\n return geometry;\n };\n\n exports.fit = function (term) {\n var geometry = exports.proposeGeometry(term);\n\n if (geometry) {\n term.resize(geometry.cols, geometry.rows);\n }\n };\n\n Xterm.prototype.proposeGeometry = function () {\n return exports.proposeGeometry(this);\n };\n\n Xterm.prototype.fit = function () {\n return exports.fit(this);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fit/fit.js\n// module id = 5\n// module chunks = 0","/**\n * Fullscreen addon for xterm.js\n * @module xterm/addons/fullscreen/fullscreen\n * @license MIT\n */\n(function (fullscreen) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = fullscreen(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], fullscreen);\n } else {\n /*\n * Plain browser environment\n */\n fullscreen(window.Terminal);\n }\n})(function (Xterm) {\n var exports = {};\n\n /**\n * Toggle the given terminal's fullscreen mode.\n * @param {Xterm} term - The terminal to toggle full screen mode\n * @param {boolean} fullscreen - Toggle fullscreen on (true) or off (false)\n */\n exports.toggleFullScreen = function (term, fullscreen) {\n var fn;\n\n if (typeof fullscreen == 'undefined') {\n fn = (term.element.classList.contains('fullscreen')) ? 'remove' : 'add';\n } else if (!fullscreen) {\n fn = 'remove';\n } else {\n fn = 'add';\n }\n\n term.element.classList[fn]('fullscreen');\n };\n\n Xterm.prototype.toggleFullscreen = function (fullscreen) {\n exports.toggleFullScreen(this, fullscreen);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fullscreen/fullscreen.js\n// module id = 6\n// module chunks = 0","/**\n * This module provides methods for attaching a terminal to a terminado WebSocket stream.\n *\n * @module xterm/addons/terminado/terminado\n * @license MIT\n */\n\n(function (attach) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = attach(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], attach);\n } else {\n /*\n * Plain browser environment\n */\n attach(window.Terminal);\n }\n})(function (Xterm) {\n 'use strict';\n\n var exports = {};\n\n /**\n * Attaches the given terminal to the given socket.\n *\n * @param {Xterm} term - The terminal to be attached to the given socket.\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n exports.terminadoAttach = function (term, socket, bidirectional, buffered) {\n bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;\n term.socket = socket;\n\n term._flushBuffer = function () {\n term.write(term._attachSocketBuffer);\n term._attachSocketBuffer = null;\n clearTimeout(term._attachSocketBufferTimer);\n term._attachSocketBufferTimer = null;\n };\n\n term._pushToBuffer = function (data) {\n if (term._attachSocketBuffer) {\n term._attachSocketBuffer += data;\n } else {\n term._attachSocketBuffer = data;\n setTimeout(term._flushBuffer, 10);\n }\n };\n\n term._getMessage = function (ev) {\n var data = JSON.parse(ev.data)\n if( data[0] == \"stdout\" ) {\n if (buffered) {\n term._pushToBuffer(data[1]);\n } else {\n term.write(data[1]);\n }\n }\n };\n\n term._sendData = function (data) {\n socket.send(JSON.stringify(['stdin', data]));\n };\n\n term._setSize = function (size) {\n socket.send(JSON.stringify(['set_size', size.rows, size.cols]));\n };\n\n socket.addEventListener('message', term._getMessage);\n\n if (bidirectional) {\n term.on('data', term._sendData);\n }\n term.on('resize', term._setSize);\n\n socket.addEventListener('close', term.terminadoDetach.bind(term, socket));\n socket.addEventListener('error', term.terminadoDetach.bind(term, socket));\n };\n\n /**\n * Detaches the given terminal from the given socket\n *\n * @param {Xterm} term - The terminal to be detached from the given socket.\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n exports.terminadoDetach = function (term, socket) {\n term.off('data', term._sendData);\n\n socket = (typeof socket == 'undefined') ? term.socket : socket;\n\n if (socket) {\n socket.removeEventListener('message', term._getMessage);\n }\n\n delete term.socket;\n };\n\n /**\n * Attaches the current terminal to the given socket\n *\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n Xterm.prototype.terminadoAttach = function (socket, bidirectional, buffered) {\n return exports.terminadoAttach(this, socket, bidirectional, buffered);\n };\n\n /**\n * Detaches the current terminal from the given socket.\n *\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n Xterm.prototype.terminadoDetach = function (socket) {\n return exports.terminadoDetach(this, socket);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/terminado/terminado.js\n// module id = 7\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Generic_1 = require(\"./Generic\");\nvar isNode = (typeof navigator === 'undefined') ? true : false;\nvar userAgent = (isNode) ? 'node' : navigator.userAgent;\nvar platform = (isNode) ? 'node' : navigator.platform;\nexports.isFirefox = !!~userAgent.indexOf('Firefox');\nexports.isMSIE = !!~userAgent.indexOf('MSIE') || !!~userAgent.indexOf('Trident');\nexports.isMac = Generic_1.contains(['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'], platform);\nexports.isIpad = platform === 'iPad';\nexports.isIphone = platform === 'iPhone';\nexports.isMSWindows = Generic_1.contains(['Windows', 'Win16', 'Win32', 'WinCE'], platform);\nexports.isLinux = platform.indexOf('Linux') >= 0;\n\n//# sourceMappingURL=Browser.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Browser.js\n// module id = 8\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction getCoordsRelativeToElement(event, element) {\n if (event.pageX == null) {\n return null;\n }\n var x = event.pageX;\n var y = event.pageY;\n while (element && element !== self.document.documentElement) {\n x -= element.offsetLeft;\n y -= element.offsetTop;\n element = 'offsetParent' in element ? element.offsetParent : element.parentElement;\n }\n return [x, y];\n}\nexports.getCoordsRelativeToElement = getCoordsRelativeToElement;\nfunction getCoords(event, rowContainer, charMeasure, colCount, rowCount, isSelection) {\n var coords = getCoordsRelativeToElement(event, rowContainer);\n coords[0] = Math.ceil((coords[0] + (isSelection ? charMeasure.width / 2 : 0)) / charMeasure.width);\n coords[1] = Math.ceil(coords[1] / charMeasure.height);\n coords[0] = Math.min(Math.max(coords[0], 1), colCount + 1);\n coords[1] = Math.min(Math.max(coords[1], 1), rowCount + 1);\n return coords;\n}\nexports.getCoords = getCoords;\nfunction getRawByteCoords(event, rowContainer, charMeasure, colCount, rowCount) {\n var coords = getCoords(event, rowContainer, charMeasure, colCount, rowCount);\n var x = coords[0];\n var y = coords[1];\n x += 32;\n y += 32;\n return { x: x, y: y };\n}\nexports.getRawByteCoords = getRawByteCoords;\n\n//# sourceMappingURL=Mouse.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Mouse.js\n// module id = 9\n// module chunks = 0","import * as bare from \"libapps\";\n\nexport class Hterm {\n elem: HTMLElement;\n\n term: bare.Terminal;\n io: bare.IO;\n\n columns: number;\n rows: number;\n\n // to \"show\" the current message when removeMessage() is called\n message: string;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n bare.hterm.defaultStorage = new bare.lib.Storage.Memory();\n this.term = new bare.hterm.Terminal();\n this.term.getPrefs().set(\"send-encoding\", \"raw\");\n this.term.decorate(this.elem);\n\n this.io = this.term.io.push();\n this.term.installKeyboard();\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.columns, rows: this.rows };\n };\n\n output(data: string) {\n if (this.term.io != null) {\n this.term.io.writeUTF16(data);\n }\n };\n\n showMessage(message: string, timeout: number) {\n this.message = message;\n if (timeout > 0) {\n this.term.io.showOverlay(message, timeout);\n } else {\n this.term.io.showOverlay(message, null);\n }\n };\n\n removeMessage(): void {\n // there is no hideOverlay(), so show the same message with 0 sec\n this.term.io.showOverlay(this.message, 0);\n }\n\n setWindowTitle(title: string) {\n this.term.setWindowTitle(title);\n };\n\n setPreferences(value: object) {\n Object.keys(value).forEach((key) => {\n this.term.getPrefs().set(key, value[key]);\n });\n };\n\n onInput(callback: (input: string) => void) {\n this.io.onVTKeystroke = (data) => {\n callback(data);\n };\n this.io.sendString = (data) => {\n callback(data);\n };\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.io.onTerminalResize = (columns: number, rows: number) => {\n this.columns = columns;\n this.rows = rows;\n callback(columns, rows);\n };\n };\n\n deactivate(): void {\n this.io.onVTKeystroke = null;\n this.io.sendString = null\n this.io.onTerminalResize = null;\n this.term.uninstallKeyboard();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.installKeyboard();\n }\n\n close(): void {\n this.term.uninstallKeyboard();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/hterm.ts","export class ConnectionFactory {\n url: string;\n protocols: string[];\n\n constructor(url: string, protocols: string[]) {\n this.url = url;\n this.protocols = protocols;\n };\n\n create(): Connection {\n return new Connection(this.url, this.protocols);\n };\n}\n\nexport class Connection {\n bare: WebSocket;\n\n\n constructor(url: string, protocols: string[]) {\n this.bare = new WebSocket(url, protocols);\n }\n\n open() {\n // nothing todo for websocket\n };\n\n close() {\n this.bare.close();\n };\n\n send(data: string) {\n this.bare.send(data);\n };\n\n isOpen(): boolean {\n if (this.bare.readyState == WebSocket.CONNECTING ||\n this.bare.readyState == WebSocket.OPEN) {\n return true\n }\n return false\n }\n\n onOpen(callback: () => void) {\n this.bare.onopen = (event) => {\n callback();\n }\n };\n\n onReceive(callback: (data: string) => void) {\n this.bare.onmessage = (event) => {\n callback(event.data);\n }\n };\n\n onClose(callback: () => void) {\n this.bare.onclose = (event) => {\n callback();\n };\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/websocket.ts","export const protocols = [\"webtty\"];\n\nexport const msgInputUnknown = '0';\nexport const msgInput = '1';\nexport const msgPing = '2';\nexport const msgResizeTerminal = '3';\n\nexport const msgUnknownOutput = '0';\nexport const msgOutput = '1';\nexport const msgPong = '2';\nexport const msgSetWindowTitle = '3';\nexport const msgSetPreferences = '4';\nexport const msgSetReconnect = '5';\n\n\nexport interface Terminal {\n info(): { columns: number, rows: number };\n output(data: string): void;\n showMessage(message: string, timeout: number): void;\n removeMessage(): void;\n setWindowTitle(title: string): void;\n setPreferences(value: object): void;\n onInput(callback: (input: string) => void): void;\n onResize(callback: (colmuns: number, rows: number) => void): void;\n reset(): void;\n deactivate(): void;\n close(): void;\n}\n\nexport interface Connection {\n open(): void;\n close(): void;\n send(data: string): void;\n isOpen(): boolean;\n onOpen(callback: () => void): void;\n onReceive(callback: (data: string) => void): void;\n onClose(callback: () => void): void;\n}\n\nexport interface ConnectionFactory {\n create(): Connection;\n}\n\n\nexport class WebTTY {\n term: Terminal;\n connectionFactory: ConnectionFactory;\n args: string;\n authToken: string;\n reconnect: number;\n\n constructor(term: Terminal, connectionFactory: ConnectionFactory, args: string, authToken: string) {\n this.term = term;\n this.connectionFactory = connectionFactory;\n this.args = args;\n this.authToken = authToken;\n this.reconnect = -1;\n };\n\n open() {\n let connection = this.connectionFactory.create();\n let pingTimer: number;\n let reconnectTimeout: number;\n\n const setup = () => {\n connection.onOpen(() => {\n const termInfo = this.term.info();\n\n connection.send(JSON.stringify(\n {\n Arguments: this.args,\n AuthToken: this.authToken,\n }\n ));\n\n\n const resizeHandler = (colmuns: number, rows: number) => {\n connection.send(\n msgResizeTerminal + JSON.stringify(\n {\n columns: colmuns,\n rows: rows\n }\n )\n );\n };\n\n this.term.onResize(resizeHandler);\n resizeHandler(termInfo.columns, termInfo.rows);\n\n this.term.onInput(\n (input: string) => {\n connection.send(msgInput + input);\n }\n );\n\n pingTimer = setInterval(() => {\n connection.send(msgPing)\n }, 30 * 1000);\n\n });\n\n connection.onReceive((data) => {\n const payload = data.slice(1);\n switch (data[0]) {\n case msgOutput:\n this.term.output(\n decodeURIComponent(Array.prototype.map.call(atob(payload), function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''))\n );\n break;\n case msgPong:\n break;\n case msgSetWindowTitle:\n this.term.setWindowTitle(payload);\n break;\n case msgSetPreferences:\n const preferences = JSON.parse(payload);\n this.term.setPreferences(preferences);\n break;\n case msgSetReconnect:\n const autoReconnect = JSON.parse(payload);\n console.log(\"Enabling reconnect: \" + autoReconnect + \" seconds\")\n this.reconnect = autoReconnect;\n break;\n }\n });\n\n connection.onClose(() => {\n clearInterval(pingTimer);\n this.term.deactivate();\n this.term.showMessage(\"Connection Closed\", 0);\n if (this.reconnect > 0) {\n reconnectTimeout = setTimeout(() => {\n connection = this.connectionFactory.create();\n this.term.reset();\n setup();\n }, this.reconnect * 1000);\n }\n });\n\n connection.open();\n }\n\n setup();\n return () => {\n clearTimeout(reconnectTimeout);\n connection.close();\n }\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/webtty.ts","import * as bare from \"xterm\";\n\nbare.loadAddon(\"fit\");\n\nexport class Xterm {\n elem: HTMLElement;\n\n message: HTMLElement;\n messageTimeout: number;\n messageTimer: number;\n\n term: bare;\n resizeListener: () => void;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n this.term = new bare();\n\n this.message = elem.ownerDocument.createElement(\"div\");\n this.message.className = \"xterm-overlay\";\n this.messageTimeout = 2000;\n\n\n this.resizeListener = () => {\n this.term.fit();\n this.term.scrollToBottom();\n this.showMessage(String(this.term.cols) + \"x\" + String(this.term.rows), this.messageTimeout);\n };\n\n this.term.on(\"open\", () => {\n this.resizeListener();\n window.addEventListener(\"resize\", () => { this.resizeListener(); });\n });\n\n this.term.open(elem, true);\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.term.cols, rows: this.term.rows };\n };\n\n output(data: string) {\n this.term.write(data);\n };\n\n showMessage(message: string, timeout: number) {\n this.message.textContent = message;\n this.elem.appendChild(this.message);\n\n if (this.messageTimer) {\n clearTimeout(this.messageTimer);\n }\n if (timeout > 0) {\n this.messageTimer = setTimeout(() => {\n this.elem.removeChild(this.message);\n }, timeout);\n }\n };\n\n removeMessage(): void {\n if (this.message.parentNode == this.elem) {\n this.elem.removeChild(this.message);\n }\n }\n\n setWindowTitle(title: string) {\n document.title = title;\n };\n\n setPreferences(value: object) {\n };\n\n onInput(callback: (input: string) => void) {\n this.term.on(\"data\", (data) => {\n callback(data);\n });\n\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.term.on(\"resize\", (data) => {\n callback(data.cols, data.rows);\n });\n };\n\n deactivate(): void {\n this.term.off(\"data\");\n this.term.off(\"resize\");\n this.term.blur();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.clear();\n }\n\n close(): void {\n window.removeEventListener(\"resize\", this.resizeListener);\n this.term.destroy();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/xterm.ts","// This file was generated by libdot/bin/concat.sh.\n// It has been marked read-only for your safety. Rather\n// than edit it directly, please modify one of these source\n// files...\n//\n// libdot/js/lib.js\n// libdot/js/lib_polyfill.js\n// libdot/js/lib_colors.js\n// libdot/js/lib_f.js\n// libdot/js/lib_message_manager.js\n// libdot/js/lib_preference_manager.js\n// libdot/js/lib_resource.js\n// libdot/js/lib_storage.js\n// libdot/js/lib_storage_chrome.js\n// libdot/js/lib_storage_local.js\n// libdot/js/lib_storage_memory.js\n// libdot/js/lib_test_manager.js\n// libdot/js/lib_utf8.js\n// libdot/third_party/wcwidth/lib_wc.js\n// hterm/js/hterm.js\n// hterm/js/hterm_frame.js\n// hterm/js/hterm_keyboard.js\n// hterm/js/hterm_keyboard_bindings.js\n// hterm/js/hterm_keyboard_keymap.js\n// hterm/js/hterm_keyboard_keypattern.js\n// hterm/js/hterm_options.js\n// hterm/js/hterm_parser.js\n// hterm/js/hterm_parser_identifiers.js\n// hterm/js/hterm_preference_manager.js\n// hterm/js/hterm_pubsub.js\n// hterm/js/hterm_screen.js\n// hterm/js/hterm_scrollport.js\n// hterm/js/hterm_terminal.js\n// hterm/js/hterm_terminal_io.js\n// hterm/js/hterm_text_attributes.js\n// hterm/js/hterm_vt.js\n// hterm/js/hterm_vt_character_map.js\n// hterm/js/hterm_export.js\n//\n\n// SOURCE FILE: libdot/js/lib.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nif (typeof lib != 'undefined')\n throw new Error('Global \"lib\" object already exists.');\n\nvar lib = {};\n\n/**\n * Map of \"dependency\" to [\"source\", ...].\n *\n * Each dependency is a object name, like \"lib.fs\", \"source\" is the url that\n * depends on the object.\n */\nlib.runtimeDependencies_ = {};\n\n/**\n * List of functions that need to be invoked during library initialization.\n *\n * Each element in the initCallbacks_ array is itself a two-element array.\n * Element 0 is a short string describing the owner of the init routine, useful\n * for debugging. Element 1 is the callback function.\n */\nlib.initCallbacks_ = [];\n\n/**\n * Records a runtime dependency.\n *\n * This can be useful when you want to express a run-time dependency at\n * compile time. It is not intended to be a full-fledged library system or\n * dependency tracker. It's just there to make it possible to debug the\n * deps without running all the code.\n *\n * Object names are specified as strings. For example...\n *\n * lib.rtdep('lib.colors', 'lib.PreferenceManager');\n *\n * Object names need not be rooted by 'lib'. You may use this to declare a\n * dependency on any object.\n *\n * The client program may call lib.ensureRuntimeDependencies() at startup in\n * order to ensure that all runtime dependencies have been met.\n *\n * @param {string} var_args One or more objects specified as strings.\n */\nlib.rtdep = function(var_args) {\n var source;\n\n try {\n throw new Error();\n } catch (ex) {\n var stackArray = ex.stack.split('\\n');\n // In Safari, the resulting stackArray will only have 2 elements and the\n // individual strings are formatted differently.\n if (stackArray.length >= 3) {\n source = stackArray[2].replace(/^\\s*at\\s+/, '');\n } else {\n source = stackArray[1].replace(/^\\s*global code@/, '');\n }\n }\n\n for (var i = 0; i < arguments.length; i++) {\n var path = arguments[i];\n if (path instanceof Array) {\n lib.rtdep.apply(lib, path);\n } else {\n var ary = this.runtimeDependencies_[path];\n if (!ary)\n ary = this.runtimeDependencies_[path] = [];\n ary.push(source);\n }\n }\n};\n\n/**\n * Ensures that all runtime dependencies are met, or an exception is thrown.\n *\n * Every unmet runtime dependency will be logged to the JS console. If at\n * least one dependency is unmet this will raise an exception.\n */\nlib.ensureRuntimeDependencies_ = function() {\n var passed = true;\n\n for (var path in lib.runtimeDependencies_) {\n var sourceList = lib.runtimeDependencies_[path];\n var names = path.split('.');\n\n // In a document context 'window' is the global object. In a worker it's\n // called 'self'.\n var obj = (window || self);\n for (var i = 0; i < names.length; i++) {\n if (!(names[i] in obj)) {\n console.warn('Missing \"' + path + '\" is needed by', sourceList);\n passed = false;\n break;\n }\n\n obj = obj[names[i]];\n }\n }\n\n if (!passed)\n throw new Error('Failed runtime dependency check');\n};\n\n/**\n * Register an initialization function.\n *\n * The initialization functions are invoked in registration order when\n * lib.init() is invoked. Each function will receive a single parameter, which\n * is a function to be invoked when it completes its part of the initialization.\n *\n * @param {string} name A short descriptive name of the init routine useful for\n * debugging.\n * @param {function(function)} callback The initialization function to register.\n * @return {function} The callback parameter.\n */\nlib.registerInit = function(name, callback) {\n lib.initCallbacks_.push([name, callback]);\n return callback;\n};\n\n/**\n * Initialize the library.\n *\n * This will ensure that all registered runtime dependencies are met, and\n * invoke any registered initialization functions.\n *\n * Initialization is asynchronous. The library is not ready for use until\n * the onInit function is invoked.\n *\n * @param {function()} onInit The function to invoke when initialization is\n * complete.\n * @param {function(*)} opt_logFunction An optional function to send\n * initialization related log messages to.\n */\nlib.init = function(onInit, opt_logFunction) {\n var ary = lib.initCallbacks_;\n\n var initNext = function() {\n if (ary.length) {\n var rec = ary.shift();\n if (opt_logFunction)\n opt_logFunction('init: ' + rec[0]);\n rec[1](lib.f.alarm(initNext));\n } else {\n onInit();\n }\n };\n\n if (typeof onInit != 'function')\n throw new Error('Missing or invalid argument: onInit');\n\n lib.ensureRuntimeDependencies_();\n\n setTimeout(initNext, 0);\n};\n// SOURCE FILE: libdot/js/lib_polyfill.js\n// Copyright 2017 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview Polyfills for ES2016+ features we want to use.\n */\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart\nif (!String.prototype.padStart) {\n String.prototype.padStart = function(targetLength, padString) {\n // If the string is already long enough, nothing to do!\n targetLength -= this.length;\n if (targetLength <= 0)\n return String(this);\n\n if (padString === undefined)\n padString = ' ';\n\n // In case the pad is multiple chars long.\n if (targetLength > padString.length)\n padString = padString.repeat((targetLength / padString.length) + 1);\n\n return padString.slice(0, targetLength) + String(this);\n };\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd\nif (!String.prototype.padEnd) {\n String.prototype.padEnd = function(targetLength, padString) {\n // If the string is already long enough, nothing to do!\n targetLength -= this.length;\n if (targetLength <= 0)\n return String(this);\n\n if (padString === undefined)\n padString = ' ';\n\n // In case the pad is multiple chars long.\n if (targetLength > padString.length)\n padString = padString.repeat((targetLength / padString.length) + 1);\n\n return String(this) + padString.slice(0, targetLength);\n };\n}\n// SOURCE FILE: libdot/js/lib_colors.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Namespace for color utilities.\n */\nlib.colors = {};\n\n/**\n * First, some canned regular expressions we're going to use in this file.\n *\n *\n * BRACE YOURSELF\n *\n * ,~~~~.\n * |>_< ~~\n * 3`---'-/.\n * 3:::::\\v\\\n * =o=:::::\\,\\\n * | :::::\\,,\\\n *\n * THE REGULAR EXPRESSIONS\n * ARE COMING.\n *\n * There's no way to break long RE literals in JavaScript. Fix that why don't\n * you? Oh, and also there's no way to write a string that doesn't interpret\n * escapes.\n *\n * Instead, we stoop to this .replace() trick.\n */\nlib.colors.re_ = {\n // CSS hex color, #RGB.\n hex16: /#([a-f0-9])([a-f0-9])([a-f0-9])/i,\n\n // CSS hex color, #RRGGBB.\n hex24: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/i,\n\n // CSS rgb color, rgb(rrr,ggg,bbb).\n rgb: new RegExp(\n ('^/s*rgb/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,' +\n '/s*(/d{1,3})/s*/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // CSS rgb color, rgb(rrr,ggg,bbb,aaa).\n rgba: new RegExp(\n ('^/s*rgba/s*' +\n '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' +\n '(?:,/s*(/d+(?:/./d+)?)/s*)/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // Either RGB or RGBA.\n rgbx: new RegExp(\n ('^/s*rgba?/s*' +\n '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' +\n '(?:,/s*(/d+(?:/./d+)?)/s*)?/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // An X11 \"rgb:dddd/dddd/dddd\" value.\n x11rgb: /^\\s*rgb:([a-f0-9]{1,4})\\/([a-f0-9]{1,4})\\/([a-f0-9]{1,4})\\s*$/i,\n\n // English color name.\n name: /[a-z][a-z0-9\\s]+/,\n};\n\n/**\n * Convert a CSS rgb(ddd,ddd,ddd) color value into an X11 color value.\n *\n * Other CSS color values are ignored to ensure sanitary data handling.\n *\n * Each 'ddd' component is a one byte value specified in decimal.\n *\n * @param {string} value The CSS color value to convert.\n * @return {string} The X11 color value or null if the value could not be\n * converted.\n */\nlib.colors.rgbToX11 = function(value) {\n function scale(v) {\n v = (Math.min(v, 255) * 257).toString(16);\n return lib.f.zpad(v, 4);\n }\n\n var ary = value.match(lib.colors.re_.rgbx);\n if (!ary)\n return null;\n\n return 'rgb:' + scale(ary[1]) + '/' + scale(ary[2]) + '/' + scale(ary[3]);\n};\n\n/**\n * Convert a legacy X11 colover value into an CSS rgb(...) color value.\n *\n * They take the form:\n * 12 bit: #RGB -> #R000G000B000\n * 24 bit: #RRGGBB -> #RR00GG00BB00\n * 36 bit: #RRRGGGBBB -> #RRR0GGG0BBB0\n * 48 bit: #RRRRGGGGBBBB\n * These are the most significant bits.\n *\n * Truncate values back down to 24 bit since that's all CSS supports.\n */\nlib.colors.x11HexToCSS = function(v) {\n if (!v.startsWith('#'))\n return null;\n // Strip the leading # off.\n v = v.substr(1);\n\n // Reject unknown sizes.\n if ([3, 6, 9, 12].indexOf(v.length) == -1)\n return null;\n\n // Reject non-hex values.\n if (v.match(/[^a-f0-9]/i))\n return null;\n\n // Split the colors out.\n var size = v.length / 3;\n var r = v.substr(0, size);\n var g = v.substr(size, size);\n var b = v.substr(size + size, size);\n\n // Normalize to 16 bits.\n function norm16(v) {\n v = parseInt(v, 16);\n return size == 2 ? v : // 16 bit\n size == 1 ? v << 4 : // 8 bit\n v >> (4 * (size - 2)); // 24 or 32 bit\n }\n return lib.colors.arrayToRGBA([r, g, b].map(norm16));\n};\n\n/**\n * Convert an X11 color value into an CSS rgb(...) color value.\n *\n * The X11 value may be an X11 color name, or an RGB value of the form\n * rgb:hhhh/hhhh/hhhh. If a component value is less than 4 digits it is\n * padded out to 4, then scaled down to fit in a single byte.\n *\n * @param {string} value The X11 color value to convert.\n * @return {string} The CSS color value or null if the value could not be\n * converted.\n */\nlib.colors.x11ToCSS = function(v) {\n function scale(v) {\n // Pad out values with less than four digits. This padding (probably)\n // matches xterm. It's difficult to say for sure since xterm seems to\n // arrive at a padded value and then perform some combination of\n // gamma correction, color space transformation, and quantization.\n\n if (v.length == 1) {\n // Single digits pad out to four by repeating the character. \"f\" becomes\n // \"ffff\". Scaling down a hex value of this pattern by 257 is the same\n // as cutting off one byte. We skip the middle step and just double\n // the character.\n return parseInt(v + v, 16);\n }\n\n if (v.length == 2) {\n // Similar deal here. X11 pads two digit values by repeating the\n // byte (or scale up by 257). Since we're going to scale it back\n // down anyway, we can just return the original value.\n return parseInt(v, 16);\n }\n\n if (v.length == 3) {\n // Three digit values seem to be padded by repeating the final digit.\n // e.g. 10f becomes 10ff.\n v = v + v.substr(2);\n }\n\n // Scale down the 2 byte value.\n return Math.round(parseInt(v, 16) / 257);\n }\n\n var ary = v.match(lib.colors.re_.x11rgb);\n if (!ary) {\n // Handle the legacy format.\n if (v.startsWith('#'))\n return lib.colors.x11HexToCSS(v);\n else\n return lib.colors.nameToRGB(v);\n }\n\n ary.splice(0, 1);\n return lib.colors.arrayToRGBA(ary.map(scale));\n};\n\n/**\n * Converts one or more CSS '#RRGGBB' color values into their rgb(...)\n * form.\n *\n * Arrays are converted in place. If a value cannot be converted, it is\n * replaced with null.\n *\n * @param {string|Array.} A single RGB value or array of RGB values to\n * convert.\n * @return {string|Array.} The converted value or values.\n */\nlib.colors.hexToRGB = function(arg) {\n var hex16 = lib.colors.re_.hex16;\n var hex24 = lib.colors.re_.hex24;\n\n function convert(hex) {\n if (hex.length == 4) {\n hex = hex.replace(hex16, function(h, r, g, b) {\n return \"#\" + r + r + g + g + b + b;\n });\n }\n var ary = hex.match(hex24);\n if (!ary)\n return null;\n\n return 'rgb(' + parseInt(ary[1], 16) + ', ' +\n parseInt(ary[2], 16) + ', ' +\n parseInt(ary[3], 16) + ')';\n }\n\n if (arg instanceof Array) {\n for (var i = 0; i < arg.length; i++) {\n arg[i] = convert(arg[i]);\n }\n } else {\n arg = convert(arg);\n }\n\n return arg;\n};\n\n/**\n * Converts one or more CSS rgb(...) forms into their '#RRGGBB' color values.\n *\n * If given an rgba(...) form, the alpha field is thrown away.\n *\n * Arrays are converted in place. If a value cannot be converted, it is\n * replaced with null.\n *\n * @param {string|Array.} A single rgb(...) value or array of rgb(...)\n * values to convert.\n * @return {string|Array.} The converted value or values.\n */\nlib.colors.rgbToHex = function(arg) {\n function convert(rgb) {\n var ary = lib.colors.crackRGB(rgb);\n if (!ary)\n return null;\n return '#' + lib.f.zpad(((parseInt(ary[0]) << 16) |\n (parseInt(ary[1]) << 8) |\n (parseInt(ary[2]) << 0)).toString(16), 6);\n }\n\n if (arg instanceof Array) {\n for (var i = 0; i < arg.length; i++) {\n arg[i] = convert(arg[i]);\n }\n } else {\n arg = convert(arg);\n }\n\n return arg;\n};\n\n/**\n * Take any valid css color definition and turn it into an rgb or rgba value.\n *\n * Returns null if the value could not be normalized.\n */\nlib.colors.normalizeCSS = function(def) {\n if (def.startsWith('#'))\n return lib.colors.hexToRGB(def);\n\n if (lib.colors.re_.rgbx.test(def))\n return def;\n\n return lib.colors.nameToRGB(def);\n};\n\n/**\n * Convert a 3 or 4 element array into an rgba(...) string.\n */\nlib.colors.arrayToRGBA = function(ary) {\n var alpha = (ary.length > 3) ? ary[3] : 1;\n return 'rgba(' + ary[0] + ', ' + ary[1] + ', ' + ary[2] + ', ' + alpha + ')';\n};\n\n/**\n * Overwrite the alpha channel of an rgb/rgba color.\n */\nlib.colors.setAlpha = function(rgb, alpha) {\n var ary = lib.colors.crackRGB(rgb);\n ary[3] = alpha;\n return lib.colors.arrayToRGBA(ary);\n};\n\n/**\n * Mix a percentage of a tint color into a base color.\n */\nlib.colors.mix = function(base, tint, percent) {\n var ary1 = lib.colors.crackRGB(base);\n var ary2 = lib.colors.crackRGB(tint);\n\n for (var i = 0; i < 4; ++i) {\n var diff = ary2[i] - ary1[i];\n ary1[i] = Math.round(parseInt(ary1[i]) + diff * percent);\n }\n\n return lib.colors.arrayToRGBA(ary1);\n};\n\n/**\n * Split an rgb/rgba color into an array of its components.\n *\n * On success, a 4 element array will be returned. For rgb values, the alpha\n * will be set to 1.\n */\nlib.colors.crackRGB = function(color) {\n if (color.startsWith('rgba')) {\n var ary = color.match(lib.colors.re_.rgba);\n if (ary) {\n ary.shift();\n return ary;\n }\n } else {\n var ary = color.match(lib.colors.re_.rgb);\n if (ary) {\n ary.shift();\n ary.push(1);\n return ary;\n }\n }\n\n console.error('Couldn\\'t crack: ' + color);\n return null;\n};\n\n/**\n * Convert an X11 color name into a CSS rgb(...) value.\n *\n * Names are stripped of spaces and converted to lowercase. If the name is\n * unknown, null is returned.\n *\n * This list of color name to RGB mapping is derived from the stock X11\n * rgb.txt file.\n *\n * @param {string} name The color name to convert.\n * @return {string} The corresponding CSS rgb(...) value.\n */\nlib.colors.nameToRGB = function(name) {\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n name = name.toLowerCase();\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n name = name.replace(/\\s+/g, '');\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n return null;\n};\n\n/**\n * The stock color palette.\n */\nlib.colors.stockColorPalette = lib.colors.hexToRGB\n ([// The \"ANSI 16\"...\n '#000000', '#CC0000', '#4E9A06', '#C4A000',\n '#3465A4', '#75507B', '#06989A', '#D3D7CF',\n '#555753', '#EF2929', '#00BA13', '#FCE94F',\n '#729FCF', '#F200CB', '#00B5BD', '#EEEEEC',\n\n // The 6x6 color cubes...\n '#000000', '#00005F', '#000087', '#0000AF', '#0000D7', '#0000FF',\n '#005F00', '#005F5F', '#005F87', '#005FAF', '#005FD7', '#005FFF',\n '#008700', '#00875F', '#008787', '#0087AF', '#0087D7', '#0087FF',\n '#00AF00', '#00AF5F', '#00AF87', '#00AFAF', '#00AFD7', '#00AFFF',\n '#00D700', '#00D75F', '#00D787', '#00D7AF', '#00D7D7', '#00D7FF',\n '#00FF00', '#00FF5F', '#00FF87', '#00FFAF', '#00FFD7', '#00FFFF',\n\n '#5F0000', '#5F005F', '#5F0087', '#5F00AF', '#5F00D7', '#5F00FF',\n '#5F5F00', '#5F5F5F', '#5F5F87', '#5F5FAF', '#5F5FD7', '#5F5FFF',\n '#5F8700', '#5F875F', '#5F8787', '#5F87AF', '#5F87D7', '#5F87FF',\n '#5FAF00', '#5FAF5F', '#5FAF87', '#5FAFAF', '#5FAFD7', '#5FAFFF',\n '#5FD700', '#5FD75F', '#5FD787', '#5FD7AF', '#5FD7D7', '#5FD7FF',\n '#5FFF00', '#5FFF5F', '#5FFF87', '#5FFFAF', '#5FFFD7', '#5FFFFF',\n\n '#870000', '#87005F', '#870087', '#8700AF', '#8700D7', '#8700FF',\n '#875F00', '#875F5F', '#875F87', '#875FAF', '#875FD7', '#875FFF',\n '#878700', '#87875F', '#878787', '#8787AF', '#8787D7', '#8787FF',\n '#87AF00', '#87AF5F', '#87AF87', '#87AFAF', '#87AFD7', '#87AFFF',\n '#87D700', '#87D75F', '#87D787', '#87D7AF', '#87D7D7', '#87D7FF',\n '#87FF00', '#87FF5F', '#87FF87', '#87FFAF', '#87FFD7', '#87FFFF',\n\n '#AF0000', '#AF005F', '#AF0087', '#AF00AF', '#AF00D7', '#AF00FF',\n '#AF5F00', '#AF5F5F', '#AF5F87', '#AF5FAF', '#AF5FD7', '#AF5FFF',\n '#AF8700', '#AF875F', '#AF8787', '#AF87AF', '#AF87D7', '#AF87FF',\n '#AFAF00', '#AFAF5F', '#AFAF87', '#AFAFAF', '#AFAFD7', '#AFAFFF',\n '#AFD700', '#AFD75F', '#AFD787', '#AFD7AF', '#AFD7D7', '#AFD7FF',\n '#AFFF00', '#AFFF5F', '#AFFF87', '#AFFFAF', '#AFFFD7', '#AFFFFF',\n\n '#D70000', '#D7005F', '#D70087', '#D700AF', '#D700D7', '#D700FF',\n '#D75F00', '#D75F5F', '#D75F87', '#D75FAF', '#D75FD7', '#D75FFF',\n '#D78700', '#D7875F', '#D78787', '#D787AF', '#D787D7', '#D787FF',\n '#D7AF00', '#D7AF5F', '#D7AF87', '#D7AFAF', '#D7AFD7', '#D7AFFF',\n '#D7D700', '#D7D75F', '#D7D787', '#D7D7AF', '#D7D7D7', '#D7D7FF',\n '#D7FF00', '#D7FF5F', '#D7FF87', '#D7FFAF', '#D7FFD7', '#D7FFFF',\n\n '#FF0000', '#FF005F', '#FF0087', '#FF00AF', '#FF00D7', '#FF00FF',\n '#FF5F00', '#FF5F5F', '#FF5F87', '#FF5FAF', '#FF5FD7', '#FF5FFF',\n '#FF8700', '#FF875F', '#FF8787', '#FF87AF', '#FF87D7', '#FF87FF',\n '#FFAF00', '#FFAF5F', '#FFAF87', '#FFAFAF', '#FFAFD7', '#FFAFFF',\n '#FFD700', '#FFD75F', '#FFD787', '#FFD7AF', '#FFD7D7', '#FFD7FF',\n '#FFFF00', '#FFFF5F', '#FFFF87', '#FFFFAF', '#FFFFD7', '#FFFFFF',\n\n // The greyscale ramp...\n '#080808', '#121212', '#1C1C1C', '#262626', '#303030', '#3A3A3A',\n '#444444', '#4E4E4E', '#585858', '#626262', '#6C6C6C', '#767676',\n '#808080', '#8A8A8A', '#949494', '#9E9E9E', '#A8A8A8', '#B2B2B2',\n '#BCBCBC', '#C6C6C6', '#D0D0D0', '#DADADA', '#E4E4E4', '#EEEEEE'\n ]);\n\n/**\n * The current color palette, possibly with user changes.\n */\nlib.colors.colorPalette = lib.colors.stockColorPalette;\n\n/**\n * Named colors according to the stock X11 rgb.txt file.\n */\nlib.colors.colorNames = {\n \"aliceblue\": \"rgb(240, 248, 255)\",\n \"antiquewhite\": \"rgb(250, 235, 215)\",\n \"antiquewhite1\": \"rgb(255, 239, 219)\",\n \"antiquewhite2\": \"rgb(238, 223, 204)\",\n \"antiquewhite3\": \"rgb(205, 192, 176)\",\n \"antiquewhite4\": \"rgb(139, 131, 120)\",\n \"aquamarine\": \"rgb(127, 255, 212)\",\n \"aquamarine1\": \"rgb(127, 255, 212)\",\n \"aquamarine2\": \"rgb(118, 238, 198)\",\n \"aquamarine3\": \"rgb(102, 205, 170)\",\n \"aquamarine4\": \"rgb(69, 139, 116)\",\n \"azure\": \"rgb(240, 255, 255)\",\n \"azure1\": \"rgb(240, 255, 255)\",\n \"azure2\": \"rgb(224, 238, 238)\",\n \"azure3\": \"rgb(193, 205, 205)\",\n \"azure4\": \"rgb(131, 139, 139)\",\n \"beige\": \"rgb(245, 245, 220)\",\n \"bisque\": \"rgb(255, 228, 196)\",\n \"bisque1\": \"rgb(255, 228, 196)\",\n \"bisque2\": \"rgb(238, 213, 183)\",\n \"bisque3\": \"rgb(205, 183, 158)\",\n \"bisque4\": \"rgb(139, 125, 107)\",\n \"black\": \"rgb(0, 0, 0)\",\n \"blanchedalmond\": \"rgb(255, 235, 205)\",\n \"blue\": \"rgb(0, 0, 255)\",\n \"blue1\": \"rgb(0, 0, 255)\",\n \"blue2\": \"rgb(0, 0, 238)\",\n \"blue3\": \"rgb(0, 0, 205)\",\n \"blue4\": \"rgb(0, 0, 139)\",\n \"blueviolet\": \"rgb(138, 43, 226)\",\n \"brown\": \"rgb(165, 42, 42)\",\n \"brown1\": \"rgb(255, 64, 64)\",\n \"brown2\": \"rgb(238, 59, 59)\",\n \"brown3\": \"rgb(205, 51, 51)\",\n \"brown4\": \"rgb(139, 35, 35)\",\n \"burlywood\": \"rgb(222, 184, 135)\",\n \"burlywood1\": \"rgb(255, 211, 155)\",\n \"burlywood2\": \"rgb(238, 197, 145)\",\n \"burlywood3\": \"rgb(205, 170, 125)\",\n \"burlywood4\": \"rgb(139, 115, 85)\",\n \"cadetblue\": \"rgb(95, 158, 160)\",\n \"cadetblue1\": \"rgb(152, 245, 255)\",\n \"cadetblue2\": \"rgb(142, 229, 238)\",\n \"cadetblue3\": \"rgb(122, 197, 205)\",\n \"cadetblue4\": \"rgb(83, 134, 139)\",\n \"chartreuse\": \"rgb(127, 255, 0)\",\n \"chartreuse1\": \"rgb(127, 255, 0)\",\n \"chartreuse2\": \"rgb(118, 238, 0)\",\n \"chartreuse3\": \"rgb(102, 205, 0)\",\n \"chartreuse4\": \"rgb(69, 139, 0)\",\n \"chocolate\": \"rgb(210, 105, 30)\",\n \"chocolate1\": \"rgb(255, 127, 36)\",\n \"chocolate2\": \"rgb(238, 118, 33)\",\n \"chocolate3\": \"rgb(205, 102, 29)\",\n \"chocolate4\": \"rgb(139, 69, 19)\",\n \"coral\": \"rgb(255, 127, 80)\",\n \"coral1\": \"rgb(255, 114, 86)\",\n \"coral2\": \"rgb(238, 106, 80)\",\n \"coral3\": \"rgb(205, 91, 69)\",\n \"coral4\": \"rgb(139, 62, 47)\",\n \"cornflowerblue\": \"rgb(100, 149, 237)\",\n \"cornsilk\": \"rgb(255, 248, 220)\",\n \"cornsilk1\": \"rgb(255, 248, 220)\",\n \"cornsilk2\": \"rgb(238, 232, 205)\",\n \"cornsilk3\": \"rgb(205, 200, 177)\",\n \"cornsilk4\": \"rgb(139, 136, 120)\",\n \"cyan\": \"rgb(0, 255, 255)\",\n \"cyan1\": \"rgb(0, 255, 255)\",\n \"cyan2\": \"rgb(0, 238, 238)\",\n \"cyan3\": \"rgb(0, 205, 205)\",\n \"cyan4\": \"rgb(0, 139, 139)\",\n \"darkblue\": \"rgb(0, 0, 139)\",\n \"darkcyan\": \"rgb(0, 139, 139)\",\n \"darkgoldenrod\": \"rgb(184, 134, 11)\",\n \"darkgoldenrod1\": \"rgb(255, 185, 15)\",\n \"darkgoldenrod2\": \"rgb(238, 173, 14)\",\n \"darkgoldenrod3\": \"rgb(205, 149, 12)\",\n \"darkgoldenrod4\": \"rgb(139, 101, 8)\",\n \"darkgray\": \"rgb(169, 169, 169)\",\n \"darkgreen\": \"rgb(0, 100, 0)\",\n \"darkgrey\": \"rgb(169, 169, 169)\",\n \"darkkhaki\": \"rgb(189, 183, 107)\",\n \"darkmagenta\": \"rgb(139, 0, 139)\",\n \"darkolivegreen\": \"rgb(85, 107, 47)\",\n \"darkolivegreen1\": \"rgb(202, 255, 112)\",\n \"darkolivegreen2\": \"rgb(188, 238, 104)\",\n \"darkolivegreen3\": \"rgb(162, 205, 90)\",\n \"darkolivegreen4\": \"rgb(110, 139, 61)\",\n \"darkorange\": \"rgb(255, 140, 0)\",\n \"darkorange1\": \"rgb(255, 127, 0)\",\n \"darkorange2\": \"rgb(238, 118, 0)\",\n \"darkorange3\": \"rgb(205, 102, 0)\",\n \"darkorange4\": \"rgb(139, 69, 0)\",\n \"darkorchid\": \"rgb(153, 50, 204)\",\n \"darkorchid1\": \"rgb(191, 62, 255)\",\n \"darkorchid2\": \"rgb(178, 58, 238)\",\n \"darkorchid3\": \"rgb(154, 50, 205)\",\n \"darkorchid4\": \"rgb(104, 34, 139)\",\n \"darkred\": \"rgb(139, 0, 0)\",\n \"darksalmon\": \"rgb(233, 150, 122)\",\n \"darkseagreen\": \"rgb(143, 188, 143)\",\n \"darkseagreen1\": \"rgb(193, 255, 193)\",\n \"darkseagreen2\": \"rgb(180, 238, 180)\",\n \"darkseagreen3\": \"rgb(155, 205, 155)\",\n \"darkseagreen4\": \"rgb(105, 139, 105)\",\n \"darkslateblue\": \"rgb(72, 61, 139)\",\n \"darkslategray\": \"rgb(47, 79, 79)\",\n \"darkslategray1\": \"rgb(151, 255, 255)\",\n \"darkslategray2\": \"rgb(141, 238, 238)\",\n \"darkslategray3\": \"rgb(121, 205, 205)\",\n \"darkslategray4\": \"rgb(82, 139, 139)\",\n \"darkslategrey\": \"rgb(47, 79, 79)\",\n \"darkturquoise\": \"rgb(0, 206, 209)\",\n \"darkviolet\": \"rgb(148, 0, 211)\",\n \"debianred\": \"rgb(215, 7, 81)\",\n \"deeppink\": \"rgb(255, 20, 147)\",\n \"deeppink1\": \"rgb(255, 20, 147)\",\n \"deeppink2\": \"rgb(238, 18, 137)\",\n \"deeppink3\": \"rgb(205, 16, 118)\",\n \"deeppink4\": \"rgb(139, 10, 80)\",\n \"deepskyblue\": \"rgb(0, 191, 255)\",\n \"deepskyblue1\": \"rgb(0, 191, 255)\",\n \"deepskyblue2\": \"rgb(0, 178, 238)\",\n \"deepskyblue3\": \"rgb(0, 154, 205)\",\n \"deepskyblue4\": \"rgb(0, 104, 139)\",\n \"dimgray\": \"rgb(105, 105, 105)\",\n \"dimgrey\": \"rgb(105, 105, 105)\",\n \"dodgerblue\": \"rgb(30, 144, 255)\",\n \"dodgerblue1\": \"rgb(30, 144, 255)\",\n \"dodgerblue2\": \"rgb(28, 134, 238)\",\n \"dodgerblue3\": \"rgb(24, 116, 205)\",\n \"dodgerblue4\": \"rgb(16, 78, 139)\",\n \"firebrick\": \"rgb(178, 34, 34)\",\n \"firebrick1\": \"rgb(255, 48, 48)\",\n \"firebrick2\": \"rgb(238, 44, 44)\",\n \"firebrick3\": \"rgb(205, 38, 38)\",\n \"firebrick4\": \"rgb(139, 26, 26)\",\n \"floralwhite\": \"rgb(255, 250, 240)\",\n \"forestgreen\": \"rgb(34, 139, 34)\",\n \"gainsboro\": \"rgb(220, 220, 220)\",\n \"ghostwhite\": \"rgb(248, 248, 255)\",\n \"gold\": \"rgb(255, 215, 0)\",\n \"gold1\": \"rgb(255, 215, 0)\",\n \"gold2\": \"rgb(238, 201, 0)\",\n \"gold3\": \"rgb(205, 173, 0)\",\n \"gold4\": \"rgb(139, 117, 0)\",\n \"goldenrod\": \"rgb(218, 165, 32)\",\n \"goldenrod1\": \"rgb(255, 193, 37)\",\n \"goldenrod2\": \"rgb(238, 180, 34)\",\n \"goldenrod3\": \"rgb(205, 155, 29)\",\n \"goldenrod4\": \"rgb(139, 105, 20)\",\n \"gray\": \"rgb(190, 190, 190)\",\n \"gray0\": \"rgb(0, 0, 0)\",\n \"gray1\": \"rgb(3, 3, 3)\",\n \"gray10\": \"rgb(26, 26, 26)\",\n \"gray100\": \"rgb(255, 255, 255)\",\n \"gray11\": \"rgb(28, 28, 28)\",\n \"gray12\": \"rgb(31, 31, 31)\",\n \"gray13\": \"rgb(33, 33, 33)\",\n \"gray14\": \"rgb(36, 36, 36)\",\n \"gray15\": \"rgb(38, 38, 38)\",\n \"gray16\": \"rgb(41, 41, 41)\",\n \"gray17\": \"rgb(43, 43, 43)\",\n \"gray18\": \"rgb(46, 46, 46)\",\n \"gray19\": \"rgb(48, 48, 48)\",\n \"gray2\": \"rgb(5, 5, 5)\",\n \"gray20\": \"rgb(51, 51, 51)\",\n \"gray21\": \"rgb(54, 54, 54)\",\n \"gray22\": \"rgb(56, 56, 56)\",\n \"gray23\": \"rgb(59, 59, 59)\",\n \"gray24\": \"rgb(61, 61, 61)\",\n \"gray25\": \"rgb(64, 64, 64)\",\n \"gray26\": \"rgb(66, 66, 66)\",\n \"gray27\": \"rgb(69, 69, 69)\",\n \"gray28\": \"rgb(71, 71, 71)\",\n \"gray29\": \"rgb(74, 74, 74)\",\n \"gray3\": \"rgb(8, 8, 8)\",\n \"gray30\": \"rgb(77, 77, 77)\",\n \"gray31\": \"rgb(79, 79, 79)\",\n \"gray32\": \"rgb(82, 82, 82)\",\n \"gray33\": \"rgb(84, 84, 84)\",\n \"gray34\": \"rgb(87, 87, 87)\",\n \"gray35\": \"rgb(89, 89, 89)\",\n \"gray36\": \"rgb(92, 92, 92)\",\n \"gray37\": \"rgb(94, 94, 94)\",\n \"gray38\": \"rgb(97, 97, 97)\",\n \"gray39\": \"rgb(99, 99, 99)\",\n \"gray4\": \"rgb(10, 10, 10)\",\n \"gray40\": \"rgb(102, 102, 102)\",\n \"gray41\": \"rgb(105, 105, 105)\",\n \"gray42\": \"rgb(107, 107, 107)\",\n \"gray43\": \"rgb(110, 110, 110)\",\n \"gray44\": \"rgb(112, 112, 112)\",\n \"gray45\": \"rgb(115, 115, 115)\",\n \"gray46\": \"rgb(117, 117, 117)\",\n \"gray47\": \"rgb(120, 120, 120)\",\n \"gray48\": \"rgb(122, 122, 122)\",\n \"gray49\": \"rgb(125, 125, 125)\",\n \"gray5\": \"rgb(13, 13, 13)\",\n \"gray50\": \"rgb(127, 127, 127)\",\n \"gray51\": \"rgb(130, 130, 130)\",\n \"gray52\": \"rgb(133, 133, 133)\",\n \"gray53\": \"rgb(135, 135, 135)\",\n \"gray54\": \"rgb(138, 138, 138)\",\n \"gray55\": \"rgb(140, 140, 140)\",\n \"gray56\": \"rgb(143, 143, 143)\",\n \"gray57\": \"rgb(145, 145, 145)\",\n \"gray58\": \"rgb(148, 148, 148)\",\n \"gray59\": \"rgb(150, 150, 150)\",\n \"gray6\": \"rgb(15, 15, 15)\",\n \"gray60\": \"rgb(153, 153, 153)\",\n \"gray61\": \"rgb(156, 156, 156)\",\n \"gray62\": \"rgb(158, 158, 158)\",\n \"gray63\": \"rgb(161, 161, 161)\",\n \"gray64\": \"rgb(163, 163, 163)\",\n \"gray65\": \"rgb(166, 166, 166)\",\n \"gray66\": \"rgb(168, 168, 168)\",\n \"gray67\": \"rgb(171, 171, 171)\",\n \"gray68\": \"rgb(173, 173, 173)\",\n \"gray69\": \"rgb(176, 176, 176)\",\n \"gray7\": \"rgb(18, 18, 18)\",\n \"gray70\": \"rgb(179, 179, 179)\",\n \"gray71\": \"rgb(181, 181, 181)\",\n \"gray72\": \"rgb(184, 184, 184)\",\n \"gray73\": \"rgb(186, 186, 186)\",\n \"gray74\": \"rgb(189, 189, 189)\",\n \"gray75\": \"rgb(191, 191, 191)\",\n \"gray76\": \"rgb(194, 194, 194)\",\n \"gray77\": \"rgb(196, 196, 196)\",\n \"gray78\": \"rgb(199, 199, 199)\",\n \"gray79\": \"rgb(201, 201, 201)\",\n \"gray8\": \"rgb(20, 20, 20)\",\n \"gray80\": \"rgb(204, 204, 204)\",\n \"gray81\": \"rgb(207, 207, 207)\",\n \"gray82\": \"rgb(209, 209, 209)\",\n \"gray83\": \"rgb(212, 212, 212)\",\n \"gray84\": \"rgb(214, 214, 214)\",\n \"gray85\": \"rgb(217, 217, 217)\",\n \"gray86\": \"rgb(219, 219, 219)\",\n \"gray87\": \"rgb(222, 222, 222)\",\n \"gray88\": \"rgb(224, 224, 224)\",\n \"gray89\": \"rgb(227, 227, 227)\",\n \"gray9\": \"rgb(23, 23, 23)\",\n \"gray90\": \"rgb(229, 229, 229)\",\n \"gray91\": \"rgb(232, 232, 232)\",\n \"gray92\": \"rgb(235, 235, 235)\",\n \"gray93\": \"rgb(237, 237, 237)\",\n \"gray94\": \"rgb(240, 240, 240)\",\n \"gray95\": \"rgb(242, 242, 242)\",\n \"gray96\": \"rgb(245, 245, 245)\",\n \"gray97\": \"rgb(247, 247, 247)\",\n \"gray98\": \"rgb(250, 250, 250)\",\n \"gray99\": \"rgb(252, 252, 252)\",\n \"green\": \"rgb(0, 255, 0)\",\n \"green1\": \"rgb(0, 255, 0)\",\n \"green2\": \"rgb(0, 238, 0)\",\n \"green3\": \"rgb(0, 205, 0)\",\n \"green4\": \"rgb(0, 139, 0)\",\n \"greenyellow\": \"rgb(173, 255, 47)\",\n \"grey\": \"rgb(190, 190, 190)\",\n \"grey0\": \"rgb(0, 0, 0)\",\n \"grey1\": \"rgb(3, 3, 3)\",\n \"grey10\": \"rgb(26, 26, 26)\",\n \"grey100\": \"rgb(255, 255, 255)\",\n \"grey11\": \"rgb(28, 28, 28)\",\n \"grey12\": \"rgb(31, 31, 31)\",\n \"grey13\": \"rgb(33, 33, 33)\",\n \"grey14\": \"rgb(36, 36, 36)\",\n \"grey15\": \"rgb(38, 38, 38)\",\n \"grey16\": \"rgb(41, 41, 41)\",\n \"grey17\": \"rgb(43, 43, 43)\",\n \"grey18\": \"rgb(46, 46, 46)\",\n \"grey19\": \"rgb(48, 48, 48)\",\n \"grey2\": \"rgb(5, 5, 5)\",\n \"grey20\": \"rgb(51, 51, 51)\",\n \"grey21\": \"rgb(54, 54, 54)\",\n \"grey22\": \"rgb(56, 56, 56)\",\n \"grey23\": \"rgb(59, 59, 59)\",\n \"grey24\": \"rgb(61, 61, 61)\",\n \"grey25\": \"rgb(64, 64, 64)\",\n \"grey26\": \"rgb(66, 66, 66)\",\n \"grey27\": \"rgb(69, 69, 69)\",\n \"grey28\": \"rgb(71, 71, 71)\",\n \"grey29\": \"rgb(74, 74, 74)\",\n \"grey3\": \"rgb(8, 8, 8)\",\n \"grey30\": \"rgb(77, 77, 77)\",\n \"grey31\": \"rgb(79, 79, 79)\",\n \"grey32\": \"rgb(82, 82, 82)\",\n \"grey33\": \"rgb(84, 84, 84)\",\n \"grey34\": \"rgb(87, 87, 87)\",\n \"grey35\": \"rgb(89, 89, 89)\",\n \"grey36\": \"rgb(92, 92, 92)\",\n \"grey37\": \"rgb(94, 94, 94)\",\n \"grey38\": \"rgb(97, 97, 97)\",\n \"grey39\": \"rgb(99, 99, 99)\",\n \"grey4\": \"rgb(10, 10, 10)\",\n \"grey40\": \"rgb(102, 102, 102)\",\n \"grey41\": \"rgb(105, 105, 105)\",\n \"grey42\": \"rgb(107, 107, 107)\",\n \"grey43\": \"rgb(110, 110, 110)\",\n \"grey44\": \"rgb(112, 112, 112)\",\n \"grey45\": \"rgb(115, 115, 115)\",\n \"grey46\": \"rgb(117, 117, 117)\",\n \"grey47\": \"rgb(120, 120, 120)\",\n \"grey48\": \"rgb(122, 122, 122)\",\n \"grey49\": \"rgb(125, 125, 125)\",\n \"grey5\": \"rgb(13, 13, 13)\",\n \"grey50\": \"rgb(127, 127, 127)\",\n \"grey51\": \"rgb(130, 130, 130)\",\n \"grey52\": \"rgb(133, 133, 133)\",\n \"grey53\": \"rgb(135, 135, 135)\",\n \"grey54\": \"rgb(138, 138, 138)\",\n \"grey55\": \"rgb(140, 140, 140)\",\n \"grey56\": \"rgb(143, 143, 143)\",\n \"grey57\": \"rgb(145, 145, 145)\",\n \"grey58\": \"rgb(148, 148, 148)\",\n \"grey59\": \"rgb(150, 150, 150)\",\n \"grey6\": \"rgb(15, 15, 15)\",\n \"grey60\": \"rgb(153, 153, 153)\",\n \"grey61\": \"rgb(156, 156, 156)\",\n \"grey62\": \"rgb(158, 158, 158)\",\n \"grey63\": \"rgb(161, 161, 161)\",\n \"grey64\": \"rgb(163, 163, 163)\",\n \"grey65\": \"rgb(166, 166, 166)\",\n \"grey66\": \"rgb(168, 168, 168)\",\n \"grey67\": \"rgb(171, 171, 171)\",\n \"grey68\": \"rgb(173, 173, 173)\",\n \"grey69\": \"rgb(176, 176, 176)\",\n \"grey7\": \"rgb(18, 18, 18)\",\n \"grey70\": \"rgb(179, 179, 179)\",\n \"grey71\": \"rgb(181, 181, 181)\",\n \"grey72\": \"rgb(184, 184, 184)\",\n \"grey73\": \"rgb(186, 186, 186)\",\n \"grey74\": \"rgb(189, 189, 189)\",\n \"grey75\": \"rgb(191, 191, 191)\",\n \"grey76\": \"rgb(194, 194, 194)\",\n \"grey77\": \"rgb(196, 196, 196)\",\n \"grey78\": \"rgb(199, 199, 199)\",\n \"grey79\": \"rgb(201, 201, 201)\",\n \"grey8\": \"rgb(20, 20, 20)\",\n \"grey80\": \"rgb(204, 204, 204)\",\n \"grey81\": \"rgb(207, 207, 207)\",\n \"grey82\": \"rgb(209, 209, 209)\",\n \"grey83\": \"rgb(212, 212, 212)\",\n \"grey84\": \"rgb(214, 214, 214)\",\n \"grey85\": \"rgb(217, 217, 217)\",\n \"grey86\": \"rgb(219, 219, 219)\",\n \"grey87\": \"rgb(222, 222, 222)\",\n \"grey88\": \"rgb(224, 224, 224)\",\n \"grey89\": \"rgb(227, 227, 227)\",\n \"grey9\": \"rgb(23, 23, 23)\",\n \"grey90\": \"rgb(229, 229, 229)\",\n \"grey91\": \"rgb(232, 232, 232)\",\n \"grey92\": \"rgb(235, 235, 235)\",\n \"grey93\": \"rgb(237, 237, 237)\",\n \"grey94\": \"rgb(240, 240, 240)\",\n \"grey95\": \"rgb(242, 242, 242)\",\n \"grey96\": \"rgb(245, 245, 245)\",\n \"grey97\": \"rgb(247, 247, 247)\",\n \"grey98\": \"rgb(250, 250, 250)\",\n \"grey99\": \"rgb(252, 252, 252)\",\n \"honeydew\": \"rgb(240, 255, 240)\",\n \"honeydew1\": \"rgb(240, 255, 240)\",\n \"honeydew2\": \"rgb(224, 238, 224)\",\n \"honeydew3\": \"rgb(193, 205, 193)\",\n \"honeydew4\": \"rgb(131, 139, 131)\",\n \"hotpink\": \"rgb(255, 105, 180)\",\n \"hotpink1\": \"rgb(255, 110, 180)\",\n \"hotpink2\": \"rgb(238, 106, 167)\",\n \"hotpink3\": \"rgb(205, 96, 144)\",\n \"hotpink4\": \"rgb(139, 58, 98)\",\n \"indianred\": \"rgb(205, 92, 92)\",\n \"indianred1\": \"rgb(255, 106, 106)\",\n \"indianred2\": \"rgb(238, 99, 99)\",\n \"indianred3\": \"rgb(205, 85, 85)\",\n \"indianred4\": \"rgb(139, 58, 58)\",\n \"ivory\": \"rgb(255, 255, 240)\",\n \"ivory1\": \"rgb(255, 255, 240)\",\n \"ivory2\": \"rgb(238, 238, 224)\",\n \"ivory3\": \"rgb(205, 205, 193)\",\n \"ivory4\": \"rgb(139, 139, 131)\",\n \"khaki\": \"rgb(240, 230, 140)\",\n \"khaki1\": \"rgb(255, 246, 143)\",\n \"khaki2\": \"rgb(238, 230, 133)\",\n \"khaki3\": \"rgb(205, 198, 115)\",\n \"khaki4\": \"rgb(139, 134, 78)\",\n \"lavender\": \"rgb(230, 230, 250)\",\n \"lavenderblush\": \"rgb(255, 240, 245)\",\n \"lavenderblush1\": \"rgb(255, 240, 245)\",\n \"lavenderblush2\": \"rgb(238, 224, 229)\",\n \"lavenderblush3\": \"rgb(205, 193, 197)\",\n \"lavenderblush4\": \"rgb(139, 131, 134)\",\n \"lawngreen\": \"rgb(124, 252, 0)\",\n \"lemonchiffon\": \"rgb(255, 250, 205)\",\n \"lemonchiffon1\": \"rgb(255, 250, 205)\",\n \"lemonchiffon2\": \"rgb(238, 233, 191)\",\n \"lemonchiffon3\": \"rgb(205, 201, 165)\",\n \"lemonchiffon4\": \"rgb(139, 137, 112)\",\n \"lightblue\": \"rgb(173, 216, 230)\",\n \"lightblue1\": \"rgb(191, 239, 255)\",\n \"lightblue2\": \"rgb(178, 223, 238)\",\n \"lightblue3\": \"rgb(154, 192, 205)\",\n \"lightblue4\": \"rgb(104, 131, 139)\",\n \"lightcoral\": \"rgb(240, 128, 128)\",\n \"lightcyan\": \"rgb(224, 255, 255)\",\n \"lightcyan1\": \"rgb(224, 255, 255)\",\n \"lightcyan2\": \"rgb(209, 238, 238)\",\n \"lightcyan3\": \"rgb(180, 205, 205)\",\n \"lightcyan4\": \"rgb(122, 139, 139)\",\n \"lightgoldenrod\": \"rgb(238, 221, 130)\",\n \"lightgoldenrod1\": \"rgb(255, 236, 139)\",\n \"lightgoldenrod2\": \"rgb(238, 220, 130)\",\n \"lightgoldenrod3\": \"rgb(205, 190, 112)\",\n \"lightgoldenrod4\": \"rgb(139, 129, 76)\",\n \"lightgoldenrodyellow\": \"rgb(250, 250, 210)\",\n \"lightgray\": \"rgb(211, 211, 211)\",\n \"lightgreen\": \"rgb(144, 238, 144)\",\n \"lightgrey\": \"rgb(211, 211, 211)\",\n \"lightpink\": \"rgb(255, 182, 193)\",\n \"lightpink1\": \"rgb(255, 174, 185)\",\n \"lightpink2\": \"rgb(238, 162, 173)\",\n \"lightpink3\": \"rgb(205, 140, 149)\",\n \"lightpink4\": \"rgb(139, 95, 101)\",\n \"lightsalmon\": \"rgb(255, 160, 122)\",\n \"lightsalmon1\": \"rgb(255, 160, 122)\",\n \"lightsalmon2\": \"rgb(238, 149, 114)\",\n \"lightsalmon3\": \"rgb(205, 129, 98)\",\n \"lightsalmon4\": \"rgb(139, 87, 66)\",\n \"lightseagreen\": \"rgb(32, 178, 170)\",\n \"lightskyblue\": \"rgb(135, 206, 250)\",\n \"lightskyblue1\": \"rgb(176, 226, 255)\",\n \"lightskyblue2\": \"rgb(164, 211, 238)\",\n \"lightskyblue3\": \"rgb(141, 182, 205)\",\n \"lightskyblue4\": \"rgb(96, 123, 139)\",\n \"lightslateblue\": \"rgb(132, 112, 255)\",\n \"lightslategray\": \"rgb(119, 136, 153)\",\n \"lightslategrey\": \"rgb(119, 136, 153)\",\n \"lightsteelblue\": \"rgb(176, 196, 222)\",\n \"lightsteelblue1\": \"rgb(202, 225, 255)\",\n \"lightsteelblue2\": \"rgb(188, 210, 238)\",\n \"lightsteelblue3\": \"rgb(162, 181, 205)\",\n \"lightsteelblue4\": \"rgb(110, 123, 139)\",\n \"lightyellow\": \"rgb(255, 255, 224)\",\n \"lightyellow1\": \"rgb(255, 255, 224)\",\n \"lightyellow2\": \"rgb(238, 238, 209)\",\n \"lightyellow3\": \"rgb(205, 205, 180)\",\n \"lightyellow4\": \"rgb(139, 139, 122)\",\n \"limegreen\": \"rgb(50, 205, 50)\",\n \"linen\": \"rgb(250, 240, 230)\",\n \"magenta\": \"rgb(255, 0, 255)\",\n \"magenta1\": \"rgb(255, 0, 255)\",\n \"magenta2\": \"rgb(238, 0, 238)\",\n \"magenta3\": \"rgb(205, 0, 205)\",\n \"magenta4\": \"rgb(139, 0, 139)\",\n \"maroon\": \"rgb(176, 48, 96)\",\n \"maroon1\": \"rgb(255, 52, 179)\",\n \"maroon2\": \"rgb(238, 48, 167)\",\n \"maroon3\": \"rgb(205, 41, 144)\",\n \"maroon4\": \"rgb(139, 28, 98)\",\n \"mediumaquamarine\": \"rgb(102, 205, 170)\",\n \"mediumblue\": \"rgb(0, 0, 205)\",\n \"mediumorchid\": \"rgb(186, 85, 211)\",\n \"mediumorchid1\": \"rgb(224, 102, 255)\",\n \"mediumorchid2\": \"rgb(209, 95, 238)\",\n \"mediumorchid3\": \"rgb(180, 82, 205)\",\n \"mediumorchid4\": \"rgb(122, 55, 139)\",\n \"mediumpurple\": \"rgb(147, 112, 219)\",\n \"mediumpurple1\": \"rgb(171, 130, 255)\",\n \"mediumpurple2\": \"rgb(159, 121, 238)\",\n \"mediumpurple3\": \"rgb(137, 104, 205)\",\n \"mediumpurple4\": \"rgb(93, 71, 139)\",\n \"mediumseagreen\": \"rgb(60, 179, 113)\",\n \"mediumslateblue\": \"rgb(123, 104, 238)\",\n \"mediumspringgreen\": \"rgb(0, 250, 154)\",\n \"mediumturquoise\": \"rgb(72, 209, 204)\",\n \"mediumvioletred\": \"rgb(199, 21, 133)\",\n \"midnightblue\": \"rgb(25, 25, 112)\",\n \"mintcream\": \"rgb(245, 255, 250)\",\n \"mistyrose\": \"rgb(255, 228, 225)\",\n \"mistyrose1\": \"rgb(255, 228, 225)\",\n \"mistyrose2\": \"rgb(238, 213, 210)\",\n \"mistyrose3\": \"rgb(205, 183, 181)\",\n \"mistyrose4\": \"rgb(139, 125, 123)\",\n \"moccasin\": \"rgb(255, 228, 181)\",\n \"navajowhite\": \"rgb(255, 222, 173)\",\n \"navajowhite1\": \"rgb(255, 222, 173)\",\n \"navajowhite2\": \"rgb(238, 207, 161)\",\n \"navajowhite3\": \"rgb(205, 179, 139)\",\n \"navajowhite4\": \"rgb(139, 121, 94)\",\n \"navy\": \"rgb(0, 0, 128)\",\n \"navyblue\": \"rgb(0, 0, 128)\",\n \"oldlace\": \"rgb(253, 245, 230)\",\n \"olivedrab\": \"rgb(107, 142, 35)\",\n \"olivedrab1\": \"rgb(192, 255, 62)\",\n \"olivedrab2\": \"rgb(179, 238, 58)\",\n \"olivedrab3\": \"rgb(154, 205, 50)\",\n \"olivedrab4\": \"rgb(105, 139, 34)\",\n \"orange\": \"rgb(255, 165, 0)\",\n \"orange1\": \"rgb(255, 165, 0)\",\n \"orange2\": \"rgb(238, 154, 0)\",\n \"orange3\": \"rgb(205, 133, 0)\",\n \"orange4\": \"rgb(139, 90, 0)\",\n \"orangered\": \"rgb(255, 69, 0)\",\n \"orangered1\": \"rgb(255, 69, 0)\",\n \"orangered2\": \"rgb(238, 64, 0)\",\n \"orangered3\": \"rgb(205, 55, 0)\",\n \"orangered4\": \"rgb(139, 37, 0)\",\n \"orchid\": \"rgb(218, 112, 214)\",\n \"orchid1\": \"rgb(255, 131, 250)\",\n \"orchid2\": \"rgb(238, 122, 233)\",\n \"orchid3\": \"rgb(205, 105, 201)\",\n \"orchid4\": \"rgb(139, 71, 137)\",\n \"palegoldenrod\": \"rgb(238, 232, 170)\",\n \"palegreen\": \"rgb(152, 251, 152)\",\n \"palegreen1\": \"rgb(154, 255, 154)\",\n \"palegreen2\": \"rgb(144, 238, 144)\",\n \"palegreen3\": \"rgb(124, 205, 124)\",\n \"palegreen4\": \"rgb(84, 139, 84)\",\n \"paleturquoise\": \"rgb(175, 238, 238)\",\n \"paleturquoise1\": \"rgb(187, 255, 255)\",\n \"paleturquoise2\": \"rgb(174, 238, 238)\",\n \"paleturquoise3\": \"rgb(150, 205, 205)\",\n \"paleturquoise4\": \"rgb(102, 139, 139)\",\n \"palevioletred\": \"rgb(219, 112, 147)\",\n \"palevioletred1\": \"rgb(255, 130, 171)\",\n \"palevioletred2\": \"rgb(238, 121, 159)\",\n \"palevioletred3\": \"rgb(205, 104, 137)\",\n \"palevioletred4\": \"rgb(139, 71, 93)\",\n \"papayawhip\": \"rgb(255, 239, 213)\",\n \"peachpuff\": \"rgb(255, 218, 185)\",\n \"peachpuff1\": \"rgb(255, 218, 185)\",\n \"peachpuff2\": \"rgb(238, 203, 173)\",\n \"peachpuff3\": \"rgb(205, 175, 149)\",\n \"peachpuff4\": \"rgb(139, 119, 101)\",\n \"peru\": \"rgb(205, 133, 63)\",\n \"pink\": \"rgb(255, 192, 203)\",\n \"pink1\": \"rgb(255, 181, 197)\",\n \"pink2\": \"rgb(238, 169, 184)\",\n \"pink3\": \"rgb(205, 145, 158)\",\n \"pink4\": \"rgb(139, 99, 108)\",\n \"plum\": \"rgb(221, 160, 221)\",\n \"plum1\": \"rgb(255, 187, 255)\",\n \"plum2\": \"rgb(238, 174, 238)\",\n \"plum3\": \"rgb(205, 150, 205)\",\n \"plum4\": \"rgb(139, 102, 139)\",\n \"powderblue\": \"rgb(176, 224, 230)\",\n \"purple\": \"rgb(160, 32, 240)\",\n \"purple1\": \"rgb(155, 48, 255)\",\n \"purple2\": \"rgb(145, 44, 238)\",\n \"purple3\": \"rgb(125, 38, 205)\",\n \"purple4\": \"rgb(85, 26, 139)\",\n \"red\": \"rgb(255, 0, 0)\",\n \"red1\": \"rgb(255, 0, 0)\",\n \"red2\": \"rgb(238, 0, 0)\",\n \"red3\": \"rgb(205, 0, 0)\",\n \"red4\": \"rgb(139, 0, 0)\",\n \"rosybrown\": \"rgb(188, 143, 143)\",\n \"rosybrown1\": \"rgb(255, 193, 193)\",\n \"rosybrown2\": \"rgb(238, 180, 180)\",\n \"rosybrown3\": \"rgb(205, 155, 155)\",\n \"rosybrown4\": \"rgb(139, 105, 105)\",\n \"royalblue\": \"rgb(65, 105, 225)\",\n \"royalblue1\": \"rgb(72, 118, 255)\",\n \"royalblue2\": \"rgb(67, 110, 238)\",\n \"royalblue3\": \"rgb(58, 95, 205)\",\n \"royalblue4\": \"rgb(39, 64, 139)\",\n \"saddlebrown\": \"rgb(139, 69, 19)\",\n \"salmon\": \"rgb(250, 128, 114)\",\n \"salmon1\": \"rgb(255, 140, 105)\",\n \"salmon2\": \"rgb(238, 130, 98)\",\n \"salmon3\": \"rgb(205, 112, 84)\",\n \"salmon4\": \"rgb(139, 76, 57)\",\n \"sandybrown\": \"rgb(244, 164, 96)\",\n \"seagreen\": \"rgb(46, 139, 87)\",\n \"seagreen1\": \"rgb(84, 255, 159)\",\n \"seagreen2\": \"rgb(78, 238, 148)\",\n \"seagreen3\": \"rgb(67, 205, 128)\",\n \"seagreen4\": \"rgb(46, 139, 87)\",\n \"seashell\": \"rgb(255, 245, 238)\",\n \"seashell1\": \"rgb(255, 245, 238)\",\n \"seashell2\": \"rgb(238, 229, 222)\",\n \"seashell3\": \"rgb(205, 197, 191)\",\n \"seashell4\": \"rgb(139, 134, 130)\",\n \"sienna\": \"rgb(160, 82, 45)\",\n \"sienna1\": \"rgb(255, 130, 71)\",\n \"sienna2\": \"rgb(238, 121, 66)\",\n \"sienna3\": \"rgb(205, 104, 57)\",\n \"sienna4\": \"rgb(139, 71, 38)\",\n \"skyblue\": \"rgb(135, 206, 235)\",\n \"skyblue1\": \"rgb(135, 206, 255)\",\n \"skyblue2\": \"rgb(126, 192, 238)\",\n \"skyblue3\": \"rgb(108, 166, 205)\",\n \"skyblue4\": \"rgb(74, 112, 139)\",\n \"slateblue\": \"rgb(106, 90, 205)\",\n \"slateblue1\": \"rgb(131, 111, 255)\",\n \"slateblue2\": \"rgb(122, 103, 238)\",\n \"slateblue3\": \"rgb(105, 89, 205)\",\n \"slateblue4\": \"rgb(71, 60, 139)\",\n \"slategray\": \"rgb(112, 128, 144)\",\n \"slategray1\": \"rgb(198, 226, 255)\",\n \"slategray2\": \"rgb(185, 211, 238)\",\n \"slategray3\": \"rgb(159, 182, 205)\",\n \"slategray4\": \"rgb(108, 123, 139)\",\n \"slategrey\": \"rgb(112, 128, 144)\",\n \"snow\": \"rgb(255, 250, 250)\",\n \"snow1\": \"rgb(255, 250, 250)\",\n \"snow2\": \"rgb(238, 233, 233)\",\n \"snow3\": \"rgb(205, 201, 201)\",\n \"snow4\": \"rgb(139, 137, 137)\",\n \"springgreen\": \"rgb(0, 255, 127)\",\n \"springgreen1\": \"rgb(0, 255, 127)\",\n \"springgreen2\": \"rgb(0, 238, 118)\",\n \"springgreen3\": \"rgb(0, 205, 102)\",\n \"springgreen4\": \"rgb(0, 139, 69)\",\n \"steelblue\": \"rgb(70, 130, 180)\",\n \"steelblue1\": \"rgb(99, 184, 255)\",\n \"steelblue2\": \"rgb(92, 172, 238)\",\n \"steelblue3\": \"rgb(79, 148, 205)\",\n \"steelblue4\": \"rgb(54, 100, 139)\",\n \"tan\": \"rgb(210, 180, 140)\",\n \"tan1\": \"rgb(255, 165, 79)\",\n \"tan2\": \"rgb(238, 154, 73)\",\n \"tan3\": \"rgb(205, 133, 63)\",\n \"tan4\": \"rgb(139, 90, 43)\",\n \"thistle\": \"rgb(216, 191, 216)\",\n \"thistle1\": \"rgb(255, 225, 255)\",\n \"thistle2\": \"rgb(238, 210, 238)\",\n \"thistle3\": \"rgb(205, 181, 205)\",\n \"thistle4\": \"rgb(139, 123, 139)\",\n \"tomato\": \"rgb(255, 99, 71)\",\n \"tomato1\": \"rgb(255, 99, 71)\",\n \"tomato2\": \"rgb(238, 92, 66)\",\n \"tomato3\": \"rgb(205, 79, 57)\",\n \"tomato4\": \"rgb(139, 54, 38)\",\n \"turquoise\": \"rgb(64, 224, 208)\",\n \"turquoise1\": \"rgb(0, 245, 255)\",\n \"turquoise2\": \"rgb(0, 229, 238)\",\n \"turquoise3\": \"rgb(0, 197, 205)\",\n \"turquoise4\": \"rgb(0, 134, 139)\",\n \"violet\": \"rgb(238, 130, 238)\",\n \"violetred\": \"rgb(208, 32, 144)\",\n \"violetred1\": \"rgb(255, 62, 150)\",\n \"violetred2\": \"rgb(238, 58, 140)\",\n \"violetred3\": \"rgb(205, 50, 120)\",\n \"violetred4\": \"rgb(139, 34, 82)\",\n \"wheat\": \"rgb(245, 222, 179)\",\n \"wheat1\": \"rgb(255, 231, 186)\",\n \"wheat2\": \"rgb(238, 216, 174)\",\n \"wheat3\": \"rgb(205, 186, 150)\",\n \"wheat4\": \"rgb(139, 126, 102)\",\n \"white\": \"rgb(255, 255, 255)\",\n \"whitesmoke\": \"rgb(245, 245, 245)\",\n \"yellow\": \"rgb(255, 255, 0)\",\n \"yellow1\": \"rgb(255, 255, 0)\",\n \"yellow2\": \"rgb(238, 238, 0)\",\n \"yellow3\": \"rgb(205, 205, 0)\",\n \"yellow4\": \"rgb(139, 139, 0)\",\n \"yellowgreen\": \"rgb(154, 205, 50)\"\n};\n// SOURCE FILE: libdot/js/lib_f.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Grab bag of utility functions.\n */\nlib.f = {};\n\n/**\n * Create a unique enum value.\n *\n * @suppress {lintChecks}\n * @param {string} name A human friendly name for debugging.\n * @return {Object} A unique enum that won't compare equal to anything else.\n */\nlib.f.createEnum = function(name) {\n // We use a String object as nothing else should be using them -- we want to\n // use string primitives normally. But debuggers will include our name.\n return new String(name);\n};\n\n/**\n * Replace variable references in a string.\n *\n * Variables are of the form %FUNCTION(VARNAME). FUNCTION is an optional\n * escape function to apply to the value.\n *\n * For example\n * lib.f.replaceVars(\"%(greeting), %encodeURIComponent(name)\",\n * { greeting: \"Hello\",\n * name: \"Google+\" });\n *\n * Will result in \"Hello, Google%2B\".\n */\nlib.f.replaceVars = function(str, vars) {\n return str.replace(/%([a-z]*)\\(([^\\)]+)\\)/gi, function(match, fn, varname) {\n if (typeof vars[varname] == 'undefined')\n throw 'Unknown variable: ' + varname;\n\n var rv = vars[varname];\n\n if (fn in lib.f.replaceVars.functions) {\n rv = lib.f.replaceVars.functions[fn](rv);\n } else if (fn) {\n throw 'Unknown escape function: ' + fn;\n }\n\n return rv;\n });\n};\n\n/**\n * Functions that can be used with replaceVars.\n *\n * Clients can add to this list to extend lib.f.replaceVars().\n */\nlib.f.replaceVars.functions = {\n encodeURI: encodeURI,\n encodeURIComponent: encodeURIComponent,\n escapeHTML: function(str) {\n var map = {\n '<': '<',\n '>': '>',\n '&': '&',\n '\"': '"',\n \"'\": '''\n };\n\n return str.replace(/[<>&\\\"\\']/g, function(m) { return map[m] });\n }\n};\n\n/**\n * Get the list of accepted UI languages.\n *\n * @param {function(Array)} callback Function to invoke with the results. The\n * parameter is a list of locale names.\n */\nlib.f.getAcceptLanguages = function(callback) {\n if (lib.f.getAcceptLanguages.chromeSupported()) {\n chrome.i18n.getAcceptLanguages(callback);\n } else {\n setTimeout(function() {\n callback([navigator.language.replace(/-/g, '_')]);\n }, 0);\n }\n};\n\nlib.f.getAcceptLanguages.chromeSupported = function() {\n return window.chrome && chrome.i18n;\n};\n\n/**\n * Parse a query string into a hash.\n *\n * This takes a url query string in the form 'name1=value&name2=value' and\n * converts it into an object of the form { name1: 'value', name2: 'value' }.\n * If a given name appears multiple times in the query string, only the\n * last value will appear in the result.\n *\n * Names and values are passed through decodeURIComponent before being added\n * to the result object.\n *\n * @param {string} queryString The string to parse. If it starts with a\n * leading '?', the '?' will be ignored.\n */\nlib.f.parseQuery = function(queryString) {\n if (queryString.startsWith('?'))\n queryString = queryString.substr(1);\n\n var rv = {};\n\n var pairs = queryString.split('&');\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i].split('=');\n rv[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n\n return rv;\n};\n\nlib.f.getURL = function(path) {\n if (lib.f.getURL.chromeSupported())\n return chrome.runtime.getURL(path);\n\n return path;\n};\n\nlib.f.getURL.chromeSupported = function() {\n return window.chrome && chrome.runtime && chrome.runtime.getURL;\n};\n\n/**\n * Clamp a given integer to a specified range.\n *\n * @param {integer} v The value to be clamped.\n * @param {integer} min The minimum acceptable value.\n * @param {integer} max The maximum acceptable value.\n */\nlib.f.clamp = function(v, min, max) {\n if (v < min)\n return min;\n if (v > max)\n return max;\n return v;\n};\n\n/**\n * Left pad a number to a given length with leading zeros.\n *\n * @param {string|integer} number The number to pad.\n * @param {integer} length The desired length.\n * @return {string} The padded number as a string.\n */\nlib.f.zpad = function(number, length) {\n return String(number).padStart(length, '0');\n};\n\n/**\n * Return a string containing a given number of space characters.\n *\n * This method maintains a static cache of the largest amount of whitespace\n * ever requested. It shouldn't be used to generate an insanely huge amount of\n * whitespace.\n *\n * @param {integer} length The desired amount of whitespace.\n * @param {string} A string of spaces of the requested length.\n */\nlib.f.getWhitespace = function(length) {\n if (length <= 0)\n return '';\n\n var f = this.getWhitespace;\n if (!f.whitespace)\n f.whitespace = ' ';\n\n while (length > f.whitespace.length) {\n f.whitespace += f.whitespace;\n }\n\n return f.whitespace.substr(0, length);\n};\n\n /**\n * Ensure that a function is called within a certain time limit.\n *\n * Simple usage looks like this...\n *\n * lib.registerInit(lib.f.alarm(onInit));\n *\n * This will log a warning to the console if onInit() is not invoked within\n * 5 seconds.\n *\n * If you're performing some operation that may take longer than 5 seconds you\n * can pass a duration in milliseconds as the optional second parameter.\n *\n * If you pass a string identifier instead of a callback function, you'll get a\n * wrapper generator rather than a single wrapper. Each call to the\n * generator will return a wrapped version of the callback wired to\n * a shared timeout. This is for cases where you want to ensure that at least\n * one of a set of callbacks is invoked before a timeout expires.\n *\n * var alarm = lib.f.alarm('fetch object');\n * lib.foo.fetchObject(alarm(onSuccess), alarm(onFailure));\n *\n * @param {function(*)} callback The function to wrap in an alarm.\n * @param {int} opt_ms Optional number of milliseconds to wait before raising\n * an alarm. Default is 5000 (5 seconds).\n * @return {function} If callback is a function then the return value will be\n * the wrapped callback. If callback is a string then the return value will\n * be a function that generates new wrapped callbacks.\n */\nlib.f.alarm = function(callback, opt_ms) {\n var ms = opt_ms || 5 * 1000;\n var stack = lib.f.getStack(1);\n\n return (function() {\n // This outer function is called immediately. It's here to capture a new\n // scope for the timeout variable.\n\n // The 'timeout' variable is shared by this timeout function, and the\n // callback wrapper.\n var timeout = setTimeout(function() {\n var name = (typeof callback == 'string') ? name : callback.name;\n name = name ? (': ' + name) : '';\n console.warn('lib.f.alarm: timeout expired: ' + (ms / 1000) + 's' + name);\n console.log(stack);\n timeout = null;\n }, ms);\n\n var wrapperGenerator = function(callback) {\n return function() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n\n return callback.apply(null, arguments);\n }\n };\n\n if (typeof callback == 'string')\n return wrapperGenerator;\n\n return wrapperGenerator(callback);\n })();\n};\n\n/**\n * Return the current call stack after skipping a given number of frames.\n *\n * This method is intended to be used for debugging only. It returns an\n * Object instead of an Array, because the console stringifies arrays by\n * default and that's not what we want.\n *\n * A typical call might look like...\n *\n * console.log('Something wicked this way came', lib.f.getStack());\n * // Notice the comma ^\n *\n * This would print the message to the js console, followed by an object\n * which can be clicked to reveal the stack.\n *\n * @param {number} opt_ignoreFrames The optional number of stack frames to\n * ignore. The actual 'getStack' call is always ignored.\n */\nlib.f.getStack = function(opt_ignoreFrames) {\n var ignoreFrames = opt_ignoreFrames ? opt_ignoreFrames + 2 : 2;\n\n var stackArray;\n\n try {\n throw new Error();\n } catch (ex) {\n stackArray = ex.stack.split('\\n');\n }\n\n var stackObject = {};\n for (var i = ignoreFrames; i < stackArray.length; i++) {\n stackObject[i - ignoreFrames] = stackArray[i].replace(/^\\s*at\\s+/, '');\n }\n\n return stackObject;\n};\n\n/**\n * Divides the two numbers and floors the results, unless the remainder is less\n * than an incredibly small value, in which case it returns the ceiling.\n * This is useful when the number are truncated approximations of longer\n * values, and so doing division with these numbers yields a result incredibly\n * close to a whole number.\n *\n * @param {number} numerator\n * @param {number} denominator\n * @return {number}\n */\nlib.f.smartFloorDivide = function(numerator, denominator) {\n var val = numerator / denominator;\n var ceiling = Math.ceil(val);\n if (ceiling - val < .0001) {\n return ceiling;\n } else {\n return Math.floor(val);\n }\n};\n\n/**\n * Get a random integer in a range (inclusive).\n *\n * @param {number} min The lowest integer in the range.\n * @param {number} max The highest integer in the range.\n * @return {number} A random number between min & max.\n */\nlib.f.randomInt = function(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\n// SOURCE FILE: libdot/js/lib_message_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * MessageManager class handles internationalized strings.\n *\n * Note: chrome.i18n isn't sufficient because...\n * 1. There's a bug in chrome that makes it unavailable in iframes:\n * https://crbug.com/130200\n * 2. The client code may not be packaged in a Chrome extension.\n * 3. The client code may be part of a library packaged in a third-party\n * Chrome extension.\n *\n * @param {Array} languages List of languages to load, in the order they\n * should be loaded. Newer messages replace older ones. 'en' is\n * automatically added as the first language if it is not already present.\n */\nlib.MessageManager = function(languages) {\n this.languages_ = languages.map(\n function(el) { return el.replace(/-/g, '_') });\n\n if (this.languages_.indexOf('en') == -1)\n this.languages_.unshift('en');\n\n this.messages = {};\n};\n\n/**\n * Add message definitions to the message manager.\n *\n * This takes an object of the same format of a Chrome messages.json file. See\n * .\n */\nlib.MessageManager.prototype.addMessages = function(defs) {\n for (var key in defs) {\n var def = defs[key];\n\n if (!def.placeholders) {\n this.messages[key] = def.message;\n } else {\n // Replace \"$NAME$\" placeholders with \"$1\", etc.\n this.messages[key] = def.message.replace(\n /\\$([a-z][^\\s\\$]+)\\$/ig,\n function(m, name) {\n return defs[key].placeholders[name.toLowerCase()].content;\n });\n }\n }\n};\n\n/**\n * Load the first available language message bundle.\n *\n * @param {string} pattern A url pattern containing a \"$1\" where the locale\n * name should go.\n * @param {function(Array,Array)} onComplete Function to be called when loading\n * is complete. The two arrays are the list of successful and failed\n * locale names. If the first parameter is length 0, no locales were\n * loaded.\n */\nlib.MessageManager.prototype.findAndLoadMessages = function(\n pattern, onComplete) {\n var languages = this.languages_.concat();\n var loaded = [];\n var failed = [];\n\n function onLanguageComplete(state) {\n if (state) {\n loaded = languages.shift();\n } else {\n failed = languages.shift();\n }\n\n if (languages.length) {\n tryNextLanguage();\n } else {\n onComplete(loaded, failed);\n }\n }\n\n var tryNextLanguage = function() {\n this.loadMessages(this.replaceReferences(pattern, languages),\n onLanguageComplete.bind(this, true),\n onLanguageComplete.bind(this, false));\n }.bind(this);\n\n tryNextLanguage();\n};\n\n/**\n * Load messages from a messages.json file.\n */\nlib.MessageManager.prototype.loadMessages = function(\n url, onSuccess, opt_onError) {\n var xhr = new XMLHttpRequest();\n\n xhr.onloadend = function() {\n if (xhr.status != 200) {\n if (opt_onError)\n opt_onError(xhr.status);\n\n return;\n }\n\n this.addMessages(JSON.parse(xhr.responseText));\n onSuccess();\n }.bind(this);\n\n xhr.open('GET', url);\n xhr.send();\n};\n\n/**\n * Replace $1...$n references with the elements of the args array.\n *\n * @param {string} msg String containing the message and argument references.\n * @param {Array} args Array containing the argument values.\n */\nlib.MessageManager.replaceReferences = function(msg, args) {\n return msg.replace(/\\$(\\d+)/g, function (m, index) {\n return args[index - 1];\n });\n};\n\n/**\n * Per-instance copy of replaceReferences.\n */\nlib.MessageManager.prototype.replaceReferences =\n lib.MessageManager.replaceReferences;\n\n/**\n * Get a message by name, optionally replacing arguments too.\n *\n * @param {string} msgname String containing the name of the message to get.\n * @param {Array} opt_args Optional array containing the argument values.\n * @param {string} opt_default Optional value to return if the msgname is not\n * found. Returns the message name by default.\n */\nlib.MessageManager.prototype.get = function(msgname, opt_args, opt_default) {\n var message;\n\n if (msgname in this.messages) {\n message = this.messages[msgname];\n\n } else {\n if (window.chrome.i18n)\n message = chrome.i18n.getMessage(msgname);\n\n if (!message) {\n console.warn('Unknown message: ' + msgname);\n return (typeof opt_default == 'undefined') ? msgname : opt_default;\n }\n }\n\n if (!opt_args)\n return message;\n\n if (!(opt_args instanceof Array))\n opt_args = [opt_args];\n\n return this.replaceReferences(message, opt_args);\n};\n\n/**\n * Process all of the \"i18n\" html attributes found in a given dom fragment.\n *\n * The real work happens in processI18nAttribute.\n */\nlib.MessageManager.prototype.processI18nAttributes = function(dom) {\n var nodes = dom.querySelectorAll('[i18n]');\n\n for (var i = 0; i < nodes.length; i++)\n this.processI18nAttribute(nodes[i]);\n};\n\n/**\n * Process the \"i18n\" attribute in the specified node.\n *\n * The i18n attribute should contain a JSON object. The keys are taken to\n * be attribute names, and the values are message names.\n *\n * If the JSON object has a \"_\" (underscore) key, its value is used as the\n * textContent of the element.\n *\n * Message names can refer to other attributes on the same element with by\n * prefixing with a dollar sign. For example...\n *\n * \n *\n * The aria-label message name will be computed as \"SEND_BUTTON_ARIA_LABEL\".\n * Notice that the \"id\" attribute was appended to the target attribute, and\n * the result converted to UPPER_AND_UNDER style.\n */\nlib.MessageManager.prototype.processI18nAttribute = function(node) {\n // Convert the \"lower-and-dashes\" attribute names into\n // \"UPPER_AND_UNDER\" style.\n function thunk(str) { return str.replace(/-/g, '_').toUpperCase() }\n\n var i18n = node.getAttribute('i18n');\n if (!i18n)\n return;\n\n try {\n i18n = JSON.parse(i18n);\n } catch (ex) {\n console.error('Can\\'t parse ' + node.tagName + '#' + node.id + ': ' + i18n);\n throw ex;\n }\n\n // Load all the messages specified in the i18n attributes.\n for (var key in i18n) {\n // The node attribute we'll be setting.\n var attr = key;\n\n var msgname = i18n[key];\n // For \"=foo\", re-use the referenced message name.\n if (msgname.startsWith('=')) {\n key = msgname.substr(1);\n msgname = i18n[key];\n }\n\n // For \"$foo\", calculate the message name.\n if (msgname.startsWith('$'))\n msgname = thunk(node.getAttribute(msgname.substr(1)) + '_' + key);\n\n // Finally load the message.\n var msg = this.get(msgname);\n if (attr == '_')\n node.textContent = msg;\n else\n node.setAttribute(attr, msg);\n }\n};\n// SOURCE FILE: libdot/js/lib_preference_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Constructor for lib.PreferenceManager objects.\n *\n * These objects deal with persisting changes to stable storage and notifying\n * consumers when preferences change.\n *\n * It is intended that the backing store could be something other than HTML5\n * storage, but there aren't any use cases at the moment. In the future there\n * may be a chrome api to store sync-able name/value pairs, and we'd want\n * that.\n *\n * @param {lib.Storage.*} storage The storage object to use as a backing\n * store.\n * @param {string} opt_prefix The optional prefix to be used for all preference\n * names. The '/' character should be used to separate levels of hierarchy,\n * if you're going to have that kind of thing. If provided, the prefix\n * should start with a '/'. If not provided, it defaults to '/'.\n */\nlib.PreferenceManager = function(storage, opt_prefix) {\n this.storage = storage;\n this.storageObserver_ = this.onStorageChange_.bind(this);\n\n this.isActive_ = false;\n this.activate();\n\n this.trace = false;\n\n var prefix = opt_prefix || '/';\n if (!prefix.endsWith('/'))\n prefix += '/';\n\n this.prefix = prefix;\n\n this.prefRecords_ = {};\n this.globalObservers_ = [];\n\n this.childFactories_ = {};\n\n // Map of list-name to {map of child pref managers}\n // As in...\n //\n // this.childLists_ = {\n // 'profile-ids': {\n // 'one': PreferenceManager,\n // 'two': PreferenceManager,\n // ...\n // },\n //\n // 'frob-ids': {\n // ...\n // }\n // }\n this.childLists_ = {};\n};\n\n/**\n * Used internally to indicate that the current value of the preference should\n * be taken from the default value defined with the preference.\n *\n * Equality tests against this value MUST use '===' or '!==' to be accurate.\n */\nlib.PreferenceManager.prototype.DEFAULT_VALUE = lib.f.createEnum('DEFAULT');\n\n/**\n * An individual preference.\n *\n * These objects are managed by the PreferenceManager, you shouldn't need to\n * handle them directly.\n */\nlib.PreferenceManager.Record = function(name, defaultValue) {\n this.name = name;\n this.defaultValue = defaultValue;\n this.currentValue = this.DEFAULT_VALUE;\n this.observers = [];\n};\n\n/**\n * A local copy of the DEFAULT_VALUE constant to make it less verbose.\n */\nlib.PreferenceManager.Record.prototype.DEFAULT_VALUE =\n lib.PreferenceManager.prototype.DEFAULT_VALUE;\n\n/**\n * Register a callback to be invoked when this preference changes.\n *\n * @param {function(value, string, lib.PreferenceManager} observer The function\n * to invoke. It will receive the new value, the name of the preference,\n * and a reference to the PreferenceManager as parameters.\n */\nlib.PreferenceManager.Record.prototype.addObserver = function(observer) {\n this.observers.push(observer);\n};\n\n/**\n * Unregister an observer callback.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.PreferenceManager.Record.prototype.removeObserver = function(observer) {\n var i = this.observers.indexOf(observer);\n if (i >= 0)\n this.observers.splice(i, 1);\n};\n\n/**\n * Fetch the value of this preference.\n */\nlib.PreferenceManager.Record.prototype.get = function() {\n if (this.currentValue === this.DEFAULT_VALUE) {\n if (/^(string|number)$/.test(typeof this.defaultValue))\n return this.defaultValue;\n\n if (typeof this.defaultValue == 'object') {\n // We want to return a COPY of the default value so that users can\n // modify the array or object without changing the default value.\n return JSON.parse(JSON.stringify(this.defaultValue));\n }\n\n return this.defaultValue;\n }\n\n return this.currentValue;\n};\n\n/**\n * Stop this preference manager from tracking storage changes.\n *\n * Call this if you're going to swap out one preference manager for another so\n * that you don't get notified about irrelevant changes.\n */\nlib.PreferenceManager.prototype.deactivate = function() {\n if (!this.isActive_)\n throw new Error('Not activated');\n\n this.isActive_ = false;\n this.storage.removeObserver(this.storageObserver_);\n};\n\n/**\n * Start tracking storage changes.\n *\n * If you previously deactivated this preference manager, you can reactivate it\n * with this method. You don't need to call this at initialization time, as\n * it's automatically called as part of the constructor.\n */\nlib.PreferenceManager.prototype.activate = function() {\n if (this.isActive_)\n throw new Error('Already activated');\n\n this.isActive_ = true;\n this.storage.addObserver(this.storageObserver_);\n};\n\n/**\n * Read the backing storage for these preferences.\n *\n * You should do this once at initialization time to prime the local cache\n * of preference values. The preference manager will monitor the backing\n * storage for changes, so you should not need to call this more than once.\n *\n * This function recursively reads storage for all child preference managers as\n * well.\n *\n * This function is asynchronous, if you need to read preference values, you\n * *must* wait for the callback.\n *\n * @param {function()} opt_callback Optional function to invoke when the read\n * has completed.\n */\nlib.PreferenceManager.prototype.readStorage = function(opt_callback) {\n var pendingChildren = 0;\n\n function onChildComplete() {\n if (--pendingChildren == 0 && opt_callback)\n opt_callback();\n }\n\n var keys = Object.keys(this.prefRecords_).map(\n function(el) { return this.prefix + el }.bind(this));\n\n if (this.trace)\n console.log('Preferences read: ' + this.prefix);\n\n this.storage.getItems(keys, function(items) {\n var prefixLength = this.prefix.length;\n\n for (var key in items) {\n var value = items[key];\n var name = key.substr(prefixLength);\n var needSync = (name in this.childLists_ &&\n (JSON.stringify(value) !=\n JSON.stringify(this.prefRecords_[name].currentValue)));\n\n this.prefRecords_[name].currentValue = value;\n\n if (needSync) {\n pendingChildren++;\n this.syncChildList(name, onChildComplete);\n }\n }\n\n if (pendingChildren == 0 && opt_callback)\n setTimeout(opt_callback);\n }.bind(this));\n};\n\n/**\n * Define a preference.\n *\n * This registers a name, default value, and onChange handler for a preference.\n *\n * @param {string} name The name of the preference. This will be prefixed by\n * the prefix of this PreferenceManager before written to local storage.\n * @param {string|number|boolean|Object|Array|null} value The default value of\n * this preference. Anything that can be represented in JSON is a valid\n * default value.\n * @param {function(value, string, lib.PreferenceManager} opt_observer A\n * function to invoke when the preference changes. It will receive the new\n * value, the name of the preference, and a reference to the\n * PreferenceManager as parameters.\n */\nlib.PreferenceManager.prototype.definePreference = function(\n name, value, opt_onChange) {\n\n var record = this.prefRecords_[name];\n if (record) {\n this.changeDefault(name, value);\n } else {\n record = this.prefRecords_[name] =\n new lib.PreferenceManager.Record(name, value);\n }\n\n if (opt_onChange)\n record.addObserver(opt_onChange);\n};\n\n/**\n * Define multiple preferences with a single function call.\n *\n * @param {Array} defaults An array of 3-element arrays. Each three element\n * array should contain the [key, value, onChange] parameters for a\n * preference.\n */\nlib.PreferenceManager.prototype.definePreferences = function(defaults) {\n for (var i = 0; i < defaults.length; i++) {\n this.definePreference(defaults[i][0], defaults[i][1], defaults[i][2]);\n }\n};\n\n/**\n * Define an ordered list of child preferences.\n *\n * Child preferences are different from just storing an array of JSON objects\n * in that each child is an instance of a preference manager. This means you\n * can observe changes to individual child preferences, and get some validation\n * that you're not reading or writing to an undefined child preference value.\n *\n * @param {string} listName A name for the list of children. This must be\n * unique in this preference manager. The listName will become a\n * preference on this PreferenceManager used to store the ordered list of\n * child ids. It is also used in get/add/remove operations to identify the\n * list of children to operate on.\n * @param {function} childFactory A function that will be used to generate\n * instances of these children. The factory function will receive the\n * parent lib.PreferenceManager object and a unique id for the new child\n * preferences.\n */\nlib.PreferenceManager.prototype.defineChildren = function(\n listName, childFactory) {\n\n // Define a preference to hold the ordered list of child ids.\n this.definePreference(listName, [],\n this.onChildListChange_.bind(this, listName));\n this.childFactories_[listName] = childFactory;\n this.childLists_[listName] = {};\n};\n\n/**\n * Register to observe preference changes.\n *\n * @param {Function} global A callback that will happen for every preference.\n * Pass null if you don't need one.\n * @param {Object} map A map of preference specific callbacks. Pass null if\n * you don't need any.\n */\nlib.PreferenceManager.prototype.addObservers = function(global, map) {\n if (global && typeof global != 'function')\n throw new Error('Invalid param: globals');\n\n if (global)\n this.globalObservers_.push(global);\n\n if (!map)\n return;\n\n for (var name in map) {\n if (!(name in this.prefRecords_))\n throw new Error('Unknown preference: ' + name);\n\n this.prefRecords_[name].addObserver(map[name]);\n }\n};\n\n/**\n * Dispatch the change observers for all known preferences.\n *\n * It may be useful to call this after readStorage completes, in order to\n * get application state in sync with user preferences.\n *\n * This can be used if you've changed a preference manager out from under\n * a live object, for example when switching to a different prefix.\n */\nlib.PreferenceManager.prototype.notifyAll = function() {\n for (var name in this.prefRecords_) {\n this.notifyChange_(name);\n }\n};\n\n/**\n * Notify the change observers for a given preference.\n *\n * @param {string} name The name of the preference that changed.\n */\nlib.PreferenceManager.prototype.notifyChange_ = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n var currentValue = record.get();\n\n for (var i = 0; i < this.globalObservers_.length; i++)\n this.globalObservers_[i](name, currentValue);\n\n for (var i = 0; i < record.observers.length; i++) {\n record.observers[i](currentValue, name, this);\n }\n};\n\n/**\n * Create a new child PreferenceManager for the given child list.\n *\n * The optional hint parameter is an opaque prefix added to the auto-generated\n * unique id for this child. Your child factory can parse out the prefix\n * and use it.\n *\n * @param {string} listName The child list to create the new instance from.\n * @param {string} opt_hint Optional hint to include in the child id.\n * @param {string} opt_id Optional id to override the generated id.\n */\nlib.PreferenceManager.prototype.createChild = function(listName, opt_hint,\n opt_id) {\n var ids = this.get(listName);\n var id;\n\n if (opt_id) {\n id = opt_id;\n if (ids.indexOf(id) != -1)\n throw new Error('Duplicate child: ' + listName + ': ' + id);\n\n } else {\n // Pick a random, unique 4-digit hex identifier for the new profile.\n while (!id || ids.indexOf(id) != -1) {\n id = lib.f.randomInt(1, 0xffff).toString(16);\n id = lib.f.zpad(id, 4);\n if (opt_hint)\n id = opt_hint + ':' + id;\n }\n }\n\n var childManager = this.childFactories_[listName](this, id);\n childManager.trace = this.trace;\n childManager.resetAll();\n\n this.childLists_[listName][id] = childManager;\n\n ids.push(id);\n this.set(listName, ids);\n\n return childManager;\n};\n\n/**\n * Remove a child preferences instance.\n *\n * Removes a child preference manager and clears any preferences stored in it.\n *\n * @param {string} listName The name of the child list containing the child to\n * remove.\n * @param {string} id The child ID.\n */\nlib.PreferenceManager.prototype.removeChild = function(listName, id) {\n var prefs = this.getChild(listName, id);\n prefs.resetAll();\n\n var ids = this.get(listName);\n var i = ids.indexOf(id);\n if (i != -1) {\n ids.splice(i, 1);\n this.set(listName, ids);\n }\n\n delete this.childLists_[listName][id];\n};\n\n/**\n * Return a child PreferenceManager instance for a given id.\n *\n * If the child list or child id is not known this will return the specified\n * default value or throw an exception if no default value is provided.\n *\n * @param {string} listName The child list to look in.\n * @param {string} id The child ID.\n * @param {*} opt_default The optional default value to return if the child\n * is not found.\n */\nlib.PreferenceManager.prototype.getChild = function(listName, id, opt_default) {\n if (!(listName in this.childLists_))\n throw new Error('Unknown child list: ' + listName);\n\n var childList = this.childLists_[listName];\n if (!(id in childList)) {\n if (typeof opt_default == 'undefined')\n throw new Error('Unknown \"' + listName + '\" child: ' + id);\n\n return opt_default;\n }\n\n return childList[id];\n};\n\n/**\n * Calculate the difference between two lists of child ids.\n *\n * Given two arrays of child ids, this function will return an object\n * with \"added\", \"removed\", and \"common\" properties. Each property is\n * a map of child-id to `true`. For example, given...\n *\n * a = ['child-x', 'child-y']\n * b = ['child-y']\n *\n * diffChildLists(a, b) =>\n * { added: { 'child-x': true }, removed: {}, common: { 'child-y': true } }\n *\n * The added/removed properties assume that `a` is the current list.\n *\n * @param {Array[string]} a The most recent list of child ids.\n * @param {Array[string]} b An older list of child ids.\n * @return {Object} An object with added/removed/common properties.\n */\nlib.PreferenceManager.diffChildLists = function(a, b) {\n var rv = {\n added: {},\n removed: {},\n common: {},\n };\n\n for (var i = 0; i < a.length; i++) {\n if (b.indexOf(a[i]) != -1) {\n rv.common[a[i]] = true;\n } else {\n rv.added[a[i]] = true;\n }\n }\n\n for (var i = 0; i < b.length; i++) {\n if ((b[i] in rv.added) || (b[i] in rv.common))\n continue;\n\n rv.removed[b[i]] = true;\n }\n\n return rv;\n};\n\n/**\n * Synchronize a list of child PreferenceManagers instances with the current\n * list stored in prefs.\n *\n * This will instantiate any missing managers and read current preference values\n * from storage. Any active managers that no longer appear in preferences will\n * be deleted.\n *\n * @param {string} listName The child list to synchronize.\n * @param {function()} opt_callback Optional function to invoke when the sync\n * is complete.\n */\nlib.PreferenceManager.prototype.syncChildList = function(\n listName, opt_callback) {\n\n var pendingChildren = 0;\n function onChildStorage() {\n if (--pendingChildren == 0 && opt_callback)\n opt_callback();\n }\n\n // The list of child ids that we *should* have a manager for.\n var currentIds = this.get(listName);\n\n // The known managers at the start of the sync. Any manager still in this\n // list at the end should be discarded.\n var oldIds = Object.keys(this.childLists_[listName]);\n\n var rv = lib.PreferenceManager.diffChildLists(currentIds, oldIds);\n\n for (var i = 0; i < currentIds.length; i++) {\n var id = currentIds[i];\n\n var managerIndex = oldIds.indexOf(id);\n if (managerIndex >= 0)\n oldIds.splice(managerIndex, 1);\n\n if (!this.childLists_[listName][id]) {\n var childManager = this.childFactories_[listName](this, id);\n if (!childManager) {\n console.warn('Unable to restore child: ' + listName + ': ' + id);\n continue;\n }\n\n childManager.trace = this.trace;\n this.childLists_[listName][id] = childManager;\n pendingChildren++;\n childManager.readStorage(onChildStorage);\n }\n }\n\n for (var i = 0; i < oldIds.length; i++) {\n delete this.childLists_[listName][oldIds[i]];\n }\n\n if (!pendingChildren && opt_callback)\n setTimeout(opt_callback);\n};\n\n/**\n * Reset a preference to its default state.\n *\n * This will dispatch the onChange handler if the preference value actually\n * changes.\n *\n * @param {string} name The preference to reset.\n */\nlib.PreferenceManager.prototype.reset = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n this.storage.removeItem(this.prefix + name);\n\n if (record.currentValue !== this.DEFAULT_VALUE) {\n record.currentValue = this.DEFAULT_VALUE;\n this.notifyChange_(name);\n }\n};\n\n/**\n * Reset all preferences back to their default state.\n */\nlib.PreferenceManager.prototype.resetAll = function() {\n var changed = [];\n\n for (var listName in this.childLists_) {\n var childList = this.childLists_[listName];\n for (var id in childList) {\n childList[id].resetAll();\n }\n }\n\n for (var name in this.prefRecords_) {\n if (this.prefRecords_[name].currentValue !== this.DEFAULT_VALUE) {\n this.prefRecords_[name].currentValue = this.DEFAULT_VALUE;\n changed.push(name);\n }\n }\n\n var keys = Object.keys(this.prefRecords_).map(function(el) {\n return this.prefix + el;\n }.bind(this));\n\n this.storage.removeItems(keys);\n\n changed.forEach(this.notifyChange_.bind(this));\n};\n\n/**\n * Return true if two values should be considered not-equal.\n *\n * If both values are the same scalar type and compare equal this function\n * returns false (no difference), otherwise return true.\n *\n * This is used in places where we want to check if a preference has changed.\n * Rather than take the time to compare complex values we just consider them\n * to always be different.\n *\n * @param {*} a A value to compare.\n * @param {*} b A value to compare.\n */\nlib.PreferenceManager.prototype.diff = function(a, b) {\n // If the types are different, or the type is not a simple primitive one.\n if ((typeof a) !== (typeof b) ||\n !(/^(undefined|boolean|number|string)$/.test(typeof a))) {\n return true;\n }\n\n return a !== b;\n};\n\n/**\n * Change the default value of a preference.\n *\n * This is useful when subclassing preference managers.\n *\n * The function does not alter the current value of the preference, unless\n * it has the old default value. When that happens, the change observers\n * will be notified.\n *\n * @param {string} name The name of the parameter to change.\n * @param {*} newValue The new default value for the preference.\n */\nlib.PreferenceManager.prototype.changeDefault = function(name, newValue) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n if (!this.diff(record.defaultValue, newValue)) {\n // Default value hasn't changed.\n return;\n }\n\n if (record.currentValue !== this.DEFAULT_VALUE) {\n // This pref has a specific value, just change the default and we're done.\n record.defaultValue = newValue;\n return;\n }\n\n record.defaultValue = newValue;\n\n this.notifyChange_(name);\n};\n\n/**\n * Change the default value of multiple preferences.\n *\n * @param {Object} map A map of name -> value pairs specifying the new default\n * values.\n */\nlib.PreferenceManager.prototype.changeDefaults = function(map) {\n for (var key in map) {\n this.changeDefault(key, map[key]);\n }\n};\n\n/**\n * Set a preference to a specific value.\n *\n * This will dispatch the onChange handler if the preference value actually\n * changes.\n *\n * @param {string} key The preference to set.\n * @param {*} value The value to set. Anything that can be represented in\n * JSON is a valid value.\n */\nlib.PreferenceManager.prototype.set = function(name, newValue) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n var oldValue = record.get();\n\n if (!this.diff(oldValue, newValue))\n return;\n\n if (this.diff(record.defaultValue, newValue)) {\n record.currentValue = newValue;\n this.storage.setItem(this.prefix + name, newValue);\n } else {\n record.currentValue = this.DEFAULT_VALUE;\n this.storage.removeItem(this.prefix + name);\n }\n\n // We need to manually send out the notification on this instance. If we\n // The storage event won't fire a notification because we've already changed\n // the currentValue, so it won't see a difference. If we delayed changing\n // currentValue until the storage event, a pref read immediately after a write\n // would return the previous value.\n //\n // The notification is in a timeout so clients don't accidentally depend on\n // a synchronous notification.\n setTimeout(this.notifyChange_.bind(this, name), 0);\n};\n\n/**\n * Get the value of a preference.\n *\n * @param {string} key The preference to get.\n */\nlib.PreferenceManager.prototype.get = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n return record.get();\n};\n\n/**\n * Return all non-default preferences as a JSON object.\n *\n * This includes any nested preference managers as well.\n */\nlib.PreferenceManager.prototype.exportAsJson = function() {\n var rv = {};\n\n for (var name in this.prefRecords_) {\n if (name in this.childLists_) {\n rv[name] = [];\n var childIds = this.get(name);\n for (var i = 0; i < childIds.length; i++) {\n var id = childIds[i];\n rv[name].push({id: id, json: this.getChild(name, id).exportAsJson()});\n }\n\n } else {\n var record = this.prefRecords_[name];\n if (record.currentValue != this.DEFAULT_VALUE)\n rv[name] = record.currentValue;\n }\n }\n\n return rv;\n};\n\n/**\n * Import a JSON blob of preferences previously generated with exportAsJson.\n *\n * This will create nested preference managers as well.\n */\nlib.PreferenceManager.prototype.importFromJson = function(json) {\n for (var name in json) {\n if (name in this.childLists_) {\n var childList = json[name];\n for (var i = 0; i < childList.length; i++) {\n var id = childList[i].id;\n\n var childPrefManager = this.childLists_[name][id];\n if (!childPrefManager)\n childPrefManager = this.createChild(name, null, id);\n\n childPrefManager.importFromJson(childList[i].json);\n }\n\n } else {\n this.set(name, json[name]);\n }\n }\n};\n\n/**\n * Called when one of the child list preferences changes.\n */\nlib.PreferenceManager.prototype.onChildListChange_ = function(listName) {\n this.syncChildList(listName);\n};\n\n/**\n * Called when a key in the storage changes.\n */\nlib.PreferenceManager.prototype.onStorageChange_ = function(map) {\n for (var key in map) {\n if (this.prefix) {\n if (key.lastIndexOf(this.prefix, 0) != 0)\n continue;\n }\n\n var name = key.substr(this.prefix.length);\n\n if (!(name in this.prefRecords_)) {\n // Sometimes we'll get notified about prefs that are no longer defined.\n continue;\n }\n\n var record = this.prefRecords_[name];\n\n var newValue = map[key].newValue;\n var currentValue = record.currentValue;\n if (currentValue === record.DEFAULT_VALUE)\n currentValue = (void 0);\n\n if (this.diff(currentValue, newValue)) {\n if (typeof newValue == 'undefined' || newValue === null) {\n record.currentValue = record.DEFAULT_VALUE;\n } else {\n record.currentValue = newValue;\n }\n\n this.notifyChange_(name);\n }\n }\n};\n// SOURCE FILE: libdot/js/lib_resource.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Storage for canned resources.\n *\n * These are usually non-JavaScript things that are collected during a build\n * step and converted into a series of 'lib.resource.add(...)' calls. See\n * the \"@resource\" directive from libdot/bin/concat.sh for the canonical use\n * case.\n *\n * This is global storage, so you should prefix your resource names to avoid\n * collisions.\n */\nlib.resource = {\n resources_: {}\n};\n\n/**\n * Add a resource.\n *\n * @param {string} name A name for the resource. You should prefix this to\n * avoid collisions with resources from a shared library.\n * @param {string} type A mime type for the resource, or \"raw\" if not\n * applicable.\n * @param {*} data The value of the resource.\n */\nlib.resource.add = function(name, type, data) {\n lib.resource.resources_[name] = {\n type: type,\n name: name,\n data: data\n };\n};\n\n/**\n * Retrieve a resource record.\n *\n * The resource data is stored on the \"data\" property of the returned object.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {object} An object with \"type\", \"name\", and \"data\" properties.\n */\nlib.resource.get = function(name, opt_defaultValue) {\n if (!(name in lib.resource.resources_)) {\n if (typeof opt_defaultValue == 'undefined')\n throw 'Unknown resource: ' + name;\n\n return opt_defaultValue;\n }\n\n return lib.resource.resources_[name];\n};\n\n/**\n * Retrieve resource data.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {*} The resource data.\n */\nlib.resource.getData = function(name, opt_defaultValue) {\n if (!(name in lib.resource.resources_)) {\n if (typeof opt_defaultValue == 'undefined')\n throw 'Unknown resource: ' + name;\n\n return opt_defaultValue;\n }\n\n return lib.resource.resources_[name].data;\n};\n\n/**\n * Retrieve resource as a data: url.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {*} A data: url encoded version of the resource.\n */\nlib.resource.getDataUrl = function(name, opt_defaultValue) {\n var resource = lib.resource.get(name, opt_defaultValue);\n return 'data:' + resource.type + ',' + resource.data;\n};\n// SOURCE FILE: libdot/js/lib_storage.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Namespace for implementations of persistent, possibly cloud-backed\n * storage.\n */\nlib.Storage = new Object();\n// SOURCE FILE: libdot/js/lib_storage_chrome.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * chrome.storage based class with an async interface that is interchangeable\n * with other lib.Storage.* implementations.\n */\nlib.Storage.Chrome = function(storage) {\n this.storage_ = storage;\n this.observers_ = [];\n\n chrome.storage.onChanged.addListener(this.onChanged_.bind(this));\n};\n\n/**\n * Called by the storage implementation when the storage is modified.\n */\nlib.Storage.Chrome.prototype.onChanged_ = function(changes, areaname) {\n if (chrome.storage[areaname] != this.storage_)\n return;\n\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](changes);\n }\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Chrome.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Chrome.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Chrome.prototype.clear = function(opt_callback) {\n this.storage_.clear();\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Chrome.prototype.getItem = function(key, callback) {\n this.storage_.get(key, callback);\n};\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\n\nlib.Storage.Chrome.prototype.getItems = function(keys, callback) {\n this.storage_.get(keys, callback);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.setItem = function(key, value, opt_callback) {\n var obj = {};\n obj[key] = value;\n this.storage_.set(obj, opt_callback);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.setItems = function(obj, opt_callback) {\n this.storage_.set(obj, opt_callback);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.removeItem = function(key, opt_callback) {\n this.storage_.remove(key, opt_callback);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.removeItems = function(keys, opt_callback) {\n this.storage_.remove(keys, opt_callback);\n};\n// SOURCE FILE: libdot/js/lib_storage_local.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * window.localStorage based class with an async interface that is\n * interchangeable with other lib.Storage.* implementations.\n */\nlib.Storage.Local = function() {\n this.observers_ = [];\n this.storage_ = window.localStorage;\n window.addEventListener('storage', this.onStorage_.bind(this));\n};\n\n/**\n * Called by the storage implementation when the storage is modified.\n */\nlib.Storage.Local.prototype.onStorage_ = function(e) {\n if (e.storageArea != this.storage_)\n return;\n\n // JS throws an exception if JSON.parse is given an empty string. So here we\n // only parse if the value is truthy. This mean the empty string, undefined\n // and null will not be parsed.\n var prevValue = e.oldValue ? JSON.parse(e.oldValue) : e.oldValue;\n var curValue = e.newValue ? JSON.parse(e.newValue) : e.newValue;\n var o = {};\n o[e.key] = {\n oldValue: prevValue,\n newValue: curValue\n };\n\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](o);\n }\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Local.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Local.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Local.prototype.clear = function(opt_callback) {\n this.storage_.clear();\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Local.prototype.getItem = function(key, callback) {\n var value = this.storage_.getItem(key);\n\n if (typeof value == 'string') {\n try {\n value = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n }\n }\n\n setTimeout(callback.bind(null, value), 0);\n};\n\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\nlib.Storage.Local.prototype.getItems = function(keys, callback) {\n var rv = {};\n\n for (var i = keys.length - 1; i >= 0; i--) {\n var key = keys[i];\n var value = this.storage_.getItem(key);\n if (typeof value == 'string') {\n try {\n rv[key] = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n rv[key] = value;\n }\n } else {\n keys.splice(i, 1);\n }\n }\n\n setTimeout(callback.bind(null, rv), 0);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.setItem = function(key, value, opt_callback) {\n this.storage_.setItem(key, JSON.stringify(value));\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.setItems = function(obj, opt_callback) {\n for (var key in obj) {\n this.storage_.setItem(key, JSON.stringify(obj[key]));\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.removeItem = function(key, opt_callback) {\n this.storage_.removeItem(key);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.removeItems = function(ary, opt_callback) {\n for (var i = 0; i < ary.length; i++) {\n this.storage_.removeItem(ary[i]);\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n// SOURCE FILE: libdot/js/lib_storage_memory.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * In-memory storage class with an async interface that is interchangeable with\n * other lib.Storage.* implementations.\n */\nlib.Storage.Memory = function() {\n this.observers_ = [];\n this.storage_ = {};\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Memory.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Memory.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Memory.prototype.clear = function(opt_callback) {\n var e = {};\n for (var key in this.storage_) {\n e[key] = {oldValue: this.storage_[key], newValue: (void 0)};\n }\n\n this.storage_ = {};\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this), 0);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Memory.prototype.getItem = function(key, callback) {\n var value = this.storage_[key];\n\n if (typeof value == 'string') {\n try {\n value = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n }\n }\n\n setTimeout(callback.bind(null, value), 0);\n};\n\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\nlib.Storage.Memory.prototype.getItems = function(keys, callback) {\n var rv = {};\n\n for (var i = keys.length - 1; i >= 0; i--) {\n var key = keys[i];\n var value = this.storage_[key];\n if (typeof value == 'string') {\n try {\n rv[key] = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n rv[key] = value;\n }\n } else {\n keys.splice(i, 1);\n }\n }\n\n setTimeout(callback.bind(null, rv), 0);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.setItem = function(key, value, opt_callback) {\n var oldValue = this.storage_[key];\n this.storage_[key] = JSON.stringify(value);\n\n var e = {};\n e[key] = {oldValue: oldValue, newValue: value};\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this), 0);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.setItems = function(obj, opt_callback) {\n var e = {};\n\n for (var key in obj) {\n e[key] = {oldValue: this.storage_[key], newValue: obj[key]};\n this.storage_[key] = JSON.stringify(obj[key]);\n }\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this));\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.removeItem = function(key, opt_callback) {\n delete this.storage_[key];\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.removeItems = function(ary, opt_callback) {\n for (var i = 0; i < ary.length; i++) {\n delete this.storage_[ary[i]];\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n// SOURCE FILE: libdot/js/lib_test_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview JavaScript unit testing framework for synchronous and\n * asynchronous tests.\n *\n * This file contains the lib.TestManager and related classes. At the moment\n * it's all collected in a single file since it's reasonably small\n * (=~1k lines), and it's a lot easier to include one file into your test\n * harness than it is to include seven.\n *\n * The following classes are defined...\n *\n * lib.TestManager - The root class and entrypoint for creating test runs.\n * lib.TestManager.Log - Logging service.\n * lib.TestManager.Suite - A collection of tests.\n * lib.TestManager.Test - A single test.\n * lib.TestManager.TestRun - Manages the execution of a set of tests.\n * lib.TestManager.Result - A single test result.\n */\n\n/**\n * Root object in the unit test hierarchy, and keeper of the log object.\n *\n * @param {lib.TestManager.Log} opt_log Optional lib.TestManager.Log object.\n * Logs to the JavaScript console if omitted.\n */\nlib.TestManager = function(opt_log) {\n this.log = opt_log || new lib.TestManager.Log();\n}\n\n/**\n * Create a new test run object for this test manager.\n *\n * @param {Object} opt_cx An object to be passed to test suite setup(),\n * preamble(), and test cases during this test run. This object is opaque\n * to lib.TestManager.* code. It's entirely up to the test suite what it's\n * used for.\n */\nlib.TestManager.prototype.createTestRun = function(opt_cx) {\n return new lib.TestManager.TestRun(this, opt_cx);\n};\n\n/**\n * Called when a test run associated with this test manager completes.\n *\n * Clients may override this to call an appropriate function.\n */\nlib.TestManager.prototype.onTestRunComplete = function(testRun) {};\n\n/**\n * Called before a test associated with this test manager is run.\n *\n * @param {lib.TestManager.Result} result The result object for the upcoming\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.prototype.testPreamble = function(result, cx) {};\n\n/**\n * Called after a test associated with this test manager finishes.\n *\n * @param {lib.TestManager.Result} result The result object for the finished\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.prototype.testPostamble = function(result, cx) {};\n\n/**\n * Destination for test case output.\n *\n * Thw API will be the same as the console object. e.g. We support info(),\n * warn(), error(), etc... just like console.info(), etc...\n *\n * @param {Object} opt_console The console object to route all logging through.\n * Should provide saome API as the standard console API.\n */\nlib.TestManager.Log = function(opt_console=console) {\n this.save = false;\n this.data = '';\n this.prefix_ = '';\n this.prefixStack_ = 0;\n\n // Capture all the console entry points in case code at runtime calls these\n // directly. We want to be able to still see things.\n // We also expose the direct API to our callers (e.g. we provide warn()).\n this.console_ = opt_console;\n ['log', 'debug', 'info', 'warn', 'error'].forEach((level) => {\n let msgPrefix = '';\n switch (level) {\n case 'debug':\n case 'warn':\n case 'error':\n msgPrefix = level.toUpperCase() + ': ';\n break;\n }\n\n const oLog = this.console_[level];\n this[level] = this.console_[level] = (...args) => {\n if (this.save)\n this.data += this.prefix_ + msgPrefix + args.join(' ') + '\\n';\n oLog.apply(this.console_, args);\n };\n });\n\n // Wrap/bind the group functions.\n ['group', 'groupCollapsed'].forEach((group) => {\n const oGroup = this.console_[group];\n this[group] = this.console_[group] = (label='') => {\n oGroup(label);\n if (this.save)\n this.data += this.prefix_ + label + '\\n';\n this.prefix_ = ' '.repeat(++this.prefixStack_);\n };\n });\n\n const oGroupEnd = this.console_.groupEnd;\n this.groupEnd = this.console_.groupEnd = () => {\n oGroupEnd();\n this.prefix_ = ' '.repeat(--this.prefixStack_);\n };\n};\n\n/**\n * Returns a new constructor function that will inherit from\n * lib.TestManager.Suite.\n *\n * Use this function to create a new test suite subclass. It will return a\n * properly initialized constructor function for the subclass. You can then\n * override the setup() and preamble() methods if necessary and add test cases\n * to the subclass.\n *\n * var MyTests = new lib.TestManager.Suite('MyTests');\n *\n * MyTests.prototype.setup = function(cx) {\n * // Sets this.size to cx.size if it exists, or the default value of 10\n * // if not.\n * this.setDefault(cx, {size: 10});\n * };\n *\n * MyTests.prototype.preamble = function(result, cx) {\n * // Some tests (even successful ones) may side-effect this list, so\n * // recreate it before every test.\n * this.list = [];\n * for (var i = 0; i < this.size; i++) {\n * this.list[i] = i;\n * }\n * };\n *\n * // Basic synchronous test case.\n * MyTests.addTest('pop-length', function(result, cx) {\n * this.list.pop();\n *\n * // If this assertion fails, the testcase will stop here.\n * result.assertEQ(this.list.length, this.size - 1);\n *\n * // A test must indicate it has passed by calling this method.\n * result.pass();\n * });\n *\n * // Sample asynchronous test case.\n * MyTests.addTest('async-pop-length', function(result, cx) {\n * var self = this;\n *\n * var callback = function() {\n * result.assertEQ(self.list.length, self.size - 1);\n * result.pass();\n * };\n *\n * // Wait 100ms to check the array length for the sake of this example.\n * setTimeout(callback, 100);\n *\n * this.list.pop();\n *\n * // Indicate that this test needs another 200ms to complete.\n * // If the test does not report pass/fail by then, it is considered to\n * // have timed out.\n * result.requestTime(200);\n * });\n *\n * ...\n *\n * @param {string} suiteName The name of the test suite.\n */\nlib.TestManager.Suite = function(suiteName) {\n function ctor(testManager, cx) {\n this.testManager_ = testManager;\n this.suiteName = suiteName;\n\n this.setup(cx);\n }\n\n ctor.suiteName = suiteName;\n ctor.addTest = lib.TestManager.Suite.addTest;\n ctor.disableTest = lib.TestManager.Suite.disableTest;\n ctor.getTest = lib.TestManager.Suite.getTest;\n ctor.getTestList = lib.TestManager.Suite.getTestList;\n ctor.testList_ = [];\n ctor.testMap_ = {};\n ctor.prototype = Object.create(lib.TestManager.Suite.prototype);\n ctor.constructor = lib.TestManager.Suite;\n\n lib.TestManager.Suite.subclasses.push(ctor);\n\n return ctor;\n};\n\n/**\n * List of lib.TestManager.Suite subclasses, in the order they were defined.\n */\nlib.TestManager.Suite.subclasses = [];\n\n/**\n * Add a test to a lib.TestManager.Suite.\n *\n * This method is copied to new subclasses when they are created.\n */\nlib.TestManager.Suite.addTest = function(testName, testFunction) {\n if (testName in this.testMap_)\n throw 'Duplicate test name: ' + testName;\n\n var test = new lib.TestManager.Test(this, testName, testFunction);\n this.testMap_[testName] = test;\n this.testList_.push(test);\n};\n\n/**\n * Defines a disabled test.\n */\nlib.TestManager.Suite.disableTest = function(testName, testFunction) {\n if (testName in this.testMap_)\n throw 'Duplicate test name: ' + testName;\n\n var test = new lib.TestManager.Test(this, testName, testFunction);\n console.log('Disabled test: ' + test.fullName);\n};\n\n/**\n * Get a lib.TestManager.Test instance by name.\n *\n * This method is copied to new subclasses when they are created.\n *\n * @param {string} testName The name of the desired test.\n * @return {lib.TestManager.Test} The requested test, or undefined if it was not\n * found.\n */\nlib.TestManager.Suite.getTest = function(testName) {\n return this.testMap_[testName];\n};\n\n/**\n * Get an array of lib.TestManager.Tests associated with this Suite.\n *\n * This method is copied to new subclasses when they are created.\n */\nlib.TestManager.Suite.getTestList = function() {\n return this.testList_;\n};\n\n/**\n * Set properties on a test suite instance, pulling the property value from\n * the context if it exists and from the defaults dictionary if not.\n *\n * This is intended to be used in your test suite's setup() method to\n * define parameters for the test suite which may be overridden through the\n * context object. For example...\n *\n * MySuite.prototype.setup = function(cx) {\n * this.setDefaults(cx, {size: 10});\n * };\n *\n * If the context object has a 'size' property then this.size will be set to\n * the value of cx.size, otherwise this.size will get a default value of 10.\n *\n * @param {Object} cx The context object for a test run.\n * @param {Object} defaults An object containing name/value pairs to set on\n * this test suite instance. The value listed here will be used if the\n * name is not defined on the context object.\n */\nlib.TestManager.Suite.prototype.setDefaults = function(cx, defaults) {\n for (var k in defaults) {\n this[k] = (k in cx) ? cx[k] : defaults[k];\n }\n};\n\n/**\n * Subclassable method called to set up the test suite.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of suite-wide setup, this is the place to do it.\n *\n * It's fine to store state on the test suite instance, that state will be\n * accessible to all tests in the suite. If any test case fails, the entire\n * test suite object will be discarded and a new one will be created for\n * the remaining tests.\n *\n * Any side effects outside of this test suite instance must be idempotent.\n * For example, if you're adding DOM nodes to a document, make sure to first\n * test that they're not already there. If they are, remove them rather than\n * reuse them. You should not count on their state, since they were probably\n * left behind by a failed testcase.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.setup = function(cx) {};\n\n/**\n * Subclassable method called to do pre-test set up.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of pre-test setup, this is the place to do it.\n *\n * This can be used to avoid a bunch of boilerplate setup/teardown code in\n * this suite's testcases.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {lib.TestManager.Result} result The result object for the upcoming\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.preamble = function(result, cx) {};\n\n/**\n * Subclassable method called to do post-test tear-down.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of pre-test setup, this is the place to do it.\n *\n * This can be used to avoid a bunch of boilerplate setup/teardown code in\n * this suite's testcases.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {lib.TestManager.Result} result The result object for the finished\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.postamble = function(result, cx) {};\n\n/**\n * Object representing a single test in a test suite.\n *\n * These are created as part of the lib.TestManager.Suite.addTest() method.\n * You should never have to construct one by hand.\n *\n * @param {lib.TestManager.Suite} suiteClass The test suite class containing\n * this test.\n * @param {string} testName The local name of this test case, not including the\n * test suite name.\n * @param {function(lib.TestManager.Result, Object)} testFunction The function\n * to invoke for this test case. This is passed a Result instance and the\n * context object associated with the test run.\n *\n */\nlib.TestManager.Test = function(suiteClass, testName, testFunction) {\n /**\n * The test suite class containing this function.\n */\n this.suiteClass = suiteClass;\n\n /**\n * The local name of this test, not including the test suite name.\n */\n this.testName = testName;\n\n /**\n * The global name of this test, including the test suite name.\n */\n this.fullName = suiteClass.suiteName + '[' + testName + ']';\n\n // The function to call for this test.\n this.testFunction_ = testFunction;\n};\n\n/**\n * Execute this test.\n *\n * This is called by a lib.TestManager.Result instance, as part of a\n * lib.TestManager.TestRun. You should not call it by hand.\n *\n * @param {lib.TestManager.Result} result The result object for the test.\n */\nlib.TestManager.Test.prototype.run = function(result) {\n try {\n // Tests are applied to the parent lib.TestManager.Suite subclass.\n this.testFunction_.apply(result.suite,\n [result, result.testRun.cx]);\n } catch (ex) {\n if (ex instanceof lib.TestManager.Result.TestComplete)\n return;\n\n result.println('Test raised an exception: ' + ex);\n\n if (ex.stack) {\n if (ex.stack instanceof Array) {\n result.println(ex.stack.join('\\n'));\n } else {\n result.println(ex.stack);\n }\n }\n\n result.completeTest_(result.FAILED, false);\n }\n};\n\n/**\n * Used to choose a set of tests and run them.\n *\n * It's slightly more convenient to construct one of these from\n * lib.TestManager.prototype.createTestRun().\n *\n * @param {lib.TestManager} testManager The testManager associated with this\n * TestRun.\n * @param {Object} cx A context to be passed into the tests. This can be used\n * to set parameters for the test suite or individual test cases.\n */\nlib.TestManager.TestRun = function(testManager, cx) {\n /**\n * The associated lib.TestManager instance.\n */\n this.testManager = testManager;\n\n /**\n * Shortcut to the lib.TestManager's log.\n */\n this.log = testManager.log;\n\n /**\n * The test run context. It's entirely up to the test suite and test cases\n * how this is used. It is opaque to lib.TestManager.* classes.\n */\n this.cx = cx || {};\n\n /**\n * The list of test cases that encountered failures.\n */\n this.failures = [];\n\n /**\n * The list of test cases that passed.\n */\n this.passes = [];\n\n /**\n * The time the test run started, or null if it hasn't been started yet.\n */\n this.startDate = null;\n\n /**\n * The time in milliseconds that the test run took to complete, or null if\n * it hasn't completed yet.\n */\n this.duration = null;\n\n /**\n * The most recent result object, or null if the test run hasn't started\n * yet. In order to detect late failures, this is not cleared when the test\n * completes.\n */\n this.currentResult = null;\n\n /**\n * Number of maximum failures. The test run will stop when this number is\n * reached. If 0 or omitted, the entire set of selected tests is run, even\n * if some fail.\n */\n this.maxFailures = 0;\n\n /**\n * True if this test run ended early because of an unexpected condition.\n */\n this.panic = false;\n\n // List of pending test cases.\n this.testQueue_ = [];\n\n};\n\n/**\n * This value can be passed to select() to indicate that all tests should\n * be selected.\n */\nlib.TestManager.TestRun.prototype.ALL_TESTS = lib.f.createEnum('');\n\n/**\n * Add a single test to the test run.\n */\nlib.TestManager.TestRun.prototype.selectTest = function(test) {\n this.testQueue_.push(test);\n};\n\nlib.TestManager.TestRun.prototype.selectSuite = function(\n suiteClass, opt_pattern) {\n var pattern = opt_pattern || this.ALL_TESTS;\n var selectCount = 0;\n var testList = suiteClass.getTestList();\n\n for (var j = 0; j < testList.length; j++) {\n var test = testList[j];\n // Note that we're using \"!==\" rather than \"!=\" so that we're matching\n // the ALL_TESTS String object, rather than the contents of the string.\n if (pattern !== this.ALL_TESTS) {\n if (pattern instanceof RegExp) {\n if (!pattern.test(test.testName))\n continue;\n } else if (test.testName != pattern) {\n continue;\n }\n }\n\n this.selectTest(test);\n selectCount++;\n }\n\n return selectCount;\n};\n\n/**\n * Selects one or more tests to gather results for.\n *\n * Selecting the same test more than once is allowed.\n *\n * @param {string|RegExp} pattern Pattern used to select tests.\n * If TestRun.prototype.ALL_TESTS, all tests are selected.\n * If a string, only the test that exactly matches is selected.\n * If a RegExp, only tests matching the RegExp are added.\n *\n * @return {int} The number of additional tests that have been selected into\n * this TestRun.\n */\nlib.TestManager.TestRun.prototype.selectPattern = function(pattern) {\n var selectCount = 0;\n\n for (var i = 0; i < lib.TestManager.Suite.subclasses.length; i++) {\n selectCount += this.selectSuite(lib.TestManager.Suite.subclasses[i],\n pattern);\n }\n\n if (!selectCount) {\n this.log.warn('No tests matched selection criteria: ' + pattern);\n }\n\n return selectCount;\n};\n\n/**\n * Hooked up to window.onerror during a test run in order to catch exceptions\n * that would otherwise go uncaught.\n */\nlib.TestManager.TestRun.prototype.onUncaughtException_ = function(\n message, file, line) {\n\n if (message.indexOf('Uncaught lib.TestManager.Result.TestComplete') == 0 ||\n message.indexOf('status: passed') != -1) {\n // This is a result.pass() or result.fail() call from a callback. We're\n // already going to deal with it as part of the completeTest_() call\n // that raised it. We can safely squelch this error message.\n return true;\n }\n\n if (!this.currentResult)\n return;\n\n if (message == 'Uncaught ' + this.currentResult.expectedErrorMessage_) {\n // Test cases may need to raise an unhandled exception as part of the test.\n return;\n }\n\n var when = 'during';\n\n if (this.currentResult.status != this.currentResult.PENDING)\n when = 'after';\n\n this.log.error('Uncaught exception ' + when + ' test case: ' +\n this.currentResult.test.fullName);\n this.log.error(message + ', ' + file + ':' + line);\n\n this.currentResult.completeTest_(this.currentResult.FAILED, false);\n\n return false;\n};\n\n/**\n * Called to when this test run has completed.\n *\n * This method typically re-runs itself asynchronously, in order to let the\n * DOM stabilize and short-term timeouts to complete before declaring the\n * test run complete.\n *\n * @param {boolean} opt_skipTimeout If true, the timeout is skipped and the\n * test run is completed immediately. This should only be used from within\n * this function.\n */\nlib.TestManager.TestRun.prototype.onTestRunComplete_ = function(\n opt_skipTimeout) {\n if (!opt_skipTimeout) {\n // The final test may have left a lingering setTimeout(..., 0), or maybe\n // poked at the DOM in a way that will trigger a event to fire at the end\n // of this stack, so we give things a chance to settle down before our\n // final cleanup...\n setTimeout(this.onTestRunComplete_.bind(this), 0, true);\n return;\n }\n\n this.duration = (new Date()) - this.startDate;\n\n this.log.groupEnd();\n this.log.info(this.passes.length + ' passed, ' +\n this.failures.length + ' failed, ' +\n this.msToSeconds_(this.duration));\n\n this.summarize();\n\n window.onerror = null;\n\n this.testManager.onTestRunComplete(this);\n};\n\n/**\n * Called by the lib.TestManager.Result object when a test completes.\n *\n * @param {lib.TestManager.Result} result The result object which has just\n * completed.\n */\nlib.TestManager.TestRun.prototype.onResultComplete = function(result) {\n try {\n this.testManager.testPostamble(result, this.cx);\n result.suite.postamble(result, this.ctx);\n } catch (ex) {\n this.log.error('Unexpected exception in postamble: ' +\n (ex.stack ? ex.stack : ex));\n this.panic = true;\n }\n\n if (result.status != result.PASSED)\n this.log.error(result.status);\n else if (result.duration > 500)\n this.log.warn('Slow test took ' + this.msToSeconds_(result.duration));\n this.log.groupEnd();\n\n if (result.status == result.FAILED) {\n this.failures.push(result);\n this.currentSuite = null;\n } else if (result.status == result.PASSED) {\n this.passes.push(result);\n } else {\n this.log.error('Unknown result status: ' + result.test.fullName + ': ' +\n result.status);\n return this.panic = true;\n }\n\n this.runNextTest_();\n};\n\n/**\n * Called by the lib.TestManager.Result object when a test which has already\n * completed reports another completion.\n *\n * This is usually indicative of a buggy testcase. It is probably reporting a\n * result on exit and then again from an asynchronous callback.\n *\n * It may also be the case that the last act of the testcase causes a DOM change\n * which triggers some event to run after the test returns. If the event\n * handler reports a failure or raises an uncaught exception, the test will\n * fail even though it has already completed.\n *\n * In any case, re-completing a test ALWAYS moves it into the failure pile.\n *\n * @param {lib.TestManager.Result} result The result object which has just\n * completed.\n * @param {string} lateStatus The status that the test attempted to record this\n * time around.\n */\nlib.TestManager.TestRun.prototype.onResultReComplete = function(\n result, lateStatus) {\n this.log.error('Late complete for test: ' + result.test.fullName + ': ' +\n lateStatus);\n\n // Consider any late completion a failure, even if it's a double-pass, since\n // it's a misuse of the testing API.\n var index = this.passes.indexOf(result);\n if (index >= 0) {\n this.passes.splice(index, 1);\n this.failures.push(result);\n }\n};\n\n/**\n * Run the next test in the queue.\n */\nlib.TestManager.TestRun.prototype.runNextTest_ = function() {\n if (this.panic || !this.testQueue_.length)\n return this.onTestRunComplete_();\n\n if (this.maxFailures && this.failures.length >= this.maxFailures) {\n this.log.error('Maximum failure count reached, aborting test run.');\n return this.onTestRunComplete_();\n }\n\n // Peek at the top test first. We remove it later just before it's about\n // to run, so that we don't disturb the incomplete test count in the\n // event that we fail before running it.\n var test = this.testQueue_[0];\n var suite = this.currentResult ? this.currentResult.suite : null;\n\n try {\n if (!suite || !(suite instanceof test.suiteClass)) {\n if (suite)\n this.log.groupEnd();\n this.log.group(test.suiteClass.suiteName);\n suite = new test.suiteClass(this.testManager, this.cx);\n }\n } catch (ex) {\n // If test suite setup fails we're not even going to try to run the tests.\n this.log.error('Exception during setup: ' + (ex.stack ? ex.stack : ex));\n this.panic = true;\n this.onTestRunComplete_();\n return;\n }\n\n try {\n this.log.group(test.testName);\n\n this.currentResult = new lib.TestManager.Result(this, suite, test);\n this.testManager.testPreamble(this.currentResult, this.cx);\n suite.preamble(this.currentResult, this.cx);\n\n this.testQueue_.shift();\n } catch (ex) {\n this.log.error('Unexpected exception during test preamble: ' +\n (ex.stack ? ex.stack : ex));\n this.log.groupEnd();\n\n this.panic = true;\n this.onTestRunComplete_();\n return;\n }\n\n try {\n this.currentResult.run();\n } catch (ex) {\n // Result.run() should catch test exceptions and turn them into failures.\n // If we got here, it means there is trouble in the testing framework.\n this.log.error('Unexpected exception during test run: ' +\n (ex.stack ? ex.stack : ex));\n this.panic = true;\n }\n};\n\n/**\n * Run the selected list of tests.\n *\n * Some tests may need to run asynchronously, so you cannot assume the run is\n * complete when this function returns. Instead, pass in a function to be\n * called back when the run has completed.\n *\n * This function will log the results of the test run as they happen into the\n * log defined by the associated lib.TestManager. By default this is\n * console.log, which can be viewed in the JavaScript console of most browsers.\n *\n * The browser state is determined by the last test to run. We intentionally\n * don't do any cleanup so that you can inspect the state of a failed test, or\n * leave the browser ready for manual testing.\n *\n * Any failures in lib.TestManager.* code or test suite setup or test case\n * preamble will cause the test run to abort.\n */\nlib.TestManager.TestRun.prototype.run = function() {\n this.log.info('Running ' + this.testQueue_.length + ' test(s)');\n\n window.onerror = this.onUncaughtException_.bind(this);\n this.startDate = new Date();\n this.runNextTest_();\n};\n\n/**\n * Format milliseconds as fractional seconds.\n */\nlib.TestManager.TestRun.prototype.msToSeconds_ = function(ms) {\n var secs = (ms / 1000).toFixed(2);\n return secs + 's';\n};\n\n/**\n * Log the current result summary.\n */\nlib.TestManager.TestRun.prototype.summarize = function() {\n if (this.failures.length) {\n for (var i = 0; i < this.failures.length; i++) {\n this.log.error('FAILED: ' + this.failures[i].test.fullName);\n }\n }\n\n if (this.testQueue_.length) {\n this.log.warn('Test run incomplete: ' + this.testQueue_.length +\n ' test(s) were not run.');\n }\n};\n\n/**\n * Record of the result of a single test.\n *\n * These are constructed during a test run, you shouldn't have to make one\n * on your own.\n *\n * An instance of this class is passed in to each test function. It can be\n * used to add messages to the test log, to record a test pass/fail state, to\n * test assertions, or to create exception-proof wrappers for callback\n * functions.\n *\n * @param {lib.TestManager.TestRun} testRun The TestRun instance associated with\n * this result.\n * @param {lib.TestManager.Suit} suite The Suite containing the test we're\n * collecting this result for.\n * @param {lib.TestManager.Test} test The test we're collecting this result for.\n */\nlib.TestManager.Result = function(testRun, suite, test) {\n /**\n * The TestRun instance associated with this result.\n */\n this.testRun = testRun;\n\n /**\n * The Suite containing the test we're collecting this result for.\n */\n this.suite = suite;\n\n /**\n * The test we're collecting this result for.\n */\n this.test = test;\n\n /**\n * The time we started to collect this result, or null if we haven't started.\n */\n this.startDate = null;\n\n /**\n * The time in milliseconds that the test took to complete, or null if\n * it hasn't completed yet.\n */\n this.duration = null;\n\n /**\n * The current status of this test result.\n */\n this.status = this.PENDING;\n\n // An error message that the test case is expected to generate.\n this.expectedErrorMessage_ = null;\n};\n\n/**\n * Possible values for this.status.\n */\nlib.TestManager.Result.prototype.PENDING = 'pending';\nlib.TestManager.Result.prototype.FAILED = 'FAILED';\nlib.TestManager.Result.prototype.PASSED = 'passed';\n\n/**\n * Exception thrown when a test completes (pass or fail), to ensure no more of\n * the test is run.\n */\nlib.TestManager.Result.TestComplete = function(result) {\n this.result = result;\n};\n\nlib.TestManager.Result.TestComplete.prototype.toString = function() {\n return 'lib.TestManager.Result.TestComplete: ' + this.result.test.fullName +\n ', status: ' + this.result.status;\n}\n\n/**\n * Start the test associated with this result.\n */\nlib.TestManager.Result.prototype.run = function() {\n var self = this;\n\n this.startDate = new Date();\n this.test.run(this);\n\n if (this.status == this.PENDING && !this.timeout_) {\n this.println('Test did not return a value and did not request more time.');\n this.completeTest_(this.FAILED, false);\n }\n};\n\n/**\n * Unhandled error message this test expects to generate.\n *\n * This must be the exact string that would appear in the JavaScript console,\n * minus the 'Uncaught ' prefix.\n *\n * The test case does *not* automatically fail if the error message is not\n * encountered.\n */\nlib.TestManager.Result.prototype.expectErrorMessage = function(str) {\n this.expectedErrorMessage_ = str;\n};\n\n/**\n * Function called when a test times out.\n */\nlib.TestManager.Result.prototype.onTimeout_ = function() {\n this.timeout_ = null;\n\n if (this.status != this.PENDING)\n return;\n\n this.println('Test timed out.');\n this.completeTest_(this.FAILED, false);\n};\n\n/**\n * Indicate that a test case needs more time to complete.\n *\n * Before a test case returns it must report a pass/fail result, or request more\n * time to do so.\n *\n * If a test does not report pass/fail before the time expires it will\n * be reported as a timeout failure. Any late pass/fails will be noted in the\n * test log, but will not affect the final result of the test.\n *\n * Test cases may call requestTime more than once. If you have a few layers\n * of asynchronous API to go through, you should call this once per layer with\n * an estimate of how long each callback will take to complete.\n *\n * @param {int} ms Number of milliseconds requested.\n */\nlib.TestManager.Result.prototype.requestTime = function(ms) {\n if (this.timeout_)\n clearTimeout(this.timeout_);\n\n this.timeout_ = setTimeout(this.onTimeout_.bind(this), ms);\n};\n\n/**\n * Report the completion of a test.\n *\n * @param {string} status The status of the test case.\n * @param {boolean} opt_throw Optional boolean indicating whether or not\n * to throw the TestComplete exception.\n */\nlib.TestManager.Result.prototype.completeTest_ = function(status, opt_throw) {\n if (this.status == this.PENDING) {\n this.duration = (new Date()) - this.startDate;\n this.status = status;\n\n this.testRun.onResultComplete(this);\n } else {\n this.testRun.onResultReComplete(this, status);\n }\n\n if (arguments.length < 2 || opt_throw)\n throw new lib.TestManager.Result.TestComplete(this);\n};\n\n/**\n * Check that two arrays are equal.\n */\nlib.TestManager.Result.prototype.arrayEQ_ = function(actual, expected) {\n if (!actual || !expected)\n return (!actual && !expected);\n\n if (actual.length != expected.length)\n return false;\n\n for (var i = 0; i < actual.length; ++i)\n if (actual[i] != expected[i])\n return false;\n\n return true;\n};\n\n/**\n * Assert that an actual value is exactly equal to the expected value.\n *\n * This uses the JavaScript '===' operator in order to avoid type coercion.\n *\n * If the assertion fails, the test is marked as a failure and a TestCompleted\n * exception is thrown.\n *\n * @param {*} actual The actual measured value.\n * @param {*} expected The value expected.\n * @param {string} opt_name An optional name used to identify this\n * assertion in the test log. If omitted it will be the file:line\n * of the caller.\n */\nlib.TestManager.Result.prototype.assertEQ = function(\n actual, expected, opt_name) {\n // Utility function to pretty up the log.\n function format(value) {\n if (typeof value == 'number')\n return value;\n\n var str = String(value);\n var ary = str.split('\\n').map(function (e) { return JSON.stringify(e) });\n if (ary.length > 1) {\n // If the string has newlines, start it off on its own line so that\n // it's easier to compare against another string with newlines.\n return '\\n' + ary.join('\\n');\n } else {\n return ary.join('\\n');\n }\n }\n\n if (actual === expected)\n return;\n\n // Deal with common object types since JavaScript can't.\n if (expected instanceof Array)\n if (this.arrayEQ_(actual, expected))\n return;\n\n var name = opt_name ? '[' + opt_name + ']' : '';\n\n this.fail('assertEQ' + name + ': ' + this.getCallerLocation_(1) + ': ' +\n format(actual) + ' !== ' + format(expected));\n};\n\n/**\n * Assert that a value is true.\n *\n * This uses the JavaScript '===' operator in order to avoid type coercion.\n * The must be the boolean value `true`, not just some \"truish\" value.\n *\n * If the assertion fails, the test is marked as a failure and a TestCompleted\n * exception is thrown.\n *\n * @param {boolean} actual The actual measured value.\n * @param {string} opt_name An optional name used to identify this\n * assertion in the test log. If omitted it will be the file:line\n * of the caller.\n */\nlib.TestManager.Result.prototype.assert = function(actual, opt_name) {\n if (actual === true)\n return;\n\n var name = opt_name ? '[' + opt_name + ']' : '';\n\n this.fail('assert' + name + ': ' + this.getCallerLocation_(1) + ': ' +\n String(actual));\n};\n\n/**\n * Return the filename:line of a calling stack frame.\n *\n * This uses a dirty hack. It throws an exception, catches it, and examines\n * the stack property of the caught exception.\n *\n * @param {int} frameIndex The stack frame to return. 0 is the frame that\n * called this method, 1 is its caller, and so on.\n * @return {string} A string of the format \"filename:linenumber\".\n */\nlib.TestManager.Result.prototype.getCallerLocation_ = function(frameIndex) {\n try {\n throw new Error();\n } catch (ex) {\n var frame = ex.stack.split('\\n')[frameIndex + 2];\n var ary = frame.match(/([^/]+:\\d+):\\d+\\)?$/);\n return ary ? ary[1] : '???';\n }\n};\n\n/**\n * Write a message to the result log.\n */\nlib.TestManager.Result.prototype.println = function(message) {\n this.testRun.log.info(message);\n};\n\n/**\n * Mark a failed test and exit out of the rest of the test.\n *\n * This will throw a TestCompleted exception, causing the current test to stop.\n *\n * @param {string} opt_message Optional message to add to the log.\n */\nlib.TestManager.Result.prototype.fail = function(opt_message) {\n if (arguments.length)\n this.println(opt_message);\n\n this.completeTest_(this.FAILED, true);\n};\n\n/**\n * Mark a passed test and exit out of the rest of the test.\n *\n * This will throw a TestCompleted exception, causing the current test to stop.\n */\nlib.TestManager.Result.prototype.pass = function() {\n this.completeTest_(this.PASSED, true);\n};\n// SOURCE FILE: libdot/js/lib_utf8.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n// TODO(davidben): When the string encoding API is implemented,\n// replace this with the native in-browser implementation.\n//\n// https://wiki.whatwg.org/wiki/StringEncoding\n// https://encoding.spec.whatwg.org/\n\n/**\n * A stateful UTF-8 decoder.\n */\nlib.UTF8Decoder = function() {\n // The number of bytes left in the current sequence.\n this.bytesLeft = 0;\n // The in-progress code point being decoded, if bytesLeft > 0.\n this.codePoint = 0;\n // The lower bound on the final code point, if bytesLeft > 0.\n this.lowerBound = 0;\n};\n\n/**\n * Decodes a some UTF-8 data, taking into account state from previous\n * data streamed through the encoder.\n *\n * @param {String} str data to decode, represented as a JavaScript\n * String with each code unit representing a byte between 0x00 to\n * 0xFF.\n * @return {String} The data decoded into a JavaScript UTF-16 string.\n */\nlib.UTF8Decoder.prototype.decode = function(str) {\n var ret = '';\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n if (this.bytesLeft == 0) {\n if (c <= 0x7F) {\n ret += str.charAt(i);\n } else if (0xC0 <= c && c <= 0xDF) {\n this.codePoint = c - 0xC0;\n this.bytesLeft = 1;\n this.lowerBound = 0x80;\n } else if (0xE0 <= c && c <= 0xEF) {\n this.codePoint = c - 0xE0;\n this.bytesLeft = 2;\n this.lowerBound = 0x800;\n } else if (0xF0 <= c && c <= 0xF7) {\n this.codePoint = c - 0xF0;\n this.bytesLeft = 3;\n this.lowerBound = 0x10000;\n } else if (0xF8 <= c && c <= 0xFB) {\n this.codePoint = c - 0xF8;\n this.bytesLeft = 4;\n this.lowerBound = 0x200000;\n } else if (0xFC <= c && c <= 0xFD) {\n this.codePoint = c - 0xFC;\n this.bytesLeft = 5;\n this.lowerBound = 0x4000000;\n } else {\n ret += '\\ufffd';\n }\n } else {\n if (0x80 <= c && c <= 0xBF) {\n this.bytesLeft--;\n this.codePoint = (this.codePoint << 6) + (c - 0x80);\n if (this.bytesLeft == 0) {\n // Got a full sequence. Check if it's within bounds and\n // filter out surrogate pairs.\n var codePoint = this.codePoint;\n if (codePoint < this.lowerBound\n || (0xD800 <= codePoint && codePoint <= 0xDFFF)\n || codePoint > 0x10FFFF) {\n ret += '\\ufffd';\n } else {\n // Encode as UTF-16 in the output.\n if (codePoint < 0x10000) {\n ret += String.fromCharCode(codePoint);\n } else {\n // Surrogate pair.\n codePoint -= 0x10000;\n ret += String.fromCharCode(\n 0xD800 + ((codePoint >>> 10) & 0x3FF),\n 0xDC00 + (codePoint & 0x3FF));\n }\n }\n }\n } else {\n // Too few bytes in multi-byte sequence. Rewind stream so we\n // don't lose the next byte.\n ret += '\\ufffd';\n this.bytesLeft = 0;\n i--;\n }\n }\n }\n return ret;\n};\n\n/**\n * Decodes UTF-8 data. This is a convenience function for when all the\n * data is already known.\n *\n * @param {String} str data to decode, represented as a JavaScript\n * String with each code unit representing a byte between 0x00 to\n * 0xFF.\n * @return {String} The data decoded into a JavaScript UTF-16 string.\n */\nlib.decodeUTF8 = function(utf8) {\n return (new lib.UTF8Decoder()).decode(utf8);\n};\n\n/**\n * Encodes a UTF-16 string into UTF-8.\n *\n * TODO(davidben): Do we need a stateful version of this that can\n * handle a surrogate pair split in two calls? What happens if a\n * keypress event would have contained a character outside the BMP?\n *\n * @param {String} str The string to encode.\n * @return {String} The string encoded as UTF-8, as a JavaScript\n * string with bytes represented as code units from 0x00 to 0xFF.\n */\nlib.encodeUTF8 = function(str) {\n var ret = '';\n for (var i = 0; i < str.length; i++) {\n // Get a unicode code point out of str.\n var c = str.charCodeAt(i);\n if (0xDC00 <= c && c <= 0xDFFF) {\n c = 0xFFFD;\n } else if (0xD800 <= c && c <= 0xDBFF) {\n if (i+1 < str.length) {\n var d = str.charCodeAt(i+1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n // Swallow a surrogate pair.\n c = 0x10000 + ((c & 0x3FF) << 10) + (d & 0x3FF);\n i++;\n } else {\n c = 0xFFFD;\n }\n } else {\n c = 0xFFFD;\n }\n }\n\n // Encode c in UTF-8.\n var bytesLeft;\n if (c <= 0x7F) {\n ret += str.charAt(i);\n continue;\n } else if (c <= 0x7FF) {\n ret += String.fromCharCode(0xC0 | (c >>> 6));\n bytesLeft = 1;\n } else if (c <= 0xFFFF) {\n ret += String.fromCharCode(0xE0 | (c >>> 12));\n bytesLeft = 2;\n } else /* if (c <= 0x10FFFF) */ {\n ret += String.fromCharCode(0xF0 | (c >>> 18));\n bytesLeft = 3;\n }\n\n while (bytesLeft > 0) {\n bytesLeft--;\n ret += String.fromCharCode(0x80 | ((c >>> (6 * bytesLeft)) & 0x3F));\n }\n }\n return ret;\n};\n// SOURCE FILE: libdot/third_party/wcwidth/lib_wc.js\n// Copyright (c) 2014 The Chromium OS Authors. All rights reserved.\n// Use of lib.wc source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * This JavaScript library is ported from the wcwidth.js module of node.js.\n * The original implementation can be found at:\n * https://npmjs.org/package/wcwidth.js\n */\n\n/**\n * JavaScript porting of Markus Kuhn's wcwidth() implementation\n *\n * The following explanation comes from the original C implementation:\n *\n * This is an implementation of wcwidth() and wcswidth() (defined in\n * IEEE Std 1002.1-2001) for Unicode.\n *\n * http://www.opengroup.org/onlinepubs/007904975/functions/wcwidth.html\n * http://www.opengroup.org/onlinepubs/007904975/functions/wcswidth.html\n *\n * In fixed-width output devices, Latin characters all occupy a single\n * \"cell\" position of equal width, whereas ideographic CJK characters\n * occupy two such cells. Interoperability between terminal-line\n * applications and (teletype-style) character terminals using the\n * UTF-8 encoding requires agreement on which character should advance\n * the cursor by how many cell positions. No established formal\n * standards exist at present on which Unicode character shall occupy\n * how many cell positions on character terminals. These routines are\n * a first attempt of defining such behavior based on simple rules\n * applied to data provided by the Unicode Consortium.\n *\n * For some graphical characters, the Unicode standard explicitly\n * defines a character-cell width via the definition of the East Asian\n * FullWidth (F), Wide (W), Half-width (H), and Narrow (Na) classes.\n * In all these cases, there is no ambiguity about which width a\n * terminal shall use. For characters in the East Asian Ambiguous (A)\n * class, the width choice depends purely on a preference of backward\n * compatibility with either historic CJK or Western practice.\n * Choosing single-width for these characters is easy to justify as\n * the appropriate long-term solution, as the CJK practice of\n * displaying these characters as double-width comes from historic\n * implementation simplicity (8-bit encoded characters were displayed\n * single-width and 16-bit ones double-width, even for Greek,\n * Cyrillic, etc.) and not any typographic considerations.\n *\n * Much less clear is the choice of width for the Not East Asian\n * (Neutral) class. Existing practice does not dictate a width for any\n * of these characters. It would nevertheless make sense\n * typographically to allocate two character cells to characters such\n * as for instance EM SPACE or VOLUME INTEGRAL, which cannot be\n * represented adequately with a single-width glyph. The following\n * routines at present merely assign a single-cell width to all\n * neutral characters, in the interest of simplicity. This is not\n * entirely satisfactory and should be reconsidered before\n * establishing a formal standard in lib.wc area. At the moment, the\n * decision which Not East Asian (Neutral) characters should be\n * represented by double-width glyphs cannot yet be answered by\n * applying a simple rule from the Unicode database content. Setting\n * up a proper standard for the behavior of UTF-8 character terminals\n * will require a careful analysis not only of each Unicode character,\n * but also of each presentation form, something the author of these\n * routines has avoided to do so far.\n *\n * http://www.unicode.org/unicode/reports/tr11/\n *\n * Markus Kuhn -- 2007-05-26 (Unicode 5.0)\n *\n * Permission to use, copy, modify, and distribute lib.wc software\n * for any purpose and without fee is hereby granted. The author\n * disclaims all warranties with regard to lib.wc software.\n *\n * Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c\n */\n\n/**\n * The following function defines the column width of an ISO 10646 character\n * as follows:\n *\n * - The null character (U+0000) has a column width of 0.\n * - Other C0/C1 control characters and DEL will lead to a return value of -1.\n * - Non-spacing and enclosing combining characters (general category code Mn\n * or Me in the Unicode database) have a column width of 0.\n * - SOFT HYPHEN (U+00AD) has a column width of 1.\n * - Other format characters (general category code Cf in the Unicode database)\n * and ZERO WIDTH SPACE (U+200B) have a column width of 0.\n * - Hangul Jamo medial vowels and final consonants (U+1160-U+11FF) have a\n * column width of 0.\n * - Spacing characters in the East Asian Wide (W) or East Asian Full-width (F)\n * category as defined in Unicode Technical Report #11 have a column width of\n * 2.\n * - East Asian Ambiguous characters are taken into account if\n * regardCjkAmbiguous flag is enabled. They have a column width of 2.\n * - All remaining characters (including all printable ISO 8859-1 and WGL4\n * characters, Unicode control characters, etc.) have a column width of 1.\n *\n * This implementation assumes that characters are encoded in ISO 10646.\n */\n\nlib.wc = {};\n\n// Width of a nul character.\nlib.wc.nulWidth = 0;\n\n// Width of a control character.\nlib.wc.controlWidth = 0;\n\n// Flag whether to consider East Asian Ambiguous characters.\nlib.wc.regardCjkAmbiguous = false;\n\n// Width of an East Asian Ambiguous character.\nlib.wc.cjkAmbiguousWidth = 2;\n\n// Sorted list of non-overlapping intervals of non-spacing characters\n// generated by \"uniset +cat=Me +cat=Mn +cat=Cf -00AD +1160-11FF +200B c\"\nlib.wc.combining = [\n [ 0x0300, 0x036F ], [ 0x0483, 0x0486 ], [ 0x0488, 0x0489 ],\n [ 0x0591, 0x05BD ], [ 0x05BF, 0x05BF ], [ 0x05C1, 0x05C2 ],\n [ 0x05C4, 0x05C5 ], [ 0x05C7, 0x05C7 ], [ 0x0600, 0x0603 ],\n [ 0x0610, 0x0615 ], [ 0x064B, 0x065E ], [ 0x0670, 0x0670 ],\n [ 0x06D6, 0x06E4 ], [ 0x06E7, 0x06E8 ], [ 0x06EA, 0x06ED ],\n [ 0x070F, 0x070F ], [ 0x0711, 0x0711 ], [ 0x0730, 0x074A ],\n [ 0x07A6, 0x07B0 ], [ 0x07EB, 0x07F3 ], [ 0x0901, 0x0902 ],\n [ 0x093C, 0x093C ], [ 0x0941, 0x0948 ], [ 0x094D, 0x094D ],\n [ 0x0951, 0x0954 ], [ 0x0962, 0x0963 ], [ 0x0981, 0x0981 ],\n [ 0x09BC, 0x09BC ], [ 0x09C1, 0x09C4 ], [ 0x09CD, 0x09CD ],\n [ 0x09E2, 0x09E3 ], [ 0x0A01, 0x0A02 ], [ 0x0A3C, 0x0A3C ],\n [ 0x0A41, 0x0A42 ], [ 0x0A47, 0x0A48 ], [ 0x0A4B, 0x0A4D ],\n [ 0x0A70, 0x0A71 ], [ 0x0A81, 0x0A82 ], [ 0x0ABC, 0x0ABC ],\n [ 0x0AC1, 0x0AC5 ], [ 0x0AC7, 0x0AC8 ], [ 0x0ACD, 0x0ACD ],\n [ 0x0AE2, 0x0AE3 ], [ 0x0B01, 0x0B01 ], [ 0x0B3C, 0x0B3C ],\n [ 0x0B3F, 0x0B3F ], [ 0x0B41, 0x0B43 ], [ 0x0B4D, 0x0B4D ],\n [ 0x0B56, 0x0B56 ], [ 0x0B82, 0x0B82 ], [ 0x0BC0, 0x0BC0 ],\n [ 0x0BCD, 0x0BCD ], [ 0x0C3E, 0x0C40 ], [ 0x0C46, 0x0C48 ],\n [ 0x0C4A, 0x0C4D ], [ 0x0C55, 0x0C56 ], [ 0x0CBC, 0x0CBC ],\n [ 0x0CBF, 0x0CBF ], [ 0x0CC6, 0x0CC6 ], [ 0x0CCC, 0x0CCD ],\n [ 0x0CE2, 0x0CE3 ], [ 0x0D41, 0x0D43 ], [ 0x0D4D, 0x0D4D ],\n [ 0x0DCA, 0x0DCA ], [ 0x0DD2, 0x0DD4 ], [ 0x0DD6, 0x0DD6 ],\n [ 0x0E31, 0x0E31 ], [ 0x0E34, 0x0E3A ], [ 0x0E47, 0x0E4E ],\n [ 0x0EB1, 0x0EB1 ], [ 0x0EB4, 0x0EB9 ], [ 0x0EBB, 0x0EBC ],\n [ 0x0EC8, 0x0ECD ], [ 0x0F18, 0x0F19 ], [ 0x0F35, 0x0F35 ],\n [ 0x0F37, 0x0F37 ], [ 0x0F39, 0x0F39 ], [ 0x0F71, 0x0F7E ],\n [ 0x0F80, 0x0F84 ], [ 0x0F86, 0x0F87 ], [ 0x0F90, 0x0F97 ],\n [ 0x0F99, 0x0FBC ], [ 0x0FC6, 0x0FC6 ], [ 0x102D, 0x1030 ],\n [ 0x1032, 0x1032 ], [ 0x1036, 0x1037 ], [ 0x1039, 0x1039 ],\n [ 0x1058, 0x1059 ], [ 0x1160, 0x11FF ], [ 0x135F, 0x135F ],\n [ 0x1712, 0x1714 ], [ 0x1732, 0x1734 ], [ 0x1752, 0x1753 ],\n [ 0x1772, 0x1773 ], [ 0x17B4, 0x17B5 ], [ 0x17B7, 0x17BD ],\n [ 0x17C6, 0x17C6 ], [ 0x17C9, 0x17D3 ], [ 0x17DD, 0x17DD ],\n [ 0x180B, 0x180D ], [ 0x18A9, 0x18A9 ], [ 0x1920, 0x1922 ],\n [ 0x1927, 0x1928 ], [ 0x1932, 0x1932 ], [ 0x1939, 0x193B ],\n [ 0x1A17, 0x1A18 ], [ 0x1B00, 0x1B03 ], [ 0x1B34, 0x1B34 ],\n [ 0x1B36, 0x1B3A ], [ 0x1B3C, 0x1B3C ], [ 0x1B42, 0x1B42 ],\n [ 0x1B6B, 0x1B73 ], [ 0x1DC0, 0x1DCA ], [ 0x1DFE, 0x1DFF ],\n [ 0x200B, 0x200F ], [ 0x202A, 0x202E ], [ 0x2060, 0x2063 ],\n [ 0x206A, 0x206F ], [ 0x20D0, 0x20EF ], [ 0x302A, 0x302F ],\n [ 0x3099, 0x309A ], [ 0xA806, 0xA806 ], [ 0xA80B, 0xA80B ],\n [ 0xA825, 0xA826 ], [ 0xFB1E, 0xFB1E ], [ 0xFE00, 0xFE0F ],\n [ 0xFE20, 0xFE23 ], [ 0xFEFF, 0xFEFF ], [ 0xFFF9, 0xFFFB ],\n [ 0x10A01, 0x10A03 ], [ 0x10A05, 0x10A06 ], [ 0x10A0C, 0x10A0F ],\n [ 0x10A38, 0x10A3A ], [ 0x10A3F, 0x10A3F ], [ 0x1D167, 0x1D169 ],\n [ 0x1D173, 0x1D182 ], [ 0x1D185, 0x1D18B ], [ 0x1D1AA, 0x1D1AD ],\n [ 0x1D242, 0x1D244 ], [ 0xE0001, 0xE0001 ], [ 0xE0020, 0xE007F ],\n [ 0xE0100, 0xE01EF ]\n];\n\n// Sorted list of non-overlapping intervals of East Asian Ambiguous characters\n// generated by \"uniset +WIDTH-A -cat=Me -cat=Mn -cat=Cf c\"\nlib.wc.ambiguous = [\n [ 0x00A1, 0x00A1 ], [ 0x00A4, 0x00A4 ], [ 0x00A7, 0x00A8 ],\n [ 0x00AA, 0x00AA ], [ 0x00AE, 0x00AE ], [ 0x00B0, 0x00B4 ],\n [ 0x00B6, 0x00BA ], [ 0x00BC, 0x00BF ], [ 0x00C6, 0x00C6 ],\n [ 0x00D0, 0x00D0 ], [ 0x00D7, 0x00D8 ], [ 0x00DE, 0x00E1 ],\n [ 0x00E6, 0x00E6 ], [ 0x00E8, 0x00EA ], [ 0x00EC, 0x00ED ],\n [ 0x00F0, 0x00F0 ], [ 0x00F2, 0x00F3 ], [ 0x00F7, 0x00FA ],\n [ 0x00FC, 0x00FC ], [ 0x00FE, 0x00FE ], [ 0x0101, 0x0101 ],\n [ 0x0111, 0x0111 ], [ 0x0113, 0x0113 ], [ 0x011B, 0x011B ],\n [ 0x0126, 0x0127 ], [ 0x012B, 0x012B ], [ 0x0131, 0x0133 ],\n [ 0x0138, 0x0138 ], [ 0x013F, 0x0142 ], [ 0x0144, 0x0144 ],\n [ 0x0148, 0x014B ], [ 0x014D, 0x014D ], [ 0x0152, 0x0153 ],\n [ 0x0166, 0x0167 ], [ 0x016B, 0x016B ], [ 0x01CE, 0x01CE ],\n [ 0x01D0, 0x01D0 ], [ 0x01D2, 0x01D2 ], [ 0x01D4, 0x01D4 ],\n [ 0x01D6, 0x01D6 ], [ 0x01D8, 0x01D8 ], [ 0x01DA, 0x01DA ],\n [ 0x01DC, 0x01DC ], [ 0x0251, 0x0251 ], [ 0x0261, 0x0261 ],\n [ 0x02C4, 0x02C4 ], [ 0x02C7, 0x02C7 ], [ 0x02C9, 0x02CB ],\n [ 0x02CD, 0x02CD ], [ 0x02D0, 0x02D0 ], [ 0x02D8, 0x02DB ],\n [ 0x02DD, 0x02DD ], [ 0x02DF, 0x02DF ], [ 0x0391, 0x03A1 ],\n [ 0x03A3, 0x03A9 ], [ 0x03B1, 0x03C1 ], [ 0x03C3, 0x03C9 ],\n [ 0x0401, 0x0401 ], [ 0x0410, 0x044F ], [ 0x0451, 0x0451 ],\n [ 0x2010, 0x2010 ], [ 0x2013, 0x2016 ], [ 0x2018, 0x2019 ],\n [ 0x201C, 0x201D ], [ 0x2020, 0x2022 ], [ 0x2024, 0x2027 ],\n [ 0x2030, 0x2030 ], [ 0x2032, 0x2033 ], [ 0x2035, 0x2035 ],\n [ 0x203B, 0x203B ], [ 0x203E, 0x203E ], [ 0x2074, 0x2074 ],\n [ 0x207F, 0x207F ], [ 0x2081, 0x2084 ], [ 0x20AC, 0x20AC ],\n [ 0x2103, 0x2103 ], [ 0x2105, 0x2105 ], [ 0x2109, 0x2109 ],\n [ 0x2113, 0x2113 ], [ 0x2116, 0x2116 ], [ 0x2121, 0x2122 ],\n [ 0x2126, 0x2126 ], [ 0x212B, 0x212B ], [ 0x2153, 0x2154 ],\n [ 0x215B, 0x215E ], [ 0x2160, 0x216B ], [ 0x2170, 0x2179 ],\n [ 0x2190, 0x2199 ], [ 0x21B8, 0x21B9 ], [ 0x21D2, 0x21D2 ],\n [ 0x21D4, 0x21D4 ], [ 0x21E7, 0x21E7 ], [ 0x2200, 0x2200 ],\n [ 0x2202, 0x2203 ], [ 0x2207, 0x2208 ], [ 0x220B, 0x220B ],\n [ 0x220F, 0x220F ], [ 0x2211, 0x2211 ], [ 0x2215, 0x2215 ],\n [ 0x221A, 0x221A ], [ 0x221D, 0x2220 ], [ 0x2223, 0x2223 ],\n [ 0x2225, 0x2225 ], [ 0x2227, 0x222C ], [ 0x222E, 0x222E ],\n [ 0x2234, 0x2237 ], [ 0x223C, 0x223D ], [ 0x2248, 0x2248 ],\n [ 0x224C, 0x224C ], [ 0x2252, 0x2252 ], [ 0x2260, 0x2261 ],\n [ 0x2264, 0x2267 ], [ 0x226A, 0x226B ], [ 0x226E, 0x226F ],\n [ 0x2282, 0x2283 ], [ 0x2286, 0x2287 ], [ 0x2295, 0x2295 ],\n [ 0x2299, 0x2299 ], [ 0x22A5, 0x22A5 ], [ 0x22BF, 0x22BF ],\n [ 0x2312, 0x2312 ], [ 0x2460, 0x24E9 ], [ 0x24EB, 0x254B ],\n [ 0x2550, 0x2573 ], [ 0x2580, 0x258F ], [ 0x2592, 0x2595 ],\n [ 0x25A0, 0x25A1 ], [ 0x25A3, 0x25A9 ], [ 0x25B2, 0x25B3 ],\n [ 0x25B6, 0x25B7 ], [ 0x25BC, 0x25BD ], [ 0x25C0, 0x25C1 ],\n [ 0x25C6, 0x25C8 ], [ 0x25CB, 0x25CB ], [ 0x25CE, 0x25D1 ],\n [ 0x25E2, 0x25E5 ], [ 0x25EF, 0x25EF ], [ 0x2605, 0x2606 ],\n [ 0x2609, 0x2609 ], [ 0x260E, 0x260F ], [ 0x2614, 0x2615 ],\n [ 0x261C, 0x261C ], [ 0x261E, 0x261E ], [ 0x2640, 0x2640 ],\n [ 0x2642, 0x2642 ], [ 0x2660, 0x2661 ], [ 0x2663, 0x2665 ],\n [ 0x2667, 0x266A ], [ 0x266C, 0x266D ], [ 0x266F, 0x266F ],\n [ 0x273D, 0x273D ], [ 0x2776, 0x277F ], [ 0xE000, 0xF8FF ],\n [ 0xFFFD, 0xFFFD ], [ 0xF0000, 0xFFFFD ], [ 0x100000, 0x10FFFD ]\n];\n\n/**\n * Binary search to check if the given unicode character is a space character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {boolean} True if the given character is a space character; false\n * otherwise.\n */\nlib.wc.isSpace = function(ucs) {\n // Auxiliary function for binary search in interval table.\n var min = 0, max = lib.wc.combining.length - 1;\n var mid;\n\n if (ucs < lib.wc.combining[0][0] || ucs > lib.wc.combining[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > lib.wc.combining[mid][1]) {\n min = mid + 1;\n } else if (ucs < lib.wc.combining[mid][0]) {\n max = mid - 1;\n } else {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * Auxiliary function for checking if the given unicode character is a East\n * Asian Ambiguous character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {boolean} True if the given character is a East Asian Ambiguous\n * character.\n */\nlib.wc.isCjkAmbiguous = function(ucs) {\n var min = 0, max = lib.wc.ambiguous.length - 1;\n var mid;\n\n if (ucs < lib.wc.ambiguous[0][0] || ucs > lib.wc.ambiguous[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > lib.wc.ambiguous[mid][1]) {\n min = mid + 1;\n } else if (ucs < lib.wc.ambiguous[mid][0]) {\n max = mid - 1;\n } else {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * Determine the column width of the given character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidth = function(ucs) {\n if (lib.wc.regardCjkAmbiguous) {\n return lib.wc.charWidthRegardAmbiguous(ucs);\n } else {\n return lib.wc.charWidthDisregardAmbiguous(ucs);\n }\n};\n\n/**\n * Determine the column width of the given character without considering East\n * Asian Ambiguous characters.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidthDisregardAmbiguous = function(ucs) {\n // Test for 8-bit control characters.\n if (ucs === 0)\n return lib.wc.nulWidth;\n if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0))\n return lib.wc.controlWidth;\n\n // Optimize for ASCII characters.\n if (ucs < 0x7f)\n return 1;\n\n // Binary search in table of non-spacing characters.\n if (lib.wc.isSpace(ucs))\n return 0;\n\n // If we arrive here, ucs is not a combining or C0/C1 control character.\n return 1 +\n (ucs >= 0x1100 &&\n (ucs <= 0x115f || // Hangul Jamo init. consonants\n ucs == 0x2329 || ucs == 0x232a ||\n (ucs >= 0x2e80 && ucs <= 0xa4cf &&\n ucs != 0x303f) || // CJK ... Yi\n (ucs >= 0xac00 && ucs <= 0xd7a3) || // Hangul Syllables\n (ucs >= 0xf900 && ucs <= 0xfaff) || // CJK Compatibility Ideographs\n (ucs >= 0xfe10 && ucs <= 0xfe19) || // Vertical forms\n (ucs >= 0xfe30 && ucs <= 0xfe6f) || // CJK Compatibility Forms\n (ucs >= 0xff00 && ucs <= 0xff60) || // Fullwidth Forms\n (ucs >= 0xffe0 && ucs <= 0xffe6) ||\n (ucs >= 0x20000 && ucs <= 0x2fffd) ||\n (ucs >= 0x30000 && ucs <= 0x3fffd)));\n // TODO: emoji characters usually require space for wide characters although\n // East Asian width spec says nothing. Should we add special cases for them?\n};\n\n/**\n * Determine the column width of the given character considering East Asian\n * Ambiguous characters.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidthRegardAmbiguous = function(ucs) {\n if (lib.wc.isCjkAmbiguous(ucs))\n return lib.wc.cjkAmbiguousWidth;\n\n return lib.wc.charWidthDisregardAmbiguous(ucs);\n};\n\n/**\n * Determine the column width of the given string.\n *\n * @param {string} str A string.\n *\n * @return {integer} The column width of the given string.\n */\nlib.wc.strWidth = function(str) {\n var width, rv = 0;\n\n for (var i = 0; i < str.length;) {\n var codePoint = str.codePointAt(i);\n width = lib.wc.charWidth(codePoint);\n if (width < 0)\n return -1;\n rv += width;\n i += (codePoint <= 0xffff) ? 1 : 2;\n }\n\n return rv;\n};\n\n/**\n * Get the substring at the given column offset of the given column width.\n *\n * @param {string} str The string to get substring from.\n * @param {integer} start The starting column offset to get substring.\n * @param {integer} opt_width The column width of the substring.\n *\n * @return {string} The substring.\n */\nlib.wc.substr = function(str, start, opt_width) {\n var startIndex, endIndex, width;\n\n for (startIndex = 0, width = 0; startIndex < str.length; startIndex++) {\n width += lib.wc.charWidth(str.charCodeAt(startIndex));\n if (width > start)\n break;\n }\n\n if (opt_width != undefined) {\n for (endIndex = startIndex, width = 0;\n endIndex < str.length && width <= opt_width;\n width += lib.wc.charWidth(str.charCodeAt(endIndex)), endIndex++);\n if (width > opt_width)\n endIndex--;\n return str.substring(startIndex, endIndex);\n }\n\n return str.substr(startIndex);\n};\n\n/**\n * Get substring at the given start and end column offset.\n *\n * @param {string} str The string to get substring from.\n * @param {integer} start The starting column offset.\n * @param {integer} end The ending column offset.\n *\n * @return {string} The substring.\n */\nlib.wc.substring = function(str, start, end) {\n return lib.wc.substr(str, start, end - start);\n};\nlib.resource.add('libdot/changelog/version', 'text/plain',\n'1.16' +\n''\n);\n\nlib.resource.add('libdot/changelog/date', 'text/plain',\n'2017-08-16' +\n''\n);\n\n// SOURCE FILE: hterm/js/hterm.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.Storage');\n\n/**\n * @fileoverview Declares the hterm.* namespace and some basic shared utilities\n * that are too small to deserve dedicated files.\n */\nvar hterm = {};\n\n/**\n * The type of window hosting hterm.\n *\n * This is set as part of hterm.init(). The value is invalid until\n * initialization completes.\n */\nhterm.windowType = null;\n\n/**\n * Warning message to display in the terminal when browser zoom is enabled.\n *\n * You can replace it with your own localized message.\n */\nhterm.zoomWarningMessage = 'ZOOM != 100%';\n\n/**\n * Brief overlay message displayed when text is copied to the clipboard.\n *\n * By default it is the unicode BLACK SCISSORS character, but you can\n * replace it with your own localized message.\n *\n * This is only displayed when the 'enable-clipboard-notice' preference\n * is enabled.\n */\nhterm.notifyCopyMessage = '\\u2702';\n\n\n/**\n * Text shown in a desktop notification for the terminal\n * bell. \\u226a is a unicode EIGHTH NOTE, %(title) will\n * be replaced by the terminal title.\n */\nhterm.desktopNotificationTitle = '\\u266A %(title) \\u266A';\n\n/**\n * List of known hterm test suites.\n *\n * A test harness should ensure that they all exist before running.\n */\nhterm.testDeps = ['hterm.ScrollPort.Tests', 'hterm.Screen.Tests',\n 'hterm.Terminal.Tests', 'hterm.VT.Tests',\n 'hterm.VT.CannedTests'];\n\n/**\n * The hterm init function, registered with lib.registerInit().\n *\n * This is called during lib.init().\n *\n * @param {function} onInit The function lib.init() wants us to invoke when\n * initialization is complete.\n */\nlib.registerInit('hterm', function(onInit) {\n function onWindow(window) {\n hterm.windowType = window.type;\n setTimeout(onInit, 0);\n }\n\n function onTab(tab) {\n if (tab && window.chrome) {\n chrome.windows.get(tab.windowId, null, onWindow);\n } else {\n // TODO(rginda): This is where we end up for a v1 app's background page.\n // Maybe windowType = 'none' would be more appropriate, or something.\n hterm.windowType = 'normal';\n setTimeout(onInit, 0);\n }\n }\n\n if (!hterm.defaultStorage) {\n if (window.chrome && chrome.storage && chrome.storage.sync) {\n hterm.defaultStorage = new lib.Storage.Chrome(chrome.storage.sync);\n } else {\n hterm.defaultStorage = new lib.Storage.Local();\n }\n }\n\n // The chrome.tabs API is not supported in packaged apps, and detecting if\n // you're a packaged app is a little awkward.\n var isPackagedApp = false;\n if (window.chrome && chrome.runtime && chrome.runtime.getManifest) {\n var manifest = chrome.runtime.getManifest();\n isPackagedApp = manifest.app && manifest.app.background;\n }\n\n if (isPackagedApp) {\n // Packaged apps are never displayed in browser tabs.\n setTimeout(onWindow.bind(null, {type: 'popup'}), 0);\n } else {\n if (window.chrome && chrome.tabs) {\n // The getCurrent method gets the tab that is \"currently running\", not the\n // topmost or focused tab.\n chrome.tabs.getCurrent(onTab);\n } else {\n setTimeout(onWindow.bind(null, {type: 'normal'}), 0);\n }\n }\n});\n\n/**\n * Return decimal { width, height } for a given dom node.\n */\nhterm.getClientSize = function(dom) {\n return dom.getBoundingClientRect();\n};\n\n/**\n * Return decimal width for a given dom node.\n */\nhterm.getClientWidth = function(dom) {\n return dom.getBoundingClientRect().width;\n};\n\n/**\n * Return decimal height for a given dom node.\n */\nhterm.getClientHeight = function(dom) {\n return dom.getBoundingClientRect().height;\n};\n\n/**\n * Copy the current selection to the system clipboard.\n *\n * @param {HTMLDocument} The document with the selection to copy.\n */\nhterm.copySelectionToClipboard = function(document) {\n try {\n document.execCommand('copy');\n } catch (firefoxException) {\n // Ignore this. FF throws an exception if there was an error, even though\n // the spec says just return false.\n }\n};\n\n/**\n * Paste the system clipboard into the element with focus.\n *\n * Note: In Chrome/Firefox app/extension environments, you'll need the\n * \"clipboardRead\" permission. In other environments, this might always\n * fail as the browser frequently blocks access for security reasons.\n *\n * @param {HTMLDocument} The document to paste into.\n * @return {boolean} True if the paste succeeded.\n */\nhterm.pasteFromClipboard = function(document) {\n try {\n return document.execCommand('paste');\n } catch (firefoxException) {\n // Ignore this. FF 40 and older would incorrectly throw an exception if\n // there was an error instead of returning false.\n return false;\n }\n};\n\n/**\n * Create a new notification.\n *\n * @param {Object} params Various parameters for the notification.\n * @param {string} params.title The title (defaults to the window's title).\n * @param {string} params.body The message body (main text).\n */\nhterm.notify = function(params) {\n var def = (curr, fallback) => curr !== undefined ? curr : fallback;\n if (params === undefined || params === null)\n params = {};\n\n // Merge the user's choices with the default settings. We don't take it\n // directly in case it was stuffed with excess junk.\n var options = {\n 'body': params.body,\n 'icon': def(params.icon, lib.resource.getDataUrl('hterm/images/icon-96')),\n }\n\n var title = def(params.title, window.document.title);\n if (!title)\n title = 'hterm';\n title = lib.f.replaceVars(hterm.desktopNotificationTitle, {'title': title});\n\n var n = new Notification(title, options);\n n.onclick = function() {\n window.focus();\n this.close();\n };\n return n;\n};\n\n/**\n * Constructor for a hterm.Size record.\n *\n * Instances of this class have public read/write members for width and height.\n *\n * @param {integer} width The width of this record.\n * @param {integer} height The height of this record.\n */\nhterm.Size = function(width, height) {\n this.width = width;\n this.height = height;\n};\n\n/**\n * Adjust the width and height of this record.\n *\n * @param {integer} width The new width of this record.\n * @param {integer} height The new height of this record.\n */\nhterm.Size.prototype.resize = function(width, height) {\n this.width = width;\n this.height = height;\n};\n\n/**\n * Return a copy of this record.\n *\n * @return {hterm.Size} A new hterm.Size instance with the same width and\n * height.\n */\nhterm.Size.prototype.clone = function() {\n return new hterm.Size(this.width, this.height);\n};\n\n/**\n * Set the height and width of this instance based on another hterm.Size.\n *\n * @param {hterm.Size} that The object to copy from.\n */\nhterm.Size.prototype.setTo = function(that) {\n this.width = that.width;\n this.height = that.height;\n};\n\n/**\n * Test if another hterm.Size instance is equal to this one.\n *\n * @param {hterm.Size} that The other hterm.Size instance.\n * @return {boolean} True if both instances have the same width/height, false\n * otherwise.\n */\nhterm.Size.prototype.equals = function(that) {\n return this.width == that.width && this.height == that.height;\n};\n\n/**\n * Return a string representation of this instance.\n *\n * @return {string} A string that identifies the width and height of this\n * instance.\n */\nhterm.Size.prototype.toString = function() {\n return '[hterm.Size: ' + this.width + ', ' + this.height + ']';\n};\n\n/**\n * Constructor for a hterm.RowCol record.\n *\n * Instances of this class have public read/write members for row and column.\n *\n * This class includes an 'overflow' bit which is use to indicate that an\n * attempt has been made to move the cursor column passed the end of the\n * screen. When this happens we leave the cursor column set to the last column\n * of the screen but set the overflow bit. In this state cursor movement\n * happens normally, but any attempt to print new characters causes a cr/lf\n * first.\n *\n * @param {integer} row The row of this record.\n * @param {integer} column The column of this record.\n * @param {boolean} opt_overflow Optional boolean indicating that the RowCol\n * has overflowed.\n */\nhterm.RowCol = function(row, column, opt_overflow) {\n this.row = row;\n this.column = column;\n this.overflow = !!opt_overflow;\n};\n\n/**\n * Adjust the row and column of this record.\n *\n * @param {integer} row The new row of this record.\n * @param {integer} column The new column of this record.\n * @param {boolean} opt_overflow Optional boolean indicating that the RowCol\n * has overflowed.\n */\nhterm.RowCol.prototype.move = function(row, column, opt_overflow) {\n this.row = row;\n this.column = column;\n this.overflow = !!opt_overflow;\n};\n\n/**\n * Return a copy of this record.\n *\n * @return {hterm.RowCol} A new hterm.RowCol instance with the same row and\n * column.\n */\nhterm.RowCol.prototype.clone = function() {\n return new hterm.RowCol(this.row, this.column, this.overflow);\n};\n\n/**\n * Set the row and column of this instance based on another hterm.RowCol.\n *\n * @param {hterm.RowCol} that The object to copy from.\n */\nhterm.RowCol.prototype.setTo = function(that) {\n this.row = that.row;\n this.column = that.column;\n this.overflow = that.overflow;\n};\n\n/**\n * Test if another hterm.RowCol instance is equal to this one.\n *\n * @param {hterm.RowCol} that The other hterm.RowCol instance.\n * @return {boolean} True if both instances have the same row/column, false\n * otherwise.\n */\nhterm.RowCol.prototype.equals = function(that) {\n return (this.row == that.row && this.column == that.column &&\n this.overflow == that.overflow);\n};\n\n/**\n * Return a string representation of this instance.\n *\n * @return {string} A string that identifies the row and column of this\n * instance.\n */\nhterm.RowCol.prototype.toString = function() {\n return ('[hterm.RowCol: ' + this.row + ', ' + this.column + ', ' +\n this.overflow + ']');\n};\n// SOURCE FILE: hterm/js/hterm_frame.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f');\n\n/**\n * First draft of the interface between the terminal and a third party dialog.\n *\n * This is rough. It's just the terminal->dialog layer. To complete things\n * we'll also need a command->terminal layer. That will have to facilitate\n * command->terminal->dialog or direct command->dialog communication.\n *\n * I imagine this class will change significantly when that happens.\n */\n\n/**\n * Construct a new frame for the given terminal.\n *\n * @param terminal {hterm.Terminal} The parent terminal object.\n * @param url {String} The url to load in the frame.\n * @param opt_options {Object} Optional options for the frame. Not implemented.\n */\nhterm.Frame = function(terminal, url, opt_options) {\n this.terminal_ = terminal;\n this.div_ = terminal.div_;\n this.url = url;\n this.options = opt_options || {};\n this.iframe_ = null;\n this.container_ = null;\n this.messageChannel_ = null;\n};\n\n/**\n * Handle messages from the iframe.\n */\nhterm.Frame.prototype.onMessage_ = function(e) {\n switch (e.data.name) {\n case 'ipc-init-ok':\n // We get this response after we send them ipc-init and they finish.\n this.sendTerminalInfo_();\n return;\n case 'terminal-info-ok':\n // We get this response after we send them terminal-info and they finish.\n // Show the finished frame, and then rebind our message handler to the\n // callback below.\n this.container_.style.display = 'flex';\n this.messageChannel_.port1.onmessage = this.onMessage.bind(this);\n this.onLoad();\n return;\n default:\n console.log('Unknown message from frame:', e.data);\n return;\n }\n};\n\n/**\n * Clients could override this, I guess.\n *\n * It doesn't support multiple listeners, but I'm not sure that would make sense\n * here. It's probably better to speak directly to our parents.\n */\nhterm.Frame.prototype.onMessage = function() {};\n\n/**\n * Handle iframe onLoad event.\n */\nhterm.Frame.prototype.onLoad_ = function() {\n this.messageChannel_ = new MessageChannel();\n this.messageChannel_.port1.onmessage = this.onMessage_.bind(this);\n this.messageChannel_.port1.start();\n this.iframe_.contentWindow.postMessage(\n {name: 'ipc-init', argv: [{messagePort: this.messageChannel_.port2}]},\n this.url, [this.messageChannel_.port2]);\n};\n\n/**\n * Clients may override this.\n */\nhterm.Frame.prototype.onLoad = function() {};\n\n/**\n * Sends the terminal-info message to the iframe.\n */\nhterm.Frame.prototype.sendTerminalInfo_ = function() {\n lib.f.getAcceptLanguages(function(languages) {\n this.postMessage('terminal-info', [{\n acceptLanguages: languages,\n foregroundColor: this.terminal_.getForegroundColor(),\n backgroundColor: this.terminal_.getBackgroundColor(),\n cursorColor: this.terminal_.getCursorColor(),\n fontSize: this.terminal_.getFontSize(),\n fontFamily: this.terminal_.getFontFamily(),\n baseURL: lib.f.getURL('/')\n }]\n );\n }.bind(this));\n};\n\n/**\n * User clicked the close button on the frame decoration.\n */\nhterm.Frame.prototype.onCloseClicked_ = function() {\n this.close();\n};\n\n/**\n * Close this frame.\n */\nhterm.Frame.prototype.close = function() {\n if (!this.container_ || !this.container_.parentNode)\n return;\n\n this.container_.parentNode.removeChild(this.container_);\n this.onClose();\n};\n\n\n/**\n * Clients may override this.\n */\nhterm.Frame.prototype.onClose = function() {};\n\n/**\n * Send a message to the iframe.\n */\nhterm.Frame.prototype.postMessage = function(name, argv) {\n if (!this.messageChannel_)\n throw new Error('Message channel is not set up.');\n\n this.messageChannel_.port1.postMessage({name: name, argv: argv});\n};\n\n/**\n * Show the UI for this frame.\n *\n * The iframe src is not loaded until this method is called.\n */\nhterm.Frame.prototype.show = function() {\n var self = this;\n\n function opt(name, defaultValue) {\n if (name in self.options)\n return self.options[name];\n\n return defaultValue;\n }\n\n var self = this;\n\n if (this.container_ && this.container_.parentNode) {\n console.error('Frame already visible');\n return;\n }\n\n var headerHeight = '16px';\n\n var divSize = hterm.getClientSize(this.div_);\n\n var width = opt('width', 640);\n var height = opt('height', 480);\n var left = (divSize.width - width) / 2;\n var top = (divSize.height - height) / 2;\n\n var document = this.terminal_.document_;\n\n var container = this.container_ = document.createElement('div');\n container.style.cssText = (\n 'position: absolute;' +\n 'display: none;' +\n 'flex-direction: column;' +\n 'top: 10%;' +\n 'left: 4%;' +\n 'width: 90%;' +\n 'height: 80%;' +\n 'min-height: 20%;' +\n 'max-height: 80%;' +\n 'box-shadow: 0 0 2px ' + this.terminal_.getForegroundColor() + ';' +\n 'border: 2px ' + this.terminal_.getForegroundColor() + ' solid;');\n\n if (false) {\n // No use for the close button, so no use for the window header either.\n var header = document.createElement('div');\n header.style.cssText = (\n 'display: flex;' +\n 'justify-content: flex-end;' +\n 'height: ' + headerHeight + ';' +\n 'background-color: ' + this.terminal_.getForegroundColor() + ';' +\n 'color: ' + this.terminal_.getBackgroundColor() + ';' +\n 'font-size: 16px;' +\n 'font-family: ' + this.terminal_.getFontFamily());\n container.appendChild(header);\n\n var button = document.createElement('div');\n button.setAttribute('role', 'button');\n button.style.cssText = (\n 'margin-top: -3px;' +\n 'margin-right: 3px;' +\n 'cursor: pointer;');\n button.textContent = '\\u2a2f';\n button.addEventListener('click', this.onCloseClicked_.bind(this));\n header.appendChild(button);\n }\n\n var iframe = this.iframe_ = document.createElement('iframe');\n iframe.onload = this.onLoad_.bind(this);\n iframe.style.cssText = (\n 'display: flex;' +\n 'flex: 1;' +\n 'width: 100%');\n iframe.setAttribute('src', this.url);\n iframe.setAttribute('seamless', true);\n container.appendChild(iframe);\n\n this.div_.appendChild(container);\n};\n// SOURCE FILE: hterm/js/hterm_keyboard.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyMap');\n\n/**\n * Keyboard handler.\n *\n * Consumes onKey* events and invokes onVTKeystroke on the associated\n * hterm.Terminal object.\n *\n * See also: [XTERM] as referenced in vt.js.\n *\n * @param {hterm.Terminal} The Terminal object associated with this keyboard.\n */\nhterm.Keyboard = function(terminal) {\n // The parent vt interpreter.\n this.terminal = terminal;\n\n // The element we're currently capturing keyboard events for.\n this.keyboardElement_ = null;\n\n // The event handlers we are interested in, and their bound callbacks, saved\n // so they can be uninstalled with removeEventListener, when required.\n this.handlers_ = [\n ['focusout', this.onFocusOut_.bind(this)],\n ['keydown', this.onKeyDown_.bind(this)],\n ['keypress', this.onKeyPress_.bind(this)],\n ['keyup', this.onKeyUp_.bind(this)],\n ['textInput', this.onTextInput_.bind(this)]\n ];\n\n /**\n * The current key map.\n */\n this.keyMap = new hterm.Keyboard.KeyMap(this);\n\n this.bindings = new hterm.Keyboard.Bindings(this);\n\n /**\n * none: Disable any AltGr related munging.\n * ctrl-alt: Assume Ctrl+Alt means AltGr.\n * left-alt: Assume left Alt means AltGr.\n * right-alt: Assume right Alt means AltGr.\n */\n this.altGrMode = 'none';\n\n /**\n * If true, Shift-Insert will fall through to the browser as a paste.\n * If false, the keystroke will be sent to the host.\n */\n this.shiftInsertPaste = true;\n\n /**\n * If true, home/end will control the terminal scrollbar and shift home/end\n * will send the VT keycodes. If false then home/end sends VT codes and\n * shift home/end scrolls.\n */\n this.homeKeysScroll = false;\n\n /**\n * Same as above, except for page up/page down.\n */\n this.pageKeysScroll = false;\n\n /**\n * If true, Ctrl-Plus/Minus/Zero controls zoom.\n * If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_,\n * Ctrl-Plus/Zero do nothing.\n */\n this.ctrlPlusMinusZeroZoom = true;\n\n /**\n * Ctrl+C copies if true, sends ^C to host if false.\n * Ctrl+Shift+C sends ^C to host if true, copies if false.\n */\n this.ctrlCCopy = false;\n\n /**\n * Ctrl+V pastes if true, sends ^V to host if false.\n * Ctrl+Shift+V sends ^V to host if true, pastes if false.\n */\n this.ctrlVPaste = false;\n\n /**\n * Enable/disable application keypad.\n *\n * This changes the way numeric keys are sent from the keyboard.\n */\n this.applicationKeypad = false;\n\n /**\n * Enable/disable the application cursor mode.\n *\n * This changes the way cursor keys are sent from the keyboard.\n */\n this.applicationCursor = false;\n\n /**\n * If true, the backspace should send BS ('\\x08', aka ^H). Otherwise\n * the backspace key should send '\\x7f'.\n */\n this.backspaceSendsBackspace = false;\n\n /**\n * The encoding method for data sent to the host.\n */\n this.characterEncoding = 'utf-8';\n\n /**\n * Set whether the meta key sends a leading escape or not.\n */\n this.metaSendsEscape = true;\n\n /**\n * Set whether meta-V gets passed to host.\n */\n this.passMetaV = true;\n\n /**\n * Controls how the alt key is handled.\n *\n * escape....... Send an ESC prefix.\n * 8-bit........ Add 128 to the unshifted character as in xterm.\n * browser-key.. Wait for the keypress event and see what the browser says.\n * (This won't work well on platforms where the browser\n * performs a default action for some alt sequences.)\n *\n * This setting only matters when alt is distinct from meta (altIsMeta is\n * false.)\n */\n this.altSendsWhat = 'escape';\n\n /**\n * Set whether the alt key acts as a meta key, instead of producing 8-bit\n * characters.\n *\n * True to enable, false to disable, null to autodetect based on platform.\n */\n this.altIsMeta = false;\n\n /**\n * If true, tries to detect DEL key events that are from alt-backspace on\n * Chrome OS vs from a true DEL key press.\n *\n * Background: At the time of writing, on Chrome OS, alt-backspace is mapped\n * to DEL. Some users may be happy with this, but others may be frustrated\n * that it's impossible to do meta-backspace. If the user enables this pref,\n * we use a trick to tell a true DEL keypress from alt-backspace: on\n * alt-backspace, we will see the alt key go down, then get a DEL keystroke\n * that indicates that alt is not pressed. See https://crbug.com/174410 .\n */\n this.altBackspaceIsMetaBackspace = false;\n\n /**\n * Used to keep track of the current alt-key state, which is necessary for\n * the altBackspaceIsMetaBackspace preference above and for the altGrMode\n * preference. This is a bitmap with where bit positions correspond to the\n * \"location\" property of the key event.\n */\n this.altKeyPressed = 0;\n\n /**\n * If true, Chrome OS media keys will be mapped to their F-key equivalent.\n * E.g. \"Back\" will be mapped to F1. If false, Chrome will handle the keys.\n */\n this.mediaKeysAreFKeys = false;\n\n /**\n * Holds the previous setting of altSendsWhat when DECSET 1039 is used. When\n * DECRST 1039 is used, altSendsWhat is changed back to this and this is\n * nulled out.\n */\n this.previousAltSendsWhat_ = null;\n};\n\n/**\n * Special handling for keyCodes in a keyboard layout.\n */\nhterm.Keyboard.KeyActions = {\n /**\n * Call preventDefault and stopPropagation for this key event and nothing\n * else.\n */\n CANCEL: lib.f.createEnum('CANCEL'),\n\n /**\n * This performs the default terminal action for the key. If used in the\n * 'normal' action and the the keystroke represents a printable key, the\n * character will be sent to the host. If used in one of the modifier\n * actions, the terminal will perform the normal action after (possibly)\n * altering it.\n *\n * - If the normal sequence starts with CSI, the sequence will be adjusted\n * to include the modifier parameter as described in [XTERM] in the final\n * table of the \"PC-Style Function Keys\" section.\n *\n * - If the control key is down and the key represents a printable character,\n * and the uppercase version of the unshifted keycap is between\n * 64 (ASCII '@') and 95 (ASCII '_'), then the uppercase version of the\n * unshifted keycap minus 64 is sent. This makes '^@' send '\\x00' and\n * '^_' send '\\x1f'. (Note that one higher that 0x1f is 0x20, which is\n * the first printable ASCII value.)\n *\n * - If the alt key is down and the key represents a printable character then\n * the value of the character is shifted up by 128.\n *\n * - If meta is down and configured to send an escape, '\\x1b' will be sent\n * before the normal action is performed.\n */\n DEFAULT: lib.f.createEnum('DEFAULT'),\n\n /**\n * Causes the terminal to opt out of handling the key event, instead letting\n * the browser deal with it.\n */\n PASS: lib.f.createEnum('PASS'),\n\n /**\n * Insert the first or second character of the keyCap, based on e.shiftKey.\n * The key will be handled in onKeyDown, and e.preventDefault() will be\n * called.\n *\n * It is useful for a modified key action, where it essentially strips the\n * modifier while preventing the browser from reacting to the key.\n */\n STRIP: lib.f.createEnum('STRIP')\n};\n\n/**\n * Encode a string according to the 'send-encoding' preference.\n */\nhterm.Keyboard.prototype.encode = function(str) {\n if (this.characterEncoding == 'utf-8')\n return this.terminal.vt.encodeUTF8(str);\n\n return str;\n};\n\n/**\n * Capture keyboard events sent to the associated element.\n *\n * This enables the keyboard. Captured events are consumed by this class\n * and will not perform their default action or bubble to other elements.\n *\n * Passing a null element will uninstall the keyboard handlers.\n *\n * @param {HTMLElement} element The element whose events should be captured, or\n * null to disable the keyboard.\n */\nhterm.Keyboard.prototype.installKeyboard = function(element) {\n if (element == this.keyboardElement_)\n return;\n\n if (element && this.keyboardElement_)\n this.installKeyboard(null);\n\n for (var i = 0; i < this.handlers_.length; i++) {\n var handler = this.handlers_[i];\n if (element) {\n element.addEventListener(handler[0], handler[1]);\n } else {\n this.keyboardElement_.removeEventListener(handler[0], handler[1]);\n }\n }\n\n this.keyboardElement_ = element;\n};\n\n/**\n * Disable keyboard event capture.\n *\n * This will allow the browser to process key events normally.\n */\nhterm.Keyboard.prototype.uninstallKeyboard = function() {\n this.installKeyboard(null);\n};\n\n/**\n * Handle onTextInput events.\n *\n * We're not actually supposed to get these, but we do on the Mac in the case\n * where a third party app sends synthetic keystrokes to Chrome.\n */\nhterm.Keyboard.prototype.onTextInput_ = function(e) {\n if (!e.data)\n return;\n\n e.data.split('').forEach(this.terminal.onVTKeystroke.bind(this.terminal));\n};\n\n/**\n * Handle onKeyPress events.\n */\nhterm.Keyboard.prototype.onKeyPress_ = function(e) {\n var code;\n\n var key = String.fromCharCode(e.which);\n var lowerKey = key.toLowerCase();\n if ((e.ctrlKey || e.metaKey) && (lowerKey == 'c' || lowerKey == 'v')) {\n // On FF the key press (not key down) event gets fired for copy/paste.\n // Let it fall through for the default browser behavior.\n return;\n }\n\n if (e.altKey && this.altSendsWhat == 'browser-key' && e.charCode == 0) {\n // If we got here because we were expecting the browser to handle an\n // alt sequence but it didn't do it, then we might be on an OS without\n // an enabled IME system. In that case we fall back to xterm-like\n // behavior.\n //\n // This happens here only as a fallback. Typically these platforms should\n // set altSendsWhat to either 'escape' or '8-bit'.\n var ch = String.fromCharCode(e.keyCode);\n if (!e.shiftKey)\n ch = ch.toLowerCase();\n code = ch.charCodeAt(0) + 128;\n\n } else if (e.charCode >= 32) {\n ch = e.charCode;\n }\n\n if (ch)\n this.terminal.onVTKeystroke(String.fromCharCode(ch));\n\n e.preventDefault();\n e.stopPropagation();\n};\n\n/**\n * Prevent default handling for non-ctrl-shifted event.\n *\n * When combined with Chrome permission 'app.window.fullscreen.overrideEsc',\n * and called for both key down and key up events,\n * the ESC key remains usable within fullscreen Chrome app windows.\n */\nhterm.Keyboard.prototype.preventChromeAppNonCtrlShiftDefault_ = function(e) {\n if (!window.chrome || !window.chrome.app || !window.chrome.app.window)\n return;\n if (!e.ctrlKey || !e.shiftKey)\n e.preventDefault();\n};\n\nhterm.Keyboard.prototype.onFocusOut_ = function(e) {\n this.altKeyPressed = 0;\n};\n\nhterm.Keyboard.prototype.onKeyUp_ = function(e) {\n if (e.keyCode == 18)\n this.altKeyPressed = this.altKeyPressed & ~(1 << (e.location - 1));\n\n if (e.keyCode == 27)\n this.preventChromeAppNonCtrlShiftDefault_(e);\n};\n\n/**\n * Handle onKeyDown events.\n */\nhterm.Keyboard.prototype.onKeyDown_ = function(e) {\n if (e.keyCode == 18)\n this.altKeyPressed = this.altKeyPressed | (1 << (e.location - 1));\n\n if (e.keyCode == 27)\n this.preventChromeAppNonCtrlShiftDefault_(e);\n\n var keyDef = this.keyMap.keyDefs[e.keyCode];\n if (!keyDef) {\n console.warn('No definition for keyCode: ' + e.keyCode);\n return;\n }\n\n // The type of action we're going to use.\n var resolvedActionType = null;\n\n var self = this;\n function getAction(name) {\n // Get the key action for the given action name. If the action is a\n // function, dispatch it. If the action defers to the normal action,\n // resolve that instead.\n\n resolvedActionType = name;\n\n var action = keyDef[name];\n if (typeof action == 'function')\n action = action.apply(self.keyMap, [e, keyDef]);\n\n if (action === DEFAULT && name != 'normal')\n action = getAction('normal');\n\n return action;\n }\n\n // Note that we use the triple-equals ('===') operator to test equality for\n // these constants, in order to distinguish usage of the constant from usage\n // of a literal string that happens to contain the same bytes.\n var CANCEL = hterm.Keyboard.KeyActions.CANCEL;\n var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT;\n var PASS = hterm.Keyboard.KeyActions.PASS;\n var STRIP = hterm.Keyboard.KeyActions.STRIP;\n\n var control = e.ctrlKey;\n var alt = this.altIsMeta ? false : e.altKey;\n var meta = this.altIsMeta ? (e.altKey || e.metaKey) : e.metaKey;\n\n // In the key-map, we surround the keyCap for non-printables in \"[...]\"\n var isPrintable = !(/^\\[\\w+\\]$/.test(keyDef.keyCap));\n\n switch (this.altGrMode) {\n case 'ctrl-alt':\n if (isPrintable && control && alt) {\n // ctrl-alt-printable means altGr. We clear out the control and\n // alt modifiers and wait to see the charCode in the keydown event.\n control = false;\n alt = false;\n }\n break;\n\n case 'right-alt':\n if (isPrintable && (this.terminal.keyboard.altKeyPressed & 2)) {\n control = false;\n alt = false;\n }\n break;\n\n case 'left-alt':\n if (isPrintable && (this.terminal.keyboard.altKeyPressed & 1)) {\n control = false;\n alt = false;\n }\n break;\n }\n\n var action;\n\n if (control) {\n action = getAction('control');\n } else if (alt) {\n action = getAction('alt');\n } else if (meta) {\n action = getAction('meta');\n } else {\n action = getAction('normal');\n }\n\n // If e.maskShiftKey was set (during getAction) it means the shift key is\n // already accounted for in the action, and we should not act on it any\n // further. This is currently only used for Ctrl-Shift-Tab, which should send\n // \"CSI Z\", not \"CSI 1 ; 2 Z\".\n var shift = !e.maskShiftKey && e.shiftKey;\n\n var keyDown = {\n keyCode: e.keyCode,\n shift: e.shiftKey, // not `var shift` from above.\n ctrl: control,\n alt: alt,\n meta: meta\n };\n\n var binding = this.bindings.getBinding(keyDown);\n\n if (binding) {\n // Clear out the modifier bits so we don't try to munge the sequence\n // further.\n shift = control = alt = meta = false;\n resolvedActionType = 'normal';\n action = binding.action;\n\n if (typeof action == 'function')\n action = action.call(this, this.terminal, keyDown);\n }\n\n if (alt && this.altSendsWhat == 'browser-key' && action == DEFAULT) {\n // When altSendsWhat is 'browser-key', we wait for the keypress event.\n // In keypress, the browser should have set the event.charCode to the\n // appropriate character.\n // TODO(rginda): Character compositions will need some black magic.\n action = PASS;\n }\n\n if (action === PASS || (action === DEFAULT && !(control || alt || meta))) {\n // If this key is supposed to be handled by the browser, or it is an\n // unmodified key with the default action, then exit this event handler.\n // If it's an unmodified key, it'll be handled in onKeyPress where we\n // can tell for sure which ASCII code to insert.\n //\n // This block needs to come before the STRIP test, otherwise we'll strip\n // the modifier and think it's ok to let the browser handle the keypress.\n // The browser won't know we're trying to ignore the modifiers and might\n // perform some default action.\n return;\n }\n\n if (action === STRIP) {\n alt = control = false;\n action = keyDef.normal;\n if (typeof action == 'function')\n action = action.apply(this.keyMap, [e, keyDef]);\n\n if (action == DEFAULT && keyDef.keyCap.length == 2)\n action = keyDef.keyCap.substr((shift ? 1 : 0), 1);\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n if (action === CANCEL)\n return;\n\n if (action !== DEFAULT && typeof action != 'string') {\n console.warn('Invalid action: ' + JSON.stringify(action));\n return;\n }\n\n // Strip the modifier that is associated with the action, since we assume that\n // modifier has already been accounted for in the action.\n if (resolvedActionType == 'control') {\n control = false;\n } else if (resolvedActionType == 'alt') {\n alt = false;\n } else if (resolvedActionType == 'meta') {\n meta = false;\n }\n\n if (action.substr(0, 2) == '\\x1b[' && (alt || control || shift)) {\n // The action is an escape sequence that and it was triggered in the\n // presence of a keyboard modifier, we may need to alter the action to\n // include the modifier before sending it.\n\n var mod;\n\n if (shift && !(alt || control)) {\n mod = ';2';\n } else if (alt && !(shift || control)) {\n mod = ';3';\n } else if (shift && alt && !control) {\n mod = ';4';\n } else if (control && !(shift || alt)) {\n mod = ';5';\n } else if (shift && control && !alt) {\n mod = ';6';\n } else if (alt && control && !shift) {\n mod = ';7';\n } else if (shift && alt && control) {\n mod = ';8';\n }\n\n if (action.length == 3) {\n // Some of the CSI sequences have zero parameters unless modified.\n action = '\\x1b[1' + mod + action.substr(2, 1);\n } else {\n // Others always have at least one parameter.\n action = action.substr(0, action.length - 1) + mod +\n action.substr(action.length - 1);\n }\n\n } else {\n if (action === DEFAULT) {\n action = keyDef.keyCap.substr((shift ? 1 : 0), 1);\n\n if (control) {\n var unshifted = keyDef.keyCap.substr(0, 1);\n var code = unshifted.charCodeAt(0);\n if (code >= 64 && code <= 95) {\n action = String.fromCharCode(code - 64);\n }\n }\n }\n\n if (alt && this.altSendsWhat == '8-bit' && action.length == 1) {\n var code = action.charCodeAt(0) + 128;\n action = String.fromCharCode(code);\n }\n\n // We respect alt/metaSendsEscape even if the keymap action was a literal\n // string. Otherwise, every overridden alt/meta action would have to\n // check alt/metaSendsEscape.\n if ((alt && this.altSendsWhat == 'escape') ||\n (meta && this.metaSendsEscape)) {\n action = '\\x1b' + action;\n }\n }\n\n this.terminal.onVTKeystroke(action);\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_bindings.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * A mapping from hterm.Keyboard.KeyPattern to an action.\n *\n * TODO(rginda): For now this bindings code is only used for user overrides.\n * hterm.Keyboard.KeyMap still handles all of the built-in key mappings.\n * It'd be nice if we migrated that over to be hterm.Keyboard.Bindings based.\n */\nhterm.Keyboard.Bindings = function() {\n this.bindings_ = {};\n};\n\n/**\n * Remove all bindings.\n */\nhterm.Keyboard.Bindings.prototype.clear = function () {\n this.bindings_ = {};\n};\n\n/**\n * Add a new binding.\n *\n * Internal API that assumes parsed objects as inputs.\n * See the public addBinding for more details.\n *\n * @param {hterm.Keyboard.KeyPattern} keyPattern\n * @param {string|function|hterm.Keyboard.KeyAction} action\n */\nhterm.Keyboard.Bindings.prototype.addBinding_ = function(keyPattern, action) {\n var binding = null;\n var list = this.bindings_[keyPattern.keyCode];\n if (list) {\n for (var i = 0; i < list.length; i++) {\n if (list[i].keyPattern.matchKeyPattern(keyPattern)) {\n binding = list[i];\n break;\n }\n }\n }\n\n if (binding) {\n binding.action = action;\n } else {\n binding = {keyPattern: keyPattern, action: action};\n\n if (!list) {\n this.bindings_[keyPattern.keyCode] = [binding];\n } else {\n this.bindings_[keyPattern.keyCode].push(binding);\n\n list.sort(function(a, b) {\n return hterm.Keyboard.KeyPattern.sortCompare(\n a.keyPattern, b.keyPattern);\n });\n }\n }\n};\n\n/**\n * Add a new binding.\n *\n * If a binding for the keyPattern already exists it will be overridden.\n *\n * More specific keyPatterns take precedence over those with wildcards. Given\n * bindings for \"Ctrl-A\" and \"Ctrl-*-A\", and a \"Ctrl-A\" keydown, the \"Ctrl-A\"\n * binding will match even if \"Ctrl-*-A\" was created last.\n *\n * If action is a string, it will be passed through hterm.Parser.parseKeyAction.\n *\n * For example:\n * // Will replace Ctrl-P keystrokes with the string \"hiya!\".\n * addBinding('Ctrl-P', \"'hiya!'\");\n * // Will cancel the keystroke entirely (make it do nothing).\n * addBinding('Alt-D', hterm.Keyboard.KeyActions.CANCEL);\n * // Will execute the code and return the action.\n * addBinding('Ctrl-T', function() {\n * console.log('Got a T!');\n * return hterm.Keyboard.KeyActions.PASS;\n * });\n *\n * @param {string|hterm.Keyboard.KeyPattern} keyPattern\n * @param {string|function|hterm.Keyboard.KeyAction} action\n */\nhterm.Keyboard.Bindings.prototype.addBinding = function(key, action) {\n // If we're given a hterm.Keyboard.KeyPattern object, pass it down.\n if (typeof key != 'string') {\n this.addBinding_(key, action);\n return;\n }\n\n // Here we treat key as a string.\n var p = new hterm.Parser();\n\n p.reset(key);\n var sequence;\n\n try {\n sequence = p.parseKeySequence();\n } catch (ex) {\n console.error(ex);\n return;\n }\n\n if (!p.isComplete()) {\n console.error(p.error('Expected end of sequence: ' + sequence));\n return;\n }\n\n // If action is a string, parse it. Otherwise assume it's callable.\n if (typeof action == 'string') {\n p.reset(action);\n try {\n action = p.parseKeyAction();\n } catch (ex) {\n console.error(ex);\n return;\n }\n }\n\n if (!p.isComplete()) {\n console.error(p.error('Expected end of sequence: ' + sequence));\n return;\n }\n\n this.addBinding_(new hterm.Keyboard.KeyPattern(sequence), action);\n};\n\n/**\n * Add multiple bindings at a time using a map of {string: string, ...}\n *\n * This uses hterm.Parser to parse the maps key into KeyPatterns, and the\n * map values into {string|function|KeyAction}.\n *\n * For example:\n * {\n * // Will replace Ctrl-P keystrokes with the string \"hiya!\".\n * 'Ctrl-P': \"'hiya!'\",\n * // Will cancel the keystroke entirely (make it do nothing).\n * 'Alt-D': hterm.Keyboard.KeyActions.CANCEL,\n * }\n *\n * @param {Object} map\n */\nhterm.Keyboard.Bindings.prototype.addBindings = function(map) {\n for (var key in map) {\n this.addBinding(key, map[key]);\n }\n};\n\n/**\n * Return the binding that is the best match for the given keyDown record,\n * or null if there is no match.\n *\n * @param {Object} keyDown An object with a keyCode property and zero or\n * more boolean properties representing key modifiers. These property names\n * must match those defined in hterm.Keyboard.KeyPattern.modifiers.\n */\nhterm.Keyboard.Bindings.prototype.getBinding = function(keyDown) {\n var list = this.bindings_[keyDown.keyCode];\n if (!list)\n return null;\n\n for (var i = 0; i < list.length; i++) {\n var binding = list[i];\n if (binding.keyPattern.matchKeyDown(keyDown))\n return binding;\n }\n\n return null;\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_keymap.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyActions');\n\n/**\n * The default key map for hterm.\n *\n * Contains a mapping of keyCodes to keyDefs (aka key definitions). The key\n * definition tells the hterm.Keyboard class how to handle keycodes.\n *\n * This should work for most cases, as the printable characters get handled\n * in the keypress event. In that case, even if the keycap is wrong in the\n * key map, the correct character should be sent.\n *\n * Different layouts, such as Dvorak should work with this keymap, as those\n * layouts typically move keycodes around on the keyboard without disturbing\n * the actual keycaps.\n *\n * There may be issues with control keys on non-US keyboards or with keyboards\n * that very significantly from the expectations here, in which case we may\n * have to invent new key maps.\n *\n * The sequences defined in this key map come from [XTERM] as referenced in\n * vt.js, starting with the section titled \"Alt and Meta Keys\".\n */\nhterm.Keyboard.KeyMap = function(keyboard) {\n this.keyboard = keyboard;\n this.keyDefs = {};\n this.reset();\n};\n\n/**\n * Add a single key definition.\n *\n * The definition is a hash containing the following keys: 'keyCap', 'normal',\n * 'control', and 'alt'.\n *\n * - keyCap is a string identifying the key. For printable\n * keys, the key cap should be exactly two characters, starting with the\n * unshifted version. For example, 'aA', 'bB', '1!' and '=+'. For\n * non-printable the key cap should be surrounded in square braces, as in\n * '[INS]', '[LEFT]'. By convention, non-printable keycaps are in uppercase\n * but this is not a strict requirement.\n *\n * - Normal is the action that should be performed when they key is pressed\n * in the absence of any modifier. See below for the supported actions.\n *\n * - Control is the action that should be performed when they key is pressed\n * along with the control modifier. See below for the supported actions.\n *\n * - Alt is the action that should be performed when they key is pressed\n * along with the alt modifier. See below for the supported actions.\n *\n * - Meta is the action that should be performed when they key is pressed\n * along with the meta modifier. See below for the supported actions.\n *\n * Actions can be one of the hterm.Keyboard.KeyActions as documented below,\n * a literal string, or an array. If the action is a literal string then\n * the string is sent directly to the host. If the action is an array it\n * is taken to be an escape sequence that may be altered by modifier keys.\n * The second-to-last element of the array will be overwritten with the\n * state of the modifier keys, as specified in the final table of \"PC-Style\n * Function Keys\" from [XTERM].\n */\nhterm.Keyboard.KeyMap.prototype.addKeyDef = function(keyCode, def) {\n if (keyCode in this.keyDefs)\n console.warn('Duplicate keyCode: ' + keyCode);\n\n this.keyDefs[keyCode] = def;\n};\n\n/**\n * Add multiple key definitions in a single call.\n *\n * This function takes the key definitions as variable argument list. Each\n * argument is the key definition specified as an array.\n *\n * (If the function took everything as one big hash we couldn't detect\n * duplicates, and there would be a lot more typing involved.)\n *\n * Each key definition should have 6 elements: (keyCode, keyCap, normal action,\n * control action, alt action and meta action). See KeyMap.addKeyDef for the\n * meaning of these elements.\n */\nhterm.Keyboard.KeyMap.prototype.addKeyDefs = function(var_args) {\n for (var i = 0; i < arguments.length; i++) {\n this.addKeyDef(arguments[i][0],\n { keyCap: arguments[i][1],\n normal: arguments[i][2],\n control: arguments[i][3],\n alt: arguments[i][4],\n meta: arguments[i][5]\n });\n }\n};\n\n/**\n * Set up the default state for this keymap.\n */\nhterm.Keyboard.KeyMap.prototype.reset = function() {\n this.keyDefs = {};\n\n var self = this;\n\n // This function is used by the \"macro\" functions below. It makes it\n // possible to use the call() macro as an argument to any other macro.\n function resolve(action, e, k) {\n if (typeof action == 'function')\n return action.apply(self, [e, k]);\n\n return action;\n }\n\n // If not application keypad a, else b. The keys that care about\n // application keypad ignore it when the key is modified.\n function ak(a, b) {\n return function(e, k) {\n var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !self.keyboard.applicationKeypad) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If mod or not application cursor a, else b. The keys that care about\n // application cursor ignore it when the key is modified.\n function ac(a, b) {\n return function(e, k) {\n var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !self.keyboard.applicationCursor) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If not backspace-sends-backspace keypad a, else b.\n function bs(a, b) {\n return function(e, k) {\n var action = !self.keyboard.backspaceSendsBackspace ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If not e.shiftKey a, else b.\n function sh(a, b) {\n return function(e, k) {\n var action = !e.shiftKey ? a : b;\n e.maskShiftKey = true;\n return resolve(action, e, k);\n };\n }\n\n // If not e.altKey a, else b.\n function alt(a, b) {\n return function(e, k) {\n var action = !e.altKey ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If no modifiers a, else b.\n function mod(a, b) {\n return function(e, k) {\n var action = !(e.shiftKey || e.ctrlKey || e.altKey || e.metaKey) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // Compute a control character for a given character.\n function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) }\n\n // Call a method on the keymap instance.\n function c(m) { return function (e, k) { return this[m](e, k) } }\n\n // Ignore if not trapping media keys.\n function med(fn) {\n return function(e, k) {\n if (!self.keyboard.mediaKeysAreFKeys) {\n // Block Back, Forward, and Reload keys to avoid navigating away from\n // the current page.\n return (e.keyCode == 166 || e.keyCode == 167 || e.keyCode == 168) ?\n hterm.Keyboard.KeyActions.CANCEL :\n hterm.Keyboard.KeyActions.PASS;\n }\n return resolve(fn, e, k);\n };\n }\n\n var ESC = '\\x1b';\n var CSI = '\\x1b[';\n var SS3 = '\\x1bO';\n\n var CANCEL = hterm.Keyboard.KeyActions.CANCEL;\n var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT;\n var PASS = hterm.Keyboard.KeyActions.PASS;\n var STRIP = hterm.Keyboard.KeyActions.STRIP;\n\n this.addKeyDefs(\n // These fields are: [keycode, keycap, normal, control, alt, meta]\n\n // The browser sends the keycode 0 for some keys. We'll just assume it's\n // going to do the right thing by default for those keys.\n [0, '[UNKNOWN]', PASS, PASS, PASS, PASS],\n\n // First row.\n [27, '[ESC]', ESC, DEFAULT, DEFAULT, DEFAULT],\n [112, '[F1]', mod(SS3 + 'P', CSI + 'P'), DEFAULT, CSI + \"23~\", DEFAULT],\n [113, '[F2]', mod(SS3 + 'Q', CSI + 'Q'), DEFAULT, CSI + \"24~\", DEFAULT],\n [114, '[F3]', mod(SS3 + 'R', CSI + 'R'), DEFAULT, CSI + \"25~\", DEFAULT],\n [115, '[F4]', mod(SS3 + 'S', CSI + 'S'), DEFAULT, CSI + \"26~\", DEFAULT],\n [116, '[F5]', CSI + '15~', DEFAULT, CSI + \"28~\", DEFAULT],\n [117, '[F6]', CSI + '17~', DEFAULT, CSI + \"29~\", DEFAULT],\n [118, '[F7]', CSI + '18~', DEFAULT, CSI + \"31~\", DEFAULT],\n [119, '[F8]', CSI + '19~', DEFAULT, CSI + \"32~\", DEFAULT],\n [120, '[F9]', CSI + '20~', DEFAULT, CSI + \"33~\", DEFAULT],\n [121, '[F10]', CSI + '21~', DEFAULT, CSI + \"34~\", DEFAULT],\n [122, '[F11]', CSI + '23~', DEFAULT, CSI + \"42~\", DEFAULT],\n [123, '[F12]', CSI + '24~', DEFAULT, CSI + \"43~\", DEFAULT],\n\n // Second row.\n [192, '`~', DEFAULT, sh(ctl('@'), ctl('^')), DEFAULT, PASS],\n [49, '1!', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [50, '2@', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [51, '3#', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [52, '4$', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [53, '5%', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [54, '6^', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [55, '7&', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [56, '8*', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [57, '9(', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [48, '0)', DEFAULT, c('onPlusMinusZero_'),c('onAltNum_'),c('onPlusMinusZero_')],\n [189, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [187, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n // Firefox -_ and =+\n [173, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [61, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n // Firefox Italian +*\n [171, '+*', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n\n [8, '[BKSP]', bs('\\x7f', '\\b'), bs('\\b', '\\x7f'), DEFAULT, DEFAULT],\n\n // Third row.\n [9, '[TAB]', sh('\\t', CSI + 'Z'), STRIP, PASS, DEFAULT],\n [81, 'qQ', DEFAULT, ctl('Q'), DEFAULT, DEFAULT],\n [87, 'wW', DEFAULT, ctl('W'), DEFAULT, DEFAULT],\n [69, 'eE', DEFAULT, ctl('E'), DEFAULT, DEFAULT],\n [82, 'rR', DEFAULT, ctl('R'), DEFAULT, DEFAULT],\n [84, 'tT', DEFAULT, ctl('T'), DEFAULT, DEFAULT],\n [89, 'yY', DEFAULT, ctl('Y'), DEFAULT, DEFAULT],\n [85, 'uU', DEFAULT, ctl('U'), DEFAULT, DEFAULT],\n [73, 'iI', DEFAULT, ctl('I'), DEFAULT, DEFAULT],\n [79, 'oO', DEFAULT, ctl('O'), DEFAULT, DEFAULT],\n [80, 'pP', DEFAULT, ctl('P'), DEFAULT, DEFAULT],\n [219, '[{', DEFAULT, ctl('['), DEFAULT, DEFAULT],\n [221, ']}', DEFAULT, ctl(']'), DEFAULT, DEFAULT],\n [220, '\\\\|', DEFAULT, ctl('\\\\'), DEFAULT, DEFAULT],\n\n // Fourth row. (We let Ctrl-Shift-J pass for Chrome DevTools.)\n [20, '[CAPS]', PASS, PASS, PASS, DEFAULT],\n [65, 'aA', DEFAULT, ctl('A'), DEFAULT, DEFAULT],\n [83, 'sS', DEFAULT, ctl('S'), DEFAULT, DEFAULT],\n [68, 'dD', DEFAULT, ctl('D'), DEFAULT, DEFAULT],\n [70, 'fF', DEFAULT, ctl('F'), DEFAULT, DEFAULT],\n [71, 'gG', DEFAULT, ctl('G'), DEFAULT, DEFAULT],\n [72, 'hH', DEFAULT, ctl('H'), DEFAULT, DEFAULT],\n [74, 'jJ', DEFAULT, sh(ctl('J'), PASS), DEFAULT, DEFAULT],\n [75, 'kK', DEFAULT, sh(ctl('K'), c('onClear_')), DEFAULT, DEFAULT],\n [76, 'lL', DEFAULT, sh(ctl('L'), PASS), DEFAULT, DEFAULT],\n [186, ';:', DEFAULT, STRIP, DEFAULT, DEFAULT],\n [222, '\\'\"', DEFAULT, STRIP, DEFAULT, DEFAULT],\n [13, '[ENTER]', '\\r', CANCEL, CANCEL, DEFAULT],\n\n // Fifth row. This includes the copy/paste shortcuts. On some\n // platforms it's Ctrl-C/V, on others it's Meta-C/V. We assume either\n // Ctrl-C/Meta-C should pass to the browser when there is a selection,\n // and Ctrl-Shift-V/Meta-*-V should always pass to the browser (since\n // these seem to be recognized as paste too).\n [16, '[SHIFT]', PASS, PASS, PASS, DEFAULT],\n [90, 'zZ', DEFAULT, ctl('Z'), DEFAULT, DEFAULT],\n [88, 'xX', DEFAULT, ctl('X'), DEFAULT, DEFAULT],\n [67, 'cC', DEFAULT, c('onCtrlC_'), DEFAULT, c('onMetaC_')],\n [86, 'vV', DEFAULT, c('onCtrlV_'), DEFAULT, c('onMetaV_')],\n [66, 'bB', DEFAULT, sh(ctl('B'), PASS), DEFAULT, sh(DEFAULT, PASS)],\n [78, 'nN', DEFAULT, c('onCtrlN_'), DEFAULT, c('onMetaN_')],\n [77, 'mM', DEFAULT, ctl('M'), DEFAULT, DEFAULT],\n [188, ',<', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT],\n [190, '.>', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT],\n [191, '/?', DEFAULT, sh(ctl('_'), ctl('?')), DEFAULT, DEFAULT],\n\n // Sixth and final row.\n [17, '[CTRL]', PASS, PASS, PASS, PASS],\n [18, '[ALT]', PASS, PASS, PASS, PASS],\n [91, '[LAPL]', PASS, PASS, PASS, PASS],\n [32, ' ', DEFAULT, ctl('@'), DEFAULT, DEFAULT],\n [92, '[RAPL]', PASS, PASS, PASS, PASS],\n [93, '[RMENU]', PASS, PASS, PASS, PASS],\n\n // These things.\n [42, '[PRTSCR]', PASS, PASS, PASS, PASS],\n [145, '[SCRLK]', PASS, PASS, PASS, PASS],\n [19, '[BREAK]', PASS, PASS, PASS, PASS],\n\n // The block of six keys above the arrows.\n [45, '[INSERT]', c('onKeyInsert_'), DEFAULT, DEFAULT, DEFAULT],\n [36, '[HOME]', c('onKeyHome_'), DEFAULT, DEFAULT, DEFAULT],\n [33, '[PGUP]', c('onKeyPageUp_'), DEFAULT, DEFAULT, DEFAULT],\n [46, '[DEL]', c('onKeyDel_'), DEFAULT, DEFAULT, DEFAULT],\n [35, '[END]', c('onKeyEnd_'), DEFAULT, DEFAULT, DEFAULT],\n [34, '[PGDOWN]', c('onKeyPageDown_'), DEFAULT, DEFAULT, DEFAULT],\n\n // Arrow keys. When unmodified they respect the application cursor state,\n // otherwise they always send the CSI codes.\n [38, '[UP]', c('onKeyArrowUp_'), DEFAULT, DEFAULT, DEFAULT],\n [40, '[DOWN]', c('onKeyArrowDown_'), DEFAULT, DEFAULT, DEFAULT],\n [39, '[RIGHT]', ac(CSI + 'C', SS3 + 'C'), DEFAULT, DEFAULT, DEFAULT],\n [37, '[LEFT]', ac(CSI + 'D', SS3 + 'D'), DEFAULT, DEFAULT, DEFAULT],\n\n [144, '[NUMLOCK]', PASS, PASS, PASS, PASS],\n\n // With numlock off, the keypad generates the same key codes as the arrows\n // and 'block of six' for some keys, and null key codes for the rest.\n\n // Keypad with numlock on generates unique key codes...\n [96, '[KP0]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [97, '[KP1]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [98, '[KP2]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [99, '[KP3]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [100, '[KP4]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [101, '[KP5]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [102, '[KP6]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [103, '[KP7]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [104, '[KP8]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [105, '[KP9]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [107, '[KP+]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [109, '[KP-]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [106, '[KP*]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [111, '[KP/]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [110, '[KP.]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n\n // Chrome OS keyboard top row.\n [166, '[BACK]', med(mod(SS3+'P', CSI+'P')), DEFAULT, CSI+\"23~\", DEFAULT],\n [167, '[FWD]', med(mod(SS3+'Q', CSI+'Q')), DEFAULT, CSI+\"24~\", DEFAULT],\n [168, '[RELOAD]', med(mod(SS3+'R', CSI+'R')), DEFAULT, CSI+\"25~\", DEFAULT],\n [183, '[FSCR]', med(mod(SS3+'S', CSI+'S')), DEFAULT, CSI+\"26~\", DEFAULT],\n [182, '[WINS]', med(CSI + '15~'), DEFAULT, CSI+\"28~\", DEFAULT],\n [216, '[BRIT-]', med(CSI + '17~'), DEFAULT, CSI+\"29~\", DEFAULT],\n [217, '[BRIT+]', med(CSI + '18~'), DEFAULT, CSI+\"31~\", DEFAULT]\n\n // 173 [MUTE], 174 [VOL-] and 175 [VOL+] are trapped by the Chrome OS\n // window manager, so we'll never see them. Note that 173 is also\n // Firefox's -_ keycode.\n );\n};\n\n/**\n * Either allow the paste or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyInsert_ = function(e) {\n if (this.keyboard.shiftInsertPaste && e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return '\\x1b[2~';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyHome_ = function(e) {\n if (!this.keyboard.homeKeysScroll ^ e.shiftKey) {\n if ((e.altey || e.ctrlKey || e.shiftKey) ||\n !this.keyboard.applicationCursor) {\n return '\\x1b[H';\n }\n\n return '\\x1bOH';\n }\n\n this.keyboard.terminal.scrollHome();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyEnd_ = function(e) {\n if (!this.keyboard.homeKeysScroll ^ e.shiftKey) {\n if ((e.altKey || e.ctrlKey || e.shiftKey) ||\n !this.keyboard.applicationCursor) {\n return '\\x1b[F';\n }\n\n return '\\x1bOF';\n }\n\n this.keyboard.terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyPageUp_ = function(e) {\n if (!this.keyboard.pageKeysScroll ^ e.shiftKey)\n return '\\x1b[5~';\n\n this.keyboard.terminal.scrollPageUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either send a true DEL, or sub in meta-backspace.\n *\n * On Chrome OS, if we know the alt key is down, but we get a DEL event that\n * claims that the alt key is not pressed, we know the DEL was a synthetic\n * one from a user that hit alt-backspace. Based on a user pref, we can sub\n * in meta-backspace in this case.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyDel_ = function(e) {\n if (this.keyboard.altBackspaceIsMetaBackspace &&\n this.keyboard.altKeyPressed && !e.altKey)\n return '\\x1b\\x7f';\n return '\\x1b[3~';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyPageDown_ = function(e) {\n if (!this.keyboard.pageKeysScroll ^ e.shiftKey)\n return '\\x1b[6~';\n\n this.keyboard.terminal.scrollPageDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyArrowUp_ = function(e) {\n if (!this.keyboard.applicationCursor && e.shiftKey) {\n this.keyboard.terminal.scrollLineUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !this.keyboard.applicationCursor) ? '\\x1b[A' : '\\x1bOA';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyArrowDown_ = function(e) {\n if (!this.keyboard.applicationCursor && e.shiftKey) {\n this.keyboard.terminal.scrollLineDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !this.keyboard.applicationCursor) ? '\\x1b[B' : '\\x1bOB';\n};\n\n/**\n * Clear the primary/alternate screens and the scrollback buffer.\n */\nhterm.Keyboard.KeyMap.prototype.onClear_ = function(e, keyDef) {\n this.keyboard.terminal.wipeContents();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either pass Ctrl-1..9 to the browser or send them to the host.\n *\n * Note that Ctrl-1 and Ctrl-9 don't actually have special sequences mapped\n * to them in xterm or gnome-terminal. The range is really Ctrl-2..8, but\n * we handle 1..9 since Chrome treats the whole range special.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlNum_ = function(e, keyDef) {\n // Compute a control character for a given character.\n function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) }\n\n if (this.keyboard.terminal.passCtrlNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n switch (keyDef.keyCap.substr(0, 1)) {\n case '1': return '1';\n case '2': return ctl('@');\n case '3': return ctl('[');\n case '4': return ctl('\\\\');\n case '5': return ctl(']');\n case '6': return ctl('^');\n case '7': return ctl('_');\n case '8': return '\\x7f';\n case '9': return '9';\n }\n};\n\n/**\n * Either pass Alt-1..9 to the browser or send them to the host.\n */\nhterm.Keyboard.KeyMap.prototype.onAltNum_ = function(e, keyDef) {\n if (this.keyboard.terminal.passAltNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either pass Meta-1..9 to the browser or send them to the host.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaNum_ = function(e, keyDef) {\n if (this.keyboard.terminal.passMetaNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either send a ^C or interpret the keystroke as a copy command.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlC_ = function(e, keyDef) {\n var selection = this.keyboard.terminal.getDocument().getSelection();\n\n if (!selection.isCollapsed) {\n if (this.keyboard.ctrlCCopy && !e.shiftKey) {\n // Ctrl-C should copy if there is a selection, send ^C otherwise.\n // Perform the copy by letting the browser handle Ctrl-C. On most\n // browsers, this is the *only* way to place text on the clipboard from\n // the 'drive-by' web.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(selection.collapseToEnd.bind(selection), 50);\n }\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n if (!this.keyboard.ctrlCCopy && e.shiftKey) {\n // Ctrl-Shift-C should copy if there is a selection, send ^C otherwise.\n // Perform the copy manually. This only works in situations where\n // document.execCommand('copy') is allowed.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(selection.collapseToEnd.bind(selection), 50);\n }\n this.keyboard.terminal.copySelectionToClipboard();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n }\n\n return '\\x03';\n};\n\n/**\n * Either send a ^N or open a new window to the same location.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlN_ = function(e, keyDef) {\n if (e.shiftKey) {\n window.open(document.location.href, '',\n 'chrome=no,close=yes,resize=yes,scrollbars=yes,' +\n 'minimizable=yes,width=' + window.innerWidth +\n ',height=' + window.innerHeight);\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return '\\x0e';\n};\n\n/**\n * Either send a ^V or issue a paste command.\n *\n * The default behavior is to paste if the user presses Ctrl-Shift-V, and send\n * a ^V if the user presses Ctrl-V. This can be flipped with the\n * 'ctrl-v-paste' preference.\n *\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlV_ = function(e, keyDef) {\n if ((!e.shiftKey && this.keyboard.ctrlVPaste) ||\n (e.shiftKey && !this.keyboard.ctrlVPaste)) {\n // We try to do the pasting ourselves as not all browsers/OSs bind Ctrl-V to\n // pasting. Notably, on macOS, Ctrl-V/Ctrl-Shift-V do nothing.\n // However, this might run into web restrictions, so if it fails, we still\n // fallback to the letting the native behavior (hopefully) save us.\n if (this.keyboard.terminal.paste())\n return hterm.Keyboard.KeyActions.CANCEL;\n else\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n return '\\x16';\n};\n\n/**\n * Either the default action or open a new window to the same location.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaN_ = function(e, keyDef) {\n if (e.shiftKey) {\n window.open(document.location.href, '',\n 'chrome=no,close=yes,resize=yes,scrollbars=yes,' +\n 'minimizable=yes,width=' + window.outerWidth +\n ',height=' + window.outerHeight);\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either send a Meta-C or allow the browser to interpret the keystroke as a\n * copy command.\n *\n * If there is no selection, or if the user presses Meta-Shift-C, then we'll\n * transmit an '\\x1b' (if metaSendsEscape is on) followed by 'c' or 'C'.\n *\n * If there is a selection, we defer to the browser. In this case we clear out\n * the selection so the user knows we heard them, and also to give them a\n * chance to send a Meta-C by just hitting the key again.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaC_ = function(e, keyDef) {\n var document = this.keyboard.terminal.getDocument();\n if (e.shiftKey || document.getSelection().isCollapsed) {\n // If the shift key is being held, or there is no document selection, send\n // a Meta-C. The keyboard code will add the ESC if metaSendsEscape is true,\n // we just have to decide between 'c' and 'C'.\n return keyDef.keyCap.substr(e.shiftKey ? 1 : 0, 1);\n }\n\n // Otherwise let the browser handle it as a copy command.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(function() { document.getSelection().collapseToEnd() }, 50);\n }\n return hterm.Keyboard.KeyActions.PASS;\n};\n\n/**\n * Either PASS or DEFAULT Meta-V, depending on preference.\n *\n * Always PASS Meta-Shift-V to allow browser to interpret the keystroke as\n * a paste command.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaV_ = function(e, keyDef) {\n if (e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return this.keyboard.passMetaV ?\n hterm.Keyboard.KeyActions.PASS :\n hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Handle font zooming.\n *\n * The browser's built-in zoom has a bit of an issue at certain zoom levels.\n * At some magnifications, the measured height of a row of text differs from\n * the height that was explicitly set.\n *\n * We override the browser zoom keys to change the ScrollPort's font size to\n * avoid the issue.\n */\nhterm.Keyboard.KeyMap.prototype.onPlusMinusZero_ = function(e, keyDef) {\n if (!(this.keyboard.ctrlPlusMinusZeroZoom ^ e.shiftKey)) {\n // If ctrl-PMZ controls zoom and the shift key is pressed, or\n // ctrl-shift-PMZ controls zoom and this shift key is not pressed,\n // then we want to send the control code instead of affecting zoom.\n if (keyDef.keyCap == '-_')\n return '\\x1f'; // ^_\n\n // Only ^_ is valid, the other sequences have no meaning.\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n if (this.keyboard.terminal.getZoomFactor() != 1) {\n // If we're not at 1:1 zoom factor, let the Ctrl +/-/0 keys control the\n // browser zoom, so it's easier to for the user to get back to 100%.\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n var cap = keyDef.keyCap.substr(0, 1);\n if (cap == '0') {\n this.keyboard.terminal.setFontSize(0);\n } else {\n var size = this.keyboard.terminal.getFontSize();\n\n if (cap == '-' || keyDef.keyCap == '[KP-]') {\n size -= 1;\n } else {\n size += 1;\n }\n\n this.keyboard.terminal.setFontSize(size);\n }\n\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_keypattern.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * A record of modifier bits and keycode used to define a key binding.\n *\n * The modifier names are enumerated in the static KeyPattern.modifiers\n * property below. Each modifier can be true, false, or \"*\". True means\n * the modifier key must be present, false means it must not, and \"*\" means\n * it doesn't matter.\n */\nhterm.Keyboard.KeyPattern = function(spec) {\n this.wildcardCount = 0;\n this.keyCode = spec.keyCode;\n\n hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) {\n this[mod] = spec[mod] || false;\n if (this[mod] == '*')\n this.wildcardCount++;\n }.bind(this));\n};\n\n/**\n * Valid modifier names.\n */\nhterm.Keyboard.KeyPattern.modifiers = [\n 'shift', 'ctrl', 'alt', 'meta'\n];\n\n/**\n * A compare callback for Array.prototype.sort().\n *\n * The bindings code wants to be sure to search through the strictest key\n * patterns first, so that loosely defined patterns have a lower priority than\n * exact patterns.\n *\n * @param {hterm.Keyboard.KeyPattern} a\n * @param {hterm.Keyboard.KeyPattern} b\n */\nhterm.Keyboard.KeyPattern.sortCompare = function(a, b) {\n if (a.wildcardCount < b.wildcardCount)\n return -1;\n\n if (a.wildcardCount > b.wildcardCount)\n return 1;\n\n return 0;\n};\n\n/**\n * Private method used to match this key pattern against other key patterns\n * or key down events.\n *\n * @param {Object} The object to match.\n * @param {boolean} True if we should ignore wildcards. Useful when you want\n * to perform and exact match against another key pattern.\n */\nhterm.Keyboard.KeyPattern.prototype.match_ = function(obj, exactMatch) {\n if (this.keyCode != obj.keyCode)\n return false;\n\n var rv = true;\n\n hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) {\n var modValue = (mod in obj) ? obj[mod] : false;\n if (!rv || (!exactMatch && this[mod] == '*') || this[mod] == modValue)\n return;\n\n rv = false;\n }.bind(this));\n\n return rv;\n};\n\n/**\n * Return true if the given keyDown object is a match for this key pattern.\n *\n * @param {Object} keyDown An object with a keyCode property and zero or\n * more boolean properties representing key modifiers. These property names\n * must match those defined in hterm.Keyboard.KeyPattern.modifiers.\n */\nhterm.Keyboard.KeyPattern.prototype.matchKeyDown = function(keyDown) {\n return this.match_(keyDown, false);\n};\n\n/**\n * Return true if the given hterm.Keyboard.KeyPattern is exactly the same as\n * this one.\n *\n * @param {hterm.Keyboard.KeyPattern}\n */\nhterm.Keyboard.KeyPattern.prototype.matchKeyPattern = function(keyPattern) {\n return this.match_(keyPattern, true);\n};\n// SOURCE FILE: hterm/js/hterm_options.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview This file implements the hterm.Options class,\n * which stores current operating conditions for the terminal. This object is\n * used instead of a series of parameters to allow saving/restoring of cursor\n * conditions easily, and to provide an easy place for common configuration\n * options.\n *\n * Original code by Cory Maccarrone.\n */\n\n/**\n * Constructor for the hterm.Options class, optionally acting as a copy\n * constructor.\n *\n * The defaults are as defined in http://www.vt100.net/docs/vt510-rm/DECSTR\n * except that we enable autowrap (wraparound) by default since that seems to\n * be what xterm does.\n *\n * @param {hterm.Options=} opt_copy Optional instance to copy.\n * @constructor\n */\nhterm.Options = function(opt_copy) {\n // All attributes in this class are public to allow easy access by the\n // terminal.\n\n this.wraparound = opt_copy ? opt_copy.wraparound : true;\n this.reverseWraparound = opt_copy ? opt_copy.reverseWraparound : false;\n this.originMode = opt_copy ? opt_copy.originMode : false;\n this.autoCarriageReturn = opt_copy ? opt_copy.autoCarriageReturn : false;\n this.cursorVisible = opt_copy ? opt_copy.cursorVisible : false;\n this.cursorBlink = opt_copy ? opt_copy.cursorBlink : false;\n this.insertMode = opt_copy ? opt_copy.insertMode : false;\n this.reverseVideo = opt_copy ? opt_copy.reverseVideo : false;\n this.bracketedPaste = opt_copy ? opt_copy.bracketedPaste : false;\n};\n// SOURCE FILE: hterm/js/hterm_parser.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyActions');\n\n/**\n * @constructor\n * Parses the key definition syntax used for user keyboard customizations.\n */\nhterm.Parser = function() {\n /**\n * @type {string} The source string.\n */\n this.source = '';\n\n /**\n * @type {number} The current position.\n */\n this.pos = 0;\n\n /**\n * @type {string?} The character at the current position.\n */\n this.ch = null;\n};\n\nhterm.Parser.prototype.error = function(message) {\n return new Error('Parse error at ' + this.pos + ': ' + message);\n};\n\nhterm.Parser.prototype.isComplete = function() {\n return this.pos == this.source.length;\n};\n\nhterm.Parser.prototype.reset = function(source, opt_pos) {\n this.source = source;\n this.pos = opt_pos || 0;\n this.ch = source.substr(0, 1);\n};\n\n/**\n * Parse a key sequence.\n *\n * A key sequence is zero or more of the key modifiers defined in\n * hterm.Parser.identifiers.modifierKeys followed by a key code. Key\n * codes can be an integer or an identifier from\n * hterm.Parser.identifiers.keyCodes. Modifiers and keyCodes should be joined\n * by the dash character.\n *\n * An asterisk \"*\" can be used to indicate that the unspecified modifiers\n * are optional.\n *\n * For example:\n * A: Matches only an unmodified \"A\" character.\n * 65: Same as above.\n * 0x41: Same as above.\n * Ctrl-A: Matches only Ctrl-A.\n * Ctrl-65: Same as above.\n * Ctrl-0x41: Same as above.\n * Ctrl-Shift-A: Matches only Ctrl-Shift-A.\n * Ctrl-*-A: Matches Ctrl-A, as well as any other key sequence that includes\n * at least the Ctrl and A keys.\n *\n * @return {Object} An object with shift, ctrl, alt, meta, keyCode\n * properties.\n */\nhterm.Parser.prototype.parseKeySequence = function() {\n var rv = {\n keyCode: null\n };\n\n for (var k in hterm.Parser.identifiers.modifierKeys) {\n rv[hterm.Parser.identifiers.modifierKeys[k]] = false;\n }\n\n while (this.pos < this.source.length) {\n this.skipSpace();\n\n var token = this.parseToken();\n if (token.type == 'integer') {\n rv.keyCode = token.value;\n\n } else if (token.type == 'identifier') {\n var ucValue = token.value.toUpperCase();\n if (ucValue in hterm.Parser.identifiers.modifierKeys &&\n hterm.Parser.identifiers.modifierKeys.hasOwnProperty(ucValue)) {\n var mod = hterm.Parser.identifiers.modifierKeys[ucValue];\n if (rv[mod] && rv[mod] != '*')\n throw this.error('Duplicate modifier: ' + token.value);\n rv[mod] = true;\n\n } else if (ucValue in hterm.Parser.identifiers.keyCodes &&\n hterm.Parser.identifiers.keyCodes.hasOwnProperty(ucValue)) {\n rv.keyCode = hterm.Parser.identifiers.keyCodes[ucValue];\n\n } else {\n throw this.error('Unknown key: ' + token.value);\n }\n\n } else if (token.type == 'symbol') {\n if (token.value == '*') {\n for (var id in hterm.Parser.identifiers.modifierKeys) {\n var p = hterm.Parser.identifiers.modifierKeys[id];\n if (!rv[p])\n rv[p] = '*';\n }\n } else {\n throw this.error('Unexpected symbol: ' + token.value);\n }\n } else {\n throw this.error('Expected integer or identifier');\n }\n\n this.skipSpace();\n\n if (this.ch != '-')\n break;\n\n if (rv.keyCode != null)\n throw this.error('Extra definition after target key');\n\n this.advance(1);\n }\n\n if (rv.keyCode == null)\n throw this.error('Missing target key');\n\n return rv;\n};\n\nhterm.Parser.prototype.parseKeyAction = function() {\n this.skipSpace();\n\n var token = this.parseToken();\n\n if (token.type == 'string')\n return token.value;\n\n if (token.type == 'identifier') {\n if (token.value in hterm.Parser.identifiers.actions &&\n hterm.Parser.identifiers.actions.hasOwnProperty(token.value))\n return hterm.Parser.identifiers.actions[token.value];\n\n throw this.error('Unknown key action: ' + token.value);\n }\n\n throw this.error('Expected string or identifier');\n\n};\n\nhterm.Parser.prototype.peekString = function() {\n return this.ch == '\\'' || this.ch == '\"';\n};\n\nhterm.Parser.prototype.peekIdentifier = function() {\n return this.ch.match(/[a-z_]/i);\n};\n\nhterm.Parser.prototype.peekInteger = function() {\n return this.ch.match(/[0-9]/);\n};\n\nhterm.Parser.prototype.parseToken = function() {\n if (this.ch == '*') {\n var rv = {type: 'symbol', value: this.ch};\n this.advance(1);\n return rv;\n }\n\n if (this.peekIdentifier())\n return {type: 'identifier', value: this.parseIdentifier()};\n\n if (this.peekString())\n return {type: 'string', value: this.parseString()};\n\n if (this.peekInteger())\n return {type: 'integer', value: this.parseInteger()};\n\n\n throw this.error('Unexpected token');\n};\n\nhterm.Parser.prototype.parseIdentifier = function() {\n if (!this.peekIdentifier())\n throw this.error('Expected identifier');\n\n return this.parsePattern(/[a-z0-9_]+/ig);\n};\n\nhterm.Parser.prototype.parseInteger = function() {\n var base = 10;\n\n if (this.ch == '0' && this.pos < this.source.length - 1 &&\n this.source.substr(this.pos + 1, 1) == 'x') {\n return parseInt(this.parsePattern(/0x[0-9a-f]+/gi));\n }\n\n return parseInt(this.parsePattern(/\\d+/g));\n};\n\n/**\n * Parse a single or double quoted string.\n *\n * The current position should point at the initial quote character. Single\n * quoted strings will be treated literally, double quoted will process escapes.\n *\n * TODO(rginda): Variable interpolation.\n *\n * @param {ParseState} parseState\n * @param {string} quote A single or double-quote character.\n * @return {string}\n */\nhterm.Parser.prototype.parseString = function() {\n var result = '';\n\n var quote = this.ch;\n if (quote != '\"' && quote != '\\'')\n throw this.error('String expected');\n\n this.advance(1);\n\n var re = new RegExp('[\\\\\\\\' + quote + ']', 'g');\n\n while (this.pos < this.source.length) {\n re.lastIndex = this.pos;\n if (!re.exec(this.source))\n throw this.error('Unterminated string literal');\n\n result += this.source.substring(this.pos, re.lastIndex - 1);\n\n this.advance(re.lastIndex - this.pos - 1);\n\n if (quote == '\"' && this.ch == '\\\\') {\n this.advance(1);\n result += this.parseEscape();\n continue;\n }\n\n if (quote == '\\'' && this.ch == '\\\\') {\n result += this.ch;\n this.advance(1);\n continue;\n }\n\n if (this.ch == quote) {\n this.advance(1);\n return result;\n }\n }\n\n throw this.error('Unterminated string literal');\n};\n\n\n/**\n * Parse an escape code from the current position (which should point to\n * the first character AFTER the leading backslash.)\n *\n * @return {string}\n */\nhterm.Parser.prototype.parseEscape = function() {\n var map = {\n '\"': '\"',\n '\\'': '\\'',\n '\\\\': '\\\\',\n 'a': '\\x07',\n 'b': '\\x08',\n 'e': '\\x1b',\n 'f': '\\x0c',\n 'n': '\\x0a',\n 'r': '\\x0d',\n 't': '\\x09',\n 'v': '\\x0b',\n 'x': function() {\n var value = this.parsePattern(/[a-z0-9]{2}/ig);\n return String.fromCharCode(parseInt(value, 16));\n },\n 'u': function() {\n var value = this.parsePattern(/[a-z0-9]{4}/ig);\n return String.fromCharCode(parseInt(value, 16));\n }\n };\n\n if (!(this.ch in map && map.hasOwnProperty(this.ch)))\n throw this.error('Unknown escape: ' + this.ch);\n\n var value = map[this.ch];\n this.advance(1);\n\n if (typeof value == 'function')\n value = value.call(this);\n\n return value;\n};\n\n/**\n * Parse the given pattern starting from the current position.\n *\n * @param {RegExp} pattern A pattern representing the characters to span. MUST\n * include the \"global\" RegExp flag.\n * @return {string}\n */\nhterm.Parser.prototype.parsePattern = function(pattern) {\n if (!pattern.global)\n throw this.error('Internal error: Span patterns must be global');\n\n pattern.lastIndex = this.pos;\n var ary = pattern.exec(this.source);\n\n if (!ary || pattern.lastIndex - ary[0].length != this.pos)\n throw this.error('Expected match for: ' + pattern);\n\n this.pos = pattern.lastIndex - 1;\n this.advance(1);\n\n return ary[0];\n};\n\n\n/**\n * Advance the current position.\n *\n * @param {number} count\n */\nhterm.Parser.prototype.advance = function(count) {\n this.pos += count;\n this.ch = this.source.substr(this.pos, 1);\n};\n\n/**\n * @param {string=} opt_expect A list of valid non-whitespace characters to\n * terminate on.\n * @return {void}\n */\nhterm.Parser.prototype.skipSpace = function(opt_expect) {\n if (!/\\s/.test(this.ch))\n return;\n\n var re = /\\s+/gm;\n re.lastIndex = this.pos;\n\n var source = this.source;\n if (re.exec(source))\n this.pos = re.lastIndex;\n\n this.ch = this.source.substr(this.pos, 1);\n\n if (opt_expect) {\n if (this.ch.indexOf(opt_expect) == -1) {\n throw this.error('Expected one of ' + opt_expect + ', found: ' +\n this.ch);\n }\n }\n};\n// SOURCE FILE: hterm/js/hterm_parser_identifiers.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Collections of identifier for hterm.Parser.\n */\nhterm.Parser.identifiers = {};\n\n/**\n * Modifier key names used when defining key sequences.\n *\n * These are upper case so we can normalize the user input and be forgiving.\n * \"CTRL-A\" and \"Ctrl-A\" and \"ctrl-a\" are all accepted.\n *\n * Note: Names here cannot overlap with hterm.Parser.identifiers.keyCodes.\n */\nhterm.Parser.identifiers.modifierKeys = {\n SHIFT: 'shift',\n CTRL: 'ctrl',\n // Common alias.\n CONTROL: 'ctrl',\n ALT: 'alt',\n META: 'meta'\n};\n\n/**\n * Key codes useful when defining key sequences.\n *\n * Punctuation is mostly left out of this list because they can move around\n * based on keyboard locale and browser.\n *\n * In a key sequence like \"Ctrl-ESC\", the ESC comes from this list of\n * identifiers. It is equivalent to \"Ctrl-27\" and \"Ctrl-0x1b\".\n *\n * These are upper case so we can normalize the user input and be forgiving.\n * \"Ctrl-ESC\" and \"Ctrl-Esc\" an \"Ctrl-esc\" are all accepted.\n *\n * We also include common aliases for the same key. \"Esc\" and \"Escape\" are the\n * same key.\n *\n * Note: Names here cannot overlap with hterm.Parser.identifiers.modifierKeys.\n */\nhterm.Parser.identifiers.keyCodes = {\n // Top row.\n ESCAPE: 27,\n ESC: 27,\n F1: 112,\n F2: 113,\n F3: 114,\n F4: 115,\n F5: 116,\n F6: 117,\n F7: 118,\n F8: 119,\n F9: 120,\n F10: 121,\n F11: 122,\n F12: 123,\n\n // Row two.\n ONE: 49,\n TWO: 50,\n THREE: 51,\n FOUR: 52,\n FIVE: 53,\n SIX: 54,\n SEVEN: 55,\n EIGHT: 56,\n NINE: 57,\n ZERO: 48,\n BACKSPACE: 8,\n BKSP: 8,\n BS: 8,\n\n // Row three.\n TAB: 9,\n Q: 81,\n W: 87,\n E: 69,\n R: 82,\n T: 84,\n Y: 89,\n U: 85,\n I: 73,\n O: 79,\n P: 80,\n\n // Row four.\n CAPS_LOCK: 20,\n CAPSLOCK: 20,\n CAPS: 20,\n A: 65,\n S: 83,\n D: 68,\n F: 70,\n G: 71,\n H: 72,\n J: 74,\n K: 75,\n L: 76,\n // We map enter and return together even though enter should really be 10\n // because most people don't know or care about the history here. Plus,\n // most keyboards/programs map them together already. If they really want\n // to bind them differently, they can also use the numeric value.\n ENTER: 13,\n ENT: 13,\n RETURN: 13,\n RET: 13,\n\n // Row five.\n Z: 90,\n X: 88,\n C: 67,\n V: 86,\n B: 66,\n N: 78,\n M: 77,\n\n // Etc.\n SPACE: 32,\n SP: 32,\n PRINT_SCREEN: 42,\n PRTSC: 42,\n SCROLL_LOCK: 145,\n SCRLK: 145,\n BREAK: 19,\n BRK: 19,\n INSERT: 45,\n INS: 45,\n HOME: 36,\n PAGE_UP: 33,\n PGUP: 33,\n DELETE: 46,\n DEL: 46,\n END: 35,\n PAGE_DOWN: 34,\n PGDOWN: 34,\n PGDN: 34,\n UP: 38,\n DOWN: 40,\n RIGHT: 39,\n LEFT: 37,\n NUMLOCK: 144,\n\n // Keypad\n KP0: 96,\n KP1: 97,\n KP2: 98,\n KP3: 99,\n KP4: 100,\n KP5: 101,\n KP6: 102,\n KP7: 103,\n KP8: 104,\n KP9: 105,\n KP_PLUS: 107,\n KP_ADD: 107,\n KP_MINUS: 109,\n KP_SUBTRACT: 109,\n KP_STAR: 106,\n KP_MULTIPLY: 106,\n KP_DIVIDE: 111,\n KP_DECIMAL: 110,\n KP_PERIOD: 110,\n\n // Chrome OS media keys\n NAVIGATE_BACK: 166,\n NAVIGATE_FORWARD: 167,\n RELOAD: 168,\n FULL_SCREEN: 183,\n WINDOW_OVERVIEW: 182,\n BRIGHTNESS_UP: 216,\n BRIGHTNESS_DOWN: 217\n};\n\n/**\n * Identifiers for use in key actions.\n */\nhterm.Parser.identifiers.actions = {\n /**\n * Prevent the browser and operating system from handling the event.\n */\n CANCEL: hterm.Keyboard.KeyActions.CANCEL,\n\n /**\n * Wait for a \"keypress\" event, send the keypress charCode to the host.\n */\n DEFAULT: hterm.Keyboard.KeyActions.DEFAULT,\n\n /**\n * Let the browser or operating system handle the key.\n */\n PASS: hterm.Keyboard.KeyActions.PASS,\n\n /**\n * Scroll the terminal one page up.\n */\n scrollPageUp: function(terminal) {\n terminal.scrollPageUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal one page down.\n */\n scrollPageDown: function(terminal) {\n terminal.scrollPageDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal to the top.\n */\n scrollToTop: function(terminal) {\n terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal to the bottom.\n */\n scrollToBottom: function(terminal) {\n terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Clear the terminal and scrollback buffer.\n */\n clearScrollback: function(terminal) {\n terminal.wipeContents();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n};\n// SOURCE FILE: hterm/js/hterm_preference_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'lib.Storage');\n\n/**\n * PreferenceManager subclass managing global NaSSH preferences.\n *\n * This is currently just an ordered list of known connection profiles.\n */\nhterm.PreferenceManager = function(profileId) {\n lib.PreferenceManager.call(this, hterm.defaultStorage,\n '/hterm/profiles/' + profileId);\n var defs = hterm.PreferenceManager.defaultPreferences;\n Object.keys(defs).forEach(function(key) {\n this.definePreference(key, defs[key][1]);\n }.bind(this));\n};\n\nhterm.PreferenceManager.categories = {};\nhterm.PreferenceManager.categories.Keyboard = 'Keyboard';\nhterm.PreferenceManager.categories.Appearance = 'Appearance';\nhterm.PreferenceManager.categories.CopyPaste = 'CopyPaste';\nhterm.PreferenceManager.categories.Sounds = 'Sounds';\nhterm.PreferenceManager.categories.Scrolling = 'Scrolling';\nhterm.PreferenceManager.categories.Encoding = 'Encoding';\nhterm.PreferenceManager.categories.Miscellaneous = 'Miscellaneous';\n\n/**\n * List of categories, ordered by display order (top to bottom)\n */\nhterm.PreferenceManager.categoryDefinitions = [\n { id: hterm.PreferenceManager.categories.Appearance,\n text: 'Appearance (fonts, colors, images)'},\n { id: hterm.PreferenceManager.categories.CopyPaste,\n text: 'Copy & Paste'},\n { id: hterm.PreferenceManager.categories.Encoding,\n text: 'Encoding'},\n { id: hterm.PreferenceManager.categories.Keyboard,\n text: 'Keyboard'},\n { id: hterm.PreferenceManager.categories.Scrolling,\n text: 'Scrolling'},\n { id: hterm.PreferenceManager.categories.Sounds,\n text: 'Sounds'},\n { id: hterm.PreferenceManager.categories.Miscellaneous,\n text: 'Misc.'}\n];\n\n\nhterm.PreferenceManager.defaultPreferences = {\n 'alt-gr-mode':\n [hterm.PreferenceManager.categories.Keyboard, null,\n [null, 'none', 'ctrl-alt', 'left-alt', 'right-alt'],\n 'Select an AltGr detection hack^Wheuristic.\\n' +\n '\\n' +\n '\\'null\\': Autodetect based on navigator.language:\\n' +\n ' \\'en-us\\' => \\'none\\', else => \\'right-alt\\'\\n' +\n '\\'none\\': Disable any AltGr related munging.\\n' +\n '\\'ctrl-alt\\': Assume Ctrl+Alt means AltGr.\\n' +\n '\\'left-alt\\': Assume left Alt means AltGr.\\n' +\n '\\'right-alt\\': Assume right Alt means AltGr.\\n'],\n\n 'alt-backspace-is-meta-backspace':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If set, undoes the Chrome OS Alt-Backspace->DEL remap, so that ' +\n 'alt-backspace indeed is alt-backspace.'],\n\n 'alt-is-meta':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Set whether the alt key acts as a meta key or as a distinct alt key.'],\n\n 'alt-sends-what':\n [hterm.PreferenceManager.categories.Keyboard, 'escape',\n ['escape', '8-bit', 'browser-key'],\n 'Controls how the alt key is handled.\\n' +\n '\\n' +\n ' escape....... Send an ESC prefix.\\n' +\n ' 8-bit........ Add 128 to the unshifted character as in xterm.\\n' +\n ' browser-key.. Wait for the keypress event and see what the browser \\n' +\n ' says. (This won\\'t work well on platforms where the \\n' +\n ' browser performs a default action for some alt sequences.)'\n ],\n\n 'audible-bell-sound':\n [hterm.PreferenceManager.categories.Sounds, 'lib-resource:hterm/audio/bell',\n 'url',\n 'URL of the terminal bell sound. Empty string for no audible bell.'],\n\n 'desktop-notification-bell':\n [hterm.PreferenceManager.categories.Sounds, false, 'bool',\n 'If true, terminal bells in the background will create a Web ' +\n 'Notification. https://www.w3.org/TR/notifications/\\n' +\n '\\n'+\n 'Displaying notifications requires permission from the user. When this ' +\n 'option is set to true, hterm will attempt to ask the user for permission ' +\n 'if necessary. Note browsers may not show this permission request if it ' +\n 'did not originate from a user action.\\n' +\n '\\n' +\n 'Chrome extensions with the \"notifications\" permission have permission to ' +\n 'display notifications.'],\n\n 'background-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgb(16, 16, 16)', 'color',\n 'The background color for text with no other color attributes.'],\n\n 'background-image':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image. Empty string for no image.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' url(https://goo.gl/anedTK)\\n' +\n ' linear-gradient(top bottom, blue, red)'],\n\n 'background-size':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image size. Defaults to none.'],\n\n 'background-position':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image position.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' 10% 10%\\n' +\n ' center'],\n\n 'backspace-sends-backspace':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, the backspace should send BS (\\'\\\\x08\\', aka ^H). Otherwise ' +\n 'the backspace key should send \\'\\\\x7f\\'.'],\n\n 'character-map-overrides':\n [hterm.PreferenceManager.categories.Appearance, null, 'value',\n 'This is specified as an object. It is a sparse array, where each ' +\n 'property is the character set code and the value is an object that is ' +\n 'a sparse array itself. In that sparse array, each property is the ' +\n 'received character and the value is the displayed character.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' {\"0\":{\"+\":\"\\\\u2192\",\",\":\"\\\\u2190\",\"-\":\"\\\\u2191\",\".\":\"\\\\u2193\", ' +\n '\"0\":\"\\\\u2588\"}}'\n ],\n\n 'close-on-exit':\n [hterm.PreferenceManager.categories.Miscellaneous, true, 'bool',\n 'Whether or not to close the window when the command exits.'],\n\n 'cursor-blink':\n [hterm.PreferenceManager.categories.Appearance, false, 'bool',\n 'Whether or not to blink the cursor by default.'],\n\n 'cursor-blink-cycle':\n [hterm.PreferenceManager.categories.Appearance, [1000, 500], 'value',\n 'The cursor blink rate in milliseconds.\\n' +\n '\\n' +\n 'A two element array, the first of which is how long the cursor should be ' +\n 'on, second is how long it should be off.'],\n\n 'cursor-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgba(255, 0, 0, 0.5)',\n 'color',\n 'The color of the visible cursor.'],\n\n 'color-palette-overrides':\n [hterm.PreferenceManager.categories.Appearance, null, 'value',\n 'Override colors in the default palette.\\n' +\n '\\n' +\n 'This can be specified as an array or an object. If specified as an ' +\n 'object it is assumed to be a sparse array, where each property ' +\n 'is a numeric index into the color palette.\\n' +\n '\\n' +\n 'Values can be specified as almost any css color value. This ' +\n 'includes #RGB, #RRGGBB, rgb(...), rgba(...), and any color names ' +\n 'that are also part of the stock X11 rgb.txt file.\\n' +\n '\\n' +\n 'You can use \\'null\\' to specify that the default value should be not ' +\n 'be changed. This is useful for skipping a small number of indices ' +\n 'when the value is specified as an array.'],\n\n 'copy-on-select':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Automatically copy mouse selection to the clipboard.'],\n\n 'use-default-window-copy':\n [hterm.PreferenceManager.categories.CopyPaste, false, 'bool',\n 'Whether to use the default window copy behavior'],\n\n 'clear-selection-after-copy':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Whether to clear the selection after copying.'],\n\n 'ctrl-plus-minus-zero-zoom':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'If true, Ctrl-Plus/Minus/Zero controls zoom.\\n' +\n 'If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_, ' +\n 'Ctrl-Plus/Zero do nothing.'],\n\n 'ctrl-c-copy':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Ctrl+C copies if true, send ^C to host if false.\\n' +\n 'Ctrl+Shift+C sends ^C to host if true, copies if false.'],\n\n 'ctrl-v-paste':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Ctrl+V pastes if true, send ^V to host if false.\\n' +\n 'Ctrl+Shift+V sends ^V to host if true, pastes if false.'],\n\n 'east-asian-ambiguous-as-two-column':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Set whether East Asian Ambiguous characters have two column width.'],\n\n 'enable-8-bit-control':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'True to enable 8-bit control characters, false to ignore them.\\n' +\n '\\n' +\n 'We\\'ll respect the two-byte versions of these control characters ' +\n 'regardless of this setting.'],\n\n 'enable-bold':\n [hterm.PreferenceManager.categories.Appearance, null, 'tristate',\n 'True if we should use bold weight font for text with the bold/bright ' +\n 'attribute. False to use the normal weight font. Null to autodetect.'],\n\n 'enable-bold-as-bright':\n [hterm.PreferenceManager.categories.Appearance, true, 'bool',\n 'True if we should use bright colors (8-15 on a 16 color palette) ' +\n 'for any text with the bold attribute. False otherwise.'],\n\n 'enable-blink':\n [hterm.PreferenceManager.categories.Appearance, true, 'bool',\n 'True if we should respect the blink attribute. False to ignore it. '],\n\n 'enable-clipboard-notice':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Show a message in the terminal when the host writes to the clipboard.'],\n\n 'enable-clipboard-write':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Allow the host to write directly to the system clipboard.'],\n\n 'enable-dec12':\n [hterm.PreferenceManager.categories.Miscellaneous, false, 'bool',\n 'Respect the host\\'s attempt to change the cursor blink status using ' +\n 'DEC Private Mode 12.'],\n\n 'environment':\n [hterm.PreferenceManager.categories.Miscellaneous, {'TERM': 'xterm-256color'},\n 'value',\n 'The default environment variables, as an object.'],\n\n 'font-family':\n [hterm.PreferenceManager.categories.Appearance,\n '\"DejaVu Sans Mono\", \"Everson Mono\", FreeMono, \"Menlo\", \"Terminal\", ' +\n 'monospace', 'string',\n 'Default font family for the terminal text.'],\n\n 'font-size':\n [hterm.PreferenceManager.categories.Appearance, 15, 'int',\n 'The default font size in pixels.'],\n\n 'font-smoothing':\n [hterm.PreferenceManager.categories.Appearance, 'antialiased', 'string',\n 'CSS font-smoothing property.'],\n\n 'foreground-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgb(240, 240, 240)', 'color',\n 'The foreground color for text with no other color attributes.'],\n\n 'home-keys-scroll':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, home/end will control the terminal scrollbar and shift home/end ' +\n 'will send the VT keycodes. If false then home/end sends VT codes and ' +\n 'shift home/end scrolls.'],\n\n 'keybindings':\n [hterm.PreferenceManager.categories.Keyboard, null, 'value',\n 'A map of key sequence to key actions. Key sequences include zero or ' +\n 'more modifier keys followed by a key code. Key codes can be decimal or ' +\n 'hexadecimal numbers, or a key identifier. Key actions can be specified ' +\n 'a string to send to the host, or an action identifier. For a full ' +\n 'explanation of the format, see https://goo.gl/LWRndr.\\n' +\n '\\n' +\n 'Sample keybindings:\\n' +\n '{\\n' +\n ' \"Ctrl-Alt-K\": \"clearScrollback\",\\n' +\n ' \"Ctrl-Shift-L\": \"PASS\",\\n' +\n ' \"Ctrl-H\": \"\\'HELLO\\\\n\\'\"\\n' +\n '}'],\n\n 'max-string-sequence':\n [hterm.PreferenceManager.categories.Encoding, 100000, 'int',\n 'Max length of a DCS, OSC, PM, or APS sequence before we give up and ' +\n 'ignore the code.'],\n\n 'media-keys-are-fkeys':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, convert media keys to their Fkey equivalent. If false, let ' +\n 'the browser handle the keys.'],\n\n 'meta-sends-escape':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Set whether the meta key sends a leading escape or not.'],\n\n 'mouse-right-click-paste':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Paste on right mouse button clicks.\\n' +\n '\\n' +\n 'This option is activate independent of the \"mouse-paste-button\" ' +\n 'setting.\\n' +\n '\\n' +\n 'Note: This will handle left & right handed mice correctly.'],\n\n 'mouse-paste-button':\n [hterm.PreferenceManager.categories.CopyPaste, null,\n [null, 0, 1, 2, 3, 4, 5, 6],\n 'Mouse paste button, or null to autodetect.\\n' +\n '\\n' +\n 'For autodetect, we\\'ll use the middle mouse button for non-X11 ' +\n 'platforms (including Chrome OS). On X11, we\\'ll use the right mouse ' +\n 'button (since the native window manager should paste via the middle ' +\n 'mouse button).\\n' +\n '\\n' +\n '0 == left (primary) button.\\n' +\n '1 == middle (auxiliary) button.\\n' +\n '2 == right (secondary) button.\\n' +\n '\\n' +\n 'This option is activate independent of the \"mouse-right-click-paste\" ' +\n 'setting.\\n' +\n '\\n' +\n 'Note: This will handle left & right handed mice correctly.'],\n\n 'word-break-match-left':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^!@#$%&*,;:`]', 'string',\n 'Regular expression to halt matching to the left (start) of a selection.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.\\n' +\n 'We allow \"~\" and \".\" by default as paths frequently start with those.'],\n\n 'word-break-match-right':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^!@#$%&*,;:~.`]', 'string',\n 'Regular expression to halt matching to the right (end) of a selection.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.'],\n\n 'word-break-match-middle':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^]*', 'string',\n 'Regular expression to match all the characters in the middle.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.\\n' +\n '\\n' +\n 'Used to expand the selection surrounding the starting point.'],\n\n 'page-keys-scroll':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, page up/down will control the terminal scrollbar and shift ' +\n 'page up/down will send the VT keycodes. If false then page up/down ' +\n 'sends VT codes and shift page up/down scrolls.'],\n\n 'pass-alt-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Alt-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Alt-1..9 will be handled by the browser. If false, Alt-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-ctrl-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Ctrl-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Ctrl-1..9 will be handled by the browser. If false, Ctrl-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-meta-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Meta-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Meta-1..9 will be handled by the browser. If false, Meta-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-meta-v':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Set whether meta-V gets passed to host.'],\n\n 'receive-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'],\n 'Set the expected encoding for data received from the host.\\n' +\n '\\n' +\n 'Valid values are \\'utf-8\\' and \\'raw\\'.'],\n\n 'scroll-on-keystroke':\n [hterm.PreferenceManager.categories.Scrolling, true, 'bool',\n 'If true, scroll to the bottom on any keystroke.'],\n\n 'scroll-on-output':\n [hterm.PreferenceManager.categories.Scrolling, false, 'bool',\n 'If true, scroll to the bottom on terminal output.'],\n\n 'scrollbar-visible':\n [hterm.PreferenceManager.categories.Scrolling, true, 'bool',\n 'The vertical scrollbar mode.'],\n\n 'scroll-wheel-may-send-arrow-keys':\n [hterm.PreferenceManager.categories.Scrolling, false, 'bool',\n 'When using the alternative screen buffer, and DECCKM (Application Cursor ' +\n 'Keys) is active, mouse wheel scroll events will emulate arrow keys.\\n' +\n '\\n' +\n 'It can be temporarily disabled by holding the shift key.\\n' +\n '\\n' +\n 'This frequently comes up when using pagers (less) or reading man pages ' +\n 'or text editors (vi/nano) or using screen/tmux.'],\n\n 'scroll-wheel-move-multiplier':\n [hterm.PreferenceManager.categories.Scrolling, 1, 'int',\n 'The multiplier for the pixel delta in wheel events caused by the ' +\n 'scroll wheel. Alters how fast the page scrolls.'],\n\n 'send-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'],\n 'Set the encoding for data sent to host.'],\n\n 'terminal-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'iso-2022',\n ['iso-2022', 'utf-8', 'utf-8-locked'],\n 'The default terminal encoding (DOCS).\\n' +\n '\\n' +\n 'ISO-2022 enables character map translations (like graphics maps).\\n' +\n 'UTF-8 disables support for those.\\n' +\n '\\n' +\n 'The locked variant means the encoding cannot be changed at runtime ' +\n 'via terminal escape sequences.\\n' +\n '\\n' +\n 'You should stick with UTF-8 unless you notice broken rendering with ' +\n 'legacy applications.'],\n\n 'shift-insert-paste':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Shift + Insert pastes if true, sent to host if false.'],\n\n 'user-css':\n [hterm.PreferenceManager.categories.Appearance, '', 'url',\n 'URL of user stylesheet to include in the terminal document.'],\n\n 'user-css-text':\n [hterm.PreferenceManager.categories.Appearance, '', 'multiline-string',\n 'Custom CSS text for styling the terminal.'],\n};\n\nhterm.PreferenceManager.prototype =\n Object.create(lib.PreferenceManager.prototype);\nhterm.PreferenceManager.constructor = hterm.PreferenceManager;\n// SOURCE FILE: hterm/js/hterm_pubsub.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Utility class used to add publish/subscribe/unsubscribe functionality to\n * an existing object.\n */\nhterm.PubSub = function() {\n this.observers_ = {};\n};\n\n/**\n * Add publish, subscribe, and unsubscribe methods to an existing object.\n *\n * No other properties of the object are touched, so there is no need to\n * worry about clashing private properties.\n *\n * @param {Object} obj The object to add this behavior to.\n */\nhterm.PubSub.addBehavior = function(obj) {\n var pubsub = new hterm.PubSub();\n for (var m in hterm.PubSub.prototype) {\n obj[m] = hterm.PubSub.prototype[m].bind(pubsub);\n }\n};\n\n/**\n * Subscribe to be notified of messages about a subject.\n *\n * @param {string} subject The subject to subscribe to.\n * @param {function(Object)} callback The function to invoke for notifications.\n */\nhterm.PubSub.prototype.subscribe = function(subject, callback) {\n if (!(subject in this.observers_))\n this.observers_[subject] = [];\n\n this.observers_[subject].push(callback);\n};\n\n/**\n * Unsubscribe from a subject.\n *\n * @param {string} subject The subject to unsubscribe from.\n * @param {function(Object)} callback A callback previously registered via\n * subscribe().\n */\nhterm.PubSub.prototype.unsubscribe = function(subject, callback) {\n var list = this.observers_[subject];\n if (!list)\n throw 'Invalid subject: ' + subject;\n\n var i = list.indexOf(callback);\n if (i < 0)\n throw 'Not subscribed: ' + subject;\n\n list.splice(i, 1);\n};\n\n/**\n * Publish a message about a subject.\n *\n * Subscribers (and the optional final callback) are invoked asynchronously.\n * This method will return before anyone is actually notified.\n *\n * @param {string} subject The subject to publish about.\n * @param {Object} e An arbitrary object associated with this notification.\n * @param {function(Object)} opt_lastCallback An optional function to call after\n * all subscribers have been notified.\n */\nhterm.PubSub.prototype.publish = function(subject, e, opt_lastCallback) {\n function notifyList(i) {\n // Set this timeout before invoking the callback, so we don't have to\n // concern ourselves with exceptions.\n if (i < list.length - 1)\n setTimeout(notifyList, 0, i + 1);\n\n list[i](e);\n }\n\n var list = this.observers_[subject];\n if (list) {\n // Copy the list, in case it changes while we're notifying.\n list = [].concat(list);\n }\n\n if (opt_lastCallback) {\n if (list) {\n list.push(opt_lastCallback);\n } else {\n list = [opt_lastCallback];\n }\n }\n\n if (list)\n setTimeout(notifyList, 0, 0);\n};\n// SOURCE FILE: hterm/js/hterm_screen.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'lib.wc',\n 'hterm.RowCol', 'hterm.Size', 'hterm.TextAttributes');\n\n/**\n * @fileoverview This class represents a single terminal screen full of text.\n *\n * It maintains the current cursor position and has basic methods for text\n * insert and overwrite, and adding or removing rows from the screen.\n *\n * This class has no knowledge of the scrollback buffer.\n *\n * The number of rows on the screen is determined only by the number of rows\n * that the caller inserts into the screen. If a caller wants to ensure a\n * constant number of rows on the screen, it's their responsibility to remove a\n * row for each row inserted.\n *\n * The screen width, in contrast, is enforced locally.\n *\n *\n * In practice...\n * - The hterm.Terminal class holds two hterm.Screen instances. One for the\n * primary screen and one for the alternate screen.\n *\n * - The html.Screen class only cares that rows are HTMLElements. In the\n * larger context of hterm, however, the rows happen to be displayed by an\n * hterm.ScrollPort and have to follow a few rules as a result. Each\n * row must be rooted by the custom HTML tag 'x-row', and each must have a\n * rowIndex property that corresponds to the index of the row in the context\n * of the scrollback buffer. These invariants are enforced by hterm.Terminal\n * because that is the class using the hterm.Screen in the context of an\n * hterm.ScrollPort.\n */\n\n/**\n * Create a new screen instance.\n *\n * The screen initially has no rows and a maximum column count of 0.\n *\n * @param {integer} opt_columnCount The maximum number of columns for this\n * screen. See insertString() and overwriteString() for information about\n * what happens when too many characters are added too a row. Defaults to\n * 0 if not provided.\n */\nhterm.Screen = function(opt_columnCount) {\n /**\n * Public, read-only access to the rows in this screen.\n */\n this.rowsArray = [];\n\n // The max column width for this screen.\n this.columnCount_ = opt_columnCount || 80;\n\n // The current color, bold, underline and blink attributes.\n this.textAttributes = new hterm.TextAttributes(window.document);\n\n // Current zero-based cursor coordinates.\n this.cursorPosition = new hterm.RowCol(0, 0);\n\n // The node containing the row that the cursor is positioned on.\n this.cursorRowNode_ = null;\n\n // The node containing the span of text that the cursor is positioned on.\n this.cursorNode_ = null;\n\n // The offset in column width into cursorNode_ where the cursor is positioned.\n this.cursorOffset_ = null;\n\n // Regexes for expanding word selections.\n this.wordBreakMatchLeft = null;\n this.wordBreakMatchRight = null;\n this.wordBreakMatchMiddle = null;\n};\n\n/**\n * Return the screen size as an hterm.Size object.\n *\n * @return {hterm.Size} hterm.Size object representing the current number\n * of rows and columns in this screen.\n */\nhterm.Screen.prototype.getSize = function() {\n return new hterm.Size(this.columnCount_, this.rowsArray.length);\n};\n\n/**\n * Return the current number of rows in this screen.\n *\n * @return {integer} The number of rows in this screen.\n */\nhterm.Screen.prototype.getHeight = function() {\n return this.rowsArray.length;\n};\n\n/**\n * Return the current number of columns in this screen.\n *\n * @return {integer} The number of columns in this screen.\n */\nhterm.Screen.prototype.getWidth = function() {\n return this.columnCount_;\n};\n\n/**\n * Set the maximum number of columns per row.\n *\n * @param {integer} count The maximum number of columns per row.\n */\nhterm.Screen.prototype.setColumnCount = function(count) {\n this.columnCount_ = count;\n\n if (this.cursorPosition.column >= count)\n this.setCursorPosition(this.cursorPosition.row, count - 1);\n};\n\n/**\n * Remove the first row from the screen and return it.\n *\n * @return {HTMLElement} The first row in this screen.\n */\nhterm.Screen.prototype.shiftRow = function() {\n return this.shiftRows(1)[0];\n};\n\n/**\n * Remove rows from the top of the screen and return them as an array.\n *\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.shiftRows = function(count) {\n return this.rowsArray.splice(0, count);\n};\n\n/**\n * Insert a row at the top of the screen.\n *\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.unshiftRow = function(row) {\n this.rowsArray.splice(0, 0, row);\n};\n\n/**\n * Insert rows at the top of the screen.\n *\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.unshiftRows = function(rows) {\n this.rowsArray.unshift.apply(this.rowsArray, rows);\n};\n\n/**\n * Remove the last row from the screen and return it.\n *\n * @return {HTMLElement} The last row in this screen.\n */\nhterm.Screen.prototype.popRow = function() {\n return this.popRows(1)[0];\n};\n\n/**\n * Remove rows from the bottom of the screen and return them as an array.\n *\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.popRows = function(count) {\n return this.rowsArray.splice(this.rowsArray.length - count, count);\n};\n\n/**\n * Insert a row at the bottom of the screen.\n *\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.pushRow = function(row) {\n this.rowsArray.push(row);\n};\n\n/**\n * Insert rows at the bottom of the screen.\n *\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.pushRows = function(rows) {\n rows.push.apply(this.rowsArray, rows);\n};\n\n/**\n * Insert a row at the specified row of the screen.\n *\n * @param {integer} index The index to insert the row.\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.insertRow = function(index, row) {\n this.rowsArray.splice(index, 0, row);\n};\n\n/**\n * Insert rows at the specified row of the screen.\n *\n * @param {integer} index The index to insert the rows.\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.insertRows = function(index, rows) {\n for (var i = 0; i < rows.length; i++) {\n this.rowsArray.splice(index + i, 0, rows[i]);\n }\n};\n\n/**\n * Remove a row from the screen and return it.\n *\n * @param {integer} index The index of the row to remove.\n * @return {HTMLElement} The selected row.\n */\nhterm.Screen.prototype.removeRow = function(index) {\n return this.rowsArray.splice(index, 1)[0];\n};\n\n/**\n * Remove rows from the bottom of the screen and return them as an array.\n *\n * @param {integer} index The index to start removing rows.\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.removeRows = function(index, count) {\n return this.rowsArray.splice(index, count);\n};\n\n/**\n * Invalidate the current cursor position.\n *\n * This sets this.cursorPosition to (0, 0) and clears out some internal\n * data.\n *\n * Attempting to insert or overwrite text while the cursor position is invalid\n * will raise an obscure exception.\n */\nhterm.Screen.prototype.invalidateCursorPosition = function() {\n this.cursorPosition.move(0, 0);\n this.cursorRowNode_ = null;\n this.cursorNode_ = null;\n this.cursorOffset_ = null;\n};\n\n/**\n * Clear the contents of the cursor row.\n */\nhterm.Screen.prototype.clearCursorRow = function() {\n this.cursorRowNode_.innerHTML = '';\n this.cursorRowNode_.removeAttribute('line-overflow');\n this.cursorOffset_ = 0;\n this.cursorPosition.column = 0;\n this.cursorPosition.overflow = false;\n\n var text;\n if (this.textAttributes.isDefault()) {\n text = '';\n } else {\n text = lib.f.getWhitespace(this.columnCount_);\n }\n\n // We shouldn't honor inverse colors when clearing an area, to match\n // xterm's back color erase behavior.\n var inverse = this.textAttributes.inverse;\n this.textAttributes.inverse = false;\n this.textAttributes.syncColors();\n\n var node = this.textAttributes.createContainer(text);\n this.cursorRowNode_.appendChild(node);\n this.cursorNode_ = node;\n\n this.textAttributes.inverse = inverse;\n this.textAttributes.syncColors();\n};\n\n/**\n * Mark the current row as having overflowed to the next line.\n *\n * The line overflow state is used when converting a range of rows into text.\n * It makes it possible to recombine two or more overflow terminal rows into\n * a single line.\n *\n * This is distinct from the cursor being in the overflow state. Cursor\n * overflow indicates that printing at the cursor position will commit a\n * line overflow, unless it is preceded by a repositioning of the cursor\n * to a non-overflow state.\n */\nhterm.Screen.prototype.commitLineOverflow = function() {\n this.cursorRowNode_.setAttribute('line-overflow', true);\n};\n\n/**\n * Relocate the cursor to a give row and column.\n *\n * @param {integer} row The zero based row.\n * @param {integer} column The zero based column.\n */\nhterm.Screen.prototype.setCursorPosition = function(row, column) {\n if (!this.rowsArray.length) {\n console.warn('Attempt to set cursor position on empty screen.');\n return;\n }\n\n if (row >= this.rowsArray.length) {\n console.error('Row out of bounds: ' + row);\n row = this.rowsArray.length - 1;\n } else if (row < 0) {\n console.error('Row out of bounds: ' + row);\n row = 0;\n }\n\n if (column >= this.columnCount_) {\n console.error('Column out of bounds: ' + column);\n column = this.columnCount_ - 1;\n } else if (column < 0) {\n console.error('Column out of bounds: ' + column);\n column = 0;\n }\n\n this.cursorPosition.overflow = false;\n\n var rowNode = this.rowsArray[row];\n var node = rowNode.firstChild;\n\n if (!node) {\n node = rowNode.ownerDocument.createTextNode('');\n rowNode.appendChild(node);\n }\n\n var currentColumn = 0;\n\n if (rowNode == this.cursorRowNode_) {\n if (column >= this.cursorPosition.column - this.cursorOffset_) {\n node = this.cursorNode_;\n currentColumn = this.cursorPosition.column - this.cursorOffset_;\n }\n } else {\n this.cursorRowNode_ = rowNode;\n }\n\n this.cursorPosition.move(row, column);\n\n while (node) {\n var offset = column - currentColumn;\n var width = hterm.TextAttributes.nodeWidth(node);\n if (!node.nextSibling || width > offset) {\n this.cursorNode_ = node;\n this.cursorOffset_ = offset;\n return;\n }\n\n currentColumn += width;\n node = node.nextSibling;\n }\n};\n\n/**\n * Set the provided selection object to be a caret selection at the current\n * cursor position.\n */\nhterm.Screen.prototype.syncSelectionCaret = function(selection) {\n try {\n selection.collapse(this.cursorNode_, this.cursorOffset_);\n } catch (firefoxIgnoredException) {\n // FF can throw an exception if the range is off, rather than just not\n // performing the collapse.\n }\n};\n\n/**\n * Split a single node into two nodes at the given offset.\n *\n * For example:\n * Given the DOM fragment '
Hello World
', call splitNode_\n * passing the span and an offset of 6. This would modify the fragment to\n * become: '
Hello World
'. If the span\n * had any attributes they would have been copied to the new span as well.\n *\n * The to-be-split node must have a container, so that the new node can be\n * placed next to it.\n *\n * @param {HTMLNode} node The node to split.\n * @param {integer} offset The offset into the node where the split should\n * occur.\n */\nhterm.Screen.prototype.splitNode_ = function(node, offset) {\n var afterNode = node.cloneNode(false);\n\n var textContent = node.textContent;\n node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset);\n afterNode.textContent = lib.wc.substr(textContent, offset);\n\n if (afterNode.textContent)\n node.parentNode.insertBefore(afterNode, node.nextSibling);\n if (!node.textContent)\n node.parentNode.removeChild(node);\n};\n\n/**\n * Ensure that text is clipped and the cursor is clamped to the column count.\n */\nhterm.Screen.prototype.maybeClipCurrentRow = function() {\n var width = hterm.TextAttributes.nodeWidth(this.cursorRowNode_);\n\n if (width <= this.columnCount_) {\n // Current row does not need clipping, but may need clamping.\n if (this.cursorPosition.column >= this.columnCount_) {\n this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1);\n this.cursorPosition.overflow = true;\n }\n\n return;\n }\n\n // Save off the current column so we can maybe restore it later.\n var currentColumn = this.cursorPosition.column;\n\n // Move the cursor to the final column.\n this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1);\n\n // Remove any text that partially overflows.\n width = hterm.TextAttributes.nodeWidth(this.cursorNode_);\n\n if (this.cursorOffset_ < width - 1) {\n this.cursorNode_.textContent = hterm.TextAttributes.nodeSubstr(\n this.cursorNode_, 0, this.cursorOffset_ + 1);\n }\n\n // Remove all nodes after the cursor.\n var rowNode = this.cursorRowNode_;\n var node = this.cursorNode_.nextSibling;\n\n while (node) {\n rowNode.removeChild(node);\n node = this.cursorNode_.nextSibling;\n }\n\n if (currentColumn < this.columnCount_) {\n // If the cursor was within the screen before we started then restore its\n // position.\n this.setCursorPosition(this.cursorPosition.row, currentColumn);\n } else {\n // Otherwise leave it at the the last column in the overflow state.\n this.cursorPosition.overflow = true;\n }\n};\n\n/**\n * Insert a string at the current character position using the current\n * text attributes.\n *\n * You must call maybeClipCurrentRow() after in order to clip overflowed\n * text and clamp the cursor.\n *\n * It is also up to the caller to properly maintain the line overflow state\n * using hterm.Screen..commitLineOverflow().\n */\nhterm.Screen.prototype.insertString = function(str) {\n var cursorNode = this.cursorNode_;\n var cursorNodeText = cursorNode.textContent;\n\n this.cursorRowNode_.removeAttribute('line-overflow');\n\n // We may alter the width of the string by prepending some missing\n // whitespaces, so we need to record the string width ahead of time.\n var strWidth = lib.wc.strWidth(str);\n\n // No matter what, before this function exits the cursor column will have\n // moved this much.\n this.cursorPosition.column += strWidth;\n\n // Local cache of the cursor offset.\n var offset = this.cursorOffset_;\n\n // Reverse offset is the offset measured from the end of the string.\n // Zero implies that the cursor is at the end of the cursor node.\n var reverseOffset = hterm.TextAttributes.nodeWidth(cursorNode) - offset;\n\n if (reverseOffset < 0) {\n // A negative reverse offset means the cursor is positioned past the end\n // of the characters on this line. We'll need to insert the missing\n // whitespace.\n var ws = lib.f.getWhitespace(-reverseOffset);\n\n // This whitespace should be completely unstyled. Underline, background\n // color, and strikethrough would be visible on whitespace, so we can't use\n // one of those spans to hold the text.\n if (!(this.textAttributes.underline ||\n this.textAttributes.strikethrough ||\n this.textAttributes.background ||\n this.textAttributes.wcNode ||\n !this.textAttributes.asciiNode ||\n this.textAttributes.tileData != null)) {\n // Best case scenario, we can just pretend the spaces were part of the\n // original string.\n str = ws + str;\n } else if (cursorNode.nodeType == 3 ||\n !(cursorNode.wcNode ||\n !cursorNode.asciiNode ||\n cursorNode.tileNode ||\n cursorNode.style.textDecoration ||\n cursorNode.style.backgroundColor)) {\n // Second best case, the current node is able to hold the whitespace.\n cursorNode.textContent = (cursorNodeText += ws);\n } else {\n // Worst case, we have to create a new node to hold the whitespace.\n var wsNode = cursorNode.ownerDocument.createTextNode(ws);\n this.cursorRowNode_.insertBefore(wsNode, cursorNode.nextSibling);\n this.cursorNode_ = cursorNode = wsNode;\n this.cursorOffset_ = offset = -reverseOffset;\n cursorNodeText = ws;\n }\n\n // We now know for sure that we're at the last character of the cursor node.\n reverseOffset = 0;\n }\n\n if (this.textAttributes.matchesContainer(cursorNode)) {\n // The new text can be placed directly in the cursor node.\n if (reverseOffset == 0) {\n cursorNode.textContent = cursorNodeText + str;\n } else if (offset == 0) {\n cursorNode.textContent = str + cursorNodeText;\n } else {\n cursorNode.textContent =\n hterm.TextAttributes.nodeSubstr(cursorNode, 0, offset) +\n str + hterm.TextAttributes.nodeSubstr(cursorNode, offset);\n }\n\n this.cursorOffset_ += strWidth;\n return;\n }\n\n // The cursor node is the wrong style for the new text. If we're at the\n // beginning or end of the cursor node, then the adjacent node is also a\n // potential candidate.\n\n if (offset == 0) {\n // At the beginning of the cursor node, the check the previous sibling.\n var previousSibling = cursorNode.previousSibling;\n if (previousSibling &&\n this.textAttributes.matchesContainer(previousSibling)) {\n previousSibling.textContent += str;\n this.cursorNode_ = previousSibling;\n this.cursorOffset_ = lib.wc.strWidth(previousSibling.textContent);\n return;\n }\n\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, cursorNode);\n this.cursorNode_ = newNode;\n this.cursorOffset_ = strWidth;\n return;\n }\n\n if (reverseOffset == 0) {\n // At the end of the cursor node, the check the next sibling.\n var nextSibling = cursorNode.nextSibling;\n if (nextSibling &&\n this.textAttributes.matchesContainer(nextSibling)) {\n nextSibling.textContent = str + nextSibling.textContent;\n this.cursorNode_ = nextSibling;\n this.cursorOffset_ = lib.wc.strWidth(str);\n return;\n }\n\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, nextSibling);\n this.cursorNode_ = newNode;\n // We specifically need to include any missing whitespace here, since it's\n // going in a new node.\n this.cursorOffset_ = hterm.TextAttributes.nodeWidth(newNode);\n return;\n }\n\n // Worst case, we're somewhere in the middle of the cursor node. We'll\n // have to split it into two nodes and insert our new container in between.\n this.splitNode_(cursorNode, offset);\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, cursorNode.nextSibling);\n this.cursorNode_ = newNode;\n this.cursorOffset_ = strWidth;\n};\n\n/**\n * Overwrite the text at the current cursor position.\n *\n * You must call maybeClipCurrentRow() after in order to clip overflowed\n * text and clamp the cursor.\n *\n * It is also up to the caller to properly maintain the line overflow state\n * using hterm.Screen..commitLineOverflow().\n */\nhterm.Screen.prototype.overwriteString = function(str) {\n var maxLength = this.columnCount_ - this.cursorPosition.column;\n if (!maxLength)\n return [str];\n\n var width = lib.wc.strWidth(str);\n if (this.textAttributes.matchesContainer(this.cursorNode_) &&\n this.cursorNode_.textContent.substr(this.cursorOffset_) == str) {\n // This overwrite would be a no-op, just move the cursor and return.\n this.cursorOffset_ += width;\n this.cursorPosition.column += width;\n return;\n }\n\n this.deleteChars(Math.min(width, maxLength));\n this.insertString(str);\n};\n\n/**\n * Forward-delete one or more characters at the current cursor position.\n *\n * Text to the right of the deleted characters is shifted left. Only affects\n * characters on the same row as the cursor.\n *\n * @param {integer} count The column width of characters to delete. This is\n * clamped to the column width minus the cursor column.\n * @return {integer} The column width of the characters actually deleted.\n */\nhterm.Screen.prototype.deleteChars = function(count) {\n var node = this.cursorNode_;\n var offset = this.cursorOffset_;\n\n var currentCursorColumn = this.cursorPosition.column;\n count = Math.min(count, this.columnCount_ - currentCursorColumn);\n if (!count)\n return 0;\n\n var rv = count;\n var startLength, endLength;\n\n while (node && count) {\n startLength = hterm.TextAttributes.nodeWidth(node);\n node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset) +\n hterm.TextAttributes.nodeSubstr(node, offset + count);\n endLength = hterm.TextAttributes.nodeWidth(node);\n count -= startLength - endLength;\n if (offset < startLength && endLength && startLength == endLength) {\n // No characters were deleted when there should be. We're probably trying\n // to delete one column width from a wide character node. We remove the\n // wide character node here and replace it with a single space.\n var spaceNode = this.textAttributes.createContainer(' ');\n node.parentNode.insertBefore(spaceNode, node.nextSibling);\n node.textContent = '';\n endLength = 0;\n count -= 1;\n }\n\n var nextNode = node.nextSibling;\n if (endLength == 0 && node != this.cursorNode_) {\n node.parentNode.removeChild(node);\n }\n node = nextNode;\n offset = 0;\n }\n\n // Remove this.cursorNode_ if it is an empty non-text node.\n if (this.cursorNode_.nodeType != 3 && !this.cursorNode_.textContent) {\n var cursorNode = this.cursorNode_;\n if (cursorNode.previousSibling) {\n this.cursorNode_ = cursorNode.previousSibling;\n this.cursorOffset_ = hterm.TextAttributes.nodeWidth(\n cursorNode.previousSibling);\n } else if (cursorNode.nextSibling) {\n this.cursorNode_ = cursorNode.nextSibling;\n this.cursorOffset_ = 0;\n } else {\n var emptyNode = this.cursorRowNode_.ownerDocument.createTextNode('');\n this.cursorRowNode_.appendChild(emptyNode);\n this.cursorNode_ = emptyNode;\n this.cursorOffset_ = 0;\n }\n this.cursorRowNode_.removeChild(cursorNode);\n }\n\n return rv;\n};\n\n/**\n * Finds first X-ROW of a line containing specified X-ROW.\n * Used to support line overflow.\n *\n * @param {Node} row X-ROW to begin search for first row of line.\n * @return {Node} The X-ROW that is at the beginning of the line.\n **/\nhterm.Screen.prototype.getLineStartRow_ = function(row) {\n while (row.previousSibling &&\n row.previousSibling.hasAttribute('line-overflow')) {\n row = row.previousSibling;\n }\n return row;\n};\n\n/**\n * Gets text of a line beginning with row.\n * Supports line overflow.\n *\n * @param {Node} row First X-ROW of line.\n * @return {string} Text content of line.\n **/\nhterm.Screen.prototype.getLineText_ = function(row) {\n var rowText = \"\";\n while (row) {\n rowText += row.textContent;\n if (row.hasAttribute('line-overflow')) {\n row = row.nextSibling;\n } else {\n break;\n }\n }\n return rowText;\n};\n\n/**\n * Returns X-ROW that is ancestor of the node.\n *\n * @param {Node} node Node to get X-ROW ancestor for.\n * @return {Node} X-ROW ancestor of node, or null if not found.\n **/\nhterm.Screen.prototype.getXRowAncestor_ = function(node) {\n while (node) {\n if (node.nodeName === 'X-ROW')\n break;\n node = node.parentNode;\n }\n return node;\n};\n\n/**\n * Returns position within line of character at offset within node.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {Node} node Node to get position of.\n * @param {integer} offset Offset into node.\n *\n * @return {integer} Position within line of character at offset within node.\n **/\nhterm.Screen.prototype.getPositionWithOverflow_ = function(row, node, offset) {\n if (!node)\n return -1;\n var ancestorRow = this.getXRowAncestor_(node);\n if (!ancestorRow)\n return -1;\n var position = 0;\n while (ancestorRow != row) {\n position += hterm.TextAttributes.nodeWidth(row);\n if (row.hasAttribute('line-overflow') && row.nextSibling) {\n row = row.nextSibling;\n } else {\n return -1;\n }\n }\n return position + this.getPositionWithinRow_(row, node, offset);\n};\n\n/**\n * Returns position within row of character at offset within node.\n * Does not support line overflow.\n *\n * @param {Node} row X-ROW to get position within.\n * @param {Node} node Node to get position for.\n * @param {integer} offset Offset within node to get position for.\n * @return {integer} Position within row of character at offset within node.\n **/\nhterm.Screen.prototype.getPositionWithinRow_ = function(row, node, offset) {\n if (node.parentNode != row) {\n // If we traversed to the top node, then there's nothing to find here.\n if (node.parentNode == null)\n return -1;\n\n return this.getPositionWithinRow_(node.parentNode, node, offset) +\n this.getPositionWithinRow_(row, node.parentNode, 0);\n }\n var position = 0;\n for (var i = 0; i < row.childNodes.length; i++) {\n var currentNode = row.childNodes[i];\n if (currentNode == node)\n return position + offset;\n position += hterm.TextAttributes.nodeWidth(currentNode);\n }\n return -1;\n};\n\n/**\n * Returns the node and offset corresponding to position within line.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {integer} position Position within line to retrieve node and offset.\n * @return {Array} Two element array containing node and offset respectively.\n **/\nhterm.Screen.prototype.getNodeAndOffsetWithOverflow_ = function(row, position) {\n while (row && position > hterm.TextAttributes.nodeWidth(row)) {\n if (row.hasAttribute('line-overflow') && row.nextSibling) {\n position -= hterm.TextAttributes.nodeWidth(row);\n row = row.nextSibling;\n } else {\n return -1;\n }\n }\n return this.getNodeAndOffsetWithinRow_(row, position);\n};\n\n/**\n * Returns the node and offset corresponding to position within row.\n * Does not support line overflow.\n *\n * @param {Node} row X-ROW to get position within.\n * @param {integer} position Position within row to retrieve node and offset.\n * @return {Array} Two element array containing node and offset respectively.\n **/\nhterm.Screen.prototype.getNodeAndOffsetWithinRow_ = function(row, position) {\n for (var i = 0; i < row.childNodes.length; i++) {\n var node = row.childNodes[i];\n var nodeTextWidth = hterm.TextAttributes.nodeWidth(node);\n if (position <= nodeTextWidth) {\n if (node.nodeName === 'SPAN') {\n /** Drill down to node contained by SPAN. **/\n return this.getNodeAndOffsetWithinRow_(node, position);\n } else {\n return [node, position];\n }\n }\n position -= nodeTextWidth;\n }\n return null;\n};\n\n/**\n * Returns the node and offset corresponding to position within line.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {integer} start Start position of range within line.\n * @param {integer} end End position of range within line.\n * @param {Range} range Range to modify.\n **/\nhterm.Screen.prototype.setRange_ = function(row, start, end, range) {\n var startNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, start);\n if (startNodeAndOffset == null)\n return;\n var endNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, end);\n if (endNodeAndOffset == null)\n return;\n range.setStart(startNodeAndOffset[0], startNodeAndOffset[1]);\n range.setEnd(endNodeAndOffset[0], endNodeAndOffset[1]);\n};\n\n/**\n * Expands selection to surround URLs.\n *\n * @param {Selection} selection Selection to expand.\n **/\nhterm.Screen.prototype.expandSelection = function(selection) {\n if (!selection)\n return;\n\n var range = selection.getRangeAt(0);\n if (!range || range.toString().match(/\\s/))\n return;\n\n var row = this.getLineStartRow_(this.getXRowAncestor_(range.startContainer));\n if (!row)\n return;\n\n var startPosition = this.getPositionWithOverflow_(row,\n range.startContainer,\n range.startOffset);\n if (startPosition == -1)\n return;\n var endPosition = this.getPositionWithOverflow_(row,\n range.endContainer,\n range.endOffset);\n if (endPosition == -1)\n return;\n\n // Use the user configurable match settings.\n var leftMatch = this.wordBreakMatchLeft;\n var rightMatch = this.wordBreakMatchRight;\n var insideMatch = this.wordBreakMatchMiddle;\n\n //Move start to the left.\n var rowText = this.getLineText_(row);\n var lineUpToRange = lib.wc.substring(rowText, 0, endPosition);\n var leftRegularExpression = new RegExp(leftMatch + insideMatch + \"$\");\n var expandedStart = lineUpToRange.search(leftRegularExpression);\n if (expandedStart == -1 || expandedStart > startPosition)\n return;\n\n //Move end to the right.\n var lineFromRange = lib.wc.substring(rowText, startPosition,\n lib.wc.strWidth(rowText));\n var rightRegularExpression = new RegExp(\"^\" + insideMatch + rightMatch);\n var found = lineFromRange.match(rightRegularExpression);\n if (!found)\n return;\n var expandedEnd = startPosition + lib.wc.strWidth(found[0]);\n if (expandedEnd == -1 || expandedEnd < endPosition)\n return;\n\n this.setRange_(row, expandedStart, expandedEnd, range);\n selection.addRange(range);\n};\n// SOURCE FILE: hterm/js/hterm_scrollport.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'hterm.PubSub', 'hterm.Size');\n\n/**\n * A 'viewport' view of fixed-height rows with support for selection and\n * copy-to-clipboard.\n *\n * 'Viewport' in this case means that only the visible rows are in the DOM.\n * If the rowProvider has 100,000 rows, but the ScrollPort is only 25 rows\n * tall, then only 25 dom nodes are created. The ScrollPort will ask the\n * RowProvider to create new visible rows on demand as they are scrolled in\n * to the visible area.\n *\n * This viewport is designed so that select and copy-to-clipboard still works,\n * even when all or part of the selection is scrolled off screen.\n *\n * Note that the X11 mouse clipboard does not work properly when all or part\n * of the selection is off screen. It would be difficult to fix this without\n * adding significant overhead to pathologically large selection cases.\n *\n * The RowProvider should return rows rooted by the custom tag name 'x-row'.\n * This ensures that we can quickly assign the correct display height\n * to the rows with css.\n *\n * @param {RowProvider} rowProvider An object capable of providing rows as\n * raw text or row nodes.\n */\nhterm.ScrollPort = function(rowProvider) {\n hterm.PubSub.addBehavior(this);\n\n this.rowProvider_ = rowProvider;\n\n // SWAG the character size until we can measure it.\n this.characterSize = new hterm.Size(10, 10);\n\n // DOM node used for character measurement.\n this.ruler_ = null;\n\n this.selection = new hterm.ScrollPort.Selection(this);\n\n // A map of rowIndex => rowNode for each row that is drawn as part of a\n // pending redraw_() call. Null if there is no pending redraw_ call.\n this.currentRowNodeCache_ = null;\n\n // A map of rowIndex => rowNode for each row that was drawn as part of the\n // previous redraw_() call.\n this.previousRowNodeCache_ = {};\n\n // Used during scroll events to detect when the underlying cause is a resize.\n this.lastScreenWidth_ = null;\n this.lastScreenHeight_ = null;\n\n // True if the user should be allowed to select text in the terminal.\n // This is disabled when the host requests mouse drag events so that we don't\n // end up with two notions of selection.\n this.selectionEnabled_ = true;\n\n // The last row count returned by the row provider, re-populated during\n // syncScrollHeight().\n this.lastRowCount_ = 0;\n\n // The scroll wheel pixel delta multiplier to increase/decrease\n // the scroll speed of mouse wheel events. See: https://goo.gl/sXelnq\n this.scrollWheelMultiplier_ = 1;\n\n // The last touch events we saw to support touch based scrolling. Indexed\n // by touch identifier since we can have more than one touch active.\n this.lastTouch_ = {};\n\n /**\n * True if the last scroll caused the scrollport to show the final row.\n */\n this.isScrolledEnd = true;\n\n /**\n * A guess at the current scrollbar width, fixed in resize().\n */\n this.currentScrollbarWidthPx = 16;\n\n /**\n * Whether the ctrl-v key on the screen should paste.\n */\n this.ctrlVPaste = false;\n\n this.div_ = null;\n this.document_ = null;\n\n // Collection of active timeout handles.\n this.timeouts_ = {};\n\n this.observers_ = {};\n\n this.DEBUG_ = false;\n}\n\n/**\n * Proxy for the native selection object which understands how to walk up the\n * DOM to find the containing row node and sort out which comes first.\n *\n * @param {hterm.ScrollPort} scrollPort The parent hterm.ScrollPort instance.\n */\nhterm.ScrollPort.Selection = function(scrollPort) {\n this.scrollPort_ = scrollPort;\n\n /**\n * The row containing the start of the selection.\n *\n * This may be partially or fully selected. It may be the selection anchor\n * or the focus, but its rowIndex is guaranteed to be less-than-or-equal-to\n * that of the endRow.\n *\n * If only one row is selected then startRow == endRow. If there is no\n * selection or the selection is collapsed then startRow == null.\n */\n this.startRow = null;\n\n /**\n * The row containing the end of the selection.\n *\n * This may be partially or fully selected. It may be the selection anchor\n * or the focus, but its rowIndex is guaranteed to be greater-than-or-equal-to\n * that of the startRow.\n *\n * If only one row is selected then startRow == endRow. If there is no\n * selection or the selection is collapsed then startRow == null.\n */\n this.endRow = null;\n\n /**\n * True if startRow != endRow.\n */\n this.isMultiline = null;\n\n /**\n * True if the selection is just a point rather than a range.\n */\n this.isCollapsed = null;\n};\n\n/**\n * Given a list of DOM nodes and a container, return the DOM node that\n * is first according to a depth-first search.\n *\n * Returns null if none of the children are found.\n */\nhterm.ScrollPort.Selection.prototype.findFirstChild = function(\n parent, childAry) {\n var node = parent.firstChild;\n\n while (node) {\n if (childAry.indexOf(node) != -1)\n return node;\n\n if (node.childNodes.length) {\n var rv = this.findFirstChild(node, childAry);\n if (rv)\n return rv;\n }\n\n node = node.nextSibling;\n }\n\n return null;\n};\n\n/**\n * Synchronize this object with the current DOM selection.\n *\n * This is a one-way synchronization, the DOM selection is copied to this\n * object, not the other way around.\n */\nhterm.ScrollPort.Selection.prototype.sync = function() {\n var self = this;\n\n // The dom selection object has no way to tell which nodes come first in\n // the document, so we have to figure that out.\n //\n // This function is used when we detect that the \"anchor\" node is first.\n function anchorFirst() {\n self.startRow = anchorRow;\n self.startNode = selection.anchorNode;\n self.startOffset = selection.anchorOffset;\n self.endRow = focusRow;\n self.endNode = selection.focusNode;\n self.endOffset = selection.focusOffset;\n }\n\n // This function is used when we detect that the \"focus\" node is first.\n function focusFirst() {\n self.startRow = focusRow;\n self.startNode = selection.focusNode;\n self.startOffset = selection.focusOffset;\n self.endRow = anchorRow;\n self.endNode = selection.anchorNode;\n self.endOffset = selection.anchorOffset;\n }\n\n var selection = this.scrollPort_.getDocument().getSelection();\n\n this.startRow = null;\n this.endRow = null;\n this.isMultiline = null;\n this.isCollapsed = !selection || selection.isCollapsed;\n\n if (this.isCollapsed)\n return;\n\n var anchorRow = selection.anchorNode;\n while (anchorRow && !('rowIndex' in anchorRow)) {\n anchorRow = anchorRow.parentNode;\n }\n\n if (!anchorRow) {\n console.error('Selection anchor is not rooted in a row node: ' +\n selection.anchorNode.nodeName);\n return;\n }\n\n var focusRow = selection.focusNode;\n while (focusRow && !('rowIndex' in focusRow)) {\n focusRow = focusRow.parentNode;\n }\n\n if (!focusRow) {\n console.error('Selection focus is not rooted in a row node: ' +\n selection.focusNode.nodeName);\n return;\n }\n\n if (anchorRow.rowIndex < focusRow.rowIndex) {\n anchorFirst();\n\n } else if (anchorRow.rowIndex > focusRow.rowIndex) {\n focusFirst();\n\n } else if (selection.focusNode == selection.anchorNode) {\n if (selection.anchorOffset < selection.focusOffset) {\n anchorFirst();\n } else {\n focusFirst();\n }\n\n } else {\n // The selection starts and ends in the same row, but isn't contained all\n // in a single node.\n var firstNode = this.findFirstChild(\n anchorRow, [selection.anchorNode, selection.focusNode]);\n\n if (!firstNode)\n throw new Error('Unexpected error syncing selection.');\n\n if (firstNode == selection.anchorNode) {\n anchorFirst();\n } else {\n focusFirst();\n }\n }\n\n this.isMultiline = anchorRow.rowIndex != focusRow.rowIndex;\n};\n\n\n/**\n * Turn a div into this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.decorate = function(div) {\n this.div_ = div;\n\n this.iframe_ = div.ownerDocument.createElement('iframe');\n this.iframe_.style.cssText = (\n 'border: 0;' +\n 'height: 100%;' +\n 'position: absolute;' +\n 'width: 100%');\n\n // Set the iframe src to # in FF. Otherwise when the frame's\n // load event fires in FF it clears out the content of the iframe.\n if ('mozInnerScreenX' in window) // detect a FF only property\n this.iframe_.src = '#';\n\n div.appendChild(this.iframe_);\n\n this.iframe_.contentWindow.addEventListener('resize',\n this.onResize_.bind(this));\n\n var doc = this.document_ = this.iframe_.contentDocument;\n doc.body.style.cssText = (\n 'margin: 0px;' +\n 'padding: 0px;' +\n 'height: 100%;' +\n 'width: 100%;' +\n 'overflow: hidden;' +\n 'cursor: var(--hterm-mouse-cursor-style);' +\n '-webkit-user-select: none;' +\n '-moz-user-select: none;');\n\n if (this.DEBUG_) {\n // When we're debugging we add padding to the body so that the offscreen\n // elements are visible.\n this.document_.body.style.paddingTop =\n this.document_.body.style.paddingBottom =\n 'calc(var(--hterm-charsize-height) * 3)';\n }\n\n var style = doc.createElement('style');\n style.textContent = (\n 'x-row {' +\n ' display: block;' +\n ' height: var(--hterm-charsize-height);' +\n ' line-height: var(--hterm-charsize-height);' +\n '}');\n doc.head.appendChild(style);\n\n this.userCssLink_ = doc.createElement('link');\n this.userCssLink_.setAttribute('rel', 'stylesheet');\n\n this.userCssText_ = doc.createElement('style');\n doc.head.appendChild(this.userCssText_);\n\n // TODO(rginda): Sorry, this 'screen_' isn't the same thing as hterm.Screen\n // from screen.js. I need to pick a better name for one of them to avoid\n // the collision.\n // We make this field editable even though we don't actually allow anything\n // to be edited here so that Chrome will do the right thing with virtual\n // keyboards and IMEs. But make sure we turn off all the input helper logic\n // that doesn't make sense here, and might inadvertently mung or save input.\n // Some of these attributes are standard while others are browser specific,\n // but should be safely ignored by other browsers.\n this.screen_ = doc.createElement('x-screen');\n this.screen_.setAttribute('contenteditable', 'true');\n this.screen_.setAttribute('spellcheck', 'false');\n this.screen_.setAttribute('autocomplete', 'off');\n this.screen_.setAttribute('autocorrect', 'off');\n this.screen_.setAttribute('autocaptalize', 'none');\n this.screen_.setAttribute('role', 'textbox');\n this.screen_.setAttribute('tabindex', '-1');\n this.screen_.style.cssText = (\n 'caret-color: transparent;' +\n 'display: block;' +\n 'font-family: monospace;' +\n 'font-size: 15px;' +\n 'font-variant-ligatures: none;' +\n 'height: 100%;' +\n 'overflow-y: scroll; overflow-x: hidden;' +\n 'white-space: pre;' +\n 'width: 100%;' +\n 'outline: none !important');\n\n doc.body.appendChild(this.screen_);\n\n this.screen_.addEventListener('scroll', this.onScroll_.bind(this));\n this.screen_.addEventListener('wheel', this.onScrollWheel_.bind(this));\n this.screen_.addEventListener('touchstart', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchmove', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchend', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchcancel', this.onTouch_.bind(this));\n this.screen_.addEventListener('copy', this.onCopy_.bind(this));\n this.screen_.addEventListener('paste', this.onPaste_.bind(this));\n // Disable drag & drop of text/content. We don't handle it at all (yet?),\n // and the default behavior just confuses hterm.\n this.screen_.addEventListener('drop', function(e) {\n e.preventDefault();\n return false;\n });\n\n doc.body.addEventListener('keydown', this.onBodyKeyDown_.bind(this));\n\n // This is the main container for the fixed rows.\n this.rowNodes_ = doc.createElement('div');\n this.rowNodes_.id = 'hterm:row-nodes';\n this.rowNodes_.style.cssText = (\n 'display: block;' +\n 'position: fixed;' +\n 'overflow: hidden;' +\n '-webkit-user-select: text;' +\n '-moz-user-select: text;');\n this.screen_.appendChild(this.rowNodes_);\n\n // Two nodes to hold offscreen text during the copy event.\n this.topSelectBag_ = doc.createElement('x-select-bag');\n this.topSelectBag_.style.cssText = (\n 'display: block;' +\n 'overflow: hidden;' +\n 'height: var(--hterm-charsize-height);' +\n 'white-space: pre;');\n\n this.bottomSelectBag_ = this.topSelectBag_.cloneNode();\n\n // Nodes above the top fold and below the bottom fold are hidden. They are\n // only used to hold rows that are part of the selection but are currently\n // scrolled off the top or bottom of the visible range.\n this.topFold_ = doc.createElement('x-fold');\n this.topFold_.id = 'hterm:top-fold-for-row-selection';\n this.topFold_.style.cssText = 'display: block;';\n this.rowNodes_.appendChild(this.topFold_);\n\n this.bottomFold_ = this.topFold_.cloneNode();\n this.bottomFold_.id = 'hterm:bottom-fold-for-row-selection';\n this.rowNodes_.appendChild(this.bottomFold_);\n\n // This hidden div accounts for the vertical space that would be consumed by\n // all the rows in the buffer if they were visible. It's what causes the\n // scrollbar to appear on the 'x-screen', and it moves within the screen when\n // the scrollbar is moved.\n //\n // It is set 'visibility: hidden' to keep the browser from trying to include\n // it in the selection when a user 'drag selects' upwards (drag the mouse to\n // select and scroll at the same time). Without this, the selection gets\n // out of whack.\n this.scrollArea_ = doc.createElement('div');\n this.scrollArea_.id = 'hterm:scrollarea';\n this.scrollArea_.style.cssText = 'visibility: hidden';\n this.screen_.appendChild(this.scrollArea_);\n\n // This svg element is used to detect when the browser is zoomed. It must be\n // placed in the outermost document for currentScale to be correct.\n // TODO(rginda): This means that hterm nested in an iframe will not correctly\n // detect browser zoom level. We should come up with a better solution.\n // Note: This must be http:// else Chrome cannot create the element correctly.\n var xmlns = 'http://www.w3.org/2000/svg';\n this.svg_ = this.div_.ownerDocument.createElementNS(xmlns, 'svg');\n this.svg_.id = 'hterm:zoom-detector';\n this.svg_.setAttribute('xmlns', xmlns);\n this.svg_.setAttribute('version', '1.1');\n this.svg_.style.cssText = (\n 'position: absolute;' +\n 'top: 0;' +\n 'left: 0;' +\n 'visibility: hidden');\n\n\n // We send focus to this element just before a paste happens, so we can\n // capture the pasted text and forward it on to someone who cares.\n this.pasteTarget_ = doc.createElement('textarea');\n this.pasteTarget_.id = 'hterm:ctrl-v-paste-target';\n this.pasteTarget_.setAttribute('tabindex', '-1');\n this.pasteTarget_.style.cssText = (\n 'position: absolute;' +\n 'height: 1px;' +\n 'width: 1px;' +\n 'left: 0px; ' +\n 'bottom: 0px;' +\n 'opacity: 0');\n this.pasteTarget_.contentEditable = true;\n\n this.screen_.appendChild(this.pasteTarget_);\n this.pasteTarget_.addEventListener(\n 'textInput', this.handlePasteTargetTextInput_.bind(this));\n\n this.resize();\n};\n\n/**\n * Select the font-family and font-smoothing for this scrollport.\n *\n * @param {string} fontFamily Value of the CSS 'font-family' to use for this\n * scrollport. Should be a monospace font.\n * @param {string} opt_smoothing Optional value for '-webkit-font-smoothing'.\n * Defaults to an empty string if not specified.\n */\nhterm.ScrollPort.prototype.setFontFamily = function(fontFamily, opt_smoothing) {\n this.screen_.style.fontFamily = fontFamily;\n if (opt_smoothing) {\n this.screen_.style.webkitFontSmoothing = opt_smoothing;\n } else {\n this.screen_.style.webkitFontSmoothing = '';\n }\n\n this.syncCharacterSize();\n};\n\nhterm.ScrollPort.prototype.getFontFamily = function() {\n return this.screen_.style.fontFamily;\n};\n\n/**\n * Set a custom stylesheet to include in the scrollport.\n *\n * Defaults to null, meaning no custom css is loaded. Set it back to null or\n * the empty string to remove a previously applied custom css.\n */\nhterm.ScrollPort.prototype.setUserCssUrl = function(url) {\n if (url) {\n this.userCssLink_.setAttribute('href', url);\n\n if (!this.userCssLink_.parentNode)\n this.document_.head.appendChild(this.userCssLink_);\n } else if (this.userCssLink_.parentNode) {\n this.document_.head.removeChild(this.userCssLink_);\n }\n};\n\nhterm.ScrollPort.prototype.setUserCssText = function(text) {\n this.userCssText_.textContent = text;\n};\n\nhterm.ScrollPort.prototype.focus = function() {\n this.iframe_.focus();\n this.screen_.focus();\n};\n\nhterm.ScrollPort.prototype.getForegroundColor = function() {\n return this.screen_.style.color;\n};\n\nhterm.ScrollPort.prototype.setForegroundColor = function(color) {\n this.screen_.style.color = color;\n};\n\nhterm.ScrollPort.prototype.getBackgroundColor = function() {\n return this.screen_.style.backgroundColor;\n};\n\nhterm.ScrollPort.prototype.setBackgroundColor = function(color) {\n this.screen_.style.backgroundColor = color;\n};\n\nhterm.ScrollPort.prototype.setBackgroundImage = function(image) {\n this.screen_.style.backgroundImage = image;\n};\n\nhterm.ScrollPort.prototype.setBackgroundSize = function(size) {\n this.screen_.style.backgroundSize = size;\n};\n\nhterm.ScrollPort.prototype.setBackgroundPosition = function(position) {\n this.screen_.style.backgroundPosition = position;\n};\n\nhterm.ScrollPort.prototype.setCtrlVPaste = function(ctrlVPaste) {\n this.ctrlVPaste = ctrlVPaste;\n};\n\n/**\n * Get the usable size of the scrollport screen.\n *\n * The width will not include the scrollbar width.\n */\nhterm.ScrollPort.prototype.getScreenSize = function() {\n var size = hterm.getClientSize(this.screen_);\n return {\n height: size.height,\n width: size.width - this.currentScrollbarWidthPx\n };\n};\n\n/**\n * Get the usable width of the scrollport screen.\n *\n * This the widget width minus scrollbar width.\n */\nhterm.ScrollPort.prototype.getScreenWidth = function() {\n return this.getScreenSize().width ;\n};\n\n/**\n * Get the usable height of the scrollport screen.\n */\nhterm.ScrollPort.prototype.getScreenHeight = function() {\n return this.getScreenSize().height;\n};\n\n/**\n * Return the document that holds the visible rows of this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.getDocument = function() {\n return this.document_;\n};\n\n/**\n * Returns the x-screen element that holds the rows of this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.getScreenNode = function() {\n return this.screen_;\n};\n\n/**\n * Clear out any cached rowNodes.\n */\nhterm.ScrollPort.prototype.resetCache = function() {\n this.currentRowNodeCache_ = null;\n this.previousRowNodeCache_ = {};\n};\n\n/**\n * Change the current rowProvider.\n *\n * This will clear the row cache and cause a redraw.\n *\n * @param {Object} rowProvider An object capable of providing the rows\n * in this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.setRowProvider = function(rowProvider) {\n this.resetCache();\n this.rowProvider_ = rowProvider;\n this.scheduleRedraw();\n};\n\n/**\n * Inform the ScrollPort that the root DOM nodes for some or all of the visible\n * rows are no longer valid.\n *\n * Specifically, this should be called if this.rowProvider_.getRowNode() now\n * returns an entirely different node than it did before. It does not\n * need to be called if the content of a row node is the only thing that\n * changed.\n *\n * This skips some of the overhead of a full redraw, but should not be used\n * in cases where the scrollport has been scrolled, or when the row count has\n * changed.\n */\nhterm.ScrollPort.prototype.invalidate = function() {\n var node = this.topFold_.nextSibling;\n while (node != this.bottomFold_) {\n var nextSibling = node.nextSibling;\n node.parentElement.removeChild(node);\n node = nextSibling;\n }\n\n this.previousRowNodeCache_ = null;\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n this.drawVisibleRows_(topRowIndex, bottomRowIndex);\n};\n\nhterm.ScrollPort.prototype.scheduleInvalidate = function() {\n if (this.timeouts_.invalidate)\n return;\n\n var self = this;\n this.timeouts_.invalidate = setTimeout(function () {\n delete self.timeouts_.invalidate;\n self.invalidate();\n }, 0);\n};\n\n/**\n * Set the font size of the ScrollPort.\n */\nhterm.ScrollPort.prototype.setFontSize = function(px) {\n this.screen_.style.fontSize = px + 'px';\n this.syncCharacterSize();\n};\n\n/**\n * Return the current font size of the ScrollPort.\n */\nhterm.ScrollPort.prototype.getFontSize = function() {\n return parseInt(this.screen_.style.fontSize);\n};\n\n/**\n * Measure the size of a single character in pixels.\n *\n * @param {string} opt_weight The font weight to measure, or 'normal' if\n * omitted.\n * @return {hterm.Size} A new hterm.Size object.\n */\nhterm.ScrollPort.prototype.measureCharacterSize = function(opt_weight) {\n // Number of lines used to average the height of a single character.\n var numberOfLines = 100;\n // Number of chars per line used to average the width of a single character.\n var lineLength = 100;\n\n if (!this.ruler_) {\n this.ruler_ = this.document_.createElement('div');\n this.ruler_.id = 'hterm:ruler-character-size';\n this.ruler_.style.cssText = (\n 'position: absolute;' +\n 'top: 0;' +\n 'left: 0;' +\n 'visibility: hidden;' +\n 'height: auto !important;' +\n 'width: auto !important;');\n\n // We need to put the text in a span to make the size calculation\n // work properly in Firefox\n this.rulerSpan_ = this.document_.createElement('span');\n this.rulerSpan_.id = 'hterm:ruler-span-workaround';\n this.rulerSpan_.innerHTML =\n ('X'.repeat(lineLength) + '\\r').repeat(numberOfLines);\n this.ruler_.appendChild(this.rulerSpan_);\n\n this.rulerBaseline_ = this.document_.createElement('span');\n this.rulerSpan_.id = 'hterm:ruler-baseline';\n // We want to collapse it on the baseline\n this.rulerBaseline_.style.fontSize = '0px';\n this.rulerBaseline_.textContent = 'X';\n }\n\n this.rulerSpan_.style.fontWeight = opt_weight || '';\n\n this.rowNodes_.appendChild(this.ruler_);\n var rulerSize = hterm.getClientSize(this.rulerSpan_);\n\n var size = new hterm.Size(rulerSize.width / lineLength,\n rulerSize.height / numberOfLines);\n\n this.ruler_.appendChild(this.rulerBaseline_);\n size.baseline = this.rulerBaseline_.offsetTop;\n this.ruler_.removeChild(this.rulerBaseline_);\n\n this.rowNodes_.removeChild(this.ruler_);\n\n this.div_.ownerDocument.body.appendChild(this.svg_);\n size.zoomFactor = this.svg_.currentScale;\n this.div_.ownerDocument.body.removeChild(this.svg_);\n\n return size;\n};\n\n/**\n * Synchronize the character size.\n *\n * This will re-measure the current character size and adjust the height\n * of an x-row to match.\n */\nhterm.ScrollPort.prototype.syncCharacterSize = function() {\n this.characterSize = this.measureCharacterSize();\n\n this.resize();\n};\n\n/**\n * Reset dimensions and visible row count to account for a change in the\n * dimensions of the 'x-screen'.\n */\nhterm.ScrollPort.prototype.resize = function() {\n this.currentScrollbarWidthPx = hterm.getClientWidth(this.screen_) -\n this.screen_.clientWidth;\n\n this.syncScrollHeight();\n this.syncRowNodesDimensions_();\n\n var self = this;\n this.publish(\n 'resize', { scrollPort: this },\n function() {\n self.scrollRowToBottom(self.rowProvider_.getRowCount());\n self.scheduleRedraw();\n });\n};\n\n/**\n * Set the position and size of the row nodes element.\n */\nhterm.ScrollPort.prototype.syncRowNodesDimensions_ = function() {\n var screenSize = this.getScreenSize();\n\n this.lastScreenWidth_ = screenSize.width;\n this.lastScreenHeight_ = screenSize.height;\n\n // We don't want to show a partial row because it would be distracting\n // in a terminal, so we floor any fractional row count.\n this.visibleRowCount = lib.f.smartFloorDivide(\n screenSize.height, this.characterSize.height);\n\n // Then compute the height of our integral number of rows.\n var visibleRowsHeight = this.visibleRowCount * this.characterSize.height;\n\n // Then the difference between the screen height and total row height needs to\n // be made up for as top margin. We need to record this value so it\n // can be used later to determine the topRowIndex.\n this.visibleRowTopMargin = 0;\n this.visibleRowBottomMargin = screenSize.height - visibleRowsHeight;\n\n this.topFold_.style.marginBottom = this.visibleRowTopMargin + 'px';\n\n\n var topFoldOffset = 0;\n var node = this.topFold_.previousSibling;\n while (node) {\n topFoldOffset += hterm.getClientHeight(node);\n node = node.previousSibling;\n }\n\n // Set the dimensions of the visible rows container.\n this.rowNodes_.style.width = screenSize.width + 'px';\n this.rowNodes_.style.height = visibleRowsHeight + topFoldOffset + 'px';\n this.rowNodes_.style.left = this.screen_.offsetLeft + 'px';\n this.rowNodes_.style.top = this.screen_.offsetTop - topFoldOffset + 'px';\n};\n\nhterm.ScrollPort.prototype.syncScrollHeight = function() {\n // Resize the scroll area to appear as though it contains every row.\n this.lastRowCount_ = this.rowProvider_.getRowCount();\n this.scrollArea_.style.height = (this.characterSize.height *\n this.lastRowCount_ +\n this.visibleRowTopMargin +\n this.visibleRowBottomMargin +\n 'px');\n};\n\n/**\n * Schedule a redraw to happen asynchronously.\n *\n * If this method is called multiple times before the redraw has a chance to\n * run only one redraw occurs.\n */\nhterm.ScrollPort.prototype.scheduleRedraw = function() {\n if (this.timeouts_.redraw)\n return;\n\n var self = this;\n this.timeouts_.redraw = setTimeout(function () {\n delete self.timeouts_.redraw;\n self.redraw_();\n }, 0);\n};\n\n/**\n * Redraw the current hterm.ScrollPort based on the current scrollbar position.\n *\n * When redrawing, we are careful to make sure that the rows that start or end\n * the current selection are not touched in any way. Doing so would disturb\n * the selection, and cleaning up after that would cause flashes at best and\n * incorrect selection at worst. Instead, we modify the DOM around these nodes.\n * We even stash the selection start/end outside of the visible area if\n * they are not supposed to be visible in the hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.redraw_ = function() {\n this.resetSelectBags_();\n this.selection.sync();\n\n this.syncScrollHeight();\n\n this.currentRowNodeCache_ = {};\n\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n this.drawTopFold_(topRowIndex);\n this.drawBottomFold_(bottomRowIndex);\n this.drawVisibleRows_(topRowIndex, bottomRowIndex);\n\n this.syncRowNodesDimensions_();\n\n this.previousRowNodeCache_ = this.currentRowNodeCache_;\n this.currentRowNodeCache_ = null;\n\n this.isScrolledEnd = (\n this.getTopRowIndex() + this.visibleRowCount >= this.lastRowCount_);\n};\n\n/**\n * Ensure that the nodes above the top fold are as they should be.\n *\n * If the selection start and/or end nodes are above the visible range\n * of this hterm.ScrollPort then the dom will be adjusted so that they appear\n * before the top fold (the first x-fold element, aka this.topFold).\n *\n * If not, the top fold will be the first element.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawTopFold_ = function(topRowIndex) {\n if (!this.selection.startRow ||\n this.selection.startRow.rowIndex >= topRowIndex) {\n // Selection is entirely below the top fold, just make sure the fold is\n // the first child.\n if (this.rowNodes_.firstChild != this.topFold_)\n this.rowNodes_.insertBefore(this.topFold_, this.rowNodes_.firstChild);\n\n return;\n }\n\n if (!this.selection.isMultiline ||\n this.selection.endRow.rowIndex >= topRowIndex) {\n // Only the startRow is above the fold.\n if (this.selection.startRow.nextSibling != this.topFold_)\n this.rowNodes_.insertBefore(this.topFold_,\n this.selection.startRow.nextSibling);\n } else {\n // Both rows are above the fold.\n if (this.selection.endRow.nextSibling != this.topFold_) {\n this.rowNodes_.insertBefore(this.topFold_,\n this.selection.endRow.nextSibling);\n }\n\n // Trim any intermediate lines.\n while (this.selection.startRow.nextSibling !=\n this.selection.endRow) {\n this.rowNodes_.removeChild(this.selection.startRow.nextSibling);\n }\n }\n\n while(this.rowNodes_.firstChild != this.selection.startRow) {\n this.rowNodes_.removeChild(this.rowNodes_.firstChild);\n }\n};\n\n/**\n * Ensure that the nodes below the bottom fold are as they should be.\n *\n * If the selection start and/or end nodes are below the visible range\n * of this hterm.ScrollPort then the dom will be adjusted so that they appear\n * after the bottom fold (the second x-fold element, aka this.bottomFold).\n *\n * If not, the bottom fold will be the last element.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawBottomFold_ = function(bottomRowIndex) {\n if (!this.selection.endRow ||\n this.selection.endRow.rowIndex <= bottomRowIndex) {\n // Selection is entirely above the bottom fold, just make sure the fold is\n // the last child.\n if (this.rowNodes_.lastChild != this.bottomFold_)\n this.rowNodes_.appendChild(this.bottomFold_);\n\n return;\n }\n\n if (!this.selection.isMultiline ||\n this.selection.startRow.rowIndex <= bottomRowIndex) {\n // Only the endRow is below the fold.\n if (this.bottomFold_.nextSibling != this.selection.endRow)\n this.rowNodes_.insertBefore(this.bottomFold_,\n this.selection.endRow);\n } else {\n // Both rows are below the fold.\n if (this.bottomFold_.nextSibling != this.selection.startRow) {\n this.rowNodes_.insertBefore(this.bottomFold_,\n this.selection.startRow);\n }\n\n // Trim any intermediate lines.\n while (this.selection.startRow.nextSibling !=\n this.selection.endRow) {\n this.rowNodes_.removeChild(this.selection.startRow.nextSibling);\n }\n }\n\n while(this.rowNodes_.lastChild != this.selection.endRow) {\n this.rowNodes_.removeChild(this.rowNodes_.lastChild);\n }\n};\n\n/**\n * Ensure that the rows between the top and bottom folds are as they should be.\n *\n * This method assumes that drawTopFold_() and drawBottomFold_() have already\n * run, and that they have left any visible selection row (selection start\n * or selection end) between the folds.\n *\n * It recycles DOM nodes from the previous redraw where possible, but will ask\n * the rowSource to make new nodes if necessary.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawVisibleRows_ = function(\n topRowIndex, bottomRowIndex) {\n var self = this;\n\n // Keep removing nodes, starting with currentNode, until we encounter\n // targetNode. Throws on failure.\n function removeUntilNode(currentNode, targetNode) {\n while (currentNode != targetNode) {\n if (!currentNode)\n throw 'Did not encounter target node';\n\n if (currentNode == self.bottomFold_)\n throw 'Encountered bottom fold before target node';\n\n var deadNode = currentNode;\n currentNode = currentNode.nextSibling;\n deadNode.parentNode.removeChild(deadNode);\n }\n }\n\n // Shorthand for things we're going to use a lot.\n var selectionStartRow = this.selection.startRow;\n var selectionEndRow = this.selection.endRow;\n var bottomFold = this.bottomFold_;\n\n // The node we're examining during the current iteration.\n var node = this.topFold_.nextSibling;\n\n var targetDrawCount = Math.min(this.visibleRowCount,\n this.rowProvider_.getRowCount());\n\n for (var drawCount = 0; drawCount < targetDrawCount; drawCount++) {\n var rowIndex = topRowIndex + drawCount;\n\n if (node == bottomFold) {\n // We've hit the bottom fold, we need to insert a new row.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n continue;\n }\n\n if (node.rowIndex == rowIndex) {\n // This node is in the right place, move along.\n node = node.nextSibling;\n continue;\n }\n\n if (selectionStartRow && selectionStartRow.rowIndex == rowIndex) {\n // The selection start row is supposed to be here, remove nodes until\n // we find it.\n removeUntilNode(node, selectionStartRow);\n node = selectionStartRow.nextSibling;\n continue;\n }\n\n if (selectionEndRow && selectionEndRow.rowIndex == rowIndex) {\n // The selection end row is supposed to be here, remove nodes until\n // we find it.\n removeUntilNode(node, selectionEndRow);\n node = selectionEndRow.nextSibling;\n continue;\n }\n\n if (node == selectionStartRow || node == selectionEndRow) {\n // We encountered the start/end of the selection, but we don't want it\n // yet. Insert a new row instead.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n continue;\n }\n\n // There is nothing special about this node, but it's in our way. Replace\n // it with the node that should be here.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n if (node == newNode) {\n node = node.nextSibling;\n continue;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n if (!newNode.nextSibling)\n debugger;\n this.rowNodes_.removeChild(node);\n node = newNode.nextSibling;\n }\n\n if (node != this.bottomFold_)\n removeUntilNode(node, bottomFold);\n};\n\n/**\n * Empty out both select bags and remove them from the document.\n *\n * These nodes hold the text between the start and end of the selection\n * when that text is otherwise off screen. They are filled out in the\n * onCopy_ event.\n */\nhterm.ScrollPort.prototype.resetSelectBags_ = function() {\n if (this.topSelectBag_.parentNode) {\n this.topSelectBag_.textContent = '';\n this.topSelectBag_.parentNode.removeChild(this.topSelectBag_);\n }\n\n if (this.bottomSelectBag_.parentNode) {\n this.bottomSelectBag_.textContent = '';\n this.bottomSelectBag_.parentNode.removeChild(this.bottomSelectBag_);\n }\n};\n\n/**\n * Place a row node in the cache of visible nodes.\n *\n * This method may only be used during a redraw_.\n */\nhterm.ScrollPort.prototype.cacheRowNode_ = function(rowNode) {\n this.currentRowNodeCache_[rowNode.rowIndex] = rowNode;\n};\n\n/**\n * Fetch the row node for the given index.\n *\n * This will return a node from the cache if possible, or will request one\n * from the RowProvider if not.\n *\n * If a redraw_ is in progress the row will be added to the current cache.\n */\nhterm.ScrollPort.prototype.fetchRowNode_ = function(rowIndex) {\n var node;\n\n if (this.previousRowNodeCache_ && rowIndex in this.previousRowNodeCache_) {\n node = this.previousRowNodeCache_[rowIndex];\n } else {\n node = this.rowProvider_.getRowNode(rowIndex);\n }\n\n if (this.currentRowNodeCache_)\n this.cacheRowNode_(node);\n\n return node;\n};\n\n/**\n * Select all rows in the viewport.\n */\nhterm.ScrollPort.prototype.selectAll = function() {\n var firstRow;\n\n if (this.topFold_.nextSibling.rowIndex != 0) {\n while (this.topFold_.previousSibling) {\n this.rowNodes_.removeChild(this.topFold_.previousSibling);\n }\n\n firstRow = this.fetchRowNode_(0);\n this.rowNodes_.insertBefore(firstRow, this.topFold_);\n this.syncRowNodesDimensions_();\n } else {\n firstRow = this.topFold_.nextSibling;\n }\n\n var lastRowIndex = this.rowProvider_.getRowCount() - 1;\n var lastRow;\n\n if (this.bottomFold_.previousSibling.rowIndex != lastRowIndex) {\n while (this.bottomFold_.nextSibling) {\n this.rowNodes_.removeChild(this.bottomFold_.nextSibling);\n }\n\n lastRow = this.fetchRowNode_(lastRowIndex);\n this.rowNodes_.appendChild(lastRow);\n } else {\n lastRow = this.bottomFold_.previousSibling.rowIndex;\n }\n\n var selection = this.document_.getSelection();\n selection.collapse(firstRow, 0);\n selection.extend(lastRow, lastRow.childNodes.length);\n\n this.selection.sync();\n};\n\n/**\n * Return the maximum scroll position in pixels.\n */\nhterm.ScrollPort.prototype.getScrollMax_ = function(e) {\n return (hterm.getClientHeight(this.scrollArea_) +\n this.visibleRowTopMargin + this.visibleRowBottomMargin -\n hterm.getClientHeight(this.screen_));\n};\n\n/**\n * Scroll the given rowIndex to the top of the hterm.ScrollPort.\n *\n * @param {integer} rowIndex Index of the target row.\n */\nhterm.ScrollPort.prototype.scrollRowToTop = function(rowIndex) {\n this.syncScrollHeight();\n\n this.isScrolledEnd = (\n rowIndex + this.visibleRowCount >= this.lastRowCount_);\n\n var scrollTop = rowIndex * this.characterSize.height +\n this.visibleRowTopMargin;\n\n var scrollMax = this.getScrollMax_();\n if (scrollTop > scrollMax)\n scrollTop = scrollMax;\n\n if (this.screen_.scrollTop == scrollTop)\n return;\n\n this.screen_.scrollTop = scrollTop;\n this.scheduleRedraw();\n};\n\n/**\n * Scroll the given rowIndex to the bottom of the hterm.ScrollPort.\n *\n * @param {integer} rowIndex Index of the target row.\n */\nhterm.ScrollPort.prototype.scrollRowToBottom = function(rowIndex) {\n this.syncScrollHeight();\n\n this.isScrolledEnd = (\n rowIndex + this.visibleRowCount >= this.lastRowCount_);\n\n var scrollTop = rowIndex * this.characterSize.height +\n this.visibleRowTopMargin + this.visibleRowBottomMargin;\n scrollTop -= this.visibleRowCount * this.characterSize.height;\n\n if (scrollTop < 0)\n scrollTop = 0;\n\n if (this.screen_.scrollTop == scrollTop)\n return;\n\n this.screen_.scrollTop = scrollTop;\n};\n\n/**\n * Return the row index of the first visible row.\n *\n * This is based on the scroll position. If a redraw_ is in progress this\n * returns the row that *should* be at the top.\n */\nhterm.ScrollPort.prototype.getTopRowIndex = function() {\n return Math.round(this.screen_.scrollTop / this.characterSize.height);\n};\n\n/**\n * Return the row index of the last visible row.\n *\n * This is based on the scroll position. If a redraw_ is in progress this\n * returns the row that *should* be at the bottom.\n */\nhterm.ScrollPort.prototype.getBottomRowIndex = function(topRowIndex) {\n return topRowIndex + this.visibleRowCount - 1;\n};\n\n/**\n * Handler for scroll events.\n *\n * The onScroll event fires when scrollArea's scrollTop property changes. This\n * may be due to the user manually move the scrollbar, or a programmatic change.\n */\nhterm.ScrollPort.prototype.onScroll_ = function(e) {\n var screenSize = this.getScreenSize();\n if (screenSize.width != this.lastScreenWidth_ ||\n screenSize.height != this.lastScreenHeight_) {\n // This event may also fire during a resize (but before the resize event!).\n // This happens when the browser moves the scrollbar as part of the resize.\n // In these cases, we want to ignore the scroll event and let onResize\n // handle things. If we don't, then we end up scrolling to the wrong\n // position after a resize.\n this.resize();\n return;\n }\n\n this.redraw_();\n this.publish('scroll', { scrollPort: this });\n};\n\n/**\n * Clients can override this if they want to hear scrollwheel events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onScrollWheel = function(e) {};\n\n/**\n * Handler for scroll-wheel events.\n *\n * The onScrollWheel event fires when the user moves their scrollwheel over this\n * hterm.ScrollPort. Because the frontmost element in the hterm.ScrollPort is\n * a fixed position DIV, the scroll wheel does nothing by default. Instead, we\n * have to handle it manually.\n */\nhterm.ScrollPort.prototype.onScrollWheel_ = function(e) {\n this.onScrollWheel(e);\n\n if (e.defaultPrevented)\n return;\n\n // Figure out how far this event wants us to scroll.\n var delta = this.scrollWheelDelta(e);\n\n var top = this.screen_.scrollTop - delta;\n if (top < 0)\n top = 0;\n\n var scrollMax = this.getScrollMax_();\n if (top > scrollMax)\n top = scrollMax;\n\n if (top != this.screen_.scrollTop) {\n // Moving scrollTop causes a scroll event, which triggers the redraw.\n this.screen_.scrollTop = top;\n\n // Only preventDefault when we've actually scrolled. If there's nothing\n // to scroll we want to pass the event through so Chrome can detect the\n // overscroll.\n e.preventDefault();\n }\n};\n\n/**\n * Calculate how far a wheel event should scroll.\n *\n * @param {WheelEvent} e The mouse wheel event to process.\n * @return {number} How far (in pixels) to scroll.\n */\nhterm.ScrollPort.prototype.scrollWheelDelta = function(e) {\n var delta;\n\n switch (e.deltaMode) {\n case WheelEvent.DOM_DELTA_PIXEL:\n delta = e.deltaY * this.scrollWheelMultiplier_;\n break;\n case WheelEvent.DOM_DELTA_LINE:\n delta = e.deltaY * this.characterSize.height;\n break;\n case WheelEvent.DOM_DELTA_PAGE:\n delta = e.deltaY * this.characterSize.height * this.screen_.getHeight();\n break;\n }\n\n // The sign is inverted from what we would expect.\n return delta * -1;\n};\n\n\n/**\n * Clients can override this if they want to hear touch events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onTouch = function(e) {};\n\n/**\n * Handler for touch events.\n */\nhterm.ScrollPort.prototype.onTouch_ = function(e) {\n this.onTouch(e);\n\n if (e.defaultPrevented)\n return;\n\n // Extract the fields from the Touch event that we need. If we saved the\n // event directly, it has references to other objects (like x-row) that\n // might stick around for a long time. This way we only have small objects\n // in our lastTouch_ state.\n var scrubTouch = function(t) {\n return {\n id: t.identifier,\n y: t.clientY,\n x: t.clientX,\n };\n };\n\n var i, touch;\n switch (e.type) {\n case 'touchstart':\n // Save the current set of touches.\n for (i = 0; i < e.changedTouches.length; ++i) {\n touch = scrubTouch(e.changedTouches[i]);\n this.lastTouch_[touch.id] = touch;\n }\n break;\n\n case 'touchcancel':\n case 'touchend':\n // Throw away existing touches that we're finished with.\n for (i = 0; i < e.changedTouches.length; ++i)\n delete this.lastTouch_[e.changedTouches[i].identifier];\n break;\n\n case 'touchmove':\n // Walk all of the touches in this one event and merge all of their\n // changes into one delta. This lets multiple fingers scroll faster.\n var delta = 0;\n for (i = 0; i < e.changedTouches.length; ++i) {\n touch = scrubTouch(e.changedTouches[i]);\n delta += (this.lastTouch_[touch.id].y - touch.y);\n this.lastTouch_[touch.id] = touch;\n }\n\n // Invert to match the touchscreen scrolling direction of browser windows.\n delta *= -1;\n\n var top = this.screen_.scrollTop - delta;\n if (top < 0)\n top = 0;\n\n var scrollMax = this.getScrollMax_();\n if (top > scrollMax)\n top = scrollMax;\n\n if (top != this.screen_.scrollTop) {\n // Moving scrollTop causes a scroll event, which triggers the redraw.\n this.screen_.scrollTop = top;\n }\n break;\n }\n\n // To disable gestures or anything else interfering with our scrolling.\n e.preventDefault();\n};\n\n/**\n * Handler for resize events.\n *\n * The browser will resize us such that the top row stays at the top, but we\n * prefer to the bottom row to stay at the bottom.\n */\nhterm.ScrollPort.prototype.onResize_ = function(e) {\n // Re-measure, since onResize also happens for browser zoom changes.\n this.syncCharacterSize();\n this.resize();\n};\n\n/**\n * Clients can override this if they want to hear copy events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onCopy = function(e) { };\n\n/**\n * Handler for copy-to-clipboard events.\n *\n * If some or all of the selected rows are off screen we may need to fill in\n * the rows between selection start and selection end. This handler determines\n * if we're missing some of the selected text, and if so populates one or both\n * of the \"select bags\" with the missing text.\n */\nhterm.ScrollPort.prototype.onCopy_ = function(e) {\n this.onCopy(e);\n\n if (e.defaultPrevented)\n return;\n\n this.resetSelectBags_();\n this.selection.sync();\n\n if (!this.selection.startRow ||\n this.selection.endRow.rowIndex - this.selection.startRow.rowIndex < 2) {\n return;\n }\n\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n if (this.selection.startRow.rowIndex < topRowIndex) {\n // Start of selection is above the top fold.\n var endBackfillIndex;\n\n if (this.selection.endRow.rowIndex < topRowIndex) {\n // Entire selection is above the top fold.\n endBackfillIndex = this.selection.endRow.rowIndex;\n } else {\n // Selection extends below the top fold.\n endBackfillIndex = this.topFold_.nextSibling.rowIndex;\n }\n\n this.topSelectBag_.textContent = this.rowProvider_.getRowsText(\n this.selection.startRow.rowIndex + 1, endBackfillIndex);\n this.rowNodes_.insertBefore(this.topSelectBag_,\n this.selection.startRow.nextSibling);\n this.syncRowNodesDimensions_();\n }\n\n if (this.selection.endRow.rowIndex > bottomRowIndex) {\n // Selection ends below the bottom fold.\n var startBackfillIndex;\n\n if (this.selection.startRow.rowIndex > bottomRowIndex) {\n // Entire selection is below the bottom fold.\n startBackfillIndex = this.selection.startRow.rowIndex + 1;\n } else {\n // Selection starts above the bottom fold.\n startBackfillIndex = this.bottomFold_.previousSibling.rowIndex + 1;\n }\n\n this.bottomSelectBag_.textContent = this.rowProvider_.getRowsText(\n startBackfillIndex, this.selection.endRow.rowIndex);\n this.rowNodes_.insertBefore(this.bottomSelectBag_, this.selection.endRow);\n }\n};\n\n/**\n * Focuses on the paste target on a ctrl-v keydown event, as in\n * FF a content editable element must be focused before the paste event.\n */\nhterm.ScrollPort.prototype.onBodyKeyDown_ = function(e) {\n if (!this.ctrlVPaste)\n return;\n\n var key = String.fromCharCode(e.which);\n var lowerKey = key.toLowerCase();\n if ((e.ctrlKey || e.metaKey) && lowerKey == \"v\")\n this.pasteTarget_.focus();\n};\n\n/**\n * Handle a paste event on the the ScrollPort's screen element.\n */\nhterm.ScrollPort.prototype.onPaste_ = function(e) {\n this.pasteTarget_.focus();\n\n var self = this;\n setTimeout(function() {\n self.publish('paste', { text: self.pasteTarget_.value });\n self.pasteTarget_.value = '';\n self.screen_.focus();\n }, 0);\n};\n\n/**\n * Handles a textInput event on the paste target. Stops this from\n * propagating as we want this to be handled in the onPaste_ method.\n */\nhterm.ScrollPort.prototype.handlePasteTargetTextInput_ = function(e) {\n e.stopPropagation();\n};\n\n/**\n * Set the vertical scrollbar mode of the ScrollPort.\n */\nhterm.ScrollPort.prototype.setScrollbarVisible = function(state) {\n this.screen_.style.overflowY = state ? 'scroll' : 'hidden';\n};\n\n/**\n * Set scroll wheel multiplier. This alters how much the screen scrolls on\n * mouse wheel events.\n */\nhterm.ScrollPort.prototype.setScrollWheelMoveMultipler = function(multiplier) {\n this.scrollWheelMultiplier_ = multiplier;\n};\n// SOURCE FILE: hterm/js/hterm_terminal.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors', 'lib.PreferenceManager', 'lib.resource', 'lib.wc',\n 'lib.f', 'hterm.Keyboard', 'hterm.Options', 'hterm.PreferenceManager',\n 'hterm.Screen', 'hterm.ScrollPort', 'hterm.Size',\n 'hterm.TextAttributes', 'hterm.VT');\n\n/**\n * Constructor for the Terminal class.\n *\n * A Terminal pulls together the hterm.ScrollPort, hterm.Screen and hterm.VT100\n * classes to provide the complete terminal functionality.\n *\n * There are a number of lower-level Terminal methods that can be called\n * directly to manipulate the cursor, text, scroll region, and other terminal\n * attributes. However, the primary method is interpret(), which parses VT\n * escape sequences and invokes the appropriate Terminal methods.\n *\n * This class was heavily influenced by Cory Maccarrone's Framebuffer class.\n *\n * TODO(rginda): Eventually we're going to need to support characters which are\n * displayed twice as wide as standard latin characters. This is to support\n * CJK (and possibly other character sets).\n *\n * @param {string} opt_profileId Optional preference profile name. If not\n * provided, defaults to 'default'.\n */\nhterm.Terminal = function(opt_profileId) {\n this.profileId_ = null;\n\n // Two screen instances.\n this.primaryScreen_ = new hterm.Screen();\n this.alternateScreen_ = new hterm.Screen();\n\n // The \"current\" screen.\n this.screen_ = this.primaryScreen_;\n\n // The local notion of the screen size. ScreenBuffers also have a size which\n // indicates their present size. During size changes, the two may disagree.\n // Also, the inactive screen's size is not altered until it is made the active\n // screen.\n this.screenSize = new hterm.Size(0, 0);\n\n // The scroll port we'll be using to display the visible rows.\n this.scrollPort_ = new hterm.ScrollPort(this);\n this.scrollPort_.subscribe('resize', this.onResize_.bind(this));\n this.scrollPort_.subscribe('scroll', this.onScroll_.bind(this));\n this.scrollPort_.subscribe('paste', this.onPaste_.bind(this));\n this.scrollPort_.onCopy = this.onCopy_.bind(this);\n\n // The div that contains this terminal.\n this.div_ = null;\n\n // The document that contains the scrollPort. Defaulted to the global\n // document here so that the terminal is functional even if it hasn't been\n // inserted into a document yet, but re-set in decorate().\n this.document_ = window.document;\n\n // The rows that have scrolled off screen and are no longer addressable.\n this.scrollbackRows_ = [];\n\n // Saved tab stops.\n this.tabStops_ = [];\n\n // Keep track of whether default tab stops have been erased; after a TBC\n // clears all tab stops, defaults aren't restored on resize until a reset.\n this.defaultTabStops = true;\n\n // The VT's notion of the top and bottom rows. Used during some VT\n // cursor positioning and scrolling commands.\n this.vtScrollTop_ = null;\n this.vtScrollBottom_ = null;\n\n // The DIV element for the visible cursor.\n this.cursorNode_ = null;\n\n // The current cursor shape of the terminal.\n this.cursorShape_ = hterm.Terminal.cursorShape.BLOCK;\n\n // The current color of the cursor.\n this.cursorColor_ = null;\n\n // Cursor blink on/off cycle in ms, overwritten by prefs once they're loaded.\n this.cursorBlinkCycle_ = [100, 100];\n\n // Pre-bound onCursorBlink_ handler, so we don't have to do this for each\n // cursor on/off servicing.\n this.myOnCursorBlink_ = this.onCursorBlink_.bind(this);\n\n // These prefs are cached so we don't have to read from local storage with\n // each output and keystroke. They are initialized by the preference manager.\n this.backgroundColor_ = null;\n this.foregroundColor_ = null;\n this.scrollOnOutput_ = null;\n this.scrollOnKeystroke_ = null;\n this.scrollWheelArrowKeys_ = null;\n\n // True if we should override mouse event reporting to allow local selection.\n this.defeatMouseReports_ = false;\n\n // Terminal bell sound.\n this.bellAudio_ = this.document_.createElement('audio');\n this.bellAudio_.id = 'hterm:bell-audio';\n this.bellAudio_.setAttribute('preload', 'auto');\n\n // All terminal bell notifications that have been generated (not necessarily\n // shown).\n this.bellNotificationList_ = [];\n\n // Whether we have permission to display notifications.\n this.desktopNotificationBell_ = false;\n\n // Cursor position and attributes saved with DECSC.\n this.savedOptions_ = {};\n\n // The current mode bits for the terminal.\n this.options_ = new hterm.Options();\n\n // Timeouts we might need to clear.\n this.timeouts_ = {};\n\n // The VT escape sequence interpreter.\n this.vt = new hterm.VT(this);\n\n // The keyboard handler.\n this.keyboard = new hterm.Keyboard(this);\n\n // General IO interface that can be given to third parties without exposing\n // the entire terminal object.\n this.io = new hterm.Terminal.IO(this);\n\n // True if mouse-click-drag should scroll the terminal.\n this.enableMouseDragScroll = true;\n\n this.copyOnSelect = null;\n this.mouseRightClickPaste = null;\n this.mousePasteButton = null;\n\n // Whether to use the default window copy behavior.\n this.useDefaultWindowCopy = false;\n\n this.clearSelectionAfterCopy = true;\n\n this.realizeSize_(80, 24);\n this.setDefaultTabStops();\n\n this.setProfile(opt_profileId || 'default',\n function() { this.onTerminalReady(); }.bind(this));\n};\n\n/**\n * Possible cursor shapes.\n */\nhterm.Terminal.cursorShape = {\n BLOCK: 'BLOCK',\n BEAM: 'BEAM',\n UNDERLINE: 'UNDERLINE'\n};\n\n/**\n * Clients should override this to be notified when the terminal is ready\n * for use.\n *\n * The terminal initialization is asynchronous, and shouldn't be used before\n * this method is called.\n */\nhterm.Terminal.prototype.onTerminalReady = function() { };\n\n/**\n * Default tab with of 8 to match xterm.\n */\nhterm.Terminal.prototype.tabWidth = 8;\n\n/**\n * Select a preference profile.\n *\n * This will load the terminal preferences for the given profile name and\n * associate subsequent preference changes with the new preference profile.\n *\n * @param {string} profileId The name of the preference profile. Forward slash\n * characters will be removed from the name.\n * @param {function} opt_callback Optional callback to invoke when the profile\n * transition is complete.\n */\nhterm.Terminal.prototype.setProfile = function(profileId, opt_callback) {\n this.profileId_ = profileId.replace(/\\//g, '');\n\n var terminal = this;\n\n if (this.prefs_)\n this.prefs_.deactivate();\n\n this.prefs_ = new hterm.PreferenceManager(this.profileId_);\n this.prefs_.addObservers(null, {\n 'alt-gr-mode': function(v) {\n if (v == null) {\n if (navigator.language.toLowerCase() == 'en-us') {\n v = 'none';\n } else {\n v = 'right-alt';\n }\n } else if (typeof v == 'string') {\n v = v.toLowerCase();\n } else {\n v = 'none';\n }\n\n if (!/^(none|ctrl-alt|left-alt|right-alt)$/.test(v))\n v = 'none';\n\n terminal.keyboard.altGrMode = v;\n },\n\n 'alt-backspace-is-meta-backspace': function(v) {\n terminal.keyboard.altBackspaceIsMetaBackspace = v;\n },\n\n 'alt-is-meta': function(v) {\n terminal.keyboard.altIsMeta = v;\n },\n\n 'alt-sends-what': function(v) {\n if (!/^(escape|8-bit|browser-key)$/.test(v))\n v = 'escape';\n\n terminal.keyboard.altSendsWhat = v;\n },\n\n 'audible-bell-sound': function(v) {\n var ary = v.match(/^lib-resource:(\\S+)/);\n if (ary) {\n terminal.bellAudio_.setAttribute('src',\n lib.resource.getDataUrl(ary[1]));\n } else {\n terminal.bellAudio_.setAttribute('src', v);\n }\n },\n\n 'desktop-notification-bell': function(v) {\n if (v && Notification) {\n terminal.desktopNotificationBell_ =\n Notification.permission === 'granted';\n if (!terminal.desktopNotificationBell_) {\n // Note: We don't call Notification.requestPermission here because\n // Chrome requires the call be the result of a user action (such as an\n // onclick handler), and pref listeners are run asynchronously.\n //\n // A way of working around this would be to display a dialog in the\n // terminal with a \"click-to-request-permission\" button.\n console.warn('desktop-notification-bell is true but we do not have ' +\n 'permission to display notifications.');\n }\n } else {\n terminal.desktopNotificationBell_ = false;\n }\n },\n\n 'background-color': function(v) {\n terminal.setBackgroundColor(v);\n },\n\n 'background-image': function(v) {\n terminal.scrollPort_.setBackgroundImage(v);\n },\n\n 'background-size': function(v) {\n terminal.scrollPort_.setBackgroundSize(v);\n },\n\n 'background-position': function(v) {\n terminal.scrollPort_.setBackgroundPosition(v);\n },\n\n 'backspace-sends-backspace': function(v) {\n terminal.keyboard.backspaceSendsBackspace = v;\n },\n\n 'character-map-overrides': function(v) {\n if (!(v == null || v instanceof Object)) {\n console.warn('Preference character-map-modifications is not an ' +\n 'object: ' + v);\n return;\n }\n\n terminal.vt.characterMaps.reset();\n terminal.vt.characterMaps.setOverrides(v);\n },\n\n 'cursor-blink': function(v) {\n terminal.setCursorBlink(!!v);\n },\n\n 'cursor-blink-cycle': function(v) {\n if (v instanceof Array &&\n typeof v[0] == 'number' &&\n typeof v[1] == 'number') {\n terminal.cursorBlinkCycle_ = v;\n } else if (typeof v == 'number') {\n terminal.cursorBlinkCycle_ = [v, v];\n } else {\n // Fast blink indicates an error.\n terminal.cursorBlinkCycle_ = [100, 100];\n }\n },\n\n 'cursor-color': function(v) {\n terminal.setCursorColor(v);\n },\n\n 'color-palette-overrides': function(v) {\n if (!(v == null || v instanceof Object || v instanceof Array)) {\n console.warn('Preference color-palette-overrides is not an array or ' +\n 'object: ' + v);\n return;\n }\n\n lib.colors.colorPalette = lib.colors.stockColorPalette.concat();\n\n if (v) {\n for (var key in v) {\n var i = parseInt(key);\n if (isNaN(i) || i < 0 || i > 255) {\n console.log('Invalid value in palette: ' + key + ': ' + v[key]);\n continue;\n }\n\n if (v[i]) {\n var rgb = lib.colors.normalizeCSS(v[i]);\n if (rgb)\n lib.colors.colorPalette[i] = rgb;\n }\n }\n }\n\n terminal.primaryScreen_.textAttributes.resetColorPalette();\n terminal.alternateScreen_.textAttributes.resetColorPalette();\n },\n\n 'copy-on-select': function(v) {\n terminal.copyOnSelect = !!v;\n },\n\n 'use-default-window-copy': function(v) {\n terminal.useDefaultWindowCopy = !!v;\n },\n\n 'clear-selection-after-copy': function(v) {\n terminal.clearSelectionAfterCopy = !!v;\n },\n\n 'ctrl-plus-minus-zero-zoom': function(v) {\n terminal.keyboard.ctrlPlusMinusZeroZoom = v;\n },\n\n 'ctrl-c-copy': function(v) {\n terminal.keyboard.ctrlCCopy = v;\n },\n\n 'ctrl-v-paste': function(v) {\n terminal.keyboard.ctrlVPaste = v;\n terminal.scrollPort_.setCtrlVPaste(v);\n },\n\n 'east-asian-ambiguous-as-two-column': function(v) {\n lib.wc.regardCjkAmbiguous = v;\n },\n\n 'enable-8-bit-control': function(v) {\n terminal.vt.enable8BitControl = !!v;\n },\n\n 'enable-bold': function(v) {\n terminal.syncBoldSafeState();\n },\n\n 'enable-bold-as-bright': function(v) {\n terminal.primaryScreen_.textAttributes.enableBoldAsBright = !!v;\n terminal.alternateScreen_.textAttributes.enableBoldAsBright = !!v;\n },\n\n 'enable-blink': function(v) {\n terminal.syncBlinkState();\n },\n\n 'enable-clipboard-write': function(v) {\n terminal.vt.enableClipboardWrite = !!v;\n },\n\n 'enable-dec12': function(v) {\n terminal.vt.enableDec12 = !!v;\n },\n\n 'font-family': function(v) {\n terminal.syncFontFamily();\n },\n\n 'font-size': function(v) {\n terminal.setFontSize(v);\n },\n\n 'font-smoothing': function(v) {\n terminal.syncFontFamily();\n },\n\n 'foreground-color': function(v) {\n terminal.setForegroundColor(v);\n },\n\n 'home-keys-scroll': function(v) {\n terminal.keyboard.homeKeysScroll = v;\n },\n\n 'keybindings': function(v) {\n terminal.keyboard.bindings.clear();\n\n if (!v)\n return;\n\n if (!(v instanceof Object)) {\n console.error('Error in keybindings preference: Expected object');\n return;\n }\n\n try {\n terminal.keyboard.bindings.addBindings(v);\n } catch (ex) {\n console.error('Error in keybindings preference: ' + ex);\n }\n },\n\n 'max-string-sequence': function(v) {\n terminal.vt.maxStringSequence = v;\n },\n\n 'media-keys-are-fkeys': function(v) {\n terminal.keyboard.mediaKeysAreFKeys = v;\n },\n\n 'meta-sends-escape': function(v) {\n terminal.keyboard.metaSendsEscape = v;\n },\n\n 'mouse-right-click-paste': function(v) {\n terminal.mouseRightClickPaste = v;\n },\n\n 'mouse-paste-button': function(v) {\n terminal.syncMousePasteButton();\n },\n\n 'page-keys-scroll': function(v) {\n terminal.keyboard.pageKeysScroll = v;\n },\n\n 'pass-alt-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Alt-1..9 pass to the browser (to control tab switching) on\n // non-OS X systems, or if hterm is not opened in an app window.\n v = (!osx && hterm.windowType != 'popup');\n }\n\n terminal.passAltNumber = v;\n },\n\n 'pass-ctrl-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Ctrl-1..9 pass to the browser (to control tab switching) on\n // non-OS X systems, or if hterm is not opened in an app window.\n v = (!osx && hterm.windowType != 'popup');\n }\n\n terminal.passCtrlNumber = v;\n },\n\n 'pass-meta-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Meta-1..9 pass to the browser (to control tab switching) on\n // OS X systems, or if hterm is not opened in an app window.\n v = (osx && hterm.windowType != 'popup');\n }\n\n terminal.passMetaNumber = v;\n },\n\n 'pass-meta-v': function(v) {\n terminal.keyboard.passMetaV = v;\n },\n\n 'receive-encoding': function(v) {\n if (!(/^(utf-8|raw)$/).test(v)) {\n console.warn('Invalid value for \"receive-encoding\": ' + v);\n v = 'utf-8';\n }\n\n terminal.vt.characterEncoding = v;\n },\n\n 'scroll-on-keystroke': function(v) {\n terminal.scrollOnKeystroke_ = v;\n },\n\n 'scroll-on-output': function(v) {\n terminal.scrollOnOutput_ = v;\n },\n\n 'scrollbar-visible': function(v) {\n terminal.setScrollbarVisible(v);\n },\n\n 'scroll-wheel-may-send-arrow-keys': function(v) {\n terminal.scrollWheelArrowKeys_ = v;\n },\n\n 'scroll-wheel-move-multiplier': function(v) {\n terminal.setScrollWheelMoveMultipler(v);\n },\n\n 'send-encoding': function(v) {\n if (!(/^(utf-8|raw)$/).test(v)) {\n console.warn('Invalid value for \"send-encoding\": ' + v);\n v = 'utf-8';\n }\n\n terminal.keyboard.characterEncoding = v;\n },\n\n 'shift-insert-paste': function(v) {\n terminal.keyboard.shiftInsertPaste = v;\n },\n\n 'terminal-encoding': function(v) {\n terminal.vt.setEncoding(v);\n },\n\n 'user-css': function(v) {\n terminal.scrollPort_.setUserCssUrl(v);\n },\n\n 'user-css-text': function(v) {\n terminal.scrollPort_.setUserCssText(v);\n },\n\n 'word-break-match-left': function(v) {\n terminal.primaryScreen_.wordBreakMatchLeft = v;\n terminal.alternateScreen_.wordBreakMatchLeft = v;\n },\n\n 'word-break-match-right': function(v) {\n terminal.primaryScreen_.wordBreakMatchRight = v;\n terminal.alternateScreen_.wordBreakMatchRight = v;\n },\n\n 'word-break-match-middle': function(v) {\n terminal.primaryScreen_.wordBreakMatchMiddle = v;\n terminal.alternateScreen_.wordBreakMatchMiddle = v;\n },\n });\n\n this.prefs_.readStorage(function() {\n this.prefs_.notifyAll();\n\n if (opt_callback)\n opt_callback();\n }.bind(this));\n};\n\n\n/**\n * Returns the preferences manager used for configuring this terminal.\n *\n * @return {hterm.PreferenceManager}\n */\nhterm.Terminal.prototype.getPrefs = function() {\n return this.prefs_;\n};\n\n/**\n * Enable or disable bracketed paste mode.\n *\n * @param {boolean} state The value to set.\n */\nhterm.Terminal.prototype.setBracketedPaste = function(state) {\n this.options_.bracketedPaste = state;\n};\n\n/**\n * Set the color for the cursor.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setCursorColor = function(color) {\n this.cursorColor_ = color;\n this.cursorNode_.style.backgroundColor = color;\n this.cursorNode_.style.borderColor = color;\n};\n\n/**\n * Return the current cursor color as a string.\n * @return {string}\n */\nhterm.Terminal.prototype.getCursorColor = function() {\n return this.cursorColor_;\n};\n\n/**\n * Enable or disable mouse based text selection in the terminal.\n *\n * @param {boolean} state The value to set.\n */\nhterm.Terminal.prototype.setSelectionEnabled = function(state) {\n this.enableMouseDragScroll = state;\n};\n\n/**\n * Set the background color.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setBackgroundColor = function(color) {\n this.backgroundColor_ = lib.colors.normalizeCSS(color);\n this.primaryScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.alternateScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.scrollPort_.setBackgroundColor(color);\n};\n\n/**\n * Return the current terminal background color.\n *\n * Intended for use by other classes, so we don't have to expose the entire\n * prefs_ object.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getBackgroundColor = function() {\n return this.backgroundColor_;\n};\n\n/**\n * Set the foreground color.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setForegroundColor = function(color) {\n this.foregroundColor_ = lib.colors.normalizeCSS(color);\n this.primaryScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.alternateScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.scrollPort_.setForegroundColor(color);\n};\n\n/**\n * Return the current terminal foreground color.\n *\n * Intended for use by other classes, so we don't have to expose the entire\n * prefs_ object.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getForegroundColor = function() {\n return this.foregroundColor_;\n};\n\n/**\n * Create a new instance of a terminal command and run it with a given\n * argument string.\n *\n * @param {function} commandClass The constructor for a terminal command.\n * @param {string} argString The argument string to pass to the command.\n */\nhterm.Terminal.prototype.runCommandClass = function(commandClass, argString) {\n var environment = this.prefs_.get('environment');\n if (typeof environment != 'object' || environment == null)\n environment = {};\n\n var self = this;\n this.command = new commandClass(\n { argString: argString || '',\n io: this.io.push(),\n environment: environment,\n onExit: function(code) {\n self.io.pop();\n self.uninstallKeyboard();\n if (self.prefs_.get('close-on-exit'))\n window.close();\n }\n });\n\n this.installKeyboard();\n this.command.run();\n};\n\n/**\n * Returns true if the current screen is the primary screen, false otherwise.\n *\n * @return {boolean}\n */\nhterm.Terminal.prototype.isPrimaryScreen = function() {\n return this.screen_ == this.primaryScreen_;\n};\n\n/**\n * Install the keyboard handler for this terminal.\n *\n * This will prevent the browser from seeing any keystrokes sent to the\n * terminal.\n */\nhterm.Terminal.prototype.installKeyboard = function() {\n this.keyboard.installKeyboard(this.scrollPort_.getDocument().body);\n}\n\n/**\n * Uninstall the keyboard handler for this terminal.\n */\nhterm.Terminal.prototype.uninstallKeyboard = function() {\n this.keyboard.installKeyboard(null);\n}\n\n/**\n * Set a CSS variable.\n *\n * Normally this is used to set variables in the hterm namespace.\n *\n * @param {string} name The variable to set.\n * @param {string} value The value to assign to the variable.\n * @param {string?} opt_prefix The variable namespace/prefix to use.\n */\nhterm.Terminal.prototype.setCssVar = function(name, value,\n opt_prefix='--hterm-') {\n this.document_.documentElement.style.setProperty(\n `${opt_prefix}${name}`, value);\n};\n\n/**\n * Set the font size for this terminal.\n *\n * Call setFontSize(0) to reset to the default font size.\n *\n * This function does not modify the font-size preference.\n *\n * @param {number} px The desired font size, in pixels.\n */\nhterm.Terminal.prototype.setFontSize = function(px) {\n if (px === 0)\n px = this.prefs_.get('font-size');\n\n this.scrollPort_.setFontSize(px);\n this.setCssVar('charsize-width', this.scrollPort_.characterSize.width + 'px');\n this.setCssVar('charsize-height',\n this.scrollPort_.characterSize.height + 'px');\n};\n\n/**\n * Get the current font size.\n *\n * @return {number}\n */\nhterm.Terminal.prototype.getFontSize = function() {\n return this.scrollPort_.getFontSize();\n};\n\n/**\n * Get the current font family.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getFontFamily = function() {\n return this.scrollPort_.getFontFamily();\n};\n\n/**\n * Set the CSS \"font-family\" for this terminal.\n */\nhterm.Terminal.prototype.syncFontFamily = function() {\n this.scrollPort_.setFontFamily(this.prefs_.get('font-family'),\n this.prefs_.get('font-smoothing'));\n this.syncBoldSafeState();\n};\n\n/**\n * Set this.mousePasteButton based on the mouse-paste-button pref,\n * autodetecting if necessary.\n */\nhterm.Terminal.prototype.syncMousePasteButton = function() {\n var button = this.prefs_.get('mouse-paste-button');\n if (typeof button == 'number') {\n this.mousePasteButton = button;\n return;\n }\n\n var ary = navigator.userAgent.match(/\\(X11;\\s+(\\S+)/);\n if (!ary || ary[1] == 'CrOS') {\n this.mousePasteButton = 1; // Middle mouse button.\n } else {\n this.mousePasteButton = 2; // Right mouse button.\n }\n};\n\n/**\n * Enable or disable bold based on the enable-bold pref, autodetecting if\n * necessary.\n */\nhterm.Terminal.prototype.syncBoldSafeState = function() {\n var enableBold = this.prefs_.get('enable-bold');\n if (enableBold !== null) {\n this.primaryScreen_.textAttributes.enableBold = enableBold;\n this.alternateScreen_.textAttributes.enableBold = enableBold;\n return;\n }\n\n var normalSize = this.scrollPort_.measureCharacterSize();\n var boldSize = this.scrollPort_.measureCharacterSize('bold');\n\n var isBoldSafe = normalSize.equals(boldSize);\n if (!isBoldSafe) {\n console.warn('Bold characters disabled: Size of bold weight differs ' +\n 'from normal. Font family is: ' +\n this.scrollPort_.getFontFamily());\n }\n\n this.primaryScreen_.textAttributes.enableBold = isBoldSafe;\n this.alternateScreen_.textAttributes.enableBold = isBoldSafe;\n};\n\n/**\n * Enable or disable blink based on the enable-blink pref.\n */\nhterm.Terminal.prototype.syncBlinkState = function() {\n this.setCssVar('node-duration',\n this.prefs_.get('enable-blink') ? '0.7s' : '0');\n};\n\n/**\n * Set the mouse cursor style based on the current terminal mode.\n */\nhterm.Terminal.prototype.syncMouseStyle = function() {\n this.setCssVar('mouse-cursor-style',\n this.vt.mouseReport == this.vt.MOUSE_REPORT_DISABLED ?\n 'var(--hterm-mouse-cursor-text)' :\n 'var(--hterm-mouse-cursor-pointer)');\n};\n\n/**\n * Return a copy of the current cursor position.\n *\n * @return {hterm.RowCol} The RowCol object representing the current position.\n */\nhterm.Terminal.prototype.saveCursor = function() {\n return this.screen_.cursorPosition.clone();\n};\n\n/**\n * Return the current text attributes.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getTextAttributes = function() {\n return this.screen_.textAttributes;\n};\n\n/**\n * Set the text attributes.\n *\n * @param {string} textAttributes The attributes to set.\n */\nhterm.Terminal.prototype.setTextAttributes = function(textAttributes) {\n this.screen_.textAttributes = textAttributes;\n};\n\n/**\n * Return the current browser zoom factor applied to the terminal.\n *\n * @return {number} The current browser zoom factor.\n */\nhterm.Terminal.prototype.getZoomFactor = function() {\n return this.scrollPort_.characterSize.zoomFactor;\n};\n\n/**\n * Change the title of this terminal's window.\n *\n * @param {string} title The title to set.\n */\nhterm.Terminal.prototype.setWindowTitle = function(title) {\n window.document.title = title;\n};\n\n/**\n * Restore a previously saved cursor position.\n *\n * @param {hterm.RowCol} cursor The position to restore.\n */\nhterm.Terminal.prototype.restoreCursor = function(cursor) {\n var row = lib.f.clamp(cursor.row, 0, this.screenSize.height - 1);\n var column = lib.f.clamp(cursor.column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n if (cursor.column > column ||\n cursor.column == column && cursor.overflow) {\n this.screen_.cursorPosition.overflow = true;\n }\n};\n\n/**\n * Clear the cursor's overflow flag.\n */\nhterm.Terminal.prototype.clearCursorOverflow = function() {\n this.screen_.cursorPosition.overflow = false;\n};\n\n/**\n * Sets the cursor shape\n *\n * @param {string} shape The shape to set.\n */\nhterm.Terminal.prototype.setCursorShape = function(shape) {\n this.cursorShape_ = shape;\n this.restyleCursor_();\n}\n\n/**\n * Get the cursor shape\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getCursorShape = function() {\n return this.cursorShape_;\n}\n\n/**\n * Set the width of the terminal, resizing the UI to match.\n *\n * @param {number} columnCount\n */\nhterm.Terminal.prototype.setWidth = function(columnCount) {\n if (columnCount == null) {\n this.div_.style.width = '100%';\n return;\n }\n\n this.div_.style.width = Math.ceil(\n this.scrollPort_.characterSize.width *\n columnCount + this.scrollPort_.currentScrollbarWidthPx) + 'px';\n this.realizeSize_(columnCount, this.screenSize.height);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Set the height of the terminal, resizing the UI to match.\n *\n * @param {number} rowCount The height in rows.\n */\nhterm.Terminal.prototype.setHeight = function(rowCount) {\n if (rowCount == null) {\n this.div_.style.height = '100%';\n return;\n }\n\n this.div_.style.height =\n this.scrollPort_.characterSize.height * rowCount + 'px';\n this.realizeSize_(this.screenSize.width, rowCount);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Deal with terminal size changes.\n *\n * @param {number} columnCount The number of columns.\n * @param {number} rowCount The number of rows.\n */\nhterm.Terminal.prototype.realizeSize_ = function(columnCount, rowCount) {\n if (columnCount != this.screenSize.width)\n this.realizeWidth_(columnCount);\n\n if (rowCount != this.screenSize.height)\n this.realizeHeight_(rowCount);\n\n // Send new terminal size to plugin.\n this.io.onTerminalResize_(columnCount, rowCount);\n};\n\n/**\n * Deal with terminal width changes.\n *\n * This function does what needs to be done when the terminal width changes\n * out from under us. It happens here rather than in onResize_() because this\n * code may need to run synchronously to handle programmatic changes of\n * terminal width.\n *\n * Relying on the browser to send us an async resize event means we may not be\n * in the correct state yet when the next escape sequence hits.\n *\n * @param {number} columnCount The number of columns.\n */\nhterm.Terminal.prototype.realizeWidth_ = function(columnCount) {\n if (columnCount <= 0)\n throw new Error('Attempt to realize bad width: ' + columnCount);\n\n var deltaColumns = columnCount - this.screen_.getWidth();\n\n this.screenSize.width = columnCount;\n this.screen_.setColumnCount(columnCount);\n\n if (deltaColumns > 0) {\n if (this.defaultTabStops)\n this.setDefaultTabStops(this.screenSize.width - deltaColumns);\n } else {\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] < columnCount)\n break;\n\n this.tabStops_.pop();\n }\n }\n\n this.screen_.setColumnCount(this.screenSize.width);\n};\n\n/**\n * Deal with terminal height changes.\n *\n * This function does what needs to be done when the terminal height changes\n * out from under us. It happens here rather than in onResize_() because this\n * code may need to run synchronously to handle programmatic changes of\n * terminal height.\n *\n * Relying on the browser to send us an async resize event means we may not be\n * in the correct state yet when the next escape sequence hits.\n *\n * @param {number} rowCount The number of rows.\n */\nhterm.Terminal.prototype.realizeHeight_ = function(rowCount) {\n if (rowCount <= 0)\n throw new Error('Attempt to realize bad height: ' + rowCount);\n\n var deltaRows = rowCount - this.screen_.getHeight();\n\n this.screenSize.height = rowCount;\n\n var cursor = this.saveCursor();\n\n if (deltaRows < 0) {\n // Screen got smaller.\n deltaRows *= -1;\n while (deltaRows) {\n var lastRow = this.getRowCount() - 1;\n if (lastRow - this.scrollbackRows_.length == cursor.row)\n break;\n\n if (this.getRowText(lastRow))\n break;\n\n this.screen_.popRow();\n deltaRows--;\n }\n\n var ary = this.screen_.shiftRows(deltaRows);\n this.scrollbackRows_.push.apply(this.scrollbackRows_, ary);\n\n // We just removed rows from the top of the screen, we need to update\n // the cursor to match.\n cursor.row = Math.max(cursor.row - deltaRows, 0);\n } else if (deltaRows > 0) {\n // Screen got larger.\n\n if (deltaRows <= this.scrollbackRows_.length) {\n var scrollbackCount = Math.min(deltaRows, this.scrollbackRows_.length);\n var rows = this.scrollbackRows_.splice(\n this.scrollbackRows_.length - scrollbackCount, scrollbackCount);\n this.screen_.unshiftRows(rows);\n deltaRows -= scrollbackCount;\n cursor.row += scrollbackCount;\n }\n\n if (deltaRows)\n this.appendRows_(deltaRows);\n }\n\n this.setVTScrollRegion(null, null);\n this.restoreCursor(cursor);\n};\n\n/**\n * Scroll the terminal to the top of the scrollback buffer.\n */\nhterm.Terminal.prototype.scrollHome = function() {\n this.scrollPort_.scrollRowToTop(0);\n};\n\n/**\n * Scroll the terminal to the end.\n */\nhterm.Terminal.prototype.scrollEnd = function() {\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n};\n\n/**\n * Scroll the terminal one page up (minus one line) relative to the current\n * position.\n */\nhterm.Terminal.prototype.scrollPageUp = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i - this.screenSize.height + 1);\n};\n\n/**\n * Scroll the terminal one page down (minus one line) relative to the current\n * position.\n */\nhterm.Terminal.prototype.scrollPageDown = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i + this.screenSize.height - 1);\n};\n\n/**\n * Scroll the terminal one line up relative to the current position.\n */\nhterm.Terminal.prototype.scrollLineUp = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i - 1);\n};\n\n/**\n * Scroll the terminal one line down relative to the current position.\n */\nhterm.Terminal.prototype.scrollLineDown = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i + 1);\n};\n\n/**\n * Clear primary screen, secondary screen, and the scrollback buffer.\n */\nhterm.Terminal.prototype.wipeContents = function() {\n this.scrollbackRows_.length = 0;\n this.scrollPort_.resetCache();\n\n [this.primaryScreen_, this.alternateScreen_].forEach(function(screen) {\n var bottom = screen.getHeight();\n if (bottom > 0) {\n this.renumberRows_(0, bottom);\n this.clearHome(screen);\n }\n }.bind(this));\n\n this.syncCursorPosition_();\n this.scrollPort_.invalidate();\n};\n\n/**\n * Full terminal reset.\n */\nhterm.Terminal.prototype.reset = function() {\n this.clearAllTabStops();\n this.setDefaultTabStops();\n\n this.clearHome(this.primaryScreen_);\n this.primaryScreen_.textAttributes.reset();\n\n this.clearHome(this.alternateScreen_);\n this.alternateScreen_.textAttributes.reset();\n\n this.setCursorBlink(!!this.prefs_.get('cursor-blink'));\n\n this.vt.reset();\n\n this.softReset();\n};\n\n/**\n * Soft terminal reset.\n *\n * Perform a soft reset to the default values listed in\n * http://www.vt100.net/docs/vt510-rm/DECSTR#T5-9\n */\nhterm.Terminal.prototype.softReset = function() {\n // Reset terminal options to their default values.\n this.options_ = new hterm.Options();\n\n // We show the cursor on soft reset but do not alter the blink state.\n this.options_.cursorBlink = !!this.timeouts_.cursorBlink;\n\n // Xterm also resets the color palette on soft reset, even though it doesn't\n // seem to be documented anywhere.\n this.primaryScreen_.textAttributes.resetColorPalette();\n this.alternateScreen_.textAttributes.resetColorPalette();\n\n // The xterm man page explicitly says this will happen on soft reset.\n this.setVTScrollRegion(null, null);\n\n // Xterm also shows the cursor on soft reset, but does not alter the blink\n // state.\n this.setCursorVisible(true);\n};\n\n/**\n * Move the cursor forward to the next tab stop, or to the last column\n * if no more tab stops are set.\n */\nhterm.Terminal.prototype.forwardTabStop = function() {\n var column = this.screen_.cursorPosition.column;\n\n for (var i = 0; i < this.tabStops_.length; i++) {\n if (this.tabStops_[i] > column) {\n this.setCursorColumn(this.tabStops_[i]);\n return;\n }\n }\n\n // xterm does not clear the overflow flag on HT or CHT.\n var overflow = this.screen_.cursorPosition.overflow;\n this.setCursorColumn(this.screenSize.width - 1);\n this.screen_.cursorPosition.overflow = overflow;\n};\n\n/**\n * Move the cursor backward to the previous tab stop, or to the first column\n * if no previous tab stops are set.\n */\nhterm.Terminal.prototype.backwardTabStop = function() {\n var column = this.screen_.cursorPosition.column;\n\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] < column) {\n this.setCursorColumn(this.tabStops_[i]);\n return;\n }\n }\n\n this.setCursorColumn(1);\n};\n\n/**\n * Set a tab stop at the given column.\n *\n * @param {integer} column Zero based column.\n */\nhterm.Terminal.prototype.setTabStop = function(column) {\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] == column)\n return;\n\n if (this.tabStops_[i] < column) {\n this.tabStops_.splice(i + 1, 0, column);\n return;\n }\n }\n\n this.tabStops_.splice(0, 0, column);\n};\n\n/**\n * Clear the tab stop at the current cursor position.\n *\n * No effect if there is no tab stop at the current cursor position.\n */\nhterm.Terminal.prototype.clearTabStopAtCursor = function() {\n var column = this.screen_.cursorPosition.column;\n\n var i = this.tabStops_.indexOf(column);\n if (i == -1)\n return;\n\n this.tabStops_.splice(i, 1);\n};\n\n/**\n * Clear all tab stops.\n */\nhterm.Terminal.prototype.clearAllTabStops = function() {\n this.tabStops_.length = 0;\n this.defaultTabStops = false;\n};\n\n/**\n * Set up the default tab stops, starting from a given column.\n *\n * This sets a tabstop every (column % this.tabWidth) column, starting\n * from the specified column, or 0 if no column is provided. It also flags\n * future resizes to set them up.\n *\n * This does not clear the existing tab stops first, use clearAllTabStops\n * for that.\n *\n * @param {integer} opt_start Optional starting zero based starting column, useful\n * for filling out missing tab stops when the terminal is resized.\n */\nhterm.Terminal.prototype.setDefaultTabStops = function(opt_start) {\n var start = opt_start || 0;\n var w = this.tabWidth;\n // Round start up to a default tab stop.\n start = start - 1 - ((start - 1) % w) + w;\n for (var i = start; i < this.screenSize.width; i += w) {\n this.setTabStop(i);\n }\n\n this.defaultTabStops = true;\n};\n\n/**\n * Interpret a sequence of characters.\n *\n * Incomplete escape sequences are buffered until the next call.\n *\n * @param {string} str Sequence of characters to interpret or pass through.\n */\nhterm.Terminal.prototype.interpret = function(str) {\n this.vt.interpret(str);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Take over the given DIV for use as the terminal display.\n *\n * @param {HTMLDivElement} div The div to use as the terminal display.\n */\nhterm.Terminal.prototype.decorate = function(div) {\n this.div_ = div;\n\n this.scrollPort_.decorate(div);\n this.scrollPort_.setBackgroundImage(this.prefs_.get('background-image'));\n this.scrollPort_.setBackgroundSize(this.prefs_.get('background-size'));\n this.scrollPort_.setBackgroundPosition(\n this.prefs_.get('background-position'));\n this.scrollPort_.setUserCssUrl(this.prefs_.get('user-css'));\n this.scrollPort_.setUserCssText(this.prefs_.get('user-css-text'));\n\n this.div_.focus = this.focus.bind(this);\n\n this.setFontSize(this.prefs_.get('font-size'));\n this.syncFontFamily();\n\n this.setScrollbarVisible(this.prefs_.get('scrollbar-visible'));\n this.setScrollWheelMoveMultipler(\n this.prefs_.get('scroll-wheel-move-multiplier'));\n\n this.document_ = this.scrollPort_.getDocument();\n\n this.document_.body.oncontextmenu = function() { return false; };\n\n var onMouse = this.onMouse_.bind(this);\n var screenNode = this.scrollPort_.getScreenNode();\n screenNode.addEventListener('mousedown', onMouse);\n screenNode.addEventListener('mouseup', onMouse);\n screenNode.addEventListener('mousemove', onMouse);\n this.scrollPort_.onScrollWheel = onMouse;\n\n screenNode.addEventListener(\n 'focus', this.onFocusChange_.bind(this, true));\n // Listen for mousedown events on the screenNode as in FF the focus\n // events don't bubble.\n screenNode.addEventListener('mousedown', function() {\n setTimeout(this.onFocusChange_.bind(this, true));\n }.bind(this));\n\n screenNode.addEventListener(\n 'blur', this.onFocusChange_.bind(this, false));\n\n var style = this.document_.createElement('style');\n style.textContent =\n ('.cursor-node[focus=\"false\"] {' +\n ' box-sizing: border-box;' +\n ' background-color: transparent !important;' +\n ' border-width: 2px;' +\n ' border-style: solid;' +\n '}' +\n '.wc-node {' +\n ' display: inline-block;' +\n ' text-align: center;' +\n ' width: calc(var(--hterm-charsize-width) * 2);' +\n ' line-height: var(--hterm-charsize-height);' +\n '}' +\n ':root {' +\n ' --hterm-charsize-width: ' + this.scrollPort_.characterSize.width + 'px;' +\n ' --hterm-charsize-height: ' + this.scrollPort_.characterSize.height + 'px;' +\n ' --hterm-cursor-offset-col: 0;' +\n ' --hterm-cursor-offset-row: 0;' +\n ' --hterm-blink-node-duration: 0.7s;' +\n ' --hterm-mouse-cursor-text: text;' +\n ' --hterm-mouse-cursor-pointer: default;' +\n ' --hterm-mouse-cursor-style: var(--hterm-mouse-cursor-text);' +\n '}' +\n '@keyframes blink {' +\n ' from { opacity: 1.0; }' +\n ' to { opacity: 0.0; }' +\n '}' +\n '.blink-node {' +\n ' animation-name: blink;' +\n ' animation-duration: var(--hterm-blink-node-duration);' +\n ' animation-iteration-count: infinite;' +\n ' animation-timing-function: ease-in-out;' +\n ' animation-direction: alternate;' +\n '}');\n this.document_.head.appendChild(style);\n\n this.cursorNode_ = this.document_.createElement('div');\n this.cursorNode_.id = 'hterm:terminal-cursor';\n this.cursorNode_.className = 'cursor-node';\n this.cursorNode_.style.cssText =\n ('position: absolute;' +\n 'left: calc(var(--hterm-charsize-width) * var(--hterm-cursor-offset-col));' +\n 'top: calc(var(--hterm-charsize-height) * var(--hterm-cursor-offset-row));' +\n 'display: block;' +\n 'width: var(--hterm-charsize-width);' +\n 'height: var(--hterm-charsize-height);' +\n '-webkit-transition: opacity, background-color 100ms linear;' +\n '-moz-transition: opacity, background-color 100ms linear;');\n\n this.setCursorColor(this.prefs_.get('cursor-color'));\n this.setCursorBlink(!!this.prefs_.get('cursor-blink'));\n this.restyleCursor_();\n\n this.document_.body.appendChild(this.cursorNode_);\n\n // When 'enableMouseDragScroll' is off we reposition this element directly\n // under the mouse cursor after a click. This makes Chrome associate\n // subsequent mousemove events with the scroll-blocker. Since the\n // scroll-blocker is a peer (not a child) of the scrollport, the mousemove\n // events do not cause the scrollport to scroll.\n //\n // It's a hack, but it's the cleanest way I could find.\n this.scrollBlockerNode_ = this.document_.createElement('div');\n this.scrollBlockerNode_.id = 'hterm:mouse-drag-scroll-blocker';\n this.scrollBlockerNode_.style.cssText =\n ('position: absolute;' +\n 'top: -99px;' +\n 'display: block;' +\n 'width: 10px;' +\n 'height: 10px;');\n this.document_.body.appendChild(this.scrollBlockerNode_);\n\n this.scrollPort_.onScrollWheel = onMouse;\n ['mousedown', 'mouseup', 'mousemove', 'click', 'dblclick',\n ].forEach(function(event) {\n this.scrollBlockerNode_.addEventListener(event, onMouse);\n this.cursorNode_.addEventListener(event, onMouse);\n this.document_.addEventListener(event, onMouse);\n }.bind(this));\n\n this.cursorNode_.addEventListener('mousedown', function() {\n setTimeout(this.focus.bind(this));\n }.bind(this));\n\n this.setReverseVideo(false);\n\n this.scrollPort_.focus();\n this.scrollPort_.scheduleRedraw();\n};\n\n/**\n * Return the HTML document that contains the terminal DOM nodes.\n *\n * @return {HTMLDocument}\n */\nhterm.Terminal.prototype.getDocument = function() {\n return this.document_;\n};\n\n/**\n * Focus the terminal.\n */\nhterm.Terminal.prototype.focus = function() {\n this.scrollPort_.focus();\n};\n\n/**\n * Return the HTML Element for a given row index.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch rows on demand as they are scrolled into view.\n *\n * TODO(rginda): Consider saving scrollback rows as (HTML source, text content)\n * pairs to conserve memory.\n *\n * @param {integer} index The zero-based row index, measured relative to the\n * start of the scrollback buffer. On-screen rows will always have the\n * largest indices.\n * @return {HTMLElement} The 'x-row' element containing for the requested row.\n */\nhterm.Terminal.prototype.getRowNode = function(index) {\n if (index < this.scrollbackRows_.length)\n return this.scrollbackRows_[index];\n\n var screenIndex = index - this.scrollbackRows_.length;\n return this.screen_.rowsArray[screenIndex];\n};\n\n/**\n * Return the text content for a given range of rows.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch text content on demand when the user attempts to copy their\n * selection to the clipboard.\n *\n * @param {integer} start The zero-based row index to start from, measured\n * relative to the start of the scrollback buffer. On-screen rows will\n * always have the largest indices.\n * @param {integer} end The zero-based row index to end on, measured\n * relative to the start of the scrollback buffer.\n * @return {string} A single string containing the text value of the range of\n * rows. Lines will be newline delimited, with no trailing newline.\n */\nhterm.Terminal.prototype.getRowsText = function(start, end) {\n var ary = [];\n for (var i = start; i < end; i++) {\n var node = this.getRowNode(i);\n ary.push(node.textContent);\n if (i < end - 1 && !node.getAttribute('line-overflow'))\n ary.push('\\n');\n }\n\n return ary.join('');\n};\n\n/**\n * Return the text content for a given row.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch text content on demand when the user attempts to copy their\n * selection to the clipboard.\n *\n * @param {integer} index The zero-based row index to return, measured\n * relative to the start of the scrollback buffer. On-screen rows will\n * always have the largest indices.\n * @return {string} A string containing the text value of the selected row.\n */\nhterm.Terminal.prototype.getRowText = function(index) {\n var node = this.getRowNode(index);\n return node.textContent;\n};\n\n/**\n * Return the total number of rows in the addressable screen and in the\n * scrollback buffer of this terminal.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to compute the size of the scrollbar.\n *\n * @return {integer} The number of rows in this terminal.\n */\nhterm.Terminal.prototype.getRowCount = function() {\n return this.scrollbackRows_.length + this.screen_.rowsArray.length;\n};\n\n/**\n * Create DOM nodes for new rows and append them to the end of the terminal.\n *\n * This is the only correct way to add a new DOM node for a row. Notice that\n * the new row is appended to the bottom of the list of rows, and does not\n * require renumbering (of the rowIndex property) of previous rows.\n *\n * If you think you want a new blank row somewhere in the middle of the\n * terminal, look into moveRows_().\n *\n * This method does not pay attention to vtScrollTop/Bottom, since you should\n * be using moveRows() in cases where they would matter.\n *\n * The cursor will be positioned at column 0 of the first inserted line.\n *\n * @param {number} count The number of rows to created.\n */\nhterm.Terminal.prototype.appendRows_ = function(count) {\n var cursorRow = this.screen_.rowsArray.length;\n var offset = this.scrollbackRows_.length + cursorRow;\n for (var i = 0; i < count; i++) {\n var row = this.document_.createElement('x-row');\n row.appendChild(this.document_.createTextNode(''));\n row.rowIndex = offset + i;\n this.screen_.pushRow(row);\n }\n\n var extraRows = this.screen_.rowsArray.length - this.screenSize.height;\n if (extraRows > 0) {\n var ary = this.screen_.shiftRows(extraRows);\n Array.prototype.push.apply(this.scrollbackRows_, ary);\n if (this.scrollPort_.isScrolledEnd)\n this.scheduleScrollDown_();\n }\n\n if (cursorRow >= this.screen_.rowsArray.length)\n cursorRow = this.screen_.rowsArray.length - 1;\n\n this.setAbsoluteCursorPosition(cursorRow, 0);\n};\n\n/**\n * Relocate rows from one part of the addressable screen to another.\n *\n * This is used to recycle rows during VT scrolls (those which are driven\n * by VT commands, rather than by the user manipulating the scrollbar.)\n *\n * In this case, the blank lines scrolled into the scroll region are made of\n * the nodes we scrolled off. These have their rowIndex properties carefully\n * renumbered so as not to confuse the ScrollPort.\n *\n * @param {number} fromIndex The start index.\n * @param {number} count The number of rows to move.\n * @param {number} toIndex The destination index.\n */\nhterm.Terminal.prototype.moveRows_ = function(fromIndex, count, toIndex) {\n var ary = this.screen_.removeRows(fromIndex, count);\n this.screen_.insertRows(toIndex, ary);\n\n var start, end;\n if (fromIndex < toIndex) {\n start = fromIndex;\n end = toIndex + count;\n } else {\n start = toIndex;\n end = fromIndex + count;\n }\n\n this.renumberRows_(start, end);\n this.scrollPort_.scheduleInvalidate();\n};\n\n/**\n * Renumber the rowIndex property of the given range of rows.\n *\n * The start and end indices are relative to the screen, not the scrollback.\n * Rows in the scrollback buffer cannot be renumbered. Since they are not\n * addressable (you can't delete them, scroll them, etc), you should have\n * no need to renumber scrollback rows.\n *\n * @param {number} start The start index.\n * @param {number} end The end index.\n * @param {hterm.Screen} opt_screen The screen to renumber.\n */\nhterm.Terminal.prototype.renumberRows_ = function(start, end, opt_screen) {\n var screen = opt_screen || this.screen_;\n\n var offset = this.scrollbackRows_.length;\n for (var i = start; i < end; i++) {\n screen.rowsArray[i].rowIndex = offset + i;\n }\n};\n\n/**\n * Print a string to the terminal.\n *\n * This respects the current insert and wraparound modes. It will add new lines\n * to the end of the terminal, scrolling off the top into the scrollback buffer\n * if necessary.\n *\n * The string is *not* parsed for escape codes. Use the interpret() method if\n * that's what you're after.\n *\n * @param{string} str The string to print.\n */\nhterm.Terminal.prototype.print = function(str) {\n var startOffset = 0;\n\n var strWidth = lib.wc.strWidth(str);\n\n while (startOffset < strWidth) {\n if (this.options_.wraparound && this.screen_.cursorPosition.overflow) {\n this.screen_.commitLineOverflow();\n this.newLine();\n }\n\n var count = strWidth - startOffset;\n var didOverflow = false;\n var substr;\n\n if (this.screen_.cursorPosition.column + count >= this.screenSize.width) {\n didOverflow = true;\n count = this.screenSize.width - this.screen_.cursorPosition.column;\n }\n\n if (didOverflow && !this.options_.wraparound) {\n // If the string overflowed the line but wraparound is off, then the\n // last printed character should be the last of the string.\n // TODO: This will add to our problems with multibyte UTF-16 characters.\n substr = lib.wc.substr(str, startOffset, count - 1) +\n lib.wc.substr(str, strWidth - 1);\n count = strWidth;\n } else {\n substr = lib.wc.substr(str, startOffset, count);\n }\n\n var tokens = hterm.TextAttributes.splitWidecharString(substr);\n for (var i = 0; i < tokens.length; i++) {\n this.screen_.textAttributes.wcNode = tokens[i].wcNode;\n this.screen_.textAttributes.asciiNode = tokens[i].asciiNode;\n\n if (this.options_.insertMode) {\n this.screen_.insertString(tokens[i].str);\n } else {\n this.screen_.overwriteString(tokens[i].str);\n }\n this.screen_.textAttributes.wcNode = false;\n this.screen_.textAttributes.asciiNode = true;\n }\n\n this.screen_.maybeClipCurrentRow();\n startOffset += count;\n }\n\n this.scheduleSyncCursorPosition_();\n\n if (this.scrollOnOutput_)\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n};\n\n/**\n * Set the VT scroll region.\n *\n * This also resets the cursor position to the absolute (0, 0) position, since\n * that's what xterm appears to do.\n *\n * Setting the scroll region to the full height of the terminal will clear\n * the scroll region. This is *NOT* what most terminals do. We're explicitly\n * going \"off-spec\" here because it makes `screen` and `tmux` overflow into the\n * local scrollback buffer, which means the scrollbars and shift-pgup/pgdn\n * continue to work as most users would expect.\n *\n * @param {integer} scrollTop The zero-based top of the scroll region.\n * @param {integer} scrollBottom The zero-based bottom of the scroll region,\n * inclusive.\n */\nhterm.Terminal.prototype.setVTScrollRegion = function(scrollTop, scrollBottom) {\n if (scrollTop == 0 && scrollBottom == this.screenSize.height - 1) {\n this.vtScrollTop_ = null;\n this.vtScrollBottom_ = null;\n } else {\n this.vtScrollTop_ = scrollTop;\n this.vtScrollBottom_ = scrollBottom;\n }\n};\n\n/**\n * Return the top row index according to the VT.\n *\n * This will return 0 unless the terminal has been told to restrict scrolling\n * to some lower row. It is used for some VT cursor positioning and scrolling\n * commands.\n *\n * @return {integer} The topmost row in the terminal's scroll region.\n */\nhterm.Terminal.prototype.getVTScrollTop = function() {\n if (this.vtScrollTop_ != null)\n return this.vtScrollTop_;\n\n return 0;\n};\n\n/**\n * Return the bottom row index according to the VT.\n *\n * This will return the height of the terminal unless the it has been told to\n * restrict scrolling to some higher row. It is used for some VT cursor\n * positioning and scrolling commands.\n *\n * @return {integer} The bottom most row in the terminal's scroll region.\n */\nhterm.Terminal.prototype.getVTScrollBottom = function() {\n if (this.vtScrollBottom_ != null)\n return this.vtScrollBottom_;\n\n return this.screenSize.height - 1;\n}\n\n/**\n * Process a '\\n' character.\n *\n * If the cursor is on the final row of the terminal this will append a new\n * blank row to the screen and scroll the topmost row into the scrollback\n * buffer.\n *\n * Otherwise, this moves the cursor to column zero of the next row.\n */\nhterm.Terminal.prototype.newLine = function() {\n var cursorAtEndOfScreen = (this.screen_.cursorPosition.row ==\n this.screen_.rowsArray.length - 1);\n\n if (this.vtScrollBottom_ != null) {\n // A VT Scroll region is active, we never append new rows.\n if (this.screen_.cursorPosition.row == this.vtScrollBottom_) {\n // We're at the end of the VT Scroll Region, perform a VT scroll.\n this.vtScrollUp(1);\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0);\n } else if (cursorAtEndOfScreen) {\n // We're at the end of the screen, the only thing to do is put the\n // cursor to column 0.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0);\n } else {\n // Anywhere else, advance the cursor row, and reset the column.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0);\n }\n } else if (cursorAtEndOfScreen) {\n // We're at the end of the screen. Append a new row to the terminal,\n // shifting the top row into the scrollback.\n this.appendRows_(1);\n } else {\n // Anywhere else in the screen just moves the cursor.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0);\n }\n};\n\n/**\n * Like newLine(), except maintain the cursor column.\n */\nhterm.Terminal.prototype.lineFeed = function() {\n var column = this.screen_.cursorPosition.column;\n this.newLine();\n this.setCursorColumn(column);\n};\n\n/**\n * If autoCarriageReturn is set then newLine(), else lineFeed().\n */\nhterm.Terminal.prototype.formFeed = function() {\n if (this.options_.autoCarriageReturn) {\n this.newLine();\n } else {\n this.lineFeed();\n }\n};\n\n/**\n * Move the cursor up one row, possibly inserting a blank line.\n *\n * The cursor column is not changed.\n */\nhterm.Terminal.prototype.reverseLineFeed = function() {\n var scrollTop = this.getVTScrollTop();\n var currentRow = this.screen_.cursorPosition.row;\n\n if (currentRow == scrollTop) {\n this.insertLines(1);\n } else {\n this.setAbsoluteCursorRow(currentRow - 1);\n }\n};\n\n/**\n * Replace all characters to the left of the current cursor with the space\n * character.\n *\n * TODO(rginda): This should probably *remove* the characters (not just replace\n * with a space) if there are no characters at or beyond the current cursor\n * position.\n */\nhterm.Terminal.prototype.eraseToLeft = function() {\n var cursor = this.saveCursor();\n this.setCursorColumn(0);\n this.screen_.overwriteString(lib.f.getWhitespace(cursor.column + 1));\n this.restoreCursor(cursor);\n};\n\n/**\n * Erase a given number of characters to the right of the cursor.\n *\n * The cursor position is unchanged.\n *\n * If the current background color is not the default background color this\n * will insert spaces rather than delete. This is unfortunate because the\n * trailing space will affect text selection, but it's difficult to come up\n * with a way to style empty space that wouldn't trip up the hterm.Screen\n * code.\n *\n * eraseToRight is ignored in the presence of a cursor overflow. This deviates\n * from xterm, but agrees with gnome-terminal and konsole, xfce4-terminal. See\n * crbug.com/232390 for details.\n *\n * @param {number} opt_count The number of characters to erase.\n */\nhterm.Terminal.prototype.eraseToRight = function(opt_count) {\n if (this.screen_.cursorPosition.overflow)\n return;\n\n var maxCount = this.screenSize.width - this.screen_.cursorPosition.column;\n var count = opt_count ? Math.min(opt_count, maxCount) : maxCount;\n\n if (this.screen_.textAttributes.background ===\n this.screen_.textAttributes.DEFAULT_COLOR) {\n var cursorRow = this.screen_.rowsArray[this.screen_.cursorPosition.row];\n if (hterm.TextAttributes.nodeWidth(cursorRow) <=\n this.screen_.cursorPosition.column + count) {\n this.screen_.deleteChars(count);\n this.clearCursorOverflow();\n return;\n }\n }\n\n var cursor = this.saveCursor();\n this.screen_.overwriteString(lib.f.getWhitespace(count));\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase the current line.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseLine = function() {\n var cursor = this.saveCursor();\n this.screen_.clearCursorRow();\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase all characters from the start of the screen to the current cursor\n * position, regardless of scroll region.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseAbove = function() {\n var cursor = this.saveCursor();\n\n this.eraseToLeft();\n\n for (var i = 0; i < cursor.row; i++) {\n this.setAbsoluteCursorPosition(i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase all characters from the current cursor position to the end of the\n * screen, regardless of scroll region.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseBelow = function() {\n var cursor = this.saveCursor();\n\n this.eraseToRight();\n\n var bottom = this.screenSize.height - 1;\n for (var i = cursor.row + 1; i <= bottom; i++) {\n this.setAbsoluteCursorPosition(i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Fill the terminal with a given character.\n *\n * This methods does not respect the VT scroll region.\n *\n * @param {string} ch The character to use for the fill.\n */\nhterm.Terminal.prototype.fill = function(ch) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorPosition(0, 0);\n for (var row = 0; row < this.screenSize.height; row++) {\n for (var col = 0; col < this.screenSize.width; col++) {\n this.setAbsoluteCursorPosition(row, col);\n this.screen_.overwriteString(ch);\n }\n }\n\n this.restoreCursor(cursor);\n};\n\n/**\n * Erase the entire display and leave the cursor at (0, 0).\n *\n * This does not respect the scroll region.\n *\n * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults\n * to the current screen.\n */\nhterm.Terminal.prototype.clearHome = function(opt_screen) {\n var screen = opt_screen || this.screen_;\n var bottom = screen.getHeight();\n\n if (bottom == 0) {\n // Empty screen, nothing to do.\n return;\n }\n\n for (var i = 0; i < bottom; i++) {\n screen.setCursorPosition(i, 0);\n screen.clearCursorRow();\n }\n\n screen.setCursorPosition(0, 0);\n};\n\n/**\n * Erase the entire display without changing the cursor position.\n *\n * The cursor position is unchanged. This does not respect the scroll\n * region.\n *\n * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults\n * to the current screen.\n */\nhterm.Terminal.prototype.clear = function(opt_screen) {\n var screen = opt_screen || this.screen_;\n var cursor = screen.cursorPosition.clone();\n this.clearHome(screen);\n screen.setCursorPosition(cursor.row, cursor.column);\n};\n\n/**\n * VT command to insert lines at the current cursor row.\n *\n * This respects the current scroll region. Rows pushed off the bottom are\n * lost (they won't show up in the scrollback buffer).\n *\n * @param {integer} count The number of lines to insert.\n */\nhterm.Terminal.prototype.insertLines = function(count) {\n var cursorRow = this.screen_.cursorPosition.row;\n\n var bottom = this.getVTScrollBottom();\n count = Math.min(count, bottom - cursorRow);\n\n // The moveCount is the number of rows we need to relocate to make room for\n // the new row(s). The count is the distance to move them.\n var moveCount = bottom - cursorRow - count + 1;\n if (moveCount)\n this.moveRows_(cursorRow, moveCount, cursorRow + count);\n\n for (var i = count - 1; i >= 0; i--) {\n this.setAbsoluteCursorPosition(cursorRow + i, 0);\n this.screen_.clearCursorRow();\n }\n};\n\n/**\n * VT command to delete lines at the current cursor row.\n *\n * New rows are added to the bottom of scroll region to take their place. New\n * rows are strictly there to take up space and have no content or style.\n *\n * @param {number} count The number of lines to delete.\n */\nhterm.Terminal.prototype.deleteLines = function(count) {\n var cursor = this.saveCursor();\n\n var top = cursor.row;\n var bottom = this.getVTScrollBottom();\n\n var maxCount = bottom - top + 1;\n count = Math.min(count, maxCount);\n\n var moveStart = bottom - count + 1;\n if (count != maxCount)\n this.moveRows_(top, count, moveStart);\n\n for (var i = 0; i < count; i++) {\n this.setAbsoluteCursorPosition(moveStart + i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Inserts the given number of spaces at the current cursor position.\n *\n * The cursor position is not changed.\n *\n * @param {number} count The number of spaces to insert.\n */\nhterm.Terminal.prototype.insertSpace = function(count) {\n var cursor = this.saveCursor();\n\n var ws = lib.f.getWhitespace(count || 1);\n this.screen_.insertString(ws);\n this.screen_.maybeClipCurrentRow();\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Forward-delete the specified number of characters starting at the cursor\n * position.\n *\n * @param {integer} count The number of characters to delete.\n */\nhterm.Terminal.prototype.deleteChars = function(count) {\n var deleted = this.screen_.deleteChars(count);\n if (deleted && !this.screen_.textAttributes.isDefault()) {\n var cursor = this.saveCursor();\n this.setCursorColumn(this.screenSize.width - deleted);\n this.screen_.insertString(lib.f.getWhitespace(deleted));\n this.restoreCursor(cursor);\n }\n\n this.clearCursorOverflow();\n};\n\n/**\n * Shift rows in the scroll region upwards by a given number of lines.\n *\n * New rows are inserted at the bottom of the scroll region to fill the\n * vacated rows. The new rows not filled out with the current text attributes.\n *\n * This function does not affect the scrollback rows at all. Rows shifted\n * off the top are lost.\n *\n * The cursor position is not altered.\n *\n * @param {integer} count The number of rows to scroll.\n */\nhterm.Terminal.prototype.vtScrollUp = function(count) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorRow(this.getVTScrollTop());\n this.deleteLines(count);\n\n this.restoreCursor(cursor);\n};\n\n/**\n * Shift rows below the cursor down by a given number of lines.\n *\n * This function respects the current scroll region.\n *\n * New rows are inserted at the top of the scroll region to fill the\n * vacated rows. The new rows not filled out with the current text attributes.\n *\n * This function does not affect the scrollback rows at all. Rows shifted\n * off the bottom are lost.\n *\n * @param {integer} count The number of rows to scroll.\n */\nhterm.Terminal.prototype.vtScrollDown = function(opt_count) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorPosition(this.getVTScrollTop(), 0);\n this.insertLines(opt_count);\n\n this.restoreCursor(cursor);\n};\n\n\n/**\n * Set the cursor position.\n *\n * The cursor row is relative to the scroll region if the terminal has\n * 'origin mode' enabled, or relative to the addressable screen otherwise.\n *\n * @param {integer} row The new zero-based cursor row.\n * @param {integer} row The new zero-based cursor column.\n */\nhterm.Terminal.prototype.setCursorPosition = function(row, column) {\n if (this.options_.originMode) {\n this.setRelativeCursorPosition(row, column);\n } else {\n this.setAbsoluteCursorPosition(row, column);\n }\n};\n\n/**\n * Move the cursor relative to its current position.\n *\n * @param {number} row\n * @param {number} column\n */\nhterm.Terminal.prototype.setRelativeCursorPosition = function(row, column) {\n var scrollTop = this.getVTScrollTop();\n row = lib.f.clamp(row + scrollTop, scrollTop, this.getVTScrollBottom());\n column = lib.f.clamp(column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n};\n\n/**\n * Move the cursor to the specified position.\n *\n * @param {number} row\n * @param {number} column\n */\nhterm.Terminal.prototype.setAbsoluteCursorPosition = function(row, column) {\n row = lib.f.clamp(row, 0, this.screenSize.height - 1);\n column = lib.f.clamp(column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n};\n\n/**\n * Set the cursor column.\n *\n * @param {integer} column The new zero-based cursor column.\n */\nhterm.Terminal.prototype.setCursorColumn = function(column) {\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, column);\n};\n\n/**\n * Return the cursor column.\n *\n * @return {integer} The zero-based cursor column.\n */\nhterm.Terminal.prototype.getCursorColumn = function() {\n return this.screen_.cursorPosition.column;\n};\n\n/**\n * Set the cursor row.\n *\n * The cursor row is relative to the scroll region if the terminal has\n * 'origin mode' enabled, or relative to the addressable screen otherwise.\n *\n * @param {integer} row The new cursor row.\n */\nhterm.Terminal.prototype.setAbsoluteCursorRow = function(row) {\n this.setAbsoluteCursorPosition(row, this.screen_.cursorPosition.column);\n};\n\n/**\n * Return the cursor row.\n *\n * @return {integer} The zero-based cursor row.\n */\nhterm.Terminal.prototype.getCursorRow = function() {\n return this.screen_.cursorPosition.row;\n};\n\n/**\n * Request that the ScrollPort redraw itself soon.\n *\n * The redraw will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single redraw.\n */\nhterm.Terminal.prototype.scheduleRedraw_ = function() {\n if (this.timeouts_.redraw)\n return;\n\n var self = this;\n this.timeouts_.redraw = setTimeout(function() {\n delete self.timeouts_.redraw;\n self.scrollPort_.redraw_();\n }, 0);\n};\n\n/**\n * Request that the ScrollPort be scrolled to the bottom.\n *\n * The scroll will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single scroll.\n *\n * This affects the scrollbar position of the ScrollPort, and has nothing to\n * do with the VT scroll commands.\n */\nhterm.Terminal.prototype.scheduleScrollDown_ = function() {\n if (this.timeouts_.scrollDown)\n return;\n\n var self = this;\n this.timeouts_.scrollDown = setTimeout(function() {\n delete self.timeouts_.scrollDown;\n self.scrollPort_.scrollRowToBottom(self.getRowCount());\n }, 10);\n};\n\n/**\n * Move the cursor up a specified number of rows.\n *\n * @param {integer} count The number of rows to move the cursor.\n */\nhterm.Terminal.prototype.cursorUp = function(count) {\n return this.cursorDown(-(count || 1));\n};\n\n/**\n * Move the cursor down a specified number of rows.\n *\n * @param {integer} count The number of rows to move the cursor.\n */\nhterm.Terminal.prototype.cursorDown = function(count) {\n count = count || 1;\n var minHeight = (this.options_.originMode ? this.getVTScrollTop() : 0);\n var maxHeight = (this.options_.originMode ? this.getVTScrollBottom() :\n this.screenSize.height - 1);\n\n var row = lib.f.clamp(this.screen_.cursorPosition.row + count,\n minHeight, maxHeight);\n this.setAbsoluteCursorRow(row);\n};\n\n/**\n * Move the cursor left a specified number of columns.\n *\n * If reverse wraparound mode is enabled and the previous row wrapped into\n * the current row then we back up through the wraparound as well.\n *\n * @param {integer} count The number of columns to move the cursor.\n */\nhterm.Terminal.prototype.cursorLeft = function(count) {\n count = count || 1;\n\n if (count < 1)\n return;\n\n var currentColumn = this.screen_.cursorPosition.column;\n if (this.options_.reverseWraparound) {\n if (this.screen_.cursorPosition.overflow) {\n // If this cursor is in the right margin, consume one count to get it\n // back to the last column. This only applies when we're in reverse\n // wraparound mode.\n count--;\n this.clearCursorOverflow();\n\n if (!count)\n return;\n }\n\n var newRow = this.screen_.cursorPosition.row;\n var newColumn = currentColumn - count;\n if (newColumn < 0) {\n newRow = newRow - Math.floor(count / this.screenSize.width) - 1;\n if (newRow < 0) {\n // xterm also wraps from row 0 to the last row.\n newRow = this.screenSize.height + newRow % this.screenSize.height;\n }\n newColumn = this.screenSize.width + newColumn % this.screenSize.width;\n }\n\n this.setCursorPosition(Math.max(newRow, 0), newColumn);\n\n } else {\n var newColumn = Math.max(currentColumn - count, 0);\n this.setCursorColumn(newColumn);\n }\n};\n\n/**\n * Move the cursor right a specified number of columns.\n *\n * @param {integer} count The number of columns to move the cursor.\n */\nhterm.Terminal.prototype.cursorRight = function(count) {\n count = count || 1;\n\n if (count < 1)\n return;\n\n var column = lib.f.clamp(this.screen_.cursorPosition.column + count,\n 0, this.screenSize.width - 1);\n this.setCursorColumn(column);\n};\n\n/**\n * Reverse the foreground and background colors of the terminal.\n *\n * This only affects text that was drawn with no attributes.\n *\n * TODO(rginda): Test xterm to see if reverse is respected for text that has\n * been drawn with attributes that happen to coincide with the default\n * 'no-attribute' colors. My guess is probably not.\n *\n * @param {boolean} state The state to set.\n */\nhterm.Terminal.prototype.setReverseVideo = function(state) {\n this.options_.reverseVideo = state;\n if (state) {\n this.scrollPort_.setForegroundColor(this.prefs_.get('background-color'));\n this.scrollPort_.setBackgroundColor(this.prefs_.get('foreground-color'));\n } else {\n this.scrollPort_.setForegroundColor(this.prefs_.get('foreground-color'));\n this.scrollPort_.setBackgroundColor(this.prefs_.get('background-color'));\n }\n};\n\n/**\n * Ring the terminal bell.\n *\n * This will not play the bell audio more than once per second.\n */\nhterm.Terminal.prototype.ringBell = function() {\n this.cursorNode_.style.backgroundColor =\n this.scrollPort_.getForegroundColor();\n\n var self = this;\n setTimeout(function() {\n self.cursorNode_.style.backgroundColor = self.prefs_.get('cursor-color');\n }, 200);\n\n // bellSquelchTimeout_ affects both audio and notification bells.\n if (this.bellSquelchTimeout_)\n return;\n\n if (this.bellAudio_.getAttribute('src')) {\n this.bellAudio_.play();\n this.bellSequelchTimeout_ = setTimeout(function() {\n delete this.bellSquelchTimeout_;\n }.bind(this), 500);\n } else {\n delete this.bellSquelchTimeout_;\n }\n\n if (this.desktopNotificationBell_ && !this.document_.hasFocus()) {\n var n = hterm.notify();\n this.bellNotificationList_.push(n);\n // TODO: Should we try to raise the window here?\n n.onclick = function() { self.closeBellNotifications_(); };\n }\n};\n\n/**\n * Set the origin mode bit.\n *\n * If origin mode is on, certain VT cursor and scrolling commands measure their\n * row parameter relative to the VT scroll region. Otherwise, row 0 corresponds\n * to the top of the addressable screen.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set origin mode, false to unset.\n */\nhterm.Terminal.prototype.setOriginMode = function(state) {\n this.options_.originMode = state;\n this.setCursorPosition(0, 0);\n};\n\n/**\n * Set the insert mode bit.\n *\n * If insert mode is on, existing text beyond the cursor position will be\n * shifted right to make room for new text. Otherwise, new text overwrites\n * any existing text.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set insert mode, false to unset.\n */\nhterm.Terminal.prototype.setInsertMode = function(state) {\n this.options_.insertMode = state;\n};\n\n/**\n * Set the auto carriage return bit.\n *\n * If auto carriage return is on then a formfeed character is interpreted\n * as a newline, otherwise it's the same as a linefeed. The difference boils\n * down to whether or not the cursor column is reset.\n *\n * @param {boolean} state The state to set.\n */\nhterm.Terminal.prototype.setAutoCarriageReturn = function(state) {\n this.options_.autoCarriageReturn = state;\n};\n\n/**\n * Set the wraparound mode bit.\n *\n * If wraparound mode is on, certain VT commands will allow the cursor to wrap\n * to the start of the following row. Otherwise, the cursor is clamped to the\n * end of the screen and attempts to write past it are ignored.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set wraparound mode, false to unset.\n */\nhterm.Terminal.prototype.setWraparound = function(state) {\n this.options_.wraparound = state;\n};\n\n/**\n * Set the reverse-wraparound mode bit.\n *\n * If wraparound mode is off, certain VT commands will allow the cursor to wrap\n * to the end of the previous row. Otherwise, the cursor is clamped to column\n * 0.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set reverse-wraparound mode, false to unset.\n */\nhterm.Terminal.prototype.setReverseWraparound = function(state) {\n this.options_.reverseWraparound = state;\n};\n\n/**\n * Selects between the primary and alternate screens.\n *\n * If alternate mode is on, the alternate screen is active. Otherwise the\n * primary screen is active.\n *\n * Swapping screens has no effect on the scrollback buffer.\n *\n * Each screen maintains its own cursor position.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set alternate mode, false to unset.\n */\nhterm.Terminal.prototype.setAlternateMode = function(state) {\n var cursor = this.saveCursor();\n this.screen_ = state ? this.alternateScreen_ : this.primaryScreen_;\n\n if (this.screen_.rowsArray.length &&\n this.screen_.rowsArray[0].rowIndex != this.scrollbackRows_.length) {\n // If the screen changed sizes while we were away, our rowIndexes may\n // be incorrect.\n var offset = this.scrollbackRows_.length;\n var ary = this.screen_.rowsArray;\n for (var i = 0; i < ary.length; i++) {\n ary[i].rowIndex = offset + i;\n }\n }\n\n this.realizeWidth_(this.screenSize.width);\n this.realizeHeight_(this.screenSize.height);\n this.scrollPort_.syncScrollHeight();\n this.scrollPort_.invalidate();\n\n this.restoreCursor(cursor);\n this.scrollPort_.resize();\n};\n\n/**\n * Set the cursor-blink mode bit.\n *\n * If cursor-blink is on, the cursor will blink when it is visible. Otherwise\n * a visible cursor does not blink.\n *\n * You should make sure to turn blinking off if you're going to dispose of a\n * terminal, otherwise you'll leak a timeout.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set cursor-blink mode, false to unset.\n */\nhterm.Terminal.prototype.setCursorBlink = function(state) {\n this.options_.cursorBlink = state;\n\n if (!state && this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n\n if (this.options_.cursorVisible)\n this.setCursorVisible(true);\n};\n\n/**\n * Set the cursor-visible mode bit.\n *\n * If cursor-visible is on, the cursor will be visible. Otherwise it will not.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set cursor-visible mode, false to unset.\n */\nhterm.Terminal.prototype.setCursorVisible = function(state) {\n this.options_.cursorVisible = state;\n\n if (!state) {\n if (this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n this.cursorNode_.style.opacity = '0';\n return;\n }\n\n this.syncCursorPosition_();\n\n this.cursorNode_.style.opacity = '1';\n\n if (this.options_.cursorBlink) {\n if (this.timeouts_.cursorBlink)\n return;\n\n this.onCursorBlink_();\n } else {\n if (this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n }\n};\n\n/**\n * Synchronizes the visible cursor and document selection with the current\n * cursor coordinates.\n */\nhterm.Terminal.prototype.syncCursorPosition_ = function() {\n var topRowIndex = this.scrollPort_.getTopRowIndex();\n var bottomRowIndex = this.scrollPort_.getBottomRowIndex(topRowIndex);\n var cursorRowIndex = this.scrollbackRows_.length +\n this.screen_.cursorPosition.row;\n\n if (cursorRowIndex > bottomRowIndex) {\n // Cursor is scrolled off screen, move it outside of the visible area.\n this.setCssVar('cursor-offset-row', '-1');\n return;\n }\n\n if (this.options_.cursorVisible &&\n this.cursorNode_.style.display == 'none') {\n // Re-display the terminal cursor if it was hidden by the mouse cursor.\n this.cursorNode_.style.display = '';\n }\n\n // Position the cursor using CSS variable math. If we do the math in JS,\n // the float math will end up being more precise than the CSS which will\n // cause the cursor tracking to be off.\n this.setCssVar(\n 'cursor-offset-row',\n `${cursorRowIndex - topRowIndex} + ` +\n `${this.scrollPort_.visibleRowTopMargin}px`);\n this.setCssVar('cursor-offset-col', this.screen_.cursorPosition.column);\n\n this.cursorNode_.setAttribute('title',\n '(' + this.screen_.cursorPosition.column +\n ', ' + this.screen_.cursorPosition.row +\n ')');\n\n // Update the caret for a11y purposes.\n var selection = this.document_.getSelection();\n if (selection && selection.isCollapsed)\n this.screen_.syncSelectionCaret(selection);\n};\n\n/**\n * Adjusts the style of this.cursorNode_ according to the current cursor shape\n * and character cell dimensions.\n */\nhterm.Terminal.prototype.restyleCursor_ = function() {\n var shape = this.cursorShape_;\n\n if (this.cursorNode_.getAttribute('focus') == 'false') {\n // Always show a block cursor when unfocused.\n shape = hterm.Terminal.cursorShape.BLOCK;\n }\n\n var style = this.cursorNode_.style;\n\n switch (shape) {\n case hterm.Terminal.cursorShape.BEAM:\n style.height = 'var(--hterm-charsize-height)';\n style.backgroundColor = 'transparent';\n style.borderBottomStyle = null;\n style.borderLeftStyle = 'solid';\n break;\n\n case hterm.Terminal.cursorShape.UNDERLINE:\n style.height = this.scrollPort_.characterSize.baseline + 'px';\n style.backgroundColor = 'transparent';\n style.borderBottomStyle = 'solid';\n // correct the size to put it exactly at the baseline\n style.borderLeftStyle = null;\n break;\n\n default:\n style.height = 'var(--hterm-charsize-height)';\n style.backgroundColor = this.cursorColor_;\n style.borderBottomStyle = null;\n style.borderLeftStyle = null;\n break;\n }\n};\n\n/**\n * Synchronizes the visible cursor with the current cursor coordinates.\n *\n * The sync will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single sync.\n */\nhterm.Terminal.prototype.scheduleSyncCursorPosition_ = function() {\n if (this.timeouts_.syncCursor)\n return;\n\n var self = this;\n this.timeouts_.syncCursor = setTimeout(function() {\n self.syncCursorPosition_();\n delete self.timeouts_.syncCursor;\n }, 0);\n};\n\n/**\n * Show or hide the zoom warning.\n *\n * The zoom warning is a message warning the user that their browser zoom must\n * be set to 100% in order for hterm to function properly.\n *\n * @param {boolean} state True to show the message, false to hide it.\n */\nhterm.Terminal.prototype.showZoomWarning_ = function(state) {\n if (!this.zoomWarningNode_) {\n if (!state)\n return;\n\n this.zoomWarningNode_ = this.document_.createElement('div');\n this.zoomWarningNode_.id = 'hterm:zoom-warning';\n this.zoomWarningNode_.style.cssText = (\n 'color: black;' +\n 'background-color: #ff2222;' +\n 'font-size: large;' +\n 'border-radius: 8px;' +\n 'opacity: 0.75;' +\n 'padding: 0.2em 0.5em 0.2em 0.5em;' +\n 'top: 0.5em;' +\n 'right: 1.2em;' +\n 'position: absolute;' +\n '-webkit-text-size-adjust: none;' +\n '-webkit-user-select: none;' +\n '-moz-text-size-adjust: none;' +\n '-moz-user-select: none;');\n\n this.zoomWarningNode_.addEventListener('click', function(e) {\n this.parentNode.removeChild(this);\n });\n }\n\n this.zoomWarningNode_.textContent = lib.MessageManager.replaceReferences(\n hterm.zoomWarningMessage,\n [parseInt(this.scrollPort_.characterSize.zoomFactor * 100)]);\n\n this.zoomWarningNode_.style.fontFamily = this.prefs_.get('font-family');\n\n if (state) {\n if (!this.zoomWarningNode_.parentNode)\n this.div_.parentNode.appendChild(this.zoomWarningNode_);\n } else if (this.zoomWarningNode_.parentNode) {\n this.zoomWarningNode_.parentNode.removeChild(this.zoomWarningNode_);\n }\n};\n\n/**\n * Show the terminal overlay for a given amount of time.\n *\n * The terminal overlay appears in inverse video in a large font, centered\n * over the terminal. You should probably keep the overlay message brief,\n * since it's in a large font and you probably aren't going to check the size\n * of the terminal first.\n *\n * @param {string} msg The text (not HTML) message to display in the overlay.\n * @param {number} opt_timeout The amount of time to wait before fading out\n * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay\n * stay up forever (or until the next overlay).\n */\nhterm.Terminal.prototype.showOverlay = function(msg, opt_timeout) {\n if (!this.overlayNode_) {\n if (!this.div_)\n return;\n\n this.overlayNode_ = this.document_.createElement('div');\n this.overlayNode_.style.cssText = (\n 'border-radius: 15px;' +\n 'font-size: xx-large;' +\n 'opacity: 0.75;' +\n 'padding: 0.2em 0.5em 0.2em 0.5em;' +\n 'position: absolute;' +\n '-webkit-user-select: none;' +\n '-webkit-transition: opacity 180ms ease-in;' +\n '-moz-user-select: none;' +\n '-moz-transition: opacity 180ms ease-in;');\n\n this.overlayNode_.addEventListener('mousedown', function(e) {\n e.preventDefault();\n e.stopPropagation();\n }, true);\n }\n\n this.overlayNode_.style.color = this.prefs_.get('background-color');\n this.overlayNode_.style.backgroundColor = this.prefs_.get('foreground-color');\n this.overlayNode_.style.fontFamily = this.prefs_.get('font-family');\n\n this.overlayNode_.textContent = msg;\n this.overlayNode_.style.opacity = '0.75';\n\n if (!this.overlayNode_.parentNode)\n this.div_.appendChild(this.overlayNode_);\n\n var divSize = hterm.getClientSize(this.div_);\n var overlaySize = hterm.getClientSize(this.overlayNode_);\n\n this.overlayNode_.style.top =\n (divSize.height - overlaySize.height) / 2 + 'px';\n this.overlayNode_.style.left = (divSize.width - overlaySize.width -\n this.scrollPort_.currentScrollbarWidthPx) / 2 + 'px';\n\n var self = this;\n\n if (this.overlayTimeout_)\n clearTimeout(this.overlayTimeout_);\n\n if (opt_timeout === null)\n return;\n\n this.overlayTimeout_ = setTimeout(function() {\n self.overlayNode_.style.opacity = '0';\n self.overlayTimeout_ = setTimeout(function() {\n if (self.overlayNode_.parentNode)\n self.overlayNode_.parentNode.removeChild(self.overlayNode_);\n self.overlayTimeout_ = null;\n self.overlayNode_.style.opacity = '0.75';\n }, 200);\n }, opt_timeout || 1500);\n};\n\n/**\n * Paste from the system clipboard to the terminal.\n */\nhterm.Terminal.prototype.paste = function() {\n return hterm.pasteFromClipboard(this.document_);\n};\n\n/**\n * Copy a string to the system clipboard.\n *\n * Note: If there is a selected range in the terminal, it'll be cleared.\n *\n * @param {string} str The string to copy.\n */\nhterm.Terminal.prototype.copyStringToClipboard = function(str) {\n if (this.prefs_.get('enable-clipboard-notice'))\n setTimeout(this.showOverlay.bind(this, hterm.notifyCopyMessage, 500), 200);\n\n var copySource = this.document_.createElement('pre');\n copySource.id = 'hterm:copy-to-clipboard-source';\n copySource.textContent = str;\n copySource.style.cssText = (\n '-webkit-user-select: text;' +\n '-moz-user-select: text;' +\n 'position: absolute;' +\n 'top: -99px');\n\n this.document_.body.appendChild(copySource);\n\n var selection = this.document_.getSelection();\n var anchorNode = selection.anchorNode;\n var anchorOffset = selection.anchorOffset;\n var focusNode = selection.focusNode;\n var focusOffset = selection.focusOffset;\n\n selection.selectAllChildren(copySource);\n\n hterm.copySelectionToClipboard(this.document_);\n\n // IE doesn't support selection.extend. This means that the selection\n // won't return on IE.\n if (selection.extend) {\n selection.collapse(anchorNode, anchorOffset);\n selection.extend(focusNode, focusOffset);\n }\n\n copySource.parentNode.removeChild(copySource);\n};\n\n/**\n * Returns the selected text, or null if no text is selected.\n *\n * @return {string|null}\n */\nhterm.Terminal.prototype.getSelectionText = function() {\n var selection = this.scrollPort_.selection;\n selection.sync();\n\n if (selection.isCollapsed)\n return null;\n\n\n // Start offset measures from the beginning of the line.\n var startOffset = selection.startOffset;\n var node = selection.startNode;\n\n if (node.nodeName != 'X-ROW') {\n // If the selection doesn't start on an x-row node, then it must be\n // somewhere inside the x-row. Add any characters from previous siblings\n // into the start offset.\n\n if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') {\n // If node is the text node in a styled span, move up to the span node.\n node = node.parentNode;\n }\n\n while (node.previousSibling) {\n node = node.previousSibling;\n startOffset += hterm.TextAttributes.nodeWidth(node);\n }\n }\n\n // End offset measures from the end of the line.\n var endOffset = (hterm.TextAttributes.nodeWidth(selection.endNode) -\n selection.endOffset);\n node = selection.endNode;\n\n if (node.nodeName != 'X-ROW') {\n // If the selection doesn't end on an x-row node, then it must be\n // somewhere inside the x-row. Add any characters from following siblings\n // into the end offset.\n\n if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') {\n // If node is the text node in a styled span, move up to the span node.\n node = node.parentNode;\n }\n\n while (node.nextSibling) {\n node = node.nextSibling;\n endOffset += hterm.TextAttributes.nodeWidth(node);\n }\n }\n\n var rv = this.getRowsText(selection.startRow.rowIndex,\n selection.endRow.rowIndex + 1);\n return lib.wc.substring(rv, startOffset, lib.wc.strWidth(rv) - endOffset);\n};\n\n/**\n * Copy the current selection to the system clipboard, then clear it after a\n * short delay.\n */\nhterm.Terminal.prototype.copySelectionToClipboard = function() {\n var text = this.getSelectionText();\n if (text != null)\n this.copyStringToClipboard(text);\n};\n\nhterm.Terminal.prototype.overlaySize = function() {\n this.showOverlay(this.screenSize.width + 'x' + this.screenSize.height);\n};\n\n/**\n * Invoked by hterm.Terminal.Keyboard when a VT keystroke is detected.\n *\n * @param {string} string The VT string representing the keystroke, in UTF-16.\n */\nhterm.Terminal.prototype.onVTKeystroke = function(string) {\n if (this.scrollOnKeystroke_)\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n\n this.io.onVTKeystroke(this.keyboard.encode(string));\n};\n\n/**\n * Launches url in a new tab.\n *\n * @param {string} url URL to launch in a new tab.\n */\nhterm.Terminal.prototype.openUrl = function(url) {\n if (window.chrome && window.chrome.browser) {\n // For Chrome v2 apps, we need to use this API to properly open windows.\n chrome.browser.openTab({'url': url});\n } else {\n var win = window.open(url, '_blank');\n win.focus();\n }\n}\n\n/**\n * Open the selected url.\n */\nhterm.Terminal.prototype.openSelectedUrl_ = function() {\n var str = this.getSelectionText();\n\n // If there is no selection, try and expand wherever they clicked.\n if (str == null) {\n this.screen_.expandSelection(this.document_.getSelection());\n str = this.getSelectionText();\n\n // If clicking in empty space, return.\n if (str == null)\n return;\n }\n\n // Make sure URL is valid before opening.\n if (str.length > 2048 || str.search(/[\\s\\[\\](){}<>\"'\\\\^`]/) >= 0)\n return;\n\n // If the URI isn't anchored, it'll open relative to the extension.\n // We have no way of knowing the correct schema, so assume http.\n if (str.search('^[a-zA-Z][a-zA-Z0-9+.-]*://') < 0) {\n // We have to whitelist a few protocols that lack authorities and thus\n // never use the //. Like mailto.\n switch (str.split(':', 1)[0]) {\n case 'mailto':\n break;\n default:\n str = 'http://' + str;\n break;\n }\n }\n\n this.openUrl(str);\n}\n\n\n/**\n * Add the terminalRow and terminalColumn properties to mouse events and\n * then forward on to onMouse().\n *\n * The terminalRow and terminalColumn properties contain the (row, column)\n * coordinates for the mouse event.\n *\n * @param {Event} e The mouse event to handle.\n */\nhterm.Terminal.prototype.onMouse_ = function(e) {\n if (e.processedByTerminalHandler_) {\n // We register our event handlers on the document, as well as the cursor\n // and the scroll blocker. Mouse events that occur on the cursor or\n // scroll blocker will also appear on the document, but we don't want to\n // process them twice.\n //\n // We can't just prevent bubbling because that has other side effects, so\n // we decorate the event object with this property instead.\n return;\n }\n\n var reportMouseEvents = (!this.defeatMouseReports_ &&\n this.vt.mouseReport != this.vt.MOUSE_REPORT_DISABLED);\n\n e.processedByTerminalHandler_ = true;\n\n // One based row/column stored on the mouse event.\n e.terminalRow = parseInt((e.clientY - this.scrollPort_.visibleRowTopMargin) /\n this.scrollPort_.characterSize.height) + 1;\n e.terminalColumn = parseInt(e.clientX /\n this.scrollPort_.characterSize.width) + 1;\n\n if (e.type == 'mousedown' && e.terminalColumn > this.screenSize.width) {\n // Mousedown in the scrollbar area.\n return;\n }\n\n if (this.options_.cursorVisible && !reportMouseEvents) {\n // If the cursor is visible and we're not sending mouse events to the\n // host app, then we want to hide the terminal cursor when the mouse\n // cursor is over top. This keeps the terminal cursor from interfering\n // with local text selection.\n if (e.terminalRow - 1 == this.screen_.cursorPosition.row &&\n e.terminalColumn - 1 == this.screen_.cursorPosition.column) {\n this.cursorNode_.style.display = 'none';\n } else if (this.cursorNode_.style.display == 'none') {\n this.cursorNode_.style.display = '';\n }\n }\n\n if (e.type == 'mousedown') {\n if (e.altKey || !reportMouseEvents) {\n // If VT mouse reporting is disabled, or has been defeated with\n // alt-mousedown, then the mouse will act on the local selection.\n this.defeatMouseReports_ = true;\n this.setSelectionEnabled(true);\n } else {\n // Otherwise we defer ownership of the mouse to the VT.\n this.defeatMouseReports_ = false;\n this.document_.getSelection().collapseToEnd();\n this.setSelectionEnabled(false);\n e.preventDefault();\n }\n }\n\n if (!reportMouseEvents) {\n if (e.type == 'dblclick' && this.copyOnSelect) {\n this.screen_.expandSelection(this.document_.getSelection());\n this.copySelectionToClipboard(this.document_);\n }\n\n if (e.type == 'click' && !e.shiftKey && (e.ctrlKey || e.metaKey)) {\n // Debounce this event with the dblclick event. If you try to doubleclick\n // a URL to open it, Chrome will fire click then dblclick, but we won't\n // have expanded the selection text at the first click event.\n clearTimeout(this.timeouts_.openUrl);\n this.timeouts_.openUrl = setTimeout(this.openSelectedUrl_.bind(this),\n 500);\n return;\n }\n\n if (e.type == 'mousedown') {\n if ((this.mouseRightClickPaste && e.button == 2 /* right button */) ||\n e.button == this.mousePasteButton) {\n if (!this.paste())\n console.warning('Could not paste manually due to web restrictions');;\n }\n }\n\n if (e.type == 'mouseup' && e.button == 0 && this.copyOnSelect &&\n !this.document_.getSelection().isCollapsed) {\n this.copySelectionToClipboard(this.document_);\n }\n\n if ((e.type == 'mousemove' || e.type == 'mouseup') &&\n this.scrollBlockerNode_.engaged) {\n // Disengage the scroll-blocker after one of these events.\n this.scrollBlockerNode_.engaged = false;\n this.scrollBlockerNode_.style.top = '-99px';\n }\n\n // Emulate arrow key presses via scroll wheel events.\n if (this.scrollWheelArrowKeys_ && !e.shiftKey &&\n this.keyboard.applicationCursor && !this.isPrimaryScreen()) {\n if (e.type == 'wheel') {\n var delta = this.scrollPort_.scrollWheelDelta(e);\n var lines = lib.f.smartFloorDivide(\n Math.abs(delta), this.scrollPort_.characterSize.height);\n\n var data = '\\x1bO' + (delta < 0 ? 'B' : 'A');\n this.io.sendString(data.repeat(lines));\n\n e.preventDefault();\n }\n }\n } else /* if (this.reportMouseEvents) */ {\n if (!this.scrollBlockerNode_.engaged) {\n if (e.type == 'mousedown') {\n // Move the scroll-blocker into place if we want to keep the scrollport\n // from scrolling.\n this.scrollBlockerNode_.engaged = true;\n this.scrollBlockerNode_.style.top = (e.clientY - 5) + 'px';\n this.scrollBlockerNode_.style.left = (e.clientX - 5) + 'px';\n } else if (e.type == 'mousemove') {\n // Oh. This means that drag-scroll was disabled AFTER the mouse down,\n // in which case it's too late to engage the scroll-blocker.\n this.document_.getSelection().collapseToEnd();\n e.preventDefault();\n }\n }\n\n this.onMouse(e);\n }\n\n if (e.type == 'mouseup' && this.document_.getSelection().isCollapsed) {\n // Restore this on mouseup in case it was temporarily defeated with a\n // alt-mousedown. Only do this when the selection is empty so that\n // we don't immediately kill the users selection.\n this.defeatMouseReports_ = false;\n }\n};\n\n/**\n * Clients should override this if they care to know about mouse events.\n *\n * The event parameter will be a normal DOM mouse click event with additional\n * 'terminalRow' and 'terminalColumn' properties.\n *\n * @param {Event} e The mouse event to handle.\n */\nhterm.Terminal.prototype.onMouse = function(e) { };\n\n/**\n * React when focus changes.\n *\n * @param {boolean} focused True if focused, false otherwise.\n */\nhterm.Terminal.prototype.onFocusChange_ = function(focused) {\n this.cursorNode_.setAttribute('focus', focused);\n this.restyleCursor_();\n if (focused === true)\n this.closeBellNotifications_();\n};\n\n/**\n * React when the ScrollPort is scrolled.\n */\nhterm.Terminal.prototype.onScroll_ = function() {\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * React when text is pasted into the scrollPort.\n *\n * @param {Event} e The DOM paste event to handle.\n */\nhterm.Terminal.prototype.onPaste_ = function(e) {\n var data = e.text.replace(/\\n/mg, '\\r');\n data = this.keyboard.encode(data);\n if (this.options_.bracketedPaste)\n data = '\\x1b[200~' + data + '\\x1b[201~';\n\n this.io.sendString(data);\n};\n\n/**\n * React when the user tries to copy from the scrollPort.\n *\n * @param {Event} e The DOM copy event.\n */\nhterm.Terminal.prototype.onCopy_ = function(e) {\n if (!this.useDefaultWindowCopy) {\n e.preventDefault();\n setTimeout(this.copySelectionToClipboard.bind(this), 0);\n }\n};\n\n/**\n * React when the ScrollPort is resized.\n *\n * Note: This function should not directly contain code that alters the internal\n * state of the terminal. That kind of code belongs in realizeWidth or\n * realizeHeight, so that it can be executed synchronously in the case of a\n * programmatic width change.\n */\nhterm.Terminal.prototype.onResize_ = function() {\n var columnCount = Math.floor(this.scrollPort_.getScreenWidth() /\n this.scrollPort_.characterSize.width) || 0;\n var rowCount = lib.f.smartFloorDivide(this.scrollPort_.getScreenHeight(),\n this.scrollPort_.characterSize.height) || 0;\n\n if (columnCount <= 0 || rowCount <= 0) {\n // We avoid these situations since they happen sometimes when the terminal\n // gets removed from the document or during the initial load, and we can't\n // deal with that.\n // This can also happen if called before the scrollPort calculates the\n // character size, meaning we dived by 0 above and default to 0 values.\n return;\n }\n\n var isNewSize = (columnCount != this.screenSize.width ||\n rowCount != this.screenSize.height);\n\n // We do this even if the size didn't change, just to be sure everything is\n // in sync.\n this.realizeSize_(columnCount, rowCount);\n this.showZoomWarning_(this.scrollPort_.characterSize.zoomFactor != 1);\n\n if (isNewSize)\n this.overlaySize();\n\n this.restyleCursor_();\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Service the cursor blink timeout.\n */\nhterm.Terminal.prototype.onCursorBlink_ = function() {\n if (!this.options_.cursorBlink) {\n delete this.timeouts_.cursorBlink;\n return;\n }\n\n if (this.cursorNode_.getAttribute('focus') == 'false' ||\n this.cursorNode_.style.opacity == '0') {\n this.cursorNode_.style.opacity = '1';\n this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_,\n this.cursorBlinkCycle_[0]);\n } else {\n this.cursorNode_.style.opacity = '0';\n this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_,\n this.cursorBlinkCycle_[1]);\n }\n};\n\n/**\n * Set the scrollbar-visible mode bit.\n *\n * If scrollbar-visible is on, the vertical scrollbar will be visible.\n * Otherwise it will not.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set scrollbar-visible mode, false to unset.\n */\nhterm.Terminal.prototype.setScrollbarVisible = function(state) {\n this.scrollPort_.setScrollbarVisible(state);\n};\n\n/**\n * Set the scroll wheel move multiplier. This will affect how fast the page\n * scrolls on wheel events.\n *\n * Defaults to 1.\n *\n * @param {number} multiplier The multiplier to set.\n */\nhterm.Terminal.prototype.setScrollWheelMoveMultipler = function(multiplier) {\n this.scrollPort_.setScrollWheelMoveMultipler(multiplier);\n};\n\n/**\n * Close all web notifications created by terminal bells.\n */\nhterm.Terminal.prototype.closeBellNotifications_ = function() {\n this.bellNotificationList_.forEach(function(n) {\n n.close();\n });\n this.bellNotificationList_.length = 0;\n};\n// SOURCE FILE: hterm/js/hterm_terminal_io.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.encodeUTF8');\n\n/**\n * Input/Output interface used by commands to communicate with the terminal.\n *\n * Commands like `nassh` and `crosh` receive an instance of this class as\n * part of their argv object. This allows them to write to and read from the\n * terminal without exposing them to an entire hterm.Terminal instance.\n *\n * The active command must override the onVTKeystroke() and sendString() methods\n * of this class in order to receive keystrokes and send output to the correct\n * destination.\n *\n * Isolating commands from the terminal provides the following benefits:\n * - Provides a mechanism to save and restore onVTKeystroke and sendString\n * handlers when invoking subcommands (see the push() and pop() methods).\n * - The isolation makes it easier to make changes in Terminal and supporting\n * classes without affecting commands.\n * - In The Future commands may run in web workers where they would only be able\n * to talk to a Terminal instance through an IPC mechanism.\n *\n * @param {hterm.Terminal}\n */\nhterm.Terminal.IO = function(terminal) {\n this.terminal_ = terminal;\n\n // The IO object to restore on IO.pop().\n this.previousIO_ = null;\n};\n\n/**\n * Show the terminal overlay for a given amount of time.\n *\n * The terminal overlay appears in inverse video in a large font, centered\n * over the terminal. You should probably keep the overlay message brief,\n * since it's in a large font and you probably aren't going to check the size\n * of the terminal first.\n *\n * @param {string} msg The text (not HTML) message to display in the overlay.\n * @param {number} opt_timeout The amount of time to wait before fading out\n * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay\n * stay up forever (or until the next overlay).\n */\nhterm.Terminal.IO.prototype.showOverlay = function(message, opt_timeout) {\n this.terminal_.showOverlay(message, opt_timeout);\n};\n\n/**\n * Open an frame in the current terminal window, pointed to the specified\n * url.\n *\n * Eventually we'll probably need size/position/decoration options.\n * The user should also be able to move/resize the frame.\n *\n * @param {string} url The URL to load in the frame.\n * @param {Object} opt_options Optional frame options. Not implemented.\n */\nhterm.Terminal.IO.prototype.createFrame = function(url, opt_options) {\n return new hterm.Frame(this.terminal_, url, opt_options);\n};\n\n/**\n * Change the preference profile for the terminal.\n *\n * @param profileName {string} The name of the preference profile to activate.\n */\nhterm.Terminal.IO.prototype.setTerminalProfile = function(profileName) {\n this.terminal_.setProfile(profileName);\n};\n\n/**\n * Create a new hterm.Terminal.IO instance and make it active on the Terminal\n * object associated with this instance.\n *\n * This is used to pass control of the terminal IO off to a subcommand. The\n * IO.pop() method can be used to restore control when the subcommand completes.\n */\nhterm.Terminal.IO.prototype.push = function() {\n var io = new hterm.Terminal.IO(this.terminal_);\n io.keyboardCaptured_ = this.keyboardCaptured_;\n\n io.columnCount = this.columnCount;\n io.rowCount = this.rowCount;\n\n io.previousIO_ = this.terminal_.io;\n this.terminal_.io = io;\n\n return io;\n};\n\n/**\n * Restore the Terminal's previous IO object.\n */\nhterm.Terminal.IO.prototype.pop = function() {\n this.terminal_.io = this.previousIO_;\n};\n\n/**\n * Called when data needs to be sent to the current command.\n *\n * Clients should override this to receive notification of pending data.\n *\n * @param {string} string The data to send.\n */\nhterm.Terminal.IO.prototype.sendString = function(string) {\n // Override this.\n console.log('Unhandled sendString: ' + string);\n};\n\n/**\n * Called when a terminal keystroke is detected.\n *\n * Clients should override this to receive notification of keystrokes.\n *\n * The keystroke data will be encoded according to the 'send-encoding'\n * preference.\n *\n * @param {string} string The VT key sequence.\n */\nhterm.Terminal.IO.prototype.onVTKeystroke = function(string) {\n // Override this.\n console.log('Unobserverd VT keystroke: ' + JSON.stringify(string));\n};\n\nhterm.Terminal.IO.prototype.onTerminalResize_ = function(width, height) {\n var obj = this;\n while (obj) {\n obj.columnCount = width;\n obj.rowCount = height;\n obj = obj.previousIO_;\n }\n\n this.onTerminalResize(width, height);\n};\n\n/**\n * Called when terminal size is changed.\n *\n * Clients should override this to receive notification of resize.\n *\n * @param {string|integer} terminal width.\n * @param {string|integer} terminal height.\n */\nhterm.Terminal.IO.prototype.onTerminalResize = function(width, height) {\n // Override this.\n};\n\n/**\n * Write a UTF-8 encoded byte string to the terminal.\n *\n * @param {string} string The UTF-8 encoded string to print.\n */\nhterm.Terminal.IO.prototype.writeUTF8 = function(string) {\n if (this.terminal_.io != this)\n throw 'Attempt to print from inactive IO object.';\n\n this.terminal_.interpret(string);\n};\n\n/**\n * Write a UTF-8 encoded byte string to the terminal followed by crlf.\n *\n * @param {string} string The UTF-8 encoded string to print.\n */\nhterm.Terminal.IO.prototype.writelnUTF8 = function(string) {\n if (this.terminal_.io != this)\n throw 'Attempt to print from inactive IO object.';\n\n this.terminal_.interpret(string + '\\r\\n');\n};\n\n/**\n * Write a UTF-16 JavaScript string to the terminal.\n *\n * @param {string} string The string to print.\n */\nhterm.Terminal.IO.prototype.print =\nhterm.Terminal.IO.prototype.writeUTF16 = function(string) {\n this.writeUTF8(lib.encodeUTF8(string));\n};\n\n/**\n * Print a UTF-16 JavaScript string to the terminal followed by a newline.\n *\n * @param {string} string The string to print.\n */\nhterm.Terminal.IO.prototype.println =\nhterm.Terminal.IO.prototype.writelnUTF16 = function(string) {\n this.writelnUTF8(lib.encodeUTF8(string));\n};\n// SOURCE FILE: hterm/js/hterm_text_attributes.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors');\n\n/**\n * Constructor for TextAttribute objects.\n *\n * These objects manage a set of text attributes such as foreground/\n * background color, bold, faint, italic, blink, underline, and strikethrough.\n *\n * TextAttribute instances can be used to construct a DOM container implementing\n * the current attributes, or to test an existing DOM container for\n * compatibility with the current attributes.\n *\n * @constructor\n * @param {HTMLDocument} document The parent document to use when creating\n * new DOM containers.\n */\nhterm.TextAttributes = function(document) {\n this.document_ = document;\n // These variables contain the source of the color as either:\n // SRC_DEFAULT (use context default)\n // SRC_RGB (specified in 'rgb( r, g, b)' form)\n // number (representing the index from color palette to use)\n this.foregroundSource = this.SRC_DEFAULT;\n this.backgroundSource = this.SRC_DEFAULT;\n\n // These properties cache the value in the color table, but foregroundSource\n // and backgroundSource contain the canonical values.\n this.foreground = this.DEFAULT_COLOR;\n this.background = this.DEFAULT_COLOR;\n\n this.defaultForeground = 'rgb(255, 255, 255)';\n this.defaultBackground = 'rgb(0, 0, 0)';\n\n this.bold = false;\n this.faint = false;\n this.italic = false;\n this.blink = false;\n this.underline = false;\n this.strikethrough = false;\n this.inverse = false;\n this.invisible = false;\n this.wcNode = false;\n this.asciiNode = true;\n this.tileData = null;\n\n this.colorPalette = null;\n this.resetColorPalette();\n};\n\n/**\n * If false, we ignore the bold attribute.\n *\n * This is used for fonts that have a bold version that is a different size\n * than the normal weight version.\n */\nhterm.TextAttributes.prototype.enableBold = true;\n\n/**\n * If true, use bright colors (if available) for bold text.\n *\n * This setting is independent of the enableBold setting.\n */\nhterm.TextAttributes.prototype.enableBoldAsBright = true;\n\n/**\n * A sentinel constant meaning \"whatever the default color is in this context\".\n */\nhterm.TextAttributes.prototype.DEFAULT_COLOR = lib.f.createEnum('');\n\n/**\n * A constant string used to specify that source color is context default.\n */\nhterm.TextAttributes.prototype.SRC_DEFAULT = 'default';\n\n\n/**\n * A constant string used to specify that the source of a color is a valid\n * rgb( r, g, b) specifier.\n */\nhterm.TextAttributes.prototype.SRC_RGB = 'rgb';\n\n/**\n * The document object which should own the DOM nodes created by this instance.\n *\n * @param {HTMLDocument} document The parent document.\n */\nhterm.TextAttributes.prototype.setDocument = function(document) {\n this.document_ = document;\n};\n\n/**\n * Create a deep copy of this object.\n *\n * @return {hterm.TextAttributes} A deep copy of this object.\n */\nhterm.TextAttributes.prototype.clone = function() {\n var rv = new hterm.TextAttributes(null);\n\n for (var key in this) {\n rv[key] = this[key];\n }\n\n rv.colorPalette = this.colorPalette.concat();\n return rv;\n};\n\n/**\n * Reset the current set of attributes.\n *\n * This does not affect the palette. Use resetColorPalette() for that.\n * It also doesn't affect the tile data, it's not meant to.\n */\nhterm.TextAttributes.prototype.reset = function() {\n this.foregroundSource = this.SRC_DEFAULT;\n this.backgroundSource = this.SRC_DEFAULT;\n this.foreground = this.DEFAULT_COLOR;\n this.background = this.DEFAULT_COLOR;\n this.bold = false;\n this.faint = false;\n this.italic = false;\n this.blink = false;\n this.underline = false;\n this.strikethrough = false;\n this.inverse = false;\n this.invisible = false;\n this.wcNode = false;\n this.asciiNode = true;\n};\n\n/**\n * Reset the color palette to the default state.\n */\nhterm.TextAttributes.prototype.resetColorPalette = function() {\n this.colorPalette = lib.colors.colorPalette.concat();\n this.syncColors();\n};\n\n/**\n * Test if the current attributes describe unstyled text.\n *\n * @return {boolean} True if the current attributes describe unstyled text.\n */\nhterm.TextAttributes.prototype.isDefault = function() {\n return (this.foregroundSource == this.SRC_DEFAULT &&\n this.backgroundSource == this.SRC_DEFAULT &&\n !this.bold &&\n !this.faint &&\n !this.italic &&\n !this.blink &&\n !this.underline &&\n !this.strikethrough &&\n !this.inverse &&\n !this.invisible &&\n !this.wcNode &&\n this.asciiNode &&\n this.tileData == null);\n};\n\n/**\n * Create a DOM container (a span or a text node) with a style to match the\n * current set of attributes.\n *\n * This method will create a plain text node if the text is unstyled, or\n * an HTML span if the text is styled. Due to lack of monospace wide character\n * fonts on certain systems (e.g. Chrome OS), we need to put each wide character\n * in a span of CSS class '.wc-node' which has double column width.\n * Each vt_tiledata tile is also represented by a span with a single\n * character, with CSS classes '.tile' and '.tile_'.\n *\n * @param {string} opt_textContent Optional text content for the new container.\n * @return {HTMLNode} An HTML span or text nodes styled to match the current\n * attributes.\n */\nhterm.TextAttributes.prototype.createContainer = function(opt_textContent) {\n if (this.isDefault())\n return this.document_.createTextNode(opt_textContent);\n\n var span = this.document_.createElement('span');\n var style = span.style;\n var classes = [];\n\n if (this.foreground != this.DEFAULT_COLOR)\n style.color = this.foreground;\n\n if (this.background != this.DEFAULT_COLOR)\n style.backgroundColor = this.background;\n\n if (this.enableBold && this.bold)\n style.fontWeight = 'bold';\n\n if (this.faint)\n span.faint = true;\n\n if (this.italic)\n style.fontStyle = 'italic';\n\n if (this.blink) {\n classes.push('blink-node');\n span.blinkNode = true;\n }\n\n var textDecoration = '';\n if (this.underline) {\n textDecoration += ' underline';\n span.underline = true;\n }\n if (this.strikethrough) {\n textDecoration += ' line-through';\n span.strikethrough = true;\n }\n if (textDecoration) {\n style.textDecoration = textDecoration;\n }\n\n if (this.wcNode) {\n classes.push('wc-node');\n span.wcNode = true;\n span.asciiNode = false;\n }\n\n if (this.tileData != null) {\n classes.push('tile');\n classes.push('tile_' + this.tileData);\n span.tileNode = true;\n }\n\n if (opt_textContent)\n span.textContent = opt_textContent;\n\n if (classes.length)\n span.className = classes.join(' ');\n\n return span;\n};\n\n/**\n * Tests if the provided object (string, span or text node) has the same\n * style as this TextAttributes instance.\n *\n * This indicates that text with these attributes could be inserted directly\n * into the target DOM node.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj The object to test.\n * @return {boolean} True if the provided container has the same style as\n * this attributes instance.\n */\nhterm.TextAttributes.prototype.matchesContainer = function(obj) {\n if (typeof obj == 'string' || obj.nodeType == 3)\n return this.isDefault();\n\n var style = obj.style;\n\n // We don't want to put multiple characters in a wcNode or a tile.\n // See the comments in createContainer.\n return (!(this.wcNode || obj.wcNode) &&\n this.asciiNode == this.asciiNode &&\n !(this.tileData != null || obj.tileNode) &&\n this.foreground == style.color &&\n this.background == style.backgroundColor &&\n (this.enableBold && this.bold) == !!style.fontWeight &&\n this.blink == obj.blinkNode &&\n this.italic == !!style.fontStyle &&\n !!this.underline == !!obj.underline &&\n !!this.strikethrough == !!obj.strikethrough);\n};\n\nhterm.TextAttributes.prototype.setDefaults = function(foreground, background) {\n this.defaultForeground = foreground;\n this.defaultBackground = background;\n\n this.syncColors();\n};\n\n/**\n * Updates foreground and background properties based on current indices and\n * other state.\n *\n * @param {string} terminalForeground The terminal foreground color for use as\n * inverse text background.\n * @param {string} terminalBackground The terminal background color for use as\n * inverse text foreground.\n *\n */\nhterm.TextAttributes.prototype.syncColors = function() {\n function getBrightIndex(i) {\n if (i < 8) {\n // If the color is from the lower half of the ANSI 16, add 8.\n return i + 8;\n }\n\n // If it's not from the 16 color palette, ignore bold requests. This\n // matches the behavior of gnome-terminal.\n return i;\n }\n\n var foregroundSource = this.foregroundSource;\n var backgroundSource = this.backgroundSource;\n var defaultForeground = this.DEFAULT_COLOR;\n var defaultBackground = this.DEFAULT_COLOR;\n\n if (this.inverse) {\n foregroundSource = this.backgroundSource;\n backgroundSource = this.foregroundSource;\n // We can't inherit the container's color anymore.\n defaultForeground = this.defaultBackground;\n defaultBackground = this.defaultForeground;\n }\n\n if (this.enableBoldAsBright && this.bold) {\n if (foregroundSource != this.SRC_DEFAULT &&\n foregroundSource != this.SRC_RGB) {\n foregroundSource = getBrightIndex(foregroundSource);\n }\n }\n\n if (this.invisible) {\n foregroundSource = backgroundSource;\n defaultForeground = this.defaultBackground;\n }\n\n // Set fore/background colors unless already specified in rgb(r, g, b) form.\n if (foregroundSource != this.SRC_RGB) {\n this.foreground = ((foregroundSource == this.SRC_DEFAULT) ?\n defaultForeground : this.colorPalette[foregroundSource]);\n }\n\n if (this.faint && !this.invisible) {\n var colorToMakeFaint = ((this.foreground == this.DEFAULT_COLOR) ?\n this.defaultForeground : this.foreground);\n this.foreground = lib.colors.mix(colorToMakeFaint, 'rgb(0, 0, 0)', 0.3333);\n }\n\n if (backgroundSource != this.SRC_RGB) {\n this.background = ((backgroundSource == this.SRC_DEFAULT) ?\n defaultBackground : this.colorPalette[backgroundSource]);\n }\n};\n\n/**\n * Static method used to test if the provided objects (strings, spans or\n * text nodes) have the same style.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj1 An object to test.\n * @param {string|HTMLNode} obj2 Another object to test.\n * @return {boolean} True if the containers have the same style.\n */\nhterm.TextAttributes.containersMatch = function(obj1, obj2) {\n if (typeof obj1 == 'string')\n return hterm.TextAttributes.containerIsDefault(obj2);\n\n if (obj1.nodeType != obj2.nodeType)\n return false;\n\n if (obj1.nodeType == 3)\n return true;\n\n var style1 = obj1.style;\n var style2 = obj2.style;\n\n return (style1.color == style2.color &&\n style1.backgroundColor == style2.backgroundColor &&\n style1.fontWeight == style2.fontWeight &&\n style1.fontStyle == style2.fontStyle &&\n style1.textDecoration == style2.textDecoration);\n};\n\n/**\n * Static method to test if a given DOM container represents unstyled text.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj1 An object to test.\n * @return {boolean} True if the object is unstyled.\n */\nhterm.TextAttributes.containerIsDefault = function(obj) {\n return typeof obj == 'string' || obj.nodeType == 3;\n};\n\n/**\n * Static method to get the column width of a node's textContent.\n *\n * @param {HTMLElement} node The HTML element to get the width of textContent\n * from.\n * @return {integer} The column width of the node's textContent.\n */\nhterm.TextAttributes.nodeWidth = function(node) {\n if (!node.asciiNode) {\n return lib.wc.strWidth(node.textContent);\n } else {\n return node.textContent.length;\n }\n}\n\n/**\n * Static method to get the substr of a node's textContent. The start index\n * and substr width are computed in column width.\n *\n * @param {HTMLElement} node The HTML element to get the substr of textContent\n * from.\n * @param {integer} start The starting offset in column width.\n * @param {integer} width The width to capture in column width.\n * @return {integer} The extracted substr of the node's textContent.\n */\nhterm.TextAttributes.nodeSubstr = function(node, start, width) {\n if (!node.asciiNode) {\n return lib.wc.substr(node.textContent, start, width);\n } else {\n return node.textContent.substr(start, width);\n }\n}\n\n/**\n * Static method to get the substring based of a node's textContent. The\n * start index of end index are computed in column width.\n *\n * @param {HTMLElement} node The HTML element to get the substr of textContent\n * from.\n * @param {integer} start The starting offset in column width.\n * @param {integer} end The ending offset in column width.\n * @return {integer} The extracted substring of the node's textContent.\n */\nhterm.TextAttributes.nodeSubstring = function(node, start, end) {\n if (!node.asciiNode) {\n return lib.wc.substring(node.textContent, start, end);\n } else {\n return node.textContent.substring(start, end);\n }\n};\n\n/**\n * Static method to split a string into contiguous runs of single-width\n * characters and runs of double-width characters.\n *\n * @param {string} str The string to split.\n * @return {Array} An array of objects that contain substrings of str, where\n * each substring is either a contiguous runs of single-width characters\n * or a double-width character. For objects that contain a double-width\n * character, its wcNode property is set to true. For objects that contain\n * only ASCII content, its asciiNode property is set to true.\n */\nhterm.TextAttributes.splitWidecharString = function(str) {\n var rv = [];\n var base = 0, length = 0;\n var asciiNode = true;\n\n for (var i = 0; i < str.length;) {\n var c = str.codePointAt(i);\n var increment = (c <= 0xffff) ? 1 : 2;\n if (c < 128) {\n length += increment;\n } else if (lib.wc.charWidth(c) <= 1) {\n length += increment;\n asciiNode = false;\n } else {\n if (length) {\n rv.push({\n str: str.substr(base, length),\n asciiNode: asciiNode,\n });\n asciiNode = true;\n }\n rv.push({\n str: str.substr(i, increment),\n wcNode: true,\n asciiNode: false,\n });\n base = i + increment;\n length = 0;\n }\n i += increment;\n }\n\n if (length) {\n rv.push({\n str: str.substr(base, length),\n asciiNode: asciiNode,\n });\n }\n\n return rv;\n};\n// SOURCE FILE: hterm/js/hterm_vt.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors', 'lib.f', 'lib.UTF8Decoder',\n 'hterm.VT.CharacterMap');\n\n/**\n * Constructor for the VT escape sequence interpreter.\n *\n * The interpreter operates on a terminal object capable of performing cursor\n * move operations, painting characters, etc.\n *\n * This interpreter is intended to be compatible with xterm, though it\n * ignores some of the more esoteric escape sequences.\n *\n * Control sequences are documented in hterm/doc/ControlSequences.md.\n *\n * @param {hterm.Terminal} terminal Terminal to use with the interpreter.\n */\nhterm.VT = function(terminal) {\n /**\n * The display terminal object associated with this virtual terminal.\n */\n this.terminal = terminal;\n\n terminal.onMouse = this.onTerminalMouse_.bind(this);\n this.mouseReport = this.MOUSE_REPORT_DISABLED;\n\n // Parse state left over from the last parse. You should use the parseState\n // instance passed into your parse routine, rather than reading\n // this.parseState_ directly.\n this.parseState_ = new hterm.VT.ParseState(this.parseUnknown_);\n\n // Any \"leading modifiers\" for the escape sequence, such as '?', ' ', or the\n // other modifiers handled in this.parseCSI_.\n this.leadingModifier_ = '';\n\n // Any \"trailing modifiers\". Same character set as a leading modifier,\n // except these are found after the numeric arguments.\n this.trailingModifier_ = '';\n\n // Whether or not to respect the escape codes for setting terminal width.\n this.allowColumnWidthChanges_ = false;\n\n // The amount of time we're willing to wait for the end of an OSC sequence.\n this.oscTimeLimit_ = 20000;\n\n // Decoder to maintain UTF-8 decode state.\n this.utf8Decoder_ = new lib.UTF8Decoder();\n\n /**\n * Whether to accept the 8-bit control characters.\n *\n * An 8-bit control character is one with the eighth bit set. These\n * didn't work on 7-bit terminals so they all have two byte equivalents.\n * Most hosts still only use the two-byte versions.\n *\n * We ignore 8-bit control codes by default. This is in order to avoid\n * issues with \"accidental\" usage of codes that need to be terminated.\n * The \"accident\" usually involves cat'ing binary data.\n */\n this.enable8BitControl = false;\n\n /**\n * Whether to allow the OSC 52 sequence to write to the system clipboard.\n */\n this.enableClipboardWrite = true;\n\n /**\n * Respect the host's attempt to change the cursor blink status using\n * the DEC Private mode 12.\n */\n this.enableDec12 = false;\n\n /**\n * The expected encoding method for data received from the host.\n */\n this.characterEncoding = 'utf-8';\n\n /**\n * Max length of an unterminated DCS, OSC, PM or APC sequence before we give\n * up and ignore the code.\n *\n * These all end with a String Terminator (ST, '\\x9c', ESC '\\\\') or\n * (BEL, '\\x07') character, hence the \"string sequence\" moniker.\n */\n this.maxStringSequence = 1024;\n\n /**\n * If true, emit warnings when we encounter a control character or escape\n * sequence that we don't recognize or explicitly ignore.\n */\n this.warnUnimplemented = true;\n\n /**\n * The set of available character maps (used by G0...G3 below).\n */\n this.characterMaps = new hterm.VT.CharacterMaps();\n\n /**\n * The default G0...G3 character maps.\n * We default to the US/ASCII map everywhere as that aligns with other\n * terminals, and it makes it harder to accidentally switch to the graphics\n * character map (Ctrl-N). Any program that wants to use the graphics map\n * will usually select it anyways since there's no guarantee what state any\n * of the maps are in at any particular time.\n */\n this.G0 = this.G1 = this.G2 = this.G3 =\n this.characterMaps.getMap('B');\n\n /**\n * The 7-bit visible character set.\n *\n * This is a mapping from inbound data to display glyph. The GL set\n * contains the 94 bytes from 0x21 to 0x7e.\n *\n * The default GL set is 'B', US ASCII.\n */\n this.GL = 'G0';\n\n /**\n * The 8-bit visible character set.\n *\n * This is a mapping from inbound data to display glyph. The GR set\n * contains the 94 bytes from 0xa1 to 0xfe.\n */\n this.GR = 'G0';\n\n /**\n * The current encoding of the terminal.\n *\n * We only support ECMA-35 and UTF-8, so go with a boolean here.\n * The encoding can be locked too.\n */\n this.codingSystemUtf8_ = false;\n this.codingSystemLocked_ = false;\n\n // Construct a regular expression to match the known one-byte control chars.\n // This is used in parseUnknown_ to quickly scan a string for the next\n // control character.\n this.cc1Pattern_ = null;\n this.updateEncodingState_();\n\n // Saved state used in DECSC.\n //\n // This is a place to store a copy VT state, it is *not* the active state.\n this.savedState_ = new hterm.VT.CursorState(this);\n};\n\n/**\n * No mouse events.\n */\nhterm.VT.prototype.MOUSE_REPORT_DISABLED = 0;\n\n/**\n * DECSET mode 1000.\n *\n * Report mouse down/up events only.\n */\nhterm.VT.prototype.MOUSE_REPORT_CLICK = 1;\n\n/**\n * DECSET mode 1002.\n *\n * Report mouse down/up and movement while a button is down.\n */\nhterm.VT.prototype.MOUSE_REPORT_DRAG = 3;\n\n/**\n * ParseState constructor.\n *\n * This object tracks the current state of the parse. It has fields for the\n * current buffer, position in the buffer, and the parse function.\n *\n * @param {function} defaultFunc The default parser function.\n * @param {string} opt_buf Optional string to use as the current buffer.\n */\nhterm.VT.ParseState = function(defaultFunction, opt_buf) {\n this.defaultFunction = defaultFunction;\n this.buf = opt_buf || null;\n this.pos = 0;\n this.func = defaultFunction;\n this.args = [];\n};\n\n/**\n * Reset the parser function, buffer, and position.\n */\nhterm.VT.ParseState.prototype.reset = function(opt_buf) {\n this.resetParseFunction();\n this.resetBuf(opt_buf || '');\n this.resetArguments();\n};\n\n/**\n * Reset the parser function only.\n */\nhterm.VT.ParseState.prototype.resetParseFunction = function() {\n this.func = this.defaultFunction;\n};\n\n/**\n * Reset the buffer and position only.\n *\n * @param {string} buf Optional new value for buf, defaults to null.\n */\nhterm.VT.ParseState.prototype.resetBuf = function(opt_buf) {\n this.buf = (typeof opt_buf == 'string') ? opt_buf : null;\n this.pos = 0;\n};\n\n/**\n * Reset the arguments list only.\n *\n * @param {string} opt_arg_zero Optional initial value for args[0].\n */\nhterm.VT.ParseState.prototype.resetArguments = function(opt_arg_zero) {\n this.args.length = 0;\n if (typeof opt_arg_zero != 'undefined')\n this.args[0] = opt_arg_zero;\n};\n\n/**\n * Get an argument as an integer.\n *\n * @param {number} argnum The argument number to retrieve.\n */\nhterm.VT.ParseState.prototype.iarg = function(argnum, defaultValue) {\n var str = this.args[argnum];\n if (str) {\n var ret = parseInt(str, 10);\n // An argument of zero is treated as the default value.\n if (ret == 0)\n ret = defaultValue;\n return ret;\n }\n return defaultValue;\n};\n\n/**\n * Advance the parse position.\n *\n * @param {integer} count The number of bytes to advance.\n */\nhterm.VT.ParseState.prototype.advance = function(count) {\n this.pos += count;\n};\n\n/**\n * Return the remaining portion of the buffer without affecting the parse\n * position.\n *\n * @return {string} The remaining portion of the buffer.\n */\nhterm.VT.ParseState.prototype.peekRemainingBuf = function() {\n return this.buf.substr(this.pos);\n};\n\n/**\n * Return the next single character in the buffer without affecting the parse\n * position.\n *\n * @return {string} The next character in the buffer.\n */\nhterm.VT.ParseState.prototype.peekChar = function() {\n return this.buf.substr(this.pos, 1);\n};\n\n/**\n * Return the next single character in the buffer and advance the parse\n * position one byte.\n *\n * @return {string} The next character in the buffer.\n */\nhterm.VT.ParseState.prototype.consumeChar = function() {\n return this.buf.substr(this.pos++, 1);\n};\n\n/**\n * Return true if the buffer is empty, or the position is past the end.\n */\nhterm.VT.ParseState.prototype.isComplete = function() {\n return this.buf == null || this.buf.length <= this.pos;\n};\n\nhterm.VT.CursorState = function(vt) {\n this.vt_ = vt;\n this.save();\n};\n\nhterm.VT.CursorState.prototype.save = function() {\n this.cursor = this.vt_.terminal.saveCursor();\n\n this.textAttributes = this.vt_.terminal.getTextAttributes().clone();\n\n this.GL = this.vt_.GL;\n this.GR = this.vt_.GR;\n\n this.G0 = this.vt_.G0;\n this.G1 = this.vt_.G1;\n this.G2 = this.vt_.G2;\n this.G3 = this.vt_.G3;\n};\n\nhterm.VT.CursorState.prototype.restore = function() {\n this.vt_.terminal.restoreCursor(this.cursor);\n\n this.vt_.terminal.setTextAttributes(this.textAttributes.clone());\n\n this.vt_.GL = this.GL;\n this.vt_.GR = this.GR;\n\n this.vt_.G0 = this.G0;\n this.vt_.G1 = this.G1;\n this.vt_.G2 = this.G2;\n this.vt_.G3 = this.G3;\n};\n\nhterm.VT.prototype.reset = function() {\n this.G0 = this.characterMaps.getMap('B');\n this.G1 = this.characterMaps.getMap('0');\n this.G2 = this.characterMaps.getMap('B');\n this.G3 = this.characterMaps.getMap('B');\n\n this.GL = 'G0';\n this.GR = 'G0';\n\n this.savedState_ = new hterm.VT.CursorState(this);\n\n this.mouseReport = this.MOUSE_REPORT_DISABLED;\n};\n\n/**\n * Handle terminal mouse events.\n *\n * See the \"Mouse Tracking\" section of [xterm].\n */\nhterm.VT.prototype.onTerminalMouse_ = function(e) {\n if (this.mouseReport == this.MOUSE_REPORT_DISABLED)\n return;\n\n // Temporary storage for our response.\n var response;\n\n // Modifier key state.\n var mod = 0;\n if (e.shiftKey)\n mod |= 4;\n if (e.metaKey || (this.terminal.keyboard.altIsMeta && e.altKey))\n mod |= 8;\n if (e.ctrlKey)\n mod |= 16;\n\n // TODO(rginda): We should also support mode 1005 and/or 1006 to extend the\n // coordinate space. Though, after poking around just a little, I wasn't\n // able to get vi or emacs to use either of these modes.\n var x = String.fromCharCode(lib.f.clamp(e.terminalColumn + 32, 32, 255));\n var y = String.fromCharCode(lib.f.clamp(e.terminalRow + 32, 32, 255));\n\n switch (e.type) {\n case 'wheel':\n // Mouse wheel is treated as button 1 or 2 plus an additional 64.\n b = (((e.deltaY * -1) > 0) ? 0 : 1) + 96;\n b |= mod;\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n\n // Keep the terminal from scrolling.\n e.preventDefault();\n break;\n\n case 'mousedown':\n // Buttons are encoded as button number plus 32.\n var b = Math.min(e.button, 2) + 32;\n\n // And mix in the modifier keys.\n b |= mod;\n\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n break;\n\n case 'mouseup':\n // Mouse up has no indication of which button was released.\n response = '\\x1b[M\\x23' + x + y;\n break;\n\n case 'mousemove':\n if (this.mouseReport == this.MOUSE_REPORT_DRAG && e.buttons) {\n // Standard button bits. The XTerm protocol only reports the first\n // button press (e.g. if left & right are pressed, right is ignored),\n // and it only supports the first three buttons. If none of them are\n // pressed, then XTerm flags it as a release. We'll do the same.\n b = 32;\n\n // Priority here matches XTerm: left, middle, right.\n if (e.buttons & 0x1) {\n // Report left button.\n b += 0;\n } else if (e.buttons & 0x4) {\n // Report middle button.\n b += 1;\n } else if (e.buttons & 0x2) {\n // Report right button.\n b += 2;\n } else {\n // Release higher buttons.\n b += 3;\n }\n\n // Add 32 to indicate mouse motion.\n b += 32;\n\n // And mix in the modifier keys.\n b |= mod;\n\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n }\n\n break;\n\n case 'click':\n case 'dblclick':\n break;\n\n default:\n console.error('Unknown mouse event: ' + e.type, e);\n break;\n }\n\n if (response)\n this.terminal.io.sendString(response);\n};\n\n/**\n * Interpret a string of characters, displaying the results on the associated\n * terminal object.\n *\n * The buffer will be decoded according to the 'receive-encoding' preference.\n */\nhterm.VT.prototype.interpret = function(buf) {\n this.parseState_.resetBuf(this.decode(buf));\n\n while (!this.parseState_.isComplete()) {\n var func = this.parseState_.func;\n var pos = this.parseState_.pos;\n var buf = this.parseState_.buf;\n\n this.parseState_.func.call(this, this.parseState_);\n\n if (this.parseState_.func == func && this.parseState_.pos == pos &&\n this.parseState_.buf == buf) {\n throw 'Parser did not alter the state!';\n }\n }\n};\n\n/**\n * Decode a string according to the 'receive-encoding' preference.\n */\nhterm.VT.prototype.decode = function(str) {\n if (this.characterEncoding == 'utf-8')\n return this.decodeUTF8(str);\n\n return str;\n};\n\n/**\n * Encode a UTF-16 string as UTF-8.\n *\n * See also: https://en.wikipedia.org/wiki/UTF-16\n */\nhterm.VT.prototype.encodeUTF8 = function(str) {\n return lib.encodeUTF8(str);\n};\n\n/**\n * Decode a UTF-8 string into UTF-16.\n */\nhterm.VT.prototype.decodeUTF8 = function(str) {\n return this.utf8Decoder_.decode(str);\n};\n\n/**\n * Set the encoding of the terminal.\n *\n * @param {string} encoding The name of the encoding to set.\n */\nhterm.VT.prototype.setEncoding = function(encoding) {\n switch (encoding) {\n default:\n console.warn('Invalid value for \"terminal-encoding\": ' + encoding);\n // Fall through.\n case 'iso-2022':\n this.codingSystemUtf8_ = false;\n this.codingSystemLocked_ = false;\n break;\n case 'utf-8-locked':\n this.codingSystemUtf8_ = true;\n this.codingSystemLocked_ = true;\n break;\n case 'utf-8':\n this.codingSystemUtf8_ = true;\n this.codingSystemLocked_ = false;\n break;\n }\n\n this.updateEncodingState_();\n};\n\n/**\n * Refresh internal state when the encoding changes.\n */\nhterm.VT.prototype.updateEncodingState_ = function() {\n // If we're in UTF8 mode, don't suport 8-bit escape sequences as we'll never\n // see those -- everything should be UTF8!\n var cc1 = Object.keys(hterm.VT.CC1)\n .filter((e) => !this.codingSystemUtf8_ || e.charCodeAt() < 0x80)\n .map((e) => '\\\\x' + lib.f.zpad(e.charCodeAt().toString(16), 2))\n .join('');\n this.cc1Pattern_ = new RegExp(`[${cc1}]`);\n};\n\n/**\n * The default parse function.\n *\n * This will scan the string for the first 1-byte control character (C0/C1\n * characters from [CTRL]). Any plain text coming before the code will be\n * printed to the terminal, then the control character will be dispatched.\n */\nhterm.VT.prototype.parseUnknown_ = function(parseState) {\n var self = this;\n\n function print(str) {\n if (!self.codingSystemUtf8_ && self[self.GL].GL)\n str = self[self.GL].GL(str);\n\n self.terminal.print(str);\n };\n\n // Search for the next contiguous block of plain text.\n var buf = parseState.peekRemainingBuf();\n var nextControl = buf.search(this.cc1Pattern_);\n\n if (nextControl == 0) {\n // We've stumbled right into a control character.\n this.dispatch('CC1', buf.substr(0, 1), parseState);\n parseState.advance(1);\n return;\n }\n\n if (nextControl == -1) {\n // There are no control characters in this string.\n print(buf);\n parseState.reset();\n return;\n }\n\n print(buf.substr(0, nextControl));\n this.dispatch('CC1', buf.substr(nextControl, 1), parseState);\n parseState.advance(nextControl + 1);\n};\n\n/**\n * Parse a Control Sequence Introducer code and dispatch it.\n *\n * See [CSI] for some useful information about these codes.\n */\nhterm.VT.prototype.parseCSI_ = function(parseState) {\n var ch = parseState.peekChar();\n var args = parseState.args;\n\n if (ch >= '@' && ch <= '~') {\n // This is the final character.\n this.dispatch('CSI', this.leadingModifier_ + this.trailingModifier_ + ch,\n parseState);\n parseState.resetParseFunction();\n\n } else if (ch == ';') {\n // Parameter delimiter.\n if (this.trailingModifier_) {\n // Parameter delimiter after the trailing modifier. That's a paddlin'.\n parseState.resetParseFunction();\n\n } else {\n if (!args.length) {\n // They omitted the first param, we need to supply it.\n args.push('');\n }\n\n args.push('');\n }\n\n } else if (ch >= '0' && ch <= '9') {\n // Next byte in the current parameter.\n\n if (this.trailingModifier_) {\n // Numeric parameter after the trailing modifier. That's a paddlin'.\n parseState.resetParseFunction();\n } else {\n if (!args.length) {\n args[0] = ch;\n } else {\n args[args.length - 1] += ch;\n }\n }\n\n } else if (ch >= ' ' && ch <= '?' && ch != ':') {\n // Modifier character.\n if (!args.length) {\n this.leadingModifier_ += ch;\n } else {\n this.trailingModifier_ += ch;\n }\n\n } else if (this.cc1Pattern_.test(ch)) {\n // Control character.\n this.dispatch('CC1', ch, parseState);\n\n } else {\n // Unexpected character in sequence, bail out.\n parseState.resetParseFunction();\n }\n\n parseState.advance(1);\n};\n\n/**\n * Skip over the string until the next String Terminator (ST, 'ESC \\') or\n * Bell (BEL, '\\x07').\n *\n * The string is accumulated in parseState.args[0]. Make sure to reset the\n * arguments (with parseState.resetArguments) before starting the parse.\n *\n * You can detect that parsing in complete by checking that the parse\n * function has changed back to the default parse function.\n *\n * If we encounter more than maxStringSequence characters, we send back\n * the unterminated sequence to be re-parsed with the default parser function.\n *\n * @return {boolean} If true, parsing is ongoing or complete. If false, we've\n * exceeded the max string sequence.\n */\nhterm.VT.prototype.parseUntilStringTerminator_ = function(parseState) {\n var buf = parseState.peekRemainingBuf();\n var nextTerminator = buf.search(/(\\x1b\\\\|\\x07)/);\n var args = parseState.args;\n\n if (!args.length) {\n args[0] = '';\n args[1] = new Date();\n }\n\n if (nextTerminator == -1) {\n // No terminator here, have to wait for the next string.\n\n args[0] += buf;\n\n var abortReason;\n\n if (args[0].length > this.maxStringSequence)\n abortReason = 'too long: ' + args[0].length;\n\n if (args[0].indexOf('\\x1b') != -1)\n abortReason = 'embedded escape: ' + args[0].indexOf('\\x1b');\n\n if (new Date() - args[1] > this.oscTimeLimit_)\n abortReason = 'timeout expired: ' + new Date() - args[1];\n\n if (abortReason) {\n console.log('parseUntilStringTerminator_: aborting: ' + abortReason,\n args[0]);\n parseState.reset(args[0]);\n return false;\n }\n\n parseState.advance(buf.length);\n return true;\n }\n\n if (args[0].length + nextTerminator > this.maxStringSequence) {\n // We found the end of the sequence, but we still think it's too long.\n parseState.reset(args[0] + buf);\n return false;\n }\n\n args[0] += buf.substr(0, nextTerminator);\n\n parseState.resetParseFunction();\n parseState.advance(nextTerminator +\n (buf.substr(nextTerminator, 1) == '\\x1b' ? 2 : 1));\n\n return true;\n};\n\n/**\n * Dispatch to the function that handles a given CC1, ESC, or CSI or VT52 code.\n */\nhterm.VT.prototype.dispatch = function(type, code, parseState) {\n var handler = hterm.VT[type][code];\n if (!handler) {\n if (this.warnUnimplemented)\n console.warn('Unknown ' + type + ' code: ' + JSON.stringify(code));\n return;\n }\n\n if (handler == hterm.VT.ignore) {\n if (this.warnUnimplemented)\n console.warn('Ignored ' + type + ' code: ' + JSON.stringify(code));\n return;\n }\n\n if (type == 'CC1' && code > '\\x7f' && !this.enable8BitControl) {\n // It's kind of a hack to put this here, but...\n //\n // If we're dispatching a 'CC1' code, and it's got the eighth bit set,\n // but we're not supposed to handle 8-bit codes? Just ignore it.\n //\n // This prevents an errant (DCS, '\\x90'), (OSC, '\\x9d'), (PM, '\\x9e') or\n // (APC, '\\x9f') from locking up the terminal waiting for its expected\n // (ST, '\\x9c') or (BEL, '\\x07').\n console.warn('Ignoring 8-bit control code: 0x' +\n code.charCodeAt(0).toString(16));\n return;\n }\n\n handler.apply(this, [parseState, code]);\n};\n\n/**\n * Set one of the ANSI defined terminal mode bits.\n *\n * Invoked in response to SM/RM.\n *\n * Unexpected and unimplemented values are silently ignored.\n */\nhterm.VT.prototype.setANSIMode = function(code, state) {\n if (code == 4) { // Insert Mode (IRM)\n this.terminal.setInsertMode(state);\n } else if (code == 20) { // Automatic Newline (LNM)\n this.terminal.setAutoCarriageReturn(state);\n } else if (this.warnUnimplemented) {\n console.warn('Unimplemented ANSI Mode: ' + code);\n }\n};\n\n/**\n * Set or reset one of the DEC Private modes.\n *\n * Invoked in response to DECSET/DECRST.\n */\nhterm.VT.prototype.setDECMode = function(code, state) {\n switch (parseInt(code, 10)) {\n case 1: // DECCKM\n this.terminal.keyboard.applicationCursor = state;\n break;\n\n case 3: // DECCOLM\n if (this.allowColumnWidthChanges_) {\n this.terminal.setWidth(state ? 132 : 80);\n\n this.terminal.clearHome();\n this.terminal.setVTScrollRegion(null, null);\n }\n break;\n\n case 5: // DECSCNM\n this.terminal.setReverseVideo(state);\n break;\n\n case 6: // DECOM\n this.terminal.setOriginMode(state);\n break;\n\n case 7: // DECAWM\n this.terminal.setWraparound(state);\n break;\n\n case 12: // Start blinking cursor\n if (this.enableDec12)\n this.terminal.setCursorBlink(state);\n break;\n\n case 25: // DECTCEM\n this.terminal.setCursorVisible(state);\n break;\n\n case 30: // Show scrollbar\n this.terminal.setScrollbarVisible(state);\n break;\n\n case 40: // Allow 80 - 132 (DECCOLM) Mode\n this.terminal.allowColumnWidthChanges_ = state;\n break;\n\n case 45: // Reverse-wraparound Mode\n this.terminal.setReverseWraparound(state);\n break;\n\n case 67: // Backarrow key sends backspace (DECBKM)\n this.terminal.keyboard.backspaceSendsBackspace = state;\n break;\n\n case 1000: // Report on mouse clicks only.\n this.mouseReport = (\n state ? this.MOUSE_REPORT_CLICK : this.MOUSE_REPORT_DISABLED);\n this.terminal.syncMouseStyle();\n break;\n\n case 1002: // Report on mouse clicks and drags\n this.mouseReport = (\n state ? this.MOUSE_REPORT_DRAG : this.MOUSE_REPORT_DISABLED);\n this.terminal.syncMouseStyle();\n break;\n\n case 1010: // Scroll to bottom on tty output\n this.terminal.scrollOnOutput = state;\n break;\n\n case 1011: // Scroll to bottom on key press\n this.terminal.scrollOnKeystroke = state;\n break;\n\n case 1036: // Send ESC when Meta modifies a key\n this.terminal.keyboard.metaSendsEscape = state;\n break;\n\n case 1039: // Send ESC when Alt modifies a key\n if (state) {\n if (!this.terminal.keyboard.previousAltSendsWhat_) {\n this.terminal.keyboard.previousAltSendsWhat_ =\n this.terminal.keyboard.altSendsWhat;\n this.terminal.keyboard.altSendsWhat = 'escape';\n }\n } else if (this.terminal.keyboard.previousAltSendsWhat_) {\n this.terminal.keyboard.altSendsWhat =\n this.terminal.keyboard.previousAltSendsWhat_;\n this.terminal.keyboard.previousAltSendsWhat_ = null;\n }\n break;\n\n case 47: // Use Alternate Screen Buffer\n case 1047:\n this.terminal.setAlternateMode(state);\n break;\n\n case 1048: // Save cursor as in DECSC.\n this.savedState_.save();\n\n case 1049: // 1047 + 1048 + clear.\n if (state) {\n this.savedState_.save();\n this.terminal.setAlternateMode(state);\n this.terminal.clear();\n } else {\n this.terminal.setAlternateMode(state);\n this.savedState_.restore();\n }\n\n break;\n\n case 2004: // Bracketed paste mode.\n this.terminal.setBracketedPaste(state);\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unimplemented DEC Private Mode: ' + code);\n break;\n }\n};\n\n/**\n * Function shared by control characters and escape sequences that are\n * ignored.\n */\nhterm.VT.ignore = function() {};\n\n/**\n * Collection of control characters expressed in a single byte.\n *\n * This includes the characters from the C0 and C1 sets (see [CTRL]) that we\n * care about. Two byte versions of the C1 codes are defined in the\n * hterm.VT.ESC collection.\n *\n * The 'CC1' mnemonic here refers to the fact that these are one-byte Control\n * Codes. It's only used in this source file and not defined in any of the\n * referenced documents.\n */\nhterm.VT.CC1 = {};\n\n/**\n * Collection of two-byte and three-byte sequences starting with ESC.\n */\nhterm.VT.ESC = {};\n\n/**\n * Collection of CSI (Control Sequence Introducer) sequences.\n *\n * These sequences begin with 'ESC [', and may take zero or more arguments.\n */\nhterm.VT.CSI = {};\n\n/**\n * Collection of OSC (Operating System Control) sequences.\n *\n * These sequences begin with 'ESC ]', followed by a function number and a\n * string terminated by either ST or BEL.\n */\nhterm.VT.OSC = {};\n\n/**\n * Collection of VT52 sequences.\n *\n * When in VT52 mode, other sequences are disabled.\n */\nhterm.VT.VT52 = {};\n\n/**\n * Null (NUL).\n *\n * Silently ignored.\n */\nhterm.VT.CC1['\\x00'] = hterm.VT.ignore;\n\n/**\n * Enquiry (ENQ).\n *\n * Transmit answerback message.\n *\n * The default answerback message in xterm is an empty string, so we just\n * ignore this.\n */\nhterm.VT.CC1['\\x05'] = hterm.VT.ignore;\n\n/**\n * Ring Bell (BEL).\n */\nhterm.VT.CC1['\\x07'] = function() {\n this.terminal.ringBell();\n};\n\n/**\n * Backspace (BS).\n *\n * Move the cursor to the left one character position, unless it is at the\n * left margin, in which case no action occurs.\n */\nhterm.VT.CC1['\\x08'] = function() {\n this.terminal.cursorLeft(1);\n};\n\n/**\n * Horizontal Tab (HT).\n *\n * Move the cursor to the next tab stop, or to the right margin if no further\n * tab stops are present on the line.\n */\nhterm.VT.CC1['\\x09'] = function() {\n this.terminal.forwardTabStop();\n};\n\n/**\n * Line Feed (LF).\n *\n * This code causes a line feed or a new line operation. See Automatic\n * Newline (LNM).\n */\nhterm.VT.CC1['\\x0a'] = function() {\n this.terminal.formFeed();\n};\n\n/**\n * Vertical Tab (VT).\n *\n * Interpreted as LF.\n */\nhterm.VT.CC1['\\x0b'] = hterm.VT.CC1['\\x0a'];\n\n/**\n * Form Feed (FF).\n *\n * Interpreted as LF.\n */\nhterm.VT.CC1['\\x0c'] = hterm.VT.CC1['\\x0a'];\n\n/**\n * Carriage Return (CR).\n *\n * Move cursor to the left margin on the current line.\n */\nhterm.VT.CC1['\\x0d'] = function() {\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Shift Out (SO), aka Lock Shift 0 (LS1).\n *\n * Invoke G1 character set in GL.\n */\nhterm.VT.CC1['\\x0e'] = function() {\n this.GL = 'G1';\n};\n\n/**\n * Shift In (SI), aka Lock Shift 0 (LS0).\n *\n * Invoke G0 character set in GL.\n */\nhterm.VT.CC1['\\x0f'] = function() {\n this.GL = 'G0';\n};\n\n/**\n * Transmit On (XON).\n *\n * Not currently implemented.\n *\n * TODO(rginda): Implement?\n */\nhterm.VT.CC1['\\x11'] = hterm.VT.ignore;\n\n/**\n * Transmit Off (XOFF).\n *\n * Not currently implemented.\n *\n * TODO(rginda): Implement?\n */\nhterm.VT.CC1['\\x13'] = hterm.VT.ignore;\n\n/**\n * Cancel (CAN).\n *\n * If sent during a control sequence, the sequence is immediately terminated\n * and not executed.\n *\n * It also causes the error character to be displayed.\n */\nhterm.VT.CC1['\\x18'] = function(parseState) {\n // If we've shifted in the G1 character set, shift it back out to\n // the default character set.\n if (this.GL == 'G1') {\n this.GL = 'G0';\n }\n parseState.resetParseFunction();\n this.terminal.print('?');\n};\n\n/**\n * Substitute (SUB).\n *\n * Interpreted as CAN.\n */\nhterm.VT.CC1['\\x1a'] = hterm.VT.CC1['\\x18'];\n\n/**\n * Escape (ESC).\n */\nhterm.VT.CC1['\\x1b'] = function(parseState) {\n function parseESC(parseState) {\n var ch = parseState.consumeChar();\n\n if (ch == '\\x1b')\n return;\n\n this.dispatch('ESC', ch, parseState);\n\n if (parseState.func == parseESC)\n parseState.resetParseFunction();\n };\n\n parseState.func = parseESC;\n};\n\n/**\n * Delete (DEL).\n */\nhterm.VT.CC1['\\x7f'] = hterm.VT.ignore;\n\n// 8 bit control characters and their two byte equivalents, below...\n\n/**\n * Index (IND).\n *\n * Like newline, only keep the X position\n */\nhterm.VT.CC1['\\x84'] =\nhterm.VT.ESC['D'] = function() {\n this.terminal.lineFeed();\n};\n\n/**\n * Next Line (NEL).\n *\n * Like newline, but doesn't add lines.\n */\nhterm.VT.CC1['\\x85'] =\nhterm.VT.ESC['E'] = function() {\n this.terminal.setCursorColumn(0);\n this.terminal.cursorDown(1);\n};\n\n/**\n * Horizontal Tabulation Set (HTS).\n */\nhterm.VT.CC1['\\x88'] =\nhterm.VT.ESC['H'] = function() {\n this.terminal.setTabStop(this.terminal.getCursorColumn());\n};\n\n/**\n * Reverse Index (RI).\n *\n * Move up one line.\n */\nhterm.VT.CC1['\\x8d'] =\nhterm.VT.ESC['M'] = function() {\n this.terminal.reverseLineFeed();\n};\n\n/**\n * Single Shift 2 (SS2).\n *\n * Select of G2 Character Set for the next character only.\n *\n * Not currently implemented.\n */\nhterm.VT.CC1['\\x8e'] =\nhterm.VT.ESC['N'] = hterm.VT.ignore;\n\n/**\n * Single Shift 3 (SS3).\n *\n * Select of G3 Character Set for the next character only.\n *\n * Not currently implemented.\n */\nhterm.VT.CC1['\\x8f'] =\nhterm.VT.ESC['O'] = hterm.VT.ignore;\n\n/**\n * Device Control String (DCS).\n *\n * Indicate a DCS sequence. See Device-Control functions in [XTERM].\n * Not currently implemented.\n *\n * TODO(rginda): Consider implementing DECRQSS, the rest don't seem applicable.\n */\nhterm.VT.CC1['\\x90'] =\nhterm.VT.ESC['P'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * Start of Guarded Area (SPA).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x96'] =\nhterm.VT.ESC['V'] = hterm.VT.ignore;\n\n/**\n * End of Guarded Area (EPA).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x97'] =\nhterm.VT.ESC['W'] = hterm.VT.ignore;\n\n/**\n * Start of String (SOS).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x98'] =\nhterm.VT.ESC['X'] = hterm.VT.ignore;\n\n/**\n * Single Character Introducer (SCI, also DECID).\n *\n * Return Terminal ID. Obsolete form of 'ESC [ c' (DA).\n */\nhterm.VT.CC1['\\x9a'] =\nhterm.VT.ESC['Z'] = function() {\n this.terminal.io.sendString('\\x1b[?1;2c');\n};\n\n/**\n * Control Sequence Introducer (CSI).\n *\n * The lead into most escape sequences. See [CSI].\n */\nhterm.VT.CC1['\\x9b'] =\nhterm.VT.ESC['['] = function(parseState) {\n parseState.resetArguments();\n this.leadingModifier_ = '';\n this.trailingModifier_ = '';\n parseState.func = this.parseCSI_;\n};\n\n/**\n * String Terminator (ST).\n *\n * Used to terminate DCS/OSC/PM/APC commands which may take string arguments.\n *\n * We don't directly handle it here, as it's only used to terminate other\n * sequences. See the 'parseUntilStringTerminator_' method.\n */\nhterm.VT.CC1['\\x9c'] =\nhterm.VT.ESC['\\\\'] = hterm.VT.ignore;\n\n/**\n * Operating System Command (OSC).\n *\n * Commands relating to the operating system.\n */\nhterm.VT.CC1['\\x9d'] =\nhterm.VT.ESC[']'] = function(parseState) {\n parseState.resetArguments();\n\n function parseOSC(parseState) {\n if (!this.parseUntilStringTerminator_(parseState)) {\n // The string sequence was too long.\n return;\n }\n\n if (parseState.func == parseOSC) {\n // We're not done parsing the string yet.\n return;\n }\n\n // We're done.\n var ary = parseState.args[0].match(/^(\\d+);(.*)$/);\n if (ary) {\n parseState.args[0] = ary[2];\n this.dispatch('OSC', ary[1], parseState);\n } else {\n console.warn('Invalid OSC: ' + JSON.stringify(parseState.args[0]));\n }\n };\n\n parseState.func = parseOSC;\n};\n\n/**\n * Privacy Message (PM).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x9e'] =\nhterm.VT.ESC['^'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * Application Program Control (APC).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x9f'] =\nhterm.VT.ESC['_'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * ESC \\x20 - Unclear to me where these originated, possibly in xterm.\n *\n * Not currently implemented:\n * ESC \\x20 F - Select 7 bit escape codes in responses (S7C1T).\n * ESC \\x20 G - Select 8 bit escape codes in responses (S8C1T).\n * NB: We currently assume S7C1T always.\n *\n * Will not implement:\n * ESC \\x20 L - Set ANSI conformance level 1.\n * ESC \\x20 M - Set ANSI conformance level 2.\n * ESC \\x20 N - Set ANSI conformance level 3.\n */\nhterm.VT.ESC['\\x20'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (this.warnUnimplemented)\n console.warn('Unimplemented sequence: ESC 0x20 ' + ch);\n parseState.resetParseFunction();\n };\n};\n\n/**\n * DEC 'ESC #' sequences.\n */\nhterm.VT.ESC['#'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (ch == '8') // DEC Screen Alignment Test (DECALN)\n this.terminal.fill('E');\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Designate Other Coding System (DOCS).\n */\nhterm.VT.ESC['%'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n\n // If we've locked the encoding, then just eat the bytes and return.\n if (this.codingSystemLocked_) {\n if (ch == '/')\n parseState.consumeChar();\n parseState.resetParseFunction();\n return;\n }\n\n // Process the encoding requests.\n switch (ch) {\n case '@':\n // Switch to ECMA 35.\n this.setEncoding('iso-2022');\n break;\n\n case 'G':\n // Switch to UTF-8.\n this.setEncoding('utf-8');\n break;\n\n case '/':\n // One way transition to something else.\n ch = parseState.consumeChar();\n switch (ch) {\n case 'G': // UTF-8 Level 1.\n case 'H': // UTF-8 Level 2.\n case 'I': // UTF-8 Level 3.\n // We treat all UTF-8 levels the same.\n this.setEncoding('utf-8-locked');\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unknown ESC % / argument: ' + JSON.stringify(ch));\n break;\n }\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unknown ESC % argument: ' + JSON.stringify(ch));\n break;\n }\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Character Set Selection (SCS).\n *\n * ESC ( Ps - Set G0 character set (VT100).\n * ESC ) Ps - Set G1 character set (VT220).\n * ESC * Ps - Set G2 character set (VT220).\n * ESC + Ps - Set G3 character set (VT220).\n * ESC - Ps - Set G1 character set (VT300).\n * ESC . Ps - Set G2 character set (VT300).\n * ESC / Ps - Set G3 character set (VT300).\n *\n * All other sequences are echoed to the terminal.\n */\nhterm.VT.ESC['('] =\nhterm.VT.ESC[')'] =\nhterm.VT.ESC['*'] =\nhterm.VT.ESC['+'] =\nhterm.VT.ESC['-'] =\nhterm.VT.ESC['.'] =\nhterm.VT.ESC['/'] = function(parseState, code) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (ch == '\\x1b') {\n parseState.resetParseFunction();\n parseState.func();\n return;\n }\n\n var map = this.characterMaps.getMap(ch);\n if (map !== undefined) {\n if (code == '(') {\n this.G0 = map;\n } else if (code == ')' || code == '-') {\n this.G1 = map;\n } else if (code == '*' || code == '.') {\n this.G2 = map;\n } else if (code == '+' || code == '/') {\n this.G3 = map;\n }\n } else if (this.warnUnimplemented) {\n console.log('Invalid character set for \"' + code + '\": ' + ch);\n }\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Back Index (DECBI).\n *\n * VT420 and up. Not currently implemented.\n */\nhterm.VT.ESC['6'] = hterm.VT.ignore;\n\n/**\n * Save Cursor (DECSC).\n */\nhterm.VT.ESC['7'] = function() {\n this.savedState_.save();\n};\n\n/**\n * Restore Cursor (DECRC).\n */\nhterm.VT.ESC['8'] = function() {\n this.savedState_.restore();\n};\n\n/**\n * Forward Index (DECFI).\n *\n * VT210 and up. Not currently implemented.\n */\nhterm.VT.ESC['9'] = hterm.VT.ignore;\n\n/**\n * Application keypad (DECKPAM).\n */\nhterm.VT.ESC['='] = function() {\n this.terminal.keyboard.applicationKeypad = true;\n};\n\n/**\n * Normal keypad (DECKPNM).\n */\nhterm.VT.ESC['>'] = function() {\n this.terminal.keyboard.applicationKeypad = false;\n};\n\n/**\n * Cursor to lower left corner of screen.\n *\n * Will not implement.\n *\n * This is only recognized by xterm when the hpLowerleftBugCompat resource is\n * set.\n */\nhterm.VT.ESC['F'] = hterm.VT.ignore;\n\n/**\n * Full Reset (RIS).\n */\nhterm.VT.ESC['c'] = function() {\n this.reset();\n this.terminal.reset();\n};\n\n/**\n * Memory lock/unlock.\n *\n * Will not implement.\n */\nhterm.VT.ESC['l'] =\nhterm.VT.ESC['m'] = hterm.VT.ignore;\n\n/**\n * Lock Shift 2 (LS2)\n *\n * Invoke the G2 Character Set as GL.\n */\nhterm.VT.ESC['n'] = function() {\n this.GL = 'G2';\n};\n\n/**\n * Lock Shift 3 (LS3)\n *\n * Invoke the G3 Character Set as GL.\n */\nhterm.VT.ESC['o'] = function() {\n this.GL = 'G3';\n};\n\n/**\n * Lock Shift 2, Right (LS3R)\n *\n * Invoke the G3 Character Set as GR.\n */\nhterm.VT.ESC['|'] = function() {\n this.GR = 'G3';\n};\n\n/**\n * Lock Shift 2, Right (LS2R)\n *\n * Invoke the G2 Character Set as GR.\n */\nhterm.VT.ESC['}'] = function() {\n this.GR = 'G2';\n};\n\n/**\n * Lock Shift 1, Right (LS1R)\n *\n * Invoke the G1 Character Set as GR.\n */\nhterm.VT.ESC['~'] = function() {\n this.GR = 'G1';\n};\n\n/**\n * Change icon name and window title.\n *\n * We only change the window title.\n */\nhterm.VT.OSC['0'] = function(parseState) {\n this.terminal.setWindowTitle(parseState.args[0]);\n};\n\n/**\n * Change window title.\n */\nhterm.VT.OSC['2'] = hterm.VT.OSC['0'];\n\n/**\n * Set/read color palette.\n */\nhterm.VT.OSC['4'] = function(parseState) {\n // Args come in as a single 'index1;rgb1 ... ;indexN;rgbN' string.\n // We split on the semicolon and iterate through the pairs.\n var args = parseState.args[0].split(';');\n\n var pairCount = parseInt(args.length / 2);\n var colorPalette = this.terminal.getTextAttributes().colorPalette;\n var responseArray = [];\n\n for (var pairNumber = 0; pairNumber < pairCount; ++pairNumber) {\n var colorIndex = parseInt(args[pairNumber * 2]);\n var colorValue = args[pairNumber * 2 + 1];\n\n if (colorIndex >= colorPalette.length)\n continue;\n\n if (colorValue == '?') {\n // '?' means we should report back the current color value.\n colorValue = lib.colors.rgbToX11(colorPalette[colorIndex]);\n if (colorValue)\n responseArray.push(colorIndex + ';' + colorValue);\n\n continue;\n }\n\n colorValue = lib.colors.x11ToCSS(colorValue);\n if (colorValue)\n colorPalette[colorIndex] = colorValue;\n }\n\n if (responseArray.length)\n this.terminal.io.sendString('\\x1b]4;' + responseArray.join(';') + '\\x07');\n};\n\n/**\n * iTerm2 growl notifications.\n */\nhterm.VT.OSC['9'] = function(parseState) {\n // This just dumps the entire string as the message.\n hterm.notify({'body': parseState.args[0]});\n};\n\n/**\n * Change VT100 text foreground color.\n */\nhterm.VT.OSC['10'] = function(parseState) {\n // Args come in as a single string, but extra args will chain to the following\n // OSC sequences.\n var args = parseState.args[0].split(';');\n if (!args)\n return;\n\n var colorArg;\n var colorX11 = lib.colors.x11ToCSS(args.shift());\n if (colorX11)\n this.terminal.setForegroundColor(colorX11);\n\n if (args.length > 0) {\n parseState.args[0] = args.join(';');\n hterm.VT.OSC['11'].apply(this, [parseState]);\n }\n};\n\n/**\n * Change VT100 text background color.\n */\nhterm.VT.OSC['11'] = function(parseState) {\n // Args come in as a single string, but extra args will chain to the following\n // OSC sequences.\n var args = parseState.args[0].split(';');\n if (!args)\n return;\n\n var colorArg;\n var colorX11 = lib.colors.x11ToCSS(args.shift());\n if (colorX11)\n this.terminal.setBackgroundColor(colorX11);\n\n /* Note: If we support OSC 12+, we'd chain it here.\n if (args.length > 0) {\n parseState.args[0] = args.join(';');\n hterm.VT.OSC['12'].apply(this, [parseState]);\n }\n */\n};\n\n/**\n * Set the cursor shape.\n *\n * Parameter is expected to be in the form \"CursorShape=number\", where number is\n * one of:\n *\n * 0 - Block\n * 1 - I-Beam\n * 2 - Underline\n *\n * This is a bit of a de-facto standard supported by iTerm 2 and Konsole. See\n * also: DECSCUSR.\n *\n * Invalid numbers will restore the cursor to the block shape.\n */\nhterm.VT.OSC['50'] = function(parseState) {\n var args = parseState.args[0].match(/CursorShape=(.)/i);\n if (!args) {\n console.warn('Could not parse OSC 50 args: ' + parseState.args[0]);\n return;\n }\n\n switch (args[1]) {\n case '1': // CursorShape=1: I-Beam.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n break;\n\n case '2': // CursorShape=2: Underline.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n break;\n\n default: // CursorShape=0: Block.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n }\n};\n\n/**\n * Set/read system clipboard.\n *\n * Read is not implemented due to security considerations. A remote app\n * that is able to both write and read to the clipboard could essentially\n * take over your session.\n *\n * The clipboard data will be decoded according to the 'receive-encoding'\n * preference.\n */\nhterm.VT.OSC['52'] = function(parseState) {\n // Args come in as a single 'clipboard;b64-data' string. The clipboard\n // parameter is used to select which of the X clipboards to address. Since\n // we're not integrating with X, we treat them all the same.\n var args = parseState.args[0].match(/^[cps01234567]*;(.*)/);\n if (!args)\n return;\n\n var data = window.atob(args[1]);\n if (data)\n this.terminal.copyStringToClipboard(this.decode(data));\n};\n\n/**\n * URxvt perl modules.\n *\n * This is the escape system used by rxvt-unicode and its perl modules.\n * Obviously we don't support perl or custom modules, so we list a few common\n * ones that we find useful.\n *\n * Technically there is no format here, but most modules obey:\n * ;\n */\nhterm.VT.OSC['777'] = function(parseState) {\n var ary;\n var urxvtMod = parseState.args[0].split(';', 1)[0];\n\n switch (urxvtMod) {\n case 'notify':\n // Format:\n // notify;title;message\n var title, message;\n ary = parseState.args[0].match(/^[^;]+;([^;]*)(;([\\s\\S]*))?$/);\n if (ary) {\n title = ary[1];\n message = ary[3];\n }\n hterm.notify({'title': title, 'body': message});\n break;\n\n default:\n console.warn('Unknown urxvt module: ' + parseState.args[0]);\n break;\n }\n};\n\n/**\n * Insert (blank) characters (ICH).\n */\nhterm.VT.CSI['@'] = function(parseState) {\n this.terminal.insertSpace(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Up (CUU).\n */\nhterm.VT.CSI['A'] = function(parseState) {\n this.terminal.cursorUp(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Down (CUD).\n */\nhterm.VT.CSI['B'] = function(parseState) {\n this.terminal.cursorDown(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Forward (CUF).\n */\nhterm.VT.CSI['C'] = function(parseState) {\n this.terminal.cursorRight(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Backward (CUB).\n */\nhterm.VT.CSI['D'] = function(parseState) {\n this.terminal.cursorLeft(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Next Line (CNL).\n *\n * This is like Cursor Down, except the cursor moves to the beginning of the\n * line as well.\n */\nhterm.VT.CSI['E'] = function(parseState) {\n this.terminal.cursorDown(parseState.iarg(0, 1));\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Cursor Preceding Line (CPL).\n *\n * This is like Cursor Up, except the cursor moves to the beginning of the\n * line as well.\n */\nhterm.VT.CSI['F'] = function(parseState) {\n this.terminal.cursorUp(parseState.iarg(0, 1));\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Cursor Character Absolute (CHA).\n */\nhterm.VT.CSI['G'] = function(parseState) {\n this.terminal.setCursorColumn(parseState.iarg(0, 1) - 1);\n};\n\n/**\n * Cursor Position (CUP).\n */\nhterm.VT.CSI['H'] = function(parseState) {\n this.terminal.setCursorPosition(parseState.iarg(0, 1) - 1,\n parseState.iarg(1, 1) - 1);\n};\n\n/**\n * Cursor Forward Tabulation (CHT).\n */\nhterm.VT.CSI['I'] = function(parseState) {\n var count = parseState.iarg(0, 1);\n count = lib.f.clamp(count, 1, this.terminal.screenSize.width);\n for (var i = 0; i < count; i++) {\n this.terminal.forwardTabStop();\n }\n};\n\n/**\n * Erase in Display (ED, DECSED).\n */\nhterm.VT.CSI['J'] =\nhterm.VT.CSI['?J'] = function(parseState, code) {\n var arg = parseState.args[0];\n\n if (!arg || arg == 0) {\n this.terminal.eraseBelow();\n } else if (arg == 1) {\n this.terminal.eraseAbove();\n } else if (arg == 2) {\n this.terminal.clear();\n } else if (arg == 3) {\n // The xterm docs say this means \"Erase saved lines\", but we'll just clear\n // the display since killing the scrollback seems rude.\n this.terminal.clear();\n }\n};\n\n/**\n * Erase in line (EL, DECSEL).\n */\nhterm.VT.CSI['K'] =\nhterm.VT.CSI['?K'] = function(parseState, code) {\n var arg = parseState.args[0];\n\n if (!arg || arg == 0) {\n this.terminal.eraseToRight();\n } else if (arg == 1) {\n this.terminal.eraseToLeft();\n } else if (arg == 2) {\n this.terminal.eraseLine();\n }\n};\n\n/**\n * Insert Lines (IL).\n */\nhterm.VT.CSI['L'] = function(parseState) {\n this.terminal.insertLines(parseState.iarg(0, 1));\n};\n\n/**\n * Delete Lines (DL).\n */\nhterm.VT.CSI['M'] = function(parseState) {\n this.terminal.deleteLines(parseState.iarg(0, 1));\n};\n\n/**\n * Delete Characters (DCH).\n *\n * This command shifts the line contents left, starting at the cursor position.\n */\nhterm.VT.CSI['P'] = function(parseState) {\n this.terminal.deleteChars(parseState.iarg(0, 1));\n};\n\n/**\n * Scroll Up (SU).\n */\nhterm.VT.CSI['S'] = function(parseState) {\n this.terminal.vtScrollUp(parseState.iarg(0, 1));\n};\n\n/**\n * Scroll Down (SD).\n * Also 'Initiate highlight mouse tracking'. Will not implement this part.\n */\nhterm.VT.CSI['T'] = function(parseState) {\n if (parseState.args.length <= 1)\n this.terminal.vtScrollDown(parseState.iarg(0, 1));\n};\n\n/**\n * Reset one or more features of the title modes to the default value.\n *\n * ESC [ > Ps T\n *\n * Normally, \"reset\" disables the feature. It is possible to disable the\n * ability to reset features by compiling a different default for the title\n * modes into xterm.\n *\n * Ps values:\n * 0 - Do not set window/icon labels using hexadecimal.\n * 1 - Do not query window/icon labels using hexadecimal.\n * 2 - Do not set window/icon labels using UTF-8.\n * 3 - Do not query window/icon labels using UTF-8.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>T'] = hterm.VT.ignore;\n\n/**\n * Erase Characters (ECH).\n */\nhterm.VT.CSI['X'] = function(parseState) {\n this.terminal.eraseToRight(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Backward Tabulation (CBT).\n */\nhterm.VT.CSI['Z'] = function(parseState) {\n var count = parseState.iarg(0, 1);\n count = lib.f.clamp(count, 1, this.terminal.screenSize.width);\n for (var i = 0; i < count; i++) {\n this.terminal.backwardTabStop();\n }\n};\n\n/**\n * Character Position Absolute (HPA).\n *\n * Same as Cursor Character Absolute (CHA).\n */\nhterm.VT.CSI['`'] = hterm.VT.CSI['G'];\n\n/**\n * Character Position Relative (HPR).\n */\nhterm.VT.CSI['a'] = function(parseState) {\n this.terminal.setCursorColumn(this.terminal.getCursorColumn() +\n parseState.iarg(0, 1));\n};\n\n/**\n * Repeat the preceding graphic character.\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['b'] = hterm.VT.ignore;\n\n/**\n * Send Device Attributes (Primary DA).\n *\n * TODO(rginda): This is hardcoded to send back 'VT100 with Advanced Video\n * Option', but it may be more correct to send a VT220 response once\n * we fill out the 'Not currently implemented' parts.\n */\nhterm.VT.CSI['c'] = function(parseState) {\n if (!parseState.args[0] || parseState.args[0] == 0) {\n this.terminal.io.sendString('\\x1b[?1;2c');\n }\n};\n\n/**\n * Send Device Attributes (Secondary DA).\n *\n * TODO(rginda): This is hardcoded to send back 'VT100' but it may be more\n * correct to send a VT220 response once we fill out more 'Not currently\n * implemented' parts.\n */\nhterm.VT.CSI['>c'] = function(parseState) {\n this.terminal.io.sendString('\\x1b[>0;256;0c');\n};\n\n/**\n * Line Position Absolute (VPA).\n */\nhterm.VT.CSI['d'] = function(parseState) {\n this.terminal.setAbsoluteCursorRow(parseState.iarg(0, 1) - 1);\n};\n\n/**\n * Horizontal and Vertical Position (HVP).\n *\n * Same as Cursor Position (CUP).\n */\nhterm.VT.CSI['f'] = hterm.VT.CSI['H'];\n\n/**\n * Tab Clear (TBC).\n */\nhterm.VT.CSI['g'] = function(parseState) {\n if (!parseState.args[0] || parseState.args[0] == 0) {\n // Clear tab stop at cursor.\n this.terminal.clearTabStopAtCursor(false);\n } else if (parseState.args[0] == 3) {\n // Clear all tab stops.\n this.terminal.clearAllTabStops();\n }\n};\n\n/**\n * Set Mode (SM).\n */\nhterm.VT.CSI['h'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setANSIMode(parseState.args[i], true);\n }\n};\n\n/**\n * DEC Private Mode Set (DECSET).\n */\nhterm.VT.CSI['?h'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setDECMode(parseState.args[i], true);\n }\n};\n\n/**\n * Media Copy (MC).\n * Media Copy (MC, DEC Specific).\n *\n * These commands control the printer. Will not implement.\n */\nhterm.VT.CSI['i'] =\nhterm.VT.CSI['?i'] = hterm.VT.ignore;\n\n/**\n * Reset Mode (RM).\n */\nhterm.VT.CSI['l'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setANSIMode(parseState.args[i], false);\n }\n};\n\n/**\n * DEC Private Mode Reset (DECRST).\n */\nhterm.VT.CSI['?l'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setDECMode(parseState.args[i], false);\n }\n};\n\n/**\n * Character Attributes (SGR).\n *\n * Iterate through the list of arguments, applying the attribute changes based\n * on the argument value...\n */\nhterm.VT.CSI['m'] = function(parseState) {\n function get256(i) {\n if (parseState.args.length < i + 2 || parseState.args[i + 1] != 5)\n return null;\n\n return parseState.iarg(i + 2, 0);\n }\n\n function getTrueColor(i) {\n if (parseState.args.length < i + 5 || parseState.args[i + 1] != 2)\n return null;\n var r = parseState.iarg(i + 2, 0);\n var g = parseState.iarg(i + 3, 0);\n var b = parseState.iarg(i + 4, 0);\n\n return 'rgb(' + r + ' ,' + g + ' ,' + b + ')';\n }\n\n var attrs = this.terminal.getTextAttributes();\n\n if (!parseState.args.length) {\n attrs.reset();\n return;\n }\n\n for (var i = 0; i < parseState.args.length; i++) {\n var arg = parseState.iarg(i, 0);\n\n if (arg < 30) {\n if (arg == 0) { // Normal (default).\n attrs.reset();\n } else if (arg == 1) { // Bold.\n attrs.bold = true;\n } else if (arg == 2) { // Faint.\n attrs.faint = true;\n } else if (arg == 3) { // Italic.\n attrs.italic = true;\n } else if (arg == 4) { // Underline.\n attrs.underline = true;\n } else if (arg == 5) { // Blink.\n attrs.blink = true;\n } else if (arg == 7) { // Inverse.\n attrs.inverse = true;\n } else if (arg == 8) { // Invisible.\n attrs.invisible = true;\n } else if (arg == 9) { // Crossed out.\n attrs.strikethrough = true;\n } else if (arg == 22) { // Not bold & not faint.\n attrs.bold = false;\n attrs.faint = false;\n } else if (arg == 23) { // Not italic.\n attrs.italic = false;\n } else if (arg == 24) { // Not underlined.\n attrs.underline = false;\n } else if (arg == 25) { // Not blink.\n attrs.blink = false;\n } else if (arg == 27) { // Steady.\n attrs.inverse = false;\n } else if (arg == 28) { // Visible.\n attrs.invisible = false;\n } else if (arg == 29) { // Not crossed out.\n attrs.strikethrough = false;\n }\n\n } else if (arg < 50) {\n // Select fore/background color from bottom half of 16 color palette\n // or from the 256 color palette or alternative specify color in fully\n // qualified rgb(r, g, b) form.\n if (arg < 38) {\n attrs.foregroundSource = arg - 30;\n\n } else if (arg == 38) {\n // First check for true color definition\n var trueColor = getTrueColor(i);\n if (trueColor != null) {\n attrs.foregroundSource = attrs.SRC_RGB;\n attrs.foreground = trueColor;\n\n i += 5;\n } else {\n // Check for 256 color\n var c = get256(i);\n if (c == null)\n break;\n\n i += 2;\n\n if (c >= attrs.colorPalette.length)\n continue;\n\n attrs.foregroundSource = c;\n }\n\n } else if (arg == 39) {\n attrs.foregroundSource = attrs.SRC_DEFAULT;\n\n } else if (arg < 48) {\n attrs.backgroundSource = arg - 40;\n\n } else if (arg == 48) {\n // First check for true color definition\n var trueColor = getTrueColor(i);\n if (trueColor != null) {\n attrs.backgroundSource = attrs.SRC_RGB;\n attrs.background = trueColor;\n\n i += 5;\n } else {\n // Check for 256 color\n var c = get256(i);\n if (c == null)\n break;\n\n i += 2;\n\n if (c >= attrs.colorPalette.length)\n continue;\n\n attrs.backgroundSource = c;\n }\n } else {\n attrs.backgroundSource = attrs.SRC_DEFAULT;\n }\n\n } else if (arg >= 90 && arg <= 97) {\n attrs.foregroundSource = arg - 90 + 8;\n\n } else if (arg >= 100 && arg <= 107) {\n attrs.backgroundSource = arg - 100 + 8;\n }\n }\n\n attrs.setDefaults(this.terminal.getForegroundColor(),\n this.terminal.getBackgroundColor());\n};\n\n/**\n * Set xterm-specific keyboard modes.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>m'] = hterm.VT.ignore;\n\n/**\n * Device Status Report (DSR, DEC Specific).\n *\n * 5 - Status Report. Result (OK) is CSI 0 n\n * 6 - Report Cursor Position (CPR) [row;column]. Result is CSI r ; c R\n */\nhterm.VT.CSI['n'] = function(parseState) {\n if (parseState.args[0] == 5) {\n this.terminal.io.sendString('\\x1b0n');\n } else if (parseState.args[0] == 6) {\n var row = this.terminal.getCursorRow() + 1;\n var col = this.terminal.getCursorColumn() + 1;\n this.terminal.io.sendString('\\x1b[' + row + ';' + col + 'R');\n }\n};\n\n/**\n * Disable modifiers which may be enabled via CSI['>m'].\n *\n * Will not implement.\n */\nhterm.VT.CSI['>n'] = hterm.VT.ignore;\n\n/**\n * Device Status Report (DSR, DEC Specific).\n *\n * 6 - Report Cursor Position (CPR) [row;column] as CSI ? r ; c R\n * 15 - Report Printer status as CSI ? 1 0 n (ready) or\n * CSI ? 1 1 n (not ready).\n * 25 - Report UDK status as CSI ? 2 0 n (unlocked) or CSI ? 2 1 n (locked).\n * 26 - Report Keyboard status as CSI ? 2 7 ; 1 ; 0 ; 0 n (North American).\n * The last two parameters apply to VT400 & up, and denote keyboard ready\n * and LK01 respectively.\n * 53 - Report Locator status as CSI ? 5 3 n Locator available, if compiled-in,\n * or CSI ? 5 0 n No Locator, if not.\n */\nhterm.VT.CSI['?n'] = function(parseState) {\n if (parseState.args[0] == 6) {\n var row = this.terminal.getCursorRow() + 1;\n var col = this.terminal.getCursorColumn() + 1;\n this.terminal.io.sendString('\\x1b[' + row + ';' + col + 'R');\n } else if (parseState.args[0] == 15) {\n this.terminal.io.sendString('\\x1b[?11n');\n } else if (parseState.args[0] == 25) {\n this.terminal.io.sendString('\\x1b[?21n');\n } else if (parseState.args[0] == 26) {\n this.terminal.io.sendString('\\x1b[?12;1;0;0n');\n } else if (parseState.args[0] == 53) {\n this.terminal.io.sendString('\\x1b[?50n');\n }\n};\n\n/**\n * This is used by xterm to decide whether to hide the pointer cursor as the\n * user types.\n *\n * Valid values for the parameter:\n * 0 - Never hide the pointer.\n * 1 - Hide if the mouse tracking mode is not enabled.\n * 2 - Always hide the pointer.\n *\n * If no parameter is given, xterm uses the default, which is 1.\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['>p'] = hterm.VT.ignore;\n\n/**\n * Soft terminal reset (DECSTR).\n */\nhterm.VT.CSI['!p'] = function() {\n this.reset();\n this.terminal.softReset();\n};\n\n/**\n * Request ANSI Mode (DECRQM).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['$p'] = hterm.VT.ignore;\nhterm.VT.CSI['?$p'] = hterm.VT.ignore;\n\n/**\n * Set conformance level (DECSCL).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\"p'] = hterm.VT.ignore;\n\n/**\n * Load LEDs (DECLL).\n *\n * Not currently implemented. Could be implemented as virtual LEDs overlaying\n * the terminal if anyone cares.\n */\nhterm.VT.CSI['q'] = hterm.VT.ignore;\n\n/**\n * Set cursor style (DECSCUSR, VT520).\n */\nhterm.VT.CSI[' q'] = function(parseState) {\n var arg = parseState.args[0];\n\n if (arg == 0 || arg == 1) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n this.terminal.setCursorBlink(true);\n } else if (arg == 2) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n this.terminal.setCursorBlink(false);\n } else if (arg == 3) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n this.terminal.setCursorBlink(true);\n } else if (arg == 4) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n this.terminal.setCursorBlink(false);\n } else if (arg == 5) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n this.terminal.setCursorBlink(true);\n } else if (arg == 6) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n this.terminal.setCursorBlink(false);\n } else {\n console.warn('Unknown cursor style: ' + arg);\n }\n};\n\n/**\n * Select character protection attribute (DECSCA).\n *\n * Will not implement.\n */\nhterm.VT.CSI['\"q'] = hterm.VT.ignore;\n\n/**\n * Set Scrolling Region (DECSTBM).\n */\nhterm.VT.CSI['r'] = function(parseState) {\n var args = parseState.args;\n var scrollTop = args[0] ? parseInt(args[0], 10) -1 : null;\n var scrollBottom = args[1] ? parseInt(args[1], 10) - 1 : null;\n this.terminal.setVTScrollRegion(scrollTop, scrollBottom);\n this.terminal.setCursorPosition(0, 0);\n};\n\n/**\n * Restore DEC Private Mode Values.\n *\n * Will not implement.\n */\nhterm.VT.CSI['?r'] = hterm.VT.ignore;\n\n/**\n * Change Attributes in Rectangular Area (DECCARA)\n *\n * Will not implement.\n */\nhterm.VT.CSI['$r'] = hterm.VT.ignore;\n\n/**\n * Save cursor (ANSI.SYS)\n */\nhterm.VT.CSI['s'] = function() {\n this.savedState_.save();\n};\n\n/**\n * Save DEC Private Mode Values.\n *\n * Will not implement.\n */\nhterm.VT.CSI['?s'] = hterm.VT.ignore;\n\n/**\n * Window manipulation (from dtterm, as well as extensions).\n *\n * Will not implement.\n */\nhterm.VT.CSI['t'] = hterm.VT.ignore;\n\n/**\n * Reverse Attributes in Rectangular Area (DECRARA).\n *\n * Will not implement.\n */\nhterm.VT.CSI['$t'] = hterm.VT.ignore;\n\n/**\n * Set one or more features of the title modes.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>t'] = hterm.VT.ignore;\n\n/**\n * Set warning-bell volume (DECSWBV, VT520).\n *\n * Will not implement.\n */\nhterm.VT.CSI[' t'] = hterm.VT.ignore;\n\n/**\n * Restore cursor (ANSI.SYS).\n */\nhterm.VT.CSI['u'] = function() {\n this.savedState_.restore();\n};\n\n/**\n * Set margin-bell volume (DECSMBV, VT520).\n *\n * Will not implement.\n */\nhterm.VT.CSI[' u'] = hterm.VT.ignore;\n\n/**\n * Copy Rectangular Area (DECCRA, VT400 and up).\n *\n * Will not implement.\n */\nhterm.VT.CSI['$v'] = hterm.VT.ignore;\n\n/**\n * Enable Filter Rectangle (DECEFR).\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'w'] = hterm.VT.ignore;\n\n/**\n * Request Terminal Parameters (DECREQTPARM).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['x'] = hterm.VT.ignore;\n\n/**\n * Select Attribute Change Extent (DECSACE).\n *\n * Will not implement.\n */\nhterm.VT.CSI['*x'] = hterm.VT.ignore;\n\n/**\n * Fill Rectangular Area (DECFRA), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['$x'] = hterm.VT.ignore;\n\n/**\n * vt_tiledata (as used by NAOhack and UnNetHack)\n * (see https://nethackwiki.com/wiki/Vt_tiledata for more info)\n *\n * Implemented as far as we care (start a glyph and end a glyph).\n */\nhterm.VT.CSI['z'] = function(parseState) {\n if (parseState.args.length < 1)\n return;\n var arg = parseState.args[0];\n if (arg == 0) {\n // Start a glyph (one parameter, the glyph number).\n if (parseState.args.length < 2)\n return;\n this.terminal.getTextAttributes().tileData = parseState.args[1];\n } else if (arg == 1) {\n // End a glyph.\n this.terminal.getTextAttributes().tileData = null;\n }\n};\n\n/**\n * Enable Locator Reporting (DECELR).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'z'] = hterm.VT.ignore;\n\n/**\n * Erase Rectangular Area (DECERA), VT400 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['$z'] = hterm.VT.ignore;\n\n/**\n * Select Locator Events (DECSLE).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'{'] = hterm.VT.ignore;\n\n/**\n * Request Locator Position (DECRQLP).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'|'] = hterm.VT.ignore;\n\n/**\n * Insert Columns (DECIC), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'}'] = hterm.VT.ignore;\n\n/**\n * Delete P s Columns (DECDC), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'~'] = hterm.VT.ignore;\n// SOURCE FILE: hterm/js/hterm_vt_character_map.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f');\n\n/**\n * Character map object.\n *\n * Mapping from received to display character, used depending on the active\n * VT character set.\n *\n * GR maps are not currently supported.\n *\n * @param {string} description A human readable description of this map.\n * @param {Object} glmap The GL mapping from input to output characters.\n */\nhterm.VT.CharacterMap = function(description, glmap) {\n /**\n * Short description for this character set, useful for debugging.\n */\n this.description = description;\n\n /**\n * The function to call to when this map is installed in GL.\n */\n this.GL = null;\n\n // Always keep an unmodified reference to the map.\n // This allows us to sanely reset back to the original state.\n this.glmapBase_ = glmap;\n\n // Now sync the internal state as needed.\n this.sync_();\n};\n\n/**\n * Internal helper for resyncing internal state.\n *\n * Used when the mappings change.\n *\n * @param {Object?} opt_glmap Additional mappings to overlay on top of the\n * base mapping.\n */\nhterm.VT.CharacterMap.prototype.sync_ = function(opt_glmap) {\n // If there are no maps, then reset the state back.\n if (!this.glmapBase_ && !opt_glmap) {\n this.GL = null;\n delete this.glmap_;\n delete this.glre_;\n return;\n }\n\n // Set the the GL mapping. If we're given a custom mapping, then create a\n // new object to hold the merged map. This way we can cleanly reset back.\n if (opt_glmap)\n this.glmap_ = Object.assign({}, this.glmapBase_, opt_glmap);\n else\n this.glmap_ = this.glmapBase_;\n\n var glchars = Object.keys(this.glmap_).map((key) =>\n '\\\\x' + lib.f.zpad(key.charCodeAt(0).toString(16)));\n this.glre_ = new RegExp('[' + glchars.join('') + ']', 'g');\n\n this.GL = (str) => str.replace(this.glre_, (ch) => this.glmap_[ch]);\n};\n\n/**\n * Reset map back to original mappings (discarding runtime updates).\n *\n * Specifically, any calls to setOverrides will be discarded.\n */\nhterm.VT.CharacterMap.prototype.reset = function() {\n // If we haven't been given a custom mapping, then there's nothing to reset.\n if (this.glmap_ !== this.glmapBase_)\n this.sync_();\n};\n\n/**\n * Merge custom changes to this map.\n *\n * The input map need not duplicate the existing mappings as it is merged with\n * the existing base map (what was created with). Subsequent calls to this\n * will throw away previous override settings.\n *\n * @param {Object} glmap The custom map to override existing mappings.\n */\nhterm.VT.CharacterMap.prototype.setOverrides = function(glmap) {\n this.sync_(glmap);\n};\n\n/**\n * Return a copy of this mapping.\n *\n * @return {hterm.VT.CharacterMap} A new hterm.VT.CharacterMap instance.\n */\nhterm.VT.CharacterMap.prototype.clone = function() {\n var map = new hterm.VT.CharacterMap(this.description, this.glmapBase_);\n if (this.glmap_ !== this.glmapBase_)\n map.setOverrides(this.glmap_);\n return map;\n};\n\n/**\n * Table of character maps.\n */\nhterm.VT.CharacterMaps = function() {\n this.maps_ = hterm.VT.CharacterMaps.DefaultMaps;\n\n // Always keep an unmodified reference to the map.\n // This allows us to sanely reset back to the original state.\n this.mapsBase_ = this.maps_;\n};\n\n/**\n * Look up a previously registered map.\n *\n * @param {String} name The name of the map to lookup.\n * @return {hterm.VT.CharacterMap} The map, if it's been registered.\n */\nhterm.VT.CharacterMaps.prototype.getMap = function(name) {\n if (this.maps_.hasOwnProperty(name))\n return this.maps_[name];\n else\n return undefined;\n};\n\n/**\n * Register a new map.\n *\n * Any previously registered maps by this name will be discarded.\n *\n * @param {String} name The name of the map.\n * @param {hterm.VT.CharacterMap} map The map to register.\n */\nhterm.VT.CharacterMaps.prototype.addMap = function(name, map) {\n if (this.maps_ === this.mapsBase_)\n this.maps_ = Object.assign({}, this.mapsBase_);\n this.maps_[name] = map;\n};\n\n/**\n * Reset the table and all its maps back to original state.\n */\nhterm.VT.CharacterMaps.prototype.reset = function() {\n if (this.maps_ !== hterm.VT.CharacterMaps.DefaultMaps)\n this.maps_ = hterm.VT.CharacterMaps.DefaultMaps;\n};\n\n/**\n * Merge custom changes to this table.\n *\n * @param {Object} maps A set of hterm.VT.CharacterMap objects.\n */\nhterm.VT.CharacterMaps.prototype.setOverrides = function(maps) {\n if (this.maps_ === this.mapsBase_)\n this.maps_ = Object.assign({}, this.mapsBase_);\n\n for (var name in maps) {\n var map = this.getMap(name);\n if (map !== undefined) {\n this.maps_[name] = map.clone();\n this.maps_[name].setOverrides(maps[name]);\n } else\n this.addMap(name, new hterm.VT.CharacterMap('user ' + name, maps[name]));\n }\n};\n\n/**\n * The default set of supported character maps.\n */\nhterm.VT.CharacterMaps.DefaultMaps = {};\n\n/**\n * VT100 Graphic character map.\n * http://vt100.net/docs/vt220-rm/table2-4.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['0'] = new hterm.VT.CharacterMap(\n 'graphic', {\n '\\x60':'\\u25c6', // ` -> diamond\n '\\x61':'\\u2592', // a -> grey-box\n '\\x62':'\\u2409', // b -> h/t\n '\\x63':'\\u240c', // c -> f/f\n '\\x64':'\\u240d', // d -> c/r\n '\\x65':'\\u240a', // e -> l/f\n '\\x66':'\\u00b0', // f -> degree\n '\\x67':'\\u00b1', // g -> +/-\n '\\x68':'\\u2424', // h -> n/l\n '\\x69':'\\u240b', // i -> v/t\n '\\x6a':'\\u2518', // j -> bottom-right\n '\\x6b':'\\u2510', // k -> top-right\n '\\x6c':'\\u250c', // l -> top-left\n '\\x6d':'\\u2514', // m -> bottom-left\n '\\x6e':'\\u253c', // n -> line-cross\n '\\x6f':'\\u23ba', // o -> scan1\n '\\x70':'\\u23bb', // p -> scan3\n '\\x71':'\\u2500', // q -> scan5\n '\\x72':'\\u23bc', // r -> scan7\n '\\x73':'\\u23bd', // s -> scan9\n '\\x74':'\\u251c', // t -> left-tee\n '\\x75':'\\u2524', // u -> right-tee\n '\\x76':'\\u2534', // v -> bottom-tee\n '\\x77':'\\u252c', // w -> top-tee\n '\\x78':'\\u2502', // x -> vertical-line\n '\\x79':'\\u2264', // y -> less-equal\n '\\x7a':'\\u2265', // z -> greater-equal\n '\\x7b':'\\u03c0', // { -> pi\n '\\x7c':'\\u2260', // | -> not-equal\n '\\x7d':'\\u00a3', // } -> british-pound\n '\\x7e':'\\u00b7', // ~ -> dot\n });\n\n/**\n * British character map.\n * http://vt100.net/docs/vt220-rm/table2-5.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['A'] = new hterm.VT.CharacterMap(\n 'british', {\n '\\x23': '\\u00a3', // # -> british-pound\n });\n\n/**\n * US ASCII map, no changes.\n */\nhterm.VT.CharacterMaps.DefaultMaps['B'] = new hterm.VT.CharacterMap(\n 'us', null);\n\n/**\n * Dutch character map.\n * http://vt100.net/docs/vt220-rm/table2-6.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['4'] = new hterm.VT.CharacterMap(\n 'dutch', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00be', // @ -> 3/4\n\n '\\x5b': '\\u0132', // [ -> 'ij' ligature (xterm goes with \\u00ff?)\n '\\x5c': '\\u00bd', // \\ -> 1/2\n '\\x5d': '\\u007c', // ] -> vertical bar\n\n '\\x7b': '\\u00a8', // { -> two dots\n '\\x7c': '\\u0066', // | -> f\n '\\x7d': '\\u00bc', // } -> 1/4\n '\\x7e': '\\u00b4', // ~ -> acute\n });\n\n/**\n * Finnish character map.\n * http://vt100.net/docs/vt220-rm/table2-7.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['C'] =\nhterm.VT.CharacterMaps.DefaultMaps['5'] = new hterm.VT.CharacterMap(\n 'finnish', {\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ~ -> 'u' umlaut\n\n '\\x60': '\\u00e9', // ` -> 'e' acute\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * French character map.\n * http://vt100.net/docs/vt220-rm/table2-8.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['R'] = new hterm.VT.CharacterMap(\n 'french', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00b0', // [ -> ring\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00a7', // ] -> section symbol (double s)\n\n '\\x7b': '\\u00e9', // { -> 'e' acute\n '\\x7c': '\\u00f9', // | -> 'u' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00a8', // ~ -> umlaut\n });\n\n/**\n * French Canadian character map.\n * http://vt100.net/docs/vt220-rm/table2-9.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Q'] = new hterm.VT.CharacterMap(\n 'french canadian', {\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00e2', // [ -> 'a' circumflex\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00ea', // ] -> 'e' circumflex\n '\\x5e': '\\u00ee', // ^ -> 'i' circumflex\n\n '\\x60': '\\u00f4', // ` -> 'o' circumflex\n\n '\\x7b': '\\u00e9', // { -> 'e' acute\n '\\x7c': '\\u00f9', // | -> 'u' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00fb', // ~ -> 'u' circumflex\n });\n\n/**\n * German character map.\n * http://vt100.net/docs/vt220-rm/table2-10.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['K'] = new hterm.VT.CharacterMap(\n 'german', {\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00dc', // ] -> 'U' umlaut\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00fc', // } -> 'u' umlaut\n '\\x7e': '\\u00df', // ~ -> eszett\n });\n\n/**\n * Italian character map.\n * http://vt100.net/docs/vt220-rm/table2-11.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Y'] = new hterm.VT.CharacterMap(\n 'italian', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00b0', // [ -> ring\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00e9', // ] -> 'e' acute\n\n '\\x60': '\\u00f9', // ` -> 'u' grave\n\n '\\x7b': '\\u00e0', // { -> 'a' grave\n '\\x7c': '\\u00f2', // | -> 'o' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00ec', // ~ -> 'i' grave\n });\n\n/**\n * Norwegian/Danish character map.\n * http://vt100.net/docs/vt220-rm/table2-12.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['E'] =\nhterm.VT.CharacterMaps.DefaultMaps['6'] = new hterm.VT.CharacterMap(\n 'norwegian/danish', {\n '\\x40': '\\u00c4', // @ -> 'A' umlaut\n\n '\\x5b': '\\u00c6', // [ -> 'AE' ligature\n '\\x5c': '\\u00d8', // \\ -> 'O' stroke\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ^ -> 'U' umlaut\n\n '\\x60': '\\u00e4', // ` -> 'a' umlaut\n\n '\\x7b': '\\u00e6', // { -> 'ae' ligature\n '\\x7c': '\\u00f8', // | -> 'o' stroke\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * Spanish character map.\n * http://vt100.net/docs/vt220-rm/table2-13.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Z'] = new hterm.VT.CharacterMap(\n 'spanish', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00a1', // [ -> '!' inverted\n '\\x5c': '\\u00d1', // \\ -> 'N' tilde\n '\\x5d': '\\u00bf', // ] -> '?' inverted\n\n '\\x7b': '\\u00b0', // { -> ring\n '\\x7c': '\\u00f1', // | -> 'n' tilde\n '\\x7d': '\\u00e7', // } -> 'c' cedilla\n });\n\n/**\n * Swedish character map.\n * http://vt100.net/docs/vt220-rm/table2-14.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['7'] =\nhterm.VT.CharacterMaps.DefaultMaps['H'] = new hterm.VT.CharacterMap(\n 'swedish', {\n '\\x40': '\\u00c9', // @ -> 'E' acute\n\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ^ -> 'U' umlaut\n\n '\\x60': '\\u00e9', // ` -> 'e' acute\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * Swiss character map.\n * http://vt100.net/docs/vt220-rm/table2-15.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['='] = new hterm.VT.CharacterMap(\n 'swiss', {\n '\\x23': '\\u00f9', // # -> 'u' grave\n\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00e9', // [ -> 'e' acute\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00ea', // ] -> 'e' circumflex\n '\\x5e': '\\u00ee', // ^ -> 'i' circumflex\n '\\x5f': '\\u00e8', // _ -> 'e' grave\n\n '\\x60': '\\u00f4', // ` -> 'o' circumflex\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00fc', // } -> 'u' umlaut\n '\\x7e': '\\u00fb', // ~ -> 'u' circumflex\n });\nlib.resource.add('hterm/audio/bell', 'audio/ogg;base64',\n'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' +\n'zinmkFLKMeUcUko5p5xTzjkIHYTKMQadgxAppRxTzinHHITMQeWcg9BBKAAAIMABACDAQig0ZEUA' +\n'ECcA4HAkz5M0SxQlSxNFzxRl1xNN15U0zTQ1UVRVyxNV1VRV2xZNVbYlTRNNTfRUVRNFVRVV05ZN' +\n'VbVtzzRl2VRV3RZV1bZl2xZ+V5Z13zNNWRZV1dZNVbV115Z9X9ZtXZg0zTQ1UVRVTRRV1VRV2zZV' +\n'17Y1UXRVUVVlWVRVWXZlWfdVV9Z9SxRV1VNN2RVVVbZV2fVtVZZ94XRVXVdl2fdVWRZ+W9eF4fZ9' +\n'4RhV1dZN19V1VZZ9YdZlYbd13yhpmmlqoqiqmiiqqqmqtm2qrq1bouiqoqrKsmeqrqzKsq+rrmzr' +\n'miiqrqiqsiyqqiyrsqz7qizrtqiquq3KsrCbrqvrtu8LwyzrunCqrq6rsuz7qizruq3rxnHrujB8' +\n'pinLpqvquqm6um7runHMtm0co6rqvirLwrDKsu/rui+0dSFRVXXdlF3jV2VZ921fd55b94WybTu/' +\n'rfvKceu60vg5z28cubZtHLNuG7+t+8bzKz9hOI6lZ5q2baqqrZuqq+uybivDrOtCUVV9XZVl3zdd' +\n'WRdu3zeOW9eNoqrquirLvrDKsjHcxm8cuzAcXds2jlvXnbKtC31jyPcJz2vbxnH7OuP2daOvDAnH' +\n'jwAAgAEHAIAAE8pAoSErAoA4AQAGIecUUxAqxSB0EFLqIKRUMQYhc05KxRyUUEpqIZTUKsYgVI5J' +\n'yJyTEkpoKZTSUgehpVBKa6GU1lJrsabUYu0gpBZKaS2U0lpqqcbUWowRYxAy56RkzkkJpbQWSmkt' +\n'c05K56CkDkJKpaQUS0otVsxJyaCj0kFIqaQSU0mptVBKa6WkFktKMbYUW24x1hxKaS2kEltJKcYU' +\n'U20txpojxiBkzknJnJMSSmktlNJa5ZiUDkJKmYOSSkqtlZJSzJyT0kFIqYOOSkkptpJKTKGU1kpK' +\n'sYVSWmwx1pxSbDWU0lpJKcaSSmwtxlpbTLV1EFoLpbQWSmmttVZraq3GUEprJaUYS0qxtRZrbjHm' +\n'GkppraQSW0mpxRZbji3GmlNrNabWam4x5hpbbT3WmnNKrdbUUo0txppjbb3VmnvvIKQWSmktlNJi' +\n'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' +\n'm2L/kruPM6Q7oz4tvDQy+bZ3HzOi+gNHA4DZEgA=' +\n''\n);\n\nlib.resource.add('hterm/images/icon-96', 'image/png;base64',\n'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' +\n'ODoyNC0wNDowMNba8BsAAAAASUVORK5CYII=' +\n''\n);\n\nlib.resource.add('hterm/concat/date', 'text/plain',\n'Tue, 22 Aug 2017 06:42:31 +0000' +\n''\n);\n\nlib.resource.add('hterm/changelog/version', 'text/plain',\n'1.70' +\n''\n);\n\nlib.resource.add('hterm/changelog/date', 'text/plain',\n'2017-08-16' +\n''\n);\n\nlib.resource.add('hterm/git/HEAD', 'text/plain',\n'git rev-parse HEAD' +\n''\n);\n\n// SOURCE FILE: hterm/js/hterm_export.js\nmodule.exports = {\n hterm: hterm,\n lib: lib\n};\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/libapps/hterm/dist/js/hterm_module.js\n// module id = 14\n// module chunks = 0","import { Hterm } from \"./hterm\";\nimport { Xterm } from \"./xterm\";\nimport { Terminal, WebTTY, protocols } from \"./webtty\";\nimport { ConnectionFactory } from \"./websocket\";\n\n// @TODO remove these\ndeclare var gotty_auth_token: string;\ndeclare var gotty_term: string;\n\nconst elem = document.getElementById(\"terminal\")\n\nif (elem !== null) {\n var term: Terminal;\n if (gotty_term == \"hterm\") {\n term = new Hterm(elem);\n } else {\n term = new Xterm(elem);\n }\n const httpsEnabled = window.location.protocol == \"https:\";\n const url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws';\n const args = window.location.search;\n const factory = new ConnectionFactory(url, protocols);\n const wt = new WebTTY(term, factory, args, gotty_auth_token);\n const closer = wt.open();\n\n window.addEventListener(\"unload\", () => {\n closer();\n term.close();\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CompositionHelper = (function () {\n function CompositionHelper(textarea, compositionView, terminal) {\n this.textarea = textarea;\n this.compositionView = compositionView;\n this.terminal = terminal;\n this.isComposing = false;\n this.isSendingComposition = false;\n this.compositionPosition = { start: null, end: null };\n }\n CompositionHelper.prototype.compositionstart = function () {\n this.isComposing = true;\n this.compositionPosition.start = this.textarea.value.length;\n this.compositionView.textContent = '';\n this.compositionView.classList.add('active');\n };\n CompositionHelper.prototype.compositionupdate = function (ev) {\n var _this = this;\n this.compositionView.textContent = ev.data;\n this.updateCompositionElements();\n setTimeout(function () {\n _this.compositionPosition.end = _this.textarea.value.length;\n }, 0);\n };\n CompositionHelper.prototype.compositionend = function () {\n this.finalizeComposition(true);\n };\n CompositionHelper.prototype.keydown = function (ev) {\n if (this.isComposing || this.isSendingComposition) {\n if (ev.keyCode === 229) {\n return false;\n }\n else if (ev.keyCode === 16 || ev.keyCode === 17 || ev.keyCode === 18) {\n return false;\n }\n else {\n this.finalizeComposition(false);\n }\n }\n if (ev.keyCode === 229) {\n this.handleAnyTextareaChanges();\n return false;\n }\n return true;\n };\n CompositionHelper.prototype.finalizeComposition = function (waitForPropogation) {\n var _this = this;\n this.compositionView.classList.remove('active');\n this.isComposing = false;\n this.clearTextareaPosition();\n if (!waitForPropogation) {\n this.isSendingComposition = false;\n var input = this.textarea.value.substring(this.compositionPosition.start, this.compositionPosition.end);\n this.terminal.handler(input);\n }\n else {\n var currentCompositionPosition_1 = {\n start: this.compositionPosition.start,\n end: this.compositionPosition.end,\n };\n this.isSendingComposition = true;\n setTimeout(function () {\n if (_this.isSendingComposition) {\n _this.isSendingComposition = false;\n var input = void 0;\n if (_this.isComposing) {\n input = _this.textarea.value.substring(currentCompositionPosition_1.start, currentCompositionPosition_1.end);\n }\n else {\n input = _this.textarea.value.substring(currentCompositionPosition_1.start);\n }\n _this.terminal.handler(input);\n }\n }, 0);\n }\n };\n CompositionHelper.prototype.handleAnyTextareaChanges = function () {\n var _this = this;\n var oldValue = this.textarea.value;\n setTimeout(function () {\n if (!_this.isComposing) {\n var newValue = _this.textarea.value;\n var diff = newValue.replace(oldValue, '');\n if (diff.length > 0) {\n _this.terminal.handler(diff);\n }\n }\n }, 0);\n };\n CompositionHelper.prototype.updateCompositionElements = function (dontRecurse) {\n var _this = this;\n if (!this.isComposing) {\n return;\n }\n var cursor = this.terminal.element.querySelector('.terminal-cursor');\n if (cursor) {\n var xtermRows = this.terminal.element.querySelector('.xterm-rows');\n var cursorTop = xtermRows.offsetTop + cursor.offsetTop;\n this.compositionView.style.left = cursor.offsetLeft + 'px';\n this.compositionView.style.top = cursorTop + 'px';\n this.compositionView.style.height = cursor.offsetHeight + 'px';\n this.compositionView.style.lineHeight = cursor.offsetHeight + 'px';\n var compositionViewBounds = this.compositionView.getBoundingClientRect();\n this.textarea.style.left = cursor.offsetLeft + 'px';\n this.textarea.style.top = cursorTop + 'px';\n this.textarea.style.width = compositionViewBounds.width + 'px';\n this.textarea.style.height = compositionViewBounds.height + 'px';\n this.textarea.style.lineHeight = compositionViewBounds.height + 'px';\n }\n if (!dontRecurse) {\n setTimeout(function () { return _this.updateCompositionElements(true); }, 0);\n }\n };\n ;\n CompositionHelper.prototype.clearTextareaPosition = function () {\n this.textarea.style.left = '';\n this.textarea.style.top = '';\n };\n ;\n return CompositionHelper;\n}());\nexports.CompositionHelper = CompositionHelper;\n\n//# sourceMappingURL=CompositionHelper.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/CompositionHelper.js\n// module id = 16\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar Charsets_1 = require(\"./Charsets\");\nvar InputHandler = (function () {\n function InputHandler(_terminal) {\n this._terminal = _terminal;\n }\n InputHandler.prototype.addChar = function (char, code) {\n if (char >= ' ') {\n var ch_width = wcwidth(code);\n if (this._terminal.charset && this._terminal.charset[char]) {\n char = this._terminal.charset[char];\n }\n var row = this._terminal.y + this._terminal.ybase;\n if (!ch_width && this._terminal.x) {\n if (this._terminal.lines.get(row)[this._terminal.x - 1]) {\n if (!this._terminal.lines.get(row)[this._terminal.x - 1][2]) {\n if (this._terminal.lines.get(row)[this._terminal.x - 2])\n this._terminal.lines.get(row)[this._terminal.x - 2][1] += char;\n }\n else {\n this._terminal.lines.get(row)[this._terminal.x - 1][1] += char;\n }\n this._terminal.updateRange(this._terminal.y);\n }\n return;\n }\n if (this._terminal.x + ch_width - 1 >= this._terminal.cols) {\n if (this._terminal.wraparoundMode) {\n this._terminal.x = 0;\n this._terminal.y++;\n if (this._terminal.y > this._terminal.scrollBottom) {\n this._terminal.y--;\n this._terminal.scroll(true);\n }\n else {\n this._terminal.lines.get(this._terminal.y).isWrapped = true;\n }\n }\n else {\n if (ch_width === 2)\n return;\n }\n }\n row = this._terminal.y + this._terminal.ybase;\n if (this._terminal.insertMode) {\n for (var moves = 0; moves < ch_width; ++moves) {\n var removed = this._terminal.lines.get(this._terminal.y + this._terminal.ybase).pop();\n if (removed[2] === 0\n && this._terminal.lines.get(row)[this._terminal.cols - 2]\n && this._terminal.lines.get(row)[this._terminal.cols - 2][2] === 2) {\n this._terminal.lines.get(row)[this._terminal.cols - 2] = [this._terminal.curAttr, ' ', 1];\n }\n this._terminal.lines.get(row).splice(this._terminal.x, 0, [this._terminal.curAttr, ' ', 1]);\n }\n }\n this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, char, ch_width];\n this._terminal.x++;\n this._terminal.updateRange(this._terminal.y);\n if (ch_width === 2) {\n this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, '', 0];\n this._terminal.x++;\n }\n }\n };\n InputHandler.prototype.bell = function () {\n var _this = this;\n if (!this._terminal.visualBell) {\n return;\n }\n this._terminal.element.style.borderColor = 'white';\n setTimeout(function () { return _this._terminal.element.style.borderColor = ''; }, 10);\n if (this._terminal.popOnBell) {\n this._terminal.focus();\n }\n };\n InputHandler.prototype.lineFeed = function () {\n if (this._terminal.convertEol) {\n this._terminal.x = 0;\n }\n this._terminal.y++;\n if (this._terminal.y > this._terminal.scrollBottom) {\n this._terminal.y--;\n this._terminal.scroll();\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.carriageReturn = function () {\n this._terminal.x = 0;\n };\n InputHandler.prototype.backspace = function () {\n if (this._terminal.x > 0) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.tab = function () {\n this._terminal.x = this._terminal.nextStop();\n };\n InputHandler.prototype.shiftOut = function () {\n this._terminal.setgLevel(1);\n };\n InputHandler.prototype.shiftIn = function () {\n this._terminal.setgLevel(0);\n };\n InputHandler.prototype.insertChars = function (params) {\n var param, row, j, ch;\n param = params[0];\n if (param < 1)\n param = 1;\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.x;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param-- && j < this._terminal.cols) {\n this._terminal.lines.get(row).splice(j++, 0, ch);\n this._terminal.lines.get(row).pop();\n }\n };\n InputHandler.prototype.cursorUp = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y -= param;\n if (this._terminal.y < 0) {\n this._terminal.y = 0;\n }\n };\n InputHandler.prototype.cursorDown = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.cursorForward = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x += param;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.cursorBackward = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n this._terminal.x -= param;\n if (this._terminal.x < 0) {\n this._terminal.x = 0;\n }\n };\n InputHandler.prototype.cursorNextLine = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n this._terminal.x = 0;\n };\n ;\n InputHandler.prototype.cursorPrecedingLine = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y -= param;\n if (this._terminal.y < 0) {\n this._terminal.y = 0;\n }\n this._terminal.x = 0;\n };\n ;\n InputHandler.prototype.cursorCharAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x = param - 1;\n };\n InputHandler.prototype.cursorPosition = function (params) {\n var row, col;\n row = params[0] - 1;\n if (params.length >= 2) {\n col = params[1] - 1;\n }\n else {\n col = 0;\n }\n if (row < 0) {\n row = 0;\n }\n else if (row >= this._terminal.rows) {\n row = this._terminal.rows - 1;\n }\n if (col < 0) {\n col = 0;\n }\n else if (col >= this._terminal.cols) {\n col = this._terminal.cols - 1;\n }\n this._terminal.x = col;\n this._terminal.y = row;\n };\n InputHandler.prototype.cursorForwardTab = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.x = this._terminal.nextStop();\n }\n };\n InputHandler.prototype.eraseInDisplay = function (params) {\n var j;\n switch (params[0]) {\n case 0:\n this._terminal.eraseRight(this._terminal.x, this._terminal.y);\n j = this._terminal.y + 1;\n for (; j < this._terminal.rows; j++) {\n this._terminal.eraseLine(j);\n }\n break;\n case 1:\n this._terminal.eraseLeft(this._terminal.x, this._terminal.y);\n j = this._terminal.y;\n while (j--) {\n this._terminal.eraseLine(j);\n }\n break;\n case 2:\n j = this._terminal.rows;\n while (j--)\n this._terminal.eraseLine(j);\n break;\n case 3:\n var scrollBackSize = this._terminal.lines.length - this._terminal.rows;\n if (scrollBackSize > 0) {\n this._terminal.lines.trimStart(scrollBackSize);\n this._terminal.ybase = Math.max(this._terminal.ybase - scrollBackSize, 0);\n this._terminal.ydisp = Math.max(this._terminal.ydisp - scrollBackSize, 0);\n }\n break;\n }\n };\n InputHandler.prototype.eraseInLine = function (params) {\n switch (params[0]) {\n case 0:\n this._terminal.eraseRight(this._terminal.x, this._terminal.y);\n break;\n case 1:\n this._terminal.eraseLeft(this._terminal.x, this._terminal.y);\n break;\n case 2:\n this._terminal.eraseLine(this._terminal.y);\n break;\n }\n };\n InputHandler.prototype.insertLines = function (params) {\n var param, row, j;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.rows - 1 - this._terminal.scrollBottom;\n j = this._terminal.rows - 1 + this._terminal.ybase - j + 1;\n while (param--) {\n if (this._terminal.lines.length === this._terminal.lines.maxLength) {\n this._terminal.lines.trimStart(1);\n this._terminal.ybase--;\n this._terminal.ydisp--;\n row--;\n j--;\n }\n this._terminal.lines.splice(row, 0, this._terminal.blankLine(true));\n this._terminal.lines.splice(j, 1);\n }\n this._terminal.updateRange(this._terminal.y);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.deleteLines = function (params) {\n var param, row, j;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.rows - 1 - this._terminal.scrollBottom;\n j = this._terminal.rows - 1 + this._terminal.ybase - j;\n while (param--) {\n if (this._terminal.lines.length === this._terminal.lines.maxLength) {\n this._terminal.lines.trimStart(1);\n this._terminal.ybase -= 1;\n this._terminal.ydisp -= 1;\n }\n this._terminal.lines.splice(j + 1, 0, this._terminal.blankLine(true));\n this._terminal.lines.splice(row, 1);\n }\n this._terminal.updateRange(this._terminal.y);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.deleteChars = function (params) {\n var param, row, ch;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param--) {\n this._terminal.lines.get(row).splice(this._terminal.x, 1);\n this._terminal.lines.get(row).push(ch);\n }\n };\n InputHandler.prototype.scrollUp = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 1);\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 0, this._terminal.blankLine());\n }\n this._terminal.updateRange(this._terminal.scrollTop);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.scrollDown = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 1);\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 0, this._terminal.blankLine());\n }\n this._terminal.updateRange(this._terminal.scrollTop);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.eraseChars = function (params) {\n var param, row, j, ch;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.x;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param-- && j < this._terminal.cols) {\n this._terminal.lines.get(row)[j++] = ch;\n }\n };\n InputHandler.prototype.cursorBackwardTab = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.x = this._terminal.prevStop();\n }\n };\n InputHandler.prototype.charPosAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x = param - 1;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.HPositionRelative = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x += param;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.repeatPrecedingCharacter = function (params) {\n var param = params[0] || 1, line = this._terminal.lines.get(this._terminal.ybase + this._terminal.y), ch = line[this._terminal.x - 1] || [this._terminal.defAttr, ' ', 1];\n while (param--) {\n line[this._terminal.x++] = ch;\n }\n };\n InputHandler.prototype.sendDeviceAttributes = function (params) {\n if (params[0] > 0) {\n return;\n }\n if (!this._terminal.prefix) {\n if (this._terminal.is('xterm') || this._terminal.is('rxvt-unicode') || this._terminal.is('screen')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?1;2c');\n }\n else if (this._terminal.is('linux')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?6c');\n }\n }\n else if (this._terminal.prefix === '>') {\n if (this._terminal.is('xterm')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>0;276;0c');\n }\n else if (this._terminal.is('rxvt-unicode')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>85;95;0c');\n }\n else if (this._terminal.is('linux')) {\n this._terminal.send(params[0] + 'c');\n }\n else if (this._terminal.is('screen')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>83;40003;0c');\n }\n }\n };\n InputHandler.prototype.linePosAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y = param - 1;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n };\n InputHandler.prototype.VPositionRelative = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.HVPosition = function (params) {\n if (params[0] < 1)\n params[0] = 1;\n if (params[1] < 1)\n params[1] = 1;\n this._terminal.y = params[0] - 1;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n this._terminal.x = params[1] - 1;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.tabClear = function (params) {\n var param = params[0];\n if (param <= 0) {\n delete this._terminal.tabs[this._terminal.x];\n }\n else if (param === 3) {\n this._terminal.tabs = {};\n }\n };\n InputHandler.prototype.setMode = function (params) {\n if (params.length > 1) {\n for (var i = 0; i < params.length; i++) {\n this.setMode([params[i]]);\n }\n return;\n }\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 4:\n this._terminal.insertMode = true;\n break;\n case 20:\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 1:\n this._terminal.applicationCursor = true;\n break;\n case 2:\n this._terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(1, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(2, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(3, Charsets_1.DEFAULT_CHARSET);\n break;\n case 3:\n this._terminal.savedCols = this._terminal.cols;\n this._terminal.resize(132, this._terminal.rows);\n break;\n case 6:\n this._terminal.originMode = true;\n break;\n case 7:\n this._terminal.wraparoundMode = true;\n break;\n case 12:\n break;\n case 66:\n this._terminal.log('Serial port requested application keypad.');\n this._terminal.applicationKeypad = true;\n this._terminal.viewport.syncScrollArea();\n break;\n case 9:\n case 1000:\n case 1002:\n case 1003:\n this._terminal.x10Mouse = params[0] === 9;\n this._terminal.vt200Mouse = params[0] === 1000;\n this._terminal.normalMouse = params[0] > 1000;\n this._terminal.mouseEvents = true;\n this._terminal.element.classList.add('enable-mouse-events');\n this._terminal.selectionManager.disable();\n this._terminal.log('Binding to mouse events.');\n break;\n case 1004:\n this._terminal.sendFocus = true;\n break;\n case 1005:\n this._terminal.utfMouse = true;\n break;\n case 1006:\n this._terminal.sgrMouse = true;\n break;\n case 1015:\n this._terminal.urxvtMouse = true;\n break;\n case 25:\n this._terminal.cursorHidden = false;\n break;\n case 1049:\n ;\n case 47:\n case 1047:\n if (!this._terminal.normal) {\n var normal = {\n lines: this._terminal.lines,\n ybase: this._terminal.ybase,\n ydisp: this._terminal.ydisp,\n x: this._terminal.x,\n y: this._terminal.y,\n scrollTop: this._terminal.scrollTop,\n scrollBottom: this._terminal.scrollBottom,\n tabs: this._terminal.tabs\n };\n this._terminal.reset();\n this._terminal.viewport.syncScrollArea();\n this._terminal.normal = normal;\n this._terminal.showCursor();\n }\n break;\n }\n }\n };\n InputHandler.prototype.resetMode = function (params) {\n if (params.length > 1) {\n for (var i = 0; i < params.length; i++) {\n this.resetMode([params[i]]);\n }\n return;\n }\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 4:\n this._terminal.insertMode = false;\n break;\n case 20:\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 1:\n this._terminal.applicationCursor = false;\n break;\n case 3:\n if (this._terminal.cols === 132 && this._terminal.savedCols) {\n this._terminal.resize(this._terminal.savedCols, this._terminal.rows);\n }\n delete this._terminal.savedCols;\n break;\n case 6:\n this._terminal.originMode = false;\n break;\n case 7:\n this._terminal.wraparoundMode = false;\n break;\n case 12:\n break;\n case 66:\n this._terminal.log('Switching back to normal keypad.');\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n break;\n case 9:\n case 1000:\n case 1002:\n case 1003:\n this._terminal.x10Mouse = false;\n this._terminal.vt200Mouse = false;\n this._terminal.normalMouse = false;\n this._terminal.mouseEvents = false;\n this._terminal.element.classList.remove('enable-mouse-events');\n this._terminal.selectionManager.enable();\n break;\n case 1004:\n this._terminal.sendFocus = false;\n break;\n case 1005:\n this._terminal.utfMouse = false;\n break;\n case 1006:\n this._terminal.sgrMouse = false;\n break;\n case 1015:\n this._terminal.urxvtMouse = false;\n break;\n case 25:\n this._terminal.cursorHidden = true;\n break;\n case 1049:\n ;\n case 47:\n case 1047:\n if (this._terminal.normal) {\n this._terminal.lines = this._terminal.normal.lines;\n this._terminal.ybase = this._terminal.normal.ybase;\n this._terminal.ydisp = this._terminal.normal.ydisp;\n this._terminal.x = this._terminal.normal.x;\n this._terminal.y = this._terminal.normal.y;\n this._terminal.scrollTop = this._terminal.normal.scrollTop;\n this._terminal.scrollBottom = this._terminal.normal.scrollBottom;\n this._terminal.tabs = this._terminal.normal.tabs;\n this._terminal.normal = null;\n this._terminal.selectionManager.setBuffer(this._terminal.lines);\n this._terminal.refresh(0, this._terminal.rows - 1);\n this._terminal.viewport.syncScrollArea();\n this._terminal.showCursor();\n }\n break;\n }\n }\n };\n InputHandler.prototype.charAttributes = function (params) {\n if (params.length === 1 && params[0] === 0) {\n this._terminal.curAttr = this._terminal.defAttr;\n return;\n }\n var l = params.length, i = 0, flags = this._terminal.curAttr >> 18, fg = (this._terminal.curAttr >> 9) & 0x1ff, bg = this._terminal.curAttr & 0x1ff, p;\n for (; i < l; i++) {\n p = params[i];\n if (p >= 30 && p <= 37) {\n fg = p - 30;\n }\n else if (p >= 40 && p <= 47) {\n bg = p - 40;\n }\n else if (p >= 90 && p <= 97) {\n p += 8;\n fg = p - 90;\n }\n else if (p >= 100 && p <= 107) {\n p += 8;\n bg = p - 100;\n }\n else if (p === 0) {\n flags = this._terminal.defAttr >> 18;\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n bg = this._terminal.defAttr & 0x1ff;\n }\n else if (p === 1) {\n flags |= 1;\n }\n else if (p === 4) {\n flags |= 2;\n }\n else if (p === 5) {\n flags |= 4;\n }\n else if (p === 7) {\n flags |= 8;\n }\n else if (p === 8) {\n flags |= 16;\n }\n else if (p === 22) {\n flags &= ~1;\n }\n else if (p === 24) {\n flags &= ~2;\n }\n else if (p === 25) {\n flags &= ~4;\n }\n else if (p === 27) {\n flags &= ~8;\n }\n else if (p === 28) {\n flags &= ~16;\n }\n else if (p === 39) {\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n }\n else if (p === 49) {\n bg = this._terminal.defAttr & 0x1ff;\n }\n else if (p === 38) {\n if (params[i + 1] === 2) {\n i += 2;\n fg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff);\n if (fg === -1)\n fg = 0x1ff;\n i += 2;\n }\n else if (params[i + 1] === 5) {\n i += 2;\n p = params[i] & 0xff;\n fg = p;\n }\n }\n else if (p === 48) {\n if (params[i + 1] === 2) {\n i += 2;\n bg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff);\n if (bg === -1)\n bg = 0x1ff;\n i += 2;\n }\n else if (params[i + 1] === 5) {\n i += 2;\n p = params[i] & 0xff;\n bg = p;\n }\n }\n else if (p === 100) {\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n bg = this._terminal.defAttr & 0x1ff;\n }\n else {\n this._terminal.error('Unknown SGR attribute: %d.', p);\n }\n }\n this._terminal.curAttr = (flags << 18) | (fg << 9) | bg;\n };\n InputHandler.prototype.deviceStatus = function (params) {\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 5:\n this._terminal.send(EscapeSequences_1.C0.ESC + '[0n');\n break;\n case 6:\n this._terminal.send(EscapeSequences_1.C0.ESC + '['\n + (this._terminal.y + 1)\n + ';'\n + (this._terminal.x + 1)\n + 'R');\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 6:\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?'\n + (this._terminal.y + 1)\n + ';'\n + (this._terminal.x + 1)\n + 'R');\n break;\n case 15:\n break;\n case 25:\n break;\n case 26:\n break;\n case 53:\n break;\n }\n }\n };\n InputHandler.prototype.softReset = function (params) {\n this._terminal.cursorHidden = false;\n this._terminal.insertMode = false;\n this._terminal.originMode = false;\n this._terminal.wraparoundMode = true;\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n this._terminal.applicationCursor = false;\n this._terminal.scrollTop = 0;\n this._terminal.scrollBottom = this._terminal.rows - 1;\n this._terminal.curAttr = this._terminal.defAttr;\n this._terminal.x = this._terminal.y = 0;\n this._terminal.charset = null;\n this._terminal.glevel = 0;\n this._terminal.charsets = [null];\n };\n InputHandler.prototype.setCursorStyle = function (params) {\n var param = params[0] < 1 ? 1 : params[0];\n switch (param) {\n case 1:\n case 2:\n this._terminal.setOption('cursorStyle', 'block');\n break;\n case 3:\n case 4:\n this._terminal.setOption('cursorStyle', 'underline');\n break;\n case 5:\n case 6:\n this._terminal.setOption('cursorStyle', 'bar');\n break;\n }\n var isBlinking = param % 2 === 1;\n this._terminal.setOption('cursorBlink', isBlinking);\n };\n InputHandler.prototype.setScrollRegion = function (params) {\n if (this._terminal.prefix)\n return;\n this._terminal.scrollTop = (params[0] || 1) - 1;\n this._terminal.scrollBottom = (params[1] && params[1] <= this._terminal.rows ? params[1] : this._terminal.rows) - 1;\n this._terminal.x = 0;\n this._terminal.y = 0;\n };\n InputHandler.prototype.saveCursor = function (params) {\n this._terminal.savedX = this._terminal.x;\n this._terminal.savedY = this._terminal.y;\n };\n InputHandler.prototype.restoreCursor = function (params) {\n this._terminal.x = this._terminal.savedX || 0;\n this._terminal.y = this._terminal.savedY || 0;\n };\n return InputHandler;\n}());\nexports.InputHandler = InputHandler;\nvar wcwidth = (function (opts) {\n var COMBINING = [\n [0x0300, 0x036F], [0x0483, 0x0486], [0x0488, 0x0489],\n [0x0591, 0x05BD], [0x05BF, 0x05BF], [0x05C1, 0x05C2],\n [0x05C4, 0x05C5], [0x05C7, 0x05C7], [0x0600, 0x0603],\n [0x0610, 0x0615], [0x064B, 0x065E], [0x0670, 0x0670],\n [0x06D6, 0x06E4], [0x06E7, 0x06E8], [0x06EA, 0x06ED],\n [0x070F, 0x070F], [0x0711, 0x0711], [0x0730, 0x074A],\n [0x07A6, 0x07B0], [0x07EB, 0x07F3], [0x0901, 0x0902],\n [0x093C, 0x093C], [0x0941, 0x0948], [0x094D, 0x094D],\n [0x0951, 0x0954], [0x0962, 0x0963], [0x0981, 0x0981],\n [0x09BC, 0x09BC], [0x09C1, 0x09C4], [0x09CD, 0x09CD],\n [0x09E2, 0x09E3], [0x0A01, 0x0A02], [0x0A3C, 0x0A3C],\n [0x0A41, 0x0A42], [0x0A47, 0x0A48], [0x0A4B, 0x0A4D],\n [0x0A70, 0x0A71], [0x0A81, 0x0A82], [0x0ABC, 0x0ABC],\n [0x0AC1, 0x0AC5], [0x0AC7, 0x0AC8], [0x0ACD, 0x0ACD],\n [0x0AE2, 0x0AE3], [0x0B01, 0x0B01], [0x0B3C, 0x0B3C],\n [0x0B3F, 0x0B3F], [0x0B41, 0x0B43], [0x0B4D, 0x0B4D],\n [0x0B56, 0x0B56], [0x0B82, 0x0B82], [0x0BC0, 0x0BC0],\n [0x0BCD, 0x0BCD], [0x0C3E, 0x0C40], [0x0C46, 0x0C48],\n [0x0C4A, 0x0C4D], [0x0C55, 0x0C56], [0x0CBC, 0x0CBC],\n [0x0CBF, 0x0CBF], [0x0CC6, 0x0CC6], [0x0CCC, 0x0CCD],\n [0x0CE2, 0x0CE3], [0x0D41, 0x0D43], [0x0D4D, 0x0D4D],\n [0x0DCA, 0x0DCA], [0x0DD2, 0x0DD4], [0x0DD6, 0x0DD6],\n [0x0E31, 0x0E31], [0x0E34, 0x0E3A], [0x0E47, 0x0E4E],\n [0x0EB1, 0x0EB1], [0x0EB4, 0x0EB9], [0x0EBB, 0x0EBC],\n [0x0EC8, 0x0ECD], [0x0F18, 0x0F19], [0x0F35, 0x0F35],\n [0x0F37, 0x0F37], [0x0F39, 0x0F39], [0x0F71, 0x0F7E],\n [0x0F80, 0x0F84], [0x0F86, 0x0F87], [0x0F90, 0x0F97],\n [0x0F99, 0x0FBC], [0x0FC6, 0x0FC6], [0x102D, 0x1030],\n [0x1032, 0x1032], [0x1036, 0x1037], [0x1039, 0x1039],\n [0x1058, 0x1059], [0x1160, 0x11FF], [0x135F, 0x135F],\n [0x1712, 0x1714], [0x1732, 0x1734], [0x1752, 0x1753],\n [0x1772, 0x1773], [0x17B4, 0x17B5], [0x17B7, 0x17BD],\n [0x17C6, 0x17C6], [0x17C9, 0x17D3], [0x17DD, 0x17DD],\n [0x180B, 0x180D], [0x18A9, 0x18A9], [0x1920, 0x1922],\n [0x1927, 0x1928], [0x1932, 0x1932], [0x1939, 0x193B],\n [0x1A17, 0x1A18], [0x1B00, 0x1B03], [0x1B34, 0x1B34],\n [0x1B36, 0x1B3A], [0x1B3C, 0x1B3C], [0x1B42, 0x1B42],\n [0x1B6B, 0x1B73], [0x1DC0, 0x1DCA], [0x1DFE, 0x1DFF],\n [0x200B, 0x200F], [0x202A, 0x202E], [0x2060, 0x2063],\n [0x206A, 0x206F], [0x20D0, 0x20EF], [0x302A, 0x302F],\n [0x3099, 0x309A], [0xA806, 0xA806], [0xA80B, 0xA80B],\n [0xA825, 0xA826], [0xFB1E, 0xFB1E], [0xFE00, 0xFE0F],\n [0xFE20, 0xFE23], [0xFEFF, 0xFEFF], [0xFFF9, 0xFFFB],\n [0x10A01, 0x10A03], [0x10A05, 0x10A06], [0x10A0C, 0x10A0F],\n [0x10A38, 0x10A3A], [0x10A3F, 0x10A3F], [0x1D167, 0x1D169],\n [0x1D173, 0x1D182], [0x1D185, 0x1D18B], [0x1D1AA, 0x1D1AD],\n [0x1D242, 0x1D244], [0xE0001, 0xE0001], [0xE0020, 0xE007F],\n [0xE0100, 0xE01EF]\n ];\n function bisearch(ucs) {\n var min = 0;\n var max = COMBINING.length - 1;\n var mid;\n if (ucs < COMBINING[0][0] || ucs > COMBINING[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > COMBINING[mid][1])\n min = mid + 1;\n else if (ucs < COMBINING[mid][0])\n max = mid - 1;\n else\n return true;\n }\n return false;\n }\n function wcwidth(ucs) {\n if (ucs === 0)\n return opts.nul;\n if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0))\n return opts.control;\n if (bisearch(ucs))\n return 0;\n if (isWide(ucs)) {\n return 2;\n }\n return 1;\n }\n function isWide(ucs) {\n return (ucs >= 0x1100 && (ucs <= 0x115f ||\n ucs === 0x2329 ||\n ucs === 0x232a ||\n (ucs >= 0x2e80 && ucs <= 0xa4cf && ucs !== 0x303f) ||\n (ucs >= 0xac00 && ucs <= 0xd7a3) ||\n (ucs >= 0xf900 && ucs <= 0xfaff) ||\n (ucs >= 0xfe10 && ucs <= 0xfe19) ||\n (ucs >= 0xfe30 && ucs <= 0xfe6f) ||\n (ucs >= 0xff00 && ucs <= 0xff60) ||\n (ucs >= 0xffe0 && ucs <= 0xffe6) ||\n (ucs >= 0x20000 && ucs <= 0x2fffd) ||\n (ucs >= 0x30000 && ucs <= 0x3fffd)));\n }\n return wcwidth;\n})({ nul: 0, control: 0 });\n\n//# sourceMappingURL=InputHandler.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/InputHandler.js\n// module id = 17\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar INVALID_LINK_CLASS = 'xterm-invalid-link';\nvar protocolClause = '(https?:\\\\/\\\\/)';\nvar domainCharacterSet = '[\\\\da-z\\\\.-]+';\nvar negatedDomainCharacterSet = '[^\\\\da-z\\\\.-]+';\nvar domainBodyClause = '(' + domainCharacterSet + ')';\nvar tldClause = '([a-z\\\\.]{2,6})';\nvar ipClause = '((\\\\d{1,3}\\\\.){3}\\\\d{1,3})';\nvar localHostClause = '(localhost)';\nvar portClause = '(:\\\\d{1,5})';\nvar hostClause = '((' + domainBodyClause + '\\\\.' + tldClause + ')|' + ipClause + '|' + localHostClause + ')' + portClause + '?';\nvar pathClause = '(\\\\/[\\\\/\\\\w\\\\.\\\\-%~]*)*';\nvar queryStringHashFragmentCharacterSet = '[0-9\\\\w\\\\[\\\\]\\\\(\\\\)\\\\/\\\\?\\\\!#@$%&\\'*+,:;~\\\\=\\\\.\\\\-]*';\nvar queryStringClause = '(\\\\?' + queryStringHashFragmentCharacterSet + ')?';\nvar hashFragmentClause = '(#' + queryStringHashFragmentCharacterSet + ')?';\nvar negatedPathCharacterSet = '[^\\\\/\\\\w\\\\.\\\\-%]+';\nvar bodyClause = hostClause + pathClause + queryStringClause + hashFragmentClause;\nvar start = '(?:^|' + negatedDomainCharacterSet + ')(';\nvar end = ')($|' + negatedPathCharacterSet + ')';\nvar strictUrlRegex = new RegExp(start + protocolClause + bodyClause + end);\nvar HYPERTEXT_LINK_MATCHER_ID = 0;\nvar Linkifier = (function () {\n function Linkifier() {\n this._nextLinkMatcherId = HYPERTEXT_LINK_MATCHER_ID;\n this._rowTimeoutIds = [];\n this._linkMatchers = [];\n this.registerLinkMatcher(strictUrlRegex, null, { matchIndex: 1 });\n }\n Linkifier.prototype.attachToDom = function (document, rows) {\n this._document = document;\n this._rows = rows;\n };\n Linkifier.prototype.linkifyRow = function (rowIndex) {\n if (!this._document) {\n return;\n }\n var timeoutId = this._rowTimeoutIds[rowIndex];\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n this._rowTimeoutIds[rowIndex] = setTimeout(this._linkifyRow.bind(this, rowIndex), Linkifier.TIME_BEFORE_LINKIFY);\n };\n Linkifier.prototype.setHypertextLinkHandler = function (handler) {\n this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].handler = handler;\n };\n Linkifier.prototype.setHypertextValidationCallback = function (callback) {\n this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].validationCallback = callback;\n };\n Linkifier.prototype.registerLinkMatcher = function (regex, handler, options) {\n if (options === void 0) { options = {}; }\n if (this._nextLinkMatcherId !== HYPERTEXT_LINK_MATCHER_ID && !handler) {\n throw new Error('handler must be defined');\n }\n var matcher = {\n id: this._nextLinkMatcherId++,\n regex: regex,\n handler: handler,\n matchIndex: options.matchIndex,\n validationCallback: options.validationCallback,\n priority: options.priority || 0\n };\n this._addLinkMatcherToList(matcher);\n return matcher.id;\n };\n Linkifier.prototype._addLinkMatcherToList = function (matcher) {\n if (this._linkMatchers.length === 0) {\n this._linkMatchers.push(matcher);\n return;\n }\n for (var i = this._linkMatchers.length - 1; i >= 0; i--) {\n if (matcher.priority <= this._linkMatchers[i].priority) {\n this._linkMatchers.splice(i + 1, 0, matcher);\n return;\n }\n }\n this._linkMatchers.splice(0, 0, matcher);\n };\n Linkifier.prototype.deregisterLinkMatcher = function (matcherId) {\n for (var i = 1; i < this._linkMatchers.length; i++) {\n if (this._linkMatchers[i].id === matcherId) {\n this._linkMatchers.splice(i, 1);\n return true;\n }\n }\n return false;\n };\n Linkifier.prototype._linkifyRow = function (rowIndex) {\n var row = this._rows[rowIndex];\n if (!row) {\n return;\n }\n var text = row.textContent;\n for (var i = 0; i < this._linkMatchers.length; i++) {\n var matcher = this._linkMatchers[i];\n var linkElements = this._doLinkifyRow(row, matcher);\n if (linkElements.length > 0) {\n if (matcher.validationCallback) {\n var _loop_1 = function (j) {\n var element = linkElements[j];\n matcher.validationCallback(element.textContent, element, function (isValid) {\n if (!isValid) {\n element.classList.add(INVALID_LINK_CLASS);\n }\n });\n };\n for (var j = 0; j < linkElements.length; j++) {\n _loop_1(j);\n }\n }\n return;\n }\n }\n };\n Linkifier.prototype._doLinkifyRow = function (row, matcher) {\n var result = [];\n var isHttpLinkMatcher = matcher.id === HYPERTEXT_LINK_MATCHER_ID;\n var nodes = row.childNodes;\n var match = row.textContent.match(matcher.regex);\n if (!match || match.length === 0) {\n return result;\n }\n var uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];\n var rowStartIndex = match.index + uri.length;\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n var searchIndex = node.textContent.indexOf(uri);\n if (searchIndex >= 0) {\n var linkElement = this._createAnchorElement(uri, matcher.handler, isHttpLinkMatcher);\n if (node.textContent.length === uri.length) {\n if (node.nodeType === 3) {\n this._replaceNode(node, linkElement);\n }\n else {\n var element = node;\n if (element.nodeName === 'A') {\n return result;\n }\n element.innerHTML = '';\n element.appendChild(linkElement);\n }\n }\n else if (node.childNodes.length > 1) {\n for (var j = 0; j < node.childNodes.length; j++) {\n var childNode = node.childNodes[j];\n var childSearchIndex = childNode.textContent.indexOf(uri);\n if (childSearchIndex !== -1) {\n this._replaceNodeSubstringWithNode(childNode, linkElement, uri, childSearchIndex);\n break;\n }\n }\n }\n else {\n var nodesAdded = this._replaceNodeSubstringWithNode(node, linkElement, uri, searchIndex);\n i += nodesAdded;\n }\n result.push(linkElement);\n match = row.textContent.substring(rowStartIndex).match(matcher.regex);\n if (!match || match.length === 0) {\n return result;\n }\n uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];\n rowStartIndex += match.index + uri.length;\n }\n }\n return result;\n };\n Linkifier.prototype._createAnchorElement = function (uri, handler, isHypertextLinkHandler) {\n var element = this._document.createElement('a');\n element.textContent = uri;\n element.draggable = false;\n if (isHypertextLinkHandler) {\n element.href = uri;\n element.target = '_blank';\n element.addEventListener('click', function (event) {\n if (handler) {\n return handler(event, uri);\n }\n });\n }\n else {\n element.addEventListener('click', function (event) {\n if (element.classList.contains(INVALID_LINK_CLASS)) {\n return;\n }\n return handler(event, uri);\n });\n }\n return element;\n };\n Linkifier.prototype._replaceNode = function (oldNode) {\n var newNodes = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n newNodes[_i - 1] = arguments[_i];\n }\n var parent = oldNode.parentNode;\n for (var i = 0; i < newNodes.length; i++) {\n parent.insertBefore(newNodes[i], oldNode);\n }\n parent.removeChild(oldNode);\n };\n Linkifier.prototype._replaceNodeSubstringWithNode = function (targetNode, newNode, substring, substringIndex) {\n if (targetNode.childNodes.length === 1) {\n targetNode = targetNode.childNodes[0];\n }\n if (targetNode.nodeType !== 3) {\n throw new Error('targetNode must be a text node or only contain a single text node');\n }\n var fullText = targetNode.textContent;\n if (substringIndex === 0) {\n var rightText_1 = fullText.substring(substring.length);\n var rightTextNode_1 = this._document.createTextNode(rightText_1);\n this._replaceNode(targetNode, newNode, rightTextNode_1);\n return 0;\n }\n if (substringIndex === targetNode.textContent.length - substring.length) {\n var leftText_1 = fullText.substring(0, substringIndex);\n var leftTextNode_1 = this._document.createTextNode(leftText_1);\n this._replaceNode(targetNode, leftTextNode_1, newNode);\n return 0;\n }\n var leftText = fullText.substring(0, substringIndex);\n var leftTextNode = this._document.createTextNode(leftText);\n var rightText = fullText.substring(substringIndex + substring.length);\n var rightTextNode = this._document.createTextNode(rightText);\n this._replaceNode(targetNode, leftTextNode, newNode, rightTextNode);\n return 1;\n };\n return Linkifier;\n}());\nLinkifier.TIME_BEFORE_LINKIFY = 200;\nexports.Linkifier = Linkifier;\n\n//# sourceMappingURL=Linkifier.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Linkifier.js\n// module id = 18\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar Charsets_1 = require(\"./Charsets\");\nvar normalStateHandler = {};\nnormalStateHandler[EscapeSequences_1.C0.BEL] = function (parser, handler) { return handler.bell(); };\nnormalStateHandler[EscapeSequences_1.C0.LF] = function (parser, handler) { return handler.lineFeed(); };\nnormalStateHandler[EscapeSequences_1.C0.VT] = normalStateHandler[EscapeSequences_1.C0.LF];\nnormalStateHandler[EscapeSequences_1.C0.FF] = normalStateHandler[EscapeSequences_1.C0.LF];\nnormalStateHandler[EscapeSequences_1.C0.CR] = function (parser, handler) { return handler.carriageReturn(); };\nnormalStateHandler[EscapeSequences_1.C0.BS] = function (parser, handler) { return handler.backspace(); };\nnormalStateHandler[EscapeSequences_1.C0.HT] = function (parser, handler) { return handler.tab(); };\nnormalStateHandler[EscapeSequences_1.C0.SO] = function (parser, handler) { return handler.shiftOut(); };\nnormalStateHandler[EscapeSequences_1.C0.SI] = function (parser, handler) { return handler.shiftIn(); };\nnormalStateHandler[EscapeSequences_1.C0.ESC] = function (parser, handler) { return parser.setState(ParserState.ESCAPED); };\nvar escapedStateHandler = {};\nescapedStateHandler['['] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.CSI_PARAM);\n};\nescapedStateHandler[']'] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.OSC);\n};\nescapedStateHandler['P'] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.DCS);\n};\nescapedStateHandler['_'] = function (parser, terminal) {\n parser.setState(ParserState.IGNORE);\n};\nescapedStateHandler['^'] = function (parser, terminal) {\n parser.setState(ParserState.IGNORE);\n};\nescapedStateHandler['c'] = function (parser, terminal) {\n terminal.reset();\n};\nescapedStateHandler['E'] = function (parser, terminal) {\n terminal.x = 0;\n terminal.index();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['D'] = function (parser, terminal) {\n terminal.index();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['M'] = function (parser, terminal) {\n terminal.reverseIndex();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['%'] = function (parser, terminal) {\n terminal.setgLevel(0);\n terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET);\n parser.setState(ParserState.NORMAL);\n parser.skipNextChar();\n};\nescapedStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); };\nvar csiParamStateHandler = {};\ncsiParamStateHandler['?'] = function (parser) { return parser.setPrefix('?'); };\ncsiParamStateHandler['>'] = function (parser) { return parser.setPrefix('>'); };\ncsiParamStateHandler['!'] = function (parser) { return parser.setPrefix('!'); };\ncsiParamStateHandler['0'] = function (parser) { return parser.setParam(parser.getParam() * 10); };\ncsiParamStateHandler['1'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 1); };\ncsiParamStateHandler['2'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 2); };\ncsiParamStateHandler['3'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 3); };\ncsiParamStateHandler['4'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 4); };\ncsiParamStateHandler['5'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 5); };\ncsiParamStateHandler['6'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 6); };\ncsiParamStateHandler['7'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 7); };\ncsiParamStateHandler['8'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 8); };\ncsiParamStateHandler['9'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 9); };\ncsiParamStateHandler['$'] = function (parser) { return parser.setPostfix('$'); };\ncsiParamStateHandler['\"'] = function (parser) { return parser.setPostfix('\"'); };\ncsiParamStateHandler[' '] = function (parser) { return parser.setPostfix(' '); };\ncsiParamStateHandler['\\''] = function (parser) { return parser.setPostfix('\\''); };\ncsiParamStateHandler[';'] = function (parser) { return parser.finalizeParam(); };\ncsiParamStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); };\nvar csiStateHandler = {};\ncsiStateHandler['@'] = function (handler, params, prefix) { return handler.insertChars(params); };\ncsiStateHandler['A'] = function (handler, params, prefix) { return handler.cursorUp(params); };\ncsiStateHandler['B'] = function (handler, params, prefix) { return handler.cursorDown(params); };\ncsiStateHandler['C'] = function (handler, params, prefix) { return handler.cursorForward(params); };\ncsiStateHandler['D'] = function (handler, params, prefix) { return handler.cursorBackward(params); };\ncsiStateHandler['E'] = function (handler, params, prefix) { return handler.cursorNextLine(params); };\ncsiStateHandler['F'] = function (handler, params, prefix) { return handler.cursorPrecedingLine(params); };\ncsiStateHandler['G'] = function (handler, params, prefix) { return handler.cursorCharAbsolute(params); };\ncsiStateHandler['H'] = function (handler, params, prefix) { return handler.cursorPosition(params); };\ncsiStateHandler['I'] = function (handler, params, prefix) { return handler.cursorForwardTab(params); };\ncsiStateHandler['J'] = function (handler, params, prefix) { return handler.eraseInDisplay(params); };\ncsiStateHandler['K'] = function (handler, params, prefix) { return handler.eraseInLine(params); };\ncsiStateHandler['L'] = function (handler, params, prefix) { return handler.insertLines(params); };\ncsiStateHandler['M'] = function (handler, params, prefix) { return handler.deleteLines(params); };\ncsiStateHandler['P'] = function (handler, params, prefix) { return handler.deleteChars(params); };\ncsiStateHandler['S'] = function (handler, params, prefix) { return handler.scrollUp(params); };\ncsiStateHandler['T'] = function (handler, params, prefix) {\n if (params.length < 2 && !prefix) {\n handler.scrollDown(params);\n }\n};\ncsiStateHandler['X'] = function (handler, params, prefix) { return handler.eraseChars(params); };\ncsiStateHandler['Z'] = function (handler, params, prefix) { return handler.cursorBackwardTab(params); };\ncsiStateHandler['`'] = function (handler, params, prefix) { return handler.charPosAbsolute(params); };\ncsiStateHandler['a'] = function (handler, params, prefix) { return handler.HPositionRelative(params); };\ncsiStateHandler['b'] = function (handler, params, prefix) { return handler.repeatPrecedingCharacter(params); };\ncsiStateHandler['c'] = function (handler, params, prefix) { return handler.sendDeviceAttributes(params); };\ncsiStateHandler['d'] = function (handler, params, prefix) { return handler.linePosAbsolute(params); };\ncsiStateHandler['e'] = function (handler, params, prefix) { return handler.VPositionRelative(params); };\ncsiStateHandler['f'] = function (handler, params, prefix) { return handler.HVPosition(params); };\ncsiStateHandler['g'] = function (handler, params, prefix) { return handler.tabClear(params); };\ncsiStateHandler['h'] = function (handler, params, prefix) { return handler.setMode(params); };\ncsiStateHandler['l'] = function (handler, params, prefix) { return handler.resetMode(params); };\ncsiStateHandler['m'] = function (handler, params, prefix) { return handler.charAttributes(params); };\ncsiStateHandler['n'] = function (handler, params, prefix) { return handler.deviceStatus(params); };\ncsiStateHandler['p'] = function (handler, params, prefix) {\n switch (prefix) {\n case '!':\n handler.softReset(params);\n break;\n }\n};\ncsiStateHandler['q'] = function (handler, params, prefix, postfix) {\n if (postfix === ' ') {\n handler.setCursorStyle(params);\n }\n};\ncsiStateHandler['r'] = function (handler, params) { return handler.setScrollRegion(params); };\ncsiStateHandler['s'] = function (handler, params) { return handler.saveCursor(params); };\ncsiStateHandler['u'] = function (handler, params) { return handler.restoreCursor(params); };\ncsiStateHandler[EscapeSequences_1.C0.CAN] = function (handler, params, prefix, postfix, parser) { return parser.setState(ParserState.NORMAL); };\nvar ParserState;\n(function (ParserState) {\n ParserState[ParserState[\"NORMAL\"] = 0] = \"NORMAL\";\n ParserState[ParserState[\"ESCAPED\"] = 1] = \"ESCAPED\";\n ParserState[ParserState[\"CSI_PARAM\"] = 2] = \"CSI_PARAM\";\n ParserState[ParserState[\"CSI\"] = 3] = \"CSI\";\n ParserState[ParserState[\"OSC\"] = 4] = \"OSC\";\n ParserState[ParserState[\"CHARSET\"] = 5] = \"CHARSET\";\n ParserState[ParserState[\"DCS\"] = 6] = \"DCS\";\n ParserState[ParserState[\"IGNORE\"] = 7] = \"IGNORE\";\n})(ParserState || (ParserState = {}));\nvar Parser = (function () {\n function Parser(_inputHandler, _terminal) {\n this._inputHandler = _inputHandler;\n this._terminal = _terminal;\n this._state = ParserState.NORMAL;\n }\n Parser.prototype.parse = function (data) {\n var l = data.length, j, cs, ch, code, low;\n this._position = 0;\n if (this._terminal.surrogate_high) {\n data = this._terminal.surrogate_high + data;\n this._terminal.surrogate_high = '';\n }\n for (; this._position < l; this._position++) {\n ch = data[this._position];\n code = data.charCodeAt(this._position);\n if (0xD800 <= code && code <= 0xDBFF) {\n low = data.charCodeAt(this._position + 1);\n if (isNaN(low)) {\n this._terminal.surrogate_high = ch;\n continue;\n }\n code = ((code - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;\n ch += data.charAt(this._position + 1);\n }\n if (0xDC00 <= code && code <= 0xDFFF)\n continue;\n switch (this._state) {\n case ParserState.NORMAL:\n if (ch in normalStateHandler) {\n normalStateHandler[ch](this, this._inputHandler);\n }\n else {\n this._inputHandler.addChar(ch, code);\n }\n break;\n case ParserState.ESCAPED:\n if (ch in escapedStateHandler) {\n escapedStateHandler[ch](this, this._terminal);\n break;\n }\n switch (ch) {\n case '(':\n case ')':\n case '*':\n case '+':\n case '-':\n case '.':\n switch (ch) {\n case '(':\n this._terminal.gcharset = 0;\n break;\n case ')':\n this._terminal.gcharset = 1;\n break;\n case '*':\n this._terminal.gcharset = 2;\n break;\n case '+':\n this._terminal.gcharset = 3;\n break;\n case '-':\n this._terminal.gcharset = 1;\n break;\n case '.':\n this._terminal.gcharset = 2;\n break;\n }\n this._state = ParserState.CHARSET;\n break;\n case '/':\n this._terminal.gcharset = 3;\n this._state = ParserState.CHARSET;\n this._position--;\n break;\n case 'N':\n break;\n case 'O':\n break;\n case 'n':\n this._terminal.setgLevel(2);\n break;\n case 'o':\n this._terminal.setgLevel(3);\n break;\n case '|':\n this._terminal.setgLevel(3);\n break;\n case '}':\n this._terminal.setgLevel(2);\n break;\n case '~':\n this._terminal.setgLevel(1);\n break;\n case '7':\n this._inputHandler.saveCursor();\n this._state = ParserState.NORMAL;\n break;\n case '8':\n this._inputHandler.restoreCursor();\n this._state = ParserState.NORMAL;\n break;\n case '#':\n this._state = ParserState.NORMAL;\n this._position++;\n break;\n case 'H':\n this._terminal.tabSet();\n this._state = ParserState.NORMAL;\n break;\n case '=':\n this._terminal.log('Serial port requested application keypad.');\n this._terminal.applicationKeypad = true;\n this._terminal.viewport.syncScrollArea();\n this._state = ParserState.NORMAL;\n break;\n case '>':\n this._terminal.log('Switching back to normal keypad.');\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n this._state = ParserState.NORMAL;\n break;\n default:\n this._state = ParserState.NORMAL;\n this._terminal.error('Unknown ESC control: %s.', ch);\n break;\n }\n break;\n case ParserState.CHARSET:\n if (ch in Charsets_1.CHARSETS) {\n cs = Charsets_1.CHARSETS[ch];\n if (ch === '/') {\n this.skipNextChar();\n }\n }\n else {\n cs = Charsets_1.DEFAULT_CHARSET;\n }\n this._terminal.setgCharset(this._terminal.gcharset, cs);\n this._terminal.gcharset = null;\n this._state = ParserState.NORMAL;\n break;\n case ParserState.OSC:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n this._terminal.params.push(this._terminal.currentParam);\n switch (this._terminal.params[0]) {\n case 0:\n case 1:\n case 2:\n if (this._terminal.params[1]) {\n this._terminal.title = this._terminal.params[1];\n this._terminal.handleTitle(this._terminal.title);\n }\n break;\n case 3:\n break;\n case 4:\n case 5:\n break;\n case 10:\n case 11:\n case 12:\n case 13:\n case 14:\n case 15:\n case 16:\n case 17:\n case 18:\n case 19:\n break;\n case 46:\n break;\n case 50:\n break;\n case 51:\n break;\n case 52:\n break;\n case 104:\n case 105:\n case 110:\n case 111:\n case 112:\n case 113:\n case 114:\n case 115:\n case 116:\n case 117:\n case 118:\n break;\n }\n this._terminal.params = [];\n this._terminal.currentParam = 0;\n this._state = ParserState.NORMAL;\n }\n else {\n if (!this._terminal.params.length) {\n if (ch >= '0' && ch <= '9') {\n this._terminal.currentParam =\n this._terminal.currentParam * 10 + ch.charCodeAt(0) - 48;\n }\n else if (ch === ';') {\n this._terminal.params.push(this._terminal.currentParam);\n this._terminal.currentParam = '';\n }\n }\n else {\n this._terminal.currentParam += ch;\n }\n }\n break;\n case ParserState.CSI_PARAM:\n if (ch in csiParamStateHandler) {\n csiParamStateHandler[ch](this);\n break;\n }\n this.finalizeParam();\n this._state = ParserState.CSI;\n case ParserState.CSI:\n if (ch in csiStateHandler) {\n csiStateHandler[ch](this._inputHandler, this._terminal.params, this._terminal.prefix, this._terminal.postfix, this);\n }\n else {\n this._terminal.error('Unknown CSI code: %s.', ch);\n }\n this._state = ParserState.NORMAL;\n this._terminal.prefix = '';\n this._terminal.postfix = '';\n break;\n case ParserState.DCS:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n var pt = void 0;\n var valid = void 0;\n switch (this._terminal.prefix) {\n case '':\n break;\n case '$q':\n pt = this._terminal.currentParam;\n valid = false;\n switch (pt) {\n case '\"q':\n pt = '0\"q';\n break;\n case '\"p':\n pt = '61\"p';\n break;\n case 'r':\n pt = ''\n + (this._terminal.scrollTop + 1)\n + ';'\n + (this._terminal.scrollBottom + 1)\n + 'r';\n break;\n case 'm':\n pt = '0m';\n break;\n default:\n this._terminal.error('Unknown DCS Pt: %s.', pt);\n pt = '';\n break;\n }\n this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '$r' + pt + EscapeSequences_1.C0.ESC + '\\\\');\n break;\n case '+p':\n break;\n case '+q':\n pt = this._terminal.currentParam;\n valid = false;\n this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '+r' + pt + EscapeSequences_1.C0.ESC + '\\\\');\n break;\n default:\n this._terminal.error('Unknown DCS prefix: %s.', this._terminal.prefix);\n break;\n }\n this._terminal.currentParam = 0;\n this._terminal.prefix = '';\n this._state = ParserState.NORMAL;\n }\n else if (!this._terminal.currentParam) {\n if (!this._terminal.prefix && ch !== '$' && ch !== '+') {\n this._terminal.currentParam = ch;\n }\n else if (this._terminal.prefix.length === 2) {\n this._terminal.currentParam = ch;\n }\n else {\n this._terminal.prefix += ch;\n }\n }\n else {\n this._terminal.currentParam += ch;\n }\n break;\n case ParserState.IGNORE:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n this._state = ParserState.NORMAL;\n }\n break;\n }\n }\n return this._state;\n };\n Parser.prototype.setState = function (state) {\n this._state = state;\n };\n Parser.prototype.setPrefix = function (prefix) {\n this._terminal.prefix = prefix;\n };\n Parser.prototype.setPostfix = function (postfix) {\n this._terminal.postfix = postfix;\n };\n Parser.prototype.setParam = function (param) {\n this._terminal.currentParam = param;\n };\n Parser.prototype.getParam = function () {\n return this._terminal.currentParam;\n };\n Parser.prototype.finalizeParam = function () {\n this._terminal.params.push(this._terminal.currentParam);\n this._terminal.currentParam = 0;\n };\n Parser.prototype.skipNextChar = function () {\n this._position++;\n };\n return Parser;\n}());\nexports.Parser = Parser;\n\n//# sourceMappingURL=Parser.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Parser.js\n// module id = 19\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DomElementObjectPool_1 = require(\"./utils/DomElementObjectPool\");\nvar MAX_REFRESH_FRAME_SKIP = 5;\nvar FLAGS;\n(function (FLAGS) {\n FLAGS[FLAGS[\"BOLD\"] = 1] = \"BOLD\";\n FLAGS[FLAGS[\"UNDERLINE\"] = 2] = \"UNDERLINE\";\n FLAGS[FLAGS[\"BLINK\"] = 4] = \"BLINK\";\n FLAGS[FLAGS[\"INVERSE\"] = 8] = \"INVERSE\";\n FLAGS[FLAGS[\"INVISIBLE\"] = 16] = \"INVISIBLE\";\n})(FLAGS || (FLAGS = {}));\n;\nvar brokenBold = null;\nvar Renderer = (function () {\n function Renderer(_terminal) {\n this._terminal = _terminal;\n this._refreshRowsQueue = [];\n this._refreshFramesSkipped = 0;\n this._refreshAnimationFrame = null;\n this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span');\n if (brokenBold === null) {\n brokenBold = checkBoldBroken(this._terminal.element);\n }\n this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span');\n }\n Renderer.prototype.queueRefresh = function (start, end) {\n this._refreshRowsQueue.push({ start: start, end: end });\n if (!this._refreshAnimationFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this));\n }\n };\n Renderer.prototype._refreshLoop = function () {\n var skipFrame = this._terminal.writeBuffer.length > 0 && this._refreshFramesSkipped++ <= MAX_REFRESH_FRAME_SKIP;\n if (skipFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this));\n return;\n }\n this._refreshFramesSkipped = 0;\n var start;\n var end;\n if (this._refreshRowsQueue.length > 4) {\n start = 0;\n end = this._terminal.rows - 1;\n }\n else {\n start = this._refreshRowsQueue[0].start;\n end = this._refreshRowsQueue[0].end;\n for (var i = 1; i < this._refreshRowsQueue.length; i++) {\n if (this._refreshRowsQueue[i].start < start) {\n start = this._refreshRowsQueue[i].start;\n }\n if (this._refreshRowsQueue[i].end > end) {\n end = this._refreshRowsQueue[i].end;\n }\n }\n }\n this._refreshRowsQueue = [];\n this._refreshAnimationFrame = null;\n this._refresh(start, end);\n };\n Renderer.prototype._refresh = function (start, end) {\n var parent;\n if (end - start >= this._terminal.rows / 2) {\n parent = this._terminal.element.parentNode;\n if (parent) {\n this._terminal.element.removeChild(this._terminal.rowContainer);\n }\n }\n var width = this._terminal.cols;\n var y = start;\n if (end >= this._terminal.rows) {\n this._terminal.log('`end` is too large. Most likely a bad CSR.');\n end = this._terminal.rows - 1;\n }\n for (; y <= end; y++) {\n var row = y + this._terminal.ydisp;\n var line = this._terminal.lines.get(row);\n var x = void 0;\n if (this._terminal.y === y - (this._terminal.ybase - this._terminal.ydisp) &&\n this._terminal.cursorState &&\n !this._terminal.cursorHidden) {\n x = this._terminal.x;\n }\n else {\n x = -1;\n }\n var attr = this._terminal.defAttr;\n var documentFragment = document.createDocumentFragment();\n var innerHTML = '';\n var currentElement = void 0;\n while (this._terminal.children[y].children.length) {\n var child = this._terminal.children[y].children[0];\n this._terminal.children[y].removeChild(child);\n this._spanElementObjectPool.release(child);\n }\n for (var i = 0; i < width; i++) {\n var data = line[i][0];\n var ch = line[i][1];\n var ch_width = line[i][2];\n if (!ch_width) {\n continue;\n }\n if (i === x) {\n data = -1;\n }\n if (data !== attr) {\n if (attr !== this._terminal.defAttr) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n currentElement = null;\n }\n if (data !== this._terminal.defAttr) {\n if (innerHTML && !currentElement) {\n currentElement = this._spanElementObjectPool.acquire();\n }\n if (currentElement) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n }\n currentElement = this._spanElementObjectPool.acquire();\n if (data === -1) {\n currentElement.classList.add('reverse-video');\n currentElement.classList.add('terminal-cursor');\n }\n else {\n var bg = data & 0x1ff;\n var fg = (data >> 9) & 0x1ff;\n var flags = data >> 18;\n if (flags & FLAGS.BOLD) {\n if (!brokenBold) {\n currentElement.classList.add('xterm-bold');\n }\n if (fg < 8) {\n fg += 8;\n }\n }\n if (flags & FLAGS.UNDERLINE) {\n currentElement.classList.add('xterm-underline');\n }\n if (flags & FLAGS.BLINK) {\n currentElement.classList.add('xterm-blink');\n }\n if (flags & FLAGS.INVERSE) {\n var temp = bg;\n bg = fg;\n fg = temp;\n if ((flags & 1) && fg < 8) {\n fg += 8;\n }\n }\n if (flags & FLAGS.INVISIBLE) {\n currentElement.classList.add('xterm-hidden');\n }\n if (flags & FLAGS.INVERSE) {\n if (bg === 257) {\n bg = 15;\n }\n if (fg === 256) {\n fg = 0;\n }\n }\n if (bg < 256) {\n currentElement.classList.add(\"xterm-bg-color-\" + bg);\n }\n if (fg < 256) {\n currentElement.classList.add(\"xterm-color-\" + fg);\n }\n }\n }\n }\n if (ch_width === 2) {\n innerHTML += \"\" + ch + \"\";\n }\n else if (ch.charCodeAt(0) > 255) {\n innerHTML += \"\" + ch + \"\";\n }\n else {\n switch (ch) {\n case '&':\n innerHTML += '&';\n break;\n case '<':\n innerHTML += '<';\n break;\n case '>':\n innerHTML += '>';\n break;\n default:\n if (ch <= ' ') {\n innerHTML += ' ';\n }\n else {\n innerHTML += ch;\n }\n break;\n }\n }\n attr = data;\n }\n if (innerHTML && !currentElement) {\n currentElement = this._spanElementObjectPool.acquire();\n }\n if (currentElement) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n currentElement = null;\n }\n this._terminal.children[y].appendChild(documentFragment);\n }\n if (parent) {\n this._terminal.element.appendChild(this._terminal.rowContainer);\n }\n this._terminal.emit('refresh', { element: this._terminal.element, start: start, end: end });\n };\n ;\n Renderer.prototype.refreshSelection = function (start, end) {\n while (this._terminal.selectionContainer.children.length) {\n this._terminal.selectionContainer.removeChild(this._terminal.selectionContainer.children[0]);\n }\n if (!start || !end) {\n return;\n }\n var viewportStartRow = start[1] - this._terminal.ydisp;\n var viewportEndRow = end[1] - this._terminal.ydisp;\n var viewportCappedStartRow = Math.max(viewportStartRow, 0);\n var viewportCappedEndRow = Math.min(viewportEndRow, this._terminal.rows - 1);\n if (viewportCappedStartRow >= this._terminal.rows || viewportCappedEndRow < 0) {\n return;\n }\n var documentFragment = document.createDocumentFragment();\n var startCol = viewportStartRow === viewportCappedStartRow ? start[0] : 0;\n var endCol = viewportCappedStartRow === viewportCappedEndRow ? end[0] : this._terminal.cols;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow, startCol, endCol));\n var middleRowsCount = viewportCappedEndRow - viewportCappedStartRow - 1;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow + 1, 0, this._terminal.cols, middleRowsCount));\n if (viewportCappedStartRow !== viewportCappedEndRow) {\n var endCol_1 = viewportEndRow === viewportCappedEndRow ? end[0] : this._terminal.cols;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedEndRow, 0, endCol_1));\n }\n this._terminal.selectionContainer.appendChild(documentFragment);\n };\n Renderer.prototype._createSelectionElement = function (row, colStart, colEnd, rowCount) {\n if (rowCount === void 0) { rowCount = 1; }\n var element = document.createElement('div');\n element.style.height = rowCount * this._terminal.charMeasure.height + \"px\";\n element.style.top = row * this._terminal.charMeasure.height + \"px\";\n element.style.left = colStart * this._terminal.charMeasure.width + \"px\";\n element.style.width = this._terminal.charMeasure.width * (colEnd - colStart) + \"px\";\n return element;\n };\n return Renderer;\n}());\nexports.Renderer = Renderer;\nfunction checkBoldBroken(terminal) {\n var document = terminal.ownerDocument;\n var el = document.createElement('span');\n el.innerHTML = 'hello world';\n terminal.appendChild(el);\n var w1 = el.offsetWidth;\n var h1 = el.offsetHeight;\n el.style.fontWeight = 'bold';\n var w2 = el.offsetWidth;\n var h2 = el.offsetHeight;\n terminal.removeChild(el);\n return w1 !== w2 || h1 !== h2;\n}\n\n//# sourceMappingURL=Renderer.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Renderer.js\n// module id = 20\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Mouse = require(\"./utils/Mouse\");\nvar Browser = require(\"./utils/Browser\");\nvar EventEmitter_1 = require(\"./EventEmitter\");\nvar SelectionModel_1 = require(\"./SelectionModel\");\nvar DRAG_SCROLL_MAX_THRESHOLD = 50;\nvar DRAG_SCROLL_MAX_SPEED = 15;\nvar DRAG_SCROLL_INTERVAL = 50;\nvar CLEAR_MOUSE_DOWN_TIME = 400;\nvar CLEAR_MOUSE_DISTANCE = 10;\nvar WORD_SEPARATORS = ' ()[]{}\\'\"';\nvar LINE_DATA_CHAR_INDEX = 1;\nvar LINE_DATA_WIDTH_INDEX = 2;\nvar NON_BREAKING_SPACE_CHAR = String.fromCharCode(160);\nvar ALL_NON_BREAKING_SPACE_REGEX = new RegExp(NON_BREAKING_SPACE_CHAR, 'g');\nvar SelectionMode;\n(function (SelectionMode) {\n SelectionMode[SelectionMode[\"NORMAL\"] = 0] = \"NORMAL\";\n SelectionMode[SelectionMode[\"WORD\"] = 1] = \"WORD\";\n SelectionMode[SelectionMode[\"LINE\"] = 2] = \"LINE\";\n})(SelectionMode || (SelectionMode = {}));\nvar SelectionManager = (function (_super) {\n __extends(SelectionManager, _super);\n function SelectionManager(_terminal, _buffer, _rowContainer, _charMeasure) {\n var _this = _super.call(this) || this;\n _this._terminal = _terminal;\n _this._buffer = _buffer;\n _this._rowContainer = _rowContainer;\n _this._charMeasure = _charMeasure;\n _this._initListeners();\n _this.enable();\n _this._model = new SelectionModel_1.SelectionModel(_terminal);\n _this._lastMouseDownTime = 0;\n _this._activeSelectionMode = SelectionMode.NORMAL;\n return _this;\n }\n SelectionManager.prototype._initListeners = function () {\n var _this = this;\n this._bufferTrimListener = function (amount) { return _this._onTrim(amount); };\n this._mouseMoveListener = function (event) { return _this._onMouseMove(event); };\n this._mouseDownListener = function (event) { return _this._onMouseDown(event); };\n this._mouseUpListener = function (event) { return _this._onMouseUp(event); };\n };\n SelectionManager.prototype.disable = function () {\n this.clearSelection();\n this._buffer.off('trim', this._bufferTrimListener);\n this._rowContainer.removeEventListener('mousedown', this._mouseDownListener);\n };\n SelectionManager.prototype.enable = function () {\n this._buffer.on('trim', this._bufferTrimListener);\n this._rowContainer.addEventListener('mousedown', this._mouseDownListener);\n };\n SelectionManager.prototype.setBuffer = function (buffer) {\n this._buffer = buffer;\n this.clearSelection();\n };\n Object.defineProperty(SelectionManager.prototype, \"hasSelection\", {\n get: function () {\n var start = this._model.finalSelectionStart;\n var end = this._model.finalSelectionEnd;\n if (!start || !end) {\n return false;\n }\n return start[0] !== end[0] || start[1] !== end[1];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SelectionManager.prototype, \"selectionText\", {\n get: function () {\n var start = this._model.finalSelectionStart;\n var end = this._model.finalSelectionEnd;\n if (!start || !end) {\n return '';\n }\n var startRowEndCol = start[1] === end[1] ? end[0] : null;\n var result = [];\n result.push(this._translateBufferLineToString(this._buffer.get(start[1]), true, start[0], startRowEndCol));\n for (var i = start[1] + 1; i <= end[1] - 1; i++) {\n var bufferLine = this._buffer.get(i);\n var lineText = this._translateBufferLineToString(bufferLine, true);\n if (bufferLine.isWrapped) {\n result[result.length - 1] += lineText;\n }\n else {\n result.push(lineText);\n }\n }\n if (start[1] !== end[1]) {\n var bufferLine = this._buffer.get(end[1]);\n var lineText = this._translateBufferLineToString(bufferLine, true, 0, end[0]);\n if (bufferLine.isWrapped) {\n result[result.length - 1] += lineText;\n }\n else {\n result.push(lineText);\n }\n }\n var formattedResult = result.map(function (line) {\n return line.replace(ALL_NON_BREAKING_SPACE_REGEX, ' ');\n }).join(Browser.isMSWindows ? '\\r\\n' : '\\n');\n return formattedResult;\n },\n enumerable: true,\n configurable: true\n });\n SelectionManager.prototype.clearSelection = function () {\n this._model.clearSelection();\n this._removeMouseDownListeners();\n this.refresh();\n };\n SelectionManager.prototype._translateBufferLineToString = function (line, trimRight, startCol, endCol) {\n if (startCol === void 0) { startCol = 0; }\n if (endCol === void 0) { endCol = null; }\n var lineString = '';\n var widthAdjustedStartCol = startCol;\n var widthAdjustedEndCol = endCol;\n for (var i = 0; i < line.length; i++) {\n var char = line[i];\n lineString += char[LINE_DATA_CHAR_INDEX];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n if (startCol >= i) {\n widthAdjustedStartCol--;\n }\n if (endCol >= i) {\n widthAdjustedEndCol--;\n }\n }\n }\n var finalEndCol = widthAdjustedEndCol || line.length;\n if (trimRight) {\n var rightWhitespaceIndex = lineString.search(/\\s+$/);\n if (rightWhitespaceIndex !== -1) {\n finalEndCol = Math.min(finalEndCol, rightWhitespaceIndex);\n }\n if (finalEndCol <= widthAdjustedStartCol) {\n return '';\n }\n }\n return lineString.substring(widthAdjustedStartCol, finalEndCol);\n };\n SelectionManager.prototype.refresh = function (isNewSelection) {\n var _this = this;\n if (!this._refreshAnimationFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(function () { return _this._refresh(); });\n }\n if (Browser.isLinux && isNewSelection) {\n var selectionText = this.selectionText;\n if (selectionText.length) {\n this.emit('newselection', this.selectionText);\n }\n }\n };\n SelectionManager.prototype._refresh = function () {\n this._refreshAnimationFrame = null;\n this.emit('refresh', { start: this._model.finalSelectionStart, end: this._model.finalSelectionEnd });\n };\n SelectionManager.prototype.selectAll = function () {\n this._model.isSelectAllActive = true;\n this.refresh();\n };\n SelectionManager.prototype._onTrim = function (amount) {\n var needsRefresh = this._model.onTrim(amount);\n if (needsRefresh) {\n this.refresh();\n }\n };\n SelectionManager.prototype._getMouseBufferCoords = function (event) {\n var coords = Mouse.getCoords(event, this._rowContainer, this._charMeasure, this._terminal.cols, this._terminal.rows, true);\n coords[0]--;\n coords[1]--;\n coords[1] += this._terminal.ydisp;\n return coords;\n };\n SelectionManager.prototype._getMouseEventScrollAmount = function (event) {\n var offset = Mouse.getCoordsRelativeToElement(event, this._rowContainer)[1];\n var terminalHeight = this._terminal.rows * this._charMeasure.height;\n if (offset >= 0 && offset <= terminalHeight) {\n return 0;\n }\n if (offset > terminalHeight) {\n offset -= terminalHeight;\n }\n offset = Math.min(Math.max(offset, -DRAG_SCROLL_MAX_THRESHOLD), DRAG_SCROLL_MAX_THRESHOLD);\n offset /= DRAG_SCROLL_MAX_THRESHOLD;\n return (offset / Math.abs(offset)) + Math.round(offset * (DRAG_SCROLL_MAX_SPEED - 1));\n };\n SelectionManager.prototype._onMouseDown = function (event) {\n if (event.button !== 0) {\n return;\n }\n event.preventDefault();\n this._dragScrollAmount = 0;\n this._setMouseClickCount(event);\n if (event.shiftKey) {\n this._onShiftClick(event);\n }\n else {\n if (this._clickCount === 1) {\n this._onSingleClick(event);\n }\n else if (this._clickCount === 2) {\n this._onDoubleClick(event);\n }\n else if (this._clickCount === 3) {\n this._onTripleClick(event);\n }\n }\n this._addMouseDownListeners();\n this.refresh(true);\n };\n SelectionManager.prototype._addMouseDownListeners = function () {\n var _this = this;\n this._rowContainer.ownerDocument.addEventListener('mousemove', this._mouseMoveListener);\n this._rowContainer.ownerDocument.addEventListener('mouseup', this._mouseUpListener);\n this._dragScrollIntervalTimer = setInterval(function () { return _this._dragScroll(); }, DRAG_SCROLL_INTERVAL);\n };\n SelectionManager.prototype._removeMouseDownListeners = function () {\n this._rowContainer.ownerDocument.removeEventListener('mousemove', this._mouseMoveListener);\n this._rowContainer.ownerDocument.removeEventListener('mouseup', this._mouseUpListener);\n clearInterval(this._dragScrollIntervalTimer);\n this._dragScrollIntervalTimer = null;\n };\n SelectionManager.prototype._onShiftClick = function (event) {\n if (this._model.selectionStart) {\n this._model.selectionEnd = this._getMouseBufferCoords(event);\n }\n };\n SelectionManager.prototype._onSingleClick = function (event) {\n this._model.selectionStartLength = 0;\n this._model.isSelectAllActive = false;\n this._activeSelectionMode = SelectionMode.NORMAL;\n this._model.selectionStart = this._getMouseBufferCoords(event);\n if (this._model.selectionStart) {\n this._model.selectionEnd = null;\n var char = this._buffer.get(this._model.selectionStart[1])[this._model.selectionStart[0]];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n this._model.selectionStart[0]++;\n }\n }\n };\n SelectionManager.prototype._onDoubleClick = function (event) {\n var coords = this._getMouseBufferCoords(event);\n if (coords) {\n this._activeSelectionMode = SelectionMode.WORD;\n this._selectWordAt(coords);\n }\n };\n SelectionManager.prototype._onTripleClick = function (event) {\n var coords = this._getMouseBufferCoords(event);\n if (coords) {\n this._activeSelectionMode = SelectionMode.LINE;\n this._selectLineAt(coords[1]);\n }\n };\n SelectionManager.prototype._setMouseClickCount = function (event) {\n var currentTime = (new Date()).getTime();\n if (currentTime - this._lastMouseDownTime > CLEAR_MOUSE_DOWN_TIME || this._distanceFromLastMousePosition(event) > CLEAR_MOUSE_DISTANCE) {\n this._clickCount = 0;\n }\n this._lastMouseDownTime = currentTime;\n this._lastMousePosition = [event.pageX, event.pageY];\n this._clickCount++;\n };\n SelectionManager.prototype._distanceFromLastMousePosition = function (event) {\n var result = Math.max(Math.abs(this._lastMousePosition[0] - event.pageX), Math.abs(this._lastMousePosition[1] - event.pageY));\n return result;\n };\n SelectionManager.prototype._onMouseMove = function (event) {\n var previousSelectionEnd = this._model.selectionEnd ? [this._model.selectionEnd[0], this._model.selectionEnd[1]] : null;\n this._model.selectionEnd = this._getMouseBufferCoords(event);\n if (this._activeSelectionMode === SelectionMode.LINE) {\n if (this._model.selectionEnd[1] < this._model.selectionStart[1]) {\n this._model.selectionEnd[0] = 0;\n }\n else {\n this._model.selectionEnd[0] = this._terminal.cols;\n }\n }\n else if (this._activeSelectionMode === SelectionMode.WORD) {\n this._selectToWordAt(this._model.selectionEnd);\n }\n this._dragScrollAmount = this._getMouseEventScrollAmount(event);\n if (this._dragScrollAmount > 0) {\n this._model.selectionEnd[0] = this._terminal.cols - 1;\n }\n else if (this._dragScrollAmount < 0) {\n this._model.selectionEnd[0] = 0;\n }\n if (this._model.selectionEnd[1] < this._buffer.length) {\n var char = this._buffer.get(this._model.selectionEnd[1])[this._model.selectionEnd[0]];\n if (char && char[2] === 0) {\n this._model.selectionEnd[0]++;\n }\n }\n if (!previousSelectionEnd ||\n previousSelectionEnd[0] !== this._model.selectionEnd[0] ||\n previousSelectionEnd[1] !== this._model.selectionEnd[1]) {\n this.refresh(true);\n }\n };\n SelectionManager.prototype._dragScroll = function () {\n if (this._dragScrollAmount) {\n this._terminal.scrollDisp(this._dragScrollAmount, false);\n if (this._dragScrollAmount > 0) {\n this._model.selectionEnd = [this._terminal.cols - 1, this._terminal.ydisp + this._terminal.rows];\n }\n else {\n this._model.selectionEnd = [0, this._terminal.ydisp];\n }\n this.refresh();\n }\n };\n SelectionManager.prototype._onMouseUp = function (event) {\n this._removeMouseDownListeners();\n };\n SelectionManager.prototype._convertViewportColToCharacterIndex = function (bufferLine, coords) {\n var charIndex = coords[0];\n for (var i = 0; coords[0] >= i; i++) {\n var char = bufferLine[i];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n charIndex--;\n }\n }\n return charIndex;\n };\n SelectionManager.prototype._getWordAt = function (coords) {\n var bufferLine = this._buffer.get(coords[1]);\n var line = this._translateBufferLineToString(bufferLine, false);\n var endIndex = this._convertViewportColToCharacterIndex(bufferLine, coords);\n var startIndex = endIndex;\n var charOffset = coords[0] - startIndex;\n var leftWideCharCount = 0;\n var rightWideCharCount = 0;\n if (line.charAt(startIndex) === ' ') {\n while (startIndex > 0 && line.charAt(startIndex - 1) === ' ') {\n startIndex--;\n }\n while (endIndex < line.length && line.charAt(endIndex + 1) === ' ') {\n endIndex++;\n }\n }\n else {\n var startCol = coords[0];\n var endCol = coords[0];\n if (bufferLine[startCol][LINE_DATA_WIDTH_INDEX] === 0) {\n leftWideCharCount++;\n startCol--;\n }\n if (bufferLine[endCol][LINE_DATA_WIDTH_INDEX] === 2) {\n rightWideCharCount++;\n endCol++;\n }\n while (startIndex > 0 && !this._isCharWordSeparator(line.charAt(startIndex - 1))) {\n if (bufferLine[startCol - 1][LINE_DATA_WIDTH_INDEX] === 0) {\n leftWideCharCount++;\n startCol--;\n }\n startIndex--;\n startCol--;\n }\n while (endIndex + 1 < line.length && !this._isCharWordSeparator(line.charAt(endIndex + 1))) {\n if (bufferLine[endCol + 1][LINE_DATA_WIDTH_INDEX] === 2) {\n rightWideCharCount++;\n endCol++;\n }\n endIndex++;\n endCol++;\n }\n }\n var start = startIndex + charOffset - leftWideCharCount;\n var length = Math.min(endIndex - startIndex + leftWideCharCount + rightWideCharCount + 1, this._terminal.cols);\n return { start: start, length: length };\n };\n SelectionManager.prototype._selectWordAt = function (coords) {\n var wordPosition = this._getWordAt(coords);\n this._model.selectionStart = [wordPosition.start, coords[1]];\n this._model.selectionStartLength = wordPosition.length;\n };\n SelectionManager.prototype._selectToWordAt = function (coords) {\n var wordPosition = this._getWordAt(coords);\n this._model.selectionEnd = [this._model.areSelectionValuesReversed() ? wordPosition.start : (wordPosition.start + wordPosition.length), coords[1]];\n };\n SelectionManager.prototype._isCharWordSeparator = function (char) {\n return WORD_SEPARATORS.indexOf(char) >= 0;\n };\n SelectionManager.prototype._selectLineAt = function (line) {\n this._model.selectionStart = [0, line];\n this._model.selectionStartLength = this._terminal.cols;\n };\n return SelectionManager;\n}(EventEmitter_1.EventEmitter));\nexports.SelectionManager = SelectionManager;\n\n//# sourceMappingURL=SelectionManager.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/SelectionManager.js\n// module id = 21\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar SelectionModel = (function () {\n function SelectionModel(_terminal) {\n this._terminal = _terminal;\n this.clearSelection();\n }\n SelectionModel.prototype.clearSelection = function () {\n this.selectionStart = null;\n this.selectionEnd = null;\n this.isSelectAllActive = false;\n this.selectionStartLength = 0;\n };\n Object.defineProperty(SelectionModel.prototype, \"finalSelectionStart\", {\n get: function () {\n if (this.isSelectAllActive) {\n return [0, 0];\n }\n if (!this.selectionEnd || !this.selectionStart) {\n return this.selectionStart;\n }\n return this.areSelectionValuesReversed() ? this.selectionEnd : this.selectionStart;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SelectionModel.prototype, \"finalSelectionEnd\", {\n get: function () {\n if (this.isSelectAllActive) {\n return [this._terminal.cols, this._terminal.ybase + this._terminal.rows - 1];\n }\n if (!this.selectionStart) {\n return null;\n }\n if (!this.selectionEnd || this.areSelectionValuesReversed()) {\n return [this.selectionStart[0] + this.selectionStartLength, this.selectionStart[1]];\n }\n if (this.selectionStartLength) {\n if (this.selectionEnd[1] === this.selectionStart[1]) {\n return [Math.max(this.selectionStart[0] + this.selectionStartLength, this.selectionEnd[0]), this.selectionEnd[1]];\n }\n }\n return this.selectionEnd;\n },\n enumerable: true,\n configurable: true\n });\n SelectionModel.prototype.areSelectionValuesReversed = function () {\n var start = this.selectionStart;\n var end = this.selectionEnd;\n return start[1] > end[1] || (start[1] === end[1] && start[0] > end[0]);\n };\n SelectionModel.prototype.onTrim = function (amount) {\n if (this.selectionStart) {\n this.selectionStart[1] -= amount;\n }\n if (this.selectionEnd) {\n this.selectionEnd[1] -= amount;\n }\n if (this.selectionEnd && this.selectionEnd[1] < 0) {\n this.clearSelection();\n return true;\n }\n if (this.selectionStart && this.selectionStart[1] < 0) {\n this.selectionStart[1] = 0;\n }\n return false;\n };\n return SelectionModel;\n}());\nexports.SelectionModel = SelectionModel;\n\n//# sourceMappingURL=SelectionModel.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/SelectionModel.js\n// module id = 22\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Viewport = (function () {\n function Viewport(terminal, viewportElement, scrollArea, charMeasure) {\n var _this = this;\n this.terminal = terminal;\n this.viewportElement = viewportElement;\n this.scrollArea = scrollArea;\n this.charMeasure = charMeasure;\n this.currentRowHeight = 0;\n this.lastRecordedBufferLength = 0;\n this.lastRecordedViewportHeight = 0;\n this.terminal.on('scroll', this.syncScrollArea.bind(this));\n this.terminal.on('resize', this.syncScrollArea.bind(this));\n this.viewportElement.addEventListener('scroll', this.onScroll.bind(this));\n setTimeout(function () { return _this.syncScrollArea(); }, 0);\n }\n Viewport.prototype.refresh = function () {\n if (this.charMeasure.height > 0) {\n var rowHeightChanged = this.charMeasure.height !== this.currentRowHeight;\n if (rowHeightChanged) {\n this.currentRowHeight = this.charMeasure.height;\n this.viewportElement.style.lineHeight = this.charMeasure.height + 'px';\n this.terminal.rowContainer.style.lineHeight = this.charMeasure.height + 'px';\n }\n var viewportHeightChanged = this.lastRecordedViewportHeight !== this.terminal.rows;\n if (rowHeightChanged || viewportHeightChanged) {\n this.lastRecordedViewportHeight = this.terminal.rows;\n this.viewportElement.style.height = this.charMeasure.height * this.terminal.rows + 'px';\n this.terminal.selectionContainer.style.height = this.viewportElement.style.height;\n }\n this.scrollArea.style.height = (this.charMeasure.height * this.lastRecordedBufferLength) + 'px';\n }\n };\n Viewport.prototype.syncScrollArea = function () {\n if (this.lastRecordedBufferLength !== this.terminal.lines.length) {\n this.lastRecordedBufferLength = this.terminal.lines.length;\n this.refresh();\n }\n else if (this.lastRecordedViewportHeight !== this.terminal.rows) {\n this.refresh();\n }\n else {\n if (this.charMeasure.height !== this.currentRowHeight) {\n this.refresh();\n }\n }\n var scrollTop = this.terminal.ydisp * this.currentRowHeight;\n if (this.viewportElement.scrollTop !== scrollTop) {\n this.viewportElement.scrollTop = scrollTop;\n }\n };\n Viewport.prototype.onScroll = function (ev) {\n var newRow = Math.round(this.viewportElement.scrollTop / this.currentRowHeight);\n var diff = newRow - this.terminal.ydisp;\n this.terminal.scrollDisp(diff, true);\n };\n Viewport.prototype.onWheel = function (ev) {\n if (ev.deltaY === 0) {\n return;\n }\n var multiplier = 1;\n if (ev.deltaMode === WheelEvent.DOM_DELTA_LINE) {\n multiplier = this.currentRowHeight;\n }\n else if (ev.deltaMode === WheelEvent.DOM_DELTA_PAGE) {\n multiplier = this.currentRowHeight * this.terminal.rows;\n }\n this.viewportElement.scrollTop += ev.deltaY * multiplier;\n ev.preventDefault();\n };\n ;\n Viewport.prototype.onTouchStart = function (ev) {\n this.lastTouchY = ev.touches[0].pageY;\n };\n ;\n Viewport.prototype.onTouchMove = function (ev) {\n var deltaY = this.lastTouchY - ev.touches[0].pageY;\n this.lastTouchY = ev.touches[0].pageY;\n if (deltaY === 0) {\n return;\n }\n this.viewportElement.scrollTop += deltaY;\n ev.preventDefault();\n };\n ;\n return Viewport;\n}());\nexports.Viewport = Viewport;\n\n//# sourceMappingURL=Viewport.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Viewport.js\n// module id = 23\n// module chunks = 0","var map = {\n\t\"./attach/attach\": 4,\n\t\"./attach/attach.js\": 4,\n\t\"./attach/package.json\": 25,\n\t\"./fit/fit\": 5,\n\t\"./fit/fit.js\": 5,\n\t\"./fit/package.json\": 26,\n\t\"./fullscreen/fullscreen\": 6,\n\t\"./fullscreen/fullscreen.css\": 27,\n\t\"./fullscreen/fullscreen.js\": 6,\n\t\"./fullscreen/package.json\": 28,\n\t\"./terminado/package.json\": 29,\n\t\"./terminado/terminado\": 7,\n\t\"./terminado/terminado.js\": 7\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 24;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons ^\\.\\/.*$\n// module id = 24\n// module chunks = 0","module.exports = {\"name\":\"xterm.attach\",\"main\":\"attach.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/attach/package.json\n// module id = 25\n// module chunks = 0","module.exports = {\"name\":\"xterm.fit\",\"main\":\"fit.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fit/package.json\n// module id = 26\n// module chunks = 0","module.exports = {\"name\":\"xterm.fullscreen\",\"main\":\"fullscreen.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fullscreen/package.json\n// module id = 28\n// module chunks = 0","module.exports = {\"name\":\"xterm.terminado\",\"main\":\"terminado.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/terminado/package.json\n// module id = 29\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction prepareTextForTerminal(text, isMSWindows) {\n if (isMSWindows) {\n return text.replace(/\\r?\\n/g, '\\r');\n }\n return text;\n}\nexports.prepareTextForTerminal = prepareTextForTerminal;\nfunction copyHandler(ev, term, selectionManager) {\n if (term.browser.isMSIE) {\n window.clipboardData.setData('Text', selectionManager.selectionText);\n }\n else {\n ev.clipboardData.setData('text/plain', selectionManager.selectionText);\n }\n ev.preventDefault();\n}\nexports.copyHandler = copyHandler;\nfunction pasteHandler(ev, term) {\n ev.stopPropagation();\n var text;\n var dispatchPaste = function (text) {\n text = prepareTextForTerminal(text, term.browser.isMSWindows);\n term.handler(text);\n term.textarea.value = '';\n term.emit('paste', text);\n return term.cancel(ev);\n };\n if (term.browser.isMSIE) {\n if (window.clipboardData) {\n text = window.clipboardData.getData('Text');\n dispatchPaste(text);\n }\n }\n else {\n if (ev.clipboardData) {\n text = ev.clipboardData.getData('text/plain');\n dispatchPaste(text);\n }\n }\n}\nexports.pasteHandler = pasteHandler;\nfunction moveTextAreaUnderMouseCursor(ev, textarea) {\n textarea.style.position = 'fixed';\n textarea.style.width = '20px';\n textarea.style.height = '20px';\n textarea.style.left = (ev.clientX - 10) + 'px';\n textarea.style.top = (ev.clientY - 10) + 'px';\n textarea.style.zIndex = '1000';\n textarea.focus();\n setTimeout(function () {\n textarea.style.position = null;\n textarea.style.width = null;\n textarea.style.height = null;\n textarea.style.left = null;\n textarea.style.top = null;\n textarea.style.zIndex = null;\n }, 4);\n}\nexports.moveTextAreaUnderMouseCursor = moveTextAreaUnderMouseCursor;\nfunction rightClickHandler(ev, textarea, selectionManager) {\n moveTextAreaUnderMouseCursor(ev, textarea);\n textarea.value = selectionManager.selectionText;\n textarea.select();\n}\nexports.rightClickHandler = rightClickHandler;\n\n//# sourceMappingURL=Clipboard.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/handlers/Clipboard.js\n// module id = 30\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventEmitter_js_1 = require(\"../EventEmitter.js\");\nvar CharMeasure = (function (_super) {\n __extends(CharMeasure, _super);\n function CharMeasure(document, parentElement) {\n var _this = _super.call(this) || this;\n _this._document = document;\n _this._parentElement = parentElement;\n return _this;\n }\n Object.defineProperty(CharMeasure.prototype, \"width\", {\n get: function () {\n return this._width;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CharMeasure.prototype, \"height\", {\n get: function () {\n return this._height;\n },\n enumerable: true,\n configurable: true\n });\n CharMeasure.prototype.measure = function () {\n var _this = this;\n if (!this._measureElement) {\n this._measureElement = this._document.createElement('span');\n this._measureElement.style.position = 'absolute';\n this._measureElement.style.top = '0';\n this._measureElement.style.left = '-9999em';\n this._measureElement.textContent = 'W';\n this._measureElement.setAttribute('aria-hidden', 'true');\n this._parentElement.appendChild(this._measureElement);\n setTimeout(function () { return _this._doMeasure(); }, 0);\n }\n else {\n this._doMeasure();\n }\n };\n CharMeasure.prototype._doMeasure = function () {\n var geometry = this._measureElement.getBoundingClientRect();\n if (geometry.width === 0 || geometry.height === 0) {\n return;\n }\n if (this._width !== geometry.width || this._height !== geometry.height) {\n this._width = geometry.width;\n this._height = geometry.height;\n this.emit('charsizechanged');\n }\n };\n return CharMeasure;\n}(EventEmitter_js_1.EventEmitter));\nexports.CharMeasure = CharMeasure;\n\n//# sourceMappingURL=CharMeasure.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/CharMeasure.js\n// module id = 31\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventEmitter_1 = require(\"../EventEmitter\");\nvar CircularList = (function (_super) {\n __extends(CircularList, _super);\n function CircularList(maxLength) {\n var _this = _super.call(this) || this;\n _this._array = new Array(maxLength);\n _this._startIndex = 0;\n _this._length = 0;\n return _this;\n }\n Object.defineProperty(CircularList.prototype, \"maxLength\", {\n get: function () {\n return this._array.length;\n },\n set: function (newMaxLength) {\n var newArray = new Array(newMaxLength);\n for (var i = 0; i < Math.min(newMaxLength, this.length); i++) {\n newArray[i] = this._array[this._getCyclicIndex(i)];\n }\n this._array = newArray;\n this._startIndex = 0;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CircularList.prototype, \"length\", {\n get: function () {\n return this._length;\n },\n set: function (newLength) {\n if (newLength > this._length) {\n for (var i = this._length; i < newLength; i++) {\n this._array[i] = undefined;\n }\n }\n this._length = newLength;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CircularList.prototype, \"forEach\", {\n get: function () {\n var _this = this;\n return function (callbackfn) {\n var i = 0;\n var length = _this.length;\n for (var i_1 = 0; i_1 < length; i_1++) {\n callbackfn(_this.get(i_1), i_1);\n }\n };\n },\n enumerable: true,\n configurable: true\n });\n CircularList.prototype.get = function (index) {\n return this._array[this._getCyclicIndex(index)];\n };\n CircularList.prototype.set = function (index, value) {\n this._array[this._getCyclicIndex(index)] = value;\n };\n CircularList.prototype.push = function (value) {\n this._array[this._getCyclicIndex(this._length)] = value;\n if (this._length === this.maxLength) {\n this._startIndex++;\n if (this._startIndex === this.maxLength) {\n this._startIndex = 0;\n }\n this.emit('trim', 1);\n }\n else {\n this._length++;\n }\n };\n CircularList.prototype.pop = function () {\n return this._array[this._getCyclicIndex(this._length-- - 1)];\n };\n CircularList.prototype.splice = function (start, deleteCount) {\n var items = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n items[_i - 2] = arguments[_i];\n }\n if (deleteCount) {\n for (var i = start; i < this._length - deleteCount; i++) {\n this._array[this._getCyclicIndex(i)] = this._array[this._getCyclicIndex(i + deleteCount)];\n }\n this._length -= deleteCount;\n }\n if (items && items.length) {\n for (var i = this._length - 1; i >= start; i--) {\n this._array[this._getCyclicIndex(i + items.length)] = this._array[this._getCyclicIndex(i)];\n }\n for (var i = 0; i < items.length; i++) {\n this._array[this._getCyclicIndex(start + i)] = items[i];\n }\n if (this._length + items.length > this.maxLength) {\n var countToTrim = (this._length + items.length) - this.maxLength;\n this._startIndex += countToTrim;\n this._length = this.maxLength;\n this.emit('trim', countToTrim);\n }\n else {\n this._length += items.length;\n }\n }\n };\n CircularList.prototype.trimStart = function (count) {\n if (count > this._length) {\n count = this._length;\n }\n this._startIndex += count;\n this._length -= count;\n this.emit('trim', count);\n };\n CircularList.prototype.shiftElements = function (start, count, offset) {\n if (count <= 0) {\n return;\n }\n if (start < 0 || start >= this._length) {\n throw new Error('start argument out of range');\n }\n if (start + offset < 0) {\n throw new Error('Cannot shift elements in list beyond index 0');\n }\n if (offset > 0) {\n for (var i = count - 1; i >= 0; i--) {\n this.set(start + i + offset, this.get(start + i));\n }\n var expandListBy = (start + count + offset) - this._length;\n if (expandListBy > 0) {\n this._length += expandListBy;\n while (this._length > this.maxLength) {\n this._length--;\n this._startIndex++;\n this.emit('trim', 1);\n }\n }\n }\n else {\n for (var i = 0; i < count; i++) {\n this.set(start + i + offset, this.get(start + i));\n }\n }\n };\n CircularList.prototype._getCyclicIndex = function (index) {\n return (this._startIndex + index) % this.maxLength;\n };\n return CircularList;\n}(EventEmitter_1.EventEmitter));\nexports.CircularList = CircularList;\n\n//# sourceMappingURL=CircularList.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/CircularList.js\n// module id = 32\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DomElementObjectPool = (function () {\n function DomElementObjectPool(type) {\n this.type = type;\n this._type = type;\n this._pool = [];\n this._inUse = {};\n }\n DomElementObjectPool.prototype.acquire = function () {\n var element;\n if (this._pool.length === 0) {\n element = this._createNew();\n }\n else {\n element = this._pool.pop();\n }\n this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)] = element;\n return element;\n };\n DomElementObjectPool.prototype.release = function (element) {\n if (!this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)]) {\n throw new Error('Could not release an element not yet acquired');\n }\n delete this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)];\n this._cleanElement(element);\n this._pool.push(element);\n };\n DomElementObjectPool.prototype._createNew = function () {\n var element = document.createElement(this._type);\n var id = DomElementObjectPool._objectCount++;\n element.setAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE, id.toString(10));\n return element;\n };\n DomElementObjectPool.prototype._cleanElement = function (element) {\n element.className = '';\n element.innerHTML = '';\n };\n return DomElementObjectPool;\n}());\nDomElementObjectPool.OBJECT_ID_ATTRIBUTE = 'data-obj-id';\nDomElementObjectPool._objectCount = 0;\nexports.DomElementObjectPool = DomElementObjectPool;\n\n//# sourceMappingURL=DomElementObjectPool.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/DomElementObjectPool.js\n// module id = 33\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction contains(arr, el) {\n return arr.indexOf(el) >= 0;\n}\nexports.contains = contains;\n;\n\n//# sourceMappingURL=Generic.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Generic.js\n// module id = 34\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/js/dist/bundle.js b/js/dist/gotty-bundle.js similarity index 99% rename from js/dist/bundle.js rename to js/dist/gotty-bundle.js index de2d71a..78abfc0 100644 --- a/js/dist/bundle.js +++ b/js/dist/gotty-bundle.js @@ -23983,4 +23983,4 @@ exports.contains = contains; /***/ }) /******/ ]); -//# sourceMappingURL=bundle.js.map \ No newline at end of file +//# sourceMappingURL=gotty-bundle.js.map \ No newline at end of file diff --git a/js/dist/gotty-bundle.js.map b/js/dist/gotty-bundle.js.map new file mode 100644 index 0000000..56d11e1 --- /dev/null +++ b/js/dist/gotty-bundle.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap c630c1d0830f2afe3c68","webpack:///./~/xterm/lib/xterm.js","webpack:///./~/xterm/lib/EventEmitter.js","webpack:///./~/xterm/lib/EscapeSequences.js","webpack:///./~/xterm/lib/Charsets.js","webpack:///./~/xterm/lib/addons/attach/attach.js","webpack:///./~/xterm/lib/addons/fit/fit.js","webpack:///./~/xterm/lib/addons/fullscreen/fullscreen.js","webpack:///./~/xterm/lib/addons/terminado/terminado.js","webpack:///./~/xterm/lib/utils/Browser.js","webpack:///./~/xterm/lib/utils/Mouse.js","webpack:///./src/hterm.ts","webpack:///./src/websocket.ts","webpack:///./src/webtty.ts","webpack:///./src/xterm.ts","webpack:///./~/libapps/hterm/dist/js/hterm_module.js","webpack:///./src/main.ts","webpack:///./~/xterm/lib/CompositionHelper.js","webpack:///./~/xterm/lib/InputHandler.js","webpack:///./~/xterm/lib/Linkifier.js","webpack:///./~/xterm/lib/Parser.js","webpack:///./~/xterm/lib/Renderer.js","webpack:///./~/xterm/lib/SelectionManager.js","webpack:///./~/xterm/lib/SelectionModel.js","webpack:///./~/xterm/lib/Viewport.js","webpack:///./~/xterm/lib/addons ^\\.\\/.*$","webpack:///./~/xterm/lib/addons/attach/package.json","webpack:///./~/xterm/lib/addons/fit/package.json","webpack:///./~/xterm/lib/addons/fullscreen/package.json","webpack:///./~/xterm/lib/addons/terminado/package.json","webpack:///./~/xterm/lib/handlers/Clipboard.js","webpack:///./~/xterm/lib/utils/CharMeasure.js","webpack:///./~/xterm/lib/utils/CircularList.js","webpack:///./~/xterm/lib/utils/DomElementObjectPool.js","webpack:///./~/xterm/lib/utils/Generic.js"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AChEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA,UAAU,QAAQ;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gDAAgD,8CAA8C;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,KAAK;AACL;AACA,2BAA2B,iBAAiB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,mCAAmC,yCAAyC,EAAE;AAC9E,iEAAiE,yCAAyC,EAAE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,4CAA4C;AACtE,iCAAiC,wCAAwC;AACzE,gCAAgC,0CAA0C;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,cAAc;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,wHAAwH;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,wHAAwH;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,mCAAmC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,6BAA6B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5lDA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC1DA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,qCAAqC;AACtC;;AAEA;;;;;;;;ACzCA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;;;;;;;AChKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;AC7HD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B;AAC/B;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;;AAEA,gBAAgB;AAChB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;ACrFD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;ACjDD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;ACtID;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,mBAAmB;AAC9B,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,EAAE,WAAW,EAAE,WAAW,EAAE;;AAEjD;AACA;AACA,2BAA2B,IAAI,YAAY,IAAI;AAC/C,eAAe,IAAI;AACnB;;AAEA;AACA;AACA;AACA,iBAAiB,IAAI,YAAY,IAAI,YAAY,IAAI;AACrD;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,IAAI,YAAY,IAAI,YAAY,IAAI;AACrD;AACA;;AAEA;AACA,6BAA6B,IAAI,aAAa,IAAI,aAAa,IAAI;;AAEnE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,gBAAgB;AAChB,iBAAiB;AACjB,kBAAkB;AAClB,iBAAiB;AACjB;;AAEA,kDAAkD,gBAAgB;AAClE;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2CAA2C,iCAAiC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,IAAI;AACf;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,4BAA4B,uBAAuB;AACnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA,oBAAoB,+BAA+B;;AAEnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,sBAAsB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,kBAAkB;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,8CAA8C;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,8CAA8C;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,0BAA0B;;AAE9C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,wCAAwC;AACnD;AACA;AACA,WAAW,8CAA8C;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB,kCAAkC;AACnD;;AAEA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS,kBAAkB,aAAa,WAAW,kBAAkB;AAC9E;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,YAAY,OAAO;AACnB;AACA;AACA;AACA,aAAa;AACb,eAAe;AACf,cAAc;AACd;;AAEA,iBAAiB,cAAc;AAC/B;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,iBAAiB,cAAc;AAC/B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,iBAAiB,uBAAuB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA,uBAAuB,qDAAqD;AAC5E;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;AACA;AACA;;AAEA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;;AAEA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;AACA;AACA;;AAEA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;;AAEZ;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,SAAS;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,qBAAqB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS;AACtC;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,WAAW,OAAO;AAClB;AACA,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA,YAAY,IAAI;AAChB;AACA;AACA;AACA;;AAEA,iBAAiB,6CAA6C;AAC9D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA,WAAW,qBAAqB;AAChC;AACA,WAAW,qBAAqB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD,2BAA2B;AAC3E;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ,kDAAkD;AACtE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;;AAEA,iCAAiC,yBAAyB;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC,cAAc;AAClD,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL,sCAAsC,eAAe;AACrD;AACA;AACA,CAAC;;AAED;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6DAA6D,eAAe;;AAE5E;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC,eAAe,OAAO;AACtB,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,0BAA0B,wCAAwC,EAAE;AAC3E;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,0CAA0C,uBAAuB;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,0BAA0B;AAC1B,qBAAqB;AACrB,8BAA8B;AAC9B,gBAAgB;AAChB,gBAAgB;AAChB,kBAAkB;AAClB,mBAAmB;AACnB,uBAAuB;AACvB,uBAAuB;AACvB,uEAAuE;AACvE,qEAAqE;;AAErE;AACA;AACA;AACA;AACA,uBAAuB;AACvB,mCAAmC;AACnC,sCAAsC;AACtC,uEAAuE;AACvE,4DAA4D;AAC5D,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B,2BAA2B;AAC3B,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,eAAe;;AAEf;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,WAAW,iCAAiC;AAC5C,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,mDAAmD;AACnD;AACA;AACA,oBAAoB,0BAA0B;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;;AAEpB;AACA,iBAAiB,yBAAyB,uBAAuB;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,0CAA0C;AACrE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC,WAAW,0BAA0B;AACrC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,YAAY;;AAEZ;AACA,YAAY;;AAEZ;AACA,YAAY;;;AAGZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,EAAE;AAChD;AACA,KAAK;AACL;AACA,8CAA8C,EAAE;AAChD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,+CAA+C;AAC/C,GAAG;AACH,yBAAyB;AACzB,GAAG;AACH,qBAAqB;AACrB,GAAG;AACH,qBAAqB;AACrB,GAAG;AACH,sBAAsB;AACtB,GAAG;AACH,mBAAmB;AACnB,GAAG;AACH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,KAAK;AACb,oBAAoB;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sDAAsD,yBAAyB;AAC/E;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,oBAAoB;AAC/B;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,MAAM;AAClB;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB,oBAAoB;AACpB,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB,oBAAoB;AACpB,oBAAoB;AACpB,mBAAmB;AACnB,wBAAwB;AACxB,+CAA+C;AAC/C,iCAAiC;AACjC,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd,wBAAwB;AACxB,8CAA8C;AAC9C,mDAAmD;AACnD,QAAQ;AACR;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,sBAAsB;AACtB,8BAA8B;AAC9B,uBAAuB;AACvB,oCAAoC;AACpC,oBAAoB;AACpB,0BAA0B,oBAAoB;AAC9C,wBAAwB;AACxB,mBAAmB;AACnB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,uBAAuB;AACvB,wBAAwB;AACxB,iCAAiC;AACjC,8BAA8B;AAC9B;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB,wBAAwB;AACxB,4CAA4C;AAC5C,wBAAwB;;AAExB;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,cAAc;AACd,eAAe;AACf;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,iBAAiB;AACjB,gBAAgB;AAChB,eAAe;AACf,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,gBAAgB;AAChB,iBAAiB;AACjB,4BAA4B;AAC5B,iCAAiC;AACjC,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,yBAAyB,6BAA6B;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,mBAAmB;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B,gCAAgC;AAC7D;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,8DAA8D;AAC9D;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,8BAA8B,wBAAwB,EAAE;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA,SAAS,WAAW,EAAE,KAAK;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C;AAC7C;AACA,8BAA8B;AAC9B,GAAG;AACH,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,2CAA2C,QAAQ;AACnD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,kDAAkD,cAAc;;AAEhE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC,iCAAiC;AACjC,mDAAmD;AACnD,4BAA4B;AAC5B,8BAA8B;AAC9B,SAAS;AACT,kBAAkB;AAClB,gCAAgC;AAChC,6BAA6B;AAC7B,uDAAuD;AACvD,oDAAoD;AACpD,SAAS;AACT,eAAe;AACf,iFAAiF;AACjF,mFAAmF;AACnF,uCAAuC;AACvC,uCAAuC;AACvC,4CAA4C;AAC5C,0CAA0C;AAC1C,gDAAgD;AAChD,qEAAqE;AACrE,SAAS;AACT,0BAA0B;AAC1B,gBAAgB,cAAc,EAAE;AAChC,cAAc,cAAc,EAAE;AAC9B,SAAS;AACT,qBAAqB;AACrB,gCAAgC;AAChC,+DAA+D;AAC/D,8CAA8C;AAC9C,iDAAiD;AACjD,yCAAyC;AACzC,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,iFAAiF;AACjF,iFAAiF;AACjF,uBAAuB;AACvB,2CAA2C;AAC3C,6CAA6C;AAC7C,mEAAmE;AACnE,gEAAgE;;AAEhE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,mBAAmB;AACnB,uBAAuB;AACvB,oBAAoB;AACpB,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB;AACA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,mBAAmB,mBAAmB;AACtC;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA,mBAAmB,8BAA8B;AACjD,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B,gCAAgC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,6BAA6B;AACtC,SAAS,qCAAqC;AAC9C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB,mCAAmC;AACnC,0BAA0B;AAC1B,4BAA4B;AAC5B,uBAAuB;AACvB,0CAA0C;AAC1C,oBAAoB;AACpB,sBAAsB;AACtB,4BAA4B;AAC5B,wCAAwC;AACxC,mCAAmC;AACnC,qCAAqC;AACrC,gCAAgC;;AAEhC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B,uBAAuB;AACvB,0CAA0C;AAC1C,4BAA4B;AAC5B,mCAAmC;AACnC,mDAAmD;AACnD,gCAAgC;AAChC,gDAAgD;;AAEhD;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,8BAA8B;AAC9B,0BAA0B;AAC1B;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,4BAA4B,WAAW;AACvC,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,qBAAqB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,IAAI;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,GAAG,kBAAkB;AACrB;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,GAAG;AACH;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,GAAG,uBAAuB;AAC1B;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC,UAAU,OAAO;AACvD;AACA,wCAAwC;;AAExC;AACA;AACA;;AAEA,0BAA0B,wBAAwB;AAClD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC,yBAAyB;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,uDAAuD;AACvD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA;AACA,gBAAgB,MAAM;AACtB;AACA,0CAA0C,GAAG,IAAI,KAAK;AACtD;AACA;AACA;AACA;AACA,oBAAoB,gCAAgC;AACpD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,IAAI;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;;AAEA;AACA,qBAAqB;AACrB;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,sBAAsB;AAC7B;AACA;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,OAAO;AACP;;AAEA,OAAO;AACP;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC,0BAA0B;AACnE;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C,oBAAoB;AAC9D;AACA;AACA;AACA,6CAA6C,IAAI,IAAI;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH,0CAA0C,EAAE,EAAE;AAC9C,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,sBAAsB;AACjC;AACA;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,4BAA4B;AAC5B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;AACL,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC9jjBA,sCAAgC;AAChC,sCAAgC;AAChC,uCAAuD;AACvD,0CAAgD;AAMhD,IAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;AAEhD,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;IAChB,IAAI,IAAc,CAAC;IACnB,EAAE,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC;QACxB,IAAI,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,IAAI,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,IAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAC1D,IAAM,GAAG,GAAG,CAAC,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzG,IAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IACpC,IAAM,OAAO,GAAG,IAAI,6BAAiB,CAAC,GAAG,EAAE,kBAAS,CAAC,CAAC;IACtD,IAAM,EAAE,GAAG,IAAI,eAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC7D,IAAM,QAAM,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAEzB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAC9B,QAAM,EAAE,CAAC;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC;AAAA,CAAC;;;;;;;;AC7BF;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,8CAA8C,EAAE;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC5HA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,uDAAuD,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,yBAAyB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,IAAI;AACxE;AACA;AACA,qEAAqE,GAAG;AACxE;AACA;AACA;AACA;AACA;AACA,qEAAqE,MAAM;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,GAAG,qBAAqB;;AAEzB;;;;;;;;ACx6BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B,sBAAsB,IAAI,KAAK,EAAE,IAAI,IAAI;AACzC;AACA,wBAAwB,IAAI;AAC5B;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,gBAAgB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,mCAAmC,yBAAyB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,4BAA4B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;;;;;;;ACzOA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA,2EAA2E,uBAAuB;AAClG,0EAA0E,2BAA2B;AACrG;AACA;AACA,0EAA0E,iCAAiC;AAC3G,0EAA0E,4BAA4B;AACtG,0EAA0E,sBAAsB;AAChG,0EAA0E,2BAA2B;AACrG,0EAA0E,0BAA0B;AACpG,2EAA2E,6CAA6C;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,4CAA4C;AAC/G;AACA,+CAA+C,8BAA8B;AAC7E,+CAA+C,8BAA8B;AAC7E,+CAA+C,8BAA8B;AAC7E,+CAA+C,gDAAgD;AAC/F,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,+BAA+B;AAC9E,+CAA+C,+BAA+B;AAC9E,+CAA+C,+BAA+B;AAC9E,gDAAgD,gCAAgC;AAChF,uBAAuB,wBAAwB,+BAA+B;AAC9E,oEAAoE,4CAA4C;AAChH;AACA,2DAA2D,oCAAoC;AAC/F,2DAA2D,iCAAiC;AAC5F,2DAA2D,mCAAmC;AAC9F,2DAA2D,sCAAsC;AACjG,2DAA2D,uCAAuC;AAClG,2DAA2D,uCAAuC;AAClG,2DAA2D,4CAA4C;AACvG,2DAA2D,2CAA2C;AACtG,2DAA2D,uCAAuC;AAClG,2DAA2D,yCAAyC;AACpG,2DAA2D,uCAAuC;AAClG,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,iCAAiC;AAC5F;AACA;AACA;AACA;AACA;AACA,2DAA2D,mCAAmC;AAC9F,2DAA2D,0CAA0C;AACrG,2DAA2D,wCAAwC;AACnG,2DAA2D,0CAA0C;AACrG,2DAA2D,iDAAiD;AAC5G,2DAA2D,6CAA6C;AACxG,2DAA2D,wCAAwC;AACnG,2DAA2D,0CAA0C;AACrG,2DAA2D,mCAAmC;AAC9F,2DAA2D,iCAAiC;AAC5F,2DAA2D,gCAAgC;AAC3F,2DAA2D,kCAAkC;AAC7F,2DAA2D,uCAAuC;AAClG,2DAA2D,qCAAqC;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,wCAAwC;AAC3F,mDAAmD,mCAAmC;AACtF,mDAAmD,sCAAsC;AACzF,iGAAiG,4CAA4C;AAC7I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC7dA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sBAAsB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,yBAAyB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mCAAmC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,0DAA0D;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrRA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,8BAA8B;AACpF,oDAAoD,kCAAkC;AACtF,oDAAoD,kCAAkC;AACtF,kDAAkD,gCAAgC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,iBAAiB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAoF,yBAAyB,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6EAA6E;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,4BAA4B,EAAE;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;ACrZA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;ACxEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uB;;;;;;AC7BA,kBAAkB,wD;;;;;;ACAlB,kBAAkB,kD;;;;;;;;;;;;ACAlB,kBAAkB,gE;;;;;;ACAlB,kBAAkB,8D;;;;;;;ACAlB;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpEA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,2BAA2B,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AClEA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,2BAA2B,yCAAyC;AACpE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,0CAA0C,eAAe;AACzD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,+BAA+B,gCAAgC;AAC/D;AACA;AACA;AACA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AClKA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;;;;;;;AC5CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;;AAEA","file":"./dist/gotty-bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 15);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap c630c1d0830f2afe3c68","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CompositionHelper_1 = require(\"./CompositionHelper\");\nvar EventEmitter_1 = require(\"./EventEmitter\");\nvar Viewport_1 = require(\"./Viewport\");\nvar Clipboard_1 = require(\"./handlers/Clipboard\");\nvar CircularList_1 = require(\"./utils/CircularList\");\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar InputHandler_1 = require(\"./InputHandler\");\nvar Parser_1 = require(\"./Parser\");\nvar Renderer_1 = require(\"./Renderer\");\nvar Linkifier_1 = require(\"./Linkifier\");\nvar SelectionManager_1 = require(\"./SelectionManager\");\nvar CharMeasure_1 = require(\"./utils/CharMeasure\");\nvar Browser = require(\"./utils/Browser\");\nvar Mouse_1 = require(\"./utils/Mouse\");\nvar document = (typeof window != 'undefined') ? window.document : null;\nvar WRITE_BUFFER_PAUSE_THRESHOLD = 5;\nvar WRITE_BATCH_SIZE = 300;\nvar CURSOR_BLINK_INTERVAL = 600;\nfunction Terminal(options) {\n var self = this;\n if (!(this instanceof Terminal)) {\n return new Terminal(arguments[0], arguments[1], arguments[2]);\n }\n self.browser = Browser;\n self.cancel = Terminal.cancel;\n EventEmitter_1.EventEmitter.call(this);\n if (typeof options === 'number') {\n options = {\n cols: arguments[0],\n rows: arguments[1],\n handler: arguments[2]\n };\n }\n options = options || {};\n Object.keys(Terminal.defaults).forEach(function (key) {\n if (options[key] == null) {\n options[key] = Terminal.options[key];\n if (Terminal[key] !== Terminal.defaults[key]) {\n options[key] = Terminal[key];\n }\n }\n self[key] = options[key];\n });\n if (options.colors.length === 8) {\n options.colors = options.colors.concat(Terminal._colors.slice(8));\n }\n else if (options.colors.length === 16) {\n options.colors = options.colors.concat(Terminal._colors.slice(16));\n }\n else if (options.colors.length === 10) {\n options.colors = options.colors.slice(0, -2).concat(Terminal._colors.slice(8, -2), options.colors.slice(-2));\n }\n else if (options.colors.length === 18) {\n options.colors = options.colors.concat(Terminal._colors.slice(16, -2), options.colors.slice(-2));\n }\n this.colors = options.colors;\n this.options = options;\n this.parent = options.body || options.parent || (document ? document.getElementsByTagName('body')[0] : null);\n this.cols = options.cols || options.geometry[0];\n this.rows = options.rows || options.geometry[1];\n this.geometry = [this.cols, this.rows];\n if (options.handler) {\n this.on('data', options.handler);\n }\n this.ybase = 0;\n this.ydisp = 0;\n this.x = 0;\n this.y = 0;\n this.cursorState = 0;\n this.cursorHidden = false;\n this.convertEol;\n this.queue = '';\n this.scrollTop = 0;\n this.scrollBottom = this.rows - 1;\n this.customKeyEventHandler = null;\n this.cursorBlinkInterval = null;\n this.applicationKeypad = false;\n this.applicationCursor = false;\n this.originMode = false;\n this.insertMode = false;\n this.wraparoundMode = true;\n this.normal = null;\n this.charset = null;\n this.gcharset = null;\n this.glevel = 0;\n this.charsets = [null];\n this.decLocator;\n this.x10Mouse;\n this.vt200Mouse;\n this.vt300Mouse;\n this.normalMouse;\n this.mouseEvents;\n this.sendFocus;\n this.utfMouse;\n this.sgrMouse;\n this.urxvtMouse;\n this.element;\n this.children;\n this.refreshStart;\n this.refreshEnd;\n this.savedX;\n this.savedY;\n this.savedCols;\n this.readable = true;\n this.writable = true;\n this.defAttr = (0 << 18) | (257 << 9) | (256 << 0);\n this.curAttr = this.defAttr;\n this.params = [];\n this.currentParam = 0;\n this.prefix = '';\n this.postfix = '';\n this.inputHandler = new InputHandler_1.InputHandler(this);\n this.parser = new Parser_1.Parser(this.inputHandler, this);\n this.renderer = this.renderer || null;\n this.selectionManager = this.selectionManager || null;\n this.linkifier = this.linkifier || new Linkifier_1.Linkifier();\n this.writeBuffer = [];\n this.writeInProgress = false;\n this.xoffSentToCatchUp = false;\n this.writeStopped = false;\n this.surrogate_high = '';\n this.lines = new CircularList_1.CircularList(this.scrollback);\n var i = this.rows;\n while (i--) {\n this.lines.push(this.blankLine());\n }\n if (this.selectionManager) {\n this.selectionManager.setBuffer(this.lines);\n }\n this.tabs;\n this.setupStops();\n this.userScrolling = false;\n}\ninherits(Terminal, EventEmitter_1.EventEmitter);\nTerminal.prototype.eraseAttr = function () {\n return (this.defAttr & ~0x1ff) | (this.curAttr & 0x1ff);\n};\nTerminal.tangoColors = [\n '#2e3436',\n '#cc0000',\n '#4e9a06',\n '#c4a000',\n '#3465a4',\n '#75507b',\n '#06989a',\n '#d3d7cf',\n '#555753',\n '#ef2929',\n '#8ae234',\n '#fce94f',\n '#729fcf',\n '#ad7fa8',\n '#34e2e2',\n '#eeeeec'\n];\nTerminal.colors = (function () {\n var colors = Terminal.tangoColors.slice(), r = [0x00, 0x5f, 0x87, 0xaf, 0xd7, 0xff], i;\n i = 0;\n for (; i < 216; i++) {\n out(r[(i / 36) % 6 | 0], r[(i / 6) % 6 | 0], r[i % 6]);\n }\n i = 0;\n for (; i < 24; i++) {\n r = 8 + i * 10;\n out(r, r, r);\n }\n function out(r, g, b) {\n colors.push('#' + hex(r) + hex(g) + hex(b));\n }\n function hex(c) {\n c = c.toString(16);\n return c.length < 2 ? '0' + c : c;\n }\n return colors;\n})();\nTerminal._colors = Terminal.colors.slice();\nTerminal.vcolors = (function () {\n var out = [], colors = Terminal.colors, i = 0, color;\n for (; i < 256; i++) {\n color = parseInt(colors[i].substring(1), 16);\n out.push([\n (color >> 16) & 0xff,\n (color >> 8) & 0xff,\n color & 0xff\n ]);\n }\n return out;\n})();\nTerminal.defaults = {\n colors: Terminal.colors,\n theme: 'default',\n convertEol: false,\n termName: 'xterm',\n geometry: [80, 24],\n cursorBlink: false,\n cursorStyle: 'block',\n visualBell: false,\n popOnBell: false,\n scrollback: 1000,\n screenKeys: false,\n debug: false,\n cancelEvents: false,\n disableStdin: false,\n useFlowControl: false,\n tabStopWidth: 8\n};\nTerminal.options = {};\nTerminal.focus = null;\neach(keys(Terminal.defaults), function (key) {\n Terminal[key] = Terminal.defaults[key];\n Terminal.options[key] = Terminal.defaults[key];\n});\nTerminal.prototype.focus = function () {\n return this.textarea.focus();\n};\nTerminal.prototype.getOption = function (key, value) {\n if (!(key in Terminal.defaults)) {\n throw new Error('No option with key \"' + key + '\"');\n }\n if (typeof this.options[key] !== 'undefined') {\n return this.options[key];\n }\n return this[key];\n};\nTerminal.prototype.setOption = function (key, value) {\n if (!(key in Terminal.defaults)) {\n throw new Error('No option with key \"' + key + '\"');\n }\n switch (key) {\n case 'scrollback':\n if (value < this.rows) {\n var msg = 'Setting the scrollback value less than the number of rows ';\n msg += \"(\" + this.rows + \") is not allowed.\";\n console.warn(msg);\n return false;\n }\n if (this.options[key] !== value) {\n if (this.lines.length > value) {\n var amountToTrim = this.lines.length - value;\n var needsRefresh = (this.ydisp - amountToTrim < 0);\n this.lines.trimStart(amountToTrim);\n this.ybase = Math.max(this.ybase - amountToTrim, 0);\n this.ydisp = Math.max(this.ydisp - amountToTrim, 0);\n if (needsRefresh) {\n this.refresh(0, this.rows - 1);\n }\n }\n this.lines.maxLength = value;\n this.viewport.syncScrollArea();\n }\n break;\n }\n this[key] = value;\n this.options[key] = value;\n switch (key) {\n case 'cursorBlink':\n this.setCursorBlinking(value);\n break;\n case 'cursorStyle':\n this.element.classList.toggle(\"xterm-cursor-style-underline\", value === 'underline');\n this.element.classList.toggle(\"xterm-cursor-style-bar\", value === 'bar');\n break;\n case 'tabStopWidth':\n this.setupStops();\n break;\n }\n};\nTerminal.prototype.restartCursorBlinking = function () {\n this.setCursorBlinking(this.options.cursorBlink);\n};\nTerminal.prototype.setCursorBlinking = function (enabled) {\n this.element.classList.toggle('xterm-cursor-blink', enabled);\n this.clearCursorBlinkingInterval();\n if (enabled) {\n var self = this;\n this.cursorBlinkInterval = setInterval(function () {\n self.element.classList.toggle('xterm-cursor-blink-on');\n }, CURSOR_BLINK_INTERVAL);\n }\n};\nTerminal.prototype.clearCursorBlinkingInterval = function () {\n this.element.classList.remove('xterm-cursor-blink-on');\n if (this.cursorBlinkInterval) {\n clearInterval(this.cursorBlinkInterval);\n this.cursorBlinkInterval = null;\n }\n};\nTerminal.bindFocus = function (term) {\n on(term.textarea, 'focus', function (ev) {\n if (term.sendFocus) {\n term.send(EscapeSequences_1.C0.ESC + '[I');\n }\n term.element.classList.add('focus');\n term.showCursor();\n term.restartCursorBlinking.apply(term);\n Terminal.focus = term;\n term.emit('focus', { terminal: term });\n });\n};\nTerminal.prototype.blur = function () {\n return this.textarea.blur();\n};\nTerminal.bindBlur = function (term) {\n on(term.textarea, 'blur', function (ev) {\n term.refresh(term.y, term.y);\n if (term.sendFocus) {\n term.send(EscapeSequences_1.C0.ESC + '[O');\n }\n term.element.classList.remove('focus');\n term.clearCursorBlinkingInterval.apply(term);\n Terminal.focus = null;\n term.emit('blur', { terminal: term });\n });\n};\nTerminal.prototype.initGlobal = function () {\n var _this = this;\n var term = this;\n Terminal.bindKeys(this);\n Terminal.bindFocus(this);\n Terminal.bindBlur(this);\n on(this.element, 'copy', function (event) {\n if (_this.mouseEvents) {\n return;\n }\n Clipboard_1.copyHandler(event, term, _this.selectionManager);\n });\n var pasteHandlerWrapper = function (event) { return Clipboard_1.pasteHandler(event, term); };\n on(this.textarea, 'paste', pasteHandlerWrapper);\n on(this.element, 'paste', pasteHandlerWrapper);\n if (term.browser.isFirefox) {\n on(this.element, 'mousedown', function (event) {\n if (event.button == 2) {\n Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager);\n }\n });\n }\n else {\n on(this.element, 'contextmenu', function (event) {\n Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager);\n });\n }\n if (term.browser.isLinux) {\n on(this.element, 'auxclick', function (event) {\n if (event.button === 1) {\n Clipboard_1.moveTextAreaUnderMouseCursor(event, _this.textarea, _this.selectionManager);\n }\n });\n }\n};\nTerminal.bindKeys = function (term) {\n on(term.element, 'keydown', function (ev) {\n if (document.activeElement != this) {\n return;\n }\n term.keyDown(ev);\n }, true);\n on(term.element, 'keypress', function (ev) {\n if (document.activeElement != this) {\n return;\n }\n term.keyPress(ev);\n }, true);\n on(term.element, 'keyup', function (ev) {\n if (!wasMondifierKeyOnlyEvent(ev)) {\n term.focus(term);\n }\n }, true);\n on(term.textarea, 'keydown', function (ev) {\n term.keyDown(ev);\n }, true);\n on(term.textarea, 'keypress', function (ev) {\n term.keyPress(ev);\n this.value = '';\n }, true);\n on(term.textarea, 'compositionstart', term.compositionHelper.compositionstart.bind(term.compositionHelper));\n on(term.textarea, 'compositionupdate', term.compositionHelper.compositionupdate.bind(term.compositionHelper));\n on(term.textarea, 'compositionend', term.compositionHelper.compositionend.bind(term.compositionHelper));\n term.on('refresh', term.compositionHelper.updateCompositionElements.bind(term.compositionHelper));\n term.on('refresh', function (data) {\n term.queueLinkification(data.start, data.end);\n });\n};\nTerminal.prototype.insertRow = function (row) {\n if (typeof row != 'object') {\n row = document.createElement('div');\n }\n this.rowContainer.appendChild(row);\n this.children.push(row);\n return row;\n};\nTerminal.prototype.open = function (parent, focus) {\n var _this = this;\n var self = this, i = 0, div;\n this.parent = parent || this.parent;\n if (!this.parent) {\n throw new Error('Terminal requires a parent element.');\n }\n this.context = this.parent.ownerDocument.defaultView;\n this.document = this.parent.ownerDocument;\n this.body = this.document.getElementsByTagName('body')[0];\n this.element = this.document.createElement('div');\n this.element.classList.add('terminal');\n this.element.classList.add('xterm');\n this.element.classList.add('xterm-theme-' + this.theme);\n this.setCursorBlinking(this.options.cursorBlink);\n this.element.setAttribute('tabindex', 0);\n this.viewportElement = document.createElement('div');\n this.viewportElement.classList.add('xterm-viewport');\n this.element.appendChild(this.viewportElement);\n this.viewportScrollArea = document.createElement('div');\n this.viewportScrollArea.classList.add('xterm-scroll-area');\n this.viewportElement.appendChild(this.viewportScrollArea);\n this.selectionContainer = document.createElement('div');\n this.selectionContainer.classList.add('xterm-selection');\n this.element.appendChild(this.selectionContainer);\n this.rowContainer = document.createElement('div');\n this.rowContainer.classList.add('xterm-rows');\n this.element.appendChild(this.rowContainer);\n this.children = [];\n this.linkifier.attachToDom(document, this.children);\n this.helperContainer = document.createElement('div');\n this.helperContainer.classList.add('xterm-helpers');\n this.element.appendChild(this.helperContainer);\n this.textarea = document.createElement('textarea');\n this.textarea.classList.add('xterm-helper-textarea');\n this.textarea.setAttribute('autocorrect', 'off');\n this.textarea.setAttribute('autocapitalize', 'off');\n this.textarea.setAttribute('spellcheck', 'false');\n this.textarea.tabIndex = 0;\n this.textarea.addEventListener('focus', function () {\n self.emit('focus', { terminal: self });\n });\n this.textarea.addEventListener('blur', function () {\n self.emit('blur', { terminal: self });\n });\n this.helperContainer.appendChild(this.textarea);\n this.compositionView = document.createElement('div');\n this.compositionView.classList.add('composition-view');\n this.compositionHelper = new CompositionHelper_1.CompositionHelper(this.textarea, this.compositionView, this);\n this.helperContainer.appendChild(this.compositionView);\n this.charSizeStyleElement = document.createElement('style');\n this.helperContainer.appendChild(this.charSizeStyleElement);\n for (; i < this.rows; i++) {\n this.insertRow();\n }\n this.parent.appendChild(this.element);\n this.charMeasure = new CharMeasure_1.CharMeasure(document, this.helperContainer);\n this.charMeasure.on('charsizechanged', function () {\n self.updateCharSizeStyles();\n });\n this.charMeasure.measure();\n this.viewport = new Viewport_1.Viewport(this, this.viewportElement, this.viewportScrollArea, this.charMeasure);\n this.renderer = new Renderer_1.Renderer(this);\n this.selectionManager = new SelectionManager_1.SelectionManager(this, this.lines, this.rowContainer, this.charMeasure);\n this.selectionManager.on('refresh', function (data) {\n _this.renderer.refreshSelection(data.start, data.end);\n });\n this.selectionManager.on('newselection', function (text) {\n _this.textarea.value = text;\n _this.textarea.focus();\n _this.textarea.select();\n });\n this.on('scroll', function () { return _this.selectionManager.refresh(); });\n this.viewportElement.addEventListener('scroll', function () { return _this.selectionManager.refresh(); });\n this.refresh(0, this.rows - 1);\n this.initGlobal();\n if (typeof focus == 'undefined') {\n var message = 'You did not pass the `focus` argument in `Terminal.prototype.open()`.\\n';\n message += 'The `focus` argument now defaults to `true` but starting with xterm.js 3.0 ';\n message += 'it will default to `false`.';\n console.warn(message);\n focus = true;\n }\n if (focus) {\n this.focus();\n }\n on(this.element, 'click', function () {\n var selection = document.getSelection(), collapsed = selection.isCollapsed, isRange = typeof collapsed == 'boolean' ? !collapsed : selection.type == 'Range';\n if (!isRange) {\n self.focus();\n }\n });\n this.bindMouse();\n this.emit('open');\n};\nTerminal.loadAddon = function (addon, callback) {\n if (typeof exports === 'object' && typeof module === 'object') {\n return require('./addons/' + addon + '/' + addon);\n }\n else if (typeof define == 'function') {\n return require(['./addons/' + addon + '/' + addon], callback);\n }\n else {\n console.error('Cannot load a module without a CommonJS or RequireJS environment.');\n return false;\n }\n};\nTerminal.prototype.updateCharSizeStyles = function () {\n this.charSizeStyleElement.textContent =\n \".xterm-wide-char{width:\" + this.charMeasure.width * 2 + \"px;}\" +\n (\".xterm-normal-char{width:\" + this.charMeasure.width + \"px;}\") +\n (\".xterm-rows > div{height:\" + this.charMeasure.height + \"px;}\");\n};\nTerminal.prototype.bindMouse = function () {\n var el = this.element, self = this, pressed = 32;\n function sendButton(ev) {\n var button, pos;\n button = getButton(ev);\n pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows);\n if (!pos)\n return;\n sendEvent(button, pos);\n switch (ev.overrideType || ev.type) {\n case 'mousedown':\n pressed = button;\n break;\n case 'mouseup':\n pressed = 32;\n break;\n case 'wheel':\n break;\n }\n }\n function sendMove(ev) {\n var button = pressed, pos;\n pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows);\n if (!pos)\n return;\n button += 32;\n sendEvent(button, pos);\n }\n function encode(data, ch) {\n if (!self.utfMouse) {\n if (ch === 255)\n return data.push(0);\n if (ch > 127)\n ch = 127;\n data.push(ch);\n }\n else {\n if (ch === 2047)\n return data.push(0);\n if (ch < 127) {\n data.push(ch);\n }\n else {\n if (ch > 2047)\n ch = 2047;\n data.push(0xC0 | (ch >> 6));\n data.push(0x80 | (ch & 0x3F));\n }\n }\n }\n function sendEvent(button, pos) {\n if (self.vt300Mouse) {\n button &= 3;\n pos.x -= 32;\n pos.y -= 32;\n var data = EscapeSequences_1.C0.ESC + '[24';\n if (button === 0)\n data += '1';\n else if (button === 1)\n data += '3';\n else if (button === 2)\n data += '5';\n else if (button === 3)\n return;\n else\n data += '0';\n data += '~[' + pos.x + ',' + pos.y + ']\\r';\n self.send(data);\n return;\n }\n if (self.decLocator) {\n button &= 3;\n pos.x -= 32;\n pos.y -= 32;\n if (button === 0)\n button = 2;\n else if (button === 1)\n button = 4;\n else if (button === 2)\n button = 6;\n else if (button === 3)\n button = 3;\n self.send(EscapeSequences_1.C0.ESC + '['\n + button\n + ';'\n + (button === 3 ? 4 : 0)\n + ';'\n + pos.y\n + ';'\n + pos.x\n + ';'\n + (pos.page || 0)\n + '&w');\n return;\n }\n if (self.urxvtMouse) {\n pos.x -= 32;\n pos.y -= 32;\n pos.x++;\n pos.y++;\n self.send(EscapeSequences_1.C0.ESC + '[' + button + ';' + pos.x + ';' + pos.y + 'M');\n return;\n }\n if (self.sgrMouse) {\n pos.x -= 32;\n pos.y -= 32;\n self.send(EscapeSequences_1.C0.ESC + '[<'\n + (((button & 3) === 3 ? button & ~3 : button) - 32)\n + ';'\n + pos.x\n + ';'\n + pos.y\n + ((button & 3) === 3 ? 'm' : 'M'));\n return;\n }\n var data = [];\n encode(data, button);\n encode(data, pos.x);\n encode(data, pos.y);\n self.send(EscapeSequences_1.C0.ESC + '[M' + String.fromCharCode.apply(String, data));\n }\n function getButton(ev) {\n var button, shift, meta, ctrl, mod;\n switch (ev.overrideType || ev.type) {\n case 'mousedown':\n button = ev.button != null\n ? +ev.button\n : ev.which != null\n ? ev.which - 1\n : null;\n if (self.browser.isMSIE) {\n button = button === 1 ? 0 : button === 4 ? 1 : button;\n }\n break;\n case 'mouseup':\n button = 3;\n break;\n case 'DOMMouseScroll':\n button = ev.detail < 0\n ? 64\n : 65;\n break;\n case 'wheel':\n button = ev.wheelDeltaY > 0\n ? 64\n : 65;\n break;\n }\n shift = ev.shiftKey ? 4 : 0;\n meta = ev.metaKey ? 8 : 0;\n ctrl = ev.ctrlKey ? 16 : 0;\n mod = shift | meta | ctrl;\n if (self.vt200Mouse) {\n mod &= ctrl;\n }\n else if (!self.normalMouse) {\n mod = 0;\n }\n button = (32 + (mod << 2)) + button;\n return button;\n }\n on(el, 'mousedown', function (ev) {\n if (!self.mouseEvents)\n return;\n sendButton(ev);\n self.focus();\n if (self.vt200Mouse) {\n ev.overrideType = 'mouseup';\n sendButton(ev);\n return self.cancel(ev);\n }\n if (self.normalMouse)\n on(self.document, 'mousemove', sendMove);\n if (!self.x10Mouse) {\n on(self.document, 'mouseup', function up(ev) {\n sendButton(ev);\n if (self.normalMouse)\n off(self.document, 'mousemove', sendMove);\n off(self.document, 'mouseup', up);\n return self.cancel(ev);\n });\n }\n return self.cancel(ev);\n });\n on(el, 'wheel', function (ev) {\n if (!self.mouseEvents)\n return;\n if (self.x10Mouse\n || self.vt300Mouse\n || self.decLocator)\n return;\n sendButton(ev);\n return self.cancel(ev);\n });\n on(el, 'wheel', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onWheel(ev);\n return self.cancel(ev);\n });\n on(el, 'touchstart', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onTouchStart(ev);\n return self.cancel(ev);\n });\n on(el, 'touchmove', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onTouchMove(ev);\n return self.cancel(ev);\n });\n};\nTerminal.prototype.destroy = function () {\n this.readable = false;\n this.writable = false;\n this._events = {};\n this.handler = function () { };\n this.write = function () { };\n if (this.element && this.element.parentNode) {\n this.element.parentNode.removeChild(this.element);\n }\n};\nTerminal.prototype.refresh = function (start, end) {\n if (this.renderer) {\n this.renderer.queueRefresh(start, end);\n }\n};\nTerminal.prototype.queueLinkification = function (start, end) {\n if (this.linkifier) {\n for (var i = start; i <= end; i++) {\n this.linkifier.linkifyRow(i);\n }\n }\n};\nTerminal.prototype.showCursor = function () {\n if (!this.cursorState) {\n this.cursorState = 1;\n this.refresh(this.y, this.y);\n }\n};\nTerminal.prototype.scroll = function (isWrapped) {\n var row;\n if (this.lines.length === this.lines.maxLength) {\n this.lines.trimStart(1);\n this.ybase--;\n if (this.ydisp !== 0) {\n this.ydisp--;\n }\n }\n this.ybase++;\n if (!this.userScrolling) {\n this.ydisp = this.ybase;\n }\n row = this.ybase + this.rows - 1;\n row -= this.rows - 1 - this.scrollBottom;\n if (row === this.lines.length) {\n this.lines.push(this.blankLine(undefined, isWrapped));\n }\n else {\n this.lines.splice(row, 0, this.blankLine(undefined, isWrapped));\n }\n if (this.scrollTop !== 0) {\n if (this.ybase !== 0) {\n this.ybase--;\n if (!this.userScrolling) {\n this.ydisp = this.ybase;\n }\n }\n this.lines.splice(this.ybase + this.scrollTop, 1);\n }\n this.updateRange(this.scrollTop);\n this.updateRange(this.scrollBottom);\n this.emit('scroll', this.ydisp);\n};\nTerminal.prototype.scrollDisp = function (disp, suppressScrollEvent) {\n if (disp < 0) {\n if (this.ydisp === 0) {\n return;\n }\n this.userScrolling = true;\n }\n else if (disp + this.ydisp >= this.ybase) {\n this.userScrolling = false;\n }\n this.ydisp += disp;\n if (this.ydisp > this.ybase) {\n this.ydisp = this.ybase;\n }\n else if (this.ydisp < 0) {\n this.ydisp = 0;\n }\n if (!suppressScrollEvent) {\n this.emit('scroll', this.ydisp);\n }\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.scrollPages = function (pageCount) {\n this.scrollDisp(pageCount * (this.rows - 1));\n};\nTerminal.prototype.scrollToTop = function () {\n this.scrollDisp(-this.ydisp);\n};\nTerminal.prototype.scrollToBottom = function () {\n this.scrollDisp(this.ybase - this.ydisp);\n};\nTerminal.prototype.write = function (data) {\n this.writeBuffer.push(data);\n if (this.options.useFlowControl && !this.xoffSentToCatchUp && this.writeBuffer.length >= WRITE_BUFFER_PAUSE_THRESHOLD) {\n this.send(EscapeSequences_1.C0.DC3);\n this.xoffSentToCatchUp = true;\n }\n if (!this.writeInProgress && this.writeBuffer.length > 0) {\n this.writeInProgress = true;\n var self = this;\n setTimeout(function () {\n self.innerWrite();\n });\n }\n};\nTerminal.prototype.innerWrite = function () {\n var writeBatch = this.writeBuffer.splice(0, WRITE_BATCH_SIZE);\n while (writeBatch.length > 0) {\n var data = writeBatch.shift();\n var l = data.length, i = 0, j, cs, ch, code, low, ch_width, row;\n if (this.xoffSentToCatchUp && writeBatch.length === 0 && this.writeBuffer.length === 0) {\n this.send(EscapeSequences_1.C0.DC1);\n this.xoffSentToCatchUp = false;\n }\n this.refreshStart = this.y;\n this.refreshEnd = this.y;\n var state = this.parser.parse(data);\n this.parser.setState(state);\n this.updateRange(this.y);\n this.refresh(this.refreshStart, this.refreshEnd);\n }\n if (this.writeBuffer.length > 0) {\n var self = this;\n setTimeout(function () {\n self.innerWrite();\n }, 0);\n }\n else {\n this.writeInProgress = false;\n }\n};\nTerminal.prototype.writeln = function (data) {\n this.write(data + '\\r\\n');\n};\nTerminal.prototype.attachCustomKeydownHandler = function (customKeydownHandler) {\n var message = 'attachCustomKeydownHandler() is DEPRECATED and will be removed soon. Please use attachCustomKeyEventHandler() instead.';\n console.warn(message);\n this.attachCustomKeyEventHandler(customKeydownHandler);\n};\nTerminal.prototype.attachCustomKeyEventHandler = function (customKeyEventHandler) {\n this.customKeyEventHandler = customKeyEventHandler;\n};\nTerminal.prototype.setHypertextLinkHandler = function (handler) {\n if (!this.linkifier) {\n throw new Error('Cannot attach a hypertext link handler before Terminal.open is called');\n }\n this.linkifier.setHypertextLinkHandler(handler);\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.setHypertextValidationCallback = function (callback) {\n if (!this.linkifier) {\n throw new Error('Cannot attach a hypertext validation callback before Terminal.open is called');\n }\n this.linkifier.setHypertextValidationCallback(callback);\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.registerLinkMatcher = function (regex, handler, options) {\n if (this.linkifier) {\n var matcherId = this.linkifier.registerLinkMatcher(regex, handler, options);\n this.refresh(0, this.rows - 1);\n return matcherId;\n }\n};\nTerminal.prototype.deregisterLinkMatcher = function (matcherId) {\n if (this.linkifier) {\n if (this.linkifier.deregisterLinkMatcher(matcherId)) {\n this.refresh(0, this.rows - 1);\n }\n }\n};\nTerminal.prototype.hasSelection = function () {\n return this.selectionManager.hasSelection;\n};\nTerminal.prototype.getSelection = function () {\n return this.selectionManager.selectionText;\n};\nTerminal.prototype.clearSelection = function () {\n this.selectionManager.clearSelection();\n};\nTerminal.prototype.selectAll = function () {\n this.selectionManager.selectAll();\n};\nTerminal.prototype.keyDown = function (ev) {\n if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) {\n return false;\n }\n this.restartCursorBlinking();\n if (!this.compositionHelper.keydown.bind(this.compositionHelper)(ev)) {\n if (this.ybase !== this.ydisp) {\n this.scrollToBottom();\n }\n return false;\n }\n var self = this;\n var result = this.evaluateKeyEscapeSequence(ev);\n if (result.key === EscapeSequences_1.C0.DC3) {\n this.writeStopped = true;\n }\n else if (result.key === EscapeSequences_1.C0.DC1) {\n this.writeStopped = false;\n }\n if (result.scrollDisp) {\n this.scrollDisp(result.scrollDisp);\n return this.cancel(ev, true);\n }\n if (isThirdLevelShift(this, ev)) {\n return true;\n }\n if (result.cancel) {\n this.cancel(ev, true);\n }\n if (!result.key) {\n return true;\n }\n this.emit('keydown', ev);\n this.emit('key', result.key, ev);\n this.showCursor();\n this.handler(result.key);\n return this.cancel(ev, true);\n};\nTerminal.prototype.evaluateKeyEscapeSequence = function (ev) {\n var result = {\n cancel: false,\n key: undefined,\n scrollDisp: undefined\n };\n var modifiers = ev.shiftKey << 0 | ev.altKey << 1 | ev.ctrlKey << 2 | ev.metaKey << 3;\n switch (ev.keyCode) {\n case 8:\n if (ev.shiftKey) {\n result.key = EscapeSequences_1.C0.BS;\n break;\n }\n result.key = EscapeSequences_1.C0.DEL;\n break;\n case 9:\n if (ev.shiftKey) {\n result.key = EscapeSequences_1.C0.ESC + '[Z';\n break;\n }\n result.key = EscapeSequences_1.C0.HT;\n result.cancel = true;\n break;\n case 13:\n result.key = EscapeSequences_1.C0.CR;\n result.cancel = true;\n break;\n case 27:\n result.key = EscapeSequences_1.C0.ESC;\n result.cancel = true;\n break;\n case 37:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'D';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3D') {\n result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'b' : EscapeSequences_1.C0.ESC + '[1;5D';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OD';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[D';\n }\n break;\n case 39:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'C';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3C') {\n result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'f' : EscapeSequences_1.C0.ESC + '[1;5C';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OC';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[C';\n }\n break;\n case 38:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'A';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3A') {\n result.key = EscapeSequences_1.C0.ESC + '[1;5A';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OA';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[A';\n }\n break;\n case 40:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'B';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3B') {\n result.key = EscapeSequences_1.C0.ESC + '[1;5B';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OB';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[B';\n }\n break;\n case 45:\n if (!ev.shiftKey && !ev.ctrlKey) {\n result.key = EscapeSequences_1.C0.ESC + '[2~';\n }\n break;\n case 46:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[3;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[3~';\n }\n break;\n case 36:\n if (modifiers)\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'H';\n else if (this.applicationCursor)\n result.key = EscapeSequences_1.C0.ESC + 'OH';\n else\n result.key = EscapeSequences_1.C0.ESC + '[H';\n break;\n case 35:\n if (modifiers)\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'F';\n else if (this.applicationCursor)\n result.key = EscapeSequences_1.C0.ESC + 'OF';\n else\n result.key = EscapeSequences_1.C0.ESC + '[F';\n break;\n case 33:\n if (ev.shiftKey) {\n result.scrollDisp = -(this.rows - 1);\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[5~';\n }\n break;\n case 34:\n if (ev.shiftKey) {\n result.scrollDisp = this.rows - 1;\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[6~';\n }\n break;\n case 112:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'P';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OP';\n }\n break;\n case 113:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'Q';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OQ';\n }\n break;\n case 114:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'R';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OR';\n }\n break;\n case 115:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'S';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OS';\n }\n break;\n case 116:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[15;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[15~';\n }\n break;\n case 117:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[17;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[17~';\n }\n break;\n case 118:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[18;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[18~';\n }\n break;\n case 119:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[19;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[19~';\n }\n break;\n case 120:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[20;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[20~';\n }\n break;\n case 121:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[21;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[21~';\n }\n break;\n case 122:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[23;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[23~';\n }\n break;\n case 123:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[24;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[24~';\n }\n break;\n default:\n if (ev.ctrlKey && !ev.shiftKey && !ev.altKey && !ev.metaKey) {\n if (ev.keyCode >= 65 && ev.keyCode <= 90) {\n result.key = String.fromCharCode(ev.keyCode - 64);\n }\n else if (ev.keyCode === 32) {\n result.key = String.fromCharCode(0);\n }\n else if (ev.keyCode >= 51 && ev.keyCode <= 55) {\n result.key = String.fromCharCode(ev.keyCode - 51 + 27);\n }\n else if (ev.keyCode === 56) {\n result.key = String.fromCharCode(127);\n }\n else if (ev.keyCode === 219) {\n result.key = String.fromCharCode(27);\n }\n else if (ev.keyCode === 220) {\n result.key = String.fromCharCode(28);\n }\n else if (ev.keyCode === 221) {\n result.key = String.fromCharCode(29);\n }\n }\n else if (!this.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) {\n if (ev.keyCode >= 65 && ev.keyCode <= 90) {\n result.key = EscapeSequences_1.C0.ESC + String.fromCharCode(ev.keyCode + 32);\n }\n else if (ev.keyCode === 192) {\n result.key = EscapeSequences_1.C0.ESC + '`';\n }\n else if (ev.keyCode >= 48 && ev.keyCode <= 57) {\n result.key = EscapeSequences_1.C0.ESC + (ev.keyCode - 48);\n }\n }\n else if (this.browser.isMac && !ev.altKey && !ev.ctrlKey && ev.metaKey) {\n if (ev.keyCode === 65) {\n this.selectAll();\n }\n }\n break;\n }\n return result;\n};\nTerminal.prototype.setgLevel = function (g) {\n this.glevel = g;\n this.charset = this.charsets[g];\n};\nTerminal.prototype.setgCharset = function (g, charset) {\n this.charsets[g] = charset;\n if (this.glevel === g) {\n this.charset = charset;\n }\n};\nTerminal.prototype.keyPress = function (ev) {\n var key;\n if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) {\n return false;\n }\n this.cancel(ev);\n if (ev.charCode) {\n key = ev.charCode;\n }\n else if (ev.which == null) {\n key = ev.keyCode;\n }\n else if (ev.which !== 0 && ev.charCode !== 0) {\n key = ev.which;\n }\n else {\n return false;\n }\n if (!key || ((ev.altKey || ev.ctrlKey || ev.metaKey) && !isThirdLevelShift(this, ev))) {\n return false;\n }\n key = String.fromCharCode(key);\n this.emit('keypress', key, ev);\n this.emit('key', key, ev);\n this.showCursor();\n this.handler(key);\n return true;\n};\nTerminal.prototype.send = function (data) {\n var self = this;\n if (!this.queue) {\n setTimeout(function () {\n self.handler(self.queue);\n self.queue = '';\n }, 1);\n }\n this.queue += data;\n};\nTerminal.prototype.bell = function () {\n if (!this.visualBell)\n return;\n var self = this;\n this.element.style.borderColor = 'white';\n setTimeout(function () {\n self.element.style.borderColor = '';\n }, 10);\n if (this.popOnBell)\n this.focus();\n};\nTerminal.prototype.log = function () {\n if (!this.debug)\n return;\n if (!this.context.console || !this.context.console.log)\n return;\n var args = Array.prototype.slice.call(arguments);\n this.context.console.log.apply(this.context.console, args);\n};\nTerminal.prototype.error = function () {\n if (!this.debug)\n return;\n if (!this.context.console || !this.context.console.error)\n return;\n var args = Array.prototype.slice.call(arguments);\n this.context.console.error.apply(this.context.console, args);\n};\nTerminal.prototype.resize = function (x, y) {\n if (isNaN(x) || isNaN(y)) {\n return;\n }\n if (y > this.getOption('scrollback')) {\n this.setOption('scrollback', y);\n }\n var line, el, i, j, ch, addToY;\n if (x === this.cols && y === this.rows) {\n return;\n }\n if (x < 1)\n x = 1;\n if (y < 1)\n y = 1;\n j = this.cols;\n if (j < x) {\n ch = [this.defAttr, ' ', 1];\n i = this.lines.length;\n while (i--) {\n while (this.lines.get(i).length < x) {\n this.lines.get(i).push(ch);\n }\n }\n }\n this.cols = x;\n this.setupStops(this.cols);\n j = this.rows;\n addToY = 0;\n if (j < y) {\n el = this.element;\n while (j++ < y) {\n if (this.lines.length < y + this.ybase) {\n if (this.ybase > 0 && this.lines.length <= this.ybase + this.y + addToY + 1) {\n this.ybase--;\n addToY++;\n if (this.ydisp > 0) {\n this.ydisp--;\n }\n }\n else {\n this.lines.push(this.blankLine());\n }\n }\n if (this.children.length < y) {\n this.insertRow();\n }\n }\n }\n else {\n while (j-- > y) {\n if (this.lines.length > y + this.ybase) {\n if (this.lines.length > this.ybase + this.y + 1) {\n this.lines.pop();\n }\n else {\n this.ybase++;\n this.ydisp++;\n }\n }\n if (this.children.length > y) {\n el = this.children.shift();\n if (!el)\n continue;\n el.parentNode.removeChild(el);\n }\n }\n }\n this.rows = y;\n if (this.y >= y) {\n this.y = y - 1;\n }\n if (addToY) {\n this.y += addToY;\n }\n if (this.x >= x) {\n this.x = x - 1;\n }\n this.scrollTop = 0;\n this.scrollBottom = y - 1;\n this.charMeasure.measure();\n this.refresh(0, this.rows - 1);\n this.normal = null;\n this.geometry = [this.cols, this.rows];\n this.emit('resize', { terminal: this, cols: x, rows: y });\n};\nTerminal.prototype.updateRange = function (y) {\n if (y < this.refreshStart)\n this.refreshStart = y;\n if (y > this.refreshEnd)\n this.refreshEnd = y;\n};\nTerminal.prototype.maxRange = function () {\n this.refreshStart = 0;\n this.refreshEnd = this.rows - 1;\n};\nTerminal.prototype.setupStops = function (i) {\n if (i != null) {\n if (!this.tabs[i]) {\n i = this.prevStop(i);\n }\n }\n else {\n this.tabs = {};\n i = 0;\n }\n for (; i < this.cols; i += this.getOption('tabStopWidth')) {\n this.tabs[i] = true;\n }\n};\nTerminal.prototype.prevStop = function (x) {\n if (x == null)\n x = this.x;\n while (!this.tabs[--x] && x > 0)\n ;\n return x >= this.cols\n ? this.cols - 1\n : x < 0 ? 0 : x;\n};\nTerminal.prototype.nextStop = function (x) {\n if (x == null)\n x = this.x;\n while (!this.tabs[++x] && x < this.cols)\n ;\n return x >= this.cols\n ? this.cols - 1\n : x < 0 ? 0 : x;\n};\nTerminal.prototype.eraseRight = function (x, y) {\n var line = this.lines.get(this.ybase + y);\n if (!line) {\n return;\n }\n var ch = [this.eraseAttr(), ' ', 1];\n for (; x < this.cols; x++) {\n line[x] = ch;\n }\n this.updateRange(y);\n};\nTerminal.prototype.eraseLeft = function (x, y) {\n var line = this.lines.get(this.ybase + y);\n if (!line) {\n return;\n }\n var ch = [this.eraseAttr(), ' ', 1];\n x++;\n while (x--) {\n line[x] = ch;\n }\n this.updateRange(y);\n};\nTerminal.prototype.clear = function () {\n if (this.ybase === 0 && this.y === 0) {\n return;\n }\n this.lines.set(0, this.lines.get(this.ybase + this.y));\n this.lines.length = 1;\n this.ydisp = 0;\n this.ybase = 0;\n this.y = 0;\n for (var i = 1; i < this.rows; i++) {\n this.lines.push(this.blankLine());\n }\n this.refresh(0, this.rows - 1);\n this.emit('scroll', this.ydisp);\n};\nTerminal.prototype.eraseLine = function (y) {\n this.eraseRight(0, y);\n};\nTerminal.prototype.blankLine = function (cur, isWrapped) {\n var attr = cur\n ? this.eraseAttr()\n : this.defAttr;\n var ch = [attr, ' ', 1], line = [], i = 0;\n if (isWrapped) {\n line.isWrapped = isWrapped;\n }\n for (; i < this.cols; i++) {\n line[i] = ch;\n }\n return line;\n};\nTerminal.prototype.ch = function (cur) {\n return cur\n ? [this.eraseAttr(), ' ', 1]\n : [this.defAttr, ' ', 1];\n};\nTerminal.prototype.is = function (term) {\n var name = this.termName;\n return (name + '').indexOf(term) === 0;\n};\nTerminal.prototype.handler = function (data) {\n if (this.options.disableStdin) {\n return;\n }\n if (this.ybase !== this.ydisp) {\n this.scrollToBottom();\n }\n this.emit('data', data);\n};\nTerminal.prototype.handleTitle = function (title) {\n this.emit('title', title);\n};\nTerminal.prototype.index = function () {\n this.y++;\n if (this.y > this.scrollBottom) {\n this.y--;\n this.scroll();\n }\n if (this.x >= this.cols) {\n this.x--;\n }\n};\nTerminal.prototype.reverseIndex = function () {\n var j;\n if (this.y === this.scrollTop) {\n this.lines.shiftElements(this.y + this.ybase, this.rows - 1, 1);\n this.lines.set(this.y + this.ybase, this.blankLine(true));\n this.updateRange(this.scrollTop);\n this.updateRange(this.scrollBottom);\n }\n else {\n this.y--;\n }\n};\nTerminal.prototype.reset = function () {\n this.options.rows = this.rows;\n this.options.cols = this.cols;\n var customKeyEventHandler = this.customKeyEventHandler;\n var cursorBlinkInterval = this.cursorBlinkInterval;\n Terminal.call(this, this.options);\n this.customKeyEventHandler = customKeyEventHandler;\n this.cursorBlinkInterval = cursorBlinkInterval;\n this.refresh(0, this.rows - 1);\n this.viewport.syncScrollArea();\n};\nTerminal.prototype.tabSet = function () {\n this.tabs[this.x] = true;\n};\nfunction on(el, type, handler, capture) {\n if (!Array.isArray(el)) {\n el = [el];\n }\n el.forEach(function (element) {\n element.addEventListener(type, handler, capture || false);\n });\n}\nfunction off(el, type, handler, capture) {\n el.removeEventListener(type, handler, capture || false);\n}\nfunction cancel(ev, force) {\n if (!this.cancelEvents && !force) {\n return;\n }\n ev.preventDefault();\n ev.stopPropagation();\n return false;\n}\nfunction inherits(child, parent) {\n function f() {\n this.constructor = child;\n }\n f.prototype = parent.prototype;\n child.prototype = new f;\n}\nfunction indexOf(obj, el) {\n var i = obj.length;\n while (i--) {\n if (obj[i] === el)\n return i;\n }\n return -1;\n}\nfunction isThirdLevelShift(term, ev) {\n var thirdLevelKey = (term.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) ||\n (term.browser.isMSWindows && ev.altKey && ev.ctrlKey && !ev.metaKey);\n if (ev.type == 'keypress') {\n return thirdLevelKey;\n }\n return thirdLevelKey && (!ev.keyCode || ev.keyCode > 47);\n}\nTerminal.prototype.matchColor = matchColor;\nfunction matchColor(r1, g1, b1) {\n var hash = (r1 << 16) | (g1 << 8) | b1;\n if (matchColor._cache[hash] != null) {\n return matchColor._cache[hash];\n }\n var ldiff = Infinity, li = -1, i = 0, c, r2, g2, b2, diff;\n for (; i < Terminal.vcolors.length; i++) {\n c = Terminal.vcolors[i];\n r2 = c[0];\n g2 = c[1];\n b2 = c[2];\n diff = matchColor.distance(r1, g1, b1, r2, g2, b2);\n if (diff === 0) {\n li = i;\n break;\n }\n if (diff < ldiff) {\n ldiff = diff;\n li = i;\n }\n }\n return matchColor._cache[hash] = li;\n}\nmatchColor._cache = {};\nmatchColor.distance = function (r1, g1, b1, r2, g2, b2) {\n return Math.pow(30 * (r1 - r2), 2)\n + Math.pow(59 * (g1 - g2), 2)\n + Math.pow(11 * (b1 - b2), 2);\n};\nfunction each(obj, iter, con) {\n if (obj.forEach)\n return obj.forEach(iter, con);\n for (var i = 0; i < obj.length; i++) {\n iter.call(con, obj[i], i, obj);\n }\n}\nfunction wasMondifierKeyOnlyEvent(ev) {\n return ev.keyCode === 16 ||\n ev.keyCode === 17 ||\n ev.keyCode === 18;\n}\nfunction keys(obj) {\n if (Object.keys)\n return Object.keys(obj);\n var key, keys = [];\n for (key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n keys.push(key);\n }\n }\n return keys;\n}\nTerminal.EventEmitter = EventEmitter_1.EventEmitter;\nTerminal.inherits = inherits;\nTerminal.on = on;\nTerminal.off = off;\nTerminal.cancel = cancel;\nmodule.exports = Terminal;\n\n//# sourceMappingURL=xterm.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/xterm.js\n// module id = 0\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n;\nvar EventEmitter = (function () {\n function EventEmitter() {\n this._events = this._events || {};\n }\n EventEmitter.prototype.on = function (type, listener) {\n this._events[type] = this._events[type] || [];\n this._events[type].push(listener);\n };\n EventEmitter.prototype.off = function (type, listener) {\n if (!this._events[type]) {\n return;\n }\n var obj = this._events[type];\n var i = obj.length;\n while (i--) {\n if (obj[i] === listener || obj[i].listener === listener) {\n obj.splice(i, 1);\n return;\n }\n }\n };\n EventEmitter.prototype.removeAllListeners = function (type) {\n if (this._events[type]) {\n delete this._events[type];\n }\n };\n EventEmitter.prototype.once = function (type, listener) {\n function on() {\n var args = Array.prototype.slice.call(arguments);\n this.off(type, on);\n return listener.apply(this, args);\n }\n on.listener = listener;\n return this.on(type, on);\n };\n EventEmitter.prototype.emit = function (type) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!this._events[type]) {\n return;\n }\n var obj = this._events[type];\n for (var i = 0; i < obj.length; i++) {\n obj[i].apply(this, args);\n }\n };\n EventEmitter.prototype.listeners = function (type) {\n return this._events[type] || [];\n };\n return EventEmitter;\n}());\nexports.EventEmitter = EventEmitter;\n\n//# sourceMappingURL=EventEmitter.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/EventEmitter.js\n// module id = 1\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar C0;\n(function (C0) {\n C0.NUL = '\\x00';\n C0.SOH = '\\x01';\n C0.STX = '\\x02';\n C0.ETX = '\\x03';\n C0.EOT = '\\x04';\n C0.ENQ = '\\x05';\n C0.ACK = '\\x06';\n C0.BEL = '\\x07';\n C0.BS = '\\x08';\n C0.HT = '\\x09';\n C0.LF = '\\x0a';\n C0.VT = '\\x0b';\n C0.FF = '\\x0c';\n C0.CR = '\\x0d';\n C0.SO = '\\x0e';\n C0.SI = '\\x0f';\n C0.DLE = '\\x10';\n C0.DC1 = '\\x11';\n C0.DC2 = '\\x12';\n C0.DC3 = '\\x13';\n C0.DC4 = '\\x14';\n C0.NAK = '\\x15';\n C0.SYN = '\\x16';\n C0.ETB = '\\x17';\n C0.CAN = '\\x18';\n C0.EM = '\\x19';\n C0.SUB = '\\x1a';\n C0.ESC = '\\x1b';\n C0.FS = '\\x1c';\n C0.GS = '\\x1d';\n C0.RS = '\\x1e';\n C0.US = '\\x1f';\n C0.SP = '\\x20';\n C0.DEL = '\\x7f';\n})(C0 = exports.C0 || (exports.C0 = {}));\n;\n\n//# sourceMappingURL=EscapeSequences.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/EscapeSequences.js\n// module id = 2\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CHARSETS = {};\nexports.DEFAULT_CHARSET = exports.CHARSETS['B'];\nexports.CHARSETS['0'] = {\n '`': '\\u25c6',\n 'a': '\\u2592',\n 'b': '\\u0009',\n 'c': '\\u000c',\n 'd': '\\u000d',\n 'e': '\\u000a',\n 'f': '\\u00b0',\n 'g': '\\u00b1',\n 'h': '\\u2424',\n 'i': '\\u000b',\n 'j': '\\u2518',\n 'k': '\\u2510',\n 'l': '\\u250c',\n 'm': '\\u2514',\n 'n': '\\u253c',\n 'o': '\\u23ba',\n 'p': '\\u23bb',\n 'q': '\\u2500',\n 'r': '\\u23bc',\n 's': '\\u23bd',\n 't': '\\u251c',\n 'u': '\\u2524',\n 'v': '\\u2534',\n 'w': '\\u252c',\n 'x': '\\u2502',\n 'y': '\\u2264',\n 'z': '\\u2265',\n '{': '\\u03c0',\n '|': '\\u2260',\n '}': '\\u00a3',\n '~': '\\u00b7'\n};\nexports.CHARSETS['A'] = {\n '#': '£'\n};\nexports.CHARSETS['B'] = null;\nexports.CHARSETS['4'] = {\n '#': '£',\n '@': '¾',\n '[': 'ij',\n '\\\\': '½',\n ']': '|',\n '{': '¨',\n '|': 'f',\n '}': '¼',\n '~': '´'\n};\nexports.CHARSETS['C'] =\n exports.CHARSETS['5'] = {\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Å',\n '^': 'Ü',\n '`': 'é',\n '{': 'ä',\n '|': 'ö',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['R'] = {\n '#': '£',\n '@': 'à',\n '[': '°',\n '\\\\': 'ç',\n ']': '§',\n '{': 'é',\n '|': 'ù',\n '}': 'è',\n '~': '¨'\n};\nexports.CHARSETS['Q'] = {\n '@': 'à',\n '[': 'â',\n '\\\\': 'ç',\n ']': 'ê',\n '^': 'î',\n '`': 'ô',\n '{': 'é',\n '|': 'ù',\n '}': 'è',\n '~': 'û'\n};\nexports.CHARSETS['K'] = {\n '@': '§',\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Ü',\n '{': 'ä',\n '|': 'ö',\n '}': 'ü',\n '~': 'ß'\n};\nexports.CHARSETS['Y'] = {\n '#': '£',\n '@': '§',\n '[': '°',\n '\\\\': 'ç',\n ']': 'é',\n '`': 'ù',\n '{': 'à',\n '|': 'ò',\n '}': 'è',\n '~': 'ì'\n};\nexports.CHARSETS['E'] =\n exports.CHARSETS['6'] = {\n '@': 'Ä',\n '[': 'Æ',\n '\\\\': 'Ø',\n ']': 'Å',\n '^': 'Ü',\n '`': 'ä',\n '{': 'æ',\n '|': 'ø',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['Z'] = {\n '#': '£',\n '@': '§',\n '[': '¡',\n '\\\\': 'Ñ',\n ']': '¿',\n '{': '°',\n '|': 'ñ',\n '}': 'ç'\n};\nexports.CHARSETS['H'] =\n exports.CHARSETS['7'] = {\n '@': 'É',\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Å',\n '^': 'Ü',\n '`': 'é',\n '{': 'ä',\n '|': 'ö',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['='] = {\n '#': 'ù',\n '@': 'à',\n '[': 'é',\n '\\\\': 'ç',\n ']': 'ê',\n '^': 'î',\n '_': 'è',\n '`': 'ô',\n '{': 'ä',\n '|': 'ö',\n '}': 'ü',\n '~': 'û'\n};\n\n//# sourceMappingURL=Charsets.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Charsets.js\n// module id = 3\n// module chunks = 0","/**\n * Implements the attach method, that attaches the terminal to a WebSocket stream.\n * @module xterm/addons/attach/attach\n * @license MIT\n */\n\n(function (attach) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = attach(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], attach);\n } else {\n /*\n * Plain browser environment\n */\n attach(window.Terminal);\n }\n})(function (Xterm) {\n 'use strict';\n\n var exports = {};\n\n /**\n * Attaches the given terminal to the given socket.\n *\n * @param {Xterm} term - The terminal to be attached to the given socket.\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n exports.attach = function (term, socket, bidirectional, buffered) {\n bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;\n term.socket = socket;\n\n term._flushBuffer = function () {\n term.write(term._attachSocketBuffer);\n term._attachSocketBuffer = null;\n clearTimeout(term._attachSocketBufferTimer);\n term._attachSocketBufferTimer = null;\n };\n\n term._pushToBuffer = function (data) {\n if (term._attachSocketBuffer) {\n term._attachSocketBuffer += data;\n } else {\n term._attachSocketBuffer = data;\n setTimeout(term._flushBuffer, 10);\n }\n };\n\n term._getMessage = function (ev) {\n if (buffered) {\n term._pushToBuffer(ev.data);\n } else {\n term.write(ev.data);\n }\n };\n\n term._sendData = function (data) {\n socket.send(data);\n };\n\n socket.addEventListener('message', term._getMessage);\n\n if (bidirectional) {\n term.on('data', term._sendData);\n }\n\n socket.addEventListener('close', term.detach.bind(term, socket));\n socket.addEventListener('error', term.detach.bind(term, socket));\n };\n\n /**\n * Detaches the given terminal from the given socket\n *\n * @param {Xterm} term - The terminal to be detached from the given socket.\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n exports.detach = function (term, socket) {\n term.off('data', term._sendData);\n\n socket = (typeof socket == 'undefined') ? term.socket : socket;\n\n if (socket) {\n socket.removeEventListener('message', term._getMessage);\n }\n\n delete term.socket;\n };\n\n /**\n * Attaches the current terminal to the given socket\n *\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n Xterm.prototype.attach = function (socket, bidirectional, buffered) {\n return exports.attach(this, socket, bidirectional, buffered);\n };\n\n /**\n * Detaches the current terminal from the given socket.\n *\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n Xterm.prototype.detach = function (socket) {\n return exports.detach(this, socket);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/attach/attach.js\n// module id = 4\n// module chunks = 0","/**\n * Fit terminal columns and rows to the dimensions of its DOM element.\n *\n * ## Approach\n * - Rows: Truncate the division of the terminal parent element height by the terminal row height.\n *\n * - Columns: Truncate the division of the terminal parent element width by the terminal character\n * width (apply display: inline at the terminal row and truncate its width with the current\n * number of columns).\n * @module xterm/addons/fit/fit\n * @license MIT\n */\n\n(function (fit) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = fit(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], fit);\n } else {\n /*\n * Plain browser environment\n */\n fit(window.Terminal);\n }\n})(function (Xterm) {\n var exports = {};\n\n exports.proposeGeometry = function (term) {\n if (!term.element.parentElement) {\n return null;\n }\n var parentElementStyle = window.getComputedStyle(term.element.parentElement),\n parentElementHeight = parseInt(parentElementStyle.getPropertyValue('height')),\n parentElementWidth = Math.max(0, parseInt(parentElementStyle.getPropertyValue('width')) - 17),\n elementStyle = window.getComputedStyle(term.element),\n elementPaddingVer = parseInt(elementStyle.getPropertyValue('padding-top')) + parseInt(elementStyle.getPropertyValue('padding-bottom')),\n elementPaddingHor = parseInt(elementStyle.getPropertyValue('padding-right')) + parseInt(elementStyle.getPropertyValue('padding-left')),\n availableHeight = parentElementHeight - elementPaddingVer,\n availableWidth = parentElementWidth - elementPaddingHor,\n container = term.rowContainer,\n subjectRow = term.rowContainer.firstElementChild,\n contentBuffer = subjectRow.innerHTML,\n characterHeight,\n rows,\n characterWidth,\n cols,\n geometry;\n\n subjectRow.style.display = 'inline';\n subjectRow.innerHTML = 'W'; // Common character for measuring width, although on monospace\n characterWidth = subjectRow.getBoundingClientRect().width;\n subjectRow.style.display = ''; // Revert style before calculating height, since they differ.\n characterHeight = subjectRow.getBoundingClientRect().height;\n subjectRow.innerHTML = contentBuffer;\n\n rows = parseInt(availableHeight / characterHeight);\n cols = parseInt(availableWidth / characterWidth);\n\n geometry = {cols: cols, rows: rows};\n return geometry;\n };\n\n exports.fit = function (term) {\n var geometry = exports.proposeGeometry(term);\n\n if (geometry) {\n term.resize(geometry.cols, geometry.rows);\n }\n };\n\n Xterm.prototype.proposeGeometry = function () {\n return exports.proposeGeometry(this);\n };\n\n Xterm.prototype.fit = function () {\n return exports.fit(this);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fit/fit.js\n// module id = 5\n// module chunks = 0","/**\n * Fullscreen addon for xterm.js\n * @module xterm/addons/fullscreen/fullscreen\n * @license MIT\n */\n(function (fullscreen) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = fullscreen(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], fullscreen);\n } else {\n /*\n * Plain browser environment\n */\n fullscreen(window.Terminal);\n }\n})(function (Xterm) {\n var exports = {};\n\n /**\n * Toggle the given terminal's fullscreen mode.\n * @param {Xterm} term - The terminal to toggle full screen mode\n * @param {boolean} fullscreen - Toggle fullscreen on (true) or off (false)\n */\n exports.toggleFullScreen = function (term, fullscreen) {\n var fn;\n\n if (typeof fullscreen == 'undefined') {\n fn = (term.element.classList.contains('fullscreen')) ? 'remove' : 'add';\n } else if (!fullscreen) {\n fn = 'remove';\n } else {\n fn = 'add';\n }\n\n term.element.classList[fn]('fullscreen');\n };\n\n Xterm.prototype.toggleFullscreen = function (fullscreen) {\n exports.toggleFullScreen(this, fullscreen);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fullscreen/fullscreen.js\n// module id = 6\n// module chunks = 0","/**\n * This module provides methods for attaching a terminal to a terminado WebSocket stream.\n *\n * @module xterm/addons/terminado/terminado\n * @license MIT\n */\n\n(function (attach) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = attach(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], attach);\n } else {\n /*\n * Plain browser environment\n */\n attach(window.Terminal);\n }\n})(function (Xterm) {\n 'use strict';\n\n var exports = {};\n\n /**\n * Attaches the given terminal to the given socket.\n *\n * @param {Xterm} term - The terminal to be attached to the given socket.\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n exports.terminadoAttach = function (term, socket, bidirectional, buffered) {\n bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;\n term.socket = socket;\n\n term._flushBuffer = function () {\n term.write(term._attachSocketBuffer);\n term._attachSocketBuffer = null;\n clearTimeout(term._attachSocketBufferTimer);\n term._attachSocketBufferTimer = null;\n };\n\n term._pushToBuffer = function (data) {\n if (term._attachSocketBuffer) {\n term._attachSocketBuffer += data;\n } else {\n term._attachSocketBuffer = data;\n setTimeout(term._flushBuffer, 10);\n }\n };\n\n term._getMessage = function (ev) {\n var data = JSON.parse(ev.data)\n if( data[0] == \"stdout\" ) {\n if (buffered) {\n term._pushToBuffer(data[1]);\n } else {\n term.write(data[1]);\n }\n }\n };\n\n term._sendData = function (data) {\n socket.send(JSON.stringify(['stdin', data]));\n };\n\n term._setSize = function (size) {\n socket.send(JSON.stringify(['set_size', size.rows, size.cols]));\n };\n\n socket.addEventListener('message', term._getMessage);\n\n if (bidirectional) {\n term.on('data', term._sendData);\n }\n term.on('resize', term._setSize);\n\n socket.addEventListener('close', term.terminadoDetach.bind(term, socket));\n socket.addEventListener('error', term.terminadoDetach.bind(term, socket));\n };\n\n /**\n * Detaches the given terminal from the given socket\n *\n * @param {Xterm} term - The terminal to be detached from the given socket.\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n exports.terminadoDetach = function (term, socket) {\n term.off('data', term._sendData);\n\n socket = (typeof socket == 'undefined') ? term.socket : socket;\n\n if (socket) {\n socket.removeEventListener('message', term._getMessage);\n }\n\n delete term.socket;\n };\n\n /**\n * Attaches the current terminal to the given socket\n *\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n Xterm.prototype.terminadoAttach = function (socket, bidirectional, buffered) {\n return exports.terminadoAttach(this, socket, bidirectional, buffered);\n };\n\n /**\n * Detaches the current terminal from the given socket.\n *\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n Xterm.prototype.terminadoDetach = function (socket) {\n return exports.terminadoDetach(this, socket);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/terminado/terminado.js\n// module id = 7\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Generic_1 = require(\"./Generic\");\nvar isNode = (typeof navigator === 'undefined') ? true : false;\nvar userAgent = (isNode) ? 'node' : navigator.userAgent;\nvar platform = (isNode) ? 'node' : navigator.platform;\nexports.isFirefox = !!~userAgent.indexOf('Firefox');\nexports.isMSIE = !!~userAgent.indexOf('MSIE') || !!~userAgent.indexOf('Trident');\nexports.isMac = Generic_1.contains(['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'], platform);\nexports.isIpad = platform === 'iPad';\nexports.isIphone = platform === 'iPhone';\nexports.isMSWindows = Generic_1.contains(['Windows', 'Win16', 'Win32', 'WinCE'], platform);\nexports.isLinux = platform.indexOf('Linux') >= 0;\n\n//# sourceMappingURL=Browser.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Browser.js\n// module id = 8\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction getCoordsRelativeToElement(event, element) {\n if (event.pageX == null) {\n return null;\n }\n var x = event.pageX;\n var y = event.pageY;\n while (element && element !== self.document.documentElement) {\n x -= element.offsetLeft;\n y -= element.offsetTop;\n element = 'offsetParent' in element ? element.offsetParent : element.parentElement;\n }\n return [x, y];\n}\nexports.getCoordsRelativeToElement = getCoordsRelativeToElement;\nfunction getCoords(event, rowContainer, charMeasure, colCount, rowCount, isSelection) {\n var coords = getCoordsRelativeToElement(event, rowContainer);\n coords[0] = Math.ceil((coords[0] + (isSelection ? charMeasure.width / 2 : 0)) / charMeasure.width);\n coords[1] = Math.ceil(coords[1] / charMeasure.height);\n coords[0] = Math.min(Math.max(coords[0], 1), colCount + 1);\n coords[1] = Math.min(Math.max(coords[1], 1), rowCount + 1);\n return coords;\n}\nexports.getCoords = getCoords;\nfunction getRawByteCoords(event, rowContainer, charMeasure, colCount, rowCount) {\n var coords = getCoords(event, rowContainer, charMeasure, colCount, rowCount);\n var x = coords[0];\n var y = coords[1];\n x += 32;\n y += 32;\n return { x: x, y: y };\n}\nexports.getRawByteCoords = getRawByteCoords;\n\n//# sourceMappingURL=Mouse.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Mouse.js\n// module id = 9\n// module chunks = 0","import * as bare from \"libapps\";\n\nexport class Hterm {\n elem: HTMLElement;\n\n term: bare.Terminal;\n io: bare.IO;\n\n columns: number;\n rows: number;\n\n // to \"show\" the current message when removeMessage() is called\n message: string;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n bare.hterm.defaultStorage = new bare.lib.Storage.Memory();\n this.term = new bare.hterm.Terminal();\n this.term.getPrefs().set(\"send-encoding\", \"raw\");\n this.term.decorate(this.elem);\n\n this.io = this.term.io.push();\n this.term.installKeyboard();\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.columns, rows: this.rows };\n };\n\n output(data: string) {\n if (this.term.io != null) {\n this.term.io.writeUTF16(data);\n }\n };\n\n showMessage(message: string, timeout: number) {\n this.message = message;\n if (timeout > 0) {\n this.term.io.showOverlay(message, timeout);\n } else {\n this.term.io.showOverlay(message, null);\n }\n };\n\n removeMessage(): void {\n // there is no hideOverlay(), so show the same message with 0 sec\n this.term.io.showOverlay(this.message, 0);\n }\n\n setWindowTitle(title: string) {\n this.term.setWindowTitle(title);\n };\n\n setPreferences(value: object) {\n Object.keys(value).forEach((key) => {\n this.term.getPrefs().set(key, value[key]);\n });\n };\n\n onInput(callback: (input: string) => void) {\n this.io.onVTKeystroke = (data) => {\n callback(data);\n };\n this.io.sendString = (data) => {\n callback(data);\n };\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.io.onTerminalResize = (columns: number, rows: number) => {\n this.columns = columns;\n this.rows = rows;\n callback(columns, rows);\n };\n };\n\n deactivate(): void {\n this.io.onVTKeystroke = null;\n this.io.sendString = null\n this.io.onTerminalResize = null;\n this.term.uninstallKeyboard();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.installKeyboard();\n }\n\n close(): void {\n this.term.uninstallKeyboard();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/hterm.ts","export class ConnectionFactory {\n url: string;\n protocols: string[];\n\n constructor(url: string, protocols: string[]) {\n this.url = url;\n this.protocols = protocols;\n };\n\n create(): Connection {\n return new Connection(this.url, this.protocols);\n };\n}\n\nexport class Connection {\n bare: WebSocket;\n\n\n constructor(url: string, protocols: string[]) {\n this.bare = new WebSocket(url, protocols);\n }\n\n open() {\n // nothing todo for websocket\n };\n\n close() {\n this.bare.close();\n };\n\n send(data: string) {\n this.bare.send(data);\n };\n\n isOpen(): boolean {\n if (this.bare.readyState == WebSocket.CONNECTING ||\n this.bare.readyState == WebSocket.OPEN) {\n return true\n }\n return false\n }\n\n onOpen(callback: () => void) {\n this.bare.onopen = (event) => {\n callback();\n }\n };\n\n onReceive(callback: (data: string) => void) {\n this.bare.onmessage = (event) => {\n callback(event.data);\n }\n };\n\n onClose(callback: () => void) {\n this.bare.onclose = (event) => {\n callback();\n };\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/websocket.ts","export const protocols = [\"webtty\"];\n\nexport const msgInputUnknown = '0';\nexport const msgInput = '1';\nexport const msgPing = '2';\nexport const msgResizeTerminal = '3';\n\nexport const msgUnknownOutput = '0';\nexport const msgOutput = '1';\nexport const msgPong = '2';\nexport const msgSetWindowTitle = '3';\nexport const msgSetPreferences = '4';\nexport const msgSetReconnect = '5';\n\n\nexport interface Terminal {\n info(): { columns: number, rows: number };\n output(data: string): void;\n showMessage(message: string, timeout: number): void;\n removeMessage(): void;\n setWindowTitle(title: string): void;\n setPreferences(value: object): void;\n onInput(callback: (input: string) => void): void;\n onResize(callback: (colmuns: number, rows: number) => void): void;\n reset(): void;\n deactivate(): void;\n close(): void;\n}\n\nexport interface Connection {\n open(): void;\n close(): void;\n send(data: string): void;\n isOpen(): boolean;\n onOpen(callback: () => void): void;\n onReceive(callback: (data: string) => void): void;\n onClose(callback: () => void): void;\n}\n\nexport interface ConnectionFactory {\n create(): Connection;\n}\n\n\nexport class WebTTY {\n term: Terminal;\n connectionFactory: ConnectionFactory;\n args: string;\n authToken: string;\n reconnect: number;\n\n constructor(term: Terminal, connectionFactory: ConnectionFactory, args: string, authToken: string) {\n this.term = term;\n this.connectionFactory = connectionFactory;\n this.args = args;\n this.authToken = authToken;\n this.reconnect = -1;\n };\n\n open() {\n let connection = this.connectionFactory.create();\n let pingTimer: number;\n let reconnectTimeout: number;\n\n const setup = () => {\n connection.onOpen(() => {\n const termInfo = this.term.info();\n\n connection.send(JSON.stringify(\n {\n Arguments: this.args,\n AuthToken: this.authToken,\n }\n ));\n\n\n const resizeHandler = (colmuns: number, rows: number) => {\n connection.send(\n msgResizeTerminal + JSON.stringify(\n {\n columns: colmuns,\n rows: rows\n }\n )\n );\n };\n\n this.term.onResize(resizeHandler);\n resizeHandler(termInfo.columns, termInfo.rows);\n\n this.term.onInput(\n (input: string) => {\n connection.send(msgInput + input);\n }\n );\n\n pingTimer = setInterval(() => {\n connection.send(msgPing)\n }, 30 * 1000);\n\n });\n\n connection.onReceive((data) => {\n const payload = data.slice(1);\n switch (data[0]) {\n case msgOutput:\n this.term.output(\n decodeURIComponent(Array.prototype.map.call(atob(payload), function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''))\n );\n break;\n case msgPong:\n break;\n case msgSetWindowTitle:\n this.term.setWindowTitle(payload);\n break;\n case msgSetPreferences:\n const preferences = JSON.parse(payload);\n this.term.setPreferences(preferences);\n break;\n case msgSetReconnect:\n const autoReconnect = JSON.parse(payload);\n console.log(\"Enabling reconnect: \" + autoReconnect + \" seconds\")\n this.reconnect = autoReconnect;\n break;\n }\n });\n\n connection.onClose(() => {\n clearInterval(pingTimer);\n this.term.deactivate();\n this.term.showMessage(\"Connection Closed\", 0);\n if (this.reconnect > 0) {\n reconnectTimeout = setTimeout(() => {\n connection = this.connectionFactory.create();\n this.term.reset();\n setup();\n }, this.reconnect * 1000);\n }\n });\n\n connection.open();\n }\n\n setup();\n return () => {\n clearTimeout(reconnectTimeout);\n connection.close();\n }\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/webtty.ts","import * as bare from \"xterm\";\n\nbare.loadAddon(\"fit\");\n\nexport class Xterm {\n elem: HTMLElement;\n\n message: HTMLElement;\n messageTimeout: number;\n messageTimer: number;\n\n term: bare;\n resizeListener: () => void;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n this.term = new bare();\n\n this.message = elem.ownerDocument.createElement(\"div\");\n this.message.className = \"xterm-overlay\";\n this.messageTimeout = 2000;\n\n\n this.resizeListener = () => {\n this.term.fit();\n this.term.scrollToBottom();\n this.showMessage(String(this.term.cols) + \"x\" + String(this.term.rows), this.messageTimeout);\n };\n\n this.term.on(\"open\", () => {\n this.resizeListener();\n window.addEventListener(\"resize\", () => { this.resizeListener(); });\n });\n\n this.term.open(elem, true);\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.term.cols, rows: this.term.rows };\n };\n\n output(data: string) {\n this.term.write(data);\n };\n\n showMessage(message: string, timeout: number) {\n this.message.textContent = message;\n this.elem.appendChild(this.message);\n\n if (this.messageTimer) {\n clearTimeout(this.messageTimer);\n }\n if (timeout > 0) {\n this.messageTimer = setTimeout(() => {\n this.elem.removeChild(this.message);\n }, timeout);\n }\n };\n\n removeMessage(): void {\n if (this.message.parentNode == this.elem) {\n this.elem.removeChild(this.message);\n }\n }\n\n setWindowTitle(title: string) {\n document.title = title;\n };\n\n setPreferences(value: object) {\n };\n\n onInput(callback: (input: string) => void) {\n this.term.on(\"data\", (data) => {\n callback(data);\n });\n\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.term.on(\"resize\", (data) => {\n callback(data.cols, data.rows);\n });\n };\n\n deactivate(): void {\n this.term.off(\"data\");\n this.term.off(\"resize\");\n this.term.blur();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.clear();\n }\n\n close(): void {\n window.removeEventListener(\"resize\", this.resizeListener);\n this.term.destroy();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/xterm.ts","// This file was generated by libdot/bin/concat.sh.\n// It has been marked read-only for your safety. Rather\n// than edit it directly, please modify one of these source\n// files...\n//\n// libdot/js/lib.js\n// libdot/js/lib_polyfill.js\n// libdot/js/lib_colors.js\n// libdot/js/lib_f.js\n// libdot/js/lib_message_manager.js\n// libdot/js/lib_preference_manager.js\n// libdot/js/lib_resource.js\n// libdot/js/lib_storage.js\n// libdot/js/lib_storage_chrome.js\n// libdot/js/lib_storage_local.js\n// libdot/js/lib_storage_memory.js\n// libdot/js/lib_test_manager.js\n// libdot/js/lib_utf8.js\n// libdot/third_party/wcwidth/lib_wc.js\n// hterm/js/hterm.js\n// hterm/js/hterm_frame.js\n// hterm/js/hterm_keyboard.js\n// hterm/js/hterm_keyboard_bindings.js\n// hterm/js/hterm_keyboard_keymap.js\n// hterm/js/hterm_keyboard_keypattern.js\n// hterm/js/hterm_options.js\n// hterm/js/hterm_parser.js\n// hterm/js/hterm_parser_identifiers.js\n// hterm/js/hterm_preference_manager.js\n// hterm/js/hterm_pubsub.js\n// hterm/js/hterm_screen.js\n// hterm/js/hterm_scrollport.js\n// hterm/js/hterm_terminal.js\n// hterm/js/hterm_terminal_io.js\n// hterm/js/hterm_text_attributes.js\n// hterm/js/hterm_vt.js\n// hterm/js/hterm_vt_character_map.js\n// hterm/js/hterm_export.js\n//\n\n// SOURCE FILE: libdot/js/lib.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nif (typeof lib != 'undefined')\n throw new Error('Global \"lib\" object already exists.');\n\nvar lib = {};\n\n/**\n * Map of \"dependency\" to [\"source\", ...].\n *\n * Each dependency is a object name, like \"lib.fs\", \"source\" is the url that\n * depends on the object.\n */\nlib.runtimeDependencies_ = {};\n\n/**\n * List of functions that need to be invoked during library initialization.\n *\n * Each element in the initCallbacks_ array is itself a two-element array.\n * Element 0 is a short string describing the owner of the init routine, useful\n * for debugging. Element 1 is the callback function.\n */\nlib.initCallbacks_ = [];\n\n/**\n * Records a runtime dependency.\n *\n * This can be useful when you want to express a run-time dependency at\n * compile time. It is not intended to be a full-fledged library system or\n * dependency tracker. It's just there to make it possible to debug the\n * deps without running all the code.\n *\n * Object names are specified as strings. For example...\n *\n * lib.rtdep('lib.colors', 'lib.PreferenceManager');\n *\n * Object names need not be rooted by 'lib'. You may use this to declare a\n * dependency on any object.\n *\n * The client program may call lib.ensureRuntimeDependencies() at startup in\n * order to ensure that all runtime dependencies have been met.\n *\n * @param {string} var_args One or more objects specified as strings.\n */\nlib.rtdep = function(var_args) {\n var source;\n\n try {\n throw new Error();\n } catch (ex) {\n var stackArray = ex.stack.split('\\n');\n // In Safari, the resulting stackArray will only have 2 elements and the\n // individual strings are formatted differently.\n if (stackArray.length >= 3) {\n source = stackArray[2].replace(/^\\s*at\\s+/, '');\n } else {\n source = stackArray[1].replace(/^\\s*global code@/, '');\n }\n }\n\n for (var i = 0; i < arguments.length; i++) {\n var path = arguments[i];\n if (path instanceof Array) {\n lib.rtdep.apply(lib, path);\n } else {\n var ary = this.runtimeDependencies_[path];\n if (!ary)\n ary = this.runtimeDependencies_[path] = [];\n ary.push(source);\n }\n }\n};\n\n/**\n * Ensures that all runtime dependencies are met, or an exception is thrown.\n *\n * Every unmet runtime dependency will be logged to the JS console. If at\n * least one dependency is unmet this will raise an exception.\n */\nlib.ensureRuntimeDependencies_ = function() {\n var passed = true;\n\n for (var path in lib.runtimeDependencies_) {\n var sourceList = lib.runtimeDependencies_[path];\n var names = path.split('.');\n\n // In a document context 'window' is the global object. In a worker it's\n // called 'self'.\n var obj = (window || self);\n for (var i = 0; i < names.length; i++) {\n if (!(names[i] in obj)) {\n console.warn('Missing \"' + path + '\" is needed by', sourceList);\n passed = false;\n break;\n }\n\n obj = obj[names[i]];\n }\n }\n\n if (!passed)\n throw new Error('Failed runtime dependency check');\n};\n\n/**\n * Register an initialization function.\n *\n * The initialization functions are invoked in registration order when\n * lib.init() is invoked. Each function will receive a single parameter, which\n * is a function to be invoked when it completes its part of the initialization.\n *\n * @param {string} name A short descriptive name of the init routine useful for\n * debugging.\n * @param {function(function)} callback The initialization function to register.\n * @return {function} The callback parameter.\n */\nlib.registerInit = function(name, callback) {\n lib.initCallbacks_.push([name, callback]);\n return callback;\n};\n\n/**\n * Initialize the library.\n *\n * This will ensure that all registered runtime dependencies are met, and\n * invoke any registered initialization functions.\n *\n * Initialization is asynchronous. The library is not ready for use until\n * the onInit function is invoked.\n *\n * @param {function()} onInit The function to invoke when initialization is\n * complete.\n * @param {function(*)} opt_logFunction An optional function to send\n * initialization related log messages to.\n */\nlib.init = function(onInit, opt_logFunction) {\n var ary = lib.initCallbacks_;\n\n var initNext = function() {\n if (ary.length) {\n var rec = ary.shift();\n if (opt_logFunction)\n opt_logFunction('init: ' + rec[0]);\n rec[1](lib.f.alarm(initNext));\n } else {\n onInit();\n }\n };\n\n if (typeof onInit != 'function')\n throw new Error('Missing or invalid argument: onInit');\n\n lib.ensureRuntimeDependencies_();\n\n setTimeout(initNext, 0);\n};\n// SOURCE FILE: libdot/js/lib_polyfill.js\n// Copyright 2017 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview Polyfills for ES2016+ features we want to use.\n */\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart\nif (!String.prototype.padStart) {\n String.prototype.padStart = function(targetLength, padString) {\n // If the string is already long enough, nothing to do!\n targetLength -= this.length;\n if (targetLength <= 0)\n return String(this);\n\n if (padString === undefined)\n padString = ' ';\n\n // In case the pad is multiple chars long.\n if (targetLength > padString.length)\n padString = padString.repeat((targetLength / padString.length) + 1);\n\n return padString.slice(0, targetLength) + String(this);\n };\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd\nif (!String.prototype.padEnd) {\n String.prototype.padEnd = function(targetLength, padString) {\n // If the string is already long enough, nothing to do!\n targetLength -= this.length;\n if (targetLength <= 0)\n return String(this);\n\n if (padString === undefined)\n padString = ' ';\n\n // In case the pad is multiple chars long.\n if (targetLength > padString.length)\n padString = padString.repeat((targetLength / padString.length) + 1);\n\n return String(this) + padString.slice(0, targetLength);\n };\n}\n// SOURCE FILE: libdot/js/lib_colors.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Namespace for color utilities.\n */\nlib.colors = {};\n\n/**\n * First, some canned regular expressions we're going to use in this file.\n *\n *\n * BRACE YOURSELF\n *\n * ,~~~~.\n * |>_< ~~\n * 3`---'-/.\n * 3:::::\\v\\\n * =o=:::::\\,\\\n * | :::::\\,,\\\n *\n * THE REGULAR EXPRESSIONS\n * ARE COMING.\n *\n * There's no way to break long RE literals in JavaScript. Fix that why don't\n * you? Oh, and also there's no way to write a string that doesn't interpret\n * escapes.\n *\n * Instead, we stoop to this .replace() trick.\n */\nlib.colors.re_ = {\n // CSS hex color, #RGB.\n hex16: /#([a-f0-9])([a-f0-9])([a-f0-9])/i,\n\n // CSS hex color, #RRGGBB.\n hex24: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/i,\n\n // CSS rgb color, rgb(rrr,ggg,bbb).\n rgb: new RegExp(\n ('^/s*rgb/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,' +\n '/s*(/d{1,3})/s*/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // CSS rgb color, rgb(rrr,ggg,bbb,aaa).\n rgba: new RegExp(\n ('^/s*rgba/s*' +\n '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' +\n '(?:,/s*(/d+(?:/./d+)?)/s*)/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // Either RGB or RGBA.\n rgbx: new RegExp(\n ('^/s*rgba?/s*' +\n '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' +\n '(?:,/s*(/d+(?:/./d+)?)/s*)?/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // An X11 \"rgb:dddd/dddd/dddd\" value.\n x11rgb: /^\\s*rgb:([a-f0-9]{1,4})\\/([a-f0-9]{1,4})\\/([a-f0-9]{1,4})\\s*$/i,\n\n // English color name.\n name: /[a-z][a-z0-9\\s]+/,\n};\n\n/**\n * Convert a CSS rgb(ddd,ddd,ddd) color value into an X11 color value.\n *\n * Other CSS color values are ignored to ensure sanitary data handling.\n *\n * Each 'ddd' component is a one byte value specified in decimal.\n *\n * @param {string} value The CSS color value to convert.\n * @return {string} The X11 color value or null if the value could not be\n * converted.\n */\nlib.colors.rgbToX11 = function(value) {\n function scale(v) {\n v = (Math.min(v, 255) * 257).toString(16);\n return lib.f.zpad(v, 4);\n }\n\n var ary = value.match(lib.colors.re_.rgbx);\n if (!ary)\n return null;\n\n return 'rgb:' + scale(ary[1]) + '/' + scale(ary[2]) + '/' + scale(ary[3]);\n};\n\n/**\n * Convert a legacy X11 colover value into an CSS rgb(...) color value.\n *\n * They take the form:\n * 12 bit: #RGB -> #R000G000B000\n * 24 bit: #RRGGBB -> #RR00GG00BB00\n * 36 bit: #RRRGGGBBB -> #RRR0GGG0BBB0\n * 48 bit: #RRRRGGGGBBBB\n * These are the most significant bits.\n *\n * Truncate values back down to 24 bit since that's all CSS supports.\n */\nlib.colors.x11HexToCSS = function(v) {\n if (!v.startsWith('#'))\n return null;\n // Strip the leading # off.\n v = v.substr(1);\n\n // Reject unknown sizes.\n if ([3, 6, 9, 12].indexOf(v.length) == -1)\n return null;\n\n // Reject non-hex values.\n if (v.match(/[^a-f0-9]/i))\n return null;\n\n // Split the colors out.\n var size = v.length / 3;\n var r = v.substr(0, size);\n var g = v.substr(size, size);\n var b = v.substr(size + size, size);\n\n // Normalize to 16 bits.\n function norm16(v) {\n v = parseInt(v, 16);\n return size == 2 ? v : // 16 bit\n size == 1 ? v << 4 : // 8 bit\n v >> (4 * (size - 2)); // 24 or 32 bit\n }\n return lib.colors.arrayToRGBA([r, g, b].map(norm16));\n};\n\n/**\n * Convert an X11 color value into an CSS rgb(...) color value.\n *\n * The X11 value may be an X11 color name, or an RGB value of the form\n * rgb:hhhh/hhhh/hhhh. If a component value is less than 4 digits it is\n * padded out to 4, then scaled down to fit in a single byte.\n *\n * @param {string} value The X11 color value to convert.\n * @return {string} The CSS color value or null if the value could not be\n * converted.\n */\nlib.colors.x11ToCSS = function(v) {\n function scale(v) {\n // Pad out values with less than four digits. This padding (probably)\n // matches xterm. It's difficult to say for sure since xterm seems to\n // arrive at a padded value and then perform some combination of\n // gamma correction, color space transformation, and quantization.\n\n if (v.length == 1) {\n // Single digits pad out to four by repeating the character. \"f\" becomes\n // \"ffff\". Scaling down a hex value of this pattern by 257 is the same\n // as cutting off one byte. We skip the middle step and just double\n // the character.\n return parseInt(v + v, 16);\n }\n\n if (v.length == 2) {\n // Similar deal here. X11 pads two digit values by repeating the\n // byte (or scale up by 257). Since we're going to scale it back\n // down anyway, we can just return the original value.\n return parseInt(v, 16);\n }\n\n if (v.length == 3) {\n // Three digit values seem to be padded by repeating the final digit.\n // e.g. 10f becomes 10ff.\n v = v + v.substr(2);\n }\n\n // Scale down the 2 byte value.\n return Math.round(parseInt(v, 16) / 257);\n }\n\n var ary = v.match(lib.colors.re_.x11rgb);\n if (!ary) {\n // Handle the legacy format.\n if (v.startsWith('#'))\n return lib.colors.x11HexToCSS(v);\n else\n return lib.colors.nameToRGB(v);\n }\n\n ary.splice(0, 1);\n return lib.colors.arrayToRGBA(ary.map(scale));\n};\n\n/**\n * Converts one or more CSS '#RRGGBB' color values into their rgb(...)\n * form.\n *\n * Arrays are converted in place. If a value cannot be converted, it is\n * replaced with null.\n *\n * @param {string|Array.} A single RGB value or array of RGB values to\n * convert.\n * @return {string|Array.} The converted value or values.\n */\nlib.colors.hexToRGB = function(arg) {\n var hex16 = lib.colors.re_.hex16;\n var hex24 = lib.colors.re_.hex24;\n\n function convert(hex) {\n if (hex.length == 4) {\n hex = hex.replace(hex16, function(h, r, g, b) {\n return \"#\" + r + r + g + g + b + b;\n });\n }\n var ary = hex.match(hex24);\n if (!ary)\n return null;\n\n return 'rgb(' + parseInt(ary[1], 16) + ', ' +\n parseInt(ary[2], 16) + ', ' +\n parseInt(ary[3], 16) + ')';\n }\n\n if (arg instanceof Array) {\n for (var i = 0; i < arg.length; i++) {\n arg[i] = convert(arg[i]);\n }\n } else {\n arg = convert(arg);\n }\n\n return arg;\n};\n\n/**\n * Converts one or more CSS rgb(...) forms into their '#RRGGBB' color values.\n *\n * If given an rgba(...) form, the alpha field is thrown away.\n *\n * Arrays are converted in place. If a value cannot be converted, it is\n * replaced with null.\n *\n * @param {string|Array.} A single rgb(...) value or array of rgb(...)\n * values to convert.\n * @return {string|Array.} The converted value or values.\n */\nlib.colors.rgbToHex = function(arg) {\n function convert(rgb) {\n var ary = lib.colors.crackRGB(rgb);\n if (!ary)\n return null;\n return '#' + lib.f.zpad(((parseInt(ary[0]) << 16) |\n (parseInt(ary[1]) << 8) |\n (parseInt(ary[2]) << 0)).toString(16), 6);\n }\n\n if (arg instanceof Array) {\n for (var i = 0; i < arg.length; i++) {\n arg[i] = convert(arg[i]);\n }\n } else {\n arg = convert(arg);\n }\n\n return arg;\n};\n\n/**\n * Take any valid css color definition and turn it into an rgb or rgba value.\n *\n * Returns null if the value could not be normalized.\n */\nlib.colors.normalizeCSS = function(def) {\n if (def.startsWith('#'))\n return lib.colors.hexToRGB(def);\n\n if (lib.colors.re_.rgbx.test(def))\n return def;\n\n return lib.colors.nameToRGB(def);\n};\n\n/**\n * Convert a 3 or 4 element array into an rgba(...) string.\n */\nlib.colors.arrayToRGBA = function(ary) {\n var alpha = (ary.length > 3) ? ary[3] : 1;\n return 'rgba(' + ary[0] + ', ' + ary[1] + ', ' + ary[2] + ', ' + alpha + ')';\n};\n\n/**\n * Overwrite the alpha channel of an rgb/rgba color.\n */\nlib.colors.setAlpha = function(rgb, alpha) {\n var ary = lib.colors.crackRGB(rgb);\n ary[3] = alpha;\n return lib.colors.arrayToRGBA(ary);\n};\n\n/**\n * Mix a percentage of a tint color into a base color.\n */\nlib.colors.mix = function(base, tint, percent) {\n var ary1 = lib.colors.crackRGB(base);\n var ary2 = lib.colors.crackRGB(tint);\n\n for (var i = 0; i < 4; ++i) {\n var diff = ary2[i] - ary1[i];\n ary1[i] = Math.round(parseInt(ary1[i]) + diff * percent);\n }\n\n return lib.colors.arrayToRGBA(ary1);\n};\n\n/**\n * Split an rgb/rgba color into an array of its components.\n *\n * On success, a 4 element array will be returned. For rgb values, the alpha\n * will be set to 1.\n */\nlib.colors.crackRGB = function(color) {\n if (color.startsWith('rgba')) {\n var ary = color.match(lib.colors.re_.rgba);\n if (ary) {\n ary.shift();\n return ary;\n }\n } else {\n var ary = color.match(lib.colors.re_.rgb);\n if (ary) {\n ary.shift();\n ary.push(1);\n return ary;\n }\n }\n\n console.error('Couldn\\'t crack: ' + color);\n return null;\n};\n\n/**\n * Convert an X11 color name into a CSS rgb(...) value.\n *\n * Names are stripped of spaces and converted to lowercase. If the name is\n * unknown, null is returned.\n *\n * This list of color name to RGB mapping is derived from the stock X11\n * rgb.txt file.\n *\n * @param {string} name The color name to convert.\n * @return {string} The corresponding CSS rgb(...) value.\n */\nlib.colors.nameToRGB = function(name) {\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n name = name.toLowerCase();\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n name = name.replace(/\\s+/g, '');\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n return null;\n};\n\n/**\n * The stock color palette.\n */\nlib.colors.stockColorPalette = lib.colors.hexToRGB\n ([// The \"ANSI 16\"...\n '#000000', '#CC0000', '#4E9A06', '#C4A000',\n '#3465A4', '#75507B', '#06989A', '#D3D7CF',\n '#555753', '#EF2929', '#00BA13', '#FCE94F',\n '#729FCF', '#F200CB', '#00B5BD', '#EEEEEC',\n\n // The 6x6 color cubes...\n '#000000', '#00005F', '#000087', '#0000AF', '#0000D7', '#0000FF',\n '#005F00', '#005F5F', '#005F87', '#005FAF', '#005FD7', '#005FFF',\n '#008700', '#00875F', '#008787', '#0087AF', '#0087D7', '#0087FF',\n '#00AF00', '#00AF5F', '#00AF87', '#00AFAF', '#00AFD7', '#00AFFF',\n '#00D700', '#00D75F', '#00D787', '#00D7AF', '#00D7D7', '#00D7FF',\n '#00FF00', '#00FF5F', '#00FF87', '#00FFAF', '#00FFD7', '#00FFFF',\n\n '#5F0000', '#5F005F', '#5F0087', '#5F00AF', '#5F00D7', '#5F00FF',\n '#5F5F00', '#5F5F5F', '#5F5F87', '#5F5FAF', '#5F5FD7', '#5F5FFF',\n '#5F8700', '#5F875F', '#5F8787', '#5F87AF', '#5F87D7', '#5F87FF',\n '#5FAF00', '#5FAF5F', '#5FAF87', '#5FAFAF', '#5FAFD7', '#5FAFFF',\n '#5FD700', '#5FD75F', '#5FD787', '#5FD7AF', '#5FD7D7', '#5FD7FF',\n '#5FFF00', '#5FFF5F', '#5FFF87', '#5FFFAF', '#5FFFD7', '#5FFFFF',\n\n '#870000', '#87005F', '#870087', '#8700AF', '#8700D7', '#8700FF',\n '#875F00', '#875F5F', '#875F87', '#875FAF', '#875FD7', '#875FFF',\n '#878700', '#87875F', '#878787', '#8787AF', '#8787D7', '#8787FF',\n '#87AF00', '#87AF5F', '#87AF87', '#87AFAF', '#87AFD7', '#87AFFF',\n '#87D700', '#87D75F', '#87D787', '#87D7AF', '#87D7D7', '#87D7FF',\n '#87FF00', '#87FF5F', '#87FF87', '#87FFAF', '#87FFD7', '#87FFFF',\n\n '#AF0000', '#AF005F', '#AF0087', '#AF00AF', '#AF00D7', '#AF00FF',\n '#AF5F00', '#AF5F5F', '#AF5F87', '#AF5FAF', '#AF5FD7', '#AF5FFF',\n '#AF8700', '#AF875F', '#AF8787', '#AF87AF', '#AF87D7', '#AF87FF',\n '#AFAF00', '#AFAF5F', '#AFAF87', '#AFAFAF', '#AFAFD7', '#AFAFFF',\n '#AFD700', '#AFD75F', '#AFD787', '#AFD7AF', '#AFD7D7', '#AFD7FF',\n '#AFFF00', '#AFFF5F', '#AFFF87', '#AFFFAF', '#AFFFD7', '#AFFFFF',\n\n '#D70000', '#D7005F', '#D70087', '#D700AF', '#D700D7', '#D700FF',\n '#D75F00', '#D75F5F', '#D75F87', '#D75FAF', '#D75FD7', '#D75FFF',\n '#D78700', '#D7875F', '#D78787', '#D787AF', '#D787D7', '#D787FF',\n '#D7AF00', '#D7AF5F', '#D7AF87', '#D7AFAF', '#D7AFD7', '#D7AFFF',\n '#D7D700', '#D7D75F', '#D7D787', '#D7D7AF', '#D7D7D7', '#D7D7FF',\n '#D7FF00', '#D7FF5F', '#D7FF87', '#D7FFAF', '#D7FFD7', '#D7FFFF',\n\n '#FF0000', '#FF005F', '#FF0087', '#FF00AF', '#FF00D7', '#FF00FF',\n '#FF5F00', '#FF5F5F', '#FF5F87', '#FF5FAF', '#FF5FD7', '#FF5FFF',\n '#FF8700', '#FF875F', '#FF8787', '#FF87AF', '#FF87D7', '#FF87FF',\n '#FFAF00', '#FFAF5F', '#FFAF87', '#FFAFAF', '#FFAFD7', '#FFAFFF',\n '#FFD700', '#FFD75F', '#FFD787', '#FFD7AF', '#FFD7D7', '#FFD7FF',\n '#FFFF00', '#FFFF5F', '#FFFF87', '#FFFFAF', '#FFFFD7', '#FFFFFF',\n\n // The greyscale ramp...\n '#080808', '#121212', '#1C1C1C', '#262626', '#303030', '#3A3A3A',\n '#444444', '#4E4E4E', '#585858', '#626262', '#6C6C6C', '#767676',\n '#808080', '#8A8A8A', '#949494', '#9E9E9E', '#A8A8A8', '#B2B2B2',\n '#BCBCBC', '#C6C6C6', '#D0D0D0', '#DADADA', '#E4E4E4', '#EEEEEE'\n ]);\n\n/**\n * The current color palette, possibly with user changes.\n */\nlib.colors.colorPalette = lib.colors.stockColorPalette;\n\n/**\n * Named colors according to the stock X11 rgb.txt file.\n */\nlib.colors.colorNames = {\n \"aliceblue\": \"rgb(240, 248, 255)\",\n \"antiquewhite\": \"rgb(250, 235, 215)\",\n \"antiquewhite1\": \"rgb(255, 239, 219)\",\n \"antiquewhite2\": \"rgb(238, 223, 204)\",\n \"antiquewhite3\": \"rgb(205, 192, 176)\",\n \"antiquewhite4\": \"rgb(139, 131, 120)\",\n \"aquamarine\": \"rgb(127, 255, 212)\",\n \"aquamarine1\": \"rgb(127, 255, 212)\",\n \"aquamarine2\": \"rgb(118, 238, 198)\",\n \"aquamarine3\": \"rgb(102, 205, 170)\",\n \"aquamarine4\": \"rgb(69, 139, 116)\",\n \"azure\": \"rgb(240, 255, 255)\",\n \"azure1\": \"rgb(240, 255, 255)\",\n \"azure2\": \"rgb(224, 238, 238)\",\n \"azure3\": \"rgb(193, 205, 205)\",\n \"azure4\": \"rgb(131, 139, 139)\",\n \"beige\": \"rgb(245, 245, 220)\",\n \"bisque\": \"rgb(255, 228, 196)\",\n \"bisque1\": \"rgb(255, 228, 196)\",\n \"bisque2\": \"rgb(238, 213, 183)\",\n \"bisque3\": \"rgb(205, 183, 158)\",\n \"bisque4\": \"rgb(139, 125, 107)\",\n \"black\": \"rgb(0, 0, 0)\",\n \"blanchedalmond\": \"rgb(255, 235, 205)\",\n \"blue\": \"rgb(0, 0, 255)\",\n \"blue1\": \"rgb(0, 0, 255)\",\n \"blue2\": \"rgb(0, 0, 238)\",\n \"blue3\": \"rgb(0, 0, 205)\",\n \"blue4\": \"rgb(0, 0, 139)\",\n \"blueviolet\": \"rgb(138, 43, 226)\",\n \"brown\": \"rgb(165, 42, 42)\",\n \"brown1\": \"rgb(255, 64, 64)\",\n \"brown2\": \"rgb(238, 59, 59)\",\n \"brown3\": \"rgb(205, 51, 51)\",\n \"brown4\": \"rgb(139, 35, 35)\",\n \"burlywood\": \"rgb(222, 184, 135)\",\n \"burlywood1\": \"rgb(255, 211, 155)\",\n \"burlywood2\": \"rgb(238, 197, 145)\",\n \"burlywood3\": \"rgb(205, 170, 125)\",\n \"burlywood4\": \"rgb(139, 115, 85)\",\n \"cadetblue\": \"rgb(95, 158, 160)\",\n \"cadetblue1\": \"rgb(152, 245, 255)\",\n \"cadetblue2\": \"rgb(142, 229, 238)\",\n \"cadetblue3\": \"rgb(122, 197, 205)\",\n \"cadetblue4\": \"rgb(83, 134, 139)\",\n \"chartreuse\": \"rgb(127, 255, 0)\",\n \"chartreuse1\": \"rgb(127, 255, 0)\",\n \"chartreuse2\": \"rgb(118, 238, 0)\",\n \"chartreuse3\": \"rgb(102, 205, 0)\",\n \"chartreuse4\": \"rgb(69, 139, 0)\",\n \"chocolate\": \"rgb(210, 105, 30)\",\n \"chocolate1\": \"rgb(255, 127, 36)\",\n \"chocolate2\": \"rgb(238, 118, 33)\",\n \"chocolate3\": \"rgb(205, 102, 29)\",\n \"chocolate4\": \"rgb(139, 69, 19)\",\n \"coral\": \"rgb(255, 127, 80)\",\n \"coral1\": \"rgb(255, 114, 86)\",\n \"coral2\": \"rgb(238, 106, 80)\",\n \"coral3\": \"rgb(205, 91, 69)\",\n \"coral4\": \"rgb(139, 62, 47)\",\n \"cornflowerblue\": \"rgb(100, 149, 237)\",\n \"cornsilk\": \"rgb(255, 248, 220)\",\n \"cornsilk1\": \"rgb(255, 248, 220)\",\n \"cornsilk2\": \"rgb(238, 232, 205)\",\n \"cornsilk3\": \"rgb(205, 200, 177)\",\n \"cornsilk4\": \"rgb(139, 136, 120)\",\n \"cyan\": \"rgb(0, 255, 255)\",\n \"cyan1\": \"rgb(0, 255, 255)\",\n \"cyan2\": \"rgb(0, 238, 238)\",\n \"cyan3\": \"rgb(0, 205, 205)\",\n \"cyan4\": \"rgb(0, 139, 139)\",\n \"darkblue\": \"rgb(0, 0, 139)\",\n \"darkcyan\": \"rgb(0, 139, 139)\",\n \"darkgoldenrod\": \"rgb(184, 134, 11)\",\n \"darkgoldenrod1\": \"rgb(255, 185, 15)\",\n \"darkgoldenrod2\": \"rgb(238, 173, 14)\",\n \"darkgoldenrod3\": \"rgb(205, 149, 12)\",\n \"darkgoldenrod4\": \"rgb(139, 101, 8)\",\n \"darkgray\": \"rgb(169, 169, 169)\",\n \"darkgreen\": \"rgb(0, 100, 0)\",\n \"darkgrey\": \"rgb(169, 169, 169)\",\n \"darkkhaki\": \"rgb(189, 183, 107)\",\n \"darkmagenta\": \"rgb(139, 0, 139)\",\n \"darkolivegreen\": \"rgb(85, 107, 47)\",\n \"darkolivegreen1\": \"rgb(202, 255, 112)\",\n \"darkolivegreen2\": \"rgb(188, 238, 104)\",\n \"darkolivegreen3\": \"rgb(162, 205, 90)\",\n \"darkolivegreen4\": \"rgb(110, 139, 61)\",\n \"darkorange\": \"rgb(255, 140, 0)\",\n \"darkorange1\": \"rgb(255, 127, 0)\",\n \"darkorange2\": \"rgb(238, 118, 0)\",\n \"darkorange3\": \"rgb(205, 102, 0)\",\n \"darkorange4\": \"rgb(139, 69, 0)\",\n \"darkorchid\": \"rgb(153, 50, 204)\",\n \"darkorchid1\": \"rgb(191, 62, 255)\",\n \"darkorchid2\": \"rgb(178, 58, 238)\",\n \"darkorchid3\": \"rgb(154, 50, 205)\",\n \"darkorchid4\": \"rgb(104, 34, 139)\",\n \"darkred\": \"rgb(139, 0, 0)\",\n \"darksalmon\": \"rgb(233, 150, 122)\",\n \"darkseagreen\": \"rgb(143, 188, 143)\",\n \"darkseagreen1\": \"rgb(193, 255, 193)\",\n \"darkseagreen2\": \"rgb(180, 238, 180)\",\n \"darkseagreen3\": \"rgb(155, 205, 155)\",\n \"darkseagreen4\": \"rgb(105, 139, 105)\",\n \"darkslateblue\": \"rgb(72, 61, 139)\",\n \"darkslategray\": \"rgb(47, 79, 79)\",\n \"darkslategray1\": \"rgb(151, 255, 255)\",\n \"darkslategray2\": \"rgb(141, 238, 238)\",\n \"darkslategray3\": \"rgb(121, 205, 205)\",\n \"darkslategray4\": \"rgb(82, 139, 139)\",\n \"darkslategrey\": \"rgb(47, 79, 79)\",\n \"darkturquoise\": \"rgb(0, 206, 209)\",\n \"darkviolet\": \"rgb(148, 0, 211)\",\n \"debianred\": \"rgb(215, 7, 81)\",\n \"deeppink\": \"rgb(255, 20, 147)\",\n \"deeppink1\": \"rgb(255, 20, 147)\",\n \"deeppink2\": \"rgb(238, 18, 137)\",\n \"deeppink3\": \"rgb(205, 16, 118)\",\n \"deeppink4\": \"rgb(139, 10, 80)\",\n \"deepskyblue\": \"rgb(0, 191, 255)\",\n \"deepskyblue1\": \"rgb(0, 191, 255)\",\n \"deepskyblue2\": \"rgb(0, 178, 238)\",\n \"deepskyblue3\": \"rgb(0, 154, 205)\",\n \"deepskyblue4\": \"rgb(0, 104, 139)\",\n \"dimgray\": \"rgb(105, 105, 105)\",\n \"dimgrey\": \"rgb(105, 105, 105)\",\n \"dodgerblue\": \"rgb(30, 144, 255)\",\n \"dodgerblue1\": \"rgb(30, 144, 255)\",\n \"dodgerblue2\": \"rgb(28, 134, 238)\",\n \"dodgerblue3\": \"rgb(24, 116, 205)\",\n \"dodgerblue4\": \"rgb(16, 78, 139)\",\n \"firebrick\": \"rgb(178, 34, 34)\",\n \"firebrick1\": \"rgb(255, 48, 48)\",\n \"firebrick2\": \"rgb(238, 44, 44)\",\n \"firebrick3\": \"rgb(205, 38, 38)\",\n \"firebrick4\": \"rgb(139, 26, 26)\",\n \"floralwhite\": \"rgb(255, 250, 240)\",\n \"forestgreen\": \"rgb(34, 139, 34)\",\n \"gainsboro\": \"rgb(220, 220, 220)\",\n \"ghostwhite\": \"rgb(248, 248, 255)\",\n \"gold\": \"rgb(255, 215, 0)\",\n \"gold1\": \"rgb(255, 215, 0)\",\n \"gold2\": \"rgb(238, 201, 0)\",\n \"gold3\": \"rgb(205, 173, 0)\",\n \"gold4\": \"rgb(139, 117, 0)\",\n \"goldenrod\": \"rgb(218, 165, 32)\",\n \"goldenrod1\": \"rgb(255, 193, 37)\",\n \"goldenrod2\": \"rgb(238, 180, 34)\",\n \"goldenrod3\": \"rgb(205, 155, 29)\",\n \"goldenrod4\": \"rgb(139, 105, 20)\",\n \"gray\": \"rgb(190, 190, 190)\",\n \"gray0\": \"rgb(0, 0, 0)\",\n \"gray1\": \"rgb(3, 3, 3)\",\n \"gray10\": \"rgb(26, 26, 26)\",\n \"gray100\": \"rgb(255, 255, 255)\",\n \"gray11\": \"rgb(28, 28, 28)\",\n \"gray12\": \"rgb(31, 31, 31)\",\n \"gray13\": \"rgb(33, 33, 33)\",\n \"gray14\": \"rgb(36, 36, 36)\",\n \"gray15\": \"rgb(38, 38, 38)\",\n \"gray16\": \"rgb(41, 41, 41)\",\n \"gray17\": \"rgb(43, 43, 43)\",\n \"gray18\": \"rgb(46, 46, 46)\",\n \"gray19\": \"rgb(48, 48, 48)\",\n \"gray2\": \"rgb(5, 5, 5)\",\n \"gray20\": \"rgb(51, 51, 51)\",\n \"gray21\": \"rgb(54, 54, 54)\",\n \"gray22\": \"rgb(56, 56, 56)\",\n \"gray23\": \"rgb(59, 59, 59)\",\n \"gray24\": \"rgb(61, 61, 61)\",\n \"gray25\": \"rgb(64, 64, 64)\",\n \"gray26\": \"rgb(66, 66, 66)\",\n \"gray27\": \"rgb(69, 69, 69)\",\n \"gray28\": \"rgb(71, 71, 71)\",\n \"gray29\": \"rgb(74, 74, 74)\",\n \"gray3\": \"rgb(8, 8, 8)\",\n \"gray30\": \"rgb(77, 77, 77)\",\n \"gray31\": \"rgb(79, 79, 79)\",\n \"gray32\": \"rgb(82, 82, 82)\",\n \"gray33\": \"rgb(84, 84, 84)\",\n \"gray34\": \"rgb(87, 87, 87)\",\n \"gray35\": \"rgb(89, 89, 89)\",\n \"gray36\": \"rgb(92, 92, 92)\",\n \"gray37\": \"rgb(94, 94, 94)\",\n \"gray38\": \"rgb(97, 97, 97)\",\n \"gray39\": \"rgb(99, 99, 99)\",\n \"gray4\": \"rgb(10, 10, 10)\",\n \"gray40\": \"rgb(102, 102, 102)\",\n \"gray41\": \"rgb(105, 105, 105)\",\n \"gray42\": \"rgb(107, 107, 107)\",\n \"gray43\": \"rgb(110, 110, 110)\",\n \"gray44\": \"rgb(112, 112, 112)\",\n \"gray45\": \"rgb(115, 115, 115)\",\n \"gray46\": \"rgb(117, 117, 117)\",\n \"gray47\": \"rgb(120, 120, 120)\",\n \"gray48\": \"rgb(122, 122, 122)\",\n \"gray49\": \"rgb(125, 125, 125)\",\n \"gray5\": \"rgb(13, 13, 13)\",\n \"gray50\": \"rgb(127, 127, 127)\",\n \"gray51\": \"rgb(130, 130, 130)\",\n \"gray52\": \"rgb(133, 133, 133)\",\n \"gray53\": \"rgb(135, 135, 135)\",\n \"gray54\": \"rgb(138, 138, 138)\",\n \"gray55\": \"rgb(140, 140, 140)\",\n \"gray56\": \"rgb(143, 143, 143)\",\n \"gray57\": \"rgb(145, 145, 145)\",\n \"gray58\": \"rgb(148, 148, 148)\",\n \"gray59\": \"rgb(150, 150, 150)\",\n \"gray6\": \"rgb(15, 15, 15)\",\n \"gray60\": \"rgb(153, 153, 153)\",\n \"gray61\": \"rgb(156, 156, 156)\",\n \"gray62\": \"rgb(158, 158, 158)\",\n \"gray63\": \"rgb(161, 161, 161)\",\n \"gray64\": \"rgb(163, 163, 163)\",\n \"gray65\": \"rgb(166, 166, 166)\",\n \"gray66\": \"rgb(168, 168, 168)\",\n \"gray67\": \"rgb(171, 171, 171)\",\n \"gray68\": \"rgb(173, 173, 173)\",\n \"gray69\": \"rgb(176, 176, 176)\",\n \"gray7\": \"rgb(18, 18, 18)\",\n \"gray70\": \"rgb(179, 179, 179)\",\n \"gray71\": \"rgb(181, 181, 181)\",\n \"gray72\": \"rgb(184, 184, 184)\",\n \"gray73\": \"rgb(186, 186, 186)\",\n \"gray74\": \"rgb(189, 189, 189)\",\n \"gray75\": \"rgb(191, 191, 191)\",\n \"gray76\": \"rgb(194, 194, 194)\",\n \"gray77\": \"rgb(196, 196, 196)\",\n \"gray78\": \"rgb(199, 199, 199)\",\n \"gray79\": \"rgb(201, 201, 201)\",\n \"gray8\": \"rgb(20, 20, 20)\",\n \"gray80\": \"rgb(204, 204, 204)\",\n \"gray81\": \"rgb(207, 207, 207)\",\n \"gray82\": \"rgb(209, 209, 209)\",\n \"gray83\": \"rgb(212, 212, 212)\",\n \"gray84\": \"rgb(214, 214, 214)\",\n \"gray85\": \"rgb(217, 217, 217)\",\n \"gray86\": \"rgb(219, 219, 219)\",\n \"gray87\": \"rgb(222, 222, 222)\",\n \"gray88\": \"rgb(224, 224, 224)\",\n \"gray89\": \"rgb(227, 227, 227)\",\n \"gray9\": \"rgb(23, 23, 23)\",\n \"gray90\": \"rgb(229, 229, 229)\",\n \"gray91\": \"rgb(232, 232, 232)\",\n \"gray92\": \"rgb(235, 235, 235)\",\n \"gray93\": \"rgb(237, 237, 237)\",\n \"gray94\": \"rgb(240, 240, 240)\",\n \"gray95\": \"rgb(242, 242, 242)\",\n \"gray96\": \"rgb(245, 245, 245)\",\n \"gray97\": \"rgb(247, 247, 247)\",\n \"gray98\": \"rgb(250, 250, 250)\",\n \"gray99\": \"rgb(252, 252, 252)\",\n \"green\": \"rgb(0, 255, 0)\",\n \"green1\": \"rgb(0, 255, 0)\",\n \"green2\": \"rgb(0, 238, 0)\",\n \"green3\": \"rgb(0, 205, 0)\",\n \"green4\": \"rgb(0, 139, 0)\",\n \"greenyellow\": \"rgb(173, 255, 47)\",\n \"grey\": \"rgb(190, 190, 190)\",\n \"grey0\": \"rgb(0, 0, 0)\",\n \"grey1\": \"rgb(3, 3, 3)\",\n \"grey10\": \"rgb(26, 26, 26)\",\n \"grey100\": \"rgb(255, 255, 255)\",\n \"grey11\": \"rgb(28, 28, 28)\",\n \"grey12\": \"rgb(31, 31, 31)\",\n \"grey13\": \"rgb(33, 33, 33)\",\n \"grey14\": \"rgb(36, 36, 36)\",\n \"grey15\": \"rgb(38, 38, 38)\",\n \"grey16\": \"rgb(41, 41, 41)\",\n \"grey17\": \"rgb(43, 43, 43)\",\n \"grey18\": \"rgb(46, 46, 46)\",\n \"grey19\": \"rgb(48, 48, 48)\",\n \"grey2\": \"rgb(5, 5, 5)\",\n \"grey20\": \"rgb(51, 51, 51)\",\n \"grey21\": \"rgb(54, 54, 54)\",\n \"grey22\": \"rgb(56, 56, 56)\",\n \"grey23\": \"rgb(59, 59, 59)\",\n \"grey24\": \"rgb(61, 61, 61)\",\n \"grey25\": \"rgb(64, 64, 64)\",\n \"grey26\": \"rgb(66, 66, 66)\",\n \"grey27\": \"rgb(69, 69, 69)\",\n \"grey28\": \"rgb(71, 71, 71)\",\n \"grey29\": \"rgb(74, 74, 74)\",\n \"grey3\": \"rgb(8, 8, 8)\",\n \"grey30\": \"rgb(77, 77, 77)\",\n \"grey31\": \"rgb(79, 79, 79)\",\n \"grey32\": \"rgb(82, 82, 82)\",\n \"grey33\": \"rgb(84, 84, 84)\",\n \"grey34\": \"rgb(87, 87, 87)\",\n \"grey35\": \"rgb(89, 89, 89)\",\n \"grey36\": \"rgb(92, 92, 92)\",\n \"grey37\": \"rgb(94, 94, 94)\",\n \"grey38\": \"rgb(97, 97, 97)\",\n \"grey39\": \"rgb(99, 99, 99)\",\n \"grey4\": \"rgb(10, 10, 10)\",\n \"grey40\": \"rgb(102, 102, 102)\",\n \"grey41\": \"rgb(105, 105, 105)\",\n \"grey42\": \"rgb(107, 107, 107)\",\n \"grey43\": \"rgb(110, 110, 110)\",\n \"grey44\": \"rgb(112, 112, 112)\",\n \"grey45\": \"rgb(115, 115, 115)\",\n \"grey46\": \"rgb(117, 117, 117)\",\n \"grey47\": \"rgb(120, 120, 120)\",\n \"grey48\": \"rgb(122, 122, 122)\",\n \"grey49\": \"rgb(125, 125, 125)\",\n \"grey5\": \"rgb(13, 13, 13)\",\n \"grey50\": \"rgb(127, 127, 127)\",\n \"grey51\": \"rgb(130, 130, 130)\",\n \"grey52\": \"rgb(133, 133, 133)\",\n \"grey53\": \"rgb(135, 135, 135)\",\n \"grey54\": \"rgb(138, 138, 138)\",\n \"grey55\": \"rgb(140, 140, 140)\",\n \"grey56\": \"rgb(143, 143, 143)\",\n \"grey57\": \"rgb(145, 145, 145)\",\n \"grey58\": \"rgb(148, 148, 148)\",\n \"grey59\": \"rgb(150, 150, 150)\",\n \"grey6\": \"rgb(15, 15, 15)\",\n \"grey60\": \"rgb(153, 153, 153)\",\n \"grey61\": \"rgb(156, 156, 156)\",\n \"grey62\": \"rgb(158, 158, 158)\",\n \"grey63\": \"rgb(161, 161, 161)\",\n \"grey64\": \"rgb(163, 163, 163)\",\n \"grey65\": \"rgb(166, 166, 166)\",\n \"grey66\": \"rgb(168, 168, 168)\",\n \"grey67\": \"rgb(171, 171, 171)\",\n \"grey68\": \"rgb(173, 173, 173)\",\n \"grey69\": \"rgb(176, 176, 176)\",\n \"grey7\": \"rgb(18, 18, 18)\",\n \"grey70\": \"rgb(179, 179, 179)\",\n \"grey71\": \"rgb(181, 181, 181)\",\n \"grey72\": \"rgb(184, 184, 184)\",\n \"grey73\": \"rgb(186, 186, 186)\",\n \"grey74\": \"rgb(189, 189, 189)\",\n \"grey75\": \"rgb(191, 191, 191)\",\n \"grey76\": \"rgb(194, 194, 194)\",\n \"grey77\": \"rgb(196, 196, 196)\",\n \"grey78\": \"rgb(199, 199, 199)\",\n \"grey79\": \"rgb(201, 201, 201)\",\n \"grey8\": \"rgb(20, 20, 20)\",\n \"grey80\": \"rgb(204, 204, 204)\",\n \"grey81\": \"rgb(207, 207, 207)\",\n \"grey82\": \"rgb(209, 209, 209)\",\n \"grey83\": \"rgb(212, 212, 212)\",\n \"grey84\": \"rgb(214, 214, 214)\",\n \"grey85\": \"rgb(217, 217, 217)\",\n \"grey86\": \"rgb(219, 219, 219)\",\n \"grey87\": \"rgb(222, 222, 222)\",\n \"grey88\": \"rgb(224, 224, 224)\",\n \"grey89\": \"rgb(227, 227, 227)\",\n \"grey9\": \"rgb(23, 23, 23)\",\n \"grey90\": \"rgb(229, 229, 229)\",\n \"grey91\": \"rgb(232, 232, 232)\",\n \"grey92\": \"rgb(235, 235, 235)\",\n \"grey93\": \"rgb(237, 237, 237)\",\n \"grey94\": \"rgb(240, 240, 240)\",\n \"grey95\": \"rgb(242, 242, 242)\",\n \"grey96\": \"rgb(245, 245, 245)\",\n \"grey97\": \"rgb(247, 247, 247)\",\n \"grey98\": \"rgb(250, 250, 250)\",\n \"grey99\": \"rgb(252, 252, 252)\",\n \"honeydew\": \"rgb(240, 255, 240)\",\n \"honeydew1\": \"rgb(240, 255, 240)\",\n \"honeydew2\": \"rgb(224, 238, 224)\",\n \"honeydew3\": \"rgb(193, 205, 193)\",\n \"honeydew4\": \"rgb(131, 139, 131)\",\n \"hotpink\": \"rgb(255, 105, 180)\",\n \"hotpink1\": \"rgb(255, 110, 180)\",\n \"hotpink2\": \"rgb(238, 106, 167)\",\n \"hotpink3\": \"rgb(205, 96, 144)\",\n \"hotpink4\": \"rgb(139, 58, 98)\",\n \"indianred\": \"rgb(205, 92, 92)\",\n \"indianred1\": \"rgb(255, 106, 106)\",\n \"indianred2\": \"rgb(238, 99, 99)\",\n \"indianred3\": \"rgb(205, 85, 85)\",\n \"indianred4\": \"rgb(139, 58, 58)\",\n \"ivory\": \"rgb(255, 255, 240)\",\n \"ivory1\": \"rgb(255, 255, 240)\",\n \"ivory2\": \"rgb(238, 238, 224)\",\n \"ivory3\": \"rgb(205, 205, 193)\",\n \"ivory4\": \"rgb(139, 139, 131)\",\n \"khaki\": \"rgb(240, 230, 140)\",\n \"khaki1\": \"rgb(255, 246, 143)\",\n \"khaki2\": \"rgb(238, 230, 133)\",\n \"khaki3\": \"rgb(205, 198, 115)\",\n \"khaki4\": \"rgb(139, 134, 78)\",\n \"lavender\": \"rgb(230, 230, 250)\",\n \"lavenderblush\": \"rgb(255, 240, 245)\",\n \"lavenderblush1\": \"rgb(255, 240, 245)\",\n \"lavenderblush2\": \"rgb(238, 224, 229)\",\n \"lavenderblush3\": \"rgb(205, 193, 197)\",\n \"lavenderblush4\": \"rgb(139, 131, 134)\",\n \"lawngreen\": \"rgb(124, 252, 0)\",\n \"lemonchiffon\": \"rgb(255, 250, 205)\",\n \"lemonchiffon1\": \"rgb(255, 250, 205)\",\n \"lemonchiffon2\": \"rgb(238, 233, 191)\",\n \"lemonchiffon3\": \"rgb(205, 201, 165)\",\n \"lemonchiffon4\": \"rgb(139, 137, 112)\",\n \"lightblue\": \"rgb(173, 216, 230)\",\n \"lightblue1\": \"rgb(191, 239, 255)\",\n \"lightblue2\": \"rgb(178, 223, 238)\",\n \"lightblue3\": \"rgb(154, 192, 205)\",\n \"lightblue4\": \"rgb(104, 131, 139)\",\n \"lightcoral\": \"rgb(240, 128, 128)\",\n \"lightcyan\": \"rgb(224, 255, 255)\",\n \"lightcyan1\": \"rgb(224, 255, 255)\",\n \"lightcyan2\": \"rgb(209, 238, 238)\",\n \"lightcyan3\": \"rgb(180, 205, 205)\",\n \"lightcyan4\": \"rgb(122, 139, 139)\",\n \"lightgoldenrod\": \"rgb(238, 221, 130)\",\n \"lightgoldenrod1\": \"rgb(255, 236, 139)\",\n \"lightgoldenrod2\": \"rgb(238, 220, 130)\",\n \"lightgoldenrod3\": \"rgb(205, 190, 112)\",\n \"lightgoldenrod4\": \"rgb(139, 129, 76)\",\n \"lightgoldenrodyellow\": \"rgb(250, 250, 210)\",\n \"lightgray\": \"rgb(211, 211, 211)\",\n \"lightgreen\": \"rgb(144, 238, 144)\",\n \"lightgrey\": \"rgb(211, 211, 211)\",\n \"lightpink\": \"rgb(255, 182, 193)\",\n \"lightpink1\": \"rgb(255, 174, 185)\",\n \"lightpink2\": \"rgb(238, 162, 173)\",\n \"lightpink3\": \"rgb(205, 140, 149)\",\n \"lightpink4\": \"rgb(139, 95, 101)\",\n \"lightsalmon\": \"rgb(255, 160, 122)\",\n \"lightsalmon1\": \"rgb(255, 160, 122)\",\n \"lightsalmon2\": \"rgb(238, 149, 114)\",\n \"lightsalmon3\": \"rgb(205, 129, 98)\",\n \"lightsalmon4\": \"rgb(139, 87, 66)\",\n \"lightseagreen\": \"rgb(32, 178, 170)\",\n \"lightskyblue\": \"rgb(135, 206, 250)\",\n \"lightskyblue1\": \"rgb(176, 226, 255)\",\n \"lightskyblue2\": \"rgb(164, 211, 238)\",\n \"lightskyblue3\": \"rgb(141, 182, 205)\",\n \"lightskyblue4\": \"rgb(96, 123, 139)\",\n \"lightslateblue\": \"rgb(132, 112, 255)\",\n \"lightslategray\": \"rgb(119, 136, 153)\",\n \"lightslategrey\": \"rgb(119, 136, 153)\",\n \"lightsteelblue\": \"rgb(176, 196, 222)\",\n \"lightsteelblue1\": \"rgb(202, 225, 255)\",\n \"lightsteelblue2\": \"rgb(188, 210, 238)\",\n \"lightsteelblue3\": \"rgb(162, 181, 205)\",\n \"lightsteelblue4\": \"rgb(110, 123, 139)\",\n \"lightyellow\": \"rgb(255, 255, 224)\",\n \"lightyellow1\": \"rgb(255, 255, 224)\",\n \"lightyellow2\": \"rgb(238, 238, 209)\",\n \"lightyellow3\": \"rgb(205, 205, 180)\",\n \"lightyellow4\": \"rgb(139, 139, 122)\",\n \"limegreen\": \"rgb(50, 205, 50)\",\n \"linen\": \"rgb(250, 240, 230)\",\n \"magenta\": \"rgb(255, 0, 255)\",\n \"magenta1\": \"rgb(255, 0, 255)\",\n \"magenta2\": \"rgb(238, 0, 238)\",\n \"magenta3\": \"rgb(205, 0, 205)\",\n \"magenta4\": \"rgb(139, 0, 139)\",\n \"maroon\": \"rgb(176, 48, 96)\",\n \"maroon1\": \"rgb(255, 52, 179)\",\n \"maroon2\": \"rgb(238, 48, 167)\",\n \"maroon3\": \"rgb(205, 41, 144)\",\n \"maroon4\": \"rgb(139, 28, 98)\",\n \"mediumaquamarine\": \"rgb(102, 205, 170)\",\n \"mediumblue\": \"rgb(0, 0, 205)\",\n \"mediumorchid\": \"rgb(186, 85, 211)\",\n \"mediumorchid1\": \"rgb(224, 102, 255)\",\n \"mediumorchid2\": \"rgb(209, 95, 238)\",\n \"mediumorchid3\": \"rgb(180, 82, 205)\",\n \"mediumorchid4\": \"rgb(122, 55, 139)\",\n \"mediumpurple\": \"rgb(147, 112, 219)\",\n \"mediumpurple1\": \"rgb(171, 130, 255)\",\n \"mediumpurple2\": \"rgb(159, 121, 238)\",\n \"mediumpurple3\": \"rgb(137, 104, 205)\",\n \"mediumpurple4\": \"rgb(93, 71, 139)\",\n \"mediumseagreen\": \"rgb(60, 179, 113)\",\n \"mediumslateblue\": \"rgb(123, 104, 238)\",\n \"mediumspringgreen\": \"rgb(0, 250, 154)\",\n \"mediumturquoise\": \"rgb(72, 209, 204)\",\n \"mediumvioletred\": \"rgb(199, 21, 133)\",\n \"midnightblue\": \"rgb(25, 25, 112)\",\n \"mintcream\": \"rgb(245, 255, 250)\",\n \"mistyrose\": \"rgb(255, 228, 225)\",\n \"mistyrose1\": \"rgb(255, 228, 225)\",\n \"mistyrose2\": \"rgb(238, 213, 210)\",\n \"mistyrose3\": \"rgb(205, 183, 181)\",\n \"mistyrose4\": \"rgb(139, 125, 123)\",\n \"moccasin\": \"rgb(255, 228, 181)\",\n \"navajowhite\": \"rgb(255, 222, 173)\",\n \"navajowhite1\": \"rgb(255, 222, 173)\",\n \"navajowhite2\": \"rgb(238, 207, 161)\",\n \"navajowhite3\": \"rgb(205, 179, 139)\",\n \"navajowhite4\": \"rgb(139, 121, 94)\",\n \"navy\": \"rgb(0, 0, 128)\",\n \"navyblue\": \"rgb(0, 0, 128)\",\n \"oldlace\": \"rgb(253, 245, 230)\",\n \"olivedrab\": \"rgb(107, 142, 35)\",\n \"olivedrab1\": \"rgb(192, 255, 62)\",\n \"olivedrab2\": \"rgb(179, 238, 58)\",\n \"olivedrab3\": \"rgb(154, 205, 50)\",\n \"olivedrab4\": \"rgb(105, 139, 34)\",\n \"orange\": \"rgb(255, 165, 0)\",\n \"orange1\": \"rgb(255, 165, 0)\",\n \"orange2\": \"rgb(238, 154, 0)\",\n \"orange3\": \"rgb(205, 133, 0)\",\n \"orange4\": \"rgb(139, 90, 0)\",\n \"orangered\": \"rgb(255, 69, 0)\",\n \"orangered1\": \"rgb(255, 69, 0)\",\n \"orangered2\": \"rgb(238, 64, 0)\",\n \"orangered3\": \"rgb(205, 55, 0)\",\n \"orangered4\": \"rgb(139, 37, 0)\",\n \"orchid\": \"rgb(218, 112, 214)\",\n \"orchid1\": \"rgb(255, 131, 250)\",\n \"orchid2\": \"rgb(238, 122, 233)\",\n \"orchid3\": \"rgb(205, 105, 201)\",\n \"orchid4\": \"rgb(139, 71, 137)\",\n \"palegoldenrod\": \"rgb(238, 232, 170)\",\n \"palegreen\": \"rgb(152, 251, 152)\",\n \"palegreen1\": \"rgb(154, 255, 154)\",\n \"palegreen2\": \"rgb(144, 238, 144)\",\n \"palegreen3\": \"rgb(124, 205, 124)\",\n \"palegreen4\": \"rgb(84, 139, 84)\",\n \"paleturquoise\": \"rgb(175, 238, 238)\",\n \"paleturquoise1\": \"rgb(187, 255, 255)\",\n \"paleturquoise2\": \"rgb(174, 238, 238)\",\n \"paleturquoise3\": \"rgb(150, 205, 205)\",\n \"paleturquoise4\": \"rgb(102, 139, 139)\",\n \"palevioletred\": \"rgb(219, 112, 147)\",\n \"palevioletred1\": \"rgb(255, 130, 171)\",\n \"palevioletred2\": \"rgb(238, 121, 159)\",\n \"palevioletred3\": \"rgb(205, 104, 137)\",\n \"palevioletred4\": \"rgb(139, 71, 93)\",\n \"papayawhip\": \"rgb(255, 239, 213)\",\n \"peachpuff\": \"rgb(255, 218, 185)\",\n \"peachpuff1\": \"rgb(255, 218, 185)\",\n \"peachpuff2\": \"rgb(238, 203, 173)\",\n \"peachpuff3\": \"rgb(205, 175, 149)\",\n \"peachpuff4\": \"rgb(139, 119, 101)\",\n \"peru\": \"rgb(205, 133, 63)\",\n \"pink\": \"rgb(255, 192, 203)\",\n \"pink1\": \"rgb(255, 181, 197)\",\n \"pink2\": \"rgb(238, 169, 184)\",\n \"pink3\": \"rgb(205, 145, 158)\",\n \"pink4\": \"rgb(139, 99, 108)\",\n \"plum\": \"rgb(221, 160, 221)\",\n \"plum1\": \"rgb(255, 187, 255)\",\n \"plum2\": \"rgb(238, 174, 238)\",\n \"plum3\": \"rgb(205, 150, 205)\",\n \"plum4\": \"rgb(139, 102, 139)\",\n \"powderblue\": \"rgb(176, 224, 230)\",\n \"purple\": \"rgb(160, 32, 240)\",\n \"purple1\": \"rgb(155, 48, 255)\",\n \"purple2\": \"rgb(145, 44, 238)\",\n \"purple3\": \"rgb(125, 38, 205)\",\n \"purple4\": \"rgb(85, 26, 139)\",\n \"red\": \"rgb(255, 0, 0)\",\n \"red1\": \"rgb(255, 0, 0)\",\n \"red2\": \"rgb(238, 0, 0)\",\n \"red3\": \"rgb(205, 0, 0)\",\n \"red4\": \"rgb(139, 0, 0)\",\n \"rosybrown\": \"rgb(188, 143, 143)\",\n \"rosybrown1\": \"rgb(255, 193, 193)\",\n \"rosybrown2\": \"rgb(238, 180, 180)\",\n \"rosybrown3\": \"rgb(205, 155, 155)\",\n \"rosybrown4\": \"rgb(139, 105, 105)\",\n \"royalblue\": \"rgb(65, 105, 225)\",\n \"royalblue1\": \"rgb(72, 118, 255)\",\n \"royalblue2\": \"rgb(67, 110, 238)\",\n \"royalblue3\": \"rgb(58, 95, 205)\",\n \"royalblue4\": \"rgb(39, 64, 139)\",\n \"saddlebrown\": \"rgb(139, 69, 19)\",\n \"salmon\": \"rgb(250, 128, 114)\",\n \"salmon1\": \"rgb(255, 140, 105)\",\n \"salmon2\": \"rgb(238, 130, 98)\",\n \"salmon3\": \"rgb(205, 112, 84)\",\n \"salmon4\": \"rgb(139, 76, 57)\",\n \"sandybrown\": \"rgb(244, 164, 96)\",\n \"seagreen\": \"rgb(46, 139, 87)\",\n \"seagreen1\": \"rgb(84, 255, 159)\",\n \"seagreen2\": \"rgb(78, 238, 148)\",\n \"seagreen3\": \"rgb(67, 205, 128)\",\n \"seagreen4\": \"rgb(46, 139, 87)\",\n \"seashell\": \"rgb(255, 245, 238)\",\n \"seashell1\": \"rgb(255, 245, 238)\",\n \"seashell2\": \"rgb(238, 229, 222)\",\n \"seashell3\": \"rgb(205, 197, 191)\",\n \"seashell4\": \"rgb(139, 134, 130)\",\n \"sienna\": \"rgb(160, 82, 45)\",\n \"sienna1\": \"rgb(255, 130, 71)\",\n \"sienna2\": \"rgb(238, 121, 66)\",\n \"sienna3\": \"rgb(205, 104, 57)\",\n \"sienna4\": \"rgb(139, 71, 38)\",\n \"skyblue\": \"rgb(135, 206, 235)\",\n \"skyblue1\": \"rgb(135, 206, 255)\",\n \"skyblue2\": \"rgb(126, 192, 238)\",\n \"skyblue3\": \"rgb(108, 166, 205)\",\n \"skyblue4\": \"rgb(74, 112, 139)\",\n \"slateblue\": \"rgb(106, 90, 205)\",\n \"slateblue1\": \"rgb(131, 111, 255)\",\n \"slateblue2\": \"rgb(122, 103, 238)\",\n \"slateblue3\": \"rgb(105, 89, 205)\",\n \"slateblue4\": \"rgb(71, 60, 139)\",\n \"slategray\": \"rgb(112, 128, 144)\",\n \"slategray1\": \"rgb(198, 226, 255)\",\n \"slategray2\": \"rgb(185, 211, 238)\",\n \"slategray3\": \"rgb(159, 182, 205)\",\n \"slategray4\": \"rgb(108, 123, 139)\",\n \"slategrey\": \"rgb(112, 128, 144)\",\n \"snow\": \"rgb(255, 250, 250)\",\n \"snow1\": \"rgb(255, 250, 250)\",\n \"snow2\": \"rgb(238, 233, 233)\",\n \"snow3\": \"rgb(205, 201, 201)\",\n \"snow4\": \"rgb(139, 137, 137)\",\n \"springgreen\": \"rgb(0, 255, 127)\",\n \"springgreen1\": \"rgb(0, 255, 127)\",\n \"springgreen2\": \"rgb(0, 238, 118)\",\n \"springgreen3\": \"rgb(0, 205, 102)\",\n \"springgreen4\": \"rgb(0, 139, 69)\",\n \"steelblue\": \"rgb(70, 130, 180)\",\n \"steelblue1\": \"rgb(99, 184, 255)\",\n \"steelblue2\": \"rgb(92, 172, 238)\",\n \"steelblue3\": \"rgb(79, 148, 205)\",\n \"steelblue4\": \"rgb(54, 100, 139)\",\n \"tan\": \"rgb(210, 180, 140)\",\n \"tan1\": \"rgb(255, 165, 79)\",\n \"tan2\": \"rgb(238, 154, 73)\",\n \"tan3\": \"rgb(205, 133, 63)\",\n \"tan4\": \"rgb(139, 90, 43)\",\n \"thistle\": \"rgb(216, 191, 216)\",\n \"thistle1\": \"rgb(255, 225, 255)\",\n \"thistle2\": \"rgb(238, 210, 238)\",\n \"thistle3\": \"rgb(205, 181, 205)\",\n \"thistle4\": \"rgb(139, 123, 139)\",\n \"tomato\": \"rgb(255, 99, 71)\",\n \"tomato1\": \"rgb(255, 99, 71)\",\n \"tomato2\": \"rgb(238, 92, 66)\",\n \"tomato3\": \"rgb(205, 79, 57)\",\n \"tomato4\": \"rgb(139, 54, 38)\",\n \"turquoise\": \"rgb(64, 224, 208)\",\n \"turquoise1\": \"rgb(0, 245, 255)\",\n \"turquoise2\": \"rgb(0, 229, 238)\",\n \"turquoise3\": \"rgb(0, 197, 205)\",\n \"turquoise4\": \"rgb(0, 134, 139)\",\n \"violet\": \"rgb(238, 130, 238)\",\n \"violetred\": \"rgb(208, 32, 144)\",\n \"violetred1\": \"rgb(255, 62, 150)\",\n \"violetred2\": \"rgb(238, 58, 140)\",\n \"violetred3\": \"rgb(205, 50, 120)\",\n \"violetred4\": \"rgb(139, 34, 82)\",\n \"wheat\": \"rgb(245, 222, 179)\",\n \"wheat1\": \"rgb(255, 231, 186)\",\n \"wheat2\": \"rgb(238, 216, 174)\",\n \"wheat3\": \"rgb(205, 186, 150)\",\n \"wheat4\": \"rgb(139, 126, 102)\",\n \"white\": \"rgb(255, 255, 255)\",\n \"whitesmoke\": \"rgb(245, 245, 245)\",\n \"yellow\": \"rgb(255, 255, 0)\",\n \"yellow1\": \"rgb(255, 255, 0)\",\n \"yellow2\": \"rgb(238, 238, 0)\",\n \"yellow3\": \"rgb(205, 205, 0)\",\n \"yellow4\": \"rgb(139, 139, 0)\",\n \"yellowgreen\": \"rgb(154, 205, 50)\"\n};\n// SOURCE FILE: libdot/js/lib_f.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Grab bag of utility functions.\n */\nlib.f = {};\n\n/**\n * Create a unique enum value.\n *\n * @suppress {lintChecks}\n * @param {string} name A human friendly name for debugging.\n * @return {Object} A unique enum that won't compare equal to anything else.\n */\nlib.f.createEnum = function(name) {\n // We use a String object as nothing else should be using them -- we want to\n // use string primitives normally. But debuggers will include our name.\n return new String(name);\n};\n\n/**\n * Replace variable references in a string.\n *\n * Variables are of the form %FUNCTION(VARNAME). FUNCTION is an optional\n * escape function to apply to the value.\n *\n * For example\n * lib.f.replaceVars(\"%(greeting), %encodeURIComponent(name)\",\n * { greeting: \"Hello\",\n * name: \"Google+\" });\n *\n * Will result in \"Hello, Google%2B\".\n */\nlib.f.replaceVars = function(str, vars) {\n return str.replace(/%([a-z]*)\\(([^\\)]+)\\)/gi, function(match, fn, varname) {\n if (typeof vars[varname] == 'undefined')\n throw 'Unknown variable: ' + varname;\n\n var rv = vars[varname];\n\n if (fn in lib.f.replaceVars.functions) {\n rv = lib.f.replaceVars.functions[fn](rv);\n } else if (fn) {\n throw 'Unknown escape function: ' + fn;\n }\n\n return rv;\n });\n};\n\n/**\n * Functions that can be used with replaceVars.\n *\n * Clients can add to this list to extend lib.f.replaceVars().\n */\nlib.f.replaceVars.functions = {\n encodeURI: encodeURI,\n encodeURIComponent: encodeURIComponent,\n escapeHTML: function(str) {\n var map = {\n '<': '<',\n '>': '>',\n '&': '&',\n '\"': '"',\n \"'\": '''\n };\n\n return str.replace(/[<>&\\\"\\']/g, function(m) { return map[m] });\n }\n};\n\n/**\n * Get the list of accepted UI languages.\n *\n * @param {function(Array)} callback Function to invoke with the results. The\n * parameter is a list of locale names.\n */\nlib.f.getAcceptLanguages = function(callback) {\n if (lib.f.getAcceptLanguages.chromeSupported()) {\n chrome.i18n.getAcceptLanguages(callback);\n } else {\n setTimeout(function() {\n callback([navigator.language.replace(/-/g, '_')]);\n }, 0);\n }\n};\n\nlib.f.getAcceptLanguages.chromeSupported = function() {\n return window.chrome && chrome.i18n;\n};\n\n/**\n * Parse a query string into a hash.\n *\n * This takes a url query string in the form 'name1=value&name2=value' and\n * converts it into an object of the form { name1: 'value', name2: 'value' }.\n * If a given name appears multiple times in the query string, only the\n * last value will appear in the result.\n *\n * Names and values are passed through decodeURIComponent before being added\n * to the result object.\n *\n * @param {string} queryString The string to parse. If it starts with a\n * leading '?', the '?' will be ignored.\n */\nlib.f.parseQuery = function(queryString) {\n if (queryString.startsWith('?'))\n queryString = queryString.substr(1);\n\n var rv = {};\n\n var pairs = queryString.split('&');\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i].split('=');\n rv[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n\n return rv;\n};\n\nlib.f.getURL = function(path) {\n if (lib.f.getURL.chromeSupported())\n return chrome.runtime.getURL(path);\n\n return path;\n};\n\nlib.f.getURL.chromeSupported = function() {\n return window.chrome && chrome.runtime && chrome.runtime.getURL;\n};\n\n/**\n * Clamp a given integer to a specified range.\n *\n * @param {integer} v The value to be clamped.\n * @param {integer} min The minimum acceptable value.\n * @param {integer} max The maximum acceptable value.\n */\nlib.f.clamp = function(v, min, max) {\n if (v < min)\n return min;\n if (v > max)\n return max;\n return v;\n};\n\n/**\n * Left pad a number to a given length with leading zeros.\n *\n * @param {string|integer} number The number to pad.\n * @param {integer} length The desired length.\n * @return {string} The padded number as a string.\n */\nlib.f.zpad = function(number, length) {\n return String(number).padStart(length, '0');\n};\n\n/**\n * Return a string containing a given number of space characters.\n *\n * This method maintains a static cache of the largest amount of whitespace\n * ever requested. It shouldn't be used to generate an insanely huge amount of\n * whitespace.\n *\n * @param {integer} length The desired amount of whitespace.\n * @param {string} A string of spaces of the requested length.\n */\nlib.f.getWhitespace = function(length) {\n if (length <= 0)\n return '';\n\n var f = this.getWhitespace;\n if (!f.whitespace)\n f.whitespace = ' ';\n\n while (length > f.whitespace.length) {\n f.whitespace += f.whitespace;\n }\n\n return f.whitespace.substr(0, length);\n};\n\n /**\n * Ensure that a function is called within a certain time limit.\n *\n * Simple usage looks like this...\n *\n * lib.registerInit(lib.f.alarm(onInit));\n *\n * This will log a warning to the console if onInit() is not invoked within\n * 5 seconds.\n *\n * If you're performing some operation that may take longer than 5 seconds you\n * can pass a duration in milliseconds as the optional second parameter.\n *\n * If you pass a string identifier instead of a callback function, you'll get a\n * wrapper generator rather than a single wrapper. Each call to the\n * generator will return a wrapped version of the callback wired to\n * a shared timeout. This is for cases where you want to ensure that at least\n * one of a set of callbacks is invoked before a timeout expires.\n *\n * var alarm = lib.f.alarm('fetch object');\n * lib.foo.fetchObject(alarm(onSuccess), alarm(onFailure));\n *\n * @param {function(*)} callback The function to wrap in an alarm.\n * @param {int} opt_ms Optional number of milliseconds to wait before raising\n * an alarm. Default is 5000 (5 seconds).\n * @return {function} If callback is a function then the return value will be\n * the wrapped callback. If callback is a string then the return value will\n * be a function that generates new wrapped callbacks.\n */\nlib.f.alarm = function(callback, opt_ms) {\n var ms = opt_ms || 5 * 1000;\n var stack = lib.f.getStack(1);\n\n return (function() {\n // This outer function is called immediately. It's here to capture a new\n // scope for the timeout variable.\n\n // The 'timeout' variable is shared by this timeout function, and the\n // callback wrapper.\n var timeout = setTimeout(function() {\n var name = (typeof callback == 'string') ? name : callback.name;\n name = name ? (': ' + name) : '';\n console.warn('lib.f.alarm: timeout expired: ' + (ms / 1000) + 's' + name);\n console.log(stack);\n timeout = null;\n }, ms);\n\n var wrapperGenerator = function(callback) {\n return function() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n\n return callback.apply(null, arguments);\n }\n };\n\n if (typeof callback == 'string')\n return wrapperGenerator;\n\n return wrapperGenerator(callback);\n })();\n};\n\n/**\n * Return the current call stack after skipping a given number of frames.\n *\n * This method is intended to be used for debugging only. It returns an\n * Object instead of an Array, because the console stringifies arrays by\n * default and that's not what we want.\n *\n * A typical call might look like...\n *\n * console.log('Something wicked this way came', lib.f.getStack());\n * // Notice the comma ^\n *\n * This would print the message to the js console, followed by an object\n * which can be clicked to reveal the stack.\n *\n * @param {number} opt_ignoreFrames The optional number of stack frames to\n * ignore. The actual 'getStack' call is always ignored.\n */\nlib.f.getStack = function(opt_ignoreFrames) {\n var ignoreFrames = opt_ignoreFrames ? opt_ignoreFrames + 2 : 2;\n\n var stackArray;\n\n try {\n throw new Error();\n } catch (ex) {\n stackArray = ex.stack.split('\\n');\n }\n\n var stackObject = {};\n for (var i = ignoreFrames; i < stackArray.length; i++) {\n stackObject[i - ignoreFrames] = stackArray[i].replace(/^\\s*at\\s+/, '');\n }\n\n return stackObject;\n};\n\n/**\n * Divides the two numbers and floors the results, unless the remainder is less\n * than an incredibly small value, in which case it returns the ceiling.\n * This is useful when the number are truncated approximations of longer\n * values, and so doing division with these numbers yields a result incredibly\n * close to a whole number.\n *\n * @param {number} numerator\n * @param {number} denominator\n * @return {number}\n */\nlib.f.smartFloorDivide = function(numerator, denominator) {\n var val = numerator / denominator;\n var ceiling = Math.ceil(val);\n if (ceiling - val < .0001) {\n return ceiling;\n } else {\n return Math.floor(val);\n }\n};\n\n/**\n * Get a random integer in a range (inclusive).\n *\n * @param {number} min The lowest integer in the range.\n * @param {number} max The highest integer in the range.\n * @return {number} A random number between min & max.\n */\nlib.f.randomInt = function(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\n// SOURCE FILE: libdot/js/lib_message_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * MessageManager class handles internationalized strings.\n *\n * Note: chrome.i18n isn't sufficient because...\n * 1. There's a bug in chrome that makes it unavailable in iframes:\n * https://crbug.com/130200\n * 2. The client code may not be packaged in a Chrome extension.\n * 3. The client code may be part of a library packaged in a third-party\n * Chrome extension.\n *\n * @param {Array} languages List of languages to load, in the order they\n * should be loaded. Newer messages replace older ones. 'en' is\n * automatically added as the first language if it is not already present.\n */\nlib.MessageManager = function(languages) {\n this.languages_ = languages.map(\n function(el) { return el.replace(/-/g, '_') });\n\n if (this.languages_.indexOf('en') == -1)\n this.languages_.unshift('en');\n\n this.messages = {};\n};\n\n/**\n * Add message definitions to the message manager.\n *\n * This takes an object of the same format of a Chrome messages.json file. See\n * .\n */\nlib.MessageManager.prototype.addMessages = function(defs) {\n for (var key in defs) {\n var def = defs[key];\n\n if (!def.placeholders) {\n this.messages[key] = def.message;\n } else {\n // Replace \"$NAME$\" placeholders with \"$1\", etc.\n this.messages[key] = def.message.replace(\n /\\$([a-z][^\\s\\$]+)\\$/ig,\n function(m, name) {\n return defs[key].placeholders[name.toLowerCase()].content;\n });\n }\n }\n};\n\n/**\n * Load the first available language message bundle.\n *\n * @param {string} pattern A url pattern containing a \"$1\" where the locale\n * name should go.\n * @param {function(Array,Array)} onComplete Function to be called when loading\n * is complete. The two arrays are the list of successful and failed\n * locale names. If the first parameter is length 0, no locales were\n * loaded.\n */\nlib.MessageManager.prototype.findAndLoadMessages = function(\n pattern, onComplete) {\n var languages = this.languages_.concat();\n var loaded = [];\n var failed = [];\n\n function onLanguageComplete(state) {\n if (state) {\n loaded = languages.shift();\n } else {\n failed = languages.shift();\n }\n\n if (languages.length) {\n tryNextLanguage();\n } else {\n onComplete(loaded, failed);\n }\n }\n\n var tryNextLanguage = function() {\n this.loadMessages(this.replaceReferences(pattern, languages),\n onLanguageComplete.bind(this, true),\n onLanguageComplete.bind(this, false));\n }.bind(this);\n\n tryNextLanguage();\n};\n\n/**\n * Load messages from a messages.json file.\n */\nlib.MessageManager.prototype.loadMessages = function(\n url, onSuccess, opt_onError) {\n var xhr = new XMLHttpRequest();\n\n xhr.onloadend = function() {\n if (xhr.status != 200) {\n if (opt_onError)\n opt_onError(xhr.status);\n\n return;\n }\n\n this.addMessages(JSON.parse(xhr.responseText));\n onSuccess();\n }.bind(this);\n\n xhr.open('GET', url);\n xhr.send();\n};\n\n/**\n * Replace $1...$n references with the elements of the args array.\n *\n * @param {string} msg String containing the message and argument references.\n * @param {Array} args Array containing the argument values.\n */\nlib.MessageManager.replaceReferences = function(msg, args) {\n return msg.replace(/\\$(\\d+)/g, function (m, index) {\n return args[index - 1];\n });\n};\n\n/**\n * Per-instance copy of replaceReferences.\n */\nlib.MessageManager.prototype.replaceReferences =\n lib.MessageManager.replaceReferences;\n\n/**\n * Get a message by name, optionally replacing arguments too.\n *\n * @param {string} msgname String containing the name of the message to get.\n * @param {Array} opt_args Optional array containing the argument values.\n * @param {string} opt_default Optional value to return if the msgname is not\n * found. Returns the message name by default.\n */\nlib.MessageManager.prototype.get = function(msgname, opt_args, opt_default) {\n var message;\n\n if (msgname in this.messages) {\n message = this.messages[msgname];\n\n } else {\n if (window.chrome.i18n)\n message = chrome.i18n.getMessage(msgname);\n\n if (!message) {\n console.warn('Unknown message: ' + msgname);\n return (typeof opt_default == 'undefined') ? msgname : opt_default;\n }\n }\n\n if (!opt_args)\n return message;\n\n if (!(opt_args instanceof Array))\n opt_args = [opt_args];\n\n return this.replaceReferences(message, opt_args);\n};\n\n/**\n * Process all of the \"i18n\" html attributes found in a given dom fragment.\n *\n * The real work happens in processI18nAttribute.\n */\nlib.MessageManager.prototype.processI18nAttributes = function(dom) {\n var nodes = dom.querySelectorAll('[i18n]');\n\n for (var i = 0; i < nodes.length; i++)\n this.processI18nAttribute(nodes[i]);\n};\n\n/**\n * Process the \"i18n\" attribute in the specified node.\n *\n * The i18n attribute should contain a JSON object. The keys are taken to\n * be attribute names, and the values are message names.\n *\n * If the JSON object has a \"_\" (underscore) key, its value is used as the\n * textContent of the element.\n *\n * Message names can refer to other attributes on the same element with by\n * prefixing with a dollar sign. For example...\n *\n * \n *\n * The aria-label message name will be computed as \"SEND_BUTTON_ARIA_LABEL\".\n * Notice that the \"id\" attribute was appended to the target attribute, and\n * the result converted to UPPER_AND_UNDER style.\n */\nlib.MessageManager.prototype.processI18nAttribute = function(node) {\n // Convert the \"lower-and-dashes\" attribute names into\n // \"UPPER_AND_UNDER\" style.\n function thunk(str) { return str.replace(/-/g, '_').toUpperCase() }\n\n var i18n = node.getAttribute('i18n');\n if (!i18n)\n return;\n\n try {\n i18n = JSON.parse(i18n);\n } catch (ex) {\n console.error('Can\\'t parse ' + node.tagName + '#' + node.id + ': ' + i18n);\n throw ex;\n }\n\n // Load all the messages specified in the i18n attributes.\n for (var key in i18n) {\n // The node attribute we'll be setting.\n var attr = key;\n\n var msgname = i18n[key];\n // For \"=foo\", re-use the referenced message name.\n if (msgname.startsWith('=')) {\n key = msgname.substr(1);\n msgname = i18n[key];\n }\n\n // For \"$foo\", calculate the message name.\n if (msgname.startsWith('$'))\n msgname = thunk(node.getAttribute(msgname.substr(1)) + '_' + key);\n\n // Finally load the message.\n var msg = this.get(msgname);\n if (attr == '_')\n node.textContent = msg;\n else\n node.setAttribute(attr, msg);\n }\n};\n// SOURCE FILE: libdot/js/lib_preference_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Constructor for lib.PreferenceManager objects.\n *\n * These objects deal with persisting changes to stable storage and notifying\n * consumers when preferences change.\n *\n * It is intended that the backing store could be something other than HTML5\n * storage, but there aren't any use cases at the moment. In the future there\n * may be a chrome api to store sync-able name/value pairs, and we'd want\n * that.\n *\n * @param {lib.Storage.*} storage The storage object to use as a backing\n * store.\n * @param {string} opt_prefix The optional prefix to be used for all preference\n * names. The '/' character should be used to separate levels of hierarchy,\n * if you're going to have that kind of thing. If provided, the prefix\n * should start with a '/'. If not provided, it defaults to '/'.\n */\nlib.PreferenceManager = function(storage, opt_prefix) {\n this.storage = storage;\n this.storageObserver_ = this.onStorageChange_.bind(this);\n\n this.isActive_ = false;\n this.activate();\n\n this.trace = false;\n\n var prefix = opt_prefix || '/';\n if (!prefix.endsWith('/'))\n prefix += '/';\n\n this.prefix = prefix;\n\n this.prefRecords_ = {};\n this.globalObservers_ = [];\n\n this.childFactories_ = {};\n\n // Map of list-name to {map of child pref managers}\n // As in...\n //\n // this.childLists_ = {\n // 'profile-ids': {\n // 'one': PreferenceManager,\n // 'two': PreferenceManager,\n // ...\n // },\n //\n // 'frob-ids': {\n // ...\n // }\n // }\n this.childLists_ = {};\n};\n\n/**\n * Used internally to indicate that the current value of the preference should\n * be taken from the default value defined with the preference.\n *\n * Equality tests against this value MUST use '===' or '!==' to be accurate.\n */\nlib.PreferenceManager.prototype.DEFAULT_VALUE = lib.f.createEnum('DEFAULT');\n\n/**\n * An individual preference.\n *\n * These objects are managed by the PreferenceManager, you shouldn't need to\n * handle them directly.\n */\nlib.PreferenceManager.Record = function(name, defaultValue) {\n this.name = name;\n this.defaultValue = defaultValue;\n this.currentValue = this.DEFAULT_VALUE;\n this.observers = [];\n};\n\n/**\n * A local copy of the DEFAULT_VALUE constant to make it less verbose.\n */\nlib.PreferenceManager.Record.prototype.DEFAULT_VALUE =\n lib.PreferenceManager.prototype.DEFAULT_VALUE;\n\n/**\n * Register a callback to be invoked when this preference changes.\n *\n * @param {function(value, string, lib.PreferenceManager} observer The function\n * to invoke. It will receive the new value, the name of the preference,\n * and a reference to the PreferenceManager as parameters.\n */\nlib.PreferenceManager.Record.prototype.addObserver = function(observer) {\n this.observers.push(observer);\n};\n\n/**\n * Unregister an observer callback.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.PreferenceManager.Record.prototype.removeObserver = function(observer) {\n var i = this.observers.indexOf(observer);\n if (i >= 0)\n this.observers.splice(i, 1);\n};\n\n/**\n * Fetch the value of this preference.\n */\nlib.PreferenceManager.Record.prototype.get = function() {\n if (this.currentValue === this.DEFAULT_VALUE) {\n if (/^(string|number)$/.test(typeof this.defaultValue))\n return this.defaultValue;\n\n if (typeof this.defaultValue == 'object') {\n // We want to return a COPY of the default value so that users can\n // modify the array or object without changing the default value.\n return JSON.parse(JSON.stringify(this.defaultValue));\n }\n\n return this.defaultValue;\n }\n\n return this.currentValue;\n};\n\n/**\n * Stop this preference manager from tracking storage changes.\n *\n * Call this if you're going to swap out one preference manager for another so\n * that you don't get notified about irrelevant changes.\n */\nlib.PreferenceManager.prototype.deactivate = function() {\n if (!this.isActive_)\n throw new Error('Not activated');\n\n this.isActive_ = false;\n this.storage.removeObserver(this.storageObserver_);\n};\n\n/**\n * Start tracking storage changes.\n *\n * If you previously deactivated this preference manager, you can reactivate it\n * with this method. You don't need to call this at initialization time, as\n * it's automatically called as part of the constructor.\n */\nlib.PreferenceManager.prototype.activate = function() {\n if (this.isActive_)\n throw new Error('Already activated');\n\n this.isActive_ = true;\n this.storage.addObserver(this.storageObserver_);\n};\n\n/**\n * Read the backing storage for these preferences.\n *\n * You should do this once at initialization time to prime the local cache\n * of preference values. The preference manager will monitor the backing\n * storage for changes, so you should not need to call this more than once.\n *\n * This function recursively reads storage for all child preference managers as\n * well.\n *\n * This function is asynchronous, if you need to read preference values, you\n * *must* wait for the callback.\n *\n * @param {function()} opt_callback Optional function to invoke when the read\n * has completed.\n */\nlib.PreferenceManager.prototype.readStorage = function(opt_callback) {\n var pendingChildren = 0;\n\n function onChildComplete() {\n if (--pendingChildren == 0 && opt_callback)\n opt_callback();\n }\n\n var keys = Object.keys(this.prefRecords_).map(\n function(el) { return this.prefix + el }.bind(this));\n\n if (this.trace)\n console.log('Preferences read: ' + this.prefix);\n\n this.storage.getItems(keys, function(items) {\n var prefixLength = this.prefix.length;\n\n for (var key in items) {\n var value = items[key];\n var name = key.substr(prefixLength);\n var needSync = (name in this.childLists_ &&\n (JSON.stringify(value) !=\n JSON.stringify(this.prefRecords_[name].currentValue)));\n\n this.prefRecords_[name].currentValue = value;\n\n if (needSync) {\n pendingChildren++;\n this.syncChildList(name, onChildComplete);\n }\n }\n\n if (pendingChildren == 0 && opt_callback)\n setTimeout(opt_callback);\n }.bind(this));\n};\n\n/**\n * Define a preference.\n *\n * This registers a name, default value, and onChange handler for a preference.\n *\n * @param {string} name The name of the preference. This will be prefixed by\n * the prefix of this PreferenceManager before written to local storage.\n * @param {string|number|boolean|Object|Array|null} value The default value of\n * this preference. Anything that can be represented in JSON is a valid\n * default value.\n * @param {function(value, string, lib.PreferenceManager} opt_observer A\n * function to invoke when the preference changes. It will receive the new\n * value, the name of the preference, and a reference to the\n * PreferenceManager as parameters.\n */\nlib.PreferenceManager.prototype.definePreference = function(\n name, value, opt_onChange) {\n\n var record = this.prefRecords_[name];\n if (record) {\n this.changeDefault(name, value);\n } else {\n record = this.prefRecords_[name] =\n new lib.PreferenceManager.Record(name, value);\n }\n\n if (opt_onChange)\n record.addObserver(opt_onChange);\n};\n\n/**\n * Define multiple preferences with a single function call.\n *\n * @param {Array} defaults An array of 3-element arrays. Each three element\n * array should contain the [key, value, onChange] parameters for a\n * preference.\n */\nlib.PreferenceManager.prototype.definePreferences = function(defaults) {\n for (var i = 0; i < defaults.length; i++) {\n this.definePreference(defaults[i][0], defaults[i][1], defaults[i][2]);\n }\n};\n\n/**\n * Define an ordered list of child preferences.\n *\n * Child preferences are different from just storing an array of JSON objects\n * in that each child is an instance of a preference manager. This means you\n * can observe changes to individual child preferences, and get some validation\n * that you're not reading or writing to an undefined child preference value.\n *\n * @param {string} listName A name for the list of children. This must be\n * unique in this preference manager. The listName will become a\n * preference on this PreferenceManager used to store the ordered list of\n * child ids. It is also used in get/add/remove operations to identify the\n * list of children to operate on.\n * @param {function} childFactory A function that will be used to generate\n * instances of these children. The factory function will receive the\n * parent lib.PreferenceManager object and a unique id for the new child\n * preferences.\n */\nlib.PreferenceManager.prototype.defineChildren = function(\n listName, childFactory) {\n\n // Define a preference to hold the ordered list of child ids.\n this.definePreference(listName, [],\n this.onChildListChange_.bind(this, listName));\n this.childFactories_[listName] = childFactory;\n this.childLists_[listName] = {};\n};\n\n/**\n * Register to observe preference changes.\n *\n * @param {Function} global A callback that will happen for every preference.\n * Pass null if you don't need one.\n * @param {Object} map A map of preference specific callbacks. Pass null if\n * you don't need any.\n */\nlib.PreferenceManager.prototype.addObservers = function(global, map) {\n if (global && typeof global != 'function')\n throw new Error('Invalid param: globals');\n\n if (global)\n this.globalObservers_.push(global);\n\n if (!map)\n return;\n\n for (var name in map) {\n if (!(name in this.prefRecords_))\n throw new Error('Unknown preference: ' + name);\n\n this.prefRecords_[name].addObserver(map[name]);\n }\n};\n\n/**\n * Dispatch the change observers for all known preferences.\n *\n * It may be useful to call this after readStorage completes, in order to\n * get application state in sync with user preferences.\n *\n * This can be used if you've changed a preference manager out from under\n * a live object, for example when switching to a different prefix.\n */\nlib.PreferenceManager.prototype.notifyAll = function() {\n for (var name in this.prefRecords_) {\n this.notifyChange_(name);\n }\n};\n\n/**\n * Notify the change observers for a given preference.\n *\n * @param {string} name The name of the preference that changed.\n */\nlib.PreferenceManager.prototype.notifyChange_ = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n var currentValue = record.get();\n\n for (var i = 0; i < this.globalObservers_.length; i++)\n this.globalObservers_[i](name, currentValue);\n\n for (var i = 0; i < record.observers.length; i++) {\n record.observers[i](currentValue, name, this);\n }\n};\n\n/**\n * Create a new child PreferenceManager for the given child list.\n *\n * The optional hint parameter is an opaque prefix added to the auto-generated\n * unique id for this child. Your child factory can parse out the prefix\n * and use it.\n *\n * @param {string} listName The child list to create the new instance from.\n * @param {string} opt_hint Optional hint to include in the child id.\n * @param {string} opt_id Optional id to override the generated id.\n */\nlib.PreferenceManager.prototype.createChild = function(listName, opt_hint,\n opt_id) {\n var ids = this.get(listName);\n var id;\n\n if (opt_id) {\n id = opt_id;\n if (ids.indexOf(id) != -1)\n throw new Error('Duplicate child: ' + listName + ': ' + id);\n\n } else {\n // Pick a random, unique 4-digit hex identifier for the new profile.\n while (!id || ids.indexOf(id) != -1) {\n id = lib.f.randomInt(1, 0xffff).toString(16);\n id = lib.f.zpad(id, 4);\n if (opt_hint)\n id = opt_hint + ':' + id;\n }\n }\n\n var childManager = this.childFactories_[listName](this, id);\n childManager.trace = this.trace;\n childManager.resetAll();\n\n this.childLists_[listName][id] = childManager;\n\n ids.push(id);\n this.set(listName, ids);\n\n return childManager;\n};\n\n/**\n * Remove a child preferences instance.\n *\n * Removes a child preference manager and clears any preferences stored in it.\n *\n * @param {string} listName The name of the child list containing the child to\n * remove.\n * @param {string} id The child ID.\n */\nlib.PreferenceManager.prototype.removeChild = function(listName, id) {\n var prefs = this.getChild(listName, id);\n prefs.resetAll();\n\n var ids = this.get(listName);\n var i = ids.indexOf(id);\n if (i != -1) {\n ids.splice(i, 1);\n this.set(listName, ids);\n }\n\n delete this.childLists_[listName][id];\n};\n\n/**\n * Return a child PreferenceManager instance for a given id.\n *\n * If the child list or child id is not known this will return the specified\n * default value or throw an exception if no default value is provided.\n *\n * @param {string} listName The child list to look in.\n * @param {string} id The child ID.\n * @param {*} opt_default The optional default value to return if the child\n * is not found.\n */\nlib.PreferenceManager.prototype.getChild = function(listName, id, opt_default) {\n if (!(listName in this.childLists_))\n throw new Error('Unknown child list: ' + listName);\n\n var childList = this.childLists_[listName];\n if (!(id in childList)) {\n if (typeof opt_default == 'undefined')\n throw new Error('Unknown \"' + listName + '\" child: ' + id);\n\n return opt_default;\n }\n\n return childList[id];\n};\n\n/**\n * Calculate the difference between two lists of child ids.\n *\n * Given two arrays of child ids, this function will return an object\n * with \"added\", \"removed\", and \"common\" properties. Each property is\n * a map of child-id to `true`. For example, given...\n *\n * a = ['child-x', 'child-y']\n * b = ['child-y']\n *\n * diffChildLists(a, b) =>\n * { added: { 'child-x': true }, removed: {}, common: { 'child-y': true } }\n *\n * The added/removed properties assume that `a` is the current list.\n *\n * @param {Array[string]} a The most recent list of child ids.\n * @param {Array[string]} b An older list of child ids.\n * @return {Object} An object with added/removed/common properties.\n */\nlib.PreferenceManager.diffChildLists = function(a, b) {\n var rv = {\n added: {},\n removed: {},\n common: {},\n };\n\n for (var i = 0; i < a.length; i++) {\n if (b.indexOf(a[i]) != -1) {\n rv.common[a[i]] = true;\n } else {\n rv.added[a[i]] = true;\n }\n }\n\n for (var i = 0; i < b.length; i++) {\n if ((b[i] in rv.added) || (b[i] in rv.common))\n continue;\n\n rv.removed[b[i]] = true;\n }\n\n return rv;\n};\n\n/**\n * Synchronize a list of child PreferenceManagers instances with the current\n * list stored in prefs.\n *\n * This will instantiate any missing managers and read current preference values\n * from storage. Any active managers that no longer appear in preferences will\n * be deleted.\n *\n * @param {string} listName The child list to synchronize.\n * @param {function()} opt_callback Optional function to invoke when the sync\n * is complete.\n */\nlib.PreferenceManager.prototype.syncChildList = function(\n listName, opt_callback) {\n\n var pendingChildren = 0;\n function onChildStorage() {\n if (--pendingChildren == 0 && opt_callback)\n opt_callback();\n }\n\n // The list of child ids that we *should* have a manager for.\n var currentIds = this.get(listName);\n\n // The known managers at the start of the sync. Any manager still in this\n // list at the end should be discarded.\n var oldIds = Object.keys(this.childLists_[listName]);\n\n var rv = lib.PreferenceManager.diffChildLists(currentIds, oldIds);\n\n for (var i = 0; i < currentIds.length; i++) {\n var id = currentIds[i];\n\n var managerIndex = oldIds.indexOf(id);\n if (managerIndex >= 0)\n oldIds.splice(managerIndex, 1);\n\n if (!this.childLists_[listName][id]) {\n var childManager = this.childFactories_[listName](this, id);\n if (!childManager) {\n console.warn('Unable to restore child: ' + listName + ': ' + id);\n continue;\n }\n\n childManager.trace = this.trace;\n this.childLists_[listName][id] = childManager;\n pendingChildren++;\n childManager.readStorage(onChildStorage);\n }\n }\n\n for (var i = 0; i < oldIds.length; i++) {\n delete this.childLists_[listName][oldIds[i]];\n }\n\n if (!pendingChildren && opt_callback)\n setTimeout(opt_callback);\n};\n\n/**\n * Reset a preference to its default state.\n *\n * This will dispatch the onChange handler if the preference value actually\n * changes.\n *\n * @param {string} name The preference to reset.\n */\nlib.PreferenceManager.prototype.reset = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n this.storage.removeItem(this.prefix + name);\n\n if (record.currentValue !== this.DEFAULT_VALUE) {\n record.currentValue = this.DEFAULT_VALUE;\n this.notifyChange_(name);\n }\n};\n\n/**\n * Reset all preferences back to their default state.\n */\nlib.PreferenceManager.prototype.resetAll = function() {\n var changed = [];\n\n for (var listName in this.childLists_) {\n var childList = this.childLists_[listName];\n for (var id in childList) {\n childList[id].resetAll();\n }\n }\n\n for (var name in this.prefRecords_) {\n if (this.prefRecords_[name].currentValue !== this.DEFAULT_VALUE) {\n this.prefRecords_[name].currentValue = this.DEFAULT_VALUE;\n changed.push(name);\n }\n }\n\n var keys = Object.keys(this.prefRecords_).map(function(el) {\n return this.prefix + el;\n }.bind(this));\n\n this.storage.removeItems(keys);\n\n changed.forEach(this.notifyChange_.bind(this));\n};\n\n/**\n * Return true if two values should be considered not-equal.\n *\n * If both values are the same scalar type and compare equal this function\n * returns false (no difference), otherwise return true.\n *\n * This is used in places where we want to check if a preference has changed.\n * Rather than take the time to compare complex values we just consider them\n * to always be different.\n *\n * @param {*} a A value to compare.\n * @param {*} b A value to compare.\n */\nlib.PreferenceManager.prototype.diff = function(a, b) {\n // If the types are different, or the type is not a simple primitive one.\n if ((typeof a) !== (typeof b) ||\n !(/^(undefined|boolean|number|string)$/.test(typeof a))) {\n return true;\n }\n\n return a !== b;\n};\n\n/**\n * Change the default value of a preference.\n *\n * This is useful when subclassing preference managers.\n *\n * The function does not alter the current value of the preference, unless\n * it has the old default value. When that happens, the change observers\n * will be notified.\n *\n * @param {string} name The name of the parameter to change.\n * @param {*} newValue The new default value for the preference.\n */\nlib.PreferenceManager.prototype.changeDefault = function(name, newValue) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n if (!this.diff(record.defaultValue, newValue)) {\n // Default value hasn't changed.\n return;\n }\n\n if (record.currentValue !== this.DEFAULT_VALUE) {\n // This pref has a specific value, just change the default and we're done.\n record.defaultValue = newValue;\n return;\n }\n\n record.defaultValue = newValue;\n\n this.notifyChange_(name);\n};\n\n/**\n * Change the default value of multiple preferences.\n *\n * @param {Object} map A map of name -> value pairs specifying the new default\n * values.\n */\nlib.PreferenceManager.prototype.changeDefaults = function(map) {\n for (var key in map) {\n this.changeDefault(key, map[key]);\n }\n};\n\n/**\n * Set a preference to a specific value.\n *\n * This will dispatch the onChange handler if the preference value actually\n * changes.\n *\n * @param {string} key The preference to set.\n * @param {*} value The value to set. Anything that can be represented in\n * JSON is a valid value.\n */\nlib.PreferenceManager.prototype.set = function(name, newValue) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n var oldValue = record.get();\n\n if (!this.diff(oldValue, newValue))\n return;\n\n if (this.diff(record.defaultValue, newValue)) {\n record.currentValue = newValue;\n this.storage.setItem(this.prefix + name, newValue);\n } else {\n record.currentValue = this.DEFAULT_VALUE;\n this.storage.removeItem(this.prefix + name);\n }\n\n // We need to manually send out the notification on this instance. If we\n // The storage event won't fire a notification because we've already changed\n // the currentValue, so it won't see a difference. If we delayed changing\n // currentValue until the storage event, a pref read immediately after a write\n // would return the previous value.\n //\n // The notification is in a timeout so clients don't accidentally depend on\n // a synchronous notification.\n setTimeout(this.notifyChange_.bind(this, name), 0);\n};\n\n/**\n * Get the value of a preference.\n *\n * @param {string} key The preference to get.\n */\nlib.PreferenceManager.prototype.get = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n return record.get();\n};\n\n/**\n * Return all non-default preferences as a JSON object.\n *\n * This includes any nested preference managers as well.\n */\nlib.PreferenceManager.prototype.exportAsJson = function() {\n var rv = {};\n\n for (var name in this.prefRecords_) {\n if (name in this.childLists_) {\n rv[name] = [];\n var childIds = this.get(name);\n for (var i = 0; i < childIds.length; i++) {\n var id = childIds[i];\n rv[name].push({id: id, json: this.getChild(name, id).exportAsJson()});\n }\n\n } else {\n var record = this.prefRecords_[name];\n if (record.currentValue != this.DEFAULT_VALUE)\n rv[name] = record.currentValue;\n }\n }\n\n return rv;\n};\n\n/**\n * Import a JSON blob of preferences previously generated with exportAsJson.\n *\n * This will create nested preference managers as well.\n */\nlib.PreferenceManager.prototype.importFromJson = function(json) {\n for (var name in json) {\n if (name in this.childLists_) {\n var childList = json[name];\n for (var i = 0; i < childList.length; i++) {\n var id = childList[i].id;\n\n var childPrefManager = this.childLists_[name][id];\n if (!childPrefManager)\n childPrefManager = this.createChild(name, null, id);\n\n childPrefManager.importFromJson(childList[i].json);\n }\n\n } else {\n this.set(name, json[name]);\n }\n }\n};\n\n/**\n * Called when one of the child list preferences changes.\n */\nlib.PreferenceManager.prototype.onChildListChange_ = function(listName) {\n this.syncChildList(listName);\n};\n\n/**\n * Called when a key in the storage changes.\n */\nlib.PreferenceManager.prototype.onStorageChange_ = function(map) {\n for (var key in map) {\n if (this.prefix) {\n if (key.lastIndexOf(this.prefix, 0) != 0)\n continue;\n }\n\n var name = key.substr(this.prefix.length);\n\n if (!(name in this.prefRecords_)) {\n // Sometimes we'll get notified about prefs that are no longer defined.\n continue;\n }\n\n var record = this.prefRecords_[name];\n\n var newValue = map[key].newValue;\n var currentValue = record.currentValue;\n if (currentValue === record.DEFAULT_VALUE)\n currentValue = (void 0);\n\n if (this.diff(currentValue, newValue)) {\n if (typeof newValue == 'undefined' || newValue === null) {\n record.currentValue = record.DEFAULT_VALUE;\n } else {\n record.currentValue = newValue;\n }\n\n this.notifyChange_(name);\n }\n }\n};\n// SOURCE FILE: libdot/js/lib_resource.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Storage for canned resources.\n *\n * These are usually non-JavaScript things that are collected during a build\n * step and converted into a series of 'lib.resource.add(...)' calls. See\n * the \"@resource\" directive from libdot/bin/concat.sh for the canonical use\n * case.\n *\n * This is global storage, so you should prefix your resource names to avoid\n * collisions.\n */\nlib.resource = {\n resources_: {}\n};\n\n/**\n * Add a resource.\n *\n * @param {string} name A name for the resource. You should prefix this to\n * avoid collisions with resources from a shared library.\n * @param {string} type A mime type for the resource, or \"raw\" if not\n * applicable.\n * @param {*} data The value of the resource.\n */\nlib.resource.add = function(name, type, data) {\n lib.resource.resources_[name] = {\n type: type,\n name: name,\n data: data\n };\n};\n\n/**\n * Retrieve a resource record.\n *\n * The resource data is stored on the \"data\" property of the returned object.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {object} An object with \"type\", \"name\", and \"data\" properties.\n */\nlib.resource.get = function(name, opt_defaultValue) {\n if (!(name in lib.resource.resources_)) {\n if (typeof opt_defaultValue == 'undefined')\n throw 'Unknown resource: ' + name;\n\n return opt_defaultValue;\n }\n\n return lib.resource.resources_[name];\n};\n\n/**\n * Retrieve resource data.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {*} The resource data.\n */\nlib.resource.getData = function(name, opt_defaultValue) {\n if (!(name in lib.resource.resources_)) {\n if (typeof opt_defaultValue == 'undefined')\n throw 'Unknown resource: ' + name;\n\n return opt_defaultValue;\n }\n\n return lib.resource.resources_[name].data;\n};\n\n/**\n * Retrieve resource as a data: url.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {*} A data: url encoded version of the resource.\n */\nlib.resource.getDataUrl = function(name, opt_defaultValue) {\n var resource = lib.resource.get(name, opt_defaultValue);\n return 'data:' + resource.type + ',' + resource.data;\n};\n// SOURCE FILE: libdot/js/lib_storage.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Namespace for implementations of persistent, possibly cloud-backed\n * storage.\n */\nlib.Storage = new Object();\n// SOURCE FILE: libdot/js/lib_storage_chrome.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * chrome.storage based class with an async interface that is interchangeable\n * with other lib.Storage.* implementations.\n */\nlib.Storage.Chrome = function(storage) {\n this.storage_ = storage;\n this.observers_ = [];\n\n chrome.storage.onChanged.addListener(this.onChanged_.bind(this));\n};\n\n/**\n * Called by the storage implementation when the storage is modified.\n */\nlib.Storage.Chrome.prototype.onChanged_ = function(changes, areaname) {\n if (chrome.storage[areaname] != this.storage_)\n return;\n\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](changes);\n }\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Chrome.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Chrome.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Chrome.prototype.clear = function(opt_callback) {\n this.storage_.clear();\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Chrome.prototype.getItem = function(key, callback) {\n this.storage_.get(key, callback);\n};\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\n\nlib.Storage.Chrome.prototype.getItems = function(keys, callback) {\n this.storage_.get(keys, callback);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.setItem = function(key, value, opt_callback) {\n var obj = {};\n obj[key] = value;\n this.storage_.set(obj, opt_callback);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.setItems = function(obj, opt_callback) {\n this.storage_.set(obj, opt_callback);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.removeItem = function(key, opt_callback) {\n this.storage_.remove(key, opt_callback);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.removeItems = function(keys, opt_callback) {\n this.storage_.remove(keys, opt_callback);\n};\n// SOURCE FILE: libdot/js/lib_storage_local.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * window.localStorage based class with an async interface that is\n * interchangeable with other lib.Storage.* implementations.\n */\nlib.Storage.Local = function() {\n this.observers_ = [];\n this.storage_ = window.localStorage;\n window.addEventListener('storage', this.onStorage_.bind(this));\n};\n\n/**\n * Called by the storage implementation when the storage is modified.\n */\nlib.Storage.Local.prototype.onStorage_ = function(e) {\n if (e.storageArea != this.storage_)\n return;\n\n // JS throws an exception if JSON.parse is given an empty string. So here we\n // only parse if the value is truthy. This mean the empty string, undefined\n // and null will not be parsed.\n var prevValue = e.oldValue ? JSON.parse(e.oldValue) : e.oldValue;\n var curValue = e.newValue ? JSON.parse(e.newValue) : e.newValue;\n var o = {};\n o[e.key] = {\n oldValue: prevValue,\n newValue: curValue\n };\n\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](o);\n }\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Local.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Local.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Local.prototype.clear = function(opt_callback) {\n this.storage_.clear();\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Local.prototype.getItem = function(key, callback) {\n var value = this.storage_.getItem(key);\n\n if (typeof value == 'string') {\n try {\n value = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n }\n }\n\n setTimeout(callback.bind(null, value), 0);\n};\n\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\nlib.Storage.Local.prototype.getItems = function(keys, callback) {\n var rv = {};\n\n for (var i = keys.length - 1; i >= 0; i--) {\n var key = keys[i];\n var value = this.storage_.getItem(key);\n if (typeof value == 'string') {\n try {\n rv[key] = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n rv[key] = value;\n }\n } else {\n keys.splice(i, 1);\n }\n }\n\n setTimeout(callback.bind(null, rv), 0);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.setItem = function(key, value, opt_callback) {\n this.storage_.setItem(key, JSON.stringify(value));\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.setItems = function(obj, opt_callback) {\n for (var key in obj) {\n this.storage_.setItem(key, JSON.stringify(obj[key]));\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.removeItem = function(key, opt_callback) {\n this.storage_.removeItem(key);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.removeItems = function(ary, opt_callback) {\n for (var i = 0; i < ary.length; i++) {\n this.storage_.removeItem(ary[i]);\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n// SOURCE FILE: libdot/js/lib_storage_memory.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * In-memory storage class with an async interface that is interchangeable with\n * other lib.Storage.* implementations.\n */\nlib.Storage.Memory = function() {\n this.observers_ = [];\n this.storage_ = {};\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Memory.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Memory.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Memory.prototype.clear = function(opt_callback) {\n var e = {};\n for (var key in this.storage_) {\n e[key] = {oldValue: this.storage_[key], newValue: (void 0)};\n }\n\n this.storage_ = {};\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this), 0);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Memory.prototype.getItem = function(key, callback) {\n var value = this.storage_[key];\n\n if (typeof value == 'string') {\n try {\n value = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n }\n }\n\n setTimeout(callback.bind(null, value), 0);\n};\n\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\nlib.Storage.Memory.prototype.getItems = function(keys, callback) {\n var rv = {};\n\n for (var i = keys.length - 1; i >= 0; i--) {\n var key = keys[i];\n var value = this.storage_[key];\n if (typeof value == 'string') {\n try {\n rv[key] = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n rv[key] = value;\n }\n } else {\n keys.splice(i, 1);\n }\n }\n\n setTimeout(callback.bind(null, rv), 0);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.setItem = function(key, value, opt_callback) {\n var oldValue = this.storage_[key];\n this.storage_[key] = JSON.stringify(value);\n\n var e = {};\n e[key] = {oldValue: oldValue, newValue: value};\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this), 0);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.setItems = function(obj, opt_callback) {\n var e = {};\n\n for (var key in obj) {\n e[key] = {oldValue: this.storage_[key], newValue: obj[key]};\n this.storage_[key] = JSON.stringify(obj[key]);\n }\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this));\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.removeItem = function(key, opt_callback) {\n delete this.storage_[key];\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.removeItems = function(ary, opt_callback) {\n for (var i = 0; i < ary.length; i++) {\n delete this.storage_[ary[i]];\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n// SOURCE FILE: libdot/js/lib_test_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview JavaScript unit testing framework for synchronous and\n * asynchronous tests.\n *\n * This file contains the lib.TestManager and related classes. At the moment\n * it's all collected in a single file since it's reasonably small\n * (=~1k lines), and it's a lot easier to include one file into your test\n * harness than it is to include seven.\n *\n * The following classes are defined...\n *\n * lib.TestManager - The root class and entrypoint for creating test runs.\n * lib.TestManager.Log - Logging service.\n * lib.TestManager.Suite - A collection of tests.\n * lib.TestManager.Test - A single test.\n * lib.TestManager.TestRun - Manages the execution of a set of tests.\n * lib.TestManager.Result - A single test result.\n */\n\n/**\n * Root object in the unit test hierarchy, and keeper of the log object.\n *\n * @param {lib.TestManager.Log} opt_log Optional lib.TestManager.Log object.\n * Logs to the JavaScript console if omitted.\n */\nlib.TestManager = function(opt_log) {\n this.log = opt_log || new lib.TestManager.Log();\n}\n\n/**\n * Create a new test run object for this test manager.\n *\n * @param {Object} opt_cx An object to be passed to test suite setup(),\n * preamble(), and test cases during this test run. This object is opaque\n * to lib.TestManager.* code. It's entirely up to the test suite what it's\n * used for.\n */\nlib.TestManager.prototype.createTestRun = function(opt_cx) {\n return new lib.TestManager.TestRun(this, opt_cx);\n};\n\n/**\n * Called when a test run associated with this test manager completes.\n *\n * Clients may override this to call an appropriate function.\n */\nlib.TestManager.prototype.onTestRunComplete = function(testRun) {};\n\n/**\n * Called before a test associated with this test manager is run.\n *\n * @param {lib.TestManager.Result} result The result object for the upcoming\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.prototype.testPreamble = function(result, cx) {};\n\n/**\n * Called after a test associated with this test manager finishes.\n *\n * @param {lib.TestManager.Result} result The result object for the finished\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.prototype.testPostamble = function(result, cx) {};\n\n/**\n * Destination for test case output.\n *\n * Thw API will be the same as the console object. e.g. We support info(),\n * warn(), error(), etc... just like console.info(), etc...\n *\n * @param {Object} opt_console The console object to route all logging through.\n * Should provide saome API as the standard console API.\n */\nlib.TestManager.Log = function(opt_console=console) {\n this.save = false;\n this.data = '';\n this.prefix_ = '';\n this.prefixStack_ = 0;\n\n // Capture all the console entry points in case code at runtime calls these\n // directly. We want to be able to still see things.\n // We also expose the direct API to our callers (e.g. we provide warn()).\n this.console_ = opt_console;\n ['log', 'debug', 'info', 'warn', 'error'].forEach((level) => {\n let msgPrefix = '';\n switch (level) {\n case 'debug':\n case 'warn':\n case 'error':\n msgPrefix = level.toUpperCase() + ': ';\n break;\n }\n\n const oLog = this.console_[level];\n this[level] = this.console_[level] = (...args) => {\n if (this.save)\n this.data += this.prefix_ + msgPrefix + args.join(' ') + '\\n';\n oLog.apply(this.console_, args);\n };\n });\n\n // Wrap/bind the group functions.\n ['group', 'groupCollapsed'].forEach((group) => {\n const oGroup = this.console_[group];\n this[group] = this.console_[group] = (label='') => {\n oGroup(label);\n if (this.save)\n this.data += this.prefix_ + label + '\\n';\n this.prefix_ = ' '.repeat(++this.prefixStack_);\n };\n });\n\n const oGroupEnd = this.console_.groupEnd;\n this.groupEnd = this.console_.groupEnd = () => {\n oGroupEnd();\n this.prefix_ = ' '.repeat(--this.prefixStack_);\n };\n};\n\n/**\n * Returns a new constructor function that will inherit from\n * lib.TestManager.Suite.\n *\n * Use this function to create a new test suite subclass. It will return a\n * properly initialized constructor function for the subclass. You can then\n * override the setup() and preamble() methods if necessary and add test cases\n * to the subclass.\n *\n * var MyTests = new lib.TestManager.Suite('MyTests');\n *\n * MyTests.prototype.setup = function(cx) {\n * // Sets this.size to cx.size if it exists, or the default value of 10\n * // if not.\n * this.setDefault(cx, {size: 10});\n * };\n *\n * MyTests.prototype.preamble = function(result, cx) {\n * // Some tests (even successful ones) may side-effect this list, so\n * // recreate it before every test.\n * this.list = [];\n * for (var i = 0; i < this.size; i++) {\n * this.list[i] = i;\n * }\n * };\n *\n * // Basic synchronous test case.\n * MyTests.addTest('pop-length', function(result, cx) {\n * this.list.pop();\n *\n * // If this assertion fails, the testcase will stop here.\n * result.assertEQ(this.list.length, this.size - 1);\n *\n * // A test must indicate it has passed by calling this method.\n * result.pass();\n * });\n *\n * // Sample asynchronous test case.\n * MyTests.addTest('async-pop-length', function(result, cx) {\n * var self = this;\n *\n * var callback = function() {\n * result.assertEQ(self.list.length, self.size - 1);\n * result.pass();\n * };\n *\n * // Wait 100ms to check the array length for the sake of this example.\n * setTimeout(callback, 100);\n *\n * this.list.pop();\n *\n * // Indicate that this test needs another 200ms to complete.\n * // If the test does not report pass/fail by then, it is considered to\n * // have timed out.\n * result.requestTime(200);\n * });\n *\n * ...\n *\n * @param {string} suiteName The name of the test suite.\n */\nlib.TestManager.Suite = function(suiteName) {\n function ctor(testManager, cx) {\n this.testManager_ = testManager;\n this.suiteName = suiteName;\n\n this.setup(cx);\n }\n\n ctor.suiteName = suiteName;\n ctor.addTest = lib.TestManager.Suite.addTest;\n ctor.disableTest = lib.TestManager.Suite.disableTest;\n ctor.getTest = lib.TestManager.Suite.getTest;\n ctor.getTestList = lib.TestManager.Suite.getTestList;\n ctor.testList_ = [];\n ctor.testMap_ = {};\n ctor.prototype = Object.create(lib.TestManager.Suite.prototype);\n ctor.constructor = lib.TestManager.Suite;\n\n lib.TestManager.Suite.subclasses.push(ctor);\n\n return ctor;\n};\n\n/**\n * List of lib.TestManager.Suite subclasses, in the order they were defined.\n */\nlib.TestManager.Suite.subclasses = [];\n\n/**\n * Add a test to a lib.TestManager.Suite.\n *\n * This method is copied to new subclasses when they are created.\n */\nlib.TestManager.Suite.addTest = function(testName, testFunction) {\n if (testName in this.testMap_)\n throw 'Duplicate test name: ' + testName;\n\n var test = new lib.TestManager.Test(this, testName, testFunction);\n this.testMap_[testName] = test;\n this.testList_.push(test);\n};\n\n/**\n * Defines a disabled test.\n */\nlib.TestManager.Suite.disableTest = function(testName, testFunction) {\n if (testName in this.testMap_)\n throw 'Duplicate test name: ' + testName;\n\n var test = new lib.TestManager.Test(this, testName, testFunction);\n console.log('Disabled test: ' + test.fullName);\n};\n\n/**\n * Get a lib.TestManager.Test instance by name.\n *\n * This method is copied to new subclasses when they are created.\n *\n * @param {string} testName The name of the desired test.\n * @return {lib.TestManager.Test} The requested test, or undefined if it was not\n * found.\n */\nlib.TestManager.Suite.getTest = function(testName) {\n return this.testMap_[testName];\n};\n\n/**\n * Get an array of lib.TestManager.Tests associated with this Suite.\n *\n * This method is copied to new subclasses when they are created.\n */\nlib.TestManager.Suite.getTestList = function() {\n return this.testList_;\n};\n\n/**\n * Set properties on a test suite instance, pulling the property value from\n * the context if it exists and from the defaults dictionary if not.\n *\n * This is intended to be used in your test suite's setup() method to\n * define parameters for the test suite which may be overridden through the\n * context object. For example...\n *\n * MySuite.prototype.setup = function(cx) {\n * this.setDefaults(cx, {size: 10});\n * };\n *\n * If the context object has a 'size' property then this.size will be set to\n * the value of cx.size, otherwise this.size will get a default value of 10.\n *\n * @param {Object} cx The context object for a test run.\n * @param {Object} defaults An object containing name/value pairs to set on\n * this test suite instance. The value listed here will be used if the\n * name is not defined on the context object.\n */\nlib.TestManager.Suite.prototype.setDefaults = function(cx, defaults) {\n for (var k in defaults) {\n this[k] = (k in cx) ? cx[k] : defaults[k];\n }\n};\n\n/**\n * Subclassable method called to set up the test suite.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of suite-wide setup, this is the place to do it.\n *\n * It's fine to store state on the test suite instance, that state will be\n * accessible to all tests in the suite. If any test case fails, the entire\n * test suite object will be discarded and a new one will be created for\n * the remaining tests.\n *\n * Any side effects outside of this test suite instance must be idempotent.\n * For example, if you're adding DOM nodes to a document, make sure to first\n * test that they're not already there. If they are, remove them rather than\n * reuse them. You should not count on their state, since they were probably\n * left behind by a failed testcase.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.setup = function(cx) {};\n\n/**\n * Subclassable method called to do pre-test set up.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of pre-test setup, this is the place to do it.\n *\n * This can be used to avoid a bunch of boilerplate setup/teardown code in\n * this suite's testcases.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {lib.TestManager.Result} result The result object for the upcoming\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.preamble = function(result, cx) {};\n\n/**\n * Subclassable method called to do post-test tear-down.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of pre-test setup, this is the place to do it.\n *\n * This can be used to avoid a bunch of boilerplate setup/teardown code in\n * this suite's testcases.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {lib.TestManager.Result} result The result object for the finished\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.postamble = function(result, cx) {};\n\n/**\n * Object representing a single test in a test suite.\n *\n * These are created as part of the lib.TestManager.Suite.addTest() method.\n * You should never have to construct one by hand.\n *\n * @param {lib.TestManager.Suite} suiteClass The test suite class containing\n * this test.\n * @param {string} testName The local name of this test case, not including the\n * test suite name.\n * @param {function(lib.TestManager.Result, Object)} testFunction The function\n * to invoke for this test case. This is passed a Result instance and the\n * context object associated with the test run.\n *\n */\nlib.TestManager.Test = function(suiteClass, testName, testFunction) {\n /**\n * The test suite class containing this function.\n */\n this.suiteClass = suiteClass;\n\n /**\n * The local name of this test, not including the test suite name.\n */\n this.testName = testName;\n\n /**\n * The global name of this test, including the test suite name.\n */\n this.fullName = suiteClass.suiteName + '[' + testName + ']';\n\n // The function to call for this test.\n this.testFunction_ = testFunction;\n};\n\n/**\n * Execute this test.\n *\n * This is called by a lib.TestManager.Result instance, as part of a\n * lib.TestManager.TestRun. You should not call it by hand.\n *\n * @param {lib.TestManager.Result} result The result object for the test.\n */\nlib.TestManager.Test.prototype.run = function(result) {\n try {\n // Tests are applied to the parent lib.TestManager.Suite subclass.\n this.testFunction_.apply(result.suite,\n [result, result.testRun.cx]);\n } catch (ex) {\n if (ex instanceof lib.TestManager.Result.TestComplete)\n return;\n\n result.println('Test raised an exception: ' + ex);\n\n if (ex.stack) {\n if (ex.stack instanceof Array) {\n result.println(ex.stack.join('\\n'));\n } else {\n result.println(ex.stack);\n }\n }\n\n result.completeTest_(result.FAILED, false);\n }\n};\n\n/**\n * Used to choose a set of tests and run them.\n *\n * It's slightly more convenient to construct one of these from\n * lib.TestManager.prototype.createTestRun().\n *\n * @param {lib.TestManager} testManager The testManager associated with this\n * TestRun.\n * @param {Object} cx A context to be passed into the tests. This can be used\n * to set parameters for the test suite or individual test cases.\n */\nlib.TestManager.TestRun = function(testManager, cx) {\n /**\n * The associated lib.TestManager instance.\n */\n this.testManager = testManager;\n\n /**\n * Shortcut to the lib.TestManager's log.\n */\n this.log = testManager.log;\n\n /**\n * The test run context. It's entirely up to the test suite and test cases\n * how this is used. It is opaque to lib.TestManager.* classes.\n */\n this.cx = cx || {};\n\n /**\n * The list of test cases that encountered failures.\n */\n this.failures = [];\n\n /**\n * The list of test cases that passed.\n */\n this.passes = [];\n\n /**\n * The time the test run started, or null if it hasn't been started yet.\n */\n this.startDate = null;\n\n /**\n * The time in milliseconds that the test run took to complete, or null if\n * it hasn't completed yet.\n */\n this.duration = null;\n\n /**\n * The most recent result object, or null if the test run hasn't started\n * yet. In order to detect late failures, this is not cleared when the test\n * completes.\n */\n this.currentResult = null;\n\n /**\n * Number of maximum failures. The test run will stop when this number is\n * reached. If 0 or omitted, the entire set of selected tests is run, even\n * if some fail.\n */\n this.maxFailures = 0;\n\n /**\n * True if this test run ended early because of an unexpected condition.\n */\n this.panic = false;\n\n // List of pending test cases.\n this.testQueue_ = [];\n\n};\n\n/**\n * This value can be passed to select() to indicate that all tests should\n * be selected.\n */\nlib.TestManager.TestRun.prototype.ALL_TESTS = lib.f.createEnum('');\n\n/**\n * Add a single test to the test run.\n */\nlib.TestManager.TestRun.prototype.selectTest = function(test) {\n this.testQueue_.push(test);\n};\n\nlib.TestManager.TestRun.prototype.selectSuite = function(\n suiteClass, opt_pattern) {\n var pattern = opt_pattern || this.ALL_TESTS;\n var selectCount = 0;\n var testList = suiteClass.getTestList();\n\n for (var j = 0; j < testList.length; j++) {\n var test = testList[j];\n // Note that we're using \"!==\" rather than \"!=\" so that we're matching\n // the ALL_TESTS String object, rather than the contents of the string.\n if (pattern !== this.ALL_TESTS) {\n if (pattern instanceof RegExp) {\n if (!pattern.test(test.testName))\n continue;\n } else if (test.testName != pattern) {\n continue;\n }\n }\n\n this.selectTest(test);\n selectCount++;\n }\n\n return selectCount;\n};\n\n/**\n * Selects one or more tests to gather results for.\n *\n * Selecting the same test more than once is allowed.\n *\n * @param {string|RegExp} pattern Pattern used to select tests.\n * If TestRun.prototype.ALL_TESTS, all tests are selected.\n * If a string, only the test that exactly matches is selected.\n * If a RegExp, only tests matching the RegExp are added.\n *\n * @return {int} The number of additional tests that have been selected into\n * this TestRun.\n */\nlib.TestManager.TestRun.prototype.selectPattern = function(pattern) {\n var selectCount = 0;\n\n for (var i = 0; i < lib.TestManager.Suite.subclasses.length; i++) {\n selectCount += this.selectSuite(lib.TestManager.Suite.subclasses[i],\n pattern);\n }\n\n if (!selectCount) {\n this.log.warn('No tests matched selection criteria: ' + pattern);\n }\n\n return selectCount;\n};\n\n/**\n * Hooked up to window.onerror during a test run in order to catch exceptions\n * that would otherwise go uncaught.\n */\nlib.TestManager.TestRun.prototype.onUncaughtException_ = function(\n message, file, line) {\n\n if (message.indexOf('Uncaught lib.TestManager.Result.TestComplete') == 0 ||\n message.indexOf('status: passed') != -1) {\n // This is a result.pass() or result.fail() call from a callback. We're\n // already going to deal with it as part of the completeTest_() call\n // that raised it. We can safely squelch this error message.\n return true;\n }\n\n if (!this.currentResult)\n return;\n\n if (message == 'Uncaught ' + this.currentResult.expectedErrorMessage_) {\n // Test cases may need to raise an unhandled exception as part of the test.\n return;\n }\n\n var when = 'during';\n\n if (this.currentResult.status != this.currentResult.PENDING)\n when = 'after';\n\n this.log.error('Uncaught exception ' + when + ' test case: ' +\n this.currentResult.test.fullName);\n this.log.error(message + ', ' + file + ':' + line);\n\n this.currentResult.completeTest_(this.currentResult.FAILED, false);\n\n return false;\n};\n\n/**\n * Called to when this test run has completed.\n *\n * This method typically re-runs itself asynchronously, in order to let the\n * DOM stabilize and short-term timeouts to complete before declaring the\n * test run complete.\n *\n * @param {boolean} opt_skipTimeout If true, the timeout is skipped and the\n * test run is completed immediately. This should only be used from within\n * this function.\n */\nlib.TestManager.TestRun.prototype.onTestRunComplete_ = function(\n opt_skipTimeout) {\n if (!opt_skipTimeout) {\n // The final test may have left a lingering setTimeout(..., 0), or maybe\n // poked at the DOM in a way that will trigger a event to fire at the end\n // of this stack, so we give things a chance to settle down before our\n // final cleanup...\n setTimeout(this.onTestRunComplete_.bind(this), 0, true);\n return;\n }\n\n this.duration = (new Date()) - this.startDate;\n\n this.log.groupEnd();\n this.log.info(this.passes.length + ' passed, ' +\n this.failures.length + ' failed, ' +\n this.msToSeconds_(this.duration));\n\n this.summarize();\n\n window.onerror = null;\n\n this.testManager.onTestRunComplete(this);\n};\n\n/**\n * Called by the lib.TestManager.Result object when a test completes.\n *\n * @param {lib.TestManager.Result} result The result object which has just\n * completed.\n */\nlib.TestManager.TestRun.prototype.onResultComplete = function(result) {\n try {\n this.testManager.testPostamble(result, this.cx);\n result.suite.postamble(result, this.ctx);\n } catch (ex) {\n this.log.error('Unexpected exception in postamble: ' +\n (ex.stack ? ex.stack : ex));\n this.panic = true;\n }\n\n if (result.status != result.PASSED)\n this.log.error(result.status);\n else if (result.duration > 500)\n this.log.warn('Slow test took ' + this.msToSeconds_(result.duration));\n this.log.groupEnd();\n\n if (result.status == result.FAILED) {\n this.failures.push(result);\n this.currentSuite = null;\n } else if (result.status == result.PASSED) {\n this.passes.push(result);\n } else {\n this.log.error('Unknown result status: ' + result.test.fullName + ': ' +\n result.status);\n return this.panic = true;\n }\n\n this.runNextTest_();\n};\n\n/**\n * Called by the lib.TestManager.Result object when a test which has already\n * completed reports another completion.\n *\n * This is usually indicative of a buggy testcase. It is probably reporting a\n * result on exit and then again from an asynchronous callback.\n *\n * It may also be the case that the last act of the testcase causes a DOM change\n * which triggers some event to run after the test returns. If the event\n * handler reports a failure or raises an uncaught exception, the test will\n * fail even though it has already completed.\n *\n * In any case, re-completing a test ALWAYS moves it into the failure pile.\n *\n * @param {lib.TestManager.Result} result The result object which has just\n * completed.\n * @param {string} lateStatus The status that the test attempted to record this\n * time around.\n */\nlib.TestManager.TestRun.prototype.onResultReComplete = function(\n result, lateStatus) {\n this.log.error('Late complete for test: ' + result.test.fullName + ': ' +\n lateStatus);\n\n // Consider any late completion a failure, even if it's a double-pass, since\n // it's a misuse of the testing API.\n var index = this.passes.indexOf(result);\n if (index >= 0) {\n this.passes.splice(index, 1);\n this.failures.push(result);\n }\n};\n\n/**\n * Run the next test in the queue.\n */\nlib.TestManager.TestRun.prototype.runNextTest_ = function() {\n if (this.panic || !this.testQueue_.length)\n return this.onTestRunComplete_();\n\n if (this.maxFailures && this.failures.length >= this.maxFailures) {\n this.log.error('Maximum failure count reached, aborting test run.');\n return this.onTestRunComplete_();\n }\n\n // Peek at the top test first. We remove it later just before it's about\n // to run, so that we don't disturb the incomplete test count in the\n // event that we fail before running it.\n var test = this.testQueue_[0];\n var suite = this.currentResult ? this.currentResult.suite : null;\n\n try {\n if (!suite || !(suite instanceof test.suiteClass)) {\n if (suite)\n this.log.groupEnd();\n this.log.group(test.suiteClass.suiteName);\n suite = new test.suiteClass(this.testManager, this.cx);\n }\n } catch (ex) {\n // If test suite setup fails we're not even going to try to run the tests.\n this.log.error('Exception during setup: ' + (ex.stack ? ex.stack : ex));\n this.panic = true;\n this.onTestRunComplete_();\n return;\n }\n\n try {\n this.log.group(test.testName);\n\n this.currentResult = new lib.TestManager.Result(this, suite, test);\n this.testManager.testPreamble(this.currentResult, this.cx);\n suite.preamble(this.currentResult, this.cx);\n\n this.testQueue_.shift();\n } catch (ex) {\n this.log.error('Unexpected exception during test preamble: ' +\n (ex.stack ? ex.stack : ex));\n this.log.groupEnd();\n\n this.panic = true;\n this.onTestRunComplete_();\n return;\n }\n\n try {\n this.currentResult.run();\n } catch (ex) {\n // Result.run() should catch test exceptions and turn them into failures.\n // If we got here, it means there is trouble in the testing framework.\n this.log.error('Unexpected exception during test run: ' +\n (ex.stack ? ex.stack : ex));\n this.panic = true;\n }\n};\n\n/**\n * Run the selected list of tests.\n *\n * Some tests may need to run asynchronously, so you cannot assume the run is\n * complete when this function returns. Instead, pass in a function to be\n * called back when the run has completed.\n *\n * This function will log the results of the test run as they happen into the\n * log defined by the associated lib.TestManager. By default this is\n * console.log, which can be viewed in the JavaScript console of most browsers.\n *\n * The browser state is determined by the last test to run. We intentionally\n * don't do any cleanup so that you can inspect the state of a failed test, or\n * leave the browser ready for manual testing.\n *\n * Any failures in lib.TestManager.* code or test suite setup or test case\n * preamble will cause the test run to abort.\n */\nlib.TestManager.TestRun.prototype.run = function() {\n this.log.info('Running ' + this.testQueue_.length + ' test(s)');\n\n window.onerror = this.onUncaughtException_.bind(this);\n this.startDate = new Date();\n this.runNextTest_();\n};\n\n/**\n * Format milliseconds as fractional seconds.\n */\nlib.TestManager.TestRun.prototype.msToSeconds_ = function(ms) {\n var secs = (ms / 1000).toFixed(2);\n return secs + 's';\n};\n\n/**\n * Log the current result summary.\n */\nlib.TestManager.TestRun.prototype.summarize = function() {\n if (this.failures.length) {\n for (var i = 0; i < this.failures.length; i++) {\n this.log.error('FAILED: ' + this.failures[i].test.fullName);\n }\n }\n\n if (this.testQueue_.length) {\n this.log.warn('Test run incomplete: ' + this.testQueue_.length +\n ' test(s) were not run.');\n }\n};\n\n/**\n * Record of the result of a single test.\n *\n * These are constructed during a test run, you shouldn't have to make one\n * on your own.\n *\n * An instance of this class is passed in to each test function. It can be\n * used to add messages to the test log, to record a test pass/fail state, to\n * test assertions, or to create exception-proof wrappers for callback\n * functions.\n *\n * @param {lib.TestManager.TestRun} testRun The TestRun instance associated with\n * this result.\n * @param {lib.TestManager.Suit} suite The Suite containing the test we're\n * collecting this result for.\n * @param {lib.TestManager.Test} test The test we're collecting this result for.\n */\nlib.TestManager.Result = function(testRun, suite, test) {\n /**\n * The TestRun instance associated with this result.\n */\n this.testRun = testRun;\n\n /**\n * The Suite containing the test we're collecting this result for.\n */\n this.suite = suite;\n\n /**\n * The test we're collecting this result for.\n */\n this.test = test;\n\n /**\n * The time we started to collect this result, or null if we haven't started.\n */\n this.startDate = null;\n\n /**\n * The time in milliseconds that the test took to complete, or null if\n * it hasn't completed yet.\n */\n this.duration = null;\n\n /**\n * The current status of this test result.\n */\n this.status = this.PENDING;\n\n // An error message that the test case is expected to generate.\n this.expectedErrorMessage_ = null;\n};\n\n/**\n * Possible values for this.status.\n */\nlib.TestManager.Result.prototype.PENDING = 'pending';\nlib.TestManager.Result.prototype.FAILED = 'FAILED';\nlib.TestManager.Result.prototype.PASSED = 'passed';\n\n/**\n * Exception thrown when a test completes (pass or fail), to ensure no more of\n * the test is run.\n */\nlib.TestManager.Result.TestComplete = function(result) {\n this.result = result;\n};\n\nlib.TestManager.Result.TestComplete.prototype.toString = function() {\n return 'lib.TestManager.Result.TestComplete: ' + this.result.test.fullName +\n ', status: ' + this.result.status;\n}\n\n/**\n * Start the test associated with this result.\n */\nlib.TestManager.Result.prototype.run = function() {\n var self = this;\n\n this.startDate = new Date();\n this.test.run(this);\n\n if (this.status == this.PENDING && !this.timeout_) {\n this.println('Test did not return a value and did not request more time.');\n this.completeTest_(this.FAILED, false);\n }\n};\n\n/**\n * Unhandled error message this test expects to generate.\n *\n * This must be the exact string that would appear in the JavaScript console,\n * minus the 'Uncaught ' prefix.\n *\n * The test case does *not* automatically fail if the error message is not\n * encountered.\n */\nlib.TestManager.Result.prototype.expectErrorMessage = function(str) {\n this.expectedErrorMessage_ = str;\n};\n\n/**\n * Function called when a test times out.\n */\nlib.TestManager.Result.prototype.onTimeout_ = function() {\n this.timeout_ = null;\n\n if (this.status != this.PENDING)\n return;\n\n this.println('Test timed out.');\n this.completeTest_(this.FAILED, false);\n};\n\n/**\n * Indicate that a test case needs more time to complete.\n *\n * Before a test case returns it must report a pass/fail result, or request more\n * time to do so.\n *\n * If a test does not report pass/fail before the time expires it will\n * be reported as a timeout failure. Any late pass/fails will be noted in the\n * test log, but will not affect the final result of the test.\n *\n * Test cases may call requestTime more than once. If you have a few layers\n * of asynchronous API to go through, you should call this once per layer with\n * an estimate of how long each callback will take to complete.\n *\n * @param {int} ms Number of milliseconds requested.\n */\nlib.TestManager.Result.prototype.requestTime = function(ms) {\n if (this.timeout_)\n clearTimeout(this.timeout_);\n\n this.timeout_ = setTimeout(this.onTimeout_.bind(this), ms);\n};\n\n/**\n * Report the completion of a test.\n *\n * @param {string} status The status of the test case.\n * @param {boolean} opt_throw Optional boolean indicating whether or not\n * to throw the TestComplete exception.\n */\nlib.TestManager.Result.prototype.completeTest_ = function(status, opt_throw) {\n if (this.status == this.PENDING) {\n this.duration = (new Date()) - this.startDate;\n this.status = status;\n\n this.testRun.onResultComplete(this);\n } else {\n this.testRun.onResultReComplete(this, status);\n }\n\n if (arguments.length < 2 || opt_throw)\n throw new lib.TestManager.Result.TestComplete(this);\n};\n\n/**\n * Check that two arrays are equal.\n */\nlib.TestManager.Result.prototype.arrayEQ_ = function(actual, expected) {\n if (!actual || !expected)\n return (!actual && !expected);\n\n if (actual.length != expected.length)\n return false;\n\n for (var i = 0; i < actual.length; ++i)\n if (actual[i] != expected[i])\n return false;\n\n return true;\n};\n\n/**\n * Assert that an actual value is exactly equal to the expected value.\n *\n * This uses the JavaScript '===' operator in order to avoid type coercion.\n *\n * If the assertion fails, the test is marked as a failure and a TestCompleted\n * exception is thrown.\n *\n * @param {*} actual The actual measured value.\n * @param {*} expected The value expected.\n * @param {string} opt_name An optional name used to identify this\n * assertion in the test log. If omitted it will be the file:line\n * of the caller.\n */\nlib.TestManager.Result.prototype.assertEQ = function(\n actual, expected, opt_name) {\n // Utility function to pretty up the log.\n function format(value) {\n if (typeof value == 'number')\n return value;\n\n var str = String(value);\n var ary = str.split('\\n').map(function (e) { return JSON.stringify(e) });\n if (ary.length > 1) {\n // If the string has newlines, start it off on its own line so that\n // it's easier to compare against another string with newlines.\n return '\\n' + ary.join('\\n');\n } else {\n return ary.join('\\n');\n }\n }\n\n if (actual === expected)\n return;\n\n // Deal with common object types since JavaScript can't.\n if (expected instanceof Array)\n if (this.arrayEQ_(actual, expected))\n return;\n\n var name = opt_name ? '[' + opt_name + ']' : '';\n\n this.fail('assertEQ' + name + ': ' + this.getCallerLocation_(1) + ': ' +\n format(actual) + ' !== ' + format(expected));\n};\n\n/**\n * Assert that a value is true.\n *\n * This uses the JavaScript '===' operator in order to avoid type coercion.\n * The must be the boolean value `true`, not just some \"truish\" value.\n *\n * If the assertion fails, the test is marked as a failure and a TestCompleted\n * exception is thrown.\n *\n * @param {boolean} actual The actual measured value.\n * @param {string} opt_name An optional name used to identify this\n * assertion in the test log. If omitted it will be the file:line\n * of the caller.\n */\nlib.TestManager.Result.prototype.assert = function(actual, opt_name) {\n if (actual === true)\n return;\n\n var name = opt_name ? '[' + opt_name + ']' : '';\n\n this.fail('assert' + name + ': ' + this.getCallerLocation_(1) + ': ' +\n String(actual));\n};\n\n/**\n * Return the filename:line of a calling stack frame.\n *\n * This uses a dirty hack. It throws an exception, catches it, and examines\n * the stack property of the caught exception.\n *\n * @param {int} frameIndex The stack frame to return. 0 is the frame that\n * called this method, 1 is its caller, and so on.\n * @return {string} A string of the format \"filename:linenumber\".\n */\nlib.TestManager.Result.prototype.getCallerLocation_ = function(frameIndex) {\n try {\n throw new Error();\n } catch (ex) {\n var frame = ex.stack.split('\\n')[frameIndex + 2];\n var ary = frame.match(/([^/]+:\\d+):\\d+\\)?$/);\n return ary ? ary[1] : '???';\n }\n};\n\n/**\n * Write a message to the result log.\n */\nlib.TestManager.Result.prototype.println = function(message) {\n this.testRun.log.info(message);\n};\n\n/**\n * Mark a failed test and exit out of the rest of the test.\n *\n * This will throw a TestCompleted exception, causing the current test to stop.\n *\n * @param {string} opt_message Optional message to add to the log.\n */\nlib.TestManager.Result.prototype.fail = function(opt_message) {\n if (arguments.length)\n this.println(opt_message);\n\n this.completeTest_(this.FAILED, true);\n};\n\n/**\n * Mark a passed test and exit out of the rest of the test.\n *\n * This will throw a TestCompleted exception, causing the current test to stop.\n */\nlib.TestManager.Result.prototype.pass = function() {\n this.completeTest_(this.PASSED, true);\n};\n// SOURCE FILE: libdot/js/lib_utf8.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n// TODO(davidben): When the string encoding API is implemented,\n// replace this with the native in-browser implementation.\n//\n// https://wiki.whatwg.org/wiki/StringEncoding\n// https://encoding.spec.whatwg.org/\n\n/**\n * A stateful UTF-8 decoder.\n */\nlib.UTF8Decoder = function() {\n // The number of bytes left in the current sequence.\n this.bytesLeft = 0;\n // The in-progress code point being decoded, if bytesLeft > 0.\n this.codePoint = 0;\n // The lower bound on the final code point, if bytesLeft > 0.\n this.lowerBound = 0;\n};\n\n/**\n * Decodes a some UTF-8 data, taking into account state from previous\n * data streamed through the encoder.\n *\n * @param {String} str data to decode, represented as a JavaScript\n * String with each code unit representing a byte between 0x00 to\n * 0xFF.\n * @return {String} The data decoded into a JavaScript UTF-16 string.\n */\nlib.UTF8Decoder.prototype.decode = function(str) {\n var ret = '';\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n if (this.bytesLeft == 0) {\n if (c <= 0x7F) {\n ret += str.charAt(i);\n } else if (0xC0 <= c && c <= 0xDF) {\n this.codePoint = c - 0xC0;\n this.bytesLeft = 1;\n this.lowerBound = 0x80;\n } else if (0xE0 <= c && c <= 0xEF) {\n this.codePoint = c - 0xE0;\n this.bytesLeft = 2;\n this.lowerBound = 0x800;\n } else if (0xF0 <= c && c <= 0xF7) {\n this.codePoint = c - 0xF0;\n this.bytesLeft = 3;\n this.lowerBound = 0x10000;\n } else if (0xF8 <= c && c <= 0xFB) {\n this.codePoint = c - 0xF8;\n this.bytesLeft = 4;\n this.lowerBound = 0x200000;\n } else if (0xFC <= c && c <= 0xFD) {\n this.codePoint = c - 0xFC;\n this.bytesLeft = 5;\n this.lowerBound = 0x4000000;\n } else {\n ret += '\\ufffd';\n }\n } else {\n if (0x80 <= c && c <= 0xBF) {\n this.bytesLeft--;\n this.codePoint = (this.codePoint << 6) + (c - 0x80);\n if (this.bytesLeft == 0) {\n // Got a full sequence. Check if it's within bounds and\n // filter out surrogate pairs.\n var codePoint = this.codePoint;\n if (codePoint < this.lowerBound\n || (0xD800 <= codePoint && codePoint <= 0xDFFF)\n || codePoint > 0x10FFFF) {\n ret += '\\ufffd';\n } else {\n // Encode as UTF-16 in the output.\n if (codePoint < 0x10000) {\n ret += String.fromCharCode(codePoint);\n } else {\n // Surrogate pair.\n codePoint -= 0x10000;\n ret += String.fromCharCode(\n 0xD800 + ((codePoint >>> 10) & 0x3FF),\n 0xDC00 + (codePoint & 0x3FF));\n }\n }\n }\n } else {\n // Too few bytes in multi-byte sequence. Rewind stream so we\n // don't lose the next byte.\n ret += '\\ufffd';\n this.bytesLeft = 0;\n i--;\n }\n }\n }\n return ret;\n};\n\n/**\n * Decodes UTF-8 data. This is a convenience function for when all the\n * data is already known.\n *\n * @param {String} str data to decode, represented as a JavaScript\n * String with each code unit representing a byte between 0x00 to\n * 0xFF.\n * @return {String} The data decoded into a JavaScript UTF-16 string.\n */\nlib.decodeUTF8 = function(utf8) {\n return (new lib.UTF8Decoder()).decode(utf8);\n};\n\n/**\n * Encodes a UTF-16 string into UTF-8.\n *\n * TODO(davidben): Do we need a stateful version of this that can\n * handle a surrogate pair split in two calls? What happens if a\n * keypress event would have contained a character outside the BMP?\n *\n * @param {String} str The string to encode.\n * @return {String} The string encoded as UTF-8, as a JavaScript\n * string with bytes represented as code units from 0x00 to 0xFF.\n */\nlib.encodeUTF8 = function(str) {\n var ret = '';\n for (var i = 0; i < str.length; i++) {\n // Get a unicode code point out of str.\n var c = str.charCodeAt(i);\n if (0xDC00 <= c && c <= 0xDFFF) {\n c = 0xFFFD;\n } else if (0xD800 <= c && c <= 0xDBFF) {\n if (i+1 < str.length) {\n var d = str.charCodeAt(i+1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n // Swallow a surrogate pair.\n c = 0x10000 + ((c & 0x3FF) << 10) + (d & 0x3FF);\n i++;\n } else {\n c = 0xFFFD;\n }\n } else {\n c = 0xFFFD;\n }\n }\n\n // Encode c in UTF-8.\n var bytesLeft;\n if (c <= 0x7F) {\n ret += str.charAt(i);\n continue;\n } else if (c <= 0x7FF) {\n ret += String.fromCharCode(0xC0 | (c >>> 6));\n bytesLeft = 1;\n } else if (c <= 0xFFFF) {\n ret += String.fromCharCode(0xE0 | (c >>> 12));\n bytesLeft = 2;\n } else /* if (c <= 0x10FFFF) */ {\n ret += String.fromCharCode(0xF0 | (c >>> 18));\n bytesLeft = 3;\n }\n\n while (bytesLeft > 0) {\n bytesLeft--;\n ret += String.fromCharCode(0x80 | ((c >>> (6 * bytesLeft)) & 0x3F));\n }\n }\n return ret;\n};\n// SOURCE FILE: libdot/third_party/wcwidth/lib_wc.js\n// Copyright (c) 2014 The Chromium OS Authors. All rights reserved.\n// Use of lib.wc source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * This JavaScript library is ported from the wcwidth.js module of node.js.\n * The original implementation can be found at:\n * https://npmjs.org/package/wcwidth.js\n */\n\n/**\n * JavaScript porting of Markus Kuhn's wcwidth() implementation\n *\n * The following explanation comes from the original C implementation:\n *\n * This is an implementation of wcwidth() and wcswidth() (defined in\n * IEEE Std 1002.1-2001) for Unicode.\n *\n * http://www.opengroup.org/onlinepubs/007904975/functions/wcwidth.html\n * http://www.opengroup.org/onlinepubs/007904975/functions/wcswidth.html\n *\n * In fixed-width output devices, Latin characters all occupy a single\n * \"cell\" position of equal width, whereas ideographic CJK characters\n * occupy two such cells. Interoperability between terminal-line\n * applications and (teletype-style) character terminals using the\n * UTF-8 encoding requires agreement on which character should advance\n * the cursor by how many cell positions. No established formal\n * standards exist at present on which Unicode character shall occupy\n * how many cell positions on character terminals. These routines are\n * a first attempt of defining such behavior based on simple rules\n * applied to data provided by the Unicode Consortium.\n *\n * For some graphical characters, the Unicode standard explicitly\n * defines a character-cell width via the definition of the East Asian\n * FullWidth (F), Wide (W), Half-width (H), and Narrow (Na) classes.\n * In all these cases, there is no ambiguity about which width a\n * terminal shall use. For characters in the East Asian Ambiguous (A)\n * class, the width choice depends purely on a preference of backward\n * compatibility with either historic CJK or Western practice.\n * Choosing single-width for these characters is easy to justify as\n * the appropriate long-term solution, as the CJK practice of\n * displaying these characters as double-width comes from historic\n * implementation simplicity (8-bit encoded characters were displayed\n * single-width and 16-bit ones double-width, even for Greek,\n * Cyrillic, etc.) and not any typographic considerations.\n *\n * Much less clear is the choice of width for the Not East Asian\n * (Neutral) class. Existing practice does not dictate a width for any\n * of these characters. It would nevertheless make sense\n * typographically to allocate two character cells to characters such\n * as for instance EM SPACE or VOLUME INTEGRAL, which cannot be\n * represented adequately with a single-width glyph. The following\n * routines at present merely assign a single-cell width to all\n * neutral characters, in the interest of simplicity. This is not\n * entirely satisfactory and should be reconsidered before\n * establishing a formal standard in lib.wc area. At the moment, the\n * decision which Not East Asian (Neutral) characters should be\n * represented by double-width glyphs cannot yet be answered by\n * applying a simple rule from the Unicode database content. Setting\n * up a proper standard for the behavior of UTF-8 character terminals\n * will require a careful analysis not only of each Unicode character,\n * but also of each presentation form, something the author of these\n * routines has avoided to do so far.\n *\n * http://www.unicode.org/unicode/reports/tr11/\n *\n * Markus Kuhn -- 2007-05-26 (Unicode 5.0)\n *\n * Permission to use, copy, modify, and distribute lib.wc software\n * for any purpose and without fee is hereby granted. The author\n * disclaims all warranties with regard to lib.wc software.\n *\n * Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c\n */\n\n/**\n * The following function defines the column width of an ISO 10646 character\n * as follows:\n *\n * - The null character (U+0000) has a column width of 0.\n * - Other C0/C1 control characters and DEL will lead to a return value of -1.\n * - Non-spacing and enclosing combining characters (general category code Mn\n * or Me in the Unicode database) have a column width of 0.\n * - SOFT HYPHEN (U+00AD) has a column width of 1.\n * - Other format characters (general category code Cf in the Unicode database)\n * and ZERO WIDTH SPACE (U+200B) have a column width of 0.\n * - Hangul Jamo medial vowels and final consonants (U+1160-U+11FF) have a\n * column width of 0.\n * - Spacing characters in the East Asian Wide (W) or East Asian Full-width (F)\n * category as defined in Unicode Technical Report #11 have a column width of\n * 2.\n * - East Asian Ambiguous characters are taken into account if\n * regardCjkAmbiguous flag is enabled. They have a column width of 2.\n * - All remaining characters (including all printable ISO 8859-1 and WGL4\n * characters, Unicode control characters, etc.) have a column width of 1.\n *\n * This implementation assumes that characters are encoded in ISO 10646.\n */\n\nlib.wc = {};\n\n// Width of a nul character.\nlib.wc.nulWidth = 0;\n\n// Width of a control character.\nlib.wc.controlWidth = 0;\n\n// Flag whether to consider East Asian Ambiguous characters.\nlib.wc.regardCjkAmbiguous = false;\n\n// Width of an East Asian Ambiguous character.\nlib.wc.cjkAmbiguousWidth = 2;\n\n// Sorted list of non-overlapping intervals of non-spacing characters\n// generated by \"uniset +cat=Me +cat=Mn +cat=Cf -00AD +1160-11FF +200B c\"\nlib.wc.combining = [\n [ 0x0300, 0x036F ], [ 0x0483, 0x0486 ], [ 0x0488, 0x0489 ],\n [ 0x0591, 0x05BD ], [ 0x05BF, 0x05BF ], [ 0x05C1, 0x05C2 ],\n [ 0x05C4, 0x05C5 ], [ 0x05C7, 0x05C7 ], [ 0x0600, 0x0603 ],\n [ 0x0610, 0x0615 ], [ 0x064B, 0x065E ], [ 0x0670, 0x0670 ],\n [ 0x06D6, 0x06E4 ], [ 0x06E7, 0x06E8 ], [ 0x06EA, 0x06ED ],\n [ 0x070F, 0x070F ], [ 0x0711, 0x0711 ], [ 0x0730, 0x074A ],\n [ 0x07A6, 0x07B0 ], [ 0x07EB, 0x07F3 ], [ 0x0901, 0x0902 ],\n [ 0x093C, 0x093C ], [ 0x0941, 0x0948 ], [ 0x094D, 0x094D ],\n [ 0x0951, 0x0954 ], [ 0x0962, 0x0963 ], [ 0x0981, 0x0981 ],\n [ 0x09BC, 0x09BC ], [ 0x09C1, 0x09C4 ], [ 0x09CD, 0x09CD ],\n [ 0x09E2, 0x09E3 ], [ 0x0A01, 0x0A02 ], [ 0x0A3C, 0x0A3C ],\n [ 0x0A41, 0x0A42 ], [ 0x0A47, 0x0A48 ], [ 0x0A4B, 0x0A4D ],\n [ 0x0A70, 0x0A71 ], [ 0x0A81, 0x0A82 ], [ 0x0ABC, 0x0ABC ],\n [ 0x0AC1, 0x0AC5 ], [ 0x0AC7, 0x0AC8 ], [ 0x0ACD, 0x0ACD ],\n [ 0x0AE2, 0x0AE3 ], [ 0x0B01, 0x0B01 ], [ 0x0B3C, 0x0B3C ],\n [ 0x0B3F, 0x0B3F ], [ 0x0B41, 0x0B43 ], [ 0x0B4D, 0x0B4D ],\n [ 0x0B56, 0x0B56 ], [ 0x0B82, 0x0B82 ], [ 0x0BC0, 0x0BC0 ],\n [ 0x0BCD, 0x0BCD ], [ 0x0C3E, 0x0C40 ], [ 0x0C46, 0x0C48 ],\n [ 0x0C4A, 0x0C4D ], [ 0x0C55, 0x0C56 ], [ 0x0CBC, 0x0CBC ],\n [ 0x0CBF, 0x0CBF ], [ 0x0CC6, 0x0CC6 ], [ 0x0CCC, 0x0CCD ],\n [ 0x0CE2, 0x0CE3 ], [ 0x0D41, 0x0D43 ], [ 0x0D4D, 0x0D4D ],\n [ 0x0DCA, 0x0DCA ], [ 0x0DD2, 0x0DD4 ], [ 0x0DD6, 0x0DD6 ],\n [ 0x0E31, 0x0E31 ], [ 0x0E34, 0x0E3A ], [ 0x0E47, 0x0E4E ],\n [ 0x0EB1, 0x0EB1 ], [ 0x0EB4, 0x0EB9 ], [ 0x0EBB, 0x0EBC ],\n [ 0x0EC8, 0x0ECD ], [ 0x0F18, 0x0F19 ], [ 0x0F35, 0x0F35 ],\n [ 0x0F37, 0x0F37 ], [ 0x0F39, 0x0F39 ], [ 0x0F71, 0x0F7E ],\n [ 0x0F80, 0x0F84 ], [ 0x0F86, 0x0F87 ], [ 0x0F90, 0x0F97 ],\n [ 0x0F99, 0x0FBC ], [ 0x0FC6, 0x0FC6 ], [ 0x102D, 0x1030 ],\n [ 0x1032, 0x1032 ], [ 0x1036, 0x1037 ], [ 0x1039, 0x1039 ],\n [ 0x1058, 0x1059 ], [ 0x1160, 0x11FF ], [ 0x135F, 0x135F ],\n [ 0x1712, 0x1714 ], [ 0x1732, 0x1734 ], [ 0x1752, 0x1753 ],\n [ 0x1772, 0x1773 ], [ 0x17B4, 0x17B5 ], [ 0x17B7, 0x17BD ],\n [ 0x17C6, 0x17C6 ], [ 0x17C9, 0x17D3 ], [ 0x17DD, 0x17DD ],\n [ 0x180B, 0x180D ], [ 0x18A9, 0x18A9 ], [ 0x1920, 0x1922 ],\n [ 0x1927, 0x1928 ], [ 0x1932, 0x1932 ], [ 0x1939, 0x193B ],\n [ 0x1A17, 0x1A18 ], [ 0x1B00, 0x1B03 ], [ 0x1B34, 0x1B34 ],\n [ 0x1B36, 0x1B3A ], [ 0x1B3C, 0x1B3C ], [ 0x1B42, 0x1B42 ],\n [ 0x1B6B, 0x1B73 ], [ 0x1DC0, 0x1DCA ], [ 0x1DFE, 0x1DFF ],\n [ 0x200B, 0x200F ], [ 0x202A, 0x202E ], [ 0x2060, 0x2063 ],\n [ 0x206A, 0x206F ], [ 0x20D0, 0x20EF ], [ 0x302A, 0x302F ],\n [ 0x3099, 0x309A ], [ 0xA806, 0xA806 ], [ 0xA80B, 0xA80B ],\n [ 0xA825, 0xA826 ], [ 0xFB1E, 0xFB1E ], [ 0xFE00, 0xFE0F ],\n [ 0xFE20, 0xFE23 ], [ 0xFEFF, 0xFEFF ], [ 0xFFF9, 0xFFFB ],\n [ 0x10A01, 0x10A03 ], [ 0x10A05, 0x10A06 ], [ 0x10A0C, 0x10A0F ],\n [ 0x10A38, 0x10A3A ], [ 0x10A3F, 0x10A3F ], [ 0x1D167, 0x1D169 ],\n [ 0x1D173, 0x1D182 ], [ 0x1D185, 0x1D18B ], [ 0x1D1AA, 0x1D1AD ],\n [ 0x1D242, 0x1D244 ], [ 0xE0001, 0xE0001 ], [ 0xE0020, 0xE007F ],\n [ 0xE0100, 0xE01EF ]\n];\n\n// Sorted list of non-overlapping intervals of East Asian Ambiguous characters\n// generated by \"uniset +WIDTH-A -cat=Me -cat=Mn -cat=Cf c\"\nlib.wc.ambiguous = [\n [ 0x00A1, 0x00A1 ], [ 0x00A4, 0x00A4 ], [ 0x00A7, 0x00A8 ],\n [ 0x00AA, 0x00AA ], [ 0x00AE, 0x00AE ], [ 0x00B0, 0x00B4 ],\n [ 0x00B6, 0x00BA ], [ 0x00BC, 0x00BF ], [ 0x00C6, 0x00C6 ],\n [ 0x00D0, 0x00D0 ], [ 0x00D7, 0x00D8 ], [ 0x00DE, 0x00E1 ],\n [ 0x00E6, 0x00E6 ], [ 0x00E8, 0x00EA ], [ 0x00EC, 0x00ED ],\n [ 0x00F0, 0x00F0 ], [ 0x00F2, 0x00F3 ], [ 0x00F7, 0x00FA ],\n [ 0x00FC, 0x00FC ], [ 0x00FE, 0x00FE ], [ 0x0101, 0x0101 ],\n [ 0x0111, 0x0111 ], [ 0x0113, 0x0113 ], [ 0x011B, 0x011B ],\n [ 0x0126, 0x0127 ], [ 0x012B, 0x012B ], [ 0x0131, 0x0133 ],\n [ 0x0138, 0x0138 ], [ 0x013F, 0x0142 ], [ 0x0144, 0x0144 ],\n [ 0x0148, 0x014B ], [ 0x014D, 0x014D ], [ 0x0152, 0x0153 ],\n [ 0x0166, 0x0167 ], [ 0x016B, 0x016B ], [ 0x01CE, 0x01CE ],\n [ 0x01D0, 0x01D0 ], [ 0x01D2, 0x01D2 ], [ 0x01D4, 0x01D4 ],\n [ 0x01D6, 0x01D6 ], [ 0x01D8, 0x01D8 ], [ 0x01DA, 0x01DA ],\n [ 0x01DC, 0x01DC ], [ 0x0251, 0x0251 ], [ 0x0261, 0x0261 ],\n [ 0x02C4, 0x02C4 ], [ 0x02C7, 0x02C7 ], [ 0x02C9, 0x02CB ],\n [ 0x02CD, 0x02CD ], [ 0x02D0, 0x02D0 ], [ 0x02D8, 0x02DB ],\n [ 0x02DD, 0x02DD ], [ 0x02DF, 0x02DF ], [ 0x0391, 0x03A1 ],\n [ 0x03A3, 0x03A9 ], [ 0x03B1, 0x03C1 ], [ 0x03C3, 0x03C9 ],\n [ 0x0401, 0x0401 ], [ 0x0410, 0x044F ], [ 0x0451, 0x0451 ],\n [ 0x2010, 0x2010 ], [ 0x2013, 0x2016 ], [ 0x2018, 0x2019 ],\n [ 0x201C, 0x201D ], [ 0x2020, 0x2022 ], [ 0x2024, 0x2027 ],\n [ 0x2030, 0x2030 ], [ 0x2032, 0x2033 ], [ 0x2035, 0x2035 ],\n [ 0x203B, 0x203B ], [ 0x203E, 0x203E ], [ 0x2074, 0x2074 ],\n [ 0x207F, 0x207F ], [ 0x2081, 0x2084 ], [ 0x20AC, 0x20AC ],\n [ 0x2103, 0x2103 ], [ 0x2105, 0x2105 ], [ 0x2109, 0x2109 ],\n [ 0x2113, 0x2113 ], [ 0x2116, 0x2116 ], [ 0x2121, 0x2122 ],\n [ 0x2126, 0x2126 ], [ 0x212B, 0x212B ], [ 0x2153, 0x2154 ],\n [ 0x215B, 0x215E ], [ 0x2160, 0x216B ], [ 0x2170, 0x2179 ],\n [ 0x2190, 0x2199 ], [ 0x21B8, 0x21B9 ], [ 0x21D2, 0x21D2 ],\n [ 0x21D4, 0x21D4 ], [ 0x21E7, 0x21E7 ], [ 0x2200, 0x2200 ],\n [ 0x2202, 0x2203 ], [ 0x2207, 0x2208 ], [ 0x220B, 0x220B ],\n [ 0x220F, 0x220F ], [ 0x2211, 0x2211 ], [ 0x2215, 0x2215 ],\n [ 0x221A, 0x221A ], [ 0x221D, 0x2220 ], [ 0x2223, 0x2223 ],\n [ 0x2225, 0x2225 ], [ 0x2227, 0x222C ], [ 0x222E, 0x222E ],\n [ 0x2234, 0x2237 ], [ 0x223C, 0x223D ], [ 0x2248, 0x2248 ],\n [ 0x224C, 0x224C ], [ 0x2252, 0x2252 ], [ 0x2260, 0x2261 ],\n [ 0x2264, 0x2267 ], [ 0x226A, 0x226B ], [ 0x226E, 0x226F ],\n [ 0x2282, 0x2283 ], [ 0x2286, 0x2287 ], [ 0x2295, 0x2295 ],\n [ 0x2299, 0x2299 ], [ 0x22A5, 0x22A5 ], [ 0x22BF, 0x22BF ],\n [ 0x2312, 0x2312 ], [ 0x2460, 0x24E9 ], [ 0x24EB, 0x254B ],\n [ 0x2550, 0x2573 ], [ 0x2580, 0x258F ], [ 0x2592, 0x2595 ],\n [ 0x25A0, 0x25A1 ], [ 0x25A3, 0x25A9 ], [ 0x25B2, 0x25B3 ],\n [ 0x25B6, 0x25B7 ], [ 0x25BC, 0x25BD ], [ 0x25C0, 0x25C1 ],\n [ 0x25C6, 0x25C8 ], [ 0x25CB, 0x25CB ], [ 0x25CE, 0x25D1 ],\n [ 0x25E2, 0x25E5 ], [ 0x25EF, 0x25EF ], [ 0x2605, 0x2606 ],\n [ 0x2609, 0x2609 ], [ 0x260E, 0x260F ], [ 0x2614, 0x2615 ],\n [ 0x261C, 0x261C ], [ 0x261E, 0x261E ], [ 0x2640, 0x2640 ],\n [ 0x2642, 0x2642 ], [ 0x2660, 0x2661 ], [ 0x2663, 0x2665 ],\n [ 0x2667, 0x266A ], [ 0x266C, 0x266D ], [ 0x266F, 0x266F ],\n [ 0x273D, 0x273D ], [ 0x2776, 0x277F ], [ 0xE000, 0xF8FF ],\n [ 0xFFFD, 0xFFFD ], [ 0xF0000, 0xFFFFD ], [ 0x100000, 0x10FFFD ]\n];\n\n/**\n * Binary search to check if the given unicode character is a space character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {boolean} True if the given character is a space character; false\n * otherwise.\n */\nlib.wc.isSpace = function(ucs) {\n // Auxiliary function for binary search in interval table.\n var min = 0, max = lib.wc.combining.length - 1;\n var mid;\n\n if (ucs < lib.wc.combining[0][0] || ucs > lib.wc.combining[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > lib.wc.combining[mid][1]) {\n min = mid + 1;\n } else if (ucs < lib.wc.combining[mid][0]) {\n max = mid - 1;\n } else {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * Auxiliary function for checking if the given unicode character is a East\n * Asian Ambiguous character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {boolean} True if the given character is a East Asian Ambiguous\n * character.\n */\nlib.wc.isCjkAmbiguous = function(ucs) {\n var min = 0, max = lib.wc.ambiguous.length - 1;\n var mid;\n\n if (ucs < lib.wc.ambiguous[0][0] || ucs > lib.wc.ambiguous[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > lib.wc.ambiguous[mid][1]) {\n min = mid + 1;\n } else if (ucs < lib.wc.ambiguous[mid][0]) {\n max = mid - 1;\n } else {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * Determine the column width of the given character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidth = function(ucs) {\n if (lib.wc.regardCjkAmbiguous) {\n return lib.wc.charWidthRegardAmbiguous(ucs);\n } else {\n return lib.wc.charWidthDisregardAmbiguous(ucs);\n }\n};\n\n/**\n * Determine the column width of the given character without considering East\n * Asian Ambiguous characters.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidthDisregardAmbiguous = function(ucs) {\n // Test for 8-bit control characters.\n if (ucs === 0)\n return lib.wc.nulWidth;\n if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0))\n return lib.wc.controlWidth;\n\n // Optimize for ASCII characters.\n if (ucs < 0x7f)\n return 1;\n\n // Binary search in table of non-spacing characters.\n if (lib.wc.isSpace(ucs))\n return 0;\n\n // If we arrive here, ucs is not a combining or C0/C1 control character.\n return 1 +\n (ucs >= 0x1100 &&\n (ucs <= 0x115f || // Hangul Jamo init. consonants\n ucs == 0x2329 || ucs == 0x232a ||\n (ucs >= 0x2e80 && ucs <= 0xa4cf &&\n ucs != 0x303f) || // CJK ... Yi\n (ucs >= 0xac00 && ucs <= 0xd7a3) || // Hangul Syllables\n (ucs >= 0xf900 && ucs <= 0xfaff) || // CJK Compatibility Ideographs\n (ucs >= 0xfe10 && ucs <= 0xfe19) || // Vertical forms\n (ucs >= 0xfe30 && ucs <= 0xfe6f) || // CJK Compatibility Forms\n (ucs >= 0xff00 && ucs <= 0xff60) || // Fullwidth Forms\n (ucs >= 0xffe0 && ucs <= 0xffe6) ||\n (ucs >= 0x20000 && ucs <= 0x2fffd) ||\n (ucs >= 0x30000 && ucs <= 0x3fffd)));\n // TODO: emoji characters usually require space for wide characters although\n // East Asian width spec says nothing. Should we add special cases for them?\n};\n\n/**\n * Determine the column width of the given character considering East Asian\n * Ambiguous characters.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidthRegardAmbiguous = function(ucs) {\n if (lib.wc.isCjkAmbiguous(ucs))\n return lib.wc.cjkAmbiguousWidth;\n\n return lib.wc.charWidthDisregardAmbiguous(ucs);\n};\n\n/**\n * Determine the column width of the given string.\n *\n * @param {string} str A string.\n *\n * @return {integer} The column width of the given string.\n */\nlib.wc.strWidth = function(str) {\n var width, rv = 0;\n\n for (var i = 0; i < str.length;) {\n var codePoint = str.codePointAt(i);\n width = lib.wc.charWidth(codePoint);\n if (width < 0)\n return -1;\n rv += width;\n i += (codePoint <= 0xffff) ? 1 : 2;\n }\n\n return rv;\n};\n\n/**\n * Get the substring at the given column offset of the given column width.\n *\n * @param {string} str The string to get substring from.\n * @param {integer} start The starting column offset to get substring.\n * @param {integer} opt_width The column width of the substring.\n *\n * @return {string} The substring.\n */\nlib.wc.substr = function(str, start, opt_width) {\n var startIndex, endIndex, width;\n\n for (startIndex = 0, width = 0; startIndex < str.length; startIndex++) {\n width += lib.wc.charWidth(str.charCodeAt(startIndex));\n if (width > start)\n break;\n }\n\n if (opt_width != undefined) {\n for (endIndex = startIndex, width = 0;\n endIndex < str.length && width <= opt_width;\n width += lib.wc.charWidth(str.charCodeAt(endIndex)), endIndex++);\n if (width > opt_width)\n endIndex--;\n return str.substring(startIndex, endIndex);\n }\n\n return str.substr(startIndex);\n};\n\n/**\n * Get substring at the given start and end column offset.\n *\n * @param {string} str The string to get substring from.\n * @param {integer} start The starting column offset.\n * @param {integer} end The ending column offset.\n *\n * @return {string} The substring.\n */\nlib.wc.substring = function(str, start, end) {\n return lib.wc.substr(str, start, end - start);\n};\nlib.resource.add('libdot/changelog/version', 'text/plain',\n'1.16' +\n''\n);\n\nlib.resource.add('libdot/changelog/date', 'text/plain',\n'2017-08-16' +\n''\n);\n\n// SOURCE FILE: hterm/js/hterm.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.Storage');\n\n/**\n * @fileoverview Declares the hterm.* namespace and some basic shared utilities\n * that are too small to deserve dedicated files.\n */\nvar hterm = {};\n\n/**\n * The type of window hosting hterm.\n *\n * This is set as part of hterm.init(). The value is invalid until\n * initialization completes.\n */\nhterm.windowType = null;\n\n/**\n * Warning message to display in the terminal when browser zoom is enabled.\n *\n * You can replace it with your own localized message.\n */\nhterm.zoomWarningMessage = 'ZOOM != 100%';\n\n/**\n * Brief overlay message displayed when text is copied to the clipboard.\n *\n * By default it is the unicode BLACK SCISSORS character, but you can\n * replace it with your own localized message.\n *\n * This is only displayed when the 'enable-clipboard-notice' preference\n * is enabled.\n */\nhterm.notifyCopyMessage = '\\u2702';\n\n\n/**\n * Text shown in a desktop notification for the terminal\n * bell. \\u226a is a unicode EIGHTH NOTE, %(title) will\n * be replaced by the terminal title.\n */\nhterm.desktopNotificationTitle = '\\u266A %(title) \\u266A';\n\n/**\n * List of known hterm test suites.\n *\n * A test harness should ensure that they all exist before running.\n */\nhterm.testDeps = ['hterm.ScrollPort.Tests', 'hterm.Screen.Tests',\n 'hterm.Terminal.Tests', 'hterm.VT.Tests',\n 'hterm.VT.CannedTests'];\n\n/**\n * The hterm init function, registered with lib.registerInit().\n *\n * This is called during lib.init().\n *\n * @param {function} onInit The function lib.init() wants us to invoke when\n * initialization is complete.\n */\nlib.registerInit('hterm', function(onInit) {\n function onWindow(window) {\n hterm.windowType = window.type;\n setTimeout(onInit, 0);\n }\n\n function onTab(tab) {\n if (tab && window.chrome) {\n chrome.windows.get(tab.windowId, null, onWindow);\n } else {\n // TODO(rginda): This is where we end up for a v1 app's background page.\n // Maybe windowType = 'none' would be more appropriate, or something.\n hterm.windowType = 'normal';\n setTimeout(onInit, 0);\n }\n }\n\n if (!hterm.defaultStorage) {\n if (window.chrome && chrome.storage && chrome.storage.sync) {\n hterm.defaultStorage = new lib.Storage.Chrome(chrome.storage.sync);\n } else {\n hterm.defaultStorage = new lib.Storage.Local();\n }\n }\n\n // The chrome.tabs API is not supported in packaged apps, and detecting if\n // you're a packaged app is a little awkward.\n var isPackagedApp = false;\n if (window.chrome && chrome.runtime && chrome.runtime.getManifest) {\n var manifest = chrome.runtime.getManifest();\n isPackagedApp = manifest.app && manifest.app.background;\n }\n\n if (isPackagedApp) {\n // Packaged apps are never displayed in browser tabs.\n setTimeout(onWindow.bind(null, {type: 'popup'}), 0);\n } else {\n if (window.chrome && chrome.tabs) {\n // The getCurrent method gets the tab that is \"currently running\", not the\n // topmost or focused tab.\n chrome.tabs.getCurrent(onTab);\n } else {\n setTimeout(onWindow.bind(null, {type: 'normal'}), 0);\n }\n }\n});\n\n/**\n * Return decimal { width, height } for a given dom node.\n */\nhterm.getClientSize = function(dom) {\n return dom.getBoundingClientRect();\n};\n\n/**\n * Return decimal width for a given dom node.\n */\nhterm.getClientWidth = function(dom) {\n return dom.getBoundingClientRect().width;\n};\n\n/**\n * Return decimal height for a given dom node.\n */\nhterm.getClientHeight = function(dom) {\n return dom.getBoundingClientRect().height;\n};\n\n/**\n * Copy the current selection to the system clipboard.\n *\n * @param {HTMLDocument} The document with the selection to copy.\n */\nhterm.copySelectionToClipboard = function(document) {\n try {\n document.execCommand('copy');\n } catch (firefoxException) {\n // Ignore this. FF throws an exception if there was an error, even though\n // the spec says just return false.\n }\n};\n\n/**\n * Paste the system clipboard into the element with focus.\n *\n * Note: In Chrome/Firefox app/extension environments, you'll need the\n * \"clipboardRead\" permission. In other environments, this might always\n * fail as the browser frequently blocks access for security reasons.\n *\n * @param {HTMLDocument} The document to paste into.\n * @return {boolean} True if the paste succeeded.\n */\nhterm.pasteFromClipboard = function(document) {\n try {\n return document.execCommand('paste');\n } catch (firefoxException) {\n // Ignore this. FF 40 and older would incorrectly throw an exception if\n // there was an error instead of returning false.\n return false;\n }\n};\n\n/**\n * Create a new notification.\n *\n * @param {Object} params Various parameters for the notification.\n * @param {string} params.title The title (defaults to the window's title).\n * @param {string} params.body The message body (main text).\n */\nhterm.notify = function(params) {\n var def = (curr, fallback) => curr !== undefined ? curr : fallback;\n if (params === undefined || params === null)\n params = {};\n\n // Merge the user's choices with the default settings. We don't take it\n // directly in case it was stuffed with excess junk.\n var options = {\n 'body': params.body,\n 'icon': def(params.icon, lib.resource.getDataUrl('hterm/images/icon-96')),\n }\n\n var title = def(params.title, window.document.title);\n if (!title)\n title = 'hterm';\n title = lib.f.replaceVars(hterm.desktopNotificationTitle, {'title': title});\n\n var n = new Notification(title, options);\n n.onclick = function() {\n window.focus();\n this.close();\n };\n return n;\n};\n\n/**\n * Constructor for a hterm.Size record.\n *\n * Instances of this class have public read/write members for width and height.\n *\n * @param {integer} width The width of this record.\n * @param {integer} height The height of this record.\n */\nhterm.Size = function(width, height) {\n this.width = width;\n this.height = height;\n};\n\n/**\n * Adjust the width and height of this record.\n *\n * @param {integer} width The new width of this record.\n * @param {integer} height The new height of this record.\n */\nhterm.Size.prototype.resize = function(width, height) {\n this.width = width;\n this.height = height;\n};\n\n/**\n * Return a copy of this record.\n *\n * @return {hterm.Size} A new hterm.Size instance with the same width and\n * height.\n */\nhterm.Size.prototype.clone = function() {\n return new hterm.Size(this.width, this.height);\n};\n\n/**\n * Set the height and width of this instance based on another hterm.Size.\n *\n * @param {hterm.Size} that The object to copy from.\n */\nhterm.Size.prototype.setTo = function(that) {\n this.width = that.width;\n this.height = that.height;\n};\n\n/**\n * Test if another hterm.Size instance is equal to this one.\n *\n * @param {hterm.Size} that The other hterm.Size instance.\n * @return {boolean} True if both instances have the same width/height, false\n * otherwise.\n */\nhterm.Size.prototype.equals = function(that) {\n return this.width == that.width && this.height == that.height;\n};\n\n/**\n * Return a string representation of this instance.\n *\n * @return {string} A string that identifies the width and height of this\n * instance.\n */\nhterm.Size.prototype.toString = function() {\n return '[hterm.Size: ' + this.width + ', ' + this.height + ']';\n};\n\n/**\n * Constructor for a hterm.RowCol record.\n *\n * Instances of this class have public read/write members for row and column.\n *\n * This class includes an 'overflow' bit which is use to indicate that an\n * attempt has been made to move the cursor column passed the end of the\n * screen. When this happens we leave the cursor column set to the last column\n * of the screen but set the overflow bit. In this state cursor movement\n * happens normally, but any attempt to print new characters causes a cr/lf\n * first.\n *\n * @param {integer} row The row of this record.\n * @param {integer} column The column of this record.\n * @param {boolean} opt_overflow Optional boolean indicating that the RowCol\n * has overflowed.\n */\nhterm.RowCol = function(row, column, opt_overflow) {\n this.row = row;\n this.column = column;\n this.overflow = !!opt_overflow;\n};\n\n/**\n * Adjust the row and column of this record.\n *\n * @param {integer} row The new row of this record.\n * @param {integer} column The new column of this record.\n * @param {boolean} opt_overflow Optional boolean indicating that the RowCol\n * has overflowed.\n */\nhterm.RowCol.prototype.move = function(row, column, opt_overflow) {\n this.row = row;\n this.column = column;\n this.overflow = !!opt_overflow;\n};\n\n/**\n * Return a copy of this record.\n *\n * @return {hterm.RowCol} A new hterm.RowCol instance with the same row and\n * column.\n */\nhterm.RowCol.prototype.clone = function() {\n return new hterm.RowCol(this.row, this.column, this.overflow);\n};\n\n/**\n * Set the row and column of this instance based on another hterm.RowCol.\n *\n * @param {hterm.RowCol} that The object to copy from.\n */\nhterm.RowCol.prototype.setTo = function(that) {\n this.row = that.row;\n this.column = that.column;\n this.overflow = that.overflow;\n};\n\n/**\n * Test if another hterm.RowCol instance is equal to this one.\n *\n * @param {hterm.RowCol} that The other hterm.RowCol instance.\n * @return {boolean} True if both instances have the same row/column, false\n * otherwise.\n */\nhterm.RowCol.prototype.equals = function(that) {\n return (this.row == that.row && this.column == that.column &&\n this.overflow == that.overflow);\n};\n\n/**\n * Return a string representation of this instance.\n *\n * @return {string} A string that identifies the row and column of this\n * instance.\n */\nhterm.RowCol.prototype.toString = function() {\n return ('[hterm.RowCol: ' + this.row + ', ' + this.column + ', ' +\n this.overflow + ']');\n};\n// SOURCE FILE: hterm/js/hterm_frame.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f');\n\n/**\n * First draft of the interface between the terminal and a third party dialog.\n *\n * This is rough. It's just the terminal->dialog layer. To complete things\n * we'll also need a command->terminal layer. That will have to facilitate\n * command->terminal->dialog or direct command->dialog communication.\n *\n * I imagine this class will change significantly when that happens.\n */\n\n/**\n * Construct a new frame for the given terminal.\n *\n * @param terminal {hterm.Terminal} The parent terminal object.\n * @param url {String} The url to load in the frame.\n * @param opt_options {Object} Optional options for the frame. Not implemented.\n */\nhterm.Frame = function(terminal, url, opt_options) {\n this.terminal_ = terminal;\n this.div_ = terminal.div_;\n this.url = url;\n this.options = opt_options || {};\n this.iframe_ = null;\n this.container_ = null;\n this.messageChannel_ = null;\n};\n\n/**\n * Handle messages from the iframe.\n */\nhterm.Frame.prototype.onMessage_ = function(e) {\n switch (e.data.name) {\n case 'ipc-init-ok':\n // We get this response after we send them ipc-init and they finish.\n this.sendTerminalInfo_();\n return;\n case 'terminal-info-ok':\n // We get this response after we send them terminal-info and they finish.\n // Show the finished frame, and then rebind our message handler to the\n // callback below.\n this.container_.style.display = 'flex';\n this.messageChannel_.port1.onmessage = this.onMessage.bind(this);\n this.onLoad();\n return;\n default:\n console.log('Unknown message from frame:', e.data);\n return;\n }\n};\n\n/**\n * Clients could override this, I guess.\n *\n * It doesn't support multiple listeners, but I'm not sure that would make sense\n * here. It's probably better to speak directly to our parents.\n */\nhterm.Frame.prototype.onMessage = function() {};\n\n/**\n * Handle iframe onLoad event.\n */\nhterm.Frame.prototype.onLoad_ = function() {\n this.messageChannel_ = new MessageChannel();\n this.messageChannel_.port1.onmessage = this.onMessage_.bind(this);\n this.messageChannel_.port1.start();\n this.iframe_.contentWindow.postMessage(\n {name: 'ipc-init', argv: [{messagePort: this.messageChannel_.port2}]},\n this.url, [this.messageChannel_.port2]);\n};\n\n/**\n * Clients may override this.\n */\nhterm.Frame.prototype.onLoad = function() {};\n\n/**\n * Sends the terminal-info message to the iframe.\n */\nhterm.Frame.prototype.sendTerminalInfo_ = function() {\n lib.f.getAcceptLanguages(function(languages) {\n this.postMessage('terminal-info', [{\n acceptLanguages: languages,\n foregroundColor: this.terminal_.getForegroundColor(),\n backgroundColor: this.terminal_.getBackgroundColor(),\n cursorColor: this.terminal_.getCursorColor(),\n fontSize: this.terminal_.getFontSize(),\n fontFamily: this.terminal_.getFontFamily(),\n baseURL: lib.f.getURL('/')\n }]\n );\n }.bind(this));\n};\n\n/**\n * User clicked the close button on the frame decoration.\n */\nhterm.Frame.prototype.onCloseClicked_ = function() {\n this.close();\n};\n\n/**\n * Close this frame.\n */\nhterm.Frame.prototype.close = function() {\n if (!this.container_ || !this.container_.parentNode)\n return;\n\n this.container_.parentNode.removeChild(this.container_);\n this.onClose();\n};\n\n\n/**\n * Clients may override this.\n */\nhterm.Frame.prototype.onClose = function() {};\n\n/**\n * Send a message to the iframe.\n */\nhterm.Frame.prototype.postMessage = function(name, argv) {\n if (!this.messageChannel_)\n throw new Error('Message channel is not set up.');\n\n this.messageChannel_.port1.postMessage({name: name, argv: argv});\n};\n\n/**\n * Show the UI for this frame.\n *\n * The iframe src is not loaded until this method is called.\n */\nhterm.Frame.prototype.show = function() {\n var self = this;\n\n function opt(name, defaultValue) {\n if (name in self.options)\n return self.options[name];\n\n return defaultValue;\n }\n\n var self = this;\n\n if (this.container_ && this.container_.parentNode) {\n console.error('Frame already visible');\n return;\n }\n\n var headerHeight = '16px';\n\n var divSize = hterm.getClientSize(this.div_);\n\n var width = opt('width', 640);\n var height = opt('height', 480);\n var left = (divSize.width - width) / 2;\n var top = (divSize.height - height) / 2;\n\n var document = this.terminal_.document_;\n\n var container = this.container_ = document.createElement('div');\n container.style.cssText = (\n 'position: absolute;' +\n 'display: none;' +\n 'flex-direction: column;' +\n 'top: 10%;' +\n 'left: 4%;' +\n 'width: 90%;' +\n 'height: 80%;' +\n 'min-height: 20%;' +\n 'max-height: 80%;' +\n 'box-shadow: 0 0 2px ' + this.terminal_.getForegroundColor() + ';' +\n 'border: 2px ' + this.terminal_.getForegroundColor() + ' solid;');\n\n if (false) {\n // No use for the close button, so no use for the window header either.\n var header = document.createElement('div');\n header.style.cssText = (\n 'display: flex;' +\n 'justify-content: flex-end;' +\n 'height: ' + headerHeight + ';' +\n 'background-color: ' + this.terminal_.getForegroundColor() + ';' +\n 'color: ' + this.terminal_.getBackgroundColor() + ';' +\n 'font-size: 16px;' +\n 'font-family: ' + this.terminal_.getFontFamily());\n container.appendChild(header);\n\n var button = document.createElement('div');\n button.setAttribute('role', 'button');\n button.style.cssText = (\n 'margin-top: -3px;' +\n 'margin-right: 3px;' +\n 'cursor: pointer;');\n button.textContent = '\\u2a2f';\n button.addEventListener('click', this.onCloseClicked_.bind(this));\n header.appendChild(button);\n }\n\n var iframe = this.iframe_ = document.createElement('iframe');\n iframe.onload = this.onLoad_.bind(this);\n iframe.style.cssText = (\n 'display: flex;' +\n 'flex: 1;' +\n 'width: 100%');\n iframe.setAttribute('src', this.url);\n iframe.setAttribute('seamless', true);\n container.appendChild(iframe);\n\n this.div_.appendChild(container);\n};\n// SOURCE FILE: hterm/js/hterm_keyboard.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyMap');\n\n/**\n * Keyboard handler.\n *\n * Consumes onKey* events and invokes onVTKeystroke on the associated\n * hterm.Terminal object.\n *\n * See also: [XTERM] as referenced in vt.js.\n *\n * @param {hterm.Terminal} The Terminal object associated with this keyboard.\n */\nhterm.Keyboard = function(terminal) {\n // The parent vt interpreter.\n this.terminal = terminal;\n\n // The element we're currently capturing keyboard events for.\n this.keyboardElement_ = null;\n\n // The event handlers we are interested in, and their bound callbacks, saved\n // so they can be uninstalled with removeEventListener, when required.\n this.handlers_ = [\n ['focusout', this.onFocusOut_.bind(this)],\n ['keydown', this.onKeyDown_.bind(this)],\n ['keypress', this.onKeyPress_.bind(this)],\n ['keyup', this.onKeyUp_.bind(this)],\n ['textInput', this.onTextInput_.bind(this)]\n ];\n\n /**\n * The current key map.\n */\n this.keyMap = new hterm.Keyboard.KeyMap(this);\n\n this.bindings = new hterm.Keyboard.Bindings(this);\n\n /**\n * none: Disable any AltGr related munging.\n * ctrl-alt: Assume Ctrl+Alt means AltGr.\n * left-alt: Assume left Alt means AltGr.\n * right-alt: Assume right Alt means AltGr.\n */\n this.altGrMode = 'none';\n\n /**\n * If true, Shift-Insert will fall through to the browser as a paste.\n * If false, the keystroke will be sent to the host.\n */\n this.shiftInsertPaste = true;\n\n /**\n * If true, home/end will control the terminal scrollbar and shift home/end\n * will send the VT keycodes. If false then home/end sends VT codes and\n * shift home/end scrolls.\n */\n this.homeKeysScroll = false;\n\n /**\n * Same as above, except for page up/page down.\n */\n this.pageKeysScroll = false;\n\n /**\n * If true, Ctrl-Plus/Minus/Zero controls zoom.\n * If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_,\n * Ctrl-Plus/Zero do nothing.\n */\n this.ctrlPlusMinusZeroZoom = true;\n\n /**\n * Ctrl+C copies if true, sends ^C to host if false.\n * Ctrl+Shift+C sends ^C to host if true, copies if false.\n */\n this.ctrlCCopy = false;\n\n /**\n * Ctrl+V pastes if true, sends ^V to host if false.\n * Ctrl+Shift+V sends ^V to host if true, pastes if false.\n */\n this.ctrlVPaste = false;\n\n /**\n * Enable/disable application keypad.\n *\n * This changes the way numeric keys are sent from the keyboard.\n */\n this.applicationKeypad = false;\n\n /**\n * Enable/disable the application cursor mode.\n *\n * This changes the way cursor keys are sent from the keyboard.\n */\n this.applicationCursor = false;\n\n /**\n * If true, the backspace should send BS ('\\x08', aka ^H). Otherwise\n * the backspace key should send '\\x7f'.\n */\n this.backspaceSendsBackspace = false;\n\n /**\n * The encoding method for data sent to the host.\n */\n this.characterEncoding = 'utf-8';\n\n /**\n * Set whether the meta key sends a leading escape or not.\n */\n this.metaSendsEscape = true;\n\n /**\n * Set whether meta-V gets passed to host.\n */\n this.passMetaV = true;\n\n /**\n * Controls how the alt key is handled.\n *\n * escape....... Send an ESC prefix.\n * 8-bit........ Add 128 to the unshifted character as in xterm.\n * browser-key.. Wait for the keypress event and see what the browser says.\n * (This won't work well on platforms where the browser\n * performs a default action for some alt sequences.)\n *\n * This setting only matters when alt is distinct from meta (altIsMeta is\n * false.)\n */\n this.altSendsWhat = 'escape';\n\n /**\n * Set whether the alt key acts as a meta key, instead of producing 8-bit\n * characters.\n *\n * True to enable, false to disable, null to autodetect based on platform.\n */\n this.altIsMeta = false;\n\n /**\n * If true, tries to detect DEL key events that are from alt-backspace on\n * Chrome OS vs from a true DEL key press.\n *\n * Background: At the time of writing, on Chrome OS, alt-backspace is mapped\n * to DEL. Some users may be happy with this, but others may be frustrated\n * that it's impossible to do meta-backspace. If the user enables this pref,\n * we use a trick to tell a true DEL keypress from alt-backspace: on\n * alt-backspace, we will see the alt key go down, then get a DEL keystroke\n * that indicates that alt is not pressed. See https://crbug.com/174410 .\n */\n this.altBackspaceIsMetaBackspace = false;\n\n /**\n * Used to keep track of the current alt-key state, which is necessary for\n * the altBackspaceIsMetaBackspace preference above and for the altGrMode\n * preference. This is a bitmap with where bit positions correspond to the\n * \"location\" property of the key event.\n */\n this.altKeyPressed = 0;\n\n /**\n * If true, Chrome OS media keys will be mapped to their F-key equivalent.\n * E.g. \"Back\" will be mapped to F1. If false, Chrome will handle the keys.\n */\n this.mediaKeysAreFKeys = false;\n\n /**\n * Holds the previous setting of altSendsWhat when DECSET 1039 is used. When\n * DECRST 1039 is used, altSendsWhat is changed back to this and this is\n * nulled out.\n */\n this.previousAltSendsWhat_ = null;\n};\n\n/**\n * Special handling for keyCodes in a keyboard layout.\n */\nhterm.Keyboard.KeyActions = {\n /**\n * Call preventDefault and stopPropagation for this key event and nothing\n * else.\n */\n CANCEL: lib.f.createEnum('CANCEL'),\n\n /**\n * This performs the default terminal action for the key. If used in the\n * 'normal' action and the the keystroke represents a printable key, the\n * character will be sent to the host. If used in one of the modifier\n * actions, the terminal will perform the normal action after (possibly)\n * altering it.\n *\n * - If the normal sequence starts with CSI, the sequence will be adjusted\n * to include the modifier parameter as described in [XTERM] in the final\n * table of the \"PC-Style Function Keys\" section.\n *\n * - If the control key is down and the key represents a printable character,\n * and the uppercase version of the unshifted keycap is between\n * 64 (ASCII '@') and 95 (ASCII '_'), then the uppercase version of the\n * unshifted keycap minus 64 is sent. This makes '^@' send '\\x00' and\n * '^_' send '\\x1f'. (Note that one higher that 0x1f is 0x20, which is\n * the first printable ASCII value.)\n *\n * - If the alt key is down and the key represents a printable character then\n * the value of the character is shifted up by 128.\n *\n * - If meta is down and configured to send an escape, '\\x1b' will be sent\n * before the normal action is performed.\n */\n DEFAULT: lib.f.createEnum('DEFAULT'),\n\n /**\n * Causes the terminal to opt out of handling the key event, instead letting\n * the browser deal with it.\n */\n PASS: lib.f.createEnum('PASS'),\n\n /**\n * Insert the first or second character of the keyCap, based on e.shiftKey.\n * The key will be handled in onKeyDown, and e.preventDefault() will be\n * called.\n *\n * It is useful for a modified key action, where it essentially strips the\n * modifier while preventing the browser from reacting to the key.\n */\n STRIP: lib.f.createEnum('STRIP')\n};\n\n/**\n * Encode a string according to the 'send-encoding' preference.\n */\nhterm.Keyboard.prototype.encode = function(str) {\n if (this.characterEncoding == 'utf-8')\n return this.terminal.vt.encodeUTF8(str);\n\n return str;\n};\n\n/**\n * Capture keyboard events sent to the associated element.\n *\n * This enables the keyboard. Captured events are consumed by this class\n * and will not perform their default action or bubble to other elements.\n *\n * Passing a null element will uninstall the keyboard handlers.\n *\n * @param {HTMLElement} element The element whose events should be captured, or\n * null to disable the keyboard.\n */\nhterm.Keyboard.prototype.installKeyboard = function(element) {\n if (element == this.keyboardElement_)\n return;\n\n if (element && this.keyboardElement_)\n this.installKeyboard(null);\n\n for (var i = 0; i < this.handlers_.length; i++) {\n var handler = this.handlers_[i];\n if (element) {\n element.addEventListener(handler[0], handler[1]);\n } else {\n this.keyboardElement_.removeEventListener(handler[0], handler[1]);\n }\n }\n\n this.keyboardElement_ = element;\n};\n\n/**\n * Disable keyboard event capture.\n *\n * This will allow the browser to process key events normally.\n */\nhterm.Keyboard.prototype.uninstallKeyboard = function() {\n this.installKeyboard(null);\n};\n\n/**\n * Handle onTextInput events.\n *\n * We're not actually supposed to get these, but we do on the Mac in the case\n * where a third party app sends synthetic keystrokes to Chrome.\n */\nhterm.Keyboard.prototype.onTextInput_ = function(e) {\n if (!e.data)\n return;\n\n e.data.split('').forEach(this.terminal.onVTKeystroke.bind(this.terminal));\n};\n\n/**\n * Handle onKeyPress events.\n */\nhterm.Keyboard.prototype.onKeyPress_ = function(e) {\n var code;\n\n var key = String.fromCharCode(e.which);\n var lowerKey = key.toLowerCase();\n if ((e.ctrlKey || e.metaKey) && (lowerKey == 'c' || lowerKey == 'v')) {\n // On FF the key press (not key down) event gets fired for copy/paste.\n // Let it fall through for the default browser behavior.\n return;\n }\n\n if (e.altKey && this.altSendsWhat == 'browser-key' && e.charCode == 0) {\n // If we got here because we were expecting the browser to handle an\n // alt sequence but it didn't do it, then we might be on an OS without\n // an enabled IME system. In that case we fall back to xterm-like\n // behavior.\n //\n // This happens here only as a fallback. Typically these platforms should\n // set altSendsWhat to either 'escape' or '8-bit'.\n var ch = String.fromCharCode(e.keyCode);\n if (!e.shiftKey)\n ch = ch.toLowerCase();\n code = ch.charCodeAt(0) + 128;\n\n } else if (e.charCode >= 32) {\n ch = e.charCode;\n }\n\n if (ch)\n this.terminal.onVTKeystroke(String.fromCharCode(ch));\n\n e.preventDefault();\n e.stopPropagation();\n};\n\n/**\n * Prevent default handling for non-ctrl-shifted event.\n *\n * When combined with Chrome permission 'app.window.fullscreen.overrideEsc',\n * and called for both key down and key up events,\n * the ESC key remains usable within fullscreen Chrome app windows.\n */\nhterm.Keyboard.prototype.preventChromeAppNonCtrlShiftDefault_ = function(e) {\n if (!window.chrome || !window.chrome.app || !window.chrome.app.window)\n return;\n if (!e.ctrlKey || !e.shiftKey)\n e.preventDefault();\n};\n\nhterm.Keyboard.prototype.onFocusOut_ = function(e) {\n this.altKeyPressed = 0;\n};\n\nhterm.Keyboard.prototype.onKeyUp_ = function(e) {\n if (e.keyCode == 18)\n this.altKeyPressed = this.altKeyPressed & ~(1 << (e.location - 1));\n\n if (e.keyCode == 27)\n this.preventChromeAppNonCtrlShiftDefault_(e);\n};\n\n/**\n * Handle onKeyDown events.\n */\nhterm.Keyboard.prototype.onKeyDown_ = function(e) {\n if (e.keyCode == 18)\n this.altKeyPressed = this.altKeyPressed | (1 << (e.location - 1));\n\n if (e.keyCode == 27)\n this.preventChromeAppNonCtrlShiftDefault_(e);\n\n var keyDef = this.keyMap.keyDefs[e.keyCode];\n if (!keyDef) {\n console.warn('No definition for keyCode: ' + e.keyCode);\n return;\n }\n\n // The type of action we're going to use.\n var resolvedActionType = null;\n\n var self = this;\n function getAction(name) {\n // Get the key action for the given action name. If the action is a\n // function, dispatch it. If the action defers to the normal action,\n // resolve that instead.\n\n resolvedActionType = name;\n\n var action = keyDef[name];\n if (typeof action == 'function')\n action = action.apply(self.keyMap, [e, keyDef]);\n\n if (action === DEFAULT && name != 'normal')\n action = getAction('normal');\n\n return action;\n }\n\n // Note that we use the triple-equals ('===') operator to test equality for\n // these constants, in order to distinguish usage of the constant from usage\n // of a literal string that happens to contain the same bytes.\n var CANCEL = hterm.Keyboard.KeyActions.CANCEL;\n var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT;\n var PASS = hterm.Keyboard.KeyActions.PASS;\n var STRIP = hterm.Keyboard.KeyActions.STRIP;\n\n var control = e.ctrlKey;\n var alt = this.altIsMeta ? false : e.altKey;\n var meta = this.altIsMeta ? (e.altKey || e.metaKey) : e.metaKey;\n\n // In the key-map, we surround the keyCap for non-printables in \"[...]\"\n var isPrintable = !(/^\\[\\w+\\]$/.test(keyDef.keyCap));\n\n switch (this.altGrMode) {\n case 'ctrl-alt':\n if (isPrintable && control && alt) {\n // ctrl-alt-printable means altGr. We clear out the control and\n // alt modifiers and wait to see the charCode in the keydown event.\n control = false;\n alt = false;\n }\n break;\n\n case 'right-alt':\n if (isPrintable && (this.terminal.keyboard.altKeyPressed & 2)) {\n control = false;\n alt = false;\n }\n break;\n\n case 'left-alt':\n if (isPrintable && (this.terminal.keyboard.altKeyPressed & 1)) {\n control = false;\n alt = false;\n }\n break;\n }\n\n var action;\n\n if (control) {\n action = getAction('control');\n } else if (alt) {\n action = getAction('alt');\n } else if (meta) {\n action = getAction('meta');\n } else {\n action = getAction('normal');\n }\n\n // If e.maskShiftKey was set (during getAction) it means the shift key is\n // already accounted for in the action, and we should not act on it any\n // further. This is currently only used for Ctrl-Shift-Tab, which should send\n // \"CSI Z\", not \"CSI 1 ; 2 Z\".\n var shift = !e.maskShiftKey && e.shiftKey;\n\n var keyDown = {\n keyCode: e.keyCode,\n shift: e.shiftKey, // not `var shift` from above.\n ctrl: control,\n alt: alt,\n meta: meta\n };\n\n var binding = this.bindings.getBinding(keyDown);\n\n if (binding) {\n // Clear out the modifier bits so we don't try to munge the sequence\n // further.\n shift = control = alt = meta = false;\n resolvedActionType = 'normal';\n action = binding.action;\n\n if (typeof action == 'function')\n action = action.call(this, this.terminal, keyDown);\n }\n\n if (alt && this.altSendsWhat == 'browser-key' && action == DEFAULT) {\n // When altSendsWhat is 'browser-key', we wait for the keypress event.\n // In keypress, the browser should have set the event.charCode to the\n // appropriate character.\n // TODO(rginda): Character compositions will need some black magic.\n action = PASS;\n }\n\n if (action === PASS || (action === DEFAULT && !(control || alt || meta))) {\n // If this key is supposed to be handled by the browser, or it is an\n // unmodified key with the default action, then exit this event handler.\n // If it's an unmodified key, it'll be handled in onKeyPress where we\n // can tell for sure which ASCII code to insert.\n //\n // This block needs to come before the STRIP test, otherwise we'll strip\n // the modifier and think it's ok to let the browser handle the keypress.\n // The browser won't know we're trying to ignore the modifiers and might\n // perform some default action.\n return;\n }\n\n if (action === STRIP) {\n alt = control = false;\n action = keyDef.normal;\n if (typeof action == 'function')\n action = action.apply(this.keyMap, [e, keyDef]);\n\n if (action == DEFAULT && keyDef.keyCap.length == 2)\n action = keyDef.keyCap.substr((shift ? 1 : 0), 1);\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n if (action === CANCEL)\n return;\n\n if (action !== DEFAULT && typeof action != 'string') {\n console.warn('Invalid action: ' + JSON.stringify(action));\n return;\n }\n\n // Strip the modifier that is associated with the action, since we assume that\n // modifier has already been accounted for in the action.\n if (resolvedActionType == 'control') {\n control = false;\n } else if (resolvedActionType == 'alt') {\n alt = false;\n } else if (resolvedActionType == 'meta') {\n meta = false;\n }\n\n if (action.substr(0, 2) == '\\x1b[' && (alt || control || shift)) {\n // The action is an escape sequence that and it was triggered in the\n // presence of a keyboard modifier, we may need to alter the action to\n // include the modifier before sending it.\n\n var mod;\n\n if (shift && !(alt || control)) {\n mod = ';2';\n } else if (alt && !(shift || control)) {\n mod = ';3';\n } else if (shift && alt && !control) {\n mod = ';4';\n } else if (control && !(shift || alt)) {\n mod = ';5';\n } else if (shift && control && !alt) {\n mod = ';6';\n } else if (alt && control && !shift) {\n mod = ';7';\n } else if (shift && alt && control) {\n mod = ';8';\n }\n\n if (action.length == 3) {\n // Some of the CSI sequences have zero parameters unless modified.\n action = '\\x1b[1' + mod + action.substr(2, 1);\n } else {\n // Others always have at least one parameter.\n action = action.substr(0, action.length - 1) + mod +\n action.substr(action.length - 1);\n }\n\n } else {\n if (action === DEFAULT) {\n action = keyDef.keyCap.substr((shift ? 1 : 0), 1);\n\n if (control) {\n var unshifted = keyDef.keyCap.substr(0, 1);\n var code = unshifted.charCodeAt(0);\n if (code >= 64 && code <= 95) {\n action = String.fromCharCode(code - 64);\n }\n }\n }\n\n if (alt && this.altSendsWhat == '8-bit' && action.length == 1) {\n var code = action.charCodeAt(0) + 128;\n action = String.fromCharCode(code);\n }\n\n // We respect alt/metaSendsEscape even if the keymap action was a literal\n // string. Otherwise, every overridden alt/meta action would have to\n // check alt/metaSendsEscape.\n if ((alt && this.altSendsWhat == 'escape') ||\n (meta && this.metaSendsEscape)) {\n action = '\\x1b' + action;\n }\n }\n\n this.terminal.onVTKeystroke(action);\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_bindings.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * A mapping from hterm.Keyboard.KeyPattern to an action.\n *\n * TODO(rginda): For now this bindings code is only used for user overrides.\n * hterm.Keyboard.KeyMap still handles all of the built-in key mappings.\n * It'd be nice if we migrated that over to be hterm.Keyboard.Bindings based.\n */\nhterm.Keyboard.Bindings = function() {\n this.bindings_ = {};\n};\n\n/**\n * Remove all bindings.\n */\nhterm.Keyboard.Bindings.prototype.clear = function () {\n this.bindings_ = {};\n};\n\n/**\n * Add a new binding.\n *\n * Internal API that assumes parsed objects as inputs.\n * See the public addBinding for more details.\n *\n * @param {hterm.Keyboard.KeyPattern} keyPattern\n * @param {string|function|hterm.Keyboard.KeyAction} action\n */\nhterm.Keyboard.Bindings.prototype.addBinding_ = function(keyPattern, action) {\n var binding = null;\n var list = this.bindings_[keyPattern.keyCode];\n if (list) {\n for (var i = 0; i < list.length; i++) {\n if (list[i].keyPattern.matchKeyPattern(keyPattern)) {\n binding = list[i];\n break;\n }\n }\n }\n\n if (binding) {\n binding.action = action;\n } else {\n binding = {keyPattern: keyPattern, action: action};\n\n if (!list) {\n this.bindings_[keyPattern.keyCode] = [binding];\n } else {\n this.bindings_[keyPattern.keyCode].push(binding);\n\n list.sort(function(a, b) {\n return hterm.Keyboard.KeyPattern.sortCompare(\n a.keyPattern, b.keyPattern);\n });\n }\n }\n};\n\n/**\n * Add a new binding.\n *\n * If a binding for the keyPattern already exists it will be overridden.\n *\n * More specific keyPatterns take precedence over those with wildcards. Given\n * bindings for \"Ctrl-A\" and \"Ctrl-*-A\", and a \"Ctrl-A\" keydown, the \"Ctrl-A\"\n * binding will match even if \"Ctrl-*-A\" was created last.\n *\n * If action is a string, it will be passed through hterm.Parser.parseKeyAction.\n *\n * For example:\n * // Will replace Ctrl-P keystrokes with the string \"hiya!\".\n * addBinding('Ctrl-P', \"'hiya!'\");\n * // Will cancel the keystroke entirely (make it do nothing).\n * addBinding('Alt-D', hterm.Keyboard.KeyActions.CANCEL);\n * // Will execute the code and return the action.\n * addBinding('Ctrl-T', function() {\n * console.log('Got a T!');\n * return hterm.Keyboard.KeyActions.PASS;\n * });\n *\n * @param {string|hterm.Keyboard.KeyPattern} keyPattern\n * @param {string|function|hterm.Keyboard.KeyAction} action\n */\nhterm.Keyboard.Bindings.prototype.addBinding = function(key, action) {\n // If we're given a hterm.Keyboard.KeyPattern object, pass it down.\n if (typeof key != 'string') {\n this.addBinding_(key, action);\n return;\n }\n\n // Here we treat key as a string.\n var p = new hterm.Parser();\n\n p.reset(key);\n var sequence;\n\n try {\n sequence = p.parseKeySequence();\n } catch (ex) {\n console.error(ex);\n return;\n }\n\n if (!p.isComplete()) {\n console.error(p.error('Expected end of sequence: ' + sequence));\n return;\n }\n\n // If action is a string, parse it. Otherwise assume it's callable.\n if (typeof action == 'string') {\n p.reset(action);\n try {\n action = p.parseKeyAction();\n } catch (ex) {\n console.error(ex);\n return;\n }\n }\n\n if (!p.isComplete()) {\n console.error(p.error('Expected end of sequence: ' + sequence));\n return;\n }\n\n this.addBinding_(new hterm.Keyboard.KeyPattern(sequence), action);\n};\n\n/**\n * Add multiple bindings at a time using a map of {string: string, ...}\n *\n * This uses hterm.Parser to parse the maps key into KeyPatterns, and the\n * map values into {string|function|KeyAction}.\n *\n * For example:\n * {\n * // Will replace Ctrl-P keystrokes with the string \"hiya!\".\n * 'Ctrl-P': \"'hiya!'\",\n * // Will cancel the keystroke entirely (make it do nothing).\n * 'Alt-D': hterm.Keyboard.KeyActions.CANCEL,\n * }\n *\n * @param {Object} map\n */\nhterm.Keyboard.Bindings.prototype.addBindings = function(map) {\n for (var key in map) {\n this.addBinding(key, map[key]);\n }\n};\n\n/**\n * Return the binding that is the best match for the given keyDown record,\n * or null if there is no match.\n *\n * @param {Object} keyDown An object with a keyCode property and zero or\n * more boolean properties representing key modifiers. These property names\n * must match those defined in hterm.Keyboard.KeyPattern.modifiers.\n */\nhterm.Keyboard.Bindings.prototype.getBinding = function(keyDown) {\n var list = this.bindings_[keyDown.keyCode];\n if (!list)\n return null;\n\n for (var i = 0; i < list.length; i++) {\n var binding = list[i];\n if (binding.keyPattern.matchKeyDown(keyDown))\n return binding;\n }\n\n return null;\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_keymap.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyActions');\n\n/**\n * The default key map for hterm.\n *\n * Contains a mapping of keyCodes to keyDefs (aka key definitions). The key\n * definition tells the hterm.Keyboard class how to handle keycodes.\n *\n * This should work for most cases, as the printable characters get handled\n * in the keypress event. In that case, even if the keycap is wrong in the\n * key map, the correct character should be sent.\n *\n * Different layouts, such as Dvorak should work with this keymap, as those\n * layouts typically move keycodes around on the keyboard without disturbing\n * the actual keycaps.\n *\n * There may be issues with control keys on non-US keyboards or with keyboards\n * that very significantly from the expectations here, in which case we may\n * have to invent new key maps.\n *\n * The sequences defined in this key map come from [XTERM] as referenced in\n * vt.js, starting with the section titled \"Alt and Meta Keys\".\n */\nhterm.Keyboard.KeyMap = function(keyboard) {\n this.keyboard = keyboard;\n this.keyDefs = {};\n this.reset();\n};\n\n/**\n * Add a single key definition.\n *\n * The definition is a hash containing the following keys: 'keyCap', 'normal',\n * 'control', and 'alt'.\n *\n * - keyCap is a string identifying the key. For printable\n * keys, the key cap should be exactly two characters, starting with the\n * unshifted version. For example, 'aA', 'bB', '1!' and '=+'. For\n * non-printable the key cap should be surrounded in square braces, as in\n * '[INS]', '[LEFT]'. By convention, non-printable keycaps are in uppercase\n * but this is not a strict requirement.\n *\n * - Normal is the action that should be performed when they key is pressed\n * in the absence of any modifier. See below for the supported actions.\n *\n * - Control is the action that should be performed when they key is pressed\n * along with the control modifier. See below for the supported actions.\n *\n * - Alt is the action that should be performed when they key is pressed\n * along with the alt modifier. See below for the supported actions.\n *\n * - Meta is the action that should be performed when they key is pressed\n * along with the meta modifier. See below for the supported actions.\n *\n * Actions can be one of the hterm.Keyboard.KeyActions as documented below,\n * a literal string, or an array. If the action is a literal string then\n * the string is sent directly to the host. If the action is an array it\n * is taken to be an escape sequence that may be altered by modifier keys.\n * The second-to-last element of the array will be overwritten with the\n * state of the modifier keys, as specified in the final table of \"PC-Style\n * Function Keys\" from [XTERM].\n */\nhterm.Keyboard.KeyMap.prototype.addKeyDef = function(keyCode, def) {\n if (keyCode in this.keyDefs)\n console.warn('Duplicate keyCode: ' + keyCode);\n\n this.keyDefs[keyCode] = def;\n};\n\n/**\n * Add multiple key definitions in a single call.\n *\n * This function takes the key definitions as variable argument list. Each\n * argument is the key definition specified as an array.\n *\n * (If the function took everything as one big hash we couldn't detect\n * duplicates, and there would be a lot more typing involved.)\n *\n * Each key definition should have 6 elements: (keyCode, keyCap, normal action,\n * control action, alt action and meta action). See KeyMap.addKeyDef for the\n * meaning of these elements.\n */\nhterm.Keyboard.KeyMap.prototype.addKeyDefs = function(var_args) {\n for (var i = 0; i < arguments.length; i++) {\n this.addKeyDef(arguments[i][0],\n { keyCap: arguments[i][1],\n normal: arguments[i][2],\n control: arguments[i][3],\n alt: arguments[i][4],\n meta: arguments[i][5]\n });\n }\n};\n\n/**\n * Set up the default state for this keymap.\n */\nhterm.Keyboard.KeyMap.prototype.reset = function() {\n this.keyDefs = {};\n\n var self = this;\n\n // This function is used by the \"macro\" functions below. It makes it\n // possible to use the call() macro as an argument to any other macro.\n function resolve(action, e, k) {\n if (typeof action == 'function')\n return action.apply(self, [e, k]);\n\n return action;\n }\n\n // If not application keypad a, else b. The keys that care about\n // application keypad ignore it when the key is modified.\n function ak(a, b) {\n return function(e, k) {\n var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !self.keyboard.applicationKeypad) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If mod or not application cursor a, else b. The keys that care about\n // application cursor ignore it when the key is modified.\n function ac(a, b) {\n return function(e, k) {\n var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !self.keyboard.applicationCursor) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If not backspace-sends-backspace keypad a, else b.\n function bs(a, b) {\n return function(e, k) {\n var action = !self.keyboard.backspaceSendsBackspace ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If not e.shiftKey a, else b.\n function sh(a, b) {\n return function(e, k) {\n var action = !e.shiftKey ? a : b;\n e.maskShiftKey = true;\n return resolve(action, e, k);\n };\n }\n\n // If not e.altKey a, else b.\n function alt(a, b) {\n return function(e, k) {\n var action = !e.altKey ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If no modifiers a, else b.\n function mod(a, b) {\n return function(e, k) {\n var action = !(e.shiftKey || e.ctrlKey || e.altKey || e.metaKey) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // Compute a control character for a given character.\n function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) }\n\n // Call a method on the keymap instance.\n function c(m) { return function (e, k) { return this[m](e, k) } }\n\n // Ignore if not trapping media keys.\n function med(fn) {\n return function(e, k) {\n if (!self.keyboard.mediaKeysAreFKeys) {\n // Block Back, Forward, and Reload keys to avoid navigating away from\n // the current page.\n return (e.keyCode == 166 || e.keyCode == 167 || e.keyCode == 168) ?\n hterm.Keyboard.KeyActions.CANCEL :\n hterm.Keyboard.KeyActions.PASS;\n }\n return resolve(fn, e, k);\n };\n }\n\n var ESC = '\\x1b';\n var CSI = '\\x1b[';\n var SS3 = '\\x1bO';\n\n var CANCEL = hterm.Keyboard.KeyActions.CANCEL;\n var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT;\n var PASS = hterm.Keyboard.KeyActions.PASS;\n var STRIP = hterm.Keyboard.KeyActions.STRIP;\n\n this.addKeyDefs(\n // These fields are: [keycode, keycap, normal, control, alt, meta]\n\n // The browser sends the keycode 0 for some keys. We'll just assume it's\n // going to do the right thing by default for those keys.\n [0, '[UNKNOWN]', PASS, PASS, PASS, PASS],\n\n // First row.\n [27, '[ESC]', ESC, DEFAULT, DEFAULT, DEFAULT],\n [112, '[F1]', mod(SS3 + 'P', CSI + 'P'), DEFAULT, CSI + \"23~\", DEFAULT],\n [113, '[F2]', mod(SS3 + 'Q', CSI + 'Q'), DEFAULT, CSI + \"24~\", DEFAULT],\n [114, '[F3]', mod(SS3 + 'R', CSI + 'R'), DEFAULT, CSI + \"25~\", DEFAULT],\n [115, '[F4]', mod(SS3 + 'S', CSI + 'S'), DEFAULT, CSI + \"26~\", DEFAULT],\n [116, '[F5]', CSI + '15~', DEFAULT, CSI + \"28~\", DEFAULT],\n [117, '[F6]', CSI + '17~', DEFAULT, CSI + \"29~\", DEFAULT],\n [118, '[F7]', CSI + '18~', DEFAULT, CSI + \"31~\", DEFAULT],\n [119, '[F8]', CSI + '19~', DEFAULT, CSI + \"32~\", DEFAULT],\n [120, '[F9]', CSI + '20~', DEFAULT, CSI + \"33~\", DEFAULT],\n [121, '[F10]', CSI + '21~', DEFAULT, CSI + \"34~\", DEFAULT],\n [122, '[F11]', CSI + '23~', DEFAULT, CSI + \"42~\", DEFAULT],\n [123, '[F12]', CSI + '24~', DEFAULT, CSI + \"43~\", DEFAULT],\n\n // Second row.\n [192, '`~', DEFAULT, sh(ctl('@'), ctl('^')), DEFAULT, PASS],\n [49, '1!', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [50, '2@', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [51, '3#', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [52, '4$', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [53, '5%', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [54, '6^', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [55, '7&', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [56, '8*', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [57, '9(', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [48, '0)', DEFAULT, c('onPlusMinusZero_'),c('onAltNum_'),c('onPlusMinusZero_')],\n [189, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [187, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n // Firefox -_ and =+\n [173, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [61, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n // Firefox Italian +*\n [171, '+*', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n\n [8, '[BKSP]', bs('\\x7f', '\\b'), bs('\\b', '\\x7f'), DEFAULT, DEFAULT],\n\n // Third row.\n [9, '[TAB]', sh('\\t', CSI + 'Z'), STRIP, PASS, DEFAULT],\n [81, 'qQ', DEFAULT, ctl('Q'), DEFAULT, DEFAULT],\n [87, 'wW', DEFAULT, ctl('W'), DEFAULT, DEFAULT],\n [69, 'eE', DEFAULT, ctl('E'), DEFAULT, DEFAULT],\n [82, 'rR', DEFAULT, ctl('R'), DEFAULT, DEFAULT],\n [84, 'tT', DEFAULT, ctl('T'), DEFAULT, DEFAULT],\n [89, 'yY', DEFAULT, ctl('Y'), DEFAULT, DEFAULT],\n [85, 'uU', DEFAULT, ctl('U'), DEFAULT, DEFAULT],\n [73, 'iI', DEFAULT, ctl('I'), DEFAULT, DEFAULT],\n [79, 'oO', DEFAULT, ctl('O'), DEFAULT, DEFAULT],\n [80, 'pP', DEFAULT, ctl('P'), DEFAULT, DEFAULT],\n [219, '[{', DEFAULT, ctl('['), DEFAULT, DEFAULT],\n [221, ']}', DEFAULT, ctl(']'), DEFAULT, DEFAULT],\n [220, '\\\\|', DEFAULT, ctl('\\\\'), DEFAULT, DEFAULT],\n\n // Fourth row. (We let Ctrl-Shift-J pass for Chrome DevTools.)\n [20, '[CAPS]', PASS, PASS, PASS, DEFAULT],\n [65, 'aA', DEFAULT, ctl('A'), DEFAULT, DEFAULT],\n [83, 'sS', DEFAULT, ctl('S'), DEFAULT, DEFAULT],\n [68, 'dD', DEFAULT, ctl('D'), DEFAULT, DEFAULT],\n [70, 'fF', DEFAULT, ctl('F'), DEFAULT, DEFAULT],\n [71, 'gG', DEFAULT, ctl('G'), DEFAULT, DEFAULT],\n [72, 'hH', DEFAULT, ctl('H'), DEFAULT, DEFAULT],\n [74, 'jJ', DEFAULT, sh(ctl('J'), PASS), DEFAULT, DEFAULT],\n [75, 'kK', DEFAULT, sh(ctl('K'), c('onClear_')), DEFAULT, DEFAULT],\n [76, 'lL', DEFAULT, sh(ctl('L'), PASS), DEFAULT, DEFAULT],\n [186, ';:', DEFAULT, STRIP, DEFAULT, DEFAULT],\n [222, '\\'\"', DEFAULT, STRIP, DEFAULT, DEFAULT],\n [13, '[ENTER]', '\\r', CANCEL, CANCEL, DEFAULT],\n\n // Fifth row. This includes the copy/paste shortcuts. On some\n // platforms it's Ctrl-C/V, on others it's Meta-C/V. We assume either\n // Ctrl-C/Meta-C should pass to the browser when there is a selection,\n // and Ctrl-Shift-V/Meta-*-V should always pass to the browser (since\n // these seem to be recognized as paste too).\n [16, '[SHIFT]', PASS, PASS, PASS, DEFAULT],\n [90, 'zZ', DEFAULT, ctl('Z'), DEFAULT, DEFAULT],\n [88, 'xX', DEFAULT, ctl('X'), DEFAULT, DEFAULT],\n [67, 'cC', DEFAULT, c('onCtrlC_'), DEFAULT, c('onMetaC_')],\n [86, 'vV', DEFAULT, c('onCtrlV_'), DEFAULT, c('onMetaV_')],\n [66, 'bB', DEFAULT, sh(ctl('B'), PASS), DEFAULT, sh(DEFAULT, PASS)],\n [78, 'nN', DEFAULT, c('onCtrlN_'), DEFAULT, c('onMetaN_')],\n [77, 'mM', DEFAULT, ctl('M'), DEFAULT, DEFAULT],\n [188, ',<', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT],\n [190, '.>', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT],\n [191, '/?', DEFAULT, sh(ctl('_'), ctl('?')), DEFAULT, DEFAULT],\n\n // Sixth and final row.\n [17, '[CTRL]', PASS, PASS, PASS, PASS],\n [18, '[ALT]', PASS, PASS, PASS, PASS],\n [91, '[LAPL]', PASS, PASS, PASS, PASS],\n [32, ' ', DEFAULT, ctl('@'), DEFAULT, DEFAULT],\n [92, '[RAPL]', PASS, PASS, PASS, PASS],\n [93, '[RMENU]', PASS, PASS, PASS, PASS],\n\n // These things.\n [42, '[PRTSCR]', PASS, PASS, PASS, PASS],\n [145, '[SCRLK]', PASS, PASS, PASS, PASS],\n [19, '[BREAK]', PASS, PASS, PASS, PASS],\n\n // The block of six keys above the arrows.\n [45, '[INSERT]', c('onKeyInsert_'), DEFAULT, DEFAULT, DEFAULT],\n [36, '[HOME]', c('onKeyHome_'), DEFAULT, DEFAULT, DEFAULT],\n [33, '[PGUP]', c('onKeyPageUp_'), DEFAULT, DEFAULT, DEFAULT],\n [46, '[DEL]', c('onKeyDel_'), DEFAULT, DEFAULT, DEFAULT],\n [35, '[END]', c('onKeyEnd_'), DEFAULT, DEFAULT, DEFAULT],\n [34, '[PGDOWN]', c('onKeyPageDown_'), DEFAULT, DEFAULT, DEFAULT],\n\n // Arrow keys. When unmodified they respect the application cursor state,\n // otherwise they always send the CSI codes.\n [38, '[UP]', c('onKeyArrowUp_'), DEFAULT, DEFAULT, DEFAULT],\n [40, '[DOWN]', c('onKeyArrowDown_'), DEFAULT, DEFAULT, DEFAULT],\n [39, '[RIGHT]', ac(CSI + 'C', SS3 + 'C'), DEFAULT, DEFAULT, DEFAULT],\n [37, '[LEFT]', ac(CSI + 'D', SS3 + 'D'), DEFAULT, DEFAULT, DEFAULT],\n\n [144, '[NUMLOCK]', PASS, PASS, PASS, PASS],\n\n // With numlock off, the keypad generates the same key codes as the arrows\n // and 'block of six' for some keys, and null key codes for the rest.\n\n // Keypad with numlock on generates unique key codes...\n [96, '[KP0]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [97, '[KP1]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [98, '[KP2]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [99, '[KP3]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [100, '[KP4]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [101, '[KP5]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [102, '[KP6]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [103, '[KP7]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [104, '[KP8]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [105, '[KP9]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [107, '[KP+]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [109, '[KP-]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [106, '[KP*]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [111, '[KP/]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [110, '[KP.]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n\n // Chrome OS keyboard top row.\n [166, '[BACK]', med(mod(SS3+'P', CSI+'P')), DEFAULT, CSI+\"23~\", DEFAULT],\n [167, '[FWD]', med(mod(SS3+'Q', CSI+'Q')), DEFAULT, CSI+\"24~\", DEFAULT],\n [168, '[RELOAD]', med(mod(SS3+'R', CSI+'R')), DEFAULT, CSI+\"25~\", DEFAULT],\n [183, '[FSCR]', med(mod(SS3+'S', CSI+'S')), DEFAULT, CSI+\"26~\", DEFAULT],\n [182, '[WINS]', med(CSI + '15~'), DEFAULT, CSI+\"28~\", DEFAULT],\n [216, '[BRIT-]', med(CSI + '17~'), DEFAULT, CSI+\"29~\", DEFAULT],\n [217, '[BRIT+]', med(CSI + '18~'), DEFAULT, CSI+\"31~\", DEFAULT]\n\n // 173 [MUTE], 174 [VOL-] and 175 [VOL+] are trapped by the Chrome OS\n // window manager, so we'll never see them. Note that 173 is also\n // Firefox's -_ keycode.\n );\n};\n\n/**\n * Either allow the paste or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyInsert_ = function(e) {\n if (this.keyboard.shiftInsertPaste && e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return '\\x1b[2~';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyHome_ = function(e) {\n if (!this.keyboard.homeKeysScroll ^ e.shiftKey) {\n if ((e.altey || e.ctrlKey || e.shiftKey) ||\n !this.keyboard.applicationCursor) {\n return '\\x1b[H';\n }\n\n return '\\x1bOH';\n }\n\n this.keyboard.terminal.scrollHome();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyEnd_ = function(e) {\n if (!this.keyboard.homeKeysScroll ^ e.shiftKey) {\n if ((e.altKey || e.ctrlKey || e.shiftKey) ||\n !this.keyboard.applicationCursor) {\n return '\\x1b[F';\n }\n\n return '\\x1bOF';\n }\n\n this.keyboard.terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyPageUp_ = function(e) {\n if (!this.keyboard.pageKeysScroll ^ e.shiftKey)\n return '\\x1b[5~';\n\n this.keyboard.terminal.scrollPageUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either send a true DEL, or sub in meta-backspace.\n *\n * On Chrome OS, if we know the alt key is down, but we get a DEL event that\n * claims that the alt key is not pressed, we know the DEL was a synthetic\n * one from a user that hit alt-backspace. Based on a user pref, we can sub\n * in meta-backspace in this case.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyDel_ = function(e) {\n if (this.keyboard.altBackspaceIsMetaBackspace &&\n this.keyboard.altKeyPressed && !e.altKey)\n return '\\x1b\\x7f';\n return '\\x1b[3~';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyPageDown_ = function(e) {\n if (!this.keyboard.pageKeysScroll ^ e.shiftKey)\n return '\\x1b[6~';\n\n this.keyboard.terminal.scrollPageDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyArrowUp_ = function(e) {\n if (!this.keyboard.applicationCursor && e.shiftKey) {\n this.keyboard.terminal.scrollLineUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !this.keyboard.applicationCursor) ? '\\x1b[A' : '\\x1bOA';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyArrowDown_ = function(e) {\n if (!this.keyboard.applicationCursor && e.shiftKey) {\n this.keyboard.terminal.scrollLineDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !this.keyboard.applicationCursor) ? '\\x1b[B' : '\\x1bOB';\n};\n\n/**\n * Clear the primary/alternate screens and the scrollback buffer.\n */\nhterm.Keyboard.KeyMap.prototype.onClear_ = function(e, keyDef) {\n this.keyboard.terminal.wipeContents();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either pass Ctrl-1..9 to the browser or send them to the host.\n *\n * Note that Ctrl-1 and Ctrl-9 don't actually have special sequences mapped\n * to them in xterm or gnome-terminal. The range is really Ctrl-2..8, but\n * we handle 1..9 since Chrome treats the whole range special.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlNum_ = function(e, keyDef) {\n // Compute a control character for a given character.\n function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) }\n\n if (this.keyboard.terminal.passCtrlNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n switch (keyDef.keyCap.substr(0, 1)) {\n case '1': return '1';\n case '2': return ctl('@');\n case '3': return ctl('[');\n case '4': return ctl('\\\\');\n case '5': return ctl(']');\n case '6': return ctl('^');\n case '7': return ctl('_');\n case '8': return '\\x7f';\n case '9': return '9';\n }\n};\n\n/**\n * Either pass Alt-1..9 to the browser or send them to the host.\n */\nhterm.Keyboard.KeyMap.prototype.onAltNum_ = function(e, keyDef) {\n if (this.keyboard.terminal.passAltNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either pass Meta-1..9 to the browser or send them to the host.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaNum_ = function(e, keyDef) {\n if (this.keyboard.terminal.passMetaNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either send a ^C or interpret the keystroke as a copy command.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlC_ = function(e, keyDef) {\n var selection = this.keyboard.terminal.getDocument().getSelection();\n\n if (!selection.isCollapsed) {\n if (this.keyboard.ctrlCCopy && !e.shiftKey) {\n // Ctrl-C should copy if there is a selection, send ^C otherwise.\n // Perform the copy by letting the browser handle Ctrl-C. On most\n // browsers, this is the *only* way to place text on the clipboard from\n // the 'drive-by' web.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(selection.collapseToEnd.bind(selection), 50);\n }\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n if (!this.keyboard.ctrlCCopy && e.shiftKey) {\n // Ctrl-Shift-C should copy if there is a selection, send ^C otherwise.\n // Perform the copy manually. This only works in situations where\n // document.execCommand('copy') is allowed.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(selection.collapseToEnd.bind(selection), 50);\n }\n this.keyboard.terminal.copySelectionToClipboard();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n }\n\n return '\\x03';\n};\n\n/**\n * Either send a ^N or open a new window to the same location.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlN_ = function(e, keyDef) {\n if (e.shiftKey) {\n window.open(document.location.href, '',\n 'chrome=no,close=yes,resize=yes,scrollbars=yes,' +\n 'minimizable=yes,width=' + window.innerWidth +\n ',height=' + window.innerHeight);\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return '\\x0e';\n};\n\n/**\n * Either send a ^V or issue a paste command.\n *\n * The default behavior is to paste if the user presses Ctrl-Shift-V, and send\n * a ^V if the user presses Ctrl-V. This can be flipped with the\n * 'ctrl-v-paste' preference.\n *\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlV_ = function(e, keyDef) {\n if ((!e.shiftKey && this.keyboard.ctrlVPaste) ||\n (e.shiftKey && !this.keyboard.ctrlVPaste)) {\n // We try to do the pasting ourselves as not all browsers/OSs bind Ctrl-V to\n // pasting. Notably, on macOS, Ctrl-V/Ctrl-Shift-V do nothing.\n // However, this might run into web restrictions, so if it fails, we still\n // fallback to the letting the native behavior (hopefully) save us.\n if (this.keyboard.terminal.paste())\n return hterm.Keyboard.KeyActions.CANCEL;\n else\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n return '\\x16';\n};\n\n/**\n * Either the default action or open a new window to the same location.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaN_ = function(e, keyDef) {\n if (e.shiftKey) {\n window.open(document.location.href, '',\n 'chrome=no,close=yes,resize=yes,scrollbars=yes,' +\n 'minimizable=yes,width=' + window.outerWidth +\n ',height=' + window.outerHeight);\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either send a Meta-C or allow the browser to interpret the keystroke as a\n * copy command.\n *\n * If there is no selection, or if the user presses Meta-Shift-C, then we'll\n * transmit an '\\x1b' (if metaSendsEscape is on) followed by 'c' or 'C'.\n *\n * If there is a selection, we defer to the browser. In this case we clear out\n * the selection so the user knows we heard them, and also to give them a\n * chance to send a Meta-C by just hitting the key again.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaC_ = function(e, keyDef) {\n var document = this.keyboard.terminal.getDocument();\n if (e.shiftKey || document.getSelection().isCollapsed) {\n // If the shift key is being held, or there is no document selection, send\n // a Meta-C. The keyboard code will add the ESC if metaSendsEscape is true,\n // we just have to decide between 'c' and 'C'.\n return keyDef.keyCap.substr(e.shiftKey ? 1 : 0, 1);\n }\n\n // Otherwise let the browser handle it as a copy command.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(function() { document.getSelection().collapseToEnd() }, 50);\n }\n return hterm.Keyboard.KeyActions.PASS;\n};\n\n/**\n * Either PASS or DEFAULT Meta-V, depending on preference.\n *\n * Always PASS Meta-Shift-V to allow browser to interpret the keystroke as\n * a paste command.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaV_ = function(e, keyDef) {\n if (e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return this.keyboard.passMetaV ?\n hterm.Keyboard.KeyActions.PASS :\n hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Handle font zooming.\n *\n * The browser's built-in zoom has a bit of an issue at certain zoom levels.\n * At some magnifications, the measured height of a row of text differs from\n * the height that was explicitly set.\n *\n * We override the browser zoom keys to change the ScrollPort's font size to\n * avoid the issue.\n */\nhterm.Keyboard.KeyMap.prototype.onPlusMinusZero_ = function(e, keyDef) {\n if (!(this.keyboard.ctrlPlusMinusZeroZoom ^ e.shiftKey)) {\n // If ctrl-PMZ controls zoom and the shift key is pressed, or\n // ctrl-shift-PMZ controls zoom and this shift key is not pressed,\n // then we want to send the control code instead of affecting zoom.\n if (keyDef.keyCap == '-_')\n return '\\x1f'; // ^_\n\n // Only ^_ is valid, the other sequences have no meaning.\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n if (this.keyboard.terminal.getZoomFactor() != 1) {\n // If we're not at 1:1 zoom factor, let the Ctrl +/-/0 keys control the\n // browser zoom, so it's easier to for the user to get back to 100%.\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n var cap = keyDef.keyCap.substr(0, 1);\n if (cap == '0') {\n this.keyboard.terminal.setFontSize(0);\n } else {\n var size = this.keyboard.terminal.getFontSize();\n\n if (cap == '-' || keyDef.keyCap == '[KP-]') {\n size -= 1;\n } else {\n size += 1;\n }\n\n this.keyboard.terminal.setFontSize(size);\n }\n\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_keypattern.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * A record of modifier bits and keycode used to define a key binding.\n *\n * The modifier names are enumerated in the static KeyPattern.modifiers\n * property below. Each modifier can be true, false, or \"*\". True means\n * the modifier key must be present, false means it must not, and \"*\" means\n * it doesn't matter.\n */\nhterm.Keyboard.KeyPattern = function(spec) {\n this.wildcardCount = 0;\n this.keyCode = spec.keyCode;\n\n hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) {\n this[mod] = spec[mod] || false;\n if (this[mod] == '*')\n this.wildcardCount++;\n }.bind(this));\n};\n\n/**\n * Valid modifier names.\n */\nhterm.Keyboard.KeyPattern.modifiers = [\n 'shift', 'ctrl', 'alt', 'meta'\n];\n\n/**\n * A compare callback for Array.prototype.sort().\n *\n * The bindings code wants to be sure to search through the strictest key\n * patterns first, so that loosely defined patterns have a lower priority than\n * exact patterns.\n *\n * @param {hterm.Keyboard.KeyPattern} a\n * @param {hterm.Keyboard.KeyPattern} b\n */\nhterm.Keyboard.KeyPattern.sortCompare = function(a, b) {\n if (a.wildcardCount < b.wildcardCount)\n return -1;\n\n if (a.wildcardCount > b.wildcardCount)\n return 1;\n\n return 0;\n};\n\n/**\n * Private method used to match this key pattern against other key patterns\n * or key down events.\n *\n * @param {Object} The object to match.\n * @param {boolean} True if we should ignore wildcards. Useful when you want\n * to perform and exact match against another key pattern.\n */\nhterm.Keyboard.KeyPattern.prototype.match_ = function(obj, exactMatch) {\n if (this.keyCode != obj.keyCode)\n return false;\n\n var rv = true;\n\n hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) {\n var modValue = (mod in obj) ? obj[mod] : false;\n if (!rv || (!exactMatch && this[mod] == '*') || this[mod] == modValue)\n return;\n\n rv = false;\n }.bind(this));\n\n return rv;\n};\n\n/**\n * Return true if the given keyDown object is a match for this key pattern.\n *\n * @param {Object} keyDown An object with a keyCode property and zero or\n * more boolean properties representing key modifiers. These property names\n * must match those defined in hterm.Keyboard.KeyPattern.modifiers.\n */\nhterm.Keyboard.KeyPattern.prototype.matchKeyDown = function(keyDown) {\n return this.match_(keyDown, false);\n};\n\n/**\n * Return true if the given hterm.Keyboard.KeyPattern is exactly the same as\n * this one.\n *\n * @param {hterm.Keyboard.KeyPattern}\n */\nhterm.Keyboard.KeyPattern.prototype.matchKeyPattern = function(keyPattern) {\n return this.match_(keyPattern, true);\n};\n// SOURCE FILE: hterm/js/hterm_options.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview This file implements the hterm.Options class,\n * which stores current operating conditions for the terminal. This object is\n * used instead of a series of parameters to allow saving/restoring of cursor\n * conditions easily, and to provide an easy place for common configuration\n * options.\n *\n * Original code by Cory Maccarrone.\n */\n\n/**\n * Constructor for the hterm.Options class, optionally acting as a copy\n * constructor.\n *\n * The defaults are as defined in http://www.vt100.net/docs/vt510-rm/DECSTR\n * except that we enable autowrap (wraparound) by default since that seems to\n * be what xterm does.\n *\n * @param {hterm.Options=} opt_copy Optional instance to copy.\n * @constructor\n */\nhterm.Options = function(opt_copy) {\n // All attributes in this class are public to allow easy access by the\n // terminal.\n\n this.wraparound = opt_copy ? opt_copy.wraparound : true;\n this.reverseWraparound = opt_copy ? opt_copy.reverseWraparound : false;\n this.originMode = opt_copy ? opt_copy.originMode : false;\n this.autoCarriageReturn = opt_copy ? opt_copy.autoCarriageReturn : false;\n this.cursorVisible = opt_copy ? opt_copy.cursorVisible : false;\n this.cursorBlink = opt_copy ? opt_copy.cursorBlink : false;\n this.insertMode = opt_copy ? opt_copy.insertMode : false;\n this.reverseVideo = opt_copy ? opt_copy.reverseVideo : false;\n this.bracketedPaste = opt_copy ? opt_copy.bracketedPaste : false;\n};\n// SOURCE FILE: hterm/js/hterm_parser.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyActions');\n\n/**\n * @constructor\n * Parses the key definition syntax used for user keyboard customizations.\n */\nhterm.Parser = function() {\n /**\n * @type {string} The source string.\n */\n this.source = '';\n\n /**\n * @type {number} The current position.\n */\n this.pos = 0;\n\n /**\n * @type {string?} The character at the current position.\n */\n this.ch = null;\n};\n\nhterm.Parser.prototype.error = function(message) {\n return new Error('Parse error at ' + this.pos + ': ' + message);\n};\n\nhterm.Parser.prototype.isComplete = function() {\n return this.pos == this.source.length;\n};\n\nhterm.Parser.prototype.reset = function(source, opt_pos) {\n this.source = source;\n this.pos = opt_pos || 0;\n this.ch = source.substr(0, 1);\n};\n\n/**\n * Parse a key sequence.\n *\n * A key sequence is zero or more of the key modifiers defined in\n * hterm.Parser.identifiers.modifierKeys followed by a key code. Key\n * codes can be an integer or an identifier from\n * hterm.Parser.identifiers.keyCodes. Modifiers and keyCodes should be joined\n * by the dash character.\n *\n * An asterisk \"*\" can be used to indicate that the unspecified modifiers\n * are optional.\n *\n * For example:\n * A: Matches only an unmodified \"A\" character.\n * 65: Same as above.\n * 0x41: Same as above.\n * Ctrl-A: Matches only Ctrl-A.\n * Ctrl-65: Same as above.\n * Ctrl-0x41: Same as above.\n * Ctrl-Shift-A: Matches only Ctrl-Shift-A.\n * Ctrl-*-A: Matches Ctrl-A, as well as any other key sequence that includes\n * at least the Ctrl and A keys.\n *\n * @return {Object} An object with shift, ctrl, alt, meta, keyCode\n * properties.\n */\nhterm.Parser.prototype.parseKeySequence = function() {\n var rv = {\n keyCode: null\n };\n\n for (var k in hterm.Parser.identifiers.modifierKeys) {\n rv[hterm.Parser.identifiers.modifierKeys[k]] = false;\n }\n\n while (this.pos < this.source.length) {\n this.skipSpace();\n\n var token = this.parseToken();\n if (token.type == 'integer') {\n rv.keyCode = token.value;\n\n } else if (token.type == 'identifier') {\n var ucValue = token.value.toUpperCase();\n if (ucValue in hterm.Parser.identifiers.modifierKeys &&\n hterm.Parser.identifiers.modifierKeys.hasOwnProperty(ucValue)) {\n var mod = hterm.Parser.identifiers.modifierKeys[ucValue];\n if (rv[mod] && rv[mod] != '*')\n throw this.error('Duplicate modifier: ' + token.value);\n rv[mod] = true;\n\n } else if (ucValue in hterm.Parser.identifiers.keyCodes &&\n hterm.Parser.identifiers.keyCodes.hasOwnProperty(ucValue)) {\n rv.keyCode = hterm.Parser.identifiers.keyCodes[ucValue];\n\n } else {\n throw this.error('Unknown key: ' + token.value);\n }\n\n } else if (token.type == 'symbol') {\n if (token.value == '*') {\n for (var id in hterm.Parser.identifiers.modifierKeys) {\n var p = hterm.Parser.identifiers.modifierKeys[id];\n if (!rv[p])\n rv[p] = '*';\n }\n } else {\n throw this.error('Unexpected symbol: ' + token.value);\n }\n } else {\n throw this.error('Expected integer or identifier');\n }\n\n this.skipSpace();\n\n if (this.ch != '-')\n break;\n\n if (rv.keyCode != null)\n throw this.error('Extra definition after target key');\n\n this.advance(1);\n }\n\n if (rv.keyCode == null)\n throw this.error('Missing target key');\n\n return rv;\n};\n\nhterm.Parser.prototype.parseKeyAction = function() {\n this.skipSpace();\n\n var token = this.parseToken();\n\n if (token.type == 'string')\n return token.value;\n\n if (token.type == 'identifier') {\n if (token.value in hterm.Parser.identifiers.actions &&\n hterm.Parser.identifiers.actions.hasOwnProperty(token.value))\n return hterm.Parser.identifiers.actions[token.value];\n\n throw this.error('Unknown key action: ' + token.value);\n }\n\n throw this.error('Expected string or identifier');\n\n};\n\nhterm.Parser.prototype.peekString = function() {\n return this.ch == '\\'' || this.ch == '\"';\n};\n\nhterm.Parser.prototype.peekIdentifier = function() {\n return this.ch.match(/[a-z_]/i);\n};\n\nhterm.Parser.prototype.peekInteger = function() {\n return this.ch.match(/[0-9]/);\n};\n\nhterm.Parser.prototype.parseToken = function() {\n if (this.ch == '*') {\n var rv = {type: 'symbol', value: this.ch};\n this.advance(1);\n return rv;\n }\n\n if (this.peekIdentifier())\n return {type: 'identifier', value: this.parseIdentifier()};\n\n if (this.peekString())\n return {type: 'string', value: this.parseString()};\n\n if (this.peekInteger())\n return {type: 'integer', value: this.parseInteger()};\n\n\n throw this.error('Unexpected token');\n};\n\nhterm.Parser.prototype.parseIdentifier = function() {\n if (!this.peekIdentifier())\n throw this.error('Expected identifier');\n\n return this.parsePattern(/[a-z0-9_]+/ig);\n};\n\nhterm.Parser.prototype.parseInteger = function() {\n var base = 10;\n\n if (this.ch == '0' && this.pos < this.source.length - 1 &&\n this.source.substr(this.pos + 1, 1) == 'x') {\n return parseInt(this.parsePattern(/0x[0-9a-f]+/gi));\n }\n\n return parseInt(this.parsePattern(/\\d+/g));\n};\n\n/**\n * Parse a single or double quoted string.\n *\n * The current position should point at the initial quote character. Single\n * quoted strings will be treated literally, double quoted will process escapes.\n *\n * TODO(rginda): Variable interpolation.\n *\n * @param {ParseState} parseState\n * @param {string} quote A single or double-quote character.\n * @return {string}\n */\nhterm.Parser.prototype.parseString = function() {\n var result = '';\n\n var quote = this.ch;\n if (quote != '\"' && quote != '\\'')\n throw this.error('String expected');\n\n this.advance(1);\n\n var re = new RegExp('[\\\\\\\\' + quote + ']', 'g');\n\n while (this.pos < this.source.length) {\n re.lastIndex = this.pos;\n if (!re.exec(this.source))\n throw this.error('Unterminated string literal');\n\n result += this.source.substring(this.pos, re.lastIndex - 1);\n\n this.advance(re.lastIndex - this.pos - 1);\n\n if (quote == '\"' && this.ch == '\\\\') {\n this.advance(1);\n result += this.parseEscape();\n continue;\n }\n\n if (quote == '\\'' && this.ch == '\\\\') {\n result += this.ch;\n this.advance(1);\n continue;\n }\n\n if (this.ch == quote) {\n this.advance(1);\n return result;\n }\n }\n\n throw this.error('Unterminated string literal');\n};\n\n\n/**\n * Parse an escape code from the current position (which should point to\n * the first character AFTER the leading backslash.)\n *\n * @return {string}\n */\nhterm.Parser.prototype.parseEscape = function() {\n var map = {\n '\"': '\"',\n '\\'': '\\'',\n '\\\\': '\\\\',\n 'a': '\\x07',\n 'b': '\\x08',\n 'e': '\\x1b',\n 'f': '\\x0c',\n 'n': '\\x0a',\n 'r': '\\x0d',\n 't': '\\x09',\n 'v': '\\x0b',\n 'x': function() {\n var value = this.parsePattern(/[a-z0-9]{2}/ig);\n return String.fromCharCode(parseInt(value, 16));\n },\n 'u': function() {\n var value = this.parsePattern(/[a-z0-9]{4}/ig);\n return String.fromCharCode(parseInt(value, 16));\n }\n };\n\n if (!(this.ch in map && map.hasOwnProperty(this.ch)))\n throw this.error('Unknown escape: ' + this.ch);\n\n var value = map[this.ch];\n this.advance(1);\n\n if (typeof value == 'function')\n value = value.call(this);\n\n return value;\n};\n\n/**\n * Parse the given pattern starting from the current position.\n *\n * @param {RegExp} pattern A pattern representing the characters to span. MUST\n * include the \"global\" RegExp flag.\n * @return {string}\n */\nhterm.Parser.prototype.parsePattern = function(pattern) {\n if (!pattern.global)\n throw this.error('Internal error: Span patterns must be global');\n\n pattern.lastIndex = this.pos;\n var ary = pattern.exec(this.source);\n\n if (!ary || pattern.lastIndex - ary[0].length != this.pos)\n throw this.error('Expected match for: ' + pattern);\n\n this.pos = pattern.lastIndex - 1;\n this.advance(1);\n\n return ary[0];\n};\n\n\n/**\n * Advance the current position.\n *\n * @param {number} count\n */\nhterm.Parser.prototype.advance = function(count) {\n this.pos += count;\n this.ch = this.source.substr(this.pos, 1);\n};\n\n/**\n * @param {string=} opt_expect A list of valid non-whitespace characters to\n * terminate on.\n * @return {void}\n */\nhterm.Parser.prototype.skipSpace = function(opt_expect) {\n if (!/\\s/.test(this.ch))\n return;\n\n var re = /\\s+/gm;\n re.lastIndex = this.pos;\n\n var source = this.source;\n if (re.exec(source))\n this.pos = re.lastIndex;\n\n this.ch = this.source.substr(this.pos, 1);\n\n if (opt_expect) {\n if (this.ch.indexOf(opt_expect) == -1) {\n throw this.error('Expected one of ' + opt_expect + ', found: ' +\n this.ch);\n }\n }\n};\n// SOURCE FILE: hterm/js/hterm_parser_identifiers.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Collections of identifier for hterm.Parser.\n */\nhterm.Parser.identifiers = {};\n\n/**\n * Modifier key names used when defining key sequences.\n *\n * These are upper case so we can normalize the user input and be forgiving.\n * \"CTRL-A\" and \"Ctrl-A\" and \"ctrl-a\" are all accepted.\n *\n * Note: Names here cannot overlap with hterm.Parser.identifiers.keyCodes.\n */\nhterm.Parser.identifiers.modifierKeys = {\n SHIFT: 'shift',\n CTRL: 'ctrl',\n // Common alias.\n CONTROL: 'ctrl',\n ALT: 'alt',\n META: 'meta'\n};\n\n/**\n * Key codes useful when defining key sequences.\n *\n * Punctuation is mostly left out of this list because they can move around\n * based on keyboard locale and browser.\n *\n * In a key sequence like \"Ctrl-ESC\", the ESC comes from this list of\n * identifiers. It is equivalent to \"Ctrl-27\" and \"Ctrl-0x1b\".\n *\n * These are upper case so we can normalize the user input and be forgiving.\n * \"Ctrl-ESC\" and \"Ctrl-Esc\" an \"Ctrl-esc\" are all accepted.\n *\n * We also include common aliases for the same key. \"Esc\" and \"Escape\" are the\n * same key.\n *\n * Note: Names here cannot overlap with hterm.Parser.identifiers.modifierKeys.\n */\nhterm.Parser.identifiers.keyCodes = {\n // Top row.\n ESCAPE: 27,\n ESC: 27,\n F1: 112,\n F2: 113,\n F3: 114,\n F4: 115,\n F5: 116,\n F6: 117,\n F7: 118,\n F8: 119,\n F9: 120,\n F10: 121,\n F11: 122,\n F12: 123,\n\n // Row two.\n ONE: 49,\n TWO: 50,\n THREE: 51,\n FOUR: 52,\n FIVE: 53,\n SIX: 54,\n SEVEN: 55,\n EIGHT: 56,\n NINE: 57,\n ZERO: 48,\n BACKSPACE: 8,\n BKSP: 8,\n BS: 8,\n\n // Row three.\n TAB: 9,\n Q: 81,\n W: 87,\n E: 69,\n R: 82,\n T: 84,\n Y: 89,\n U: 85,\n I: 73,\n O: 79,\n P: 80,\n\n // Row four.\n CAPS_LOCK: 20,\n CAPSLOCK: 20,\n CAPS: 20,\n A: 65,\n S: 83,\n D: 68,\n F: 70,\n G: 71,\n H: 72,\n J: 74,\n K: 75,\n L: 76,\n // We map enter and return together even though enter should really be 10\n // because most people don't know or care about the history here. Plus,\n // most keyboards/programs map them together already. If they really want\n // to bind them differently, they can also use the numeric value.\n ENTER: 13,\n ENT: 13,\n RETURN: 13,\n RET: 13,\n\n // Row five.\n Z: 90,\n X: 88,\n C: 67,\n V: 86,\n B: 66,\n N: 78,\n M: 77,\n\n // Etc.\n SPACE: 32,\n SP: 32,\n PRINT_SCREEN: 42,\n PRTSC: 42,\n SCROLL_LOCK: 145,\n SCRLK: 145,\n BREAK: 19,\n BRK: 19,\n INSERT: 45,\n INS: 45,\n HOME: 36,\n PAGE_UP: 33,\n PGUP: 33,\n DELETE: 46,\n DEL: 46,\n END: 35,\n PAGE_DOWN: 34,\n PGDOWN: 34,\n PGDN: 34,\n UP: 38,\n DOWN: 40,\n RIGHT: 39,\n LEFT: 37,\n NUMLOCK: 144,\n\n // Keypad\n KP0: 96,\n KP1: 97,\n KP2: 98,\n KP3: 99,\n KP4: 100,\n KP5: 101,\n KP6: 102,\n KP7: 103,\n KP8: 104,\n KP9: 105,\n KP_PLUS: 107,\n KP_ADD: 107,\n KP_MINUS: 109,\n KP_SUBTRACT: 109,\n KP_STAR: 106,\n KP_MULTIPLY: 106,\n KP_DIVIDE: 111,\n KP_DECIMAL: 110,\n KP_PERIOD: 110,\n\n // Chrome OS media keys\n NAVIGATE_BACK: 166,\n NAVIGATE_FORWARD: 167,\n RELOAD: 168,\n FULL_SCREEN: 183,\n WINDOW_OVERVIEW: 182,\n BRIGHTNESS_UP: 216,\n BRIGHTNESS_DOWN: 217\n};\n\n/**\n * Identifiers for use in key actions.\n */\nhterm.Parser.identifiers.actions = {\n /**\n * Prevent the browser and operating system from handling the event.\n */\n CANCEL: hterm.Keyboard.KeyActions.CANCEL,\n\n /**\n * Wait for a \"keypress\" event, send the keypress charCode to the host.\n */\n DEFAULT: hterm.Keyboard.KeyActions.DEFAULT,\n\n /**\n * Let the browser or operating system handle the key.\n */\n PASS: hterm.Keyboard.KeyActions.PASS,\n\n /**\n * Scroll the terminal one page up.\n */\n scrollPageUp: function(terminal) {\n terminal.scrollPageUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal one page down.\n */\n scrollPageDown: function(terminal) {\n terminal.scrollPageDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal to the top.\n */\n scrollToTop: function(terminal) {\n terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal to the bottom.\n */\n scrollToBottom: function(terminal) {\n terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Clear the terminal and scrollback buffer.\n */\n clearScrollback: function(terminal) {\n terminal.wipeContents();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n};\n// SOURCE FILE: hterm/js/hterm_preference_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'lib.Storage');\n\n/**\n * PreferenceManager subclass managing global NaSSH preferences.\n *\n * This is currently just an ordered list of known connection profiles.\n */\nhterm.PreferenceManager = function(profileId) {\n lib.PreferenceManager.call(this, hterm.defaultStorage,\n '/hterm/profiles/' + profileId);\n var defs = hterm.PreferenceManager.defaultPreferences;\n Object.keys(defs).forEach(function(key) {\n this.definePreference(key, defs[key][1]);\n }.bind(this));\n};\n\nhterm.PreferenceManager.categories = {};\nhterm.PreferenceManager.categories.Keyboard = 'Keyboard';\nhterm.PreferenceManager.categories.Appearance = 'Appearance';\nhterm.PreferenceManager.categories.CopyPaste = 'CopyPaste';\nhterm.PreferenceManager.categories.Sounds = 'Sounds';\nhterm.PreferenceManager.categories.Scrolling = 'Scrolling';\nhterm.PreferenceManager.categories.Encoding = 'Encoding';\nhterm.PreferenceManager.categories.Miscellaneous = 'Miscellaneous';\n\n/**\n * List of categories, ordered by display order (top to bottom)\n */\nhterm.PreferenceManager.categoryDefinitions = [\n { id: hterm.PreferenceManager.categories.Appearance,\n text: 'Appearance (fonts, colors, images)'},\n { id: hterm.PreferenceManager.categories.CopyPaste,\n text: 'Copy & Paste'},\n { id: hterm.PreferenceManager.categories.Encoding,\n text: 'Encoding'},\n { id: hterm.PreferenceManager.categories.Keyboard,\n text: 'Keyboard'},\n { id: hterm.PreferenceManager.categories.Scrolling,\n text: 'Scrolling'},\n { id: hterm.PreferenceManager.categories.Sounds,\n text: 'Sounds'},\n { id: hterm.PreferenceManager.categories.Miscellaneous,\n text: 'Misc.'}\n];\n\n\nhterm.PreferenceManager.defaultPreferences = {\n 'alt-gr-mode':\n [hterm.PreferenceManager.categories.Keyboard, null,\n [null, 'none', 'ctrl-alt', 'left-alt', 'right-alt'],\n 'Select an AltGr detection hack^Wheuristic.\\n' +\n '\\n' +\n '\\'null\\': Autodetect based on navigator.language:\\n' +\n ' \\'en-us\\' => \\'none\\', else => \\'right-alt\\'\\n' +\n '\\'none\\': Disable any AltGr related munging.\\n' +\n '\\'ctrl-alt\\': Assume Ctrl+Alt means AltGr.\\n' +\n '\\'left-alt\\': Assume left Alt means AltGr.\\n' +\n '\\'right-alt\\': Assume right Alt means AltGr.\\n'],\n\n 'alt-backspace-is-meta-backspace':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If set, undoes the Chrome OS Alt-Backspace->DEL remap, so that ' +\n 'alt-backspace indeed is alt-backspace.'],\n\n 'alt-is-meta':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Set whether the alt key acts as a meta key or as a distinct alt key.'],\n\n 'alt-sends-what':\n [hterm.PreferenceManager.categories.Keyboard, 'escape',\n ['escape', '8-bit', 'browser-key'],\n 'Controls how the alt key is handled.\\n' +\n '\\n' +\n ' escape....... Send an ESC prefix.\\n' +\n ' 8-bit........ Add 128 to the unshifted character as in xterm.\\n' +\n ' browser-key.. Wait for the keypress event and see what the browser \\n' +\n ' says. (This won\\'t work well on platforms where the \\n' +\n ' browser performs a default action for some alt sequences.)'\n ],\n\n 'audible-bell-sound':\n [hterm.PreferenceManager.categories.Sounds, 'lib-resource:hterm/audio/bell',\n 'url',\n 'URL of the terminal bell sound. Empty string for no audible bell.'],\n\n 'desktop-notification-bell':\n [hterm.PreferenceManager.categories.Sounds, false, 'bool',\n 'If true, terminal bells in the background will create a Web ' +\n 'Notification. https://www.w3.org/TR/notifications/\\n' +\n '\\n'+\n 'Displaying notifications requires permission from the user. When this ' +\n 'option is set to true, hterm will attempt to ask the user for permission ' +\n 'if necessary. Note browsers may not show this permission request if it ' +\n 'did not originate from a user action.\\n' +\n '\\n' +\n 'Chrome extensions with the \"notifications\" permission have permission to ' +\n 'display notifications.'],\n\n 'background-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgb(16, 16, 16)', 'color',\n 'The background color for text with no other color attributes.'],\n\n 'background-image':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image. Empty string for no image.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' url(https://goo.gl/anedTK)\\n' +\n ' linear-gradient(top bottom, blue, red)'],\n\n 'background-size':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image size. Defaults to none.'],\n\n 'background-position':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image position.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' 10% 10%\\n' +\n ' center'],\n\n 'backspace-sends-backspace':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, the backspace should send BS (\\'\\\\x08\\', aka ^H). Otherwise ' +\n 'the backspace key should send \\'\\\\x7f\\'.'],\n\n 'character-map-overrides':\n [hterm.PreferenceManager.categories.Appearance, null, 'value',\n 'This is specified as an object. It is a sparse array, where each ' +\n 'property is the character set code and the value is an object that is ' +\n 'a sparse array itself. In that sparse array, each property is the ' +\n 'received character and the value is the displayed character.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' {\"0\":{\"+\":\"\\\\u2192\",\",\":\"\\\\u2190\",\"-\":\"\\\\u2191\",\".\":\"\\\\u2193\", ' +\n '\"0\":\"\\\\u2588\"}}'\n ],\n\n 'close-on-exit':\n [hterm.PreferenceManager.categories.Miscellaneous, true, 'bool',\n 'Whether or not to close the window when the command exits.'],\n\n 'cursor-blink':\n [hterm.PreferenceManager.categories.Appearance, false, 'bool',\n 'Whether or not to blink the cursor by default.'],\n\n 'cursor-blink-cycle':\n [hterm.PreferenceManager.categories.Appearance, [1000, 500], 'value',\n 'The cursor blink rate in milliseconds.\\n' +\n '\\n' +\n 'A two element array, the first of which is how long the cursor should be ' +\n 'on, second is how long it should be off.'],\n\n 'cursor-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgba(255, 0, 0, 0.5)',\n 'color',\n 'The color of the visible cursor.'],\n\n 'color-palette-overrides':\n [hterm.PreferenceManager.categories.Appearance, null, 'value',\n 'Override colors in the default palette.\\n' +\n '\\n' +\n 'This can be specified as an array or an object. If specified as an ' +\n 'object it is assumed to be a sparse array, where each property ' +\n 'is a numeric index into the color palette.\\n' +\n '\\n' +\n 'Values can be specified as almost any css color value. This ' +\n 'includes #RGB, #RRGGBB, rgb(...), rgba(...), and any color names ' +\n 'that are also part of the stock X11 rgb.txt file.\\n' +\n '\\n' +\n 'You can use \\'null\\' to specify that the default value should be not ' +\n 'be changed. This is useful for skipping a small number of indices ' +\n 'when the value is specified as an array.'],\n\n 'copy-on-select':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Automatically copy mouse selection to the clipboard.'],\n\n 'use-default-window-copy':\n [hterm.PreferenceManager.categories.CopyPaste, false, 'bool',\n 'Whether to use the default window copy behavior'],\n\n 'clear-selection-after-copy':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Whether to clear the selection after copying.'],\n\n 'ctrl-plus-minus-zero-zoom':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'If true, Ctrl-Plus/Minus/Zero controls zoom.\\n' +\n 'If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_, ' +\n 'Ctrl-Plus/Zero do nothing.'],\n\n 'ctrl-c-copy':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Ctrl+C copies if true, send ^C to host if false.\\n' +\n 'Ctrl+Shift+C sends ^C to host if true, copies if false.'],\n\n 'ctrl-v-paste':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Ctrl+V pastes if true, send ^V to host if false.\\n' +\n 'Ctrl+Shift+V sends ^V to host if true, pastes if false.'],\n\n 'east-asian-ambiguous-as-two-column':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Set whether East Asian Ambiguous characters have two column width.'],\n\n 'enable-8-bit-control':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'True to enable 8-bit control characters, false to ignore them.\\n' +\n '\\n' +\n 'We\\'ll respect the two-byte versions of these control characters ' +\n 'regardless of this setting.'],\n\n 'enable-bold':\n [hterm.PreferenceManager.categories.Appearance, null, 'tristate',\n 'True if we should use bold weight font for text with the bold/bright ' +\n 'attribute. False to use the normal weight font. Null to autodetect.'],\n\n 'enable-bold-as-bright':\n [hterm.PreferenceManager.categories.Appearance, true, 'bool',\n 'True if we should use bright colors (8-15 on a 16 color palette) ' +\n 'for any text with the bold attribute. False otherwise.'],\n\n 'enable-blink':\n [hterm.PreferenceManager.categories.Appearance, true, 'bool',\n 'True if we should respect the blink attribute. False to ignore it. '],\n\n 'enable-clipboard-notice':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Show a message in the terminal when the host writes to the clipboard.'],\n\n 'enable-clipboard-write':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Allow the host to write directly to the system clipboard.'],\n\n 'enable-dec12':\n [hterm.PreferenceManager.categories.Miscellaneous, false, 'bool',\n 'Respect the host\\'s attempt to change the cursor blink status using ' +\n 'DEC Private Mode 12.'],\n\n 'environment':\n [hterm.PreferenceManager.categories.Miscellaneous, {'TERM': 'xterm-256color'},\n 'value',\n 'The default environment variables, as an object.'],\n\n 'font-family':\n [hterm.PreferenceManager.categories.Appearance,\n '\"DejaVu Sans Mono\", \"Everson Mono\", FreeMono, \"Menlo\", \"Terminal\", ' +\n 'monospace', 'string',\n 'Default font family for the terminal text.'],\n\n 'font-size':\n [hterm.PreferenceManager.categories.Appearance, 15, 'int',\n 'The default font size in pixels.'],\n\n 'font-smoothing':\n [hterm.PreferenceManager.categories.Appearance, 'antialiased', 'string',\n 'CSS font-smoothing property.'],\n\n 'foreground-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgb(240, 240, 240)', 'color',\n 'The foreground color for text with no other color attributes.'],\n\n 'home-keys-scroll':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, home/end will control the terminal scrollbar and shift home/end ' +\n 'will send the VT keycodes. If false then home/end sends VT codes and ' +\n 'shift home/end scrolls.'],\n\n 'keybindings':\n [hterm.PreferenceManager.categories.Keyboard, null, 'value',\n 'A map of key sequence to key actions. Key sequences include zero or ' +\n 'more modifier keys followed by a key code. Key codes can be decimal or ' +\n 'hexadecimal numbers, or a key identifier. Key actions can be specified ' +\n 'a string to send to the host, or an action identifier. For a full ' +\n 'explanation of the format, see https://goo.gl/LWRndr.\\n' +\n '\\n' +\n 'Sample keybindings:\\n' +\n '{\\n' +\n ' \"Ctrl-Alt-K\": \"clearScrollback\",\\n' +\n ' \"Ctrl-Shift-L\": \"PASS\",\\n' +\n ' \"Ctrl-H\": \"\\'HELLO\\\\n\\'\"\\n' +\n '}'],\n\n 'max-string-sequence':\n [hterm.PreferenceManager.categories.Encoding, 100000, 'int',\n 'Max length of a DCS, OSC, PM, or APS sequence before we give up and ' +\n 'ignore the code.'],\n\n 'media-keys-are-fkeys':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, convert media keys to their Fkey equivalent. If false, let ' +\n 'the browser handle the keys.'],\n\n 'meta-sends-escape':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Set whether the meta key sends a leading escape or not.'],\n\n 'mouse-right-click-paste':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Paste on right mouse button clicks.\\n' +\n '\\n' +\n 'This option is activate independent of the \"mouse-paste-button\" ' +\n 'setting.\\n' +\n '\\n' +\n 'Note: This will handle left & right handed mice correctly.'],\n\n 'mouse-paste-button':\n [hterm.PreferenceManager.categories.CopyPaste, null,\n [null, 0, 1, 2, 3, 4, 5, 6],\n 'Mouse paste button, or null to autodetect.\\n' +\n '\\n' +\n 'For autodetect, we\\'ll use the middle mouse button for non-X11 ' +\n 'platforms (including Chrome OS). On X11, we\\'ll use the right mouse ' +\n 'button (since the native window manager should paste via the middle ' +\n 'mouse button).\\n' +\n '\\n' +\n '0 == left (primary) button.\\n' +\n '1 == middle (auxiliary) button.\\n' +\n '2 == right (secondary) button.\\n' +\n '\\n' +\n 'This option is activate independent of the \"mouse-right-click-paste\" ' +\n 'setting.\\n' +\n '\\n' +\n 'Note: This will handle left & right handed mice correctly.'],\n\n 'word-break-match-left':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^!@#$%&*,;:`]', 'string',\n 'Regular expression to halt matching to the left (start) of a selection.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.\\n' +\n 'We allow \"~\" and \".\" by default as paths frequently start with those.'],\n\n 'word-break-match-right':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^!@#$%&*,;:~.`]', 'string',\n 'Regular expression to halt matching to the right (end) of a selection.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.'],\n\n 'word-break-match-middle':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^]*', 'string',\n 'Regular expression to match all the characters in the middle.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.\\n' +\n '\\n' +\n 'Used to expand the selection surrounding the starting point.'],\n\n 'page-keys-scroll':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, page up/down will control the terminal scrollbar and shift ' +\n 'page up/down will send the VT keycodes. If false then page up/down ' +\n 'sends VT codes and shift page up/down scrolls.'],\n\n 'pass-alt-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Alt-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Alt-1..9 will be handled by the browser. If false, Alt-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-ctrl-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Ctrl-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Ctrl-1..9 will be handled by the browser. If false, Ctrl-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-meta-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Meta-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Meta-1..9 will be handled by the browser. If false, Meta-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-meta-v':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Set whether meta-V gets passed to host.'],\n\n 'receive-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'],\n 'Set the expected encoding for data received from the host.\\n' +\n '\\n' +\n 'Valid values are \\'utf-8\\' and \\'raw\\'.'],\n\n 'scroll-on-keystroke':\n [hterm.PreferenceManager.categories.Scrolling, true, 'bool',\n 'If true, scroll to the bottom on any keystroke.'],\n\n 'scroll-on-output':\n [hterm.PreferenceManager.categories.Scrolling, false, 'bool',\n 'If true, scroll to the bottom on terminal output.'],\n\n 'scrollbar-visible':\n [hterm.PreferenceManager.categories.Scrolling, true, 'bool',\n 'The vertical scrollbar mode.'],\n\n 'scroll-wheel-may-send-arrow-keys':\n [hterm.PreferenceManager.categories.Scrolling, false, 'bool',\n 'When using the alternative screen buffer, and DECCKM (Application Cursor ' +\n 'Keys) is active, mouse wheel scroll events will emulate arrow keys.\\n' +\n '\\n' +\n 'It can be temporarily disabled by holding the shift key.\\n' +\n '\\n' +\n 'This frequently comes up when using pagers (less) or reading man pages ' +\n 'or text editors (vi/nano) or using screen/tmux.'],\n\n 'scroll-wheel-move-multiplier':\n [hterm.PreferenceManager.categories.Scrolling, 1, 'int',\n 'The multiplier for the pixel delta in wheel events caused by the ' +\n 'scroll wheel. Alters how fast the page scrolls.'],\n\n 'send-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'],\n 'Set the encoding for data sent to host.'],\n\n 'terminal-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'iso-2022',\n ['iso-2022', 'utf-8', 'utf-8-locked'],\n 'The default terminal encoding (DOCS).\\n' +\n '\\n' +\n 'ISO-2022 enables character map translations (like graphics maps).\\n' +\n 'UTF-8 disables support for those.\\n' +\n '\\n' +\n 'The locked variant means the encoding cannot be changed at runtime ' +\n 'via terminal escape sequences.\\n' +\n '\\n' +\n 'You should stick with UTF-8 unless you notice broken rendering with ' +\n 'legacy applications.'],\n\n 'shift-insert-paste':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Shift + Insert pastes if true, sent to host if false.'],\n\n 'user-css':\n [hterm.PreferenceManager.categories.Appearance, '', 'url',\n 'URL of user stylesheet to include in the terminal document.'],\n\n 'user-css-text':\n [hterm.PreferenceManager.categories.Appearance, '', 'multiline-string',\n 'Custom CSS text for styling the terminal.'],\n};\n\nhterm.PreferenceManager.prototype =\n Object.create(lib.PreferenceManager.prototype);\nhterm.PreferenceManager.constructor = hterm.PreferenceManager;\n// SOURCE FILE: hterm/js/hterm_pubsub.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Utility class used to add publish/subscribe/unsubscribe functionality to\n * an existing object.\n */\nhterm.PubSub = function() {\n this.observers_ = {};\n};\n\n/**\n * Add publish, subscribe, and unsubscribe methods to an existing object.\n *\n * No other properties of the object are touched, so there is no need to\n * worry about clashing private properties.\n *\n * @param {Object} obj The object to add this behavior to.\n */\nhterm.PubSub.addBehavior = function(obj) {\n var pubsub = new hterm.PubSub();\n for (var m in hterm.PubSub.prototype) {\n obj[m] = hterm.PubSub.prototype[m].bind(pubsub);\n }\n};\n\n/**\n * Subscribe to be notified of messages about a subject.\n *\n * @param {string} subject The subject to subscribe to.\n * @param {function(Object)} callback The function to invoke for notifications.\n */\nhterm.PubSub.prototype.subscribe = function(subject, callback) {\n if (!(subject in this.observers_))\n this.observers_[subject] = [];\n\n this.observers_[subject].push(callback);\n};\n\n/**\n * Unsubscribe from a subject.\n *\n * @param {string} subject The subject to unsubscribe from.\n * @param {function(Object)} callback A callback previously registered via\n * subscribe().\n */\nhterm.PubSub.prototype.unsubscribe = function(subject, callback) {\n var list = this.observers_[subject];\n if (!list)\n throw 'Invalid subject: ' + subject;\n\n var i = list.indexOf(callback);\n if (i < 0)\n throw 'Not subscribed: ' + subject;\n\n list.splice(i, 1);\n};\n\n/**\n * Publish a message about a subject.\n *\n * Subscribers (and the optional final callback) are invoked asynchronously.\n * This method will return before anyone is actually notified.\n *\n * @param {string} subject The subject to publish about.\n * @param {Object} e An arbitrary object associated with this notification.\n * @param {function(Object)} opt_lastCallback An optional function to call after\n * all subscribers have been notified.\n */\nhterm.PubSub.prototype.publish = function(subject, e, opt_lastCallback) {\n function notifyList(i) {\n // Set this timeout before invoking the callback, so we don't have to\n // concern ourselves with exceptions.\n if (i < list.length - 1)\n setTimeout(notifyList, 0, i + 1);\n\n list[i](e);\n }\n\n var list = this.observers_[subject];\n if (list) {\n // Copy the list, in case it changes while we're notifying.\n list = [].concat(list);\n }\n\n if (opt_lastCallback) {\n if (list) {\n list.push(opt_lastCallback);\n } else {\n list = [opt_lastCallback];\n }\n }\n\n if (list)\n setTimeout(notifyList, 0, 0);\n};\n// SOURCE FILE: hterm/js/hterm_screen.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'lib.wc',\n 'hterm.RowCol', 'hterm.Size', 'hterm.TextAttributes');\n\n/**\n * @fileoverview This class represents a single terminal screen full of text.\n *\n * It maintains the current cursor position and has basic methods for text\n * insert and overwrite, and adding or removing rows from the screen.\n *\n * This class has no knowledge of the scrollback buffer.\n *\n * The number of rows on the screen is determined only by the number of rows\n * that the caller inserts into the screen. If a caller wants to ensure a\n * constant number of rows on the screen, it's their responsibility to remove a\n * row for each row inserted.\n *\n * The screen width, in contrast, is enforced locally.\n *\n *\n * In practice...\n * - The hterm.Terminal class holds two hterm.Screen instances. One for the\n * primary screen and one for the alternate screen.\n *\n * - The html.Screen class only cares that rows are HTMLElements. In the\n * larger context of hterm, however, the rows happen to be displayed by an\n * hterm.ScrollPort and have to follow a few rules as a result. Each\n * row must be rooted by the custom HTML tag 'x-row', and each must have a\n * rowIndex property that corresponds to the index of the row in the context\n * of the scrollback buffer. These invariants are enforced by hterm.Terminal\n * because that is the class using the hterm.Screen in the context of an\n * hterm.ScrollPort.\n */\n\n/**\n * Create a new screen instance.\n *\n * The screen initially has no rows and a maximum column count of 0.\n *\n * @param {integer} opt_columnCount The maximum number of columns for this\n * screen. See insertString() and overwriteString() for information about\n * what happens when too many characters are added too a row. Defaults to\n * 0 if not provided.\n */\nhterm.Screen = function(opt_columnCount) {\n /**\n * Public, read-only access to the rows in this screen.\n */\n this.rowsArray = [];\n\n // The max column width for this screen.\n this.columnCount_ = opt_columnCount || 80;\n\n // The current color, bold, underline and blink attributes.\n this.textAttributes = new hterm.TextAttributes(window.document);\n\n // Current zero-based cursor coordinates.\n this.cursorPosition = new hterm.RowCol(0, 0);\n\n // The node containing the row that the cursor is positioned on.\n this.cursorRowNode_ = null;\n\n // The node containing the span of text that the cursor is positioned on.\n this.cursorNode_ = null;\n\n // The offset in column width into cursorNode_ where the cursor is positioned.\n this.cursorOffset_ = null;\n\n // Regexes for expanding word selections.\n this.wordBreakMatchLeft = null;\n this.wordBreakMatchRight = null;\n this.wordBreakMatchMiddle = null;\n};\n\n/**\n * Return the screen size as an hterm.Size object.\n *\n * @return {hterm.Size} hterm.Size object representing the current number\n * of rows and columns in this screen.\n */\nhterm.Screen.prototype.getSize = function() {\n return new hterm.Size(this.columnCount_, this.rowsArray.length);\n};\n\n/**\n * Return the current number of rows in this screen.\n *\n * @return {integer} The number of rows in this screen.\n */\nhterm.Screen.prototype.getHeight = function() {\n return this.rowsArray.length;\n};\n\n/**\n * Return the current number of columns in this screen.\n *\n * @return {integer} The number of columns in this screen.\n */\nhterm.Screen.prototype.getWidth = function() {\n return this.columnCount_;\n};\n\n/**\n * Set the maximum number of columns per row.\n *\n * @param {integer} count The maximum number of columns per row.\n */\nhterm.Screen.prototype.setColumnCount = function(count) {\n this.columnCount_ = count;\n\n if (this.cursorPosition.column >= count)\n this.setCursorPosition(this.cursorPosition.row, count - 1);\n};\n\n/**\n * Remove the first row from the screen and return it.\n *\n * @return {HTMLElement} The first row in this screen.\n */\nhterm.Screen.prototype.shiftRow = function() {\n return this.shiftRows(1)[0];\n};\n\n/**\n * Remove rows from the top of the screen and return them as an array.\n *\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.shiftRows = function(count) {\n return this.rowsArray.splice(0, count);\n};\n\n/**\n * Insert a row at the top of the screen.\n *\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.unshiftRow = function(row) {\n this.rowsArray.splice(0, 0, row);\n};\n\n/**\n * Insert rows at the top of the screen.\n *\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.unshiftRows = function(rows) {\n this.rowsArray.unshift.apply(this.rowsArray, rows);\n};\n\n/**\n * Remove the last row from the screen and return it.\n *\n * @return {HTMLElement} The last row in this screen.\n */\nhterm.Screen.prototype.popRow = function() {\n return this.popRows(1)[0];\n};\n\n/**\n * Remove rows from the bottom of the screen and return them as an array.\n *\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.popRows = function(count) {\n return this.rowsArray.splice(this.rowsArray.length - count, count);\n};\n\n/**\n * Insert a row at the bottom of the screen.\n *\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.pushRow = function(row) {\n this.rowsArray.push(row);\n};\n\n/**\n * Insert rows at the bottom of the screen.\n *\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.pushRows = function(rows) {\n rows.push.apply(this.rowsArray, rows);\n};\n\n/**\n * Insert a row at the specified row of the screen.\n *\n * @param {integer} index The index to insert the row.\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.insertRow = function(index, row) {\n this.rowsArray.splice(index, 0, row);\n};\n\n/**\n * Insert rows at the specified row of the screen.\n *\n * @param {integer} index The index to insert the rows.\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.insertRows = function(index, rows) {\n for (var i = 0; i < rows.length; i++) {\n this.rowsArray.splice(index + i, 0, rows[i]);\n }\n};\n\n/**\n * Remove a row from the screen and return it.\n *\n * @param {integer} index The index of the row to remove.\n * @return {HTMLElement} The selected row.\n */\nhterm.Screen.prototype.removeRow = function(index) {\n return this.rowsArray.splice(index, 1)[0];\n};\n\n/**\n * Remove rows from the bottom of the screen and return them as an array.\n *\n * @param {integer} index The index to start removing rows.\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.removeRows = function(index, count) {\n return this.rowsArray.splice(index, count);\n};\n\n/**\n * Invalidate the current cursor position.\n *\n * This sets this.cursorPosition to (0, 0) and clears out some internal\n * data.\n *\n * Attempting to insert or overwrite text while the cursor position is invalid\n * will raise an obscure exception.\n */\nhterm.Screen.prototype.invalidateCursorPosition = function() {\n this.cursorPosition.move(0, 0);\n this.cursorRowNode_ = null;\n this.cursorNode_ = null;\n this.cursorOffset_ = null;\n};\n\n/**\n * Clear the contents of the cursor row.\n */\nhterm.Screen.prototype.clearCursorRow = function() {\n this.cursorRowNode_.innerHTML = '';\n this.cursorRowNode_.removeAttribute('line-overflow');\n this.cursorOffset_ = 0;\n this.cursorPosition.column = 0;\n this.cursorPosition.overflow = false;\n\n var text;\n if (this.textAttributes.isDefault()) {\n text = '';\n } else {\n text = lib.f.getWhitespace(this.columnCount_);\n }\n\n // We shouldn't honor inverse colors when clearing an area, to match\n // xterm's back color erase behavior.\n var inverse = this.textAttributes.inverse;\n this.textAttributes.inverse = false;\n this.textAttributes.syncColors();\n\n var node = this.textAttributes.createContainer(text);\n this.cursorRowNode_.appendChild(node);\n this.cursorNode_ = node;\n\n this.textAttributes.inverse = inverse;\n this.textAttributes.syncColors();\n};\n\n/**\n * Mark the current row as having overflowed to the next line.\n *\n * The line overflow state is used when converting a range of rows into text.\n * It makes it possible to recombine two or more overflow terminal rows into\n * a single line.\n *\n * This is distinct from the cursor being in the overflow state. Cursor\n * overflow indicates that printing at the cursor position will commit a\n * line overflow, unless it is preceded by a repositioning of the cursor\n * to a non-overflow state.\n */\nhterm.Screen.prototype.commitLineOverflow = function() {\n this.cursorRowNode_.setAttribute('line-overflow', true);\n};\n\n/**\n * Relocate the cursor to a give row and column.\n *\n * @param {integer} row The zero based row.\n * @param {integer} column The zero based column.\n */\nhterm.Screen.prototype.setCursorPosition = function(row, column) {\n if (!this.rowsArray.length) {\n console.warn('Attempt to set cursor position on empty screen.');\n return;\n }\n\n if (row >= this.rowsArray.length) {\n console.error('Row out of bounds: ' + row);\n row = this.rowsArray.length - 1;\n } else if (row < 0) {\n console.error('Row out of bounds: ' + row);\n row = 0;\n }\n\n if (column >= this.columnCount_) {\n console.error('Column out of bounds: ' + column);\n column = this.columnCount_ - 1;\n } else if (column < 0) {\n console.error('Column out of bounds: ' + column);\n column = 0;\n }\n\n this.cursorPosition.overflow = false;\n\n var rowNode = this.rowsArray[row];\n var node = rowNode.firstChild;\n\n if (!node) {\n node = rowNode.ownerDocument.createTextNode('');\n rowNode.appendChild(node);\n }\n\n var currentColumn = 0;\n\n if (rowNode == this.cursorRowNode_) {\n if (column >= this.cursorPosition.column - this.cursorOffset_) {\n node = this.cursorNode_;\n currentColumn = this.cursorPosition.column - this.cursorOffset_;\n }\n } else {\n this.cursorRowNode_ = rowNode;\n }\n\n this.cursorPosition.move(row, column);\n\n while (node) {\n var offset = column - currentColumn;\n var width = hterm.TextAttributes.nodeWidth(node);\n if (!node.nextSibling || width > offset) {\n this.cursorNode_ = node;\n this.cursorOffset_ = offset;\n return;\n }\n\n currentColumn += width;\n node = node.nextSibling;\n }\n};\n\n/**\n * Set the provided selection object to be a caret selection at the current\n * cursor position.\n */\nhterm.Screen.prototype.syncSelectionCaret = function(selection) {\n try {\n selection.collapse(this.cursorNode_, this.cursorOffset_);\n } catch (firefoxIgnoredException) {\n // FF can throw an exception if the range is off, rather than just not\n // performing the collapse.\n }\n};\n\n/**\n * Split a single node into two nodes at the given offset.\n *\n * For example:\n * Given the DOM fragment '
Hello World
', call splitNode_\n * passing the span and an offset of 6. This would modify the fragment to\n * become: '
Hello World
'. If the span\n * had any attributes they would have been copied to the new span as well.\n *\n * The to-be-split node must have a container, so that the new node can be\n * placed next to it.\n *\n * @param {HTMLNode} node The node to split.\n * @param {integer} offset The offset into the node where the split should\n * occur.\n */\nhterm.Screen.prototype.splitNode_ = function(node, offset) {\n var afterNode = node.cloneNode(false);\n\n var textContent = node.textContent;\n node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset);\n afterNode.textContent = lib.wc.substr(textContent, offset);\n\n if (afterNode.textContent)\n node.parentNode.insertBefore(afterNode, node.nextSibling);\n if (!node.textContent)\n node.parentNode.removeChild(node);\n};\n\n/**\n * Ensure that text is clipped and the cursor is clamped to the column count.\n */\nhterm.Screen.prototype.maybeClipCurrentRow = function() {\n var width = hterm.TextAttributes.nodeWidth(this.cursorRowNode_);\n\n if (width <= this.columnCount_) {\n // Current row does not need clipping, but may need clamping.\n if (this.cursorPosition.column >= this.columnCount_) {\n this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1);\n this.cursorPosition.overflow = true;\n }\n\n return;\n }\n\n // Save off the current column so we can maybe restore it later.\n var currentColumn = this.cursorPosition.column;\n\n // Move the cursor to the final column.\n this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1);\n\n // Remove any text that partially overflows.\n width = hterm.TextAttributes.nodeWidth(this.cursorNode_);\n\n if (this.cursorOffset_ < width - 1) {\n this.cursorNode_.textContent = hterm.TextAttributes.nodeSubstr(\n this.cursorNode_, 0, this.cursorOffset_ + 1);\n }\n\n // Remove all nodes after the cursor.\n var rowNode = this.cursorRowNode_;\n var node = this.cursorNode_.nextSibling;\n\n while (node) {\n rowNode.removeChild(node);\n node = this.cursorNode_.nextSibling;\n }\n\n if (currentColumn < this.columnCount_) {\n // If the cursor was within the screen before we started then restore its\n // position.\n this.setCursorPosition(this.cursorPosition.row, currentColumn);\n } else {\n // Otherwise leave it at the the last column in the overflow state.\n this.cursorPosition.overflow = true;\n }\n};\n\n/**\n * Insert a string at the current character position using the current\n * text attributes.\n *\n * You must call maybeClipCurrentRow() after in order to clip overflowed\n * text and clamp the cursor.\n *\n * It is also up to the caller to properly maintain the line overflow state\n * using hterm.Screen..commitLineOverflow().\n */\nhterm.Screen.prototype.insertString = function(str) {\n var cursorNode = this.cursorNode_;\n var cursorNodeText = cursorNode.textContent;\n\n this.cursorRowNode_.removeAttribute('line-overflow');\n\n // We may alter the width of the string by prepending some missing\n // whitespaces, so we need to record the string width ahead of time.\n var strWidth = lib.wc.strWidth(str);\n\n // No matter what, before this function exits the cursor column will have\n // moved this much.\n this.cursorPosition.column += strWidth;\n\n // Local cache of the cursor offset.\n var offset = this.cursorOffset_;\n\n // Reverse offset is the offset measured from the end of the string.\n // Zero implies that the cursor is at the end of the cursor node.\n var reverseOffset = hterm.TextAttributes.nodeWidth(cursorNode) - offset;\n\n if (reverseOffset < 0) {\n // A negative reverse offset means the cursor is positioned past the end\n // of the characters on this line. We'll need to insert the missing\n // whitespace.\n var ws = lib.f.getWhitespace(-reverseOffset);\n\n // This whitespace should be completely unstyled. Underline, background\n // color, and strikethrough would be visible on whitespace, so we can't use\n // one of those spans to hold the text.\n if (!(this.textAttributes.underline ||\n this.textAttributes.strikethrough ||\n this.textAttributes.background ||\n this.textAttributes.wcNode ||\n !this.textAttributes.asciiNode ||\n this.textAttributes.tileData != null)) {\n // Best case scenario, we can just pretend the spaces were part of the\n // original string.\n str = ws + str;\n } else if (cursorNode.nodeType == 3 ||\n !(cursorNode.wcNode ||\n !cursorNode.asciiNode ||\n cursorNode.tileNode ||\n cursorNode.style.textDecoration ||\n cursorNode.style.backgroundColor)) {\n // Second best case, the current node is able to hold the whitespace.\n cursorNode.textContent = (cursorNodeText += ws);\n } else {\n // Worst case, we have to create a new node to hold the whitespace.\n var wsNode = cursorNode.ownerDocument.createTextNode(ws);\n this.cursorRowNode_.insertBefore(wsNode, cursorNode.nextSibling);\n this.cursorNode_ = cursorNode = wsNode;\n this.cursorOffset_ = offset = -reverseOffset;\n cursorNodeText = ws;\n }\n\n // We now know for sure that we're at the last character of the cursor node.\n reverseOffset = 0;\n }\n\n if (this.textAttributes.matchesContainer(cursorNode)) {\n // The new text can be placed directly in the cursor node.\n if (reverseOffset == 0) {\n cursorNode.textContent = cursorNodeText + str;\n } else if (offset == 0) {\n cursorNode.textContent = str + cursorNodeText;\n } else {\n cursorNode.textContent =\n hterm.TextAttributes.nodeSubstr(cursorNode, 0, offset) +\n str + hterm.TextAttributes.nodeSubstr(cursorNode, offset);\n }\n\n this.cursorOffset_ += strWidth;\n return;\n }\n\n // The cursor node is the wrong style for the new text. If we're at the\n // beginning or end of the cursor node, then the adjacent node is also a\n // potential candidate.\n\n if (offset == 0) {\n // At the beginning of the cursor node, the check the previous sibling.\n var previousSibling = cursorNode.previousSibling;\n if (previousSibling &&\n this.textAttributes.matchesContainer(previousSibling)) {\n previousSibling.textContent += str;\n this.cursorNode_ = previousSibling;\n this.cursorOffset_ = lib.wc.strWidth(previousSibling.textContent);\n return;\n }\n\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, cursorNode);\n this.cursorNode_ = newNode;\n this.cursorOffset_ = strWidth;\n return;\n }\n\n if (reverseOffset == 0) {\n // At the end of the cursor node, the check the next sibling.\n var nextSibling = cursorNode.nextSibling;\n if (nextSibling &&\n this.textAttributes.matchesContainer(nextSibling)) {\n nextSibling.textContent = str + nextSibling.textContent;\n this.cursorNode_ = nextSibling;\n this.cursorOffset_ = lib.wc.strWidth(str);\n return;\n }\n\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, nextSibling);\n this.cursorNode_ = newNode;\n // We specifically need to include any missing whitespace here, since it's\n // going in a new node.\n this.cursorOffset_ = hterm.TextAttributes.nodeWidth(newNode);\n return;\n }\n\n // Worst case, we're somewhere in the middle of the cursor node. We'll\n // have to split it into two nodes and insert our new container in between.\n this.splitNode_(cursorNode, offset);\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, cursorNode.nextSibling);\n this.cursorNode_ = newNode;\n this.cursorOffset_ = strWidth;\n};\n\n/**\n * Overwrite the text at the current cursor position.\n *\n * You must call maybeClipCurrentRow() after in order to clip overflowed\n * text and clamp the cursor.\n *\n * It is also up to the caller to properly maintain the line overflow state\n * using hterm.Screen..commitLineOverflow().\n */\nhterm.Screen.prototype.overwriteString = function(str) {\n var maxLength = this.columnCount_ - this.cursorPosition.column;\n if (!maxLength)\n return [str];\n\n var width = lib.wc.strWidth(str);\n if (this.textAttributes.matchesContainer(this.cursorNode_) &&\n this.cursorNode_.textContent.substr(this.cursorOffset_) == str) {\n // This overwrite would be a no-op, just move the cursor and return.\n this.cursorOffset_ += width;\n this.cursorPosition.column += width;\n return;\n }\n\n this.deleteChars(Math.min(width, maxLength));\n this.insertString(str);\n};\n\n/**\n * Forward-delete one or more characters at the current cursor position.\n *\n * Text to the right of the deleted characters is shifted left. Only affects\n * characters on the same row as the cursor.\n *\n * @param {integer} count The column width of characters to delete. This is\n * clamped to the column width minus the cursor column.\n * @return {integer} The column width of the characters actually deleted.\n */\nhterm.Screen.prototype.deleteChars = function(count) {\n var node = this.cursorNode_;\n var offset = this.cursorOffset_;\n\n var currentCursorColumn = this.cursorPosition.column;\n count = Math.min(count, this.columnCount_ - currentCursorColumn);\n if (!count)\n return 0;\n\n var rv = count;\n var startLength, endLength;\n\n while (node && count) {\n startLength = hterm.TextAttributes.nodeWidth(node);\n node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset) +\n hterm.TextAttributes.nodeSubstr(node, offset + count);\n endLength = hterm.TextAttributes.nodeWidth(node);\n count -= startLength - endLength;\n if (offset < startLength && endLength && startLength == endLength) {\n // No characters were deleted when there should be. We're probably trying\n // to delete one column width from a wide character node. We remove the\n // wide character node here and replace it with a single space.\n var spaceNode = this.textAttributes.createContainer(' ');\n node.parentNode.insertBefore(spaceNode, node.nextSibling);\n node.textContent = '';\n endLength = 0;\n count -= 1;\n }\n\n var nextNode = node.nextSibling;\n if (endLength == 0 && node != this.cursorNode_) {\n node.parentNode.removeChild(node);\n }\n node = nextNode;\n offset = 0;\n }\n\n // Remove this.cursorNode_ if it is an empty non-text node.\n if (this.cursorNode_.nodeType != 3 && !this.cursorNode_.textContent) {\n var cursorNode = this.cursorNode_;\n if (cursorNode.previousSibling) {\n this.cursorNode_ = cursorNode.previousSibling;\n this.cursorOffset_ = hterm.TextAttributes.nodeWidth(\n cursorNode.previousSibling);\n } else if (cursorNode.nextSibling) {\n this.cursorNode_ = cursorNode.nextSibling;\n this.cursorOffset_ = 0;\n } else {\n var emptyNode = this.cursorRowNode_.ownerDocument.createTextNode('');\n this.cursorRowNode_.appendChild(emptyNode);\n this.cursorNode_ = emptyNode;\n this.cursorOffset_ = 0;\n }\n this.cursorRowNode_.removeChild(cursorNode);\n }\n\n return rv;\n};\n\n/**\n * Finds first X-ROW of a line containing specified X-ROW.\n * Used to support line overflow.\n *\n * @param {Node} row X-ROW to begin search for first row of line.\n * @return {Node} The X-ROW that is at the beginning of the line.\n **/\nhterm.Screen.prototype.getLineStartRow_ = function(row) {\n while (row.previousSibling &&\n row.previousSibling.hasAttribute('line-overflow')) {\n row = row.previousSibling;\n }\n return row;\n};\n\n/**\n * Gets text of a line beginning with row.\n * Supports line overflow.\n *\n * @param {Node} row First X-ROW of line.\n * @return {string} Text content of line.\n **/\nhterm.Screen.prototype.getLineText_ = function(row) {\n var rowText = \"\";\n while (row) {\n rowText += row.textContent;\n if (row.hasAttribute('line-overflow')) {\n row = row.nextSibling;\n } else {\n break;\n }\n }\n return rowText;\n};\n\n/**\n * Returns X-ROW that is ancestor of the node.\n *\n * @param {Node} node Node to get X-ROW ancestor for.\n * @return {Node} X-ROW ancestor of node, or null if not found.\n **/\nhterm.Screen.prototype.getXRowAncestor_ = function(node) {\n while (node) {\n if (node.nodeName === 'X-ROW')\n break;\n node = node.parentNode;\n }\n return node;\n};\n\n/**\n * Returns position within line of character at offset within node.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {Node} node Node to get position of.\n * @param {integer} offset Offset into node.\n *\n * @return {integer} Position within line of character at offset within node.\n **/\nhterm.Screen.prototype.getPositionWithOverflow_ = function(row, node, offset) {\n if (!node)\n return -1;\n var ancestorRow = this.getXRowAncestor_(node);\n if (!ancestorRow)\n return -1;\n var position = 0;\n while (ancestorRow != row) {\n position += hterm.TextAttributes.nodeWidth(row);\n if (row.hasAttribute('line-overflow') && row.nextSibling) {\n row = row.nextSibling;\n } else {\n return -1;\n }\n }\n return position + this.getPositionWithinRow_(row, node, offset);\n};\n\n/**\n * Returns position within row of character at offset within node.\n * Does not support line overflow.\n *\n * @param {Node} row X-ROW to get position within.\n * @param {Node} node Node to get position for.\n * @param {integer} offset Offset within node to get position for.\n * @return {integer} Position within row of character at offset within node.\n **/\nhterm.Screen.prototype.getPositionWithinRow_ = function(row, node, offset) {\n if (node.parentNode != row) {\n // If we traversed to the top node, then there's nothing to find here.\n if (node.parentNode == null)\n return -1;\n\n return this.getPositionWithinRow_(node.parentNode, node, offset) +\n this.getPositionWithinRow_(row, node.parentNode, 0);\n }\n var position = 0;\n for (var i = 0; i < row.childNodes.length; i++) {\n var currentNode = row.childNodes[i];\n if (currentNode == node)\n return position + offset;\n position += hterm.TextAttributes.nodeWidth(currentNode);\n }\n return -1;\n};\n\n/**\n * Returns the node and offset corresponding to position within line.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {integer} position Position within line to retrieve node and offset.\n * @return {Array} Two element array containing node and offset respectively.\n **/\nhterm.Screen.prototype.getNodeAndOffsetWithOverflow_ = function(row, position) {\n while (row && position > hterm.TextAttributes.nodeWidth(row)) {\n if (row.hasAttribute('line-overflow') && row.nextSibling) {\n position -= hterm.TextAttributes.nodeWidth(row);\n row = row.nextSibling;\n } else {\n return -1;\n }\n }\n return this.getNodeAndOffsetWithinRow_(row, position);\n};\n\n/**\n * Returns the node and offset corresponding to position within row.\n * Does not support line overflow.\n *\n * @param {Node} row X-ROW to get position within.\n * @param {integer} position Position within row to retrieve node and offset.\n * @return {Array} Two element array containing node and offset respectively.\n **/\nhterm.Screen.prototype.getNodeAndOffsetWithinRow_ = function(row, position) {\n for (var i = 0; i < row.childNodes.length; i++) {\n var node = row.childNodes[i];\n var nodeTextWidth = hterm.TextAttributes.nodeWidth(node);\n if (position <= nodeTextWidth) {\n if (node.nodeName === 'SPAN') {\n /** Drill down to node contained by SPAN. **/\n return this.getNodeAndOffsetWithinRow_(node, position);\n } else {\n return [node, position];\n }\n }\n position -= nodeTextWidth;\n }\n return null;\n};\n\n/**\n * Returns the node and offset corresponding to position within line.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {integer} start Start position of range within line.\n * @param {integer} end End position of range within line.\n * @param {Range} range Range to modify.\n **/\nhterm.Screen.prototype.setRange_ = function(row, start, end, range) {\n var startNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, start);\n if (startNodeAndOffset == null)\n return;\n var endNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, end);\n if (endNodeAndOffset == null)\n return;\n range.setStart(startNodeAndOffset[0], startNodeAndOffset[1]);\n range.setEnd(endNodeAndOffset[0], endNodeAndOffset[1]);\n};\n\n/**\n * Expands selection to surround URLs.\n *\n * @param {Selection} selection Selection to expand.\n **/\nhterm.Screen.prototype.expandSelection = function(selection) {\n if (!selection)\n return;\n\n var range = selection.getRangeAt(0);\n if (!range || range.toString().match(/\\s/))\n return;\n\n var row = this.getLineStartRow_(this.getXRowAncestor_(range.startContainer));\n if (!row)\n return;\n\n var startPosition = this.getPositionWithOverflow_(row,\n range.startContainer,\n range.startOffset);\n if (startPosition == -1)\n return;\n var endPosition = this.getPositionWithOverflow_(row,\n range.endContainer,\n range.endOffset);\n if (endPosition == -1)\n return;\n\n // Use the user configurable match settings.\n var leftMatch = this.wordBreakMatchLeft;\n var rightMatch = this.wordBreakMatchRight;\n var insideMatch = this.wordBreakMatchMiddle;\n\n //Move start to the left.\n var rowText = this.getLineText_(row);\n var lineUpToRange = lib.wc.substring(rowText, 0, endPosition);\n var leftRegularExpression = new RegExp(leftMatch + insideMatch + \"$\");\n var expandedStart = lineUpToRange.search(leftRegularExpression);\n if (expandedStart == -1 || expandedStart > startPosition)\n return;\n\n //Move end to the right.\n var lineFromRange = lib.wc.substring(rowText, startPosition,\n lib.wc.strWidth(rowText));\n var rightRegularExpression = new RegExp(\"^\" + insideMatch + rightMatch);\n var found = lineFromRange.match(rightRegularExpression);\n if (!found)\n return;\n var expandedEnd = startPosition + lib.wc.strWidth(found[0]);\n if (expandedEnd == -1 || expandedEnd < endPosition)\n return;\n\n this.setRange_(row, expandedStart, expandedEnd, range);\n selection.addRange(range);\n};\n// SOURCE FILE: hterm/js/hterm_scrollport.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'hterm.PubSub', 'hterm.Size');\n\n/**\n * A 'viewport' view of fixed-height rows with support for selection and\n * copy-to-clipboard.\n *\n * 'Viewport' in this case means that only the visible rows are in the DOM.\n * If the rowProvider has 100,000 rows, but the ScrollPort is only 25 rows\n * tall, then only 25 dom nodes are created. The ScrollPort will ask the\n * RowProvider to create new visible rows on demand as they are scrolled in\n * to the visible area.\n *\n * This viewport is designed so that select and copy-to-clipboard still works,\n * even when all or part of the selection is scrolled off screen.\n *\n * Note that the X11 mouse clipboard does not work properly when all or part\n * of the selection is off screen. It would be difficult to fix this without\n * adding significant overhead to pathologically large selection cases.\n *\n * The RowProvider should return rows rooted by the custom tag name 'x-row'.\n * This ensures that we can quickly assign the correct display height\n * to the rows with css.\n *\n * @param {RowProvider} rowProvider An object capable of providing rows as\n * raw text or row nodes.\n */\nhterm.ScrollPort = function(rowProvider) {\n hterm.PubSub.addBehavior(this);\n\n this.rowProvider_ = rowProvider;\n\n // SWAG the character size until we can measure it.\n this.characterSize = new hterm.Size(10, 10);\n\n // DOM node used for character measurement.\n this.ruler_ = null;\n\n this.selection = new hterm.ScrollPort.Selection(this);\n\n // A map of rowIndex => rowNode for each row that is drawn as part of a\n // pending redraw_() call. Null if there is no pending redraw_ call.\n this.currentRowNodeCache_ = null;\n\n // A map of rowIndex => rowNode for each row that was drawn as part of the\n // previous redraw_() call.\n this.previousRowNodeCache_ = {};\n\n // Used during scroll events to detect when the underlying cause is a resize.\n this.lastScreenWidth_ = null;\n this.lastScreenHeight_ = null;\n\n // True if the user should be allowed to select text in the terminal.\n // This is disabled when the host requests mouse drag events so that we don't\n // end up with two notions of selection.\n this.selectionEnabled_ = true;\n\n // The last row count returned by the row provider, re-populated during\n // syncScrollHeight().\n this.lastRowCount_ = 0;\n\n // The scroll wheel pixel delta multiplier to increase/decrease\n // the scroll speed of mouse wheel events. See: https://goo.gl/sXelnq\n this.scrollWheelMultiplier_ = 1;\n\n // The last touch events we saw to support touch based scrolling. Indexed\n // by touch identifier since we can have more than one touch active.\n this.lastTouch_ = {};\n\n /**\n * True if the last scroll caused the scrollport to show the final row.\n */\n this.isScrolledEnd = true;\n\n /**\n * A guess at the current scrollbar width, fixed in resize().\n */\n this.currentScrollbarWidthPx = 16;\n\n /**\n * Whether the ctrl-v key on the screen should paste.\n */\n this.ctrlVPaste = false;\n\n this.div_ = null;\n this.document_ = null;\n\n // Collection of active timeout handles.\n this.timeouts_ = {};\n\n this.observers_ = {};\n\n this.DEBUG_ = false;\n}\n\n/**\n * Proxy for the native selection object which understands how to walk up the\n * DOM to find the containing row node and sort out which comes first.\n *\n * @param {hterm.ScrollPort} scrollPort The parent hterm.ScrollPort instance.\n */\nhterm.ScrollPort.Selection = function(scrollPort) {\n this.scrollPort_ = scrollPort;\n\n /**\n * The row containing the start of the selection.\n *\n * This may be partially or fully selected. It may be the selection anchor\n * or the focus, but its rowIndex is guaranteed to be less-than-or-equal-to\n * that of the endRow.\n *\n * If only one row is selected then startRow == endRow. If there is no\n * selection or the selection is collapsed then startRow == null.\n */\n this.startRow = null;\n\n /**\n * The row containing the end of the selection.\n *\n * This may be partially or fully selected. It may be the selection anchor\n * or the focus, but its rowIndex is guaranteed to be greater-than-or-equal-to\n * that of the startRow.\n *\n * If only one row is selected then startRow == endRow. If there is no\n * selection or the selection is collapsed then startRow == null.\n */\n this.endRow = null;\n\n /**\n * True if startRow != endRow.\n */\n this.isMultiline = null;\n\n /**\n * True if the selection is just a point rather than a range.\n */\n this.isCollapsed = null;\n};\n\n/**\n * Given a list of DOM nodes and a container, return the DOM node that\n * is first according to a depth-first search.\n *\n * Returns null if none of the children are found.\n */\nhterm.ScrollPort.Selection.prototype.findFirstChild = function(\n parent, childAry) {\n var node = parent.firstChild;\n\n while (node) {\n if (childAry.indexOf(node) != -1)\n return node;\n\n if (node.childNodes.length) {\n var rv = this.findFirstChild(node, childAry);\n if (rv)\n return rv;\n }\n\n node = node.nextSibling;\n }\n\n return null;\n};\n\n/**\n * Synchronize this object with the current DOM selection.\n *\n * This is a one-way synchronization, the DOM selection is copied to this\n * object, not the other way around.\n */\nhterm.ScrollPort.Selection.prototype.sync = function() {\n var self = this;\n\n // The dom selection object has no way to tell which nodes come first in\n // the document, so we have to figure that out.\n //\n // This function is used when we detect that the \"anchor\" node is first.\n function anchorFirst() {\n self.startRow = anchorRow;\n self.startNode = selection.anchorNode;\n self.startOffset = selection.anchorOffset;\n self.endRow = focusRow;\n self.endNode = selection.focusNode;\n self.endOffset = selection.focusOffset;\n }\n\n // This function is used when we detect that the \"focus\" node is first.\n function focusFirst() {\n self.startRow = focusRow;\n self.startNode = selection.focusNode;\n self.startOffset = selection.focusOffset;\n self.endRow = anchorRow;\n self.endNode = selection.anchorNode;\n self.endOffset = selection.anchorOffset;\n }\n\n var selection = this.scrollPort_.getDocument().getSelection();\n\n this.startRow = null;\n this.endRow = null;\n this.isMultiline = null;\n this.isCollapsed = !selection || selection.isCollapsed;\n\n if (this.isCollapsed)\n return;\n\n var anchorRow = selection.anchorNode;\n while (anchorRow && !('rowIndex' in anchorRow)) {\n anchorRow = anchorRow.parentNode;\n }\n\n if (!anchorRow) {\n console.error('Selection anchor is not rooted in a row node: ' +\n selection.anchorNode.nodeName);\n return;\n }\n\n var focusRow = selection.focusNode;\n while (focusRow && !('rowIndex' in focusRow)) {\n focusRow = focusRow.parentNode;\n }\n\n if (!focusRow) {\n console.error('Selection focus is not rooted in a row node: ' +\n selection.focusNode.nodeName);\n return;\n }\n\n if (anchorRow.rowIndex < focusRow.rowIndex) {\n anchorFirst();\n\n } else if (anchorRow.rowIndex > focusRow.rowIndex) {\n focusFirst();\n\n } else if (selection.focusNode == selection.anchorNode) {\n if (selection.anchorOffset < selection.focusOffset) {\n anchorFirst();\n } else {\n focusFirst();\n }\n\n } else {\n // The selection starts and ends in the same row, but isn't contained all\n // in a single node.\n var firstNode = this.findFirstChild(\n anchorRow, [selection.anchorNode, selection.focusNode]);\n\n if (!firstNode)\n throw new Error('Unexpected error syncing selection.');\n\n if (firstNode == selection.anchorNode) {\n anchorFirst();\n } else {\n focusFirst();\n }\n }\n\n this.isMultiline = anchorRow.rowIndex != focusRow.rowIndex;\n};\n\n\n/**\n * Turn a div into this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.decorate = function(div) {\n this.div_ = div;\n\n this.iframe_ = div.ownerDocument.createElement('iframe');\n this.iframe_.style.cssText = (\n 'border: 0;' +\n 'height: 100%;' +\n 'position: absolute;' +\n 'width: 100%');\n\n // Set the iframe src to # in FF. Otherwise when the frame's\n // load event fires in FF it clears out the content of the iframe.\n if ('mozInnerScreenX' in window) // detect a FF only property\n this.iframe_.src = '#';\n\n div.appendChild(this.iframe_);\n\n this.iframe_.contentWindow.addEventListener('resize',\n this.onResize_.bind(this));\n\n var doc = this.document_ = this.iframe_.contentDocument;\n doc.body.style.cssText = (\n 'margin: 0px;' +\n 'padding: 0px;' +\n 'height: 100%;' +\n 'width: 100%;' +\n 'overflow: hidden;' +\n 'cursor: var(--hterm-mouse-cursor-style);' +\n '-webkit-user-select: none;' +\n '-moz-user-select: none;');\n\n if (this.DEBUG_) {\n // When we're debugging we add padding to the body so that the offscreen\n // elements are visible.\n this.document_.body.style.paddingTop =\n this.document_.body.style.paddingBottom =\n 'calc(var(--hterm-charsize-height) * 3)';\n }\n\n var style = doc.createElement('style');\n style.textContent = (\n 'x-row {' +\n ' display: block;' +\n ' height: var(--hterm-charsize-height);' +\n ' line-height: var(--hterm-charsize-height);' +\n '}');\n doc.head.appendChild(style);\n\n this.userCssLink_ = doc.createElement('link');\n this.userCssLink_.setAttribute('rel', 'stylesheet');\n\n this.userCssText_ = doc.createElement('style');\n doc.head.appendChild(this.userCssText_);\n\n // TODO(rginda): Sorry, this 'screen_' isn't the same thing as hterm.Screen\n // from screen.js. I need to pick a better name for one of them to avoid\n // the collision.\n // We make this field editable even though we don't actually allow anything\n // to be edited here so that Chrome will do the right thing with virtual\n // keyboards and IMEs. But make sure we turn off all the input helper logic\n // that doesn't make sense here, and might inadvertently mung or save input.\n // Some of these attributes are standard while others are browser specific,\n // but should be safely ignored by other browsers.\n this.screen_ = doc.createElement('x-screen');\n this.screen_.setAttribute('contenteditable', 'true');\n this.screen_.setAttribute('spellcheck', 'false');\n this.screen_.setAttribute('autocomplete', 'off');\n this.screen_.setAttribute('autocorrect', 'off');\n this.screen_.setAttribute('autocaptalize', 'none');\n this.screen_.setAttribute('role', 'textbox');\n this.screen_.setAttribute('tabindex', '-1');\n this.screen_.style.cssText = (\n 'caret-color: transparent;' +\n 'display: block;' +\n 'font-family: monospace;' +\n 'font-size: 15px;' +\n 'font-variant-ligatures: none;' +\n 'height: 100%;' +\n 'overflow-y: scroll; overflow-x: hidden;' +\n 'white-space: pre;' +\n 'width: 100%;' +\n 'outline: none !important');\n\n doc.body.appendChild(this.screen_);\n\n this.screen_.addEventListener('scroll', this.onScroll_.bind(this));\n this.screen_.addEventListener('wheel', this.onScrollWheel_.bind(this));\n this.screen_.addEventListener('touchstart', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchmove', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchend', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchcancel', this.onTouch_.bind(this));\n this.screen_.addEventListener('copy', this.onCopy_.bind(this));\n this.screen_.addEventListener('paste', this.onPaste_.bind(this));\n // Disable drag & drop of text/content. We don't handle it at all (yet?),\n // and the default behavior just confuses hterm.\n this.screen_.addEventListener('drop', function(e) {\n e.preventDefault();\n return false;\n });\n\n doc.body.addEventListener('keydown', this.onBodyKeyDown_.bind(this));\n\n // This is the main container for the fixed rows.\n this.rowNodes_ = doc.createElement('div');\n this.rowNodes_.id = 'hterm:row-nodes';\n this.rowNodes_.style.cssText = (\n 'display: block;' +\n 'position: fixed;' +\n 'overflow: hidden;' +\n '-webkit-user-select: text;' +\n '-moz-user-select: text;');\n this.screen_.appendChild(this.rowNodes_);\n\n // Two nodes to hold offscreen text during the copy event.\n this.topSelectBag_ = doc.createElement('x-select-bag');\n this.topSelectBag_.style.cssText = (\n 'display: block;' +\n 'overflow: hidden;' +\n 'height: var(--hterm-charsize-height);' +\n 'white-space: pre;');\n\n this.bottomSelectBag_ = this.topSelectBag_.cloneNode();\n\n // Nodes above the top fold and below the bottom fold are hidden. They are\n // only used to hold rows that are part of the selection but are currently\n // scrolled off the top or bottom of the visible range.\n this.topFold_ = doc.createElement('x-fold');\n this.topFold_.id = 'hterm:top-fold-for-row-selection';\n this.topFold_.style.cssText = 'display: block;';\n this.rowNodes_.appendChild(this.topFold_);\n\n this.bottomFold_ = this.topFold_.cloneNode();\n this.bottomFold_.id = 'hterm:bottom-fold-for-row-selection';\n this.rowNodes_.appendChild(this.bottomFold_);\n\n // This hidden div accounts for the vertical space that would be consumed by\n // all the rows in the buffer if they were visible. It's what causes the\n // scrollbar to appear on the 'x-screen', and it moves within the screen when\n // the scrollbar is moved.\n //\n // It is set 'visibility: hidden' to keep the browser from trying to include\n // it in the selection when a user 'drag selects' upwards (drag the mouse to\n // select and scroll at the same time). Without this, the selection gets\n // out of whack.\n this.scrollArea_ = doc.createElement('div');\n this.scrollArea_.id = 'hterm:scrollarea';\n this.scrollArea_.style.cssText = 'visibility: hidden';\n this.screen_.appendChild(this.scrollArea_);\n\n // This svg element is used to detect when the browser is zoomed. It must be\n // placed in the outermost document for currentScale to be correct.\n // TODO(rginda): This means that hterm nested in an iframe will not correctly\n // detect browser zoom level. We should come up with a better solution.\n // Note: This must be http:// else Chrome cannot create the element correctly.\n var xmlns = 'http://www.w3.org/2000/svg';\n this.svg_ = this.div_.ownerDocument.createElementNS(xmlns, 'svg');\n this.svg_.id = 'hterm:zoom-detector';\n this.svg_.setAttribute('xmlns', xmlns);\n this.svg_.setAttribute('version', '1.1');\n this.svg_.style.cssText = (\n 'position: absolute;' +\n 'top: 0;' +\n 'left: 0;' +\n 'visibility: hidden');\n\n\n // We send focus to this element just before a paste happens, so we can\n // capture the pasted text and forward it on to someone who cares.\n this.pasteTarget_ = doc.createElement('textarea');\n this.pasteTarget_.id = 'hterm:ctrl-v-paste-target';\n this.pasteTarget_.setAttribute('tabindex', '-1');\n this.pasteTarget_.style.cssText = (\n 'position: absolute;' +\n 'height: 1px;' +\n 'width: 1px;' +\n 'left: 0px; ' +\n 'bottom: 0px;' +\n 'opacity: 0');\n this.pasteTarget_.contentEditable = true;\n\n this.screen_.appendChild(this.pasteTarget_);\n this.pasteTarget_.addEventListener(\n 'textInput', this.handlePasteTargetTextInput_.bind(this));\n\n this.resize();\n};\n\n/**\n * Select the font-family and font-smoothing for this scrollport.\n *\n * @param {string} fontFamily Value of the CSS 'font-family' to use for this\n * scrollport. Should be a monospace font.\n * @param {string} opt_smoothing Optional value for '-webkit-font-smoothing'.\n * Defaults to an empty string if not specified.\n */\nhterm.ScrollPort.prototype.setFontFamily = function(fontFamily, opt_smoothing) {\n this.screen_.style.fontFamily = fontFamily;\n if (opt_smoothing) {\n this.screen_.style.webkitFontSmoothing = opt_smoothing;\n } else {\n this.screen_.style.webkitFontSmoothing = '';\n }\n\n this.syncCharacterSize();\n};\n\nhterm.ScrollPort.prototype.getFontFamily = function() {\n return this.screen_.style.fontFamily;\n};\n\n/**\n * Set a custom stylesheet to include in the scrollport.\n *\n * Defaults to null, meaning no custom css is loaded. Set it back to null or\n * the empty string to remove a previously applied custom css.\n */\nhterm.ScrollPort.prototype.setUserCssUrl = function(url) {\n if (url) {\n this.userCssLink_.setAttribute('href', url);\n\n if (!this.userCssLink_.parentNode)\n this.document_.head.appendChild(this.userCssLink_);\n } else if (this.userCssLink_.parentNode) {\n this.document_.head.removeChild(this.userCssLink_);\n }\n};\n\nhterm.ScrollPort.prototype.setUserCssText = function(text) {\n this.userCssText_.textContent = text;\n};\n\nhterm.ScrollPort.prototype.focus = function() {\n this.iframe_.focus();\n this.screen_.focus();\n};\n\nhterm.ScrollPort.prototype.getForegroundColor = function() {\n return this.screen_.style.color;\n};\n\nhterm.ScrollPort.prototype.setForegroundColor = function(color) {\n this.screen_.style.color = color;\n};\n\nhterm.ScrollPort.prototype.getBackgroundColor = function() {\n return this.screen_.style.backgroundColor;\n};\n\nhterm.ScrollPort.prototype.setBackgroundColor = function(color) {\n this.screen_.style.backgroundColor = color;\n};\n\nhterm.ScrollPort.prototype.setBackgroundImage = function(image) {\n this.screen_.style.backgroundImage = image;\n};\n\nhterm.ScrollPort.prototype.setBackgroundSize = function(size) {\n this.screen_.style.backgroundSize = size;\n};\n\nhterm.ScrollPort.prototype.setBackgroundPosition = function(position) {\n this.screen_.style.backgroundPosition = position;\n};\n\nhterm.ScrollPort.prototype.setCtrlVPaste = function(ctrlVPaste) {\n this.ctrlVPaste = ctrlVPaste;\n};\n\n/**\n * Get the usable size of the scrollport screen.\n *\n * The width will not include the scrollbar width.\n */\nhterm.ScrollPort.prototype.getScreenSize = function() {\n var size = hterm.getClientSize(this.screen_);\n return {\n height: size.height,\n width: size.width - this.currentScrollbarWidthPx\n };\n};\n\n/**\n * Get the usable width of the scrollport screen.\n *\n * This the widget width minus scrollbar width.\n */\nhterm.ScrollPort.prototype.getScreenWidth = function() {\n return this.getScreenSize().width ;\n};\n\n/**\n * Get the usable height of the scrollport screen.\n */\nhterm.ScrollPort.prototype.getScreenHeight = function() {\n return this.getScreenSize().height;\n};\n\n/**\n * Return the document that holds the visible rows of this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.getDocument = function() {\n return this.document_;\n};\n\n/**\n * Returns the x-screen element that holds the rows of this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.getScreenNode = function() {\n return this.screen_;\n};\n\n/**\n * Clear out any cached rowNodes.\n */\nhterm.ScrollPort.prototype.resetCache = function() {\n this.currentRowNodeCache_ = null;\n this.previousRowNodeCache_ = {};\n};\n\n/**\n * Change the current rowProvider.\n *\n * This will clear the row cache and cause a redraw.\n *\n * @param {Object} rowProvider An object capable of providing the rows\n * in this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.setRowProvider = function(rowProvider) {\n this.resetCache();\n this.rowProvider_ = rowProvider;\n this.scheduleRedraw();\n};\n\n/**\n * Inform the ScrollPort that the root DOM nodes for some or all of the visible\n * rows are no longer valid.\n *\n * Specifically, this should be called if this.rowProvider_.getRowNode() now\n * returns an entirely different node than it did before. It does not\n * need to be called if the content of a row node is the only thing that\n * changed.\n *\n * This skips some of the overhead of a full redraw, but should not be used\n * in cases where the scrollport has been scrolled, or when the row count has\n * changed.\n */\nhterm.ScrollPort.prototype.invalidate = function() {\n var node = this.topFold_.nextSibling;\n while (node != this.bottomFold_) {\n var nextSibling = node.nextSibling;\n node.parentElement.removeChild(node);\n node = nextSibling;\n }\n\n this.previousRowNodeCache_ = null;\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n this.drawVisibleRows_(topRowIndex, bottomRowIndex);\n};\n\nhterm.ScrollPort.prototype.scheduleInvalidate = function() {\n if (this.timeouts_.invalidate)\n return;\n\n var self = this;\n this.timeouts_.invalidate = setTimeout(function () {\n delete self.timeouts_.invalidate;\n self.invalidate();\n }, 0);\n};\n\n/**\n * Set the font size of the ScrollPort.\n */\nhterm.ScrollPort.prototype.setFontSize = function(px) {\n this.screen_.style.fontSize = px + 'px';\n this.syncCharacterSize();\n};\n\n/**\n * Return the current font size of the ScrollPort.\n */\nhterm.ScrollPort.prototype.getFontSize = function() {\n return parseInt(this.screen_.style.fontSize);\n};\n\n/**\n * Measure the size of a single character in pixels.\n *\n * @param {string} opt_weight The font weight to measure, or 'normal' if\n * omitted.\n * @return {hterm.Size} A new hterm.Size object.\n */\nhterm.ScrollPort.prototype.measureCharacterSize = function(opt_weight) {\n // Number of lines used to average the height of a single character.\n var numberOfLines = 100;\n // Number of chars per line used to average the width of a single character.\n var lineLength = 100;\n\n if (!this.ruler_) {\n this.ruler_ = this.document_.createElement('div');\n this.ruler_.id = 'hterm:ruler-character-size';\n this.ruler_.style.cssText = (\n 'position: absolute;' +\n 'top: 0;' +\n 'left: 0;' +\n 'visibility: hidden;' +\n 'height: auto !important;' +\n 'width: auto !important;');\n\n // We need to put the text in a span to make the size calculation\n // work properly in Firefox\n this.rulerSpan_ = this.document_.createElement('span');\n this.rulerSpan_.id = 'hterm:ruler-span-workaround';\n this.rulerSpan_.innerHTML =\n ('X'.repeat(lineLength) + '\\r').repeat(numberOfLines);\n this.ruler_.appendChild(this.rulerSpan_);\n\n this.rulerBaseline_ = this.document_.createElement('span');\n this.rulerSpan_.id = 'hterm:ruler-baseline';\n // We want to collapse it on the baseline\n this.rulerBaseline_.style.fontSize = '0px';\n this.rulerBaseline_.textContent = 'X';\n }\n\n this.rulerSpan_.style.fontWeight = opt_weight || '';\n\n this.rowNodes_.appendChild(this.ruler_);\n var rulerSize = hterm.getClientSize(this.rulerSpan_);\n\n var size = new hterm.Size(rulerSize.width / lineLength,\n rulerSize.height / numberOfLines);\n\n this.ruler_.appendChild(this.rulerBaseline_);\n size.baseline = this.rulerBaseline_.offsetTop;\n this.ruler_.removeChild(this.rulerBaseline_);\n\n this.rowNodes_.removeChild(this.ruler_);\n\n this.div_.ownerDocument.body.appendChild(this.svg_);\n size.zoomFactor = this.svg_.currentScale;\n this.div_.ownerDocument.body.removeChild(this.svg_);\n\n return size;\n};\n\n/**\n * Synchronize the character size.\n *\n * This will re-measure the current character size and adjust the height\n * of an x-row to match.\n */\nhterm.ScrollPort.prototype.syncCharacterSize = function() {\n this.characterSize = this.measureCharacterSize();\n\n this.resize();\n};\n\n/**\n * Reset dimensions and visible row count to account for a change in the\n * dimensions of the 'x-screen'.\n */\nhterm.ScrollPort.prototype.resize = function() {\n this.currentScrollbarWidthPx = hterm.getClientWidth(this.screen_) -\n this.screen_.clientWidth;\n\n this.syncScrollHeight();\n this.syncRowNodesDimensions_();\n\n var self = this;\n this.publish(\n 'resize', { scrollPort: this },\n function() {\n self.scrollRowToBottom(self.rowProvider_.getRowCount());\n self.scheduleRedraw();\n });\n};\n\n/**\n * Set the position and size of the row nodes element.\n */\nhterm.ScrollPort.prototype.syncRowNodesDimensions_ = function() {\n var screenSize = this.getScreenSize();\n\n this.lastScreenWidth_ = screenSize.width;\n this.lastScreenHeight_ = screenSize.height;\n\n // We don't want to show a partial row because it would be distracting\n // in a terminal, so we floor any fractional row count.\n this.visibleRowCount = lib.f.smartFloorDivide(\n screenSize.height, this.characterSize.height);\n\n // Then compute the height of our integral number of rows.\n var visibleRowsHeight = this.visibleRowCount * this.characterSize.height;\n\n // Then the difference between the screen height and total row height needs to\n // be made up for as top margin. We need to record this value so it\n // can be used later to determine the topRowIndex.\n this.visibleRowTopMargin = 0;\n this.visibleRowBottomMargin = screenSize.height - visibleRowsHeight;\n\n this.topFold_.style.marginBottom = this.visibleRowTopMargin + 'px';\n\n\n var topFoldOffset = 0;\n var node = this.topFold_.previousSibling;\n while (node) {\n topFoldOffset += hterm.getClientHeight(node);\n node = node.previousSibling;\n }\n\n // Set the dimensions of the visible rows container.\n this.rowNodes_.style.width = screenSize.width + 'px';\n this.rowNodes_.style.height = visibleRowsHeight + topFoldOffset + 'px';\n this.rowNodes_.style.left = this.screen_.offsetLeft + 'px';\n this.rowNodes_.style.top = this.screen_.offsetTop - topFoldOffset + 'px';\n};\n\nhterm.ScrollPort.prototype.syncScrollHeight = function() {\n // Resize the scroll area to appear as though it contains every row.\n this.lastRowCount_ = this.rowProvider_.getRowCount();\n this.scrollArea_.style.height = (this.characterSize.height *\n this.lastRowCount_ +\n this.visibleRowTopMargin +\n this.visibleRowBottomMargin +\n 'px');\n};\n\n/**\n * Schedule a redraw to happen asynchronously.\n *\n * If this method is called multiple times before the redraw has a chance to\n * run only one redraw occurs.\n */\nhterm.ScrollPort.prototype.scheduleRedraw = function() {\n if (this.timeouts_.redraw)\n return;\n\n var self = this;\n this.timeouts_.redraw = setTimeout(function () {\n delete self.timeouts_.redraw;\n self.redraw_();\n }, 0);\n};\n\n/**\n * Redraw the current hterm.ScrollPort based on the current scrollbar position.\n *\n * When redrawing, we are careful to make sure that the rows that start or end\n * the current selection are not touched in any way. Doing so would disturb\n * the selection, and cleaning up after that would cause flashes at best and\n * incorrect selection at worst. Instead, we modify the DOM around these nodes.\n * We even stash the selection start/end outside of the visible area if\n * they are not supposed to be visible in the hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.redraw_ = function() {\n this.resetSelectBags_();\n this.selection.sync();\n\n this.syncScrollHeight();\n\n this.currentRowNodeCache_ = {};\n\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n this.drawTopFold_(topRowIndex);\n this.drawBottomFold_(bottomRowIndex);\n this.drawVisibleRows_(topRowIndex, bottomRowIndex);\n\n this.syncRowNodesDimensions_();\n\n this.previousRowNodeCache_ = this.currentRowNodeCache_;\n this.currentRowNodeCache_ = null;\n\n this.isScrolledEnd = (\n this.getTopRowIndex() + this.visibleRowCount >= this.lastRowCount_);\n};\n\n/**\n * Ensure that the nodes above the top fold are as they should be.\n *\n * If the selection start and/or end nodes are above the visible range\n * of this hterm.ScrollPort then the dom will be adjusted so that they appear\n * before the top fold (the first x-fold element, aka this.topFold).\n *\n * If not, the top fold will be the first element.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawTopFold_ = function(topRowIndex) {\n if (!this.selection.startRow ||\n this.selection.startRow.rowIndex >= topRowIndex) {\n // Selection is entirely below the top fold, just make sure the fold is\n // the first child.\n if (this.rowNodes_.firstChild != this.topFold_)\n this.rowNodes_.insertBefore(this.topFold_, this.rowNodes_.firstChild);\n\n return;\n }\n\n if (!this.selection.isMultiline ||\n this.selection.endRow.rowIndex >= topRowIndex) {\n // Only the startRow is above the fold.\n if (this.selection.startRow.nextSibling != this.topFold_)\n this.rowNodes_.insertBefore(this.topFold_,\n this.selection.startRow.nextSibling);\n } else {\n // Both rows are above the fold.\n if (this.selection.endRow.nextSibling != this.topFold_) {\n this.rowNodes_.insertBefore(this.topFold_,\n this.selection.endRow.nextSibling);\n }\n\n // Trim any intermediate lines.\n while (this.selection.startRow.nextSibling !=\n this.selection.endRow) {\n this.rowNodes_.removeChild(this.selection.startRow.nextSibling);\n }\n }\n\n while(this.rowNodes_.firstChild != this.selection.startRow) {\n this.rowNodes_.removeChild(this.rowNodes_.firstChild);\n }\n};\n\n/**\n * Ensure that the nodes below the bottom fold are as they should be.\n *\n * If the selection start and/or end nodes are below the visible range\n * of this hterm.ScrollPort then the dom will be adjusted so that they appear\n * after the bottom fold (the second x-fold element, aka this.bottomFold).\n *\n * If not, the bottom fold will be the last element.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawBottomFold_ = function(bottomRowIndex) {\n if (!this.selection.endRow ||\n this.selection.endRow.rowIndex <= bottomRowIndex) {\n // Selection is entirely above the bottom fold, just make sure the fold is\n // the last child.\n if (this.rowNodes_.lastChild != this.bottomFold_)\n this.rowNodes_.appendChild(this.bottomFold_);\n\n return;\n }\n\n if (!this.selection.isMultiline ||\n this.selection.startRow.rowIndex <= bottomRowIndex) {\n // Only the endRow is below the fold.\n if (this.bottomFold_.nextSibling != this.selection.endRow)\n this.rowNodes_.insertBefore(this.bottomFold_,\n this.selection.endRow);\n } else {\n // Both rows are below the fold.\n if (this.bottomFold_.nextSibling != this.selection.startRow) {\n this.rowNodes_.insertBefore(this.bottomFold_,\n this.selection.startRow);\n }\n\n // Trim any intermediate lines.\n while (this.selection.startRow.nextSibling !=\n this.selection.endRow) {\n this.rowNodes_.removeChild(this.selection.startRow.nextSibling);\n }\n }\n\n while(this.rowNodes_.lastChild != this.selection.endRow) {\n this.rowNodes_.removeChild(this.rowNodes_.lastChild);\n }\n};\n\n/**\n * Ensure that the rows between the top and bottom folds are as they should be.\n *\n * This method assumes that drawTopFold_() and drawBottomFold_() have already\n * run, and that they have left any visible selection row (selection start\n * or selection end) between the folds.\n *\n * It recycles DOM nodes from the previous redraw where possible, but will ask\n * the rowSource to make new nodes if necessary.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawVisibleRows_ = function(\n topRowIndex, bottomRowIndex) {\n var self = this;\n\n // Keep removing nodes, starting with currentNode, until we encounter\n // targetNode. Throws on failure.\n function removeUntilNode(currentNode, targetNode) {\n while (currentNode != targetNode) {\n if (!currentNode)\n throw 'Did not encounter target node';\n\n if (currentNode == self.bottomFold_)\n throw 'Encountered bottom fold before target node';\n\n var deadNode = currentNode;\n currentNode = currentNode.nextSibling;\n deadNode.parentNode.removeChild(deadNode);\n }\n }\n\n // Shorthand for things we're going to use a lot.\n var selectionStartRow = this.selection.startRow;\n var selectionEndRow = this.selection.endRow;\n var bottomFold = this.bottomFold_;\n\n // The node we're examining during the current iteration.\n var node = this.topFold_.nextSibling;\n\n var targetDrawCount = Math.min(this.visibleRowCount,\n this.rowProvider_.getRowCount());\n\n for (var drawCount = 0; drawCount < targetDrawCount; drawCount++) {\n var rowIndex = topRowIndex + drawCount;\n\n if (node == bottomFold) {\n // We've hit the bottom fold, we need to insert a new row.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n continue;\n }\n\n if (node.rowIndex == rowIndex) {\n // This node is in the right place, move along.\n node = node.nextSibling;\n continue;\n }\n\n if (selectionStartRow && selectionStartRow.rowIndex == rowIndex) {\n // The selection start row is supposed to be here, remove nodes until\n // we find it.\n removeUntilNode(node, selectionStartRow);\n node = selectionStartRow.nextSibling;\n continue;\n }\n\n if (selectionEndRow && selectionEndRow.rowIndex == rowIndex) {\n // The selection end row is supposed to be here, remove nodes until\n // we find it.\n removeUntilNode(node, selectionEndRow);\n node = selectionEndRow.nextSibling;\n continue;\n }\n\n if (node == selectionStartRow || node == selectionEndRow) {\n // We encountered the start/end of the selection, but we don't want it\n // yet. Insert a new row instead.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n continue;\n }\n\n // There is nothing special about this node, but it's in our way. Replace\n // it with the node that should be here.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n if (node == newNode) {\n node = node.nextSibling;\n continue;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n if (!newNode.nextSibling)\n debugger;\n this.rowNodes_.removeChild(node);\n node = newNode.nextSibling;\n }\n\n if (node != this.bottomFold_)\n removeUntilNode(node, bottomFold);\n};\n\n/**\n * Empty out both select bags and remove them from the document.\n *\n * These nodes hold the text between the start and end of the selection\n * when that text is otherwise off screen. They are filled out in the\n * onCopy_ event.\n */\nhterm.ScrollPort.prototype.resetSelectBags_ = function() {\n if (this.topSelectBag_.parentNode) {\n this.topSelectBag_.textContent = '';\n this.topSelectBag_.parentNode.removeChild(this.topSelectBag_);\n }\n\n if (this.bottomSelectBag_.parentNode) {\n this.bottomSelectBag_.textContent = '';\n this.bottomSelectBag_.parentNode.removeChild(this.bottomSelectBag_);\n }\n};\n\n/**\n * Place a row node in the cache of visible nodes.\n *\n * This method may only be used during a redraw_.\n */\nhterm.ScrollPort.prototype.cacheRowNode_ = function(rowNode) {\n this.currentRowNodeCache_[rowNode.rowIndex] = rowNode;\n};\n\n/**\n * Fetch the row node for the given index.\n *\n * This will return a node from the cache if possible, or will request one\n * from the RowProvider if not.\n *\n * If a redraw_ is in progress the row will be added to the current cache.\n */\nhterm.ScrollPort.prototype.fetchRowNode_ = function(rowIndex) {\n var node;\n\n if (this.previousRowNodeCache_ && rowIndex in this.previousRowNodeCache_) {\n node = this.previousRowNodeCache_[rowIndex];\n } else {\n node = this.rowProvider_.getRowNode(rowIndex);\n }\n\n if (this.currentRowNodeCache_)\n this.cacheRowNode_(node);\n\n return node;\n};\n\n/**\n * Select all rows in the viewport.\n */\nhterm.ScrollPort.prototype.selectAll = function() {\n var firstRow;\n\n if (this.topFold_.nextSibling.rowIndex != 0) {\n while (this.topFold_.previousSibling) {\n this.rowNodes_.removeChild(this.topFold_.previousSibling);\n }\n\n firstRow = this.fetchRowNode_(0);\n this.rowNodes_.insertBefore(firstRow, this.topFold_);\n this.syncRowNodesDimensions_();\n } else {\n firstRow = this.topFold_.nextSibling;\n }\n\n var lastRowIndex = this.rowProvider_.getRowCount() - 1;\n var lastRow;\n\n if (this.bottomFold_.previousSibling.rowIndex != lastRowIndex) {\n while (this.bottomFold_.nextSibling) {\n this.rowNodes_.removeChild(this.bottomFold_.nextSibling);\n }\n\n lastRow = this.fetchRowNode_(lastRowIndex);\n this.rowNodes_.appendChild(lastRow);\n } else {\n lastRow = this.bottomFold_.previousSibling.rowIndex;\n }\n\n var selection = this.document_.getSelection();\n selection.collapse(firstRow, 0);\n selection.extend(lastRow, lastRow.childNodes.length);\n\n this.selection.sync();\n};\n\n/**\n * Return the maximum scroll position in pixels.\n */\nhterm.ScrollPort.prototype.getScrollMax_ = function(e) {\n return (hterm.getClientHeight(this.scrollArea_) +\n this.visibleRowTopMargin + this.visibleRowBottomMargin -\n hterm.getClientHeight(this.screen_));\n};\n\n/**\n * Scroll the given rowIndex to the top of the hterm.ScrollPort.\n *\n * @param {integer} rowIndex Index of the target row.\n */\nhterm.ScrollPort.prototype.scrollRowToTop = function(rowIndex) {\n this.syncScrollHeight();\n\n this.isScrolledEnd = (\n rowIndex + this.visibleRowCount >= this.lastRowCount_);\n\n var scrollTop = rowIndex * this.characterSize.height +\n this.visibleRowTopMargin;\n\n var scrollMax = this.getScrollMax_();\n if (scrollTop > scrollMax)\n scrollTop = scrollMax;\n\n if (this.screen_.scrollTop == scrollTop)\n return;\n\n this.screen_.scrollTop = scrollTop;\n this.scheduleRedraw();\n};\n\n/**\n * Scroll the given rowIndex to the bottom of the hterm.ScrollPort.\n *\n * @param {integer} rowIndex Index of the target row.\n */\nhterm.ScrollPort.prototype.scrollRowToBottom = function(rowIndex) {\n this.syncScrollHeight();\n\n this.isScrolledEnd = (\n rowIndex + this.visibleRowCount >= this.lastRowCount_);\n\n var scrollTop = rowIndex * this.characterSize.height +\n this.visibleRowTopMargin + this.visibleRowBottomMargin;\n scrollTop -= this.visibleRowCount * this.characterSize.height;\n\n if (scrollTop < 0)\n scrollTop = 0;\n\n if (this.screen_.scrollTop == scrollTop)\n return;\n\n this.screen_.scrollTop = scrollTop;\n};\n\n/**\n * Return the row index of the first visible row.\n *\n * This is based on the scroll position. If a redraw_ is in progress this\n * returns the row that *should* be at the top.\n */\nhterm.ScrollPort.prototype.getTopRowIndex = function() {\n return Math.round(this.screen_.scrollTop / this.characterSize.height);\n};\n\n/**\n * Return the row index of the last visible row.\n *\n * This is based on the scroll position. If a redraw_ is in progress this\n * returns the row that *should* be at the bottom.\n */\nhterm.ScrollPort.prototype.getBottomRowIndex = function(topRowIndex) {\n return topRowIndex + this.visibleRowCount - 1;\n};\n\n/**\n * Handler for scroll events.\n *\n * The onScroll event fires when scrollArea's scrollTop property changes. This\n * may be due to the user manually move the scrollbar, or a programmatic change.\n */\nhterm.ScrollPort.prototype.onScroll_ = function(e) {\n var screenSize = this.getScreenSize();\n if (screenSize.width != this.lastScreenWidth_ ||\n screenSize.height != this.lastScreenHeight_) {\n // This event may also fire during a resize (but before the resize event!).\n // This happens when the browser moves the scrollbar as part of the resize.\n // In these cases, we want to ignore the scroll event and let onResize\n // handle things. If we don't, then we end up scrolling to the wrong\n // position after a resize.\n this.resize();\n return;\n }\n\n this.redraw_();\n this.publish('scroll', { scrollPort: this });\n};\n\n/**\n * Clients can override this if they want to hear scrollwheel events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onScrollWheel = function(e) {};\n\n/**\n * Handler for scroll-wheel events.\n *\n * The onScrollWheel event fires when the user moves their scrollwheel over this\n * hterm.ScrollPort. Because the frontmost element in the hterm.ScrollPort is\n * a fixed position DIV, the scroll wheel does nothing by default. Instead, we\n * have to handle it manually.\n */\nhterm.ScrollPort.prototype.onScrollWheel_ = function(e) {\n this.onScrollWheel(e);\n\n if (e.defaultPrevented)\n return;\n\n // Figure out how far this event wants us to scroll.\n var delta = this.scrollWheelDelta(e);\n\n var top = this.screen_.scrollTop - delta;\n if (top < 0)\n top = 0;\n\n var scrollMax = this.getScrollMax_();\n if (top > scrollMax)\n top = scrollMax;\n\n if (top != this.screen_.scrollTop) {\n // Moving scrollTop causes a scroll event, which triggers the redraw.\n this.screen_.scrollTop = top;\n\n // Only preventDefault when we've actually scrolled. If there's nothing\n // to scroll we want to pass the event through so Chrome can detect the\n // overscroll.\n e.preventDefault();\n }\n};\n\n/**\n * Calculate how far a wheel event should scroll.\n *\n * @param {WheelEvent} e The mouse wheel event to process.\n * @return {number} How far (in pixels) to scroll.\n */\nhterm.ScrollPort.prototype.scrollWheelDelta = function(e) {\n var delta;\n\n switch (e.deltaMode) {\n case WheelEvent.DOM_DELTA_PIXEL:\n delta = e.deltaY * this.scrollWheelMultiplier_;\n break;\n case WheelEvent.DOM_DELTA_LINE:\n delta = e.deltaY * this.characterSize.height;\n break;\n case WheelEvent.DOM_DELTA_PAGE:\n delta = e.deltaY * this.characterSize.height * this.screen_.getHeight();\n break;\n }\n\n // The sign is inverted from what we would expect.\n return delta * -1;\n};\n\n\n/**\n * Clients can override this if they want to hear touch events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onTouch = function(e) {};\n\n/**\n * Handler for touch events.\n */\nhterm.ScrollPort.prototype.onTouch_ = function(e) {\n this.onTouch(e);\n\n if (e.defaultPrevented)\n return;\n\n // Extract the fields from the Touch event that we need. If we saved the\n // event directly, it has references to other objects (like x-row) that\n // might stick around for a long time. This way we only have small objects\n // in our lastTouch_ state.\n var scrubTouch = function(t) {\n return {\n id: t.identifier,\n y: t.clientY,\n x: t.clientX,\n };\n };\n\n var i, touch;\n switch (e.type) {\n case 'touchstart':\n // Save the current set of touches.\n for (i = 0; i < e.changedTouches.length; ++i) {\n touch = scrubTouch(e.changedTouches[i]);\n this.lastTouch_[touch.id] = touch;\n }\n break;\n\n case 'touchcancel':\n case 'touchend':\n // Throw away existing touches that we're finished with.\n for (i = 0; i < e.changedTouches.length; ++i)\n delete this.lastTouch_[e.changedTouches[i].identifier];\n break;\n\n case 'touchmove':\n // Walk all of the touches in this one event and merge all of their\n // changes into one delta. This lets multiple fingers scroll faster.\n var delta = 0;\n for (i = 0; i < e.changedTouches.length; ++i) {\n touch = scrubTouch(e.changedTouches[i]);\n delta += (this.lastTouch_[touch.id].y - touch.y);\n this.lastTouch_[touch.id] = touch;\n }\n\n // Invert to match the touchscreen scrolling direction of browser windows.\n delta *= -1;\n\n var top = this.screen_.scrollTop - delta;\n if (top < 0)\n top = 0;\n\n var scrollMax = this.getScrollMax_();\n if (top > scrollMax)\n top = scrollMax;\n\n if (top != this.screen_.scrollTop) {\n // Moving scrollTop causes a scroll event, which triggers the redraw.\n this.screen_.scrollTop = top;\n }\n break;\n }\n\n // To disable gestures or anything else interfering with our scrolling.\n e.preventDefault();\n};\n\n/**\n * Handler for resize events.\n *\n * The browser will resize us such that the top row stays at the top, but we\n * prefer to the bottom row to stay at the bottom.\n */\nhterm.ScrollPort.prototype.onResize_ = function(e) {\n // Re-measure, since onResize also happens for browser zoom changes.\n this.syncCharacterSize();\n this.resize();\n};\n\n/**\n * Clients can override this if they want to hear copy events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onCopy = function(e) { };\n\n/**\n * Handler for copy-to-clipboard events.\n *\n * If some or all of the selected rows are off screen we may need to fill in\n * the rows between selection start and selection end. This handler determines\n * if we're missing some of the selected text, and if so populates one or both\n * of the \"select bags\" with the missing text.\n */\nhterm.ScrollPort.prototype.onCopy_ = function(e) {\n this.onCopy(e);\n\n if (e.defaultPrevented)\n return;\n\n this.resetSelectBags_();\n this.selection.sync();\n\n if (!this.selection.startRow ||\n this.selection.endRow.rowIndex - this.selection.startRow.rowIndex < 2) {\n return;\n }\n\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n if (this.selection.startRow.rowIndex < topRowIndex) {\n // Start of selection is above the top fold.\n var endBackfillIndex;\n\n if (this.selection.endRow.rowIndex < topRowIndex) {\n // Entire selection is above the top fold.\n endBackfillIndex = this.selection.endRow.rowIndex;\n } else {\n // Selection extends below the top fold.\n endBackfillIndex = this.topFold_.nextSibling.rowIndex;\n }\n\n this.topSelectBag_.textContent = this.rowProvider_.getRowsText(\n this.selection.startRow.rowIndex + 1, endBackfillIndex);\n this.rowNodes_.insertBefore(this.topSelectBag_,\n this.selection.startRow.nextSibling);\n this.syncRowNodesDimensions_();\n }\n\n if (this.selection.endRow.rowIndex > bottomRowIndex) {\n // Selection ends below the bottom fold.\n var startBackfillIndex;\n\n if (this.selection.startRow.rowIndex > bottomRowIndex) {\n // Entire selection is below the bottom fold.\n startBackfillIndex = this.selection.startRow.rowIndex + 1;\n } else {\n // Selection starts above the bottom fold.\n startBackfillIndex = this.bottomFold_.previousSibling.rowIndex + 1;\n }\n\n this.bottomSelectBag_.textContent = this.rowProvider_.getRowsText(\n startBackfillIndex, this.selection.endRow.rowIndex);\n this.rowNodes_.insertBefore(this.bottomSelectBag_, this.selection.endRow);\n }\n};\n\n/**\n * Focuses on the paste target on a ctrl-v keydown event, as in\n * FF a content editable element must be focused before the paste event.\n */\nhterm.ScrollPort.prototype.onBodyKeyDown_ = function(e) {\n if (!this.ctrlVPaste)\n return;\n\n var key = String.fromCharCode(e.which);\n var lowerKey = key.toLowerCase();\n if ((e.ctrlKey || e.metaKey) && lowerKey == \"v\")\n this.pasteTarget_.focus();\n};\n\n/**\n * Handle a paste event on the the ScrollPort's screen element.\n */\nhterm.ScrollPort.prototype.onPaste_ = function(e) {\n this.pasteTarget_.focus();\n\n var self = this;\n setTimeout(function() {\n self.publish('paste', { text: self.pasteTarget_.value });\n self.pasteTarget_.value = '';\n self.screen_.focus();\n }, 0);\n};\n\n/**\n * Handles a textInput event on the paste target. Stops this from\n * propagating as we want this to be handled in the onPaste_ method.\n */\nhterm.ScrollPort.prototype.handlePasteTargetTextInput_ = function(e) {\n e.stopPropagation();\n};\n\n/**\n * Set the vertical scrollbar mode of the ScrollPort.\n */\nhterm.ScrollPort.prototype.setScrollbarVisible = function(state) {\n this.screen_.style.overflowY = state ? 'scroll' : 'hidden';\n};\n\n/**\n * Set scroll wheel multiplier. This alters how much the screen scrolls on\n * mouse wheel events.\n */\nhterm.ScrollPort.prototype.setScrollWheelMoveMultipler = function(multiplier) {\n this.scrollWheelMultiplier_ = multiplier;\n};\n// SOURCE FILE: hterm/js/hterm_terminal.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors', 'lib.PreferenceManager', 'lib.resource', 'lib.wc',\n 'lib.f', 'hterm.Keyboard', 'hterm.Options', 'hterm.PreferenceManager',\n 'hterm.Screen', 'hterm.ScrollPort', 'hterm.Size',\n 'hterm.TextAttributes', 'hterm.VT');\n\n/**\n * Constructor for the Terminal class.\n *\n * A Terminal pulls together the hterm.ScrollPort, hterm.Screen and hterm.VT100\n * classes to provide the complete terminal functionality.\n *\n * There are a number of lower-level Terminal methods that can be called\n * directly to manipulate the cursor, text, scroll region, and other terminal\n * attributes. However, the primary method is interpret(), which parses VT\n * escape sequences and invokes the appropriate Terminal methods.\n *\n * This class was heavily influenced by Cory Maccarrone's Framebuffer class.\n *\n * TODO(rginda): Eventually we're going to need to support characters which are\n * displayed twice as wide as standard latin characters. This is to support\n * CJK (and possibly other character sets).\n *\n * @param {string} opt_profileId Optional preference profile name. If not\n * provided, defaults to 'default'.\n */\nhterm.Terminal = function(opt_profileId) {\n this.profileId_ = null;\n\n // Two screen instances.\n this.primaryScreen_ = new hterm.Screen();\n this.alternateScreen_ = new hterm.Screen();\n\n // The \"current\" screen.\n this.screen_ = this.primaryScreen_;\n\n // The local notion of the screen size. ScreenBuffers also have a size which\n // indicates their present size. During size changes, the two may disagree.\n // Also, the inactive screen's size is not altered until it is made the active\n // screen.\n this.screenSize = new hterm.Size(0, 0);\n\n // The scroll port we'll be using to display the visible rows.\n this.scrollPort_ = new hterm.ScrollPort(this);\n this.scrollPort_.subscribe('resize', this.onResize_.bind(this));\n this.scrollPort_.subscribe('scroll', this.onScroll_.bind(this));\n this.scrollPort_.subscribe('paste', this.onPaste_.bind(this));\n this.scrollPort_.onCopy = this.onCopy_.bind(this);\n\n // The div that contains this terminal.\n this.div_ = null;\n\n // The document that contains the scrollPort. Defaulted to the global\n // document here so that the terminal is functional even if it hasn't been\n // inserted into a document yet, but re-set in decorate().\n this.document_ = window.document;\n\n // The rows that have scrolled off screen and are no longer addressable.\n this.scrollbackRows_ = [];\n\n // Saved tab stops.\n this.tabStops_ = [];\n\n // Keep track of whether default tab stops have been erased; after a TBC\n // clears all tab stops, defaults aren't restored on resize until a reset.\n this.defaultTabStops = true;\n\n // The VT's notion of the top and bottom rows. Used during some VT\n // cursor positioning and scrolling commands.\n this.vtScrollTop_ = null;\n this.vtScrollBottom_ = null;\n\n // The DIV element for the visible cursor.\n this.cursorNode_ = null;\n\n // The current cursor shape of the terminal.\n this.cursorShape_ = hterm.Terminal.cursorShape.BLOCK;\n\n // The current color of the cursor.\n this.cursorColor_ = null;\n\n // Cursor blink on/off cycle in ms, overwritten by prefs once they're loaded.\n this.cursorBlinkCycle_ = [100, 100];\n\n // Pre-bound onCursorBlink_ handler, so we don't have to do this for each\n // cursor on/off servicing.\n this.myOnCursorBlink_ = this.onCursorBlink_.bind(this);\n\n // These prefs are cached so we don't have to read from local storage with\n // each output and keystroke. They are initialized by the preference manager.\n this.backgroundColor_ = null;\n this.foregroundColor_ = null;\n this.scrollOnOutput_ = null;\n this.scrollOnKeystroke_ = null;\n this.scrollWheelArrowKeys_ = null;\n\n // True if we should override mouse event reporting to allow local selection.\n this.defeatMouseReports_ = false;\n\n // Terminal bell sound.\n this.bellAudio_ = this.document_.createElement('audio');\n this.bellAudio_.id = 'hterm:bell-audio';\n this.bellAudio_.setAttribute('preload', 'auto');\n\n // All terminal bell notifications that have been generated (not necessarily\n // shown).\n this.bellNotificationList_ = [];\n\n // Whether we have permission to display notifications.\n this.desktopNotificationBell_ = false;\n\n // Cursor position and attributes saved with DECSC.\n this.savedOptions_ = {};\n\n // The current mode bits for the terminal.\n this.options_ = new hterm.Options();\n\n // Timeouts we might need to clear.\n this.timeouts_ = {};\n\n // The VT escape sequence interpreter.\n this.vt = new hterm.VT(this);\n\n // The keyboard handler.\n this.keyboard = new hterm.Keyboard(this);\n\n // General IO interface that can be given to third parties without exposing\n // the entire terminal object.\n this.io = new hterm.Terminal.IO(this);\n\n // True if mouse-click-drag should scroll the terminal.\n this.enableMouseDragScroll = true;\n\n this.copyOnSelect = null;\n this.mouseRightClickPaste = null;\n this.mousePasteButton = null;\n\n // Whether to use the default window copy behavior.\n this.useDefaultWindowCopy = false;\n\n this.clearSelectionAfterCopy = true;\n\n this.realizeSize_(80, 24);\n this.setDefaultTabStops();\n\n this.setProfile(opt_profileId || 'default',\n function() { this.onTerminalReady(); }.bind(this));\n};\n\n/**\n * Possible cursor shapes.\n */\nhterm.Terminal.cursorShape = {\n BLOCK: 'BLOCK',\n BEAM: 'BEAM',\n UNDERLINE: 'UNDERLINE'\n};\n\n/**\n * Clients should override this to be notified when the terminal is ready\n * for use.\n *\n * The terminal initialization is asynchronous, and shouldn't be used before\n * this method is called.\n */\nhterm.Terminal.prototype.onTerminalReady = function() { };\n\n/**\n * Default tab with of 8 to match xterm.\n */\nhterm.Terminal.prototype.tabWidth = 8;\n\n/**\n * Select a preference profile.\n *\n * This will load the terminal preferences for the given profile name and\n * associate subsequent preference changes with the new preference profile.\n *\n * @param {string} profileId The name of the preference profile. Forward slash\n * characters will be removed from the name.\n * @param {function} opt_callback Optional callback to invoke when the profile\n * transition is complete.\n */\nhterm.Terminal.prototype.setProfile = function(profileId, opt_callback) {\n this.profileId_ = profileId.replace(/\\//g, '');\n\n var terminal = this;\n\n if (this.prefs_)\n this.prefs_.deactivate();\n\n this.prefs_ = new hterm.PreferenceManager(this.profileId_);\n this.prefs_.addObservers(null, {\n 'alt-gr-mode': function(v) {\n if (v == null) {\n if (navigator.language.toLowerCase() == 'en-us') {\n v = 'none';\n } else {\n v = 'right-alt';\n }\n } else if (typeof v == 'string') {\n v = v.toLowerCase();\n } else {\n v = 'none';\n }\n\n if (!/^(none|ctrl-alt|left-alt|right-alt)$/.test(v))\n v = 'none';\n\n terminal.keyboard.altGrMode = v;\n },\n\n 'alt-backspace-is-meta-backspace': function(v) {\n terminal.keyboard.altBackspaceIsMetaBackspace = v;\n },\n\n 'alt-is-meta': function(v) {\n terminal.keyboard.altIsMeta = v;\n },\n\n 'alt-sends-what': function(v) {\n if (!/^(escape|8-bit|browser-key)$/.test(v))\n v = 'escape';\n\n terminal.keyboard.altSendsWhat = v;\n },\n\n 'audible-bell-sound': function(v) {\n var ary = v.match(/^lib-resource:(\\S+)/);\n if (ary) {\n terminal.bellAudio_.setAttribute('src',\n lib.resource.getDataUrl(ary[1]));\n } else {\n terminal.bellAudio_.setAttribute('src', v);\n }\n },\n\n 'desktop-notification-bell': function(v) {\n if (v && Notification) {\n terminal.desktopNotificationBell_ =\n Notification.permission === 'granted';\n if (!terminal.desktopNotificationBell_) {\n // Note: We don't call Notification.requestPermission here because\n // Chrome requires the call be the result of a user action (such as an\n // onclick handler), and pref listeners are run asynchronously.\n //\n // A way of working around this would be to display a dialog in the\n // terminal with a \"click-to-request-permission\" button.\n console.warn('desktop-notification-bell is true but we do not have ' +\n 'permission to display notifications.');\n }\n } else {\n terminal.desktopNotificationBell_ = false;\n }\n },\n\n 'background-color': function(v) {\n terminal.setBackgroundColor(v);\n },\n\n 'background-image': function(v) {\n terminal.scrollPort_.setBackgroundImage(v);\n },\n\n 'background-size': function(v) {\n terminal.scrollPort_.setBackgroundSize(v);\n },\n\n 'background-position': function(v) {\n terminal.scrollPort_.setBackgroundPosition(v);\n },\n\n 'backspace-sends-backspace': function(v) {\n terminal.keyboard.backspaceSendsBackspace = v;\n },\n\n 'character-map-overrides': function(v) {\n if (!(v == null || v instanceof Object)) {\n console.warn('Preference character-map-modifications is not an ' +\n 'object: ' + v);\n return;\n }\n\n terminal.vt.characterMaps.reset();\n terminal.vt.characterMaps.setOverrides(v);\n },\n\n 'cursor-blink': function(v) {\n terminal.setCursorBlink(!!v);\n },\n\n 'cursor-blink-cycle': function(v) {\n if (v instanceof Array &&\n typeof v[0] == 'number' &&\n typeof v[1] == 'number') {\n terminal.cursorBlinkCycle_ = v;\n } else if (typeof v == 'number') {\n terminal.cursorBlinkCycle_ = [v, v];\n } else {\n // Fast blink indicates an error.\n terminal.cursorBlinkCycle_ = [100, 100];\n }\n },\n\n 'cursor-color': function(v) {\n terminal.setCursorColor(v);\n },\n\n 'color-palette-overrides': function(v) {\n if (!(v == null || v instanceof Object || v instanceof Array)) {\n console.warn('Preference color-palette-overrides is not an array or ' +\n 'object: ' + v);\n return;\n }\n\n lib.colors.colorPalette = lib.colors.stockColorPalette.concat();\n\n if (v) {\n for (var key in v) {\n var i = parseInt(key);\n if (isNaN(i) || i < 0 || i > 255) {\n console.log('Invalid value in palette: ' + key + ': ' + v[key]);\n continue;\n }\n\n if (v[i]) {\n var rgb = lib.colors.normalizeCSS(v[i]);\n if (rgb)\n lib.colors.colorPalette[i] = rgb;\n }\n }\n }\n\n terminal.primaryScreen_.textAttributes.resetColorPalette();\n terminal.alternateScreen_.textAttributes.resetColorPalette();\n },\n\n 'copy-on-select': function(v) {\n terminal.copyOnSelect = !!v;\n },\n\n 'use-default-window-copy': function(v) {\n terminal.useDefaultWindowCopy = !!v;\n },\n\n 'clear-selection-after-copy': function(v) {\n terminal.clearSelectionAfterCopy = !!v;\n },\n\n 'ctrl-plus-minus-zero-zoom': function(v) {\n terminal.keyboard.ctrlPlusMinusZeroZoom = v;\n },\n\n 'ctrl-c-copy': function(v) {\n terminal.keyboard.ctrlCCopy = v;\n },\n\n 'ctrl-v-paste': function(v) {\n terminal.keyboard.ctrlVPaste = v;\n terminal.scrollPort_.setCtrlVPaste(v);\n },\n\n 'east-asian-ambiguous-as-two-column': function(v) {\n lib.wc.regardCjkAmbiguous = v;\n },\n\n 'enable-8-bit-control': function(v) {\n terminal.vt.enable8BitControl = !!v;\n },\n\n 'enable-bold': function(v) {\n terminal.syncBoldSafeState();\n },\n\n 'enable-bold-as-bright': function(v) {\n terminal.primaryScreen_.textAttributes.enableBoldAsBright = !!v;\n terminal.alternateScreen_.textAttributes.enableBoldAsBright = !!v;\n },\n\n 'enable-blink': function(v) {\n terminal.syncBlinkState();\n },\n\n 'enable-clipboard-write': function(v) {\n terminal.vt.enableClipboardWrite = !!v;\n },\n\n 'enable-dec12': function(v) {\n terminal.vt.enableDec12 = !!v;\n },\n\n 'font-family': function(v) {\n terminal.syncFontFamily();\n },\n\n 'font-size': function(v) {\n terminal.setFontSize(v);\n },\n\n 'font-smoothing': function(v) {\n terminal.syncFontFamily();\n },\n\n 'foreground-color': function(v) {\n terminal.setForegroundColor(v);\n },\n\n 'home-keys-scroll': function(v) {\n terminal.keyboard.homeKeysScroll = v;\n },\n\n 'keybindings': function(v) {\n terminal.keyboard.bindings.clear();\n\n if (!v)\n return;\n\n if (!(v instanceof Object)) {\n console.error('Error in keybindings preference: Expected object');\n return;\n }\n\n try {\n terminal.keyboard.bindings.addBindings(v);\n } catch (ex) {\n console.error('Error in keybindings preference: ' + ex);\n }\n },\n\n 'max-string-sequence': function(v) {\n terminal.vt.maxStringSequence = v;\n },\n\n 'media-keys-are-fkeys': function(v) {\n terminal.keyboard.mediaKeysAreFKeys = v;\n },\n\n 'meta-sends-escape': function(v) {\n terminal.keyboard.metaSendsEscape = v;\n },\n\n 'mouse-right-click-paste': function(v) {\n terminal.mouseRightClickPaste = v;\n },\n\n 'mouse-paste-button': function(v) {\n terminal.syncMousePasteButton();\n },\n\n 'page-keys-scroll': function(v) {\n terminal.keyboard.pageKeysScroll = v;\n },\n\n 'pass-alt-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Alt-1..9 pass to the browser (to control tab switching) on\n // non-OS X systems, or if hterm is not opened in an app window.\n v = (!osx && hterm.windowType != 'popup');\n }\n\n terminal.passAltNumber = v;\n },\n\n 'pass-ctrl-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Ctrl-1..9 pass to the browser (to control tab switching) on\n // non-OS X systems, or if hterm is not opened in an app window.\n v = (!osx && hterm.windowType != 'popup');\n }\n\n terminal.passCtrlNumber = v;\n },\n\n 'pass-meta-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Meta-1..9 pass to the browser (to control tab switching) on\n // OS X systems, or if hterm is not opened in an app window.\n v = (osx && hterm.windowType != 'popup');\n }\n\n terminal.passMetaNumber = v;\n },\n\n 'pass-meta-v': function(v) {\n terminal.keyboard.passMetaV = v;\n },\n\n 'receive-encoding': function(v) {\n if (!(/^(utf-8|raw)$/).test(v)) {\n console.warn('Invalid value for \"receive-encoding\": ' + v);\n v = 'utf-8';\n }\n\n terminal.vt.characterEncoding = v;\n },\n\n 'scroll-on-keystroke': function(v) {\n terminal.scrollOnKeystroke_ = v;\n },\n\n 'scroll-on-output': function(v) {\n terminal.scrollOnOutput_ = v;\n },\n\n 'scrollbar-visible': function(v) {\n terminal.setScrollbarVisible(v);\n },\n\n 'scroll-wheel-may-send-arrow-keys': function(v) {\n terminal.scrollWheelArrowKeys_ = v;\n },\n\n 'scroll-wheel-move-multiplier': function(v) {\n terminal.setScrollWheelMoveMultipler(v);\n },\n\n 'send-encoding': function(v) {\n if (!(/^(utf-8|raw)$/).test(v)) {\n console.warn('Invalid value for \"send-encoding\": ' + v);\n v = 'utf-8';\n }\n\n terminal.keyboard.characterEncoding = v;\n },\n\n 'shift-insert-paste': function(v) {\n terminal.keyboard.shiftInsertPaste = v;\n },\n\n 'terminal-encoding': function(v) {\n terminal.vt.setEncoding(v);\n },\n\n 'user-css': function(v) {\n terminal.scrollPort_.setUserCssUrl(v);\n },\n\n 'user-css-text': function(v) {\n terminal.scrollPort_.setUserCssText(v);\n },\n\n 'word-break-match-left': function(v) {\n terminal.primaryScreen_.wordBreakMatchLeft = v;\n terminal.alternateScreen_.wordBreakMatchLeft = v;\n },\n\n 'word-break-match-right': function(v) {\n terminal.primaryScreen_.wordBreakMatchRight = v;\n terminal.alternateScreen_.wordBreakMatchRight = v;\n },\n\n 'word-break-match-middle': function(v) {\n terminal.primaryScreen_.wordBreakMatchMiddle = v;\n terminal.alternateScreen_.wordBreakMatchMiddle = v;\n },\n });\n\n this.prefs_.readStorage(function() {\n this.prefs_.notifyAll();\n\n if (opt_callback)\n opt_callback();\n }.bind(this));\n};\n\n\n/**\n * Returns the preferences manager used for configuring this terminal.\n *\n * @return {hterm.PreferenceManager}\n */\nhterm.Terminal.prototype.getPrefs = function() {\n return this.prefs_;\n};\n\n/**\n * Enable or disable bracketed paste mode.\n *\n * @param {boolean} state The value to set.\n */\nhterm.Terminal.prototype.setBracketedPaste = function(state) {\n this.options_.bracketedPaste = state;\n};\n\n/**\n * Set the color for the cursor.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setCursorColor = function(color) {\n this.cursorColor_ = color;\n this.cursorNode_.style.backgroundColor = color;\n this.cursorNode_.style.borderColor = color;\n};\n\n/**\n * Return the current cursor color as a string.\n * @return {string}\n */\nhterm.Terminal.prototype.getCursorColor = function() {\n return this.cursorColor_;\n};\n\n/**\n * Enable or disable mouse based text selection in the terminal.\n *\n * @param {boolean} state The value to set.\n */\nhterm.Terminal.prototype.setSelectionEnabled = function(state) {\n this.enableMouseDragScroll = state;\n};\n\n/**\n * Set the background color.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setBackgroundColor = function(color) {\n this.backgroundColor_ = lib.colors.normalizeCSS(color);\n this.primaryScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.alternateScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.scrollPort_.setBackgroundColor(color);\n};\n\n/**\n * Return the current terminal background color.\n *\n * Intended for use by other classes, so we don't have to expose the entire\n * prefs_ object.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getBackgroundColor = function() {\n return this.backgroundColor_;\n};\n\n/**\n * Set the foreground color.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setForegroundColor = function(color) {\n this.foregroundColor_ = lib.colors.normalizeCSS(color);\n this.primaryScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.alternateScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.scrollPort_.setForegroundColor(color);\n};\n\n/**\n * Return the current terminal foreground color.\n *\n * Intended for use by other classes, so we don't have to expose the entire\n * prefs_ object.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getForegroundColor = function() {\n return this.foregroundColor_;\n};\n\n/**\n * Create a new instance of a terminal command and run it with a given\n * argument string.\n *\n * @param {function} commandClass The constructor for a terminal command.\n * @param {string} argString The argument string to pass to the command.\n */\nhterm.Terminal.prototype.runCommandClass = function(commandClass, argString) {\n var environment = this.prefs_.get('environment');\n if (typeof environment != 'object' || environment == null)\n environment = {};\n\n var self = this;\n this.command = new commandClass(\n { argString: argString || '',\n io: this.io.push(),\n environment: environment,\n onExit: function(code) {\n self.io.pop();\n self.uninstallKeyboard();\n if (self.prefs_.get('close-on-exit'))\n window.close();\n }\n });\n\n this.installKeyboard();\n this.command.run();\n};\n\n/**\n * Returns true if the current screen is the primary screen, false otherwise.\n *\n * @return {boolean}\n */\nhterm.Terminal.prototype.isPrimaryScreen = function() {\n return this.screen_ == this.primaryScreen_;\n};\n\n/**\n * Install the keyboard handler for this terminal.\n *\n * This will prevent the browser from seeing any keystrokes sent to the\n * terminal.\n */\nhterm.Terminal.prototype.installKeyboard = function() {\n this.keyboard.installKeyboard(this.scrollPort_.getDocument().body);\n}\n\n/**\n * Uninstall the keyboard handler for this terminal.\n */\nhterm.Terminal.prototype.uninstallKeyboard = function() {\n this.keyboard.installKeyboard(null);\n}\n\n/**\n * Set a CSS variable.\n *\n * Normally this is used to set variables in the hterm namespace.\n *\n * @param {string} name The variable to set.\n * @param {string} value The value to assign to the variable.\n * @param {string?} opt_prefix The variable namespace/prefix to use.\n */\nhterm.Terminal.prototype.setCssVar = function(name, value,\n opt_prefix='--hterm-') {\n this.document_.documentElement.style.setProperty(\n `${opt_prefix}${name}`, value);\n};\n\n/**\n * Set the font size for this terminal.\n *\n * Call setFontSize(0) to reset to the default font size.\n *\n * This function does not modify the font-size preference.\n *\n * @param {number} px The desired font size, in pixels.\n */\nhterm.Terminal.prototype.setFontSize = function(px) {\n if (px === 0)\n px = this.prefs_.get('font-size');\n\n this.scrollPort_.setFontSize(px);\n this.setCssVar('charsize-width', this.scrollPort_.characterSize.width + 'px');\n this.setCssVar('charsize-height',\n this.scrollPort_.characterSize.height + 'px');\n};\n\n/**\n * Get the current font size.\n *\n * @return {number}\n */\nhterm.Terminal.prototype.getFontSize = function() {\n return this.scrollPort_.getFontSize();\n};\n\n/**\n * Get the current font family.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getFontFamily = function() {\n return this.scrollPort_.getFontFamily();\n};\n\n/**\n * Set the CSS \"font-family\" for this terminal.\n */\nhterm.Terminal.prototype.syncFontFamily = function() {\n this.scrollPort_.setFontFamily(this.prefs_.get('font-family'),\n this.prefs_.get('font-smoothing'));\n this.syncBoldSafeState();\n};\n\n/**\n * Set this.mousePasteButton based on the mouse-paste-button pref,\n * autodetecting if necessary.\n */\nhterm.Terminal.prototype.syncMousePasteButton = function() {\n var button = this.prefs_.get('mouse-paste-button');\n if (typeof button == 'number') {\n this.mousePasteButton = button;\n return;\n }\n\n var ary = navigator.userAgent.match(/\\(X11;\\s+(\\S+)/);\n if (!ary || ary[1] == 'CrOS') {\n this.mousePasteButton = 1; // Middle mouse button.\n } else {\n this.mousePasteButton = 2; // Right mouse button.\n }\n};\n\n/**\n * Enable or disable bold based on the enable-bold pref, autodetecting if\n * necessary.\n */\nhterm.Terminal.prototype.syncBoldSafeState = function() {\n var enableBold = this.prefs_.get('enable-bold');\n if (enableBold !== null) {\n this.primaryScreen_.textAttributes.enableBold = enableBold;\n this.alternateScreen_.textAttributes.enableBold = enableBold;\n return;\n }\n\n var normalSize = this.scrollPort_.measureCharacterSize();\n var boldSize = this.scrollPort_.measureCharacterSize('bold');\n\n var isBoldSafe = normalSize.equals(boldSize);\n if (!isBoldSafe) {\n console.warn('Bold characters disabled: Size of bold weight differs ' +\n 'from normal. Font family is: ' +\n this.scrollPort_.getFontFamily());\n }\n\n this.primaryScreen_.textAttributes.enableBold = isBoldSafe;\n this.alternateScreen_.textAttributes.enableBold = isBoldSafe;\n};\n\n/**\n * Enable or disable blink based on the enable-blink pref.\n */\nhterm.Terminal.prototype.syncBlinkState = function() {\n this.setCssVar('node-duration',\n this.prefs_.get('enable-blink') ? '0.7s' : '0');\n};\n\n/**\n * Set the mouse cursor style based on the current terminal mode.\n */\nhterm.Terminal.prototype.syncMouseStyle = function() {\n this.setCssVar('mouse-cursor-style',\n this.vt.mouseReport == this.vt.MOUSE_REPORT_DISABLED ?\n 'var(--hterm-mouse-cursor-text)' :\n 'var(--hterm-mouse-cursor-pointer)');\n};\n\n/**\n * Return a copy of the current cursor position.\n *\n * @return {hterm.RowCol} The RowCol object representing the current position.\n */\nhterm.Terminal.prototype.saveCursor = function() {\n return this.screen_.cursorPosition.clone();\n};\n\n/**\n * Return the current text attributes.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getTextAttributes = function() {\n return this.screen_.textAttributes;\n};\n\n/**\n * Set the text attributes.\n *\n * @param {string} textAttributes The attributes to set.\n */\nhterm.Terminal.prototype.setTextAttributes = function(textAttributes) {\n this.screen_.textAttributes = textAttributes;\n};\n\n/**\n * Return the current browser zoom factor applied to the terminal.\n *\n * @return {number} The current browser zoom factor.\n */\nhterm.Terminal.prototype.getZoomFactor = function() {\n return this.scrollPort_.characterSize.zoomFactor;\n};\n\n/**\n * Change the title of this terminal's window.\n *\n * @param {string} title The title to set.\n */\nhterm.Terminal.prototype.setWindowTitle = function(title) {\n window.document.title = title;\n};\n\n/**\n * Restore a previously saved cursor position.\n *\n * @param {hterm.RowCol} cursor The position to restore.\n */\nhterm.Terminal.prototype.restoreCursor = function(cursor) {\n var row = lib.f.clamp(cursor.row, 0, this.screenSize.height - 1);\n var column = lib.f.clamp(cursor.column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n if (cursor.column > column ||\n cursor.column == column && cursor.overflow) {\n this.screen_.cursorPosition.overflow = true;\n }\n};\n\n/**\n * Clear the cursor's overflow flag.\n */\nhterm.Terminal.prototype.clearCursorOverflow = function() {\n this.screen_.cursorPosition.overflow = false;\n};\n\n/**\n * Sets the cursor shape\n *\n * @param {string} shape The shape to set.\n */\nhterm.Terminal.prototype.setCursorShape = function(shape) {\n this.cursorShape_ = shape;\n this.restyleCursor_();\n}\n\n/**\n * Get the cursor shape\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getCursorShape = function() {\n return this.cursorShape_;\n}\n\n/**\n * Set the width of the terminal, resizing the UI to match.\n *\n * @param {number} columnCount\n */\nhterm.Terminal.prototype.setWidth = function(columnCount) {\n if (columnCount == null) {\n this.div_.style.width = '100%';\n return;\n }\n\n this.div_.style.width = Math.ceil(\n this.scrollPort_.characterSize.width *\n columnCount + this.scrollPort_.currentScrollbarWidthPx) + 'px';\n this.realizeSize_(columnCount, this.screenSize.height);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Set the height of the terminal, resizing the UI to match.\n *\n * @param {number} rowCount The height in rows.\n */\nhterm.Terminal.prototype.setHeight = function(rowCount) {\n if (rowCount == null) {\n this.div_.style.height = '100%';\n return;\n }\n\n this.div_.style.height =\n this.scrollPort_.characterSize.height * rowCount + 'px';\n this.realizeSize_(this.screenSize.width, rowCount);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Deal with terminal size changes.\n *\n * @param {number} columnCount The number of columns.\n * @param {number} rowCount The number of rows.\n */\nhterm.Terminal.prototype.realizeSize_ = function(columnCount, rowCount) {\n if (columnCount != this.screenSize.width)\n this.realizeWidth_(columnCount);\n\n if (rowCount != this.screenSize.height)\n this.realizeHeight_(rowCount);\n\n // Send new terminal size to plugin.\n this.io.onTerminalResize_(columnCount, rowCount);\n};\n\n/**\n * Deal with terminal width changes.\n *\n * This function does what needs to be done when the terminal width changes\n * out from under us. It happens here rather than in onResize_() because this\n * code may need to run synchronously to handle programmatic changes of\n * terminal width.\n *\n * Relying on the browser to send us an async resize event means we may not be\n * in the correct state yet when the next escape sequence hits.\n *\n * @param {number} columnCount The number of columns.\n */\nhterm.Terminal.prototype.realizeWidth_ = function(columnCount) {\n if (columnCount <= 0)\n throw new Error('Attempt to realize bad width: ' + columnCount);\n\n var deltaColumns = columnCount - this.screen_.getWidth();\n\n this.screenSize.width = columnCount;\n this.screen_.setColumnCount(columnCount);\n\n if (deltaColumns > 0) {\n if (this.defaultTabStops)\n this.setDefaultTabStops(this.screenSize.width - deltaColumns);\n } else {\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] < columnCount)\n break;\n\n this.tabStops_.pop();\n }\n }\n\n this.screen_.setColumnCount(this.screenSize.width);\n};\n\n/**\n * Deal with terminal height changes.\n *\n * This function does what needs to be done when the terminal height changes\n * out from under us. It happens here rather than in onResize_() because this\n * code may need to run synchronously to handle programmatic changes of\n * terminal height.\n *\n * Relying on the browser to send us an async resize event means we may not be\n * in the correct state yet when the next escape sequence hits.\n *\n * @param {number} rowCount The number of rows.\n */\nhterm.Terminal.prototype.realizeHeight_ = function(rowCount) {\n if (rowCount <= 0)\n throw new Error('Attempt to realize bad height: ' + rowCount);\n\n var deltaRows = rowCount - this.screen_.getHeight();\n\n this.screenSize.height = rowCount;\n\n var cursor = this.saveCursor();\n\n if (deltaRows < 0) {\n // Screen got smaller.\n deltaRows *= -1;\n while (deltaRows) {\n var lastRow = this.getRowCount() - 1;\n if (lastRow - this.scrollbackRows_.length == cursor.row)\n break;\n\n if (this.getRowText(lastRow))\n break;\n\n this.screen_.popRow();\n deltaRows--;\n }\n\n var ary = this.screen_.shiftRows(deltaRows);\n this.scrollbackRows_.push.apply(this.scrollbackRows_, ary);\n\n // We just removed rows from the top of the screen, we need to update\n // the cursor to match.\n cursor.row = Math.max(cursor.row - deltaRows, 0);\n } else if (deltaRows > 0) {\n // Screen got larger.\n\n if (deltaRows <= this.scrollbackRows_.length) {\n var scrollbackCount = Math.min(deltaRows, this.scrollbackRows_.length);\n var rows = this.scrollbackRows_.splice(\n this.scrollbackRows_.length - scrollbackCount, scrollbackCount);\n this.screen_.unshiftRows(rows);\n deltaRows -= scrollbackCount;\n cursor.row += scrollbackCount;\n }\n\n if (deltaRows)\n this.appendRows_(deltaRows);\n }\n\n this.setVTScrollRegion(null, null);\n this.restoreCursor(cursor);\n};\n\n/**\n * Scroll the terminal to the top of the scrollback buffer.\n */\nhterm.Terminal.prototype.scrollHome = function() {\n this.scrollPort_.scrollRowToTop(0);\n};\n\n/**\n * Scroll the terminal to the end.\n */\nhterm.Terminal.prototype.scrollEnd = function() {\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n};\n\n/**\n * Scroll the terminal one page up (minus one line) relative to the current\n * position.\n */\nhterm.Terminal.prototype.scrollPageUp = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i - this.screenSize.height + 1);\n};\n\n/**\n * Scroll the terminal one page down (minus one line) relative to the current\n * position.\n */\nhterm.Terminal.prototype.scrollPageDown = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i + this.screenSize.height - 1);\n};\n\n/**\n * Scroll the terminal one line up relative to the current position.\n */\nhterm.Terminal.prototype.scrollLineUp = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i - 1);\n};\n\n/**\n * Scroll the terminal one line down relative to the current position.\n */\nhterm.Terminal.prototype.scrollLineDown = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i + 1);\n};\n\n/**\n * Clear primary screen, secondary screen, and the scrollback buffer.\n */\nhterm.Terminal.prototype.wipeContents = function() {\n this.scrollbackRows_.length = 0;\n this.scrollPort_.resetCache();\n\n [this.primaryScreen_, this.alternateScreen_].forEach(function(screen) {\n var bottom = screen.getHeight();\n if (bottom > 0) {\n this.renumberRows_(0, bottom);\n this.clearHome(screen);\n }\n }.bind(this));\n\n this.syncCursorPosition_();\n this.scrollPort_.invalidate();\n};\n\n/**\n * Full terminal reset.\n */\nhterm.Terminal.prototype.reset = function() {\n this.clearAllTabStops();\n this.setDefaultTabStops();\n\n this.clearHome(this.primaryScreen_);\n this.primaryScreen_.textAttributes.reset();\n\n this.clearHome(this.alternateScreen_);\n this.alternateScreen_.textAttributes.reset();\n\n this.setCursorBlink(!!this.prefs_.get('cursor-blink'));\n\n this.vt.reset();\n\n this.softReset();\n};\n\n/**\n * Soft terminal reset.\n *\n * Perform a soft reset to the default values listed in\n * http://www.vt100.net/docs/vt510-rm/DECSTR#T5-9\n */\nhterm.Terminal.prototype.softReset = function() {\n // Reset terminal options to their default values.\n this.options_ = new hterm.Options();\n\n // We show the cursor on soft reset but do not alter the blink state.\n this.options_.cursorBlink = !!this.timeouts_.cursorBlink;\n\n // Xterm also resets the color palette on soft reset, even though it doesn't\n // seem to be documented anywhere.\n this.primaryScreen_.textAttributes.resetColorPalette();\n this.alternateScreen_.textAttributes.resetColorPalette();\n\n // The xterm man page explicitly says this will happen on soft reset.\n this.setVTScrollRegion(null, null);\n\n // Xterm also shows the cursor on soft reset, but does not alter the blink\n // state.\n this.setCursorVisible(true);\n};\n\n/**\n * Move the cursor forward to the next tab stop, or to the last column\n * if no more tab stops are set.\n */\nhterm.Terminal.prototype.forwardTabStop = function() {\n var column = this.screen_.cursorPosition.column;\n\n for (var i = 0; i < this.tabStops_.length; i++) {\n if (this.tabStops_[i] > column) {\n this.setCursorColumn(this.tabStops_[i]);\n return;\n }\n }\n\n // xterm does not clear the overflow flag on HT or CHT.\n var overflow = this.screen_.cursorPosition.overflow;\n this.setCursorColumn(this.screenSize.width - 1);\n this.screen_.cursorPosition.overflow = overflow;\n};\n\n/**\n * Move the cursor backward to the previous tab stop, or to the first column\n * if no previous tab stops are set.\n */\nhterm.Terminal.prototype.backwardTabStop = function() {\n var column = this.screen_.cursorPosition.column;\n\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] < column) {\n this.setCursorColumn(this.tabStops_[i]);\n return;\n }\n }\n\n this.setCursorColumn(1);\n};\n\n/**\n * Set a tab stop at the given column.\n *\n * @param {integer} column Zero based column.\n */\nhterm.Terminal.prototype.setTabStop = function(column) {\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] == column)\n return;\n\n if (this.tabStops_[i] < column) {\n this.tabStops_.splice(i + 1, 0, column);\n return;\n }\n }\n\n this.tabStops_.splice(0, 0, column);\n};\n\n/**\n * Clear the tab stop at the current cursor position.\n *\n * No effect if there is no tab stop at the current cursor position.\n */\nhterm.Terminal.prototype.clearTabStopAtCursor = function() {\n var column = this.screen_.cursorPosition.column;\n\n var i = this.tabStops_.indexOf(column);\n if (i == -1)\n return;\n\n this.tabStops_.splice(i, 1);\n};\n\n/**\n * Clear all tab stops.\n */\nhterm.Terminal.prototype.clearAllTabStops = function() {\n this.tabStops_.length = 0;\n this.defaultTabStops = false;\n};\n\n/**\n * Set up the default tab stops, starting from a given column.\n *\n * This sets a tabstop every (column % this.tabWidth) column, starting\n * from the specified column, or 0 if no column is provided. It also flags\n * future resizes to set them up.\n *\n * This does not clear the existing tab stops first, use clearAllTabStops\n * for that.\n *\n * @param {integer} opt_start Optional starting zero based starting column, useful\n * for filling out missing tab stops when the terminal is resized.\n */\nhterm.Terminal.prototype.setDefaultTabStops = function(opt_start) {\n var start = opt_start || 0;\n var w = this.tabWidth;\n // Round start up to a default tab stop.\n start = start - 1 - ((start - 1) % w) + w;\n for (var i = start; i < this.screenSize.width; i += w) {\n this.setTabStop(i);\n }\n\n this.defaultTabStops = true;\n};\n\n/**\n * Interpret a sequence of characters.\n *\n * Incomplete escape sequences are buffered until the next call.\n *\n * @param {string} str Sequence of characters to interpret or pass through.\n */\nhterm.Terminal.prototype.interpret = function(str) {\n this.vt.interpret(str);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Take over the given DIV for use as the terminal display.\n *\n * @param {HTMLDivElement} div The div to use as the terminal display.\n */\nhterm.Terminal.prototype.decorate = function(div) {\n this.div_ = div;\n\n this.scrollPort_.decorate(div);\n this.scrollPort_.setBackgroundImage(this.prefs_.get('background-image'));\n this.scrollPort_.setBackgroundSize(this.prefs_.get('background-size'));\n this.scrollPort_.setBackgroundPosition(\n this.prefs_.get('background-position'));\n this.scrollPort_.setUserCssUrl(this.prefs_.get('user-css'));\n this.scrollPort_.setUserCssText(this.prefs_.get('user-css-text'));\n\n this.div_.focus = this.focus.bind(this);\n\n this.setFontSize(this.prefs_.get('font-size'));\n this.syncFontFamily();\n\n this.setScrollbarVisible(this.prefs_.get('scrollbar-visible'));\n this.setScrollWheelMoveMultipler(\n this.prefs_.get('scroll-wheel-move-multiplier'));\n\n this.document_ = this.scrollPort_.getDocument();\n\n this.document_.body.oncontextmenu = function() { return false; };\n\n var onMouse = this.onMouse_.bind(this);\n var screenNode = this.scrollPort_.getScreenNode();\n screenNode.addEventListener('mousedown', onMouse);\n screenNode.addEventListener('mouseup', onMouse);\n screenNode.addEventListener('mousemove', onMouse);\n this.scrollPort_.onScrollWheel = onMouse;\n\n screenNode.addEventListener(\n 'focus', this.onFocusChange_.bind(this, true));\n // Listen for mousedown events on the screenNode as in FF the focus\n // events don't bubble.\n screenNode.addEventListener('mousedown', function() {\n setTimeout(this.onFocusChange_.bind(this, true));\n }.bind(this));\n\n screenNode.addEventListener(\n 'blur', this.onFocusChange_.bind(this, false));\n\n var style = this.document_.createElement('style');\n style.textContent =\n ('.cursor-node[focus=\"false\"] {' +\n ' box-sizing: border-box;' +\n ' background-color: transparent !important;' +\n ' border-width: 2px;' +\n ' border-style: solid;' +\n '}' +\n '.wc-node {' +\n ' display: inline-block;' +\n ' text-align: center;' +\n ' width: calc(var(--hterm-charsize-width) * 2);' +\n ' line-height: var(--hterm-charsize-height);' +\n '}' +\n ':root {' +\n ' --hterm-charsize-width: ' + this.scrollPort_.characterSize.width + 'px;' +\n ' --hterm-charsize-height: ' + this.scrollPort_.characterSize.height + 'px;' +\n ' --hterm-cursor-offset-col: 0;' +\n ' --hterm-cursor-offset-row: 0;' +\n ' --hterm-blink-node-duration: 0.7s;' +\n ' --hterm-mouse-cursor-text: text;' +\n ' --hterm-mouse-cursor-pointer: default;' +\n ' --hterm-mouse-cursor-style: var(--hterm-mouse-cursor-text);' +\n '}' +\n '@keyframes blink {' +\n ' from { opacity: 1.0; }' +\n ' to { opacity: 0.0; }' +\n '}' +\n '.blink-node {' +\n ' animation-name: blink;' +\n ' animation-duration: var(--hterm-blink-node-duration);' +\n ' animation-iteration-count: infinite;' +\n ' animation-timing-function: ease-in-out;' +\n ' animation-direction: alternate;' +\n '}');\n this.document_.head.appendChild(style);\n\n this.cursorNode_ = this.document_.createElement('div');\n this.cursorNode_.id = 'hterm:terminal-cursor';\n this.cursorNode_.className = 'cursor-node';\n this.cursorNode_.style.cssText =\n ('position: absolute;' +\n 'left: calc(var(--hterm-charsize-width) * var(--hterm-cursor-offset-col));' +\n 'top: calc(var(--hterm-charsize-height) * var(--hterm-cursor-offset-row));' +\n 'display: block;' +\n 'width: var(--hterm-charsize-width);' +\n 'height: var(--hterm-charsize-height);' +\n '-webkit-transition: opacity, background-color 100ms linear;' +\n '-moz-transition: opacity, background-color 100ms linear;');\n\n this.setCursorColor(this.prefs_.get('cursor-color'));\n this.setCursorBlink(!!this.prefs_.get('cursor-blink'));\n this.restyleCursor_();\n\n this.document_.body.appendChild(this.cursorNode_);\n\n // When 'enableMouseDragScroll' is off we reposition this element directly\n // under the mouse cursor after a click. This makes Chrome associate\n // subsequent mousemove events with the scroll-blocker. Since the\n // scroll-blocker is a peer (not a child) of the scrollport, the mousemove\n // events do not cause the scrollport to scroll.\n //\n // It's a hack, but it's the cleanest way I could find.\n this.scrollBlockerNode_ = this.document_.createElement('div');\n this.scrollBlockerNode_.id = 'hterm:mouse-drag-scroll-blocker';\n this.scrollBlockerNode_.style.cssText =\n ('position: absolute;' +\n 'top: -99px;' +\n 'display: block;' +\n 'width: 10px;' +\n 'height: 10px;');\n this.document_.body.appendChild(this.scrollBlockerNode_);\n\n this.scrollPort_.onScrollWheel = onMouse;\n ['mousedown', 'mouseup', 'mousemove', 'click', 'dblclick',\n ].forEach(function(event) {\n this.scrollBlockerNode_.addEventListener(event, onMouse);\n this.cursorNode_.addEventListener(event, onMouse);\n this.document_.addEventListener(event, onMouse);\n }.bind(this));\n\n this.cursorNode_.addEventListener('mousedown', function() {\n setTimeout(this.focus.bind(this));\n }.bind(this));\n\n this.setReverseVideo(false);\n\n this.scrollPort_.focus();\n this.scrollPort_.scheduleRedraw();\n};\n\n/**\n * Return the HTML document that contains the terminal DOM nodes.\n *\n * @return {HTMLDocument}\n */\nhterm.Terminal.prototype.getDocument = function() {\n return this.document_;\n};\n\n/**\n * Focus the terminal.\n */\nhterm.Terminal.prototype.focus = function() {\n this.scrollPort_.focus();\n};\n\n/**\n * Return the HTML Element for a given row index.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch rows on demand as they are scrolled into view.\n *\n * TODO(rginda): Consider saving scrollback rows as (HTML source, text content)\n * pairs to conserve memory.\n *\n * @param {integer} index The zero-based row index, measured relative to the\n * start of the scrollback buffer. On-screen rows will always have the\n * largest indices.\n * @return {HTMLElement} The 'x-row' element containing for the requested row.\n */\nhterm.Terminal.prototype.getRowNode = function(index) {\n if (index < this.scrollbackRows_.length)\n return this.scrollbackRows_[index];\n\n var screenIndex = index - this.scrollbackRows_.length;\n return this.screen_.rowsArray[screenIndex];\n};\n\n/**\n * Return the text content for a given range of rows.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch text content on demand when the user attempts to copy their\n * selection to the clipboard.\n *\n * @param {integer} start The zero-based row index to start from, measured\n * relative to the start of the scrollback buffer. On-screen rows will\n * always have the largest indices.\n * @param {integer} end The zero-based row index to end on, measured\n * relative to the start of the scrollback buffer.\n * @return {string} A single string containing the text value of the range of\n * rows. Lines will be newline delimited, with no trailing newline.\n */\nhterm.Terminal.prototype.getRowsText = function(start, end) {\n var ary = [];\n for (var i = start; i < end; i++) {\n var node = this.getRowNode(i);\n ary.push(node.textContent);\n if (i < end - 1 && !node.getAttribute('line-overflow'))\n ary.push('\\n');\n }\n\n return ary.join('');\n};\n\n/**\n * Return the text content for a given row.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch text content on demand when the user attempts to copy their\n * selection to the clipboard.\n *\n * @param {integer} index The zero-based row index to return, measured\n * relative to the start of the scrollback buffer. On-screen rows will\n * always have the largest indices.\n * @return {string} A string containing the text value of the selected row.\n */\nhterm.Terminal.prototype.getRowText = function(index) {\n var node = this.getRowNode(index);\n return node.textContent;\n};\n\n/**\n * Return the total number of rows in the addressable screen and in the\n * scrollback buffer of this terminal.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to compute the size of the scrollbar.\n *\n * @return {integer} The number of rows in this terminal.\n */\nhterm.Terminal.prototype.getRowCount = function() {\n return this.scrollbackRows_.length + this.screen_.rowsArray.length;\n};\n\n/**\n * Create DOM nodes for new rows and append them to the end of the terminal.\n *\n * This is the only correct way to add a new DOM node for a row. Notice that\n * the new row is appended to the bottom of the list of rows, and does not\n * require renumbering (of the rowIndex property) of previous rows.\n *\n * If you think you want a new blank row somewhere in the middle of the\n * terminal, look into moveRows_().\n *\n * This method does not pay attention to vtScrollTop/Bottom, since you should\n * be using moveRows() in cases where they would matter.\n *\n * The cursor will be positioned at column 0 of the first inserted line.\n *\n * @param {number} count The number of rows to created.\n */\nhterm.Terminal.prototype.appendRows_ = function(count) {\n var cursorRow = this.screen_.rowsArray.length;\n var offset = this.scrollbackRows_.length + cursorRow;\n for (var i = 0; i < count; i++) {\n var row = this.document_.createElement('x-row');\n row.appendChild(this.document_.createTextNode(''));\n row.rowIndex = offset + i;\n this.screen_.pushRow(row);\n }\n\n var extraRows = this.screen_.rowsArray.length - this.screenSize.height;\n if (extraRows > 0) {\n var ary = this.screen_.shiftRows(extraRows);\n Array.prototype.push.apply(this.scrollbackRows_, ary);\n if (this.scrollPort_.isScrolledEnd)\n this.scheduleScrollDown_();\n }\n\n if (cursorRow >= this.screen_.rowsArray.length)\n cursorRow = this.screen_.rowsArray.length - 1;\n\n this.setAbsoluteCursorPosition(cursorRow, 0);\n};\n\n/**\n * Relocate rows from one part of the addressable screen to another.\n *\n * This is used to recycle rows during VT scrolls (those which are driven\n * by VT commands, rather than by the user manipulating the scrollbar.)\n *\n * In this case, the blank lines scrolled into the scroll region are made of\n * the nodes we scrolled off. These have their rowIndex properties carefully\n * renumbered so as not to confuse the ScrollPort.\n *\n * @param {number} fromIndex The start index.\n * @param {number} count The number of rows to move.\n * @param {number} toIndex The destination index.\n */\nhterm.Terminal.prototype.moveRows_ = function(fromIndex, count, toIndex) {\n var ary = this.screen_.removeRows(fromIndex, count);\n this.screen_.insertRows(toIndex, ary);\n\n var start, end;\n if (fromIndex < toIndex) {\n start = fromIndex;\n end = toIndex + count;\n } else {\n start = toIndex;\n end = fromIndex + count;\n }\n\n this.renumberRows_(start, end);\n this.scrollPort_.scheduleInvalidate();\n};\n\n/**\n * Renumber the rowIndex property of the given range of rows.\n *\n * The start and end indices are relative to the screen, not the scrollback.\n * Rows in the scrollback buffer cannot be renumbered. Since they are not\n * addressable (you can't delete them, scroll them, etc), you should have\n * no need to renumber scrollback rows.\n *\n * @param {number} start The start index.\n * @param {number} end The end index.\n * @param {hterm.Screen} opt_screen The screen to renumber.\n */\nhterm.Terminal.prototype.renumberRows_ = function(start, end, opt_screen) {\n var screen = opt_screen || this.screen_;\n\n var offset = this.scrollbackRows_.length;\n for (var i = start; i < end; i++) {\n screen.rowsArray[i].rowIndex = offset + i;\n }\n};\n\n/**\n * Print a string to the terminal.\n *\n * This respects the current insert and wraparound modes. It will add new lines\n * to the end of the terminal, scrolling off the top into the scrollback buffer\n * if necessary.\n *\n * The string is *not* parsed for escape codes. Use the interpret() method if\n * that's what you're after.\n *\n * @param{string} str The string to print.\n */\nhterm.Terminal.prototype.print = function(str) {\n var startOffset = 0;\n\n var strWidth = lib.wc.strWidth(str);\n\n while (startOffset < strWidth) {\n if (this.options_.wraparound && this.screen_.cursorPosition.overflow) {\n this.screen_.commitLineOverflow();\n this.newLine();\n }\n\n var count = strWidth - startOffset;\n var didOverflow = false;\n var substr;\n\n if (this.screen_.cursorPosition.column + count >= this.screenSize.width) {\n didOverflow = true;\n count = this.screenSize.width - this.screen_.cursorPosition.column;\n }\n\n if (didOverflow && !this.options_.wraparound) {\n // If the string overflowed the line but wraparound is off, then the\n // last printed character should be the last of the string.\n // TODO: This will add to our problems with multibyte UTF-16 characters.\n substr = lib.wc.substr(str, startOffset, count - 1) +\n lib.wc.substr(str, strWidth - 1);\n count = strWidth;\n } else {\n substr = lib.wc.substr(str, startOffset, count);\n }\n\n var tokens = hterm.TextAttributes.splitWidecharString(substr);\n for (var i = 0; i < tokens.length; i++) {\n this.screen_.textAttributes.wcNode = tokens[i].wcNode;\n this.screen_.textAttributes.asciiNode = tokens[i].asciiNode;\n\n if (this.options_.insertMode) {\n this.screen_.insertString(tokens[i].str);\n } else {\n this.screen_.overwriteString(tokens[i].str);\n }\n this.screen_.textAttributes.wcNode = false;\n this.screen_.textAttributes.asciiNode = true;\n }\n\n this.screen_.maybeClipCurrentRow();\n startOffset += count;\n }\n\n this.scheduleSyncCursorPosition_();\n\n if (this.scrollOnOutput_)\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n};\n\n/**\n * Set the VT scroll region.\n *\n * This also resets the cursor position to the absolute (0, 0) position, since\n * that's what xterm appears to do.\n *\n * Setting the scroll region to the full height of the terminal will clear\n * the scroll region. This is *NOT* what most terminals do. We're explicitly\n * going \"off-spec\" here because it makes `screen` and `tmux` overflow into the\n * local scrollback buffer, which means the scrollbars and shift-pgup/pgdn\n * continue to work as most users would expect.\n *\n * @param {integer} scrollTop The zero-based top of the scroll region.\n * @param {integer} scrollBottom The zero-based bottom of the scroll region,\n * inclusive.\n */\nhterm.Terminal.prototype.setVTScrollRegion = function(scrollTop, scrollBottom) {\n if (scrollTop == 0 && scrollBottom == this.screenSize.height - 1) {\n this.vtScrollTop_ = null;\n this.vtScrollBottom_ = null;\n } else {\n this.vtScrollTop_ = scrollTop;\n this.vtScrollBottom_ = scrollBottom;\n }\n};\n\n/**\n * Return the top row index according to the VT.\n *\n * This will return 0 unless the terminal has been told to restrict scrolling\n * to some lower row. It is used for some VT cursor positioning and scrolling\n * commands.\n *\n * @return {integer} The topmost row in the terminal's scroll region.\n */\nhterm.Terminal.prototype.getVTScrollTop = function() {\n if (this.vtScrollTop_ != null)\n return this.vtScrollTop_;\n\n return 0;\n};\n\n/**\n * Return the bottom row index according to the VT.\n *\n * This will return the height of the terminal unless the it has been told to\n * restrict scrolling to some higher row. It is used for some VT cursor\n * positioning and scrolling commands.\n *\n * @return {integer} The bottom most row in the terminal's scroll region.\n */\nhterm.Terminal.prototype.getVTScrollBottom = function() {\n if (this.vtScrollBottom_ != null)\n return this.vtScrollBottom_;\n\n return this.screenSize.height - 1;\n}\n\n/**\n * Process a '\\n' character.\n *\n * If the cursor is on the final row of the terminal this will append a new\n * blank row to the screen and scroll the topmost row into the scrollback\n * buffer.\n *\n * Otherwise, this moves the cursor to column zero of the next row.\n */\nhterm.Terminal.prototype.newLine = function() {\n var cursorAtEndOfScreen = (this.screen_.cursorPosition.row ==\n this.screen_.rowsArray.length - 1);\n\n if (this.vtScrollBottom_ != null) {\n // A VT Scroll region is active, we never append new rows.\n if (this.screen_.cursorPosition.row == this.vtScrollBottom_) {\n // We're at the end of the VT Scroll Region, perform a VT scroll.\n this.vtScrollUp(1);\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0);\n } else if (cursorAtEndOfScreen) {\n // We're at the end of the screen, the only thing to do is put the\n // cursor to column 0.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0);\n } else {\n // Anywhere else, advance the cursor row, and reset the column.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0);\n }\n } else if (cursorAtEndOfScreen) {\n // We're at the end of the screen. Append a new row to the terminal,\n // shifting the top row into the scrollback.\n this.appendRows_(1);\n } else {\n // Anywhere else in the screen just moves the cursor.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0);\n }\n};\n\n/**\n * Like newLine(), except maintain the cursor column.\n */\nhterm.Terminal.prototype.lineFeed = function() {\n var column = this.screen_.cursorPosition.column;\n this.newLine();\n this.setCursorColumn(column);\n};\n\n/**\n * If autoCarriageReturn is set then newLine(), else lineFeed().\n */\nhterm.Terminal.prototype.formFeed = function() {\n if (this.options_.autoCarriageReturn) {\n this.newLine();\n } else {\n this.lineFeed();\n }\n};\n\n/**\n * Move the cursor up one row, possibly inserting a blank line.\n *\n * The cursor column is not changed.\n */\nhterm.Terminal.prototype.reverseLineFeed = function() {\n var scrollTop = this.getVTScrollTop();\n var currentRow = this.screen_.cursorPosition.row;\n\n if (currentRow == scrollTop) {\n this.insertLines(1);\n } else {\n this.setAbsoluteCursorRow(currentRow - 1);\n }\n};\n\n/**\n * Replace all characters to the left of the current cursor with the space\n * character.\n *\n * TODO(rginda): This should probably *remove* the characters (not just replace\n * with a space) if there are no characters at or beyond the current cursor\n * position.\n */\nhterm.Terminal.prototype.eraseToLeft = function() {\n var cursor = this.saveCursor();\n this.setCursorColumn(0);\n this.screen_.overwriteString(lib.f.getWhitespace(cursor.column + 1));\n this.restoreCursor(cursor);\n};\n\n/**\n * Erase a given number of characters to the right of the cursor.\n *\n * The cursor position is unchanged.\n *\n * If the current background color is not the default background color this\n * will insert spaces rather than delete. This is unfortunate because the\n * trailing space will affect text selection, but it's difficult to come up\n * with a way to style empty space that wouldn't trip up the hterm.Screen\n * code.\n *\n * eraseToRight is ignored in the presence of a cursor overflow. This deviates\n * from xterm, but agrees with gnome-terminal and konsole, xfce4-terminal. See\n * crbug.com/232390 for details.\n *\n * @param {number} opt_count The number of characters to erase.\n */\nhterm.Terminal.prototype.eraseToRight = function(opt_count) {\n if (this.screen_.cursorPosition.overflow)\n return;\n\n var maxCount = this.screenSize.width - this.screen_.cursorPosition.column;\n var count = opt_count ? Math.min(opt_count, maxCount) : maxCount;\n\n if (this.screen_.textAttributes.background ===\n this.screen_.textAttributes.DEFAULT_COLOR) {\n var cursorRow = this.screen_.rowsArray[this.screen_.cursorPosition.row];\n if (hterm.TextAttributes.nodeWidth(cursorRow) <=\n this.screen_.cursorPosition.column + count) {\n this.screen_.deleteChars(count);\n this.clearCursorOverflow();\n return;\n }\n }\n\n var cursor = this.saveCursor();\n this.screen_.overwriteString(lib.f.getWhitespace(count));\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase the current line.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseLine = function() {\n var cursor = this.saveCursor();\n this.screen_.clearCursorRow();\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase all characters from the start of the screen to the current cursor\n * position, regardless of scroll region.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseAbove = function() {\n var cursor = this.saveCursor();\n\n this.eraseToLeft();\n\n for (var i = 0; i < cursor.row; i++) {\n this.setAbsoluteCursorPosition(i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase all characters from the current cursor position to the end of the\n * screen, regardless of scroll region.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseBelow = function() {\n var cursor = this.saveCursor();\n\n this.eraseToRight();\n\n var bottom = this.screenSize.height - 1;\n for (var i = cursor.row + 1; i <= bottom; i++) {\n this.setAbsoluteCursorPosition(i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Fill the terminal with a given character.\n *\n * This methods does not respect the VT scroll region.\n *\n * @param {string} ch The character to use for the fill.\n */\nhterm.Terminal.prototype.fill = function(ch) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorPosition(0, 0);\n for (var row = 0; row < this.screenSize.height; row++) {\n for (var col = 0; col < this.screenSize.width; col++) {\n this.setAbsoluteCursorPosition(row, col);\n this.screen_.overwriteString(ch);\n }\n }\n\n this.restoreCursor(cursor);\n};\n\n/**\n * Erase the entire display and leave the cursor at (0, 0).\n *\n * This does not respect the scroll region.\n *\n * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults\n * to the current screen.\n */\nhterm.Terminal.prototype.clearHome = function(opt_screen) {\n var screen = opt_screen || this.screen_;\n var bottom = screen.getHeight();\n\n if (bottom == 0) {\n // Empty screen, nothing to do.\n return;\n }\n\n for (var i = 0; i < bottom; i++) {\n screen.setCursorPosition(i, 0);\n screen.clearCursorRow();\n }\n\n screen.setCursorPosition(0, 0);\n};\n\n/**\n * Erase the entire display without changing the cursor position.\n *\n * The cursor position is unchanged. This does not respect the scroll\n * region.\n *\n * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults\n * to the current screen.\n */\nhterm.Terminal.prototype.clear = function(opt_screen) {\n var screen = opt_screen || this.screen_;\n var cursor = screen.cursorPosition.clone();\n this.clearHome(screen);\n screen.setCursorPosition(cursor.row, cursor.column);\n};\n\n/**\n * VT command to insert lines at the current cursor row.\n *\n * This respects the current scroll region. Rows pushed off the bottom are\n * lost (they won't show up in the scrollback buffer).\n *\n * @param {integer} count The number of lines to insert.\n */\nhterm.Terminal.prototype.insertLines = function(count) {\n var cursorRow = this.screen_.cursorPosition.row;\n\n var bottom = this.getVTScrollBottom();\n count = Math.min(count, bottom - cursorRow);\n\n // The moveCount is the number of rows we need to relocate to make room for\n // the new row(s). The count is the distance to move them.\n var moveCount = bottom - cursorRow - count + 1;\n if (moveCount)\n this.moveRows_(cursorRow, moveCount, cursorRow + count);\n\n for (var i = count - 1; i >= 0; i--) {\n this.setAbsoluteCursorPosition(cursorRow + i, 0);\n this.screen_.clearCursorRow();\n }\n};\n\n/**\n * VT command to delete lines at the current cursor row.\n *\n * New rows are added to the bottom of scroll region to take their place. New\n * rows are strictly there to take up space and have no content or style.\n *\n * @param {number} count The number of lines to delete.\n */\nhterm.Terminal.prototype.deleteLines = function(count) {\n var cursor = this.saveCursor();\n\n var top = cursor.row;\n var bottom = this.getVTScrollBottom();\n\n var maxCount = bottom - top + 1;\n count = Math.min(count, maxCount);\n\n var moveStart = bottom - count + 1;\n if (count != maxCount)\n this.moveRows_(top, count, moveStart);\n\n for (var i = 0; i < count; i++) {\n this.setAbsoluteCursorPosition(moveStart + i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Inserts the given number of spaces at the current cursor position.\n *\n * The cursor position is not changed.\n *\n * @param {number} count The number of spaces to insert.\n */\nhterm.Terminal.prototype.insertSpace = function(count) {\n var cursor = this.saveCursor();\n\n var ws = lib.f.getWhitespace(count || 1);\n this.screen_.insertString(ws);\n this.screen_.maybeClipCurrentRow();\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Forward-delete the specified number of characters starting at the cursor\n * position.\n *\n * @param {integer} count The number of characters to delete.\n */\nhterm.Terminal.prototype.deleteChars = function(count) {\n var deleted = this.screen_.deleteChars(count);\n if (deleted && !this.screen_.textAttributes.isDefault()) {\n var cursor = this.saveCursor();\n this.setCursorColumn(this.screenSize.width - deleted);\n this.screen_.insertString(lib.f.getWhitespace(deleted));\n this.restoreCursor(cursor);\n }\n\n this.clearCursorOverflow();\n};\n\n/**\n * Shift rows in the scroll region upwards by a given number of lines.\n *\n * New rows are inserted at the bottom of the scroll region to fill the\n * vacated rows. The new rows not filled out with the current text attributes.\n *\n * This function does not affect the scrollback rows at all. Rows shifted\n * off the top are lost.\n *\n * The cursor position is not altered.\n *\n * @param {integer} count The number of rows to scroll.\n */\nhterm.Terminal.prototype.vtScrollUp = function(count) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorRow(this.getVTScrollTop());\n this.deleteLines(count);\n\n this.restoreCursor(cursor);\n};\n\n/**\n * Shift rows below the cursor down by a given number of lines.\n *\n * This function respects the current scroll region.\n *\n * New rows are inserted at the top of the scroll region to fill the\n * vacated rows. The new rows not filled out with the current text attributes.\n *\n * This function does not affect the scrollback rows at all. Rows shifted\n * off the bottom are lost.\n *\n * @param {integer} count The number of rows to scroll.\n */\nhterm.Terminal.prototype.vtScrollDown = function(opt_count) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorPosition(this.getVTScrollTop(), 0);\n this.insertLines(opt_count);\n\n this.restoreCursor(cursor);\n};\n\n\n/**\n * Set the cursor position.\n *\n * The cursor row is relative to the scroll region if the terminal has\n * 'origin mode' enabled, or relative to the addressable screen otherwise.\n *\n * @param {integer} row The new zero-based cursor row.\n * @param {integer} row The new zero-based cursor column.\n */\nhterm.Terminal.prototype.setCursorPosition = function(row, column) {\n if (this.options_.originMode) {\n this.setRelativeCursorPosition(row, column);\n } else {\n this.setAbsoluteCursorPosition(row, column);\n }\n};\n\n/**\n * Move the cursor relative to its current position.\n *\n * @param {number} row\n * @param {number} column\n */\nhterm.Terminal.prototype.setRelativeCursorPosition = function(row, column) {\n var scrollTop = this.getVTScrollTop();\n row = lib.f.clamp(row + scrollTop, scrollTop, this.getVTScrollBottom());\n column = lib.f.clamp(column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n};\n\n/**\n * Move the cursor to the specified position.\n *\n * @param {number} row\n * @param {number} column\n */\nhterm.Terminal.prototype.setAbsoluteCursorPosition = function(row, column) {\n row = lib.f.clamp(row, 0, this.screenSize.height - 1);\n column = lib.f.clamp(column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n};\n\n/**\n * Set the cursor column.\n *\n * @param {integer} column The new zero-based cursor column.\n */\nhterm.Terminal.prototype.setCursorColumn = function(column) {\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, column);\n};\n\n/**\n * Return the cursor column.\n *\n * @return {integer} The zero-based cursor column.\n */\nhterm.Terminal.prototype.getCursorColumn = function() {\n return this.screen_.cursorPosition.column;\n};\n\n/**\n * Set the cursor row.\n *\n * The cursor row is relative to the scroll region if the terminal has\n * 'origin mode' enabled, or relative to the addressable screen otherwise.\n *\n * @param {integer} row The new cursor row.\n */\nhterm.Terminal.prototype.setAbsoluteCursorRow = function(row) {\n this.setAbsoluteCursorPosition(row, this.screen_.cursorPosition.column);\n};\n\n/**\n * Return the cursor row.\n *\n * @return {integer} The zero-based cursor row.\n */\nhterm.Terminal.prototype.getCursorRow = function() {\n return this.screen_.cursorPosition.row;\n};\n\n/**\n * Request that the ScrollPort redraw itself soon.\n *\n * The redraw will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single redraw.\n */\nhterm.Terminal.prototype.scheduleRedraw_ = function() {\n if (this.timeouts_.redraw)\n return;\n\n var self = this;\n this.timeouts_.redraw = setTimeout(function() {\n delete self.timeouts_.redraw;\n self.scrollPort_.redraw_();\n }, 0);\n};\n\n/**\n * Request that the ScrollPort be scrolled to the bottom.\n *\n * The scroll will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single scroll.\n *\n * This affects the scrollbar position of the ScrollPort, and has nothing to\n * do with the VT scroll commands.\n */\nhterm.Terminal.prototype.scheduleScrollDown_ = function() {\n if (this.timeouts_.scrollDown)\n return;\n\n var self = this;\n this.timeouts_.scrollDown = setTimeout(function() {\n delete self.timeouts_.scrollDown;\n self.scrollPort_.scrollRowToBottom(self.getRowCount());\n }, 10);\n};\n\n/**\n * Move the cursor up a specified number of rows.\n *\n * @param {integer} count The number of rows to move the cursor.\n */\nhterm.Terminal.prototype.cursorUp = function(count) {\n return this.cursorDown(-(count || 1));\n};\n\n/**\n * Move the cursor down a specified number of rows.\n *\n * @param {integer} count The number of rows to move the cursor.\n */\nhterm.Terminal.prototype.cursorDown = function(count) {\n count = count || 1;\n var minHeight = (this.options_.originMode ? this.getVTScrollTop() : 0);\n var maxHeight = (this.options_.originMode ? this.getVTScrollBottom() :\n this.screenSize.height - 1);\n\n var row = lib.f.clamp(this.screen_.cursorPosition.row + count,\n minHeight, maxHeight);\n this.setAbsoluteCursorRow(row);\n};\n\n/**\n * Move the cursor left a specified number of columns.\n *\n * If reverse wraparound mode is enabled and the previous row wrapped into\n * the current row then we back up through the wraparound as well.\n *\n * @param {integer} count The number of columns to move the cursor.\n */\nhterm.Terminal.prototype.cursorLeft = function(count) {\n count = count || 1;\n\n if (count < 1)\n return;\n\n var currentColumn = this.screen_.cursorPosition.column;\n if (this.options_.reverseWraparound) {\n if (this.screen_.cursorPosition.overflow) {\n // If this cursor is in the right margin, consume one count to get it\n // back to the last column. This only applies when we're in reverse\n // wraparound mode.\n count--;\n this.clearCursorOverflow();\n\n if (!count)\n return;\n }\n\n var newRow = this.screen_.cursorPosition.row;\n var newColumn = currentColumn - count;\n if (newColumn < 0) {\n newRow = newRow - Math.floor(count / this.screenSize.width) - 1;\n if (newRow < 0) {\n // xterm also wraps from row 0 to the last row.\n newRow = this.screenSize.height + newRow % this.screenSize.height;\n }\n newColumn = this.screenSize.width + newColumn % this.screenSize.width;\n }\n\n this.setCursorPosition(Math.max(newRow, 0), newColumn);\n\n } else {\n var newColumn = Math.max(currentColumn - count, 0);\n this.setCursorColumn(newColumn);\n }\n};\n\n/**\n * Move the cursor right a specified number of columns.\n *\n * @param {integer} count The number of columns to move the cursor.\n */\nhterm.Terminal.prototype.cursorRight = function(count) {\n count = count || 1;\n\n if (count < 1)\n return;\n\n var column = lib.f.clamp(this.screen_.cursorPosition.column + count,\n 0, this.screenSize.width - 1);\n this.setCursorColumn(column);\n};\n\n/**\n * Reverse the foreground and background colors of the terminal.\n *\n * This only affects text that was drawn with no attributes.\n *\n * TODO(rginda): Test xterm to see if reverse is respected for text that has\n * been drawn with attributes that happen to coincide with the default\n * 'no-attribute' colors. My guess is probably not.\n *\n * @param {boolean} state The state to set.\n */\nhterm.Terminal.prototype.setReverseVideo = function(state) {\n this.options_.reverseVideo = state;\n if (state) {\n this.scrollPort_.setForegroundColor(this.prefs_.get('background-color'));\n this.scrollPort_.setBackgroundColor(this.prefs_.get('foreground-color'));\n } else {\n this.scrollPort_.setForegroundColor(this.prefs_.get('foreground-color'));\n this.scrollPort_.setBackgroundColor(this.prefs_.get('background-color'));\n }\n};\n\n/**\n * Ring the terminal bell.\n *\n * This will not play the bell audio more than once per second.\n */\nhterm.Terminal.prototype.ringBell = function() {\n this.cursorNode_.style.backgroundColor =\n this.scrollPort_.getForegroundColor();\n\n var self = this;\n setTimeout(function() {\n self.cursorNode_.style.backgroundColor = self.prefs_.get('cursor-color');\n }, 200);\n\n // bellSquelchTimeout_ affects both audio and notification bells.\n if (this.bellSquelchTimeout_)\n return;\n\n if (this.bellAudio_.getAttribute('src')) {\n this.bellAudio_.play();\n this.bellSequelchTimeout_ = setTimeout(function() {\n delete this.bellSquelchTimeout_;\n }.bind(this), 500);\n } else {\n delete this.bellSquelchTimeout_;\n }\n\n if (this.desktopNotificationBell_ && !this.document_.hasFocus()) {\n var n = hterm.notify();\n this.bellNotificationList_.push(n);\n // TODO: Should we try to raise the window here?\n n.onclick = function() { self.closeBellNotifications_(); };\n }\n};\n\n/**\n * Set the origin mode bit.\n *\n * If origin mode is on, certain VT cursor and scrolling commands measure their\n * row parameter relative to the VT scroll region. Otherwise, row 0 corresponds\n * to the top of the addressable screen.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set origin mode, false to unset.\n */\nhterm.Terminal.prototype.setOriginMode = function(state) {\n this.options_.originMode = state;\n this.setCursorPosition(0, 0);\n};\n\n/**\n * Set the insert mode bit.\n *\n * If insert mode is on, existing text beyond the cursor position will be\n * shifted right to make room for new text. Otherwise, new text overwrites\n * any existing text.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set insert mode, false to unset.\n */\nhterm.Terminal.prototype.setInsertMode = function(state) {\n this.options_.insertMode = state;\n};\n\n/**\n * Set the auto carriage return bit.\n *\n * If auto carriage return is on then a formfeed character is interpreted\n * as a newline, otherwise it's the same as a linefeed. The difference boils\n * down to whether or not the cursor column is reset.\n *\n * @param {boolean} state The state to set.\n */\nhterm.Terminal.prototype.setAutoCarriageReturn = function(state) {\n this.options_.autoCarriageReturn = state;\n};\n\n/**\n * Set the wraparound mode bit.\n *\n * If wraparound mode is on, certain VT commands will allow the cursor to wrap\n * to the start of the following row. Otherwise, the cursor is clamped to the\n * end of the screen and attempts to write past it are ignored.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set wraparound mode, false to unset.\n */\nhterm.Terminal.prototype.setWraparound = function(state) {\n this.options_.wraparound = state;\n};\n\n/**\n * Set the reverse-wraparound mode bit.\n *\n * If wraparound mode is off, certain VT commands will allow the cursor to wrap\n * to the end of the previous row. Otherwise, the cursor is clamped to column\n * 0.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set reverse-wraparound mode, false to unset.\n */\nhterm.Terminal.prototype.setReverseWraparound = function(state) {\n this.options_.reverseWraparound = state;\n};\n\n/**\n * Selects between the primary and alternate screens.\n *\n * If alternate mode is on, the alternate screen is active. Otherwise the\n * primary screen is active.\n *\n * Swapping screens has no effect on the scrollback buffer.\n *\n * Each screen maintains its own cursor position.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set alternate mode, false to unset.\n */\nhterm.Terminal.prototype.setAlternateMode = function(state) {\n var cursor = this.saveCursor();\n this.screen_ = state ? this.alternateScreen_ : this.primaryScreen_;\n\n if (this.screen_.rowsArray.length &&\n this.screen_.rowsArray[0].rowIndex != this.scrollbackRows_.length) {\n // If the screen changed sizes while we were away, our rowIndexes may\n // be incorrect.\n var offset = this.scrollbackRows_.length;\n var ary = this.screen_.rowsArray;\n for (var i = 0; i < ary.length; i++) {\n ary[i].rowIndex = offset + i;\n }\n }\n\n this.realizeWidth_(this.screenSize.width);\n this.realizeHeight_(this.screenSize.height);\n this.scrollPort_.syncScrollHeight();\n this.scrollPort_.invalidate();\n\n this.restoreCursor(cursor);\n this.scrollPort_.resize();\n};\n\n/**\n * Set the cursor-blink mode bit.\n *\n * If cursor-blink is on, the cursor will blink when it is visible. Otherwise\n * a visible cursor does not blink.\n *\n * You should make sure to turn blinking off if you're going to dispose of a\n * terminal, otherwise you'll leak a timeout.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set cursor-blink mode, false to unset.\n */\nhterm.Terminal.prototype.setCursorBlink = function(state) {\n this.options_.cursorBlink = state;\n\n if (!state && this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n\n if (this.options_.cursorVisible)\n this.setCursorVisible(true);\n};\n\n/**\n * Set the cursor-visible mode bit.\n *\n * If cursor-visible is on, the cursor will be visible. Otherwise it will not.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set cursor-visible mode, false to unset.\n */\nhterm.Terminal.prototype.setCursorVisible = function(state) {\n this.options_.cursorVisible = state;\n\n if (!state) {\n if (this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n this.cursorNode_.style.opacity = '0';\n return;\n }\n\n this.syncCursorPosition_();\n\n this.cursorNode_.style.opacity = '1';\n\n if (this.options_.cursorBlink) {\n if (this.timeouts_.cursorBlink)\n return;\n\n this.onCursorBlink_();\n } else {\n if (this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n }\n};\n\n/**\n * Synchronizes the visible cursor and document selection with the current\n * cursor coordinates.\n */\nhterm.Terminal.prototype.syncCursorPosition_ = function() {\n var topRowIndex = this.scrollPort_.getTopRowIndex();\n var bottomRowIndex = this.scrollPort_.getBottomRowIndex(topRowIndex);\n var cursorRowIndex = this.scrollbackRows_.length +\n this.screen_.cursorPosition.row;\n\n if (cursorRowIndex > bottomRowIndex) {\n // Cursor is scrolled off screen, move it outside of the visible area.\n this.setCssVar('cursor-offset-row', '-1');\n return;\n }\n\n if (this.options_.cursorVisible &&\n this.cursorNode_.style.display == 'none') {\n // Re-display the terminal cursor if it was hidden by the mouse cursor.\n this.cursorNode_.style.display = '';\n }\n\n // Position the cursor using CSS variable math. If we do the math in JS,\n // the float math will end up being more precise than the CSS which will\n // cause the cursor tracking to be off.\n this.setCssVar(\n 'cursor-offset-row',\n `${cursorRowIndex - topRowIndex} + ` +\n `${this.scrollPort_.visibleRowTopMargin}px`);\n this.setCssVar('cursor-offset-col', this.screen_.cursorPosition.column);\n\n this.cursorNode_.setAttribute('title',\n '(' + this.screen_.cursorPosition.column +\n ', ' + this.screen_.cursorPosition.row +\n ')');\n\n // Update the caret for a11y purposes.\n var selection = this.document_.getSelection();\n if (selection && selection.isCollapsed)\n this.screen_.syncSelectionCaret(selection);\n};\n\n/**\n * Adjusts the style of this.cursorNode_ according to the current cursor shape\n * and character cell dimensions.\n */\nhterm.Terminal.prototype.restyleCursor_ = function() {\n var shape = this.cursorShape_;\n\n if (this.cursorNode_.getAttribute('focus') == 'false') {\n // Always show a block cursor when unfocused.\n shape = hterm.Terminal.cursorShape.BLOCK;\n }\n\n var style = this.cursorNode_.style;\n\n switch (shape) {\n case hterm.Terminal.cursorShape.BEAM:\n style.height = 'var(--hterm-charsize-height)';\n style.backgroundColor = 'transparent';\n style.borderBottomStyle = null;\n style.borderLeftStyle = 'solid';\n break;\n\n case hterm.Terminal.cursorShape.UNDERLINE:\n style.height = this.scrollPort_.characterSize.baseline + 'px';\n style.backgroundColor = 'transparent';\n style.borderBottomStyle = 'solid';\n // correct the size to put it exactly at the baseline\n style.borderLeftStyle = null;\n break;\n\n default:\n style.height = 'var(--hterm-charsize-height)';\n style.backgroundColor = this.cursorColor_;\n style.borderBottomStyle = null;\n style.borderLeftStyle = null;\n break;\n }\n};\n\n/**\n * Synchronizes the visible cursor with the current cursor coordinates.\n *\n * The sync will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single sync.\n */\nhterm.Terminal.prototype.scheduleSyncCursorPosition_ = function() {\n if (this.timeouts_.syncCursor)\n return;\n\n var self = this;\n this.timeouts_.syncCursor = setTimeout(function() {\n self.syncCursorPosition_();\n delete self.timeouts_.syncCursor;\n }, 0);\n};\n\n/**\n * Show or hide the zoom warning.\n *\n * The zoom warning is a message warning the user that their browser zoom must\n * be set to 100% in order for hterm to function properly.\n *\n * @param {boolean} state True to show the message, false to hide it.\n */\nhterm.Terminal.prototype.showZoomWarning_ = function(state) {\n if (!this.zoomWarningNode_) {\n if (!state)\n return;\n\n this.zoomWarningNode_ = this.document_.createElement('div');\n this.zoomWarningNode_.id = 'hterm:zoom-warning';\n this.zoomWarningNode_.style.cssText = (\n 'color: black;' +\n 'background-color: #ff2222;' +\n 'font-size: large;' +\n 'border-radius: 8px;' +\n 'opacity: 0.75;' +\n 'padding: 0.2em 0.5em 0.2em 0.5em;' +\n 'top: 0.5em;' +\n 'right: 1.2em;' +\n 'position: absolute;' +\n '-webkit-text-size-adjust: none;' +\n '-webkit-user-select: none;' +\n '-moz-text-size-adjust: none;' +\n '-moz-user-select: none;');\n\n this.zoomWarningNode_.addEventListener('click', function(e) {\n this.parentNode.removeChild(this);\n });\n }\n\n this.zoomWarningNode_.textContent = lib.MessageManager.replaceReferences(\n hterm.zoomWarningMessage,\n [parseInt(this.scrollPort_.characterSize.zoomFactor * 100)]);\n\n this.zoomWarningNode_.style.fontFamily = this.prefs_.get('font-family');\n\n if (state) {\n if (!this.zoomWarningNode_.parentNode)\n this.div_.parentNode.appendChild(this.zoomWarningNode_);\n } else if (this.zoomWarningNode_.parentNode) {\n this.zoomWarningNode_.parentNode.removeChild(this.zoomWarningNode_);\n }\n};\n\n/**\n * Show the terminal overlay for a given amount of time.\n *\n * The terminal overlay appears in inverse video in a large font, centered\n * over the terminal. You should probably keep the overlay message brief,\n * since it's in a large font and you probably aren't going to check the size\n * of the terminal first.\n *\n * @param {string} msg The text (not HTML) message to display in the overlay.\n * @param {number} opt_timeout The amount of time to wait before fading out\n * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay\n * stay up forever (or until the next overlay).\n */\nhterm.Terminal.prototype.showOverlay = function(msg, opt_timeout) {\n if (!this.overlayNode_) {\n if (!this.div_)\n return;\n\n this.overlayNode_ = this.document_.createElement('div');\n this.overlayNode_.style.cssText = (\n 'border-radius: 15px;' +\n 'font-size: xx-large;' +\n 'opacity: 0.75;' +\n 'padding: 0.2em 0.5em 0.2em 0.5em;' +\n 'position: absolute;' +\n '-webkit-user-select: none;' +\n '-webkit-transition: opacity 180ms ease-in;' +\n '-moz-user-select: none;' +\n '-moz-transition: opacity 180ms ease-in;');\n\n this.overlayNode_.addEventListener('mousedown', function(e) {\n e.preventDefault();\n e.stopPropagation();\n }, true);\n }\n\n this.overlayNode_.style.color = this.prefs_.get('background-color');\n this.overlayNode_.style.backgroundColor = this.prefs_.get('foreground-color');\n this.overlayNode_.style.fontFamily = this.prefs_.get('font-family');\n\n this.overlayNode_.textContent = msg;\n this.overlayNode_.style.opacity = '0.75';\n\n if (!this.overlayNode_.parentNode)\n this.div_.appendChild(this.overlayNode_);\n\n var divSize = hterm.getClientSize(this.div_);\n var overlaySize = hterm.getClientSize(this.overlayNode_);\n\n this.overlayNode_.style.top =\n (divSize.height - overlaySize.height) / 2 + 'px';\n this.overlayNode_.style.left = (divSize.width - overlaySize.width -\n this.scrollPort_.currentScrollbarWidthPx) / 2 + 'px';\n\n var self = this;\n\n if (this.overlayTimeout_)\n clearTimeout(this.overlayTimeout_);\n\n if (opt_timeout === null)\n return;\n\n this.overlayTimeout_ = setTimeout(function() {\n self.overlayNode_.style.opacity = '0';\n self.overlayTimeout_ = setTimeout(function() {\n if (self.overlayNode_.parentNode)\n self.overlayNode_.parentNode.removeChild(self.overlayNode_);\n self.overlayTimeout_ = null;\n self.overlayNode_.style.opacity = '0.75';\n }, 200);\n }, opt_timeout || 1500);\n};\n\n/**\n * Paste from the system clipboard to the terminal.\n */\nhterm.Terminal.prototype.paste = function() {\n return hterm.pasteFromClipboard(this.document_);\n};\n\n/**\n * Copy a string to the system clipboard.\n *\n * Note: If there is a selected range in the terminal, it'll be cleared.\n *\n * @param {string} str The string to copy.\n */\nhterm.Terminal.prototype.copyStringToClipboard = function(str) {\n if (this.prefs_.get('enable-clipboard-notice'))\n setTimeout(this.showOverlay.bind(this, hterm.notifyCopyMessage, 500), 200);\n\n var copySource = this.document_.createElement('pre');\n copySource.id = 'hterm:copy-to-clipboard-source';\n copySource.textContent = str;\n copySource.style.cssText = (\n '-webkit-user-select: text;' +\n '-moz-user-select: text;' +\n 'position: absolute;' +\n 'top: -99px');\n\n this.document_.body.appendChild(copySource);\n\n var selection = this.document_.getSelection();\n var anchorNode = selection.anchorNode;\n var anchorOffset = selection.anchorOffset;\n var focusNode = selection.focusNode;\n var focusOffset = selection.focusOffset;\n\n selection.selectAllChildren(copySource);\n\n hterm.copySelectionToClipboard(this.document_);\n\n // IE doesn't support selection.extend. This means that the selection\n // won't return on IE.\n if (selection.extend) {\n selection.collapse(anchorNode, anchorOffset);\n selection.extend(focusNode, focusOffset);\n }\n\n copySource.parentNode.removeChild(copySource);\n};\n\n/**\n * Returns the selected text, or null if no text is selected.\n *\n * @return {string|null}\n */\nhterm.Terminal.prototype.getSelectionText = function() {\n var selection = this.scrollPort_.selection;\n selection.sync();\n\n if (selection.isCollapsed)\n return null;\n\n\n // Start offset measures from the beginning of the line.\n var startOffset = selection.startOffset;\n var node = selection.startNode;\n\n if (node.nodeName != 'X-ROW') {\n // If the selection doesn't start on an x-row node, then it must be\n // somewhere inside the x-row. Add any characters from previous siblings\n // into the start offset.\n\n if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') {\n // If node is the text node in a styled span, move up to the span node.\n node = node.parentNode;\n }\n\n while (node.previousSibling) {\n node = node.previousSibling;\n startOffset += hterm.TextAttributes.nodeWidth(node);\n }\n }\n\n // End offset measures from the end of the line.\n var endOffset = (hterm.TextAttributes.nodeWidth(selection.endNode) -\n selection.endOffset);\n node = selection.endNode;\n\n if (node.nodeName != 'X-ROW') {\n // If the selection doesn't end on an x-row node, then it must be\n // somewhere inside the x-row. Add any characters from following siblings\n // into the end offset.\n\n if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') {\n // If node is the text node in a styled span, move up to the span node.\n node = node.parentNode;\n }\n\n while (node.nextSibling) {\n node = node.nextSibling;\n endOffset += hterm.TextAttributes.nodeWidth(node);\n }\n }\n\n var rv = this.getRowsText(selection.startRow.rowIndex,\n selection.endRow.rowIndex + 1);\n return lib.wc.substring(rv, startOffset, lib.wc.strWidth(rv) - endOffset);\n};\n\n/**\n * Copy the current selection to the system clipboard, then clear it after a\n * short delay.\n */\nhterm.Terminal.prototype.copySelectionToClipboard = function() {\n var text = this.getSelectionText();\n if (text != null)\n this.copyStringToClipboard(text);\n};\n\nhterm.Terminal.prototype.overlaySize = function() {\n this.showOverlay(this.screenSize.width + 'x' + this.screenSize.height);\n};\n\n/**\n * Invoked by hterm.Terminal.Keyboard when a VT keystroke is detected.\n *\n * @param {string} string The VT string representing the keystroke, in UTF-16.\n */\nhterm.Terminal.prototype.onVTKeystroke = function(string) {\n if (this.scrollOnKeystroke_)\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n\n this.io.onVTKeystroke(this.keyboard.encode(string));\n};\n\n/**\n * Launches url in a new tab.\n *\n * @param {string} url URL to launch in a new tab.\n */\nhterm.Terminal.prototype.openUrl = function(url) {\n if (window.chrome && window.chrome.browser) {\n // For Chrome v2 apps, we need to use this API to properly open windows.\n chrome.browser.openTab({'url': url});\n } else {\n var win = window.open(url, '_blank');\n win.focus();\n }\n}\n\n/**\n * Open the selected url.\n */\nhterm.Terminal.prototype.openSelectedUrl_ = function() {\n var str = this.getSelectionText();\n\n // If there is no selection, try and expand wherever they clicked.\n if (str == null) {\n this.screen_.expandSelection(this.document_.getSelection());\n str = this.getSelectionText();\n\n // If clicking in empty space, return.\n if (str == null)\n return;\n }\n\n // Make sure URL is valid before opening.\n if (str.length > 2048 || str.search(/[\\s\\[\\](){}<>\"'\\\\^`]/) >= 0)\n return;\n\n // If the URI isn't anchored, it'll open relative to the extension.\n // We have no way of knowing the correct schema, so assume http.\n if (str.search('^[a-zA-Z][a-zA-Z0-9+.-]*://') < 0) {\n // We have to whitelist a few protocols that lack authorities and thus\n // never use the //. Like mailto.\n switch (str.split(':', 1)[0]) {\n case 'mailto':\n break;\n default:\n str = 'http://' + str;\n break;\n }\n }\n\n this.openUrl(str);\n}\n\n\n/**\n * Add the terminalRow and terminalColumn properties to mouse events and\n * then forward on to onMouse().\n *\n * The terminalRow and terminalColumn properties contain the (row, column)\n * coordinates for the mouse event.\n *\n * @param {Event} e The mouse event to handle.\n */\nhterm.Terminal.prototype.onMouse_ = function(e) {\n if (e.processedByTerminalHandler_) {\n // We register our event handlers on the document, as well as the cursor\n // and the scroll blocker. Mouse events that occur on the cursor or\n // scroll blocker will also appear on the document, but we don't want to\n // process them twice.\n //\n // We can't just prevent bubbling because that has other side effects, so\n // we decorate the event object with this property instead.\n return;\n }\n\n var reportMouseEvents = (!this.defeatMouseReports_ &&\n this.vt.mouseReport != this.vt.MOUSE_REPORT_DISABLED);\n\n e.processedByTerminalHandler_ = true;\n\n // One based row/column stored on the mouse event.\n e.terminalRow = parseInt((e.clientY - this.scrollPort_.visibleRowTopMargin) /\n this.scrollPort_.characterSize.height) + 1;\n e.terminalColumn = parseInt(e.clientX /\n this.scrollPort_.characterSize.width) + 1;\n\n if (e.type == 'mousedown' && e.terminalColumn > this.screenSize.width) {\n // Mousedown in the scrollbar area.\n return;\n }\n\n if (this.options_.cursorVisible && !reportMouseEvents) {\n // If the cursor is visible and we're not sending mouse events to the\n // host app, then we want to hide the terminal cursor when the mouse\n // cursor is over top. This keeps the terminal cursor from interfering\n // with local text selection.\n if (e.terminalRow - 1 == this.screen_.cursorPosition.row &&\n e.terminalColumn - 1 == this.screen_.cursorPosition.column) {\n this.cursorNode_.style.display = 'none';\n } else if (this.cursorNode_.style.display == 'none') {\n this.cursorNode_.style.display = '';\n }\n }\n\n if (e.type == 'mousedown') {\n if (e.altKey || !reportMouseEvents) {\n // If VT mouse reporting is disabled, or has been defeated with\n // alt-mousedown, then the mouse will act on the local selection.\n this.defeatMouseReports_ = true;\n this.setSelectionEnabled(true);\n } else {\n // Otherwise we defer ownership of the mouse to the VT.\n this.defeatMouseReports_ = false;\n this.document_.getSelection().collapseToEnd();\n this.setSelectionEnabled(false);\n e.preventDefault();\n }\n }\n\n if (!reportMouseEvents) {\n if (e.type == 'dblclick' && this.copyOnSelect) {\n this.screen_.expandSelection(this.document_.getSelection());\n this.copySelectionToClipboard(this.document_);\n }\n\n if (e.type == 'click' && !e.shiftKey && (e.ctrlKey || e.metaKey)) {\n // Debounce this event with the dblclick event. If you try to doubleclick\n // a URL to open it, Chrome will fire click then dblclick, but we won't\n // have expanded the selection text at the first click event.\n clearTimeout(this.timeouts_.openUrl);\n this.timeouts_.openUrl = setTimeout(this.openSelectedUrl_.bind(this),\n 500);\n return;\n }\n\n if (e.type == 'mousedown') {\n if ((this.mouseRightClickPaste && e.button == 2 /* right button */) ||\n e.button == this.mousePasteButton) {\n if (!this.paste())\n console.warning('Could not paste manually due to web restrictions');;\n }\n }\n\n if (e.type == 'mouseup' && e.button == 0 && this.copyOnSelect &&\n !this.document_.getSelection().isCollapsed) {\n this.copySelectionToClipboard(this.document_);\n }\n\n if ((e.type == 'mousemove' || e.type == 'mouseup') &&\n this.scrollBlockerNode_.engaged) {\n // Disengage the scroll-blocker after one of these events.\n this.scrollBlockerNode_.engaged = false;\n this.scrollBlockerNode_.style.top = '-99px';\n }\n\n // Emulate arrow key presses via scroll wheel events.\n if (this.scrollWheelArrowKeys_ && !e.shiftKey &&\n this.keyboard.applicationCursor && !this.isPrimaryScreen()) {\n if (e.type == 'wheel') {\n var delta = this.scrollPort_.scrollWheelDelta(e);\n var lines = lib.f.smartFloorDivide(\n Math.abs(delta), this.scrollPort_.characterSize.height);\n\n var data = '\\x1bO' + (delta < 0 ? 'B' : 'A');\n this.io.sendString(data.repeat(lines));\n\n e.preventDefault();\n }\n }\n } else /* if (this.reportMouseEvents) */ {\n if (!this.scrollBlockerNode_.engaged) {\n if (e.type == 'mousedown') {\n // Move the scroll-blocker into place if we want to keep the scrollport\n // from scrolling.\n this.scrollBlockerNode_.engaged = true;\n this.scrollBlockerNode_.style.top = (e.clientY - 5) + 'px';\n this.scrollBlockerNode_.style.left = (e.clientX - 5) + 'px';\n } else if (e.type == 'mousemove') {\n // Oh. This means that drag-scroll was disabled AFTER the mouse down,\n // in which case it's too late to engage the scroll-blocker.\n this.document_.getSelection().collapseToEnd();\n e.preventDefault();\n }\n }\n\n this.onMouse(e);\n }\n\n if (e.type == 'mouseup' && this.document_.getSelection().isCollapsed) {\n // Restore this on mouseup in case it was temporarily defeated with a\n // alt-mousedown. Only do this when the selection is empty so that\n // we don't immediately kill the users selection.\n this.defeatMouseReports_ = false;\n }\n};\n\n/**\n * Clients should override this if they care to know about mouse events.\n *\n * The event parameter will be a normal DOM mouse click event with additional\n * 'terminalRow' and 'terminalColumn' properties.\n *\n * @param {Event} e The mouse event to handle.\n */\nhterm.Terminal.prototype.onMouse = function(e) { };\n\n/**\n * React when focus changes.\n *\n * @param {boolean} focused True if focused, false otherwise.\n */\nhterm.Terminal.prototype.onFocusChange_ = function(focused) {\n this.cursorNode_.setAttribute('focus', focused);\n this.restyleCursor_();\n if (focused === true)\n this.closeBellNotifications_();\n};\n\n/**\n * React when the ScrollPort is scrolled.\n */\nhterm.Terminal.prototype.onScroll_ = function() {\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * React when text is pasted into the scrollPort.\n *\n * @param {Event} e The DOM paste event to handle.\n */\nhterm.Terminal.prototype.onPaste_ = function(e) {\n var data = e.text.replace(/\\n/mg, '\\r');\n data = this.keyboard.encode(data);\n if (this.options_.bracketedPaste)\n data = '\\x1b[200~' + data + '\\x1b[201~';\n\n this.io.sendString(data);\n};\n\n/**\n * React when the user tries to copy from the scrollPort.\n *\n * @param {Event} e The DOM copy event.\n */\nhterm.Terminal.prototype.onCopy_ = function(e) {\n if (!this.useDefaultWindowCopy) {\n e.preventDefault();\n setTimeout(this.copySelectionToClipboard.bind(this), 0);\n }\n};\n\n/**\n * React when the ScrollPort is resized.\n *\n * Note: This function should not directly contain code that alters the internal\n * state of the terminal. That kind of code belongs in realizeWidth or\n * realizeHeight, so that it can be executed synchronously in the case of a\n * programmatic width change.\n */\nhterm.Terminal.prototype.onResize_ = function() {\n var columnCount = Math.floor(this.scrollPort_.getScreenWidth() /\n this.scrollPort_.characterSize.width) || 0;\n var rowCount = lib.f.smartFloorDivide(this.scrollPort_.getScreenHeight(),\n this.scrollPort_.characterSize.height) || 0;\n\n if (columnCount <= 0 || rowCount <= 0) {\n // We avoid these situations since they happen sometimes when the terminal\n // gets removed from the document or during the initial load, and we can't\n // deal with that.\n // This can also happen if called before the scrollPort calculates the\n // character size, meaning we dived by 0 above and default to 0 values.\n return;\n }\n\n var isNewSize = (columnCount != this.screenSize.width ||\n rowCount != this.screenSize.height);\n\n // We do this even if the size didn't change, just to be sure everything is\n // in sync.\n this.realizeSize_(columnCount, rowCount);\n this.showZoomWarning_(this.scrollPort_.characterSize.zoomFactor != 1);\n\n if (isNewSize)\n this.overlaySize();\n\n this.restyleCursor_();\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Service the cursor blink timeout.\n */\nhterm.Terminal.prototype.onCursorBlink_ = function() {\n if (!this.options_.cursorBlink) {\n delete this.timeouts_.cursorBlink;\n return;\n }\n\n if (this.cursorNode_.getAttribute('focus') == 'false' ||\n this.cursorNode_.style.opacity == '0') {\n this.cursorNode_.style.opacity = '1';\n this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_,\n this.cursorBlinkCycle_[0]);\n } else {\n this.cursorNode_.style.opacity = '0';\n this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_,\n this.cursorBlinkCycle_[1]);\n }\n};\n\n/**\n * Set the scrollbar-visible mode bit.\n *\n * If scrollbar-visible is on, the vertical scrollbar will be visible.\n * Otherwise it will not.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set scrollbar-visible mode, false to unset.\n */\nhterm.Terminal.prototype.setScrollbarVisible = function(state) {\n this.scrollPort_.setScrollbarVisible(state);\n};\n\n/**\n * Set the scroll wheel move multiplier. This will affect how fast the page\n * scrolls on wheel events.\n *\n * Defaults to 1.\n *\n * @param {number} multiplier The multiplier to set.\n */\nhterm.Terminal.prototype.setScrollWheelMoveMultipler = function(multiplier) {\n this.scrollPort_.setScrollWheelMoveMultipler(multiplier);\n};\n\n/**\n * Close all web notifications created by terminal bells.\n */\nhterm.Terminal.prototype.closeBellNotifications_ = function() {\n this.bellNotificationList_.forEach(function(n) {\n n.close();\n });\n this.bellNotificationList_.length = 0;\n};\n// SOURCE FILE: hterm/js/hterm_terminal_io.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.encodeUTF8');\n\n/**\n * Input/Output interface used by commands to communicate with the terminal.\n *\n * Commands like `nassh` and `crosh` receive an instance of this class as\n * part of their argv object. This allows them to write to and read from the\n * terminal without exposing them to an entire hterm.Terminal instance.\n *\n * The active command must override the onVTKeystroke() and sendString() methods\n * of this class in order to receive keystrokes and send output to the correct\n * destination.\n *\n * Isolating commands from the terminal provides the following benefits:\n * - Provides a mechanism to save and restore onVTKeystroke and sendString\n * handlers when invoking subcommands (see the push() and pop() methods).\n * - The isolation makes it easier to make changes in Terminal and supporting\n * classes without affecting commands.\n * - In The Future commands may run in web workers where they would only be able\n * to talk to a Terminal instance through an IPC mechanism.\n *\n * @param {hterm.Terminal}\n */\nhterm.Terminal.IO = function(terminal) {\n this.terminal_ = terminal;\n\n // The IO object to restore on IO.pop().\n this.previousIO_ = null;\n};\n\n/**\n * Show the terminal overlay for a given amount of time.\n *\n * The terminal overlay appears in inverse video in a large font, centered\n * over the terminal. You should probably keep the overlay message brief,\n * since it's in a large font and you probably aren't going to check the size\n * of the terminal first.\n *\n * @param {string} msg The text (not HTML) message to display in the overlay.\n * @param {number} opt_timeout The amount of time to wait before fading out\n * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay\n * stay up forever (or until the next overlay).\n */\nhterm.Terminal.IO.prototype.showOverlay = function(message, opt_timeout) {\n this.terminal_.showOverlay(message, opt_timeout);\n};\n\n/**\n * Open an frame in the current terminal window, pointed to the specified\n * url.\n *\n * Eventually we'll probably need size/position/decoration options.\n * The user should also be able to move/resize the frame.\n *\n * @param {string} url The URL to load in the frame.\n * @param {Object} opt_options Optional frame options. Not implemented.\n */\nhterm.Terminal.IO.prototype.createFrame = function(url, opt_options) {\n return new hterm.Frame(this.terminal_, url, opt_options);\n};\n\n/**\n * Change the preference profile for the terminal.\n *\n * @param profileName {string} The name of the preference profile to activate.\n */\nhterm.Terminal.IO.prototype.setTerminalProfile = function(profileName) {\n this.terminal_.setProfile(profileName);\n};\n\n/**\n * Create a new hterm.Terminal.IO instance and make it active on the Terminal\n * object associated with this instance.\n *\n * This is used to pass control of the terminal IO off to a subcommand. The\n * IO.pop() method can be used to restore control when the subcommand completes.\n */\nhterm.Terminal.IO.prototype.push = function() {\n var io = new hterm.Terminal.IO(this.terminal_);\n io.keyboardCaptured_ = this.keyboardCaptured_;\n\n io.columnCount = this.columnCount;\n io.rowCount = this.rowCount;\n\n io.previousIO_ = this.terminal_.io;\n this.terminal_.io = io;\n\n return io;\n};\n\n/**\n * Restore the Terminal's previous IO object.\n */\nhterm.Terminal.IO.prototype.pop = function() {\n this.terminal_.io = this.previousIO_;\n};\n\n/**\n * Called when data needs to be sent to the current command.\n *\n * Clients should override this to receive notification of pending data.\n *\n * @param {string} string The data to send.\n */\nhterm.Terminal.IO.prototype.sendString = function(string) {\n // Override this.\n console.log('Unhandled sendString: ' + string);\n};\n\n/**\n * Called when a terminal keystroke is detected.\n *\n * Clients should override this to receive notification of keystrokes.\n *\n * The keystroke data will be encoded according to the 'send-encoding'\n * preference.\n *\n * @param {string} string The VT key sequence.\n */\nhterm.Terminal.IO.prototype.onVTKeystroke = function(string) {\n // Override this.\n console.log('Unobserverd VT keystroke: ' + JSON.stringify(string));\n};\n\nhterm.Terminal.IO.prototype.onTerminalResize_ = function(width, height) {\n var obj = this;\n while (obj) {\n obj.columnCount = width;\n obj.rowCount = height;\n obj = obj.previousIO_;\n }\n\n this.onTerminalResize(width, height);\n};\n\n/**\n * Called when terminal size is changed.\n *\n * Clients should override this to receive notification of resize.\n *\n * @param {string|integer} terminal width.\n * @param {string|integer} terminal height.\n */\nhterm.Terminal.IO.prototype.onTerminalResize = function(width, height) {\n // Override this.\n};\n\n/**\n * Write a UTF-8 encoded byte string to the terminal.\n *\n * @param {string} string The UTF-8 encoded string to print.\n */\nhterm.Terminal.IO.prototype.writeUTF8 = function(string) {\n if (this.terminal_.io != this)\n throw 'Attempt to print from inactive IO object.';\n\n this.terminal_.interpret(string);\n};\n\n/**\n * Write a UTF-8 encoded byte string to the terminal followed by crlf.\n *\n * @param {string} string The UTF-8 encoded string to print.\n */\nhterm.Terminal.IO.prototype.writelnUTF8 = function(string) {\n if (this.terminal_.io != this)\n throw 'Attempt to print from inactive IO object.';\n\n this.terminal_.interpret(string + '\\r\\n');\n};\n\n/**\n * Write a UTF-16 JavaScript string to the terminal.\n *\n * @param {string} string The string to print.\n */\nhterm.Terminal.IO.prototype.print =\nhterm.Terminal.IO.prototype.writeUTF16 = function(string) {\n this.writeUTF8(lib.encodeUTF8(string));\n};\n\n/**\n * Print a UTF-16 JavaScript string to the terminal followed by a newline.\n *\n * @param {string} string The string to print.\n */\nhterm.Terminal.IO.prototype.println =\nhterm.Terminal.IO.prototype.writelnUTF16 = function(string) {\n this.writelnUTF8(lib.encodeUTF8(string));\n};\n// SOURCE FILE: hterm/js/hterm_text_attributes.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors');\n\n/**\n * Constructor for TextAttribute objects.\n *\n * These objects manage a set of text attributes such as foreground/\n * background color, bold, faint, italic, blink, underline, and strikethrough.\n *\n * TextAttribute instances can be used to construct a DOM container implementing\n * the current attributes, or to test an existing DOM container for\n * compatibility with the current attributes.\n *\n * @constructor\n * @param {HTMLDocument} document The parent document to use when creating\n * new DOM containers.\n */\nhterm.TextAttributes = function(document) {\n this.document_ = document;\n // These variables contain the source of the color as either:\n // SRC_DEFAULT (use context default)\n // SRC_RGB (specified in 'rgb( r, g, b)' form)\n // number (representing the index from color palette to use)\n this.foregroundSource = this.SRC_DEFAULT;\n this.backgroundSource = this.SRC_DEFAULT;\n\n // These properties cache the value in the color table, but foregroundSource\n // and backgroundSource contain the canonical values.\n this.foreground = this.DEFAULT_COLOR;\n this.background = this.DEFAULT_COLOR;\n\n this.defaultForeground = 'rgb(255, 255, 255)';\n this.defaultBackground = 'rgb(0, 0, 0)';\n\n this.bold = false;\n this.faint = false;\n this.italic = false;\n this.blink = false;\n this.underline = false;\n this.strikethrough = false;\n this.inverse = false;\n this.invisible = false;\n this.wcNode = false;\n this.asciiNode = true;\n this.tileData = null;\n\n this.colorPalette = null;\n this.resetColorPalette();\n};\n\n/**\n * If false, we ignore the bold attribute.\n *\n * This is used for fonts that have a bold version that is a different size\n * than the normal weight version.\n */\nhterm.TextAttributes.prototype.enableBold = true;\n\n/**\n * If true, use bright colors (if available) for bold text.\n *\n * This setting is independent of the enableBold setting.\n */\nhterm.TextAttributes.prototype.enableBoldAsBright = true;\n\n/**\n * A sentinel constant meaning \"whatever the default color is in this context\".\n */\nhterm.TextAttributes.prototype.DEFAULT_COLOR = lib.f.createEnum('');\n\n/**\n * A constant string used to specify that source color is context default.\n */\nhterm.TextAttributes.prototype.SRC_DEFAULT = 'default';\n\n\n/**\n * A constant string used to specify that the source of a color is a valid\n * rgb( r, g, b) specifier.\n */\nhterm.TextAttributes.prototype.SRC_RGB = 'rgb';\n\n/**\n * The document object which should own the DOM nodes created by this instance.\n *\n * @param {HTMLDocument} document The parent document.\n */\nhterm.TextAttributes.prototype.setDocument = function(document) {\n this.document_ = document;\n};\n\n/**\n * Create a deep copy of this object.\n *\n * @return {hterm.TextAttributes} A deep copy of this object.\n */\nhterm.TextAttributes.prototype.clone = function() {\n var rv = new hterm.TextAttributes(null);\n\n for (var key in this) {\n rv[key] = this[key];\n }\n\n rv.colorPalette = this.colorPalette.concat();\n return rv;\n};\n\n/**\n * Reset the current set of attributes.\n *\n * This does not affect the palette. Use resetColorPalette() for that.\n * It also doesn't affect the tile data, it's not meant to.\n */\nhterm.TextAttributes.prototype.reset = function() {\n this.foregroundSource = this.SRC_DEFAULT;\n this.backgroundSource = this.SRC_DEFAULT;\n this.foreground = this.DEFAULT_COLOR;\n this.background = this.DEFAULT_COLOR;\n this.bold = false;\n this.faint = false;\n this.italic = false;\n this.blink = false;\n this.underline = false;\n this.strikethrough = false;\n this.inverse = false;\n this.invisible = false;\n this.wcNode = false;\n this.asciiNode = true;\n};\n\n/**\n * Reset the color palette to the default state.\n */\nhterm.TextAttributes.prototype.resetColorPalette = function() {\n this.colorPalette = lib.colors.colorPalette.concat();\n this.syncColors();\n};\n\n/**\n * Test if the current attributes describe unstyled text.\n *\n * @return {boolean} True if the current attributes describe unstyled text.\n */\nhterm.TextAttributes.prototype.isDefault = function() {\n return (this.foregroundSource == this.SRC_DEFAULT &&\n this.backgroundSource == this.SRC_DEFAULT &&\n !this.bold &&\n !this.faint &&\n !this.italic &&\n !this.blink &&\n !this.underline &&\n !this.strikethrough &&\n !this.inverse &&\n !this.invisible &&\n !this.wcNode &&\n this.asciiNode &&\n this.tileData == null);\n};\n\n/**\n * Create a DOM container (a span or a text node) with a style to match the\n * current set of attributes.\n *\n * This method will create a plain text node if the text is unstyled, or\n * an HTML span if the text is styled. Due to lack of monospace wide character\n * fonts on certain systems (e.g. Chrome OS), we need to put each wide character\n * in a span of CSS class '.wc-node' which has double column width.\n * Each vt_tiledata tile is also represented by a span with a single\n * character, with CSS classes '.tile' and '.tile_'.\n *\n * @param {string} opt_textContent Optional text content for the new container.\n * @return {HTMLNode} An HTML span or text nodes styled to match the current\n * attributes.\n */\nhterm.TextAttributes.prototype.createContainer = function(opt_textContent) {\n if (this.isDefault())\n return this.document_.createTextNode(opt_textContent);\n\n var span = this.document_.createElement('span');\n var style = span.style;\n var classes = [];\n\n if (this.foreground != this.DEFAULT_COLOR)\n style.color = this.foreground;\n\n if (this.background != this.DEFAULT_COLOR)\n style.backgroundColor = this.background;\n\n if (this.enableBold && this.bold)\n style.fontWeight = 'bold';\n\n if (this.faint)\n span.faint = true;\n\n if (this.italic)\n style.fontStyle = 'italic';\n\n if (this.blink) {\n classes.push('blink-node');\n span.blinkNode = true;\n }\n\n var textDecoration = '';\n if (this.underline) {\n textDecoration += ' underline';\n span.underline = true;\n }\n if (this.strikethrough) {\n textDecoration += ' line-through';\n span.strikethrough = true;\n }\n if (textDecoration) {\n style.textDecoration = textDecoration;\n }\n\n if (this.wcNode) {\n classes.push('wc-node');\n span.wcNode = true;\n span.asciiNode = false;\n }\n\n if (this.tileData != null) {\n classes.push('tile');\n classes.push('tile_' + this.tileData);\n span.tileNode = true;\n }\n\n if (opt_textContent)\n span.textContent = opt_textContent;\n\n if (classes.length)\n span.className = classes.join(' ');\n\n return span;\n};\n\n/**\n * Tests if the provided object (string, span or text node) has the same\n * style as this TextAttributes instance.\n *\n * This indicates that text with these attributes could be inserted directly\n * into the target DOM node.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj The object to test.\n * @return {boolean} True if the provided container has the same style as\n * this attributes instance.\n */\nhterm.TextAttributes.prototype.matchesContainer = function(obj) {\n if (typeof obj == 'string' || obj.nodeType == 3)\n return this.isDefault();\n\n var style = obj.style;\n\n // We don't want to put multiple characters in a wcNode or a tile.\n // See the comments in createContainer.\n return (!(this.wcNode || obj.wcNode) &&\n this.asciiNode == this.asciiNode &&\n !(this.tileData != null || obj.tileNode) &&\n this.foreground == style.color &&\n this.background == style.backgroundColor &&\n (this.enableBold && this.bold) == !!style.fontWeight &&\n this.blink == obj.blinkNode &&\n this.italic == !!style.fontStyle &&\n !!this.underline == !!obj.underline &&\n !!this.strikethrough == !!obj.strikethrough);\n};\n\nhterm.TextAttributes.prototype.setDefaults = function(foreground, background) {\n this.defaultForeground = foreground;\n this.defaultBackground = background;\n\n this.syncColors();\n};\n\n/**\n * Updates foreground and background properties based on current indices and\n * other state.\n *\n * @param {string} terminalForeground The terminal foreground color for use as\n * inverse text background.\n * @param {string} terminalBackground The terminal background color for use as\n * inverse text foreground.\n *\n */\nhterm.TextAttributes.prototype.syncColors = function() {\n function getBrightIndex(i) {\n if (i < 8) {\n // If the color is from the lower half of the ANSI 16, add 8.\n return i + 8;\n }\n\n // If it's not from the 16 color palette, ignore bold requests. This\n // matches the behavior of gnome-terminal.\n return i;\n }\n\n var foregroundSource = this.foregroundSource;\n var backgroundSource = this.backgroundSource;\n var defaultForeground = this.DEFAULT_COLOR;\n var defaultBackground = this.DEFAULT_COLOR;\n\n if (this.inverse) {\n foregroundSource = this.backgroundSource;\n backgroundSource = this.foregroundSource;\n // We can't inherit the container's color anymore.\n defaultForeground = this.defaultBackground;\n defaultBackground = this.defaultForeground;\n }\n\n if (this.enableBoldAsBright && this.bold) {\n if (foregroundSource != this.SRC_DEFAULT &&\n foregroundSource != this.SRC_RGB) {\n foregroundSource = getBrightIndex(foregroundSource);\n }\n }\n\n if (this.invisible) {\n foregroundSource = backgroundSource;\n defaultForeground = this.defaultBackground;\n }\n\n // Set fore/background colors unless already specified in rgb(r, g, b) form.\n if (foregroundSource != this.SRC_RGB) {\n this.foreground = ((foregroundSource == this.SRC_DEFAULT) ?\n defaultForeground : this.colorPalette[foregroundSource]);\n }\n\n if (this.faint && !this.invisible) {\n var colorToMakeFaint = ((this.foreground == this.DEFAULT_COLOR) ?\n this.defaultForeground : this.foreground);\n this.foreground = lib.colors.mix(colorToMakeFaint, 'rgb(0, 0, 0)', 0.3333);\n }\n\n if (backgroundSource != this.SRC_RGB) {\n this.background = ((backgroundSource == this.SRC_DEFAULT) ?\n defaultBackground : this.colorPalette[backgroundSource]);\n }\n};\n\n/**\n * Static method used to test if the provided objects (strings, spans or\n * text nodes) have the same style.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj1 An object to test.\n * @param {string|HTMLNode} obj2 Another object to test.\n * @return {boolean} True if the containers have the same style.\n */\nhterm.TextAttributes.containersMatch = function(obj1, obj2) {\n if (typeof obj1 == 'string')\n return hterm.TextAttributes.containerIsDefault(obj2);\n\n if (obj1.nodeType != obj2.nodeType)\n return false;\n\n if (obj1.nodeType == 3)\n return true;\n\n var style1 = obj1.style;\n var style2 = obj2.style;\n\n return (style1.color == style2.color &&\n style1.backgroundColor == style2.backgroundColor &&\n style1.fontWeight == style2.fontWeight &&\n style1.fontStyle == style2.fontStyle &&\n style1.textDecoration == style2.textDecoration);\n};\n\n/**\n * Static method to test if a given DOM container represents unstyled text.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj1 An object to test.\n * @return {boolean} True if the object is unstyled.\n */\nhterm.TextAttributes.containerIsDefault = function(obj) {\n return typeof obj == 'string' || obj.nodeType == 3;\n};\n\n/**\n * Static method to get the column width of a node's textContent.\n *\n * @param {HTMLElement} node The HTML element to get the width of textContent\n * from.\n * @return {integer} The column width of the node's textContent.\n */\nhterm.TextAttributes.nodeWidth = function(node) {\n if (!node.asciiNode) {\n return lib.wc.strWidth(node.textContent);\n } else {\n return node.textContent.length;\n }\n}\n\n/**\n * Static method to get the substr of a node's textContent. The start index\n * and substr width are computed in column width.\n *\n * @param {HTMLElement} node The HTML element to get the substr of textContent\n * from.\n * @param {integer} start The starting offset in column width.\n * @param {integer} width The width to capture in column width.\n * @return {integer} The extracted substr of the node's textContent.\n */\nhterm.TextAttributes.nodeSubstr = function(node, start, width) {\n if (!node.asciiNode) {\n return lib.wc.substr(node.textContent, start, width);\n } else {\n return node.textContent.substr(start, width);\n }\n}\n\n/**\n * Static method to get the substring based of a node's textContent. The\n * start index of end index are computed in column width.\n *\n * @param {HTMLElement} node The HTML element to get the substr of textContent\n * from.\n * @param {integer} start The starting offset in column width.\n * @param {integer} end The ending offset in column width.\n * @return {integer} The extracted substring of the node's textContent.\n */\nhterm.TextAttributes.nodeSubstring = function(node, start, end) {\n if (!node.asciiNode) {\n return lib.wc.substring(node.textContent, start, end);\n } else {\n return node.textContent.substring(start, end);\n }\n};\n\n/**\n * Static method to split a string into contiguous runs of single-width\n * characters and runs of double-width characters.\n *\n * @param {string} str The string to split.\n * @return {Array} An array of objects that contain substrings of str, where\n * each substring is either a contiguous runs of single-width characters\n * or a double-width character. For objects that contain a double-width\n * character, its wcNode property is set to true. For objects that contain\n * only ASCII content, its asciiNode property is set to true.\n */\nhterm.TextAttributes.splitWidecharString = function(str) {\n var rv = [];\n var base = 0, length = 0;\n var asciiNode = true;\n\n for (var i = 0; i < str.length;) {\n var c = str.codePointAt(i);\n var increment = (c <= 0xffff) ? 1 : 2;\n if (c < 128) {\n length += increment;\n } else if (lib.wc.charWidth(c) <= 1) {\n length += increment;\n asciiNode = false;\n } else {\n if (length) {\n rv.push({\n str: str.substr(base, length),\n asciiNode: asciiNode,\n });\n asciiNode = true;\n }\n rv.push({\n str: str.substr(i, increment),\n wcNode: true,\n asciiNode: false,\n });\n base = i + increment;\n length = 0;\n }\n i += increment;\n }\n\n if (length) {\n rv.push({\n str: str.substr(base, length),\n asciiNode: asciiNode,\n });\n }\n\n return rv;\n};\n// SOURCE FILE: hterm/js/hterm_vt.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors', 'lib.f', 'lib.UTF8Decoder',\n 'hterm.VT.CharacterMap');\n\n/**\n * Constructor for the VT escape sequence interpreter.\n *\n * The interpreter operates on a terminal object capable of performing cursor\n * move operations, painting characters, etc.\n *\n * This interpreter is intended to be compatible with xterm, though it\n * ignores some of the more esoteric escape sequences.\n *\n * Control sequences are documented in hterm/doc/ControlSequences.md.\n *\n * @param {hterm.Terminal} terminal Terminal to use with the interpreter.\n */\nhterm.VT = function(terminal) {\n /**\n * The display terminal object associated with this virtual terminal.\n */\n this.terminal = terminal;\n\n terminal.onMouse = this.onTerminalMouse_.bind(this);\n this.mouseReport = this.MOUSE_REPORT_DISABLED;\n\n // Parse state left over from the last parse. You should use the parseState\n // instance passed into your parse routine, rather than reading\n // this.parseState_ directly.\n this.parseState_ = new hterm.VT.ParseState(this.parseUnknown_);\n\n // Any \"leading modifiers\" for the escape sequence, such as '?', ' ', or the\n // other modifiers handled in this.parseCSI_.\n this.leadingModifier_ = '';\n\n // Any \"trailing modifiers\". Same character set as a leading modifier,\n // except these are found after the numeric arguments.\n this.trailingModifier_ = '';\n\n // Whether or not to respect the escape codes for setting terminal width.\n this.allowColumnWidthChanges_ = false;\n\n // The amount of time we're willing to wait for the end of an OSC sequence.\n this.oscTimeLimit_ = 20000;\n\n // Decoder to maintain UTF-8 decode state.\n this.utf8Decoder_ = new lib.UTF8Decoder();\n\n /**\n * Whether to accept the 8-bit control characters.\n *\n * An 8-bit control character is one with the eighth bit set. These\n * didn't work on 7-bit terminals so they all have two byte equivalents.\n * Most hosts still only use the two-byte versions.\n *\n * We ignore 8-bit control codes by default. This is in order to avoid\n * issues with \"accidental\" usage of codes that need to be terminated.\n * The \"accident\" usually involves cat'ing binary data.\n */\n this.enable8BitControl = false;\n\n /**\n * Whether to allow the OSC 52 sequence to write to the system clipboard.\n */\n this.enableClipboardWrite = true;\n\n /**\n * Respect the host's attempt to change the cursor blink status using\n * the DEC Private mode 12.\n */\n this.enableDec12 = false;\n\n /**\n * The expected encoding method for data received from the host.\n */\n this.characterEncoding = 'utf-8';\n\n /**\n * Max length of an unterminated DCS, OSC, PM or APC sequence before we give\n * up and ignore the code.\n *\n * These all end with a String Terminator (ST, '\\x9c', ESC '\\\\') or\n * (BEL, '\\x07') character, hence the \"string sequence\" moniker.\n */\n this.maxStringSequence = 1024;\n\n /**\n * If true, emit warnings when we encounter a control character or escape\n * sequence that we don't recognize or explicitly ignore.\n */\n this.warnUnimplemented = true;\n\n /**\n * The set of available character maps (used by G0...G3 below).\n */\n this.characterMaps = new hterm.VT.CharacterMaps();\n\n /**\n * The default G0...G3 character maps.\n * We default to the US/ASCII map everywhere as that aligns with other\n * terminals, and it makes it harder to accidentally switch to the graphics\n * character map (Ctrl-N). Any program that wants to use the graphics map\n * will usually select it anyways since there's no guarantee what state any\n * of the maps are in at any particular time.\n */\n this.G0 = this.G1 = this.G2 = this.G3 =\n this.characterMaps.getMap('B');\n\n /**\n * The 7-bit visible character set.\n *\n * This is a mapping from inbound data to display glyph. The GL set\n * contains the 94 bytes from 0x21 to 0x7e.\n *\n * The default GL set is 'B', US ASCII.\n */\n this.GL = 'G0';\n\n /**\n * The 8-bit visible character set.\n *\n * This is a mapping from inbound data to display glyph. The GR set\n * contains the 94 bytes from 0xa1 to 0xfe.\n */\n this.GR = 'G0';\n\n /**\n * The current encoding of the terminal.\n *\n * We only support ECMA-35 and UTF-8, so go with a boolean here.\n * The encoding can be locked too.\n */\n this.codingSystemUtf8_ = false;\n this.codingSystemLocked_ = false;\n\n // Construct a regular expression to match the known one-byte control chars.\n // This is used in parseUnknown_ to quickly scan a string for the next\n // control character.\n this.cc1Pattern_ = null;\n this.updateEncodingState_();\n\n // Saved state used in DECSC.\n //\n // This is a place to store a copy VT state, it is *not* the active state.\n this.savedState_ = new hterm.VT.CursorState(this);\n};\n\n/**\n * No mouse events.\n */\nhterm.VT.prototype.MOUSE_REPORT_DISABLED = 0;\n\n/**\n * DECSET mode 1000.\n *\n * Report mouse down/up events only.\n */\nhterm.VT.prototype.MOUSE_REPORT_CLICK = 1;\n\n/**\n * DECSET mode 1002.\n *\n * Report mouse down/up and movement while a button is down.\n */\nhterm.VT.prototype.MOUSE_REPORT_DRAG = 3;\n\n/**\n * ParseState constructor.\n *\n * This object tracks the current state of the parse. It has fields for the\n * current buffer, position in the buffer, and the parse function.\n *\n * @param {function} defaultFunc The default parser function.\n * @param {string} opt_buf Optional string to use as the current buffer.\n */\nhterm.VT.ParseState = function(defaultFunction, opt_buf) {\n this.defaultFunction = defaultFunction;\n this.buf = opt_buf || null;\n this.pos = 0;\n this.func = defaultFunction;\n this.args = [];\n};\n\n/**\n * Reset the parser function, buffer, and position.\n */\nhterm.VT.ParseState.prototype.reset = function(opt_buf) {\n this.resetParseFunction();\n this.resetBuf(opt_buf || '');\n this.resetArguments();\n};\n\n/**\n * Reset the parser function only.\n */\nhterm.VT.ParseState.prototype.resetParseFunction = function() {\n this.func = this.defaultFunction;\n};\n\n/**\n * Reset the buffer and position only.\n *\n * @param {string} buf Optional new value for buf, defaults to null.\n */\nhterm.VT.ParseState.prototype.resetBuf = function(opt_buf) {\n this.buf = (typeof opt_buf == 'string') ? opt_buf : null;\n this.pos = 0;\n};\n\n/**\n * Reset the arguments list only.\n *\n * @param {string} opt_arg_zero Optional initial value for args[0].\n */\nhterm.VT.ParseState.prototype.resetArguments = function(opt_arg_zero) {\n this.args.length = 0;\n if (typeof opt_arg_zero != 'undefined')\n this.args[0] = opt_arg_zero;\n};\n\n/**\n * Get an argument as an integer.\n *\n * @param {number} argnum The argument number to retrieve.\n */\nhterm.VT.ParseState.prototype.iarg = function(argnum, defaultValue) {\n var str = this.args[argnum];\n if (str) {\n var ret = parseInt(str, 10);\n // An argument of zero is treated as the default value.\n if (ret == 0)\n ret = defaultValue;\n return ret;\n }\n return defaultValue;\n};\n\n/**\n * Advance the parse position.\n *\n * @param {integer} count The number of bytes to advance.\n */\nhterm.VT.ParseState.prototype.advance = function(count) {\n this.pos += count;\n};\n\n/**\n * Return the remaining portion of the buffer without affecting the parse\n * position.\n *\n * @return {string} The remaining portion of the buffer.\n */\nhterm.VT.ParseState.prototype.peekRemainingBuf = function() {\n return this.buf.substr(this.pos);\n};\n\n/**\n * Return the next single character in the buffer without affecting the parse\n * position.\n *\n * @return {string} The next character in the buffer.\n */\nhterm.VT.ParseState.prototype.peekChar = function() {\n return this.buf.substr(this.pos, 1);\n};\n\n/**\n * Return the next single character in the buffer and advance the parse\n * position one byte.\n *\n * @return {string} The next character in the buffer.\n */\nhterm.VT.ParseState.prototype.consumeChar = function() {\n return this.buf.substr(this.pos++, 1);\n};\n\n/**\n * Return true if the buffer is empty, or the position is past the end.\n */\nhterm.VT.ParseState.prototype.isComplete = function() {\n return this.buf == null || this.buf.length <= this.pos;\n};\n\nhterm.VT.CursorState = function(vt) {\n this.vt_ = vt;\n this.save();\n};\n\nhterm.VT.CursorState.prototype.save = function() {\n this.cursor = this.vt_.terminal.saveCursor();\n\n this.textAttributes = this.vt_.terminal.getTextAttributes().clone();\n\n this.GL = this.vt_.GL;\n this.GR = this.vt_.GR;\n\n this.G0 = this.vt_.G0;\n this.G1 = this.vt_.G1;\n this.G2 = this.vt_.G2;\n this.G3 = this.vt_.G3;\n};\n\nhterm.VT.CursorState.prototype.restore = function() {\n this.vt_.terminal.restoreCursor(this.cursor);\n\n this.vt_.terminal.setTextAttributes(this.textAttributes.clone());\n\n this.vt_.GL = this.GL;\n this.vt_.GR = this.GR;\n\n this.vt_.G0 = this.G0;\n this.vt_.G1 = this.G1;\n this.vt_.G2 = this.G2;\n this.vt_.G3 = this.G3;\n};\n\nhterm.VT.prototype.reset = function() {\n this.G0 = this.characterMaps.getMap('B');\n this.G1 = this.characterMaps.getMap('0');\n this.G2 = this.characterMaps.getMap('B');\n this.G3 = this.characterMaps.getMap('B');\n\n this.GL = 'G0';\n this.GR = 'G0';\n\n this.savedState_ = new hterm.VT.CursorState(this);\n\n this.mouseReport = this.MOUSE_REPORT_DISABLED;\n};\n\n/**\n * Handle terminal mouse events.\n *\n * See the \"Mouse Tracking\" section of [xterm].\n */\nhterm.VT.prototype.onTerminalMouse_ = function(e) {\n if (this.mouseReport == this.MOUSE_REPORT_DISABLED)\n return;\n\n // Temporary storage for our response.\n var response;\n\n // Modifier key state.\n var mod = 0;\n if (e.shiftKey)\n mod |= 4;\n if (e.metaKey || (this.terminal.keyboard.altIsMeta && e.altKey))\n mod |= 8;\n if (e.ctrlKey)\n mod |= 16;\n\n // TODO(rginda): We should also support mode 1005 and/or 1006 to extend the\n // coordinate space. Though, after poking around just a little, I wasn't\n // able to get vi or emacs to use either of these modes.\n var x = String.fromCharCode(lib.f.clamp(e.terminalColumn + 32, 32, 255));\n var y = String.fromCharCode(lib.f.clamp(e.terminalRow + 32, 32, 255));\n\n switch (e.type) {\n case 'wheel':\n // Mouse wheel is treated as button 1 or 2 plus an additional 64.\n b = (((e.deltaY * -1) > 0) ? 0 : 1) + 96;\n b |= mod;\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n\n // Keep the terminal from scrolling.\n e.preventDefault();\n break;\n\n case 'mousedown':\n // Buttons are encoded as button number plus 32.\n var b = Math.min(e.button, 2) + 32;\n\n // And mix in the modifier keys.\n b |= mod;\n\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n break;\n\n case 'mouseup':\n // Mouse up has no indication of which button was released.\n response = '\\x1b[M\\x23' + x + y;\n break;\n\n case 'mousemove':\n if (this.mouseReport == this.MOUSE_REPORT_DRAG && e.buttons) {\n // Standard button bits. The XTerm protocol only reports the first\n // button press (e.g. if left & right are pressed, right is ignored),\n // and it only supports the first three buttons. If none of them are\n // pressed, then XTerm flags it as a release. We'll do the same.\n b = 32;\n\n // Priority here matches XTerm: left, middle, right.\n if (e.buttons & 0x1) {\n // Report left button.\n b += 0;\n } else if (e.buttons & 0x4) {\n // Report middle button.\n b += 1;\n } else if (e.buttons & 0x2) {\n // Report right button.\n b += 2;\n } else {\n // Release higher buttons.\n b += 3;\n }\n\n // Add 32 to indicate mouse motion.\n b += 32;\n\n // And mix in the modifier keys.\n b |= mod;\n\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n }\n\n break;\n\n case 'click':\n case 'dblclick':\n break;\n\n default:\n console.error('Unknown mouse event: ' + e.type, e);\n break;\n }\n\n if (response)\n this.terminal.io.sendString(response);\n};\n\n/**\n * Interpret a string of characters, displaying the results on the associated\n * terminal object.\n *\n * The buffer will be decoded according to the 'receive-encoding' preference.\n */\nhterm.VT.prototype.interpret = function(buf) {\n this.parseState_.resetBuf(this.decode(buf));\n\n while (!this.parseState_.isComplete()) {\n var func = this.parseState_.func;\n var pos = this.parseState_.pos;\n var buf = this.parseState_.buf;\n\n this.parseState_.func.call(this, this.parseState_);\n\n if (this.parseState_.func == func && this.parseState_.pos == pos &&\n this.parseState_.buf == buf) {\n throw 'Parser did not alter the state!';\n }\n }\n};\n\n/**\n * Decode a string according to the 'receive-encoding' preference.\n */\nhterm.VT.prototype.decode = function(str) {\n if (this.characterEncoding == 'utf-8')\n return this.decodeUTF8(str);\n\n return str;\n};\n\n/**\n * Encode a UTF-16 string as UTF-8.\n *\n * See also: https://en.wikipedia.org/wiki/UTF-16\n */\nhterm.VT.prototype.encodeUTF8 = function(str) {\n return lib.encodeUTF8(str);\n};\n\n/**\n * Decode a UTF-8 string into UTF-16.\n */\nhterm.VT.prototype.decodeUTF8 = function(str) {\n return this.utf8Decoder_.decode(str);\n};\n\n/**\n * Set the encoding of the terminal.\n *\n * @param {string} encoding The name of the encoding to set.\n */\nhterm.VT.prototype.setEncoding = function(encoding) {\n switch (encoding) {\n default:\n console.warn('Invalid value for \"terminal-encoding\": ' + encoding);\n // Fall through.\n case 'iso-2022':\n this.codingSystemUtf8_ = false;\n this.codingSystemLocked_ = false;\n break;\n case 'utf-8-locked':\n this.codingSystemUtf8_ = true;\n this.codingSystemLocked_ = true;\n break;\n case 'utf-8':\n this.codingSystemUtf8_ = true;\n this.codingSystemLocked_ = false;\n break;\n }\n\n this.updateEncodingState_();\n};\n\n/**\n * Refresh internal state when the encoding changes.\n */\nhterm.VT.prototype.updateEncodingState_ = function() {\n // If we're in UTF8 mode, don't suport 8-bit escape sequences as we'll never\n // see those -- everything should be UTF8!\n var cc1 = Object.keys(hterm.VT.CC1)\n .filter((e) => !this.codingSystemUtf8_ || e.charCodeAt() < 0x80)\n .map((e) => '\\\\x' + lib.f.zpad(e.charCodeAt().toString(16), 2))\n .join('');\n this.cc1Pattern_ = new RegExp(`[${cc1}]`);\n};\n\n/**\n * The default parse function.\n *\n * This will scan the string for the first 1-byte control character (C0/C1\n * characters from [CTRL]). Any plain text coming before the code will be\n * printed to the terminal, then the control character will be dispatched.\n */\nhterm.VT.prototype.parseUnknown_ = function(parseState) {\n var self = this;\n\n function print(str) {\n if (!self.codingSystemUtf8_ && self[self.GL].GL)\n str = self[self.GL].GL(str);\n\n self.terminal.print(str);\n };\n\n // Search for the next contiguous block of plain text.\n var buf = parseState.peekRemainingBuf();\n var nextControl = buf.search(this.cc1Pattern_);\n\n if (nextControl == 0) {\n // We've stumbled right into a control character.\n this.dispatch('CC1', buf.substr(0, 1), parseState);\n parseState.advance(1);\n return;\n }\n\n if (nextControl == -1) {\n // There are no control characters in this string.\n print(buf);\n parseState.reset();\n return;\n }\n\n print(buf.substr(0, nextControl));\n this.dispatch('CC1', buf.substr(nextControl, 1), parseState);\n parseState.advance(nextControl + 1);\n};\n\n/**\n * Parse a Control Sequence Introducer code and dispatch it.\n *\n * See [CSI] for some useful information about these codes.\n */\nhterm.VT.prototype.parseCSI_ = function(parseState) {\n var ch = parseState.peekChar();\n var args = parseState.args;\n\n if (ch >= '@' && ch <= '~') {\n // This is the final character.\n this.dispatch('CSI', this.leadingModifier_ + this.trailingModifier_ + ch,\n parseState);\n parseState.resetParseFunction();\n\n } else if (ch == ';') {\n // Parameter delimiter.\n if (this.trailingModifier_) {\n // Parameter delimiter after the trailing modifier. That's a paddlin'.\n parseState.resetParseFunction();\n\n } else {\n if (!args.length) {\n // They omitted the first param, we need to supply it.\n args.push('');\n }\n\n args.push('');\n }\n\n } else if (ch >= '0' && ch <= '9') {\n // Next byte in the current parameter.\n\n if (this.trailingModifier_) {\n // Numeric parameter after the trailing modifier. That's a paddlin'.\n parseState.resetParseFunction();\n } else {\n if (!args.length) {\n args[0] = ch;\n } else {\n args[args.length - 1] += ch;\n }\n }\n\n } else if (ch >= ' ' && ch <= '?' && ch != ':') {\n // Modifier character.\n if (!args.length) {\n this.leadingModifier_ += ch;\n } else {\n this.trailingModifier_ += ch;\n }\n\n } else if (this.cc1Pattern_.test(ch)) {\n // Control character.\n this.dispatch('CC1', ch, parseState);\n\n } else {\n // Unexpected character in sequence, bail out.\n parseState.resetParseFunction();\n }\n\n parseState.advance(1);\n};\n\n/**\n * Skip over the string until the next String Terminator (ST, 'ESC \\') or\n * Bell (BEL, '\\x07').\n *\n * The string is accumulated in parseState.args[0]. Make sure to reset the\n * arguments (with parseState.resetArguments) before starting the parse.\n *\n * You can detect that parsing in complete by checking that the parse\n * function has changed back to the default parse function.\n *\n * If we encounter more than maxStringSequence characters, we send back\n * the unterminated sequence to be re-parsed with the default parser function.\n *\n * @return {boolean} If true, parsing is ongoing or complete. If false, we've\n * exceeded the max string sequence.\n */\nhterm.VT.prototype.parseUntilStringTerminator_ = function(parseState) {\n var buf = parseState.peekRemainingBuf();\n var nextTerminator = buf.search(/(\\x1b\\\\|\\x07)/);\n var args = parseState.args;\n\n if (!args.length) {\n args[0] = '';\n args[1] = new Date();\n }\n\n if (nextTerminator == -1) {\n // No terminator here, have to wait for the next string.\n\n args[0] += buf;\n\n var abortReason;\n\n if (args[0].length > this.maxStringSequence)\n abortReason = 'too long: ' + args[0].length;\n\n if (args[0].indexOf('\\x1b') != -1)\n abortReason = 'embedded escape: ' + args[0].indexOf('\\x1b');\n\n if (new Date() - args[1] > this.oscTimeLimit_)\n abortReason = 'timeout expired: ' + new Date() - args[1];\n\n if (abortReason) {\n console.log('parseUntilStringTerminator_: aborting: ' + abortReason,\n args[0]);\n parseState.reset(args[0]);\n return false;\n }\n\n parseState.advance(buf.length);\n return true;\n }\n\n if (args[0].length + nextTerminator > this.maxStringSequence) {\n // We found the end of the sequence, but we still think it's too long.\n parseState.reset(args[0] + buf);\n return false;\n }\n\n args[0] += buf.substr(0, nextTerminator);\n\n parseState.resetParseFunction();\n parseState.advance(nextTerminator +\n (buf.substr(nextTerminator, 1) == '\\x1b' ? 2 : 1));\n\n return true;\n};\n\n/**\n * Dispatch to the function that handles a given CC1, ESC, or CSI or VT52 code.\n */\nhterm.VT.prototype.dispatch = function(type, code, parseState) {\n var handler = hterm.VT[type][code];\n if (!handler) {\n if (this.warnUnimplemented)\n console.warn('Unknown ' + type + ' code: ' + JSON.stringify(code));\n return;\n }\n\n if (handler == hterm.VT.ignore) {\n if (this.warnUnimplemented)\n console.warn('Ignored ' + type + ' code: ' + JSON.stringify(code));\n return;\n }\n\n if (type == 'CC1' && code > '\\x7f' && !this.enable8BitControl) {\n // It's kind of a hack to put this here, but...\n //\n // If we're dispatching a 'CC1' code, and it's got the eighth bit set,\n // but we're not supposed to handle 8-bit codes? Just ignore it.\n //\n // This prevents an errant (DCS, '\\x90'), (OSC, '\\x9d'), (PM, '\\x9e') or\n // (APC, '\\x9f') from locking up the terminal waiting for its expected\n // (ST, '\\x9c') or (BEL, '\\x07').\n console.warn('Ignoring 8-bit control code: 0x' +\n code.charCodeAt(0).toString(16));\n return;\n }\n\n handler.apply(this, [parseState, code]);\n};\n\n/**\n * Set one of the ANSI defined terminal mode bits.\n *\n * Invoked in response to SM/RM.\n *\n * Unexpected and unimplemented values are silently ignored.\n */\nhterm.VT.prototype.setANSIMode = function(code, state) {\n if (code == 4) { // Insert Mode (IRM)\n this.terminal.setInsertMode(state);\n } else if (code == 20) { // Automatic Newline (LNM)\n this.terminal.setAutoCarriageReturn(state);\n } else if (this.warnUnimplemented) {\n console.warn('Unimplemented ANSI Mode: ' + code);\n }\n};\n\n/**\n * Set or reset one of the DEC Private modes.\n *\n * Invoked in response to DECSET/DECRST.\n */\nhterm.VT.prototype.setDECMode = function(code, state) {\n switch (parseInt(code, 10)) {\n case 1: // DECCKM\n this.terminal.keyboard.applicationCursor = state;\n break;\n\n case 3: // DECCOLM\n if (this.allowColumnWidthChanges_) {\n this.terminal.setWidth(state ? 132 : 80);\n\n this.terminal.clearHome();\n this.terminal.setVTScrollRegion(null, null);\n }\n break;\n\n case 5: // DECSCNM\n this.terminal.setReverseVideo(state);\n break;\n\n case 6: // DECOM\n this.terminal.setOriginMode(state);\n break;\n\n case 7: // DECAWM\n this.terminal.setWraparound(state);\n break;\n\n case 12: // Start blinking cursor\n if (this.enableDec12)\n this.terminal.setCursorBlink(state);\n break;\n\n case 25: // DECTCEM\n this.terminal.setCursorVisible(state);\n break;\n\n case 30: // Show scrollbar\n this.terminal.setScrollbarVisible(state);\n break;\n\n case 40: // Allow 80 - 132 (DECCOLM) Mode\n this.terminal.allowColumnWidthChanges_ = state;\n break;\n\n case 45: // Reverse-wraparound Mode\n this.terminal.setReverseWraparound(state);\n break;\n\n case 67: // Backarrow key sends backspace (DECBKM)\n this.terminal.keyboard.backspaceSendsBackspace = state;\n break;\n\n case 1000: // Report on mouse clicks only.\n this.mouseReport = (\n state ? this.MOUSE_REPORT_CLICK : this.MOUSE_REPORT_DISABLED);\n this.terminal.syncMouseStyle();\n break;\n\n case 1002: // Report on mouse clicks and drags\n this.mouseReport = (\n state ? this.MOUSE_REPORT_DRAG : this.MOUSE_REPORT_DISABLED);\n this.terminal.syncMouseStyle();\n break;\n\n case 1010: // Scroll to bottom on tty output\n this.terminal.scrollOnOutput = state;\n break;\n\n case 1011: // Scroll to bottom on key press\n this.terminal.scrollOnKeystroke = state;\n break;\n\n case 1036: // Send ESC when Meta modifies a key\n this.terminal.keyboard.metaSendsEscape = state;\n break;\n\n case 1039: // Send ESC when Alt modifies a key\n if (state) {\n if (!this.terminal.keyboard.previousAltSendsWhat_) {\n this.terminal.keyboard.previousAltSendsWhat_ =\n this.terminal.keyboard.altSendsWhat;\n this.terminal.keyboard.altSendsWhat = 'escape';\n }\n } else if (this.terminal.keyboard.previousAltSendsWhat_) {\n this.terminal.keyboard.altSendsWhat =\n this.terminal.keyboard.previousAltSendsWhat_;\n this.terminal.keyboard.previousAltSendsWhat_ = null;\n }\n break;\n\n case 47: // Use Alternate Screen Buffer\n case 1047:\n this.terminal.setAlternateMode(state);\n break;\n\n case 1048: // Save cursor as in DECSC.\n this.savedState_.save();\n\n case 1049: // 1047 + 1048 + clear.\n if (state) {\n this.savedState_.save();\n this.terminal.setAlternateMode(state);\n this.terminal.clear();\n } else {\n this.terminal.setAlternateMode(state);\n this.savedState_.restore();\n }\n\n break;\n\n case 2004: // Bracketed paste mode.\n this.terminal.setBracketedPaste(state);\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unimplemented DEC Private Mode: ' + code);\n break;\n }\n};\n\n/**\n * Function shared by control characters and escape sequences that are\n * ignored.\n */\nhterm.VT.ignore = function() {};\n\n/**\n * Collection of control characters expressed in a single byte.\n *\n * This includes the characters from the C0 and C1 sets (see [CTRL]) that we\n * care about. Two byte versions of the C1 codes are defined in the\n * hterm.VT.ESC collection.\n *\n * The 'CC1' mnemonic here refers to the fact that these are one-byte Control\n * Codes. It's only used in this source file and not defined in any of the\n * referenced documents.\n */\nhterm.VT.CC1 = {};\n\n/**\n * Collection of two-byte and three-byte sequences starting with ESC.\n */\nhterm.VT.ESC = {};\n\n/**\n * Collection of CSI (Control Sequence Introducer) sequences.\n *\n * These sequences begin with 'ESC [', and may take zero or more arguments.\n */\nhterm.VT.CSI = {};\n\n/**\n * Collection of OSC (Operating System Control) sequences.\n *\n * These sequences begin with 'ESC ]', followed by a function number and a\n * string terminated by either ST or BEL.\n */\nhterm.VT.OSC = {};\n\n/**\n * Collection of VT52 sequences.\n *\n * When in VT52 mode, other sequences are disabled.\n */\nhterm.VT.VT52 = {};\n\n/**\n * Null (NUL).\n *\n * Silently ignored.\n */\nhterm.VT.CC1['\\x00'] = hterm.VT.ignore;\n\n/**\n * Enquiry (ENQ).\n *\n * Transmit answerback message.\n *\n * The default answerback message in xterm is an empty string, so we just\n * ignore this.\n */\nhterm.VT.CC1['\\x05'] = hterm.VT.ignore;\n\n/**\n * Ring Bell (BEL).\n */\nhterm.VT.CC1['\\x07'] = function() {\n this.terminal.ringBell();\n};\n\n/**\n * Backspace (BS).\n *\n * Move the cursor to the left one character position, unless it is at the\n * left margin, in which case no action occurs.\n */\nhterm.VT.CC1['\\x08'] = function() {\n this.terminal.cursorLeft(1);\n};\n\n/**\n * Horizontal Tab (HT).\n *\n * Move the cursor to the next tab stop, or to the right margin if no further\n * tab stops are present on the line.\n */\nhterm.VT.CC1['\\x09'] = function() {\n this.terminal.forwardTabStop();\n};\n\n/**\n * Line Feed (LF).\n *\n * This code causes a line feed or a new line operation. See Automatic\n * Newline (LNM).\n */\nhterm.VT.CC1['\\x0a'] = function() {\n this.terminal.formFeed();\n};\n\n/**\n * Vertical Tab (VT).\n *\n * Interpreted as LF.\n */\nhterm.VT.CC1['\\x0b'] = hterm.VT.CC1['\\x0a'];\n\n/**\n * Form Feed (FF).\n *\n * Interpreted as LF.\n */\nhterm.VT.CC1['\\x0c'] = hterm.VT.CC1['\\x0a'];\n\n/**\n * Carriage Return (CR).\n *\n * Move cursor to the left margin on the current line.\n */\nhterm.VT.CC1['\\x0d'] = function() {\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Shift Out (SO), aka Lock Shift 0 (LS1).\n *\n * Invoke G1 character set in GL.\n */\nhterm.VT.CC1['\\x0e'] = function() {\n this.GL = 'G1';\n};\n\n/**\n * Shift In (SI), aka Lock Shift 0 (LS0).\n *\n * Invoke G0 character set in GL.\n */\nhterm.VT.CC1['\\x0f'] = function() {\n this.GL = 'G0';\n};\n\n/**\n * Transmit On (XON).\n *\n * Not currently implemented.\n *\n * TODO(rginda): Implement?\n */\nhterm.VT.CC1['\\x11'] = hterm.VT.ignore;\n\n/**\n * Transmit Off (XOFF).\n *\n * Not currently implemented.\n *\n * TODO(rginda): Implement?\n */\nhterm.VT.CC1['\\x13'] = hterm.VT.ignore;\n\n/**\n * Cancel (CAN).\n *\n * If sent during a control sequence, the sequence is immediately terminated\n * and not executed.\n *\n * It also causes the error character to be displayed.\n */\nhterm.VT.CC1['\\x18'] = function(parseState) {\n // If we've shifted in the G1 character set, shift it back out to\n // the default character set.\n if (this.GL == 'G1') {\n this.GL = 'G0';\n }\n parseState.resetParseFunction();\n this.terminal.print('?');\n};\n\n/**\n * Substitute (SUB).\n *\n * Interpreted as CAN.\n */\nhterm.VT.CC1['\\x1a'] = hterm.VT.CC1['\\x18'];\n\n/**\n * Escape (ESC).\n */\nhterm.VT.CC1['\\x1b'] = function(parseState) {\n function parseESC(parseState) {\n var ch = parseState.consumeChar();\n\n if (ch == '\\x1b')\n return;\n\n this.dispatch('ESC', ch, parseState);\n\n if (parseState.func == parseESC)\n parseState.resetParseFunction();\n };\n\n parseState.func = parseESC;\n};\n\n/**\n * Delete (DEL).\n */\nhterm.VT.CC1['\\x7f'] = hterm.VT.ignore;\n\n// 8 bit control characters and their two byte equivalents, below...\n\n/**\n * Index (IND).\n *\n * Like newline, only keep the X position\n */\nhterm.VT.CC1['\\x84'] =\nhterm.VT.ESC['D'] = function() {\n this.terminal.lineFeed();\n};\n\n/**\n * Next Line (NEL).\n *\n * Like newline, but doesn't add lines.\n */\nhterm.VT.CC1['\\x85'] =\nhterm.VT.ESC['E'] = function() {\n this.terminal.setCursorColumn(0);\n this.terminal.cursorDown(1);\n};\n\n/**\n * Horizontal Tabulation Set (HTS).\n */\nhterm.VT.CC1['\\x88'] =\nhterm.VT.ESC['H'] = function() {\n this.terminal.setTabStop(this.terminal.getCursorColumn());\n};\n\n/**\n * Reverse Index (RI).\n *\n * Move up one line.\n */\nhterm.VT.CC1['\\x8d'] =\nhterm.VT.ESC['M'] = function() {\n this.terminal.reverseLineFeed();\n};\n\n/**\n * Single Shift 2 (SS2).\n *\n * Select of G2 Character Set for the next character only.\n *\n * Not currently implemented.\n */\nhterm.VT.CC1['\\x8e'] =\nhterm.VT.ESC['N'] = hterm.VT.ignore;\n\n/**\n * Single Shift 3 (SS3).\n *\n * Select of G3 Character Set for the next character only.\n *\n * Not currently implemented.\n */\nhterm.VT.CC1['\\x8f'] =\nhterm.VT.ESC['O'] = hterm.VT.ignore;\n\n/**\n * Device Control String (DCS).\n *\n * Indicate a DCS sequence. See Device-Control functions in [XTERM].\n * Not currently implemented.\n *\n * TODO(rginda): Consider implementing DECRQSS, the rest don't seem applicable.\n */\nhterm.VT.CC1['\\x90'] =\nhterm.VT.ESC['P'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * Start of Guarded Area (SPA).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x96'] =\nhterm.VT.ESC['V'] = hterm.VT.ignore;\n\n/**\n * End of Guarded Area (EPA).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x97'] =\nhterm.VT.ESC['W'] = hterm.VT.ignore;\n\n/**\n * Start of String (SOS).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x98'] =\nhterm.VT.ESC['X'] = hterm.VT.ignore;\n\n/**\n * Single Character Introducer (SCI, also DECID).\n *\n * Return Terminal ID. Obsolete form of 'ESC [ c' (DA).\n */\nhterm.VT.CC1['\\x9a'] =\nhterm.VT.ESC['Z'] = function() {\n this.terminal.io.sendString('\\x1b[?1;2c');\n};\n\n/**\n * Control Sequence Introducer (CSI).\n *\n * The lead into most escape sequences. See [CSI].\n */\nhterm.VT.CC1['\\x9b'] =\nhterm.VT.ESC['['] = function(parseState) {\n parseState.resetArguments();\n this.leadingModifier_ = '';\n this.trailingModifier_ = '';\n parseState.func = this.parseCSI_;\n};\n\n/**\n * String Terminator (ST).\n *\n * Used to terminate DCS/OSC/PM/APC commands which may take string arguments.\n *\n * We don't directly handle it here, as it's only used to terminate other\n * sequences. See the 'parseUntilStringTerminator_' method.\n */\nhterm.VT.CC1['\\x9c'] =\nhterm.VT.ESC['\\\\'] = hterm.VT.ignore;\n\n/**\n * Operating System Command (OSC).\n *\n * Commands relating to the operating system.\n */\nhterm.VT.CC1['\\x9d'] =\nhterm.VT.ESC[']'] = function(parseState) {\n parseState.resetArguments();\n\n function parseOSC(parseState) {\n if (!this.parseUntilStringTerminator_(parseState)) {\n // The string sequence was too long.\n return;\n }\n\n if (parseState.func == parseOSC) {\n // We're not done parsing the string yet.\n return;\n }\n\n // We're done.\n var ary = parseState.args[0].match(/^(\\d+);(.*)$/);\n if (ary) {\n parseState.args[0] = ary[2];\n this.dispatch('OSC', ary[1], parseState);\n } else {\n console.warn('Invalid OSC: ' + JSON.stringify(parseState.args[0]));\n }\n };\n\n parseState.func = parseOSC;\n};\n\n/**\n * Privacy Message (PM).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x9e'] =\nhterm.VT.ESC['^'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * Application Program Control (APC).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x9f'] =\nhterm.VT.ESC['_'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * ESC \\x20 - Unclear to me where these originated, possibly in xterm.\n *\n * Not currently implemented:\n * ESC \\x20 F - Select 7 bit escape codes in responses (S7C1T).\n * ESC \\x20 G - Select 8 bit escape codes in responses (S8C1T).\n * NB: We currently assume S7C1T always.\n *\n * Will not implement:\n * ESC \\x20 L - Set ANSI conformance level 1.\n * ESC \\x20 M - Set ANSI conformance level 2.\n * ESC \\x20 N - Set ANSI conformance level 3.\n */\nhterm.VT.ESC['\\x20'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (this.warnUnimplemented)\n console.warn('Unimplemented sequence: ESC 0x20 ' + ch);\n parseState.resetParseFunction();\n };\n};\n\n/**\n * DEC 'ESC #' sequences.\n */\nhterm.VT.ESC['#'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (ch == '8') // DEC Screen Alignment Test (DECALN)\n this.terminal.fill('E');\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Designate Other Coding System (DOCS).\n */\nhterm.VT.ESC['%'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n\n // If we've locked the encoding, then just eat the bytes and return.\n if (this.codingSystemLocked_) {\n if (ch == '/')\n parseState.consumeChar();\n parseState.resetParseFunction();\n return;\n }\n\n // Process the encoding requests.\n switch (ch) {\n case '@':\n // Switch to ECMA 35.\n this.setEncoding('iso-2022');\n break;\n\n case 'G':\n // Switch to UTF-8.\n this.setEncoding('utf-8');\n break;\n\n case '/':\n // One way transition to something else.\n ch = parseState.consumeChar();\n switch (ch) {\n case 'G': // UTF-8 Level 1.\n case 'H': // UTF-8 Level 2.\n case 'I': // UTF-8 Level 3.\n // We treat all UTF-8 levels the same.\n this.setEncoding('utf-8-locked');\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unknown ESC % / argument: ' + JSON.stringify(ch));\n break;\n }\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unknown ESC % argument: ' + JSON.stringify(ch));\n break;\n }\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Character Set Selection (SCS).\n *\n * ESC ( Ps - Set G0 character set (VT100).\n * ESC ) Ps - Set G1 character set (VT220).\n * ESC * Ps - Set G2 character set (VT220).\n * ESC + Ps - Set G3 character set (VT220).\n * ESC - Ps - Set G1 character set (VT300).\n * ESC . Ps - Set G2 character set (VT300).\n * ESC / Ps - Set G3 character set (VT300).\n *\n * All other sequences are echoed to the terminal.\n */\nhterm.VT.ESC['('] =\nhterm.VT.ESC[')'] =\nhterm.VT.ESC['*'] =\nhterm.VT.ESC['+'] =\nhterm.VT.ESC['-'] =\nhterm.VT.ESC['.'] =\nhterm.VT.ESC['/'] = function(parseState, code) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (ch == '\\x1b') {\n parseState.resetParseFunction();\n parseState.func();\n return;\n }\n\n var map = this.characterMaps.getMap(ch);\n if (map !== undefined) {\n if (code == '(') {\n this.G0 = map;\n } else if (code == ')' || code == '-') {\n this.G1 = map;\n } else if (code == '*' || code == '.') {\n this.G2 = map;\n } else if (code == '+' || code == '/') {\n this.G3 = map;\n }\n } else if (this.warnUnimplemented) {\n console.log('Invalid character set for \"' + code + '\": ' + ch);\n }\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Back Index (DECBI).\n *\n * VT420 and up. Not currently implemented.\n */\nhterm.VT.ESC['6'] = hterm.VT.ignore;\n\n/**\n * Save Cursor (DECSC).\n */\nhterm.VT.ESC['7'] = function() {\n this.savedState_.save();\n};\n\n/**\n * Restore Cursor (DECRC).\n */\nhterm.VT.ESC['8'] = function() {\n this.savedState_.restore();\n};\n\n/**\n * Forward Index (DECFI).\n *\n * VT210 and up. Not currently implemented.\n */\nhterm.VT.ESC['9'] = hterm.VT.ignore;\n\n/**\n * Application keypad (DECKPAM).\n */\nhterm.VT.ESC['='] = function() {\n this.terminal.keyboard.applicationKeypad = true;\n};\n\n/**\n * Normal keypad (DECKPNM).\n */\nhterm.VT.ESC['>'] = function() {\n this.terminal.keyboard.applicationKeypad = false;\n};\n\n/**\n * Cursor to lower left corner of screen.\n *\n * Will not implement.\n *\n * This is only recognized by xterm when the hpLowerleftBugCompat resource is\n * set.\n */\nhterm.VT.ESC['F'] = hterm.VT.ignore;\n\n/**\n * Full Reset (RIS).\n */\nhterm.VT.ESC['c'] = function() {\n this.reset();\n this.terminal.reset();\n};\n\n/**\n * Memory lock/unlock.\n *\n * Will not implement.\n */\nhterm.VT.ESC['l'] =\nhterm.VT.ESC['m'] = hterm.VT.ignore;\n\n/**\n * Lock Shift 2 (LS2)\n *\n * Invoke the G2 Character Set as GL.\n */\nhterm.VT.ESC['n'] = function() {\n this.GL = 'G2';\n};\n\n/**\n * Lock Shift 3 (LS3)\n *\n * Invoke the G3 Character Set as GL.\n */\nhterm.VT.ESC['o'] = function() {\n this.GL = 'G3';\n};\n\n/**\n * Lock Shift 2, Right (LS3R)\n *\n * Invoke the G3 Character Set as GR.\n */\nhterm.VT.ESC['|'] = function() {\n this.GR = 'G3';\n};\n\n/**\n * Lock Shift 2, Right (LS2R)\n *\n * Invoke the G2 Character Set as GR.\n */\nhterm.VT.ESC['}'] = function() {\n this.GR = 'G2';\n};\n\n/**\n * Lock Shift 1, Right (LS1R)\n *\n * Invoke the G1 Character Set as GR.\n */\nhterm.VT.ESC['~'] = function() {\n this.GR = 'G1';\n};\n\n/**\n * Change icon name and window title.\n *\n * We only change the window title.\n */\nhterm.VT.OSC['0'] = function(parseState) {\n this.terminal.setWindowTitle(parseState.args[0]);\n};\n\n/**\n * Change window title.\n */\nhterm.VT.OSC['2'] = hterm.VT.OSC['0'];\n\n/**\n * Set/read color palette.\n */\nhterm.VT.OSC['4'] = function(parseState) {\n // Args come in as a single 'index1;rgb1 ... ;indexN;rgbN' string.\n // We split on the semicolon and iterate through the pairs.\n var args = parseState.args[0].split(';');\n\n var pairCount = parseInt(args.length / 2);\n var colorPalette = this.terminal.getTextAttributes().colorPalette;\n var responseArray = [];\n\n for (var pairNumber = 0; pairNumber < pairCount; ++pairNumber) {\n var colorIndex = parseInt(args[pairNumber * 2]);\n var colorValue = args[pairNumber * 2 + 1];\n\n if (colorIndex >= colorPalette.length)\n continue;\n\n if (colorValue == '?') {\n // '?' means we should report back the current color value.\n colorValue = lib.colors.rgbToX11(colorPalette[colorIndex]);\n if (colorValue)\n responseArray.push(colorIndex + ';' + colorValue);\n\n continue;\n }\n\n colorValue = lib.colors.x11ToCSS(colorValue);\n if (colorValue)\n colorPalette[colorIndex] = colorValue;\n }\n\n if (responseArray.length)\n this.terminal.io.sendString('\\x1b]4;' + responseArray.join(';') + '\\x07');\n};\n\n/**\n * iTerm2 growl notifications.\n */\nhterm.VT.OSC['9'] = function(parseState) {\n // This just dumps the entire string as the message.\n hterm.notify({'body': parseState.args[0]});\n};\n\n/**\n * Change VT100 text foreground color.\n */\nhterm.VT.OSC['10'] = function(parseState) {\n // Args come in as a single string, but extra args will chain to the following\n // OSC sequences.\n var args = parseState.args[0].split(';');\n if (!args)\n return;\n\n var colorArg;\n var colorX11 = lib.colors.x11ToCSS(args.shift());\n if (colorX11)\n this.terminal.setForegroundColor(colorX11);\n\n if (args.length > 0) {\n parseState.args[0] = args.join(';');\n hterm.VT.OSC['11'].apply(this, [parseState]);\n }\n};\n\n/**\n * Change VT100 text background color.\n */\nhterm.VT.OSC['11'] = function(parseState) {\n // Args come in as a single string, but extra args will chain to the following\n // OSC sequences.\n var args = parseState.args[0].split(';');\n if (!args)\n return;\n\n var colorArg;\n var colorX11 = lib.colors.x11ToCSS(args.shift());\n if (colorX11)\n this.terminal.setBackgroundColor(colorX11);\n\n /* Note: If we support OSC 12+, we'd chain it here.\n if (args.length > 0) {\n parseState.args[0] = args.join(';');\n hterm.VT.OSC['12'].apply(this, [parseState]);\n }\n */\n};\n\n/**\n * Set the cursor shape.\n *\n * Parameter is expected to be in the form \"CursorShape=number\", where number is\n * one of:\n *\n * 0 - Block\n * 1 - I-Beam\n * 2 - Underline\n *\n * This is a bit of a de-facto standard supported by iTerm 2 and Konsole. See\n * also: DECSCUSR.\n *\n * Invalid numbers will restore the cursor to the block shape.\n */\nhterm.VT.OSC['50'] = function(parseState) {\n var args = parseState.args[0].match(/CursorShape=(.)/i);\n if (!args) {\n console.warn('Could not parse OSC 50 args: ' + parseState.args[0]);\n return;\n }\n\n switch (args[1]) {\n case '1': // CursorShape=1: I-Beam.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n break;\n\n case '2': // CursorShape=2: Underline.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n break;\n\n default: // CursorShape=0: Block.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n }\n};\n\n/**\n * Set/read system clipboard.\n *\n * Read is not implemented due to security considerations. A remote app\n * that is able to both write and read to the clipboard could essentially\n * take over your session.\n *\n * The clipboard data will be decoded according to the 'receive-encoding'\n * preference.\n */\nhterm.VT.OSC['52'] = function(parseState) {\n // Args come in as a single 'clipboard;b64-data' string. The clipboard\n // parameter is used to select which of the X clipboards to address. Since\n // we're not integrating with X, we treat them all the same.\n var args = parseState.args[0].match(/^[cps01234567]*;(.*)/);\n if (!args)\n return;\n\n var data = window.atob(args[1]);\n if (data)\n this.terminal.copyStringToClipboard(this.decode(data));\n};\n\n/**\n * URxvt perl modules.\n *\n * This is the escape system used by rxvt-unicode and its perl modules.\n * Obviously we don't support perl or custom modules, so we list a few common\n * ones that we find useful.\n *\n * Technically there is no format here, but most modules obey:\n * ;\n */\nhterm.VT.OSC['777'] = function(parseState) {\n var ary;\n var urxvtMod = parseState.args[0].split(';', 1)[0];\n\n switch (urxvtMod) {\n case 'notify':\n // Format:\n // notify;title;message\n var title, message;\n ary = parseState.args[0].match(/^[^;]+;([^;]*)(;([\\s\\S]*))?$/);\n if (ary) {\n title = ary[1];\n message = ary[3];\n }\n hterm.notify({'title': title, 'body': message});\n break;\n\n default:\n console.warn('Unknown urxvt module: ' + parseState.args[0]);\n break;\n }\n};\n\n/**\n * Insert (blank) characters (ICH).\n */\nhterm.VT.CSI['@'] = function(parseState) {\n this.terminal.insertSpace(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Up (CUU).\n */\nhterm.VT.CSI['A'] = function(parseState) {\n this.terminal.cursorUp(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Down (CUD).\n */\nhterm.VT.CSI['B'] = function(parseState) {\n this.terminal.cursorDown(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Forward (CUF).\n */\nhterm.VT.CSI['C'] = function(parseState) {\n this.terminal.cursorRight(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Backward (CUB).\n */\nhterm.VT.CSI['D'] = function(parseState) {\n this.terminal.cursorLeft(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Next Line (CNL).\n *\n * This is like Cursor Down, except the cursor moves to the beginning of the\n * line as well.\n */\nhterm.VT.CSI['E'] = function(parseState) {\n this.terminal.cursorDown(parseState.iarg(0, 1));\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Cursor Preceding Line (CPL).\n *\n * This is like Cursor Up, except the cursor moves to the beginning of the\n * line as well.\n */\nhterm.VT.CSI['F'] = function(parseState) {\n this.terminal.cursorUp(parseState.iarg(0, 1));\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Cursor Character Absolute (CHA).\n */\nhterm.VT.CSI['G'] = function(parseState) {\n this.terminal.setCursorColumn(parseState.iarg(0, 1) - 1);\n};\n\n/**\n * Cursor Position (CUP).\n */\nhterm.VT.CSI['H'] = function(parseState) {\n this.terminal.setCursorPosition(parseState.iarg(0, 1) - 1,\n parseState.iarg(1, 1) - 1);\n};\n\n/**\n * Cursor Forward Tabulation (CHT).\n */\nhterm.VT.CSI['I'] = function(parseState) {\n var count = parseState.iarg(0, 1);\n count = lib.f.clamp(count, 1, this.terminal.screenSize.width);\n for (var i = 0; i < count; i++) {\n this.terminal.forwardTabStop();\n }\n};\n\n/**\n * Erase in Display (ED, DECSED).\n */\nhterm.VT.CSI['J'] =\nhterm.VT.CSI['?J'] = function(parseState, code) {\n var arg = parseState.args[0];\n\n if (!arg || arg == 0) {\n this.terminal.eraseBelow();\n } else if (arg == 1) {\n this.terminal.eraseAbove();\n } else if (arg == 2) {\n this.terminal.clear();\n } else if (arg == 3) {\n // The xterm docs say this means \"Erase saved lines\", but we'll just clear\n // the display since killing the scrollback seems rude.\n this.terminal.clear();\n }\n};\n\n/**\n * Erase in line (EL, DECSEL).\n */\nhterm.VT.CSI['K'] =\nhterm.VT.CSI['?K'] = function(parseState, code) {\n var arg = parseState.args[0];\n\n if (!arg || arg == 0) {\n this.terminal.eraseToRight();\n } else if (arg == 1) {\n this.terminal.eraseToLeft();\n } else if (arg == 2) {\n this.terminal.eraseLine();\n }\n};\n\n/**\n * Insert Lines (IL).\n */\nhterm.VT.CSI['L'] = function(parseState) {\n this.terminal.insertLines(parseState.iarg(0, 1));\n};\n\n/**\n * Delete Lines (DL).\n */\nhterm.VT.CSI['M'] = function(parseState) {\n this.terminal.deleteLines(parseState.iarg(0, 1));\n};\n\n/**\n * Delete Characters (DCH).\n *\n * This command shifts the line contents left, starting at the cursor position.\n */\nhterm.VT.CSI['P'] = function(parseState) {\n this.terminal.deleteChars(parseState.iarg(0, 1));\n};\n\n/**\n * Scroll Up (SU).\n */\nhterm.VT.CSI['S'] = function(parseState) {\n this.terminal.vtScrollUp(parseState.iarg(0, 1));\n};\n\n/**\n * Scroll Down (SD).\n * Also 'Initiate highlight mouse tracking'. Will not implement this part.\n */\nhterm.VT.CSI['T'] = function(parseState) {\n if (parseState.args.length <= 1)\n this.terminal.vtScrollDown(parseState.iarg(0, 1));\n};\n\n/**\n * Reset one or more features of the title modes to the default value.\n *\n * ESC [ > Ps T\n *\n * Normally, \"reset\" disables the feature. It is possible to disable the\n * ability to reset features by compiling a different default for the title\n * modes into xterm.\n *\n * Ps values:\n * 0 - Do not set window/icon labels using hexadecimal.\n * 1 - Do not query window/icon labels using hexadecimal.\n * 2 - Do not set window/icon labels using UTF-8.\n * 3 - Do not query window/icon labels using UTF-8.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>T'] = hterm.VT.ignore;\n\n/**\n * Erase Characters (ECH).\n */\nhterm.VT.CSI['X'] = function(parseState) {\n this.terminal.eraseToRight(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Backward Tabulation (CBT).\n */\nhterm.VT.CSI['Z'] = function(parseState) {\n var count = parseState.iarg(0, 1);\n count = lib.f.clamp(count, 1, this.terminal.screenSize.width);\n for (var i = 0; i < count; i++) {\n this.terminal.backwardTabStop();\n }\n};\n\n/**\n * Character Position Absolute (HPA).\n *\n * Same as Cursor Character Absolute (CHA).\n */\nhterm.VT.CSI['`'] = hterm.VT.CSI['G'];\n\n/**\n * Character Position Relative (HPR).\n */\nhterm.VT.CSI['a'] = function(parseState) {\n this.terminal.setCursorColumn(this.terminal.getCursorColumn() +\n parseState.iarg(0, 1));\n};\n\n/**\n * Repeat the preceding graphic character.\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['b'] = hterm.VT.ignore;\n\n/**\n * Send Device Attributes (Primary DA).\n *\n * TODO(rginda): This is hardcoded to send back 'VT100 with Advanced Video\n * Option', but it may be more correct to send a VT220 response once\n * we fill out the 'Not currently implemented' parts.\n */\nhterm.VT.CSI['c'] = function(parseState) {\n if (!parseState.args[0] || parseState.args[0] == 0) {\n this.terminal.io.sendString('\\x1b[?1;2c');\n }\n};\n\n/**\n * Send Device Attributes (Secondary DA).\n *\n * TODO(rginda): This is hardcoded to send back 'VT100' but it may be more\n * correct to send a VT220 response once we fill out more 'Not currently\n * implemented' parts.\n */\nhterm.VT.CSI['>c'] = function(parseState) {\n this.terminal.io.sendString('\\x1b[>0;256;0c');\n};\n\n/**\n * Line Position Absolute (VPA).\n */\nhterm.VT.CSI['d'] = function(parseState) {\n this.terminal.setAbsoluteCursorRow(parseState.iarg(0, 1) - 1);\n};\n\n/**\n * Horizontal and Vertical Position (HVP).\n *\n * Same as Cursor Position (CUP).\n */\nhterm.VT.CSI['f'] = hterm.VT.CSI['H'];\n\n/**\n * Tab Clear (TBC).\n */\nhterm.VT.CSI['g'] = function(parseState) {\n if (!parseState.args[0] || parseState.args[0] == 0) {\n // Clear tab stop at cursor.\n this.terminal.clearTabStopAtCursor(false);\n } else if (parseState.args[0] == 3) {\n // Clear all tab stops.\n this.terminal.clearAllTabStops();\n }\n};\n\n/**\n * Set Mode (SM).\n */\nhterm.VT.CSI['h'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setANSIMode(parseState.args[i], true);\n }\n};\n\n/**\n * DEC Private Mode Set (DECSET).\n */\nhterm.VT.CSI['?h'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setDECMode(parseState.args[i], true);\n }\n};\n\n/**\n * Media Copy (MC).\n * Media Copy (MC, DEC Specific).\n *\n * These commands control the printer. Will not implement.\n */\nhterm.VT.CSI['i'] =\nhterm.VT.CSI['?i'] = hterm.VT.ignore;\n\n/**\n * Reset Mode (RM).\n */\nhterm.VT.CSI['l'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setANSIMode(parseState.args[i], false);\n }\n};\n\n/**\n * DEC Private Mode Reset (DECRST).\n */\nhterm.VT.CSI['?l'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setDECMode(parseState.args[i], false);\n }\n};\n\n/**\n * Character Attributes (SGR).\n *\n * Iterate through the list of arguments, applying the attribute changes based\n * on the argument value...\n */\nhterm.VT.CSI['m'] = function(parseState) {\n function get256(i) {\n if (parseState.args.length < i + 2 || parseState.args[i + 1] != 5)\n return null;\n\n return parseState.iarg(i + 2, 0);\n }\n\n function getTrueColor(i) {\n if (parseState.args.length < i + 5 || parseState.args[i + 1] != 2)\n return null;\n var r = parseState.iarg(i + 2, 0);\n var g = parseState.iarg(i + 3, 0);\n var b = parseState.iarg(i + 4, 0);\n\n return 'rgb(' + r + ' ,' + g + ' ,' + b + ')';\n }\n\n var attrs = this.terminal.getTextAttributes();\n\n if (!parseState.args.length) {\n attrs.reset();\n return;\n }\n\n for (var i = 0; i < parseState.args.length; i++) {\n var arg = parseState.iarg(i, 0);\n\n if (arg < 30) {\n if (arg == 0) { // Normal (default).\n attrs.reset();\n } else if (arg == 1) { // Bold.\n attrs.bold = true;\n } else if (arg == 2) { // Faint.\n attrs.faint = true;\n } else if (arg == 3) { // Italic.\n attrs.italic = true;\n } else if (arg == 4) { // Underline.\n attrs.underline = true;\n } else if (arg == 5) { // Blink.\n attrs.blink = true;\n } else if (arg == 7) { // Inverse.\n attrs.inverse = true;\n } else if (arg == 8) { // Invisible.\n attrs.invisible = true;\n } else if (arg == 9) { // Crossed out.\n attrs.strikethrough = true;\n } else if (arg == 22) { // Not bold & not faint.\n attrs.bold = false;\n attrs.faint = false;\n } else if (arg == 23) { // Not italic.\n attrs.italic = false;\n } else if (arg == 24) { // Not underlined.\n attrs.underline = false;\n } else if (arg == 25) { // Not blink.\n attrs.blink = false;\n } else if (arg == 27) { // Steady.\n attrs.inverse = false;\n } else if (arg == 28) { // Visible.\n attrs.invisible = false;\n } else if (arg == 29) { // Not crossed out.\n attrs.strikethrough = false;\n }\n\n } else if (arg < 50) {\n // Select fore/background color from bottom half of 16 color palette\n // or from the 256 color palette or alternative specify color in fully\n // qualified rgb(r, g, b) form.\n if (arg < 38) {\n attrs.foregroundSource = arg - 30;\n\n } else if (arg == 38) {\n // First check for true color definition\n var trueColor = getTrueColor(i);\n if (trueColor != null) {\n attrs.foregroundSource = attrs.SRC_RGB;\n attrs.foreground = trueColor;\n\n i += 5;\n } else {\n // Check for 256 color\n var c = get256(i);\n if (c == null)\n break;\n\n i += 2;\n\n if (c >= attrs.colorPalette.length)\n continue;\n\n attrs.foregroundSource = c;\n }\n\n } else if (arg == 39) {\n attrs.foregroundSource = attrs.SRC_DEFAULT;\n\n } else if (arg < 48) {\n attrs.backgroundSource = arg - 40;\n\n } else if (arg == 48) {\n // First check for true color definition\n var trueColor = getTrueColor(i);\n if (trueColor != null) {\n attrs.backgroundSource = attrs.SRC_RGB;\n attrs.background = trueColor;\n\n i += 5;\n } else {\n // Check for 256 color\n var c = get256(i);\n if (c == null)\n break;\n\n i += 2;\n\n if (c >= attrs.colorPalette.length)\n continue;\n\n attrs.backgroundSource = c;\n }\n } else {\n attrs.backgroundSource = attrs.SRC_DEFAULT;\n }\n\n } else if (arg >= 90 && arg <= 97) {\n attrs.foregroundSource = arg - 90 + 8;\n\n } else if (arg >= 100 && arg <= 107) {\n attrs.backgroundSource = arg - 100 + 8;\n }\n }\n\n attrs.setDefaults(this.terminal.getForegroundColor(),\n this.terminal.getBackgroundColor());\n};\n\n/**\n * Set xterm-specific keyboard modes.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>m'] = hterm.VT.ignore;\n\n/**\n * Device Status Report (DSR, DEC Specific).\n *\n * 5 - Status Report. Result (OK) is CSI 0 n\n * 6 - Report Cursor Position (CPR) [row;column]. Result is CSI r ; c R\n */\nhterm.VT.CSI['n'] = function(parseState) {\n if (parseState.args[0] == 5) {\n this.terminal.io.sendString('\\x1b0n');\n } else if (parseState.args[0] == 6) {\n var row = this.terminal.getCursorRow() + 1;\n var col = this.terminal.getCursorColumn() + 1;\n this.terminal.io.sendString('\\x1b[' + row + ';' + col + 'R');\n }\n};\n\n/**\n * Disable modifiers which may be enabled via CSI['>m'].\n *\n * Will not implement.\n */\nhterm.VT.CSI['>n'] = hterm.VT.ignore;\n\n/**\n * Device Status Report (DSR, DEC Specific).\n *\n * 6 - Report Cursor Position (CPR) [row;column] as CSI ? r ; c R\n * 15 - Report Printer status as CSI ? 1 0 n (ready) or\n * CSI ? 1 1 n (not ready).\n * 25 - Report UDK status as CSI ? 2 0 n (unlocked) or CSI ? 2 1 n (locked).\n * 26 - Report Keyboard status as CSI ? 2 7 ; 1 ; 0 ; 0 n (North American).\n * The last two parameters apply to VT400 & up, and denote keyboard ready\n * and LK01 respectively.\n * 53 - Report Locator status as CSI ? 5 3 n Locator available, if compiled-in,\n * or CSI ? 5 0 n No Locator, if not.\n */\nhterm.VT.CSI['?n'] = function(parseState) {\n if (parseState.args[0] == 6) {\n var row = this.terminal.getCursorRow() + 1;\n var col = this.terminal.getCursorColumn() + 1;\n this.terminal.io.sendString('\\x1b[' + row + ';' + col + 'R');\n } else if (parseState.args[0] == 15) {\n this.terminal.io.sendString('\\x1b[?11n');\n } else if (parseState.args[0] == 25) {\n this.terminal.io.sendString('\\x1b[?21n');\n } else if (parseState.args[0] == 26) {\n this.terminal.io.sendString('\\x1b[?12;1;0;0n');\n } else if (parseState.args[0] == 53) {\n this.terminal.io.sendString('\\x1b[?50n');\n }\n};\n\n/**\n * This is used by xterm to decide whether to hide the pointer cursor as the\n * user types.\n *\n * Valid values for the parameter:\n * 0 - Never hide the pointer.\n * 1 - Hide if the mouse tracking mode is not enabled.\n * 2 - Always hide the pointer.\n *\n * If no parameter is given, xterm uses the default, which is 1.\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['>p'] = hterm.VT.ignore;\n\n/**\n * Soft terminal reset (DECSTR).\n */\nhterm.VT.CSI['!p'] = function() {\n this.reset();\n this.terminal.softReset();\n};\n\n/**\n * Request ANSI Mode (DECRQM).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['$p'] = hterm.VT.ignore;\nhterm.VT.CSI['?$p'] = hterm.VT.ignore;\n\n/**\n * Set conformance level (DECSCL).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\"p'] = hterm.VT.ignore;\n\n/**\n * Load LEDs (DECLL).\n *\n * Not currently implemented. Could be implemented as virtual LEDs overlaying\n * the terminal if anyone cares.\n */\nhterm.VT.CSI['q'] = hterm.VT.ignore;\n\n/**\n * Set cursor style (DECSCUSR, VT520).\n */\nhterm.VT.CSI[' q'] = function(parseState) {\n var arg = parseState.args[0];\n\n if (arg == 0 || arg == 1) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n this.terminal.setCursorBlink(true);\n } else if (arg == 2) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n this.terminal.setCursorBlink(false);\n } else if (arg == 3) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n this.terminal.setCursorBlink(true);\n } else if (arg == 4) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n this.terminal.setCursorBlink(false);\n } else if (arg == 5) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n this.terminal.setCursorBlink(true);\n } else if (arg == 6) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n this.terminal.setCursorBlink(false);\n } else {\n console.warn('Unknown cursor style: ' + arg);\n }\n};\n\n/**\n * Select character protection attribute (DECSCA).\n *\n * Will not implement.\n */\nhterm.VT.CSI['\"q'] = hterm.VT.ignore;\n\n/**\n * Set Scrolling Region (DECSTBM).\n */\nhterm.VT.CSI['r'] = function(parseState) {\n var args = parseState.args;\n var scrollTop = args[0] ? parseInt(args[0], 10) -1 : null;\n var scrollBottom = args[1] ? parseInt(args[1], 10) - 1 : null;\n this.terminal.setVTScrollRegion(scrollTop, scrollBottom);\n this.terminal.setCursorPosition(0, 0);\n};\n\n/**\n * Restore DEC Private Mode Values.\n *\n * Will not implement.\n */\nhterm.VT.CSI['?r'] = hterm.VT.ignore;\n\n/**\n * Change Attributes in Rectangular Area (DECCARA)\n *\n * Will not implement.\n */\nhterm.VT.CSI['$r'] = hterm.VT.ignore;\n\n/**\n * Save cursor (ANSI.SYS)\n */\nhterm.VT.CSI['s'] = function() {\n this.savedState_.save();\n};\n\n/**\n * Save DEC Private Mode Values.\n *\n * Will not implement.\n */\nhterm.VT.CSI['?s'] = hterm.VT.ignore;\n\n/**\n * Window manipulation (from dtterm, as well as extensions).\n *\n * Will not implement.\n */\nhterm.VT.CSI['t'] = hterm.VT.ignore;\n\n/**\n * Reverse Attributes in Rectangular Area (DECRARA).\n *\n * Will not implement.\n */\nhterm.VT.CSI['$t'] = hterm.VT.ignore;\n\n/**\n * Set one or more features of the title modes.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>t'] = hterm.VT.ignore;\n\n/**\n * Set warning-bell volume (DECSWBV, VT520).\n *\n * Will not implement.\n */\nhterm.VT.CSI[' t'] = hterm.VT.ignore;\n\n/**\n * Restore cursor (ANSI.SYS).\n */\nhterm.VT.CSI['u'] = function() {\n this.savedState_.restore();\n};\n\n/**\n * Set margin-bell volume (DECSMBV, VT520).\n *\n * Will not implement.\n */\nhterm.VT.CSI[' u'] = hterm.VT.ignore;\n\n/**\n * Copy Rectangular Area (DECCRA, VT400 and up).\n *\n * Will not implement.\n */\nhterm.VT.CSI['$v'] = hterm.VT.ignore;\n\n/**\n * Enable Filter Rectangle (DECEFR).\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'w'] = hterm.VT.ignore;\n\n/**\n * Request Terminal Parameters (DECREQTPARM).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['x'] = hterm.VT.ignore;\n\n/**\n * Select Attribute Change Extent (DECSACE).\n *\n * Will not implement.\n */\nhterm.VT.CSI['*x'] = hterm.VT.ignore;\n\n/**\n * Fill Rectangular Area (DECFRA), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['$x'] = hterm.VT.ignore;\n\n/**\n * vt_tiledata (as used by NAOhack and UnNetHack)\n * (see https://nethackwiki.com/wiki/Vt_tiledata for more info)\n *\n * Implemented as far as we care (start a glyph and end a glyph).\n */\nhterm.VT.CSI['z'] = function(parseState) {\n if (parseState.args.length < 1)\n return;\n var arg = parseState.args[0];\n if (arg == 0) {\n // Start a glyph (one parameter, the glyph number).\n if (parseState.args.length < 2)\n return;\n this.terminal.getTextAttributes().tileData = parseState.args[1];\n } else if (arg == 1) {\n // End a glyph.\n this.terminal.getTextAttributes().tileData = null;\n }\n};\n\n/**\n * Enable Locator Reporting (DECELR).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'z'] = hterm.VT.ignore;\n\n/**\n * Erase Rectangular Area (DECERA), VT400 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['$z'] = hterm.VT.ignore;\n\n/**\n * Select Locator Events (DECSLE).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'{'] = hterm.VT.ignore;\n\n/**\n * Request Locator Position (DECRQLP).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'|'] = hterm.VT.ignore;\n\n/**\n * Insert Columns (DECIC), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'}'] = hterm.VT.ignore;\n\n/**\n * Delete P s Columns (DECDC), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'~'] = hterm.VT.ignore;\n// SOURCE FILE: hterm/js/hterm_vt_character_map.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f');\n\n/**\n * Character map object.\n *\n * Mapping from received to display character, used depending on the active\n * VT character set.\n *\n * GR maps are not currently supported.\n *\n * @param {string} description A human readable description of this map.\n * @param {Object} glmap The GL mapping from input to output characters.\n */\nhterm.VT.CharacterMap = function(description, glmap) {\n /**\n * Short description for this character set, useful for debugging.\n */\n this.description = description;\n\n /**\n * The function to call to when this map is installed in GL.\n */\n this.GL = null;\n\n // Always keep an unmodified reference to the map.\n // This allows us to sanely reset back to the original state.\n this.glmapBase_ = glmap;\n\n // Now sync the internal state as needed.\n this.sync_();\n};\n\n/**\n * Internal helper for resyncing internal state.\n *\n * Used when the mappings change.\n *\n * @param {Object?} opt_glmap Additional mappings to overlay on top of the\n * base mapping.\n */\nhterm.VT.CharacterMap.prototype.sync_ = function(opt_glmap) {\n // If there are no maps, then reset the state back.\n if (!this.glmapBase_ && !opt_glmap) {\n this.GL = null;\n delete this.glmap_;\n delete this.glre_;\n return;\n }\n\n // Set the the GL mapping. If we're given a custom mapping, then create a\n // new object to hold the merged map. This way we can cleanly reset back.\n if (opt_glmap)\n this.glmap_ = Object.assign({}, this.glmapBase_, opt_glmap);\n else\n this.glmap_ = this.glmapBase_;\n\n var glchars = Object.keys(this.glmap_).map((key) =>\n '\\\\x' + lib.f.zpad(key.charCodeAt(0).toString(16)));\n this.glre_ = new RegExp('[' + glchars.join('') + ']', 'g');\n\n this.GL = (str) => str.replace(this.glre_, (ch) => this.glmap_[ch]);\n};\n\n/**\n * Reset map back to original mappings (discarding runtime updates).\n *\n * Specifically, any calls to setOverrides will be discarded.\n */\nhterm.VT.CharacterMap.prototype.reset = function() {\n // If we haven't been given a custom mapping, then there's nothing to reset.\n if (this.glmap_ !== this.glmapBase_)\n this.sync_();\n};\n\n/**\n * Merge custom changes to this map.\n *\n * The input map need not duplicate the existing mappings as it is merged with\n * the existing base map (what was created with). Subsequent calls to this\n * will throw away previous override settings.\n *\n * @param {Object} glmap The custom map to override existing mappings.\n */\nhterm.VT.CharacterMap.prototype.setOverrides = function(glmap) {\n this.sync_(glmap);\n};\n\n/**\n * Return a copy of this mapping.\n *\n * @return {hterm.VT.CharacterMap} A new hterm.VT.CharacterMap instance.\n */\nhterm.VT.CharacterMap.prototype.clone = function() {\n var map = new hterm.VT.CharacterMap(this.description, this.glmapBase_);\n if (this.glmap_ !== this.glmapBase_)\n map.setOverrides(this.glmap_);\n return map;\n};\n\n/**\n * Table of character maps.\n */\nhterm.VT.CharacterMaps = function() {\n this.maps_ = hterm.VT.CharacterMaps.DefaultMaps;\n\n // Always keep an unmodified reference to the map.\n // This allows us to sanely reset back to the original state.\n this.mapsBase_ = this.maps_;\n};\n\n/**\n * Look up a previously registered map.\n *\n * @param {String} name The name of the map to lookup.\n * @return {hterm.VT.CharacterMap} The map, if it's been registered.\n */\nhterm.VT.CharacterMaps.prototype.getMap = function(name) {\n if (this.maps_.hasOwnProperty(name))\n return this.maps_[name];\n else\n return undefined;\n};\n\n/**\n * Register a new map.\n *\n * Any previously registered maps by this name will be discarded.\n *\n * @param {String} name The name of the map.\n * @param {hterm.VT.CharacterMap} map The map to register.\n */\nhterm.VT.CharacterMaps.prototype.addMap = function(name, map) {\n if (this.maps_ === this.mapsBase_)\n this.maps_ = Object.assign({}, this.mapsBase_);\n this.maps_[name] = map;\n};\n\n/**\n * Reset the table and all its maps back to original state.\n */\nhterm.VT.CharacterMaps.prototype.reset = function() {\n if (this.maps_ !== hterm.VT.CharacterMaps.DefaultMaps)\n this.maps_ = hterm.VT.CharacterMaps.DefaultMaps;\n};\n\n/**\n * Merge custom changes to this table.\n *\n * @param {Object} maps A set of hterm.VT.CharacterMap objects.\n */\nhterm.VT.CharacterMaps.prototype.setOverrides = function(maps) {\n if (this.maps_ === this.mapsBase_)\n this.maps_ = Object.assign({}, this.mapsBase_);\n\n for (var name in maps) {\n var map = this.getMap(name);\n if (map !== undefined) {\n this.maps_[name] = map.clone();\n this.maps_[name].setOverrides(maps[name]);\n } else\n this.addMap(name, new hterm.VT.CharacterMap('user ' + name, maps[name]));\n }\n};\n\n/**\n * The default set of supported character maps.\n */\nhterm.VT.CharacterMaps.DefaultMaps = {};\n\n/**\n * VT100 Graphic character map.\n * http://vt100.net/docs/vt220-rm/table2-4.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['0'] = new hterm.VT.CharacterMap(\n 'graphic', {\n '\\x60':'\\u25c6', // ` -> diamond\n '\\x61':'\\u2592', // a -> grey-box\n '\\x62':'\\u2409', // b -> h/t\n '\\x63':'\\u240c', // c -> f/f\n '\\x64':'\\u240d', // d -> c/r\n '\\x65':'\\u240a', // e -> l/f\n '\\x66':'\\u00b0', // f -> degree\n '\\x67':'\\u00b1', // g -> +/-\n '\\x68':'\\u2424', // h -> n/l\n '\\x69':'\\u240b', // i -> v/t\n '\\x6a':'\\u2518', // j -> bottom-right\n '\\x6b':'\\u2510', // k -> top-right\n '\\x6c':'\\u250c', // l -> top-left\n '\\x6d':'\\u2514', // m -> bottom-left\n '\\x6e':'\\u253c', // n -> line-cross\n '\\x6f':'\\u23ba', // o -> scan1\n '\\x70':'\\u23bb', // p -> scan3\n '\\x71':'\\u2500', // q -> scan5\n '\\x72':'\\u23bc', // r -> scan7\n '\\x73':'\\u23bd', // s -> scan9\n '\\x74':'\\u251c', // t -> left-tee\n '\\x75':'\\u2524', // u -> right-tee\n '\\x76':'\\u2534', // v -> bottom-tee\n '\\x77':'\\u252c', // w -> top-tee\n '\\x78':'\\u2502', // x -> vertical-line\n '\\x79':'\\u2264', // y -> less-equal\n '\\x7a':'\\u2265', // z -> greater-equal\n '\\x7b':'\\u03c0', // { -> pi\n '\\x7c':'\\u2260', // | -> not-equal\n '\\x7d':'\\u00a3', // } -> british-pound\n '\\x7e':'\\u00b7', // ~ -> dot\n });\n\n/**\n * British character map.\n * http://vt100.net/docs/vt220-rm/table2-5.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['A'] = new hterm.VT.CharacterMap(\n 'british', {\n '\\x23': '\\u00a3', // # -> british-pound\n });\n\n/**\n * US ASCII map, no changes.\n */\nhterm.VT.CharacterMaps.DefaultMaps['B'] = new hterm.VT.CharacterMap(\n 'us', null);\n\n/**\n * Dutch character map.\n * http://vt100.net/docs/vt220-rm/table2-6.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['4'] = new hterm.VT.CharacterMap(\n 'dutch', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00be', // @ -> 3/4\n\n '\\x5b': '\\u0132', // [ -> 'ij' ligature (xterm goes with \\u00ff?)\n '\\x5c': '\\u00bd', // \\ -> 1/2\n '\\x5d': '\\u007c', // ] -> vertical bar\n\n '\\x7b': '\\u00a8', // { -> two dots\n '\\x7c': '\\u0066', // | -> f\n '\\x7d': '\\u00bc', // } -> 1/4\n '\\x7e': '\\u00b4', // ~ -> acute\n });\n\n/**\n * Finnish character map.\n * http://vt100.net/docs/vt220-rm/table2-7.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['C'] =\nhterm.VT.CharacterMaps.DefaultMaps['5'] = new hterm.VT.CharacterMap(\n 'finnish', {\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ~ -> 'u' umlaut\n\n '\\x60': '\\u00e9', // ` -> 'e' acute\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * French character map.\n * http://vt100.net/docs/vt220-rm/table2-8.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['R'] = new hterm.VT.CharacterMap(\n 'french', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00b0', // [ -> ring\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00a7', // ] -> section symbol (double s)\n\n '\\x7b': '\\u00e9', // { -> 'e' acute\n '\\x7c': '\\u00f9', // | -> 'u' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00a8', // ~ -> umlaut\n });\n\n/**\n * French Canadian character map.\n * http://vt100.net/docs/vt220-rm/table2-9.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Q'] = new hterm.VT.CharacterMap(\n 'french canadian', {\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00e2', // [ -> 'a' circumflex\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00ea', // ] -> 'e' circumflex\n '\\x5e': '\\u00ee', // ^ -> 'i' circumflex\n\n '\\x60': '\\u00f4', // ` -> 'o' circumflex\n\n '\\x7b': '\\u00e9', // { -> 'e' acute\n '\\x7c': '\\u00f9', // | -> 'u' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00fb', // ~ -> 'u' circumflex\n });\n\n/**\n * German character map.\n * http://vt100.net/docs/vt220-rm/table2-10.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['K'] = new hterm.VT.CharacterMap(\n 'german', {\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00dc', // ] -> 'U' umlaut\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00fc', // } -> 'u' umlaut\n '\\x7e': '\\u00df', // ~ -> eszett\n });\n\n/**\n * Italian character map.\n * http://vt100.net/docs/vt220-rm/table2-11.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Y'] = new hterm.VT.CharacterMap(\n 'italian', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00b0', // [ -> ring\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00e9', // ] -> 'e' acute\n\n '\\x60': '\\u00f9', // ` -> 'u' grave\n\n '\\x7b': '\\u00e0', // { -> 'a' grave\n '\\x7c': '\\u00f2', // | -> 'o' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00ec', // ~ -> 'i' grave\n });\n\n/**\n * Norwegian/Danish character map.\n * http://vt100.net/docs/vt220-rm/table2-12.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['E'] =\nhterm.VT.CharacterMaps.DefaultMaps['6'] = new hterm.VT.CharacterMap(\n 'norwegian/danish', {\n '\\x40': '\\u00c4', // @ -> 'A' umlaut\n\n '\\x5b': '\\u00c6', // [ -> 'AE' ligature\n '\\x5c': '\\u00d8', // \\ -> 'O' stroke\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ^ -> 'U' umlaut\n\n '\\x60': '\\u00e4', // ` -> 'a' umlaut\n\n '\\x7b': '\\u00e6', // { -> 'ae' ligature\n '\\x7c': '\\u00f8', // | -> 'o' stroke\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * Spanish character map.\n * http://vt100.net/docs/vt220-rm/table2-13.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Z'] = new hterm.VT.CharacterMap(\n 'spanish', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00a1', // [ -> '!' inverted\n '\\x5c': '\\u00d1', // \\ -> 'N' tilde\n '\\x5d': '\\u00bf', // ] -> '?' inverted\n\n '\\x7b': '\\u00b0', // { -> ring\n '\\x7c': '\\u00f1', // | -> 'n' tilde\n '\\x7d': '\\u00e7', // } -> 'c' cedilla\n });\n\n/**\n * Swedish character map.\n * http://vt100.net/docs/vt220-rm/table2-14.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['7'] =\nhterm.VT.CharacterMaps.DefaultMaps['H'] = new hterm.VT.CharacterMap(\n 'swedish', {\n '\\x40': '\\u00c9', // @ -> 'E' acute\n\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ^ -> 'U' umlaut\n\n '\\x60': '\\u00e9', // ` -> 'e' acute\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * Swiss character map.\n * http://vt100.net/docs/vt220-rm/table2-15.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['='] = new hterm.VT.CharacterMap(\n 'swiss', {\n '\\x23': '\\u00f9', // # -> 'u' grave\n\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00e9', // [ -> 'e' acute\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00ea', // ] -> 'e' circumflex\n '\\x5e': '\\u00ee', // ^ -> 'i' circumflex\n '\\x5f': '\\u00e8', // _ -> 'e' grave\n\n '\\x60': '\\u00f4', // ` -> 'o' circumflex\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00fc', // } -> 'u' umlaut\n '\\x7e': '\\u00fb', // ~ -> 'u' circumflex\n });\nlib.resource.add('hterm/audio/bell', 'audio/ogg;base64',\n'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' +\n'zinmkFLKMeUcUko5p5xTzjkIHYTKMQadgxAppRxTzinHHITMQeWcg9BBKAAAIMABACDAQig0ZEUA' +\n'ECcA4HAkz5M0SxQlSxNFzxRl1xNN15U0zTQ1UVRVyxNV1VRV2xZNVbYlTRNNTfRUVRNFVRVV05ZN' +\n'VbVtzzRl2VRV3RZV1bZl2xZ+V5Z13zNNWRZV1dZNVbV115Z9X9ZtXZg0zTQ1UVRVTRRV1VRV2zZV' +\n'17Y1UXRVUVVlWVRVWXZlWfdVV9Z9SxRV1VNN2RVVVbZV2fVtVZZ94XRVXVdl2fdVWRZ+W9eF4fZ9' +\n'4RhV1dZN19V1VZZ9YdZlYbd13yhpmmlqoqiqmiiqqqmqtm2qrq1bouiqoqrKsmeqrqzKsq+rrmzr' +\n'miiqrqiqsiyqqiyrsqz7qizrtqiquq3KsrCbrqvrtu8LwyzrunCqrq6rsuz7qizruq3rxnHrujB8' +\n'pinLpqvquqm6um7runHMtm0co6rqvirLwrDKsu/rui+0dSFRVXXdlF3jV2VZ921fd55b94WybTu/' +\n'rfvKceu60vg5z28cubZtHLNuG7+t+8bzKz9hOI6lZ5q2baqqrZuqq+uybivDrOtCUVV9XZVl3zdd' +\n'WRdu3zeOW9eNoqrquirLvrDKsjHcxm8cuzAcXds2jlvXnbKtC31jyPcJz2vbxnH7OuP2daOvDAnH' +\n'jwAAgAEHAIAAE8pAoSErAoA4AQAGIecUUxAqxSB0EFLqIKRUMQYhc05KxRyUUEpqIZTUKsYgVI5J' +\n'yJyTEkpoKZTSUgehpVBKa6GU1lJrsabUYu0gpBZKaS2U0lpqqcbUWowRYxAy56RkzkkJpbQWSmkt' +\n'c05K56CkDkJKpaQUS0otVsxJyaCj0kFIqaQSU0mptVBKa6WkFktKMbYUW24x1hxKaS2kEltJKcYU' +\n'U20txpojxiBkzknJnJMSSmktlNJa5ZiUDkJKmYOSSkqtlZJSzJyT0kFIqYOOSkkptpJKTKGU1kpK' +\n'sYVSWmwx1pxSbDWU0lpJKcaSSmwtxlpbTLV1EFoLpbQWSmmttVZraq3GUEprJaUYS0qxtRZrbjHm' +\n'GkppraQSW0mpxRZbji3GmlNrNabWam4x5hpbbT3WmnNKrdbUUo0txppjbb3VmnvvIKQWSmktlNJi' +\n'ai3G1mKtoZTWSiqxlZJabDHm2lqMOZTSYkmpxZJSjC3GmltsuaaWamwx5ppSi7Xm2nNsNfbUWqwt' +\n'xppTS7XWWnOPufVWAADAgAMAQIAJZaDQkJUAQBQAAEGIUs5JaRByzDkqCULMOSepckxCKSlVzEEI' +\n'JbXOOSkpxdY5CCWlFksqLcVWaykptRZrLQAAoMABACDABk2JxQEKDVkJAEQBACDGIMQYhAYZpRiD' +\n'0BikFGMQIqUYc05KpRRjzknJGHMOQioZY85BKCmEUEoqKYUQSkklpQIAAAocAAACbNCUWByg0JAV' +\n'AUAUAABgDGIMMYYgdFQyKhGETEonqYEQWgutddZSa6XFzFpqrbTYQAithdYySyXG1FpmrcSYWisA' +\n'AOzAAQDswEIoNGQlAJAHAEAYoxRjzjlnEGLMOegcNAgx5hyEDirGnIMOQggVY85BCCGEzDkIIYQQ' +\n'QuYchBBCCKGDEEIIpZTSQQghhFJK6SCEEEIppXQQQgihlFIKAAAqcAAACLBRZHOCkaBCQ1YCAHkA' +\n'AIAxSjkHoZRGKcYglJJSoxRjEEpJqXIMQikpxVY5B6GUlFrsIJTSWmw1dhBKaS3GWkNKrcVYa64h' +\n'pdZirDXX1FqMteaaa0otxlprzbkAANwFBwCwAxtFNicYCSo0ZCUAkAcAgCCkFGOMMYYUYoox55xD' +\n'CCnFmHPOKaYYc84555RijDnnnHOMMeecc845xphzzjnnHHPOOeecc44555xzzjnnnHPOOeecc845' +\n'55xzzgkAACpwAAAIsFFkc4KRoEJDVgIAqQAAABFWYowxxhgbCDHGGGOMMUYSYowxxhhjbDHGGGOM' +\n'McaYYowxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHG' +\n'GFtrrbXWWmuttdZaa6211lprrQBAvwoHAP8HG1ZHOCkaCyw0ZCUAEA4AABjDmHOOOQYdhIYp6KSE' +\n'DkIIoUNKOSglhFBKKSlzTkpKpaSUWkqZc1JSKiWlllLqIKTUWkottdZaByWl1lJqrbXWOgiltNRa' +\n'a6212EFIKaXWWostxlBKSq212GKMNYZSUmqtxdhirDGk0lJsLcYYY6yhlNZaazHGGGstKbXWYoy1' +\n'xlprSam11mKLNdZaCwDgbnAAgEiwcYaVpLPC0eBCQ1YCACEBAARCjDnnnHMQQgghUoox56CDEEII' +\n'IURKMeYcdBBCCCGEjDHnoIMQQgghhJAx5hx0EEIIIYQQOucchBBCCKGEUkrnHHQQQgghlFBC6SCE' +\n'EEIIoYRSSikdhBBCKKGEUkopJYQQQgmllFJKKaWEEEIIoYQSSimllBBCCKWUUkoppZQSQgghlFJK' +\n'KaWUUkIIoZRQSimllFJKCCGEUkoppZRSSgkhhFBKKaWUUkopIYQSSimllFJKKaUAAIADBwCAACPo' +\n'JKPKImw04cIDUGjISgCADAAAcdhq6ynWyCDFnISWS4SQchBiLhFSijlHsWVIGcUY1ZQxpRRTUmvo' +\n'nGKMUU+dY0oxw6yUVkookYLScqy1dswBAAAgCAAwECEzgUABFBjIAIADhAQpAKCwwNAxXAQE5BIy' +\n'CgwKx4Rz0mkDABCEyAyRiFgMEhOqgaJiOgBYXGDIB4AMjY20iwvoMsAFXdx1IIQgBCGIxQEUkICD' +\n'E2544g1PuMEJOkWlDgIAAAAA4AAAHgAAkg0gIiKaOY4Ojw+QEJERkhKTE5QAAAAAALABgA8AgCQF' +\n'iIiIZo6jw+MDJERkhKTE5AQlAAAAAAAAAAAACAgIAAAAAAAEAAAACAhPZ2dTAAQYOwAAAAAAAOGp' +\n'bkoCAAAAmc74DRgyNjM69TAzOTk74dnLubewsbagmZiNp4d0KbsExSY/I3XUTwJgkeZdn1HY4zoj' +\n'33/q9DFtv3Ui1/jmx7lCUtPt18/sYf9MkgAsAGRBd3gMGP4sU+qCPYBy9VrA3YqJosW3W2/ef1iO' +\n'/u3cg8ZG/57jU+pPmbGEJUgkfnaI39DbPqxddZphbMRmCc5rKlkUMkyx8iIoug5dJv1OYH9a59c+' +\n'3Gevqc7Z2XFdDjL/qHztRfjWEWxJ/aiGezjohu9HsCZdQBKbiH0VtU/3m85lDG2T/+xkZcYnX+E+' +\n'aqzv/xTgOoTFG+x7SNqQ4N+oAABSxuVXw77Jd5bmmTmuJakX7509HH0kGYKvARPpwfOSAPySPAc2' +\n'EkneDwB2HwAAJlQDYK5586N79GJCjx4+p6aDUd27XSvRyXLJkIC5YZ1jLv5lpOhZTz0s+DmnF1di' +\n'ptrnM6UDgIW11Xh8cHTd0/SmbgOAdxcyWwMAAGIrZ3fNSfZbzKiYrK4+tPqtnMVLOeWOG2kVvUY+' +\n'p2PJ/hkCl5aFRO4TLGYPZcIU3vYM1hohS4jHFlnyW/2T5J7kGsShXWT8N05V+3C/GPqJ1QdWisGP' +\n'xEzHqXISBPIinWDUt7IeJv/f5OtzBxpTzZZQ+CYEhHXfqG4aABQli72GJhN4oJv+hXcApAJSErAW' +\n'8G2raAX4NUcABnVt77CzZAB+LsHcVe+Q4h+QB1wh/ZrJTPxSBdI8mgTeAdTsQOoFUEng9BHcVPhx' +\n'SRRYkKWZJXOFYP6V4AEripJoEjXgA2wJRZHSExmJDm8F0A6gEXsg5a4ZsALItrMB7+fh7UKLvYWS' +\n'dtsDwFf1mzYzS1F82N1h2Oyt2e76B1QdS0SAsQigLPMOgJS9JRC7hFXA6kUsLFNKD5cA5cTRvgSq' +\n'Pc3Fl99xW3QTi/MHR8DEm6WnvaVQATwRqRKjywQ9BrrhugR2AKTsPQeQckrAOgDOhbTESyrXQ50C' +\n'kNpXdtWjW7W2/3UjeX3U95gIdalfRAoAmqUEiwp53hCdcCwlg47fcbfzlmQMAgaBkh7c+fcDgF+i' +\n'fwDXfzegLPcLYJsAAJQArTXjnh/uXGy3v1Hk3pV6/3t5ruW81f6prfbM2Q3WNVy98BwUtbCwhFhA' +\n'WuPev6Oe/4ZaFQUcgKrVs4defzh1TADA1DEh5b3VlDaECw5b+bPfkKos3tIAue3vJZOih3ga3l6O' +\n'3PSfIkrLv0PAS86PPdL7g8oc2KteNFKKzKRehOv2gJoFLBPXmaXvPBQILgJon0bbWBszrYZYYwE7' +\n'jl2j+vTdU7Vpk21LiU0QajPkywAAHqbUC0/YsYOdb4e6BOp7E0cCi04Ao/TgD8ZVAMid6h/A8IeB' +\n'Nkp6/xsAACZELEYIk+yvI6Qz1NN6lIftB/6IMWjWJNOqPTMedAmyaj6Es0QBklJpiSWWHnQ2CoYb' +\n'GWAmt+0gLQBFKCBnp2QUUQZ/1thtZDBJUpFWY82z34ocorB62oX7qB5y0oPAv/foxH25wVmgIHf2' +\n'xFOr8leZcBq1Kx3ZvCq9Bga639AxuHuPNL/71YCF4EywJpqHFAX6XF0sjVbuANnvvdLcrufYwOM/' +\n'iDa6iA468AYAAB6mNBMXcgTD8HSRqJ4vw8CjAlCEPACASlX/APwPOJKl9xQAAAPmnev2eWp33Xgy' +\n'w3Dvfz6myGk3oyP8YTKsCOvzAgALQi0o1c6Nzs2O2Pg2h4ACIJAgAGP0aNn5x0BDgVfH7u2TtyfD' +\n'cRIuYAyQhBF/lvSRAttgA6TPbWZA9gaUrZWAUEAA+Dx47Q3/r87HxUUqZmB0BmUuMlojFjHt1gDu' +\n'nnvuX8MImsjSq5WkzSzGS62OEIlOufWWezxWpv6FBgDgJVltfXFYtNAAnqU0xQoD0YLiXo5cF5QV' +\n'4CnY1tBLAkZCOABAhbk/AM+/AwSCCdlWAAAMcFjS7owb8GVDzveDiZvznbt2tF4bL5odN1YKl88T' +\n'AEABCZvufq9YCTBtMwVAQUEAwGtNltzSaHvADYC3TxLVjqiRA+OZAMhzcqEgRcAOwoCgvdTxsTHL' +\n'QEF6+oOb2+PAI8ciPQcXg7pOY+LjxQSv2fjmFuj34gGwz310/bGK6z3xgT887eomWULEaDd04wHe' +\n'tYxdjcgV2SxvSwn0VoZXJRqkRC5ASQ/muVoAUsX7AgAQMBNaVwAAlABRxT/1PmfqLqSRNDbhXb07' +\n'berpB3b94jpuWEZjBCD2OcdXFpCKEgCDfcFPMw8AAADUwT4lnUm50lmwrpMMhPQIKj6u0E8fr2vG' +\n'BngMNdIlrZsigjahljud6AFVg+tzXwUnXL3TJLpajaWKA4VAAAAMiFfqJgKAZ08XrtS3dxtQNYcp' +\n'PvYEG8ClvrQRJgBephwnNWJjtGqmp6VEPSvBe7EBiU3qgJbQAwD4Le8LAMDMhHbNAAAlgK+tFs5O' +\n'+YyJc9yCnJa3rxLPulGnxwsXV9Fsk2k4PisCAHC8FkwbGE9gJQAAoMnyksj0CdFMZLLgoz8M+Fxz' +\n'iwYBgIx+zHiCBAKAlBKNpF1sO9JpVcyEi9ar15YlHgrut5fPJnkdJ6vEwZPyAHQBIEDUrlMcBAAd' +\n'2KAS0Qq+JwRsE4AJZtMnAD6GnOYwYlOIZvtzUNdjreB7fiMkWI0CmBB6AIAKc38A9osEFlTSGECB' +\n'+cbeRDC0aRpLHqNPplcK/76Lxn2rpmqyXsYJWRi/FQAAAKBQk9MCAOibrQBQADCDsqpooPutd+05' +\n'Ce9g6iEdiYXgVmQAI4+4wskEBEiBloNQ6Ki0/KTQ0QjWfjxzi+AeuXKoMjEVfQOZzr0y941qLgM2' +\n'AExvbZOqcxZ6J6krlrj4y2j9AdgKDx6GnJsVLhbc42uq584+ouSdNBpoCiCVHrz+WzUA/DDtD8AT' +\n'gA3h0lMCAAzcFv+S+fSSNkeYWlTpb34mf2RfmqqJeMeklhHAfu7VoAEACgAApKRktL+KkQDWMwYC' +\n'UAAAAHCKsp80xhp91UjqQBw3x45cetqkjQEyu3G9B6N+R650Uq8OVig7wOm6Wun0ea4lKDPoabJs' +\n'6aLqgbhPzpv4KR4iODilw88ZpY7q1IOMcbASAOAVtmcCnobcrkG4KGS7/ZnskVWRNF9J0RUHKOnB' +\n'yy9WA8Dv6L4AAARMCQUA4GritfVM2lcZfH3Q3T/vZ47J2YHhcmBazjfdyuV25gLAzrc0cwAAAAAY' +\n'Ch6PdwAAAGyWjFW4yScjaWa2mGcofHxWxewKALglWBpLUvwwk+UOh5eNGyUOs1/EF+pZr+ud5Ozo' +\n'GwYdAABg2p52LiSgAY/ZVlOmilEgHn6G3OcwYjzI7vOj1t6xsx4S3lBY96EUQBF6AIBAmPYH4PoG' +\n'YCoJAADWe+OZJZi7/x76/yH7Lzf9M5XzRKnFPmveMsilQHwVAAAAAKB3LQD8PCIAAADga0QujBLy' +\n'wzeJ4a6Z/ERVBAUlAEDqvoM7BQBAuAguzFqILtmjH3Kd4wfKobnOhA3z85qWoRPm9hwoOHoDAAlC' +\n'bwDAA56FHAuXflHo3fe2ttG9XUDeA9YmYCBQ0oPr/1QC8IvuCwAAApbUAQCK22MmE3O78VAbHQT9' +\n'PIPNoT9zNc3l2Oe7TAVLANBufT8MAQAAAGzT4PS8AQAAoELGHb2uaCwwEv1EWhFriUkbAaAZ27/f' +\n'VZnTZXbWz3BwWpjUaMZKRj7dZ0J//gUeTdpVEwAAZOFsNxKAjQSgA+ABPoY8Jj5y2wje81jsXc/1' +\n'TOQWTDYZBmAkNDiqVwuA2NJ9AQAAEBKAt9Vrsfs/2N19MO91S9rd8EHTZHnzC5MYmfQEACy/FBcA' +\n'AADA5c4gi4z8RANs/m6FNXVo9DV46JG1BBDukqlw/Va5G7QbuGVSI+2aZaoLXJrdVj2zlC9Z5QEA' +\n'EFz/5QzgVZwAAAAA/oXcxyC6WfTu+09Ve/c766J4VTAGUFmA51+VANKi/QPoPwYgYAkA715OH4S0' +\n's5KDHvj99MMq8TPFc3roKZnGOoT1bmIhVgc7XAMBAAAAAMAW1VbQw3gapzOpJd+Kd2fc4iSO62fJ' +\n'v9+movui1wUNPAj059N3OVxzk4gV73PmE8FIA2F5mRq37Evc76vLXfF4rD5UJJAw46hW6LZCb5sN' +\n'Ldx+kzMCAAB+hfy95+965ZCLP7B3/VlTHCvDEKtQhTm4KiCgAEAbrfbWTPssAAAAXpee1tVrozYY' +\n'n41wD1aeYtkKfswN5/SXPO0JDnhO/4laUortv/s412fybe/nONdncoCHnBVliu0CQGBWlPY/5Kwo' +\n'm2L/kruPM6Q7oz4tvDQy+bZ3HzOi+gNHA4DZEgA=' +\n''\n);\n\nlib.resource.add('hterm/images/icon-96', 'image/png;base64',\n'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' +\n'ODoyNC0wNDowMNba8BsAAAAASUVORK5CYII=' +\n''\n);\n\nlib.resource.add('hterm/concat/date', 'text/plain',\n'Tue, 22 Aug 2017 06:42:31 +0000' +\n''\n);\n\nlib.resource.add('hterm/changelog/version', 'text/plain',\n'1.70' +\n''\n);\n\nlib.resource.add('hterm/changelog/date', 'text/plain',\n'2017-08-16' +\n''\n);\n\nlib.resource.add('hterm/git/HEAD', 'text/plain',\n'git rev-parse HEAD' +\n''\n);\n\n// SOURCE FILE: hterm/js/hterm_export.js\nmodule.exports = {\n hterm: hterm,\n lib: lib\n};\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/libapps/hterm/dist/js/hterm_module.js\n// module id = 14\n// module chunks = 0","import { Hterm } from \"./hterm\";\nimport { Xterm } from \"./xterm\";\nimport { Terminal, WebTTY, protocols } from \"./webtty\";\nimport { ConnectionFactory } from \"./websocket\";\n\n// @TODO remove these\ndeclare var gotty_auth_token: string;\ndeclare var gotty_term: string;\n\nconst elem = document.getElementById(\"terminal\")\n\nif (elem !== null) {\n var term: Terminal;\n if (gotty_term == \"hterm\") {\n term = new Hterm(elem);\n } else {\n term = new Xterm(elem);\n }\n const httpsEnabled = window.location.protocol == \"https:\";\n const url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws';\n const args = window.location.search;\n const factory = new ConnectionFactory(url, protocols);\n const wt = new WebTTY(term, factory, args, gotty_auth_token);\n const closer = wt.open();\n\n window.addEventListener(\"unload\", () => {\n closer();\n term.close();\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CompositionHelper = (function () {\n function CompositionHelper(textarea, compositionView, terminal) {\n this.textarea = textarea;\n this.compositionView = compositionView;\n this.terminal = terminal;\n this.isComposing = false;\n this.isSendingComposition = false;\n this.compositionPosition = { start: null, end: null };\n }\n CompositionHelper.prototype.compositionstart = function () {\n this.isComposing = true;\n this.compositionPosition.start = this.textarea.value.length;\n this.compositionView.textContent = '';\n this.compositionView.classList.add('active');\n };\n CompositionHelper.prototype.compositionupdate = function (ev) {\n var _this = this;\n this.compositionView.textContent = ev.data;\n this.updateCompositionElements();\n setTimeout(function () {\n _this.compositionPosition.end = _this.textarea.value.length;\n }, 0);\n };\n CompositionHelper.prototype.compositionend = function () {\n this.finalizeComposition(true);\n };\n CompositionHelper.prototype.keydown = function (ev) {\n if (this.isComposing || this.isSendingComposition) {\n if (ev.keyCode === 229) {\n return false;\n }\n else if (ev.keyCode === 16 || ev.keyCode === 17 || ev.keyCode === 18) {\n return false;\n }\n else {\n this.finalizeComposition(false);\n }\n }\n if (ev.keyCode === 229) {\n this.handleAnyTextareaChanges();\n return false;\n }\n return true;\n };\n CompositionHelper.prototype.finalizeComposition = function (waitForPropogation) {\n var _this = this;\n this.compositionView.classList.remove('active');\n this.isComposing = false;\n this.clearTextareaPosition();\n if (!waitForPropogation) {\n this.isSendingComposition = false;\n var input = this.textarea.value.substring(this.compositionPosition.start, this.compositionPosition.end);\n this.terminal.handler(input);\n }\n else {\n var currentCompositionPosition_1 = {\n start: this.compositionPosition.start,\n end: this.compositionPosition.end,\n };\n this.isSendingComposition = true;\n setTimeout(function () {\n if (_this.isSendingComposition) {\n _this.isSendingComposition = false;\n var input = void 0;\n if (_this.isComposing) {\n input = _this.textarea.value.substring(currentCompositionPosition_1.start, currentCompositionPosition_1.end);\n }\n else {\n input = _this.textarea.value.substring(currentCompositionPosition_1.start);\n }\n _this.terminal.handler(input);\n }\n }, 0);\n }\n };\n CompositionHelper.prototype.handleAnyTextareaChanges = function () {\n var _this = this;\n var oldValue = this.textarea.value;\n setTimeout(function () {\n if (!_this.isComposing) {\n var newValue = _this.textarea.value;\n var diff = newValue.replace(oldValue, '');\n if (diff.length > 0) {\n _this.terminal.handler(diff);\n }\n }\n }, 0);\n };\n CompositionHelper.prototype.updateCompositionElements = function (dontRecurse) {\n var _this = this;\n if (!this.isComposing) {\n return;\n }\n var cursor = this.terminal.element.querySelector('.terminal-cursor');\n if (cursor) {\n var xtermRows = this.terminal.element.querySelector('.xterm-rows');\n var cursorTop = xtermRows.offsetTop + cursor.offsetTop;\n this.compositionView.style.left = cursor.offsetLeft + 'px';\n this.compositionView.style.top = cursorTop + 'px';\n this.compositionView.style.height = cursor.offsetHeight + 'px';\n this.compositionView.style.lineHeight = cursor.offsetHeight + 'px';\n var compositionViewBounds = this.compositionView.getBoundingClientRect();\n this.textarea.style.left = cursor.offsetLeft + 'px';\n this.textarea.style.top = cursorTop + 'px';\n this.textarea.style.width = compositionViewBounds.width + 'px';\n this.textarea.style.height = compositionViewBounds.height + 'px';\n this.textarea.style.lineHeight = compositionViewBounds.height + 'px';\n }\n if (!dontRecurse) {\n setTimeout(function () { return _this.updateCompositionElements(true); }, 0);\n }\n };\n ;\n CompositionHelper.prototype.clearTextareaPosition = function () {\n this.textarea.style.left = '';\n this.textarea.style.top = '';\n };\n ;\n return CompositionHelper;\n}());\nexports.CompositionHelper = CompositionHelper;\n\n//# sourceMappingURL=CompositionHelper.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/CompositionHelper.js\n// module id = 16\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar Charsets_1 = require(\"./Charsets\");\nvar InputHandler = (function () {\n function InputHandler(_terminal) {\n this._terminal = _terminal;\n }\n InputHandler.prototype.addChar = function (char, code) {\n if (char >= ' ') {\n var ch_width = wcwidth(code);\n if (this._terminal.charset && this._terminal.charset[char]) {\n char = this._terminal.charset[char];\n }\n var row = this._terminal.y + this._terminal.ybase;\n if (!ch_width && this._terminal.x) {\n if (this._terminal.lines.get(row)[this._terminal.x - 1]) {\n if (!this._terminal.lines.get(row)[this._terminal.x - 1][2]) {\n if (this._terminal.lines.get(row)[this._terminal.x - 2])\n this._terminal.lines.get(row)[this._terminal.x - 2][1] += char;\n }\n else {\n this._terminal.lines.get(row)[this._terminal.x - 1][1] += char;\n }\n this._terminal.updateRange(this._terminal.y);\n }\n return;\n }\n if (this._terminal.x + ch_width - 1 >= this._terminal.cols) {\n if (this._terminal.wraparoundMode) {\n this._terminal.x = 0;\n this._terminal.y++;\n if (this._terminal.y > this._terminal.scrollBottom) {\n this._terminal.y--;\n this._terminal.scroll(true);\n }\n else {\n this._terminal.lines.get(this._terminal.y).isWrapped = true;\n }\n }\n else {\n if (ch_width === 2)\n return;\n }\n }\n row = this._terminal.y + this._terminal.ybase;\n if (this._terminal.insertMode) {\n for (var moves = 0; moves < ch_width; ++moves) {\n var removed = this._terminal.lines.get(this._terminal.y + this._terminal.ybase).pop();\n if (removed[2] === 0\n && this._terminal.lines.get(row)[this._terminal.cols - 2]\n && this._terminal.lines.get(row)[this._terminal.cols - 2][2] === 2) {\n this._terminal.lines.get(row)[this._terminal.cols - 2] = [this._terminal.curAttr, ' ', 1];\n }\n this._terminal.lines.get(row).splice(this._terminal.x, 0, [this._terminal.curAttr, ' ', 1]);\n }\n }\n this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, char, ch_width];\n this._terminal.x++;\n this._terminal.updateRange(this._terminal.y);\n if (ch_width === 2) {\n this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, '', 0];\n this._terminal.x++;\n }\n }\n };\n InputHandler.prototype.bell = function () {\n var _this = this;\n if (!this._terminal.visualBell) {\n return;\n }\n this._terminal.element.style.borderColor = 'white';\n setTimeout(function () { return _this._terminal.element.style.borderColor = ''; }, 10);\n if (this._terminal.popOnBell) {\n this._terminal.focus();\n }\n };\n InputHandler.prototype.lineFeed = function () {\n if (this._terminal.convertEol) {\n this._terminal.x = 0;\n }\n this._terminal.y++;\n if (this._terminal.y > this._terminal.scrollBottom) {\n this._terminal.y--;\n this._terminal.scroll();\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.carriageReturn = function () {\n this._terminal.x = 0;\n };\n InputHandler.prototype.backspace = function () {\n if (this._terminal.x > 0) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.tab = function () {\n this._terminal.x = this._terminal.nextStop();\n };\n InputHandler.prototype.shiftOut = function () {\n this._terminal.setgLevel(1);\n };\n InputHandler.prototype.shiftIn = function () {\n this._terminal.setgLevel(0);\n };\n InputHandler.prototype.insertChars = function (params) {\n var param, row, j, ch;\n param = params[0];\n if (param < 1)\n param = 1;\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.x;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param-- && j < this._terminal.cols) {\n this._terminal.lines.get(row).splice(j++, 0, ch);\n this._terminal.lines.get(row).pop();\n }\n };\n InputHandler.prototype.cursorUp = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y -= param;\n if (this._terminal.y < 0) {\n this._terminal.y = 0;\n }\n };\n InputHandler.prototype.cursorDown = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.cursorForward = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x += param;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.cursorBackward = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n this._terminal.x -= param;\n if (this._terminal.x < 0) {\n this._terminal.x = 0;\n }\n };\n InputHandler.prototype.cursorNextLine = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n this._terminal.x = 0;\n };\n ;\n InputHandler.prototype.cursorPrecedingLine = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y -= param;\n if (this._terminal.y < 0) {\n this._terminal.y = 0;\n }\n this._terminal.x = 0;\n };\n ;\n InputHandler.prototype.cursorCharAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x = param - 1;\n };\n InputHandler.prototype.cursorPosition = function (params) {\n var row, col;\n row = params[0] - 1;\n if (params.length >= 2) {\n col = params[1] - 1;\n }\n else {\n col = 0;\n }\n if (row < 0) {\n row = 0;\n }\n else if (row >= this._terminal.rows) {\n row = this._terminal.rows - 1;\n }\n if (col < 0) {\n col = 0;\n }\n else if (col >= this._terminal.cols) {\n col = this._terminal.cols - 1;\n }\n this._terminal.x = col;\n this._terminal.y = row;\n };\n InputHandler.prototype.cursorForwardTab = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.x = this._terminal.nextStop();\n }\n };\n InputHandler.prototype.eraseInDisplay = function (params) {\n var j;\n switch (params[0]) {\n case 0:\n this._terminal.eraseRight(this._terminal.x, this._terminal.y);\n j = this._terminal.y + 1;\n for (; j < this._terminal.rows; j++) {\n this._terminal.eraseLine(j);\n }\n break;\n case 1:\n this._terminal.eraseLeft(this._terminal.x, this._terminal.y);\n j = this._terminal.y;\n while (j--) {\n this._terminal.eraseLine(j);\n }\n break;\n case 2:\n j = this._terminal.rows;\n while (j--)\n this._terminal.eraseLine(j);\n break;\n case 3:\n var scrollBackSize = this._terminal.lines.length - this._terminal.rows;\n if (scrollBackSize > 0) {\n this._terminal.lines.trimStart(scrollBackSize);\n this._terminal.ybase = Math.max(this._terminal.ybase - scrollBackSize, 0);\n this._terminal.ydisp = Math.max(this._terminal.ydisp - scrollBackSize, 0);\n }\n break;\n }\n };\n InputHandler.prototype.eraseInLine = function (params) {\n switch (params[0]) {\n case 0:\n this._terminal.eraseRight(this._terminal.x, this._terminal.y);\n break;\n case 1:\n this._terminal.eraseLeft(this._terminal.x, this._terminal.y);\n break;\n case 2:\n this._terminal.eraseLine(this._terminal.y);\n break;\n }\n };\n InputHandler.prototype.insertLines = function (params) {\n var param, row, j;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.rows - 1 - this._terminal.scrollBottom;\n j = this._terminal.rows - 1 + this._terminal.ybase - j + 1;\n while (param--) {\n if (this._terminal.lines.length === this._terminal.lines.maxLength) {\n this._terminal.lines.trimStart(1);\n this._terminal.ybase--;\n this._terminal.ydisp--;\n row--;\n j--;\n }\n this._terminal.lines.splice(row, 0, this._terminal.blankLine(true));\n this._terminal.lines.splice(j, 1);\n }\n this._terminal.updateRange(this._terminal.y);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.deleteLines = function (params) {\n var param, row, j;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.rows - 1 - this._terminal.scrollBottom;\n j = this._terminal.rows - 1 + this._terminal.ybase - j;\n while (param--) {\n if (this._terminal.lines.length === this._terminal.lines.maxLength) {\n this._terminal.lines.trimStart(1);\n this._terminal.ybase -= 1;\n this._terminal.ydisp -= 1;\n }\n this._terminal.lines.splice(j + 1, 0, this._terminal.blankLine(true));\n this._terminal.lines.splice(row, 1);\n }\n this._terminal.updateRange(this._terminal.y);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.deleteChars = function (params) {\n var param, row, ch;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param--) {\n this._terminal.lines.get(row).splice(this._terminal.x, 1);\n this._terminal.lines.get(row).push(ch);\n }\n };\n InputHandler.prototype.scrollUp = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 1);\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 0, this._terminal.blankLine());\n }\n this._terminal.updateRange(this._terminal.scrollTop);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.scrollDown = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 1);\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 0, this._terminal.blankLine());\n }\n this._terminal.updateRange(this._terminal.scrollTop);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.eraseChars = function (params) {\n var param, row, j, ch;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.x;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param-- && j < this._terminal.cols) {\n this._terminal.lines.get(row)[j++] = ch;\n }\n };\n InputHandler.prototype.cursorBackwardTab = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.x = this._terminal.prevStop();\n }\n };\n InputHandler.prototype.charPosAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x = param - 1;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.HPositionRelative = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x += param;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.repeatPrecedingCharacter = function (params) {\n var param = params[0] || 1, line = this._terminal.lines.get(this._terminal.ybase + this._terminal.y), ch = line[this._terminal.x - 1] || [this._terminal.defAttr, ' ', 1];\n while (param--) {\n line[this._terminal.x++] = ch;\n }\n };\n InputHandler.prototype.sendDeviceAttributes = function (params) {\n if (params[0] > 0) {\n return;\n }\n if (!this._terminal.prefix) {\n if (this._terminal.is('xterm') || this._terminal.is('rxvt-unicode') || this._terminal.is('screen')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?1;2c');\n }\n else if (this._terminal.is('linux')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?6c');\n }\n }\n else if (this._terminal.prefix === '>') {\n if (this._terminal.is('xterm')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>0;276;0c');\n }\n else if (this._terminal.is('rxvt-unicode')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>85;95;0c');\n }\n else if (this._terminal.is('linux')) {\n this._terminal.send(params[0] + 'c');\n }\n else if (this._terminal.is('screen')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>83;40003;0c');\n }\n }\n };\n InputHandler.prototype.linePosAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y = param - 1;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n };\n InputHandler.prototype.VPositionRelative = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.HVPosition = function (params) {\n if (params[0] < 1)\n params[0] = 1;\n if (params[1] < 1)\n params[1] = 1;\n this._terminal.y = params[0] - 1;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n this._terminal.x = params[1] - 1;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.tabClear = function (params) {\n var param = params[0];\n if (param <= 0) {\n delete this._terminal.tabs[this._terminal.x];\n }\n else if (param === 3) {\n this._terminal.tabs = {};\n }\n };\n InputHandler.prototype.setMode = function (params) {\n if (params.length > 1) {\n for (var i = 0; i < params.length; i++) {\n this.setMode([params[i]]);\n }\n return;\n }\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 4:\n this._terminal.insertMode = true;\n break;\n case 20:\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 1:\n this._terminal.applicationCursor = true;\n break;\n case 2:\n this._terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(1, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(2, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(3, Charsets_1.DEFAULT_CHARSET);\n break;\n case 3:\n this._terminal.savedCols = this._terminal.cols;\n this._terminal.resize(132, this._terminal.rows);\n break;\n case 6:\n this._terminal.originMode = true;\n break;\n case 7:\n this._terminal.wraparoundMode = true;\n break;\n case 12:\n break;\n case 66:\n this._terminal.log('Serial port requested application keypad.');\n this._terminal.applicationKeypad = true;\n this._terminal.viewport.syncScrollArea();\n break;\n case 9:\n case 1000:\n case 1002:\n case 1003:\n this._terminal.x10Mouse = params[0] === 9;\n this._terminal.vt200Mouse = params[0] === 1000;\n this._terminal.normalMouse = params[0] > 1000;\n this._terminal.mouseEvents = true;\n this._terminal.element.classList.add('enable-mouse-events');\n this._terminal.selectionManager.disable();\n this._terminal.log('Binding to mouse events.');\n break;\n case 1004:\n this._terminal.sendFocus = true;\n break;\n case 1005:\n this._terminal.utfMouse = true;\n break;\n case 1006:\n this._terminal.sgrMouse = true;\n break;\n case 1015:\n this._terminal.urxvtMouse = true;\n break;\n case 25:\n this._terminal.cursorHidden = false;\n break;\n case 1049:\n ;\n case 47:\n case 1047:\n if (!this._terminal.normal) {\n var normal = {\n lines: this._terminal.lines,\n ybase: this._terminal.ybase,\n ydisp: this._terminal.ydisp,\n x: this._terminal.x,\n y: this._terminal.y,\n scrollTop: this._terminal.scrollTop,\n scrollBottom: this._terminal.scrollBottom,\n tabs: this._terminal.tabs\n };\n this._terminal.reset();\n this._terminal.viewport.syncScrollArea();\n this._terminal.normal = normal;\n this._terminal.showCursor();\n }\n break;\n }\n }\n };\n InputHandler.prototype.resetMode = function (params) {\n if (params.length > 1) {\n for (var i = 0; i < params.length; i++) {\n this.resetMode([params[i]]);\n }\n return;\n }\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 4:\n this._terminal.insertMode = false;\n break;\n case 20:\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 1:\n this._terminal.applicationCursor = false;\n break;\n case 3:\n if (this._terminal.cols === 132 && this._terminal.savedCols) {\n this._terminal.resize(this._terminal.savedCols, this._terminal.rows);\n }\n delete this._terminal.savedCols;\n break;\n case 6:\n this._terminal.originMode = false;\n break;\n case 7:\n this._terminal.wraparoundMode = false;\n break;\n case 12:\n break;\n case 66:\n this._terminal.log('Switching back to normal keypad.');\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n break;\n case 9:\n case 1000:\n case 1002:\n case 1003:\n this._terminal.x10Mouse = false;\n this._terminal.vt200Mouse = false;\n this._terminal.normalMouse = false;\n this._terminal.mouseEvents = false;\n this._terminal.element.classList.remove('enable-mouse-events');\n this._terminal.selectionManager.enable();\n break;\n case 1004:\n this._terminal.sendFocus = false;\n break;\n case 1005:\n this._terminal.utfMouse = false;\n break;\n case 1006:\n this._terminal.sgrMouse = false;\n break;\n case 1015:\n this._terminal.urxvtMouse = false;\n break;\n case 25:\n this._terminal.cursorHidden = true;\n break;\n case 1049:\n ;\n case 47:\n case 1047:\n if (this._terminal.normal) {\n this._terminal.lines = this._terminal.normal.lines;\n this._terminal.ybase = this._terminal.normal.ybase;\n this._terminal.ydisp = this._terminal.normal.ydisp;\n this._terminal.x = this._terminal.normal.x;\n this._terminal.y = this._terminal.normal.y;\n this._terminal.scrollTop = this._terminal.normal.scrollTop;\n this._terminal.scrollBottom = this._terminal.normal.scrollBottom;\n this._terminal.tabs = this._terminal.normal.tabs;\n this._terminal.normal = null;\n this._terminal.selectionManager.setBuffer(this._terminal.lines);\n this._terminal.refresh(0, this._terminal.rows - 1);\n this._terminal.viewport.syncScrollArea();\n this._terminal.showCursor();\n }\n break;\n }\n }\n };\n InputHandler.prototype.charAttributes = function (params) {\n if (params.length === 1 && params[0] === 0) {\n this._terminal.curAttr = this._terminal.defAttr;\n return;\n }\n var l = params.length, i = 0, flags = this._terminal.curAttr >> 18, fg = (this._terminal.curAttr >> 9) & 0x1ff, bg = this._terminal.curAttr & 0x1ff, p;\n for (; i < l; i++) {\n p = params[i];\n if (p >= 30 && p <= 37) {\n fg = p - 30;\n }\n else if (p >= 40 && p <= 47) {\n bg = p - 40;\n }\n else if (p >= 90 && p <= 97) {\n p += 8;\n fg = p - 90;\n }\n else if (p >= 100 && p <= 107) {\n p += 8;\n bg = p - 100;\n }\n else if (p === 0) {\n flags = this._terminal.defAttr >> 18;\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n bg = this._terminal.defAttr & 0x1ff;\n }\n else if (p === 1) {\n flags |= 1;\n }\n else if (p === 4) {\n flags |= 2;\n }\n else if (p === 5) {\n flags |= 4;\n }\n else if (p === 7) {\n flags |= 8;\n }\n else if (p === 8) {\n flags |= 16;\n }\n else if (p === 22) {\n flags &= ~1;\n }\n else if (p === 24) {\n flags &= ~2;\n }\n else if (p === 25) {\n flags &= ~4;\n }\n else if (p === 27) {\n flags &= ~8;\n }\n else if (p === 28) {\n flags &= ~16;\n }\n else if (p === 39) {\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n }\n else if (p === 49) {\n bg = this._terminal.defAttr & 0x1ff;\n }\n else if (p === 38) {\n if (params[i + 1] === 2) {\n i += 2;\n fg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff);\n if (fg === -1)\n fg = 0x1ff;\n i += 2;\n }\n else if (params[i + 1] === 5) {\n i += 2;\n p = params[i] & 0xff;\n fg = p;\n }\n }\n else if (p === 48) {\n if (params[i + 1] === 2) {\n i += 2;\n bg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff);\n if (bg === -1)\n bg = 0x1ff;\n i += 2;\n }\n else if (params[i + 1] === 5) {\n i += 2;\n p = params[i] & 0xff;\n bg = p;\n }\n }\n else if (p === 100) {\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n bg = this._terminal.defAttr & 0x1ff;\n }\n else {\n this._terminal.error('Unknown SGR attribute: %d.', p);\n }\n }\n this._terminal.curAttr = (flags << 18) | (fg << 9) | bg;\n };\n InputHandler.prototype.deviceStatus = function (params) {\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 5:\n this._terminal.send(EscapeSequences_1.C0.ESC + '[0n');\n break;\n case 6:\n this._terminal.send(EscapeSequences_1.C0.ESC + '['\n + (this._terminal.y + 1)\n + ';'\n + (this._terminal.x + 1)\n + 'R');\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 6:\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?'\n + (this._terminal.y + 1)\n + ';'\n + (this._terminal.x + 1)\n + 'R');\n break;\n case 15:\n break;\n case 25:\n break;\n case 26:\n break;\n case 53:\n break;\n }\n }\n };\n InputHandler.prototype.softReset = function (params) {\n this._terminal.cursorHidden = false;\n this._terminal.insertMode = false;\n this._terminal.originMode = false;\n this._terminal.wraparoundMode = true;\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n this._terminal.applicationCursor = false;\n this._terminal.scrollTop = 0;\n this._terminal.scrollBottom = this._terminal.rows - 1;\n this._terminal.curAttr = this._terminal.defAttr;\n this._terminal.x = this._terminal.y = 0;\n this._terminal.charset = null;\n this._terminal.glevel = 0;\n this._terminal.charsets = [null];\n };\n InputHandler.prototype.setCursorStyle = function (params) {\n var param = params[0] < 1 ? 1 : params[0];\n switch (param) {\n case 1:\n case 2:\n this._terminal.setOption('cursorStyle', 'block');\n break;\n case 3:\n case 4:\n this._terminal.setOption('cursorStyle', 'underline');\n break;\n case 5:\n case 6:\n this._terminal.setOption('cursorStyle', 'bar');\n break;\n }\n var isBlinking = param % 2 === 1;\n this._terminal.setOption('cursorBlink', isBlinking);\n };\n InputHandler.prototype.setScrollRegion = function (params) {\n if (this._terminal.prefix)\n return;\n this._terminal.scrollTop = (params[0] || 1) - 1;\n this._terminal.scrollBottom = (params[1] && params[1] <= this._terminal.rows ? params[1] : this._terminal.rows) - 1;\n this._terminal.x = 0;\n this._terminal.y = 0;\n };\n InputHandler.prototype.saveCursor = function (params) {\n this._terminal.savedX = this._terminal.x;\n this._terminal.savedY = this._terminal.y;\n };\n InputHandler.prototype.restoreCursor = function (params) {\n this._terminal.x = this._terminal.savedX || 0;\n this._terminal.y = this._terminal.savedY || 0;\n };\n return InputHandler;\n}());\nexports.InputHandler = InputHandler;\nvar wcwidth = (function (opts) {\n var COMBINING = [\n [0x0300, 0x036F], [0x0483, 0x0486], [0x0488, 0x0489],\n [0x0591, 0x05BD], [0x05BF, 0x05BF], [0x05C1, 0x05C2],\n [0x05C4, 0x05C5], [0x05C7, 0x05C7], [0x0600, 0x0603],\n [0x0610, 0x0615], [0x064B, 0x065E], [0x0670, 0x0670],\n [0x06D6, 0x06E4], [0x06E7, 0x06E8], [0x06EA, 0x06ED],\n [0x070F, 0x070F], [0x0711, 0x0711], [0x0730, 0x074A],\n [0x07A6, 0x07B0], [0x07EB, 0x07F3], [0x0901, 0x0902],\n [0x093C, 0x093C], [0x0941, 0x0948], [0x094D, 0x094D],\n [0x0951, 0x0954], [0x0962, 0x0963], [0x0981, 0x0981],\n [0x09BC, 0x09BC], [0x09C1, 0x09C4], [0x09CD, 0x09CD],\n [0x09E2, 0x09E3], [0x0A01, 0x0A02], [0x0A3C, 0x0A3C],\n [0x0A41, 0x0A42], [0x0A47, 0x0A48], [0x0A4B, 0x0A4D],\n [0x0A70, 0x0A71], [0x0A81, 0x0A82], [0x0ABC, 0x0ABC],\n [0x0AC1, 0x0AC5], [0x0AC7, 0x0AC8], [0x0ACD, 0x0ACD],\n [0x0AE2, 0x0AE3], [0x0B01, 0x0B01], [0x0B3C, 0x0B3C],\n [0x0B3F, 0x0B3F], [0x0B41, 0x0B43], [0x0B4D, 0x0B4D],\n [0x0B56, 0x0B56], [0x0B82, 0x0B82], [0x0BC0, 0x0BC0],\n [0x0BCD, 0x0BCD], [0x0C3E, 0x0C40], [0x0C46, 0x0C48],\n [0x0C4A, 0x0C4D], [0x0C55, 0x0C56], [0x0CBC, 0x0CBC],\n [0x0CBF, 0x0CBF], [0x0CC6, 0x0CC6], [0x0CCC, 0x0CCD],\n [0x0CE2, 0x0CE3], [0x0D41, 0x0D43], [0x0D4D, 0x0D4D],\n [0x0DCA, 0x0DCA], [0x0DD2, 0x0DD4], [0x0DD6, 0x0DD6],\n [0x0E31, 0x0E31], [0x0E34, 0x0E3A], [0x0E47, 0x0E4E],\n [0x0EB1, 0x0EB1], [0x0EB4, 0x0EB9], [0x0EBB, 0x0EBC],\n [0x0EC8, 0x0ECD], [0x0F18, 0x0F19], [0x0F35, 0x0F35],\n [0x0F37, 0x0F37], [0x0F39, 0x0F39], [0x0F71, 0x0F7E],\n [0x0F80, 0x0F84], [0x0F86, 0x0F87], [0x0F90, 0x0F97],\n [0x0F99, 0x0FBC], [0x0FC6, 0x0FC6], [0x102D, 0x1030],\n [0x1032, 0x1032], [0x1036, 0x1037], [0x1039, 0x1039],\n [0x1058, 0x1059], [0x1160, 0x11FF], [0x135F, 0x135F],\n [0x1712, 0x1714], [0x1732, 0x1734], [0x1752, 0x1753],\n [0x1772, 0x1773], [0x17B4, 0x17B5], [0x17B7, 0x17BD],\n [0x17C6, 0x17C6], [0x17C9, 0x17D3], [0x17DD, 0x17DD],\n [0x180B, 0x180D], [0x18A9, 0x18A9], [0x1920, 0x1922],\n [0x1927, 0x1928], [0x1932, 0x1932], [0x1939, 0x193B],\n [0x1A17, 0x1A18], [0x1B00, 0x1B03], [0x1B34, 0x1B34],\n [0x1B36, 0x1B3A], [0x1B3C, 0x1B3C], [0x1B42, 0x1B42],\n [0x1B6B, 0x1B73], [0x1DC0, 0x1DCA], [0x1DFE, 0x1DFF],\n [0x200B, 0x200F], [0x202A, 0x202E], [0x2060, 0x2063],\n [0x206A, 0x206F], [0x20D0, 0x20EF], [0x302A, 0x302F],\n [0x3099, 0x309A], [0xA806, 0xA806], [0xA80B, 0xA80B],\n [0xA825, 0xA826], [0xFB1E, 0xFB1E], [0xFE00, 0xFE0F],\n [0xFE20, 0xFE23], [0xFEFF, 0xFEFF], [0xFFF9, 0xFFFB],\n [0x10A01, 0x10A03], [0x10A05, 0x10A06], [0x10A0C, 0x10A0F],\n [0x10A38, 0x10A3A], [0x10A3F, 0x10A3F], [0x1D167, 0x1D169],\n [0x1D173, 0x1D182], [0x1D185, 0x1D18B], [0x1D1AA, 0x1D1AD],\n [0x1D242, 0x1D244], [0xE0001, 0xE0001], [0xE0020, 0xE007F],\n [0xE0100, 0xE01EF]\n ];\n function bisearch(ucs) {\n var min = 0;\n var max = COMBINING.length - 1;\n var mid;\n if (ucs < COMBINING[0][0] || ucs > COMBINING[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > COMBINING[mid][1])\n min = mid + 1;\n else if (ucs < COMBINING[mid][0])\n max = mid - 1;\n else\n return true;\n }\n return false;\n }\n function wcwidth(ucs) {\n if (ucs === 0)\n return opts.nul;\n if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0))\n return opts.control;\n if (bisearch(ucs))\n return 0;\n if (isWide(ucs)) {\n return 2;\n }\n return 1;\n }\n function isWide(ucs) {\n return (ucs >= 0x1100 && (ucs <= 0x115f ||\n ucs === 0x2329 ||\n ucs === 0x232a ||\n (ucs >= 0x2e80 && ucs <= 0xa4cf && ucs !== 0x303f) ||\n (ucs >= 0xac00 && ucs <= 0xd7a3) ||\n (ucs >= 0xf900 && ucs <= 0xfaff) ||\n (ucs >= 0xfe10 && ucs <= 0xfe19) ||\n (ucs >= 0xfe30 && ucs <= 0xfe6f) ||\n (ucs >= 0xff00 && ucs <= 0xff60) ||\n (ucs >= 0xffe0 && ucs <= 0xffe6) ||\n (ucs >= 0x20000 && ucs <= 0x2fffd) ||\n (ucs >= 0x30000 && ucs <= 0x3fffd)));\n }\n return wcwidth;\n})({ nul: 0, control: 0 });\n\n//# sourceMappingURL=InputHandler.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/InputHandler.js\n// module id = 17\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar INVALID_LINK_CLASS = 'xterm-invalid-link';\nvar protocolClause = '(https?:\\\\/\\\\/)';\nvar domainCharacterSet = '[\\\\da-z\\\\.-]+';\nvar negatedDomainCharacterSet = '[^\\\\da-z\\\\.-]+';\nvar domainBodyClause = '(' + domainCharacterSet + ')';\nvar tldClause = '([a-z\\\\.]{2,6})';\nvar ipClause = '((\\\\d{1,3}\\\\.){3}\\\\d{1,3})';\nvar localHostClause = '(localhost)';\nvar portClause = '(:\\\\d{1,5})';\nvar hostClause = '((' + domainBodyClause + '\\\\.' + tldClause + ')|' + ipClause + '|' + localHostClause + ')' + portClause + '?';\nvar pathClause = '(\\\\/[\\\\/\\\\w\\\\.\\\\-%~]*)*';\nvar queryStringHashFragmentCharacterSet = '[0-9\\\\w\\\\[\\\\]\\\\(\\\\)\\\\/\\\\?\\\\!#@$%&\\'*+,:;~\\\\=\\\\.\\\\-]*';\nvar queryStringClause = '(\\\\?' + queryStringHashFragmentCharacterSet + ')?';\nvar hashFragmentClause = '(#' + queryStringHashFragmentCharacterSet + ')?';\nvar negatedPathCharacterSet = '[^\\\\/\\\\w\\\\.\\\\-%]+';\nvar bodyClause = hostClause + pathClause + queryStringClause + hashFragmentClause;\nvar start = '(?:^|' + negatedDomainCharacterSet + ')(';\nvar end = ')($|' + negatedPathCharacterSet + ')';\nvar strictUrlRegex = new RegExp(start + protocolClause + bodyClause + end);\nvar HYPERTEXT_LINK_MATCHER_ID = 0;\nvar Linkifier = (function () {\n function Linkifier() {\n this._nextLinkMatcherId = HYPERTEXT_LINK_MATCHER_ID;\n this._rowTimeoutIds = [];\n this._linkMatchers = [];\n this.registerLinkMatcher(strictUrlRegex, null, { matchIndex: 1 });\n }\n Linkifier.prototype.attachToDom = function (document, rows) {\n this._document = document;\n this._rows = rows;\n };\n Linkifier.prototype.linkifyRow = function (rowIndex) {\n if (!this._document) {\n return;\n }\n var timeoutId = this._rowTimeoutIds[rowIndex];\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n this._rowTimeoutIds[rowIndex] = setTimeout(this._linkifyRow.bind(this, rowIndex), Linkifier.TIME_BEFORE_LINKIFY);\n };\n Linkifier.prototype.setHypertextLinkHandler = function (handler) {\n this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].handler = handler;\n };\n Linkifier.prototype.setHypertextValidationCallback = function (callback) {\n this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].validationCallback = callback;\n };\n Linkifier.prototype.registerLinkMatcher = function (regex, handler, options) {\n if (options === void 0) { options = {}; }\n if (this._nextLinkMatcherId !== HYPERTEXT_LINK_MATCHER_ID && !handler) {\n throw new Error('handler must be defined');\n }\n var matcher = {\n id: this._nextLinkMatcherId++,\n regex: regex,\n handler: handler,\n matchIndex: options.matchIndex,\n validationCallback: options.validationCallback,\n priority: options.priority || 0\n };\n this._addLinkMatcherToList(matcher);\n return matcher.id;\n };\n Linkifier.prototype._addLinkMatcherToList = function (matcher) {\n if (this._linkMatchers.length === 0) {\n this._linkMatchers.push(matcher);\n return;\n }\n for (var i = this._linkMatchers.length - 1; i >= 0; i--) {\n if (matcher.priority <= this._linkMatchers[i].priority) {\n this._linkMatchers.splice(i + 1, 0, matcher);\n return;\n }\n }\n this._linkMatchers.splice(0, 0, matcher);\n };\n Linkifier.prototype.deregisterLinkMatcher = function (matcherId) {\n for (var i = 1; i < this._linkMatchers.length; i++) {\n if (this._linkMatchers[i].id === matcherId) {\n this._linkMatchers.splice(i, 1);\n return true;\n }\n }\n return false;\n };\n Linkifier.prototype._linkifyRow = function (rowIndex) {\n var row = this._rows[rowIndex];\n if (!row) {\n return;\n }\n var text = row.textContent;\n for (var i = 0; i < this._linkMatchers.length; i++) {\n var matcher = this._linkMatchers[i];\n var linkElements = this._doLinkifyRow(row, matcher);\n if (linkElements.length > 0) {\n if (matcher.validationCallback) {\n var _loop_1 = function (j) {\n var element = linkElements[j];\n matcher.validationCallback(element.textContent, element, function (isValid) {\n if (!isValid) {\n element.classList.add(INVALID_LINK_CLASS);\n }\n });\n };\n for (var j = 0; j < linkElements.length; j++) {\n _loop_1(j);\n }\n }\n return;\n }\n }\n };\n Linkifier.prototype._doLinkifyRow = function (row, matcher) {\n var result = [];\n var isHttpLinkMatcher = matcher.id === HYPERTEXT_LINK_MATCHER_ID;\n var nodes = row.childNodes;\n var match = row.textContent.match(matcher.regex);\n if (!match || match.length === 0) {\n return result;\n }\n var uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];\n var rowStartIndex = match.index + uri.length;\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n var searchIndex = node.textContent.indexOf(uri);\n if (searchIndex >= 0) {\n var linkElement = this._createAnchorElement(uri, matcher.handler, isHttpLinkMatcher);\n if (node.textContent.length === uri.length) {\n if (node.nodeType === 3) {\n this._replaceNode(node, linkElement);\n }\n else {\n var element = node;\n if (element.nodeName === 'A') {\n return result;\n }\n element.innerHTML = '';\n element.appendChild(linkElement);\n }\n }\n else if (node.childNodes.length > 1) {\n for (var j = 0; j < node.childNodes.length; j++) {\n var childNode = node.childNodes[j];\n var childSearchIndex = childNode.textContent.indexOf(uri);\n if (childSearchIndex !== -1) {\n this._replaceNodeSubstringWithNode(childNode, linkElement, uri, childSearchIndex);\n break;\n }\n }\n }\n else {\n var nodesAdded = this._replaceNodeSubstringWithNode(node, linkElement, uri, searchIndex);\n i += nodesAdded;\n }\n result.push(linkElement);\n match = row.textContent.substring(rowStartIndex).match(matcher.regex);\n if (!match || match.length === 0) {\n return result;\n }\n uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];\n rowStartIndex += match.index + uri.length;\n }\n }\n return result;\n };\n Linkifier.prototype._createAnchorElement = function (uri, handler, isHypertextLinkHandler) {\n var element = this._document.createElement('a');\n element.textContent = uri;\n element.draggable = false;\n if (isHypertextLinkHandler) {\n element.href = uri;\n element.target = '_blank';\n element.addEventListener('click', function (event) {\n if (handler) {\n return handler(event, uri);\n }\n });\n }\n else {\n element.addEventListener('click', function (event) {\n if (element.classList.contains(INVALID_LINK_CLASS)) {\n return;\n }\n return handler(event, uri);\n });\n }\n return element;\n };\n Linkifier.prototype._replaceNode = function (oldNode) {\n var newNodes = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n newNodes[_i - 1] = arguments[_i];\n }\n var parent = oldNode.parentNode;\n for (var i = 0; i < newNodes.length; i++) {\n parent.insertBefore(newNodes[i], oldNode);\n }\n parent.removeChild(oldNode);\n };\n Linkifier.prototype._replaceNodeSubstringWithNode = function (targetNode, newNode, substring, substringIndex) {\n if (targetNode.childNodes.length === 1) {\n targetNode = targetNode.childNodes[0];\n }\n if (targetNode.nodeType !== 3) {\n throw new Error('targetNode must be a text node or only contain a single text node');\n }\n var fullText = targetNode.textContent;\n if (substringIndex === 0) {\n var rightText_1 = fullText.substring(substring.length);\n var rightTextNode_1 = this._document.createTextNode(rightText_1);\n this._replaceNode(targetNode, newNode, rightTextNode_1);\n return 0;\n }\n if (substringIndex === targetNode.textContent.length - substring.length) {\n var leftText_1 = fullText.substring(0, substringIndex);\n var leftTextNode_1 = this._document.createTextNode(leftText_1);\n this._replaceNode(targetNode, leftTextNode_1, newNode);\n return 0;\n }\n var leftText = fullText.substring(0, substringIndex);\n var leftTextNode = this._document.createTextNode(leftText);\n var rightText = fullText.substring(substringIndex + substring.length);\n var rightTextNode = this._document.createTextNode(rightText);\n this._replaceNode(targetNode, leftTextNode, newNode, rightTextNode);\n return 1;\n };\n return Linkifier;\n}());\nLinkifier.TIME_BEFORE_LINKIFY = 200;\nexports.Linkifier = Linkifier;\n\n//# sourceMappingURL=Linkifier.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Linkifier.js\n// module id = 18\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar Charsets_1 = require(\"./Charsets\");\nvar normalStateHandler = {};\nnormalStateHandler[EscapeSequences_1.C0.BEL] = function (parser, handler) { return handler.bell(); };\nnormalStateHandler[EscapeSequences_1.C0.LF] = function (parser, handler) { return handler.lineFeed(); };\nnormalStateHandler[EscapeSequences_1.C0.VT] = normalStateHandler[EscapeSequences_1.C0.LF];\nnormalStateHandler[EscapeSequences_1.C0.FF] = normalStateHandler[EscapeSequences_1.C0.LF];\nnormalStateHandler[EscapeSequences_1.C0.CR] = function (parser, handler) { return handler.carriageReturn(); };\nnormalStateHandler[EscapeSequences_1.C0.BS] = function (parser, handler) { return handler.backspace(); };\nnormalStateHandler[EscapeSequences_1.C0.HT] = function (parser, handler) { return handler.tab(); };\nnormalStateHandler[EscapeSequences_1.C0.SO] = function (parser, handler) { return handler.shiftOut(); };\nnormalStateHandler[EscapeSequences_1.C0.SI] = function (parser, handler) { return handler.shiftIn(); };\nnormalStateHandler[EscapeSequences_1.C0.ESC] = function (parser, handler) { return parser.setState(ParserState.ESCAPED); };\nvar escapedStateHandler = {};\nescapedStateHandler['['] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.CSI_PARAM);\n};\nescapedStateHandler[']'] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.OSC);\n};\nescapedStateHandler['P'] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.DCS);\n};\nescapedStateHandler['_'] = function (parser, terminal) {\n parser.setState(ParserState.IGNORE);\n};\nescapedStateHandler['^'] = function (parser, terminal) {\n parser.setState(ParserState.IGNORE);\n};\nescapedStateHandler['c'] = function (parser, terminal) {\n terminal.reset();\n};\nescapedStateHandler['E'] = function (parser, terminal) {\n terminal.x = 0;\n terminal.index();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['D'] = function (parser, terminal) {\n terminal.index();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['M'] = function (parser, terminal) {\n terminal.reverseIndex();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['%'] = function (parser, terminal) {\n terminal.setgLevel(0);\n terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET);\n parser.setState(ParserState.NORMAL);\n parser.skipNextChar();\n};\nescapedStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); };\nvar csiParamStateHandler = {};\ncsiParamStateHandler['?'] = function (parser) { return parser.setPrefix('?'); };\ncsiParamStateHandler['>'] = function (parser) { return parser.setPrefix('>'); };\ncsiParamStateHandler['!'] = function (parser) { return parser.setPrefix('!'); };\ncsiParamStateHandler['0'] = function (parser) { return parser.setParam(parser.getParam() * 10); };\ncsiParamStateHandler['1'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 1); };\ncsiParamStateHandler['2'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 2); };\ncsiParamStateHandler['3'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 3); };\ncsiParamStateHandler['4'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 4); };\ncsiParamStateHandler['5'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 5); };\ncsiParamStateHandler['6'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 6); };\ncsiParamStateHandler['7'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 7); };\ncsiParamStateHandler['8'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 8); };\ncsiParamStateHandler['9'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 9); };\ncsiParamStateHandler['$'] = function (parser) { return parser.setPostfix('$'); };\ncsiParamStateHandler['\"'] = function (parser) { return parser.setPostfix('\"'); };\ncsiParamStateHandler[' '] = function (parser) { return parser.setPostfix(' '); };\ncsiParamStateHandler['\\''] = function (parser) { return parser.setPostfix('\\''); };\ncsiParamStateHandler[';'] = function (parser) { return parser.finalizeParam(); };\ncsiParamStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); };\nvar csiStateHandler = {};\ncsiStateHandler['@'] = function (handler, params, prefix) { return handler.insertChars(params); };\ncsiStateHandler['A'] = function (handler, params, prefix) { return handler.cursorUp(params); };\ncsiStateHandler['B'] = function (handler, params, prefix) { return handler.cursorDown(params); };\ncsiStateHandler['C'] = function (handler, params, prefix) { return handler.cursorForward(params); };\ncsiStateHandler['D'] = function (handler, params, prefix) { return handler.cursorBackward(params); };\ncsiStateHandler['E'] = function (handler, params, prefix) { return handler.cursorNextLine(params); };\ncsiStateHandler['F'] = function (handler, params, prefix) { return handler.cursorPrecedingLine(params); };\ncsiStateHandler['G'] = function (handler, params, prefix) { return handler.cursorCharAbsolute(params); };\ncsiStateHandler['H'] = function (handler, params, prefix) { return handler.cursorPosition(params); };\ncsiStateHandler['I'] = function (handler, params, prefix) { return handler.cursorForwardTab(params); };\ncsiStateHandler['J'] = function (handler, params, prefix) { return handler.eraseInDisplay(params); };\ncsiStateHandler['K'] = function (handler, params, prefix) { return handler.eraseInLine(params); };\ncsiStateHandler['L'] = function (handler, params, prefix) { return handler.insertLines(params); };\ncsiStateHandler['M'] = function (handler, params, prefix) { return handler.deleteLines(params); };\ncsiStateHandler['P'] = function (handler, params, prefix) { return handler.deleteChars(params); };\ncsiStateHandler['S'] = function (handler, params, prefix) { return handler.scrollUp(params); };\ncsiStateHandler['T'] = function (handler, params, prefix) {\n if (params.length < 2 && !prefix) {\n handler.scrollDown(params);\n }\n};\ncsiStateHandler['X'] = function (handler, params, prefix) { return handler.eraseChars(params); };\ncsiStateHandler['Z'] = function (handler, params, prefix) { return handler.cursorBackwardTab(params); };\ncsiStateHandler['`'] = function (handler, params, prefix) { return handler.charPosAbsolute(params); };\ncsiStateHandler['a'] = function (handler, params, prefix) { return handler.HPositionRelative(params); };\ncsiStateHandler['b'] = function (handler, params, prefix) { return handler.repeatPrecedingCharacter(params); };\ncsiStateHandler['c'] = function (handler, params, prefix) { return handler.sendDeviceAttributes(params); };\ncsiStateHandler['d'] = function (handler, params, prefix) { return handler.linePosAbsolute(params); };\ncsiStateHandler['e'] = function (handler, params, prefix) { return handler.VPositionRelative(params); };\ncsiStateHandler['f'] = function (handler, params, prefix) { return handler.HVPosition(params); };\ncsiStateHandler['g'] = function (handler, params, prefix) { return handler.tabClear(params); };\ncsiStateHandler['h'] = function (handler, params, prefix) { return handler.setMode(params); };\ncsiStateHandler['l'] = function (handler, params, prefix) { return handler.resetMode(params); };\ncsiStateHandler['m'] = function (handler, params, prefix) { return handler.charAttributes(params); };\ncsiStateHandler['n'] = function (handler, params, prefix) { return handler.deviceStatus(params); };\ncsiStateHandler['p'] = function (handler, params, prefix) {\n switch (prefix) {\n case '!':\n handler.softReset(params);\n break;\n }\n};\ncsiStateHandler['q'] = function (handler, params, prefix, postfix) {\n if (postfix === ' ') {\n handler.setCursorStyle(params);\n }\n};\ncsiStateHandler['r'] = function (handler, params) { return handler.setScrollRegion(params); };\ncsiStateHandler['s'] = function (handler, params) { return handler.saveCursor(params); };\ncsiStateHandler['u'] = function (handler, params) { return handler.restoreCursor(params); };\ncsiStateHandler[EscapeSequences_1.C0.CAN] = function (handler, params, prefix, postfix, parser) { return parser.setState(ParserState.NORMAL); };\nvar ParserState;\n(function (ParserState) {\n ParserState[ParserState[\"NORMAL\"] = 0] = \"NORMAL\";\n ParserState[ParserState[\"ESCAPED\"] = 1] = \"ESCAPED\";\n ParserState[ParserState[\"CSI_PARAM\"] = 2] = \"CSI_PARAM\";\n ParserState[ParserState[\"CSI\"] = 3] = \"CSI\";\n ParserState[ParserState[\"OSC\"] = 4] = \"OSC\";\n ParserState[ParserState[\"CHARSET\"] = 5] = \"CHARSET\";\n ParserState[ParserState[\"DCS\"] = 6] = \"DCS\";\n ParserState[ParserState[\"IGNORE\"] = 7] = \"IGNORE\";\n})(ParserState || (ParserState = {}));\nvar Parser = (function () {\n function Parser(_inputHandler, _terminal) {\n this._inputHandler = _inputHandler;\n this._terminal = _terminal;\n this._state = ParserState.NORMAL;\n }\n Parser.prototype.parse = function (data) {\n var l = data.length, j, cs, ch, code, low;\n this._position = 0;\n if (this._terminal.surrogate_high) {\n data = this._terminal.surrogate_high + data;\n this._terminal.surrogate_high = '';\n }\n for (; this._position < l; this._position++) {\n ch = data[this._position];\n code = data.charCodeAt(this._position);\n if (0xD800 <= code && code <= 0xDBFF) {\n low = data.charCodeAt(this._position + 1);\n if (isNaN(low)) {\n this._terminal.surrogate_high = ch;\n continue;\n }\n code = ((code - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;\n ch += data.charAt(this._position + 1);\n }\n if (0xDC00 <= code && code <= 0xDFFF)\n continue;\n switch (this._state) {\n case ParserState.NORMAL:\n if (ch in normalStateHandler) {\n normalStateHandler[ch](this, this._inputHandler);\n }\n else {\n this._inputHandler.addChar(ch, code);\n }\n break;\n case ParserState.ESCAPED:\n if (ch in escapedStateHandler) {\n escapedStateHandler[ch](this, this._terminal);\n break;\n }\n switch (ch) {\n case '(':\n case ')':\n case '*':\n case '+':\n case '-':\n case '.':\n switch (ch) {\n case '(':\n this._terminal.gcharset = 0;\n break;\n case ')':\n this._terminal.gcharset = 1;\n break;\n case '*':\n this._terminal.gcharset = 2;\n break;\n case '+':\n this._terminal.gcharset = 3;\n break;\n case '-':\n this._terminal.gcharset = 1;\n break;\n case '.':\n this._terminal.gcharset = 2;\n break;\n }\n this._state = ParserState.CHARSET;\n break;\n case '/':\n this._terminal.gcharset = 3;\n this._state = ParserState.CHARSET;\n this._position--;\n break;\n case 'N':\n break;\n case 'O':\n break;\n case 'n':\n this._terminal.setgLevel(2);\n break;\n case 'o':\n this._terminal.setgLevel(3);\n break;\n case '|':\n this._terminal.setgLevel(3);\n break;\n case '}':\n this._terminal.setgLevel(2);\n break;\n case '~':\n this._terminal.setgLevel(1);\n break;\n case '7':\n this._inputHandler.saveCursor();\n this._state = ParserState.NORMAL;\n break;\n case '8':\n this._inputHandler.restoreCursor();\n this._state = ParserState.NORMAL;\n break;\n case '#':\n this._state = ParserState.NORMAL;\n this._position++;\n break;\n case 'H':\n this._terminal.tabSet();\n this._state = ParserState.NORMAL;\n break;\n case '=':\n this._terminal.log('Serial port requested application keypad.');\n this._terminal.applicationKeypad = true;\n this._terminal.viewport.syncScrollArea();\n this._state = ParserState.NORMAL;\n break;\n case '>':\n this._terminal.log('Switching back to normal keypad.');\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n this._state = ParserState.NORMAL;\n break;\n default:\n this._state = ParserState.NORMAL;\n this._terminal.error('Unknown ESC control: %s.', ch);\n break;\n }\n break;\n case ParserState.CHARSET:\n if (ch in Charsets_1.CHARSETS) {\n cs = Charsets_1.CHARSETS[ch];\n if (ch === '/') {\n this.skipNextChar();\n }\n }\n else {\n cs = Charsets_1.DEFAULT_CHARSET;\n }\n this._terminal.setgCharset(this._terminal.gcharset, cs);\n this._terminal.gcharset = null;\n this._state = ParserState.NORMAL;\n break;\n case ParserState.OSC:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n this._terminal.params.push(this._terminal.currentParam);\n switch (this._terminal.params[0]) {\n case 0:\n case 1:\n case 2:\n if (this._terminal.params[1]) {\n this._terminal.title = this._terminal.params[1];\n this._terminal.handleTitle(this._terminal.title);\n }\n break;\n case 3:\n break;\n case 4:\n case 5:\n break;\n case 10:\n case 11:\n case 12:\n case 13:\n case 14:\n case 15:\n case 16:\n case 17:\n case 18:\n case 19:\n break;\n case 46:\n break;\n case 50:\n break;\n case 51:\n break;\n case 52:\n break;\n case 104:\n case 105:\n case 110:\n case 111:\n case 112:\n case 113:\n case 114:\n case 115:\n case 116:\n case 117:\n case 118:\n break;\n }\n this._terminal.params = [];\n this._terminal.currentParam = 0;\n this._state = ParserState.NORMAL;\n }\n else {\n if (!this._terminal.params.length) {\n if (ch >= '0' && ch <= '9') {\n this._terminal.currentParam =\n this._terminal.currentParam * 10 + ch.charCodeAt(0) - 48;\n }\n else if (ch === ';') {\n this._terminal.params.push(this._terminal.currentParam);\n this._terminal.currentParam = '';\n }\n }\n else {\n this._terminal.currentParam += ch;\n }\n }\n break;\n case ParserState.CSI_PARAM:\n if (ch in csiParamStateHandler) {\n csiParamStateHandler[ch](this);\n break;\n }\n this.finalizeParam();\n this._state = ParserState.CSI;\n case ParserState.CSI:\n if (ch in csiStateHandler) {\n csiStateHandler[ch](this._inputHandler, this._terminal.params, this._terminal.prefix, this._terminal.postfix, this);\n }\n else {\n this._terminal.error('Unknown CSI code: %s.', ch);\n }\n this._state = ParserState.NORMAL;\n this._terminal.prefix = '';\n this._terminal.postfix = '';\n break;\n case ParserState.DCS:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n var pt = void 0;\n var valid = void 0;\n switch (this._terminal.prefix) {\n case '':\n break;\n case '$q':\n pt = this._terminal.currentParam;\n valid = false;\n switch (pt) {\n case '\"q':\n pt = '0\"q';\n break;\n case '\"p':\n pt = '61\"p';\n break;\n case 'r':\n pt = ''\n + (this._terminal.scrollTop + 1)\n + ';'\n + (this._terminal.scrollBottom + 1)\n + 'r';\n break;\n case 'm':\n pt = '0m';\n break;\n default:\n this._terminal.error('Unknown DCS Pt: %s.', pt);\n pt = '';\n break;\n }\n this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '$r' + pt + EscapeSequences_1.C0.ESC + '\\\\');\n break;\n case '+p':\n break;\n case '+q':\n pt = this._terminal.currentParam;\n valid = false;\n this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '+r' + pt + EscapeSequences_1.C0.ESC + '\\\\');\n break;\n default:\n this._terminal.error('Unknown DCS prefix: %s.', this._terminal.prefix);\n break;\n }\n this._terminal.currentParam = 0;\n this._terminal.prefix = '';\n this._state = ParserState.NORMAL;\n }\n else if (!this._terminal.currentParam) {\n if (!this._terminal.prefix && ch !== '$' && ch !== '+') {\n this._terminal.currentParam = ch;\n }\n else if (this._terminal.prefix.length === 2) {\n this._terminal.currentParam = ch;\n }\n else {\n this._terminal.prefix += ch;\n }\n }\n else {\n this._terminal.currentParam += ch;\n }\n break;\n case ParserState.IGNORE:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n this._state = ParserState.NORMAL;\n }\n break;\n }\n }\n return this._state;\n };\n Parser.prototype.setState = function (state) {\n this._state = state;\n };\n Parser.prototype.setPrefix = function (prefix) {\n this._terminal.prefix = prefix;\n };\n Parser.prototype.setPostfix = function (postfix) {\n this._terminal.postfix = postfix;\n };\n Parser.prototype.setParam = function (param) {\n this._terminal.currentParam = param;\n };\n Parser.prototype.getParam = function () {\n return this._terminal.currentParam;\n };\n Parser.prototype.finalizeParam = function () {\n this._terminal.params.push(this._terminal.currentParam);\n this._terminal.currentParam = 0;\n };\n Parser.prototype.skipNextChar = function () {\n this._position++;\n };\n return Parser;\n}());\nexports.Parser = Parser;\n\n//# sourceMappingURL=Parser.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Parser.js\n// module id = 19\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DomElementObjectPool_1 = require(\"./utils/DomElementObjectPool\");\nvar MAX_REFRESH_FRAME_SKIP = 5;\nvar FLAGS;\n(function (FLAGS) {\n FLAGS[FLAGS[\"BOLD\"] = 1] = \"BOLD\";\n FLAGS[FLAGS[\"UNDERLINE\"] = 2] = \"UNDERLINE\";\n FLAGS[FLAGS[\"BLINK\"] = 4] = \"BLINK\";\n FLAGS[FLAGS[\"INVERSE\"] = 8] = \"INVERSE\";\n FLAGS[FLAGS[\"INVISIBLE\"] = 16] = \"INVISIBLE\";\n})(FLAGS || (FLAGS = {}));\n;\nvar brokenBold = null;\nvar Renderer = (function () {\n function Renderer(_terminal) {\n this._terminal = _terminal;\n this._refreshRowsQueue = [];\n this._refreshFramesSkipped = 0;\n this._refreshAnimationFrame = null;\n this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span');\n if (brokenBold === null) {\n brokenBold = checkBoldBroken(this._terminal.element);\n }\n this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span');\n }\n Renderer.prototype.queueRefresh = function (start, end) {\n this._refreshRowsQueue.push({ start: start, end: end });\n if (!this._refreshAnimationFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this));\n }\n };\n Renderer.prototype._refreshLoop = function () {\n var skipFrame = this._terminal.writeBuffer.length > 0 && this._refreshFramesSkipped++ <= MAX_REFRESH_FRAME_SKIP;\n if (skipFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this));\n return;\n }\n this._refreshFramesSkipped = 0;\n var start;\n var end;\n if (this._refreshRowsQueue.length > 4) {\n start = 0;\n end = this._terminal.rows - 1;\n }\n else {\n start = this._refreshRowsQueue[0].start;\n end = this._refreshRowsQueue[0].end;\n for (var i = 1; i < this._refreshRowsQueue.length; i++) {\n if (this._refreshRowsQueue[i].start < start) {\n start = this._refreshRowsQueue[i].start;\n }\n if (this._refreshRowsQueue[i].end > end) {\n end = this._refreshRowsQueue[i].end;\n }\n }\n }\n this._refreshRowsQueue = [];\n this._refreshAnimationFrame = null;\n this._refresh(start, end);\n };\n Renderer.prototype._refresh = function (start, end) {\n var parent;\n if (end - start >= this._terminal.rows / 2) {\n parent = this._terminal.element.parentNode;\n if (parent) {\n this._terminal.element.removeChild(this._terminal.rowContainer);\n }\n }\n var width = this._terminal.cols;\n var y = start;\n if (end >= this._terminal.rows) {\n this._terminal.log('`end` is too large. Most likely a bad CSR.');\n end = this._terminal.rows - 1;\n }\n for (; y <= end; y++) {\n var row = y + this._terminal.ydisp;\n var line = this._terminal.lines.get(row);\n var x = void 0;\n if (this._terminal.y === y - (this._terminal.ybase - this._terminal.ydisp) &&\n this._terminal.cursorState &&\n !this._terminal.cursorHidden) {\n x = this._terminal.x;\n }\n else {\n x = -1;\n }\n var attr = this._terminal.defAttr;\n var documentFragment = document.createDocumentFragment();\n var innerHTML = '';\n var currentElement = void 0;\n while (this._terminal.children[y].children.length) {\n var child = this._terminal.children[y].children[0];\n this._terminal.children[y].removeChild(child);\n this._spanElementObjectPool.release(child);\n }\n for (var i = 0; i < width; i++) {\n var data = line[i][0];\n var ch = line[i][1];\n var ch_width = line[i][2];\n if (!ch_width) {\n continue;\n }\n if (i === x) {\n data = -1;\n }\n if (data !== attr) {\n if (attr !== this._terminal.defAttr) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n currentElement = null;\n }\n if (data !== this._terminal.defAttr) {\n if (innerHTML && !currentElement) {\n currentElement = this._spanElementObjectPool.acquire();\n }\n if (currentElement) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n }\n currentElement = this._spanElementObjectPool.acquire();\n if (data === -1) {\n currentElement.classList.add('reverse-video');\n currentElement.classList.add('terminal-cursor');\n }\n else {\n var bg = data & 0x1ff;\n var fg = (data >> 9) & 0x1ff;\n var flags = data >> 18;\n if (flags & FLAGS.BOLD) {\n if (!brokenBold) {\n currentElement.classList.add('xterm-bold');\n }\n if (fg < 8) {\n fg += 8;\n }\n }\n if (flags & FLAGS.UNDERLINE) {\n currentElement.classList.add('xterm-underline');\n }\n if (flags & FLAGS.BLINK) {\n currentElement.classList.add('xterm-blink');\n }\n if (flags & FLAGS.INVERSE) {\n var temp = bg;\n bg = fg;\n fg = temp;\n if ((flags & 1) && fg < 8) {\n fg += 8;\n }\n }\n if (flags & FLAGS.INVISIBLE) {\n currentElement.classList.add('xterm-hidden');\n }\n if (flags & FLAGS.INVERSE) {\n if (bg === 257) {\n bg = 15;\n }\n if (fg === 256) {\n fg = 0;\n }\n }\n if (bg < 256) {\n currentElement.classList.add(\"xterm-bg-color-\" + bg);\n }\n if (fg < 256) {\n currentElement.classList.add(\"xterm-color-\" + fg);\n }\n }\n }\n }\n if (ch_width === 2) {\n innerHTML += \"\" + ch + \"\";\n }\n else if (ch.charCodeAt(0) > 255) {\n innerHTML += \"\" + ch + \"\";\n }\n else {\n switch (ch) {\n case '&':\n innerHTML += '&';\n break;\n case '<':\n innerHTML += '<';\n break;\n case '>':\n innerHTML += '>';\n break;\n default:\n if (ch <= ' ') {\n innerHTML += ' ';\n }\n else {\n innerHTML += ch;\n }\n break;\n }\n }\n attr = data;\n }\n if (innerHTML && !currentElement) {\n currentElement = this._spanElementObjectPool.acquire();\n }\n if (currentElement) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n currentElement = null;\n }\n this._terminal.children[y].appendChild(documentFragment);\n }\n if (parent) {\n this._terminal.element.appendChild(this._terminal.rowContainer);\n }\n this._terminal.emit('refresh', { element: this._terminal.element, start: start, end: end });\n };\n ;\n Renderer.prototype.refreshSelection = function (start, end) {\n while (this._terminal.selectionContainer.children.length) {\n this._terminal.selectionContainer.removeChild(this._terminal.selectionContainer.children[0]);\n }\n if (!start || !end) {\n return;\n }\n var viewportStartRow = start[1] - this._terminal.ydisp;\n var viewportEndRow = end[1] - this._terminal.ydisp;\n var viewportCappedStartRow = Math.max(viewportStartRow, 0);\n var viewportCappedEndRow = Math.min(viewportEndRow, this._terminal.rows - 1);\n if (viewportCappedStartRow >= this._terminal.rows || viewportCappedEndRow < 0) {\n return;\n }\n var documentFragment = document.createDocumentFragment();\n var startCol = viewportStartRow === viewportCappedStartRow ? start[0] : 0;\n var endCol = viewportCappedStartRow === viewportCappedEndRow ? end[0] : this._terminal.cols;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow, startCol, endCol));\n var middleRowsCount = viewportCappedEndRow - viewportCappedStartRow - 1;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow + 1, 0, this._terminal.cols, middleRowsCount));\n if (viewportCappedStartRow !== viewportCappedEndRow) {\n var endCol_1 = viewportEndRow === viewportCappedEndRow ? end[0] : this._terminal.cols;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedEndRow, 0, endCol_1));\n }\n this._terminal.selectionContainer.appendChild(documentFragment);\n };\n Renderer.prototype._createSelectionElement = function (row, colStart, colEnd, rowCount) {\n if (rowCount === void 0) { rowCount = 1; }\n var element = document.createElement('div');\n element.style.height = rowCount * this._terminal.charMeasure.height + \"px\";\n element.style.top = row * this._terminal.charMeasure.height + \"px\";\n element.style.left = colStart * this._terminal.charMeasure.width + \"px\";\n element.style.width = this._terminal.charMeasure.width * (colEnd - colStart) + \"px\";\n return element;\n };\n return Renderer;\n}());\nexports.Renderer = Renderer;\nfunction checkBoldBroken(terminal) {\n var document = terminal.ownerDocument;\n var el = document.createElement('span');\n el.innerHTML = 'hello world';\n terminal.appendChild(el);\n var w1 = el.offsetWidth;\n var h1 = el.offsetHeight;\n el.style.fontWeight = 'bold';\n var w2 = el.offsetWidth;\n var h2 = el.offsetHeight;\n terminal.removeChild(el);\n return w1 !== w2 || h1 !== h2;\n}\n\n//# sourceMappingURL=Renderer.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Renderer.js\n// module id = 20\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Mouse = require(\"./utils/Mouse\");\nvar Browser = require(\"./utils/Browser\");\nvar EventEmitter_1 = require(\"./EventEmitter\");\nvar SelectionModel_1 = require(\"./SelectionModel\");\nvar DRAG_SCROLL_MAX_THRESHOLD = 50;\nvar DRAG_SCROLL_MAX_SPEED = 15;\nvar DRAG_SCROLL_INTERVAL = 50;\nvar CLEAR_MOUSE_DOWN_TIME = 400;\nvar CLEAR_MOUSE_DISTANCE = 10;\nvar WORD_SEPARATORS = ' ()[]{}\\'\"';\nvar LINE_DATA_CHAR_INDEX = 1;\nvar LINE_DATA_WIDTH_INDEX = 2;\nvar NON_BREAKING_SPACE_CHAR = String.fromCharCode(160);\nvar ALL_NON_BREAKING_SPACE_REGEX = new RegExp(NON_BREAKING_SPACE_CHAR, 'g');\nvar SelectionMode;\n(function (SelectionMode) {\n SelectionMode[SelectionMode[\"NORMAL\"] = 0] = \"NORMAL\";\n SelectionMode[SelectionMode[\"WORD\"] = 1] = \"WORD\";\n SelectionMode[SelectionMode[\"LINE\"] = 2] = \"LINE\";\n})(SelectionMode || (SelectionMode = {}));\nvar SelectionManager = (function (_super) {\n __extends(SelectionManager, _super);\n function SelectionManager(_terminal, _buffer, _rowContainer, _charMeasure) {\n var _this = _super.call(this) || this;\n _this._terminal = _terminal;\n _this._buffer = _buffer;\n _this._rowContainer = _rowContainer;\n _this._charMeasure = _charMeasure;\n _this._initListeners();\n _this.enable();\n _this._model = new SelectionModel_1.SelectionModel(_terminal);\n _this._lastMouseDownTime = 0;\n _this._activeSelectionMode = SelectionMode.NORMAL;\n return _this;\n }\n SelectionManager.prototype._initListeners = function () {\n var _this = this;\n this._bufferTrimListener = function (amount) { return _this._onTrim(amount); };\n this._mouseMoveListener = function (event) { return _this._onMouseMove(event); };\n this._mouseDownListener = function (event) { return _this._onMouseDown(event); };\n this._mouseUpListener = function (event) { return _this._onMouseUp(event); };\n };\n SelectionManager.prototype.disable = function () {\n this.clearSelection();\n this._buffer.off('trim', this._bufferTrimListener);\n this._rowContainer.removeEventListener('mousedown', this._mouseDownListener);\n };\n SelectionManager.prototype.enable = function () {\n this._buffer.on('trim', this._bufferTrimListener);\n this._rowContainer.addEventListener('mousedown', this._mouseDownListener);\n };\n SelectionManager.prototype.setBuffer = function (buffer) {\n this._buffer = buffer;\n this.clearSelection();\n };\n Object.defineProperty(SelectionManager.prototype, \"hasSelection\", {\n get: function () {\n var start = this._model.finalSelectionStart;\n var end = this._model.finalSelectionEnd;\n if (!start || !end) {\n return false;\n }\n return start[0] !== end[0] || start[1] !== end[1];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SelectionManager.prototype, \"selectionText\", {\n get: function () {\n var start = this._model.finalSelectionStart;\n var end = this._model.finalSelectionEnd;\n if (!start || !end) {\n return '';\n }\n var startRowEndCol = start[1] === end[1] ? end[0] : null;\n var result = [];\n result.push(this._translateBufferLineToString(this._buffer.get(start[1]), true, start[0], startRowEndCol));\n for (var i = start[1] + 1; i <= end[1] - 1; i++) {\n var bufferLine = this._buffer.get(i);\n var lineText = this._translateBufferLineToString(bufferLine, true);\n if (bufferLine.isWrapped) {\n result[result.length - 1] += lineText;\n }\n else {\n result.push(lineText);\n }\n }\n if (start[1] !== end[1]) {\n var bufferLine = this._buffer.get(end[1]);\n var lineText = this._translateBufferLineToString(bufferLine, true, 0, end[0]);\n if (bufferLine.isWrapped) {\n result[result.length - 1] += lineText;\n }\n else {\n result.push(lineText);\n }\n }\n var formattedResult = result.map(function (line) {\n return line.replace(ALL_NON_BREAKING_SPACE_REGEX, ' ');\n }).join(Browser.isMSWindows ? '\\r\\n' : '\\n');\n return formattedResult;\n },\n enumerable: true,\n configurable: true\n });\n SelectionManager.prototype.clearSelection = function () {\n this._model.clearSelection();\n this._removeMouseDownListeners();\n this.refresh();\n };\n SelectionManager.prototype._translateBufferLineToString = function (line, trimRight, startCol, endCol) {\n if (startCol === void 0) { startCol = 0; }\n if (endCol === void 0) { endCol = null; }\n var lineString = '';\n var widthAdjustedStartCol = startCol;\n var widthAdjustedEndCol = endCol;\n for (var i = 0; i < line.length; i++) {\n var char = line[i];\n lineString += char[LINE_DATA_CHAR_INDEX];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n if (startCol >= i) {\n widthAdjustedStartCol--;\n }\n if (endCol >= i) {\n widthAdjustedEndCol--;\n }\n }\n }\n var finalEndCol = widthAdjustedEndCol || line.length;\n if (trimRight) {\n var rightWhitespaceIndex = lineString.search(/\\s+$/);\n if (rightWhitespaceIndex !== -1) {\n finalEndCol = Math.min(finalEndCol, rightWhitespaceIndex);\n }\n if (finalEndCol <= widthAdjustedStartCol) {\n return '';\n }\n }\n return lineString.substring(widthAdjustedStartCol, finalEndCol);\n };\n SelectionManager.prototype.refresh = function (isNewSelection) {\n var _this = this;\n if (!this._refreshAnimationFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(function () { return _this._refresh(); });\n }\n if (Browser.isLinux && isNewSelection) {\n var selectionText = this.selectionText;\n if (selectionText.length) {\n this.emit('newselection', this.selectionText);\n }\n }\n };\n SelectionManager.prototype._refresh = function () {\n this._refreshAnimationFrame = null;\n this.emit('refresh', { start: this._model.finalSelectionStart, end: this._model.finalSelectionEnd });\n };\n SelectionManager.prototype.selectAll = function () {\n this._model.isSelectAllActive = true;\n this.refresh();\n };\n SelectionManager.prototype._onTrim = function (amount) {\n var needsRefresh = this._model.onTrim(amount);\n if (needsRefresh) {\n this.refresh();\n }\n };\n SelectionManager.prototype._getMouseBufferCoords = function (event) {\n var coords = Mouse.getCoords(event, this._rowContainer, this._charMeasure, this._terminal.cols, this._terminal.rows, true);\n coords[0]--;\n coords[1]--;\n coords[1] += this._terminal.ydisp;\n return coords;\n };\n SelectionManager.prototype._getMouseEventScrollAmount = function (event) {\n var offset = Mouse.getCoordsRelativeToElement(event, this._rowContainer)[1];\n var terminalHeight = this._terminal.rows * this._charMeasure.height;\n if (offset >= 0 && offset <= terminalHeight) {\n return 0;\n }\n if (offset > terminalHeight) {\n offset -= terminalHeight;\n }\n offset = Math.min(Math.max(offset, -DRAG_SCROLL_MAX_THRESHOLD), DRAG_SCROLL_MAX_THRESHOLD);\n offset /= DRAG_SCROLL_MAX_THRESHOLD;\n return (offset / Math.abs(offset)) + Math.round(offset * (DRAG_SCROLL_MAX_SPEED - 1));\n };\n SelectionManager.prototype._onMouseDown = function (event) {\n if (event.button !== 0) {\n return;\n }\n event.preventDefault();\n this._dragScrollAmount = 0;\n this._setMouseClickCount(event);\n if (event.shiftKey) {\n this._onShiftClick(event);\n }\n else {\n if (this._clickCount === 1) {\n this._onSingleClick(event);\n }\n else if (this._clickCount === 2) {\n this._onDoubleClick(event);\n }\n else if (this._clickCount === 3) {\n this._onTripleClick(event);\n }\n }\n this._addMouseDownListeners();\n this.refresh(true);\n };\n SelectionManager.prototype._addMouseDownListeners = function () {\n var _this = this;\n this._rowContainer.ownerDocument.addEventListener('mousemove', this._mouseMoveListener);\n this._rowContainer.ownerDocument.addEventListener('mouseup', this._mouseUpListener);\n this._dragScrollIntervalTimer = setInterval(function () { return _this._dragScroll(); }, DRAG_SCROLL_INTERVAL);\n };\n SelectionManager.prototype._removeMouseDownListeners = function () {\n this._rowContainer.ownerDocument.removeEventListener('mousemove', this._mouseMoveListener);\n this._rowContainer.ownerDocument.removeEventListener('mouseup', this._mouseUpListener);\n clearInterval(this._dragScrollIntervalTimer);\n this._dragScrollIntervalTimer = null;\n };\n SelectionManager.prototype._onShiftClick = function (event) {\n if (this._model.selectionStart) {\n this._model.selectionEnd = this._getMouseBufferCoords(event);\n }\n };\n SelectionManager.prototype._onSingleClick = function (event) {\n this._model.selectionStartLength = 0;\n this._model.isSelectAllActive = false;\n this._activeSelectionMode = SelectionMode.NORMAL;\n this._model.selectionStart = this._getMouseBufferCoords(event);\n if (this._model.selectionStart) {\n this._model.selectionEnd = null;\n var char = this._buffer.get(this._model.selectionStart[1])[this._model.selectionStart[0]];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n this._model.selectionStart[0]++;\n }\n }\n };\n SelectionManager.prototype._onDoubleClick = function (event) {\n var coords = this._getMouseBufferCoords(event);\n if (coords) {\n this._activeSelectionMode = SelectionMode.WORD;\n this._selectWordAt(coords);\n }\n };\n SelectionManager.prototype._onTripleClick = function (event) {\n var coords = this._getMouseBufferCoords(event);\n if (coords) {\n this._activeSelectionMode = SelectionMode.LINE;\n this._selectLineAt(coords[1]);\n }\n };\n SelectionManager.prototype._setMouseClickCount = function (event) {\n var currentTime = (new Date()).getTime();\n if (currentTime - this._lastMouseDownTime > CLEAR_MOUSE_DOWN_TIME || this._distanceFromLastMousePosition(event) > CLEAR_MOUSE_DISTANCE) {\n this._clickCount = 0;\n }\n this._lastMouseDownTime = currentTime;\n this._lastMousePosition = [event.pageX, event.pageY];\n this._clickCount++;\n };\n SelectionManager.prototype._distanceFromLastMousePosition = function (event) {\n var result = Math.max(Math.abs(this._lastMousePosition[0] - event.pageX), Math.abs(this._lastMousePosition[1] - event.pageY));\n return result;\n };\n SelectionManager.prototype._onMouseMove = function (event) {\n var previousSelectionEnd = this._model.selectionEnd ? [this._model.selectionEnd[0], this._model.selectionEnd[1]] : null;\n this._model.selectionEnd = this._getMouseBufferCoords(event);\n if (this._activeSelectionMode === SelectionMode.LINE) {\n if (this._model.selectionEnd[1] < this._model.selectionStart[1]) {\n this._model.selectionEnd[0] = 0;\n }\n else {\n this._model.selectionEnd[0] = this._terminal.cols;\n }\n }\n else if (this._activeSelectionMode === SelectionMode.WORD) {\n this._selectToWordAt(this._model.selectionEnd);\n }\n this._dragScrollAmount = this._getMouseEventScrollAmount(event);\n if (this._dragScrollAmount > 0) {\n this._model.selectionEnd[0] = this._terminal.cols - 1;\n }\n else if (this._dragScrollAmount < 0) {\n this._model.selectionEnd[0] = 0;\n }\n if (this._model.selectionEnd[1] < this._buffer.length) {\n var char = this._buffer.get(this._model.selectionEnd[1])[this._model.selectionEnd[0]];\n if (char && char[2] === 0) {\n this._model.selectionEnd[0]++;\n }\n }\n if (!previousSelectionEnd ||\n previousSelectionEnd[0] !== this._model.selectionEnd[0] ||\n previousSelectionEnd[1] !== this._model.selectionEnd[1]) {\n this.refresh(true);\n }\n };\n SelectionManager.prototype._dragScroll = function () {\n if (this._dragScrollAmount) {\n this._terminal.scrollDisp(this._dragScrollAmount, false);\n if (this._dragScrollAmount > 0) {\n this._model.selectionEnd = [this._terminal.cols - 1, this._terminal.ydisp + this._terminal.rows];\n }\n else {\n this._model.selectionEnd = [0, this._terminal.ydisp];\n }\n this.refresh();\n }\n };\n SelectionManager.prototype._onMouseUp = function (event) {\n this._removeMouseDownListeners();\n };\n SelectionManager.prototype._convertViewportColToCharacterIndex = function (bufferLine, coords) {\n var charIndex = coords[0];\n for (var i = 0; coords[0] >= i; i++) {\n var char = bufferLine[i];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n charIndex--;\n }\n }\n return charIndex;\n };\n SelectionManager.prototype._getWordAt = function (coords) {\n var bufferLine = this._buffer.get(coords[1]);\n var line = this._translateBufferLineToString(bufferLine, false);\n var endIndex = this._convertViewportColToCharacterIndex(bufferLine, coords);\n var startIndex = endIndex;\n var charOffset = coords[0] - startIndex;\n var leftWideCharCount = 0;\n var rightWideCharCount = 0;\n if (line.charAt(startIndex) === ' ') {\n while (startIndex > 0 && line.charAt(startIndex - 1) === ' ') {\n startIndex--;\n }\n while (endIndex < line.length && line.charAt(endIndex + 1) === ' ') {\n endIndex++;\n }\n }\n else {\n var startCol = coords[0];\n var endCol = coords[0];\n if (bufferLine[startCol][LINE_DATA_WIDTH_INDEX] === 0) {\n leftWideCharCount++;\n startCol--;\n }\n if (bufferLine[endCol][LINE_DATA_WIDTH_INDEX] === 2) {\n rightWideCharCount++;\n endCol++;\n }\n while (startIndex > 0 && !this._isCharWordSeparator(line.charAt(startIndex - 1))) {\n if (bufferLine[startCol - 1][LINE_DATA_WIDTH_INDEX] === 0) {\n leftWideCharCount++;\n startCol--;\n }\n startIndex--;\n startCol--;\n }\n while (endIndex + 1 < line.length && !this._isCharWordSeparator(line.charAt(endIndex + 1))) {\n if (bufferLine[endCol + 1][LINE_DATA_WIDTH_INDEX] === 2) {\n rightWideCharCount++;\n endCol++;\n }\n endIndex++;\n endCol++;\n }\n }\n var start = startIndex + charOffset - leftWideCharCount;\n var length = Math.min(endIndex - startIndex + leftWideCharCount + rightWideCharCount + 1, this._terminal.cols);\n return { start: start, length: length };\n };\n SelectionManager.prototype._selectWordAt = function (coords) {\n var wordPosition = this._getWordAt(coords);\n this._model.selectionStart = [wordPosition.start, coords[1]];\n this._model.selectionStartLength = wordPosition.length;\n };\n SelectionManager.prototype._selectToWordAt = function (coords) {\n var wordPosition = this._getWordAt(coords);\n this._model.selectionEnd = [this._model.areSelectionValuesReversed() ? wordPosition.start : (wordPosition.start + wordPosition.length), coords[1]];\n };\n SelectionManager.prototype._isCharWordSeparator = function (char) {\n return WORD_SEPARATORS.indexOf(char) >= 0;\n };\n SelectionManager.prototype._selectLineAt = function (line) {\n this._model.selectionStart = [0, line];\n this._model.selectionStartLength = this._terminal.cols;\n };\n return SelectionManager;\n}(EventEmitter_1.EventEmitter));\nexports.SelectionManager = SelectionManager;\n\n//# sourceMappingURL=SelectionManager.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/SelectionManager.js\n// module id = 21\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar SelectionModel = (function () {\n function SelectionModel(_terminal) {\n this._terminal = _terminal;\n this.clearSelection();\n }\n SelectionModel.prototype.clearSelection = function () {\n this.selectionStart = null;\n this.selectionEnd = null;\n this.isSelectAllActive = false;\n this.selectionStartLength = 0;\n };\n Object.defineProperty(SelectionModel.prototype, \"finalSelectionStart\", {\n get: function () {\n if (this.isSelectAllActive) {\n return [0, 0];\n }\n if (!this.selectionEnd || !this.selectionStart) {\n return this.selectionStart;\n }\n return this.areSelectionValuesReversed() ? this.selectionEnd : this.selectionStart;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SelectionModel.prototype, \"finalSelectionEnd\", {\n get: function () {\n if (this.isSelectAllActive) {\n return [this._terminal.cols, this._terminal.ybase + this._terminal.rows - 1];\n }\n if (!this.selectionStart) {\n return null;\n }\n if (!this.selectionEnd || this.areSelectionValuesReversed()) {\n return [this.selectionStart[0] + this.selectionStartLength, this.selectionStart[1]];\n }\n if (this.selectionStartLength) {\n if (this.selectionEnd[1] === this.selectionStart[1]) {\n return [Math.max(this.selectionStart[0] + this.selectionStartLength, this.selectionEnd[0]), this.selectionEnd[1]];\n }\n }\n return this.selectionEnd;\n },\n enumerable: true,\n configurable: true\n });\n SelectionModel.prototype.areSelectionValuesReversed = function () {\n var start = this.selectionStart;\n var end = this.selectionEnd;\n return start[1] > end[1] || (start[1] === end[1] && start[0] > end[0]);\n };\n SelectionModel.prototype.onTrim = function (amount) {\n if (this.selectionStart) {\n this.selectionStart[1] -= amount;\n }\n if (this.selectionEnd) {\n this.selectionEnd[1] -= amount;\n }\n if (this.selectionEnd && this.selectionEnd[1] < 0) {\n this.clearSelection();\n return true;\n }\n if (this.selectionStart && this.selectionStart[1] < 0) {\n this.selectionStart[1] = 0;\n }\n return false;\n };\n return SelectionModel;\n}());\nexports.SelectionModel = SelectionModel;\n\n//# sourceMappingURL=SelectionModel.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/SelectionModel.js\n// module id = 22\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Viewport = (function () {\n function Viewport(terminal, viewportElement, scrollArea, charMeasure) {\n var _this = this;\n this.terminal = terminal;\n this.viewportElement = viewportElement;\n this.scrollArea = scrollArea;\n this.charMeasure = charMeasure;\n this.currentRowHeight = 0;\n this.lastRecordedBufferLength = 0;\n this.lastRecordedViewportHeight = 0;\n this.terminal.on('scroll', this.syncScrollArea.bind(this));\n this.terminal.on('resize', this.syncScrollArea.bind(this));\n this.viewportElement.addEventListener('scroll', this.onScroll.bind(this));\n setTimeout(function () { return _this.syncScrollArea(); }, 0);\n }\n Viewport.prototype.refresh = function () {\n if (this.charMeasure.height > 0) {\n var rowHeightChanged = this.charMeasure.height !== this.currentRowHeight;\n if (rowHeightChanged) {\n this.currentRowHeight = this.charMeasure.height;\n this.viewportElement.style.lineHeight = this.charMeasure.height + 'px';\n this.terminal.rowContainer.style.lineHeight = this.charMeasure.height + 'px';\n }\n var viewportHeightChanged = this.lastRecordedViewportHeight !== this.terminal.rows;\n if (rowHeightChanged || viewportHeightChanged) {\n this.lastRecordedViewportHeight = this.terminal.rows;\n this.viewportElement.style.height = this.charMeasure.height * this.terminal.rows + 'px';\n this.terminal.selectionContainer.style.height = this.viewportElement.style.height;\n }\n this.scrollArea.style.height = (this.charMeasure.height * this.lastRecordedBufferLength) + 'px';\n }\n };\n Viewport.prototype.syncScrollArea = function () {\n if (this.lastRecordedBufferLength !== this.terminal.lines.length) {\n this.lastRecordedBufferLength = this.terminal.lines.length;\n this.refresh();\n }\n else if (this.lastRecordedViewportHeight !== this.terminal.rows) {\n this.refresh();\n }\n else {\n if (this.charMeasure.height !== this.currentRowHeight) {\n this.refresh();\n }\n }\n var scrollTop = this.terminal.ydisp * this.currentRowHeight;\n if (this.viewportElement.scrollTop !== scrollTop) {\n this.viewportElement.scrollTop = scrollTop;\n }\n };\n Viewport.prototype.onScroll = function (ev) {\n var newRow = Math.round(this.viewportElement.scrollTop / this.currentRowHeight);\n var diff = newRow - this.terminal.ydisp;\n this.terminal.scrollDisp(diff, true);\n };\n Viewport.prototype.onWheel = function (ev) {\n if (ev.deltaY === 0) {\n return;\n }\n var multiplier = 1;\n if (ev.deltaMode === WheelEvent.DOM_DELTA_LINE) {\n multiplier = this.currentRowHeight;\n }\n else if (ev.deltaMode === WheelEvent.DOM_DELTA_PAGE) {\n multiplier = this.currentRowHeight * this.terminal.rows;\n }\n this.viewportElement.scrollTop += ev.deltaY * multiplier;\n ev.preventDefault();\n };\n ;\n Viewport.prototype.onTouchStart = function (ev) {\n this.lastTouchY = ev.touches[0].pageY;\n };\n ;\n Viewport.prototype.onTouchMove = function (ev) {\n var deltaY = this.lastTouchY - ev.touches[0].pageY;\n this.lastTouchY = ev.touches[0].pageY;\n if (deltaY === 0) {\n return;\n }\n this.viewportElement.scrollTop += deltaY;\n ev.preventDefault();\n };\n ;\n return Viewport;\n}());\nexports.Viewport = Viewport;\n\n//# sourceMappingURL=Viewport.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Viewport.js\n// module id = 23\n// module chunks = 0","var map = {\n\t\"./attach/attach\": 4,\n\t\"./attach/attach.js\": 4,\n\t\"./attach/package.json\": 25,\n\t\"./fit/fit\": 5,\n\t\"./fit/fit.js\": 5,\n\t\"./fit/package.json\": 26,\n\t\"./fullscreen/fullscreen\": 6,\n\t\"./fullscreen/fullscreen.css\": 27,\n\t\"./fullscreen/fullscreen.js\": 6,\n\t\"./fullscreen/package.json\": 28,\n\t\"./terminado/package.json\": 29,\n\t\"./terminado/terminado\": 7,\n\t\"./terminado/terminado.js\": 7\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 24;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons ^\\.\\/.*$\n// module id = 24\n// module chunks = 0","module.exports = {\"name\":\"xterm.attach\",\"main\":\"attach.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/attach/package.json\n// module id = 25\n// module chunks = 0","module.exports = {\"name\":\"xterm.fit\",\"main\":\"fit.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fit/package.json\n// module id = 26\n// module chunks = 0","module.exports = {\"name\":\"xterm.fullscreen\",\"main\":\"fullscreen.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fullscreen/package.json\n// module id = 28\n// module chunks = 0","module.exports = {\"name\":\"xterm.terminado\",\"main\":\"terminado.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/terminado/package.json\n// module id = 29\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction prepareTextForTerminal(text, isMSWindows) {\n if (isMSWindows) {\n return text.replace(/\\r?\\n/g, '\\r');\n }\n return text;\n}\nexports.prepareTextForTerminal = prepareTextForTerminal;\nfunction copyHandler(ev, term, selectionManager) {\n if (term.browser.isMSIE) {\n window.clipboardData.setData('Text', selectionManager.selectionText);\n }\n else {\n ev.clipboardData.setData('text/plain', selectionManager.selectionText);\n }\n ev.preventDefault();\n}\nexports.copyHandler = copyHandler;\nfunction pasteHandler(ev, term) {\n ev.stopPropagation();\n var text;\n var dispatchPaste = function (text) {\n text = prepareTextForTerminal(text, term.browser.isMSWindows);\n term.handler(text);\n term.textarea.value = '';\n term.emit('paste', text);\n return term.cancel(ev);\n };\n if (term.browser.isMSIE) {\n if (window.clipboardData) {\n text = window.clipboardData.getData('Text');\n dispatchPaste(text);\n }\n }\n else {\n if (ev.clipboardData) {\n text = ev.clipboardData.getData('text/plain');\n dispatchPaste(text);\n }\n }\n}\nexports.pasteHandler = pasteHandler;\nfunction moveTextAreaUnderMouseCursor(ev, textarea) {\n textarea.style.position = 'fixed';\n textarea.style.width = '20px';\n textarea.style.height = '20px';\n textarea.style.left = (ev.clientX - 10) + 'px';\n textarea.style.top = (ev.clientY - 10) + 'px';\n textarea.style.zIndex = '1000';\n textarea.focus();\n setTimeout(function () {\n textarea.style.position = null;\n textarea.style.width = null;\n textarea.style.height = null;\n textarea.style.left = null;\n textarea.style.top = null;\n textarea.style.zIndex = null;\n }, 4);\n}\nexports.moveTextAreaUnderMouseCursor = moveTextAreaUnderMouseCursor;\nfunction rightClickHandler(ev, textarea, selectionManager) {\n moveTextAreaUnderMouseCursor(ev, textarea);\n textarea.value = selectionManager.selectionText;\n textarea.select();\n}\nexports.rightClickHandler = rightClickHandler;\n\n//# sourceMappingURL=Clipboard.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/handlers/Clipboard.js\n// module id = 30\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventEmitter_js_1 = require(\"../EventEmitter.js\");\nvar CharMeasure = (function (_super) {\n __extends(CharMeasure, _super);\n function CharMeasure(document, parentElement) {\n var _this = _super.call(this) || this;\n _this._document = document;\n _this._parentElement = parentElement;\n return _this;\n }\n Object.defineProperty(CharMeasure.prototype, \"width\", {\n get: function () {\n return this._width;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CharMeasure.prototype, \"height\", {\n get: function () {\n return this._height;\n },\n enumerable: true,\n configurable: true\n });\n CharMeasure.prototype.measure = function () {\n var _this = this;\n if (!this._measureElement) {\n this._measureElement = this._document.createElement('span');\n this._measureElement.style.position = 'absolute';\n this._measureElement.style.top = '0';\n this._measureElement.style.left = '-9999em';\n this._measureElement.textContent = 'W';\n this._measureElement.setAttribute('aria-hidden', 'true');\n this._parentElement.appendChild(this._measureElement);\n setTimeout(function () { return _this._doMeasure(); }, 0);\n }\n else {\n this._doMeasure();\n }\n };\n CharMeasure.prototype._doMeasure = function () {\n var geometry = this._measureElement.getBoundingClientRect();\n if (geometry.width === 0 || geometry.height === 0) {\n return;\n }\n if (this._width !== geometry.width || this._height !== geometry.height) {\n this._width = geometry.width;\n this._height = geometry.height;\n this.emit('charsizechanged');\n }\n };\n return CharMeasure;\n}(EventEmitter_js_1.EventEmitter));\nexports.CharMeasure = CharMeasure;\n\n//# sourceMappingURL=CharMeasure.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/CharMeasure.js\n// module id = 31\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventEmitter_1 = require(\"../EventEmitter\");\nvar CircularList = (function (_super) {\n __extends(CircularList, _super);\n function CircularList(maxLength) {\n var _this = _super.call(this) || this;\n _this._array = new Array(maxLength);\n _this._startIndex = 0;\n _this._length = 0;\n return _this;\n }\n Object.defineProperty(CircularList.prototype, \"maxLength\", {\n get: function () {\n return this._array.length;\n },\n set: function (newMaxLength) {\n var newArray = new Array(newMaxLength);\n for (var i = 0; i < Math.min(newMaxLength, this.length); i++) {\n newArray[i] = this._array[this._getCyclicIndex(i)];\n }\n this._array = newArray;\n this._startIndex = 0;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CircularList.prototype, \"length\", {\n get: function () {\n return this._length;\n },\n set: function (newLength) {\n if (newLength > this._length) {\n for (var i = this._length; i < newLength; i++) {\n this._array[i] = undefined;\n }\n }\n this._length = newLength;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CircularList.prototype, \"forEach\", {\n get: function () {\n var _this = this;\n return function (callbackfn) {\n var i = 0;\n var length = _this.length;\n for (var i_1 = 0; i_1 < length; i_1++) {\n callbackfn(_this.get(i_1), i_1);\n }\n };\n },\n enumerable: true,\n configurable: true\n });\n CircularList.prototype.get = function (index) {\n return this._array[this._getCyclicIndex(index)];\n };\n CircularList.prototype.set = function (index, value) {\n this._array[this._getCyclicIndex(index)] = value;\n };\n CircularList.prototype.push = function (value) {\n this._array[this._getCyclicIndex(this._length)] = value;\n if (this._length === this.maxLength) {\n this._startIndex++;\n if (this._startIndex === this.maxLength) {\n this._startIndex = 0;\n }\n this.emit('trim', 1);\n }\n else {\n this._length++;\n }\n };\n CircularList.prototype.pop = function () {\n return this._array[this._getCyclicIndex(this._length-- - 1)];\n };\n CircularList.prototype.splice = function (start, deleteCount) {\n var items = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n items[_i - 2] = arguments[_i];\n }\n if (deleteCount) {\n for (var i = start; i < this._length - deleteCount; i++) {\n this._array[this._getCyclicIndex(i)] = this._array[this._getCyclicIndex(i + deleteCount)];\n }\n this._length -= deleteCount;\n }\n if (items && items.length) {\n for (var i = this._length - 1; i >= start; i--) {\n this._array[this._getCyclicIndex(i + items.length)] = this._array[this._getCyclicIndex(i)];\n }\n for (var i = 0; i < items.length; i++) {\n this._array[this._getCyclicIndex(start + i)] = items[i];\n }\n if (this._length + items.length > this.maxLength) {\n var countToTrim = (this._length + items.length) - this.maxLength;\n this._startIndex += countToTrim;\n this._length = this.maxLength;\n this.emit('trim', countToTrim);\n }\n else {\n this._length += items.length;\n }\n }\n };\n CircularList.prototype.trimStart = function (count) {\n if (count > this._length) {\n count = this._length;\n }\n this._startIndex += count;\n this._length -= count;\n this.emit('trim', count);\n };\n CircularList.prototype.shiftElements = function (start, count, offset) {\n if (count <= 0) {\n return;\n }\n if (start < 0 || start >= this._length) {\n throw new Error('start argument out of range');\n }\n if (start + offset < 0) {\n throw new Error('Cannot shift elements in list beyond index 0');\n }\n if (offset > 0) {\n for (var i = count - 1; i >= 0; i--) {\n this.set(start + i + offset, this.get(start + i));\n }\n var expandListBy = (start + count + offset) - this._length;\n if (expandListBy > 0) {\n this._length += expandListBy;\n while (this._length > this.maxLength) {\n this._length--;\n this._startIndex++;\n this.emit('trim', 1);\n }\n }\n }\n else {\n for (var i = 0; i < count; i++) {\n this.set(start + i + offset, this.get(start + i));\n }\n }\n };\n CircularList.prototype._getCyclicIndex = function (index) {\n return (this._startIndex + index) % this.maxLength;\n };\n return CircularList;\n}(EventEmitter_1.EventEmitter));\nexports.CircularList = CircularList;\n\n//# sourceMappingURL=CircularList.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/CircularList.js\n// module id = 32\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DomElementObjectPool = (function () {\n function DomElementObjectPool(type) {\n this.type = type;\n this._type = type;\n this._pool = [];\n this._inUse = {};\n }\n DomElementObjectPool.prototype.acquire = function () {\n var element;\n if (this._pool.length === 0) {\n element = this._createNew();\n }\n else {\n element = this._pool.pop();\n }\n this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)] = element;\n return element;\n };\n DomElementObjectPool.prototype.release = function (element) {\n if (!this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)]) {\n throw new Error('Could not release an element not yet acquired');\n }\n delete this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)];\n this._cleanElement(element);\n this._pool.push(element);\n };\n DomElementObjectPool.prototype._createNew = function () {\n var element = document.createElement(this._type);\n var id = DomElementObjectPool._objectCount++;\n element.setAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE, id.toString(10));\n return element;\n };\n DomElementObjectPool.prototype._cleanElement = function (element) {\n element.className = '';\n element.innerHTML = '';\n };\n return DomElementObjectPool;\n}());\nDomElementObjectPool.OBJECT_ID_ATTRIBUTE = 'data-obj-id';\nDomElementObjectPool._objectCount = 0;\nexports.DomElementObjectPool = DomElementObjectPool;\n\n//# sourceMappingURL=DomElementObjectPool.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/DomElementObjectPool.js\n// module id = 33\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction contains(arr, el) {\n return arr.indexOf(el) >= 0;\n}\nexports.contains = contains;\n;\n\n//# sourceMappingURL=Generic.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Generic.js\n// module id = 34\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/js/webpack.config.js b/js/webpack.config.js index c3cb8fb..238547e 100644 --- a/js/webpack.config.js +++ b/js/webpack.config.js @@ -1,7 +1,7 @@ module.exports = { entry: "./src/main.ts", output: { - filename: "./dist/bundle.js" + filename: "./dist/gotty-bundle.js" }, devtool: "source-map", resolve: { diff --git a/resources/index.html b/resources/index.html index d4a4708..67c1c0f 100644 --- a/resources/index.html +++ b/resources/index.html @@ -11,6 +11,6 @@
- + diff --git a/server/asset.go b/server/asset.go index d5d9795..fc568bf 100644 --- a/server/asset.go +++ b/server/asset.go @@ -6,6 +6,7 @@ // bindata/static/favicon.png // bindata/static/index.html // bindata/static/js/bundle.js +// bindata/static/js/gotty-bundle.js // DO NOT EDIT! package server @@ -153,7 +154,7 @@ func staticFaviconPng() (*asset, error) { return a, nil } -var _staticIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x91\x51\x6a\xc3\x30\x0c\x86\xdf\x77\x0a\xcd\x07\x88\x2e\xa0\xf4\x2a\x25\xb5\x95\x44\xad\x63\x87\x48\x09\xcd\x4a\xef\x3e\x3c\xb7\x30\xe8\x60\x63\x4f\x16\xfa\xbf\xef\xc7\xd8\xf4\x1e\xb2\xb7\x7d\x66\x18\x6d\x8a\x87\x37\xaa\x07\x00\x8d\xdc\x85\x32\x00\x90\x89\x45\x3e\xdc\x6e\xd0\x7c\x4d\x70\xbf\x13\xd6\x5d\xcd\xa3\xa4\x0b\x2c\x1c\x5b\x27\x3e\x27\x07\xa5\xaf\x75\x32\x75\x03\xe3\x9c\x06\x07\xe3\xc2\x7d\xeb\xfa\x6e\x2b\x79\x53\x56\x2f\xa6\xda\x1e\x59\x47\x66\x7b\xe2\x0d\x7a\x55\x94\x14\xf8\xda\x78\x55\x07\xf8\x67\xe9\x6a\xbc\x4c\xff\x92\x8e\x7e\x55\xcb\x93\x7c\xf0\x37\x9d\xf0\xf9\x18\x74\xca\x61\x7f\x34\x06\xd9\x40\x42\xeb\x8a\x26\xa9\x8b\xee\x40\x18\x64\x7b\xa4\xea\x17\x99\x0d\x74\xf1\xa5\xbf\x5b\x6d\x3c\x5a\xbe\x70\x6a\xce\x5a\xc0\x1a\xff\xc8\xfa\x9c\x7a\x19\x7e\xe7\xce\x8a\xa7\x35\x85\xc8\x2f\x28\x61\xbd\x26\x61\xfd\xcd\xcf\x00\x00\x00\xff\xff\x9f\x85\xd7\x0f\xe5\x01\x00\x00") +var _staticIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x91\x51\x6a\xc3\x30\x0c\x86\xdf\x77\x0a\xcd\xef\x8b\x2f\xa0\xe4\x2a\x25\xb5\x95\x44\xad\x63\x07\x4b\x09\xcd\x4a\xef\x3e\x3c\xb7\x30\xe8\x60\xa3\x4f\x16\xfa\xbf\xef\xc7\xd8\xf8\xee\x93\xd3\x7d\x21\x98\x74\x0e\xdd\x1b\xd6\x03\x00\x27\xea\x7d\x19\x00\x50\x59\x03\x75\xd7\x2b\x34\xdf\x13\xdc\x6e\x68\xeb\xae\xe6\x81\xe3\x19\x32\x85\xd6\xb0\x4b\xd1\x40\xe9\x6b\x0d\xcf\xfd\x48\x76\x89\xa3\x81\x29\xd3\xd0\x9a\xa1\xdf\x4a\xde\x94\xd5\x93\x29\xba\x07\x92\x89\x48\x1f\x78\x63\x9d\x88\xe5\xe8\xe9\xd2\x38\x11\x03\xf6\xdf\xd2\x45\x29\xcf\x2f\x49\x07\xb7\x8a\xa6\x99\x3f\xe9\x87\x8e\xf6\xf1\x18\x78\x4c\x7e\xbf\x37\x7a\xde\x80\x7d\x6b\x8a\xc6\xb1\x0f\xa6\x43\xeb\x79\xbb\xa7\xe2\x32\x2f\x0a\x92\x5d\xe9\xef\x57\x9d\x0e\x9a\xce\x14\x9b\x93\x14\xb0\xc6\xbf\xb2\x2e\xc5\x81\xc7\xbf\xb9\x93\xd8\x31\xa9\xee\x1f\xc7\x35\xfa\x40\x4f\x02\xda\x7a\x59\xb4\xf5\x4f\xbf\x02\x00\x00\xff\xff\x92\x6e\x9e\x42\xeb\x01\x00\x00") func staticIndexHtmlBytes() ([]byte, error) { return bindataRead( @@ -168,12 +169,12 @@ func staticIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/index.html", size: 485, mode: os.FileMode(436), modTime: time.Unix(1503381631, 0)} + info := bindataFileInfo{name: "static/index.html", size: 491, mode: os.FileMode(436), modTime: time.Unix(1503385310, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _staticJsBundleJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x59\x73\x23\x49\xd2\x20\xf6\x3c\xfc\x15\x5e\xec\xdd\x06\x50\x04\x41\x00\x3c\xaa\x8a\x2c\x74\x7d\x28\x1e\xdd\xf5\x4d\x5d\x4b\xb2\xa7\x67\x96\xcd\x8f\x13\xc8\x0c\x00\x59\x95\xc8\xc0\x64\x26\x48\x62\xba\x38\x4f\x92\xcc\xf4\xa8\x17\x99\x1e\xd6\x4c\xd7\x4a\xdf\xae\x4c\x26\x5b\xc9\xd6\xd6\x24\xd3\x4a\x32\x9b\xfe\x63\xb2\xf0\xb8\x33\x23\x01\xb0\x8e\x99\xfe\x6c\x07\xd5\x5d\x05\xc4\xe1\xe1\xe1\xe1\xee\xe1\x11\xe1\xe1\xb1\xf5\x10\x3f\x5b\x50\x1f\xce\x92\x20\x8f\x58\x52\x9f\xb0\x70\x16\xd3\xac\x01\x3f\xc1\xd6\x16\xdc\xd0\xc1\x94\x04\xef\x9f\x33\x96\x67\x79\x4a\xa6\x6b\xba\xc6\xaf\xb6\xb6\xe0\x7c\x4c\x41\x94\x87\x80\x04\x63\x6a\xe5\x5e\x93\x14\xa2\x24\xcb\x49\x1c\xd3\xf0\x95\x80\x09\x3d\xf8\xe9\xee\x40\x17\x2a\xc3\x4a\xe9\x1f\x66\x51\x4a\x41\x21\x63\x95\x50\x49\x70\x75\x25\x71\xba\x92\xa5\xaf\xae\x24\xce\x2f\xc2\x06\xfc\xe4\x83\xce\xc1\x1f\x8e\x69\xf0\x1e\xa2\xa1\xc2\x37\xca\x20\x4a\x4a\x58\xff\x2a\x1a\xd6\x8b\x58\x5f\x28\xe8\x97\x36\x78\xf8\xd5\xaf\x7e\x95\xd2\x7c\x96\x26\xa5\x6e\x9a\x0a\x2d\x7a\x3b\x65\x69\x9e\x1d\xd8\xd5\xee\x8a\x98\xa5\x94\xe4\x14\x08\x24\xf4\x46\x61\x57\x27\x49\x08\xd3\x59\x0e\x51\x0e\x51\x92\x33\xc8\xc7\x92\xc4\x0d\xbb\x36\x27\xb2\xac\xd1\x5b\x80\x06\xa7\xbb\x83\x78\xb4\x0f\x2a\xb3\xe9\x64\xc4\xfb\x30\x24\x71\x46\xdd\x54\xd9\x8b\x7d\xf8\xc9\xc1\xdd\x3f\x94\xbc\x4b\xc7\xb7\x34\x98\xe5\x14\xb1\x96\xf8\x79\x86\xf4\x57\x93\x12\xbd\x02\x12\xc7\x72\x34\x15\xed\x9a\x12\x82\xfa\xd7\xa4\x7b\x38\xa1\x51\x89\xd2\x49\x4c\x46\x36\x3e\x24\x83\x98\x91\x90\x86\x65\x84\x5a\x31\xf4\x20\x4f\x67\xb4\x12\xd8\xa9\x18\x78\x0e\x4e\x62\x03\x6c\x68\x41\xb7\x8b\x4b\x26\x71\x91\xb7\x19\xe2\xae\xdc\x8a\x2b\x19\xbc\x4e\x66\x13\x33\x03\x36\x78\x47\x83\x1c\xea\x86\x04\x32\xe7\xea\xca\x66\x10\x0f\x85\x5a\x13\xe8\x29\x30\x55\xa2\x58\x6a\xb0\x24\x27\x3e\xc0\x81\x87\x07\xab\x5a\x88\x42\x9a\xe4\x51\x3e\xd7\x6c\x01\x43\x96\x02\x1f\xfd\x28\x19\xc1\x98\xa4\x13\x96\xcc\x21\x9a\x08\xda\xde\x44\xf9\x58\x48\x00\x4b\x53\xde\xef\x80\x25\x39\xbd\xcd\x97\x20\x14\x41\x4f\xc3\xaf\x5f\x93\x78\x46\xb9\x52\x93\xe3\x81\xbf\x0f\xa0\x52\x1d\x85\x74\x18\x25\x14\x46\x34\xcf\x69\xea\xa2\xa9\xd0\x93\x63\xb9\x04\x8b\xd0\xc6\x42\xf3\x6e\x42\x26\xb4\x29\xa1\x17\xd4\x4a\x34\xac\x3f\xf0\x01\x62\x6e\xed\x46\x51\x1b\xbd\x41\x9e\x68\x09\xc4\xdf\xa6\x6c\x4a\xd3\x7c\x5e\x6c\xd1\xad\xf2\xab\x80\x25\xc3\x68\x34\x4b\xc9\x20\xa6\x5e\xd1\xff\x15\x4d\x66\x13\x2a\xf3\xb9\x4c\x14\xb2\x47\x34\xdf\x97\xdd\x70\x32\xee\x1a\x95\x3a\xaf\x92\xe4\x23\x9a\x1f\xd1\x21\x99\xc5\xf9\x31\x22\x5d\x60\x0e\x36\x99\x92\x3c\x1a\x44\x31\xe7\x1b\x64\x89\x84\x25\x9b\x6a\x30\x24\x4b\x2f\x19\x8c\xc4\x1e\x0c\x51\xa5\x40\x46\xae\x52\xe5\xa0\x2b\x39\x81\xaf\xbf\x56\xe2\x7b\x75\x45\x33\xc1\xda\xf0\xcc\xe9\xaf\x46\xd5\x74\xa2\x6e\x71\x9b\xa8\x7e\x51\x0b\x45\x56\xed\xf2\x00\xee\x60\xbf\x12\x82\x68\x42\x50\x21\x2b\xc3\x71\xd8\x16\x7e\xe5\x67\xbb\xba\xe8\x45\x13\x6a\xa4\xa6\x39\xed\xc0\xa3\x99\x44\xd6\xc1\x2a\x23\x24\x59\x6c\x9a\xb2\x9c\xe5\xf3\x29\x6d\x8d\x49\xf6\xe6\x26\x51\xcc\x86\xea\x7b\xc9\x08\x30\x7b\x04\x84\x1a\x6b\xc2\x54\x02\xb0\x7a\xba\x4a\x53\xe5\xfa\x0b\x04\xda\x20\x33\x9d\x0d\xe2\x28\xb8\x9a\x92\x7c\x7c\x75\xb5\x04\xdd\x29\xf4\x60\x7d\xbd\x0a\xe6\x4b\x46\x42\xa0\x49\x9e\xce\xf5\xb4\x92\x84\xaa\x07\x65\xf5\x20\x33\x7c\x16\x8c\xaf\x6d\x6e\x2f\x75\x76\xed\x31\xbb\xd3\xca\xfd\xd3\x3f\x56\x57\xea\x17\x6b\x5b\x0f\xa1\x0d\x32\xad\x6c\x0d\x36\x61\xe1\xa4\x0b\x3f\xad\xad\xad\xcf\x32\x0a\x59\x9e\x46\x41\xbe\x7e\xb0\xb6\xb6\x44\x19\xad\x1b\x41\x5a\x6f\xc2\x4f\x42\x1b\x0b\x05\x03\x5c\x75\x70\x29\x3c\x64\x93\x29\xcb\x22\x8e\xc6\x77\x34\x9e\xd2\xf4\xaa\x03\x3d\x2f\xf1\x3a\x7b\xb2\xca\xf1\x35\x4d\xf2\xe3\x49\xc4\x19\xba\xba\xb4\x2c\xfc\x9b\x88\xde\x70\x74\x2a\x0b\x76\xb7\x15\x26\x71\x34\x1d\x30\x92\x86\x95\x45\xb7\xdb\xaa\x68\x94\x06\xb3\x98\xa4\x2f\xa3\xac\x1a\xf0\x76\x57\xe1\x9b\x05\x64\x4a\xcf\xe8\x1f\x66\x34\x09\x68\x56\x8d\x89\x2c\xff\x22\x99\xce\xf2\xef\x48\x12\xc6\x8b\xfa\xf7\x48\x96\x7e\x4b\xd2\x6c\x51\xb9\x27\xb2\xdc\x29\x4d\x42\x9a\x2e\x28\xd9\x55\xbd\x7b\x19\x25\xef\xa3\x61\xb4\x08\xe8\x63\x59\xf4\x8c\xc6\x14\x59\xe8\x15\x49\xc8\x68\x11\x70\x35\x1e\x87\x63\x92\xbe\xa2\x24\x9b\xa5\xb4\x9a\x72\xaa\xf0\xf3\x94\xdd\x64\xa8\xa3\x7d\xc5\x14\x12\xaf\xd8\x2c\xab\x06\xa6\xfa\x1f\xb2\x60\x36\xa1\x49\x0e\x3d\xa8\x73\x55\xc3\x86\x70\x13\x25\x21\xbb\x81\x07\x3d\xa8\xcd\x12\xc1\xc4\x61\xad\x01\xcf\x64\x46\x4b\x57\xd9\x87\x64\x16\xc7\x02\xce\x0f\xa7\x2f\xce\x8f\xaf\x9e\x7f\x7f\x72\x72\x7c\x7a\xf5\xb6\xff\xfd\xd9\xf1\xd5\xf9\x77\xa7\xc7\x67\xdf\xbd\x79\x79\x04\x3d\xd8\x75\x4a\xf5\xcf\x0f\xbf\xbb\x3a\x7b\xf1\x2f\x8f\xa1\x07\xdb\xed\xb6\x24\xc1\xf7\xa7\x67\x6f\x4e\xaf\x9e\xbf\x7c\xf1\xfa\xd7\x57\x2f\x5e\x9f\x1f\x9f\xfe\xa6\xff\x12\x7a\xb0\xc7\x0b\xe8\x09\xe2\x9c\xa6\x93\x28\x21\x71\x9d\x4d\xf9\x6f\xbe\x54\x5b\x03\x00\xe0\x10\x32\x1a\x0f\xb9\xf5\x3a\x8e\xb2\x03\x4c\x8c\x86\x50\x7f\x50\xe7\xbf\x85\x71\x96\x04\xbc\x7f\x0a\x44\x43\xd5\xe5\x1f\xa9\x9e\xf8\x32\x44\x37\x41\xd2\x11\x76\x34\xbb\x68\x5f\x36\xc1\xfc\xea\x38\xbf\xba\x97\x0d\xd1\xda\x1d\xfe\xcd\x91\x68\x0d\xf4\x08\xc9\xb1\x3a\x30\x79\x01\x47\x83\x5b\xd9\xaa\x1d\x99\x22\x8a\xb8\x52\xdc\xb2\x7f\x0a\xb5\xcf\x7b\xd3\x30\xdd\x93\x63\x26\xa9\x01\xbd\x5e\x0f\x6a\xc9\x6c\x32\xa0\x69\xcd\xee\x9e\xce\xb7\xd2\xf8\x27\x60\x71\xb6\x0f\x4e\x47\x9d\x7c\x8e\xfd\xbe\xdb\x75\x27\x7f\x2c\xe4\x71\xdf\xa1\x87\x2e\x71\x67\x13\xc6\xa0\xa0\xbe\x7d\xf8\x80\x4b\x62\x9e\x29\x55\xe6\x7b\x3a\xcf\xea\x9a\x2e\xd2\x60\xc8\x1a\xad\x21\x4b\x8f\x49\x30\xd6\xaa\x19\xea\xef\xe9\xdc\xee\x1f\x27\x85\x04\x7b\xf1\x9e\xce\x2f\xa1\xd7\x43\xe6\x6c\x14\xfa\xeb\x96\x31\x43\x60\xa7\x1f\x38\x35\x38\x64\x55\x4c\x54\x7b\xd0\xb3\x2a\x2a\x1c\x31\xab\xd8\xda\x82\x16\x3d\x2d\xdd\xad\x95\xbf\x71\x8e\x51\x55\xcb\x38\xde\x59\x8c\x20\x73\x5b\x01\x8b\x59\x9a\xb5\x62\x9a\x8c\xf2\x31\xf2\xc3\x63\x0f\x23\xc8\x62\x06\xaa\xaa\x17\xb0\x24\x20\xb9\x19\x83\x2b\x99\x9e\xc5\x51\x40\xeb\x8f\x1b\x0e\xaf\xd3\x38\xa3\x4b\x1a\xef\xec\x7d\xbe\xd6\x3b\x7b\xf7\x6f\xbe\x7d\x9f\xe6\x45\x33\xed\x26\x6c\x76\x1b\xcb\x28\x81\x85\x9a\x7e\x08\x9b\xdd\xfb\x23\xfa\x19\x47\xa9\xb3\x77\x1f\xe4\xb8\x42\xa9\x6a\xe8\xc0\x94\x28\x89\xaf\x95\x37\x25\xa9\x98\x42\x54\xed\x01\x0b\xe7\x5c\xbc\xd5\x6f\x59\xe0\xc3\x07\xa8\xeb\xd9\xe3\x99\x9e\x7b\x5a\x23\x9a\x1f\xc7\x14\xd5\xc7\xf3\xf9\x39\x19\xbd\x26\x13\x5a\xaf\x71\x20\xb5\xc6\x45\xfb\x52\x4e\x34\x8d\x03\x07\xdf\x02\xb6\x99\xdd\xde\x88\xb2\x09\xcd\xd3\xf9\x45\xfb\xd2\xaa\xc4\x95\x99\x55\x09\x7f\xfa\x2a\x75\xec\x4a\x2a\x15\x7a\x70\xa1\x9b\x6e\x1a\x80\x97\x65\x11\x94\x4a\xd1\x1e\x50\x41\xc2\xa4\x5e\x0b\x49\xce\x97\x24\xc5\xa2\xa5\x01\x99\x0f\x48\x46\xa1\x07\x6d\x0b\x95\x79\x18\x65\xd3\x42\xda\x6d\xb1\x4c\xe1\x77\x30\x4b\x33\x96\x9e\xe5\x24\x2f\x42\x13\x39\xdf\x45\x61\x48\x71\x65\xc8\xd7\xbf\x0e\x85\x93\x6b\x9a\xe6\xc7\x2c\xb6\x12\xff\x30\xa3\x33\x0e\xa7\x56\xb3\x12\xb3\x20\x65\x71\x7c\xce\x8a\xa8\x89\xf4\xe7\x2c\xcf\xd9\x44\x4e\xcb\x82\xe6\x9b\xd0\x71\xf0\xc8\x72\x36\xf9\x35\x9d\xe3\x5c\x27\x0d\x3c\xe8\x49\xdb\xa2\x80\xee\xf3\x38\x4a\xde\xbf\x48\x72\x9a\x5e\x93\xb8\x5c\x88\x4c\xa7\x71\x14\x10\x4e\xdb\x5f\xd3\xf9\x94\x84\x9e\x8e\x59\x65\x0e\x11\xa6\xa7\x0c\x4b\xa3\x51\x94\xbc\x62\x21\xf5\x64\x46\x49\x46\xd3\xbc\x22\xf3\x26\x25\x53\x92\xb2\x59\x12\xca\x02\x62\x2f\x4d\xe7\x27\x2c\x9d\xf8\x30\x0f\xc6\xdc\x60\xcd\xcb\x19\xa3\xea\x9c\x98\x5e\xa3\x21\xd1\x2e\xc3\xe1\x7c\x7e\xc1\xcb\xdb\xac\x1c\xd2\xe0\x25\x0b\x48\xce\x52\x9b\x81\x3a\x6d\xb4\x14\xad\xa4\xeb\xbc\xdb\xf6\x24\x6e\x97\x13\x45\x6f\x8a\xa9\x13\xfe\x1b\x47\xd3\x56\x12\x19\x4d\xc2\x13\x16\xcc\xec\xb4\x59\x3e\x2c\x56\xce\x46\x69\x31\x69\x96\xde\x5e\xe7\xc5\x44\x2a\x14\x86\xd3\xf5\x28\x0e\x53\x9a\xd8\x12\x4f\x87\x29\xcd\xc6\x67\x39\x49\xf3\x72\xf2\x71\x12\xda\x0d\x93\x6b\x1a\xfe\xb6\x98\xf0\xbb\x62\xc2\x21\x8b\x33\x07\x14\x09\xc9\x20\xf6\x8c\xf4\x4d\x1a\xe5\xfe\x9c\x90\x0e\xfb\x79\xce\xf9\xae\xde\x86\xa7\x4f\x51\xf7\x7f\x80\x7a\x77\xf7\x11\xff\xf5\x44\xfe\xd8\xe3\x3f\xda\x0d\x57\x04\x64\x3d\x1b\x8c\xab\x87\xc9\x04\x87\xfe\xd2\xad\xc6\xb5\xef\x5b\x9e\x59\xe0\x96\x69\x4a\x87\xd1\x6d\x51\xa0\xa7\x2c\xcb\x3d\xc9\x91\xb5\x00\xe3\xdc\x48\x6f\x0a\x6b\xb2\x96\xfd\xd3\x36\x54\x15\x72\x99\xae\xa8\x96\x67\x2d\xf1\xa5\x5e\x6a\x40\x68\xd8\x86\x43\x69\xb1\x52\xd3\xaa\x44\xfd\xfe\xf0\xa1\x28\x19\x59\x61\xfd\xa5\xaa\x94\xd2\xcb\x55\x63\xb5\xca\x53\x75\x4c\x02\x2f\x4c\x6f\xec\x75\x60\x4b\x7f\xaf\x37\x0a\x23\x4f\x9f\xcf\x86\x43\x84\xe2\x8c\x05\x66\xbd\x48\xde\xa6\x6c\x94\xd2\x2c\xf3\x28\x90\x5b\x36\x1c\x9e\xd1\x24\x3f\x67\x87\x24\x0f\xc6\xdf\x4f\xbd\x4a\x26\xca\xe9\x59\xce\xa6\x53\xea\xd3\x70\xd9\x2c\x4d\xd9\x88\xe4\xf4\x6a\x1c\x8d\xc6\xc5\x61\x8c\xa3\x04\x4f\xa3\x78\x5f\xdc\x15\x7b\xcb\xfe\x59\xb7\x74\xf8\x80\x04\xef\x65\x07\xf1\x68\xcb\xd6\xe6\x22\xf9\x66\x1c\xc5\x14\xea\xd1\xe6\x66\x69\xd6\xc3\xf6\x5a\xd3\x59\x36\x16\x20\x07\x31\x49\xde\xbf\x8c\x12\x5a\x77\xed\x10\x5c\xcd\xf8\x46\xa9\x04\xb1\x58\xa0\x95\xd1\x5c\x90\xbb\x6e\x5a\x2c\x4f\xa9\x39\x19\xb8\xfa\x28\x9f\x4d\x39\x11\x33\x67\xf0\x66\x19\x4d\xcf\xb0\xd7\x51\x32\x32\xc4\xbd\x5b\x8b\x92\x31\x4d\xa3\xdc\xac\x4f\x9a\x8b\x16\x6b\x8d\x83\x35\x6d\x9d\x99\x7d\x3c\x9a\x92\x8c\x4a\x19\x36\x6b\x19\xd5\x41\xb9\x06\xad\x3b\x4a\xe2\x6b\xf8\x53\xfb\xb6\x33\x1c\xa2\x56\x70\xd4\xc0\xd7\x20\x32\x0e\xd6\xee\xac\xc6\x72\x92\x8c\xd8\xa1\x32\xe7\x2e\x10\x70\xed\xab\x2e\xdd\xde\xd9\xde\xab\x35\xe5\xcf\x20\x68\xb7\xdb\x6d\xfd\x73\x87\x3e\x21\x6d\x2b\x77\x87\xd8\xb9\xdb\x3b\x7b\xbb\x64\x47\xff\x7c\xb4\xbb\xdb\x7e\x34\xd0\x3f\xdb\x7b\x4f\x1e\x3f\x21\xfa\x67\xb8\x1d\x3e\x0a\x86\xfa\xe7\xee\xee\xee\xa3\xdd\x6d\xfd\x93\x0e\xbb\x4f\xba\x4f\xf4\xcf\xc7\x84\x76\xb7\x0d\xe4\x61\x40\x9f\xec\x98\xba\x8f\xba\x4f\x86\x16\x28\x12\x3e\x1a\x92\xc7\x16\x56\xb4\x4b\xbb\x06\x32\xff\x04\xb5\xb5\x4b\x8b\x14\xda\xa8\xad\x97\x69\xcd\xf9\x58\xe7\xfb\x88\x27\xad\xe5\x46\x13\x50\x88\xdb\xb7\xed\x76\x13\xda\xb7\xbb\x43\xfe\xf7\xe3\x47\xfc\x6f\x82\xdf\x43\xfc\x3e\x1c\x5e\x36\x21\x92\xb6\xa0\xd1\xb2\x43\x96\x42\xfd\x00\x22\x78\x0a\xdd\xce\xde\x01\x44\x1b\x1b\x8e\x9d\x3f\xcb\xeb\xe9\x45\x3d\x82\x2d\xd8\xde\x6b\xc0\x3f\x87\x3d\xf8\x00\xed\xcb\x26\xc8\xc4\x42\x5a\xc4\x7f\xb9\xdb\x0d\x15\x6d\xed\x94\x9a\xe2\xbd\x78\x0c\x1b\x10\xc1\x43\xe8\xb4\x0f\x5c\x14\x9a\xc0\xff\x73\x00\x6b\x92\xc9\x02\xa3\x26\x0c\x6c\x78\x72\x4d\x81\x72\x5d\xfb\xaa\x06\x1b\x30\xa6\xb7\xf5\xb4\x21\xbf\x8c\xd4\x97\x41\xc3\x0f\x96\xe7\x05\x0e\x40\xe8\x41\xd0\xca\xd9\x59\x9e\x46\xc9\x48\xec\x6b\x6a\xe4\x85\x64\x04\x6a\xc5\xf4\x14\xba\xf0\x0c\x6a\x6d\xde\x6c\x00\xfb\x10\xd8\x4d\xa8\xc2\x72\x05\x73\xd7\xa8\xdb\xc2\x78\x55\x1e\x75\x67\x79\x64\x97\xbd\x5e\xc6\x41\x6c\x96\xa3\x86\x6f\x7a\x78\x49\xa4\x34\xc5\x08\xc9\x02\xe5\x81\xda\x2d\x33\x05\x96\x84\x1e\xe0\x84\xf9\x22\xc9\xeb\x02\xd2\x45\x74\xd9\xca\x66\x83\x4c\x92\xa7\xd1\x04\x87\x44\x6c\x96\x8b\xc1\xb8\xd0\x49\xfc\x23\x2a\xc3\x37\xdf\xe0\x4a\xfc\x6b\xe4\xd4\x66\x45\x89\xc7\xfe\x02\x22\x5f\xe4\xe8\x0c\x97\x0b\x25\xc9\xd9\x2c\x2f\xd1\x5b\x6d\x90\xe8\xad\x27\xd1\x9b\xfd\x12\xa1\xa4\x0a\xa6\x13\xba\x0f\xfa\xac\xa8\x29\xab\xa8\xb5\x88\x3e\xa7\xc3\xc2\x34\x9d\xf0\xa5\xe2\x3e\xd4\x6e\xf9\x77\x59\x5a\xad\xd8\xf6\xe1\xe2\x71\xbb\x09\xdd\x1d\xb9\x67\x65\xad\x20\x1c\x30\x6a\x89\x34\x8f\x39\xa4\x41\xcc\x82\xf7\x12\xd2\x75\x94\xcd\x48\xfc\x9c\xc6\x6e\xbb\x53\x36\x7d\x93\x94\x52\xcd\x54\xb9\x0f\x9d\x76\xbb\xad\x53\x29\xe5\x8b\x91\xcc\x29\x1c\xd2\xc1\x6c\xe4\x62\x81\x9b\x80\xc2\x6a\x76\x8b\x46\x19\x37\x23\xcf\xf2\x30\x4a\x9c\x8c\x59\x46\x4f\x62\x76\x73\xc8\x92\x3c\x2d\x52\x86\x0c\xf8\xcc\xf6\x43\x14\xe6\xe3\x7d\x78\xec\x4c\x10\xd6\x56\xa0\x9d\x3c\xe4\xa6\xb9\x5e\x64\x50\x12\x8c\xeb\x15\xbb\x71\x4d\xf0\x6e\xc3\xb9\x9b\x64\x55\x5b\x64\x07\x4e\xd9\x56\xd5\x7e\x5c\xa1\xce\x9d\x7f\x3a\x55\x38\x57\x4e\xa5\x62\xde\xa7\xb7\x39\x49\x29\x11\xc5\xeb\x85\xf9\xd2\x40\x1b\xd1\xfc\x0d\xa2\xe3\x40\x7c\x4f\xe7\x4d\x50\x07\xe8\xda\x50\x79\xc0\xd3\x21\x4a\xca\x18\x37\x5c\x73\x25\x65\x37\x68\x69\x1d\xa7\x29\x4b\xeb\xb5\xd7\x4c\x2e\xfd\xc5\x21\x2e\x07\xb2\xce\x95\x18\xff\xb2\x01\xb5\xf5\x5a\xd9\x24\x12\x1b\xbc\xf6\x1e\x8c\xd9\x86\x74\x36\xe8\x4b\x9b\xd9\xa5\x3a\x1e\x91\xe5\x65\x14\x91\xbd\x54\xc9\x7e\x71\x54\xc9\x6e\xa2\x3c\x18\x97\xb6\x80\x03\x92\x51\xa8\x19\x29\xac\xed\x3b\x5a\x8c\xe3\x87\x08\xc3\x53\x63\xbc\xfa\x36\x6c\xd1\xaf\x28\xe3\xa6\x5f\xed\x8c\xe6\x39\xb7\x02\xf3\x31\xb5\xc4\x5b\xf4\x1b\x62\x6e\xbf\xe7\x63\x22\x5c\x61\xc4\x9e\x3b\xb0\x21\x6e\x99\x43\xed\xa0\x04\x97\xc3\xdc\xe8\xc1\x7a\x7d\x1d\x36\xac\xcd\x90\x0d\x58\x6f\x40\x94\x41\xc2\x72\x20\x71\xcc\x6e\x68\xd8\x5a\x2f\xd7\x0e\x58\x92\xb1\x98\xb6\x6e\x48\x9a\xd4\x27\xd9\xa8\x51\x2e\x22\x47\xd4\x5a\x0d\xa8\xcf\x5d\x89\x12\x7e\x76\x72\x06\xd4\x5b\x45\x18\xf3\x72\x16\xfe\xa6\xba\x82\x22\x24\x99\xb0\x19\x5f\xcb\x9c\xa7\xd1\xc4\x5a\x51\x19\x18\x9b\xd2\x19\xa5\x12\x42\x42\x69\x98\x9d\x8a\x05\x3b\x1e\x52\x99\x9d\xb0\x4d\x17\xbc\x59\x2d\x17\x3f\x56\xb3\x79\x1a\x4d\x70\x3b\xa0\x6e\xd7\x5d\x54\x4f\xed\xc4\xbd\x22\xf9\xb8\x35\x21\xb7\x75\x2b\xd5\xc5\xa0\xb9\x18\x01\xb5\x7d\x57\x00\xe4\xe9\x4a\x35\x20\x3e\x10\x36\x45\xaa\x68\x0f\x85\xad\x8e\x7a\xbb\xe9\x6e\xc0\x55\xc0\xbf\x2b\xa5\x96\x53\x2c\x6a\x4e\xc8\xed\x4b\xb9\x87\x5d\x35\x8e\x62\xf3\x48\x1e\x37\xb7\xb2\x79\x12\x88\xd5\x55\x3f\xa5\xa4\xde\x58\xc4\xa7\x83\x94\x92\xf7\xc5\x55\x9c\x9a\x29\xac\xd6\xca\xbc\xec\x64\x2f\x54\x17\x96\x4d\x50\xd0\x17\x6a\x8d\x78\x68\x4a\x70\xbb\x4b\x70\xfc\x41\x15\xa2\x45\xc8\x68\x55\xf8\x20\xcb\xed\xab\x56\x10\x93\x2c\xe3\xeb\xed\x56\xce\x46\xa3\x98\xd6\xd7\xd1\x94\xd9\x14\xd5\x37\x33\x5e\x7f\x93\x6b\xf9\x94\x53\x7c\x5d\x2a\x5d\x71\xce\xa7\x93\x6b\x05\x84\xee\xdf\xc2\x80\xa4\x2e\xec\x01\x49\x8b\x50\xbd\xdd\xb4\x2d\x8d\x0a\x0a\x16\x56\xd9\xde\xe1\xf5\xcf\x3d\x29\xcd\xb8\xa8\xba\x43\xe0\x9d\xef\x2b\x46\xcb\x66\x0d\x7b\x07\xb9\xd2\x06\x28\x81\x70\x5a\xa3\x09\xb7\xc4\x42\xa7\xd1\x4a\x32\xd7\x1c\x32\x0f\x90\xc5\x9a\xa0\x40\xd8\xfb\x73\x31\x25\xa9\xdb\xaa\xda\xe1\xae\x5b\x07\x7c\x85\xc6\xa1\xea\xd0\x1b\x16\xef\x98\x67\x34\xd7\xd0\xcb\x74\x54\x1f\x3c\xa9\xbe\x4f\xd7\x36\x59\x62\xf3\xcb\x5d\xd3\x7f\x9e\xdf\x58\x3c\xe0\x0b\x48\x51\x3d\xec\x65\x34\x53\x3a\x61\xd7\xcb\xd0\xd4\x73\x9a\x87\x4e\x8e\xa2\xe0\x38\x69\x92\x55\xd6\x58\x89\xf8\x66\xb3\xd1\xa5\xc0\x20\x92\x7b\xe3\x4e\x2f\x39\xf6\x0a\x13\x96\xe0\x4f\x6d\xcc\x36\xa1\x86\xe6\x6c\xcd\xb6\xc6\xe9\x75\xf1\x4c\x1c\xeb\xe8\x9d\xf7\xe2\x28\xeb\xdc\x7a\xc9\x19\xa7\x75\xd8\x6e\x1d\x9f\x1d\x72\xf3\xeb\xe2\x85\x33\xb2\x6b\x4e\xed\x32\xf1\x49\x18\xd6\x25\x6e\x36\x51\xb0\xa9\x31\xbb\x11\xa3\x5b\x2f\x66\x79\x45\x1d\xcf\x6a\xe6\x82\x0e\xa6\x7c\x69\xc9\xc2\xf3\x0b\xe0\xe8\x24\xca\xeb\x9a\x42\x3f\x61\x22\xaf\xb3\x8f\xdf\xf4\xc1\xf9\x5d\xa5\x22\x18\xc4\xb3\x85\x9b\x74\xee\xca\x82\x97\x2e\x2e\x2c\xf8\x98\x3e\x2f\x42\x59\x32\xa4\x1c\xce\x82\x11\x95\x94\x12\x33\x3a\xfe\x98\x37\x45\xe2\xdc\xa2\xcf\x67\x1b\xf7\x37\xf7\x1a\x77\x25\x74\xfe\xa1\x5f\x20\xd9\x2b\x8e\xb2\x91\x9d\xc2\x28\x4b\xa2\x7d\xc4\x20\x47\x49\x94\x7f\x1b\xb3\x41\x85\x76\xe1\xea\xf5\x0a\xbd\x87\x6c\xfd\xca\x53\x11\xbe\x9d\xe8\x8c\x3a\x5f\xed\xdb\xc7\x1f\x65\x31\xaf\xcc\xe5\x0c\x63\x67\x72\x1e\xb1\x74\x5c\x13\x6a\x01\x9b\xce\x0b\x2c\x42\x93\xbc\x28\xf7\x57\xc5\x83\xb8\x22\x0b\x08\x36\xf6\x0d\xaf\xe5\xf0\xd7\xe2\x8d\xa9\xf3\x1c\x6c\x47\xb0\x5b\x53\x90\xa5\xbc\x53\x6f\x08\xae\x28\x35\x25\x59\x4e\x25\x88\x1f\x52\x32\x9d\x52\x57\x20\x14\xf6\x4a\xae\xec\xd6\xed\xba\x76\xf3\xc2\xd3\xd5\x26\x8f\x25\x42\x58\xa9\xd6\xf4\x35\x5c\x49\xd3\xe5\x75\xb4\x4c\x49\xcf\xae\x56\x94\x9d\x44\x29\x1d\xb2\x5b\x67\x3b\xb7\x04\x19\x47\x20\x64\x37\xc9\xe2\x21\x53\x4d\x60\x46\x6b\x30\xcb\x73\xbe\xde\xee\x41\xd7\x67\xdf\xdb\x24\x4a\xa3\xd1\x38\x3f\x8c\xa3\xe0\x7d\x81\x4e\x57\x05\xba\x2c\x1c\xb0\x32\x13\xdc\x95\xfd\x57\x16\x75\x53\xde\x49\x98\xd0\x64\xb6\xbc\xa3\x5f\x06\xff\xbb\xf2\xce\x89\x3b\x5e\x2f\xa3\x64\xb6\x64\xb4\xc8\xec\x36\xe0\xb8\x7c\xd4\x60\xf5\xa0\xb3\x6c\xb4\xb8\x82\x3c\xa7\xb7\x39\x5f\xfb\x7c\xcf\x8d\x77\x3c\xd4\x96\x33\xe2\xe7\x1e\xb8\xe2\x5c\xc4\xb5\xd2\xd2\xb9\xc8\xd0\xe2\x3d\x9d\x7b\xf8\xb6\xa8\x67\xb4\x0b\x0f\x09\xf2\xe8\x9a\x4a\x2f\x1e\x78\x20\x74\xe3\xea\x4a\x07\x1b\x7f\x4f\xe7\x47\xec\x26\xe1\xcd\xc8\x4e\x34\xf1\xe8\xdc\x92\xdb\x12\x8e\xd3\x94\x66\xcb\x8c\xa0\xcf\x8d\xe4\x5b\xde\xe6\xbd\xb0\x9c\x4d\x97\xa0\xf8\xe0\x86\x64\xaf\x58\x12\xe2\x61\xf2\xaf\xe9\xfc\x4d\x12\x0b\x7f\x18\x5e\xd6\x3b\x7d\x8b\xcd\xcc\xc2\xa4\x79\xb7\x00\x21\x4b\x47\x2e\x1f\xdb\xfb\x8c\x87\x0b\x78\xd9\x80\x54\x10\x11\xf4\x56\x81\x58\x83\xea\x33\xeb\xa5\x6d\x06\xc6\x55\x1e\x4d\xc8\x9a\x34\x89\x82\xa2\x0b\x7d\xab\x58\x12\xc5\xa2\xee\x2f\xdc\x58\xa9\xc1\xd9\x34\x24\x38\x73\x2c\x6f\x51\x14\xfd\xf4\x26\x69\x12\xae\xd4\x1e\x4d\xc2\x55\x1a\xc3\x5c\x96\xd4\x6b\xd2\xac\xac\x86\x2d\x3a\x60\x5d\x4c\x50\x2e\x7b\x1f\xd9\x8c\x61\x90\x90\xe4\xa4\xc4\x22\xe8\x6a\x26\xfd\x2b\x84\xb7\x16\x96\x6b\xe1\xc8\x35\x01\xbf\xd3\x24\x5c\xc1\xc6\xcb\x68\x9a\x9f\xb2\x1b\x47\xf7\xa5\xec\xc6\xde\xb8\x96\x9b\xec\xa9\x74\x7b\x17\x57\x6b\xdc\x2d\x75\x04\xa0\x35\x49\x80\xf7\x56\x25\x05\xea\xb5\x30\xba\xae\x95\x1d\x0e\x52\x71\x38\x43\xa2\x84\xa6\xdc\xc8\xa5\x49\x78\x38\x8e\xe2\x10\x5b\xf7\x38\x2e\x89\xf3\x3b\x93\x29\x4d\xa2\x94\xdd\x54\x75\x8e\x4d\xa9\xbb\x2f\x2f\x1c\x2d\x9b\x30\xb4\xcd\xfe\x6a\x3b\xd6\xda\x3c\xd0\x07\x95\x61\x74\xed\x7a\xed\x08\xd7\x4e\xe3\xc2\x69\xa5\x1b\xe3\xe8\x81\x95\xba\x70\xaf\x5f\xf5\x42\xdd\x77\xce\x80\x28\xd8\x6a\x4d\xe1\x21\xa5\x34\x30\xd4\x16\xb2\xa8\xd0\x62\x37\x09\x4d\x8f\xd4\x98\xc8\xb3\x86\xdf\x44\xf4\xc6\x76\xb6\x32\x17\x1c\x2a\xab\x5a\xc5\xd1\x73\xb5\xe7\x56\x5d\xe6\x9f\x7a\x50\xda\x8b\x28\x41\xa8\xe6\x97\x8a\x2d\x0c\x5c\x45\xab\x05\xcd\x2a\x65\xc5\x09\xe8\xaa\x05\x37\xf1\xa0\x75\xb3\xa6\x8e\x22\xf0\x67\xe3\xe0\x23\xf7\xd2\x4a\x4d\x66\x34\xef\xe7\x79\x1a\x0d\x66\x39\xad\xd7\x72\xc2\x35\x04\xbd\xad\x35\x5d\x7f\x36\xb5\x2b\x7c\xac\x89\xb6\x2a\xbd\x0a\x35\xfd\x5d\x54\x85\xbc\x44\xb1\xc5\xd1\x07\xd2\xd7\x9a\xd9\xb8\xfe\x08\x54\x4d\x65\x3f\xb6\xe2\x7c\x69\x93\x2b\xfc\x85\x5d\xad\x44\xdc\x34\xd0\xf0\xb9\xc2\x69\x4d\x74\x0f\xdc\xcb\x95\x2b\x70\x57\xe5\x56\x23\x75\x19\xac\xe3\xe7\x67\x69\xcd\x7b\xe0\xea\x28\x5b\x2f\x96\x7c\x25\xb0\x1a\x82\x36\x2c\x9f\xa2\x2e\x7a\xf5\x69\x1f\xc1\x16\xc9\x73\x12\x8c\xcf\xd9\x11\x9b\x68\xb3\xb3\xe9\x56\xb6\x01\x8e\x71\x92\xfc\x98\xee\x16\x6a\xfa\x7b\x2c\x0a\xad\xd8\xe9\x02\x44\xbb\x8e\xb2\x44\x16\xe0\xa7\x8a\xd4\x7c\xf5\x16\x61\xb7\xb9\xb8\xa6\xab\x49\xc8\x2c\x67\xf2\x1e\x7c\xad\x09\x35\x36\x1c\xae\x5c\x8b\x4c\xa3\x9c\xc4\xd1\x1f\xe9\x3d\x2a\x66\x53\x1a\xc7\xc1\x98\xe2\x8a\xb0\x86\x07\xab\xfe\x6a\x39\x19\xbc\xe0\x1a\xae\xe0\x5e\xab\xf3\x49\x18\xa2\x35\xcf\x49\x40\x13\x9a\xd6\x3d\x9b\xb7\xf6\xac\x29\xb6\xdf\x2b\xf7\x30\x71\xda\xbe\x2b\xec\xb6\x2c\x6b\xb1\xb4\xb7\x58\xd1\xa0\x67\x3b\xad\xba\xbd\x22\x1b\x96\xb8\x4a\x21\xe4\x5e\xde\xd0\x56\x22\x9f\xac\xef\xc1\xf5\x85\x9a\x45\xbe\xb2\xb2\x51\xfb\x57\xd5\x15\xb6\xa9\xf2\x81\x2d\x5f\xb5\x6d\x95\xd2\x8a\xdb\x4c\x3e\x6c\xca\x2e\xcb\x4b\xa9\x53\x80\xe0\xea\x1a\x92\x9e\x45\x7f\xa4\x78\x82\xb8\x7c\x86\xc4\x63\xbc\x85\x1a\xa2\xdc\xb8\xa7\x05\x09\xc0\xf2\x50\xd3\xa7\xc6\x25\x3f\x35\xcc\xd1\xe6\x75\xbd\x6c\xb4\x49\x53\xab\xd4\x30\x2d\x4f\xb1\x81\xb9\xff\xaa\x86\xc5\xbe\x11\xdb\xb2\x7e\x15\xf5\xea\x02\xbd\x65\x41\xc5\xc5\x07\x5e\x8e\x88\xfe\x48\x83\x31\x49\x46\x34\x5c\x2c\x0d\x72\xbd\x63\x13\x49\x9f\x61\xde\x55\xb5\x32\x91\x38\xfa\x66\x70\xd9\x31\x73\xf5\xba\xa5\xbe\xd6\x85\x01\xee\x9b\xef\x9b\x55\x56\x44\xb3\xd4\x78\x85\xb3\x3c\x6f\xd3\xdc\x72\x6e\xa9\xaf\x25\xff\x7c\x8f\xd3\x3c\xaf\x5a\xbe\xcb\xdc\x2a\x26\xd9\xe8\xa3\x5f\x40\xb3\x3c\x25\x2f\x46\xb7\xe4\xd1\xbd\xea\x52\xf1\xca\xe9\xad\xbe\xef\xa1\xc0\x2d\x5b\x32\x2e\x46\x20\xa1\x37\xc6\xb2\x69\x3a\x3b\x67\xb7\x79\x19\x0b\xad\x7b\xd5\x16\x06\x4f\x38\xa8\x2a\xa4\x9d\xd1\x2a\xf2\x45\xcb\x5e\x86\xe3\xb8\x09\x73\xb1\xc8\xc1\x6a\xc9\xe8\xdf\x34\xd4\x47\x47\x8d\x03\x17\x60\xc9\xc6\x2c\x4d\x1e\x9f\xb5\xb9\x25\x3e\x29\x52\xaf\xa8\xa3\x19\xfb\x0c\x5c\xae\xd3\xe5\x91\x50\xa5\xff\x1b\xba\x70\xd1\x2c\x23\x23\xdc\x49\xfa\x1d\x9b\x41\x18\x85\xe8\x62\x35\x25\xe8\xb5\x45\xe1\xf7\x08\xe4\xf7\xfa\xe2\x32\x44\x09\xfc\xbe\x62\x89\x5d\x6f\xfc\xbe\xf5\x63\x62\xf9\x74\x29\xe0\x1b\x3d\xa8\x9d\xfb\x80\x25\xec\x06\xb4\xe7\x6b\xce\xe0\xf7\x79\x3a\xa3\xbf\x87\xc1\x2c\x07\xe4\xc6\x28\x19\x09\x5f\x37\x34\x85\x5a\xef\x32\xd8\x6e\xb5\xa1\xa2\x85\x28\x87\x9b\x28\x8e\x15\x40\x84\x87\xc6\xc8\xef\x5b\x56\x0d\xd7\x43\x4c\x54\xb7\xd8\x4b\x1f\x96\xea\xbb\x48\x66\xa7\x7c\x58\x3c\x24\xc4\x21\x70\x38\xf4\x4e\x6f\x4d\x15\x76\xfe\x4b\xfb\xe5\x1e\x07\x05\xc1\x16\xf6\xec\x35\xa2\xb9\x11\xd2\x06\x7a\x47\xc7\x64\x9a\xe1\x75\x16\x5d\xa1\x15\x65\x87\x2a\xbd\x09\x51\x76\xca\xb5\x36\xef\x82\xe0\x02\xab\x4e\x0f\x6a\x03\xc6\x62\x4a\x92\x1a\x3c\x83\x07\x26\x67\xdf\x82\xc6\xab\x61\x51\x84\x53\x73\x0f\x4c\x1f\x48\xf0\x5e\x47\x88\x92\xac\xde\x95\x85\x92\x2f\x71\x71\x3b\xdf\xd1\xfd\xc2\xa4\xe2\x3c\x54\x2b\xec\x50\xc5\x8c\x84\xfd\x30\x2c\xf8\x55\x12\x9e\xd2\xc4\x60\x50\x78\xe9\xc6\xde\xa3\x4a\x5d\x57\xbb\x05\x01\x55\xba\x3b\x8d\xfa\x7a\x6b\x6b\x1d\x36\x00\x01\xc2\x06\xd4\xb6\x6a\xea\x57\xf9\x68\xc7\x12\x2d\x19\xfa\x89\x93\x49\x61\xe5\x73\x2d\x95\x6d\xd5\x2f\x6a\xad\x2d\x04\x9a\x19\xf8\x6e\x6b\x97\x56\x6f\x16\x9c\x29\x29\xee\xa5\x62\x97\xe8\x90\x24\x5c\x5a\x39\x91\x80\xa8\xf8\x32\x5c\x60\xd8\x2c\x07\xc2\x6d\xb6\x09\x4b\xfe\xfe\x0c\x58\x0a\xa7\x02\x95\xbf\x3f\x03\x9a\x5c\x47\x29\x4b\x9c\x3d\x24\xf0\x3a\x46\x56\xf9\x9f\xf8\xe6\xfc\x6a\xc7\x13\x9f\x01\x85\x0a\x9c\xcf\x7a\x68\xae\x69\x14\xd6\x5b\x62\xcd\x73\x13\x85\x74\x93\xd7\xfb\xe9\x06\x7d\xb3\xb5\x2f\xa8\x6d\x44\x60\x16\x3c\x84\x2e\x6c\xc0\xfa\xf4\xf6\xe0\x6e\x1d\x36\x1c\xa6\xac\x2b\x70\xe2\xfe\xe5\x8a\x00\x15\xb0\x46\x15\x34\xd4\xc3\xdf\x40\x18\x5d\xff\x34\xa6\xd1\x68\x9c\xfb\xa1\x89\x3c\x03\xae\xd2\x85\x42\x49\x44\xe5\xe1\x3a\xde\x5e\x75\x15\x8a\xb3\x23\x89\x67\x09\xa8\x13\xb6\xbb\xd2\x30\x55\x70\x32\x9a\x84\xcf\xf1\xe8\xad\x70\xbe\xc0\xe1\x8a\x33\xb9\x26\x4c\x99\xe5\x13\xa5\x0e\xea\x60\x44\x73\x53\xd3\xe4\x4f\x19\x1f\x6a\x19\x35\x85\x2b\xa8\x53\x72\xf3\x7c\x9e\xd3\x43\xc6\xd2\x30\xab\xd3\x6b\x81\x5c\xc1\xaa\x11\x21\x3d\x0c\x75\x54\x0a\x5e\x12\x57\xe5\xb3\x82\x77\xc6\x83\x29\xcb\x1a\xce\x18\x14\x0f\x9d\x78\xf7\xc4\xf9\x8f\xd5\x17\x0b\x8a\x72\x6a\xa4\xd7\x2d\x76\x4d\xd3\x34\x0a\xe9\x39\x57\x6f\x1f\x3e\x00\xbd\x46\x4d\x57\x54\x64\xc2\x5d\xcf\x9c\x47\xbb\xbe\x7a\x48\x00\x4d\x6d\xd1\xe6\x41\xa9\x44\xc1\x03\xb0\x00\x76\x36\x5d\x08\x54\x0d\xe1\x4a\x00\x6f\xc6\x94\xc6\x1e\x70\x85\x0a\x77\x96\x42\x71\x58\xe3\x15\xbb\xa6\x95\x8c\x01\x3d\x85\x56\x81\x45\x7e\x51\x2c\x20\x71\xdd\x70\x29\xb7\x88\x31\x0a\x74\xa0\x49\xc0\x42\x8a\x26\x70\x13\x82\x71\xe9\xc8\x51\xac\x72\xe4\x0d\x6c\xdf\x01\x77\x20\x42\x53\x74\x77\x77\x1b\xa5\x81\x90\x3a\x15\x6d\x6a\x3c\xb6\x28\x7a\x2c\x4b\x00\xdf\x40\xa7\xfb\xa8\x5c\x9d\x83\xe6\x39\x6e\x1d\x03\x2d\x18\x7b\x5d\x8f\x0a\x93\x46\x11\xd1\xf6\x8e\xa7\xa9\x55\x31\x7d\x8a\x98\x7a\x4e\xf0\x2b\xb0\x82\x92\xc3\xb2\x07\x3b\x87\x12\x7e\xfc\x34\x39\x78\x76\x59\x44\x2c\xbc\x6f\x0f\xdb\xf0\x41\xc0\xfa\x06\x74\x2c\x94\xaa\xc2\x8f\x55\xe1\xaf\xa1\x7d\xbb\x7d\x52\x2c\x5e\x8c\x36\xe3\x11\xa2\x32\x9f\x15\x58\x08\x39\xc8\x04\x06\x28\x12\x4f\x72\xf0\xd7\x3d\xd8\x76\xdb\x9e\xb2\xac\x75\x0b\x9b\x65\x9d\xc0\x33\xe6\xbe\x0c\x0c\x55\x45\x72\x02\xbd\x72\xdc\x30\xdb\x65\xad\xbb\x53\x2b\x0f\xae\xe5\xa2\xd1\x2e\xd3\x1f\xc1\x72\x33\xbb\x53\xa8\xaa\x4d\x23\xc7\xc5\xa3\xba\xfe\xf6\x0a\xf5\xbb\x0b\xea\xef\xae\x50\x7f\xbb\x8a\xbf\xcb\x55\xab\x1b\x6a\xd7\xca\x62\x87\x19\x7f\xba\xe0\x66\x9b\x18\x9d\x0d\xa8\x35\xd5\x2f\xbc\x85\x73\xf9\x63\x5a\xa8\x87\xc3\x8f\x6e\x84\xb8\x2c\x3f\x58\xa8\xce\xee\xca\x9c\x63\xe2\x51\x7c\x41\xce\x59\xce\x00\x7a\x52\xe8\x7e\xd4\xf8\xeb\xea\x3b\x1f\x35\xfc\xba\xfa\xde\x47\x8d\xbe\xae\xbe\x5d\x35\x36\x0b\xe5\xa5\x56\x02\xb8\x21\x41\x7a\x32\x6a\x07\xbe\xe2\x0e\x82\xf0\x0c\x76\x60\xdf\x47\xe5\xaa\xea\x38\x70\xf7\x2a\x7d\xbb\x3a\x6a\xbc\xf8\x94\x2f\xa3\x3f\x7c\xa8\xc0\xe9\xeb\x9b\xe2\x35\x87\x15\x18\xd7\x04\x24\x29\x32\xee\xfd\xf9\x13\x6b\x6c\x6c\x78\x4a\x17\x13\x57\x1d\x52\x3d\x84\x82\x2e\xb6\x44\x1f\x38\x12\xfd\xea\x23\xba\xae\xc2\xb3\x7c\x7a\xc7\x57\xec\xce\x53\xef\xc0\xd6\x15\xd7\x7d\x0d\xdb\x0d\xcd\x7a\x3a\xed\x4f\xdb\xb0\x2f\x7f\x35\x60\x13\xb6\x3d\x72\xf7\x79\x38\xac\x8a\x7b\xfd\xf8\xd5\x26\x35\xd8\x47\xba\xaf\x4c\x78\x6b\xe2\xbb\xb0\xe2\xc5\x39\xb6\x9d\xec\x68\x45\x2e\x76\x68\x51\xa6\xed\x3b\xbe\xe2\xa0\xbc\xe2\x7c\x24\x2e\xea\xb7\x86\x29\x9b\xf0\x15\xf3\x21\x0b\xa9\x74\xe5\x16\x39\x62\xc7\xb5\xe2\xfa\xbf\xb3\x08\xab\x58\xbe\x65\xe3\x68\x98\x37\x61\x42\xd1\x80\xcd\xd3\x18\xc3\xa0\x7f\xd9\x45\x90\xd6\xa7\xf4\x5a\xb9\x76\x3e\x10\xbe\xe7\x5e\xc3\xed\x19\x6c\xe8\x82\xde\x02\xfb\x1c\xd0\xcd\x38\x0a\xc6\x0b\xe1\x08\x58\xba\xe8\x26\x74\x2a\x8b\xed\x17\x3c\xe1\xd5\x47\x8b\xa8\x71\x79\x7d\x75\xf6\xe2\xb8\xea\x86\xa0\xee\xa8\x3d\xbb\xc1\x33\x68\x6b\xc9\xc1\xa4\x1d\x78\x06\x1d\x9d\x54\x6e\xb5\x7c\x3d\xf0\x23\x16\x89\x55\x93\xd8\x42\x70\x47\x6f\x5e\xa1\x26\x12\x47\x22\x4b\x86\x32\xa4\x39\x89\x62\x78\x0a\xed\x8a\x61\xdc\xdb\xa9\x18\xbe\xbd\xdd\xcf\xb1\x6c\xb5\x50\xc1\x32\x47\x34\xce\xc9\xef\xe0\x9b\x2f\x82\x8f\x15\x3e\x92\x4b\x90\x68\x16\xbf\xfe\x9a\xce\xd5\x0c\x6d\x6f\x35\xa3\x7a\xa1\xd7\x2d\xfe\x4d\x14\x79\xec\x16\xe1\xc2\x27\x8a\xf0\x6f\xa2\x48\x67\xaf\x00\x86\xe1\xe6\x2d\xb6\xf8\x41\x00\xfd\x80\x15\x0f\x7c\x6b\x86\x6e\xc5\x9a\x81\x43\xf9\xba\x57\xa8\x57\x58\x00\x9a\xd5\xab\x15\x7f\xcc\x07\xa8\x67\xe3\x67\x80\xe8\xd1\xa8\x6f\x77\xb9\xae\xe6\x45\x9f\x3e\x85\x6e\xa3\xa1\xa7\xce\xd2\xe6\xa1\x9d\xac\xf7\xc2\x69\xbc\xc0\xc5\xdf\xbf\xde\xb6\xaf\x64\x2c\x9c\x02\xdc\x0d\xae\x82\x86\x2e\x6d\x48\xaf\x40\xd9\xa2\x96\xec\x19\x89\x2c\x4e\xcc\xfe\x96\x2d\x6a\x58\x81\x6c\xdd\x32\x1e\x8b\xc1\x1e\x23\x07\x16\x4b\xe4\x32\x40\x9f\xe7\x0a\x84\x26\xec\x9a\xd6\x9a\x7a\x1b\xa7\xb8\x71\x82\x75\x54\xd4\xba\x52\x7c\xd7\x0a\x98\xae\x03\xf6\x6c\x5a\x18\x9f\x55\xba\xbe\x5a\xa7\x34\x22\xc3\xe1\x7d\x7b\xb7\xb4\x2a\x76\x62\x36\xf5\x54\x59\x36\x2c\x60\x9d\x56\xb8\xc3\xb4\xa8\xe6\x9d\x71\x48\x46\x4e\x17\xda\xed\xb3\x72\xb9\x26\xa8\x1a\x50\xa7\xf4\x87\x0f\x50\xd8\x62\xf0\x66\x5b\xeb\xc8\x8f\x12\xa9\xcf\x4d\x83\xfb\x0a\x3a\xef\xa1\xba\x20\xcf\x92\x1f\x78\x0b\x1f\x8f\x60\xce\x66\xc1\x58\x39\xc2\x7f\x39\x2c\xcf\x79\x33\x22\x90\xc2\xa7\xa1\x2a\xe5\xe1\x0b\x63\xaa\xf6\x83\x57\x47\xd4\x7f\xa6\x11\xd2\x2c\x4f\xd9\xbc\xfa\x4c\xc8\x8a\x07\xe9\x8b\xda\x57\x91\x75\x85\x97\x7f\x54\x4c\x1e\x9d\x3c\xd6\xc1\x16\xdd\x63\xf7\xbb\x02\xd4\xd2\x09\x8b\x2a\xa1\xef\x38\x2b\xbf\xe4\xaf\xbf\x76\xbd\x00\x85\x8b\xce\x6b\x16\xd2\xd2\xf1\x6f\xb9\x88\xbc\xe2\x59\xe9\xc9\x53\x7d\x8d\x5f\x45\xef\x30\x48\x4a\x9f\x0c\x9a\x84\xce\x19\xa7\xed\xcd\x51\xc2\x48\xbb\x79\xe0\xdd\x00\x19\x01\xc3\x86\xb4\x18\x8d\xf2\x8d\x82\x55\x31\xd2\xfe\x9d\x36\x4a\xe8\x23\xa5\xc2\x21\x62\x65\x74\x98\xea\x71\x08\x25\x5f\x29\x28\xbb\x8a\x8a\x6f\xf3\x53\x76\x53\x8f\xca\x47\xcb\x55\xf1\x09\xf4\x0d\x6a\x2f\x0b\x1a\x4f\x7c\x2b\xee\x6f\x89\x8e\x6e\x4c\xe0\xce\x41\x91\xca\xf2\x7e\x31\xff\x31\x97\x2e\x1a\xf3\x25\xb4\x15\xfe\x21\x0e\x4e\x51\x26\xae\x50\x86\xf6\x89\x1f\xde\x65\x28\xd2\x96\x3a\x91\xb0\xad\x54\x1d\x5e\xa4\x22\xa8\xa4\x09\xe6\xd2\x29\x5e\x23\xc2\xf8\x2c\x9b\x9b\xee\x4c\x23\x72\x30\xe0\xca\x03\xdc\x0b\xf4\x8d\x10\xe6\xdb\x35\xed\xfd\x71\x03\x5b\xed\xce\x18\x92\x3b\x91\x23\x4b\x18\xab\xe8\x2f\x06\x82\x6d\x4c\x8a\xeb\x25\x26\xcf\x09\x11\xa4\xe3\x25\xf3\x52\x9b\x85\x48\xca\xb0\x29\x3d\x98\xac\x68\xcb\x06\x33\x84\xdb\xf3\x04\xde\xb9\x47\x98\x4e\xed\x63\xd3\x04\x33\xa6\x8b\xce\xf2\x2d\x78\xd9\x14\x83\xea\xa5\xec\xa6\x09\xca\xdd\xe7\x3e\x90\x4d\x50\x50\x1d\x64\xba\x34\x72\x66\x64\x91\x72\x0b\x46\xb6\xc8\x13\x2b\x8e\xdf\x4a\xe3\xe8\x72\x8b\xfb\xad\x4c\x90\xf2\x48\xeb\x0e\x36\xb5\x23\x94\xc5\x72\xc2\x31\x01\x3d\x54\x0a\xf4\xb0\xbd\x4d\x2a\x4a\x09\xa6\x28\xbb\xa5\x68\xa7\x2e\xd3\xb1\xea\xc0\x28\x58\xf6\x48\xf4\xdd\xf2\xc7\x8b\xb2\x69\x13\xb2\xd9\x14\x0f\x54\x05\xf5\x8e\xed\x0b\xb3\x78\xff\x92\xd7\x7a\x5a\x35\x68\x82\x9e\xbe\x41\x5b\x70\x13\xb3\x34\x5e\x1e\xcf\x26\xbd\x56\xc4\x16\x36\xec\xe1\xfb\xc6\x1e\xbf\x92\x28\x54\x84\x80\x2d\x6a\x01\x01\xb6\x07\xfc\xdf\x82\x52\x93\xad\x2c\x6a\x64\xb1\x3e\x30\x6e\x39\xa6\x6c\x81\x82\x0e\x94\x76\x51\x68\x1e\x2c\x18\x93\x95\xd8\xa0\xd0\xdb\x05\x3e\x7b\x8b\x18\xe6\x2d\x19\x15\x3c\x68\xa6\x64\x44\x0f\xd9\xcc\x60\x63\x31\x2a\x67\x2f\x53\x00\x1e\x42\xdd\x6d\x6b\x49\x63\xe7\x4c\x04\xa1\xaf\x0a\x0f\x64\xda\xd8\x5c\x99\xe3\xcf\x99\x0e\x60\xbf\x1c\xac\x25\xd5\x9b\xab\x08\x55\xd9\x76\xb3\xfd\x5b\x8d\x79\x27\x82\x1b\x0b\xe5\x6c\x1d\xb5\x15\x03\xb9\xb5\xdc\x88\x90\xdc\xd8\x13\x9a\xad\x1c\x53\x5a\xd9\x81\x36\x78\x15\xd5\xad\xb7\xf0\x31\x1f\x4f\x34\xe6\xaa\xdd\xe2\xa3\xc3\xed\xe2\xb4\xec\x8b\x6e\xed\xf3\x48\x7c\x60\xb0\xb3\xa2\x65\x2f\xc2\xda\x23\x1c\xe5\x60\xdb\xa6\x29\x58\x14\x3e\x29\xa3\xf9\x79\x34\xa1\x6c\x96\x2f\x0b\x91\x14\x25\x09\x4d\x7f\xe0\xed\x38\xee\x81\x4b\xac\x25\x53\xab\xd2\x35\x4a\x74\x91\xd3\x48\xe9\x08\xbb\xd3\x72\x16\x69\x37\x4b\x2f\x2a\xc9\x96\x65\x3c\x6e\x03\xa5\x82\x4e\xd6\xf1\x82\x55\x16\x37\xf1\xec\x0e\xf1\x62\xdc\xba\x43\xff\x02\x01\x49\xdf\x17\x7d\xd7\x84\x20\x6b\x42\x30\x6e\x42\xc0\x42\xda\x84\x98\x4f\xf6\xc1\xf8\x0a\xbd\xce\x9a\xc6\xe4\x73\x58\xd6\xcb\x92\x65\x74\x71\x5e\x58\x34\xee\xde\x89\x63\x29\x5f\x16\xc3\xdf\x55\xf2\x66\x21\x98\xe2\x9d\xd7\x54\x46\x13\x54\xab\x72\xbf\x39\x7d\x9c\x84\x9e\x12\xc8\x81\xd2\x0e\xc7\x3c\x11\x24\x5f\xfc\x53\x3c\x55\xb7\x0b\x64\x34\x47\xfb\xbd\x8e\xb5\x8b\x85\x4a\x76\xc0\xbc\x58\xc2\x31\xf2\xed\x6e\x34\x8b\x58\xfb\xcd\xb1\xe5\x12\xf8\xe5\x84\xcb\xdc\x22\xad\xb6\x3e\x17\xc6\xd9\xaf\x12\x4b\xac\x14\x27\x2b\x28\xe4\xba\x70\x99\x80\xda\x8f\xe9\x8f\x25\xcf\x5e\x03\x50\xdc\x06\x3c\x54\x0f\x9c\x84\xec\x26\xf9\xce\xb3\xa4\x0f\x3c\x05\x6c\x5d\x60\xb9\xb2\x57\x43\xac\x63\x14\xd1\xa3\xe3\xb7\xa7\xc7\x87\xfd\xf3\xe3\x23\x7c\x8d\x11\xdd\xc6\x07\x14\xc4\xc2\x3d\x84\x8c\xb1\xa4\x05\x6f\x63\xca\xa7\xa8\x59\x46\xa1\x00\xcf\x7e\x82\x85\x03\x4c\xb2\x9c\x92\x50\x79\x99\x2f\xf0\x30\x47\xd2\x2c\x02\xe6\xed\xe3\x8a\x74\x2b\x3c\x0c\xe3\x21\x9c\x5d\xc2\x75\xd1\xad\x80\xe1\x4d\x5f\x10\x14\xf0\xbb\xf9\x94\xa6\x39\xbd\xcd\x5f\x46\xc9\x7b\x1f\x2a\x85\x37\x7f\xcc\x1c\xe6\xdd\x3b\x28\xdd\x8a\x97\xfe\xce\xa2\xe3\x40\x60\xac\xda\x03\x5e\x5f\x3d\xb3\x06\x03\x3a\x64\x29\xb5\xc3\x27\xd3\x84\x0f\x7b\x80\xef\x0e\x7b\xee\xcd\x9b\xed\x86\x8a\x4e\xd4\xdd\x17\x88\x3e\xd2\xd6\xb3\x60\xff\x86\xc4\x51\x28\x5e\xd7\x91\x6e\xdf\xee\x90\x79\x3c\xdb\x3f\x0f\xa1\xae\x75\xc3\xda\xe1\xfc\x73\xd1\xab\xdc\xa7\x7a\xc1\xa7\xfd\xe3\xe8\x96\xd2\x51\x94\xe5\x34\xe5\xe3\xf1\x8a\xcf\x39\x05\xa6\x4a\xe9\x88\xde\x36\xd5\xe8\xeb\x57\xa3\x56\xdb\x9f\x42\xcd\x21\x80\xbe\x08\x4b\xaf\x99\xf8\xda\xae\x6c\xaf\x62\xf2\x58\x10\x53\x56\x3d\xd9\xab\xda\x5f\xac\x78\x43\xba\x8c\x12\x1a\xd0\x6a\x7d\x2f\xe7\xfa\xdb\xb0\xe0\x7a\x6d\x88\x15\x7a\xba\x78\xbf\x6e\x4c\xb2\x33\xeb\xfe\xcb\xe2\x70\x82\xa5\x0b\x54\x76\xed\x05\x51\xcb\x3f\xa1\x05\x9d\x70\x8e\x77\xd5\x16\x44\xe5\x5c\xdc\x88\x1f\xba\x5b\xb1\x3a\xf2\xba\xa8\xd8\x8f\x17\x04\xf9\xac\xc0\xbc\x1f\xc7\xd5\x60\x65\xfc\xa2\x42\xbc\xb9\x12\x07\xf9\xe7\x08\x65\x73\x7a\x73\x11\x0c\x37\x3d\xd1\xaa\xf0\xdc\x8f\xf1\x6f\x19\x78\x83\x5c\xda\xf7\xdb\xe4\xde\x6d\x29\xf6\x8e\x0c\xd8\x24\x23\xed\x78\xcb\x34\x8a\x91\xa2\x3c\xdb\x62\xd6\x92\xd4\x6b\x31\x3b\x2b\xde\xf2\x7d\xa7\x45\xfd\xf3\x9a\x7b\xb8\xe3\x4b\xb3\x59\xac\xad\x63\x7a\x4d\xe2\x19\xc9\x29\xa7\xa7\x63\x9a\x9b\xc3\x17\xdc\xb6\xc4\x4a\xbc\xdb\x48\xe5\xca\xd5\xa5\xd7\xec\x33\x0f\x23\x55\xee\x08\xad\x06\xbf\xb3\x0c\x7e\x89\x0a\x16\x6c\xb3\x2d\x50\x5e\x31\x9b\x1d\x83\x72\xe1\x92\x0e\x15\xc3\xad\x4e\xa8\x9c\x68\x58\xa6\xd1\x28\x3b\x1f\x47\x69\xf8\x92\x5e\xd3\xf8\x0c\x57\x6f\x39\xde\xa0\x29\xf0\x84\x02\xe9\x59\x71\x4b\x4c\x44\x43\xe5\x23\x83\x25\xed\x3f\x30\x14\x5d\xa1\x3d\x6b\xf3\xc9\x84\x22\xd3\x0c\xe0\xe6\xd6\x9a\x60\x60\x17\x4b\x95\x03\xca\x62\xb2\x9c\xc0\xac\x61\x96\xb9\x8b\x49\xea\xd7\x22\x95\x2c\x5b\xa1\x57\x1c\xa6\xb7\x2e\xb8\x61\x73\xce\x2b\x1d\xfc\xf3\x9e\xce\xf7\xc1\xec\x83\x9b\x55\x92\xe6\x08\x2b\x5b\x90\xd0\xc8\xd6\x84\x89\x80\x71\x59\xc1\xc5\xe7\xe9\x53\x68\x03\x3a\xc1\x91\x58\x25\x74\x44\x82\xf2\xdf\x79\xfa\x14\xba\x22\x45\x39\xfd\x3c\x7d\xaa\xdc\xaf\x2c\xbf\xba\xf7\x74\x7e\x58\x38\x1c\x44\x4f\xa7\xc7\xe5\xc7\x15\x2c\x04\x7c\x9b\xe7\xb6\xc8\xf9\x05\xee\xf9\xd9\x4a\x9e\x56\xae\xc7\xd9\x72\xb0\x47\xc7\x2f\x5d\x00\xbe\x38\xe6\x4f\xbe\x40\x7f\x94\xb3\xe4\xbf\xf4\x3c\x06\xf1\x19\xfa\xf5\xdd\x79\xd1\x35\xc7\x12\xe0\xd2\x5e\x57\x55\xc7\x3b\xdb\xfb\xf7\x6c\xf7\xf0\xf4\x73\xb4\xdb\x7d\x74\xdf\x76\x8f\xcf\x0e\x3f\x47\xc3\xdb\x8f\xca\x43\xad\xe5\xe8\xd3\x06\xba\x83\xee\xd5\x06\x1a\x6c\x40\xa7\xc1\x73\x8e\x3c\x1c\x50\x9a\x86\x96\xc1\xde\x3e\xaa\x55\xf9\x72\x3a\x28\xca\xe3\x3b\xe3\x04\x4a\x82\x06\x3c\x5b\x08\x7d\x50\x83\xfd\x65\xcd\xef\xfa\x3a\x71\xb7\x80\x83\xdd\x23\x8c\xd2\xab\xab\x9f\x44\xea\x37\x45\x64\x56\xba\x88\xb5\xfa\x48\x2e\x06\xef\x65\x2b\x8f\x06\xf9\xd2\x6c\x75\xf8\x59\xd8\xea\xf0\x8b\xb1\xd5\x70\x15\xb6\xf2\x75\xe2\xaf\xc6\x56\x45\x64\x3e\x33\x5b\x2d\x06\xef\x65\x2b\xcf\x44\xfb\xa5\xd9\xaa\xff\x59\xd8\xaa\xbf\x1a\x5b\x2d\x63\x0f\x1f\x32\x7f\x35\xf6\x28\x22\xf3\x99\xd9\x63\x31\x78\x1f\x7b\xec\xb4\xff\xf2\xec\xf1\xfc\xb3\xb0\xc7\xf3\xcf\xc3\x1e\x3e\x64\xfe\x6a\xec\x51\x44\xe6\x33\xb3\xc7\x62\xf0\x5e\xf6\xd8\x2d\xb3\xc7\x03\x7b\xa1\xf0\xf5\xd7\xf0\xc0\x2c\x0a\x3e\x8d\x61\xba\x7f\xba\x3f\x7e\x7b\x5f\x8c\x7d\xb7\xab\xd8\x77\x31\x96\x9f\x3c\x48\xdb\xf7\xa7\xc2\xf6\x42\x2a\x7c\x09\x11\xfe\xae\xea\xa6\x71\x85\x54\x7c\x82\x4c\xf8\x9a\xfa\x84\x2e\x15\xc1\x79\xe9\xe9\xe1\xfa\x2f\x4b\xcf\x93\xbf\x1c\x3d\x7d\x4d\x7d\x42\x97\x8a\xe0\xbc\xf4\xdc\xfe\xd8\xc5\xb1\xe3\x34\xb6\x59\xaf\xda\x42\x87\xcf\x2f\x86\xbb\x1f\x21\x86\x3b\x9f\xa5\x9b\x1e\xb7\xcd\x2f\xd4\xc7\xbd\xfb\xf7\xb1\xd3\xe9\xfe\xe5\x0d\x86\xb7\x5f\x54\xe3\xbe\x59\x0c\xde\x4f\x05\x0f\x47\x7f\x69\x2a\xfc\x8b\x2f\x4b\x85\xc5\xe0\xfd\x54\xf0\x30\xfc\x97\xa6\xc2\xe9\x97\xa5\xc2\x62\xf0\x7e\x2a\x2c\x9c\x2d\xbe\x0c\x15\xce\xbe\x2c\x15\x16\x83\xf7\x53\xe1\xcb\x59\x62\x9d\xdd\xbf\x92\x29\xd6\xf9\x88\x49\xa0\xd3\xf9\x82\xdb\x83\x8f\xfe\x5a\x84\x78\xf4\x31\x84\xf8\x82\x3b\x0f\x8f\xff\x5a\x84\x78\xfc\x31\x84\xf8\x82\x3b\x7b\x4f\xfe\x5a\x84\x78\xf2\x11\x84\xe8\x7e\xb9\xcd\x86\x6e\xfb\xaf\x44\x88\x6e\xfb\x63\x08\xd1\xf9\x72\x84\xa8\x9c\x33\xbe\x34\x21\x3a\x1f\x43\x88\x2f\x67\x4d\x76\xff\x5a\x0b\xf8\xee\x47\xac\xe0\x3b\xdd\x2f\x67\x50\x76\x77\xfe\x5a\x84\xd8\xb9\x17\x21\x64\x70\x62\xef\x1a\x4a\x1d\x3a\xcb\xed\xa6\xe2\xf6\x93\x3c\xa4\x96\xbf\xe4\x79\xb4\x8f\x6a\x12\x9c\x3c\x94\x86\x6f\x7a\xb0\xb7\xcb\xab\x59\x69\x4f\x7b\xf0\xa4\xe4\x0f\xee\xed\xbc\x27\x7c\x8d\x0d\x7c\x13\xf6\x76\x3c\x37\xed\xcb\xf1\x4e\xf4\x62\xdf\xaa\x8c\x01\x7f\xbc\x8f\x37\xae\x84\x86\xef\xf5\xf7\xd5\x1a\xfe\xa6\x07\xbb\x9d\x32\x49\x76\x77\x3f\x0f\x49\x76\x3b\xb0\x01\xdd\x47\x9f\x44\x97\xdd\xbd\x8f\xc6\xa5\xf3\x89\x4d\x77\x3b\x4f\x3e\xba\xed\x4f\x6d\xba\xfb\xf1\x5c\xd9\x7d\xfc\x89\x4d\x7b\x1f\xa6\x5c\xad\xe9\x27\x4b\x9b\xae\xd8\x60\x7f\x50\x3e\x2f\x94\x7c\xe9\x8a\x7b\x41\x37\xfc\xa5\xa4\x7f\x81\xea\x5b\x22\x05\x1b\x5c\xb2\x3f\x65\x3c\x3a\x4f\x56\xd3\x0c\x8b\xb4\xf3\xef\x97\x9e\x7b\x54\x61\xf0\x4d\x0f\x76\x1e\x7b\x34\x84\x37\xf4\xe9\x7d\x70\x72\x35\xc5\xce\x72\x9e\x5d\x74\x32\x53\xe2\x9b\xf2\x3c\x61\x31\xce\xbd\xf8\x86\x0f\xc1\x5e\xa5\x3e\xb4\x9c\x4d\xa5\x6f\xe9\x7d\x3a\x61\xcd\x89\xf2\x5e\xb7\x0a\x97\xce\x69\xb8\xc0\x7d\x7e\x84\x9e\x7b\x8e\x47\xd9\xc8\xf1\x7f\x1d\xc5\xb2\xc0\xc8\xf2\x73\xc3\xf7\x4c\xa8\x76\xae\x94\x3f\xb3\x8b\xd1\xe5\xa2\xa6\x0e\x75\x2d\xab\xb1\x26\xc8\xda\xee\xf5\x09\x03\x11\x7a\xaa\x84\x71\xd3\x74\x30\xeb\xf5\xa0\x7c\xeb\xdd\x60\xe8\x54\xae\x72\x97\x56\xef\x82\x2e\x70\xad\x7b\x4f\xe7\x05\x04\xfe\x72\xfe\xbb\xc5\x38\x21\xca\xbc\x91\x5a\xc2\x86\x23\xc4\xc5\xca\xf4\xfa\xa1\xea\x80\x6f\x3d\x11\x1b\xce\x0b\x41\x32\xee\x62\x00\x0f\xd4\x45\x39\xab\xc9\xf2\x55\x78\x0d\x13\x2b\x95\x20\x2e\x27\x03\x6a\x76\x0e\xe5\xc3\x07\xa8\xd7\x8d\x4c\x7e\x70\x9c\x0b\x3f\x7c\x70\x44\x92\x0b\xec\x22\x07\xd5\x55\xe8\x5f\x3d\x45\x19\xef\x4e\xd7\x71\x54\x3d\x44\xeb\x71\x1b\xb5\x9d\x4b\xef\xef\x55\x5a\x76\x27\x45\xc7\xb3\x2a\x81\xc3\x8b\x7f\xfe\x0b\x65\x5e\xa7\x69\x33\x79\x62\xc0\x12\x9b\x38\xab\x5f\x9d\x53\xb8\xe2\x0f\x01\xe7\xa0\x5c\x0a\x33\xac\xb7\x76\x41\x5c\xaf\xf3\xc4\x1f\x10\x25\x37\xc4\x0d\xd0\xca\x80\xff\xb4\xc2\x83\xdf\x74\xe9\x3a\xca\x66\x24\x7e\x4e\xe3\xb8\x51\x18\xf2\x83\x6a\x8a\x88\x31\x53\x4f\x4b\xe6\xf3\x98\xb6\x06\x2c\x0d\x69\x7a\xc8\x62\x0c\x84\x52\xbb\x19\x47\xb9\x7a\xd1\x63\x29\x91\xc4\x5b\x67\x8b\xc0\x99\xa7\x87\x3b\xed\xe2\x5d\xeb\x29\x9b\xbe\x49\xdc\x0e\x60\xba\x0e\xc9\xe6\xa7\x4d\xcc\x46\x4b\x48\x13\xd2\xc1\x6c\xe4\xa7\x8a\x7d\x35\x00\xdf\x41\x6d\xc9\xab\x78\x5c\xd2\xbc\x19\xbc\xbd\x6a\x0a\x93\x74\xc4\x55\x6c\x3f\x4d\xc9\xdc\xe6\xd5\x38\x0a\x68\x2b\x20\x71\x5c\x57\x0f\xd9\x38\x2f\x44\x79\xda\x90\x01\x3f\x7d\xd9\x4d\x6c\xa6\xda\xad\x3a\x4d\x97\x06\xb1\xf9\xbc\x24\xc1\x16\xbf\x38\x51\xb0\x95\x8f\x27\x4b\x4a\xb3\xe8\x8f\xae\x6b\xf9\x6d\x13\xe6\x36\x6d\xa2\xec\x35\x79\x5d\xbf\x6d\xf0\x9e\x8a\xef\x73\x8f\x0a\x2d\x6a\xed\xb9\x0a\x47\x31\xa2\xf9\x1b\xbc\xd7\xa5\x22\x3f\x0c\x48\xf0\xbe\xd6\xf0\xdc\xeb\xf7\x95\xe3\xb8\xd8\xa0\xf1\x66\x78\x94\xd0\x26\xd0\xb8\x09\x91\xb8\x0e\x3e\x6e\x02\x09\xc3\x73\xf6\x3b\x33\x56\xb7\x26\x0c\x4d\xc0\x62\xbc\xca\x3f\x37\x49\xf8\x40\xc2\xd2\x2e\xdc\xc2\x53\x3b\x00\xf7\xad\x09\x5e\x24\x3a\xe8\xe4\xce\x4d\xee\x3b\xb0\x5a\x36\x15\xde\xc1\x53\xb8\x75\x3c\xdb\xc7\xd0\x83\x0b\xc9\x79\xc3\x7e\x9e\xa7\x4d\xa8\x41\xad\x09\x1d\x2b\xf2\x6e\x04\x9e\x68\x3a\x26\x5b\x5e\xbc\x8f\x36\x37\x8b\x7a\x59\xe6\x58\x75\x47\x34\xaf\x47\x0d\x75\x7f\xba\x80\x8c\x33\x16\x4e\xf9\x65\x4f\x11\x94\xe2\x15\x21\xc1\x7b\x70\x6b\x4f\x71\x34\x9f\x4d\xcf\x72\x36\xcd\xea\xba\x48\xa3\x40\x2d\x7c\xf4\x0f\x93\xc4\x60\x9a\x30\x23\x8a\x7a\x8e\xb9\x5d\x7a\xcc\xa5\x44\x94\x77\x1b\x1b\xc5\x4a\x50\x19\x0a\xea\x29\xcc\x75\xcc\x96\x62\x00\x95\x52\x4d\x71\xc5\xe9\x1b\x2b\x54\x80\x0b\xcb\x17\x5a\x69\x2e\x5e\x28\xe2\x1d\xc3\x1d\xb5\x05\xeb\x01\x6f\xe0\x20\xf5\x11\x30\x8a\xc1\xba\xcb\x28\xca\x90\x30\x95\xcb\x53\xa8\x0c\x40\x65\x7f\xca\x8b\xbc\x8a\x65\xdf\x82\xee\x54\x87\x7a\xf2\xbd\x29\xb1\x68\xbd\x63\x6c\x70\xf5\x84\xb9\x19\xbd\x4a\x66\x2e\x3d\x19\x59\x86\x7d\x57\x6d\x99\x2a\x5e\xda\xdc\x84\x6f\x56\xe5\xa5\x6f\xee\xc3\x4b\x85\x9a\x7e\xc6\x59\xcc\x2f\x92\xc0\x6c\xba\x7c\xfd\xe8\xe9\x61\x09\x9c\x13\x6f\xcc\x5f\x82\xb3\x8c\xaf\xc4\x47\x0d\x9e\x87\xae\xe0\x08\xb8\xae\x50\x0a\x14\x62\xc3\x7e\x40\xe3\x8a\xd7\x4e\x58\x92\x47\x49\xf1\xb2\x86\x68\xa2\x2a\xdc\x20\x8d\x57\xd7\x77\xe8\x7d\xd3\x83\xe2\x3a\x71\x0e\xdf\xf4\xdc\x9e\xc9\xe4\x1e\xcc\x8d\xb3\x8e\x99\x6e\x84\x60\x7b\xca\x6f\xf4\x9c\xe9\xad\x10\x1a\xe3\x96\x37\x73\x5b\xaa\xc6\x67\xab\xdb\x62\x33\xce\xb5\xcb\x69\xe1\xf5\x60\x3b\x78\x97\x8b\xa3\x5e\x5a\x2f\x7a\x76\x74\x95\x57\x16\x45\x18\x5b\xe8\x59\x21\xc5\xa5\x8d\xc0\x26\x34\x4f\xe7\x7a\x3e\x14\x8f\x19\x69\x38\x97\xa5\xc5\x94\xb0\x5b\x0a\xef\x06\x8b\x25\x1e\xaf\xbb\x0f\xb7\x18\x09\x26\xdb\x87\xf9\x82\xf0\x9a\x56\xe0\x12\xc7\x04\x72\xec\x9f\xb9\x7e\x95\xd6\x8a\x5b\x52\xb0\xc6\x0b\x91\x59\xe6\x07\x65\x3b\xc8\x0a\x71\xe2\xad\x2b\x22\xb6\xcc\xab\x50\x9d\x90\xdb\x32\x9e\xce\xe6\x49\x01\x87\x76\x79\x6c\xac\xa0\x30\xc6\x63\xac\x72\xe3\x46\x4e\xd8\x6e\x90\x45\xc7\x30\x54\x21\xe6\x8b\xd7\x80\x85\x3d\x9c\x93\x41\x76\x11\x5d\x96\x54\xa6\x8e\x3d\x93\xd2\x6b\xde\x82\x37\x1c\x25\x54\x04\x5a\xe1\x40\xad\xb0\xa5\x0a\xa0\x13\x8f\xac\xf8\x9a\x30\x9a\x61\x10\x71\x39\x2a\x5a\xa4\x39\x19\x70\x14\x7e\x88\xc2\x7c\xec\xb1\x49\x65\x17\x0a\x57\x7b\xfd\x14\x53\xdd\x71\x6d\x69\x9b\x5e\xb7\x7a\xdb\xc5\xb1\x29\x85\xb8\x0a\xe0\x72\xb6\xb1\x08\xb8\xb9\x79\x7b\xc9\xad\x8c\x5b\x9c\xcb\x75\x45\x67\x43\xe0\x56\x07\x98\xe3\x5d\xd5\x65\x9e\x59\xe6\x98\x1d\xe1\x7f\x1f\xb8\x65\xdb\x96\xc1\xf7\x6f\xab\x58\x20\xa1\xb7\xf9\x17\xe8\xd0\xc6\x86\xea\x90\x35\x3c\x7f\xd1\x8e\xd1\x94\x64\xf4\x14\x1f\x15\xac\x5a\xf7\xa8\x65\x86\x6b\x7c\x73\x83\xd8\x99\x9f\xe7\xf6\x5d\x7a\x5e\x66\xf1\xa2\x82\x43\xb5\x8c\x7e\xc4\x83\x9b\xfd\xf5\x46\xc1\xf0\x97\x1c\x7c\xeb\x72\xf0\xad\x1b\xe3\x95\xb7\x77\x71\x2b\x36\x4a\x4b\x4a\xde\x0e\xc9\x34\x5f\xb0\x28\x26\x19\x7d\x49\x87\xbf\x58\x42\xe8\x97\x6a\x24\x1f\xdd\xba\xeb\x9c\xcf\x40\x02\x8c\x19\x51\xb9\x2f\x60\x75\xd2\x0d\x0d\x36\x2f\x47\x02\x2b\x77\xd3\xa2\x58\x46\x73\x3d\x33\x56\xd0\x50\xfc\x68\xd8\xf3\xa5\x1b\xac\xd6\x99\x8e\x0b\x91\x18\x6d\x44\xdd\x34\xf3\xdb\x89\x20\xdc\x59\xe9\xb9\xf5\xe5\xa6\xfb\x6a\x31\x1b\xe1\xe3\x23\x81\x0a\x1e\x15\x2c\xe8\x99\xa1\x0d\x03\xa1\x44\xf3\xc6\xab\x07\x5b\xa3\x5f\x08\xeb\x94\xda\x01\x61\x2d\xce\x27\x79\x2e\xa2\x37\xa5\x45\xdd\x63\xb1\xac\xa5\x7e\xec\xb5\xfc\x41\x81\xd3\x89\xbd\xbe\x6f\x2a\xa1\xba\xb8\x6c\xda\x13\x98\xd8\x6f\x29\x60\xa2\x38\xbd\xa5\x73\xa0\x67\xf0\x5d\x61\xe6\xf3\xe8\x8d\xa8\x2c\x34\x52\xe7\xf2\xec\x4a\x61\x19\x17\x09\x57\x88\xfa\xe2\x52\xaa\x5a\xba\x2d\x9a\x55\x6d\x80\x54\x84\x32\x74\xed\x11\x6e\xfb\xd9\x03\x96\x90\x89\x56\x55\x3c\xef\x35\x99\x50\x67\x46\xa9\x63\x89\x0d\xa8\xd5\x1a\xad\x28\x09\xe9\xed\x9b\xa1\x04\x82\xf2\x5c\xd5\xac\x2f\x32\xba\xbd\xb3\x5e\x0a\x8d\x19\x46\x19\x19\xc4\xf4\x2c\x0f\xa3\x64\xf9\x4e\x93\x25\xbd\xd5\x71\x53\x1c\xe3\xdd\x8d\x99\x52\x0a\x73\xc1\x71\xab\xc9\x07\x91\x16\xf7\xe9\x3c\xca\x63\x57\x1c\x72\x9e\xe2\x8a\x17\xc2\xc4\x74\x2e\xb3\x98\x5f\x39\x40\x9c\xa8\xd5\x46\xea\xdc\x8e\x63\xad\x96\x49\xe5\xf5\x47\x79\x15\x64\x6f\x50\x58\xc5\xeb\xfe\x78\x81\xae\xe1\x50\x5e\x1c\x29\x68\xd5\x21\xe4\xaf\x69\x9a\xd1\x17\x95\x9d\xe1\xcc\xf6\xae\xd4\x13\xbd\xc1\x68\xc2\x25\xfb\x35\x2a\x2e\x64\xe5\x13\xce\x59\x5d\x2f\xf3\x0d\x1f\x14\x54\x68\x13\x4a\x11\xc7\xcd\xbc\x52\x5d\xdd\xa8\x6b\x0c\x39\xb2\x34\x6e\x63\x31\xca\xf3\xb2\x92\x4e\xa4\xe7\x6a\xa3\x7d\xbe\x9c\xdc\xc5\x03\x62\x87\x69\x94\x50\xc9\x85\x76\x61\xb7\xd0\x29\x22\xf7\x1e\x8d\xf6\x33\x5a\xb8\x22\x34\x9f\x28\xea\x8f\xcf\x67\xea\xea\x08\x4a\x2f\x92\x9c\xa6\xd7\xc4\xec\x4d\x94\xb3\x44\x3d\xdd\x4d\xdc\xcb\x17\x4b\x53\x1b\x55\x67\x53\xff\x7e\x61\x03\xad\x7a\x3e\xbc\x2a\x51\x5a\x79\x96\xd6\xcf\x59\x64\xf3\x24\x10\x11\x9d\xfb\x29\x25\xd5\xc7\x4d\x7c\x1d\xb5\x68\x04\xd1\xf2\x17\xa2\x67\x56\x53\x77\x07\x6b\xba\xb8\x7c\xa3\x83\x03\xb3\x02\xc2\x05\x64\x9a\xcf\x52\xea\x9c\xd4\x88\x03\x93\x28\xc3\x7f\xeb\x34\x6e\x94\x36\x85\x2f\x68\x7c\xe9\xb2\x64\x6b\xc8\xd2\x63\x12\x8c\xad\x13\x3a\xf5\x94\x84\x53\x59\x9c\xd1\x91\x50\x3c\x45\xfb\x32\xca\x72\x9a\xd0\xb4\xee\xc7\x0a\x3e\x7c\x90\xe7\xf9\xb2\x31\x4e\x1d\xab\x47\xc3\xe1\x0a\x5d\xa2\xb1\xdc\x76\xba\x6f\x8b\x56\x4b\x56\x64\xa1\x21\x4b\x03\x5a\x3e\xd8\x12\x25\xc4\x6b\x26\x78\x3c\xee\x94\xf3\xcf\x4b\xf4\x1a\x97\xb4\x34\xc9\x8f\x84\xab\xa5\x52\xb5\xf4\xba\x95\xe5\x6c\xfa\x36\x65\x53\x32\x22\x2a\xd2\x1a\x94\x0e\xd3\x2d\x0c\xa3\x64\x4c\xd3\x28\xcf\xea\xb8\x93\xd7\x04\xb1\xe9\xa6\xda\xd7\xc5\x86\xf5\xb2\x43\x07\x4b\xb2\x3c\x9d\x05\x39\x1e\xde\x61\x75\xc7\xe0\x31\x3c\x08\x3d\x09\xd6\x24\x89\x92\x58\xc9\x29\x97\xd0\x1b\x18\x16\x10\x14\xa6\x00\x1b\xbc\x6b\x82\x89\x47\xa5\x8c\x65\x36\x78\xe7\x9c\xbc\xf8\x4f\x5d\x38\xbd\xd9\xe0\x1d\xda\x56\xbd\x1e\x14\xb7\x23\x25\x75\x22\x8f\xcd\xb5\xd9\x71\xb1\x29\x3b\x2f\xd0\x74\x82\x6e\x03\x16\x62\xb9\x2e\xf3\x6b\x19\x31\x83\xa6\x93\x4f\xf0\x80\xfb\xf0\x41\xa3\x5b\x02\x75\xf6\x43\x94\x84\x5c\x51\x14\x01\x56\xc3\x73\x5c\x56\x04\xe1\x7b\x60\x1c\x25\x7c\x61\xbb\xec\x0e\x79\xa8\xe4\x76\xf8\xeb\xaf\xc5\xe5\x72\xe5\x67\x25\x9c\x40\xb4\xdb\x19\xec\x3c\x42\x29\xf1\x6e\xa5\xe5\xc1\x58\x1d\xbe\x9b\x1f\x96\x36\x32\x89\xf5\xb4\xd3\x84\x51\xa7\x09\x83\x8e\x4d\xfb\x31\xc1\xf7\x65\xea\x69\x07\x63\x5d\xed\x35\xe0\x03\xd4\x47\xf8\xe3\x31\xff\x3e\xb0\x0e\x0a\x0d\xb0\xd6\x55\x40\x82\x31\xbd\xe0\xb5\x2f\x7d\x9b\x67\x76\x18\xcb\x72\x8d\xd2\x39\x68\x18\x0d\x87\xd0\x83\x17\xc9\x30\x4a\xa2\x7c\xce\x17\x15\xd0\x83\xcd\x8e\x8e\x95\x1d\x34\x21\xed\x36\x61\xd4\x6d\xc2\xa0\xdb\x04\x5e\xfe\xa0\xb8\x50\xd0\x04\xba\x0e\x78\x8b\xfa\x88\xb1\xb8\x6c\x08\xa0\x57\x2a\x7b\x11\x59\x27\x95\x69\x97\x4b\xe8\x45\xdb\x4a\x1a\x89\x24\xfb\x3c\x73\x20\x92\xba\x56\x92\xec\x86\xd5\xeb\x30\xca\x72\xae\xb2\x2c\xea\xdb\x3d\x29\x3c\xd1\x26\xea\xfb\x02\x73\x23\x3d\x22\x77\x23\xbf\xf2\xf1\x42\x0d\xea\xa9\xa0\x6c\x09\x98\xc4\xd3\x50\xb1\xaa\x99\xbb\x32\xef\x56\x31\x41\x0f\xe2\x88\xb3\x69\x29\x5f\x6e\x72\x7a\x88\xe2\x86\x6c\xf5\x13\xc8\x5d\x95\xbd\x22\xf9\xb8\x35\x65\x37\xf5\xed\x36\x3c\x44\xa6\xdd\x84\xb4\xdb\x68\xda\xef\x43\x6f\x98\x52\xbb\x4f\x78\xa9\x11\x2f\x35\xaa\x2e\xd5\xe9\xf0\x52\x03\x5e\x6a\x20\x4a\xb9\x33\x3a\xe5\xf3\x2d\xea\xd3\x28\xc7\x39\x8c\x25\xf6\xc4\xc4\x55\xaa\x9c\x95\x8b\x3e\x12\x60\xe5\xd5\x4d\x65\xcf\x26\x46\x5b\xb0\xb0\xa5\x9e\x8b\x5c\xcb\xab\x0b\x0b\x2c\x60\x49\x13\x84\x7a\x46\xc7\x01\x36\x78\x67\xc2\xe6\x1b\xb4\x6f\x48\xf6\x8a\x25\xe2\xee\xc3\xaf\xe9\xfc\x4d\x12\x0b\xe3\xcb\x72\x0b\x94\x58\x16\xdd\x6c\xf7\x6c\x0d\x5a\xcc\x7c\xb4\x28\xf3\xb1\xa3\xfd\xdf\xd3\x79\xc6\xc9\x63\x53\xeb\xcd\xe0\x1d\x0d\xd0\x29\x36\x2b\x51\xcb\xca\xab\x9b\x4e\x49\xdf\x45\x74\x38\xcb\xac\xd7\x7c\x91\x7e\xef\xe9\x1c\x22\xa4\x73\x71\xfe\x92\xc0\x9c\x88\xb2\x6f\x6e\x12\x3e\xd9\xd3\x34\x9f\x0b\x52\xe2\xa8\xbe\xa7\xf3\x52\x10\x5b\xde\x96\xd8\x2d\x32\x4e\x6b\x15\x02\xc1\x8b\x3a\xfa\x19\xa9\x7c\x3c\x89\xf2\x1c\x4d\x5f\xfb\xe7\x55\xc7\xc9\xb5\x2c\x50\x65\x58\x70\xf9\x93\x5f\xad\x5c\x0c\x1e\xcb\x12\x3b\x05\x25\x98\x71\x01\xb6\xec\x73\x19\xd0\x4d\x7c\x39\x58\x9b\xb0\x70\x16\xd3\x16\xbd\xe5\x26\x70\x66\xa9\xbd\x83\xb5\xb5\xad\xad\xaf\x20\x63\xb3\x34\xa0\xaf\xc8\x74\x1a\x25\xa3\xef\x4f\x5f\xf6\x6e\x71\xba\x7c\x97\xb5\x26\x64\xba\xb6\xb6\xb6\xf5\xf0\xe1\xc3\x2d\xb8\x6b\x34\xd7\xb6\x1e\x42\x07\x1e\x6e\xc9\x14\x6d\x7d\xd6\x45\x0b\x4d\x90\x4d\x34\xe1\xea\xea\x86\x0e\xa6\x24\x78\x7f\x95\xd2\x3f\xcc\xa2\x94\x5e\x5d\x71\xda\xae\xad\xcf\x32\x0a\x59\x9e\x46\x41\xbe\x7e\xb0\xb6\x26\x47\x47\x84\x67\x54\x63\x52\xd7\x50\xd6\xaf\xae\x68\xf6\x0a\x61\xaf\x37\xe1\x27\xb8\x26\xf1\x8c\xee\xa3\xb5\x8d\xd6\xe9\xc1\x1a\xe7\x8a\x02\xa1\x3d\x5e\x6b\x3a\xc5\x2e\x5a\xb6\xcd\xcc\x2b\x72\xce\xcf\x0f\x1f\xf4\xf1\x8c\x18\x71\x1b\x8a\xc5\x59\x85\xd0\xbe\xc2\xe4\x8d\xa5\x05\x5c\xd5\xd8\x05\x2f\x76\x59\x68\x52\x26\x7e\xf8\xe0\xbc\x59\x5d\x2e\x21\x58\x53\x37\x21\x71\x3c\x58\x88\x24\x32\xcc\x2a\x58\x1a\x6b\xdb\x69\xb3\x28\x22\x8b\x9f\xde\x66\x83\x77\xde\xbe\x1d\x38\xa5\x7c\x26\x29\x2c\x74\x06\x2a\x98\xa6\x0a\x7f\x4e\x32\x91\xdc\xd2\x49\x76\xbe\xef\x58\x9e\x37\x2c\xdf\x03\x89\x9a\xa5\xb8\x1a\xbe\x2e\x82\xef\xf8\x7c\x21\xd5\xc5\x92\xa8\x1f\xc7\x6a\x41\x94\x95\x06\xa1\x48\xfa\xe5\x94\x0f\x69\x4c\x73\xba\x90\xb8\xab\xe0\xc6\x8a\x53\x70\x35\x4b\xd8\xab\xdb\x22\x36\x1f\xe7\x02\xa8\x3e\x62\x23\x61\x38\x94\x8d\x3b\xaf\xb1\x83\xbd\x97\x2b\x90\xb2\xfc\x03\xb5\x3f\x60\x79\x64\x58\x62\x71\x81\xae\x7b\xe0\x31\xd3\xb3\x16\x4b\x8a\x4d\x2f\xa6\x1a\x9d\x44\xf9\xc2\x31\xb4\xe8\x61\x0b\xb1\x9e\xee\xaf\xe4\xa1\xc5\x15\x9f\xf0\x35\x59\xf4\xb4\x7f\xe5\x79\x00\x91\x83\xbb\xb8\x8a\x60\x13\x3a\x5c\x63\xe8\x4a\x17\x57\x51\x69\xcc\xe1\x2f\x27\xc1\xf7\xb4\x60\x40\xc8\x1c\x97\xd1\xa5\xa3\xb8\x78\x0c\xe2\x95\x84\xc9\x1e\xe5\x4a\xfd\x7a\xe7\x2c\xf8\xdd\xc9\xf9\x0e\xcf\x86\xe4\xa4\xb4\x68\x5a\xaf\x9a\x4e\x1d\xf4\xfd\xb3\x6a\xf7\x17\x34\xab\xf2\xa1\x3c\x6c\x1f\xac\x59\x13\xe9\xa1\x5e\x89\x1c\xb6\x5b\xaf\xbf\x7f\x09\x3d\xa8\xfd\x78\xdb\x6e\x4b\x47\xef\xc3\x76\xeb\xec\xcd\x77\x32\xb1\x63\x25\x9e\xff\x56\x26\x76\x4d\xe2\xb1\x4e\xdc\xb6\x12\xdf\x9c\xcb\xc4\x1d\x2b\xf1\xf5\xbf\x90\x89\xbb\x26\xb1\x7f\xf8\x6b\x99\xb8\x67\x12\x9f\x1f\x2b\x94\x1e\x59\x89\x67\x32\xed\xb1\x49\xfb\x4e\x35\xf3\xc4\xa4\xbd\x3c\x91\x69\xc4\xa4\xfd\x46\x95\x1b\x98\xb4\x13\x55\x2e\x30\x69\x87\xa7\x32\x2d\xb4\x49\x21\xd3\xa8\x95\xf6\x42\xa6\x0d\x4d\xda\xd1\xcb\x63\x91\xd8\xb1\xe8\x78\x74\xd8\x91\x89\x1d\x3b\xb1\x2b\x13\xbb\x76\xe2\xb6\x4c\xdc\xb6\x13\x77\x64\xa2\x45\xc7\xd7\x7d\x49\xb2\x8e\x45\xc7\xb3\xdf\xbd\x96\x89\x7b\xf6\xd8\x3c\x97\x89\x16\x1d\x0f\xfb\xaa\xa4\x45\xc8\xe3\x57\x32\xcd\x22\xe4\xd9\xf7\xaa\xb6\x45\xc9\xe3\xb3\x43\x99\x68\x93\x52\x0e\x4d\xc7\x22\xe5\xb7\x2a\xcd\x22\xe5\xa9\x4a\xb3\x48\xf9\xbd\x4a\xb3\x48\x79\xf6\x56\xa4\x75\x6d\x4a\x2a\x9e\x78\xc4\x0b\xde\x35\xea\x87\x6d\xe8\x29\x59\x6a\x1d\xb6\xf1\x0a\x8e\xf5\x93\xaf\x4f\x1b\x68\x54\x56\x48\xb1\x7b\x75\xaf\x42\x90\xb7\x7f\x41\x82\xac\x3b\xf7\x5d\xff\xf4\xec\xf8\xfc\x4c\x2e\xc1\x55\xf2\xd1\xf1\x49\xff\xfb\x97\xe7\x57\x32\xdb\x26\x8e\xac\x70\x51\x7b\x5e\xbb\x2c\xc3\xb9\xa8\xb5\x6b\x97\x3a\x38\x7b\xed\xf7\xb5\x7d\xa8\xfd\x38\xeb\xee\x06\x7b\x35\x11\x80\xbd\x46\x54\xd2\x93\xae\x4a\x1a\x88\xa4\x76\xbb\xfd\x44\x25\x05\x3a\x29\x50\x49\xa1\x4e\x0a\x55\x12\xd5\x49\x44\x25\x0d\x55\xd2\xa0\xad\x92\x46\x3a\xa9\xa3\x92\xc6\x12\x89\x9d\xee\x8e\x4a\x8a\x34\xac\x81\x4a\x7a\xa7\x50\xed\x3c\x56\x49\xef\x75\x92\x06\x1f\xab\x24\x83\xea\x44\x97\xd2\xe0\x13\x95\xb4\xad\x4b\x31\x99\xb4\x3d\xd0\xd8\x4f\x75\x92\x46\xe2\x0f\x1a\xbc\x6e\x31\xd5\xa5\x34\xac\x4c\x27\x69\xe2\xe4\x1a\x09\x5d\x6a\xa6\x92\x4c\xb7\xaf\x35\x5e\x3a\xe9\x46\x97\xd2\x15\x6f\x35\x12\x7a\xd0\xe6\x32\xa9\xbb\xa7\x2b\xfe\x51\x27\xed\xaa\xa4\x9f\x24\x55\xb7\x03\x8d\xfd\x07\x5d\x4a\x27\xdd\x29\xda\x93\x6d\x95\xf4\x27\x3d\x68\x8f\x6a\x6b\x77\x3e\x46\xeb\xdb\x8c\xf6\x15\x2f\xfe\xe7\xff\xb1\xa2\xe8\x73\x2c\x2a\x1c\x31\xcb\xb9\x3b\x3e\x40\x12\x8d\xbf\xc3\x9f\xff\xaf\xfa\x79\xc1\x7f\x46\xef\xd4\xcf\x1f\x7f\xc4\xec\xff\x47\xfd\xbe\xe4\x3f\x3f\x38\x7d\xff\xf3\xbf\x71\xfa\x3d\x74\xba\xfc\xe7\xff\xe8\x74\xf7\xcf\xff\xbe\x02\xff\x43\x8e\x21\x16\x2c\xe7\xed\x5a\xd8\x1b\x1c\x7f\xfe\xcf\x6a\xe6\xc1\x03\x89\xe7\xcf\xff\xb5\x9d\x86\xb8\xfe\xfc\x9f\xdb\x49\xff\x80\x49\xff\xca\x4e\x42\x01\xfe\xf9\xdf\xda\x49\xd8\xad\x9f\xff\xb5\x9d\x84\x5d\xfb\xf9\x3f\xd8\x49\xd8\xbf\x9f\xff\x27\x3b\x09\xfb\xf8\xf3\x7f\xac\x29\xab\xaa\xdc\x97\xd3\x65\x23\xf1\xf3\x7f\xe7\x8c\xc4\x9f\xff\x9d\x3b\x12\x3f\xff\xa3\x33\x12\x7f\xfe\x47\x67\x28\x74\x37\x24\xbe\xff\x97\x33\x16\x3f\xff\x1b\x77\x2c\xfe\x4d\xc5\x58\xfc\x0b\x1b\x47\x1f\x52\x3f\xff\x0f\x0b\x91\xfa\xf9\x7f\x51\x3f\x05\xb9\xff\x37\xf5\x53\x90\xfa\xdf\x7f\x3c\xca\x3f\xff\xdf\x15\x28\xff\xba\x84\xb2\xa1\x8c\xcb\x2d\x45\x4e\x91\x28\xff\x2b\x17\xa9\x7f\xed\x22\xf5\x1f\x5c\xa4\x5c\x9e\xfe\xf9\xbf\xad\x40\xea\x77\x4b\xa5\xee\x1f\xef\x33\xd6\x86\x52\xbf\x77\x29\xf5\x93\x3b\x44\x02\xe5\xff\x63\x21\x1d\xff\xd7\x0a\x94\x8f\x17\x88\xe1\x5e\x51\x0c\xff\xae\x2c\x86\x82\xd6\xff\x85\x47\x32\xff\x9b\x8f\x95\xcc\x7f\x5d\x96\xcc\xff\xb9\x2c\x99\xff\xe7\x27\x4b\xe6\xbf\xbc\xef\x68\xfd\xf7\x85\xd1\xfa\xaf\x5c\xc9\xfc\xff\x5c\x25\xf9\xef\xdc\xe1\xf9\xdf\xdd\xe1\xf9\xc7\x8a\xf1\xf8\x6e\xc1\x78\x3c\xf2\x8f\xc7\x7f\x59\x1e\x8f\x7f\x92\x9a\xb2\x57\x1a\x0f\xc3\xf1\x5e\xa5\xf4\x6f\x3f\x4e\x29\x5d\xb9\xf2\xe1\xd5\x51\xf7\x52\x07\x42\x47\xf9\xcd\x68\x19\x3d\xa1\xca\x7e\xde\xf9\x24\xfb\x79\xeb\xe1\xc3\x35\x78\x08\x2f\x26\x53\xe9\x8a\x04\xf9\x58\x3d\xd2\x09\x13\x9a\x8f\x59\xd8\x84\x7c\x4c\xd4\x03\x88\x54\x14\x50\x37\x2e\x20\x67\x40\xe0\x07\x3a\x38\x63\xc1\x7b\x9a\x73\x4b\x9c\x92\x49\x8b\x83\xfc\x3b\x81\x03\xe0\xd6\xf8\x16\x09\x43\x96\x64\x5b\x02\x88\xfc\x07\x4b\xc5\x51\x40\x93\x8c\xc2\xab\x17\xe7\x6b\xbc\x27\xf6\x22\x5a\x14\x13\x0b\x69\xdc\xe1\x4b\xcd\xed\xf4\xad\x87\x82\x31\x1e\xc2\x21\x9b\x4c\x58\xf2\xf7\x67\x40\x93\xeb\x28\x65\x09\xef\x86\xcc\xdb\xc2\x7f\x4b\xbb\xf9\x02\x6e\xdd\x43\x93\x7a\x5b\xb8\x48\xdd\x59\xd1\x41\xe6\x53\xca\x86\x20\x96\x14\x78\x82\xad\x10\xac\x95\x71\x39\x15\x80\x5a\xef\x32\x88\x32\x20\xd7\x24\x8a\xc9\x20\xa6\x0e\x3a\x02\x52\xfd\xa2\xd6\x6a\x6d\xb5\x5a\x5b\x48\x9f\xda\x65\x53\x62\x65\x37\x5f\x84\xfe\x36\x26\x51\x02\xf2\x50\xbe\xb2\xbb\xb2\x77\x37\x78\x5e\xdf\x52\x27\x17\x02\x2e\x5f\xd5\x19\xfa\xfe\xd6\x38\x4f\xd6\xcc\x3a\xaa\x76\xb0\xb6\x26\x76\xb2\x0c\xc5\xf8\x2a\x68\x8d\xa3\x82\xb8\x3c\x84\xbe\xcd\x0c\xa3\xe8\x9a\x26\x0e\x4b\x98\xd4\x0c\xf9\xa2\x85\xb5\x44\xd5\xbf\x9b\x92\x94\x4c\xe0\x27\x6c\xfc\x0e\xab\xc1\x26\x9c\x17\x98\x6a\xa0\x98\x90\x86\xd5\x00\x35\x2c\xcd\x80\x77\x32\x5f\x42\x94\x3f\x38\x93\x0a\x8e\xe6\x70\x82\x59\x9a\xd2\x24\xd7\xcd\x15\x60\x0d\x18\x8b\x29\x49\xee\x60\x10\x85\x51\x2a\x9e\x00\x24\x31\x6c\xc2\x0f\x63\x9a\x8f\x69\xea\xf2\x7f\x36\x66\xb3\x38\x04\x0c\xba\x10\x92\x9c\x08\x58\x4b\x3f\xb2\x4b\x12\x3f\x92\xc1\x0d\x8d\xab\x11\xc1\x57\x8f\x69\x58\xc0\x21\xa5\x49\x48\xd3\x28\x19\x01\x1b\x42\x94\x04\x6c\xc2\xbf\xaf\x86\x84\x44\x7b\x4c\xa6\xf8\x3e\x69\x92\xe5\x24\xc9\xe3\x39\xb0\x14\xb8\xa8\xc3\x84\xdc\x46\x93\xd9\x64\x39\xa0\x61\x2a\x96\xf7\x73\x8e\x44\xc7\xc2\x69\x4a\x53\xe8\xb4\x27\x99\xe8\x14\xe7\x4c\xa5\xae\xe5\x50\x14\x9d\x78\x9b\x92\x1a\x4d\x97\xf0\x4d\xdd\x7d\x25\x6d\xee\xb8\xf4\xb4\x84\x16\xd2\x7b\x50\xd3\xcf\x98\xd5\x1a\xf0\x4c\xac\xf2\xf7\xdd\x62\xd2\xe3\x8d\xa6\x93\x96\x1c\x8b\x9e\x44\x03\xf9\x5d\x66\x5d\x0d\xe3\x59\x36\x16\x8f\x4f\x7b\x3d\xdc\x64\x39\xf1\x52\xb3\xa8\x22\x7a\x29\xb8\x52\xd4\xd4\x7b\xb5\x55\x05\x9c\x5b\x71\x00\x78\x2f\x41\x05\x96\xa8\xaa\xc3\xf3\x97\x43\xc6\x52\x0e\xf8\x3b\xa7\x7f\xd3\x59\x36\x3e\x67\x9e\x0e\xda\x1e\xce\x52\x07\x57\xf5\xce\x3e\xae\xab\xea\xa0\x0e\xe7\x21\xca\xdd\x95\x7c\x45\xab\x29\x63\xd7\x73\x42\x6e\x94\x46\xc8\x8a\xa1\x61\xed\x8a\x5b\xbd\x1d\xd1\xfc\x95\x7e\xe0\xda\x17\xf5\x47\xf4\xb4\xc8\x77\x7e\x72\xd5\xe9\x75\xcb\x79\x36\xdd\xdf\x29\xc1\x1a\xa5\xb2\x1e\xec\xb8\x2a\x39\x12\x0f\xe4\x57\x8d\x83\xd4\x81\xf8\xde\xbc\x05\x4f\xc1\x91\xd9\x25\x27\xc6\x9a\x7c\x41\xbb\xd6\x2c\x11\xa2\x21\xab\x62\xbf\x6d\x01\x29\x70\x38\x4b\xb4\x67\xb9\x8b\xad\x76\xa4\x58\x8c\x41\x10\xb3\x4c\xb7\x1f\x52\x3e\xce\xf2\x89\x51\x4b\x03\x28\x2f\xe5\x4a\x28\x18\xf1\x62\x35\x28\x85\x79\xeb\x88\x56\xcf\x5b\xc3\x94\x4d\x4a\x13\xcd\xc7\x4c\x5c\x02\x23\x1a\xfa\x21\xde\x6f\xea\x42\x10\x22\xe0\x52\xce\x24\x64\x7b\x16\x5b\xae\xa1\xdd\x69\xce\x56\xc4\x12\x5a\x95\x22\xd6\xee\xbb\x38\xf0\xc3\x61\xf5\xc8\x5b\xa3\x65\xe9\x63\x95\x50\x56\xc4\x96\xba\xdd\x77\xd5\x2d\xe7\x3f\xb7\x75\xcd\x06\x3e\x27\xd9\xc5\x1c\x6d\x31\xa4\x3a\xf9\x35\x2d\x7b\x98\xc3\x31\x6a\x8a\x56\x82\xcf\x0a\xf1\x30\xc7\xdf\x2c\x91\x7f\x02\x96\x08\x4a\x70\xe9\xf5\x7f\x47\x10\x56\xb4\x45\x94\x23\x98\x63\xda\xc8\xf3\xd9\x65\x20\x96\xa9\xa7\x12\x07\x2e\x50\x27\x7f\x75\x9d\x52\x24\xa9\x47\xb7\xb8\x72\x5d\xa0\x9c\x28\xef\x50\xce\x22\x90\x5b\xf8\x60\xed\x8e\x2b\x1d\x77\x19\xbc\xfb\x39\x96\xc1\x27\x91\x45\xee\x80\xc5\xb3\x49\x92\x01\x49\x42\x0c\x24\xa0\x44\x25\x8c\x26\x34\xc9\x22\x96\x64\xc8\xee\x79\x06\x47\x6f\x5e\xe9\xab\x03\x6b\x80\x90\xbe\xfa\x0a\xfa\xd3\x69\xca\xe4\x32\x77\x13\x4e\x31\x14\xc1\x79\x3a\x4b\x02\x82\x3e\x28\x1c\xd0\x75\x94\x89\x8b\x02\xae\x28\x0b\x2f\x76\x05\x12\xc6\x14\x6f\x2a\x0f\xe6\x6e\xa9\x94\xdd\xc8\x2c\xd5\xe8\x26\x1c\x0a\x9c\x3f\xb2\xa1\x9b\x28\xcc\xc7\xa5\x76\x82\x31\x49\x49\x90\xd3\x94\x37\x21\x8a\xd4\xd1\x0f\x01\xc2\x28\x9b\xc6\x64\xbe\x0f\x51\x82\x97\x19\x49\x5e\xc6\x90\x53\x2f\x57\xc8\x70\x62\x09\x08\x37\x51\x5e\xe0\xb9\x87\x90\xcc\x26\x03\x9a\x72\x24\x25\xe9\x1b\xd5\x1b\x09\xc3\x28\xe7\xff\x2f\xdd\x42\x18\x46\xf9\xe7\xdf\x3f\x18\x46\xf9\x2f\x6d\xf3\x80\xf7\xf3\x93\x77\x0e\x78\xbf\xee\xb7\x6d\xe0\xdd\x25\x50\x32\x3d\x4d\xd9\x94\x65\xf4\x5b\x13\xda\xc3\x7f\x6d\x53\x78\xdd\x70\xfd\xa1\x84\x48\xf0\xe5\x71\xf1\x82\x8e\x54\x03\xd6\x2a\x06\xff\xe6\x48\x38\x35\xce\xf2\x39\xde\x68\x94\x7d\x19\xd1\xfc\x90\x4d\xa6\xb3\x9c\x86\x98\x53\x5f\xd0\x96\xd9\x6e\x74\xd2\xbf\xa3\x32\x58\xc0\x94\xe0\xa5\xc0\xbc\x5e\x6e\x90\xb7\xa3\x8e\x9c\x7f\x43\xe2\x19\xad\xd7\x84\x78\xd6\x1a\x55\x60\x31\xea\x04\xf4\x84\x4b\xf5\x84\xdc\xd6\xdb\xcd\x7b\xb6\x70\xa3\xe2\x56\x6c\x42\xe7\x91\xd5\x0c\xbd\x3f\x25\xca\xb5\xdf\x92\x30\x8c\x92\xd1\x6f\x70\x01\xa6\xf1\xa2\x8b\x31\x9a\x8a\x4a\x9b\x39\x9b\x72\xbc\x36\xee\x5d\x71\x80\x57\x0a\x1d\xa2\xb9\xf8\x7c\xc7\x3e\x06\x9f\x54\x0e\xc5\x47\x60\x14\xd3\xa1\x3b\x88\x5a\x36\x6d\xbe\x28\x71\xcb\x66\x99\x8e\x1e\x10\x8a\x07\x3c\x8c\x51\x04\xf0\x1d\xb3\x00\x04\x2c\xc9\x49\x24\x3c\xf5\x70\x18\x53\x76\x73\xa8\xd2\xac\x67\xdd\x67\xe8\x12\x71\xca\x6e\x7c\xe5\x5a\xc3\x28\xcd\x54\xa3\x18\xf7\xc8\x6d\x80\x26\x66\x05\x6e\x20\xb5\xa2\x24\xa1\xe9\x77\xe7\xaf\x5e\x5a\xa5\xd5\x2c\x21\x3a\x6f\x32\xb8\xce\xf1\x14\xc3\x1e\xda\x8d\xc5\x56\x29\x15\x0d\x48\x2d\x2d\x4c\xcb\x22\x7a\xa6\x9c\x78\xa0\x07\x35\x31\xf5\xa8\x48\x9c\x1e\x14\x79\xa1\x1f\x6a\x07\xb0\xb5\x25\x35\xbd\xc1\x01\x1d\xf1\x44\x24\x23\x6e\x28\xa2\x2c\x35\x81\xc4\xf9\x98\xcd\x46\x63\x60\x09\x4c\x58\xc2\xb2\x29\x09\x84\x12\x76\x91\x77\x49\x32\xa2\xf9\x73\x36\x4b\xf8\x30\x1d\xc6\x11\x4d\xf2\x53\x1a\xe4\xf5\x46\x0b\x81\x96\xb0\x2b\x75\x43\x20\x78\x4a\xaf\x69\x9a\x03\xe6\xc2\x80\x0e\x59\x4a\x21\x20\x71\x30\x8b\x49\xce\x31\x14\xfa\xa4\x09\x59\x94\x04\x38\xb5\xcf\xf1\x2e\x0a\x4d\x5b\x6b\x9e\x31\x58\x0d\x41\x01\x73\x21\xfd\x1c\x4e\x90\x63\x22\x6f\xe2\x6a\x51\x2a\x8a\xc4\x56\x11\x1b\xb9\x20\x93\xd7\x73\xcb\xf5\x04\x4d\xb7\x0a\x44\x56\xab\x4b\x2b\x3e\xd4\x4f\x22\xbc\x93\x08\x10\x25\x22\x3c\xf1\xbf\x5d\x87\x44\xc3\x41\xca\x86\x54\xb3\xd2\xb0\xe8\x86\x5a\x08\x20\x60\xb5\x54\x31\x91\x89\x2a\xd6\x8a\x55\x55\x29\x6c\x96\x88\x08\x55\x3a\x57\x86\xb4\xd2\x3f\x31\x04\xa5\x99\xc7\x04\x96\x45\x3b\x7a\xd1\x1c\x5a\x61\x4a\x97\xb0\x1d\x47\x99\x65\x4b\x17\x5b\x28\xd2\xa3\x02\x2a\xb7\x0d\x0a\x90\x56\xb0\xca\xf7\x3e\x8b\x55\x3e\x8b\xe3\x2c\x48\x29\x4d\x00\xad\x3f\x14\x5b\x75\xe3\xa2\xda\x42\xd4\xb5\xac\xaf\x5e\x7b\xd1\x36\x17\x75\xc9\x2f\x60\x35\x6a\xd8\xbf\x38\xe3\xd1\xf4\xfa\xd3\x6d\x48\xd3\xcb\xcf\x60\x4a\xea\x95\xf1\x39\x1b\x8d\x62\xea\xd9\xb6\xab\x65\x56\x93\x9c\xe8\xb4\x75\x9f\xed\xba\x5c\xc0\xe5\x20\xc0\x82\x51\xb1\xff\x61\xb5\xb4\xa9\x50\xb2\xd2\x50\x9d\x20\xb7\x30\xbe\x8c\x19\x42\x5d\xdc\xd5\x2e\xed\xbc\x89\x56\x39\x5f\x9f\x89\x9a\xe5\x3d\xb8\x22\x27\x0a\x02\x0d\x13\x4b\xed\x48\xfe\xb0\x10\x28\xee\xb5\x29\x75\x34\x4c\xf4\xed\x60\x65\xf6\x06\x31\xc9\xb2\x97\x51\x86\x61\x82\xb9\x31\x90\xd5\x6b\x06\x12\xb7\x93\x9e\x41\x4d\xec\xb9\xd5\x60\x1f\x6a\x24\x54\x5e\xa6\x16\x87\x3e\x28\x63\x29\x1b\x53\x55\x9d\x2a\x6e\x09\x0b\xa2\xb5\xff\x5d\xc2\xef\x62\x98\x5c\xba\xa8\x55\xeb\x32\x43\xd7\xac\x4c\xd7\x32\xae\x55\xc3\x21\xb7\x21\x8a\x62\xb1\xaa\xd2\x7b\xf4\x39\x94\xde\xf9\x38\xca\xa4\x0e\x81\x69\xca\xae\xa3\x90\x66\xf2\x40\x3e\x43\x05\x28\xf6\x9a\xb8\x55\x40\x0a\xc7\xf1\xf2\x57\xc8\xbc\x07\xf3\x95\x0a\x53\x57\x33\xdf\xfe\x76\x42\xff\xb7\x13\xfa\xbf\x9d\xd0\xff\x27\xb3\x2f\xae\xf5\xa1\x92\xff\xfe\xdf\x8e\xea\xff\x76\x54\x8f\x9f\x5f\xee\x51\x3d\x57\x83\xa1\x38\x2f\xff\xfb\xb3\x37\xaf\x5b\xb8\xb2\xd4\x27\xed\x9a\x1c\x75\x2c\x74\xd1\xbe\xe4\xec\xb6\x9e\xe5\x21\x9b\xe5\xeb\x50\xbc\x43\xea\x3b\xf3\xf7\x9e\xfa\x23\xb0\xce\xa5\x7d\xff\xae\x1c\x55\xdb\xe2\x34\x4f\xf9\x05\xdd\xbe\xa7\x0f\x00\xf6\x3b\xc3\x97\x6a\xa2\xe1\xbc\x7e\x51\xcb\xf2\x30\x4a\x64\xf4\xb7\xcb\x46\xc3\xc7\x47\x19\xcd\xcf\x8a\xef\x3e\xf0\xe5\xea\xaa\x2d\xd0\xfc\x4a\xc6\x5f\xe6\xff\xe0\x62\x56\x7e\xe5\xcb\xdc\x52\xa3\x7f\x55\x9f\x04\xa7\xa8\x8e\x1b\xed\xd0\xa1\xb1\x0c\x4f\xc7\x73\x41\x2b\xc8\xa3\xcf\xe2\xc2\xb0\x22\xb8\xbf\xf9\x32\x54\xfb\x32\x14\x48\xf8\x37\xa7\x86\xbf\x39\x35\xfc\x27\x66\xbc\x95\xd6\xc2\x0b\x8c\xb8\x8f\xf3\x6e\x28\x40\xfc\x9b\x9b\x03\x5d\xa8\x76\x16\xfa\x3b\x14\x2a\x7e\x82\xe3\xc3\xe3\x5f\xd0\xfd\x59\x6e\x8b\x7d\xcb\x95\x58\x14\x5c\x75\xa0\xe7\x6b\xb5\xbe\xbd\x23\x0b\x46\xd9\x6b\x8c\x7f\xa4\x75\x6b\x42\xae\xa3\x11\xc1\x38\x7f\x95\x4b\x02\x19\x59\x90\xd7\x9f\x65\x34\xed\x8f\x38\xeb\xf4\xf0\x89\x2a\x7c\x0f\xf1\x19\xd4\x12\x16\xe2\x96\x95\x06\xd7\xd2\x25\x45\xc5\x69\x4c\xf2\x21\x4b\x27\x4b\xeb\xa9\x82\xe6\xaa\x49\x94\x9d\x44\x29\x1d\xb2\x5b\xe8\xc1\x83\x07\x7f\xd2\x80\x75\x24\xe1\x9a\xcc\xaf\x35\xec\x4a\xaf\xce\x5e\x1c\x57\xd6\xe0\x99\x35\x7c\x5b\xcb\x9f\x7f\x9e\x46\x21\x4d\xf2\x02\x44\x12\x40\xcf\xd0\xda\x6c\xe2\x5d\xd4\x5e\x91\x20\x4a\x72\x96\x8d\x6b\x4d\xe0\x3f\x5e\x24\x39\x8d\xe5\xf7\xb7\x6f\x0f\xe5\xb7\xbd\xc7\xbf\xae\x5d\x36\x35\x2d\x1c\xe0\x2f\xa6\x24\x84\x9e\x45\x27\x3e\x1c\xd1\x5b\x12\xd6\xdc\x52\x63\x86\x11\xac\x8b\xe5\x78\x72\xcd\xed\xbe\x0a\x1e\x58\x81\xb2\xcc\xe6\xa8\xfd\x10\x25\x9d\x3d\xf9\x65\xbb\x2b\xbf\x1c\x1e\x57\xe2\xfa\x32\x4a\x66\xb7\x16\x12\x86\x6e\x98\x53\x6b\xc0\x37\x18\xd5\xd9\x7f\xb7\xe6\xb9\x0c\x70\xe8\xbf\x5a\xf3\xe4\x17\x24\x5a\x5a\xaf\xe0\x19\x3e\x4b\xc3\xec\x94\xc6\x24\x8f\xae\xe9\x39\x93\xe7\xb7\x75\x8c\xd5\xd1\x84\x42\x60\x53\x11\x80\x51\xb8\x3a\x8c\xe8\x6f\x7d\x2f\x7f\x2e\x70\xac\xb8\xc5\xe7\x3b\x75\x6d\x13\x5a\x6c\xee\x64\xc8\x97\x69\x64\xfc\x21\xe5\x50\xf4\xf5\xd7\xda\xb7\xe8\x41\xaf\x27\xde\x41\x0c\x59\x80\x41\x58\xf4\x97\x92\x9b\x07\xc0\x2d\x6c\xf6\xb4\x47\x15\x1b\x0e\x33\x9a\xbf\xa4\x43\xeb\x7d\xaf\x79\xb9\xc0\x39\x9b\x9a\x7c\xd5\x6a\x0f\x6a\x22\xf7\x2d\x9e\xae\xd7\x20\x4a\x74\xde\xb3\x02\x00\x51\x04\xf6\xc1\xeb\x19\x62\xd3\x45\x92\xeb\xe2\xb6\x09\xf3\xcb\x83\xb5\x3b\xcd\x8e\xd5\x63\x03\xbd\x05\x03\xe7\x1b\x5d\x35\x98\xce\xa9\x3e\x58\x4f\xf0\xe0\x33\x37\x87\x6c\xa6\x0b\xe1\xb7\x28\x3b\xc3\xa7\x84\x23\xe6\x9c\x1b\x04\x08\x73\x21\x12\xbe\x06\xf5\x99\x2d\xaf\x81\x6b\x67\xe1\xaa\x12\xd0\x28\xae\xd7\x4d\xf2\x06\x57\xa4\xba\x61\x78\x66\xe3\x29\x4e\xc0\x61\x0b\xba\xb0\x0f\xed\x46\x43\x1e\xf1\x3a\xb9\x6e\x3b\x1d\xb7\x1d\x93\xea\xd6\x1c\xbb\xc7\xca\x05\x14\x27\x51\x52\xd7\x6e\x35\x3a\xb7\x09\x9d\x86\x21\x1c\x3e\xab\x55\xd1\xb4\xaf\x7e\x47\xd6\x57\xe4\xb6\xea\xab\xe8\xf7\x58\xd0\xcb\x12\x36\xf1\xdd\x01\x3f\x25\x37\xcf\xe7\x39\xfd\x84\x71\x5f\x3c\xd4\x1f\x07\xf2\xc0\x51\x01\x9a\x82\xae\x02\xd0\x84\x11\xc9\xb7\xb0\xd1\x83\xed\xae\xf8\x31\xb7\x7f\x48\xfa\xfc\x04\xb7\xf8\x30\xd3\x1c\x5f\x65\x2a\xd0\xc9\xa1\x83\xe8\x80\x93\x54\xa5\xc4\x5f\xb1\x59\x46\xab\x82\xef\xb5\x7f\x41\x3a\x9c\x53\x6d\x40\x52\x5a\x61\x19\x75\x94\x65\x74\x4e\xd3\xc9\x77\xb8\x26\x5f\x1c\x9c\x4f\x97\x43\x85\x5b\x0a\x98\xc7\x13\x41\xa8\x49\xa3\x19\x79\xfb\xad\xb1\xbc\x39\x81\x51\x9d\xcf\x72\x96\x8a\x0d\xb6\x84\xde\x88\xfc\x38\x1a\xb4\x64\x72\xeb\x15\x9d\xb0\x74\x5e\x2f\xc6\x83\x97\xe8\xe9\x2a\x02\xa4\x3a\xcb\xf0\x16\x17\x1e\x56\x74\x98\xd5\x1b\x18\xb5\x7e\x9d\x2f\xeb\x36\x69\x12\xb0\x30\x4a\x46\xeb\x4d\x58\x4f\xc9\xcd\xba\xb7\x66\x48\x03\x96\x92\x5c\x86\x9e\xc7\xde\x16\x8a\x45\xcc\x7e\xf5\xa1\x15\x31\x11\xea\xcf\x0b\x0d\x17\x64\x71\xfc\x6b\x3a\x1f\x30\x92\x86\xee\x0b\x02\xe2\xbb\x26\xad\xf3\xb0\xc1\x90\x55\xec\x29\x5b\x0c\x1e\x28\x17\x5c\x15\x81\x9e\xff\x52\x8e\x2a\x26\xde\xfa\x9d\x13\x46\xab\xba\x51\x36\xcb\xa7\xb3\x7c\xc1\x46\xa0\x15\xfc\x4e\xf6\xdc\x17\x57\xb8\x40\x00\x26\xb6\x25\xbf\x3f\x3f\xe9\xec\xd5\x9d\x2b\x49\x85\x40\x62\xd5\x88\x65\x63\x76\xe3\xdb\x9b\x95\xbb\x17\x4d\xc8\xc5\xae\x6f\x89\x2d\x27\xba\x92\xfc\x76\xe0\xf6\x44\x54\xf3\x3d\x5c\xe9\x74\x80\xb7\xff\xe6\x9a\xa6\x31\x99\x97\xdb\x2c\x6f\xb3\x7a\x1f\x3d\x5c\x0e\x10\xe9\x78\x6f\xda\x88\x6d\x1d\x1f\x75\xec\x2e\x6d\x6d\xf1\xe5\x68\x4a\x21\xca\x20\x61\x30\x8e\x42\xaa\xda\x6f\xf0\xb5\x20\x70\x8c\xc4\x46\x06\x99\x50\x45\x2d\xe1\x3a\xdd\x86\x8c\x06\x3e\xd6\x76\xfb\x61\x13\xbc\x09\x6d\x37\x50\x9f\x77\x54\x69\x2e\x8c\xf1\x25\xaf\x82\xb8\xad\xba\xb5\xea\xea\x7d\x90\xd5\xf8\x48\x28\x05\x9a\x62\x90\x28\xa7\x45\xd4\x9f\xc5\x10\x81\x57\xbc\x59\xe7\xb5\x6e\xfe\xb1\x43\xe0\x8a\x6a\x9e\x88\xff\xef\x69\xe9\x99\xc9\xab\x4a\xed\x84\xa1\x73\x11\xd4\xc5\x7b\x3a\x77\x76\xee\x57\xed\x1a\x4b\x5e\x24\x45\xe1\x0d\x88\x78\xd7\xb8\x44\xc8\x88\xb5\x58\xf2\x9b\xf3\x5f\xd3\x79\x96\xa7\xec\x3d\x5d\x28\xf2\xfc\xa3\x20\x95\xe4\xb7\xa4\x19\x71\x0f\x5f\xbc\x64\xff\xa9\x50\x57\xe8\xf3\x69\xf9\x41\x69\x5f\xa7\xab\xc7\xd2\x90\x43\x4d\x27\x3e\x90\xb6\x62\xf5\x8f\xaa\xba\xc0\xd1\x53\x3a\xf9\xc0\x53\x48\xfa\x31\x9a\xc7\x44\x4a\x84\x70\x5b\xba\x3f\x45\x42\x4a\x82\x3c\xba\x26\x79\xb5\x26\xa8\x62\x00\xfb\x8c\xb1\x62\x34\xfd\x45\x3c\xa4\xf3\x14\x44\x44\x67\x49\xd5\x74\xb8\x48\xbf\x55\xbd\xd6\x02\xe6\x91\x11\x4b\x05\xde\x6f\x1a\xae\x6e\x17\x0f\x61\x16\xb7\xbb\x52\x9f\xe4\x64\xad\x9b\x28\x86\xac\xb4\x0d\x30\xab\x50\xd1\xb6\xfc\x25\x45\x76\xc6\x18\x94\x2c\x49\xc4\x12\xec\x84\x04\x39\x43\x77\xd1\x45\xf6\x63\xa9\x7c\x7d\x96\xc6\x4d\x40\x7a\x7b\x5f\x4d\x9a\xa5\x31\xf4\x60\x96\x16\x19\x49\xd7\x80\x9e\xa9\x5d\x36\xaa\x4a\xed\xd9\x43\x9b\xd2\x45\x12\xa2\x76\x28\xe8\x8d\x05\xa5\xae\x90\x6a\x16\xd0\xf0\x29\x68\x09\xa1\x84\x43\x71\xec\x7d\x44\xf4\x54\x72\xe9\xbd\x32\xa1\x97\x51\x58\x2e\x0f\x78\x3f\xf5\xf6\x76\xb1\x8e\x4d\x58\x03\xd9\xd6\xc1\xd3\x82\xeb\x5b\xc1\xea\x48\x58\x8e\x8e\x63\x39\x0b\x19\xfa\x92\xdd\xd0\x81\x39\xfc\x71\xc9\xe6\x6d\x60\x05\x39\xc4\x45\x01\x96\xab\xfb\x46\xc3\x0b\x16\x8f\x79\x16\x4d\x50\x06\xb2\xe7\xee\xfb\x12\xe0\x51\xf6\x66\x11\x59\xb4\x11\x8d\xe0\x53\x4a\xc2\xf9\x59\x8e\x1c\xd9\x33\x23\xd1\x3a\x7c\xf3\xfa\xf5\xf1\xe1\xf9\x8b\xd7\xdf\xda\xd1\xfc\x5d\xd4\xaa\xea\xbe\x79\x7b\xfc\xda\x1f\x49\xd8\x7a\x5b\x16\x1c\x93\xd5\x7d\x4e\xc7\xea\xa7\x7f\xd8\x93\x52\x0f\x2b\xad\x0d\xc4\x94\x25\x25\x4e\xc1\xad\x82\x4a\x9b\x60\xc9\xec\x57\x81\xd5\x29\x0d\x68\x74\xbd\xdc\x22\xb0\x11\x9b\x78\xbd\x3e\x16\xe1\x26\xf6\x22\x57\xb0\x5a\x2a\xb0\x3c\x2c\xf1\xf4\x32\x1c\xcb\x52\xf0\x49\xd4\x2b\x29\xa8\x6a\xcd\xe4\xa8\xa4\xf2\xbc\xf4\x4b\x8a\x8d\x6c\xdd\x4a\xd0\x53\xc4\xc5\xfa\x0d\x1d\xe4\xf9\x7c\xdd\x0a\x95\x3a\xc9\x46\x68\x2c\x7f\x9f\xbc\x4f\xd8\x0d\x3a\x08\xb7\x6b\xe5\x6c\x9e\xde\x71\xd3\xdf\x0a\x43\xa8\xd6\x75\x93\x85\xe1\xa3\xcc\x20\x5e\x60\xdb\x2d\x20\x5b\x7a\xa3\x16\xd8\xc5\xf6\x4c\x46\xb1\x41\xe6\x6d\xf0\xac\xb8\x74\x2a\x36\x78\x56\x5c\xe9\xd4\x76\x4a\x05\x4e\x69\x20\x06\x96\x67\xef\xd6\xc4\x3c\xf3\x03\x1d\x9c\x9f\xff\x6e\xc9\x1c\x23\x0a\x49\x67\x87\xa0\x38\x61\x89\x70\xe1\x4d\x20\xb3\x7c\x7c\xce\xde\xd3\xc4\x6b\x38\xc9\x2b\x62\x85\xd9\xbd\x04\x4c\x5c\x09\x2a\xce\x88\x4e\x1d\x19\xc8\x9d\xff\x53\xcc\x51\x18\xf0\x6c\xf5\xfd\xa0\x68\x3c\x1a\x2a\x6c\x76\xca\x86\x84\xe8\xeb\xaa\x33\x5e\xf5\x4a\x43\xec\x97\x5a\x52\xe5\xef\xaf\x34\x4e\x6c\x01\xc6\x73\xc4\x28\x19\xa1\xbb\x9e\x9b\xac\x91\x97\x6e\x6f\x6e\x2e\x3e\xab\x5e\x89\x2a\x88\x7b\x77\x4a\x3f\x09\x8d\xee\x19\x75\xfb\x83\x2f\x81\xd1\x74\xf2\x42\x6c\x4f\x5d\xd9\x06\xf6\x90\xd5\x3d\xcf\x33\x58\x2d\xf8\xbc\xbb\xca\x4d\xf0\x4f\x5f\x05\xcf\xdf\x97\x4d\x20\x43\xf9\x8b\xaa\x61\xd5\x45\x55\x42\xb9\xfc\x5d\xc3\x83\xa0\x20\x23\x97\xdf\xef\x3c\xcf\xae\x06\x2c\x9e\xcc\xaa\x96\x7e\x55\x7d\xac\xd6\x0c\x1b\xb0\x52\xff\x05\x50\xb9\xb7\xa7\x50\xa8\x2c\x69\xee\xa5\x79\x8b\x78\x7b\x7d\x57\x4e\xb2\x06\x53\x2d\xac\xeb\x0e\x61\xbc\x8f\x6f\x58\xf9\x75\xc5\x19\x66\x27\x52\xa7\x14\xd6\xb3\xde\x36\x51\xe9\x5a\x0c\x18\xf1\xdf\x1f\x41\x73\xa1\xbc\x37\x40\xd4\xf7\xf4\xdd\x93\xa6\xe5\x0b\x7a\x5c\x6c\xd4\x4b\x96\x4b\xc4\x61\x09\x22\x7c\xb6\xf0\xb5\xdf\x04\x7c\x1a\xab\xd3\x6e\xb7\x0b\xd9\x45\xd4\x1c\xf9\x94\xb6\x4d\x7d\xf1\xa6\x0a\xe8\x5b\xea\xf3\x98\xe1\xd9\x3a\x2f\x25\x9e\xf9\xa8\xfb\x1e\x50\xc9\x6e\xa2\x3c\x18\x0b\x60\x17\xed\xd2\x03\x14\x1a\x15\x92\x51\x28\x4d\x59\xfb\x95\x5c\x69\x0f\x2d\x16\xad\x87\x34\x60\x21\xfd\xfe\xf4\xc5\x21\x9b\x4c\x59\x42\x93\xbc\x5e\x7c\x8c\x64\x42\xa6\xf2\x29\x92\x9c\x0d\xea\xb2\x0b\x8d\xa6\x2d\x90\x55\xf8\xa9\x8f\x34\x6d\x6a\xff\xbc\x06\x1b\x50\xaf\xb5\xdb\xfc\xdf\xa0\x15\x8c\x49\x7a\xc8\x42\xda\xcf\xeb\xed\x46\x2b\x67\x62\x53\xa3\xde\xd9\x6b\x34\x24\x6d\x36\xbb\x1e\xe2\x98\x81\x69\xbd\x63\x51\x52\xaf\xd5\x1a\x3e\x71\x52\x9f\xc2\x73\x6f\x8b\xe8\xc7\x67\xf6\x6a\xea\xdd\x03\x90\x6b\x0b\xac\x34\x20\x85\x3d\x54\x45\xe7\xcf\xd2\x2f\xd7\xf2\xa8\x46\x07\x79\xd4\x31\x51\x2c\x97\xea\xe5\x18\xb9\xbd\xb1\x5a\xac\x5b\x40\x3f\x5b\x8f\xb4\xa9\xb4\xb8\x3f\x64\x96\x33\xdb\xaa\xba\x57\x8f\x02\x96\x64\x2c\xa6\xad\x98\x8d\xea\xeb\xc7\x09\x19\xc4\xdc\xd8\xd4\x33\xfc\x3e\xac\xc3\x46\xa1\x85\x0d\x58\x87\x8c\xff\x0a\xb3\xf5\xa5\xb4\xb2\x0d\x1d\x07\xcc\xbd\x89\x74\xb7\xba\xce\xc2\x95\xce\x12\x2d\x8a\x37\x1a\xb4\xc6\xd5\x9a\x78\xf1\x74\x61\x76\x3a\x7d\x56\x87\xcd\x1d\xe6\xec\xa8\xbe\x6e\x2d\x6b\x10\xb3\x70\xdd\x9c\x54\xd8\x1f\xbe\x42\x2f\x52\xcd\x73\x48\xa4\x3e\x45\x33\x4c\x4c\x22\xea\x2a\xc2\xf2\x39\xc4\x25\x9b\x36\xac\x56\x31\x0e\x17\xf4\x1c\x77\x4e\x17\x95\x45\xfb\xb0\xaa\xc0\x5d\xb3\xc4\x37\xde\x29\x0b\xee\xc5\x10\xdc\xc4\xf4\x9f\x1f\x94\x90\x51\x1b\x12\xd5\xc6\xab\x7d\x13\xa6\x38\x04\xd5\x38\x38\x1b\x45\xb0\x78\x81\x2c\x8c\xff\xe2\xe2\x58\xaf\x91\x54\x76\x79\x59\xfc\x4b\x7a\x69\x64\x89\x2b\x00\x1f\x50\x71\x12\xcf\x48\xd8\x0f\x43\x96\xd4\xd7\x87\x51\xbe\x6e\x39\x08\xfc\x76\x45\x07\x81\xdf\x7a\x1d\x04\x96\x9c\xbe\x78\x5d\x07\x7c\xe7\xfe\xa5\x9d\x7d\xb3\x71\xc3\x2b\xb7\xd8\x4d\x42\xd3\x23\xe5\xf2\x25\x44\x45\x39\x1c\xad\x87\xd1\x75\xe9\xb8\x5f\xd6\x17\xf7\x7f\x5f\x93\x09\x87\xb4\x8e\x37\x30\x37\x99\x38\xd4\x5c\xf7\xd7\x30\x62\xde\x6d\xb7\xdb\xa5\x05\x25\xb7\x89\x5f\x9a\xb7\xcd\xaa\x39\xd8\x12\xd6\x61\x54\x12\x55\x5b\x89\xc9\xa7\xf2\xc5\x13\xf8\xfe\x82\xb6\xa2\x93\xd6\x8d\x05\x41\xec\x00\x6f\xc0\xfa\x2d\x9f\x46\xca\xf9\x68\xa0\x2b\x91\x77\xbb\xb9\xe0\xbc\x4f\xdd\x74\x59\xe7\x82\xbd\xde\x5c\xda\x55\x97\x36\xc5\x7e\xc8\x4b\xaa\xa5\x1b\x2c\xeb\xa2\x5a\x11\x7e\x15\x4c\x47\x01\xdd\x79\x8f\x83\x50\x0f\x71\xa6\x69\xa2\x98\x54\x38\x65\x14\x3d\xb0\x3f\xc6\x29\x43\x13\xdf\x71\xcb\xd0\x24\xaf\x3c\xd9\x2b\xb6\xbd\x82\x6f\x86\x81\x6c\xee\x81\x55\x1d\x1f\x17\xc1\x7f\x8c\x87\xc5\x12\xb9\x56\xd2\x95\xd3\xdb\xfc\x50\x44\x75\xf1\xf9\x61\x68\x1d\xd0\xc2\x1b\x0c\x21\x46\x06\x72\x9c\x09\xac\x11\xd4\x3b\xe7\x16\x87\x96\xde\x8d\x74\x6f\x48\x96\x4a\xfb\x36\xbf\x57\x71\x06\xb1\x81\xdc\x67\x82\xbf\x32\x3d\x14\x07\x95\xa2\x87\x57\x15\x5d\x04\x31\xf7\x56\x79\x97\x2c\x1d\xc9\xd5\xfc\x41\x8a\x84\x94\x0e\xa8\xc2\x4b\xbe\x67\x06\xc5\x4b\x89\x52\x5f\x2a\xba\xe2\x60\xec\xe5\xba\x7b\x78\x80\x68\x5f\xde\x5c\x96\xc5\x7f\x57\x65\xef\x15\x1d\x3f\x96\x8b\xe1\x7d\xdc\x2c\xb4\x76\xe4\x92\xe8\x68\xaf\x7b\x79\x43\xac\x2a\xc3\x2b\xbb\x43\xb8\xc8\x79\x94\xeb\x52\xf4\xa4\x46\xc3\xaf\x45\x57\x85\x55\xd1\x5d\xd5\x57\x41\x5f\x9f\x13\x64\xf4\xeb\x73\x9e\x2d\x3b\xe2\x2d\x30\x88\x67\xa9\xe7\xd0\xbf\x2c\x3c\x9f\xc3\xd9\x00\x15\xd0\x0a\xad\x2d\x3e\xda\x94\xb3\xa1\xef\xda\x9e\x19\x33\xcf\x0c\x58\xe1\xd4\x98\xe5\x29\x9b\x57\xfb\x26\xfc\xb6\xca\x37\xe1\xb7\x96\x6f\xc2\x6f\xfd\xbe\x09\x9f\xf6\x2c\x88\x6b\xec\x6e\x6d\x89\x70\x24\xc3\x28\xa6\x70\x43\x32\x18\xf1\x3e\x91\x9c\x86\x30\x98\x43\x1c\x0d\x42\x96\x6f\x0d\xa2\x64\x2b\x60\x49\x40\xf2\x56\x36\x6e\xf1\x3a\x2f\x72\x18\x93\x0c\x06\x18\x54\x87\xa4\xef\x69\x08\x29\x25\xe1\x26\x4b\xe2\x39\x1e\x3b\xcf\xd9\x2c\x85\x8c\x0c\x69\x3e\x6f\x01\x9c\x92\x7c\x4c\xd3\x35\xf4\x8a\x23\x09\xd0\x30\xca\x21\xca\x41\xdc\x2a\x8b\xe7\x4d\x98\xc6\x94\x64\x14\x26\x2c\x8c\x86\x73\x60\x09\x95\xf1\x4c\x39\xaa\xe8\x13\xcc\xeb\x72\x1c\xb3\x56\x8b\x23\xc0\x7f\x4a\xe4\xde\x65\x5b\x71\x34\x68\xbd\xcb\x4a\x69\x57\x53\x16\xcf\x87\x51\x1c\x7b\x33\x03\x16\xb3\x34\xf3\x66\x0d\xbd\xa9\x52\xe1\x5e\x4d\x48\x42\x46\x78\xb1\xc4\xd3\xa2\xd6\x7a\x0b\x8b\xa5\x54\xf4\xca\x9b\x99\x49\xef\xdc\x05\x79\x57\xc1\x38\x65\x93\xc5\x45\x62\x16\x10\x7f\xcf\x55\x89\x09\xba\xff\x7a\x8b\xe4\x34\xcb\x17\xf6\x60\x96\x0f\x1f\xbb\x19\xf9\x38\x4a\xc3\xab\x29\x49\xf3\xf9\xd6\x4d\x80\xbe\xff\x58\xf2\x26\x90\xe5\xd0\x8d\x98\xd7\x17\xfe\xc4\xbe\xc4\xab\x61\x4a\x74\xb7\x0a\x59\xef\xa5\xbf\xcf\xe2\xdc\xab\x41\x84\x71\xf0\xb2\x25\xc5\xde\xd3\xf9\x84\x4c\x97\x17\x9a\x92\x3c\xa7\x69\xe2\x2f\xc8\xa6\x5c\xf4\x2a\x9a\xc2\x7d\xa8\x74\x51\xde\x15\x5e\xfe\x8a\x86\x11\x4d\xab\x60\x54\xb1\x53\xb1\xdc\x6c\x90\xcd\x06\xfe\x3c\x11\xe6\xa8\x32\x8f\xc5\x31\x57\x18\xfe\x7c\x7d\x4b\x72\x61\xee\x55\xc4\xaa\x0a\xdc\xe6\x57\x24\xcf\xd3\x68\x30\xcb\x69\x45\x1f\xaf\x2b\xda\xbe\xce\xaf\x74\xbc\xc0\xab\xca\xb1\x12\xea\x4e\xe4\xad\xf1\xfc\xb3\x37\xdf\x9f\x1e\x1e\xc3\xc9\x8b\x97\xc7\xfb\x5e\x15\x71\xc8\xa6\x73\x0c\x18\x8a\x9b\xdb\xdd\x76\xa7\x8b\x37\x4b\x0f\xb9\x44\x45\xb3\x09\xbc\x39\xc3\x43\x2e\xae\x1b\xa0\x1f\xc7\x80\x65\x33\xe0\x53\x55\x7a\x4d\x43\x54\x7f\xdf\x67\x52\x41\x45\x99\xd4\x4f\x10\x70\x53\x2e\xca\x60\xc4\x97\xb2\x89\x50\x9f\x04\x9e\x9f\x1d\x6d\x8a\x90\x8f\x2a\xd4\x12\x3e\xb8\x14\x90\x04\x06\x42\xa7\xb1\x59\x12\x42\x94\xa0\x2f\xf0\xcb\x17\x87\xc7\xaf\xcf\x8e\x51\xd1\xb5\xd6\xd6\xd6\xd6\xac\x10\x48\x71\x34\x80\x07\xee\xd5\xc9\x35\x3e\xe3\xa4\xec\x06\x57\xec\xc7\x69\xca\xd2\x7a\xed\xdb\x98\x0d\x48\x0c\xeb\x71\x34\x58\x07\x86\x1b\x19\x40\x62\xf4\x5b\x01\x7a\x1b\x65\x79\xd6\xaa\x35\x0e\xd6\x70\xab\x81\x83\x94\xd1\x85\x64\x64\xaa\x57\x64\xca\xfb\xb5\x1e\x52\xbe\x34\xa0\x49\x30\x5f\x87\x9c\xc1\xc5\xba\xe8\xe4\x7a\x13\x5a\xad\xd6\xa5\x0a\x35\x75\x4c\x82\x31\x98\xa2\x18\x74\x49\xb5\x99\x90\x09\xbe\x9b\xfe\x9e\x22\x2e\xad\x61\xb6\xde\x04\x05\x86\x97\xe4\xfd\x9d\xa5\x31\xd2\x83\x03\x13\x70\x32\x60\x82\x14\x02\x4c\x0b\xa3\x52\xf1\xfa\xe9\x2c\xe1\x26\xfa\x91\x6a\x2d\xa2\xd9\x55\x01\x79\x3e\x21\x03\x06\x4d\x13\x53\x62\x26\x68\x9d\x50\x11\xc5\x68\x40\x21\x4a\xae\x19\x9f\xaa\x42\x11\x14\x34\x8e\x06\x29\x49\xe7\x10\x25\x51\x1e\x91\x38\xfa\x23\xc1\x0d\x2b\xbb\x77\xea\x42\x99\x1c\x20\x5e\xf2\x50\x1a\x66\xd9\x15\x90\x34\x25\xd8\xed\x28\xcf\x68\x3c\x04\x02\xf9\x0d\xdb\x54\x75\x30\x17\xc3\x5c\xab\x8b\x62\x6d\x41\xa2\x6c\xcc\x30\x12\x28\x22\x11\xd2\x2c\x48\xa3\x01\xfa\x6c\xf1\x7e\xdf\x24\x22\x4e\xb6\x6a\x0e\x52\x36\xcb\xa3\x84\x36\x61\x96\xd1\xe1\x2c\xe6\xf0\xf8\x04\x1b\xd2\xc1\x6c\x34\x8a\x92\x51\x0b\x34\xfc\x8e\x22\xac\x32\x1e\x35\x2d\x0c\x21\x0b\x5d\x10\x0f\xb2\x2b\x12\x9e\xd2\x00\x2f\xe8\x10\x90\xf4\xb6\x86\x57\xd1\x05\xcd\x05\xc1\xc0\x12\x25\xb8\x19\xd3\x84\xcf\xf8\x70\x43\x12\x8c\x19\x40\x6f\xa7\x29\xcd\x24\x9c\xcd\x02\x20\x10\x03\x1e\xb0\xc9\x94\x1b\x1d\x3c\xb7\x05\xdc\xa2\x40\x5f\x79\x4e\xeb\x9c\x97\x54\x83\x46\x30\x58\xdb\xe6\x30\xa6\xe1\x88\x86\x7a\xd0\xb2\x79\x96\xd3\x09\xb0\xd4\x30\x0f\x02\xcf\x53\x12\xbc\xa7\x29\x42\xac\x65\xf0\x6e\x96\xe5\xd2\x15\x3f\x67\x30\x21\xef\x29\x37\x3c\xa6\x2c\xcb\xa2\x41\x4c\xc5\xed\xf1\xc1\x0c\x69\x2f\x01\x65\xe8\x85\xcf\x57\xa6\xe9\x2c\x49\x30\x08\x5b\x1c\x0b\xaa\x8a\x08\x84\x48\x85\x37\x86\xcd\x33\x20\x29\x85\x6c\x4a\x03\xae\xca\x43\x20\x99\x1c\xdb\xac\x05\x70\xc2\x52\xa0\xb7\x64\x32\x8d\x29\xb7\x5c\x44\x65\xfe\x41\xa6\xce\x43\x3a\xad\xd7\xf8\x57\x61\x8d\xd4\x9a\x80\xbf\xcc\xe2\xe9\x95\x50\xfb\x18\x19\xaf\xdc\x30\xf2\x36\xa7\xd9\x80\x42\xca\x98\xb4\xda\x38\x88\x5a\x0b\xe0\x77\x6c\x06\x13\x32\xe7\xa3\x24\x54\x15\xf6\x36\x88\x39\xba\xa4\x40\x36\x96\x00\x49\xe6\x96\xd8\x89\xa1\xa6\x10\x60\x40\x59\x98\xa6\x6c\x94\x92\x09\xc2\xe3\xdc\x85\xf8\xd3\x24\x9b\xa5\xf4\xb4\x2c\x9a\xf5\x06\x10\xce\xe1\x24\xcd\x67\x53\x88\x30\x36\x27\x4b\x43\x9a\x22\x73\x60\x2d\xf9\xf2\x1c\x57\xb0\x45\x56\x8b\x68\x06\x63\x72\x4d\xa5\x79\x49\x35\x3e\x2a\x3a\x80\x20\xef\x1d\x5c\x93\xf4\x0a\xbd\x51\xde\x70\x83\x31\x85\x09\x4b\x95\xe6\xc8\xfc\x03\x62\xf4\x09\x27\xbd\xb5\x16\xa8\x2b\x58\x26\x62\xa5\x50\x56\x78\x57\x3f\x4f\xe7\x2a\xb8\x48\x41\xe1\xca\x88\x71\x01\xc1\x33\x5d\x7a\x6b\x5f\xd7\xcb\x72\x12\xbc\xc7\x23\x57\x0c\x38\xdb\xc2\xdf\xad\x6c\x1a\x47\x79\xbd\xf6\xa3\x8c\x76\x88\x5e\x9b\x2f\x12\x38\x23\x43\x92\x46\x4d\x19\x9f\x22\x9b\xc5\x18\x15\xd8\x02\x71\x13\xc5\x31\xa0\x7d\x8d\xb4\xe9\x2a\xdd\x24\x5e\x31\x40\xfe\x15\xc0\xb8\x01\x74\x1d\x85\x33\x12\xab\x6e\x23\x83\x0e\x59\x3a\xe1\xc6\x4c\x28\xe3\x0a\xd3\x24\x8f\xe7\x22\xb8\x30\x46\x31\xd1\x2d\xb5\x62\x9a\x8c\xf2\x31\x7c\xd3\x83\x6d\x3b\xaa\x09\x4e\x73\x3d\x0b\xa5\x8b\xee\x65\x2b\xa5\xd3\x98\x04\xb4\xbe\xf5\x0f\x3f\x66\x0f\x49\xfe\x63\xb6\xb1\xd5\x84\x9a\xea\x5a\x21\x70\x92\x0f\x46\xa7\x00\x63\x24\x26\x30\x2e\x6b\x7f\xe7\x80\x5a\x93\xc1\x51\xb8\xf2\xab\x63\x90\x01\xe8\x41\xfb\x00\x22\x78\x0a\x44\x39\xb0\x48\xdc\x0f\x20\xda\xd8\xb0\x87\x62\x4a\x30\xa8\xb3\x2e\x77\x11\xc9\x6b\x8d\xbc\xeb\x98\x29\x22\x79\x04\x7c\xaa\x45\xc4\x4c\xcf\x35\xbb\xb4\xf0\x69\x84\x7a\x1c\x0d\x9a\x08\xd0\xdf\x49\x3c\x98\x44\x47\x2a\xb1\x58\xf4\x4c\x5c\x17\xbc\xf6\xa5\x5a\x37\x62\xb4\x4d\x92\xce\x1b\x7a\x1d\xb9\x52\x75\xa9\xba\x75\x0d\x71\x29\x4e\x90\xd8\xa1\x99\x35\x45\x1e\xa3\xe8\x65\x4b\x64\x8f\x73\xcb\x84\xe6\x4d\x8c\x69\x92\x00\xbd\x0d\x28\x1a\xba\x62\x76\x49\xd9\x8d\x99\x23\xaf\x69\x3a\x87\x59\x32\xa1\xb9\x67\xc6\x10\x2c\x3b\xa0\x10\xb3\xd1\xc8\x84\x12\xfc\xfb\x33\x7d\xf6\x0a\xf0\x62\x28\xa7\x03\xbe\x00\xcc\x71\xe5\xe7\x5a\x14\x02\x38\xaa\x2f\x04\x97\x92\x28\xa3\x0e\x5a\x46\xa8\x2b\xf5\xd1\x95\x2d\xe9\x46\xc2\xa7\x24\xcb\x68\xc8\x49\x8d\x4e\xba\x36\x73\x49\x9e\x80\x2a\xdb\xc3\x91\x73\xa4\x39\x9a\x1f\xbd\xca\x0a\xf6\x98\xf3\x4a\x42\x81\xf7\xb0\x21\xa5\x13\x84\x69\x66\x74\x02\xd1\xbb\x70\x22\x4e\xf7\x6d\x0e\x35\xb1\x4d\x51\x53\x33\xbd\x14\x17\xa9\xb7\x41\xd4\xba\x61\xe9\x7b\x9a\x42\x94\xd7\x32\x05\x8d\xeb\x6c\x1a\x42\x8d\xdb\x29\xb5\x96\xc6\x82\x0d\xde\x41\x0f\x64\xb8\x4a\xf8\xf0\x01\xef\xf1\x4b\xee\xf1\x09\x1a\x62\xed\x13\x32\xc9\xc6\x75\x2c\x70\x11\x5d\x72\xda\xb1\xc1\xbb\x86\xbd\xc3\xa2\x46\xfd\x86\xa4\x49\xbd\xf6\x2a\xca\x32\xae\xe2\xd6\x6b\x18\xb6\x3f\x1f\xc3\x06\xd4\xd0\x34\xe4\xb3\x1a\xce\x64\xb5\xa6\x45\x5b\x6b\x9f\x45\x8f\x9b\xe5\x3d\x0d\xc5\xf3\x73\x19\x49\x09\x64\x1f\xd9\xe0\xdd\x85\x42\xee\xb2\xa0\x52\x10\x75\x01\xb4\xe1\xd5\xf2\xb5\x13\x12\x71\xf2\x79\x78\x3c\x18\xd3\xe0\x3d\x1f\xb7\x3b\xdb\x8c\x1a\x45\x59\x4e\x51\x7a\x5c\xe3\xd2\x31\xc8\xd4\x14\x5b\x51\x44\x08\xa2\xb2\x59\xa3\x04\x52\x04\x9b\x8a\x52\x62\x3a\xe5\x96\x17\x4a\x8f\xb4\xec\xea\x0d\x34\x47\x45\x1d\x6e\x19\x72\x23\x56\xef\x77\x09\x01\x92\x2e\xdb\x04\x38\xf9\x63\x0a\x38\xa9\xd2\x9c\xa6\x4d\x11\x52\x87\xc3\x43\x3b\x55\xd7\x73\xad\x67\xb4\xf6\xa2\x1c\x0d\xb8\x98\xe6\x14\xcd\x5f\x0e\x25\xb7\xed\xd6\xb2\x41\x5d\x9c\xbd\xf9\x68\x40\x5f\x5a\xc3\xc2\x0c\x9e\xe6\x1c\x33\xcc\xf0\x98\xc0\xca\xdc\x1c\x0a\xa3\x0f\x30\x4e\x96\xb2\x82\xed\x16\xb4\xa8\xab\x2f\x8d\x3b\x63\x12\x2f\xa0\x38\xef\x68\x2a\xc7\x4e\x00\x54\xa7\x4c\xaa\xc4\x9d\xb0\x89\x14\x2c\x4d\x3a\xcb\xb0\x90\xf5\x5f\x24\x4e\xf0\xf5\xba\x58\x10\xb9\xdb\xc3\x65\x7b\x5c\x28\xf1\x0b\xb7\xb0\xb8\xa0\xa8\xc2\x10\xc8\x44\x87\xe1\x5e\xa8\xfe\x88\x30\xda\xd2\x46\x76\x2c\x76\x1c\xfb\x92\xe9\x25\x91\xf5\xb1\xb6\x33\x13\x90\x24\x44\xb6\x40\x16\x40\x4b\xd1\xaa\x5a\xc5\xbf\xaa\xfd\x17\x6e\x3e\xe7\xad\x6c\x9e\x04\xe3\x94\x25\x6c\xc6\x8d\xe4\x73\x83\xb3\x5a\x04\x88\x15\x2b\x57\x41\xdc\x7a\xe5\xb8\xe1\xca\x07\x97\x48\x09\xd2\x56\x0f\x9a\xc5\xf0\x05\x4e\x33\x2a\xff\x4e\xd5\xe2\x4d\xd9\xc3\x2d\x7b\x24\x78\xba\x88\xa7\xe2\x32\xc5\xe9\x7e\x26\x7b\xc8\xa1\x4f\xf3\xab\x98\x8d\x4e\x14\xe4\x7e\x02\x62\x73\x88\xc4\x4e\x73\x19\x15\x84\x44\x85\xe9\x36\x97\xd2\x18\xb7\x5d\x63\x36\x52\xa7\x76\xdc\x62\x77\x57\x6e\x36\x47\x89\x1e\x35\x8b\x6d\x9b\xe9\x4d\x98\x11\x65\x26\xd3\x21\x86\x79\xf2\x6b\x3e\xab\x94\x66\x47\xa1\x13\x39\x0f\x09\x5d\xef\xc6\xe4\x4c\x69\x80\xc6\xd4\xbc\x95\x8d\xa3\xa1\x75\x90\xce\x2b\x15\xd1\xd1\xda\xb9\x90\x51\xaf\xf1\xe6\xf7\x81\xab\xff\x94\x06\x17\x6d\x73\x0f\x97\xff\xec\x5c\xd6\x71\xdf\xa0\x45\x62\x92\x4e\xea\x0a\xd5\x86\xdf\xe8\x12\xb4\xa8\x97\xde\x5c\xb0\x36\x50\x24\x03\x3c\x70\x62\x48\xfb\xb5\xbd\x9a\x9a\x18\x27\xd1\x35\x89\xa3\x50\x5b\x8e\xfb\x12\x8e\x9c\xa9\x17\x5b\x1d\x75\x51\xc8\x3a\xba\x54\xdd\x10\x6e\x50\x77\x07\x8b\x77\xac\x8a\x1b\xd8\x66\xeb\xaa\xdb\xee\x3c\xfa\xa5\x6e\x5b\x15\xa2\x59\x4b\x15\xf5\x77\x3c\x97\x37\x72\x1d\xd1\x1b\x78\x2b\x3b\x26\xe2\x9d\x1f\x9f\x75\xdb\x9d\xbd\x0d\x18\x52\x92\xa3\x7d\x7a\x43\xf5\x56\xc2\x2c\xa3\x42\x04\xc4\xe6\x5f\x3e\xcd\xf6\xb7\xb6\x42\x7a\x4d\x63\x36\xa5\x69\x6b\xc2\xfe\x18\xc5\x31\x69\xb1\x74\xb4\x45\x93\xcd\xef\xcf\xb6\x42\x16\x64\x5b\x3f\xd0\xc1\xd6\xdf\x93\x6b\x72\x86\x93\xca\xd6\xa9\x5a\x4e\x6f\x89\xfd\xb1\x2b\xb1\x8a\xce\xb6\x84\x63\xc6\xd6\x94\x84\x67\x7c\xb1\x8a\x1b\x6e\x0f\x44\xa2\xfd\x52\x87\xcc\x16\x52\x50\x99\x6d\x8b\x51\x4e\xd2\x11\xcd\x5f\xa2\xf0\xf0\xd5\x82\xbc\xd5\xab\x83\x96\x6f\x71\xcb\x17\xef\xff\x8b\x6d\x20\xae\x14\xe5\x36\x5d\xcc\x92\x11\xd0\x84\xcd\x46\xe3\xa6\x75\x9f\x0f\x42\xf6\x40\xb0\xab\x05\x1a\x36\xe5\x3a\x41\x9a\x64\x5a\x74\x9d\x42\x4f\x7b\xd0\x6e\x68\xd9\xc2\x69\x44\x7a\xa4\xc8\x67\x3f\xac\xa5\x90\xbe\x7e\xdc\xeb\x81\xde\x6b\x54\x95\xad\x6c\xa8\x41\xcd\x31\x56\xd1\x8d\x93\xf7\x68\x4a\x42\xde\x9d\x09\x5f\xc2\x4e\x63\x8a\xd1\x68\x32\xec\x55\xcb\x8f\xde\x37\x06\xae\x52\x37\x9e\xf6\x4c\x99\x94\x4e\x29\xc9\xeb\x2e\x90\xad\x32\x10\x19\xc3\xc7\x3e\x7a\x33\x65\x84\x13\x72\xbb\xe9\x90\xb3\x61\x7c\x75\xec\x07\x51\xee\xbe\x34\xf3\x1d\x27\x61\x35\xeb\x1d\x27\x61\x35\xe3\x1d\x3b\xd7\x2a\xff\xc6\x76\xbf\x4c\xb6\xb3\xbb\x8d\xab\x9d\xc5\x5c\xa8\xd9\x6e\xf1\xec\xe0\x9c\x60\xfe\xd3\x39\xd6\xf0\xcf\x0f\xaf\xf9\xda\x6c\x4a\x02\xdc\xa8\x02\xec\x1a\xcc\xf2\x28\x8e\xf2\x88\x5a\xfb\x76\xa2\xcf\x85\x9d\xff\x93\x28\xcd\x72\xbe\x56\x9c\x70\xdb\x3c\x49\xf0\x34\x7a\x34\x8b\xc5\x2b\x0a\x29\xcd\xc4\x93\x9e\x37\xb4\x96\x52\x18\x31\xc9\xd8\x1c\x0d\xc4\x50\x1e\x7f\x4b\xeb\x71\x6d\x59\x14\xda\xe7\xa7\xfd\xc3\x63\xf8\xdd\x9b\xef\x4f\xcf\x8e\x5f\x9e\xac\x52\x03\x00\x9a\x7f\xfa\xd3\x9f\xfe\xd4\x5a\xa5\xe4\x87\x6f\xae\x9e\xc2\x9f\xfe\xb4\x42\xd1\xed\xdf\x6f\x6e\x6e\xd6\x36\xb7\x56\x01\xbb\xbd\xcf\x3f\x3f\x5e\xff\xb8\xbc\x6c\x8f\xf5\x44\xe1\xe6\x0a\x85\xe1\x03\xc8\xc2\x58\x7a\x41\x85\xf3\xef\x8e\xe1\xf4\xf8\xdb\xef\x5f\xf6\x4f\xe1\xf8\xb7\x6f\x4f\x8f\xcf\xce\x5e\xbc\x79\x7d\xb6\xbc\x89\xfe\xe9\x31\x1c\xbe\x79\xf5\xe2\xf5\xb7\xd6\xa2\x39\xa5\x35\x8c\xac\x73\x43\xe6\xb8\x3c\xe5\x2b\x7f\xa1\xc2\x4e\x8f\x21\x8e\x72\x9a\x92\x98\xaf\x0b\xc0\x28\xe2\x16\xc0\x49\x74\x2b\x38\xf5\x66\x3c\x87\x90\x25\x35\xdc\x7a\x9a\xb3\xd9\x33\x80\x37\x63\x5c\xe6\x00\x89\x33\x26\x4e\x0c\x9c\x16\xd0\xc7\x8f\x2f\x9a\x85\x62\x40\x28\x21\xa3\x59\x52\x13\x27\x16\xe9\x34\xa5\x08\x8d\x66\x01\x99\x52\x6b\xf1\x93\xe5\x94\x84\x4d\x6e\xd3\x64\x39\x63\x53\xb1\x0d\x16\x65\xa0\xf7\x3d\x1b\xc0\x85\xe1\x7d\x91\xc9\x5b\x29\xc5\x23\xae\x35\x54\x75\x87\x67\x67\x30\xa6\xb7\x42\x32\x9a\xf0\xd5\xe9\xb7\xcf\xb9\x5e\x1b\xd3\xdb\xce\xde\x3e\x6c\x7d\x55\xbf\x20\x9b\xc3\xf6\xe6\x93\xcb\x86\xef\xdb\x56\xd4\x5c\xab\x80\x73\xfa\xed\xb7\xcf\x15\xa8\xee\x8e\x03\xea\xa7\xee\x5d\xa3\xfa\x87\x0b\x33\x1d\x0d\x14\xcc\x74\x34\xa8\xa7\x69\xda\x1c\x8d\x46\xcd\xc1\x60\xd0\xe0\xc0\xd3\xd1\x60\x1f\x4d\xec\x53\x3a\x3a\xbe\x9d\xd6\xa5\xa6\xad\xd7\xfe\x61\x2b\x7b\x98\x8e\x06\x5b\xd9\xc3\xad\xfa\x56\xf6\xb0\xbe\x15\xfe\xd4\x69\x6e\xdf\x35\xb6\xb2\x87\xcd\xe2\xef\x1a\x6c\xa8\xd5\x44\xad\x90\xb7\xc5\xff\xfa\x67\x35\x95\xdd\x30\x9b\xca\x3f\x6e\x6d\x8d\x9a\x50\xfb\xf1\xc7\x5a\xa3\x09\xb5\xa8\xd6\x58\x0d\xeb\x26\x21\x44\x61\x4e\x16\xa2\x4e\xb6\xb2\x87\x0e\x66\x4b\xfb\x51\xf8\x6d\x57\xae\x3f\xdb\x97\xd9\x1b\xf5\x67\xfb\x5b\xad\xad\x70\xa3\xf1\x8c\x17\x6a\x7c\x44\x0f\x8f\x23\x0c\x79\x7d\xfa\xed\x73\xbe\x94\x39\xfd\xf6\x79\x5f\x76\xe8\x76\x71\x87\x9e\xfd\x65\x7a\xf4\xec\x23\xba\xd4\x4f\xe0\xb7\x9d\x0e\xac\x73\x7e\x0a\xc3\x30\xdc\xd2\x7f\xad\x0b\x47\x7c\xde\xc3\xdb\x4e\x07\xf9\x0d\x0f\x14\xf8\x37\xc3\xb7\x9d\xe6\xce\x5d\xe3\xc7\xad\xa5\x09\xd9\xc3\x7f\x66\xf8\xfb\x38\x19\xc5\x51\x36\x96\xb3\x52\x42\x26\xd8\x0a\xff\x77\x1f\xb6\x2e\xc8\xe6\x1f\x2f\xf9\x5f\xed\xcd\x27\x3f\x66\x97\x1b\x5b\x4d\x7b\x67\xe6\x90\x25\xf8\xee\x23\x51\xec\x56\x0f\xc3\xb0\x29\xff\x6f\x48\x88\x88\x38\xd7\x22\x0c\x88\xe8\x9f\x95\xae\x4f\x1c\x71\x2c\x39\x14\x2b\x53\xee\x11\x8e\x12\x96\x8a\x0d\x76\xb9\xc3\x93\x91\x24\xca\xf9\xfa\x1f\x9f\xcf\x18\x93\x24\x8c\xe5\x26\x99\x3e\xda\xae\x85\x61\x58\xc3\xad\x0d\xbc\x1b\x28\x4f\xef\x13\x0a\x83\x79\x4e\x25\x4a\xe6\x0c\x2d\x4a\x20\xa4\x41\x34\xc1\x88\xd9\x15\x87\x71\xbc\x06\xda\x1c\x2e\x8e\x1c\xad\x40\x90\xc1\xdd\x54\x53\x35\x79\x9d\x42\xa7\x39\xbf\x26\xb3\x38\xe6\x56\x1b\x37\x21\x44\x62\x80\xa1\xd7\xc5\x79\xa7\xd9\x9b\x41\xc8\x62\xf3\xc7\x55\x9f\xa3\xc1\x39\xe3\x70\x9d\x53\x3e\xed\x7d\xaa\xb7\x65\xb2\x80\xc4\xb4\xae\x9f\x1d\xb9\x86\x1e\xd4\x75\x9c\xd0\xeb\x26\x74\x77\x77\x1b\xf0\x10\xba\xbb\x8f\xdc\x8b\x8c\x8e\x4f\x9f\xd8\xab\xf8\xe3\x94\x84\xbc\xca\x8e\x7c\xf0\xc9\xd9\x88\x11\xa3\x39\x21\x79\x30\xae\xbb\x5a\x9e\xa3\x7a\x8b\x55\xdc\xb3\x20\x27\x76\xaf\xd9\x02\xac\x71\x96\xae\xc1\x86\xc4\x9c\xa4\xf3\x8b\xce\x25\xb7\x2b\x6b\x5b\x6e\x6a\xd7\x9b\xba\x7d\xe9\xee\x56\x1b\x16\x8d\xe9\x88\x04\x73\x3d\x16\xd7\xb4\xc8\x9a\x8a\x87\x5b\xad\x56\xc3\xc7\xa3\xe7\x63\x3a\x87\x9c\xbc\x17\x16\xf9\x90\xa5\x93\x7d\x9e\xdc\xe9\xc2\x20\xca\xf7\x71\xd2\x32\xf3\xfa\xe6\x37\xf0\xd5\x69\xbb\xdd\xfe\xb6\xdd\x6e\x3f\x6f\xb7\xdb\xbc\x64\x77\x47\x95\xc4\x69\xc9\x2e\x79\xda\x6e\x7f\xfb\x6d\xbb\xfd\xfc\xb9\x28\xb9\xbd\xa7\x4b\x9e\x7e\xcb\xcb\x3e\x37\x25\x4f\xdb\xdf\x7e\xfb\x6d\xfb\xf9\xf3\xe7\x58\x72\xe7\xb1\x29\xc9\x8b\xf2\xb2\xcf\x25\xb6\x19\x45\x01\xe2\xd8\x4e\x58\x96\x43\x16\x8d\x92\x68\x18\x05\x24\xc9\x79\x25\x3d\x8b\xeb\x37\xd7\xa5\xd4\xe1\xee\x6f\xc8\x6e\x70\x53\x4f\x20\xad\x5f\x6e\x25\x79\x2d\xc3\xdd\x55\x4e\xad\x6c\x36\x15\xbe\x9d\x45\xee\xbc\xed\x74\xbe\xa3\xb7\xe7\x8c\x17\xb2\x19\xd4\x3c\xb8\xf6\xe0\xba\x85\x27\xe8\xd9\x0f\x51\x3e\xae\xd7\xbe\xaa\x35\x3c\x5c\x81\xfa\x89\xf3\xe4\x54\xec\xfc\x52\x12\x72\xf3\xe4\x2b\x60\xc3\x21\x57\x52\x9c\x9b\xaf\x5b\xd9\x6c\x90\xe5\x69\x5d\x2e\x4b\xf0\x35\x5a\xf4\x22\x98\xc9\x88\x1c\x59\xf4\x47\xb4\x58\xb0\xdd\x8b\xed\x26\xec\x35\xe1\x49\x13\x3a\xdd\x4b\x1d\x73\xfb\x5a\x2f\x6f\x7a\x3d\xd8\xec\xf8\x19\xd4\x40\x4e\x58\xb2\xc9\xcd\x0c\x41\x2f\x05\xfa\x5a\xb2\xff\xd6\xc5\x3f\x48\x75\xbb\x15\xf9\x7a\x25\xbb\x35\x8d\xa3\x5c\x7a\x5e\xa0\xd5\xcf\x66\xf8\x58\x00\x9e\xb9\x09\xc7\x6b\x85\x15\x6c\xc1\xf6\x81\xcc\x4a\xed\x2e\xb7\xc5\xcb\x35\x0d\x95\x39\xb2\x33\x79\x4e\x21\x7f\x50\xcc\xe7\xa2\x63\x17\x13\xa8\xbd\x66\xe9\x44\xee\xb7\x33\xe8\xec\x29\x5e\x31\x4a\x25\x61\xe9\xa4\xb3\xe7\x6a\x15\xfd\x30\xee\x75\x13\x8a\xfa\x43\xf4\xa7\x07\x5d\x78\x06\xd7\xb0\xaf\x85\x64\x6b\x4b\x82\xb7\x9d\xc3\x55\xe1\x0e\x16\x7e\xfa\x14\x76\x44\x8d\xad\x2d\x78\x5c\x2c\x7b\x0d\xdf\x7c\x03\xf5\x1d\x78\x28\xde\x00\x82\x4d\xe8\x36\x1a\x07\x58\xb6\xbb\xc3\xd5\xec\x76\x57\x56\xb9\x5b\x73\xb4\x99\xe4\x53\xf4\x62\x3a\x67\xdc\x78\xa8\x5f\xa4\x4d\x18\x35\x61\x70\xd9\x9a\x90\x69\x5d\x74\xb1\x51\xa1\x4c\x4a\xf3\xd8\x7d\x94\x08\xd6\x15\xb5\x26\x64\x8e\x5e\x40\x36\x3c\x71\x3c\x22\x4e\xa7\xb9\x4a\x91\x53\xc6\x50\x6b\x1d\x0e\x86\x2b\xc9\xf1\x78\x3c\xde\xd2\x7f\xc9\xe3\x66\x6b\xce\x93\x88\x65\x10\xd3\x2c\x13\xbe\xc9\x3b\x10\x46\xa3\x28\xcf\x20\xca\xe5\x09\xc0\x94\x84\x21\x0d\x39\xf3\xf1\xc1\xde\x41\x17\x0d\x39\x6b\x84\x5a\x07\x0c\x23\x74\x12\xd3\x87\x6a\x7c\x12\x5d\x3e\x53\x16\x49\xb4\xca\x4c\x59\x9c\x5d\x3f\xc3\x4c\x79\xdb\xe9\x54\x29\xa2\xaa\x59\x72\x6b\x0b\xde\x12\x41\x14\xa9\x12\x31\x76\xa9\xa1\xe3\x90\xcd\x52\x49\x4a\x3c\xe1\x89\x32\x90\x6f\xae\x43\x7d\x9a\xb2\x01\x19\xc4\x72\x96\xdb\xda\x02\xd4\x0a\x34\x93\x2f\xff\x4a\xd7\xad\x30\x1a\x0e\xa3\x60\x16\x23\xd9\x33\x22\x4e\x83\x84\x75\x83\x9a\x16\x0b\x43\x46\xe9\x24\x83\x9c\x29\x50\x24\x4d\xf1\x74\x93\xcf\x67\x72\xe4\x04\x49\xa4\x97\x4c\x02\x53\x9a\xe2\x93\x06\x62\xbb\x80\x4d\x06\x51\x22\x8f\x54\x87\x0a\xc8\x88\x4c\x26\x9c\x4f\x52\xf9\xea\x49\x53\x52\x5c\x6c\x50\xe4\x29\x49\x32\xe1\x4e\x83\x79\x1c\xf2\x1f\x66\x24\xc9\xf5\x81\xa7\xde\x70\xd2\xfa\x89\x4b\xab\x39\x44\xe1\xca\x4d\xf0\x89\x64\xb6\x29\xd1\x0c\x86\x84\x1b\xcc\x41\x6c\x37\x29\xbf\x40\xed\x0a\xdb\x02\x58\x1f\xae\xc3\x80\x06\x6c\x42\x33\x03\x6f\x7d\x38\x1c\x0e\xd7\x5b\x00\x67\x01\xc1\x9b\xec\xc8\x99\x04\xb4\x12\xd6\x3b\x3b\xd2\xa5\x99\xb7\xd1\xdd\x7d\xa4\x1c\x09\x32\x32\xa1\x06\x1a\xc9\x20\x98\xe5\xb9\x78\x22\x67\xa8\xcd\xc2\x16\xc0\x0f\x14\xb2\xf7\x72\xb6\x99\x44\x61\x18\xf3\x65\x2d\x9d\x22\x11\xd0\xd9\x2e\x64\x33\xfd\xe8\xa6\x8c\x83\x6b\x61\xef\x6e\x07\x1a\x8d\x08\x1b\x60\x6b\xc5\x3b\x3f\x09\xbb\x05\x12\x4e\xa2\x98\xa4\x10\x52\x12\x03\x5f\xb0\xb7\x00\x25\x6a\x4a\xc2\x0c\xf2\x1b\x26\x88\xab\xa7\xec\x02\x49\x0d\x1c\x34\x78\xeb\x7c\x78\x39\x8f\xc3\x6c\x2a\x49\xd3\xe0\xd4\x44\x56\x2b\xec\x1c\x89\x72\x51\x8e\x66\x80\x81\x23\x28\x9e\xcc\x6f\xc8\x1c\x97\xfb\x01\x49\x04\x49\x54\x28\xb8\x31\x97\xd6\x68\x84\xa1\x69\xf4\x62\xc5\x4b\x8e\xe5\xa4\xd8\x76\x48\x71\x3e\x4e\x29\x75\xfb\xcb\x05\x43\x9e\xdc\x4b\x39\x28\x31\xd5\x10\x31\xc1\x5a\x2d\x03\x8b\xb6\x46\x2d\xe8\xb4\x87\x8a\xc7\xf8\xf7\xa1\xca\x47\x7b\x82\x0f\x96\x9a\x23\xbb\x2e\x9a\x7c\x58\x90\x3a\x42\x31\x8e\x29\x74\xad\x05\x45\xcb\x9e\xf2\xd0\xc6\x4e\xd9\x2c\x09\xeb\x85\x8e\xc3\x16\x92\xdf\x67\x43\xfb\xed\x67\xb1\xe0\x73\x2d\x68\xa3\xa8\x44\xbc\x1c\x69\x1f\xa1\x85\x2b\x84\xb7\x65\x11\xd6\x6b\x69\xf9\xe6\x43\xcb\x6e\xab\x5f\xcb\xbe\xd3\x38\xa3\x95\x15\xf8\x64\x85\xf3\xa7\x2c\x8e\x3d\xc2\xb3\xd3\xa9\xda\xfc\xed\xd8\x07\xfc\x15\x73\x2f\xaf\xc1\x67\x5d\xe4\x3d\xff\xa4\x9b\x89\x8b\x33\xd2\x0f\x92\xeb\xf3\x9a\xb4\xa3\x6b\xee\x9a\x11\x67\xe2\x7c\x4c\xa3\x54\x4f\xc4\xd2\xad\x58\x3f\x23\x8c\x3e\x70\x62\x75\xa9\xe7\x0d\x3e\xc1\xe1\xfa\xbc\x25\xe6\x51\x39\xd5\x90\x44\x7a\xa0\xea\x82\x4d\x33\x79\xca\x15\x7d\x28\xa6\x07\x3e\x51\xf9\x67\xc5\x0f\xc2\xf5\xf0\xa9\xf8\xf5\xcd\x1d\xf4\xd5\x4c\x6a\x4d\xf0\xa9\xf4\xb8\x66\x43\x93\x2a\x74\xbf\x33\xc3\xf9\xe6\xce\x12\x7c\xf4\xe3\xd0\x3d\xd3\x0d\x68\x7b\xd5\x9d\x21\xc7\x7c\xc8\x79\x9b\xd6\x0c\x49\xd2\x91\x39\x6b\xc7\x7d\x38\x79\xda\x6e\x31\x26\x26\x1f\x98\x32\xdd\x1d\x6f\x99\xee\x8e\xf0\x3e\x53\x93\xad\x44\xac\x3e\x36\x0e\xa5\x9c\x4d\xc7\xf4\xd6\xd2\x00\x3b\x46\x03\x70\x25\xdf\xe3\x7f\xeb\x1d\x14\x6c\xd8\xdc\x31\xac\x8f\x9b\x20\x8d\x37\xcf\x25\xea\xf5\xaf\xd6\x61\x03\x52\xf9\xff\x48\xfe\x3f\xe0\xff\x6b\x6f\x2a\xe7\xce\xb6\x11\x48\xde\xa6\x10\x49\xec\x46\xc3\x1c\x05\xd9\x2e\x8d\x45\xe3\xde\x59\xca\xd6\x85\x03\x98\xd4\x00\x62\x35\x2b\xd4\xc0\x06\xd4\x9a\x60\xed\x25\xb9\xa5\xba\x2b\x95\xda\x36\xa5\x1a\xb5\x03\xdb\xe3\x8b\xa4\xa3\x4a\xaf\xcf\x0a\x27\x53\xbf\xe7\x1b\x49\x47\x17\xd1\xa5\x88\x9c\x87\xc3\x26\x12\x6c\x67\x04\xdb\x5b\x81\xb7\xeb\x94\x35\x6a\x41\x52\x85\xa4\xa3\xd5\xe4\x5b\x9b\xd1\x5c\x74\x1d\xb9\xf6\x4b\xbe\xde\x94\x1e\xca\x17\xd8\x48\x82\xfb\x9b\x06\x88\x70\x40\x26\xf1\x74\x4c\x60\x18\xd1\x38\x34\x4e\x9f\x40\x6e\xc8\xfc\x97\xa7\x1f\x34\x0d\xca\x4a\xc2\x56\x6e\x82\x6d\xa5\xc2\xf8\x82\x9a\x02\x77\x9d\xbe\x43\x79\x2c\x6b\x8a\x92\x80\xf3\x59\xcb\xf2\x24\x35\x1e\x3b\x12\x5a\x90\x92\xe0\x3d\x9f\x3b\xd4\xf4\xb6\x44\xb6\x6c\xd1\xfa\x8a\xcb\x95\xb5\x2f\x55\xaf\x3b\x82\xd1\xbe\x6c\xf0\xa5\x23\x97\x0d\x37\xdc\x6d\xe9\x53\x2f\x08\x27\xd6\x83\xc7\xf7\xac\xd7\x95\xf5\xda\x0d\x77\x1b\xad\x09\x7b\x8d\x7f\xa2\x72\x79\x4e\xa4\x33\x9c\xf0\x11\x0a\xb2\x4c\x4a\x1b\x9e\x5f\x47\x38\xd2\xb8\xec\xe0\x95\x71\x81\x28\x56\xc0\xe9\x68\xc0\x39\x88\x4b\x9e\xbb\xf4\x3d\xc5\x76\xb2\x25\x0b\x3a\xdc\x5c\xc0\xdd\x87\xf2\x52\x4e\x67\x15\x96\x73\x21\x1d\x9a\x9d\xa5\x90\x0e\x17\x6e\x2d\x79\x26\x3e\x04\xa0\x5d\xaa\x3c\xdb\x97\xad\x9c\x66\x39\x96\x72\x40\x85\x74\x68\x6f\x5d\x7a\xed\x22\x01\xda\xbb\x23\xb9\xcd\xe9\xb4\x03\xce\x95\x2a\x9b\x8c\x52\x73\x09\x59\x2d\x11\xc3\xb2\x9f\x5c\x71\x9c\x5b\x4e\x72\xa8\xea\x7a\xb6\xb3\x1b\x7c\xc3\xad\xeb\x67\x20\xa6\x0f\xd8\x87\xce\x81\xbb\xf9\x4a\x70\xca\x12\x42\xa4\xa7\x1f\x10\xc2\xe1\xfe\xee\xda\xbf\xb1\x25\x39\x0f\x59\xbd\x7d\x73\x4d\x53\x71\xba\x68\x54\x6f\x30\x26\x49\x42\x63\xae\xc4\x44\x47\xb7\x90\x59\xb0\x5f\xa5\x6e\x66\x34\xef\xcb\x5e\xe8\x3e\xa6\xa3\x41\x53\xc0\xf2\xf9\x03\x56\x69\x17\xd9\xe3\x9e\xa8\xb9\x92\x51\xea\x8e\xdc\xab\xe8\x96\xaf\xbb\x69\x1a\xd0\x24\x27\x23\x5c\x74\x12\xc8\x23\xf4\x60\x8f\xd1\x9f\x8e\x8f\x1d\x0c\x48\x46\x2b\x7a\x33\x89\x1c\xdd\xc9\x4b\x36\x11\x42\x53\xc1\x75\x7a\xd4\xa9\xe8\x12\xaf\xa7\x77\xf5\x48\x3a\xef\x56\x94\xe3\x90\x1b\x07\x55\x17\x4b\x76\x0e\x60\x63\x23\xb2\x55\x74\x18\x0d\x87\xc2\xf9\xb1\xcb\x95\xcb\x26\xe2\xa0\xaf\x93\xc8\x1f\xea\xa5\xb1\xc2\xea\x46\xe6\x72\x63\x04\xc1\x3c\xd4\x3d\x2a\x6a\x9a\x6a\x7a\x77\x5c\x82\x8b\x3d\xd2\x12\x8f\x68\x19\xd1\x73\x61\x94\x67\x66\xe3\x4b\x1b\x02\x6f\x12\xc8\x66\x41\x40\xb3\xac\x09\xa4\x24\x68\xea\xfe\x86\x40\x0a\x1d\xca\x4f\x84\xde\x92\xb3\x9f\x65\x2d\x70\x68\xaa\x7c\x26\x5e\x0e\xee\x94\xc6\x56\x51\xdd\x1e\x60\xcc\x32\xba\x49\x30\x85\xad\x9d\x78\xaf\x6a\x8d\xf2\x34\x29\x4a\x56\x9d\xa7\x10\x6b\xba\xb4\x96\x83\xe0\x73\x5b\xd5\xea\x7d\x5e\x31\x35\xac\xda\xe8\x3d\xda\xd4\x37\x76\x3a\x8b\xd1\xe0\x4c\xa1\x2e\x4e\x50\xe1\x9e\x7a\xc8\xe7\x82\xe4\xc7\x5a\x0e\x48\x4f\xe1\x42\x2b\xc8\x68\x89\xac\x30\x08\x96\x6d\xcd\xa2\xaf\xbd\x14\x4a\xc7\xa2\x74\xe6\xa5\xd7\xe6\x9a\x63\x9e\x46\xd3\x29\x0d\x39\x4b\xe1\x6e\x98\xb8\x7e\x66\xec\xa3\x9c\x41\xcc\x6e\x68\x1a\x90\x4c\xde\xef\xe1\x2c\x22\x9a\x41\x8b\x4f\x9e\x39\x34\xe5\x24\x97\x19\xee\xb2\xdd\xd5\x63\x79\x99\xd7\xc2\x32\x67\xb8\xea\x9b\x88\xd7\xe1\x78\xcd\x90\xa6\xd1\xb5\xfd\x80\x79\x96\xb3\xe0\x3d\xef\x9d\xdc\x00\x6e\xe5\xb7\xb9\xed\xdb\xe3\xbf\x83\x70\xae\x4e\x18\x74\x3b\x4b\x37\x61\x71\x6b\x30\x9b\x32\x8c\x35\x50\x41\x38\x77\x5e\x56\xb3\x5d\xf1\x4e\x80\xe1\x7c\x39\x14\x8e\x96\xe2\xff\x20\xf1\xab\xe6\x67\x53\x02\x2f\x0d\x5c\xa2\x26\x4b\x44\x6c\x35\x3c\xa8\xce\xd9\x4b\x3e\x1c\x87\x44\x05\xe1\xfb\x72\x4d\x99\xd3\xfb\x6c\x03\x8f\xef\x6b\x5f\xa0\xc1\x2a\xee\x3e\xd7\xc3\x2f\x86\x72\x4a\x62\x9a\xe7\xe5\x81\xc0\x32\x87\xfc\xfb\x5b\x51\xc2\x9d\x17\x94\xbd\xb3\x06\x50\xbf\xc0\x8d\x35\x0a\xeb\xfd\xd7\x67\x2f\xa0\xb3\xb7\x8e\x37\x78\x01\xa0\xf6\x55\x1b\x3f\x7c\x62\xff\xea\xf0\x50\x7f\xdd\x39\x7e\xd2\x6f\xef\x89\xd4\x9d\x3e\xa6\xca\xf2\xdb\x3b\x7b\xbb\xfd\x1d\xcc\x79\xb4\xbb\xdb\x7e\xf4\x1c\xbf\xb6\xf7\x9e\x3c\x7e\xd2\xc7\xaf\x47\xdb\x47\x8f\x0e\x4f\x74\xf9\xdd\xdd\xdd\x47\xbb\xdb\x98\x73\x7c\xd2\x7d\xd2\x7d\x22\xca\xb7\x9f\xf7\x3b\x22\xf5\xe4\xf0\xf8\xc9\x8e\x29\xff\xa8\xfb\xe4\x84\x57\xe7\x39\xdd\x76\xfb\xf0\xb9\x2a\xbf\xfb\xfc\x48\x40\xe1\x9f\xc3\x5a\x53\xef\xd2\xf1\x8e\xed\xdd\xee\x49\x6a\x05\xb3\x81\x08\xad\x52\xea\x1e\xff\xb2\x7b\xa2\xbf\x3e\x7e\xa4\xbf\xf6\x4d\xea\x91\x49\x3d\x31\x48\xf1\x8a\x1a\xca\xee\x89\x86\xb2\x7b\xa2\xa1\xec\x9e\xf4\x4d\xea\x91\x49\x75\xa0\x3c\x7e\xa4\xa1\x3c\x7e\xa4\xa1\x3c\x7e\xa4\xa1\x3c\x7e\xd4\x37\xa9\x47\x26\xd5\x81\xd2\x37\xb8\xf4\x0d\x2e\x7d\x83\x4b\xdf\xe0\xd2\x37\xb8\xf4\x5d\x5c\x8e\x0c\x2e\x47\x06\x97\x23\x83\xcb\x91\xc1\xe5\xc8\xe0\x72\xe4\xe2\x72\x62\x70\x39\x31\xb8\x9c\x18\x5c\x4e\x0c\x2e\x27\x06\x97\x13\x81\x8b\xe2\x91\x13\x3d\x48\xfc\xab\x04\xc3\xbf\x4a\x30\xfc\x6b\xdf\xa4\x1e\x99\x54\x0b\x19\x3e\x2e\x1a\x8a\x1e\x24\xfe\x45\x43\xd1\x83\xc4\xbf\x1e\x99\x54\x07\x8a\x1e\x24\xfe\x55\x43\xd1\x83\xc4\xbf\xf6\x4d\xea\x91\x49\x75\xa0\xf4\x0d\x2e\x7d\x83\x4b\xdf\xe0\xd2\x37\xb8\xf4\x0d\x2e\x7d\x17\x97\x23\x83\xcb\x91\xc1\xe5\xc8\xe0\x72\x64\x70\x39\x32\xb8\x1c\xb9\xb8\x9c\x18\x5c\x4e\x0c\x2e\x27\x06\x97\x13\x83\xcb\x89\xc1\xc5\x1d\x24\x4e\x16\x09\x86\x7f\x95\x60\xf8\x57\x09\x86\x7f\xed\x9b\xd4\x23\x93\x6a\x21\xc3\x29\xaa\xa1\xe8\x41\xe2\x5f\x35\x14\x3d\x48\xfc\xeb\x91\x49\x75\xa0\xe8\x41\xe2\x5f\x35\x14\x3d\x48\xfc\x4b\xdf\xa4\x1e\x99\x54\x07\x4a\xdf\xe0\xd2\x37\xb8\xf4\x0d\x2e\x7d\x83\x4b\xdf\xe0\xd2\x77\x71\x39\x32\xb8\x1c\x19\x5c\x8e\x0c\x2e\x47\x06\x97\x23\x83\xcb\x91\x8b\xcb\x89\xc1\xe5\xc4\xe0\x72\x62\x70\x39\x31\xb8\x9c\x18\x5c\xdc\x41\xea\x1b\x49\xea\x1b\x49\xea\x1b\x49\xea\x1b\x49\xea\x1b\x49\xea\xbb\x92\xd4\x37\x92\xd4\x37\x92\xd4\x37\x92\xd4\x37\x92\xd4\x37\x92\xd4\x77\x25\xa9\x6f\x24\xa9\x6f\x24\xa9\x6f\x24\xa9\x6f\x24\xa9\x6f\x24\xa9\xef\x4a\x52\xdf\x48\x52\xdf\x48\x52\xdf\x48\x52\xdf\x48\x52\xdf\x48\x52\xdf\x95\xa4\xbe\x91\xa4\xbe\x91\xa4\xbe\x91\xa4\xbe\x91\xa4\xbe\x91\xa4\xbe\x2b\x49\x7d\x23\x49\x7d\x23\x49\x7d\x23\x49\x7d\x23\x49\x7d\x23\x49\xfd\x82\x24\x1d\x19\x49\x3a\x32\x92\x74\x64\x24\xe9\xc8\x48\xd2\x91\x91\xa4\x23\x57\x92\x8e\x8c\x24\x1d\x19\x49\x3a\x32\x92\x74\x64\x24\xe9\xc8\x48\xd2\x91\x2b\x49\x47\x46\x92\x8e\x8c\x24\x1d\x19\x49\x3a\x32\x92\x74\x64\x24\xe9\xc8\x95\xa4\x23\x23\x49\x47\x46\x92\x8e\x8c\x24\x1d\x19\x49\x3a\x32\x92\x74\xe4\x4a\xd2\x91\x91\xa4\x23\x23\x49\x47\x46\x92\x8e\x8c\x24\x1d\x19\x49\x3a\x72\x25\xe9\xc8\x48\xd2\x91\x91\xa4\x23\x23\x49\x47\x46\x92\x8e\x8c\x24\x1d\x15\x24\xe9\xc4\x48\xd2\x89\x91\xa4\x13\x23\x49\x27\x46\x92\x4e\x8c\x24\x9d\xb8\x92\x74\x62\x24\xe9\xc4\x48\xd2\x89\x91\xa4\x13\x23\x49\x27\x46\x92\x4e\x5c\x49\x3a\x31\x92\x74\x62\x24\xe9\xc4\x48\xd2\x89\x91\xa4\x13\x23\x49\x27\xae\x24\x9d\x18\x49\x3a\x31\x92\x74\x62\x24\xe9\xc4\x48\xd2\x89\x91\xa4\x13\x57\x92\x4e\x8c\x24\x9d\x18\x49\x3a\x31\x92\x74\x62\x24\xe9\xc4\x48\xd2\x89\x2b\x49\x27\x46\x92\x4e\x8c\x24\x9d\x18\x49\x3a\x31\x92\x74\x62\x24\xe9\xc4\x91\x24\x69\xfb\x8d\x52\x3a\x17\xe7\xd8\x29\x99\x4c\x2d\xd3\xef\x31\xff\x83\xf5\x3a\x5d\xfe\x47\x7c\x3d\xe4\x7f\xf0\x6b\x77\x8f\xff\xc1\xaf\xdb\x6d\xfe\x47\x7c\xed\xf3\x3f\x1a\xd3\x1d\xfc\x60\xce\xce\x31\xff\x23\x26\xc7\xc7\xfc\x0f\x7e\x45\x20\x02\xf6\xde\x21\xff\x83\x5f\x1f\xed\xf1\x3f\x46\xbd\x23\x32\x42\x65\xf7\xf9\x1f\xfc\xfa\x64\x87\xff\x11\x5f\x8f\xf9\x1f\xa1\x2e\xb0\x04\x7e\x7d\xde\xe5\x7f\x34\x94\xe7\x87\xfc\x0f\xe6\x60\x4b\x02\xf7\xa3\x36\xff\x23\xbe\xf6\xf9\x1f\xfc\x8a\xb8\x0a\xd8\x68\x31\x1f\xa3\x73\xf2\x65\xc3\x5d\x67\x04\xb3\x34\xa5\x7a\x4b\x4b\xae\x34\x9a\x2a\xaa\xd0\x5c\x9c\x65\xcc\x32\x9a\xe2\x3e\xde\xc8\x73\x4a\x10\x54\x2e\x40\x4a\xeb\x13\xf7\x8a\x4c\xa8\x7c\xe1\x48\x10\xb0\x34\x94\x0e\x09\xce\xda\xb7\xb4\xf0\x2d\xb7\xfc\x5a\x06\x9f\xe0\x4b\xcf\x75\x12\x47\x01\x1d\xc4\x33\xba\xbe\x8f\x7e\xd5\xf5\xee\x4e\xbb\x09\xdd\x9d\xc7\xc2\xf5\x75\xbd\x89\x85\x92\x3c\xfa\xc3\x8c\xde\x8c\xa3\xdc\x94\xdb\xe5\xe5\xb6\x77\x9b\xd0\xed\xf8\xca\x75\x4c\x41\x5e\x66\xfb\x09\x2f\xf8\xc4\x53\xb0\xab\x0b\x6e\xf3\x46\xbb\xdb\x4d\xe8\xb6\x77\x3c\x05\xb7\x75\xc1\xf6\x6e\x13\x3a\x4f\xba\x4d\xe8\x3c\xda\xf3\x14\xdc\x51\x05\x3b\xbc\xd5\xce\x76\xa7\x09\x9d\x6e\x5b\x15\xfc\xc3\x8c\x4c\x48\x1a\x25\xba\x27\x9d\xee\x23\xec\x2c\x47\xb0\x5b\x2a\xd5\x59\xad\x98\xee\x45\xa7\xc3\x7b\xc1\xbb\xd2\x79\xf2\xb8\x54\x4c\xf7\xa1\xd3\xee\xf2\x7e\xf2\x8e\x3c\x2a\xa3\xa6\x7b\xb0\x87\x1d\xe0\x7f\x75\x74\x4f\xff\x38\x4b\x0b\xa3\x85\x48\x99\xd1\xe2\x05\x3a\x4b\x4b\x18\xba\x77\x77\x24\xc6\xdd\xed\xc7\x76\x09\x83\xec\x93\x6d\x89\x6c\xb7\xed\xc0\xb0\x28\xdd\x51\x88\x6e\xab\x41\x1e\xd0\x68\x64\x21\xca\x6b\xe3\x5f\x7a\x28\x06\x51\xf6\x07\x8b\xf1\x10\xc7\x2e\x12\x6e\xcf\x29\xd1\x59\x5e\xa4\xc0\x44\x9d\xed\x26\x74\x1e\x6f\x3b\x45\x0a\xec\xf3\x98\x17\xd9\x7d\xec\x14\x29\x30\x4e\x97\x97\x6b\x3f\x52\x45\x62\x12\xbc\x57\x05\xda\x4d\xe0\xff\x99\xac\x24\x18\xd3\x90\xc4\x13\x96\x84\x05\xc6\x77\xa8\x66\x4b\x9a\x80\x61\x46\x85\xe7\x75\x16\x65\x76\x0b\x99\x7a\xb4\x78\xe6\x76\x21\xd3\x69\x72\xc7\xcd\xb4\xc6\x28\x9e\xd1\xeb\x88\xc5\x34\x37\x5d\x7f\xdc\x84\x1d\x3e\xde\x5d\x4d\xe2\x94\xdd\x24\x3a\x7f\x6f\xb7\x09\x3b\x5d\xfe\xbf\x9d\xed\x8e\xd1\xde\x0e\xff\xdf\xce\x77\x07\x68\xf7\x09\xff\xdf\xce\x77\x47\x67\xb7\xc3\xff\xb7\xf3\xdd\xa1\xe1\x44\xdd\xd6\x1d\x9c\xa5\xf1\xfc\x86\x31\x43\xf8\x2e\x57\x0d\x8f\x77\x78\x47\x4b\x85\x0a\xcc\xd4\xe1\x7c\xfb\xff\xb3\xf7\xef\xdd\x6d\xdc\x48\xc2\x38\xfc\xbf\x3f\x05\xec\x27\x1b\x92\x36\x45\x89\xb2\x2c\x5f\x32\xca\x3c\x1a\xc7\x99\xf5\x1e\xc7\xc9\xc6\xce\xe6\xdd\xa3\x68\xbc\x20\x1b\x24\x3b\x6a\x36\x98\x46\xb7\x24\x4e\xec\xf7\xb3\xff\x0e\xaa\x0a\x40\x01\xdd\xbc\x38\xc9\xcc\xce\xcc\x93\x39\x63\x45\xea\xae\x46\xa3\x0b\x85\x42\xdd\xeb\x51\x0b\x2a\x9e\xee\xf8\xe9\xe3\xa1\x18\x9f\xb4\xa0\x12\x92\x7a\x7c\x04\x44\x93\x42\x25\x54\x35\x7e\x34\x14\x4f\x1c\xd0\x54\x66\xaa\xe6\x44\xf1\xf4\x11\x90\xe5\x50\x8c\x4f\x8f\x52\x98\xc0\x8a\x1e\x1d\xbb\xcd\xf4\xa8\x35\x52\xe0\x44\x76\x95\x8e\x8f\x9f\x72\x4a\xf1\x50\x61\x6f\x03\xb2\xec\x07\x06\x92\xf1\x50\x7e\xea\xb0\x5b\x1e\x9e\x70\xd2\x99\x2e\x64\x55\x57\xaa\x31\x1d\x8c\xf4\xa8\x05\xd3\xc1\x46\xdb\x40\x1d\x4c\xb4\x0d\xd4\xc1\x42\xdb\x40\x6d\x06\x1a\x60\xf4\x54\x17\x92\x1d\x64\x63\xbb\x6c\x76\x98\x87\x2d\x98\x98\x58\x60\xea\x0f\x4f\x53\xa0\x84\x56\xec\xd4\x1f\x3e\x4c\x81\x12\x52\x81\xa9\x3f\x4d\x81\x62\x4a\x81\xa9\x7b\x18\x5d\xc9\xa2\x3d\x9b\x27\x47\xfc\x7e\x32\xdd\xf1\xc9\x50\x3c\x39\xe5\x00\xc9\x54\x8f\x4e\xd3\x11\xe2\x69\x3e\x1d\xdb\x59\xf0\xfb\xc9\x0c\x2d\x1b\x78\x1c\xee\x97\x33\xb0\xfe\x73\x7a\x1e\x1f\x59\xec\x9e\x00\x11\x72\x48\x93\x17\x57\xf1\x4e\x04\x91\xe3\xf8\x28\x81\x19\xef\x03\x94\x70\xff\x87\xc7\x11\x31\x13\x50\xfc\x69\xc7\x30\xaf\xc7\xe9\x94\x52\xd1\xe1\x94\x8b\x0e\xd3\xb5\x2c\x19\x23\x4d\x0e\x55\x7b\x77\xbc\xfd\x36\x67\xe0\xc9\x81\x6b\x6f\x73\x16\x9e\x9c\xb6\xf6\x36\x67\xe2\xc9\x51\x9b\xc9\xea\xaa\x7d\xb4\xc4\xf7\x93\xd9\x77\x8c\x30\xd7\x45\xa6\xca\x2a\x30\x52\xe2\xa1\xf6\xc7\xb8\x0b\x2e\xa1\xb7\x27\xc0\xbb\xba\x00\x13\xba\x7b\x6c\xb9\xc9\x49\x17\x60\xb2\x4d\x4e\xe0\x18\xee\x02\x4c\x16\xea\x68\x3c\x14\x4f\x38\x5c\x25\xd7\xe1\xc4\xb2\x10\xf4\x23\x82\x51\x2a\xc2\xc8\x11\x3b\xd2\x09\x60\xe7\x20\x57\x0b\x79\x95\x07\x7c\x3d\x75\x92\x85\x17\x1b\x2c\xd0\x52\xce\x55\x59\xcb\x68\xca\xad\xf5\xd1\x45\x7e\xad\xa2\x39\x3d\x41\xf9\x83\xed\xb1\x18\x2e\xa0\x1f\xd8\x09\xee\xf9\xe3\x4e\xd0\xc0\x59\x9f\x78\xf1\xf4\xe8\xa4\x13\x34\xf0\xd7\x53\xc7\x5f\x9f\x1e\x75\x42\x86\x35\x18\x3b\x82\x3a\xe5\x74\xa2\x2b\xab\xff\xc4\x34\x72\x92\xe0\x18\x61\x3a\xf8\x6c\x1b\xa8\x83\xcf\xb6\x81\x3a\xf8\x6c\x1b\xa8\xcd\x67\x63\x98\xe9\x22\x0f\x7b\xe0\xd1\xc3\xa1\x00\x5d\x27\xc6\x17\x00\x85\x53\x0d\x58\xe5\x31\xdf\xf0\x01\x2a\x20\xff\xb1\x95\x7d\xa2\x7d\x1f\xa0\x02\xde\x1f\x9d\xb8\x37\xb6\xc7\x0a\x53\x3f\x3a\x19\x8a\xf8\x44\xb6\x50\x95\xca\x52\x32\xe3\xdf\x66\x40\x44\x0d\x88\x04\x21\x18\xc4\x16\x4e\x37\x46\xc9\x88\x10\xc7\x27\x20\x4f\x5b\xac\x9f\x3c\xec\x80\x1b\xc7\x8a\x02\xac\xe1\xd3\x2e\x40\x46\x86\x8e\x05\x8e\x9f\x1c\x75\x00\x32\x64\x3c\x72\x7a\x52\x84\x59\x07\xc8\xf0\xf1\xc8\x31\xb5\x08\x6d\xc6\x1e\xac\x9c\x37\x3e\x3e\xb6\x64\x9a\xe2\x0d\xc0\x38\xd7\x38\x79\x3c\x14\x8f\x9f\xda\x7f\x5d\x50\x4c\x14\x1b\xb7\x58\x7d\x04\xc9\xc4\xb1\x71\x8b\xeb\x47\x90\x4c\x24\x1b\xb7\x0e\x80\x08\x32\x88\x65\xc7\x9d\x8c\x9c\x00\xd5\xf6\x8f\xa9\x9b\xea\xa7\x46\xe7\x46\x45\xc7\xce\xa9\xfd\xc1\xc1\x12\xf5\xc0\x9e\xc0\x47\x20\x38\x3b\x18\x35\xc9\x65\xc9\xe8\xee\xd8\x4a\xb8\x56\x36\x09\x10\x6a\xb5\xca\xcb\xe4\xbc\x07\xb9\xe0\x71\x02\x32\xde\x03\x26\xe1\x03\xf6\xdf\xc3\x14\x26\x61\x03\xa7\xc0\x2f\x12\x98\xf4\x08\x61\xb2\x90\x05\x31\x57\xeb\xe4\x48\x85\x4d\xce\x96\x39\x00\x8d\xf7\x82\xe2\xc7\x3f\xb0\x02\x46\x08\x01\x8a\x4b\x01\xc0\x0a\x18\x11\x04\xa8\x48\x18\x38\x8a\xd9\x40\xbe\x8c\x8e\x3f\x64\x84\x8f\xa2\x8d\x61\x41\xd4\x76\x10\x9d\xcd\x63\x51\xee\x21\xac\xc6\x49\xf4\x71\x1e\x68\xbc\x17\x54\x58\xba\x27\x24\x58\x30\x14\x78\xa8\xb0\x78\x20\x79\x9c\x46\x28\xf0\x50\x61\xf9\x4e\x87\xe2\xf1\x13\x8e\x81\x59\x5e\xa9\x49\x95\x07\x75\x1d\xb0\xfd\x10\x18\x66\x0a\x12\x53\x9c\xa5\xee\x93\x27\x29\x4c\x4c\x71\xf6\xe3\x4e\x5a\xe3\xc4\x14\x67\xe1\x1e\xb6\xc6\x89\x29\xee\xd8\x7e\x98\x13\xcf\x67\x85\x15\xaf\x13\x0b\x1b\x70\x15\x30\xc7\x39\xc2\x9c\xe9\x4a\x99\x3a\x62\xce\x74\x06\xb0\x6f\x9b\xcb\xbc\x34\x13\x5d\xe9\xa0\x10\x1f\x81\xd8\xcc\x65\xe7\xf9\x42\x9b\x3a\x7e\x1f\x08\xd7\xb1\xe5\xcf\xca\x5b\x89\xc2\xcc\xf4\x2d\x7b\x37\xd5\xa7\x93\xdb\x89\x68\x6e\xe5\x34\x7e\x3b\xd5\xa0\x1f\xc6\xb7\x53\xd5\xf9\x71\x7c\x3b\x12\x56\x8f\x81\x13\x9c\x5a\xe4\x1f\xa7\x30\x89\x7c\x61\x4f\x29\xcf\x32\x36\x09\xa9\xf6\x84\x0a\x28\xdd\x20\xa0\xc2\x37\x3f\x4d\x81\x52\xce\x02\xac\xcc\x01\xf1\xad\xf9\x14\xf8\x05\xfe\x60\xf7\x8f\x62\x39\x9e\xdf\x0a\xfb\x6c\x28\xec\xff\xf9\x2d\xff\x18\x52\x16\xa3\x2e\xbc\x7d\x94\x50\x56\x74\x68\x01\xc8\x98\xef\x4f\xfc\xc7\x6f\x7b\x0c\x3d\x1c\x0f\x05\xfe\xe3\xb7\x3d\x6e\xac\x58\x81\xff\xf8\x6d\x8f\x15\xab\x55\xe1\x3f\x7e\xfb\x91\xbf\xfd\x24\xd9\x3f\x70\xfb\xd4\x9f\x65\xe3\xa1\xc0\x7f\xfc\xf6\x63\x7f\xfb\x21\x9a\xaf\x4e\xa2\x77\x3f\xf1\xb7\x4f\x87\x02\xff\xf1\xdb\x4f\xfd\xed\x27\x09\x0f\x88\x8e\xf0\x47\x43\x61\xff\xcf\x6f\x79\x9c\xa2\xc9\x8a\x99\xad\xe0\xb6\x47\x28\xc8\x74\xf0\x8f\xdf\x0e\x23\x9f\x0e\x05\xfe\xe3\xb7\x3d\x42\xd1\x5e\xc6\x6c\x66\x70\x3b\x18\x39\xc6\x28\xd2\x9c\x46\xef\xf6\x08\x45\x6b\x1c\xb3\xc8\xc1\x6d\x8f\xd0\xd3\xd3\xa1\xc0\x7f\xfc\xf6\x63\x6e\x41\xc1\x7f\xfc\xb6\x47\xe8\xe3\xf1\x50\xe0\x3f\x7e\xdb\x23\xf4\xf1\xc9\x50\xe0\x3f\x76\xdb\x7f\xd7\x93\xa1\x78\x12\x14\x37\xb8\xe5\x11\xfa\xd8\xca\x2c\xf0\x8f\xdf\xf6\x08\x45\x71\x86\x89\x34\x70\xfb\x98\x4b\x46\xf8\x8f\xdf\x0e\x2f\x3e\x19\x0a\xfc\xc7\x6f\x07\xb9\xca\x8a\x2f\xf0\x8f\xdf\xf6\x08\xb5\x6a\x1e\xfe\xe3\xb7\x3d\x42\x9f\x1e\x0f\x05\xfe\xe3\xb7\x3d\x42\x9f\x9e\x0c\x05\xfe\xe3\xb7\x3d\x42\x9f\x3e\x1e\x0a\xfc\xc7\x6f\x7b\x84\x3e\x7d\x3a\x14\xf8\x8f\xdd\x66\x52\x30\x4a\x32\x63\xce\x33\x4e\x8e\xc2\xed\x63\x52\x8a\xc6\x47\x7c\x72\x27\xe3\x6d\xa2\x00\x40\x04\x39\xd6\x6a\xa4\xee\x07\x87\x78\x18\xab\x83\xf4\x83\x43\x30\x85\xf1\x18\x74\x55\xae\xb0\x02\xc4\xa3\x00\xf1\x88\x6c\xa5\xe3\x71\x34\x8f\xd3\x00\xf1\x98\x8e\x84\xf1\x38\x9a\xc7\xe3\x20\x47\x83\x66\x73\xc4\x6d\x38\x00\xf1\x24\x40\x1c\x83\xee\xc3\x15\x20\x80\x78\x1a\x20\x1e\x39\x4f\xc0\x31\x9f\x47\x98\x28\x58\x46\xed\x3f\x7e\x37\x60\xdc\xea\xb2\xee\x07\x87\x08\x18\x07\x89\x89\x7e\x70\x88\x80\x71\x50\xd3\xe8\x07\x87\x08\x18\x7f\x08\xca\xcf\x23\x6e\xf1\x06\x08\x76\x12\x81\x84\x84\x3f\x38\x44\xf8\x90\x93\x23\xd2\xcf\xc7\x27\xd1\x3c\x4e\x63\x35\x90\x7e\x70\x88\x80\xf1\x13\xd0\xf1\x1f\x71\x6b\x39\x40\x3c\x89\xf4\x07\xf7\x83\x43\x04\x8c\x83\x3e\x4a\x3f\x18\x44\x98\x06\x1c\xbc\xcc\xd4\x04\x77\x8f\x22\x85\xdd\xfd\xe0\x10\x4c\x67\xb3\xfa\x00\xfd\xe0\x10\x01\xe3\x60\x81\xa7\x1f\x1c\x82\x19\x47\xac\x0a\x49\x3f\x38\x04\x13\x4b\xed\x14\xe8\x07\x87\x08\x18\xb7\x5c\xd7\xfd\xe0\x10\xe1\x53\x4f\x41\xa6\xc1\x1f\x1c\x22\x60\xdc\xf2\x5e\xf7\x83\x43\x04\x8c\x83\xb5\x8d\x7e\x70\x88\x80\xf1\xc7\xa7\xe0\x4a\xe5\xfe\x54\x0b\x11\x5e\xe2\xf4\x2c\x3e\x87\xc7\x01\xe3\x96\x0f\xbb\x1f\x1c\x22\x60\xfc\x89\x9d\x20\xfd\xe0\x10\xcc\x20\x70\xe2\x7c\x36\x11\x4f\x7e\x1c\x30\xfe\xc4\x4e\x90\x7e\x70\x88\x80\x71\x34\xbf\xe1\x0f\x0e\x11\x30\x6e\x75\x33\xf7\x83\x43\x04\x8c\x5b\xce\xec\x7e\x70\x88\x80\x8c\xa7\xa7\xe0\x7f\xe4\x4e\x48\x80\x08\x18\x7f\x0a\x96\x7b\xfc\xc1\x21\x9e\x06\xe1\x71\x4c\xc2\xf0\xf1\x11\x9f\xc7\x93\x00\x80\xda\x6f\xc4\xb7\x9e\x04\x01\xee\x08\xf4\xc2\x13\x6e\x95\x02\x08\x66\x12\x04\x8f\x0e\xfe\xe0\x10\x41\xca\x3d\x7a\x0a\xaa\x3e\xd7\xf7\x01\x22\x88\xb8\x96\x41\xbb\x1f\x1c\xe2\x24\x40\xd8\x29\xd0\x0f\x0e\xf1\x28\x40\xd8\x29\xd0\x0f\x0e\x71\x1a\x20\x30\x34\x80\xc7\x07\x00\xc4\xe3\xa0\xbe\x80\x23\x0b\x7f\x70\x88\x80\x2e\x70\x61\xd3\x0f\x0e\x11\x30\x0e\x6e\x27\xfa\xc1\x20\x02\xc0\x43\xab\x8c\xda\x7f\xfc\x6e\xc0\x38\xf8\xd1\xe8\x07\x87\x08\x18\x07\xb7\x03\xfd\xe0\x10\x4c\xaf\xf0\x0e\xe1\x88\x4b\x3f\x0d\x18\x7f\xf8\x18\x1c\x25\xdc\x5b\x02\x10\x01\xe3\x18\x9e\x11\x29\x85\x00\x11\x30\x0e\x6e\x3f\xfa\xc1\x21\x02\xc6\x83\x2f\x3e\xe2\xd2\x4f\x03\xc6\x4f\xec\x14\xe8\x07\x87\x08\x18\x07\xbd\x94\x7e\x70\x88\x80\x50\x70\x52\xd2\x0f\x0f\x11\x9b\xdc\x23\x3f\x60\x6c\x4a\xec\xbc\xdb\x72\xa0\x44\x77\x5b\xfe\x93\xe8\x6e\xcb\x7d\x12\xdd\x5d\xab\xa2\xd0\x37\x11\xcf\x44\x83\x40\xf8\x7c\xb5\x43\x6f\x53\x9b\xf5\x36\xb5\x59\x6f\x53\xdb\xf5\x36\xb5\x5b\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x59\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\x9b\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x5d\x6f\x53\xdb\xf5\x36\xb5\x55\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x5b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x55\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x5b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x55\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x5b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf5\x36\xb5\x53\x6f\x53\x3b\xf4\xb6\x85\x2e\xd5\x3a\x53\x37\xf1\xd7\x60\x44\xde\x51\x02\xd3\x15\x79\xde\x02\xea\x0a\x3e\xf7\x14\xe0\x80\x3a\xe2\xcf\x43\x58\x89\x03\xea\x0c\x41\x1f\x7b\xa0\xba\x15\x78\x80\x42\xd2\x93\xa3\x18\x24\x0d\x9d\x3c\xea\x80\xe9\x88\x9e\x1c\x9f\x3e\x8e\x61\x92\x00\xca\x53\x70\x86\xc7\x20\xb1\x77\xd0\x1e\x56\x3e\x51\x20\x2f\xb3\x24\x96\x02\x46\xe1\x32\xa9\x07\x49\x66\x0c\xb3\x39\x3a\x4d\xa1\xe2\x39\x47\x02\xa8\x87\x89\xe7\xfc\x84\xc7\x27\x7b\x98\xf6\xa4\xfd\x01\x9b\x5f\xeb\x6a\xdd\xa1\xa2\xfa\x45\x07\x80\xf1\x4e\x88\x34\x8a\x33\xa2\x09\x80\x48\x43\x38\x23\x82\x00\x88\x34\x7e\x33\xa2\x86\x28\x56\x0f\xa9\xf3\x61\x24\x36\x01\x40\x1a\x71\x7a\xca\xc5\x26\x80\x48\x27\x7a\xc4\x05\x3c\x80\x48\x53\x55\x9e\x70\x71\x18\x20\xd2\x89\x5a\x55\xcb\x21\xb4\x90\xd7\xaa\xcc\x54\x15\x5e\xe3\xa6\x1a\xf6\xac\x83\x99\x14\x8d\x59\x24\x33\x3e\xe2\x0c\x22\x02\x4c\xbf\x6d\x33\x64\x9a\x95\x73\xc2\x19\x68\x04\x99\x7e\xeb\x43\x08\x27\xef\x82\xec\xca\xcb\xf1\x1e\xf6\x42\xde\x94\x71\xd0\x19\xbc\xf3\x11\x0b\xe0\x2b\xd4\x52\x97\xd3\x45\x3e\x9b\xb1\x10\xb6\x10\x24\xe1\xf5\x1e\x0e\x97\x92\xdd\x46\xc0\x74\x51\x1f\x72\x59\x83\x03\xa6\x44\x08\xa2\x64\xd7\x88\xe9\xe7\x3e\xe6\x5a\x53\x91\xcf\x17\x51\xe0\x3f\x9a\x9c\x20\xd8\xc5\xab\x13\x1e\x28\x8e\x33\xc4\x64\x2a\x6f\x01\xf2\x50\x71\x9c\x21\x66\x52\x79\xa5\xc1\x43\xc5\x71\x86\x90\x46\xc5\x30\xe2\xa0\xe2\x38\x43\xc7\x5b\x39\x54\x1c\x91\x0e\xfa\x07\x44\xf5\x1c\x47\x6f\xe4\x51\xc7\x48\x45\xb1\xf9\xca\x03\x8d\xf7\x82\x4a\xa4\xa0\x38\x9a\xce\x43\x31\xd9\xb3\x1d\x4a\xed\xa1\x4e\x62\x6d\x32\x0e\xa3\x03\xa8\x76\x8c\x09\x6e\x86\x31\xd7\xf9\x62\xc8\x34\xed\xed\x74\xf3\xa0\xe9\x16\x3b\xda\x3c\x6a\xba\xc7\x8e\x5a\xa4\xb4\x29\xf6\xc4\x4a\x3e\x5e\x39\x88\x21\x63\x93\x27\x13\x0c\xc6\xf1\x24\x58\xc0\x0a\xa4\xcb\xb8\x1f\x31\x50\x14\x2e\xea\xce\xf4\x70\xf6\x39\xa8\xdd\x43\xb5\x0f\x6c\x88\x72\xf4\x7c\xde\x03\x25\x07\xe0\x63\xd0\x41\x1e\xa5\x50\xc9\xa1\x7d\x7a\xcc\xf5\x29\x0f\x95\xc6\x9d\x63\xd2\x42\x0a\x15\xe3\x16\x52\x75\x8e\xa2\xb9\x27\xe1\xb5\x30\xaf\xd3\x28\xbc\x96\x81\x8d\xf7\x84\x4b\xbe\x00\x62\xe2\xc7\x27\x6d\xb8\xe4\x1b\xec\xca\x3f\x7d\xd2\x06\x8b\x3f\xe2\xc9\x63\x66\x40\x44\xa8\x24\xf8\xf7\xe1\x31\x45\x2b\x86\x44\x45\x84\x8b\xe3\x23\xc7\x98\xe8\x76\x1a\x1d\x52\x0c\x6e\x1c\x69\xad\xc7\x60\xe6\x8e\xf7\x77\x1a\x25\x39\x3e\x3d\x71\x14\x12\x6f\xf1\x34\x50\x12\x22\x6b\x81\x4a\x92\x5d\x9e\xc6\x4a\x82\x38\x76\xfc\xb0\xb5\x25\x5b\x31\xc2\xe3\x87\xce\xce\x95\xce\x31\x0d\x13\x1e\x8f\x7d\x9e\xc8\xa3\x87\x1d\x90\x6a\x0f\xc8\x5a\xa9\x22\x3e\x0a\x9c\xa6\x7a\x9c\xd0\x83\x83\x4c\x22\xff\x8f\xdb\xcc\xd2\x83\x26\x91\xff\xe3\xa3\x36\x3a\x1d\x68\x1c\xf9\x0f\x6a\x7f\x8a\x50\x07\x9a\x84\xfe\x77\xe0\x34\xe5\x2e\x5e\xe8\x3b\x3e\x69\x83\x75\x09\x87\x5d\x70\x5d\x22\xe2\x51\xc7\x6b\xbb\x04\xc5\x27\x47\x6d\xb8\x2e\x71\x91\xa1\x7c\x19\xe7\x63\x3c\x72\x87\x09\x23\xf0\x52\x95\x31\x07\x25\xb1\x92\x00\x92\xcc\x0f\xf4\x68\xf1\xc5\x22\x80\xf1\x4e\x88\xf8\xd3\xa3\x55\x24\x88\xf8\xa3\x23\x41\x87\x20\xe2\xcf\x8d\x32\x50\x96\xb2\xd2\x81\x73\x01\x05\x9e\x58\x85\xe1\x34\xba\x1f\x4f\xf3\xd1\x31\xb7\x1c\x21\x44\x12\x2a\xfb\x84\xab\x48\x08\x11\x4f\x13\xb6\xae\x3f\x25\x10\x22\x09\x93\xe5\x0a\xd2\x52\x65\x79\xb3\xec\xc8\xe1\xee\x48\xa7\x46\xd8\x8e\x8c\xdb\x80\x16\x80\x48\xf2\x3d\x9e\x9c\xa2\x0e\x14\x8e\x25\x0e\x16\x8b\x29\xe3\xa3\x88\x45\x70\xc0\x58\x52\x79\xfa\x28\x5a\x30\x06\x17\xcb\x2a\x31\x13\xe3\x70\xb1\xb4\xf2\xe8\x51\xb4\x78\x00\xb7\x6a\xaa\x55\x11\x30\x72\xf2\xd8\xb1\xb0\x71\x17\x1c\xe3\xc7\x63\xb2\x63\xa7\x1f\x82\x80\xcc\xb8\x0a\xdb\x63\xdc\xfe\x12\x04\x64\x56\xed\xc7\x14\x94\x9e\x7e\x0a\x02\x06\x7e\xfc\x10\x7d\x50\xe9\x97\xa4\x47\x10\x1c\x8d\x60\xa7\xf4\xd6\x7a\x02\x6c\x31\x6e\xe0\x44\x47\x27\xed\x39\x9a\x55\x95\x97\xf3\xb6\x03\x1a\xa3\xec\x23\xd0\x56\x62\xc4\xe3\x63\x6f\x71\x8b\x21\x31\x37\x82\xe7\xdc\x3c\x05\x7b\x18\x57\x08\x97\x79\x56\xa6\xc2\x3e\x32\x6c\x2e\xc4\x2d\xf3\xb2\x9e\x56\x4a\x2e\x63\x63\x0f\x29\x2d\x1e\xc8\xd4\xeb\x4a\x9b\x8e\x9c\xf9\x63\xef\xe5\xf0\x40\x1d\x69\xf3\x1d\x50\x1d\x99\xf3\x41\x00\xf4\x50\x5d\xc9\xf3\xde\x22\xec\xa1\xba\xf2\xe7\xbd\x5d\x6e\xa9\xa7\x53\x69\xf2\xb2\x3d\xab\x30\x52\x29\xaf\xe5\x8f\xba\x23\x0a\xfe\x38\x12\xdb\x18\x58\xfa\x91\x9b\xe0\xd2\x38\xf4\xc7\xdc\x01\xc0\xe0\xd2\x80\xf4\x48\x29\x60\x70\xe9\xa7\x8e\x99\x5f\xb0\x94\xd7\xeb\x98\xe5\x04\xa5\xc8\xde\xeb\xc8\xd4\xf4\xf7\x75\x91\x15\x72\xca\xbe\xfe\xa1\x33\xf9\xf9\x33\x05\x12\xf0\xb2\x4a\x4e\x02\xf3\x83\xf4\xf4\x63\x96\x13\xef\x61\x98\xe6\xe8\x72\x04\x4f\x8f\x53\x20\xa6\x38\x3a\xad\xea\xd1\x93\x14\x28\xd6\x1b\xe3\x73\xd0\x03\x75\xa4\x63\x79\x0d\xbf\x2b\x1d\xf0\x94\x45\x69\x74\xa6\x02\xb6\x01\x12\x71\xd8\x4e\x26\x06\x48\x96\xf0\xe1\xc3\x14\x20\x11\xe3\x8f\xd2\xfb\xdc\xfe\x06\x08\x7b\xda\x01\x31\xde\x0d\x12\xcf\xf4\xb4\x35\xd1\x96\xe9\xed\x51\xeb\x63\x5b\x96\xb7\x87\x8f\x39\x08\x3f\xb8\x30\xff\x01\x19\xfe\x49\x04\x91\xa0\xf4\xe1\x98\xf3\x94\xf4\xb4\x02\xa4\x82\xcd\xde\x73\xb0\xe4\xa0\x3a\xf6\xae\xe6\xe0\x04\x49\xcf\x28\x3b\x55\xe4\xec\xee\xf0\x5f\xc9\x42\x6d\xd0\xa7\x51\xc3\x38\xe2\x80\x91\x3a\x89\xb6\x68\x28\xd4\x70\x9c\x02\x8d\x63\xaa\x84\x0f\xf4\xec\xdc\x43\x1d\x6f\x53\x4d\x3d\xd4\xc3\xd8\xf4\x84\x5a\x54\x0b\x2a\x04\x1b\xb8\xc4\x9b\x27\x1c\xa6\x75\x78\x8c\x1f\x3f\x6a\x59\x2a\x22\x40\xe6\x6d\x7b\xdc\xb2\x7c\x44\x90\x6c\x9f\xb6\x4b\xb6\x44\x90\x6c\xb3\xb6\x2d\x20\x11\xe4\x49\x24\x42\x25\x56\x10\x0b\xd9\x3a\xe3\xc0\xe7\x83\x41\x00\x27\x8f\xbb\x00\x53\x7a\x3b\xe2\x4e\xce\x08\x32\x25\x3b\x58\xe3\xce\x97\xa7\xd4\x77\x92\xd2\x96\x87\x6c\x13\xa1\x37\x1d\xac\xe4\x4a\xae\xe5\xcd\x22\x5f\x25\x56\x1a\x38\xb4\x3d\x94\x92\xd3\xc5\xaa\x99\xcd\x62\x20\x74\xa4\x3e\x4a\x81\xd2\xfc\xa7\x6e\xa8\xf4\xf8\x89\xbc\xba\x1e\x2a\x3d\x7c\x1e\x71\x2b\x84\x87\x4a\x93\xa2\x9e\x72\x33\xc4\x4a\x55\x4d\x9b\xff\x79\x47\x76\xdb\xb8\x82\xf6\x3f\x7e\x3f\xcd\xea\x1f\x73\x83\x6e\x97\x49\xe5\x29\x77\xfe\x76\x59\x53\x1e\x71\x7f\x7c\x87\x21\x05\xbe\xc0\xdf\x2f\x9a\x20\x04\x01\x45\x9c\x42\xe2\xda\x98\xdd\x4f\xa7\xf8\x38\xda\x32\x45\xb3\x4c\x0b\x0e\x44\x02\xa1\x05\x48\xf3\xb8\x22\xbd\xc0\x02\xa4\x39\x5c\xc7\xd1\xbe\xd0\x37\x59\x52\xe7\x02\xad\x1a\x27\xfc\xa0\x4e\x04\x72\xfb\x19\xe0\x66\x3c\x89\x01\x18\x0b\xa3\x0c\x44\xf6\x2d\x89\x08\x6e\x51\x79\x12\x7f\x4c\x22\x7b\x1f\x53\xf6\x21\xfb\x9a\x58\xe8\x06\xdd\x26\x32\x4b\xa6\xe7\x1d\x3b\x10\x5b\xbb\x39\xbe\xd7\x52\x4a\xd9\xbd\x96\x3a\xca\xee\xb5\x14\x51\x7f\x4f\x9b\x75\x5c\x6e\x88\xb2\xce\xb9\x13\xc6\x03\x75\xa4\xf5\x05\x3b\xa1\x87\xea\xc8\xeb\x0b\xc6\x00\x0f\xd5\x91\xd8\x17\x32\xce\x3d\x54\x47\x66\x5f\x88\xb7\xaa\xf4\x5a\x46\x86\x9c\x53\x7f\x50\x1e\xb7\x60\xc6\x5c\xb9\xc0\x7a\x37\x8f\x5a\x40\x7e\xea\xa7\x8f\xc9\x29\x19\x16\xde\x03\x85\x68\xc3\x27\xa4\x68\xb6\x67\x14\x62\x38\x9f\xa2\x24\x12\x56\xdf\xc8\x2c\x2b\x54\x8c\xf4\x56\xf9\x99\xd4\xb0\xe9\xad\xfd\x5e\xd4\xe8\xb4\x69\x9e\x1c\x71\xfc\x74\x9a\x33\xed\xe9\xe0\xd5\xfb\x4e\x43\xa6\x3d\x69\x9e\xc4\xaf\x49\x78\xfc\xe9\x50\x3c\x7a\xec\x01\xca\x2c\x26\xa1\x63\xbb\x61\xc0\x98\xe8\xad\x19\xa9\x82\x79\x72\xea\x8e\xf2\xc7\x09\xc4\x98\x9f\xf6\x24\x5e\x3c\x4d\x60\xfc\x17\x3d\xf6\xb5\x35\x7c\x8c\x54\xab\xa0\xc1\xe9\x63\x2f\x5a\xa4\x30\x27\x5b\xa7\x63\x16\xaa\x88\x2b\x00\x91\x5e\xf0\x24\x81\x49\x9d\x7c\x9d\x40\xa9\xf3\xe1\x29\x37\x36\x3a\xa0\xd4\xed\xf0\x98\xfb\xc4\x1c\x50\x87\x27\x33\xb8\x31\x4c\xae\xca\x52\x46\x2c\xf0\xc9\xf1\x50\x78\x9f\x23\xde\xef\x10\x18\xbc\xbc\x80\x10\x1d\x82\x82\xb7\x5a\x23\x44\x87\x80\x10\x68\x02\x20\xda\x82\x41\xc0\xca\x46\x5b\xb6\xd7\xa8\x5a\x66\x6c\x66\xef\x4e\x60\x02\xbb\x06\x3e\x0b\x27\x6c\xfa\x2a\x56\xc5\xea\x09\x05\x93\x85\x6d\x9b\xda\xad\xc1\xb5\x31\x8e\x4e\xa0\xb6\xe5\xc3\x4e\xe5\x69\x74\x8c\x79\x18\x36\x69\x7b\x9e\x8e\xa3\x02\x05\x1e\x8a\x4d\x1b\x02\x4d\x23\xf7\xa1\x87\x7a\x18\x69\x78\x4f\x9e\x76\xbe\x30\xcc\xdc\x2e\xd4\x51\x6b\xe2\xb1\x05\xfd\xd8\x31\x13\x2f\x92\x77\xd4\xd9\x78\xfa\xa4\xe5\x35\xe8\xa8\xb1\xf1\xe4\x51\xcb\x65\xd0\x51\x5f\x03\x0c\x59\xb1\xa9\xad\x5d\x5b\x03\x17\x26\xb6\x6c\x77\x18\xf5\x3b\x26\x5f\xb6\xec\xde\x91\xeb\xde\xde\xef\x72\x4b\x47\x00\x1d\xee\xe8\xa0\x90\x59\x80\x0e\x37\x74\x50\xc7\x2c\x40\x97\xfb\xd9\x4b\xcc\x9b\xac\x61\x8f\x78\xbc\x2b\x03\x6a\xa5\x65\x74\x42\xb5\xd2\x33\x42\xd1\x0d\x06\xd5\x4a\xd3\x08\x31\xcd\x0c\xaa\x95\xae\xe1\xe3\xd8\x5b\xfe\x92\xc7\x3e\x10\xd7\x1f\xeb\x6d\x4f\xc9\xd3\xa7\x14\xa7\xc8\xe8\xa7\xe5\x23\xc1\x9a\xa2\xf1\x7e\x6d\x79\x47\xc0\x26\x74\x12\x89\x58\x6d\xbf\x08\xf8\xd6\x8f\x22\xca\xaf\x99\x27\x9c\xe2\x8b\x78\xf0\x49\x2d\x5b\x1e\xc1\x47\x2c\x4c\xbe\x96\xe9\xc9\x69\x5f\xe1\x75\x88\x5a\xa6\xc7\x66\x24\xf7\xd7\xb2\x6c\x5b\x3d\xbc\x40\x55\x2f\x72\x53\x17\xac\x22\xde\xa9\x2b\x63\xe2\xab\x8e\x12\x48\x6a\x6e\x8b\x74\x55\x82\x49\x2d\x8a\x91\xd4\x42\x30\xa9\x3d\x31\x72\x35\x11\x4c\x6a\x62\x8b\x76\x62\xad\x97\xb2\xd6\xd1\x6c\x9e\x3e\x65\xc7\x06\xde\x1f\xef\x02\x48\xc2\xa3\x8e\xd9\xb1\x82\x00\xf1\x44\xed\xd2\xfb\x53\x05\x01\x92\xc0\xa8\x13\x76\xaa\xb4\x4c\x01\xa7\x3e\xda\xf1\xa8\x05\x13\xed\xb0\xb8\xb4\x63\x5b\xff\x3f\x6a\x15\x76\x6c\x6b\xfe\x47\xad\xb2\x8e\x6d\x9d\xff\xa8\x55\xd5\x31\xae\xf6\x13\x44\xb4\xf0\xa6\xb6\x3d\xc0\x32\x4a\xb0\xe1\x78\x16\xb8\xc1\x14\x00\x6e\x45\xcf\xe6\x36\x58\x01\x20\x7a\xfb\xa4\x05\x94\x58\xca\xa2\xe4\x80\x0d\xba\xbf\xfd\x32\x9f\x47\x72\xb3\x50\x32\x7c\xd7\x49\x30\x16\x3f\xe5\x00\x69\xf8\xc6\x98\x47\x2d\x03\x44\x4a\xdd\x10\x7d\x7d\xc2\x21\x52\xda\x3e\xe5\x1f\x0d\x10\x29\x65\x9f\x72\x1e\xd8\x55\x03\x26\x22\x07\x00\x30\x4b\x7d\xd5\x55\x5c\xd7\x4b\x56\x9b\xfc\xaf\x47\xd1\xfd\x0e\xc7\x6b\x0c\xd0\xe1\x71\x8d\x01\x3a\x5c\xad\x31\x40\x87\x8f\x35\x06\x48\x8c\x7d\xdc\xb8\x7c\xe7\xc3\x67\x77\x0e\x0f\xc5\x9b\xaf\xbf\xfb\xf6\xf9\x0b\xf1\xe5\xcb\x57\x2f\x9e\x89\x22\x9f\x64\xba\x3e\xfc\xd1\x1c\x16\xf9\xe4\xdd\x6c\xf4\xa3\xb1\x20\xcf\xf5\x6a\x5d\xe5\xf3\x45\x2d\xfa\xd3\x81\x3d\x09\x8f\xb1\x5f\xfe\xa2\xd2\xcb\xbc\x59\x8a\xaf\xdf\x88\xf3\xa6\x5e\xe8\xca\x8c\xc4\x79\x51\x08\x80\x35\xa2\x52\x46\x55\xd7\x2a\x1b\xd9\x31\xbe\x33\xa1\x4f\xba\xd1\x4d\x35\x55\x62\xaa\x33\x25\x72\x23\xe6\xfa\x5a\x55\x25\xb6\xd1\x96\xe2\x4f\x6f\xbe\x38\x30\xf5\xba\x50\xa2\xc8\xa7\xaa\x34\x4a\xd4\x0b\x59\x43\xcb\xef\x89\xb2\x23\xcd\x74\x53\x42\x47\xd4\x7a\xa1\xc4\xab\x97\xcf\x5f\xbc\x7e\xf3\x82\x2a\x72\xdf\xe9\x35\x06\x3b\x69\x4d\xeb\x5e\x28\xef\xfd\xe7\x4a\x4e\xc4\x44\xce\xed\x04\x9a\x3a\x2f\xf2\x7a\xed\x5b\x45\xb1\x0a\xe2\x33\x71\x26\x7e\xe6\x6d\xbd\x2a\x25\x6b\x25\xa4\x68\xca\xfc\xa7\x46\x09\x55\x36\xcb\xb8\x7b\xd7\xff\x35\xcd\x6a\x55\x29\x63\xc4\xcf\x45\x5e\xd6\xcf\x17\x6a\x7a\x65\x3e\x6c\x6c\x87\x75\x2e\x16\xcd\x52\x96\x62\x56\xe5\xaa\xcc\x8a\x35\x5e\x9d\x41\x5b\xcb\x49\x33\x9f\x53\xa7\xc5\xd0\x18\xeb\xeb\xc9\x8f\x6a\x5a\x7f\x10\xe7\xd1\x14\x00\x1f\x37\xba\xec\xd5\xd0\x77\x4e\x56\x4a\xa8\x9f\x1a\x59\x08\x68\x4c\xb7\xae\x17\x79\x39\x87\x1e\x6b\xec\xd3\x46\x53\xf8\x98\x17\xf6\xf9\xce\x3e\x59\x87\x87\xe2\x7b\x25\x2c\xfa\xa4\xc0\x16\xa2\x42\xc3\xdb\x85\x34\xa2\xd4\x61\x50\x61\x16\xd0\x31\x73\x62\xa1\xa9\xdf\xf9\x52\x1c\x1c\x88\x1b\x25\x6e\x64\x59\x43\xd7\x68\x3b\x9c\x5b\x8a\x72\x2e\x56\x55\xbe\xcc\xeb\xfc\x5a\x19\xea\xb0\x59\xac\x47\x42\xfc\xa9\xa9\xe9\xc3\x55\x65\xb0\xc5\x5d\x5e\x4e\x8b\x26\x53\x42\x37\xd8\x32\x6c\xc4\xfa\x52\xa9\x1b\x9a\x18\xce\x3a\xea\x51\xf5\x2d\x36\xc8\x12\xd7\xb2\xca\xe5\xa4\x50\xa2\x52\x33\x55\xa9\x72\x0a\x3d\xb9\x85\x64\x7d\x2c\x2d\xf8\x7f\x11\x18\x76\x5e\xd3\xd8\x49\x6d\xa6\xab\xa5\xf8\xb7\x2f\xbf\x7b\xfd\xfc\xed\xcb\xaf\x5f\xf7\xff\xeb\xfc\xdb\xd7\xe7\x5f\xbd\x18\x8c\x84\x70\xd7\x2c\xb1\xca\x52\xe8\x95\xc5\x9d\x2c\xec\x48\xca\x4c\xe5\x4a\x85\xf6\xb3\x76\x09\x56\xab\x62\xed\x6a\xc7\x47\xe4\xf2\xa5\xae\x84\xba\x95\xcb\x55\xa1\xb0\x71\x2e\x2e\x0d\x75\xf7\xfa\x2f\x59\x99\xfe\xbd\x7f\xeb\xdb\x2d\x5b\xe7\xe5\x7c\x30\x14\xff\xa6\x4a\xbb\x49\xbe\xfb\xf6\xe5\x73\xd7\x60\x10\x3f\xde\x6e\xf1\xfb\x9d\xad\x61\x7f\x16\xee\xf9\x67\xe2\xde\xbf\x5b\x1e\xb0\x19\x16\x9b\x8c\x3d\x13\xf7\xfe\xac\xf5\xbc\x50\x0f\xee\x61\x33\x6a\x98\xeb\xf7\x76\x39\x2a\x65\x9a\xa2\xb6\x18\xc4\xa1\x86\x02\x21\xff\xed\xf8\x4f\xf7\x38\x71\xb1\x2f\xe0\xd4\x65\xea\x6a\x68\x97\xc4\x20\x89\xd1\x42\x9a\xba\x0a\x0d\xcd\xfe\xad\x7f\x21\x0f\xfe\x7a\x79\x7f\xf0\x43\xbf\x7f\xf1\x97\x1f\x06\x97\x0f\x06\x3f\x0c\x0e\xe7\x39\x6b\xb0\x0d\x2d\x01\x87\x62\x56\xc2\x58\x81\x62\x5d\x3f\xc0\x7a\xbd\x52\x7a\x06\xef\xb9\x20\x80\x4b\x71\x76\x26\x7a\x4d\x09\xdd\x62\x55\xd6\x1b\xf8\x76\xba\xd0\x70\x59\xf4\xbe\xc3\x56\x79\x9e\x5e\xb0\xd3\x1f\x3d\x4d\x8d\xb4\xb1\x39\x61\x05\x7d\xf9\xf9\xd8\xfe\xb6\x7d\xf9\xac\x74\xcd\xd7\x22\x2c\x8c\x3c\x7b\x89\x9a\x82\x5f\x53\x47\x82\x0d\xb0\x17\xb3\xf2\xb2\x5f\x5d\xfb\xb6\x85\xd4\x29\x11\xdf\xc3\x07\x4a\xbe\x22\x21\x42\xfc\x98\x59\xe9\x87\xb9\x13\xb7\x41\xac\xae\xa9\x0b\x62\xbc\x87\xbe\x74\xd3\xe0\x0c\xd7\xee\x62\x6a\x21\xcd\xa7\x4c\x44\xf2\xbc\xc8\x55\x59\x1b\x80\x95\x59\x86\x44\xef\x7a\x0c\xd6\x5a\xa8\xdb\x5a\x95\x59\x07\x99\x0f\x36\x50\x4f\xc0\x05\xf5\x50\xf0\x1b\xe0\x59\xf8\x75\xc8\xaf\xfb\x8d\xf1\xac\xe3\x1a\x40\x02\x72\xfe\xfd\xed\x57\xaf\x9e\x45\x94\xc9\xdb\x5e\x2e\xe5\x8a\xde\x07\x8d\x2d\xfe\xd0\x7b\x26\x7a\x9f\x16\xf5\x67\xd4\xe9\x42\x88\xde\xe7\x70\x69\xce\x2f\x7d\x0a\x97\xe4\x72\xc5\xae\xdd\x83\x6b\x3f\x35\x9a\x01\xde\xeb\xdd\xb3\x17\xff\xcf\xc3\xa7\x9f\xf5\x10\xef\x71\xa7\xf6\x68\x3f\x5c\xfc\xe1\xf3\x4f\x7f\xb8\xf7\x43\xef\xf2\x70\xce\xb7\xc0\x40\xfc\xec\xc0\x97\x72\x75\xb1\xbc\xa4\xb6\xf1\x1f\xf8\x02\xfe\x59\xd5\xc0\x73\x5c\x87\x47\x39\x9d\xaa\x55\xad\x32\xf1\xdd\x4b\x51\xc8\x72\xde\xc8\x79\x68\x54\xee\x0e\x28\xff\x0e\xec\x06\xfd\x41\x4c\x65\x51\x4c\xe4\xf4\xca\xd3\x83\x5d\xc8\xbc\xbc\xd6\x57\x0a\xe9\xc0\xbe\x02\x19\x83\x19\x09\x2b\x08\x38\xf6\x02\x23\xaa\x5a\x55\xc0\x27\xfd\x34\x0a\x0d\xcd\x50\xec\xde\xe1\x87\xed\x68\xae\xea\x73\x98\xe1\x2b\x37\xb7\xa8\x79\x29\x4d\x23\x74\x71\xdc\xf4\xd4\x68\x6a\xe5\x10\xf5\xa6\x59\xad\x74\x55\xab\xac\xef\x3b\x9a\xe2\x8d\x51\x3e\x7e\x52\x76\x3c\x17\x5e\xf1\x59\xda\x95\xd4\xa8\xfa\x6d\xbe\x54\xba\xa9\xfb\x7e\x42\x7c\xff\xb9\x27\xfb\x17\xa5\xbc\xce\xe7\xb2\xd6\xd5\xc8\x61\x38\xac\xe5\x01\xb4\x6a\x7c\xd7\x1b\x5c\x86\x1d\x6d\xe5\xb3\xb0\x70\xfb\x7e\x12\x47\x4c\xc4\x4b\x6f\xf2\x32\xd3\x37\x04\x2e\x3e\xfd\x94\x7f\x72\xb4\xb9\xbf\x91\x15\x1c\xed\x3f\x35\xaa\x5a\xbb\x63\x99\xba\x93\x2e\xa4\x59\x44\x2d\x42\x6b\x79\x65\x8f\x46\xd1\x54\x45\xfa\x40\x38\x29\x7b\x76\x41\xc7\x67\x70\xc0\x7d\x6a\x7f\x3f\xc6\xdf\x7b\x42\x96\x99\x1d\x6a\xea\x7a\xeb\xb3\xfe\xdc\x24\x52\xf0\x13\xf7\x67\xa0\x8c\xf1\x33\xd1\xc3\xc7\x87\xf0\xf7\xb1\xff\x5b\x7c\x18\x51\x63\x7d\x49\xad\xf5\x41\x6a\x92\xab\x95\xb2\xc7\xcd\xb2\x29\xea\x7c\x55\x28\x51\xe7\x4b\x3c\xec\xed\xc8\x7c\xd6\x43\xa1\x4b\x7b\x20\x23\xa1\x16\xd2\xd4\xd4\xf9\x1b\x24\x0e\x1c\xc7\x3d\x87\x74\x9d\x34\x67\x2d\x33\xd7\xdf\xde\x4a\x0b\x2b\x69\x2c\x4b\xb4\x2c\xb8\x99\x2f\x44\xa6\x52\xa6\x23\x26\x6a\xa6\x2b\x25\x26\xca\xa2\x4c\x66\x99\x02\x74\x90\x40\x40\x47\x2a\x22\x62\x53\xf3\x54\x98\x3e\x49\x61\xd8\x7e\xb3\xa2\x7e\x34\xd0\xf1\x18\xbb\xbf\xe6\xb5\xc0\x66\xbe\xb8\x2d\xa5\xdb\x86\x85\x92\xd0\xbd\xa6\xf7\xc7\x1e\x76\x11\xee\xfd\xb1\xe7\x1b\x08\xe7\xf3\x52\x57\xbc\xbb\xf9\x6c\x04\x43\xfe\x27\x20\x8c\x91\x19\x9b\x42\xd8\x82\xec\x62\xd4\x48\xf8\x8f\xae\xcd\x39\x9f\xf8\x99\x88\xc0\x9b\x89\xa9\x2b\xe8\xc9\x7b\x87\x9d\xac\x3f\x7f\xf0\x7f\xaf\x64\x0e\xe2\x43\xf4\xd4\xaa\xc8\xeb\x7e\xef\x53\xec\x77\xda\xd5\x47\x1a\x9e\xea\xea\x52\xef\x86\x14\x67\x08\x73\x91\x5f\xba\xe1\xce\x7a\xb4\x21\xab\xeb\x8b\xf6\xfa\xf5\x2d\xf8\xc5\xd1\xe5\xe0\x52\x9c\x75\x2c\x2f\xde\x1e\x5f\xb6\x3a\x4b\xdb\x63\x35\xda\xd4\xdf\x7d\xfb\x8a\x63\x74\x25\xeb\x45\x07\x37\xfb\xee\xdb\x57\x1d\x1c\x8c\x1f\x10\xb4\xa7\xab\xa6\xb4\x34\x4e\xcf\xe0\x70\xbc\x71\xab\xbd\xd0\x9e\xc1\xaf\x66\x25\xf4\xda\xf6\x15\x7a\x41\xdc\x09\xb9\x90\xcb\x95\xdf\xa8\x79\x59\xab\xb9\xaa\x40\x28\x16\x66\xa5\xa6\xf9\x2c\x57\x99\x80\xe0\x9b\x94\xf4\x09\xf6\x83\xb8\x06\x8a\xc7\x1d\x5a\x6b\x4b\xb3\x53\x3b\x28\xd2\x6c\x1b\x7c\x99\x97\xf0\xc0\x32\x2f\xf3\x65\xb3\xa4\x43\x0f\x74\x00\x2f\x7b\x77\x3c\x25\x6f\xf1\x29\x79\xbb\xf1\x29\xaf\x39\xc1\x37\x31\xb4\x5d\x0f\xed\xdb\x86\xf6\xe1\xb0\x9e\xd7\xe2\x0f\xf6\x6a\xb4\x70\xcb\xbc\xfc\xcc\xdf\xfe\x1c\xe0\xa3\xdb\xf2\x96\x75\x95\xbe\x8e\x10\xf9\x4a\xcd\x6a\xb1\x92\x99\x90\xa2\x6c\x96\x13\x87\x44\xc4\x2b\x35\xd3\x87\x6d\xef\x76\xfb\x5f\x55\xa5\x5b\x87\x3b\xf2\x8d\xf7\xfe\xb3\x69\x28\xfb\xe5\x61\xd4\x95\xdc\x80\x5a\x7a\x8d\x85\xce\x94\xc9\x2b\x95\xd1\xa5\xcd\xdd\x9b\x57\xc0\xee\xdc\xe0\xd2\x44\x9a\x97\x43\xe8\x5f\xed\x77\x71\x25\x14\xa0\x87\x34\x78\x44\x94\x4e\xe1\x03\x88\xc1\x68\x25\xb3\x37\x96\xed\xf4\x11\x74\x28\x7a\x47\xbd\x54\x11\xc4\x4e\xdf\x8e\x65\x4e\x75\x59\xcb\xbc\x04\x4e\xec\x8e\x0f\x9c\x9c\x6b\xb3\x2d\xa6\x0b\x59\xc9\x69\xad\x82\x58\x0b\x87\xe0\x52\xd5\x0b\x9d\x89\xa5\xcc\x61\x04\xfc\x14\x59\xe7\x53\x31\x95\xd3\x85\xd7\x1a\x0b\x59\xcd\x95\xa9\x85\x5c\xea\xa6\x84\x93\x0d\x4d\x48\x76\x68\x50\x10\xaf\x55\x25\x2a\xf5\x53\xa3\x4c\x0d\x7d\xde\x5f\xd6\xa4\x41\x5b\xfd\xdd\x09\xd8\xb5\x16\x73\x55\xaa\x0a\xec\x0d\x76\xe3\x18\x59\xaa\x62\x2d\x16\xcd\x5c\x85\xa1\xa1\x13\xbc\x1f\x7d\xe3\x0e\xea\x58\xb7\xae\xd9\x8d\xba\x4e\x9e\x73\x87\xb8\xd0\x85\x9c\x3e\xd4\x7f\x03\x23\x02\x26\xca\x7d\xef\xc7\xe5\x4b\xcb\x97\x14\xb8\x1e\x4e\xed\x0f\x67\xe2\x28\xda\x0a\xbd\x9e\x3f\x06\x66\xe2\x0c\x94\x88\x78\x50\xb7\x8f\xee\xce\x46\xe1\x0b\x70\x08\x7e\x45\x9c\x89\x5e\xd0\x6e\x71\xd0\x9b\x45\x5e\x28\xff\xea\xcf\x23\xf8\x11\x9f\x60\x32\xd4\x83\xb3\xe8\xef\x94\xdd\x47\xc3\xd0\xe9\x76\xe4\x89\x18\x89\x52\x10\x55\xbe\x28\x4d\x53\x91\x21\x4b\x06\x63\x41\x6e\x40\x92\x24\x05\x0b\xec\x14\x53\x55\x59\x6a\x03\x69\x46\x14\xf9\x32\xf7\x32\xc2\x9b\x7c\x69\xc5\x9c\xc6\xc8\xb9\x12\x85\xd6\x57\x56\xcd\xba\x52\x88\xab\x91\x83\x02\x5d\xab\x52\xf3\xdc\xd4\xaa\x7a\x59\xe6\x35\x1d\x34\xb2\x90\xd5\xb2\xaf\x4b\x7b\x69\xe0\x95\x7c\x20\x74\x10\x0d\x0a\x6d\x37\xc8\x8d\xac\x4a\xd6\xf8\x8e\xba\xe3\x5b\xc4\xe3\x93\xfd\x81\x9d\x73\xa9\x6b\x52\x08\xdc\xc4\xed\x58\x8f\x84\x51\x53\x5d\x66\x7e\x17\xbd\x9c\x89\xb5\x6e\x7a\x56\x64\x52\x95\x15\xf5\xec\xc8\xc6\x1e\x2e\x7a\x65\x29\x1d\x54\x0b\x8b\x91\xa5\x5c\x83\xc8\x29\x0a\x5d\xc2\x71\xb1\x90\x65\x18\xce\x0e\x02\xe2\xa4\x2c\x41\xf6\x12\x52\x64\x0d\x3d\x9e\x5b\x1e\x5b\x14\xb9\x03\x95\x06\xe6\xed\x0c\x34\x34\x44\x50\x4c\xe2\xa9\xb9\xe1\x9c\x70\x9b\xa9\xb2\xb6\x27\x94\x95\x06\x4d\xad\x24\xb4\xe2\x97\x41\x21\x72\xeb\x36\x84\xef\x2a\x0a\x31\x57\x35\x8a\x5d\x37\x95\x15\x23\x2b\xb7\x87\x75\x25\x2a\x59\x2f\xdc\xa7\x48\x61\xf2\x72\x5e\x28\x07\x36\x12\xe2\x85\x9c\x2e\x60\x60\x42\xb5\x1d\x24\x3c\x7c\x83\xb6\x17\xe2\x64\xf8\x54\x26\xae\x55\x65\xec\x47\xd3\x7e\xf4\xd3\xba\x81\x1d\x5e\x6b\x3b\x86\x14\x66\x21\xe1\x4f\x54\x5f\x40\x41\xcb\x8d\x5d\x35\x2b\x3c\x4d\xa5\x51\x46\xdc\x2c\x54\xa5\x00\x01\x64\xaf\x13\x8a\xd3\x67\x6d\xcf\x14\x53\xdb\xe1\x74\xa9\x10\x07\x46\x01\xf3\x70\xef\x84\x01\x1d\x09\x90\xb8\x2b\xdd\x3b\x85\xba\x5d\xe5\x55\xd0\x34\x71\x5b\x03\x01\x7a\xf3\x07\x92\x63\x6f\xa6\xea\xe9\x82\x64\x61\x90\xc9\xbc\x51\x4c\xeb\x11\xdc\x44\x0b\x68\xdf\x91\xef\x9b\x66\x3a\x55\xc6\x0c\x86\xc2\x5d\xf9\x52\xe6\x45\x53\xa9\x40\xd3\x2d\xc5\xf6\x3e\x57\x6a\x2d\x53\xe4\xc6\x3a\x8b\x5c\xb0\x10\x96\x38\x62\x7a\x12\x7e\xb0\xc4\xf4\x6e\x69\xc4\xd7\x8e\xa6\xc2\xf1\x11\x91\x9e\x1d\x4b\xe6\x5e\xf8\xaf\x64\x6e\x17\xdd\xc9\xe4\x7e\x78\x21\xbe\x50\x33\x09\x46\x35\x23\x1e\x1d\x1d\x1d\x89\xbe\xa7\xf4\x41\x7c\xae\xba\x69\x7e\xb0\xe4\xea\x3f\x00\x54\xeb\xf0\x05\x0b\xe5\x14\x17\x14\x22\x82\x62\x33\xf1\x7a\xb9\xbd\xef\x88\xc8\x8d\x83\x2a\x44\x3c\xaa\xd3\x32\x36\x8e\xe9\x06\x9c\xa8\x78\x0e\xb2\xf6\xa7\x97\x01\x3b\x6d\xfa\xb6\x48\xef\x77\x94\xd0\x52\xf5\x87\x84\x6b\xe4\xc6\x60\x97\xb1\xfa\x00\x2d\xc0\xfb\xf7\xe2\x91\xb8\x2f\xc6\x47\x47\x47\x9f\xd1\x6d\x53\xdb\xb9\x3b\x9a\x9a\xab\xfa\x8d\xbd\xe0\x74\x0c\x9a\x7e\x5b\x83\x87\x3e\xad\xb9\x11\xba\xa9\x55\xd5\xc5\x8d\xf3\xe5\x52\x65\xb9\xac\x15\x98\xa9\x5f\xd6\x3d\x23\x60\xcb\xd4\x5a\x4c\xe5\xaa\x6e\x80\xda\x4b\x75\xe3\x46\x33\x53\xbd\x42\x3b\xbe\x45\x9b\xdb\x06\xce\xb6\x38\x8a\xba\xc3\xf6\xe8\x76\x2f\xd8\xaa\x73\xe3\x76\xed\x64\x8d\xf6\x33\x37\x44\xe0\x38\x56\x09\x05\x3e\x81\x23\x85\xcd\x4f\x2c\xc5\xab\x3c\xee\xd1\xb3\x1d\x46\x0c\x0b\x0b\x8a\xf4\x99\xb7\xa0\xfa\x41\xcf\xce\x44\x0f\x89\xa1\x37\x10\x7f\x44\xb0\x67\x81\x74\xd0\x46\x1a\x0c\xc8\xe2\x0c\xff\xf3\x47\xd1\xef\xa1\xed\x11\x8d\xb4\xcf\xe0\x58\x27\x8b\x09\x1e\x25\x23\x7b\xc2\xf4\x7b\x8c\x10\x9e\x25\x6c\x23\xc3\x11\xfa\x4b\x23\x0e\x61\xb1\x07\xe2\x81\xe8\x19\x3f\x6a\x3a\x60\xa1\xe7\x7d\xa0\x03\x7f\x27\x60\xa0\x6c\x8a\x82\x4c\x9d\x43\xb1\x34\x03\xb2\xbb\xd9\x4f\x27\xbc\xfd\xd9\xf3\xdc\x8d\xa6\x27\x26\xa5\x74\xda\x82\xc0\x04\x8d\xaf\xe4\x97\x85\x98\x16\x4a\x56\x6e\x05\x1c\xc4\x67\x0c\xa0\x6b\xa2\x91\xbd\x36\x68\x80\x0e\xf5\xe0\x5b\xe8\x5b\xf0\xa1\x90\xd5\xbc\x59\xaa\xb2\x36\xc1\xba\x14\x99\x17\x99\x6d\xbc\x73\x65\xe3\x6f\x4b\x11\x12\xdb\x28\xd3\xbb\x89\xed\x6c\xd0\xef\x94\xc2\x6b\xde\xd1\xd7\x1e\x76\xb8\x61\xe5\xcc\xee\x3b\x73\x95\xaf\x56\xdd\x72\xf9\xac\x72\xb6\xc2\x54\x1a\x87\x63\xa7\x56\x65\x86\x32\xb3\x13\x9f\x23\x17\x1a\x98\x7b\x50\xd0\xc6\xd9\x1b\x21\x41\x42\xc1\xb3\x24\x3a\xdc\x4b\x01\x66\xcf\xa1\x98\xa8\xa9\x6c\xc0\xd7\x18\xc4\x1e\x44\x94\x95\x08\x8c\x90\x16\xcc\x88\xc9\xda\x0e\x94\x11\x0b\xc7\x4d\x29\x2d\x7f\xb0\x32\xd1\x0d\xf8\xe5\xd0\x0b\xe6\x26\x7f\x2e\xea\xf5\x2a\x9f\xca\x02\x11\xb0\x04\x2f\xaa\x95\xde\x40\x78\x63\x72\x5b\x4c\xd1\xbd\x37\xda\x7e\xb1\xfd\x9a\x9b\x7c\x7a\x05\xf6\x26\x2b\xaa\xc9\xb5\x98\xca\xa5\xea\x0d\x53\x9e\x37\x70\xa7\xa7\xe5\x0e\x9b\xfe\xf7\x5a\xd7\xf9\xd4\x7d\xe3\x72\x29\xc5\x5f\x22\x39\x10\xdc\x7a\xab\x2a\x2f\xd1\x8c\xbc\x54\x06\x64\x4d\x12\x06\x7f\x34\x6e\x86\x43\x31\xd3\x45\xa1\x6f\xc8\x63\xeb\xac\x7a\xa4\x9d\x80\x60\x53\xa2\xde\x4e\x53\xd7\xa2\x52\xd7\x4a\x16\xd4\x4d\xd9\x12\x72\x72\x58\xe3\xda\xe3\x61\x8b\x26\xaa\x2f\x81\x06\x80\x65\xea\xf6\xd1\x8b\x84\x84\x74\x42\xa2\x0f\x90\x3c\x3c\x8a\x56\x69\x21\xa7\x75\x23\x0b\xd1\x73\x38\xea\xe1\x12\xd8\xa3\xae\xb8\xb1\x8b\xd9\x61\x0b\x73\xb0\x9c\x1d\xa4\x73\x0a\xc7\x53\x34\xd3\xb3\xf6\xe4\xff\xd8\xbe\xf4\x40\x1c\x8b\x67\xe2\xd8\x6b\x3b\xf0\x21\x40\x83\x70\xa9\xae\xd6\xc4\x43\xd0\xc5\x63\x0f\xd3\x17\x55\xa5\xab\x3e\x19\xa9\xa7\xd2\x4a\x4c\x7d\x75\xeb\x78\x4d\x18\x40\x9c\x09\x75\x3b\x42\xf4\x92\xa1\xeb\x87\xb2\x17\xcc\x54\xfe\x75\xb4\x0f\xd0\xf8\x96\x58\xd5\xf8\x64\xd1\xc0\x16\x5e\xd0\x65\x65\x63\x03\x5e\xe4\xe2\x20\x7a\xfe\xd2\x1e\x42\xfe\xe9\x8b\xfc\x32\x98\xc6\xff\xf2\x83\xb9\x2f\xeb\x1f\xcc\x83\xc3\xa1\xe8\xf5\x5a\xa6\x34\x36\x6a\xc4\x57\xbe\xc8\xaf\xf3\x4c\xa1\x90\x5f\xdf\x68\x22\x08\x34\xd1\xce\x0a\xad\x2b\xc3\xbd\x13\x43\xd1\x94\x85\x32\xee\x9a\xd5\xe4\x33\x74\x4e\xd8\xab\x60\x93\x05\xf1\xdc\xea\x11\xd3\x4a\x65\xd0\x61\xdc\x2c\x2d\x91\x80\xcc\x33\xb4\x82\xa1\xa3\x68\xa3\x44\x1e\x18\x0a\x6c\x21\x95\x17\xce\x63\xef\x84\xec\xc6\xa8\x59\x53\x58\x09\x1b\xb9\x9f\x33\x84\x58\xe1\xa1\x6a\xca\xa9\xb4\xfa\xb3\x5c\xad\x2a\x7d\x9b\x2f\x25\x3a\xba\xc0\x45\x62\x15\x1f\x3b\x10\x1a\x9a\xf1\xbc\x37\x5a\x64\xda\xb2\x80\x2c\xbf\xce\x41\xf4\x77\xfe\x17\xa3\xfc\xa7\xaf\x73\x55\x58\xcd\x27\xf8\x6a\xdd\xa7\x80\xd2\x54\x68\xa3\xd0\x74\x74\xb3\xb0\x3c\x0d\x1f\xdb\xb4\xfd\xca\x66\x89\xfc\xbd\xeb\x66\xa6\x4a\xbd\xcc\x4b\x7f\xdb\xc9\xa9\x74\x9f\xed\x22\xb3\x94\x55\xfd\xa5\x5d\x0f\x5c\xb0\xc4\xd8\x83\xaf\x18\x0a\x3e\x62\xd8\x54\xd7\xb2\x80\x13\x91\xc0\xc4\x21\x07\x73\x92\x1f\xe1\x5e\x9c\x89\xaf\x64\xbd\x18\xd9\x3f\xfb\xd7\xb2\x18\x38\x33\x81\xbb\x7f\x00\xc3\xfd\x41\x8c\x8e\x8e\x8e\xc6\x8e\x66\xdd\xa1\x8a\x30\x2d\xe7\x0f\xdd\x86\x81\x81\xa8\xfc\xc8\x2d\x6f\x9b\x14\x95\x2c\x33\xbd\xf4\x96\x4e\xd0\xe1\xc1\xbe\x29\xfa\x10\xcb\x60\xf2\x6b\x35\xd8\x84\x6e\x67\xbb\xb4\xbc\xd4\xd4\x7c\x10\xa0\x58\x67\x26\x6d\x3f\x47\xd6\xcb\x45\x3e\x5f\x6c\x7f\x30\x59\x23\x71\xee\x26\x4c\x84\x39\x51\xf5\x8d\x52\x60\xa9\x14\x9f\xda\x71\x23\xbf\x2c\x80\xbe\x2c\x6b\xbe\x7e\xb1\xe5\xb3\x8d\x2b\xf8\x15\x9f\xec\x0f\xc4\x7d\xd1\xb7\x93\x3d\x80\x17\x3c\x10\xe3\x81\x95\xe6\xc0\x2c\xba\x33\xf8\x88\x8e\x9f\x77\x4b\x59\xca\xb9\xaa\xfe\x45\x42\x91\xbe\xc2\xaf\xfa\x0a\x3f\x4a\x4c\x0b\x69\x8c\x58\xc8\x32\x2b\x14\x8a\x36\x55\x29\xf1\xb4\xcb\xff\xaa\x32\x12\x41\xbc\x28\xf4\x5a\xd7\xea\x19\xf7\xf1\x89\xdc\x94\xbd\x5a\x98\x66\x36\xcb\xa7\x39\x3a\x9f\x40\x90\x41\xc9\x02\x0e\xc5\xf1\xc8\xa2\xa8\x52\x3d\xcb\x25\x26\x0d\x78\xf1\xc8\xca\x4f\xe6\x97\x2b\x05\x4e\xba\xa6\x94\xd7\x32\x2f\x50\x27\x29\x45\x8e\xc7\xeb\x33\x16\x3d\xb2\xa8\xeb\x95\x79\x76\x78\x38\xad\x26\xcd\x7c\x34\xd5\xcb\xc3\xf1\xc3\xa3\xe3\xa3\x23\x07\x72\x0c\xaf\xb2\x07\x3f\x88\x7c\x16\xa9\x4b\xb9\x06\xe1\x68\xa2\xc4\x4a\x4e\xaf\xe4\x5c\x65\xb8\x4b\x9e\xe3\x14\x20\x44\xc0\x32\x37\x3f\xdf\x87\xdd\x83\xc0\x00\x15\x3a\xb6\x2d\xa9\x54\xb2\x5a\x27\x43\xd6\x8b\xbc\xca\x0e\x2c\xd4\x9a\x4d\xba\xeb\x45\x7c\x57\xc1\xe9\xf4\x21\x78\xc8\xc5\x2b\xe7\xb8\xf6\x57\x6a\x2d\x0a\x2d\xb3\xa1\x5b\x6a\x5d\x65\x60\xdc\x51\xfe\x3d\x21\x28\xca\x02\x82\xa1\xf7\xb5\xba\x51\x95\x93\xa2\x8c\x0b\x9f\x10\xba\xb0\xcf\xea\x52\x99\x91\x10\x3d\x55\xf6\x44\x6e\xbc\x99\xa0\x81\xb8\x57\x2b\x2f\x16\x6b\x74\x1d\x3a\x9b\xd6\x2c\xaf\x4c\xed\xa7\x64\x99\x5c\x5e\x3b\x63\x9c\x2c\x2a\x25\xb3\xb5\x58\x59\x32\x47\xd9\x13\xf7\x70\x42\x6d\xdc\x30\xeb\xbe\x0d\xf7\x31\x18\x11\xfd\xb5\x77\x56\xa7\xf6\xbe\xe8\xa5\x5c\xf5\x49\x57\xf0\x8f\xab\x82\x45\x24\xa8\xa2\xc3\xe7\x0d\x01\x0a\xc4\x8d\x93\xd1\x47\xf6\x1c\xbe\xfd\x7a\xd6\xb7\x5f\x3f\xb0\x3a\xc9\xc1\x78\x40\x42\x4f\x0c\xd8\x94\x66\x91\xcf\x6a\x04\x44\x01\xc9\x42\x78\x9c\xa2\x08\xc3\x98\xf2\x79\x96\x79\xb9\x15\x82\x7f\x72\x8a\x68\xd1\x91\x48\xeb\x78\x4a\x87\xd3\x3b\xf5\x51\x1b\x0a\xd1\x5b\x4a\x22\x3d\x22\x27\x37\x87\xd1\x8f\x46\x97\xb8\xe7\x85\x78\xa3\xc0\xe8\xf2\x07\xb7\x4f\x32\x75\xad\x0a\x6d\xf5\x73\xda\xb3\x76\xcb\x78\x42\x34\x87\x76\x0b\x1f\xb8\x91\x3e\xdf\xb4\x6e\xa3\x55\xa5\x6b\x6d\x55\xb9\x91\xcc\xb2\xaf\xc2\xc7\xfb\xe5\xc8\xd4\x8c\x16\xd2\x0b\x73\x57\x6a\x6d\xa9\x35\xdc\xc1\x83\x33\x53\x33\xf0\x6a\xce\xcc\xc5\x95\x5a\x5f\x32\x55\xf1\x6e\xa6\x66\x23\x58\xc5\x05\x90\x28\x8b\x5c\x8a\x90\x0e\xcf\xe1\x18\xee\x1a\xe9\xd8\xfc\x10\x05\x3d\xc4\x45\xe5\xdd\xfb\xe4\xf5\xf9\x57\x2f\x3e\xb9\x27\xf8\xf0\x28\xcc\xdc\xfb\x64\x7c\x6f\x28\x54\x3d\x1d\xed\xf9\x2e\x4f\x6a\x4c\x91\x3e\xfc\xe1\x13\x0c\x23\xbb\xf8\xcb\x0f\xe6\x87\x4f\x2e\x1f\x0c\x7e\xf8\xe4\x30\x9f\x0f\x19\x48\x38\xbf\x86\x22\x0e\x21\x8b\xb4\x60\x8f\x98\x08\x13\x17\x10\x8a\x58\xeb\x57\xfa\x46\x55\xcf\xa5\x51\xfd\xc1\xe5\x68\xaa\xad\x22\x5a\x73\x85\xfe\x03\x69\xe2\x1f\x52\x59\xe1\x95\x96\x19\xdb\xc5\x81\xcd\xfa\xfd\xec\x28\x73\xd2\xd8\xa3\x60\x53\x5c\xc0\x4a\xd6\xf6\x84\x10\xe7\x10\x9a\xe1\xfe\x8a\x7c\x5c\x16\xa1\x64\xe1\x05\xf7\x14\x04\xdf\x38\xfe\x02\x66\x1a\x62\x55\x73\x3d\xda\x1c\x07\x34\x74\xd1\x40\xba\x7c\xae\x97\xab\x42\xd5\x2a\x8a\x07\x9a\x28\xef\xb9\xb0\xa2\xae\xe5\x79\xcc\xda\x99\x1b\x08\x4c\xb5\x4f\x91\x2e\x66\x85\x75\x52\xa1\xa5\x9b\x19\x71\x59\x83\x26\x5d\x2b\x36\x83\x18\x2f\xf3\x02\x03\x26\xec\xff\xa2\xd8\x21\x30\x59\x06\x2c\x46\xe1\x46\xe4\xdd\x39\x1a\x8a\x52\xd3\x53\x46\xdc\xa8\x4a\x85\x91\x80\x2d\xef\xde\x62\xb3\xbc\xcc\xce\xcb\xcc\x2e\x59\xd7\x56\x83\x05\x26\xcc\x0f\x19\x7a\x82\x00\x5b\xb0\x70\xa6\x94\xa1\x4d\xb5\xd5\x01\x50\x99\x03\x58\x98\x95\x38\x13\x17\x97\xee\x12\x22\x80\x2e\xdd\x09\x94\x2b\x74\xe9\xe2\x83\xdc\x3b\xfb\xa6\x96\xb5\x27\x65\xbb\x89\xa3\x0b\x22\x0c\x1f\xb8\x39\x32\xd4\x41\xe7\x96\xf5\xaf\xde\x04\x1e\xb8\x45\x80\x88\x3d\x68\xa0\xc2\xbe\x56\xb7\x3e\x96\x69\xc3\xab\x02\xe2\xfa\x38\xc9\x21\xbd\x3d\xda\x42\x84\x92\x64\xc8\x76\x08\x83\x3b\x39\xd8\x9a\xe1\xa1\x43\xcc\xe2\x5b\x1f\x0d\xdc\xf7\x4b\x17\x4e\xc0\xe1\x9d\x6e\x73\x49\x1b\xe1\xa3\x49\x5e\x66\x30\xf2\xd0\xea\x73\xea\x17\x3e\x3a\x93\x85\x41\x8f\x85\xf8\x10\xae\x0f\x9c\x05\x20\x45\x5f\xca\x48\xfc\xf1\x37\xab\xf4\x52\xc8\xae\xa3\x68\x37\x99\x17\xdb\xe8\xbb\xa9\x0a\x4b\xdb\xe4\x6d\x41\xbb\xbc\x2e\xc1\x10\x11\xe8\xfc\x76\x61\x25\x8a\x52\xdd\x88\xff\xdf\x57\xaf\xfe\xbd\xae\x57\xdf\xa2\x87\xb8\x8f\x1f\x72\xbb\xa8\x46\xba\x84\xc5\x2d\x3b\xa2\x4e\x90\x8c\x2c\x90\xa5\xd9\xc6\x88\xbb\x67\xe2\xf8\xe8\x28\x0e\xed\xe5\xef\xf5\x98\x66\x17\xd9\xf3\x83\xcf\xe2\x28\xd7\x88\x62\x81\x16\xd8\xd9\xd9\xff\x8f\x37\x5f\xbf\xc6\xc0\x27\x18\xa2\x52\x66\xa5\x4b\xa3\xde\xaa\x5b\xf4\x8e\xc2\x12\xd2\xe7\xf7\xbb\x17\x0a\xbe\x6f\xa5\xca\x7e\xef\xcf\x2f\xde\xf6\x86\x16\x67\x00\x08\x53\x52\x65\xd6\x32\x89\xe2\x59\xf8\xc9\x78\x34\x1a\x7d\x52\xf2\x00\x75\x1f\x55\xa9\x0a\x05\x06\x5d\x27\x7b\xc8\x6a\x4e\x96\xc7\x4d\x07\xc2\xd2\xcc\x5d\xb4\x3e\x3b\x05\xb8\xa8\x63\x79\xaa\xb3\x14\xb3\x97\x8e\x3a\x24\x60\x78\x1d\x9a\x92\x92\xc1\xfc\x00\x68\x9e\xd8\x48\x5e\xad\xed\x16\x69\x8e\x66\x0e\x46\xeb\x38\x1a\x7c\x69\xe6\x41\x7a\xfc\xe1\x93\xfe\x0f\xd9\x83\x01\x8f\x7d\x15\xf6\xc4\x06\x81\xb1\x65\x8e\xb7\x63\x5d\xc0\x2d\x71\x20\xc6\x97\x9d\x41\xcd\xdf\xa8\xea\x20\x2f\x4d\x2d\x4b\xd0\xf2\x56\x6b\x8b\xdb\xd6\x34\xf7\xd8\x2f\x1d\x9f\x06\xef\xdb\x07\x0b\xa9\xd1\xc0\x1f\xf6\x98\x01\x32\xf4\x16\xce\x62\x4d\x73\x83\xb3\xdc\xd9\xf7\x45\xad\xf5\x16\x02\x80\x43\xbd\x9b\x08\xe0\x16\x11\x13\x33\xe7\xce\x55\xdd\xb5\xfe\x76\x63\x01\x0d\x78\x5f\xa7\xdc\x93\x18\x5a\xd3\xb2\x43\x39\x2b\xb9\x1f\xcd\xc7\x74\xd1\xfa\xe5\x34\x31\xfa\x04\x54\x66\xdc\x79\x0d\xaa\xf5\x48\x90\x2b\xc1\x44\x9f\x00\xe0\x93\xb5\xb3\xc3\xef\xb1\x7a\x73\x55\x27\xa4\xe8\x11\x0f\x9f\x3c\xe4\x33\x66\xfe\x47\x27\xdf\x92\x22\xe3\xa7\x5a\xc6\x72\xaa\x23\x4d\x37\xc1\xb3\x44\x8c\xa5\xe7\xf0\x40\x8f\x4e\x42\x3b\x6a\x14\x79\x07\x6a\xbd\x63\x76\x61\xbc\x24\x94\x99\x3e\xd4\x4d\x68\xc0\xe5\x78\x7a\x28\x6c\x97\xd8\xf7\xe6\x92\x06\x08\x0c\xdd\x6d\x61\x9c\x68\x87\x39\xff\x11\x5f\xce\x24\xb3\x42\xfc\xd1\x2f\xe0\x33\x0e\x97\x1c\xe3\x30\x33\x87\xed\x38\x0a\x2e\xc1\xf1\xdd\xbe\xa7\x43\xb7\x71\xf5\x0c\xd9\x12\x85\x45\xfa\xfb\x67\xe2\xc2\xfd\x7e\xc9\x5d\xbe\x1b\x8e\x7e\x7a\x53\x58\xf5\x84\x55\x54\xda\xb2\x7b\x21\x8b\xc2\xed\x99\x7b\x16\xdf\xf7\xc4\xa2\x5e\x16\x42\xd6\x75\x95\x4f\x9a\xda\x9e\xbb\xce\xec\xe3\x5c\x57\x99\x5e\x8a\x59\x25\xe7\x4b\x15\x3c\x3f\x6f\xc1\xe8\x2c\x0b\x71\xa3\xab\x2b\xb1\x90\xab\x95\x2a\x21\x3e\x79\x85\xef\x79\x39\x7e\x52\x9e\xbb\x31\xf7\x20\xe1\xae\xc7\x62\x25\x50\x2f\x03\xe5\x96\x3a\x83\xbb\x99\x5e\x8e\x30\xa0\x56\x15\x6a\x5a\xeb\xea\xbc\x28\xfa\xbd\x0b\xfb\x5d\x97\xa4\x52\x77\x45\xd5\xc2\xe3\x91\xbd\x3f\x9c\xa3\x5d\x13\xe9\xc3\x03\x17\xf9\x65\x37\x4a\x19\x2e\x3d\x1a\x9d\x2d\x25\xc4\x85\xda\x31\x38\xf6\xc0\xc0\x15\xe0\x49\x6f\x21\x6e\x24\xa4\xb0\x87\xb8\x0b\xa4\x46\x35\xe3\x4a\x39\x05\x43\x5e\xa9\x92\x1c\x43\x13\xc5\x06\x01\x4d\xc2\xbb\xd3\x79\x5c\x37\x67\x2e\x3c\x86\xc9\x82\xb1\x37\x89\x05\x44\x35\xde\x7b\x77\x4f\xf4\xed\x36\xa8\xcc\x54\x57\x6a\x60\x5f\x3d\x14\x79\x6d\x88\xcb\xa1\x2f\xc0\x59\x6f\xc0\xd7\xa0\x6e\xeb\xe7\xa8\x33\x3a\xf2\xa2\xf3\xde\xbd\xec\x2b\x3e\x03\xb0\x32\xc2\x79\x6d\x39\xa6\x86\x68\x22\x46\x82\xba\x0c\xd6\x09\x1a\x06\xe5\x08\xf4\x50\xae\x2a\x35\xcb\x6f\xd1\x7d\x58\x2f\x84\x14\x99\x2e\x0a\x59\x09\x93\xcf\xcb\x91\xe0\x89\x68\xdc\x05\xf9\x87\x49\x53\xd7\xba\x14\x79\x76\xd6\xb3\x22\xcc\x01\xfe\xdd\x8b\xf3\xc7\xec\xb2\x9c\xf5\x7e\xbe\x27\xab\x5c\x1e\x14\x72\xa2\xa0\x70\xca\x27\x79\x76\x6f\x68\xd1\xf2\x4c\xdc\x7b\xf3\xe2\xf5\x17\xef\xfe\xf4\xdd\xdb\xb7\x5f\xbf\x7e\xf7\xea\xfc\x4f\x2f\x5e\xdd\xfb\x90\x8c\xf1\xf9\x1f\x0e\x71\xec\xcf\xd9\x7a\x87\x01\x63\x4e\xef\x62\xd7\xad\x4e\xd9\xd4\x88\xd4\xe8\x1d\xe7\xdf\xbe\x3c\xa7\x17\x8d\xc8\x4c\x8a\x7e\x4e\x59\x13\xe9\x65\x9c\xf0\x6e\xec\x0a\xda\xed\x48\x5e\x64\xf0\x26\xc9\x0a\xa2\xb9\x1c\xd0\xd0\x65\x31\xb0\x98\x7d\x4a\x68\xc0\x87\xbe\xfb\xe6\x9b\x17\xdf\xbe\x3b\x7f\xfd\xc5\xbb\xef\x5e\x7f\xf1\xe2\x5b\x01\x76\xe2\x5f\xb8\x8d\x23\xff\x88\xce\x42\x46\xe6\x73\x7c\x23\x7e\x44\xa1\x6f\x54\x75\x20\xcb\xec\x20\x93\x66\xa1\xcc\xbd\x94\xac\x21\xcb\x02\x1f\xbc\x97\x4c\xef\x9e\x9f\x1f\x8f\xdb\x69\xca\x2b\xca\x84\xea\xcc\x45\xf2\xb6\xbc\x51\xad\xbf\x5b\xad\x9c\xe9\x23\xe8\x65\xb0\x41\xcf\x70\xdf\xce\x55\x1d\xb8\x41\xcf\xde\xe9\x79\x6f\xcc\xdd\x70\xa6\x39\xe1\x3c\xf2\x75\xd2\x38\x4c\x28\x87\x07\x36\x78\x3c\xdd\x71\xa6\x40\x03\xe8\x3d\x97\xe5\x0f\xbd\x1a\x13\x23\x30\xf8\xc4\x4e\xa7\x96\xf3\xd7\x96\x76\x1e\x88\xde\xff\xf1\x17\xf3\xcc\xfe\x8d\x27\x9e\x7f\x83\x73\xb5\xaa\x5b\xef\x85\x3c\x3c\x44\x45\x0b\xe2\xf3\x82\xdc\x61\x18\xaf\x22\xe6\x15\xb3\x28\x33\xea\xb0\xc0\xc1\x8b\x78\xe4\x91\x82\xc9\x70\x7a\x54\x3d\x24\x70\xa3\xea\x1a\x3d\x8a\x2e\x68\xae\xae\xad\x8e\x75\xa5\xd6\x2c\x74\xc5\x1d\xb7\x67\x30\x34\x99\xf1\x68\x74\xbb\xb1\xef\x9d\xcd\xb4\xbe\x37\x14\x95\x3a\x70\x11\x0d\x5e\xee\xcf\xa2\x9d\x35\xf2\x42\x03\x8d\x19\x25\x75\x9c\xf5\x06\x41\x86\xb0\x1f\x73\x26\x3c\x58\x48\xe6\x20\x41\x65\xd3\x9c\x3e\xdc\x89\xa6\xf6\x09\x4e\x6d\x2a\x8b\x69\x53\xc8\x5a\xb5\xc4\xba\xed\x53\xfa\xc4\xe5\x99\xf0\x37\x22\x1d\xb7\x89\xb0\x35\x59\x88\x24\x7a\x67\x17\xff\x4a\xad\x9d\xc8\x64\x67\x96\xa3\xe8\x5d\x38\x2b\x9d\x33\x35\x72\x94\xb3\xa8\xe4\x7e\x2c\x2d\xd9\xc9\xe2\x42\x9d\xc1\x6e\x71\x91\x51\x40\x86\x8c\xe9\x03\xfa\xf0\x11\x2b\x00\x72\x30\xc3\xe7\x6d\xc7\x1a\x5a\xd8\xe0\x73\xdc\xee\x29\x5b\xf9\xe5\xfd\x17\x73\x96\x3d\xd7\xa5\xa9\xab\xc6\x8a\x2d\xb0\xad\x2c\x63\xfd\xc6\x7f\xac\xf3\x6a\xe0\xb9\xcc\xc2\x85\x94\x9d\x32\x5e\x14\x19\x48\x60\xf6\x0c\x5c\xa9\xca\xe4\xa6\x06\x2d\x69\x21\x4b\x72\xeb\x18\x4c\xfa\x30\xb5\xae\x9c\xb6\x5c\xea\x3a\x9f\xad\xc9\x9c\x69\x99\x4d\xb3\x04\x73\xf5\x42\x95\x62\xc5\xd4\x76\x1c\xc5\x4b\x0a\x75\x1c\x9c\xe4\xce\x9e\x89\x9c\x5e\x41\xe0\x73\xad\x2b\x8b\x3a\xf2\x12\x19\x1f\xdf\xa3\x43\xa0\xf0\xbf\xbf\xfd\xea\xd5\x23\x3b\x18\x4d\x67\x28\x26\x0d\x8c\x52\xd9\xc3\x51\x95\xbd\x5a\xc8\x72\x0d\x89\xf5\x18\xc9\x4b\xef\x58\x6a\x10\x23\x84\x78\x49\xf9\x79\x4d\x8d\xe1\xbc\x64\xff\x24\xf7\x99\x74\x6e\x3f\xb9\xca\xf1\xdb\xed\x94\xcc\xba\x9c\x1e\x00\x12\x2c\x4d\x1f\xa2\xf8\x02\x19\x53\x28\x26\xdd\xa8\x5e\x06\x21\x4d\x14\x30\xd1\x4a\x5a\xb3\xab\xf2\x06\x27\x3c\xba\xff\xc1\xa3\x12\xf3\xd6\xf0\x77\x12\x9d\x6a\x8d\x05\x06\xc0\x11\x89\x78\xf1\xfe\x33\x3b\x97\x8d\xaa\x24\x8a\x33\x71\x30\x10\x5d\x4b\xa2\xc0\x2c\xcb\x0e\x8b\xc4\xed\xde\x94\xac\x2a\x7a\x87\xbd\x90\xf2\x11\x15\x33\xc0\x83\xdd\x28\x3b\x81\x5a\x89\x42\x5d\xab\x02\x6c\x31\x8b\x5c\x55\xb2\x9a\x2e\xd6\x3e\x93\x3e\xf7\xb1\xed\x73\x4d\x01\xf3\x0b\x79\x4d\x24\x7f\x95\x97\x19\xed\x99\x72\x8e\x56\xeb\x55\xa5\xaf\x73\xb0\x72\xda\xf5\xc1\xa9\x27\xae\x43\xe0\x73\x4e\x5c\xeb\x1d\xf6\xf0\xc1\x52\xd7\xec\xe1\xbc\x76\x3a\x2f\x10\xaf\x85\xf2\x12\x47\x7b\x63\x44\x99\xf8\x44\x50\x01\x9b\xcc\xf1\xe7\x96\xe9\xcc\x2d\xd8\x67\xc9\x9d\xaf\x27\xc0\x11\xaa\x77\x8e\x0b\xea\x92\x56\xfc\x39\x6c\x82\x77\x2d\x2b\xa6\x05\xca\xcd\xf9\xb4\xce\xaf\x95\x7d\x0a\x4c\x9e\x7e\x58\x69\xaf\xcb\x5a\xf5\x19\x74\x5d\x51\xee\x08\x42\xba\xa4\x40\x5c\xe5\x33\x4e\x06\xef\xdf\xdb\x2f\xf7\xc2\x05\x5e\x1d\xa9\x32\xa3\x53\xe2\xd0\x9d\x12\x04\xff\xe0\x0c\xe1\xef\x78\x05\x86\xc6\xc4\x5f\xe2\x1b\xdf\xaa\xa9\xae\x32\x70\x81\x62\x78\x14\x72\xfd\x42\x4f\x64\xe1\xd0\x00\x77\xc9\x3c\x0f\xb7\xa7\x8b\xbc\xc8\xbe\x94\x96\x51\xe5\xca\x3f\x8b\x92\xc4\x57\x72\x05\xce\xe4\xdc\xd4\x07\x70\x62\xd5\x5a\xfc\xbc\xc4\x8b\xf0\x1c\x4c\xc3\xb9\x24\xcd\x07\x7c\xea\xdc\xf2\x12\x90\xcd\xc5\xe1\x21\x5e\x62\xaf\x7a\x95\x9b\x1a\x5f\x73\xc7\x05\xfc\xf5\x56\x95\xb6\xcc\xf4\x20\xcf\x4c\xef\x19\xbb\x21\x44\x4f\x97\xaa\xf7\x4c\xb4\x08\x64\xc8\x61\xea\x1b\xbd\x0b\xc6\x4d\x07\xce\xf5\x21\x9f\x99\x10\xbd\x59\xa5\x27\x1d\xef\x8e\x9e\xa1\xdf\x3e\xdc\xe9\xfe\x96\xd8\x95\xfb\x9d\x01\x31\x0b\x22\x22\x0a\x2c\xa8\x91\x97\x59\x3e\x45\xa9\x81\x38\x9f\x8b\x2e\x45\xae\x45\x6a\x55\xd8\xff\xb4\xb7\x48\x0b\x44\xa5\x10\x8c\xe6\x35\xe4\x46\xa1\x41\x03\x9f\x25\x83\x46\x30\xc6\x86\x51\x1c\xc3\x7b\xf1\x53\x23\xa1\x76\x4c\xad\x4c\x6d\x84\x9c\xcb\xbc\x34\x35\x1e\x8d\x38\xc8\x57\xdf\xbd\x79\x0b\x2c\xae\x77\x76\x76\xd6\x13\xba\x12\xbd\xbb\xf6\x17\x64\x52\x72\x3a\x6d\x2c\x67\xd9\xb2\x67\x99\xa2\xf0\xc5\x8b\x2f\xcf\xbf\x7b\xf5\xf6\xdd\x7f\x9d\xbf\xfa\xee\x85\x0f\x72\x0f\x65\x5c\xfa\x3d\x82\x00\x35\xde\xf9\xbf\x4b\x40\xd2\x75\x9e\x35\xb2\xe8\xf8\x84\xf8\x70\x04\xb5\x17\x5e\x4c\xa1\xe7\xaa\x83\x00\x20\x51\x24\x64\xac\x95\xca\x27\x9b\x60\xd8\x0a\xd6\x7f\xc9\xf2\x4a\x4d\xeb\x62\xbd\xed\xdb\x70\x6b\xa5\xe5\x67\x86\x6e\x21\xfe\xcb\xa2\x90\x71\x25\x16\x5a\xee\xf7\x21\x07\x45\xbf\xb0\xff\xd3\xc3\x10\x4d\x38\x18\xb8\x16\x21\xd3\x43\x6a\xb7\x9f\x69\x3b\xf3\x40\x02\x74\x22\x7a\x93\xb1\xc5\x4d\xbc\x22\x56\x32\xa8\x29\x7f\x66\x29\xaf\x20\x3c\x10\xa2\x0d\xaf\x55\x35\xd1\x66\xeb\x2a\x23\x26\x36\x2f\xb6\xb7\x2c\xef\x4d\x20\xdc\xd1\x80\xc9\x5f\x3c\x73\x09\xe9\xcf\xe7\x6c\x61\x74\x62\x6e\xf8\x4e\x21\x99\x68\x63\x79\x08\x8a\x88\x74\x29\xf5\x9d\x93\xfb\x20\x1c\x46\xa3\x3c\x1b\x9f\x87\xe2\xea\x48\x60\x70\x36\x65\x39\x4d\x55\x7e\x8d\x7a\x40\xa9\x6e\x5c\xe0\x65\x6a\xbc\x0e\x13\x1d\x86\x94\x9a\x0c\xa2\x1e\xdd\x07\x90\x22\xdf\x3e\x06\xa5\x09\xae\x62\xf3\x51\xab\x22\xb3\xcc\xb1\xfc\x28\x20\x98\xae\x31\x5a\xf5\x94\x34\x5a\x35\x66\x11\x20\x62\x8e\x56\x56\x7e\x6d\xca\x80\x2a\x1f\xdc\xbf\x01\xf5\x0c\xab\xe7\x16\x11\xd7\xb9\x6e\x0c\x78\x0a\x70\x30\x9e\xd5\xf3\x31\x5f\x57\xa9\xa5\xbe\x56\xbb\x3f\xd0\x99\x06\x93\x0f\x75\x41\x3c\xec\x5b\xf1\x40\xce\xc5\xe7\x3e\xbd\x33\x79\xc6\xac\xac\x6e\xd0\xcf\x87\x62\x9c\xd4\x9e\x81\x44\x30\x6f\x91\xf3\x1a\x47\xcc\xc1\xf6\xfe\xb4\xc4\xdc\x1f\xf2\x4f\x3b\x18\xc4\x59\x17\x8b\xe0\x3e\xca\xc3\xbf\xf4\x29\x8f\x9a\xd2\x90\x3f\x39\x1c\xd9\x13\xc0\x19\xc7\x5b\x8c\x69\x90\xa4\x56\xb4\x00\xda\x09\x1a\x1d\xcc\xed\x4c\xf4\x5c\x62\x1c\x8f\xa9\xf9\xde\x57\xd9\x0a\x19\x82\xcf\xbf\xfe\xe6\xbf\xdd\x4e\x89\x4f\x35\xa3\xf1\xac\x6c\x8c\xe5\x72\x53\x59\x86\x81\x96\x3a\xcb\x67\x6b\xf2\xe8\x54\x72\x6d\x4f\x2b\x92\xd3\xed\x19\xa8\x9b\x1a\x79\x82\x73\xfb\x44\x03\x8f\xe2\x2f\x64\x96\x1b\xf8\xd5\x65\x4e\xac\xfb\x1d\xc8\x89\x0c\x03\x9b\x51\x14\x47\x84\xb7\x16\x2e\x22\x9f\x37\xb5\x5e\xb5\x38\x1a\x49\x54\x74\xe0\x57\x4c\x0f\xb3\xb2\x6e\xc2\xef\x9e\xa3\xad\xc7\xaa\x70\x6d\xd1\xde\xdc\x58\x71\xad\xa9\x21\x1f\xb2\xeb\x0d\x56\xf1\x28\x51\x91\x33\xda\xe9\x49\x70\x70\x66\x50\xa6\xcd\xd2\x23\xa8\x95\xb9\xca\x84\x9c\xd8\xa1\xf2\xaa\x52\x85\xba\xb6\x4b\xc9\xa6\xb2\x5b\x2c\xc8\x94\x13\x9e\xbb\x29\xfc\x6e\x2c\x7a\x0f\x3a\x93\x09\x7a\xaf\x75\x2d\xdc\x38\x59\x6f\x2f\x99\x9d\x10\x97\xb0\x8d\x7e\xa7\x9a\x30\x48\x56\xc7\x6a\x36\xbb\x56\xc0\xe5\xe4\x06\x06\x17\x3e\x35\xdb\xb4\xb8\x28\x9d\xa0\xa9\xdc\xe3\x25\xc7\x54\x14\x14\xe4\x7c\xee\xd0\x48\x88\xff\xf6\x0b\x42\x52\x0c\xa5\xe0\x5a\x20\x59\x0b\x88\x16\x94\x45\xfe\x57\xca\x4d\xce\xad\x70\x22\x21\x38\x33\xaf\x7b\x26\x89\xce\xa4\xf8\x27\x3c\x5d\xbc\x49\x7f\x1a\x4c\x16\xfb\xad\xe7\xf6\xd5\xdc\x6b\x31\xcf\x29\xfc\x73\xe7\x82\xd6\x55\xd3\x5e\x4f\x76\xc8\xed\xb3\x98\xdf\x2a\x32\x92\x4d\x92\xe5\xa4\xf4\x47\xc3\x77\x88\x5f\xdc\xff\xf6\x32\xa4\xc8\xa8\x46\x98\xb6\xcb\xd8\x8d\x75\xa8\x4a\x51\xc1\x2f\x2e\x84\x0d\x8b\x2e\x40\x4e\xf2\x8c\xd3\x01\xf9\xa0\x51\xb5\xef\xd8\x9a\x20\x64\x2c\x75\x99\xd7\x94\x9d\xc9\xec\x0e\x7c\xe6\x44\x8c\x43\xcb\x31\x83\xc0\x0b\xea\x77\x9b\x56\x96\x1a\x93\xa5\x4b\xf8\x88\x28\x8a\xd4\x5b\xd7\x2b\x35\x6d\x2a\x93\x5f\x2b\x38\xa9\x65\x66\xa2\xd7\xd9\xa1\x82\xf2\x17\xcf\xd9\x10\xcd\xdd\xa8\xa2\xe8\x1e\xdb\x92\xab\x59\x97\xd3\x45\xa5\x4b\xdd\x98\x21\xf1\x2c\x3f\x53\xfb\xbe\x36\x92\x86\x2e\x93\xfe\xfe\xb2\x31\xf5\x7d\x4c\x57\x76\x49\xab\xbb\x84\x90\xfe\x00\x2d\x31\x5e\xa4\xf4\x5e\xfd\x59\x47\x99\xb0\x90\x41\x2c\x7d\x28\xdf\x42\x86\xa8\xc0\x6c\xbf\xbd\x61\x1f\x7f\xe3\x6d\x13\x51\x42\x56\x9c\xa3\x09\x96\x02\x55\x66\x79\x39\x7f\x6e\xb1\x5a\xa9\x12\x7c\x99\x49\xfc\x1c\xdc\xf3\x71\x67\xfc\x8c\x3f\x38\x68\x3d\x7e\x26\x8e\xc4\xa7\x9f\x46\x1f\xed\xce\x75\x7e\xad\x1f\x27\x58\x81\x07\xf2\x8c\x52\x0d\x47\xf6\xaf\x7e\xcb\xb4\x30\xd8\x1d\x52\xcd\xed\x14\x0f\x84\x2a\xa2\xf0\xa3\x24\xb0\x1a\x0c\x27\x83\xc8\x35\x02\x29\x84\xdf\x30\x5b\xa5\xc5\x24\xfa\x3d\xd8\xc8\x8c\x4b\x38\x66\x30\x57\xf5\xcb\x5a\x2d\x4d\xdf\xce\x9c\x15\xa0\xcb\xed\xc5\x38\x79\x18\xc7\x78\x85\x71\x97\x67\x7c\x5c\xe7\x37\x76\x01\x59\x2d\x8f\x48\x3c\x98\x4f\xfb\x01\x75\x0d\x6e\x32\x07\x82\x88\x73\x95\xaf\xd4\xda\x19\xf4\xf9\x04\x06\x09\xb0\x52\xd9\x9b\x75\x39\x15\x67\xa2\x1f\x05\x6c\x70\x8b\xc3\xa7\x9f\x6e\x08\xde\x13\x22\x95\x62\xae\x51\x35\xbd\x7b\xb6\xf1\x09\xd1\x25\xf7\xf0\x45\x87\x18\xe2\xcb\x48\x84\x19\x0c\x42\xd0\x5a\x87\x05\xaa\xe3\x09\x28\x45\x19\x04\x48\x47\xbd\xee\x73\xe3\xa0\xe6\x84\xa2\x1f\x3c\x88\x72\x8f\x61\xd5\xd7\xe5\xf4\xb9\xc3\x08\x29\xe3\xc9\x2e\x19\xf0\xb4\x64\xf7\x5f\x16\xa1\xf7\x31\xdb\x26\xaa\xab\x17\x01\x90\x48\x18\xd3\x38\xcf\xfb\x03\xe3\x8c\x90\x9d\x16\x8d\xdc\x78\x55\xc8\x08\x29\x22\x9b\x82\xd3\x27\xad\xb2\x68\xbf\x0c\x32\xb3\xd0\x6e\x41\x62\x5b\xc7\x90\x9d\xb5\x7b\xdf\x6e\xd4\x48\x5d\x8d\x0d\xe7\xa6\x46\xba\x04\x93\x0a\xaf\xc0\x40\xbb\xd9\x69\x36\x6d\x3d\x95\x2a\x47\xdc\x54\x79\x5d\x43\xf0\x02\x9d\x7c\x6e\x6f\xb6\xa7\x46\x0a\xc9\xfb\x89\xd6\x85\x92\xe5\x7b\xe4\x3a\xef\x21\x56\xe6\x7d\xd9\x14\xc5\x07\xda\x56\x6f\x5b\x8a\x01\x16\x13\x72\x94\x10\x7f\xcd\xb9\xab\x21\xcc\xeb\x80\x56\x8a\xb2\x4b\xd0\xf9\x09\x11\x11\x50\x35\xe2\x5a\x16\xb9\x67\xf2\xa9\x92\xf0\xcb\x0d\x09\xab\xfa\x5d\x50\x7b\x7d\x50\xd8\x96\xb3\xa6\xc3\x96\xb1\xd1\xcc\xe0\xc6\xdb\x6d\x6d\xd8\x60\x66\x70\x03\xfc\x0a\x6b\x03\x17\xe9\x2d\x75\x07\x88\x56\x38\x2e\x92\x34\x4d\x16\xc3\x5f\x91\x94\xed\x86\x77\xd5\xf4\x9c\x71\x6d\x03\x1f\x71\xda\x39\xc2\x45\x61\xd3\x88\x2e\xaa\x4b\xd2\x67\x2f\x6b\x17\xc6\xdc\xf5\x16\x11\x38\xa4\x15\x50\xb7\xa9\xeb\xed\x17\xb9\x53\x2d\xfa\x42\xf6\xda\x48\x54\x8d\x80\xba\x98\x85\x2f\x0c\xb9\x4a\x43\x6d\x7d\x3d\x1e\x4f\x4e\x96\x11\x6d\x48\x0b\xf3\xfe\x96\xf3\xd2\xe9\xc9\x33\xf1\xf0\xc0\xc5\xdc\x60\x52\x83\xab\xe8\x53\x2f\x2a\xe5\xe3\x71\xbc\xa1\x0a\x9e\x4a\xa2\x97\x2c\x99\x5d\x40\xcc\x90\x5b\x56\xfa\x96\x4b\x46\x3e\xc8\xa1\xdc\x38\xfb\xd9\x42\x36\x93\x55\x9a\x31\x04\x9f\x95\x64\x0d\xb1\x10\x30\x07\xd1\x95\xf5\xed\xd4\xf5\x68\x7c\x3f\xe6\x45\x7e\x79\x71\x74\xe9\x79\x30\xfc\x3d\x4e\xfe\x3e\xbe\x6c\x67\xd4\x3a\x2e\x5f\x62\x7e\x9d\xca\x7c\x8e\x48\x2a\x2a\x07\xb5\x3d\xbd\x01\x36\xed\x2c\x9f\xc1\xdf\x35\xea\xfe\x3f\x36\xa6\x06\x2e\x0a\x51\xb5\x6c\x19\x59\x58\x17\x6a\x79\x54\xcc\x46\x41\x75\x26\x18\x1a\x2b\x7e\xfb\x08\x62\xc8\x00\x6b\x8b\xec\xee\x08\x58\x2a\x59\x46\x05\xab\x88\x85\x71\x8f\x33\xb3\xcf\xb7\x3e\x0b\xd9\xcd\x5c\xd5\x58\x27\x0b\x58\xab\x74\x26\x54\x67\x53\xe8\x55\x0a\xf4\x92\x8a\x2a\xff\xe9\x0a\xce\x0c\xb2\x55\xc8\x52\xf8\xe8\xcc\xb6\x8a\x11\x57\xaf\x4f\xce\x39\x8b\xed\xd7\x58\xa7\xde\x17\xa6\xe7\x99\x3a\x53\x3a\xe4\xfd\xd7\x5a\xbc\x86\x32\x43\x54\xa2\x3e\x6f\xdb\x96\x39\x96\x54\x78\x0d\x1d\x98\x53\x70\x49\xb7\xa9\x1c\x63\xdc\x3a\x8f\x4a\xef\xab\xad\x35\x65\x13\x25\x14\xe3\x46\xa3\x45\xcc\xe8\x2c\x80\xda\x0f\x46\xe3\xf3\x79\x69\x31\x7d\x28\xb3\xec\x10\x6d\x1a\xa1\x2e\x19\x2e\x14\xd6\x03\x5b\x73\x7e\x9f\xa2\x02\x62\xf3\x56\x58\xb7\x8f\x52\x58\xdb\xe6\x5b\xe6\x1d\x5c\x8b\xf3\xa4\x70\x92\x93\x1a\xd2\x32\x80\xde\xd3\x4c\xa4\xe7\x92\x02\x8c\x8a\xd7\x41\x89\x19\x8d\xec\xc7\x4d\x4f\xbc\x3b\xa1\x3e\xb3\xdd\x13\xdb\xa2\x28\xe8\xb8\x73\x4b\x99\x79\x1a\xb0\xdc\x1c\xde\xdb\x5e\xa7\x8f\x3a\xe5\x98\x7a\x16\x9f\x71\x8e\x2a\x86\x11\xba\xe8\x80\x3b\x3c\xec\x12\x01\xc1\xeb\xae\x8b\xac\x8b\x00\xd8\xca\xdf\xd9\xc4\xaf\xc2\x2b\x2f\x2e\x37\x25\xf2\x38\x13\x76\xe9\xe5\xe4\x96\xc7\x7b\xe8\xe7\x8e\xb6\xcd\x2e\x8f\xf0\x85\x03\xb9\x84\x58\xee\xf0\x81\x9f\x75\xf8\x42\x23\xe0\xc4\x2b\xea\xbd\x3b\x96\xf0\x88\xb9\xec\xf6\xe2\x7c\xe9\x69\x11\x1d\xd9\xe2\x9c\xf9\x86\x3c\x15\x62\x8c\x32\x2c\xb9\xba\x56\xd5\x3a\x39\x71\x50\xe0\x91\xc6\x40\xb9\x22\x67\x73\x60\xf6\x34\x5d\xc6\x22\x9f\xeb\x5e\xb1\x94\x2b\x71\x2e\xc8\xe5\xcd\x9d\xb3\x18\x4d\x37\x65\x65\xc2\xe2\x17\xb8\x97\x26\xef\x91\xe5\x56\x37\x63\xa7\xff\x26\x3a\xfc\x10\x09\x43\x3b\xa5\x60\x6a\x23\xcc\x7c\xfa\xa9\x20\x9b\x3c\x5d\xb8\x7b\x26\x7a\xee\xc9\xde\x06\x0b\xdc\xcb\x12\x58\x35\x1e\xdd\xcf\xe8\x49\xd3\x0b\x8a\x3a\x5e\x61\x3e\x91\x34\xa0\x00\xfd\x46\x04\x16\x62\xe1\xed\x0c\xd3\xb8\x49\x7f\x58\x3b\xcd\xd6\x7f\x86\x0b\xa0\x8f\x54\xde\xc8\xf2\x30\xf0\x59\xb6\xc9\x17\xb8\xac\x80\xb0\x3c\xac\x92\xd7\x67\x77\xee\x6c\xd3\x50\xb9\x58\xb6\x94\x2b\xbc\xda\x71\xbc\xe7\x66\x25\x9d\x9b\x07\x09\x55\x04\x0f\xac\xb3\x8a\xa5\xd3\x30\x2c\xc0\x8a\xe2\x98\xa8\xc8\x4a\x6c\xbe\x85\x9a\x52\xdc\x60\xe4\x6c\x4d\x06\xb2\xf6\x29\x63\x1f\x8c\xf3\x10\xe8\xbb\x5a\x15\xf9\x14\x4d\x8e\x90\x34\x69\x81\xac\x3e\x8c\x22\x62\x63\x54\xd5\x35\x09\x38\xf7\x78\x67\x04\xf2\x16\xf8\x23\x3e\xeb\x94\x0f\xc0\x79\x00\xb2\x08\x84\x8c\xdf\x81\x4a\x8d\x85\x65\xcf\xc8\x76\x87\xb8\xe9\x30\x22\x1b\x55\x1a\x73\x93\xd7\xd3\x85\x3b\xd4\x99\x48\x43\x36\x96\xbd\x36\x00\x86\xb2\x9d\x17\x45\xdb\xba\xdc\xa2\xa2\x36\xb1\x70\x61\x0f\x47\x22\xde\xd7\xf7\xd1\x8f\xd1\x02\xbf\xd6\xee\xb8\xdc\xb0\xbc\x94\x2d\xf1\xab\x35\x6e\x52\x4c\x11\xe1\x1f\x83\x09\x9a\x7f\x77\x07\x9c\x8f\xd1\xa2\xee\x92\x1a\xd5\xcd\x0e\x76\x6f\x26\xa8\x61\x13\x1b\x76\x48\xc7\x99\x2b\x97\x40\xd9\x25\x94\x77\xf3\x8e\xee\x3c\x8d\x14\xec\x22\xbf\x24\x9d\x2b\x32\x42\x6d\x7c\x17\x4d\x28\x78\x6f\x3b\x14\x81\x14\xc6\xbe\x83\x8f\x3e\x24\xdd\x95\x22\xc3\x12\x82\xf1\x0d\x96\xbc\x74\xd1\x21\xeb\x39\x09\x04\x69\x07\xa1\xec\x01\xc9\x33\x45\x7c\x50\xe0\x22\x2f\x93\xc4\x70\xe8\xd7\x23\xad\x34\x43\x06\x18\xac\xaa\x41\xd1\x02\xb2\xa9\xf5\x81\x13\xb9\x40\xb6\x49\x45\x1f\xbb\xdf\xed\x3b\xd1\x7d\x54\xd1\x04\x9c\xcc\x85\x45\x69\x2b\xa3\x60\x87\xc7\xb1\x7d\x56\x94\x6a\xa0\x6c\xd4\x4e\x81\x1b\xea\x9d\xf8\x2f\x03\xce\x86\xa8\x71\xa2\x97\x57\x40\x2c\x13\xd9\x18\x26\x09\x5f\xff\x75\x84\x0b\x50\x38\xb0\xa7\x12\x69\x9d\x4e\x30\xda\x38\x4a\x9e\x85\x31\x72\xc0\x94\xbe\x56\x55\x95\x67\x38\x1d\x8f\x2d\x1a\x63\xf7\xde\xc3\x6f\x41\x55\x8d\x97\x20\xf1\xe2\x97\x9b\xfb\x66\x21\x6c\xc7\xff\x70\xda\x2c\x5c\x21\x33\x3c\x5e\xdb\xcb\x67\x9f\xf9\xfb\x9f\x71\x63\x43\xee\xed\x21\x79\xe6\xea\xb8\x65\x21\xb8\xdb\x0a\x91\x2e\xda\xc1\x82\xde\x0d\x05\x4b\x3a\x36\xff\x17\x0d\x9e\x2c\x84\x69\xdc\xf9\x7e\xa5\x43\xfe\x41\x36\x68\x67\x03\x1e\x1e\x8a\x6f\xf2\xe9\x95\xaf\x2b\x35\x74\xe4\x78\x72\x90\xe5\xf3\xbc\x16\x0b\x75\xcb\xeb\x14\x73\xe9\x9c\xe2\xff\xd0\x33\x4f\x35\xaf\xef\xe6\x99\x78\xff\x5e\x74\x7f\x40\xc8\xb4\xce\x42\x5b\x22\x57\xf2\xa9\x3f\x1e\x8a\xa3\xdb\xd9\x6c\x36\x1b\x8c\x6a\x4d\x65\xd8\xc7\xa7\xde\x1c\xcc\x9e\xf9\xeb\x4a\x66\xfd\x3c\x1b\x8a\x93\x70\x97\x10\x6b\x17\x35\x58\x7f\x3d\x72\x81\x32\x2d\x26\x10\x11\x1d\x19\xff\x80\xba\x10\xc7\xba\x5d\xa4\x26\x29\x3c\xc7\xda\x01\xfc\x51\x1f\x54\x1a\x1c\x25\x2d\x90\x4a\x19\x55\x9f\x17\x05\x8f\x45\xed\x14\xc6\x2f\xf2\xcc\x4b\xef\xf4\x30\x52\x51\x46\x51\x3f\x34\x01\x34\xad\x33\xb2\xb3\x53\x33\x51\x4d\xda\x78\x8c\x48\xbc\x07\x45\x54\xb6\x4d\x03\x9e\x05\x38\x66\x82\xa0\xa6\x03\xd6\x4b\x1d\x96\x03\x41\x15\x52\x03\x71\xe3\x7c\x34\xd0\x9c\x33\xf4\xc6\xec\xc5\x9e\xf8\x49\xcc\x58\x55\x92\x1b\x8c\x77\x42\x41\x46\x54\xac\x3b\x59\x4d\x9e\x31\xb6\xf7\xf2\x8b\x7d\x3d\x82\x76\xbc\x2d\xac\x84\x73\x01\xfb\xbd\x9c\x0f\xc0\x63\x31\xac\x5d\x2f\x00\x4b\xc9\x60\x2f\x2e\x22\xce\xd2\xad\x15\x62\xa0\xa2\x3d\x66\xa1\xe2\xd8\x27\x7f\x4a\x77\x11\x0a\x6d\x84\x4c\x41\xdd\x95\xed\x14\xd9\xdd\xfd\x60\xd3\x61\x1a\xce\x11\x26\x8f\x21\x1f\x67\xe9\x8e\x6c\x7d\x75\xe5\x0f\x0c\x57\x6d\x0a\x65\x9b\xda\xbb\x3c\xaa\x50\xec\xd5\xe7\x47\xdd\x61\x55\x52\xc9\xe1\x50\x11\xab\x94\xa5\x50\xb7\x53\xb5\x42\x4f\xf6\x4c\x94\x3a\x81\x04\xdb\x11\x46\xbc\xff\x82\x83\x13\x6a\xab\xe6\xe5\xbe\x24\xe7\x61\xee\xc7\x49\xeb\x91\x54\x11\xcf\xaf\x95\xc0\x1e\xd9\x45\x08\x49\x98\xbe\xbe\x17\x4d\x3b\xca\xdc\x44\xd0\x1d\xb9\xe9\xa8\xe6\x79\x2c\x74\x78\x37\x07\x3b\x44\xd3\x80\xb4\xf8\x80\x62\xe2\xa9\x1b\x2c\xe2\xbf\x29\x09\x7a\x81\xb8\x9f\x67\x58\x58\x8e\x80\x06\x5c\x25\xdd\x9d\x46\xbe\x4b\x2f\xbd\x97\x9e\xa2\xf7\xf8\xf1\xea\x0e\x53\xcf\x60\x93\x44\xf4\x0f\x29\xef\xb5\x33\x6c\xed\x9e\xe7\x51\x56\x9a\xd3\xb8\xa6\xca\x57\x49\xac\x6f\x34\xcc\xc1\xa4\x06\x26\xac\xed\x00\x9b\x89\x55\x3a\xe2\x40\x28\x02\xb7\x6c\x74\xb8\x5d\xa3\x0a\xba\x50\x15\x0b\x84\xd4\x7b\x43\x71\x0f\x19\x9e\xfd\xd5\x32\xf3\x7b\x53\xbd\x5c\xea\xf2\x9e\xdd\x20\x2b\x55\xd5\xb9\xf2\xae\x07\xba\xb2\xa6\x6a\x72\x52\xf0\x14\x83\x03\x94\xe3\xfe\xa7\xae\x1a\xf5\x3f\x71\xfe\xef\x10\x99\x40\x54\x89\x58\x8a\x33\x71\xd1\xc3\x27\x6f\x7b\x43\x41\xbf\xae\x7b\x97\x04\x30\x61\x00\x78\x95\x6e\x58\xa4\x79\x4b\x99\xe9\xcb\xa1\x98\x0c\xc4\xd9\xe7\x3e\xf9\xf7\x67\x14\xbf\x9f\x89\x9f\x85\x1f\xff\x19\xc4\x25\x89\x0f\x43\x3a\x2d\xec\xdd\x0f\x43\x81\x9f\xca\x20\xd7\x1e\xd2\xca\x0a\x21\x6b\xd8\x0e\x48\x16\xdc\x8c\x21\x46\x48\x63\x1a\x57\xe3\xf0\x7f\xe4\xff\xd8\x9d\xc9\x53\x06\xb8\x0e\x11\xf9\x7c\x2e\x90\x5d\x5c\x7e\x10\x12\x7b\x04\x69\x53\x83\x39\x95\x1e\x6a\x2d\xfe\xa6\xc7\x27\xe2\xbc\xa4\x72\x7f\x1b\x9e\x6b\xf5\x79\x2d\x79\x08\x66\xfc\x69\x87\x88\x10\xbe\xf4\x5b\xd8\x4b\xbc\x10\x9c\xb5\xe0\x9a\xfc\x1c\x35\xe1\x82\xad\xe3\x56\xe6\xc3\xf0\x4e\x38\xba\xd9\x05\xbf\x20\xf0\xf7\x87\x8d\x7a\xa3\xec\x52\x14\x2d\x17\x98\xf8\x93\x52\x5e\xe4\x97\x2d\x31\xb4\xba\x1e\xe1\x2b\x2e\xec\xed\x4b\x16\xaf\xd6\xaa\x1e\x55\x5d\x8f\x60\xb6\x5d\x90\x6e\xbb\x77\x4d\x6d\xb2\x69\x6a\xfd\xc9\x45\x7e\x69\xf9\x97\x1b\x79\x60\xe5\x66\x7e\x15\xa7\xe6\x0d\x68\x56\xee\xc9\x4b\x1f\x89\x51\x5d\x93\x68\x92\x5d\x4c\x92\x29\x75\xb5\x08\x73\x81\x91\x14\xc3\x95\xff\x55\xb1\x7e\x89\x1b\xce\x6e\xc3\x5c\x01\x3e\x49\x85\x88\xd9\x0e\x06\x8f\x07\xb1\x0e\xa5\x9a\x56\x9f\x17\x1c\xa3\xce\xb1\xd1\xd0\x5a\x2c\x73\x03\x4d\x7c\x43\xec\x59\x99\x61\xfc\x98\xdb\x27\xad\x38\x32\x3b\x20\xd8\xb2\x5c\x60\x02\x44\x0c\x60\xf4\x21\x0b\x62\x83\x7d\x07\xc5\xd8\xa0\xa9\x4b\xe8\xb3\x17\xfb\x63\xb1\xab\xc4\x44\x91\xb4\xf3\x4b\x8e\x7c\x13\xd0\xd8\x1d\x72\xf0\x8b\x62\xd7\xec\xa8\x77\x3a\x0a\xda\xed\x75\xa6\x47\x91\x35\x5b\x7c\x1d\x69\x28\xdb\xb6\x58\xb6\x76\x28\x1b\x99\x3a\x7f\xfb\x48\x36\xca\x53\x6f\x71\x2d\x72\x16\x28\x71\x1f\xdd\xd9\xf7\x31\xeb\x51\xf2\x48\xe8\x51\x6c\xde\x7a\xb9\x51\x88\x0e\xef\xa1\x82\x34\x9e\x04\x6b\x57\x28\x3e\xc4\xd5\x5a\x84\x12\xa1\xb9\x77\x99\x1a\x09\x1a\x06\xc7\xc1\x60\xc2\xf4\xb8\x2a\x33\x96\xdd\x99\xe5\x66\x2a\x2b\x14\x29\x61\x7a\xba\xc8\x70\x6a\xad\x50\xbd\x4e\x39\x27\x69\x5b\xb8\x0f\xd3\xed\x07\x0c\x0c\xe9\x75\x9b\x8d\x6d\x01\x76\x53\x2f\x43\xd0\x9e\x03\xd8\x45\x7e\xc9\x6b\x02\xe0\x0c\x5e\x42\x31\xac\x33\x7a\x5b\xaa\x98\x50\x5e\x3d\x07\x0d\x99\x1a\xc2\x3d\x44\x7a\x0a\x07\x43\x95\x25\x38\x18\xb6\x6b\x24\x71\x98\xe0\xaf\xd0\xe4\xfd\xfb\xf8\x18\x51\x1b\xd6\xa4\xb0\x11\x64\x31\x83\x78\x4e\xd9\xd6\x3b\x0d\x30\x6c\x24\x62\xe7\xf8\xb7\x8f\x71\xdb\xc3\x9a\x20\xc4\x47\x5b\x0d\xf0\xa1\x8d\x01\x7a\x89\x7d\xc2\xfb\x34\xfa\xf1\xbe\x4f\x4b\x25\x76\xd1\x15\x2d\x6a\x07\x4d\xed\xd6\x2e\xf1\x59\x7b\x9c\x45\xe1\x39\x77\x53\x06\xd3\xc9\x5b\x36\x87\xfa\x45\xfa\xaa\x81\x82\x68\xb1\x4f\x37\x87\xbc\x7d\x54\x13\xc0\x37\xd3\x3e\xc6\x32\xee\x4b\x6a\x05\xf6\xe5\x2d\x87\x01\x6a\x6e\xd8\x11\x82\x2a\xe3\x77\x7b\x4a\x5b\x1e\x88\x78\x6a\x60\x25\xd8\xd7\x54\x61\xe2\x2c\xa4\xff\x1d\x4f\x43\x47\xee\xc6\xcb\x5a\x2d\xfb\x71\x84\x71\x80\x0f\x31\x62\x71\xe4\xe9\xdd\xad\x79\x52\x5d\x4f\x6c\x4a\xbd\xfc\x08\x8f\x12\xd1\x47\x94\xd3\x6f\x84\x4b\x69\xac\x17\x2a\xaf\xda\x94\xb2\xe7\xd2\x74\x7a\xc5\x90\x63\xa1\x23\x2f\x54\x60\x75\xfb\x6a\xab\xc2\xcd\x58\xf5\xfe\xaa\x33\xdf\xb4\x89\xfe\x1c\xca\xb7\x71\x85\x35\xb2\x53\x75\xef\xfe\x9d\x0e\x3d\x1f\x39\xbe\x2b\xda\x78\xfb\x9a\xef\x1d\xb2\xbc\x89\x0c\x84\x77\xe1\x81\xf9\x94\x95\x54\xf9\xf0\xcb\x42\xea\xe3\x58\xfa\x8e\x24\x3c\x16\x51\x9f\xd6\xf4\xdc\xba\x5b\x30\x1e\x1e\x41\xdc\x9c\x67\xba\xb2\x8a\x77\xbf\x4d\xcc\x1b\xc3\x98\x5d\x5b\x24\xab\xc4\x5a\x1e\x75\xa3\x5d\x01\xb2\x20\xa8\xd8\x33\x2d\xc7\x50\x96\x52\xd7\x07\xea\xa7\x46\x16\xcc\x3c\x37\xd1\xf5\x82\x57\x2d\xf3\x45\xc0\xcc\x54\x16\xb2\x82\xd8\x05\xb4\xfb\xea\xe5\xca\x02\xc0\x00\xb1\xf1\xc1\x0e\xe5\x1a\x99\x40\x8e\x97\xe8\x97\x9a\xd9\x3b\x06\x43\x2c\x4a\x72\x93\x1b\xdf\x04\xce\xce\x39\x62\xc3\xae\xc0\x99\x15\xe8\x0b\xe8\x13\x8a\x45\xa7\x6f\x42\x7e\xe2\x74\xa1\xa6\x57\xf6\x43\x23\x06\x0f\x79\x20\xc1\x75\x2b\xbe\x65\x9d\x12\xa1\x0b\xa4\xeb\xa1\x06\x43\xd0\x57\xa0\xf4\x7d\xeb\xbe\xfc\x46\x61\x50\x9f\x43\x16\xe4\xa0\xdf\xc1\x26\xdb\xd4\xdc\x67\xc2\xc2\x00\x53\x26\x7f\xdf\xaa\xf6\xe7\xc1\x9c\x47\x6f\x49\xed\x81\x93\x0d\x30\x7b\xc4\x3a\xe5\xb3\x59\xb7\xce\x7d\x78\xe8\x8c\xac\x16\x30\x09\x57\x1c\x0a\xd7\x42\xce\xae\xa2\x2b\xee\x2f\x0c\x76\xfe\x5c\x55\xf9\x32\x07\x1d\x0b\x03\x6d\x50\x71\x25\xd3\x9a\x1c\xc0\x6e\x75\x7f\x4e\xac\xfe\x4a\x1b\xe0\x6e\xff\xf0\x2f\x7d\x6f\x6a\xf3\xc1\xe2\x14\x3b\x8e\x07\x5e\x9a\xd3\x2a\x07\x83\xa4\x5b\x4a\x97\x3a\x2b\xe1\x9d\x93\xd8\x88\x86\x47\x71\x3b\x15\x35\x09\x9d\xec\x20\x26\xdf\x39\xc7\x34\x13\x68\x8c\x61\x15\xd3\x8e\xfc\x28\xee\xf9\xf5\x2a\x51\xa6\x95\x6b\x86\x50\xab\x6a\x9f\xe2\x10\xae\x3d\x10\xe6\xf7\x01\x5d\x82\x34\x51\x64\x49\x18\xbb\x10\xdf\xa3\x52\x28\x6b\x57\xc7\x71\xd8\x19\xe5\x80\xf6\x3b\x8c\xe7\x73\xe9\x9e\x1f\x17\xe2\xe0\x3d\xd7\xb0\x7d\x5a\x0d\x60\xee\x7f\xb0\x87\xff\x7f\xf9\x98\x7e\x2b\x09\xc4\x58\x76\x1e\xc1\x8f\x0d\x16\x8e\x62\xc0\xdb\x25\x1a\xdc\x5b\xff\xfe\xf2\x4b\x50\x38\xec\x36\x71\xa2\x09\x4f\x15\x66\xb3\x63\x75\xd6\xbe\x88\xd0\xb2\x90\xd0\x27\x25\xf0\x9d\xa8\x4e\xf4\x87\x5f\x2e\xf8\xb8\x5e\x92\x50\xc3\x05\x4b\x43\xfa\xb0\x36\x8a\xec\x46\x4e\xd5\xde\x16\x54\x5c\xc9\x32\x00\xda\xd0\x5e\x8e\x4a\xca\x5c\xb8\xef\xfb\xac\x6b\xde\xbb\x1e\xb9\xb3\x4d\xde\xda\x73\xe3\x76\xc5\xd2\xa7\x84\xdd\x19\xed\x07\xc4\x7d\xf0\xb9\x60\x55\xa5\x08\x3f\x6b\x5f\xa3\x38\xd0\x70\x94\x96\xb1\x67\x58\x69\x44\xb8\x71\xbd\x69\x17\x16\x97\xe6\x9f\xb1\x78\xb9\x8e\xfc\x07\x08\xca\x5f\xca\x15\xe4\xa0\xb5\x45\xd2\x37\x1d\x0a\x4b\xba\xe6\xff\x0b\xfa\x8a\xfd\xb4\xb6\xba\x62\x92\x42\xcf\xf7\x79\x42\x90\x3f\xda\x2c\xd4\x5e\x59\x3f\x6e\x7d\x92\xe4\x9f\xb4\x65\xfe\x56\xc3\x58\x5b\x27\xfa\xdf\xe4\x2e\x64\x09\xda\x18\x83\x95\x70\x1f\x07\xca\x59\x4e\x1a\x9e\xe9\xa5\xeb\x8f\xe0\x57\xdd\xea\x53\xbc\xed\x23\xd1\xd4\x60\x9e\x66\x87\x16\xc7\x46\xdf\x90\xbd\xf3\x51\x5a\xda\xbe\x9a\x63\x30\x1c\x7e\xaf\x7c\x1e\xf2\x52\x96\x40\xbf\xc2\xa8\x32\xf3\x11\x52\x78\x32\x52\xec\xa5\x8b\xf1\xf7\xd1\x0d\x50\xf5\xec\x46\x05\xe3\xa0\x4b\x9b\x56\xd7\x50\xe3\x16\xc2\x80\x67\x39\xb6\xe0\xe5\x23\xb9\x0e\x9e\x37\xaa\x77\xad\x7c\x4b\x24\xe2\xf8\x38\x1c\x13\x0a\x68\x25\x8c\xb6\x47\x3f\x0e\x6a\x94\x62\x81\x96\x61\x2a\x22\x53\x85\x5c\x43\x36\x05\x96\xc3\xc0\xc1\x22\x2c\x36\x65\x9d\xbb\xf6\x96\x6c\xba\x43\x62\x15\x68\x51\x67\x6d\x85\x29\x5e\x55\x42\xe6\x06\x7d\x2c\xf6\xdf\x64\xde\x74\x57\x0a\x21\x94\xdc\x70\x05\xb7\xde\xa6\x68\x04\x0c\xb2\x16\xdc\x46\x53\xff\x2c\x43\x81\xd3\x72\x3a\x85\xb8\x21\x58\x8e\x4c\xad\x60\x41\x4a\x1c\x4d\x0a\x96\x4c\x1e\x8d\x6b\xdf\xc9\x0c\x39\xdb\x54\x1d\x6a\xab\x33\x14\x47\xf1\xb1\xf2\x67\x55\xc7\x75\x5d\xf6\xc9\xb8\xec\xe6\x66\xf3\x7d\x4d\x2f\xf3\x7f\x04\xc3\x8b\x73\xf9\x44\x2c\xa5\x23\x56\xa3\x28\x44\xa9\xcb\x03\x77\xe6\x46\xb9\x4c\x26\xa9\x72\x1d\xc9\xcc\x18\xd6\x87\xa1\x3d\xa5\x32\xb5\xda\x54\x4c\xc0\x57\x12\xd8\x8d\x39\x75\xbb\xd2\x55\x7d\x6e\xfe\xc3\xe8\xb2\xdb\x3a\x82\x0e\xc3\x0f\xdd\x91\xe8\x5b\x4d\x0e\x9b\x12\xb1\xb9\x07\xd0\x65\x11\x52\x3f\x9c\xc8\xa0\x92\x78\x12\xa2\x7a\xf5\x9d\x26\x75\x7a\xa8\xcb\xf8\x19\x1b\xd5\x09\x10\x4c\xea\xee\xae\x9b\x0b\xda\x26\x7e\xce\xb3\x67\x10\x8a\xf1\xa3\xd1\xe5\xb3\x24\xa2\xa8\x74\xd1\x44\x11\xfa\xfa\x83\x0f\x83\xc4\x9c\x9c\x78\x31\xf7\xa5\x46\x87\xc0\x6e\xe9\xb4\x4b\x38\x6d\x7d\x45\x38\xdb\xe2\x1a\x3a\x91\xb1\xa5\xdb\x49\xf9\x72\x69\xbf\xc9\x11\xe2\xa4\xd0\x93\x38\x8d\xc3\xf0\x92\x2d\x21\x38\x14\x5c\x94\x1c\x1f\x6d\xa1\x88\x62\x5c\x7f\x2b\xda\xcd\x61\xa2\x5f\x56\x7a\x99\x52\xaf\x5d\xb4\x0d\x51\xef\xe1\xd6\xbe\x44\x9a\x1a\xf8\xec\x08\xf1\x5a\x6d\x24\x46\xfb\xc4\x7e\xd4\x88\xe6\xbe\xcb\x11\x05\xaa\x26\x6f\xb6\x58\xe8\x72\xa9\x90\x85\xb1\x0c\xb1\x61\xee\xd1\xe0\x46\x61\xcf\x0e\x58\xb8\xed\xc6\x71\x43\xec\xae\x13\xd6\xa0\xf9\x78\x88\xb8\xe9\x7a\x3a\x59\x8b\x7e\xf4\x4d\x80\xf2\xed\x3b\xc3\x47\xc6\xe1\x2b\x03\x8a\x37\x35\x58\x7b\xce\x9a\x91\xe9\xb2\x2b\x50\xb1\x5d\xb9\x77\x4f\x05\xa3\x9d\xfa\xd5\x15\xa8\xc5\xab\xa9\x46\x55\x15\x98\xc3\x73\xc3\x7c\xa5\xd3\x4b\xb8\xf8\xf0\x91\x53\x8c\xab\xb1\x7e\xac\x16\x14\x19\x84\xf3\xdb\xb8\x07\xd3\x95\x5a\x8f\x0a\x69\xea\x97\xe4\x4c\x64\x80\xf6\xb0\xb7\x1c\xe8\x68\xb0\xc1\x91\xf6\x21\x78\x28\xdb\xf5\x3b\xda\x15\x43\x22\x27\xe3\xb6\x2c\x26\x5e\x10\x0d\x3a\xa5\xe7\x4b\xb0\x0a\xf6\x8a\xa2\xab\xd6\x16\x06\x82\x82\x5e\x23\x21\x79\xd6\x05\x25\x90\x4d\x6c\xd4\x0a\xea\x48\x26\xbf\x9b\x4b\x87\xef\x74\xf6\x99\x33\xaf\x44\x8e\x62\x41\x7e\x73\xee\x47\x9b\x37\x43\x2f\xe3\xb4\x5c\x1d\x41\x77\xb2\xfc\x64\xe0\xfe\xb5\xce\x33\x10\xc9\xe2\x85\x06\xdd\x24\x49\xd4\x48\x95\x92\x28\x74\x2f\x7c\x56\x14\xb7\x27\xde\xbf\xe7\xb7\xce\x80\x3b\x70\xb6\xd6\xad\x72\x74\x7d\x81\xe7\x08\x31\x2b\xd8\x4f\x39\x62\x1e\xdb\x6d\xce\x25\xc6\x39\xb6\x97\x54\xaf\x14\xd6\x3a\xff\x17\x29\xa4\xfe\x86\x57\xba\x92\xa5\x7d\x95\xfb\xc2\xa4\x6e\xba\xdd\x1f\x8d\x41\xad\xcd\x8a\xa5\xff\x21\xaf\xe5\x9b\x69\x95\xaf\xa0\xce\x6d\x39\x67\xdb\x68\xaa\x8b\x42\x4d\xed\xd1\x9d\x35\x98\x5a\x2f\x26\x0d\x45\xc2\x9a\x5a\xad\xc8\x0d\xe1\x7a\x66\xe4\x25\x5a\x4a\x54\x95\x63\x32\x73\xcf\xb2\x35\x8f\x68\x99\x65\xfd\xd1\x68\x34\xc0\x2e\xfd\x26\x34\x53\x85\xde\x17\xff\xd7\xc1\xdd\xa3\x4a\xb3\xf9\x35\xe6\xc2\xb8\x75\x9b\xe4\xe5\x21\x36\x57\x1c\x99\x05\xab\x6a\x55\xea\x32\x9f\xca\x42\x34\x46\x61\x4e\xbe\x69\x59\x9e\x29\xcf\xd3\x97\xc8\x8e\x2b\x80\x91\xa2\xbb\xd6\x4d\xe5\x71\x46\xed\x36\xec\xf7\xd8\xfd\x05\x03\xeb\xa2\x80\x1e\xed\x8c\x65\x7b\xf0\x33\x6a\x78\x46\x18\x7f\xf7\x4c\xfc\xfc\x21\xed\x5a\x2b\xfd\xfd\xad\x16\xe3\x24\x35\xdf\x3f\x23\x78\x89\x35\x57\x1a\x1d\xda\xda\x52\x2c\x3e\xcc\x94\x4d\x13\x05\x34\x3f\x27\xd7\x4b\xd0\x2c\x24\x66\x51\x43\x7f\xe5\xce\x28\x6a\x70\x4e\x9c\x8b\x25\xb8\x68\xec\xef\xe9\x64\xc0\x8d\x71\xaf\x92\x37\xf7\x30\xbe\x9b\xec\x7a\x94\x72\x39\x29\x5a\x36\xed\x4c\xd6\x92\x99\xa4\xe8\xf0\xe6\xf8\x88\x11\x6a\x89\xa5\x6d\x45\xb2\x73\x19\xc2\x58\xc8\x80\xa2\x27\x02\xf2\xbd\x40\x4c\x16\xc0\xf5\x4a\x3d\xc3\x67\xe1\x6f\x7b\xf7\x19\x5a\x52\x30\x4c\x42\xd6\xf2\x19\xfc\xc4\xa0\xc7\x58\x83\xab\x72\x05\xf1\x4f\x7e\xa9\x89\x59\x45\x3d\xa0\xe8\x16\x7c\x65\xee\x53\x2f\xa8\x83\xcf\x3d\x7b\xf9\x5e\x08\xdf\xf5\x1f\x6f\x65\x71\x0b\x16\x69\x7e\x7b\x79\x11\xfc\x1b\x3b\x5a\xbd\xc5\x61\xee\xc1\x93\xa0\x77\x34\x69\xf3\x63\xba\x66\xd5\xa5\xae\xd9\xf1\xc9\x62\x59\x75\x77\x2c\xeb\x3d\x8b\xe2\x7b\x43\x71\xcf\xce\xd4\x85\x33\x47\xdf\x1e\x45\xb4\xfa\x85\xeb\xd0\xe5\x87\xad\x4f\xe0\x51\xf1\x4e\x6c\xd8\xb0\xfc\x3b\xe2\xd2\xbb\x0e\xb9\x38\x38\xdd\xab\xfe\x6e\xcc\xa0\xf8\x6f\x8c\x41\xef\x2c\x69\xba\x95\x3e\xbb\x09\x2d\xa2\xa5\x7f\x22\x9a\xb8\xff\xa1\xbd\x15\xba\xd7\xfa\x0b\xbb\x49\xfe\x1f\x5c\xef\x91\x45\xc9\x8e\x45\x07\x73\x10\xf2\xa3\xa6\x6a\xd5\x2b\xfa\xc7\x5e\xfe\xf3\x30\x71\xa1\x4a\x2b\xf8\x64\xe2\x5a\x55\x06\x6c\xc0\x3b\xf9\x3d\x11\xc6\x77\x55\xb1\x2f\x6d\xa0\xd4\xee\xcf\xdf\x74\xb4\x4d\xcf\x7e\x16\x96\xab\x07\x13\xb6\x4b\xed\x1f\x84\xd3\xee\x81\xe8\x0d\xa3\xab\x7e\xe5\xb6\x8b\x94\xce\x92\xfe\xaf\x21\x51\x5a\x95\xd6\xac\x24\x65\x92\x41\x80\xc2\x52\x95\x35\x55\xcf\xd1\x33\xd7\x6e\x07\x8c\xe0\x2b\x6d\x4c\x3e\x29\xd6\x62\x5a\xe8\x26\x3b\x98\xc8\xe9\x95\x22\x31\xd1\x97\xb6\xc3\x15\x0f\xd5\x3e\x4b\x75\x43\x21\x3f\xfd\xc1\x9e\xa8\x7d\x47\x4d\x32\xff\x35\x30\x4c\x1f\xe3\x0c\x02\x13\x69\x54\x26\x20\x2c\x82\x92\x43\x4a\x2c\x02\x8b\x3d\x32\x66\xd2\x95\x45\xa0\x2e\x44\x15\x5a\x10\xac\xb8\xe5\xd3\x8a\xb0\x42\x75\xd4\xaf\x27\x5d\xba\xd6\x52\x8c\x9e\x63\xcf\xa0\x76\x33\x99\x76\x03\x99\x77\x1d\x1d\x64\x74\x47\xcf\x94\xf8\xd3\x46\xce\x1f\x0a\x05\xde\x5e\x01\xd1\xb8\x5a\xc4\xfe\xd6\xe6\xa0\x2a\x32\xa5\x50\xff\x0a\x87\xae\xf8\xb3\x58\x54\xbf\xbb\x6f\xb0\x00\x7a\xce\x0b\x48\xc4\x9f\x9c\xd8\x80\x70\x1a\x1c\x0f\xbe\x66\xb0\xac\x94\x0c\x4e\x06\xd0\xd9\xa3\x2f\xbc\x70\x00\x97\xde\x5e\xeb\x30\xb6\xb9\xba\x4b\x5a\xf5\x41\x77\xd7\x7b\xe0\x8e\x6c\x1d\xd5\x7a\xa0\xe9\x75\x45\x55\xfa\x0e\x11\x3c\x01\xc2\x95\x13\xda\x50\x9f\xbb\x95\x55\xb1\x94\xab\xc1\x87\x50\x47\x28\x8a\xc6\xe9\xca\xa7\xc0\x61\xef\xf8\xca\x5c\x89\x81\x6b\x23\xf2\x37\x74\x61\x88\x2b\x00\xa7\x28\x02\xab\x7d\x77\xd0\x31\x6f\xc3\x90\x86\xf0\xfc\xa6\x3d\x18\x36\x7e\xd1\xe6\xce\x0b\xed\xb2\xc6\xed\xce\x0b\xef\x7c\x5c\x7f\x54\x3f\x95\xa7\x1d\x77\x91\xc4\xe6\xe6\x0b\x5f\x60\x24\x38\xd4\x7c\xc2\x10\x00\x57\xc3\x8d\xf1\xe7\xdf\x82\x04\x30\xe4\xfc\xce\xf6\x82\xd0\x1b\xb1\x06\x99\xec\xdb\xeb\x40\x47\x5b\x0b\x1f\x60\x8e\xfc\xbd\x83\xd4\x5b\x4e\xcc\x6f\x83\x53\xb6\x15\x54\x26\x03\x4f\xa9\xd5\x72\x97\x47\xd3\xfe\xd7\x65\x29\x37\xab\x2d\x15\x52\x07\xfb\xa3\xd5\x87\x38\x39\xcc\x4e\x94\xb2\xe2\x2a\xca\x8f\xfb\xa0\x96\xca\x3e\x73\xe4\x42\x18\xcc\x36\xec\x5a\x29\x2a\x06\x42\x21\xa8\xb3\xa1\x87\x89\xa2\x88\x38\xc2\x5a\xfc\x85\xea\x6e\x42\xd4\xaf\xef\xe9\xbb\x0b\x65\x60\xcc\xfe\x38\x84\x19\xc8\x5d\xda\x86\xb2\xbd\x70\x66\x12\xa4\x99\xbd\xb0\x66\x52\xb4\xc5\xe1\x45\x94\x08\x5f\x6e\xda\x80\x5d\x54\xe5\xac\x30\x5e\x5a\x9f\x28\x32\x35\xec\x11\x02\x14\x60\x37\x04\x02\x19\x55\x41\x91\x7e\xe5\x13\xdd\x41\xa2\xf0\x91\x40\xd3\xa9\x5a\xd5\x2d\xdb\xce\xaf\xca\xc0\x73\x2f\x32\xaa\x8e\x12\xf0\x78\x1f\x07\x6c\xba\xa7\xe3\x5a\xf6\xf6\x01\x8a\xd8\x05\xc6\xe6\xca\x7f\xdd\x09\x7d\x88\x2a\xd7\xc5\xc0\x55\x23\xce\xb1\xac\x54\xd4\x6d\x00\xc2\x52\x57\x19\xb8\x33\x59\x84\x04\x6f\x72\xb5\x91\x3a\xcc\x86\x1d\xc5\x8a\xf8\xb6\x79\xbd\x9e\xfc\xe8\xdb\xce\xe9\xc9\x8f\xe0\x3c\x08\x25\xbf\x53\x52\x32\xaa\xee\xeb\xc9\x8f\xc9\x60\x2d\x6a\xf2\xbb\x8e\xa8\x7e\x33\x55\x75\x46\xf0\x5d\xa9\xf5\x21\x3d\x89\xa1\x62\xc9\x00\xbf\xaf\xb5\x5b\x6b\x13\xb7\x50\x4a\x17\xa6\x83\x19\xec\xb1\x82\xae\x20\x0c\x56\xcd\x8f\xf3\x6e\xf7\x3b\x6a\x20\x8a\x0f\x52\x93\x7f\xfb\xe5\xa2\xba\xa9\xbf\x72\xc5\xdc\x68\xae\x46\xdf\xdf\x7e\xc5\x42\x34\x5b\x6b\x83\xee\x5a\x33\x7c\xb4\x03\xb6\x6b\xd9\xfc\xde\x83\x93\x6e\xeb\xea\x6d\x3a\xf6\x7e\x5f\xbe\x6d\xcb\xd7\x71\xfa\xee\xbf\x80\x29\xf0\xfe\x46\x9c\x77\xf0\x21\xff\x22\x86\x86\x9b\xbc\xcc\xf4\xcd\x08\x3e\xe9\xcd\xc7\x5b\x1b\x20\x7d\x22\x36\x38\xfc\x0a\x6b\xc3\x2b\xa0\x90\x56\xe4\x59\xb7\x29\xa1\x6d\x7d\xe8\xf8\x16\x0b\x46\x97\x65\x96\xbd\xb8\x56\x65\xed\x6d\x0c\x3d\x7a\xb4\x37\x74\x65\x7e\xdf\x38\x32\xf9\x3b\x9a\x1b\xe0\x9b\xbb\xc2\x39\x22\x6b\x03\xb3\x2e\x78\xc3\xc2\x79\xa5\xe4\x6e\x93\xc2\xe1\xa1\xf8\x8f\x37\x68\xcd\x36\xad\xf2\x4b\xa1\x75\x1b\x10\x1b\xd4\xb0\xb1\x30\xcb\x55\xbd\xa6\x26\x0d\x23\xf1\x46\x0b\x4a\xee\xc2\xe1\x74\x59\xac\xa9\xee\x21\x19\x83\x7d\xe9\xa6\xba\x6a\xea\xc5\x7a\x14\xea\xa1\x63\x32\x3e\x1b\x6e\x18\x0a\x94\x53\xfc\x69\x99\x61\xc5\x5f\x88\x0a\x2b\x75\x0d\x5d\x34\xec\xe8\x3e\x5b\xdf\xaa\xdc\xce\xf3\xaf\x46\x3e\x62\xfb\x8f\xbc\xf3\x5c\xb8\x3e\x10\xcf\x18\xd4\x67\xa1\x20\x41\x18\xc2\x07\x2d\x24\x43\x84\x50\xf4\x67\x0c\xca\x0d\xa1\x83\x78\x76\xa1\x46\x24\x9e\xa1\x01\xc6\xbd\xed\x59\x98\x2b\x39\x14\x69\x8c\x67\x7e\x02\x5b\xab\xa7\xfc\x32\x5b\x8f\xfe\x67\xb3\xf2\xa4\x34\xff\x4f\x6f\xe4\x49\x3f\xe8\x77\x1b\xcf\x1e\x36\x9e\x14\x69\xbf\x9b\x78\x7e\x2b\x13\x4f\x8a\xd9\xfd\x2c\x3c\xbc\x11\x57\xcb\x6e\x01\xc9\x1f\x57\x6a\xcd\xda\x8f\xa1\x3b\xf5\xda\xfb\x50\x11\x15\xbe\x61\x69\x5d\xad\x59\xd8\x2c\x0e\xcb\xb8\x6d\x68\xfd\x22\x84\xa5\xb0\x7a\xba\x10\xee\x98\xa3\xe0\x3e\x4c\xc0\x98\x4a\x2b\x8e\xe2\x79\xc3\xe4\x4a\x48\xac\x73\x3e\xc9\x5a\x34\x65\x38\x33\x58\x54\x33\x23\x00\xbf\x7b\xe1\x70\xc7\x40\x56\x9c\x44\x8b\x1c\xfe\x15\xec\x57\x7b\xd0\xc3\x4e\xeb\xd5\xc6\x90\xff\x1c\x83\x39\x5d\x74\xbd\x38\x10\x63\x7b\x80\x7d\x8e\x07\xd9\xc1\x01\xaf\x87\x60\x77\x04\x42\xfb\x10\xfb\x7d\x29\x2d\xf1\xdc\x6f\x24\xb5\x98\xd8\x20\xf0\x9d\x8e\xe7\x0d\x04\xd7\x4d\x72\xbf\x92\xe8\xe2\x37\x5f\xc7\xf1\x89\x1d\xc1\x8d\x80\xc0\x76\x61\xd0\x7d\x69\xb7\xba\x6e\x13\xee\xef\x06\xc4\x7f\x4a\xa3\x52\xba\x3f\x3f\xda\x7e\xd8\xb2\x2c\xb9\x4d\x34\x4c\x5b\x13\xe2\x2e\xd8\x7c\x66\xee\x7b\x62\xfe\x6e\x5c\xfc\xfb\xd1\xc1\x3e\xb6\xc5\x34\xc0\x5f\x4f\x7e\x8c\x34\x86\xbd\x88\xc3\x99\x9d\x07\xed\x96\x6c\xbf\x84\x46\x7e\x37\x5f\xfe\x0d\x68\xe2\x57\x5b\x2f\xdb\x92\xdc\xaf\x5c\xdf\xdf\xed\x9c\x7f\xdb\x75\x8e\x0b\xb8\x56\x9d\x0b\xdd\x59\x8a\xb5\x5a\x6f\x34\x20\x74\xd1\x84\xac\xd6\x17\xf9\xe5\xaf\xdb\xfa\xfb\x19\x50\x97\x6a\xa9\xab\xf5\xbf\x88\x05\xf5\x65\x79\x80\xdf\x13\xac\x2a\xbf\x24\x4e\x0b\xe0\xed\x78\xbf\xc8\x72\xfa\x15\xce\xe0\x17\x9b\x4e\x37\x35\x1a\xfb\x87\x34\x1f\xe1\xc7\xfe\x2b\xd9\x8f\x5a\x5f\xf4\xbb\x01\x69\x0f\x03\x52\x0b\x6b\x7b\x58\x90\x2c\xc2\x94\x37\xe4\xa6\x52\x53\x6c\x4a\x27\x86\xa9\x9c\x4a\xf7\x73\x30\xf3\x46\x80\x70\x7f\xc8\x6c\xbd\x2e\xf1\xee\x83\xe7\xa5\x5d\xfb\x2d\x66\xa7\xc9\xc6\xfd\xc5\xf6\xe1\x4e\x0b\x71\x94\x00\xc7\xbc\x1b\x43\x97\x1d\xf8\xbb\xf9\x6c\x1b\x5d\xfd\x4a\xfb\x19\x35\xb4\xff\xdd\x6e\xf6\xcf\x66\x37\xdb\x44\x08\xff\x78\x86\x33\x22\xb1\xdf\x0d\x66\xbf\x1b\xcc\xfe\x5f\x30\x94\xb4\x36\xe6\x2f\x8b\xb8\x0b\xb5\xbf\xba\x37\x53\xfb\xaa\xdb\x21\xa9\x41\xcd\xd7\x13\x0b\xb2\x45\x97\xd8\xd0\x2e\x21\xf6\x0c\xa7\xf8\x4f\x20\x0e\xfc\x6e\x19\xfc\x07\x24\xf8\x7d\x4c\x83\x9c\x2c\xb7\x5b\x0a\x3f\x5e\xd2\x75\x16\xc3\x0f\xed\xaa\x71\x9b\x36\x8c\x37\x32\x7e\xd6\xc1\xb7\xff\x57\xc8\xfe\x37\xb3\x84\xfd\x6e\xe9\xfc\x4d\x69\xfc\xa3\x4c\x9d\xbc\xa3\x41\xb7\xe0\xfd\xbb\x99\xf3\x1f\x7b\x91\x7f\x63\x3b\x67\x27\x41\xa0\x8d\xf3\xf2\x6f\x68\xe3\xac\x95\xa9\xdf\x51\x0d\xb3\x7f\x11\x0b\xe7\xff\xb5\x77\xed\x4b\xae\x73\x75\x23\x58\x51\x98\xa6\xcc\x6b\x61\x3f\xd8\x8a\xaf\xb3\x4a\x2e\xd5\x8d\xae\xae\x60\x91\x78\x51\x49\x59\x7a\x29\x56\xf2\xeb\xf6\xc9\xb8\x4b\x95\x7d\x91\xeb\x2a\x8a\x05\xb9\x2d\xed\xbc\x55\xa6\xfe\x8a\x75\x35\xad\x54\x01\xa4\x06\x76\x56\x68\x82\x77\x8e\x65\x26\x97\x7a\x49\xfd\xb0\xf2\xba\x67\xa0\xba\x62\xa8\x53\x03\x25\x32\x4d\x5e\xce\x0b\x85\xef\x41\x52\x06\xc8\x4a\x49\xa3\x4b\x39\x29\xd6\xc2\x2c\x25\x76\xa5\xea\x9f\xfd\xff\xc7\x57\xa2\xc8\x4b\x65\x05\x23\xfb\x5e\x1c\x54\x14\xba\x16\x4a\x9a\x1c\x37\x88\x6b\xb0\xac\x4b\x1a\x16\x4a\xdd\x40\xc5\x18\xfb\x7d\x76\xa4\x85\xac\x4a\x65\x0c\x56\xb9\xcf\x41\xd8\x60\x0f\x1a\x75\xad\xca\xa8\xaa\xb9\x2e\x0a\x7d\x63\x51\x4a\x1f\x88\x75\xe2\x29\xb7\x9e\xb5\xea\x4b\x71\x73\x80\x75\x16\xb4\xae\xc9\x04\x6d\x27\xad\xca\xba\x5a\xaf\x74\x5e\xe2\xb6\x87\x92\x6e\xa0\x6d\x28\xab\x99\x35\x68\x4c\x6e\x0f\x36\x7a\xa5\xe7\xe2\x40\xbc\xd2\xf3\xb9\x85\xb6\x94\x98\x63\x76\x7e\x07\xec\x9b\x26\xaf\x95\x38\x10\xe7\x0e\xdd\x2e\xb1\xdf\x2d\x70\xc7\x33\xf6\x77\x78\x84\x96\xc4\xc2\x6e\x01\xfd\xb6\x29\xc5\x81\xc0\x2b\x48\x19\xea\x56\x4d\x1b\xf7\x26\x09\xbc\x6c\xc7\x2b\xbf\x55\xa6\x29\x5a\x2f\xb5\xfb\xac\x29\xa8\xb8\xa8\xe7\xf9\x16\x89\x54\xc1\x84\xb6\x8a\x27\x76\xb1\xc8\x55\x25\xab\xe9\x62\x8d\x64\x71\xa5\xd4\x4a\x55\xae\x90\x41\xa1\xe7\x1b\xca\xb6\x74\x60\x18\xf9\xbd\x7d\xc4\xb3\xfa\xae\x75\x08\xe3\xc1\x26\x7a\xa5\xe7\xc6\xf5\x30\x67\xbb\x91\x1a\x22\x59\x9e\xa6\x97\x79\x1d\x99\x4c\x39\x99\x24\xf6\xd1\x42\xcf\x99\x81\xdc\xce\xe5\xcc\xcf\x0a\x0b\x7c\x75\xcd\x09\xea\x99\x76\xf7\x72\x77\x94\xe5\xf0\xe7\x5b\xa9\xc3\x0d\xc7\x1a\x37\xe8\x01\xc0\x71\x6f\x59\xfd\x18\x3c\x36\x57\x76\x23\x60\xe3\x76\x3b\x88\x01\x82\x33\xaa\x6e\x56\xfd\xc1\xd0\xe1\x65\x55\x29\xb9\x9c\x14\xaa\x4f\xfb\x15\x40\xa7\xd2\xee\x20\x2a\x52\x15\xa6\x51\x35\xe5\x48\x20\xd3\x71\xcb\x6c\xa8\x57\x3c\x13\xe3\xd3\x0f\xbf\x0f\x4c\x77\x24\xc4\x4b\xcb\x0a\x54\x59\xe7\x95\x2a\xd6\xa2\x59\xb9\xe5\x60\xb3\xbb\x01\x3f\x4f\xdd\xf3\x66\x47\xe8\x98\x81\x3d\xd2\xda\xab\xd2\xea\x98\xee\x88\x3e\xb5\x66\x53\x81\x3e\xb2\xa9\x74\xad\x0e\x3d\x49\x85\x79\xe9\xa1\x2d\x05\x08\xfd\x7a\x49\x63\xf4\x34\x0f\x05\x3c\x5b\x8b\xe6\x25\x05\xcf\xb5\x9f\x53\x9d\xe1\xa5\x5c\xf3\x46\xf1\xc8\xe1\xec\xc9\x09\x1e\xb0\xd5\xaa\xd2\xab\x0a\xda\x0e\xba\x8f\xd9\x85\x04\x5d\xd2\x67\x3c\x77\xc2\x09\x43\x44\x8d\xb7\x06\xa8\xd2\x24\xb1\xf9\x6a\xa6\xa1\x3e\x34\x4c\x7c\xf7\x27\xe5\x06\x68\x61\xc7\x5e\x45\xd6\xf1\x81\x78\x85\xab\x67\x63\x7f\x8d\x88\x5c\x89\x66\x35\xd5\x4b\x28\x13\x4d\x44\xe4\xd8\x5a\x4a\xe8\xd3\x5b\x6c\x66\xa8\xcb\x5a\xdd\x46\xc3\x84\x15\xd9\x85\x24\x0b\xf7\x0d\x11\x3d\xc7\x0f\x4e\x6d\x28\x80\x58\xda\x28\x72\xe5\xa7\xf7\xc4\xd0\x2c\x2f\x73\xb3\x68\xbb\xf9\x7e\x31\x8e\x68\xc0\xec\xef\x87\x23\x6d\xea\xbd\x91\xf4\x05\xc8\x33\x98\xca\x01\x33\x76\x5c\x44\xe8\xa6\x5e\x35\xac\x0e\xf3\x8d\x38\xff\xe6\xa5\xef\xf9\xe1\x9b\xf1\x50\x2b\x11\xc7\x8e\x89\x79\x0b\xa1\x46\xf3\x91\xf8\x5e\x09\xd3\xac\xa0\xa8\x6e\x5e\xce\x34\x71\x2f\xe8\x61\x37\x18\x0a\x05\xf5\xa5\xed\x2f\xf5\x74\x34\x1a\xa1\xf9\xb4\xc8\xaf\xfc\x68\x23\x7a\x88\x00\xb6\x31\x51\x7a\xfd\xdb\xd6\x54\x40\xac\xd7\x8d\xe5\xd7\x45\x61\xcf\xab\x39\xb2\xc6\x4a\x37\xf3\x85\x3f\x64\xde\xb8\x6a\x72\xd0\x8c\x5b\x18\xa9\x97\x0a\xbe\x97\x3e\xcf\xd4\xb2\xcc\x64\x95\xf9\xc1\xcf\xbf\x79\xd9\xbd\x16\xaf\xe0\x48\x89\xb9\x18\x3e\x73\x46\xff\xe5\xc1\x2a\x56\x4f\x39\xc3\xce\x44\xde\x04\x97\x61\x5d\xa8\x5e\xcf\x5f\xc1\x22\x77\xef\xba\x2e\xbe\xa9\xe5\xf4\xea\x1d\x76\xcd\xc4\x14\x93\xe7\x72\x55\x37\x15\x7e\x2e\x5f\x19\x10\x8d\x04\xc8\x46\x60\xa2\x82\x45\x06\xa9\x5a\x02\x69\x41\x1f\x22\x28\x48\x68\x1f\x33\x94\xfe\x82\x25\x08\x8b\xf5\x48\xd8\xc5\x74\xed\x8e\x26\x4a\xb8\x06\x84\xd8\x9a\xd2\x28\x45\x45\x13\x47\xbe\x34\xbe\x2c\x8c\x86\xb2\xc8\xc6\x75\x99\xb6\x43\x01\x56\x6b\x2d\xac\xc8\x68\xdf\xa6\x2a\x23\xfa\x40\x2c\x37\xca\xe3\x1f\x29\x64\x30\x72\xdf\x4a\xdf\xf0\x8e\x0e\x6b\xfa\xd3\xa2\xe2\xa2\x57\xe8\x79\x6f\x28\x7a\x99\x9a\x34\xf0\x8b\xa5\x19\xfb\x5f\x3b\x86\xfd\x2f\x50\x59\xef\xd2\x37\xb1\xea\x17\xea\x5a\x15\x03\x71\xf6\x39\xa9\x4e\x85\xaa\xc5\xd2\xcc\xbf\xc1\x4a\x82\x0e\xc7\x42\x98\x9b\x1c\x5c\x00\x04\xef\x7b\x94\x59\xbc\xd1\xeb\x9e\x45\xd7\xe0\x8d\xf1\x25\x7c\xf9\x33\xef\x00\xe0\xef\x81\x71\x47\xb5\xfe\x6e\xb5\x52\xd5\x73\x69\x54\x7f\x40\x2d\x1b\x43\x31\xe3\x49\xa5\xe4\x55\x54\xa3\xd5\x7e\x7b\x2d\x34\x92\x59\x84\x9c\x0b\x18\xf0\x32\xd8\xa6\xe8\xc2\x06\x38\x71\x26\xfa\xa3\xd1\x48\x56\x73\xc3\x90\xc1\x0a\xa7\x5a\xe2\x0c\xd5\x6e\x03\x69\x3e\x38\x8b\xa9\xf2\x01\xfb\xaa\x07\xc2\x8e\x37\xfa\x51\xe7\x65\xbf\x27\x7a\xf0\x41\x3f\x94\xfe\x83\xec\xb4\x47\x72\xb5\x2a\xd6\xfd\x68\x4a\x43\x78\xcc\x19\xac\x40\x5f\xf5\x5d\x53\xbf\xaf\xe4\xea\x70\x92\x97\xa8\x98\xcf\x2b\xdd\xac\xfc\xf6\x02\x6a\xbb\xe8\xc1\x45\xbb\xd6\xf0\xcb\x73\x5d\x14\x72\x65\x54\xc6\x17\x1d\xee\xb0\xef\x24\x34\xfe\x19\x86\x4b\x11\x04\xc0\x1c\x91\x78\x61\x03\x9c\x45\x64\x21\x27\xaa\x38\xeb\xf5\x22\x4c\xe2\xe8\x78\x2f\xea\xf2\xf9\x91\xe8\x85\x01\x12\x4c\xa6\x7c\x41\x88\xde\xa8\x52\x2b\x25\xeb\xfe\x83\x07\x2d\xfe\xd0\x81\x59\x8e\x80\x17\x65\x96\x7e\xdb\x68\x4e\x37\x3c\xbf\x99\xef\x82\xb4\x78\x60\xdf\xef\x87\x76\xed\xfb\xb6\x4c\xf9\xe0\xa0\x7b\xca\xad\x22\x94\xd0\xc8\x0d\x05\x6f\xf8\x80\xaa\x99\xd6\xba\x62\x16\x23\x68\xda\x8b\xcd\x72\x17\xaa\xca\x6b\xb0\x5c\xdd\x81\x9e\xd1\x1d\x5a\x9c\x3b\x52\xbe\x33\x2a\xee\x1b\x07\x02\x5d\x4b\xcc\x27\x41\x9c\x5a\x76\x81\x60\x1c\x77\xb7\xb7\x63\x61\x89\xc7\x62\x2d\xf2\x32\xaf\xc9\xad\xd5\x3d\x59\x6f\x98\x0a\x03\xfe\xb7\x6e\xc0\x78\x51\x2f\x14\x58\xa7\x98\x94\xe9\x35\x00\x90\xf6\x83\xf4\x2f\x96\xaa\x5e\xe8\xcc\x40\x01\x52\x35\x55\xc6\xc8\x6a\x0d\x30\x32\xe3\x5a\xc1\x1d\xec\x19\x17\xbd\xd0\x2b\xd7\xd7\xb2\x12\x5f\xad\x2d\x7e\x0c\x15\x24\xeb\xc4\x57\xbf\x47\x40\x3d\xbb\x3c\xf4\x2c\x5d\x8a\xcd\xf5\xb0\xab\x42\x18\x0f\xca\xf1\xf7\x9d\x17\xf5\x8d\xaa\x0d\x9d\x80\xf9\x5f\xb1\xe7\xdc\x2d\xfe\x9a\xcf\x44\x5e\x0b\x75\x9b\x9b\xda\xf8\x1e\x71\xad\x26\x4d\xe3\x23\x36\x18\x16\x5e\xf5\x47\xb9\x2b\xa8\xee\x9a\x1c\x4d\x6f\x87\xe2\x67\x3b\xf6\x33\x31\x3e\x82\x3e\x05\xf7\x69\x2b\x6c\x9c\xff\x6a\x97\x94\xc9\x3f\xc5\x4a\x0a\xa0\x87\x8b\xbe\xba\x86\x8e\x6e\x53\xbb\x08\xb3\xa6\x10\xba\x54\x66\x00\xda\x82\xc9\x33\x75\xa0\x66\x33\x10\x48\x2c\xa1\x15\xb9\xa9\x87\xc2\x68\x36\x52\xa5\x88\xe2\xf2\xda\xc9\xf5\x10\x82\xc4\x8d\x05\x4e\x6f\xc5\x7a\xfc\x10\xdd\x86\x97\x37\x7a\x0e\xec\x97\x07\x4b\xe1\x7d\xce\x6e\x0a\xac\x52\x2f\xce\x44\xee\xc7\xf9\xd0\x42\xcf\xe1\xa1\xf8\x93\x34\xf9\x54\xa4\xc6\x2c\x5f\x61\x98\xe1\x50\x66\x99\xfd\xa5\xdf\x5b\xe9\xd5\x01\x9a\x29\x7b\xc3\x1d\x48\x64\xb3\x19\xad\xf4\xaa\xcf\x48\x4b\x88\xd0\x46\x30\x37\x56\x7a\x57\x15\x6e\x1d\x99\x17\xd4\x99\xce\x4e\x05\x0e\x5b\xd8\x89\xa6\xd6\x2b\x48\xe0\x1d\x85\x11\xc8\xe4\x81\x4f\xbf\xf8\xcf\x7e\x78\x1d\xce\x70\xc8\x48\xf1\x00\x1d\xed\xf1\xfb\xcf\x49\x45\xb0\xf2\x69\x5e\x66\xf9\x94\x56\x69\x21\x8d\xd3\xd5\x27\x6b\x90\x66\xbc\xda\x8d\x9b\xb2\x3d\x09\x0b\xde\x1f\x04\x74\x0f\x22\x44\xbf\x91\xd0\xfe\xb0\x65\x37\xdc\x8a\x6a\x80\x3e\xf8\x28\x84\x5b\x42\x31\xaa\x98\x11\x2f\x8f\x3f\x18\x12\x88\x9d\x51\x3e\x8d\xb1\x74\x40\x5d\x78\xb5\x23\xc6\x78\x85\x2b\x11\x5e\xdb\x8f\x27\x18\x89\x68\x8f\xf0\xff\xbd\xcc\x6b\x31\x3e\x3a\x5a\x9a\xd0\x6b\xd3\x2e\xbd\xac\x2a\xb9\x16\x14\x5c\xe2\xb9\xa9\xbc\x0a\xc6\x63\x75\x0b\x18\x65\xeb\xd0\x11\x36\x31\xb4\x63\x27\xab\xbe\x93\x24\x1d\x19\xc0\x89\x13\xd4\xc8\x52\xa9\xcc\x08\x59\x62\x5c\xeb\xb1\x9f\x33\x6b\xa9\x9f\xd0\x35\x99\x51\x7c\x53\xc7\x4a\x81\xbe\x64\xd1\x72\x68\xc9\x9c\xf2\xef\xcb\x21\x19\x53\x59\xd7\xd4\x5a\x47\xc3\xa1\xd7\x23\x5f\x2a\x68\x40\xd5\xa6\xbd\x4a\xfd\xd4\x28\x03\x9f\xdf\x3f\xa6\x2f\x6e\x51\x61\x5b\xcf\x72\x3e\x3c\x38\xfd\x5e\x77\x95\x5c\x0d\x87\x63\xb7\x4e\x84\x16\x53\x5e\x56\xd1\x0d\x45\x7e\x0e\x77\x22\xda\xf3\x11\xec\x1d\xf4\xa4\x27\x5c\xb7\x22\xec\x9e\x95\x21\xd8\x9f\xdc\x25\xeb\x27\x7a\x16\x26\x4d\x05\x6c\xdd\xe9\xd0\xac\xfa\x60\x27\x22\xb9\xda\xbe\x78\xd3\x73\x74\x97\xf6\x1b\x55\x58\x6d\x8b\x12\x74\xdf\xc3\x67\xb9\xb1\x3a\xd2\xd6\x67\x18\x8c\x7f\x6e\xae\xea\xad\xcf\xd0\xfd\x14\x9e\x5a\xb4\x6c\x7d\xc6\xc2\xf8\xe7\x6a\xba\x10\xc2\xa4\xfd\xe5\xaf\xe4\xea\x9d\x8f\xec\x80\xab\xfe\x6c\x0c\xdd\x89\xf1\xb0\xea\x77\xbf\xd0\xc3\x0f\xfc\x10\x5c\x04\xda\x30\x4f\x58\xa3\xee\x01\x9d\xc8\xa2\x0c\x85\x32\xd7\xba\x8a\x9a\x4f\xd9\x0b\x91\xb4\x08\x08\xd1\xb3\x0d\xe6\xfb\x30\xde\xd0\x99\xbc\xc9\x0b\xb8\x50\x6b\x71\xa3\x98\x0f\x62\x33\x49\xb3\x59\xb9\x8a\x9f\x51\x99\x7b\xd8\x17\xd0\x0a\x60\xab\xf4\xf9\x36\x1c\x18\xb8\xc1\x57\x39\x5a\x7f\xad\x1c\xc6\x5e\xe1\x9c\xa0\x6b\xec\x49\x00\xf8\xdf\x3a\xbd\x40\xb2\x91\x31\xf1\x35\xd6\x90\x57\xa6\xfe\x92\x2e\x87\x7a\x1b\xee\xbe\x8f\x0f\x76\xf4\xc0\x9b\x83\xf5\xbe\x68\xa0\xbe\x7d\x4d\x5b\x1f\x0b\xc9\xf7\xc4\x03\xe1\x1e\xf7\x11\x42\x35\xbe\x7f\x93\xe5\x96\xcc\xb6\x1b\x66\xe5\x75\x0f\x37\x89\x0b\x07\x78\x49\x9b\x3f\x82\x00\x6a\x46\xf2\xb0\x7f\xa6\x41\xdd\x76\x35\xa1\xac\x34\x6e\xba\xcc\xcb\x55\x9b\xd0\x17\xef\xe0\x7f\x5e\x14\x3a\x6b\x5a\xa1\xe7\xfd\xde\x17\xfc\xeb\xc3\x1b\x47\xb3\xa6\x28\xda\xcd\x7b\xfe\x0c\x11\x83\x9d\xde\x2c\xd7\xc6\xd0\x9e\x4f\x76\xf6\xbf\x19\x35\x77\x9d\x3d\x1e\xa7\xe9\xd1\x93\x29\x93\x57\x6c\x2d\x43\x25\xee\xae\x49\xbb\xda\xec\x70\x0e\xd2\x53\xa0\x65\xf8\x32\x2d\xa4\x80\xdc\x48\x13\xba\x39\x08\xf4\x22\x6f\x23\x95\xc0\xb4\x5b\x64\x12\x79\x30\x36\x50\x73\x1b\xe7\x25\x09\x37\x1d\x0c\x0c\xb5\xb4\x4e\x4b\xf6\xdf\x87\xad\xc4\x27\x4e\x12\xc4\x94\x7e\x28\x6c\xca\x56\xc8\x5c\xe8\x83\x20\xb4\xf7\xca\xa0\x7a\xed\xe8\x6a\x28\x56\x8d\x13\xa8\x55\x68\x1a\x41\xbd\x9f\x49\xab\xaf\x99\xc1\x9c\xab\x8e\xa0\xff\x42\xd0\x0a\xd3\x1f\x8d\xc8\x72\x98\xaa\x55\x90\x83\xd6\x78\x87\x35\x48\xc9\xcb\x5a\x95\x19\xa2\x69\xa2\x7c\xdb\x77\xef\xe0\xc6\x39\xf6\x8c\xd7\xc5\x09\xbf\x28\x89\x21\x0d\x85\xd6\xd6\xc6\x0b\xa5\x91\xa7\x2c\x9f\x2e\x40\x29\x9c\x28\xa7\xdf\x67\xb0\x02\x60\x92\x76\x51\x2e\xb1\x1b\x60\x24\xc4\x97\xba\xf2\xe2\x2c\x73\x8b\x7f\xb5\x4e\x4e\xdc\x1d\xda\x77\xa2\x1e\x9b\x5d\xfa\x31\xc9\xa8\x89\x57\x02\xdb\x3f\xf7\xec\x63\xbd\xb0\x36\x35\x52\x92\xd3\xa5\x9c\xaf\x00\x03\x6f\xdc\x72\x79\x25\x9e\x54\x7e\xde\x81\x3f\x79\x76\x0e\xdc\xa7\x43\xfb\xdf\xe4\x0a\xd8\xd7\x85\xd2\x7a\xd0\x53\x48\x70\xc5\x52\x60\x86\x25\x40\xcb\x70\x0e\x79\x5f\x67\x8a\xd3\xd4\x25\xc7\x6a\x17\x11\x83\xd7\xd5\x7d\xb3\x55\x27\x54\x46\xe5\xa5\x08\x37\x48\x61\x33\x1e\xdb\x84\x5d\x1e\x0c\xef\x31\xe0\x3a\xa8\x24\x44\xb1\x65\x8f\x46\xe4\xd0\xd5\x32\xda\x2e\xbb\xfb\xea\x34\xa9\xda\x92\x7c\x7c\x8f\xec\xa0\x57\x60\xec\x84\xfb\x96\xa8\xfe\x28\xa6\xb7\xf6\xda\x33\x0f\x7d\x71\x75\xd9\x6e\x23\x4d\xac\x06\x3c\x06\xb4\x5f\xa6\xe8\x9b\x23\x3c\x36\xab\x0e\x35\xc2\x05\x88\xb8\xe5\x4f\xea\x8e\x39\x0d\x2f\x30\x38\x29\x4a\x7d\xa0\x57\xd8\xcb\x36\xd9\xb1\x76\x30\xcb\xf6\xf3\x4a\x19\x61\xf4\x52\x89\xab\xbc\xcc\xec\x20\x70\xfb\xe0\x06\xbc\x3e\x76\xe3\xa0\x31\x00\xa2\x56\x2c\xdb\x29\x24\x76\x92\xc8\xb4\xc8\x3d\xb7\x00\x7f\x38\x6c\x75\x70\x80\xe8\x0a\x1c\x44\xb5\x72\xcb\xd4\xc9\xcd\x40\x51\x44\x30\x5a\x7c\x3b\x94\x04\x63\x51\x4e\xce\x14\xf0\xd9\x00\x7b\x77\x3d\xf2\x00\x1b\xf0\x45\xb2\x5c\x33\xef\x1c\x33\x80\xa0\x63\x1e\xb6\x57\x78\xaf\xef\x47\x83\x64\x96\xe5\x66\x2a\x2b\xcb\xd8\xc0\x30\x08\x47\x80\x2e\x03\x19\x12\xd7\xb7\x34\xe0\xf6\x69\xa5\x96\x44\xfe\x51\xe4\xd2\x79\x89\xd6\x2c\x81\xd6\x2c\x63\x55\x4d\xf8\xdb\x2d\x48\xc7\xc7\xa3\xe5\x64\xa2\x44\x9e\xa9\xe5\x4a\xd7\xaa\xc4\xb3\x9a\xb1\xb4\xa1\xdd\x04\x6b\xdd\xf4\x2a\x25\x64\x96\xd9\xd7\x7e\xf1\xf5\x57\xa2\xd4\x19\x75\x9f\x12\x99\x9e\x36\x4b\xe8\xb1\xb0\xb4\x1a\xbe\x69\x2a\x40\xd9\x2c\xaf\x30\xee\x08\x85\x6d\xd4\xc6\xd5\xba\x07\xcd\xef\x6a\xdf\x1c\xb9\x06\x9b\x90\x20\x76\x06\x47\xdd\xd0\x45\x11\xd6\x0b\xb5\x14\x95\x04\x8d\xbd\x5e\xc8\x12\x89\xa5\x41\xb7\xd5\x32\xee\x37\x65\xc7\x9c\xea\xa6\xac\x69\xad\xf3\x0a\xd7\x94\xc5\x0a\x92\xfa\xb0\xaa\xf4\x44\x4e\xb0\xa3\x79\xa1\x66\xf6\xfb\x17\x96\xe6\x20\x6e\xcd\x2e\x1f\xc9\x1f\xbc\x4f\x97\x45\x6e\x28\x59\x17\x18\x85\x9c\xe8\xaa\x66\xab\x92\x85\x08\x1c\xce\xd6\x7e\x5b\xaf\xf2\x7e\xe7\xca\xde\x1b\x3d\xd3\x62\x55\xa9\x03\x24\x0f\xd8\xf4\x7f\xc7\x5d\xce\xdf\xbc\xdf\x1e\x07\x89\x80\xf2\x53\x1a\x8a\xc6\xc1\xc6\x62\x52\x4c\x9a\x72\xba\xb0\xc3\x4e\x74\x5e\xa8\x6a\x55\x48\x17\x9f\x73\x58\x2b\x59\x65\xfa\xa6\xa4\x78\xc5\x12\x77\x53\x6e\xbc\xe0\xe0\x96\xdc\xfc\x0d\xd6\xfc\x1f\x39\x8e\x23\xa5\xa6\x9d\x36\xf6\x8f\x22\x2c\x6d\x6a\x5c\x5f\x8b\xff\x03\xbb\x00\xbf\x13\xd7\x3f\x0a\x71\xfd\x1d\x02\x60\x5a\xc4\xf5\x31\x21\x30\xf8\x7a\x51\xa9\x55\xa5\x8c\x3d\x4c\xa1\xbf\x23\x8f\x99\xcc\x63\x15\x65\xd4\x6a\x23\xe9\x8e\x4f\xf0\x07\x54\xb5\x8f\x8e\xdc\x66\x95\xf1\xca\x03\xe0\x82\x1f\x31\xea\x5a\x55\x3e\x84\xdd\x9b\xcd\xe0\xbc\x9e\xac\xc5\x42\x96\x2d\x35\xb9\xf3\x45\x64\xb1\x7d\x0e\xc1\xb1\x6f\x63\xb1\x04\x23\x66\x83\x88\xdb\x92\x63\x47\x3b\xb5\x70\x8c\x88\x0f\xba\x78\xce\x5c\x15\x43\x38\x27\x31\xe6\x97\x34\x38\xbe\xfa\x34\x09\x67\x35\x68\xa7\x06\x74\xd3\xda\x90\x96\x6a\xf0\x21\xb2\x71\x44\xb9\xb0\x2c\x9c\x91\x52\x07\xe2\x80\x4c\x38\x6d\x85\xd7\xf7\xc8\x7b\x23\x05\x45\xcb\x7a\x89\x45\x62\xbc\x81\x1b\x2e\xa1\xc9\xb6\xf2\xdd\xda\x37\x6d\x22\x4d\x0d\x04\x61\x75\x36\x5a\x6f\x40\xf6\x06\x32\x15\xc4\xca\xb6\xac\x61\xec\xc1\x86\xa4\xd3\xfb\x87\x77\xb8\x4d\x1c\x49\xe1\x8c\xd1\x05\x06\x59\xf0\x17\x6c\x58\xd6\x8e\x15\xed\x58\x4a\xfe\x46\x4f\x2c\x67\xb1\x49\x2b\x7a\x1b\x35\x24\xed\x78\xdd\xc7\xbc\xca\xd9\xae\xa2\x4f\x63\xe6\xfc\x07\xa2\x77\xc1\x4d\x6b\xf6\xc2\x65\xcf\x05\x98\xa4\xa9\xd4\x10\xc8\x19\x51\xcd\x88\x7f\x93\x5b\x1c\xe7\x7f\x70\x7f\x47\x36\x8e\x17\x10\xae\xad\xe2\xfd\xc4\x0d\x0d\x53\x5f\x5b\xb9\x6d\x5e\x4b\x68\x71\xc8\xd9\x8a\xec\x8a\x65\xa0\xe0\xd1\x0e\x49\xd5\x7e\x4a\x5e\xef\xcb\x36\xf6\x66\xe9\x9b\x2d\xa7\xf6\x77\x9e\xef\x12\xc7\xf4\xe2\x68\x14\x00\xe7\x73\xb2\xed\x1a\xa0\x4d\xcb\x0a\xff\xab\x55\x41\x76\x2a\x38\x3f\x25\x14\x58\xd8\x6e\xc4\x1f\xc5\x0e\x22\xbf\x42\x14\x6a\x44\xee\x2f\xa0\x87\xe1\x1d\xb1\xed\x7f\x17\xee\x90\xa0\x67\x28\xf6\x76\x34\xbd\xa5\x0c\x3e\x9f\x17\x7e\xcb\x9b\x2d\xaa\x5b\xbf\x5a\x1d\x06\x3b\x44\x2b\x5c\x72\xf1\xbd\x2e\xf0\x87\x95\xae\x0e\x0e\xd1\x2a\x2f\xeb\xa2\xec\xf7\x80\x61\x54\x32\x07\x0e\xc5\x6a\x59\xa3\xd5\x56\xdd\xf2\x56\xd7\xea\x76\x64\x6a\x9f\x38\x94\x5e\xe5\xb3\x83\x74\xad\xb8\x6f\x75\xf4\x5a\xf7\x0c\x05\x71\xfd\x50\xf6\x06\x83\x2d\x0d\xab\x3b\x9f\x1d\x24\x99\xed\xd1\xf7\x39\x5f\xa8\xfd\xbc\x77\x6e\x71\xbe\x3c\x7f\xf9\xea\xc5\x17\x43\x0c\x85\x6c\x57\x78\xfe\x8e\x84\xa4\xe9\x42\x6b\x7b\xe6\x46\x09\x10\x98\x26\xd3\x94\xa8\xae\x71\x1d\xdd\x14\xf9\x7c\x51\x17\x6b\xb1\xd4\xd0\xc5\xb9\xbc\x56\x65\xae\xca\xba\x7d\xb0\xe2\x89\x6d\xd4\xc6\x78\xa1\x0d\x11\xeb\xfd\xc1\x8e\x4d\xf5\x81\x3b\x29\x3d\x0b\xf7\x09\x3e\x1d\x56\x5c\x77\xe6\xb8\x5d\xbd\x41\x54\x3a\xf7\x87\x52\x94\x34\x00\x09\x39\x6e\x8f\x1a\x77\xd4\x31\x59\x93\x9d\x90\x16\x89\xdb\x8d\x95\xba\x82\x80\x87\xeb\x3c\x6b\x64\xc1\x82\x89\x36\x6f\xfe\x24\x8a\xbf\xd3\x99\x1b\x1d\x01\x0c\x05\x69\xee\x86\xb7\xa2\xb5\x4f\x96\x90\xde\x11\xf9\x80\xf9\xe0\x6f\x16\xba\xaa\xa7\x4d\xed\x58\x49\x32\x7a\xcf\x88\x42\xcf\x93\xa1\x31\x21\x84\x0d\x69\xaf\xb4\x8f\x2d\x77\xd6\xbb\x25\xd8\x2f\x47\x22\xce\xd2\xc0\xd1\x16\xfa\xc6\xeb\x0b\x76\x75\x30\xa8\xcc\x67\x67\x6c\x48\xcb\x20\x4f\x68\x3c\xf7\xe9\xad\x38\xb3\x84\xf1\xfe\xbd\x4b\x7e\x8e\x0f\x76\xf2\x87\x86\x19\xa0\xb5\x44\x95\x60\xcf\x80\x80\x82\x99\xcc\x8b\xa6\x6a\x8d\xec\x2e\x87\xb6\x86\x7b\x8d\x8c\x14\x99\x8c\xb5\x8a\xdc\xa5\x29\x5e\xa1\xd1\x36\x47\xb0\xa9\x65\x55\xab\x0c\x9c\x34\x50\x38\x1f\xad\xfc\x0b\x69\xca\x5e\x8d\x25\x4d\x08\x44\xac\xa1\xd9\x6b\x24\xf4\xd8\x3b\x5f\x48\x88\x3d\xb0\x0f\x6f\x78\x61\x5e\x8a\x65\x5e\x14\xb9\x51\x53\x5d\x66\xc6\x1b\x91\xc2\x2c\x6a\xad\xaf\x78\x18\x07\x9f\x0e\x0e\x16\xe6\xe4\x4b\x38\x75\x4c\x28\x6b\x2a\x54\x3d\x37\xcd\x67\xa9\x21\x45\x6b\x6a\x79\x54\x74\xf4\x46\x08\x88\xe6\x46\xaf\x25\x2c\xe0\x50\xf6\xcd\x42\xbc\x2c\x43\x66\x6b\xa6\x6a\x7b\x80\x83\x32\xe9\x96\x33\x68\xaa\x20\x2b\x14\x0a\xfa\xa1\xfb\x12\x32\x35\x24\xf4\x09\xf0\x45\x84\x44\x98\x88\xe2\xb0\xfc\x11\xc9\x2b\x5d\xdf\xf4\xba\x59\x4e\x50\xb5\x5c\xca\xdb\x7c\xd9\x2c\x03\x89\x89\x78\x27\x85\xe8\xad\x1b\xe7\x45\x10\x25\x3e\x9d\xd3\x5e\xa9\x94\x9c\x2e\x70\x8b\xcc\xc4\x91\x45\x08\x65\x7e\x71\x3b\xa8\x3b\x19\x8c\xa2\x4c\x48\xb2\xa7\x42\xe2\xcb\x50\xa8\x6b\x55\xd2\x8a\xcd\x50\x8b\xb7\x13\x4a\xbe\x6b\x29\x6f\xbf\x0c\x24\x7f\x94\x2c\x53\xd5\x50\x2b\x08\x96\x5d\x25\xd0\x6b\xa4\x64\x55\xac\xc5\x44\x4d\x65\x83\x19\xac\xb2\x14\x4d\xa9\x6e\x57\x38\x15\x4b\x5e\x79\x87\x70\xbe\x92\x65\x3e\x0d\x79\x00\x28\x96\xba\xf8\x85\x95\x2a\x33\x9f\xc2\xe8\x98\x6f\x60\x84\xff\xd9\xa8\x46\xf9\x86\xa3\xec\xc8\x04\xbe\x8f\x8e\x07\xe2\xfe\x21\xad\x0c\x91\xd3\x1f\xa0\x9a\xc4\x23\x99\x82\x05\x1a\xc5\x48\x3b\x12\xb8\x70\x10\x9b\x5b\xf9\x3e\x3b\x23\xcf\x5f\xbd\x7a\xf7\xf6\xc5\x9b\xb7\x6f\x28\xd4\x63\x46\xa7\xe6\x8b\xb2\x59\xf6\x7b\x7f\x90\x45\x01\x16\x13\xf3\x79\x6f\x90\x06\x4d\x70\xc5\x9b\xf3\xd0\x8d\xca\x7f\xfb\xed\x38\xdb\x2e\x87\x2c\xcb\xbd\x08\xc8\x6b\x85\x0c\xec\xfb\x86\x56\x5c\x13\xe6\x0d\x30\xbd\x4e\xaf\xea\x77\x2b\x59\xd7\xaa\x2a\x43\x79\x0a\xba\x40\xc9\x0c\xee\xaf\xf7\xef\x71\x5e\x1e\x75\xae\x13\x07\xbe\xeb\x39\x18\x9d\x81\x1a\x43\x58\x00\xb9\x60\x99\xd2\xc3\x7c\xb3\xd4\x2b\xc0\xbb\x75\x7e\xc4\xc8\xd0\x1f\xc5\x1f\xfc\xb3\x3e\x93\xfc\xc7\x90\x49\xce\x42\x0e\x1c\xd8\xc5\x8f\x14\x0c\x7f\x78\x28\x5e\x6b\x47\x2a\x37\xaa\x57\x59\x91\xc2\x12\xe7\xbd\xbb\x67\x67\xf7\xb8\x0d\xdd\x5e\xb9\x27\x8c\xe6\xa0\x4b\x2b\x3a\x83\xb1\x01\x87\xb2\x4b\x1b\x08\xe5\x0d\x18\x19\x3c\xbb\xe3\x63\x79\xd7\x57\x59\x1b\x67\x5b\xa1\x7e\x2d\x5e\x00\x76\x68\xbc\x7b\x76\x96\xe0\x31\x16\x89\x1d\x1c\x93\x88\xbf\x55\xf3\x17\xb7\x2b\x2e\x12\x43\xbb\x75\x82\x04\x42\x01\xea\xf0\x2a\xed\x60\xc0\xb4\x08\x3b\xb1\xbc\x64\xc5\x9c\x50\x46\x76\x91\x20\x41\x0f\xbe\x7b\x26\x22\x52\xd8\xf0\x38\x97\x98\xc9\x59\xeb\xa8\xd9\xd1\x28\x50\x59\xa0\x8a\x07\x0f\xd2\xfe\xeb\xec\x66\xe2\x7a\x2f\xd0\x67\x53\x82\x68\x07\x52\x31\xee\xf6\x5a\x8b\x39\x62\x1c\x8f\x1d\xe3\x72\x37\xc3\x63\x4e\x17\x87\xb4\x2f\xa0\x10\x7c\xde\xae\x90\x86\xe4\x72\x48\x42\xd7\x37\x9b\xc2\x38\xde\x23\xa2\x3f\xf8\x0d\xf0\x0d\xfd\xb7\x89\xd8\x52\xf0\x37\x01\x42\x5e\xce\xc4\x16\xfe\x32\x64\x1c\x4b\x56\x31\xa3\x72\x8f\x4b\xdf\x8d\x07\x9a\xf9\x78\x8e\x82\xe2\xcf\xad\x9c\x82\x86\x60\x89\x53\xc1\x41\xd1\x3d\x06\x4e\xde\x8d\x01\x2f\x74\x04\x0d\x43\xe2\x7d\xd4\x61\xb3\x8c\xe1\xc0\x05\xa4\xe4\x25\xc5\x9f\x94\xfe\x50\x94\x19\x9e\x07\xd2\x7d\x02\x4c\x09\x4c\x7f\x28\xda\x28\x9f\xce\x1f\x62\x3d\xe1\xe0\x61\xca\xc1\xfe\x1c\xf1\x1b\xcf\x78\x3c\xc7\x6a\x31\xa7\x16\xb7\xd9\x50\x87\x62\x67\x98\x5e\x47\x91\x0a\x3e\xb6\x4b\x73\x61\x9c\x74\x43\x2c\x61\x18\xf3\x22\xbf\xdc\xa1\xbf\xd3\xff\xdc\x57\x45\x95\x2f\xee\xb2\xd7\x47\x41\xa5\x56\x0d\x80\x8c\xb3\xde\x6b\xcd\x57\x56\x65\x34\x63\x08\x4d\xad\xf2\x5a\x55\xb9\x44\xe5\xbb\xf5\x82\x1d\x1b\xef\xdf\xb5\xbe\x52\x19\xa9\x05\xd4\xa2\x4b\x97\x90\x1d\xe6\xb2\xb5\x59\x6a\x72\xce\x04\x37\xb4\x37\x78\xdd\x1f\xd3\x38\x80\xa7\x82\x95\x27\xc4\x4e\xcc\xb5\x68\xca\xa9\x6c\xe6\x8b\x2d\xa6\x99\x98\x2a\x74\xf9\x1d\x3d\xf1\xc2\x8d\xff\xae\x75\x9c\x2d\x95\x31\x72\xae\x86\x50\xef\x61\x08\x25\x22\x2c\xf6\x08\xa9\x74\xd7\x97\x60\xed\xb9\x11\xf7\xb1\x82\xf4\x06\xe2\xec\x4c\x1c\x89\xf7\xef\x69\x55\x5b\xa3\x99\x5a\xd6\x8d\x79\x46\xa2\x4b\x6f\x40\xf5\x5c\x99\xe1\x88\x24\x58\x19\x87\x93\x5b\xee\x46\x17\xac\x7c\xd7\x1f\x90\x55\xaf\xd2\x4b\x21\x43\x69\x5a\x21\xbe\xb7\x27\x93\x1b\xcc\x39\x8b\xe7\x1a\x36\xb5\x95\x9a\x65\x81\x8a\x79\x5e\xa7\xc6\xfd\xd8\x8c\x81\x2f\x08\x27\x9b\xf4\x96\x9b\xbc\xc6\xdc\x49\x2b\x84\x19\x39\xb3\xda\xa1\xf9\xa9\x51\xc5\x94\x62\xb6\x90\x08\xdc\x97\xdf\x09\x56\x21\x51\x57\x78\x2c\x04\x0a\x6e\x4b\xdd\xad\x0e\x68\x6c\x51\xa0\x16\xa2\x5f\x0f\x30\x80\xb6\x9e\x1f\x39\xe1\xf4\x85\x9d\xc6\x57\xf8\xe0\xbb\x41\x6c\x99\x23\xa5\x6e\x29\xd7\x10\xdf\x0e\x29\xb5\xf6\xe3\x50\xbc\x5d\xc8\x32\x2b\xac\xf0\xeb\xfd\x4c\x09\xa6\x9c\x09\x35\xcc\x93\xbe\xc9\xb2\x14\x90\xf6\xcf\x44\x0f\x77\x41\x2f\x14\x0e\x6d\x4f\x15\x89\xc1\x37\x81\x8b\x6f\x7e\xf3\xe2\xf5\x17\x2f\x5f\xff\x19\xf1\xe1\x06\x85\xdc\x6f\x1c\xd3\xef\x74\xcc\x3a\x0e\x78\x09\xd3\xb6\x18\x82\x27\x1f\x88\x5e\x10\xb7\x61\xc3\xb7\xb9\x4e\xc7\x14\xd2\x38\xca\xd6\x4b\xdd\xba\x3c\x10\xbd\x21\xbc\x0d\x4a\xa8\x3c\x10\xbd\x67\xf6\x0f\xd8\x59\x61\xae\xf1\xd8\x31\xb5\x75\x00\xa4\x06\xb4\xc0\x93\x48\xab\x68\x67\xc6\x5b\x56\xe4\x75\x2d\xae\x4f\xc6\x65\x88\xd3\x58\xc2\x7a\xbd\xca\x2d\xb1\xaf\x45\xa5\x0e\xaa\xa6\x34\x22\xaf\x21\x99\x44\x46\xd5\x90\x86\x11\x1b\x2b\x54\xed\xfc\x29\x5f\x7c\xfd\x95\xd5\x56\x27\x79\x91\xff\x15\x8d\x22\x66\xa1\xab\xfa\xa0\x56\xd5\x12\x14\x72\xdd\xd4\x51\xd2\x84\xcb\x86\xca\xd4\xb4\x90\x15\xf3\x27\x31\x33\x4c\x48\xaf\xe0\x72\xc7\x44\xeb\x42\xc9\x12\x73\xc4\xcd\x55\xbe\xa2\xd4\x0f\x08\x03\xa9\x1a\x45\x19\x44\x74\xd1\x1e\xfd\x57\xf9\x6a\x45\x51\x32\xa9\xd3\x0a\x38\x33\xc3\x8d\xc8\x97\x4b\x95\xe5\xb2\x56\x90\x1e\x0d\x28\x22\xdb\x3b\xc8\x08\xce\xb7\x0b\x4c\xc7\x32\x91\x3c\x0e\x17\xdb\x5e\x1c\xa2\x8b\x5b\x27\x45\x22\xda\xbc\x3a\xf9\xcc\x10\x93\x7c\xb7\xf3\x4e\x70\x7f\xe4\x4e\x04\x81\x4d\x0e\x02\x08\xc4\xac\x48\x4b\x95\x73\x55\x61\x55\x1c\x9f\x39\x33\x1a\x8d\x86\xe2\x68\x00\x46\x89\xa5\x5c\x4f\x3c\x07\x5d\xc1\x31\x47\xe6\x13\xbb\xd0\xe0\x3a\xbd\x91\x6b\x96\x99\x59\x57\xf9\x1c\x6c\x9f\xa0\x8c\xd7\x14\xc4\xa3\xdc\x53\xaa\xcc\xdc\x68\xbe\x04\x54\x0d\x59\x3a\x46\x8b\x1b\x05\x7d\x1b\x29\xd7\x9c\xea\x95\xa3\x83\xdd\xa8\xba\x2e\x94\x00\xff\x38\x11\x8c\x6e\x2a\x37\x14\x7e\xe1\xd4\x52\x43\xb3\x82\xf8\xc9\x38\x17\xa8\xc6\x9e\x98\x29\x86\xe3\x72\x91\x43\x20\x1a\x12\xc0\x13\x5e\x96\xda\x77\xfa\xa5\xba\x11\x5f\xc8\x5a\xf5\x07\x03\x71\x90\xd8\xa3\x62\x8e\x34\x8f\x12\x65\xfd\x65\x28\x7e\xc0\x6c\x66\xae\x8a\xae\xe5\x4e\x78\x1e\x0e\x3b\x59\x53\x64\xb2\xe3\x0f\x61\xd0\x91\x7d\x68\xd3\x53\x4b\xf3\x56\xbf\x41\x2b\x18\x31\x19\xf7\x45\x03\xc6\x99\x4c\xb3\x5c\xca\x2a\xff\xab\x22\x0d\x33\x91\x67\x98\x1d\x28\x35\xd7\xb6\x31\x8c\xb8\xdd\xd2\x76\x74\x83\x73\xcc\xc5\xb7\xb1\xa2\x2e\xad\x72\x2d\xbf\xd8\xcd\x85\x21\xba\x96\x11\xfe\xd8\x98\x3a\xf8\x80\x5b\xb5\xd9\x77\x6d\x58\x7c\x53\x57\x51\x97\x6e\x4f\x58\x0b\x5f\x35\xaf\xe7\xe1\x23\x18\xc8\xdc\xeb\x09\x31\xb8\xb7\x42\xe4\x43\x02\x5c\xdf\x6e\xf2\x5f\xb5\x0f\x46\x6f\xaf\x62\xdd\x53\x4b\xe1\x47\xde\x70\x20\x0a\xe6\x6e\xfa\xa3\xf0\xbf\x3e\x13\xea\x76\x10\x65\x80\x93\xb1\xab\x25\xdd\x54\xe9\x29\x4f\x17\xbe\x39\x7f\xf3\xe6\xc5\x17\x83\xae\xc9\x46\x8f\xc0\x4b\xbc\xee\x4d\xb7\xfc\x8e\xfc\x5c\x3c\x3a\x3a\x1a\x74\x09\xfd\x6f\x0a\x7d\xe3\xcc\x4d\xfa\x2a\xc8\x49\xd1\x66\x48\x86\x1b\xc4\x5b\x95\xef\xe0\xce\xaf\x39\xf3\x5f\x83\xe7\x74\x84\x7c\xbf\x57\xc1\x0e\x45\x94\xc1\x30\x46\x07\xbd\xb3\x36\xe1\xee\x8a\x0c\x0d\x9b\x5e\x46\xa8\xe3\x2f\x5b\xb1\x24\x2a\xf6\xaa\xc8\xb3\xd7\x26\x89\xab\xd2\xb2\x55\xda\x25\x4e\x28\xb7\x98\xaa\x3a\x44\x1f\xaa\x62\xd1\x4d\x24\xed\x25\x8b\x73\x06\x3a\xc9\x03\xee\x54\x4d\xf9\x5a\xdd\xd6\x24\x6f\xff\x26\x2c\x23\x6c\x74\x12\xfd\xef\x30\x6b\x77\x46\xa9\x98\x21\x9d\x93\xee\xd0\x99\xcd\xdd\xf9\x8d\x69\x40\x22\x22\x63\xaa\x3d\xa2\xa0\x4e\xdb\xa4\x99\xcf\xd7\x21\xcc\xd3\x39\x77\x5c\x6c\x28\xbd\x01\xd4\x3f\x8c\x2f\xc3\x99\x96\x42\xdd\x5a\x8d\x03\xa5\x90\x52\xc8\xb9\xcc\x4b\xd2\x5e\xca\x38\x3d\x98\xb7\xd9\x40\xbf\x27\x1c\xe1\x50\x7c\x85\xea\xf4\x40\xc0\xb0\x77\x6a\x14\xd2\xd4\x42\x4e\x23\xe9\x1c\x6b\xc1\xc8\x06\xca\xef\xc1\xb9\x8d\x7d\x40\xec\x80\x88\x23\x3a\xb4\x29\xf2\xcd\x1f\xdc\x50\x48\x0b\x0a\x2c\x05\x3b\x2d\x56\x69\xf0\xb1\xb6\x08\x7c\x07\x2a\x03\x5a\x45\xa1\x0a\x68\x75\xce\x00\xd0\xd6\xac\x42\x61\x50\xa3\x48\x25\xf3\x90\xe8\x0d\x12\x84\x1d\x0b\x32\x63\x21\xdf\xbe\x5e\x40\xda\x04\xa5\x63\x3b\x15\xae\x25\xc1\xbe\x2c\x21\x82\x1a\xa3\x93\x2a\x75\xe0\xd6\x32\x68\xde\xe7\xaf\xbe\x3f\xff\xef\x37\x62\xa9\xaf\x95\x81\x5c\x5b\xe7\x49\x75\xb3\x5c\xe5\x45\x4b\xc2\xfc\x5b\x9c\x2d\xad\xb8\xab\x42\xd6\xea\x0d\xee\xed\xb7\x58\x8c\xc8\xfe\x1a\xbb\xa9\x64\x5d\xab\xe5\xaa\x26\xed\x4c\x4d\x75\x95\x45\xde\x64\xf0\x74\xc9\x6a\x73\x22\xd3\xe6\xf3\xeb\x5b\xd5\x75\x82\xb1\xb3\x67\xc8\x66\x18\x57\xd7\x73\x1c\xe4\x95\xac\x83\xc6\xec\x0b\x4d\xfd\x22\x16\xc2\x5e\xe5\x4b\x1e\x51\x4a\x34\xac\x70\xc1\x5e\x05\xca\xa8\x5b\x3f\x74\xfe\xa0\x03\x11\x4a\x5b\x66\xba\x99\x14\xea\x60\x05\x96\x7a\x08\xdf\xc6\xe1\xe8\xf6\x32\x37\x8d\x89\x72\x9c\x2d\xb1\x60\xe1\x27\x6c\x45\x53\x66\xea\xd6\x95\x43\x21\xbe\xea\x2c\x17\x8c\xb5\x42\x23\x1a\x00\xfd\xfc\x4c\x1c\x75\x31\x63\x57\xe5\xdf\x02\x85\x4a\xff\xdb\xcf\x86\xb8\x01\x36\x06\x3f\x88\x12\xc2\x01\x28\x64\xd1\x5e\xf8\xa9\x51\xcd\x86\xa4\xec\xf6\x7a\x73\x06\xdb\x4e\xec\xf2\x4a\x39\x72\xe8\xf7\xef\xc5\xdd\xd4\x8f\x82\xb2\xe6\xa0\xc5\xd3\xdb\x72\x35\x3b\x28\x5b\x1e\xb7\x4f\x3f\xed\x16\x61\x3f\x3f\x6b\x79\xe7\x36\xc9\x30\x5f\xc5\xce\x46\x8a\xd8\x27\xff\xe1\x10\xa3\x5f\x79\x59\xd0\x51\xaf\xe3\x24\xea\x9e\x35\x9d\x48\x87\x87\xe2\x1b\xa5\xae\x9c\xd2\x52\xeb\x15\x0e\x06\xe9\x08\x68\xf0\x71\x35\x8a\xd1\xeb\x5a\x61\x79\x33\xd2\x4c\x90\xc4\x26\xba\xa9\x71\x2c\x64\xa5\x43\xe6\x30\xa1\x4a\xc6\x59\x6e\xea\xa6\x9a\xc0\x4b\xf2\xd2\xef\x20\x12\x78\xed\x57\xe5\x54\x18\xd9\x0e\x43\x7c\x99\x46\xc0\xea\x01\xf8\xc2\xaa\x29\x21\x46\x10\x62\x90\x23\x1f\x4f\xbc\x86\x17\x47\x97\xde\xef\x44\xf2\x46\x87\xab\xf7\x8f\x5d\x26\x0a\x84\x7f\xc6\xa4\x7f\x2f\xd7\xa2\xf9\x15\xee\x5b\xba\xe9\xc7\xe9\x21\x14\x3a\xc0\x62\x14\x07\xb1\xcf\x06\x6e\x24\xb5\x92\xda\x8a\x53\xfb\x56\x3f\x19\x36\x84\x04\xfa\x07\xdc\x47\xba\x1a\x3f\x0c\xba\x9f\x4a\xe3\xa9\xe0\xfd\xa1\x5b\xa0\xa6\xc2\x0e\x49\xe5\x4e\xcc\xd8\x21\x4f\x58\xa9\x6b\x64\x46\xde\xd2\x68\x71\x45\xe7\x69\x08\xde\xe9\xa4\x6d\x6f\xaa\x75\x86\x63\x18\x1e\x59\xe9\x2f\x93\xc0\xc5\x76\x7a\x6f\xab\xba\xb1\xbe\x92\xa0\xdb\x3b\xc9\x78\xc5\x85\x56\xa4\x40\x47\x32\x33\xde\xa4\x74\x66\x0c\xd6\x13\xcc\xe1\xd5\xad\x1b\xb9\x32\x48\xed\xb7\xa4\xab\x45\xfa\xd1\x7e\x0f\xc4\x6f\x24\xf6\x66\x16\xf9\xac\xee\xff\x2a\x3d\xca\x55\x66\xb5\xc4\xe1\xa6\xf2\x2b\xf5\xa9\x0e\xfd\xe3\x6f\xb3\xce\xf1\x6e\xaf\x9a\x72\x23\x2a\x0e\x0f\x05\x87\x72\x56\x31\x84\x83\x6f\x0f\xfe\x0c\x14\x72\xa9\xa1\xd6\x12\x85\xae\x28\x0c\x29\x74\xdd\x99\xeb\x1a\x52\x18\xa0\x12\xca\x52\x49\x2c\x9a\x5d\x81\xe3\xb1\xae\xe0\x30\x77\xe7\x5e\x9d\x96\xe9\xee\xde\x4b\x3b\xd7\xa8\x6a\xca\xdf\x5c\xdd\xed\x38\xb7\xbd\x9f\x8f\x87\x52\x79\x3b\x06\x2b\x31\x15\x99\xe0\x9b\xb2\x65\x72\x35\x50\x8c\x5b\x4c\x65\x09\xc9\x6f\xc6\x34\x14\x50\x85\xc6\x4b\xae\xde\x30\xdb\xaf\x8f\x7e\x66\xb2\x7b\x69\x6a\x25\xb3\x21\x58\x9a\xd0\x8a\xc7\x63\xa4\x31\x79\xd1\x05\x31\xdb\x0f\xf7\x61\x43\xdb\x6d\xc8\x7e\x10\x30\x05\x16\x7a\x4e\x49\x28\xe8\x73\x4e\x52\x50\xa8\xfa\xe6\x5a\x2c\xe4\x6a\x65\x45\x37\x92\xc8\x21\x3e\x53\xcf\x7d\x76\x2c\xe9\x7d\x9b\x23\x09\x47\x42\xfc\x69\xed\xd3\x80\x28\xea\x89\xb2\xac\x5d\x69\x84\x21\x89\xe6\x14\x2c\x73\x9d\xab\x1b\xe5\x2b\xc7\x77\x14\x9e\xd6\x33\x8c\xd6\x9a\x54\xfa\xc6\xa8\xca\xf0\x84\x23\xba\x46\xe9\x9e\xb9\x81\xf0\xab\x6a\xc9\x27\x0b\x6a\x98\x0b\x72\xc1\xfa\xcc\xdf\x2b\xcc\x3f\x47\x8f\x30\x66\x0e\x92\x14\xa0\x51\x79\x41\xf3\xa5\x97\x12\x68\xa9\xed\x41\xba\xc2\xca\x62\x3e\x11\x75\x16\x27\x19\x0e\x05\x26\x76\x16\x4a\x62\xc2\xa3\x9f\x22\xaa\x4b\x33\x30\xe4\x96\x2e\xc8\x13\x23\x2b\x7c\x06\x91\x8f\xff\xcb\xcb\x0d\x45\xa2\x85\xae\xda\x27\x1e\x2f\x27\x7b\x07\x2a\xe3\x51\xca\x17\xac\x3d\xc6\x48\x25\x61\x76\x28\x9a\x7d\x84\xc0\xba\xa1\x09\xa8\xb7\x9f\xf6\xbe\x25\xc1\xc7\x9b\x75\x5a\xf2\xaa\x77\xf7\xf4\xcd\xa0\xb7\xc1\xa2\x49\x8c\xb3\xed\x2e\x65\x06\xe2\xcf\x3a\xc3\x0e\xbd\x15\xf8\xb3\x3d\xec\x18\x5f\xea\x6a\x29\xeb\x38\x1a\x51\x1a\xcb\xc5\xa6\x14\x26\x40\x57\xf7\xc5\x10\xb7\x61\x71\x54\x2d\x0d\xf7\xf8\x4f\x8d\x38\x13\xfd\xa5\x11\x87\x62\x7c\x74\x74\x34\x18\xd5\xfa\xcb\xfc\x56\x65\xfd\x63\x98\xb5\xf7\x6d\x4f\x8d\xc5\x95\xe9\xc5\x75\x76\x68\x0f\xbb\x5e\x88\xce\x48\x04\x46\xe2\xf5\xde\x01\x0a\xce\xa6\xbc\x45\xf1\x48\x14\x82\x9d\x4d\x73\x12\xf8\xae\x96\x39\xec\x2c\x40\xc3\xdc\xb3\x40\x28\xee\xf1\x8b\xfc\xb2\xc3\xb5\xc7\x3a\xb1\xf9\x09\xb6\x55\xa1\xee\x30\x83\xb7\xc1\xd1\xef\xb8\xe4\xb3\xad\x04\xda\x71\xfc\x78\x92\xc5\x6c\x63\xa8\x1c\xe6\x15\x99\xf8\x90\x41\x63\x00\xf1\x56\x67\x8d\x98\xc5\xa1\x76\x1d\x39\x6d\x2e\x3e\x5e\x65\xed\x10\x85\x21\xf0\x1e\x3c\xd7\x79\xc3\x15\x48\xcd\xd6\x25\x6c\x77\x4d\x75\x33\x58\x32\xe6\x79\x88\xbb\xf2\xce\x1d\x4c\x63\x0a\xb9\x58\x39\xf0\x01\xab\xaa\x91\x46\xe5\xdc\x64\x60\x3c\xa3\xce\x1e\xe2\x7e\xc8\x9b\xcc\x32\xe7\x3d\x37\x51\xc0\x20\xf0\xf4\x60\x0c\xa1\xc9\x87\xba\x6a\x94\xb7\x4d\x95\x29\xa8\x3a\x38\xd6\x17\xa4\xd2\x93\xbe\x06\xa8\x17\x0e\x0e\x56\x95\xd6\x33\x71\x53\xd9\x03\x89\x42\xe6\x9d\x05\x0e\xcc\x52\xac\x30\xed\x56\x3b\x11\xed\x00\xcc\x0e\xb0\x62\x80\x3d\x36\x5c\xfc\x7c\xc8\x42\x8b\xd3\x03\x22\xf7\x61\x68\xe4\xb0\x35\x0d\x90\xb2\x00\x61\x7c\xb4\x20\x47\x19\x63\xce\xac\x86\x61\x10\xce\x18\x55\x84\x78\x2f\xff\x26\x17\x10\xb6\xf5\x93\xf0\x7b\x42\x64\x2f\xaa\x3b\xdb\x07\x6c\xb3\x07\xaf\x26\xa4\x35\xf0\x63\xbd\xa0\x9d\x4b\xb0\x0b\x81\x09\xe6\xd2\xa4\x02\xcc\x5d\xa0\xdf\xda\xc1\xd9\x3b\xd0\xb7\xfd\x33\x5b\xc9\x78\x2e\x6e\x73\x43\x76\xc1\x47\x0e\xc9\x22\x36\x37\x44\xb9\xdf\x28\x1f\x29\x0f\xbe\xf5\xa2\xf0\xc5\x48\x9d\x15\x8f\x85\x98\xdf\x28\xd8\xd3\x2c\xb2\xfc\x6f\x11\x5b\xff\x77\x8b\xab\x77\x87\x13\x99\x4e\xa3\x84\xd5\x4e\x72\x70\xae\x14\xfc\x8b\x82\x4b\x9c\xbd\xf1\xbc\x8c\xa3\x76\x92\xaf\x02\x6b\x3a\x14\x9f\x24\xdd\xa2\xd6\x62\xae\x4a\x55\x49\x88\x50\xc0\x21\x3b\xe3\x6e\xfc\xfc\x19\xfb\xfe\x46\x53\x7d\x10\xea\x11\xe8\x32\x13\x69\x8a\xdb\x76\x10\x3b\x5f\xe9\x0b\xc4\x99\xe8\x51\x40\x79\xef\xb3\xdd\x4f\xe1\x99\x28\xec\x53\xf8\xeb\x3e\x0f\xa1\xd3\x09\x1e\xa2\xb0\x2d\x9e\x17\xe9\xb4\x2c\x28\x83\x56\x76\x3b\x70\x45\x1f\xb4\x0e\x5d\x81\xe4\x39\x00\x2e\xae\x4a\xa8\xf8\x51\x6a\x8c\x3a\xd5\x33\x57\xa7\x04\xcd\x9d\x66\x73\x7c\x78\x47\xe0\xd9\x46\x4f\x2c\xc8\x67\x8e\xfb\xe0\x2f\xdd\x21\xe1\x1d\x83\xf2\x36\x0c\x9a\xa2\x99\x37\x95\xc7\xea\xed\x31\x1e\x13\x09\xba\x4d\xe4\x24\x15\xf4\x86\x91\x47\x8e\x3f\x80\xd7\x79\xef\x9a\x37\x76\xdb\x32\xaf\xc1\x56\xfe\xb8\x0f\x61\x75\xca\xe0\xad\xfa\xb2\x7b\x8a\xc6\xf0\x81\x15\x75\x73\x49\x4c\xc4\xc1\xb9\xc9\xb7\xa4\xf8\xf4\x53\x67\x87\xc6\x48\x8e\x77\xb1\x81\x3d\xca\xa5\xcc\xf2\x8c\x4a\xac\x62\xb9\x6e\x4a\x8f\x90\x65\xc6\x6e\x41\x6d\x38\x0a\x6d\xce\x97\xca\x9b\x86\xd1\x06\xd2\x0e\xc3\xda\x95\xb9\x18\xe2\xe3\x12\x96\xe1\xf8\x0f\x72\x02\x93\x70\x09\x16\x76\x45\xc5\x73\xb0\x0d\x94\x9c\xd6\x14\xce\xcc\xc3\x40\xad\x38\x02\x1e\x89\x0d\xda\x2a\xf4\xdd\x58\xe6\x65\x83\x55\x29\x78\x54\x20\x16\x5d\xe7\xda\x6b\x60\x62\x50\x94\xf6\x7e\xa9\xeb\xfb\x42\x36\xb5\x5e\xca\x9a\x22\xbf\x40\x80\xa2\x4c\xa4\xf8\xbb\x72\x5f\x38\x8f\x25\x96\xed\x49\x4b\x88\x09\xce\x11\xa3\x7c\xf9\xba\x62\xbb\x74\x13\xff\x34\x75\x5c\x06\xd4\x57\x09\x98\xb6\xdb\x00\xd9\xf5\x35\xae\x56\xee\x1e\xf3\xd3\x25\x85\x0b\x75\xb8\x47\x22\x1a\xe4\xe7\x50\x4a\xc0\x77\x63\x02\x6e\x05\x70\x76\xd0\x6d\xa8\xe9\xdb\x0b\x7b\x65\x0f\x52\x64\x68\x88\xeb\x15\x4b\xb6\xc6\x58\xb1\xd8\xd3\x7b\x5a\xad\xd8\x3e\xfc\xa7\xa8\xcb\x10\x3c\x45\x96\x22\xb0\xc4\x61\xd7\x6b\xa8\x5a\x2c\x99\x7c\xcd\xa4\x0a\xbe\xab\x80\x6f\xd3\x8b\x32\x2d\x8c\x1e\x85\x4a\x73\xf4\x86\x2d\xb5\x90\x71\x26\x2e\x6a\xcf\xee\x1d\xa8\xc7\x92\x07\xcf\x30\xb4\x9d\xb4\x8f\x61\x3d\x0e\xe9\xc3\xfb\x48\x9f\xc3\x26\xd4\xe8\x26\xf4\x03\x1b\x5f\x09\xab\xd4\xb5\x37\xfb\x78\xc5\x00\x54\x89\x49\x43\x01\x6c\x60\x5a\x73\xb5\xdc\x5d\xf0\x5c\xd0\xab\x78\x82\x3c\x6c\xa9\x38\x82\x16\x02\x91\x59\x29\xe6\x24\x8b\xc2\xd7\x9e\x41\x9d\x4a\x8a\x99\xba\x11\x85\x5c\xab\x0a\x0c\x56\x3a\x0e\xb3\x74\xdd\x54\xe6\xda\xd5\x0f\xe4\x9a\x19\xbe\x0b\x38\x0d\x24\x68\xac\x54\x85\x43\x79\x6d\x42\x96\x42\x99\x3a\x5f\x92\xcd\x68\xa1\x6f\x44\xa1\xcb\x39\xaa\x5f\xbe\x08\x38\x86\xed\x59\xd5\xae\x83\x38\x9c\x3a\x00\xe9\x0d\x4b\xc3\x53\xfe\xb8\xe0\xe7\x8b\x6e\xee\x7b\xae\x30\x0c\x75\x18\x2e\x82\xce\xed\xd8\x3e\xec\x23\x48\x62\x8c\x62\xfa\xfc\x7d\x16\x90\x16\x76\x69\x47\x04\x20\xdd\x8c\x22\xff\x96\x26\x6d\x92\xba\x72\xf5\x73\x98\xa7\x59\x3b\x02\xde\x58\x41\xbb\xe5\xc3\xe7\x06\x4f\x5f\xe3\xbd\x33\x7a\x15\xcb\xc6\xfa\xc6\x79\x74\xcf\x07\x9c\x94\x73\xcb\xd9\x20\x4a\xc5\x8a\xd0\xa1\x74\x69\xad\xa9\xe2\x6c\x4d\xfa\x91\x97\x81\xbc\x52\xbb\xe7\x8a\x44\x0c\x27\x66\xcc\xf6\x5b\x86\x61\x9a\xc9\x12\x75\x9f\xdc\xd1\x39\xbd\x7f\xe0\xa4\x10\xa9\x84\xee\x84\x9c\xd8\x67\xf3\x6d\x53\xb6\x02\xf0\x82\x9d\xae\x1d\xee\x94\x3e\x13\x82\x1e\x9c\x47\x2a\x44\x2c\x79\xab\x8f\xac\xe6\x50\x93\xce\xfb\xa8\xff\x20\x8e\xc5\xfb\xf7\x0c\x13\xf4\x02\xbb\x00\x9b\x7d\x5e\x91\xd8\xd7\x15\x11\x49\x15\xef\xad\x92\x71\xa3\xb1\x32\x2c\xa6\x3b\xa9\x9f\x1a\x59\xec\xb9\x7e\xf0\xd8\x8b\xff\x8c\x96\x4e\x4e\xeb\x46\x16\x43\xaf\xaa\xb0\x88\x61\xbc\x05\xfe\x5a\x7f\x97\xfb\xc8\x3d\x84\x95\xc0\x3c\x84\x3f\xf2\xf0\xa6\xc3\xcb\xdd\x33\xff\x8a\xae\x28\x81\x90\xf8\xda\xd9\xf2\x96\x0f\xf5\x99\x78\xf0\x20\x1f\x78\xaf\x32\xde\xbb\xc8\x2f\xf9\x2b\x2e\xf2\xcb\xb8\xc0\x06\x7b\x41\x94\x5b\xc1\x70\x7c\x0e\xb6\x1f\x3a\x1e\x4b\x7a\x27\x09\x88\xd8\x48\x00\xd2\xc4\x00\xe1\xce\xcc\xe4\x15\x3c\x00\x8b\x84\xb6\xc6\x50\xe3\x4e\x26\x8b\xf5\xce\xce\xce\x7a\x42\xaf\xac\x88\x07\x85\x15\x42\x78\x3c\x16\xff\x82\x02\xeb\x53\xad\xaa\x29\x0b\x31\xa3\x28\xaa\x8d\xbd\x2f\xec\xec\x96\xb2\xba\x72\xc7\x9d\x8b\x79\xc0\x42\x8f\x9c\xb2\x20\x99\x97\xc5\x74\x1a\x52\xc2\x52\x76\xf5\xff\x91\xf7\xa6\xfd\x6d\xe3\x48\xe2\xf0\xfb\x7c\x0a\x24\xff\xdd\xa6\x94\x48\xb2\x28\xdb\xf2\x91\x71\xf7\x4a\xb2\xd4\xf1\xe4\xdc\xd8\x49\x76\xc7\x9d\xce\x42\x14\x64\xb1\x4d\x91\x1a\x92\xb2\xac\x9e\x64\x3e\xfb\xf3\x43\x55\xe1\x22\x29\x1f\x49\x7a\x66\x76\x9f\xbc\x88\x6d\x10\x28\x00\x85\x42\xa1\x50\xa8\xe3\xf1\x17\x35\x7d\x88\xcf\x80\xbf\xce\x05\x97\x17\x30\x6b\xae\x76\x7d\x8d\x09\x13\xed\x54\xaf\x77\x15\x27\x94\x1b\x04\x82\xfe\xf4\x62\xf9\x3b\xf2\x34\x28\x50\x6a\xbd\x70\x22\xe2\x3c\x9c\xae\x1d\x23\x26\x83\x04\xeb\x9d\x0f\xc2\x38\xc0\xa9\x49\xee\xe0\x4a\x1a\x50\x42\xf3\x34\x8c\xc4\x61\x14\xc6\x5a\xc1\xa5\x3c\x78\x20\xfd\xd8\x5d\x77\x0f\x65\xb9\x28\x99\x40\x15\xb7\x50\x43\x4f\x8e\x14\x54\x5b\xec\x5d\x1e\x46\x61\xbe\x76\x5e\xd0\x16\xa9\xc8\xf3\xb5\x0a\x7d\x4a\x91\x28\xec\xd4\x40\x73\x9e\xd7\x00\x93\x76\xa0\x19\x39\x94\x64\x4a\x18\x3e\x3a\x62\x1e\xfa\x12\x7a\x05\x72\x87\xef\xc4\x11\xe1\x2e\x96\xa7\xec\x88\x3c\x6c\x09\xe8\x53\xfd\x91\xa7\x6b\x94\x9b\xc1\x0e\x29\xc7\x90\x2f\xad\x39\x5f\xe8\xfc\xf4\xac\x26\x07\xa1\x80\x17\x32\xdc\x8b\x3a\xe6\x8f\x50\x1b\x52\xe7\xa7\x66\x3f\x32\xdf\xa8\xdb\x4d\xba\x0b\xba\xbd\xcc\x78\x26\x59\x22\xa4\x1c\x6e\xa0\x92\x49\x2e\x5c\x32\x9d\x32\xb9\xbe\x79\xc6\x92\x55\x0c\x4e\x31\xea\xbd\xcb\x40\x02\xf3\x19\x93\x95\x58\x9e\x4c\xe0\x77\x79\xc1\xc3\x58\xde\x6a\xc9\x5e\x93\x7a\x82\x9b\xad\xea\xaa\xe5\x62\x4a\x4e\x16\xb2\x96\xad\xad\x78\x37\xa4\xdf\x77\x83\xdd\xa8\x4b\x63\x55\x4d\xe7\x4c\xc0\xfd\x72\x74\x64\xf8\x51\x49\xc6\xdf\xda\x62\xc7\xda\xb5\x2c\x48\xe6\xf3\xc4\x64\x80\x5d\x2f\x44\x46\xc1\x44\xed\x7b\x1c\x8f\x3d\xd0\x51\x61\x58\x9f\x85\x72\x0b\x2d\x84\xf5\x31\x84\x22\xcf\x34\xc5\xf1\xcb\x6c\xbe\x22\xfe\x90\x24\x85\x18\x83\x68\xe9\xdd\xf9\x13\x05\xce\xd2\x05\x10\x38\x8b\x1d\x42\x8e\x3c\x3b\x3a\x48\xcd\x53\xfb\x43\x56\x8f\x6d\x0b\x3e\xac\x74\x21\x72\x30\xd2\x4d\x5f\x24\x01\x9c\xf4\x9f\x6a\x7e\xbd\xda\xca\x8f\x68\x1f\xc7\x0c\x75\xc0\xa9\x1b\xfc\xa5\xf0\x93\x99\xc6\x66\x16\x6e\x58\xb7\x64\xf5\x7f\x00\x6f\xc6\x78\x1d\xd6\xdd\x5c\x89\x64\xd8\xf1\xff\xc8\x6e\xff\x07\xc3\xa6\x81\xe5\x17\x18\xce\x3e\xca\xd3\x65\x98\xcd\x1e\xb9\x27\xc6\x3f\x9e\xc5\x6b\xd1\xf2\x5e\x8c\xfe\x7f\x3b\xf7\xae\x92\x7c\x5c\x66\x5d\xd8\xc0\xe0\xee\x53\xdc\xbc\xdf\x65\xa3\x7c\xfb\x36\x21\x6e\x4e\xdb\xa4\x78\x3f\x51\x16\x35\x80\x3e\x48\x2e\x01\x9c\x14\xae\x28\x2a\x51\x15\x5a\xac\x80\x89\x4c\x79\x7f\x70\x36\x09\xd3\x7c\xcd\x66\xe8\x27\x7b\x92\x23\x25\x65\x4e\x24\xb2\x06\xda\xf4\xc0\x05\x1c\xb3\x50\x8b\x6b\x3e\x97\x6c\x56\x69\x67\xb1\x0f\x1d\x21\x5e\xaf\x9d\x6b\xe0\x5d\x79\x97\x84\x81\x9d\x80\xe1\xec\x99\x86\x04\x85\xf8\xaa\x27\xa7\xd8\x62\xac\xad\x42\xad\xd2\x27\x38\x28\xe8\x21\x8b\xfc\x1c\x8d\xf3\x62\x83\xf9\x10\xe6\x3f\xa7\x08\x7c\x29\x8e\x3a\x4b\x18\x6d\x6a\xed\xad\xaf\x68\xbd\xa7\x4e\x11\x1a\x3a\xb2\x20\xf6\xc8\xc1\x2b\x9e\xc2\x8f\xee\x48\x8c\xe5\x45\xb6\x09\xd3\x4c\xbb\xec\x1d\xa4\xae\x11\x43\xcc\x9c\xbb\xc1\xfc\x4a\x12\x28\x22\xe3\x48\x1b\x26\xd9\x67\xfb\xb9\x85\xd9\x27\xac\xf3\xb1\x28\x0a\x20\x45\x80\x0b\x7c\x6d\xab\x76\xfe\xeb\xd6\xc7\x27\x87\xbf\x4c\x9e\xd4\xe5\x7f\xbf\xd4\x7f\xfa\xb7\x2d\xd7\x58\x56\x36\xfa\x49\xfe\x7f\xee\x7f\x94\x14\xff\xd3\x4f\x3f\x79\x25\x35\xe8\x87\x14\x22\x60\x19\xf5\x67\x62\xbf\x46\xa3\xf8\x73\x17\xdc\x91\x62\xcc\x51\x09\x20\xc8\x42\x68\x17\x79\x97\xd3\x56\x20\xaa\x8a\xb3\x49\x5e\xf2\xf4\xd2\xb5\x92\x21\x0a\x96\x52\xc8\x32\xb7\x1e\xcc\xab\xd5\x3a\x92\xaa\x50\x33\x02\xeb\x52\x60\xc4\xee\x26\xc1\x28\x29\xb6\x99\x84\x32\xfd\xc9\xf2\x64\xb1\x49\x5f\x20\xb9\x89\x42\x98\xbe\xf9\x5b\x18\x84\x04\x8f\x89\x25\x40\xde\x05\x83\xa0\x47\x2b\x64\x28\x76\x50\x58\x75\xb1\xad\x97\x55\xea\x76\x3b\xcb\x6b\x79\xb3\x56\x92\x7c\x27\xcb\x2b\xa0\xe2\x12\xfd\x93\x57\xe0\x2e\xd4\x87\xf1\x53\xab\x54\xbf\x15\x13\xc7\x87\x30\x7b\xe2\x5b\x5b\xec\xf4\xf5\xbb\xb7\x83\x21\x1b\x9d\xbc\x18\x1e\xb2\x28\x1c\x4f\x92\x7c\xeb\xb7\x6c\x2b\x0a\xc7\x9f\x96\xf9\x74\xbf\xf5\x5b\xf6\x00\x3c\x1a\x16\xeb\x34\x94\x3c\xb2\x16\xd4\x59\xa7\xed\x77\x80\x07\x0e\x66\x69\x32\x0f\x97\x73\xf6\xfa\x94\xf5\x96\xf9\x2c\x49\xb3\x16\xeb\x45\x11\x83\xba\xf0\x72\x23\xd2\x2b\x79\xe7\x92\xb7\x8e\xcc\x18\x59\x64\xc9\x32\x0d\x28\xdd\x73\x98\xb1\x8b\xe4\x4a\xa4\xb1\x8a\x3f\xda\x3f\x3d\x6e\x66\xf9\x3a\x12\x2c\x0a\x03\x11\x2b\x67\x21\x32\xb5\xd8\xda\xc2\xf4\x37\xea\xd0\x7e\x71\x32\x18\xbe\x3a\x1d\xc2\xc1\xd2\x7a\xf0\xc0\x5b\x66\x28\xd2\x07\x39\xbc\xf3\x6d\xb1\xb3\xd7\xc7\xaf\x6b\x13\x7e\x15\x4e\xc6\x22\xae\x1f\xb2\x0f\xca\x32\x90\x18\xa9\x88\x83\x64\x42\xae\x14\xc0\x8c\x55\x54\x6e\x31\x69\x3c\x80\x3c\x98\x14\x34\x1b\x97\x97\xc2\xeb\xc6\xe8\x55\x15\xc6\x4d\x65\xb9\xe6\x46\xf3\x96\x53\x96\xad\x67\x79\xbe\xc8\x0e\xb7\xb6\x56\xe1\x65\xd8\x5a\xcd\x78\xbe\xba\x68\x25\xe9\x05\xfc\xbd\x85\x67\xe6\x90\x06\x60\x57\x57\x83\x6a\x65\x0b\x11\xd8\xed\x8c\x74\x89\x06\x23\xd3\x65\xc4\xde\x9d\x8d\x9a\xfb\x6c\x22\x24\x3a\x2d\x09\xe4\xdd\xd9\x68\xff\x18\x0b\xcb\x44\x42\x9e\xd6\x26\xf6\xcb\x78\x9d\x8b\x0c\xbd\xac\x09\xb3\xfa\x91\x5a\xfc\x75\x29\x28\xec\x21\x10\x12\x54\x7d\x21\x6b\x52\xfc\x27\x02\x16\x82\x3d\xca\x45\x2a\x20\x0e\xf0\x44\x60\x76\x6f\x36\x16\x12\xbb\x38\xbc\x09\x24\x56\x30\x00\x7e\x64\x6d\x2b\xab\xf6\x44\xbc\x81\x16\x2e\xd8\x28\x59\x89\x94\x8d\x61\xd1\x93\xd8\xd2\x71\x9b\x3e\x6e\x80\x0a\xad\xfb\xd0\x18\xc0\x3a\x39\xb8\x02\xc8\xe7\xc0\x51\x18\x26\x34\xf2\x9c\x37\x58\xce\x2f\xc1\x3d\x21\x96\x6c\x2d\x40\xcf\x06\x34\x65\x04\xaf\xb7\x45\x2a\xae\xc2\x64\x09\x62\x05\x64\x49\xce\xf2\x54\xf0\x39\x1c\xee\x3a\x6d\x0e\x52\x96\x48\x8b\xec\xf4\x54\xab\x5f\x53\x6c\x0c\x91\x3d\x64\xd5\x86\x89\xfa\xad\x64\x6b\x73\x27\x50\x52\xc4\xa9\x75\x8b\x44\xbd\xb8\x44\xc3\x32\x0e\x4b\x31\xc3\x25\x42\xd8\x58\xe4\x2b\x21\x62\xd6\xbe\x6e\xb7\xad\x0c\x8d\xed\xeb\xd1\xc8\x95\x30\xd4\xb0\x20\x42\xbd\x1c\x16\xad\x18\x21\xc1\xbe\x9d\x48\x4c\xf9\x5d\x13\xf3\xaa\x4c\x70\x16\x93\x42\x30\x95\x2f\x67\xf2\x8c\x4f\x45\xae\x93\x9c\x57\x69\xdb\xb2\x3c\xad\x32\x98\x83\xac\xa0\xa4\x27\x08\x66\x3c\x1d\x24\x13\xd1\xcb\x6b\xa1\x75\xf5\x2f\xd2\xaa\xe5\xed\x84\x15\x02\xf6\xa7\x23\xd6\xbe\xde\x1b\xb9\xe1\x67\x21\x18\x90\x82\x6b\xc1\x74\x5c\x5c\xdb\xd7\x83\xb6\x6c\x1e\xb0\x1f\x7e\x60\x04\xe8\xd8\x01\x54\xa2\xe9\x80\x35\x99\x6c\xf6\xd4\xad\x62\xef\x26\xff\x69\xd1\xab\xc4\x26\xde\xeb\xfd\x76\xe5\x48\x86\xa5\x91\x0c\xef\x32\x92\xe1\x4d\x23\xe9\xdc\x36\x92\xea\xa1\x8c\x4a\x43\x19\xed\xdd\x61\x28\xa3\x9b\x86\xb2\x7d\xf3\x50\xfc\x76\x7b\xd3\x60\xf6\x4b\x83\xe9\xdf\x65\x30\xfb\x37\x0c\x66\xe7\xe6\xc1\x74\xda\x9b\x47\x33\x28\x8d\xe6\xf8\x2e\xa3\x19\xdc\x30\x9a\xdd\x9b\x47\xb3\xd3\xae\x1a\x4e\x89\xd6\xbd\x5f\x96\xd3\xe9\x74\xe2\x15\x62\xbe\xb9\xb5\x71\x12\xfb\xa5\xf5\xed\x97\x49\x4d\x8f\xb0\xd9\x7c\xba\x79\x7a\xb5\x42\xc9\x9f\xfe\xc4\xba\xf2\x6e\x59\xc3\x79\xef\xb7\xeb\xa6\xf1\xad\xdb\x99\xa1\x22\xee\xe7\x24\x07\xcf\x80\x28\x32\xa7\x16\x3d\x57\x28\x3f\x4b\x8c\x7c\x82\xc7\x09\x78\x7b\xb8\x10\xa6\x61\x94\xcb\x03\x71\x99\xb3\x6c\x99\xa6\xc9\x05\xbe\xcb\x86\xa9\xd6\xd4\x31\xc5\x7d\xac\xb9\xb8\x53\x79\x6a\xd5\x04\x3e\x63\xe6\x58\x5c\xa6\x82\x25\xed\xe7\xcf\x12\xc9\xc7\xfb\x6d\x44\xb3\x6e\x27\xd1\x6d\x80\x20\xaf\x19\x8d\xea\xe5\xd6\xa6\xd6\x8f\xb0\x35\x46\xb2\x9a\x83\xa5\x8d\xab\x5e\x49\x21\x84\x15\x10\x51\x84\x3c\x91\x88\xf5\xab\x1c\xa5\xcb\x7c\xb1\xcc\x5b\x4e\xf5\xe2\x8c\x69\x87\x16\x47\xa1\xc7\x81\xe7\x4e\x4b\x9e\xab\x03\x62\xe4\xa6\x7d\xfd\xa9\xd3\xa8\x72\x7c\x98\xaa\xda\x59\xac\x56\xa1\x82\x19\x4f\xb3\xc4\x32\xee\x30\x9c\x92\xbd\x33\xad\xd1\x13\x56\xb3\xa6\xfa\xe3\x8f\x3f\x32\xbf\x5d\x67\x3f\xb0\xf6\xf5\xf6\x68\x54\x2f\xc7\x86\x6b\x5f\x1f\x0f\xb0\x99\xb5\xb4\x54\xbb\x38\xd3\x07\x55\xbf\x7f\xd9\xb4\x93\xa5\xa8\x94\x24\xf0\x38\x8f\x82\x5c\x18\xb3\xf9\x32\xca\xc3\x26\x08\x01\x66\x33\xbc\x15\xab\x30\x9e\x90\xbc\x82\x21\x6c\x6c\x20\xe8\xdf\x11\x25\xe4\x0a\x01\x0e\xbc\x12\x42\xeb\x36\x9e\xb1\x49\x34\x24\x9a\x30\x9c\xe0\x8b\xa5\xa2\xd6\x77\xf6\x54\xe4\x95\x92\x99\x11\xc9\x5a\x56\x68\x35\x1d\x38\x3d\x10\xce\x13\x05\x19\xd3\xc0\x05\x4c\x68\xd1\x2c\x34\x5e\xf8\x10\x36\xe2\xff\x37\xe2\x18\x36\x90\x42\x99\x2d\x7c\xc9\x5b\x9d\x63\xfb\x57\x53\x0f\xc1\x96\xf8\x56\xab\xd7\xa9\x39\xd6\x77\x93\x49\xc4\x4a\x6c\x76\x3a\xc6\x81\xc1\x8a\xe9\x1b\x71\xe1\xea\x75\x0c\x11\x93\xc0\x61\x8c\x9b\xeb\xcb\x95\x48\x33\x3b\xff\x91\xba\xed\x99\x18\x0d\xb2\xb6\xb3\xbf\x19\xa8\x8f\x80\x0b\xad\x30\x43\x46\xf6\x13\xfb\x80\xc1\x2a\x17\x0b\x11\x67\x92\x0b\x41\x08\x8b\x4b\xb1\x5e\xc0\x85\x04\x7d\x91\xd1\x3c\x0d\x4c\x59\xc8\x70\x1a\xc6\x22\x25\x3d\x1e\x10\xe3\x87\xf4\x71\x92\xfa\xfb\x2f\xdf\xfc\x74\x03\xb1\x9c\x99\x3b\x24\x18\x84\x4a\xac\x6c\x5e\x43\xfb\xb6\x89\xd4\x04\xa8\x6a\x6c\xa2\x2b\xfb\xb1\x08\xb7\x74\x81\x18\x35\x9d\x65\x78\x27\x21\x8a\xd2\xa4\x84\x44\x80\xfd\x15\x89\xe0\x7b\x48\xe0\xf2\xb8\x85\x84\x98\xcb\x38\x84\xb1\x58\x57\x3e\xd2\x96\xc8\x96\x77\x95\xd6\x89\x37\x96\x44\x6a\xfb\xfc\x0a\x40\xaa\x19\x8d\x46\xc7\xce\x93\x18\x35\xdf\xaf\x68\xde\xb7\x9b\x43\xe4\x83\x27\xbe\x33\x25\xfb\x58\x92\xa3\x9c\x54\x8c\xf2\x89\x5f\x10\x45\xcc\x58\x27\xb2\xb3\x49\xd5\x58\x09\x45\xa7\x2b\x88\x41\x5b\xa2\x60\xfb\x84\x0a\x8c\x1c\x8b\x47\x8a\x3e\x14\xa4\x50\x24\x8f\x94\x27\xac\x36\xd1\x85\x8e\x78\x81\xc1\x76\x37\x9c\x0a\x65\x8c\xdd\x78\x88\x94\x2b\x3b\xd1\x7f\x8d\x1c\x10\xc8\x9d\xa7\x76\x3a\x21\x4e\x73\x7e\xb3\xa4\x15\xf7\xab\x9b\x6e\x57\x6e\xe8\x61\x6b\x6d\x35\x9c\x32\xa0\xaa\xd3\x1a\xae\x66\x9f\x65\x33\x79\x22\x77\xcd\xc9\x5a\x71\xd3\x2a\xf7\xe2\x4a\x4c\x37\x76\x33\xb4\xba\xf1\x3b\xd5\xfd\x74\x9c\x7e\xb6\x1e\xdb\x5d\x29\xf1\xec\xf1\xd6\xdd\xfa\x1b\xd9\xfd\xed\x57\xf7\xb7\xfd\xd4\x5e\xb2\xd5\x2c\x8c\x04\xab\x39\x9a\x11\x33\xb9\x0a\x39\xfd\xc6\xfe\xf7\xa1\x7f\x1a\x40\xad\xcb\x1e\x1b\x08\x75\x25\xf6\xd4\x9d\x37\xe8\xd2\x01\xbf\x41\xe3\x98\xcf\xc2\x74\xf2\x69\xc1\xd3\x7c\xbd\xb5\x0a\x56\xe1\x24\x9f\x81\x0a\x72\x15\x6c\x52\x40\xee\x7c\xb5\x02\x52\x72\xc5\x55\xf0\x0f\x54\x41\x5a\xf1\xef\xad\x43\x3b\x0a\xc7\x29\x24\x7e\xce\x18\x59\x87\xea\xfc\xd0\x84\x81\xd6\x6f\x19\x9b\x27\x93\x25\x3a\xf7\xc6\xf2\x74\xf9\x2d\xd3\x4f\xbd\x49\x1a\x5e\x80\x16\xac\x90\x45\x90\xfc\x85\x71\x80\x3c\x3f\x84\x53\x94\xb4\x8a\xf1\x62\xfe\x5b\x06\x6a\xc4\x05\x0f\x2e\xf9\x85\xd8\x32\x5d\xc1\x89\xa1\x06\x6b\x8d\x53\x05\x84\x4a\xa6\xa0\x1f\x5f\x66\xec\xf9\x72\x16\xcb\x8b\x14\x36\xad\xd5\x0b\x23\xb0\x2c\xb7\xa7\x89\xe4\x7d\x70\xec\x5d\x2f\x22\x1e\xd3\x08\x93\xb9\xc8\xcc\x6c\xf5\x44\x06\x05\x40\x87\x85\xa0\x56\x3c\xae\xc8\x98\x68\x46\xc1\xe3\x09\x5b\x05\x99\xfa\xb3\xa6\x33\xa8\x83\x20\x71\x32\x1c\x0e\xd9\x69\x3e\x61\x7e\xbb\xdd\x69\xf9\xcd\x4e\xbb\xed\xd7\xe1\xb8\x7b\x87\xc7\x97\x92\x59\x24\xae\x0e\xb7\xb6\x56\xab\x55\x2b\x59\x88\x18\x42\x19\x00\xca\x92\x38\x0a\x63\xb1\x58\x8e\xb3\xad\x76\x7b\xef\xa0\xbd\x73\xb0\xb7\xbb\xa5\x1d\xec\x34\x26\x67\xf9\x3c\xfa\x36\x38\x99\x03\x88\x82\x45\x4d\xc3\x6b\x31\x69\xc2\x17\xba\x75\xb1\x89\xb8\x0a\x03\x91\x35\xd8\x0b\x9e\x87\xb1\x91\x61\x20\xec\x39\x4b\x82\x60\xb9\x58\x6b\xaf\x4a\x09\xe6\x51\x20\xa2\xe8\x11\x5b\x24\x59\xa8\xd0\x87\xf6\x63\x00\xb6\x21\xc5\xe7\x54\xf0\x8c\x85\x13\x91\x5c\xa4\x7c\x31\x0b\x03\x36\xf8\xf3\x73\x0b\x32\x98\xfc\x22\x60\x29\x78\x65\x4b\x29\xef\x8a\x28\xca\x5a\xec\x24\xce\x05\x3c\xab\x42\x24\xd5\x7c\xad\x25\x5d\xf4\x34\xe7\x51\x53\x3d\x9a\x43\x4a\x2d\x7c\x69\xc4\x70\x0b\xb5\x5c\x44\x22\x5f\x2f\x04\xee\xb9\xba\x25\x8e\xa9\xc6\x19\xd3\x0f\x26\xe0\xc5\x00\xf7\x02\xad\xb9\xd7\x79\x30\xf9\x45\x2a\x80\x3e\x58\x12\x2b\xff\x79\x0d\x8b\x8c\x90\xf9\xe4\x8a\x43\x6c\xa5\xc7\x4a\xcb\x9d\x25\x29\xa4\x24\x4b\x56\x6c\x0e\x7e\xed\x22\x8a\x34\x96\xb2\x16\x7b\x95\x30\x91\xe5\x7c\x1c\x41\xde\x48\x7c\x72\x85\x35\xce\x72\x1e\x4f\x78\x3a\xc9\x30\xcd\x3b\xe3\x10\x45\x23\x73\xfa\x7f\xa7\xa4\x23\x6b\x1c\x66\x7d\x1e\x50\xce\x9d\x8a\x7e\x25\x88\x0a\x44\xb4\xc8\x27\x36\x4d\x96\x79\x18\x0b\xb0\xbb\x04\xac\x62\xac\x1f\x15\x78\x4b\x2e\x2e\xec\x00\x78\x59\x97\xeb\x34\x16\x33\x7e\x15\xca\xa9\xf2\x0c\x53\x78\x67\xb0\x9d\x58\xba\x8c\xf0\x81\xdc\xca\x75\x06\x37\x8e\x45\x9a\x5c\x85\x13\x13\x23\x40\x4d\x65\x90\xc4\x99\xe4\x0a\x4b\x9d\xdd\x6a\x94\xa4\xa8\x43\x27\xb2\xe1\x91\x45\x34\x0d\xa7\xb1\xc2\x19\xb0\x84\x30\x08\x73\x0a\x2c\x00\xbb\x35\xb3\x65\xf1\x26\xe0\x03\x49\xfe\x2a\xe4\x00\x05\xa7\x64\xd2\xa5\x0a\x36\xe4\x59\xce\x7a\x59\x88\xf7\x85\xd1\x32\x8a\x3e\x40\x8b\xda\xa8\xde\x60\x1f\xa4\x28\x5f\xfb\x50\x6f\xb0\x67\x3c\x9a\xd2\xf6\xa9\x3d\xab\xe3\x33\xfb\x2b\x9e\xa6\xc9\x8a\xd5\x5e\xf1\xba\x95\xc3\x08\x63\xb3\xe1\x25\x32\xc3\x68\x75\x38\x85\x94\xbc\x49\x18\x9f\x8f\xc3\x8b\xa5\xa4\x71\x08\x99\x44\x0b\x8d\xc0\x39\x1a\xe9\xe3\x62\xd1\x52\x2f\x33\xd1\x02\x14\x59\x5b\x94\x8e\x0e\x33\x7a\xd6\x03\xa8\xc9\x32\x63\xb5\x5e\x1d\x82\x41\x50\x2e\x46\x79\x22\x00\xec\x60\x96\x84\x81\xc4\xc1\x42\xc4\x93\x8c\x2d\x96\x90\xdb\x09\x62\x8a\x2d\x52\x31\x15\xa9\x20\x47\xe6\x31\x0f\x2e\x57\x3c\x9d\xa8\xf8\x1a\x3c\x0f\x69\x53\xe2\x35\x35\x04\x73\xb4\x59\x98\xe5\x49\x4a\x7b\x3c\x49\xd9\x07\x91\x41\x38\xfe\x05\xb8\xf7\x07\x78\x97\x19\xcc\x92\x04\x76\x1e\xb2\x11\x42\x21\xa5\xe6\xca\x84\x33\x25\xb0\x81\x83\xb8\x41\xbf\x2d\x33\x30\xb7\xe1\xda\xf0\x82\x2f\x16\x69\xb2\x48\x43\x29\xff\x46\x49\x7c\x81\xe1\x95\xb3\x24\x5a\xe2\x8b\x28\x86\xd6\x80\xa1\xa8\xfe\xc9\xa9\x6e\x12\x66\x8b\x88\xaf\x69\xf7\xbb\x5d\xf2\x4c\x45\x4d\x23\x0c\x99\xa3\x45\xcd\x4e\x82\x28\x1c\x1b\x40\xf7\x92\xf4\xd6\xac\xb6\xdf\x1c\x87\xb9\xbe\x95\x59\xa0\xc1\x8d\x9d\xfa\x46\x3b\x26\x07\x03\x92\x7e\xfc\x2e\x34\x4e\x24\xdd\xda\xc3\xa0\xc8\x6e\x12\x49\x3f\xa7\x42\x5c\x82\xb7\xd3\x60\x9d\x86\x51\x14\x06\x0d\x26\xf2\xa0\x85\xc7\x15\x78\x6e\xc4\x6b\x96\xaf\x17\x9a\xe1\x06\x14\x3c\x8e\x3b\x7e\xdb\x2f\xe5\x0e\x8e\xe0\x61\x2d\x02\xcf\x2a\x44\x17\x51\x84\x3c\x07\xed\x75\x61\xaf\x92\xbc\xb0\x31\x6a\xaf\xc4\x32\x4f\x79\x44\x94\xde\x62\x43\xc9\xb1\x24\x52\x35\xba\xb5\x9b\xcb\x24\x0c\xe0\xa9\x8b\x5b\x50\x79\xbc\x26\x7f\x8f\xe2\x22\xb4\xd8\x89\xba\x57\x43\xaa\xd8\x7c\x26\x60\xa0\x98\x16\x5d\x0a\x4f\x40\x03\x66\x8a\xe0\xb1\x85\xd9\xe5\x13\xf4\x01\x92\x77\x78\xcd\xe9\xe0\x3c\xc1\xe4\x7a\x7a\x31\x24\x03\x03\x0e\x85\xfe\xa6\xda\x9f\x7a\xf8\x92\x9d\xbe\xe9\x0d\x86\x92\x7c\xdf\xbf\x7e\xf1\xee\xe5\x90\x9d\xbc\x3a\x1b\xfe\xfc\xb6\xf7\xc2\x8a\x9f\x22\xe7\x34\xa6\x84\xc9\xd6\x15\x7a\x22\x0f\xbf\x5c\x6e\x21\xd8\x15\xdc\x5d\xe0\x8b\x68\xbd\x98\xb5\x5c\x31\x06\x40\x68\xbe\x6b\x98\xfd\x5c\xc0\x4e\xe4\x59\x16\x5e\xc4\x06\x90\xc5\xbf\x70\xba\xb2\x7d\x8c\xeb\xe0\xf0\x47\x62\x06\x21\x78\xa7\xa1\x71\x81\xa1\x51\xa3\xf9\xd2\x8e\x6c\x94\xd5\x2d\xe3\x79\x98\x4d\x79\x90\x27\xe9\x5a\x05\x2e\x97\xcb\x00\x2e\x47\x8a\x8e\x24\xfb\x06\x2f\x25\x68\xaa\x8e\x31\xd4\x48\xe1\x49\x66\x58\x32\xc5\x53\x59\x05\xf2\x50\xe1\x2d\xd6\x43\x9f\x92\x79\x82\x89\xee\x95\x56\x4d\x04\x21\x28\x6c\x10\xc1\x2e\xad\xd9\x84\x66\xad\x9f\x1a\x58\x71\x11\xc6\x6b\x77\x03\x03\xd6\x33\xb5\x68\x6b\x01\xd6\x8c\x3c\xce\x56\x38\x91\xb5\x3a\xa6\xd6\x2a\x2b\xb2\x3e\xc1\x8c\x40\xa9\x4e\x1a\x79\x86\x8d\x21\x92\x28\xe6\xea\x69\xb1\x53\x91\xe7\xb4\x8c\xcb\x05\x70\x4d\x29\xb0\x98\xf9\xab\xed\xa3\x8f\xca\x64\x4a\xa2\x46\xc5\x41\x2c\xa1\x80\xb5\x07\x49\x1f\x60\xc9\x96\x82\x46\x8b\xc7\x3c\x5a\x67\x94\xc8\x0c\x82\xaf\x4b\x51\x8b\x57\x49\x03\xc0\x1b\xc6\xcb\x1c\x23\xa4\xaa\x6a\x84\x20\xae\x8d\xaf\x1b\x70\xbc\xe6\x3a\xbb\x0b\x87\xcb\x8e\xde\x8e\x0e\x61\x42\xdc\xd1\xab\x04\x4e\x6e\xe5\xd4\xc6\xa6\x3c\xad\x90\x70\x49\x75\x03\x72\x29\xfd\xbe\x45\xe1\x50\xb7\xf2\xd4\xf7\xb7\x14\xfb\x31\x92\x3f\x6b\x36\x59\xa7\xdd\xde\x6b\xb6\x77\x9b\x9d\x2e\xab\xa9\x19\xed\xb6\xda\x75\xaa\xfd\x46\xa2\x28\xcb\xc8\xb2\x7c\x99\x89\x06\x0b\x92\xc5\xba\x21\x6f\x33\xe1\x74\xdd\x20\x0f\x57\x79\x45\x1a\x2f\x73\x61\x6e\x64\xd3\x7c\x45\xd2\x0c\xb1\x1c\x79\xc6\x2d\x20\xc3\x66\x8c\x1e\xc1\xe0\x38\x27\xe0\x20\x96\x07\xf2\x78\x2d\x25\x0e\x49\x49\xb8\x53\x11\x2d\x74\x6a\x04\x11\x0f\xe7\x28\x0c\xaf\x78\x2a\xab\x85\x82\x2c\x38\x52\x71\x21\xd7\x9b\xb2\x19\x5a\x7d\x2b\x1c\xbd\xe0\x60\x8e\x43\xaa\xc9\x43\x1b\x67\x41\xd4\x0a\xf8\xbc\xc5\x83\xd6\xf2\x72\xeb\xef\xf3\x8b\xcb\xce\xee\xd6\x32\x30\x17\x80\xc0\xb9\x49\xb9\xd7\x20\xad\xad\x56\xe2\x0e\xba\x6c\x45\xcb\x79\x4c\x8c\x02\x93\xb4\x9d\x9c\xbe\x66\x7e\xbb\xbb\xd3\x35\x84\xa2\xd9\x9f\x84\x95\xa9\xbb\x11\x6b\x92\x19\x47\x64\x71\x14\x56\x7b\xf7\x04\x9f\x5c\x80\x14\x4a\x1d\xb4\x5b\xd4\xf4\x35\xc8\x01\x83\xf6\xd6\xc0\x87\x4d\x92\x26\x91\x73\xba\xc6\x13\x76\x3c\x7c\x41\xb1\xb1\x04\xc7\xf8\x26\x8e\x51\xbf\x04\xd7\xf4\x15\xbc\x57\x49\xdc\xcc\x16\x3c\x80\xcd\x19\x4f\xe4\xb1\x1a\xa1\xf4\x10\x24\xf3\x31\xca\xa2\x16\xfc\x1a\xfa\x17\x47\x4c\x9e\x02\x17\x92\x89\x01\x25\xbd\x54\x79\x09\x92\x94\xbd\xd4\x21\xd4\x8a\xbb\xba\xae\x1c\x12\x37\xce\xee\xf4\xf5\xe8\x8c\x3d\xfb\xef\x37\xcf\x86\xaf\x10\x23\xbd\xe3\x4d\x18\xf1\x5d\x8c\x90\x51\xe5\xed\x43\x1d\x4c\x37\x0e\x8f\xe6\x20\xd1\xf0\x97\xe1\xdb\xd7\xec\xc3\xc9\xf1\xd9\x33\x3a\xad\x6a\xef\x9e\x74\xda\xed\xfe\xed\x53\x78\xc6\xe3\x8b\x65\xc4\xfe\xcc\xe7\x09\x83\xe4\x0e\x11\xbb\x4a\x56\x22\xc2\xb5\x51\x56\x30\x71\x96\xc4\x3c\xce\x33\x09\xd7\xf7\xbb\xed\xa6\xfc\x31\x1a\x29\xf0\x34\x92\xcd\x78\xa2\x15\xbb\x51\x3a\x55\x92\xb4\x5c\x14\xab\x58\xca\xdb\x4a\xac\x1e\xa9\x39\x6b\x1c\x49\xf1\x4c\xdf\xc2\x35\x8a\xce\x44\x30\x8b\xe1\x8e\x40\x7e\x8b\xff\xcf\xf7\x37\x60\x82\x00\x76\xd4\x50\x2b\xc5\x65\x9b\x62\x53\x01\x8e\xa1\xb1\x6b\xb9\x13\x2a\x40\xb8\xef\x07\xbf\x5d\x9a\xd6\xd3\x88\x5f\x80\xe8\x1a\xf3\x71\x44\x7c\x64\xbd\x69\x61\xf4\x40\x40\xc7\x24\xe6\xbc\x4c\xd3\x26\x51\xb8\x64\x3c\x60\x9d\x28\x01\xc3\x96\xde\xdf\xdf\x3d\x68\xfa\xb0\x76\x1f\x7e\x7e\xb1\xa3\xd0\x65\x49\x02\xfa\x7c\x28\xed\x46\x25\x37\x6e\x18\x99\xef\x86\x00\x77\x05\x5e\x0c\xbc\xa7\x5e\x56\x5c\x74\x29\xd1\x37\xb4\xb8\x0e\x3e\x1f\x3c\x20\xde\x78\x84\xf9\x5b\xb7\xb6\xd8\x07\xcd\xa2\x24\xc7\x31\x90\x5a\x54\xb5\x15\x2f\xe9\xf6\x85\xa9\xba\xdc\x26\xa5\x39\xe9\x66\xf4\xa5\xd0\x74\x24\x57\x46\x79\x91\x52\x86\x64\x08\xab\x7c\x0b\x15\x68\xb0\x15\xab\x6d\x92\x5a\x3a\x63\x8b\x6f\x81\x69\x46\x6a\x01\x53\xc3\xed\x20\xb4\x53\xd4\xe2\xa9\x90\x89\x71\x12\x37\x93\x2b\x91\x46\x7c\xb1\xa0\xd7\x31\x91\x5e\xf1\x28\x53\x1f\xb3\xd2\xb6\x93\x50\x54\xc8\x05\x10\x8d\x1e\x2d\xe3\x30\x13\x39\x7b\x12\xf0\xfc\xe8\xa5\xa0\x9f\x31\xfe\x1c\x4c\x59\x53\xf2\x34\x86\x7b\x5e\xee\x78\x06\x6c\x85\x05\x8f\x0c\x62\x15\xdb\x3d\x62\xe7\xa0\x97\x3d\x67\xed\xeb\xf6\x76\xbb\xdd\x80\x9f\xdd\x11\xfb\xd8\xc0\xb2\x9d\xfd\xed\x06\xfe\xec\x5a\x65\xfb\x54\x76\xc0\x28\xd5\x19\x94\xef\x1e\xf8\x50\xbe\xdb\x3f\xd6\x75\x77\xfb\x23\x2a\x33\x30\x77\x07\x54\x6f\xd0\x71\xdb\x0f\x76\xa8\x7c\xd7\xaa\xbb\x47\x65\x7b\xba\xac\x4b\xe3\xec\xb6\xb7\x9d\xf6\x5d\x9f\xca\x7d\xd3\xbe\xbb\xd3\xc7\xb2\xdd\xa1\x29\xdb\xa3\x7a\x7b\x6d\xb7\xfd\x71\x17\xcb\x87\x3b\xa6\xee\x70\x8f\xca\xf6\xad\xb2\x1e\x95\x1d\x3b\xed\xf7\xda\x38\xd7\xbd\xb6\x99\xeb\x9e\x8f\x73\xdd\xf3\x7d\x53\xb6\x8d\xfd\xef\xed\xf4\xdc\xf6\x3d\xec\x7f\xaf\xdf\x36\x75\x87\x38\xfe\xbd\xd1\xb6\x2e\x3b\x68\x23\xcc\x83\xb6\x8b\xbf\x83\xed\x41\x83\x7e\x9a\xba\x3b\x54\x77\x67\xdf\x2a\x3b\xa6\x32\x77\xfc\x07\xbb\x54\x77\xd7\xcc\xff\xa0\xdb\xc1\xb2\xae\xd5\xff\x3e\xd5\xdb\xf7\xdd\xf6\x7d\xea\xbf\x6f\xf5\x4f\x6b\x7d\x30\xb0\x60\x0e\xa8\xff\x41\xa1\xff\x21\xf5\x35\x34\x7d\xf5\x68\xae\x3d\x98\x2b\x95\xd1\x3c\x7b\x30\x4f\xd3\xbe\x47\x73\xed\xed\x58\x75\x77\xf6\xa8\x6c\xdf\x2a\xeb\x53\x99\xdb\x7f\x8f\xe8\xa2\xb7\x67\xd6\xaa\x47\x73\xed\xed\x5b\x30\x69\x9e\xbd\x7e\xa1\x7f\x9a\x6b\xcf\xa2\xdf\x1e\xd1\x6f\x6f\x60\xf5\x4f\xf3\xef\x15\xe6\xdf\xa3\xf9\xf7\xac\xf9\xf7\x69\xfe\xfd\xb6\x19\x53\x9f\xe6\xdf\x2f\xcc\xbf\xbf\x3d\xa2\x72\x43\x7f\x7d\xc2\x49\x7f\xc7\x82\x49\xeb\xdf\x2f\xcc\xbf\xbf\x8b\xf4\xd7\xdf\x35\x7b\xbd\xbf\x8f\x63\xea\x5b\xf3\xef\x0f\x10\x4f\xfd\x81\xbb\x7f\xfa\x34\xaf\xfe\xc0\xec\xff\xc1\xf6\x10\xca\x06\x3b\x86\xa6\x07\x3b\x5d\x2a\xdb\x77\xda\x0f\x76\x7a\x54\x6e\xb5\xdf\xdd\xc5\x32\x6b\x4c\x03\xc2\xff\xa0\x80\xff\x01\xf1\x9a\x81\xc5\x6b\x06\x03\xea\x6b\x60\xb5\x1f\x50\xfb\x02\xfe\x07\x84\xff\x81\x85\xff\x63\xc2\xdf\xf1\x8e\x5d\x76\x4c\x65\x6e\xfb\xe3\x01\x8e\xff\x78\xd0\x33\x75\x8f\x11\xe6\xf1\xf1\x8e\x55\xd6\xa5\xb2\xae\xd3\x7e\xb8\x8d\x7d\x0d\xb7\xcd\x5a\x0f\xb7\x77\xa8\xcc\xc0\x1c\x12\x4d\x0f\x77\x86\x6e\xfb\x3e\xb5\xef\x5b\xed\xfb\xd4\xbe\x7f\x60\x95\xf5\xa9\xcc\xc5\xdf\x70\x80\x7c\x7d\x68\xad\xdf\xc8\xc7\xb2\x91\x6f\xda\x8f\xb6\x71\x4d\x46\xdb\xbb\x4e\xfb\xd1\xf6\x1e\x95\xef\x59\x75\x0f\xa8\xcc\x6a\xbf\x87\xe3\x1c\xed\xb9\xe3\x1f\xed\x23\x5d\x8d\xf6\x0d\xae\x46\xfb\x5d\x2a\xb3\x60\x1e\x50\xbd\x83\x3d\xb7\xfd\x01\xf5\x65\xf1\x9f\x11\xad\xff\xc8\xac\xbf\xdf\xee\xc0\xfa\xf9\xed\x6d\x87\x7e\xfd\xf6\x76\x87\xca\x3b\xa6\xee\x76\x97\xca\xf6\xac\xb2\x03\x2a\x3b\x70\xdb\xef\xee\x63\xf9\xae\x9e\xab\x3c\x83\xa1\x4c\x1e\xc3\xaa\x6c\x7b\x17\xe8\x54\xfe\x74\xda\xef\xf9\xd8\xff\x9e\xaf\xe7\xef\xef\xd1\x98\xf6\xb6\xad\xb2\x5d\x2a\xdb\xdd\x76\xdb\xef\x51\xf9\xde\xb6\xa9\x8b\xeb\xef\xef\xf5\x77\xad\xb2\x3d\x2a\x3b\x76\xdb\x23\xae\xe4\x4f\x53\x77\x80\x73\xdd\x3b\xb6\x60\x1e\x1f\x53\x99\xdb\x7e\xbf\x0d\x74\xe5\xef\xb7\x35\xfd\xf8\xfb\x3d\x6c\xbf\xdf\x33\x38\x39\xe8\x20\x4e\x0e\x3a\xce\xf9\xe5\x1f\x74\xf6\xa8\x7c\xdf\xd4\xa5\xf9\x1f\x58\x6b\x72\x40\xf8\x3f\xd8\xee\x3b\xed\x7b\x3e\xb6\xef\xf9\xa6\x7d\x1f\x65\x05\xbf\xdf\x36\xe3\xef\xe3\x9e\x92\x3f\x9d\xf6\x7d\x5a\xeb\xbe\xd9\x6b\x3e\xf1\x5a\xbf\x6f\xce\x54\xbf\xbf\x83\x63\xea\xef\xb8\xe3\xef\x77\x71\xfe\x7d\x0b\xff\xc7\xc8\x2b\x7d\x8b\x27\xf8\xc7\xa3\x21\x96\x8d\x9c\xf5\x97\x42\x5a\x03\x7f\x6a\x5a\xe9\xb4\x3b\x3d\x2c\xeb\x0c\x4d\x19\xd2\x54\xa7\xdd\xdd\x76\xdb\x77\xa9\x6e\xd7\x6a\x7f\x4c\x75\x87\xba\x6c\x9b\x60\x6e\xb7\x3b\x4e\xff\xdb\x6d\xdc\x3f\xdb\xed\x03\x3d\xd6\xde\x7e\x1b\x70\x22\x7f\x5a\x65\x7d\x2a\x73\xf0\xdf\xdb\xef\xec\x62\x79\x47\xd7\x1d\xf5\x7d\x98\xab\xfc\xa9\xcb\x86\xb8\x26\xa3\x61\xdb\xe9\x7f\x34\xec\x50\x79\x67\xdb\xd4\x1d\x8d\x1a\xf4\x53\x97\x8d\x46\x30\xce\xd1\x68\xe4\xae\xbf\x12\x16\xe4\x2f\x66\x05\xda\xbd\xf6\xae\x2a\xed\xda\xa5\x03\x55\x3a\x2a\x40\xd9\xa6\x6d\xdc\xb3\xe8\xa0\xdd\xc3\xc3\x15\x7e\x31\x2b\xe9\x77\x91\xe4\x8e\xfd\xae\xcb\x0b\x8e\xfd\xbd\x6d\xfa\x62\x4e\x4e\xf9\xc7\xae\x2a\xed\x5b\xa5\xbd\x1e\x95\xf6\xdc\x1d\x75\xdc\x21\x52\x3b\xee\xec\xe8\xfd\x3f\x6c\xb7\x71\x9e\xf0\x8b\x55\x8a\xe8\x1b\xb6\xdb\x7b\xce\x8c\x86\x6d\xbf\x4d\x5f\x7c\x49\x05\x0f\x3e\xde\xff\x66\x72\xcb\xdd\x6a\xf3\x15\x05\xf4\x1b\xcd\x1e\x6b\xd2\x5d\xa5\x49\x77\x95\x26\xdd\x55\xcc\xa5\x84\x5b\xb7\x31\xeb\x52\xd2\xee\xe1\x61\xd1\xee\x99\x43\xad\xdd\xdb\xa1\xb2\x1d\xab\x6c\x8f\xca\x5c\xa1\xa2\x8d\xb8\x95\x3f\xad\xba\x43\x2a\x33\x97\x82\x76\x1f\x0f\x95\x76\x7f\xc7\x6d\xdf\xef\x52\xb9\xd5\x9e\x04\x90\xb6\x25\x68\xb4\xe9\xa0\x69\x0f\xdc\x43\x9d\x36\xa0\xfc\x69\xea\x1e\xd3\x58\x8f\xf7\xad\x32\x1a\xd3\xd0\x15\xaa\xdb\x43\x82\x3b\x34\x02\x4c\x7b\xb8\x4f\x65\xd6\x98\x86\x34\xa6\xc2\xa5\xa4\x3d\xa2\xfe\x47\x56\xff\xa3\x0e\x95\x6d\x5b\x65\x34\xa6\x51\xaf\xd0\x9e\xe0\x8e\x06\x56\x5d\x1a\xeb\xc8\xe0\xcf\x27\x41\xd5\x6f\xbb\xe3\xf7\xe9\x02\xe4\x5b\x17\x20\xdf\xdf\xa6\xb2\x6d\xab\xac\x4f\x65\x7d\xb7\x7d\x07\xe7\xef\x77\x8c\x00\xe0\x77\xa8\x6e\xa7\x6f\xca\x48\x78\xf2\xb7\xdd\x4b\xa1\x8f\xbb\x59\xfe\xb4\xea\xa2\xa0\xe8\x5b\x17\x05\x7f\x67\x87\xca\xdc\xf5\xf7\x77\xa8\xfd\x8e\xd5\x17\x09\x80\xbe\x25\xa8\xfa\x78\x28\xb7\xfd\xdd\x42\xff\x5d\x1a\x7f\xd7\x1a\x7f\x97\xc6\xdf\xb5\x60\x0e\x10\xa7\xfe\xc0\x15\x8a\x7c\xa2\x1f\xdf\xa2\x1f\x9f\x84\x4a\xff\xd8\x1a\xff\x31\x8d\xff\xb8\x30\x7e\x12\x36\xfd\xe3\xae\x55\x97\xe6\x64\xd1\x9f\x7f\xdc\xa3\xb2\x5e\xa1\xfd\x80\xca\xcd\xfa\x77\xe8\xa2\xd8\xd9\x35\x6b\xda\xe9\x52\x59\xd7\x5d\xff\x0e\x5d\xea\x3b\xd6\x05\xb0\x43\x97\xa2\x8e\x75\xa9\xef\xa0\xa0\xd1\xee\x0c\xfa\x85\xf6\xc7\x54\x6e\x70\xdd\x21\x9c\x74\x2c\x9c\x74\x68\x4e\x9d\xe3\x42\xfb\x63\x6a\x7f\x6c\xb7\x1f\x51\x99\xd9\xbf\xdb\xa4\xbc\xd8\xee\xb9\xe3\xdf\xee\x6d\x53\xb9\x11\x60\xb7\x49\xd0\xde\x1e\x98\xf9\x6f\x0f\xa8\xde\xc0\x55\x8a\xec\xd0\xbe\xd8\xb1\x2e\x70\x3b\xa4\xa8\xd8\xd9\xb1\x14\x2d\x84\xd3\x9d\x5d\xdf\x3d\xd4\x7d\x3a\xc0\xfd\xb6\x39\xd4\x71\xff\x74\xda\x7e\xd7\x2a\xdb\xa7\xb2\x83\x42\xfb\x01\x95\x1f\x5b\x42\x05\xc1\xec\x74\xac\xb2\x1d\x2a\xdb\x73\xdb\x6f\x53\xdd\x6d\xab\x7f\x14\xca\x3a\xed\xed\x6d\xab\x6c\x97\xca\x76\x0b\xed\x49\xa8\xd9\xee\x5b\x75\x87\x54\x66\x09\x35\x7b\xd4\xff\xde\x8e\xdb\x7e\x6f\x44\xe5\x96\x50\x83\x97\xf2\x4e\xdb\x5c\x14\x3a\xed\x1e\xcd\xb3\xe7\x5c\x6a\x3a\x7e\x1b\x71\xe5\x1b\x91\xa0\xe3\xa3\x44\x20\x7f\x5a\x65\x07\x54\xe6\xe2\x8f\x78\x55\xc7\xe2\x55\x1d\xdf\xef\x52\x99\xc1\xbf\xdf\xc1\x31\xf9\xae\x50\xdb\x21\xfe\x25\x7f\x5a\x75\xfb\x54\x66\x70\xe2\xef\x52\x3f\xbb\xee\xfc\xfd\x5d\xaa\x6b\x14\x58\x1d\xba\x54\x74\x2c\xfe\xd1\xf1\xf7\xa8\x6c\xaf\x30\xfe\x03\x2a\x3f\x38\x30\x75\xfb\x48\x2b\x7e\xdf\x2a\x43\x9e\xd2\x41\x9e\x62\xb5\x47\xbe\xd2\xf1\xcd\x05\xb6\xe3\xa3\x52\x4c\xfe\xd4\x65\x1d\x94\x31\xe4\x4f\xa7\x7d\xa7\xdd\xa1\xf2\x6d\xab\xee\x1e\x95\xed\x5b\x65\x7d\x2a\xeb\x17\xda\x8f\xa8\xdc\xac\x7f\x07\xcf\x14\xf9\xd3\x2a\xdb\xa5\x32\x97\xfe\x3a\x7e\x8f\xca\x7b\x56\xdd\x63\x2c\xeb\x18\x9a\xee\x74\xb6\xa9\xcc\x15\xaa\x3b\x1d\x82\xdb\xd9\xb5\xea\xd2\xf8\x3b\x03\xab\x6c\x48\x65\x43\xb7\x3d\x5e\x36\x3a\x9d\x6d\x0b\x57\x78\xa9\xe8\x74\xb6\xcd\x9e\xec\xe0\x39\x23\x7f\xba\xed\x77\xa8\xee\x8e\xd5\xd7\x2e\xe1\x74\xd7\xec\xdf\x0e\xd1\x44\x81\xff\x76\x3a\x5d\xea\xbf\x6b\xf5\x4f\x17\x85\x8e\x45\x3f\x9d\x2e\x8d\xbf\xeb\x5e\x4a\x3a\xfb\xd4\xd7\xbe\xb5\x7e\x78\x29\xef\x74\xf6\x2d\x98\x07\x84\xa7\x83\x02\xfe\xf1\x52\x21\x7f\x9a\xba\x3d\xaa\xdb\xb3\x70\xda\xa7\x75\xee\xbb\xfd\x6f\xe3\xa5\x58\xfe\xd4\x75\x77\x68\xae\x3b\x43\x03\x73\x07\x15\xa5\x9d\xdd\x1d\x97\x7e\x76\x77\xb1\xee\xae\xb9\x94\x75\x76\xf7\xa9\x6c\xdf\xd0\xd4\xee\x01\xf6\xb3\x5b\x18\xff\x6e\x8f\xea\x1a\xf9\xb3\xb3\x8b\x67\x42\x67\xd7\x9c\x09\x9d\xdd\x3e\xb5\xef\xbb\xf4\xb3\x8b\xf2\x63\x67\xb7\xbf\x67\xd5\x1d\x50\x99\x59\xff\xdd\x01\xf5\x33\x70\xd7\x6f\x77\x40\xed\x8d\x02\xb1\xb3\x3b\xa0\xb9\x0e\xfa\x56\x19\xae\xdf\xee\x71\xa1\xfd\x90\xc6\x35\x34\xb8\xde\x1d\x8e\xa8\xcc\xcc\xbf\x4b\x3c\xb1\xdb\x76\xe4\xd7\x4e\x97\xf8\x62\xb7\x7d\x60\xd5\x1d\x52\x99\xd5\xde\x47\x3a\xeb\x16\xf6\x5f\x97\xce\x9f\xae\x3f\xb0\xea\x52\x7b\x73\x29\xec\x74\x77\x70\xfe\xdd\x1d\x97\x7f\x74\xf1\x06\x24\x7f\x9a\xba\xb4\xfe\xdd\xae\x6f\x95\x6d\x53\x59\xa1\x7f\xbc\xa1\x75\xba\xdd\x9e\x55\x97\xc6\xd4\x3d\xb6\xca\x46\x54\xe6\xd2\xdf\xde\x36\xf2\x8a\x3d\x6b\xaf\xee\xed\xe1\x9a\xec\x99\x33\x49\xde\xc5\x1a\xe0\x25\xec\x5e\xea\x47\xa3\x11\xb4\x97\x3f\xf5\x05\xb6\xad\x2a\xdb\xa5\xe0\xe8\x81\xca\x82\x36\x96\xe3\x45\x0d\x0d\x06\xfa\x61\xcc\xd3\x35\xcb\x04\x4f\x83\x19\x9a\x41\x91\xfb\x6a\x3e\xc3\x6c\xf3\xb1\xf1\xb8\xd1\x2f\xfe\xe0\x17\x97\x2d\x78\x20\xec\x47\xab\x52\x14\x23\x71\x21\xd2\x2f\x6c\x19\x64\xac\x57\x01\xc4\x36\x83\xd6\x3e\x4c\x3a\x34\xd7\x59\xba\x14\xee\x30\x6e\xee\xfe\x29\x3e\xb5\xe9\x30\x59\xf9\x4c\xa4\xab\x30\xb3\xd2\x7f\xae\x82\x56\x98\x9d\x42\x2b\xdb\x41\x2d\xc8\x74\x88\x8a\xde\xf2\x3a\x8c\x42\x89\x0f\xc7\xcf\x6f\xec\xe0\x28\x8c\xf5\x15\x96\xc1\x5b\xab\x4a\x29\x39\x0f\x63\x76\xc4\xda\x0d\x36\xe7\xd7\xec\x88\x15\xdf\xc4\x54\x5c\xc0\x26\x3a\x83\x60\x8b\x89\x8e\x18\x2a\xb1\xf4\xa7\x52\xa3\xf3\xf6\xc7\xf3\xf6\x47\xf6\xf9\x33\x60\xf1\xc7\xf2\xf7\x39\xbf\xfe\x78\xee\x7f\xac\x8a\x27\xaa\xfd\x31\xe4\x78\x7e\x3c\x92\xe3\x53\xce\x18\xf3\x70\xc2\x8e\xd8\x4b\x9e\xcf\x5a\xd3\x28\x49\xd2\x5a\x4d\x0e\xfe\x89\x1c\x79\x9d\x6d\xb1\x8e\xe5\x28\xb5\xa9\xdf\x70\x02\xfd\x6a\xef\x0e\x9c\xbd\x04\xfc\xa4\xc2\xdb\x65\xc3\xec\x00\x4a\xdb\x86\x02\xa8\x93\x50\x9a\x05\x28\x85\x40\x84\x26\xab\x9f\x0e\x3f\xe8\xce\xde\x8e\x8c\x57\xbd\xac\x40\xe9\xa0\x91\xb8\x03\xb1\x0f\x39\xa6\x2b\xbe\xe1\xcd\xf6\x1f\x4b\xfe\x55\x9a\x13\x30\xc0\xb5\x07\x64\x11\x7e\xf1\x5d\xba\x44\xff\x9b\x49\x58\x6b\x50\xee\x43\xc2\xba\xd1\x06\x12\x36\xdf\xff\xb1\x24\x6c\xf5\xfb\x0d\x24\x5c\x80\xf2\x87\x93\xf0\xb1\xca\xa0\x57\x69\xc2\x55\x41\x24\xdf\x87\x1c\x75\xab\xb3\xbb\xf7\xaa\x69\x4e\x96\x2a\xa3\x85\x32\xb9\x49\x94\x6e\x34\x9c\x50\xd8\xa4\x71\x14\x01\xbe\x85\x06\xba\x36\x00\x2d\xc5\xb5\xde\xd0\xf6\x38\xcc\xd2\x4d\xcd\xbf\x09\xe3\xda\x60\x50\x19\x8e\x48\xd6\x72\x2b\xdb\x28\xa5\xca\xfa\x67\x2e\x54\x19\x37\x9b\x4e\x4a\x88\xea\x2f\x99\x28\x1a\xb4\x97\xed\x87\x5a\x16\x4f\x38\x82\xe0\x19\x15\x8b\xa2\xec\x77\x9e\x3a\x0c\x64\x1b\x82\x88\xe3\xae\x05\x47\xcc\x29\xfb\xe1\x07\x86\xdf\xda\xd7\xbc\x5d\xaf\x02\x65\xdb\xf4\xa8\x20\xb3\xaf\x17\x79\x38\x0f\x7f\xc7\x8c\xeb\xbd\xd3\xc1\xc9\xc9\x86\x01\xfe\x09\x7a\x71\xc0\xfa\x0a\x48\xbf\x78\xf8\xa3\x7d\xd5\x46\xab\x9a\x96\x4b\xdb\x24\x71\x00\xf2\x9c\x0e\xda\xaa\x03\xcc\xee\xca\xd3\x34\xbc\x12\x94\xe0\x55\x8e\x89\xcc\x79\xb9\x65\xcb\x98\x6c\x34\x9e\x6c\x19\xde\xe1\x53\xa0\x4c\x83\x3f\xdf\x6f\xb7\xd9\x0f\x3f\x20\xf3\xc1\xf9\x62\xf1\xee\x54\x22\xda\xfe\xb7\xb5\xe5\xd8\x00\x86\x71\x98\xb7\x2c\x8b\x3f\xe2\x5f\xb8\xa6\x70\x79\xea\x1c\x28\xc6\xae\x0a\x38\xfb\xfc\x99\xea\x99\x21\x74\xc4\x7e\x5b\x2f\xa2\x2c\xe0\x3b\xc1\x54\x8f\x09\x21\x3e\x3c\x82\x37\xa2\xed\x69\xdd\x1d\xd5\xd6\x16\xb8\x69\xb4\x5a\x2d\xf6\xdf\x61\x09\x32\x0f\xda\x2e\xe4\xc9\x1e\xdf\x46\x08\x66\x32\xa7\xeb\x28\x92\xab\x96\x95\x9a\x4f\x0f\x0a\xcd\xa7\x7c\x3a\xd5\xcd\x65\xbf\x03\xc7\xa1\xe5\x44\xf9\xaa\x55\x80\x12\x7e\x01\x94\xf0\x0f\x34\xa8\xf7\x22\x85\xec\x31\x60\xec\x59\xd5\x78\xbb\xd8\xb8\x7b\xd3\x38\x46\xd5\x50\xa6\xc5\xd9\x4c\xbb\x6d\x0d\x65\xb4\x8c\x22\xe4\x09\x9b\x5a\x8b\x62\x6b\xd1\xad\x57\x2e\x27\xf8\x8e\xdb\x55\x3b\xd3\xe9\x74\x52\x59\x77\xbb\x54\x77\x1b\xea\xa2\xe7\x2e\x05\xcc\x3b\x64\x62\x9e\xfc\x16\xda\xc6\x82\xcb\x6c\x09\x9e\x1b\xca\xdc\x1d\xc5\x7d\x08\xbb\x11\x4e\x5c\xaf\x9c\x48\xf2\xdd\x8b\x19\x82\xb3\xe4\x22\x9c\x6c\xb6\x10\x01\xcb\xf8\x1a\xf6\xd3\x4c\x0a\xe2\xec\x14\xfd\x03\xe4\xb6\x9b\x4c\xa0\x42\x08\xb6\xb6\x99\x4e\x30\x26\xe6\x3f\x7d\xdb\x61\x50\x3c\x04\x8c\x6b\xcc\xbf\xfa\x21\xf0\xf6\x0e\x27\x80\xc3\xe0\xec\x83\xbb\xcc\xe7\x36\x59\x32\xda\xe9\x08\xee\x7c\x46\x7f\xc5\x92\x98\x30\x25\x55\x31\x46\xb3\x3c\xd5\x31\x6e\xbf\x16\x9f\xc5\x40\x28\xab\xa0\x95\xe5\x65\xc9\xc7\x09\x82\x41\x8e\x5b\xe9\x15\xd9\x9f\xde\x1a\x0a\xc3\x09\x44\x67\x85\x82\x82\xd0\x06\xea\x6f\x2b\xbe\xc1\x8a\xba\x2f\xa2\xb6\x14\xeb\x48\x2e\x25\x56\xfe\x93\x3a\xa4\xf5\xba\x34\x49\x7e\x4d\xaf\xd8\x93\x23\x04\x49\x8d\xe4\xdf\xb5\x42\x8c\xa8\xe9\x54\xb2\xce\x9f\x98\xcf\x0e\x31\x0e\x81\x2d\xd2\xa6\x57\xce\xea\xfd\x2c\x28\x5f\xf3\x72\x4c\x91\x47\x28\x85\x20\x91\x28\x22\x3b\x99\x4e\x33\x91\x17\xa8\xd7\x5a\x87\x9b\x56\xd5\x0d\x97\x72\x21\x72\xab\xaf\x69\x9a\xcc\x5b\x95\xfb\x0d\x03\xf1\x53\xc0\x65\xf4\x44\x77\xc7\x52\x84\x55\x0d\x26\x59\xe4\x9f\x10\xa9\x9b\x48\xc7\x01\xf0\xa0\x2a\xf4\xf2\x59\xb1\x96\xa1\x2e\x28\x2d\xd0\x16\x25\x11\x68\x98\xbe\xad\x64\x74\xf2\x0b\x44\x3c\x6e\x30\x11\x4f\xe8\xb7\x95\xde\x86\x40\x7b\xa6\x12\x5e\x01\x57\xda\x3c\xda\x6a\x5f\x88\xcf\x62\x3e\x98\x40\x2d\xd8\xee\x49\x05\xe9\x15\x02\x9d\x98\xc6\xf5\x12\x2d\xfe\x88\xa0\x15\x3d\x8e\x53\xc1\x2f\x9d\xdc\x33\x06\xc3\x0f\x8f\xd8\x32\x26\xbb\x7f\x27\x29\xb2\x9a\x29\x26\xc9\xd1\x08\x30\xf3\x7a\xa0\x65\x0c\x5d\xd5\x9e\x9e\x3c\xb4\x68\x67\x1c\x19\xac\x5a\xad\xee\x3c\x53\x05\xbe\x5e\x37\xf8\x7f\xf2\xa4\x62\xd2\x66\xed\x1e\xb8\x03\x53\x21\x33\x54\x32\xea\x3c\x6d\x69\xda\xa8\x55\x2d\x6f\xbd\xb8\x01\x4d\x13\x1b\xf1\xa5\x4d\xb9\x61\x43\xe2\xbe\x40\x27\x9b\x89\xbb\x25\xfe\xf1\x9b\xb0\xba\x95\x1c\xd8\x19\x84\x41\x9d\x54\xb6\xf8\xaa\x4d\x56\xc8\x62\x69\xef\x33\x11\x4f\x9c\xc0\x56\x4e\xbb\x62\x4d\xd6\x24\x82\x06\x84\xcb\xaa\xa9\xc0\x90\x20\x2d\x3e\x99\xd4\x3c\x0a\x4c\x12\xcc\x78\x7c\x21\xa2\xe4\x62\x8b\x5c\xc1\xbc\x06\xf3\x72\x71\x9d\x6f\x2d\x22\x1e\xc6\x5e\xe3\x81\xe7\xb7\xfc\xae\xc7\x9e\x3c\xf0\xbc\x07\x75\xca\xcc\x79\x0b\xa8\x09\xcf\x45\x19\x4e\xa7\xed\xef\x35\xdb\xfb\x4d\x07\x5a\x31\x5e\xca\x4c\x9e\xb1\x5b\xbf\x65\x5b\xf0\xcb\xff\xf6\xe8\xcc\x80\xab\x7c\x22\x16\x80\xa4\xd6\x69\x9e\xa4\xfc\x42\x40\xd2\x7b\xda\x01\xff\x21\x1b\xca\xfe\xaf\x42\xb1\x62\xc7\x22\x88\x78\x4a\x6e\x73\x88\x81\xc7\x90\xb6\x00\x65\x51\x0c\x9d\x3f\x17\x6c\xcc\xb3\x30\x60\xd9\x8c\xa7\x62\xc2\x96\x90\xed\x26\x54\x39\x00\x78\x8e\x5e\x42\x49\xc2\xb2\x39\xb8\xf9\x27\x6c\x82\x98\x60\x13\x81\x59\x09\x27\x30\x5e\xca\x65\x2b\xf9\x35\xf4\xa5\x1d\x61\x8c\x67\x1f\x64\xe1\x00\xef\xeb\x78\x92\xac\xd8\x2c\x41\x97\x6a\x1c\x5a\x21\x7c\x89\x3c\xac\x78\xc6\x16\x72\x2b\x25\x53\xaa\x23\x2f\x74\xb5\x7a\x8b\x59\x89\x8a\x64\xed\xf8\x8a\x47\xe1\x84\x2d\xe3\x3c\x04\xa7\x61\x88\x79\xc0\xa3\xf0\x77\x1d\x41\x05\x33\xd3\xe2\x08\x11\x14\x8e\xe1\x4c\x8e\x48\xa7\x7b\x54\xd1\xee\x79\x0a\xf7\x55\x2b\x56\x3b\x79\xb6\x9b\xd4\x17\x14\xb1\x00\x42\xe8\xa9\x90\xd6\xbf\x27\xc9\xdc\xf6\x8d\xa2\x19\xfd\x77\xb2\x84\xf5\x56\x91\xb1\x21\x43\x46\x3e\xd3\xe9\xd5\x59\x94\x04\x72\xb0\x42\x67\x42\xb7\xc7\x29\x81\xd2\x80\x4c\x56\x4d\xef\x2f\xaf\x5f\xbf\x94\x27\x87\xdf\x6e\xff\xbb\x15\x35\xa7\x9f\x86\x62\xca\xd0\x5a\x6d\xad\xc7\xaf\xdd\xf2\x71\xb8\x72\x1f\xc9\x61\x06\xc9\x82\xc2\x57\x80\x04\x1a\x85\x8b\x71\xc2\x53\x3d\xec\xfe\x9a\x4d\xc4\x94\x2f\x23\x48\xec\x43\x1e\xf4\x4a\x92\xef\xbf\xe8\x0d\x9e\xb3\xd3\xc1\xc9\xe9\xe9\xeb\xb7\xa7\x96\x7f\x2e\x38\xe7\xae\x71\xc6\xe4\xbd\x7c\x8f\x49\xdb\x04\x00\x8e\xc0\xc5\xa1\xcf\x04\xf3\x10\xbd\x4d\x3d\xe0\x66\x9c\xe4\x61\x20\x3c\x2b\xaa\x03\x10\x81\xb3\x10\x0a\x9d\xb2\xee\x74\x2d\x59\x80\x85\xcd\x5f\x96\x9d\xbd\x76\x47\xe2\x51\x53\xab\xc4\x51\x36\x93\x03\x0d\x63\xc6\x25\xc9\x5f\xe6\xc9\x82\x41\x73\x8a\xc6\xa2\xfd\x9f\x15\x35\x80\x6f\xb2\x88\xa2\x16\x63\xbf\x2c\x3b\x9d\x2e\x06\x53\xd4\x38\x1b\x9e\xfc\xfc\xec\xec\x19\x7b\xf5\xfa\x6c\xd8\x60\xff\x5e\xcb\xc3\x3c\x12\xf5\x42\xe2\x4b\x89\x2b\x1d\x40\x44\x53\x19\x54\xb5\x67\x41\xc3\x79\x65\x8d\xe6\x4c\xd6\xa1\xc9\x74\xbb\x3d\xd3\x01\xfe\x6d\x11\xc9\x0b\x32\x6c\x84\xf0\x8e\xb4\x57\xc1\x7d\x17\x12\x9a\xeb\xbb\x5c\x0f\x0b\x67\x3c\x8d\x45\xa6\x7d\xd2\x29\x91\xb3\x4a\x99\xbd\x06\xb7\x3d\x0c\xe7\x42\xd9\x3d\xd3\x65\x1c\xeb\xc3\x08\x87\x2b\x01\x1d\x8b\x05\x58\x30\x7a\x58\x74\x1a\xa4\x49\x14\xbd\x49\x52\x4c\x9f\x97\x49\x06\xaf\xbf\x08\x11\xab\xd2\x07\xac\xf4\x8f\xea\x9d\x11\x76\x8a\xed\xdf\x9f\xdd\xde\xf6\xfd\x59\x6b\xc0\xe3\x58\x4c\xb0\xe6\x47\x97\x4d\x21\x4a\x24\x13\xd1\x27\x67\x83\xa5\xe2\x22\xcc\x20\x1d\x2e\x12\x32\x1e\x5c\x58\x76\x82\x6c\xa9\x40\xc0\x94\xbf\x64\xb2\x84\x53\x58\xd6\x0f\x9d\x7a\x4a\x02\x50\x7d\x7c\x61\x49\x2c\x21\xa1\x13\xb4\x7a\xe9\x31\xed\xd8\x0a\xbc\x56\x97\x10\xed\x21\x8c\xaf\x92\x4b\x01\xbb\x42\x3d\x19\x16\xb8\x1e\xec\x70\x93\xec\x73\xeb\x41\x69\xc4\x88\x0c\xaf\x61\x65\x93\x80\x01\xa0\x58\xa0\x47\x90\xc4\x1f\x80\x57\xd6\x90\x65\x2a\x19\xb5\x82\x8d\xe2\x1f\x2d\xc9\xe6\x51\xdc\xb3\x12\x74\x22\xe8\x06\x6b\x1b\xc9\xce\xea\xe1\x8c\x8f\x6b\x39\x1f\x3b\xc9\xd2\xf8\x18\x25\x58\x80\x19\xc8\xd3\x59\x58\xb1\x0d\xe1\x6f\xea\x1e\x32\xef\xc8\x06\xf4\xf7\xc9\xa4\x01\x2c\xbd\xa1\xc7\x5e\x9d\x14\x4c\xa5\x3b\x48\x2f\xc2\x78\xc2\xeb\x87\x7a\xe9\x20\xb4\x13\x5b\x81\x30\xc6\x96\x0b\xf4\xaf\x67\x57\x3e\xe3\x8b\x85\x97\x41\xc0\x98\x8b\x14\x0e\xee\x05\x72\x2e\x05\xee\x25\x5f\x8f\x05\x73\x90\xe2\xc5\x49\x2c\x3c\x0a\xf9\x31\xa6\x84\xb1\x56\x7c\x17\x48\xb1\xab\xc3\x15\x28\x58\x15\xd8\xf5\x62\x88\x3f\xa1\x63\xc8\x6e\x44\x6e\x21\xa5\xd9\x43\xc5\x33\x80\x99\x93\xd4\x60\x63\xda\x41\x31\x84\x83\x44\xe4\x66\x58\xb5\x5c\xd2\xca\xd6\x71\x60\xd6\xa2\x0a\x3e\x65\x08\xb7\xe4\x94\x16\x08\x58\xa2\x56\x05\xaa\x72\x75\xee\x08\xf6\x85\x3c\x48\x6a\xc5\x89\x53\x32\x04\xea\x2c\xe7\xe3\x4c\x25\xac\x88\x13\xc9\xe9\x16\x14\x45\x2e\x8c\x19\x05\x77\x83\x34\xdc\x19\x45\x5b\x10\xb9\x08\x72\x7c\x5b\x45\x60\xeb\x64\xe9\x41\xd0\x0a\xbb\x36\xf2\xf7\x28\xcc\x25\xeb\xe5\x2b\x08\x22\xa4\x5e\xd3\xc3\xec\x0d\xd5\xec\x2d\x16\xc6\x91\xf6\x66\x8c\xa7\x52\x84\xa9\x2a\x91\x04\xfe\x92\xc7\xe1\x54\x64\xb9\xad\x4a\x99\x53\x19\x3b\xba\xa1\x81\x42\x4e\x71\x48\xaa\x71\x4b\x4e\xe5\x87\x1f\x9c\xbf\x5b\x86\xc6\x9d\x7b\xab\x03\xc3\x8a\x6d\xfa\xc6\x46\x22\x88\x8c\x10\xdd\xc6\x3a\xc0\x43\x23\x28\xc9\xe5\x68\x95\x19\x04\x6e\x55\x4c\xdd\x8b\xdb\xf7\x6f\x92\x95\x1c\x32\x6f\x91\x2c\x96\x0b\xef\x4b\x5d\xb3\x0f\x9b\x52\x6e\x42\xa8\xec\xc9\xc9\x62\x28\x89\xe2\x42\xe4\x03\x4a\xd6\x81\x79\xa5\x64\x09\xca\x37\x92\xe9\xc0\xd9\x16\x66\xec\x11\x65\xf4\x88\xd6\xea\x4c\x7b\x84\x09\xe1\x20\xb0\x8b\x02\x98\x27\x8b\x79\x22\x0f\xd4\x94\x4d\x93\x00\x33\xa8\xf1\x71\xcb\x65\x53\x30\x61\xd3\x6d\x0d\x18\x5e\x35\xd5\xdf\x11\x23\xc4\x0b\x0c\x4a\x14\xed\x7f\xa9\x97\x12\x89\x4d\x44\x10\xce\x79\xc4\xfe\xa6\xd4\x76\x33\x01\xd7\x9f\x2f\xc4\xd7\xf0\x8a\x3c\x49\xe6\x18\x35\xd1\x3a\xb8\xe5\x90\xa3\x50\xc4\xf9\x69\xf8\xbb\x63\x75\x32\x49\xe6\xce\xe5\x71\x92\x40\x65\x08\xd2\x1e\xc6\x17\xd8\xe8\xad\x08\x80\xf6\xca\xa9\xcd\xd4\x88\xac\x80\x49\x77\x19\x45\x49\x27\x79\x8f\x61\xb4\x48\xfb\xb1\x79\x30\x84\x95\x3b\x8f\xe6\x19\xd6\xff\xca\xe1\x60\x6f\x6e\xa2\xe0\x64\xb1\x2e\xa4\x92\x89\x84\x4e\x39\x0a\x5a\xb7\x75\x96\x8b\x79\x59\x56\x57\xa2\xc4\xb3\xb3\x97\x2f\x8e\x93\x00\x92\x3f\x51\x2c\x6c\xfa\xcb\xa4\xe2\x71\x80\x06\xc9\x62\x6d\x4f\x4e\xfe\x7d\xaa\x2a\x9c\x25\x03\xd5\x91\x3b\x4b\x04\x59\x4c\x70\xa6\xca\x5b\xe2\x5a\x04\x83\x64\x3e\xe7\xf1\xa4\xe6\x49\x88\x9e\x9b\xeb\x6c\x1a\xa6\x62\x9a\x5c\x0f\x55\x82\x27\x8b\x8d\x9c\x5c\xc4\x98\x4f\x3d\xcc\x5a\x6c\x34\xaa\xca\x5a\x47\x56\x25\xf2\x7c\xe6\xf8\x25\x4d\x93\x94\x82\x88\xe9\x97\x14\xdc\x9b\x72\xba\xfa\xf9\xe4\x37\xcc\x74\x6f\x2c\x14\x5a\xc5\x37\xf3\x37\x3c\xcb\x45\x25\xa2\x31\x40\x06\x64\xa9\xc1\x48\x11\x88\x4f\xd8\xf1\x6a\x11\x5e\x25\xb9\x38\x64\x27\x31\x6a\x12\xc4\xd6\x08\xa7\x29\x39\xe2\x96\xb8\xce\x45\x0c\x21\x7e\x44\x7c\x15\xa6\x49\x0c\xe9\xb9\x20\xdb\xbb\x17\x45\x18\xe3\x9b\xe2\x45\x3d\xd2\x9d\xbe\x15\x7c\xf2\x88\x2d\x74\x78\xa0\x16\x93\xd0\x31\x39\xaa\x0b\x06\x73\xe4\x01\x39\xf2\x68\xc5\xd7\x70\x79\x87\x54\x61\x14\x28\x4e\x71\xde\x29\x24\x66\x07\x9e\x36\x8e\x92\xe0\x32\x63\x3c\x08\xa4\x78\x2f\xa9\x3e\x13\xc1\x32\x0d\xf3\x35\x4b\x05\xcf\xac\x68\x6a\x77\xa0\xae\x3c\x61\x0b\x40\x9e\xc4\x53\xeb\x76\x93\x20\xac\x9c\x2d\x83\x40\x88\x89\x7b\x43\x83\x4f\xa3\x34\x99\xdf\x8b\xf8\xf4\x8e\xab\xa2\x41\x00\xf9\x95\x44\x28\xa9\x70\xa7\x0d\x52\x41\x12\x4d\x44\x4a\x82\x5c\x18\x07\x49\x9a\x0a\xc8\x2a\x4d\xf9\xcb\x5c\x1a\xb5\x68\xb0\x40\xaa\x10\x8f\x4d\xf0\x89\xbc\x83\xe1\xb0\x41\x9d\xa8\x28\xb2\x6c\x43\xe4\xd0\xe8\x20\x15\x18\x6c\x4e\xca\x41\xf6\x75\xb4\xb8\x5a\xaf\x21\x23\xed\x17\x06\x7f\x66\xec\x3d\x4f\xc3\x64\x99\xe1\x9f\x02\x1e\x1e\xd5\xfd\xb5\x08\xa5\xa4\x0a\x45\x10\x2d\xb8\x50\xa2\x22\x07\x7e\xab\x91\x6c\x96\x29\xf6\x84\xa7\xb0\x97\xe1\xf7\xfa\x4d\xb0\xc6\xc9\x64\x8d\x39\x58\xe9\x1a\x0e\x05\xb5\x39\x0f\x51\x41\x51\x2f\x5f\xda\x6d\x32\x40\x28\xe6\x85\x60\x22\xa6\xec\x88\xd5\x24\xe3\x6c\x48\xc4\x45\x52\x7c\xa9\xb3\xa3\x1f\x81\x97\x42\x06\x5a\xad\x64\x67\x3f\x61\xe1\xa1\xae\xa8\xc4\x32\x42\xd5\x91\x53\xfb\xf3\x67\x66\x95\xcb\x53\x18\x95\xdb\xaa\x10\xb5\x5c\x28\xfd\x8b\xf4\x02\xf9\xc7\x32\x13\xa9\x97\x51\xc0\x41\x2b\x0f\x9a\xd2\xa8\x64\x18\x5a\x4d\xd2\xd7\x07\x41\x69\x24\x72\x7e\x29\x58\x98\x23\xa8\x49\x48\xc4\x15\xc6\xf0\xb0\x0b\x0a\x14\x9e\xb1\x2c\x5f\x4e\xa7\xea\x0e\x2a\xe9\x2d\x93\x8c\x2d\xbe\x54\x62\x27\x26\x74\x85\x61\x91\x40\xe1\x49\xcc\x7a\x87\x36\xe2\xd5\xcd\xd8\x0b\x83\x24\xf6\x0e\xe5\xa8\x68\xee\x2d\x59\xd2\x60\x8e\x56\xf6\x42\xe4\xc7\x3c\xe7\xef\xd2\x88\x6e\x8c\x5b\xe1\x9c\x5f\x88\x6c\x4b\xd6\x6d\x1e\x74\xbd\x3a\xe4\xee\xf8\xa2\xb2\xab\xe6\xa4\x89\xb0\xa0\x42\x51\x43\xdd\xe5\xf4\x26\x45\x32\x51\xd8\x7f\x88\x7f\xc2\xd8\x14\x0c\xba\xa2\xca\x2a\xaa\x48\x8e\x6d\xda\x22\x5d\xc9\x7b\x9e\x66\xb5\x9b\x75\x22\x0d\xf6\x37\x0f\xda\x7a\x87\x08\xe3\x4b\xdd\x24\x82\xa5\xfb\x84\xdd\xa8\x46\x83\x25\x4c\xc2\xf0\xe2\x56\x12\x07\x51\x18\x5c\x96\x33\xc3\x31\x35\x2b\x38\x0b\x94\xa8\x8d\x19\x6e\xa2\x24\x13\x94\xe7\xf3\xa9\x91\x0a\xe2\xc2\xa1\x1f\x67\x79\xba\x0c\x72\x10\x20\xa5\xe8\x41\x6a\x10\x29\x71\xa5\x22\x48\xcc\x29\x7f\x42\x71\x1c\x33\xad\x7a\x86\xe0\x94\x18\xe3\x68\xb1\x1c\x47\x61\x20\x59\xf7\x64\x6b\x05\xe9\x3a\xe7\x62\x3e\x56\xdb\xdc\x44\xe1\x44\xb9\x63\xe3\x83\xbd\x79\xf5\xb3\x9e\xfb\xc2\xcc\x1a\x49\xb9\x0d\x09\x4e\xa0\x3a\xc1\x5f\xcb\xad\xd4\x56\x2e\x0a\x92\x8e\x44\x6a\x25\x64\x54\xaf\x5c\xfa\xcd\x0a\x4a\x67\x4a\xe4\xaa\x90\x9e\x7a\x13\x38\xe0\x4d\xfc\x57\x33\xdb\x8a\xf1\xdc\x32\x79\x49\x14\x5f\x85\x00\xd9\xf0\x4e\x48\xb0\x52\xbe\xa5\x22\xfb\xc3\xb0\x42\x32\x2e\x07\x49\x6f\x13\x1e\xd4\x51\x6d\x46\xf7\x85\xf5\x70\x2a\x66\xd1\x74\x14\x51\x23\x49\xf2\xb9\x85\x6b\x88\x95\xa8\x89\x6b\xc3\x54\x83\x28\x89\x45\x79\x13\xa9\x9d\xe1\xf4\x58\x33\x53\x6e\xd8\x13\x75\x6f\x14\xa7\xf4\x12\x4f\x48\xc0\xc8\x87\xf6\xc2\xe9\x71\xeb\x40\xce\x2a\xc1\xbc\x35\xc2\x02\x45\xd8\x88\x80\xeb\x20\x84\x90\xa7\x14\xef\x28\x35\xeb\xf7\xbf\x0d\x33\x95\xf7\xb8\xc4\x9e\xa9\x84\x53\xb1\x94\xb2\xb8\xb5\x61\x3d\xe1\x5b\xc5\xa2\x82\xf5\x62\x38\xad\x98\x88\x99\x6d\x98\x51\xb4\x72\x38\x9b\x41\x9f\x7e\xc7\x69\x6e\x02\x79\x8b\x58\x37\x4e\xf2\x99\xae\x4b\x4c\xc9\xa5\x92\x2d\x9c\x4a\xe3\x46\x4f\x87\x4a\x64\xc2\x4c\xb2\x6a\x6c\x2a\x6b\x64\x0b\xa9\x36\x56\xd9\x0f\x3f\xb8\x58\xdd\x8c\x56\xbd\x57\xe8\xe1\x54\x47\x5e\xe5\xb9\x9d\x70\xc7\xc6\x47\xe5\xa3\xac\x4e\x3a\x8d\x9a\x04\x4c\xa6\x1e\xd2\x3b\xdc\x26\xde\x64\xb4\xb8\x06\xfa\x06\x6c\xe4\xc9\x69\xe9\x65\xd7\xc1\x85\x77\x6e\xda\x59\xe9\xc9\xe9\xbd\x9f\x79\x0d\x53\x46\x83\x80\x84\xe7\x77\x3a\x97\xde\x26\xab\x41\x12\x7d\xbf\x93\x09\x45\x67\xf5\x26\xef\xe8\xd0\x11\x06\x46\x08\x14\x20\x3f\x7b\xc9\x95\x48\xa7\x51\xb2\xf2\xd8\x38\x54\x91\xc4\x31\xe7\x39\x2a\xc5\xf1\x41\x92\xde\x2d\x41\x33\xae\x02\xbc\xcf\x78\xc6\xc6\x42\xc4\x6c\xce\x27\x50\x79\x9e\x10\x81\x52\x48\x7b\x7a\x70\x57\xe9\x8c\xf1\x25\x9e\xcc\x5d\x24\xa0\x0c\xdf\x25\x98\xca\x88\x1b\x66\x3a\x7b\xd2\x4a\xb0\x48\xf0\x4a\x70\x64\x73\x03\x49\x9e\x79\x96\x53\xf1\x03\x1d\x1b\x9a\xc0\xc2\xb3\x59\x46\xac\x4c\x4d\x52\xce\x11\xef\x7c\xf8\xce\x0c\x51\xa6\x09\xbc\x1c\xbd\x94\xa1\x80\xeb\xd2\x30\x50\x27\x14\xad\xf1\x11\x8e\xc7\x6b\x3d\x79\x79\x3d\x4b\xc3\x38\x07\x0e\x6b\x99\x1e\x06\x9c\xb2\xc5\x07\xe9\x56\x04\x51\x1f\x21\x2a\xfe\xc6\x03\x52\x2e\x96\xe4\x11\xf2\xe7\x5d\x0e\x46\x42\x82\x65\x44\x74\x43\x2b\xcd\x51\x92\x45\xfe\x49\xe3\x40\x67\xce\xa6\xcf\x6a\x91\xf5\xfe\x92\x18\x43\xa2\x54\x5b\x48\x2e\xb5\x6a\xef\xde\x2d\x89\x78\xad\x7d\x93\x26\xab\x06\x8d\xad\xe1\x74\x6c\xb1\x6a\x39\xdb\x23\x39\xe7\xa7\x26\xf7\x2e\x4c\xe6\x88\x5a\xea\x72\x3d\xea\x23\xf6\xf0\xa1\x0d\x6d\x93\xa4\xe2\x52\xff\x5d\xe5\x14\xb5\x0c\x72\x35\xbf\x62\x29\x80\x08\xfe\x75\x96\xc3\xe2\x6c\xb0\x27\xff\xc9\xab\xf3\x15\x12\x13\xce\xc3\x95\x99\x88\xd4\x36\x48\x4d\xb4\xee\xe0\xf0\xa4\x19\xdf\x46\xb4\xdc\x55\x6a\xc2\x86\x35\x85\x96\x86\x8d\x8e\x86\x8b\x83\x6a\x21\x6a\x03\x39\xde\x26\x42\xd1\x80\x2b\xa5\x0b\x85\x9b\xbb\x8a\x51\xa5\xc9\xdf\x26\x48\xe1\xfa\xc3\x99\x5e\x49\x04\xf0\x65\x33\x25\xc0\xe7\x4a\x42\xa8\x96\xb2\x8a\xeb\x7a\x77\x39\xab\x8c\x89\xcd\x60\xbf\x45\xd6\x4a\x93\xd5\x96\x5a\xf3\xdb\x25\xad\x12\xbe\xef\x20\x6b\xd5\x0c\xe2\x0d\xe6\xb5\xa0\xa5\x30\xef\xa0\xde\x72\x96\x60\xa5\x45\x28\xac\x42\xe5\x93\xc1\x1f\x2b\x95\x55\x13\xfe\x4d\x32\x59\x09\x6f\xb7\x4a\x65\x35\x25\x96\x61\x53\x4b\x30\x93\xbd\xbb\x62\x19\x8d\x43\x15\x6e\x44\x1d\xc8\x6d\xf5\xca\x5c\x61\xae\xed\xdb\xa7\x69\xca\xe7\xe2\xff\x98\x05\xdc\xd4\xb6\x7d\x1b\x41\x3e\x9f\x49\xca\xa7\xda\xe2\x1a\xfc\x9c\xa7\x3c\x30\x79\x44\x1d\xb3\x1a\xb9\xe0\x9c\x41\x32\x35\xb0\x33\x5b\xb3\x49\xc8\xa3\xe4\xa2\x68\xc8\x01\x29\xea\xa5\x20\x96\x7b\xf4\x8a\x60\x83\x69\xfe\x88\xad\x58\xc4\xd7\x22\x6d\x31\x76\x96\x68\xc3\x0b\x06\x6f\xfa\x98\xfb\x40\x78\x51\x84\x69\x0b\x28\xa3\x67\x80\xea\xe9\xe6\x8f\x7a\x40\x1a\x82\x44\x10\x84\x91\xc7\x9d\x9d\xb0\x29\x0f\xc2\x28\x94\x02\x20\x1e\x19\x85\x96\x7a\x0c\x49\x4a\x9a\x43\x53\x87\xbe\xc8\xbf\x97\x71\x41\x57\x7c\xc2\xc2\x39\xbf\x40\x27\x04\x2d\x70\x43\xc7\x68\x7e\xc9\xb2\xf0\x22\x06\xcd\x18\x3c\x19\x90\x0d\x96\xc9\x1b\xda\x72\x82\xf7\xeb\x2b\x03\x69\xa7\x81\xe4\xb4\x96\x19\x5f\xd4\xd4\x88\x0b\x2c\x52\xa3\xe0\x6f\xae\x71\x0f\x3e\x33\x2c\x38\x3c\x87\xe9\x4a\x78\x84\xd8\xd2\xca\x32\x8d\xdc\xfc\xa1\xb2\x20\x4f\x58\x94\x70\x4d\x5a\xb8\x03\xac\x46\x20\x02\x90\xbe\x54\xab\xcb\xb5\x80\xa3\xbe\xa8\xf1\x63\x73\x06\x09\x3c\x74\xc0\x70\x57\x9e\x19\xc1\x84\x6d\xce\x49\x23\x6e\xc8\xf1\x34\xec\x0e\xad\x03\x4c\x55\xfa\x24\x4f\x23\xfa\x5d\x9f\x54\x93\xf0\xca\x2e\x87\xbf\xf5\x47\x39\xc9\x23\x09\xda\x1c\x6c\x5a\xfd\x6b\x4f\xee\xf3\x67\x50\x52\x53\x9d\x10\x66\xf2\x49\x9b\x3d\xea\x03\x13\x13\xbc\xa6\xa5\x2f\xa4\xa2\x1f\xcc\x78\x1c\x8b\xc8\x7c\xb6\x98\xf4\x33\x4c\x3c\x4b\x35\xad\x74\x75\xa1\xc6\xba\x83\x24\x8b\x6f\x26\x31\x59\xe2\x7d\xb2\x31\x47\x06\x2a\xd9\x2a\x84\xd7\x1a\xd1\x82\xac\xc6\x31\x37\x36\x40\xa0\x15\xf7\xc2\x45\xd0\x0c\xe3\x30\x6f\x26\x97\xde\xa1\x79\x95\xff\x00\xaf\xfc\x4a\x74\xcb\x16\x89\xe4\x3b\x7c\x0a\x6e\xae\x90\x66\x07\x6e\x78\x73\xa6\x9a\x03\x2f\x00\x7b\xb6\x69\x18\x87\xd9\x4c\xbd\xdf\xc3\xfc\x65\x75\x45\x90\x27\xf1\x34\xf9\x54\xab\x3f\x75\x1c\x4d\x9e\x5a\x03\xd2\x5b\x32\x8c\xa7\xc9\x57\x8e\xca\x81\xb1\x69\x68\x92\xdf\xcf\x92\x15\xd2\x26\x7c\x81\xa4\x88\x7c\x2e\x1a\xaa\x49\xcc\x52\x31\x0e\xe5\x2d\x76\x99\xea\x87\x16\xcc\x11\x9c\xd2\xad\xd4\x00\x0b\xe8\x31\x84\x8d\x45\x94\xac\x1c\x04\x18\xd2\x68\x01\x27\x6f\x29\x73\xd8\x23\xe6\x4d\x23\x71\xad\x4d\x92\xaa\xc8\xa5\xb5\x48\xd2\xdc\x6f\x25\xf1\x5c\x1b\x5c\x22\xa9\xaa\x75\x47\xf3\x06\x59\x56\x77\xe0\x24\xf1\x8b\x84\x4f\xaa\x71\x4d\xef\x28\x0a\xb7\xe0\xe2\x19\x89\x56\x94\x5c\xd4\xbc\x77\x31\x5a\x36\xaa\xfe\x80\x16\x01\x31\x87\x5e\x83\x21\x25\x55\x00\x75\x5f\xd9\xe0\xa9\x3e\x63\x01\x3c\xf6\xc9\xf3\x2c\xc5\x34\xc7\x61\xd6\x60\x27\xec\x62\x29\x32\xfd\x3c\x7a\x92\x43\x2e\xa8\xd8\xd3\x76\x45\x98\x4b\x7c\x01\x47\x5e\x96\x8b\x18\xf2\x11\xc8\x3b\xf9\x89\x37\x27\xfb\x23\x65\x43\x89\xaf\x89\x6e\xf2\xa7\x99\x48\x85\x3a\x6e\x16\x69\x32\xe6\xe3\x08\xf2\x03\xe6\xb8\x6a\xd9\x42\xf0\x4b\xf3\x40\x94\x27\xb0\xbc\xc8\x23\xb3\x3b\xed\xb4\x82\x88\x52\xde\xc7\xb8\x6b\x19\xae\x00\xe6\x82\xbe\x19\xb0\xac\xf7\xa9\x2c\xf9\x6c\x62\x1f\x62\xc5\x5e\x3a\xa5\xb8\xca\x5f\x45\x3e\x9f\x0a\xf4\x73\x03\x10\x70\x61\xb0\xba\x22\x4e\xd8\xa2\x8c\x47\x64\x6d\xb3\x48\xb2\x9c\x60\xab\x54\xf6\x7f\x93\x8c\xe7\xd0\x70\x1b\xaf\xc1\x78\x7a\x71\x75\xc8\xce\xff\x46\x3d\xbd\x49\xd2\xfc\x70\x73\xdf\x9d\x2f\x1f\xbf\x34\x6c\xe2\x86\xf3\xe0\x7c\x73\xfd\x8f\xae\x10\xac\xe8\x71\xce\xd7\x2e\x35\xde\xbe\x2c\x9b\x17\xfb\x14\xf2\xe2\x39\xb2\x0c\x30\x1c\xcb\xee\xfd\x6e\x2c\xbc\xc4\x20\xcb\x94\x80\xaf\x76\x17\x22\xef\x05\x81\x58\xe4\x2f\x78\x7c\xb1\x94\x27\x45\x4d\xd7\x8b\x54\x91\xb1\xd7\x82\x09\xda\xcb\xe1\x72\x57\xaf\xc1\xce\xad\xec\xcd\xdc\x85\x7c\xc8\x34\x44\xcb\x12\x78\x9a\xa4\x02\xcd\xda\x06\x49\x94\xa4\x87\x85\x23\x58\x8e\x70\xe4\x56\xa9\xd5\xad\xe6\xc6\x2a\x6e\x63\xf3\xbe\x5b\xc5\x69\x8e\xca\xbb\x8d\x4d\x07\xe6\xb3\xd3\x6c\x9a\xa0\x05\x56\xf5\x68\xf1\x5b\xa9\xc1\x88\xcf\xc3\x68\xbd\xa9\x09\x7e\x2d\xcc\x2d\x13\xef\xde\xbe\x38\x34\x6b\xf5\xee\xed\x8b\x9a\xb7\xe5\xd5\xad\xeb\xc7\x97\x8f\xfa\x0f\x65\x76\x66\xed\x3f\x97\x68\xdf\x65\x22\x65\xf0\x6c\x4a\x0a\x55\x78\x10\x95\x8c\x30\x07\xa3\x5f\x23\x56\x41\xb6\xfe\x54\x8b\xa6\x9b\x09\x7a\x20\x21\x0c\x10\xe4\x26\x7e\xa3\x9f\x5d\x9d\xfd\x93\x64\x24\xe4\xde\x4a\xcd\x38\xca\x12\x6c\x7c\xa2\x2e\x48\x4a\x9f\x3f\xb3\x62\x59\x0b\x39\xf1\xab\x64\x22\xea\x85\x43\xa6\x2c\x6a\x59\x95\x5b\xa9\x98\x27\x57\x62\x30\x0b\x23\xc4\xa6\x55\xcd\xb0\x2c\x42\x81\x9a\xde\x37\xf2\x87\x41\xc5\x54\x0b\x0c\x82\xf1\xfb\xf3\x03\x6b\xcb\xda\xc0\x63\x94\x4d\xd2\x8b\xab\x22\x46\x0b\x2c\x90\x6c\x00\xc0\xac\x46\x9e\x15\xc3\x34\x4d\xd2\x9a\xa7\x40\x06\x58\x4d\x1b\xf3\x8a\x9c\x2d\x17\x2d\xaf\x6e\x10\x5c\xcd\xfe\x6d\x4e\x42\x1c\xdd\x0c\xe9\x10\xfe\xff\x52\xd0\x8b\x29\x01\xeb\xdd\x09\xdd\x03\x6c\x02\x52\xfe\x02\x74\x5a\x66\x69\xa0\x86\x24\xaf\x1d\x82\x1c\x92\xc8\x38\x0b\x0d\x4d\xb5\x5b\xc0\x8d\xec\x74\x06\x9a\xa9\x02\xfd\x81\x23\xac\x88\xa6\x74\x00\x3e\x75\x2d\xe8\x17\x39\xa1\x97\x24\xa3\xf7\x3c\x5a\x3a\x46\xde\xf2\xab\xbc\x09\x49\x10\xea\x9a\x50\x70\x97\xb6\x3f\x9d\xcb\xfa\x1f\x9f\x3e\x70\x8c\xab\x2c\xd0\x4f\x6d\x8b\x8f\xe2\xb0\xc0\x7c\xbf\xb0\x53\x8c\x76\xa8\x6a\xa3\x28\x99\x9e\xe4\x38\x81\x0b\x8e\xf7\x29\x1e\xa5\x82\x4f\xd6\xec\x2a\xcc\xc2\x71\x44\x76\x5c\xae\xe4\x46\xe3\x98\x09\x3e\x11\xa9\xb6\xcb\xf4\xfc\xee\x42\xca\xa6\xca\x46\x28\xbc\x22\xeb\x83\x0a\xe3\xd6\x9a\xbe\x6d\x19\xeb\x10\xf5\x44\x2b\x91\xeb\xc1\x1f\x5e\x83\x75\x77\xd0\xde\x16\xfb\xa3\x9e\xa0\x06\xfe\xe5\x35\xd8\xce\xbe\xa9\x12\x61\x9e\xf9\x1a\x75\x4e\x6f\x70\x4d\x46\x1e\xce\x5b\xe8\x69\x0e\x66\x33\xc9\xc2\xae\x48\xb0\x9b\xda\x08\x00\xaa\xaa\xa9\x28\xbb\xbb\xa3\x22\x7b\x57\x5f\x3e\xe9\xba\x1a\xe1\xaa\xb2\x73\xd1\xd3\xb6\x38\x01\xd8\x95\x0d\xf1\x5a\x5b\xf3\x26\xe1\x15\x22\x5a\xd7\x26\xd1\x3f\xc8\x32\x70\x8e\x3a\x62\x4a\x38\xf2\x54\x0e\xe6\x43\xc6\xc7\x90\xa2\x56\x3c\x35\x3a\x2b\x8f\xee\x0a\x87\x2c\x4e\x62\xe7\x83\xbc\x39\x34\x51\x8c\x85\xc6\xa4\xa3\xb5\x6a\xe4\xc9\xe2\x90\xf9\xed\x7f\xb7\xcb\x24\x42\x0f\xd9\x8e\x53\x06\xc8\x3c\x64\x07\x6e\x4d\x44\xdc\x21\xdb\x77\x8b\xe7\x61\xdc\x54\x9f\x3a\x85\x4f\xfc\xba\xb9\xa1\xd5\x38\xb9\x6e\x66\x33\x3e\x49\x56\x87\xac\xcd\xda\xac\xb3\xb8\x36\xda\xba\x9b\xc5\x07\xf6\x84\x79\x2e\xa8\x74\x22\xd2\xc3\xfb\x82\x60\x59\x12\x85\x93\xa7\xc4\xe6\xe4\x16\x03\xe5\xae\x65\xb7\xf8\x0a\xb2\x47\x6a\x85\x85\x7d\xda\x36\x58\x96\xb0\xd8\xfd\xae\xbc\x30\x61\xd3\x50\x96\xe3\x96\xf6\x2c\xa0\xe2\x3b\x50\x08\xa3\xba\x1b\x09\xc4\x26\x02\xb9\xe8\x4f\x6d\x8d\xa6\x47\xc9\x8f\x9b\x24\x84\x63\x95\xa6\x88\x27\x6e\x35\xb5\x2e\x12\x63\xce\x3e\x77\xb1\x2b\xf1\xab\x05\xb0\x66\x80\x92\xd6\xd7\x2d\x14\x63\xde\x8d\xed\x4b\x82\x5e\xb9\xbd\x94\xc3\x9a\x19\x48\x6e\x92\x17\x55\x7c\x9c\x92\x94\xb6\x69\x88\x46\x52\x23\x5c\x9b\xfd\x08\x2a\xb8\x09\xca\x0b\x88\x91\x3a\xf1\x6b\xb9\x7e\x24\x65\xdd\x69\xfd\xb0\x6e\x2b\x13\x79\x2f\xa7\x2c\xa3\x35\x2f\x4d\x22\x70\xbb\xc6\x8f\xc5\xaa\x9b\x97\x7a\xce\xd3\x8b\x30\x6e\xc2\xde\x6d\x6e\x17\x27\x4d\x5f\x53\x5c\xcc\xd2\x67\x14\x90\x0f\xd9\x22\x01\xdd\xed\xd3\x42\xb7\xb9\xb8\xce\x07\x48\x27\xe4\xea\xc8\x3b\x53\xcf\xa9\xc2\x27\x93\xa1\xbc\xaf\xbe\xa0\x9b\x77\xcd\x03\x09\xd4\x6b\x38\xf2\x93\x12\x21\x5d\xd9\xd5\xa2\x65\x1b\xb9\x08\xb9\xee\x1c\x35\x74\xe6\x1f\x15\x55\x6a\x9b\xb0\x8d\x35\x3c\x32\x76\x84\x03\x3f\x89\x23\xbc\x9e\x59\xda\x8e\xe2\x65\x96\xaa\x6e\x64\xbd\x9b\xf6\x15\x30\xd7\x43\xe6\x57\x70\x49\x70\x19\x76\x80\x3b\xcb\x9e\xa5\x81\xc2\xd5\x32\x8d\x6e\xa8\x27\xf8\x3c\x12\x59\x26\x2b\xa7\x4b\x51\x38\x2b\x6c\xf4\x61\x73\x4b\x3a\x93\xa7\xac\x53\x43\xb7\xbb\xd3\x4b\xc6\xa5\x58\xa3\xf3\xc3\xff\x9d\xc7\x0c\x14\x48\x9e\xab\x89\x3d\x17\xeb\x97\x7c\x61\x3f\x6e\xa8\x4f\x4a\x7b\xa7\xc4\xcf\x41\x12\x63\xae\xca\x24\x7e\x2e\xd6\x8f\x51\x55\x83\xe9\x4e\xd1\x43\x54\x7e\x79\x7f\xf6\x5c\xac\xb3\x3c\x4d\x2e\x85\xba\x75\xf1\x2c\x4b\x82\x90\xe7\x98\xaa\xdd\xd5\xb9\x5b\xea\x75\xbc\x04\x08\x78\xb6\x38\x64\xe7\xff\x75\x36\x7c\xfb\xf2\x23\xe3\x12\x7b\xe4\x69\x0d\x73\xbd\xca\x5b\xbf\x95\xbc\x05\xaa\x14\xf9\x85\x2e\xac\x61\xa8\xf7\xf1\x30\x63\x7a\x7d\x2d\x11\x59\xcf\xbf\x42\xb9\x6e\x82\xfa\x99\xa7\x82\xab\x1c\x1f\x7f\x16\xa9\xa0\xf0\x72\x0e\x73\x75\x34\xed\xa6\xb1\xf6\xed\x10\x5e\xaa\xbd\x70\xa2\x35\x0b\xf8\x22\x47\x2f\x5e\x35\x36\x85\xe8\x69\x62\x80\xab\x6f\xb4\xe7\x8d\x9e\xdc\xea\x40\xb6\x52\x6b\x98\x61\xdc\x3c\x93\xc8\x1c\x90\xa9\x95\xb7\x61\xca\xc6\x40\x4c\x4a\x31\x9b\x35\x58\xc6\xaf\xe4\x8a\x49\x70\x59\x82\x4a\x61\x24\x3d\xb6\x8c\xe1\x91\x12\x3c\x8e\x29\x67\xb3\xbc\x4d\x3a\xac\xb0\x81\x0f\x38\x14\x91\x6c\xa2\x07\xae\xc6\xf3\x49\x67\x98\x61\xec\xdc\x03\x7b\xe6\x64\x99\x1b\xce\x39\x92\x25\xaf\x97\xb9\xcd\xa4\x3e\x36\x74\x83\x4b\xb1\x9e\x24\xab\xd8\xd4\x7f\x2e\xd6\xc7\xc9\x2a\xde\x5c\x7d\x91\x12\x03\xd1\xf5\xdf\xc8\x92\xcd\x0d\x96\x0b\xa7\xf6\xbb\xc5\x86\xaa\xf2\x9c\x38\x89\x17\xf6\xe0\xcf\x54\x91\xd3\xe4\x01\x63\x78\xc9\x81\x7d\xc6\xe8\x42\xa7\xfc\xaf\x2e\xc5\x9a\xcd\xf9\x02\x84\xa2\xc7\x5b\xd6\x3a\xbf\xe4\x0b\x52\x63\x56\xee\x5c\xc5\xbf\x55\x0b\xd9\x61\x18\x5f\x64\xd5\x6d\xfa\xf4\xd5\x6a\xa5\x47\x23\x65\xe6\x43\x76\x1c\x66\x10\xb4\x91\xc7\x6b\xd6\x8b\xf2\x9f\x53\x96\x8a\x08\x76\xcd\x7c\x19\x5f\x28\xaf\xe1\xc7\x2c\xc8\xd3\xa8\xc9\xa3\xfc\x90\xf5\x20\x85\x2d\x1b\xe4\x69\xf4\xa4\x17\xe5\x6c\x2e\x78\x9c\x61\x5b\xaa\x2b\xe5\x68\xa7\x2e\xdc\x54\xaa\xeb\x02\xcb\x74\x2a\x23\xc3\xad\xac\xad\xf1\xc4\x65\xd9\x4b\xc9\x46\x95\x13\xb4\x3b\xb7\x93\x29\x9c\x1c\x0d\x76\x3a\x0b\xa7\x79\xf3\x24\xce\x44\x4a\xcf\x9e\x53\x88\x34\x32\x83\x87\x57\xa5\x76\x50\x2e\x4c\x90\x91\x1a\x3c\x7a\x5a\x1a\x0e\x48\xc2\x90\x71\x5f\xae\x19\xb1\x3a\x80\x34\x06\xbd\xba\xb6\xc1\x9b\x25\x60\xdd\x66\x0f\x33\x93\xbd\x63\xe7\xe8\xff\x75\x44\x91\x6d\x2b\xc7\x3a\x4b\xe6\x62\x4b\x80\x91\x71\x14\xe9\x40\x96\xce\xb3\x72\x06\xa1\x0d\xc6\x3c\xc5\x08\x2b\x12\xbc\x6e\x86\xd0\xa0\xad\x7a\xee\x61\xef\xcf\xe4\xa0\xe5\x79\x93\xb5\x98\x9e\x0d\xbe\xdf\xe8\xee\x32\xd0\xd5\xbe\x3f\x83\x73\x29\x43\xdb\x21\x09\xca\x05\x4f\x7d\x67\x85\x29\xca\xcf\xf2\x08\xc0\xa0\x0b\x56\x56\x5f\x6b\x86\xa7\x70\xd5\xce\x18\x1f\x27\x57\xa2\x41\xae\x4c\x70\x57\x58\xf0\x0b\xc1\x96\x8b\x2d\xf8\x29\x77\x78\x01\xba\x2c\xbf\x0d\xba\xc6\x9f\xa4\xc8\xe6\x9b\x68\x99\x6d\xbd\x0c\xe3\x65\xb6\xf5\x17\x91\x26\x0a\x8d\x19\x44\x50\x29\xad\x2a\x34\x41\x1a\xb9\xb1\x21\xd5\x84\xcf\x84\xaf\x5f\x3f\x35\x10\x9a\xe9\x16\xda\x4d\x12\x1d\x4c\xd1\x9d\x8b\xdc\x41\xb2\x1a\x00\x91\x55\xff\x92\x24\xf3\x4a\x8a\x80\xad\x35\xc0\x20\x2a\x19\xb8\xb5\xc1\xfc\xa8\xdf\x81\x24\x38\x49\x6c\xf2\x8b\x71\xed\xa2\x66\x30\x99\x27\x83\xca\xca\x08\xc6\x80\xb5\x1a\x3b\xa3\x1c\x80\xb7\x68\x25\xb2\xa1\x8f\xf7\xb8\x47\xca\x43\x7b\x7f\x87\xa1\xbd\xaf\xac\x8c\x60\x0c\xd8\x4d\x43\x7b\xaf\xf6\x51\xc5\xd8\x86\x10\x92\x65\x6b\xa2\x38\xda\x62\x11\xa9\x70\x2a\xf2\x40\xe0\x13\x84\xa7\x78\x71\x98\x91\x25\x02\x19\x4f\xf3\x35\x8b\x97\x73\x91\x86\x01\x6c\x74\x38\x3e\x61\x7f\xeb\x07\x67\x4b\x7a\x70\x98\x91\xe9\xe8\x39\xf4\x73\xa7\xe1\x81\xa8\x64\x0d\x51\x1b\xdf\x4e\xc4\xad\xe3\xa4\xba\x5f\x3d\x4c\x7c\x0c\xb8\x65\x3b\x01\x63\x94\xb2\x01\x44\x74\xa2\x18\x2d\xc0\x59\xfa\xa7\xac\xe6\xfd\x72\xdd\xde\xf7\x1a\x8c\x5f\x72\xf6\xeb\xb3\x7a\x8b\x61\xc2\xfe\x55\x98\x09\x84\xe3\x36\x97\xc7\x9d\x0d\xc2\xfb\xe5\x7a\x6f\xea\x15\x46\xa8\xab\xc3\xeb\x51\x5f\x37\xae\x1c\x27\xc6\x33\x0b\x92\x09\x86\x53\x02\x15\xa8\x64\x29\x13\x9e\xf3\xdb\xf8\xb2\x36\x53\x1e\x2a\x00\x47\xcc\x5b\xe6\xd3\xe6\x7e\xe1\x1c\x39\x15\xb9\xc9\x7b\x0e\x1e\x85\x39\xc7\xb9\x00\x0d\x73\x16\x09\x0e\xed\x45\x16\xf0\x85\x60\x49\x2a\x37\x7f\xa1\x37\xd9\x08\x66\x34\xc4\x4a\x55\x5b\xde\xee\x48\xd6\x6f\xbe\xc7\xc0\x01\xca\x64\x3c\xa9\x9a\x86\xfc\xf8\x52\xe4\xfc\x7d\x35\x17\x51\x0c\x4c\x29\x9a\x79\x84\x62\x07\x58\x97\x4b\xb1\xcc\xd9\x10\x34\x85\x16\xfe\x23\xfd\x7c\xcc\x86\xa7\x03\x08\x7e\x14\x5e\xd3\x56\xc6\xb0\xd6\x2d\x55\xaf\x37\x99\x30\xbf\xb3\xaf\x90\xbd\x8c\xe1\xd4\x10\x13\x2b\x20\x2b\xcf\xa4\x20\x7f\x4d\x91\xb8\x00\x06\x1d\xb8\xcd\x4b\xb1\x6e\xb5\xd8\x07\x1e\xe6\x5a\x75\xa4\x64\x37\x12\x68\xe1\x9c\x13\x82\xad\x94\x01\xb0\x3a\xab\x33\xbe\xce\x14\x38\xf7\x5f\x0d\xf6\xcc\x0a\x1c\x1f\x57\x49\x7a\xc9\x56\x22\x8a\xe4\xed\x64\x11\xf1\x1c\x62\x0c\x53\x10\x16\x0b\x5c\x25\x20\xb6\x10\x29\xd6\xe7\xda\xbb\x92\x9b\x24\x09\x10\xe0\x8c\x83\xc7\xe5\x5f\x97\xf2\xc2\x92\xb5\xea\xc5\x9d\x4b\xce\x98\x18\x71\x6a\xce\x73\x30\x8d\x07\x51\x59\x36\x0c\x33\x36\x09\xb3\x3c\x8c\x03\xda\xbe\x40\x5f\x35\x1e\xe5\x27\xb0\xb0\x2c\xcc\x10\x16\xb2\xc3\x7a\x49\x08\x02\xb2\xfa\x20\x51\x73\xc4\x3c\x5c\xc0\x5b\x28\x58\x11\x01\x0f\xe4\x5d\x2e\x83\x27\x18\xa4\xe9\x86\xed\x3c\xbc\x48\x93\xc9\x12\xc2\x77\xc3\x72\x93\x0c\xe8\x44\xf2\xd6\xf3\x4c\x97\xf0\x7e\x83\x11\xb1\x1a\x4a\xc4\x80\xc0\x66\x58\x22\xaf\x2a\xb2\x80\x2f\xf3\x04\xc3\x9f\x18\x6b\x5f\xb5\x26\x65\x01\x8f\x50\x70\x0b\x93\x4a\xc1\xcc\x32\xa1\xb0\x2a\xec\x78\xf8\x02\xa6\x47\x77\x28\x1d\x64\x0e\xb0\xcb\xa3\xbc\x69\x58\x52\x12\xd3\x3e\xc1\xc0\x1e\xaf\x4f\xd9\x15\x19\x17\x71\x00\xae\x61\x01\x39\xda\x33\x36\xda\xb9\x43\xd6\x23\x8b\xbd\x70\x8e\xe1\xe7\xd2\x50\xae\x77\x43\x4e\x4d\x03\x6e\x14\x7a\x0e\x33\x29\xfa\x2f\x04\xc9\x59\x79\x22\xbb\x6a\xb1\x53\x59\x7b\x99\x49\x0a\x99\xf3\xb5\x14\x2f\x67\x7c\xb1\x58\x9b\xeb\x2b\x1a\x7a\x80\xa9\xad\xae\x32\x4d\x97\x59\x9e\xe2\x6d\x9b\xa9\xb0\x7a\x61\xee\x65\x2c\x9c\x2f\x92\x0c\x9e\x35\x00\x3f\x09\xf2\x15\x3d\x8a\x16\x20\x91\xfc\x89\x69\xf1\x32\xbc\x25\xcb\xfd\x4e\xc2\xcd\x0a\xbe\x03\x46\xc2\xe0\x12\x76\xb9\xdc\x4c\x2e\x86\x70\xbf\x96\x51\x7c\xa8\x71\xec\x14\x37\x24\x54\x92\x53\x85\x43\x94\x17\x09\x08\x81\x0d\x14\x50\x2f\x44\xce\xb8\xea\x03\x05\x6f\x7b\x8e\xe4\x90\xa3\x16\x19\xb7\x53\x9c\xe4\xb8\x5e\x62\xd2\x02\xf5\xc2\x2c\xcf\x17\xd9\xe1\xd6\x56\x90\x8e\x97\x17\xad\x20\x99\x6f\xf9\x7b\x3b\x3b\x7e\x9b\x95\x09\x4e\x1f\x38\x48\x79\xb7\x9c\x3f\xef\x88\x2f\x5f\x0a\xb1\x60\x79\xca\x83\x4b\x65\x1a\xaa\xae\x78\x72\xd2\x70\x56\xe4\x10\x8a\x49\x7b\x14\xc5\x22\x10\x59\x06\x39\x57\x92\xd4\x1c\x96\x37\x8d\xc0\x84\x9f\x43\x21\x1a\xd8\xa2\xe2\x98\xfa\x32\x84\xb0\x4c\x5d\x30\xf7\x44\x3b\x53\xce\xc6\x61\x3e\xe7\x0b\x24\x26\x64\x7f\xe3\x30\x67\xea\x7d\x25\x63\x10\x73\x20\x5b\x24\xf1\xc4\x32\xdf\x7a\xcc\x1e\x45\x09\xca\x0c\x8f\x24\x4f\x58\x88\x34\x5f\xab\x79\xea\x7d\x56\x46\xa5\xba\x6e\x8b\x89\x0e\xe2\x5c\x21\xaf\xeb\x8d\x37\x17\x93\x90\xa3\x38\xa3\x6e\x56\xb8\x41\x68\x28\x61\xca\x46\x80\x4a\xf1\xd7\x65\x78\xc5\x23\xdd\x27\x1b\xb6\x2e\x5a\xec\x91\x44\xd4\xa3\x8a\xa6\x23\xbf\x65\x0b\xfb\xd8\x1f\x19\xbf\x82\x31\x92\xba\xd5\x95\x4e\xec\x49\xc8\xe5\xbd\xa3\x97\x8a\x91\xfc\x59\x4d\x02\xcf\x92\x88\x8c\x5c\x16\xa9\xb8\x82\x10\x08\x9a\xdf\x4f\x99\xc3\x9e\x81\xe5\x1f\x0f\x07\xa7\xc3\x33\x06\x49\xcc\xd1\xb3\x6c\xd2\x02\x97\x2f\x04\x77\x3c\x1c\xbc\x3d\x75\x3f\x37\x5c\x28\x5a\x14\x9c\x80\x68\xa5\xfd\x02\x50\xad\x03\x2b\x4d\x77\xfb\x25\x68\x6b\x92\x65\x49\x64\xa0\x81\xf6\x2c\xb0\x95\x56\x97\xa7\x14\xf9\x1d\x10\x05\x41\x24\x50\xe0\x1c\xc0\x1d\x11\x02\x17\x6a\x85\x55\xc4\xd7\xd8\x53\x49\xa7\x26\x7f\xe9\x05\x76\xd8\x00\x23\x9e\xc8\x7b\xb8\x1c\x8e\x88\xf3\x63\x75\xb8\xca\xc3\x3e\x4f\x16\x6f\xd2\x64\xc1\x2f\xec\x48\x88\xa8\xbb\xb3\x64\x02\xba\x63\x21\x2c\xe1\x5c\x16\x06\xbd\x57\x83\xa1\xb6\x35\x21\x65\x79\xbc\x9c\xd7\x3c\xfc\xe2\xd5\x1b\x05\x49\x52\xf2\x3c\x75\xd4\xdb\xa1\x14\x8c\x39\x77\xe0\x44\x65\x94\x62\x0b\x5c\xa7\x21\x26\x13\x6a\x64\x11\x96\x0a\x9e\xa4\x5a\x90\xc2\xad\xa0\x3e\xd0\x7e\x06\xa0\x6f\x48\xc3\x18\x13\x67\xc0\x21\xac\x41\xd9\xd9\x53\x36\x68\x1b\x9c\x31\x24\xb1\x50\x3b\x73\x9e\x4c\xc2\x69\xa8\xa4\x1a\x1c\x4a\xd6\x28\x84\x17\x95\x40\x69\xd6\x14\xaa\x43\x8e\x5c\x0f\x1c\x4c\x47\x6b\x74\x84\xac\xeb\x9a\x8f\x63\xdc\xfe\x30\x77\x64\xc7\xa6\x3a\x4c\x08\x88\x92\x88\x30\xb2\x2f\x05\xa9\x18\x9c\x9e\x34\x28\x4c\x10\x7d\x55\x13\xe3\xe0\xb5\xa6\x8e\x30\xc6\xd0\xe1\x12\x7c\x33\x9d\xf9\x98\x08\x23\x52\x74\x99\x88\x2c\x48\xc3\x31\xce\x5e\x29\x90\x95\x41\x36\x06\xcd\x54\xe0\x54\x5e\x12\xf9\xe9\xd1\x9b\x41\xf3\x14\xf4\xec\x23\x65\xe2\x20\xb7\xf8\x23\x96\xe1\x6b\x71\xf5\xc4\x94\x3a\x86\x04\x68\x79\x4c\xe9\xc5\x95\x65\x1b\x96\xd4\x44\x2f\xd5\x83\x51\xad\x96\x8b\x85\x48\xc1\xb0\x97\x02\x1a\xab\x01\x1a\x19\xfa\x52\xac\x03\x0e\xa1\xe0\xc8\xc9\x40\x03\xe9\xee\xb0\x1a\xa6\x6d\xf1\xfe\xc3\xab\x03\xcc\x83\x5d\x5d\xf4\xc9\xab\xd3\x19\x7a\x53\x47\x1a\x58\xa9\xc3\x39\xe8\x39\xba\x3b\x18\x2c\x37\xce\xd5\x41\x32\xe7\x97\x22\x63\xde\xaf\xff\xe1\xe9\x5b\x5c\xbb\xed\x19\x8d\x11\x63\xcc\xfb\xf5\x93\xf9\xe8\x4f\xbd\x16\x63\xb5\x57\x89\xf2\x9b\x95\x34\x3a\x0b\x2f\x50\x18\xe5\x39\x6b\x5f\xfb\x53\xd9\x49\xfb\xba\xd3\x36\x27\xa4\x59\x37\x58\xc9\x34\xcb\x2d\x8c\xe2\x14\x21\x40\xaf\x23\x6e\x9b\xa5\xb2\xee\x39\xf7\x5e\x26\xc0\x9a\xd3\x3f\x86\x02\x56\x47\xbb\x9d\x68\x4c\x21\x6d\xb9\x60\xe3\xb5\xbc\x04\x95\x29\x67\x8e\x42\xbc\x19\x47\x90\xc4\xd3\xf0\x62\x99\xe2\xf9\x94\xd1\x25\x0b\x25\xf7\x06\xa0\x6c\xec\x39\xfb\x5d\x8f\x85\x42\xa0\x96\x77\xaa\x61\x5e\xc2\xba\xf2\x1f\x0f\x47\xbd\x77\x2f\xce\xaa\xb8\x20\x7d\x2a\xb2\xc1\x01\x3a\xec\xba\xd1\x61\x13\x96\x2c\x72\x79\x8e\x40\xa0\x64\x75\x16\x38\xa7\xbf\xb9\x37\x44\x78\xf8\x59\xf7\x7f\xba\xab\x4d\x04\x30\x9c\x7c\xa6\xf9\x86\x1c\xe2\x9b\xde\xe9\x69\xd5\xf8\x64\x79\x71\x70\xa4\xc1\x35\x04\x81\x31\xa5\xa4\xb4\x62\xd6\xc4\xc8\x25\x03\xbe\x68\x98\x3b\x86\x40\x45\xec\x73\xb1\x6e\x19\xdd\x81\x1c\xbf\x42\x34\x5d\x87\x91\x8b\xd2\xd3\x02\x3e\x96\x88\x96\x7b\x44\xd5\xea\xaa\x11\x31\x69\x65\x71\xa5\x17\xfe\x24\xa7\xc3\x7b\xba\x8c\xc8\xbb\x9d\xd8\xd7\x44\x5d\xbc\x20\xe8\x2b\xca\x60\x61\xce\xa4\x98\x14\xe7\x21\x64\x74\xc9\xf2\x34\x5c\x64\x66\x73\x6a\xc6\x87\xb9\xde\x68\x2c\x6a\x09\x4c\xe4\xad\x64\xce\x52\xc1\x31\xac\x24\x1d\x10\x97\x6a\xb6\x12\xd5\xa7\x67\x6f\x4f\xde\x54\xe1\x1a\x3e\x78\x75\xfb\xe4\x07\x9d\x88\x30\x4e\x71\x3c\x08\x92\x74\x62\x41\xf6\x24\xd9\x36\x95\xee\xc5\x8e\x8d\x5c\x29\x02\x58\xee\x7f\x08\xb9\x2a\xf1\x87\x31\xeb\x2a\xab\x66\xb4\x6e\xc6\x49\x9e\xe2\x3c\xba\xb5\xae\x72\x82\xfe\xee\x6c\xb4\x0f\x60\x9f\xba\x01\xfe\x5d\x93\x4d\x78\x74\x13\xa5\x27\x37\xfb\x80\xb5\xde\x0f\xe9\xed\xce\xf1\xdd\x32\x17\x26\x4b\xe1\xc6\x14\x64\x0d\x51\xde\x3d\x03\x7c\x48\xa5\xd8\xcb\xca\x17\x0a\x02\x08\x28\x65\x3f\x5c\x5b\xcc\x59\x1c\xa6\x45\x7d\x43\x92\xb2\xf1\x72\x4c\x77\x39\x0a\xd3\x86\xa3\xd2\x8f\xa3\x6f\x78\x96\xc1\x7a\xe1\x7d\xdb\x04\x93\x8b\x22\xf3\x84\xe7\x8c\x57\xbf\x16\x56\x45\x63\xa3\xa7\xc6\x2f\x1a\x90\xf3\x8a\x39\x4b\x32\xa1\xb1\x36\x53\xf1\x67\x03\x9a\x7d\x83\xc9\x8b\x0d\xea\x53\xd4\xe5\xdf\xd6\x7b\xde\xf4\x0c\x6b\xd1\x0b\x8d\xb9\xea\x81\x96\x06\x62\x88\x47\x8d\xec\xe8\xa8\xfa\xc5\xd4\xa6\x1d\x6d\xe5\xa4\x1a\x29\x03\xc2\xea\x46\x68\x86\xe1\x8e\x05\x42\x66\xd6\x37\x66\xa7\x71\xdf\x3e\x75\x4e\x90\xd0\xa4\x02\x01\x3b\x28\x72\x97\x39\x2a\xd4\x3f\x0f\x3f\x9a\xfc\x17\xce\x4c\xe5\x3f\x45\x8d\x25\x6b\x14\x6a\x7f\xde\xfe\xd8\x50\xa0\xcf\xfd\x8f\xd5\xa1\x40\x2b\xa7\xdb\xaa\x78\xd8\xbd\x05\xaa\xb2\x5b\xd9\xf4\x4a\x4d\x83\x75\xd3\x13\x11\x25\xb8\xbb\x4f\x11\x8f\xb3\xcb\x80\x78\x79\x14\x91\x06\x53\x07\x79\x4d\xe4\x65\x14\x02\x94\x59\xca\x1e\x15\xa3\xe2\x16\xaa\xd2\x7b\xa1\x8a\xae\x2c\x5b\xef\x0d\x2b\x5e\xf6\x68\xb1\x1e\x80\x69\x28\x6a\x0e\x1f\xe0\xb1\x1f\x72\xd5\x05\x39\xe6\xec\x02\x37\x1e\x52\x1d\xa0\xc3\x96\x90\x77\xd3\xf1\x32\x67\x2b\xc1\x26\x89\xb2\xa2\x78\xc9\x03\x25\xcb\x4a\xd1\x0d\xdc\x3c\xe1\xc4\x70\xbd\x4a\xf9\x62\x41\xba\xe8\x6c\x1d\xe7\x33\x91\xd3\xeb\x05\xdc\x33\x40\x31\x86\xb7\xde\x5b\x70\x62\xbf\x61\x57\xb8\xca\x81\x35\x35\x79\x37\x15\xf7\x11\xb9\xcf\x65\x8b\x28\xcc\x6b\x9e\x57\x6f\x4d\x93\x74\xc8\x83\x59\xcd\x65\xd0\x8e\xa9\x88\x79\x26\xd7\x15\xea\x1b\x50\xab\x34\x09\x16\x66\x6f\x9c\x87\x7e\xe8\xaf\x98\x86\x4a\x10\xa5\xed\x57\x25\xf1\x1c\x31\xf4\xed\x6c\xc9\x53\x74\x40\x89\x69\x6a\xa2\x05\xc2\xa8\xb1\xb5\x4d\x56\x22\x7d\x0e\xd5\xe5\xc1\x9a\x27\x2f\x64\xc1\x80\xab\x20\x6c\x12\x43\x35\x01\x4f\x54\xb2\xd6\xe7\xcf\x4c\x80\xde\xff\xb9\x58\xd7\x25\x7b\xa9\x19\x00\x47\xcc\x0b\x3c\x59\xc3\x29\xba\xf2\xea\x96\xb9\xe5\xeb\x18\x23\x94\x0a\xa3\x80\x64\x35\x49\x47\xf2\x4f\x29\x4c\xd6\x69\xd3\xc0\x23\xc1\x34\x94\x27\x0e\xe4\xed\x4d\x16\xeb\x2d\xf3\x80\x2d\x41\xbd\x10\x90\x64\xc1\x79\xf6\x56\xf7\x58\x75\xc8\xa8\x7d\x35\x16\x33\x7e\x15\x26\x69\xcb\x59\x64\x2b\x44\xb3\x20\xe5\x8e\xe6\x98\xae\x0e\xfa\x88\x79\x96\x66\xdf\x93\xb5\x84\x4e\xf6\x03\x69\x10\xed\x50\x98\x90\xdc\xf1\x22\xc9\x19\x6a\xa3\x04\x44\x8c\x01\xdd\xa0\xfc\x5b\x5c\x2f\x28\x4e\x76\x61\xe7\x93\xea\x86\xc7\x0a\x90\xad\x82\x87\x8d\x14\xe6\x6c\x12\x4e\x62\x2f\x97\xfb\x29\xcc\xe9\x2a\xb4\x12\x14\xc6\x74\x2c\x30\xcc\x04\x7b\x7d\xaa\x12\x93\x6a\x50\xb1\x4a\xec\xc0\x4e\x5e\x0e\x29\x54\xab\x8a\x93\x03\xc6\x58\x38\x42\xc0\xa6\x52\xc1\xc0\xcb\x46\x33\x0a\x51\x3d\x29\xc1\xb8\x78\xdc\xda\x52\xe5\x67\x76\x64\x1f\x98\x35\xbc\x0b\x80\x1a\x5e\x05\x8c\x94\x77\xad\xf5\x22\x0c\x80\x5b\x00\x77\xb0\xde\x2d\xf0\xa8\x55\xe0\x20\x8f\x89\xbd\x00\x79\x42\xb6\xb6\xfa\x31\x40\x0a\x0e\x1e\xa8\xf0\x3d\x63\x7f\x1b\xcc\x36\x52\x3d\x69\x78\xac\xfc\x4b\x0f\x8d\xf4\xac\x6c\xfa\xa1\x7d\x30\x2b\xef\x02\xc6\x48\xc0\x0b\x66\x76\x8e\xa7\x76\x9d\x3d\x91\xf7\x23\xd8\x77\x56\xda\x60\x8b\x36\x7e\x3c\x62\xdb\x1d\x6d\xaa\x2f\xe1\x9b\x8f\x0e\x05\x06\x33\xeb\x50\xae\xe6\x2e\xb5\xaa\xa9\x05\xb3\x7a\x9d\xf8\x55\x51\xa2\x7f\x0a\xa5\x05\xbd\x53\xc1\xc9\xe7\x0d\xb6\xd1\x3b\xc6\x51\x8b\xc5\x49\xdc\x04\xfb\x18\x75\x23\xd4\x5e\x8d\x70\x08\xcc\x20\x35\xdb\x7c\x0c\x21\x3f\x51\x13\x82\x9a\x48\x13\x7e\x97\x79\x7c\xb1\x68\xa9\x68\x8f\xcb\x28\xa2\x88\x50\xca\xdf\x66\x98\x05\x5e\x43\x49\x8c\x94\xfc\x01\xd2\xaf\x27\xf9\x4c\xf3\x04\xf8\x28\xff\x58\x2e\x88\x5b\x36\x1e\xd0\x45\x6c\x78\x3a\xa0\xeb\xef\x9c\x87\xb1\xbc\x9e\xc0\x09\x2c\x07\x13\xc6\xcc\x74\xa8\x46\x26\x8f\x15\x95\xff\xe0\x66\x8e\x4b\xc8\xc4\x76\xbd\xc5\xe2\x55\x12\x0f\xf2\x34\x82\xb7\x7e\xc2\xf0\xc6\x13\xc5\x8d\xac\xfe\xf9\x33\x73\x4b\x20\x76\x7c\x65\x29\x61\xaa\x5e\x60\x53\x44\xae\x16\x13\x2e\x11\x6f\xd5\xea\xcb\x65\xbe\xe1\x44\xd1\xa6\x69\x15\xd3\xd8\xa4\xef\xbe\x05\x24\xda\x97\x6d\x40\x8b\xde\x84\x92\x61\xfa\xfb\x16\xb9\x17\x3b\xaa\x28\xfc\x81\xfd\xbd\xe6\xb3\x3f\xfd\x49\x82\x51\x9a\x7b\xd6\x64\x7e\xdd\x98\xf6\x3b\xf0\x3b\x7b\x16\xfc\xbb\xac\x65\x4d\x6c\x3e\xa8\xe5\xb5\xf9\x1e\xe7\x34\x18\xf0\xfd\x11\x48\xf8\xcc\xfe\x01\x38\x30\x22\xc4\xb1\x50\x1e\x4a\x64\xbf\xd7\xc2\xc2\xec\x5c\x77\xf3\x51\x93\x27\x7e\x2a\x3a\x25\xad\x78\x1a\xd7\xbc\x57\x09\x83\xc8\xc0\xa1\x56\x36\x53\x73\xb4\xe1\x2f\x72\xe7\xc2\xf9\x4c\x76\xa0\x2a\x11\x16\x5d\x1c\xd1\xde\xf4\x22\xa1\xfb\xfb\x12\x15\xe5\x72\xe4\xa9\xc8\x92\xe8\x4a\x4c\x50\x3f\xef\x66\xab\xaa\xf0\xbd\xb2\x3c\xc2\xc0\xd5\x56\xbb\xdd\x59\x47\xba\x4a\x5d\x69\xf4\x1c\x85\x10\x1d\x54\x18\x63\xb8\x0b\xa5\xaf\xd3\x7a\x2c\xae\x00\x99\xdc\x38\x93\x30\x5b\x40\x54\xed\x30\x2f\xb5\x98\x88\xa9\x48\x75\x84\x68\x47\x2b\xd6\x50\x90\x68\x96\xea\xcd\x10\x14\x55\x2d\xe5\x7a\x56\x85\x00\x3e\x17\x96\xab\x03\xf5\x74\x44\xeb\xac\x5c\xd7\xd4\xe1\x28\x91\x6d\x70\x2d\xe5\x1f\x35\x72\xed\xd9\xaa\x21\xe0\x2f\x60\x86\xb3\xae\x81\x3f\x1c\x52\x4b\x83\x9d\x8b\x06\xc1\xff\xa8\xdc\x2c\x24\x70\x0d\xf5\x48\x69\xf3\xa4\x40\x05\xce\x76\x0f\x4d\xca\x96\x52\x3f\x66\x75\x74\x15\xd7\xd7\x0e\x6b\xda\x74\x63\x14\xb4\xf4\xde\x0b\x4a\xc0\x34\x5c\x44\xa2\x49\x31\x9b\x6a\xde\xd1\xd1\x91\x57\x67\xc9\x42\xa4\x3c\x4f\x30\xc6\x83\xc8\x72\x8c\x50\x15\xe6\xea\x31\x13\xc3\x92\x67\xa8\xf5\xc8\x39\x84\x90\x0f\x63\x06\x7e\x49\xa4\x06\x90\x42\xdd\x32\xcc\x66\xf2\x14\xba\x30\xaa\x55\xaa\x8f\xda\x2c\xf8\x84\xe0\x24\x7e\x59\x14\xe6\x22\xe5\x91\x13\x67\x49\x09\x52\x79\xa2\xbc\x03\x4c\xa0\xaa\xf1\x1a\xd3\x4d\xc1\x22\xe2\xb3\x8f\x76\xce\xab\x78\x9c\x6a\x61\x15\x25\xed\x2b\x74\xdf\xd4\x82\xea\xa8\x26\x6f\x7a\xa7\xa7\x37\xd6\x97\x15\x54\x65\xd0\xba\xdd\x58\x1b\x6a\x38\x7e\x76\x29\x04\x17\xd4\xa7\x9b\x02\x25\x85\xdf\xa3\xa2\xcd\xc4\x4f\x64\x84\x71\xc8\x94\xc0\xae\xaa\xcf\xd1\xa4\xa2\x54\xdf\x48\xf6\xee\xd5\xe5\xd0\xfc\xa1\x93\xb2\xc7\x6a\x8f\x37\xe7\x92\x7a\x57\x82\x65\xcb\x14\x53\x16\x19\xf5\xab\x16\x8c\xb4\x92\x1d\x5e\x0d\x1f\x9d\xb7\x5a\xad\x8f\x8f\x4c\x22\x1b\xad\x82\x3f\x62\x0f\x6b\x5b\xbf\xfe\x72\xfe\xcb\xea\xc9\x2f\x1f\xff\x6d\x0b\x12\x7b\xd5\x70\x57\xb4\x10\x24\xf1\x6f\x15\xb7\xc5\x35\x04\x76\x43\xb7\x28\x6b\x65\x8a\x90\x42\xd9\x65\x74\x5f\x3f\xfc\xa0\x51\xfa\xc3\x0f\x12\x85\x4e\x1e\x17\xd5\xd8\x0c\x9d\x2c\x91\xa1\x33\x0c\xab\x1e\x44\x82\xa7\xa0\x17\xb7\x1f\x87\xe8\x21\xc4\x5c\x4b\x94\xfe\x16\x9f\x68\x57\x3c\xcc\x51\xed\x2f\xf4\x6b\x02\x1c\x42\xa1\x46\xe9\x44\x1f\xa1\x3a\xcd\x8b\x5e\x7b\x1d\xb4\x1f\xb6\x3b\xac\xbb\x55\xf4\x05\xfe\xa7\x6c\xb0\x16\x2a\xb4\x81\xf5\x66\x5c\x14\xae\xea\x5a\x3b\x57\x14\x2d\x3a\x75\x2b\x49\xd6\x37\x0e\x4b\xd9\x88\x7f\xfb\xa8\xfc\x6f\x1d\x95\xe5\x7a\xa5\x58\xa3\xba\x6c\x20\x38\x05\xbf\x8a\xc5\x52\x15\xcf\xce\x1d\x04\xcc\xdb\x10\x55\x55\x33\x39\xf3\x62\x13\xb9\xcf\x6e\x6a\x23\xbf\x7b\xe5\x1c\x45\x37\x33\x7e\xc3\xe4\x4f\xa6\x72\x2f\xf3\xec\xf2\x94\x24\x62\x0c\xfa\x2f\x72\x56\xa3\x3c\x72\x1a\x40\x5d\x5e\xa1\x91\xe6\x81\xa3\x82\x21\x38\x3e\xa9\x3d\x20\xda\x46\xbf\x69\x1e\x04\xc9\x32\xce\xe9\x36\x42\x64\xac\x5e\x38\x80\xe4\xb5\xe5\x28\x69\xc1\xe4\xd5\x1b\x62\x22\xad\x1f\xd0\x49\x9f\x82\x73\xa8\x49\x6d\xa7\x5d\x63\xe0\x6e\x0c\xaf\xdb\x12\xb8\x65\xaa\x7d\xc6\xc7\xea\xb1\xd0\xb2\x29\x45\x78\x8f\x06\xa7\x27\xec\x2f\x94\x4d\x09\xfe\xf0\xd9\x53\xd6\x61\x7f\x79\xa4\x4e\x03\x9c\xcd\x91\xbc\x1b\x38\xd8\x00\x65\x85\xba\x2d\x38\xf2\x9d\xdc\x93\x2a\xe9\x81\x96\xc8\xb4\x34\x86\xa2\x06\x34\x3c\xb4\x20\x34\xe4\x68\xe4\x20\xfe\x47\x77\xfa\x3f\x64\x23\x35\x4e\xae\x48\x3f\x23\x59\xcd\xa1\xa2\x5a\x04\x04\xae\x10\x3c\xca\xf1\x2f\xb9\xe6\x87\xf0\x3f\x46\xfa\xa7\x51\x91\xd7\x87\xe2\xe4\xca\x09\x04\x5c\x47\xf1\xf7\x1a\x0d\xdc\xc8\xbc\x54\xc9\x12\xd7\x06\x0e\x13\xd3\x6f\x4d\xe3\x30\xcf\x58\x96\xa0\x3e\x12\xb2\x47\xa4\x10\x0a\x68\xbe\x8c\x29\x05\x85\xd2\xb6\x18\x71\x2d\x35\x1e\xbe\x0a\xbf\x66\x2f\xe2\xf6\x9b\x3b\xd6\x7c\x1b\x05\x30\x37\x15\x9d\x26\x6e\x1a\x7d\xcb\xda\xa1\x5f\x2d\x82\xc9\x0b\x74\x0d\x0d\xea\x1c\x1e\xd3\x60\x06\x69\x96\xca\x41\x0e\xff\xce\xfa\x2e\x33\x0e\x12\x10\x2c\x7c\x7f\x20\xbb\x4f\xc7\xa0\xc7\x81\x80\xa6\x71\x9b\xcd\x61\xb5\x56\xef\x24\xd6\x5f\x1a\xae\x59\x2c\x6e\x08\x08\xee\xa7\x82\x3e\x63\x53\x7d\xda\x58\xd1\xb9\xe4\x56\x36\xe9\x02\xcd\x53\xaa\xee\xc7\xcd\x61\x38\xd0\x4f\xad\x41\x32\x37\xa6\x63\xf8\x84\x25\x84\xca\xf9\x1b\xf1\xe0\x92\xcd\xf9\x45\x18\xb4\xdc\x45\x54\x32\x90\x41\xad\x11\x71\x41\x80\xfa\xfc\x79\x93\xd8\xfb\x50\x31\x63\x59\x47\xae\xc8\xe7\xcf\x40\x51\xf5\xba\xab\x52\xd4\xa6\x42\x61\xe6\xe8\xda\xad\x57\x5e\x4a\x81\x4a\x18\x83\x1c\x89\x98\x85\xd6\xa8\x14\x97\xb1\xf3\x66\x5b\xca\xb1\xa2\x58\x1c\x28\x16\xc5\x75\x48\x81\xd7\x1c\x1f\xbc\x96\x35\x2a\x30\xc8\xe4\x71\x01\x6e\x43\x96\x57\xbf\x40\xa3\xce\x5b\xe5\x8a\x54\x90\x02\x1e\xa3\xfd\x25\x98\x1f\x2f\xe5\x37\xe0\x82\x68\x13\x11\xd0\xe2\x86\xf0\x56\x5e\xa9\x7b\x84\xc4\x4c\xb0\x54\x24\x36\xcb\xe5\x32\x86\x05\x28\x97\x4a\xc9\xab\x61\x22\xba\x52\x78\x49\x78\x9a\x56\xc0\x1c\x7e\x41\xd6\x67\xf1\x25\x4e\x33\x01\xa5\x68\x24\x5c\x73\x6d\xd7\xe0\xce\x98\xd4\xaa\x6b\xab\xaa\x87\x66\xdb\x97\x71\xb2\xa2\xab\x6b\x9e\xae\xe9\xee\x1a\xaa\xdc\x49\xa2\x20\x57\x81\x5a\x57\x01\x53\xcf\xa8\x40\x8a\xee\x7a\x6d\x54\x6b\x5b\x24\x07\x28\xd0\xa7\x70\xe4\x32\x32\x8b\x77\x15\x2e\x86\x2d\xe4\x5a\xdf\xe1\x66\x68\xe9\x11\x6e\xbf\x19\xda\x3b\xc4\x91\x95\x55\x9e\xfe\xa3\x23\xd6\x29\xf5\xe7\xd6\xa4\xac\xec\x35\xe4\xdb\x3f\x31\x9f\x1d\xb2\x76\xbd\xc1\x7c\xc3\x05\xef\xa1\x33\x2d\x63\x14\xaf\x56\x95\xef\xaf\x54\xeb\xa1\x3b\x11\x17\x75\xf2\xaa\x8b\xb7\x3e\xaf\x5a\x6b\x72\x42\x29\xba\x39\xc5\xfa\xf0\xd8\x13\xf6\xe7\xd3\xd7\xaf\x5a\xd8\x2a\x9c\xae\xa9\x9f\xfa\x46\xbd\xc9\xa9\xa4\x6d\x97\xa8\x55\xa6\xc6\xb2\x1b\xb1\x11\x70\xb2\x10\x8c\xd8\xc0\x56\x60\x39\xc7\x1b\x34\x02\xd4\x60\x66\x3c\xd3\xc2\x12\xa4\x08\xb8\x41\x62\x6a\x11\x56\xaa\x8e\xc5\x23\x66\x24\x4d\x83\x85\x22\x59\x5a\xc2\xe4\x06\x20\x20\x77\x3a\xd4\x7d\x8f\xc6\x28\x80\x52\xeb\xe2\x71\x5e\xd8\x4c\x8a\xac\xda\x0d\xd6\xa9\x43\xeb\x5f\xae\xfd\xf1\x39\x9c\x91\x35\xe2\xdf\x16\x47\x07\xe2\xb3\x59\xf9\x99\xab\x18\x52\x36\x52\xe6\xa1\x87\xf2\x30\x4c\x54\xf6\xaa\x3c\x0d\x2f\x2e\x20\x87\xb2\xb1\xc7\x04\x7e\x00\xf6\x5e\x01\xea\xc4\xcc\x9b\xb3\x5a\x21\x38\x71\xe7\x7c\x4d\x79\xf2\x12\x34\x71\xb4\xb5\x4c\x79\xa2\x40\x55\x9a\x24\x12\xfb\x94\x12\xa8\x32\x8c\xd4\xda\xa3\x79\x32\xb1\x76\x2d\x6e\x30\x38\xcb\x5c\x04\x58\x17\x98\x79\x32\x91\x32\xd0\xd3\x8e\xe7\x3c\xdb\x5b\x62\xc8\x43\x82\x73\x63\xf3\xed\x72\x73\xdd\xbb\x82\x53\xb8\xdc\x98\xc6\x3b\xe5\xc6\xd6\x6d\xd9\xea\x5f\xde\x71\xca\xcd\x77\x6f\xe8\xdb\x86\xe3\x5c\xbb\x55\xe3\xee\xc6\x79\xdb\x4d\x91\x5a\x4a\x8d\xf7\x6e\x9f\xf5\xc6\x49\xef\xab\xb6\x45\x2e\x6b\x71\xd2\x6d\x47\x4d\x00\xee\x1a\xa4\xbc\x92\xf7\x0c\xed\x05\x84\xc2\xd7\xef\x22\x4d\xec\x8c\x78\xcb\x38\x92\x47\xba\x3a\xff\x5b\x45\xa6\x8c\xfb\xc3\x97\xdc\x4b\x8e\xe9\x09\x73\xf7\x51\x47\x31\xe4\xaa\x4c\xd3\xaf\xd1\x25\x04\xf3\x33\x62\xf7\x3c\x67\x91\xe0\x19\x9a\x5c\xea\x61\x94\x7a\x2d\x6d\x56\x77\xd2\x4d\xe6\xd7\xd5\x80\xa8\xa9\x69\xae\x5a\x95\x9b\x58\xa8\x2c\xa5\xd3\x2d\x8b\x77\x06\xab\x5f\x71\x42\x51\xcb\x8a\xdb\xba\xda\x84\xc6\xba\x75\x03\xdc\xb6\x41\xad\x6a\x43\xcf\x98\xba\xa9\xfb\x9a\x69\xea\x62\xb7\xf8\x7e\xd9\xdd\x41\x02\x9b\x08\xf6\xa7\x23\x76\xb0\x6b\x8f\xc3\x9a\x5a\xe5\xe3\xa4\x6c\xd4\x64\xdd\x1d\x0b\xf4\x97\x07\xf6\x4f\x9b\x2c\x6f\xba\x8e\xe0\x53\xaf\xb9\x88\x58\xd4\xeb\x9b\x01\x59\x53\x54\x57\xa2\xaa\xd7\xda\x3b\x8e\xbc\xee\xec\x1c\x8c\x45\x9c\x8a\x6c\x01\x51\x38\xa2\x7c\xab\xe8\xff\x08\xd9\x54\x43\x6d\xab\x39\xe7\x0b\xfd\x58\xc1\x33\xa3\xeb\x55\xd0\xf0\x18\xb7\x1d\x4c\x21\x21\x6b\xaa\xa3\x11\x4e\xf0\x56\x05\xfd\x68\x48\xe6\x16\x64\xf8\x77\x30\x13\xc1\x65\xd5\x90\x5a\x1a\xb9\x37\x63\x97\x1e\xd5\xeb\xec\xf3\x67\xbd\x4e\xa0\xb6\xd1\x4d\x0a\x80\xeb\x15\xb4\x4d\x46\xbe\x4f\x2c\x3d\x7c\xd1\x90\x6a\xc3\xbb\x36\x89\x31\xf7\x09\x64\xf3\x49\xab\x06\x36\x44\xb4\xd9\xfd\x5f\x12\xd1\x46\xe5\xb7\x01\xef\x1e\x78\x78\x4f\x93\x79\x85\x02\xfd\x0d\xf8\x58\x42\x02\x62\x1e\x1b\xc1\x0a\x4d\xca\x9c\xcb\xec\x08\x14\xd4\x2b\x9c\x87\x0e\xa3\xa1\x66\xe2\x2a\x9f\xc0\x47\x4e\x3d\xc6\xc3\xe3\x66\x75\x74\x0e\x96\xe5\xc6\xbb\x48\x32\xe4\x48\x9d\x10\xe3\x65\x18\xe5\xcd\x30\x56\x81\x3f\x16\xb0\x28\x18\xe3\xd9\x03\xe3\xc9\x38\x0c\xe0\xcc\x42\x3b\x15\x70\xe9\x23\xa3\xf9\x2b\x7c\x3a\x91\xd7\xc4\xea\xf0\x1e\x68\xea\x5c\xf9\xe6\xda\x37\xf1\x41\xaa\x8c\xdc\xd4\xbc\x3f\x51\xb2\x51\x27\x39\x06\xa4\xcc\x01\x4b\x17\x45\x44\x37\xf5\xe0\x84\x39\x15\x3c\xb5\x7a\x64\x77\xec\xb2\x37\x99\x50\x7c\x7f\xa5\xee\xd1\x49\xc0\xe4\xa2\xf2\x08\x12\xed\xa3\xe4\x97\x61\x70\xa2\x05\x4f\xc1\xca\x1b\x82\xfe\x64\xe8\x6b\xbc\x58\xe2\x03\x34\x38\x00\x82\x7b\x16\xa6\x09\xe3\x93\x09\x0d\x16\x16\x75\x2e\xe5\xb6\x89\xc8\x79\x18\x6d\x88\x30\x54\x41\x58\x5f\xe4\x02\xd2\xef\xe5\x1c\xb4\x9f\xd5\x8c\x3f\x6f\x7a\xda\xf9\x42\x34\x79\x47\x4c\x9a\x21\x3b\x2f\xe5\x66\x0c\xea\xc4\x36\x16\x6e\x46\x37\xa8\x22\xed\x83\x01\x5b\x98\xe5\x45\x75\xe1\xa7\x73\x03\xa7\xf4\x52\x2d\x1b\x28\xee\x55\x65\xe2\x2a\xbf\x57\x19\xb6\x9a\xd6\xe7\xe1\xc7\x96\xd5\xc1\x9c\xe7\xc1\xcc\x20\xd2\x9a\x43\xdd\x3e\x2a\xcd\xf0\x09\x86\x39\x12\xb5\xbe\xde\x3e\x17\xad\x9b\x47\x41\xc3\xe9\xaa\x0c\xf5\x59\x57\x52\xa0\x9b\x1e\xff\x66\xc6\x74\xc8\xca\x38\x3e\xa4\x9f\x5f\x2c\xa1\xfe\xa1\x8d\xa7\x22\x85\x57\xe1\x97\x1d\xb1\x73\xaa\xf0\x71\xb3\x69\xee\x8d\x20\x5a\x8b\x65\x36\xd3\xb3\xd5\x32\x10\xac\x48\x96\xa4\xb9\x09\x7c\xcd\x1b\x6c\x6c\x23\x97\x5e\x80\x37\x52\x37\x34\x1f\x24\xf3\x05\x4f\x45\xcd\x92\x5e\x18\xe3\x2d\x1b\x1f\x63\xeb\x2f\x2d\xb3\x7c\x71\x8c\x82\xef\xb4\xad\xa7\xe0\x98\x6a\xb6\x24\x89\x04\x8a\x89\xab\x9b\xb3\xb8\x0e\xb3\x3c\x83\x9b\x1e\x79\x6c\x98\xa3\x5f\xc1\x7a\x09\xb7\xb0\x85\x08\xc2\x29\xda\xc0\x12\x90\x0c\x93\x1f\x2f\x52\x11\x88\x09\x5e\x04\x81\x9f\x82\x05\x3b\x7a\xc3\x86\xd1\x24\xe0\xe9\x24\x6b\x31\xf6\x73\x78\x25\x60\x5f\xeb\x03\x41\x0e\xeb\x11\x3c\x3e\xf4\x1e\xc1\x7d\x13\xff\x78\xdc\xec\x3d\x6a\x50\x9a\x17\xfd\x99\x1e\xf0\x50\x23\xab\x4a\x2d\x68\x38\x7c\xd8\x08\x5a\x0a\x32\xe0\x40\xfc\x41\xe7\x8c\x09\x64\xf4\xb3\xd1\x64\xae\xc2\x24\x10\x35\x6c\x74\xe8\xcc\x82\x68\xdf\x89\xeb\xfb\x46\xb2\xc6\xb4\x05\x1c\x52\xf3\x1f\x05\x53\x9e\x7e\xe2\x9a\xcf\x17\x91\x38\x44\x53\x7d\x29\xb8\x49\x70\x94\xfe\x98\xe2\xda\xd8\xd6\xc4\x26\xcf\x18\xbe\xc2\x3f\x9a\x85\x6b\xfe\xf0\x51\x0b\xdb\x1b\x56\x55\xf3\xb0\xad\xd7\x60\x8f\x3c\xa8\xe3\x3d\x92\xb4\x61\xf7\x12\xf0\x38\x10\x51\xc1\x2f\x52\xc4\x79\x98\x8a\x08\x92\x75\x43\xc2\x6a\x2b\x9a\x4e\xbd\xa2\x9b\x5e\x94\x37\x8f\xbd\xc6\xad\xef\xfa\xc5\xce\xc5\xb5\x08\x96\x94\x8e\x1f\x9d\x5d\xe2\x89\xf1\x2b\xb1\xf4\x31\x95\xf3\x3a\xf3\x1a\x85\xb3\x14\x3d\x1d\x9c\x4c\x11\x3f\x27\x39\xe3\xec\xec\xa1\xa7\xfa\xbe\x61\xf3\x15\x4c\x04\x1e\xab\xbd\xf4\xb8\xe2\x80\xf9\xd7\x3b\x98\x0a\xe7\x92\x7b\x20\x29\x3b\x5f\x30\x42\x42\x13\xa0\x1b\x84\x36\x3c\xc5\x21\x0e\x50\x86\xab\xbf\xd2\x5a\x31\xd2\x0a\x4a\xf1\xa9\x42\x25\x88\xf2\xba\x39\x2c\x9d\x91\x6c\x52\xfb\x3d\x43\xed\x3a\xcb\xe5\x9e\x43\xa3\x25\xb3\xbf\xd4\x73\xa1\x1b\x8d\x0d\xf7\x14\x29\x3a\x17\x2d\x29\x17\x83\x95\x82\x36\x14\x57\x5a\x00\x8c\xd0\x96\xae\x69\x7c\x5a\x6d\x75\xc4\x16\x7a\x47\x9e\x52\x21\xe5\xf1\x66\x01\xc7\x84\x34\xd7\xd5\x31\xab\xc5\x75\xf5\x4c\xe0\x18\x5a\xb4\xc2\x6c\x40\xa9\xa1\x6a\xf5\x6a\x00\x0b\x15\xfc\x7a\x08\xb6\xd5\x62\xa2\xd2\x90\xaa\xd1\xa1\xf2\x54\xfd\xb5\x59\x5f\xba\x81\x21\xc1\xbc\xd0\x50\x4b\xdf\xd5\x94\x6e\x14\x9e\x06\x02\x1e\x45\x7c\x1c\x89\xc2\x9a\x5a\x4a\xf2\xc2\xb2\x2a\x0c\x3b\x0b\x69\xb0\x6a\xdd\xaa\x16\x05\x3e\x57\xd3\xca\x92\x12\x56\x37\xe2\xd5\xcd\x03\xf3\xe5\x9f\x84\xdf\x12\x29\x57\xc7\x02\x54\x62\x94\x86\x66\x91\x7b\xe1\xec\xd5\x29\x63\xf4\xa1\x26\x05\x68\x8c\x59\xb2\x24\x9f\x31\x79\x0b\x4f\xa6\x8a\x5d\x1c\xea\x35\x6d\xb5\x5a\x5f\x6c\x8f\x1c\xf0\x11\xb5\xf7\x02\x38\xe3\xc0\xc2\x83\x5a\x94\x2f\xe8\xf9\x2d\xce\x13\x66\x86\x99\xe9\xd8\x93\x12\x92\xec\x0c\xfc\x6a\x33\xac\x57\x62\x52\x86\x2b\x6d\x3c\xaf\x14\xdb\xfd\xd6\x63\x8b\xa9\xc3\xea\xd0\x1c\x56\x8d\x02\xec\xaf\x3e\xac\x18\x1d\x51\x87\xb7\x1e\x51\xd8\xe5\x97\x02\xd3\x57\x99\xc3\xe6\x7c\x71\x6f\xbe\xec\x5c\xf9\xe6\x7c\x81\x34\xab\x45\x79\x5c\x24\xa6\x3f\x94\x08\x0f\x59\xe8\x9c\x2f\xa4\x08\xfa\xb1\x5e\xca\x63\xf4\xd6\x9c\x97\x4a\xbc\x51\x8f\x26\x50\x26\xb2\x9c\x44\x1d\xd7\x06\x54\x59\x54\x60\xda\x53\x98\xb7\xbc\x89\x2f\xa3\x88\x94\x42\xa9\xc0\x48\x2e\xd8\xba\x78\x33\x53\x28\x51\x60\x7a\xea\xd8\xc0\x75\xe6\xca\x42\xc3\x84\x2b\x91\x84\x07\xda\x58\xe5\x94\x08\x17\x3f\x95\x64\x96\xaa\x85\x22\x33\xce\xe1\x14\x8e\xd5\x3c\x33\x82\x03\x3c\xb8\x62\x28\xa0\x31\x9f\x0b\x4a\xe2\x38\x5f\xea\x99\xa2\x54\x09\x46\xbc\xf8\x10\xb1\x59\xd2\x36\xb0\xef\xb8\xb2\xc6\xb6\xa3\x70\xe2\x82\xc5\x82\xbe\xfe\x6d\xbc\xe8\xc9\x6a\x65\x7b\x64\xb8\xbe\x58\x6c\xc8\x58\x00\xdf\xe7\xd2\xe7\xde\x3b\x9d\x8b\x9b\x75\x31\xab\xba\x0d\xca\x51\xe9\x49\x14\x92\x46\x50\x33\xcd\x19\x9d\x11\xde\x43\x07\x86\x4a\xc6\xff\xd3\x31\x9d\x89\x99\xd8\x71\x9d\xcf\x2c\x7b\x05\x52\x3a\xc1\x9a\xce\x28\x10\x9b\x0a\xf2\x9c\x83\x47\x08\xd7\x8a\x35\x14\xb2\x30\xce\x0b\xc4\x37\x02\x5b\x76\x56\xe3\x97\x18\xfa\xce\x98\xa8\x67\x75\xdc\x17\xb2\x58\x02\xb3\x8c\xd7\x73\x11\x45\xc8\x07\x0a\x41\x96\x29\x79\x7b\xb2\xb2\x5c\xb9\x74\x88\x52\xfb\xa0\x21\x43\x16\x08\xe0\x86\xda\x9a\x0c\xfd\xaf\xe4\x51\xa2\xa2\xee\x94\xe2\x37\x64\xe0\x54\x49\xd6\x14\x12\x96\x31\xad\xb4\xcd\x68\x5c\x8f\xae\x46\x51\x25\x4d\x41\x37\x56\x69\x12\x5f\xe8\xe7\xc4\xc7\x0a\x8b\x0d\xba\x37\xa4\x98\x0c\x53\xdb\xc4\x18\x3f\xe8\xcc\x72\xff\x39\x0e\xa7\xe0\x1d\x9f\x53\x98\x9c\xac\xc1\xb2\x65\x30\x93\x73\x38\xbe\x4a\x52\x7e\xe9\xcc\xd4\x09\x55\x0d\x7d\xc1\x5c\x13\xf4\x00\x25\x08\x2c\xd7\x0e\x62\xa0\xa2\x53\xf8\x63\x1c\xad\x70\x93\xd8\x75\xf3\x26\x27\x37\xb0\xbd\x5e\xa6\x63\x08\xd1\xf0\x58\x5d\x74\x96\x3c\xa2\x29\x5b\xf8\x97\x3c\x98\x02\x8c\x85\x59\xb6\x54\x87\xa8\x15\x04\x25\x93\xbd\xc4\x49\xdc\x7c\x77\xaa\x3b\xca\x24\x23\x87\x8a\xba\xe4\x81\x0a\xd7\x05\x0a\x7b\x37\xe5\xa7\x0e\x58\x89\xae\x7e\x1c\x8d\x89\x64\xdf\x60\x32\x8e\xa6\x2d\xca\xe3\x6e\xce\xd7\x98\x8f\xfe\x8a\x6c\x5c\xc0\xd4\x46\x8a\x46\xb4\x2a\xf6\xe8\xad\xb7\x38\x8b\x17\x6b\xd3\x20\xb9\x13\xc0\xf4\x05\x46\xb0\x29\xf4\xb8\x84\x05\xd1\xc7\x1b\x18\xc5\x06\xef\xef\x4a\x94\x10\xf4\x38\x1c\xe6\x91\x98\xb0\x47\x3d\x8a\x5e\x04\xe6\xd4\x10\x4e\x66\x53\x38\x24\x8c\xef\x6c\xf3\x6f\xf8\x64\x29\x48\x2f\x8d\x5f\xb2\xfa\xf5\xa9\xf5\x0d\x76\xe3\x91\x9d\x75\x13\x65\xe4\xb2\xdc\xc7\x99\x14\xee\x70\x83\x59\x9b\xd3\x46\x94\xb5\x65\x41\x94\x9f\xf1\x6c\xa6\xac\xe9\x95\xef\xe5\x34\x89\xa2\x64\x45\x67\x62\x76\xc8\x3c\x7c\x3e\xf3\x1a\xda\x56\x0f\x0e\x71\x6d\xa0\x80\xa2\x1e\x98\x1a\xa8\xae\x58\x53\x99\x85\x5b\x17\x06\x95\x28\x79\x6d\x85\x14\x69\x31\x90\xf4\xf4\xce\x26\x31\x4a\x76\xac\x63\x30\x33\xb9\x3d\xcd\x66\x13\xd7\x1c\x93\x15\xae\x12\x8b\x0f\x54\x2c\xda\x83\x62\xb4\x1b\x0a\x87\x43\x7d\x92\x74\xd9\x60\x1e\xef\x41\x72\x8a\xbe\xfc\xdf\x7f\xe8\xe1\x74\x8e\x9e\x78\x58\x91\xc0\x38\xb6\xed\x1b\x86\xa6\xec\xe2\x91\xfe\xb2\xbf\x2e\xb9\x14\x3c\x52\x1e\x10\x13\x43\x22\x93\x62\xe2\xf9\xc9\xab\xd3\x8f\xb2\xbf\xf3\x17\xc3\xd1\xd9\x47\xd9\x55\x7f\x2d\x17\x02\xe2\x7d\x24\x71\xa3\xd0\x1f\xed\x58\x8a\xf1\x6e\x42\xfc\x10\xbc\xf1\x32\x57\x01\xc1\xd0\xf0\x96\xce\x11\x15\xa0\xdd\x0e\x67\xc1\x9a\xec\x15\xba\xce\x90\xe4\xa6\xec\x1e\xe4\xb6\x35\x73\xd1\x31\x66\x54\xaa\x5e\xb1\x56\x76\x76\x14\x70\x8f\xfa\x56\x36\x2d\x63\x63\x76\x11\x1b\x51\xaa\xc5\x40\x2b\x0f\x89\x40\xb5\x60\x48\xb9\x2d\x85\x32\xe2\xc9\xac\xb1\x51\x18\xd3\xef\x34\x38\x1e\x25\xf6\x36\x56\x0c\xed\xab\x47\xd7\x8b\xf2\x3f\x66\x64\xb6\xf7\xc0\xbd\x47\x45\xb1\x43\xff\x80\x61\xc1\x63\xe7\xd7\x8d\x4b\xc5\x81\xa3\xac\x02\x56\xb8\xb2\xcd\x31\xe3\x78\xa6\xb3\x9e\x48\x91\x4a\x76\x84\x6e\xb0\x05\x87\x20\x30\xe2\xe4\x31\xe3\x69\xca\xd7\x95\x9e\x65\x65\x0f\x22\xd4\xf3\x5a\xf7\x42\x0a\x76\xe5\xa4\x3f\x75\x43\xad\xe5\x45\xa3\x24\xe8\x8f\x85\x39\x48\x1a\xa8\x69\x8e\xe9\xa9\x6e\x93\xc9\x12\x1d\xab\x60\x66\x84\x62\xa2\x36\x25\xa2\x48\x84\xea\x08\x0b\x92\x78\xd2\xcc\x93\x66\xc4\xb3\x5c\x47\x5e\x21\x94\x61\xc7\xb6\x36\x7c\x95\x86\x79\x2e\x62\x87\xdb\x41\xe4\xc9\x62\x50\x38\x62\xa6\x3c\x53\xda\x72\x31\x71\xa2\xa6\x99\x68\x69\x3a\x52\x1a\x5c\xc0\xdd\x60\x69\xf6\xd1\x79\xc3\x51\xe7\xde\x4c\x9f\x2b\x67\x49\xfb\xf8\x03\x1b\x7a\x79\x10\x19\xef\x4f\x75\x85\xa3\x43\x5b\x9d\x7a\xf5\x0a\xeb\xbf\xe3\x25\x46\xb5\x16\xae\xaf\xa4\xf1\x94\x2c\x9c\x9c\xe7\xd6\x3b\xcc\x44\x4c\x37\xeb\x4a\x0a\xa2\x2e\x86\x3c\xa4\xf3\x54\xca\x5e\x8e\xb0\xaa\x1f\x3a\x73\x88\x90\xa6\x4e\x03\xbb\x3d\xcf\xe4\x2d\x29\xc4\xd0\xe4\xe9\x05\xe6\x58\x83\xfb\x14\x63\x43\x1e\xcc\x80\xac\x55\x79\x58\x05\xc3\x5a\x2f\x6e\xa8\x4f\x8d\xa3\x46\xf4\x69\x86\x92\x24\x97\x68\x28\x01\x2a\x09\xd9\x46\xee\xb9\x71\x78\x81\xa7\xfc\x4a\x60\x0a\x62\x88\x93\x00\xd1\x73\x41\x86\x57\xf8\x34\x1a\x9b\x54\x90\x39\x85\x24\x5b\x16\x25\x39\x5e\xa0\xa5\x10\x0a\xe2\xf1\x15\xd8\x0a\xb6\xea\x34\x10\x39\x99\xd2\xc8\x2d\xab\xf4\xae\x8e\x5c\x74\xc8\xcc\xfa\xab\xa0\x5d\x45\x2f\xce\xc7\xc6\xb9\x4a\xb9\x95\x98\xa8\x48\x60\xfc\x6b\xac\x3e\xea\xc4\x90\x88\xf4\x0c\xc1\x11\x6f\x02\xd5\x93\xe0\x31\xdd\x72\xd0\x4f\xd1\x0e\xa3\x74\x0f\x22\x76\xb4\x2b\x57\x3c\xfd\xc4\xd3\x8b\xac\xa0\x62\xb1\x2e\xce\x6a\x65\xb3\xaa\xdb\xb3\x52\xbc\x20\xe4\x9a\xae\x7b\x1e\x7e\x3c\x6f\x7f\x6c\x38\xef\x70\xf4\xef\x6f\x84\xb0\x43\xe6\xd4\xf6\xab\x6b\x33\x42\x6b\xa1\x76\x67\x53\x6d\x42\x79\xa1\xfa\xf6\xa6\xea\xe8\xb2\x62\x57\xdd\xd9\x54\x15\xfd\x59\x9c\xba\xbb\x1f\xab\xaa\x7e\x29\x2b\x9c\x4e\x21\x19\xa7\x63\x87\x8f\x0c\xce\x0e\x11\x8a\x39\x55\xee\xb0\x92\x20\x34\x6f\xb0\x8a\x70\xa5\xec\x0d\x99\x28\x95\x4d\xbd\xde\x70\x14\xb3\x55\xf9\x17\x3c\x9a\xf3\x20\x4d\x1e\xe9\xef\x19\x65\x3f\x67\xec\x24\xa7\x48\x8a\x21\x99\x0b\xdb\x81\x9a\x95\xfb\x2d\x38\xa9\xd4\x19\x00\xd1\xfb\x9d\xd8\x03\x18\xb7\xac\x29\x0e\x18\xd4\x68\xd9\xfe\xd9\x64\xbe\x5b\x53\x3b\x46\x6e\x2f\x3b\x5f\xe7\x1d\x6c\xd3\x1d\x57\x61\xcb\x67\x99\x4c\xd2\x3f\xde\xea\x52\x7c\x32\x45\xc1\xb3\x94\x84\x81\xf1\x06\xbe\x77\x8f\x8d\xf2\x20\x53\x77\xf1\x14\xe2\x1b\x2f\x09\x2d\x15\x8d\xc9\x07\x20\xcc\xb5\xdc\xa2\xc4\x16\xdb\xb0\x52\x63\x82\x5f\x3a\x4f\xe0\x34\x5a\x13\x70\xc0\x42\x4c\xc1\xdf\xbb\x66\x3c\xb9\xd0\x25\xd6\x09\xed\x53\xe1\x2b\x6b\xdb\x84\xd9\xff\x1e\x2a\x57\x6f\xf2\x5e\x2c\x26\x8b\xa8\xb3\x9f\x18\x67\x87\x6c\xec\xbe\x41\x54\x2f\x22\xbd\x4c\x14\x10\x3d\x4f\x26\x94\x79\xa0\x2a\xa3\xc4\xd7\xe1\x9b\x1a\xdf\x17\xdf\xc1\xbf\x30\xbe\x31\xeb\xc5\x77\xc0\xb7\x44\xb4\x8e\x66\xde\x84\xf0\x5b\x4d\x27\xd5\x85\x4b\xe6\x36\x82\xc6\xd9\xd7\x22\xa8\x30\xaf\x4d\xb9\x32\xbe\xcb\xe4\xac\xb5\xa8\x9e\x46\x36\xfb\xea\x69\x58\xb0\x0b\x63\x2d\xf8\x63\xaa\x9c\x16\xdf\x36\x11\xa2\x9c\xea\x69\xf0\x28\xff\x86\x79\x10\xe8\xef\x80\x71\xdb\x9f\xa9\x72\xa0\xf3\x64\xf2\xd5\x03\xbd\xf7\xce\xfa\xd6\x1d\x32\x48\xe6\x8b\x65\x2e\x65\x45\x25\xba\x19\x1d\x29\x06\x44\xc5\x87\x20\xc7\xdb\x50\x4f\x35\xc8\xa3\x5a\x30\xab\xb3\xbf\xa9\x6e\xab\xa3\x39\x15\x2c\x96\xc1\x78\xda\x8c\x80\x43\x8e\x02\xca\x0a\x63\xd4\xa1\x73\xbe\x80\x18\x20\x1c\x63\x95\x5a\x9d\xd6\xe6\x56\x8f\xc6\x6c\x91\xf0\x6a\xc7\x1c\x3d\x9f\x7f\xa4\xe2\x2f\x66\x11\x89\x4b\x22\xd1\xe5\x29\x69\xd2\x4d\x58\x7b\x77\x31\xc5\xa4\x36\x8d\xef\xb6\x94\xf0\x46\xe3\xee\xfc\x52\x70\x7a\xdb\xc0\x6b\x6b\x8b\xf5\xc1\xc7\x4f\x72\x84\x06\x1b\x25\xe9\x8a\xa7\x13\x14\xe5\xdf\x0a\x48\x0a\x8a\xfc\x3f\x61\xfc\x2a\x09\x27\x2c\xe6\x57\xe1\x05\x07\x3d\x19\x5f\x71\x54\xca\xda\xd0\x72\x2b\xa1\xc1\x82\x5f\x88\x56\xd1\x96\xac\x10\xaa\xa7\xdb\x45\x5a\x72\xca\xf6\x2a\xca\xf6\xeb\xec\x27\x87\x81\xdf\xf6\x42\xca\x0e\xef\x58\x5d\x79\x99\x32\xcb\x8a\xbe\x40\xc2\xd3\x4d\xe4\x2b\xb7\xce\xf0\x74\xa0\xcd\xb4\x95\x59\xc7\xe0\xf4\x44\xfb\x68\xe8\xc2\xd3\xd3\x6d\x55\xf8\xda\xe4\x02\xff\x5f\x1d\x6d\xc4\xbd\x8a\x64\x35\x65\x3a\x8f\xaf\x9f\xd3\x50\x44\x13\x50\x3a\x1e\xb2\x73\x7a\x75\x68\x90\x2e\x52\x5d\xdd\x1a\xda\x9d\x1d\xbc\xd8\x41\xe2\xff\xf8\xc0\x82\x63\x5c\x95\x21\x6e\xa5\x7a\x72\x91\x84\xd1\x36\x79\x75\x60\xd7\x30\xf6\x01\x7c\x4f\x7f\x5b\x66\xb9\x6d\x48\xa2\xa0\xe9\xb0\x46\x13\xd4\xd4\xe0\xbb\x1e\x5e\x77\xc7\x6b\x7d\x4b\xc0\xfb\x41\x92\x59\xb9\x1e\xd8\x79\xbb\x01\x7a\xd7\x77\xaf\x9e\xbf\x7a\xfd\xe1\xd5\x47\xaf\x01\x48\x2d\xff\xff\xb1\xa1\x07\x3f\x82\xc8\xd3\x69\xb2\x22\x10\x9d\xbd\x86\x04\x31\x3c\x1d\xc8\xe6\xc3\xd3\x41\xa3\x4a\x20\x61\x3a\x18\x77\xc3\xfc\x62\x95\xd2\x55\xe9\xdc\xf7\x3b\x0d\xe6\x9d\x8f\x7c\x09\x0c\x38\xbe\xa4\xaf\x27\xcc\x7b\xe3\x35\x80\xfe\xe0\xd7\xba\x05\x04\x0b\x1f\x75\xb6\xff\xfe\xa8\x51\x86\xb6\x0d\xd0\x3a\x45\x68\xff\x69\xa0\xfd\x67\x25\xb4\x9d\x4a\x68\x3b\x00\x6d\xbb\x08\xed\xad\x81\xf6\xb6\x12\xda\x6e\x25\xb4\x5d\x80\xb6\x53\x84\x76\x6a\xa0\x9d\x56\x42\xeb\x56\x42\xeb\x02\xb4\x5d\x80\x46\xcd\xfd\xdd\xbf\x7b\xc5\xd5\x28\x41\xdb\xaf\x84\xb6\x07\xd0\xba\x0e\xb4\xbd\x3b\x40\x3b\xa8\x84\xb6\x0f\xd0\xf6\x1c\x68\xfb\xb7\x43\xdb\xf6\x2b\xa1\x1d\x00\xb4\x7d\x07\xda\xc1\x1d\xa0\x75\xaa\xa0\x75\xda\x00\xed\xc0\x86\xd6\x69\xdf\x01\x5a\x25\xbd\x75\x7c\xa4\xde\xf6\x47\xb3\x88\x1d\xff\x0e\xd0\x2a\xe9\xad\x43\x7b\xc1\xb7\xa1\x6d\xdf\x0e\x6d\xa7\x7a\xa6\xb8\x17\xfc\x8e\x0d\x6d\xe7\x0e\xd0\x0a\x33\x55\x8c\xe0\x14\x23\xcf\x1b\x4e\xe0\x1f\xc8\xf1\xfe\x8f\x84\xa8\x61\x64\xb3\x9a\x94\x65\xbc\xff\x90\x94\x0c\xbf\xfd\xea\xd5\xeb\x0d\xb7\x23\xf3\x8f\x78\x0d\x80\xdb\x39\x90\x8c\xc5\x7f\x68\x83\x0b\x6a\x1e\x86\xa2\x7b\xb5\x9c\x43\x7e\x07\xc6\xb0\xac\x17\xe5\xaa\x08\xfe\x7e\x29\x72\x8e\x05\x0a\xdc\xae\xe4\x75\x5e\xe7\x3f\xbe\x17\x38\x5f\x82\xdb\xfe\x7f\xdf\x0b\x5c\x47\x82\xdb\xf9\xb7\xef\x05\x6e\x5b\x82\xdb\xfd\xf7\xef\x05\x6e\x47\x82\xeb\xfe\xfa\xbd\xc0\xed\x4a\x70\x7b\x3f\x7c\x2f\x70\x5d\x09\x6e\xff\xf1\xf7\x02\x07\x07\xda\x41\xed\x3b\x81\xdb\xd9\x97\xe0\xda\xf5\x12\x38\x27\x0d\xaa\x84\x50\x00\x58\x59\x49\xef\xe6\x7d\xc9\x05\x9b\x9f\x6e\x87\x7a\xcb\x77\x03\x50\xb2\xfc\xa3\x27\xdf\x0b\x20\x4a\x0a\x62\x9a\x5c\xb3\xe6\x27\x90\xbc\x8f\x9e\x50\x4f\x7b\xdb\xdf\x77\xe8\x5d\xff\x8f\x1a\xf9\x49\xce\xa3\x90\xc7\xec\xc9\x63\x35\x74\xd9\xd5\x93\x32\xa5\x7d\x45\x57\x08\x71\x1f\x05\xb0\xfe\xf3\xd3\x37\x92\x2d\x8f\xb3\x1a\x26\x05\x6d\x30\xef\x97\xb1\x84\x03\x25\x63\xf8\x5b\x96\xd7\x37\x8a\x4f\x46\xb8\x0c\x53\x9b\x2b\x1f\x60\x0f\x67\xbd\xbe\xec\x20\x9b\xd5\xbc\x5f\x72\x73\x00\xfc\x45\x42\x04\xc9\xb7\xa1\x19\x70\x83\x95\xe5\xb2\x7d\x60\x77\x7f\xfd\x4f\xaf\xb1\x81\x73\x33\xe4\xee\x20\x4d\x95\x44\x3d\x0d\x05\xb6\xd6\xea\xc3\x6d\x50\x3e\xdc\x08\xa5\x0b\x07\x83\x18\xde\x06\x65\x78\xf3\x58\x80\xe3\xa6\x6f\x6f\x83\xf2\xf6\x66\x28\xc0\x19\xf3\xb3\xdb\xa0\x9c\xdd\x0c\x05\x66\xb4\xfe\xef\xdb\xa0\xfc\xf7\xcd\x50\x80\xad\x2e\xdf\xdd\x06\xe5\xdd\x8d\x50\xf6\xe0\xe8\x08\x4f\x6e\x83\x72\x72\x33\x14\x98\x51\xf2\xfa\x36\x28\xaf\x6f\x9e\x11\x9c\xd9\x8b\x37\xb7\x41\x79\x73\x23\x94\x0e\x4a\x8c\x7f\xbb\x0d\xca\xf9\xcd\x50\x40\xb6\xfb\xf8\xe5\x36\x28\x1f\x6f\x81\x22\xe5\xcd\x5f\x7e\xf9\x0c\x60\x36\x43\xf9\xe5\x17\x67\xab\x97\xb7\xf9\x28\x59\xa6\xf9\x0c\xf6\x39\xab\x7d\x10\x10\x6a\xc8\x8a\x0e\xf7\x67\x74\x1f\x81\x98\x71\x18\x59\xfa\x58\x5c\x9d\x25\x49\x44\xe9\x59\xd9\x79\x07\x70\x7b\x3e\xe8\xbd\x01\x9b\x1b\xb3\xf3\xf5\x2f\x1b\xfe\x6d\x62\x11\x5d\x20\x3f\x30\x1b\x62\x0e\x8a\x60\x42\x3d\x3a\x35\x2b\xfe\x6d\x5c\x7d\xa0\xc4\xec\xb4\x1a\xe0\xe9\xfd\x01\x76\xe1\x28\x9e\x1c\x57\x03\x3c\xbe\x3f\xc0\x3d\xc0\xe1\x74\x54\x0d\x70\xf4\x15\x00\x81\xcd\x5e\xfc\x5c\x0d\xf0\xe7\xaf\x00\x08\x5c\x6e\xf6\xac\x1a\xe0\xb3\xaf\x00\x08\x0c\xef\xb7\x3f\x97\x00\x2a\x49\xff\xcf\x12\xa6\xa4\x91\x02\xe8\x8d\x00\x81\x6c\x2e\x9f\x6f\x04\xf8\x5c\x0b\x57\x10\xaa\xef\x93\xba\x3f\x6c\x04\x08\xe2\x60\xf4\x62\x23\xc0\x17\xf7\x1c\xa1\xbf\x2f\xef\xd6\x4f\x0f\x4b\x00\xad\x73\xf3\x5e\x38\xec\xc0\xc5\xee\x17\xef\x91\xd7\xf8\x3e\x00\xfd\x6d\xd4\xc1\xbc\x3a\x1b\xbe\x05\x03\xba\x5f\x52\x04\x4d\x6e\x15\x1b\x01\xea\xef\x15\x0c\x26\x9c\x2a\xfe\x42\x61\x29\x31\xf0\x4f\x46\x36\x63\x2a\xc7\x06\xcb\x66\x49\x9a\x07\xcb\x3c\x6b\x31\xf6\x3a\x06\xc5\x95\x82\x61\x72\x36\x80\xe7\x13\xf0\xa7\xc1\xd6\x7b\x48\x0c\x4c\x19\x7c\xe1\x83\x94\x9a\xe5\x07\x0c\x2b\x4b\x3a\x2e\x4c\xe2\xa0\x40\x51\x5b\xac\xa9\x4c\x29\x80\xc7\x91\x81\x92\x8e\x9d\x46\x4f\x74\xe8\x40\xc1\x59\x26\x22\xa1\xec\x28\x54\x7e\x8b\x89\xcd\x2a\xdf\x23\xd0\xc7\xcd\xf7\x0a\x2c\x85\x90\xa9\x82\x5e\x83\x70\x57\x0a\x12\x1a\x4f\x64\x42\xcc\xc9\xde\x29\x15\x41\x72\x11\x87\xbf\xa3\x75\x0a\xe2\x27\x4f\x92\xba\xba\x21\x03\x69\x9e\x9f\x3e\x3b\x19\x9d\x15\x95\x6d\xe5\x7f\x9b\x18\xed\x01\x70\x9d\xdf\xff\xe2\x1e\x21\x40\xda\x7f\x29\x6f\xe8\x8d\xdc\x15\x98\xe1\xf5\x7f\x55\x40\xf9\xaf\xbb\x43\xe9\x82\x44\x17\x0c\x0a\x50\xd4\x75\x69\xf0\xc9\x01\xe5\x56\x90\x68\x1f\x58\x72\xfc\x3e\x60\xe7\xea\xfd\x06\x58\xef\x6f\x83\xf5\xde\xbe\x13\x00\x2c\xb0\x5e\xad\xe0\x00\xfd\x02\x07\xb0\x2b\xe8\xdf\xe1\xbb\x66\x2a\x80\xad\xf8\xd5\x86\xb1\xbd\xba\x6d\x6c\xaf\xac\xb1\xed\x01\xce\xe6\x2f\x2b\x30\xff\xf2\xee\x98\xf7\xe5\x02\x7a\x8d\x3f\xb9\x50\x78\x94\xd7\x88\x8b\x38\x1c\x6e\x23\x14\x49\x4c\x5e\xeb\xc7\x6f\x85\x22\x65\xa3\xad\x9f\xaa\xb1\xfd\x49\xeb\x7e\x7e\x02\xde\x7d\x83\x54\x73\x1a\x5e\xe7\x33\xcc\xeb\x0c\x56\x78\x96\x72\x09\xd5\xcc\x83\xb3\xb7\x2f\x36\x89\x2b\x4e\x91\x41\x13\xb4\xeb\xbd\x80\x0d\x77\xf7\x76\x07\x70\x12\x9f\xbf\xe8\xbd\xb9\x5f\x7f\xdb\x70\xe0\x32\xaf\x84\x32\xa3\x06\xdb\x84\xc5\x03\x68\x7a\xfe\xf6\xbe\x5d\x1e\x20\xf7\x7f\xfb\x72\xf8\xea\x9d\xe1\x2a\x37\xb6\x73\x5f\x34\xe0\xad\x40\x3d\x09\xec\xe0\x28\xde\xbc\x3d\x3b\x1d\xbc\xbd\xf1\x45\x00\xf1\xbb\x03\x6a\xec\xd3\xc1\xdb\x17\xcf\xad\x51\x6f\xac\x0e\xf7\x82\xf3\xfe\xdb\x61\xef\x96\xea\xce\x63\x09\xbc\xe6\x25\x53\x96\x85\xd7\xf8\x74\x87\x09\xc0\xc9\x08\x14\x13\xb4\xc0\xe0\x41\x98\x38\x3f\x79\x75\x3a\x7c\x0b\x0b\x0e\x1b\xf0\xb9\x58\x63\xea\x4c\xda\xa5\xc5\x05\x28\xad\xc4\x36\xf2\xe9\x67\xaf\x5f\x0e\x91\x6a\x14\x98\x67\xc9\x5c\xe8\xad\x7e\x3b\x18\x5c\x98\x37\x3f\xbf\x7b\xe3\x82\x79\xc3\x2f\xc4\xbb\xc5\x5d\x47\xb3\x83\xa3\x39\x1e\x22\x59\x18\x30\xc7\x22\x32\x7c\xe7\xf6\xd1\xec\x92\x90\x70\x5c\x00\x33\x8c\x27\xf7\x01\xb3\x43\x93\x3a\xa6\x17\x23\x7b\x52\x90\xcd\xa4\x8a\xc6\xab\x36\x7b\x4f\xae\x9c\x7e\xe3\x92\xc7\xb6\x15\x19\x16\x8c\xb1\x55\x00\x2d\x58\xe7\xb2\x5d\x0e\xe6\x94\x57\xe0\x4c\xac\x56\x68\x4b\x87\x38\x64\x97\x55\xd1\xe9\x94\x83\x15\xcc\x03\x1e\x25\xd4\xca\xe8\x59\xc0\xa0\x68\x6d\x6e\x5f\x19\x78\x3c\x50\x88\x70\x61\xdc\x09\x15\x38\x12\xb8\x9e\xbe\x3d\xf9\xf9\x19\x90\x2c\x0f\x6a\xa4\x9c\x91\xa7\x2a\x3d\x0a\x0d\xee\x06\x69\xcf\x38\x4f\x34\x98\x05\xe9\xd8\x40\x3a\xbe\xd3\xf2\x9c\xfb\x3b\xf0\xd8\xf5\xea\xdd\xcb\x17\xaf\x07\xcf\xef\xf4\x32\xf8\x21\xcc\x67\x2c\x5e\xce\x69\xb3\x4e\xb5\xaf\xca\x82\x4f\xd8\x85\x88\x45\xca\x73\x12\x1f\x21\x3d\x05\xb8\x8a\xa0\xcb\x56\x66\x6d\x65\x5b\x4c\xf3\xec\x9d\xef\xb9\x0f\xa3\xf8\x9e\x0f\x2e\xb3\x06\x92\x32\xc0\x4f\x45\xa6\x62\x50\x6e\x6d\x31\x34\x32\x43\xab\x70\x3d\xc0\xd8\x1a\xd3\x32\x0e\xff\xba\xb4\x46\xd4\x6a\x29\xed\x19\xee\xbd\xe7\x6f\xe0\x45\x67\x23\xda\xca\xbc\x7c\x8f\xda\xf9\xf7\x6c\xb7\x4f\xed\x3a\xf7\x6c\x77\x40\xed\xb6\xef\xd7\xce\x6f\x03\x09\x3f\x7f\xb3\x73\xdf\x76\x3e\xb6\xdb\xbd\x6f\xbb\x0e\xb6\xeb\xde\xb7\xdd\x36\xb6\xdb\xbb\x6f\xbb\x1d\x6c\xb7\x7f\xdf\x76\xbb\xd8\xee\xe0\xbe\xed\xf6\xb0\xdd\x93\x8f\xdf\x4f\x35\xdf\x3e\x40\x98\xcd\xef\x09\xb3\x8b\x30\x1f\xdf\x73\x7e\x3e\xad\xfb\xd6\x7d\xdb\x11\x9d\xb5\xee\xdc\x4e\xdf\xfc\x50\x7f\xf5\xda\xb8\x58\xb2\x3c\x59\xd8\xa2\x61\x17\xe6\xd2\xef\x21\x9f\x62\x60\x5b\x44\x0f\xea\x4f\x94\xe1\x80\xfc\xa5\x5e\x78\x4d\x7f\xb2\xc1\x6a\xa0\x8b\xaf\xdf\x1f\xd4\x41\xe9\xc0\xfb\x4f\x05\xef\x3f\xab\xe0\x55\xbe\xe3\x76\xe1\xa8\x79\x3b\x7c\xf1\xba\x07\x20\x1d\x78\x6f\x15\xbc\xb7\x55\xf0\x2a\x2d\x07\xf6\xf1\x25\x97\xe4\xb3\xc2\xf8\x4e\x15\xbc\xd3\x2a\x78\x95\xb6\x03\xfb\xb0\x27\x3f\x90\xf7\x1d\xc2\xb3\x4c\x08\x9c\x2b\x49\x01\x5e\x95\xf5\x40\x07\x6d\x11\xfa\x6f\x4f\xce\x9a\x68\xdc\x60\xc1\xdb\xbb\x19\x5e\x95\xfd\x40\x07\xad\x11\x24\xbc\x27\x25\x78\xfb\x37\xc2\x73\x2d\x08\x34\x49\xf9\x7b\xdb\xec\xfc\xe5\xbb\xb3\xe1\xc7\x06\xf3\xf7\x76\xd8\xf9\xfb\xd7\x2f\x9a\x1f\xe1\x3c\xf1\xf7\x76\xe1\xcf\x27\x1f\xc1\xad\x10\xcc\xd8\x8c\x39\xbb\xa6\x45\x05\x09\x73\xf0\xb1\x39\x8f\xf9\x85\x48\x1b\x98\x31\xc2\x83\x4c\x00\x57\x60\xdd\x03\xd2\xc8\xbc\x65\x65\x97\x92\x9d\x87\x19\xe3\x51\x96\x14\xde\x9b\xbc\x8c\x35\x3f\x29\x3b\x20\x49\xdc\xae\x37\xeb\x10\xb3\x5a\x9a\x4c\xc0\xa8\x5f\x48\x52\x4a\xa1\x0f\xc7\x97\xf2\xb3\xba\x9b\xfd\xbf\x2d\x1b\x6f\x48\x42\xe7\x78\xe3\xa2\x11\x25\x36\x78\x03\xbd\x3b\x09\x43\x9c\x18\x0a\xb7\xd9\x65\x99\x58\x06\x68\x51\xd6\xf9\xbb\x57\x35\xdd\x2c\x48\x13\x4a\xd9\x8d\xbf\x42\xc6\xd1\xf1\x72\x3a\x15\xe9\xb7\xcf\x1d\x04\xfa\x4d\xa9\x19\xdd\xa9\xcf\x92\xb9\x78\x2e\xd6\xd9\x29\x0e\xe8\x57\x7b\xde\x96\x5f\x01\x26\x91\xaa\x34\x33\x35\xd5\x2d\xb3\xed\x42\x2f\x15\xa6\xda\xca\xb0\xd1\xc1\xd6\x33\x37\x54\xb3\xfd\xed\x35\x7e\x2b\xa7\xa4\x36\x21\x55\x11\x93\x72\xf2\x18\x22\xe8\xd6\x25\x53\xc6\x7a\xff\xe8\xf5\x91\x77\x93\x3f\x60\x79\xaa\xcd\x80\xbf\xe7\xfa\x8c\x6e\x58\x9f\xd1\x1d\xd7\x67\x18\x4f\xfe\xc5\x97\x87\x2e\xb2\x77\x5b\xa1\x05\xbf\xd8\xb8\x42\x25\x24\x9d\xef\xfe\xdd\x7b\x7a\x2b\x86\xb0\xff\x6f\x47\x12\x22\x21\x4f\x97\x82\x1d\x0f\x5f\x80\x23\x6d\xb6\x1c\x43\x68\x20\x91\x73\xe3\xd7\xa0\xfc\x0c\x5f\xc7\xe6\x28\x68\x50\xbc\xda\xcb\x98\xd8\x32\x8f\x54\x9e\x28\x86\x81\x10\x29\xaf\xf9\x85\xc8\x19\x97\xf0\x29\x45\x0a\x66\x4a\x78\xcc\x82\x88\x87\x73\xf2\x46\x29\xb4\x8f\x93\x5c\xb9\x22\x37\x9c\x3e\x24\x14\x0c\x14\xad\x53\x9e\x43\x0c\xa1\x98\xe2\x39\x70\x8c\xd6\x8b\x29\x02\x43\x08\x41\x6d\xcd\x82\xf5\x39\xc4\x8b\x8d\x55\xbd\x45\x2a\xa6\xd0\x41\xc0\x63\x39\x73\x0a\x1a\xe2\x4e\x5e\x87\x8f\x08\x78\x76\x1f\x22\x39\x16\xd1\xdd\x0e\x17\x1e\xe5\xda\x87\x03\x93\xf2\x19\x97\x8e\x1f\x7e\xa0\x5d\x56\x6a\x62\xe7\x41\xfb\xc1\xb8\x24\x94\x49\x0a\x0c\x28\x9e\x16\x8f\x9d\xed\x7f\xc6\xb1\xa3\x75\x25\x7f\xc4\xce\xe9\xde\x75\xe7\x40\xd8\xa1\x7f\x6d\x06\xa3\xd4\x31\x77\xc3\x53\x89\x39\x17\xc4\x13\xdb\xd5\x74\x13\x62\x5e\x84\xb1\x66\x29\xf7\x40\x8c\x1b\x9d\xe9\x1b\x1d\xb9\x6e\x3f\x73\x7e\xa2\xb5\xee\x79\xec\x90\x4e\x95\xde\x3f\x81\x8e\x8d\xa6\xeb\x1f\xbb\x40\x86\x72\xff\xf5\x97\xa8\x6f\x96\xa8\xef\x2e\x11\xa6\x9e\xa3\x20\x4e\x73\x9e\xae\xb7\x20\x20\x42\xcc\x73\x58\x2c\x21\xe2\x4c\xb9\x9f\x97\x17\xef\xae\xab\x84\x8f\xe6\xce\xf2\xa8\x74\x4a\x15\xe1\x76\x0c\xb2\x57\xe1\x42\x0c\x92\x38\x17\x71\x9e\x7d\x33\x93\x80\xa7\x54\x78\x73\xf5\x5b\xad\x83\xe2\xa3\xaa\x22\x43\x79\x53\x72\xe2\x4d\xd0\x69\x6b\xee\x4e\x08\xc2\xbc\xe0\x1e\x50\x72\x3e\x0c\xe1\x14\xad\x29\xe5\xdb\x42\x04\x21\x8f\xac\x00\x48\x73\xb8\xc5\x41\xa8\x8b\x04\xbb\x09\x63\x76\x2d\x27\x22\x3b\xbf\x88\x93\xb9\x68\xea\x99\xa3\x87\x68\xca\xe3\x0b\x78\x42\x4e\x05\x40\x86\xfe\x3a\xad\xd6\x3e\x9c\xe7\x12\xd4\x4a\x65\x2c\x63\x30\x29\x4c\x84\x44\x62\x01\x44\x53\x45\xad\xe6\x6a\x96\x44\x0a\x1c\x8d\xec\xce\x6b\x47\x16\xa7\x37\xac\xde\x3f\xdf\xd5\xac\x7c\x8e\x6b\x4c\xca\x65\xa7\x39\x8c\x45\x4a\xc7\xf3\xd7\x5e\x16\x55\xca\xdb\xcd\xe9\x4b\xdc\xf4\xb7\xbe\x77\xa8\xcf\x45\x9f\xa4\x71\xfc\xd2\x31\x5f\xd4\xab\x9c\xfd\x79\xbb\xf0\xf9\xdc\xfd\xbc\x53\xf8\xfc\xcb\x2f\xee\xf7\xdd\xc2\xf7\x8f\xee\xe7\x6e\xe1\xf3\xaf\xee\xe7\xbd\xc2\xe7\x4f\xee\xe7\x7d\x6b\x52\x5a\x9e\x51\x1f\x0f\xac\x8f\x07\x5e\x29\x74\x80\xbd\x17\x7b\x51\x7e\xef\xad\x78\x17\x8a\x25\xf3\xe5\x1b\x08\xf6\x16\x72\x41\x00\xdf\x4e\x2d\xb7\xd6\x24\xa5\xd0\x46\x6e\x05\x46\x21\x7f\x04\x8a\x94\x89\xf8\xd7\xe3\x88\x20\xfc\x73\x91\x44\x82\xc3\xaf\x03\x48\x1d\x19\xe7\x22\x5d\xa4\x26\xf3\x3d\x85\x87\x85\x1b\x4a\x90\x2c\xd6\x2c\x48\xe6\x73\x1e\x57\xa7\xe7\xd8\xc0\xf9\x06\x37\xa1\x88\x82\x51\x08\xe5\xe1\xbb\x01\x5d\x17\x22\x3f\xa6\xd8\x49\xb5\xba\xfc\xeb\x54\xb5\xb1\xf2\xf4\x3d\xd4\x80\x20\xbe\x71\x14\xf1\x45\x26\x26\x4e\xb0\x08\x07\xba\x94\x14\x06\x03\x39\xab\x02\xfa\xed\x74\x54\x68\xb0\xa4\x4c\x8a\x00\x07\x76\x64\x57\xdb\x30\x09\x71\x29\x31\xa9\x9e\x30\x5b\x06\xce\x1b\x4a\xe5\xa8\xac\xae\xd8\x78\xcd\x22\x91\xe7\x2a\x5e\x5c\x21\xb7\x24\x76\x8b\xa6\x58\xf3\x24\xcb\x0d\x20\xaa\x48\xf9\x5e\x55\x74\x9d\xc7\x49\x1c\xad\x1f\xb3\x15\x87\x48\x4f\x18\x3d\x38\x17\xd7\xb9\x72\x18\x0e\xa2\x70\x81\x4a\x77\xcb\x29\x96\x5c\x62\xbd\x49\x1a\x5e\x89\xe6\x78\xed\xb1\x95\x18\xab\x31\xdf\x40\xbc\x90\x12\x45\xaf\x40\x6f\x9a\x8b\x54\xa2\xd1\xf6\xdd\xcd\x44\x7e\x16\xce\x45\xb2\xcc\x6b\x66\x55\x02\x5a\x93\xb3\x64\x18\x4f\x20\xa0\xab\xf9\x58\x6f\xb0\x5d\x93\x8d\xaa\xe0\xea\x7a\x17\xff\x58\x2b\xab\xd4\xc3\x1b\xd6\xf9\xa6\x65\x46\x43\xb2\x3f\x62\xb1\xe7\x3c\x06\xc1\x46\x19\xe1\x41\x46\x9e\x55\x92\x5e\x42\x2c\xa6\x2c\xcc\x97\x14\x31\x12\xb2\xa4\x1a\x40\x2a\x60\x58\x4b\x5c\x8b\x60\x80\x7b\xaf\xe6\x49\x90\x5e\x1d\xb5\xcf\x51\xb2\x32\x09\xd8\xfe\x25\xd6\x6c\xd3\x00\x92\xc5\x5a\xf7\x7f\x96\x0c\x14\x41\xd6\x0a\x01\xcb\xef\x74\x03\xb0\x22\x9a\x9b\x63\xb4\xbd\x5d\x7d\x75\x22\x0e\xf7\x4a\x72\xb8\x64\x01\x61\xfb\x63\xb1\x52\x3a\x7f\x62\xfd\xf0\x94\x1d\x25\x28\xfb\xdf\x4b\xb0\xbb\xed\x04\x28\x53\x1c\xf6\xdc\x92\x63\xa9\xe9\x15\xd6\x7d\xcf\x40\x89\xe3\x79\xe5\xa8\x43\x5e\x00\x52\xe9\x51\x9c\x34\x82\x28\xc9\xc4\xd1\x5a\x64\x8d\x54\x64\xe1\xef\xf8\xab\xba\x5c\xa4\x19\xfc\xe9\x39\x79\xee\x08\xc4\x3c\x8c\xc3\x79\xf8\x3b\x1f\x47\xd8\x66\x15\x4e\xf2\xd9\x91\xc7\x9e\xa8\x51\x85\x71\x2c\xd2\x0f\xb2\xb4\xaa\x79\x63\x26\xc2\x8b\x59\x5e\x6a\xf0\x0c\x8a\xbf\xed\x2a\x27\x97\x50\xdc\xb8\x84\xef\xe1\x90\xca\xb2\xa5\x94\x92\xf1\xd9\xc4\x3a\x90\x8a\x81\x82\xc7\x62\xc6\xaf\x42\x68\x81\x81\xdd\x65\x7d\x0a\x8c\xab\xd4\x65\x59\x26\x32\xc7\x8a\x14\xcd\x11\x30\x07\xfb\x63\xec\x73\x63\x93\xf7\x94\xe9\x9d\xa2\x00\x4e\xa3\x10\x1e\x99\xec\xa8\x75\x9e\x64\x3e\xcd\xab\x26\x74\xee\x81\x82\x0e\xa3\xb2\xd2\x80\xef\x4a\x65\xef\x6f\xa3\xb2\x9a\x1d\x8c\x44\x65\x70\x73\x58\xe0\x7b\x78\xe9\xb1\x94\xe2\x35\xb7\x45\x05\xd7\xa4\x26\x76\xda\x6f\xa1\x32\xa8\x93\x9b\xba\x9c\x18\xc4\x20\x5b\xa6\x99\x88\xae\xd0\x0a\x04\xa2\xf7\x44\x91\x3e\xab\xb6\x5e\x9f\x62\x5a\x32\xc2\x9b\x95\xc7\x8e\xda\xb7\x98\xbc\x1e\xf2\x71\xb4\x06\xab\xe2\x39\x0f\x5e\x9f\x36\xa8\xf6\x96\xbd\x3e\x56\x60\x7a\x9d\x73\xf9\x59\xb2\x12\x57\x22\xa5\x13\x11\x32\x28\xb3\x74\x19\x63\x3c\xfe\x95\x18\x83\x19\x49\x1a\x22\xf1\xc1\xe3\x5e\x38\x65\x61\xce\xa6\x3c\x8c\x32\xd0\x97\x42\xaa\x33\x05\x6e\xca\xe9\x86\x4e\xac\xc1\x3e\xa6\x63\x9e\x87\x57\xc2\x90\x56\x6d\x96\x2c\xc4\x74\x19\x45\xeb\x3a\xcb\xe4\xa5\x75\x99\xb5\x36\x88\x1b\xb6\xec\x07\x79\x17\xbe\x86\xed\x89\x28\x13\xf7\x3d\x1b\x0b\x7b\xcc\xef\x56\xee\xb1\x72\x4a\xf0\xef\xcf\x2f\xd1\x84\xf6\xff\x16\xbf\x4c\x96\xf9\xfd\xf8\x25\x34\xf8\x1e\xfc\xf2\x5b\xe4\x7d\x32\xc0\x4f\xec\x77\x68\x25\x82\x42\x48\xea\xcd\x17\x01\x8c\x63\xe8\xde\x05\x28\xb3\x93\x9d\xf0\xc0\x12\x95\x24\x0b\xae\xe0\xa1\x30\x06\x92\xb9\x28\xfd\x3c\x3c\xba\x83\x7e\x27\xe5\x71\x36\x0f\x73\xc6\x63\x95\x64\xb2\x16\x4e\x59\x31\xfd\x26\x88\x52\x75\x8a\xea\x8c\xef\xfb\x5e\xe0\xc9\x0e\xbd\x81\x57\x35\x30\x47\x84\x5b\x01\xc5\xe3\x8c\x2d\x04\xa8\x88\xea\xf4\x44\x02\xef\x29\xa0\xe2\x4b\x50\x61\x84\x31\xb3\xd5\x9d\x25\x4b\xcc\xcc\x2e\xe3\x64\x95\x81\x42\x49\x80\x7d\xcb\x4c\xcc\x29\xaf\x56\x24\xab\x25\xa0\xc1\xc1\x1b\x27\xa2\x71\xc6\x21\x96\x6a\x52\x58\x96\xf1\x1a\xc3\x84\xcc\x42\xc3\x79\x20\xa5\xcf\x05\x0f\xef\xb5\xd9\x6e\xbd\x7b\xa9\xed\x74\xc7\xab\xd7\xd3\xd2\x1e\x65\x9f\x3f\x1b\x29\xd5\xbd\x98\x55\xdd\xc2\x30\x4a\x14\x60\x10\x12\xe0\xd2\x03\xd9\x58\xc8\x69\xce\x44\x34\x01\x6a\xb1\xe9\x48\x8f\xb0\x20\x7b\x6b\xfb\x42\x42\x9a\x89\x08\x47\xc1\xf9\x93\x89\xc0\xa0\xb2\x7c\x82\xba\xd7\xe1\xe9\x80\x55\xd3\x50\x9e\x2e\x8d\x01\xea\x4a\x10\xf2\x29\x3c\xfb\x44\x04\xe1\x44\xb2\xfc\x7c\x25\x44\x0c\xf4\x05\x36\x8d\x40\x60\x66\xf7\x56\xea\xb3\x9c\x00\x61\x90\xea\xd7\xc9\x45\xaf\xd2\x1d\x83\xb9\x6b\x44\xbb\xad\x70\x13\x94\x7b\xa0\xe2\xfa\xfd\x0d\xb2\xbe\x25\xe7\xdb\x01\x23\x37\x2e\xa3\x73\x05\xa8\xd5\xd9\x17\x2d\xf6\x7f\xb9\x0b\x33\xc2\x63\xa8\xcc\x89\x20\xee\x4f\x62\x42\x06\xc1\x32\xbe\x6f\xb0\x89\x58\x50\xfe\xf1\x24\x2e\x0b\x4c\xac\x87\x06\xc1\xd0\xda\xe2\x20\xef\x31\xdf\xb9\xe4\x65\x77\xe2\x63\x28\xdd\x95\x64\xc8\xbb\x6e\xac\x5b\xe5\xb1\x6f\xd6\xe6\x14\x9f\x0e\x51\x5f\xf4\x5e\x07\x9a\xba\x19\x92\x0e\x30\x75\xbf\x43\xe2\x19\xd2\xdc\x34\x89\x73\xf6\x7b\x92\xcc\xad\xfc\x86\x56\xb4\x23\x2f\x33\x29\x60\x65\x2d\x36\x03\x0a\x1d\x87\x39\x46\x48\x57\x22\x7a\xce\x02\x91\xe6\x5c\xd5\x8a\xc4\x95\xc0\xec\xa4\xac\x97\xa3\x01\xf0\x9c\x53\x12\x05\x12\xcd\x30\x2c\x37\xcf\x96\xa9\x98\x30\x3c\x3a\x31\xd7\x7d\x9a\xac\x20\xcc\xad\xb8\xce\xd9\x04\xb2\x50\x64\xa4\xc9\x40\x7e\x4c\x75\xe1\x75\x61\xc5\x33\x26\xae\x17\x51\x18\x84\x79\xb4\x96\xe4\xae\xe6\xf0\x41\x27\x5b\x14\xce\x56\x83\xe1\xa9\x58\x62\x92\x29\x5f\xe0\x77\x7c\xa8\x7d\x93\xa4\xb9\x97\x21\x52\xa4\xec\x00\xd2\xeb\x63\x8a\x39\x26\xab\xc1\x74\xef\x4a\x3d\xae\x29\xe7\x2d\x54\xf4\xb0\x42\x65\xe5\x00\xf8\x8b\x1c\xb9\xf3\x90\xec\x72\x5a\xb8\x7e\xbc\x79\xf9\x17\xf5\xa6\x90\xe1\x5c\xf5\x73\x94\xcd\x84\xb5\x85\x42\xa2\xdd\xf5\xa0\x39\x54\xda\x08\x04\xd2\x9b\x58\x50\x6c\x5b\x07\x05\x86\xce\x76\xb6\xe2\x18\xf0\x55\x5b\xf3\xeb\x97\x0e\x8c\x90\x9d\xe5\x82\x43\x92\x31\x3e\x9d\x4a\xf6\x13\x5f\x40\x4f\x46\xa2\x76\x98\x2c\x44\x7b\x6d\x7e\x2a\xc6\x79\x95\xe2\xc2\xd4\x7b\x0a\x1d\xff\xfa\x49\x1b\x0b\xbe\x8e\xa3\x35\xfb\xf5\x93\x1c\xe2\x15\x8f\xc2\x09\x12\x5b\x42\x42\x91\x93\xee\x3e\x4e\x54\x68\xe5\xd6\x57\xc9\x67\x37\xb0\xe6\x0b\x91\xcb\x25\x1b\xf1\x20\x4f\xd2\x5a\x9d\x3d\xb4\x72\x99\xdb\xf9\x05\xe1\x06\x95\x33\xff\xd0\x47\x5c\x4f\xa1\x41\x43\x1f\x12\xf2\x4a\xc4\x9e\x6c\x35\xb7\xda\x48\xb7\x0a\x91\x70\xed\x74\x14\x85\xd0\x1e\x2f\x3d\x92\x8a\x05\xcf\x42\xe4\x8d\xca\xc6\x7e\x49\xbc\xf2\x42\x60\x24\x50\xf9\xbb\xdf\x6e\xff\xfb\x1d\xe7\xee\xdc\x32\x20\x19\x3b\x24\x05\xb9\x39\x3b\x3d\xe4\x9a\xa7\x15\x6c\x7b\x85\x94\xb3\x15\x2f\xc6\x22\x1f\x25\x71\x7e\x1a\xfe\x2e\x28\x65\xbd\x93\x67\x16\x94\xc8\x72\x63\xde\x24\xc4\x68\x00\x75\x2b\xe3\xad\x1a\x43\xd3\x93\x72\x4c\x99\xba\xd0\x5a\xdb\x8c\x0f\x7a\x69\x1e\x31\xbf\x32\xdb\x2d\x7c\x7d\x62\xbe\x3e\xb8\xf1\x15\xdc\x1a\x92\x6c\x58\xbf\xbb\x78\x6f\x3d\xd0\xde\x23\x6d\xd4\x82\xb2\x55\xfd\x5f\x49\x9e\x8e\x39\xd7\xe4\x00\x74\x36\x80\x71\x98\xe3\x53\xbb\x0a\xc2\x07\x31\xac\x41\x86\x9b\x86\xb1\x20\x03\x89\x42\xe2\xde\x33\x3b\x9f\x00\xa4\x42\x03\x93\x61\x11\x2f\xe7\x02\x33\x97\xd3\xb8\xb2\x9c\xe7\x61\xc0\xaa\xf2\x9e\x49\x38\x3a\x9d\x9a\x0a\x8d\xfd\xff\xb1\xf7\xee\xfd\x6d\xdc\x48\xa2\xe8\xff\xfe\x14\x88\xf6\x6c\x48\x8e\x49\x4a\x72\xe2\x3c\xe8\x28\xbb\xb2\xac\x24\xbe\xf1\xeb\x4a\xb2\x9d\x5d\xcb\xe3\x0b\x76\x83\x64\x8f\x9a\x0d\x4e\x03\x14\xc5\x4c\x7c\x3e\xfb\xfd\xa1\xaa\xf0\xea\x07\x49\x29\x4e\xce\xce\xee\xf1\x6f\x37\x43\x91\x40\x01\x28\x14\x0a\x85\x7a\x42\xf2\x78\x07\x99\x94\x44\x20\x6a\xb2\x09\xcf\x95\x00\x51\x77\xef\x2f\x7b\x46\x72\x2d\x97\x70\xf1\x15\xca\x5e\x68\x61\x85\x03\xac\xca\x36\x86\xc2\xbf\x4a\x14\x9a\xfa\x63\x07\x23\x20\xc2\xef\x85\xd4\xf8\xd8\xd8\xfb\xcb\x9e\x87\x05\xa5\xfc\x84\x2a\x3a\x50\xd6\x4d\xb7\x3b\x1c\xd8\xba\xa5\xc1\x85\xa4\x16\x22\x09\x9c\x0b\x6c\x6d\xe1\x13\xb9\x84\x07\xc3\x41\x58\xc9\x07\x93\x61\x82\x65\xdc\xfe\x09\xe7\x6c\x97\xa2\x71\x13\x59\x1a\x5c\x79\x69\x74\x2e\xd3\xd0\x87\xe4\xdd\x5c\xa6\xef\x09\x38\x7e\xfe\xed\x37\x44\xc1\xa3\x48\xd7\x42\xed\x8e\x58\xe7\x2f\xee\x52\xa8\xcf\xfc\xfe\x7d\x38\x69\xa8\xcb\x36\x3f\xf7\x62\xff\xec\x37\xe6\x76\xa8\x50\xc4\x16\xa4\xf9\xb5\xb0\x23\xf6\xee\x1e\x63\x1d\xb8\x12\x3b\x7d\xd4\xff\x99\xff\xe5\x39\xfc\x69\x1e\x1f\x9d\x7b\xef\x43\x3a\x4e\xb0\x44\x35\x24\x49\x07\xfe\x6b\x18\xf3\x31\x94\x43\xf0\x72\x03\x94\xc2\xee\x45\xb2\x58\x54\xe5\xdf\xdc\xac\x8a\xa2\xd7\x8d\xf4\x84\xb7\x2c\x2f\xa1\x8e\x1f\x16\x52\xb6\xd5\x41\x12\x2d\x94\xb6\x65\xce\x16\xb6\xb0\xf4\x24\x2b\x95\xee\xe3\x6b\x96\x6b\x96\x4b\xa9\x44\xbe\x76\x25\xa7\x5c\x3b\xb8\x20\x39\x33\xcf\x6d\x28\x6d\x24\xcb\x4c\xaf\x4d\x1f\xa8\x40\x02\xf5\x8b\x5c\xe3\x5b\x14\xa2\xe7\x3b\xb6\x1b\x6f\xd9\x88\xa0\xe6\x77\x48\xc9\x3e\xdf\xb0\xa1\x15\x5e\x21\xe5\xef\xd8\x38\xfe\x26\x12\xd9\x07\x87\xce\xc2\x58\xed\xf8\xfd\xc6\x8e\x87\xa1\x38\x7f\x10\xd1\xd8\xab\x32\xbb\xe6\x5a\xd8\xac\xbe\x96\x4d\xd9\xc2\x8b\x54\xdb\x6b\x61\x4b\x87\x9b\x67\xbf\xd2\x24\xac\x04\xbf\x28\x2a\x38\x09\x15\x2a\xe4\xaa\x40\x8f\xd4\x1a\xde\x6d\x99\x49\x43\x36\x54\x5f\x52\x07\x15\x29\x5d\x3b\x2a\x23\xf9\x11\xd9\x11\xba\xc3\x92\x2d\x8c\x72\xa7\x87\xe5\xc5\x5f\x2b\x31\x59\xe6\x98\xa8\x61\x2d\x97\x40\x82\x58\x68\x47\x4b\x5b\x93\x07\xf8\x11\x12\x05\xae\xcd\x2e\x85\x17\xb5\xc5\x6c\x3b\x63\xfe\x30\x00\xa8\x48\x74\x96\xe3\xbf\xf5\x71\x9c\xe7\xe6\xb7\xba\xf9\x1d\xd8\xd3\x67\x47\x66\xf9\xf6\xcf\x68\xaf\x88\x9b\x90\x08\x53\x5e\xbb\x8c\xdd\x9f\x80\x85\x19\x88\x73\x99\xbe\xe1\xf9\xd2\x10\xa5\xf9\xc9\x5c\x29\x72\xfc\xb7\x1e\xfb\x37\xf3\x3f\xc8\xb7\x46\x55\x96\xf6\x59\x79\x6d\x18\x5d\xf7\x33\xbf\x30\xab\xd9\x8f\x38\x9d\x69\x14\x7d\x69\x07\x8b\x05\x63\x5b\xe5\xc0\xac\xcd\x8d\x54\x61\x83\x9e\x5e\xcb\xeb\x47\x4d\x05\x52\x89\x30\xea\x15\x50\x89\xae\x32\xac\xbe\xe8\x2b\xa5\xc6\xa4\xfc\x3f\xb3\x00\x6a\x3b\x11\x53\xd1\xd0\xd6\x22\xa8\xa1\x2e\x00\xa9\xde\xfe\x4e\x32\x40\x6f\xb7\x5d\x6a\xbf\xee\x33\xe5\x8b\xce\x59\xb5\x3e\x27\x29\x04\xb4\xab\x62\x77\x2e\x7e\xeb\xb5\x37\xc8\x1c\xbe\xac\xea\x26\x0c\x50\x93\x3e\x2c\xb5\xb7\x8b\x24\x2c\x17\x28\x3b\xff\x93\x17\x4e\xa5\x8d\xfe\x77\xf3\xab\x19\xe4\x3a\x13\x2b\x2a\xdd\x92\xe5\x82\x65\xf3\x05\x95\x00\x0a\x8a\x91\xbd\xc4\xa5\x63\xb9\x52\x28\x43\x84\xe5\x28\x95\x96\xa5\x50\x2e\x23\xba\x39\x0b\x98\x3c\x3d\x91\x45\x4a\x95\x9e\xec\x23\x31\xf2\xaa\x34\x74\x61\x8f\xbb\x01\x07\xd7\x57\xf8\x7a\x67\x4a\x94\xe6\x0c\xca\x09\x03\xa2\x11\x50\xcd\xd4\x29\xe8\x14\xbf\xce\x8a\xe9\x7e\x29\xcc\x0c\xa8\x80\x11\xe6\x02\xa0\x1a\x49\x76\x74\xf3\x58\xcd\xd7\x54\xbc\x49\x9a\xf3\x7a\x9d\xa5\x58\x8e\x8c\xab\x35\xb9\xb9\x98\x29\x26\x72\x3e\x97\x85\xe9\x3a\xc9\xa6\xcb\x12\xd4\x49\x70\x37\xd2\xae\xdb\x78\x8f\x32\x9b\x42\x42\x12\xd8\xa8\xf1\x9a\x9d\xc8\x72\xcd\x9e\xf3\x24\xe1\x65\x49\xa4\xbe\xef\xfd\x7a\x65\xa1\x74\xb9\x34\x0f\x6f\x87\x87\x26\x8c\xd2\x28\xe0\x5e\xca\x51\x6b\xe1\x34\xb6\xb4\x20\x0b\xa7\xc1\x4c\x8d\xaf\x0d\xae\x62\x46\xa3\x17\xa3\xfd\xfd\xd5\x6a\x35\xbc\xd6\x87\x07\x07\xc3\x42\xe8\xfd\x54\x26\x6a\xff\x5a\x3f\x3c\x3c\x18\x94\xf3\xfd\x27\xa7\x27\xe7\x17\x67\x28\x73\x25\x62\x61\x55\x5f\xe6\xdd\x82\x65\xb9\x96\x5a\xae\x4a\xbe\x60\x5d\xf3\x5f\x2c\xa6\xda\x0b\x13\x89\xa3\x9f\x2b\x96\xd2\x13\x62\xae\x48\xab\x35\x16\x6c\x65\xbe\x43\xaf\x5a\xf3\x74\x68\x3e\xff\x84\x82\xa3\x8f\x66\xf5\x1f\x40\x39\xfd\x92\xd0\xe0\xca\x12\x80\x36\x4d\x2e\xd6\x28\x64\x04\x68\x08\x18\x85\x45\x65\x78\x99\x13\x40\xe7\x19\x6b\x4e\x20\xd7\xba\xcc\xc6\x4b\x0d\x65\xd6\xc9\x38\x03\xe5\x77\x0d\xf6\x16\xcb\x71\x9e\x25\x9e\xc0\x80\x3a\x78\x92\x08\xa5\x28\xe4\x13\x01\x39\x2a\x76\x71\x15\x1e\x39\xec\xc8\xaf\xe4\xdf\xdc\xc7\xb0\xc1\xc8\x15\xf1\xa0\x4a\xa5\xd7\xa2\x54\xe2\xed\x36\x08\xf5\x76\xc1\x4d\x0f\x90\x24\x90\xe5\x73\x7c\x41\x35\x81\x08\x1a\x54\xfb\x9a\x7d\x3e\xe1\x65\x99\xf1\xa9\x20\xf6\xdf\x0c\xa3\xa1\x61\x15\x16\x9e\xc1\x37\x19\xd6\x6f\x6a\x06\x13\xb7\x69\x86\xf0\x38\xcf\x8a\xab\x8d\xfd\xb1\x45\xb5\x77\x06\x01\xa9\x1b\xf0\x10\x34\xa8\xf6\x25\x2c\xbf\xc9\x52\x21\x37\x6f\x04\x36\xa9\xf6\x1f\x97\x3c\xb9\x12\x5a\xa4\x18\x0f\xdb\x0c\xa1\xd2\xc8\xc1\xd8\x7e\xfd\x2c\x78\xa9\x44\xf9\xcf\xae\x7b\xb9\x6d\xd9\xee\xca\x99\x67\xaf\x0c\x16\x9a\xcb\x01\xae\x0b\xcd\x6f\xf0\x26\x31\xbc\x16\xcd\xa9\xce\x96\xb7\x54\x5a\xce\xb3\x5f\xb9\xe3\xe6\x96\x7d\x00\xc4\xb2\x5e\xfa\x0c\x26\xc0\xcc\x14\x8c\xc0\xc1\xfe\x81\x65\x31\xf1\x09\x44\xe8\xc2\xaf\x40\xcb\xf9\x97\x7d\x4b\x06\xf4\xdb\x11\xeb\x60\xf0\x55\x15\x4e\x01\xfe\xba\x08\xc7\x95\x12\x91\xca\xd6\x22\x0e\x41\x2d\xa4\x42\x25\x49\xeb\x74\xfe\x8d\xe0\x38\x37\x7f\x8a\x1c\xdc\x02\x38\x99\xb1\x23\x5f\x38\x3e\x42\x44\x20\x63\x89\xb2\x94\x11\x62\xe6\x42\x29\x3e\x15\x91\x58\x55\x88\x15\x3b\x35\x0d\xbb\x1d\x00\xc0\xb0\x17\xd7\x50\x78\xd2\x2d\xe3\x3e\xeb\x60\x29\x4a\x0b\x63\xe3\xc8\x99\x32\x2f\xf0\x5c\x68\x51\xdf\x97\x50\x9c\x03\x04\x1d\x85\x78\xb7\x05\x05\x37\x41\xaf\xd5\xba\xc3\xae\x70\x0b\x7f\x58\x48\x15\x28\xac\xdc\x66\xe2\x87\x47\xf1\xce\x50\x7b\xf3\x7a\xf2\x9a\x2c\xc0\x2d\x4d\x26\x56\x5a\x87\xaf\x77\x40\x55\x3d\xda\x0a\xf5\x39\xe1\xb7\xe6\x38\xd2\x6b\x05\x1f\x2a\xd2\xd5\x65\x0f\xea\x24\xf9\x9b\x1f\xca\x82\x87\xeb\xa6\xb2\xd2\xf0\xb4\xb0\x1d\x7e\x16\x6b\x15\xb9\x3c\x70\x97\xf1\x66\xc8\xd8\xcf\x82\x84\x8e\x54\x38\xcf\x34\x0e\xbe\x50\x62\x8a\x6e\xef\xe6\x2f\x07\xd6\x59\xd1\x5a\x87\xb5\x05\xf4\x87\x8c\x3d\xf7\xa5\x9d\x50\xc9\x8a\x95\xf5\x7d\x29\xde\xbf\x49\xb3\x10\x90\x23\xf0\x3d\x91\x42\x0d\xee\x20\x62\x05\x91\x54\x30\xc3\x40\xcb\x4c\x5d\x81\xb6\x92\xa6\x69\xd5\x20\x59\x91\x62\x19\x54\x17\x4b\xbb\x2c\x7c\xbd\xd0\x48\xe9\x6a\x6e\x7f\x2b\x7e\x59\xe8\x41\x01\xec\x11\x3e\xea\x8e\x47\x0c\x9e\xcf\x82\x3c\x6f\x79\x94\xa3\x6a\xef\x78\x2f\x9e\x22\x63\xec\xab\x87\x23\x76\x8e\x6f\x21\x4c\x52\x46\xdf\x1f\xdc\x7c\x79\xd8\xfc\x0b\x38\xa9\x55\x07\xc2\x2f\xc3\x16\x6d\x80\xe1\xc7\x2d\xd0\xd1\xd2\xdd\x38\x06\xfd\x14\xb6\xfe\x4b\xd8\x12\x27\x02\x95\x72\x57\xc2\x88\x53\x2a\xa8\xba\x18\x51\x2c\xe0\xdc\x26\x09\xa5\xc2\xc9\x86\x21\xe4\x82\xab\xc0\xf6\x64\x08\xe0\xd8\x55\xf9\x05\x66\x4f\x67\xdb\x3d\xea\x2b\x8f\x79\x50\x89\xf6\xc1\xa4\x18\x94\xd3\xe9\x5b\x32\xc2\xa1\xfc\x03\xbe\xce\xe5\x03\x26\x00\xd7\xe9\xcf\x62\x7d\x6e\x67\x5d\x63\x34\x4e\x8d\x83\x3a\x18\x57\x50\xd7\xf0\xcd\x7b\x50\x25\x29\xac\x6e\x7a\xe5\x9f\xf7\x5b\x0e\x9e\x2b\x75\x75\xfd\x6e\xa7\xf6\xef\xae\xde\xbf\x8f\x14\x2e\x66\xdc\xd5\xcc\x3c\xd6\xba\x8e\x19\x7d\xd7\xc0\x04\xa3\x20\x4a\x75\x95\x2d\xce\x17\x3c\xf1\xd6\x2b\x33\x6b\x2d\xaf\x84\x0b\x9a\x00\x94\x5c\x98\x6f\xac\x47\x35\xe8\xbf\xcc\x17\x43\xb8\x74\x8e\x8e\x58\x87\xb8\x40\x60\xd1\x2a\xaf\x03\xed\x3d\xb6\xbe\xe6\x39\x69\xbe\x9c\x85\xab\x09\x94\x5b\x70\x27\xae\xd6\xb6\x4c\xac\xa6\x2b\x00\x37\xd4\xf2\xf5\x62\x21\xca\x13\xae\x84\xf7\xf8\x36\x60\x6d\xf3\x5d\x37\xc0\x87\x90\x7b\xf7\x86\x2d\x5d\x86\x33\xae\x5e\xae\x8a\x57\xa4\xee\xb1\x43\xf6\x42\xe7\x77\x52\xd2\xb9\xd2\x52\xdb\xb6\x95\x60\xbc\x7f\xe4\x20\x98\xc5\x94\xd7\xa8\x84\xfb\xfc\x73\x66\x3f\x7e\x16\x99\x23\x70\x47\x4b\xf0\xb8\xcb\x14\x5e\xd2\x61\xe1\x67\x3b\x06\x5e\xb7\x01\x02\x7b\x7e\x20\x0b\x39\x50\x51\x56\xb6\x6a\x17\x9c\x3a\xee\x1d\xe1\x73\x1b\x5a\xdd\x65\xb0\x03\x4a\x23\xd2\xda\x0a\x31\xc0\x68\xbc\x20\x0f\xb0\x8e\xb8\xd7\xc5\x55\x21\x57\xa0\x85\x6c\xc7\xd8\xc7\x6d\xa4\xac\xd6\xf3\xb1\xcc\x3b\x71\xa5\xba\x00\x92\x53\xb4\xfa\xa9\xf8\xba\xc8\xe9\xad\x59\x87\x27\xb8\xc5\xce\xe4\x96\xa5\x01\xa5\x39\xf5\xf0\xbb\xc5\xfb\x5e\xb4\x79\xf0\x15\x3b\x62\x66\xba\xbe\xfd\xc7\xdb\x20\x54\xdc\x2c\x44\xa2\x45\xca\x10\x2b\x9b\xd0\xda\x00\xb3\x0e\xf1\xd4\xc2\x0b\x24\x90\x90\x77\xd4\x6d\xe5\x75\x66\xe7\x34\xf9\xc9\x0c\xce\xd3\xc0\x9d\xa7\x71\x29\xf8\x55\xd0\x2a\xa0\xb9\xcf\x50\x48\xee\x6d\x98\x99\x2e\x79\xf8\x08\xe1\x13\x23\x84\x6b\x5e\x4e\x05\x18\xc8\x3a\x76\x7c\xaa\x24\x77\xcd\x8b\x44\x74\x03\xff\xbd\xca\x88\x47\xe1\x88\xf5\xf1\x9e\x67\x4a\x81\x37\x67\x75\x80\x8a\xca\x7d\xcb\x9d\x77\x6c\x63\xe5\x9a\xaa\x3d\x57\x71\xb7\xe5\x9a\xb8\xd7\x78\x4b\xe0\xeb\xa4\x13\x19\x48\xaa\x57\xc3\x6e\x37\x42\xf5\x20\x6d\x3a\x2a\x9c\x2a\x4b\x07\xfc\x68\x5b\xdb\x2a\x17\x0a\xc9\xb4\xd1\xbd\xbe\x1d\xd4\xbb\xa0\xef\x7b\xb7\xed\x1b\xf8\x0d\x39\xc9\x37\x9f\x0f\x4a\x0a\xd4\x7a\x16\x10\xc3\xf5\xa3\xb0\x71\xff\x85\xb8\xc2\xa0\xee\xcd\xcf\x2a\xf3\x84\x39\x62\x9d\xcb\x4e\xc7\x1a\x86\xec\x57\x7b\x9d\xcd\x04\x26\xc4\xd5\x53\xff\x30\xd8\x32\x08\x6a\xe3\xbb\xfb\xef\xf8\xe0\xd7\x0f\xef\xf7\xb3\xcd\x6f\x42\x80\x4d\x0c\x60\x57\xc0\x07\x83\x6f\xdf\xef\x6f\x01\xeb\xa8\xb9\x0e\x35\x64\x1a\x31\x03\xf7\xb2\xa1\x01\x32\x72\x17\x40\x9f\xc1\x0e\x8e\xec\x4c\x3e\x3e\x6a\x3b\xfd\xd1\x99\xad\x7a\x7d\xc5\x78\xb4\x81\x1e\x56\x3a\xa6\x21\x83\x7d\x8f\x87\x85\x25\x85\xdd\x3f\x3e\xaa\x41\x47\x32\x68\x81\x4c\xa7\xb7\x01\xaa\xed\xd6\x00\x91\xf6\xa6\x6d\xb2\x24\x36\x36\xcd\xd4\x76\x34\x40\x1b\x89\x3e\xb8\x52\xe0\x98\x74\x76\xd8\xd2\x4d\x64\xe8\x23\x3c\x9b\x11\xbd\xe9\x0a\x8a\x0f\x5b\x45\x1d\x61\x06\x26\xc3\x12\x92\xf5\xc1\xe0\xdb\x0f\xef\xef\xef\x67\xd3\x5d\x66\xdc\x46\xdc\x86\xd8\xc6\x5c\x19\x19\xe8\xf0\x20\x46\x3c\x11\xe6\x41\xc7\x05\x6c\xb5\x3d\x06\xd8\x80\x1d\x56\x72\x27\xc5\x4a\x8a\x40\x55\x73\xd8\x67\x87\x3d\x00\x7c\xd3\xa9\x14\xe6\xb5\x33\xed\x36\x2c\xf8\xe0\xc6\x1c\x38\x3e\x98\xbc\xbf\xbf\x3f\xcd\x7a\x35\x77\xb4\x4d\x7d\x2f\xd3\xfb\xfb\xd3\x5e\xb3\x92\xc4\x5c\x79\x39\xa4\x37\x4c\xe5\x72\x9c\x0b\xf6\xf7\xa5\xf4\x2c\x30\x34\x88\x54\xd5\x5e\xae\x3c\x84\xcc\x0a\x6d\x75\x63\x70\x57\xf3\x1c\xa1\x04\xcf\x76\xc6\xce\x61\x20\x03\x2c\x1a\x41\x61\x10\xc0\x98\x92\x79\x88\x94\xe5\x99\x16\x25\xcf\xf3\x75\xbf\x32\x25\x68\xb8\x28\x25\xd8\x0d\x04\x44\x07\xb8\xd7\xed\xc5\xcb\x27\x2f\xbb\xe5\x34\x2b\x52\xde\x1b\xb1\x37\xbc\xcc\xc0\xcc\x82\x0e\xe6\x32\x77\x61\x50\xa1\xa5\xe4\x15\x1e\x3a\xae\xc5\x47\xb6\x70\x9f\xc3\x16\x56\x2d\x89\xab\x39\xae\x21\x6b\x50\x5d\x66\xf4\xd0\xa6\xde\x5b\x1f\xca\x6d\xb7\x06\xf0\x41\xa1\x96\xb9\xf6\x0a\x4f\xf3\x1d\x0e\x7a\x64\xd9\xa0\x75\xd8\xc4\xaf\x3f\x83\x8b\xc4\x50\xac\xff\xfb\xb2\xd3\x69\x3b\x7b\x34\xb6\x65\x01\x74\xee\x6a\x2c\xd5\xcd\x86\x1d\x81\x52\xf2\x4c\x4c\x4f\x6f\x16\xdd\xce\xbb\xcb\xcb\xcb\x4b\x73\xc3\xe2\x60\xf7\x59\x07\x0a\xa3\x4c\x09\xce\x6d\x1e\xd2\xa5\x18\xe6\x5c\xe9\xa7\x45\x2a\x6e\x9c\x34\x24\x55\xe8\x6f\x21\x20\xce\xba\x1b\xc0\xe8\xb5\x8b\x8f\xaf\x0b\x32\x27\x05\x17\x3a\x91\x96\x13\x1c\x09\xbb\xf7\x8f\x1a\xce\xac\x61\xc5\x76\x12\xfd\x78\x76\x03\x76\xd8\x28\x7a\x56\x1a\xb9\x65\x07\xed\xfd\x46\x1d\xb9\x8d\x8a\xc4\x82\xcb\xaa\xbb\x6d\xf5\x66\xab\xcd\x1a\x68\x08\x83\x65\xfc\xd3\x3d\x91\x85\xce\x0a\x5b\xd3\xfe\x63\xd3\xe0\x46\x02\xd9\x34\x7a\x65\x18\x24\xb4\x0d\xd3\x6a\x1d\x32\x18\x01\x46\xdf\x61\x81\xb6\x82\xf6\x32\xd7\x95\x78\xf2\x5b\x6f\x34\x5c\x7c\x31\xd3\x2b\x88\x7b\xa0\x49\x06\x32\xf9\x35\xe9\xf5\x59\x97\x0c\xf1\x21\x9f\x43\x33\xac\x69\x0e\x2e\x79\x81\x75\xe0\xf8\x87\x8b\xd3\x33\x8a\x48\xe5\x10\x20\x03\x39\xfd\x72\xae\x66\xc3\x5e\x55\x09\xb7\x2b\x6f\xa0\x20\xa8\x46\xde\x30\x07\x4f\x6e\xc4\x65\x67\xaf\x33\x32\xff\x41\x9f\x7e\xb3\xb7\x23\xf8\xaf\xfd\xfb\x12\xfe\xbe\xb4\x7f\x73\xf8\xf3\xe6\xe0\x6b\xfb\xc5\x98\xbe\xf8\xc6\x7e\x21\x3a\x94\x4e\xcb\x7e\x31\xa1\x16\x89\xfd\xa2\xa0\x2f\xb8\xfd\xa2\xa4\x2f\x52\xfb\x85\xa6\x2f\xbe\xb5\x5f\x5c\xd3\x17\x0e\xe8\x4d\x67\x54\x5d\x99\x95\x00\xaf\xad\x96\xaa\xf5\xf2\x7f\xff\x8f\x07\x1f\xf1\xf6\x8f\xc8\xa6\x29\xb3\x92\xbb\x1d\x01\x6a\x9f\x1d\x7e\xd5\xb3\x2f\x5b\x9a\xc9\xf2\xf7\xcd\xe4\xcb\x4f\x30\x13\xa7\xf7\x0c\x42\x4b\x92\x19\x64\x88\xe4\x0b\x73\x54\xe7\x7c\x51\x7b\x52\x61\xa3\x5e\xab\x70\x65\x9f\x44\x48\xf1\x23\x6f\x38\x4a\x66\x9e\xaf\xdb\x15\xce\xf9\xe2\x1d\xfd\xf8\xfe\x51\xcb\x3d\x00\x27\x7a\xbd\x10\x72\xc2\xbc\xf6\xc5\x62\x8e\xee\x19\x0b\x0f\x75\x8b\x09\xcf\x73\x74\x61\x0b\x85\x3a\x7a\xab\xd6\x44\x12\xef\x15\x65\xfd\x2b\x95\xe6\x25\xb8\x6d\xb4\x9e\xd4\xea\xcd\x8e\xd7\xd3\x47\x07\xe1\xd8\x7d\x8a\xdc\xce\x74\x68\xdd\x03\x07\x18\xb5\xe0\xc5\x90\xb1\xe7\xaf\xcf\x2f\x50\xe1\x4d\x9a\x76\x68\xba\x37\xcd\xe5\x98\xe7\x7b\x74\xfb\xb1\x49\xce\xa7\x77\xbb\xf1\x1b\x1c\xab\x16\xa1\x57\x15\x10\x80\xf5\xc9\xc3\x51\xdb\xf6\xd7\x08\xb6\x65\xc1\x73\x34\x0d\x8e\xd8\xf9\x82\x17\xde\x1d\xd8\x7a\xa6\x23\x0c\xba\xf7\x2c\xe0\xb6\xeb\xd6\x50\x04\x2f\xd7\xec\xc8\xb5\xac\x5d\xbb\x9e\x4c\x4d\xc3\xdf\x7e\x6b\x80\x39\x30\x30\xde\x1d\xbc\xb7\x22\xf2\x67\x7e\x90\xad\x0f\x01\xe7\xa1\x88\xf4\x6a\x71\xe3\x65\x13\x34\x11\x36\x0d\x7a\xd8\x46\xb7\xb4\x47\x38\xa9\xf8\x5a\x38\xc6\x96\x3b\x91\x96\xb5\x30\x27\x72\x09\xfe\xb4\xad\x1b\x4d\xc3\x87\x7b\x0c\x7d\x02\x6d\x10\x3c\x08\x8e\x10\x54\x6c\xe2\xdc\xf0\x84\xa8\x99\x3b\x63\x61\x95\x3c\x7e\x50\xa0\x63\xc7\x2c\xcf\x14\xc4\xe8\x41\x50\x15\x2b\x64\x31\x58\xcd\x32\x2d\x30\xdd\x6b\x44\xfc\xe4\x1c\x6c\xef\x52\x86\x6b\xf7\xc4\x7d\x2d\xb3\x74\x23\x69\x3b\xe5\x56\xd5\x5b\x08\x27\x13\x90\xf6\xfe\xa5\xda\x1f\x6a\xa1\xb4\xe7\x5f\xc1\x3b\x28\x16\x37\xf7\x2f\xd5\xfd\xfd\xe9\x1c\x53\x23\xb6\xd0\xac\xcd\x54\x65\x0d\xca\x01\xfa\xac\x74\x6c\x85\xc7\x48\x6e\x0c\x68\x29\x84\xed\xe9\x6c\xb7\xcd\xa0\x21\xaa\x4b\x8d\xa4\x9f\x61\x66\x20\xbf\x9c\x44\xad\x8e\x8e\xd8\xe0\xb0\xb7\x8b\x76\x56\x16\x60\x9c\x36\xa7\x21\xd8\xde\xfb\xac\xd3\x47\x07\x11\x38\x28\x91\x11\xc3\xb2\x78\x2f\x3d\xed\xea\x06\xf3\x21\xd4\xbf\xfd\x93\xbb\xc4\x38\x5f\xc1\x9c\x02\xa6\xc1\xeb\x31\xb4\xaf\xcb\x32\x56\x3e\xd6\x29\x3c\x40\x87\x91\xb7\x82\xa3\xf7\x3c\x8c\x02\xc2\xd8\x24\x30\x92\x83\xd3\x3d\x6a\xae\xc9\xbb\xd9\x85\x30\x06\x2f\x6a\x23\x8a\x96\x82\x2d\x17\x0b\x88\x3f\x32\xf3\x96\x36\x3b\x74\x21\xcb\x39\xcf\x21\x9a\xd5\xc6\x00\x66\xc5\x62\xa9\xc1\xb0\x3b\x06\xaf\xca\x69\x76\x4d\x2f\x74\xb6\x77\x72\x71\xf6\x6c\x70\xbc\x87\xf1\x45\x68\x4c\xa6\x3f\x20\x44\x94\xef\xa1\x17\x63\x9e\x83\xdb\xdd\x42\x8b\x34\xcc\xfa\x39\x62\x2f\x60\xee\x10\xd6\x9f\xf0\xa2\x90\x1a\x02\x71\x73\xbe\x40\xdb\xf0\x76\x7b\xd3\x46\xac\xc5\x06\x42\x14\x59\xa1\x3a\xe3\xc8\x45\xe2\xdc\x63\xcc\xac\x61\x64\x23\x72\x5c\xce\xcd\xb9\x2c\x18\xcf\x33\x0e\x79\x5b\x4e\x5e\xbe\xb8\x38\x7b\x19\xb5\x3a\x7e\x66\xa0\x40\xf8\xce\x3d\xc6\x9e\x9f\x5e\x1c\x8f\x6c\x18\x4f\xb0\x51\x3f\xbb\xd2\x45\xcb\x20\x2c\x62\xf3\x0e\xbd\x32\x2c\x0c\x13\x7f\x19\x1a\x9d\x4b\xa5\xf3\x35\xcb\xc5\x44\x33\xb9\xd4\x8e\x94\x81\xc1\x8e\x45\xc2\x97\xb6\x26\x96\xd9\xbf\xb9\xbc\x36\xbb\x6b\x08\x15\xdc\x2d\x6c\x26\x70\xe7\x33\x95\xcb\x84\xe7\x02\xb7\x93\xf2\x5a\xd8\x7c\x18\x45\xc5\x77\x85\xe5\xd9\x95\xa0\x6d\x3d\x3d\x3f\xd9\xeb\xbb\x74\x09\x89\x34\xdb\x46\x62\x91\x9d\x8b\x9c\x40\x60\x59\x80\x7e\xc6\x9e\x82\xeb\xbf\xf8\xfb\x32\xbb\xe6\xb9\xc0\x28\x5f\x04\xf8\xe0\xeb\x90\x6a\x0e\x6e\x0e\xc7\x7b\x7f\x10\x89\xda\xe9\x07\xc3\x9d\xaa\xc4\xfc\x49\x7f\x09\xf8\xab\x85\x4e\xdf\x0a\xcc\xd2\x61\x05\xb2\x24\x20\x8d\xa0\x22\x95\x2d\x79\x35\x64\x6c\x8f\xa0\xa7\xf0\x89\x2f\x04\x02\xa7\xcc\x4f\xae\xe1\x27\x39\x07\x91\x39\x7b\xf3\x59\x70\x86\xdd\x23\xeb\x3f\x7b\xe1\xeb\xec\x9c\x9e\x9f\x1c\xbf\x3a\x1d\xb1\x07\x5f\xf7\xf1\x2f\xfb\xf1\x87\xc3\x11\x3b\x3c\x7c\x00\x1f\x1f\x98\x8f\x5f\xc0\xc7\x2f\xcc\xc7\x2f\xe1\xe3\x97\xe6\xe3\x43\xf8\xf8\xd0\x7c\xfc\x0a\x3e\x7e\x65\x3e\x22\x84\xaf\xcd\xc7\x6f\xe0\xe3\x37\xe6\xe3\xb7\xf0\xf1\xdb\x11\x3b\x7c\x70\x80\x43\x1c\x98\xcf\x87\xf8\xd9\x8c\xf7\x00\xc7\x3b\x34\x03\x3e\xf8\xa2\x4f\x29\x31\xce\xcc\x1d\xb5\x92\x66\xba\x2f\x5f\x9c\x8e\xd8\x97\x00\xe8\xe2\xed\xcb\x11\x7b\x08\x80\x2e\x7e\x3a\x3b\x3d\x1d\xb1\x87\x08\xe9\xe5\xeb\xb3\x11\x7b\x88\x90\x9e\xbe\x31\xdf\xc3\xd4\xcf\x9f\xfe\x32\x62\x0f\x61\xea\xe7\xa7\x6f\x4e\x5f\x8c\xd8\x43\x98\xfc\xe9\xd3\x1f\x7f\xba\x18\xb1\x87\x30\xfd\x17\x4f\xcd\x00\x0f\x61\xfe\xff\x79\x7a\xf6\x72\xc4\xbe\x84\x05\x3c\x3e\x3e\xf9\xf9\xfc\xd5\xf1\xc9\xe9\x88\xe1\xdf\x3f\x9f\xbf\xb2\x1f\xcf\xe1\x43\x30\xd5\x59\x29\x20\xf9\xdf\xc5\xf1\xe3\x11\x83\xb9\xfe\xbf\x23\xf6\x0d\x4c\xee\xed\x88\x7d\x83\x98\x1e\xb1\xaf\xe0\xa7\xb3\x11\xfb\x06\xe6\x7a\x31\x62\xdf\xc0\xec\xfe\x63\xc4\xbe\x81\x9f\x5e\x8f\xd8\x37\x30\xc5\xa7\x23\xf6\x35\xac\xe1\xe5\x88\x7d\x0d\x3f\x99\xc1\x0f\xc2\x41\x27\x72\x09\xf9\x7f\x4f\x8e\x5f\x9d\x7f\x78\xf6\xf2\xe4\xe7\x11\x43\x24\x9b\x2f\xaa\x7f\xdb\xcf\xc7\x23\xf6\x15\x0c\x60\x96\x00\x03\x3c\x19\xb1\xaf\x70\xc7\x46\xec\x6b\x68\xf3\xe3\x88\x7d\x0d\x53\xff\x69\xc4\xbe\x86\x89\xfe\x3f\x23\xf6\x35\x4c\xf4\xe7\x11\xfb\x1a\xba\x3f\x1b\xb1\xaf\xbf\x22\x0e\xfa\x56\xc0\xe3\x51\x14\xe0\xbf\x58\xa4\xde\x5e\x38\x15\xe0\x5c\x24\xae\xa1\x90\x2f\x84\x20\x62\x2b\x52\x77\x50\x42\xe6\xb1\x60\x87\x07\x08\xcb\x32\x39\xc3\x09\xd9\x42\xc8\x45\x2e\x28\x31\x34\x14\x4c\x90\x86\x43\x98\xd3\x3b\x36\xec\x11\xbc\xf1\x33\xa5\x65\xb9\x86\xf3\x34\x64\xec\x55\xbe\x54\x34\x2d\x00\x61\x79\xa1\xda\x5f\x94\x72\x5a\xf2\x39\x64\x90\xb6\x19\x5f\x69\x7e\x3c\x2f\x05\x4f\xcd\x79\xc6\xc4\x34\x6b\x3b\x31\x8c\x67\x03\xb7\x71\x89\xc9\xcb\xa0\x23\x66\x9f\x10\x85\xce\xd7\x7d\xcf\x8e\x81\x75\x10\x83\x66\x10\x39\x9c\x25\xf4\x3a\x35\xbb\xff\xe2\xe2\xf4\x6c\xc4\xf0\x4c\x9d\xbe\xb8\xb0\x1f\xcf\x4e\x2f\x5e\x9f\xbd\x08\xfe\xc2\x8f\xc1\x36\x67\xe0\x01\xc6\xfe\x73\xc4\xbe\x85\xed\xf9\x65\xc4\xbe\x81\x0d\x3b\x19\xb1\xaf\x80\xb2\xde\x8c\xd8\x37\xb0\x19\x8f\x47\xec\x2b\x24\xea\x11\xfb\x1a\xda\x3c\x1f\xb1\xaf\xbf\xb6\xe0\x4e\x75\x62\x20\x11\x55\x7f\x01\x5b\x6b\x88\x1a\x3f\xbd\x3a\x7b\xfa\xe2\xe2\xc3\xf9\xc9\xd9\xa9\x39\x29\x5f\xd2\x77\x17\x86\x3f\xe0\x1f\xe7\x27\x67\x2f\x9f\x3d\x23\x52\x3b\xfc\xf2\x21\x7d\xf7\xcc\xff\x05\xc5\x40\x47\x0c\x8f\xfd\xe3\x33\xf7\x11\xab\x78\x8e\x18\xb6\x7a\xfa\xe2\xdc\x7e\xfc\xe9\xe5\x73\x33\x13\x98\xf3\xab\xe3\x1f\x4f\x3f\xbc\x36\xd3\x01\x54\xbc\xfa\xd1\x7f\x7e\x72\xfa\xec\xf4\xc2\xb0\x81\xaf\xe8\x2f\xfb\xf1\xf4\xc5\x93\x11\xfb\xe2\xa1\xeb\xfe\xe4\xe5\xdb\x17\x23\xf6\xc5\x97\x08\xa0\xf2\x97\xfb\x0c\x80\x01\x3d\xd8\xe2\x4b\xc0\xeb\x19\x72\x85\x2f\x60\xc6\xcf\x4e\x8d\xe4\xf0\x05\xa0\x97\x2a\x27\x9a\x55\x7e\x69\x51\x89\x75\x08\xcd\x89\x78\x75\x30\x62\xdf\xc2\x64\x7e\x7e\x75\x38\x62\xdf\x7e\x8d\x1f\x1f\x8c\xd8\xb7\xdf\xe0\xc7\x2f\x46\xec\xdb\x6f\xf1\xa3\x61\xa0\x07\x07\xf8\xd9\x70\xd0\x83\x43\xfc\x6c\x58\xe8\xc1\x03\xfc\x6c\x78\xe8\xc1\x17\xf8\xd9\x30\xd1\x03\x3c\x79\xaf\x0c\x17\x3d\x78\x88\x9f\x3f\xbc\x7a\xf6\xfa\xdc\xfc\x4d\xa3\x7d\x38\x7e\xf2\x24\xfc\xf3\xf9\xd3\x17\xf8\x3b\x8d\xfb\xe1\xfc\xf5\xe3\x8b\xb3\xe3\x93\x8b\xe8\xbb\x8b\x63\x43\x91\x07\x5f\xd9\x4e\xaf\x9f\x5d\x3c\x7d\xf5\xec\x3f\xc2\xef\x9e\x3c\x7d\xf3\xf4\xc9\xa9\x61\xe5\x87\xf6\x9b\xd3\x93\xa7\xcf\x8f\x9f\x99\xaf\x0e\xec\x64\x4e\xcf\x9e\xbe\x7c\x42\xdf\xdc\xab\x94\x7a\x9b\x8b\x34\x03\x59\x43\x19\x54\x1e\xbf\x79\xfa\xe3\xf1\xc5\xe9\x07\xc3\x5d\x47\xec\x90\xa8\xd5\x7e\xfb\xc3\xcb\xb3\xb7\xc7\x67\x06\x12\x12\x36\x16\x5a\x33\x7f\x22\x87\x7a\xfd\xec\x99\x23\xd0\x43\x64\x5f\x6f\x9f\xbe\x78\xf2\xf2\xed\x87\x97\x6f\x4e\xcf\xde\x3c\x3d\x7d\x6b\xbe\x7f\x80\xd4\x67\xb6\xf3\xc5\xe9\xf9\x39\xd0\xd4\x03\xbc\xab\x82\x6f\x71\xeb\x1f\x1c\x7e\x1d\xca\x70\x4f\x03\x31\x9c\x7c\xd0\xcd\x1b\xc0\xdb\xfa\xb7\xdd\xbc\xd6\x83\xe1\x28\x76\x41\x7f\x55\xda\x42\x31\x3e\xe3\x8c\xe1\x94\x3e\xe0\x4a\xad\x95\x16\x73\x94\xb3\x20\xed\x93\x55\x1e\x41\x47\xef\xfe\x8d\x89\x1f\x46\x5b\x53\x43\xf4\x23\x9f\xf3\xb7\x3c\xd3\x94\x41\x7e\xef\x4a\xac\x21\x39\xcb\x1e\x82\xee\xfb\x54\x2c\xf6\x17\x66\x33\xc4\x57\x92\x62\xd3\x14\x28\x6b\xd0\xa6\x39\xd8\xda\x6d\xd1\x24\x9e\x55\xb2\x5b\x61\x6e\xc1\x78\xfd\x94\xf1\x8a\x66\xe3\xc7\x7c\x75\x7c\x7e\xbe\x69\x40\x28\x63\x1a\x8d\x76\xee\xcb\x65\xd8\x98\x1f\x78\xe1\x2e\xf8\xd4\x08\x9b\x1e\x74\x58\x7f\x28\xd0\xcf\xda\x4e\xce\x09\xb3\xbd\x5e\xd1\xed\xd2\xc3\xdc\x62\x9a\xa9\x5c\x15\x4d\x13\x7d\x22\x57\xc5\xed\xa6\x7a\xd7\x32\x1b\xdb\x27\x4b\x24\xa2\x65\x0d\xa5\x17\xf2\x42\xde\x02\xa3\xae\x46\xd6\x1f\x34\xc3\xb1\xd4\x9a\x12\x09\x45\x93\x7c\x0c\xdf\xff\xc9\xf3\xf4\x05\x43\xdc\x34\x21\xe9\x6c\x43\x6d\x10\x9a\x2e\x66\x74\x73\xbf\xef\x32\xdf\x7a\xe1\x8f\x5b\x26\x32\xda\x41\x9b\xe3\x92\xb3\x7d\xa0\xca\x89\xff\xec\xe1\xb5\x41\x80\x93\xf9\x38\xe9\xf4\x19\x7c\x38\xd7\xb2\xe4\x53\x11\xc6\x36\xbd\x72\x8b\x7f\x8e\x6b\x67\x6a\x39\xc6\x90\x44\x40\x86\xe1\x6b\xa8\x15\x67\x2f\xf8\xf9\xf9\x4f\x41\x2a\xbb\x40\x47\x83\x19\xdc\x49\x27\x9c\x53\xda\x47\x5e\x30\x59\xa6\xa2\x04\x5f\x05\xd4\xae\xa2\x8d\x25\x91\x45\x41\x69\x27\x17\xa5\x34\x4b\x88\xaf\xa4\xda\x94\x42\xfd\x3f\x76\x78\x4a\x69\x09\xcc\xaa\x6a\xed\xbd\x25\xa5\x4f\x44\x42\xd1\xa2\xb4\xfe\x7a\x8a\xd5\xe8\x5f\x07\xe9\x62\xdf\xce\x6d\x1f\x74\xeb\x6e\x5c\xab\xfa\x4f\xc5\x44\x79\xc7\xd7\xda\x1c\x68\x48\xff\x03\xd8\x0c\x30\xa8\xc0\x3c\x6e\x55\xd7\x00\xe8\xd5\x53\x2e\x5c\x55\x2a\x0f\x61\x58\x8d\x87\x63\x1a\xf4\x61\xf4\x77\x57\x62\xfd\xfe\xdd\xe1\xfb\x5e\x4b\x26\x98\xb6\xa9\x25\x5c\x8b\xa9\x84\xd0\x66\xd4\xd3\x6d\x6f\xe8\x8e\x19\x3b\x62\x1d\xfb\xb9\xb3\x53\xcf\xe3\xc5\x42\xf0\x92\x74\xfc\x1d\xff\xd7\x6e\xbd\xcd\x19\xb4\xb1\x8c\x1d\xf7\xc7\x6e\x7d\xcf\xcd\x89\x31\x6b\xec\xe0\xa7\x1d\x7b\x01\x7f\x42\x4f\x93\x8e\xfb\x63\xb7\xbe\xa7\x45\x22\x53\xea\x6a\x3f\xef\xd6\xf3\x79\xa6\x12\x91\xe7\xbc\x10\x72\x09\x53\x8e\xbe\x08\x54\xb4\xcf\xe8\x28\xf9\xbe\x7d\x77\xcc\xc6\x6b\x96\x66\x6a\x91\xf3\x35\x7e\xc5\xba\x5a\x2e\xe0\xdd\x07\xf7\x43\x6f\xd3\x21\xb3\x93\x59\x3f\x71\x9e\xc4\x36\x0d\xd0\x3f\x58\x96\x8e\x5a\x09\xbd\x71\xab\xfb\xc4\xc5\x6f\xf4\x28\xdc\x73\xd6\x9d\xc8\x42\xab\x3e\x4b\x64\x2e\x4b\xd5\x67\xd9\x9c\x4f\x85\xea\x75\xc0\xbc\xbc\xf3\x38\x8e\x0e\xa2\x61\xb0\x36\x02\x43\x02\xb9\x1d\x40\xbb\x57\x11\x3c\xb7\x81\xb7\x83\x65\x4f\x47\x04\xcb\x1d\x99\xdb\xc1\x72\xe4\x17\x01\xf3\x44\x79\x4b\x68\x70\x0a\x62\x50\x78\x30\x6e\x07\x27\x22\xcd\x08\x9c\xf9\x65\xd8\xf9\x08\x99\xa1\x5a\x09\xad\xce\x19\xe9\xa9\xd1\xe1\xb9\x1e\x4c\xcb\xc1\x5c\xa6\xa2\x33\xba\xc7\xd8\xbb\xdb\xa0\x1b\x9c\xd6\x61\x36\xef\xe0\x13\xeb\x14\xb2\x10\x36\x79\xd5\x80\x32\x57\xe5\x62\xa2\xed\x67\xb8\xaf\xe1\x0f\x2c\xee\xdc\xc1\x74\xb1\xe6\xe2\x3a\xce\xf5\x8f\x86\xc5\x6b\xba\xa7\x66\x3c\xb9\xfa\xeb\xdb\x99\x58\x96\x99\xd2\x59\x32\xbc\x2c\xc8\x8e\xd4\x09\x3e\x75\xcc\xb8\x97\x9d\x91\x91\x0a\x24\xf6\xf5\x1a\xed\x82\x5f\x67\x53\xae\x65\x39\xcc\x79\x31\x5d\xf2\xa9\x18\xf9\xae\x78\xf1\x5c\x76\x44\x31\x58\xaa\xcb\x0e\x3b\xfa\x9e\x5d\xc2\xf4\x2f\x3b\x7d\x8c\x4c\x80\x6f\xdc\x84\x2f\xe3\x61\xa1\xe1\x88\x3d\xc9\x14\x26\x4d\x28\xd6\xb4\x80\x52\xe4\xe0\xee\x33\x5f\x16\xe6\x26\x0f\xa7\xed\xb0\x02\x13\x56\x6a\x39\xc7\x90\xb8\xfb\xc7\xb9\xa6\x94\x6c\x00\x23\xea\x63\xb1\x17\xf4\x01\x45\xff\xa6\x3e\xc1\xa4\x5d\x27\x94\xaa\x1a\x7a\x61\xa5\xf5\x4e\x54\x20\x74\x90\xa9\x41\x5c\xfb\xf3\x0e\xc4\x41\xa9\xea\x3a\x63\x29\xd1\x20\xc2\x3a\x4f\x27\x4c\x09\xdd\x67\xcb\x22\x95\x14\xce\xed\x9f\xfc\xc7\xb9\x1e\xb8\x7a\x9f\x83\xef\x9f\x9c\x3e\x63\xa5\x98\xf3\x85\xcf\x2d\x66\x57\x18\xcd\x95\x65\x45\x2a\x44\x8a\x45\x4d\xc2\x22\xa7\xe1\xca\x68\x3d\x9f\x66\x15\xe7\x42\xb3\xd5\x4c\xb8\xe4\xf7\xb6\x5e\x2b\x4f\xb4\xc2\x04\x1e\x66\x2c\xf8\xca\xbc\x9d\xcd\x17\xa9\xa1\xe1\x22\xd1\xb6\x6d\x34\x39\xf3\x92\x56\x83\xd5\x8c\xeb\x3b\xcc\xaf\x83\xee\x33\x38\xb5\x77\xee\x2f\xd6\xf9\x66\x30\xce\xe0\xcc\xd1\xc3\x79\x70\x25\xd6\xf6\xd4\x9d\xd8\x74\xac\xb3\x7a\xc9\x5a\x7c\x4b\xa7\x8d\xe7\x8d\x91\xb3\xce\x10\xff\xb1\x73\x48\x3e\x5e\x80\xc5\xc7\x48\xa9\xd9\xcd\x30\x6c\x0c\x53\x18\xda\xc6\xc7\x69\xca\x0e\x1f\x7c\x63\x1f\x56\xcb\x02\x0c\x6c\x22\x0d\xc3\xd8\x95\xab\xcb\x17\x01\x0a\x96\x30\x1c\x7a\xb5\x44\xa4\x7d\x40\x55\x09\xd6\xe0\xa0\x54\x24\xa1\xda\xa0\x7a\xf2\xfd\x3f\xc5\xd7\x6a\xc8\x58\x17\x64\xea\x95\x2c\x2e\x3b\x1a\x2a\xec\x60\xbc\xab\x91\x98\x73\xae\x27\xb2\x9c\x53\x91\x1d\x00\xdb\x0e\xce\x0e\x48\x89\xcc\x60\xf7\xe3\xea\x08\x66\xea\x90\xc4\xd8\x60\xdd\x1b\xf7\x7a\x9d\x7b\x8c\x59\xb2\x58\xa6\xd9\x38\x17\x83\xb1\xc8\xf3\x81\x32\x37\xc6\xce\xa4\x41\x57\x0e\x3c\x3f\x06\xa5\xc0\x17\xd0\x08\xe5\x6b\x03\x56\xee\x1b\xa0\x44\xca\xcb\xd2\x7e\x7a\x7d\xf6\xcc\xc6\x98\xbb\xb7\xa5\x69\xc8\x60\xf4\x21\x63\xa7\xf3\x85\x5e\x5b\x2f\x46\xb3\x84\x42\x32\x9a\x26\x34\x74\x24\x9d\x0a\x75\xa5\xe5\x62\x50\x48\xed\x32\x34\xc3\x42\x6e\xbd\x84\x66\x0e\x82\x89\x30\xa3\x49\x2a\xfb\x48\x33\xa7\x7f\x8a\xb9\x52\xc0\x27\x3b\x01\xcf\x6d\xc6\xd9\x5b\x31\x76\xec\xe3\x45\x30\xb1\x21\xa4\xcc\x51\x94\x33\x67\xf5\xc5\x50\x96\xd3\xfd\x8b\xb3\xfd\x70\xf2\x6a\x3f\x3a\x0b\xf8\xe1\x09\x4a\x7d\x06\x19\x51\x5b\x56\x8a\xbf\x2f\xb3\x52\x28\x43\x00\xf3\x4c\x29\xd8\x71\xeb\x1e\xb6\x84\x2a\x01\x6f\x67\x82\x32\xd1\x58\xb0\x18\x89\x6e\x8e\x9f\x12\x60\x02\xc5\x45\x02\xae\x28\x17\xbd\xd6\x62\xbe\x80\xdf\xb8\xba\xf2\x86\x4d\xb3\x13\xc1\x48\x16\x60\x36\x61\x85\x48\x84\x52\xbc\x5c\x0f\xb1\x80\xa6\xad\xa9\xc2\xe6\x7c\x0d\x69\x82\xd5\x8c\x7c\x3a\x42\x00\x66\xfa\x42\x69\x2a\x74\x62\xc1\xa5\xe0\xa1\xa3\x19\xe6\x93\x31\x28\x0d\xab\x4c\x23\x5d\x37\x72\x0c\x62\xef\xe2\x46\x8b\x42\x61\xa1\x2a\x2a\x72\xc3\xf6\x22\xbc\xed\x85\x93\x80\x5c\x91\xc1\xdf\x5a\x06\x33\x41\x69\x3b\xea\xec\x68\xcf\xef\xff\x00\xe4\xdd\x9d\x49\x2e\x90\xa3\x59\xa7\x9c\x8e\xbb\x87\x5f\xf5\x19\xfe\x7f\x0f\x04\x1a\x80\x86\x34\x78\x11\x13\x1a\xfc\x84\xfc\x48\xdc\x50\xc8\x7a\x21\x29\x42\x1e\x7f\xf4\x39\x88\x9a\x66\x0a\x12\xf9\xdd\x66\x6a\xa6\x66\xc3\x76\x10\xdf\xe7\xe7\xe4\xe3\x48\x87\x39\x98\x28\x8c\xd3\x72\x92\xf1\xb7\xa6\x1d\x0c\x93\x22\x84\x5c\x6f\x59\xe6\x5d\x7b\x76\xa6\x52\x0e\xa7\xf9\x3e\x2f\x44\x7a\xf1\x73\x2f\x6c\x95\x67\x85\xe0\xe5\x60\x5a\xf2\x34\x13\x85\x86\xd7\x11\x3e\x8d\xfa\x6c\x0c\x6e\xa6\xa5\x48\x7b\x0d\x48\x51\xd9\xaf\x7f\x1a\x4e\x20\xff\xf2\x90\xb1\x27\x36\xb1\x96\x96\xcc\x48\x78\x4d\x9b\x65\xbd\xef\xfe\xb4\xb9\x39\x77\xbf\xdb\x6c\xce\xe1\xc1\xbf\x9a\xff\x0f\xbf\x4a\xc0\x86\x1a\xae\x08\x05\x2d\x94\x3e\x3e\xbd\xa0\x47\x6c\x9a\x96\x84\xa2\x1a\x19\x70\xc1\x74\xf0\xf8\x9c\x75\x2f\x3b\x97\x97\x37\x07\xdf\x18\x91\x9b\x5f\x71\xf6\xd7\x9f\x7a\x43\x16\x14\xb6\xb0\x93\x8f\x81\x80\x03\x4a\x00\x08\x80\x7c\x3d\xb9\xec\xb8\xed\x72\x02\xc5\x60\xce\x17\x03\x9b\xb8\x5f\xdd\x69\xcb\xe8\x61\x03\x7b\x64\x7d\xc3\xad\xf6\xcd\xa7\x16\x81\xac\x18\x94\xb4\x62\x48\x3e\x2d\x9c\xa9\x05\x7a\xf5\x97\x25\x5f\xf7\x49\x78\x10\x3c\x99\x99\xed\x40\x97\xb8\x8e\xcb\x24\x49\xe5\x18\xbd\x2c\x64\x2e\x02\xd0\x5b\xda\x94\xfb\x14\x08\x1b\x8c\x44\x29\x37\xdc\x35\xc2\x3a\xf1\x98\x2c\xd3\x4a\xe4\x93\x21\x56\xa5\xe1\xba\x32\x21\x98\x4a\x75\x02\x0e\x54\x29\x12\x91\x5d\xc7\xe2\x59\x75\x26\x90\xa8\x05\x19\x72\xd8\xd0\x93\x6a\x40\xab\x2d\xc4\x6a\x70\xf1\x8f\xbd\x83\xbd\xd1\x3f\xf6\xee\xef\x8d\xf6\x2e\x2f\x97\x0f\x0e\xbf\x7d\xb0\xd7\xdf\xeb\xbb\xbf\x0e\xf6\xfa\x7b\x03\xf7\xd7\xe1\x5e\x7f\x6f\xe8\xfe\xfa\x62\xaf\xef\xa7\x6c\xc0\xc0\xf7\x0f\xbf\xf9\x66\xef\xe3\xc7\x40\x9e\x82\x2a\x4e\x03\x59\x0c\xc4\x4d\xb6\xbb\x94\x1d\xbf\xba\x89\xa2\x43\x32\x7f\x4b\xaf\x00\xe0\xa1\x70\x37\xc3\x40\x80\x17\xaa\x7a\xb5\xc2\xbb\xde\xd5\x0a\x61\x66\x06\xfe\x1a\xc0\xac\x66\x83\x71\x9e\x15\x57\x77\xa2\xcf\x86\xc3\x57\x9f\x15\x80\xb7\x4e\xc4\x4a\x96\x41\x3a\xbf\xc6\x99\x0c\x92\x75\x92\xdf\x8d\xfd\xbe\x3b\x3c\x38\x38\xe8\xb3\x87\x07\x07\xef\xe3\x63\xd3\xb9\x08\x86\x87\xf9\x94\x46\x8e\xc8\x0a\x36\xcf\xf2\x3c\x53\x22\x91\x45\xaa\x1a\xb9\xdc\x31\xd3\x2b\xc9\x04\x26\xa8\xb4\xd4\xeb\x03\x5d\xe4\x84\xf2\x52\x66\xf8\xa0\xc9\xa5\xf5\xa0\xc7\xd1\x7c\x96\x21\x27\x6e\x41\x29\x20\x33\x60\xd4\x27\xd3\x41\x5b\x39\x99\x54\x71\xf3\xfb\x44\x0a\xde\x7d\xf0\xf0\x61\x9f\x1d\xe0\xff\x0d\x1f\xf6\x08\x2f\x55\xd1\x02\x45\x06\xba\x0e\xae\x29\x5f\x1e\xce\xc0\x4f\xc8\xb4\x19\x2c\x78\x2e\xb4\x16\x9f\x9c\xc3\x75\x5e\xda\x5a\x27\xa8\x34\xb4\xd2\xb5\x7d\xc7\xd0\xb8\x8d\x7b\x15\xd6\x35\xac\xf2\x47\x64\x4a\x98\x48\xca\xf2\x4a\xf6\x74\x52\x6b\xe7\xb6\x89\x72\x85\x22\x3b\x05\x3d\x46\x4a\xa9\xca\x37\x30\x57\xc7\xd1\x9c\x2c\x6c\x78\xb1\x75\xad\x01\x67\x67\x2c\xf0\xa7\x1d\xb2\x37\x2d\x08\x72\x8b\xb4\x2c\x29\x07\x6f\x21\x5e\xac\x59\xa2\x14\xc1\x42\xdf\x1d\xca\x76\xea\xa6\x40\x69\x91\xd8\xbf\x9c\xfd\xf8\xb8\xcf\xfe\xe5\xec\xec\xc7\x1f\x1f\x3f\xee\x33\x23\x69\x0e\x87\xc3\x1e\x7c\xe2\xf4\x11\xea\x7e\x19\x98\x00\x0f\x9d\x77\xfd\x55\xc8\x35\x79\x22\x2a\xc9\x16\xbc\xd4\x96\x52\x94\x96\xc9\x15\xfb\xe5\xf0\xd0\x80\x1a\xea\x1b\x8d\x96\xaa\xa6\x25\xfd\x87\x5c\xc2\x7a\x96\x4a\x30\xab\x42\xc3\x18\x13\xb3\xb8\xb5\xcf\x9e\x65\x37\x1c\x19\xbe\x3f\x1b\x86\xad\x58\x60\x63\x41\x85\x6f\x52\xbb\xe8\xcc\xf9\xb2\xc2\x4b\xf7\x2a\x5b\x2c\x20\xb5\x29\x53\x73\x9e\xe7\x0c\xe3\x14\xc0\xd9\xb9\x48\xb3\x24\x58\x9c\xe3\x95\xee\x82\x69\xa4\xa0\xe0\x14\x2c\xd6\x86\xa9\x63\x81\xaf\x9d\x89\xdf\xeb\xb2\x1b\x58\xfa\xf1\x52\xcb\x39\xd7\x59\x02\xae\x5c\x58\x83\x57\x82\xad\xcf\x15\x6e\xb3\xa4\x63\x0b\xd1\xba\xf9\x2c\x95\x18\x10\xca\x06\xc8\xfe\x07\x50\x71\xf7\x0e\x13\xdb\xc0\xd6\xb5\xf7\x17\xb3\xfb\x43\x77\x0d\x96\x87\xa6\x0a\x93\x0e\x49\xb9\x11\xc0\xdd\xec\x07\x90\xab\xe4\xce\xf3\x6a\xbf\x03\xe1\xf2\xb3\xe6\x69\x8f\x2c\x4c\x8d\x62\x86\xcb\x8a\xa9\xdf\x39\x5d\xe6\x83\x45\xbe\x54\x83\x79\x56\x2c\xd5\xe0\x57\x51\xca\xc1\xaf\x52\xce\xef\x20\x7e\xd6\xa7\xe4\xa4\x4f\x70\xde\x7d\x95\x2f\xd5\x3e\xd4\x3d\xda\xff\x4f\x51\xca\xb8\x16\x51\x70\x3e\x9e\x4e\x2c\xd6\x83\xc4\x68\x1b\x3b\x53\x4b\xf8\x19\x64\x51\xc5\xfe\xfa\xc1\xc9\x23\x1d\x3f\x3a\x74\x0d\xea\x8f\x46\x68\x48\x6e\xb7\x19\x1b\xe5\x6e\x50\x27\x9f\x18\x74\x67\x42\x41\x26\x6f\xc0\x83\x2d\x39\xad\x25\x38\xe5\x98\x1f\xa0\x73\xb0\x7a\xe8\x09\x6b\xbe\x7f\x62\xd7\x12\x75\x40\x48\x1e\x32\x02\x88\x56\x62\xab\xd5\x7e\xba\xa5\xbc\xc1\x42\x6b\xb5\xa5\xbc\xd9\x71\x29\x6f\xec\x52\xde\xd4\x97\xe2\x21\xc7\x4b\x11\x5c\xe9\x01\x57\x19\x2f\x06\x7c\x3e\xce\xa6\x4b\xb9\x54\x03\xae\x06\x7a\x25\x8d\x04\xb0\x9c\xef\xfe\xf6\xdb\x59\x8d\x7c\xca\x95\x66\xc7\x66\x4c\x76\x6c\xc7\x0c\x63\xa0\xb0\xa4\xe0\xca\xd0\x9f\x99\x00\x83\x62\xa2\x7e\xc6\x90\xb9\x79\x00\xea\xd6\x01\x51\xe8\xa7\x99\x23\xd4\x73\xd0\xd2\xe6\x86\x86\x11\x7c\xed\x2d\x37\x3f\x5b\x57\x46\x4b\x5b\xef\x41\xcf\xc4\xbc\xf1\xee\x79\x2b\x2e\x3b\x79\xce\x4a\xa1\x16\xf8\x82\x81\x75\x0d\xc6\x6b\x2d\xd8\xb5\x28\x95\x0d\x84\xd1\xe0\xe2\x5f\x1f\xca\x9d\xae\x52\x4c\x79\x99\xe6\x42\x29\xef\xed\x81\xf5\x76\xab\x78\x19\xcb\x7c\x77\xf5\x69\x83\x64\xa4\xcb\x4c\x69\xae\x45\x88\x93\xa8\xc6\x85\x61\xc7\x66\x10\xb6\xc2\x62\x72\x50\xf0\x2d\x56\x08\xa1\x2b\x51\x9e\xee\x8f\xd1\x10\xe3\x4c\x19\x56\x33\x34\x64\xec\x07\x8b\x43\xe7\x0e\x0c\x71\x0c\x21\xd4\x21\x63\x2f\x96\x39\x38\x27\x71\x67\xf1\x6a\x5a\xaf\x21\x58\x1c\xea\x4e\x2b\xaf\xf3\xd4\x96\x55\xe3\x6a\x48\x4c\xec\x7e\x33\x38\x7c\xc8\x0c\xd3\x67\x87\x5f\xc5\xa2\x55\xcf\xad\x18\xfc\x09\x8b\x75\x03\x6e\x58\x1d\x19\xbe\x46\x7e\x75\x8d\x77\x7e\x30\xed\xb2\xb4\x90\x3a\xf1\xad\xd2\xb8\x4f\x44\xeb\x99\xd9\x96\xca\xfc\x9c\x70\x00\x6a\xf0\x5b\xa8\x55\x36\xde\xb5\xe7\xe6\xa9\xc2\x6d\x32\x5d\x2b\x96\x3b\x55\xb8\x93\x9f\x80\xd1\xad\xca\xcc\xf0\xb7\x56\x69\xa5\x36\x53\xe8\xf0\x89\xa4\x28\x57\x1b\x18\xa6\xa2\x25\xce\x86\xa5\x59\x29\xb0\x64\x04\x15\x83\x46\xff\xcd\xd6\xc9\xa5\x22\x39\x7c\x70\xd7\xf7\x7a\x03\x3f\x3b\x0b\x36\xd6\xcc\xec\xb2\xa3\x42\xcd\x7a\x50\xc1\x31\x7a\xa9\x9a\xe3\xbf\x34\x52\xad\x91\x63\x2d\x21\x3f\x39\x3d\x71\xe5\x78\x20\xb3\xf8\xe1\x83\x60\xfa\xd7\x59\x29\x0b\xf3\x5e\xbd\xeb\xec\xff\xd1\xb9\x38\x3d\x7b\xde\x19\xb1\x0e\xd8\xc3\x06\x0f\x1e\x7e\x85\x2f\x45\xcc\x0b\x50\x7b\x5a\x5b\x59\x30\x18\x9a\x5d\x53\xb6\x19\xd5\x8f\x35\x54\x76\x9a\x86\xa5\x0c\x26\x7c\x9e\xe5\xbb\xcb\x1f\x15\x8f\x93\xce\xde\x13\xf1\x37\xfe\x66\xc9\xce\x79\xa1\xd8\x73\x59\xc8\xbd\x3e\xdb\x3b\x35\xac\x5c\x16\xf6\xef\x1f\x4a\x21\xcc\xc7\x3e\xdb\x7b\x2e\x8a\x1c\x9a\x5c\x10\xd5\x7a\x05\x4e\x67\x2e\x0b\x89\x4a\xc8\xaa\x9a\x94\x34\xb3\xc4\x59\x61\xc2\xb5\x0a\x13\xc0\x51\xe2\xa5\xdd\x59\x89\x7c\xf8\xb0\x0f\xc9\xab\x1a\xf0\xeb\xab\x79\x66\x05\x5b\x64\x37\x22\x57\x95\x41\xe7\x12\xc5\xbc\xbb\x69\x0a\x78\xa1\x33\x8c\x1d\x4b\x1b\xb5\xc5\xf1\x18\xee\xb5\x1b\xcc\xa1\x14\x9f\xc6\x04\xf2\xe0\xcb\x83\x3e\xb3\xff\x69\xb4\x82\xf8\xb1\xee\x68\x05\x99\xc9\xb9\x18\x5c\x89\xb5\x1a\xa0\x0f\xeb\x27\xd6\x3e\x1b\xf0\xfb\xc2\x19\x03\x7d\xa9\x4b\x4f\x34\xae\x94\x3b\x9a\x8e\xa1\x20\xa9\xeb\xe6\x1e\xa6\xa6\xbb\x73\x78\x7f\x73\x61\xcb\x04\x2a\xd4\x5f\x90\xf0\x63\xb8\xaf\xeb\x8a\x72\xe7\x9b\x0b\x0a\xee\xe4\x01\xb4\xca\x20\x38\x03\x8f\x93\x2b\xb1\xb6\x25\xda\xee\xea\x92\x13\x73\x87\x63\x08\x5e\x92\x93\x4a\xba\x66\x19\x05\x28\x40\xfe\xef\xa0\x9e\xa9\x8d\x66\xb4\x49\xc8\xfd\x19\x2d\xe3\x1a\x83\x9b\x33\x8a\xc7\xe9\xc4\x53\x91\x64\x46\xa2\x09\xe0\xcd\xc4\x0d\xb7\x5f\xa3\x66\x00\xbc\xeb\x08\x90\x0f\x92\x20\x70\x36\x52\xa2\xa6\x8e\x71\x02\x95\x35\x6c\xb9\x6a\xb1\x3e\x18\xa1\x4f\xba\x27\xb2\xc3\x47\xc0\x7f\x80\x31\x27\x46\xb8\xb2\xa0\xc4\xcd\x22\xe7\x05\x86\xd9\x92\x92\x65\x62\x24\x32\x08\x7e\x10\xac\x62\xfc\x7a\xf6\xf6\xac\x48\xcb\x46\x99\xf7\x1c\x74\xde\x2c\xd8\xd8\xc0\x58\xf3\x8f\xd0\x48\x43\x11\xd2\xb9\x1e\xfc\xbc\x37\x62\x7b\x15\xef\xed\xbd\x7e\xbd\x2d\x3e\x53\x9f\x99\xd6\xaf\x8e\xcf\xcf\x9b\x9a\xfc\x64\x7e\xbc\xec\xfc\x74\xfa\xec\xd9\xcb\xcb\xcb\xe2\xb2\xb3\xe7\xdb\x7c\xb4\x54\x37\xe7\x37\x03\xc4\xdc\xc0\x12\xc1\xce\xd4\xe7\x7c\xf9\xd8\xe1\xc1\x01\xa8\x7f\x03\xde\xf9\x9c\xdf\x30\x4a\xb4\x01\x15\x7e\x9e\x9c\x9c\xf7\xd9\xcb\xf3\x93\x3e\x7b\xf5\x1c\x36\xe4\xf8\xd5\xb9\xa7\xca\xb1\x98\x40\xb9\x38\xcc\xb4\xc2\x96\x8b\xe8\xe4\xf8\xc7\x05\x92\x98\x9b\xbc\x48\x33\x8e\x7c\x84\x97\x62\x30\x31\x9f\x3e\x31\x2b\x49\x64\x71\x2d\x4a\x1d\x04\x26\x11\x65\x65\x25\xfb\xc1\x90\xaa\x0f\x61\x1e\x32\xaf\x4a\xc8\x85\x8e\xcd\x58\x71\x8d\x76\x5b\x5c\x3c\x58\x89\xe6\x64\x92\x23\x57\x9e\x4f\xa1\x10\xa9\x7a\x2c\x39\xff\x24\xe4\x52\xdc\xe5\x85\xa2\xec\x53\x68\x39\xf0\x93\x92\x4b\x25\x06\xe8\x55\x96\xe4\x59\x72\x75\xcb\x77\xfe\x46\x51\x11\x5d\x8d\x65\x41\x1e\x6a\xa8\x6c\x1b\x2f\xb5\x96\x05\x83\xc1\x9a\x6d\x02\x58\x4c\xca\xb9\x4d\x98\x23\x7d\x8d\xf6\x04\x2c\x03\x0f\x85\xa9\xf0\xd0\xee\xe1\xfc\x61\xce\x03\x84\xbc\xe7\x99\x31\xbd\x19\x9b\xc6\xc0\xc8\x6b\xf4\x0b\x32\x37\x00\x6d\x1a\xf8\xdf\x7d\x4e\xf3\x35\xdf\x89\x94\xcd\x33\x08\x33\x28\x51\xbc\xad\x60\x2e\x1c\xf9\x2e\x48\xab\xba\x59\x1e\xf4\xd9\x61\x9f\x3d\xe8\xb3\x2f\xfa\xec\xcb\x3e\x7b\xd8\x67\x5f\x91\x63\xd7\x73\xc0\x1e\x16\xa7\xc7\xf1\xe0\x88\x15\xf5\x37\x63\x9b\x35\xd9\x37\xe9\xb3\x15\xbe\xd5\xed\x73\x74\x9e\xa5\x66\xf9\xd1\x0e\xa1\xfb\x40\x31\xf8\xe5\xf0\xd0\xa1\xd4\xfb\x4b\x75\xf1\x16\x31\x94\xe5\xfc\xfc\xc0\xc4\x5b\xb0\x5f\x0e\x0f\x6b\x03\x84\x14\xe0\xd4\xcb\x38\x4e\xd7\x56\x9d\x12\xcc\x70\xe4\x6b\x67\x5f\x9b\xdb\x18\x0a\x4a\x85\x06\x4b\xbf\xce\x78\x38\x63\x7f\x77\xf9\x99\xf7\x1a\x31\x70\xc0\x8e\x8e\x70\x7f\xbb\x8b\x32\x9b\xf3\x72\xdd\xa3\xf6\x41\xf3\x43\x28\x95\x88\xa0\xbb\x7c\x79\x93\xe5\x59\x73\xc3\x07\xa6\x21\x85\xb3\xa0\xb9\xa9\xb9\xdd\xef\xa1\xea\xda\xa9\xfc\xb3\x48\x7b\x25\xcb\x74\x00\x59\xb4\x07\x90\x14\x69\x60\xfa\xde\x81\xba\x61\x3a\xef\xfe\x7a\x79\xa9\x2e\x2f\xdf\x5d\x5e\xbe\xef\xf6\xfe\xf1\xf1\xbb\xef\xf7\x2e\x3b\x97\x97\x7f\xfd\xec\xdf\xff\xe5\x7f\xfd\xeb\xe7\x7f\xe9\x3f\x1a\xfd\x7f\xef\x6b\xc2\xf0\x99\x98\x2e\x73\x5e\x32\x71\x03\x0e\x80\xa4\x99\x9f\xf1\x9c\xca\x30\x92\x10\x80\x69\xef\xcc\x8e\x42\xb6\xae\x9e\xad\x33\x47\x0a\xea\x16\xec\x94\x73\xd0\xff\x6b\xb2\x67\xf0\xc0\x0a\x8e\xa1\x3a\x5a\xb2\x52\x80\x79\x8a\x64\x90\x24\x50\x52\x0d\x43\x7d\x17\x95\x16\xdb\xfb\xdf\x94\xf2\x61\xb8\x17\x56\x53\xe3\x8a\x2d\xb8\x9e\x29\x36\x01\xcf\x2b\x88\xe5\x81\x89\x5a\xdd\x88\x0c\x94\x1f\x35\x9c\xdf\x4e\xc3\x73\x5b\xa4\xff\xef\xe1\xef\x43\x3b\x91\xbe\x28\xd2\x3f\x07\xeb\xad\x68\xc2\xc3\xfa\x89\xf1\xf4\xfe\x2f\x3b\xe2\x86\x0a\xd8\x52\x80\x61\xa0\xca\x24\xfd\x0d\xce\xee\x8f\x26\x44\xff\xe9\x35\x55\xcb\x11\x37\x0b\xeb\xd1\xe1\xed\x35\x6a\x59\xc2\x83\xce\x06\x12\xbb\x14\x77\x90\x64\xd2\xa1\x78\xc1\xa7\x7f\xe4\xc3\x8d\xc2\x6d\xf7\xa1\x36\xf1\xed\x1e\x6f\xee\x16\xaa\x81\xd8\xe9\x01\x17\x75\xf3\x9c\xb4\xf6\x98\xc3\xc1\xa2\xd6\xd5\x87\xdc\x82\x2b\x35\xe0\xb9\x1e\xe0\xbb\xe6\xee\x8f\xb9\x8a\x02\x3a\x94\xe6\xbc\xce\xd2\x8c\x06\x3e\xf4\x87\xc3\xe1\xb7\x2e\x7a\x95\x12\xf8\xb4\xde\x35\xe4\xf0\xbd\x46\xdd\x61\xb9\x2c\x20\xeb\x10\xfa\x9d\x66\x05\xe3\x4e\x60\xd5\x7c\xec\x1d\xf1\xd7\x72\xc9\x52\xf4\x94\xb6\xd0\xc0\xef\x05\x2f\xf9\xcb\x8e\x62\x7b\x6a\x95\x41\x29\x5c\x69\x7a\xee\xf9\xec\x42\x3c\x49\x44\x2e\x4a\xae\x21\x86\x13\x5d\x61\x0b\xa9\xdd\xd0\xde\x62\xce\xb8\xe9\xca\x32\x50\xd2\x8d\x85\xd6\x68\x64\xb4\xbb\xa8\x44\x28\x85\xa3\x9e\x11\xe6\x47\x89\x35\x02\x77\x0f\x2a\x33\xca\xae\xb3\xb9\x91\x86\xc4\x9c\x27\xcd\x27\xc3\xd1\x9f\xc3\xa3\x4d\x01\x4d\x5e\xf1\xb6\x3a\x95\xc5\x2b\x0b\x44\x7d\xd7\x27\xd2\x1a\x98\x47\x2a\xa5\x35\x72\x31\xf1\xd0\x0b\xf7\x96\x37\xc4\xad\x38\x0f\x72\x92\xa3\xfc\xdb\x16\x34\x19\x20\xf6\x40\x5a\xbb\x88\xd0\xc0\x02\xf7\xe7\x51\x1a\xbc\x2c\xff\x2f\xa9\xfd\x7e\x52\xf3\x88\xbc\x05\xad\xf9\x4e\x7f\x36\xb1\x11\xb5\xc1\x3b\xf5\xcf\xa3\xb6\xe7\x66\xb8\xff\x4b\x6d\xbf\x9f\xda\x3c\x22\x6f\x41\x6d\xbe\xd3\xff\x19\xd6\x06\xc4\x76\xfd\xc9\x35\x21\x00\xf6\x0d\x9b\x0a\xad\x80\xca\x50\x2a\x82\x65\xd8\xe1\xc9\x09\x76\x20\x6c\x60\xea\xed\x55\x62\x9d\xa5\x9e\x0c\xbe\xe9\xf4\xd9\x3b\xf7\xa9\x53\xf2\x95\x0f\x80\x44\x6b\x94\x2b\x75\x61\x87\x82\xa7\x75\xca\x35\x67\xce\x13\xd7\x85\x91\xc0\x1c\x5b\x9c\xd5\xb2\x14\xdd\xa7\xb0\xc0\xf1\x25\x0e\x7a\xd9\x01\xa1\xe5\xd2\x8c\x1c\x38\x4a\xa3\xc4\x32\x90\x05\x88\x72\xba\x94\x57\xbb\x0b\xc9\x3e\x50\x76\x93\x07\x8e\xa2\xcc\x1a\x61\x32\x0d\xb0\x10\x17\x6b\xe6\xc6\x6c\x98\x8f\x5c\xea\xc5\x72\xf7\x97\x4d\x30\x99\x4d\x62\x65\xdb\x6c\x7c\x0e\x15\x18\xb6\x32\x9f\x31\x2f\x07\xe4\x87\xf9\x69\xb0\x73\x31\x03\x5f\x07\x70\x32\x0b\x64\xd8\x79\xa8\xd2\x24\x54\xac\x66\x42\xe4\x83\x39\x5f\x83\x52\x70\xc0\xcb\x52\xae\x06\xb7\x52\x6f\x6e\x46\x0d\xb0\x29\xb4\x6b\x52\x1c\xa0\x28\x49\xc1\xa2\x92\x52\x88\x82\x32\x8a\xa0\x57\xe2\x93\xd3\x93\x93\x9f\x9f\xb3\xee\xf1\x02\xcb\xce\x99\x07\xc3\x09\x1a\x4a\x2d\x05\x62\xbd\x32\xab\xbb\x10\x7d\x52\xe7\xc0\x3a\x2c\xfe\x21\x54\x8f\x14\x0f\x62\xbe\xcc\x21\x44\xcb\xac\x0c\x75\xa1\x8d\x0c\xcc\xe6\xe5\x60\x5a\xcc\x17\xb2\xe4\x65\x96\x43\xe8\x3d\x1f\x13\xf3\x9a\xc9\xdc\x3f\x5a\x40\x38\xbf\x12\xeb\xf6\xfb\x21\x78\x6e\x63\xae\xca\xe5\x02\xaf\x0a\x44\x86\x11\xec\x4b\xc5\xba\xb9\x50\xaa\x67\x78\x6b\x49\x1a\xd2\x39\xc7\x37\x42\x10\xbb\x45\x26\x2f\x91\x66\x1a\xbc\x20\xae\xb3\xfd\x82\x17\x12\xba\x21\x34\x44\xe5\xbe\x9e\x2f\x6f\x5a\x36\x58\x5e\x8b\xc1\x7c\x99\xeb\x6c\x91\x67\xb7\xb8\x52\x83\xcd\x3d\xac\x59\x2c\x3d\x3c\x67\x2b\x05\x7b\x25\x4b\x45\xae\xb9\xb9\x37\x70\x57\x68\x3b\x20\x85\x9e\xbb\x07\xdc\xd3\x07\xb7\x0c\x5a\x0e\x8d\x8c\x0b\xee\x48\x72\xc5\x26\xb6\xaa\x27\xbc\x81\xaa\x6f\x1f\xa0\xd6\x3f\x81\x6b\xd6\x98\xa5\xbd\x91\x22\x36\x6e\xcf\xf7\xef\x9a\x51\xa6\xe4\xe0\xc1\xc1\x83\x07\x36\xd4\xd6\xff\xed\x67\x8b\x1f\x06\xb9\x4c\xae\x44\x6a\x27\x1b\x5a\x8f\x1d\xa7\x71\x33\xef\x3e\x79\x79\x72\xde\xac\x8d\x7c\x7a\xfe\x12\x46\x20\xf7\xab\xc0\x23\x0c\xd3\x11\x96\xbc\x50\x39\x85\x1d\x76\x21\x15\xeb\xb4\xe4\x8b\x59\x96\x40\xba\x42\x15\x02\x7d\x7d\xf1\xc3\xe0\x1b\x7b\x5e\x14\x53\xcb\xc5\x42\x96\x36\x8a\x56\xaa\x36\x5f\x6e\xc1\x70\x29\xe8\x49\x50\xd8\xe0\xf1\x08\xf5\x94\x8e\xd4\xfb\x01\x33\x0e\x52\x8f\xce\xe6\x9e\x8c\x40\x23\xeb\xd6\x8e\x56\x06\x1f\xfa\xda\xe6\xa4\x6c\xc3\x7c\x74\x96\x5c\xa1\x3e\x0c\xd7\xb1\x2c\xc0\xef\xcb\x48\x6b\xe8\x5e\x63\x04\x8b\x2b\x23\xe7\x89\x22\x15\x60\xfe\x83\xd6\x4e\x86\x13\x53\x9e\xac\x19\xf7\x6c\x2b\xa0\x54\x30\xa0\x61\x81\xf8\x3b\xfb\x2f\x36\xb9\xea\x18\x16\x74\x9f\x3d\x05\xc0\x4d\x6e\x8c\xba\xee\xc3\x18\x38\x12\x97\x83\x44\xdd\xcd\x9f\x1f\x82\xcc\x6a\x81\xbd\x10\xa8\x09\xd9\x8e\xd4\x4c\x60\x8c\xa9\x35\xf1\x56\xdd\x88\x52\x99\x2c\xe7\x22\x50\xf6\xd8\xe9\x0c\x0c\x9f\xbb\xfb\x9c\x80\x1f\xe5\x59\x21\x06\xb1\x53\x03\xd4\x68\x67\x27\xe7\xe7\xc8\x47\xc1\x69\x5c\xaf\x5d\x2a\x3b\x97\x98\xca\x4c\x67\x53\x92\x1d\x97\xef\x9d\x1d\x19\xc0\x36\xf3\x0f\xc6\x00\x77\x9b\xf3\x16\xb9\x3e\xbd\x0d\x39\x63\x7c\x2d\xfa\xf6\xec\x43\xdb\x73\x5e\x2d\xc7\x6a\x39\xfe\x67\xcf\x73\x45\x29\x71\x5e\x9b\x8d\xd4\x6b\x52\x41\xda\xf2\xdb\x3c\x4d\xd9\x62\x39\xce\x33\x35\xdb\x57\xcb\xb1\x4a\xca\x6c\x2c\xf6\x97\x85\xfb\xec\x92\x4a\x71\xe8\x8d\x99\xfd\x79\xc1\xc4\x0d\xe4\x47\x98\x5a\xff\xa4\x30\x6b\xce\x72\x7c\xbe\x1c\xb7\x14\xad\x94\x63\xc0\x47\xa9\x3e\x50\x5a\xa5\x20\x29\xe3\xb1\x9f\x4c\x9f\xb9\x19\xa0\x1c\x13\x4e\x69\x2e\xf4\x4c\xa6\xf0\xdc\x6a\x9e\x09\xe6\x60\x26\x4f\x16\x5f\x66\xda\xda\x61\x28\x48\x05\x12\x38\xcb\x65\x32\x13\x29\x3d\x27\x45\x09\x7b\x51\x48\x56\x08\xc0\x8f\x01\xb4\x92\x65\xb9\xa6\x44\xb4\x06\x79\xe4\xc3\x83\x56\x9e\xb8\x86\x75\x58\x41\xc1\x56\xc6\x96\xe3\xbf\x01\xa1\xd8\xf8\x3f\xc4\x39\x90\x80\xf5\xfb\x67\x5a\xd6\xf1\x37\xe4\x69\xfa\xd8\x36\x08\x6b\x20\x8c\xff\xe6\xab\xf6\x20\x85\x52\x1d\xad\xb0\x37\x66\x81\x73\x95\x6b\xe7\x41\x35\x4e\x84\xee\x4f\x11\xa5\xd1\x92\xe3\xbf\xbd\x9b\xbf\xf7\xa7\xa5\xd2\xec\xdd\xfc\x3d\xe6\xce\xc2\x21\x7b\x2e\x6f\x9c\xdd\xbc\x73\xb7\x3d\x18\xee\x83\xd1\xde\xe6\x0d\x39\xb1\xde\x8f\x8a\xb0\xc8\xcd\xe6\x86\x7b\x55\x2d\x91\x46\x3f\x03\xde\xec\x67\xf3\xdc\x0e\x86\x18\x86\xfd\x1c\x72\x10\xe9\xbd\x8f\x2c\xe1\x94\x5d\x0f\x7c\x9e\xe8\x67\xe4\xa0\xd7\xf2\x4a\x90\x11\x34\x8c\x47\xaf\x6f\x40\x50\x8c\xc2\x0d\x1c\x6c\x04\x4d\xac\xef\xc6\x0a\x6a\x52\xd8\x1f\xf1\x84\x46\x64\x1f\x56\x8b\xf0\xdf\xbe\xa3\x0e\x66\x03\xde\xbd\xf7\x35\x23\x1a\x5a\x0c\x17\x4b\x35\xeb\xba\x41\xa3\x13\xf4\x3a\x3c\xb8\x18\xee\x7f\x37\x54\x2f\x2b\x80\x76\x45\xf7\xb1\xff\xb8\x28\xc5\x75\x26\x97\x2a\x5f\xb3\x52\x4c\x33\xa5\x21\xfb\xd6\x75\xc6\x6d\xa1\x79\x37\x42\xb7\xb7\x11\xfb\xe1\x5c\xb6\xe3\xdf\x90\x3b\x64\xd2\x3b\x6a\xc5\xa0\x2d\xe3\xf1\x99\x69\x17\xd6\x8f\xe9\x3c\x2d\xb0\xb4\x09\xb5\xc4\x8a\x31\xf4\x87\xab\x0c\x92\xb1\x23\x18\xc1\x55\xe1\x08\xf6\x02\x01\x67\xec\x3b\x76\x10\x01\x7e\x21\xb5\x5f\x6f\x5a\x87\x0b\xf0\x94\x91\x75\x44\x37\xab\x55\x65\x79\x85\x4c\x31\xf0\x23\x6e\x39\x48\xee\x10\x9a\x47\x8d\xb5\x14\xa1\x71\x9a\xe7\x6c\x02\xb2\x82\x47\x97\x61\x80\x78\x1e\x52\xc6\xd5\xba\x48\x66\xa5\x2c\x60\xc7\x86\x2e\x63\x21\xf2\x5a\x7c\xf8\x51\x4a\x49\x72\xf8\xe1\xc5\x5a\x16\x82\xde\x8d\x4b\x30\x79\xd9\x33\x7f\x4b\x62\x5b\xd8\xe5\x99\x45\x0d\x9b\x98\xa8\x60\xc7\x05\xe3\xe5\x38\xd3\x25\x2f\xd7\x8e\x81\x2b\x25\x93\x8c\x63\x39\x47\xb0\xbc\x02\xf3\x0e\x52\x85\x6c\xa6\x5a\xb9\xd0\x1f\x72\xae\xf4\x89\xa3\xde\x22\x40\x56\xc0\x34\x12\x28\x22\x30\xd1\xa2\xb4\xb4\x6b\xbe\x50\x01\xb2\x21\xda\x63\x2c\x50\x81\xe8\x70\xd0\x4a\xd2\x76\xc5\x4d\xe4\x2c\xfa\xb5\x89\x21\x65\xbb\x19\xc1\x10\xeb\x67\x99\xd2\xdd\xcc\xb2\x6f\x23\xca\xc0\x0b\x2b\x53\xcc\x88\xf1\x86\x3c\x68\xa3\x60\x8b\x5d\x89\x2a\x02\xd9\xa7\xe2\x0b\x98\x73\x1d\x83\x55\xa4\x85\x94\xc8\x22\x11\x65\xc1\xe4\xb2\x54\x22\xbf\x16\x94\x02\x44\xdc\x24\x62\x61\xb9\x25\xf3\xa4\x0e\xc4\xeb\x8b\x97\xda\x32\x8a\x4a\xe8\x0b\x9c\x49\xd7\xcf\x18\x5c\x61\x32\x76\xdf\x57\x31\x34\xbd\xdf\x65\xef\xbb\x41\x35\xe5\x5b\x9c\x61\x38\xc2\x1e\x07\x90\xde\x0e\xfc\x07\x60\xac\xac\xc0\x42\x13\x99\xa6\x97\x8e\xa2\x32\x92\x2b\xd1\x29\xe9\x8e\x5a\x63\x55\x09\x9a\x09\xf0\x5f\x23\x3f\x26\x5c\x23\xf0\xa8\xe8\x6f\xf3\xce\xd4\xa7\x42\x27\x1a\x58\x75\xad\x0f\xd5\xd1\x89\xab\xa9\xdb\xc1\xab\xad\xdf\x57\x6a\x16\xba\x91\xee\x6d\xc6\xf1\x01\xb2\x90\x2d\x22\x2e\xaa\x39\xfe\xd9\x45\xdc\xb6\x54\xae\x2b\x5b\x5f\x90\x72\x96\xe2\x69\x3c\x93\xab\x13\xa8\x00\x4d\x7f\x9f\x67\xbf\x0a\xff\xd7\x85\xb8\xd1\xc7\xce\xed\x39\xcc\x02\xfb\xef\x66\x70\xb3\x86\xeb\x4c\xac\x90\x3b\xa2\x30\xed\xea\xc0\x29\x5f\x03\x37\x34\x78\x1b\xb6\x00\x6e\xaa\x06\x31\xe2\xc6\x71\xeb\xa7\x9a\xcd\x79\x56\x68\x9e\xd1\x03\xdd\xd6\x0b\xa3\x48\x06\x57\x3b\xd2\x70\xf2\x19\x57\x6c\xcc\x55\x96\x38\xf1\xd7\x7a\x6e\x43\x85\x16\x7c\xb3\x42\xaa\xf1\x6b\x51\x42\xe8\x06\x85\x25\xa7\x29\x95\x1f\x2f\xc5\x5c\x5e\x9b\xcf\xa5\x5c\x29\xaf\x99\x26\x12\x08\xd3\xd4\xe2\xb2\xcc\x88\x85\x84\x74\xb4\xb9\x48\xa7\x2e\xdf\x49\x53\xee\x62\x57\xd8\xd7\x87\x0a\xc3\x28\xb2\x08\xc6\x30\x44\x90\x0a\xc4\x0c\x18\x17\xf2\xb5\xd5\x5d\xc5\xdd\xb0\x2a\x26\x45\x34\x1b\x8e\x05\xe5\x60\xcc\x0a\x95\x8f\x03\xa7\x79\x83\xf9\x82\xdb\x56\x2b\x5e\x60\x32\x18\x51\xa8\xa5\xb9\xa4\x0c\x28\x78\x0d\xf2\x42\x6f\x9c\x5c\x9f\x65\xba\xa3\xc8\x3d\xb4\x14\x6a\x21\x0b\x95\x8d\x33\x7a\xf5\x20\xf2\x08\x5e\x09\x45\x39\x4a\x8c\x5d\x37\x7f\xe0\xdc\xfc\xbd\x77\xe1\x97\x0c\x61\x7f\xc8\x88\x64\xa1\x4b\x0e\x5c\x49\x31\x51\x4c\x64\x99\x08\x2a\xdd\x93\xdb\xca\x31\x54\xb2\x67\x51\xf2\x44\x67\x89\x18\x0e\xe1\x06\x1b\x00\x40\x4b\x9e\x44\x57\xb4\x47\x32\x37\x0f\xa1\x95\xa4\x9f\xcf\x09\xd1\xb0\xe0\x04\x9c\x25\x5e\x16\xc2\x2a\x13\x0d\x30\x72\x92\xb3\xf3\x03\x8a\xf1\x2d\x9c\x3a\xb9\x4a\x17\x76\x0e\xf3\xdc\x8e\x81\x13\x80\x4d\x4c\x78\x09\xb9\x01\xb9\x46\xc4\x1a\xc1\xe2\xa7\x8b\xe7\xcf\x4e\x31\xff\x03\xb8\x6c\x14\x76\x02\x39\x2f\xa7\x10\x60\x50\x80\xee\x40\x4e\x70\xea\x7d\x36\x93\x2b\x71\x2d\x4a\xcc\x13\x01\x70\x66\x7c\xb1\x10\x05\x3d\x28\x7c\xd6\x12\xc3\x3f\x0a\x03\xca\xad\x59\xe6\xf9\x2b\x49\xf4\x4f\x77\x19\xf9\xb8\x33\xce\x26\x62\xc5\xca\x65\x2e\x28\xd3\x1f\x56\x82\x1d\x32\x76\xca\x93\x99\xdd\x4e\x5b\xdb\xb0\x94\x50\x1d\x9a\xa8\x32\x41\x3d\x87\x59\x0a\xd3\x7c\xca\x3a\x37\x83\x52\xae\x3a\x78\xb0\x60\xf7\xa1\x1f\x8c\x68\x29\x03\x0b\xca\xb9\x8c\x06\xc8\xd4\x64\x89\x14\x95\x3a\x1b\x21\x26\x35\xa0\x13\x85\x34\x44\x4e\xd2\x85\x3d\xd3\xad\xc7\x8d\x51\x35\xa5\xac\x20\x1d\x1f\x62\xdc\xd1\xd4\x78\x5d\x21\x16\xa8\x1a\xe5\xaa\x4a\x61\x02\x1a\x8c\x30\x43\x5d\x80\x15\x0e\x2a\x34\x14\x4e\x08\xbc\xc1\x1a\x91\x8e\x82\x8e\x2b\x8e\x66\xd3\xb7\x99\x17\xa9\x8a\xa9\xb1\xe1\x78\x50\x89\xef\x7c\x6d\xb9\x0d\xd2\x8f\xe1\x5b\x6c\xce\x6f\xb2\xf9\x72\x6e\x03\x68\xa1\xb2\xa1\x99\xc6\x41\x55\xbc\xa4\x92\xf5\x28\xd0\x61\xeb\x13\x68\x0c\x2a\x75\x82\xe2\xcf\x3e\xb6\xb0\x65\x9e\x32\x45\x32\x9d\xe3\x27\xe7\x42\xd0\x89\xb6\x45\xf4\x63\xbe\xea\xbe\x35\x00\xb2\x02\x03\x0c\x80\x4d\x1b\xf9\x95\xa0\x41\x36\x43\xa4\x5f\x45\x51\x7e\x52\xb2\x39\x24\x89\xf0\xee\x64\x90\x16\x22\x4d\x41\xd7\x20\x0d\x6d\xca\x55\x9c\xd4\x8a\xa0\x1d\x98\x6b\xbf\x90\xda\xd0\xd5\x75\x96\xc6\xd2\x25\xed\x57\xa5\x4e\x62\x80\x87\x5e\xa5\x46\x85\x11\x3e\x93\x3e\xd8\x47\x06\x70\x7e\x79\x02\x65\xd0\xad\x0f\xa0\xd9\x02\x7a\xb8\x7a\x2e\x40\xd9\xe9\x41\x1e\x33\x2d\x8e\x21\x33\x88\x7b\xad\xee\xef\x5b\x6c\x47\x01\xcf\x0e\xc9\x01\x20\x2c\x27\xe8\xa7\xf7\x81\x1d\xd5\x76\xee\xb7\xdf\xd8\x37\x07\x21\x60\x77\x35\xca\x5c\x96\x7d\x08\x3e\x85\xa4\xa4\xa2\xcc\xb3\x82\x4a\x9f\xc5\x61\x9f\xca\x8d\xa5\xa3\x2b\x3d\xd2\x96\xc4\xb7\x7d\x17\xed\xd9\x43\xab\x4e\xed\xd9\x19\x9c\xd0\xe8\x90\xf4\x00\x4d\xe3\x74\x47\x27\x52\x96\x29\xe4\xd7\xf3\xe3\xe1\x4f\xaf\xec\xed\x1d\x8e\x87\xb2\x47\x97\xe4\x33\xbf\xbc\x42\xa6\x78\xd4\x38\x16\x91\xb3\x5c\xc1\xdf\x82\x38\x5c\xa6\x9c\x54\x00\x37\x68\x65\xcc\x33\xb9\x7a\x21\x53\x61\x30\x5a\x2c\xf3\x7c\xdb\x08\x6a\xc1\x0b\x2b\x94\xdc\x76\xa8\xb6\x71\xe4\x64\xa2\x84\xc6\x0b\x2f\xa0\x03\xb8\xb6\xc3\x9e\x3e\x31\x67\xd3\x78\x95\xc1\x5e\x02\xd0\xea\x70\x67\x62\x2a\x6e\xa8\x5e\x1b\x7a\x46\x82\x19\x41\x96\xa9\xf7\x8e\xf4\xbb\x62\xbe\x7f\x5c\x0a\x7e\xf5\x9c\xeb\x64\xf6\x4c\x4c\xb4\x03\xd7\xd8\xe2\x0c\x24\xe1\x8d\x4d\x9e\xa3\x47\xb9\x6d\x13\xbc\xd8\xcf\xa8\x32\x96\xe7\x74\x10\x7f\x88\x21\x9d\x5e\xec\xac\xe8\x2c\x5d\x79\x54\xdf\xe2\x63\xbd\x75\x43\xdd\x61\x22\x4f\xe4\x71\xf6\x8d\x6a\xc5\x1c\x8e\xb1\x7e\xc0\xf3\x6a\xc7\xba\xc2\x45\x82\x37\xea\x54\x68\x18\xb4\xa6\xc7\xa5\x49\x7a\xa2\x36\xcd\xba\xb5\x53\xdd\xaf\xf0\x0a\x5b\xa2\xbf\x0d\x4f\xf1\x22\xdc\xec\xeb\x33\x8e\x30\xe5\x78\x7f\x83\xf0\x79\xbb\xc5\xfe\x24\x68\xc3\x9b\x97\xdb\xb8\x98\xdd\xd7\xd2\xbe\x01\xbb\x2c\xe7\x6e\xdb\xf7\x16\x4e\xde\xc6\x05\x85\x1b\x16\x2d\xc6\x9a\x6b\xdb\xaf\xcf\x85\x28\xa9\xd2\x60\xf3\x65\x9c\xec\x70\x05\x07\x30\x5a\x17\xa2\x84\x3e\x09\x6e\x86\x0d\x25\x90\x2b\x77\x0a\x95\x42\xbe\x17\x96\xce\x8d\x38\x33\x75\x60\xdf\x53\xdb\x40\x33\x6b\x06\x8d\xda\x36\xf6\x2f\xe5\xaa\x4f\xeb\x1c\x54\x75\x76\x67\xf8\x60\xf0\x39\xcf\xe0\xd5\x10\x3f\xba\xc2\x22\x7a\x59\x9d\x0b\x04\x22\x34\x12\x84\x07\x74\x0b\x42\x00\x6b\xe9\x99\x5c\x6d\x26\x04\xdb\x4a\x75\x0f\x7b\xae\xa6\x75\xbc\x94\xf8\xd9\xa8\xe5\x22\x90\x50\x2b\x8b\x81\xea\x79\x61\xfe\xa7\xed\x44\x52\x39\xbb\xee\xc9\x15\xd7\x8d\xc6\xc3\xf7\x5d\x80\x99\xef\x11\x35\xc8\xf0\x45\x0a\xbd\x77\xc2\x87\x6a\x21\xa5\xe6\xf3\x4e\xba\xd9\x03\xda\xef\x78\xaf\xc9\x62\x0c\xf2\x1b\xa3\x5b\xb4\x86\x9f\x2a\x0e\xa2\xdd\x35\x1d\x2f\xec\x9d\x2f\x49\xfc\xdc\xb8\x0c\x4a\xc6\x5d\xd9\xd8\x52\xae\x82\x03\xd1\x34\xfd\x83\xbe\x19\xa4\x71\xfe\x78\x5b\xec\x38\xfd\xc6\x9d\x00\x08\x17\x56\x86\xbc\xed\x42\x54\x65\x25\xaa\x71\x29\xd4\x7e\xc8\x17\x8b\x7c\xdd\x8d\x7f\x84\xb5\xa9\xd6\x83\x98\xf3\x4f\x73\x0e\x1d\x9c\x5b\x1c\xc3\x85\x5c\x6c\x3d\x84\xd8\x66\xe7\x23\x68\xbd\xe1\xfe\x19\x4f\x21\x2d\xf5\x2e\x67\xb0\xf1\x26\x66\x03\x5c\xc5\xce\xe7\xb3\x09\x79\x9f\xf8\x88\x2e\x96\x6a\xb6\xe3\xf9\x04\x45\xf1\x2e\xe7\x72\x97\x69\x7f\xb2\xa3\x49\x0b\x68\x39\x97\xb0\xc7\xa6\xc9\xce\x47\xb1\x69\x1f\x7c\x3e\x00\xf3\xe5\xc6\x75\x39\x7a\x45\xe5\xc9\x85\x53\xa3\xb8\xd5\xd8\x77\xd3\xf0\x13\xee\x22\x36\xa9\xec\x23\x8c\x8b\x9c\x74\x03\xbb\xa5\x56\x3b\xb2\xdc\x3f\x04\x13\x6a\xf8\x87\x50\x86\x43\x8a\x6a\xc6\x0a\x91\x88\x73\x40\xc8\xd8\x11\x3b\x78\xc4\x32\xf6\x1d\x4e\x8a\xc4\x67\x96\xdd\xbf\x1f\xd5\xf1\x6a\x46\x21\xbb\xcf\x32\x8b\x46\xf5\x2e\x7b\x5f\xf7\x3e\x20\xfe\xc8\x6f\xc1\xdd\xb7\xa1\x32\xd0\xcd\xb5\xb0\xc1\xda\xbd\x10\xb2\xbf\x8d\xe8\x43\x68\x4d\x34\xb5\x03\xff\x23\x2c\xff\xd9\x97\x44\x03\xa9\x61\xd4\x6b\x64\x57\x18\xfe\x57\xb9\x60\x1c\x8a\x9b\x28\x74\xd7\xab\x26\x6a\x5e\x39\xbf\xe0\x29\xc0\xb5\xd8\x64\xb9\x89\xac\x2a\x4a\x68\xd5\xa8\x20\xd2\x92\xa1\x46\x08\x9f\xea\xb9\xe0\xa5\x62\x72\xa9\xb1\xe4\x88\x41\x62\x49\x4a\xdc\x94\x6b\x6e\x61\x1e\x63\x12\x2c\x0a\xde\xa5\x53\x2f\x4b\xaf\xa7\xa4\xb4\x3e\x60\xef\x0c\xf4\x2c\xce\xaa\x94\x29\xd0\x20\xe7\x59\x0a\x6e\x4e\x60\xe1\xe7\x99\x12\x98\x75\x4a\x25\xcb\x52\x78\x93\xef\x16\x6e\x60\x91\x71\x52\x55\x7d\x35\xf9\x80\x55\x5e\x51\x66\x9f\xac\x46\x6c\xb3\x36\x6b\x83\x02\x6a\xa3\xba\x28\xd8\x37\x5f\x8f\x33\xa1\x82\x99\xf6\x68\x10\x7a\xb6\x1d\x5d\xd8\x9e\x13\x3b\xbf\x8d\x2b\xb4\xf3\x1f\x66\x45\x21\x4a\xb0\x22\x1c\xb1\x4e\xa7\x65\x95\x44\xb1\x4e\x1b\xd9\xed\x80\xe3\xa5\xd9\xce\x49\x2e\x57\x9d\x2a\x76\xfc\x22\x0f\x1e\xb5\x60\x96\xde\xb7\x1b\x5a\x58\xe8\x66\x1d\x3c\x57\xc2\x39\xb9\x18\xda\x79\x14\x3e\x9d\x63\x25\xea\x30\x53\xa4\xa5\xee\xf6\x7c\x39\xd2\x1b\xed\x16\x18\x59\xb7\xe9\x17\xb0\xcd\x82\x62\x62\x96\x69\x01\x69\xc3\xea\x6a\x23\x6f\x6f\xc7\x8a\xf3\xe8\x50\x0c\x4e\x0a\xb2\x00\x85\xfb\xb5\x28\x95\xcb\x73\x0d\xaa\x75\xd8\x13\x48\x58\x6c\x98\x98\xe0\x7d\x17\xc3\x8d\x60\x20\x1d\x5b\x47\x41\x45\x02\xca\x6c\x25\x4a\xae\x84\xf3\xc0\x1b\x5a\xd7\x1e\x02\x7e\xd4\xa4\x38\x1e\xd2\xaf\x8f\x9a\xf5\xca\x43\xdf\x99\x50\xd9\xdc\x4c\xad\x8b\xe4\x04\x26\xdf\xed\x39\x74\x83\x76\xb6\x79\x54\x74\x86\x3d\x41\xcd\xad\x28\xbb\xe6\xe7\xb6\x93\x32\x04\x83\x43\x7a\x32\xcb\xf2\xb4\x6b\x60\x56\x1b\xba\x43\x23\x53\xe1\xbd\xcc\x5a\x17\xb2\x65\xc5\xf1\x52\x82\x53\xf6\x9c\x97\x57\x11\x5f\x04\x81\x0f\xdc\x64\xc0\x18\x4d\x54\x27\x5c\xae\xa7\xc2\x50\x88\xa1\xf7\xd0\x46\x04\x9a\x7d\x47\xa1\x10\x77\x48\x99\xaa\x53\xda\x77\xcc\xf0\x83\xa9\xaa\x4b\x48\x04\xe8\x75\x7f\x06\x32\x19\xdb\xd1\xd2\x7e\x25\x14\xcb\xb4\xe1\x7f\x98\xa0\x1d\xee\x9e\x44\xce\xc7\x66\x18\xbd\x82\x9c\x59\x90\x2b\xcb\x0d\xe9\x8c\xf8\x0e\x24\x78\xbf\x5a\x1b\x7f\x3c\x5f\x8c\x60\x74\x65\xc3\xdc\x05\x6c\xd3\x12\x0a\x33\x4d\x32\xaa\xc5\x8b\x1a\x32\x0a\xc9\x01\xab\x9f\xfd\x09\x52\x6d\x73\x6d\x0d\xab\x8b\x32\x43\x85\x6f\xac\xa5\x77\xdc\x9c\x42\xee\xe7\xf3\x4c\xa3\x2d\x32\xc2\x5e\xdf\x3a\xe0\x63\x66\xf6\x45\x29\x12\x91\x5a\x57\x8c\x52\x58\x28\xb0\x39\x21\x3b\x04\x4b\xbc\x64\x1c\x32\xc6\x54\x66\xbd\x91\x4b\xc2\x44\x9e\x65\x85\x78\x19\x70\x98\xed\x9c\x52\x09\xdd\xca\x00\xd1\x67\xbf\xfa\xb8\xcf\x65\x12\x5c\xc2\x0a\xbc\x69\x19\xc7\x5c\x54\x40\x75\x4e\xfb\xdd\x2a\xd9\xd8\x37\x01\x24\x4e\x43\xeb\x4e\xf5\x0d\x11\x48\x32\xc0\x52\x2b\xcd\xfd\x00\x1b\xd5\x98\xad\x97\x23\x29\x12\x0d\x90\xc0\x8b\xb4\x59\x7f\x4e\x3c\x35\x91\x85\x92\xb9\x18\xae\x78\x59\x74\x3b\xc7\x3e\x23\x26\x54\x21\xa9\x10\x87\x2c\x98\xc0\x12\x42\x38\xad\x4e\x54\x24\x3a\xf2\x70\x32\xc8\xf8\xfe\xa8\x45\x77\x5f\x19\x5b\x94\xa5\x2c\xbb\x1d\x73\x0f\x1a\x71\x45\x4e\xd8\x18\xea\x80\xa1\x7f\x23\xbe\x79\x60\x18\xd8\xfe\xb6\x77\xfb\x61\x70\x5f\xd8\x19\x7c\x67\xa4\xa1\xdf\x33\xd8\x41\xb4\x28\xaf\xe8\xad\xdf\x37\xcd\xc3\xa0\xca\xb9\x69\x24\xda\xa6\x47\xd4\x8b\x6e\xd8\xba\x02\xba\xbe\x30\x6a\xdc\xbe\xb6\xdb\x0e\xea\x17\x79\xab\xbb\xbd\xc4\xd3\x56\xdb\x92\x77\xa5\x5c\xbd\x7f\x14\xdf\x48\xd4\x76\x08\xaa\x67\xb8\x57\x9c\x46\xfd\x33\xb8\x60\x68\x25\x95\xe6\x72\x55\x88\xf2\x89\x8d\x4a\xc1\x2b\xec\x42\xdc\x68\xf3\x63\xb7\xd3\xf1\x5b\x05\xad\x1b\x6f\x2d\xe7\x09\x48\x77\xc8\x49\xb0\x6a\x4f\xab\xb8\x90\xa3\x26\x66\x12\xfa\xe6\x55\x09\xa0\x51\x4e\x1a\x34\x88\x57\xde\xa1\x2f\xbc\xa2\x83\xcb\xf4\x11\xfd\x5c\x9d\xe5\x2d\xc7\x09\xbc\xfc\x22\xc9\xa9\x51\x1a\xa6\x75\x6f\xdc\x7d\x90\xaa\x43\xbe\x02\x58\xc3\xd7\x40\x37\xdc\x39\x83\x62\x32\xda\x1e\x31\x37\xc3\x68\x39\x8f\x5c\xc3\x15\x99\x94\x9a\xac\xe7\x43\x03\x15\x6c\x4e\x7e\x13\x03\x4a\x19\x9a\x3b\xfe\x3c\x1b\x43\x94\xd0\x6f\xbf\x11\xa8\xef\x69\x6c\x8f\xe7\x56\x69\xa5\xf6\xb3\x97\x80\x11\x86\x6d\xe2\xb9\x1a\xe1\xa7\xba\x3b\xf7\x8f\x70\xf4\x47\x21\xe9\x56\xe7\x58\x8f\x70\x20\x93\x98\xf5\xc1\x08\x52\xf0\xf8\xe0\x0e\x28\x74\x92\xf0\x52\xe8\xb0\xa2\x82\x0e\x85\x21\x70\x49\xab\xbf\x13\xdb\x6f\x8e\x75\x91\x9c\x5b\x58\x27\x00\x3a\xf4\x1b\xb6\xbf\xd0\xa5\x5a\xae\x09\x93\x3e\x73\x53\x22\xf3\x9c\x2f\x94\xe8\x56\x51\xdb\x6f\x22\x78\x64\x5a\x09\x64\x40\xea\x4e\xb2\x52\x4c\xe4\xcd\x53\xc8\xe2\x98\x9e\xda\xd7\x60\xe0\x71\xfb\xc3\x0f\xe0\xb3\x89\x7e\xee\x10\x8e\x43\x6d\x20\x72\x6e\x26\x48\x2e\xcb\xcc\x3b\x6b\xd2\x67\x25\xa7\x94\x86\xbc\xc0\x02\xf8\x85\xd4\x16\x14\xd5\xdf\x74\x56\x6d\x9a\xf6\xb0\xb6\x11\x8b\x3c\xd3\x5e\x0c\x83\xfd\x43\x79\x6f\x25\xe1\x2f\xa7\x52\x33\x52\x40\x41\xd4\x61\xaf\xff\xb0\xa6\x95\xf9\xfb\x47\x68\x63\x5a\x3f\x79\xf9\x9c\x4d\x4a\x3e\x85\x44\xcc\x9d\xef\xd2\xec\xfa\xfb\xef\xd4\x82\x17\xdf\xff\x24\xf2\x5c\xb2\xb7\xb2\xcc\xd3\xef\xf6\xe1\x9b\xef\xf6\xcd\xaf\x1d\x0c\x3e\x60\xca\x4c\x08\x30\x0a\x1e\x76\x5c\xa9\xc8\xc3\x02\xab\xc3\xd8\x43\x26\x27\xec\x2b\x5b\x77\x65\x05\xc1\x92\x90\x9b\x15\x3d\xce\xdc\xf0\x28\x6a\x8e\x8d\x7c\x2a\x46\x0d\x93\xb1\xf3\x80\xff\x36\xcc\x0c\xfd\x22\xed\x14\xc0\x6f\x8b\x63\x8d\x1a\xef\x20\x83\x09\x2a\x70\x0e\xde\x81\x1d\xea\x45\x04\x82\xf9\x8a\x16\xa1\xa0\xba\x6a\x28\x9f\x6b\x39\x18\x8b\x01\x2c\x1e\x37\x21\xf0\x86\xb3\xae\x26\xa2\xf4\xa9\x3a\x2c\x3c\x74\x45\x41\x47\x5f\x83\xaf\x9c\x27\x22\xc5\x27\x80\x96\x0d\x2a\x3a\xf3\x72\x36\xd8\xfd\x88\x3d\x9d\x37\x0b\xd4\xbf\xc9\x33\xdd\x2c\xa9\x11\xba\x23\x9f\x14\xbb\x28\xd3\xdb\x3b\xa0\xe0\x0a\xf0\xa1\xe9\x9c\x27\x92\x64\x59\x6e\x3e\x96\x6e\xd3\xc3\xe3\x68\x40\xf7\x23\x9e\x66\xd8\x26\xc4\x0e\xbc\x08\xf8\x4c\x92\xcb\x42\xc0\x65\x08\x57\x73\x2f\x7a\x77\x9f\xa0\x66\xc2\xb6\x0d\xbe\x32\x67\xb3\xfa\xdd\x26\x6e\x7c\xbe\x1c\x2b\x5d\xd2\xa4\x0e\xdc\xbc\x0c\x18\x37\xa5\x0a\x2c\xf4\x9b\x86\x90\x27\x8d\x8f\x4d\xfa\x2d\xe8\x4d\xd7\x6f\x23\x88\x9e\xe3\xa9\xc3\x05\x37\xec\x0e\x1a\xa0\x7a\xea\x31\x04\x24\xf8\x7e\xfd\x1a\xd3\x75\x21\x34\x9f\x55\x97\xd9\x0c\x17\x75\x26\x91\xe4\x10\x30\x8a\x53\x74\x02\x46\xe2\x33\xe4\x05\xbe\xcd\xd9\x62\x21\x52\x57\x19\xcf\x7b\x1f\x25\x39\x9f\x2f\x3c\xe5\x87\x6e\x87\x1b\x09\x61\xce\xd7\x63\x71\x92\x67\x0b\xf2\x12\x6b\x54\x0b\xdd\xe2\xf2\x6c\x12\x65\x1c\xce\x11\xc6\x77\x1b\x04\xd9\xc0\x5d\xcd\xb0\x64\x28\xdb\x5d\x48\x8d\x21\x8d\xb0\x7a\x08\x8e\x1f\x2f\x35\x96\x95\xc5\xaf\xf9\x7c\xe1\xe2\x20\xb6\xbb\x4b\xb4\x0e\x7e\x7b\xf7\x89\x46\xc1\xb9\xd7\x70\xdb\x37\xc9\xb5\xe6\x41\x18\xdd\xf3\x95\x07\xcd\xfe\x3e\x3b\x37\xec\x48\x4e\x26\xb1\x9a\x16\x57\x82\x21\x30\x86\x13\xc1\x1e\xb2\x52\x28\x8d\xe5\x21\x58\xce\xb5\x70\x6a\xa1\xdd\x65\x3b\xeb\x9a\xf6\xdc\x9a\x9c\xfd\x9b\x14\x3d\x41\xc0\x75\xdb\xbe\x16\x3f\x19\xb2\xac\x3f\x1c\x1a\x41\x6c\xa9\x0e\xd4\x1b\xf0\x92\x3c\x6c\x2d\xde\xc0\x25\xee\xf6\xb4\x58\x21\xc4\x06\x39\xec\x3b\x82\x6a\xe6\x54\x97\x5f\xf1\x81\x7f\x3b\xc6\xe5\x82\x37\xea\x92\xcb\x41\x93\xf0\x42\x71\x45\x7e\xf7\x2d\x4a\xf2\xdc\x0a\x06\x50\xdc\xca\xef\xcc\xb0\xf9\x4d\x14\x1f\xbf\x47\x0d\x5a\xba\x70\x51\x91\xd4\xd8\x2c\x65\xdb\xa7\x4e\x03\xc3\xda\xf0\xb8\xa8\xcb\xa3\xf6\x41\x1b\x51\xe4\x77\x1b\xb9\xc1\xd3\x48\xbf\xbd\xe2\x18\xcd\x95\x45\xde\x89\x3e\x89\x37\xd8\x74\x04\xf0\xc6\x22\x38\x10\xca\x09\x69\x5e\x64\xbd\x8b\xb3\x54\x38\xef\x5e\x4d\x51\xbc\xbf\x1f\xd4\x92\xcd\x85\x39\xba\x46\xd2\x23\x97\x14\xeb\x79\x41\xa7\xb7\x59\x97\x56\x25\xbb\x4d\x6c\xe3\x63\xa3\x71\x9a\xb2\xd1\xc7\x42\x7b\x90\xc8\xc3\x69\x55\xbc\xe3\x7c\x20\xd9\xc3\xc9\x8b\x9c\x90\x01\xfa\x7f\xc8\x25\x8a\x47\x20\x30\x36\x5c\x19\xdd\x1e\xd1\x66\x56\x30\x59\xa6\xb6\x3c\x5b\xb6\x08\xb4\xa5\x1e\x7e\x41\x3c\x3b\xa6\x64\x1b\x55\x94\x29\x2c\x36\xb8\x5c\xb8\xcb\x0c\xc3\x63\xb4\xa4\xc8\x84\x7c\xed\x42\x8f\x28\x5c\xae\xa6\x6a\x35\xb0\x70\x85\xd1\xbd\xd7\xa0\xda\x8b\xe3\x77\x5b\x6c\xc5\xe8\x35\x1f\xbd\x5c\x74\xe9\xef\x46\x4f\xf4\x2d\x6f\xec\xb8\xd1\x05\x5a\x14\xfc\x17\xb1\x94\x74\x67\x0b\x8b\x33\x3b\x98\xab\x11\x62\x61\x00\x3d\xc8\xd7\x5c\xd9\x46\x58\xc9\x78\xcd\x16\x25\xa4\x78\x86\x7c\x41\x72\x2e\x18\x14\x3f\x2f\xa6\x08\x64\xe5\x8c\x1c\xca\x06\x5b\x52\x56\x01\x50\x3b\x97\x69\x08\x0c\x07\xe0\x33\xc1\x21\x60\x5e\x67\x73\x61\x39\x93\xd2\xa5\x75\xe4\xb4\xb2\x19\x7d\x03\x18\xb4\x73\x7e\x01\x16\x0f\x33\xe1\xd5\x8c\xeb\xbe\x3d\xd1\xe0\x9e\xe4\x22\x47\xa1\x92\x6d\xc8\x0d\x9c\x8f\x36\x24\x94\xbe\x16\x08\xcb\x60\x89\x72\x14\xcc\x97\xc9\xac\xc5\xb1\xdd\xca\x03\xf7\x8f\xdc\x1c\xed\x64\x9e\xc9\x04\x22\x8d\x93\x99\xa8\x98\xd7\xdc\x5b\x2c\xd6\x3b\x34\x29\x44\x2c\x07\x47\x63\x84\x95\xe1\x71\xfa\xf4\xd7\x5c\x70\x23\xe1\x05\x79\xd6\x44\x91\xc6\xfb\x34\x44\x30\x50\xcf\x2f\x9b\x2f\xf2\xcc\x2a\xd4\x63\xe1\x8f\xeb\x6a\x77\xfa\x0d\x24\x4e\x7b\x49\xe0\x5c\x5e\xda\x59\x6f\xb9\x3c\x3d\x75\xf6\xd8\xc0\xe9\x28\xac\xee\x2a\x82\x15\xe8\x04\xf7\xf7\xd9\x31\x2b\xc4\x14\x53\x7a\x95\xf1\xf2\x7d\x32\x9f\x46\x2f\xfd\x85\xcd\xf0\x24\x8a\xd4\x02\xb3\xcb\xf1\x51\x27\x92\xbc\xd6\xc0\x7e\xc1\xd8\x5b\xd1\x31\xd7\x23\xd1\x66\xe0\x3e\xe2\xc9\xb9\x42\xd0\x43\xaf\x0f\x52\x2d\x76\xbd\x41\xb4\x3e\x1b\xeb\x0b\x31\x02\x99\x0a\x40\x05\x25\x4a\x13\x69\xde\xe4\x5a\xe4\x6b\xb6\x2c\x20\x34\x34\x1d\x32\xf6\xda\xc6\x78\xf4\x83\x42\xeb\x3e\x50\x19\xa2\x41\x20\xbb\xaf\x2e\xb3\x2b\xa1\x67\xa5\x5c\x4e\x67\xf4\xa8\x1d\xfb\x6a\xbc\xb2\x08\x06\xed\x7b\xc9\xaf\xa3\xd9\x52\x09\x87\xab\x82\xe8\x55\x2a\x7c\x38\x2b\xcc\xf8\x93\xa7\x94\xd7\x06\xec\x49\x56\xab\xd5\x68\x18\xf5\x31\x29\xbf\xfd\x16\xc4\x9e\x36\x9a\xcf\xa2\x29\x6f\x6d\x1e\xd4\x99\xdf\xda\x76\x95\x00\x2b\x8d\xda\x7d\xd6\xd4\x90\xab\x24\xcb\xea\x6d\x9b\x9a\xea\x2c\x17\x4f\xb8\xe6\xec\x33\xb4\xab\xf7\xbc\xd0\xbf\xbf\xcf\x1e\x0b\xb8\xdc\x0c\xde\x12\x51\xf0\x32\x93\x7d\x2b\x5c\x83\x9e\x67\x51\x0a\x6d\xb3\x39\x23\x57\x64\x2b\xf3\x00\x0f\x0a\xe2\x7a\x60\xb2\xcc\xa6\x18\x3d\xeb\xce\x30\xa8\xb4\x74\xc9\x8e\x0c\xcd\xdd\x37\x1f\xa3\x30\x6a\x12\x8a\xec\x6d\x60\x0e\xe1\x05\xe4\x15\x3a\x62\x5f\xc4\x4b\x43\x5c\x84\x8d\x9b\x90\x65\xdb\x05\xcd\x5a\x50\x45\xff\xc2\xab\x28\xcb\xc5\x2e\xed\x80\xc6\x01\xcb\x4f\xcc\x85\x80\x41\x64\x3b\xf5\xf1\xa4\x00\xe6\xd7\x78\x27\xce\xb1\x4c\xf6\xd8\x6e\x48\x3f\x0e\x49\xa0\x68\x6c\x4e\x26\x50\x47\xdc\xd5\xe3\xcd\x5a\x6e\x57\x76\x14\x62\x1a\x2e\xe2\xfb\x66\x53\x9a\xc3\xda\xcd\x6d\x2a\x4b\x37\x93\x95\x70\xf1\x99\x49\x18\x29\x68\xf5\x39\x1b\x66\x83\xec\x86\x24\x84\x60\x6a\x1b\x4d\x0d\x6e\x5a\x6d\x8e\x19\x81\x5a\x02\x81\xf7\x43\xd8\x55\xcd\x04\x6b\xd6\x4f\x47\xc2\x0b\x82\xd9\x41\x5d\xcd\x8e\x58\xcc\x25\x1f\xd5\xf0\x4e\x62\xce\x4a\x45\x8f\x5c\x94\x50\x0a\xb9\x82\xd8\x6c\xcc\xbe\xe5\xf4\x1c\x98\xd9\x80\xae\x33\x14\x97\x9d\xe4\xda\x7c\xb3\xb1\xda\xbd\x16\x1b\xcf\x9a\x78\x01\x38\x57\x08\xe5\xbd\x12\x82\xbb\x2e\xb8\xc8\x2e\x48\xe3\x07\x42\x2b\x65\x83\x24\x75\x9f\xab\x2b\x98\x15\xcd\x93\xaa\x5f\x92\x47\x47\xfe\x96\xdc\x40\x9d\x55\xe2\x6c\xe4\x15\xf2\x56\x20\x0d\xe3\xb9\x5f\x01\xdc\x48\xee\x6d\x10\x82\x33\xbd\xed\xcd\xeb\x41\x84\x2a\x3b\x4c\x8b\xc7\x3c\x1f\xbc\x7f\x2b\x40\x81\xe2\xcf\x91\x51\xd3\xf3\x39\x14\xe5\x58\xa3\x3e\xe5\x22\xde\x2b\x2b\x90\xad\x4a\x69\xa4\x60\x48\xe8\x60\x63\xc9\xed\xce\xa3\x2e\x3a\x24\x4c\x04\x35\x16\xd3\x0c\x33\x2d\xcb\xb2\x45\xf2\xea\xe3\x3b\x14\x22\xd3\xd3\xbf\xf1\x24\xe2\x60\xe6\x89\xc3\xef\xd1\xab\xd4\xe0\x39\x03\xa1\xb3\x48\xc1\x15\x6d\xe8\x72\x76\xd4\xb7\xda\xc8\x58\xe4\x4f\xed\xe7\xd0\x3c\x38\x4b\x66\x22\xb9\x22\xc3\x0f\x66\x34\x62\x0a\x59\x82\x17\x83\xec\x2f\xd6\xbc\x15\x31\xa8\xca\x8f\xde\x2c\x56\xed\xf5\xf9\xe7\xb1\xbe\x63\xdb\x99\xab\xf4\x0f\x6e\x81\xca\x2f\x11\x2d\xe2\x1e\x6f\xe0\x66\x8d\xf3\x6d\xe1\x64\xd5\x17\xc9\x86\x81\x7b\x1b\xcc\x73\xa0\x5c\x11\x91\x06\x66\x8b\x17\x14\x3e\x7d\x76\xe2\xeb\x04\x38\x64\xec\xf5\xae\xce\xd4\x28\x56\x9e\x7d\x37\x2e\x79\xe3\x01\xd9\xcc\xb4\x3c\xd9\x6d\xa0\xf6\x80\xe0\xc0\x24\x52\x23\xb6\xd0\x8e\x7a\xd4\x72\x5b\x79\x22\x0b\x5b\xdf\x96\xc0\xc2\xeb\x2f\x30\x84\xfb\x6f\x1b\xd9\x64\xcb\xef\x1b\x28\xae\x36\xf1\x1d\xa9\xcd\x13\xc1\xff\x41\xaa\xaa\xcb\x08\xdb\xc8\x8a\x1c\x1b\xa9\xf6\x0b\x66\xce\x72\xaf\x2f\x4c\xf0\xc9\x8b\xb5\x7d\x7e\x85\x8f\xa5\x99\x28\xcd\xe3\x05\x0a\x6b\x65\xba\xe3\x94\x72\x53\x49\xce\x65\x5e\x9a\xaa\x29\xc2\x3c\x1a\xb7\x19\xef\x71\xae\xcd\x2e\x42\x35\x79\xce\x30\x75\x25\xe7\x02\xcd\x69\x51\x7d\x9c\x26\x79\x83\x9e\x9b\x08\xc9\x8a\x82\x68\x80\xcb\x74\xcd\x8a\x0b\x09\x80\xd0\xb1\x79\x09\x7b\xe9\xcd\x8a\x66\xa8\xb1\xd0\xab\x30\xa9\x80\x37\xc9\xb5\x5d\x7e\x77\x27\x89\xbb\xb0\x99\x9a\xfc\xb8\x99\x32\xb6\xb0\x9b\x40\x57\xf9\xd2\xfb\x78\xd3\xb3\xb4\xa6\xae\x6c\x76\x44\xff\x1f\xac\x86\xac\xe4\xef\x68\xd5\x44\xce\xf9\xcd\x33\x74\x4d\x6b\xf6\xea\xda\x64\xfc\x21\xc5\x80\x03\xd1\x0b\x8e\x10\x7b\xa7\x74\xf9\xde\x19\x7a\x57\x1b\x75\x7a\xb7\x90\xbc\x6b\x26\x1a\xcf\xe6\x37\x59\x5f\x9c\x85\xb7\xc1\xe5\xe9\x08\xc8\x2e\x92\xe3\x33\x15\x04\x16\x38\xed\x0a\x67\x85\x1c\xc8\x45\x1f\x9f\xf8\xf3\x8a\xd1\xcb\x47\x99\xb4\x32\xa3\xd8\x13\x67\xb3\x92\x71\xd5\x7a\xeb\x42\xbf\x54\xe4\x42\x8b\x93\x19\x2f\x55\xf7\x39\xd7\xb3\xe1\x3c\x2b\xba\x94\x7e\xc9\x6f\x88\x3f\x86\x51\x8a\x17\xc4\x7a\x70\xc2\x7e\x90\xe5\x8a\x97\xe9\x00\xa1\xa2\x62\x88\xdc\x83\xc3\xfc\x2d\x3b\x1d\xba\x0b\xf2\x6c\xd0\xae\xc0\x1a\x31\x46\x04\x9e\x46\x05\xc6\x14\xa6\xc2\x17\x29\x94\xc0\x83\xfc\x4d\xf9\x9a\xf1\xc9\x44\x24\x1a\x52\xd5\x54\x15\x79\x82\x29\x3e\x17\xd6\xc3\xba\x7e\x10\x37\x04\xe3\x44\x19\x3a\xe4\x24\x04\xad\x25\xcd\xce\xba\xaa\xb8\x3c\x39\x2d\x76\x72\x04\x32\xcf\x8a\x65\x83\x82\x79\xd8\x9e\xe4\xa0\x3a\x87\x8a\xae\xd2\xe5\x96\x24\x5c\x6d\x3c\xe2\x01\x09\xb4\x04\x96\x6e\xb0\xe2\x3d\xda\x51\x27\x1d\x1a\x84\xe1\xc7\x9d\xcc\xc2\x8c\xd0\x7e\xc4\x1c\x6d\x52\xbc\x6a\x13\x8f\x69\x80\xef\x3d\x23\x82\x5c\x05\x84\xd1\x03\xef\xda\x79\xed\x13\x1f\x58\xf3\x01\x2f\x35\x12\x7f\xdf\x88\x9d\xcf\x28\x71\x45\x6c\xa6\x64\x9f\x7f\x1e\x06\x45\xb1\xb0\xdb\xad\xdc\xfd\x3e\x81\x77\x4a\xf0\xd4\xdd\xad\x2b\xed\xd8\x7d\x17\xa7\x65\xba\xba\xa5\xde\x6a\xfa\x94\xcc\xe1\x28\x5a\xff\x20\xc4\x9b\x95\xab\xa5\x55\xdc\x87\x2d\x3f\xff\x3c\x18\xf7\xf3\xcf\x63\x2c\x1e\xf9\xdf\x22\x7d\xdd\x0b\x19\x12\x3c\x28\x45\x2d\x63\x58\xd1\xe3\xb7\x0c\xf4\xe4\x28\x42\x95\xe0\x87\x38\xe6\xe3\x7c\xcd\x74\xb9\xb6\x6a\x7a\x00\xe8\xce\x2e\xb0\xad\x38\x1d\x13\x26\x05\x5e\x65\x69\x70\xca\xbc\x64\x66\xd3\xdc\x45\xca\xd8\x86\xc6\x20\x88\x12\x7f\x07\x7d\x8e\x11\xde\x20\x47\xa8\xf3\xca\xab\xe9\xee\xe0\x8b\x5b\x08\x5e\x1d\xd6\x71\xc2\xfd\x46\x77\x22\x07\xb8\xc5\x9d\xa8\x85\x2c\x31\x4e\xa9\x4a\x2a\x07\x4e\x09\x67\x29\xe1\xb0\xe1\x4d\x81\xda\xc5\x16\xa7\x51\xa4\x8f\x00\xe8\x11\x3b\x30\xc4\x00\x88\xfb\xac\xce\x78\x62\x17\xe3\x2d\xde\x4d\x8c\xbc\x84\xbd\xdb\x2a\x4d\x06\x7f\x92\x75\x15\x9e\xf7\x82\xa8\x49\x9f\xd9\x84\xe2\x41\xb8\x8d\x0f\x28\x64\x01\x25\x03\xdc\x13\xa2\xe2\xea\x41\x5e\x09\x56\xbb\xfe\xd9\x11\xfb\xc2\x2c\xed\xb3\x4d\x92\x46\xe8\x68\xbc\xd5\xcc\xcb\xaa\x9a\xfc\xaa\x92\x63\x93\x9f\xf0\x36\xa5\xcb\xdd\xde\x43\x81\xe2\x6d\xc3\xbc\x36\x5a\x23\x02\x8a\xdc\x71\xfe\xbb\x3e\x89\x0f\x1a\xd5\x90\x06\xd5\xb0\xa1\xed\x3e\x2d\x3b\xba\xe8\x6f\x0f\x33\x73\xe3\x6c\xd2\x90\xbb\x46\x3b\x2d\xa6\xf5\x05\x1e\x1e\x88\x8a\x36\x07\x68\x9d\xee\xc3\xf2\x3a\x96\xe5\xb2\x22\x55\x94\x3c\xe7\x97\xc1\xd9\xcb\xb7\x58\xda\x16\x1e\x1b\x41\x46\x34\x1f\x7f\x0f\x8d\x40\x66\xb1\x85\x57\x6d\xf5\x95\xe8\x81\x52\x95\xb0\xd0\x47\xd5\x08\x62\x38\x0a\xb8\x83\x4f\xb3\x82\x29\xc1\xcb\x04\x73\xe1\xf9\x14\x3e\x72\xe2\x02\xc8\xbc\x68\x84\x20\x8c\x5c\x44\x20\x28\x5b\x23\x6f\xd1\x56\x5a\x08\x1b\xf3\x40\x99\x47\xd2\xb9\xb9\x89\xce\xe4\xea\x43\x63\x36\x0a\x92\x04\x4a\xb9\xaa\xd2\x75\xa8\x33\x62\x0d\xbf\x0f\x67\x5c\xb5\x3b\x54\x04\xde\x4f\x18\xb6\xd0\x74\x2e\x3f\x06\x1b\x27\x57\xd1\xce\xfd\x08\x21\xd3\x36\xfd\x24\x62\xdf\xe3\x00\x2e\x1c\x1b\xa9\x75\x8e\x3b\xa4\x76\xdd\xa2\x1f\x62\x72\xa8\x6f\x85\x4d\x5a\x0e\xd2\x3b\x05\x0b\x87\x2d\xb7\xa2\xdc\x74\x6c\x46\x37\x39\x9c\x91\x75\x67\x6f\xef\x51\xb4\x05\x01\xd2\xac\x75\xcd\x2c\xb2\xa6\x4a\xa3\x08\x98\xdd\x76\x20\xdc\x83\x1a\x6f\xa9\x70\x0f\xa8\xc3\x1c\x04\xa4\x44\xfb\x83\xa6\x8f\x5a\xda\x33\x55\x25\xd8\x22\x01\xdf\x31\x4b\xa8\x74\x9f\x34\x6c\x06\xdc\x63\x2f\xc8\xfe\x37\x15\x76\x4f\x1c\x80\x09\x3e\x65\xaa\x67\xa4\xd2\x4a\x4e\x48\x83\x6a\x6b\xe7\x53\xc2\x4c\xc8\x22\xbd\x75\xbb\x7e\x39\x93\xab\x63\x02\x55\x73\xe7\x8e\x8e\x48\xe8\xd3\x07\xea\x55\x6b\x6d\x7e\x61\x1e\x61\x47\x47\x47\xac\x03\x33\xeb\xf4\xea\xc8\x0c\x03\x4d\xfc\x2d\x5f\x39\x02\x18\xeb\xd2\x80\xdf\x20\xd2\x13\xbc\xf7\x90\xce\x83\x47\x9b\x61\x12\x74\xff\x53\x13\x8b\xf4\x5b\x1f\x0e\x42\xae\x8e\x19\x8e\x3f\x23\x9b\x37\xd0\x87\x1d\x4e\x36\xba\xe6\xbf\x0c\xdc\xf2\x23\xfa\xa8\x3d\x14\x5f\xdd\x7d\xed\x1b\xf7\xdd\xc2\x7d\x9b\xe9\x99\x55\x23\x55\x8f\x6c\x9f\xd5\x7d\xfa\x7d\xf8\x5b\xf8\x0c\x1b\x1c\xda\x47\x97\x25\xcb\x33\x1f\xf8\x58\xa5\x32\x2f\xd0\x01\xb0\xa0\x47\x0b\xcc\x85\x8f\x1b\x3d\x08\x18\x46\x38\xd4\x67\x47\x2c\xe0\x1f\xae\xc3\xfd\xad\x22\x8e\x8f\x9e\xdc\x89\xa9\x18\x91\xaf\xc2\x48\xee\xc2\x67\xa2\x25\xd6\x78\x8d\x9f\xbe\x43\x60\xb8\x5d\x59\x61\x6e\xb3\x86\x0d\xda\xe9\xf0\xd0\x05\xbc\xcb\xd9\x79\x62\x1d\xe8\xef\x2a\x03\x44\x47\x02\xa1\xdf\xea\x14\x39\x06\xb8\xf9\x18\x05\xf3\x6e\x07\xb1\xf5\x64\xed\x8e\x98\x9d\x0f\x16\xee\xd4\x8e\xa7\xaa\xc2\x1c\x2b\x24\x8d\xde\xcc\x2b\xc1\x74\xc9\xc1\xc8\xe6\xb4\x50\x5a\x2e\x2a\x06\xe3\x52\x74\x60\xdf\x66\x94\x21\x65\x92\x15\x29\xbc\x5b\x87\x31\xf3\x0e\x06\x3b\x22\xc7\xa6\x3a\x7d\x86\x47\x72\x03\x35\x56\x00\x56\x17\x19\xda\xf0\x77\x22\xea\x08\xd6\x41\xcf\x5e\x15\x4d\xec\xa0\x25\xd5\xd2\x30\x31\xc2\xf2\x0b\x28\x9c\xdf\x90\x74\x29\x50\x66\xbd\x70\x11\xbc\x41\x9f\x77\xd9\xfb\xe8\x55\x16\xa1\xca\xf1\xbf\xa6\x33\x1b\x86\x64\xde\x82\x13\x05\x63\xf4\x2a\x37\xa3\xd9\x87\x86\xa3\xed\x02\xba\x20\x49\x37\x92\xaa\x4f\xb8\x4e\x9b\xdf\x74\x79\xfe\x91\x37\xa3\x3b\x5f\x6e\xe0\xc6\x2b\x0c\x7c\x81\x75\x99\x89\xeb\xda\x1a\x1a\x12\x22\x7d\x64\x17\x2b\xc9\x04\x26\x44\xc2\x6c\x4d\xe1\xfb\xa5\x8a\x04\x83\x01\x01\x25\x5d\xb1\xbe\xc0\xc6\x03\x6b\x56\x78\x5c\xa4\xc8\x4b\x36\x5f\x87\x76\x49\xd5\xa7\x83\xb9\x15\xdc\x72\xbf\xdf\xe5\xca\x09\x05\xa9\xdf\x77\xe9\xb8\x71\x07\xb7\xb8\xeb\x3e\xdd\x5d\x65\xcf\x72\x0d\x8b\xe1\x81\x76\x78\xfb\x74\x64\x6c\x1f\x3f\x7f\xf8\x1d\xb5\x9d\x9e\x5d\x9e\xb4\xff\x9a\xe4\xdc\x72\x09\xc5\xb4\x7c\x77\x1e\x5a\x6c\x64\x9e\xb6\x85\xa1\xc9\xb7\x77\x8a\xa0\x77\x68\xff\xee\x28\x86\xe4\x8f\x40\xcb\x6b\xe4\xfc\xd5\xf1\x8b\x8e\x6f\x05\x75\x00\xd8\x93\x32\xcb\x73\x96\xca\x15\x24\x1f\x2b\x82\xd4\xf0\x98\x13\xc6\x74\x1a\x02\x8a\xdd\xd3\x7f\x37\x42\xc7\xfb\x2e\xa0\x74\xec\x5d\x39\x4c\xde\x24\x1a\xb7\x7f\xef\xda\x07\x7a\xa0\xf0\x68\x47\x4b\xaf\x3e\x9c\x9a\x73\xb0\xff\x57\xbf\x20\x30\x87\x1e\xa8\x67\xc2\x87\x13\x85\xcd\x57\x67\x53\xeb\x2e\x8a\x94\x9d\x16\xe9\x2d\xba\x9e\x99\x5f\x3f\x52\x23\xf8\x03\xb2\x65\x41\x0c\xfa\xe6\x73\xa5\x84\x86\xf6\xf5\x63\x04\x8b\x00\xf3\x52\x1f\x01\x7b\x3d\x07\xfc\x14\x91\x4b\xf0\x22\x6a\xbf\x75\x02\xb8\xee\x91\xd4\x04\x2a\x94\xd8\xbc\x55\x18\xf4\x9f\x45\x7a\xd7\x61\x45\x91\xba\x41\xeb\x60\x9a\x87\x84\x65\x1b\x14\xc1\x56\x36\xcc\xf5\xdd\xc1\xfb\x7e\x03\x36\xde\x1d\x62\x3a\x4b\xd7\xff\xb4\x48\x6b\x83\x42\xdf\xda\x97\xd0\x33\x0c\x77\x86\x1a\x08\x2a\x48\x3c\x01\x9a\xcb\x12\x63\x06\x5e\x9f\x3d\xab\x15\x29\x75\x69\x25\x3e\x06\x9d\xce\xc3\xee\x58\x57\x61\x33\x5d\x60\x1b\xdf\xad\x3d\x3b\x05\x3c\x75\xfd\x77\x11\x0a\xad\x5e\x0c\x28\xf2\x28\x48\x5f\x31\x25\xb2\x3b\xd6\xdd\x03\xff\x60\xc6\x76\xbf\xfd\x46\x88\xd3\xd2\x96\x65\x41\x0f\x89\xee\xfe\xa5\xda\xef\x35\x8f\x10\x3d\xca\x23\xe5\x68\xb7\xf9\xa9\x4e\x7b\x63\x5a\x39\xfb\x54\x2f\x98\x4a\xfc\x66\x77\x03\x41\x87\x20\xdd\x53\x93\xc4\x1f\x53\x5e\xf8\x3e\xd8\xf9\x5f\xd3\xec\x7e\x37\xa4\x97\xde\x67\xca\x1d\x3d\xbf\x94\x23\x36\x38\x6c\x39\x73\x7f\xf4\x7a\x71\x8e\xa2\x48\x7f\xd7\x5a\x1d\x94\xca\x3a\xa3\x05\xd4\x57\x89\xe6\xb4\xd7\x0a\xdd\x5c\xa0\x40\x77\x22\x8b\x49\x36\x5d\x96\x10\x4f\x01\xa4\xc7\x94\xd0\x3a\x2b\xa6\xca\x86\x8d\xe5\x62\xa2\xa1\x5e\x08\x63\x16\x2b\xf5\x62\x24\x16\x85\xe0\x20\x42\xad\x1b\x1b\x43\x5d\x92\x47\x2e\x61\xa1\xca\x52\x81\xcd\x1b\x5b\x63\x89\x12\x9a\x39\x44\xa5\xe3\x85\x43\xcf\x66\xf0\x31\xa9\x69\xa4\xc3\xb3\x01\x5a\x6c\x27\x34\x63\x65\xc6\x42\xbc\x5e\x5c\xc8\x33\x3a\xa9\x51\xc6\x08\x73\x04\x09\x10\xd8\xf4\x03\x84\x7a\x00\x62\xa2\xcf\xc4\x74\x99\xf3\xf2\xf4\x66\x51\x0a\xa5\x7c\x99\x9c\x33\x31\x3d\xbd\x59\x74\x3d\xca\xee\x47\x6b\xbc\xcf\xf6\xfe\xd7\x9e\x03\x84\x8c\x47\xa4\x78\x7b\x1e\xc5\x33\x1b\xa2\xd5\xa5\xdb\x38\x9a\xdf\xf0\x18\x84\xd9\x72\xc3\x54\xe2\xaf\xbf\x8f\x8f\x72\x03\x4d\x00\x66\x21\xbc\x29\x70\xf3\x19\x06\x08\xfb\xa1\x94\xf3\xed\x08\x8b\x86\xd9\x99\xae\xab\x2e\x64\x04\xae\xd7\x8b\x68\x6a\x0b\xc6\xf7\xfe\xba\x57\xc3\xb5\xa7\x45\x07\x0a\xab\x32\x1e\xc5\x6b\x22\x96\xdb\x3c\x8c\xe7\x93\xd0\xb7\x91\x6d\x10\xb6\x4f\x01\x74\xcc\x6b\xee\xd7\x96\x07\x60\xde\x1d\xbc\xaf\xed\x21\x74\xaf\xee\xa0\xf9\xf2\xbb\x88\x0c\xab\xbb\x67\x63\xd8\x51\xb6\x21\x09\x20\xdc\xff\x7e\x08\xcc\x0a\x38\x66\x70\x7f\x47\xf1\x34\x85\xee\x5d\xfb\xe3\x4e\xa5\x37\x65\x9e\x1b\xd9\xf2\xbf\x63\xf9\xcd\xb0\xf0\x6d\xa5\xd4\x66\x50\x52\xf3\x98\x75\xae\x33\xb1\x32\x48\xe8\x30\x28\xab\x29\x27\x6c\x92\xdd\x88\x74\x30\xc3\x72\x3c\x90\x79\x13\x0c\x7d\xf6\x69\x0b\xe1\x4e\x3e\xb5\x56\x01\xee\xa8\x89\x5c\xac\x07\x5a\x0e\x92\x3c\x5b\x8c\x25\x2f\x5d\x29\xc6\xce\x1b\x07\xdf\x16\x6b\x80\x20\x45\x1b\x48\xcb\x35\x96\x30\x34\xab\xb4\xb1\xa2\xae\x86\x61\xe6\xf2\x42\x61\x16\x51\x97\x11\xfc\x15\xa6\x00\x2b\xa1\x6a\xdd\xe1\xc1\x41\xff\xe0\xe0\x00\xba\x61\x5e\x15\xd3\x2a\xa8\x4a\x98\x51\x99\xc4\x07\x0f\x7d\x75\x4b\x9e\xe7\xa4\xaa\xb4\x3f\xa5\x72\x6e\xdd\x9e\x4b\x41\xd1\x71\x29\xd6\xfa\x0b\x81\x41\xa8\x36\x57\x57\x8c\xca\x29\x9e\x05\xb3\xf1\x51\x75\xe6\x60\x47\xcb\x91\x05\x4b\xc5\x1c\x32\x51\x51\xde\x27\x33\x0a\xd2\xa0\x30\xfb\x4c\x99\x3e\x43\x3c\xf0\x52\xf0\x28\xbf\xa9\xdd\x2b\x2c\xe4\xa9\xb2\xa9\x21\x27\x9b\xdd\x09\xf7\x84\xf2\x6d\x56\x76\x83\x29\x6d\xa6\xbd\x92\xe5\x95\xea\x1b\x70\xe2\x5a\x14\xe8\xdd\xc4\xf3\x9c\xc9\x32\x0c\x03\x0d\x76\x17\x4b\x6b\xe0\x14\xe5\x64\x52\xc9\x86\xff\x42\x6a\xe1\x63\xb9\x7f\x39\x3c\x64\x73\x69\x28\xd3\x0f\xeb\x92\xdf\x98\x91\xbd\xcf\x71\x75\xe0\x7b\x41\xb5\xc5\x70\xec\x60\x48\xc6\x9e\x6a\xef\xf7\x9a\x66\x93\x49\x96\x2c\x73\x8d\x8a\xe5\x1b\x24\x2c\x43\xa6\x54\x01\x90\xaa\xae\x1a\x14\x81\x8f\x7f\xa1\xe1\xe9\x08\xf1\xfd\xe6\xb5\xc9\xf5\x4c\xe6\x72\x4a\xde\xff\x50\x12\x33\x18\xda\x50\xa8\x0a\x33\x6d\x85\x9b\x4c\x8e\x60\xde\x22\xab\x9a\xab\x56\x6a\x3e\x65\x05\x9f\x0b\x5b\xb5\x72\xe8\xb6\x11\x6b\xa3\x2a\x1b\x2f\x08\x87\xfe\xef\xcb\x2c\xb9\xca\xd7\x8c\x2b\x33\x67\x72\xec\x2c\x4b\xb3\xa3\x54\x78\x93\xe1\x89\x0c\xe8\xc4\x9f\xcd\x44\xd5\x9e\x16\xc1\x94\x3f\x46\x47\xe6\xd8\xa5\xcb\x4b\xf8\x02\xa4\x26\x39\xa1\x9c\x7a\xae\x38\x2d\x77\xce\xa6\x25\xa7\xe8\x41\x4c\xcd\x8d\x27\xa4\xe2\x04\x6a\x8f\x46\xfc\x2a\xb5\x03\xe2\xcb\x23\x2a\xc4\xcd\xd3\xf4\x31\x65\x7e\x06\x89\xbf\xe7\xef\x81\xa0\x23\x65\x5a\xb4\x7f\x5a\xe9\xef\xfc\xed\xf1\x8f\xb1\x97\x2a\xd6\x76\x5b\x16\x3a\xcb\x5d\x3e\x21\x4c\x4c\x80\xc9\xcc\xc8\x95\xc5\x36\xa7\xaa\x6a\x95\xfa\x69\x87\x07\x7d\x76\xe8\x8b\x02\x3e\x79\xf9\x1c\x95\x16\x90\xed\xd8\xf0\x3c\x3f\x1c\x01\x07\xbf\x1d\x37\xef\x65\x8e\x33\x76\x05\xf2\xe8\x5a\xf3\x8f\xb2\x60\x40\x5f\xbc\xd3\xbd\xda\x02\x44\x40\x06\x82\x39\x5f\x50\x32\x65\xac\x68\x7a\xf4\xbd\xcb\x91\x13\xd5\xbe\xb5\x06\xff\xb4\xe4\x2b\xc8\x12\x67\x4f\xb2\x8d\xcc\xa3\x04\x19\xa5\x30\x2d\x3e\x74\x7b\x10\x04\x30\x64\xec\x05\x59\xe9\xd1\xbd\x11\x2a\xb7\x57\x1b\x63\xd3\x20\x32\x82\x82\x14\xcc\x2c\x4e\x78\x32\xab\x15\x20\xbc\xe5\xb4\x57\xbc\x61\xde\x2e\x3c\xd1\x85\xfb\x55\xa6\x6e\xe7\x63\x7f\xaf\x4e\xe8\x1f\x1f\x83\x87\x42\xca\xd2\x25\x84\x1b\x20\x1f\x03\xc6\xa7\xc9\xbd\x5a\x9b\x43\x60\x5d\x3c\xa9\x98\xe5\xda\xb4\xc5\x4a\xad\x19\x55\xab\xcd\x7e\x15\x6e\xcc\x9c\x2b\x8d\xef\x6f\x90\x85\x6a\xf9\xef\xfd\xef\x58\xce\xae\x56\xa1\xb1\x5c\x0a\x9b\x98\x11\x9e\x2f\x3e\xfd\x02\xcf\x5d\x46\x6e\x62\xe5\x98\x32\xad\xa0\x18\x13\x4c\x85\x3d\xbc\xe7\x03\x02\x30\xdd\xb5\x39\xc2\xde\x53\x95\xcd\xa4\xd2\xac\x14\x7f\x5f\x0a\xa5\x15\x31\xe4\xb4\xe4\x53\xbb\x72\x7b\x5d\xd8\xda\xf3\x08\xcf\x88\xce\xcb\x05\x95\xf1\x87\xf8\x1f\x43\x93\x90\x9b\xdf\x0b\x59\x35\xa2\x3e\x2d\x60\xf0\x0f\x2e\xa5\x8f\x0f\x51\x75\x25\x9a\xd0\x8f\x13\xb9\xa5\xe7\x91\xe6\x17\xca\xe3\x59\xf6\x59\x29\x06\x0b\xb9\x58\xe6\xe6\xc6\xa5\xfd\x42\x48\x90\x7a\x13\x36\x0e\xd1\x09\x21\x26\x1e\xd3\x50\xcd\x93\xaa\xcd\x45\xd5\x4a\x69\xb3\x57\x33\x21\x72\xb6\xc8\x6e\x44\xce\x52\x91\x6b\xce\xe6\xcb\x5c\x67\x8b\x3c\xc3\xcb\x3a\x2b\xcc\x75\xad\xc4\x7e\x2a\xf0\x03\x42\xd0\x1e\x82\x5a\x08\xb8\xfa\x08\x91\x08\x10\x31\x39\x64\xe7\x42\x18\xa9\x52\x2f\xd4\x68\x7f\x7f\x2a\xe5\x70\x9a\xef\xab\x5f\x44\x5e\xfc\xdd\x61\x0a\xa0\xbc\x35\xbd\x9e\xbb\x91\xcd\x6c\x0f\x6b\xb8\xd2\x72\x99\xcc\xec\x26\xad\x04\x53\x7c\x15\x3a\xbe\xe1\xcf\x98\xed\x1a\xa1\x66\xc5\x14\xea\x3a\xa7\xe2\x46\xa4\x14\xd0\xbb\xa6\x76\x59\x2a\x0a\x9d\x4d\x32\xe0\x8d\x45\x22\x2c\x5b\x84\x80\xaf\x39\xe6\xa5\xe1\x05\xb8\x27\x63\x07\x0e\x8a\xfd\x08\xb9\x17\xe6\x87\xf0\x3c\xd9\xfa\xb5\x21\x0d\xc3\xd4\x09\x57\x70\x6a\xd2\x00\x7b\x34\x71\x43\xe3\xab\x20\xfd\x1a\x1a\x4d\xc2\x7a\xb6\x99\x3a\x27\x29\x03\x5f\x20\x9e\x98\xec\x98\xc7\x6c\xba\x14\xaa\x16\xf0\x61\x6b\x33\x97\xb6\xce\x37\xc8\xae\xe6\xcc\xe0\xb9\x45\x7a\x09\x46\xa2\x8e\xe7\xb6\x1f\x9c\xe2\x57\x37\x66\x47\xbe\x8a\x47\x7c\x3b\x13\x94\x29\x55\xb0\x44\x97\xf9\xe0\x9a\x5d\x89\x75\xa5\xa0\x3a\x9d\xde\x05\x57\x94\xf9\x2a\x18\x49\x97\xf9\x9b\x57\xe6\x87\x28\xff\x33\x86\xca\x64\xd7\x35\xce\x61\x6b\xde\x56\x39\xc6\x89\xc1\x4b\x62\x55\xcb\xb8\x4f\x90\x9f\x48\x2e\x35\x9b\xf1\x22\xcd\xc3\x4a\xbb\xf8\xbd\x0a\xb6\x0d\xbe\x97\x63\x78\xa3\x94\xb5\x1f\x9e\x9c\x3e\x7e\xfd\xe3\x07\x3f\xc3\x8f\xee\x69\xf0\xaa\x94\x37\x6b\x1f\x4a\x8e\xd9\x70\x6a\x19\x77\x57\xb3\x2c\x99\x21\xeb\x54\x1a\x94\x9f\x33\xb4\x43\xad\x78\x7e\x05\x81\x67\x28\x25\x9b\xeb\xd4\xfa\x00\xd8\xe2\x1f\x64\x67\xb2\x52\x05\x66\x91\x91\x10\x6b\x68\x01\x27\x72\x2e\xc8\x73\xb4\x2a\xdf\x54\x6f\xd2\x8f\x44\x0c\x20\x89\x98\x53\x85\xa6\xfb\x7a\x8d\xf2\xb0\x1a\x76\x5d\x88\x19\x36\xab\x51\xdd\xef\x41\xea\x7c\xff\x25\xc4\x09\xba\xbf\x2a\xa7\x85\xb8\x5d\xb5\xf4\xaf\x6e\x12\xb8\x91\x86\x6c\xc7\x4c\x41\x1a\xac\xb1\x08\x93\x08\x96\x6c\xb2\x34\x1f\x6c\x25\x1e\x94\x8c\xa9\x5d\x2c\x41\xf3\x22\x99\xc9\x12\xa1\xd1\x3e\x4e\x64\xb2\xa4\x47\x52\x66\xde\xae\xf6\x9a\x36\xef\xd3\x25\x2f\x79\xa1\x29\x10\x76\x2c\x58\x2e\x94\x1a\x18\x3e\x31\x90\xe5\x40\xfc\x7d\xc9\xf3\x81\x96\x08\x0d\xdf\x6d\x13\x1b\x4a\x7d\x66\x4f\x34\xfe\xfa\x74\x82\x8f\x2a\xc3\x5e\xa0\x4a\x9f\xf2\x75\x83\xe0\xc9\xa5\x48\xdf\x4b\x31\x19\x67\x50\x75\xfb\x69\x24\x8a\x20\xa4\x80\xde\xca\xfa\xf3\xc0\x26\x28\x6e\x80\x6a\x4e\x50\xe5\x40\xfa\x9f\x83\xf3\xb5\x65\x97\xc2\x6c\x56\xff\x25\xf7\x68\x0a\xcf\xcd\x72\x87\x6d\xb2\xcb\xff\xaf\xbf\x51\x38\x50\xf3\x36\xd1\xd5\xe3\x20\x7c\x76\x14\xd1\x5f\x70\xa3\xc0\x7d\x0b\x36\xc3\x4d\x80\x6a\x53\x85\x40\x4a\xce\x16\x32\x33\x52\x4b\x90\x2c\x9b\x0a\x9c\xd4\xc6\x39\x71\x6b\x6b\xa8\x76\x84\xb9\xad\x39\xcb\x33\x05\x1b\x61\x5f\x15\xb6\xc4\x7e\x90\xa4\xd9\x97\x03\xf3\x6f\x0f\xb3\x7f\x06\x4c\x66\xbd\xe7\x79\x92\x40\xb9\xf3\x29\x16\xd9\x48\xc5\x42\xcf\x06\xf8\x13\x6a\x5b\x2d\x97\xb4\xb6\x57\xef\x8a\x5b\xf8\x70\xf0\x59\x96\xa7\xa5\x80\x52\x3d\xde\x3f\x77\x13\x2b\x0c\x6c\x4d\x86\x83\xff\xe0\x6a\x11\x84\x3c\x12\x8d\xc5\xc0\x74\xfb\x38\xc6\x71\xb9\xae\x45\xfd\x61\x83\x6a\x39\x83\x16\xe7\x5e\x0b\x65\x08\x75\xc0\x5e\x4e\xa8\xc1\x67\xde\x30\x50\x71\xdb\x8d\x3d\xcb\x6a\x6e\x03\xbd\x28\x40\x03\x62\xf5\x60\x17\xe3\x45\x91\x11\xdd\x2d\xe1\x51\x60\xe0\x2f\xaf\x7b\x55\x1b\x7a\x79\x1d\x05\x28\x15\x9b\xb2\xd9\x6f\xb0\x96\x9f\xaf\x8b\x64\x56\xca\xc2\x3c\x4e\x41\x9b\x61\x6f\x58\x10\xc9\x03\x99\xc7\x50\x47\xc8\x8c\xa2\xf2\x37\xdc\x9c\xe5\xc1\x8a\xaf\x41\x74\x46\x78\x90\xd7\xaa\xef\x28\xab\x72\x32\x7d\xb2\x71\x8c\x30\xc5\x61\xfb\xa0\xb5\x81\x4c\x7f\x70\x04\x0c\x44\x5e\xde\x92\x56\xcc\x14\x9a\x33\x31\x2b\x91\x4f\x08\xf9\xa1\x20\x9c\xca\x79\x5d\xc4\x98\x71\x78\x9a\x9a\x19\x40\x49\x21\x90\xeb\x8d\x70\x80\x07\xc9\x88\x08\x74\x3a\xb2\xc2\xcb\xef\x56\x9c\xb2\xa9\xe6\x6c\xaa\x03\xb0\x15\x91\xd6\x4a\x2e\x35\x3e\xa7\x82\x37\x95\x4b\xd5\x18\x15\x3a\x32\x8f\x25\x7c\x2e\x3a\x75\xd7\x1e\x72\xee\x3d\x97\x0e\xc7\x4a\x29\x1e\x04\xb6\x00\xc2\xea\xf6\x7c\x55\x80\x49\x78\x15\x61\x9b\x33\xb9\x7a\x54\xf9\x99\xdc\x01\x03\x15\x37\xb4\xf4\x31\x3c\xbe\xa9\xb3\xaf\x57\x1b\x87\x69\xad\xa0\xb9\x63\xad\x70\xc7\xc4\xa3\x92\x79\x3b\x02\x03\xcd\x2a\x43\x8a\xc0\xa0\x5f\x69\xe9\xc7\xf3\xd9\x8a\x6e\x85\x53\x80\xb2\x09\xa5\xd0\x60\x33\x46\x1b\x96\xd6\x8c\xd0\xa6\xc5\xb5\xe1\xb3\xb2\xbc\x2a\x3a\x9b\x76\xb1\x09\x9f\x8d\x7b\xd8\x8c\xd0\xea\x0e\xba\x72\x2c\xa1\x4a\xa9\x2a\x87\x0e\xa7\x42\xdb\x90\xb2\x6e\xcf\xfc\xe5\xf5\x4b\x81\x92\xad\x26\x0a\x35\xdf\xbc\x1b\xee\xd2\xc6\xeb\xcf\x7b\x16\xb0\xdf\x7e\x0b\x96\x12\xb4\x8a\xd3\x57\x07\x3f\x34\x1a\xf0\x1d\x5a\x37\x20\xd1\xbb\xe1\x53\xd3\xcf\x3f\x67\x9f\x75\x3b\x56\x6a\x02\xb3\x83\xfb\xd1\x79\x3c\x86\x90\xdd\xe7\x5a\x50\x48\x10\x1c\x40\xfd\x9b\xeb\x06\x9d\x57\xc4\x39\x94\x8c\xb4\xd5\x0b\x43\x5e\x18\xfb\xcc\x81\x7a\x42\x0d\x96\xc5\xa6\xf5\x39\x57\xb2\xe6\x5c\x30\x68\x0f\x44\x6a\x6f\xa7\x6c\x42\x90\x6b\xd8\x80\x1f\xfb\x9b\x43\x4f\x00\xd5\x7e\x6c\x45\x8e\xeb\xbc\x0d\x37\xd0\xf0\xf7\xa1\xc6\x2d\x6c\x0b\x66\xa0\x3a\x82\xdb\x56\x27\x41\x7f\xe7\x57\x63\xbf\x8b\x09\x82\x38\x0b\x10\x60\x10\x4a\xda\x00\xea\xfb\x76\x50\x21\x8f\xaa\x42\x6a\x58\x0a\x64\xfb\x68\xd8\xfc\x50\x10\x6a\x66\x0b\xec\xbb\x66\x0e\xe5\xc5\x9c\xca\xaa\x58\xdd\x15\x30\x9e\xac\x93\x63\xaa\x59\xc1\x2f\x22\x39\x19\xf8\x07\xca\xb0\xc2\xbc\xf9\xb3\x38\x0f\x06\xbd\x5d\x54\xd1\xd1\x81\x5b\x23\x87\xac\x43\x00\x0d\x76\x3d\xa8\x1e\xe3\x73\x6b\x01\xc7\x0f\x83\x66\x2b\xa2\x99\xa3\x0e\xb7\x25\x7d\xf6\xae\x09\x7b\xfd\x26\xaa\x79\xdf\x0b\x44\xc4\xcf\xdc\x58\x56\xa4\xc3\x1a\x3a\x85\x58\xb1\x53\xa4\xdd\xd7\x85\xb8\x59\xe0\x73\x08\xa8\x19\x84\x2a\x50\x26\x3b\xd8\x9d\x10\x64\x30\xfb\xcd\x7b\x7a\xd7\x9d\x09\xf3\xad\xc4\x6c\xb9\x81\x44\x3f\x3b\xaa\xd3\x28\x8a\x9c\x56\xe6\xbc\x30\x92\x28\x67\x69\x76\x6d\x6b\xb3\x64\xaa\x6e\xa2\x68\x16\xf8\xc2\xac\x1f\x90\x3c\x55\x84\xa2\x5e\x9a\x5d\x07\x9a\x12\xd2\x77\xa5\xd9\xb5\xbf\x83\xb2\x49\xc9\xe7\x82\xbe\x6e\x0c\x86\xa6\xca\xc3\xdd\x0e\x36\x0d\x0a\xb0\x52\x5f\x4a\xc6\x9a\x28\x45\x7e\x33\x96\x3c\x3a\x63\x48\x9d\x34\x62\x07\x8f\x3c\x47\xe9\xa0\xfd\x6c\xc4\x0e\x0f\x0e\xfe\x35\xfc\xde\xba\x6e\x8e\x18\x1f\x2b\x99\x2f\xb5\x08\x7f\x05\xc5\x22\x76\xf2\x09\xca\x6d\x29\x2a\x9c\x08\x53\x65\x62\x64\xcb\x7f\x31\x84\xfd\xc3\x0f\x43\x16\x24\xd1\x77\x7a\x79\x5c\x83\xc2\xfe\xb9\xe4\x29\xea\x7a\x0d\xc5\x0b\x85\x1d\x59\xa6\xc3\xea\xc3\xda\x17\xc9\xb5\x4f\x37\x1c\xcf\xe6\x05\xe8\xcc\xe5\xaf\x4f\x8b\x42\x94\x68\x71\xf8\x05\x78\xf9\x2a\x2b\x52\xc3\x8c\xcd\x30\x24\x5f\x71\x03\x1b\x1e\xfa\x68\x81\xd5\xeb\x7b\x8c\x55\x51\x59\x1a\x51\xbd\xf3\x2f\x1d\x58\xa2\xd9\x92\x30\xc6\x3c\x6c\xda\xab\xed\xe1\x90\x66\xf9\x16\x86\x1e\xf2\x34\x3d\x35\x4b\x7b\x96\x29\x2d\x20\x93\x04\x2a\x63\x3b\xb7\x75\x14\x43\xd5\x65\x71\x06\xbd\x3f\x0c\xc7\x59\x81\x33\xe9\xf9\x72\x3d\xa9\x4c\x2c\xa7\x08\x15\xa8\x4d\xb3\xb3\xd4\x65\xa8\x28\x95\xc9\x70\x2c\xd3\x75\x3b\x05\xcd\x79\x39\xcd\x8a\x11\x3b\x58\xdc\x44\xb4\x82\x86\xe5\xda\xf7\x6d\xb4\x15\x50\x4f\xf8\xb5\x75\x63\x1e\xb1\x59\x96\xa6\xa2\x08\x7f\xc3\xb8\xfa\x91\x59\x5e\x77\x30\x80\x73\x37\x00\xeb\xc3\x00\x7f\x41\xb7\x91\x5e\xd8\x65\xb0\x12\xe3\xab\x4c\x0f\x96\x4a\x94\x03\xe4\x3b\x23\x78\xf2\x47\x8d\xe6\xf2\xd7\xa6\x16\x95\x92\x22\xa8\x11\x0e\x02\xbe\xde\xa2\xb0\xde\x81\xb4\x28\xe3\xe5\x74\x0a\xa1\xdf\x82\xf1\x34\x65\x84\x0e\x6b\x90\x36\x28\x8d\xaa\x4d\xc9\xc9\x04\x35\xe5\x16\x18\x45\x1b\xa0\x8f\x05\xf9\x39\x04\xc9\xa9\xdc\x1e\x86\xbb\x43\x83\x5c\xc8\x45\x90\xc7\x75\x6b\xf3\xc7\x58\x77\xdd\xf7\xe8\x24\x3c\x4f\xba\x21\x56\x93\x19\x2f\x0d\x69\x91\xaf\x4b\x8f\xfd\x85\x7d\xd1\xeb\xc4\xc2\x36\xb8\xe8\x1c\x01\xc1\x54\xb8\x12\xfc\x84\x4c\xc9\x27\x92\x0e\x72\x34\x5b\xbc\x83\xf5\x9f\xfd\x23\xd8\x09\x66\x4d\xfa\x23\x36\xce\x65\x72\xf5\x28\xfa\xcd\x92\xd2\xa6\x99\xc6\x3d\x20\x50\xe7\xb6\xdd\x3e\xe2\xd4\xcd\xc2\x66\x82\xa7\xd1\x71\x27\x0a\x73\xe7\xdc\x50\xcd\x89\x52\xcf\xb2\xe2\xea\x43\x33\x32\xf2\xac\xb8\x0a\x18\x74\xd8\xa1\x52\x53\xb6\x14\x79\xa7\xcf\x10\x7b\x6a\x26\x84\xee\xd4\x07\xb2\x91\xfb\x9b\xb1\xde\x38\xf5\x1a\x18\xc7\xb3\x2f\x5e\x3e\x79\xd9\x35\x87\x3a\xe5\xbd\x11\x3b\x97\x65\xb9\xc6\xe4\x4f\xac\x83\x34\xfa\xa1\x43\x32\x8b\x93\x65\x30\x76\x91\xab\x28\xf5\x1d\x42\x83\x44\x3e\xe4\x9b\xf2\x37\x35\x64\xec\xa9\xcb\x21\xb9\xc8\x92\x2b\xc6\xd9\x58\x40\x35\x08\x70\x01\x99\xc8\xd2\xe7\xb6\x17\x73\xd0\xde\x5d\xcb\x2c\xf5\xfa\x8a\x44\xe6\x79\xa6\x48\xbd\x6c\x4b\x60\x5c\xd9\xfa\x11\x99\xc8\x53\x26\xd2\x4c\x83\xbf\x86\xc0\x82\x79\x98\x68\x9f\xcc\xb8\x3e\x51\x17\xd8\x91\x19\x2f\xd6\x30\xfb\x7b\x36\x23\xd1\x58\x00\x00\x81\x31\x98\xee\x94\x82\x77\x9b\x40\xaf\xa6\x34\x4c\x91\x86\x6b\x07\xed\xd3\x75\x56\x1a\xd8\x08\xea\x4a\xac\xc1\xb7\x07\xc5\xbf\xa7\xcf\x4f\xcd\xe2\x1f\x2f\xb1\xc0\x33\xe6\xc1\x5e\x09\x06\x3a\x2e\x39\x99\x80\x97\x0f\xdc\x5c\xc5\x62\xa9\xd9\x4c\xe4\x0b\x51\x32\xf0\xbc\xb1\x6b\xe7\x1a\xdc\x84\xcc\x1a\x10\x04\x78\xc3\x61\xa6\x4d\x33\xc4\x1c\xa6\x93\x15\x3c\xbd\x16\xa5\x39\x5c\xf9\x9a\xcd\x97\x98\xb4\x58\x41\x85\x1a\x03\x9a\xd0\x76\x6e\x16\x83\x58\x56\x22\x2c\xb5\x07\xde\x56\x9a\x17\x29\x2f\x53\x7a\x12\x81\x66\x0b\x7f\x19\x97\x72\x05\xd6\x78\xca\x09\xda\x27\x7b\xea\x52\x07\x06\x7a\xc5\x27\x22\x5f\xb3\x0c\x6b\x31\xb2\xf1\x9a\x74\x63\xd4\xd9\x5b\xe1\x88\x9c\x9a\x09\xf8\x66\x80\x3f\x07\xa7\x85\xda\x57\x0e\x0a\x5d\x5b\x76\xd7\xcd\xa1\xd1\xe5\x52\x6c\xed\xa7\x16\x22\xcf\x21\x87\xad\xe9\x02\x76\xbd\xad\x7d\xf8\x52\x4b\x5b\xfe\xc1\xf4\x92\x93\xc9\x8e\x7d\xc0\x45\xe9\x56\x5d\xf8\x42\xf3\x1c\xc4\x01\xd6\x31\x37\xd0\xd6\x5e\xa5\xa4\xd5\x8b\x1b\x3d\x96\x37\x5b\xdb\x6b\x3e\x06\x7d\xb1\xe9\x33\x38\x6c\x6a\xde\x76\xe9\x43\xdd\xd0\x01\x14\xb5\x18\x31\x5d\xf2\x42\xe1\xa3\x37\xe4\x9b\xed\xac\x7b\x22\x0b\x3d\x98\xf0\x79\x96\xaf\x47\x6c\x2e\x0b\x09\x89\xb1\x6a\x2d\x0c\x43\x1e\xb1\xc3\x87\xb1\x00\x01\x3f\x5d\xf3\x32\xe3\x85\x1e\xe4\xd9\x94\xeb\x65\x29\x54\xfd\x16\x6f\x13\x34\xac\x44\x31\x58\x8f\xc8\x14\xf9\xc8\x05\x4b\x0d\x6e\x9a\xe4\x0c\x48\x6b\x3b\x80\x39\x8e\xd8\xa2\x6c\x13\x7a\xa3\x41\x96\xda\xdc\x35\x38\x2b\xf6\x59\x36\x5f\xc8\x52\xf3\xc2\xb2\x70\x27\x55\xd5\x18\x32\x61\x3e\x54\x41\xd1\x5e\xd4\x85\x45\x9c\x7d\xa7\x6f\xc5\x3f\x7c\x73\x54\xc4\xbf\xad\x50\xc0\x53\xa3\x0a\x04\x1c\x31\x6e\x0b\x09\x1c\x24\xe0\xc5\xeb\xc1\xa1\x6f\xc4\x5d\x00\xcd\xe5\xb5\xf8\x14\x70\x44\x91\x7e\x0a\x30\x09\x2f\x92\x10\x4f\x77\x82\x94\xc8\xc5\xda\x83\x38\x91\x8b\xf5\x6d\x21\x80\x03\x85\x07\x01\x6e\x13\x35\x18\xfb\xfb\xec\x09\xba\x3b\xa1\x43\xd3\xe7\x2c\x2d\x25\x78\x9b\x19\xce\xb0\x4f\xfc\x12\xf3\xe8\xe1\x9d\x88\xee\x11\x54\xc2\xcc\xdc\x44\xdd\xb5\xd0\xff\xd6\x23\xee\x6e\x2b\x50\xa6\x62\xc2\x97\xb9\x66\x63\x72\x49\x44\x1b\x60\x22\x8b\xc9\x52\x09\x7b\xf7\x6f\x5f\x83\x99\x4c\xa7\xef\x9f\xc0\xee\xb1\x8f\xb9\xca\xcc\x0b\x04\x07\xea\x46\x3a\x2b\xeb\x79\xc1\xd8\xc7\xea\x29\xaa\x0d\x71\x25\xd6\xa9\x5c\x15\x1e\x51\x8f\x65\xba\xfe\x59\xac\x9f\xc8\x55\x51\x7f\x1f\x05\x6e\x62\x90\x13\x9a\x67\x45\x90\xbe\xd9\x7a\x76\xa0\xc7\x4c\x49\x65\x09\xad\x0f\x26\x58\xcd\x5a\x6e\xb0\x34\xbb\x0e\x98\xaa\x6b\x3c\xcc\x52\xf3\x82\x04\x74\x8d\x4a\xb9\x1a\x80\x7d\xa6\xd3\xd0\xb0\x95\xff\xb6\xf3\x56\xff\x46\x87\xf9\xee\xfa\x96\x6a\x7c\x18\x19\x6a\xd9\xfc\x30\xc2\x16\x0d\x84\x5b\xe5\x6b\x6e\x4d\x1e\xe3\x2e\x79\xb6\xad\xa6\xe2\xde\x40\xe8\xcf\x47\xee\x88\x28\xf3\x2d\xd6\xa8\x05\xf0\x0e\x3c\x72\x81\x0a\xd3\xc7\x7c\xda\x2e\x40\x40\x8b\xc1\x98\x4f\x83\x39\x46\x3d\xef\x82\xe2\x4d\x78\xbc\xed\xe3\xa2\x7e\xb7\x04\xac\x7f\x0c\x2f\xb3\x68\x99\x0d\x2b\xf0\x15\x7a\x83\x12\x6b\x60\x39\x1f\xdb\x34\xc7\x5a\x2e\xd8\xc4\xa0\x98\x43\xb9\x9d\x9c\xbc\xcc\x10\x3e\xfd\x52\x0a\x5a\x0e\x7a\xf2\x83\xdb\xfd\x3d\xaa\x35\x95\xaf\xd1\x1c\x65\x77\x0a\x5c\x9f\x41\x20\xe5\x71\x61\xa4\x40\xf5\x69\x44\x42\x88\x0f\x40\x6b\x6c\xbe\x26\x47\xc5\xd0\x4b\xde\xce\x4d\x96\x76\x2e\x04\xc6\x45\x04\x58\x4f\x02\xbb\xee\x1f\x64\x9e\xb6\x6e\xb7\x59\x48\xbc\xd1\xd0\x3c\x3a\x6f\x5a\x2e\xa0\xdd\x60\x22\x4b\xf3\xde\x1c\xb8\x19\x77\xea\x1d\xab\xc4\x51\x23\x8a\x86\x33\x5b\x23\x7d\x0b\xad\xb6\xb1\x76\x2d\xf1\x98\xd1\x76\xd6\xdb\x47\x8b\xc1\xef\xb7\xae\x67\xc3\xe4\x02\xc8\x31\x2f\x44\x5a\x00\x8d\x27\x4f\xc0\x35\x55\x39\x4e\x68\x9e\x17\x59\xc2\x73\xcc\x94\x4a\x5e\xb2\xbe\x38\x5a\xa1\x96\x73\x10\xfb\xe9\xf6\xa0\x87\x0d\x10\x0d\x29\xc0\xc7\xcb\xc9\x44\x94\xe4\x57\xb2\xc6\x54\xb2\x56\xc9\xc1\xd8\x53\xdd\x51\x50\x1c\x10\x3d\x25\x95\xf7\x74\xf6\x6e\x8c\xe6\x61\xb8\x58\x08\x5e\x5a\x47\x43\xff\x5e\xc0\xd7\x50\x86\x69\xbe\x9b\x6a\x88\xae\x66\xa2\xa8\x3a\xb0\x1a\x98\x99\xc2\x82\x82\xa1\xad\x1b\xb3\xc3\x2b\xa1\x59\x07\x26\x98\xe5\x99\x5e\xdb\x93\xdf\x31\xd3\xb8\x12\x02\xd3\xca\xdb\xb7\x11\x96\xf8\x83\x54\xb7\x41\xa5\x04\x04\x97\x39\x3f\x65\x7f\x52\x30\xc8\x03\xbd\x9c\x3b\x70\x61\xe3\x6f\xaa\xc3\x96\x8b\x15\xbc\x20\xbb\xf0\x35\x5c\x4e\xe0\x5e\x0b\x7e\x4b\x06\x1f\x3e\x94\x85\x7c\x4b\x79\xf8\x2a\xcf\xe6\xa2\x67\xae\x79\x0c\xf7\x00\x62\xe8\x57\x06\x9f\x0a\x4d\xaa\x56\xd3\x42\x4e\x0c\xde\x93\xab\x61\xec\xba\x77\x5c\x0a\xbe\xd3\x1d\x17\x34\x8f\x08\x15\xbf\xe7\xa5\xe0\x9d\xc6\xb6\xb5\x83\xd6\x80\xeb\xed\x97\x4c\x00\x31\x26\x66\x75\x3d\x75\xe9\x3b\xac\x69\xbd\xc1\xb1\xdd\x6e\x60\xa6\xd8\xaf\x52\xce\x9d\x3b\x9a\x91\x72\xc6\xd6\xd7\x1e\x8b\x42\xd9\x92\xae\x4b\xb3\x3c\xa9\xb4\x73\xa3\xc0\x08\x08\xeb\x3c\xcb\xb1\x74\xd9\xd8\xc5\xa8\x0c\x9b\x54\x2c\xe8\x1c\xe7\xe3\xbc\x00\x67\xac\x10\xca\x1a\xfe\x0a\xab\x3f\x07\xed\x43\x21\xb5\x05\x67\xb9\x2a\xad\xc4\x2e\xc0\xcc\x9e\xe5\xe2\x5a\xe4\x28\xe4\xd1\xd3\x1c\x3c\x40\xac\xf3\xba\xd3\xbb\x80\x26\xdf\xeb\x53\x5e\x48\x2d\xec\x94\x70\xe1\xe0\xb9\x3d\x02\x9d\xa4\x12\x56\x0f\x92\xf0\x02\xe6\x81\x51\x5c\xe0\x02\x48\x08\x76\x53\xb3\x51\xa5\x37\xf3\xbc\x50\x48\x0b\x00\x67\xb5\x5a\x0d\x57\x5f\x0c\x65\x39\xdd\x7f\x70\x70\x70\xb0\xaf\xae\xa7\xc1\xe6\x5e\xfb\x7b\x2e\xcd\xae\x9b\xb3\xbf\x12\xf5\xbd\x38\xef\x02\xec\x3e\xeb\x18\x18\xbd\x08\x48\x44\x7f\x06\x21\x03\x44\x92\x2c\xe3\xc1\x2a\x6f\x62\x00\xd8\xe9\xe3\xa4\x7b\x9b\x5a\x5e\x8b\x52\x19\x36\xdb\x67\x9d\xc3\xe1\x61\x75\xf4\x56\xb9\x62\xb3\x11\x45\xcb\x45\xc5\x18\x93\x8b\x89\xae\x7c\xd5\x70\x38\x0c\xbd\x3b\x7d\x98\x12\x45\x4a\x46\x64\x6b\xab\xb2\x9b\xf3\x37\xdc\x52\xa8\xb8\xca\xd1\x1d\x9b\xcd\xe0\x20\xa9\xa0\xd6\x24\x42\x4a\xf8\x42\xa3\x0b\x90\xc0\x96\xa9\x2f\xa6\x31\xc1\xaa\x03\x86\x9f\x51\xf6\x06\x39\x17\xe6\xad\xbb\x9a\x49\x96\xf0\x32\x70\xb5\x86\xae\x17\xbc\x9c\x8a\x36\x55\xa5\x81\x0a\xbc\xc1\xe3\x30\xec\x14\xed\x24\x7a\x98\x0f\xe0\xf7\x81\x86\x06\x9d\xe6\x5e\x3b\xea\x3a\xe2\x3e\x8d\xbb\xb6\x69\xcf\xbc\x9e\x21\x50\x53\x38\xb5\x40\xf8\x1d\x6d\xe4\xe2\xe6\x91\xb3\xde\x77\xf0\xfa\x8d\x8d\x24\x1d\xb9\xe0\x09\xec\xed\x41\xdb\x34\xe9\x05\x77\x6a\xf5\x9c\x41\x20\xc0\x66\x0e\x19\x42\x69\x81\x5d\x7b\x4c\x39\xd2\x14\x37\xfa\x69\xb1\x58\xba\xd7\x3d\x3e\x1a\x5f\xf9\xce\x17\xb6\x45\xfd\x89\x85\x72\x08\x85\x1a\xc4\xee\x7c\x14\xc2\x03\xfe\xbc\x4e\x2f\x44\x44\x56\xe8\x81\x9a\x4b\x4a\x8d\x87\xe2\x87\x8b\xb4\x5c\x90\xc9\x35\xf4\x75\xb7\xa9\x70\x4d\xcf\x1f\x10\xd0\x1b\x9e\x2f\x9d\x47\xe7\xc9\xf9\x79\xa4\x7e\x82\x0b\xdc\x5c\xa8\x16\xb6\x8d\xe6\x0b\x86\x60\xec\xdc\x87\x1e\x79\x75\x15\x8c\x31\x6c\x1a\x5c\x2e\xf4\x07\x3f\xeb\x97\x0b\x43\x39\x3c\x67\xd7\x30\x11\x33\x90\x7b\x6d\xc5\x0b\xc4\xc0\x47\xf3\x8f\xde\xbf\x70\x7c\x5d\xc6\x73\x2a\xc0\x4c\xe9\x62\x5d\x0e\xe8\xad\x56\x67\x25\xf4\x0f\x1e\x1d\x81\xe9\xd9\x23\xa9\x1f\xcf\x39\x76\xdd\x0f\x34\x81\x93\x08\x8e\xfb\xc3\x86\xb7\x37\x00\x69\x04\x83\xab\x37\x93\x3a\x77\x68\x3a\x8a\xa7\xf0\xa8\xea\x5a\xb1\x33\x98\x8e\xb7\x4b\x61\x9f\x75\x91\x9c\x84\x11\x8d\x96\xfe\x36\xa0\x6c\xda\x86\x32\x5c\x54\x98\x62\xaa\x0d\x41\x15\x1a\xd7\x8c\xdb\x70\x57\x6f\xd0\x09\xeb\x68\x79\x09\xb5\x42\xda\x21\x2d\x14\xcb\x3c\xef\x83\xa4\x80\x79\xc7\x2c\xc8\x44\x81\xf2\x22\x97\x3c\x05\xa1\xc5\x8c\x97\x69\x28\x43\x6c\xbb\x31\x59\x42\x40\xac\xb9\xa8\x43\x72\x82\x4c\x68\x90\x74\x9f\xbb\x38\x42\x73\xfc\x16\x8b\x3c\x13\x69\x30\xc0\x2e\x74\xf6\x1a\xcd\x49\xaf\xcb\x3c\x44\xda\xb2\xcc\x7d\x52\x1d\xf7\xc7\x76\x03\xd8\xac\x14\x93\x4e\x9f\x99\x1e\xa1\x37\x4a\xbd\x9b\x77\xb8\xf2\x0e\x2a\x91\xd1\x73\xa3\xf1\x0b\x60\x84\x15\xfe\x9d\x85\xb7\x6d\x90\x70\xfe\x95\x41\xc2\xbc\xef\x2d\x83\x6c\x23\x3e\x8f\x47\xba\x84\x1c\x22\x0d\x07\x0e\xce\x66\x68\xbc\xab\xd8\x54\xb5\xcb\x7d\xbd\x61\x20\x94\x10\x6a\xd4\x1d\xb9\x04\x40\x9b\x6e\x5d\xc1\xe3\xbe\xdf\xe5\x24\x95\x22\x28\x01\x7c\x9b\xe3\x04\x06\x86\xad\x63\xa8\x8d\x63\x00\x8c\x56\x8e\x96\x50\xf3\xdd\x46\x9a\x0a\xfd\x38\x2e\x68\x7c\x9b\xd5\x54\x6a\x21\xef\xb2\xae\x0d\xa3\x6d\x5e\xd7\xb8\xd6\x71\x67\x5c\xfa\x31\x9f\xce\xf9\x34\x72\x56\xca\xcc\x17\x3b\x8c\x69\x3b\x42\xfb\xdb\x8d\x49\x31\xe7\x3e\xa0\x2c\xfb\x75\x97\x11\xa9\x9b\x69\x7d\xbb\xf1\x82\x2c\x50\x6e\xcc\x38\xd7\xe2\xc6\x71\x83\xee\xb6\xd7\x2e\xe3\x9f\x44\x31\x8f\x6e\x4b\xdd\xb7\xc1\xc8\x51\x78\xa4\xff\xa3\x5a\x7d\x80\x02\xa5\x41\x1c\x84\x28\x7f\xab\x90\xf3\x01\xa6\x71\x4e\x8a\x8b\x99\xa0\x52\x3b\xee\x51\x69\xef\xa2\x58\x2b\x02\x8d\xb6\x72\xff\xa9\xa0\x70\xee\xea\x06\x06\xb1\x0c\xf8\x0b\x02\x99\x0a\x7d\x92\x67\xe6\x91\x6c\xae\xe4\x8a\xed\xcb\x9d\x22\x64\xb4\x56\xc4\x86\x00\x73\xfc\x03\x3d\xa4\x48\xcc\x86\xef\x71\x2d\x83\x8d\xd1\xab\x86\xfd\x6e\x42\x5c\x54\xdb\x6b\x03\xe6\x6c\x29\xe1\x2c\x9d\x42\xba\x69\x5f\x50\xec\xce\x68\xb3\xd9\x36\x37\x70\x93\x08\xc5\xdd\x1e\xad\x78\xd3\x7a\x28\x35\xcd\xa6\x05\xed\x36\x3b\x0c\x2a\xbf\xdd\xf4\x70\xf0\x86\x44\x97\x51\xd8\x09\x69\x3c\x64\x9e\xaa\x7a\x6a\x1b\x9b\x20\xe8\xd6\x9e\x96\x81\x77\xff\xe6\x49\xbb\xeb\xbb\x35\x21\xa7\x55\x2b\xba\x27\x74\x65\xc2\xbf\x7b\xa2\x88\x34\x72\xe5\xdd\x7e\x99\x44\x13\x3d\xc9\x41\x03\xba\xd4\x50\x87\x35\xe1\xc9\x0c\x4d\x54\x2f\xda\x93\x8f\x04\x83\x97\xc2\xb0\x22\xd3\xa9\x45\x0a\xd8\x98\xc8\x62\x87\xe4\x12\xe1\x4c\x67\x98\xc0\x33\x88\xcf\x0a\x52\x96\x44\x47\x0b\xf8\x11\xb8\x77\xba\x0c\x08\xb0\x32\xcc\xd8\x03\x19\x27\x38\xa5\xba\xa8\xbe\xff\x5e\x42\x24\xd4\xad\xd2\xb8\xd8\x3d\xb4\x6f\x2f\x9b\x7c\xe9\xd6\x5b\xa9\x84\x0e\xb3\xdf\x6c\xca\xf1\x62\x5f\xc3\x84\xfd\x6e\x64\x24\x6c\xcd\xea\xe2\xae\xa2\x99\x48\x97\xb9\x38\x03\x0c\x54\x5e\xd3\x4f\x8b\x89\x2c\xe7\xd5\xbc\x4e\xce\xcd\xb0\x94\x52\x07\xb1\x95\x90\xa1\x0a\x1c\x81\x4a\xcc\x32\x14\x59\x5f\x0c\x3c\x97\x61\xaa\x90\x2c\x97\xc5\x54\x94\xe6\x1d\x9b\xb9\xac\x55\xe7\x41\x6d\x60\x72\x12\xf3\x7e\x40\x50\x44\x35\x45\x2d\x7f\x65\x6d\x90\x2b\x13\x29\xa6\xdb\x63\x85\x5c\xc1\x60\x74\xec\xcc\x93\xb7\xd0\x59\x29\xf2\x35\x24\x30\x12\xa5\xab\xa6\x0e\x11\xa6\x99\x66\x69\x96\x92\x1a\x0b\x75\xb4\x36\x7f\x92\x01\x53\xf8\xa8\xdf\x70\x06\x91\x8f\xb0\x8f\xa5\xb0\x56\x5f\x4a\xae\x85\x24\x81\xd1\xa4\x09\xd0\x6c\x1a\x11\xa7\xba\xca\x16\x8a\x90\x86\x50\x5d\xba\x24\x00\x3b\x31\x6f\x2d\x24\xce\x7e\xe8\x16\x65\xee\xd7\x31\x26\xc9\x81\x40\x55\xca\x9d\xc4\xb0\x1a\x71\x85\x3d\xcf\xb8\x62\x63\x48\x9b\x40\xd6\x32\xa8\x16\xe3\xf4\xd4\x3e\x5b\xc8\x8c\xab\xca\x44\x37\x92\x68\x56\xc0\xe6\x55\x5c\xd0\x9b\x0b\x4e\x3a\x83\x54\x25\x36\x33\xac\xc5\x68\x6b\xc4\x85\x56\xa4\x30\xd7\x74\x54\xff\xbb\xb9\x02\x5d\x50\x3c\x80\xf4\x81\x6d\xc5\xe4\x82\x32\x72\xd5\x50\xd1\x8d\x8c\xc8\x72\xab\x6b\xb0\x1a\x2d\xce\x5c\xc2\x1d\x77\x6d\x5d\xf8\x6f\xbb\x2e\x7f\x20\xae\xa9\xa1\xf5\xe3\xe8\x87\x6e\x00\x32\x50\x75\x99\xfd\x7f\x83\xc7\xe8\x4c\xae\xd4\x87\xb0\x59\xbf\x02\x7b\xfb\x2b\xca\x1e\xf9\xa7\x1b\xf6\xcf\x97\xe1\xb5\xa9\x2d\x82\xed\x6e\xce\xfa\x1a\xc6\x96\x56\xf3\x62\xc4\xb4\xa2\x84\xbe\xc0\x5f\xba\x2e\xc2\xb0\xeb\x63\x34\xa8\x88\x23\x04\xe9\x35\x41\xb0\x81\xc1\xd0\xc0\x7f\xed\xc2\x35\xb0\x64\x44\x45\x61\x62\x35\x82\x91\x38\x7b\x3b\x7e\x0c\xba\xa1\x8a\x3c\xba\xb8\xd9\xa8\xde\xa2\xe6\x8b\x1b\x76\x9f\x75\x16\x37\x81\xad\xa0\x4d\x8f\x54\x97\x6d\xec\x05\xf7\x7b\x66\x3f\x6d\x9e\x7d\x24\x16\x2c\x78\xa9\xc4\xd3\x42\x77\x37\xac\x25\x9e\xe4\x73\xca\xf6\x05\xfc\x86\x26\xe6\x02\x8c\x7c\xde\xae\xac\xc0\x5c\x40\xb5\x5c\x69\xa1\x8a\x73\x85\x32\xe1\x85\xdd\x26\xfa\x5b\x4b\x9b\xf6\x0b\x98\x56\xa7\x90\xe5\x9c\xe7\x1d\x96\x4d\xec\x0d\x2b\xe7\x99\xa6\x02\xb9\x3e\xd1\xbe\x4f\x30\xf6\x91\x1d\x57\x52\x8e\xd1\xfd\xbd\x15\x67\x34\xee\x49\x25\x7f\x99\x43\x9e\x9f\x35\xa2\x71\x7f\x9f\xbd\x58\xce\xc7\xa2\xb4\x89\xcf\xbd\x69\x90\x5f\x8b\x92\x93\xbc\xe2\xa5\xe8\x3a\xaa\xac\x8d\xab\x00\x38\x2f\x27\xcf\x00\xca\x11\x3b\x3c\x38\x78\x54\x1d\x01\xfc\x40\x18\xb8\xf5\x66\x85\x68\x1c\xca\x3d\x40\xda\x47\x32\x7d\x5d\x11\x50\x18\xe6\x5e\xa8\x18\xc3\xf4\x6a\x91\x8a\xca\x65\x5c\xab\x28\xac\xda\x2c\xb9\x51\xb7\xd8\x59\xc9\x7c\x35\x70\x53\x02\x0f\xcd\x4e\xbd\x4b\x9b\xed\x6b\x9b\xf5\xab\xc9\xfe\xd5\x68\x01\x6b\xb4\x81\xc5\xbf\xdb\x37\x23\x5f\x6a\x19\x38\x60\xc6\x8d\xe8\xfd\x58\x6b\x63\xf5\x8d\x68\x4e\x73\xee\xea\x14\x6a\x64\xb3\x8d\x71\xa6\x16\x1c\x8c\x5f\xe4\x80\x4e\x67\x2a\xe1\x79\xb2\xcc\x21\x99\x80\x85\x12\x67\x75\xcc\x0a\xf6\x43\x56\x8a\x89\xbc\xa9\xa0\xee\x7c\xc1\x8b\xed\x1b\x65\x46\xad\xef\x14\xf4\x6d\xd8\x2d\xd3\x7a\x60\xc6\xc7\xac\x04\xb5\xed\xa2\x7e\x45\x21\xca\x9f\x2e\x9e\x3f\x0b\xe2\x40\xba\x9d\x5f\x3a\xc3\x52\x2c\x04\xd7\x5d\x4f\x75\x3d\xc3\x18\x2f\xcb\x4e\xcf\xfe\x14\x91\x7e\x03\x01\xd5\x7d\xc1\xdc\xb0\x16\xcf\xfe\xeb\xc7\x5c\x09\x33\xd6\xa7\xc6\xc2\x98\xe0\xd2\xf2\x71\x63\x57\xbc\x00\x7e\x65\xb3\xae\x58\x6b\xe6\x4c\x30\xdb\xbe\x6d\x7a\xf5\x1b\xa3\x73\x40\xb7\x45\x73\xfb\x4a\x49\xdf\x5f\x2a\x56\x8a\x60\xf2\x1e\xf2\x5b\xfb\xea\x0e\xd8\xed\x6f\xbf\x81\x85\x63\x07\xd7\x1e\xe2\x04\x2e\xb5\x32\x8c\xb0\x45\x05\x53\xdd\x9a\x40\x6d\x53\xc9\x02\xe9\xc0\x91\x1a\x62\x3f\x60\x4c\x9b\xc3\xd7\x7c\x4f\x62\xac\xfb\xac\x4a\x42\xf7\x76\xa1\x20\x87\x5b\x8c\x2c\x32\x00\xed\xae\x59\xe2\xa9\xec\x01\x96\xd4\xb8\x90\x8b\x47\x95\x01\x6a\x5a\xfb\xda\x00\x75\x7c\x37\xf7\x09\xdb\x36\xb8\x2f\xb4\x38\x7d\x5f\x4f\x83\x45\xfc\x2a\xe5\xfc\x07\x9e\x68\xd0\xda\x7a\x87\x82\xd0\xa7\xe4\xd1\xb6\x21\x6a\x93\xa3\x21\xbc\xec\xe0\x35\xa5\x8d\x69\x55\xaa\x49\x43\xeb\x0f\xf4\x52\x0c\xe6\x81\x34\x61\x65\x9e\x4a\xae\x51\xc8\xde\x93\x82\xd7\x81\xbf\x4a\x29\x8b\x2d\x2f\x18\x86\x7c\x01\x07\xd5\xc9\x76\x6d\x59\x4d\x06\x6b\xd3\x5b\x54\xda\xc0\x97\x4d\xd2\x41\x77\x9b\x75\xfa\xcc\x3c\xd2\x59\x9a\xcd\x45\xa1\x20\xcf\xa3\x59\x50\xa0\xa3\xa2\x77\x98\xb9\xc6\xd1\x4b\x0e\xde\xd4\x9c\x5e\x64\x64\xd5\x33\x80\x02\x10\x24\x0c\x7a\x87\xb5\x5d\x14\x35\x1b\x16\xdb\x9a\xa9\xaf\x72\xcc\x31\x29\x79\xa4\x6a\x65\x83\xba\x71\x35\xf1\x8d\x1f\x45\x56\xd4\x38\xbf\x64\x24\x18\xd3\x9b\x4b\x3d\x71\xab\xfc\xd0\xed\x6d\x7c\x68\x2c\x96\xe3\x3c\x53\xae\x66\xb5\x8b\x7c\x65\xff\x08\x12\xc4\x8d\x50\xa3\xf0\xd1\x32\x94\xca\xf2\x83\x47\x05\xf6\x39\x93\xab\x0b\x89\xef\xb3\x2e\x7c\xdd\xa0\x72\x80\x3c\x98\xdd\x9e\x4b\x56\xe4\x00\x54\xb5\x2a\xf8\xe3\xc7\xe6\x87\x89\xab\x62\x03\xae\x77\x81\x88\xef\x52\xff\x5a\x7d\xe1\x4e\x44\xdd\x80\xbf\x16\x1d\x7a\xa8\x63\x6f\x52\xbb\xfa\x2d\x6b\xc8\xc0\xea\x7b\x23\xd7\xde\x98\x8d\x35\x68\x6c\x55\xb9\xce\xc3\x08\xa3\x06\xec\xfd\x09\x69\x2b\xb9\xcd\xeb\x06\x28\x18\x0b\x4a\x0d\x1b\xe5\xa2\x56\xda\x1c\x3d\x17\x6c\x07\x32\x94\xcd\xd7\x6a\xdd\x8f\x26\xb9\x34\x27\xa8\x58\xb3\x09\x34\x96\x94\x09\x13\x4f\x9a\xf3\x2a\xba\x76\x8f\x6b\xd8\x50\x2a\x56\x30\x19\xaa\x39\x2f\xf5\x0f\x06\xc6\x93\xcc\xec\xbb\x25\xb0\xda\x6a\xfa\x0d\xac\x62\x68\x3d\xb4\x7d\xaa\xa5\x82\x25\x72\xbe\x58\xea\xea\x53\x40\x2e\xcd\x33\x49\x8b\x69\xc9\x73\xba\xbf\x28\x9d\xaf\xab\xa6\xe1\xa7\xa8\x9c\xfe\xbc\x71\xee\x7f\x69\x9f\x4a\x34\x13\xd0\x9b\x93\x3e\x2c\x11\x6c\x2c\xf4\x4a\x88\xc8\xb3\x95\xe6\x07\x01\x1b\x52\x13\xe2\xe8\x4b\x23\xc6\x2a\xe7\x39\x3a\x16\x6c\xce\x53\x70\x07\x04\x8e\xa5\xc0\x11\x1b\x83\xb9\xd1\x69\xd0\x8a\xbd\xa5\x48\x64\x99\xe2\x49\x44\x1f\x16\x25\x59\xa6\xad\x8f\x58\x61\xd5\x5a\x2c\xe7\x1a\xb3\xc5\xa6\x02\x37\xd5\x39\x9f\x5b\x4d\x47\xc3\xee\x5d\xc8\xc5\x73\x18\xd4\x96\x87\xac\xfc\x8e\xa7\xd9\x35\xa9\x6d\x23\x1b\xd4\xf1\xec\xcf\x40\xc5\x93\x1b\x97\x67\x03\x9e\xdb\xa7\x62\x9f\xfe\xf7\xbc\xda\xc8\x80\x71\xc9\x87\x0e\x1e\x6d\x52\x98\x35\x54\x0e\x6f\x48\xdb\x16\xc3\xbc\x5f\xe3\xd6\xc4\x67\x1b\x14\x60\x0d\x45\xfd\xc3\x4c\x52\x96\x45\xd5\x6f\x9c\xc8\xb6\xe2\x02\x5c\xea\xd1\x2c\xd6\xbf\x86\x4c\x52\x55\xae\x51\xd5\x8c\x54\xfb\xcd\x2c\xb1\xd7\x0f\xc0\xfd\xea\xb2\x37\x43\x32\x2f\xbf\x20\x79\x13\x5c\x4f\x28\xc4\x3d\x33\xbf\x6c\xe9\x6d\x08\xba\xb1\xf3\x85\x5c\xb0\x41\xcb\x4c\xb6\x69\xe2\x2a\xf7\x60\x9d\x4b\xef\xef\x33\xcc\xc3\x10\x66\x47\xe6\xa5\xe0\x81\xcb\x3a\x54\x36\x80\xa8\xe4\xcc\x25\x7e\x51\x4c\x5c\x8b\x72\x6d\x93\xfe\x3a\xb6\x1c\xa6\x6e\x6e\x53\xa3\xd3\x9d\xb6\xc1\xb5\xda\xed\x49\xb7\x95\xd5\x60\xae\xcb\x6d\xff\x1a\xe6\xd5\x94\x89\xa8\xb9\x5f\xe3\x59\xbb\x43\xef\x88\x29\xec\x04\xc0\x6c\x6e\xe5\x26\xa7\x0b\xdf\xd9\x92\x20\xba\x05\x64\x73\xc6\x6d\x4e\x40\x70\x86\xb2\xb2\xef\x53\x32\xf2\xcd\x85\x9e\xc9\x14\x92\x02\xa2\x79\x81\x72\x65\xa3\xc3\xbd\xb2\xee\xb5\x20\x0d\x20\xe4\x19\x57\x24\x13\x26\xe8\xbb\xff\x17\x56\x2e\x8b\x20\xa5\x28\x36\x93\x49\xb2\x2c\x77\x70\xb4\x8a\x44\x95\x9d\x34\xc1\x38\xc0\x1d\xb4\xc0\xa5\x1d\xe3\x4e\x1a\x60\xec\x1d\x69\x7f\x5d\x8a\xfa\x36\xd5\x2f\xad\x2a\x7c\x53\xd4\x32\x13\x63\x76\x6f\x59\xb4\xa4\xb8\xb6\xc2\x99\xdd\x38\x48\xcc\x81\x03\x67\xc5\xb4\x0f\x39\x39\x4a\x01\x6e\xca\x93\x65\xee\x14\x38\xca\xe5\x3b\x74\x76\x5d\xac\x17\x82\x19\x88\xa1\x68\x98\xf5\xa1\x73\x83\xfa\x84\x66\x60\x24\xa3\xfc\xe3\xd6\x6f\x7f\xcd\x56\x7c\x3d\x64\xec\x89\x84\x64\x48\x92\x84\x21\x23\x09\x2d\xcb\xb1\x05\xe6\x80\x60\xe4\x4a\x92\x93\x83\xdf\x72\xc1\xf8\x44\x63\x5e\x55\x2b\x47\xa1\x58\x35\xc9\xb9\x9a\x09\x85\xd5\x1b\x95\xb6\xc5\x65\xb2\xc2\x96\xc2\x08\xe6\x05\x35\x45\x94\x86\x14\xe8\x4a\x0b\x9e\x02\x02\xb0\x8c\xa2\xcb\x75\x89\xca\x21\xca\x06\xe0\x4a\x57\x18\x31\x00\x72\x28\x28\xcd\xd5\xac\x12\x39\x02\x68\xd9\x87\xc4\xbf\x4b\xad\xb2\x54\x54\xaf\x19\x60\x7a\xa8\xf6\x75\x75\x5c\x5c\xe9\x57\xe5\x6c\x74\xb6\x39\x79\x40\xde\xda\xee\x6a\x4b\x30\x34\xbf\x8e\xc0\xca\xea\xa2\xe5\xd4\x87\x90\x4b\xba\xbc\x53\xe6\xb8\x47\x69\xff\x1a\x5e\x3b\x5b\x6c\xe2\x94\x2b\xfc\x4f\x37\x32\x5d\x90\xd4\x51\x69\x12\xb4\x78\xec\x8d\x73\xdd\x9a\xe1\xe9\x6e\xe6\xaa\xdd\x9e\x7e\x1b\xad\x72\xad\xb8\x7c\xb4\x93\xf3\x81\xcf\xed\x15\x27\xc4\xef\xfa\xf7\x6c\x15\xe7\xb6\x3c\x7f\x55\xfa\xfe\xfe\xa8\xe1\x52\xab\xd4\xab\x2c\x62\xde\x50\xb4\xc6\x57\x96\xc2\x95\x2d\x72\x76\xf0\xe8\xfe\xa8\x9d\x20\x73\x76\xf7\x91\xb9\x04\x55\x95\x3c\xec\x28\x14\xd2\xd5\xff\x69\x70\x50\x60\xda\xbd\x11\xe4\x1c\x75\x34\x63\x41\xca\x97\xa0\xfa\x11\x1e\x45\x90\x43\x0c\xb4\xe0\xb2\x72\xab\xe8\x62\xb8\x73\xa9\x34\xc3\xa0\x4a\xfb\x96\xed\x33\x7e\xc5\x23\x69\xb7\x17\x2c\xae\x90\xba\x1f\x03\xb2\x93\xf0\xf0\x82\x47\x31\xf4\x82\x78\xac\xa4\xcc\x30\x9e\x90\x26\xe8\xef\x58\x57\x16\x69\x6e\xd1\xe1\xb1\x87\x5c\x8a\x78\xab\x01\xe6\xd8\xab\xf7\x1d\xa9\xb1\xe9\x90\x0b\xe2\x05\xad\x9c\x7f\x94\xe1\x83\x18\x01\xe0\x90\xe6\xd9\xe2\x7c\x7b\x76\xb7\xe0\x34\x46\x5e\xbb\xc1\xc1\xf4\xb5\x45\xab\x1c\xc8\x26\x1a\xfd\xed\xb7\xd0\x85\xb9\xde\x20\x48\xac\x78\xc4\x6a\xa0\xe9\x01\x10\xe4\x2d\x76\x8e\x14\x3e\xec\xd7\x6e\x4f\x1f\xa3\x81\xc2\xbb\x4f\xe0\xbe\x19\x2c\x30\x17\x20\x89\x3b\x07\x59\x9e\x87\xce\x0d\xbb\x22\x71\xfb\x34\xd5\xce\x29\xc0\xc5\xbd\x86\x0b\x0a\x82\xe0\x0b\x25\x4a\xfd\x18\xc8\x2f\x0e\x94\xed\x57\x9b\x7a\xe0\xd6\x60\xd0\x90\xc5\xb2\x8a\xd1\x30\xeb\x5f\x1b\x52\x29\x23\xfa\x76\x94\xbe\xb4\x95\xd7\xdc\x3e\x65\xe1\xf9\x37\x48\xab\xa0\xa6\x61\xe7\x42\x77\x88\xdf\x8f\xa4\x1d\xa4\xde\x1d\x26\xd2\xab\x05\x5a\xec\xef\xb3\xc7\x52\xcf\xbc\xe7\xcf\x8e\xcb\x24\x5c\x6e\x5c\xa4\x13\x17\xff\xc8\x65\xd6\x27\x12\xe6\xeb\xa4\xe2\x42\xd9\x1c\xa4\xb3\xac\x30\xe7\x59\xa4\x19\xd7\x02\x2d\xc0\xb8\x3e\x7a\xaf\xef\xb6\x93\xf7\xb6\xcd\xa5\x75\xdd\x75\x35\xfd\xf6\xcd\x0a\xb2\x5b\xc2\x2c\x77\x38\x89\x75\xa8\xb1\x7d\x78\x83\x4d\xa3\xf9\x0c\xda\x28\x86\x8d\xd7\x63\x7b\x9e\x81\x4f\x72\x43\x7a\xf0\x7f\xf0\x0d\x69\x45\xf0\x78\x1d\x5d\x9c\x68\x22\x8b\xb4\xfd\x92\xf4\x7e\x51\x8d\xf7\x64\x08\x2f\xbc\x2a\xa1\x56\xd0\x7f\xf3\x9b\xf2\x71\x94\x02\xc1\x5d\x96\x15\x51\xb3\xf5\xbe\xa4\x04\xdc\xbb\x32\xf6\xef\x8e\xaa\x42\xec\xb6\xeb\xd2\x73\xbd\x60\x97\x76\xbd\x31\x61\x03\x37\x5f\x98\xa6\x49\x7c\x4a\x43\x27\xba\x66\x76\xb1\x3d\x7b\xc3\x27\xbb\x19\xeb\xe2\xc6\x26\x14\xba\xeb\x91\xb6\x25\x0b\x4f\x7f\xc3\xad\x11\xe6\xb3\x68\xba\x30\x6a\x0c\x74\xd7\x6b\x23\x00\x7c\xe7\x9b\x63\x87\x2b\xf1\x13\x2d\xae\xca\x8d\xff\xf0\x05\xba\x01\xff\x27\x5d\x88\xf5\x93\xd6\x36\x9d\xdd\x6f\x43\x07\x73\xfb\x65\x08\x44\x13\x9a\x6a\x8c\xf8\x0d\x79\x78\x3c\x5f\x51\x9b\xaf\xc5\x8b\x80\xcf\x73\xa5\x96\x73\x5b\x12\x35\x52\x00\xf4\x00\x6a\xf5\xc5\xdf\xc3\x82\x1e\x3c\x2f\x05\x4f\xd7\xa4\x79\xec\x53\x4a\x2f\x7b\xd9\x41\x13\x50\xb6\x1b\x1a\xb0\xf7\xa9\xbf\x40\x4a\xb9\x0a\x52\xab\xe3\xad\x7c\x0f\xeb\x30\xf9\x6f\x45\x91\xf6\xa2\x85\xc2\xca\x82\xfb\xab\x14\xc9\x3a\xc9\x85\x0a\x1d\xd0\x21\x55\xca\x4c\x54\x4b\x58\x92\x5b\xf4\x42\x2a\x98\x0a\x7a\x52\xdb\x82\xc2\x56\x6d\x56\xca\xd5\x39\x56\x8e\xb6\x1a\xbc\x42\x58\xe3\x6b\x36\x61\x85\x48\x84\x52\xbc\x5c\xff\x77\xbd\x42\x43\x85\x4d\xad\xbe\xd0\x26\x05\xce\xa6\xea\x32\x3f\x0b\xb1\xc0\x88\x60\x0c\x31\x4e\x85\xa2\x6a\xef\x2e\xcb\x29\xad\x13\x93\xc7\xbb\x62\xb2\xa2\x00\x03\xad\x28\x29\xb3\x0e\x64\x04\x80\x0a\x04\x8c\x5d\xcc\x6c\x69\xe7\x09\xcf\xf2\x65\x29\xa2\x52\x25\x78\xce\x5e\x1b\x40\x10\x0f\x10\xc1\xf7\x70\xec\x29\x25\x56\x14\xb4\x82\x83\x5d\x6b\x47\x97\x5f\xd0\xce\x57\x24\xc2\x04\xf6\x9d\x27\x19\x3a\xe6\xbb\xb9\x13\x18\x58\x77\x87\x6e\x54\xaa\xb0\x14\x0c\x87\x39\xeb\x27\x4d\x37\xb6\x03\x7d\x6a\x41\x8a\xe8\xa4\x3b\x7d\x4b\xd3\x38\x90\xa7\x5b\x70\x5b\x0d\x25\x18\xd2\xaa\xd0\xa3\x59\x84\x7f\xd5\x1d\xeb\x99\x03\x15\x84\x2e\x47\x3c\xcd\xfe\x5e\xe5\xa2\x46\x26\x9a\xc9\x52\xcf\x28\xd1\x07\x46\x45\x28\x4a\x6d\x3d\x95\x14\x36\x8e\x71\x38\xb9\xd4\xc3\x6a\xbd\x95\x73\x5f\x35\xa5\x85\x89\x3f\xaa\x76\x39\xb5\x05\x55\x1a\x19\x74\xac\x2e\x35\x08\x67\x75\xa1\x29\xac\x8f\x04\xa6\x52\x9c\xaf\xb8\xe1\x73\xac\x53\x17\x26\x94\xa3\xa3\x9a\x69\x51\x72\x9b\xfc\x66\xb7\x08\x08\xab\xe4\x85\x0d\x7c\x52\x72\xe7\x7f\xf0\x9c\xeb\xd9\x70\x9e\x61\x7d\xe2\xaa\x96\x71\x87\xcb\x7a\x8b\x71\x0f\x05\x3c\xb3\x1d\x5d\xa0\x93\x60\xe4\x83\x47\xc1\x9f\xdf\x55\xa7\x16\xfc\x78\xff\x7e\x18\x9e\x51\x06\x6a\xe7\x40\x65\x7d\xdf\xb7\xaf\xd4\x09\x33\x84\x1f\x3c\x69\xdc\x39\x03\x9f\x90\xce\xb5\x60\xb3\x4c\xd7\x45\xe6\x95\x77\x25\x40\x79\x86\x71\x60\xd4\xb6\xba\xa9\x0b\x16\x59\x45\xe5\x2c\x84\x4e\x66\xa4\xfb\xfd\xd0\x2d\x43\x8d\xb5\x3b\xda\xd4\x25\x74\x06\xb2\x35\x55\x72\x39\xed\xee\x9d\x18\x06\x5d\x74\x34\x03\x60\x58\xb8\xcf\x40\x19\xb1\x3d\x76\x9f\xd5\x60\x32\x36\x2e\x05\xbf\x72\x9e\x3f\xf7\x76\x10\xca\x68\x0a\x7d\x16\xd8\xe9\x61\x16\x3a\x2b\x96\x22\x12\xb3\x5c\xb5\x35\x8f\xf7\x23\x56\x2d\x89\xe2\x73\x56\xd9\xd8\x24\x32\x8b\x60\xae\x69\xc8\x3e\xd5\xc7\x0b\x8a\xe7\xb2\x98\x5a\x0c\x6e\x28\xa6\xb6\x71\x42\xf5\x33\xfb\xf9\xe7\xf5\x83\xbc\xcb\x94\xeb\xcf\x76\x5b\x28\x31\x36\xf7\x60\xbe\x6a\xca\x39\x81\x97\x35\xdc\x21\x1e\xd6\x4a\x60\xf9\x53\x2c\x49\xce\xe0\x51\x13\xdf\x10\x45\x5c\xb7\xe4\x3c\x16\x6b\x1d\x36\xea\xeb\xb8\x13\x6a\x88\x37\x85\x88\x39\xad\xbc\x2f\x77\x43\x8b\x28\xd2\x3f\x0f\x29\xa7\xfe\x31\xd3\x84\x92\xd3\x9a\x96\x6c\x27\xe2\x8d\xea\xb5\x9c\x7b\xa5\x35\xab\xfd\x78\x5a\x91\xf4\xd1\x71\x4c\x04\xd7\xa2\xd3\xa7\xee\x37\x55\x0f\x25\x99\x2f\xf2\x35\x03\xaf\x23\x02\xb6\x16\x64\xd2\x8c\x38\x0a\x14\xad\x15\x3c\xfd\x1f\xc5\x59\x90\xd0\x6c\x9d\x51\x8c\x61\x84\xfc\x40\x3c\x67\x7c\x6c\x33\xff\x31\x24\x10\xac\x96\xda\x01\xc6\x22\x97\x25\x19\xa8\xcf\x04\xb0\x16\x0b\x2e\x0b\xca\x29\xba\x02\x9b\x41\x64\xa7\x19\xcd\xd7\x22\xba\x0d\x82\x9b\xd1\xfb\x7b\x90\x1b\xa0\xb6\x81\x58\x6b\x43\xdd\x85\x53\xde\x76\x9f\xc2\x45\x46\xef\x55\x27\x99\x8d\x97\xd3\x29\xc6\xf4\x6e\x7c\x76\x36\x85\x3f\xd6\xa0\x46\xca\x9e\xd6\xb8\xcc\x7b\xed\x3c\x23\xb8\xd3\x63\xb3\x27\x24\x0a\x32\xf4\x33\x96\x7a\x66\x93\x4d\x8e\xf9\x14\xdd\xa0\x89\x5d\x41\x9d\x06\xf7\x90\xb3\xf1\x1a\x41\x9a\x09\xeb\x51\x80\xb9\x63\x5d\x04\x4d\xe4\xbe\x68\xf5\xbc\x8d\x85\x84\x0d\x1c\x0a\x7e\xe5\xb6\xd8\xbf\xc2\x9a\x02\x50\x3a\x48\x4e\x26\x36\xa3\x81\xcf\x5d\xcb\x26\x19\xe6\x99\x5d\xea\xc0\x0d\x9b\xb2\x6e\xbb\x64\xc2\x3b\x04\xc8\x07\xce\x03\x9b\x7c\x6d\xa2\x9c\xbc\x2d\xc9\x82\xe2\x46\x95\x90\x90\x30\x78\xa4\x0d\x5a\x5d\x27\x11\xb5\xec\x45\xa4\x10\x90\xc0\xf6\xa9\xd5\xda\x6d\x98\xdd\x06\x98\xf5\x09\x56\x1b\xd7\x35\x26\xaf\x0c\xe7\x89\x22\xb2\xc9\xb1\x07\x82\xfe\xe5\xc4\x29\x24\x9c\x5f\x4a\x55\x29\x32\xe7\x6b\x74\xa6\xb2\xae\xa8\x24\xea\x5b\xd7\xae\x0f\x5b\x77\x1a\xc6\xb2\x3c\xab\x12\xbb\xef\x71\xd5\xea\x97\xf0\x8e\x9a\x39\x89\xe0\x3d\x06\xef\xe3\xdb\x2d\x58\xeb\x0f\xc0\xd2\x42\x47\x71\x97\x55\x77\x0a\x25\x90\x33\xf2\x93\xad\x45\x5b\x68\x2c\x41\x86\x5d\xec\x69\x43\x14\x65\x93\x40\x53\x22\x4b\xdb\xe3\xef\x4b\xd0\x37\x14\x40\xf8\xae\x4b\x98\xa3\x00\x73\xc9\x05\xa6\x09\x87\x30\x92\x3c\x17\xa5\x9c\x96\x42\xb9\x4c\x17\x81\xd1\x24\xb5\xd5\x70\x83\xd8\x0f\x33\x9b\xad\xa8\x8e\xae\x87\x0a\xaa\x2b\xfa\x09\x57\xab\xd8\x91\x73\xb3\x3b\xc9\xe7\x9f\x07\xc5\xbf\x8b\x0d\x8e\x27\x96\xe4\xc3\x67\x5e\x63\xc3\x77\x6e\x23\x6b\xda\xe0\xb0\x6f\x5b\x4a\x83\xe8\x92\x8a\x0f\x64\x13\xf9\xf4\xfc\xd9\x8a\x08\xd1\xf2\xff\x7b\x95\xea\xcd\xf5\xf4\x89\x3c\xcf\xa3\x04\xcb\xd7\x99\x58\x2d\x76\x8b\x92\x36\xfd\x8f\xf3\xbc\x39\xde\x00\xcc\x7e\xf0\x02\xaf\x30\xbb\xda\xcb\x38\x2a\xa7\x77\x50\x51\xd6\x6c\x74\x90\xde\x5d\x1b\xdc\x0a\x21\xba\xad\xed\x9c\x9b\xe5\x91\x83\x5e\xe3\xad\x1b\xdd\xe9\x16\x42\xbf\x62\xbf\x0e\x7a\x6e\x70\x7d\xaa\xd0\x4b\x75\x3a\x6d\x89\x15\x5c\x29\x2d\x72\x44\x8a\x5c\xc2\xda\xf5\x02\x6c\xc0\x0e\x1f\xc5\x3d\xff\x7f\xf6\xfe\xbe\xbb\x8d\x1b\xcb\x13\xc7\xff\xf7\xab\x80\xb3\x33\x26\x19\x93\x94\xec\xdd\xec\x74\x4b\x51\xf7\x4f\x96\xe5\x69\x6f\xec\xc8\x47\x92\x93\x9e\x71\x3c\x0e\x58\x05\x52\x68\x15\x0b\xb5\x05\x90\x14\xd3\xf6\xbe\xf6\xdf\xc1\xbd\x78\xac\x42\x91\x25\xc7\xe9\x87\x39\xdf\x3e\x73\x26\x16\x0b\xcf\xb8\x00\xee\xe3\xe7\x1e\x27\x5e\x80\xe4\xba\x45\x7b\x16\x76\x9b\xda\xbe\x0e\xbb\x46\xff\xdd\xeb\x6a\x20\xda\x3c\x33\x8a\xf4\xde\x45\x43\x4c\x6e\x63\x68\x22\x33\xa5\xdb\x3b\xd2\xe8\xa3\xcf\x02\x1d\xef\x4c\x2c\xec\x83\x54\x9b\x89\x84\xc3\x9c\xac\x36\xcc\x34\x20\xaf\xc3\x46\x11\x76\xa7\x58\xe9\x46\x3e\xb6\x23\x4d\x24\x68\x0f\x9c\xf0\x5a\x6e\x8c\x69\x54\x82\x25\xbd\xe3\xcb\xd5\xd2\xba\xa4\xbb\x08\xa6\x28\xd8\xbf\x07\x58\x91\x28\x8a\xd7\xf4\x2e\xba\xb9\x59\x04\x4b\x30\x4c\x47\x32\xa8\x86\x67\xfa\x28\xf2\xdc\x56\x9d\xfe\xe1\x3b\x9d\xbf\x27\x41\x13\xbb\xbb\x85\x78\xb7\xa6\x0b\x38\xac\x84\x7f\x7c\xdd\x71\x30\x0f\x9b\x32\x59\x53\x3a\xdc\x52\x43\x64\x04\x88\x05\x62\xf5\x27\xdf\x06\xfe\x7f\x53\xdd\xe8\x7b\x51\xe7\xb5\xcf\xbd\xdb\x85\xb2\x41\x26\xbf\xae\x07\x52\xed\xf3\x54\x4d\xfb\x46\xd6\x5e\xcf\x77\x2f\x77\x48\x1f\x80\x26\x8a\x02\x07\xe6\x9a\xda\x11\xc0\xe4\x36\xb9\x6b\x83\x1b\x2d\xbf\xa6\x77\x71\x64\x9b\x21\x37\x3c\x4c\xa0\x97\x71\x23\xf8\x83\xaf\x83\x2f\x68\x38\x38\xf7\x29\xbe\x0d\x1d\x4a\x86\x2f\x7a\xe2\xeb\xb5\x3c\xe4\xbb\xea\xf8\x2a\xfd\x70\x99\xf6\x92\x5a\x9c\xff\xe2\xef\x42\x6d\x2e\x2e\xea\xbf\x37\xc1\xed\xbe\x51\xe0\x3e\x76\x5d\x4e\x3e\x33\x62\x2f\xa6\xd3\x6f\xc9\x61\x9b\x3e\x0f\x7f\x73\xba\x4c\x3f\x03\x4e\x9d\x62\x89\x05\xdd\x3b\x83\xd8\xb0\x48\xfa\xe0\x32\x8e\xb6\x68\xbc\x1e\x53\xb2\x47\x6c\x40\x1b\x67\x1d\x00\xea\x41\xc4\xb7\x16\xe4\xbf\x46\x7d\xd2\xd7\x20\x4f\x28\x7b\xe1\xf6\x79\x85\xae\x23\x0f\xfb\x34\x38\x0e\x98\x63\xc0\xa2\xda\xb5\xc0\x07\xdd\x9b\xd8\xf9\x88\xb6\x56\x0f\x5c\x7d\xfe\x31\x16\x0f\xaf\x90\x3e\xeb\xf7\xac\x19\x76\xd0\xed\xac\x6c\x11\x08\x23\x03\x51\xf2\x4c\x00\x1f\x1a\xac\xda\x9f\x00\x1e\x1e\xf3\x67\x99\x89\x83\xd6\x45\x86\x08\xa4\x36\xe1\x5c\x94\xe3\x19\x74\x3d\x9e\x53\x18\xc8\xe0\xe0\xd8\xc4\xcc\x26\xc2\x5e\x82\xc6\x07\xd7\x69\x49\x41\x01\x90\xaf\x98\xbd\x54\x21\xa5\xca\x92\x96\x98\xef\xd3\x9b\xf5\x6d\xa4\x10\x48\xcb\x14\x57\x9c\x2e\x97\x54\xf1\xcc\xb4\xbb\x77\x15\x5d\xba\xbd\x04\x1f\xd4\x33\x50\xdb\x5d\x13\x71\x74\xe5\xc3\xe0\x3e\x8c\xe2\xb7\x9d\xaf\x56\x3b\x08\xb6\x5d\xc7\xc4\x71\x8f\xc2\xcc\xf4\x5c\x9a\x65\xd6\x2b\x45\x0b\x29\x60\xbd\x43\x65\x09\xc4\x2d\x0e\x67\x2b\x15\x07\xb1\xc1\xcf\x50\xf5\xe1\x68\x1a\xb5\x67\x72\x47\xb4\x73\xa8\x60\xee\x9d\x68\xb5\x09\x95\x51\xae\x28\x6c\xd7\xb5\xf7\xb2\x34\xe1\x47\x00\x8c\x07\x76\x43\x1b\x60\x8e\x99\x44\xc3\x23\x84\xf3\xa0\x65\x4e\x0a\xa6\x88\x4d\x7d\x6d\x9b\x32\xe9\xec\xd0\x6e\x8d\xa7\xcc\x1a\x12\xc6\xe8\x04\x0a\x0e\x0b\x39\x59\x55\xa6\xc1\x20\x37\xf3\xa6\x16\x10\xa0\x8e\xe9\x5e\x5c\x9c\x3f\x78\x81\xd2\x68\xd0\x28\x7b\x38\xd8\x08\xd2\x76\xbf\x33\x25\x82\x90\x37\x54\x39\x18\xf0\x03\x9f\xc2\x31\x85\x7a\x30\x6a\x40\x7d\x72\xc8\x07\x9d\xd1\x12\x20\x07\x6b\x9e\x9b\xa4\xb7\x2e\x8b\x92\x59\xad\x1b\xe6\x9e\x4d\x48\xee\xd8\x38\x76\xb6\x21\x4d\x04\x19\xb5\x6b\xd9\x4a\xbd\xd7\x6a\xd6\xe5\x39\xf2\x40\x85\x4e\xb1\x04\xc4\x04\xab\x6e\x2d\xec\xbe\xcf\x5e\xc7\x08\x12\x4e\x36\x8f\xd2\xce\xcb\x64\x92\x9a\x5b\x78\xa5\xfc\xe8\xbf\x87\xf7\x8a\xbf\x17\x2c\x85\xf2\x78\xb5\xf4\xe2\xba\xbb\xb7\x35\x74\x42\x9e\x19\x68\x03\x78\x3b\x6b\x51\x2a\xc8\xff\xe3\xd2\x0b\xa5\xa3\xd8\xac\xaf\x8f\xc9\x22\xe8\xc8\xea\xf9\xcb\x1f\xc6\x21\x5d\xe3\x10\xac\x27\x12\x58\x72\x66\x5b\x9b\x78\x31\x0e\xe1\x83\xe1\xd1\x35\xc3\xb8\x55\x9b\xbf\xd1\xde\x76\xf7\x5b\xf9\xd4\x2d\x06\x94\x1a\x95\x1a\x32\x9f\x02\x9d\x4d\xcd\xa0\xde\x20\xdd\xb0\xbc\xc5\xa3\x1c\x1c\x90\x17\x7c\xb1\xaa\x21\x4d\x12\xb9\x11\x1b\x32\xa7\x26\x83\x07\xee\x8a\xa6\x2c\x49\x30\x4b\x0d\xce\xdf\xba\x61\xe4\xac\x50\x34\x08\xde\xb6\x23\x78\xae\x7f\xb7\xc3\x30\xb1\x76\xcd\x18\xef\x80\x7b\xc3\x76\xec\x4d\xab\x42\x56\x4c\x05\x4c\xd8\x7d\xa4\x0f\x95\x92\x3b\x54\x97\xc4\x21\x2a\xef\x74\xd8\x1c\x5e\x70\x35\xbf\x46\x6f\x2b\x3f\x72\x93\xf7\x8c\x46\xd7\xdd\x98\x6c\x6e\x78\x76\x43\x54\xcd\x17\x0b\x56\xcb\x20\xc2\x38\xb8\x8f\x52\x4c\xa1\xd2\xec\x60\xe4\xac\x1b\x9f\x76\x3c\x19\x1b\xf0\xe1\x70\xe9\xb1\x2d\xf6\x28\xde\x9f\xea\x86\xd5\x6c\xe0\xa8\xd2\x36\xe6\x76\x2e\xbc\xae\x2b\x6a\x34\xc6\xb8\xcd\xea\xa6\x86\x58\x77\x29\x82\xe4\x51\x36\x65\x15\xa6\x76\xc3\x04\x64\x6b\x56\x7b\x32\xe8\x4a\x07\x1a\x99\x0e\xce\x0c\xd4\x1a\x73\xe4\x45\x49\x70\x2f\x58\x8b\xa5\x6b\x35\x12\xa2\x80\xa2\x20\xd7\xcd\x27\xc2\xe0\xea\xc0\xe4\x6a\x61\x03\x7a\x36\xb5\xc8\x18\xe6\xbf\xf0\x70\x85\x88\xf8\xf1\x89\xfc\xc9\x74\x3b\x74\x5a\x94\x51\x44\xcd\x7d\x84\x2f\x4f\xd9\x1d\xbc\x84\xa1\x62\x2d\x99\x6c\xb8\xca\x6e\xf0\xf4\x15\x8a\xbe\x0e\xac\x38\xfa\xd5\x24\x7e\x4a\xd3\xe7\x17\xaf\x3f\x3c\x3f\x7f\x75\x7d\xfa\xe1\xcd\xcb\x3f\x9f\xbf\x3a\x72\xa6\x47\xec\xc7\xb4\xf0\x1f\x56\x94\x09\x86\xf2\x1a\xc3\xd9\x39\xab\x3f\x24\x6c\xac\xdd\xfd\xbc\x7a\xf9\xfd\xf9\xbe\x6e\xd2\x12\xd3\x3d\x3a\x79\x73\xfa\xef\x9f\xd5\x49\x30\x4f\x38\x1e\x0b\xa6\x42\x24\xa3\xa8\xff\x4f\x81\x27\x99\xe4\x8b\x12\x19\x73\x48\xaa\x9e\xe3\x7b\x07\xc9\x09\x35\xc5\x03\x79\xb1\xbb\xca\xa4\x76\x33\xe4\x81\x03\xfb\x9a\x4c\x0c\x47\xfc\x99\x6f\x38\x84\x92\xff\x63\xbf\xde\x90\x06\xb9\xe7\xbb\xdd\x9c\x4e\x9f\xa6\x77\x3c\x4c\xf0\xfd\xfe\x4f\xd2\xf9\x1d\x80\x10\x19\xd1\x97\x15\x79\xe0\x85\x7c\xed\x47\x68\x62\xee\xd1\x77\xcd\xb1\x90\x92\xae\xd1\x71\x05\xdb\xc2\x92\x39\xc7\x7c\x77\x63\xfd\xfe\xde\x50\x49\x6a\x66\x20\x7a\xe0\x65\xc3\xdc\xf7\x08\x61\x2a\xc9\xb0\xe0\xb7\x0c\x71\xcf\x46\x06\x68\x5a\xb7\x84\xb9\xfb\xa5\xe2\xd9\xad\xf5\x03\x46\x20\xb1\x42\xe8\x2d\xe1\x4b\x66\x04\x1d\xb2\xa1\x5b\x3d\x12\x30\x77\xc2\xf3\x2f\x97\x00\xdd\x8d\xed\x3b\x60\x25\xb1\x42\x73\x80\x59\x45\xa9\xa8\x62\x53\xff\xd6\xad\x66\xad\x9d\x53\xf6\x26\x89\x72\x2f\x10\xc2\xf3\x23\xa2\xa6\x3c\x67\xa5\xe2\x73\xce\x6a\xeb\xca\xb8\xd5\x3f\x23\x58\xd8\x7f\xd8\xdf\xee\xfc\x6f\x7f\xc6\xdf\x3e\x1d\x63\xd2\x05\xd3\x35\x1f\x23\x19\x1c\x47\x97\x99\xde\xf1\xe8\x1e\x0b\x73\x89\x1f\x79\x9f\x9f\x2b\xba\x66\x0d\x57\x6b\x94\x26\x00\x73\x41\x5a\xa7\x1f\x70\x92\xe4\xe8\x18\xc9\xc9\xb7\x84\x4d\x0d\x40\xf6\xb5\x29\x87\x3a\xf4\x63\xf2\xf8\x31\x0f\x5d\x7c\x94\x59\x12\xbf\x3e\xc3\x66\xd5\x77\xfc\x7d\xe0\xd5\xe3\x64\x2e\x5c\xe5\x77\xd0\xc0\x94\xe7\xef\xe1\xcd\x35\xd3\x24\xc6\xb7\x36\xb8\x62\x9a\x13\x35\xc9\xc5\x8f\x9a\xbf\xb3\x32\x0f\xa7\x0f\x6e\xd4\x84\x6a\x0a\x60\x77\x5c\x2a\x14\x5a\x60\x5c\x96\x5c\x07\xe0\xf8\x50\x72\x79\xc3\x72\x70\xe1\xf9\xac\x35\x71\x13\x34\xb0\x1e\xcd\x79\x26\x56\x25\x20\x90\xf7\xc7\xbb\x67\x0b\x99\xdd\x83\x69\xfd\x48\x8b\xdb\x10\x7e\xde\x4e\xc9\x22\xf1\x8b\x92\x05\xf2\xde\x92\xd5\x0b\x16\x14\xe7\xb5\x6f\xc9\xe8\x04\x08\x2f\xf5\xb9\x2b\x19\x5e\xc4\xf6\xe4\x14\x4c\xdf\x9b\x16\xab\x65\xce\x4b\x60\xa2\x0c\xfb\x32\xa7\xd2\x80\xec\x12\x12\xf3\xa0\x87\xc7\x7f\x6b\xb2\xc2\x9e\x1f\x5b\xb0\x9e\x14\x81\x4d\xb7\x80\x60\xa4\xff\xda\x7e\x1e\x41\xfa\x55\x7b\x09\x4f\x9b\x43\x61\xf4\x7b\x60\x40\xc5\xbc\x84\x8c\x37\x9d\x96\x5b\xc4\xdc\x49\xfa\x1b\x5e\xe6\x06\xf5\xcc\x0f\xfe\xeb\x13\x78\xfc\x82\xe5\xec\xcb\xa9\x13\x92\xe0\xd6\x9b\x1c\xbb\x6d\xb4\x0f\xd7\x1e\x36\xd8\xe2\xdc\x49\x07\xf7\x1e\x56\xda\xcb\xc1\x93\x2f\xca\xc5\x93\xbd\x9c\x7c\xf2\x4e\x09\xd8\x16\x41\x72\x93\xfe\x7f\xc1\xa4\x5a\x69\xd1\x17\x21\xf5\x50\xa0\xc4\x24\x67\xa5\x62\xf5\x9c\xd5\x2e\xaa\x43\x3f\x18\x6e\xa7\xf5\x48\x52\xec\x77\xc7\xcb\x1e\x6a\x88\x22\x59\xdc\xd3\x08\x78\xa4\x40\xa9\x95\x24\x72\x05\x64\xe6\x95\xbe\xa0\xd7\x94\x8a\x6e\x65\xa0\x09\xb6\x1e\xa0\xba\xb1\x0a\xde\xd4\x86\xb1\xc4\x60\x87\xea\x7a\xf7\xd4\x81\x5a\x85\x51\x8a\xbd\x00\x00\xaf\x89\xc3\x30\x97\xbc\xcc\x98\xd3\x30\x59\x5e\x09\xb5\x5e\x7a\xee\x51\xce\x5d\xab\x94\xdc\x09\x1a\xbf\x0b\x6f\xf4\x9e\x1c\xa2\x4f\x8c\xff\x8f\xca\x20\x9e\xe9\x11\x36\x16\x99\x74\x90\x91\x9e\xcd\x44\x89\x49\x56\xf0\x6a\x26\x68\x9d\x37\xa6\xf6\x72\x9e\xca\x56\x82\xf6\x6f\x96\xfb\xf0\x4c\xef\x0f\x08\x48\x47\x74\xeb\x02\x10\xe6\x9a\x0e\x79\x19\x44\x90\xf9\xd8\xbc\x44\xd4\x79\xec\xbb\x6d\xdf\x91\x1b\x33\x64\x07\x73\x08\xaa\x1d\x3e\x37\xcf\xef\x92\x4b\x89\x68\x4f\x3e\x47\x88\x1b\xa3\x62\x77\xca\xe4\x27\xd7\x93\x21\x95\xa8\x40\x7e\xc5\x57\x0e\xf3\xe0\xdf\xb8\x18\x76\x46\xbe\x0a\x9c\x2e\xbf\xf2\x3e\xb9\xb6\x0f\xdd\x5c\xcf\x4d\xd8\xc1\x49\xeb\xcf\xf7\x64\xa4\x2d\x05\xdf\x0b\x5b\xe9\xb3\x80\x4f\x9a\xa1\xdc\x93\x1e\xa1\xca\xe4\x69\xcc\xcb\x46\xde\x1b\x7f\x0b\x78\xa6\x5d\x30\x20\xc1\x30\x3b\xf0\x5b\x94\x51\x92\xcb\x30\x32\xbd\x8d\x36\xe4\x1d\xb0\x59\x99\x3f\xa3\xd9\xad\xa6\x6e\xe3\xad\xe2\xdc\x90\xf7\xac\x66\x72\x0c\x28\x27\x41\x24\x7c\xbf\x31\x90\xd6\x08\xba\x22\xb9\x22\x87\x9a\x86\x5b\x4e\x23\x1a\x1f\x7d\x61\x64\x02\xb8\x66\x5f\xa7\x3b\xdd\xd3\xda\x8e\xdd\xbb\xbc\x72\xbb\x9c\xaf\x20\xb5\xc1\xb0\xf1\x5e\xef\xd8\xeb\xc7\xe4\xc9\xb8\x35\xde\x1e\x9e\x68\xed\x01\xee\x8f\x24\xeb\x1a\x4c\xdb\xe7\xaa\x87\x27\x5b\x07\x35\xb7\x90\x73\xfa\xe0\x2b\x34\xb6\x33\x88\x12\xf3\xa4\x0c\xa3\xed\x49\xcc\x09\x4c\xa4\x8e\x61\x74\x52\xf4\x8e\xd1\x90\xc4\x58\xba\x23\x1a\xa3\xad\xde\x4f\xdc\x50\x4d\xa6\x51\x26\xf6\x77\xdf\xcb\xa5\xcf\x8f\xe3\x41\x6f\x37\xef\x9e\xe4\xde\x1e\xd9\x78\xcf\x71\xef\x4b\xea\xcd\xf1\x75\xb4\xdb\xd6\x04\xbf\x10\x19\x30\xdb\xc6\xd2\x8e\x99\xed\x8d\x1f\x8c\x28\x09\x25\x98\x38\x9e\xdc\xb2\x6d\x2e\x36\xa5\xe5\xc5\xa9\x34\xec\xc0\x8b\x17\xba\x8c\x59\x08\x66\x13\xab\x5b\xab\xce\x12\xd3\xe6\x63\x52\x7d\x96\x87\xd6\x51\xec\xa9\x5f\x3c\x81\x28\x9f\x89\x7c\xfb\x1d\xdb\x3e\x17\x9b\x32\xf5\x20\xfb\x17\x32\xc8\x05\xda\x7c\x7b\xf5\x31\xb9\x65\x9a\xab\xba\x82\x74\x3c\x53\xcd\xa3\x69\x2e\xf3\x4c\xe4\x6c\xc8\xa6\x20\x5f\xb8\x37\xac\x10\x1b\x56\x7f\x07\xc5\x6f\xd9\x76\xaa\xc4\x2b\xfd\xc3\x19\x95\x81\x0d\x5a\xcb\xa3\xaa\x2e\x74\xa9\x8f\x1f\x09\x9b\x2e\x99\xa2\xdf\xb1\xed\x88\x3c\x7a\x14\xd4\x3f\x21\x5f\xad\xbf\x0a\x5c\x95\xa3\xb4\xf1\x51\x42\xe0\x88\xb7\x03\x64\x70\xb7\x46\x76\x83\x54\x94\x0e\x09\x4d\xfc\x41\x96\xc5\x1e\x4b\x09\x8b\xd3\xc9\xd5\xa4\x07\x97\xc6\x3c\x4d\x60\x9b\x06\xd0\xa6\x10\xea\xed\x2c\xb6\xd0\x2e\x18\x6c\xf5\xc9\x39\x32\x5f\xc3\xce\x10\x23\xfb\xd3\x28\x82\x3d\x4d\x94\xf0\x41\x15\x1e\xc3\x3e\xce\xad\x4c\x92\x00\xa9\xb8\xaa\x12\xa0\xd3\x4d\xbe\xfd\x78\x69\x43\xda\x9f\x92\x2b\x25\x2a\xf4\x25\x01\x5e\x1e\x85\x29\x51\xd1\x05\x05\xfd\x11\x95\xde\x72\x03\x79\x4d\x31\x1e\x11\xfa\xc8\xad\x35\xd3\x2d\x36\xc6\x5b\xec\xdd\x1c\xac\xfe\xc6\xcf\xf9\xda\x8e\x34\xb5\x5f\x6c\x2a\x95\xa8\xde\xd8\x41\xa1\xe3\x6c\x02\x73\x7f\xcd\x6a\x44\x6e\xf0\x1e\x05\x4b\x91\x7f\x66\x6a\x30\x97\x2e\xc1\xa0\x28\x44\x39\x87\x15\x55\xdd\x49\x87\xb5\x58\x36\x2f\xc4\xe6\x3f\xc8\x09\xaa\x55\xc9\x1f\x89\x35\xe4\x93\x23\x32\xc0\x6c\x44\x83\xd6\x14\x22\x0b\xef\xd2\xd9\x58\xa6\x28\x54\xd0\x42\xb1\x5a\x82\x19\x6b\xb9\x32\x4a\x98\x48\xff\xa2\xaf\x36\xf0\x72\x69\xda\xa8\x7a\x65\x66\x0f\xac\xb8\xaf\xc5\x9a\x19\x13\x4f\x9c\xa6\xd2\x8f\x29\x9e\x7b\xc2\x2e\x44\x4e\x82\x19\xc0\x4c\xf5\xeb\x76\xf1\xf6\xf2\xec\x9c\xbc\x78\xf9\xea\xfc\x08\x0d\xe0\x07\x7f\x91\x07\xf0\x8f\x0f\x16\xe5\x7f\xfa\x17\xa9\x8b\x6a\x89\x03\x23\x9a\x87\xd9\x88\x3c\x3d\x7c\xf2\x14\xd4\x05\x60\x1e\xe4\xab\x25\xb9\xb8\x22\xa7\x2b\x75\x23\x6a\x39\x25\xa7\x45\x81\xd1\xcf\x92\x68\x81\xa3\x5e\xb3\x7c\xaa\xdb\x78\x2b\x99\x43\xfa\x92\x88\x03\x92\x99\x98\xe9\x85\xde\xa3\x52\xdf\xd3\x5b\x42\xc9\xb3\xab\xe7\x13\xd8\x3a\x52\xf0\x8c\x95\xd2\x44\x33\x22\x74\xbd\x6e\x69\x0e\xfa\x76\x43\xeb\xaf\x5e\x9e\x9d\x7f\x7f\x75\xae\x45\x45\x36\x7d\xf0\x60\xa0\x57\x5b\xaa\x9a\x67\x6a\x70\xfc\xe0\x41\xc1\x67\xd3\x5a\xe5\xac\x1a\x0e\xf4\x3f\x21\xa9\xb6\x1c\x8c\x09\xfc\xf5\xc6\x29\xfe\x5f\xd3\x92\x2e\x58\x6d\x3f\xd4\x0c\x07\x68\xff\xde\x64\x83\x90\x8d\x83\xdf\xe6\xfa\x23\x6e\xe2\x77\x6c\x0b\xe2\xaf\xff\xe5\xa2\xd2\x3b\x24\xfd\x0f\x89\xae\xc2\x06\x1d\x31\x30\x56\xfa\x4a\xc1\x7d\xeb\x7f\x83\xac\x1b\xed\xba\xfa\xc4\xba\x5c\xfc\x41\xc7\x3f\x5c\x43\x76\x2c\xab\xae\x10\xa5\x54\xf5\x0a\x92\xd5\xd8\x38\xa6\x6b\xb3\xd5\x24\x2b\xa8\x74\xb2\xfb\xa9\xff\xbd\x5a\x69\x6a\x56\x62\xc1\xc0\x32\x92\x72\x97\x18\x93\x70\x06\x20\x2f\xdb\xee\x9f\x1c\x1e\x42\xca\x4b\xdd\x38\x1a\x58\x30\x97\xab\x31\x0c\x88\x65\x85\x2a\x6b\xdb\x9b\x25\x6f\x5a\x70\xb5\x0d\x74\x53\x35\x82\x40\xd3\x20\x79\x03\x3c\x75\x93\x82\xad\x59\xe1\x47\x8b\x57\x9e\x0c\x69\xc6\xe0\x7e\x63\x5a\x17\xb4\xfd\xa0\xf6\xb4\xe4\x28\xcd\x5b\x1b\x85\x14\xf5\xd8\x88\xfc\xe6\xf4\xd7\x6c\xe1\x70\x9e\xd1\x30\x64\x07\x0a\xee\x21\x6e\xc1\xa7\x84\xfc\x49\x6c\xd8\x9a\xd5\x63\x83\x8f\xc3\x97\xb4\xde\x06\xd8\xe3\xa0\xc0\xab\x6a\xa6\x86\x23\xab\x52\x84\x7c\x80\x92\xfc\x70\xad\xdb\x62\x32\xa3\x95\xe6\x76\xff\xef\x0a\x4d\x51\xa0\x74\x28\xd7\xe2\xd6\xf8\x65\xd1\x4a\xbf\x03\x35\x20\x3d\x35\x67\x1b\x79\x31\xc2\x52\x93\x0d\x95\xe4\x86\xd1\x35\x87\x04\x66\xf3\x02\x5a\x85\x13\x76\x26\xea\x2d\x79\x4d\xb3\x8c\xd6\xb5\x28\xd9\x40\x92\x17\x35\x5d\xb2\xd9\x6a\x3e\x67\x75\x4c\x05\xd7\x17\xcf\x2f\x86\xf5\x82\x97\x39\x1d\x1d\x11\xb0\xed\xa2\xb3\x41\x03\x5b\xc4\xea\x6b\x20\x4c\xbe\x0e\xb2\x0a\x49\x33\x55\x5a\x9b\xac\x3a\xb2\x2a\xe8\x56\x17\xde\xf0\x0c\x20\x94\x36\x9a\x14\xa8\xd4\x57\x73\x99\xd3\x1a\xd2\x52\xf0\x32\x68\xc1\xaa\x71\xf0\xb1\x33\x3d\x00\x31\xff\x9f\xef\xc8\x50\xaf\x92\x09\xa6\xdb\x9a\x1d\x0a\x52\x1a\x31\x25\x47\xbb\x72\x22\x56\xb5\xd0\xf7\xc6\xcb\x9c\xe0\x89\xd5\xd4\xee\x4e\x2a\x31\x5f\x49\x49\xc1\x9c\x87\x50\x80\x36\x2b\xa2\xa1\xe2\x7c\x6c\xbd\x7d\x60\x78\x03\xf3\x47\x94\x23\xc8\xed\x56\x23\xb7\xa1\xeb\x3d\xe4\x83\xec\x6f\x11\x76\xf2\xc1\x01\xb9\xde\x08\xfb\xc0\xf0\x52\x2f\x56\x16\xe8\x2d\x0d\xb9\xe1\xf1\xfb\x10\x67\xff\x82\xdf\x02\x55\x0f\xbc\x5c\x25\x55\x6c\x77\x69\x6f\x52\xff\xca\x58\xef\xbe\xf2\x69\xc8\xa3\x77\xd6\x07\xe6\x85\x83\x08\x5b\x28\x84\x66\x03\x4a\x61\x4d\x11\xe1\x63\xc9\x7f\xd1\x6b\x8b\x95\x9e\x01\x09\x4a\xab\xbf\x5c\x33\xc8\xab\xf8\x0b\x43\x22\xb2\xb6\xd2\x9c\x67\xa0\x81\x43\x57\xb0\x4a\x3f\x32\x26\x6f\xe7\x94\x90\xe7\xe8\x1c\x89\x89\xfd\x50\xbb\x6b\x40\x8e\x37\x02\x54\x8b\x39\x97\x74\x51\x33\x30\xae\x1e\x1c\x90\xd3\x42\x0a\x2c\xc0\x4b\x9a\x29\xbe\xb6\x23\xd3\x2c\xae\x6e\x04\x63\xf4\xf1\xbd\x67\xb9\xc1\x4f\xe2\x10\xd1\x0c\x09\x59\xe0\x68\x42\x45\x6c\x30\xb9\x46\x57\xc9\x9c\x6c\x87\xc8\x2b\x06\xce\x0b\xd6\xdf\xb8\x06\xdb\x20\x86\x6e\xae\xa4\x39\x64\xe6\xf0\x10\xd5\x48\x0d\x32\x8d\xdf\x7e\x7d\x1f\xb7\x36\xd5\xfc\x0e\x42\x5b\x33\xef\x04\x54\x98\xca\xd5\x4c\x66\x35\x9f\xb1\xa1\xcf\xed\x64\xf4\x8d\x46\xf7\x3e\x9d\x71\xe3\x9c\x3d\xda\xdb\x84\x73\x94\x8c\xbc\xd2\xee\xd5\x84\xe5\xdc\x4d\x0b\xc8\xd1\xee\x6d\xc0\x69\xb0\x03\x5d\x69\x58\x2b\x5c\xee\x9c\xaf\xcd\x33\x61\x53\x7a\x20\x4b\x6d\x79\x9f\x30\x6b\x5b\xf3\x34\xb6\x52\xe2\x07\x6d\xb0\xc0\x39\x54\x93\x24\x5e\x09\x3e\xfe\x76\x51\x88\x99\x7e\x40\x74\x43\xae\x11\x78\xe1\x02\x48\x53\xff\x22\x6a\x49\xc0\x3d\x8a\x88\xef\xcf\xe7\xc6\x77\xa1\x1c\x28\xc8\x3c\x6d\xcf\x86\x44\xa7\x17\x30\xa8\x52\xdf\xf8\x96\x29\xb4\xce\xd4\x6c\x22\x19\x78\x3d\xe6\x2c\x13\x35\x24\xf5\xf5\xf3\xb4\x61\x71\xe4\xc4\x58\x09\xdd\x4f\xe1\xbc\x7d\xa6\x05\xf4\x67\x30\x7e\x67\xa1\x1a\x1f\xd2\xc8\x45\x59\xc8\x69\x9e\xd7\x4c\x82\x95\xab\x41\xaf\x33\x9a\xdd\x5a\x4c\xb4\x77\xef\x6d\x47\x57\xe8\xb9\x41\x67\x44\x0b\x1b\x9e\xc6\x15\x9d\x81\x84\x14\x97\x06\x14\x34\x55\xd3\xec\x56\x5f\x2f\x9b\x1b\xe4\x54\xcc\x5d\xec\x5b\xc1\x01\x43\xa6\x6e\x56\x53\xc9\xf2\x63\xe7\x27\x7c\xfd\xec\xcc\x64\x48\x2a\x18\x85\x2b\xa8\xf0\xf5\x82\x3b\x9e\xd6\x4c\xaf\x79\xcd\xa4\x12\x35\x46\x0a\x58\x3b\x19\xdc\x0c\xe0\x71\xcc\x7c\xde\x2b\x53\xf1\xda\x0c\x5b\x13\x66\xbd\x62\xe1\x72\xfe\x70\x8d\x6e\x7a\xc1\xdd\xd8\x80\x1c\x84\x43\x4e\x34\x03\xed\x22\xe5\xc1\x58\xa1\x19\x07\x18\x32\x70\x2e\xce\x49\x15\xc4\xc4\x32\x0f\xec\xc0\x99\x58\x2e\x69\x99\xfb\x55\x5c\x1b\x01\xe3\x5a\x54\x61\xca\xed\xe8\x1b\xea\xcc\x53\x84\xff\xfc\xe5\x0f\x4e\xd3\x62\xb9\x48\x7b\x21\xe1\x58\xa6\x41\xf0\xbd\x14\xb5\x0d\x1d\x6f\x36\xe4\x02\xd1\x71\x02\xf2\x46\x73\x40\x76\x0d\x9a\xa7\x10\x0b\x5d\xe9\x32\x1f\x5c\xb2\x3c\xfb\xb4\x86\x5f\xa7\xcf\x5e\x5d\x9c\x7d\x97\xec\x47\xb3\xff\xb6\x83\xe4\x48\xcf\x74\x89\xe6\x50\xcf\x70\x78\xb3\x82\x97\xb7\x44\x94\x07\x9a\xd0\x01\x1a\x51\x9f\xa3\xa5\x1c\x83\xe5\x6f\x53\x73\xa5\x58\xa9\x19\x2c\xcd\x42\x68\xf1\x2f\x83\xd7\x61\xab\x39\xa5\x42\xd0\x1c\x52\x28\x87\x9d\x3d\xd3\x0d\x9e\xe9\x86\x80\x9a\x9f\x1c\x1e\x8e\xc9\x93\xc3\x43\x47\xd5\x6f\x6a\x36\x99\x81\xac\x23\xca\x33\x5f\xe3\x83\xb5\x68\xd9\x14\x6c\x88\xb8\x63\x7d\x8b\x73\x61\xb4\x07\xa2\x26\x8c\xda\x67\xd3\x2c\xb1\x19\xbd\x16\xcb\x78\x66\x0c\xc7\x30\xa2\xe5\xf6\x22\xee\xc3\xdf\xa0\xc1\xaf\xe9\x8b\x54\x32\x33\x65\xcc\xd2\x02\xe9\x54\x52\x23\xab\x19\x35\xfe\x78\xc8\x10\xe8\x23\x44\x17\x0c\xcc\x64\xc6\x41\x8b\x66\x37\x44\xac\x54\xb5\x42\x7b\xde\x2d\xdb\x4a\x55\x8b\x5b\x16\x02\x85\xf0\x92\x2b\x4e\x0b\xfe\x0b\xb2\xb3\x06\x8e\xd2\x32\x6d\x4b\x94\xaf\xdc\xc4\xf4\xf5\xb2\x00\x0f\xad\xc6\xde\x9a\xef\x73\x51\xb3\x5d\xdf\xf1\x14\x5d\x94\x17\x30\xaa\xce\xcf\xdf\xd9\x91\x76\x94\x00\x89\xfc\xb4\xae\xc5\x46\x97\x6c\x1d\x86\x7a\xc5\xd0\x22\x69\x5d\x60\x9d\x31\x19\xf5\x07\xa8\x30\xaa\x99\x66\x0d\x0c\x3b\x40\x8b\x42\x6c\xec\x4a\x3a\x7d\x6b\x70\xef\x30\xaa\x5e\xeb\xca\x97\x50\x0b\xd1\x50\x68\x21\xfd\xe5\x63\x1f\x98\x19\x2b\x0a\x2d\x92\x97\x9e\x40\xf5\x4f\xa7\xab\x9c\x8b\xfd\x89\x7d\xa9\x2e\x36\xf0\xaf\xb1\xaf\x1a\xe5\xf5\xd5\x3f\x4f\xb0\x6c\xaa\xa8\x64\x5e\x7c\x1d\x0e\xaa\x9a\xe9\x13\xa3\xc5\x58\xba\x52\x62\xe0\xa8\xed\x54\x5f\xcb\xd1\xb8\xf5\xcd\x39\xd7\x1c\x21\x64\x4e\xf3\xcf\x12\xdc\xf2\x0b\x56\x32\xfd\xc8\xe5\x64\xa8\x99\x38\x0b\x31\xca\x8b\xad\x61\xd6\x6e\xc4\xa6\x1c\x45\xb3\xfe\x3e\x68\xef\x15\x97\x2a\x7e\x68\x7e\x34\x4f\xcb\x86\x61\x2f\x95\x1e\x8b\x94\xfa\xee\x0e\x38\xb4\x68\x4c\xc1\x96\xc8\x5b\x25\xaa\xb0\x83\x67\xcc\x44\x24\x85\xfb\x72\x16\x5f\xe7\xf8\x98\x3a\x49\xd3\xf8\x34\x82\x69\xf9\xf9\xf9\xd9\xd5\x99\x7f\x4e\xf5\x07\xa3\x79\x08\x52\xdc\x34\xee\x40\x50\xc1\xcd\xb8\x92\xee\xea\x6e\xdd\xb4\xc2\xb7\xe1\x99\x48\xd3\x70\x20\x1a\x98\xb4\x51\x60\xb3\x77\x19\x0b\x21\x3f\xb3\x7e\x42\xa7\xad\xe4\x54\xad\x21\xfd\x70\xdd\x94\x7a\xbd\x94\x1c\x9c\xe0\xb5\x8a\x06\xf2\xc3\x75\x9b\x93\xbb\x35\x1a\x18\x7b\x33\xba\xba\xee\x43\xd8\x82\xd5\xd7\xc4\xed\xfc\x3b\xd0\x4a\x41\x5e\x5e\x18\x67\x1b\x9a\x45\x9a\x27\x13\x08\x0c\x3c\x1c\xaf\x73\x4c\x9f\xc9\x24\xec\x84\x58\x29\xc2\xee\xf4\x8e\xd9\x5c\x99\x88\xae\x0d\x06\x2c\x47\xaf\x2e\x2d\xbe\x09\xbf\x15\xd1\xa8\xdc\x53\xf6\xf2\xa2\x31\x41\x73\x39\xc0\x4d\x30\xc9\x0a\x9e\xdd\x4e\xf2\x9a\x2e\x62\x6f\xf9\xf4\x56\xb2\x52\x73\x5c\x70\x0d\x3c\xaf\xe9\xc2\x04\xef\x05\x4c\x08\x3e\x47\xa2\xda\x5e\x94\x06\x9a\xa4\x71\x7d\x41\xaf\x97\x7a\x7f\xcf\x74\xcf\xc0\x86\x27\xcb\xc0\x97\x67\x2b\xa5\x00\x67\x21\xbc\xdd\xec\xa1\x31\x20\xa4\x00\x3b\x65\x03\x19\x80\xcd\x44\xbf\x98\x19\xbb\xa1\x6b\x1e\x3c\xc9\x7a\xd0\x58\xee\x47\x28\x66\x7d\x53\xdc\x61\xc1\xc1\x6b\x6a\x73\x96\xba\x53\xcd\xcf\x59\x11\x20\x9a\x64\xcd\xe0\xcd\xd0\x92\xd7\x87\xe1\xef\x0e\xc7\xe4\xe9\xff\x0a\xfd\x1f\xac\xab\x8d\xe5\xd4\xa2\xfc\x52\x4c\xbd\x41\xb9\x3c\x96\xdb\x21\xbb\xb7\x95\xf8\x53\x86\xde\xd0\x3c\xe1\xfc\xa0\xcd\x1e\x5d\x32\x9a\x6f\x87\xa3\x63\xf2\x29\x16\x6a\x42\xa4\x25\x83\x12\x14\x31\x48\x32\xa5\x5a\x08\xf9\x1f\x7d\xce\x1e\x10\x02\x5c\xd0\x11\x19\xc0\x7f\x61\x74\xcf\xce\x4f\x5f\xeb\x1f\xce\x4f\x5f\xc3\xdf\x6f\xbf\x7f\x7e\x7e\x09\x51\x00\x64\xe0\xfe\x3d\x48\xb9\x37\x35\x1f\xa5\xc0\xf4\x80\x77\x9d\xbe\x91\x6c\xb4\x56\x28\xb8\x38\x14\x6b\x7d\xd9\xac\x24\x0b\x9d\xcd\x7c\x39\xfb\xa0\x53\xe7\xb8\x10\x24\xf4\x43\xe5\x1b\x8e\x00\xc5\x1d\x12\xd8\xf4\x1e\x98\x40\x81\x56\x96\xbf\xe4\x2a\x45\xfe\xea\xe1\x3e\x34\xc2\x92\x43\x8f\xa7\xe7\x81\x14\x81\x9e\x77\x73\xf2\x3b\xef\x7d\x79\x07\x3d\xec\xee\x4c\xd1\xd9\x8f\x26\x39\xe7\xef\xda\x50\x40\x09\x95\x53\x1b\x50\x4a\x3f\x87\xf1\xea\x56\x81\xdb\x7a\x8c\x49\x15\xea\xad\x6c\xaa\x39\x2a\xa5\xc8\x40\x77\xa8\x45\x6c\xb8\x6e\x55\xd8\xb1\x75\xc5\xf5\x30\x82\x6c\xb3\x63\x60\x4d\x65\x9a\x3f\x12\x00\xe7\x4b\xbd\x2b\x55\xa2\x0d\x42\x5e\x88\x7a\xa3\x6f\x65\x59\x50\x79\x63\x35\x6a\xa1\xd2\xd0\xc0\x56\x21\x26\x4d\xee\x3d\xfe\x41\x15\x17\x0e\xc0\xee\x1a\xea\xf3\xf4\xd6\x6b\x86\xcf\xab\xf3\xdc\x2f\x00\x67\xbb\x16\xb7\xcc\x13\xaa\x19\x8f\xed\x5f\xd5\xb4\xb4\x18\x2b\xd2\x69\xa6\xf7\x6c\xad\xbf\x1a\x42\x12\x72\xcb\x31\x8e\x86\xd5\xa5\xe7\x73\x7f\x4c\x6b\xc4\x75\x1c\x1e\xfc\x74\x70\xb0\x18\x93\xc1\x20\x08\x9d\xf3\x5a\x44\x65\x01\xc0\x43\x9c\xad\xb9\x0c\x71\xa9\xf0\x87\x69\xce\x40\x37\x05\x72\x7e\x94\xe4\x6d\xde\x78\xde\x5b\x06\x8a\x61\x63\x98\x41\x34\x2c\x36\x4d\xf3\xfc\x62\x06\xf6\x9d\x5a\x0e\xf5\x75\x3f\x36\x26\xd8\x01\x2d\xd4\x64\x51\x4f\x34\xa7\x31\x38\xf2\x8b\xb2\x8e\x91\xbe\xd7\x00\xf7\xb8\x2a\x8a\xd0\x2d\x17\x20\x11\xe9\x9a\x2f\xa8\x12\xf5\xb4\xa0\xe5\x62\x45\x17\x2c\xb6\x82\xeb\x7a\x03\x56\x4e\x56\x72\x10\x56\x25\x64\xad\xb9\xcd\x52\x94\x6c\xe0\x3d\xac\x1b\x4e\x1d\xae\x18\x58\xa8\x26\xb4\x50\x61\xd9\x07\x51\x1d\x58\xdc\x6d\xc5\xc4\x9c\xc0\x58\x07\x48\xec\x51\xa7\xba\xad\x75\xdb\x48\x9f\xec\xb9\x3d\xbc\x4f\xa1\xeb\xf2\xc3\x83\xff\x1a\xea\xaf\x1f\xc1\xf3\x81\x16\xea\x63\xc1\xe6\x30\xc4\x8f\x6e\xb0\xa3\x7f\x39\x98\x2a\x26\xd5\x70\x3d\x1a\x25\xdb\xb5\x3e\x79\x96\x50\x2d\xff\x33\xa5\x85\xfa\xf7\xfa\x35\x42\xa1\xad\xad\xa9\xfa\x81\xdf\x2f\x4d\x9e\xb2\xa2\x19\x9b\x70\x39\x59\x32\x45\xfd\x2f\x1d\x7b\x98\xec\xe3\x99\xad\xf4\x52\xbe\x66\x8a\xba\x3f\x3b\x7a\x35\x7d\xdd\xa7\x07\x6c\xb8\xa3\x3d\xc9\xca\x5c\x4e\x36\x37\x54\xed\x20\x3c\xbd\xd0\xc8\x77\x7e\xfc\xdd\x64\xc6\xd5\x47\xe3\x12\x3c\xb9\x65\xdb\xee\x05\xc6\x1a\x7b\x96\xf8\x4a\xf7\xff\xa3\xe6\x19\x13\xe3\x5b\xe5\xfa\x2d\x9f\x80\x20\x04\xd2\x56\xc7\x18\xf5\x61\xa7\xf5\x16\x28\x0b\xde\x98\xe1\xc1\x7f\x15\x7c\x36\xb1\x56\xc9\xa3\xe1\x4f\x57\x8f\x47\x07\x91\xb3\x3c\xad\xb7\x51\x08\x83\x1d\x5c\xa7\x84\x25\xeb\x2c\xc9\xb1\x74\xfc\x2f\xb4\x8a\x4e\x17\x4c\x3d\xa7\x8a\xbe\xad\x0b\xdd\xef\xbb\x27\xef\x47\xdd\x44\xdf\x73\x24\x64\x3d\x8a\xfd\xe4\xdd\xb2\x19\xa9\x69\x12\xca\x54\xb0\x86\x3b\xaf\x96\x47\x8f\x48\x28\x67\x25\xd7\xa6\x5b\x1e\x8b\xd6\x25\xfc\x3e\x0d\xe4\xbd\x13\x7d\x25\x2c\x6a\x5a\x2a\x96\x07\x97\x08\xba\x04\xed\xeb\x23\xbe\xb8\x0e\x0e\x74\x2f\xec\xc8\xa7\xea\x07\x4f\xf0\xa8\x67\x83\x0f\xf9\xc6\x0f\x00\x34\xc6\x26\x71\x7f\xdc\x98\x09\xdb\xd5\x55\x20\x90\x1e\xa1\x27\x7d\xc2\xaa\x9a\x49\xcd\xd1\x88\x39\xa1\x18\x5b\x8f\x89\xfb\xc9\x10\x1c\xfd\xa9\x24\xb4\x8c\x1b\x14\x25\x88\x1d\x56\xbc\x1a\x21\x4f\xa6\x1f\x02\x52\x70\xa9\xb4\xe4\x84\xda\x9f\x7a\x95\xc8\xc6\x1c\xb4\x14\x37\x7b\x0a\xd1\x71\x62\x4e\x36\xa2\xbe\x05\xb5\xa5\x4d\xa9\xa1\xd9\x1e\x0b\x5e\x1c\x08\xd6\x94\xe4\x9c\x16\x62\xe1\x10\x62\xc3\xd6\xdc\x03\x09\x3c\x0c\x25\x5f\xa1\xa8\xa4\xc4\xc4\xac\xdd\xc4\xef\xde\x57\x64\x06\x92\x4a\x38\x3a\x0b\x6a\xbc\xa1\x75\x39\xec\xa6\x3b\x30\x44\x6a\x91\xcc\xe1\x5d\x83\x81\x08\xd4\x01\x83\xee\xec\xd6\x83\x3e\xaa\x82\xc1\xa8\xf3\x35\xba\x17\x01\x5b\x19\x29\x79\xa2\xbc\x46\x6c\x02\x0a\xd1\x7d\xb7\xaf\x64\x70\xad\x07\x4a\xb2\xe1\x7a\x74\xdc\xd9\x26\x5f\xd2\xc5\xde\x37\x23\xb2\xf9\x84\xed\xbf\xd4\xb5\x77\xb6\x0f\xb6\xa9\xcf\x6d\x1e\xec\x6e\xbb\x5a\xb7\x5a\x97\xcf\xee\xe1\x8d\x69\x20\xdd\x0b\x3e\xb1\xf8\x4c\xdd\xff\x81\x75\x35\xe0\x9d\xd9\xf5\xb8\x3a\x5e\x7a\xb2\xa4\xd5\xc4\xca\x6d\x72\xd7\xab\xe8\x19\x32\x2d\xd6\xae\x9d\x95\x59\xcc\xc9\x05\x28\x2e\x46\x29\x78\x75\x3c\x2c\x6f\x22\x41\x22\xe8\x19\xd2\x56\x3b\xed\x9c\xb5\xa5\x96\xdd\x07\x65\x80\x4a\x92\x23\x5d\x22\x78\x14\xc2\xc8\x00\x12\x41\xb2\xdb\x45\x5a\x2b\x1f\x47\xfe\x9a\x56\x26\xda\xc1\xb3\x63\xdd\x05\x25\x53\x17\x76\x81\xda\xbb\x86\x82\xf5\x04\x94\xff\x3d\x4e\x4a\xa0\x2d\x1f\x3e\x7c\xb8\xb3\xb5\x09\xd8\x10\x3a\xda\xb4\x0f\x59\xb0\x0b\xa7\x75\x4d\xb7\xe4\xd1\xa3\x68\xe1\x2c\x83\xfa\xee\xf0\x3d\xf0\xa8\xe8\x1d\x33\xe8\x2c\xf6\x24\x2a\x16\x3f\x43\x2a\x56\x26\xc4\xe6\x89\x75\x8b\xa7\x6e\xf1\xc7\xf7\x6f\xf4\xdd\x7a\x4c\xd6\xef\x77\x72\xeb\x07\x07\xe4\x05\x95\xca\x58\x5f\xbc\xf5\x9f\x96\x84\xd5\xb5\xa8\xa7\xbd\xfb\x0a\xec\x2b\xae\xbf\xe4\xee\xf4\xbd\x15\xcf\xbc\xc9\x28\x41\x37\xfa\xe7\x49\x45\x0b\xa6\x14\xfb\x42\x27\xb0\xf5\x33\x90\x44\xcf\x73\x99\x1e\x4f\x70\x26\x29\xd0\x97\xa8\xbf\xdc\xe1\xf4\x2e\x77\xf8\x9f\x37\xd8\x3b\x39\x09\xbf\x48\x25\xb2\xdb\xb3\xe0\xf3\x34\x13\x65\x46\x2d\x52\xa1\x3b\x0a\xe1\x2c\x5d\x5a\x9d\x5b\xb6\xd5\xbc\xc0\xba\x21\x08\xd2\x9a\x70\x2d\x57\xd3\x5a\xb2\x97\xa5\x1a\x6a\xce\xfe\x38\x28\xa0\x1b\xe4\xf2\x7b\xfa\xfd\x90\x8f\xf4\xa2\x72\xf2\x2d\x39\xc4\x7f\xfc\x81\x3c\xfd\xe6\x9b\xb8\xb9\x38\xdf\xc1\xe0\x65\xb9\xa6\x05\xcf\x09\xba\x05\xf3\x92\x98\x45\xc5\x65\xd1\x23\x7a\x4c\x06\x66\x8d\xde\xdd\xb2\xed\xfb\xa8\xeb\x66\xca\x82\xc6\x92\xb9\xe9\xbe\xe3\xef\x9b\xa3\x80\x24\x40\x8b\x59\xbc\x7c\xa5\xa8\x97\xa0\xd8\x3c\xbb\xba\xc2\x5a\x71\x6f\xba\xb1\x7a\x31\x1b\x35\x76\xb4\x63\x6b\xde\x71\x40\x42\x5f\xcc\xe2\xc1\x35\xff\xd5\xbe\x7e\x63\xe7\x1f\x08\x53\xf0\xee\x88\x78\x17\x87\x7b\x9c\xb8\x97\x9b\x7e\x49\xbd\xdb\x08\x8e\x5c\xb5\x9d\x88\x72\x82\xd6\xb0\x7d\x07\xb8\xa1\xf4\x7e\xf8\xb0\xf9\x86\xae\x24\x9b\x18\xe5\xee\x04\xf5\xd4\x13\x5d\x67\x5f\xbb\x1d\x5a\xeb\x76\xfb\xa0\xb8\x9e\x38\xd3\xdd\x04\x5c\x11\x7a\x75\xd1\xad\xf2\x4e\xf4\xa2\xea\x62\x52\x15\x2b\x39\x59\xf2\x72\x25\x27\xbf\xb0\x5a\x4c\x7e\x11\x62\xd9\x9b\xeb\xd0\x2d\xbc\x29\x56\xf2\xb5\xae\xff\x9f\xac\x16\xff\x29\x00\x76\x34\xd9\x53\xd6\x6b\x02\x51\xdb\x67\x66\xec\xc9\xf6\xd6\x13\xf4\x03\xba\x4f\x83\x3f\x58\x23\xc5\xba\x45\x64\x0d\xb6\xed\xcc\x95\x6e\x5f\xe0\x8c\x4a\x35\xa1\x92\xd3\x72\x42\x97\x33\xbe\x58\x89\x95\x9c\x50\x39\x51\x1b\xa1\x5f\x88\xd5\xb2\x8b\x47\x44\x8f\xe1\x69\xcd\x16\xb4\xce\xcf\xfe\x72\x7b\x6a\x6b\x27\xe6\x88\xf6\x99\x09\xe8\x21\x26\xfa\x62\xa8\x45\x97\x60\x1b\x32\x30\x58\xed\x77\xcf\x38\xc4\x02\xd5\xa2\x48\x6e\xbd\x69\x7c\x26\x8a\x2e\x55\x83\x5f\x97\x6d\x99\x3d\x13\x45\x7e\x45\xe7\xec\x4a\xd1\xc4\xe1\x0a\x1a\xd3\xab\x30\x03\x9d\xd4\xbe\x66\x77\xdf\x0a\xd8\xa4\xee\xf6\x54\x3e\x43\xf7\xf2\x60\x1a\xf7\xb8\x1a\x76\x37\xd4\x9a\x42\x2f\x56\x4e\x2f\x88\x2e\xb8\x73\x35\x5c\xe4\xf3\x64\x53\xf3\xfd\x54\xea\x76\xee\xcc\xd6\xfb\x51\x57\xdb\x35\xd8\x9c\x65\x4f\x9e\xf6\x6e\xf7\xb9\x2e\x9d\x6c\x6e\x2e\x4a\x35\x99\xd3\x25\x2f\xf6\x1e\x4e\x3d\xf5\x17\xa2\x54\x2f\xa0\x74\x6b\xea\xd0\x52\x2f\x21\x8c\x29\xdd\x4c\x5a\xe4\xc2\x56\x96\x02\xe1\xc9\x7e\xf5\x90\xac\x0f\x47\x6f\xde\xed\x45\xec\xf6\xd1\x1e\xe0\x8d\x58\xb2\xc9\x2d\xdb\xca\x89\xf1\x65\xec\x7b\x03\xe9\x8a\xdf\xb1\xad\x74\xb6\xd6\xe6\x56\xe8\x92\x9a\x8f\x2d\x17\x5d\xdc\x60\x42\xf2\x33\x15\xf0\xea\x6f\xb0\x46\x0f\xd7\xa3\x16\x27\xd6\xe0\x2b\xfb\x09\x73\xc0\x50\x0f\x07\xe7\xfa\x3f\x9a\xb1\x09\x46\x1a\xd8\x71\x8e\xc8\x39\x00\x68\xb1\xdc\x58\xb4\x07\x3d\xc4\xb4\x7a\x9b\xd2\x60\xb4\xe7\x47\xf3\xfc\x99\xf9\xf7\x30\xd0\x09\x92\x8c\x22\xf6\xd0\xdd\xaf\x19\xb7\x66\xc9\x82\x4c\x54\x0d\xee\x7f\x49\xef\x26\xa8\xe2\x9f\x58\x7f\x84\x1e\x07\x6f\x49\xef\x30\xac\xef\xca\xfa\x30\xb4\x77\x1c\x12\x34\x23\x31\xd1\x9a\x4d\xe6\xfa\x5f\xbd\xb7\x1e\x2a\x6b\x82\x3a\xad\xd9\x0b\xfd\xdf\x64\x07\x8a\x1a\xad\x82\xd1\x53\xf7\x6f\x5d\x51\xd0\x26\x9c\xa3\x27\x46\xa2\x6d\x70\x3b\x40\x13\x04\x6a\xd4\x7a\xbd\xc8\x1d\x7e\x03\xe9\xd6\xa1\xc5\x09\xaa\xe4\xfa\xdc\x05\xaf\x1b\x0e\x07\xad\x1b\xa1\xa2\x8b\xcf\x3b\xbd\xba\xe2\xce\xd3\x5b\x51\x29\x27\xb4\x50\x13\x23\xed\xde\xd3\xc0\xa5\x79\x78\x21\xef\xbc\x87\xad\xb7\x76\xad\x24\xab\x4f\x17\xac\x54\x56\xeb\xff\x9a\x66\xe4\xe2\x8a\xfc\xf9\xc0\x1f\x77\x90\x87\x5f\x31\x45\x4e\x0b\x35\x79\x32\x9d\xfe\xde\x80\x37\x8a\x08\xcc\x77\xa8\x04\x31\xcc\x04\x3a\xb1\x02\x72\x17\x24\xff\x10\x65\xd8\x52\x29\xca\x89\xee\x81\xc8\xad\x54\x0c\x5c\x19\x21\xcb\x10\xd8\x04\xad\x68\x28\x2a\x56\x62\x6c\xa1\x16\x12\xab\xca\x8e\xdc\xcf\x89\x9c\x90\xe1\x43\x3d\xab\x47\x8f\x8c\x39\x11\x8b\x5c\x6f\x2b\x48\x6e\x36\xa8\x44\xb5\xaa\x06\xa3\x6e\xed\x8d\x9e\xc5\x69\xa1\xbe\xc7\xd8\x9e\x8e\x55\x07\x86\xf0\xef\xbb\xec\x9a\x61\xfc\xef\xb6\xee\x7a\x4e\xbb\x17\x1e\xae\x97\xbf\xef\xc2\xbf\xd6\x43\xf8\xf5\x0b\xff\x85\x16\xfd\x57\xaf\xb9\x9e\x4e\x8f\x35\x5f\xdf\xe3\xde\xc2\x46\x7f\x48\xb4\x57\xb3\x8c\xf1\x35\x9b\xb0\x32\x13\x79\x37\xb7\x65\x98\x85\x83\xff\x1a\xae\xd4\x7c\xf2\xbb\x8f\x35\xdd\x8c\xfe\xe5\x60\xe4\xec\xa1\xa1\x36\x22\x56\x33\xc5\x1a\x91\xb9\xa8\xc9\x57\xcd\x3e\xbf\x6a\x2b\x8d\xd0\xae\x0a\x7d\x79\xfb\x99\x57\x84\x24\x15\xb6\xe7\xa6\xb9\xc4\x2c\x0d\xcc\xb4\x28\x27\xce\x6b\xb8\x9f\x12\xbf\xe1\xbc\xdb\xdd\x2e\x3a\x26\xf7\x6d\xd4\x3b\x0c\xa7\x5b\x9c\xd1\x7a\x62\xbc\xe6\x7b\xf0\xab\xcd\xf8\xe7\x36\xc3\x1a\xc2\x6c\x4f\x96\x74\x0b\xfc\xc0\x84\xd6\xb5\xd8\x4c\xfa\x30\x1c\x5d\x7e\xca\x1d\xeb\x61\xfa\x11\x6b\x36\xf1\xa1\xc5\xbd\x27\xd2\x8e\x6c\x4e\x4c\x48\x8f\xff\x6f\x49\xb3\x51\x87\xbf\x82\x60\xbd\x32\xa2\x0f\xd9\xde\xf0\xb9\x9a\x60\xe4\xce\x3d\x75\x1d\x50\x15\x33\xea\x76\xb1\x57\xb6\xd2\xbe\x75\x0c\x0f\x9b\x64\xca\x8e\xb7\xbd\x29\xfa\xd2\x9e\x64\xb2\x27\x35\x39\x45\xcb\x5b\xc9\xea\x33\x29\xdf\xd6\x45\x77\x93\x13\x2d\xd5\x7f\x5e\xbb\x00\x77\xd2\x6a\x78\x23\xea\x7c\x02\x70\x7b\x13\x78\x61\x26\x05\x9b\xdf\x57\x65\xa1\xdb\x78\xa6\x9b\x78\xad\x5b\x78\xc5\xe6\x2a\xa9\x57\x6a\x69\x28\x76\xd5\xeb\x1e\xe0\xe7\x28\x55\xe2\x9e\x2e\x8d\xf6\xe3\xde\x43\x6c\x54\xec\x1e\xe3\x92\xe7\xf9\xfe\x2b\x6b\xe7\x20\x5f\x43\x13\x9f\x33\xca\x66\xcd\x4f\xe3\x07\x04\xb0\x3b\x1a\xce\x69\x35\xa3\xf9\x15\x86\x97\xb4\x31\x42\xc2\x82\x60\x7f\xdf\x9e\x16\x85\x93\xa9\xf5\x8d\x12\x39\xed\x99\x21\x86\xbf\x19\xb0\xa5\xb6\xe3\x6e\x9c\x82\x46\x36\x3c\x20\xa5\x8d\x4e\x41\x0f\x56\xc4\xd0\x2b\xe7\x7c\x81\x41\x5d\xcd\xe8\xc3\xaf\x23\x08\xf3\x0e\x3f\xbd\x4f\xbb\xfd\x13\x17\x4c\xbd\x81\xd8\x9c\xae\xbc\x3b\xc1\x62\xc4\xc9\x84\x41\xa1\xa4\x59\x24\x0b\x4e\x39\xab\x69\x76\xcb\xb4\xd8\x8f\x88\x25\x4b\x91\xb7\xfc\x41\x67\x42\x14\x8c\x96\x9f\x0c\xd2\xc6\xf5\x0d\x33\x17\xac\x12\x04\xc3\xe2\xf6\x38\x53\x3e\xb3\x9d\xd8\x1b\xad\x13\xe5\xc3\x46\x29\x4c\x67\xcd\x2a\x50\x32\x09\x49\x82\x01\x60\xd6\x5b\xd6\x45\x80\x59\xb4\xc2\xad\x58\x05\xd0\x2a\x92\x29\x1b\x6b\x53\xb1\x5a\x72\xa9\xc6\x00\x60\xcc\x3d\x44\x3e\xae\xdb\x98\xd4\xd4\x40\x23\x50\x4c\x7e\x8c\x4e\xb4\xce\x2b\xb9\xcb\x6b\x16\x87\x73\xed\x06\xd6\x77\x91\x02\xc3\x63\xb8\x42\xd0\x48\x9c\xf9\x36\x0c\x69\x83\xcf\xc7\x89\xc8\x3c\x03\x94\xd2\x88\x94\xea\x53\x43\xd4\x39\xab\x1b\xa5\xd3\x89\x98\x1a\xa1\x7e\x38\x5f\x0a\x60\xab\x08\x8a\x14\xd1\xba\x59\xa0\xbd\xa4\xdd\xb1\x10\x6d\x02\x0f\x97\x62\x0f\x99\x63\xc0\x15\xe6\x81\x82\xdc\xd5\x01\x00\x59\xd9\x8c\xb2\xf8\xb2\xc4\x7f\xe5\x93\xf1\xeb\xa1\xe4\xbb\xc8\xbf\x2b\xb2\xa3\x9b\xf8\xfd\xfe\xe2\xf2\xff\x13\x12\xfe\xb3\x16\x89\x76\x12\x7f\x22\xee\xaf\xcb\x6a\x8a\x55\x8f\xd3\x60\x0a\x4d\x5b\x83\x8f\x14\x91\x16\x60\x2d\x19\x47\x38\x4e\x0f\xa3\x1b\x87\xe1\x37\xeb\xa8\xd3\x55\x09\x35\xdf\x76\xf6\xbb\xcf\xad\x0f\xba\xeb\xa2\xa2\x52\xb1\x32\x37\xaf\x1a\x9c\x20\x87\xc7\x81\xd0\x2f\xe9\x68\x55\x88\x9a\x62\x41\xb8\x94\x45\x0f\x96\x1f\x7c\xbc\xd4\xd7\x9f\x75\x39\xec\x20\x96\xf6\x05\xd1\x5c\xbe\xe4\x09\xf2\x4b\xff\x4f\x7b\x82\x1a\x76\x8f\x5d\x27\x28\x11\x19\xfb\xff\x9d\xa0\x94\xed\xe8\x9e\x27\xa8\x93\x8a\xfe\xe1\x4e\xd0\x0e\x62\x69\x9f\xa0\xe6\xaa\xc6\x38\xd9\x10\x33\x4c\x28\x44\x9c\x58\x63\x14\x3a\x20\xbb\x75\x31\x28\x05\xe0\x5a\x5c\xaf\x4a\x7d\x58\x8c\x27\x2f\x84\x35\x41\x14\x53\xbd\x40\x40\x0b\xcf\x34\xa4\x83\x81\x4c\x5b\x67\x00\x85\x84\xa7\x24\x46\xbe\x6a\xf7\x3b\x4d\x1d\x33\x5a\x2f\xd0\xba\x03\x8d\x34\xba\xf7\xb9\x93\x84\x05\xb3\xb2\x0d\xed\x58\xd7\x7a\x55\x9e\x85\xa3\x8b\x4e\xa0\xff\x7d\xec\xfb\xf6\x99\x85\x58\xb9\xe6\xb5\x28\x97\x01\xfa\xa7\x91\x63\x16\x4c\x0d\x07\xc1\xe7\x81\xcf\x80\x85\x2e\x7a\x61\xd5\x87\x27\xd6\x95\x6b\x00\x00\x92\x61\xab\x46\x85\x0b\xe7\x25\xee\xee\xaf\x9f\xba\x00\x19\x4d\x10\x29\x6e\x1f\x46\x15\x85\x53\xb1\x87\xef\xaf\x7e\x4a\x47\xc1\xca\x7e\xfc\x48\x06\x41\x2c\x02\x17\x47\x36\x3e\x76\x5a\xad\xe4\xcd\x70\xe4\xbf\x05\x03\x3a\x0a\xff\xf0\x25\x44\x79\x7e\xc7\xd5\x51\xb8\xa6\x3e\xe7\x12\xfe\x0f\xc0\x1b\x75\xe3\xa2\x1a\x46\xce\x52\xf0\x61\x55\x02\x79\x16\x85\x8b\x12\x6e\x79\x8e\x21\x42\x64\xb0\xee\x59\x21\x24\x9b\x88\x72\xc2\xee\xb8\x1a\x8c\x9a\xbe\x56\x46\x85\x0c\xa5\x86\x29\x0f\xef\x30\x27\x6f\xaa\xf3\x70\x7d\x35\xfd\x24\x93\x86\x1b\xaf\x74\x3e\x8f\x33\xae\x18\xc8\x28\x19\xc1\x92\xe1\xaf\x63\x74\x13\xc7\x4b\x66\xc3\x7d\x74\xa6\xbb\x28\x2c\x47\xbb\x9b\xa2\xb9\x7c\x13\x5e\xf8\xbb\xaf\x09\x07\x1a\xd5\x81\x1a\x15\xcc\xeb\x25\xae\x05\x8c\xbc\x19\xe1\x6d\x84\xb8\x84\xc0\xec\x63\x26\x0d\x86\x7e\x64\x29\x80\x48\x42\xc9\x18\x82\xa4\x6c\x3d\xc2\x84\x7e\xb4\x11\x59\x1f\x02\x0b\xbe\x8e\xda\xdd\x35\xf9\x78\xc3\xda\x93\x8f\xe2\xd0\x5b\xfb\xdb\x7a\x5f\x16\x4c\x3d\x37\x50\x0b\xc3\xd1\x74\x26\xf2\xad\xde\x6c\xb7\x26\x6f\x2d\x79\xde\x63\x55\x76\x8c\xbe\x45\xed\xf7\x1d\x3f\x5c\x16\xe1\x00\x35\xaf\x44\xc9\xd9\xd5\x95\xbe\x28\xb8\xc1\xfb\x81\x2f\xdf\x03\xc7\x50\x6c\x71\x80\x5c\xa2\x12\x04\x19\x17\x57\x58\x46\x19\x19\x21\xde\x13\x7c\xdc\xbb\xf8\x20\x08\x35\x45\x49\x0b\x1b\x08\x38\xa1\x56\x61\x94\xc6\x22\xb9\x8c\x4a\xc8\x18\x66\x6e\xf0\x70\xc8\x8d\xda\x7f\xb4\x88\x71\x6c\xce\xef\xe2\x1e\xdd\x20\x0f\xcc\x57\x0c\x74\xef\x21\xc7\x4b\xf9\x03\x8d\x9e\x55\xdd\xd4\x18\x47\x77\x8f\xe8\x2c\xa7\x9f\xc2\xfe\x4f\x06\x93\x09\x74\x3b\x19\x04\x5b\xe8\x01\x3c\xec\xbf\x0c\x84\x87\x11\xe6\x31\x92\x15\x92\xf5\xda\x0b\xfb\xe7\x7f\xf9\xab\x6f\xf5\xd3\xbf\xfc\x55\x8f\xee\xd3\xcf\x66\x7c\x69\xd0\xd7\xb9\x30\x58\x6c\xdd\x07\xf4\x4c\x53\x6f\xe8\x1c\x74\x38\x42\x74\x18\x4d\x07\x66\x23\x2c\x3e\x80\x6b\x2e\x3a\xdd\x76\xb9\x5c\xe2\x4d\x02\x71\x06\x5b\x37\x02\xf0\x4f\x0a\x14\x6f\x4d\xea\xb1\xe9\x00\x2b\xdc\xc9\x9c\x49\x5e\x03\xe3\x65\x7a\x1b\x13\x97\x1f\xb0\x0f\x4b\x8d\xf3\x88\x02\x80\xef\x3c\x40\x74\x75\x07\xb1\x62\x26\x35\x4e\x75\x97\x7a\xb9\xbd\x53\xd5\x28\xca\x17\x1e\xb3\x9d\x66\xbd\xaa\xbb\x08\xb8\x00\xa9\x68\x08\x31\x1f\xba\x89\x09\xe4\x25\xb6\xc8\x69\x61\x23\x71\xa2\x3d\x4c\x5f\xfc\x98\x0c\xaa\xbb\xc1\xee\x06\x31\x25\x5f\x2a\x5e\x70\x4f\x17\x36\xc5\xbb\xed\x23\x20\x98\x7f\xb7\x2a\x39\xf3\x50\xb5\x76\xba\x99\xbb\xb1\x07\xb7\xda\xde\x87\xe4\xfb\x13\xde\xb5\x6e\x51\x7b\x8c\x0e\xdd\xe7\x7e\x05\x37\x6d\x1d\xd8\xee\x3d\x42\xef\xf7\x96\x38\x72\xfa\xae\xfd\x2a\xf0\xef\xfb\xea\xde\xaf\x40\xec\x5e\xd7\xf1\x04\x24\xa8\xd1\x0c\x2b\x4d\xcd\xc6\xd9\x70\xd4\xe3\x1e\xeb\x38\x0e\xce\x3b\x30\xc4\xfa\x4b\x39\xaa\xb6\x16\x25\x85\x49\x12\x65\x76\x6f\xbb\x1d\xc1\x6d\x31\x06\x21\x63\xa5\x04\x66\x3b\xd5\x4c\x02\x9f\x3b\xd8\xa0\x6d\x8f\x65\x6c\x7a\x26\xb5\x17\x13\x12\x95\xd8\x6f\xad\x99\x27\xfc\xa1\x9a\x9c\xbc\xad\xdc\x8e\xb8\xe9\x02\x63\xc1\x1a\xc8\x78\x26\x32\xac\x60\xb0\xf1\x0e\xc7\x8c\x9f\x86\x7f\x7e\xf2\xe4\xf8\x27\xf9\x38\x88\x3c\x06\xc3\xab\xae\xf9\xf1\x23\xc1\x28\x60\x18\xd1\x59\x7d\x71\xb5\x77\x3c\x4f\x8e\x31\x01\x17\x1a\x73\x8c\xc2\xd5\xc5\x63\x46\x41\x40\x5d\x4d\x3c\xc5\x26\xd0\x6a\xd5\x6a\x61\x8f\x21\x43\x14\x79\x4c\x0e\x81\x73\x33\xd2\x41\x8b\x08\x74\x4b\xf7\xa1\x83\x88\x46\xd3\x44\xe0\xbd\x96\xd3\xb2\x9c\x77\xde\x76\x0b\x1e\x54\x79\xd8\x70\xb6\xe9\xa1\x78\x89\x3a\xf4\x7f\x1c\xfb\xfa\xfd\x1d\xad\x13\x2d\x24\x28\x0b\x95\x44\x61\x56\xfd\xf0\x16\x31\x39\xbb\x12\x09\xb7\x30\x99\x4f\x91\xdf\xab\xe6\xc0\xae\x95\xcd\x5d\x29\xed\x26\x68\xea\x76\x23\x99\xb2\xff\xbb\xa2\x85\x1c\xda\xf6\x3d\x35\xfb\x0a\x2e\xb9\x65\xe4\x32\x00\xf3\x0e\x50\x4a\x0c\x3d\xe5\x47\x04\xc6\xa9\x8f\xa6\x2e\xb1\xc1\x47\x2f\xe7\x08\x66\x9b\x8c\xa6\x1a\x80\x1c\x82\x83\x02\x3c\x14\xf7\xbc\x10\x2e\x8f\xd2\x75\xf6\x3d\x0e\x3e\x01\xcc\x7d\x69\xc1\x4f\xbc\xb7\x6e\xad\xb3\xfe\xee\x93\x07\x41\x7c\xc9\xa3\x07\x5f\xf4\x01\xe8\x73\xb8\x9c\x63\x7e\xd7\x5b\xe5\x99\x98\x52\xe4\x6c\x92\xaf\x6a\x08\x41\xed\x64\x61\x52\x27\x0f\xc2\x04\x46\xe4\x8f\x64\x70\x38\xfd\x37\x09\xb9\x02\x0e\x07\xe9\x27\x18\x2f\x20\x8b\xd2\x04\xd8\xf5\xd1\x24\x5b\x3a\x40\x6b\x3b\xed\xf3\x9a\x5c\x41\x7b\x7b\x27\x6a\xe0\xc1\x30\x84\x11\xc6\xd0\x39\xdb\xb5\x32\xee\xb9\x80\x0c\xe8\x44\xf1\xb5\x9a\xbe\xbe\x78\x7b\x75\xfe\xe1\xf2\xfc\xcd\xc5\xe5\xf5\x87\xe7\x2f\xaf\x4e\x9f\xbd\x3a\x7f\x4e\xfe\x98\x7e\xc2\x07\x6b\x5a\x0f\xad\xa8\x11\x75\xaf\x89\x65\x34\x20\x47\xf7\xad\x57\x09\x80\x5e\x1b\x0d\x92\xda\x54\x8a\x38\x61\x62\x9e\xb2\x28\xda\xc0\xed\x0e\xbb\xf9\xa5\xd8\x9c\x89\xe2\x13\xb0\xfb\xf8\x6f\xa3\x1c\x25\x35\x33\x10\xd2\x36\x57\x9e\x6d\x38\x6c\x71\xd7\x3e\xd1\x35\x33\x90\x7d\x7d\x14\x1f\xc6\x14\x69\xc3\xc4\xa7\x59\x21\xca\x26\x13\x93\xd4\x1e\xdf\xa9\x10\x6f\xfe\x73\x99\xd0\x38\x4f\x40\xbf\x11\xc7\x47\x3f\x79\x00\xba\x86\xd7\x10\xc0\xe3\x96\x50\xa7\xea\xff\xec\x6b\xc3\xe8\x9e\x43\xdc\x7e\x22\x25\x88\x6a\x56\xdd\x31\xb7\xc4\x2e\x44\xc9\x23\xe7\x14\xb4\xc9\xb4\xaa\x0a\xee\xc1\x9d\x3b\xfd\x37\xac\xcc\x79\xbd\xbb\xbd\x3d\xd3\x5f\x30\xf5\x9f\x42\x2c\x5f\x60\xdf\xbd\xe5\x88\x58\x2c\xfb\xc5\xb5\x10\x2b\xe9\x01\x03\x0c\x67\xc1\x55\xe1\xd3\x75\xd8\x39\x0d\xa4\x77\x87\x4d\xef\x2f\x54\xbb\x76\x0d\xf4\xdd\x51\x8c\x94\xbc\x86\x3a\xe1\x76\xea\x1f\x70\x62\x0d\x3c\xea\xa9\x32\x65\xe1\xbf\x8d\x6d\x03\x68\x66\xc4\x55\x83\x54\x5b\xc5\xd6\x80\x66\x76\x5d\x15\x66\x16\xf1\x4d\x61\x0a\xeb\xc9\x38\x28\x4e\x54\x53\xe8\xe6\xf7\x29\xf9\xb1\x54\xfb\x5e\xc0\x56\x3d\x13\x58\x8b\x8d\xb1\xab\xcd\xa7\x59\x41\x97\x95\x29\x31\xad\xc5\x66\x4c\x0e\xc7\x21\xf9\x86\x22\xf5\x84\x3c\x71\x9c\x12\x46\x23\xa6\x9b\xc1\x6f\xc9\x96\x50\xfe\xb7\x0d\x45\xc7\xc4\xf9\x98\x38\x34\x0b\x18\x0e\x36\xe6\x18\xa6\xa8\x0b\xf2\x07\x3b\x0e\x97\x19\x32\xfe\x7e\x72\x62\x0b\x3c\x7a\x64\x3f\xd9\xdc\x3c\x11\x13\xdb\x71\x51\xda\xb2\x0e\xd8\xb1\xc1\xe7\x9f\x15\x90\x83\xdf\xf9\xf5\x0c\x24\x71\x55\xe6\x05\x5d\xec\xd9\x31\x08\xac\xc2\x49\x5f\xf8\x9e\x3a\x04\xe1\x3d\xe3\x33\xe8\x2b\xf1\x3d\x29\x83\xb1\x21\x92\x63\xc7\x21\x42\x18\x6c\xc8\x07\x00\xff\xba\x9f\x57\x90\x85\x80\xf4\x8e\x23\xfa\x87\x96\x57\x90\xc3\xd1\x86\xcf\xc7\x41\x8a\x50\xcd\x39\x60\x53\x90\x53\xf0\x53\x4a\x27\xd2\x9a\xc2\xe7\x39\xee\xb4\xc6\xda\xe5\xb8\x83\xa3\x6d\xaa\x99\xf5\x60\x90\x88\x1b\x98\xe1\x63\xc4\x64\xb7\x0f\xfa\xdb\x97\x0e\xae\xb1\x4b\x11\x88\x94\x79\x26\x56\xa5\xea\x71\x59\x21\x94\x63\x68\x38\xb7\x95\xbd\xd6\x2f\xf8\xb1\x19\x17\xa1\x6c\x52\x01\xa3\x79\xdd\x98\x06\x07\x4f\x0e\x0f\xff\x75\x90\x14\xa6\xba\xaa\xbc\xa6\xea\x66\x9a\x31\x5e\x44\x06\xee\x7d\x3a\xbf\xaf\xed\x01\x0d\xc6\xf8\x38\x51\x15\x5f\x29\xe7\x7a\x0e\x13\x7f\x73\x37\x32\xfa\xbc\xe3\x24\xb2\x6a\xd0\x66\xd7\xe5\x15\xde\x37\x37\x2c\x5f\x15\xec\x6a\x5b\x66\xf1\x85\xf3\xa1\x43\xd9\x65\xae\xbf\x5f\xbd\xe1\xb5\xbe\xe5\xf5\xbc\xaf\x7d\xa3\xbc\xb4\xf9\x34\xf6\x50\xc0\x9f\x98\x71\x96\x75\x24\x60\x9b\xf3\xfb\xef\x3a\xd8\xb3\xf9\x37\xb6\xad\x7b\xec\xbe\xad\xd3\x6f\xcf\x4d\xe9\xaf\xfd\x9c\x77\xed\x5f\xf2\x95\x18\xbb\xba\x9f\xb3\x77\xcf\x99\x05\xe5\x72\xf2\x4f\x98\x9f\xa5\xc7\x99\x44\x54\x51\x97\xf8\x09\xbf\xc8\xe9\xde\x8d\xf5\x55\x7a\x6c\x6c\xb8\x0c\x1d\xc7\x3b\x58\x87\xe4\x41\x8f\x53\xcf\xfb\xf5\x0b\x80\x39\x4d\x2f\x70\x96\xa2\xd3\xe2\x33\x11\xbb\x29\x24\x9a\x33\x27\xa8\xd5\x1e\x92\xe4\x87\x61\xb0\x4f\x26\x91\x06\x2b\x73\xb0\xc8\xc7\x6b\xaf\x04\xa9\x8a\xd5\x82\x97\x01\x1c\x75\x04\x8a\x2b\xdb\xa7\x39\x68\x7b\xf7\xee\xe2\x2d\xd3\xd8\xde\x84\xe5\x66\x73\x43\x11\x35\xdc\x82\x09\xe7\xa2\x64\x09\x20\xe1\xa8\x3d\xc8\xb6\xbd\x52\x68\xc9\x5d\x95\x39\x78\x53\x4f\x09\x79\xa9\x5c\x9e\x77\x40\xc6\x0b\x1c\xab\xf4\xc9\x76\x69\x6c\x86\x23\x0b\x9a\x07\xf3\x86\xe4\x64\x22\x8f\xf3\x8e\xd7\xab\x92\x44\x28\x76\x90\xc1\x1d\xd3\x63\x56\xb5\x58\xd4\x74\xb9\xa4\x8a\x67\x0e\x36\x57\xcc\x43\x93\x31\x0e\xd8\x4e\xfc\x92\x15\x5b\x7d\x33\x19\x5d\x80\xe5\xf9\xe1\x59\x2f\x73\xb2\x02\x2c\x23\x00\xcd\x8b\x12\xf3\x93\x25\xa3\xa5\x74\x19\xd1\x85\x22\x33\xb0\x4b\x1b\xfb\x68\x26\xea\x5a\x8b\xaf\xe8\x6b\xba\x65\xca\xaf\x5b\xa9\x85\xb1\x26\xb2\xfa\x0d\x57\xbf\xee\xa4\xed\x3f\x39\x48\xd3\xf7\x7a\x19\xbf\x75\x76\x31\x75\xa3\x59\x61\x4d\xa8\xe7\x18\xcd\x7d\xaa\x14\x5b\x56\xca\x24\x8e\xd0\xed\x93\x19\xcd\x71\x69\x31\x36\xa7\x75\x78\x34\x33\x9c\xb3\x42\xd1\x33\x1c\x36\x39\x89\xa6\x36\x89\xf9\xb7\x85\x79\xca\x87\xb1\xc9\x2d\x66\x8f\xa3\x16\x92\x7c\xb2\xff\x9c\x3e\xcd\xd1\x80\xfe\x40\x0e\xed\x43\xe0\xb0\x7b\x1b\x29\x62\x46\xd1\xad\xde\xc6\x25\xef\x62\xe3\xc3\x7e\x50\x15\x18\xea\xd1\x1d\x62\x12\x77\x59\xb7\x6d\x26\x9d\x69\xc1\xca\x05\x4a\x02\xc7\x84\x93\x3f\x9c\x90\xc3\x63\xc2\x27\x93\x38\xba\x33\xae\xf3\x8e\xbf\x27\xdf\x46\x1b\xe0\x54\x3d\x10\x2b\xe2\x61\x52\xe3\xae\x02\x9f\x9b\x4f\xd1\xeb\xd6\xb1\xa2\xe9\xdb\x74\xdf\xfd\x63\x5e\xbc\x2f\x77\x01\xc5\x0d\xfe\x33\xdc\x40\x38\xe2\x7f\x9e\x2b\xe8\x57\x3f\xdb\xe6\x01\xec\xc9\x94\xdd\xff\xde\xc1\x05\xc5\x8b\x27\x7e\x64\xdd\xad\x73\x29\x36\xfa\xca\x71\x9d\xb4\xef\x1b\x1c\x64\xc7\x85\xe3\x38\x41\xdb\x80\x6b\x3d\xb3\x6a\x04\xac\xe2\x14\x8e\xc3\xc6\x2d\x03\x03\xf8\xd6\x5f\x31\xfa\xf9\x47\x97\xac\x85\x50\x44\x2e\x69\x61\x72\x63\x90\x60\xc0\x5f\x9f\x90\x89\xc9\x3c\xbe\xb9\xe1\x05\x0b\xda\x8a\x31\x89\x0b\x2a\xd5\x25\xca\xdf\x7a\x18\x98\x69\x1c\x8f\xe9\x08\x2e\x8f\xe0\xb6\xb0\x65\x27\x21\x73\xea\x32\x7d\xd9\x1b\xe7\xe4\x84\x78\x6d\x47\xd7\x0d\xe2\x2e\x1f\xec\x10\x42\xfd\x4c\xf3\xa3\x9d\xb7\x8e\x5d\xf7\x4a\x54\x97\x62\xe3\x1d\xef\xdc\xf4\x26\x13\x7b\x13\x3d\x20\x11\xee\x72\x7c\x23\xdd\xf0\x39\xe4\x54\x0f\xd6\xe5\xf8\x41\x83\xef\xf6\x53\xab\x56\xf2\x66\x4a\xab\xca\xda\xc5\x1b\xdf\xc7\xba\x0b\x1b\x6a\x76\x70\x40\x7e\x64\xe4\x2f\x2b\xa9\x1c\xd2\x3d\x24\x57\x73\x70\xf7\x4a\x54\x71\xbe\xc4\xb1\x3e\x8c\xf6\x8e\x58\x55\x39\x55\xcc\xb6\x14\x88\xe6\x81\xf0\xe3\xd5\x30\xa8\x69\x02\x81\x71\x49\xef\x02\x35\x93\x7d\x3b\xf4\xf8\x30\x23\x61\x04\xf1\xe8\x29\xe5\x0f\x5d\x94\x55\xd0\x1a\x52\x2e\xb9\x77\x2d\xa0\xc6\x93\x5d\x14\x10\x13\x98\x2f\x63\x24\x27\x33\x5a\x5e\x0e\x83\x01\xee\x6a\xee\x38\x68\xad\xc6\xd3\x98\x2c\x2e\xab\x82\x67\x6c\xf8\xa0\x61\x17\xe9\x20\xd3\x49\x73\x64\xe3\xe6\x0f\x1e\xcd\x2e\xa4\x9c\x55\xe9\x69\xa7\xf6\x64\x13\x1e\xbe\xc9\x49\xb3\xa9\xe3\x58\x79\xa6\xf7\xe7\x71\x47\xa1\x4f\x89\x05\x8f\xb8\x07\x78\x8c\x72\x98\x4b\x83\x78\x3f\x85\xb9\x4d\x7e\xb8\x46\x11\xff\x12\x92\xdd\x1a\x2c\x7f\xe3\xd8\x17\xe8\x85\x9c\x3e\xd3\x2a\x31\x63\x01\xbd\x9d\x85\xc6\xa9\xc4\x23\x2a\x36\xf3\x20\x98\x6f\x76\x9f\xb0\x0d\xe5\xff\x24\x96\x9d\x06\xb0\xd0\x2b\x05\x67\x21\x36\xd7\xe2\x5a\x54\xc3\xc3\xde\x03\x64\x7b\x9d\xb6\xb1\xe9\xf3\xb2\xcb\x3f\xb2\x63\x18\x98\x43\x6f\xd8\xbe\x2f\xf7\x0f\x4d\x33\x22\x15\x5d\x30\xb2\xaa\xc8\x10\xa0\xfb\xe0\xa7\x82\x97\x6c\x44\x6a\x56\x50\xc8\x55\x6a\x3d\xcf\x51\x53\x03\x9e\xff\x3d\xad\x56\x38\x60\xba\x60\x6f\xab\xb4\x7b\x02\x4f\x19\xde\x17\x4c\x5d\xc3\x75\xfa\xb2\xcc\xd9\xdd\xb0\x23\x44\x22\xde\x07\x1e\x3f\x84\xb1\x63\xd8\x93\x7b\xac\x44\x2e\x36\xe5\x6f\xbb\x16\xcf\x75\x0f\xbf\xf5\x6a\x3c\xde\xad\xd3\xef\xb1\x1a\x7a\xe2\x9a\x2e\x3a\xa6\x7e\xbf\x79\xbf\xe2\xe5\xdf\x86\x06\xee\x33\x39\xd8\xea\x2f\x36\xbd\xbf\xd1\xb6\x36\x26\x88\x06\x89\xa6\xcb\xbd\x64\x99\x28\xf3\xf0\x17\x5a\xe6\x9f\x75\x37\x6e\x78\xc5\xce\x44\xa9\x20\x43\xd3\xae\x6b\xa9\xcd\x77\x91\xc3\xe4\x9c\x10\x62\x95\x66\x37\x36\x5b\xcc\xbb\x84\x27\xc9\x38\xed\x20\xf2\x7e\x3a\x17\xf5\x39\xcd\x6e\x7c\xbc\x3d\x4e\xd0\xbe\xf1\xe8\xd3\x03\x09\x4d\x4f\x6c\x96\xe4\x88\x25\xb6\x6f\x99\x29\x14\x70\x1b\xee\x11\x42\xc1\x00\x1f\xb4\xc3\xb1\x69\x2e\x7e\x7c\xc1\x8e\xa3\x1f\x0c\xdb\x7d\x20\x6d\xc6\xf1\xfa\xa1\x4b\x61\x42\x81\x99\x58\x1f\x8e\x98\x21\x6d\xaf\xc3\x17\xab\x30\x2f\xa1\xcd\x00\xbb\xc7\x40\xc8\x54\xc7\xae\xc1\x14\x4e\x8b\x22\x4c\x45\xd6\x2b\x4f\x99\x9f\x7b\x62\xdf\xfa\x86\xe7\x39\xdc\xf4\x8e\x56\x9b\x1b\xdf\x3f\x1e\xaf\xd5\x72\x0b\x2f\xbd\xe5\x8b\x13\xa1\xaf\x87\x9b\xb6\x56\x89\xe6\xc4\x5c\x5d\xda\x1f\xc3\x9b\x46\xcc\x55\x62\x77\x20\xc3\x1a\xab\xe7\xa2\x5e\x12\x4a\x74\xe5\xb4\x0f\x3a\x78\xbb\x4b\x4c\x74\x91\x13\x0e\x81\x68\x37\x4a\x55\x47\x07\x07\x9b\xcd\x66\xba\x56\x4f\x0e\x0f\xa7\x25\x53\x07\xb9\xc8\xe4\xc1\x5a\x7d\xf3\xe4\x70\x52\x2f\x0f\x9e\x9f\x9f\x5d\x5d\x5f\xfe\x8f\xeb\x6f\x26\xbf\xdf\x73\x4f\xd9\x61\xb7\xc9\xe1\xe0\x80\xe0\x17\x7f\x43\x22\xea\x81\x19\x23\xaf\x1b\xa3\xbc\x67\x0e\xc7\x1f\x21\xdf\xe8\x26\x94\x1d\x44\x19\x2e\xc5\x6c\xa5\x6c\x82\x0b\xd8\x5d\x54\x1f\x80\xaf\x16\x48\xfd\xad\xfe\x42\xe8\x75\x00\x22\x45\x05\x90\xcd\x01\x19\x7e\xb6\x83\xf8\x33\x44\x7a\x40\xce\x77\xe8\x54\x06\x50\x0d\x06\x5a\x3b\x1e\xd5\x18\x93\x60\xab\x1b\x08\xa4\xe5\x0a\x74\x39\xe5\x40\x99\x9c\x9e\x8c\x2d\x9d\x36\x07\xbd\x05\x58\x4e\x68\xb9\xdd\xdc\xb0\x9a\x75\xa4\xcc\xef\x09\x36\xdd\x9f\xcc\x9b\x75\x7d\xae\x4a\x48\x18\x47\x96\xb4\x44\xa6\x86\xdd\x69\x59\x84\x2b\x70\x52\xd8\x9a\x14\xe4\x10\xbe\x84\xba\xa4\x78\xea\xd3\x9e\x6c\x7b\x6b\x65\xf5\x36\xcb\xce\x7d\x1e\x9b\x8d\x66\x32\xb5\xd5\x66\x5d\xa3\xfd\x76\x47\xd7\xe2\x51\xa9\xba\x19\x12\xf2\x5a\xac\x59\xd8\xe3\xdc\x24\x7d\x33\xc7\x0b\x54\x44\x36\xc5\x36\x60\xb1\x99\x0f\x5a\xb8\x37\xaa\x45\x50\x36\xcd\x49\x29\xc8\x52\xd4\x2c\x48\xe4\x4d\x6b\xd6\xc3\x28\x6e\x7a\x34\x57\x65\x9a\x03\x70\xce\x13\x3b\x9d\xb4\xa0\x10\x2c\x6b\xa4\x48\x3d\x3c\x06\xe8\xf8\xa4\x3e\xf5\x98\xf0\xc7\x8f\x5b\xca\xde\x48\x83\x6a\x5d\x26\x1a\xef\x5c\x88\xf0\xb1\x5a\x96\xed\x8a\xee\xc5\x0b\xd1\x56\x9d\x3e\xf5\xe0\xc0\xd0\x98\xdb\xcf\xcc\xb9\x46\x44\x1e\x11\x9a\x06\xfe\x74\xad\x57\xfe\xec\x4f\xd7\x53\xb3\x1e\xa1\x9b\x45\x0f\x6f\x87\xe3\x16\x41\x84\x83\xee\xe7\x6d\xd2\xed\x48\xe1\x7b\xd9\x41\x57\x9a\xbd\x09\x09\xcb\xba\xfd\x24\x89\x6b\xce\xeb\x04\x75\xb5\xaa\xf4\xa5\x30\xdb\xf7\x6f\x47\x62\xf7\xd3\xd5\xef\xd6\xd4\x7f\x59\x3a\x4b\xb6\xd1\x64\xf2\x21\x1a\xd0\xae\x2a\xa1\x2a\x48\x53\x89\x63\x6a\x2a\x84\x79\xa9\xd8\xc2\x1b\xa5\xc8\x7f\xb2\x5a\x18\x67\x5a\x5f\x61\x8f\x7f\x60\x7b\x33\xc2\xf9\x7f\xf1\xe5\x75\x9e\x4d\xa3\xc6\x72\xdd\x7f\x4b\xfc\x48\x8c\x8a\x0a\xe4\x0a\x70\xdf\x0a\x9c\xaf\x76\x6f\x49\xab\x8d\xc3\xb8\x7e\xd2\x67\xaa\xb9\x45\x7b\xbc\x6b\xbf\x17\x84\xcd\xe7\x2c\x53\x26\xde\xb8\x66\x08\xa0\x79\x9f\x76\xf6\x39\x63\x99\x6d\x3c\x55\x5d\xde\xb5\x9f\x73\xb6\x3a\xf6\x9d\x6b\x49\xef\x62\x3e\x6c\x78\xb8\x71\xbd\xb7\x93\x27\xa3\x07\x8d\x5d\xed\xd8\xab\x71\x5a\x04\x84\x68\x5d\x7b\xb1\xf4\x99\x79\xc0\xfb\x77\x88\x08\x2d\x8a\x0d\x45\xba\x86\x41\xb1\xcb\x21\x8d\xac\xaa\x88\xcf\x75\x43\x1c\xeb\xb7\x1e\xf3\xcc\x83\x26\x9a\x26\x0f\xec\xb5\x01\x3a\x91\x78\xc0\x61\xd3\xd9\x9a\xd5\x5b\x6b\xe1\x25\xff\xea\xc6\x0a\x76\xd6\x11\xb1\xce\x88\xb6\x79\xdd\x8c\xd3\x75\xcb\x8a\x65\x98\x49\xd8\x16\x13\x35\x39\x34\x17\xb4\x69\x91\x4b\x52\xd5\x62\xcd\x73\x96\xa3\xbd\x0d\x78\x1b\xfd\x96\x81\x15\x6d\xbe\x52\xab\x9a\x19\x13\x96\xf5\x27\xd6\x8d\x2f\xc9\xaa\x8a\xc6\x9d\x78\x1a\xd9\x1d\x97\xe8\x03\xee\xde\x00\x78\x2c\xc6\x80\xc5\xd1\xdc\x97\x07\x26\xa7\xb1\xba\xa1\xaa\xf3\x0a\x13\x95\xfa\x00\x73\xf5\xf9\x68\xdd\xca\xfe\xe2\xef\x35\xf7\x9b\x9d\xf8\x4a\xb2\xf9\xaa\xb0\x79\x69\x75\x37\x73\x5e\x14\x60\xc0\x5b\x29\x02\x59\xe4\xa2\x71\x76\xa4\x5e\xd6\xab\xb0\x57\xb1\xd9\x12\x28\x43\x8a\x73\x13\xf0\x07\x0e\xe7\x73\x12\xcc\xed\xe3\x47\xa4\x3d\xfd\x75\x13\x1c\x2d\xd8\xf4\x63\x23\xc5\x00\xdc\x09\x96\xd7\x64\x27\x08\x6d\xd1\x9d\xe6\x40\x6c\xeb\xf8\xdf\x09\x79\x42\x26\x64\x38\x74\x7f\x8d\xc8\xbf\x92\xcd\x88\x3c\x26\xc0\x77\x44\x17\x39\x94\x09\xd8\xb1\x26\xeb\xa1\x3f\x3d\x3e\x21\x0d\x57\x53\xf7\x58\x0c\x79\x43\x2f\xde\x3e\x44\xe8\x75\x1a\xe1\x13\x98\x64\xf5\x5a\x7c\xb4\x46\x4e\x31\x0f\x42\x84\x3c\xb4\x8b\x4d\x27\xdc\x34\x8a\x22\xa3\x81\xfa\x1e\x96\x93\x55\xa9\x78\xe1\xd9\xe3\x8c\x16\x2d\x94\x31\xe7\x26\xaa\x6a\x72\x95\xec\x15\x73\x1d\xdb\xb1\x81\x14\x25\xa5\x05\x1e\xda\x0b\x67\x60\xeb\x45\xd8\x63\x21\x2e\xd0\x5a\xf9\x52\xf0\xe9\x33\x5c\xc2\xae\xe9\x2d\x32\xa3\x01\x3f\xf0\xfc\xe5\x0f\x0e\xfa\x86\xca\x98\x9e\x4d\xba\xc4\xe6\x5a\xfc\xe9\xfa\xf5\xab\xe7\x7c\x6d\x02\xd9\x3f\x91\x9c\xaf\x31\xa0\x9b\xaf\x6d\xb6\xf9\x1d\x2d\xed\x58\x86\x9c\x65\xa2\x6e\xc4\x17\xe5\x7c\x1d\x86\xd3\xf3\xb5\x16\xae\x73\xbe\x4e\x07\x6c\xdb\x16\xa0\xda\x7e\x2c\x2e\xcc\x7b\xd8\xd2\x7f\xb4\xf2\x2a\x8e\x7a\xb4\x05\xd1\x70\xbb\x9a\xc2\x40\xf3\x1e\x2d\x39\xf7\xef\x90\x47\xe9\x68\xd4\x65\x4e\xec\x6e\x38\x40\x81\x6d\xb5\xe4\x80\x65\xf7\x56\x07\x0b\x70\x67\x7d\x44\x91\x0d\x55\x45\xe0\x38\x39\x17\xd9\xca\x99\x03\xe1\x8f\x40\x19\x18\x69\xa4\x5c\x44\x78\xab\x8b\x20\x48\x3f\x0e\x48\x8e\x43\xb4\x83\xb6\x5a\xa8\xcd\xad\x36\xdb\x58\xd0\xa3\x48\xdb\xd7\x09\x97\xdc\xb5\x23\x3b\xe1\x99\xa3\x65\xb1\x78\x10\x1d\x2a\x70\x8f\x42\x92\xa8\x03\xc0\x24\x53\x51\x66\xa2\xd4\xeb\xbd\x64\xe5\xaa\x99\x42\xdf\x78\x71\x23\xeb\x41\x3c\x76\x90\x28\x21\xaa\xcd\xf6\x6a\xfe\xfc\x10\x6d\x87\xb3\x07\x33\x56\x7e\x8f\x49\xab\x53\x43\xbc\x72\x05\x50\x3d\xe3\x2b\x4c\x69\x9e\x9f\xaf\x59\xa9\x5e\x99\xf4\xb4\x26\x3e\x2e\x17\x9b\x72\x30\xb6\x63\xe8\x59\x69\x55\xdd\xbb\x8a\x5e\xf8\x46\xa5\xd6\x04\x44\x19\x6c\xae\x7e\x51\xb1\x30\x2c\xd4\xae\x1e\xcc\xce\x0f\x80\x8a\x2d\xcc\x83\x28\x5f\xe8\x3f\x31\x84\x27\x58\xcc\x31\x3c\x5b\x48\x53\x07\x07\x04\x1b\x81\x6b\xd6\xad\x07\xfa\xfa\x48\xeb\x1c\x14\xac\x3a\x05\x34\x96\x17\x2f\x0c\xae\x46\xb6\x92\xd8\x8a\xa9\x80\x38\x64\xb3\xd5\x0c\x11\x53\xfa\x2f\x7f\x0b\x91\x57\xbf\xc3\xa8\x22\x1c\xf6\x9e\x4d\x5b\x9b\xdf\x67\xd1\x66\xc5\xaa\xde\xbf\x66\x40\xb4\x23\xef\xde\x23\x4d\x08\x66\xe3\x10\x64\x80\x6a\x66\x5e\x9f\xe1\x00\x83\x2e\x91\x42\xc0\x4f\x5b\x1f\x0d\x63\xa1\x71\xce\xda\xc3\x81\x91\x4e\x26\xa5\xc8\xd9\x3b\x58\xd5\x93\xaf\xa0\xc3\xaf\xde\x93\xbf\x06\x91\xbf\x03\x42\x66\xe2\x6e\x82\x7e\xed\x47\x04\xc1\x56\x27\x33\x71\x77\xdc\x28\xd4\xc8\xe7\x7b\x44\x54\x4d\x4b\x59\x51\x10\xbc\x1e\xf2\x65\x25\x6a\x45\x4b\xd5\xac\x86\xed\x19\x7f\xca\xa7\x55\xab\x59\xfc\x0e\x33\x39\x22\x52\x14\x3c\x8f\x4a\x7c\x0a\xff\x98\x6e\x32\x98\x4f\x73\x02\xe6\xb5\x3d\x22\xbc\x2c\x78\xc9\x26\xb3\x42\x64\xb7\x8d\x8e\xf4\x2a\x4d\x68\xc1\x17\xe5\x11\xc9\x98\xe6\x2c\x1a\x05\xcc\x10\x33\x5a\x64\xc3\x30\x74\x34\x06\x3c\x19\x91\xaf\xc9\xd3\x51\xa3\x2a\x74\x6a\x5d\xb7\x92\x75\x6d\x48\x42\xe7\xd4\x8e\x6a\x21\x54\x73\x5e\xe9\x21\xa0\x77\x58\xeb\xa0\x77\xc2\xae\x1c\xef\x69\x34\xf4\x39\xdb\xd3\x6a\x88\xb4\xd2\xd5\x2c\x92\x9d\x98\xcf\x25\x53\x9a\x54\x8e\xc8\x61\xaf\xa2\xb5\xd8\x74\x17\xc5\x54\xb6\x51\x94\xf5\x11\x39\x9c\xfe\x9b\xec\x28\xdf\x8a\x13\x3e\x02\x02\xe8\x53\xda\x44\x07\x1f\x59\xc9\xa1\x4f\x1d\x43\xbe\xbb\x23\x95\xbb\x37\xff\xff\x77\xcb\xb6\xf3\x9a\x2e\x99\x34\x56\x8f\x06\x1d\x80\xf4\xfa\x57\x22\x2a\x9a\x71\xb5\x3d\x22\x4f\xa6\x87\xc7\xe4\x53\x83\xbe\x45\x58\xe2\xb0\x55\x22\x3e\x48\x7e\x3d\x9b\x7d\xd1\x92\x2f\x31\x0d\x79\x49\x97\xec\x08\x07\x74\xdc\x55\xc6\x6f\x46\x38\xf7\xc4\x6e\x35\x8f\x8c\x6f\x82\x2b\x86\x45\x26\x99\x58\x95\x4a\x1f\xe2\x39\x2f\xb9\x62\x9d\x35\x14\x5f\xf2\x72\x31\xb1\xf7\xfb\x11\x61\x54\xb2\x09\x87\xd4\x19\xdd\x23\xe5\x35\x33\xc5\x9d\x69\xa5\xb1\x23\xfe\x01\xf5\x97\xef\x0d\xa3\xb9\xf1\x70\x3a\xbb\xe1\x45\x3e\x84\xad\x0e\xed\x96\x1e\xaf\x7a\xef\xd5\x9d\xf3\x75\xd0\x49\x88\x74\xcd\x73\x72\x42\x06\xb0\x7a\x47\x2e\x9b\x82\x89\x30\x4c\x56\x00\xb0\xce\xef\x29\x78\x2c\x0d\x82\xab\x3e\x5d\x1a\x1f\x8a\x0c\xb9\xda\xe0\x91\xb0\xdc\xf4\x11\xa1\x33\x29\x8a\x55\x63\x49\x0a\x36\x57\xbd\x6e\xc4\xe8\x6b\xf3\x02\x18\xc5\x7b\xaf\x44\xb5\xab\x4d\x73\x53\xee\x6c\xb4\x16\x9b\x46\xa3\xee\x05\x68\x5f\xfd\xe6\xce\xdc\x31\x81\xa8\xf8\xbd\xaf\xf1\xc9\x86\xcd\x6e\xb9\x9a\xc0\x73\x68\x56\xd3\x9c\xc3\x71\xeb\xd5\x24\x4f\x0e\x0f\x97\x12\x1e\x0c\x1a\x3f\x40\x93\xa5\xf8\xe5\xb3\xda\x48\x59\xba\x11\x31\xb6\xcb\xce\x8d\xd9\x0b\x63\x09\xe0\xbe\x16\xf2\xce\x48\xce\x0e\x26\x3e\x3c\x42\x4d\xf2\xf4\x86\xe2\x1b\x56\xda\x9c\x94\x0d\xcc\xf1\x01\xe1\x92\x88\xf9\x9c\x6c\x18\xa9\x99\x0f\x95\xbe\xe1\x92\x30\x3c\x5f\x04\x8f\x78\xb1\xc5\xc6\xd0\x65\xbe\x85\x9b\x01\xf9\x6f\x09\x25\x90\x64\x6e\x4a\x50\x51\xb7\xa4\xb7\x4c\x92\xb3\x9b\x5a\x2c\x35\x3f\x2a\x45\xc6\xd1\xe7\xf5\xe0\x80\xc8\xd5\x0c\xd5\x28\x06\x01\x48\x33\xdd\x96\x37\x35\x38\xca\xd6\xab\x06\x19\x0f\x56\x4f\x09\xb9\xe2\x65\xc6\x10\xe4\x11\x1a\x89\xbe\xeb\xb9\x50\x52\x31\x56\x93\x21\x58\x42\x49\xa6\x17\x66\x14\xfb\x2f\x6a\x86\x6a\xec\x27\xa0\xfb\x6d\x30\xc6\xa8\x5b\x34\x2e\xfe\x61\x35\x50\x4a\xc2\x5f\x53\xa8\x82\xf5\x5e\xaa\x81\xee\xf7\x86\x66\xb7\x68\x8a\xe5\xfa\x07\xd0\x9f\x17\x8c\x96\x4c\x2a\xb2\xa1\x5b\xf2\x92\x64\x62\x55\xe4\x64\xce\xc1\x61\x31\xe4\x09\x9e\xe1\xf8\x3f\xe7\xb6\x6b\x37\x10\x5d\x7a\xf8\x5c\xe6\x35\x5d\x4c\xe2\xb5\x1a\xec\x6a\xe1\x33\xef\x35\xb8\x82\x26\xbf\xff\x7d\x83\x89\xd9\x7f\x89\x3c\x39\x6c\x54\xb1\xb7\x05\x7e\x48\x3d\x20\x69\xea\x6f\xcf\xa5\x03\x91\xaf\x53\x7c\x23\xe4\x5d\x24\xed\x04\x42\x64\x24\x1c\x0e\x80\xd0\xf5\x3f\xf2\x59\x61\xfe\xad\x87\x9f\xf0\xa4\x02\xba\x0a\x50\x6c\xbb\x56\xbd\x25\xf6\x40\xc5\x58\x0e\xf5\x0d\x84\xef\xd0\xfd\x6a\xfa\x45\xec\x59\xaf\xc3\xf5\x6a\xe7\x08\x76\x8b\x8c\x6d\xa1\xb1\xa9\xd5\xb1\x9e\x5f\x1d\x5e\x5f\x4c\x5d\xb2\x35\xab\x25\xfb\x81\xe7\x4c\x0c\x51\xe4\x4b\x6f\x35\xb4\xdc\xe9\x07\x88\x3a\xcf\x4b\x96\xd7\x74\xd3\x0d\xe4\xf2\xa7\xeb\xd7\xaf\x9c\x43\x0a\x98\x0d\x20\x63\x1d\xe5\x65\x43\x41\xf9\xfc\xe2\x35\xd1\xfc\x42\x1b\xe3\x05\xb4\x9d\xa6\x85\xfd\x21\xf6\xb6\xe4\xee\xf8\x7a\xb7\x93\xb1\x3f\x1b\x68\xcb\x9a\x70\x26\x3b\x3d\x2d\x50\xbd\xb6\xcf\x37\xda\xad\xe4\x8e\x45\x32\xd7\x94\x81\xe9\x46\xdd\x70\x2d\x36\x04\x6c\x74\x91\x15\x07\x2e\x6b\xc4\xc9\xf7\x76\xa4\x4b\xb1\x79\x83\x36\xa2\x1a\xb5\xe0\x73\x9a\x31\x78\x4e\x98\xf1\x39\xd5\x43\x21\x2b\x89\x81\x5c\x1c\xae\xe4\x39\x53\xd9\x0d\x86\x0c\x88\x92\xe4\x0c\x81\xc8\x61\x09\xb6\xe8\x0a\x00\x35\xc1\xff\x4b\x09\xb2\xe6\xcc\x61\xa0\x5c\x5f\x3c\xbf\x18\xd6\x0b\x5e\xe6\x74\x74\x44\xce\x44\x29\xa1\x6b\x49\xd7\xbc\x5c\x84\x4e\x9d\xd0\x3a\x95\x64\x08\xb3\x94\x62\x55\x67\x6c\x8c\xc8\x39\x19\x2a\x09\x46\xe0\xb4\x4c\x39\xaa\xf0\x33\x51\x4a\x56\xaf\x19\x59\xb2\xa5\xa8\x5b\xba\x6f\x67\x65\x82\x75\x81\xe9\x41\x6e\x77\xb4\x29\xb9\x05\x1b\x13\x03\x96\x96\x37\xfd\x69\xad\x7d\x09\xad\x2b\x9d\x0e\xfa\x84\x5c\x94\x13\x03\x23\x0d\x53\x00\xe7\x24\x5a\x6c\xe8\x56\x1a\x10\x7a\xdf\x16\x44\x82\x48\xa5\xbb\xe6\x19\x93\xd3\x16\xfd\x3a\x55\xbd\x1e\xef\xe0\x4e\x33\x8c\x03\xc7\x26\x98\x03\x01\x86\x47\x93\xa3\xa7\xd6\x0f\x3c\x38\xde\xd5\x08\x3b\xb3\x9b\xe8\x2f\xc5\xc6\xe8\x0b\x1d\x25\xc2\x2a\xf8\x10\x30\x5c\xad\x6f\x77\x86\x91\x04\xe6\xde\x64\xb9\x77\xd0\xc8\x7b\xaf\x1e\x82\xd5\x01\x6f\x61\x72\x62\xf6\x63\x67\xe4\xd3\x71\x07\xd2\x92\x5e\xdf\xd3\xba\xa6\xdb\x77\x41\x93\xef\xbb\x4e\x4b\x48\x3a\xf1\x69\x01\x1c\x9f\x20\x7c\xee\x37\x3b\x31\xd1\x10\xfc\xc9\x71\x06\xc9\x95\xd4\x2c\x1d\x46\xd4\x19\xa2\xae\xb6\xe8\xb9\xa8\x9b\xf2\xa9\x75\xac\x8b\xb7\x4d\x8c\xde\x49\xed\x48\xad\x5d\xd4\x0e\xec\x15\x94\xd0\xb3\xf3\xb4\x6f\xe9\xb3\xe9\x52\xfe\x39\xb4\x6f\xdb\x6a\x1c\x81\x34\xed\x37\x87\xcf\xca\x7c\xe7\xe0\xf5\x77\x51\xfe\xea\x81\xa7\x40\x59\xc8\x29\x91\xbc\x5c\x14\xcc\xa6\x2f\x08\x8e\x9b\x23\x27\x04\xc6\x36\xed\x5a\x3a\x72\x83\xd0\xe4\x44\xc8\x2b\x5e\x32\x73\x0d\xcc\x18\x29\xd9\x06\x5d\xf6\x59\xc1\x97\x5c\xb1\x7c\x8c\xcc\x77\x29\x88\xaa\x29\x07\xb3\xb5\x29\xd3\xeb\xfc\x1a\x8e\x31\xca\x7c\xa4\xd9\x6d\x56\xe6\xde\x0a\x8d\x71\x7a\xef\xde\xef\x32\x03\xb3\x32\x8f\x7c\xf0\x10\x90\xd2\x1b\x13\xfc\x75\x61\x8c\xbf\x44\x37\x8b\x39\x07\x74\xb9\x50\x7d\x1b\xb8\xa7\x9b\xa6\xc1\x38\xfd\xe8\x11\x79\x08\x45\x17\xcc\x7b\x80\x0e\x07\xa0\x75\xb4\xbe\x6b\x3e\x1f\x80\x6b\x7d\xf0\x93\x41\x75\x05\x73\xb3\xd9\x26\xfd\xf5\x2f\x82\x97\xc3\x41\x1a\xfd\x6e\xf7\x89\xf7\x98\x5c\xff\x4d\xce\xf9\xee\x57\x0d\xa3\x73\xf5\xba\xfc\x03\x9c\xf1\xc4\x39\xeb\x79\xc0\x70\x5d\xee\xf1\xb8\x35\xcf\x46\xf0\xb8\xed\x22\x6f\x28\x15\x3c\x3a\x4d\xf2\xee\xa4\x37\xa1\x68\xd1\x08\xc7\xb6\xd1\xdf\x34\xcf\x6b\x26\x11\xd7\xd3\x2c\x9f\x26\x09\xfc\x0a\x9b\xde\x5c\xea\x16\x9e\xdc\x6f\x44\xb2\x99\x58\x56\x2b\x65\x24\x6f\x83\xcc\x1a\xee\x7d\xdd\xe2\xac\x1d\xd5\xb5\xa3\xcf\x71\x42\xfd\xb1\xb4\x83\x30\xbf\x3e\xf0\x7c\xad\xd8\x9c\xc7\x1d\x1c\x81\xe3\x1c\xda\x59\x75\x9c\xc4\x00\x57\x42\xc9\x36\x86\xd5\xd4\x2c\x2c\x88\xb7\xe8\x02\xe5\x83\x1d\x9b\xf0\x49\xcd\x7d\x00\x4f\xe1\xb2\xd8\xba\x08\xff\x0d\x05\xfc\x01\x9a\xe7\x26\x85\x8f\xed\xd2\x5c\x42\x9a\x7c\x09\xf9\x5e\x28\x0e\xaa\x15\x0a\xd1\x77\xe8\xc5\xb2\xc1\x43\x2b\xcd\x50\x3c\x50\xa2\x09\xf3\x31\x43\x29\xb8\x54\x76\xc9\x31\x24\xca\xba\x68\xe9\xa6\x34\x17\xc8\xc1\xb3\x0b\x37\x47\x9f\xa8\xa1\x7d\xa4\x4c\x9c\x16\xa9\x4c\xf6\x02\x50\xd6\x38\x8f\xde\x90\x05\x32\x79\xba\xd4\x0d\x2f\x6f\x7d\xc6\x2e\x9c\xd1\xac\xa0\x25\xf0\xe8\x44\x8a\x25\xdb\xa0\x4b\xa3\x01\x0b\x47\x9c\x6a\xec\x2f\x44\x59\x18\x93\x42\x88\x5b\x14\x09\xb4\x50\x8f\x81\x49\xa3\x68\x39\x0d\x45\x3b\x87\xb3\x8a\x6e\xe1\xa2\x2c\xed\x75\xb8\x36\x36\xfe\x6b\x51\x1d\x60\xbc\xe8\x58\xbf\xd3\x19\x83\x11\xca\x1b\xb1\x2a\xe0\x6a\x9b\xe9\x5b\x56\x4f\xdc\xf6\x34\x1c\xe9\x01\x66\x54\x02\x90\x85\x1e\x2f\x48\x2b\x1b\x50\x11\x2d\x75\x1f\xb5\x1f\x89\xd3\xb2\xd9\x67\xdb\x2a\x62\x58\x4e\xa8\x75\x88\x26\x87\x76\x3b\xd0\x4d\x1a\xb3\x12\xb3\x9c\xd8\xc7\x3b\x0d\x1e\x93\x86\x6d\x80\x93\x08\x04\xba\xcf\x07\x2d\x08\x53\x8e\x7d\x76\x1d\x76\x83\x07\x41\xb8\x6c\x7b\xa6\xb7\x8f\x88\x71\x34\x00\x95\x74\x57\x08\xb8\x3b\x6e\xae\xdd\x16\x2f\x61\xbc\xfb\x61\x1c\x2d\x4e\xa2\xf6\x03\xe9\xd4\xb3\xa1\x78\x63\x78\x07\x7d\x46\x5a\xda\xa6\x66\x55\x7d\xbf\xc3\x95\x3d\x18\x8c\x82\x7a\x8e\xc6\x4f\xec\xac\x1e\x13\x1e\x83\x10\x20\xd4\xc1\x4a\xde\x5c\x8a\xcd\xb0\x16\x9b\x51\x04\xc4\xcd\xee\x54\x6d\xf1\x29\x76\x2e\x5e\x67\xac\xae\x83\x20\x77\x2d\x05\x01\x7a\x7b\xa1\x13\x5c\x2d\x33\x29\xec\xd2\x93\x40\x4f\xd4\x04\x12\xfa\x53\x47\x91\x79\xf2\xca\x08\xe8\xe7\x65\x1e\x23\xe8\x58\x9f\x34\xf8\xfe\x5c\x6c\x6c\x74\xdf\xa7\x07\x11\x8c\xa5\x26\xac\x3f\xec\x59\x9c\x51\x80\xa7\xd0\x83\x10\x11\x14\x23\x50\x38\x9d\x1a\x95\x67\x03\x5b\xd3\x35\x88\xe8\x0b\xd1\x53\x5c\x88\x4c\x5f\xf1\x1e\x16\x02\xa3\xa1\x3d\x43\x93\x78\x86\xf5\x4d\x5d\x42\x52\xa7\xe6\xc5\x6e\x33\xee\xd4\x2c\xdb\x66\x85\x69\x36\xc7\xec\xc3\x3f\x5c\x9b\x07\x52\xea\xf5\x15\x92\x91\xcd\x0d\xcf\x6e\x40\xfb\x91\xd7\x36\x03\xdb\x6c\xab\x0b\x9a\x5c\x54\x32\x4a\x5f\xa8\xbf\x39\x5e\x70\x49\x4b\x5e\xad\x34\x23\x66\x98\x1f\xff\xf8\x8e\x9c\x53\x24\x3e\xac\xfa\x06\x1b\x9b\x68\x23\x7d\x07\x17\x20\x5e\xc4\x0a\x17\xdf\x02\xa9\x21\xdc\x09\x86\xb5\xa4\xb9\x15\x4f\xe0\xb1\x81\x37\x70\x13\x28\x6b\xc4\x7c\x8e\xcc\x82\x64\x8e\x87\xe3\x75\xeb\xc9\xe0\x4c\x8f\xa2\x66\xf3\x55\x51\x6c\xf1\xbd\xc1\xbb\x8c\xe5\x44\x0a\x42\xf1\xe6\x46\x95\xcc\xdc\xea\xf4\x3d\xfb\xd1\x75\x33\xea\xfd\x7a\xe9\xd8\x58\x64\x43\x9d\x12\xeb\x5e\xf7\xa8\xbe\xf2\x93\x95\x94\xf0\x1d\xe4\x4c\x2a\x5e\x52\x93\xa9\xd6\x74\xb3\xe3\xda\x75\x2f\x56\x78\xe9\xba\x31\x8f\x71\x40\x63\xdb\x45\x53\xf6\x8a\x29\x9f\xb9\x47\xa9\xd9\x40\x3b\xdc\x07\x5f\x15\x28\x6c\xda\x0e\x40\x51\x9c\x8b\x31\x08\x7c\xf6\xd2\xf1\x2b\xf9\x6d\x3c\x1e\xef\x31\xec\x8a\xe0\x2d\xc1\x00\xaa\xc1\x2e\xcf\x63\x73\x89\x37\x51\xb1\x6c\x65\x53\x2e\xac\xea\xbb\x0c\x2b\x3f\x78\x90\x8c\x45\x0e\x44\xd4\x9d\x4a\xe2\x97\x5d\x01\xc4\x97\xa6\xb9\x34\x47\x63\xcf\xfa\x4e\xed\x8e\xa5\x30\xcd\x3b\x31\x60\xc4\x41\x44\x81\x83\xd2\x12\x89\x4c\xe8\x39\x90\x75\x24\x15\x01\x95\x5d\x06\x6c\x7e\x9b\x8b\xcf\x68\x89\x50\x50\xc1\x31\x09\xed\x6a\xa8\x30\x35\x9c\x5b\x78\x3d\x0d\x35\x43\x93\xd1\x72\xa0\x48\xce\xc0\x19\x5a\xf3\xa5\x16\x4c\xc5\xfc\xc1\x54\x36\x1a\x07\xac\x0f\x9c\x5b\xdd\x52\x29\x3c\x38\x96\x5d\xad\x86\x76\xb5\xeb\x20\x7a\x9d\xd1\xbe\x43\x68\xd5\x33\x66\x01\x1b\xa5\xf0\x28\xa1\xd7\xa1\xf1\xee\xc7\x1b\xf7\xfa\x26\xbc\x7c\xed\xf0\xf6\x86\x80\x07\x24\x94\x56\x78\x8c\x83\x4e\x02\x17\x7c\x9b\x66\x2f\x18\xc1\xc7\x8f\xd1\x21\xf3\xde\x96\x3d\x98\xa0\xfb\x28\x51\x4c\xe0\xbe\x57\x54\xf2\xf7\xdd\xdc\x49\x84\xcf\xfc\xa6\xe6\xc0\x6c\xfb\xdc\x99\x9d\x22\x48\xcd\x64\xc5\x32\x8f\x98\x0c\x8e\x6c\x78\x6d\x00\x79\x6f\x6a\x5a\x51\xcc\xa0\xba\x04\x4b\x09\xc4\x82\xa0\x5e\x3a\x47\xb4\x4b\x78\x44\xe0\x61\xe8\x94\x7a\x2c\xe1\x41\x5c\xc5\x7c\xee\xa0\x6a\x1a\x0f\x4e\x40\xfa\x36\x60\x30\xcc\x03\xe3\x0f\x1f\x4c\x8b\x4b\xf2\x75\x29\xd4\xd7\xfa\x8d\xb6\x39\xfe\x8d\xcb\x7f\x66\x86\xfa\xd6\x3c\x20\xde\x89\x7e\x64\xa5\x04\x6e\xde\x32\xaa\x06\x06\x9c\x6e\x2b\x56\x83\x9a\xa1\x6d\x3c\x26\xef\x28\x10\x20\x18\x81\x12\xa4\xd2\x4b\xbd\x87\xfa\xa0\x4c\xd2\xc9\xdf\x5d\xc1\x17\x96\x76\x0e\x83\xab\xb9\xb6\xf0\xc7\x05\x9f\x4d\x37\xd9\xd4\xfe\x62\x22\x01\x1e\x38\x14\xb1\xb0\x89\x6f\x5d\xc5\x56\x24\x9d\x0b\x1c\x0f\x36\xf5\xd1\xa3\x5e\x01\xa2\xcd\x70\x46\x5b\x5a\x2c\x97\x5c\xbd\xe2\x25\xb3\x40\xde\xc3\x18\x22\xa2\x64\x1b\xfd\xd5\x03\x11\x3a\x1e\x36\x33\x62\xbb\x9b\xe6\x24\x5c\x89\x63\x57\x2e\xe7\xf9\x45\x0b\xee\xdb\x7e\x94\xab\x99\x54\x75\x33\xfa\x6f\x67\x68\x9a\x7d\x63\x1a\x1c\x68\x00\x79\xe8\xa6\x1a\x77\x6d\x91\xd0\x81\x2f\x35\x83\x4f\x36\xd0\x04\xa3\xeb\x88\x90\x23\x0d\x58\xa9\xa0\xb3\x47\x8f\xc8\xc3\xae\x1d\xf3\xc3\x3b\x38\xd0\x52\xb6\xf2\xe4\x68\x37\x8b\xe5\x46\xce\x2f\x21\x53\x53\x78\x86\xd1\x7f\x04\x58\x40\xa3\x3c\xb2\x4d\x41\x28\x38\x50\x2a\x0b\x32\xef\xd8\x97\x61\xc6\x7c\xbc\xb8\x08\x3b\x9d\xfa\x16\xae\x2f\x9e\x5f\x1c\x05\x39\x41\xf5\xfd\xa0\x04\x11\xab\x5a\xbf\xae\xb3\x82\x2d\x8d\xaf\x08\x78\xc9\xcf\xb6\x8a\x91\xb7\xd7\x2f\x26\x4f\xfe\x77\x1c\xc5\x83\x86\x32\xd8\xd8\x80\xf4\xe1\x6f\x4d\xf8\xe3\x90\x4c\x0c\xe3\x83\xf1\x4a\x61\x1e\x9f\x64\x35\x47\x68\x4f\x46\xcd\x8d\xb4\x1f\xcd\xb6\x84\x8c\xcb\x7d\x07\xd3\x26\x75\x25\x6e\x19\x20\xa4\xda\x1b\x22\x4e\x9d\x5d\x15\x5c\xfd\xc8\x73\xa6\x57\x01\xf3\xf4\x0e\xb1\x07\xd3\x52\x32\x0c\x1e\x9a\x4c\x85\xbf\xef\xcc\xc2\x31\xdd\x64\xd6\xc7\x1f\x1a\xd0\x4f\x0a\xfe\x94\x44\x55\x6b\x54\xa6\x32\xe3\xbc\x55\xdf\xfd\xda\x86\x11\x74\xe4\x8b\x0f\xca\xeb\x56\x7e\xe0\x04\xb3\x6a\x56\xc0\xb7\xef\x17\xa2\xb5\x31\x8d\x06\x34\xfd\x6f\x6a\xae\xd8\xee\x36\xee\xb3\x4c\xc1\x7d\x73\x8f\xb5\x71\x37\x85\x21\x82\xa8\xe2\x92\x6e\x67\xec\xac\xe0\xd5\x19\xbe\xb6\x01\x60\x62\x78\x8f\x3f\x3e\x49\xf1\xc2\x7b\xc2\xbe\x1e\xb4\x64\xf6\x8b\xf2\x62\xa5\xaa\x95\xfa\x30\x8a\x46\xf2\x6b\x10\xd4\x0c\x3c\xbc\x13\x62\x8d\x98\x18\xb1\x15\x2d\x88\x91\x38\x26\xd9\xb2\x0a\xd6\x31\x89\x40\xe0\xf4\xc8\x7d\x37\x6a\xb9\xe6\x0b\x8d\x58\x0b\xb4\xaa\x18\x45\xbb\x7d\x2e\x6c\xaf\x57\x4c\x35\xe4\x5f\x2b\xbd\x5a\x34\x82\x55\x51\x74\x40\xda\xe3\x75\x05\x61\xa7\x56\xbe\x8d\x67\x46\x9c\x54\xff\xf5\xf7\x17\xd7\x5f\xe3\x60\x96\x42\x7a\xb0\x18\xa9\x87\x42\xc8\x8f\x4c\x73\x10\x1e\x67\x44\x37\xb7\x10\x7a\x5c\x5f\x89\xf9\x7c\xa2\x59\xad\xaf\x10\xb0\xd6\xa2\xd2\x72\x65\xfc\xee\x7e\x46\xfa\xf8\x19\xb8\xae\x9f\xd5\x72\x75\xf7\xb3\x07\x88\xb0\x7c\x92\x6e\xaf\x10\x19\x2d\xda\x0c\xd3\xd8\xe8\x10\x10\x47\x36\x52\x03\xa0\x7e\x1a\x34\x44\x93\x6a\xb1\xaa\x0e\xaa\x45\x5e\x22\x14\x6e\xa9\x78\x89\xd9\x79\x37\xa2\xbe\xd5\xe2\x37\x4c\x6b\x25\x59\x2d\x8d\x7a\x93\xdd\x55\x61\x62\xfb\x96\x91\xd8\x6a\x54\x9b\x06\xa4\x16\x14\x61\x40\x27\x5d\xcd\x20\x09\x36\x5b\x8a\xd5\xd7\x51\x63\x63\x6b\x3d\xe2\x65\x56\xac\x24\x5f\xf7\x48\x05\x1c\x83\xb9\x44\x7c\x99\x9d\xcb\x38\x1a\x8f\xf7\x68\xf0\x93\x3d\x39\x21\x87\xfa\x9d\x8e\xc6\x7d\xd2\x05\x22\x8f\x0f\x54\x10\x0d\x1b\x68\xa2\x01\x37\x68\x55\x14\xc7\xed\xaf\xd8\x6c\x58\xa0\x9d\xb0\xb1\xd1\x92\x1b\xe1\xce\xe6\xc2\x51\xb7\xa4\x87\xc8\x28\x55\x05\x86\x40\x9a\x65\xa2\xce\x03\x89\xe2\x87\xeb\x76\x26\x70\x63\x77\x39\x24\xab\xb2\x60\xb2\xe1\x70\x75\x43\x25\x99\xa1\xe8\x56\xe4\x36\xc5\x4f\xcd\x33\xe5\xe5\x03\x23\x48\x48\xb1\x64\x44\xf3\x32\xb5\xb1\x78\xbc\x54\x4e\xab\xa6\x1f\x44\xf8\xfe\xc3\x75\xf3\x62\xc1\x5c\xe3\x79\xdc\x9c\x55\xa1\xed\xb6\x45\x29\x51\x01\xed\xe3\x7c\xa3\x71\x0f\x64\x9b\x84\x77\xdb\xa5\x2c\x8d\x5d\xa7\x80\x4a\xdc\x15\x1d\xed\xdd\x43\x93\xbc\xa2\xe5\x11\x13\x96\x3a\x0e\xac\xd8\x87\x5d\xa6\x44\x73\x5e\x3e\x6f\xe3\x54\x67\xe6\x8f\x70\x47\xb9\x6a\xed\x25\x2a\xf3\x9a\xdb\xe9\xf6\xf2\x86\x2f\x6e\xfa\x6d\x66\x08\x27\xd9\xda\xcf\x9e\x9b\x69\x96\xe0\xcb\x6f\xa8\x3d\xe9\x7b\xf7\xd4\x1e\xb6\xbd\xdb\x6a\x0a\x86\x3b\xdb\x7d\x89\x84\x79\x79\xde\xd4\x42\x0b\xc7\x84\x92\xc1\x4f\xe5\xc0\x33\xd1\x81\x09\x2e\x78\x7a\xb9\x8b\x3a\x9c\x23\x36\x9b\xd8\xb4\x36\x58\x79\xde\x1d\x8d\x99\x60\xaf\x03\x5d\xb4\x33\xd9\x45\x6a\xad\x60\x6f\xec\x7d\x11\x2c\x79\x4b\xb6\x87\x96\x9c\xd7\x8c\xfe\xeb\x42\xdd\xb0\x7a\xc3\x51\x2b\xcd\x25\x68\x5f\x23\x8e\x41\x39\x40\x0a\x40\x71\x30\x23\x86\x88\xfd\xfd\x86\x7c\x23\x7d\x76\xc0\x99\x40\x07\xa7\xea\xbc\xcc\x2f\xe6\x57\x56\xcf\xb3\x53\x82\x04\x43\xd4\x49\xc0\xbf\x26\xfe\xb7\xd7\x4c\xd1\x60\xd3\xba\xe8\xc5\xa3\x3f\x9f\xea\xa3\x71\x15\xf1\x34\x9a\xc3\xca\x14\x5f\x33\x03\x52\xbd\x66\xb5\xdd\x32\x6b\x93\x9e\xf6\x92\x89\x71\x46\x49\x82\x8c\x04\x4d\x64\x6c\x0c\xd0\x4c\xa0\xe0\xf1\x23\xc3\xd7\x74\x4c\x2a\x07\xf3\xe7\x18\xc4\x69\xc8\x3f\xdb\x5e\xde\x56\xc3\x27\x0d\x2c\xe7\x4e\xab\xcd\x9e\x19\x58\x24\xed\x08\x4b\x3b\xb1\xbd\xbd\x66\x64\xf5\xb5\xce\x30\x0f\x79\xb1\x91\xd9\x04\x50\x94\x95\x8a\x05\xe7\x16\xa1\x1e\x4e\x7f\x9b\x59\x05\x83\x3f\x35\x10\x7b\xf0\x61\x4c\x68\xbe\xa6\x46\x23\x6c\x87\x03\x0d\xe8\xd3\x69\x70\x16\x11\xe6\x0f\x31\x65\xbe\xc0\xe0\x0c\x54\x52\x88\xf8\xd9\x6b\xe9\xf7\x2e\xfc\x94\x90\xd3\xe0\xee\x09\xaf\x1c\xa7\x4c\xb4\x2d\x01\x47\xeb\x3c\x7e\x1c\xab\xd2\xba\x76\xa6\x9e\x15\x0a\x61\xba\x9f\xb4\x53\x77\x34\x97\x36\xd0\xcc\xeb\xeb\x01\xe0\xe3\x9b\x57\x54\xd0\xfa\x17\x59\xce\x88\x17\x7b\xc5\x6f\xc1\xb3\x03\x95\x68\x63\xc2\xee\x32\x56\x69\x91\x81\x83\xbb\x53\xb8\xe3\xbd\x20\xbb\x0a\x5e\xb2\x17\x8c\x25\xb0\xb5\xef\x8d\xf0\x94\xd2\xf0\xb5\x02\xb0\x56\xcb\x72\x98\x42\xc3\x7a\x39\x87\xb4\xdf\x67\xb4\xae\x39\x5d\x30\xc3\xbc\x20\xca\x11\x2a\xa7\xc2\x49\xeb\x9d\xb0\x23\x47\x9f\x8f\xdd\x48\x84\xcb\xf4\x14\xdb\x7a\x89\xf6\x18\x22\x2e\x3d\x9a\x5b\x9b\xf5\xf6\x43\x6a\xed\x5b\x13\x38\x6f\x55\x81\x35\x19\x4e\x65\x25\xa4\xe4\xb3\x62\x6b\xd4\xec\xc0\xe2\x04\xf6\xd8\x84\x23\x89\x87\x64\x82\x58\x27\x08\xa2\xdf\xe7\xe9\x51\x63\xc4\xc5\xab\x9d\x1b\x1e\xc8\x33\xce\x93\x2d\x60\x5d\x7d\x86\xf0\xcc\xe9\x2a\xf6\x50\x47\x2d\x36\xc7\x81\xb5\xdf\x55\x0a\x24\x93\x68\x89\x71\x0d\xc0\xcd\x35\x75\x20\xd3\xc7\xea\x52\x6c\xc2\xc6\xad\x42\xaf\x21\xc5\x54\x05\xcd\x18\x20\x82\xc5\x78\x3d\xa0\xc8\x64\x73\xd5\x91\xdd\xd8\x87\xb3\x55\x14\x55\x10\x2d\xce\x2a\x8e\x43\x40\x74\x2e\xd4\x93\x56\xb5\x98\x51\xbd\xb7\x5f\xa3\x9d\x16\xb5\x09\x41\xff\x10\xea\x66\xd2\x50\xc0\x00\x75\x7b\xd0\x25\xc5\x0e\x47\x1e\xe6\x0d\x6d\x7b\x61\x6d\x0a\x18\x43\x33\xb6\x15\x06\xc8\x3a\x1e\xfb\x83\xfe\x40\xec\xac\xa6\x92\x5d\x8b\x57\x7a\x1d\x76\xb0\x47\xe9\x44\x28\x1d\x07\xfd\xb0\x6d\x80\x6e\xaa\xe4\x30\x6d\xea\x82\xa9\x1f\x6f\xb8\x62\x30\xe1\x46\x6e\xd3\xc7\xe4\xc9\xe8\x3e\xc9\x10\xce\xf5\x44\x9c\x73\x6e\x90\x4e\xab\xb5\xe7\x75\x28\xd4\xb8\xbb\xbb\x79\xd6\x9c\x8a\x4a\x0b\x28\x65\x70\xd6\x62\x96\x1a\x73\x0a\xbb\xa0\x54\x83\xa1\x6b\x4e\xa8\x0a\xa0\xde\x5a\x65\x94\xc9\x43\x04\x7c\xb6\xb1\xb4\xc1\x42\xc8\xc8\xc3\x03\xcd\xb6\x81\xea\x69\x55\xce\x45\xad\x56\x25\x55\x2c\xc8\x69\x84\x3a\x32\xeb\xfc\x0d\xed\x18\x0e\x1e\x31\x03\xc1\x11\xd6\xf9\x04\x07\x11\x8f\x39\x9f\xcf\x79\x06\xa0\x60\xe0\xc6\xc9\xc8\xaa\x0a\x68\xd1\xb8\x21\x22\x1a\x07\x5b\x56\x6a\x6b\x1a\x87\x70\x2a\xd0\x0c\x95\x03\x45\x54\xcd\x2b\x0b\x6e\x17\x9a\x6c\x1f\x98\x44\x4b\x76\xe1\x0c\xb9\x5d\x62\xf2\x47\x49\xf8\xa2\x14\x35\xb3\x2e\xac\x04\xd3\x82\x23\xb8\x16\x75\xb0\xb9\x46\xfb\x65\xd7\x20\x67\x6b\x4e\x15\x9a\x1a\xc1\x3f\x07\xd4\x81\x38\x25\xba\xa8\x19\x33\xe6\x85\x45\x29\x96\x6c\xe2\x84\x1a\xcd\x04\xdd\x8a\x52\x8a\x82\x8d\xc9\xdd\x3c\x63\xff\xcb\x7d\x9b\x12\x72\xc5\xf0\x88\xd7\xb3\xd5\x62\x9a\x89\xe5\xc1\xd3\xff\xf9\xf4\x7f\xfe\xfe\x10\xc4\xd2\x9c\x29\xca\x8b\x4e\x53\xb7\xa8\xd4\x87\x94\x27\x49\x4c\x79\x30\xf3\x7e\x87\xf1\xb2\x99\xea\xd2\xf5\xd0\x78\xbf\xf6\x19\xeb\x02\x59\xd3\x99\x13\x97\xf4\xee\xec\x8b\x58\xad\x42\xe3\x9d\x5f\x82\x3f\xfa\x04\x32\xee\xc7\xb1\xeb\x74\x44\x8e\xdc\xbf\x5b\x5a\xea\x94\x3a\x3d\x38\x35\x27\x27\xcd\xe4\x9b\xa9\x0a\xcf\xcf\x5f\x9c\xbe\x7d\x75\xfd\xe1\xec\xe2\xd5\xc5\x65\xe8\x2b\xb7\xdf\x85\xec\xdd\x9e\xf7\xec\xbd\x77\x86\x4b\x1a\x70\x4a\x91\x63\x3e\x3e\xef\x5d\x36\x22\xdf\x9e\xa4\x6d\x14\x3b\x6d\x92\x1d\x36\x1c\xbc\x0a\xce\x6e\x68\x2d\x87\x59\x3b\x07\x4e\x22\x9d\xf2\x70\x37\x76\x69\xdf\xfb\xfd\x3e\x97\x38\x8c\x6b\xef\xc5\xbd\x7b\xc8\xad\x6b\x3d\xbc\x6c\x3b\x78\xa3\xce\xfb\x7a\xdf\x79\xdb\xa7\x19\xe8\xb5\x34\xc1\x44\x9c\x1d\xe7\x0b\xce\xbf\xc1\xbc\x78\x00\xcf\x46\x9c\x85\xf1\x86\xd9\xcd\x11\x8c\x49\xcd\x16\xb4\xce\x41\x89\x27\xe6\x5d\xd6\x9b\x5f\xbf\xb2\xa7\x33\xcd\xfd\xde\x7b\x69\xed\xe2\x04\xac\x89\xf9\x39\xe9\x2a\xec\x92\x36\x45\xe6\xcf\x3d\x72\x18\xf7\x42\xeb\xde\x7d\x0c\x3d\xd0\x7e\xcb\xcd\xec\xc0\xed\x6d\xbb\xd3\x98\x48\x0f\x50\x4f\xfc\x8d\xb6\xf2\x19\x4b\x26\x67\xbf\xe7\x56\x5e\x06\xa9\xf8\xa2\xdc\x24\xbb\x14\x9d\x8d\x6d\x0f\x93\x74\x21\x64\xf4\xb7\x27\xa6\xa1\x7f\x7c\x02\x78\xc1\x9b\xe9\x77\x0c\x9b\x65\xd0\x7e\x5b\x02\x86\x0f\x67\x08\x00\x74\x8d\xaf\xd6\x4e\xeb\x6b\x13\xba\x34\xbb\x41\x3a\x70\x0e\x1d\x06\xab\xd3\x06\xfd\xce\x79\xb1\x37\xe0\x5c\x0f\x3e\x0c\x16\xb8\xb9\x1f\x11\x74\x6f\xc6\xa1\xdd\x0c\xb7\xd3\xe8\xea\x7f\x78\x0c\xff\x68\xc3\xcb\x1a\xff\x78\xfd\xd5\xef\xb8\xab\x9c\x89\x02\x2b\xeb\x7f\x74\x62\xd3\x66\xa2\x68\x7b\x4b\x74\x0e\x11\x24\xf6\x4c\x14\xe9\xb4\x73\xcd\x97\x31\xbb\x49\x66\x5c\xed\x2b\xc5\xe0\x71\x57\xbc\x66\x16\xcd\x0d\xb8\xd7\x82\xd1\x58\x9b\x40\x95\x31\x98\xa7\x81\x96\x43\x3a\xd9\x49\x24\x9d\x4e\x96\x1e\x43\xd9\xbd\x2d\xa2\x62\x80\xd2\x0a\xe6\x70\x83\x63\x2c\xad\xf5\xb5\xf1\xf6\x18\x55\x5e\x0f\xf8\xed\x66\xba\xb9\xcf\xf6\xc1\xec\x91\xf4\xe8\x41\x94\xf3\xe8\xe4\x24\x4a\xb1\x78\x8e\x22\x8e\x77\xd6\xf5\x5a\xdf\xe9\x03\xd2\xce\x13\x9f\x7a\x92\x12\xb7\x91\x19\x87\x93\x94\x53\xf7\x90\x29\xd3\x79\x03\x75\xb6\x71\xd8\x0a\x62\xe8\x24\x23\x7d\xdd\x88\x95\xd1\x1d\x59\x95\x69\x07\xe0\xfc\xde\x77\x83\xec\xa5\x37\xb4\x05\xfe\x63\x92\xdc\x17\x24\x37\x77\xfb\xd9\x2d\x6c\x30\xf7\x85\x88\x14\xa3\xc9\x7c\x59\x9d\xbb\xeb\x1f\xbc\x31\x89\x54\x24\xf1\x96\xfb\x10\x11\xc4\xa2\x06\x7d\x02\xc6\x75\xa4\xf3\x02\x34\xe3\x97\x93\x1e\xc0\x4d\xff\x17\x70\x53\xaf\x56\xf2\x06\x23\x3d\x42\x33\x33\xad\x8d\x5b\x8a\x54\x5a\xa6\x83\xb0\xb8\x72\xa0\x30\xdb\xd1\xaa\xea\x74\x6e\x1f\xed\x48\x47\xd1\x16\xaa\x71\x46\x6e\x86\x7b\xa1\xb5\x9d\x56\xf1\x73\xc2\xdc\x3a\x74\x9a\x6d\xd6\xa5\x65\x18\xc6\xdd\xce\x9a\x39\x55\x8d\x38\x6c\x2a\x4f\x7c\xcf\x51\xba\xa2\xa5\x58\x33\x94\xd1\x4d\x60\x68\x23\x3a\x25\xc8\x47\x5b\xdb\x68\x25\xc8\x3f\x7b\xcb\x48\x2d\xc4\x52\x5f\x4a\x0f\x5c\x82\x5a\x63\x3d\x19\xca\x91\x09\xe2\xcd\xc2\xa6\x73\x2e\x15\xda\x8c\x30\xe4\x05\x42\x02\x6c\x62\x1a\x3f\x90\x93\xc4\x98\xf5\xbf\xe1\xe3\x63\x64\xd3\xf4\xa5\xea\x6a\x04\x6e\x66\x3e\x4c\x33\x88\xba\x72\x05\xc7\x41\x83\x8f\x9d\xe7\x64\x8b\xeb\xb3\xee\x9d\xc9\x1c\x21\x7d\x83\xbd\xc8\x63\x72\x3f\xbe\xaf\xf3\x7c\x99\x60\x8a\x9e\xe7\xeb\x7b\x17\x1f\x5c\x43\xf4\x58\x2a\x22\xb7\xed\xac\xa6\xb7\x13\x83\xa7\x40\x41\x3c\x25\xba\x1d\xb8\x51\x6d\x53\xe8\x64\x01\xb6\x49\x88\x45\x35\x95\x56\x95\xd1\xd1\xe9\xc1\x42\x0c\x16\xa4\x73\x30\x48\x02\x06\x5a\xf7\x3e\xb1\xa5\xee\xd0\x19\x65\xe4\x3e\x20\x77\x5d\xa8\xdf\xa1\xeb\xe4\x18\xd1\x5f\xb6\x8a\x18\xfe\xd6\xeb\xde\x7d\xf6\xda\xca\x2e\x47\xbf\xba\x55\x43\xb1\x5d\xe7\xd3\xa9\xab\x7c\x43\x62\xcd\xae\x4c\xe4\x92\x3f\x09\x4d\xea\xc7\x1f\x1e\x9e\xf8\x06\x52\xa7\x00\xd2\x23\xd9\x9e\x6c\xbb\x3b\x04\xdc\x56\x2c\xec\x1e\x72\xf7\x63\xbd\x2f\xb9\x7f\x29\x31\xe7\x25\x5c\xbb\x32\x08\xa0\xf2\xb4\x64\x54\xdc\xfd\x72\xde\x74\xb0\x20\x0d\xeb\x57\x5f\x32\x36\x5d\xdf\xef\xf1\xb8\x82\x93\xf4\xab\xe8\x18\x42\x80\x3b\x95\x65\x9a\xa9\x48\x64\xe8\x8a\xbc\xa0\x4d\x10\x6f\x1f\xff\xe1\x2f\x26\xaa\x62\x22\xb7\x89\x0f\x1b\x0b\xd2\xc5\x24\x95\xdc\x2e\xa7\x8a\xdf\xdb\x84\x2d\xaa\xf7\x4b\x1f\xab\xcf\xef\x71\xf3\x80\x82\x74\xc7\x8e\x61\xa9\xbc\xf9\xd8\xa7\xb5\xab\x26\xd3\x37\x54\x70\xe1\x18\x1d\xba\x67\x2e\x0d\x73\x3a\x1c\xb5\x35\xcf\x5d\x6a\xc4\x7b\xe6\x72\x33\x63\x49\x9d\xe9\x88\x62\x52\xe4\x66\xeb\x86\x95\x3b\xc9\xe4\xd3\x83\xfe\xb4\x72\x75\xc3\xe7\x2a\x42\x2a\x89\x5f\xb3\x55\xa5\x49\x49\x92\xd9\x36\x61\xa0\x83\xc7\x25\xf9\x52\x3a\x2c\x04\x43\x50\x3b\xfc\x7f\x01\x36\xc7\x28\x57\x1e\x00\x5c\xae\xe6\x8a\x72\x0b\x9f\x74\xed\xf9\x20\xbc\x3d\x74\x59\xcd\xc2\xae\x94\xb7\xf3\xda\xbb\x08\x4c\x65\xd4\x6f\x6b\xc8\x24\x5b\x9a\x0a\x12\x37\x1a\xfb\x5a\xcc\xda\xe2\x1c\x14\xa1\x45\x61\xb9\x66\xf0\x52\x41\xc8\x9c\x30\xf4\x4d\x4f\x54\xf3\xcc\x3d\xae\x3c\x80\x6a\x6e\x5f\x79\x3b\x4f\x91\x0d\x67\x76\x1e\x58\xbb\xce\x8f\xf7\xc9\xfa\xfc\x0b\xaf\xdb\x52\x9f\x74\x2c\x08\x50\x42\x3d\xdb\x30\x0c\xd8\xc0\x9e\x8a\x93\x80\x04\x67\xa0\xab\x0c\x04\x5b\xc8\xb8\xb0\x9f\xf6\xe2\x0d\xee\x21\x0e\xf5\xa1\xd9\x2e\xef\xf7\x7f\x4e\x82\xf5\xa2\x5e\x44\xb3\xbf\x1d\x25\x36\xd3\x88\x37\x2c\xa1\xbf\x5e\xf5\x98\x24\x4a\xcb\x34\xb5\x3c\x53\x7c\xf7\xbd\x68\xb3\x19\x2a\xb3\x9f\xcb\x31\xc0\x3d\x89\xe0\xf1\xd0\xeb\x73\xde\xf2\xa6\xd7\xcd\x0c\x44\xcd\x17\xbc\x84\xf8\xdc\x01\x41\xe0\xe8\x1c\x52\xba\x35\x9b\x4b\x00\x58\x08\xeb\x80\xdb\xb9\xa7\x7a\x68\x96\x2c\x83\xa0\x8c\x58\xda\xb9\x6f\xb5\xbe\xf9\x25\xe3\x5d\x0b\x29\xc2\x2a\x66\x5d\x62\xc7\xb6\x77\x17\xae\x4b\x18\x75\x66\x89\xe2\xd2\x2c\x4c\x87\xb2\xd7\xe6\x25\xec\xe1\x8a\xd4\x5d\x77\x97\x3b\x58\xb8\x31\x5c\xc9\x64\xba\xfd\x14\x77\x5b\x8b\x4d\x9a\xe9\x35\x39\x56\x77\x2f\x66\x7a\xd6\x3b\x17\xb5\xb7\x93\x18\x2a\xee\x91\xfb\xc8\x0a\xba\xac\x86\x68\xa9\x69\x85\xd4\xc0\x3f\xbb\x04\x38\xa3\x3d\x31\x5e\x88\x61\x6b\x36\x5f\xdf\xe1\xb8\xd3\x7d\x21\xc1\x4c\xb7\xb5\x6a\xf1\x36\xed\xd8\x22\x7b\x02\x1d\xef\xfb\xdb\xee\x4d\x9a\xaa\x76\xee\x4d\x72\xc9\x93\x2b\x14\x04\x21\xfd\xfd\x16\xb8\x71\x19\xf6\x4b\x49\xfb\xa5\x6e\x90\x33\x3b\xe5\x64\x9a\xda\x5f\xeb\xa8\x9d\x9a\x6e\x10\x8f\x93\x9e\x71\x32\x6e\xe5\x33\xe7\xb9\xe8\x9e\x67\x12\x0d\x6f\x97\x87\x4f\xf7\x96\x45\x9a\xe3\x7f\xb6\xa7\x2b\x9e\xc3\x7d\x0e\xe3\x65\x6c\x01\xaf\x2d\x1a\x42\x9f\x07\x61\xff\x82\xef\xa3\x9a\x60\xd1\xfb\x92\x4c\x2f\x84\xcb\xe4\xdc\x7a\x13\x4b\xdd\x48\x14\x7e\x89\xd8\xd1\xe8\x1d\xa8\x62\xc4\xc8\x1a\xe0\xda\xf5\x3b\xc7\x8a\x39\x91\x22\x66\x80\xcc\xd7\x30\x0d\x3f\x95\xdb\x32\xbb\xa9\x45\x29\x56\xb2\xd8\x8e\xa1\x8a\x49\x59\x01\x0b\x43\x0b\x48\xee\x9a\xdd\x92\x0d\x2f\xc1\x40\xbe\xc1\xa8\x52\x9b\xb2\x0f\x8a\x78\xd8\xdc\x4c\xd0\x82\xc9\xcc\x02\x5c\x51\x8b\xcd\x8b\x5d\xef\x23\x87\x08\x74\xfe\xc3\x0e\xaf\x72\x85\x08\xf9\xf2\xc3\x14\x1b\x4e\xba\xe1\xc1\x1a\xe0\x3b\xea\x2e\xd3\x66\x45\x72\x12\x02\xee\x27\xe0\xf8\x8d\x6e\x46\xb7\xd5\xaa\x7c\xec\x20\xfb\x8b\x79\x14\xe9\x8d\x9f\x3f\x38\x28\x8e\x04\x02\x5a\xf7\x1e\xce\x02\xa4\xaf\x48\x85\x1d\xe1\xb2\xe0\x91\xff\x7b\x6c\xa5\x17\x2e\x7c\x08\x3a\xc8\x3b\x8d\x50\x68\x2f\x5b\x1b\xe1\xcc\xcf\x71\x6c\xd4\xe6\x32\xb0\xfe\xea\xc6\x72\xe1\x25\x2f\xef\x75\x11\x86\x21\xf6\xa0\x9e\x00\x12\xaf\x17\x05\x49\x57\xfe\x33\xa8\x48\x86\x22\xd4\xe7\x50\x92\x6f\xa0\x93\x9a\xda\xb8\x01\x50\xa4\x89\x1b\x60\x28\xed\xc9\xe1\x6e\x66\x6b\x55\x81\xfb\x7b\x5b\xcd\x98\x82\x9a\xea\x25\x6d\x2e\xe3\x1e\xf6\x19\x86\xa1\x50\xa7\xfa\x23\xbc\x10\xb1\xa8\x5e\x9b\xe1\x24\x54\xe4\xee\x9e\x20\xa8\x22\xfe\x01\xa6\xd8\x94\xab\x83\x49\x5a\xa3\x88\x9f\x93\xb5\xbb\x2c\x79\x89\x5e\x14\x2e\x3e\x32\x21\x62\x91\x3f\xa6\x85\x03\x72\x64\x84\x6a\x63\x97\xf9\xac\x96\xac\x7c\x40\x8e\x52\xc1\x97\x3b\xd9\xdd\x07\x21\x86\x68\xc8\xf0\xee\x0f\xc9\x42\x5b\x4d\x67\xb8\xa7\x5b\x96\xb1\x9f\x57\x14\x1c\xd1\x56\x85\x21\x58\xe8\x0e\x3a\x81\xb8\x94\x34\x9d\x20\xbb\x10\x02\xec\x9a\x10\x9f\x26\x46\x97\xe6\xc6\x0c\x2b\x05\x57\x9a\x71\xb0\x77\x18\xbd\x50\xbe\x32\x57\xa8\x05\xbc\xb0\x12\x68\x8d\x2a\xb4\x92\x6c\x18\x84\x2e\xa0\x73\x3f\xa4\xb3\x86\x72\x41\x5f\x54\x92\x0d\x6b\x27\xcd\xde\xad\xdc\xc7\x49\x7c\x2e\xf9\x36\xc3\x55\xf6\x90\x6f\x64\x9e\xfb\x96\x3c\x49\xde\xa5\x66\xe6\x67\xf7\x8b\x7d\x6b\x6b\x1b\xcc\x6e\xfc\xd8\x42\x6a\xea\xed\xb6\xdf\x42\x76\xe2\x32\x88\xde\x36\x1a\x76\x8c\x62\x59\xd2\x7a\xc1\xcb\x31\x24\x2e\x59\x2d\x19\x04\x97\xe1\x34\x95\x20\x0b\xa6\x08\x57\xbe\x2d\xd8\x47\x1b\xf8\x44\xa5\x85\x20\xb6\x7e\x3c\x10\xe5\x4a\xab\xaa\xe0\xcc\xe4\xb7\xdf\x40\x88\x26\x2f\x2d\x85\xf9\xa6\x1a\xa4\x36\x0d\x61\x94\x26\x93\x3e\x6e\xe9\x01\x46\xd0\xc3\xcc\xdb\x4a\xdb\xbe\xea\xce\x8e\x52\xb2\x4d\x4f\x1f\x8d\xa0\x86\xdb\xce\x78\x7b\x27\x1e\x54\x07\xc7\xe0\x8b\x7e\xeb\xfd\xc1\x88\xef\xd3\xfc\x63\x82\xb6\xe2\x79\x21\x44\x6d\xe8\xe9\x20\x2d\x27\x8f\xac\xf7\x6a\xd0\xc3\x25\x38\x33\x1e\x86\xd8\x47\x07\x07\x16\xcd\xa6\x90\x02\x96\xd5\x78\x04\xeb\x03\x78\x18\xed\x16\xb2\xf3\xa4\x31\xb0\x8e\x4b\xef\xb1\x2d\xf1\xaf\x5d\xce\x93\x0d\x18\xa4\x70\xad\xd2\x82\xff\xe3\xa0\x4c\xbb\xd5\x4d\x00\x9b\xf5\x20\x61\xd7\x72\xf2\x10\x1a\xdb\xe9\x9d\x59\x10\xcd\x7e\x8e\x7d\xcb\x48\x19\x91\xc2\xad\xb9\x93\xae\x81\xe4\x96\x36\x0d\xde\x0d\xbb\x5a\xd8\xd1\x3e\xe5\x1c\x2c\x64\xaf\x4b\xf8\x6f\x71\xe7\xb5\xa2\x82\xbe\xc8\xa5\x97\x52\x01\xf5\x0f\x54\xe9\x7e\x14\x09\xe9\xab\x41\xea\x11\x25\x6c\xb2\x86\xa1\xa3\xb2\xa8\x99\x89\x08\xd2\x8f\x5a\x33\xac\x4e\xee\x04\xda\xc7\x2b\xce\x0a\x04\xec\xce\x08\x39\x1b\x2a\x89\x16\x8a\x4a\x97\x46\x25\x61\x4d\x89\x63\x3d\xb5\x80\x84\x07\x57\x09\x22\x19\x04\xbc\xdb\x77\xd8\x3b\xd3\x19\x5c\x13\xdf\x93\xd1\x77\x00\x5e\x4a\xd0\xa3\xef\xce\x16\x03\xa9\x09\x22\xf2\x78\x99\xf1\x9c\x79\xd9\xc3\x04\x14\x82\xda\xa4\x14\x13\x57\x75\x60\x16\x60\x4a\xc8\xeb\x2d\x59\xac\x98\x84\x70\x41\x17\x89\x5a\x8a\x96\xbd\x66\x26\x44\xc1\x68\x09\x68\xad\x8a\x59\xb4\x56\xf4\x26\x93\x6c\x9f\x7f\x44\x23\x9d\x5b\x03\x4e\x55\xb1\x40\x3b\xd2\x7c\x1c\x6d\x05\x28\x67\x9f\xd1\xa0\x52\x0a\xa0\x8c\xa9\x17\x6e\xeb\x3b\x52\x7a\x36\x93\x83\x0e\x46\x0d\x3b\x79\xd8\xda\x33\x57\xb8\xa3\x35\x4f\x69\x51\x6b\x09\x63\xc0\x3d\x87\xd9\xd1\xf0\x67\x0e\xb3\x63\xd2\x71\x10\xb4\xcf\x87\x62\x14\x6f\x33\xd6\x10\x93\x41\xb2\x86\x6c\x09\x05\x45\x50\x71\x5d\x84\xd0\x55\xce\xf5\x7d\x05\xa9\x0e\x68\x49\x44\x99\x31\x52\x31\x2d\x7a\x66\xa2\xdc\x1b\x7c\xce\xcb\xc5\x33\x16\x87\x0d\x04\x64\x81\x77\x4b\x98\xbd\x72\x16\xcf\x96\x34\x43\xfe\xdc\xca\x2c\xda\xeb\x3c\xea\x12\x8b\x77\x8b\xbe\x20\xaf\xf6\x18\x09\x16\xec\xce\x20\xeb\x84\xdc\xa7\x87\x87\xce\x9d\x53\xaf\xe1\xd5\xff\x5d\xb1\x22\xbb\x31\x43\xf8\xe0\xee\x9f\x99\xd0\x27\x1f\xd6\x57\xdf\x64\xa5\x50\x7c\xce\x33\x04\x13\xd7\xf5\x00\xba\xc5\x31\x8d\x89\x96\x5a\x37\x7a\x54\xf8\x54\xb7\xfc\xa1\x91\x26\x49\xd6\xd9\x60\x14\x9d\xb1\xa0\xa8\xde\xf9\xc8\x29\x05\xfa\x64\x8d\xe1\xef\x53\x25\x10\x8f\x34\x9d\x1e\xb6\xe3\x3c\x82\x2c\x91\x63\xf2\xcd\xe1\x61\xfb\x78\xf5\x68\xe9\x53\x34\xf1\x9c\xc9\x5b\x25\xaa\xef\x83\xb5\xd4\xf4\xf7\xc1\xfb\xee\x04\xd9\xac\xa9\x7c\x81\xb9\x11\xa3\x74\x55\x0e\x9f\x13\x36\xa4\xbd\x20\x61\xdb\xaf\xb8\x54\x1f\x4c\xfa\x2a\x53\xce\x01\xa0\x5e\x21\x12\xc0\x86\x11\x55\x43\x0c\x75\x4d\xb9\x79\xc3\x36\xbc\xcc\xc5\x06\x00\x00\xff\x08\x95\xca\xa9\x28\x21\x1d\x69\xe3\xa0\x18\xe2\x2c\x04\x44\x60\x45\x5d\xcb\x0f\xc3\xd1\x31\xf9\xd4\x3a\xea\x56\x57\x1f\x68\xd4\xc9\x8c\xab\x40\x5c\x0c\xbf\xc0\x9b\x38\x26\x19\xab\x01\x46\xc4\x03\xa9\xa5\xc1\xb6\x6c\xe2\x27\xe2\xd2\x4c\x69\x36\x15\x5e\x13\xa6\x58\x5b\x5b\xdf\x8a\x4e\x22\x21\xd2\x13\xb2\xb8\x90\xf0\x46\x56\xa2\xcc\x43\xf0\xe8\xc0\x6f\xa2\xad\xf2\xb7\x93\xb1\xb1\x00\x10\x24\x30\x9f\xef\x7b\xde\xea\x95\x7d\xd9\xc2\x35\x18\x23\xb8\x27\x04\x44\x95\xbd\x5e\xbd\x0b\xaf\xa2\xe8\xf3\xe6\x89\xb0\xb8\x7b\xf1\x3a\xb8\xe3\x76\x2c\x87\xdd\x50\xe3\xd2\x9f\xd8\xd0\xf0\x8b\xd9\x50\x76\xc7\x25\x42\xe2\x68\xd6\x23\x06\x8a\x88\x5c\x8b\x8c\x42\x15\x42\x0a\xd1\xdf\xc3\xf0\xbd\x4d\x87\x72\x30\x9e\xe8\xd6\xe2\x3d\xb4\xbf\x12\x17\x02\x05\xbb\x48\xcb\x6d\x3c\x86\x5f\xbf\x65\xc1\x2c\xef\xbf\x65\x2f\x1d\xf0\x6c\xaf\x2d\xe3\x61\x71\xb3\x65\x89\x2d\xa1\x2b\xcd\xa1\x19\xdc\x18\xab\x1d\x8c\xf7\x26\x59\xc4\x61\xb0\x95\x84\xea\xb5\x5d\xce\x59\x04\xb6\x0c\x52\xbe\x41\x2a\x47\x07\x1c\x2a\x11\x07\xa9\xe0\x25\x1b\x7b\x8b\x97\x4f\x5a\x2d\x29\x24\xeb\x26\x14\x7c\x9a\x74\x7b\xc6\x8b\x28\xe7\xf3\x39\xab\x01\x54\x61\x26\x78\x21\x51\x95\xbd\x01\xe6\x72\x73\xc3\x00\x68\x42\xef\xae\x48\x58\x65\x0d\x27\xcb\xbe\x3c\xe3\x78\xda\x06\xfd\xe9\xb3\x2f\x09\xac\xa0\x5d\xfb\xd3\x54\x88\xc5\x5b\x93\x50\x97\x35\xef\x42\x7b\xed\x99\xfc\xab\x0d\xbf\x32\x85\x02\x7b\x70\x6b\x45\xf1\xd8\x73\xa1\x2b\xe8\x03\x80\x60\x87\x11\xc6\x5d\x88\xc7\x07\x52\x97\x33\xa8\x00\x4c\x46\x13\x0e\x0b\x33\x8b\x05\xc9\xfe\xe0\xa8\x91\x8a\x4a\x45\xb8\x42\xcf\x33\x84\xd2\x48\x1e\xb4\x96\x7d\x7d\xc7\x39\x6b\x2c\xcb\xfd\xcf\x9a\xd7\x7c\xf5\xda\xd3\x4d\x58\xbc\x7b\x2f\x8d\xe4\x30\xb9\xff\x9e\xce\xe7\xbf\x6e\x53\x83\xcd\x08\xd5\xa7\x3d\x77\xd4\xf9\x7d\x00\x1e\xdc\xaf\xbc\x03\x3b\x16\xe1\xfe\x7b\x74\xd9\x54\x52\xde\x47\x7a\xfb\x71\xdf\x8e\x15\xc8\xdf\x32\xb5\x61\xcc\x02\xbb\xf0\x25\xad\x31\x8c\x15\xdc\x58\x01\xbe\x06\x69\x3b\x54\x65\xfb\x6f\xe1\x91\x84\xbb\xb6\x51\xcb\x63\x1f\x86\x1b\x61\x0f\x90\xed\xaf\x55\xd6\xc2\x44\x6f\x68\x55\x99\x64\xd1\x7a\x08\xc6\xde\x47\x18\x3a\x47\x8a\x8e\x58\x35\x5b\xfd\x9c\x66\x37\xb6\x6d\x8b\xc1\x26\xc1\x83\x4b\xdf\xac\x1d\x6e\x7e\x9f\xbf\xed\xf1\xaa\xdc\x7f\xb7\x4f\x6d\xfd\x1d\x0f\xe0\xfd\x00\x2f\xec\xc6\x5b\x1b\x8d\x1b\xe1\x95\xf9\x7e\x44\x8c\xa0\x0a\xfb\x70\x15\xa4\x48\x69\xa9\xc1\x5b\xe0\x98\x8f\x1e\xa5\x62\xac\x3d\x4e\xcb\x61\x90\xff\xe4\xe1\xce\x34\x2b\x41\x60\xef\xcb\xe8\x3a\x35\xd1\x23\x90\xab\x52\x9a\xf4\x19\x1b\xfd\x7f\x35\x23\x74\x43\xb7\x63\x48\x57\x60\x7b\x61\x92\x2c\xe9\xd6\xb6\x34\xd3\xbc\x98\x49\xd3\x38\x75\x72\x43\xdf\xac\x2f\xdd\x09\x9d\xec\xfc\xba\xd1\xfe\x69\xbd\x4d\x43\xfd\xd3\x7a\x77\x56\x98\x76\x20\x3a\x2d\xf8\x2f\x88\x56\xf3\x21\x1d\x6b\x10\x42\x98\x40\x61\x34\x6c\xb5\x4b\xdf\x34\x0d\x5e\xa1\xfe\x62\x5b\x66\x68\xb9\xf3\xe1\xd7\x89\x62\x3c\xca\xd1\xd4\x2f\x82\x25\x76\x69\xd0\xfb\xd8\x0c\x4a\x88\x9c\x96\x26\xb3\x82\x97\xb7\xa9\x27\x23\xfa\x1e\x5c\x38\x0e\x06\x4e\x33\xc8\xf0\x11\x6c\x22\x1c\x42\x27\xd7\x5c\xf2\x59\x11\x5d\x3d\xc0\xa6\xd9\x0f\xde\xde\x6b\xbc\xae\xa1\x05\xdb\xeb\x7f\xf8\x54\x4b\xc0\x63\xa3\x48\x25\x08\xf2\x8f\xba\xa4\x4d\x90\xc3\xe7\x36\x1d\x0d\xc2\xc7\x2b\x01\xa1\xdc\x42\x22\x44\xd6\x83\x28\x33\xa6\x67\x0b\x75\x9d\xa2\x20\x05\xa3\xb7\x84\x12\x63\xd0\xff\xd5\x9c\x41\x6b\x25\xef\x7f\x13\xe1\x66\x3e\x83\x16\xfa\xbc\x38\x59\x54\xde\xbc\x35\xe6\x12\x79\x88\x23\xb4\x99\x6b\xbc\xdb\x42\x50\xc9\x1e\x11\x30\x42\x59\xa5\xc5\x8e\xe2\xc7\x2d\xb5\x43\xb2\x5c\x5b\xf1\xd0\x18\xf1\x0f\x48\x06\xa3\x84\x21\xc2\x7c\x1a\xaa\x7a\xc5\x76\x52\xac\x25\xa5\x6e\x9a\xb5\x25\xba\xa8\x96\xa5\xe8\x54\x53\xb0\x55\xf6\x7d\x29\x92\x08\x87\xfa\xb9\x44\x61\xd6\xe5\x1e\x64\xe1\x6b\xa4\x08\xa3\x65\x76\xdd\x49\x20\xf7\x25\x91\x9e\x44\x62\xed\x6b\x1d\xea\x4e\x51\xd1\x8c\x2b\xfd\x14\x0c\x0e\x07\xc7\x29\x7c\x09\xa4\x9d\xce\x2c\x1f\xfb\xdb\x7d\x32\x38\xde\x45\xa8\xd1\x22\xec\x59\xaa\x06\x94\x98\x9f\x98\x28\x83\x73\xfd\x21\x01\x93\xfa\x0f\xb0\x07\xb1\x92\xcc\x78\xa3\xc1\xeb\xaf\x8f\x4d\xe3\xda\xc6\x64\xc8\xa8\x28\x0c\x32\xa9\x37\x23\x6f\x74\x53\x4e\x60\x06\x64\x7d\x6a\x2c\x46\xbb\x08\xbe\xbd\x99\x69\x60\x25\x25\xaa\x4b\xff\xa0\xa7\x34\xe0\xd7\xbe\x84\x87\x68\x45\x7f\xbc\x3d\x35\x9f\x45\x85\x86\x41\x57\xa3\xe3\x26\x2a\x42\xa2\x9d\x76\x4e\xdf\x14\xc7\xd6\x01\x9f\x10\x25\x80\xc5\xc6\xff\xd0\x18\x75\xc0\xb7\x9d\x39\xa1\x2a\x4c\x31\xea\x10\x5a\xc0\x92\xca\x15\xd1\x3b\xcf\x73\x97\x77\xdc\xee\x27\xad\x19\x8d\x81\x99\xcf\xa4\xfc\x81\xd6\x4e\x79\x8f\x7c\x12\x24\x0d\x1e\x93\xc1\xe4\x89\x4b\x1d\x1c\x1f\xc3\x3d\xf7\x7c\x83\x65\x6d\x1f\x48\x8b\xbf\x72\x72\x42\x06\xa5\x28\xd9\x20\x98\xe1\x25\x9b\xd8\xcf\x91\x89\xc6\x8a\x93\x73\xb8\xb1\xa9\x24\x37\x3c\xcf\x99\xcb\xf9\xba\x14\x2b\x99\xc0\x9e\xde\xd1\x37\x19\x0c\xdc\x84\x0e\x0e\x88\x0b\x2e\x08\x1d\xf0\x20\xdd\xf5\xd9\xd5\x95\x26\x01\x0e\x2a\xd7\x25\x55\x37\x53\x02\xc2\x35\x23\x39\x8a\xc4\xfa\x37\xc2\x4b\xf2\x7f\xae\xc6\x1e\x68\x62\x5e\x08\xaa\xf0\x13\xbc\x2f\x5a\x6e\x5e\x55\x64\xc6\x30\x83\x76\x0d\xe2\x73\x86\x42\x1a\xc5\x5e\x75\x47\x98\xae\x46\xd7\xc0\xa6\x1c\xa2\xa9\x93\xc8\x6b\x9a\xdd\x1a\xe6\x67\xc6\x8c\xe8\xd4\xdc\x4f\xb3\xfc\xa9\x6d\x35\x9f\x7e\xfe\x97\xbf\x36\xa8\x6e\x12\x1e\xb1\x4f\xe4\x31\xf9\xd9\xd1\xf1\xcf\xff\xf2\xd7\xd6\xb1\x31\x34\x05\xbe\x8e\xd5\x6b\x70\xbc\xf9\x54\xdd\xfd\x1c\x9b\xb2\x93\xd4\x95\x89\x62\xd0\xd3\x07\x3c\x79\xa7\x47\x26\x1c\xc5\x55\xc1\x06\x3b\x2d\xef\xb8\x14\xc3\x41\x33\xb3\x7d\x87\x2d\x7f\x7f\x53\x63\xb2\xaf\x2d\xf0\x94\xdb\xdf\xd0\x68\xe0\x4c\x63\x6f\xab\x9c\x9a\xc0\xf2\x8c\xd6\x4c\x61\x5e\xfb\x27\x4f\xb6\xa4\x5a\xd5\x9a\xc3\x95\x53\x6f\xce\x33\x17\x70\x2b\xfb\xf7\x82\xa9\x2b\xfb\x75\xe8\x02\xb6\x7d\x85\x47\x8f\x7c\xed\x29\x97\x67\xa2\x28\x68\x25\x59\x3e\x6a\x87\x4f\x83\xac\x62\xcb\x9e\xe9\x11\xf9\x76\x62\x3e\xed\x34\xff\xcb\x4a\x5a\x8f\x62\x00\xc6\x15\xf3\xd6\xae\xb5\x93\xad\x34\xb0\x0e\xe4\x0d\xad\x50\x68\x28\x43\xdd\x6f\xc6\x8a\x82\xe4\x7c\xc9\x4a\xa9\x2f\x9a\xbd\xe8\xde\x30\x00\xbc\x24\x3b\xde\x11\xe8\xc8\x2e\x1d\x76\x7e\xa5\x7f\x6a\x88\xe3\x21\xc5\xc5\x46\xc3\xb9\xc8\x56\x72\x30\x82\xcb\x0b\x78\xbb\xf0\xf6\x3a\x2d\x36\x74\x2b\x11\xe5\x87\x92\x59\x21\xb2\x5b\xc7\x84\x6a\x79\x69\x55\x42\x75\x50\x4c\x12\xe2\x06\xd3\x98\x51\x30\xac\xe9\xb3\x57\x17\x67\xdf\x1d\x87\x18\xa5\xb8\xc8\x27\x1d\x17\x1c\x4c\x43\x6e\xb8\xca\x6e\xc8\x10\xda\x77\x5c\x3f\x95\x6c\x67\x4f\xe7\xa7\xaf\xad\x27\x29\xde\x95\x37\xd6\x2b\x75\xb0\xa6\xf5\x70\x32\x81\xca\x13\xbd\x3b\x5a\xc2\x9c\x18\x59\x77\x70\x1c\x55\x6a\x9b\x8a\x07\xaa\xa6\xa5\xac\xa8\xde\xef\x66\x61\x51\xe7\xac\xc6\xf7\xf7\xca\xcc\xcb\xa7\x7d\x8a\x4b\xbd\x62\x73\x65\xcb\x0c\xa4\x28\x78\xee\x1a\x9b\xd5\x8c\xde\x1a\x1e\x6c\xdf\x34\xdf\x7e\xff\xfc\xfc\xf2\xd5\xcb\xef\xcf\x3b\xe6\xda\xba\xe9\x1c\x35\x82\x80\x3f\xa3\x92\x41\x0e\xc9\xc7\x64\x50\xdd\x7d\xe9\xb9\x37\xe6\xa5\x1f\x00\x54\xad\xe0\xf1\xe2\xbf\x80\x24\x51\x01\x5c\x35\x61\x77\x14\xf0\x6e\x2c\x20\x80\x19\xd9\x9e\xa5\x0b\x97\x37\x5c\x37\xe3\x49\xf3\x9b\x50\x40\x40\xaa\xf0\xd3\x87\x2f\x43\x05\x89\xa9\xdc\x93\xb5\x6d\x45\x8f\xa7\x19\x58\x17\xcb\xb1\x2d\xb3\xbf\x4f\x24\xc7\xb6\xcc\xfa\x06\x55\xf4\xe1\xa8\x53\xc1\x15\xae\xde\xe7\x04\x57\xb8\xca\x7b\x3d\x22\x30\x68\x22\x2d\xc3\x61\x89\x8e\xf0\x0b\x57\xa5\x2b\x54\xe7\x4a\xdf\xba\xa2\xd6\x9c\x21\xbe\xa4\xbf\x08\xb1\x24\x1b\x5a\x97\x98\x92\xd5\x6d\x63\xf8\x3b\x68\xc3\xc9\x92\x49\x49\x17\xcc\xfd\xa8\x6b\xaf\x24\xa2\xce\x2b\x83\x3b\x35\xab\xc5\x46\xff\x04\xb5\x97\x2b\xa9\xd0\x77\x0d\x93\x73\x08\xf2\xe4\xf0\xf0\x5f\x35\x17\x08\x54\x0a\xcf\xf7\x8d\xf5\x88\x73\xb0\x03\x98\x4f\xbd\xd8\xf6\xd5\x29\xdc\x18\x6b\x8c\x19\x5e\xa0\x4c\x80\x39\xf2\xbd\xea\x84\x1b\xb1\xf9\x4f\x21\x96\x3f\xe2\xb4\x9a\x49\xbe\xad\x5a\x00\xd4\x04\xb0\xa3\xbf\xf8\xc2\xf0\xa6\x84\xb2\xb0\x51\x24\x74\xca\xbd\xcd\xba\x6d\xfe\x24\xab\x19\x55\xec\xbc\x60\xfa\xcf\xe1\x20\xe7\xeb\x41\xe8\x4f\xd2\x6c\x60\xca\x73\x7d\xf3\xc0\xec\x8e\xf4\xc7\x89\xd9\x9e\xc1\xae\x4a\x78\x59\x64\x52\x5e\xb3\x3b\x88\xa8\x70\x7c\xd8\x00\x7c\x93\x8e\xc8\xac\xa0\xd9\xed\xf1\x20\xe0\xd0\x5a\x6e\x63\x47\xe4\x7f\xcc\xe7\x4f\x9f\x3e\x7d\x1a\x17\x9b\x8b\x52\x4d\xf4\xcd\x77\x44\x0a\x5a\x2f\x58\xa3\x11\xd8\xfa\x49\x4d\x73\xbe\x92\x47\xe4\x77\xd5\x5d\xfc\xdd\xe8\x21\x8e\xc8\xe1\xf4\xdf\xbe\x89\x3f\x55\x34\xd7\xcc\x91\xfe\xf4\x94\x2d\xc9\xe1\xf4\x1b\xf8\xff\xee\xdf\x71\x69\x25\xaa\xa3\xd4\xef\xe0\xab\x70\x44\x9e\xe8\x7a\x8d\xf6\xcd\x29\x3b\x72\xc9\x45\xe3\xef\x93\x0d\x9b\xdd\x72\x35\x51\xec\x0e\x27\x38\xa1\xc0\xd6\x1d\x11\x2d\x9f\xa5\xcb\xea\xf3\x31\x41\xa6\x30\x59\x6c\x29\x7e\xe9\xd7\x9e\x2e\x98\x68\x6c\xb4\x8b\xb8\xa6\x34\xcf\xcf\xd7\xac\x54\xaf\xb8\x54\xac\x64\x5a\xca\x28\x78\x76\x3b\x18\x7b\x0a\x67\x0d\x3c\x5b\x7c\x85\x75\xf5\x29\xe6\x21\x39\xbb\xe1\x85\x71\xb9\x32\x77\x4a\x03\xec\xa7\xd5\xab\x9e\xcf\x99\xc1\x8e\x43\x37\xe1\xd7\x78\x34\x5f\xd3\x92\x2e\x58\x3d\x35\xf9\x4b\x2e\x99\x71\x33\x90\x96\xfc\xf0\x8c\x06\x0d\x9a\x8a\x56\x74\x79\x07\xf9\xda\x5f\x96\x6a\xb8\x87\x01\xd1\x4d\xbc\xa0\x99\x12\x35\xf9\x5a\x5f\x3a\xa3\xf7\x81\xa0\xd4\x71\x1a\x34\xdd\xbe\xa0\x4b\x5e\x38\x3b\x4b\xec\x81\x59\xaa\xc9\x1c\x3e\x0f\x3c\x22\x6c\x4b\x6d\x98\xbe\x21\x82\x55\x1d\x85\x8b\x9d\xf3\x75\xf8\xcd\xe4\x98\xf2\x2b\xde\xbe\x6a\x8e\xe3\x7c\x59\x7b\x7b\x0b\xfd\xf6\x76\x94\x6b\xed\x75\x47\xcf\xad\x97\x24\x52\x3f\x88\x35\xab\x0b\xba\x45\xb1\xcc\x20\xe7\xd0\x25\x78\x93\x6b\x71\x87\x2f\x23\x14\xfe\x56\x35\x9b\x9d\x97\x97\x84\x97\xe8\x17\xbd\x06\xaf\x5f\x5e\x12\x8a\x77\x09\xd1\xdb\x30\x26\x19\x2b\x01\xd7\x08\x80\x66\xd6\x86\x8f\x08\x52\x73\x04\xd6\x12\xe7\xcc\x7c\xcb\x18\x26\x1b\xb1\xdd\xd9\xe7\x6c\x56\x73\x36\x87\x6c\xb0\x90\x39\x18\x1d\x64\x1a\x5d\x82\xc4\xb5\x15\x2b\xdf\x9c\x5e\xba\x81\xf2\x36\x96\xec\x86\x65\xb7\x8e\x01\x45\x04\x9c\x78\x75\xe6\xbc\x6e\xe3\xdf\x58\xb0\xed\xa5\x5c\x98\x45\xb9\x53\x98\xe9\xe7\x4f\xd7\xaf\x5f\x8d\xdc\x20\x8d\x15\x47\x8f\xdb\x44\xf3\x98\x69\x4c\x53\xc8\x11\xa2\x52\x1f\x0c\x53\x00\xad\xc6\x9b\x00\x0e\x0b\x94\x2b\x32\x63\x73\x51\x33\x32\xa7\x20\x73\x8a\x15\x3c\xd6\x48\x2e\xbe\x7d\x12\xa9\xfa\x9f\x4c\xbf\x31\x7e\xbc\x72\x4a\xc8\x1b\x2a\x25\x30\x98\xf0\xda\x5a\xa8\x69\x53\xd3\x36\x26\x15\xdd\x92\x55\x05\x6e\xf8\x7a\xaf\x86\xa2\x26\xab\x52\x71\x84\x35\x2f\xad\x27\x58\x41\xb7\xfb\xf2\x73\xe9\x97\xfa\xc2\xec\x5e\xf0\x48\x2f\xe5\x62\x1c\x4e\xb9\xf9\x5e\x9b\xd6\xdb\x6f\xb5\x3b\x83\x3b\xf4\xd4\x41\xdd\x7b\xbf\xd5\x61\xe5\x5d\x4f\x6e\xe3\x4d\x7c\xf2\x4d\xf3\x51\x0c\x9e\xd4\xbb\xbb\x49\xe2\x55\xfd\x62\xaf\x66\xdf\x37\x70\xdf\xbb\x66\x9f\x4a\x2d\xd8\x99\x06\xad\x85\xe1\xc9\xef\x0e\x97\x92\x30\x2a\xd9\x84\x97\xfd\x5e\xb9\xf6\x93\xb9\xbf\xdd\x51\xd7\x36\x26\x5e\x45\x50\x8c\x6a\xb1\xa3\xe3\x65\x64\xfa\x29\xd0\x55\x1c\x5a\xdf\xb1\xfb\x22\x95\xa8\xde\xd4\xa2\xa2\x0b\xea\x55\x4a\xc0\x79\x1b\x73\x5d\xf8\x56\xa6\x28\x22\x14\xff\x76\x7b\xe9\x1f\xef\x68\xa6\x43\x9e\xdc\x1d\x44\xb0\xab\xc1\xfb\x3e\x87\xed\x76\x62\x3e\x60\x29\x17\xbb\xba\x0b\xed\x5a\xd3\x7f\xfb\xc6\x9b\xa0\xda\x67\xb8\xf5\x9a\xfa\xb7\xb4\xf5\x80\x46\x67\xdf\xc9\x69\x39\x5f\x6b\x36\xc1\x29\x95\x16\x4c\x9d\x15\x9c\x95\x4a\xff\x3a\xf4\xd7\x82\x35\x6c\x98\x56\xf6\xd5\x69\x77\xd6\x35\x5b\xc0\xa9\x35\x24\x34\x34\xa3\xf1\xc1\xc7\x41\x77\xd6\x57\x82\x1c\x90\xa7\x81\x36\xa5\xab\xdd\x02\xa3\x5c\x5d\x93\x36\x7a\x2a\x6c\xd1\xfc\xd6\x15\x26\x61\x84\xfc\x2b\x8b\x7b\x00\x1e\x1f\x6f\xee\xe2\x11\xa4\xe4\xdd\xc8\xe6\x81\xfd\xc5\x61\x07\x6d\x53\x5d\xb3\x98\x6b\x24\x7c\xc0\x4e\x4e\xda\x79\x90\x5b\x8b\xdb\x3b\xd6\x00\x04\xe6\x3d\xf4\x37\x38\x4e\x14\xbe\x47\x34\x83\x53\x29\xcf\x77\xd3\xad\xfd\xdf\xae\x92\x11\x67\xd6\x2a\xe8\xee\xa1\x1d\xa3\x0d\x15\x40\x7d\x57\x00\x4f\xa0\xad\xe1\x22\x54\xcc\x1f\xe1\xee\x7c\xfc\x48\x9e\x60\x20\x46\xc0\x1a\xbe\xa1\x52\xb1\x20\xe7\xd0\x56\x2a\xb6\x24\x59\xc1\xab\x99\xa0\x75\xde\x4c\xcb\xba\xe7\xd9\xaf\xa0\xb5\x2e\xac\x19\xac\x06\x65\x5e\xd4\x62\x79\x66\x3b\x19\xc6\x6f\x75\x3c\xc0\x33\x51\x6d\x09\x25\xc8\x7d\x39\x57\xdc\xc6\x30\x1d\x5a\xa3\x50\xec\xc8\x78\x83\xd5\x0c\x75\x21\xf8\x3e\xb1\x9c\xd4\xb4\x5c\xb0\x66\x92\xf0\xb1\x66\x22\x8d\xb2\x4a\x13\x7d\x1b\x81\xd3\xf2\x7d\x52\xd5\xc6\x17\xda\x8e\x24\x13\xd5\x76\x5f\x74\xa7\xa8\xb6\x08\xda\x7a\x2d\xdc\x7c\x63\xb5\x45\xdd\x50\x61\x85\x77\x37\x46\xf8\x4f\xdc\x3c\x27\xa5\x50\x3c\x63\x83\x11\x52\x65\x40\xdd\x78\x39\x78\xae\xcb\x87\xdf\x8c\xa3\x88\x17\xbd\x9c\x56\x54\x83\xb0\x9c\x20\xa4\x09\x63\x46\xab\xed\x95\x58\xd5\x19\xdb\xcb\x43\x55\x35\x1b\x18\xa8\x31\x5b\x27\x52\x71\xe8\x9f\x27\x4a\x04\xa3\x97\x50\x68\xd0\xa8\x13\x3f\x3e\x52\xd5\x8d\xef\x5d\xec\x58\x9a\xc3\xd1\xad\x05\x6c\x48\x82\x51\x69\x96\xd8\xc9\x48\xa1\x72\x62\xf2\xfb\xdf\x57\x77\xe1\xeb\xe9\x17\x65\x26\xf2\x6d\xf4\x98\xf9\x91\x47\x31\x6b\xfd\x8d\x5c\xe0\x42\x58\x66\x37\x68\x07\xc1\xd8\x34\x63\xe4\xf2\x3f\xc7\x05\x2f\xac\x7f\x62\xb3\x28\x7e\xb0\x85\xc1\x58\xd3\x6a\xd4\xfd\x1a\x15\x4b\x34\x19\xfc\x8e\x66\x19\xf7\x05\xff\x75\x5a\x14\xb0\x04\x35\x2b\x5b\xab\x80\x34\x08\xbf\xda\x5a\xc1\x89\x68\xdf\x00\x68\x46\x7c\x79\x0e\x4e\x76\x90\x69\x62\x55\x55\xa2\x0e\x1c\x36\xa6\xec\x4e\xb1\x32\x9f\xda\x3c\x4a\xb4\x94\x1e\xd5\xc8\x95\xc2\x76\x30\x59\x85\xb9\x86\x44\x49\x5e\x9e\x4f\x9b\xd6\x44\xd3\x9c\xcb\xe9\xe2\x7e\xcf\x8c\x59\x71\xe8\x17\x7f\x1c\x2d\xbb\xcd\xf0\xd2\x68\x69\xe8\xd6\x75\x1c\xae\xa8\x67\x33\x03\x12\xef\x78\x44\xa2\x45\x6c\x01\x88\xc9\x60\xa6\x2c\x07\xb2\x06\x54\x35\x90\xf2\xf8\x9c\x94\x02\x65\x54\x48\xb8\x8c\x85\x5a\x20\x63\x78\x99\x7d\xd4\x55\x3e\xed\x45\x13\xf3\x3b\x87\x07\x31\x65\x8e\x6c\x12\x7a\x1c\xf0\x6a\x3e\x1e\xc7\xc4\xb3\x2d\xb3\x20\x75\xcf\x0e\x93\xae\x19\x35\x3e\x93\x86\x44\xae\x4c\x54\x06\x50\xab\x89\x60\x0b\xf2\xae\xcd\xd8\x82\x97\x25\x7a\x5c\x22\xda\x02\x66\x18\x34\xa6\x47\x5a\xab\x04\xa1\x07\xbf\xdb\x33\x51\x36\x4f\x0d\x94\xc1\x53\x63\x06\xae\x8b\x40\x9e\xc8\xef\xe9\x92\x91\x87\x27\x64\xf0\xe7\xc9\xe5\xc5\x8f\x83\x84\x9f\xb2\x5b\x25\x47\xdd\x38\x8b\x92\xd0\x92\xdc\x4d\x6a\xb1\x81\x0e\xc7\x18\x46\xc4\x15\xe8\xe7\x21\x92\xcb\x24\x45\x17\x4b\x86\x09\xcc\x79\x29\xad\x79\x00\xea\x4d\x09\x39\xcd\x73\x08\xd1\x6a\xa6\xa1\x73\xf1\x0d\x92\xcf\x0a\x5e\x2e\xa4\x6d\xcd\x67\x53\x0f\xd6\x72\xfa\xc0\x49\xdf\xf1\xc4\x4e\x4e\xc8\xe0\x7f\x68\xc2\x1a\x90\x47\x8f\x60\x98\x21\xf9\x46\xc5\xae\xde\x9c\x7e\x3f\x68\x22\x9e\x94\xc6\xf7\x5f\x59\x1d\x0a\xfe\x00\xc8\x49\xfa\xa6\xcf\x89\xac\xa8\x75\xfe\x59\x55\x1e\xa3\x93\x96\xd8\x9b\x69\xcd\xec\x48\x63\x00\x11\x48\x05\xba\x7e\xe3\xf8\xed\xec\xaf\x70\xf2\x01\x0a\x48\xd8\x4e\x5c\xc8\x1b\xec\x3c\x9d\x3c\xf6\xe6\xed\x8e\x04\xa1\xfa\x5f\xcd\x0c\x61\x07\x07\xe4\x1c\x22\x4d\x3a\xc8\x34\x08\x43\x09\x09\x94\x95\xb9\x23\xcf\x7d\x79\x49\x83\xfb\xa7\xcc\x51\xa3\x38\x49\xf9\x6c\x44\xe5\x82\x3b\xa9\x45\xe1\xa6\x99\x2f\x42\xdf\x30\xbf\xdf\x94\xba\x7d\x40\x56\x27\x79\x33\xb7\x03\xff\xdd\x88\xbb\x64\x77\x6a\x27\x61\x07\x05\x9c\x3e\xc4\xd1\xd6\xe7\x91\x34\x00\x6e\xad\x03\xb8\xe0\x4b\xb1\x01\x16\x6d\xd8\xb8\x24\x2f\xc5\xc6\x05\x2f\xec\xf6\x6c\x8a\x68\x2f\xac\x06\x09\xc3\x8f\xbd\x24\x51\xf0\xd9\x74\x93\x4d\xe5\x6a\x86\x0f\xd8\xb0\x5e\x8f\xc3\x53\x3a\x76\x25\x14\x4a\xc5\xc3\x7a\x3d\x22\x13\x12\x52\x7c\x53\xc6\x88\xa0\xe0\x1d\x01\x77\x08\x1c\x86\x76\x31\xd7\x18\x57\xc6\x46\x4e\x31\xd2\x56\xb3\x29\x39\x33\x1a\xdf\x7d\xc2\x41\x82\x1b\xea\xf0\x18\xc5\x47\xd7\xae\x76\xf4\x18\x7b\xef\x28\x28\xf5\x30\x14\xc3\xd1\x59\x21\x25\x87\x40\x61\xb3\x12\x9d\x83\x8c\x15\x2a\x29\xa0\x87\x40\xea\xe8\xc8\x6c\xf1\x98\x0c\xee\x1a\x3e\x66\x71\x74\x49\x94\x5e\x66\x2d\x6e\x59\x4e\x66\xdb\xa6\xd7\xcb\x77\x6c\x8b\xcb\xb3\xc1\xd8\xda\x1f\xae\xc9\x2d\xdb\x4a\x55\x8b\x5b\x38\x73\x39\x53\x31\x93\xd3\x16\xe0\xf4\xf5\x70\x6d\x42\xd7\xf1\xaf\x9a\x61\x5a\x72\x65\xcd\xe4\xae\xc9\xb1\x3e\xb6\x6f\xaf\x5f\x4c\x9e\xfc\xef\x3d\xfb\x28\xca\x1f\xae\xbf\x73\x23\x89\x85\x3b\x77\x22\xc3\xc8\x28\x51\x14\x17\xa5\xab\xf1\x21\xf6\x57\xdb\x81\xbe\x18\x9c\x34\x8f\xbe\xe8\xa0\xec\x45\x3c\x10\x2c\x7d\x6b\x16\x6d\xca\xca\x4c\xe4\xcc\x0e\x29\x5e\xf3\x57\x74\x55\x66\x37\x4c\x92\x55\x5d\xe0\x65\x05\x91\xdf\x74\xd6\xb5\x94\xba\xdc\xdb\xcb\x57\xfa\x74\x14\x50\xb7\x55\x6b\xd7\x72\x55\xac\x7c\x5b\x47\xb0\x21\xab\xba\xf0\xab\x84\x00\x0a\xd3\xec\xa6\x16\x4b\x88\x00\x89\x7e\x98\x1a\xbf\x85\xe0\xd5\x79\x21\x6a\x72\x86\xa5\xd7\x4f\x09\xad\x2a\x39\x0e\xd3\xa8\xa1\xc7\x29\x97\xe4\xf4\xcd\x4b\x70\x37\x32\x5e\x0b\x44\x0f\xc4\x34\x2e\xf1\xe2\x8d\xbb\x80\x91\x5e\xd3\xd9\xf0\xaf\x83\x55\x5d\x0c\x8e\xf4\xb4\x3f\xb5\xfd\xdf\x21\x0b\x10\xd7\x1c\xaf\x19\xa8\xae\xa6\xa7\x34\x26\x83\x0f\xb3\x82\x96\xb7\xd6\xd4\xb0\xe1\x46\x88\x72\x29\xc8\xdc\x16\x5c\x54\x26\x98\xd2\xf1\xf3\xab\x7a\x9f\xb6\x45\xf7\x73\x65\x8a\xbf\xad\x8b\x2e\x0f\x41\x55\xef\xba\x36\x1e\x04\x0f\x37\xaa\x4c\x4a\xe1\xef\xbf\x31\xe0\x5b\xd0\x32\x27\xec\xae\xd2\xff\x81\x77\xd9\xd8\xf1\xb6\x04\x6c\xd4\xe8\xfd\x87\x36\xd6\x9a\x58\x15\x60\x03\x43\x07\xbc\x30\xb1\x0d\x2f\xee\xee\x14\x85\xad\x58\xb5\x77\xf8\x76\x02\x30\x18\x70\x81\x29\x09\xc3\x4c\x9f\x15\xcd\xd8\xd8\x3c\x1a\x53\xf7\xe4\x87\xc3\x6c\x98\x93\x3c\xbb\xf6\xda\xc5\x6e\x69\x42\xe7\x92\x40\x14\x9b\x35\xc4\xe9\xa5\x47\x2f\x1c\xdb\xa2\x75\x96\xff\x03\x79\x7a\xf8\xbf\x7e\x47\x3e\x7e\xd4\x23\x9f\x4a\x46\xeb\xec\x66\x78\xf0\xee\x27\xf9\xd3\xbb\x9f\xde\x0f\x47\x7f\xfd\xf4\xed\x1f\xbe\x1a\xfc\xf4\xd3\x7f\xfd\xfc\xfe\x60\x04\xc9\xee\x5a\xca\x52\xcf\x47\xbd\xbd\x7c\x49\x38\xf0\x4f\x28\x6f\xb2\xdc\xaa\xab\x80\x74\x9b\x80\x1c\x20\x77\x4a\x0c\x4a\xd5\xad\xfc\xc8\x5c\x82\xb8\x0d\xdd\x6a\xfe\xf2\xb6\x44\x16\x09\xde\x3a\xe3\x89\x27\xb3\x1b\xb6\xa4\x63\x22\x05\xa1\x12\x70\x06\x6f\x94\xaa\xc2\x99\x99\x49\x0c\xfe\xeb\x1d\x9d\xfc\x72\x3a\xf9\xcf\xf7\xe6\xbf\x87\x93\xdf\x3f\x9e\x4e\xde\x7f\x7d\x74\x70\x30\x18\x85\xd8\x77\x41\xdf\x00\x44\xc0\x15\x2b\xb8\x54\x84\x92\x39\xdb\x10\x20\xe0\x4c\x14\x46\x5c\x2f\x68\x76\x4b\xe8\x4a\xdd\x88\x9a\x2b\xce\xa4\x81\xb3\x5c\x39\xfe\xad\x04\x7a\xb3\x7e\xe3\x07\x07\x53\x42\x5e\xf1\x5b\x46\x96\x94\x17\xca\x24\x6e\x75\x1e\xa2\x7a\xb8\x55\xc1\xd5\x70\x70\x34\x18\x93\x27\xa3\x77\x87\xef\x83\x08\x14\x2a\x19\x19\x60\xbd\x81\x47\x19\x75\xbe\x76\xa4\xed\x37\x68\x09\x70\xa0\x17\x45\x4f\x94\x3c\xb6\x2a\xaa\x56\xe5\x38\x0c\xd3\x5c\x73\xa0\xe1\x3b\xd6\x27\xdd\x7b\x18\xe7\x91\x0a\xf2\x52\x6c\x70\xce\xe6\x6f\x03\x79\x87\xd7\x14\xac\x08\x80\xca\xe9\x05\x00\xcb\x16\xac\x90\x81\xf4\x2c\xc9\x1c\x53\x79\x11\xe4\x55\x44\xf9\x5a\x17\x1c\x8e\x52\xe6\xfb\xfd\x1d\x65\x02\xa2\x9d\x61\x78\x11\xc8\x3f\x04\xc3\x78\x27\x42\x97\x59\x3a\x18\x56\xf3\xad\x00\xc3\xdd\x27\xc2\x4c\xd6\x4b\x57\x0e\x0d\xd0\x65\x5e\xec\x4b\xf8\x65\xe6\x12\x5d\x6b\x81\x87\x97\x96\xd6\x44\xc6\xa4\x64\xf9\xb3\xad\xad\xfe\x27\x68\xb8\xfe\x10\x53\x62\xcd\x16\x5c\x6a\x06\x4d\xac\x6a\x33\x08\x1c\x41\x6d\xb1\x3a\x5c\x40\xd0\xd8\x22\x9e\xea\xff\xaa\x20\xd1\x19\x36\x66\xa1\x56\x0d\xf0\x0d\x78\x44\xb3\x7a\x4a\xc8\xeb\x70\x7f\x80\xae\x45\x96\xad\x6a\x12\x47\x60\xf8\x86\xe2\x06\x2c\x5c\x81\x3e\x83\xe0\x5a\xd1\x1e\xd6\x6c\xa5\x30\x46\x43\x5f\x07\x1b\x0a\xeb\x68\x1b\x33\x0b\xa1\x6b\x2c\x89\xda\xf0\xcc\xc8\x11\x07\x07\xc1\x22\x64\x54\xd7\xfc\x8b\x16\xb5\x8c\x89\x94\xcc\x56\x33\x10\x09\xc8\x8c\xd9\xc0\x0c\x84\xb1\xc3\x68\x53\x02\xc2\x17\x46\xcd\x4b\x7d\x41\xd8\xd6\xf4\x38\x58\x26\x6a\xeb\xe2\x8f\xad\x89\xd9\x5f\xf4\x7d\x62\x7c\x50\x11\x9d\x4e\x13\xd6\x56\x8b\x71\x8a\xd1\x3c\x99\x63\x19\xc4\x08\x56\x89\x5a\xc1\x12\x9e\xe3\x0a\x9e\x38\x9b\x3f\x9b\x33\x8a\x9f\x2e\xa1\x94\xfc\xd0\x88\xc7\x59\xab\xe9\xd2\x7f\x76\x31\xe3\x6b\x35\x7d\x7d\xf1\xf6\xea\xfc\xc3\xe5\xf9\x9b\x8b\xcb\xeb\x0f\xcf\x5f\x5e\x9d\x3e\x7b\x75\xfe\x1c\xdf\x8c\x9d\xc4\xa3\xdf\x9b\x7a\xc5\xec\x65\x7c\x51\xa2\x33\x32\xe4\x6f\x3a\x30\x71\x15\x10\xbd\x9c\xdb\x6d\x8a\x8f\x01\x61\xd3\xf0\xc8\x9d\x10\xe7\x0b\x35\x64\xd3\x0c\x2c\x91\xff\x41\x26\x6d\x86\x2f\x11\x83\x32\x22\x07\xbb\x24\xa6\x3d\xbe\x55\xd6\x22\x69\xb2\x58\xfa\x61\x39\xb8\x4d\x37\x32\x3b\xb0\x3f\xef\xee\x70\x7f\x9f\x06\x1f\xf5\x71\x80\x52\xc9\xa6\xfa\x3c\x83\xd0\xec\xcd\xf7\x9a\xb1\x6b\x0d\xe8\x0f\x5d\x70\xab\xee\x34\xbf\xb6\x0d\x34\x53\x0e\xd7\x41\x38\xd8\xbd\xe3\xbb\xc8\xc3\x16\x09\xb6\xb5\x1a\x1e\x01\xc4\x05\xa0\x69\x86\x08\x60\x74\x4b\xa1\x85\xc6\x32\xc7\x68\xa8\xf0\x2a\x30\xb0\x2f\xd8\xd2\x8d\xd0\xaf\x60\x55\x8d\x1d\xfc\xb2\x39\xc9\xde\xc9\xb7\x19\x21\x06\xc2\x8e\xa3\x31\xdb\x90\x1f\x0b\x3a\x55\x89\xca\x02\xfd\xde\x32\x56\xc9\x64\x4b\xa0\x26\x01\xe8\xa1\x39\xd3\x6c\xbc\x3b\xcd\xfa\xc0\x16\x22\xa3\x05\xca\x98\x5e\x0a\x77\x1c\x53\x4c\xd0\x13\xf2\x44\x6f\xe6\xbe\x88\x21\x77\x4c\x13\x94\xd7\xa3\x89\x30\x77\x0b\xe9\x15\x00\x07\xb1\x77\xe6\x29\x6e\x38\xde\xdd\x23\x68\xaf\x77\xa8\x5d\xf0\xe0\x77\x52\x79\xe8\xc4\xc4\xa6\xb4\x50\xdf\xb1\xad\xe6\x0d\xbb\xe9\xcd\x52\xdc\x0f\xd7\x86\x90\xb0\xa4\x71\xed\xce\xb9\xf4\xe9\x53\xf4\x45\x8d\x60\xa3\x70\x49\xb2\x1c\xb6\xd2\xb7\x42\x0b\x35\x71\x43\x31\x24\xe7\x6f\x2b\x7c\x72\x3c\x1e\x0a\x52\x40\x63\xf3\x5d\xfa\xbe\xf6\x2d\x6c\x2f\xc9\xf0\x56\x08\x18\xf4\x73\x04\x27\x1f\x3a\xd7\x9a\x86\xd4\x84\x57\xab\x8b\x5b\x87\x27\x65\xae\x9f\xe8\x4d\xc9\x6a\x79\xc3\x1d\x42\x1c\x8e\xd6\x61\xce\xf5\x18\x17\x78\x95\x47\x03\xeb\x92\x31\x9c\x71\xe7\x5a\x9c\x97\xb9\xf7\x15\xea\x9c\x0d\x34\x1d\xb8\x14\xa5\x9d\x8d\x22\xba\xe8\xde\xea\x06\xd5\xe4\xb3\x02\x7d\x7e\x1d\xea\x41\x26\xaa\xed\x85\x11\xf1\x1a\xe4\xf9\x6b\x44\xaa\x50\x27\xd4\xcb\x18\x47\xbc\xd6\xb1\x31\x66\x3f\xe0\x87\x6c\x0a\x18\x73\x9a\xc0\x1f\x3d\xd2\x85\x32\x55\x17\x86\xdc\xd9\x74\xc9\x14\xfd\x8e\x6d\x47\x11\x99\x3f\x67\x33\xb1\x82\xfc\xe4\xfa\xe6\x42\x2e\xc2\x43\xe1\x9a\xe5\x30\xcf\x2a\x04\xa9\x6e\xc5\xca\x02\x2e\xe6\x62\x35\x2b\x18\x94\x08\x28\xde\x6a\x25\x40\x3e\xe2\x6a\x6c\xf5\x02\x40\xec\x73\x5e\x33\x94\x12\xf1\x2c\xd8\x1e\x1c\x73\x05\x66\x42\xdf\x1a\x08\x30\xb8\xc0\x2c\x6f\x28\xb6\x4d\x5a\x46\x8c\x8d\xe5\xb5\x54\x24\x1c\xac\x95\x37\x76\x44\xbc\x1b\xf1\x20\xde\x92\xd6\xe7\xd8\x85\xc5\xc9\x15\xa1\xd4\x1f\x02\x6d\xee\x79\xba\xc3\xff\x7d\xe3\xdc\x44\x92\x98\xec\x7b\x6f\x34\x2c\x82\x43\x42\xfe\x4b\xf3\x1a\x67\x7a\x11\xd0\xa7\x04\xde\xf7\xd9\x4a\x29\x51\xea\x26\x9e\x92\x83\xaf\x0d\xfa\xa0\xf9\xf1\xeb\x83\x11\xf9\xf8\x31\x18\x72\x58\xdc\xb7\x0b\xad\x3d\x83\x0f\xa1\xe7\x8e\x77\x38\x03\x87\x92\xe1\x28\x74\xd4\xc9\x44\x29\x45\xc1\xa6\x26\xc0\x62\x38\x38\x03\x0f\x63\x40\xc0\x85\xc1\x2d\x69\xb9\xa2\x45\xb1\x25\x39\x86\xa6\x6c\xd8\x8c\xd4\x0c\x53\xae\x6b\x16\x61\x30\x3a\x8e\x31\xd4\x77\x2c\xcb\xaa\x1a\x34\x27\x7b\x98\x3c\xc2\xe1\x8b\xd8\xc4\x2b\x6d\xdc\x4b\xa1\xe9\xb3\xf1\x2e\x7d\xee\xa9\x6d\x8d\x7b\x29\xd6\x6c\x80\xa7\xb3\x35\xa1\x51\x38\xd6\x80\xe3\x7b\x86\xf2\x0a\x3e\x8b\xac\x5c\xd0\x45\x38\x40\x7d\xa4\xb9\xc4\x9f\x03\xe6\x6c\x62\xa5\x1c\xd4\x92\x8b\xd2\x46\xf2\x3b\x36\x69\xda\x76\x71\x4b\xf5\x94\xbc\xdb\x13\xc5\x03\xcf\x3d\x32\x40\xdf\x8d\x68\x39\x0e\x0e\xc8\xf9\x72\x55\x68\xf1\x85\xd6\x9a\x55\xb9\x65\x5b\x2d\x14\x49\xc9\x34\x73\x47\x5d\x92\xa3\x1b\xc6\x8a\x68\x88\x0d\x2d\xee\x8f\xba\xc0\xa9\x6e\xe2\x3b\xb6\x95\x1f\xda\xf7\x60\xbc\x86\x4e\x19\x0b\x89\x18\x10\xea\xd5\x84\x99\x39\x08\x5b\x2e\xdf\x84\xb0\x5a\xc3\x51\x7c\xe0\x82\xbd\x82\xd1\x0d\xc2\x33\x61\x12\x60\x2b\x9a\xb4\xbe\xfb\x11\x3f\xd7\x65\x86\x2c\x70\x49\xd3\x35\x0b\x93\xd4\x1f\xd1\xe2\xe5\x92\xd6\xea\x45\x21\x44\xfd\x9c\xaf\x79\xce\x86\xd1\xdd\x02\x30\xfd\x74\x26\x87\xd0\xdd\x68\xdc\x53\x12\x71\x99\x21\xcc\x58\x29\x0c\x75\xf0\xd3\xdd\x93\xd9\xc5\x80\x3c\x26\xd8\x1c\xf9\x96\x1c\x92\x3f\x92\xc1\xb3\x01\x39\x22\x83\xd3\x41\x30\x4e\xab\xe9\xd6\xbc\xb6\x49\x86\xad\x1b\x99\xd6\xac\x62\x54\x0d\x61\x0a\xa3\xb0\x9b\x6e\x7f\xe0\x4f\xfe\xa9\x46\xbe\xe4\xe0\x6b\xbf\xbd\x89\x37\xfb\xeb\x83\x96\x43\x7a\x9f\x33\xd1\xe3\x22\x35\x82\xcd\x3a\x79\x66\xc0\x7a\x09\x41\x38\xba\xa9\x40\x62\x70\x51\x12\x58\x41\x8f\x37\x6c\x0f\xb8\x7d\x07\xf2\x3b\xed\x7b\x98\x1b\x6c\x5d\xbf\x33\x16\x89\xb5\xdf\x8c\x1a\xb1\xc4\xfb\xda\xb0\x9e\xb0\x5e\x04\x4d\x34\x12\x30\xf4\xc9\x7b\xac\xb1\x9a\x17\x37\x56\x1e\x0a\x1c\x83\xf2\x9a\x2e\x26\xf6\x68\x53\xcf\x4c\x93\xd3\x17\xd7\xe7\x97\x01\xb3\x09\xfc\x72\xd8\x1c\x2f\x0d\x92\x05\x68\x10\x11\x97\x55\x08\x52\x18\x54\xd4\xce\x1b\xaf\xb1\xec\xf7\x65\x43\xfb\x90\xaf\xd7\xb2\x5b\xdd\x5f\xe0\xc9\xbe\xe3\xb9\xba\xf7\xfb\x03\x60\x26\xa0\xf6\x40\x76\x4d\x94\xc4\xb4\xa7\x97\xc7\x2c\x0c\xac\xab\x62\xcb\x4a\xd4\xb4\xe6\xfa\x7d\x0d\x45\x13\x42\x9d\x1e\x2d\x14\x4d\xa6\x84\x5c\x94\xba\xac\xc0\x96\x9d\xc8\xeb\xd9\x2d\xcd\x1e\xa2\x4a\x5f\xc0\x5e\x86\x9a\x28\xd0\x88\xf1\xe5\x92\xe5\x9c\x2a\x56\x6c\xc9\xad\x49\xbd\x0d\x21\xaf\xb2\x29\xd2\xf4\x11\x1c\xa2\xe8\x29\xf4\x1d\x97\x36\x4c\x49\x0b\xdc\x35\x4a\xeb\x5c\x9a\x9c\x97\x5b\x40\xb9\x80\x53\x59\x8a\x0d\xa1\x33\xb1\x52\x91\x1e\x20\x54\xc7\x22\x9f\xeb\x71\xb5\x6d\xb0\x34\x25\xa5\xa8\x97\xb4\x20\xcf\x2f\x5e\x5b\x00\x18\xcf\x53\x9a\x05\xcc\x73\x90\x8e\x69\x01\x29\x22\x02\xa9\x7c\x00\xda\x88\x41\x2c\x67\x0f\x02\xe5\xee\x6f\xa5\x9f\x6d\xaa\x67\x49\xe4\xa8\xa6\x05\xcc\x0d\xea\xa9\xb3\x95\x34\xd0\x8c\xad\xb1\xb8\x80\x61\x03\x27\x81\x21\xc3\x7c\x6e\xff\xb6\x91\xc2\x51\x36\xd0\x9d\x43\x03\xf0\xf7\x33\xe8\x2d\x52\x20\x9b\x06\xbb\xf2\x14\x24\xa0\x31\xc6\x76\x10\x21\x68\x62\x08\xcc\xe1\x8d\xef\x76\xf4\x27\x27\x78\x8b\x86\x06\xf8\x4e\x98\xf7\x07\xe9\xf5\x52\x71\x6e\xc6\x00\x22\x69\xef\xdc\xb1\x5a\xc2\x1c\x68\xee\xe1\xce\xc0\xfa\x1d\xa3\x31\x8e\x84\xc0\x3d\xe7\x81\xc7\x98\x1b\xe1\x4e\xf2\xd2\x14\x8d\x8c\xf7\x7d\x49\x0c\xb8\xff\x94\x09\x20\xe0\x1f\xd0\x85\xd8\xc6\xaa\x0e\x0f\x7e\x2a\x0f\x96\x8b\x31\x19\xfc\x64\xe2\x66\x4c\xb1\xa4\x3d\x5c\x7f\xf3\xce\x13\x91\x92\x70\x56\xd3\xec\x96\x29\x96\xc3\x18\x70\x2f\x43\x8e\xe5\xdd\xd3\xc3\xc3\xff\xa7\xb9\x16\xf8\xf1\xb1\xfb\xf1\xc9\xff\x1b\x44\x56\xf9\x06\xaf\xb2\x73\xc7\x31\x48\xbf\x36\x46\x1f\xcd\xeb\x07\xbe\xf9\xfd\xd7\x1a\x2a\x3a\xab\xcc\xce\x05\x3e\x13\xd5\xb6\xcb\xc4\x82\x5c\xce\x4a\x32\xf3\xfa\xfc\x08\xf6\x6d\x5d\xc3\x3e\x0a\x5d\xef\x53\x53\x68\xed\x92\x5a\xa2\x2c\x11\x87\x89\xdc\x26\xbb\x0e\x04\x22\x83\x36\x9c\xff\xe1\xd1\x77\x08\x05\xe6\xce\xd6\x82\x5f\xce\x6b\x06\xf8\x22\xd6\xc8\xa5\xf7\x1f\x19\x03\x00\xb8\x45\xa5\x29\xe8\x47\xcd\xf5\x8a\xe8\x05\xcd\x94\x43\x9a\xaf\xa0\x8a\xdc\x72\x74\xd9\x83\x56\x66\xac\x10\xe5\x42\x62\x36\x35\x8f\xbe\x0a\xf6\x9e\xaf\x49\x84\xb1\x3a\xb6\x4f\x98\x7e\x2d\x33\x5a\xea\x9b\x9f\xdd\xb1\x6c\xa5\xcf\x55\x04\xbf\x61\x35\xdc\xf0\xb4\x5a\x40\xd0\xaa\x16\x8b\x9a\x2e\x97\x54\xf1\x8c\xa0\x77\x0d\xde\xa9\x7b\x37\xfa\x12\x56\xab\xc3\x49\x00\x95\xad\x67\x26\xd3\x54\x90\x06\xad\xc5\xd7\x6b\x46\x01\x24\x13\xf4\xab\xda\x63\xa0\x20\xbd\x0d\x06\x1f\x3f\x92\xc3\x63\x9f\xc7\xd1\x0e\xa5\x43\x18\xe9\x1e\x96\xc5\xa2\xdd\xad\x0b\xe9\x69\x38\xc1\x41\xb9\x64\x5b\x7e\x8d\xbe\xd5\x32\xfe\xc7\x8f\x7e\xa4\xfa\x87\xd8\xe8\x48\xd7\x82\xe7\x46\xca\x95\x5c\xad\xf0\xc6\x37\x91\xcb\xc0\x33\x18\xd0\x15\x29\x96\x4c\xf1\x25\x0b\x18\x1f\x4b\x6c\xb6\xb9\x05\x53\x9a\xdc\x35\xa7\x9b\xfb\x0b\xc1\x81\x18\x8a\x9a\xe4\xab\xda\x1a\xf6\x79\xc9\x15\xa7\x05\x29\x04\xcd\xc7\xc6\x46\x81\xd6\x3f\xdb\x5c\xce\x68\x61\x15\x6d\x54\x59\x5b\x21\x1e\x1d\x4d\x92\x60\x88\x34\xa3\xe3\x73\xc0\x74\x61\xce\xf5\x21\xbe\x8a\xf4\xc7\x0c\x44\x69\x19\x1a\x3a\x3c\xe4\x95\x26\xba\x31\x70\xe1\x7a\x7c\x9a\x5f\xe3\x6b\x74\xef\x3a\xd4\x7c\xd2\x1a\xad\x28\xc6\xea\xae\x2f\xbd\x43\xb2\xa6\xc5\x8a\xc9\x4e\x6b\x21\x97\xdf\xb3\x8d\xf1\x47\x8b\x36\xe5\x61\x57\x72\xbb\x48\xcb\xe4\xfe\xe7\xf6\x2e\x51\x2f\x94\x57\x71\x3b\x2d\x73\xaa\x6f\x3b\x9b\xe9\x1c\x00\x8c\x72\x9e\x6b\x06\x14\x4f\xe1\x18\x0d\xac\x08\x66\x07\xde\x23\x6c\xcd\xea\x2d\xa6\x1a\xe6\xf2\x81\x95\x26\x0c\x00\x8e\x65\x27\xe0\x7e\xd0\x1d\x7f\x08\x27\x34\x76\x43\x0c\x60\xe8\x1a\x10\x28\xf7\x80\x57\x78\x78\x62\x73\xa5\x6a\x6a\x76\xab\x18\x30\x29\x81\xaf\x5f\x13\xab\xb9\xc9\xee\xdc\x93\x95\xb8\x62\xf5\x9a\x67\x11\xf2\x1f\x22\x0d\x07\xf0\xc5\xbb\x9f\xa9\x00\x83\x34\x8d\xff\xf3\x30\x65\xe2\x8b\x20\x48\x7b\x02\x8a\x76\x59\x0f\xef\x83\xa1\xe6\x49\xae\xc3\x98\xe4\x42\xf8\x20\x8a\x31\xf2\x96\xda\x8b\xf8\x4a\xda\xea\xe2\x06\x94\x72\xe3\xf5\x5d\x6e\x2f\xa2\x05\xbc\x8f\x9e\x38\x1a\x14\x54\x3f\xdb\x66\x05\xfb\xf0\xee\xf0\x7d\x47\xc6\xb4\x5e\x48\xb8\x7f\xff\xf1\x3f\x79\x9f\x00\xca\x30\x20\xcd\xce\xa8\xbc\x0b\xa7\xb9\x5d\x28\x80\x6a\x5e\x6b\xa1\x0b\x0c\x6a\xce\x3e\xdd\x84\x6d\x06\xb7\xbf\xdf\x04\xb8\x39\x3d\xfc\xfb\x63\x37\xbb\xc8\xe2\x1e\xf0\xcd\x8d\xcc\x76\xcd\xaa\xa6\x7c\x12\x12\x3b\xd2\xb6\x82\x67\xfc\x12\xe1\xc4\x38\xb8\xd6\xf8\x0c\x76\x98\x5c\x8d\xdc\x88\x0d\x99\x53\x89\x95\x2b\xba\xc0\x04\x47\xd0\x08\xa8\x25\x1a\x6a\xdb\xd6\x5a\x3e\x69\x2e\xa5\x05\xe3\xf0\xdd\xa2\x50\xec\xff\xec\x9b\xfa\xe6\xca\x2b\x59\x5f\x8b\x35\xb3\xb0\x68\x75\x04\x82\xe1\x9a\xdd\xb7\x7c\xed\x76\xc2\xca\xb1\x0b\xbb\x96\x2f\x09\xd5\xcb\xc8\x66\x51\xba\x39\x49\x30\x6e\x13\xde\xdc\x28\x45\xe0\x3e\xfc\xc9\x0e\x99\xb5\x43\xae\x4c\xa7\x4f\x9b\x8b\xfa\x9c\x66\x37\x3e\xfa\x3a\x30\xe2\x94\xd8\xc3\x30\x42\x2b\xda\xd1\x96\xf1\xb0\x3c\xd1\x3c\xd9\xa7\xe3\x07\x07\x07\xe4\xea\xe2\xed\xe5\xd9\x39\x79\xf1\xf2\xd5\xf9\x11\xba\x8b\x1f\xfc\x45\x1e\xc0\x3f\x3e\xd8\xa9\x7e\xe0\x62\xfa\x17\xa9\x4b\x6b\xc1\x05\x2d\x50\xc3\x6c\x44\x9e\x1e\x3e\x79\x0a\xdb\x0c\x26\x42\xbe\x5a\x92\x8b\x2b\x72\x0a\x7e\x88\x72\x4a\x4e\x8b\x02\xad\x55\x98\x24\xa9\x5e\x6b\x39\xe3\xe0\x80\xbc\x95\x0e\x10\x94\x60\x38\x2b\x4a\x00\x5c\x92\x85\x7e\x3e\x4b\x5c\x67\x4a\x9e\x5d\x3d\x9f\x20\xb4\x65\xc1\x33\x56\x5a\xe7\x2a\xe4\xf8\x75\x4b\x73\xc8\xb1\x62\x78\xfc\x57\x2f\xcf\xce\xbf\xbf\x3a\x27\x73\xae\x2f\x86\x07\x83\x95\xc4\x40\xe3\x4c\x69\x59\x52\x33\xc1\xb5\xca\x59\x35\x1c\xe8\x7f\xa2\xe8\xfa\xf6\xfa\xc5\xef\x20\x24\xd5\x39\xce\x57\x2b\x75\x70\xb1\x52\x00\xa7\x08\x6e\x1e\x34\x03\x89\x12\x46\xe4\x32\xe3\x80\x5c\xb9\x5c\xae\x4a\xbd\xb6\x41\xea\xd1\x66\x4e\xd5\x33\x5b\xa1\xe0\xb7\x8c\xfc\x5c\x52\x29\x6f\x7e\x06\x66\xed\xe7\xac\x16\xfa\xdf\x35\xcb\x18\x07\x06\x0e\x3c\xbc\xa8\x66\x6c\xed\xda\x64\x05\x95\x92\x60\x42\xd4\xca\xe7\x4d\xe2\x35\xa1\xf5\x62\x6d\x7c\xc5\xec\xe1\x86\x3c\x3d\xd6\x7d\xcd\xa6\x3f\x52\x98\x39\xb1\x66\xd4\xb3\xbc\x61\x4a\x04\x18\xb9\x58\x29\xc2\xee\x2a\x21\x0d\xf3\xbb\xc4\x6a\x84\x95\x8a\xff\xff\xd9\xfb\xfb\xf6\x34\x72\x64\x7f\x1c\xfe\x3f\xaf\x42\x99\x73\x7e\x0b\x4c\x30\x06\xfc\x10\x27\x1e\x4f\x16\x63\xec\xe0\xe7\x00\x76\x12\x27\xd9\x9c\xa6\x5b\x40\xc7\x4d\x37\xe9\x6e\x8c\xf1\x4e\xce\x6b\xbf\x2f\x55\x49\x6a\xa9\x5b\x0d\xd8\x99\x39\xbb\xdf\x73\x1f\x5f\x9b\x1d\x1b\xa4\x92\x54\x2a\x49\xa5\x52\xd5\xa7\xc2\x34\x6e\xa6\xec\xa5\x6a\x8d\xc3\xd4\x31\x82\x3d\x18\x8a\xa4\x98\xf8\x28\xd1\x9d\xea\x4b\x98\x3c\x2f\xb9\xd2\x97\xc8\x98\xc6\xa3\x00\xf3\xdb\xe9\xa3\x97\xe8\x79\x71\x20\x79\x25\xc3\x0b\x22\x49\x88\x04\x38\x67\x02\x49\x16\xfd\x72\x21\x95\x17\x8d\x62\xd7\xb7\x62\x25\xcf\x4c\x3b\x0a\x3c\x2b\xd6\xd2\xf6\xc9\xfb\x80\xe4\xcc\x24\x0c\xd8\x2d\x09\x6f\xb4\x49\x60\x54\x9f\xfa\x74\xe0\xc6\xd1\x6b\x46\x68\x8d\x5c\x8a\x52\x16\x19\x53\xa6\xbe\xba\x11\x26\xbc\xb5\xb8\x52\xce\x73\x74\xe8\x1c\x48\x8d\x1f\xa1\x83\xa4\x37\x25\x66\xd1\xf0\xef\x02\x70\xc4\x8e\xa6\x7d\xd9\xcb\x62\x44\x91\x9f\x90\x50\x11\xd9\x38\x09\x26\x09\xff\xc0\x65\x95\xac\xc1\xa4\xb8\x38\xca\xc0\x87\x14\x1a\x11\xa0\x83\x5a\x11\xdf\x88\x21\xab\x06\x37\x24\x32\x1e\xcb\xe9\x85\x9e\x61\x98\xb0\xec\x19\xcc\x04\xbb\x5a\x71\x61\xc1\x23\x44\xe5\x1f\x6f\xb6\xed\x43\xcb\x87\xd3\x98\x69\xed\x49\x4e\x44\x6b\x4e\xc2\x29\x78\x9b\xb1\x8d\x75\x16\x84\xb7\x7c\x9c\x21\xbf\xc5\xcd\xd0\x2a\xec\x7b\x73\x30\xe2\xf6\x3d\x8a\x2d\xb3\xe9\xb4\x3c\xc8\xc9\x6e\x91\x8c\x08\xca\x7c\xfb\x96\x4f\xda\x97\xcd\x64\x06\xd2\x67\x93\x2e\xc2\xc6\x20\xdd\xf6\x85\xba\x25\x0b\x29\x50\xb6\x66\xb9\x15\x92\x3d\x29\x24\xe2\x6a\xc3\x06\xdd\xbe\x10\xce\x9b\x20\xa9\x62\xd6\x49\xfb\xa2\x02\x53\x24\x6f\x2a\x22\x3e\xb2\x7d\x91\xc0\x55\xfc\x1f\xce\xd8\xff\xe1\x8c\xfd\x0f\xe3\x8c\x31\xb9\x5c\x0a\x35\x26\x40\x2e\x32\x70\x63\xfa\x92\xd0\xc2\xd7\x8c\x95\x34\x11\x87\x38\x1d\xcb\x27\x83\xd0\x1a\x4b\x30\x11\x11\x36\xa8\x1c\x4d\xbe\x13\xcc\xca\x64\x12\xb0\x83\xd8\x49\xc2\x3c\x79\xb2\x79\x46\x89\xc7\xf7\x40\xc6\x31\xa6\xaa\xa2\x3f\xca\x8c\x16\x3c\x4f\xc9\xeb\x4d\x79\x1e\xab\x75\x81\x52\xb1\xce\x3d\xaf\xd9\xe6\xc8\x2f\xbb\x15\xb1\x7e\xc0\x7a\xcc\xa5\x1c\x6c\x38\x7c\x43\x12\x59\xe9\xd7\xd1\x62\x8a\xc7\x02\x1b\xc0\xa2\xf8\xae\xde\x88\xca\x18\xaf\xc0\x92\x9a\x8a\xac\x27\x2b\x5d\xc0\xd6\x81\x22\xc6\x7b\x44\x2e\x26\xf8\x4a\xc5\xf9\x24\x3a\x4a\xc8\x79\x10\x13\x77\x3c\x41\x0c\x91\x9c\xb7\x0c\x6d\x7a\x51\x79\x3d\x04\x32\x7a\xc4\x58\x59\x6d\x51\x03\x9a\xf1\xe9\x8c\x1f\xfd\x50\xaf\xa8\xcf\x78\x99\x64\x2a\xeb\xaa\x34\x1c\x2d\x78\x56\x85\x02\xf8\x92\x4d\x09\x53\xce\x64\xe4\x43\x5a\x5d\xe2\xdc\xe0\xc5\x20\x4a\x58\xb2\x93\xb1\xd2\x07\x3e\x0c\xf2\xc8\xb2\x53\x82\x69\x22\x56\x6c\xb6\xe4\xea\x22\x4f\x63\xf1\xc5\x25\xaf\xaf\xb0\x46\xe9\x82\x59\xe0\x69\xcc\x6b\x69\x45\x75\x1e\x00\xd7\x79\x48\x5f\xf6\xb8\x91\xa7\x18\xa8\x4c\xec\x3c\x76\x63\xa1\x49\x71\x77\xd2\x9e\x34\x61\xfe\x2a\x0e\x17\x2b\x8a\x02\xdb\x4d\x5e\x83\xf1\x01\x35\xa3\x93\xb9\x90\xda\x1e\xf4\xd6\x38\x20\x13\xb6\xa1\xd8\x81\x1f\x87\x81\x97\xd9\x40\xd9\xc1\x35\x18\xe0\x11\x9b\x28\x1b\x98\x1c\x15\xb4\x25\x7e\x80\x71\x1d\x43\xd8\xdb\x05\x6d\x71\xd4\x09\xf2\xc9\xc3\xb3\xa4\xc5\x34\x81\x89\x47\xf3\x32\xbf\x68\xd3\xc2\x34\x1b\xb3\x79\xdd\x0d\xd8\x71\x69\x62\x65\x4a\x36\xf1\x29\x2a\x90\xcf\x54\x4d\x6b\xc2\xf4\x11\xe7\x6b\xfa\xfd\x4a\x7e\x81\x06\xbd\xa0\xa2\x5b\xf0\xf9\xa3\x8b\xfc\x88\x93\x55\x0c\xeb\x68\xd9\xe3\x7f\x0b\x22\xfa\xf9\x9e\x92\x1b\x37\xd8\xcd\x0a\x13\x8c\x8c\x7d\x93\xac\x3e\xf6\x97\xf6\x84\x23\x9c\x06\x12\xa1\x28\x44\x09\x1a\x85\x54\x3e\x56\x60\x30\x78\x9b\x98\x2e\x9f\xa9\x0e\xa5\x95\x15\x5d\xb6\xd1\x9c\x0d\x93\x0d\x4f\x77\x6c\x93\x8d\x84\xcd\x96\x3f\x4f\x6a\x20\xea\x5c\xac\xc4\xc5\x68\x91\x3f\x80\xa2\xea\x6b\x39\xdf\x83\x01\x99\xf0\xf8\x00\x70\x58\x5a\x1e\xa3\x0c\x5d\x03\xbb\x43\x4e\x26\xfe\xd4\x96\x20\x34\xf2\xbc\x00\xe4\xf5\x75\x72\xa1\x76\xb5\xf2\x2c\xf1\x93\xf4\x82\x61\xb1\x70\xe5\xa3\x1a\xaf\xaa\xf7\xaf\x09\x0f\x78\x63\x64\x72\xb9\x68\x25\x2b\x72\x61\x44\xf6\x53\x39\x97\x5c\x9a\x54\x6d\x31\x69\x0a\x58\x25\xcc\x6b\x78\x3b\x76\xb2\x29\x3a\x0a\x6c\x58\x6b\xf0\xb5\xeb\x0f\x0b\xf8\x9a\x26\x36\xe2\xd5\x82\xc6\x6f\xe9\x9c\x44\xf4\xfb\x54\xd4\x58\x3c\x27\x2b\xc5\x85\xaf\x30\x2d\x41\x1f\x0c\x10\xa1\xa3\x85\xbc\xe3\xd4\x1c\x77\x2f\xce\x2b\x48\xcf\x1d\xcc\x53\xe1\xdd\x8b\x3b\x27\x3e\x37\x3c\x0c\xc2\xb3\x49\x99\x88\x67\x30\xb1\x8d\x05\xfd\x6f\x0a\x66\x3e\x07\xa0\x08\xfa\xdf\x84\x49\x27\xe8\x7f\x4b\xed\x43\x40\x68\x57\x7e\xa9\xec\x3f\x48\x5b\x7e\x45\xf6\xa0\x80\xb6\x66\xb5\x68\xca\x54\x77\x53\x5d\xcc\x15\x4d\x29\x98\xa0\xf8\xb8\xc2\x03\xe5\xa7\x45\x12\x35\x29\xb3\xd4\xfc\xc1\x94\xbe\x21\xd3\xba\x15\x85\xd0\x89\x47\x95\x95\x8a\xe2\x88\x56\x91\x2e\x9d\x23\x4b\xe6\x2f\x2b\x67\x0a\xc7\xde\x83\xc5\xc5\x02\xb8\x83\x1d\xb9\x82\xfa\xf3\x98\xa6\x80\xf7\x72\xb4\x1e\xd3\x72\xd1\x69\x25\x64\x26\xa1\x9b\xe3\x96\xa0\x0d\x0f\x8c\x40\x57\xbd\xc3\x9d\xa5\x80\x0a\xda\xde\xcf\xdf\xf2\xc4\xa3\x56\x18\xcc\x48\xa1\x81\xa9\xb5\x65\xe3\x22\x12\x8a\x2b\x2c\xc9\x01\xa4\xf8\x6d\x28\x44\x45\xb2\xf6\xa2\x69\x1b\x7c\x34\xe7\xb8\x3d\x86\x1b\xe5\x42\x2f\x93\x2a\xf8\x2f\x62\xa5\xe7\xff\x3b\x32\x13\xdc\x66\xc2\xcf\x7e\x21\x9f\xab\xb5\x6d\x72\x6c\xdd\x59\x5d\x3b\x74\x27\xf1\xd3\xc5\xf1\xd1\x5c\xc3\xd1\xed\xad\x24\xa4\xb5\xed\x3c\xc6\xc2\xf8\xa5\x2c\x17\x75\xf3\xad\x19\x8d\xe3\x12\x1a\x5e\x7d\xf0\x9a\x44\x81\xc6\xce\x21\xa4\xfe\x1a\x96\x78\xfe\x2a\x4c\x01\x71\x5b\x85\x2d\x28\x97\x0b\x19\xb3\xd4\xd0\x7f\x1f\x7f\xb5\x12\xd8\xa2\xff\x5d\xc6\x7e\xc0\x7f\x8e\x54\x43\x7f\x33\xf0\xa3\x38\x9c\xc2\x9b\x3e\xbb\x8d\x6a\xa8\x4d\x7c\xf5\xa9\x8a\x52\x24\x3f\x24\x63\x48\xeb\x00\xa0\xa8\x68\xfb\xc1\x28\x26\xc1\x3a\x12\x4d\xed\x11\xb1\x20\xbc\x9f\xe3\x4f\xaf\x43\x56\x18\x89\x58\x4d\xa0\x3b\x65\xd2\x0f\x3c\x70\xca\x74\xfd\xb8\x4c\xdc\xd8\xf2\x5c\xbb\x8c\x2f\xfa\x65\x32\xf5\x1d\x1a\x32\x11\x44\xe7\x13\x36\xb2\x5b\xca\xcd\x9d\xb2\x5b\x5a\x9f\xc5\x1d\x30\x4a\x5f\xd0\x6c\x31\x54\x62\x71\xbf\x36\x70\xdd\xa2\x61\x62\x43\xe0\x96\x5e\x55\x5f\x4f\x06\x04\x61\x92\x6c\xb9\xd0\x28\x86\x67\x81\x7b\x37\x02\xe3\xaf\x4e\x6c\x80\x7e\x5a\xec\xaa\x67\xc5\x6e\xdf\xf5\xdc\x78\x9e\xcd\xa5\xa4\x88\x98\x58\x5b\x76\x32\x15\xea\x5a\x7b\xdb\x3b\x3b\x3d\xe0\xce\x39\x3f\x12\x37\x9d\x1e\x3c\x57\x02\x2d\xf9\x19\xc7\xa7\x01\x5d\x05\x4c\x1d\xd2\x72\x4d\xe0\xc2\xa8\x75\x34\x75\x07\x55\xc1\xba\xd4\x85\x26\x88\x2b\x4b\x4d\x3a\x7a\x93\x3d\xd9\xf6\xae\x34\x00\x47\x54\x66\x84\xd4\x31\x20\xb8\xd0\xf3\x6b\x37\xe2\x9f\x5b\x11\xa1\x6e\x3c\xa2\xe1\x6b\x0e\xc0\xd8\x69\x7e\x3d\x68\x1d\x36\xae\x4e\x7b\x84\x14\xc1\x6b\x39\xf0\x41\xb0\xb8\x53\x4f\x29\x29\xd7\x39\xda\xc7\xa7\xbf\xa2\x34\x85\xb1\x45\x51\x08\x87\xfd\x22\x09\xcb\x64\x58\x26\xfd\x52\x81\xcd\xc7\x98\xd7\x42\xfb\x25\x7f\xc9\x2f\x66\xd0\x9a\x5c\x40\x07\x83\x23\x08\x7b\x37\xb1\x3c\x1a\xe3\xeb\xd1\x34\x02\xdf\x16\x18\x7f\x22\xd0\x3a\xb8\xad\xd2\xf9\xe4\xf1\x51\x4a\xfb\x82\xb2\x2a\xef\x54\x00\x0d\xcb\x1e\xe1\x55\x17\x9c\x98\xa4\x81\x10\xfa\x16\x33\x06\x63\xb0\x61\xba\x3f\xcf\x24\xba\x44\xa6\x75\x75\x3e\x6c\xcb\x0f\x7c\x70\x2b\x48\x7c\xa4\x52\xe3\x13\xbd\xe5\x3d\xfd\xda\xbc\x38\xbd\xe8\x18\xc6\x96\x53\xee\x59\xe2\x20\xcf\xe6\xee\x50\xa5\x0b\xd3\x54\xdf\xda\x2a\x13\xf1\x7f\xa5\x04\xe2\x9c\x57\xd8\x57\x1b\x80\x0a\xd5\x32\x61\xff\x2b\x29\xfa\x00\xdb\x3d\x54\x77\x7b\x1c\x82\x05\xe7\x6d\xea\x53\xdc\x5b\x32\x1f\xf7\x45\x92\x71\xed\x53\xb9\xf3\x64\xbe\xd1\x36\xa1\x6c\x23\xfc\x6d\xc1\xf0\x79\xe2\xf8\xa0\x7d\x33\xb3\x39\x8c\xae\xfe\xb1\x15\xd9\xae\xcb\xbf\x11\x61\x34\xdc\xd3\xc5\xa3\x07\xe8\x3b\xcc\xd1\x4b\x65\x38\x9f\x17\x84\x97\x5c\x68\x13\x04\x70\xe1\x77\x45\xe3\xa6\x52\x20\xe5\x54\xd5\x1e\x60\xf3\x80\x76\xe5\x0e\x7d\x61\x65\x01\xf6\xca\xdd\xca\x68\x58\x1b\xc0\xd9\x21\xb1\x4a\xc0\x50\x6f\x61\x45\xc6\x0a\x4c\x1c\x6b\xc5\x88\xa0\xed\xb8\x03\xb8\x25\xc7\xf2\x21\x43\xe6\x78\xe5\x11\x0b\x33\xc4\xc3\xe7\x55\xf3\x77\x29\x45\x4b\x40\x68\xeb\x7d\x94\x04\x0e\xb7\x91\x8c\x8b\x7d\x50\x86\x9d\xb1\x8f\x87\x38\x1e\x83\xa4\xe8\x0e\x88\x75\x67\xb9\x1e\xab\x5c\x82\x61\x40\xa7\xc1\x01\x5c\x1d\x68\x44\x63\x11\x33\xcf\xf6\x88\x09\xf5\x1d\xea\x8b\x57\x68\xa2\x34\xce\x0b\x3e\xb2\xcf\x8d\x68\x3f\x14\x09\x16\xb5\xbe\x37\x08\x6e\x4f\xd4\xc3\xc3\xcb\xf2\x63\xe9\xfc\xf8\xcb\x6c\x64\xc5\x02\x3c\x4b\xba\x3c\xe2\xde\x00\xfd\xe4\x8f\xc7\xb8\x7d\xfe\xb2\x52\x97\xb4\xe5\x2b\xfd\x65\x39\x52\xb7\x3f\x1d\x17\x0b\xaa\xea\xd0\x48\x3a\xc5\x95\x3f\x71\xd2\xe2\x7e\x3c\xc7\x59\x97\xba\x0e\xef\x59\x6a\x43\x5f\xa9\x63\xea\xb1\xb0\x47\x0a\xbc\x2a\xdb\x04\x1e\xd9\x19\xfd\x1c\xb2\x92\x5e\x59\x08\xc9\x05\x1e\xd6\xea\xf9\x21\x9f\x59\xc2\x95\x3b\xca\xce\x25\xdc\xae\x0a\x09\xb3\x7a\x9a\x8b\x2d\x07\xb7\x81\x28\x30\x61\x2c\x98\xe1\x22\x60\x67\xb4\x1f\x38\x54\xf7\xb4\x31\x19\xb7\x1f\xaf\x20\xac\x34\x84\x88\xc6\x82\xda\x93\xf4\x00\x93\xe1\xdf\xa1\x74\x82\x71\x04\x42\x03\x4e\xac\xb4\x1a\x84\xb4\xa9\x6f\x3f\x48\x63\x21\x81\xa5\x23\xb2\xbd\xc0\x37\xe0\x4d\x4a\xcc\x51\xd5\x96\xae\x92\x28\x02\xa8\x1b\x6c\xaf\x6c\x6f\x28\xb2\x0a\xb7\x74\x2e\xd6\x96\x30\x54\x85\x77\x9f\x6e\xe9\xfc\x0b\x3f\x03\xe1\x77\x69\x6e\x0a\xef\xd2\x9b\x72\x66\xa3\xae\xd8\x81\x6f\x5b\x3c\xd8\x81\xf3\x21\xbc\x4b\x5b\xbd\xb9\x77\x5b\x82\x29\x0a\xdb\x4f\x56\x8b\x84\xfd\xca\x09\x68\x04\x61\x0a\xdc\xc7\x0d\x5d\xdb\xb0\x35\x02\x17\x11\xc3\x69\xc0\x1f\xa3\xc0\x85\xfb\x57\xd2\x8e\xf1\xd1\x4f\x60\xee\x2a\x94\xd8\xf1\x03\x56\xd2\x32\xbe\x65\xb3\x86\xd8\xae\xc4\xf4\xcf\x95\xe6\x03\x1a\xcf\xb1\xbd\xff\xe9\xba\xd5\x9f\xad\xd3\xfc\xff\x9f\xd6\x61\x16\xc4\xb4\x82\xac\x9e\x42\xe0\x9e\xb9\xba\x28\x34\xf5\x15\x62\x12\x8b\xd4\x22\x4a\xee\xb2\xf9\x4b\x09\x99\x36\xf7\x6d\x20\x1f\xa5\xd4\x9d\x1e\xbb\xc4\xb9\x83\x9c\x3b\x19\x71\x68\x64\x87\x2e\xbb\x3c\xfa\x1c\x6a\x59\x55\x0a\xe4\x76\x25\xdd\x66\x45\x88\xe1\xa3\xc9\x2d\xe5\x90\x1b\x71\xff\x88\xdc\x4c\x28\xc5\x9c\x85\x93\x5d\x0d\x2a\x86\x40\xee\x1a\x5a\x56\xed\x79\x22\xff\x86\xcf\x71\x09\x18\xbe\xe0\xab\xc0\x44\x0a\x16\x82\xe1\x8b\x64\x2d\x18\xbe\xd4\x97\x83\xa9\x41\xbe\x22\xcc\x5f\x49\xb4\xae\xcc\x97\x7c\x5d\x64\x59\x95\xac\x8c\xec\x77\x89\x4a\xce\xa1\x40\xcd\xe7\xa0\x6e\x29\x28\x5a\x88\xd5\x0d\xee\x4c\x12\xe0\xbb\xc4\x83\x73\x79\x2e\x73\xf0\x51\x8b\xed\x91\xf0\x58\x5c\xed\x04\xe0\x4f\xd4\xf0\x8c\x65\x8b\xd6\x27\x1e\x5c\xfd\x12\x24\x71\xf1\x00\x8e\xe1\x98\x42\x36\xcb\x3c\xd2\xcc\xf2\xc1\x49\x08\xfb\x98\x2a\x8b\x25\x2b\x84\x1c\xa0\xa3\x38\xe0\x6e\x06\x03\x32\x0e\xfc\x00\x80\x52\xc9\xcc\x75\x68\x12\xb9\xc3\xe8\xe1\x15\x21\xf0\x89\x4d\x43\xb8\x84\x22\x0e\x76\x44\x8a\xb4\x32\xac\x08\x70\x9d\x8b\x6e\x49\x03\xdc\x9d\x4c\x63\x42\x2d\x7b\x64\x20\x88\x48\xe8\xc0\xc1\x01\x69\x76\xbb\xdc\x53\xb2\x50\x99\xd9\x6b\x6c\x80\x05\xae\x61\x8d\xac\x88\x23\xfc\xf0\xd0\x34\xe5\x05\xa5\xc5\x48\xdf\xc5\x5f\xd9\x04\xe2\x23\xa9\x8b\xbe\xf7\x70\xfa\x49\x13\x81\xb0\xcd\x41\x6b\x62\x7e\x20\xfd\x34\xcc\x89\xe8\x55\x19\xbf\x93\x7d\xa1\xac\x37\x8c\x22\x0f\xa8\x86\xdf\xbf\xfe\x36\xf4\xe6\x93\x11\xb7\x46\xfc\x5e\xc8\x33\xae\x82\xdb\x90\x92\xce\x46\xba\xc1\xc0\x24\xd8\xfc\x53\xe1\x42\xc2\x94\x18\x29\x5a\x15\x6d\x97\x62\xb3\xc8\xe4\xf6\x07\x69\xa8\x53\x1a\x84\x89\x2c\x88\x19\xd5\xc4\x4d\xc8\x9a\x30\x21\xe9\xb2\xb6\x5c\xed\x02\xb9\x6b\x4a\x71\x57\xf6\xaf\xd4\xd0\x52\xcf\x06\x72\xcb\x13\x38\x3c\x7c\x20\xba\xd2\xc9\xe9\xb3\xe6\xd9\xe0\x32\x34\x93\x7c\x39\x6c\xb0\xcb\xf2\x0f\xb1\x42\x05\x99\x31\x27\xe2\x49\xd4\xd9\xa7\x18\x76\x22\xbe\x11\xd3\xba\x47\x3e\x7d\xd1\x73\x9f\x29\x1a\xc6\x73\x93\xea\xc0\xb3\x2c\x65\x93\xff\x25\x15\x75\x82\x8a\x2a\xb2\x94\x60\x4e\x1a\xc0\xe4\x63\x9d\xb4\x72\x65\x15\xe8\x0d\x6c\x43\x57\x29\xb2\xd5\xfa\x5e\x66\xb8\x67\xdf\x16\x52\xe3\x65\x3b\x3d\xaf\xc1\xd8\x24\x94\x1f\x89\x76\x99\xcc\x27\x6c\xfd\x69\xe2\x32\xad\x3f\x7e\x9d\xa2\xde\x57\x63\xad\x38\xd3\xc1\x27\xa6\x58\x80\xaf\x70\x81\x8b\x00\x61\xd6\x3e\x7c\x9c\x32\x97\xc8\x30\x3f\x26\x18\x07\x89\xaf\x9b\x40\xdd\x93\xcd\xc9\xa3\x46\x06\x4f\xe9\x15\x5e\xec\x91\x42\x62\x8b\x2e\x28\xcd\xaa\x0a\x5b\xd2\xac\x0a\xee\xa3\x1e\x54\x8b\xc8\x33\x22\x6b\xbc\x9c\xda\x42\x5a\xf1\xcb\xb4\xa2\xd1\x92\x39\x87\x10\x52\x25\x3d\x6e\xfd\x83\x6c\x5c\x1a\x9e\x7e\x66\xc6\x8b\x6d\x55\xe5\xba\xd4\x22\x13\xa0\x17\xf8\x5c\x55\x23\x15\x24\x0c\x3d\xbd\x3e\x3f\x33\x9f\xeb\x28\xdf\x7a\xa3\xb0\x7b\xf2\x16\xb3\xdf\x7c\x95\x99\x00\x04\x35\xb5\x73\xec\x33\x93\x44\xc8\x54\x83\xca\x76\xa1\xd4\xd2\x52\x88\xa5\xca\x25\x01\xbc\xbc\x2f\x18\x47\xa2\x54\x87\x2f\x30\xb1\x87\xec\xf0\xb7\xc0\xf5\x8b\x05\xc2\x93\x7e\xf1\xed\x8c\x95\xce\xe8\xa4\x02\x04\x44\xb8\xdd\x3b\xc2\x58\xc0\x5f\xb1\xca\xd9\xbd\xbb\x04\x07\x1c\x58\x36\xac\x31\x86\x2f\xc1\xd2\x82\x0f\xdd\x88\xa4\x6c\xfb\x66\x1f\x39\xdf\x81\x08\x0e\x91\xf5\x8a\xd1\x16\x6f\x16\x11\x55\x55\x59\x1b\xac\x15\x7d\x78\x67\xa1\x21\x3b\x18\x45\x2c\x3c\x1e\xc9\xe2\x3d\xd1\x0a\x87\x34\x96\xd6\x0c\xd1\xd8\x21\x3f\xad\x26\xd3\x70\x12\xb0\x7d\x54\x5c\xe7\x51\x61\x29\x27\xc9\xf9\xd0\x52\x14\xb9\x0e\x0d\xa9\xa3\xea\x47\x39\x6e\x12\xc9\x21\x17\xf4\xbf\x81\xf1\x23\xf1\x42\x8f\x29\x7a\x46\x2f\x51\xdc\x25\xcb\x13\x15\x4d\xe5\xac\x64\x6b\xe2\xc6\xcc\xf4\x04\x33\x67\x97\x9e\x8e\x70\xca\xd2\xc8\x7c\x3c\x0a\x2f\x18\x58\x2b\xf3\x09\x0d\x06\xe8\xd6\xb2\x47\x0a\x38\x5c\x80\x5a\x0b\xfa\xdf\x20\xad\x4a\x8f\x43\xf2\x6c\x64\x4f\x4b\xe5\x28\x4d\xce\x43\xbe\xf1\xb2\xea\xfc\x6c\x53\x02\x93\x15\x44\x68\xd0\xbd\x78\x8c\x18\x55\x73\xe4\x80\xe2\xc5\x57\x3e\x2a\xaf\xf0\xf8\x88\x2f\x33\x3c\x32\xc3\x0e\xc6\x63\x70\x86\x71\xf9\x5b\x54\xa2\x09\x54\x94\xbb\xcb\x73\x75\xdb\x11\x83\x12\x9b\xd0\x22\x1d\x5c\xdc\x53\x72\xb4\xf2\xe7\xe6\x3d\x46\xb4\x20\x76\x06\x53\x1b\xaa\xa9\x60\x4f\x3b\xb0\x17\x5d\x9f\x92\xb2\xe9\xb3\x58\xab\xb5\xf8\xfc\x65\x44\x9e\x3f\xcf\x1c\xc0\x86\x76\xd1\x78\x80\x93\x98\x9c\x7c\xd9\x82\xc2\xf8\xa0\xd3\xc5\xb3\x57\x67\x58\xfa\xce\x05\x55\x18\xf9\xbc\x6b\x98\xe9\x1e\x26\x2b\xe9\xa7\x9e\xee\x41\xb6\xc0\xf0\x28\x42\x01\x34\x90\x1d\x31\x1d\x65\xe5\x3d\x4b\x35\x43\x1a\x5e\x97\x54\x9d\x6a\xc1\x9b\x52\x4a\x3f\x5a\x6c\x32\xb8\x9a\x38\x02\xae\x5e\x34\xa4\xbf\xb1\xa9\x6f\x77\x88\xf1\xcd\x2e\x3b\xfc\xbe\x06\x3b\x2c\x95\x70\xfb\x1c\x13\x5d\x18\x4a\x4c\xfa\xbf\x70\xc9\x50\x06\xd6\xd3\x3d\x35\xe4\xe7\x28\x9e\xec\x2a\x30\x8d\xd4\x1d\x4a\xdc\x81\x61\xf3\x4c\x3a\x6a\xf0\x1d\x4b\x9a\x53\x18\xa4\x35\x97\x7e\xb7\x5f\xd6\x5c\xd2\x3d\x3e\xc0\xe5\x96\x67\xc9\xf9\xac\xad\x43\x82\xb0\x0c\x69\x8c\xaf\x25\x90\xcb\xa9\xe8\xaa\xf8\xb7\x2e\xf9\x8d\xec\xa4\xb1\x8f\x13\x6b\x95\xab\x84\xb7\x79\xc1\x0c\xb6\x77\x6f\x20\x9e\x71\x1a\xe7\xdd\x36\xa9\x6d\x97\x89\xe5\x38\x64\xa7\xa2\xa1\x99\x12\x97\xbc\x20\x3b\x69\xd8\xc7\xf6\x20\x31\x80\x4a\xc2\xb5\x6d\xdd\x36\x56\x16\x8f\x69\x60\x31\x09\xe9\xf7\x29\x3b\xe5\x79\xb0\xa2\xa0\xc4\x0f\x03\x7c\x70\xa3\x23\xeb\xce\x0d\x42\xd6\xaf\xa1\x1f\x8c\xe9\x9a\xe2\x98\xa4\xf4\x48\xd3\x6f\xf3\xcc\xa6\xe9\xcf\xc5\x35\x26\xcf\x74\x9a\xfe\x5c\x94\x37\xad\x31\xb3\x75\x54\x29\xbd\xbf\xc2\xfb\x70\x72\x49\x40\xd9\x11\xb3\x97\x37\x20\x53\x07\x49\xee\x70\x4c\xc3\xd7\x53\x18\xb8\xfe\x88\x86\xae\xb0\x69\xf2\x03\xaa\x10\x09\xf7\x04\x7f\x3e\x0e\x42\x9e\x00\x21\x97\x07\x99\xe1\xee\xaa\xe5\xb3\x5c\xc8\x10\xca\xea\xc6\x86\xc7\x41\xfd\xa0\x48\x84\x3e\xc3\xa9\xe7\x8b\x2d\x78\x0b\xcb\x77\x8e\xf6\x93\xf5\x63\x98\x83\xd4\xea\x4b\x97\x30\x41\x56\xeb\x16\xb7\x05\xf3\x6b\x9e\xda\xc7\x71\x5d\x24\xdc\xe9\x52\xdc\x80\xd6\xd3\xbb\x56\x44\xa6\xbe\x47\xa3\x88\x58\x5e\x48\x2d\x67\x4e\x34\xdf\x91\x70\xd8\x2f\xca\x97\xbf\x41\x10\x8e\x2b\xcf\x56\x60\xb2\xc2\xb4\xec\x5b\x43\x31\x5b\xd7\x60\x62\x2d\x91\x37\x79\x30\x14\x59\x06\xbc\xce\xda\xc4\x3f\xa5\x1b\xf9\x52\xca\x0a\x95\xb0\xcd\xa6\xad\xa0\x25\x25\xf7\x14\x10\xed\x05\x67\xd6\x2d\x3d\xe4\x17\xfa\x62\xc6\xbe\xb1\x67\x34\x47\xe4\x0f\x21\x51\x47\x72\x07\x93\x50\x2f\xed\xe6\x70\x52\x31\xfa\x8f\xdd\xfb\x62\xba\xa7\xe5\x94\x87\x48\x99\x54\x2b\x1b\x1b\x1b\x1b\x3a\x23\x32\x3b\xc5\xa2\x89\xd4\x1e\x83\x8a\xd9\xba\x4f\x9a\x48\x65\x3f\x30\x4d\x64\xba\x11\x13\xb0\x48\x0c\x80\x5d\xdc\xc6\x2b\xde\xb9\x63\xe5\x45\x23\x75\x79\x8c\xc4\xed\x31\xc2\xeb\x63\xc4\x2d\xbc\x89\xf9\xaf\x94\x84\x57\x26\x57\x9d\xff\xe1\x4b\x5b\x8d\x34\x7c\xe3\xa5\x6d\x41\x9d\x3a\x69\xf8\xa8\x4a\x3d\xfa\xb6\x97\x38\xc2\xe5\x8d\x3d\x47\x61\x49\x2a\x9e\x81\xa5\x54\xbf\xb8\xd5\xca\xd0\x2f\xd3\xfd\xad\xa6\x5e\xe0\xb4\xbb\xda\xe2\x76\xda\xf2\x12\x07\x94\xe5\xb9\xc9\x48\x26\x17\xc0\xe7\x70\x19\xa8\xcb\x0f\xb4\x06\xb8\x09\xc6\x58\x31\x7b\x73\x14\x16\x3c\x79\x5b\xac\xe1\x75\xb1\xa6\xdb\x42\xe1\x8f\x3a\xe1\xed\x26\x57\x49\x71\xb7\xc3\xaa\xc2\xd8\xc9\xaf\x47\x75\xd3\x5d\x8a\x97\xcc\x58\x31\x65\x9d\x85\x77\x2a\x5e\x5b\xb5\x58\xca\x8a\x79\xb7\x28\xa5\x0e\x37\x44\x6a\x55\x0c\x17\x24\x5e\x23\x6d\x51\x93\xd5\x52\x66\xb8\xdd\xfc\x15\xab\x2c\x56\x11\xc6\xae\x3f\x0c\xc9\x67\x87\xc8\xfc\xfe\xf8\xaf\x5e\x90\x0b\xd7\x15\xaf\xa0\x3c\x28\xad\xb2\x96\xda\xa6\x67\x4e\x69\x07\x11\x82\x69\x36\x85\x18\x6d\x21\x8b\xf9\x3f\x4c\x9e\xb1\xe5\x7b\x10\x7a\x04\x81\x85\x33\x22\x8a\xc9\xcf\xe4\x6f\xc3\xdf\x0d\x7e\xe0\x43\x1a\xbb\x27\xc1\xbb\x0a\xc5\x8f\xd5\x16\x24\x69\x85\xa2\xb8\x2f\xb1\x4b\x83\xce\x51\x19\xc1\xd3\x33\x74\x0e\x7d\xe4\x4c\xdd\xcb\xe1\xae\xcc\xb9\xab\x32\xd5\x97\xf6\x5d\x00\x3a\x03\x61\x90\x46\x14\xe9\xd3\xa2\xa7\xc6\x15\x89\x6f\xa1\xb0\xfe\xc8\x92\x02\xed\x12\x41\xd3\xa9\x82\xdc\x4c\x9a\x4e\x54\x99\x3b\x2f\x98\x8c\x37\x77\x46\x08\x0f\x39\xb0\xc2\x18\xbd\x76\xf1\xbd\xd2\x11\xf5\x90\x65\x16\x62\x6f\x4c\xa6\x88\x32\x9b\x79\xfc\x7b\xfa\xa4\x26\xdd\x5b\x38\xab\x9c\xb6\x9c\x54\xec\xb0\xec\x3a\x26\x92\x87\xac\xc9\x86\xde\x65\xab\xe3\xa8\x7a\x52\xa8\xe2\x80\xd8\x18\xb9\x6b\xae\x6f\x14\x2a\x7a\x1f\x83\x19\xcf\x51\x07\xf1\x14\xc1\xea\x62\xf5\x94\x64\xf1\xcc\xc9\x65\xa2\xe4\xda\x5a\x5d\xce\x80\x64\x46\xca\x52\x34\x57\x96\x39\x4e\x2e\x5b\x79\x75\x09\x04\xa4\x1b\x34\xe5\x2c\x12\x45\x34\xba\x4b\x69\x64\x85\x29\x84\x68\xb0\x3f\xfe\xb7\x89\x21\xe5\x96\x21\x1e\x81\xbc\xa8\xea\x4a\x12\x88\x44\x7e\x46\x08\x53\x81\xca\x9a\x1c\x52\x61\x2b\x7c\xa4\x14\xba\xfe\x30\x5f\x10\x29\xbf\xa6\x3c\x42\x0c\x19\xbd\x74\xed\x85\x47\x14\x64\x1e\x55\x4e\x72\x1f\x43\x58\x62\x77\x38\x0d\xa6\x11\x09\xa7\x3e\x9c\xfb\xe8\x85\xb0\x06\x4c\xd7\x7c\x11\x10\x13\x4a\x14\x43\xff\x87\x35\x09\xf2\xcb\xcb\x2c\x08\xec\x4a\x45\x75\x41\x77\xf4\x59\x6d\x84\xa1\x35\x07\xa7\x02\x8b\xfd\x46\xf0\x68\x86\xfb\x06\x46\x2c\xf1\x60\x03\xc9\x00\xec\x70\x1c\x96\x11\xf2\x48\x48\x2a\xb8\x77\x24\xb2\xe0\x8a\x98\x10\xf0\xcf\x5d\x38\x60\x65\x24\x82\x18\xbc\x47\x98\x47\x5b\x21\xa0\x39\x19\xfb\xa8\xd7\x11\xc4\x14\xc7\x0e\x37\x8e\xc4\x93\x47\x92\x8a\x12\x5c\xc3\x41\x37\x0a\xa7\x74\x01\x79\xd9\x39\xdf\x9b\x93\x46\xb7\xd9\x6e\x0b\xff\x0d\x24\x9c\x3c\x62\xe4\xd1\xce\x5f\x06\x30\x31\xef\x5d\x87\xb2\xce\x1a\xa3\xf6\x53\xee\xae\x9f\xbe\x24\x56\x40\xf0\x18\xac\x96\x89\x8a\x86\x87\xdf\x65\xfd\x00\x55\x37\x58\x17\x8a\x12\x97\xfc\x46\x92\x74\xc5\xbb\x9a\x21\x81\xec\xc1\x57\x76\xe0\xd0\xcb\xc0\xf5\xe3\x46\x5c\x74\xf9\xdd\x1e\x28\xf8\x76\x48\xb9\x93\x71\xd1\x06\xc8\xe3\xfb\xc1\x60\x30\x28\x91\x37\xa4\x46\x5e\x93\xfa\xae\xb4\x70\xd9\xe4\x37\x52\xab\x2b\x86\x5d\xde\xdb\x17\x7b\x09\x95\x4c\xa6\x3e\xbe\x98\x19\x53\x50\x77\xb1\x4b\xac\x91\xda\x0a\x54\x08\x31\xbe\x5e\x67\x72\xce\x41\x33\xf8\xfc\xab\x24\x0c\x09\xef\xf0\x7d\xfa\x9f\xda\xdd\x21\x7c\x8d\x29\x9c\xf1\x48\x62\x8c\x17\x4c\xd7\xc0\xa5\x65\xc3\xaf\x93\x5f\x93\xef\x7f\x28\xc9\x3c\x4c\xd1\x21\x44\xa6\xf2\x30\x75\x23\xdd\x09\xb7\x9c\x0c\x5c\xe9\x04\x0a\xf9\x6b\x8c\x9a\xc8\x36\xf7\x9a\x87\x89\x3c\x4b\x77\x89\x0b\x93\x4b\x5e\x64\xf9\xa9\x8b\x97\xe8\xa4\x9b\xe1\xbd\x34\xd3\xe8\x6c\x4d\x8f\x65\x25\x76\xe6\xb3\xf2\x47\x62\x12\xd2\xfd\xad\x97\xc4\x86\xde\xc5\xff\x3b\xc3\x41\xcb\x04\xfe\x1a\x88\x5f\xae\x7a\x87\x3b\xec\x26\xeb\xd0\xb0\xa0\x0a\x67\x01\xf7\x9f\xeb\x5e\xa5\x29\xf6\xc5\x33\x6b\xb2\x28\x9a\x14\xb3\x2c\x12\x1a\xd9\xd6\x84\x4a\xb0\x0b\x22\x03\xb7\xd1\x53\x4d\xc4\x47\x28\x1f\x13\xb6\x0b\xc2\x6b\x5b\xa0\x21\x82\xf0\xcb\xa5\x6d\x4d\x00\x8a\x0a\x80\x50\xc2\x41\xc0\xbe\x1d\xca\xec\xca\xbf\x22\xee\x2b\x92\x70\x03\x3f\x2a\x93\x89\xe5\x62\x9c\x5f\x72\x60\x94\x09\x8d\xed\x94\x13\x44\xd2\x3e\xff\x13\x93\xf5\x01\x98\x8b\x08\xe8\xf4\x38\xcc\xe5\x3d\xeb\x54\x99\xc4\x23\x78\xf8\x74\x41\xef\xc2\xa7\x9e\x08\x50\xd8\x93\x94\x93\x21\x25\x34\x0a\x62\x1a\xba\x76\x9a\x15\x51\x02\x90\x89\xa8\x41\xf2\x0b\x50\x1b\x85\xbb\x1a\x2a\x8e\x28\x8e\x4e\x60\xaf\xf3\xd2\x5d\x49\x65\xec\x2c\x81\xfa\x4b\x58\x28\xd1\x03\x45\xb4\xa8\x08\x4d\x4d\xcd\x8a\x38\x6e\xae\x7b\xf9\x80\x80\x30\xed\x44\x84\xb7\x70\x00\xb9\xf4\x64\x19\x91\x9a\xee\xdc\x30\x9e\x82\x2f\xa3\xf2\xb6\xf5\xeb\x7a\x3a\xc8\x3f\x8d\x31\x28\x8b\x27\xf9\x62\xa0\x7c\x82\x5f\x81\x69\xbe\x95\x54\x10\xf2\x01\x58\x4d\xec\xcc\xab\x19\x93\x3a\x0b\x77\x88\x4b\x2b\x84\xc5\x63\xc5\x94\x40\x5a\x29\x80\x02\x4c\x5e\x10\xad\x28\xc6\x94\xc7\x3a\x22\xa0\xc8\x2d\x0f\x5f\x31\xad\x8e\x0a\xa0\x76\x0e\x73\x35\xb1\xa2\x48\xa4\x3d\x99\x07\xd3\x10\x4b\x92\x30\x98\xc6\x10\xe7\x1c\x5a\xa0\xfc\x40\x58\x5c\x48\x01\x3c\x0f\x29\x40\x97\x13\xb2\x5f\xa5\xe7\x4d\x02\xa9\xa8\x7c\xa9\xc6\xb5\x5c\xf7\x2a\x97\xf2\xab\x62\x52\xf4\xca\xbf\xf5\x83\x99\xff\x55\x62\xd3\x37\xfc\x39\xf9\xc5\xc3\x46\xc9\x38\x70\x20\xf2\x29\xfa\x45\x2e\xe6\x94\xf8\x96\x65\x90\x77\xe1\x0d\xdb\x3d\x48\x01\x83\xa4\x47\x7c\xcc\x68\x9a\x95\x74\x88\xc0\x04\xe2\x11\x34\xd8\x89\x66\xb7\xfd\x55\x8e\x80\xb7\x7d\xc6\xab\x7c\xe5\xae\x7a\x4a\xef\xe2\xd0\x72\x3d\xbd\x7b\x15\x42\xba\xd6\x98\xaa\x89\x02\x28\x93\x3b\x62\x91\xf4\x58\xca\x48\x89\xde\xdb\x74\x12\x0b\xef\xa6\x90\xf2\x4d\x14\x73\x0a\xc2\x4d\x64\x3a\x86\xf5\x6a\x85\x43\x58\x81\x49\x74\xac\x68\xdf\xdc\xc5\xf7\x23\x8a\xe6\xe8\x10\x9e\x85\x11\x17\x6c\x22\x42\x67\x38\xfb\x6c\xf0\xb8\x65\x3c\x15\x91\x85\x19\x6c\x17\xee\xdc\xe2\x79\xc1\x0c\xb3\x2f\x81\x12\x83\x68\x72\x6a\x7a\xa9\x04\x77\x33\x05\xc2\x88\xa9\xa4\x67\x2e\x64\x6c\x93\x90\x8c\x72\x1e\x31\xdf\x88\xe5\x93\x8b\x6e\x53\x45\x21\xe2\xcb\x29\xb2\x7b\xee\x98\x9e\xba\x63\x17\xa2\xbb\xea\xd5\x6a\xb5\x2a\x1a\xe3\x47\x03\xba\x0a\xbb\xa8\x3e\x23\xa8\x88\x03\xdf\x48\xaf\x06\x1e\xd1\x12\x0f\xc4\x69\x22\x84\x32\x75\xc8\x70\xdf\x24\xb9\x99\x08\x1e\x02\x8c\x9d\x98\x27\xb2\xb3\xd6\x77\x63\x89\xae\xa6\x5d\x61\x08\xe1\x35\x1b\x7e\x5e\x31\x84\x53\x57\x76\x3b\xb0\x09\x8f\x08\x2b\x1c\x51\x7e\x8d\xc7\x94\xd8\xbf\x8a\x2c\x0c\xb3\x20\xbc\x65\xe7\xcf\x4b\x20\x29\xa6\x28\xc2\x9c\x2b\x74\x0e\x00\xd9\xf8\x74\x30\x0b\x10\xa5\x85\x7e\x9f\xba\x77\x96\x27\x53\x3c\xfe\x4a\xce\x82\x28\x86\x4c\xdd\x11\x89\x62\xd7\xf3\xf0\x0a\x20\xf6\x88\x78\x16\xac\x41\x45\x1e\xec\xaa\x0d\xe6\xbd\x8c\xc3\x4d\x8d\x09\xa4\xa7\x3f\x97\x11\x94\x44\x86\xe3\xaa\x20\xc1\x90\x32\x04\x29\xb9\x51\x34\xe5\xb0\xb5\xe4\x17\xcb\xb6\x5d\x87\xfa\xb1\xe5\xfd\x42\xa6\x00\xfe\xc9\x13\xcf\xf0\x2b\x8b\x70\xbc\xef\x4b\xdf\x0f\x04\xdd\x12\xdb\xbc\x24\xc0\xaa\x23\xce\xa4\xeb\xdf\x05\xde\x1d\x44\xac\xc7\x05\x30\x99\xb8\xbe\x15\xce\x05\x38\x99\xba\xb1\xe3\xc3\xf6\xce\xbe\x1b\x8b\x13\x4f\x13\x65\x93\x08\xb0\x35\x00\xdc\x62\xa2\xba\x55\x4f\xd4\x08\x15\xdd\x19\xcc\x21\x10\x4f\x40\x6c\x99\x0f\xc8\xd4\xb4\xcc\x16\x84\xb0\x30\x6a\x76\x7e\xd1\x78\x47\x59\xb1\x6c\xea\x0a\xe0\xe5\x27\x80\x6a\xec\x04\xd1\x51\x4b\x3e\xc1\xa4\x7e\x1a\x91\x69\xc4\xb3\xa1\x23\x8c\xc4\x41\xab\x49\x2e\x43\x80\x62\x44\xd8\xff\x5a\xdd\xd8\xad\x03\x6a\xd7\xea\x66\x5e\xa0\xcd\x64\x02\xe0\x67\x44\x20\x8e\x09\x43\x01\x5b\xd0\x10\xb7\xc0\xb1\xa5\x94\x8c\x2e\xac\xeb\xa9\xb6\xe4\x72\x68\x09\x32\x7b\xa4\x30\x8d\x07\x6b\x3b\x05\xbd\xcd\x33\xeb\x5e\x28\xed\xb8\x4d\x4c\xfd\x44\x18\xc8\x41\xb3\x5b\x66\xb3\x51\x26\x97\x67\x6c\xa7\x6b\x5c\x26\x7b\x88\x40\x7d\x9d\x51\x78\xda\x40\x72\xd3\x09\x18\x23\x94\xb0\x72\x1b\xdf\x20\xa4\xb0\x23\xf8\x01\x5b\x51\x6c\x6b\xe2\x11\x16\xfc\x36\xcb\x8f\x76\xa6\x54\x16\xbb\xbd\x32\x29\x7c\xbe\x7f\x65\x17\xca\xa4\xd5\x6d\x92\xc2\xe7\xcf\x85\x12\x3c\x67\x32\x2a\xc5\xfd\xd6\x29\x7c\x5f\x7d\x59\x28\xa9\xb7\xf7\x11\xe5\x89\x72\xc8\x2f\xdc\xca\x20\xfa\xfb\x0b\x19\x07\xbe\x2b\xd2\x2b\x26\xac\x1a\x5b\xf7\xd8\xbc\x50\xb2\xc8\x1e\xa9\x55\xeb\x9b\x3a\x9f\x64\x74\x39\x1d\x43\xbe\x42\xc8\xa3\xc2\x91\xab\x67\x08\x1f\x07\x9c\xe3\xa6\x0c\x7d\x4b\x0a\x42\x7e\x20\x20\xad\x44\xae\xd9\x32\x94\xc9\x08\x43\x6a\x07\x43\xdf\x7d\x00\x57\x4b\x7a\x3f\xf1\x5c\xdb\x8d\xd9\xa2\x03\x66\xa6\x7a\xcd\x7a\x70\xe5\x2b\x98\xa8\x46\x01\x07\xcb\x0e\x8f\x1f\x12\xf1\xef\x4a\xbf\xc6\xd6\x24\x02\xf0\x0d\xb8\x81\x1c\x55\x2b\x95\xca\xd1\x06\xa4\xa5\x9a\x95\xf2\x04\xea\x8c\xd5\x49\xa9\x1c\xea\x2d\x21\x4a\x6f\xf2\x3d\x25\x5e\x50\x34\xa1\x77\xa1\x22\xb7\x41\x25\xa1\x0f\x9b\xc2\xab\xee\x3a\xda\x50\xc6\xd6\x04\x53\xe2\x20\x82\xb6\x15\x89\x0c\x5c\xee\xd0\xe7\xdb\x1d\x68\x20\x7c\x39\x8a\x0d\x1c\xa1\x64\xdc\x38\xc1\x03\x1f\x59\x72\xd7\x94\xbb\xa3\x37\x27\xd1\xcc\x85\x50\x18\x6c\x76\x18\x5a\x93\x91\x6b\x47\x48\x4d\xeb\x2b\x29\x36\xe3\xd0\x5b\x3b\x2f\x55\x08\x28\x29\x3c\xb1\x16\x9f\x49\xcb\x47\x70\x63\xb1\xeb\x0b\x42\xac\x26\x12\x83\x38\x2d\xb1\x9b\x62\x8a\x49\x00\x41\xf5\xe7\x33\x6b\xae\xa4\x79\x0a\x29\xb8\x9b\x91\xe1\xd4\x0a\x2d\x3f\xa6\x94\xcc\x20\xc4\x1e\x74\x54\xcb\x9f\x23\x35\x71\xf1\x60\x53\x62\xe1\xe3\x80\x05\xc4\x00\x3c\xdf\xb5\xa7\x9e\x15\x0a\xb8\x6c\x75\x32\x8f\xaa\x42\x2f\x3e\xaa\xc9\xdf\xea\xf2\xb7\x0d\xb2\xc7\x2f\x83\xd9\xa9\xaf\x0c\x69\x7c\x66\x4d\x8a\x85\xfd\x82\x61\x9e\xf1\x00\x15\x31\x77\x9a\x96\xa6\xef\x01\x78\x8a\x59\xac\xeb\x13\xb6\x48\x39\x1c\x58\x1f\x94\x33\x81\x61\x29\xee\x19\x10\x45\xc5\x9f\x82\x8e\x4e\x19\x31\x3e\x33\x68\x73\x43\x6f\xba\x57\x9b\x70\x32\x73\xcf\xbf\xea\x7d\xbd\x06\x69\xa1\xee\x5f\xa6\x77\x9f\x44\x18\x81\x14\xeb\x47\x61\xbf\x50\x26\x57\x5d\x34\xd8\xa5\x79\x75\xca\xb6\xce\xa3\x6a\x21\x3b\xda\x9d\xbf\x7e\xb4\x9d\x15\x47\x6b\xf1\xd1\x0e\x32\x53\xdd\xc9\xed\xbe\x70\x58\x95\x27\x4d\x3a\x67\x9d\xae\xa2\x80\x3e\xc3\x81\xf2\x49\xab\x79\xd6\x58\xdb\xd8\x82\xf5\x05\x2a\x21\x24\xa8\x1b\x06\x62\x43\xe7\x0f\xc6\x84\x49\xb2\xa2\x52\xc8\xa6\x38\x62\x13\xe4\xbb\x65\x4a\x48\x90\xde\x6e\xa0\x58\x17\xce\xf9\xab\x78\xb0\xf3\x35\x13\xbe\xac\x96\x38\x05\x32\x19\x65\xb9\xa9\xe0\x40\x85\x74\x08\xab\x81\xde\x43\xc6\x6e\x80\x2a\x51\x23\xe0\xe0\x7a\xc4\x14\x47\x54\xd3\xd4\x3d\x3c\xaa\x3c\x4b\x12\x9d\x09\x28\x14\xd7\x27\xda\xc5\x8a\x51\xfb\x3e\x75\xed\x5b\xc6\x24\xc8\x86\x26\x4c\xea\x49\xdc\xde\x7d\x8c\x84\x32\x07\x84\x54\xa1\x6d\xbb\x76\xc9\x34\x90\xd0\xff\x9a\x86\x75\x99\x82\x53\xb2\x38\xce\xf1\xea\x57\x94\xd7\xb9\xae\x75\x07\x18\x7f\x6c\x7b\x10\xfd\x3b\x68\x35\xbb\x4d\xec\xbb\x3e\x00\x8b\x67\x86\x8e\x03\x82\x20\xbb\x16\x22\x2e\x5c\xf7\x90\x42\x99\x6d\x49\x6e\x44\x7e\xf5\x83\x18\x95\x1b\x0e\xd3\xa7\xeb\xfb\x11\x6b\xd3\x7c\x07\xc5\xb4\x4b\xc9\x25\x54\x77\x92\x38\x0f\x32\x59\x6e\x13\x1b\x84\xe2\x26\x6c\xbc\xb4\xa3\x6d\x51\x90\x62\x63\x6c\xf5\xb8\xc2\x55\xad\x56\x85\x71\x84\xdf\xfe\x93\xc4\xcc\xeb\xd3\x09\x6f\x0e\x04\x79\xb5\x36\x9b\xa7\xed\xe6\x09\x53\x07\x72\x1b\xac\x2f\x6c\x10\x70\xae\x83\x3b\xb4\x7e\x23\xf0\xa9\x45\x78\xbe\x7f\x40\x6f\x98\xf9\x2b\x0e\xbe\xd3\x38\x22\xe0\xeb\x20\xe1\xfe\xe4\x2d\x9f\x28\x70\x62\x9a\x95\x4b\x38\x74\x84\x96\x7d\x1b\xe9\xa0\x12\x6a\x8a\x4a\x61\xd9\x68\xc7\x10\x04\x33\x70\xa9\xe7\x44\x42\x6a\xd5\x40\xe4\xfe\x74\x30\x60\x2a\x96\xc0\x94\x17\x96\x48\xf1\x39\x1b\xad\x24\x28\x0d\x49\x69\x73\x95\xf8\xfc\x87\xf4\x77\x9c\xfa\xb6\xb6\x2f\x43\xfd\x50\x23\x60\x0c\x99\xed\x4f\x07\x49\xa8\x6c\xf2\x7e\x85\x9e\xea\xda\x78\xb1\x87\x29\x56\x2b\x1c\x54\xd1\x4f\x92\x4e\xb1\xbf\xcb\xa2\x25\x43\x18\x82\x70\x54\xdf\x23\xa9\x4f\x12\xe4\x87\xe9\x80\x07\x96\xb1\xdf\xfe\xf8\x43\x5f\xd1\x93\x20\x12\x86\x72\xf4\x81\x64\x8c\xc8\x27\x66\x85\x43\x11\x8d\x6a\x04\x6a\x48\xb1\xad\xac\xcd\x8b\x98\xb3\x5c\x1e\x2c\x42\xed\xc8\xb2\x00\x8a\x40\xe5\x43\xe9\xbd\xaf\x03\x50\xed\x4f\x07\x45\x65\xe0\x85\x42\xea\xfb\x86\x30\xb7\x64\xb2\x07\xe7\x8c\xc7\xb4\x6c\xf3\xbb\xaf\xf5\x2d\x0f\x81\x04\xf9\x6d\x9a\xd3\x9c\x2e\x21\x47\x35\x86\xca\x6e\x99\xa4\x54\x93\x50\xb6\x41\x22\xbc\x1b\xe0\x4f\x4d\x07\x65\x31\xd5\xa0\x33\x32\xd1\x58\x79\x78\xfb\x20\x58\x0b\x26\x08\x25\x4f\xba\x24\xf2\x89\x50\xbd\x12\xc9\x1b\xf9\xf1\xeb\x1c\xb9\x34\xf2\x40\xda\xc9\x88\xe7\x46\xf1\xc2\xe1\x33\xfa\x56\x38\xfc\xfa\x40\xc3\x20\xe1\x83\x48\x34\x9a\xf0\x82\x49\xf6\xa7\xea\x97\x95\x47\x2f\x65\x27\xcd\x03\xd1\x98\xc2\x08\x46\xbb\xa2\xbf\x4a\xa9\xbe\x9a\x6a\x0f\x9f\xb3\x2b\xb2\xef\xd0\x81\xeb\x53\xa7\xa0\x24\xb8\xe4\xfd\xe3\x4b\x59\x94\xd7\xf8\x73\x44\x01\x29\x52\x30\x07\x4c\x92\x3e\xe1\xde\x10\x79\x89\xe3\xac\x70\xe8\x4f\xc7\x68\xd3\x13\x15\x39\x72\x21\x98\x13\xe3\xd0\xa5\x77\x74\x15\xb6\xb8\x56\xa8\xbd\x05\x23\x65\x29\x60\xd7\x8c\xd5\xc9\xe3\x30\x7a\xf3\x24\x43\xc3\xd2\x5f\x04\x6f\xe4\x43\x32\x7f\x4a\x86\xcd\x00\x56\x63\xdb\x07\x04\xde\x32\xa9\x55\x4b\x32\xc2\xa2\xa1\x0c\x3b\x18\x10\x60\xa5\x1b\x91\x98\x83\x5a\xf1\xad\x58\x6c\xee\x30\xeb\x15\xf9\xe2\x0b\xc4\xf7\x48\xb5\x94\x44\xe1\x24\x5b\x20\x74\x5b\xcd\xae\xc9\xfe\x23\x02\xa2\xf9\x27\x7a\x51\x65\x46\x1a\xce\x9d\x25\x4c\x01\x78\x22\xa9\x7b\xa0\xd1\xdf\x05\xae\xf0\x98\x76\x03\x67\x21\x18\x70\x2d\x9b\xdd\x17\x91\xde\x2a\xb3\xc1\x8b\xaa\x13\x02\xa4\x15\xb1\x64\x6b\xec\xc5\x1e\xb6\x98\x5a\x68\x3c\xa6\x93\x92\x90\x8e\x2d\x17\x20\xe0\x20\x37\x15\x22\x88\x2b\xdb\x50\x36\x39\x95\x1c\x2b\xa3\x94\x19\xae\xf0\xe6\x50\xf3\x8b\x2c\x69\x63\x95\xd1\x4e\x28\xbd\xed\x08\x32\xa9\x8d\x49\x77\xea\xe4\x1b\x93\x78\xcc\x15\x8c\x48\x1f\x00\x92\x01\x90\xd2\x07\xbd\x40\x54\xfb\xae\xff\x67\x33\x01\xda\xc9\x69\x60\x55\x0e\x34\x47\x56\xf8\xe8\x91\x97\x21\xb5\xee\xd3\x07\xcf\x0e\x22\x2b\x2d\xe7\xea\xb0\xc1\x12\xce\x44\xf8\x2f\x1d\x3f\x53\x40\xa7\x63\xfa\x24\x16\xbc\x78\x91\xcb\x04\xc5\xd5\x98\x8f\xd7\x8d\x08\x1d\x4f\xe2\xb9\x78\x7b\x52\x54\xd1\x88\x4c\x44\x6e\xcf\x54\xe6\x8b\xdc\x3d\x33\x6a\xf2\x24\x2d\x4b\x3b\x2d\xc0\x7e\x98\x26\x23\x07\xc2\x0f\x95\xdf\xf6\xe4\x8a\x56\x83\x5f\xf5\x4b\x90\xda\xc2\x9d\xba\x0f\xdc\xc1\xab\xcb\x5d\xbc\xab\x5e\xaa\x8a\xa5\x7c\x4a\x6a\x14\xa5\x75\x97\x8b\xa2\x85\xf6\xea\x3d\xd9\x88\x7c\x67\x85\x5a\x48\x4f\x4d\xd6\x1c\xa7\x61\x81\xb3\x15\x87\x34\x4e\xa1\xe6\x95\x10\x70\x4f\xa5\x03\xd6\x12\x59\xf7\xe8\x74\x57\xb3\x43\x24\x5f\x28\x98\xb1\x89\x31\x0a\xbe\x49\xf4\xe1\xc4\x36\x05\x5f\xd4\x92\x2f\xea\xda\x17\xf5\xe4\x8b\x0d\xed\x8b\x8d\x95\xd8\x28\xd2\xf9\x98\x39\xa9\xb1\x80\x17\xe5\xec\x53\x38\xad\x70\x40\x67\x76\x86\x67\x06\x6e\x0b\x2e\xa6\x88\x24\xac\x54\xd8\x88\xcc\x93\x5f\x74\x52\x55\x12\xbb\x5e\x55\xaf\x92\x98\xf9\x6a\xfa\x17\x89\xd5\xaf\xae\x7f\xb1\x91\x98\x03\x53\x6c\x5c\x0d\xdf\x2f\xe9\xcb\x02\xfb\x61\x66\xa6\xcd\x65\xab\x6a\xd9\xfa\x23\xe8\x6e\xac\x50\xd6\x60\xe8\x33\xda\xce\x9e\x60\xf3\x78\xbc\x43\x82\xb2\x0d\xbe\x85\x27\xf4\xe4\xc1\x38\x6d\x32\x01\x5f\x52\x8e\xc1\xf0\x0b\xfa\x48\xf4\xd8\x55\xdf\xf5\x87\xbf\x90\x88\xda\xe2\x34\xff\x04\xfe\x2b\x69\xed\xda\x94\x11\x04\x3d\x2a\xd4\xf9\xa4\x29\xc0\x26\x6d\x20\x8b\x46\xa2\x86\x19\xc9\xb7\x6b\x3a\x9e\x04\xa1\x15\xce\xc1\xea\x64\x0d\x51\xf9\x0f\xa6\x21\xbc\x9c\x07\x7e\x04\x7a\x21\xaa\x9c\xf8\xb7\xa8\x29\x5e\xe0\x31\x93\x8e\x30\x42\xb1\x92\xe3\xc0\x51\xd5\x7a\x5a\x89\x46\xee\x20\x3e\xa1\x73\xec\x00\xfb\xfa\x8f\x3d\xb2\x99\x7c\x3f\xa6\xb1\x75\x42\xe7\x6c\x27\xd7\x53\x57\xc8\x1c\x59\x15\xcb\x8b\xdb\xd1\x19\x8d\x2d\xf2\xb7\xbf\x11\xca\xfe\x64\xf4\x34\x82\x3b\x09\x41\x3b\x0e\xbd\x74\x7b\xb5\x6d\x39\xe6\x8b\x83\x8b\x62\x38\x74\x7d\xc7\x2a\xbd\x26\xef\xa9\x96\x67\x4f\x18\x53\x85\x31\x09\xcc\xa9\xeb\x41\xc8\x7e\xdf\x66\x3a\x27\xbd\x8f\x29\x1a\x55\x84\xe1\x10\x72\x13\xb1\x03\x05\xb0\xd7\xc0\x4a\x1c\x4c\x87\xa3\x32\x77\x68\x98\x60\x06\x55\x0b\xa3\x0e\xbf\x4d\xa3\x98\x58\xc4\x73\xe3\xd8\xa3\x65\xd2\x26\x33\x2b\xf2\x0b\xdc\x08\x29\x32\xfc\x0d\x69\x4c\xee\x5c\x78\x72\x1a\x5b\xb6\x7c\xbe\xe0\x8e\xb9\xa8\x0d\x46\xf8\xa4\x19\x09\xae\xdf\x93\x3d\xfe\x64\x57\x19\x84\xc1\x98\x1d\xfc\xcd\xc0\xa1\x45\x0e\x23\xec\x59\xe3\x49\x91\x4a\xce\xa2\x5b\x03\x79\x41\x36\xea\x65\xf8\x57\xdf\xda\x2a\x49\x04\xae\xf9\xa3\x68\x75\x82\x59\x96\xd0\x33\x22\x1e\x70\x58\xc9\xf9\x24\x41\x35\xb2\x22\x4a\x0a\x90\xd8\xbb\xf0\x9a\xdf\x30\x40\x9c\x38\x78\x3e\xf5\x52\x37\x15\x6e\x9b\xab\x31\x76\xd4\xc9\xc4\x9b\xc2\x35\xce\x72\x1c\x97\x5f\x5e\xb7\x37\x05\x5e\x40\x1f\x22\x45\x8b\xb4\xe2\x50\x2f\xb6\x3e\x92\x5f\xc9\x5a\xad\x44\x7e\x27\x55\x76\xb3\xae\x92\xd7\xa4\x56\x22\x2f\xc8\xab\x6d\xe9\x35\xc9\x04\x63\x1c\x38\xbb\xf2\xa6\x83\x32\xce\xb6\x98\xcf\xf7\xb5\xfe\xa7\xb3\x02\x79\x61\xe4\x44\x9f\x11\xba\x27\x2f\xc8\x7c\xf7\x59\x32\x88\x13\x91\x86\x34\x81\x89\x08\x83\x31\x4f\x68\x8e\xd0\xd4\xf0\x43\x21\x3b\x12\xf5\x63\x05\x1f\x86\xf7\x28\xa4\xd6\x2d\x27\x89\x9c\x82\xe5\xed\x04\x33\x5f\xe5\xd6\x3e\xf0\x04\x1f\x98\x64\x96\x2c\xc9\x2a\x7e\x53\x02\x56\x6d\xd4\x45\xa3\xe0\x73\x4c\xf6\xc8\x99\x15\x8f\x2a\x63\xd7\x2f\xd2\x0a\x96\x2f\x93\x7a\x09\x26\x50\x1d\x4a\xc3\x77\xc8\xd8\xbd\x17\x8a\xe7\x58\x59\xed\x51\x25\xc3\xbe\x9f\xe2\xdf\xc2\x91\x4f\x27\x59\x29\x99\x4e\xc0\x2a\xea\x07\x02\x39\x89\xef\xaa\x08\x38\xc8\x99\x30\xb3\x22\x12\x52\x8f\x5a\x11\x77\xa0\x30\xf6\xef\xf3\x7d\x7d\xa3\xb0\x62\x57\xc6\xc1\x1d\x95\x9d\x79\xc4\xf6\xdb\x69\x1c\xe1\xae\x85\x3d\x8b\x54\x7f\xe5\xf5\x75\xd2\x8d\x2d\xdf\xb1\x42\x47\x74\xbc\xef\x72\x84\x0a\x4a\x3e\xb0\x53\x80\xc0\xb1\x60\x07\xdc\x7b\x25\x84\xa6\x78\x42\x68\x37\x8c\x62\x95\x16\x27\x01\xcf\x29\x1c\xd9\xd1\x1d\xa0\xff\xdc\xdf\xd0\x11\x16\x44\x06\xbe\xa7\x4e\x99\x7f\xe4\x46\xfc\x3d\xdb\x51\x3c\x91\x79\x12\x03\x37\xd6\x1e\x99\x94\x76\x49\x3c\x0a\x29\xe5\x4d\xb2\x1e\xb7\x07\xc4\x67\x77\x1b\xdc\x9f\xc6\xac\x25\x95\x9a\x6c\x34\x1e\x51\x9f\x0f\x6d\xe0\x59\x43\x78\x03\x06\x77\x31\x3e\x5d\x15\x42\xde\x43\xee\x54\x27\x90\x71\xc1\x15\x49\x89\x89\xb0\x22\xaa\xe8\x2c\x18\xba\x41\xe8\xc6\x73\x78\xda\x92\x78\x1e\xd0\xc4\x6b\x18\x7d\x99\x8c\x5d\xc7\x61\x1b\x6e\xc8\x53\x72\x91\x64\x1a\xe5\xc4\x90\xbf\x91\xea\x7d\x4d\x9d\x1e\xa0\xce\x27\x17\xb8\x88\x25\x2b\x4a\x81\x3e\x79\x21\x3d\xab\x89\xee\x05\xaf\x13\xde\xcc\x23\x8c\x5d\xcb\x23\x5d\x5b\x81\x74\x3d\x8f\x34\xce\x6f\x0e\xe5\x7a\x86\x72\x86\x08\xcc\x07\x19\xb9\x43\x76\xee\x88\x99\x4e\xd3\xd9\x50\xe8\x68\xd3\xd2\x70\x1c\xb2\x51\x67\xa7\x97\x40\x38\xe3\x0a\xd3\x38\xe0\xf7\x7f\x8d\x4c\x6a\x52\x57\xd9\x81\x0c\x7b\xd0\xcf\xed\x42\x72\x00\xd9\x3d\xc0\xf6\x5c\xfb\x96\xaf\x7f\xfc\xc4\xe9\x7b\xea\x87\x7a\x25\x6e\x04\x13\x5f\x89\x44\x80\x34\x0c\x83\xb0\x58\xe0\x4f\x94\xaa\x02\x89\x59\x00\xf1\xb0\x2c\x13\x9a\x3e\x12\x14\xff\x7c\x31\x40\xc5\x1c\x2a\x35\x26\x37\x50\x12\x48\x26\x25\xf5\x6c\x13\xc2\xd7\x38\x79\x10\x0d\x06\x9a\x73\x36\x7f\xf7\x16\xa6\x9b\x90\x46\x60\x12\xe7\x09\x61\x13\x9f\xe2\x67\x6a\x16\x7f\x1d\x55\xbe\xa7\xda\x83\x30\x9f\x23\x7a\x28\x9a\xf2\x39\x72\xff\xa9\x24\xa5\x63\x2a\x9f\xa3\x51\x49\x96\x2e\xd3\xaa\x76\xac\x9b\xdc\x15\x97\xdc\xe4\x09\x84\x3f\x2e\xd8\x20\x01\xd3\x01\xd7\x56\x78\x0e\xc4\xe7\x99\x7a\x89\x4d\xa2\x58\x52\x6d\xb0\xea\x53\x85\x5a\x9e\x7d\x9e\x44\xda\xa0\xe1\x3e\x53\x08\x2c\x13\xa2\x0c\x3e\x0c\x64\xca\xf4\xa7\x03\x2e\x4b\xc6\x36\x2a\xb6\xe5\x79\x30\x98\x72\xa6\x40\x89\x57\x94\xa7\x54\xba\x32\x3b\xaa\xe0\xbf\x02\xd8\x26\xd5\x39\xf6\x3d\xfb\x8f\x12\x84\x6f\xea\x1f\x2b\x26\x39\x4e\x92\xd4\x72\x97\xf8\x4e\xe4\xb8\x0e\x22\xe1\x7b\xc2\xb3\x17\x2e\x0a\xcf\x0b\x2a\x52\x8d\x22\x98\xe8\x92\x9a\x48\xe5\x9f\x24\x28\xdc\x33\xd6\x14\x97\x25\x19\x64\x70\xce\x93\xde\x79\x06\x1c\x5c\xaa\xe6\x37\xd3\x81\x25\xe3\x50\x5b\x6c\x40\x4f\xc9\x80\x27\x86\x16\xa1\x8f\x86\x7a\x6b\x64\x17\x90\xd7\x64\x14\xc7\x93\xe8\xf5\xfa\x3a\xf5\x2b\x33\xf7\xd6\x9d\x50\xc7\xb5\x2a\x41\x38\x5c\x67\x7f\xad\x23\x95\xbc\x91\x26\x79\xd7\x8c\xa3\x55\x42\x2d\xf5\x0c\x6d\xfa\xfe\x20\xa7\x01\x1d\x8b\xd5\x18\x48\x6c\x7e\x09\xa7\x97\xb5\x9f\xf1\x4c\x16\xab\x31\xd3\x93\x2e\x15\xe6\xc3\x5c\x77\x18\xe3\x2b\x97\x2c\x9f\xce\xd7\x2d\xbf\x80\x74\xbc\x71\xee\x40\x22\x1a\x2b\x5e\x9a\xc9\xdd\x9b\x7f\x86\xc3\x91\x17\x1c\xed\xd3\xdc\xad\x7f\x66\x85\x7e\xb1\xd0\xf6\x21\xd7\x89\xf2\xd4\xf6\x8b\x18\x8d\x94\xea\x5f\xf8\x59\x20\xe8\xee\x26\x1a\xf0\xa1\xe5\x79\x24\x49\xc1\x26\xcf\x22\x37\x0a\xd6\xea\xd5\x7a\x5d\x9e\x45\xcb\x5d\x76\x8c\xa5\x32\x6e\x3b\xa9\x43\x48\xb4\x07\x2b\x63\x0d\x7d\x85\x96\xb7\xa9\xc6\xc8\x2d\x68\x52\x2d\x66\x6e\xf1\x4f\x6b\xca\x3c\xba\x24\x4b\x6d\x9e\x6b\x8f\x66\x13\x1f\x84\x34\x1a\x61\xe8\x0e\xfa\x3b\x30\x15\x47\xa6\x1e\x4f\x1c\xab\x30\x70\x20\x57\xd8\x4c\x6d\x65\x2d\x78\x88\x79\x87\x91\x05\xe8\xf4\xbf\x03\x16\x80\x32\x77\x55\x8d\xa6\xa0\xf2\xa1\x03\x5c\x3a\xd2\x89\xed\x37\x33\x50\xaa\x7d\x7a\x07\x3e\x99\xeb\xeb\x24\x02\x4b\x55\x10\x51\xb2\xb6\x86\xae\x9c\xf1\x08\xbc\x73\x47\x02\x66\x96\x35\xf2\x5c\x80\x6f\xdb\x35\xb2\x47\x2e\xf0\x90\x67\x4a\x58\x31\x31\xb3\x35\x6b\xe2\xb1\xb0\x32\x70\xd9\x66\x5f\x2c\xd2\x12\xd9\xfb\x9d\x83\x5d\x65\xe7\xe9\x8f\x3f\x08\x85\x3d\x97\xe9\x61\x8d\xb8\x58\x22\xbf\x91\xea\xfd\x8e\x7c\x73\xac\x8c\xad\x89\xa0\x51\xf8\xfc\xf9\x9e\x2d\x07\xb4\x3e\x3c\x4c\x2c\xa7\xa8\xd7\xad\xc4\x01\xd7\x77\x6a\xdb\x25\x76\x9b\x95\x54\x10\xfa\x57\xb1\x3e\xa6\x9c\xb9\xe8\x8c\x74\xe8\xb0\x75\x3f\x29\xfe\xd7\xa7\xff\xfc\xa7\x6d\xd7\x7e\x7c\xf9\xaf\x54\xaa\x8a\xb4\x13\x4c\xc6\x89\x06\xfc\x7a\x40\xc5\x01\x1f\xb3\x38\x09\xdc\x16\x5e\x66\x78\x5d\xaa\x65\xbd\xd8\xf0\x6d\xa7\xd8\xac\xae\x37\x6b\xa9\xf0\x71\x30\x1c\x7c\x6a\xf6\x3a\xa7\x5f\xa4\x5f\x6b\x92\x41\xc0\x0e\x20\xe6\x8e\x7b\x7b\x0b\x97\x6e\xa1\x68\xc1\x6b\x53\xe8\x82\x07\x72\x2a\xc3\x28\xbf\x7d\x09\x08\x26\xbd\x23\x52\x4f\x73\xa3\x09\xdc\xa1\xd2\x6f\x36\xca\xf3\x9a\xe6\x67\xa7\xc8\x6a\xa2\x20\x28\x6f\xdb\xd4\x1b\xc8\x6c\xd3\x2a\x9c\x24\x74\x52\x7d\xdb\x06\x98\x00\x56\xdc\x20\x32\x7f\xfb\x1b\x10\xfa\x04\x5f\x1f\x9d\x7e\xa9\x1c\x9d\x8a\x79\xc6\xc7\xf3\xf4\xb7\xc9\xd1\x4c\xe0\xbb\x44\x49\x4e\xda\x85\x45\x2f\x1d\xf6\xa8\x15\xda\x23\xcd\x39\x50\x8d\x81\xef\xb3\xdd\x0e\xa2\x1e\xe5\x44\x08\xe3\x1b\x6a\x70\x13\xe5\x49\x2b\xf5\x00\x5b\x94\xb6\x35\x9f\x83\x13\x60\xf4\x05\xbc\xbe\x41\xb3\xc5\xb4\x7c\x26\x50\x53\x5a\x95\x3d\x52\x15\xdc\x02\x28\xc5\x02\xf8\x00\x4e\xc7\x7d\x8f\x3a\xe2\x3e\xcf\x4e\x6a\x83\xcf\x7b\x25\x51\x26\xc5\x14\x17\x0b\xcd\x66\xad\x50\x26\xca\x2b\x60\xb5\x4c\x6a\xa5\xb2\x32\x18\x7e\xfc\x28\xa3\xe3\xef\x9b\xc5\x5a\x69\x57\xb3\x29\x2b\x77\x94\x54\x9f\xd7\x6a\x4a\xa7\x7b\xe8\x30\x1e\x52\xe2\x07\x86\x98\x22\x99\x3e\x0d\x97\x11\xf6\x1a\xa7\x8c\xe9\x9a\x99\xde\x80\x62\x5f\x34\x77\x45\x56\x53\x46\xa7\x74\xad\x94\xec\x0c\x0b\x38\xa2\x54\x30\xf2\xc6\xc0\x19\x75\xf8\x2f\xd2\x8f\xa9\x18\xdb\x68\xc9\xb0\x53\x19\xe4\xd0\x66\x7f\x3b\x53\x9b\x86\xb8\x9e\x2d\xdf\x91\x8b\x91\xb8\xb1\xaa\x2b\x7e\x6a\x76\xdb\x5f\x30\x8a\x2d\x18\x83\x7f\xe9\x60\xea\x11\xd7\x1f\x04\xe1\x18\x0d\x62\x56\x3f\x98\x8a\x20\x3b\x9b\x5b\x8a\x17\x2c\xe6\x66\xb7\xbd\x74\x21\x03\xde\x5a\x4a\xca\xd9\x65\x3a\x91\x6e\xee\x10\xa7\x72\x24\x1c\x46\x09\x6e\xfb\x88\xfc\xbe\x47\x0a\x7f\x2f\xb0\xd5\x6c\xc3\x43\x6d\xe1\xbf\x0b\x9a\x68\xa0\x3b\x2c\x6e\x9b\xec\x50\x5d\x22\xbd\xdd\x76\xa1\x9c\x13\xbc\xf8\x22\x2f\x64\xf0\x05\xb1\x47\x6a\x68\xb5\xf8\x59\x24\xf2\x66\xef\xba\x67\x9a\x51\xc6\x06\x08\xe6\xc2\xae\x3a\xa0\x4b\xa6\x98\x42\x50\xb3\x43\x3d\x77\xec\xca\x81\x24\x48\xfc\xe9\xfe\x69\x18\xba\x86\xfa\x4a\xa0\x64\x26\x1c\x13\x0c\x87\x16\x04\x4d\x91\x89\xe5\x38\x9e\xeb\x17\x84\xb1\x64\x95\xd1\x18\x61\x16\x9e\x2b\x0e\x5b\x29\xe3\x65\x6f\x44\xe7\x24\x18\xbb\x31\x9c\x35\xf2\xac\x03\x75\x5c\xcb\x24\x13\x4d\x27\x13\x6f\x8e\x42\xcc\x7f\x80\x2a\x66\x13\x28\x94\x32\x06\x18\xc3\xb7\x3f\xb2\xfc\x66\xd2\x54\x55\xa5\xe9\x95\xca\xfc\x73\x40\x5e\x9e\xc7\x49\xf6\x56\xee\x7c\x3a\x11\x5c\xad\x3c\x7b\xcc\x64\x9c\xf3\xb8\x54\x59\xfd\x2f\x9b\x8a\x47\xce\x44\xe2\x0d\x67\x8f\x24\x27\xd3\x36\x3d\xe1\x57\x26\x7d\xef\xd6\x48\xed\x0b\x78\x3c\x8d\x74\xfc\x8a\x1c\x3e\x13\x95\xcf\x6f\xc4\x1f\xcf\xf7\x48\xe1\xb5\xca\x74\xf9\x30\x98\x5a\xb9\xf9\xfd\xcf\x59\xbe\x49\xc7\x52\x43\xc9\x5b\xd6\x4a\x85\xd4\x08\xd2\x67\x6b\x25\xa6\x51\x5c\xb4\x47\x25\xa5\xdf\xcd\x47\x1c\x97\xf6\x28\x75\x08\xa4\xe1\x88\xd6\xd7\xc9\x95\x2f\xe3\x06\x35\x3f\x9e\x24\x7c\xbb\x6f\xb9\x1e\x09\xa6\x7c\x49\xac\x20\x13\x78\xa4\x99\xcf\x61\xf5\xd6\x7c\xeb\x4e\x30\x5e\x5e\x51\x46\xa7\x7e\xec\x7a\x89\x5e\x93\x17\xdd\xd7\xea\x36\x89\x08\xea\xfb\x95\xec\x53\xcf\xd3\xe3\xfa\x54\xf3\x5e\x02\x19\x64\xd9\xf6\x74\x3c\xf5\xac\x58\x89\xc2\x48\xb6\xff\x4f\xd5\x2f\x15\x42\xce\xac\x5b\x4a\xa2\x69\x48\x79\x5c\x36\x5e\xed\x01\x3b\x4e\xfa\x8e\x16\x21\x54\x25\xcd\x09\xe9\x5b\x5a\x12\x1a\xaf\x84\xce\x4a\x9c\xe5\x79\xbf\x3e\x06\x53\x08\x64\x71\x68\x8c\x51\xa4\x16\xea\xed\x68\xc1\x00\x1c\x09\x70\x2f\xea\xcf\x89\x3d\xa2\xf0\x32\x9f\x24\x27\x95\xbe\x5a\x52\x43\x1d\x59\x11\xbf\xbe\x21\xd6\x7c\x3a\xd9\x9e\xf9\x4a\x00\xf7\x34\x25\xfe\x70\x8c\x5a\xba\xe5\x93\x6c\x60\xa3\x6a\x76\x9d\xb1\x1b\x1b\x47\xb5\x7f\xc6\x63\x58\xb5\xd8\x4f\x35\xfa\xb6\x4f\x49\x48\xd7\xa0\x03\x4e\x12\x59\xbd\xc0\x61\xdf\x8c\x1e\x29\x83\x28\x25\x97\x22\x12\xf8\xc3\x00\xac\x2d\xa1\x64\x18\xbe\xef\xc8\x24\xc5\x85\xbb\x04\x40\xea\xde\xa6\xd4\xe1\xdb\xff\xd8\xba\x27\xa9\x18\xcf\x65\x77\x88\xd8\xf5\x90\x25\x89\x2c\x2e\x55\x44\x1e\xa9\x6f\x2b\x52\xae\xa9\xdc\xeb\xc5\xcf\xf7\xb5\xfe\xe7\xcf\x7f\x30\xd9\x2e\xad\xaf\xaa\xc5\x98\x76\xb1\x64\x07\x2e\x70\xeb\x26\x7c\x52\xfb\xc2\xaf\x99\x07\x16\x26\x7d\x4e\xa9\xc8\x6a\xcf\x52\x5a\xf2\x79\x20\x43\xc0\x83\x10\x5e\xb6\xca\x3c\xe0\x3d\x05\x27\x80\x5e\x89\x5c\x57\xd6\x3a\xf3\x02\x46\xcb\x0f\x76\x18\x58\x3f\x08\xe3\x0e\xb5\xa2\xc0\x57\x2c\xc4\x62\x8d\xf2\x63\xe1\xf7\x9c\x18\x5c\x71\xdb\x52\x88\xb0\xe1\xc6\x41\x40\xbc\xc0\x1f\xa2\xcd\x4a\xa7\x65\x68\x04\x60\xf9\x2e\x06\x45\x78\x9a\x29\x94\xd8\xf9\xb1\x56\xcb\x21\x4d\xc7\x7d\xea\x30\xd1\x42\x73\x86\xde\x42\x8a\x90\xd2\x54\xc2\x6f\xb2\x26\xa7\xe1\x77\x03\xb8\x42\xde\x88\xdc\x31\x65\xba\x33\xbd\x9f\xb8\x21\x75\xb0\x59\x13\x51\x75\x78\x09\x89\xe4\x60\x13\x96\x3f\x2f\x18\x16\x0b\x0b\xc4\xfd\x35\xf6\xc0\x95\x4c\x4c\x88\x99\xf4\x54\xce\x01\xa9\x33\x65\xee\x42\xe9\x02\x3a\x0e\xb1\xa2\x66\x19\xce\x92\xc4\x8d\x52\xbb\x51\x65\x73\x38\xa5\xa4\xe6\x45\x7a\xa5\xe5\x8a\x91\x7a\x7b\xe5\xd0\x1f\x0a\x2a\x06\x1c\x59\xc9\x11\x39\x85\x60\x6c\x44\x6f\x88\x47\xae\x7f\x8b\x59\x1f\x84\xd0\x99\x8f\xce\xa2\x5c\x00\x24\xb9\x31\xa6\x99\x00\x03\xd1\x57\x4a\xea\x92\x98\x0c\x06\xa5\x6b\x85\x13\x3a\xe7\x2a\xa8\xb0\xe5\x85\x61\x42\x09\x21\xc5\xd4\x7d\x33\xa9\xc1\xae\x9c\x70\xaf\x00\x39\x27\x6f\x48\x1d\x1c\x59\xb4\x47\x87\x4c\xae\xd8\x03\x71\x6b\xe4\xe7\x95\x3c\xd0\x78\x92\x78\xdf\xf1\x68\x24\x01\x90\x9b\xcd\x1a\x04\xf4\x83\x0f\x6f\xb3\xdb\x66\xff\xb9\xee\x6d\xd5\x05\x50\x40\x8e\xb1\x5f\xb4\xa1\x22\x14\xc1\xe3\xa5\x0d\x66\x49\xd3\xc6\x8d\x2d\xb3\x6d\x58\x10\xfc\xc4\xaa\x7c\xf9\xc4\xaa\xc8\x68\x87\xe7\xbc\x98\x6a\x16\x02\x61\xca\x44\xd8\x97\x8c\x36\x76\xf1\xba\x0a\xf9\xc9\xe6\x13\x4a\x5e\x90\x02\x74\x0a\x97\xd7\x71\xf7\xe2\xbc\x82\x1b\xa6\x3b\x98\x17\xd9\x17\xa5\x7c\x4b\x86\xec\x72\xd2\xe7\x0a\xba\x4b\x3c\xb5\x7b\x6d\x74\xb6\xf8\x73\xba\x17\x73\xcc\x65\xd0\x4c\x41\x27\x0f\x1c\x4a\x7e\x67\xe2\xf2\x72\x50\x48\x12\x0e\x64\xb0\x3f\x94\x75\xd8\x66\x4b\xea\xd6\xe5\xb0\x34\x64\xc4\x15\x9d\x09\xd8\x0f\xdc\x88\x1f\x3e\xfd\x69\x5c\xa9\x54\x78\x1d\x59\x55\x98\xa4\x85\x34\xc0\xe3\x16\xef\x0d\xca\x01\xba\x91\x14\x22\x32\x0c\x62\x03\xfa\x4b\x59\x90\xc2\xb5\x5e\x00\xb3\x50\x8c\x0e\x27\x1c\x5d\x1f\xa7\x40\x22\xb1\x38\x34\x7a\x43\xc8\xf1\x34\x8a\x05\xa8\x85\xb8\x56\x26\xfd\x02\x43\x02\xf7\xb2\x02\x87\x31\x1a\x86\x96\x1f\x93\x22\xc0\x67\x14\x3e\xdf\xbf\xaa\x16\x4a\x65\x52\x04\x20\x0d\xf6\xa7\x03\x7f\x5e\x9e\xe1\x5f\x54\xe2\x5a\x30\x62\xc5\xc6\x25\x2f\x35\x28\x94\xd0\x34\xeb\x05\xa8\x3b\x4e\x53\x0e\x5f\xec\x64\x16\xb6\x5f\x37\x8e\x24\x76\x88\x24\x95\x60\x68\xb0\x16\x32\xca\xb5\x59\x58\x18\xc5\x2c\x0e\xcd\x6b\x52\xbd\x2f\x98\x36\x14\x58\xb6\x8a\x85\xbc\xaa\x9b\xc8\xcd\xc2\xc4\xe5\xbc\x62\xb1\x8b\x3a\x7f\x57\xfe\x94\xac\x61\x5c\xd5\x5f\xb2\xef\x73\x89\xcb\x0f\x66\xf1\xe1\xc1\x5a\xaa\x93\xac\x43\xd1\xab\x49\xa8\xc7\xfe\x5d\x70\xcb\x73\x7e\x08\x5f\x8d\x38\x20\xdd\xb3\xf5\xce\x99\x28\xa3\xdc\x9e\x98\xfc\x4c\x35\x58\x0d\x78\x3b\x43\xef\xb7\xc8\xf5\xa8\x9f\x20\x72\xe4\x5b\xac\xd9\x3d\xe2\xbc\xdb\x3e\x4b\xbd\x04\xdb\x02\xae\x36\x56\xfc\x6a\x6d\x9e\xe3\x6c\xb3\x44\xfe\x89\x52\x0e\xe9\xf6\x08\x54\x2e\xb6\x3b\x67\x26\xcf\x8b\x88\xc6\x58\xec\x0c\x9f\x32\x85\x19\x49\xbd\x48\x73\xba\xf5\xaa\x20\xdc\x98\xc6\xc1\x18\xb0\x67\xcf\xe9\x0c\xd2\x7c\x15\x4f\xcf\xf3\xc8\xb3\xc2\x4d\x2b\x0c\x5d\x6b\x48\x31\x20\xc3\xdc\x4c\xce\x5e\x24\x1c\x30\x53\x5b\xa5\xca\x58\x98\xc0\x33\xb9\x13\xc1\xd6\x93\x05\xcb\x65\x93\x1e\xf2\x2b\x9c\x32\xfb\x69\xb4\x9d\x65\xf3\x8d\x61\xdb\xeb\x07\xad\x66\xa7\xdb\x5b\x34\x6f\x07\xad\xe6\xd2\x69\x13\x6f\xb1\x32\x26\x0e\x4b\xd4\xaa\x25\xcd\xf1\xb4\xf6\x1a\x51\xb4\x5a\xcd\xe6\xc9\x99\x66\x4e\xc8\xba\x1c\x4f\x26\x1e\x77\x2e\x6c\x8a\xd0\x0d\x68\x30\xd7\x4d\x70\x23\x21\x7e\x71\x7a\xa6\x98\x6d\x30\xac\x2f\x07\x4e\x4c\xb5\xe3\x64\xa6\x1c\xd1\x53\xf1\x61\xf1\x0d\xa9\x6d\xb0\xb3\x7f\xa7\x5a\x52\xbc\x9d\xf4\x2a\xb6\x47\xad\xf0\x6d\x30\xa6\x45\x05\xad\x34\x43\xf5\xba\xd7\x05\x97\xd4\x0e\x1d\x02\x64\xf3\xd4\xf3\xca\x22\x73\x36\x56\xf9\x91\x37\xc6\x2d\x39\xc6\x6e\xf3\xdc\xcc\xc1\x88\xc6\x1d\x0a\xf9\xa4\xae\x5d\x87\x06\x8a\x8c\x1a\x29\x6e\x4b\x8a\x17\xb9\xf4\x2e\x42\x77\xe8\xfa\xa9\x85\x65\xa4\xf6\x52\x52\x6b\xbc\xcf\x25\xf7\x3e\xb4\x26\xe8\x8f\xbd\x8c\x5c\xad\xfe\x5a\x38\x69\x86\x31\x62\x4d\xa9\x60\x97\xfa\x0c\x2b\x60\x52\xa5\x7c\xe6\xa3\x30\xed\x33\x52\xcb\x5a\xaf\x27\xdc\xee\x35\x5b\xb9\xc3\x41\x8a\xd7\x88\x79\xb2\x8c\xe6\x46\x95\x8f\x68\x14\xcc\xb8\x67\x72\xdf\x0a\xf3\x48\x77\x45\x81\x15\xa9\x6f\x72\xea\x0d\xc0\x0d\xdb\xa9\x92\x35\x10\xda\x22\x5f\x13\x25\xd8\x5c\x8c\x8d\x2d\x40\xdb\x5b\xbc\xea\x36\x39\x93\xb8\xcc\xad\xcd\xe4\xe4\xe6\x37\x96\x88\xe8\xea\xa2\xb0\xcd\x45\x6b\xdf\xb2\x6f\xad\x30\x0c\x66\x18\xf9\x40\x7d\x27\x02\x83\x0d\x66\x5e\x67\x23\xdd\x3f\x39\x2b\x2d\xde\x5b\x64\xf9\x2e\xab\xbe\x2f\x6b\x2f\x1b\x6b\xad\x5a\xad\xbe\x56\x1d\x3c\x03\xe1\x42\x08\x8e\x88\x12\x47\x23\x69\x5b\x0f\x73\x29\x2a\xba\x82\xd8\x54\xb2\x1e\xcb\x08\xb1\xf1\x7a\x51\x28\xc9\xae\x99\xad\x73\xdf\x06\x17\x6d\xc8\xe0\xb2\xc0\xab\xbd\x56\xad\xd6\x17\x8e\x03\x5e\xbe\x42\x6b\x18\xfd\xec\x58\xc0\xfb\xfa\xaf\x1d\x4a\x4d\xac\x28\x58\x2b\x60\x9a\x0b\xe2\x38\x18\x83\xbb\x64\x3c\x27\xc1\x34\x9e\x4c\x63\x73\x2b\x50\xe5\xc2\xbf\x80\x22\x2b\x4c\x7f\xad\x96\xdf\x16\x13\x47\x70\xb2\x5e\xd8\xd4\x09\x9d\x47\x71\x18\xdc\xae\x22\x6c\x1b\x7c\x6f\x66\x52\x0a\x80\x6f\xe0\xdb\x02\x61\x38\xfc\x95\x83\xdd\x21\x6f\xe9\x7c\xb1\xb4\x8f\x69\x6c\x81\xa0\xb7\xd0\x2b\x65\x85\x86\x5f\x99\x1a\x6e\x78\xb1\xb9\x5d\x8c\x90\x97\xba\x40\xf2\xe1\xf3\x9c\x1e\xb1\x8b\x81\x1b\x4c\xa3\x86\x17\x43\xc7\xde\x8f\xac\xf8\xab\xee\x44\xfd\x98\x9a\x12\x9b\x6b\x49\x65\x4b\xa9\xb4\xbb\xbc\x2d\xb5\x38\x98\xc3\x80\x7d\x05\xd5\xdd\x9a\xff\x37\xa5\xfb\x3d\x61\xc0\x2b\x75\xe1\xd9\x0a\x63\x34\xb6\x94\xa7\x8b\x2c\x63\xab\x04\xc1\x20\x8b\x74\x92\x4d\xbe\x33\x5f\x45\x94\xc9\x08\x0d\x21\x1a\xab\x6b\x87\x94\xfa\x64\x1f\x7c\x90\x55\xe1\xda\x7c\xf9\x3a\xef\x50\x90\xb5\x57\x51\x35\x6a\xd5\xcd\x9d\xd7\x12\xe9\x49\xe0\x51\x5a\x91\x86\xf3\x24\x9b\x51\xa2\x14\x65\x40\xb1\x46\x8b\x8b\x3c\xeb\x1f\x79\x01\xc4\x99\x06\xce\xf4\xb9\xca\x22\x31\xcf\x25\x6e\xe6\xf8\x92\x41\x1a\xf5\xc9\x84\x5a\xe6\x4d\xf1\x29\xc4\xd5\xce\xf2\xe8\xdd\x62\xf6\xfd\x37\xab\x0c\x55\xab\x9b\xfc\x04\x0e\x2d\xfb\x96\xb2\xfb\xca\xc4\x8a\xf8\x65\xa3\x92\x37\xa5\xb2\xf0\x25\x2b\xbb\x60\x4e\x53\x5e\x9b\xcb\x8d\x3a\x8b\xaf\x52\xea\x6d\xc8\x70\xa3\x22\xba\xdb\xa1\x72\xbd\x92\x08\x39\xd1\xc8\x0a\x11\x05\xd2\xe0\x23\xc3\x0e\xc8\x8c\x93\x1f\x02\x30\x62\x6e\x0f\xf3\x7d\x98\xdb\x4b\x74\xe7\xc2\x1f\x2a\x86\xbc\xe7\x25\x61\xaa\x86\x76\x39\x56\x1b\xde\xe6\x2c\x01\x86\xa0\xc2\x19\x70\x34\x77\xdb\x9b\x3a\x3c\xa9\x6e\xda\xad\x8d\x7d\xd6\xac\xc2\x10\x9a\x35\x12\x51\x48\x91\x08\x3e\x2d\xe0\xee\x26\x20\x38\xc1\x23\x8e\xdd\xf1\xc1\x93\xa5\x42\x48\x4f\x20\xfd\x0a\xc0\x5e\x71\xf3\x6c\xd6\x38\x86\x2e\xc0\xb6\x73\xfb\x03\x3e\xf9\x33\x22\x72\xf4\xec\x24\xb1\xe5\x08\xd5\xa7\x4c\xb4\x57\x8d\x7d\x3a\x0e\x7c\xd7\xc6\x38\x22\x70\x2c\x8f\xa4\x05\xd5\x12\xcf\x89\x09\x6e\xb5\x84\xa6\xe3\x26\x35\xe4\x20\xbb\xf9\x12\xb4\xa9\x09\xbc\x61\x27\xf1\x69\xc2\x6c\x03\x03\xc0\x1d\xf3\xd1\x3d\x5e\xe9\xb1\xe5\xcf\xf9\xa0\x18\x2d\xe9\xda\xee\x48\x30\xfa\xb4\x17\x4f\xb3\x59\x23\x7b\x0b\xa6\x50\x82\x1c\x23\x12\x58\x48\x79\x8f\x13\xa1\x91\x6f\xa9\xf0\x86\xd8\x82\x6d\x4b\x6d\x81\x31\x6d\x51\x0b\xcd\x6e\x9b\x14\x17\xb8\x32\x95\xb2\x78\xfb\x88\x37\x9b\x74\xa1\x4f\x87\xae\x8f\xed\xc3\x03\xf4\xa7\x02\x5a\x0d\xc7\xd6\x9c\xc4\xd6\x2d\x45\x00\x9b\x80\x3f\xa4\xaa\xa8\xe0\x1a\x2b\xba\xed\x85\x1d\xbd\xe8\x36\x49\xf1\x02\xf3\x12\xf8\x43\x82\xbe\x85\x44\x5a\x43\x1f\xdd\xcb\x2f\x85\x32\x19\x04\xec\xda\x22\xb2\x45\x48\x2b\x3b\x8f\xc0\x04\x2c\x10\x4c\x4f\x15\x2a\x40\xe3\x31\x96\xe7\xe1\xbc\xdd\x1e\x1b\xd9\x7e\xeb\x34\x35\x9c\x8b\x25\x7c\x07\x03\x7d\xa6\xd3\xef\x99\xa2\xe4\xfa\xf8\x2d\xba\x07\xf3\x6c\xe7\x7a\x6e\x03\x37\x62\x77\xd5\xf4\xf6\x00\xb5\xf4\x46\xcf\xa7\x9e\x47\x8a\xe7\x57\xa7\xf2\xe9\xbf\xbb\xd8\xe4\xd6\x6c\xd6\x3e\x15\x3e\xdf\x57\xab\x85\x2f\x24\x63\x32\x57\xe3\x22\xbe\x4f\xdd\x70\x4e\x8a\xad\xf3\x77\x89\x57\x41\x68\xf9\xd1\x18\xc0\x57\xa3\x19\x0d\xe1\xc5\x7d\x4c\xa3\xc8\x1a\x52\x75\xb5\x8a\x47\xee\x6c\x29\x36\x74\x88\xad\x07\xaf\x04\x1f\xa1\x49\x38\xfb\x01\x0e\x73\x46\x21\x04\x3b\xd9\x21\xf1\xc4\x30\x0f\x61\x6b\xf1\x10\x3a\x6c\x4e\xa5\x8b\x44\x29\x87\xc8\x4b\x20\x62\x82\x63\x48\x30\x2c\x5c\x7f\xc8\xe8\xa4\x1c\xcc\x93\x7b\x61\x71\xbf\x2b\x79\x74\x16\xdc\x69\x00\xd8\x7c\x7f\xc2\x24\x09\xbe\x0a\x4c\x23\x90\x58\xca\x22\xed\x32\x42\x48\x5a\xd2\xf1\x02\xea\x8c\xad\x70\xe8\xfa\x65\xc6\x39\x0c\xa0\x85\xd3\xd6\x0f\x00\x60\x92\x89\x9a\xcd\x1a\xca\x19\xdc\xce\xf2\xc1\x61\x37\x4f\xe9\x20\x4e\xfb\xa9\xbc\x0d\x42\xf7\x21\xf0\x63\xcb\x23\x3d\xab\x4f\x8a\x6f\x7b\xcb\x06\x09\x4f\xdd\xb1\xd5\x27\x51\x1c\x4c\x10\x71\x06\xbf\x40\xc7\x57\x1c\x0a\x3b\xba\xfd\x80\x0c\xa6\x21\xc2\x0f\xff\x2a\x6b\x44\x32\xfa\x15\x80\xb1\xd0\x27\xcc\x73\xfd\xf4\x1b\x97\x18\xdd\xab\xe5\xa3\x1b\x04\xe1\xcc\x0a\x9d\x9e\xd5\xef\xc6\xc1\x24\x35\x81\xa7\xae\x4f\xc9\x21\xa5\x0e\x29\x9e\x1e\x96\xb4\x03\x12\x4c\xc1\xb6\x35\x8d\xe0\x2a\x03\x96\xdf\x01\x2b\x08\x19\xb4\x10\xa6\xdf\x57\xb2\xa8\x54\x08\x78\x7d\x4a\x73\x31\xac\x4c\xd5\x62\x9c\x33\x02\x6b\xa5\x11\x8c\x59\x1f\x53\x7d\xbf\xa6\x61\xec\xda\x62\x6a\xae\x93\xa9\x91\xd1\x83\x18\x73\x7e\x7a\x98\xd3\x74\x5f\x5f\x3c\x4a\x8f\x14\x5d\x27\x08\xc7\x9c\x41\x87\x87\x8f\x6e\xc1\x5e\xa1\x05\x61\x2f\x17\x08\x46\xc5\x66\x47\x17\x32\xc3\x2a\xe2\x62\x14\xe8\x3e\x83\x0b\xe4\xc4\x59\xce\x65\x69\xa6\x43\x13\x57\xb1\x9a\x7a\x48\x19\xb9\x83\x98\x5c\x4c\x63\x52\xec\x5e\x94\xca\xc4\xba\xb5\xc8\x69\x60\xdf\xf2\x2f\xaa\xa4\x78\xda\xad\x95\x74\x83\x3a\x39\xaa\xa5\x92\x6e\xb8\x3e\x39\x4a\x1f\x23\xa2\x8f\x34\xb7\x8f\x1c\x64\xa5\x56\x30\xf4\xa8\xed\x93\x62\xb7\x9d\xd3\xa1\x6a\xa6\x43\xd5\x47\x74\x68\xb0\xac\x43\x55\xbd\x43\xf2\x6c\xb8\xf0\x49\xf1\xc3\xc5\xb9\x6c\xfc\x3c\x88\xc5\x24\xb1\x43\x29\xd1\xc1\xe5\x82\xd3\x00\x3f\xda\xa2\xc0\x1b\x63\xbf\x6a\xb5\xc5\x9b\x7e\xd2\x8d\xc1\x80\xf5\x43\x91\xdb\x3f\xb9\x23\x1b\x8b\x3b\xd2\xb4\x7c\x9b\x7a\xa4\xd8\x6c\x24\xac\x68\x0f\x08\x6c\x6d\xce\x14\x83\x0c\xa5\x06\x9f\x78\x54\xa8\xfe\x15\x10\xf9\x3f\x1e\x53\xc7\xb5\x62\xea\xcd\x15\xfd\xe4\x19\x4f\xe9\xca\xd4\x53\x7a\x4f\xed\xa9\x32\x8a\x76\x8c\x50\x29\x7c\xf7\x82\x17\xdd\x30\x0c\x14\x87\x4f\xee\x9e\xc6\xa3\x88\xf3\x34\x84\x5a\xea\xf0\x48\xfb\x0b\xc8\xd7\xe5\x3b\x4a\x00\x42\x46\x2a\xf5\x19\xc9\x2f\x63\x01\x76\xc0\x81\x36\x00\x9e\xef\x81\x48\xdc\x93\x28\x0c\x19\x3c\x70\x79\xcb\x63\x32\x87\xab\x40\x4b\x42\xaf\x01\x10\xfd\x58\xcd\x07\x44\x5f\xf8\x18\x81\x50\x78\x53\x48\x2d\xf8\x69\x3f\x8a\xdd\x78\x1a\x53\x52\xec\x5e\xed\xe7\xed\x7d\xcd\xc6\x79\x0e\xf3\x2c\xe3\xe6\xc7\x78\xaa\xe8\x58\x78\x41\x2c\xb6\xba\xcd\x9c\x03\xa2\xd6\x5f\x3c\x07\x49\xa8\x0e\xfb\xa2\xd5\x6d\x66\x4a\x98\x23\x03\x14\xf8\xb9\xa2\xea\x9a\xc5\x5d\xe4\xd1\x65\x4b\xf3\x4e\x52\x43\x9d\x13\x77\xdb\x56\xb7\x99\xe3\x6e\x8b\xf4\x94\x26\x45\x58\xb3\xe8\x69\x29\xc7\x3b\xca\xe4\x57\x9b\x76\xef\xe1\xb1\xdd\x82\x54\x2a\x3a\x16\x1c\x48\x8b\x07\xb9\x2a\xdf\xcb\x41\xde\xca\x5d\x27\x3b\xc4\x9c\x48\x47\x20\x35\xbb\xa1\x31\xa1\x4d\x19\x33\x40\x54\x2a\x15\x25\x8a\xdf\xa1\xf7\xa4\xd8\x3e\x3f\x90\xc2\x73\xea\xde\x32\x1d\x09\xd4\x82\x32\x5e\x3e\x6f\x05\x24\xcd\x07\xa9\x0e\x1a\xfb\xbc\xb3\xc9\xfa\xac\xdd\xfa\x3e\x15\x0e\x96\x9f\x6b\xac\x29\x83\xf6\x00\x9e\xf7\xa0\xfe\x14\xcf\x5b\xa7\x39\x1d\xec\x4f\x63\xe2\x04\x34\xf2\x0b\x31\xb1\x1c\x07\x4e\xd8\x1c\x45\x73\x67\xcb\xd0\xbd\xd6\xd3\x8e\x5d\xb3\x82\x7a\x10\xcc\xfc\xc5\x0a\xea\xd4\xc3\xc0\x9a\x2e\x8d\x99\xae\xda\xcd\x99\xfd\x9d\x1d\x43\x57\xdf\xae\xd4\x55\xa1\x45\xea\x5f\x0c\x53\x63\x28\xa5\xc3\x50\xe1\x21\x4b\xc8\x43\xa7\xad\xeb\x37\xd3\x09\xdc\x0a\xf2\xb5\x97\x1d\xc7\xd0\xdf\xb3\x15\x2e\x2d\xd8\xee\xa9\x59\x00\xba\x68\x18\x42\x6d\xa1\x4e\x8a\xdd\x6e\x3d\xb9\x40\x62\x8e\x8d\x60\x40\x8e\xea\x44\xe6\x29\x01\xbe\xea\xb1\x77\x49\xb2\x16\x05\xd1\x78\xe1\x29\x6b\x18\x1e\x35\x0c\xef\x7c\xf1\xd1\xaa\x75\x7e\x83\x75\x7e\xc3\xd4\xf9\x8d\xbf\xbe\xf3\x03\x43\xe7\x2f\x16\x77\xfe\x80\xde\xb9\x36\x4d\x82\xcb\xd0\xf4\x50\x3c\x68\x76\x95\x43\x86\xc3\xb1\x58\xe4\xa0\xd9\x4d\x3c\xb5\xf1\x92\x81\x04\xd6\x04\x01\x21\x04\x60\xd7\xfe\xf4\xa1\xd7\xea\x9c\x01\x70\xdd\x63\xd5\x9d\x66\xe0\x47\xae\x43\xc3\xa4\x24\xeb\xd7\x41\xab\xd9\x79\xd7\xed\x96\x05\xce\x48\x2c\xa2\x99\x29\x1d\x13\xee\x82\xd1\xf7\x72\x44\xf7\x55\xd5\xc0\x9e\xcb\xc5\x27\x5a\x6e\x70\x41\xc6\x81\x33\x03\xf0\x61\x76\xde\xdd\x4d\x25\x92\x0e\x51\x38\xa6\x56\xe8\x50\x87\x34\x42\x6a\x91\x62\xf7\xb2\x21\x99\xff\xde\xf5\x3c\xd0\xab\x24\x1f\x72\x06\xb7\x6d\x18\xdc\xf5\x32\xa3\x8a\x93\x6d\xbc\xf5\x94\xc6\x5f\x1a\x1a\x7f\xbf\x64\xd5\x88\xb1\x0b\x91\xeb\x5e\x74\x1f\xdf\xb0\x69\xf7\xfc\xb0\xd2\x72\x4d\x16\xa3\x12\x47\x59\xec\x36\xdb\x65\xd4\x57\x0f\x5a\xcd\x76\x72\x56\xf2\xfb\xa0\x4c\xc8\xd9\x3e\xa8\x10\x72\xd1\x8f\x02\x38\xdd\xd9\xa5\x98\x0d\x05\xcd\x91\xc4\x2e\x90\xe2\x41\x23\x67\xc3\x7f\x65\x19\xba\x7c\xb3\x7c\x03\xd5\xa1\x7a\x10\xaa\xe8\x4d\x6d\xb7\x6e\xa7\x54\xc5\x45\x61\xa2\xc5\x66\xb7\xad\xc5\xe4\x78\xd4\xe2\xd9\x2d\xc7\x41\x94\xc5\x01\xe0\x4b\x1c\xa2\x47\x73\x46\xd3\x37\x8c\xe6\xd3\x4f\xad\x29\x73\x7c\x97\x88\x94\xc8\x89\xe6\x12\x5f\x2f\x5a\x90\xcd\x6e\x3b\xbd\xfc\x0c\x51\x4d\x92\x3f\x57\xdc\x9d\x54\x5e\x73\xd8\xee\xb7\x7e\xd1\x6d\xae\x5f\x9e\xad\x37\x2e\x9b\xc4\x0e\xc6\x63\xcb\x77\x22\x6e\x08\x93\xe6\x67\x81\xd9\xa2\x1a\x9e\x9f\xf1\xec\x58\xb0\x5b\x89\x5c\xa0\xc2\x53\xd5\x8d\xb9\xcf\xac\x15\xa1\xeb\x6b\xf2\x10\xa0\xb5\x1f\x08\x0b\x55\x7a\x82\x00\xec\x66\xc1\xa6\x53\xe0\x29\xe8\x72\xe6\xd0\x36\xcc\xe1\xe7\xcf\x8b\x57\x91\xc1\x32\x0e\xdc\x00\x1f\xd9\x52\x92\x2a\x97\xb3\x28\xa4\x1e\x96\xe6\x96\x93\x40\x56\xc7\x4c\x80\x39\x3d\x33\x29\x1b\x5f\x7e\x42\xba\x32\x77\x94\x0b\xe3\x1d\x25\x71\x06\x58\xc0\x54\xb5\x9e\x16\xf7\xa9\x04\xbb\xc9\xab\xf3\xcc\x4a\x47\x21\xa8\x1e\xb5\xf2\x21\x73\xd1\x25\x85\xf1\x55\x6d\xe6\xbd\x74\x7e\x76\x98\xca\x26\x02\xb2\x94\x20\xbe\x39\x8d\x17\xb4\x25\x49\xb0\xea\x15\x79\x37\xb3\xc2\x79\x36\x98\xe9\x53\xf5\x4b\x05\x80\xf2\x8a\xeb\xff\x28\x7e\x76\x5e\x94\x76\x8b\x95\x5f\x4b\xff\xb9\xce\x1f\x27\x31\xc0\x63\x9e\x74\x2f\x5b\x9d\xec\x31\xca\x9f\xea\x5f\x34\x07\x9a\xe4\xea\x76\x01\x57\x37\x56\xa4\xf6\xc5\x00\x27\x90\x7a\x4a\x36\x83\xe4\x5c\x74\x9b\x46\x9f\xf8\x6c\x6f\x4a\x25\x05\x53\x6a\xd1\x75\xee\x22\x75\x9d\x83\x37\x5a\x7b\x4e\xce\xf8\x03\x42\xf1\xf2\xec\xf1\x87\x96\x49\xc7\xfc\xc7\xbf\x52\x0f\x69\x24\xce\xab\xe4\x92\xe7\xc3\x13\xe7\x48\xb1\x71\xd9\x7c\xfc\x10\x4d\x9a\xe8\xd7\x7f\xe5\x10\x21\x52\xf5\xbe\x5e\x25\x6b\xe4\xca\x07\x3f\x05\xc8\x1e\x06\x00\x3c\x08\x8a\x12\x51\x12\x80\xe3\xa8\x15\x53\x07\x72\x24\x45\x6e\x1f\x32\xa6\xe2\x1b\xd1\x52\xa5\xfc\x35\xc6\x38\xca\x96\x0e\xc9\x9a\xd0\xff\x5f\x12\x05\x66\x07\x1f\x9f\x15\xf7\xe6\x88\x14\xbb\x2f\x9b\x35\x3c\x7a\x54\x0a\x47\x09\x85\x9d\xa5\x14\x76\x14\x0a\xda\xcf\xf9\x3e\xe0\x16\x27\x7d\xb6\xa2\x68\x3a\xa6\x04\xda\x24\x96\x37\xb3\xe6\x51\xfe\x04\xa7\x47\x75\x0a\x7d\x8a\xd1\xf9\xdb\x0e\x10\x42\x82\x6d\x71\x1e\xbd\xa3\x1e\xa9\xa5\xc7\x70\xb6\xb8\x7c\x3d\x5d\xfe\x7c\x71\xf9\x8d\xec\x7b\x33\x13\xb8\x7a\x75\x65\xe1\xe2\xd2\x93\x5b\x74\x25\x13\xd5\x6a\x3e\x1f\x8b\x3c\x3e\xc4\xd1\xf0\x1a\x86\x5e\x65\x43\x07\x97\x8f\xd1\xaa\x68\x12\xb0\x73\xfd\xd0\xf2\x9a\xa1\x02\xfa\x1f\x05\xfd\xa1\x37\xcd\xad\xff\xf8\xd7\xb0\x8a\x1b\xf3\x76\x0a\x25\xe1\xa5\x2c\x9c\xae\x1a\x9e\x3b\xf4\x21\xfb\x4c\x8f\x5d\xe9\x8a\x07\xad\x66\xe3\xf4\xdc\xec\x14\x3b\x70\x3d\xaf\x58\x68\xc9\x08\xce\xc7\xb3\x89\x46\xee\x10\xd4\xa9\x0b\x78\xe9\x6e\x22\xea\x16\xd7\x62\x8a\x07\x17\xcd\x8c\xa9\x06\xb8\xf6\xff\xfd\xcf\x72\x4d\x1c\xd1\xd2\xa6\x2d\x12\x2d\x2a\x50\x61\x1c\x9e\x09\x40\xc2\x29\x0f\x4a\xc7\x6c\x37\x4c\x11\xc3\x23\x3f\x05\x1f\x62\x80\x37\x2b\x69\x98\x11\x7c\x96\xd6\x0b\x89\xdf\xd2\xe2\xa9\x5d\x11\x9e\x22\x4f\x05\xb9\x0c\x03\x9b\x46\x91\x0e\x81\x16\x32\xf1\x8d\x78\x62\x6e\x19\xac\x61\x2b\x20\x10\x08\xf2\xf6\x77\x09\xf0\x86\x8e\x75\x32\x07\x6c\xab\x79\xd6\x20\x1b\x5b\x95\x94\x2b\x59\x02\xd3\x57\x4c\x20\xf0\x14\x87\x33\xd5\xc1\x4b\xb4\x71\x94\xd7\x86\x00\x64\xcc\x6d\x81\xc3\x41\x2e\x26\xbf\xae\x93\xbf\xf0\x99\xae\x38\x27\x71\x68\xf9\x3c\x31\x4a\x1c\x00\x68\x0f\x82\xad\x31\x2d\x28\x69\x73\x85\x95\x97\xc7\x40\x6d\x80\xe8\x0f\x09\xf0\x8d\xa7\x72\x17\x4f\x15\x7b\x6b\x28\x56\xcf\x16\x6b\x1b\x8a\x6d\x54\x34\x57\x50\x0c\xe5\x05\xcc\x76\xc8\x22\x8d\x45\x61\x7b\x8f\x0c\x10\xce\x0b\x98\x2b\x10\x05\x4b\xbb\x5a\x69\x9d\xcf\x24\xeb\xad\x87\x3f\xab\xf8\xec\xf1\xa1\x19\xe3\x45\xd9\x5e\xfb\xff\x91\x75\x79\xd1\x33\xc7\x63\x8e\x4a\xe6\xde\x89\x3f\x7f\xe4\x88\x47\xa6\xcb\xab\x75\x77\x51\x57\x1f\xd1\x51\xa5\x93\xd9\xe0\xef\xd5\x36\x5a\xdd\xda\x89\x6a\x0c\x93\xe7\x62\x57\xb1\x2d\xe2\xc1\x5f\x24\x97\x11\x3f\xf6\x33\x8f\xc2\xc5\xeb\x5e\xad\x5a\x55\x55\xa3\x92\x52\x3a\xfd\xa6\x5d\xbc\xee\xd5\xeb\x5a\xe9\x5f\x95\xd2\xf5\xa5\xa5\x5f\x28\xa5\x37\x96\x96\x5e\x5b\xdc\x93\x0d\xbd\xdf\x95\xc5\x3d\x49\x95\x5e\x5f\xdc\x13\x51\x1a\xd4\x77\xcf\x33\xba\x6d\x51\x7b\x14\x64\x41\xfd\x4c\x87\x5b\xd1\xa0\xae\x97\x0c\x9f\xfd\x6a\xf8\xec\x85\xe1\xb3\x35\xc3\x67\x15\xc3\x67\xeb\x79\x87\x2a\xc6\x8f\xfe\x8f\x28\x24\x1c\x59\xc2\x70\x75\x5d\x74\x9a\xa5\x3a\xb5\xf0\x98\x83\x34\x27\xd6\x64\x61\x26\x1b\xa9\xf7\xb1\x9e\xb1\xc2\xcf\xf7\xf6\x88\xcc\x65\x98\x3a\xa3\x79\x60\x68\xa1\x58\xc8\xf8\x76\x43\xd2\x9e\xb1\x35\xd9\xcd\x3a\xfb\xcb\x6a\xa5\x02\xf9\xe3\x0f\x22\xff\x5c\x33\x50\xa9\x2d\xa7\xf2\xab\x4e\xa5\x62\xa0\x52\x5f\x4e\xe5\x85\x4e\x65\xdd\x40\x65\x23\x45\xe5\x19\x31\x04\x31\xe4\x06\xb0\xa6\x70\x35\x84\xad\x40\x5f\x50\x00\xac\x2b\x3c\xae\xc9\x0b\x52\xe0\x98\xba\x72\x56\x9e\xba\x09\xee\x5b\xf6\xad\x78\x6b\x3b\x68\x35\xf7\x13\xf3\xeb\x75\x6f\xb3\x8e\x5e\xcd\xd3\x49\x85\xac\xfc\xd4\x03\xcb\x66\x7b\x89\x85\xdb\xba\xa3\x84\x47\xa1\x16\x21\xb6\xc0\xa8\xd1\xe6\xbb\x1a\x9a\x02\x04\xf4\x54\xa2\x90\x6f\x4b\x69\xa2\x63\x6e\x22\xdf\xe1\x2f\xc7\xad\xff\x87\xe6\xed\x35\xb3\x42\x47\xe1\xde\xa1\xca\xbd\x7a\xed\xa9\xdc\x7b\xb5\x98\x7b\xaa\x31\xe4\x96\xce\x27\x96\x03\x8d\x9f\x5c\x36\x32\x7e\x73\x40\x6e\x6f\xb9\xed\xde\x14\x25\x7c\x82\xa4\xf7\xb2\x68\x1c\xe7\xec\xc6\xeb\xe9\x6d\x67\x7d\xf6\xa0\xed\xdf\x7f\xb2\x6d\x0e\x6f\xa2\x9e\xda\xd2\xc1\xcd\x0b\x66\x34\x44\x17\x37\x3b\x08\x7d\x4c\x25\x14\xc1\x8d\x6d\xb1\x39\xe8\x99\x92\x31\x9f\x27\x21\xb1\x83\xa1\xef\x3e\xa0\x23\x33\x3a\xdc\x4a\xdc\xe3\xd1\xe4\x94\x35\xc4\xda\xd9\x9f\x0e\x9b\xc1\x78\x62\xc5\x24\xa4\xdc\xf3\xdd\x8d\xd0\xde\x9d\xb6\x33\xc1\xe8\x0f\x17\x4f\xe4\xe1\xd4\xf3\x78\xda\xdb\x62\xa7\x6d\xbe\xd5\xd9\xb9\x0c\x54\x70\x42\xd3\x2f\xd9\xfc\x0b\x85\x6b\x67\x74\x1c\x84\x73\xb8\xa3\xad\x4f\x7d\xf6\x9f\x95\x2d\x66\xd0\x0d\xcf\x70\x36\x8e\x17\x8f\x4e\x71\xaf\xab\x93\xe2\x69\xb7\x5e\xd2\xbd\xeb\xc0\xf1\x29\xfd\x60\x6e\x45\x59\x0f\x3b\x68\xcc\x5f\xe6\x5e\x57\xd7\xdd\xeb\x94\xd6\x37\x58\xeb\x1b\xa6\xd6\xd3\x2f\xde\xb9\xad\x07\xcb\x5a\xdf\xc8\x6d\xbd\x5e\x26\x1d\xf0\xe6\x65\x9d\xe8\xac\xda\x8b\x8e\xa9\x17\x7f\xe4\xf7\xa2\xf3\x88\x5e\xd4\x8d\xbd\x30\xcd\x84\xb1\x17\x3f\x96\xf5\x22\x7f\x26\x6a\x4a\x2f\x6a\xc6\x5e\xd4\x56\xed\xc5\x7f\x2f\xeb\x45\xca\xff\x13\xe3\xaf\x89\x6b\x07\x3e\x22\xe8\xb3\xad\x79\xe6\xfa\x4e\x30\x23\xb1\x1b\x7b\x54\x79\x04\x83\x3d\x01\x61\xf2\xa0\x57\xe9\x62\x7a\x54\xc3\xa7\xc2\x12\xd3\x9e\x01\x05\x81\xd1\xeb\x31\x72\x26\xd3\xbf\xa9\xdf\xcb\xba\x50\xd7\xd7\xa2\xe8\x96\x86\x72\xb1\x1e\x52\xcb\x21\x76\xe0\x05\x21\x99\x58\x1e\x8d\x63\x23\xa9\xcd\xa5\x6e\x8c\x8d\x70\x18\x11\x3b\x18\x43\x78\x02\xa4\x3a\xe2\x71\x53\x05\x00\x31\xab\xed\x86\xc3\x7e\x8d\x54\x2a\x15\xb2\x0b\x1f\x9c\xb3\x0f\xce\x0b\x0a\x00\x32\xde\xb0\xa3\x89\xe7\x4a\xbf\xf5\x88\x8e\x5d\xd6\x37\x9f\x03\xec\xd0\xd0\x8a\xa9\x48\x0d\xc0\xe1\x0c\xdd\x50\xe6\x87\x33\x63\xda\x7d\xaa\x7e\xa9\x00\xd5\x62\x61\x97\x5b\xe0\x20\x6b\x89\xe5\x86\x4d\xc8\xbc\xac\x64\x99\x56\xa1\x43\xd7\x49\x5d\xa2\xe5\x01\x83\x2e\x91\x3f\x42\x23\x8e\x17\x66\x28\x55\x2a\xec\xa6\xd2\x0b\x36\xc2\xd0\x9a\xf3\x94\xfa\xcf\x08\xa8\x71\x45\xd1\xa3\x73\x8c\xaa\xd9\x23\xd5\x5d\xf5\xef\xdf\x92\xee\xee\x92\x17\x2f\x92\x6f\xb4\x1b\x04\x6b\x13\x15\x8f\xd4\x90\x3e\x29\xa4\x7e\x25\x75\x81\x9a\x26\x2b\x41\x1a\x6b\x78\xec\xca\x94\x25\x2f\x88\x06\x02\xa7\x34\xf2\xfb\x9e\xc6\x17\x01\xa9\x96\x28\xb0\xb1\xeb\x4f\x69\xba\x2e\x6f\x0b\xf0\x55\xb5\xa7\xc1\xc2\x9b\x02\x19\x53\xcb\x8f\x00\x0d\x0d\xf1\xf9\x31\x13\x18\x87\xa5\x54\x1c\xd5\x51\x60\x95\xa4\xde\x44\x1f\x88\xe7\xf6\x71\x0a\xa2\x4a\x38\xec\xf7\x82\x0f\xb5\x5a\x51\xed\xeb\xa7\x64\x18\x09\x84\x9c\xde\xc5\xc4\x3e\xa1\xcd\x1b\xe2\xf5\x2a\x5c\x78\x41\x0a\xbb\xa8\x84\xcb\x9a\x89\xb5\x4c\xf2\x40\x51\xc7\xf3\x3a\x7a\x5f\xab\xf5\x82\x66\xb7\x5b\xd4\x28\xe5\x77\x2c\x6f\x3c\x64\x4f\x69\x62\xd7\x94\x54\x09\x07\xa2\x4e\xd7\x52\xaf\x8d\x2f\x9b\x30\x48\x9d\x02\xa6\x1e\xd8\x2d\x94\x18\x13\x10\xde\x49\xdb\xa7\xdc\x1e\x0d\xc7\x75\x32\x0c\x83\x19\xa8\x13\xee\x80\xab\x72\x69\x0b\xff\x45\xa2\xe1\x2e\xda\x63\x40\x3f\x03\xc3\xb1\x33\x1d\x4f\x84\xf9\x35\x76\x43\xaa\xa4\x9c\x01\x88\x4e\x19\x4f\xc5\xb7\x3f\x68\x7c\x5e\xfc\x67\xa1\x1f\x38\xf3\xc2\x6b\xc3\x16\xf1\xc3\xb8\xc5\x82\x19\x07\xf3\x11\x0c\x82\x90\x0e\x11\x73\x03\xd8\x6b\x1a\x42\x6d\xc9\xae\xbf\x68\x9f\x14\x01\x5c\x7d\x40\x65\x8c\x43\x0b\xb7\x33\x48\x58\x60\x8f\x00\x8d\x9f\x47\x69\x42\x3c\x9e\xeb\x0f\x91\xe0\x45\xb7\xa9\xbd\x9c\x3c\x62\x27\x54\xa0\x3e\x33\x89\x53\xe5\xde\xd0\x08\x87\xda\x2e\xf8\xa1\x56\xcb\x91\x5b\xd8\x3c\xc1\x49\xbd\x58\x92\xd4\x45\x9d\x1c\xbc\xa7\x43\xc9\xd5\x26\x2b\x98\x14\xdf\x55\x31\x18\x13\xd8\x4e\x99\x18\x20\xe7\xb1\x7e\x18\x25\x52\x89\x8b\x27\x35\x43\xb5\xc2\x97\x3c\xf8\xaf\x2f\x59\x1c\xa8\xac\x18\xb0\xad\x68\xa9\x18\xd4\xfe\x4f\x0c\x1e\x27\x06\xfb\x92\xab\x26\x31\x58\x87\xf7\x6b\xfa\x9a\x83\x0e\x8b\xfc\xb5\x6c\xc8\xb5\xfa\x0b\xc0\xea\x75\x38\x73\xb8\x57\x52\xe5\xaf\x11\x9e\xfa\x72\xe1\x21\x4c\x1c\x0c\xe9\x9d\x78\x0c\x56\x34\xb2\x26\x52\xad\x4c\x80\xef\xdd\x04\x45\x8f\x07\x96\xf0\x28\x10\x70\xd2\xfb\x85\xe7\x78\x66\x75\xf7\x30\xee\xf6\x97\x32\xf7\x01\xe0\x61\xb8\x78\xe5\x44\xa4\xb2\xd7\xd2\x4c\x5d\x25\x6b\x64\x9f\x5d\xec\xf0\xcf\x1a\x59\x23\xed\xb5\x7d\x6a\x8d\xf1\xef\x3a\xf8\x15\x38\x34\xf4\x5c\x9f\xa6\xee\xc0\x16\x3c\xdd\x03\x56\xa2\x43\xd7\x06\x96\x1d\x07\x24\x12\x69\x3c\xf9\x0c\xe0\xd5\x18\x76\x79\x52\x07\x15\xed\x84\x5b\xad\xc0\xc3\x0b\x02\x6c\x20\xdf\x17\x98\x73\xae\xba\x1d\x25\x96\x0a\xec\x59\xd8\x79\x2e\xdd\x22\x21\x7a\x36\x24\x12\xb3\x92\x48\xd6\xa5\x97\xdb\xd6\x92\x5d\x77\xf1\x4a\xe0\x1e\x42\x2a\x8b\x8b\x95\xd2\xba\x9b\x5a\x18\x46\x64\xb9\x26\x28\x29\xec\xa2\x8c\x20\xd9\x4c\x22\xb7\xaa\xd0\x18\x9a\xe2\x8c\x9a\x3c\xc9\x02\x13\x8a\xc7\x2e\x0e\xba\xab\x27\x12\xae\xf1\xd7\x29\xb5\x8b\xb5\xd7\x7c\x26\x73\x41\x21\x94\xd2\x3c\x8b\x51\x4f\x8f\x06\x80\xaf\x2a\xfb\xad\xc6\xd9\x82\xd4\xbc\x75\x43\xdb\xf5\xd7\x89\xd4\xfc\x6c\xf3\x57\xe7\x07\xad\xce\x69\xfb\xbc\xb5\x10\xaf\x22\xd3\x85\xea\x6b\x94\xeb\x9f\x1e\xfd\xe9\x45\xf3\xc4\x08\xff\x87\x17\x23\xf4\xf3\x23\xb6\xe7\x4e\xd0\x1e\x25\x3d\x6b\x2d\x87\xad\x12\xcd\x46\x42\x1d\xe2\x4c\x29\xa6\x5d\xb3\xa7\x90\xac\xd5\xe6\x0e\xe1\x5c\xeb\x21\xa4\x41\x42\x3a\x0e\x62\x4a\xac\xc9\x04\xc2\x76\x47\x16\x06\x2c\xf3\xb4\xd8\xfd\x20\x1e\x91\x59\xe8\x72\x34\x03\xe8\x04\x5f\x05\xb2\x13\xc4\x06\xb1\xa3\x51\xc4\x94\x1f\xcb\xf3\xe6\x40\xc9\xba\xa5\x88\x88\x3f\x0f\xa6\x21\x89\x68\x14\xa5\x00\x20\x12\x02\x8e\x15\x5b\x4f\x49\x59\xf9\x0c\xb2\x2e\xe5\x24\x23\xc4\xb5\x58\xff\x89\x9b\xa2\xec\xe0\x6e\x7f\x7b\x73\x8d\x75\x52\xde\x0f\x89\x3e\x02\xa4\x34\x51\xf7\x4f\xe1\x79\x1a\xa1\xeb\x11\xba\xb7\x72\xf0\x8c\x0f\x49\x4d\x00\xbb\xb0\x1c\x27\xa4\x11\x38\xa2\xba\xbe\xcd\xb3\x9c\x27\xb8\xac\xae\x1f\xd3\x21\xf7\xf4\x04\x2c\x84\x0f\x80\x5b\x8f\x8f\xbf\x98\xf7\xd7\xf3\xb4\x47\xdf\x95\xb6\x98\x7f\x7c\xb2\x27\x51\xb5\x56\xdf\xd8\xdc\xda\x7e\xf9\xe5\x57\xf0\x46\x5c\x5f\xe1\xfc\x85\xd9\xda\xe3\xd7\xfd\x8a\x15\x07\x7d\xb9\x4f\x88\xca\xac\x88\xe9\x68\xb5\x83\xc9\x9c\xbb\x98\x05\x4d\xc1\x02\x2d\x3b\x28\xd4\xd4\x75\xdf\xab\xce\xfd\x5d\x4c\x26\x34\x04\x5c\xd3\xa9\xa7\xc2\x45\x24\xa9\x6b\x84\xdb\x35\xae\x10\xe0\x7e\x7f\x4e\xc2\xfb\xbb\x78\x6d\xea\xbb\x32\xb7\x8f\x1b\x47\x19\x52\xe4\xa2\x0f\x48\x48\xde\x9c\xb1\x55\xa6\x76\x83\x43\x1d\xca\x06\x21\xb1\xa7\x51\x1c\x8c\x45\x2d\x81\x6b\xe0\xb9\x90\x5a\x7e\x40\x67\xe0\xc8\x0c\x81\x5e\xec\xd4\x8b\x04\xa0\x0a\x19\xb8\xbe\xc3\x53\x05\xc9\x5e\x53\x7b\xe4\xbb\x36\x5b\x28\xac\xe7\x21\xc5\x95\x4b\x30\x8f\x50\x82\xfc\x8b\xee\xe4\xbc\x45\x12\xf4\xe9\x1c\xdc\xc8\x7e\xc3\x4f\xc0\x42\xf4\xfb\xae\xf8\x8b\xcd\x40\x99\x4c\xa3\x29\x90\xdd\x95\xa9\x6b\x9c\xdf\x0d\xab\xe2\xe5\xcb\x97\xab\x1c\x51\x73\xa1\x61\x4d\x19\x1b\xcf\x02\x67\x89\xee\x56\x26\xb5\xd2\xa7\xea\x17\x2d\x13\xbd\xa8\xaa\x1f\x21\x78\xff\x51\xd3\x8c\x1f\xc2\xe0\x95\x0f\xb0\xc8\x2e\x58\x93\x76\xf9\x05\x8a\x7f\xcb\xba\x04\x9f\x97\xc5\xcd\x4a\x6c\xd6\x4b\xfd\x6e\x3f\xfd\x63\xf7\xcb\x8b\xdd\x22\xfb\xcf\xaf\xa5\xe2\x6e\xf1\xd3\xe7\xe8\x73\xf7\xcb\xaf\xa5\xd2\x1b\xe9\x87\x6b\xf0\xc4\x25\xd8\x1c\x77\xbf\xad\x7d\x49\x9e\xf8\x05\x06\x06\x7e\xb3\xf1\x25\x0d\x9c\x95\xba\xee\x01\x99\xc2\x6b\xd1\x7b\x71\xfd\xe3\x54\x7e\xac\x02\x92\x64\xf6\x4d\x00\x36\x73\x59\x59\x72\xd4\xe7\x81\x20\x71\xc0\xdd\x62\xdf\xb3\xfc\xdb\x92\x1a\x27\x59\x6c\x37\xdf\x66\x02\x31\xba\xed\x4f\x85\xbf\x3f\xc6\xa8\xe8\x02\xfd\xee\xc4\xb2\x35\x8b\xa2\x6b\x85\x43\x4c\x80\x56\x32\xbd\xa1\x5c\x4d\x48\xb1\x79\x75\x65\x6c\xbe\xf1\x98\xe6\xf1\x98\xbd\x9a\x3c\xa2\xed\x03\xc6\xd9\x62\xf3\xea\xc0\xd8\xfa\xfe\xe3\x5b\x87\x80\xc7\xd5\xdb\x17\x8f\x77\xc5\xe6\xd5\xa1\xb1\x0b\xcd\xc7\x77\x01\x6c\xdb\x8f\xe8\x03\xbb\x09\x89\x4e\xec\x1b\x3b\x71\xf0\xf8\x4e\x00\x32\xc9\xea\x7d\x50\x22\x5b\x9b\xe7\xa7\xa5\xf4\xee\xef\xb9\xb7\x54\x9d\xb2\x32\xe4\x47\x99\x68\xf7\x9c\x71\x70\x47\x25\xae\x14\xa0\x0a\xf9\x49\x6e\x5b\x46\x0c\x60\x3d\x20\x63\xa7\x97\x76\xee\x80\x51\xb6\xfe\xe4\xd9\x7e\x24\x58\x05\x1f\xde\x25\x53\x81\x40\x27\xe2\xec\xb8\x5c\xcc\x8e\xab\xc9\x5f\xc2\x8c\xc3\x3f\x75\xe1\x3d\x8d\x15\xc9\x1b\x4c\xa3\x1f\x05\x1e\x44\xf5\x37\xdf\x66\x03\xc6\x58\x7f\x8f\x1e\xf9\xf8\xa1\x35\x6f\xec\x36\x59\x4b\x67\x18\x14\x33\xc4\x23\xbe\xd9\x7a\xb9\x34\x76\xe6\xed\x93\x3a\x23\xe8\xe6\x77\xc7\x94\xb6\x24\xfd\x93\xae\x5c\x5b\x38\x16\xb1\xff\x28\x81\xd8\xc5\x26\x47\x0c\x4a\x8f\xaa\xbd\x5c\xa1\xb0\xd5\xd7\x8d\xf4\x08\x98\x18\x88\x02\x98\x75\xd6\xf6\xac\xf1\xa4\x08\x9f\x95\x49\xad\x9c\xc5\x56\xa5\xd4\xef\xba\x0f\xb4\x32\x73\x1d\x9e\x39\x45\x3e\x5d\xb8\xf8\x62\xe1\x92\xdf\x90\xe8\x2e\x71\x5f\xbc\xd0\x50\x26\xe2\x7c\x34\xa1\xd4\xb9\xd8\x0a\x99\xca\xe2\xfa\x90\xe0\xc3\xb3\xe6\xa4\xd8\x3a\x28\x23\x92\xba\xf9\x60\x38\xd6\xdf\xa1\xe1\xb3\x37\xc7\xab\x38\x69\x71\xb5\xdd\xa8\xc2\x68\xa9\x90\xc8\x1f\x7f\x60\x41\x25\x35\xa9\x3e\x2c\xca\x7a\xbd\x4f\xbd\x60\x56\x4c\x63\xd5\xf3\x8a\xb5\x05\x15\x1b\xfd\x40\x20\x5a\x66\x2b\xd6\xcd\x15\x15\xdc\xca\x6c\x9d\x0d\x3d\x17\x29\xf7\x5f\x70\x02\x3b\x22\x91\x35\x47\x9c\x3e\x7c\x6c\xf9\x05\xf9\x0d\xae\x2d\x08\x4f\xf0\x8b\xc8\x49\x53\xf0\x3c\x34\xb7\x43\x53\x82\x1c\x80\x8d\xf0\xa9\x89\xd8\xf5\x89\xdc\xba\x9e\x27\xa3\xb8\x38\x9a\xb6\x7d\x0b\xf1\xcd\x11\x09\xa7\x02\xb9\x32\xbf\xfb\xc6\xe9\x47\xe0\xa7\xd6\x29\x9f\xfb\x2c\x12\x05\x9b\xe7\x13\xd3\xdc\x9f\xfc\x2b\xe6\xbe\x17\xe0\x51\xff\x84\xd9\xef\x05\x70\x40\x3f\x6e\xfa\xa1\x26\x3b\x95\x0c\x3c\xe4\xaa\x25\xfb\x96\x69\x93\x66\xd6\x9d\x3e\x5e\x99\x04\x82\xab\x28\x12\x1c\x40\x84\x77\xe0\xc0\xdc\x81\xb3\xc7\x74\xc0\x01\x8a\x8f\xed\x40\x53\x51\xaa\x0f\xb8\x52\xfd\x2c\xc1\x27\xc3\xe0\x4f\xb0\x55\x47\x12\x28\x0d\x5e\xed\x20\xa5\x8a\x47\x07\x71\x39\x01\x8f\xb4\xb4\x43\x5d\x40\x8d\x98\x46\xb6\x24\x3e\xdf\x34\x32\xd6\xd3\x95\x46\xc6\x61\xb1\x99\x9e\xde\x35\xab\xe9\xdd\xc7\xb4\x7e\xc7\xf1\xef\x57\x53\xd4\x79\xe3\xa8\xa8\x77\x71\x3b\x26\x0d\x2f\x0a\x48\xa1\xed\xbb\xb1\x6b\xc5\x94\x8c\xdc\xe1\xc8\x43\xac\x3a\x80\x3b\x8f\x43\x0b\xf2\xc8\x14\x2a\xc4\xe0\x58\x84\x5b\xd1\xc4\x0a\x33\x41\x79\x6c\x28\xbd\xc5\x43\x49\x45\x9e\xaa\xd6\xfe\xdf\xd8\x92\x33\x2c\x1b\x31\xde\x55\xaf\x06\x9d\x24\x05\x08\xc7\xe6\x1c\x50\x2b\x9e\x86\x54\x22\xb3\xe2\x55\x15\xb2\x81\xa4\x53\x27\x8a\x07\x6a\xc5\x6b\xfc\x13\xf9\x9d\x5c\x46\xa4\x27\xe3\xf2\xc2\xb1\xe5\x79\xf3\x32\xf9\x05\x5c\xb4\x7e\x11\xb0\x95\x3c\x3f\x30\xb6\x55\x21\x6d\xb0\x12\xf2\xf0\x3e\xb0\x14\xf2\x72\x32\xc1\x64\xdf\xf5\xdc\x78\x9e\x24\x9e\x94\xdd\x04\x70\xdd\xf1\x04\x33\xb7\x5a\xc4\x71\x07\x60\xbf\x8b\x65\x2f\x05\xa6\x07\x0c\x84\xd1\x1a\xf3\x48\xbd\x38\xd0\x83\x08\x2f\x23\x9e\x96\xe6\x75\xf2\xbc\x70\x10\x60\x2a\x23\x1a\x73\x03\xd5\x3a\xb8\xd3\x78\x56\x9f\x7a\x11\x99\x42\x74\xef\x88\xde\x5b\x0e\xb5\xdd\x31\xfa\x71\xf3\x97\x08\x5e\xf3\xfb\x94\x86\xf3\xc7\xd4\xad\xaf\xd8\xaa\x08\x75\x61\x75\x36\x56\x6e\x4f\xd6\x5a\x2d\x72\x94\x09\xe9\xef\xbd\x25\x88\x15\x70\xa2\xa9\x5b\x51\x2b\xe7\x7e\xff\xe1\x31\x2b\x57\x3b\x75\x9e\x70\xc1\xd4\xb4\xcc\x7d\xb3\x96\x79\xf3\xff\xaa\x96\xd9\xe7\xa3\xcc\x57\x33\x93\xfb\x8c\xbc\x42\x24\x17\x9b\xb7\x0a\x9e\x48\x17\x3c\xc3\xa2\xa7\xdc\x83\xfe\x2b\x05\x60\xc6\xef\x46\x0b\x3b\xd1\x01\xd0\x81\x3b\xe8\x44\xc7\x48\xd5\xfa\x99\xdb\xd5\x12\xdc\xa5\xbc\xdc\x7d\x0b\xee\x34\xc6\x4d\x73\x22\x42\xfb\x26\xf2\x06\x3d\x0c\xad\xc9\xc8\xb5\xb5\xe4\xc3\x8f\x03\x0c\x62\x83\xef\x2f\xf1\x22\xa7\xbe\x23\xe0\x81\x12\x87\x2c\x52\xbc\x0c\xdd\xb1\x15\xce\xc9\x41\x32\xaf\x3a\x74\x8f\xb8\xcd\x8f\xac\xd0\xc1\xf7\x10\x78\x4b\xe0\x99\x6a\x49\x01\x5d\x00\xe0\x35\xa0\x81\x59\x0f\x1d\x02\xb9\x7f\x10\x57\x82\xcd\x44\x01\xf5\x66\x37\x06\x54\x8d\x3e\xc5\xe3\xc2\x0e\xc2\x10\xd2\xf4\x72\x72\x16\x81\x88\x9c\x24\x4d\x54\x00\x2f\x10\xbf\xa2\xf1\xda\xf3\x08\x4f\x69\x4f\x0a\xb9\x7c\x29\xc0\x79\x69\xc0\x86\xce\xb8\x06\x9b\x0e\xcc\xe7\x86\xd7\xef\x3f\xfe\x30\xbe\x89\xe7\x6a\xbc\x0b\x71\x5d\x32\x8f\x69\xe6\x29\xe9\x52\x3b\xf0\x9d\x9f\x9f\x94\x82\x81\xeb\x8c\xd4\x4a\x8c\xd7\xb8\x0e\xf3\xa5\xb3\x1d\xdc\x98\x56\xe2\xfc\xef\x4b\x58\xbf\x9c\x81\xbf\x57\x77\xeb\x5b\xdb\xbb\xd5\x34\x38\x0e\x98\x9e\x0c\x9b\xd4\xf5\xa5\x79\xd7\x71\x1e\xb9\x3f\x08\x8a\xb8\x13\x74\x82\xd9\xaa\x26\x18\x05\x3b\x8e\xe9\xd1\x12\x4e\x37\xb1\xc9\xbc\xbd\xbe\xcc\xdb\x47\x97\x1b\x6e\x06\x86\xdd\xf3\xad\xba\x7b\xf6\xac\x3e\x69\x02\x2a\x42\xb1\xb7\x9f\x85\x7f\x64\xe5\x87\x7f\xd5\x7a\x58\x5f\xe7\x4d\x0b\xe0\x65\x76\x3d\xc0\xab\x41\xee\x6d\x97\x1f\x46\x0d\xbe\xe7\x16\x21\x90\x21\x7d\xeb\x33\xb7\xbb\x91\x69\x17\x9e\x20\x05\xe8\x73\x6e\x93\x0d\xcf\xe3\xad\x46\x86\x33\xb0\x4b\x45\xc2\xbf\x6e\x16\x5e\x99\xb1\x6f\xb4\x04\x3a\xd3\x70\x32\x9b\xf5\xf1\xec\x51\xad\x24\x2b\xcc\x8c\xd9\xfd\x52\x86\x08\x93\x6c\x8f\xd3\x29\x27\x10\xa9\x10\xd3\xec\x19\x47\xf0\xe6\xaf\x1d\x02\xcf\xdb\xf7\x88\x11\x9c\x51\xc7\xb5\x48\x33\x98\xcc\x49\xf1\x0c\x85\x36\xf5\x59\x19\x61\x06\x26\xd4\x76\x07\xae\xad\x42\x5f\x45\x34\xc1\x6f\x12\xf8\x9a\x78\xc8\xba\x3e\x3b\x50\x4d\x17\x2c\x13\x53\x5c\x93\xd5\xc4\x5d\x82\x04\x0f\xb7\x0a\x94\x96\x8e\x59\x5a\xbc\x7f\x9d\xb4\x28\x4b\x69\xa1\xb8\xf0\xc8\x1a\x4c\xc8\x68\x16\x98\xbf\x76\x14\x8b\x04\x26\x67\x10\x8a\xc6\xa9\x1e\x9f\x47\x09\xca\x77\xdb\xe0\x19\x0f\x4f\xe5\xc1\x20\x41\xf4\x2a\x03\xd6\xe0\x5c\x18\xea\x2c\x41\x8b\x47\x35\x44\xa4\x6f\x45\x88\x8a\xcc\xbd\xef\x45\x4d\x7e\x8d\xad\x98\xb8\x35\x5e\x11\x5b\x77\x48\xe3\xfa\xd6\x76\xd1\x55\xc1\xaa\xf2\x6e\xee\xc4\x25\x2f\x48\xdd\xb4\x07\xbb\xe0\x8d\x4e\x9e\xef\x91\x2d\x1d\x59\x97\x27\x51\x52\xbc\x27\x32\x6a\x2a\x10\x2d\x93\x6a\x92\xa0\x5e\xed\x5c\x2f\x9c\x52\x74\x3d\x5c\xbd\x8b\x5b\x8b\xbb\x58\x37\x76\x51\xbc\xa7\x87\x86\x2b\x93\xd6\x45\x2c\x36\xcc\x29\xb6\xa1\x17\xeb\xe7\x14\xdb\xc4\x62\x2a\x5f\x0a\xe1\xb0\x5f\x04\x5f\x6e\xc8\xc9\x5c\x66\xbf\x0e\x93\x5f\xfb\xec\xd7\x52\x41\x32\x09\xcc\xa4\x71\x1c\x46\xab\x84\x3d\x24\x76\x53\x33\xe3\x04\x6b\x81\xa0\x1a\xac\x96\x71\x88\x7b\xe2\x2a\x33\x1a\x75\x91\x1b\x0a\x27\x84\x71\xf5\x37\xb2\x51\xd5\x83\x94\x15\x3b\x2f\x1c\xb5\x3c\xaa\xb1\xc8\x4d\x25\xa5\x04\xe0\xc1\x30\x84\x3c\xb3\x2f\x26\x74\x0a\x3c\x27\x5d\xbb\x1f\x78\x49\x2c\x65\x1e\x85\xba\xa0\x70\x68\xb9\x7e\x9c\x26\x31\x60\x1f\x2e\xa5\xb1\x21\x93\xfc\xc6\x96\xe7\xda\x69\x22\x2e\x7c\xba\x94\x8a\x4c\x15\x9c\xf1\xfe\x13\x84\xa6\xe2\x8b\xa5\xb4\xb6\x24\x5f\x3c\xd7\xbf\xcd\x30\x86\x7d\xb8\x94\xc6\xcb\x24\x75\x31\xc0\xf4\x66\x86\x85\x1f\x2f\xa5\xb3\xa3\xd0\xc1\x14\xa0\x06\x4a\xf8\xc5\x52\x5a\xaf\x04\xad\x66\x18\x40\x0a\xa9\x60\x9a\x99\xb3\x28\x0e\xdd\x5b\x2a\xf6\xea\xa5\xf3\x5f\x4f\x84\x31\x26\x20\x32\x7f\x83\x13\x7e\x60\x92\x07\x2e\x52\x3c\x44\xd6\x2c\x2b\xda\x97\x86\x06\x37\xd4\x06\xdd\xc5\x12\xb3\x8c\xd6\xa6\x4a\x4b\x8a\x47\x66\x25\xa8\x82\xb3\x8c\xe4\x96\xc6\x8f\x45\xe2\xb3\x8c\x92\x14\xa0\x6e\x4c\x2d\x67\x9e\x2f\x3f\xcb\x08\x49\x09\xba\x5e\x2e\x3f\xcb\x68\xbd\x52\x87\x67\xaf\x2e\x45\x3a\xdd\x67\x69\xbc\x01\xdc\xef\xb6\xaa\x5a\xc8\x15\x87\x69\x1b\x04\x21\x5d\x4f\x07\x36\x60\x1e\x33\x9e\x7a\x73\x64\x79\x03\xa6\x4c\xd4\xb6\xf5\x58\xc1\x84\x94\xa8\xc0\x14\x87\xfa\x56\xaa\x18\xa4\x7c\xe1\x59\xf3\xdc\x3b\x4a\x22\xd0\x6d\xe7\xbc\x90\xeb\x93\xc1\x14\xbc\x58\x05\xb1\xef\x53\xcb\x73\x07\x2e\x75\x08\x3b\xac\xc2\x32\x19\x96\x49\xbf\x04\x0e\x7b\x95\xd4\x6e\xfd\x1b\xd9\xd8\x51\x1d\xc7\xb8\xa8\xcb\xb0\x92\x2e\x86\x64\x83\x7b\x3f\x59\x23\x1b\x55\x19\x9c\x65\xd8\x26\x35\x4a\x6c\xcb\x75\xc3\x28\x26\xf6\x88\xda\xb7\x68\x25\x0f\xa7\x94\x77\x1a\x30\x2e\x38\xd6\x3c\xff\x01\x37\x39\xa1\x47\x90\xbd\xb4\x5a\x91\x2c\x47\xc0\x7f\x90\x05\x9f\x63\x0a\x48\x1d\xe5\x28\x7f\x18\xf0\x45\xb7\xd3\xfc\xda\x39\xda\xdf\x5d\x50\x83\x6f\x2c\xd0\x86\x06\x2b\xe4\x92\x17\x7b\x64\x4b\xc1\xf2\x49\x27\x3c\xc4\xfd\x4b\x0e\x5a\xce\xa6\x52\x00\x0c\xbf\x38\x44\x54\xeb\xd4\x9e\x40\xbc\x07\xe3\x27\x0c\x4b\xb3\x27\x66\x41\x8e\xa0\x37\x75\xfd\x23\xa8\xff\xbb\x18\xeb\x82\x18\x43\xfc\x49\x45\x1a\x2e\x61\xa0\xad\xa2\x18\xe5\x8b\xc2\xab\xd5\x84\x4a\xce\xc6\x41\xeb\xb0\x71\x75\xda\xcb\x93\xae\xdf\xc8\xa6\x41\x4c\x93\x35\x97\x12\xd3\xcd\x45\x62\xba\xf9\xef\x26\xa6\xa6\x61\x2c\x16\x53\x65\xb3\xf9\x3f\x31\x35\x32\xd0\xce\x82\x6d\x65\x38\xb0\x02\xf7\xa5\x58\x0a\x52\xa6\x73\xe1\xf7\x3d\xf2\xaa\x4a\xfe\xf6\x37\x10\xbe\xdf\xf6\xc8\xab\x97\xc9\x2c\x2f\xd9\x4f\x5f\x55\xc9\x0b\xb2\xb3\x9b\x47\xb6\x56\x55\xe9\xd6\xaa\x19\xc2\xb9\x2b\x80\xd5\x04\xca\x82\x03\xd0\x75\x7e\xf4\xd1\xf8\x00\x15\xf2\x28\xfb\x9e\x91\x8e\x28\x2c\x99\xfd\xb4\x32\xf5\xd2\x21\x68\xe9\x97\x6f\x1a\xe3\x63\xe8\x5a\xc4\x0d\x33\x44\x80\x94\xe0\x7b\xe9\x23\xdf\x0c\x97\x00\x65\x70\x7b\x39\xbb\xc0\x4c\x23\x91\x41\xbc\x78\xd0\xed\xe4\x18\x87\xb6\xc8\x9a\x5e\xb8\x42\x3a\x34\x9a\x7a\x31\x29\x5e\x9c\x94\x88\x1b\x41\x0e\xcb\x2a\x01\x87\xf9\x6d\xb2\x26\x48\x66\x8d\xb1\x97\x9d\x12\xf9\x14\x06\xb3\x5d\x1b\x9e\x84\xbe\x48\x42\x9c\x46\x48\x76\x89\x4d\x3a\x86\x31\xf9\x8f\x7e\xac\xe7\xc6\xcd\xad\x95\x1f\x19\xaa\x7e\x61\x35\x7b\xe9\xb6\x7a\x23\x0c\x83\x99\xe9\xf6\x9a\xd8\xbb\x4b\xec\xd2\xae\xc5\xc4\xe7\x97\x4f\x5e\xca\x44\x95\xe5\x96\x7d\xb8\x6e\x07\x33\x35\x56\x9c\xfd\xde\x31\xbc\x96\x1c\xf0\x67\x7d\x9e\x04\x3c\x54\x81\xda\xfb\x94\x50\x1f\x72\x5a\x92\x3b\xd7\x22\x52\x90\x1e\x29\x7a\xfe\x9f\x2b\x7a\xdb\xe4\x31\xe2\x04\x2f\x00\xdd\x36\x79\xa3\x08\x12\xa9\x6d\x25\x24\x2e\xd1\x96\x09\xf9\xd3\xa7\x51\x52\xbc\xc6\xa4\x97\x14\x43\xa6\xa9\x97\x48\x10\x3e\x13\x98\xc1\xe2\xeb\x1a\xfb\x9a\x8d\x1e\x8b\x80\x61\xb5\xae\x10\xbe\x3a\x38\xc9\x10\xad\x23\x51\x44\xbf\xa1\x0e\xa3\x2b\xbf\x01\x7a\xfc\x73\x24\xa6\xac\x9b\x13\xb1\xf6\xb3\x14\x5f\x92\x5d\x52\x23\xbb\xa4\x0a\xff\x7c\x52\x3c\x0f\xc2\x78\x44\x1a\x63\x1a\xba\xb6\xe5\x2b\x68\xc7\x90\xcc\xc0\x8a\x62\x48\x87\x24\x83\x99\x22\xb4\xd3\x91\x38\x20\xd7\xbd\x4d\xb6\x81\x92\xe9\x04\x93\xc5\x3a\xd4\x0f\x62\x9a\x6c\x3c\x30\x52\x49\x8e\x95\x38\x3d\xa9\xd6\xe0\x85\x8b\xda\x4c\xd3\xc6\xac\x2c\x64\x6b\x23\xe9\xf9\x69\x60\x43\xd6\x80\x74\xc7\xb7\xc8\x06\xf1\xe5\xb7\xd6\x9d\xe5\x7a\x4c\xd4\xca\x6c\x91\xa1\xff\x08\x75\xd6\x5c\xbf\x2c\x9b\x93\xac\xda\x82\x61\x9e\x07\xa2\x72\x19\xb3\x53\x1a\x85\xef\xcd\x93\x37\x89\xff\xa7\x56\xf4\xb2\xed\xa9\xb6\xfa\x96\xf7\xe9\x4d\xad\xb6\xea\xae\x57\x7f\x0c\xd9\xfa\xea\x64\xb7\x1f\xd3\xdb\xfa\x6e\x6d\xb7\xba\xbb\xf2\x4e\xbd\xb5\xf1\x08\xe2\x5b\x92\xac\x96\x36\x91\x3f\x13\x8b\x20\x34\x74\x76\x8d\x03\xe2\x50\xdb\x75\x00\x2d\x1d\x80\x26\xe3\x80\x8c\xd8\xdf\xf0\x64\x12\xe0\x36\x93\xa4\xb4\xe7\x8e\x54\xd3\x88\x95\x9c\x4f\x92\x13\xfd\x1a\x62\x95\xd1\xf3\x49\x3a\x4b\xc9\xe5\xaa\xf8\x42\x9d\xd3\x3b\x1a\x66\x9a\x50\x5c\x9e\xde\xb2\xaf\x5c\x74\x1b\xd3\x9d\xe3\x40\x87\x10\x11\xa5\x7c\x93\x57\xfc\x9d\x1a\x80\x77\x6e\x24\xfd\x0c\x73\x22\xfa\x81\x1e\x0e\x39\x74\xef\xa8\x5f\xe6\xac\x90\x49\x0c\xb9\x1d\xb3\xcc\x0f\x15\x37\x42\xe8\xf3\x47\x7b\x61\xfc\x3e\x59\xe2\x86\x11\x0c\x62\x89\xdd\xc9\x1d\xd2\xe0\x95\xae\x67\x76\x69\x79\x3e\x79\x3c\xa4\x59\x14\x0c\xe2\x8e\x01\xd6\xac\x83\x38\xcc\x88\xc5\x8e\xef\x55\x90\x81\xe9\x6c\xb5\x24\x96\xe9\xae\xfd\x67\xce\x50\x53\xfb\x5a\x5e\x31\x55\x7f\xcc\x02\xc3\x23\xd0\xe1\xe9\xd3\x7a\xf6\xcb\x92\x26\x4f\x03\xcb\x21\xa7\xad\x83\x08\x9a\x39\x5d\xa5\x15\x42\x30\xa4\xbd\x4f\xb5\xb0\x66\x2b\x22\x77\x6e\x18\x4f\x2d\x0f\xe9\x05\x77\x34\xf4\xac\x39\x80\x4f\xfc\xaa\xe1\xb4\x32\xe9\xb6\xfc\x39\x24\x69\xb6\xc2\x6c\xaa\x3b\xd6\xef\xef\x2b\x70\x8a\xa3\x25\xc4\x73\x8f\x72\x26\x5d\x31\x05\xe4\xba\xb7\xc5\xc1\x6c\xd3\x44\xc9\xf7\x95\x40\x00\x16\xbb\x7b\x0b\xf3\xbf\xe2\xf2\x9d\xe3\xb7\xfd\x94\x10\xf3\x5c\x1a\x60\x03\x2f\x26\xcf\xc5\xab\xba\x80\xff\x05\x9d\x30\xba\x24\xa4\x63\x0a\xfe\xac\x60\xff\xa7\xb2\x63\xf3\x7f\xb4\x23\x8b\x58\x92\x73\xde\x3e\x09\x7e\xe1\xa9\xdc\xc8\x39\x9c\xff\xfc\x3e\x64\x18\x61\x82\xc4\x10\x01\xb2\xea\x0a\xc6\x00\x59\x2b\x1c\x9a\x3c\x50\xc0\x02\xad\x24\x74\x0f\x83\x98\x63\x6e\x27\x2f\xd4\xb8\x03\x3c\x26\xc5\x1b\xec\x8f\x2b\x6c\x34\xe8\x0c\xce\x0e\xe0\x0e\x1d\xc2\x8d\x05\x4e\xa9\x7d\xb3\x83\x43\xf8\x54\xa0\x11\x11\xd8\x8d\xd1\x31\xbd\x60\x22\xc0\xd6\xaa\x5f\xc8\x9b\x14\x56\x5b\xf5\x4b\x99\xd4\xaa\x25\xb2\x56\x23\xaf\xe5\xa3\x71\x52\x79\x1f\x2d\xf2\xbc\x7e\x2d\x5b\xbf\x26\xea\x13\x95\x40\x66\x66\xaf\x7b\x38\x76\x1c\x77\x51\xf6\xac\xac\xb5\xb3\x28\x5c\x50\x86\xc8\x55\xf1\x6d\xd5\x00\xb6\x9b\xf1\xbf\x00\x50\xb2\x47\xda\x4a\xde\x84\x4b\xb2\x44\x23\x48\x93\xe2\x1c\xe1\xfa\xa4\x43\xed\xd8\xf2\x87\x53\xcf\x0a\x79\x8e\xc0\x83\x56\xb3\xd9\xe8\x34\x4a\x8f\x6a\xfb\x3f\x97\xb4\x0d\xa8\xc5\x5c\xd6\x8b\x4c\xe3\xa8\x74\x3f\x76\x4b\x06\x42\xd1\x53\x71\x8b\xa1\x85\x3f\x87\x8f\xd1\xe2\xb1\x20\x04\x25\x19\x5b\xbe\x3b\x91\x9e\xe1\xf0\xa8\xe3\xc4\xac\x4e\x59\x84\xa8\xb2\xff\xd2\xfb\x98\xfa\x91\x1b\xf8\xd1\x23\x57\x65\xbc\xcc\xcd\x08\x1f\xdd\x56\x98\xcd\x0e\x9b\xcd\xc7\x35\xfe\x9f\x4b\x5a\xef\xae\x1e\xeb\xf1\x48\xa3\xcb\x0a\x0d\xb3\x0d\xd4\xf5\x87\x6b\x7d\xc6\xe2\x3b\x76\x29\xe5\x3b\xdf\xfb\xfd\x6b\x55\xf5\x59\xbd\x55\xb2\x94\xd9\xb8\x4c\x33\x02\x6c\x22\x36\xfd\x09\x58\x6c\x36\xbc\xb1\x15\x0e\x5d\x3f\x3b\xba\xb3\x27\x8f\x6e\xba\x64\x5f\x08\x26\xf3\x9c\x7d\xa0\xd3\x28\x73\xe3\x0a\xa2\x71\x3f\x56\x8c\xee\x96\xe5\x28\x05\x1b\xde\xa1\xeb\xb1\x23\x8d\x77\x81\x6b\xb2\xad\xc3\xce\x23\x5b\xfb\x5c\x98\x2d\x9b\x46\xbc\xf1\xc8\x44\x9f\x97\x89\x2d\x09\x16\x4a\xeb\x5d\xef\xb2\xd1\x79\xe2\x05\xe8\x7e\x99\xe4\xc2\x09\x2e\xd7\xab\xd8\x8e\x5b\x6c\x83\xe0\xb7\xbe\x46\xb3\xf5\xc8\x31\xff\xba\xa4\xd5\x43\x17\x60\xb2\x0d\x73\x7b\xd8\x69\x94\xca\x3a\x50\xfd\xe3\xe6\x76\x49\xcb\x77\xf1\xd7\xd8\xf5\x28\x80\xf2\x14\xad\xc4\xe8\x70\xde\xb8\x18\x59\xf6\x2d\xb4\x79\xe5\x9f\xd3\xf8\xad\x65\xdf\xb2\x93\x80\x14\x23\x4a\xc9\x28\x8e\x27\xd1\xeb\xf5\x75\x9f\xc6\xac\xd8\xcc\xbd\x75\x2b\x76\x30\x5e\x67\xbf\xac\x5f\x2b\x34\x07\x62\xef\x71\xfd\x41\x20\xe1\x90\xf5\xcb\xd8\xc0\x0a\x71\x2f\x86\x4b\x16\x29\x42\x88\x22\xb1\xc8\xd0\x9b\x4f\x46\xd0\x03\x74\x78\x87\xbf\x8d\x8b\xf9\xe1\xe9\x81\x75\x22\xae\x2e\xf1\xd8\x5a\x7c\xb7\xca\x78\x56\x41\x6d\xf0\xba\x50\x7b\x5d\xe4\xf9\x20\x51\x70\x31\x59\x32\x7e\x83\x28\x71\xa5\xca\x72\xaf\xbc\x7a\x3a\xdf\xbe\xf1\xa5\x27\x03\xd6\xcb\x78\x7f\x80\x20\x4b\xe9\x01\x20\xf6\xcc\x82\x70\xde\xf5\x75\xc8\x48\xcc\x47\x61\xf2\xc3\x5e\xd2\xa2\x50\xd0\xf4\x20\x68\xdc\x40\x84\x35\x16\x4d\xb7\x98\xe3\xba\xd5\x6c\x9d\x76\x9e\xb6\x92\x3f\xf3\x69\x5f\x12\xa9\x66\x5c\x56\x2d\xb1\xac\xaa\x4f\x5c\x56\x4b\x9a\xe6\xdb\x88\x18\x71\xeb\x0e\x22\x70\x61\xf7\x38\x6d\x3d\x75\xb8\xff\x5c\x6d\xdf\x14\x8d\x26\xcf\x16\x60\x30\x3a\xbd\x7c\x6a\xbb\x7f\x2c\x6e\x97\x87\x67\xa3\xdd\x19\x07\xd9\x6e\xfe\xd4\xa6\xf5\x99\x23\xb0\x2f\x78\xd4\x81\x78\xe8\x4b\x12\x69\xcd\x1e\xfc\x6c\xb3\xff\x6d\x6e\x96\xad\xee\x8b\xab\x4e\xb3\x45\x0e\xdb\xa7\xad\xd7\x58\x60\xfd\x5b\xb4\x0e\xbf\x7c\xbd\x8b\xbf\xca\x1b\xdf\xd7\xb1\x35\xa9\x7c\x8b\x58\x15\x76\x60\x87\x88\x05\x6f\x97\x48\xbd\x5a\xab\xc3\x13\x49\x73\x14\x06\x63\x77\x3a\x26\x17\x5d\xd2\x98\xc6\xa3\x20\x8c\x2a\x90\x3e\x08\xca\x46\x60\x5e\x0c\xef\xd8\x5c\xac\xaf\x93\xab\x88\xa2\xb2\xe6\x46\x84\xa7\x63\xb0\xb9\x69\x75\x18\xdc\xd1\xd0\xc7\xdd\xda\x22\xfb\xdd\x83\x35\xb4\x2f\x79\xae\x4d\xfd\x88\x22\x84\x98\x6d\xf9\xa4\x4f\x19\xa5\x01\xb8\x27\x70\x1c\xce\xd3\x76\xb3\x75\xde\x6d\x91\x81\xeb\xd1\xca\xb3\x67\x85\x69\x84\x50\xad\x76\x5c\xd8\x7d\xf6\xcc\x73\xfb\x95\x30\x76\xe8\xa4\x58\x80\x28\x47\x80\x19\xcf\x78\x6f\x8f\xad\x09\x09\xfa\xdf\xa8\x2d\x13\x4e\x9c\x59\x93\x09\x5b\xd5\xa0\x64\x73\xb4\x3d\x87\x07\xf7\x02\xbe\x82\xe4\x52\x19\xcf\x19\x87\x4e\xa8\x0f\xd1\x74\xc2\x47\x1b\x9e\x79\xc0\x4a\xdd\xd3\xd3\xc3\x88\x36\x8e\x3a\xac\x61\xcc\xad\xe4\x6b\x62\x2c\x51\x3c\x45\xd1\xbf\xc3\xf6\x4b\xfe\x89\x98\x7b\x3f\x88\x43\x23\x3b\x74\x27\x18\x76\x44\x46\xd3\xb1\xe5\xc3\x93\x13\xec\x4d\xea\x97\x82\xe1\x6c\x2a\x55\x42\x17\x30\xda\x1f\x64\xe8\xb1\xb1\xb3\xb9\x3c\x3a\x65\x85\x92\x41\xbb\xfe\x64\x0a\x21\x5a\xc1\x34\x66\xbf\x25\x28\x58\x69\x79\x53\xf2\x0f\xa9\x27\x97\xd2\x8d\x32\xb6\xc3\x81\x06\x19\xf7\x09\xdb\x58\x46\x41\x18\x6b\xbd\x45\x13\xbe\x1b\xe9\xfc\x2a\x73\xd4\x38\xf8\xda\xa1\xfd\xe9\x70\xc8\x81\xe9\x59\x3f\x44\xea\x5f\x85\xcc\x9e\x4a\x94\xe3\xd4\xf2\x36\xd9\x48\xa5\x77\x79\x1c\x10\x1b\x82\x75\x02\x91\x3f\x04\x39\xc5\x44\xd2\xf5\xa3\xd8\xf2\x3c\x0a\x72\x06\x69\x26\xd4\xd6\x20\x8f\x84\xf4\x6c\x5f\x5f\x17\xcf\x00\xb7\x94\x4e\x88\xe5\x93\xa9\xcf\x5f\x89\x1d\x22\x41\x19\x45\x08\x3a\x4e\x85\x44\xcd\xb6\x3c\x2f\x98\x31\x65\x05\xc2\xe1\x2c\x9f\x42\x86\x93\x88\x0a\x6c\x75\x9e\xe0\x1a\x53\xc9\x7a\xf0\x38\x08\x5e\x8c\xd0\x0f\x60\xeb\xbe\x15\xd1\xaf\x64\x0f\x79\x2c\x3a\x74\x1e\xcc\x48\x34\xf7\x6d\xa8\x0d\x4f\x12\xb2\x36\x53\x50\x7c\x4a\x1d\x74\xf6\xc4\x7b\xc2\xdc\xb7\xbf\xa6\x6e\x06\x6d\x51\x69\x44\xbd\x09\x0d\x81\xfb\x21\x65\x25\x99\x8c\xe8\x24\x2b\x6a\x92\x73\x99\x8b\x85\xcb\x53\xc4\xe3\x18\xd2\xc2\x8c\x32\xf8\xe6\x07\x09\x26\xf1\x57\x14\xc4\x86\xe3\xc0\x3e\x6f\x79\x49\x65\x26\x82\x68\xd5\x86\xa5\x15\x4c\x14\x78\x26\x70\x09\x62\x27\x23\x2f\xbd\x40\x34\x2b\x93\x30\x88\x83\x78\x3e\xa1\x38\x5a\x55\x54\x65\x07\x24\x14\x66\x7b\xc0\x01\x09\x71\x71\xc2\x42\xe5\xf9\x31\x71\x72\x30\x2f\x36\xe3\x26\x9b\x26\x81\x6a\xfc\x3c\x3d\x2b\x7f\xfb\x1b\x79\x9e\xa2\x9e\x15\x21\x02\xd8\x76\x70\x0c\x24\xf5\xbf\x9a\x3e\x0f\xe9\x57\xa3\x53\x3e\x78\x8c\x62\xa7\x62\x6d\x2d\x57\x08\x4f\xf9\x19\x52\x7c\x78\x22\x96\x04\x70\xc4\x12\x7c\x54\x76\x48\x41\x34\x90\x98\x4f\x67\x7c\x43\x84\xa7\xb9\xc0\x73\x38\x7a\x7b\x38\xa4\x0e\x48\x30\x41\xe9\x9d\x59\x73\x54\x76\x7d\x80\xa2\xf1\x35\xe1\x15\x5c\x49\x18\x90\x0c\x1f\xc7\x48\xf6\x08\x4a\x41\xc5\x8a\x22\x77\xe8\x17\xff\xf9\xa3\x9c\x96\xec\x72\x22\x1f\x60\xf3\x62\x0a\x9f\x81\x4e\xaa\x96\xc4\xe8\x1c\x7a\x6c\x33\x89\x92\x96\x6e\xe9\x9c\x3b\x27\x61\xdd\x52\x65\x6c\x4d\x8a\xc5\x5b\x3a\x2f\x91\xbd\xdf\xb9\x9a\x5a\xf8\xfc\xf9\xbe\x40\x5e\xf0\xd0\xf8\x87\x89\xe5\xb0\x02\x90\x6b\xad\x19\x38\xb4\x11\x17\xab\xa5\x4a\x1c\xf0\x37\xd0\xda\x76\x49\x81\xef\x82\x69\x62\x93\x4b\x67\xa4\x43\x87\xad\xfb\x49\xb1\x00\xcf\xd2\xbc\x2b\x1c\xca\x1a\xc1\xf9\xbf\x14\xca\xa4\x30\xe4\xd9\x2f\x12\xc1\x28\x46\x71\xc8\xba\xc3\x8e\xb2\x4a\x48\x27\x9e\x65\xd3\x62\x42\xbd\x8c\xd9\x37\xf7\x7e\x57\x99\xf0\xc9\x1e\x7d\x31\x41\x64\xb0\x85\x25\xf6\x12\xb9\x8f\xc8\xe5\x55\x74\xdc\xc8\xb6\x10\x5e\x36\x9c\xfa\xb1\x3b\xa6\x64\x3a\x71\xac\x98\x26\xf6\x23\xe1\x59\x82\x78\x18\x96\x3f\x87\x7d\x13\x77\x2c\x1a\x5f\xdc\xd1\x30\x74\x1d\x1a\x25\xc0\xb5\x48\x32\xab\x84\x99\xd7\x23\x4a\x4c\xc6\x82\x21\xd2\xd5\x92\x91\x75\x47\xfd\x42\x4c\xfa\x94\xfa\x8b\xa5\x18\xd6\x6c\x01\xde\x6a\x47\x1c\x2f\x17\x88\x0b\x49\x54\x45\xe6\xf9\x5e\x46\x68\x14\xf9\x34\xed\x88\x67\x4c\xfc\x45\xc3\x22\x36\x0b\x36\xe8\xe4\x84\xe5\xf1\x80\xfc\xf8\x64\xac\x67\x5b\x2d\xe6\xd5\x9f\x62\xc6\x2c\x5c\xa3\xf4\xde\x8d\xe0\xe2\x20\x67\xc2\x8a\x88\x0b\xce\x5c\x7c\x99\xcd\xdc\x78\x24\x5e\xf1\x64\x69\xb1\xdb\x91\xe2\x0c\x70\x55\xad\x88\x2f\x5d\x2c\x5f\xaa\x10\xd2\x9d\xf6\x11\x6f\x3e\x4e\xa6\x89\x75\x11\x42\xd9\x5d\xc0\xc7\x0d\x83\x19\xb1\xd8\xda\x9d\x84\x14\x00\x5f\x61\x8b\x65\x93\xc8\x26\x94\x35\x14\x99\x77\x6b\x55\x63\x48\x66\x40\xec\xd1\x40\x20\x33\xb0\x15\x37\x65\x55\x90\x14\x59\x50\x76\x4e\x65\x62\xc4\x76\xa0\x09\x3b\x44\x51\x59\xc4\x0e\x26\x73\x55\xf1\x11\x07\x03\x8c\x86\xc7\x5a\xfd\xd3\xd8\x9d\x1f\xa4\x01\xab\xd6\xac\xdb\x80\x4a\x90\x45\x57\xce\x19\x8f\xed\x05\x18\x34\xa1\x0b\x75\x92\xbc\x31\xb7\xa1\x62\x5a\xa1\xc9\x6c\x89\x12\x5d\x78\x25\x79\x66\x92\xa9\x72\x57\xdb\xfc\x18\x25\xce\x13\xd0\x1e\x7e\x68\x41\xdc\x1e\xa8\xec\xb6\xaa\x28\x2f\x9a\xce\x28\xc7\x0c\xc9\xaa\x7d\xd5\x22\xc6\xb5\x9c\x95\xdc\x65\x94\xfd\xfe\x2f\xd6\xa7\x58\x47\x85\x3a\x95\xf4\x3c\x95\x20\x2b\xb8\x25\xd3\x09\xb1\xe4\xda\x81\x06\x86\x6e\x14\xd3\x90\x1f\x8e\xa9\xa5\xd3\xe5\x5a\x3b\x64\xb2\x62\x2b\x07\x7e\xe1\x86\x6b\xbe\x7c\xbc\x20\xb8\x9d\x72\x1d\x7d\x89\x8c\xf6\xb0\x16\x38\x73\xb9\x71\x21\xc2\x7d\x31\xe9\xc2\xa2\x09\x52\x04\x14\x33\x85\xaa\x33\xc6\xba\x95\x58\x99\x92\xf1\x57\x46\x56\x74\x31\xf3\x2f\xc3\x60\x42\xc3\x78\x8e\xe5\x54\x53\x93\xc2\xab\x4f\xec\xcb\x2f\xda\x39\xcd\xcb\xc8\xec\xa3\xa9\x55\x8b\xdd\x26\x16\x2c\x08\x85\x7b\x0d\x7f\x9e\xcf\x62\x00\x4f\x82\x05\x0e\xbc\x34\x1e\x3c\x8f\x99\x02\xed\x72\x94\xc3\x77\xb1\xef\xf1\x19\x13\x1d\x5a\x91\xdd\x96\xe3\x18\xd8\x5d\x26\x72\x77\xd3\x79\x4e\xf6\xf6\xf6\x52\x32\xa9\x9c\x4e\x62\x41\xe5\x28\x4f\x49\x95\x5d\x6d\x09\xe2\xe4\x88\xfc\xa7\x19\x45\x01\xd4\x47\x58\xf4\x96\xef\x00\x8c\x81\x1b\x47\x9c\xdb\x69\xfd\x41\xaa\xfd\x2b\x0c\x3d\xe7\x7c\x4f\x0d\x98\xed\x5f\xcb\x37\x08\x03\x13\x56\xd9\x55\x56\x3d\xc5\x61\xf8\x79\x47\x1f\x70\xa2\x01\xd8\x56\xc1\x20\xe7\x90\x40\xad\x79\xe1\x26\xb9\xc2\xa1\xc7\x5a\xfa\x4b\xa5\x42\x0d\xe4\x85\xa5\xe0\xc2\xfe\x1f\xa9\xae\x9c\x4a\x8e\x61\x9e\x55\x18\x16\xfe\xae\xb4\xf6\x2e\xc8\x2b\x6c\x96\x39\x3c\x14\x93\xa8\xdc\x74\x29\xfd\x98\x62\x5f\xe0\xe7\x22\x6b\x6e\xb2\xa7\xf0\xba\xb8\xa8\xf8\x4a\xca\x3f\x50\x0b\xe0\x3a\xc8\x54\x70\xb9\xe6\x04\x65\x93\xcf\x62\x02\x13\xc7\xa7\x3a\xc9\xaa\xb2\xfa\x51\xa8\xca\x1f\xd9\x23\xff\x54\x5a\x40\xc4\xa2\xa3\x34\xea\x92\xdc\x87\x46\x71\x3c\x79\xbd\xbe\x7e\x17\xd7\xaa\xd5\x8a\x4f\xe3\x75\x27\xb0\xa3\xf5\xbb\xb8\x5e\xaf\xae\x85\xe3\x75\x90\xd1\xfa\xda\x66\x65\x14\x8f\xbd\x15\x7b\x20\xd2\x1e\xe6\xf3\x08\xd8\x5a\xe0\x50\x50\x85\xb2\x9c\xc9\xc2\xe7\xfb\xed\x6a\xe1\x75\xe1\xf3\xb4\xbe\x65\x6f\x17\xca\x70\xd2\xfe\x17\x59\xfb\x9d\x38\xae\x35\x0e\x7c\x47\x29\x57\xe3\xe5\x5e\xd5\x79\x39\x8b\x95\x1b\x86\x74\xbe\xd6\x0f\xee\x95\x82\x75\x2c\xb8\x59\x7d\xc5\x0b\xf6\x59\xc1\xd1\x7a\xac\x94\xd9\x10\x65\x6c\x5e\xc6\x66\x65\x06\xeb\x03\xa5\xcc\xa6\x28\xe3\xf0\x32\x0e\x2b\x63\xaf\x87\x4a\x99\x2d\x51\xc6\xe2\x65\x28\x2b\xe3\x69\x74\xb6\xa1\x4c\xb5\xda\xaf\xf2\x32\x03\x18\x20\x1d\x86\x94\x2a\xc5\x5e\x8a\x62\x35\x5e\x6c\xc8\x8a\xbd\x58\x5f\x53\xca\xec\xf0\xe6\xea\x9b\xbc\xcc\x88\x95\xf1\xd7\x3d\xa5\xcc\x2b\xd1\xa5\x3e\x2f\xe3\xb2\x32\x77\xda\xf0\x2d\xce\xcb\xda\x0e\x2f\xf3\x8d\x95\xc1\xa8\xcf\x35\xb0\xaf\x2a\x85\xfb\xa2\xb0\xe8\xff\x2d\x2b\x1c\x07\x93\x4c\x49\x9b\x97\x94\x5c\xf5\x44\x49\x8f\x0e\xd4\x82\x8e\x20\x29\xc6\x31\x56\xda\x4f\x95\xa5\xbc\xec\x86\x20\xea\x03\x8b\x5d\x9f\xae\x41\x9c\xac\x52\x74\x80\x45\x37\xfa\x62\x36\x02\x56\x34\xb2\x2d\xbf\x96\x94\x7a\x59\x15\xa5\x04\x83\x26\xa2\xd4\x86\x52\x4a\x88\x5b\x55\x8c\xfa\xbb\x28\xb5\xa5\x94\xaa\x0b\x5a\xa2\x73\xa1\x28\xf5\x52\x29\xb5\x21\x4a\x09\x49\x8a\x44\xa9\x57\x4a\xa9\x4d\xc1\x14\x41\x2b\x86\x81\xd2\x41\xbc\x16\xab\x92\xf2\x92\x0b\xdd\x96\x94\x82\x29\x2b\x08\x93\x91\x2a\xb9\x2d\x78\x27\x4a\xde\x29\x7c\xd6\x8b\xbe\x14\x44\x45\xeb\x33\x31\x77\x7a\xb9\x1d\xc1\x17\xb1\x0c\xef\x41\xbc\x38\x08\xd4\x1a\xe6\x94\x92\xa5\xb9\x30\xd6\xb7\x45\x07\xe6\x38\xa6\x28\x5a\xa3\xdf\xa7\x96\x22\xb7\x2f\x2d\x51\x74\x8b\x17\x7d\xe0\xeb\xdb\x8a\x69\x98\x29\x8d\x42\x59\xdd\xb0\xc5\xf4\xfc\x93\x95\x9e\xb8\x4a\x11\x5b\x10\x14\x45\xfe\x80\xc5\x12\xc4\x19\x62\x0e\x5f\x7a\xd6\x06\x2f\xf9\x03\xd8\x14\xba\xb1\x1b\x8d\xd6\x26\xc1\x54\xdd\x88\x5e\x52\xb1\x50\x5f\xf2\xd2\xff\x0d\xeb\x39\x40\xa1\xfd\xa1\x3c\x02\xec\x23\x85\x27\xef\xc2\x5b\x8f\xdb\x85\x1b\x2b\xed\xc2\x7c\x58\xfa\x2e\x5c\xdf\x28\xbc\x26\x3a\x0f\xfe\xc3\xcc\x03\x75\x7c\x57\x5d\xd2\xe8\x36\xdb\x6d\xbc\x31\xf8\x81\xd0\x78\x56\x3d\xba\x44\x76\x87\x65\x5d\x9e\x46\x85\x32\xc6\x6b\x2a\x4f\x5b\xd3\xd8\x7e\x3a\x67\xb7\x1f\xc7\xd9\xcd\x95\xba\xe9\xb0\x2e\x3d\x85\xaf\x49\xf9\xcd\xaa\x28\xdf\xa7\xbc\xfc\xdf\x59\xf9\x8d\xf5\x4d\xa5\xd4\x56\x9f\x97\xaa\x6d\x88\x55\xf8\x89\x95\x2a\xb8\xdf\x0a\xc4\x73\x87\xe0\xbd\x44\x8a\x18\x05\x30\x0c\xc0\x78\x16\x8f\x08\x23\x3b\x18\xbc\x29\x29\x84\x6c\xd9\x9c\xd8\x9a\x3e\x33\x42\xb5\xf5\xba\x52\xc8\x11\x85\x5e\x8a\xbd\xe1\x8b\xba\xe6\x49\xdf\x0a\x9f\xe9\x4b\x93\x0f\x79\x47\x5d\x9b\xf1\x2c\x60\x8b\x24\xd2\x57\x28\x96\xdc\xde\x56\x97\xe8\x40\x5f\x9a\xbc\x83\xb6\xba\x36\x6b\xeb\x9b\xfa\x8a\xe4\x85\x36\xd5\x25\x69\xd9\x53\x8e\x55\xa0\x0a\xed\xa1\xeb\xfb\x3f\xb3\x28\x5f\x3e\x4e\x74\x9a\x29\xd0\xad\xfc\x92\x5b\x2b\x09\xd9\x00\xbb\xaf\x8b\x99\x14\x88\xaa\xbd\xa9\x09\x44\xa3\x40\xa6\x63\xcf\x9a\xc6\xa6\x39\x77\xb6\xd5\x39\x2f\x5c\x18\xca\x4a\xf6\xdb\x5b\xea\xd4\x33\xba\x21\x26\xa1\x14\x25\xe5\x1c\x38\xb6\x3a\x07\x85\xa9\xa4\xaa\xeb\x7c\x58\x98\xbe\x52\x95\xbe\x02\x2d\xf0\x49\x33\x89\x13\xdd\x54\xc5\xa9\x60\x65\xbb\x9b\x08\xd4\x40\x13\xa8\x42\x60\x28\x2b\x87\x46\xb7\x54\xc9\x62\x74\xf5\xa1\x25\xe2\x35\xc8\x1b\x5a\x46\xc6\x42\xea\xff\xc4\xee\xb4\xf3\x38\x11\xeb\xac\x26\x38\xd0\xa7\x3f\x6b\x7b\xa2\x55\x75\x7b\x62\x4c\x1b\x86\xd6\x1d\x35\x6d\x52\x89\xe2\xfb\x09\xf5\x14\x4d\x6e\xe4\x94\xd1\x97\x9a\x34\xda\x05\x62\x53\xc7\xf5\x3c\xcb\x24\x8e\xd6\x4b\x55\x1c\x23\xee\x3a\x1e\xcd\xc7\xfd\xc0\x23\x45\x27\x98\xf6\x3d\x4a\xa2\x92\x59\x8e\x5e\x69\x72\x24\x65\xce\x24\x46\xaf\x34\x31\x9a\x8a\x51\x9a\xa4\x68\x47\x93\x22\x9a\x2d\x4a\x33\xfb\x22\x88\xd1\x62\x11\x6a\x5a\xbe\xe5\xb8\x96\xff\x64\x59\x7a\xf5\x38\x59\x7a\xf7\x08\x59\x22\x36\xef\x9c\x2e\x54\x4f\x13\x12\xaa\x9f\x64\x56\x81\xd8\x6e\x68\x4f\xc7\x03\x8f\xde\xff\xb4\xb8\x50\x4b\xdb\xbd\x68\x0e\x71\x39\x43\x54\x1c\xbe\xff\xc0\x63\x55\x2b\x6f\xda\xc7\x06\x9b\xda\x3e\x16\xe4\x54\xf8\x37\x12\xc2\x41\x3f\xbd\x97\xa5\x58\xa2\x0a\xe3\x11\x0d\xc7\x3f\x21\x83\xb5\xea\xe3\x84\xf0\x64\x35\x73\x02\x74\x2a\x4f\xf6\xe4\x0e\xf1\xf7\x55\x77\x88\xbf\xfe\x10\x75\x34\xfd\xa9\x70\x65\x38\x1a\xff\xfa\xe3\x6e\xa0\x29\x52\xa9\x43\x2c\x25\x24\xce\x40\x15\x12\x1a\x3d\xd0\x38\xbb\x53\x01\xba\xdc\xcf\x48\x47\xed\x71\xd2\xf1\x71\x25\xe9\x70\xb1\x57\x7f\xd6\x79\xf7\x33\xe2\xf4\x17\x9c\x7f\x72\xfb\xf8\x92\xa7\x37\x29\x7b\x93\xae\x63\x4d\xb3\xbb\xb0\x22\x74\xd5\xb4\xd0\xa5\x37\x90\x44\xe6\xea\x69\x99\xfb\x33\xb6\x25\xaa\xab\x58\xae\x5a\x54\x15\xba\xf3\x20\x9c\xd1\xa1\x6b\xf9\xeb\x07\xd6\x4f\xa9\xf3\xb5\xfa\xe3\xa4\xaf\xb5\xb2\x3e\xbf\xbd\x92\x9c\xfa\x72\x20\x8e\x95\x55\xec\x13\x01\x94\x7b\xd2\xdf\x53\x7b\x92\x71\x03\xdb\xd6\x37\xb0\x56\x72\x2d\x34\xee\x61\x3b\xe9\x3d\x2c\x8a\xc3\xe0\x96\xfe\x49\x17\x81\x7f\xe4\xee\x76\xca\x45\x40\x3f\x40\xad\xc5\x5b\xe3\xb6\x2e\xa5\xd4\x34\x3c\x45\x52\x77\xd2\x92\x9a\x1e\xde\x5f\x7a\x19\xe8\x4e\x7e\x52\x42\x37\x1e\x27\xa1\x37\x2b\xc9\x5d\x34\x31\x88\xdb\xbf\x66\x7f\xb4\x6a\x9a\xb4\x3e\x2f\x10\xc0\x60\x8c\xa9\x63\x14\xd6\x9a\x26\xac\xe7\x05\x12\xbb\x9e\x63\x94\xd5\xfe\x40\x93\xd5\x37\x0a\x61\x93\x58\xf5\xb5\xcd\x2f\x35\xef\x89\x34\xd5\x34\x69\xf2\x33\xed\x2b\xc2\xf4\x52\x13\xa6\xd4\x96\xae\xc9\xc8\x8c\x3a\x3f\x25\x23\x8f\x7c\xb0\x79\xb9\xf2\x2e\xf6\x76\x35\x69\xc2\xfe\xe7\x6e\x5e\xaf\xb4\xcd\xab\x95\x3d\xae\xfe\x2d\x2d\x18\x2b\x6d\x5c\xff\x3b\x2d\x18\xdd\x99\x1b\x45\x4f\x17\xc7\x47\x5a\xae\xf7\x56\x14\x32\x37\x8a\xf2\x36\x2c\xa9\xe5\xfc\x47\x9e\x96\xf3\xc4\x7b\xe9\x2b\x4d\x1c\xb3\x17\xb5\x7f\x87\x2b\x69\x52\x7e\x90\xd1\xb9\xbe\xea\x3a\xd7\x9f\x73\x7b\xfd\x37\xb8\x9b\xac\x74\x81\x85\x10\x0d\x8a\x11\x21\x15\xcb\x71\x8a\x05\x8c\x49\xb1\xa6\x8e\x1b\xac\xf7\xa9\xe7\x15\xca\xa4\x80\x7f\x05\xc3\xe1\x6e\xdf\x8a\xe8\xf6\x66\xa1\xfc\xac\xd0\xab\x3b\xfe\xd5\xac\xd1\x6c\xc8\x9f\x83\xd1\xf7\xf7\x5b\x27\xf0\xeb\xd9\xe1\x5d\xeb\xdb\xc7\xfd\xb7\xc3\xc3\x7a\x7f\xe3\xd8\xb5\x3e\x9c\x61\x91\x8f\xcd\x97\xb2\xf8\x5b\x7b\x1f\x7f\x69\x6e\x16\xc8\x8b\x67\x85\xc6\xd5\x2b\xff\xa6\x76\xd6\x50\x7f\x36\x2d\x6f\xda\x1d\xb6\xe0\x77\x1a\xb5\x37\x5a\xcd\x8d\xf5\xcc\xcf\xce\xed\x81\x33\x7e\x35\xff\x38\xf6\x1e\xde\xbe\x6b\x34\x1a\x87\xa3\x09\x10\xb4\x8f\x86\xd3\xde\xc6\xb1\xdf\x3e\xba\x9f\x7c\xf4\x6e\xee\xec\xf1\xf1\xc4\x9e\xef\x1f\xb7\x0f\xda\xb3\xb3\x83\xdb\xd9\xf9\x43\x63\x0b\x9b\x69\x1d\x0a\x02\x27\x57\xc7\x07\xd7\xc3\x16\x0e\xeb\xe0\xf0\xac\x7d\xf6\xbe\x51\x3d\xde\xbf\xc6\x1e\x36\x1a\xef\x1a\x8d\xfd\xe1\x71\xf3\xf6\xe2\xb6\x7e\x73\x7c\x62\xbd\xbf\x0a\xba\xa3\xad\xf1\x71\xa7\xdd\xed\x8e\x3d\xef\xec\x6a\xe6\xde\xb8\x57\xae\x7d\xf5\xf1\xe3\xe6\xec\xfe\x7e\x34\xfa\xf6\xed\xe0\xed\xd1\xd1\xd1\xc5\x59\xfb\xa0\x73\x7b\xc8\x6a\x37\x9a\x8d\x93\xc6\xf8\x02\x08\x06\x2f\x6e\x8e\xad\x68\x73\xeb\xe6\x7e\xe8\x7f\xf3\x4f\x86\x17\xef\xbd\x8b\x8b\x13\x7b\xb8\xbf\x39\xe9\x6c\x1e\xdc\x1e\xcf\xee\xae\xc6\x1f\xeb\xdb\xe3\xf8\xe4\x26\xec\x47\x9b\x93\xe3\x77\xc3\xf3\xf7\xef\xae\x1a\x8d\x46\xbb\xf1\xae\x35\x1c\x8d\x3a\x9d\x6e\xb7\x79\x74\x78\x78\x74\xd2\x06\x82\xed\x8f\x1f\x3f\x7e\x0c\x86\xa3\xd1\xfd\xfd\x7c\xde\x3c\xf2\xfd\xb7\xed\x93\x93\xef\xee\x70\x38\x0c\xe6\xf3\x66\xf3\xa0\x77\x70\x3a\x99\x1c\x9f\x5f\x5c\x4c\xc7\x41\xb0\xb9\xb9\xbd\xed\xba\xd5\x6a\xab\x7d\x7a\xda\xef\x75\xbb\xb7\xb3\xfb\xda\xf5\xcd\xb7\x30\xac\x1e\x7d\xf8\x70\xff\x00\x04\x1f\xbe\xf9\xbe\xff\xf6\xf2\xe2\x82\x52\xdb\xde\xd9\x3c\x7e\x77\x7b\xfe\xbe\xf1\xae\x31\x64\x4c\x7b\x37\xfc\x78\x73\xb3\xbf\xdf\x6c\xb2\x1e\x1c\x9e\xb4\x4f\x2c\xeb\xa3\xcd\x1a\x6a\x1f\xbc\xbb\x3d\xbc\x6a\x30\x26\x0e\x81\xbf\xfb\x6f\x6f\x3b\x9d\x63\x20\x18\x75\x7a\xa7\x51\xe7\xe1\xbc\xda\xed\x5c\xee\xb8\xf7\x9d\xd6\xc3\x87\xce\x59\xf5\xba\x77\xdd\xaa\x5d\xb3\x1f\xe7\xba\xf6\xc1\x19\x7f\xf8\xe0\xf8\xec\x5f\xed\x66\xdc\xbe\xee\x4f\xdf\xd6\x6e\xa6\xed\xeb\x7e\xbd\x7d\xed\xbc\xda\xbc\x1e\x1d\xb5\x6f\xe0\x1f\x10\x64\xbf\xbc\x78\xbb\x31\x78\xb5\xc1\xfe\x55\x87\xe7\x47\xef\xae\x1b\xcd\xc6\x7e\xe3\xa4\xf1\xed\xe2\xa6\xff\xed\xc4\x6a\xbb\x47\xdf\x4f\xdd\x0b\xab\x7d\x30\x6a\x5b\x51\x63\xb8\x7f\xcb\x7a\xdf\x68\x36\x8e\x6f\xdd\xf6\xe4\xf6\xfb\xf9\xf1\x64\x7c\xf3\x3d\x1c\x8f\xfb\x40\x30\x1e\xbb\x61\x3c\xde\x38\x8d\xdc\x87\xd3\x68\x38\x6f\x8d\xbe\xcf\x98\x34\xec\xc3\xe4\xb3\x9f\x93\xfd\xc9\xf8\xfb\x8d\xf9\xdf\xf8\xe6\xc6\x1b\x5f\xcb\x7f\x40\x50\xfd\x20\xef\xdf\xbb\xa3\x6f\xed\x93\xe1\x7e\xa3\x31\xdc\x6f\xdc\x6f\xb4\xec\xfb\x8d\xd6\x6d\xe7\xba\x7d\x7b\xbf\xd1\x8e\xf6\x67\x38\xeb\xf3\x46\xa3\x01\x04\xd9\xe8\xae\xdc\x87\x43\xfb\x5b\xe7\xad\xfd\xd0\x7b\x6b\x3f\x3c\xbc\xb5\x1f\xee\xdf\x3a\xad\xde\xb1\xd7\x7a\x38\x7f\xd5\x9a\x5d\x36\x1b\xb5\x9b\x7d\xd6\xe1\x61\xa3\x8d\xdd\xde\x6f\x9c\x75\x1e\x0e\xed\xce\xc3\x31\xe3\xfd\x95\xbb\xd1\xb3\xbf\x5d\x7f\xc0\x95\xf2\xb0\xf1\xc1\xae\x6e\x7c\x60\xcc\xbf\x7e\xcc\xcf\xc7\xb7\x38\xd3\x8c\x35\xcd\x23\xe7\x66\x72\xf3\x1d\x08\x0e\x1b\xc3\x87\xdb\xa3\x16\x4e\x06\xb6\xff\x31\x78\x37\x3a\x38\x68\x08\x01\x7e\xd7\x68\xb4\xdd\xd1\x56\xb3\x69\x55\x8f\xc3\x87\x87\xde\xed\xc5\x78\xfa\x7e\xf8\xbd\xd3\xed\x57\x77\x8e\x8e\xaf\x8f\x23\x7f\x6a\x8d\x3f\x8e\x37\x2e\x71\xa5\x30\xf9\xeb\x9f\x6d\xde\x6c\x6e\xdd\x3f\x3c\xb8\xfe\xc9\xd8\x7e\x3f\x1c\x3b\x4d\xcb\xde\xd9\x3a\x3e\x38\xfe\xee\x05\xc7\xfe\xbb\xb1\x7f\x79\x41\x3b\x27\xfd\xfd\xed\xfa\xa4\x3a\x99\x3c\x3c\x8c\x7c\xdf\x6f\xbc\x3c\x3a\x7a\x7f\x64\xdb\x3b\x5b\x93\xea\x24\x78\xfb\xdd\xf1\x3e\x02\x41\x46\xf9\xbd\xd3\xb4\xb6\xbe\xbb\x5b\x87\xc7\xf1\xc3\x43\x30\xbe\x1a\xcf\x69\x6d\x7a\xdd\xed\xdb\x3b\x9b\x5b\x5b\xac\x21\x2e\xfc\xdf\xaf\xb7\xed\x87\xa8\xb5\xb5\x79\x73\xff\xf0\x10\xf8\xd6\xb8\x3e\xdd\x6a\x5e\xd7\x6d\x7b\xe7\xe5\xd6\xcd\xf1\xc3\x14\x57\xca\x3b\x7f\xa4\xac\x14\x24\x30\xf4\x9a\xef\x6a\x1f\xf7\x1b\xb0\x83\x75\x46\xf5\xfd\x6f\x47\xfe\xc7\xf6\x70\xf0\x71\xf3\xe8\xe3\xe8\xdd\x68\xe2\x1e\xf5\xde\xfa\xdd\xcb\x83\xc9\xc5\xf0\xcc\x1e\x4e\x26\xfb\xdb\xe7\xdf\x6e\x6f\x4e\x80\xe0\xf7\x8f\xe7\xef\xae\x46\xb7\xfe\xe4\x43\xb7\xc9\xb6\x20\x98\xcb\x46\xb3\xd5\x3a\x3c\x6e\xb7\x3f\x5e\x5d\x5d\xdd\xca\x0d\xe0\xe8\xe8\xe8\xa4\xdd\xb6\xa8\x6d\x0f\x83\xef\xdf\x4f\xba\x5d\xd7\x0d\x4f\x4e\x4e\x2f\xcf\xce\xa2\x28\x8a\x76\x66\x73\x20\x38\xdf\x7e\x38\x78\xf8\x16\x86\xd1\xd9\xd9\xbb\x77\xb3\xd9\x7d\x7c\x7e\x7c\x72\x7a\xf0\xe1\xfa\x7a\x7c\x71\x1e\x53\x8b\xda\xdb\x9b\x5b\xdd\xa3\xa9\x17\x3b\x37\xd6\xc9\xf6\xfb\xab\xab\xdb\x60\x32\xe9\x36\xaa\x37\xfb\x7c\xc7\x69\xee\xdf\xde\xb6\x5a\x47\x47\x1f\xaf\xae\x80\x20\xf4\x60\x32\x9a\xcf\xdd\xb1\x1f\xb4\xdb\x27\x69\x99\xdb\x69\xf6\x2e\x5b\x9d\x8d\x4e\xea\xdf\xe5\x4e\xe7\xbe\xd3\x72\xaf\x3b\x2d\xf7\x43\xe7\xcc\xad\xf5\xce\x1e\x6a\xb8\xc1\x5e\x1f\x5e\x7f\x70\xc6\xb5\x1b\x6f\xe3\x43\x3f\xde\xbc\x76\xea\x6f\x3f\x0c\x6a\x1b\x1b\x83\xda\x66\x6d\x70\xb8\x79\xe3\xbd\xbf\xc9\xfe\x6b\xf2\x1d\x1b\x5a\x6c\xb5\xdb\xed\x8f\xef\x80\x35\x40\x70\x74\xd3\x71\xbf\x1d\xbc\x7d\xeb\xb7\xcf\x2f\xde\x0d\xc7\xfb\x92\x8f\x7c\x4d\x74\x36\x5a\x57\xf7\x5b\x2d\x7b\x7e\xd3\xba\xed\xbe\x6c\xdf\xf6\x9c\x76\xf4\x30\x68\x57\x7b\xeb\x67\xd5\x6a\xe7\xfc\xf0\xaa\xd7\x39\xbf\xba\xbf\x76\xaa\x9d\xeb\x1a\x10\xac\xde\xdf\x78\x57\x0f\x37\x4e\xf5\xe1\xda\xab\xd6\xae\xbd\xda\x87\x1b\xaf\xde\xbf\xf1\xde\xbf\x74\x5e\xbd\xef\xdf\xbc\xda\x58\x77\xf4\x7f\xaf\x9c\x1a\xdf\xfa\x87\x8d\x77\xcd\x61\xfb\x61\xdc\x6d\xbb\xe3\x6e\xfb\x1b\x3f\x02\x36\xab\x6e\x77\xbf\xdd\x3d\x0a\x1b\xed\xc6\x0d\xac\xd2\xe6\xf0\xa4\xfd\xd2\xbd\x68\x6f\x7e\xeb\xde\xb4\x6f\xdf\xdf\xb4\xc7\xf4\xe6\xc6\x77\x6f\xbe\x4f\xc6\x37\x2f\x27\xdf\xad\xf6\x09\x6e\x63\xb0\x88\x5a\xfc\x08\x1d\x5a\xed\xef\x3e\x0a\x76\xfb\xbb\xef\xb6\x43\xdf\x6d\x6f\x06\xee\xcd\xcd\xc4\xbd\xf9\xfe\x7d\x6a\x1d\x47\xf3\xef\x2f\xc3\xe9\x63\xfe\xdd\xee\x07\x28\x36\xcd\xa0\xf1\x0e\x0e\x1c\x67\x7e\x0c\xff\xae\xbb\xc7\xad\xeb\xf9\x71\xc3\x6e\x1f\x5c\xdf\x1e\x36\xce\x86\xc0\xd2\xd9\x41\xcb\x7e\x57\x6b\xdf\xde\xbf\x6c\x47\xbd\xc1\x19\xe7\xe1\xd9\xab\x6a\xef\xec\xd5\xf5\x87\xce\xe1\xe1\x6c\x78\x0e\x04\xc5\x09\x26\x54\x87\xd9\x71\xe3\xac\xfb\xb2\x65\x3f\x38\xad\xdb\xab\xeb\x76\x5c\xbb\x6e\xd7\x6a\xd7\xed\xf8\xfa\xfa\xdd\xab\x65\x1b\x10\x8a\x8d\xf2\x53\xeb\x75\xce\xab\x0f\xdd\xfd\xea\x71\x93\xcd\x34\x63\xe9\xb7\x77\xef\x3e\xde\x8c\xf6\x9b\x27\xf6\x64\xbf\xd9\xff\x56\xfb\xd8\x3c\x78\x3b\x3e\x6e\xbc\x1f\x5d\xbc\xb3\x46\xf7\xfb\x6e\x6b\x72\xdf\x78\x38\x38\xb8\x3d\x6f\xfb\xdd\x77\x40\xf0\x5d\xd7\x7e\x35\x3d\x6e\x6f\xcd\x66\x0f\x0f\x9b\x87\xed\xe0\xf0\xaa\x73\x36\xdc\xac\x7a\xe7\x9b\x9b\xc3\x03\xfb\x64\xfc\xa1\xe5\x7b\x17\x8d\x11\x5b\xdb\xad\xc6\x61\x8b\x0d\xe6\x7e\x7e\xf0\xb6\x75\xf4\xf6\xf4\xa2\x6b\x8f\x87\x9d\xb3\xcd\xfb\xe6\x4d\xfd\x6a\x7e\x70\x8b\x93\x32\xb9\xb9\xec\x76\xbb\xb7\xb1\x37\x1a\x3e\x9c\x74\xdf\x8f\x5b\xe3\xcb\x6f\xfe\xc9\x65\xb7\x6b\x8f\x6f\xbd\xfd\xd1\xa9\x3b\xa9\xdf\xb6\xc6\x17\xc7\xe1\x3b\x58\xe4\x6f\x99\x7c\x36\xb7\xdf\xbe\xbb\xdd\xbf\xda\x7f\xc7\x96\xd4\x51\xfb\xec\x6a\x18\x4c\x46\x37\x9d\x2e\xee\x36\xae\x3f\xbe\x3d\x3c\x3d\x39\xa3\x57\xf6\xd5\x6d\xb0\x35\xd9\xba\xef\x3d\x7c\xbb\x6d\xbf\xfd\xd8\x3b\x39\x7b\x67\x39\xc3\xfb\xc6\x64\xd2\xb9\xef\x3d\xb8\xfe\xdb\xb7\xed\xde\xd9\x3b\xfa\xde\x1e\xbe\xda\xdf\x67\xea\x59\xfb\x8c\x49\xd9\x41\xe3\x9d\x3b\xac\xde\xb4\xae\xf0\x4c\x69\x35\xed\xc6\xe6\xdb\xc6\xed\xc3\xd6\x59\xb5\x7b\xff\xce\xeb\xde\x9f\x1f\x3e\xdc\x77\xbc\xda\xfd\xf9\x79\x6d\xeb\xaa\xfa\xd0\x7b\x57\xbb\xba\xee\x5c\xcf\xef\xcf\xaf\x6b\xd7\x9d\xeb\xfa\xfd\xcd\xf9\x75\xff\xa3\xd7\xeb\x9c\x9f\xf7\x06\x9d\xab\xeb\xce\xf9\xe1\x75\xe7\xfa\xba\xba\x75\x83\xb3\x7c\xdd\xbf\x8e\x1f\x1e\x3a\x5e\xfd\xba\x73\xbd\xd1\xb9\xb9\xae\xf5\x6f\xbc\xfa\xfd\xcd\x8b\xeb\xad\x9b\xda\xc6\xc3\xf9\xf9\x7b\xf6\x99\xc3\x88\x5c\xd7\x6a\x5b\x37\xaf\x3e\xbc\xba\x89\x3f\xdc\x0c\x65\x43\xbd\x4e\x07\x1b\x7a\xb8\xc1\x59\xae\xbd\xfc\x58\xbb\xfa\xd0\xb9\xbe\xba\xbe\xf6\xde\x5f\x77\xae\xdf\x7f\xb8\xf1\xfe\x7f\xec\xfd\xf7\x92\xe3\x46\x96\x28\x0e\xff\xaf\xa7\xe0\xce\x17\x71\xbb\xb5\x6c\x35\x40\x80\x76\xb4\x3d\x1b\x09\x47\x18\x82\x20\x3c\x81\x89\x09\x05\x1c\x01\x10\xde\x83\xd8\x9d\x77\xff\x82\x44\x55\x9b\x2a\x56\x77\x75\x4b\xbb\xa3\x7b\xe3\x57\x11\x92\x28\x20\xf3\xe4\xc9\xe3\x4d\x92\xa9\x9f\x5c\x4d\xdb\x98\x1b\xb9\xbf\x0e\xde\xef\x11\x49\xd3\x34\xdb\xd4\x90\x93\x56\x6b\xa6\xb9\x99\x1f\x25\xed\xa8\xb9\x31\x72\x72\x35\x5d\x32\xa7\xfa\xc6\xa3\xe6\x27\x73\x33\xaa\x9e\x14\xdc\x30\x98\x6d\xb4\xd9\x75\xb0\xe1\x9a\xb1\x61\xbb\x33\xf4\x12\xe4\x49\x12\x17\x59\x11\x16\x49\x18\x16\x45\x91\x14\x75\x82\x14\x65\x31\xb3\xb3\x26\x2c\xb2\xa2\xe4\xaa\xc4\x2b\xca\x62\xe0\xaa\x62\x5a\x96\xc9\x50\x8e\xaa\x17\x86\x45\x59\x84\x45\x15\x5e\x8a\x22\xbc\x94\x55\x31\xac\x8a\x70\x28\xeb\x22\x2c\x9a\x02\xe5\xaa\x12\xb7\xcb\xa2\x2d\xeb\x66\xbd\xeb\x2e\x43\xd9\xa4\x78\x51\x16\xcb\xb2\x6a\xc6\x71\x4d\x81\x96\x7d\x4a\x97\xcd\x19\x5b\x8f\x62\x13\xa6\xbb\xbc\x68\x8b\xa6\x48\x96\x4d\xb2\x2a\x9b\x94\xe6\xeb\x04\x76\xb2\x65\x59\xb4\x61\xb9\xeb\x4a\x82\xab\x1a\xa8\x6c\xc2\x29\xec\xca\x94\xa4\x1d\x8f\x6e\x4c\xa1\x67\x0d\xd1\xcc\x0d\x32\x3b\xb9\x8b\x85\xbd\x99\xeb\x17\x5b\x69\xa0\x1b\xc0\xf2\xd4\x72\x8e\xd7\x2c\xe1\xd6\x5f\x0c\xc8\xda\x69\x6c\xb3\xa6\x77\xfb\x66\xbb\x9a\xd6\xd3\xb5\x3d\x70\xc3\x26\x10\x98\x65\x6c\x2e\x0a\xc4\xb6\x8a\xa2\x34\x9b\xa2\x98\x36\x17\x3b\x6c\x89\x52\xa8\x71\x55\xd3\x36\x47\x53\x8b\xd1\xc1\x75\x47\x5d\x96\xdc\x06\x1d\x3c\x41\xdf\x78\xfb\xac\x28\x8b\x26\x2c\x77\xed\x15\xab\x33\xed\xf4\xc9\xda\x69\x06\xe0\x1c\xdd\x0a\x39\xc7\xed\x31\xb5\xb9\x1a\x47\x67\xe7\xcb\xc1\x61\x07\xa4\xb5\xfb\x94\x5e\x09\xcd\x01\x71\x2d\xa1\x25\x40\x4a\xdf\x00\x9e\xbb\xab\x06\x90\x37\x0d\x20\xd7\x39\xc8\x64\xb2\x04\x19\x98\x03\x11\x6c\x19\xcf\x51\xd5\x1e\x14\xbd\x8c\xc1\x24\xb5\x2b\x18\x4e\x52\x79\xd1\x08\x1c\x78\xc1\xf5\xd2\x45\x55\xc9\xbc\x60\x4c\x45\xe5\x2a\xc3\xd7\x98\xc5\x18\x70\x5e\xd8\x8b\x42\x46\x79\xc6\x99\x8a\xac\xfa\x5e\x90\x6b\x18\x67\x2d\xb7\xea\x2c\x66\xcb\xca\xb2\x55\xa3\x81\xfd\x1c\x33\x39\x4b\x46\x54\x38\xce\x8b\xc2\xb1\x55\x3d\xeb\x24\xa3\x07\x97\xc5\x52\x8a\x86\x28\x62\x73\x5b\xd4\xe5\x24\xaa\xc7\x60\x09\x5e\x70\x8b\x25\x1e\x11\x11\xcb\xe5\x96\xa8\xca\x70\x56\x6b\x55\xcf\x5e\x2c\xfc\x0c\x47\x14\x53\x58\xa2\xac\xc2\x49\x5e\xdf\x16\xd2\x23\x2a\xaa\x39\xde\x36\x54\x1d\x99\xf7\xb3\xa0\xbf\x2e\x14\x91\x71\xcd\x72\x8e\xf1\xe0\x46\x11\xb8\xee\xf3\xec\xdc\x87\x58\x34\x44\x29\x9b\xb2\xbc\x7c\x5d\x2d\xde\xb3\xd6\xc2\x0c\xd5\xeb\x42\x89\x21\xc8\x72\x54\xd4\xb1\xc9\xca\x03\x7b\x51\x6e\x0b\x19\x82\x20\x47\x51\x5e\xe7\x2c\xa7\x70\x5b\x75\x16\xe5\x63\xe4\x50\x19\x9a\xac\x27\x5d\x3f\xcb\x7b\xd9\x26\xf4\xeb\xb6\x58\xce\xb1\x64\x39\xe9\xea\x3e\xce\x6d\x65\xa7\xcd\x48\x2a\xdb\x8d\xdb\x4a\xea\x5a\x33\x4b\xab\x40\xb7\x2a\x99\x97\xac\xa5\x1a\x32\x5c\xf4\xb5\x64\x96\xf6\x99\x4e\xc6\x18\x3b\xca\xf3\xd2\x12\x65\x1d\x4e\xf2\x5e\x32\xed\x73\x88\x6e\x93\x78\x5f\xee\x2d\x5b\xb7\x92\x79\xbf\x08\x72\xdb\x56\x50\x3d\x49\xf7\x5c\xe9\xda\xaa\x9a\x5d\x77\x94\x9f\x6d\x1b\xd5\x92\xb4\x6d\x19\x6e\xa4\x5f\xbc\x67\xc3\x1b\x40\x2b\x44\xb7\xb3\x84\xab\x33\x53\xd1\xe5\xb0\xe8\x63\x93\xb5\x6c\x82\x4e\x90\xb8\xe0\x05\x53\x91\x8d\x28\xc9\x7b\x93\x95\xcf\xf8\x75\xa1\xba\x6a\x2c\x4b\xb7\x92\xae\x5f\xe4\xb9\x1c\xae\x8e\x09\x92\xee\xab\xfd\xc9\x56\xf5\xa2\x1b\x99\xd2\xe7\xb9\x22\xaf\x8e\xba\x9e\x0a\x87\xe6\xa4\xe9\x00\x10\xc0\x07\x3c\x10\x19\xc0\x9a\x16\x21\x46\xac\x0a\x6e\x86\x94\xdc\x32\x6a\xb5\x60\x2d\x09\xbb\x0c\x44\x54\xe0\xea\x8e\x17\x64\x2f\x77\xa2\x1e\xe7\xe4\x58\x1b\x48\x72\xcc\xa4\x58\xfb\x78\xa5\x6e\xde\xbb\xc6\x02\xc7\xf5\x98\x8a\xaa\x62\xe7\x68\xba\x75\x89\xf2\x2b\x6d\x76\x22\x00\xd9\x83\x21\xc5\x22\x84\xed\x45\x92\x23\xb4\x88\x05\xa4\x78\x7d\xb6\x65\xae\x82\x09\x0c\x33\x97\x42\x62\x8c\x1c\xb0\x30\xa2\xb6\xbc\xc8\x14\xaa\x71\x15\xa1\x5c\x92\xce\x57\x6e\x6f\x69\x5e\x10\xc3\xcc\x34\xd6\x0b\x8c\xc3\x13\x52\x25\xb3\x82\x33\x54\x51\x8e\xa2\x38\x17\xaf\x71\x4a\xe6\x5c\x3d\xbc\xbd\xc7\x55\x1d\xbb\xf8\x30\x0b\x1e\xb2\x51\x15\xa8\xd7\x6c\xf4\xba\x16\x6f\x18\xbe\x4b\x89\x17\x2e\xd8\x92\x0a\x99\xa5\x85\x41\x8a\xba\xdf\xd4\xae\x6b\xca\xd6\xf2\x48\x0d\x54\x5e\x94\xb6\x62\x88\x20\xac\x03\xd7\xb8\xc8\x97\xe3\x76\x46\xe5\x49\xe9\xc8\x86\x1e\x56\xa3\x0b\x00\xc2\x00\x80\x48\x54\x1d\xc9\x64\xfb\xad\x18\x03\x16\xd0\x80\x04\x46\xd6\x4b\xe7\xe1\x1c\xa7\xe4\x76\xc7\x0b\x9e\xef\xec\x81\xdf\x2f\x82\x0b\x49\x84\xe5\x36\x65\x78\x41\xf4\x7d\xed\x8a\x3d\x8e\x6f\xc9\x81\x88\xae\x11\xd8\x83\x1b\x6d\x0c\x27\xb8\x26\x88\xdc\x96\x20\x49\x86\xc9\x4d\x45\x16\x45\x3f\x08\x28\x96\x5b\xca\x38\x49\x92\x4c\x9e\x1f\x45\x51\xf4\xc3\x20\xa6\x98\xab\x6f\x2a\x6e\x7b\xdd\x61\x92\x49\x0b\x78\x64\x61\x57\x17\x8b\x03\x3a\x7a\xc0\x90\x01\xbd\x7c\x8e\xe8\xcc\x94\xb6\x9c\x63\xf8\x31\xcb\xca\x57\xec\x48\x32\x67\x8b\x23\xc3\x8b\x61\x94\xf7\x9a\xb1\xc0\x96\x5b\x35\xa6\xca\x8a\x61\x95\xab\x22\xcc\xdc\x00\xe3\x2c\x19\xdd\xea\xd1\x9e\x2b\x1d\xcd\xb0\x96\xf3\x31\x3e\xcc\x5d\x33\x2c\x89\xe3\x71\x46\x15\x7c\xed\x59\x96\x05\x67\x57\x0d\x29\x07\x3b\x02\x60\xdf\x51\x58\x87\x77\xa0\xaf\xa9\x7d\xe8\x18\xb8\x9c\xc1\x26\xae\x82\x08\x38\xc0\xc7\xf1\x88\xda\x0a\x57\xba\xab\x46\x96\xf5\x8b\x45\x3f\x72\x19\xc7\x53\x2a\xa1\x0f\x02\x67\x19\xc6\x98\x05\x5c\x03\xd0\x6b\x1a\x21\xf0\xfc\x43\x66\xd0\xe7\xc1\x2d\xb5\xa0\x1f\xb3\x85\xf9\x97\xe9\xc6\x63\x06\x71\x03\x38\xa6\x11\x11\x00\x78\xde\x5d\x7d\x77\x45\x51\x91\x33\xe7\xa4\x8c\xbc\x86\xbd\x0c\x28\xae\xf1\x36\x46\xe9\x46\xd6\xf5\x7d\xe0\xdb\xf8\x43\xbd\x81\x57\x0d\x79\x7c\x16\x9c\xed\x87\x67\x37\x80\xbc\x63\x19\x8f\x2f\x1e\x8b\x13\xbc\x63\x3c\x2b\x58\xbc\xe6\xd9\x68\x1c\xa8\xba\x2c\xed\xa3\xae\x27\x4d\x7d\x4d\x1d\xac\x25\x32\x9b\xc5\x79\x59\x8a\x18\x68\xbb\x8c\x06\x87\x35\xbd\x9d\x8d\xfc\xc4\x2f\xdd\x8d\x86\x24\x98\x03\x80\x9d\x89\x84\x16\x04\x41\x34\xdc\x80\x31\xf2\x25\x27\x93\x37\x80\x57\x11\xca\xd4\x3d\x27\xc8\x7e\x1c\x50\x18\xc7\xc9\xf1\xa0\x44\x39\x97\x5b\xb2\xaa\x47\x85\xe9\xcc\x58\x99\x0b\xf5\x38\x8e\xaf\x2e\x40\x51\xf5\x28\xbb\x2d\x8c\x5d\xf4\x78\x16\xb3\xc5\x15\x19\xc1\x0f\xe3\x7a\x2f\x59\xa3\xb5\x59\x22\x33\x84\xa4\x18\xce\x3a\xea\x7a\x56\xd5\x7d\x8c\x71\x72\x81\xcc\x90\x2d\xc7\xef\x0d\x53\x56\x93\xa2\xee\xdd\x20\x2c\x89\x6d\x04\xc7\x6c\xb5\xbb\x6e\x73\x79\x09\xe2\xbd\x69\x59\xc3\x75\xeb\x55\xcd\xd9\x47\xdd\xc8\x2e\x63\x16\x70\x15\x11\xd9\x4a\x66\xb3\x84\xdb\xed\x5d\xd3\xc2\x3b\xc2\xb7\x53\x00\x7c\x32\xec\x1c\xc3\xd2\xf2\xdd\x01\x87\xbd\x07\xe1\xc5\x49\x0c\x00\x09\x1f\xa5\x80\x17\x45\xdf\x0f\xd4\xab\xc8\x2c\xf1\x9b\x52\x8c\x75\x1b\x55\xe2\x78\xcf\x70\xdc\xb1\x9c\x42\x9e\x09\x3a\xcd\x98\x71\x70\xc0\x82\x7e\x11\xf4\x30\x39\x26\x37\xa2\xd0\x38\x8f\x5a\x45\xaa\x51\x99\xd2\xb4\x78\x1b\x17\x53\x18\x7e\xd5\xaa\x31\x9c\x23\x19\x26\x33\x24\x59\x0e\x23\xf7\x3a\x98\xbb\x0d\xce\x72\xd6\xb8\x0e\x4e\xe2\x98\x62\x39\xce\xd2\xc9\x71\x9c\x28\xcb\x61\x12\xc7\x37\xa0\x0f\x79\x9f\x29\xca\x23\x50\x76\xf4\x29\x9c\x75\x7d\xc1\x30\x99\x29\x89\xb7\xc1\x14\xcb\x5d\x31\x1d\x07\x4b\xb2\xec\x47\xc1\x8d\x59\xd6\x08\x80\x79\x04\x7a\x5b\x48\xbd\x86\xc8\x04\xd6\xe1\x00\xe0\x87\x31\xad\x60\xb9\x03\xc7\x24\x1d\x3c\x77\x18\x42\xdd\x9e\x19\xd9\xc7\x01\x01\x00\x70\xdc\xa0\x58\x5e\x52\xfd\x82\x13\x54\xca\xc8\xba\x3c\x97\x45\x27\xc0\xc2\x5d\x40\xc9\xe1\x39\xa6\x2b\x5d\x63\xb6\x8e\x6a\xcc\x4c\xb1\xcf\x25\x49\x51\x93\x76\x04\x98\x6e\x39\x5e\x55\xa7\xae\x01\x67\x7d\xb7\xbc\xa8\x5a\x94\x65\x91\xb1\x93\x9d\xe2\x32\x73\xab\x0e\xbb\x26\x29\x38\x00\x1d\x89\x93\x83\xaf\x02\x8c\xc2\xce\xcc\x15\xab\x00\x88\x39\xe0\xf0\xae\xdb\x83\xfe\x08\x44\x72\x81\x31\x63\xbe\x8c\xfb\x1d\xd7\xcf\xa5\x01\x4e\x22\x02\x60\x38\x79\x01\x17\x29\xa4\x7c\x9e\x0c\x84\xc2\xb7\xd8\x50\xf0\x31\xe3\xb8\x25\x18\x6c\x0e\xf8\xb3\x81\xc0\x61\xd7\x66\x7c\x05\xa8\xa3\xdb\xcf\x18\x46\xf4\x31\x7c\xcb\xf4\x22\xa9\x46\x0c\x3e\x1a\x07\x12\x59\xcc\xe7\xfe\xec\xd0\xf0\x24\x2b\x44\x7a\x4c\xf8\x63\x1a\x3a\x07\x00\xd0\x3e\x00\x91\x0f\xfb\x4c\xc8\x59\x82\x31\x17\xce\xdd\x54\x24\x59\x52\x8a\x02\x4e\x21\x17\x0f\x95\xa7\x1d\xc0\x7c\xb0\x06\x3e\x2e\x52\x37\x80\x21\x13\x32\x66\xb6\x3c\x77\x53\x9e\xf8\x38\x16\x88\xf1\xe7\x25\x54\x1c\x3c\xac\x02\xc6\x64\x11\x07\xc1\xc1\x44\x5c\x05\x00\xd1\x10\xba\x87\x37\xc2\x76\x2c\x99\xda\x51\x76\xcb\xca\x12\x67\x35\x27\x24\xff\xb2\x3f\xf3\xcb\x8d\x02\x06\x41\x89\x56\x73\x37\xdd\x35\xb6\xd7\x55\xb6\xe5\x27\x66\xb8\xcf\xe7\x2e\xcc\xd9\x15\xd9\xcb\x06\xc4\xa0\x47\x55\xe9\x58\x3f\xf2\x4c\x37\x9d\xd1\xc6\x7c\xc8\xce\x37\x80\x28\x0a\x15\x1b\x82\xaa\x5b\x54\x0d\x67\xd0\x39\xe9\x57\x31\xae\xd6\x87\x7a\xb6\x86\x2a\xe3\xb4\xe1\x23\x1f\x54\x60\x2b\x61\x2e\xea\xf3\xdb\xc3\xbc\x52\xa7\x05\x7e\x30\xb0\xcb\x46\x2b\x01\x6a\x14\x6c\x56\xe9\xa8\x8e\x40\xde\x69\x16\x8e\xf9\x32\xd4\xa0\x8e\xbf\x36\xb7\xd0\x62\x75\x56\xa7\xf9\x21\xb1\xb7\x24\xab\xfa\xd1\x29\xb5\x18\x74\x43\xd8\x87\xa2\x77\x5d\x33\x0f\x6c\x5e\x4a\x70\x67\x51\x72\x71\xa4\xf2\xd1\xa5\x5f\x87\x4c\xd6\xf8\x0b\x97\x6d\x67\x82\x41\x6f\xac\xc5\xc6\x99\x8e\x18\x6e\xbd\xb6\x70\x56\x26\x72\xa4\x5c\xe2\xbc\x83\x0a\x7a\xa8\xa5\xd3\x59\x27\xf5\x9e\x85\xac\x70\xeb\x0d\xe7\x2c\x68\x36\x74\x85\x9b\xae\x88\x71\x76\x48\xc3\x5a\xad\x42\x68\xb2\x5e\xc4\xc4\x16\x51\xa0\x69\x1f\x99\x8e\x91\x1e\xa7\xe4\x08\xd0\x2a\x86\x16\xea\x15\x5f\xc8\x14\x6a\x3b\xed\x57\xf2\xbe\x10\xe7\xfb\x69\x06\x00\x26\xf7\x8d\x76\xec\x56\x2b\xd6\x5d\xd8\x49\xa2\x24\x0d\x6b\x45\xc7\xd5\x02\xde\xd0\x34\x1c\x6d\x0d\xae\x05\xd2\x21\xef\x4e\x82\x0c\x0e\x17\xf9\x00\x1c\x64\x14\x9b\x28\xf5\x88\x0e\x43\xe8\x0e\x00\x36\x16\x09\x83\x5b\x2c\xd6\xcb\xfd\x6a\xb3\x65\xf1\x73\x3f\x9f\xe6\x4b\x8b\x50\x5d\x64\x75\x94\x5b\xe9\x72\xdc\xb1\x11\x83\x2f\x0c\x73\x76\xde\xb5\x8b\x38\x17\x02\x53\x19\xe0\x6a\x4a\x24\x29\x35\x73\xc7\xe8\x2b\xaf\xcb\x94\x5f\xaa\x84\xcf\xe8\xb3\xd9\x31\x58\x3b\xb4\xe2\xc2\x90\x9c\xd8\xbe\x00\xdc\xde\xb9\xe8\x1d\x7f\xcd\x38\x4b\x13\x3d\xed\xe5\x93\x69\x0f\x5c\x68\x94\xdc\x7c\x5a\x1f\x8a\x3a\xe5\xb5\x9d\xe0\xe9\xc2\x16\x89\xb4\x56\x35\xc6\x2d\xe7\xc8\x81\x85\x82\x08\x8f\x17\x16\x25\x09\x73\x65\xb7\x35\x0e\xa6\xc3\xa8\x68\x6b\xf0\xb3\x20\x0b\xe4\xf9\x99\xa6\xe2\xf4\xa2\x43\x88\xb2\x60\x57\xd1\xb6\x92\x83\xa3\xae\xac\xf7\xf0\x42\x9b\xa2\x38\xb4\x3d\x14\xec\x4c\x74\xf5\xb0\xda\x1e\x46\x03\x4b\x0e\x74\x71\x64\x64\xec\xc0\x84\xa9\x4e\xa8\xf5\x8a\xf1\xd8\x16\x3a\x2d\x84\x7a\xc0\xfa\x5c\x19\x4c\x53\x9c\xe2\x06\x19\xd0\xc7\x53\xb1\x9d\x5b\x00\x13\xe3\x70\x85\x6c\xd9\x60\x3f\xcf\xd8\x76\x1a\x1c\x1d\x90\x03\xf6\x9a\x3b\xe8\x37\x80\xeb\x2d\x52\x5a\xe0\x38\xdf\xab\x0e\xc0\x52\xad\x5e\xad\xf0\xc1\x04\xd8\x74\x57\xd1\x8e\xe6\x4d\xc5\x79\x30\x15\xb1\x59\x17\x40\x66\xc9\x2a\x87\x5e\xc6\x5c\x66\x9d\xf8\x8a\x07\x5c\xa5\x12\x85\x8c\x52\xc9\xd4\xdf\x60\xb4\xa3\x1d\x82\xfe\x06\x50\x96\x24\x23\xe2\x74\x93\x3d\x0a\x94\x71\x58\x6a\x73\x40\x96\x61\xce\x66\xe4\xf9\xe8\x03\xa4\x63\x25\x93\x96\xc9\x3e\x61\x89\x64\x4d\xc1\x60\xe9\x93\xc7\xca\x5f\x58\x73\xb3\x02\x3b\xa6\x2e\x79\x6c\x35\x3d\x05\x2b\x95\xdb\xb5\x86\x3e\x66\xf4\x6e\x5d\x11\x1d\x75\x9a\x25\x83\x31\xc8\x33\x6a\x8d\xec\x67\x01\x22\x5c\x6a\xc4\x5b\x2d\xb1\x99\xe8\xca\xb0\x0c\x2a\x31\xf4\x77\x07\x5e\xf0\x59\x79\xc3\x4a\xf8\x2a\xa0\x8e\x60\x19\xa9\xd5\x8e\xda\x73\xc4\xc2\x01\x0b\x47\x91\x5a\x5f\x1e\x6b\xb0\x07\x07\xa5\xe2\xcd\xa6\xd7\x51\x51\x09\x21\x9e\x96\xd6\x04\x99\x2c\xf5\xb4\xb5\x34\x11\x28\x9d\x54\x48\xdc\xf9\xd2\x89\x1b\xac\x2c\x83\xc6\x97\x10\xc0\x29\xd5\x41\xf4\x44\x27\x2a\x81\xe0\x13\x42\x60\x2b\xa4\x7c\x29\x8f\xe2\x02\xc6\x6f\x00\xa3\x7d\x7e\x74\x6b\xfd\xac\xaf\x74\x04\x42\xd5\xb3\x77\x44\xd5\xcd\xc2\x67\x5c\x2b\x3e\x49\x20\x03\x49\xa1\x92\x61\x97\x2f\xd0\x00\x77\x1d\xbc\x8b\xfd\xf9\xea\xe4\xd8\xa7\x21\x4e\x44\x1e\xf8\x16\x16\x05\x2b\x67\x7a\x72\x08\x9f\x9a\x8e\x72\x78\xea\x88\xe3\x69\xf0\xfc\xdd\xc1\xd9\x19\x6c\x05\x00\x2b\x82\x52\x39\x9e\xd3\x00\x6a\x8e\xdb\x0b\xda\xce\xe8\x08\xcd\xb5\x25\x84\xd6\x8b\xb2\xd1\xd7\xb3\xd3\x32\x2f\x4f\x36\x8f\x88\xa8\xbe\xd7\x2e\x9b\x35\xd6\xa9\xb5\x8d\x77\x01\x15\x8c\xf1\xa1\xde\x1c\xbc\x76\x29\x78\xd0\xdc\xb4\x28\x51\x75\x7c\xae\xd4\xaa\xb9\xeb\x9d\x86\x60\xa6\x00\x02\xcc\x08\x32\x58\xd8\xa8\x16\x13\x16\x89\x77\x0b\x7b\x6a\x1f\x4e\x11\x97\x55\x68\xcd\x80\xc6\x43\x5b\xd6\x14\xc2\x00\xf5\x2d\x34\x5e\x8e\xd6\x06\x3d\xc8\x27\x26\x2a\x77\x2d\x7c\x00\xf2\x7a\x79\x38\xb8\xbb\x95\xbf\xce\x1c\x84\xab\xbd\x3d\xc5\x71\x03\x27\x79\x81\xd0\x22\x3e\x9b\x51\x3b\xec\x70\x4c\xac\x63\x7b\xc0\x44\x66\xe7\xb3\x59\x0a\xdb\xb6\x8e\x55\x43\x69\x98\x86\xd1\x91\xab\x31\xbd\x8d\x91\xf3\xb4\x55\x5c\x75\xa5\xe5\x11\x32\xdb\x85\x2a\x2c\x5a\xe7\x43\x74\xe9\x00\xa0\x0b\x5b\xc5\x61\xc8\xa8\x0c\xc1\xb5\xe7\xde\x12\x13\xf2\x15\x09\x3b\x78\x08\xcf\x41\x06\x29\x3e\xb1\x36\x35\xc0\x87\xee\x32\x80\xc0\x9a\xf1\xb0\x1b\xc0\x7d\x94\x2f\xa1\xbe\x02\x00\x37\xc9\x1d\x69\x30\xd1\xf4\xd2\x32\x4b\x71\x98\xed\xf7\xcb\x98\x39\xd5\x18\xb4\x64\x78\xfd\xac\xb3\x7b\xa1\x38\x28\xbc\xe7\x82\xe4\x62\x9d\x97\x64\x05\x8b\x58\x14\xb3\x79\x28\xeb\x3a\x9d\x8a\x08\x9e\x19\x63\xfb\x63\xab\x83\xa4\x9e\xc2\xfe\x4e\xc4\x28\x0e\xc7\xd2\x1c\x11\x55\x55\x34\xa1\x59\x1d\xd4\x26\x81\xb1\x6a\x4e\xe9\xc6\x1a\x19\xd0\x79\xe6\x64\x25\xb6\x44\xb2\xe3\xaa\xc0\x16\x17\x38\x3b\x80\x16\x3a\x65\x3d\x8d\x2c\x3a\x2d\xf1\x19\xfa\x34\x9a\xaf\x9e\x12\xca\x75\xec\x99\x0e\x56\xcc\xb8\x1e\x35\x5b\xbc\xd8\x60\xbe\xb5\x44\x37\xa0\x6f\xe8\xe6\xb0\xdf\x41\xab\x99\x81\x53\x73\xf2\xd2\xb1\x79\x41\x53\xe0\xb8\x3c\x52\x70\x75\xd6\xec\x06\xec\xd3\xb6\x75\x77\x4e\xd9\x9c\x8c\x4e\xe0\xc7\x22\x46\x48\x58\xcb\x10\xcc\x97\x6b\x60\x00\x80\x2d\x93\x3d\xc6\x1f\x1d\x5f\x21\xd6\xb4\x2c\x15\xec\xbc\xed\xd6\xf8\x19\xc4\x38\x79\x00\x38\x90\xe3\x23\x04\x0e\xdd\x41\x60\xb9\x78\xd3\x5f\xdd\xe8\x21\x49\xbd\x16\xf1\xf4\x1c\x45\x8f\xfe\xe8\xe8\x3b\x94\x68\x4f\xc3\x32\xb9\x6c\x23\x34\xbb\x1c\xd6\x86\xc2\x55\xb8\xd0\x0e\xc0\x07\x3b\x31\x84\xb3\x99\xb3\xdc\x0f\x15\x22\x20\x07\x1f\x09\xe6\x00\x67\x58\xe0\x83\xed\x01\xb6\xf6\xe9\xa2\x87\x31\xc2\xd7\x4e\xf4\xaa\x41\x94\xfa\x72\x1a\x1d\xbd\x23\x31\x8d\x01\x2e\x62\x80\x51\x50\xdc\xca\x12\xa8\x6b\x1f\x2c\x95\x83\xad\x9b\x60\xe3\x5b\x6a\x69\xea\x40\x25\x01\x98\x12\xfd\x7c\x25\xa2\x50\xb9\x5e\xd1\xbd\xaa\x16\x66\x82\xc1\x58\xa2\x36\x7c\x9c\x9d\xa9\x33\x5d\xcf\x7c\x62\x6c\x2e\xa4\x69\xdb\x1c\xd7\x3c\x93\x54\x67\xb9\x58\xe8\xd1\x20\x0f\x5b\x79\x89\x08\x24\x13\x0b\xcd\x49\xd7\xbd\xa1\xd7\xf3\x76\x49\x61\x3e\xe1\xb3\x5a\x5c\x9f\x8e\x94\x51\xef\x01\x48\x0b\x15\xee\xc5\x8c\x80\x8d\x5d\x78\xcc\x16\x0e\xb5\x10\xc7\xe4\x71\x8e\xa7\xc6\xac\xc6\x76\x20\x32\x71\x01\x60\x20\xb0\x23\x08\xf0\x53\x08\x74\x32\x8e\xbb\xb1\x0e\x00\xe0\x1d\xea\x2c\xaf\xb2\xce\x5e\x6f\x35\x62\x68\x3d\x22\x34\xdb\x21\xb5\x6b\xa4\xa6\xe6\xf6\x6e\x91\xb9\xfb\x99\xc1\xc5\xeb\xb5\x32\xa6\x66\x24\xc0\x70\xb3\x6d\x4e\xc5\xc6\xc0\x15\xac\xe6\x3b\x0d\x88\x2a\x09\xba\x6d\xbd\x8f\xeb\x41\xb6\xe8\x16\x10\x06\x8e\x2a\xfd\x4e\x3b\x17\xa1\x04\xa6\x82\x09\xf8\x60\x70\x0a\xd2\x97\x1c\x20\x74\x19\xee\xb7\xae\xd2\x57\x0a\xbd\x1b\x93\x47\x92\x5a\x4e\x33\xc1\x46\xa6\x07\xc0\xac\x9d\xf0\x20\x3a\x47\x7f\x95\x0b\xc6\x74\x77\xee\x45\xb9\x45\x4e\xe7\x84\x6a\xce\xe8\xdc\xdf\x76\x03\x3a\x83\x21\x7b\xcb\x2d\x07\xb4\xf7\x95\xf5\x7a\xe5\x65\x89\xae\xee\x48\x8b\x70\xe1\x79\x47\x7b\x63\x5f\xcf\xe8\xdd\xb3\xe3\x6b\x88\xdc\xb7\x72\x97\xc2\x5a\x66\x1e\x59\xa9\x88\x24\x7c\x01\x64\x11\x4a\x1a\x2d\x03\x6a\x75\x5c\x01\x1f\x88\x3c\xb6\xb7\xb4\x0e\x80\x18\x60\x52\xaf\x40\xb3\x43\x72\x2a\x76\x85\x2c\xed\x09\x3b\x38\xda\xf0\xa8\xcb\xb6\x57\xe6\x18\x6a\x6f\xe6\xe7\xbc\xd1\x49\xf3\x8c\xe1\x04\x22\x38\xee\x91\xca\x71\x8e\xf4\x71\xe2\xe4\x50\x07\xbe\x5b\x03\x00\x08\xb5\x53\xe6\x71\xaa\x26\x0b\x38\x4e\xba\x32\xe7\xf9\xe0\x20\x32\xdc\x79\xd9\xc0\xe4\xfa\x54\x22\xed\x98\x49\x61\xa9\xcf\xef\x5d\x26\x2e\xcd\x2a\xf4\xcf\x56\x10\x9f\x1b\x77\x09\x28\xcd\x9f\xd6\xc3\xb1\x53\xd3\xe3\x0e\x55\xd8\x5d\x6e\x9d\x2d\x9d\x03\x73\xed\xd6\x68\x0f\xa9\x53\xc1\xfa\x1c\x30\xe1\xf5\xb1\xac\x65\xd4\xed\x6b\x71\x6f\x38\x63\x38\x77\x68\x0d\x72\xbb\xc6\xe3\xb6\x14\x25\xd6\xc7\xbc\x3c\xe8\xd2\xbd\xce\x9e\xeb\x6d\x91\xe4\x4b\x8d\x3c\xc8\x2d\xe6\xad\x48\x2c\x54\xd1\xc2\x67\x6d\x11\x74\xc4\x7c\xe7\xad\x77\x80\x27\xf8\x80\xb6\xf7\x00\x80\xd8\xe7\xa6\x35\x55\x2d\x46\x7b\x38\x35\x2e\xac\xb3\xb9\xe0\x29\x6b\xa1\x65\xbf\x3b\x34\xf1\x36\xed\xbb\xea\xa8\x6d\xa8\x2a\x42\xa2\xf9\x21\xac\x70\x40\xe3\x6b\x2a\xea\xec\x2d\xb9\xf1\xd9\x5b\x95\x24\xbd\x44\xd5\x19\xc6\x5d\x8a\x37\x77\x3b\x3f\x1b\xd6\xfc\x94\x7a\xe8\x2f\x87\x9d\x81\xf9\x4c\x3f\x1d\xe8\x10\xc7\x00\x07\x62\x8c\xdb\xe7\xd4\xac\x12\x36\x6c\xae\x39\x17\x32\xdc\x58\xe5\x6c\x61\xc4\xb4\x5f\x36\xf5\xe2\x74\x60\xd3\xc8\x65\x97\x2d\xd9\x99\x87\x0b\xa0\x45\x8c\x21\x09\xb5\x8c\x79\x07\x03\x60\x2c\x48\x22\x1c\x90\x61\xb1\x98\xb2\x9d\x54\x91\x73\xc0\x9a\x35\x9f\x02\x62\xb9\x4d\x05\xa3\x33\x62\x81\x31\xdb\x7a\x50\xf7\xee\xb9\xf4\xb0\xd5\x29\xe4\x23\x9d\x81\xf1\x04\xc3\x96\x80\x01\x9c\x83\xae\xc1\x26\xab\x48\x2a\x56\xe4\x2d\x89\x8f\x06\x76\xea\xd8\x9e\x44\xe0\xb0\x25\xe5\x3b\xba\xd8\x1f\xf2\xd8\xe1\xa0\xd5\x72\xd7\xa7\x48\x99\x27\xc5\xe5\x58\x19\xac\x2e\x85\x10\x25\xde\x5a\xc3\x62\xb4\xe1\x71\x20\x84\x76\x29\x62\x22\x20\x70\xa2\x2a\xf2\x2c\x3b\x34\xb5\x3b\x85\xc7\x8c\x1e\xf7\x36\xfe\x32\x24\xdd\xd0\x38\xfa\x5a\x22\x02\x66\x3e\x9d\x77\x55\x44\x62\x64\x88\xc5\xd9\x5e\x5c\x72\x21\x0c\x71\x8a\x08\x8b\x67\xfd\x74\xee\x87\x70\x0a\xbc\xe6\xc8\x65\xfc\x99\xd4\x4e\xa2\x60\x0e\x25\x7c\xd9\xcc\x67\xc5\xce\xe7\x91\x07\xd5\xeb\x5b\xdb\x14\x0a\xa7\x37\x97\xec\x32\x2a\xe3\xf2\x3c\xbf\x20\xe7\x0d\x70\x7d\x8e\xe8\x97\xdb\x94\xad\xb4\x5d\x60\x3b\x73\xa4\x29\x16\xeb\xf9\x34\x6b\x64\x77\x8f\xe5\x19\x1e\xe2\x1a\x5d\x0e\x53\x7d\x50\x01\x44\x10\x35\xb1\x06\xca\x43\xf7\x16\x0d\xe0\x98\xc7\x01\x18\x1c\xaa\x9d\xca\xd3\x93\x2c\xef\x23\xcf\xd0\x63\x25\xb7\xd1\x79\x72\x42\xa4\x53\x52\x14\xac\xc7\x7b\x51\x1c\xd0\xe0\xd4\xac\xb4\x0c\x90\x00\xf7\x01\xc8\x39\x29\xaa\x77\x53\x2e\x12\x09\x9d\xef\x8c\x31\x72\x50\x6f\xe7\x3d\x70\xae\xca\xd7\x70\x1f\xe4\x9b\x99\x7a\x2e\x44\xac\x43\xfb\xf9\xc2\xf1\xea\x22\x3a\x8b\xe4\xa5\x41\xb7\x1b\x6c\xb9\x9f\x4a\xcb\x05\xac\x16\x6b\x41\x0b\xfd\x55\x27\x24\x4b\xbd\x49\x61\xcf\x9a\xc7\x1c\x71\xc8\x2c\x9b\xad\x6e\x00\x97\xd6\xae\xf0\xed\xe0\x30\xe4\xed\x9c\x93\xe6\xa1\x40\x84\x71\xb7\x5e\x9b\xb9\xb1\x2a\x66\x8c\xc0\x3b\x36\x90\x81\x00\xb4\x3a\x71\xf0\x34\xb3\x9d\x32\xda\xce\xb9\xad\xbc\x82\xcc\xb4\x8a\x34\x5d\xda\x53\x1b\x16\x96\x54\x9a\x13\xd2\x91\xcb\x97\xcb\x46\x07\x6b\xa2\x5d\xee\xae\xc9\x98\xc4\xe3\xa2\x0a\xe6\xdb\x32\xac\x4f\x1a\x8f\xc4\x8e\x79\xa2\x51\x11\x55\xa0\xd6\x9c\xaf\x58\xc4\xa0\x03\x27\xc1\xac\xe1\x7c\x72\x2f\x8d\x86\x2c\xfc\x1d\x18\x4a\x07\x76\xc6\x6c\x6a\xec\x2f\xe3\xc1\xf2\xe0\x5e\x1f\x6c\x2f\xfa\x99\xd2\xe7\x17\xd9\x39\x5b\xba\x85\x24\x5b\x27\x3b\xd1\xbd\xde\x7b\x1d\x07\x76\x7e\xac\x63\xf9\x4e\x6d\xbb\x2e\x9a\xaa\x42\xb0\xf0\xf6\xdb\x8b\x2a\x54\x33\x88\xa4\xa6\xb9\x59\x4e\x1b\x77\x21\x0c\x63\x7a\xbb\xed\x0c\x17\x00\xcc\x47\xf2\x05\xb2\x0b\x65\x1f\x18\x90\xa9\xc5\x42\x12\xc6\xa4\x4f\xa7\xcb\x2d\x2a\x38\x9d\x71\x1e\x98\x55\x2b\x9c\x67\xf5\xb2\xaf\xfa\xb9\x8c\xc6\x98\xb1\x59\x92\xaa\x88\x51\x4b\xc0\x60\x20\x39\x18\xf4\xfc\x90\x8d\xd6\xc6\xc0\x33\x16\x00\x42\xf7\xa6\x82\xc9\x9a\xe1\x0a\xea\x57\x4b\xe8\x42\xaf\x76\xc3\x69\xc3\x2f\x8e\x83\xc4\xa5\xd4\x21\x69\x3d\xbe\x0a\x63\x91\xee\xb4\x87\xb3\x0f\xe8\x4e\x24\xd6\x07\xfc\x9a\x53\x12\xbe\x05\x8b\xcd\x19\xdb\x3d\xb8\xd1\xc1\x63\xe7\xd6\xd2\x84\x48\x49\xc3\x80\x1a\x03\x92\x28\xda\x8c\x5f\x61\x22\x06\x1a\xe0\x37\x03\x55\x30\xbb\x3a\x39\xd3\x28\xe7\xce\xbb\x13\x97\xd9\xa9\x10\x00\x74\x58\x2f\x0a\x3d\x93\x0e\xc9\x26\xe8\x32\x81\xce\x08\x00\xe2\x51\x6c\xec\x8e\x00\x60\xb1\xa4\x68\xd0\x1c\x4f\x31\x9d\xa1\x27\x0f\xa9\xeb\xed\xe6\xa8\x12\x1e\xd8\x18\x89\x81\x63\x22\x9c\x1d\x4a\x68\x26\xe2\x6b\xa6\x6d\xf0\x2b\xbd\x73\x5b\x05\x22\xce\x21\x08\x9f\x90\xa8\xb0\x5a\x6b\xc0\xa6\x45\x65\xec\xf8\x1c\x98\xc3\x3e\x53\x36\xc3\xde\x41\x63\x44\xf0\x56\x0a\xd0\x76\x60\x8f\x35\x27\x65\xcd\xdf\x4e\x77\x6c\x07\x65\x7e\x90\xd7\xd7\xcf\x19\xb9\xdb\xd2\x36\xd2\x58\x78\xd7\x91\xed\x8c\xd4\x03\xaa\x0c\xd5\xc8\x06\x16\x30\x91\x15\x74\x1a\x9b\x5c\x66\xaa\x98\x47\x5b\x1f\x50\xac\xd3\xf3\xb3\x6a\xf1\x26\x27\x9d\x57\xae\x09\xb3\x10\xe4\xab\x9e\xe2\xe6\x1a\xd9\x01\x60\x0a\x54\xb5\xef\x39\x70\x16\x65\x1f\x4c\x01\x76\xc8\x8c\x35\x7b\x5e\x5c\x90\xee\xec\xad\x67\xe7\xea\xe8\x40\x63\x65\x49\x11\x44\x5d\x21\x0c\x13\x4b\x40\xb4\x27\xc2\x42\xeb\x1a\x80\xec\xd9\xcd\x15\x23\x12\xe3\x40\xbd\xd1\xca\xea\x54\x41\xc8\x7e\xb6\xe1\x85\xcd\x4c\xde\x94\xee\x9a\xa4\x15\x93\x4e\x07\x7c\xc1\x1b\xc9\x49\x24\x01\x7e\x81\x28\xcc\x79\x28\x99\x02\x02\x2c\x9c\xb9\x1f\xce\x87\xb5\x04\xf6\x15\x94\x2c\xa9\xfd\x51\xcb\x36\x84\x36\x5f\xb2\xdb\x19\x86\x11\x4d\x54\xc4\x1d\xa4\x59\x8b\xed\x4a\xb4\x9b\xad\x26\x33\x53\xc4\x32\xad\x6c\x77\x64\x4b\x57\x3b\x23\x43\x8c\x6f\xcc\x85\x48\x3e\x34\x0a\xa9\x01\x5a\x88\x83\xaf\x99\xa3\xb8\x43\xd9\xd1\xe9\x2f\xf8\x52\x3f\x29\xcd\x14\xde\x68\x1e\xe4\xac\x96\x4b\x76\xae\x29\x60\xab\x52\x09\x58\xcc\xa6\x1a\xd8\x73\x21\x24\x1e\xb2\x43\x67\xf8\x06\x88\xc0\x6a\xb6\x10\xe8\xb9\x0c\x8f\xdd\x8a\x05\x47\xd0\xed\x79\xb3\xe1\xf9\x62\xad\x1c\x28\x07\x2d\x33\xce\x4c\xb7\x42\xa6\xcc\xec\x84\x09\x34\xdf\x59\x1d\x01\x3f\x1e\x16\xe3\x81\x3e\xd3\x6c\xb1\x43\x7d\x2b\x1f\x84\x9c\x75\xa7\x9c\x8b\x9c\x9c\x79\x28\x0b\x4b\xe4\x34\x76\x7c\xda\xcd\x34\xc9\xda\x26\x9c\x75\xea\xfe\x00\xce\xf0\x62\xb3\x47\x05\xad\x1f\xa2\xb9\xaf\xad\xd0\x43\x42\xae\x29\x06\x20\xd4\x22\x91\x0a\x74\x45\xb6\xce\x6a\xd9\xee\x8e\x27\x6a\x5e\x12\x0b\x95\x65\x41\x37\x5f\x06\xfa\x72\x67\xe2\xf6\xa2\x1a\x5b\x99\x3b\xb7\x9f\x46\xc3\xd5\x1e\x62\xd3\xe0\x74\xd9\x2c\xa6\x9b\xe5\xc2\xc4\x77\x87\x15\x86\x42\x5a\xac\xd0\x78\x4b\x90\x5c\x2d\x06\x4a\x32\xe7\x42\xdc\x07\x24\xb0\xcb\x93\xad\x2b\x87\xaa\xba\x22\x7d\xcc\x3d\x6f\x56\x6b\x65\x36\x18\xa3\x71\x48\xe7\xb3\x8e\x98\x59\x9e\x51\x47\xdc\xa9\xea\xf6\x0b\x48\x3e\x1e\x04\x98\x25\xd2\x40\x80\xe6\xb1\xa5\x66\x65\xdd\x42\xd5\x7c\x86\x9c\x2e\xb6\x07\xa5\xc2\xde\x4d\x9d\x0c\xa7\x53\x4c\x8b\xc3\x06\xc6\xc5\x2d\xa6\xc7\x07\x03\x5a\x70\xdd\x68\x1c\x12\x64\x07\x45\x65\x73\xe0\x97\xe2\x2a\x1b\xe6\x75\x4b\x88\x97\xa9\x6d\xa2\xf4\x20\x84\x53\x7f\x4f\x83\x39\x61\x92\x3e\xf8\x70\x1b\xfc\xe6\xa7\x9f\x1f\x7f\x9c\xf9\xce\xc9\xbf\x30\xb1\x7c\xaf\x82\x42\x27\x4b\x7f\xd9\x2c\xdf\xbc\x9b\xbc\xb9\x3d\x81\xf2\xf4\xf3\xd3\x7f\xa1\x86\x09\x52\x07\x73\x5b\x3f\xbb\xee\x70\x2f\xab\x01\xa9\xfa\x57\x0d\xba\x1d\x35\xf2\xf1\x6b\x6c\x0e\x88\x30\xa1\x9d\xf9\xed\xc9\xd6\xc5\x94\x6b\xc8\xbb\xdb\x1e\x70\xa8\x0f\x6e\xc7\x44\x00\x35\xa8\x91\x3b\xea\x3a\xe0\x56\x02\x2d\x44\xd7\xa7\xbe\x01\x07\xb2\x22\x02\xe0\x85\x06\x00\x0c\x4e\x02\x40\x2c\x6f\x2f\x04\x1f\x00\x5a\xed\x00\x20\x8a\x2b\x78\x21\xf7\x01\xc0\xdc\x2e\xdd\xe5\xd2\xe1\x26\x1e\x66\x28\xc3\xee\x58\x01\x05\x87\x35\x80\x3a\x02\xca\x76\x48\x1a\xdd\x44\x35\xee\x64\x2a\x1e\x00\x00\x0d\xd3\x01\xb0\x0b\x79\xcc\xe3\x54\xc8\xf5\x01\xa0\xb8\x80\x95\x48\x4a\xf5\xf6\x65\x7d\x3c\xc6\xd5\x91\x77\x17\x10\x0a\x0f\xeb\xe5\x7c\xd3\x10\xc3\x08\x30\xe9\x25\x2a\xb4\x99\x4a\x38\x9a\x6b\x8d\x49\x15\x96\x32\x64\x1d\xb5\x9c\x9a\x9c\x39\xb5\x1e\x39\x35\x49\x2d\x19\x58\x93\x28\x52\x07\x59\x18\x88\x19\x38\x8b\x54\x12\x62\x99\xaf\x5b\x0c\x09\x08\x0a\x4f\xc4\x63\x14\xd7\x19\x3c\x1f\xdd\xac\x00\xa7\xae\xce\xcc\xed\xde\xb4\x62\x9d\x66\xc3\x54\x31\xea\x48\x62\xa9\xc8\xa9\x87\x78\x33\xb8\x9b\xd5\x6a\xba\x76\xe6\x9b\xa9\x7a\x6e\xc2\xdc\xc6\x89\xd9\x65\xba\x99\x5a\xde\x6a\xd1\xb6\x09\x1b\xb7\xa8\x2f\x20\x86\xd4\xdc\xfe\x19\x2d\xfa\xf5\x7f\xd4\x06\xd4\x65\x86\xed\xd1\xf4\xe4\x71\x95\x25\x1f\xf5\xa6\xb4\xca\x56\x6a\xd5\x52\x49\x63\xc7\xd1\xa0\x85\x85\xc6\x84\xe4\x49\x1c\xe5\x3a\x73\xd3\x5a\xa6\x43\xab\x23\xf6\x4a\x60\xf2\xce\x0c\x56\x7b\x74\x15\xd2\xc6\x98\xa0\x1f\x86\xfa\xd2\x5e\xe6\x61\x01\x60\x58\x49\x7d\x48\x3f\xd2\xb3\x13\xba\x15\x2b\x2a\x0a\x61\xd1\x1e\xa6\x0e\xd0\x66\xc8\xd9\x93\x22\xa5\xeb\x54\x17\xb9\x9c\x2a\x8d\x59\x6f\x84\xb3\xbd\x2b\xbb\x34\x63\x99\x5d\xb7\x26\x33\x20\x30\x80\xf2\x47\x4d\xea\x08\x05\xef\x1d\xc0\x62\x24\xcb\x84\x0c\xf0\xb3\x90\xc1\x01\xe3\x33\x3e\x83\xb1\xdb\xdc\x3d\x48\xb8\x54\xa0\xd5\x01\xc7\x00\x0b\xc2\x70\x2d\xfa\x20\x82\x0e\x0c\x15\xc9\x18\x26\xb6\x01\x2a\x4a\x91\x78\xac\x49\x1c\xe3\xf2\xb1\x0c\x43\x6f\xec\x72\x11\xf0\x61\x14\x38\xfe\x5c\xd4\xe6\xae\x11\xf9\x40\xa2\x30\x39\x4a\x62\x35\x49\xf3\xd5\x2e\xd9\x1d\xd7\x65\xbc\x2e\x36\x0b\xe1\xc0\xb1\x30\x21\xe2\xd1\xc1\x53\x48\x47\x2c\x01\x31\x5b\x6d\xa6\xab\xe9\x6a\x57\x1d\xd0\xb6\x1e\x8d\x47\xb7\x01\x33\xb3\xb5\x3b\xea\x24\xf2\x50\x39\x83\xc0\x85\x58\xce\xb9\x1d\xd6\x2e\x58\x9a\xb1\x98\x8e\xc9\x99\xc5\x96\xb1\xbd\xd6\x5d\x23\x25\xcc\xa0\x02\x7f\x6e\xd9\x93\x90\x2d\x4e\x27\xbc\xe8\x66\x64\xc0\x48\xb1\x28\x86\xa8\x85\xae\xc6\x18\x1c\xb6\xea\x93\xa2\x61\x08\x72\x08\x98\x86\xae\x37\x8b\x3a\x4d\xb1\x72\xb5\x18\xe8\x3d\x04\xb6\x40\xce\x8c\xf3\xa5\xd7\x34\x05\x17\xf0\xc3\x49\xd0\xf7\x9b\x6a\x7b\x6a\xbc\xa9\x7b\x82\x76\xf3\x12\x1d\xd6\xbc\xbc\x55\x85\x16\xb5\x74\x83\x18\x7b\x05\xc5\x1c\xc5\xc8\xe3\x91\x14\xa5\x03\x2e\x72\x8b\x82\x8a\x3d\x8a\x77\xdd\x46\xe8\x78\x0d\xd5\x39\x15\x3b\x52\xda\x45\x3b\x06\x75\x82\x9e\xcb\x73\xdd\x76\x33\xb4\x6d\x76\xb3\xe6\x70\xdc\x02\xa0\xfa\x41\xb4\x8d\x77\x87\x23\xbb\x31\x5b\x73\x8c\xc1\x77\x2b\x74\x9d\x0d\x6b\xba\x12\x02\x8a\x42\x1a\xd4\xa2\x61\x72\xcd\x92\x2d\xd0\x03\x6f\x9a\x22\x07\x9a\x58\xc1\xe6\x0a\xea\x13\xc7\x39\xed\x30\x99\xdb\xf0\xb3\xf4\x08\x83\x22\x35\x28\x99\x0b\xb1\xd5\x89\x09\x85\xc1\x47\x23\x64\x86\x8d\x99\x96\x41\xeb\x33\x9f\x8f\xca\x19\x44\x60\xd8\x74\x49\x47\xdb\x9d\xd2\x27\xd2\xc9\xee\x4f\x9b\x69\xe1\x40\x6b\xbd\x1a\xf8\x4d\x3c\x50\x9b\xcd\x7c\xb9\xae\xbb\xde\xc4\x41\xb1\xe8\x6c\x31\xe4\x71\x89\xd4\x0f\x58\x44\x1c\x5d\x0f\xf5\x98\xf9\x7a\xf4\xdb\xd3\xc0\x83\xa6\xb3\x06\xf2\x6a\xc8\x41\x01\x37\x85\x1a\x79\xb8\xec\x94\xd6\xe7\x56\x65\x32\xad\x31\x72\x8e\x9b\x60\x46\x4b\x16\xa5\xac\xb2\x62\x2f\x72\x38\xee\x56\x05\x96\x2f\x67\x5b\x62\xe3\xd1\x18\xb1\x5a\x1d\x9b\x94\x9d\x2d\x33\x68\x2c\x58\x2e\x8b\x29\xe4\xec\x58\x63\x77\x40\x4e\xc1\x70\xda\x6e\x23\xc9\x08\x3b\x4c\xe2\x90\x53\xba\x83\xd0\x50\x1a\x56\x50\xa3\x40\xeb\xf4\xd4\x34\x03\xa2\xf4\xb1\xb5\x9e\x06\x47\xc9\x66\x97\xa2\xca\x61\xd6\xae\x61\x13\x5f\xdb\xb1\x12\xd7\xc8\x63\x23\x31\x66\xb0\xdc\xaa\x43\x92\x02\x39\xc0\x19\x8a\xa6\xa1\x18\x40\xd0\x9e\x3e\xa3\x68\xe1\xc1\xde\xa1\x15\xd9\x23\x69\x41\x6c\x4a\x93\x4c\x06\x30\xc3\xdd\x20\x0b\x68\x10\x0e\xa7\x29\x7b\xc6\x7a\x9e\xc5\x21\xe8\xd2\x1f\xa7\x5b\xc3\x32\x47\x4d\xd9\x02\xb3\xf2\x60\xb8\xf1\x66\x0d\x76\xb9\xe8\xbc\x58\x6e\xc9\xd8\xd5\x34\x0e\xd7\x6d\xd1\x07\x60\x29\xa4\x9e\x2f\x1e\x56\x9b\xcd\x6a\x68\xad\x03\x8d\xf8\xdb\x8a\xc9\xc5\xd0\xd5\x9b\x4c\xea\x00\x94\x21\x90\x4d\x0c\x2b\x38\x3b\x9d\xc6\x2d\xa7\x14\x63\x41\x27\x67\x18\x90\x43\x81\x04\x83\x6c\x4b\x51\xb5\xc3\xfb\x6a\xaf\xcc\x51\x8c\x59\x9d\x0d\x5c\x87\xc2\xc0\x85\x1c\x8c\xd3\x4d\xc5\x0c\x44\x87\xd2\x36\x05\x7f\x16\x61\x3f\x21\xbb\x64\x1e\x44\x45\x25\x68\xe4\x99\xc8\xfc\xb1\xbe\x88\xae\x6c\xe1\xdc\x5a\x64\x8c\x71\xbb\x70\x48\x0c\xcd\xe7\x74\x53\x87\x67\xf4\xd9\x13\x76\x5b\x0b\xd8\x6a\x98\x67\xac\xa2\xd3\x80\xeb\xac\x39\x67\xe4\x09\x8d\xb3\x2a\x06\xc7\x22\x9e\xa9\x70\xe5\x70\xb0\x8f\xf3\xac\x24\x17\x85\x30\xf6\x0a\x68\x2f\x86\xc9\xc2\xcc\x99\x9c\x62\x6c\x42\xf5\xf6\x5d\x27\xf0\xc8\x65\xe5\x0b\x73\x37\xd5\x83\x52\x1e\x34\x0a\x23\xc8\x81\xcf\x23\x75\xb7\xe7\xe1\x39\xc6\xf8\x54\x25\xcf\x7c\xbf\xdf\xab\x03\xa7\xc9\x21\x2e\x55\x24\x46\xaa\x64\xf6\xd0\x1e\x91\x0a\xa4\x5d\xd0\xfb\xe3\x99\x77\x67\xeb\x5c\xa6\x35\xcf\x4c\x9b\x26\x0d\x4d\x2b\xcb\x19\x46\xc4\x00\x13\xa4\x6a\xe1\xb7\xf6\xac\x56\x51\x01\xe3\xa8\x50\xc7\x5d\xfe\xe2\x02\x4c\xc7\xe8\xa9\xcd\x64\x78\x0b\x50\x69\xaf\x6e\xb8\x31\xc2\x25\x84\xd0\x0a\xb6\xc8\x11\x00\x30\x54\x83\x30\xdf\xd3\x91\xc9\xec\x1d\x0e\xec\x1a\xd7\x95\xe8\x10\xd5\x74\x4a\xf2\x76\x8e\x7e\x59\xbb\x41\x2f\x2c\x2c\x2a\x6f\xa3\xc0\x4a\x88\x05\x4d\x75\xa2\xd8\xc8\xb5\xdf\xed\x0e\x79\x25\x0c\xd6\x78\xe6\x7d\xb1\x25\xa0\x0b\x31\xe7\x89\x0e\x39\x6b\x78\x89\xf3\xb4\x1c\xa9\x5d\xd2\x55\x68\x84\xf3\x80\x20\xe0\x2d\x6e\xe6\xa1\x15\xf3\x5b\xd4\x0e\xad\x79\x5d\x6a\x15\x3b\xed\x23\x16\x70\xb2\x2a\xd7\x3c\x9c\xe9\x95\x2c\x96\xbe\xb2\x75\x1f\x5c\x00\x7f\x8c\x63\x32\xf1\x06\x0a\xa2\xa5\x60\x98\xe2\x73\x7b\x19\x5c\x48\xbf\x4c\x2f\x67\x6d\xb7\x1b\x02\x27\xc8\x66\x21\x55\x11\xe1\x36\x4b\x84\xa1\x9e\x12\x15\xb4\x1e\x56\x07\x66\x48\x4e\x12\xba\xf1\x0e\x33\x57\xd3\x64\x81\x0c\xcf\x12\x3c\x9e\x5c\x93\x2a\xaa\xf4\x67\x8c\x9c\x27\x51\x26\x6e\x1c\xa5\x39\xf5\x5c\x89\xd9\x74\x92\xa9\x19\x6b\xea\x49\x7c\x20\x8e\x92\xe9\xbb\x3c\xb1\xaf\xfa\x35\xdd\x1c\xed\xba\x47\x87\xb6\x0d\x24\x91\x53\x5c\x2a\xd9\x89\x00\xcf\x14\xc4\xed\x8c\xcd\x68\x1c\x4e\x92\x1e\xb7\x60\x96\xcc\x7a\xf6\x82\x30\xa4\xef\x47\x87\x32\x55\xdb\x23\xb6\xe1\xe1\x78\x1b\x59\xa1\xd6\x4f\x7b\x09\x02\x84\xd8\x1c\x24\x11\xe4\xb9\x65\xc0\xec\x69\x10\x30\x0c\x3e\x67\x14\xa8\xe6\xc2\xc5\x5e\x6c\x48\xd8\x58\xe5\x23\x97\xe7\x04\x41\xb8\x49\x37\x5f\xed\xfc\x8b\x2f\xd2\xb6\x5d\xad\x98\xf3\x9c\xcd\xb7\x3c\xd3\x9d\xb7\x12\xe5\x50\x70\x4f\xb1\x0e\xe1\x92\x70\xae\xda\xa8\x21\xce\x02\x43\xaf\x08\x4a\xee\x4f\xa7\x55\xeb\xd3\xfc\x45\x40\xa3\x88\xdf\x86\x16\x18\x9b\x0f\x83\xec\x80\x6e\xc0\x60\x43\x8b\x13\xd0\xd0\x19\x3a\x88\x74\xc4\x59\x6a\x9e\x2b\x34\x50\x45\x6c\x27\xa6\xc0\x48\xe6\xec\x7c\x76\xf2\xf0\xd8\x05\x5b\x8f\xf6\x10\xca\xc2\x8b\xcd\xc9\x3d\x8a\xfc\x61\x5d\xd4\x8b\x0a\x5b\x0a\xf1\xd6\x1e\x01\xce\xf3\x08\xeb\x06\xcc\xdf\xd2\x19\xc7\xbb\x0e\xb3\x5d\x23\x64\x07\x4b\xdc\x52\x2d\x94\x9e\x06\x2c\x49\xcb\x18\xbe\x4b\x34\x1a\xb7\xda\x63\xa7\x3a\xdd\x36\x3f\xf2\x2c\x23\x23\x46\xaa\x05\x65\x01\xcf\x1c\x20\x88\x7d\x84\xaf\x0c\x7e\x4c\xdd\x16\xe1\xb2\xed\xc2\xe5\x62\xa7\xcd\xeb\x92\xe1\x66\xf0\x96\xbd\xd0\xbb\x36\x57\x14\x09\x26\x4c\x33\x66\x6b\x92\xe4\x7b\x69\xca\x68\x2c\xab\xc8\x31\x05\x28\xd7\xdc\xcd\x57\xe7\x8c\xf2\xab\xae\x24\x4d\xf4\x08\x2f\x89\x16\xf5\x00\xbd\x1a\x0f\x9a\xad\xb4\x64\x0d\xd5\x70\xb5\x4e\xf9\xd8\xdd\x1c\xce\x58\x40\xe3\xfb\xd9\x76\xe5\xc6\xc9\x7c\x03\xfb\x68\xc9\x0c\x78\x0d\x2d\x2e\x34\xa3\x87\x60\xe1\xf6\x5b\x71\x41\x0b\xce\xd5\xe4\x35\xc6\xd6\x2c\x9a\x4e\x91\xf7\xca\x91\x07\x99\xaf\x8d\x01\xa9\xdc\x44\x0d\x38\x76\xf1\x40\xa9\xb9\x2c\xe1\x97\x78\xe6\xf4\x53\x2d\x13\xb0\x01\x32\xc3\x0d\xda\x5e\x3c\x82\x9c\x2d\xed\x7e\x16\x36\xbb\x8a\xa9\x04\x79\x27\xeb\x78\xd3\x75\x64\x00\x5b\x9b\x00\x6a\x7a\xa2\x9a\x22\xbe\x9e\xf6\xc4\x79\x34\x5f\xab\x8d\x2b\x72\xe7\x20\xf6\xe7\xb6\x19\x43\x6d\x14\x5a\x44\x52\x47\xed\x71\x4f\x85\x49\xa2\x4a\x3c\x3b\xd7\x0c\x21\xc2\x72\x39\x76\xe5\xc6\xdf\xcc\x14\xc2\x08\x19\xc2\x3d\x76\x35\xd9\x2a\x1e\xb1\x8f\x7b\xb3\x43\x2f\x10\x3a\x3f\x10\xa3\x60\xbb\xcd\x0e\x0f\x21\x7e\x3e\xf5\x44\xd8\xac\x17\x0e\xee\x32\xb3\x2d\x44\x71\x54\xef\x2f\x12\x9e\xdc\x48\xab\x52\xe2\x75\x25\x84\x40\x3d\x08\x87\x94\xdc\xef\xb8\xa3\x86\xd4\x97\x12\x4c\x63\xaa\x18\x22\x2e\x42\xb1\x3d\x03\x47\x28\xa6\x8f\xf1\xe1\xa2\xea\x88\x23\x58\x75\x71\x02\xdb\x14\x19\x91\x02\x61\x9f\x07\xfd\x30\x24\x44\xa1\x74\x73\x9a\x48\xed\xf3\xb0\x58\x55\x9d\x4b\x3b\x5c\xbe\x58\x4e\xcf\xb5\x07\x45\xb0\xd6\x94\xb5\xa4\x32\xa9\x7c\x60\x8f\x04\x6a\x6c\x60\xe3\x74\x74\xc6\x4a\xbc\x59\xaf\x98\xf9\xa6\x86\xf8\xf9\x62\xc7\x2e\x4c\x9f\x5a\xc5\x3c\xb0\xab\xfd\x06\x3b\x85\x47\x72\xd1\xd4\xc1\x91\x1c\x28\x8c\x9b\x2a\x39\x08\x4a\xad\x49\x01\x20\x3d\x32\x9f\x13\xe2\x3c\xbb\x5c\x44\x66\x7a\x8a\xe4\x73\x0a\xd5\xdb\xca\x1c\xb3\x55\xdd\x01\x9b\x33\x7a\x3c\xb7\x11\x04\x1b\xb5\xb7\x42\x5a\x62\x4d\x5d\xcc\x0e\x32\x10\xcd\x6a\xa4\x0a\x80\xf9\x1a\x65\x12\x22\x9d\x66\x14\xb2\x26\x76\xd0\x50\x50\x29\xda\xa5\x21\xd4\x3b\xa4\x2c\x67\x4a\x1b\x91\x7d\xef\x62\xd8\x3e\x8c\x6f\x00\xa9\x14\x07\xf1\x0e\xe3\xf9\x29\x1d\xb8\x11\x4a\xd7\x4a\x90\x31\xe4\x4c\x69\x62\xa5\x21\xe2\xca\x01\x3e\x68\xf6\x3d\x0e\x96\xc7\xfd\x82\x3e\x4c\x0f\xd6\x3a\xf0\xf4\x8a\x06\xbe\x2c\x5e\x00\x6c\x0e\x54\xb9\x66\xb6\x74\x40\xe3\x4d\xe4\x3d\xb8\x00\xf7\x94\xf0\x42\x6e\xaf\x3b\x3f\xbe\xc0\xc8\xec\x7c\x8c\x94\xea\x6c\x24\x1b\x1c\x36\xce\x7b\x56\xf6\xa9\x96\x6e\xc0\x61\x55\xd8\x3c\x40\x95\xdc\xe9\x40\x36\xcb\x32\x42\xe8\xba\x33\xa7\xd0\x88\x48\xb4\x0d\x14\xfb\x68\x8c\xa7\xdd\x58\xca\x5a\x6e\x9c\xde\x91\x73\xd6\x59\xbb\x26\x7b\xf0\x01\xee\x79\x0d\x30\x02\xff\x04\x1f\xdc\x25\x7b\xbe\xf0\xa0\x3c\x2e\xa0\x6d\x6c\xae\x2b\x1f\x41\xd5\x85\x82\x9f\xa6\xa4\x5c\xc3\x22\x85\xe3\x54\xa8\x1b\x0e\x35\x43\x67\x91\x32\x8f\x83\xb1\x50\x94\x13\xf2\x11\xf0\x97\x29\x59\xcc\x0e\xe0\x68\x00\xc6\xa0\xb1\x66\x23\xdc\xb4\xc4\x6b\x9d\x98\x3f\xad\x2e\x20\x5a\xad\x17\x83\xdc\x1c\xd7\xe1\xca\x58\xae\x4d\x21\xc3\xc1\xb2\x77\xf5\xf5\x1e\x81\x9a\xb9\x22\xb9\x88\xdb\xad\x16\xd4\x58\xda\x3f\x1c\x8a\xb4\x41\x89\xa4\x59\xed\xe7\x1b\xa9\x1a\xf4\x5d\x78\xd9\xb6\xfe\x56\x3a\xf1\xf3\x15\x7d\xde\xbb\x43\xe2\x2f\xd5\x65\x24\xed\x40\x05\x23\xdd\x16\x1c\xbb\xd0\xc3\x3a\xdf\xf7\x33\x8b\x57\x89\x55\xc6\x2c\x57\xa7\x84\xa4\xed\x73\x3b\x1e\x27\xf4\x4f\x49\x89\x29\x03\xba\x59\x9c\xba\x45\x54\xed\x38\x0e\x59\xe6\x89\x3f\x08\x70\x87\x57\x94\x63\x2e\x56\xcb\x63\xef\x29\xb9\xe9\x0e\xbd\x85\x9f\x9a\x29\x0d\x8e\x92\xbf\x44\xe6\x9e\xac\xc0\x43\x00\xb9\xd8\x92\x3a\x12\x67\x0e\x55\xd4\x31\x14\xd1\x3a\x51\x22\xd5\xac\x86\x01\x85\x93\x64\x8f\xaa\x6b\x33\xc3\x7c\x12\x68\x9d\x9b\xa9\x69\xe0\x51\xa9\xbe\xdd\x0d\x35\x98\x5d\xe6\xca\x19\x1a\x7a\x9c\xb9\xa8\x1d\x33\xf5\x92\xca\x3a\xa4\x8b\x94\x5a\x17\x97\x96\xa2\x2a\x98\x80\xf0\xd1\xda\xc0\x0b\x33\x0d\xd1\x73\x5e\xcc\x78\x03\x9a\x92\xf8\xea\x9c\xca\x3e\x74\x9a\x2e\x7c\x6c\xb9\xb9\x1c\x3b\x08\x73\x52\x03\x3b\x11\x8c\xc7\x97\x86\xb5\xd3\x97\x00\x07\x06\x95\x24\xe7\x3c\x5c\x19\x45\x9e\xe0\x92\xce\x17\x48\x62\xed\x7c\x66\x2c\x4b\x17\x94\xa3\x8a\x2b\x9e\x2c\xf3\x85\xd9\x17\x49\x6a\xc2\x6c\x0f\x4f\x19\x56\xdf\x63\x4c\xb9\x28\xf2\x6a\x88\xd7\x0b\x04\x3a\x75\xf9\x0a\x35\xf7\x38\x7a\xe8\x92\x80\xc3\x45\xa0\xea\xf8\x16\x34\x0b\xbe\xd9\xc7\x65\x48\x8a\xe4\x65\x39\x8c\x27\x86\x28\xab\xd9\x05\xb4\xbf\x14\xf1\x78\xef\x9d\x6b\x6f\x63\x88\x0c\xee\xec\x66\x21\x1a\xad\xa1\xb9\xca\xba\x90\x6d\x9a\x34\xa9\x6c\xbb\x2d\x6e\x70\xeb\xcb\x70\xee\xd0\x60\xde\xd2\x54\x02\x8e\x97\x64\xb6\x71\xfb\xd3\x9e\x84\xc9\xda\x29\xa2\x31\x4f\x51\xb4\x83\xe2\xba\x70\x41\x81\x5c\x3a\xec\x2d\xb2\x76\x7a\x11\x84\x00\x56\xbc\x18\xf7\xb8\x56\x22\x14\x39\x3b\xea\x8a\xc1\xda\x8b\x20\x5b\x2d\xa4\x02\x8e\x40\x6e\x77\x44\x99\x07\xa5\x20\x91\x2e\xcc\xe4\x0b\x20\x60\xcd\x25\x08\x47\x17\x40\x57\x75\x9d\x63\x73\x2c\x0b\x42\x35\x29\xcc\xdc\xf7\xe2\x39\xdf\xcf\x8a\xac\x29\x53\x03\xb7\x1d\xd5\x9f\x77\xf9\xce\x71\x54\xab\xd2\x4c\x0d\xdf\x01\x56\x35\x03\xce\x52\x95\x7c\x11\xb4\x8a\x8e\xe7\xc7\x14\x38\x24\x23\x54\x5b\x78\x2c\xc3\x9c\xfa\x46\x33\xa4\x62\xc9\x03\xd4\x3d\x2e\xd8\x06\xdf\xd6\x8b\x3e\x20\x41\xa1\x47\xc5\x9c\xc1\xe7\xfc\x74\x6b\xd8\x1a\x0c\xd9\x3b\x76\x19\x6c\x10\x37\x89\x2d\x96\xd9\x6e\x94\x20\xba\x0c\x36\xb9\xf1\x45\xb8\x34\xb0\x65\x9c\xcb\xbe\xea\x8c\x5c\xc6\x95\x35\x0e\xa7\xe2\x70\x50\x5b\x9c\x88\x90\x6c\x15\x5e\x2a\x55\x85\xfd\xa4\xa2\x1c\x19\xc7\x53\xd6\xac\x72\xaf\x58\x62\xf5\x41\x8d\x50\x5a\xee\xcb\x2d\x1e\x70\x66\x9e\x34\x90\x8a\xf8\x1d\x57\xf1\x87\x0c\x31\x21\x72\x8a\x6e\x56\x0f\x75\xee\x1d\xb5\x9b\xaf\x49\x9e\xa6\x8a\xad\x0b\x41\x3d\x1c\xcd\x37\xbe\xd1\x49\x53\x4d\x57\xb7\x6d\x02\xc4\x9e\x98\x21\x5b\xd3\xf4\xb3\x7e\x56\xe7\x61\x23\x5b\x4b\x5a\xc0\x59\x86\x5d\x37\x49\x9f\x2d\x02\x72\x27\xf4\xad\x4c\x1d\xc8\x70\x54\x3d\xa6\x77\xa4\x45\xe8\x1e\xf7\x83\x56\x14\x5d\x2a\x1e\x31\xd3\x0f\xca\x75\xb9\x48\x20\xce\xa6\xfd\x7e\xa8\xa6\xd9\x9e\x9c\x29\x50\x85\xb5\x81\xef\x87\xc0\xb9\x08\xe5\x14\x83\xa0\x29\x75\x51\x87\xea\x44\xc0\xa4\xc4\xaf\x24\x8a\x89\xce\x0f\x85\xf3\x33\x82\xed\x95\xc4\x4f\x03\x55\x3d\x3a\x2e\xb2\x9f\xcb\x39\xa6\xe6\x73\x7c\x49\x68\x34\xc0\x12\x8b\x2c\x17\xd3\xf5\x6e\x5a\xd6\xe1\x36\x56\x00\xa1\x72\x73\x66\x1d\xb1\xeb\xa3\x47\x10\x5e\x05\x71\xa0\x43\x57\xc3\x41\x95\x4b\x43\x1d\x9d\xd4\xa2\xce\x59\x81\x2d\xc8\xb9\x12\x08\x32\xc0\xd3\xa9\x34\x80\x6b\xec\x07\xe5\x2b\x90\xf8\x0c\x92\x07\x7a\x74\xf1\xb0\xb9\x59\x88\x21\xa8\x28\xb3\x8e\x28\xc1\x64\xa6\x20\x5b\xc9\xfe\xa5\xd6\x7c\x8f\xcd\x44\x0d\x8b\x4e\x53\x5a\x1a\xc5\xa6\xec\xb5\x40\xc3\xa8\x6d\x41\x9f\x91\x79\x98\xc8\x07\x34\xaf\x28\x15\x5c\x62\x03\x97\xc9\x4a\x97\x09\xb7\x41\x2e\xeb\xa5\xbe\x17\x9b\xa8\xb9\xd4\x09\xe3\x76\x5a\x81\xd6\x32\x9b\x2d\x86\xb2\x66\x60\x56\xe5\xcf\x21\x60\x07\xbb\xc4\xa0\x87\xfa\xe2\xda\x90\x52\x5c\xdf\xa7\x3b\x61\x8f\xb2\x0d\x75\x21\x43\xe6\xbc\x06\xa6\x97\x6e\x34\x07\xee\x76\x30\x1b\x49\x35\xef\x6f\xe3\xd3\x99\xa0\xb1\x8e\x90\x77\xdc\xd0\xe5\x2b\x57\x32\x77\x53\xcb\x08\x5b\xb3\x03\x20\x37\x63\x3d\x7d\x88\xbe\x6a\x58\xe9\x1b\xd9\xc0\xb8\xcc\xc1\xc1\x0c\xe3\xd4\x9e\xf1\x79\xec\x02\xd7\x96\x0a\x04\x3c\xd4\xc2\x28\x8c\xd5\x28\x4c\x61\x88\xb2\xa9\x94\x1c\xd0\xbe\x17\x77\x5b\xde\x5f\x96\xb9\x97\x1c\x37\xb9\x25\x26\xe8\xaa\x47\x88\x78\xb7\x1b\x0f\x3c\xaa\x4b\xc6\x64\x18\xa5\x13\x54\xbc\xb4\x48\xa0\x91\x52\x56\x4b\x73\xc7\xc9\x08\x91\x05\xcc\x8a\xd8\x62\x65\xd5\xaf\xf9\x03\x9a\x4d\xd3\x16\xd2\x36\x2e\x7d\x42\x31\xe0\xcc\x98\xb3\xdf\x08\x30\xec\x4e\x85\x9c\x3e\x9d\x8c\xb2\x5b\x84\xe3\x31\x7f\x78\xa3\xf3\xe1\xa2\x73\xe7\x07\x7c\x2d\xee\x08\xfa\x48\x6f\x13\x86\x2e\x67\xdb\xb5\xeb\x57\x82\xe0\x67\x17\x81\xc5\x36\x2b\x74\x77\x96\x20\x4e\xde\x19\x94\x51\x37\x97\xa4\x37\x70\x53\x50\xd5\x9a\x5f\x0f\x48\x08\x75\xf3\xb5\x73\xf0\x95\x51\x6c\xf8\x03\x41\xcc\x97\x9e\x78\x9c\x25\xdb\xd5\x72\x2d\x27\x45\x31\x2d\x00\x45\x4a\x42\xc7\x88\x32\x90\x4d\xcd\xc5\x40\x28\x32\xa2\xef\x33\xeb\x62\x35\x75\x20\x70\x96\x71\xd2\x37\x31\x3f\x81\x14\xdf\x44\xab\x3a\x6b\xb9\xcb\x5c\xaa\x8a\x87\x8c\x1e\xe3\xcf\x42\xe7\x49\x72\x78\x0c\xf6\x02\xd5\x49\x21\x8c\x27\xac\x1d\x90\x08\xa6\x24\x10\x57\xe5\x7b\x11\xce\x9d\x92\xd7\x2c\x35\x22\xce\x10\x7c\x4a\x07\x1f\x3e\xc0\x59\x1c\x15\x41\x35\x9d\x5b\xab\x59\x9f\x79\x00\xde\x71\x78\x33\x6e\x99\x29\x83\xe4\x84\x94\xec\xe0\x58\x1b\x27\x86\xd5\x04\x55\xe1\xc2\xcc\x40\xb1\xef\x34\x64\x01\xe4\x4d\x4e\xba\x29\x40\x18\xbf\xe1\xe7\x11\xb5\xc3\x37\x0b\xdb\xd8\x1d\xc2\x90\x35\x98\x73\x4d\x32\x6b\x14\xf3\x7d\x9d\xb3\xf2\xab\x90\x8d\x87\x02\x50\x12\xa9\xfb\x30\x8d\x0f\xac\xd0\x6f\x86\x75\xb4\x02\x36\xa6\x2a\x98\x2c\x45\x65\xbc\xae\xdb\xe9\x56\x75\x09\x06\x8f\xa3\x2a\x0f\xa8\xaa\xdd\x4d\x4d\xcb\xe1\x76\xe9\xcc\xdf\xa1\x1a\x4c\x30\x78\x29\x34\xe2\xb1\x95\xb3\x40\xdd\x8f\xd1\x17\x52\xa6\xc3\x7c\x26\x16\x8e\x7b\xd8\xd7\x5a\x25\x6d\x49\xcc\x16\xfc\xd4\x76\xa3\xb3\xa2\x71\xaa\xa9\xfb\x7a\x21\xa5\xf3\x13\x0d\x30\x21\xd3\x30\x67\x4f\x22\x43\x4d\x1f\xd2\x6c\xb7\xda\x83\x13\x0d\xf6\xb4\xbc\x76\x0f\x03\x09\x57\xfd\x28\x36\x6e\xc5\xec\x8a\xb6\xda\x96\xc7\xcc\x21\xb7\x92\x71\xa4\xfa\xe5\xea\xa4\x0e\x8b\xcb\x0a\xd9\x78\x2b\xa3\x9b\x03\xe2\xdc\x24\x36\x02\xd8\x4c\x2f\x90\x1e\xaf\xcb\xce\x0d\x60\x45\x94\x86\xd5\xdc\x48\x76\xb9\xc9\x6c\xe8\xb0\xa6\xcf\x0a\x3e\x56\x38\x2d\x98\x33\xc1\x9e\xdb\x66\xc7\xf5\x3a\x56\xb3\x69\x8e\x27\x71\x80\x01\xd9\xe0\x13\x70\x26\x57\x4b\xd2\x9a\xe3\xd9\xfe\xe2\x95\x84\xd1\xa8\x26\x2d\x1d\xbb\xb0\x40\x0e\x56\xba\x2e\xa1\xcb\x3e\x72\x78\x10\x16\x6d\x3b\xcd\x3b\x8a\xd2\xc7\x53\xf9\xb9\x58\xd8\xf1\x32\xac\xac\x22\xd3\xb4\xda\x3a\x57\xec\x09\x83\xf3\xf0\xd8\xe1\x64\xe8\x06\x17\x3a\x5f\x42\x07\x3a\x6f\xdc\xf4\x54\xad\x7d\x22\x99\xdb\xf0\xaa\x3f\x4e\xfb\x23\x96\x92\xfa\x1c\x3d\xb7\x88\x70\xce\x56\x28\x84\xc0\xfd\x74\x8c\xbe\x06\x67\xbe\xa2\x2e\x4b\x7e\x0f\x31\xc2\xd1\x9c\x9a\x3d\xd6\x32\xe4\xd2\xf3\xf0\xac\xb5\x53\x98\x3a\x0e\xe7\x63\x51\xcf\x9b\x92\xac\xb4\x78\x5b\x1d\xc4\xf5\x9e\xa2\x0f\xb0\x74\x80\x5c\x6f\x98\x57\x2d\xb4\xd9\xae\xcd\x86\x5b\x77\x05\xd2\x8c\x87\x46\xfb\x3a\x92\xaa\xe9\x7c\xee\xec\xab\x95\x87\xd6\xcb\xd9\x9e\x3c\x1e\x3b\x8d\xd1\xd4\x8b\x37\xcb\xa6\xa7\x69\x9a\x1e\x2b\x65\x66\xc6\x65\x17\xd2\x1b\x97\x3b\xef\xf2\xa9\x62\x6a\x41\x26\xed\x2f\x10\x6b\x2f\x0e\xe5\xe1\x1c\x5f\x4e\x60\x20\xc2\x31\x9c\x3b\x21\xeb\xd6\x27\xe6\x40\x9b\x82\x46\x5e\xb8\xc5\xc2\x6a\x50\xaa\x91\x21\x06\x66\xb0\x25\x86\xda\xfc\x6a\xb7\xea\x2a\x1d\x65\x58\x19\x3b\xb7\x36\x12\x57\xb0\x6f\xa3\x86\xcf\x84\x97\x04\x0e\x42\x68\xcf\x24\x18\x94\x2f\xf8\x3c\x84\xc7\xca\x92\x50\x4e\x3b\x0f\x2b\x9a\x29\x1e\x87\xb4\x51\xf7\x50\xd9\xe0\xf9\x56\x37\x1b\xd4\x11\x08\x48\x76\xbc\x06\x5e\x87\x99\x1a\x52\x81\x73\x9c\x21\x25\xad\x5c\x60\x91\x3c\x2a\x6e\xc7\x69\x3b\x6d\x85\x41\x28\xb2\xac\x6b\xf4\x44\xa7\x6d\x32\x66\xa3\x92\xc8\x37\xeb\x16\x46\x2d\x40\x4a\xcc\x59\xb9\xe0\x0b\x06\xd4\xec\xd6\xf5\xa1\x6a\x25\x9c\x77\x89\x4d\x1b\xd8\x51\x43\x36\x8a\x56\x2f\x1b\x4a\xc3\x66\xa8\xc6\x1f\xcd\x9a\xea\x4a\xa6\xe3\xf7\x00\x75\x5b\xdb\xd9\xf6\x16\xa0\x0c\x71\xcc\x02\x36\x3b\x72\x21\x02\x8a\x59\xed\xa3\x8d\xe3\xbb\xe0\x22\x78\x3b\x04\xa7\x62\x79\x7d\x3c\x94\x36\xa1\x66\xa6\x82\xcf\x63\xc6\xeb\x35\x86\xed\xe0\xc3\x86\xe9\x08\xd9\xc1\xb4\x7e\xd0\x04\x65\x23\xfa\x7e\x6b\x87\x4d\xab\x0b\x67\x63\x93\x8e\xaa\x77\xc0\xfa\x64\x87\xc3\xb5\xed\x4c\xb7\xb3\x0e\xe4\xac\x7e\xa1\x79\x45\xb0\x7b\xe7\xdc\x19\xd8\x14\xec\x7c\x4c\xc1\xf7\xeb\xa9\xae\x18\xb9\x05\x8b\x40\x54\x15\xa2\x81\x3d\x7a\x7a\x71\x92\x7c\x81\x09\xf5\x65\xab\xc9\x09\x5c\xce\xb1\x70\x8c\x0f\x97\x9d\x91\xb0\x85\xd1\xed\xf7\xca\x89\xb1\x8e\x55\x85\xa0\x2b\x82\x64\x24\x8d\x37\x28\x55\x64\xc8\x34\x25\x3a\x61\x8b\x75\xd9\x76\x73\x3a\xcd\x36\x87\x69\x7d\x54\x16\x08\x66\x86\x5a\x8d\x4b\x3b\x79\x49\xac\x3b\x1e\x1e\xa4\x7e\x79\x62\xc7\xc3\x29\x90\x30\x6c\x36\xb3\xb3\x2b\x0c\x39\x7a\xcc\x11\x6b\x13\x6a\x5c\xac\xc4\xd6\x45\xa4\xa4\xf5\xe6\x60\x1c\x94\x7c\xdd\xed\x58\xfe\x52\xcd\x6b\xa6\xde\x37\x06\xbd\x98\x9e\x8a\xb6\xdf\xac\x0c\x9a\x11\x45\xf8\xe8\x9c\xd4\x5a\x4a\x22\xd5\x4f\xc7\x52\xd5\x6a\xba\x76\x1b\x25\x9b\x95\xd6\x56\x38\xcf\x40\x8c\xc1\x4a\x0a\x84\x64\x63\x2c\x05\x74\x71\x64\x17\x3c\xa8\xa2\x68\x1d\xd7\x6b\x9b\x17\x12\x7e\x10\x3a\x9a\x34\x6e\xb4\xbc\xb8\x42\x7a\x36\xa4\x65\x86\x2f\x31\x40\x70\x8b\x8e\x18\xc5\xc6\x5b\xbb\x08\xa1\x2d\x17\x82\x8f\xba\x3c\xb7\x55\x9b\x46\x55\x1d\xbc\xa5\x22\xe7\x00\xa0\x43\x87\x4b\xa9\x21\x10\x80\xcd\x00\x0a\xdc\xbd\x74\x99\x59\xe9\x16\x60\x38\x58\x09\x9b\x96\xbe\xbe\x73\xcb\x7e\x3d\xaf\x5c\x1f\x6b\xec\x51\x97\x17\xa5\xb1\x60\x70\x6b\x9e\x40\x6b\x39\x9a\x79\x29\xaf\x88\x30\x0c\x10\x7f\xbb\xc6\x6c\x4e\x70\x70\x2c\xc9\x07\x1f\xc8\xfe\x79\x3e\xe7\x57\x53\x28\xb3\xd8\xd3\x31\x4f\x4e\x12\x5a\x2f\xfa\x0b\xbc\x02\x7a\xa5\x52\x81\xca\x48\xf1\xc5\x1b\x01\x3a\x82\xe3\x7a\x1b\x21\xd7\x68\xd6\xb7\xf4\x74\x41\x59\x5d\xe0\x17\xbb\x53\x10\x25\xc2\xd9\x43\x96\xa9\x99\x48\x97\xfe\x28\xd6\xde\x21\x39\xa9\x68\xaf\x65\x54\x9e\xd8\x3e\x72\x30\x6a\x5e\x9f\x95\xe5\x72\x8a\x7a\xde\x71\x91\x0b\x56\x31\x1a\x58\xff\xa2\xb3\x72\x40\x47\xec\x26\xef\x91\xcd\x4a\x3a\xba\x6e\x5a\x85\xa1\x6e\xe3\x5d\xb3\x6b\x17\x6a\xc8\x6e\xac\x23\x64\x1b\x32\x16\x93\xab\x54\x5b\x08\x86\x87\xb8\xa0\x20\xc0\x0a\x59\x0d\xf1\x66\x5e\x2d\x18\x60\xca\x4c\xc6\xb5\x9b\x51\x53\x98\x84\xae\x91\x72\xbf\xca\x89\x6a\xb5\x9f\x43\xf1\x42\xd7\x18\xc1\xab\xa4\x8e\x5e\x2b\x76\x85\x14\x7e\xd7\x1e\xc3\x65\xc3\x95\x9b\x03\x36\x6d\xd6\xcd\x39\x4b\x64\x8f\x8b\xb3\xd4\xdc\xc2\x52\x22\xc5\x4b\xe0\x1c\x68\x47\x01\x22\xbe\x7e\x38\x3e\x03\x35\x5b\xd2\x5e\x48\x07\x25\x0b\xe6\xcb\x33\x6a\x07\x78\xef\xa0\x81\x8f\x6e\x30\x3f\xdd\xa4\x76\xd5\x1d\x72\x0d\xe3\x16\x28\x59\x9a\x12\x52\x17\x82\x86\x2e\xd6\x9e\xd6\xcf\x8f\x48\x37\x48\x52\x8f\x70\x33\x18\x2d\x66\xc8\x85\x3c\x8e\x45\x8c\x05\xd6\x3a\xe5\x65\xb3\x61\xe6\x5e\xd7\x30\x8b\xc8\x70\xab\xf3\x52\x66\x84\x5e\x5b\x64\xc9\x51\xe8\xf2\x40\x5e\x36\xe7\xcc\x0f\x78\xa2\x83\x49\xd0\x1e\xc9\x36\x93\x7d\xe5\x04\xb8\xf2\x64\xa9\x3c\xd8\x50\xf0\x59\x5c\xb9\xa8\x8b\x3a\x63\x95\x38\x82\xd3\x73\x26\x4e\x37\xf6\x1a\xdd\x87\x1c\xac\x29\x29\xed\xa5\xae\x50\xb8\xe9\xce\x65\x18\x63\xc5\xa1\x06\x0b\xef\xd7\x79\xee\x85\xbd\xed\x39\xbc\x11\xf6\x54\x4e\x5b\x7b\x82\x99\x26\x2a\x9c\xa2\xb9\x1b\xaf\xad\x4d\x3a\xdd\xf7\xec\x43\xdd\xa6\x39\xb7\x2b\x18\x85\x5d\x61\x6d\xb4\xf4\x6e\x96\x94\xeb\x41\xaf\x0c\x2c\x36\x4b\xf3\x92\x28\x32\x67\xa9\xb1\xb8\xdf\x01\x2d\x83\xda\xa4\xaf\x98\x1e\xd7\xe0\x7a\xe7\xb1\x43\xb5\x42\xec\x6c\x0d\xec\x4c\xa6\x57\xb3\xa2\xcc\xe4\x7a\x3c\x75\x25\xaf\x9b\xc5\x72\x75\x18\x2e\xdc\x7a\xb9\xdd\x64\x3d\x8a\x5c\xce\xfa\x2c\x56\x97\x50\xa5\x94\x06\x15\x24\x62\xa1\x9b\xf2\xd6\x95\x13\xb3\xc8\x35\x33\x2e\x34\x94\x19\x9c\x3e\x32\x97\x5e\xab\xe8\x54\xee\xd9\x7a\xa2\x20\xd3\xfa\xbc\xe4\x47\x2e\xaf\x96\x42\xed\xda\xf2\x6e\x39\xf3\x2f\x03\x71\x54\x62\x13\x0e\x38\x72\x23\x6e\x4a\x72\x5b\x96\xdc\xba\x21\x77\x9e\x33\xd3\x9c\xa9\xed\xb0\x4c\x7b\x92\xba\x0b\x3f\xeb\xf2\xb0\xbc\x20\x95\xba\xc8\xf2\x56\x2a\x8c\x1a\x77\x1a\x95\xc3\xe4\xd1\xa7\xb0\x86\x78\x82\xc4\xc1\xa1\x8e\x30\x2e\xed\x61\xc9\x59\xbb\x87\x94\x58\x14\xac\xb9\xca\x22\x8d\xc3\x69\xc3\x5d\x6b\xc8\x0a\x92\x24\x87\xdf\xf8\x00\x78\x9d\x03\x21\x76\xb5\xa3\xa7\xdb\x14\x3f\x4d\x8f\x39\x74\x48\xa8\x8a\xaa\x49\xac\x19\x35\x65\x57\x54\xd5\x3a\x53\x98\xe3\x26\x1e\x54\x0a\x17\xd9\x4d\x09\xc2\xb3\xa4\x6d\x10\xad\x3e\x2b\x3d\x7d\x29\x9a\x22\xe7\x86\xdd\x39\x9d\x52\xcd\xb4\xaf\xb8\x8b\xba\x1b\x76\xc3\xa5\x0f\x9a\x63\x1a\xc9\xfb\xdd\x72\xa9\xa7\x86\x84\x4d\xb9\x74\x74\xf4\xc4\xfe\xe2\xd2\x07\xc8\x35\x87\x1c\x57\x57\xba\xae\x36\x60\x3b\xf4\xdd\xb9\x8d\x0d\x73\xe3\xec\xf4\x64\xee\xd8\x3d\xaf\xe6\x04\xd2\x46\x85\x38\x0c\x91\xd6\x91\x2a\x83\xaf\xb6\x36\x14\x1e\xc5\xd6\x1b\xd0\x93\x6c\xc4\xba\x04\x1b\xe6\xc8\x94\x46\x55\xdb\xc8\xa0\xbb\xf9\x02\x9d\xb2\x5b\x6e\x43\x72\xae\x52\xba\x0a\x4c\xd8\x88\xa2\x6f\x70\x61\x49\x78\x5b\xf9\x12\xd0\x5e\xad\x1f\xb5\x42\x38\xb5\x47\x50\xac\x12\xb8\x35\x36\x7d\x8b\xe9\x53\x64\x2d\xb5\x2c\x7a\xf1\x0f\x73\xc7\x42\x6f\x00\x39\x27\x67\x55\x75\xd5\x91\x12\xa4\x01\x11\x2b\x38\x84\x86\x08\xc9\x9c\x06\x55\x4e\x78\xeb\x19\x69\x70\x95\x58\x99\xda\x4c\xf3\x57\x19\xb7\xe7\xce\x97\xad\xe7\x57\xc7\x7d\x43\x09\x24\x0a\x23\x46\x57\x42\xdb\x35\xe5\x21\x79\x31\x3f\x8d\x06\x96\x39\x99\x89\xd8\x9e\x6d\xda\x36\x97\x60\x3b\x10\xfb\x64\xfc\x07\xe9\x95\x29\x3d\x5d\xa8\xca\x4a\xb9\xf4\x0e\x42\x03\x00\x00\x7b\x94\x28\x9d\x96\x22\xe3\x28\xc5\x42\xb2\xbf\x98\x3a\x05\x9b\x22\xb8\xf0\x04\x89\xec\x14\x30\xd6\xb1\x77\x0a\xdf\x69\x04\xd9\x0b\x67\xb5\x13\xce\xe0\xb2\x53\x00\x2c\x9c\x41\x27\x58\x72\x84\xfb\x00\x00\x5c\x83\x25\x2d\x80\xcd\x2d\x05\x9b\x4a\x5e\xdb\x88\x94\x9b\x69\x04\xf8\x33\xe8\xf9\x0b\xdc\xf3\x32\xdc\xf1\x9a\xd8\xf3\x44\x36\x86\xc4\x02\x91\x5d\xf6\x38\xdc\xed\x89\xac\xe3\xf7\xb6\xb5\xc6\x6e\xad\x79\x20\xab\x9a\x20\x71\x0b\xdc\x60\x98\xd7\x74\xc7\x9d\x2c\x75\xac\x1a\x72\xad\xda\x7b\xf3\x6e\xf2\xa6\xf6\xfa\x1a\xca\x63\x2b\x4c\x6f\x3f\x89\xd3\x78\xef\x26\x08\x32\x01\x8d\x3f\x41\xe0\xd9\x6a\x02\x2f\xff\x3a\x47\xfe\x8a\xce\x26\x53\x18\x7e\x48\xb3\xbf\x01\xfe\x76\x3f\x40\x9c\xf9\x50\xeb\x95\x55\x98\xa5\xcf\x17\x99\xbd\x5f\x7d\x1f\xa4\xfb\xb8\x5e\xf1\xfb\x05\x5e\xff\x32\x5b\xbe\x02\x98\x1f\xd6\x10\x4d\x02\xe2\x39\x18\x3f\xac\x27\xa5\xd7\xfe\x72\xbb\x20\x7e\x72\x1b\xf3\x09\xdc\x37\xae\xbb\xf6\xfa\x3c\x2b\xeb\xf7\xe7\xea\xa7\x24\x73\x9b\xd8\x7b\x3f\x3e\xb8\x5d\xd8\x73\xfb\x81\xa2\xdb\xb0\x87\x69\xef\x6e\x4f\xe2\xd0\xfe\xeb\xf5\x5f\xb7\x2b\x83\x6e\xbf\xc5\xf5\xef\xd0\xe4\x9f\x3f\xbf\xfb\x09\xfa\xf7\xc9\x6c\x31\xf9\x77\xe8\xe1\xd1\xdb\x4f\x97\x39\xdd\x40\xbf\x9b\x3c\xc0\x7e\x37\xf9\xed\xb7\xce\xb3\x73\xcb\x89\x7e\x2b\xbd\xa2\x09\x4b\xef\xb7\xdf\x7e\x9e\xfc\xd7\x4f\x3f\xfd\xe5\xd3\xdd\xd5\x7f\xf9\xf5\xa7\x9f\x1e\xae\x71\x1a\xef\x56\xfa\x78\xf9\xda\x47\x28\x7f\xf9\xed\x37\xaf\xe2\x6f\xb0\xff\xf2\x6e\xf2\x5f\x93\xd6\x8a\x1b\xef\xaf\x93\xba\x6c\xbc\xdb\xef\x2a\xb5\x56\x39\xe2\xfd\xdb\x6c\xf2\xe1\xde\x9a\x6f\x67\xf0\xc3\xb0\xfe\xeb\xc3\xd0\x87\x61\x9d\x67\xd7\xf5\xe5\xe5\x71\xc8\xa7\x71\x55\xe6\x44\x5e\xfd\xf2\xd0\xd9\xc3\x50\x2f\xf6\x92\xc9\x87\x89\x9b\x39\xcd\xed\x2a\x73\xdf\xab\xc9\xf1\x56\x73\xec\xc2\xb8\x6f\xff\xf2\x78\x57\xff\x5f\x7e\xfe\xf5\xa7\xf0\x34\x79\x7b\x1b\xff\x6f\x1f\xc6\x9b\x73\x3f\xbf\xac\xea\x3a\xf0\xd3\xcd\x54\x7e\x76\x45\xf4\x76\xb7\xc2\x87\x0f\x93\xbf\xdc\xc8\xf0\x97\x4f\xb7\x53\x4d\x26\xe3\xab\x4f\x3f\x67\xf6\xdb\xec\xbd\xe2\x95\x09\x7d\xfd\x7c\x5b\xe4\xf1\xca\xa9\xdb\xbf\xbd\xb8\xf2\xee\x4f\xee\x3f\x9b\x7c\xbc\x3f\x79\xe4\x43\x9d\x57\x64\x6a\xd9\xb1\xe7\x4e\x3e\x4c\xba\x30\x75\xb3\xee\x7d\x9c\x39\xd6\x55\x42\xc6\x0b\xc1\x9c\x2c\x7e\x40\xb6\xce\xab\xbf\xfe\xe5\xd7\x8f\x93\x9b\x32\x9e\x7c\x98\xbc\xfd\x02\xc6\x7f\x4e\xde\x74\x55\xf5\x57\x08\x7a\x33\xf9\xeb\xf5\xe3\xf5\xd3\xcf\x93\xe9\x33\xc8\x41\x56\xd5\x77\x1e\xe7\x56\x1d\xdc\xae\xfd\x9a\x5e\x27\xbf\xf9\xb4\x96\x55\xfa\xd5\x1d\x04\x2b\xcf\x2a\x9d\xe0\xd3\xb0\x93\xe5\xd4\x59\x79\x79\x20\xc2\x67\xfc\x7e\x8f\x67\x69\x3a\xfe\xb2\x24\x35\x8e\x79\xdb\x94\xf1\xbb\x8f\xa2\xf3\x71\xab\xd5\xcf\x9f\xa0\x75\xf5\x27\x40\xe3\x28\xdd\xb3\x15\xc5\x78\x7b\xd3\xba\xc7\xc5\xde\xdd\x90\x7b\x37\x19\x79\x6b\x35\x75\xf0\x5b\x9d\x45\x5e\xfa\x19\x20\x27\xce\x2a\xaf\xbc\x49\x5d\x57\xbf\xcf\x72\x2f\x7d\xbc\x6b\xec\x61\x43\x96\xeb\x92\xad\x97\xd6\xbb\xb0\xaa\xbd\xd4\x2b\xdf\xfe\xa5\x49\xe3\xcc\x72\xff\xf2\xee\xd3\xad\xe0\x6f\x3f\x97\x93\x47\x88\x9f\xee\x2c\x1b\xd9\xff\xfe\xf6\xe2\xf1\xe9\x55\xdd\xfe\xf9\xd3\xaf\xcf\xcc\xc1\xf2\x4f\x66\x0e\xf0\x2c\xc9\xb3\xea\x76\xc3\x36\x3d\x5e\xea\xfd\xe1\x13\x62\x9f\x36\xfe\xf1\xc9\xb3\xf1\x6f\xaf\xa6\xd7\x2a\x3d\xeb\xdd\xc4\xf9\xf4\x4e\x0b\xbd\xee\xdd\xe4\x51\x55\xbf\x50\xb3\x20\xac\xde\x3f\xce\x99\x7c\x98\x3c\x7e\xfc\xf5\xcb\x11\x4f\x60\x4d\x3e\x3c\x85\xfe\xeb\x53\x88\xe3\x52\x37\x88\xe3\xc7\x27\x23\xc2\xea\x01\xf7\xd4\x9f\x7c\x98\x9c\xac\xb8\xf2\x9e\x8d\x90\xc7\x0b\xfb\x3f\xdb\xe4\x0b\x43\x3f\x43\xe6\xf0\x69\xe4\x7f\x4d\xaa\xda\x2a\xeb\xbf\xde\x4c\xd1\xbb\x89\x97\xba\xe3\xc7\xc9\x3f\x3f\xd7\xfe\x67\x24\xfc\xfc\x8a\xd8\x4f\xef\x6e\xa0\x3e\xbb\x01\xf0\x4b\x29\xbc\xb3\xa5\x2b\x5f\xbf\x8d\xe6\xfb\x47\xb8\x5f\x30\xe2\xfd\x4d\x36\xde\xc7\x5e\xea\xd7\xc1\xd7\x59\x71\x9b\x83\x67\x69\xed\xa5\x57\x30\x6f\xde\x7c\x63\xb8\x13\x5b\x55\x75\xd5\xae\xd1\x77\x5b\x4e\x1d\xb6\xde\x9b\x47\x35\xf9\xf5\x7b\x48\x32\x5e\x42\xfd\x05\x4d\xbc\xf6\x73\xaa\x5c\x25\xfa\xb7\xdb\xad\x8d\xe3\xfe\xbe\x6b\x27\x5e\xfb\xde\xb5\xea\xa7\x82\x38\xae\xf9\x19\x82\x0f\xce\xa8\xfa\x5c\xff\x2b\xaf\x56\xc2\xc4\xcb\x9a\xfa\x8e\xee\x3c\xfe\xfd\xf6\x22\x4b\xbc\xf4\xea\x02\x7e\x7b\x0d\x47\xfe\xf9\x6e\x02\xff\x10\xed\xc6\x35\xbe\x22\x4c\xa7\xab\xce\x84\xc3\xe7\x5b\x7d\x7b\x15\xa9\xd7\xaf\x16\x79\x17\x37\xeb\xd2\xaf\xf0\xe7\xe3\xd5\x95\x9f\x4b\xee\x7f\xff\xf7\xcb\xea\xf7\x94\x86\x37\x87\xdf\x5e\x57\xc2\x33\xd7\xbb\xdd\x7d\x89\x20\x9b\xa7\xa3\x26\x9f\xae\x98\x7d\xa2\xbc\x9f\xb4\xf0\xf1\xef\xe6\xc8\xef\x80\x9d\x2d\xaf\x88\x3d\x7d\xb8\xba\xf7\x70\xfd\xbb\xd7\x7f\x3e\xfd\x45\x96\xdc\x00\xfe\xfc\x12\xc4\x7f\xfe\xf4\x7d\x94\xba\x2d\x13\x58\xa9\x1b\x7b\x20\xbd\x28\x0f\xb2\x87\x8f\x17\x82\xbd\x7d\xb2\xcc\xfd\x2d\x7d\x5a\xf2\xf1\xe6\xdf\x8f\x76\xe8\x15\x32\x73\x67\x8b\x5f\xc8\x4f\x67\x85\x35\x95\x95\x57\xe7\x96\xf9\xd6\x53\x91\xf8\x4e\x7d\xff\x64\x8a\x4a\x2f\xc9\x5a\xef\xa9\x35\x9a\xbc\xde\x57\x38\xb1\x67\x95\x8f\xf4\x7a\x54\xe4\xcf\x09\x76\xa5\xff\xbf\x7d\x1d\xfb\xc9\xf7\x39\x9e\xc7\x0d\x8f\xf7\xc8\xdf\x37\xe0\x55\x63\x57\xb7\x7b\x8d\xdf\x7e\xdd\xfe\xbf\x7b\xd9\x3f\x78\xa9\xfb\x84\xef\x5f\x38\xd8\x07\x69\x29\xdf\xde\xd0\xf8\xf9\x9e\x1c\xdc\x11\xe9\x5b\x28\xd6\x94\xa5\x97\xd6\xf8\xf3\x35\x6f\xe1\xd9\x73\x1d\x78\x70\xa6\xdf\xd8\xc9\xb3\x69\x37\xb7\xfb\xb5\xed\x7d\x39\xe5\x9f\x77\x36\xfb\x02\x43\xbe\xf4\xb0\x93\xd7\x1a\xfe\x47\x71\xf8\xed\xd5\x66\xee\xf1\xef\xe5\x19\xf7\xc5\xe3\x9e\x98\xb4\x59\xe8\x4e\xe0\xfb\xe3\x3e\xc7\xea\xa3\xc4\xbf\x84\xcc\x6d\xc2\x03\xd0\xbb\xbe\xea\x93\xf0\x7d\x8d\xd5\x8f\x02\xf8\xd5\x31\xcf\x85\xf0\x23\xbb\xee\x3e\x7d\xc1\x8a\xfe\xe1\x68\x7f\x17\x52\xbf\xbd\x4e\x71\xee\x03\xf9\xcc\xd1\x7f\x7a\xf9\x0a\x83\xfa\x92\x31\x7f\xd1\xf9\xbf\x6c\x43\xaf\x6f\xb2\xd8\xd5\xae\x54\xba\x6f\x6f\xbe\x33\x02\xba\xd9\xc4\x57\xc9\xdb\xed\x12\x6a\xaf\x7b\x5c\xfa\x1e\xdf\x9e\x13\xf0\x3a\xc9\x0d\x4f\xa7\x31\x75\xbc\xcd\x7d\x5f\x7a\x79\x6c\x39\xde\xdb\xc7\x7d\xbc\x9b\xbc\x79\x73\x87\xf6\x57\xcc\xae\x53\x1f\xe2\xad\xc9\xdf\x26\xf0\xd7\x75\xf2\x19\x57\xaf\xb3\xbf\xcd\xd4\x1f\x8c\xe3\x5e\x0c\x42\xbf\xe0\xaa\x9b\xa5\xb5\xe4\x39\x4d\x59\x79\xaf\x63\xf0\x8d\x1f\xdf\x62\xc7\xe8\xd5\xef\xd9\xf9\x07\xa3\x5e\x65\xe5\x27\xe9\x78\xa0\x8a\x37\xe2\xf7\xbe\x68\xbc\xf2\x22\x7b\xb1\x77\xcd\xd7\xdf\xbe\xf9\x38\xe0\x97\x71\xde\x9b\x27\x0e\x73\x7c\xfa\x14\x83\x8f\xf5\x28\x29\xeb\xaa\x57\x2f\x75\x9b\xf1\x4b\x99\x75\xd5\x53\x86\x7f\xc2\x5b\xc9\xf2\xc9\x87\x4f\xb0\xdf\x67\xa7\xd3\x55\x90\xb3\x7c\x32\x7d\x18\xf1\xe9\xd1\x1d\x37\xf1\x34\xbe\xa8\xea\x4b\x7c\x0d\xd9\x4f\x57\x5b\xf3\xc5\xfc\xdd\xf5\xd9\x74\xf2\x26\xef\xdf\xbc\x1a\x4e\x7d\x43\xee\x13\xa2\xdf\x39\x3d\xf0\x42\x3f\x78\x86\x08\x3d\x3e\xfd\x4e\x58\x71\x98\x7a\xf4\xf7\xc2\xbb\x91\xf9\x4b\x70\x58\xd6\xa4\xee\x47\x16\x3e\x5d\xcb\xf7\xea\xdb\x80\xab\xa7\x8b\x43\xef\x26\xcc\xf5\xd3\x20\xf4\x4b\x4b\xf0\xa3\x14\x7f\x02\xe0\xd5\xa4\x7e\x32\xaf\x0b\xdd\x3a\x78\x5e\x9b\x18\xb7\xf9\xf0\xf6\xb5\xb0\x3e\xf1\xeb\x2e\xb0\xe0\x1b\x8c\x7b\x4a\x92\x2f\x38\xf6\x3d\x10\xbf\x4c\x21\xfe\xed\x05\xa3\x32\xf9\x8a\xcd\x7f\x4c\x04\x7e\xfb\x46\x02\x3d\x66\x97\x5f\xf5\x74\xaf\x48\x71\xef\x05\xe2\x5f\xcf\x74\xef\x4b\xcf\xb3\x42\xc6\x5d\x19\x79\x1c\xf5\x05\x7e\x0f\xfb\x7d\x86\xe6\xaf\x3f\xfd\xf3\xed\xcf\x3f\xff\xfa\xd3\x43\x45\xee\xfd\xbd\x62\xdb\x9d\x49\x3f\x41\xd0\xff\x6f\x32\xf6\x3b\x78\x2b\xcf\xc3\xd4\x57\xa5\xdd\x87\xe7\x44\x38\x57\xef\x13\x2b\x7f\x56\x62\x5c\xfd\xc9\x4a\x8c\x64\xe5\x58\xb9\x27\x7b\x45\xe3\xa5\x8e\x57\xbd\xd8\x01\x78\xec\x15\xe0\x81\x55\x56\x5e\xfd\xf2\xc0\xc7\xe6\x03\x73\x0d\xa4\xe8\xd1\xff\x7e\xa3\x6c\xf9\xf9\xd0\xb7\xbf\xbd\x58\x97\xfc\xed\xb3\x32\xe2\x6f\x5f\xd6\x11\x47\xb1\xfc\x1c\xce\x67\x42\x68\xb9\xee\x15\xeb\x2f\xc4\xce\x09\xac\xf2\xdd\xc4\xc9\x5c\xef\x69\x05\xe4\xfa\x66\xf2\xb7\x0f\x93\x37\x93\x37\xf7\x5c\x9d\x13\xfc\xf6\x68\x57\x3a\xe7\xf6\xe9\xed\x0d\xca\xaf\xcf\x62\xa9\x2f\x71\x7e\xef\x8c\x84\x9b\xfc\x9f\xff\x33\xb9\xff\xe6\xef\xd7\xff\xfe\xe3\x5e\x60\xe3\x8c\xd8\x7f\x6d\xda\xd7\x8a\x18\x57\xb4\xcb\xac\x7b\x0e\xe1\x32\x99\x3e\x7b\x64\x5b\x4f\xd3\x96\x9b\xa1\xf9\xb8\xed\xe7\xe8\xf7\x2f\x65\x54\x4f\xc6\x5d\x8d\x5e\x75\x75\x23\x6f\xcb\xac\xfb\xf9\xef\x4f\xa1\x4c\x7e\x99\xcc\xee\xee\x7e\xf2\x45\x2c\xf4\x7d\xf0\xfe\x8e\xbc\x08\xf2\x87\xb1\x44\xfe\xf1\xf3\x8b\x00\x27\xcf\x64\xf5\x55\x00\xff\x3e\xfb\xc7\x64\xfa\xe1\xc6\xe7\x3f\x30\xaf\xfa\x11\x7a\xfd\x18\x22\x4f\x60\x8d\x4e\x45\xba\x66\x36\x4f\xc9\x7b\xf9\x66\x14\x3e\xb9\x13\xd5\x3e\x1f\x75\x87\x73\xfd\x35\x2c\x7c\x14\xd3\x5f\x26\xb3\xab\x12\x3f\x55\x99\x2c\xae\x5e\x29\xad\x5d\x69\xe5\x56\x79\xf5\xc5\xfc\x13\x23\xf1\x95\x8d\xf7\x93\x0f\x2f\x25\xf3\x4f\xe9\x30\x9d\xbe\x9c\xf4\x3f\x53\xd3\xbf\x3d\x9d\x5e\x39\x65\x16\xc7\x58\x56\xd7\x59\xf2\x35\x01\x7f\x0a\xe9\x97\x5f\xee\xaf\x7a\x67\xec\xb8\xc4\xe7\x45\xe6\xa7\x7f\x7f\xac\x50\x3e\x13\x94\xf7\x61\xa5\x97\x56\x9e\xdf\x3a\xb0\xcf\x8b\x3b\x2f\x63\xf1\xfc\xc9\x57\x70\x1a\x4d\xfe\xa3\x4d\xff\xf0\x61\x82\xbc\xac\xdd\xf7\xc4\xf2\xf9\x82\x5f\xfe\xdf\xef\x34\xbc\x4f\x46\x85\x69\xe5\x95\xf5\x4b\x12\x79\xca\xca\xc9\xdb\xab\xb5\x4f\xb2\xf6\x56\x53\x80\x7f\x7d\xf8\xf8\x1f\x1f\x35\xe3\xd7\xc9\x74\x7a\x7b\xf6\x92\xd8\xdc\xbc\xc5\xad\x00\xeb\x3e\x47\xfc\x65\x76\xbd\xb0\xa3\x9f\xdf\xe7\x59\xfe\x34\x4b\xf8\x7c\x83\x0f\x4b\xfd\x1d\xf9\xc7\x8d\xfa\xf0\x8b\xc4\x7f\xee\x78\xbe\x6e\xd0\xae\xba\x7e\x33\xae\x7f\x3c\xc4\x47\x64\x91\xef\x50\xbd\x57\x82\x9e\x7c\x98\x3c\x7b\xd7\x94\xa0\xae\xcb\x77\xd7\x88\xe4\xdd\x64\xf6\x8f\xdf\x61\x98\xbf\x44\xe2\x7d\x95\xc7\xa1\xf3\xcc\x44\xf7\xef\x26\xf0\xbb\x6f\x62\xf1\x1d\xd5\x94\xef\xa6\x46\xff\x55\x32\x3c\x84\x6e\x0f\xf2\xfc\x8f\x3b\xd9\xd6\x67\x90\x9e\x9a\xd9\x1f\xf7\x54\x77\x0c\xc5\x4b\x9d\xa1\x3f\x66\x9f\x6f\xde\xbc\x9b\xc0\x77\xb8\xfd\xad\x2d\x3e\xed\x37\x3d\x24\x43\x2f\x04\xc7\xb6\x17\xc7\x3f\x50\x7d\xbc\x17\x90\xb5\x61\xd5\x58\x31\xe6\xc5\xf1\xeb\xab\x54\x4f\x40\x3c\x96\x8b\xc6\xa4\xce\xce\x4a\xd7\x2b\xf1\x2c\xbe\xd5\xb0\xde\x74\x41\x58\x7b\x6f\xbe\x5d\xd5\xfc\x32\xc3\x7d\x25\xf0\x37\xb7\x54\x77\x06\x3f\xa9\x79\x3d\x01\x91\x67\xb9\x90\xde\xdb\xe1\x93\x71\xa7\xcc\x69\xbe\xe8\xd0\xbd\x86\x15\x57\x61\xa1\x3c\xef\xe5\x4e\xf0\xbd\xac\x22\xbb\xdd\xbe\x4a\x66\xdf\xc2\xe8\x49\x68\xf2\x22\x07\xbe\x08\x4c\x7e\x7f\x30\xf2\xad\x00\xe4\x7e\xd0\x71\xb7\x71\x75\x37\xe4\x7b\x5d\x8c\xf7\x74\xda\xe7\x58\xbc\x86\x33\x8e\x55\x96\xa1\xe5\x7b\xd2\x28\x58\x5f\xad\x5f\xdc\x25\xf9\x37\x74\xd0\x72\xa2\x2a\xb7\x1c\xef\x7b\x38\xdf\xdf\x2b\x83\xff\xde\x8d\xd6\x96\xfd\x3d\xbb\x7b\xf2\x28\xf5\xfa\x5a\xae\x3f\xf9\xfb\xaf\xaf\x55\x05\xe1\xa9\x16\x9a\x6f\x9c\xa2\xf9\x4c\x36\xbc\xda\xdf\x79\xad\x17\xbf\x9d\xbd\x1e\x3e\xf3\x6a\x6e\x7d\x02\x0f\xbf\x0a\xfc\x18\x8a\xdd\xca\x21\x5f\x2c\x91\x5b\xa5\x95\x54\x4f\xad\xe8\xed\xe9\xbb\x6b\x34\xf8\x6e\x72\xbe\x7a\xaf\x4f\x7c\xb9\xbd\x9a\x7c\x18\xff\x5b\xfd\xfd\x73\x93\x7f\x65\xfb\xf8\xfa\x3f\x26\xb3\x2f\xe3\xd2\xc7\x59\xb3\x4f\xa3\x7f\x30\xd4\x3c\x3f\x9f\xd4\x7f\x7a\xeb\x04\x77\x7c\x94\x57\x5a\x95\x77\xf5\x52\x6f\x7f\xbe\x13\x96\x74\x41\x18\x7b\x0f\x88\xff\xf2\xcb\x35\xcc\x3a\x4f\xfe\xe3\x07\xd4\xf4\x7e\xb4\x72\x9e\x4e\x6f\x01\x8a\x13\xdc\xab\x3d\xbf\x38\xfb\x49\x18\xfa\x2a\xad\xbf\x55\x9c\xd5\xfc\xb5\xec\x7d\x0d\x0f\x9f\xec\xf8\x0e\x17\x5f\xb6\xcc\x93\x5f\x1e\x16\xf8\x86\x81\xfe\x8f\x6f\xda\x85\xcb\x3d\x67\xf0\x1a\x62\x10\x4f\x4f\x10\xfd\x2b\xc9\x31\x7d\x1d\x39\x9e\xbb\x88\x32\xeb\xbe\x25\x7b\x97\xe7\x4a\x71\x9d\x35\xf9\xe5\x3e\x6e\xff\x4a\xdf\x74\x63\x0c\x95\x95\x9d\x55\xba\x7f\x12\xde\xf4\xaf\xe3\xcd\x8f\x92\xe8\x4e\x2d\x74\xcc\x9f\x9e\xe1\xf6\x1a\xd2\x61\x96\x13\xfd\x2b\x69\xf7\x3f\x2a\x3b\x77\xc9\xf7\x2a\x3b\xd2\xbf\xc2\x8e\xdc\x0d\x2a\x5f\x43\xf3\xbd\xd7\xd7\xbb\x30\xf5\xfe\x24\xf2\xfa\xa7\xb2\x25\xdf\x8c\x22\x5f\x41\xdf\x43\xe9\x39\x9e\x1b\xa6\xfe\x9f\x8a\xc8\xff\xb3\xfe\xeb\x8f\xa2\xdd\x35\xa4\x03\x76\x95\xc5\x4d\xfd\x67\x21\x5d\xff\x08\xff\x93\xcc\xbc\x46\xcb\xee\x36\x5c\xef\xef\xe2\x16\x98\x3a\x59\xfc\x34\x9a\xfc\xb8\xab\x2f\xa5\xf5\xe3\xce\xaa\x8f\x67\x72\xee\x14\x44\x6e\xdf\x90\x79\x04\x31\xfb\xc7\x4b\x02\x7f\xa7\x3a\x3b\xce\xbc\xcb\xe2\x5b\xd1\x30\xeb\xee\x49\xc9\x88\xf2\xdd\x59\x1f\x0f\x12\x5f\xc7\xbc\x4e\x8b\xef\x86\xd3\xdf\x0a\x02\xae\x88\xdf\xc1\xec\x2b\xfb\xf9\x88\xd9\x75\xcc\xeb\xcc\xfe\x08\xed\x95\x2e\x70\x72\x5f\x9c\xbe\xe0\xf5\x1d\xf5\x2a\xb3\xee\xf5\x82\xf6\x10\x7d\x28\x4f\xb2\xc7\x57\x2a\xcc\xe4\xbf\xff\xfb\x73\xb4\xbf\x4c\x1f\xbe\x3f\x16\x78\x9a\x85\x4e\x5e\xe9\x99\x6e\x49\x0d\x93\x12\x61\x95\xc7\xd6\xe5\x15\x1b\x39\x7f\x56\x8a\xea\xc2\xda\x09\x1e\x07\xfe\x1d\x7e\xd6\x75\x74\xac\xca\x9b\xc0\x7f\xfd\xe2\xd9\x9d\xed\xdc\x70\x90\x42\x3f\x78\x56\x60\xef\xdf\x3d\xe3\xd2\x9d\x12\xec\x9d\x5c\xee\x9a\x00\xce\x9e\x8f\xbc\xf5\x0a\x7e\xbd\x97\x99\x5d\x45\xfc\xd7\xc9\x79\x3a\x7d\x65\xd3\xeb\x86\xf3\xd5\xcf\xbc\x3d\xbf\xaa\xb9\x67\x97\x9e\x15\xfd\xfa\x9c\x3a\xb3\xd7\x51\x67\xe7\x9d\xfe\x40\xe2\x3c\x1f\xf5\x20\x7e\xe7\xe7\xa2\xf7\x3f\xbc\x7f\xe4\xf9\xfe\xef\x60\x7c\xe3\xce\xd7\x90\xfe\xfd\x28\xbf\x84\x20\xfa\x1c\xc1\xab\x1a\x3c\x94\xff\x2c\x27\x92\xc3\xc1\x7b\xa9\x67\xf4\xe0\x26\x7e\x79\xdd\x7e\xae\xf6\xf0\x09\xdc\xaf\x1c\xfa\xbc\xbb\x60\x5d\x86\x89\x5c\x5b\x65\xfd\x04\xd0\x0b\xbd\xa8\x7b\x35\x92\xc9\x87\x09\x6f\xd5\xc1\xfb\xc4\xea\x9f\x45\x29\xb7\xf7\xbf\x3c\xd9\xfc\x97\x67\xa5\xbe\x06\xde\x0d\xab\xfc\x6b\xe0\x6f\xef\x5f\x07\xfe\x9b\x12\xf6\x1d\xc6\xef\x15\xe1\xe2\x9f\xc5\xd4\xfd\xcb\xcc\xc8\x77\xe8\xef\x8b\x6a\xf7\xfd\xcb\xbc\x86\x89\x63\x49\xf2\xba\xc0\x77\x97\x24\x7f\xa0\x1c\xf9\x3d\xf1\xec\x1f\x57\x9a\x7c\x0c\xc0\x9e\x5b\x92\xcf\xdb\x10\xaf\x03\x71\x7f\xf9\xc9\x2f\x93\xf3\x97\x3e\xf3\xeb\x11\xc9\x8b\x87\x88\x1e\x4c\xde\x87\x0f\x2f\x98\xc4\xc4\xea\x77\xb7\x21\xaf\x6e\x24\x7e\xb2\x69\xb3\x3b\x12\x73\x6f\x33\xf7\x0e\x7c\xdc\xb3\x35\xf7\xc6\x95\x59\x77\xef\xf1\xf9\xe9\xc3\x57\x74\x7a\x1f\x6a\xb7\x37\x59\x83\x9f\x69\x99\x1d\x5b\x69\x34\xea\x45\xd9\x78\x3f\xbf\xa6\xae\xfb\x58\x0c\x7e\x37\x99\xdd\x6d\x16\xfd\x58\x9f\xf7\xf5\xb3\xbe\xe8\x79\xbd\x26\x50\x76\xbd\xd8\xab\xbd\xff\x4f\x37\x7f\xbf\x6e\xfe\x3f\xa1\x97\x93\x5f\x3e\xdc\x8b\xca\xef\x87\x01\xcf\x86\xbe\x5e\xe3\x6e\x96\xec\x8f\xd5\xb9\x9b\x50\xfe\x5f\xa5\x75\x3f\xd2\xa4\xfb\xa1\x0e\xdd\xff\x82\xda\xfd\xee\x7e\xdc\x0f\x35\xdd\x9e\x07\x4a\x4f\x05\xfd\x1b\xdd\xb7\xa6\x0a\xde\x7e\xd1\xb1\x7b\x4d\x3c\x33\xb2\xfb\xc7\x1a\x70\xbf\xa7\xa8\xf0\x85\xb8\xdf\xd5\xde\x67\x5c\x1a\x51\x55\xb2\xfc\x95\x94\xf9\x01\xe0\xa3\xd8\x7f\x5d\x97\x7f\xfe\x9d\x6a\xf9\x71\x1b\xff\x3b\xea\x39\x4e\xf8\xd1\xa6\xe2\xbf\x84\xc5\x8f\x5c\xf8\x9f\xe2\xf2\x4d\x84\xfe\x1f\x62\xf1\xcd\x34\xfd\x6f\x9e\x92\xf8\xd7\x84\x3e\x7f\xc6\x13\x13\x7f\x3f\x4f\xa7\xff\x98\x7c\xf8\x82\x8c\xdf\xdf\x16\xfd\x73\x14\x75\xf3\xd2\x6b\x7f\xa4\xa8\xeb\x04\x56\x79\xc8\xaa\x3f\x7f\x3f\x67\xf2\xe7\x6c\x91\xd3\x8f\x3d\x24\xc9\x8b\xad\x3a\x6c\xff\x3c\x14\xfc\xbf\xe2\x84\x41\xe9\xe5\x9e\x55\x7f\xec\xc6\x5e\xed\xa0\xe5\xd4\x5e\xf9\xc3\x1a\xf5\x6e\x12\x8f\x25\xba\x17\x35\xff\x75\xce\xe6\xf2\xf3\xbb\xd1\x50\x5d\x27\xde\xff\x2e\xd0\x75\xbd\xa7\x6f\x5c\xef\xf4\xc2\x59\xf4\xaf\x2b\xf8\xdd\x55\x7e\xcc\x3a\x55\x5e\xea\x12\x5e\x1b\x3a\x37\x73\x1a\xda\x4d\xfd\xcd\x8c\xfa\x53\xb7\xf2\x4a\xc6\x3b\x85\xe4\x97\xcf\x27\xdf\x3b\xe7\x9c\x97\xde\x29\x7c\xf6\xad\xb7\x7b\xdf\xd6\xa8\xde\xbe\xb9\x7d\x7d\xfd\xcd\xcf\x1f\x7f\x47\xe9\xcb\xb7\x65\xdf\xd6\xbf\x34\x69\xe8\x64\xae\xf7\xe2\xa0\xca\x29\x3d\x2f\x7d\xf3\xf3\x2b\xd2\xd1\x2b\x71\xde\x3e\xfb\x4a\xe7\x7b\x1c\x7e\x4f\xca\xf8\x64\x3a\x79\xf3\xf7\xff\x9c\xfd\x8a\x38\x4f\xbf\x73\xff\xc2\x8f\x2e\xdd\xc1\x25\x0e\xd3\xa6\xff\xa3\x50\x59\x7e\x05\x91\x3b\x0d\xd2\xbb\x6c\xb8\xa5\xf1\x6f\xfe\xf6\xec\xbb\x9a\x5f\x67\xc7\x1f\x82\xff\xdf\xe0\x5f\x91\xd5\xf2\x57\xf8\x77\x90\xf3\x4b\xfe\xff\x31\x58\xad\x17\xbf\x6e\x16\xbf\x0b\xab\xef\x64\xf2\x27\xd5\x9a\x4e\xde\xfc\x8e\x65\xff\x50\x39\xff\xdb\x1a\xfd\x75\x0e\xc3\x30\xfa\x55\x4a\xbc\xf6\x58\xfe\x9f\x2f\x84\xb8\xbc\x3a\x84\xf8\x9f\x3f\xb5\xf4\x75\xfa\x69\x7f\xd2\x10\xe2\x4f\x75\xe8\xeb\x5f\x78\x80\x94\xd6\x5e\x79\x4e\xe8\x4b\x37\x7a\xff\x44\xfa\xed\xd5\x87\xfb\x47\x85\xfe\x3e\x7b\x79\xd6\xec\xc9\xac\x97\xa4\xfd\xfe\x51\xa4\x7f\x09\xcb\x5e\x8a\xe9\x9f\x1f\x75\xfa\x13\x06\xa6\xb5\x65\xe3\xb1\x67\xfd\x50\x20\x7a\x57\x17\x3f\x3c\x8f\xaa\xc6\xe2\xeb\x53\x7c\x6b\xcb\xae\x9e\x7f\x11\xee\x1e\x81\x3f\xfa\x8a\x07\x0c\x3e\x7c\x98\xa0\xdf\xa0\xcf\x15\xf8\xe4\xc3\xe4\xbf\xfe\xf9\xbd\x31\xe5\xed\x3b\xb5\xaf\x96\xff\x4f\x3f\x44\xf5\xcc\x02\x7d\xfc\x0e\x6e\x38\x7e\xff\x36\x9c\xfc\xc7\xe4\x8b\x49\xbf\x4e\xc2\xfb\x47\x6b\x6e\x5b\x79\xc0\xe4\xed\xdf\x1f\xa8\x1d\xfe\xe3\xe9\x37\x2d\xff\xf9\x87\x47\xae\xdf\xec\xe8\x4f\x1e\x5b\xdc\xf3\xe7\x2d\xee\x3b\x4c\xf8\xf4\x25\xe5\xaf\x7e\x71\xfb\x4e\x1f\xfd\xe3\x42\xc8\x9d\xf3\x03\x2f\xcc\xf9\xd1\x90\xf1\x3f\x9f\x85\x8c\xaf\xa7\xc3\x9d\x33\x06\x77\xe8\x60\xe5\x79\x1c\x8e\x3f\xc8\x8d\x7f\xfc\x21\xae\x1f\x23\xc7\xab\xd6\xab\xbc\xda\x7f\xf8\x79\x96\xb7\xf0\xbb\xcf\x7e\xa9\xe5\x3d\x41\x52\x40\xdd\x29\xbf\xe1\x34\x90\x64\x52\x79\xdd\x19\x95\xcf\xc1\xcd\xfe\x58\x70\xc8\x1f\x0b\x0e\xfd\x01\x70\x5f\x23\xf7\x9d\x83\x4e\xf7\x30\xb0\x5a\xcf\xc5\xaf\xd6\xf7\xae\x4d\x7e\xd5\x2e\x4a\xaf\x0a\x07\xef\xed\x0c\x45\xfe\xff\xec\xbd\xfb\x5b\x1b\x39\xb2\x00\xfa\xf3\xe6\xaf\x50\xd8\xd9\xd8\x0e\xc6\xd8\xe6\x0d\x71\x72\x6c\x63\x26\x9c\x21\x8f\x0b\xcc\xeb\x02\xc7\xa7\x71\xcb\x76\x4f\x4c\xb7\xa7\xbb\x1d\x60\x13\xf6\x6f\xbf\x9f\x9e\xad\x77\x77\x1b\x32\x33\x77\xcf\xf2\x7d\x33\x01\xb5\x54\x55\x2a\x95\x4a\x25\xa9\xaa\xa4\x9d\xf8\xe2\x05\xab\x3c\xed\xdb\x85\x68\x8f\xe2\x60\x12\x84\x8f\x9a\xa2\x3b\x85\x10\xc9\x69\x34\x96\x46\xd6\xb2\xcc\x00\x27\x27\x8a\xb1\x62\x16\x4d\xaa\x95\x33\x18\x07\xde\x0c\xcc\xa3\x38\x05\x31\xda\x50\x24\x29\xf4\x81\x30\x81\xc1\x27\x78\x3f\xf7\xfc\x86\x29\x3d\xa1\x01\xa8\xd0\xf2\x07\xdc\xd0\xd9\x73\xa5\xf1\xe7\x00\xde\xe2\x67\x2e\x92\xfb\x70\x74\x86\x0f\xdc\xbb\x31\xf4\x6c\x59\x14\x5c\x3c\xd8\xd3\x59\x40\xf8\xd9\x6c\x1a\x34\x2c\xfb\x64\x60\x36\xfb\x54\x6c\x6a\xdc\xb5\x9a\xef\xa2\x05\x76\xa0\x13\xac\xc2\x4e\x07\xec\x15\x63\x40\xda\x6e\x5a\x00\x20\xc2\x0b\xc1\x08\xa3\xf8\xc6\x9b\xe9\x40\x5e\x17\x07\x71\x83\x1a\xe3\xe7\x07\x92\x32\xc3\xc7\xc2\xcc\x95\xd4\xea\x10\xbf\x04\xb1\x86\x81\xae\x41\x0c\xb5\xa0\x30\x25\x38\x6d\x62\x10\x85\xef\xbc\xd0\x9b\xc0\xb8\xe1\x07\x09\x82\x65\x13\x08\x93\x80\xf7\x02\x9c\xb9\x0f\xa4\x11\xc0\x14\x00\x42\x81\x55\x9e\x9d\x93\xb1\xd9\x2c\x66\x08\xa0\x5d\xfa\x51\x34\x5a\xb8\xd9\x97\x83\x6a\xab\x10\xaa\x45\x3a\x66\x63\xbd\x34\xa6\x62\xfa\x22\x99\xc4\x8f\xc5\xd4\x2a\xd8\xa7\xf8\xee\x73\xfa\x38\x5c\xed\x62\x98\xc8\x8d\xcf\xdb\xc0\xf7\x61\x4e\xee\x62\x77\xc7\x36\x0d\xfa\x06\xf0\xa8\x1b\xad\xc1\xa6\x61\x0d\x61\x90\x2c\xcb\x8b\xc9\xaa\x25\x53\xdd\x95\x8b\x05\x27\xac\xc5\xb5\x8c\xa9\xac\xc5\x1f\x7c\x90\xbe\x6f\x3c\x5e\xd7\x93\x59\x8b\x3f\xf8\xa0\x5d\x6b\x88\x4b\x73\x1a\xfa\x41\x32\xd7\x1b\xa2\x52\x77\xc3\x3b\xad\xd1\x5d\x0e\x26\x1d\x8b\xbb\x01\xbf\x2b\xd6\x1a\x66\x97\xd5\x05\x00\x90\xeb\x62\x0b\x0c\x7a\xa1\xee\x04\x83\xb6\x75\x5a\x73\x54\x68\x6d\xf5\x60\x16\x5f\x60\x34\xc1\xa0\x96\xc7\xd4\x51\xbf\xe4\xea\x6c\x80\xc0\x25\x91\xfc\x52\xb8\x5d\x32\x8d\x6e\xc9\x46\xc2\x86\xcc\x9c\x04\xa8\xc0\xa6\x29\xef\x16\xeb\xaf\xb3\x41\xe6\xb4\xfc\xfb\x6c\x91\x97\x54\xb7\xff\xb6\x7b\xe4\x25\xf9\x61\x31\x4d\x8d\x49\x73\xd0\xa6\x0d\x59\x93\x1b\x6d\x43\x16\x30\xbe\xb1\x2b\x91\xde\x8b\x6e\xe4\x6c\x90\xca\xec\xee\xcc\x93\xd8\x7c\x98\xc6\x11\xfc\x21\x1b\xc5\x25\x07\x66\xc9\x9d\xe2\xb2\x56\xc8\xb7\xde\x2a\xe2\x19\x80\x6c\xe9\x6b\x6f\xf4\x09\x19\xd4\x54\x9f\x3f\x7e\x87\xe8\xe8\xf1\xbf\xf3\x16\xb1\x44\xb7\xc5\x8d\x61\xf1\x66\xf2\x5e\xb0\x78\x3b\x79\x03\x58\xbc\x9d\xbe\x03\x64\x2f\xda\x3c\xe1\x26\x90\x80\x5a\x66\xc4\x97\xda\xbf\x2d\xbd\x27\x28\xbf\x81\x5b\x1e\x55\xe9\x1d\xdc\xd2\xa8\x96\xd9\xc2\x2d\xbb\xce\x2f\xb5\x87\x5b\x76\x6f\xfa\xc7\x6c\xe1\x4a\xef\xe0\x4c\xfb\x31\x43\xe8\x37\x86\x43\xbe\x16\x36\xab\x59\xa8\xa7\x19\x96\x21\x2f\xab\x0b\x16\x8d\xeb\xb4\xc0\x42\x5f\x0b\xc3\x32\x85\xb6\x13\x38\x77\xc5\xe9\xb1\xd3\x52\x7c\xdb\xc1\xb6\x7a\x56\x58\xbc\x46\x49\x98\x64\xeb\x97\x03\x56\x0d\x1a\xca\x81\x4c\x6f\x00\xcd\x10\xd1\xc7\x25\xb6\x69\x8b\x59\x89\x4d\x9a\xaa\xa7\x13\x98\xf6\x16\xe3\x31\x8c\x8d\xc1\x48\xc5\x77\x8d\x31\x1c\xc7\x30\x99\x56\x75\xdf\x70\x76\x49\xfd\x47\xee\x61\xff\xb4\xbd\xe8\x68\xea\xc5\x4b\x38\xfe\x89\x41\x5f\x2d\x64\xf3\xcb\xc7\xca\x79\x09\x67\x68\x52\x56\x5d\xb0\xa8\x43\xe4\x41\xc1\x1d\x27\xda\xf7\x66\x39\x51\x28\x51\x75\xb2\x15\xae\x83\xf1\xcc\x9b\x98\x6e\x93\x28\xf2\xd7\xaf\x41\x6b\xb7\x0e\xc6\x13\xd0\xd1\xb7\x34\x59\x9d\xbd\x1a\x78\x01\x9a\x77\xad\xf1\xb8\x0e\xae\x27\x76\x70\xbc\x92\x30\x6d\x69\x56\x08\xb4\x27\x9f\x19\xf7\xe1\xf3\xec\x30\x3d\x50\x72\xd3\x62\x66\x83\xd7\x1d\xb0\xd1\xc4\x0c\x06\xaf\x3a\x60\x63\xc7\x98\xa7\x1a\x51\x35\x07\x6b\x60\xa3\xe9\xda\xb8\x67\xf7\xff\x08\xea\x66\x06\x75\xd3\x08\xf5\x9a\x41\xdd\x2c\x01\x75\x2f\x83\xba\x67\x84\x3a\x07\xab\x1d\xb0\xab\x8b\x38\xef\xc3\x5e\x09\x6c\xad\x66\x86\xae\xd5\x2c\x85\x8f\xf7\xae\xa5\xde\x5e\x58\x11\x1a\x05\x1b\xd3\x6e\x96\x33\x2a\xcb\x44\xce\x2c\x3d\x56\xe5\x4e\x68\x93\xc9\x9d\x85\x7a\x4b\x53\x63\x23\x67\xa7\xb4\x33\xa5\xac\x53\x5f\x73\x62\x25\x15\x48\x9b\x4e\x48\xed\x12\x90\xb6\x9c\x90\x36\x4b\x40\x32\x4f\x19\x06\x69\xb7\x04\x24\xe3\xd3\xa7\x19\x9f\xb6\x4b\x80\x6a\x1b\xb3\x5d\x13\x58\x2f\x3a\xe0\x5f\x65\x98\xde\x76\x70\x1d\xc1\x2a\xc3\xf6\xb6\x83\xef\x08\x56\x19\xc6\xb7\x1d\x9c\x47\xb0\xca\xb0\xbe\xed\xe0\x3d\xe6\x57\x19\xe6\x6f\x18\xdf\xd0\x5d\x76\x3e\xba\x27\x84\x11\xd5\xd3\x4e\xdf\x0d\x23\x6f\x04\x3f\xc1\x00\xac\x82\x56\x4e\x8a\xfd\x00\xe9\xc9\xb6\xd9\xf4\x18\x1b\xc8\xbd\xf1\xd2\xd1\x14\x67\xfb\xe6\x58\xae\x30\xed\x78\x05\x94\xf0\x1a\x4a\xdb\xac\xd4\xf1\x92\x01\xc2\xda\xe9\x80\xb5\x96\xfd\x01\x09\x4c\x98\x45\x45\xba\x3a\x65\x79\xd1\xc2\xcc\x32\xe3\x8c\xc8\x63\x99\xb4\xae\xd3\xbe\x3a\x98\x6b\xb0\xf4\x5d\xd9\xff\x55\x21\xfb\xd6\x02\x60\x92\xd7\x6f\x2f\x00\xd7\xf9\x02\x70\xfd\x6f\x20\x00\xd7\x8f\x17\x80\x56\xd3\x6c\x97\xfc\xc9\x16\x46\x6e\xd8\x01\x8c\xe3\x28\xae\x56\x7e\x0c\x3f\x85\xd1\x6d\x08\xce\xbe\x3f\x05\x1e\xdb\x8b\xec\x83\x7f\xf8\x8d\x4a\x1d\xcc\x0b\x84\xb4\x58\x77\x17\x55\xb2\x42\xbc\x7a\x85\xdf\x2d\xff\x8a\x95\xca\xab\x57\xa8\xe3\x5f\xc1\xf5\xe4\xa0\xc0\xfe\xc8\xc7\xa1\x51\x67\xa9\x97\x2e\x8a\xec\x8e\x9e\xfa\xfa\xab\xd8\x59\x55\x7e\xf8\x46\x33\x5c\xc6\x33\xa5\xe0\xf9\x5f\x2e\xf6\x8a\x75\x02\xaf\x1a\x9c\xcd\x57\x55\x9f\x76\xb9\x41\xe5\xa0\x0c\xb8\xbb\x5c\x70\xa7\x25\x38\xf3\x67\x5c\xfc\x3d\xd5\x20\xbc\xf9\xb7\x19\x05\xc0\x0f\x45\x2d\xd3\x63\x99\xe3\x5f\x67\x1b\xcb\x18\xb8\xda\x6c\x59\xee\x6d\x1e\x7d\x62\x93\x44\xe3\xf4\x14\x26\x30\xcd\x51\x47\xa5\x7c\x92\x4a\xdc\xa7\x97\xb8\xd1\x2c\xe7\xbc\x5a\xfe\x46\xaf\xfc\x31\x5c\xf9\xeb\x72\xc7\xe9\x6d\x33\xa7\x96\xed\x3c\x56\x8f\x82\x59\xfa\x78\x2c\xff\x8c\xfb\xde\x49\x28\x7b\x45\x53\x3d\x95\x55\xaa\x4d\x66\xf0\x33\x9c\x15\x81\x84\x16\xc9\x0b\x04\xeb\xaa\xc8\xea\x9a\xc0\x94\xf0\xfd\x2c\xbd\x9f\x2d\x15\xc8\x06\x5e\x81\x16\x78\x03\x5a\x60\xdf\x14\x50\x23\x69\x59\x63\x62\x45\xc5\xad\xa2\x60\xe6\xc1\x04\xa6\x1f\xe6\xf8\xa9\xd9\xca\x28\xa3\xbf\x52\x07\x95\xeb\x59\x34\xfa\x64\xd2\x65\x05\xb3\x80\xda\x9c\x5e\x0a\x13\xb0\x08\x7d\x18\xcf\x82\x10\x96\x21\x62\xcb\x40\x84\x41\xe7\x15\xe7\x82\x17\x17\x40\x2f\x9f\xe3\x06\x49\x6f\x16\x84\x9f\x82\x70\xc2\x43\x31\xff\x01\xda\xc4\xbe\xb5\x4f\x34\x95\x04\x0c\xa3\x52\x17\xa0\x15\xcb\x9c\x03\x53\xa2\x30\x4e\xe1\xa4\x58\xe4\x9e\xd9\xd0\x93\xba\xac\x9e\x5b\x3b\x54\x49\x55\x4e\x4b\x50\x73\xaa\x07\x45\xbb\x08\xe1\x80\xd9\x41\x7c\xeb\x0a\xbc\x32\x2b\x9e\x37\x42\x15\xcd\x09\x90\x84\xf5\xb9\x90\xdf\x39\xb5\xc0\x7d\xd1\x37\x9a\x12\xef\x33\xcc\x54\x6e\xf1\x65\x0c\x7b\xe8\xfc\xe2\x4c\x18\x63\x6a\xf1\xab\x35\x57\x71\xae\xab\x5e\x1a\xc5\x4b\x51\x6a\xd0\xc5\x94\xf8\xaf\x5f\x73\x38\x68\xee\x41\xd6\x8c\xd2\x4c\xdf\x65\x13\x49\x57\x1f\xe1\x56\x5e\x8d\x96\xab\xa2\x59\x47\x1f\x5d\x96\x5f\x94\x8e\xe6\x29\xef\x19\x7e\xa4\xfa\xc3\xbb\xde\xf1\xfb\xe3\xf7\xdf\x23\xe5\xce\x09\xbf\x68\xde\x35\x37\x9a\xcd\x3a\x40\xff\x6e\x1f\x5d\xd5\x71\xc9\xe6\xee\x06\x2e\xd9\xdc\xdd\xe6\x25\xbb\xb4\x64\xef\xaa\x2e\xb5\xde\xda\x6b\xe1\x2f\x5b\xbd\x43\x5a\x77\xab\x77\x44\x4b\x18\xbc\xad\x3e\xad\xd3\x6f\xab\xad\xfb\x9b\xf4\xcb\x16\xaf\xbb\x43\x4b\x76\x68\xc9\x36\xa5\x6f\xbb\xb9\xa1\xb4\xde\x6e\xd1\x2f\x2d\xd6\x7a\x7b\xb3\x47\x4a\xb6\x06\xac\x64\x87\xd6\xd9\x69\xaa\xad\x0f\xb7\xc9\x97\xc1\x26\xab\x3b\xd8\xa1\x25\xbb\xbc\xa4\x4b\x4b\x0e\x95\xd6\x3b\x4d\xd2\xcb\x9d\x26\xeb\xe5\x4e\x8b\xf4\x72\xa7\xd5\x62\x25\x1b\x04\xf7\xce\x66\x57\x6d\xdd\x25\xb8\x77\x7a\x4d\x56\x77\x40\x28\xdf\x39\xda\xa0\x25\x7b\x4d\x02\x6f\xaf\xa9\x72\x6d\x6f\xa3\x4f\xbe\x6c\xf4\x59\xdd\x4d\x5a\x77\x73\x97\x97\x1c\xd2\x12\x95\xf2\xbd\x2d\x5a\x77\x8b\xf5\x7b\x6f\xbb\x4d\x4a\xb6\x39\xee\x5d\x5a\x67\xb7\xa5\xb6\xee\x51\xdc\x3d\x8e\x9b\x8e\xee\x5e\x9f\xc3\xeb\x53\xdc\x7d\x0d\xf7\x80\x62\x1a\x30\x4c\x5d\xda\xcb\x2e\xea\x25\x29\xa1\xbd\xeb\xa2\xde\x49\xad\xbb\xb4\x97\xdd\x4d\x5e\x77\x73\x87\x96\xec\xf2\x92\x1e\x2d\x51\x71\x77\xa9\x24\x74\x77\xd8\xf8\x74\x69\x2f\xbb\xbb\x1c\x1e\xed\x5d\xb7\xa7\xe1\xa6\xbd\xec\x72\x49\xed\x52\x49\xed\xf6\x39\x6e\xda\xef\xae\xd6\xef\x2e\xed\x77\x97\xf7\xbb\x47\xfb\xdd\x6b\x32\x6a\x7a\xb4\xdf\x3d\xad\xdf\xbd\x8d\x23\xfa\x85\xc9\x5a\x8f\x72\xa2\xb7\xc9\xe1\xd1\xf1\xee\x69\xfd\xee\x6d\x11\x59\xeb\x6d\xb1\xd9\xdc\xdb\x25\xd4\xf4\x78\xbf\x7b\x7d\xc2\x9b\x5e\x5f\x9d\x25\x3d\xda\xa7\x5e\x9f\xcd\xef\xfe\xc6\x00\x97\xf4\x37\x99\xec\xf6\x37\xb7\x69\xc9\xae\xd2\xba\xbf\xd9\xa5\x5f\x78\xeb\xad\x2d\x52\xc2\xa9\xe9\x53\x9e\xf7\x35\x9e\xf7\xa9\x26\xe9\x73\x4d\xd2\xef\x53\x4c\x7d\xde\xba\x4f\x5b\x6b\x3c\xef\x53\x9e\xf7\x39\xcf\x0f\x29\xd7\x0e\x37\xb3\x92\x43\x5a\xa2\xb6\x3e\xec\x13\xca\x0f\xfb\x5d\x56\xf7\x90\xc0\x3b\x3c\xdc\xe4\x25\xdb\xb4\x64\x5b\x69\x3d\xd8\x20\x98\x06\x1b\x6c\x74\x07\x1b\x9b\xb4\x84\xc1\x1b\x50\xd9\x1d\x6c\x0e\xd4\xd6\x3d\xda\xba\xc7\x5b\xf7\x68\xeb\xde\x1e\x2f\xe9\xd1\x12\x95\x6b\x83\x3e\xd1\xd5\x03\x3e\x62\x47\x2d\x52\x72\xd4\x62\xad\x8f\x36\xc8\x28\x1c\x6d\x6c\x29\xad\x8f\x36\x76\xe8\x97\x1d\x5e\x77\x8f\x96\xf0\xd6\x3b\x84\xbe\xa3\x1d\x95\xf2\xa3\x5d\x22\x47\x47\xbb\x8c\x47\x47\xbb\xdb\xb4\x84\xc3\xdb\xa3\x75\xf6\x76\xd4\xd6\x7b\x14\x13\xd7\x2d\x47\x74\xbc\x8f\xd8\x78\xb7\x9a\x6d\x3c\x62\xad\xe6\x86\x22\xa9\xad\xe6\x46\x9b\x7e\x69\xb3\xba\x1b\xdb\xb4\x64\x87\x97\xec\xd1\x92\x3d\xb5\xf5\xd6\x2e\xf9\xb2\x45\x7b\xd9\x6a\x6d\x63\x3a\x5b\xad\x23\x2a\x7d\xad\x8d\x2d\x2c\x8f\xe8\x5f\xa5\xf5\x4e\x8b\xe0\xde\x69\xd1\x7e\xb7\x76\x28\x35\x3b\x1b\xbc\x64\x8b\x96\x6c\x6d\xa8\xad\x77\xe8\x97\x9d\x0d\x56\x97\x8c\x77\x6b\xa7\xb7\xc5\x4b\x76\x68\xc9\xa1\xda\x9a\xf0\x08\xfd\xcb\xea\xf6\x49\x2f\x77\x0e\x39\xbc\xc3\x43\x5a\xa2\xb6\xde\x6d\x62\x39\x6a\xed\x36\xa9\xb4\xb4\x76\xbb\xa4\xf5\x6e\x97\x71\x62\xaf\x4d\x38\xb1\xd7\x56\x56\xa2\xd6\x5e\x7b\x87\x7e\xd9\x65\x75\x69\xbf\xf7\xf8\x28\xec\x51\x9e\xef\x6d\xf4\x94\xd6\xdd\x16\x69\xdd\x6d\xb1\xd6\x3d\xb2\xd6\xb7\x7a\x4d\x46\x79\x8f\xcc\x1b\xf4\xaf\xd2\xba\x47\x47\xb7\xc7\x66\x54\x8b\x6a\xd0\x56\x8f\xad\x8b\xad\xde\x26\xa1\xa6\xb7\xa9\x52\xde\xdb\x26\xfd\xee\x71\x9e\x1f\x12\x1d\xd8\xe2\x33\xbe\x75\x78\x34\x20\x25\x47\xca\x78\xb7\x9b\x84\x6b\xed\x26\x5b\xfd\xdb\xcd\x76\x97\x94\xb4\x07\xac\x84\xc8\x4f\xbb\xb9\xbd\xa1\xb6\xde\xa6\x75\xb7\x79\xeb\x43\x5a\x77\x40\x4b\x36\x28\xbc\x8d\x66\x5b\xc1\xbd\xd1\x24\xb3\x64\xa3\xb9\x47\xe9\xec\xee\x36\x31\x27\xd0\xbf\xbc\xa4\x47\x4b\x14\x9e\x77\x77\xdb\x5b\xe4\x4b\x9b\xd6\x3d\xea\xb5\x70\x2f\xd1\xbf\xb4\x64\x40\x46\xe1\x68\xd0\x54\x70\x1f\x0d\xda\xf4\x4b\x7b\x83\xd5\x3d\x3a\x22\x25\x6c\x96\x1c\x1d\x1d\x61\xfa\x8e\x8e\x8e\xd4\xf1\x66\x8b\x3d\xfa\x85\x71\xbd\xd9\x6d\x6e\xb1\xb2\xed\xac\xac\xcf\xca\xd4\x99\xd6\xec\x6e\xd0\x89\xda\xe5\xe3\xde\xec\x92\x05\x12\xff\xc2\xc6\xae\xb5\x4d\x84\xeb\xb0\xb5\xad\xce\xf5\xc3\xd6\xce\x06\xfd\xc6\x56\x40\xf4\xeb\x16\x2b\xeb\xf1\xb2\x6e\x97\x96\x75\xd5\x79\x73\xd8\xa6\xa2\x75\xd8\xde\xa4\x33\x7c\xd0\x6c\x92\xfe\xe1\x5f\x78\x19\x61\xd9\xa0\xd9\xdc\x51\xfa\x32\x68\xb6\x9a\xf4\x5b\x6b\x70\x44\x1e\x65\xa7\x07\x1f\xdc\x8e\xbf\x0e\x12\xe8\xc5\xa3\x69\x75\x31\xd2\x0e\x52\x6e\x82\x50\xde\xc8\xe1\x42\x0f\x6d\x5a\xb8\xb5\x9f\x3d\x32\xd2\x52\xea\x05\xfe\x81\xb4\x19\x5e\x8c\x12\xf0\x2a\x6b\x78\xd1\xbc\xa2\x3b\x59\xf4\xe1\xb5\xf0\xe1\xc6\xbb\xbb\xba\x68\x5d\x99\xf6\xc9\xea\xc1\x1b\xcd\x80\x87\x68\x7a\xdd\x41\xf4\xaa\xe7\x37\x37\x81\xcf\x9e\xfc\x18\xcf\xa2\x28\xae\x56\x51\xa7\x56\x51\x2f\x6a\x60\x1d\xb4\x0d\x0f\x8e\x6b\xe4\x04\xbe\x4e\x0e\x81\x8d\xd8\x83\x30\x68\xaf\xfd\xf0\xf3\x7e\xb5\xd3\x18\x58\xd3\x04\x0c\xb3\x15\x01\x5b\x33\x01\xd3\xea\x53\x7e\xc8\xa7\xa3\x42\x96\x55\x8d\x5d\x0f\xf2\xb8\xd3\x3d\x9d\x3a\xec\x8c\x66\xe2\xc7\x64\x1a\x01\xb4\xef\x6b\x84\x8b\x99\x69\x70\x37\xda\x68\x3c\x09\x07\x3b\xa0\x79\xb7\x33\x06\x2f\x5e\x00\xf2\xad\x79\xe7\x35\x6b\x76\x88\xa3\x28\x4c\xe3\x48\x81\x2a\x09\xa7\xb1\x6d\x53\x6e\x10\x24\x3f\x07\x3e\x24\xd5\x8d\xf9\x06\xc5\xab\x58\x8d\x5b\x2d\x23\xa7\x04\x98\x02\x48\xda\x24\xeb\x6b\x8b\x3a\x9a\x11\x56\x90\x92\xad\x31\xf8\xfa\x55\xa2\x82\xf3\xf6\xae\xbd\xd1\xde\x73\x7e\xf5\xd4\xaf\x19\xae\x36\xdc\x6d\x72\xce\xa2\x02\x6f\x73\xc4\x59\xfd\x1c\x03\xd8\x68\x6e\x8c\x6b\x76\x08\xde\xa8\x29\x43\xf0\x77\xbc\x0d\x47\xfd\xf1\x9e\x52\x7f\xec\x8d\x5d\xf0\xc7\xb0\xa5\xd4\x87\xad\x3d\x67\xfd\x0d\xb5\xfe\xb6\x13\xfe\x58\xa5\x67\xbc\xdd\x74\xd6\x87\x6a\x7d\xb8\xed\xa8\xdf\x6e\x36\x15\x04\xed\xf1\x78\xec\x3b\x5a\x6c\x68\x2d\x36\x70\x0b\x96\x3b\xfa\x41\x3c\x8e\xa1\xb3\xef\xe0\xd9\x43\xad\xfa\x05\x84\x8b\xd9\x3e\x7e\x5e\x99\xcc\x81\x7d\xd0\x04\x0f\xb5\x83\x67\xcf\xd6\xd7\xff\x0e\x92\x68\x11\x8f\xe0\x3b\x6f\x3e\x0f\xc2\xc9\x8f\xa7\x27\x1d\xe9\x10\xea\xb7\xa4\x71\xe3\xcd\x9f\x3d\x7b\xb6\xfe\xf2\xe5\xcb\x75\xf0\x50\xab\x3f\x5b\x7f\x09\x5a\xbb\xe0\xe5\x3a\x2d\xe2\x27\x36\xd5\x9b\xc8\x5f\xcc\x60\x1d\xd0\x63\x9f\x3a\x18\x0e\x6f\xe1\xf5\xdc\x1b\x7d\x1a\xc6\xf0\xf7\x45\x10\xc3\xe1\x10\x49\xf8\xb3\x95\x45\x02\x41\x92\xc6\xc1\x28\x5d\x39\x78\xf6\xec\xc3\xf5\x6f\x70\x94\x36\x7c\x38\x0e\x42\xf8\x31\x8e\xe6\x30\x4e\xef\xab\x1c\xca\xca\x70\x08\x93\x77\x18\xf6\x4a\x1d\x7c\x01\x9f\xbd\xd9\x02\xee\x63\xc5\x84\x7b\x81\xd6\x82\xe3\xf7\x3f\x75\x4f\x8e\x0f\x87\x27\xc7\xef\x7f\x18\xf6\x4f\xba\x67\x67\xa0\x03\x48\x5e\xc8\xb5\x20\xfc\xec\xcd\x02\x7f\x0d\x9f\xc9\x92\xea\xf8\x68\x6d\x14\xcd\xfa\x33\x8f\x44\x71\x54\xaa\xd3\x34\x9d\x27\x6f\xf6\x2f\x2f\xd7\x2f\x2f\xd7\x6b\xb4\x9e\x1f\xdd\x78\x41\xc8\x13\xbc\x9e\xe1\x3b\x8a\xca\xc5\xe5\xa5\xef\xad\xfd\xf3\xf2\xb2\xb1\x76\xb5\x4a\x6b\x86\x70\xe2\xa5\xd0\x3f\x34\x37\xf8\x1f\x43\x0b\x02\xbb\x17\xf9\xf7\x02\x15\x15\xb0\x6a\x42\xba\x0a\x2a\x8c\xa4\x74\xe6\x0b\xf5\x2f\x08\xd4\xab\x2f\xed\xfa\xf6\x03\xab\x12\xcc\x85\x1a\xd5\xcb\x4b\xff\x4b\xab\xbe\xf1\x70\x79\xd9\xa8\x7d\x41\xff\x90\x3f\x59\xe5\x59\x34\xf2\x66\x6f\xa3\x24\x15\xda\xe0\xb2\x69\x94\xa4\xac\x12\x1a\x09\xe1\xfb\x3e\x01\xb2\xc5\x81\x4c\xe5\xf6\x42\x37\x84\xfe\xad\x82\xca\xe5\x65\x03\x7d\xca\xfa\x80\x3a\xf6\x15\x15\x71\x9a\x57\x41\x05\x17\xa8\x74\x61\x16\x80\x55\x91\x94\x55\x50\x79\xc3\x08\xf4\xd2\xa9\x40\xc0\xe5\xe5\xfa\x05\x1e\xc9\xdb\xcb\xcb\xc6\xe5\xe5\xda\x3f\xfe\x75\xf5\xb2\xf6\x92\xd6\xfd\x7d\x01\xe3\xfb\xb3\x34\x0e\xc2\xc9\x5b\x2f\x99\x1e\xc5\xde\xe4\x06\x86\xa9\x36\x68\xcd\xb5\x3d\x0c\xe0\xe2\xf2\xf2\xea\xf2\xb2\x7a\x79\x59\xc3\x20\xdf\x5c\x5e\x3e\xff\xfb\x7f\x7d\xf7\x8f\x17\x97\x95\x97\xab\xf5\xfd\x83\x7f\x5d\x5e\x76\x08\x96\x2b\x03\x06\x89\xa8\x37\xa8\x03\x45\xd0\xa3\xce\xb2\xae\x4d\xc5\x4a\x19\xb4\xbf\x2f\x03\x8b\x4a\xe9\x47\xc4\x2d\x83\x8c\x0a\x0c\xe3\x62\x7a\x2d\x0a\xe8\x54\x1c\x0f\x81\xe7\xab\x86\x2e\xaf\x1a\x28\x27\x20\x93\xd4\x8b\x31\xce\xea\x9b\xfd\xff\xc1\x83\x6d\x9f\x3d\x88\xfa\x2a\x25\x05\x86\xc8\xd4\xaa\xd4\xaa\xdf\x89\x8d\xb4\xce\x08\x93\x85\xe8\x98\x1f\xe3\xd9\x29\x9c\x40\x64\xfe\x84\xf0\x16\x9c\xc2\xc9\xe0\x6e\x5e\x25\x54\xac\xaa\xba\x60\x55\xec\xf1\x2a\xc2\x49\x55\xcc\xdb\x5f\x3f\x0e\x4e\xcf\x07\xbf\x9c\x13\x25\xf3\xae\x7b\xde\x7f\x3b\x38\x1d\x1e\x1f\x12\x0b\x16\x55\x39\x09\xc2\x4f\xc1\x38\x80\xb1\x7c\x90\xcd\x56\x75\x5e\xc2\xeb\x55\xf5\x93\xfb\x90\x3c\xa2\xfc\xe9\x9d\x97\x8e\xa6\x30\x3e\x46\x5d\xb6\xa2\x56\xcf\xef\xe3\xe8\xf6\x3c\xb8\x81\xd1\x22\x3d\xf6\xf1\x1d\xe8\x95\x5a\x63\x96\x81\x36\x56\x88\xe1\x24\x48\x52\x18\x0b\x24\x54\x65\x2e\xd6\xf1\x25\x2d\x52\xc4\xd8\xf9\xee\x38\xf4\xe1\xdd\x3e\x68\x61\x55\x9c\x2d\x43\xbc\x8b\xc2\x35\x86\x97\xa6\xde\x68\x7a\x1e\x1d\xe2\x0b\xa3\x8c\x3f\x7e\x34\x5a\x20\x19\xc1\x6f\x04\x18\x2e\x33\xd8\x77\xd0\x01\xec\x57\x43\xc7\x13\xf2\xbe\x69\x22\x5d\x4e\x98\xc8\xc0\x37\x72\xe3\xfb\x53\xfc\x4c\x40\x46\x45\x1c\xdd\xe2\xbe\x58\x9c\xa9\x18\xe6\xe2\x59\xa6\xb1\xb6\x66\xa3\xc1\xef\x53\xa4\x21\xba\x60\x48\x95\xf4\x8b\xbc\x99\x76\x5b\x3c\x83\x5e\x4c\xdb\x0b\xb5\x4c\xe8\x9d\xe8\x40\x07\x24\x30\xe5\x80\xb8\x68\x10\xbe\x34\xae\x83\xd0\xc7\xa5\x78\x48\x08\x5b\xea\x02\x33\xcf\x8f\xdf\x0d\x86\xbd\xc1\xd1\x87\xd3\x01\x16\xc9\xe3\xa3\x5f\x6b\xb9\x7c\x4f\x60\xfa\xf6\x1e\xad\xed\x54\xc2\xb3\x0b\xa1\x6c\x10\xa6\xa4\x4c\x97\x01\x51\x6e\x2f\xac\xf3\xe1\xaa\x31\xe5\x40\xa7\xec\x82\xa9\x04\x59\x3f\x21\x43\x81\x38\x62\x78\xb3\x19\x0e\x05\x17\xa9\x1b\xd1\xc2\xe5\xc9\xfb\x6c\x42\xc0\xc0\xe6\x92\x6a\x98\x9c\xb2\x08\x93\xf9\x49\x7b\x5e\x47\xfb\x9e\x20\x0a\xb5\xed\x17\x2d\xc6\x1b\x81\xcf\x51\xe0\xe3\x78\x12\xc0\x4b\xc1\x97\x87\x03\x63\x12\x5b\x5d\x35\xa1\x9d\x80\x5d\x2f\xbe\x78\x01\x9e\x1b\x06\x94\x70\x2d\x8e\x6e\xb1\x36\x1e\x10\xef\x4b\x36\x6e\x37\x8b\x24\x05\xd7\x10\x10\x63\xd0\xaf\x18\x45\x9b\x9c\x12\xb0\xfe\x2b\x29\xc2\xfd\x7d\x9b\x26\x5d\x5d\xad\x2b\x53\x77\x82\x54\x17\xe1\x9a\xf4\x85\x52\xb3\xcf\x59\x29\x6f\xf9\x05\xbd\x47\xb9\xd6\xc8\xca\xe4\xba\xfa\x80\x67\x6d\xf4\x6f\x72\xdb\x79\x1c\x44\x71\x90\xde\x67\x2d\x58\x09\xbe\x85\xcd\x18\xa3\x6a\x43\xcf\xf7\x85\x8e\x9f\x47\x27\x41\x92\x56\x29\xc3\x04\x86\xd2\xad\x02\xfd\xd0\x60\xc7\x29\x0e\x01\x34\x42\x96\x44\x90\x61\x31\xfa\x29\x88\xb3\x44\x8c\xdd\xb3\x04\xea\x49\xd5\xf1\x63\x53\x7a\x1f\x80\x53\x05\x4b\x69\x69\xec\x34\xac\x81\xd6\x01\x08\xf0\x2e\xeb\x00\x04\xe6\x47\xe7\x18\x97\xf8\x10\xbc\x32\x41\xbc\x08\xae\x78\x0d\x7b\xc6\x73\x89\x06\xfa\x9c\x50\xc0\xdf\x74\x33\x77\xd2\xd4\x51\xe0\xf4\x44\x36\x61\x69\x1a\x30\x38\xc6\xdb\x87\x79\x2a\xe7\x86\x4d\x2e\xb1\xb7\x12\xdb\x5b\x24\xf2\xd0\xca\x7d\x63\x44\xa2\x59\x66\x10\x77\x03\x1f\x8b\x8c\x11\x6f\x01\x2e\xeb\x6f\x3c\x01\xdb\x59\x97\x8d\xbb\x86\x93\x2f\xc7\x8c\x29\x61\x6d\xd0\x27\xfb\x45\x53\xc1\x6a\x21\x3c\x8f\xa3\xdb\x92\xa6\x08\xbc\x4b\x89\x89\xd4\x40\xbf\xf6\xa3\x30\x95\x0c\x29\x53\x0a\xa7\x72\x83\x26\xab\x65\xe3\xf0\x1d\x68\x0d\x50\x85\x01\x49\xad\x91\x45\x2f\xfa\xd1\x09\x67\x1b\x79\x9a\xd0\x3c\x29\x10\x27\x44\x00\x59\x86\x2a\x63\x28\x82\x38\x8f\x75\xe5\x6b\x0b\xb0\x40\x54\x0e\x67\x51\x34\x1f\xb6\xa4\x21\xfc\x2d\x2f\x39\x1d\xcd\x18\x42\xde\x63\xe1\x34\x5e\xfc\x76\x65\xf6\x31\x06\x6c\x69\x31\x52\x57\x65\xf9\x47\x84\xc1\xab\x33\x14\x75\x81\xac\x20\xc1\x56\x8c\x8b\x38\xc6\x8b\xe7\x05\xeb\x02\x7c\x46\x6c\x4a\x80\xa9\x9f\xbb\x38\xa2\xcd\x81\x35\x80\x1c\x7f\xb1\x85\x9c\x5b\x22\x96\x98\xb8\xfe\x46\xc4\xf5\x37\xf0\x0a\x18\x44\xc1\xf9\xe6\x3d\xfa\xa1\x23\x6b\x7c\x33\xdd\x4c\xb0\x5e\x52\x44\x2f\xbb\x74\x84\x28\xee\xaa\x96\xc8\x44\x5f\xd5\x14\x30\x59\xcc\x52\x65\x0f\x47\x5c\x18\xdf\xa6\xe9\x5c\x56\xd8\xd9\x1a\x8f\xb5\x67\x81\x0d\x25\xc9\xae\xe8\x43\xba\xad\x6a\x8c\xa6\xc1\xcc\x7f\x8f\x0a\xd4\xdb\x9a\x14\x3f\x39\xa4\xe8\x15\x62\x10\xf1\xd9\x86\x6d\xac\x9a\xa2\xc2\x48\xd3\xaf\x5f\x09\x0c\xa7\x41\x40\x75\x2e\xe9\xb3\x4d\xc3\x2d\xe2\x80\x75\xf5\x02\x31\x36\x1a\xf3\x7e\x67\xe6\x19\xb6\x59\x2b\xe1\xe2\xe6\x1a\xc6\x15\xf0\x06\x34\xc1\xbe\xa1\x96\xc2\xd2\x38\xba\xc5\x2f\xc1\x12\x08\x14\x47\x23\xc0\x7f\xad\x22\xbc\x4c\xda\x9c\xda\x14\xb3\x33\x4f\x81\x86\xc4\x29\x1d\xd7\x35\x2a\x4c\x72\x61\xc1\x28\x41\xf5\x24\xbe\x63\xa2\x3e\x8c\xab\x8b\x38\x30\x28\x4b\xb1\xf1\x6b\x4b\x20\xb9\xa2\x95\xb9\x52\x1e\xc5\xd0\x4b\x61\x37\x1c\x4d\xa3\x98\x7e\x43\x58\xb8\x80\x36\xf8\xbe\x43\x93\x40\xc3\xdc\x42\xd4\x68\xc4\x0b\x22\x90\x31\xd5\x1a\xf8\xc6\x20\xa0\xff\x9d\xdf\xcf\xa1\xf9\x31\x01\xf1\x87\xae\xab\x70\x3e\xf3\x46\x10\x09\x33\x06\x50\x17\xbb\x5b\x2a\xf1\x85\x25\xc0\x4c\xe4\x64\xb6\x08\x20\x54\x76\xe5\x88\x7a\xc3\x74\x2c\xaa\xf9\xde\xbb\x21\x1d\xaa\x74\xb5\xb0\x1d\xf5\xc7\x32\x3b\x8a\xf5\x01\x08\xca\x3d\x08\x43\x18\xbf\x3d\x7f\x77\x02\x3a\xa0\x52\xb1\x43\x62\xf5\xbd\xf9\x1c\x86\x7e\x1f\xa9\x86\xea\x32\x3c\x74\x44\x40\xe2\x91\xcd\x94\x8e\x23\xf7\x24\xfb\x31\xad\x08\x66\x28\xb9\x8b\x02\x82\xc2\x5b\xb1\x59\x96\x81\x71\x2e\xe1\xbc\xed\x99\x34\x51\x79\xeb\x82\xb3\x55\xfc\x41\xfc\xd0\x40\x3e\x27\x51\xa9\x39\xa2\xa1\x49\xfc\xd9\xe2\x3a\xc1\xc7\xb4\x3f\x07\xe9\x14\x4f\x01\x4e\x99\x34\x0f\xea\x00\xcf\x6d\x15\x6d\xce\xf2\x6e\x89\x45\x62\x3f\x66\x09\x2c\x2c\x17\x76\xfb\x0c\xab\xcb\xae\xef\x43\xe1\xa0\xcd\xd5\x67\x6d\xda\xd3\xee\x26\xb9\x3d\xc5\xe1\xb6\x19\x3a\xbd\x92\xc9\x3c\x40\xf3\x92\xec\x60\xdd\xb3\xc4\xb6\x98\x26\xac\x03\x55\x69\x25\xaa\xe5\xac\xb2\x9c\xe6\x92\xab\x6d\x46\xb8\x53\xaf\xe8\x3d\xfd\x36\x2b\x30\x27\x47\x5a\x85\x57\x8b\x2c\xc3\xc0\xbd\x87\x13\x7b\xe6\x32\xd0\x0c\x4b\x9f\x64\xa7\x61\xd9\x11\x97\x3f\xc3\x39\xa7\x6a\xbf\x41\x65\x79\x65\x07\xcc\x0d\x82\x8c\xad\xb0\x15\x4f\x3c\x03\x33\x6c\x02\x00\x5e\x2b\xf5\x2a\x7e\xec\x4d\x26\xde\xf5\xcc\x10\x11\x47\x1c\x19\xf2\x88\x14\x81\x4d\x63\x38\x56\x11\x49\xf4\x78\xf1\x84\xdc\x23\x0d\xf1\xa3\xc6\x15\x73\x35\xcf\xf7\x71\xe6\x45\xb4\x7f\x80\x21\x8c\xab\x95\xd1\x2c\x18\x7d\xaa\x88\xfb\x17\x9c\x40\xd1\xb6\x7b\xb3\x1c\x27\x2a\xc3\x4a\x6b\x11\x50\x78\x66\x1b\x26\x85\x12\xd9\x6e\x3c\x68\x34\x68\x9d\x27\xeb\x8a\xbe\xa1\x1a\x45\x61\xea\x05\x61\x62\xda\x55\xb9\x7b\x5c\x4c\x0b\x15\xe3\x8d\x99\x13\xb4\x35\x25\x3a\x7f\xc6\x08\xda\x57\x9a\x29\x11\x59\x6a\xd4\xc9\x10\xc2\xdb\xf7\x74\xb3\x21\x6e\x67\xf8\x92\x3e\xa4\x27\x49\x43\x64\x47\x7b\xf1\x64\x21\xef\xf1\x86\x06\x63\x9a\x81\xbc\x18\x06\xe4\xe5\xd3\x4e\xd6\xf0\x62\x18\x18\x1f\xa7\xa2\xc1\x7d\x64\x56\x51\x52\x1b\xa4\xe0\xbd\x64\xbd\x19\xcd\x7b\x8a\xd0\x65\xe1\x13\x58\x34\xb2\xb5\x07\xc7\x51\x0c\xab\x9c\xd0\xe0\xaa\xce\x90\x1a\xc7\x80\x36\x26\x69\x47\x89\xd1\x25\x57\x2f\x38\x20\xda\x72\x28\x8d\x10\x99\xca\xc4\x1e\xa0\xa4\xd5\x01\x5f\x80\x84\x5f\x8d\xb7\x65\x59\x6b\x83\xf1\x66\x4c\xf3\x94\xb5\x40\xaa\xd0\xd4\x5c\x0a\xa6\x7c\xb0\xa1\xe3\xbb\x80\xe7\xe6\x27\xc5\x94\x0b\x07\x01\x2d\xbb\x73\xf0\xc8\x19\x19\xde\x81\x45\x31\x88\xc2\xd9\x3d\xa0\x73\x12\x78\x20\x09\xc2\xc9\x0c\x66\x55\xec\x57\x13\xe3\xc5\x6c\x76\x4e\x4e\xdb\x04\xfa\x8c\x87\x6e\x78\x4f\x26\x31\xd4\xbc\x22\xe3\x4d\x68\x30\x99\xa6\x08\x2e\x3d\x87\x22\x48\x04\xdb\x80\xff\xc6\x36\x4e\xfa\xe6\x91\xc3\x40\x24\x61\x38\xc6\xc5\x87\xd5\xa8\x0a\x38\x8d\x4f\xe3\x8b\x5b\x29\xa3\xe0\x28\x08\x8d\x27\xf7\xa2\x8f\xdd\x43\x1e\x6b\xcc\x1c\xcd\x4e\xf2\x35\x26\x18\x38\x39\x83\x63\x27\x23\x9b\x9a\x94\x1b\xce\x2d\x29\x8c\x82\x8c\xcc\x50\x96\xe2\xa3\x8c\x85\xf3\xb5\x04\x1b\x45\x5a\xcb\xf7\x56\xed\x69\xe1\x7e\x2a\x30\xb8\x18\xe4\x48\x2e\x35\xed\xf4\x51\xb4\x80\x2b\x44\x13\xaf\xad\x85\xe0\x17\x61\xbb\x4d\x98\xf5\x8b\xb4\x96\x29\x2e\x92\x2b\x63\x16\x14\xe9\xbc\x45\x07\x1d\xd0\x6e\x36\xb3\xc8\x49\xd1\xa3\x44\x80\x64\x76\xdc\xcb\x20\x5b\xbc\xf6\xf6\xfe\x62\x5e\x7b\x5a\xa6\x10\xd0\x31\x61\xaf\xb6\x69\xfd\xec\x3d\x38\x4b\xc5\x0d\x5a\x91\x64\x79\x3d\x4b\xbd\x14\x66\x5e\x06\x5f\x1e\x0e\x9e\xe9\x1f\x2e\x8c\xe9\x4a\x7a\x83\x93\x2b\x35\xd0\x36\x41\xb6\x7d\x66\x80\x2a\x06\x55\xe3\x1a\xce\x66\xd5\xda\x01\x28\x81\xe5\xe4\xa8\x2c\x92\x59\x10\xc2\x23\x08\xfd\x92\x88\x7e\x3a\xbf\xe2\x2f\x93\x14\x22\xab\x38\xe8\xa3\xa3\x6f\x06\xba\x7f\x5a\x96\x3d\x23\x2f\x8e\x03\x6f\x02\x4f\x71\x71\x49\x26\xf5\xce\x4a\x0f\xb9\x37\xfa\x94\xcc\xbd\x11\x2c\x89\xe9\xed\x79\x59\x4c\xa9\x77\x5d\x12\xc7\xd9\x87\xb2\x38\x92\x69\x30\x4e\x3f\x2c\xd2\xb2\x88\x8e\x97\x42\x74\x5c\x76\x78\x06\x67\xfd\xa2\x88\xc8\x17\x9c\x4e\x01\x81\xad\x7e\xc4\x7f\xe3\xdf\x11\x98\xee\xc7\xc1\x21\xc1\x8d\xf7\xe1\x18\x99\x6f\x50\x16\x86\x2f\x17\x95\x8b\x8a\x99\x0a\x16\x27\xcf\xec\x8d\x2c\x27\x03\x0e\xd1\x17\x36\x36\x62\x82\x15\x64\xd0\x7f\xa4\xd9\x44\xe8\xf2\xed\x22\xbe\x7f\x76\x3c\xfc\xd8\x3d\xed\xbe\xab\x1d\x3c\xb3\x11\x78\xf5\x67\x12\xf8\xe1\xac\xef\x20\xed\xe3\x9f\x49\xda\x61\xff\xcc\x41\xda\xb0\x20\x69\x2e\x0c\xc7\xdf\xbf\xff\x70\x3a\x70\x20\xf9\x9f\x3f\x02\xc9\xa8\x2c\x93\xf9\x5b\x59\x36\x88\x83\xb2\x10\x85\xec\x1c\x42\x32\x27\x1f\xde\xb1\x24\x48\xae\x0e\xbe\xff\x70\xfa\xae\x7b\xe2\x20\xe7\xb0\x2c\x39\x4f\x87\xfa\x5d\x79\xde\x7e\x86\x71\x02\x8f\x9f\x8c\x82\x7f\x94\xa5\x20\x81\xe9\xe4\x04\x7e\x86\xb3\x6a\xb3\x76\xa0\x7f\x2a\xf3\xb4\x70\x21\xc2\xc5\x8a\x9f\x82\xf9\x7b\xb4\x47\x9b\x7a\xb1\x43\xbe\xcc\x6b\x7f\xf7\xbd\xa9\xa3\x05\x95\x3c\xa3\x86\xe9\xf8\x51\x12\x60\x4d\x61\x50\xf2\xa6\x4f\x17\x95\x37\x46\x36\x1b\xb1\x7f\xc4\x39\x77\xaa\x95\x37\x15\x82\xcf\x0c\xf0\x75\x79\x80\xaf\x9d\x00\x9f\x97\x07\xf8\xdc\x09\xb0\x59\x02\x20\x6a\x4d\x2b\x34\x26\xec\xef\x1a\x78\x09\x5a\x4d\x17\x8a\xd6\xd3\xa0\xc0\x69\xfc\x1c\x68\xda\x4f\x86\xa6\xed\x42\xb3\xf1\x64\x68\x36\x5c\x68\x36\x9f\x0c\xcd\xa6\x0b\xcd\xd6\x93\xa1\xd9\x72\xa1\xd9\x7e\x32\x34\xdb\x2e\x34\x3b\x4f\x86\x66\xc7\x85\x66\xf7\xc9\xd0\xec\xba\xd0\xec\x3d\x19\x9a\x3d\x17\x9a\xef\x4a\xa0\x89\x92\x14\xeb\x94\xef\x9c\x3a\x65\x65\x09\x88\x2b\x4e\x88\x60\x09\x88\xc0\x09\xf1\xb2\xb2\x04\xc8\xcb\x8a\x13\xe6\x41\x41\x90\x63\xb4\x0e\x07\xff\x84\x74\x94\xec\x10\xff\x98\x35\xd2\xbc\x3c\xca\x5d\xfb\x2f\xa5\x6b\xfc\xd6\x93\xd8\xea\x75\xc0\x93\x0d\xab\xdb\x3e\x72\xe9\x81\xad\x0c\x96\xb7\x8c\x75\x58\x46\xd1\x5d\x1a\x05\xc9\xbe\xf7\xe3\xdc\x0d\xbf\xf7\x48\xf8\x87\xd1\x6d\xe8\xc6\xd0\x7f\x24\x86\xa3\x28\xbe\xf5\x62\xdf\x8d\x44\xb5\x83\xcb\x22\xe9\x79\xa3\x4f\xf9\x58\x54\xe3\xbf\x2c\x96\xf7\xe4\x82\x19\xba\xb1\x1c\x3d\x12\xcb\xc7\x18\x8e\xa0\x1f\x84\x93\x7c\x54\xdf\x3f\x12\x15\x12\xe0\xee\x75\x12\xcd\x16\x69\x0e\xa6\xb7\x8f\xed\x54\x94\x04\xf8\x88\xd6\x89\xe5\xf8\x69\x64\xed\xdc\xbb\x76\xe3\xf9\xef\xa5\xf1\xc0\xd8\x43\x5b\xa0\xc3\x20\x99\xcf\xbc\x7b\x37\x96\x1f\x1e\x8b\x25\x5f\x00\x4e\x1e\xa9\xc1\x10\x86\x1c\x0d\xa6\xee\x13\x8b\xa3\x20\x2f\xc2\x16\x40\xa1\x9e\xa5\x94\x45\x51\x40\x0f\x9f\x2d\x8d\x82\xe4\x06\xcd\xd3\xc3\xe7\x85\xe1\x3f\x03\xc6\x77\xbf\x5e\x01\xfc\xd2\xef\x73\x3d\xbf\xbd\x4c\x88\xa4\xb0\xc9\x1d\xcd\x33\x13\x41\xbf\x3c\x4e\xf8\x0a\xb0\xf4\xff\x7d\x22\x9d\x9d\x3b\x5b\xff\x77\x79\x44\x53\x0f\x69\x9e\x62\x2a\xce\x5b\x1a\xcd\x5b\xa6\xdd\x4e\xe1\xcc\x4b\x83\xcf\x39\x88\xae\x97\x46\x14\xc3\x39\xf4\x52\xbe\x40\xf0\x50\x71\x37\x3e\xf5\x14\xad\x84\xec\xc3\xd0\x3f\xc4\xef\x35\x64\x2f\xda\xb9\x71\xf9\x4b\xe3\x9a\x05\x21\x2c\x3c\x56\x70\x69\x34\x3f\x95\x1b\xab\xf1\xf2\x42\xf1\x53\xb1\x35\x6f\xb2\x34\x86\xd4\xbb\xee\xcf\xa0\x97\x33\xfa\xd3\x47\x8c\x3e\x79\xc7\xde\x09\x7e\xf6\x08\x61\x2e\x84\xe0\xe6\x51\xb3\xbf\xa8\xdc\x86\x8f\x58\x82\xb2\xf7\x4c\xdc\x38\xe6\xe5\xd6\x08\x9e\x6a\x5d\x5b\x11\x70\x36\xf1\xca\xf3\x8a\x9c\x4f\x9c\x0f\x1b\x7b\xce\x40\x5e\x26\xd8\x8f\xe0\xd6\x6c\x5e\x39\x7e\x2f\x46\x66\x1d\xcc\xc9\x0e\x52\x5a\xd3\x48\x11\x71\xf6\x07\x15\xe3\x32\x26\x65\xa8\x2f\xb2\x94\xc5\x6e\x82\xcc\x92\x2b\x26\x1f\x77\x0f\x4b\x52\x1e\x3c\x4f\xb5\xed\x86\xbc\x28\x0d\x59\xca\x8e\xed\x04\x5e\x6c\x17\x9d\x37\x76\x75\xf0\xa8\x7d\xb6\xf0\xed\xe0\x99\x90\x25\x44\x28\x67\x22\x20\x14\x5d\x88\xbf\xaf\x10\x98\x2b\x88\xee\x26\xfa\x1f\x2b\x38\x70\x37\xa3\x77\x9f\xb8\x1d\x76\x88\xe4\x25\x39\x0d\xf9\xbd\x23\x6e\xda\xc6\x4d\xb3\xb2\xfc\xc6\xb8\xd9\x06\x6b\x96\xd7\xe0\xc3\x59\x1f\x37\xd8\xc4\x0d\xd0\x5f\x79\x18\xc8\x35\x05\x6e\xb4\x45\xb0\xd0\x92\x9c\x86\x87\xfd\x33\xdc\x68\x1b\x37\x42\x7f\xe5\x34\x20\xb7\x6f\xb8\xcd\x0e\x6e\x43\x0b\x70\x9e\x2d\xa1\x26\xce\x52\x27\xfe\xdd\x01\x5f\x1e\x6a\x35\x51\x02\x72\x72\xc4\x90\x4a\xd5\x61\x20\x64\xe3\xaa\x83\xa1\x7a\xcf\x93\xf9\x32\x05\x72\x92\x75\xe9\x6f\xd5\xef\x89\x41\x41\xf5\xd8\xef\x6a\x9d\x84\xd2\xad\xcb\x32\xd3\x3b\x19\xa7\x04\x47\x53\x3c\x15\xe4\xf4\x2e\x5e\xea\xa9\xfe\xbe\x08\x33\x2a\xe7\x8f\xe5\xfe\x56\x07\xa3\xa4\x0e\x46\xd3\x3a\x18\x11\x17\xac\xe8\x56\xa5\x68\x4e\x6d\x03\x39\x65\xa4\xe1\x19\x84\x64\x11\xc7\xd1\xc4\x4b\xe1\x70\x1a\x4c\x34\x0f\x40\x84\xd7\x90\xde\x5e\x6a\x03\x56\x71\x35\x93\xab\x9e\xad\x85\x1c\x31\xa5\xe4\x20\x38\x50\xbb\x80\x9f\xe2\x95\xcb\x74\x6f\x61\x1c\x0b\x82\xe8\xb8\x90\x6b\x2a\xb1\x11\x23\xe2\x04\x87\xf9\x89\xd6\xef\x7e\xe4\xc3\x2e\xcb\xea\xc2\xda\x18\x82\x01\x9b\x77\x87\xbb\xcd\x26\x78\xd5\x21\x10\x5e\xbc\x20\xff\xe2\xd4\x72\x87\xbd\xa3\x23\x93\xcf\xf9\x0c\x47\xa8\xba\x51\x91\xfb\x19\xa3\xd3\x7b\x90\xbc\xf7\xde\x57\x67\xd1\xad\xd5\xa1\x3d\x8f\xc9\xa3\xa9\x39\x2e\x67\x14\x85\x69\x10\x9a\x9e\xc7\xd7\x5d\xe1\x29\xc3\xaa\x55\xfc\xcb\x1a\x20\x8c\xa8\x81\x97\xa0\x79\xb7\x89\x7e\x59\x05\x88\x46\xf2\xa5\x4f\x0a\x9a\x77\xad\x66\x53\x7d\xa5\x97\x0e\xd2\xaa\xc0\x91\x22\xdc\x78\x30\x0d\x45\xdf\x3a\x14\x47\x47\x47\x7a\x3a\x4f\x73\x7f\x99\xfd\x23\x4c\x61\xeb\x93\x5e\xfa\xc4\xb6\x3f\xed\x3f\x9a\x82\x20\x34\x78\x79\xb9\xc2\xcf\x0c\x8e\x3d\xa3\xe9\x15\x4d\x2b\xa4\xeb\xac\xa7\x0c\xbc\xd4\xa1\x37\x3c\xdf\xc7\xf7\xd0\x4c\xc3\x3c\xf6\x81\x73\x60\x62\x23\x5d\x4e\xf3\xf8\x68\xb8\x05\x77\x31\xd2\x74\x69\xae\x72\x92\xaf\x0b\xf6\xe0\x3b\x47\x6c\x9e\xb9\xd7\x4c\x98\x46\xd6\x10\x5c\xce\x84\x4a\xb5\x62\xee\x74\x56\xa3\x96\x5b\xe3\x65\x6e\x8d\xd5\xdc\x1a\x6b\xb9\x35\x1a\x8e\x1a\xa0\x70\xaf\x65\x98\xae\xde\x8b\x3f\xea\x83\x56\xd9\xc3\x57\x06\xc5\x62\xfa\xc9\x89\xaf\x94\xa9\x72\x71\xbc\x18\x55\xad\x6f\x40\x95\x6b\x94\x8b\x51\x65\x79\xec\xf4\x51\x54\xb9\x24\xab\x18\x55\x1b\xdf\x80\x2a\x97\x34\x17\xa3\xea\x5b\x8c\x60\xde\x0c\xca\xa7\xea\xe9\x46\xd0\x1e\xd3\x0e\x9c\x96\x2c\xdd\x20\x3c\x2a\x9a\x99\x70\x63\x3d\x87\x1b\x4b\x4b\xcc\x23\x89\x97\xad\x90\xb5\xb5\x27\xe8\xea\xfb\x9c\xae\x16\x02\xf2\xe1\x29\x80\x84\xe5\x98\x9e\x39\xc1\xa9\xf9\xd8\x97\xc2\x1e\x2d\x8b\x7d\xe3\x29\xb0\x7f\xfd\x53\xb1\x3f\xfc\xa9\x9c\xff\xd7\xb2\xd8\x4d\x1b\x92\xd2\xd8\x77\x0a\x61\x97\xcc\x4e\xe1\xd8\x2b\x87\x82\x62\xbb\xee\x47\xd1\xbf\x5b\x9e\x7e\xf9\x70\xed\xcf\xef\xc2\xdf\x0b\x75\x61\x59\x12\xd4\x0d\xf9\x13\x10\xfc\xb6\x9c\xc4\xa6\xde\xf5\x19\xf1\xc6\xfe\x76\xbd\x2c\x44\x77\xa7\x1c\xdd\xb3\x68\x52\xad\x9c\xc1\x38\xf0\x66\x38\x45\x37\x88\xe1\xef\x0b\x98\xa4\xd0\x07\xc2\xf3\xb6\xe0\x13\x7e\x43\xb7\x61\x7b\x66\xd9\x02\xdc\xf4\x08\xaf\x9e\xab\x2f\x07\x48\x81\x77\x79\xed\x50\xbe\x29\xab\x5f\x2f\xc3\x6a\xbc\x4b\x09\xc2\x09\xc0\x49\x64\xd3\x88\x6e\xb7\x9f\x90\xc3\x4a\xd2\x88\x02\x50\xfe\x8a\x2c\xf6\xe1\xd8\x5b\xcc\xd2\x6f\xaf\x35\x38\x17\x20\x09\x30\xff\x31\xfc\x14\x46\xb7\x21\x18\x9c\xf5\xb3\x77\x17\xfe\x91\x34\x2a\x75\x30\x52\x43\xb3\x4b\xf4\xe9\x71\x07\x14\xd4\x72\xcc\x3b\xa0\x10\x42\x01\x68\x8b\x33\xe7\x11\x40\x02\x3a\xa6\x36\x17\xa3\xa9\x23\x51\x12\x45\x87\xaf\xbd\xd6\x73\x73\x5c\x61\x26\xab\x11\x05\xb6\xca\x45\xf3\x0c\x81\xfc\xa3\x24\xb5\x6f\x4a\x68\x44\x99\x41\x32\x18\x27\x2c\xfc\xc2\xb2\x49\xa8\x83\x91\x7a\x15\x69\x01\x36\xb1\xbd\xa1\xad\xb7\x29\x2b\xe6\x45\x65\xeb\xc3\x59\xdf\x29\x57\x68\xa0\x6d\x91\x7d\xe0\xeb\x57\xe0\xaa\xd2\x1b\x9c\xb8\x04\xa4\x00\x06\xfb\xbb\xff\xa0\xd4\xc2\xaf\xbe\xb8\x4c\x1c\x92\x70\x6e\x27\xfd\xfd\x74\x1e\xa2\xe6\x90\x55\xf9\xc8\x56\x01\x7c\xd1\xbc\xca\x9b\x18\x78\x1c\x9a\x6e\xfd\x66\x7a\x64\xdc\x58\xc7\xf0\xe8\xb8\xfa\x63\x7a\x76\x9a\x3d\xe5\x5c\xe4\xc4\x0c\x18\x8c\x9e\x20\x9d\x41\xfd\x4a\x86\x83\x2d\x76\x5a\xa0\xb4\x26\xd7\xb8\xe7\x08\xb4\x4a\x2f\xc6\x97\xa3\x82\x41\xee\xe1\x02\x28\x76\x42\x61\x7a\x5f\xfd\x31\xa0\x0c\xcf\xb2\x6b\x75\xb6\x9e\x0e\x5d\xab\x90\x68\x15\x91\xad\x56\x8e\x70\x91\x4a\x39\x9c\x22\x95\x8a\xf0\xa0\x95\xc3\x04\x52\xc9\xf0\xbe\xbc\x5e\x69\xa7\x48\xa5\xdd\x22\x95\xf6\x9e\x50\x0e\x72\x48\x2f\x03\x6b\x2b\x67\x90\x4b\xc1\xca\x91\x85\x52\xb0\x0a\xe8\xa3\xe2\x82\x5c\x48\x6a\x9a\x85\xc4\xa6\xe0\xac\x28\x34\x2d\x8a\xcd\x8b\x62\x13\xa3\xd8\xcc\x28\x36\x35\x8a\xcd\x8d\x62\x93\x23\x6f\x76\x80\x65\x73\x47\x02\xdb\x92\xac\x64\x12\xcb\x69\x63\x0e\x27\xb7\x37\x2c\x6b\x43\x2d\x65\x7a\x0a\xaf\xcf\xa8\xf6\x86\x3b\x33\xae\x08\x60\x34\x05\xaf\x3b\xa0\xd2\xac\xe0\x4b\xe5\x29\x78\xd5\x01\x95\xbd\x5c\x6b\x1b\xe4\xb1\x68\x99\x15\x59\x82\x40\x03\xd2\x46\x53\xd1\x8f\xa0\x59\x03\x6b\x60\x73\xf7\x31\x47\xfe\x3c\x81\x2c\xdb\x5a\x1c\x2c\xd3\xd9\xc7\x9b\x75\x45\x78\xe0\x4e\xb2\xeb\xee\xab\x2b\x99\xaf\x53\xaa\xf2\x88\x5a\xb5\xfb\x58\xd8\xf1\x3e\x72\x57\xca\x5c\xc9\xf2\xf6\xa5\xa6\xd8\x38\xf7\xc6\xd4\x10\x4b\xc7\xae\xce\x9f\xf2\xaa\x1c\x33\x54\x8d\xe6\x2b\xb9\x07\xeb\x9f\x1d\x17\xe3\x55\x01\x2e\x95\x60\x90\x91\x37\x0d\xc5\xef\xcc\x38\x3d\xf4\x62\xea\x28\xa9\x16\x33\xbf\x49\x07\xd7\x1f\xe1\xe6\x61\x3b\x78\xe9\x9f\x1d\x63\x4f\x8f\xdc\x53\x17\xd7\x6e\xbd\xac\xa2\x37\x72\xc4\x31\xd1\xcd\xac\x72\x34\x28\x3a\xa7\x0e\xfb\x67\xff\x07\x76\xe3\x38\x61\x67\x0a\xd8\x3b\x56\xee\x8a\xf8\x51\x8d\x02\x75\x6d\x3b\x72\xcd\xa7\xdc\xf4\x43\x8e\x74\x0b\xdc\x90\x17\xb5\x5b\x2b\xdf\xfd\x5e\x00\xda\x3c\xd5\xf7\xcf\xa2\x5a\xcf\x5f\xa8\x18\x77\x0a\x1c\xfb\x02\xd1\xd3\xde\x98\xe0\xd6\xde\x9b\x95\x22\xbd\x91\x7a\x55\x69\xae\xfc\x9e\xb3\x4c\x8a\x3f\x05\x5d\x19\x04\x8a\xe6\xa5\x29\xda\x6e\xad\xcc\xbf\x25\x49\x71\x69\x8a\x2a\x85\xeb\xa3\x9f\x55\xdd\x65\x16\x9f\xd6\x9f\x47\x73\xec\xae\x58\x12\x58\xe5\xe0\x69\xd0\xf7\xa2\x34\x8d\x6e\x96\xa2\x20\xfe\x96\xc3\x71\x53\x5e\x64\x6f\xbe\x0d\x3d\x85\x6e\x33\xc4\x1f\xf7\x12\x79\xd8\x3f\x03\x1f\x53\xb6\x40\xce\x6d\x0f\x37\x98\x7e\xa8\xd8\x3d\x79\x2f\xf3\xcf\xdc\xb4\x63\xf4\xd0\xaf\x5a\x57\xb2\x55\x50\xf9\x58\x01\xab\x60\x95\xa8\xb7\x55\x50\xf9\x2e\xc6\xcf\x08\xa7\x60\xd5\xbe\xfe\xe1\xa7\x8a\xf3\xae\xd0\x0a\x76\x8a\xfa\x97\x15\x51\x32\xc5\xa1\xfd\x25\x97\x84\x47\x0e\xcc\xea\x1f\x3c\x30\x85\xe7\x52\xfe\x1c\x22\xa6\x01\x9b\x47\x66\xbb\xe1\xd1\x34\x17\x3e\x00\x29\x7b\x98\x51\xdc\x5a\x05\xdf\xe2\x00\xc4\x74\xcc\x21\x6d\xb2\xcb\x1e\x91\x90\x5e\x90\xe3\x0e\xfc\xd6\xc4\x77\x15\xf1\xaf\xd5\x62\x77\x8d\x56\x7e\x96\xdf\x1d\x4b\x5d\x35\x52\x2b\x66\x48\x6f\xff\x69\xe4\x95\x42\x4b\xd9\xfc\x84\xc7\x05\xe5\x76\x7b\x45\x0f\x2d\x1e\x77\x34\x41\xe2\xbb\xfe\x0f\xec\xa4\x9e\x72\x5a\x1b\x98\xeb\x78\x84\x45\xc0\x4c\xda\xd0\x04\xda\x5a\x68\x19\x0b\xaf\x94\xa2\xcb\xb4\x18\x17\xb9\x23\xc5\xc0\x7e\x64\x8a\x4f\xc8\xa5\xa4\xed\xf6\x6c\xca\x92\xfc\x92\x8f\x83\x6f\xed\x05\x24\x72\x34\xb0\x09\x0b\x6f\x45\x7f\xcb\xc7\x43\xf5\x80\x94\x16\x4a\xd6\xa2\x6e\x05\x32\xcf\x8c\x03\x1b\x9a\x89\x09\x8d\x88\x41\x1a\x5a\x87\xf5\x61\x43\x20\x1d\xa5\x59\xb1\x3c\xfa\xd0\xb6\xd0\xc2\x69\xe5\xb5\xe0\x8c\x92\x43\xa2\x3a\x01\xe5\x14\xf1\x04\x32\xcb\x0f\xcf\x52\xbf\xf3\x28\x51\xf6\xd9\x9c\xf4\x9d\x92\x65\xce\xf8\xde\x6e\xfe\xc5\x32\xbe\x1f\x46\x37\xf4\x61\x23\x02\xec\x63\x14\xcd\xec\xd9\xdc\x59\x3a\xf7\x77\xdd\x5f\x86\xa7\x83\xa3\xd3\xc1\xd9\xdb\xe1\xd1\x69\xf7\xdd\x60\x78\xf6\xc3\xf1\x47\xd0\x01\x5b\xe4\xfb\xd1\x49\xf7\xfb\x33\x29\x98\x1a\x97\xb0\x71\xc0\x7f\x5c\x90\xff\xaf\xf4\x3e\x9c\x88\x01\xd0\xf8\xcf\x03\xbd\xda\x8f\xef\x0f\x07\xa7\x27\xc7\xef\x07\x42\xc4\x73\x56\x66\x68\xd0\x3b\x39\x7e\xff\x83\x10\xb6\x4c\xfe\x36\x54\x3c\x7e\xff\xd3\xe0\xf4\x8c\xc0\xdd\x25\x31\xc4\xb4\xc4\x5c\xf9\xf8\xec\xb8\x77\x42\xaa\xb7\xb6\x59\x7d\x5a\x88\xc3\x8e\x71\x55\x1c\x70\x4c\x7e\x63\xa1\xc6\x84\x37\xd7\x71\xf4\x09\x86\xbd\x68\xe6\x73\xd7\x20\x54\x7c\x0a\x43\x1f\xc6\xb9\x51\xc8\xac\x5a\xd5\x11\x78\x5c\x24\x98\x38\x86\xe3\x18\x26\xd3\xd3\xe8\x36\xf9\x7f\x16\x70\x01\x95\xdb\x39\xa9\xd2\x51\xec\xdd\xc0\xe4\xec\x53\x30\x9f\xe3\xe7\xdc\x9a\x96\x7a\xdd\x30\xb8\xc1\x1e\x8b\xb8\x81\xe6\xf8\x44\xd7\x81\xb9\x17\x6a\x12\x87\xea\xc2\x5b\x8b\x30\x36\x4c\xc5\xd5\x0a\x02\x54\x51\x5e\x30\x15\x79\xdb\x21\xf8\xd5\xd5\x5c\x62\xff\x68\x0a\x47\x9f\xd0\xef\x3d\x5c\xaa\x2a\x29\xa8\xbd\x0b\xa7\x3e\xe9\xfd\x4d\x7a\x43\x90\xb0\x91\x16\x14\xdc\xef\x68\xa4\x4e\x09\xb3\xd5\x35\x37\x4e\xeb\x00\x86\xbe\x2e\x0d\xea\x48\x13\x75\xfc\x05\xe0\x36\xfb\x20\x6b\xba\x8f\xfe\x27\xbd\x36\x25\x18\xf3\xc6\x21\x36\xbf\x12\x6f\x93\x86\xdb\x20\xf4\xa3\xdb\x06\xf5\x43\x96\x3f\x57\xa5\xa6\x27\x51\x34\x6f\x5c\x07\xa1\x4f\xae\x85\x34\xfe\x53\x6d\x6d\xe0\x90\x08\xc1\xba\x04\xe0\x47\x5b\x3f\x05\x73\x46\x98\x32\xea\xb7\x71\x90\xc2\xde\x62\x3c\x86\xb1\xf0\x7c\x35\xda\xb0\xd8\x67\xc5\xea\x2a\x78\xd5\xb1\xa8\x45\x99\x9f\x1c\xf1\x1f\xcf\x3c\xe0\x7c\x92\xbc\xe8\x94\xc7\xdc\x43\x42\x23\x17\xc1\xd0\x97\x3b\x6a\x91\x3e\xce\xd1\x4d\x95\x01\x18\xa8\xbe\x3d\x46\x42\xa9\x8d\x51\x1c\xdd\x26\x60\x4d\x0c\xa6\x73\xbe\x11\xc7\x40\x9b\x69\xba\x68\x5e\x35\x94\x1e\xa9\x88\x4d\x4d\xa4\x1e\x03\xe7\x2b\xfb\x16\x2e\x18\x5f\x24\x73\xf3\xef\x22\xa0\xb4\x82\x57\xa4\x57\xb6\xdd\x4a\x4e\x97\x03\x63\x97\x81\x71\x07\xe1\xa6\x06\xb1\xe9\xb5\xaa\x7a\x0a\xf3\x31\x30\xf0\x51\xa7\xc2\xb4\x59\x29\xbf\x8e\x15\x5a\x9f\x68\x5d\x51\xa5\x1e\x14\x54\x3a\x05\x54\x72\xf6\x9e\x9d\x3c\x59\x10\x8f\xd6\xe8\x98\xbd\x36\x4b\xfb\xba\x7e\x0e\xc1\x5f\xc6\x33\xaf\x5b\xc6\x87\xf2\x40\x96\xb8\xcf\xf2\x16\xa2\x05\x98\xf8\xca\x9d\x4e\x5f\x9f\x3c\xcb\xa6\x65\x0d\x30\x8d\x1c\x62\xc2\x6d\xe0\xa7\x53\xc3\x71\x68\x34\x53\x9e\x33\xbf\x27\x7b\xc6\xd8\xc0\x30\x33\xa3\xcc\x7a\x55\x0e\xd6\xf8\x5f\x18\xfa\xff\x0b\x82\x04\xa4\x51\x04\x66\x5e\x3c\x81\x0d\xf0\x2e\x4a\x52\x30\x0b\x3e\xc1\xd9\x3d\xf0\xc0\xb5\xe7\x83\xfe\xd9\xa9\x16\xb6\x51\x5a\x1b\xd1\x6c\x23\xf7\x68\x7d\x40\x92\x0e\xee\xcd\xcf\x8c\xc7\x38\x8f\xc7\x3d\x58\x55\x81\xdf\xfb\x41\x32\x3f\xd0\xea\xcf\x82\xd0\xb0\x76\xa1\xd2\x04\xed\x06\xab\x71\x74\x6b\x78\x24\xed\xce\x72\xdb\x6a\x38\x07\xbb\xc7\x26\xd4\x3d\x58\xd3\xbf\x5c\x7b\x09\x04\x6b\x46\x42\x6b\xe0\xc5\x8b\x3c\x89\x1a\xd1\xcc\x59\x5e\x0a\x4d\xb5\x0d\x47\x8f\x49\x14\xbf\x0d\x7c\x1f\x86\x26\x79\xbd\xd3\xd9\x70\x67\x13\x42\x60\x3f\xd5\x42\x60\xd6\x5a\xae\x86\x88\x81\x5e\x9a\xc6\x3a\x3e\x1f\x8e\xbb\x69\x1a\xeb\xfc\x66\x2f\xa0\x1d\xc5\xde\x84\x3e\x2e\xab\x3c\x8a\x76\xa8\xd4\x50\xdd\x54\xf0\x7a\xe2\x78\x05\x1c\x67\x8a\x26\xdb\xe4\xec\x21\x5c\xd3\x10\xdf\x4e\x83\x19\xd4\xc6\x12\x3f\xea\x18\xc3\xf0\xe2\xfe\x8a\xff\xee\x70\x66\xe3\x6f\x69\x1b\xa6\xae\x01\x92\xf4\x50\x24\xfb\x71\xb4\x13\x75\x0c\x2e\x37\x1c\xd2\x3b\x0c\xef\x46\x0c\x67\xd0\x4b\xa0\xb1\xed\x83\x7d\xad\xa6\xef\x85\x62\x9d\x64\x5d\x93\xf1\x70\x92\x4c\x45\x68\x96\x5d\x04\x57\xc6\xde\x11\x0e\x09\x95\x4c\xde\xf2\xa4\xd2\x90\x29\x41\x56\xb5\x6d\xa8\x8a\x6d\x70\x56\xd7\xb6\xc4\x96\xc9\xb5\x83\xb3\xfe\xe0\xb9\x6d\x75\x9d\xa0\xdd\x54\x67\x83\x1d\x1e\x6e\xf0\xbc\xd3\xc1\xd3\xc3\x06\x15\x55\xc4\xd3\x07\x55\x34\x4f\xa0\xbc\xa3\x57\x3e\x11\x72\x9d\x3e\xa4\x19\x21\x3d\xa3\xcf\x7f\x77\xdf\xff\x14\x7d\x79\xdf\x7e\x82\xaf\xce\x7d\xe9\x71\x7e\x99\x40\xc7\x5d\x94\x36\xb7\xed\xd1\x44\x66\x52\xa4\xf1\x79\x24\xdb\x71\x72\x5f\x85\xf4\x52\x23\xc1\xd5\x86\x79\xfe\x7a\x23\x7c\xd4\x54\x3e\x92\x8c\x51\x5a\x8e\xb6\x52\x22\xa5\x77\x66\x19\xb1\x02\x25\x44\x0b\xe4\xde\xbe\x3f\x8d\x88\xd9\x71\x3c\xf5\xe0\x71\x59\x44\xea\x67\x4d\x7b\x79\xd8\x8d\x5e\x78\x98\xdb\xf3\xfd\x6a\x85\x3e\xe5\xb4\xf6\x39\xf0\x61\x94\x77\x05\xed\x06\xc5\x26\xc4\x1a\xb1\x35\x5c\xc0\x1e\x75\x63\x87\xcf\xff\x26\x34\x5f\x1b\x78\x01\x9a\x77\xad\xf1\xd8\x4d\x38\x7e\xbf\x18\x35\x21\x8c\x7b\xfd\x1a\xec\xd5\x4a\xb4\x9c\x79\x93\x84\xe1\x7b\xfd\x1a\xb4\x72\x5c\xb9\xd1\x00\x91\x36\x2f\xc8\xb9\x67\xa3\xf7\xe1\xe4\xb0\xc8\xd4\xc0\xeb\x54\x76\xb8\x56\xd8\x07\xcd\x39\x2e\x77\x68\x60\xd6\xae\xa3\x99\x5f\xc4\xc5\x20\xdf\x53\x05\x77\x6f\x02\x5e\x81\xdd\xa2\xf4\x8d\x27\x60\xb5\x03\x72\xb8\x96\x8f\xdc\xfd\x55\xe7\x3a\x3f\xd9\x5e\x42\x2b\x19\x79\xb8\x40\xbb\x56\x64\x67\xe4\x31\xb2\x2c\xa5\xf8\x58\xfd\xa9\xa8\xbc\x9e\x05\xe1\xa7\xa7\xa6\x90\x9e\xe6\x17\xa1\x11\x4d\x99\x14\xde\xcc\x41\x07\x5c\x4f\x0a\xf8\x87\xa0\x79\x39\x2e\x50\x11\x4f\x60\x04\xb8\xc0\xe2\x30\x06\x55\xde\x81\x16\xda\x4e\x81\xff\x5f\x48\x2c\xbf\x03\x79\x2a\x59\x98\xe2\x0d\xdf\x9f\x28\x0c\xf8\x42\x61\x42\x3c\x40\xb6\x76\x8a\xb2\x1f\xcb\x44\x6b\xeb\x09\xb5\x15\x21\x60\xbb\xc4\xf8\x17\xca\x5e\xf7\xd8\xe1\xbf\x46\x52\x59\x90\x2e\xe7\x78\xaf\xd0\xb9\x3f\x59\x1b\x45\xb3\x28\x5e\x5b\x01\xab\xe0\x7a\xf2\xf8\x71\x7f\x62\xfa\x32\xe2\xc6\xcb\x13\x57\xd4\xfb\xc6\xbc\xcd\xca\xb6\x8c\x2e\xaf\xa4\xcc\xbc\x5c\xed\x80\x95\x57\xc8\x58\x03\xb8\x47\x9d\x4b\xda\x95\xdb\xc0\x87\x6b\xa3\xa9\x17\x5f\xae\xbc\x5e\xc1\x31\x5f\x60\x15\xac\xbc\x5a\x47\x55\x5f\xaf\x14\xd9\xf4\x09\x41\x5d\x4a\xb8\xd8\x6b\xd0\xde\xda\x5a\x9e\x34\x92\x34\xe5\x09\x88\xb3\x9c\x8a\x97\xc8\xa0\xf9\x22\xc7\xa5\x53\xea\x4c\xe5\x85\x77\x33\x3f\xc8\x31\xe6\x0b\x25\x9f\x79\x55\x0e\xed\x2c\x7d\x12\xac\x79\x29\x6f\x14\xac\x93\xc7\x62\x2d\xe4\xeb\x49\xbd\xad\x5e\x69\x69\xf8\x0b\x52\x19\x5e\x27\xb9\x63\x52\x20\x78\xb1\x24\x5e\x97\xf7\x5d\x3e\xc6\x52\x91\x6e\x7a\x09\x3d\x9f\xd4\x73\x65\xeb\x29\x8e\xcb\xee\xea\x9f\x62\x33\xa8\x53\x91\x8f\xb7\xd0\x2e\x7d\xf9\x9d\x79\xde\x6e\x5c\xe7\xf1\xe3\x76\xdd\x05\x0e\x74\x64\x94\x8e\xf3\x52\x11\xb1\x4a\x95\xd1\x6b\xc1\x7e\xf3\x63\xb9\xf5\x11\x31\x14\xbb\xf5\x51\x6f\xe8\x32\x90\x37\x41\x8a\x76\xed\xf8\xae\xac\x52\x07\x5f\x00\x45\xb2\x6f\x41\x5e\xcf\xf3\x51\xa0\x57\x72\xd6\x8b\x39\x8a\xeb\x0c\xce\xe0\x88\xe6\xa9\xcf\xbb\xa0\x33\x9f\x92\x27\x0c\x02\xef\x70\xde\x61\x79\x3e\x00\xc7\x7d\x9a\x03\xdd\x45\xf3\xca\x3a\xb0\xcf\xc9\xfd\xe1\xd7\xaf\xe0\xb9\xe1\x3a\xd6\x7e\xf3\x8f\x43\xf1\x68\xa6\xb0\x33\x04\xe2\x14\xdf\x45\x61\x68\x17\xad\x2b\xcb\x4d\xcf\x81\xb1\xfd\x20\xf4\x49\x6b\x18\xfa\x65\xdb\xf6\x91\xb0\xf9\x02\x05\xef\xbc\x74\xda\xb8\xf1\xee\xaa\x2a\x75\x75\xd0\xac\xb9\x60\x70\x2a\x08\x84\x20\xac\xca\xf4\x69\x21\x01\xec\x06\x4f\x71\x7e\xb1\x50\x66\xb9\xa1\xfd\xfa\xd5\x4c\xc6\x2b\xd0\x2c\x37\x18\x8f\xbb\x35\xe2\x0e\x1a\x7d\xec\x8a\xa4\x8f\x6c\xa7\x63\x63\xf9\x1b\x3a\xe8\xcd\x2b\xb0\xaf\xfa\x7c\x20\x35\x20\x01\x54\x87\x4b\x03\x4b\xbb\xff\x06\xcb\x02\x06\xe9\xbc\xed\x75\xaa\x55\xd2\x92\x74\x9e\xcf\x67\xaa\x43\x2d\xc3\x54\xe7\x5c\xa8\x53\xe2\x6b\x0a\x97\x6e\x02\xdf\x9f\xc1\xd3\xe8\x36\xe9\x47\x0b\x72\x71\x66\xea\xc0\x9a\xad\xcb\xd2\x95\xef\x53\x93\x0f\x56\x41\xab\x0e\x9a\x9a\xa8\x22\xa6\xd5\x55\xd2\x6b\xc5\x04\xf7\xb9\x65\x8c\x4c\x17\xd2\x84\x65\xd8\x17\x54\x9d\xdc\x8f\x1d\xe9\xa7\x64\x17\x9b\xd0\xcd\x3a\xa7\x58\x77\x18\x2b\xa6\x91\x0b\xac\xa6\x0e\x27\x10\x33\xb5\xd2\x92\x13\x23\x42\x47\xd1\xec\x8c\x2c\x3d\xa3\x68\x36\x08\xfd\x3a\xc0\x0b\xe9\x42\x5e\x92\xd1\x20\xb2\x72\xc2\x70\x7c\xa5\x8b\x9f\x38\xe2\xc5\xa0\x75\xa0\x68\x0e\xc8\xb1\x2a\x0a\x83\x31\xaf\xe2\x07\x9f\xc5\x33\x15\xb6\xce\x27\xe9\xfd\x0c\x36\xa6\x30\x98\x4c\x51\x6b\x8e\xe3\xa5\x6e\x7e\x78\xf1\x3b\xe8\x25\x8b\x98\x57\x5f\x05\x2b\xf3\xbb\x15\x1b\xcc\x14\x7b\xe2\xc5\xd1\xed\x13\xc0\x9a\xc1\x31\xa2\x8e\xb1\xd0\x0d\x91\x6c\x95\xdd\x00\x6d\x6e\x28\x1a\x98\x97\xa0\x4a\x86\x0b\xac\x71\xf4\x35\x0d\x38\xf5\x1f\xa7\x38\x4c\xae\xe5\x4c\x72\x54\xe7\x72\xc1\xfd\x37\xab\xc2\x25\x47\xf3\x53\x55\x7c\x7f\xc5\x45\x03\x9f\x34\xd2\x7e\x44\xb7\x21\x8c\xd9\x5a\x71\xf0\x2c\x93\x12\x87\x80\x88\x9e\xa8\x70\x26\x59\xd2\x95\x29\x9c\xcd\x22\x70\x1b\xc5\x33\x9f\x5a\xca\x62\xc2\x52\x3e\x79\x20\x7b\xf5\x02\x7b\xfa\x20\x0d\x02\x67\x8d\x68\x3c\x4e\x60\xfa\x33\xbe\x63\xe7\x1f\xa7\xd2\xc7\xb7\x58\x06\x38\x6a\x32\x44\xe3\x28\x4c\x7f\x66\x72\x59\xc1\x77\x01\x02\xf0\xb6\x0b\x78\xdb\x06\x3c\x5b\xb7\x05\x23\x8c\x53\x4d\x87\xea\xb6\x85\xf5\xe5\x6d\x1b\x2d\xec\x53\xf2\xc7\xb4\x7d\xf0\xec\xc1\xe2\xf8\xcf\x95\x82\xc5\xf5\xbf\xf5\x94\xae\xff\xa8\x7f\xc3\x21\xbc\x4b\x61\xe8\x27\xa0\x43\x2c\xd6\xcc\x47\x95\x7d\xa9\x61\x37\x74\xdd\x0d\x16\x4b\x01\xae\x72\x96\x7a\x69\x80\x73\x6a\xd2\x68\x02\x1c\x7d\x43\xb5\xda\x87\x31\xf8\xfa\x95\x4b\x77\xf5\x0b\x18\x0e\xb1\xc6\x1b\x0e\xf7\xc1\xc5\x15\x78\x00\x41\x98\xa4\x5e\x38\x82\xd1\x18\x74\xe3\xd8\xbb\xc7\xc7\xd5\xd9\x43\x53\x75\x70\x8d\x34\x96\xdf\xe0\xed\x40\x07\x5c\x1f\x80\x87\x9a\x08\x57\x6f\xc0\xbd\x33\xe6\x20\x08\x51\x11\x3e\x70\x6c\x4c\xbd\xe4\xc3\x6d\xc8\x03\x1d\xe6\xb5\x1a\xf0\x2f\xe6\x57\x08\xe6\xc5\xfc\xea\x40\x99\x6a\x1a\xd8\x4c\x07\x88\x3d\x27\x5f\x0f\x74\x6a\x86\x43\xc4\x2e\xc2\xd0\x51\x14\x26\x69\xbc\x18\xa5\x11\xde\x5d\x8b\x6a\xd7\xcf\x16\x01\x44\x08\x77\x3c\x07\x6f\x18\x47\xc9\x04\xab\x5e\xd7\xc0\x3e\xa8\x0e\x87\x72\xfd\xec\xaf\x3a\xf6\x1a\x47\x58\xb3\xc5\xe6\xa1\x86\x2c\xbb\x27\x88\xf3\x78\x17\x2d\xf0\x2b\x60\xa6\xb0\x8e\x3d\x5a\xa7\x87\xac\x58\xf2\x56\x99\xa1\xd6\x2e\xad\x35\xf8\x8c\x76\xaf\x37\x41\x9a\xc2\xd8\x1a\x29\xd2\xa2\x95\xf9\x72\xf8\x2e\xf2\xa1\x3d\xb0\xa4\xdd\x66\xe1\x28\xa7\xdd\xef\x87\x67\xfd\xd3\x0f\x27\x27\xc3\x77\xdd\x5f\x86\xe7\x6f\x4f\x07\x67\x6f\x3f\x9c\x1c\x82\x0e\xd8\x6a\x9a\xeb\x9c\x7d\x1c\x0c\x0e\xe9\xa1\xbb\xfa\xfd\xf8\xfd\xf9\xe0\xf4\xa7\xee\x89\xd0\xbc\x7f\x32\xe8\x9e\x0e\xdf\x7d\xf8\xf1\x6c\x30\x3c\xfc\xf0\xf3\xfb\xe1\xf9\xf1\xbb\x01\xe8\x80\xcd\xa6\xa9\xc2\xf1\xd9\x79\xf7\x7d\x1f\x7d\x6f\xd1\xcf\x3f\x7f\x38\x3d\x1c\x9e\x0d\x3e\x76\x4f\xbb\xe7\x1f\x4e\xcf\x90\x52\x02\xd5\xda\xc5\xd5\x97\x87\xcb\xca\x4a\x85\xd4\x39\x39\x7e\x3f\x18\x1e\x76\xcf\xbb\x38\x2b\xed\xf0\xf8\xfd\xe1\xe0\x17\xf2\xf6\x87\xfc\xf5\xe7\xe3\xc3\xf3\xb7\xfc\x73\x9b\x7c\x7e\xff\xe1\xfd\xb0\x77\x3a\xe8\xfe\x70\xfc\xfe\xfb\xe1\xd9\xc7\x6e\x7f\x80\xa1\x80\x0e\x38\x4b\xe3\x20\x9c\x34\xc6\x71\x74\xd3\xa7\x87\xae\xd5\xd6\x76\x93\xf2\xae\x7b\x72\x32\x34\xb4\x3d\x1d\x7c\x8f\xa1\x23\xe1\x3a\x85\x93\xc1\xdd\xbc\x6a\xc1\x50\x07\x95\x49\xc5\x34\x70\x52\x24\x8f\xf4\x85\xcd\x2a\xa9\xf0\x42\xfe\x2b\xe7\x71\x44\x67\x53\xc4\x6c\x21\x38\x08\xff\x59\xa0\x99\x12\x27\x44\x43\x84\x1e\x6a\x32\xf1\x58\x37\xca\x25\xe2\xab\x80\xd9\x17\x2f\xf4\x26\x6a\x64\xce\x30\x59\xcc\xb3\x54\x4e\x5c\xe1\x56\xd5\x56\x75\x40\x6b\x12\xb2\x39\x00\xb5\x5e\x16\xd0\x53\x07\xc3\x6b\x1c\x7d\x50\x07\x43\xf1\x8c\xa5\x0e\x86\x82\x5d\xa2\x7a\x15\x0f\xf1\x02\xd0\xa1\xd8\x1a\x23\x6f\x36\x23\x01\x00\xa8\x97\xe8\x97\x4c\xc3\x0d\x8b\x84\x09\xd1\x4a\x84\x12\x54\x85\xfc\xa6\x55\x10\x29\x44\xd5\xc4\xbf\xb5\xca\x02\xfd\xa8\xae\xf0\xa7\x56\x35\x08\x83\xf4\x24\x48\x52\x18\xc2\x38\x11\xb7\xb7\xe4\x3b\x0c\xbd\xeb\x19\xd4\xcb\x87\x37\x48\xd1\x50\x71\x57\xb5\x4f\x43\x2e\xa8\x9a\x1e\xe9\xa2\x60\x66\x5e\x92\x62\x9d\x79\x18\xdd\x86\xe7\x01\x76\x17\x6f\x6a\xb5\xbc\x51\x1a\x7c\x86\xaa\x08\x49\x7f\x6b\xd1\xba\x74\x75\x1a\x66\x63\xf2\xa0\x08\x34\x11\x08\x71\x6f\x21\x31\xc3\x19\xd7\xc2\xc4\x40\x1e\x71\x71\x2c\xcf\xe3\xe0\x86\xc1\x92\x40\x79\x37\x74\x13\x22\x91\xd8\x18\x46\x21\x6a\xc2\x3e\xf3\x55\x36\x83\x7b\x83\xf8\xf4\x2e\xfa\x0c\x8d\x60\xe1\x67\x68\x86\xfa\x8e\x35\xa3\x55\x6c\x90\xd1\x08\x2c\x01\x19\xbf\x31\xef\x86\xfc\xe3\x7c\x09\xb8\x3f\xce\x55\xa8\x0f\xaa\x46\xd2\x06\xd0\x0f\x12\x24\xae\xee\xa0\xd4\xd1\x0c\x7a\x31\x07\x52\xd5\xa2\x62\xc9\xf0\x21\x6b\xb6\x5a\x49\xe3\xe0\x86\x27\xb6\xd0\xc7\x55\x6b\x2b\xce\x4a\x6a\xf4\xe2\x75\x9c\x35\xa8\x56\x30\x43\xfc\xe8\x36\xe4\x60\x35\xe6\xd7\x8a\x76\x97\x4c\xce\x9c\x10\x5c\xd6\x9d\xf0\x91\xbd\xf1\x7c\xff\x1b\x76\x25\x81\x69\x8f\xa9\xc0\xac\x37\x84\x46\x5b\x9f\x90\x59\xa7\x28\x4b\xc7\x00\x53\x1a\xcc\x36\x9e\x9d\xb2\x3a\x58\x99\x7a\x09\xff\x8e\x0c\x3f\x8e\x6d\x02\xd3\x7d\x0b\xef\x81\x78\x40\xc8\x37\xbe\x58\x69\x92\x18\x6f\x0e\xf1\x4c\x0f\x0f\xa2\xc7\x42\xce\x66\x03\x35\x9a\x27\xff\x64\x5a\xd0\x8a\x86\xc4\x36\x0f\x86\x83\xd3\xec\x98\x12\x6d\xca\xe8\xa1\xd3\xd7\xaf\xd9\x91\x35\x2b\x16\x9d\xaf\x1f\xea\xd9\x06\x20\x5c\xdc\xc0\x18\x09\x29\x31\x93\xb3\x2f\xa3\x28\x1c\x07\x93\x85\xf0\x8d\x0c\x52\x6d\xe9\x51\xe2\x07\x4d\xe7\xf0\x2e\xfd\x37\x19\x26\xf5\x9e\x4c\x8f\x93\x48\xe8\x91\xe3\x80\x9d\x1a\xf3\xa1\xe9\xf0\xa1\x11\xcf\x0b\xf5\x4b\x30\x1c\x14\x03\x93\xc5\x2c\x35\x64\x0e\x26\x1f\xa4\xcc\x02\xb1\x17\x26\x33\x8f\x45\x6e\x9e\x04\x21\x3c\x8f\x88\xc1\x5c\x95\x14\xce\x04\xa6\x55\x46\x4c\xad\x4e\x86\x9f\xcb\x53\x5d\x21\x5c\x0d\x9f\x94\xc2\x06\x78\x97\x56\x69\xb4\x9f\x70\xeb\xd1\x72\xc6\x11\x5c\x73\x1a\xf9\x20\x09\xd4\x05\x86\x5b\x43\x16\xf2\x83\x84\x28\x3b\xaf\x72\xf4\x39\x43\x41\xfa\x68\x79\xff\x37\xab\xd6\x08\x92\x9f\x63\x7c\xa4\x6a\xbb\x63\x25\x4c\xbf\xa0\xbc\xa7\x81\x9c\x6b\xc8\x34\x5f\xed\x70\xe2\x1e\xe9\xa0\x21\x0e\x2c\x03\x69\x20\xdd\x16\x1e\xc8\xba\x65\x50\x04\xcb\x8d\x05\x6d\xfb\x0d\x06\x84\x1d\x59\xcb\x37\x7a\x62\x27\xfe\x0d\xc7\x06\xfb\x24\x47\xf1\x8d\x97\xa6\xd0\x3f\x65\xb3\x9b\x02\xbe\xf1\xe6\xc2\x06\x0b\x61\x70\xa8\x20\xf4\xb9\x11\xc3\xf9\xcc\x1b\xc1\xaa\x6b\xeb\x5b\xc7\xce\x23\x8a\xbe\xaa\x35\x7e\x8b\x82\xb0\x4a\x4f\x3c\x1a\x41\xf2\xee\xec\x67\x1c\x61\x9d\x80\x37\xa0\x72\x19\x5f\x86\x15\xb0\x0f\x2a\x97\x9a\xff\x21\x5b\xa7\xe4\x3e\x3c\xed\x22\xe3\x30\x47\x64\x13\x22\xc7\xc2\x22\x7a\x3f\xcf\xac\x24\xd6\xe0\x3b\xd5\x42\x4a\xb4\x9a\x2c\x32\xb6\xb0\xed\xe4\x9a\x0e\x12\xe9\x33\x3a\x29\x82\x9b\xd3\x60\x32\x4d\x0d\x17\x77\xca\xcd\x48\x76\xbd\x29\xdd\x8c\x08\xb7\x9e\xcd\x03\xe5\x72\x9c\x5d\x5f\x4a\x0d\xf8\x9d\x26\x5e\x7e\x94\xbb\x14\x44\x15\x27\x56\x5c\xf1\x78\xfc\x6a\xd7\xff\x6d\x91\xa4\xf4\x7e\x4d\x58\xe6\xfa\xd1\xcc\x51\x9b\x2f\x89\x04\xbb\x70\xf2\x68\x88\x49\xc3\x62\xee\x88\x16\x27\x91\x64\x38\xdf\x0d\x8d\x22\x93\xe5\x55\xe8\x04\x76\x4d\xf2\xe2\x0b\xd3\xe1\xd4\x95\x6e\x0c\x28\x75\x85\xa3\x2a\xb2\x86\x6b\x77\xda\xda\xe0\xbc\xee\x80\xc0\xa6\xaf\x8c\xfc\x33\xbd\x89\x6a\xf6\x84\xa4\x03\x57\x18\x03\xe1\x79\x3e\x7c\x5b\xb8\x32\x36\x9e\xf8\xc0\x99\x86\xf3\xeb\x57\x69\xac\x24\xd9\xe3\x92\x6d\x0c\xfc\x45\x1f\x7e\x9e\x06\x29\x4c\xe6\xde\x08\x1e\x87\x3e\xbc\xa3\xa3\x49\xcf\xfb\x12\xe8\xc5\xa3\x69\x75\xfd\x32\x59\xfd\x6e\xbd\xa6\x8f\x94\x11\xc2\x73\x6b\x84\x8d\xdc\x17\xee\x21\x21\x14\xd7\x8d\x44\xe5\xba\x72\x89\x80\x5f\x75\xcc\x43\xbc\x94\x51\xa9\x65\x28\x13\x99\xb3\xb8\x4e\xc8\x02\x6b\xc4\x57\x17\xbb\x5b\x58\x73\x99\x02\xfa\x83\xe4\x3d\xbc\xe5\x6d\x8a\x9d\xbb\xfc\x81\x09\x54\xa4\x85\x40\x39\xb9\xc8\x34\xb7\x94\xde\x45\x56\x90\xd9\x5a\x78\x12\x84\x0b\x9c\xae\xd1\xde\x65\xd6\x6d\x69\x73\xc3\xcc\x20\xa9\x50\x17\x57\xe9\xb3\x23\xd6\x98\x9c\xf3\x61\xa7\xb1\x10\xde\xf2\x56\x6c\x53\x2f\x81\xc9\xc9\x3a\x50\x60\xad\x32\x0d\xb9\x35\x99\x4e\x91\x4c\x12\xba\xbb\x1b\xf5\x66\xcb\xd9\xcb\x51\x3f\x37\xe7\xd6\x4d\xf5\x80\x73\x1e\x60\xa0\x4f\xdd\xd9\xac\x90\xb1\x10\xd0\x13\x85\xee\x6c\xd6\xc5\x67\x9b\xda\xc3\x9e\x4b\x9a\x02\xe4\x10\xd1\x7c\xde\x28\x4d\xa4\x10\x42\x3f\xc9\x72\x1c\x89\xc4\x29\x07\x91\x92\xf4\x8a\xcd\x8c\xb3\x4a\x21\xb9\x94\x6c\x4c\x20\x39\x0b\x26\x66\x4c\x3f\x8a\x62\x3f\x31\x9e\x18\x4a\x3d\x19\xb1\x7a\xb8\x2d\xda\x4d\x90\x96\xa4\x76\xdd\x70\x96\xc5\xca\x84\x73\x71\x8b\xfb\x8f\xc1\xfd\x4c\xdb\xe6\x11\xfc\x17\xcd\x2b\x71\xd9\xa3\x85\x2d\x73\x21\xb2\x11\xdc\xfe\x7a\x54\xb1\x90\x16\x85\x47\x9f\x31\x10\x1f\xd4\xd1\x77\x48\x6f\xa8\x0f\x4b\x0e\x17\xc9\xe5\xbd\xce\xc5\x53\x38\xf3\x90\x80\x9e\x47\xcc\x73\xc1\xca\xd6\x9a\x74\x0c\x44\x62\xbc\x48\xef\xde\x32\xbf\x02\x93\x3b\xdf\x4b\x7d\x34\xa8\x97\x8a\x2c\x7a\x94\xc2\xd7\x1d\x92\x24\x8a\xfe\xf9\xaa\xa3\x60\x31\xbb\x00\x8a\x97\x0a\x0f\x46\xb0\x39\x60\x68\xb5\x35\x15\x9d\x09\x6c\xc6\x4b\xb6\xe8\x73\x0f\x4b\xf2\xa9\x0e\xd6\xac\x37\xb0\xb5\xba\xfd\x76\x56\x90\x3a\x8a\x63\xbd\x63\xaf\xad\x49\x13\xeb\xeb\x3a\x21\xcc\xbb\x4e\x68\x49\xad\x06\x56\x49\x59\x1c\x2d\x42\x9f\xd5\x7b\x09\xaa\xe6\x4b\xe0\x35\xd0\xaa\x95\xd1\x49\x7c\xd7\xe3\x96\x43\x6c\x71\xa2\xc2\xc6\xf5\x22\x4d\xa3\x10\x1b\x57\x25\x7c\x3a\x49\xdb\x79\x8c\xff\x3d\x24\x91\x0f\xfa\x46\xcc\x8f\xbd\x89\x32\x37\xb4\x4c\x7b\x09\x9d\x48\xfd\x59\x30\xfa\x84\x3d\xb4\xd8\x65\x84\x81\xd8\x64\x1a\x8c\xd3\x1f\xe0\xbd\xd9\xca\x88\xc2\x33\xf4\x1d\x43\xd2\x80\x38\xb3\x69\x65\xc9\x62\x46\x9c\x0c\xbc\x25\x30\x9a\x9b\x1c\x5b\x10\x4e\x66\xd0\x8c\x0e\x98\x93\xb4\x58\x11\x19\x63\x9f\x18\xa2\xc3\x68\x71\xfd\x54\x88\x36\x5c\x88\xce\xe3\x60\x5e\x0c\x91\xea\x85\xe8\xf9\x7e\x89\x0d\xb7\xa0\xd7\x0b\x48\xb5\x11\xf6\xd2\x77\x86\xd2\x55\x8b\xe4\x4e\x66\xbb\x78\xb9\x89\x3e\x43\xf9\xe2\x45\xbc\x1a\x74\xdf\xe5\x14\x42\xb0\x98\xcb\xe0\xb3\x5b\x3c\xc7\x94\x3a\x0e\x53\x18\x7f\xf6\x66\xe7\xc1\x0d\xbe\xa0\x49\x60\xca\x8a\x9c\xa6\x73\x06\x01\x5b\xcf\x75\xa3\x77\x49\xf1\xc1\xb1\x1d\xb6\xe4\x99\x9d\x76\x26\xd9\x2f\xf3\x9e\x6e\x20\xec\x38\x0a\x8d\x05\x3e\x81\xe2\xdc\x76\x8e\x4c\x89\x11\xcc\x4c\xee\x42\xaa\x3e\x53\x76\xf9\xba\x5e\x34\x3a\x13\xc9\x38\x37\xab\x52\xa5\xe6\x40\xb8\x7b\x31\x99\x8e\x16\x6d\x5b\xac\x1b\x99\x16\x75\xf7\xc3\xde\x87\x13\x9a\xd9\x5e\x5f\x5d\xec\x7b\x00\xe5\x5e\x6e\x79\xef\x07\x3b\x59\xe5\x58\xf6\x64\xc3\x64\xbe\x78\xa2\x47\x6a\xda\x75\x80\x1d\xe5\x45\xeb\xaa\x76\xe1\xf8\xdc\xbc\x7a\xaa\x33\x36\x27\x12\x35\xa3\xfc\x12\x3b\x61\x69\x05\x2d\xb1\xcd\x29\x39\x7a\xa4\x9d\x79\xa4\x8a\x48\xd6\xcf\x1f\x4e\x0f\x0f\x0c\x6d\x09\x4b\x7e\x8e\x62\xbf\x9b\x32\x24\x4b\x4d\x35\x61\x79\xff\xeb\x72\x01\x09\x8f\x9d\x0b\x27\x41\x08\x39\x17\xe4\x7b\xac\xc2\x8c\xd0\x4d\xce\x02\xdc\x20\x31\x8e\xd4\x6f\xaa\x8a\xb3\x21\x7b\x29\xac\xd6\x6a\x68\x16\xa1\xe2\xaa\xca\x07\xa1\x05\x8b\x19\xd3\x7d\xb0\x5e\x5b\xbc\x37\xa9\x8b\x5b\x63\xe8\x07\xc4\x1f\xf9\x28\x8e\x6e\x4e\x58\xf3\x8f\x34\xd9\x3b\xa3\xf5\xb5\xd1\xc5\xd3\x3c\x06\xa2\x3d\x68\xde\xab\xd9\xfd\xc5\x84\x3e\xa9\x0a\x70\xa6\xd2\x06\x3a\xe0\x82\x6e\x13\xbc\x09\xfc\xa5\x0e\xb2\x3f\x7e\xd5\xf2\x99\x66\x44\x29\xf9\xeb\x5d\xe3\xe8\x64\x4d\xfe\x90\xf2\xab\x78\xbe\x65\xe4\x7b\x35\x4b\x97\x2e\x9a\x57\x60\x4d\xe8\xc7\x2f\xb5\x3a\xc8\x6d\xd3\x92\xdb\xfc\x2a\x5e\xc0\x53\xcb\x2c\x16\xae\xdc\x8a\xef\xf2\x90\xed\x93\xdf\x4b\xb4\x47\x0b\xa2\x45\x72\x66\x5a\xcb\x0d\xeb\xc7\x1b\x60\xd6\xf9\x03\x7c\xaf\x5b\xb7\x36\xbc\x68\x5d\xe9\x5e\x0f\x4f\x63\x4c\x64\x2b\xa3\x51\x7f\x74\x4c\x1a\x44\x95\x7d\xeb\xea\x4a\x48\xe7\x79\x8d\x6d\x0b\x61\xd1\x55\x8b\xb0\x49\xcf\x57\x52\x28\x61\xa7\x1b\xa2\xe1\xd8\x2c\x7f\x77\xa6\x6c\x06\x8b\x31\x10\x2d\x44\x66\xe5\x41\xa8\x3a\x8f\xe8\x62\x64\x23\xd8\x11\xae\x66\x38\x13\x90\x45\x41\x3b\x51\x73\xc8\x83\x06\xec\xb5\x6e\x60\x94\x66\xaa\x33\x0b\xb7\x03\xb7\x21\x28\xb6\xb0\x88\x3c\xe4\x9b\x81\x8a\xa0\x5e\x8b\xe9\xdc\x1d\x77\xa8\xc5\x0c\x3e\x02\xdc\x62\xee\x11\x82\x2d\xc6\x1e\x79\xf6\xca\x8b\x2f\xda\x65\x0d\x3c\x02\x36\xcf\xbc\x63\xb8\x9e\x1b\x15\x99\x10\x73\x83\x7e\x4c\x75\x98\x4f\x9d\x6b\x2c\x8a\x80\x69\xe5\x80\xd1\x95\x84\xed\xc8\x03\x94\x31\x56\x32\x31\xb3\xee\xa8\xed\x32\x99\x17\xc3\x8f\xab\x1e\x06\xc9\xdc\xd2\xbe\x4e\xb6\x49\x86\x1b\xda\xe2\xf3\xcf\x35\xfe\xc8\x46\xb0\xcc\x40\xed\x46\x00\x1f\xdb\xeb\xc9\xa4\xe3\xe8\x36\xb9\x7a\x42\x5d\x8b\x48\xd2\x43\x94\x31\x72\x27\x9a\x47\x5f\xc9\x70\x67\xec\x22\xbb\xe0\x3c\x17\x97\x02\xf8\x46\x51\xf8\x19\xc6\xe9\x4f\x2c\xf6\x38\x9a\x9d\x47\xfd\xa9\x17\x7b\xa3\x14\xc6\xec\xce\x5e\x75\x10\x26\xce\x5e\xba\x89\xcf\x14\x0e\x6b\xc7\x6f\x6a\xec\xbe\x20\xbc\x0a\xf6\x79\xc8\x73\x05\xc9\xd0\x6b\x0e\x21\x4b\x6f\x3b\x39\xc1\xaa\x17\x85\xe3\x9e\x9e\xb7\x29\x73\x53\x44\x56\x4b\x89\x9d\x66\x16\xba\x3d\xf7\x4c\x9b\x1e\x3d\x71\x7a\x41\x87\x3d\x75\x62\x53\x17\x5b\x36\x80\xd4\x2c\xcf\x95\x11\x93\x5c\xc8\x40\xf1\x1d\x31\x03\xcb\x30\x1c\x68\x92\xf3\x81\xdd\xe4\x64\x72\xb1\x26\xb4\x55\x7a\x0c\xc7\xe9\xcf\x81\x0f\x49\xcc\x98\xb6\x95\xc9\x9c\x50\xec\x75\x90\xd4\x60\xf7\x16\x84\xbc\x4b\x1d\x68\x89\x57\x08\x96\x18\x43\x7e\x26\x9a\x49\x45\xe8\x10\x7d\x45\xc5\x0c\x07\xdf\xdd\xd8\x60\x01\xf6\xa0\x45\x8e\x00\x0a\x78\xf9\xe8\x48\x3e\x54\x2a\x7e\x5e\x6b\x35\x07\x3b\xab\x58\x64\x01\x36\xe8\x50\x25\x27\x87\x61\xc2\x03\x35\xcd\x86\xa5\x8e\xec\x18\x7a\xc1\x80\x5e\x95\x9e\xcf\x9a\x54\x98\x1e\x23\x4c\x2c\x9e\x59\xba\xf3\x8f\x40\x13\xe9\x82\x93\x22\xe3\x05\x8e\x2e\x84\x26\x92\x08\x74\xfb\x38\x00\x97\xec\x51\x67\x9c\x20\x41\x28\x90\xa2\x39\x83\x73\x2f\xf6\xd2\x28\xb6\x88\x37\xb9\x52\xb4\xb9\xba\x19\x06\x02\x3b\xdd\x96\x1e\x8c\xc2\x03\xe2\x1a\x14\x9d\x0f\xc0\x39\x6f\x5c\xb0\xdc\x73\x6a\x15\xb4\xf4\x79\x55\x90\xb7\xd2\x94\x2b\xc2\x59\x3a\x23\x56\x73\xf8\x6a\xcd\x87\x58\x4c\xac\x80\x55\xb4\xcc\x6c\xb5\x29\x04\x3b\x1c\x9b\x6f\x21\x8b\xf1\x10\x84\x6e\x55\x54\xf2\x6b\xba\x64\xa8\xfa\x9d\x1e\xe8\xf3\x6b\x7d\xce\xe3\x35\x19\xaa\xbe\x12\xac\x9a\x54\xff\xaa\xc1\xa0\x44\x96\xa6\x7e\x16\xa3\x3e\x23\x46\x48\xd9\x67\x24\x15\x0e\x90\x93\x4e\x6d\x0b\x2c\xfd\xb7\x51\xec\x0b\x67\x57\x7c\x4f\x6c\x3b\xf6\x75\x5e\x3b\x5c\x88\xd0\x1a\x09\x4b\xce\x42\xcd\x07\xed\xf4\xcd\x79\xa7\x22\x81\x12\x7d\x41\x0b\xf3\x80\x1d\x17\xfc\x51\x5c\x90\x36\x16\xe4\x9b\x17\x67\x87\x1e\x3f\x79\xb3\x05\x4c\x4e\x49\xae\x75\xbf\x5a\x03\x6f\x80\xce\x2e\xb0\x0f\xaa\x86\xd2\x55\x13\x3b\x6a\x3a\x6f\x0b\xf0\xc6\xa0\x55\x64\x06\x4d\x3d\x29\x1e\x8f\xca\xa7\x12\xac\xdf\x08\xd0\x44\xf8\x30\xa6\xd5\x5f\xab\x4f\x8a\xe6\x8f\x0e\x39\x51\xd7\xbc\xd7\x8b\xdd\xbc\xd1\xdd\x12\x6a\x50\x4e\xaa\xac\x87\x59\x72\xc6\x0b\x95\xfc\x83\x67\x0f\x55\x39\x5d\x43\x43\xfc\x53\xcc\x3f\x63\x08\x76\xd7\xa1\x99\xf3\x9e\x68\x4c\xb3\xe4\x3f\x69\xff\xc5\x9e\x3e\x95\x83\xc1\x73\xde\xdd\xb4\x46\x8e\x6b\x03\x5f\xe0\xf5\x4d\x4b\x20\xa8\x22\x82\x58\x20\x96\x0b\xfd\xd0\xc4\xce\x70\xd0\xec\xbc\x07\xc5\x35\x8a\x5e\x04\xbb\xaf\x97\x0b\xc6\xb7\xca\xbd\xad\x83\x15\x83\x6b\x6c\x99\xe8\x49\x7e\xec\xa2\xf5\xc2\xe1\x82\x8e\x66\xa7\x6a\x70\xeb\xa6\xee\x73\x9d\x7f\x5f\xbf\x82\xe7\x06\x5e\x38\x50\x19\x6a\xbb\xf0\x8a\xad\x72\xd4\xb3\x4e\xdd\xbe\x1b\xdb\x1f\x11\x18\x9b\x33\xbc\x83\xd0\xff\xf6\x83\x6b\xd0\xa2\xfa\xd1\x15\x7e\xdb\xcc\x78\x6e\x86\x2d\xfb\x92\xb2\x91\x27\x05\x79\xb9\x5f\xed\xe2\x96\x2b\x09\xb9\x9c\xd0\x7c\x07\x58\xb7\x4d\xf3\x59\x75\xba\x67\x57\x3d\xb9\x0c\xb1\x42\xb4\x59\xfe\x5a\x6f\x59\xd0\xb0\x99\x00\x7b\x40\x24\xe9\x2a\xbf\xae\x7c\x7c\x9f\xc9\xf1\x77\xcd\x54\xac\x31\x42\x67\x86\x7d\x3e\x8b\x90\x9e\x76\x56\x5a\x17\x13\xbb\xe0\xb8\x5f\xcd\x15\x1d\x75\x6c\xea\x44\x09\x3f\x37\xf7\x4e\x8a\xe3\x6f\x5d\x91\x17\x44\xd1\x2f\x5f\xbf\x0a\xd1\xbb\x42\xac\xf8\x8b\x17\x59\xd0\xff\x6b\x39\x6e\x56\x33\xde\x94\xce\x16\x8a\x3d\xb0\xc8\xaa\xf1\x4e\x40\x13\x42\xb0\xd6\x01\x04\xa4\xf3\x92\x4a\xba\xf4\x73\x02\xa6\x62\x5f\x1e\x2c\x4f\x01\xa7\xdf\x84\x99\xef\xdb\xec\xe1\xa1\xa2\x98\x4a\x21\x20\x2e\x12\x88\xc1\xa1\x11\xc1\x19\x65\x23\x43\xaf\x69\xb9\xf1\xd3\x13\x45\xd8\x6c\x60\x24\x05\x6a\x9a\x45\xcd\xe6\x53\xab\xe7\x99\xb8\x58\xb4\x2c\x06\xee\xc6\x5f\xcc\xc0\x65\x07\xd1\x39\xa6\x2d\xab\x56\xcd\x12\x50\xf1\x84\xaf\x3c\x11\x37\xb9\xb6\x8a\xa1\x57\x07\x05\x92\x50\xa5\xba\x27\xb1\x60\x16\x5b\xac\x62\x05\xa9\x98\x77\x56\xcc\xa7\x99\x89\x0c\xa7\x09\x74\x04\x02\x55\x5b\x5b\x4a\x39\x65\xcc\x38\x45\xea\x11\x67\x9d\xd3\xe8\x96\x07\x85\xa8\xfe\x91\x33\x2f\x49\x4f\xe1\x28\x8a\x7d\xe8\xd3\xfb\x02\x9b\x2b\xa5\x58\x95\xf1\xd7\x0a\x37\x4b\xd7\x19\x56\x2b\xa4\x23\x3c\xc8\xed\x3e\x1c\x9d\xf1\xae\x99\x9f\xf5\xd6\x61\xc4\x30\x09\xfe\x09\x4b\xc3\x50\xd8\x6d\xf0\xbf\x96\x89\x8b\x42\x02\xd6\x0c\x32\x21\x8e\x5e\xd1\x22\x75\x39\x58\xcb\xc4\x51\x1f\xeb\xa6\xb4\x23\x62\xfc\xcb\x89\xcf\x34\x2a\x73\x43\x86\x59\xc3\xa5\x2b\x7d\x7f\x97\x0c\x50\x7f\xea\x85\x13\xc8\x97\x2f\x03\x04\x7e\xb1\xad\xca\x8c\x7e\x52\xaf\x42\xb5\x5e\xf7\x1a\xc4\xcf\x82\x5e\xb7\x33\x8c\x83\x47\x13\xe6\x06\x21\xcc\x03\x08\x56\x41\x65\x7e\x67\x78\xf9\x40\x16\x2c\xc9\x3f\xfc\x91\xd0\xf5\xa4\x10\x9f\xa5\x49\xa2\x8c\x81\x63\x36\xf1\xb1\x90\x4c\xf5\xfc\x81\x10\x93\xb5\x17\x1b\x21\xe7\x94\xce\x23\x21\x67\x98\xa6\x79\x4c\x7c\x69\xc0\x50\x70\xdc\x0c\x89\xae\x4d\x48\x5d\x84\xe5\xde\xe4\x67\xda\x57\x85\x6d\x9d\x86\x2f\xdd\x3a\xb5\xa6\xf5\x4e\x72\x0d\x30\xe8\x04\x59\x93\xe4\xab\x06\xab\x36\xd7\x45\x8a\xbc\xaa\xed\x78\xe8\xc1\xb1\x32\xd8\x21\x19\xdc\x76\xad\x1e\x11\x40\xf3\xa8\x2a\x3d\x27\xca\x45\xc5\x82\x9c\xd0\xaf\x32\x6a\xd1\x3a\xa5\x0c\xd8\x81\xeb\xa2\x04\x8f\xee\x39\xce\x27\x2e\xf7\x8f\x78\xbb\xbc\xcc\xd3\xca\x9c\x7a\x4d\xd8\x39\x64\xd4\x09\xfe\x97\x91\x65\xf6\xb6\x42\xcb\xe2\x62\xcb\x16\x51\xc5\x8f\x45\x0f\x8b\xbe\x15\x5e\xb4\x20\xd1\x90\x39\xe4\xac\x5b\x46\x43\xde\xa9\xf9\xc1\x78\x4c\xd2\x65\x92\x17\x0d\x0c\x8c\xb5\x99\x1a\x82\x43\x14\x82\x22\x05\x20\xbb\x3a\xfc\xf3\x14\x42\x57\x7f\x49\x04\x63\xc3\x87\xb3\xd4\xfb\xd5\x7c\x67\xea\x7e\x3f\xe3\x66\x31\x4b\x83\xf9\x2c\xc0\xc7\xd8\xad\x03\x23\x60\xee\xcc\x89\xa9\xc1\x76\x4e\xe3\xf0\xc3\xbb\xe1\xe1\xe0\xe4\xbc\x3b\x34\x39\xc5\x4a\x50\x73\x24\xcd\x30\x6b\x8b\x21\xfe\xd8\xfd\x7e\x09\xc4\xc6\xf5\xc1\xea\x55\x6a\x17\x99\xd5\x0e\xc8\x18\xff\x52\x40\x9c\xc1\x82\x9f\x2d\x81\xac\xd2\x63\x3c\xc6\x71\x3f\x8f\x16\xa3\x29\x3b\x91\xb6\x0d\x3e\x57\x6e\xb8\xf6\xaf\x00\x53\x94\xa2\xdf\x61\x72\xd1\xbc\x22\x5e\xe1\xa5\x30\x1a\x3c\xbf\xd5\xd9\xc5\x44\x4d\xc3\xbe\x66\xc7\x5e\x92\x58\x26\x7f\xcb\x49\x75\xfe\xb8\x11\xb8\x65\xc7\x89\xda\xe2\x8c\x79\xea\x76\x59\xd8\x41\x66\x55\xcc\x5b\x64\xce\x7f\xcb\xe6\x78\xf3\x51\x9b\x63\x3c\xab\x3d\xa4\x62\xbf\x3c\xfb\xdb\x4a\x63\xdd\x4b\x53\x6f\x34\xa5\xff\xac\xec\x83\xcd\xba\x5e\xdc\xf8\x2d\xd1\xbe\x20\xd0\xde\x04\x36\x7e\x4b\xa2\x70\x65\x1f\xb4\xb7\xc8\xd7\x71\x90\xa2\xff\x56\xf6\x81\x5c\x40\x40\x08\x65\x6a\xfb\x6d\xfa\x69\x31\x9b\x25\xa3\x18\xc2\x50\xf8\x75\x65\x1f\xb8\x3e\x37\x46\x09\x02\xde\xde\x71\xd5\xc1\xf8\x75\x28\x2a\x19\xbb\xa4\x06\x9d\xfe\x7e\xa4\x55\xd8\x53\x2b\xf0\xdf\x56\xf6\xc1\x8e\xf5\x23\xc1\xbf\xf3\xec\x41\x78\x8b\x82\x0e\x10\xb2\x26\xe1\x5d\x5a\x8d\xe1\xef\x68\x84\xfe\xc6\x76\x75\x86\xec\xee\x72\x8b\x53\x98\x44\xb3\xcf\x10\x37\xac\x1d\x38\x40\x8b\x15\x11\x06\xec\x0d\x89\xf6\x04\x37\xde\xfc\x22\x86\xbf\x5f\x1d\x3c\xfb\x5b\x30\xae\x3e\xaf\x06\x3e\xf1\x25\x01\xeb\xeb\xe4\xa5\x0c\xec\x3d\x19\x2e\x6e\xae\x61\x0c\xa2\x18\x90\xfc\x40\xcf\xfe\xf6\xb7\x74\x1a\x47\xb7\x38\x33\xf4\x20\x8e\xa3\xb8\xba\xd2\xf7\xc2\x30\x4a\xc1\x38\x08\x7d\x40\x64\x11\x54\x56\xc0\x2a\x88\xe1\xef\x60\x15\xac\x54\x1a\x2b\xb5\x03\xde\xb5\xc0\xc7\xd4\xca\x44\x36\x3e\xc1\x7b\x29\x7a\x57\xfe\xfc\x03\xbc\x4f\xaa\x22\x7f\xe8\xb1\x0e\x6a\x55\xbd\xf1\xe6\x35\x13\xc8\x98\x74\x1c\x74\xcc\x0c\x39\x78\x46\x48\x6d\xd0\x59\xa3\xd5\xd3\x00\x62\xae\xb5\x37\x0f\xd4\x39\xb9\x55\x60\x4e\xe2\xe9\xa7\x21\xfc\xb2\x12\x7a\x37\x70\x65\x9f\xbc\xda\xd9\xa0\xf3\xb0\xbe\x72\xe3\x05\xe1\xca\xfe\x4a\x36\x01\xeb\x2b\xf3\x38\xf8\xec\xa5\x70\x65\x1f\x59\x07\x0f\x2a\x09\xdb\x4f\x45\x02\x9a\xbe\x1c\x3f\x9d\xba\x79\xc8\x77\x8a\x22\xd7\x04\x87\x9c\xbc\x81\xb9\x17\x27\x10\x8c\xbd\x60\x06\xfd\x7d\xb0\x3e\x8d\x6e\xe0\xfa\xfd\xc2\xf7\x82\x75\x2f\x1e\x4d\x83\xcf\x70\x7d\x1e\x47\xfe\x62\x94\x26\xeb\xed\x66\x6b\x6b\x7d\x12\xa5\xe9\xfd\x7a\x12\x8f\xd6\x27\x41\x3a\x5d\x5c\x37\x46\xd1\x0d\x6d\x40\x3e\xfd\x96\xac\x87\x91\x0f\x87\x84\x88\x64\x1d\xf7\x6d\x7d\x16\x5c\xaf\x7b\xbe\x1f\x85\x89\x5d\x95\x80\x1f\x43\x78\x37\x87\xa3\x14\xfa\x20\x8d\x3e\xc1\x10\x54\x5b\xfb\xcd\xda\x65\xf8\x6b\xb4\x00\x37\xde\x3d\x4e\xac\x03\xbc\x10\x78\xf3\x79\x1c\xcd\xe3\xc0\x4b\x21\x98\x45\x9e\x0f\x63\x90\x46\x60\xea\x85\xfe\x0c\xe2\x75\x06\x8c\x03\xf4\x1b\x5a\x41\x2f\xc3\xaf\xa0\x41\xf9\xcb\xb1\x81\x2f\xa8\x18\xfd\xcc\xa9\x67\xc7\x3e\x18\x07\x77\xd0\x3f\x60\xe5\x69\x34\xdf\x07\xcd\x03\x34\x79\x14\x8e\xef\x3e\xd9\x70\x67\x6a\x36\x1b\x75\x49\x6f\xe6\x0d\xfe\xde\x53\x91\x92\xa9\x52\x4e\x89\xa4\x40\x73\x08\xd9\x68\xfe\x85\x8e\x8d\xb9\x1a\x9b\xc7\x70\xee\xc5\x38\xc5\xe7\x51\x14\x9f\x53\xbb\xb2\x8a\xd4\x49\x1d\x08\xe9\x32\x99\x09\x83\x1f\xe9\xd4\x8b\x05\x1b\x83\xaa\x36\x92\xb0\x73\xfd\x32\x7e\x73\x19\xae\x4f\xea\xa0\x72\x19\x57\xa4\xe3\x3e\xa1\xfa\xc1\xb3\x07\x6e\x8a\x98\x09\x02\x1d\x0b\xa5\xe2\xe3\x49\xd1\xfc\xfe\x2d\x16\xef\xb8\x0a\x3f\xd7\xf1\xf1\x73\x3d\xcb\x5c\x46\xbd\x56\xc4\x8e\xe0\x61\xbd\x16\x72\x83\x1e\x4b\x36\x39\xcd\xc3\x36\x9a\x05\xf3\xeb\xc8\x8b\xfd\x43\x2f\xf5\x1a\x09\x4c\xd1\xbf\xd5\x0a\x22\xa4\xa2\xc3\x37\xe6\x2b\x23\x3d\x56\xf6\xd9\xf0\xb3\x0d\x34\xe2\xc9\xfa\x7c\xe6\x05\x61\x49\x04\x26\x5b\x30\x63\xad\xc0\x20\xec\x77\xcc\xff\x12\xe5\xc1\x4b\x52\xa8\x72\x91\x31\x05\x7e\x6e\x24\x69\x34\x47\xe2\xe6\x4d\x3c\xf1\x1e\x89\x24\x5b\xba\x13\xde\x9e\x42\x1b\x4a\x2f\x1d\x4d\x3f\x22\x80\x92\x59\x8e\xea\x49\x3b\x01\x92\x52\xce\x29\x89\xda\x48\x31\xf9\x13\x6c\x74\x54\x65\x4a\x29\x4f\xe5\x5c\x71\x74\xfe\xde\xa5\x5e\x0c\xbd\x06\x9e\x0c\x4a\xae\x4f\x5c\x83\xa4\x72\xc3\x2c\xa8\xd4\x81\x02\x83\xcb\x6b\x7c\xd3\x18\x79\xe1\x08\xce\xd0\x06\x43\xb2\xb5\x0b\xc8\x14\xaa\x62\x92\x2b\xed\x08\x82\x30\xc5\x28\x82\x13\x49\x04\x95\x43\x15\x89\xef\x2a\x1f\x1e\xec\xd2\x48\xb7\xae\x45\x88\xd2\x04\x77\x62\x10\xdc\x65\xc8\x12\xb4\x80\x20\x86\x48\x36\x84\x3f\x05\x61\xbd\x89\x3e\x63\x79\xe9\xc6\xd0\xfb\x31\xf4\x61\x4c\x02\xd8\x17\x71\x12\x31\xe1\x25\x43\xce\x3a\xc2\x45\x80\x9c\x5e\xce\x33\x9f\xca\x0a\x5e\xd9\xf8\x63\x67\x52\x35\xf6\x78\x5c\xa5\xdd\xe4\x27\x95\x4a\x15\x7e\x0e\xea\xa8\x43\x1f\xb5\xa3\x5c\x86\x61\xfa\x0b\x58\x03\xad\xa6\x7c\x02\xaa\xb4\x21\x8f\xea\x65\x4d\x7e\xcd\x6f\xf2\x4f\x16\x55\x52\x69\x35\x9b\x4d\xb5\xce\x38\x1a\x2d\x78\x3c\x94\xed\xea\x46\x9a\x9a\x66\x7e\x29\x6e\x64\x66\x86\x39\x2b\x71\x96\x39\x6b\x51\xa6\x39\xeb\x10\x26\x39\xab\x70\xa6\x08\xd9\x64\xea\x60\x53\x52\x8f\x2e\x69\x42\xbb\x11\xc7\x67\x41\x26\xb1\x9b\x35\xce\xa1\x20\x6b\x51\x42\x8e\x7d\x3d\x2a\x2e\xcb\xca\x88\x32\x6d\xe6\x5e\x27\x54\x51\xc1\xdf\xe4\xe5\x41\xa3\x1c\x74\xf4\xde\xd8\x8e\x05\xfa\x4c\x21\x58\xce\x05\x36\xfe\xf3\x2a\xde\x7f\x5e\xc5\xfb\xd3\x5e\xc5\x93\x9c\xa3\x7f\x4b\x72\x9f\xb3\xeb\x4b\xce\x04\x05\x5e\x03\xeb\x8b\x99\x3c\xcd\x0f\x81\x09\x55\xf8\xab\xb3\x75\x40\x1e\x69\x37\xbc\x8a\xbf\xdc\x5b\x5f\xc2\xe3\xa0\xbe\xf4\x1c\xa8\x50\x47\x42\x89\x17\x57\xe1\x6f\xcd\xde\xd1\xde\xaf\x32\x0f\x87\xd0\x3b\xc9\xfd\x13\x2f\x05\x65\x5c\x3e\x45\x87\xb9\xe1\x6d\xf6\xd0\x27\xf8\xa6\x0e\xac\x36\xf2\xc9\x22\xb5\x34\xfd\xea\xb5\xea\x53\x74\xc0\x48\x6a\xe3\x86\x4b\x6b\xd9\xfc\x7f\x42\xee\x6a\x0a\xc4\x20\x8d\x20\x8b\x5f\x90\xea\xf0\x98\x85\x22\xaf\xcc\xba\x00\x19\x2c\x32\xef\x3a\x89\x66\x8b\x14\x56\x0a\xb7\x26\x86\x40\xa5\x59\xbc\x05\x35\x2f\x2a\x6b\x7b\x7b\x7b\x7b\xf0\xa6\x48\x43\xb4\x86\xe2\x03\x37\xdc\xfb\xca\xcf\x85\x90\xc1\xb4\x9b\xa6\x71\x70\xbd\x48\x61\xb5\xe2\xc5\x81\xb7\x36\x0d\x7c\x1f\xa2\xfd\x5d\x05\x8d\xb0\x99\x45\xd2\xcc\x34\x3c\x9c\xad\x8c\x97\x0c\xa2\x98\x5f\xce\xd0\x8f\x98\x52\x92\x7d\x72\x40\xde\x15\xb1\xde\x5c\xb5\xe7\x5d\xf2\x9a\x35\x74\x8a\xec\x04\x46\x37\x30\x8d\xef\xb3\xdc\x3c\x32\x63\x27\x30\xed\x45\x8b\xd0\x0f\xc2\x49\x1f\x1b\xc8\xa7\xd4\xac\x11\xa5\x9b\x01\x61\x76\x69\xa7\x03\x9a\x48\x83\xf2\x72\x66\x8a\x96\xbb\xab\xc9\x12\x3e\x10\xb8\xcf\x3b\x1d\xa0\xa0\xe2\xf9\xaa\x84\xab\x73\x05\xab\x79\x96\x31\x0b\x5a\x86\x67\x92\x11\x6e\x46\x2b\x70\x0d\x75\xc9\xf6\x76\x34\xf5\xe2\x24\xf8\x27\x1c\x11\x3f\x98\x8a\x6d\xdc\xa8\x98\xf4\x45\x4f\x3a\x25\xcc\x08\xad\xa4\xd6\x48\x23\x79\x0d\x95\xc0\x58\x4c\x48\x41\x50\x2c\x46\xe4\x93\x86\x16\xfd\xc7\x88\xfc\x8f\x11\xb9\xb4\x11\x99\x6b\x41\x06\xf1\x68\x31\xf3\xe2\x93\x20\x49\x0b\x9a\x90\x42\x0b\xab\x0d\x29\xd4\xa9\xde\x78\x77\x7a\x84\xc5\x72\x66\xa3\x87\x05\x8f\x3c\xa6\x8a\x85\x50\x00\xae\x55\x96\x52\x57\xe8\x6f\xa5\xce\x0c\xbe\xb2\x25\x6d\x49\xa1\x97\x92\x35\xc6\x89\x5a\xda\x20\xc3\x1d\xd5\xfc\xb2\x04\xb3\x2c\x91\x81\x85\xf0\xf6\x9d\x89\xcd\x20\x73\xd7\xe9\x6a\xbc\x93\x1a\xc9\x7a\xd8\xf4\xf4\x0f\x8f\xe6\x16\xdb\x51\xd7\x5b\xea\x8b\x66\x7d\x64\x8e\xe1\xbf\x08\xb2\xb4\x5d\xb8\x8f\x34\x08\x6a\x02\xd3\xfe\xfd\x68\x16\x8c\x48\x5a\x92\xa0\x96\x9f\xad\x47\x14\x06\x0c\xdb\xb4\xea\xd8\x64\xe0\x1b\x5a\xe8\x36\xa1\x98\x3d\x4e\x22\x4a\xc9\x82\x59\x10\xc8\xbb\x14\xf4\x23\x78\x2d\x01\x36\x0d\x9a\x24\x04\x12\x15\x58\x1e\x38\x28\xeb\xa8\x2b\x63\x45\x06\x7f\x11\x12\x8e\xf9\xba\xa3\xa8\x2b\x40\x49\x99\xb4\x19\xf2\x3f\x73\x4c\xc7\x51\x3c\xc0\x17\xcd\xc5\x07\xd5\xbe\xc1\x01\xa6\xf5\x0c\x29\xc5\x6b\x6f\xf4\x69\xac\x3d\x77\xc3\x80\x05\x7a\xba\x42\xa0\x26\x62\x18\x0a\x93\x54\xaf\x9a\x8d\x33\x5e\x2e\xd0\x74\x1f\xe2\x7c\x1a\x6c\x74\x87\x2d\xfb\xf8\x66\x04\x56\x09\x16\xfc\x62\xe4\xb0\x55\xab\xa3\x76\xf9\xcf\xf1\x3d\xf1\xa6\xd3\x38\x52\x88\x26\xf9\xed\x24\x92\x29\x48\xbf\x13\xcc\x55\x4c\xb8\xa1\x9c\x26\xc0\x82\x33\x31\xe1\xac\x93\x15\x5b\x8f\xd2\xce\xc7\x09\x3a\xa4\x6d\x11\xdc\xf3\x85\x12\x8c\x50\x1e\xab\xa4\x1c\x14\xe4\x40\xda\x55\x30\x29\x63\xee\xb6\xc6\xf5\x1e\x18\x54\xb2\x9a\x90\x24\x03\x29\xaa\xed\x5c\xb0\x26\xd0\x79\x29\x3c\x85\x7d\x06\x7d\xec\xb9\x55\x6e\x3f\x49\x3a\x2d\xf6\xe0\xa1\xc8\xb8\x44\x73\xeb\x36\xb2\xa8\x08\x8a\xf8\xd7\xd6\x70\x3e\xa0\x62\xf2\x38\x9f\x05\x23\x79\x17\x4b\x53\x8b\xf8\x70\x06\x53\xd8\x37\xbd\x7e\x14\xa4\xf0\x26\x51\xde\xbb\xe5\xea\x62\x88\x54\x4f\xfb\x00\xfd\xfb\x0a\x78\xf1\x04\x1f\xac\x70\x35\x03\x86\x86\x55\x01\xc3\xbb\x18\x06\x60\x0d\xb4\x91\x50\xf1\x56\x17\x43\x31\x31\x9c\xbc\x79\xb5\xd0\x07\x8c\xef\xdf\x92\xb5\x49\x92\xcc\x35\xb1\x87\xd6\xc5\xaa\x88\x51\x52\xc8\x76\x01\xab\x12\x47\x0b\x58\x32\x8c\xce\x8e\x44\xa8\x85\x1b\x64\x48\x5e\xbc\x20\xbc\xb4\x44\x01\x58\x97\x6e\xfa\x14\x30\x78\x9d\xb1\x6b\x6d\x6d\x39\x76\x80\x55\x99\x84\xa7\xb0\xec\x4c\x76\xa7\x88\x64\xf9\xd1\x63\x19\x60\xc8\x28\x12\x39\x54\x73\x11\x5a\xa2\xc5\x19\xeb\xe4\xfe\x32\x03\xca\xa9\x97\x48\x2a\xf6\x45\x98\x9e\x47\x34\xe6\xd7\x05\xb2\xc6\xfc\xdd\x39\x4c\x7d\xf9\xd4\x34\xdd\x6a\x47\xc4\x60\x6b\x30\x93\xe2\x3f\xf2\xe0\x4b\x9a\x51\x80\x9e\xff\x72\x8d\x6d\x64\x58\x7f\x3b\xf2\x70\x5a\xc0\x15\xd1\xa5\x88\x3a\xdd\x79\x7b\x64\x8a\xa3\x1e\xd1\xec\xa6\x2e\x83\x77\x24\xa5\x33\xd6\xac\xed\x67\xb9\xfc\x57\xbc\xb0\x85\x49\x6d\xfa\xac\x73\xb8\x56\x48\x89\x4f\x83\x31\x3b\x68\x4d\x4c\xba\x7c\x44\x12\xbf\xd2\xe7\xaa\x8c\x7c\x78\x55\xfa\xf4\x90\xcc\x9d\x57\xe4\x34\x92\xfc\xf1\xba\xe3\xe4\xa6\xea\xa0\x58\x21\xad\x98\xba\x07\xd1\x22\x05\xd1\x18\xc4\x5e\x38\x81\xfa\xc9\x9e\x8c\x77\x95\x3f\x61\x66\x8a\xd5\x56\xf0\x50\x0f\x5a\xcc\x27\x00\x19\xa3\x82\x10\xcc\x82\x24\x05\xd7\xf0\x3e\x0a\x7d\x80\x2d\x2a\xd0\xb4\x23\xe6\x6f\x9d\x69\x08\x25\x05\x45\xf8\x99\x69\xd4\xa6\x5b\x9b\x26\xec\xa5\x77\x34\xed\x79\xb7\xe8\x0e\x7a\x22\x7e\x54\x9f\x79\xd7\xe3\x13\xe1\xdd\xdc\x0b\x7d\x24\x1d\x3d\xb4\x07\xe6\x4d\x47\x34\x61\x1a\x13\x80\x35\x8b\x40\xb3\x9e\x4a\x70\x9c\xf9\x7f\xb3\x19\x2c\xb6\xd1\x15\x08\xcd\xcd\x27\x35\x2a\xa2\x2a\x55\x4c\xa6\xec\x80\xa0\x80\x15\x29\xd5\xb3\x9a\x78\x66\xce\x16\xcc\x9e\x69\x5a\xa5\x46\xf9\xc6\xc5\x53\x8c\x7f\x11\xcd\xa8\x2c\x7d\x85\x76\x3e\xba\xe1\xbd\x0a\x68\xdd\x7f\x18\xd7\x0c\xe5\xf4\x5d\xa0\xa4\x44\x96\x2f\xe5\xf4\x51\x86\x62\x39\x7d\x17\xfb\x6c\x39\x7e\xff\xab\x25\x3e\x38\x8c\x6e\xa8\xce\x26\xc0\x3e\x46\x51\x5e\x7e\x2f\x53\x93\x2a\x1a\x5d\x6d\x13\x47\x4f\x97\xd1\x3f\xea\x12\xe4\xf8\x34\x27\x24\x5c\x68\x79\xdf\x82\xf0\xc7\x04\x35\xfa\xf2\x20\x1e\x80\x9a\xc8\x11\xd3\xb7\x8c\x30\x03\x9d\x57\x64\x50\xbd\xb8\xcf\xec\x2b\x44\x4c\x43\xd8\x46\x6a\x5a\x08\x2a\xb7\xb8\xe4\x98\xfd\x3d\xbc\x2d\x1c\x28\xaa\x42\xc0\x28\xe7\xd1\xdc\x0c\x40\x60\xc5\x05\xcc\xae\xf0\xb2\xbb\x51\x23\x3f\x3e\xf4\xfe\x7b\xd0\x3f\x1f\x1e\x1f\x0e\xbb\xe7\xe7\xa7\xc7\xbd\x1f\xcf\x07\xd8\xd8\xd4\x7a\x4e\x27\x8d\x54\x4e\xd9\x9d\xc3\xe8\x18\xce\xa0\x97\x28\xe1\x63\xfa\x35\xb8\x70\x57\xfe\x24\x9d\xc8\x5f\x76\xa3\xc5\xcc\x07\x68\xe5\x65\x14\x7a\xbc\x7f\xb8\xf8\x1e\xa6\x80\x4a\x89\xe1\x2a\x0f\xfd\x90\xad\xcf\x53\xb2\x5e\x15\xed\xd1\x0c\x7a\x21\x7f\x9d\x55\xbb\x8c\x16\x05\x63\x91\x4c\x95\x1a\xc5\xc6\x27\x93\xcc\x22\x73\x41\xf0\x7e\x51\xfc\x11\xb2\xf9\xab\x84\xc7\xe2\xd0\x19\x23\x11\xc3\x08\xff\xae\x25\x94\x85\xa6\xbb\xfd\xa2\x4c\xac\x83\xc0\x6f\xa4\x2c\x03\x79\xab\x69\x78\xfe\x66\x09\x29\x96\x46\x22\x4f\x96\x19\xfd\xa3\x99\x97\x24\xef\xc9\xf3\xd6\xa2\x47\x34\xfb\x1e\x84\x21\x8c\xdf\x9e\xbf\x3b\x11\xbe\xcb\x8b\x94\x89\x2a\x16\x61\x58\x94\x21\x08\xb8\xef\xa5\xde\x5a\x74\xfd\xdb\x5a\xe0\x57\x2c\x2d\xc5\xc1\x20\x67\x51\x6c\xc9\xb3\xac\x05\x66\xda\xcc\x4b\xa0\x11\xa3\x65\x29\x7c\x5c\x98\xe3\x37\x0a\xe6\x18\x91\xcc\x0f\x49\xd5\x8b\xe3\x3a\x80\x3c\x69\x25\x1d\x27\x2f\x8e\x79\x62\x54\xf4\x91\xa4\x45\x15\xe3\x03\x48\x73\x6c\x81\x93\x5f\x0f\x9e\xd9\x98\xf5\x3d\x0c\x61\x1c\x8c\x74\xfe\xe0\x5f\xf0\xef\x57\xb5\x03\x73\xdb\xeb\x45\xe8\xcf\xd8\x25\xff\xff\x17\x00\x00\xff\xff\x8b\x4c\x2a\x79\x35\xcd\x0b\x00") +var _staticJsBundleJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\xeb\x73\x1b\x49\xf2\x20\xf6\x79\xf9\x57\xa4\x38\x77\x83\x86\x08\x82\x00\xf8\x90\x44\x0a\xd2\x42\x04\x39\xd2\x8e\x5e\x47\x72\x76\x76\x8f\xc3\x1f\xb7\xd0\x5d\x00\x5a\x6a\x74\x63\xbb\x1b\x24\xb1\x23\xce\x27\xdb\x11\xfe\xe8\x2f\x0e\x7f\xb8\x08\xbf\xce\xfe\xdd\x39\x1c\x8e\xb3\xe3\xe2\xc2\x0e\x9f\xed\x88\x9d\x7f\xcc\x51\x59\xef\xee\x6a\x00\xd4\x63\x67\x7e\x71\x0b\xcd\x48\x40\x3d\xb2\xb2\xb2\x32\xb3\xb2\xaa\xb2\xb2\xb6\xee\xe3\x67\x0b\xbc\xe1\x2c\xf6\xf3\x30\x89\xbd\x49\x12\xcc\x22\x9a\xd5\xe1\x47\xd8\xda\x82\x6b\x3a\x98\x12\xff\xfd\xb3\x24\xc9\xb3\x3c\x25\xd3\x35\x55\xe3\x37\x5b\x5b\x70\x36\xa6\xc0\xcb\x83\x4f\xfc\x31\x35\x72\xaf\x48\x0a\x61\x9c\xe5\x24\x8a\x68\xf0\x8a\xc3\x84\x2e\xfc\x78\x7b\xa0\x0a\x95\x61\xa5\xf4\xcf\xb3\x30\xa5\x20\x91\x31\x4a\xc8\x24\xb8\xbc\x14\x38\x5d\x8a\xd2\x97\x97\x02\xe7\x17\x41\x1d\x7e\x74\x41\x67\xe0\x0f\xc7\xd4\x7f\x0f\xe1\x50\xe2\x1b\x66\x10\xc6\x25\xac\x7f\x13\x0e\xbd\x22\xd6\xe7\x12\xfa\x85\x09\x1e\x7e\xf3\x9b\xdf\xa4\x34\x9f\xa5\x71\xa9\x9b\xba\x42\x93\xde\x4c\x93\x34\xcf\x0e\xcc\x6a\xb7\x45\xcc\x52\x4a\x72\x0a\x04\x62\x7a\x2d\xb1\xf3\x48\x1c\xc0\x74\x96\x43\x98\x43\x18\xe7\x09\xe4\x63\x41\xe2\xba\x59\x9b\x11\x59\xd4\xe8\x2e\x40\x83\xd1\xdd\x42\x3c\xdc\x07\x99\xd9\xb0\x32\xa2\x7d\x18\x92\x28\xa3\x76\xaa\xe8\xc5\x3e\xfc\x68\xe1\xee\x1e\x4a\xd6\xa5\xa3\x1b\xea\xcf\x72\x8a\x58\x0b\xfc\x1c\x43\xfa\x9b\x49\x89\x5e\x3e\x89\x22\x31\x9a\x92\x76\x0d\x01\x41\xfe\xab\xd3\x1d\x9c\x50\xaf\x44\xe9\x38\x22\x23\x13\x1f\x92\x41\x94\x90\x80\x06\x65\x84\x9a\x11\x74\x21\x4f\x67\xb4\x12\xd8\x09\x1f\x78\x06\x4e\x60\x03\xc9\xd0\x80\x6e\x16\x17\x4c\x62\x23\x6f\x32\xc4\x6d\xb9\x15\x5b\x32\x58\x9d\xcc\x24\x66\x06\xc9\xe0\x1d\xf5\x73\xf0\x34\x09\x44\xce\xe5\xa5\xc9\x20\x0e\x0a\x35\x27\xd0\x95\x60\xaa\x44\xb1\xd4\x60\x49\x4e\x5c\x80\x7d\x07\x0f\x56\xb5\x10\x06\x34\xce\xc3\x7c\xae\xd8\x02\x86\x49\x0a\x6c\xf4\xc3\x78\x04\x63\x92\x4e\x92\x78\x0e\xe1\x84\xd3\xf6\x3a\xcc\xc7\x5c\x02\x92\x34\x65\xfd\xf6\x93\x38\xa7\x37\xf9\x12\x84\x42\xe8\x2a\xf8\xde\x15\x89\x66\x94\x29\x35\x31\x1e\xf8\xfb\x00\x2a\xd5\x51\x40\x87\x61\x4c\x61\x44\xf3\x9c\xa6\x36\x9a\x12\x3d\x31\x96\x4b\xb0\x08\x4c\x2c\x14\xef\xc6\x64\x42\x1b\x02\x7a\x41\xad\x84\x43\xef\x9e\x0b\x50\x62\xd7\xae\x17\xb5\xd1\x1b\xe4\x89\x26\x47\xfc\x6d\x9a\x4c\x69\x9a\xcf\x8b\x2d\xda\x55\x7e\xe3\x27\xf1\x30\x1c\xcd\x52\x32\x88\xa8\x53\xf4\x7f\x43\xe3\xd9\x84\x8a\x7c\x26\x13\x85\xec\x11\xcd\xf7\x45\x37\xac\x8c\xdb\x7a\xa5\xce\xab\x24\xf9\x88\xe6\x7d\x3a\x24\xb3\x28\x3f\x42\xa4\x0b\xcc\x91\x4c\xa6\x24\x0f\x07\x61\xc4\xf8\x06\x59\x22\x4e\xe2\x4d\x39\x18\x82\xa5\x97\x0c\x46\x6c\x0e\x06\xaf\x52\x20\x23\x53\xa9\x62\xd0\xa5\x9c\xc0\xd7\x5f\x4b\xf1\xbd\xbc\xa4\x19\x67\x6d\x78\x6a\xf5\x57\xa1\xaa\x3b\xe1\x19\xdc\xc6\xab\x9f\xd7\x02\x9e\x55\xbb\x38\x80\x5b\xd8\xaf\x84\xc0\x9b\xe0\x54\xc8\xca\x70\x2c\xb6\x85\xdf\xb8\xd9\xce\xe3\xbd\x68\x40\x8d\xd4\x14\xa7\x1d\x38\x34\x13\xcf\x3a\x58\x65\x84\x04\x8b\x4d\xd3\x24\x4f\xf2\xf9\x94\x36\xc7\x24\x7b\x73\x1d\x4b\x66\x43\xf5\xbd\x64\x04\x12\x73\x04\xb8\x1a\x6b\xc0\x54\x00\x30\x7a\xba\x4a\x53\xe5\xfa\x0b\x04\x5a\x23\x33\x9d\x0d\xa2\xd0\xbf\x9c\x92\x7c\x7c\x79\xb9\x04\xdd\x29\x74\x61\x7d\xbd\x0a\xe6\xcb\x84\x04\x40\xe3\x3c\x9d\xab\x69\x25\x0e\x64\x0f\xca\xea\x41\x64\xb8\x2c\x18\x57\xdb\xcc\x5e\x6a\xef\x9a\x63\x76\xab\x94\xfb\xa7\x7f\x8c\xae\x78\xe7\x6b\x5b\xf7\xa1\x05\x22\xad\x6c\x0d\x36\x60\xe1\xa4\x0b\x3f\xae\xad\xad\xcf\x32\x0a\x59\x9e\x86\x7e\xbe\x7e\xb0\xb6\xb6\x44\x19\xad\x6b\x41\x5a\x6f\xc0\x8f\x5c\x1b\x73\x05\x03\x4c\x75\x30\x29\x3c\x4c\x26\xd3\x24\x0b\x19\x1a\xcf\x69\x34\xa5\xe9\x65\x1b\xba\x4e\xe2\xb5\xf7\x44\x95\xa3\x2b\x1a\xe7\x47\x93\x90\x31\x74\x75\x69\x51\xf8\xf7\x21\xbd\x66\xe8\x54\x16\xec\x6c\x4b\x4c\xa2\x70\x3a\x48\x48\x1a\x54\x16\xdd\x6e\xc9\xa2\x61\xea\xcf\x22\x92\xbe\x0c\xb3\x6a\xc0\xdb\x1d\x89\x6f\xe6\x93\x29\x3d\xa5\x7f\x9e\xd1\xd8\xa7\x59\x35\x26\xa2\xfc\x8b\x78\x3a\xcb\x9f\x93\x38\x88\x16\xf5\xef\x81\x28\xfd\x96\xa4\xd9\xa2\x72\x8f\x44\xb9\x13\x1a\x07\x34\x5d\x50\xb2\x23\x7b\xf7\x32\x8c\xdf\x87\xc3\x70\x11\xd0\x87\xa2\xe8\x29\x8d\x28\xb2\xd0\x2b\x12\x93\xd1\x22\xe0\x72\x3c\x0e\xc7\x24\x7d\x45\x49\x36\x4b\x69\x35\xe5\x64\xe1\x67\x69\x72\x9d\xa1\x8e\x76\x15\x93\x48\xbc\x4a\x66\x59\x35\x30\xd9\xff\x20\xf1\x67\x13\x1a\xe7\xd0\x05\x8f\xa9\x9a\x64\x08\xd7\x61\x1c\x24\xd7\x70\xaf\x0b\xb5\x59\xcc\x99\x38\xa8\xd5\xe1\xa9\xc8\x68\xaa\x2a\xfb\x10\xcf\xa2\x88\xc3\xf9\xfe\xe4\xc5\xd9\xd1\xe5\xb3\xef\x8e\x8f\x8f\x4e\x2e\xdf\xf6\xbe\x3b\x3d\xba\x3c\x7b\x7e\x72\x74\xfa\xfc\xcd\xcb\x3e\x74\x61\xd7\x2a\xd5\x3b\x3b\x7c\x7e\x79\xfa\xe2\x5f\x1e\x41\x17\xb6\x5b\x2d\x41\x82\xef\x4e\x4e\xdf\x9c\x5c\x3e\x7b\xf9\xe2\xf5\xb7\x97\x2f\x5e\x9f\x1d\x9d\xfc\xbe\xf7\x12\xba\xb0\xc7\x0a\xa8\x09\xe2\x8c\xa6\x93\x30\x26\x91\x97\x4c\xd9\x6f\xb6\x54\x5b\x03\x00\x60\x10\x32\x1a\x0d\x99\xf5\x3a\x0e\xb3\x03\x4c\x0c\x87\xe0\xdd\xf3\xd8\x6f\x6e\x9c\xc5\x3e\xeb\x9f\x04\x51\x97\x75\xd9\x47\xa8\x27\xb6\x0c\x51\x4d\x90\x74\x84\x1d\xcd\xce\x5b\x17\x0d\xd0\xbf\xda\xd6\xaf\xce\x45\x9d\xb7\x76\x8b\x7f\x33\x24\x9a\x03\x35\x42\x62\xac\x0e\x74\x9e\xcf\xd0\x60\x56\xb6\x6c\x47\xa4\xf0\x22\xb6\x14\x37\xcd\x9f\x5c\xed\xb3\xde\xd4\x75\xf7\xc4\x98\x09\x6a\x40\xb7\xdb\x85\x5a\x3c\x9b\x0c\x68\x5a\x33\xbb\xa7\xf2\x8d\x34\xf6\xf1\x93\x28\xdb\x07\xab\xa3\x56\x3e\xc3\x7e\xdf\xee\xba\x95\x3f\xe6\xf2\xb8\x6f\xd1\x43\x95\xb8\x35\x09\xa3\x51\x90\xdf\x3e\x7c\xc0\x25\x31\xcb\x14\x2a\xf3\x3d\x9d\x67\x9e\xa2\x8b\x30\x18\xb2\x7a\x73\x98\xa4\x47\xc4\x1f\x2b\xd5\x0c\xde\x7b\x3a\x37\xfb\xc7\x48\x21\xc0\x9e\xbf\xa7\xf3\x0b\xe8\x76\x91\x39\xeb\x85\xfe\xda\x65\xf4\x10\x98\xe9\x07\x56\x0d\x06\x59\x16\xe3\xd5\xee\x75\x8d\x8a\x12\x47\xcc\x2a\xb6\xb6\xa0\x45\x47\x4b\xb7\x6b\xe5\x6f\x8c\x63\x64\xd5\x32\x8e\xb7\x06\x23\x88\xdc\xa6\x9f\x44\x49\x9a\x35\x23\x1a\x8f\xf2\x31\xf2\xc3\x43\x07\x23\x88\x62\x1a\xaa\xac\xe7\x27\xb1\x4f\x72\x3d\x06\x97\x22\x3d\x8b\x42\x9f\x7a\x0f\xeb\x16\xaf\xd3\x28\xa3\x4b\x1a\x6f\xef\x7d\xbe\xd6\xdb\x7b\x77\x6f\xbe\x75\x97\xe6\x79\x33\xad\x06\x6c\x76\xea\xcb\x28\x81\x85\x1a\x6e\x08\x9b\x9d\xbb\x23\xfa\x19\x47\xa9\xbd\x77\x17\xe4\x98\x42\xa9\x6a\xe8\x40\x97\x28\x89\xaf\x91\x37\x25\x29\x9f\x42\x64\xed\x41\x12\xcc\x99\x78\xcb\xdf\xa2\xc0\x87\x0f\xe0\xa9\xd9\xe3\xa9\x9a\x7b\x9a\x23\x9a\x1f\x45\x14\xd5\xc7\xb3\xf9\x19\x19\xbd\x26\x13\xea\xd5\x18\x90\x5a\xfd\xbc\x75\x21\x26\x9a\xfa\x81\x85\x6f\x01\xdb\xcc\x6c\x6f\x44\x93\x09\xcd\xd3\xf9\x79\xeb\xc2\xa8\xc4\x94\x99\x51\x09\x7f\xba\x2a\xb5\xcd\x4a\x32\x15\xba\x70\xae\x9a\x6e\x68\x80\x17\x65\x11\x14\x4a\xd1\x1c\x50\x4e\xc2\xd8\xab\x05\x24\x67\x4b\x92\x62\xd1\xd2\x80\xcc\x07\x24\xa3\xd0\x85\x96\x81\xca\x3c\x08\xb3\x69\x21\xed\xa6\x58\xa6\xf0\xdb\x9f\xa5\x59\x92\x9e\xe6\x24\x2f\x42\xe3\x39\xcf\xc3\x20\xa0\xb8\x32\x64\xeb\x5f\x8b\xc2\xf1\x15\x4d\xf3\xa3\x24\x32\x12\xff\x3c\xa3\x33\x06\xa7\x56\x33\x12\x33\x3f\x4d\xa2\xe8\x2c\x29\xa2\xc6\xd3\x9f\x25\x79\x9e\x4c\xc4\xb4\xcc\x69\xbe\x09\x6d\x0b\x8f\x2c\x4f\x26\xdf\xd2\x39\xce\x75\xc2\xc0\x83\xae\xb0\x2d\x0a\xe8\x3e\x8b\xc2\xf8\xfd\x8b\x38\xa7\xe9\x15\x89\xca\x85\xc8\x74\x1a\x85\x3e\x61\xb4\xfd\x96\xce\xa7\x24\x70\x74\xcc\x28\x73\x88\x30\x1d\x65\x92\x34\x1c\x85\xf1\xab\x24\xa0\x8e\xcc\x30\xce\x68\x9a\x57\x64\x5e\xa7\x64\x4a\xd2\x64\x16\x07\xa2\x00\xdf\x4b\x53\xf9\x71\x92\x4e\x5c\x98\xfb\x63\x66\xb0\xe6\xe5\x8c\x51\x75\x4e\x44\xaf\xd0\x90\x68\x95\xe1\x30\x3e\x3f\x67\xe5\x4d\x56\x0e\xa8\xff\x32\xf1\x49\x9e\xa4\x26\x03\xb5\x5b\x68\x29\x1a\x49\x57\x79\xa7\xe5\x48\xdc\x2e\x27\xf2\xde\x14\x53\x27\xec\x37\x8e\xa6\xa9\x24\x32\x1a\x07\xc7\x89\x3f\x33\xd3\x66\xf9\xb0\x58\x39\x1b\xa5\xc5\xa4\x59\x7a\x73\x95\x17\x13\x29\x57\x18\x56\xd7\xc3\x28\x48\x69\x6c\x4a\x3c\x1d\xa6\x34\x1b\x9f\xe6\x24\xcd\xcb\xc9\x47\x71\x60\x36\x4c\xae\x68\xf0\x87\x62\xc2\x1f\x8b\x09\x87\x49\x94\x59\xa0\x48\x40\x06\x91\x63\xa4\xaf\xd3\x30\x77\xe7\x04\x74\xd8\xcb\x73\xc6\x77\x5e\x0b\x1e\x3f\x46\xdd\xff\x01\xbc\xce\xee\x03\xf6\xeb\x91\xf8\xb1\xc7\x7e\xb4\xea\xb6\x08\x88\x7a\x26\x18\x5b\x0f\x93\x09\x0e\xfd\x85\x5d\x8d\x69\xdf\xb7\x2c\xb3\xc0\x2d\xd3\x94\x0e\xc3\x9b\xa2\x40\x4f\x93\x2c\x77\x24\x87\xc6\x02\x8c\x71\x23\xbd\x2e\xac\xc9\x9a\xe6\x4f\xd3\x50\x95\xc8\x65\xaa\xa2\x5c\x9e\x35\xf9\x17\xaf\xd4\x00\xd7\xb0\x75\x8b\xd2\x7c\xa5\xa6\x54\x89\xfc\xfd\xe1\x43\x51\x32\xb2\xc2\xfa\x4b\x56\x29\xa5\x97\xab\x46\x72\x95\x27\xeb\xe8\x04\x56\x98\x5e\x9b\xeb\xc0\xa6\xfa\xee\xd5\x0b\x23\x4f\x9f\xcd\x86\x43\x84\x62\x8d\x05\x66\xbd\x88\xdf\xa6\xc9\x28\xa5\x59\xe6\x50\x20\x37\xc9\x70\x78\x4a\xe3\xfc\x2c\x39\x24\xb9\x3f\xfe\x6e\xea\x54\x32\x61\x4e\x4f\xf3\x64\x3a\xa5\x2e\x0d\x97\xcd\xd2\x34\x19\x91\x9c\x5e\x8e\xc3\xd1\xb8\x38\x8c\x51\x18\xe3\x69\x14\xeb\x8b\xbd\x62\x6f\x9a\x3f\x3d\x43\x87\x0f\x88\xff\x5e\x74\x10\x8f\xb6\x4c\x6d\xce\x93\xaf\xc7\x61\x44\xc1\x0b\x37\x37\x4b\xb3\x1e\xb6\xd7\x9c\xce\xb2\x31\x07\x39\x88\x48\xfc\xfe\x65\x18\x53\xcf\xb6\x43\x70\x35\xe3\x1a\xa5\x12\xc4\x62\x81\x66\x46\x73\x4e\x6e\x4f\xb7\x58\x9e\x52\x73\x32\xb0\xf5\x51\x3e\x9b\x32\x22\x66\xd6\xe0\xcd\x32\x9a\x9e\x62\xaf\xc3\x78\xa4\x89\x7b\xbb\x16\xc6\x63\x9a\x86\xb9\x5e\x9f\x34\x16\x2d\xd6\xea\x07\x6b\xca\x3a\xd3\xfb\x78\x34\x25\x19\x15\x32\xac\xd7\x32\xb2\x83\x62\x0d\xea\x59\x4a\xe2\x6b\xf8\xa9\x75\xd3\x1e\x0e\x51\x2b\x58\x6a\xe0\x6b\xe0\x19\x07\x6b\xb7\x46\x63\x39\x89\x47\xc9\xa1\x34\xe7\xce\x11\x70\xed\xab\x0e\xdd\xde\xd9\xde\xab\x35\xc4\x4f\xdf\x6f\xb5\x5a\x2d\xf5\x73\x87\x3e\x22\x2d\x23\x77\x87\x98\xb9\xdb\x3b\x7b\xbb\x64\x47\xfd\x7c\xb0\xbb\xdb\x7a\x30\x50\x3f\x5b\x7b\x8f\x1e\x3e\x22\xea\x67\xb0\x1d\x3c\xf0\x87\xea\xe7\xee\xee\xee\x83\xdd\x6d\xf5\x93\x0e\x3b\x8f\x3a\x8f\xd4\xcf\x87\x84\x76\xb6\x35\xe4\xa1\x4f\x1f\xed\xe8\xba\x0f\x3a\x8f\x86\x06\x28\x12\x3c\x18\x92\x87\x06\x56\xb4\x43\x3b\x1a\x32\xfb\xf8\xb5\xb5\x0b\x83\x14\xca\xa8\xf5\xca\xb4\x66\x7c\xac\xf2\x5d\xc4\x13\xd6\x72\xbd\x01\x28\xc4\xad\x9b\x56\xab\x01\xad\x9b\xdd\x21\xfb\xfb\xe1\x03\xf6\x37\xc1\xef\x01\x7e\x1f\x0e\x2f\x1a\x10\x0a\x5b\x50\x6b\xd9\x61\x92\x82\x77\x00\x21\x3c\x86\x4e\x7b\xef\x00\xc2\x8d\x0d\xcb\xce\x9f\xe5\x5e\x7a\xee\x85\xb0\x05\xdb\x7b\x75\xf8\xe7\xb0\x07\x1f\xa0\x75\xd1\x00\x91\x58\x48\x0b\xd9\x2f\x7b\xbb\xa1\xa2\xad\x9d\x52\x53\xac\x17\x0f\x61\x03\x42\xb8\x0f\xed\xd6\x81\x8d\x42\x03\xd8\x7f\x16\x60\x45\x32\x51\x60\xd4\x80\x81\x09\x4f\xac\x29\x50\xae\x6b\x5f\xd5\x60\x03\xc6\xf4\xc6\x4b\xeb\xe2\xcb\x48\x7e\x19\xd4\xdd\x60\x59\x9e\x6f\x01\x84\x2e\xf8\xcd\x3c\x39\xcd\xd3\x30\x1e\xf1\x7d\x4d\x85\x3c\x97\x0c\x5f\xae\x98\x1e\x43\x07\x9e\x42\xad\xc5\x9a\xf5\x61\x1f\x7c\xb3\x09\x59\x58\xac\x60\x6e\xeb\x9e\x29\x8c\x97\xe5\x51\xb7\x96\x47\x66\xd9\xab\x65\x1c\x94\xcc\x72\xd4\xf0\x0d\x07\x2f\xf1\x94\x06\x1f\x21\x51\xa0\x3c\x50\xbb\x65\xa6\xc0\x92\xd0\x05\x9c\x30\x5f\xc4\xb9\xc7\x21\x9d\x87\x17\xcd\x6c\x36\xc8\x04\x79\xea\x0d\xb0\x48\x94\xcc\x72\x3e\x18\xe7\x2a\x89\x7d\x78\x65\x78\xf2\x04\x57\xe2\x5f\x23\xa7\x36\x2a\x4a\x3c\x74\x17\xe0\xf9\x3c\x47\x65\xd8\x5c\x28\x48\x9e\xcc\xf2\x12\xbd\xe5\x06\x89\xda\x7a\xe2\xbd\xd9\x2f\x11\x4a\xa8\x60\x3a\xa1\xfb\xa0\xce\x8a\x1a\xa2\x8a\x5c\x8b\xa8\x73\x3a\x2c\x4c\xd3\x09\x5b\x2a\xee\x43\xed\x86\x7d\x17\xa5\xe5\x8a\x6d\x1f\xce\x1f\xb6\x1a\xd0\xd9\x11\x7b\x56\xc6\x0a\xc2\x02\x23\x97\x48\xf3\x88\x41\x1a\x44\x89\xff\x5e\x40\xba\x0a\xb3\x19\x89\x9e\xd1\xc8\x6e\x77\x9a\x4c\xdf\xc4\xa5\x54\x3d\x55\xee\x43\xbb\xd5\x6a\xa9\x54\x4a\xd9\x62\x24\xb3\x0a\x07\x74\x30\x1b\xd9\x58\xe0\x26\x20\xb7\x9a\xed\xa2\x61\xc6\xcc\xc8\xd3\x3c\x08\x63\x2b\x63\x96\xd1\xe3\x28\xb9\x3e\x4c\xe2\x3c\x2d\x52\x86\x0c\xd8\xcc\xf6\x7d\x18\xe4\xe3\x7d\x78\x68\x4d\x10\xc6\x56\xa0\x99\x3c\x64\xa6\xb9\x5a\x64\x50\xe2\x8f\xbd\x8a\xdd\xb8\x06\x38\xb7\xe1\xec\x4d\xb2\xaa\x2d\xb2\x03\xab\x6c\xb3\x6a\x3f\xae\x50\xe7\xd6\x3d\x9d\x4a\x9c\x2b\xa7\x52\x3e\xef\xd3\x9b\x9c\xa4\x94\xf0\xe2\x5e\x61\xbe\xd4\xd0\x46\x34\x7f\x83\xe8\x58\x10\xdf\xd3\x79\x03\xe4\x01\xba\x32\x54\xee\xb1\x74\x08\xe3\x32\xc6\x75\xdb\x5c\x49\x93\x6b\xb4\xb4\x8e\xd2\x34\x49\xbd\xda\xeb\x44\x2c\xfd\xf9\x21\x2e\x03\xb2\xce\x94\x18\xfb\xb2\x01\xb5\xf5\x5a\xd9\x24\xe2\x1b\xbc\xe6\x1e\x8c\xde\x86\xb4\x36\xe8\x4b\x9b\xd9\xa5\x3a\x0e\x91\x65\x65\x24\x91\x9d\x54\xc9\x7e\x75\x54\xc9\xae\xc3\xdc\x1f\x97\xb6\x80\x7d\x92\x51\xa8\x69\x29\xac\xed\x5b\x5a\x8c\xe1\x87\x08\xc3\x63\x6d\xbc\xba\x36\x6c\xd1\xaf\x28\x63\xa6\x5f\xed\x94\xe6\x39\xb3\x02\xf3\x31\x35\xc4\x9b\xf7\x1b\x22\x66\xbf\xe7\x63\xc2\x5d\x61\xf8\x9e\x3b\x24\x43\xdc\x32\x87\xda\x41\x09\x2e\x83\xb9\xd1\x85\x75\x6f\x1d\x36\x8c\xcd\x90\x0d\x58\xaf\x43\x98\x41\x9c\xe4\x40\xa2\x28\xb9\xa6\x41\x73\xbd\x5c\xdb\x4f\xe2\x2c\x89\x68\xf3\x9a\xa4\xb1\x37\xc9\x46\xf5\x72\x11\x31\xa2\xc6\x6a\x40\x7e\x6e\x4b\x94\x70\xb3\x93\x35\xa0\xce\x2a\xdc\x98\x17\xb3\xf0\x93\xea\x0a\x92\x90\x64\x92\xcc\xd8\x5a\xe6\x2c\x0d\x27\xc6\x8a\x4a\xc3\xd8\x14\xce\x28\x95\x10\x62\x4a\x83\xec\x84\x2f\xd8\xf1\x90\x4a\xef\x84\x6d\xda\xe0\xf5\x6a\xb9\xf8\x31\x9a\xcd\xd3\x70\x82\xdb\x01\x9e\x59\x77\x51\x3d\xb9\x13\xf7\x8a\xe4\xe3\xe6\x84\xdc\x78\x46\xaa\x8d\x41\x63\x31\x02\x72\xfb\xae\x00\xc8\xd1\x95\x6a\x40\x6c\x20\x4c\x8a\x54\xd1\x1e\x0a\x5b\x1d\x5e\xab\x61\x6f\xc0\x55\xc0\xbf\x2d\xa5\x96\x53\x0c\x6a\x4e\xc8\xcd\x4b\xb1\x87\x5d\x35\x8e\x7c\xf3\x48\x1c\x37\x37\xb3\x79\xec\xf3\xd5\x55\x2f\xa5\xc4\xab\x2f\xe2\xd3\x41\x4a\xc9\xfb\xe2\x2a\x4e\xce\x14\x46\x6b\x65\x5e\xb6\xb2\x17\xaa\x0b\xc3\x26\x28\xe8\x0b\xb9\x46\x3c\xd4\x25\x98\xdd\xc5\x39\xfe\xa0\x0a\xd1\x22\x64\xb4\x2a\x5c\x90\xc5\xf6\x55\xd3\x8f\x48\x96\xb1\xf5\x76\x33\x4f\x46\xa3\x88\x7a\xeb\x68\xca\x6c\xf2\xea\x9b\x19\xab\xbf\xc9\xb4\x7c\xca\x28\xbe\x2e\x94\x2e\x3f\xe7\x53\xc9\xb5\x02\x42\x77\x6f\x61\x40\x52\x1b\xf6\x80\xa4\x45\xa8\xce\x6e\x9a\x96\x46\x05\x05\x0b\xab\x6c\xe7\xf0\xba\xe7\x9e\x94\x66\x4c\x54\xed\x21\x70\xce\xf7\x15\xa3\x65\xb2\x86\xb9\x83\x5c\x69\x03\x94\x40\x58\xad\xd1\x98\x59\x62\x81\xd5\x68\x25\x99\x6b\x16\x99\x07\xc8\x62\x0d\x90\x20\xcc\xfd\xb9\x88\x92\xd4\x6e\x55\xee\x70\x7b\xc6\x01\x5f\xa1\x71\xa8\x3a\xf4\x86\xc5\x3b\xe6\x19\xcd\x15\xf4\x32\x1d\xe5\x07\x4f\xaa\xef\xd2\xb5\xcd\x24\x36\xf9\xe5\xb6\xe1\x3e\xcf\xaf\x2f\x1e\xf0\x05\xa4\xa8\x1e\xf6\x32\x9a\x29\x9d\x24\x57\xcb\xd0\x54\x73\x9a\x83\x4e\x96\xa2\x60\x38\x29\x92\x55\xd6\x58\x89\xf8\x7a\xb3\xd1\xa6\xc0\x20\x14\x7b\xe3\x56\x2f\x19\xf6\x12\x93\x24\xc6\x9f\xca\x98\x6d\x40\x0d\xcd\xd9\x9a\x69\x8d\xd3\xab\xe2\x99\x38\xd6\x51\x3b\xef\xc5\x51\x56\xb9\x5e\xc9\x19\xa7\x79\xd8\x6a\x1e\x9d\x1e\x32\xf3\xeb\xfc\x85\x35\xb2\x6b\x56\xed\x32\xf1\x49\x10\x78\x02\x37\x93\x28\xd8\xd4\x38\xb9\xe6\xa3\xeb\x15\xb3\x9c\xa2\x8e\x67\x35\x73\x4e\x07\x5d\xbe\xb4\x64\x61\xf9\x05\x70\x74\x12\xe6\x9e\xa2\xd0\x8f\x98\xc8\xea\xec\xe3\x37\x75\x70\x7e\x5b\xa9\x08\x06\xd1\x6c\xe1\x26\x9d\xbd\xb2\x60\xa5\x8b\x0b\x0b\x36\xa6\xcf\x8a\x50\x96\x0c\x29\x83\xb3\x60\x44\x05\xa5\xf8\x8c\x8e\x3f\xe6\x0d\x9e\x38\x37\xe8\xf3\xd9\xc6\xfd\xcd\x9d\xc6\x5d\x0a\x9d\x7b\xe8\x17\x48\xf6\x8a\xa3\xac\x65\xa7\x30\xca\x82\x68\x1f\x31\xc8\x61\x1c\xe6\xdf\x44\xc9\xa0\x42\xbb\x30\xf5\x7a\x89\xde\x43\xa6\x7e\x65\xa9\x08\xdf\x4c\xb4\x46\x9d\xad\xf6\xcd\xe3\x8f\xb2\x98\x57\xe6\x32\x86\x31\x33\x19\x8f\x18\x3a\xae\x01\x35\x3f\x99\xce\x0b\x2c\x42\xe3\xbc\x28\xf7\x97\xc5\x83\xb8\x22\x0b\x70\x36\x76\x0d\xaf\xe1\xf0\xd7\x64\x8d\xc9\xf3\x1c\x6c\x87\xb3\x5b\x83\x93\xa5\xbc\x53\xaf\x09\x2e\x29\x35\x25\x59\x4e\x05\x88\xef\x53\x32\x9d\x52\x5b\x20\x24\xf6\x52\xae\xcc\xd6\xcd\xba\x66\xf3\xdc\xd3\xd5\x24\x8f\x21\x42\x58\xa9\xd6\x70\x35\x5c\x49\xd3\xe5\x75\x94\x4c\x09\xcf\xae\x66\x98\x1d\x87\x29\x1d\x26\x37\xd6\x76\x6e\x09\x32\x8e\x40\x90\x5c\xc7\x8b\x87\x4c\x36\x81\x19\xcd\xc1\x2c\xcf\xd9\x7a\xbb\x0b\x1d\x97\x7d\x6f\x92\x28\x0d\x47\xe3\xfc\x30\x0a\xfd\xf7\x05\x3a\x5d\x16\xe8\xb2\x70\xc0\xca\x4c\x70\x5b\xf6\x5f\x59\xd4\x4d\x71\x27\x61\x42\xe3\xd9\xf2\x8e\x7e\x19\xfc\x6f\xcb\x3b\x27\xf6\x78\xbd\x0c\xe3\xd9\x92\xd1\x22\xb3\x1b\x9f\xe1\xf2\x51\x83\xd5\x85\xf6\xb2\xd1\x62\x0a\xf2\x8c\xde\xe4\x6c\xed\xf3\x1d\x33\xde\xf1\x50\x5b\xcc\x88\x9f\x7b\xe0\x8a\x73\x11\xd3\x4a\x4b\xe7\x22\x4d\x8b\xf7\x74\xee\xe0\xdb\xa2\x9e\x51\x2e\x3c\xc4\xcf\xc3\x2b\x2a\xbc\x78\xe0\x1e\xd7\x8d\xab\x2b\x1d\x6c\xfc\x3d\x9d\xf7\x93\xeb\x98\x35\x23\x3a\xd1\xc0\xa3\x73\x43\x6e\x4b\x38\x4e\x53\x9a\x2d\x33\x82\x3e\x37\x92\x6f\x59\x9b\x77\xc2\x72\x36\x5d\x82\xe2\xbd\x6b\x92\xbd\x4a\xe2\x00\x0f\x93\xbf\xa5\xf3\x37\x71\xc4\xfd\x61\x58\x59\xe7\xf4\xcd\x37\x33\x0b\x93\xe6\xed\x02\x84\x0c\x1d\xb9\x7c\x6c\xef\x32\x1e\x36\xe0\x65\x03\x52\x41\x44\x50\x5b\x05\x7c\x0d\xaa\xce\xac\x97\xb6\xe9\x6b\x57\x79\x34\x21\x6b\xc2\x24\xf2\x8b\x2e\xf4\xcd\x62\x49\x14\x0b\xcf\x5d\xb8\xbe\x52\x83\xb3\x69\x40\x70\xe6\x58\xde\x22\x2f\xfa\xe9\x4d\xd2\x38\x58\xa9\x3d\x1a\x07\xab\x34\x86\xb9\x49\xec\xd5\x84\x59\x59\x0d\x9b\x77\xc0\xb8\x98\x20\x5d\xf6\x3e\xb2\x19\xcd\x20\x01\xc9\x49\x89\x45\xd0\xd5\x4c\xf8\x57\x70\x6f\x2d\x2c\xd7\xc4\x91\x6b\x00\x7e\xa7\x71\xb0\x82\x8d\x97\xd1\x34\x3f\x49\xae\x2d\xdd\x97\x26\xd7\xe6\xc6\xb5\xd8\x64\x4f\x85\xdb\x3b\xbf\x5a\x63\x6f\xa9\x23\x00\xa5\x49\x7c\xbc\xb7\x2a\x28\xe0\xd5\x82\xf0\xaa\x56\x76\x38\x48\xf9\xe1\x0c\x09\x63\x9a\x32\x23\x97\xc6\xc1\xe1\x38\x8c\x02\x6c\xdd\xe1\xb8\xc4\xcf\xef\x74\xa6\x30\x89\xd2\xe4\xba\xaa\x73\xc9\x94\xda\xfb\xf2\xdc\xd1\xb2\x01\x43\xd3\xec\xaf\xb6\x63\x8d\xcd\x03\x75\x50\x19\x84\x57\xb6\xd7\x0e\x77\xed\xd4\x2e\x9c\x46\xba\x36\x8e\xee\x19\xa9\x0b\xf7\xfa\x65\x2f\xe4\x7d\xe7\x0c\x88\x84\x2d\xd7\x14\x0e\x52\x0a\x03\x43\x6e\x21\xf3\x0a\xcd\xe4\x3a\xa6\x69\x5f\x8e\x89\x38\x6b\xf8\x7d\x48\xaf\x4d\x67\x2b\x7d\xc1\xa1\xb2\xaa\x51\x1c\x3d\x57\xbb\x76\xd5\x65\xfe\xa9\x07\xa5\xbd\x88\x12\x84\x6a\x7e\xa9\xd8\xc2\xc0\x55\xb4\x5c\xd0\xac\x52\x96\x9f\x80\xae\x5a\x70\x13\x0f\x5a\x37\x6b\xf2\x28\x02\x7f\xd6\x0f\x3e\x72\x2f\xad\xd4\x64\x46\xf3\x5e\x9e\xa7\xe1\x60\x96\x53\xaf\x96\x13\xa6\x21\xe8\x4d\xad\x61\xfb\xb3\xc9\x5d\xe1\x23\x45\xb4\x55\xe9\x55\xa8\xe9\xee\xa2\x2c\xe4\x24\x8a\x29\x8e\x2e\x90\xae\xd6\xf4\xc6\xf5\x47\xa0\xaa\x2b\xbb\xb1\xe5\xe7\x4b\x9b\x4c\xe1\x2f\xec\x6a\x25\xe2\xba\x81\xba\xcb\x15\x4e\x69\xa2\x3b\xe0\x5e\xae\x5c\x81\xbb\x2c\xb7\x1a\xa9\xcb\x60\x2d\x3f\x3f\x43\x6b\xde\x01\x57\x4b\xd9\x3a\xb1\x64\x2b\x81\xd5\x10\x34\x61\xb9\x14\x75\xd1\xab\x4f\xf9\x08\x36\x49\x9e\x13\x7f\x7c\x96\xf4\x93\x89\x32\x3b\x1b\x76\x65\x13\xe0\x18\x27\xc9\x8f\xe9\x6e\xa1\xa6\xbb\xc7\xbc\xd0\x8a\x9d\x2e\x40\x34\xeb\x48\x4b\x64\x01\x7e\xb2\x48\xcd\x55\x6f\x11\x76\x9b\x8b\x6b\xda\x9a\x84\xcc\xf2\x44\xdc\x83\xaf\x35\xa0\x96\x0c\x87\x2b\xd7\x22\xd3\x30\x27\x51\xf8\x17\x7a\x87\x8a\xd9\x94\x46\x91\x3f\xa6\xb8\x22\xac\xe1\xc1\xaa\xbb\x5a\x4e\x06\x2f\x98\x86\x2b\xb8\xd7\xaa\x7c\x12\x04\x68\xcd\x33\x12\xd0\x98\xa6\x9e\x63\xf3\xd6\x9c\x35\xf9\xf6\x7b\xe5\x1e\x26\x4e\xdb\xb7\x85\xdd\x96\x65\x2d\x96\xf6\x16\x2b\x1a\x74\x6c\xa7\x55\xb7\x57\x64\xc3\x12\x57\x49\x84\xec\xcb\x1b\xca\x4a\x64\x93\xf5\x1d\xb8\xbe\x50\xb3\xc8\x57\x46\x36\x6a\xff\xaa\xba\xdc\x36\x95\x3e\xb0\xe5\xab\xb6\xcd\x52\x5a\x71\x9b\xc9\x85\x4d\xd9\x65\x79\x29\x75\x0a\x10\x6c\x5d\x43\xd2\xd3\xf0\x2f\x14\x4f\x10\x97\xcf\x90\x78\x8c\xb7\x50\x43\x94\x1b\x77\xb4\x20\x00\x18\x1e\x6a\xea\xd4\xb8\xe4\xa7\x86\x39\xca\xbc\xf6\xca\x46\x9b\x30\xb5\x4a\x0d\xd3\xf2\x14\xeb\xeb\xfb\xaf\x72\x58\xcc\x1b\xb1\x4d\xe3\x57\x51\xaf\x2e\xd0\x5b\x06\x54\x5c\x7c\xe0\xe5\x88\xf0\x2f\xd4\x1f\x93\x78\x44\x83\xc5\xd2\x20\xd6\x3b\x26\x91\xd4\x19\xe6\x6d\x55\x2b\x13\x81\xa3\x6b\x06\x17\x1d\xd3\x57\xaf\x9b\xf2\xab\xc7\x0d\x70\xd7\x7c\xdf\xa8\xb2\x22\x1a\xa5\xc6\x2b\x9c\xe5\x59\x9b\xfa\x96\x73\x53\x7e\x2d\xf9\xe7\x3b\x9c\xe6\x59\xd5\xf2\x5d\xe6\x66\x31\xc9\x44\x1f\xfd\x02\x1a\xe5\x29\x79\x31\xba\x25\x8f\xee\x55\x97\x8a\x97\x56\x6f\xd5\x7d\x0f\x09\x6e\xd9\x92\x71\x31\x02\x31\xbd\xd6\x96\x4d\xc3\xda\x39\xbb\xc9\xcb\x58\x28\xdd\x2b\xb7\x30\x58\xc2\x41\x55\x21\xe5\x8c\x56\x91\xcf\x5b\x76\x32\x1c\xc3\x8d\x9b\x8b\x45\x0e\x96\x4b\x46\xf7\xa6\xa1\x3a\x3a\xaa\x1f\xd8\x00\x4b\x36\x66\x69\xf2\xf8\xac\xcd\x2d\xf1\x49\x11\x7a\x45\x1e\xcd\x98\x67\xe0\x62\x9d\x2e\x8e\x84\x2a\xfd\xdf\xd0\x85\x8b\x66\x19\x19\xe1\x4e\xd2\x1f\x93\x19\x04\x61\x80\x2e\x56\x53\x82\x5e\x5b\x14\xfe\x84\x40\xfe\xa4\x2e\x2e\x43\x18\xc3\x9f\x2a\x96\xd8\x5e\xfd\x4f\xcd\x1f\x62\xc3\xa7\x4b\x02\xdf\xe8\x42\xed\xcc\x05\x2c\x4e\xae\x41\x79\xbe\xe6\x09\xfc\x29\x4f\x67\xf4\x4f\x30\x98\xe5\x80\xdc\x18\xc6\x23\xee\xeb\x86\xa6\x50\xf3\x5d\x06\xdb\xcd\x16\x54\xb4\x10\xe6\x70\x1d\x46\x91\x04\x88\xf0\xd0\x18\xf9\x53\xd3\xa8\x61\x7b\x88\xf1\xea\x06\x7b\xa9\xc3\x52\x75\x17\x49\xef\x94\x0f\x8b\x87\x84\x38\x04\x16\x87\xde\xaa\xad\xa9\xc2\xce\x7f\x69\xbf\xdc\xe1\xa0\xc0\xd9\xc2\x9c\xbd\x46\x34\xd7\x42\x5a\x47\xef\xe8\x88\x4c\x33\xbc\xce\xa2\x2a\x34\xc3\xec\x50\xa6\x37\x20\xcc\x4e\x98\xd6\x66\x5d\xe0\x5c\x60\xd4\xe9\x42\x6d\x90\x24\x11\x25\x71\x0d\x9e\xc2\x3d\x9d\xb3\x6f\x40\x63\xd5\xb0\x28\xc2\xa9\xd9\x07\xa6\xf7\x04\x78\xa7\x23\x44\x49\x56\x6f\xcb\x42\xc9\x96\xb8\xb8\x9d\x6f\xe9\x7e\x6e\x52\x31\x1e\xaa\x15\x76\xa8\xa2\x84\x04\xbd\x20\x28\xf8\x55\x12\x96\xd2\xc0\x60\x50\x78\xe9\xc6\xdc\xa3\x4a\x6d\x57\xbb\x05\x01\x55\x3a\x3b\x75\x6f\xbd\xb9\xb5\x0e\x1b\x80\x00\x61\x03\x6a\x5b\x35\xf9\xab\x7c\xb4\x63\x88\x96\x08\xfd\xc4\xc8\x24\xb1\x72\xb9\x96\x8a\xb6\xbc\xf3\x5a\x73\x0b\x81\x66\x1a\xbe\xdd\xda\x85\xd1\x9b\x05\x67\x4a\x92\x7b\x29\xdf\x25\x3a\x24\x31\x93\x56\x46\x24\x20\x32\xbe\x0c\x13\x98\x64\x96\x03\x61\x36\xdb\x24\x89\x7f\x77\x0a\x49\x0a\x27\x1c\x95\xdf\x9d\x02\x8d\xaf\xc2\x34\x89\xad\x3d\x24\x70\x3a\x46\x56\xf9\x9f\xb8\xe6\xfc\x6a\xc7\x13\x97\x01\x85\x0a\x9c\xcd\x7a\x68\xae\x29\x14\xd6\x9b\x7c\xcd\x73\x1d\x06\x74\x93\xd5\xfb\xf1\x1a\x7d\xb3\x95\x2f\xa8\x69\x44\x60\x16\xdc\x87\x0e\x6c\xc0\xfa\xf4\xe6\xe0\x76\x1d\x36\x2c\xa6\xf4\x24\x38\x7e\xff\x72\x45\x80\x12\x58\xbd\x0a\x1a\xea\xe1\x27\x10\x84\x57\x3f\x8e\x69\x38\x1a\xe7\x6e\x68\x3c\x4f\x83\xab\x74\xa1\x90\x12\x51\x79\xb8\x8e\xb7\x57\x6d\x85\x62\xed\x48\xe2\x59\x02\xea\x84\xed\x8e\x30\x4c\x25\x9c\x8c\xc6\xc1\x33\x3c\x7a\x2b\x9c\x2f\x30\xb8\xfc\x4c\xae\x01\xd3\xc4\xf0\x89\x92\x07\x75\x30\xa2\xb9\xae\xa9\xf3\xa7\x09\x1b\x6a\x11\x35\x85\x29\xa8\x13\x72\xfd\x6c\x9e\xd3\xc3\x24\x49\x83\xcc\xa3\x57\x1c\xb9\x82\x55\xc3\x43\x7a\x68\xea\xc8\x14\xbc\x24\x2e\xcb\x67\x05\xef\x8c\x7b\xd3\x24\xab\x5b\x63\x50\x3c\x74\x62\xdd\xe3\xe7\x3f\x46\x5f\x0c\x28\xd2\xa9\x91\x5e\x35\x93\x2b\x9a\xa6\x61\x40\xcf\x98\x7a\xfb\xf0\x01\xe8\x15\x6a\xba\xa2\x22\xe3\xee\x7a\xfa\x3c\xda\xf6\xd5\x43\x02\x28\x6a\xf3\x36\x0f\x4a\x25\x0a\x1e\x80\x05\xb0\xb3\xe9\x42\xa0\x72\x08\x57\x02\x78\x3d\xa6\x34\x72\x80\x2b\x54\xb8\x35\x14\x8a\xc5\x1a\xaf\x92\x2b\x5a\xc9\x18\xd0\x95\x68\x15\x58\xe4\x57\xc5\x02\x02\xd7\x0d\x9b\x72\x8b\x18\xa3\x40\x07\x1a\xfb\x49\x40\xd1\x04\x6e\x80\x3f\x2e\x1d\x39\xf2\x55\x8e\xb8\x81\xed\x3a\xe0\xf6\x79\x68\x8a\xce\xee\x6e\xbd\x34\x10\x42\xa7\xa2\x4d\x8d\xc7\x16\x45\x8f\x65\x01\xe0\x09\xb4\x3b\x0f\xca\xd5\x19\x68\x96\x63\xd7\xd1\xd0\xfc\xb1\xd3\xf5\xa8\x30\x69\x14\x11\x6d\xed\x38\x9a\x5a\x15\xd3\xc7\x88\xa9\xe3\x04\xbf\x02\x2b\x28\x39\x2c\x3b\xb0\xb3\x28\xe1\xc6\x4f\x91\x83\x65\x97\x45\xc4\xc0\xfb\xe6\xb0\x05\x1f\x38\xac\x27\xa0\x62\xa1\x54\x15\x7e\x28\x0b\x7f\x0d\xad\x9b\xed\xe3\x62\xf1\x62\xb4\x19\x87\x10\x95\xf9\xac\xc0\x42\xc8\x41\x3a\x30\x40\x91\x78\x82\x83\xbf\xee\xc2\xb6\xdd\xf6\x34\xc9\x9a\x37\xb0\x59\xd6\x09\x2c\x63\xee\xca\xc0\x50\x55\x24\x27\xd0\x2d\xc7\x0d\x33\x5d\xd6\x3a\x3b\xb5\xf2\xe0\x1a\x2e\x1a\xad\x32\xfd\x11\x2c\x33\xb3\xdb\x85\xaa\xca\x34\xb2\x5c\x3c\xaa\xeb\x6f\xaf\x50\xbf\xb3\xa0\xfe\xee\x0a\xf5\xb7\xab\xf8\xbb\x5c\xb5\xba\xa1\x56\xad\x2c\x76\x98\xf1\xd3\x39\x33\xdb\xf8\xe8\x6c\x40\xad\x21\x7f\xe1\x2d\x9c\x8b\x1f\xd2\x42\x3d\x1c\x7e\x74\x23\xc4\x65\xf9\xc1\x42\x75\x76\x5b\xe6\x1c\x1d\x8f\xe2\x0b\x72\xce\x72\x06\x50\x93\x42\xe7\xa3\xc6\x5f\x55\xdf\xf9\xa8\xe1\x57\xd5\xf7\x3e\x6a\xf4\x55\xf5\xed\xaa\xb1\x59\x28\x2f\xb5\x12\xc0\x0d\x01\xd2\x91\x51\x3b\x70\x15\xb7\x10\x84\xa7\xb0\x03\xfb\x2e\x2a\x57\x55\xc7\x81\xbb\x53\xe9\x9b\xd5\x51\x63\xc5\xa7\x6c\x19\xfd\xe1\x43\x05\x4e\x5f\x5f\x17\xaf\x39\xac\xc0\xb8\x3a\x20\x49\x91\x71\xef\xce\x9f\x58\x63\x63\xc3\x51\xba\x98\xb8\xea\x90\xaa\x21\xe4\x74\x31\x25\xfa\xc0\x92\xe8\x57\x1f\xd1\x75\x19\x9e\xe5\xd3\x3b\xbe\x62\x77\x1e\x3b\x07\xd6\x93\x5c\xf7\x35\x6c\xd7\x15\xeb\xa9\xb4\x9f\xb6\x61\x5f\xfc\xaa\xc3\x26\x6c\x3b\xe4\xee\xf3\x70\x58\x15\xf7\xba\xf1\xab\x4d\x6a\xb0\x8f\x74\x5f\x99\xf0\xc6\xc4\x77\x6e\xc4\x8b\xb3\x6c\x3b\xd1\xd1\x8a\x5c\xec\xd0\xa2\x4c\xd3\x77\x7c\xc5\x41\x79\xc5\xf8\x88\x5f\xd4\x6f\x0e\xd3\x64\xc2\x56\xcc\x87\x49\x40\x85\x2b\x37\xcf\xe1\x3b\xae\x15\xd7\xff\xad\x45\x58\xc5\xf2\x2d\x1b\x87\xc3\xbc\x01\x13\x8a\x06\x6c\x9e\x46\x18\x06\xfd\xcb\x2e\x82\x94\x3e\xa5\x57\xd2\xb5\xf3\x1e\xf7\x3d\x77\x1a\x6e\x4f\x61\x43\x15\x74\x16\xd8\x67\x80\xae\xc7\xa1\x3f\x5e\x08\x87\xc3\x52\x45\x37\xa1\x5d\x59\x6c\xbf\xe0\x09\x2f\x3f\x4a\x44\xb5\xcb\xeb\xab\xd3\x17\x47\x55\x37\x04\x55\x47\xcd\xd9\x0d\x9e\x42\x4b\x49\x0e\x26\xed\xc0\x53\x68\xab\xa4\x72\xab\xe5\xeb\x81\x1f\xb1\x48\xac\x9a\xc4\x16\x82\xeb\xbf\x79\x85\x9a\x88\x1f\x89\x2c\x19\xca\x80\xe6\x24\x8c\xe0\x31\xb4\x2a\x86\x71\x6f\xa7\x62\xf8\xf6\x76\x3f\xc7\xb2\xd5\x40\x05\xcb\xf4\x69\x94\x93\x3f\xc2\x93\x2f\x82\x8f\x11\x3e\x92\x49\x10\x6f\x16\xbf\x7e\x4b\xe7\x72\x86\x36\xb7\x9a\x51\xbd\xd0\xab\x26\xfb\xc6\x8b\x3c\xb4\x8b\x30\xe1\xe3\x45\xd8\x37\x5e\xa4\xbd\x57\x00\x93\xe0\xe6\x2d\xb6\xf8\x81\x03\xfd\x80\x15\x0f\x5c\x6b\x86\x4e\xc5\x9a\x81\x41\xf9\xba\x5b\xa8\x57\x58\x00\xea\xd5\xab\x11\x7f\xcc\x05\xa8\x6b\xe2\xa7\x81\xa8\xd1\xf0\xb6\x3b\x4c\x57\xb3\xa2\x8f\x1f\x43\xa7\x5e\x57\x53\x67\x69\xf3\xd0\x4c\x56\x7b\xe1\x34\x5a\xe0\xe2\xef\x5e\x6f\x9b\x57\x32\x16\x4e\x01\xf6\x06\x57\x41\x43\x97\x36\xa4\x57\xa0\x6c\x51\x4b\x76\xb5\x44\x16\x27\x66\x77\xcb\x06\x35\x8c\x40\xb6\x76\x19\x87\xc5\x60\x8e\x91\x05\x2b\x89\xc5\x32\x40\x9d\xe7\x72\x84\x26\xc9\x15\xad\x35\xd4\x36\x4e\x71\xe3\x04\xeb\xc8\xa8\x75\xa5\xf8\xae\x15\x30\x6d\x07\xec\xd9\xb4\x30\x3e\xab\x74\x7d\xb5\x4e\x29\x44\x86\xc3\xbb\xf6\x6e\x69\x55\xec\xc4\x6c\xea\xa8\xb2\x6c\x58\xc0\x38\xad\xb0\x87\x69\x51\xcd\x5b\xed\x90\x8c\x9c\xce\xb5\xdb\x67\xe5\x72\x45\x50\x39\xa0\x56\xe9\x0f\x1f\xa0\xb0\xc5\xe0\xcc\x36\xd6\x91\x1f\x25\x52\x9f\x9b\x06\x77\x15\x74\xd6\x43\x79\x41\x3e\x89\xbf\x67\x2d\x7c\x3c\x82\x79\x32\xf3\xc7\xd2\x11\xfe\xcb\x61\x79\xc6\x9a\xe1\x81\x14\x3e\x0d\x55\x21\x0f\x5f\x18\x53\xb9\x1f\xbc\x3a\xa2\xee\x33\x8d\x80\x66\x79\x9a\xcc\xab\xcf\x84\x8c\x78\x90\xae\xa8\x7d\x15\x59\x97\x78\xf9\x47\xc6\xe4\x51\xc9\x63\x15\x6c\xd1\x3e\x76\xbf\x2d\x40\x2d\x9d\xb0\xc8\x12\xea\x8e\xb3\xf4\x4b\xfe\xfa\x6b\xdb\x0b\x90\xbb\xe8\xbc\x4e\x02\x5a\x3a\xfe\x2d\x17\x11\x57\x3c\x2b\x3d\x79\xaa\xaf\xf1\xcb\xe8\x1d\x1a\x49\xe1\x93\x41\xe3\xc0\x3a\xe3\x34\xbd\x39\x4a\x18\x29\x37\x0f\xbc\x1b\x20\x22\x60\x98\x90\x16\xa3\x51\xbe\x51\xb0\x2a\x46\xca\xbf\xd3\x44\x09\x7d\xa4\x64\x38\x44\xac\x8c\x0e\x53\x5d\x06\xa1\xe4\x2b\x05\x65\x57\x51\xfe\x6d\x7e\x92\x5c\x7b\x61\xf9\x68\xb9\x2a\x3e\x81\xba\x41\xed\x64\x41\xed\x89\x6f\xc4\xfd\x2d\xd1\xd1\x8e\x09\xdc\x3e\x28\x52\x59\xdc\x2f\x66\x3f\xe6\xc2\x45\x63\xbe\x84\xb6\xdc\x3f\xc4\xc2\x29\xcc\xf8\x15\xca\xc0\x3c\xf1\xc3\xbb\x0c\x45\xda\x52\x2b\x12\xb6\x91\xaa\xc2\x8b\x54\x04\x95\xd4\xc1\x5c\xda\xc5\x6b\x44\x18\x9f\x65\x73\xd3\x9e\x69\x78\x0e\x06\x5c\xb9\x87\x7b\x81\xae\x11\xc2\x7c\xb3\xa6\xb9\x3f\xae\x61\xcb\xdd\x19\x4d\x72\x2b\x72\x64\x09\x63\x19\xfd\x45\x43\x30\x8d\x49\x7e\xbd\x44\xe7\x59\x21\x82\x54\xbc\x64\x56\x6a\xb3\x10\x49\x19\x36\x85\x07\x93\x11\x6d\x59\x63\x86\x70\xbb\x8e\xc0\x3b\x77\x08\xd3\xa9\x7c\x6c\x1a\xa0\xc7\x74\xd1\x59\xbe\x01\x2f\x9b\x62\x50\xbd\x34\xb9\x6e\x80\x74\xf7\xb9\x0b\x64\x1d\x14\x54\x05\x99\x2e\x8d\x9c\x1e\x59\xa4\xdc\x82\x91\x2d\xf2\xc4\x8a\xe3\xb7\xd2\x38\xda\xdc\x62\x7f\x2b\x13\xa4\x3c\xd2\xaa\x83\x0d\xe5\x08\x65\xb0\x1c\x77\x4c\x40\x0f\x95\x02\x3d\x4c\x6f\x93\x8a\x52\x9c\x29\xca\x6e\x29\xca\xa9\x4b\x77\xac\x3a\x30\x0a\x96\xed\xf3\xbe\x1b\xfe\x78\x61\x36\x6d\x40\x36\x9b\xe2\x81\x2a\xa7\xde\x91\x79\x61\x16\xef\x5f\xb2\x5a\x8f\xab\x06\x8d\xd3\xd3\x35\x68\x0b\x6e\x62\x96\xc6\xcb\xe1\xd9\xa4\xd6\x8a\xd8\xc2\x86\x39\x7c\x4f\xcc\xf1\x2b\x89\x42\x45\x08\xd8\xa2\x16\xe0\x60\xbb\xc0\xfe\x2d\x28\x35\xd1\xca\xa2\x46\x16\xeb\x03\xed\x96\xa3\xcb\x16\x28\x68\x41\x69\x15\x85\xe6\xde\x82\x31\x59\x89\x0d\x0a\xbd\x5d\xe0\xb3\xb7\x88\x61\xde\x92\x51\xc1\x83\x66\x4a\x46\xf4\x30\x99\x69\x6c\x0c\x46\x65\xec\xa5\x0b\xc0\x7d\xf0\xec\xb6\x96\x34\x76\x96\xf0\x20\xf4\x55\xe1\x81\x74\x1b\x9b\x2b\x73\xfc\x59\xa2\x02\xd8\x2f\x07\x6b\x48\xf5\xe6\x2a\x42\x55\xb6\xdd\x4c\xff\x56\x6d\xde\xf1\xe0\xc6\x5c\x39\x1b\x47\x6d\xc5\x40\x6e\x4d\x3b\x22\x24\x33\xf6\xb8\x66\x2b\xc7\x94\x96\x76\xa0\x09\x5e\x46\x75\xeb\x2e\x7c\xcc\xc7\x11\x8d\xb9\x6a\xb7\xb8\x7f\xb8\x5d\x9c\x96\x5d\xd1\xad\x5d\x1e\x89\xf7\x34\x76\x46\xb4\xec\x45\x58\x3b\x84\xa3\x1c\x6c\x5b\x37\x05\x8b\xc2\x27\x65\x34\x3f\x0b\x27\x34\x99\xe5\xcb\x42\x24\x85\x71\x4c\xd3\xef\x59\x3b\x96\x7b\xe0\x12\x6b\x49\xd7\xaa\x74\x8d\xe2\x5d\x64\x34\x92\x3a\xc2\xec\xb4\x98\x45\x5a\x8d\xd2\x8b\x4a\xa2\x65\x11\x8f\x5b\x43\xa9\xa0\x93\x71\xbc\x60\x94\xc5\x4d\x3c\xb3\x43\xac\x18\xb3\xee\xd0\xbf\x80\x43\x52\xf7\x45\xdf\x35\xc0\xcf\x1a\xe0\x8f\x1b\xe0\x27\x01\x6d\x40\xc4\x26\x7b\x7f\x7c\x89\x5e\x67\x0d\x6d\xf2\x59\x2c\xeb\x64\xc9\x32\xba\x38\x2f\x2c\x1a\x77\xe7\xc4\xb1\x94\x2f\x8b\xe1\xef\x2a\x79\xb3\x10\x4c\xf1\xd6\x69\x2a\xa3\x09\xaa\x54\xb9\xdb\x9c\x3e\x8a\x03\x47\x09\xe4\x40\x61\x87\x63\x1e\x0f\x92\xcf\xff\x29\x9e\xaa\x9b\x05\x32\x9a\xa3\xfd\xee\x61\xed\x62\xa1\x92\x1d\x30\x2f\x96\xb0\x8c\x7c\xb3\x1b\x8d\x22\xd6\x6e\x73\x6c\xb9\x04\x7e\x39\xe1\xd2\xb7\x48\xab\xad\xcf\x85\x71\xf6\xab\xc4\x12\x2b\x45\xf1\x0a\x0a\xd9\xe3\x2e\x13\x50\xfb\x21\xfd\xa1\xe4\xd9\xab\x01\xf2\xdb\x80\x87\xf2\x81\x93\x20\xb9\x8e\x9f\x3b\x96\xf4\xbe\xa3\x80\xa9\x0b\x0c\x57\xf6\x6a\x88\x1e\x46\x11\xed\x1f\xbd\x3d\x39\x3a\xec\x9d\x1d\xf5\xf1\x35\x46\x74\x1b\x1f\x50\xe0\x0b\xf7\x00\xb2\x24\x89\x9b\xf0\x36\xa2\x6c\x8a\x9a\x65\x14\x0a\xf0\xcc\x27\x58\x18\xc0\x38\xcb\x29\x09\xa4\x97\xf9\x02\x0f\x73\x24\xcd\x22\x60\xce\x3e\xae\x48\xb7\xc2\xc3\x30\x0e\xc2\x99\x25\x6c\x17\xdd\x0a\x18\xce\xf4\x05\x41\x01\x9f\xcf\xa7\x34\xcd\xe9\x4d\xfe\x32\x8c\xdf\xbb\x50\x29\xbc\xf9\xa3\xe7\x30\xe7\xde\x41\xe9\x56\xbc\xf0\x77\xe6\x1d\x07\x02\x63\xd9\x1e\xb0\xfa\xf2\x99\x35\x18\xd0\x61\x92\x52\x33\x7c\x32\x8d\xd9\xb0\xfb\xf8\xee\xb0\xe3\xde\xbc\xde\x6e\xa8\xe8\x84\x67\xbf\x40\xf4\x91\xb6\x9e\x01\xfb\xf7\x24\x0a\x03\xfe\xba\x8e\x70\xfb\xb6\x87\xcc\xe1\xd9\xfe\x79\x08\x75\xa5\x1a\x56\x0e\xe7\x9f\x8b\x5e\xe5\x3e\x79\x05\x9f\xf6\x8f\xa3\x5b\x4a\x47\x61\x96\xd3\x94\x8d\xc7\x2b\x36\xe7\x14\x98\x2a\xa5\x23\x7a\xd3\x90\xa3\xaf\x5e\x8d\x5a\x6d\x7f\x0a\x35\x07\x07\xfa\x22\x28\xbd\x66\xe2\x6a\xbb\xb2\xbd\x8a\xc9\x63\x41\x4c\x59\xf9\x64\xaf\x6c\x7f\xb1\xe2\x0d\xe8\x32\x4a\x28\x40\xab\xf5\xbd\x9c\xeb\x6e\xc3\x80\xeb\xb4\x21\x56\xe8\xe9\xe2\xfd\xba\x31\xc9\x4e\x8d\xfb\x2f\x8b\xc3\x09\x96\x2e\x50\x99\xb5\x17\x44\x2d\xff\x84\x16\x54\xc2\x19\xde\x55\x5b\x10\x95\x73\x71\x23\x6e\xe8\x76\xc5\xea\xc8\xeb\xbc\x62\x2f\x5a\x10\xe4\xb3\x02\xf3\x5e\x14\x55\x83\x15\xf1\x8b\x0a\xf1\xe6\x4a\x1c\xe4\x9e\x23\xa4\xcd\xe9\xcc\x45\x30\xcc\xf4\x44\xab\xc2\x71\x3f\xc6\xbd\x65\xe0\x0c\x72\x69\xde\x6f\x13\x7b\xb7\xa5\xd8\x3b\x22\x60\x93\x88\xb4\xe3\x2c\x53\x2f\x46\x8a\x72\x6c\x8b\x19\x4b\x52\xa7\xc5\x6c\xad\x78\xcb\xf7\x9d\x16\xf5\xcf\x69\xee\xe1\x8e\x2f\xcd\x66\x91\xb2\x8e\xe9\x15\x89\x66\x24\xa7\x8c\x9e\x96\x69\xae\x0f\x5f\x70\xdb\x12\x2b\xb1\x6e\x23\x95\x2b\x57\x97\x4e\xb3\x4f\x3f\x8c\x54\xb9\x23\xb4\x1a\xfc\xf6\x32\xf8\x25\x2a\x18\xb0\xf5\xb6\x40\x79\xc5\xac\x77\x0c\xca\x85\x4b\x3a\x94\x0f\xb7\x3c\xa1\xb2\xa2\x61\xe9\x46\xc3\xec\x6c\x1c\xa6\xc1\x4b\x7a\x45\xa3\x53\x5c\xbd\xe5\x78\x83\xa6\xc0\x13\x12\xa4\x63\xc5\x2d\x30\xe1\x0d\x95\x8f\x0c\x96\xb4\x7f\x4f\x53\x74\x85\xf6\x8c\xcd\x27\x1d\x8a\x4c\x31\x80\x9d\x5b\x6b\x80\x86\x5d\x2c\x55\x0e\x28\x8b\xc9\x62\x02\x33\x86\x59\xe4\x2e\x26\xa9\x5b\x8b\x54\xb2\x6c\x85\x5e\xb1\x98\xde\xb8\xe0\x86\xcd\x59\xaf\x74\xb0\xcf\x7b\x3a\xdf\x07\xbd\x0f\xae\x57\x49\x8a\x23\x8c\x6c\x4e\x42\x2d\x5b\x93\x84\x07\x8c\xcb\x0a\x2e\x3e\x8f\x1f\x43\x0b\xd0\x09\x8e\x44\x32\xa1\xcd\x13\xa4\xff\xce\xe3\xc7\xd0\xe1\x29\xd2\xe9\xe7\xf1\x63\xe9\x7e\x65\xf8\xd5\xbd\xa7\xf3\xc3\xc2\xe1\x20\x7a\x3a\x3d\x2c\x3f\xae\x60\x20\xe0\xda\x3c\x37\x45\xce\x2d\x70\xcf\x4e\x57\xf2\xb4\xb2\x3d\xce\x96\x83\xed\x1f\xbd\xb4\x01\xb8\xe2\x98\x3f\xfa\x02\xfd\x91\xce\x92\xff\xd2\xf1\x18\xc4\x67\xe8\xd7\xf3\xb3\xa2\x6b\x8e\x21\xc0\xa5\xbd\xae\xaa\x8e\xb7\xb7\xf7\xef\xd8\xee\xe1\xc9\xe7\x68\xb7\xf3\xe0\xae\xed\x1e\x9d\x1e\x7e\x8e\x86\xb7\x1f\x94\x87\x5a\xc9\xd1\xa7\x0d\x74\x1b\xdd\xab\x35\x34\xd8\x80\x76\x9d\xe5\xf4\x1d\x1c\x50\x9a\x86\x96\xc1\xde\xee\xd7\xaa\x7c\x39\x2d\x14\xc5\xf1\x9d\x76\x02\x25\x7e\x1d\x9e\x2e\x84\x3e\xa8\xc1\xfe\xb2\xe6\x77\x5d\x9d\xb8\x5d\xc0\xc1\xf6\x11\x46\xe9\xd5\xd5\x4f\x22\xf5\x9b\x22\x32\x2b\x5d\xc4\x5a\x7d\x24\x17\x83\x77\xb2\x95\x43\x83\x7c\x69\xb6\x3a\xfc\x2c\x6c\x75\xf8\xc5\xd8\x6a\xb8\x0a\x5b\xb9\x3a\xf1\x8b\xb1\x55\x11\x99\xcf\xcc\x56\x8b\xc1\x3b\xd9\xca\x31\xd1\x7e\x69\xb6\xea\x7d\x16\xb6\xea\xad\xc6\x56\xcb\xd8\xc3\x85\xcc\x2f\xc6\x1e\x45\x64\x3e\x33\x7b\x2c\x06\xef\x62\x8f\x9d\xd6\xdf\x9e\x3d\x9e\x7d\x16\xf6\x78\xf6\x79\xd8\xc3\x85\xcc\x2f\xc6\x1e\x45\x64\x3e\x33\x7b\x2c\x06\xef\x64\x8f\xdd\x32\x7b\xdc\x33\x17\x0a\x5f\x7f\x0d\xf7\xf4\xa2\xe0\xd3\x18\xa6\xf3\xd3\xdd\xf1\xdb\xfb\x62\xec\xbb\x5d\xc5\xbe\x8b\xb1\xfc\xe4\x41\xda\xbe\x3b\x15\xb6\x17\x52\xe1\x4b\x88\xf0\xf3\xaa\x9b\xc6\x15\x52\xf1\x09\x32\xe1\x6a\xea\x13\xba\x54\x04\xe7\xa4\xa7\x83\xeb\xbf\x2c\x3d\x8f\xff\x76\xf4\x74\x35\xf5\x09\x5d\x2a\x82\x73\xd2\x73\xfb\x63\x17\xc7\x96\xd3\xd8\xa6\x57\xb5\x85\x0e\x9f\x5f\x0c\x77\x3f\x42\x0c\x77\x3e\x4b\x37\x1d\x6e\x9b\x5f\xa8\x8f\x7b\x77\xef\x63\xbb\xdd\xf9\xdb\x1b\x0c\x6f\xbf\xa8\xc6\x7d\xb3\x18\xbc\x9b\x0a\x0e\x8e\xfe\xd2\x54\xf8\x17\x5f\x96\x0a\x8b\xc1\xbb\xa9\xe0\x60\xf8\x2f\x4d\x85\x93\x2f\x4b\x85\xc5\xe0\xdd\x54\x58\x38\x5b\x7c\x19\x2a\x9c\x7e\x59\x2a\x2c\x06\xef\xa6\xc2\x97\xb3\xc4\xda\xbb\xbf\x90\x29\xd6\xfe\x88\x49\xa0\xdd\xfe\x82\xdb\x83\x0f\x7e\x29\x42\x3c\xf8\x18\x42\x7c\xc1\x9d\x87\x87\xbf\x14\x21\x1e\x7e\x0c\x21\xbe\xe0\xce\xde\xa3\x5f\x8a\x10\x8f\x3e\x82\x10\x9d\x2f\xb7\xd9\xd0\x69\xfd\x42\x84\xe8\xb4\x3e\x86\x10\xed\x2f\x47\x88\xca\x39\xe3\x4b\x13\xa2\xfd\x31\x84\xf8\x72\xd6\x64\xe7\x97\x5a\xc0\x77\x3e\x62\x05\xdf\xee\x7c\x39\x83\xb2\xb3\xf3\x4b\x11\x62\xe7\x4e\x84\x10\xc1\x89\x9d\x6b\x28\x79\xe8\x2c\xb6\x9b\x8a\xdb\x4f\xe2\x90\x5a\xfc\x12\xe7\xd1\x2e\xaa\x09\x70\xe2\x50\x1a\x9e\x74\x61\x6f\x97\x55\x33\xd2\x1e\x77\xe1\x51\xc9\x1f\xdc\xd9\x79\x47\xf8\x1a\x13\xf8\x26\xec\xed\x38\x6e\xda\x97\xe3\x9d\xa8\xc5\xbe\x51\x19\x03\xfe\x38\x1f\x6f\x5c\x09\x0d\xd7\xeb\xef\xab\x35\xfc\xa4\x0b\xbb\xed\x32\x49\x76\x77\x3f\x0f\x49\x76\xdb\xb0\x01\x9d\x07\x9f\x44\x97\xdd\xbd\x8f\xc6\xa5\xfd\x89\x4d\x77\xda\x8f\x3e\xba\xed\x4f\x6d\xba\xf3\xf1\x5c\xd9\x79\xf8\x89\x4d\x3b\x1f\xa6\x5c\xad\xe9\x47\x4b\x9b\xae\xd8\x60\xbf\x57\x3e\x2f\x14\x7c\x69\x8b\x7b\x41\x37\xfc\xad\xa4\x7f\x81\xea\x5b\x22\x05\x1b\x4c\xb2\x3f\x65\x3c\xda\x8f\x56\xd3\x0c\x8b\xb4\xf3\x9f\x96\x9e\x7b\x54\x61\xf0\xa4\x0b\x3b\x0f\x1d\x1a\xc2\x19\xfa\xf4\x2e\x38\xd9\x9a\x62\x67\x39\xcf\x2e\x3a\x99\x29\xf1\x4d\x79\x9e\x30\x18\xe7\x4e\x7c\xc3\x86\x60\xaf\x52\x1f\x1a\xce\xa6\xc2\xb7\xf4\x2e\x9d\x30\xe6\x44\x71\xaf\x5b\x86\x4b\x67\x34\x5c\xe0\x3e\x3f\x42\xcf\x3d\xcb\xa3\x6c\x64\xf9\xbf\x8e\x22\x51\x60\x64\xf8\xb9\xe1\x7b\x26\x54\x39\x57\x8a\x9f\xd9\xf9\xe8\x62\x51\x53\x87\xaa\x96\xd1\x58\x03\x44\x6d\xfb\xfa\x84\x86\x08\x5d\x59\x42\xbb\x69\x5a\x98\x75\xbb\x50\xbe\xf5\xae\x31\xb4\x2a\x57\xb9\x4b\xcb\x77\x41\x17\xb8\xd6\xbd\xa7\xf3\x02\x02\x7f\x3b\xff\xdd\x62\x9c\x10\x69\xde\x08\x2d\x61\xc2\xe1\xe2\x62\x64\x3a\xfd\x50\x55\xc0\xb7\x2e\x8f\x0d\xe7\x84\x20\x18\x77\x31\x80\x7b\xf2\xa2\x9c\xd1\x64\xf9\x2a\xbc\x82\x89\x95\x4a\x10\x97\x93\x01\x35\x3b\x83\xf2\xe1\x03\x78\x9e\x96\xc9\x0f\x96\x73\xe1\x87\x0f\x96\x48\x32\x81\x5d\xe4\xa0\xba\x0a\xfd\xab\xa7\x28\xed\xdd\x69\x3b\x8e\xca\x87\x68\x1d\x6e\xa3\xa6\x73\xe9\xdd\xbd\x4a\xcb\xee\xa4\xe8\x78\x56\x25\x70\x78\xf1\xcf\x7d\xa1\xcc\xe9\x34\xad\x27\x4f\x0c\x58\x62\x12\x67\xf5\xab\x73\x12\x57\xfc\xc1\xe1\x1c\x94\x4b\x61\x86\xf1\xd6\x2e\xf0\xeb\x75\x8e\xf8\x03\xbc\xe4\x06\xbf\x01\x5a\x19\xf0\x9f\x56\x78\xf0\xeb\x2e\x5d\x85\xd9\x8c\x44\xcf\x68\x14\xd5\x0b\x43\x7e\x50\x4d\x11\x3e\x66\xf2\x69\xc9\x7c\x1e\xd1\xe6\x20\x49\x03\x9a\x1e\x26\x11\x06\x42\xa9\x5d\x8f\xc3\x5c\xbe\xe8\xb1\x94\x48\xfc\xad\xb3\x45\xe0\xf4\xd3\xc3\xed\x56\xf1\xae\xf5\x34\x99\xbe\x89\xed\x0e\x60\xba\x0a\xc9\xe6\xa6\x4d\x94\x8c\x96\x90\x26\xa0\x83\xd9\xc8\x4d\x15\xf3\x6a\x00\xbe\x83\xda\x14\x57\xf1\x98\xa4\x39\x33\x58\x7b\xd5\x14\x26\xe9\x88\xa9\xd8\x5e\x9a\x92\xb9\xc9\xab\x51\xe8\xd3\xa6\x4f\xa2\xc8\x93\x0f\xd9\x58\x2f\x44\x39\xda\x10\x01\x3f\x5d\xd9\x0d\x6c\xa6\xda\xad\x3a\x4d\x97\x06\xb1\xf9\xbc\x24\xc1\x16\xbf\x38\x51\xb0\x95\x8f\x27\x4b\x4a\xb3\xf0\x2f\xb6\x6b\xf9\x4d\x03\xe6\x26\x6d\xc2\xec\x35\x79\xed\xdd\xd4\x59\x4f\xf9\xf7\xb9\x43\x85\x16\xb5\xf6\x5c\x86\xa3\x18\xd1\xfc\x0d\xde\xeb\x92\x91\x1f\x06\xc4\x7f\x5f\xab\x3b\xee\xf5\xbb\xca\x31\x5c\x4c\xd0\x78\x33\x3c\x8c\x69\x03\x68\xd4\x80\x90\x5f\x07\x1f\x37\x80\x04\xc1\x59\xf2\x47\x3d\x56\x37\x3a\x0c\x8d\x9f\x44\x78\x95\x7f\xae\x93\xf0\x81\x84\xa5\x5d\xb8\x81\xc7\x66\x00\xee\x1b\x1d\xbc\x88\x77\xd0\xca\x9d\xeb\xdc\x77\x60\xb4\xac\x2b\xbc\x83\xc7\x70\x63\x79\xb6\x8f\xa1\x0b\xe7\x82\xf3\x86\xbd\x3c\x4f\x1b\x50\x83\x5a\x03\xda\x46\xe4\xdd\x10\x1c\xd1\x74\x74\xb6\xb8\x78\x1f\x6e\x6e\x16\xf5\xb2\xc8\x31\xea\x8e\x68\xee\x85\x75\x79\x7f\xba\x80\x8c\x35\x16\x56\xf9\x65\x4f\x11\x94\xe2\x15\x21\xc1\xbb\x70\x63\x4e\x71\x34\x9f\x4d\x4f\xf3\x64\x9a\x79\xaa\x48\xbd\x40\x2d\x7c\xf4\x0f\x93\xf8\x60\xea\x30\x23\x92\x7a\x96\xb9\x5d\x7a\xcc\xa5\x44\x94\x77\x1b\x1b\xc5\x4a\x50\x19\x0a\xea\x31\xcc\x55\xcc\x96\x62\x00\x95\x52\x4d\x7e\xc5\xe9\x89\x11\x2a\xc0\x86\xe5\x0a\xad\x34\xe7\x2f\x14\xb1\x8e\xe1\x8e\xda\x82\xf5\x80\x33\x70\x90\xfc\x70\x18\xc5\x60\xdd\x65\x14\x45\x48\x98\xca\xe5\x29\x54\x06\xa0\x32\x3f\xe5\x45\x5e\xc5\xb2\x6f\x41\x77\xaa\x43\x3d\xb9\xde\x94\x58\xb4\xde\xd1\x36\xb8\x7c\xc2\x5c\x8f\x5e\x25\x33\x97\x9e\x8c\x2c\xc3\xbe\xad\xb6\x4c\x25\x2f\x6d\x6e\xc2\x93\x55\x79\xe9\xc9\x5d\x78\xa9\x50\xd3\xcd\x38\x8b\xf9\x45\x10\x38\x99\x2e\x5f\x3f\x3a\x7a\x58\x02\x67\xc5\x1b\x73\x97\x60\x2c\xe3\x2a\xf1\x51\x83\xe7\xa0\x2b\x58\x02\xae\x2a\x94\x02\x85\x98\xb0\xef\xd1\xa8\xe2\xb5\x93\x24\xce\xc3\xb8\x78\x59\x83\x37\x51\x15\x6e\x90\x46\xab\xeb\x3b\xf4\xbe\xe9\x42\x71\x9d\x38\x87\x27\x5d\xbb\x67\x22\xb9\x0b\x73\xed\xac\xa3\xa7\x1b\x2e\xd8\x8e\xf2\x1b\x5d\x6b\x7a\x2b\x84\xc6\xb8\x61\xcd\xdc\x94\xaa\xb1\xd9\xea\xa6\xd8\x8c\x75\xed\x72\x5a\x78\x3d\xd8\x0c\xde\x65\xe3\xa8\x96\xd6\x8b\x9e\x1d\x5d\xe5\x95\x45\x1e\xc6\x16\xba\x46\x48\x71\x61\x23\x24\x13\x9a\xa7\x73\x35\x1f\xf2\xc7\x8c\x14\x9c\x8b\xd2\x62\x8a\xdb\x2d\x85\x77\x83\xf9\x12\x8f\xd5\xdd\x87\x1b\x8c\x04\x93\xed\xc3\x7c\x41\x78\x4d\x23\x70\x89\x65\x02\x59\xf6\xcf\x5c\xbd\x4a\x6b\xc4\x2d\x29\x58\xe3\x85\xc8\x2c\xf3\x83\xb2\x1d\x64\x84\x38\x71\xd6\xe5\x11\x5b\xe6\x55\xa8\x4e\xc8\x4d\x19\x4f\x6b\xf3\xa4\x80\x43\xab\x3c\x36\x46\x50\x18\xed\x31\x56\xb9\x71\x23\x26\x6c\x3b\xc8\xa2\x65\x18\xca\x10\xf3\xc5\x6b\xc0\xdc\x1e\xce\xc9\x20\x3b\x0f\x2f\x4a\x2a\x53\xc5\x9e\x49\xe9\x15\x6b\xc1\x19\x8e\x12\x2a\x02\xad\x30\xa0\x46\xd8\x52\x09\xd0\x8a\x47\x56\x7c\x4d\x18\xcd\x30\x08\x99\x1c\x15\x2d\xd2\x9c\x0c\x18\x0a\xdf\x87\x41\x3e\x76\xd8\xa4\xa2\x0b\x85\xab\xbd\x6e\x8a\xc9\xee\xd8\xb6\xb4\x49\xaf\x1b\xb5\xed\x62\xd9\x94\x5c\x5c\x39\x70\x31\xdb\x18\x04\xdc\xdc\xbc\xb9\x60\x56\xc6\x0d\xce\xe5\xaa\xa2\xb5\x21\x70\xa3\x02\xcc\xb1\xae\xaa\x32\x4f\x0d\x73\xcc\x8c\xf0\xbf\x0f\xcc\xb2\x6d\x89\xe0\xfb\x37\x55\x2c\x10\xd3\x9b\xfc\x0b\x74\x68\x63\x43\x76\xc8\x18\x9e\xbf\x69\xc7\x68\x4a\x32\x7a\x82\x8f\x0a\x56\xad\x7b\xe4\x32\xc3\x36\xbe\x99\x41\x6c\xcd\xcf\x73\xf3\x2e\x3d\x2b\xb3\x78\x51\xc1\xa0\x1a\x46\x3f\xe2\xc1\xcc\x7e\xaf\x5e\x30\xfc\x05\x07\xdf\xd8\x1c\x7c\x63\xc7\x78\x65\xed\x9d\xdf\xf0\x8d\xd2\x92\x92\x37\x43\x32\xcd\x17\x2c\x8a\x49\x46\x5f\xd2\xe1\xaf\x96\x10\xea\xa5\x1a\xc1\x47\x37\xf6\x3a\xe7\x33\x90\x00\x63\x46\x54\xee\x0b\x18\x9d\xb4\x43\x83\xcd\xcb\x91\xc0\xca\xdd\x34\x28\x96\xd1\x5c\xcd\x8c\x15\x34\xe4\x3f\xea\xe6\x7c\x69\x07\xab\xb5\xa6\xe3\x42\x24\x46\x13\x51\x3b\x4d\xff\xb6\x22\x08\xb7\x57\x7a\x6e\x7d\xb9\xe9\xbe\x5a\xcc\x46\xf8\xf8\x48\xa0\x9c\x47\x39\x0b\x3a\x66\x68\xcd\x40\x28\xd1\xac\xf1\xea\xc1\x56\xe8\x17\xc2\x3a\xa5\x66\x40\x58\x83\xf3\x49\x9e\xf3\xe8\x4d\x69\x51\xf7\x18\x2c\x6b\xa8\x1f\x73\x2d\x7f\x50\xe0\x74\x62\xae\xef\x1b\x52\xa8\xce\x2f\x1a\xe6\x04\xc6\xf7\x5b\x0a\x98\x48\x4e\x6f\xaa\x1c\xe8\x6a\x7c\x57\x98\xf9\x1c\x7a\x23\x2c\x0b\x8d\xd0\xb9\x2c\xbb\x52\x58\xc6\x45\xc2\x15\xa2\xbe\xd8\x94\xaa\x96\x6e\x83\x66\x55\x1b\x20\x15\xa1\x0c\x6d\x7b\x84\xd9\x7e\xe6\x80\xc5\x64\xa2\x54\x15\xcb\x7b\x4d\x26\xd4\x9a\x51\x3c\x2c\xb1\x01\xb5\x5a\xbd\x19\xc6\x01\xbd\x79\x33\x14\x40\x50\x9e\xab\x9a\x75\x45\x46\x37\x77\xd6\x4b\xa1\x31\x83\x30\x23\x83\x88\x9e\xe6\x41\x18\x2f\xdf\x69\x32\xa4\xb7\x3a\x6e\x8a\x65\xbc\xdb\x31\x53\x4a\x61\x2e\x18\x6e\x35\xf1\x20\xd2\xe2\x3e\x9d\x85\x79\x64\x8b\x43\xce\x52\x6c\xf1\x42\x98\x98\xce\x64\x16\xf3\x2b\x07\x88\x11\xb5\xda\x48\x9d\x9b\x71\xac\xe5\x32\xa9\xbc\xfe\x28\xaf\x82\xcc\x0d\x0a\xa3\xb8\xe7\x8e\x17\x68\x1b\x0e\xe5\xc5\x91\x84\x56\x1d\x42\xfe\x8a\xa6\x19\x7d\x51\xd9\x19\xc6\x6c\xef\x4a\x3d\x51\x1b\x8c\x3a\x5c\xb2\x5b\xa3\xe2\x42\x56\x3c\xe1\x9c\x79\x6a\x99\xaf\xf9\xa0\xa0\x42\x1b\x50\x8a\x38\xae\xe7\x95\xea\xea\x5a\x5d\x63\xc8\x91\xa5\x71\x1b\x8b\x51\x9e\x97\x95\xb4\x22\x3d\x57\x1b\xed\xf3\xe5\xe4\x2e\x1e\x10\x5b\x4c\x23\x85\x4a\x2c\xb4\x0b\xbb\x85\x56\x11\xb1\xf7\xa8\xb5\x9f\xd6\xc2\x15\xa1\xf9\x78\x51\x77\x7c\x3e\x5d\x57\x45\x50\x7a\x11\xe7\x34\xbd\x22\x7a\x6f\xa2\x9c\xc5\xeb\xa9\x6e\xe2\x5e\x3e\x5f\x9a\x9a\xa8\x5a\x9b\xfa\x77\x0b\x1b\x68\xd4\x73\xe1\x55\x89\xd2\xca\xb3\xb4\x7a\xce\x22\x9b\xc7\x3e\x8f\xe8\xdc\x4b\x29\xa9\x3e\x6e\x62\xeb\xa8\x45\x23\x88\x96\x3f\x17\x3d\xbd\x9a\xba\x3d\x58\x53\xc5\xc5\x1b\x1d\x0c\x98\x11\x10\xce\x27\xd3\x7c\x96\x52\xeb\xa4\x86\x1f\x98\x84\x19\xfe\xeb\xd1\xa8\x5e\xda\x14\x3e\xa7\xd1\x85\xcd\x92\xcd\x61\x92\x1e\x11\x7f\x6c\x9c\xd0\xc9\xa7\x24\xac\xca\xfc\x8c\x8e\x04\xfc\x29\xda\x97\x61\x96\xd3\x98\xa6\x9e\x1b\x2b\xf8\xf0\x41\x9c\xe7\x8b\xc6\x18\x75\x8c\x1e\x0d\x87\x2b\x74\x89\x46\x62\xdb\xe9\xae\x2d\x1a\x2d\x19\x91\x85\x86\x49\xea\xd3\xf2\xc1\x16\x2f\xc1\x5f\x33\xc1\xe3\x71\xab\x9c\x7b\x5e\xa2\x57\xb8\xa4\xa5\x71\xde\xe7\xae\x96\x52\xd5\xd2\xab\x66\x96\x27\xd3\xb7\x69\x32\x25\x23\x22\x23\xad\x41\xe9\x30\xdd\xc0\x30\x8c\xc7\x34\x0d\xf3\xcc\xc3\x9d\xbc\x06\xf0\x4d\x37\xd9\xbe\x2a\x36\xf4\xca\x0e\x1d\x49\x9c\xe5\xe9\xcc\xcf\xf1\xf0\x0e\xab\x5b\x06\x8f\xe6\x41\xe8\x0a\xb0\x3a\x89\x97\xc4\x4a\x56\xb9\x98\x5e\xc3\xb0\x80\x20\x37\x05\x92\xc1\xbb\x06\xe8\x78\x54\xd2\x58\x4e\x06\xef\xac\x93\x17\xf7\xa9\x0b\xa3\x77\x32\x78\x87\xb6\x55\xb7\x0b\xc5\xed\x48\x41\x9d\xd0\x61\x73\x6d\xb6\x6d\x6c\xca\xce\x0b\x34\x9d\xa0\xdb\x80\x81\x58\xae\xca\x7c\x2b\x22\x66\xd0\x74\xf2\x09\x1e\x70\x1f\x3e\x28\x74\x4b\xa0\x4e\xbf\x0f\xe3\x80\x29\x8a\x22\xc0\x6a\x78\x96\xcb\x0a\x27\x7c\x17\xb4\xa3\x84\x2b\x6c\x97\xd9\x21\x07\x95\xec\x0e\x7f\xfd\x35\xbf\x5c\x2e\xfd\xac\xb8\x13\x88\x72\x3b\x83\x9d\x07\x28\x25\xce\xad\xb4\xdc\x1f\xcb\xc3\x77\xfd\xc3\xd0\x46\x3a\xd1\x4b\xdb\x0d\x18\xb5\x1b\x30\x68\x9b\xb4\x1f\x13\x7c\x5f\xc6\x4b\xdb\x18\xeb\x6a\xaf\x0e\x1f\xc0\x1b\xe1\x8f\x87\xec\xfb\xc0\x38\x28\xd4\xc0\x9a\x97\x3e\xf1\xc7\xf4\x9c\xd5\xbe\x70\x6d\x9e\x99\x61\x2c\xcb\x35\x4a\xe7\xa0\x41\x38\x1c\x42\x17\x5e\xc4\xc3\x30\x0e\xf3\x39\x5b\x54\x40\x17\x36\xdb\x2a\x56\xb6\xdf\x80\xb4\xd3\x80\x51\xa7\x01\x83\x4e\x03\x58\xf9\x83\xe2\x42\x41\x11\xe8\xca\x67\x2d\xaa\x23\xc6\xe2\xb2\xc1\x87\x6e\xa9\xec\x79\x68\x9c\x54\xa6\x1d\x26\xa1\xe7\x2d\x23\x69\xc4\x93\xcc\xf3\xcc\x01\x4f\xea\x18\x49\xa2\x1b\x46\xaf\x83\x30\xcb\x99\xca\x32\xa8\x6f\xf6\xa4\xf0\x44\x1b\xaf\xef\x0a\xcc\x8d\xf4\x08\xed\x8d\xfc\xca\xc7\x0b\x15\xa8\xc7\x9c\xb2\x25\x60\x02\x4f\x4d\xc5\xaa\x66\x6e\xcb\xbc\x5b\xc5\x04\x5d\x88\x42\xc6\xa6\xa5\x7c\xb1\xc9\xe9\x20\x8a\x1d\xb2\xd5\x4d\x20\x7b\x55\xf6\x8a\xe4\xe3\xe6\x34\xb9\xf6\xb6\x5b\x70\x1f\x99\x76\x13\xd2\x4e\xbd\x61\xbe\x0f\xbd\xa1\x4b\xed\x3e\x62\xa5\x46\xac\xd4\xa8\xba\x54\xbb\xcd\x4a\x0d\x58\xa9\x01\x2f\x65\xcf\xe8\x94\xcd\xb7\xa8\x4f\xc3\x1c\xe7\xb0\x24\x36\x27\x26\xa6\x52\xc5\xac\x5c\xf4\x91\x00\x23\xcf\xd3\x95\x1d\x9b\x18\x2d\xce\xc2\x86\x7a\x2e\x72\x2d\xab\xce\x2d\x30\x3f\x89\x1b\xc0\xd5\x33\x3a\x0e\x24\x83\x77\x3a\x6c\xbe\x46\xfb\x9a\x64\xaf\x92\x98\xdf\x7d\xf8\x96\xce\xdf\xc4\x11\x37\xbe\x0c\xb7\x40\x81\x65\xd1\xcd\x76\xcf\xd4\xa0\xc5\xcc\x07\x8b\x32\x1f\x5a\xda\xff\x3d\x9d\x67\x8c\x3c\x26\xb5\xde\x0c\xde\x51\x1f\x9d\x62\xb3\x12\xb5\x8c\x3c\x4f\x77\x4a\xf8\x2e\xa2\xc3\x59\x66\xbc\xe6\x8b\xf4\x7b\x4f\xe7\x10\x22\x9d\x8b\xf3\x97\x00\x66\x45\x94\x7d\x73\x1d\xb3\xc9\x9e\xa6\xf9\x9c\x93\x12\x47\xf5\x3d\x9d\x97\x82\xd8\xb2\xb6\xf8\x6e\x91\x76\x5a\xab\x10\x08\x56\xd4\xd2\xcf\x48\xe5\xa3\x49\x98\xe7\x68\xfa\x9a\x3f\x2f\xdb\x56\xae\x61\x81\x4a\xc3\x82\xc9\x9f\xf8\x6a\xe4\x62\xf0\xd8\x24\x36\x53\x50\x82\x13\x26\xc0\x86\x7d\x2e\x02\xba\xf1\x2f\x07\x6b\x93\x24\x98\x45\xb4\x49\x6f\x98\x09\x9c\x19\x6a\xef\x60\x6d\x6d\x6b\xeb\x2b\xc8\x92\x59\xea\xd3\x57\x64\x3a\x0d\xe3\xd1\x77\x27\x2f\xbb\x37\x38\x5d\xbe\xcb\x9a\x13\x32\x5d\x5b\x5b\xdb\xba\x7f\xff\xfe\x16\xdc\xd6\x1b\x6b\x5b\xf7\xa1\x0d\xf7\xb7\x44\x8a\xb2\x3e\x3d\xde\x42\x03\x44\x13\x0d\xb8\xbc\xbc\xa6\x83\x29\xf1\xdf\x5f\xa6\xf4\xcf\xb3\x30\xa5\x97\x97\x8c\xb6\x6b\xeb\xb3\x8c\x42\x96\xa7\xa1\x9f\xaf\x1f\xac\xad\x89\xd1\xe1\xe1\x19\xe5\x98\x78\x0a\xca\xfa\xe5\x25\xcd\x5e\x21\xec\xf5\x06\xfc\x08\x57\x24\x9a\xd1\x7d\xb4\xb6\xd1\x3a\x3d\x58\x63\x5c\x51\x20\xb4\xc3\x6b\x4d\xa5\x98\x45\xcb\xb6\x99\x7e\x45\xce\xfa\xf9\xe1\x83\x3a\x9e\xe1\x23\x6e\x42\x31\x38\xab\x10\xda\x97\x9b\xbc\x91\xb0\x80\xab\x1a\x3b\x67\xc5\x2e\x0a\x4d\x8a\xc4\x0f\x1f\xac\x37\xab\xcb\x25\x38\x6b\xaa\x26\x04\x8e\x07\x0b\x91\x44\x86\x59\x05\x4b\x6d\x6d\x5b\x6d\x16\x45\x64\xf1\xd3\xdb\xc9\xe0\x9d\xb3\x6f\x07\x56\x29\x97\x49\x0a\x0b\x9d\x81\x0a\xa6\xa9\xc4\x9f\x91\x8c\x27\x37\x55\x92\x99\xef\x3a\x96\x67\x0d\x8b\xf7\x40\xc2\x46\x29\xae\x86\xab\x8b\xe0\x3a\x3e\x5f\x48\x75\xbe\x24\xea\x45\x91\x5c\x10\x65\xa5\x41\x28\x92\x7e\x39\xe5\x03\x1a\xd1\x9c\x2e\x24\xee\x2a\xb8\x25\xc5\x29\xb8\x9a\x25\xcc\xd5\x6d\x11\x9b\x8f\x73\x01\x94\x1f\xbe\x91\x30\x1c\x8a\xc6\xad\xd7\xd8\xc1\xdc\xcb\xe5\x48\x19\xfe\x81\xca\x1f\xb0\x3c\x32\x49\x6c\x70\x81\xaa\x7b\xe0\x30\xd3\xb3\x66\x12\x17\x9b\x5e\x4c\x35\x3a\x09\xf3\x85\x63\x68\xd0\xc3\x14\x62\x35\xdd\x5f\x8a\x43\x8b\x4b\x36\xe1\x2b\xb2\xa8\x69\xff\xd2\xf1\x00\x22\x03\x77\x7e\x19\xc2\x26\xb4\x99\xc6\x50\x95\xce\x2f\xc3\xd2\x98\xc3\xdf\x4e\x82\xef\x68\xc1\x00\x97\x39\x26\xa3\x4b\x47\x71\xf1\x18\x44\x2b\x09\x93\x39\xca\x95\xfa\xf5\xd6\x5a\xf0\xdb\x93\xf3\x2d\x9e\x0d\x89\x49\x69\xd1\xb4\x5e\x35\x9d\x5a\xe8\xbb\x67\xd5\xce\xaf\x68\x56\x65\x43\x79\xd8\x3a\x58\x33\x26\xd2\x43\xb5\x12\x39\x6c\x35\x5f\x7f\xf7\x12\xba\x50\xfb\xe1\xa6\xd5\x12\x8e\xde\x87\xad\xe6\xe9\x9b\xe7\x22\xb1\x6d\x24\x9e\xfd\x41\x24\x76\x74\xe2\x91\x4a\xdc\x36\x12\xdf\x9c\x89\xc4\x1d\x23\xf1\xf5\xbf\x10\x89\xbb\x3a\xb1\x77\xf8\xad\x48\xdc\xd3\x89\xcf\x8e\x24\x4a\x0f\x8c\xc4\x53\x91\xf6\x50\xa7\x3d\x97\xcd\x3c\xd2\x69\x2f\x8f\x45\x1a\xd1\x69\xbf\x97\xe5\x06\x3a\xed\x58\x96\xf3\x75\xda\xe1\x89\x48\x0b\x4c\x52\x88\x34\x6a\xa4\xbd\x10\x69\x43\x9d\xd6\x7f\x79\xc4\x13\xdb\x06\x1d\xfb\x87\x6d\x91\xd8\x36\x13\x3b\x22\xb1\x63\x26\x6e\x8b\xc4\x6d\x33\x71\x47\x24\x1a\x74\x7c\xdd\x13\x24\x6b\x1b\x74\x3c\xfd\xe3\x6b\x91\xb8\x67\x8e\xcd\x33\x91\x68\xd0\xf1\xb0\x27\x4b\x1a\x84\x3c\x7a\x25\xd2\x0c\x42\x9e\x7e\x27\x6b\x1b\x94\x3c\x3a\x3d\x14\x89\x26\x29\xc5\xd0\xb4\x0d\x52\x7e\x23\xd3\x0c\x52\x9e\xc8\x34\x83\x94\xdf\xc9\x34\x83\x94\xa7\x6f\x79\x5a\xc7\xa4\xa4\xe4\x89\x07\xac\xe0\x6d\xdd\x3b\x6c\x41\x57\xca\x52\xf3\xb0\x85\x57\x70\x8c\x9f\x6c\x7d\x5a\x47\xa3\xb2\x42\x8a\xed\xab\x7b\x15\x82\xbc\xfd\x2b\x12\x64\xd5\xb9\xe7\xbd\x93\xd3\xa3\xb3\x53\xb1\x04\x97\xc9\xfd\xa3\xe3\xde\x77\x2f\xcf\x2e\x45\xb6\x49\x1c\x51\xe1\xbc\xf6\xac\x76\x51\x86\x73\x5e\x6b\xd5\x2e\x54\x70\xf6\xda\x9f\x6a\xfb\x50\xfb\x61\xd6\xd9\xf5\xf7\x6a\x3c\x00\x7b\x8d\xc8\xa4\x47\x1d\x99\x34\xe0\x49\xad\x56\xeb\x91\x4c\xf2\x55\x92\x2f\x93\x02\x95\x14\xc8\x24\xaa\x92\x88\x4c\x1a\xca\xa4\x41\x4b\x26\x8d\x54\x52\x5b\x26\x8d\x05\x12\x3b\x9d\x1d\x99\x14\x2a\x58\x03\x99\xf4\x4e\xa2\xda\x7e\x28\x93\xde\xab\x24\x05\x3e\x92\x49\x1a\xd5\x89\x2a\xa5\xc0\xc7\x32\x69\x5b\x95\x4a\x44\xd2\xf6\x40\x61\x3f\x55\x49\x0a\x89\x3f\x2b\xf0\xaa\xc5\x54\x95\x52\xb0\x32\x95\xa4\x88\x93\x2b\x24\x54\xa9\x99\x4c\xd2\xdd\xbe\x52\x78\xa9\xa4\x6b\x55\x4a\x55\xbc\x51\x48\xa8\x41\x9b\x8b\xa4\xce\x9e\xaa\xf8\x17\x95\xb4\x2b\x93\x7e\x14\x54\xdd\xf6\x15\xf6\x1f\x54\x29\x95\x74\x2b\x69\x4f\xb6\x65\xd2\x4f\x6a\xd0\x1e\xd4\xd6\x6e\x5d\x8c\xd6\x33\x19\xed\x2b\x56\xfc\xaf\xff\x63\x45\xd1\x67\x58\x94\x3b\x62\x96\x73\x77\x5c\x80\x04\x1a\xbf\xc5\x9f\xff\xaf\xfc\x79\xce\x7e\x86\xef\xe4\xcf\x1f\x7e\xc0\xec\xff\x47\xfe\xbe\x60\x3f\x3f\x58\x7d\xff\xeb\xbf\xb1\xfa\x3d\xb4\xba\xfc\xd7\xff\x68\x75\xf7\xaf\xff\xbe\x02\xff\x43\x86\x21\x16\x2c\xe7\xed\x1a\xd8\x6b\x1c\x7f\xfe\xcf\x6a\xfa\xc1\x03\x81\xe7\xcf\xff\xb5\x99\x86\xb8\xfe\xfc\x9f\x9b\x49\xff\x80\x49\xff\xca\x4c\x42\x01\xfe\xf9\xdf\x9a\x49\xd8\xad\x9f\xff\xb5\x99\x84\x5d\xfb\xf9\x3f\x98\x49\xd8\xbf\x9f\xff\x27\x33\x09\xfb\xf8\xf3\x7f\xac\x49\xab\xaa\xdc\x97\x93\x65\x23\xf1\xf3\x7f\x67\x8d\xc4\x5f\xff\x9d\x3d\x12\x3f\xff\xa3\x35\x12\x7f\xfd\x47\x6b\x28\x54\x37\x04\xbe\xff\x97\x35\x16\x3f\xff\x1b\x7b\x2c\xfe\x4d\xc5\x58\xfc\x0b\x13\x47\x17\x52\x3f\xff\x0f\x0b\x91\xfa\xf9\x7f\x91\x3f\x39\xb9\xff\x37\xf9\x93\x93\xfa\xdf\x7f\x3c\xca\x3f\xff\xdf\x15\x28\x7f\x5b\x42\x59\x53\xc6\xe6\x96\x22\xa7\x08\x94\xff\x95\x8d\xd4\xbf\xb6\x91\xfa\x0f\x36\x52\x36\x4f\xff\xfc\xdf\x56\x20\xf5\xc7\xa5\x52\xf7\x8f\x77\x19\x6b\x4d\xa9\x3f\xd9\x94\xfa\xd1\x1e\x22\x8e\xf2\xff\xb1\x90\x8e\xff\x6b\x05\xca\x47\x0b\xc4\x70\xaf\x28\x86\xbf\x2d\x8b\x21\xa7\xf5\x7f\xe1\x90\xcc\xff\xe6\x63\x25\xf3\x5f\x97\x25\xf3\x7f\x2e\x4b\xe6\xff\xf9\xc9\x92\xf9\x2f\xef\x3a\x5a\xff\x7d\x61\xb4\xfe\x2b\x5b\x32\xff\x3f\x5b\x49\xfe\x3b\x7b\x78\xfe\x77\x7b\x78\xfe\xb1\x62\x3c\x9e\x2f\x18\x8f\x07\xee\xf1\xf8\x2f\xcb\xe3\xf1\x4f\x52\x53\x76\x4b\xe3\xa1\x39\xde\xa9\x94\xfe\xed\xc7\x29\xa5\x4b\x5b\x3e\x9c\x3a\xea\x4e\xea\x80\xeb\x28\xb7\x19\x2d\xa2\x27\x54\xd9\xcf\x3b\x9f\x64\x3f\x6f\xdd\xbf\xbf\x06\xf7\xe1\xc5\x64\x2a\x5c\x91\x20\x1f\xcb\x47\x3a\x61\x42\xf3\x71\x12\x34\x20\x1f\x13\xf9\x00\x22\xe5\x05\xe4\x8d\x0b\xc8\x13\x20\xf0\x3d\x1d\x9c\x26\xfe\x7b\x9a\x33\x4b\x9c\x92\x49\x93\x81\xfc\x2d\xc7\x01\x70\x6b\x7c\x8b\x04\x41\x12\x67\x5b\x1c\x88\xf8\x07\x4b\x45\xa1\x4f\xe3\x8c\xc2\xab\x17\x67\x6b\xac\x27\xe6\x22\x9a\x17\xe3\x0b\x69\xdc\xe1\x4b\xf5\xed\xf4\xad\xfb\x9c\x31\xee\xc3\x61\x32\x99\x24\xf1\xef\x4e\x81\xc6\x57\x61\x9a\xc4\xac\x1b\x22\x6f\x0b\xff\x2d\xed\xe6\x73\xb8\x9e\x83\x26\x5e\x8b\xbb\x48\xdd\x1a\xd1\x41\xe6\x53\x9a\x0c\x81\x2f\x29\xf0\x04\x5b\x22\x58\x2b\xe3\x72\xc2\x01\x35\xdf\x65\x10\x66\x40\xae\x48\x18\x91\x41\x44\x2d\x74\x38\x24\xef\xbc\xd6\x6c\x6e\x35\x9b\x5b\x48\x9f\xda\x45\x43\x60\x65\x36\x5f\x84\xfe\x36\x22\x61\x0c\xe2\x50\xbe\xb2\xbb\xa2\x77\xd7\x78\x5e\xdf\x94\x27\x17\x1c\x2e\x5b\xd5\x69\xfa\xfe\x41\x3b\x4f\xd6\xf4\x3a\xaa\x76\xb0\xb6\xc6\x77\xb2\x34\xc5\xd8\x2a\x68\x8d\xa1\x82\xb8\xdc\x87\x9e\xc9\x0c\xa3\xf0\x8a\xc6\x16\x4b\xe8\xd4\x0c\xf9\xa2\x89\xb5\x78\xd5\xdf\x4e\x49\x4a\x26\xf0\x23\x36\x7e\x8b\xd5\x60\x13\xce\x0a\x4c\x35\x90\x4c\x48\x83\x6a\x80\x0a\x96\x62\xc0\x5b\x91\x2f\x20\x8a\x1f\x8c\x49\x39\x47\x33\x38\xfe\x2c\x4d\x69\x9c\xab\xe6\x0a\xb0\x06\x49\x12\x51\x12\xdf\xc2\x20\x0c\xc2\x94\x3f\x01\x48\x22\xd8\x84\xef\xc7\x34\x1f\xd3\xd4\xe6\xff\x6c\x9c\xcc\xa2\x00\x30\xe8\x42\x40\x72\xc2\x61\x2d\xfd\x88\x2e\x09\xfc\x48\x06\xd7\x34\xaa\x46\x04\x5f\x3d\xa6\x41\x01\x87\x94\xc6\x01\x4d\xc3\x78\x04\xc9\x10\xc2\xd8\x4f\x26\xec\xfb\x6a\x48\x08\xb4\xc7\x64\x8a\xef\x93\xc6\x59\x4e\xe2\x3c\x9a\x43\x92\x02\x13\x75\x98\x90\x9b\x70\x32\x9b\x2c\x07\x34\x4c\xf9\xf2\x7e\xce\x90\x68\x1b\x38\x4d\x69\x0a\xed\xd6\x24\xe3\x9d\x62\x9c\x29\xd5\xb5\x18\x8a\xa2\x13\x6f\x43\x50\xa3\x61\x13\xbe\xa1\xba\x2f\xa5\xcd\x1e\x97\xae\x92\xd0\x42\x7a\x17\x6a\xea\x19\xb3\x5a\x1d\x9e\xf2\x55\xfe\xbe\x5d\x4c\x78\xbc\xd1\x74\xd2\x14\x63\xd1\x15\x68\x20\xbf\x8b\xac\xcb\x61\x34\xcb\xc6\xfc\xf1\x69\xa7\x87\x9b\x28\xc7\x5f\x6a\xe6\x55\x78\x2f\x39\x57\xf2\x9a\x6a\xaf\xb6\xaa\x80\x75\x2b\x0e\x00\xef\x25\xc8\xc0\x12\x55\x75\x58\xfe\x72\xc8\x58\xca\x02\x7f\x6b\xf5\x6f\x3a\xcb\xc6\x67\x89\xa3\x83\xa6\x87\xb3\xd0\xc1\x55\xbd\x33\x8f\xeb\xaa\x3a\xa8\xc2\x79\xf0\x72\xb7\x25\x5f\xd1\x6a\xca\x98\xf5\xac\x90\x1b\xa5\x11\x32\x62\x68\x18\xbb\xe2\x46\x6f\x47\x34\x7f\xa5\x1e\xb8\x76\x45\xfd\xe1\x3d\x2d\xf2\x9d\x9b\x5c\x1e\xbd\x6a\x5a\xcf\xa6\xbb\x3b\xc5\x59\xa3\x54\xd6\x81\x1d\x53\x25\x7d\xfe\x40\x7e\xd5\x38\x08\x1d\x88\xef\xcd\x1b\xf0\x24\x1c\x91\x5d\x72\x62\xac\x89\x17\xb4\x6b\x8d\x12\x21\xea\xa2\x2a\xf6\xdb\x14\x90\x02\x87\x27\xb1\xf2\x2c\xb7\xb1\x55\x8e\x14\x8b\x31\xf0\xa3\x24\x53\xed\x07\x94\x8d\xb3\x78\x62\xd4\xd0\x00\xd2\x4b\xb9\x12\x0a\x46\xbc\x58\x0d\x4a\x61\xde\xea\xd3\xea\x79\x6b\x98\x26\x93\xd2\x44\xf3\x31\x13\x17\xc7\x88\x06\x6e\x88\x77\x9b\xba\x10\x04\x0f\xb8\x94\x27\x02\xb2\x39\x8b\x2d\xd7\xd0\xf6\x34\x67\x2a\x62\x01\xad\x4a\x11\x2b\xf7\x5d\x1c\xf8\xe1\xb0\x7a\xe4\x8d\xd1\x32\xf4\xb1\x4c\x28\x2b\x62\x43\xdd\xee\xdb\xea\x96\xf1\x9f\xdd\xba\x62\x03\x97\x93\xec\x62\x8e\x36\x18\x52\x9e\xfc\xea\x96\x1d\xcc\x61\x19\x35\x45\x2b\xc1\x65\x85\x38\x98\xe3\xef\x96\xc8\x3f\x01\x4b\x04\x25\xb8\xf4\xfa\xbf\x25\x08\x2b\xda\x22\xd2\x11\xcc\x32\x6d\xc4\xf9\xec\x32\x10\xcb\xd4\x53\x89\x03\x17\xa8\x93\x5f\x5c\xa7\x14\x49\xea\xd0\x2d\xb6\x5c\x17\x28\xc7\xcb\x5b\x94\x33\x08\x64\x17\x3e\x58\xbb\x65\x4a\xc7\x5e\x06\xef\x7e\x8e\x65\xf0\x71\x68\x90\xdb\x4f\xa2\xd9\x24\xce\x80\xc4\x01\x06\x12\x90\xa2\x12\x84\x13\x1a\x67\x61\x12\x67\xc8\xee\x79\x06\xfd\x37\xaf\xd4\xd5\x81\x35\x40\x48\x5f\x7d\x05\xbd\xe9\x34\x4d\xc4\x32\x77\x13\x4e\x30\x14\xc1\x59\x3a\x8b\x7d\x82\x3e\x28\x0c\xd0\x55\x98\xf1\x8b\x02\xb6\x28\x73\x2f\x76\x09\x12\xc6\x14\x6f\x2a\x0f\xe6\x76\xa9\x34\xb9\x16\x59\xb2\xd1\x4d\x38\xe4\x38\x7f\x64\x43\xd7\x61\x90\x8f\x4b\xed\xf8\x63\x92\x12\x3f\xa7\x29\x6b\x82\x17\xf1\xd0\x0f\x01\x82\x30\x9b\x46\x64\xbe\x0f\x61\x8c\x97\x19\x49\x5e\xc6\x90\x51\x2f\x97\xc8\x30\x62\x71\x08\xd7\x61\x5e\xe0\xb9\xfb\x10\xcf\x26\x03\x9a\x32\x24\x05\xe9\xeb\xd5\x1b\x09\xc3\x30\x67\xff\x2f\xdd\x42\x18\x86\xf9\xe7\xdf\x3f\x18\x86\xf9\xaf\x6d\xf3\x80\xf5\xf3\x93\x77\x0e\x58\xbf\xee\xb6\x6d\xe0\xdc\x25\x90\x32\x3d\x4d\x93\x69\x92\xd1\x6f\x74\x68\x0f\xf7\xb5\x4d\xee\x75\xc3\xf4\x87\x14\x22\xce\x97\x47\xc5\x0b\x3a\x42\x0d\x18\xab\x18\xfc\x9b\x21\x61\xd5\x38\xcd\xe7\x78\xa3\x51\xf4\x65\x44\xf3\xc3\x64\x32\x9d\xe5\x34\xc0\x1c\x6f\x41\x5b\x7a\xbb\xd1\x4a\x7f\x4e\x45\xb0\x80\x29\xc1\x4b\x81\xb9\x57\x6e\x90\xb5\x23\x8f\x9c\x7f\x4f\xa2\x19\xf5\x6a\x5c\x3c\x6b\xf5\x2a\xb0\x18\x75\x02\xba\xdc\xa5\x7a\x42\x6e\xbc\x56\xe3\x8e\x2d\x5c\xcb\xb8\x15\x9b\xd0\x7e\x60\x34\x43\xef\x4e\x89\x72\xed\xb7\x24\x08\xc2\x78\xf4\x7b\x5c\x80\x29\xbc\xe8\x62\x8c\xa6\xbc\xd2\x66\x9e\x4c\x19\x5e\x1b\x77\xae\x38\xc0\x2b\x85\x16\xd1\x6c\x7c\x9e\x27\x1f\x83\x4f\x2a\x86\xe2\x23\x30\x8a\xe8\xd0\x1e\x44\x25\x9b\x26\x5f\x94\xb8\x65\xb3\x4c\x47\x07\x08\xc9\x03\x0e\xc6\x28\x02\x78\x9e\x18\x00\xfc\x24\xce\x49\xc8\x3d\xf5\x70\x18\xd3\xe4\xfa\x50\xa6\x19\xcf\xba\xcf\xd0\x25\xe2\x24\xb9\x76\x95\x6b\x0e\xc3\x34\x93\x8d\x62\xdc\x23\xbb\x01\x1a\xeb\x15\xb8\x86\xd4\x0c\xe3\x98\xa6\xcf\xcf\x5e\xbd\x34\x4a\xcb\x59\x82\x77\x5e\x67\x30\x9d\xe3\x28\x86\x3d\x34\x1b\x8b\x8c\x52\x32\x1a\x90\x5c\x5a\xe8\x96\x79\xf4\x4c\x31\xf1\x40\x17\x6a\x7c\xea\x91\x91\x38\x1d\x28\xb2\x42\xdf\xd7\x0e\x60\x6b\x4b\x68\x7a\x8d\x03\x3a\xe2\xf1\x48\x46\xcc\x50\x44\x59\x6a\x00\x89\xf2\x71\x32\x1b\x8d\x21\x89\x61\x92\xc4\x49\x36\x25\x3e\x57\xc2\x36\xf2\x36\x49\x46\x34\x7f\x96\xcc\x62\x36\x4c\x87\x51\x48\xe3\xfc\x84\xfa\xb9\x57\x6f\x22\xd0\x12\x76\xa5\x6e\x70\x04\x4f\xe8\x15\x4d\x73\xc0\x5c\x18\xd0\x61\x92\x52\xf0\x49\xe4\xcf\x22\x92\x33\x0c\xb9\x3e\x69\x40\x16\xc6\x3e\x4e\xed\x73\xbc\x8b\x42\xd3\xe6\x9a\x63\x0c\x56\x43\x90\xc3\x5c\x48\x3f\x8b\x13\xc4\x98\x88\x9b\xb8\x4a\x94\x8a\x22\xb1\x55\xc4\x46\x2c\xc8\xc4\xf5\xdc\x72\x3d\x4e\xd3\xad\x02\x91\xe5\xea\xd2\x88\x0f\xf5\x23\x0f\xef\xc4\x03\x44\xf1\x08\x4f\xec\x6f\xdb\x21\x51\x73\x90\xb4\x21\xe5\xac\x34\x2c\xba\xa1\x16\x02\x08\x18\x2d\x55\x4c\x64\xbc\x8a\xb1\x62\x95\x55\x0a\x9b\x25\x3c\x42\x95\xca\x15\x21\xad\xd4\x4f\x0c\x41\xa9\xe7\x31\x8e\x65\xd1\x8e\x5e\x34\x87\x56\x98\xd2\x25\x6c\xc7\x61\x66\xd8\xd2\xc5\x16\x8a\xf4\xa8\x80\xca\x6c\x83\x02\xa4\x15\xac\xf2\xbd\xcf\x62\x95\xcf\xa2\x28\xf3\x53\x4a\x63\x40\xeb\x0f\xc5\x56\xde\xb8\xa8\xb6\x10\x55\x2d\xe3\xab\xd3\x5e\x34\xcd\x45\x55\xf2\x0b\x58\x8d\x0a\xf6\xaf\xce\x78\xd4\xbd\xfe\x74\x1b\x52\xf7\xf2\x33\x98\x92\x6a\x65\x7c\x96\x8c\x46\x11\x75\x6c\xdb\xd5\x32\xa3\x49\x46\x74\xda\xbc\xcb\x76\x5d\xce\xe1\x32\x10\x60\xc0\xa8\xd8\xff\x30\x5a\xda\x94\x28\x19\x69\xa8\x4e\x90\x5b\x12\xb6\x8c\x19\x82\xc7\xef\x6a\x97\x76\xde\x78\xab\x8c\xaf\x4f\x79\xcd\xf2\x1e\x5c\x91\x13\x39\x81\x86\xb1\xa1\x76\x04\x7f\x18\x08\x14\xf7\xda\xa4\x3a\x1a\xc6\xea\x76\xb0\x34\x7b\xfd\x88\x64\xd9\xcb\x30\xc3\x30\xc1\xcc\x18\xc8\xbc\x9a\x86\xc4\xec\xa4\xa7\x50\xe3\x7b\x6e\x35\xd8\x87\x1a\x09\xa4\x97\xa9\xc1\xa1\xf7\xca\x58\x8a\xc6\x64\x55\xab\x8a\x5d\xc2\x80\x68\xec\x7f\x97\xf0\x3b\x1f\xc6\x17\x36\x6a\xd5\xba\x4c\xd3\x35\x2b\xd3\xb5\x8c\x6b\xd5\x70\x88\x6d\x88\xa2\x58\xac\xaa\xf4\x1e\x7c\x0e\xa5\x77\x36\x0e\x33\xa1\x43\x60\x9a\x26\x57\x61\x40\x33\x71\x20\x9f\xa1\x02\xe4\x7b\x4d\xcc\x2a\x20\x85\xe3\x78\xf1\x2b\x48\x9c\x07\xf3\x95\x0a\x53\x55\xd3\xdf\xfe\x7e\x42\xff\xf7\x13\xfa\xbf\x9f\xd0\xff\x27\xb3\x2f\xae\xf4\xa1\x94\xff\xde\xdf\x8f\xea\xff\x7e\x54\x8f\x9f\x5f\xef\x51\x3d\x53\x83\x01\x3f\x2f\xff\xdd\xe9\x9b\xd7\x4d\x5c\x59\xaa\x93\x76\x45\x0e\x0f\x0b\x9d\xb7\x2e\x18\xbb\xad\x67\x79\x90\xcc\xf2\x75\x28\xde\x21\x75\x9d\xf9\x3b\x4f\xfd\x11\x58\xfb\xc2\xbc\x7f\x57\x8e\xaa\x6d\x70\x9a\xa3\xfc\x82\x6e\xdf\xd1\x07\x00\xfb\x9d\xe1\x4b\x35\xe1\x70\xee\x9d\xd7\xb2\x3c\x08\x63\x11\xfd\xed\xa2\x5e\x77\xf1\x51\x46\xf3\xd3\xe2\xbb\x0f\x6c\xb9\xba\x6a\x0b\x34\xbf\x14\xf1\x97\xd9\x3f\xb8\x98\x15\x5f\xd9\x32\xb7\xd4\xe8\x2f\xea\x93\x60\x15\x55\x71\xa3\x2d\x3a\xd4\x97\xe1\x69\x79\x2e\x28\x05\xd9\xff\x2c\x2e\x0c\x2b\x82\xfb\xbb\x2f\x43\xb5\x2f\x43\x81\x84\x7f\x77\x6a\xf8\xbb\x53\xc3\x7f\x62\xc6\x5b\x69\x2d\xbc\xc0\x88\xfb\x38\xef\x86\x02\xc4\xbf\xbb\x39\xd0\x85\x6a\x67\xa1\xbf\x43\xa1\xe2\x27\x38\x3e\x3c\xfc\x15\xdd\x9f\x65\xb6\xd8\x37\x4c\x89\x85\xfe\x65\x1b\xba\xae\x56\xbd\xed\x1d\x51\x30\xcc\x5e\x63\xfc\x23\xa5\x5b\x63\x72\x15\x8e\x08\xc6\xf9\xab\x5c\x12\x88\xc8\x82\xac\xfe\x2c\xa3\x69\x6f\xc4\x58\xa7\x8b\x4f\x54\xe1\x7b\x88\x4f\xa1\x16\x27\x01\x6e\x59\x29\x70\x4d\x55\x92\x57\x9c\x46\x24\x1f\x26\xe9\x64\x69\x3d\x59\x50\x5f\x35\x09\xb3\xe3\x30\xa5\xc3\xe4\x06\xba\x70\xef\xde\x4f\x0a\xb0\x8a\x24\x5c\x13\xf9\xb5\xba\x59\xe9\xd5\xe9\x8b\xa3\xca\x1a\x2c\xb3\x86\x6f\x6b\xb9\xf3\xcf\xd2\x30\xa0\x71\x5e\x80\x48\x7c\xe8\x6a\x5a\xeb\x4d\xbc\xf3\xda\x2b\xe2\x87\x71\x9e\x64\xe3\x5a\x03\xd8\x8f\x17\x71\x4e\x23\xf1\xfd\xed\xdb\x43\xf1\x6d\xef\xe1\xb7\xb5\x8b\x86\xa2\x85\x05\xfc\xc5\x94\x04\xd0\x35\xe8\xc4\x86\x23\x7c\x4b\x82\x9a\x5d\x6a\x9c\x60\x04\xeb\x62\x39\x96\x5c\xb3\xbb\x2f\x83\x07\x56\xa0\x2c\xb2\x19\x6a\xdf\x87\x71\x7b\x4f\x7c\xd9\xee\x88\x2f\x87\x47\x95\xb8\xbe\x0c\xe3\xd9\x8d\x81\x84\xa6\x1b\xe6\xd4\xea\xf0\x04\xa3\x3a\xbb\xef\xd6\x3c\x13\x01\x0e\xdd\x57\x6b\x1e\xfd\x8a\x44\x4b\xe9\x15\x3c\xc3\x4f\xd2\x20\x3b\xa1\x11\xc9\xc3\x2b\x7a\x96\x88\xf3\x5b\x0f\x63\x75\x34\xa0\x10\xd8\x94\x07\x60\xe4\xae\x0e\x23\xfa\x07\xd7\xcb\x9f\x0b\x1c\x2b\x6e\xf0\xf9\x4e\x55\x5b\x87\x16\x9b\x5b\x19\xe2\x65\x1a\x11\x7f\x48\x3a\x14\x7d\xfd\xb5\xf2\x2d\xba\xd7\xed\xf2\x77\x10\x83\xc4\xc7\x20\x2c\xea\x4b\xc9\xcd\x03\xe0\x06\x36\xbb\xca\xa3\x2a\x19\x0e\x33\x9a\xbf\xa4\x43\xe3\x7d\xaf\x79\xb9\xc0\x59\x32\xd5\xf9\xb2\xd5\x2e\xd4\x78\xee\x5b\x3c\x5d\xaf\x41\x18\xab\xbc\xa7\x05\x00\xbc\x08\xec\x83\xd3\x33\xc4\xa4\x8b\x20\xd7\xf9\x4d\x03\xe6\x17\x07\x6b\xb7\x8a\x1d\xab\xc7\x06\xba\x0b\x06\xce\x35\xba\x72\x30\xad\x53\x7d\x30\x9e\xe0\xc1\x67\x6e\x0e\x93\x99\x2a\x84\xdf\xc2\xec\x14\x9f\x12\x0e\x13\xeb\xdc\xc0\x47\x98\x0b\x91\x70\x35\xa8\xce\x6c\x59\x0d\x5c\x3b\x73\x57\x15\x9f\x86\x91\xe7\xe9\xe4\x0d\xa6\x48\x55\xc3\xf0\xd4\xc4\x93\x9f\x80\xc3\x16\x74\x60\x1f\x5a\xf5\xba\x38\xe2\xb5\x72\xed\x76\xda\x76\x3b\x3a\xd5\xae\x39\xb6\x8f\x95\x0b\x28\x4e\xc2\xd8\x53\x6e\x35\x2a\xb7\x01\xed\xba\x26\x1c\x3e\xab\x55\xd1\xb4\xab\x7e\x5b\xd4\x97\xe4\x36\xea\xcb\xe8\xf7\x58\xd0\xc9\x12\x26\xf1\xed\x01\x3f\x21\xd7\xcf\xe6\x39\xfd\x84\x71\x5f\x3c\xd4\x1f\x07\xf2\xc0\x52\x01\x8a\x82\xb6\x02\x50\x84\xe1\xc9\x37\xb0\xd1\x85\xed\x0e\xff\x31\x37\x7f\x08\xfa\xfc\x08\x37\xf8\x30\xd3\x1c\x5f\x65\x2a\xd0\xc9\xa2\x03\xef\x80\x95\x54\xa5\xc4\x5f\x25\xb3\x8c\x56\x05\xdf\x6b\xfd\x8a\x74\x38\xa3\xda\x80\xa4\xb4\xc2\x32\x6a\x4b\xcb\xe8\x39\xae\xc7\x17\x07\xe6\xc3\x32\xa8\x68\x4b\x81\xf2\x58\x22\x70\xf5\xa8\x35\x22\x6b\xb7\x39\x16\x37\x26\x30\x9a\xf3\x69\x9e\xa4\x7c\x63\x2d\xa6\xd7\x3c\x3f\x0a\x07\x4d\x91\xdc\x7c\x45\x27\x49\x3a\xf7\x8a\x71\xe0\x05\x6a\xaa\x0a\x07\x29\xcf\x30\x9c\xc5\xb9\x67\x15\x1d\x66\x5e\x1d\xa3\xd5\xaf\xb3\xe5\xdc\x26\x8d\xfd\x24\x08\xe3\xd1\x7a\x03\xd6\x53\x72\xbd\xee\xac\x19\x50\x3f\x49\x49\x2e\x42\xce\x63\x6f\x0b\xc5\xc2\xc4\x7c\xed\xa1\x19\x26\x3c\xc4\x9f\x13\x1a\x2e\xc4\xa2\xe8\x5b\x3a\x1f\x24\x24\x0d\xec\x97\x03\xf8\xf7\xe7\x05\x03\x3f\x8c\x87\x49\xc5\x3e\xb2\xc1\xd4\xbe\x74\xbb\x95\x51\xe7\xd9\x2f\xe9\x9c\xa2\x63\xac\xdf\x5a\xa1\xb3\xdc\x0d\x26\xb3\x7c\x3a\xcb\x17\x6c\xfc\x19\xc1\xee\x44\x8f\x5d\x71\x84\x0b\x1d\x4f\xf8\x36\xe4\x77\x67\xc7\xed\x3d\xcf\xba\x82\x54\x08\x1c\xe6\x46\x2a\x1b\x27\xd7\xae\x7d\x58\xb1\x53\xd1\x80\x9c\xef\xf0\x96\x58\x71\xa2\x2a\x89\x6f\x07\x76\x2f\x78\x35\xd7\x23\x95\x16\xf2\xac\xfd\x37\x57\x34\x8d\xc8\xbc\xdc\x66\x79\x4b\xd5\xf9\xc0\xe1\x72\x80\x48\xc3\x3b\xd1\x85\x6f\xdf\xb8\x28\x63\x76\x67\x6b\x8b\x2d\x3b\x53\x0a\x61\x06\x71\x02\xe3\x30\xa0\xb2\xed\x3a\x5b\xf3\x01\xc3\x86\x6f\x58\x90\x09\x95\x94\xe2\x2e\xd2\x2d\xc8\xa8\xef\x62\x65\xbb\x0f\x26\xb1\x1b\xd0\xb2\x03\xf2\x95\x46\x93\xe6\xdc\xe0\x5e\xf2\xf2\x87\xdd\xa2\x5d\xcb\x93\x6f\x80\x2c\xe7\x1d\x2e\xfc\x34\xc5\x20\x50\x56\x6b\xa8\x1f\x8b\x21\x00\x2f\x59\x93\xd6\x6b\xdc\xec\x63\x86\xb8\xe5\xd5\x1c\x11\xfd\xdf\xd3\xd2\x33\x92\x97\x95\x5a\x08\x43\xe3\x22\xa8\xf3\xf7\x74\x6e\xed\xcc\xaf\xd2\xad\x24\x7e\x11\x17\x05\xd5\x27\xfc\xcd\xe2\x12\x01\xc3\xa4\x99\xc4\xbf\x3f\xfb\x96\xce\xb3\x3c\x4d\xde\xd3\x85\xe2\xcd\x3e\x12\x52\x49\x56\x4b\xda\x0f\xf7\xe7\xf9\x2b\xf5\x9f\x0a\x75\x49\x7f\x4f\xca\x0f\x45\xbb\x3a\x5c\x3d\x86\x9a\x14\x72\xba\x70\x81\x34\x95\xa7\x7b\x34\xe5\xc5\x8c\xae\xd4\xbb\x07\x8e\x42\xc2\x3f\x51\x3f\x12\x52\x22\x82\xdd\xd2\xdd\xa8\x11\x50\xe2\xe7\xe1\x15\xc9\xab\xa5\xbe\x6a\xe0\xcd\x73\xc3\x8a\x51\x74\x17\x71\x90\xcd\x51\x10\x11\x9d\xc5\x55\x53\x5d\x95\x1e\xab\x7a\x7d\x05\xf4\xa3\x21\x86\xaa\xbb\xdb\xf4\xea\x6e\x13\x0f\x54\x16\xb7\xb9\x52\x5f\xc4\x24\x8c\xe0\x8b\xa1\x27\xa5\x21\x25\x32\x8b\xb6\xe1\xaf\x29\x32\x33\xc6\x90\x4c\xe2\x98\x2f\xa1\x8e\x89\x9f\x27\xe8\xee\xb9\xc8\x06\x2c\x95\xf7\x66\x69\xd4\x00\xa4\xb1\xf3\xd5\xa3\x59\x1a\x41\x17\x66\x69\x91\x69\x54\x0d\xe8\xea\xda\x65\xe3\xa8\xd4\x9e\x39\x9c\x29\x5d\x24\x0d\x72\x87\x81\x5e\x1b\x50\x3c\x89\x54\xa3\x80\x86\x4b\x01\x0b\x08\x25\x1c\x8a\x63\xee\x22\xa2\xa3\x92\x4d\xef\x95\x09\xbd\x8c\xc2\xc2\xbc\x67\xfd\x54\xdb\xd3\xc5\x3a\x26\x61\x35\x64\x53\xd7\x4e\x0b\xae\x6b\x05\x6b\x22\x4e\x72\x74\xfc\xca\x93\x20\x41\x5f\xb0\x6b\x3a\xd0\x87\x37\x36\xd9\x9c\x0d\xac\x20\x7b\x68\xdc\x63\x39\xcf\x35\x1a\x4e\xb0\x78\x4c\xb3\x68\x12\xd2\x90\x1d\x77\xd7\x97\x00\x0f\xb3\x37\x8b\xc8\xa2\x8c\x62\x04\x9f\x52\x12\xcc\x4f\x73\xe4\xc8\xae\x1e\x89\xe6\xe1\x9b\xd7\xaf\x8f\x0e\xcf\x5e\xbc\xfe\xc6\x8c\xc6\x6f\xa3\x56\x55\xf7\xcd\xdb\xa3\xd7\xee\x48\xc0\xc6\xdb\xb0\x60\x99\xa1\xf6\x73\x38\x46\x3f\xdd\xc3\x1e\x97\x7a\x58\x69\x51\x20\xa6\x49\x5c\xe2\x14\x5c\xea\x57\xce\xfb\x4b\x66\xb9\x0a\xac\x4e\xa8\x4f\xc3\xab\xe5\x33\xbf\x89\xd8\xc4\xe9\xb5\xb1\x08\x37\xbe\x97\xb8\x82\x65\x52\x81\xe5\x61\x89\xa7\x97\xe1\x58\x96\x82\x4f\xa2\x5e\x49\x41\x55\x6b\x26\x4b\x25\x95\xe7\xa5\x5f\x53\x6c\x63\xe3\x56\x81\x9a\x22\xce\xd7\xaf\xe9\x20\xcf\xe7\xeb\x46\xa8\xd3\x49\x36\x42\x83\xf8\xbb\xf8\x7d\x9c\x5c\xa3\x83\x6f\xab\x56\xce\x66\xe9\x6d\x3b\xfd\x2d\x37\x7a\x6a\x1d\x3b\x99\x1b\x39\xd2\xe4\x61\x05\xb6\xed\x02\xa2\xa5\x37\x72\xc1\x5c\x6c\x4f\x67\x14\x1b\x4c\x9c\x0d\x9e\x16\x97\x45\xc5\x06\x4f\x8b\x2b\x99\xda\x4e\xa9\xc0\x09\xf5\xf9\xc0\xb2\xec\xdd\x1a\x9f\x67\xbe\xa7\x83\xb3\xb3\x3f\x2e\x99\x63\x78\x21\xe1\xac\xe0\x17\x27\x2c\x1e\xee\xbb\x01\x64\x96\x8f\xcf\x92\xf7\x34\x76\x1a\x4b\xe2\x8a\x57\x61\x76\x2f\x01\xe3\x57\x7a\x8a\x33\xa2\x55\x47\x04\x62\x67\xff\x14\x73\x24\x06\x2c\x5b\x7e\x3f\x28\x1a\x8b\x9a\x0a\x9b\xed\xb2\x21\xc1\xfb\xba\xea\x8c\x57\xbd\xa2\xe0\xfb\x9d\x86\x54\xb9\xfb\x2b\x8c\x13\x53\x80\xf1\x1c\x30\x8c\x47\xe8\x6e\x67\x27\x2b\xe4\x85\xdb\x9a\x9d\x8b\xcf\xa2\x57\xa2\x0a\xfc\xde\x9c\xd4\x4f\x5c\xa3\x3b\x46\xdd\xfc\xe0\x4b\x5e\x34\x9d\xbc\xe0\x5b\x4d\x97\xa6\x41\x3d\x4c\x3c\xc7\xf3\x0a\x46\x0b\x2e\xef\xac\x72\x13\xec\xd3\x93\xc1\xef\xf7\x45\x13\xc8\x50\xee\xa2\x72\x58\x55\x51\x99\x50\x2e\x7f\x5b\x77\x20\xc8\xc9\xc8\xe4\xf7\xb9\xe3\xd9\x54\x3f\x89\x26\xb3\xaa\x25\x5e\x55\x1f\xab\x35\xc3\x06\xac\xd4\x7f\x0e\x54\xec\xd3\x49\x14\x2a\x4b\xea\x7b\x65\xce\x22\xce\x5e\xdf\x96\x93\x8c\xc1\x94\x0b\x68\xcf\x22\x8c\xf3\xf1\x0c\x23\xdf\x93\x9c\xa1\x77\x15\x55\x4a\x61\xdd\xea\x6c\x13\x95\xae\xc1\x80\x21\xfb\xfd\x11\x34\xe7\xca\x7b\x03\x78\x7d\x47\xdf\x1d\x69\x4a\xbe\xa0\xcb\xc4\x46\xbe\x44\xb9\x44\x1c\x96\x20\xc2\x66\x0b\x57\xfb\x0d\xc0\xa7\xad\xda\xad\x56\xab\x90\x5d\x44\xcd\x92\x4f\x61\xdb\x78\x8b\x37\x4e\x40\xdd\x32\x9f\x47\x09\x9e\x8d\xb3\x52\xfc\x99\x0e\xcf\xf5\x00\x4a\x76\x1d\xe6\xfe\x98\x03\x3b\x6f\x95\x1e\x90\x50\xa8\x90\x8c\x42\x69\xca\xda\xaf\xe4\x4a\x73\x68\xb1\xa8\x17\x50\x3f\x09\xe8\x77\x27\x2f\x0e\x93\xc9\x34\x89\x69\x9c\x7b\xc5\xc7\x44\x26\x64\x2a\x9e\x12\xc9\x93\x81\x27\xba\x50\x6f\x98\x02\x59\x85\x9f\xfc\x08\xd3\xa6\xf6\xcf\x6b\xb0\x01\x5e\xad\xd5\x62\xff\xfa\x4d\x7f\x4c\xd2\xc3\x24\xa0\xbd\xdc\x6b\xd5\x9b\x79\xc2\x37\x30\xbc\xf6\x5e\xbd\x2e\x68\xb3\xd9\x71\x10\x47\x0f\x4c\xf3\x5d\x12\xc6\x5e\xad\x56\x77\x89\x93\xfc\x14\x9e\x6b\x5b\x44\x3f\x36\xb3\x57\x53\xef\x0e\x80\x6c\x5b\x60\xa5\x01\x29\xec\x8f\x4a\x3a\x7f\x96\x7e\xd9\x96\x47\x35\x3a\xc8\xa3\x96\x89\x62\xb8\x44\x2f\xc7\xc8\xee\x8d\xd1\xa2\x67\x00\xfd\x6c\x3d\x52\xa6\xd2\xe2\xfe\x90\x59\x9e\x98\x56\xd5\x9d\x7a\xe4\x27\x71\x96\x44\xb4\x19\x25\x23\x6f\xfd\x28\x26\x83\x88\x19\x9b\x6a\x86\xdf\x87\x75\xd8\x28\xb4\xb0\x01\xeb\x90\xb1\x5f\x41\xb6\xbe\x94\x56\xa6\xa1\x63\x81\xb9\x33\x91\x6e\x57\xd7\x59\xb8\xd2\x59\xa2\x45\xf1\x46\x82\xd2\xb8\x4a\x13\x2f\x9e\x2e\xf4\xae\xa6\xcb\xea\x30\xb9\x43\x9f\x07\x79\xeb\xc6\xb2\x06\x31\x0b\xd6\xf5\x09\x84\xf9\x61\x2b\xf4\x22\xd5\x1c\x07\x3f\xf2\x53\x34\xc3\xf8\x24\x22\xaf\x12\x2c\x9f\x43\x6c\xb2\x29\xc3\x6a\x15\xe3\x70\x41\xcf\x71\xa7\x74\x51\x59\xb4\x0f\xab\x0a\xdc\x36\x4a\x7c\xe3\x9c\xb2\xe0\x4e\x0c\xc1\x4c\x4c\xf7\x19\x41\x09\x19\xb9\x21\x51\x6d\xbc\x9a\x37\x59\x8a\x43\x50\x8d\x83\xb5\x51\x04\x8b\x17\xc8\xdc\xf8\x2f\x2e\x8e\xd5\x1a\x49\x66\x97\x97\xc5\xbf\xa6\x97\x42\x96\x1c\xe5\xb3\x01\xe5\x27\xea\x09\x09\x7a\x41\x90\xc4\xde\xfa\x30\xcc\xd7\x45\xcd\x3f\xac\x70\xc0\xff\x07\xe7\x01\xff\x92\xd3\x15\xe7\xd1\xbf\xeb\xdc\xbe\xb4\x83\xaf\x37\x6c\x58\xe5\x66\x72\x1d\xd3\xb4\x2f\x5d\xb5\xb8\x88\x48\x47\xa1\xf5\x20\xbc\x2a\x1d\xd7\x8b\xfa\xfc\xde\xee\x6b\x32\x61\x90\xd6\xf1\xe6\xe4\x66\xc2\x0f\x29\xd7\xdd\x35\xb4\x78\x77\x5a\xad\x56\x69\x21\xc9\x6c\xe1\x97\xfa\x4d\xb2\x6a\xce\x35\x84\x74\x18\x96\x44\xd4\x54\x5e\xe2\x89\x7b\xfe\x74\xbd\xbb\xa0\xa9\xe0\x84\x55\x63\x40\xe0\x3b\xbf\x1b\xb0\x7e\xc3\xa6\x8f\x72\x3e\x1a\xe6\x52\xd4\xed\x6e\x2e\x38\xcb\x93\x37\x54\xd6\x99\x40\xaf\x37\x96\x76\xd5\xa6\x4d\xb1\x1f\xe2\x72\x69\xe9\xe6\xc9\x3a\xaf\x56\x84\x5f\x05\xd3\x52\x3c\xb7\xce\x63\x1f\xd4\x3f\x8c\x69\x1a\x28\x1e\x0e\xa7\x8a\xa2\xd7\xf4\xc7\x38\x55\x28\xc2\x5b\x6e\x15\x8a\xdc\x4e\x85\x53\x6c\x77\x05\xdf\x0a\x0d\x55\xdf\xdb\x72\x6d\x51\x17\x41\x7f\x8c\x87\xc4\x12\x59\x96\x12\x95\xd3\x9b\xfc\x90\x47\x60\x71\xf9\x51\x28\xb9\x6f\xe2\x6d\x83\x00\xa3\xf8\x58\x0e\x01\xc6\xa8\xa9\x5d\x72\x83\x2b\x4b\x6f\x3c\xda\xb7\x19\x4b\xa5\x5d\x1b\xdd\xab\x38\x73\x98\x40\xee\x32\x99\x5f\xea\x1e\xf2\x43\x48\xde\xc3\xcb\x8a\x2e\x02\x9f\x67\xab\xbc\x43\x16\x8e\xe2\x6a\xfe\x1c\x45\x22\x0a\x47\x51\xee\xcd\xde\xd5\x03\xe2\xa4\x42\xa9\x1f\x15\xdd\xb0\xb0\x2d\x71\xdb\x1d\x3c\x38\x94\xbf\x6d\x2e\xca\xe2\xbf\xab\xb0\xf4\x8a\x8e\x1b\x8b\x45\xee\x2e\x6e\x12\x4a\x03\x32\xa9\xb3\x34\xd4\x9d\xbc\x19\x56\x91\xd7\x95\xdd\x19\x6c\xc4\x1c\xca\x73\x29\x6a\x42\x6b\xe1\xd7\xa2\xab\xc1\x2a\xa8\xae\xea\x6b\xa0\xae\xb4\x71\xf2\xb9\x75\x35\xcb\x16\x9d\x70\x16\x18\x44\xb3\xb4\x70\xe0\x57\x16\x92\xcf\xe1\x2c\x80\x4a\x66\x49\x4b\x8b\x8f\x29\xc5\x0c\xe7\xba\x42\xa7\xc7\xc9\x31\xab\x55\x38\x1a\x66\x79\x9a\xcc\xdd\xbe\x05\x7f\x70\xf9\x16\x48\x1b\xee\x0f\x6e\xdf\x82\x4f\x7b\x96\xc3\x36\x56\xb7\xb6\x78\x38\x90\x61\x18\x51\xb8\x26\x19\x8c\x58\x3f\x48\x4e\x03\x18\xcc\x21\x0a\x07\x41\x92\x6f\x0d\xc2\x78\xcb\x4f\x62\x9f\xe4\xcd\x6c\xdc\x64\x75\x5e\xe4\x30\x26\x19\x0c\x30\xa8\x0d\x49\xdf\xd3\x00\x52\x4a\x82\xcd\x24\x8e\xe6\x78\x6c\x3c\x4f\x66\x29\x64\x64\x48\xf3\x79\x13\xe0\x84\xe4\x63\x9a\xae\xa1\xb7\x1a\x89\x81\x06\x61\x0e\x61\x0e\xfc\x56\x57\x34\x6f\xc0\x34\xa2\x6c\x15\x3f\x49\x82\x70\x38\x87\x24\xa6\x22\x9e\x28\x43\x15\x7d\x72\x59\x5d\x86\x63\xd6\x6c\x32\x04\xd8\x4f\x81\xdc\xbb\x6c\x2b\x0a\x07\xcd\x77\x59\x29\xed\x72\x9a\x44\xf3\x61\x18\x45\xce\x4c\x3f\x89\x92\x34\x73\x66\x0d\x9d\xa9\x42\x91\x5e\x4e\x48\x4c\x46\x78\xb1\xc3\xd1\xa2\xd2\x6a\x0b\x8b\xa5\x94\xf7\xca\x99\x99\x09\x2f\xd9\x05\x79\x97\xfe\x38\x4d\x26\x8b\x8b\x44\x89\x4f\xdc\x3d\x97\x25\x26\xe8\x86\xeb\x2c\x92\xd3\x2c\x5f\xd8\x83\x59\x3e\x7c\x68\x67\xe4\xe3\x30\x0d\x2e\xa7\x24\xcd\xe7\x5b\xd7\x3e\xfa\xde\x63\xc9\x6b\x5f\x94\x43\x77\x5e\x56\x9f\xfb\xf5\xba\x12\x2f\x87\x29\x51\xdd\x2a\x64\xbd\x17\x3e\x3a\x8b\x73\x2f\x07\x21\xc6\xa1\xcb\x96\x14\x7b\x4f\xe7\x13\x32\x5d\x5e\x68\x4a\xf2\x9c\xa6\xb1\xbb\x60\x32\x65\xa2\x57\xd1\x14\xee\x23\xa5\x8b\xf2\x2e\xf1\xf2\x55\x38\x0c\x69\x5a\x05\xa3\x8a\x9d\x8a\xe5\x66\x83\x6c\x36\x70\xe7\xf1\x30\x43\x95\x79\x49\x14\x31\x85\xe1\xce\x57\xb7\x14\x17\xe6\x5e\x86\x49\x55\x81\x9b\xfc\x92\xe4\x79\x1a\x0e\x66\x39\xad\xe8\xe3\x55\x45\xdb\x57\xf9\xa5\x8a\xd7\x77\x59\x39\x56\x5c\xdd\xf1\xbc\x35\x96\x7f\xfa\xe6\xbb\x93\xc3\x23\x38\x7e\xf1\xf2\x68\xdf\xa9\x22\x0e\x93\xe9\x1c\x03\x76\xe2\xe6\x74\xa7\xd5\xee\xe0\xcd\xce\x43\x26\x51\xe1\x6c\x02\x6f\x4e\xf1\x90\x8a\xe9\x06\xe8\x45\x11\x60\xd9\x0c\xd8\xd4\x94\x5e\xd1\x00\xd5\xdf\x77\x99\x50\x50\x61\x26\xf4\x13\xf8\xcc\x44\x0b\x33\x18\xb1\x25\x69\xcc\xd5\x27\x81\x67\xa7\xfd\x4d\x1e\x72\x51\x86\x3a\xc2\x07\x8f\x7c\x12\xc3\x80\xeb\xb4\x64\x16\x07\x10\xc6\xe8\xa3\xfb\xf2\xc5\xe1\xd1\xeb\xd3\x23\x54\x74\xcd\xb5\xb5\xb5\x35\x23\x04\x51\x14\x0e\xe0\x9e\x7d\x75\x71\x8d\xcd\x32\x69\x72\x8d\x2b\xef\xa3\x34\x4d\x52\xaf\xf6\x4d\x94\x0c\x48\x04\xeb\x51\x38\x58\x87\x04\x37\x22\x80\x44\xe8\x77\x02\xf4\x26\xcc\xf2\xac\x59\xab\x1f\xac\xe1\x56\x01\x03\x29\xa2\xfb\x88\xc8\x50\xaf\xc8\x94\xf5\x6b\x3d\xa0\xcc\xdc\xa7\xb1\x3f\x5f\x87\x3c\x81\xf3\x75\xde\xc9\xf5\x06\x34\x9b\xcd\x0b\x19\xea\xe9\x88\xf8\x63\xd0\x45\x31\xe8\x91\x6c\x33\x26\x13\x7c\xb7\xfc\x3d\x45\x5c\x9a\xc3\x6c\xbd\x01\x12\x0c\x2b\xc9\xfa\x3b\x4b\x23\xa4\x07\x03\xc6\xe1\x64\x90\x70\x52\x70\x30\x4d\x8c\x0a\xc5\xea\xa7\xb3\x98\x99\xdd\x7d\xd9\x5a\x48\xb3\xcb\x02\xf2\x6c\x12\x06\x0c\x5a\xc6\xa7\xc4\x8c\xd3\x3a\xa6\x3c\x8a\xd0\x80\x42\x18\x5f\x25\x6c\xaa\x0a\x78\x50\xce\x28\x1c\xa4\x24\x9d\x43\x18\x87\x79\x48\xa2\xf0\x2f\x04\x37\x9c\xcc\xde\xc9\x0b\x5d\x62\x80\x58\xc9\x43\x61\x80\x65\x97\x40\xd2\x94\x60\xb7\xc3\x3c\xa3\xd1\x10\x08\xe4\xd7\xc9\xa6\xac\x83\xb9\x18\x66\x5a\x5e\xd4\x6a\x71\x12\x65\xe3\x04\x23\x71\x22\x12\x01\xcd\xfc\x34\x1c\xa0\xcf\x15\xeb\xf7\x75\xcc\xe3\x54\xcb\xe6\x20\x4d\x66\x79\x18\xd3\x06\xcc\x32\x3a\x9c\x45\x0c\x1e\x9b\x60\x03\x3a\x98\x8d\x46\x61\x3c\x6a\x82\x82\xdf\x96\x84\x95\x46\xa2\xa2\x85\x26\x64\xa1\x0b\xfc\x41\x74\x49\xc2\x13\xea\xe3\x05\x19\x02\x82\xde\xc6\xf0\x4a\xba\xa0\xb9\xc0\x19\x58\xa0\x04\xd7\x63\x1a\xb3\x19\x1f\xae\x49\x8c\x77\xf6\xe9\xcd\x34\xa5\x99\x80\xb3\x59\x00\x04\x7c\xc0\xfd\x64\x32\x65\x46\x07\xcb\x6d\x02\xb3\x28\xd0\x87\x9d\xd1\x3a\x67\x25\xe5\xa0\x11\x0c\x96\xb6\x39\x8c\x68\x30\xa2\x81\x1a\xb4\x6c\x9e\xe5\x74\x02\x49\xaa\x99\x07\x81\xe7\x29\xf1\xdf\xd3\x14\x21\xd6\x32\x78\x37\xcb\x72\xe1\x22\x9f\x27\x30\x21\xef\x29\x33\x3c\xa6\x49\x96\x85\x83\x88\xf2\xdb\xdb\x83\x19\xd2\x5e\x00\xca\xd0\x3b\x9e\xad\x36\xd3\x59\x1c\x63\x10\xb4\x28\xe2\x54\xe5\x11\x00\x91\x0a\x6f\x34\x9b\x67\x40\x52\x0a\xd9\x94\xfa\x4c\x95\x07\x40\x32\x31\xb6\x59\x13\xe0\x38\x49\x81\xde\x90\xc9\x34\xa2\xcc\x72\xe1\x95\xd9\x07\x99\x3a\x0f\xe8\xd4\xab\xb1\xaf\xdc\x1a\xa9\x35\x00\x7f\xe9\xc5\xd1\x2b\xae\xf6\x31\x32\x5d\xb9\x61\xe4\x6d\x46\xb3\x01\x85\x34\x49\x84\xd5\xc6\x40\xd4\x9a\x00\x7f\x4c\x66\x30\x21\x73\x36\x4a\x5c\x55\x61\x6f\xfd\x88\xa1\x4b\x0a\x64\x4b\x62\x20\xf1\xdc\x10\x3b\x3e\xd4\x14\x7c\x0c\xe8\x0a\xd3\x34\x19\xa5\x64\x82\xf0\x18\x77\x21\xfe\x34\xce\x66\x29\x3d\x29\x8b\xa6\x57\x07\xc2\x38\x9c\xa4\xf9\x6c\x0a\x21\xc6\xc6\x4c\xd2\x80\xa6\xc8\x1c\x58\x4b\xbc\xfc\xc6\x14\x6c\x91\xd5\x42\x9a\xc1\x98\x5c\x51\x61\x5e\x52\x85\x8f\xbc\x9d\xcf\xc9\x7b\x0b\x57\x24\xbd\x44\x6f\x92\x37\xcc\x60\x4c\x61\x92\xa4\x52\x73\x64\xee\x01\xd1\xfa\x84\x91\xde\xb0\xff\x3d\x09\x4b\x47\x8c\xe4\xca\x0a\xef\xca\xe7\xe9\x5c\x06\xf7\x28\x28\x5c\x11\xb1\xcd\x27\x78\x26\x4b\x6f\xcc\xeb\x72\x59\x4e\xfc\xf7\x78\x64\x8a\x01\x5f\x9b\xf8\xbb\x99\x4d\xa3\x30\xf7\x6a\x3f\x88\x68\x83\xe8\x75\xf9\x22\x86\x53\x32\x24\x69\xd8\x10\xf1\x21\xb2\x59\x84\x51\x79\x0d\x10\xd7\x61\x14\x01\xda\xd7\x48\x9b\x8e\xd4\x4d\xfc\x15\x01\xe4\x5f\x0e\x8c\x19\x40\x57\x61\x30\x23\x91\xec\x36\x32\xe8\x30\x49\x27\xcc\x98\x09\x44\x5c\x5f\x1a\xe7\xd1\x9c\x07\xf7\xc5\x28\x22\xaa\xa5\x66\x44\xe3\x51\x3e\x86\x27\x5d\xd8\x36\xa3\x8a\xe0\x34\xd7\x35\x50\x3a\xef\x5c\x34\x53\x3a\x8d\x88\x4f\xbd\xad\x7f\xf8\x21\xbb\x4f\xf2\x1f\xb2\x8d\xad\x06\xd4\x64\xd7\x0a\x81\x8b\x5c\x30\xda\x05\x18\x23\x3e\x81\x31\x59\xfb\xad\x05\x6a\x4d\x04\x27\x61\xca\xcf\xc3\x4b\xfe\xd0\x85\xd6\x01\x84\xf0\x18\x88\x74\x40\x11\xb8\x1f\x40\xb8\xb1\x61\x0e\xc5\x94\x60\x50\x65\x55\xee\x3c\x14\xd7\x0a\x59\xd7\x31\x93\x47\xd2\xf0\xd9\x54\x8b\x88\xe9\x9e\x2b\x76\x69\xe2\xd3\x04\x5e\x14\x0e\x1a\x08\xd0\xdd\x49\x3c\x58\x44\x47\x28\xbe\x40\x74\x4c\x5c\xe7\xac\xf6\x85\x5c\x2b\x62\xb4\x4b\x92\xce\xeb\x6a\xed\xb8\x52\x75\xa1\xba\x55\x0d\x7e\x39\x8d\x93\xd8\xa2\x99\x31\x45\x1e\xa1\xe8\x65\x4b\x64\x8f\x71\xcb\x84\xe6\x0d\x8c\x29\x12\x03\xbd\xf1\x29\x1a\xba\x7c\x76\x49\x93\x6b\x3d\x47\x5e\xd1\x74\x0e\xb3\x78\x42\x73\xc7\x8c\xc1\x59\x76\x40\x21\x4a\x46\x23\x1d\xca\xef\x77\xa7\xea\xec\x14\xe0\xc5\x50\x4c\x07\x6c\x01\x98\xe3\xca\xcf\xb6\x28\x38\x70\x54\x5f\x08\x2e\x25\x61\x46\x2d\xb4\xb4\x50\x57\xea\xa3\x4b\x53\xd2\xb5\x84\x4f\x49\x96\xd1\x80\x91\x1a\x9d\x6c\x4d\xe6\x12\x3c\x01\x55\xb6\x87\x25\xe7\x48\x73\x34\x3f\xba\x95\x15\xcc\x31\x67\x95\xb8\x02\xef\x62\x43\x52\x27\x70\xd3\x4c\xeb\x04\xa2\x76\xd8\x78\x9c\xec\x9b\x1c\x6a\x7c\x6b\xa2\x26\x67\x7a\x21\x2e\x42\x6f\x03\xaf\x75\x9d\xa4\xef\x69\x0a\x61\x5e\xcb\x24\x34\xa6\xb3\x69\x00\x35\x66\xa7\xd4\x9a\x0a\x8b\x64\xf0\x0e\xba\x20\xc2\x45\xc2\x87\x0f\x78\x8f\x5e\x70\x8f\x4b\xd0\x10\x6b\x97\x90\x09\x36\xf6\xb0\xc0\x79\x78\xc1\x68\x97\x0c\xde\xd5\xcd\x5d\x15\x39\xea\xd7\x24\x8d\xbd\xda\xab\x30\xcb\x98\x8a\x5b\xaf\x61\xd8\xfc\x7c\x0c\x1b\x50\x43\xd3\x90\xcd\x6a\x38\x93\xd5\x1a\x06\x6d\x8d\xbd\x15\x35\x6e\x86\xf7\x33\x14\xcf\xbf\x45\x24\x23\x10\x7d\x4c\x06\xef\xce\x25\x72\x17\x05\x95\x82\xa8\x73\xa0\x75\xa7\x96\xaf\x1d\x93\x90\x91\xcf\xc1\xe3\xfe\x98\xfa\xef\xd9\xb8\xdd\x9a\x66\xd4\x28\xcc\x72\x8a\xd2\x63\x1b\x97\x96\x41\x26\xa7\xd8\x8a\x22\x5c\x10\xa5\xcd\x1a\xc6\x90\x22\xd8\x94\x97\xe2\xd3\x29\xb3\xbc\x50\x7a\x84\x65\xe7\xd5\xd1\x1c\xe5\x75\x98\x65\xc8\x8c\x58\xb5\xc7\xc5\x05\x48\xb8\x5c\x13\x60\xe4\x8f\x28\xe0\xa4\x4a\x73\x9a\x36\x78\x48\x1b\x06\x0f\xed\x54\x55\xcf\xb6\x9e\xd1\xda\x0b\x73\x34\xe0\x22\x9a\x53\x34\x7f\x19\x94\xdc\xb4\x5b\xcb\x06\x75\x71\xf6\x66\xa3\x01\x3d\x61\x0d\x73\x33\x78\x9a\x33\xcc\x30\xc3\x61\x02\x4b\x73\x73\xc8\x8d\x3e\xc0\x38\x55\xd2\x0a\x36\x5b\x50\xa2\x2e\xbf\xd4\x6f\xb5\x49\xbc\x80\xe2\xac\xa3\xa9\x18\x3b\x0e\x50\x9e\x18\xc9\x12\xb7\xdc\x26\x92\xb0\x14\xe9\x0c\xc3\x42\xd4\x7f\x11\x5b\xc1\xcf\x3d\xbe\x20\xb2\xb7\x81\xcb\xf6\x38\x57\xe2\xe7\x76\x61\x7e\x81\x50\x86\x01\x10\x89\x16\xc3\xbd\x90\xfd\xe1\x61\xac\x85\x8d\x6c\x59\xec\x38\xf6\x25\xd3\x4b\x20\xeb\x62\x6d\x6b\x26\x20\x71\x80\x6c\x81\x2c\x80\x96\xa2\x51\xb5\x8a\x7f\x65\xfb\x2f\xec\x7c\xc6\x5b\xd9\x3c\xf6\xc7\x69\x12\x27\x33\x66\x24\x9f\x69\x9c\xe5\x22\x80\xaf\x58\x99\x0a\x62\xd6\x2b\xc3\x0d\x57\x3e\xb8\x44\x8a\x91\xb6\x6a\xd0\x0c\x86\x2f\x70\x9a\x56\xf9\xb7\xb2\x16\x6b\xca\x1c\x6e\xd1\x23\xce\xd3\x45\x3c\x25\x97\x49\x4e\x77\x33\xd9\x7d\x06\x7d\x9a\x5f\x46\xc9\xe8\x58\x42\xee\xc5\xc0\x37\x87\x48\x64\x35\x97\x51\x4e\x48\x54\x98\x76\x73\x29\x8d\x70\xdb\x35\x4a\x46\xf2\x24\x8e\x59\xec\xf6\xca\xcd\xe4\x28\xde\xa3\x46\xb1\x6d\x3d\xbd\x71\x33\xa2\xcc\x64\x2a\xc4\x2f\x4b\x7e\xcd\x66\x95\xd2\xec\xc8\x75\x22\xe3\x21\xae\xeb\xed\x98\x98\x29\xf5\xd1\x98\x9a\x37\xb3\x71\x38\x34\x0e\xc4\x59\xa5\x22\x3a\x4a\x3b\x17\x32\xbc\x1a\x6b\x7e\x1f\x98\xfa\x4f\xa9\x7f\xde\xd2\xf7\x64\xd9\xcf\xf6\x85\x87\xfb\x06\x4d\x12\x91\x74\xe2\x49\x54\xeb\x6e\xa3\x8b\xd3\xc2\x2b\xbd\x79\x60\x6c\xa0\x08\x06\xb8\x67\xc5\x70\x76\x6b\x7b\x39\x35\x25\x8c\x44\x57\x24\x0a\x03\x65\x39\xee\x0b\x38\x62\xa6\x5e\x6c\x75\x78\xbc\x90\x71\x1c\x29\xbb\xc1\xdd\x98\x6e\x0f\x16\xef\x58\x15\x37\xb0\xf5\xd6\x55\xa7\xd5\x7e\xf0\x6b\xdd\xb6\x2a\x44\x93\x16\x2a\xea\xb7\x2c\x97\x35\x72\x15\xd2\x6b\x78\x2b\x3a\xc6\xe3\x8d\x1f\x9d\x76\x5a\xed\xbd\x0d\x18\x52\x92\xa3\x7d\x7a\x4d\xd5\x56\xc2\x2c\xa3\x5c\x04\xf8\xe6\x5f\x3e\xcd\xf6\xb7\xb6\x02\x7a\x45\xa3\x64\x4a\xd3\xe6\x24\xf9\x4b\x18\x45\xa4\x99\xa4\xa3\x2d\x1a\x6f\x7e\x77\xba\x15\x24\x7e\xb6\xf5\x3d\x1d\x6c\xfd\x8e\x5c\x91\x53\x9c\x54\xb6\x4e\xe4\x72\x7a\x8b\xef\x8f\x5d\xf2\x55\x74\xb6\xc5\x1d\x2c\xb6\xa6\x24\x38\x65\x8b\x55\xdc\x70\xbb\xc7\x13\xcd\x97\x32\x44\x36\x97\x82\xca\x6c\x53\x8c\x72\x92\x8e\x68\xfe\x12\x85\x87\xad\x16\xc4\x0d\x5c\x15\x34\x7c\x8b\x59\xbe\x78\x2f\x9f\x6f\x03\x31\xa5\x28\xb6\xe9\xa2\x24\x1e\x01\x8d\x93\xd9\x68\xdc\x30\xee\xe3\x41\x90\xdc\xe3\xec\x6a\x80\x86\x4d\xb1\x4e\x10\x26\x99\x12\x5d\xab\xd0\xe3\x2e\xb4\xea\x4a\xb6\x70\x1a\x11\x9e\x25\xe2\xd9\x0d\x63\x29\xa4\xae\x0a\x77\xbb\xa0\xf6\x1a\x65\x65\x23\x1b\x6a\x50\xb3\x8c\x55\x74\xc3\x64\x3d\x9a\x92\x80\x75\x67\xc2\x96\xb0\xd3\x88\x62\x34\x98\x0c\x7b\xd5\x74\xa3\xf7\x44\xc3\x95\xea\xc6\xd1\x9e\x2e\x93\xd2\x29\x25\xb9\x67\x03\xd9\x2a\x03\x11\x31\x74\xcc\xe3\x36\x5d\x86\x3b\x11\xb7\x1a\x16\x39\xeb\xda\xe7\xc6\x7c\x90\xe4\xf6\x4b\x33\xdf\x51\x1c\x54\xb3\xde\x51\x1c\x54\x33\xde\x91\x75\x2d\xf2\xef\x6c\xf7\xeb\x64\x3b\xb3\xdb\xb8\xda\x59\xcc\x85\x8a\xed\x16\xcf\x0e\xd6\x09\xe6\x3f\x9d\x63\x0d\xf7\xfc\xf0\x9a\xad\xcd\xa6\xc4\xc7\x8d\x2a\xc0\xae\xc1\x2c\x0f\xa3\x30\x0f\xa9\xb1\x6f\xc7\xfb\x5c\xd8\xf9\x3f\x0e\xd3\x2c\x67\x6b\xc5\x09\xb3\xcd\xe3\x18\x4f\xa3\x47\xb3\x88\xbf\x62\x90\xd2\x8c\x3f\xa9\x79\x4d\x6b\x29\x85\x51\x22\x18\x9b\xa1\x81\x18\x8a\xe3\x6f\x61\x3d\xae\x2d\x8b\x02\xfb\xec\xa4\x77\x78\x04\x7f\x7c\xf3\xdd\xc9\xe9\xd1\xcb\xe3\x55\x6a\x00\x40\xe3\xa7\x9f\x7e\xfa\xa9\xb9\x4a\xc9\x0f\x4f\x2e\x1f\xc3\x4f\x3f\xad\x50\x74\xfb\x4f\x9b\x9b\x9b\xb5\xcd\xad\x55\xc0\x6e\xef\xb3\xcf\x0f\x57\x3f\x2c\x2f\xdb\x4d\xba\xbc\x70\x63\x85\xc2\xf0\x01\x44\x61\x2c\xbd\xa0\xc2\xd9\xf3\x23\x38\x39\xfa\xe6\xbb\x97\xbd\x13\x38\xfa\xc3\xdb\x93\xa3\xd3\xd3\x17\x6f\x5e\x9f\x2e\x6f\xa2\x77\x72\x04\x87\x6f\x5e\xbd\x78\xfd\x8d\xb1\x68\x4e\x69\x0d\x23\xde\x5c\x93\x39\x2e\x4f\xd9\xca\x9f\xab\xb0\x93\x23\x88\xc2\x9c\xa6\x24\x62\xeb\x02\xd0\x8a\xb8\x09\x70\x1c\xde\x70\x4e\xbd\x1e\xcf\x21\x48\xe2\x1a\x6e\x3d\xcd\x93\xd9\x53\x80\x37\x63\x5c\xe6\x00\x89\xb2\x84\x9f\x18\x58\x2d\xa0\xcf\x1e\x5b\x34\x73\xc5\x80\x50\x82\x84\x66\x71\x8d\x9f\x58\xa4\xd3\x94\x22\x34\x9a\xf9\x64\x4a\x8d\xc5\x4f\x96\x53\x12\x34\x98\x4d\x93\xe5\x49\x32\xe5\xdb\x60\x61\x06\x6a\xdf\xb3\x0e\x4c\x18\xde\x17\x99\xbc\x99\x52\x3c\xe2\x5a\x43\x55\x77\x78\x7a\x0a\x63\x7a\xc3\x25\xa3\x01\x5f\x9d\x7c\xf3\x8c\xe9\xb5\x31\xbd\x69\xef\xed\xc3\xd6\x57\xde\x39\xd9\x1c\xb6\x36\x1f\x5d\xd4\x5d\xdf\xb6\xc2\xc6\x5a\x05\x9c\x93\x6f\xbe\x79\x26\x41\x75\x76\x2c\x50\x3f\x76\x6e\xeb\xd5\x3f\x6c\x98\xe9\x68\x20\x61\xa6\xa3\x81\x97\xa6\x69\x63\x34\x1a\x35\x06\x83\x41\x9d\x01\x4f\x47\x83\x7d\x34\xb1\x4f\xe8\xe8\xe8\x66\xea\x09\x4d\xeb\xd5\xfe\x61\x2b\xbb\x9f\x8e\x06\x5b\xd9\xfd\x2d\x6f\x2b\xbb\xef\x6d\x05\x3f\xb6\x1b\xdb\xb7\xf5\xad\xec\x7e\xa3\xf8\xbb\x06\x1b\x72\x35\x51\x2b\xe4\x6d\xb1\xbf\xfe\x59\x4d\x66\xd7\xf5\xa6\xf2\x0f\x5b\x5b\xa3\x06\xd4\x7e\xf8\xa1\x56\x6f\x40\x2d\xac\xd5\x57\xc3\xba\x41\x08\x91\x98\x93\x85\xa8\x93\xad\xec\xbe\x85\xd9\xd2\x7e\x14\x7e\x9b\x95\xbd\xa7\xfb\x22\x7b\xc3\x7b\xba\xbf\xd5\xdc\x0a\x36\xea\x4f\x59\xa1\xfa\x47\xf4\xf0\x28\xc4\x90\xd3\x27\xdf\x3c\x63\x4b\x99\x93\x6f\x9e\xf5\x44\x87\x6e\x16\x77\xe8\xe9\xdf\xa6\x47\x4f\x3f\xa2\x4b\xbd\x18\xfe\xd0\x6e\xc3\x3a\xe3\xa7\x20\x08\x82\x2d\xf5\xd7\x3a\x77\xa4\x67\x3d\xbc\x69\xb7\x91\xdf\xf0\x40\x81\x7d\xd3\x7c\xdb\x6e\xec\xdc\xd6\x7f\xd8\x5a\x9a\x90\xdd\xff\x67\x9a\xbf\x8f\xe2\x51\x14\x66\x63\x31\x2b\xc5\x64\x82\xad\xb0\x7f\xf7\x61\xeb\x9c\x6c\xfe\xe5\x82\xfd\xd5\xda\x7c\xf4\x43\x76\xb1\xb1\xd5\x30\x77\x66\x0e\x93\x18\xdf\x5d\x24\x92\xdd\xbc\x20\x08\x1a\xe2\xff\xba\x80\x88\x88\x33\x2d\x92\x00\xe1\xfd\x33\xd2\xd5\x89\x23\x8e\x25\x83\x62\x64\x8a\x3d\xc2\x51\x9c\xa4\x7c\x83\x5d\xec\xf0\x64\x24\x0e\x73\xb6\xfe\xc7\xe7\x2b\xc6\x24\x0e\x22\xb1\x49\xa6\x8e\xb6\x6b\x41\x10\xd4\x70\x6b\x03\xef\xf6\x89\xd3\xfb\x98\xc2\x60\x9e\x53\x81\x92\x3e\x43\x0b\x63\x08\xa8\x1f\x4e\x30\x62\x75\xc5\x61\x1c\xab\x81\x36\x87\x8d\x23\x43\xcb\xe7\x64\xb0\x37\xd5\x64\x4d\x56\xa7\xd0\x69\xc6\xaf\xf1\x2c\x8a\x98\xd5\xc6\x4c\x08\x9e\xe8\x63\xe8\x73\x7e\xde\xa9\xf7\x66\x10\x32\xdf\xfc\xb1\xd5\xe7\x68\x70\x96\x30\xb8\xd6\x29\x9f\xf2\x2e\x55\xdb\x32\x99\x4f\x22\xea\xa9\x67\x3f\xae\xa0\x0b\x9e\x8a\xd3\x79\xd5\x80\xce\xee\x6e\x1d\xee\x43\x67\xf7\x81\x7d\x11\xd1\xf2\xe3\xe3\x7b\x15\x7f\x99\x92\x80\x55\xd9\x11\x0f\x2e\x59\x1b\x31\x7c\x34\x27\x24\xf7\xc7\x9e\xad\xe5\x19\xaa\x37\x58\xc5\x3e\x0b\xb2\x62\xe7\xea\x2d\xc0\x1a\x63\xe9\x1a\x6c\x08\xcc\x49\x3a\x3f\x6f\x5f\x30\xbb\xb2\xb6\x65\xa7\x76\x9c\xa9\xdb\x17\xf6\x6e\xb5\x66\xd1\x88\x8e\x88\x3f\x57\x63\x71\x45\x8b\xac\x29\x79\xb8\xd9\x6c\xd6\x5d\x3c\x7a\x36\xa6\x73\xc8\xc9\x7b\x6e\x91\x0f\x93\x74\xb2\xcf\x92\xdb\x1d\x18\x84\xf9\x3e\x4e\x5a\x7a\x5e\xdf\x7c\x02\x5f\x9d\xb4\x5a\xad\x6f\x5a\xad\xd6\xb3\x56\xab\xc5\x4a\x76\x76\x64\x49\x9c\x96\xcc\x92\x27\xad\xd6\x37\xdf\xb4\x5a\xcf\x9e\xf1\x92\xdb\x7b\xaa\xe4\xc9\x37\xac\xec\x33\x5d\xf2\xa4\xf5\xcd\x37\xdf\xb4\x9e\x3d\x7b\x86\x25\x77\x1e\xea\x92\xac\x28\x2b\xfb\x4c\x60\x9b\x51\x14\x20\x86\xed\x24\xc9\x72\xc8\xc2\x51\x1c\x0e\x43\x9f\xc4\x39\xab\xa4\x66\x71\xf5\xe6\xb9\x90\x3a\xdc\xfd\x0d\x92\x6b\xdc\xd4\xe3\x48\xab\x97\x53\x49\x5e\xcb\x70\x77\x95\x51\x2b\x9b\x4d\xb9\x4f\x67\x91\x3b\x6f\xda\xed\xe7\xf4\xe6\x2c\x61\x85\x4c\x06\xd5\x0f\x9e\xdd\xbb\x6a\xe2\x09\x7a\xf6\x7d\x98\x8f\xbd\xda\x57\xb5\xba\x83\x2b\x50\x3f\x31\x9e\x9c\xf2\x9d\x5f\x4a\x02\x66\x9e\x7c\x05\xc9\x70\xc8\x94\x14\xe3\xe6\xab\x66\x36\x1b\x64\x79\xea\x89\x65\x09\xbe\x06\x8b\x5e\x04\x33\x11\x51\x23\x0b\xff\x82\x16\x0b\xb6\x7b\xbe\xdd\x80\xbd\x06\x3c\x6a\x40\xbb\x73\xa1\x62\x5e\x5f\xa9\xe5\x4d\xb7\x0b\x9b\x6d\x37\x83\x6a\xc8\x71\x12\x6f\x32\x33\x83\xd3\x4b\x82\xbe\x12\xec\xbf\x75\xfe\x0f\x42\xdd\x6e\x85\xae\x5e\x89\x6e\x4d\xa3\x30\x17\x9e\x17\x68\xf5\x27\x33\x0c\xd6\x8f\x67\x6e\xdc\xc1\x5a\x62\x05\x5b\xb0\x7d\x20\xb2\x52\xb3\xcb\x2d\xfe\x72\x4c\x5d\x66\x8e\xcc\x4c\x96\x53\xc8\x1f\x14\xf3\x99\xe8\x98\xc5\x38\x6a\xaf\x93\x74\x22\xf6\xdb\x13\x68\xef\x49\x5e\xd1\x4a\x25\x4e\xd2\x49\x7b\xcf\xd6\x2a\xea\x61\xda\xab\x06\x14\xf5\x07\xef\x4f\x17\x3a\xf0\x14\xae\x60\x5f\x09\xc9\xd6\x96\x00\x6f\x3a\x81\xcb\xc2\x6d\x2c\xfc\xf8\x31\xec\xf0\x1a\x5b\x5b\xf0\xb0\x58\xf6\x0a\x9e\x3c\x01\x6f\x07\xee\xf3\x37\x78\x60\x13\x3a\xf5\xfa\x01\x96\xed\xec\x30\x35\xbb\xdd\x11\x55\x6e\xd7\x2c\x6d\x26\xf8\x14\xbd\x98\xce\x12\x66\x3c\x78\xe7\x69\x03\x46\x0d\x18\x5c\x34\x27\x64\xea\xf1\x2e\xd6\x2b\x94\x49\x69\x1e\xbb\x8b\x12\xc1\xba\xbc\xd6\x84\xcc\xd1\x0b\xc8\x84\xc7\x8f\x47\xf8\xe9\x34\x53\x29\x62\xca\x18\x2a\xad\xc3\xc0\x30\x25\x39\x1e\x8f\xc7\x5b\xea\x2f\x71\xdc\x6c\xcc\x79\x02\xb1\x0c\x22\x9a\x65\xdc\x37\x79\x07\x82\x70\x14\xe6\x19\x84\xb9\x38\x01\x98\x92\x20\xa0\x01\x63\x3e\x36\xd8\x3b\xe8\xa2\x21\x66\x8d\x40\xe9\x80\x61\x88\x4e\x62\xea\x50\x8d\x4d\xa2\xcb\x67\xca\x22\x89\x56\x99\x29\x8b\xb3\xeb\x67\x98\x29\x6f\xda\xed\x2a\x45\x54\x35\x4b\x6e\x6d\xc1\x5b\xc2\x89\x22\x54\x22\xc6\x14\xd5\x74\x1c\x26\xb3\x54\x90\x12\x4f\x78\xc2\x0c\xc4\x9b\xe7\xe0\x4d\xd3\x64\x40\x06\x91\x98\xe5\xb6\xb6\x00\xb5\x02\xcd\xc4\xcb\xbb\xc2\x75\x2b\x08\x87\xc3\xd0\x9f\x45\x48\xf6\x8c\xf0\xd3\x20\x6e\xdd\xa0\xa6\xc5\xc2\x90\x51\x3a\xc9\x20\x4f\x24\x28\x92\xa6\x78\xba\xc9\xe6\x33\x31\x72\x9c\x24\xc2\x4b\x26\x86\x29\x4d\xf1\x49\x01\xbe\x5d\x90\x4c\x06\x61\x2c\x8e\x54\x87\x12\xc8\x88\x4c\x26\x8c\x4f\x52\xf1\xea\x48\x43\x50\x9c\x6f\x50\xe4\x29\x89\x33\xee\x4e\x83\x79\x0c\xf2\x9f\x67\x24\xce\xd5\x81\xa7\xda\x70\x52\xfa\x89\x49\xab\x3e\x44\x61\xca\x8d\xf3\x89\x60\xb6\x29\x51\x0c\x86\x84\x1b\xcc\x81\x6f\x37\x49\xbf\x40\xe5\x0a\xdb\x04\x58\x1f\xae\xc3\x80\xfa\xc9\x84\x66\x1a\xde\xfa\x70\x38\x1c\xae\x37\x01\x4e\x7d\x82\x37\xd1\x91\x33\x09\x28\x25\xac\x76\x76\x84\x4b\x33\x6b\xa3\xb3\xfb\x40\x3a\x12\x64\x64\x42\x35\x34\x92\x81\x3f\xcb\x73\xfe\x44\xcd\x50\x99\x85\x4d\x80\xef\x29\x64\xef\xc5\x6c\x33\x09\x83\x20\x62\xcb\x5a\x3a\x45\x22\xa0\xb3\x5d\x90\xcc\xd4\xa3\x97\x22\x3e\xad\x81\xbd\xbd\x1d\xa8\x35\x22\x6c\x80\xa9\x15\x6f\xdd\x24\xec\x14\x48\x38\x09\x23\x92\x42\x40\x49\x04\x6c\xc1\xde\x04\x94\xa8\x29\x09\x32\xc8\xaf\x13\x4e\x5c\x35\x65\x17\x48\xaa\xe1\xa0\xc1\xeb\xb1\xe1\x65\x3c\x0e\xb3\xa9\x20\x4d\x9d\x51\x13\x59\xad\xb0\x73\xc4\xcb\x85\x39\x9a\x01\x1a\x0e\xa7\x78\x3c\xbf\x26\x73\x5c\xee\xfb\x24\xe6\x24\x91\xa1\xdc\xc6\x4c\x5a\xc3\x11\x86\x96\x51\x8b\x15\x27\x39\x96\x93\x62\xdb\x22\xc5\xd9\x38\xa5\xd4\xee\x2f\x13\x0c\x71\x72\x2f\xe4\xa0\xc4\x54\x43\xc4\x04\x6b\x35\x35\x2c\xda\x1c\x35\xa1\xdd\x1a\x4a\x1e\x63\xdf\x87\x32\x1f\xed\x09\x36\x58\x72\x8e\xec\xd8\x68\xb2\x61\x41\xea\x70\xc5\x38\xa6\xd0\x31\x16\x14\x4d\x73\xca\x43\x1b\x3b\x4d\x66\x71\xe0\x15\x3a\x0e\x5b\x48\x7e\x97\x0d\xed\xb6\x9f\xf9\x82\xcf\xb6\xa0\xb5\xa2\xe2\xf1\x6e\x84\x7d\x84\x16\x2e\x17\xde\xa6\x41\x58\xa7\xa5\xe5\x9a\x0f\x0d\xbb\xcd\xbb\x12\x7d\xa7\x51\x46\x2b\x2b\xb0\xc9\x0a\xe7\x4f\x51\x1c\x7b\x84\x67\xa7\x53\xb9\xf9\xdb\x36\x0f\xf8\x2b\xe6\x5e\x56\x83\xcd\xba\xc8\x7b\xee\x49\x37\xe3\x17\x67\x84\x1f\x24\xd3\xe7\x35\x61\x47\xd7\xec\x35\x23\xce\xc4\xf9\x98\x86\xa9\x9a\x88\x85\x5b\xb1\x7a\xc6\x17\x7d\xe0\xf8\xea\x52\xcd\x1b\x6c\x82\xc3\xf5\x79\x93\xcf\xa3\x62\xaa\x21\xb1\xf0\x40\x55\x05\x1b\x7a\xf2\x14\x2b\xfa\x80\x4f\x0f\x6c\xa2\x72\xcf\x8a\x1f\xb8\xeb\xe1\x63\xfe\xeb\xc9\x2d\xf4\xe4\x4c\x6a\x4c\xf0\xa9\xf0\xb8\x4e\x86\x3a\x95\xeb\x7e\x6b\x86\x73\xcd\x9d\x25\xf8\xe8\xc7\xa1\x7a\xa6\x1a\x50\xf6\xaa\x3d\x43\x8e\xd9\x90\xb3\x36\x8d\x19\x92\xa4\x23\x7d\xd6\x8e\xfb\x70\xe2\xb4\xdd\x60\x4c\x4c\x3e\xd0\x65\x3a\x3b\xce\x32\x9d\x1d\xee\x7d\x26\x27\x5b\x81\x98\x37\xd6\x0e\xa5\x8c\x4d\xc7\xf4\xc6\xd0\x00\x3b\x5a\x03\x30\x25\xdf\x65\x7f\xab\x1d\x14\x6c\x58\xdf\x25\xf4\xc6\x0d\x10\xc6\x9b\xe3\x42\xf4\xfa\x57\xeb\xb0\x01\xa9\xf8\x7f\x24\xfe\x1f\xb0\xff\x95\x37\x95\x75\xf7\x5a\x0b\x24\x6b\x93\x8b\x24\x76\xa3\xae\x8f\x82\x4c\x97\xc6\xa2\x71\x6f\x2d\x65\x3d\xee\x00\x26\x34\x00\x5f\xcd\x72\x35\xb0\x01\xb5\x06\x18\x7b\x49\x76\xa9\xce\x4a\xa5\xb6\x75\xa9\x7a\xed\xc0\xf4\xf8\x22\xe9\xa8\xd2\xeb\xb3\xc2\xc9\xd4\xed\xf9\x46\xd2\xd1\x79\x78\xc1\x23\xdf\xe1\xb0\xf1\x04\xd3\x19\xc1\xf4\x56\x60\xed\x5a\x65\xb5\x5a\x10\x54\x21\xe9\x68\x35\xf9\x56\x66\x34\x13\x5d\x4b\xae\xdd\x92\xaf\x36\xa5\x87\xe2\x05\x34\x12\xe3\xfe\xa6\x06\xc2\x1d\x90\x49\x34\x1d\x13\x18\x86\x34\x0a\xb4\xd3\x27\x90\x6b\x32\xff\xf5\xe9\x07\x45\x83\xb2\x92\x30\x95\x1b\x67\x5b\xa1\x30\xbe\xa0\xa6\xc0\x5d\xa7\xe7\x28\x8f\x65\x4d\x51\x12\x70\x36\x6b\x19\x9e\xa4\xda\x63\x47\x40\xf3\x53\xe2\xbf\x67\x73\x87\x9c\xde\x96\xc8\x96\x29\x5a\x5f\x31\xb9\x32\xf6\xa5\x3c\xcf\x12\x8c\xd6\x45\x9d\x2d\x1d\x99\x6c\xd8\xe1\x6a\x4b\x1f\xaf\x20\x9c\x58\x0f\x1e\xde\xb1\x5e\x47\xd4\x6b\xd5\xed\x6d\xb4\x06\xec\xd5\xff\x89\xca\xe5\x19\x11\xce\x70\xdc\x47\xc8\xcf\x32\x21\x6d\x78\x7e\x1d\xe2\x48\xe3\xb2\x83\x55\xc6\x05\x22\x5f\x01\xa7\xa3\x01\xe3\x20\x26\x79\xf6\xd2\xf7\x04\xdb\xc9\x96\x2c\xe8\x70\x73\x01\x77\x1f\xca\x4b\x39\x95\x55\x58\xce\x05\x74\xa8\x77\x96\x02\x3a\x5c\xb8\xb5\xe4\x98\xf8\x10\x80\x72\xa9\x72\x6c\x5f\x36\x73\x9a\xe5\x58\xca\x02\x15\xd0\xa1\xb9\x75\xe9\xb4\x8b\x38\x68\xe7\x8e\xe4\x36\xa3\xd3\x0e\x58\x57\xaa\x4c\x32\x0a\xcd\xc5\x65\xb5\x44\x0c\xc3\x7e\xb2\xc5\x71\x6e\x38\xc9\xa1\xaa\xeb\x9a\xce\x6e\xf0\x84\x59\xd7\x4f\x81\x4f\x1f\xb0\x0f\xed\x03\x7b\xf3\x95\xe0\x94\xc5\x85\x48\x4d\x3f\xc0\x85\xc3\xfe\xdd\x31\x7f\x63\x4b\x62\x1e\x32\x7a\xfb\xe6\x8a\xa6\xfc\x74\x51\xab\x5e\x7f\x4c\xe2\x98\x46\x4c\x89\xf1\x8e\x6e\x21\xb3\x60\xbf\x4a\xdd\xcc\x68\xde\x13\xbd\x50\x7d\x4c\x47\x83\x06\x87\xe5\xf2\x07\xac\xd2\x2e\xa2\xc7\x5d\x5e\x73\x25\xa3\xd4\x1e\xb9\x57\xe1\x0d\x5b\x77\xd3\xd4\xa7\x71\x4e\x46\xb8\xe8\x24\x90\x87\xe8\xc1\x1e\xa1\x3f\x1d\x1b\x3b\x18\x90\x8c\x56\xf4\x66\x12\x5a\xba\x93\x95\x6c\x20\x84\x86\x84\x6b\xf5\xa8\x5d\xd1\x25\x56\x4f\xed\xea\x91\x74\xde\xa9\x28\xc7\x20\xd7\x0f\xaa\x2e\x96\xec\x1c\xc0\xc6\x46\x68\xaa\xe8\x20\x1c\x0e\xb9\xf3\x63\x87\x29\x97\x4d\xc4\x41\x5d\x27\x11\x3f\xe4\x4b\x5f\x85\xd5\x8d\xc8\x65\xc6\x08\x82\xb9\xaf\x7a\x54\xd4\x34\xd5\xf4\x6e\xdb\x04\xe7\x7b\xa4\x25\x1e\x51\x32\xa2\xe6\xc2\x30\xcf\xf4\xc6\x97\x32\x04\xde\xc4\x90\xcd\x7c\x9f\x66\x59\x03\x48\x49\xd0\xe4\xfd\x0d\x8e\x14\x3a\x94\x1f\x73\xbd\x25\x66\x3f\xc3\x5a\x60\xd0\x64\xf9\x8c\xbf\xdc\xdb\x2e\x8d\xad\xa4\xba\x39\xc0\x98\xa5\x75\x13\x67\x0a\x53\x3b\xb1\x5e\xd5\xea\xe5\x69\x92\x97\xac\x3a\x4f\x21\xc6\x74\x69\x2c\x07\xc1\xe5\xb6\xaa\xd4\xfb\xbc\x62\x6a\x58\xb5\xd1\x3b\xb4\xa9\x6e\xec\xb4\x17\xa3\xc1\x98\x42\x5e\x9c\xa0\xdc\x3d\xf5\x90\xcd\x05\xf1\x0f\xb5\x1c\x90\x9e\xdc\x85\x96\x93\xd1\x10\x59\x6e\x10\x2c\xdb\x9a\x45\x5f\x7b\x21\x94\x96\x45\x69\xcd\x4b\xaf\xf5\x35\xc7\x3c\x0d\xa7\x53\x1a\x30\x96\xc2\xdd\x30\x7e\xfd\x4c\xdb\x47\x79\x02\x51\x72\x4d\x53\x9f\x64\xe2\x7e\x0f\x63\x11\xde\x0c\x5a\x7c\xe2\xcc\xa1\x21\x26\xb9\x4c\x73\x97\xe9\xae\x1e\x89\xcb\xbc\x06\x96\x79\x82\xab\xbe\x09\x7f\x9d\x8d\xd5\x0c\x68\x1a\x5e\x99\x0f\x88\x67\x79\xe2\xbf\x67\xbd\x13\x1b\xc0\xcd\xfc\x26\x37\x7d\x7b\xdc\x77\x10\xce\xe4\x09\x83\x6a\x67\xe9\x26\x2c\x6e\x0d\x66\xd3\x04\x63\x0d\x54\x10\xce\x9e\x97\xe5\x6c\x57\xbc\x13\xa0\x39\x5f\x0c\x85\xa5\xa5\xd8\x3f\x48\xfc\xaa\xf9\x59\x97\xc0\x4b\x03\x17\xa8\xc9\x62\x1e\x23\x0d\x0f\xaa\xf3\xe4\x25\x1b\x8e\x43\x22\x83\xe8\x7d\xb9\xa6\xf4\xe9\x7d\xb6\x81\xc7\xf7\xb5\x2f\xd0\x60\x15\x77\x9f\xa9\xe1\xe7\x43\x39\x25\x11\xcd\xf3\xf2\x40\x60\x99\x43\xf6\xfd\x2d\x2f\x61\xcf\x0b\xd2\xde\x59\x03\xf0\xce\x71\x63\x8d\xc2\x7a\xef\xf5\xe9\x0b\x68\xef\xad\xe3\x0d\x5e\x00\xa8\x7d\xd5\xc2\x0f\x9b\xd8\xbf\x3a\x3c\x54\x5f\x77\x8e\x1e\xf5\x5a\x7b\x3c\x75\xa7\x87\xa9\xa2\xfc\xf6\xce\xde\x6e\x6f\x07\x73\x1e\xec\xee\xb6\x1e\x3c\xc3\xaf\xad\xbd\x47\x0f\x1f\xf5\xf0\x6b\x7f\xbb\xff\xe0\xf0\x58\x95\xdf\xdd\xdd\x7d\xb0\xbb\x8d\x39\x47\xc7\x9d\x47\x9d\x47\xbc\x7c\xeb\x59\xaf\xcd\x53\x8f\x0f\x8f\x1e\xed\xe8\xf2\x0f\x3a\x8f\x8e\x59\x75\x96\xd3\x69\xb5\x0e\x9f\xc9\xf2\xbb\xcf\xfa\x1c\x0a\xfb\x1c\xd6\x1a\x6a\x97\x8e\x75\x6c\xef\x66\x4f\x50\xcb\x9f\x0d\x78\x68\x95\x52\xf7\xd8\x97\xdd\x63\xf5\xf5\xe1\x03\xf5\xb5\xa7\x53\xfb\x3a\xf5\x58\x23\xc5\x2a\x2a\x28\xbb\xc7\x0a\xca\xee\xb1\x82\xb2\x7b\xdc\xd3\xa9\x7d\x9d\x6a\x41\x79\xf8\x40\x41\x79\xf8\x40\x41\x79\xf8\x40\x41\x79\xf8\xa0\xa7\x53\xfb\x3a\xd5\x82\xd2\xd3\xb8\xf4\x34\x2e\x3d\x8d\x4b\x4f\xe3\xd2\xd3\xb8\xf4\x6c\x5c\xfa\x1a\x97\xbe\xc6\xa5\xaf\x71\xe9\x6b\x5c\xfa\x1a\x97\xbe\x8d\xcb\xb1\xc6\xe5\x58\xe3\x72\xac\x71\x39\xd6\xb8\x1c\x6b\x5c\x8e\x39\x2e\x92\x47\x8e\xd5\x20\xb1\xaf\x02\x0c\xfb\x2a\xc0\xb0\xaf\x3d\x9d\xda\xd7\xa9\x06\x32\x6c\x5c\x14\x14\x35\x48\xec\x8b\x82\xa2\x06\x89\x7d\xed\xeb\x54\x0b\x8a\x1a\x24\xf6\x55\x41\x51\x83\xc4\xbe\xf6\x74\x6a\x5f\xa7\x5a\x50\x7a\x1a\x97\x9e\xc6\xa5\xa7\x71\xe9\x69\x5c\x7a\x1a\x97\x9e\x8d\x4b\x5f\xe3\xd2\xd7\xb8\xf4\x35\x2e\x7d\x8d\x4b\x5f\xe3\xd2\xb7\x71\x39\xd6\xb8\x1c\x6b\x5c\x8e\x35\x2e\xc7\x1a\x97\x63\x8d\x8b\x3d\x48\x8c\x2c\x02\x0c\xfb\x2a\xc0\xb0\xaf\x02\x0c\xfb\xda\xd3\xa9\x7d\x9d\x6a\x20\xc3\x28\xaa\xa0\xa8\x41\x62\x5f\x15\x14\x35\x48\xec\x6b\x5f\xa7\x5a\x50\xd4\x20\xb1\xaf\x0a\x8a\x1a\x24\xf6\xa5\xa7\x53\xfb\x3a\xd5\x82\xd2\xd3\xb8\xf4\x34\x2e\x3d\x8d\x4b\x4f\xe3\xd2\xd3\xb8\xf4\x6c\x5c\xfa\x1a\x97\xbe\xc6\xa5\xaf\x71\xe9\x6b\x5c\xfa\x1a\x97\xbe\x8d\xcb\xb1\xc6\xe5\x58\xe3\x72\xac\x71\x39\xd6\xb8\x1c\x6b\x5c\xec\x41\xea\x69\x49\xea\x69\x49\xea\x69\x49\xea\x69\x49\xea\x69\x49\xea\xd9\x92\xd4\xd3\x92\xd4\xd3\x92\xd4\xd3\x92\xd4\xd3\x92\xd4\xd3\x92\xd4\xb3\x25\xa9\xa7\x25\xa9\xa7\x25\xa9\xa7\x25\xa9\xa7\x25\xa9\xa7\x25\xa9\x67\x4b\x52\x4f\x4b\x52\x4f\x4b\x52\x4f\x4b\x52\x4f\x4b\x52\x4f\x4b\x52\xcf\x96\xa4\x9e\x96\xa4\x9e\x96\xa4\x9e\x96\xa4\x9e\x96\xa4\x9e\x96\xa4\x9e\x2d\x49\x3d\x2d\x49\x3d\x2d\x49\x3d\x2d\x49\x3d\x2d\x49\x3d\x2d\x49\xbd\x82\x24\xf5\xb5\x24\xf5\xb5\x24\xf5\xb5\x24\xf5\xb5\x24\xf5\xb5\x24\xf5\x6d\x49\xea\x6b\x49\xea\x6b\x49\xea\x6b\x49\xea\x6b\x49\xea\x6b\x49\xea\xdb\x92\xd4\xd7\x92\xd4\xd7\x92\xd4\xd7\x92\xd4\xd7\x92\xd4\xd7\x92\xd4\xb7\x25\xa9\xaf\x25\xa9\xaf\x25\xa9\xaf\x25\xa9\xaf\x25\xa9\xaf\x25\xa9\x6f\x4b\x52\x5f\x4b\x52\x5f\x4b\x52\x5f\x4b\x52\x5f\x4b\x52\x5f\x4b\x52\xdf\x96\xa4\xbe\x96\xa4\xbe\x96\xa4\xbe\x96\xa4\xbe\x96\xa4\xbe\x96\xa4\x7e\x41\x92\x8e\xb5\x24\x1d\x6b\x49\x3a\xd6\x92\x74\xac\x25\xe9\x58\x4b\xd2\xb1\x2d\x49\xc7\x5a\x92\x8e\xb5\x24\x1d\x6b\x49\x3a\xd6\x92\x74\xac\x25\xe9\xd8\x96\xa4\x63\x2d\x49\xc7\x5a\x92\x8e\xb5\x24\x1d\x6b\x49\x3a\xd6\x92\x74\x6c\x4b\xd2\xb1\x96\xa4\x63\x2d\x49\xc7\x5a\x92\x8e\xb5\x24\x1d\x6b\x49\x3a\xb6\x25\xe9\x58\x4b\xd2\xb1\x96\xa4\x63\x2d\x49\xc7\x5a\x92\x8e\xb5\x24\x1d\xdb\x92\x74\xac\x25\xe9\x58\x4b\xd2\xb1\x96\xa4\x63\x2d\x49\xc7\x5a\x92\x8e\x2d\x49\x12\xb6\xdf\x28\xa5\x73\x7e\x8e\x9d\x92\xc9\xd4\x30\xfd\x1e\xb2\x3f\x58\xaf\xdd\x61\x7f\xf8\xd7\x43\xf6\x07\xbf\x76\xf6\xd8\x1f\xfc\xba\xdd\x62\x7f\xf8\xd7\x1e\xfb\xa3\x30\xdd\xc1\x0f\xe6\xec\x1c\xb1\x3f\x7c\x72\x7c\xc8\xfe\xe0\x57\x04\xc2\x61\xef\x1d\xb2\x3f\xf8\xf5\xc1\x1e\xfb\xa3\xd5\x3b\x22\xc3\x55\x76\x8f\xfd\xc1\xaf\x8f\x76\xd8\x1f\xfe\xf5\x88\xfd\xe1\xea\x02\x4b\xe0\xd7\x67\x1d\xf6\x47\x41\x79\x76\xc8\xfe\x60\x0e\xb6\xc4\x71\xef\xb7\xd8\x1f\xfe\xb5\xc7\xfe\xe0\x57\xc4\x95\xc3\x46\x8b\xf9\x08\x9d\x93\x2f\xea\xf6\x3a\xc3\x9f\xa5\x29\x55\x5b\x5a\x62\xa5\xd1\x90\x51\x85\xe6\xfc\x2c\x63\x96\xd1\x14\xf7\xf1\x46\x8e\x53\x02\xbf\x72\x01\x52\x5a\x9f\xd8\x57\x64\x02\xe9\x0b\x47\x7c\x3f\x49\x03\xe1\x90\x60\xad\x7d\x4b\x0b\xdf\x72\xcb\xaf\x45\xf0\x09\xb6\xf4\x5c\x27\x51\xe8\xd3\x41\x34\xa3\xeb\xfb\xe8\x57\xed\x75\x76\x5a\x0d\xe8\xec\x3c\xe4\xae\xaf\xeb\x0d\x2c\x14\xe7\xe1\x9f\x67\xf4\x7a\x1c\xe6\xba\xdc\x2e\x2b\xb7\xbd\xdb\x80\x4e\xdb\x55\xae\xad\x0b\xb2\x32\xdb\x8f\x58\xc1\x47\x8e\x82\x1d\x55\x70\x9b\x35\xda\xd9\x6e\x40\xa7\xb5\xe3\x28\xb8\xad\x0a\xb6\x76\x1b\xd0\x7e\xd4\x69\x40\xfb\xc1\x9e\xa3\xe0\x8e\x2c\xd8\x66\xad\xb6\xb7\xdb\x0d\x68\x77\x5a\xb2\xe0\x9f\x67\x64\x42\xd2\x30\x56\x3d\x69\x77\x1e\x60\x67\x19\x82\x9d\x52\xa9\xf6\x6a\xc5\x54\x2f\xda\x6d\xd6\x0b\xd6\x95\xf6\xa3\x87\xa5\x62\xaa\x0f\xed\x56\x87\xf5\x93\x75\xe4\x41\x19\x35\xd5\x83\x3d\xec\x00\xfb\xab\xad\x7a\xfa\x97\x59\x5a\x18\x2d\x44\x4a\x8f\x16\x2b\xd0\x5e\x5a\x42\xd3\xbd\xb3\x23\x30\xee\x6c\x3f\x34\x4b\x68\x64\x1f\x6d\x0b\x64\x3b\x2d\x0b\x86\x41\xe9\xb6\x44\x74\x5b\x0e\xf2\x80\x86\x23\x03\x51\x56\x1b\xff\x52\x43\x31\x08\xb3\x3f\x1b\x8c\x87\x38\x76\x90\x70\x7b\x56\x89\xf6\xf2\x22\x05\x26\x6a\x6f\x37\xa0\xfd\x70\xdb\x2a\x52\x60\x9f\x87\xac\xc8\xee\x43\xab\x48\x81\x71\x3a\xac\x5c\xeb\x81\x2c\x12\x11\xff\xbd\x2c\xd0\x6a\x00\xfb\x4f\x67\xc5\xfe\x98\x06\x24\x9a\x24\x71\x50\x60\x7c\x8b\x6a\xa6\xa4\x71\x18\x7a\x54\x58\x5e\x7b\x51\x66\xa7\x90\xa9\x46\x8b\x65\x6e\x17\x32\xad\x26\x77\xec\x4c\x63\x8c\xa2\x19\xbd\x0a\x93\x88\xe6\xba\xeb\x0f\x1b\xb0\xc3\xc6\xbb\xa3\x48\x9c\x26\xd7\xb1\xca\xdf\xdb\x6d\xc0\x4e\x87\xfd\x6f\x66\xdb\x63\xb4\xb7\xc3\xfe\x37\xf3\xed\x01\xda\x7d\xc4\xfe\x37\xf3\xed\xd1\xd9\x6d\xb3\xff\xcd\x7c\x7b\x68\x18\x51\xb7\x55\x07\x67\x69\x34\xbf\x4e\x12\x4d\xf8\x0e\x53\x0d\x0f\x77\x58\x47\x4b\x85\x0a\xcc\xd4\x66\x7c\xbb\x5b\x2a\x65\xa3\xdb\x7e\xf4\xe0\xff\x67\xef\xdf\xbb\xdb\xb8\x91\x84\x71\xf8\x7f\x7f\x0a\xd8\x4f\x36\x24\x6d\x8a\x12\x65\x59\xbe\x64\x94\x79\x34\x8e\x33\xeb\x3d\x8e\x93\x8d\x9d\xcd\xbb\x47\xd1\x78\x41\x36\x48\x76\xd4\x6c\x30\x8d\x6e\x49\x9c\xd8\xef\x67\xff\x1d\x54\x15\x80\x02\xba\x79\x71\x92\x99\x9d\x99\x27\x73\xc6\x8a\xd4\x5d\x8d\x46\x17\x0a\x85\xba\xd7\x50\x8c\x4f\x5a\x50\x09\x49\x3d\x3e\x02\xa2\x49\xa1\x12\xaa\x1a\x3f\x1a\x8a\x27\x0e\x68\x2a\x33\x55\x73\xa2\x78\xfa\x08\xc8\x72\x28\xc6\xa7\x47\x29\x4c\x60\x45\x8f\x8e\xdd\x66\x7a\xd4\x1a\x29\x70\x22\xbb\x4a\xc7\xc7\x4f\x39\xa5\x78\xa8\xb0\xb7\x01\x59\xf6\x03\x03\xc9\x78\x28\x3f\x75\xd8\x2d\x0f\x4f\x38\xe9\x4c\x17\xb2\xaa\x2b\xd5\x98\x0e\x46\x7a\xd4\x82\xe9\x60\xa3\x6d\xa0\x0e\x26\xda\x06\xea\x60\xa1\x6d\xa0\x36\x03\x0d\x30\x7a\xaa\x0b\xc9\x0e\xb2\xb1\x5d\x36\x3b\xcc\xc3\x16\x4c\x4c\x2c\x30\xf5\x87\xa7\x29\x50\x42\x2b\x76\xea\x0f\x1f\xa6\x40\x09\xa9\xc0\xd4\x9f\xa6\x40\x31\xa5\xc0\xd4\x3d\x8c\xae\x64\xd1\x9e\xcd\x93\x23\x7e\x3f\x99\xee\xf8\x64\x28\x9e\x9c\x72\x80\x64\xaa\x47\xa7\xe9\x08\xf1\x34\x9f\x8e\xed\x2c\xf8\xfd\x64\x86\x96\x0d\x3c\x0e\xf7\xcb\x19\x58\xff\x39\x3d\x8f\x8f\x2c\x76\x4f\x80\x08\x39\xa4\xc9\x8b\xab\x78\x27\x82\xc8\x71\x7c\x94\xc0\x8c\xf7\x01\x4a\xb8\xff\xc3\xe3\x88\x98\x09\x28\xfe\xb4\x63\x98\xd7\xe3\x74\x4a\xa9\xe8\x70\xca\x45\x87\xe9\x5a\x96\x8c\x91\x26\x87\xaa\xbd\x3b\xde\x7e\x9b\x33\xf0\xe4\xc0\xb5\xb7\x39\x0b\x4f\x4e\x5b\x7b\x9b\x33\xf1\xe4\xa8\xcd\x64\x75\xd5\x3e\x5a\xe2\xfb\xc9\xec\x3b\x46\x98\xeb\x22\x53\x65\x15\x18\x29\xf1\x50\xfb\x63\xdc\x05\x97\xd0\xdb\x13\xe0\x5d\x5d\x80\x09\xdd\x3d\xb6\xdc\xe4\xa4\x0b\x30\xd9\x26\x27\x70\x0c\x77\x01\x26\x0b\x75\x34\x1e\x8a\x27\x1c\xae\x92\xeb\x70\x62\x59\x08\xfa\x11\xc1\x28\x15\x61\xe4\x88\x1d\xe9\x04\xb0\x73\x90\xab\x85\xbc\xca\x03\xbe\x9e\x3a\xc9\xc2\x8b\x0d\x16\x68\x29\xe7\xaa\xac\x65\x34\xe5\xd6\xfa\xe8\x22\xbf\x56\xd1\x9c\x9e\xa0\xfc\xc1\xf6\x58\x0c\x17\xd0\x0f\xec\x04\xf7\xfc\x71\x27\x68\xe0\xac\x4f\xbc\x78\x7a\x74\xd2\x09\x1a\xf8\xeb\xa9\xe3\xaf\x4f\x8f\x3a\x21\xc3\x1a\x8c\x1d\x41\x9d\x72\x3a\xd1\x95\xd5\x7f\x62\x1a\x39\x49\x70\x8c\x30\x1d\x7c\xb6\x0d\xd4\xc1\x67\xdb\x40\x1d\x7c\xb6\x0d\xd4\xe6\xb3\x31\xcc\x74\x91\x87\x3d\xf0\xe8\xe1\x50\x80\xae\x13\xe3\x0b\x80\xc2\xa9\x06\xac\xf2\x98\x6f\xf8\x00\x15\x90\xff\xd8\xca\x3e\xd1\xbe\x0f\x50\x01\xef\x8f\x4e\xdc\x1b\xdb\x63\x85\xa9\x1f\x9d\x0c\x45\x7c\x22\x5b\xa8\x4a\x65\x29\x99\xf1\x6f\x33\x20\xa2\x06\x44\x82\x10\x0c\x62\x0b\xa7\x1b\xa3\x64\x44\x88\xe3\x13\x90\xa7\x2d\xd6\x4f\x1e\x76\xc0\x8d\x63\x45\x01\xd6\xf0\x69\x17\x20\x23\x43\xc7\x02\xc7\x4f\x8e\x3a\x00\x19\x32\x1e\x39\x3d\x29\xc2\xac\x03\x64\xf8\x78\xe4\x98\x5a\x84\x36\x63\x0f\x56\xce\x1b\x1f\x1f\x5b\x32\x4d\xf1\x06\x60\x9c\x6b\x9c\x3c\x1e\x8a\xc7\x4f\xed\xbf\x2e\x28\x26\x8a\x8d\x5b\xac\x3e\x82\x64\xe2\xd8\xb8\xc5\xf5\x23\x48\x26\x92\x8d\x5b\x07\x40\x04\x19\xc4\xb2\xe3\x4e\x46\x4e\x80\x6a\xfb\xc7\xd4\x4d\xf5\x53\xa3\x73\xa3\xa2\x63\xe7\xd4\xfe\xe0\x60\x89\x7a\x60\x4f\xe0\x23\x10\x9c\x1d\x8c\x9a\xe4\xb2\x64\x74\x77\x6c\x25\x5c\x2b\x9b\x04\x08\xb5\x5a\xe5\x65\x72\xde\x83\x5c\xf0\x38\x01\x19\xef\x01\x93\xf0\x01\xfb\xef\x61\x0a\x93\xb0\x81\x53\xe0\x17\x09\x4c\x7a\x84\x30\x59\xc8\x82\x98\xab\x75\x72\xa4\xc2\x26\x67\xcb\x1c\x80\xc6\x7b\x41\xf1\xe3\x1f\x58\x01\x23\x84\x00\xc5\xa5\x00\x60\x05\x8c\x08\x02\x54\x24\x0c\x1c\xc5\x6c\x20\x5f\x46\xc7\x1f\x32\xc2\x47\xd1\xc6\xb0\x20\x6a\x3b\x88\xce\xe6\xb1\x28\xf7\x10\x56\xe3\x24\xfa\x38\x0f\x34\xde\x0b\x2a\x2c\xdd\x13\x12\x2c\x18\x0a\x3c\x54\x58\x3c\x90\x3c\x4e\x23\x14\x78\xa8\xb0\x7c\xa7\x43\xf1\xf8\x09\xc7\xc0\x2c\xaf\xd4\xa4\xca\x83\xba\x0e\xd8\x7e\x08\x0c\x33\x05\x89\x29\xce\x52\xf7\xc9\x93\x14\x26\xa6\x38\xfb\x71\x27\xad\x71\x62\x8a\xb3\x70\x0f\x5b\xe3\xc4\x14\x77\x6c\x3f\xcc\x89\xe7\xb3\xc2\x8a\xd7\x89\x85\x0d\xb8\x0a\x98\xe3\x1c\x61\xce\x74\xa5\x4c\x1d\x31\x67\x3a\x03\xd8\xb7\xcd\x65\x5e\x9a\x89\xae\x74\x50\x88\x8f\x40\x6c\xe6\xb2\xf3\x7c\xa1\x4d\x1d\xbf\x0f\x84\xeb\xd8\xf2\x67\xe5\xad\x44\x61\x66\xfa\x96\xbd\x9b\xea\xd3\xc9\xed\x44\x34\xb7\x72\x1a\xbf\x9d\x6a\xd0\x0f\xe3\xdb\xa9\xea\xfc\x38\xbe\x1d\x09\xab\xc7\xc0\x09\x4e\x2d\xf2\x8f\x53\x98\x44\xbe\xb0\xa7\x94\x67\x19\x9b\x84\x54\x7b\x42\x05\x94\x6e\x10\x50\xe1\x9b\x9f\xa6\x40\x29\x67\x01\x56\xe6\x80\xf8\xd6\x7c\x0a\xfc\x02\x7f\xb0\xfb\x47\xb1\x1c\xcf\x6f\x85\x7d\x36\x14\xf6\xff\xfc\x96\x7f\x0c\x29\x8b\x51\x17\xde\x3e\x4a\x28\x2b\x3a\xb4\x00\x64\xcc\xf7\x27\xfe\xe3\xb7\x3d\x86\x1e\x8e\x87\x02\xff\xf1\xdb\x1e\x37\x56\xac\xc0\x7f\xfc\xb6\xc7\x8a\xd5\xaa\xf0\x1f\xbf\xfd\xc8\xdf\x7e\x92\xec\x1f\xb8\x7d\xea\xcf\xb2\xf1\x50\xe0\x3f\x7e\xfb\xb1\xbf\xfd\x10\xcd\x57\x27\xd1\xbb\x9f\xf8\xdb\xa7\x43\x81\xff\xf8\xed\xa7\xfe\xf6\x93\x84\x07\x44\x47\xf8\xa3\xa1\xb0\xff\xe7\xb7\x3c\x4e\xd1\x64\xc5\xcc\x56\x70\xdb\x23\x14\x64\x3a\xf8\xc7\x6f\x87\x91\x4f\x87\x02\xff\xf1\xdb\x1e\xa1\x68\x2f\x63\x36\x33\xb8\x1d\x8c\x1c\x63\x14\x69\x4e\xa3\x77\x7b\x84\xa2\x35\x8e\x59\xe4\xe0\xb6\x47\xe8\xe9\xe9\x50\xe0\x3f\x7e\xfb\x31\xb7\xa0\xe0\x3f\x7e\xdb\x23\xf4\xf1\x78\x28\xf0\x1f\xbf\xed\x11\xfa\xf8\x64\x28\xf0\x1f\xbb\xed\xbf\xeb\xc9\x50\x3c\x09\x8a\x1b\xdc\xf2\x08\x7d\x6c\x65\x16\xf8\xc7\x6f\x7b\x84\xa2\x38\xc3\x44\x1a\xb8\x7d\xcc\x25\x23\xfc\xc7\x6f\x87\x17\x9f\x0c\x05\xfe\xe3\xb7\x83\x5c\x65\xc5\x17\xf8\xc7\x6f\x7b\x84\x5a\x35\x0f\xff\xf1\xdb\x1e\xa1\x4f\x8f\x87\x02\xff\xf1\xdb\x1e\xa1\x4f\x4f\x86\x02\xff\xf1\xdb\x1e\xa1\x4f\x1f\x0f\x05\xfe\xe3\xb7\x3d\x42\x9f\x3e\x1d\x0a\xfc\xc7\x6e\x33\x29\x18\x25\x99\x31\xe7\x19\x27\x47\xe1\xf6\x31\x29\x45\xe3\x23\x3e\xb9\x93\xf1\x36\x51\x00\x20\x82\x1c\x6b\x35\x52\xf7\x83\x43\x3c\x8c\xd5\x41\xfa\xc1\x21\x98\xc2\x78\x0c\xba\x2a\x57\x58\x01\xe2\x51\x80\x78\x44\xb6\xd2\xf1\x38\x9a\xc7\x69\x80\x78\x4c\x47\xc2\x78\x1c\xcd\xe3\x71\x90\xa3\x41\xb3\x39\xe2\x36\x1c\x80\x78\x12\x20\x8e\x41\xf7\xe1\x0a\x10\x40\x3c\x0d\x10\x8f\x9c\x27\xe0\x98\xcf\x23\x4c\x14\x2c\xa3\xf6\x1f\xbf\x1b\x30\x6e\x75\x59\xf7\x83\x43\x04\x8c\x83\xc4\x44\x3f\x38\x44\xc0\x38\xa8\x69\xf4\x83\x43\x04\x8c\x3f\x04\xe5\xe7\x11\xb7\x78\x03\x04\x3b\x89\x40\x42\xc2\x1f\x1c\x22\x7c\xc8\xc9\x11\xe9\xe7\xe3\x93\x68\x1e\xa7\xb1\x1a\x48\x3f\x38\x44\xc0\xf8\x09\xe8\xf8\x8f\xb8\xb5\x1c\x20\x9e\x44\xfa\x83\xfb\xc1\x21\x02\xc6\x41\x1f\xa5\x1f\x0c\x22\x4c\x03\x0e\x5e\x66\x6a\x82\xbb\x47\x91\xc2\xee\x7e\x70\x08\xa6\xb3\x59\x7d\x80\x7e\x70\x88\x80\x71\xb0\xc0\xd3\x0f\x0e\xc1\x8c\x23\x56\x85\xa4\x1f\x1c\x82\x89\xa5\x76\x0a\xf4\x83\x43\x04\x8c\x5b\xae\xeb\x7e\x70\x88\xf0\xa9\xa7\x20\xd3\xe0\x0f\x0e\x11\x30\x6e\x79\xaf\xfb\xc1\x21\x02\xc6\xc1\xda\x46\x3f\x38\x44\xc0\xf8\xe3\x53\x70\xa5\x72\x7f\xaa\x85\x08\x2f\x71\x7a\x16\x9f\xc3\xe3\x80\x71\xcb\x87\xdd\x0f\x0e\x11\x30\xfe\xc4\x4e\x90\x7e\x70\x08\x66\x10\x38\x71\x3e\x9b\x88\x27\x3f\x0e\x18\x7f\x62\x27\x48\x3f\x38\x44\xc0\x38\x9a\xdf\xf0\x07\x87\x08\x18\xb7\xba\x99\xfb\xc1\x21\x02\xc6\x2d\x67\x76\x3f\x38\x44\x40\xc6\xd3\x53\xf0\x3f\x72\x27\x24\x40\x04\x8c\x3f\x05\xcb\x3d\xfe\xe0\x10\x4f\x83\xf0\x38\x26\x61\xf8\xf8\x88\xcf\xe3\x49\x00\x40\xed\x37\xe2\x5b\x4f\x82\x00\x77\x04\x7a\xe1\x09\xb7\x4a\x01\x04\x33\x09\x82\x47\x07\x7f\x70\x88\x20\xe5\x1e\x3d\x05\x55\x9f\xeb\xfb\x00\x11\x44\x5c\xcb\xa0\xdd\x0f\x0e\x71\x12\x20\xec\x14\xe8\x07\x87\x78\x14\x20\xec\x14\xe8\x07\x87\x38\x0d\x10\x18\x1a\xc0\xe3\x03\x00\xe2\x71\x50\x5f\xc0\x91\x85\x3f\x38\x44\x40\x17\xb8\xb0\xe9\x07\x87\x08\x18\x07\xb7\x13\xfd\x60\x10\x01\xe0\xa1\x55\x46\xed\x3f\x7e\x37\x60\x1c\xfc\x68\xf4\x83\x43\x04\x8c\x83\xdb\x81\x7e\x70\x08\xa6\x57\x78\x87\x70\xc4\xa5\x9f\x06\x8c\x3f\x7c\x0c\x8e\x12\xee\x2d\x01\x88\x80\x71\x0c\xcf\x88\x94\x42\x80\x08\x18\x07\xb7\x1f\xfd\xe0\x10\x01\xe3\xc1\x17\x1f\x71\xe9\xa7\x01\xe3\x27\x76\x0a\xf4\x83\x43\x04\x8c\x83\x5e\x4a\x3f\x38\x44\x40\x28\x38\x29\xe9\x87\x87\x88\x4d\xee\x91\x1f\x30\x36\x25\x76\xde\x6d\x39\x50\xa2\xbb\x2d\xff\x49\x74\xb7\xe5\x3e\x89\xee\xae\x55\x51\xe8\x9b\x88\x67\xa2\x41\x20\x7c\xbe\xda\xa1\xb7\xa9\xcd\x7a\x9b\xda\xac\xb7\xa9\xed\x7a\x9b\xda\xad\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xac\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xcd\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xaa\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\xad\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xaa\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\xad\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xaa\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\xad\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x1d\x7a\xdb\x42\x97\x6a\x9d\xa9\x9b\xf8\x6b\x30\x22\xef\x28\x81\xe9\x8a\x3c\x6f\x01\x75\x05\x9f\x7b\x0a\x70\x40\x1d\xf1\xe7\x21\xac\xc4\x01\x75\x86\xa0\x8f\x3d\x50\xdd\x0a\x3c\x40\x21\xe9\xc9\x51\x0c\x92\x86\x4e\x1e\x75\xc0\x74\x44\x4f\x8e\x4f\x1f\xc7\x30\x49\x00\xe5\x29\x38\xc3\x63\x90\xd8\x3b\x68\x0f\x2b\x9f\x28\x90\x97\x59\x12\x4b\x01\xa3\x70\x99\xd4\x83\x24\x33\x86\xd9\x1c\x9d\xa6\x50\xf1\x9c\x23\x01\xd4\xc3\xc4\x73\x7e\xc2\xe3\x93\x3d\x4c\x7b\xd2\xfe\x80\xcd\xaf\x75\xb5\xee\x50\x51\xfd\xa2\x03\xc0\x78\x27\x44\x1a\xc5\x19\xd1\x04\x40\xa4\x21\x9c\x11\x41\x00\x44\x1a\xbf\x19\x51\x43\x14\xab\x87\xd4\xf9\x30\x12\x9b\x00\x20\x8d\x38\x3d\xe5\x62\x13\x40\xa4\x13\x3d\xe2\x02\x1e\x40\xa4\xa9\x2a\x4f\xb8\x38\x0c\x10\xe9\x44\xad\xaa\xe5\x10\x5a\xc8\x6b\x55\x66\xaa\x0a\xaf\x71\x53\x0d\x7b\xd6\xc1\x4c\x8a\xc6\x2c\x92\x19\x1f\x71\x06\x11\x01\xa6\xdf\xb6\x19\x32\xcd\xca\x39\xe1\x0c\x34\x82\x4c\xbf\xf5\x21\x84\x93\x77\x41\x76\xe5\xe5\x78\x0f\x7b\x21\x6f\xca\x38\xe8\x0c\xde\xf9\x88\x05\xf0\x15\x6a\xa9\xcb\xe9\x22\x9f\xcd\x58\x08\x5b\x08\x92\xf0\x7a\x0f\x87\x4b\xc9\x6e\x23\x60\xba\xa8\x0f\xb9\xac\xc1\x01\x53\x22\x04\x51\xb2\x6b\xc4\xf4\x73\x1f\x73\xad\xa9\xc8\xe7\x8b\x28\xf0\x1f\x4d\x4e\x10\xec\xe2\xd5\x09\x0f\x14\xc7\x19\x62\x32\x95\xb7\x00\x79\xa8\x38\xce\x10\x33\xa9\xbc\xd2\xe0\xa1\xe2\x38\x43\x48\xa3\x62\x18\x71\x50\x71\x9c\xa1\xe3\xad\x1c\x2a\x8e\x48\x07\xfd\x03\xa2\x7a\x8e\xa3\x37\xf2\xa8\x63\xa4\xa2\xd8\x7c\xe5\x81\xc6\x7b\x41\x25\x52\x50\x1c\x4d\xe7\xa1\x98\xec\xd9\x0e\xa5\xf6\x50\x27\xb1\x36\x19\x87\xd1\x01\x54\x3b\xc6\x04\x37\xc3\x98\xeb\x7c\x31\x64\x9a\xf6\x76\xba\x79\xd0\x74\x8b\x1d\x6d\x1e\x35\xdd\x63\x47\x2d\x52\xda\x14\x7b\x62\x25\x1f\xaf\x1c\xc4\x90\xb1\xc9\x93\x09\x06\xe3\x78\x12\x2c\x60\x05\xd2\x65\xdc\x8f\x18\x28\x0a\x17\x75\x67\x7a\x38\xfb\x1c\xd4\xee\xa1\xda\x07\x36\x44\x39\x7a\x3e\xef\x81\x92\x03\xf0\x31\xe8\x20\x8f\x52\xa8\xe4\xd0\x3e\x3d\xe6\xfa\x94\x87\x4a\xe3\xce\x31\x69\x21\x85\x8a\x71\x0b\xa9\x3a\x47\xd1\xdc\x93\xf0\x5a\x98\xd7\x69\x14\x5e\xcb\xc0\xc6\x7b\xc2\x25\x5f\x00\x31\xf1\xe3\x93\x36\x5c\xf2\x0d\x76\xe5\x9f\x3e\x69\x83\xc5\x1f\xf1\xe4\x31\x33\x20\x22\x54\x12\xfc\xfb\xf0\x98\xa2\x15\x43\xa2\x22\xc2\xc5\xf1\x91\x63\x4c\x74\x3b\x8d\x0e\x29\x06\x37\x8e\xb4\xd6\x63\x30\x73\xc7\xfb\x3b\x8d\x92\x1c\x9f\x9e\x38\x0a\x89\xb7\x78\x1a\x28\x09\x91\xb5\x40\x25\xc9\x2e\x4f\x63\x25\x41\x1c\x3b\x7e\xd8\xda\x92\xad\x18\xe1\xf1\x43\x67\xe7\x4a\xe7\x98\x86\x09\x8f\xc7\x3e\x4f\xe4\xd1\xc3\x0e\x48\xb5\x07\x64\xad\x54\x11\x1f\x05\x4e\x53\x3d\x4e\xe8\xc1\x41\x26\x91\xff\xc7\x6d\x66\xe9\x41\x93\xc8\xff\xf1\x51\x1b\x9d\x0e\x34\x8e\xfc\x07\xb5\x3f\x45\xa8\x03\x4d\x42\xff\x3b\x70\x9a\x72\x17\x2f\xf4\x1d\x9f\xb4\xc1\xba\x84\xc3\x2e\xb8\x2e\x11\xf1\xa8\xe3\xb5\x5d\x82\xe2\x93\xa3\x36\x5c\x97\xb8\xc8\x50\xbe\x8c\xf3\x31\x1e\xb9\xc3\x84\x11\x78\xa9\xca\x98\x83\x92\x58\x49\x00\x49\xe6\x07\x7a\xb4\xf8\x62\x11\xc0\x78\x27\x44\xfc\xe9\xd1\x2a\x12\x44\xfc\xd1\x91\xa0\x43\x10\xf1\xe7\x46\x19\x28\x4b\x59\xe9\xc0\xb9\x80\x02\x4f\xac\xc2\x70\x1a\xdd\x8f\xa7\xf9\xe8\x98\x5b\x8e\x10\x22\x09\x95\x7d\xc2\x55\x24\x84\x88\xa7\x09\x5b\xd7\x9f\x12\x08\x91\x84\xc9\x72\x05\x69\xa9\xb2\xbc\x59\x76\xe4\x70\x77\xa4\x53\x23\x6c\x47\xc6\x6d\x40\x0b\x40\x24\xf9\x1e\x4f\x4e\x51\x07\x0a\xc7\x12\x07\x8b\xc5\x94\xf1\x51\xc4\x22\x38\x60\x2c\xa9\x3c\x7d\x14\x2d\x18\x83\x8b\x65\x95\x98\x89\x71\xb8\x58\x5a\x79\xf4\x28\x5a\x3c\x80\x5b\x35\xd5\xaa\x08\x18\x39\x79\xec\x58\xd8\xb8\x0b\x8e\xf1\xe3\x31\xd9\xb1\xd3\x0f\x41\x40\x66\x5c\x85\xed\x31\x6e\x7f\x09\x02\x32\xab\xf6\x63\x0a\x4a\x4f\x3f\x05\x01\x03\x3f\x7e\x88\x3e\xa8\xf4\x4b\xd2\x23\x08\x8e\x46\xb0\x53\x7a\x6b\x3d\x01\xb6\x18\x37\x70\xa2\xa3\x93\xf6\x1c\xcd\xaa\xca\xcb\x79\xdb\x01\x8d\x51\xf6\x11\x68\x2b\x31\xe2\xf1\xb1\xb7\xb8\xc5\x90\x98\x1b\xc1\x73\x6e\x9e\x82\x3d\x8c\x2b\x84\xcb\x3c\x2b\x53\x61\x1f\x19\x36\x17\xe2\x96\x79\x59\x4f\x2b\x25\x97\xb1\xb1\x87\x94\x16\x0f\x64\xea\x75\xa5\x4d\x47\xce\xfc\xb1\xf7\x72\x78\xa0\x8e\xb4\xf9\x0e\xa8\x8e\xcc\xf9\x20\x00\x7a\xa8\xae\xe4\x79\x6f\x11\xf6\x50\x5d\xf9\xf3\xde\x2e\xb7\xd4\xd3\xa9\x34\x79\xd9\x9e\x55\x18\xa9\x94\xd7\xf2\x47\xdd\x11\x05\x7f\x1c\x89\x6d\x0c\x2c\xfd\xc8\x4d\x70\x69\x1c\xfa\x63\xee\x00\x60\x70\x69\x40\x7a\xa4\x14\x30\xb8\xf4\x53\xc7\xcc\x2f\x58\xca\xeb\x75\xcc\x72\x82\x52\x64\xef\x75\x64\x6a\xfa\xfb\xba\xc8\x0a\x39\x65\x5f\xff\xd0\x99\xfc\xfc\x99\x02\x09\x78\x59\x25\x27\x81\xf9\x41\x7a\xfa\x31\xcb\x89\xf7\x30\x4c\x73\x74\x39\x82\xa7\xc7\x29\x10\x53\x1c\x9d\x56\xf5\xe8\x49\x0a\x14\xeb\x8d\xf1\x39\xe8\x81\x3a\xd2\xb1\xbc\x86\xdf\x95\x0e\x78\xca\xa2\x34\x3a\x53\x01\xdb\x00\x89\x38\x6c\x27\x13\x03\x24\x4b\xf8\xf0\x61\x0a\x90\x88\xf1\x47\xe9\x7d\x6e\x7f\x03\x84\x3d\xed\x80\x18\xef\x06\x89\x67\x7a\xda\x9a\x68\xcb\xf4\xf6\xa8\xf5\xb1\x2d\xcb\xdb\xc3\xc7\x1c\x84\x1f\x5c\x98\xff\x80\x0c\xff\x24\x82\x48\x50\xfa\x70\xcc\x79\x4a\x7a\x5a\x01\x52\xc1\x66\xef\x39\x58\x72\x50\x1d\x7b\x57\x73\x70\x82\xa4\x67\x94\x9d\x2a\x72\x76\x77\xf8\xaf\x64\xa1\x36\xe8\xd3\xa8\x61\x1c\x71\xc0\x48\x9d\x44\x5b\x34\x14\x6a\x38\x4e\x81\xc6\x31\x55\xc2\x07\x7a\x76\xee\xa1\x8e\xb7\xa9\xa6\x1e\xea\x61\x6c\x7a\x42\x2d\xaa\x05\x15\x82\x0d\x5c\xe2\xcd\x13\x0e\xd3\x3a\x3c\xc6\x8f\x1f\xb5\x2c\x15\x11\x20\xf3\xb6\x3d\x6e\x59\x3e\x22\x48\xb6\x4f\xdb\x25\x5b\x22\x48\xb6\x59\xdb\x16\x90\x08\xf2\x24\x12\xa1\x12\x2b\x88\x85\x6c\x9d\x71\xe0\xf3\xc1\x20\x80\x93\xc7\x5d\x80\x29\xbd\x1d\x71\x27\x67\x04\x99\x92\x1d\xac\x71\xe7\xcb\x53\xea\x3b\x49\x69\xcb\x43\xb6\x89\xd0\x9b\x0e\x56\x72\x25\xd7\xf2\x66\x91\xaf\x12\x2b\x0d\x1c\xda\x1e\x4a\xc9\xe9\x62\xd5\xcc\x66\x31\x10\x3a\x52\x1f\xa5\x40\x69\xfe\x53\x37\x54\x7a\xfc\x44\x5e\x5d\x0f\x95\x1e\x3e\x8f\xb8\x15\xc2\x43\xa5\x49\x51\x4f\xb9\x19\x62\xa5\xaa\xa6\xcd\xff\xbc\x23\xbb\x6d\x5c\x41\xfb\x1f\xbf\x9f\x66\xf5\x8f\xb9\x41\xb7\xcb\xa4\xf2\x94\x3b\x7f\xbb\xac\x29\x8f\xb8\x3f\xbe\xc3\x90\x02\x5f\xe0\xef\x17\x4d\x10\x82\x80\x22\x4e\x21\x71\x6d\xcc\xee\xa7\x53\x7c\x1c\x6d\x99\xa2\x59\xa6\x05\x07\x22\x81\xd0\x02\xa4\x79\x5c\x91\x5e\x60\x01\xd2\x1c\xae\xe3\x68\x5f\xe8\x9b\x2c\xa9\x73\x81\x56\x8d\x13\x7e\x50\x27\x02\xb9\xfd\x0c\x70\x33\x9e\xc4\x00\x8c\x85\x51\x06\x22\xfb\x96\x44\x04\xb7\xa8\x3c\x89\x3f\x26\x91\xbd\x8f\x29\xfb\x90\x7d\x4d\x2c\x74\x83\x6e\x13\x99\x25\xd3\xf3\x8e\x1d\x88\xad\xdd\x1c\xdf\x6b\x29\xa5\xec\x5e\x4b\x1d\x65\xf7\x5a\x8a\xa8\xbf\xa7\xcd\x3a\x2e\x37\x44\x59\xe7\xdc\x09\xe3\x81\x3a\xd2\xfa\x82\x9d\xd0\x43\x75\xe4\xf5\x05\x63\x80\x87\xea\x48\xec\x0b\x19\xe7\x1e\xaa\x23\xb3\x2f\xc4\x5b\x55\x7a\x2d\x23\x43\xce\xa9\x3f\x28\x8f\x5b\x30\x63\xae\x5c\x60\xbd\x9b\x47\x2d\x20\x3f\xf5\xd3\xc7\xe4\x94\x0c\x0b\xef\x81\x42\xb4\xe1\x13\x52\x34\xdb\x33\x0a\x31\x9c\x4f\x51\x12\x09\xab\x6f\x64\x96\x15\x2a\x46\x7a\xab\xfc\x4c\x6a\xd8\xf4\xd6\x7e\x2f\x6a\x74\xda\x34\x4f\x8e\x38\x7e\x3a\xcd\x99\xf6\x74\xf0\xea\x7d\xa7\x21\xd3\x9e\x34\x4f\xe2\xd7\x24\x3c\xfe\x74\x28\x1e\x3d\xf6\x00\x65\x16\x93\xd0\xb1\xdd\x30\x60\x4c\xf4\xd6\x8c\x54\xc1\x3c\x39\x75\x47\xf9\xe3\x04\x62\xcc\x4f\x7b\x12\x2f\x9e\x26\x30\xfe\x8b\x1e\xfb\xda\x1a\x3e\x46\xaa\x55\xd0\xe0\xf4\xb1\x17\x2d\x52\x98\x93\xad\xd3\x31\x0b\x55\xc4\x15\x80\x48\x2f\x78\x92\xc0\xa4\x4e\xbe\x4e\xa0\xd4\xf9\xf0\x94\x1b\x1b\x1d\x50\xea\x76\x78\xcc\x7d\x62\x0e\xa8\xc3\x93\x19\xdc\x18\x26\x57\x65\x29\x23\x16\xf8\xe4\x78\x28\xbc\xcf\x11\xef\x77\x08\x0c\x5e\x5e\x40\x88\x0e\x41\xc1\x5b\xad\x11\xa2\x43\x40\x08\x34\x01\x10\x6d\xc1\x20\x60\x65\xa3\x2d\xdb\x6b\x54\x2d\x33\x36\xb3\x77\x27\x30\x81\x5d\x03\x9f\x85\x13\x36\x7d\x15\xab\x62\xf5\x84\x82\xc9\xc2\xb6\x4d\xed\xd6\xe0\xda\x18\x47\x27\x50\xdb\xf2\x61\xa7\xf2\x34\x3a\xc6\x3c\x0c\x9b\xb4\x3d\x4f\xc7\x51\x81\x02\x0f\xc5\xa6\x0d\x81\xa6\x91\xfb\xd0\x43\x3d\x8c\x34\xbc\x27\x4f\x3b\x5f\x18\x66\x6e\x17\xea\xa8\x35\xf1\xd8\x82\x7e\xec\x98\x89\x17\xc9\x3b\xea\x6c\x3c\x7d\xd2\xf2\x1a\x74\xd4\xd8\x78\xf2\xa8\xe5\x32\xe8\xa8\xaf\x01\x86\xac\xd8\xd4\xd6\xae\xad\x81\x0b\x13\x5b\xb6\x3b\x8c\xfa\x1d\x93\x2f\x5b\x76\xef\xc8\x75\x6f\xef\x77\xb9\xa5\x23\x80\x0e\x77\x74\x50\xc8\x2c\x40\x87\x1b\x3a\xa8\x63\x16\xa0\xcb\xfd\xec\x25\xe6\x4d\xd6\xb0\x47\x3c\xde\x95\x01\xb5\xd2\x32\x3a\xa1\x5a\xe9\x19\xa1\xe8\x06\x83\x6a\xa5\x69\x84\x98\x66\x06\xd5\x4a\xd7\xf0\x71\xec\x2d\x7f\xc9\x63\x1f\x88\xeb\x8f\xf5\xb6\xa7\xe4\xe9\x53\x8a\x53\x64\xf4\xd3\xf2\x91\x60\x4d\xd1\x78\xbf\xb6\xbc\x23\x60\x13\x3a\x89\x44\xac\xb6\x5f\x04\x7c\xeb\x47\x11\xe5\xd7\xcc\x13\x4e\xf1\x45\x3c\xf8\xa4\x96\x2d\x8f\xe0\x23\x16\x26\x5f\xcb\xf4\xe4\xb4\xaf\xf0\x3a\x44\x2d\xd3\x63\x33\x92\xfb\x6b\x59\xb6\xad\x1e\x5e\xa0\xaa\x17\xb9\xa9\x0b\x56\x11\xef\xd4\x95\x31\xf1\x55\x47\x09\x24\x35\xb7\x45\xba\x2a\xc1\xa4\x16\xc5\x48\x6a\x21\x98\xd4\x9e\x18\xb9\x9a\x08\x26\x35\xb1\x45\x3b\xb1\xd6\x4b\x59\xeb\x68\x36\x4f\x9f\xb2\x63\x03\xef\x8f\x77\x01\x24\xe1\x51\xc7\xec\x58\x41\x80\x78\xa2\x76\xe9\xfd\xa9\x82\x00\x49\x60\xd4\x09\x3b\x55\x5a\xa6\x80\x53\x1f\xed\x78\xd4\x82\x89\x76\x58\x5c\xda\xb1\xad\xff\x1f\xb5\x0a\x3b\xb6\x35\xff\xa3\x56\x59\xc7\xb6\xce\x7f\xd4\xaa\xea\x18\x57\xfb\x09\x22\x5a\x78\x53\xdb\x1e\x60\x19\x25\xd8\x70\x3c\x0b\xdc\x60\x0a\x00\xb7\xa2\x67\x73\x1b\xac\x00\x10\xbd\x7d\xd2\x02\x4a\x2c\x65\x51\x72\xc0\x06\xdd\xdf\x7e\x99\xcf\x23\xb9\x59\x28\x19\xbe\xeb\x24\x18\x8b\x9f\x72\x80\x34\x7c\x63\xcc\xa3\x96\x01\x22\xa5\x6e\x88\xbe\x3e\xe1\x10\x29\x6d\x9f\xf2\x8f\x06\x88\x94\xb2\x4f\x39\x0f\xec\xaa\x01\x13\x91\x03\x00\x98\xa5\xbe\xea\x2a\xae\xeb\x25\xab\x4d\xfe\xd7\xa3\xe8\x7e\x87\xe3\x35\x06\xe8\xf0\xb8\xc6\x00\x1d\xae\xd6\x18\xa0\xc3\xc7\x1a\x03\x24\xc6\x3e\x6e\x5c\xbe\xf3\xe1\xb3\x3b\x87\x87\xe2\xcd\xd7\xdf\x7d\xfb\xfc\x85\xf8\xf2\xe5\xab\x17\xcf\x44\x91\x4f\x32\x5d\x1f\xfe\x68\x0e\x8b\x7c\xf2\x6e\x36\xfa\xd1\x58\x90\xe7\x7a\xb5\xae\xf2\xf9\xa2\x16\xfd\xe9\xc0\x9e\x84\xc7\x50\xac\xfb\xf9\xa2\xd2\xcb\xbc\x59\x8a\xaf\xdf\x88\xf3\xa6\x5e\xe8\xca\x8c\xc4\x79\x51\x08\x80\x35\xa2\x52\x46\x55\xd7\x2a\x1b\xd9\x31\xbe\x33\xa1\x4f\xba\xd1\x4d\x35\x55\x62\xaa\x33\x25\x72\x23\xe6\xfa\x5a\x55\x25\xb6\xd1\x96\xe2\x4f\x6f\xbe\x38\x30\xf5\xba\x50\xa2\xc8\xa7\xaa\x34\x4a\xd4\x0b\x59\x43\xcb\xef\x89\xb2\x23\xcd\x74\x53\x42\x47\xd4\x7a\xa1\xc4\xab\x97\xcf\x5f\xbc\x7e\xf3\x82\x2a\x72\xdf\xe9\x35\x06\x3b\x69\x4d\xeb\x5e\x28\xef\xfd\xe7\x4a\x4e\xc4\x44\xce\xed\x04\x9a\x3a\x2f\xf2\x7a\xed\x5b\x45\xb1\x0a\xe2\x33\x71\x26\x7e\xe6\x6d\xbd\x2a\x25\x6b\x25\xa4\x68\xca\xfc\xa7\x46\x09\x55\x36\xcb\xb8\x7b\xd7\xff\x35\xcd\x6a\x55\x29\x63\xc4\xcf\x45\x5e\xd6\xcf\x17\x6a\x7a\x65\x3e\x6c\x6c\x87\x75\x2e\x16\xcd\x52\x96\x62\x56\xe5\xaa\xcc\x8a\x35\x5e\x9d\x41\x5b\xcb\x49\x33\x9f\x53\xa7\xc5\xd0\x18\xeb\xeb\xc9\x8f\x6a\x5a\x7f\x10\xe7\xd1\x14\x00\x1f\x37\xba\xec\xd5\xd0\x77\x4e\x56\x4a\xa8\x9f\x1a\x59\x08\x68\x4c\xb7\xae\x17\x79\x39\x87\x1e\x6b\xec\xd3\x46\x53\xf8\x98\x17\xf6\xf9\xce\x3e\x59\x87\x87\xe2\x7b\x25\x2c\xfa\xa4\xc0\x16\xa2\x42\xc3\xdb\x85\x34\xa2\xd4\x61\x50\x61\x16\xd0\x31\x73\x62\xa1\xa9\xdf\xf9\x52\x1c\x1c\x88\x1b\x25\x6e\x64\x59\x43\xd7\x68\x3b\x9c\x5b\x8a\x72\x2e\x56\x55\xbe\xcc\xeb\xfc\x5a\x19\xea\xb0\x59\xac\x47\x42\xfc\xa9\xa9\xe9\xc3\x55\x65\xb0\xc5\x5d\x5e\x4e\x8b\x26\x53\x42\x37\xd8\x32\x6c\xc4\xfa\x52\xa9\x1b\x9a\x18\xce\x3a\xea\x51\xf5\x2d\x36\xc8\x12\xd7\xb2\xca\xe5\xa4\x50\xa2\x52\x33\x55\xa9\x72\x0a\x3d\xb9\x85\x64\x7d\x2c\x2d\xf8\x7f\x11\x18\x76\x5e\xd3\xd8\x49\x6d\xa6\xab\xa5\xf8\xb7\x2f\xbf\x7b\xfd\xfc\xed\xcb\xaf\x5f\xf7\xff\xeb\xfc\xdb\xd7\xe7\x5f\xbd\x18\x8c\x84\x70\xd7\x2c\xb1\xca\x52\xe8\x95\xc5\x9d\x2c\xec\x48\xca\x4c\xe5\x4a\x85\xf6\xb3\x76\x09\x56\xab\x62\xed\x6a\xc7\x47\xe4\xf2\xa5\xae\x84\xba\x95\xcb\x55\xa1\xb0\x71\x2e\x2e\x0d\x75\xf7\xfa\x2f\x59\x99\xfe\xbd\x7f\xeb\xdb\x2d\x5b\xe7\xe5\x7c\x30\x14\xff\xa6\x4a\xbb\x49\xbe\xfb\xf6\xe5\x73\xd7\x60\x10\x3f\xde\x6e\xf1\xfb\x9d\xad\x61\x7f\x16\xee\xf9\x67\xe2\xde\xbf\x5b\x1e\xb0\x19\x16\x9b\x8c\x3d\x13\xf7\xfe\xac\xf5\xbc\x50\x0f\xee\x61\x33\x6a\x98\xeb\xf7\x76\x39\x2a\x65\x9a\xa2\xb6\x18\xc4\xa1\x86\x02\x21\xff\xed\xf8\x4f\xf7\x38\x71\xb1\x2f\xe0\xd4\x65\xea\x6a\x68\x97\xc4\x20\x89\xd1\x42\x9a\xba\x0a\x0d\xcd\xfe\xad\x7f\x21\x0f\xfe\x7a\x79\x7f\xf0\x43\xbf\x7f\xf1\x97\x1f\x06\x97\x0f\x06\x3f\x0c\x0e\xe7\x39\x6b\xb0\x0d\x2d\x01\x87\x62\x56\xc2\x58\x81\x62\x5d\x3f\xc0\x7a\xbd\x52\x7a\x06\xef\xb9\x20\x80\x4b\x71\x76\x26\x7a\x4d\x09\xdd\x62\x55\xd6\x1b\xf8\x76\xba\xd0\x70\x59\xf4\xbe\xc3\x56\x79\x9e\x5e\xb0\xd3\x1f\x3d\x4d\x8d\xb4\xb1\x39\x61\x05\x7d\xf9\xf9\xd8\xfe\xb6\x7d\xf9\xac\x74\xcd\xd7\x22\x2c\x8c\x3c\x7b\x89\x9a\x82\x5f\x53\x47\x82\x0d\xb0\x17\xb3\xf2\xb2\x5f\x5d\xfb\xb6\x85\xd4\x29\x11\xdf\xc3\x07\x4a\xbe\x22\x21\x42\xfc\x98\x59\xe9\x87\xb9\x13\xb7\x41\xac\xae\xa9\x0b\x62\xbc\x87\xbe\x74\xd3\xe0\x0c\xd7\xee\x62\x6a\x21\xcd\xa7\x4c\x44\xf2\xbc\xc8\x55\x59\x1b\x80\x95\x59\x86\x44\xef\x7a\x0c\xd6\x5a\xa8\xdb\x5a\x95\x59\x07\x99\x0f\x36\x50\x4f\xc0\x05\xf5\x50\xf0\x1b\xe0\x59\xf8\x75\xc8\xaf\xfb\x8d\xf1\xac\xe3\x1a\x40\x02\x72\xfe\xfd\xed\x57\xaf\x9e\x45\x94\xc9\xdb\x5e\x2e\xe5\x8a\xde\x07\x8d\x2d\xfe\xd0\x7b\x26\x7a\x9f\x16\xf5\x67\xd4\xe9\x42\x88\xde\xe7\x70\x69\xce\x2f\x7d\x0a\x97\xe4\x72\xc5\xae\xdd\x83\x6b\x3f\x35\x9a\x01\xde\xeb\xdd\xb3\x17\xff\xcf\xc3\xa7\x9f\xf5\x10\xef\x71\xa7\xf6\x68\x3f\x5c\xfc\xe1\xf3\x4f\x7f\xb8\xf7\x43\xef\xf2\x70\xce\xb7\xc0\x40\xfc\xec\xc0\x97\x72\x75\xb1\xbc\xa4\xb6\xf1\x1f\xf8\x02\xfe\x59\xd5\xc0\x73\x5c\x87\x47\x39\x9d\xaa\x55\xad\x32\xf1\xdd\x4b\x51\xc8\x72\xde\xc8\x79\x68\x54\xee\x0e\x28\xff\x0e\xec\x06\xfd\x41\x4c\x65\x51\x4c\xe4\xf4\xca\xd3\x83\x5d\xc8\xbc\xbc\xd6\x57\x0a\xe9\xc0\xbe\x02\x19\x83\x19\x09\x2b\x08\x38\xf6\x02\x23\xaa\x5a\x55\xc0\x27\xfd\x34\x0a\x0d\xcd\x50\xec\xde\xe1\x87\xed\x68\xae\xea\x73\x98\xe1\x2b\x37\xb7\xa8\x79\x29\x4d\x23\x74\x71\xdc\xf4\xd4\x68\x6a\xe5\x10\xf5\xa6\x59\xad\x74\x55\xab\xac\xef\x3b\x9a\xe2\x8d\x51\x3e\x7e\x52\x76\x3c\x17\x5e\xf1\x59\xda\x95\xd4\xa8\xfa\x6d\xbe\x54\xba\xa9\xfb\x7e\x42\x7c\xff\xb9\x27\xfb\x17\xa5\xbc\xce\xe7\xb2\xd6\xd5\xc8\x61\x38\xac\xe5\x01\xb4\x6a\x7c\xd7\x1b\x5c\x86\x1d\x6d\xe5\xb3\xb0\x70\xfb\x7e\x12\x47\x4c\xc4\x4b\x6f\xf2\x32\xd3\x37\x04\x2e\x3e\xfd\x94\x7f\x72\xb4\xb9\xbf\x91\x15\x1c\xed\x3f\x35\xaa\x5a\xbb\x63\x99\xba\x93\x2e\xa4\x59\x44\x2d\x42\x6b\x79\x65\x8f\x46\xd1\x54\x45\xfa\x40\x38\x29\x7b\x76\x41\xc7\x67\x70\xc0\x7d\x6a\x7f\x3f\xc6\xdf\x7b\x42\x96\x99\x1d\x6a\xea\x7a\xeb\xb3\xfe\xdc\x24\x52\xf0\x13\xf7\x67\xa0\x8c\xf1\x33\xd1\xc3\xc7\x87\xf0\xf7\xb1\xff\x5b\x7c\x18\x51\x63\x7d\x49\xad\xf5\x41\x6a\x92\xab\x95\xb2\xc7\xcd\xb2\x29\xea\x7c\x55\x28\x51\xe7\x4b\x3c\xec\xed\xc8\x7c\xd6\x43\xa1\x4b\x7b\x20\x23\xa1\x16\xd2\xd4\xd4\xf9\x1b\x24\x0e\x1c\xc7\x3d\x87\x74\x9d\x34\x67\x2d\x33\xd7\xdf\xde\x4a\x0b\x2b\x69\x2c\x4b\xb4\x2c\xb8\x99\x2f\x44\xa6\x52\xa6\x23\x26\x6a\xa6\x2b\x25\x26\xca\xa2\x4c\x66\x99\x02\x74\x90\x40\x40\x47\x2a\x22\x62\x53\xf3\x54\x98\x3e\x49\x61\xd8\x7e\xb3\xa2\x7e\x34\xd0\xf1\x18\xbb\xbf\xe6\xb5\xc0\x66\xbe\xb8\x2d\xa5\xdb\x86\x85\x92\xd0\xbd\xa6\xf7\xc7\x1e\x76\x11\xee\xfd\xb1\xe7\x1b\x08\xe7\xf3\x52\x57\xbc\xbb\xf9\x6c\x04\x43\xfe\x27\x20\x8c\x91\x19\x9b\x42\xd8\x82\xec\x62\xd4\x48\xf8\x8f\xae\xcd\x39\x9f\xf8\x99\x88\xc0\x9b\x89\xa9\x2b\xe8\xc9\x7b\x87\x9d\xac\x3f\x7f\xf0\x7f\xaf\x64\x0e\xe2\x43\xf4\xd4\xaa\xc8\xeb\x7e\xef\x53\xec\x77\xda\xd5\x47\x1a\x9e\xea\xea\x52\xef\x86\x14\x67\x08\x73\x91\x5f\xba\xe1\xce\x7a\xb4\x21\xab\xeb\x8b\xf6\xfa\xf5\x2d\xf8\xc5\xd1\xe5\xe0\x52\x9c\x75\x2c\x2f\xde\x1e\x5f\xb6\x3a\x4b\xdb\x63\x35\xda\xd4\xdf\x7d\xfb\x8a\x63\x74\x25\xeb\x45\x07\x37\xfb\xee\xdb\x57\x1d\x1c\x8c\x1f\x10\xb4\xa7\xab\xa6\xb4\x34\x4e\xcf\xe0\x70\xbc\x71\xab\xbd\xd0\x9e\xc1\xaf\x66\x25\xf4\xda\xf6\x15\x7a\x41\xdc\x09\xb9\x90\xcb\x95\xdf\xa8\x79\x59\xab\xb9\xaa\x40\x28\x16\x66\xa5\xa6\xf9\x2c\x57\x99\x80\xe0\x9b\x94\xf4\x09\xf6\x83\xb8\x06\x8a\xc7\x1d\x5a\x6b\x4b\xb3\x53\x3b\x28\xd2\x6c\x1b\x7c\x99\x97\xf0\xc0\x32\x2f\xf3\x65\xb3\xa4\x43\x0f\x74\x00\x2f\x7b\x77\x3c\x25\x6f\xf1\x29\x79\xbb\xf1\x29\xaf\x39\xc1\x37\x31\xb4\x5d\x0f\xed\xdb\x86\xf6\xe1\xb0\x9e\xd7\xe2\x0f\xf6\x6a\xb4\x70\xcb\xbc\xfc\xcc\xdf\xfe\x1c\xe0\xa3\xdb\xf2\x96\x75\x95\xbe\x8e\x10\xf9\x4a\xcd\x6a\xb1\x92\x99\x90\xa2\x6c\x96\x13\x87\x44\xc4\x2b\x35\xd3\x87\x6d\xef\x76\xfb\x5f\x55\xa5\x5b\x87\x3b\xf2\x8d\xf7\xfe\xb3\x69\x28\xfb\xe5\x61\xd4\x95\xdc\x80\x5a\x7a\x8d\x85\xce\x94\xc9\x2b\x95\xd1\xa5\xcd\xdd\x9b\x57\xc0\xee\xdc\xe0\xd2\x44\x9a\x97\x43\xe8\x5f\xed\x77\x71\x25\x14\xa0\x87\x34\x78\x44\x94\x4e\xe1\x03\x88\xc1\x68\x25\xb3\x37\x96\xed\xf4\x11\x74\x28\x7a\x47\xbd\x54\x11\xc4\x4e\xdf\x8e\x65\x4e\x75\x59\xcb\xbc\x04\x4e\xec\x8e\x0f\x9c\x9c\x6b\xb3\x2d\xa6\x0b\x59\xc9\x69\xad\x82\x58\x0b\x87\xe0\x52\xd5\x0b\x9d\x89\xa5\xcc\x61\x04\xfc\x14\x59\xe7\x53\x31\x95\xd3\x85\xd7\x1a\x0b\x59\xcd\x95\xa9\x85\x5c\xea\xa6\x84\x93\x0d\x4d\x48\x76\x68\x50\x10\xaf\x55\x25\x2a\xf5\x53\xa3\x4c\x0d\x7d\xde\x5f\xd6\xa4\x41\x5b\xfd\xdd\x09\xd8\xb5\x16\x73\x55\xaa\x0a\xec\x0d\x76\xe3\x18\x59\xaa\x62\x2d\x16\xcd\x5c\x85\xa1\xa1\x13\xbc\x1f\x7d\xe3\x0e\xea\x58\xb7\xae\xd9\x8d\xba\x4e\x9e\x73\x87\xb8\xd0\x85\x9c\x3e\xd4\x7f\x03\x23\x02\x26\xca\x7d\xef\xc7\xe5\x4b\xcb\x97\x14\xb8\x1e\x4e\xed\x0f\x67\xe2\x28\xda\x0a\xbd\x9e\x3f\x06\x66\xe2\x0c\x94\x88\x78\x50\xb7\x8f\xee\xce\x46\xe1\x0b\x70\x08\x7e\x45\x9c\x89\x5e\xd0\x6e\x71\xd0\x9b\x45\x5e\x28\xff\xea\xcf\x23\xf8\x11\x9f\x60\x32\xd4\x83\xb3\xe8\xef\x94\xdd\x47\xc3\xd0\xe9\x76\xe4\x89\x18\x89\x52\x10\x55\xbe\x28\x4d\x53\x91\x21\x4b\x06\x63\x41\x6e\x40\x92\x24\x05\x0b\xec\x14\x53\x55\x59\x6a\x03\x69\x46\x14\xf9\x32\xf7\x32\xc2\x9b\x7c\x69\xc5\x9c\xc6\xc8\xb9\x12\x85\xd6\x57\x56\xcd\xba\x52\x88\xab\x91\x83\x02\x5d\xab\x52\xf3\xdc\xd4\xaa\x7a\x59\xe6\x35\x1d\x34\xb2\x90\xd5\xb2\xaf\x4b\x7b\x69\xe0\x95\x7c\x20\x74\x10\x0d\x0a\x6d\x37\xc8\x8d\xac\x4a\xd6\xf8\x8e\xba\xe3\x5b\xc4\xe3\x93\xfd\x81\x9d\x73\xa9\x6b\x52\x08\xdc\xc4\xed\x58\x8f\x84\x51\x53\x5d\x66\x7e\x17\xbd\x9c\x89\xb5\x6e\x7a\x56\x64\x52\x95\x15\xf5\xec\xc8\xc6\x1e\x2e\x7a\x65\x29\x1d\x54\x0b\x8b\x91\xa5\x5c\x83\xc8\x29\x0a\x5d\xc2\x71\xb1\x90\x65\x18\xce\x0e\x02\xe2\xa4\x2c\x41\xf6\x12\x52\x64\x0d\x3d\x9e\x5b\x1e\x5b\x14\xb9\x03\x95\x06\xe6\xed\x0c\x34\x34\x44\x50\x4c\xe2\xa9\xb9\xe1\x9c\x70\x9b\xa9\xb2\xb6\x27\x94\x95\x06\x4d\xad\x24\xb4\xe2\x97\x41\x21\x72\xeb\x36\x84\xef\x2a\x0a\x31\x57\x35\x8a\x5d\x37\x95\x15\x23\x2b\xb7\x87\x75\x25\x2a\x59\x2f\xdc\xa7\x48\x61\xf2\x72\x5e\x28\x07\x36\x12\xe2\x85\x9c\x2e\x60\x60\x42\xb5\x1d\x24\x3c\x7c\x83\xb6\x17\xe2\x64\xf8\x54\x26\xae\x55\x65\xec\x47\xd3\x7e\xf4\xd3\xba\x81\x1d\x5e\x6b\x3b\x86\x14\x66\x21\xe1\x4f\x54\x5f\x40\x41\xcb\x8d\x5d\x35\x2b\x3c\x4d\xa5\x51\x46\xdc\x2c\x54\xa5\x00\x01\x64\xaf\x13\x8a\xd3\x67\x6d\xcf\x14\x53\xdb\xe1\x74\xa9\x10\x07\x46\x01\xf3\x70\xef\x84\x01\x1d\x09\x90\xb8\x2b\xdd\x3b\x85\xba\x5d\xe5\x55\xd0\x34\x71\x5b\x03\x01\x7a\xf3\x07\x92\x63\x6f\xa6\xea\xe9\x82\x64\x61\x90\xc9\xbc\x51\x4c\xeb\x11\xdc\x44\x0b\x68\xdf\x91\xef\x9b\x66\x3a\x55\xc6\x0c\x86\xc2\x5d\xf9\x52\xe6\x45\x53\xa9\x40\xd3\x2d\xc5\xf6\x3e\x57\x6a\x2d\x53\xe4\xc6\x3a\x8b\x5c\xb0\x10\x96\x38\x62\x7a\x12\x7e\xb0\xc4\xf4\x6e\x69\xc4\xd7\x8e\xa6\xc2\xf1\x11\x91\x9e\x1d\x4b\xe6\x5e\xf8\xaf\x64\x6e\x17\xdd\xc9\xe4\x7e\x78\x21\xbe\x50\x33\x09\x46\x35\x23\x1e\x1d\x1d\x1d\x89\xbe\xa7\xf4\x41\x7c\xae\xba\x69\x7e\xb0\xe4\xea\x3f\x00\x54\xeb\xf0\x05\x0b\xe5\x14\x17\x14\x22\x82\x62\x33\xf1\x7a\xb9\xbd\xef\x88\xc8\x8d\x83\x2a\x44\x3c\xaa\xd3\x32\x36\x8e\xe9\x06\x9c\xa8\x78\x0e\xb2\xf6\xa7\x97\x01\x3b\x6d\xfa\xb6\x48\xef\x77\x94\xd0\x52\xf5\x87\x84\x6b\xe4\xc6\x60\x97\xb1\xfa\x00\x2d\xc0\xfb\xf7\xe2\x91\xb8\x2f\xc6\x47\x47\x47\x9f\xd1\x6d\x53\xdb\xb9\x3b\x9a\x9a\xab\xfa\x8d\xbd\xe0\x74\x0c\x9a\x7e\x5b\x83\x87\x3e\xad\xb9\x11\xba\xa9\x55\xd5\xc5\x8d\xf3\xe5\x52\x65\xb9\xac\x15\x98\xa9\x5f\xd6\x3d\x23\x60\xcb\xd4\x5a\x4c\xe5\xaa\x6e\x80\xda\x4b\x75\xe3\x46\x33\x53\xbd\x42\x3b\xbe\x45\x9b\xdb\x06\xce\xb6\x38\x8a\xba\xc3\xf6\xe8\x76\x2f\xd8\xaa\x73\xe3\x76\xed\x64\x8d\xf6\x33\x37\x44\xe0\x38\x56\x09\x05\x3e\x81\x23\x85\xcd\x4f\x2c\xc5\xab\x3c\xee\xd1\xb3\x1d\x46\x0c\x0b\x0b\x8a\xf4\x99\xb7\xa0\xfa\x41\xcf\xce\x44\x0f\x89\xa1\x37\x10\x7f\x44\xb0\x67\x81\x74\xd0\x46\x1a\x0c\xc8\xe2\x0c\xff\xf3\x47\xd1\xef\xa1\xed\x11\x8d\xb4\xcf\xe0\x58\x27\x8b\x09\x1e\x25\x23\x7b\xc2\xf4\x7b\x8c\x10\x9e\x25\x6c\x23\xc3\x11\xfa\x4b\x23\x0e\x61\xb1\x07\xe2\x81\xe8\x19\x3f\x6a\x3a\x60\xa1\xe7\x7d\xa0\x03\x7f\x27\x60\xa0\x6c\x8a\x82\x4c\x9d\x43\xb1\x34\x03\xb2\xbb\xd9\x4f\x27\xbc\xfd\xd9\xf3\xdc\x8d\xa6\x27\x26\xa5\x74\xda\x82\xc0\x04\x8d\xaf\xe4\x97\x85\x98\x16\x4a\x56\x6e\x05\x1c\xc4\x67\x0c\xa0\x6b\xa2\x91\xbd\x36\x68\x80\x0e\xf5\xe0\x5b\xe8\x5b\xf0\xa1\x90\xd5\xbc\x59\xaa\xb2\x36\xc1\xba\x14\x99\x17\x99\x6d\xbc\x73\x65\xe3\x6f\x4b\x11\x12\xdb\x28\xd3\xbb\x89\xed\x6c\xd0\xef\x94\xc2\x6b\xde\xd1\xd7\x1e\x76\xb8\x61\xe5\xcc\xee\x3b\x73\x95\xaf\x56\xdd\x72\xf9\xac\x72\xb6\xc2\x54\x1a\x87\x63\xa7\x56\x65\x86\x32\xb3\x13\x9f\x23\x17\x1a\x98\x7b\x50\xd0\xc6\xd9\x1b\x21\x41\x42\xc1\xb3\x24\x3a\xdc\x4b\x01\x66\xcf\xa1\x98\xa8\xa9\x6c\xc0\xd7\x18\xc4\x1e\x44\x94\x95\x08\x8c\x90\x16\xcc\x88\xc9\xda\x0e\x94\x11\x0b\xc7\x4d\x29\x2d\x7f\xb0\x32\xd1\x0d\xf8\xe5\xd0\x0b\xe6\x26\x7f\x2e\xea\xf5\x2a\x9f\xca\x02\x11\xb0\x04\x2f\xaa\x95\xde\x40\x78\x63\x72\x5b\x4c\xd1\xbd\x37\xda\x7e\xb1\xfd\x9a\x9b\x7c\x7a\x05\xf6\x26\x2b\xaa\xc9\xb5\x98\xca\xa5\xea\x0d\x53\x9e\x37\x70\xa7\xa7\xe5\x0e\x9b\xfe\xf7\x5a\xd7\xf9\xd4\x7d\xe3\x72\x29\xc5\x5f\x22\x39\x10\xdc\x7a\xab\x2a\x2f\xd1\x8c\xbc\x54\x06\x64\x4d\x12\x06\x7f\x34\x6e\x86\x43\x31\xd3\x45\xa1\x6f\xc8\x63\xeb\xac\x7a\xa4\x9d\x80\x60\x53\xa2\xde\x4e\x53\xd7\xa2\x52\xd7\x4a\x16\xd4\x4d\xd9\x12\x72\x72\x58\xe3\xda\xe3\x61\x8b\x26\xaa\x2f\x81\x06\x80\x65\xea\xf6\xd1\x8b\x84\x84\x74\x42\xa2\x0f\x90\x3c\x3c\x8a\x56\x69\x21\xa7\x75\x23\x0b\xd1\x73\x38\xea\xe1\x12\xd8\xa3\xae\xb8\xb1\x8b\xd9\x61\x0b\x73\xb0\x9c\x1d\xa4\x73\x0a\xc7\x53\x34\xd3\xb3\xf6\xe4\xff\xd8\xbe\xf4\x40\x1c\x8b\x67\xe2\xd8\x6b\x3b\xf0\x21\x40\x83\x70\xa9\xae\xd6\xc4\x43\xd0\xc5\x63\x0f\xd3\x17\x55\xa5\xab\x3e\x19\xa9\xa7\xd2\x4a\x4c\x7d\x75\xeb\x78\x4d\x18\x40\x9c\x09\x75\x3b\x42\xf4\x92\xa1\xeb\x87\xb2\x17\xcc\x54\xfe\x75\xb4\x0f\xd0\xf8\x96\x58\xd5\xf8\x64\xd1\xc0\x16\x5e\xd0\x65\x65\x63\x03\x5e\xe4\xe2\x20\x7a\xfe\xd2\x1e\x42\xfe\xe9\x8b\xfc\x32\x98\xc6\xff\xf2\x83\xb9\x2f\xeb\x1f\xcc\x83\xc3\xa1\xe8\xf5\x5a\xa6\x34\x36\x6a\xc4\x57\xbe\xc8\xaf\xf3\x4c\xa1\x90\x5f\xdf\x68\x22\x08\x34\xd1\xce\x0a\xad\x2b\xc3\xbd\x13\x43\xd1\x94\x85\x32\xee\x9a\xd5\xe4\x33\x74\x4e\xd8\xab\x60\x93\x05\xf1\xdc\xea\x11\xd3\x4a\x65\xd0\x61\xdc\x2c\x2d\x91\x80\xcc\x33\xb4\x82\xa1\xa3\x68\xa3\x44\x1e\x18\x0a\x6c\x21\x95\x17\xce\x63\xef\x84\xec\xc6\xa8\x59\x53\x58\x09\x1b\xb9\x9f\x33\x84\x58\xe1\xa1\x6a\xca\xa9\xb4\xfa\xb3\x5c\xad\x2a\x7d\x9b\x2f\x25\x3a\xba\xc0\x45\x62\x15\x1f\x3b\x10\x1a\x9a\xf1\xbc\x37\x5a\x64\xda\xb2\x80\x2c\xbf\xce\x41\xf4\x77\xfe\x17\xa3\xfc\xa7\xaf\x73\x55\x58\xcd\x27\xf8\x6a\xdd\xa7\x80\xd2\x54\x68\xa3\xd0\x74\x74\xb3\xb0\x3c\x0d\x1f\xdb\xb4\xfd\xca\x66\x89\xfc\xbd\xeb\x66\xa6\x4a\xbd\xcc\x4b\x7f\xdb\xc9\xa9\x74\x9f\xed\x22\xb3\x94\x55\xfd\xa5\x5d\x0f\x5c\xb0\xc4\xd8\x83\xaf\x18\x0a\x3e\x62\xd8\x54\xd7\xb2\x80\x13\x91\xc0\xc4\x21\x07\x73\x92\x1f\xe1\x5e\x9c\x89\xaf\x64\xbd\x18\xd9\x3f\xfb\xd7\xb2\x18\x38\x33\x81\xbb\x7f\x00\xc3\xfd\x41\x8c\x8e\x8e\x8e\xc6\x8e\x66\xdd\xa1\x8a\x30\x2d\xe7\x0f\xdd\x86\x81\x81\xa8\xfc\xc8\x2d\x6f\x9b\x14\x95\x2c\x33\xbd\xf4\x96\x4e\xd0\xe1\xc1\xbe\x29\xfa\x10\xcb\x60\xf2\x6b\x35\xd8\x84\x6e\x67\xbb\xb4\xbc\xd4\xd4\x7c\x10\xa0\x58\x67\x26\x6d\x3f\x47\xd6\xcb\x45\x3e\x5f\x6c\x7f\x30\x59\x23\x71\xee\x26\x4c\x84\x39\x51\xf5\x8d\x52\x60\xa9\x14\x9f\xda\x71\x23\xbf\x2c\x80\xbe\x2c\x6b\xbe\x7e\xb1\xe5\xb3\x8d\x2b\xf8\x15\x9f\xec\x0f\xc4\x7d\xd1\xb7\x93\x3d\x80\x17\x3c\x10\xe3\x81\x95\xe6\xc0\x2c\xba\x33\xf8\x88\x8e\x9f\x77\x4b\x59\xca\xb9\xaa\xfe\x45\x42\x91\xbe\xc2\xaf\xfa\x0a\x3f\x4a\x4c\x0b\x69\x8c\x58\xc8\x32\x2b\x14\x8a\x36\x55\x29\xf1\xb4\xcb\xff\xaa\x32\x12\x41\xbc\x28\xf4\x5a\xd7\xea\x19\xf7\xf1\x89\xdc\x94\xbd\x5a\x98\x66\x36\xcb\xa7\x39\x3a\x9f\x40\x90\x41\xc9\x02\x0e\xc5\xf1\xc8\xa2\xa8\x52\x3d\xcb\x25\x26\x0d\x78\xf1\xc8\xca\x4f\xe6\x97\x2b\x05\x4e\xba\xa6\x94\xd7\x32\x2f\x50\x27\x29\x45\x8e\xc7\xeb\x33\x16\x3d\xb2\xa8\xeb\x95\x79\x76\x78\x38\xad\x26\xcd\x7c\x34\xd5\xcb\xc3\xf1\xc3\xa3\xe3\xa3\x23\x07\x72\x0c\xaf\xb2\x07\x3f\x88\x7c\x16\xa9\x4b\xb9\x06\xe1\x68\xa2\xc4\x4a\x4e\xaf\xe4\x5c\x65\xb8\x4b\x9e\xe3\x14\x20\x44\xc0\x32\x37\x3f\xdf\x87\xdd\x83\xc0\x00\x15\x3a\xb6\x2d\xa9\x54\xb2\x5a\x27\x43\xd6\x8b\xbc\xca\x0e\x2c\xd4\x9a\x4d\xba\xeb\x45\x7c\x57\xc1\xe9\xf4\x21\x78\xc8\xc5\x2b\xe7\xb8\xf6\x57\x6a\x2d\x0a\x2d\xb3\xa1\x5b\x6a\x5d\x65\x60\xdc\x51\xfe\x3d\x21\x28\xca\x02\x82\xa1\xf7\xb5\xba\x51\x95\x93\xa2\x8c\x0b\x9f\x10\xba\xb0\xcf\xea\x52\x99\x91\x10\x3d\x55\xf6\x44\x6e\xbc\x99\xa0\x81\xb8\x57\x2b\x2f\x16\x6b\x74\x1d\x3a\x9b\xd6\x2c\xaf\x4c\xed\xa7\x64\x99\x5c\x5e\x3b\x63\x9c\x2c\x2a\x25\xb3\xb5\x58\x59\x32\x47\xd9\x13\xf7\x70\x42\x6d\xdc\x30\xeb\xbe\x0d\xf7\x31\x18\x11\xfd\xb5\x77\x56\xa7\xf6\xbe\xe8\xa5\x5c\xf5\x49\x57\xf0\x8f\xab\x82\x45\x24\xa8\xa2\xc3\xe7\x0d\x01\x0a\xc4\x8d\x93\xd1\x47\xf6\x1c\xbe\xfd\x7a\xd6\xb7\x5f\x3f\xb0\x3a\xc9\xc1\x78\x40\x42\x4f\x0c\xd8\x94\x66\x91\xcf\x6a\x04\x44\x01\xc9\x42\x78\x9c\xa2\x08\xc3\x98\xf2\x79\x96\x79\xb9\x15\x82\x7f\x72\x8a\x68\xd1\x91\x48\xeb\x78\x4a\x87\xd3\x3b\xf5\x51\x1b\x0a\xd1\x5b\x4a\x22\x3d\x22\x27\x37\x87\xd1\x8f\x46\x97\xb8\xe7\x85\x78\xa3\xc0\xe8\xf2\x07\xb7\x4f\x32\x75\xad\x0a\x6d\xf5\x73\xda\xb3\x76\xcb\x78\x42\x34\x87\x76\x0b\x1f\xb8\x91\x3e\xdf\xb4\x6e\xa3\x55\xa5\x6b\x6d\x55\xb9\x91\xcc\xb2\xaf\xc2\xc7\xfb\xe5\xc8\xd4\x8c\x16\xd2\x0b\x73\x57\x6a\x6d\xa9\x35\xdc\xc1\x83\x33\x53\x33\xf0\x6a\xce\xcc\xc5\x95\x5a\x5f\x32\x55\xf1\x6e\xa6\x66\x23\x58\xc5\x05\x90\x28\x8b\x5c\x8a\x90\x0e\xcf\xe1\x18\xee\x1a\xe9\xd8\xfc\x10\x05\x3d\xc4\x45\xe5\xdd\xfb\xe4\xf5\xf9\x57\x2f\x3e\xb9\x27\xf8\xf0\x28\xcc\xdc\xfb\x64\x7c\x6f\x28\x54\x3d\x1d\xed\xf9\x2e\x4f\x6a\x4c\x91\x3e\xfc\xe1\x13\x0c\x23\xbb\xf8\xcb\x0f\xe6\x87\x4f\x2e\x1f\x0c\x7e\xf8\xe4\x30\x9f\x0f\x19\x48\x38\xbf\x86\x22\x0e\x21\x8b\xb4\x60\x8f\x98\x08\x13\x17\x10\x8a\x58\xeb\x57\xfa\x46\x55\xcf\xa5\x51\xfd\xc1\xe5\x68\xaa\xad\x22\x5a\x73\x85\xfe\x03\x69\xe2\x1f\x52\x59\xe1\x95\x96\x19\xdb\xc5\x81\xcd\xfa\xfd\xec\x28\x73\xd2\xd8\xa3\x60\x53\x5c\xc0\x4a\xd6\xf6\x84\x10\xe7\x10\x9a\xe1\xfe\x8a\x7c\x5c\x16\xa1\x64\xe1\x05\xf7\x14\x04\xdf\x38\xfe\x02\x66\x1a\x62\x55\x73\x3d\xda\x1c\x07\x34\x74\xd1\x40\xba\x7c\xae\x97\xab\x42\xd5\x2a\x8a\x07\x9a\x28\xef\xb9\xb0\xa2\xae\xe5\x79\xcc\xda\x99\x1b\x08\x4c\xb5\x4f\x91\x2e\x66\x85\x75\x52\xa1\xa5\x9b\x19\x71\x59\x83\x26\x5d\x2b\x36\x83\x18\x2f\xf3\x02\x03\x26\xec\xff\xa2\xd8\x21\x30\x59\x06\x2c\x46\xe1\x46\xe4\xdd\x39\x1a\x8a\x52\xd3\x53\x46\xdc\xa8\x4a\x85\x91\x80\x2d\xef\xde\x62\xb3\xbc\xcc\xce\xcb\xcc\x2e\x59\xd7\x56\x83\x05\x26\xcc\x0f\x19\x7a\x82\x00\x5b\xb0\x70\xa6\x94\xa1\x4d\xb5\xd5\x01\x50\x99\x03\x58\x98\x95\x38\x13\x17\x97\xee\x12\x22\x80\x2e\xdd\x09\x94\x2b\x74\xe9\xe2\x83\xdc\x3b\xfb\xa6\x96\xb5\x27\x65\xbb\x89\xa3\x0b\x22\x0c\x1f\xb8\x39\x32\xd4\x41\xe7\x96\xf5\xaf\xde\x04\x1e\xb8\x45\x80\x88\x3d\x68\xa0\xc2\xbe\x56\xb7\x3e\x96\x69\xc3\xab\x02\xe2\xfa\x38\xc9\x21\xbd\x3d\xda\x42\x84\x92\x64\xc8\x76\x08\x83\x3b\x39\xd8\x9a\xe1\xa1\x43\xcc\xe2\x5b\x1f\x0d\xdc\xf7\x4b\x17\x4e\xc0\xe1\x9d\x6e\x73\x49\x1b\xe1\xa3\x49\x5e\x66\x30\xf2\xd0\xea\x73\xea\x17\x3e\x3a\x93\x85\x41\x8f\x85\xf8\x10\xae\x0f\x9c\x05\x20\x45\x5f\xca\x48\xfc\xf1\x37\xab\xf4\x52\xc8\xae\xa3\x68\x37\x99\x17\xdb\xe8\xbb\xa9\x0a\x4b\xdb\xe4\x6d\x41\xbb\xbc\x2e\xc1\x10\x11\xe8\xfc\x76\x61\x25\x8a\x52\xdd\x88\xff\xdf\x57\xaf\xfe\xbd\xae\x57\xdf\xa2\x87\xb8\x8f\x1f\x72\xbb\xa8\x46\xba\x84\xc5\x2d\x3b\xa2\x4e\x90\x8c\x2c\x90\xa5\xd9\xc6\x88\xbb\x67\xe2\xf8\xe8\x28\x0e\xed\xe5\xef\xf5\x98\x66\x17\xd9\xf3\x83\xcf\xe2\x28\xd7\x88\x62\x81\x16\xd8\xd9\xd9\xff\x8f\x37\x5f\xbf\xc6\xc0\x27\x18\xa2\x52\x66\xa5\x4b\xa3\xde\xaa\x5b\xf4\x8e\xc2\x12\xd2\xe7\xf7\xbb\x17\x0a\xbe\x6f\xa5\xca\x7e\xef\xcf\x2f\xde\xf6\x86\x16\x67\x00\x08\x53\x52\x65\xd6\x32\x89\xe2\x59\xf8\xc9\x78\x34\x1a\x7d\x52\xf2\x00\x75\x1f\x55\xa9\x0a\x05\x06\x5d\x27\x7b\xc8\x6a\x4e\x96\xc7\x4d\x07\xc2\xd2\xcc\x5d\xb4\x3e\x3b\x05\xb8\xa8\x63\x79\xaa\xb3\x14\xb3\x97\x8e\x3a\x24\x60\x78\x1d\x9a\x92\x92\xc1\xfc\x00\x68\x9e\xd8\x48\x5e\xad\xed\x16\x69\x8e\x66\x0e\x46\xeb\x38\x1a\x7c\x69\xe6\x41\x7a\xfc\xe1\x93\xfe\x0f\xd9\x83\x01\x8f\x7d\x15\xf6\xc4\x06\x81\xb1\x65\x8e\xb7\x63\x5d\xc0\x2d\x71\x20\xc6\x97\x9d\x41\xcd\xdf\xa8\xea\x20\x2f\x4d\x2d\x4b\xd0\xf2\x56\x6b\x8b\xdb\xd6\x34\xf7\xd8\x2f\x1d\x9f\x06\xef\xdb\x07\x0b\xa9\xd1\xc0\x1f\xf6\x98\x01\x32\xf4\x16\xce\x62\x4d\x73\x83\xb3\xdc\xd9\xf7\x45\xad\xf5\x16\x02\x80\x43\xbd\x9b\x08\xe0\x16\x11\x13\x33\xe7\xce\x55\xdd\xb5\xfe\x76\x63\x01\x0d\x78\x5f\xa7\xdc\x93\x18\x5a\xd3\xb2\x43\x39\x2b\xb9\x1f\xcd\xc7\x74\xd1\xfa\xe5\x34\x31\xfa\x04\x54\x66\xdc\x79\x0d\xaa\xf5\x48\x90\x2b\xc1\x44\x9f\x00\xe0\x93\xb5\xb3\xc3\xef\xb1\x7a\x73\x55\x27\xa4\xe8\x11\x0f\x9f\x3c\xe4\x33\x66\xfe\x47\x27\xdf\x92\x22\xe3\xa7\x5a\xc6\x72\xaa\x23\x4d\x37\xc1\xb3\x44\x8c\xa5\xe7\xf0\x40\x8f\x4e\x42\x3b\x6a\x14\x79\x07\x6a\xbd\x63\x76\x61\xbc\x24\x94\x99\x3e\xd4\x4d\x68\xc0\xe5\x78\x7a\x28\x6c\x97\xd8\xf7\xe6\x92\x06\x08\x0c\xdd\x6d\x61\x9c\x68\x87\x39\xff\x11\x5f\xce\x24\xb3\x42\xfc\xd1\x2f\xe0\x33\x0e\x97\x1c\xe3\x30\x33\x87\xed\x38\x0a\x2e\xc1\xf1\xdd\xbe\xa7\x43\xb7\x71\xf5\x0c\xd9\x12\x85\x45\xfa\xfb\x67\xe2\xc2\xfd\x7e\xc9\x5d\xbe\x1b\x8e\x7e\x7a\x53\x58\xf5\x84\x55\x54\xda\xb2\x7b\x21\x8b\xc2\xed\x99\x7b\x16\xdf\xf7\xc4\xa2\x5e\x16\x42\xd6\x75\x95\x4f\x9a\xda\x9e\xbb\xce\xec\xe3\x5c\x57\x99\x5e\x8a\x59\x25\xe7\x4b\x15\x3c\x3f\x6f\xc1\xe8\x2c\x0b\x71\xa3\xab\x2b\xb1\x90\xab\x95\x2a\x21\x3e\x79\x85\xef\x79\x39\x7e\x52\x9e\xbb\x31\xf7\x20\xe1\xae\xc7\x62\x25\x50\x2f\x03\xe5\x96\x3a\x83\xbb\x99\x5e\x8e\x30\xa0\x56\x15\x6a\x5a\xeb\xea\xbc\x28\xfa\xbd\x0b\xfb\x5d\x97\xa4\x52\x77\x45\xd5\xc2\xe3\x91\xbd\x3f\x9c\xa3\x5d\x13\xe9\xc3\x03\x17\xf9\x65\x37\x4a\x19\x2e\x3d\x1a\x9d\x2d\x25\xc4\x85\xda\x31\x38\xf6\xc0\xc0\x15\xe0\x49\x6f\x21\x6e\x24\xa4\xb0\x87\xb8\x0b\xa4\x46\x35\xe3\x4a\x39\x05\x43\x5e\xa9\x92\x1c\x43\x13\xc5\x06\x01\x4d\xc2\xbb\xd3\x79\x5c\x37\x67\x2e\x3c\x86\xc9\x82\xb1\x37\x89\x05\x44\x35\xde\x7b\x77\x4f\xf4\xed\x36\xa8\xcc\x54\x57\x6a\x60\x5f\x3d\x14\x79\x6d\x88\xcb\xa1\x2f\xc0\x59\x6f\xc0\xd7\xa0\x6e\xeb\xe7\xa8\x33\x3a\xf2\xa2\xf3\xde\xbd\xec\x2b\x3e\x03\xb0\x32\xc2\x79\x6d\x39\xa6\x86\x68\x22\x46\x82\xba\x0c\xd6\x09\x1a\x06\xe5\x08\xf4\x50\xae\x2a\x35\xcb\x6f\xd1\x7d\x58\x2f\x84\x14\x99\x2e\x0a\x59\x09\x93\xcf\xcb\x91\xe0\x89\x68\xdc\x05\xf9\x87\x49\x53\xd7\xba\x14\x79\x76\xd6\xb3\x22\xcc\x01\xfe\xdd\x8b\xf3\xc7\xec\xb2\x9c\xf5\x7e\xbe\x27\xab\x5c\x1e\x14\x72\xa2\xa0\x70\xca\x27\x79\x76\x6f\x68\xd1\xf2\x4c\xdc\x7b\xf3\xe2\xf5\x17\xef\xfe\xf4\xdd\xdb\xb7\x5f\xbf\x7e\xf7\xea\xfc\x4f\x2f\x5e\xdd\xfb\x90\x8c\xf1\xf9\x1f\x0e\x71\xec\xcf\xd9\x7a\x87\x01\x63\x4e\xef\x62\xd7\xad\x4e\xd9\xd4\x88\xd4\xe8\x1d\xe7\xdf\xbe\x3c\xa7\x17\x8d\xc8\x4c\x8a\x7e\x4e\x59\x13\xe9\x65\x9c\xf0\x6e\xec\x0a\xda\xed\x48\x5e\x64\xf0\x26\xc9\x0a\xa2\xb9\x1c\xd0\xd0\x65\x31\xb0\x98\x7d\x4a\x68\xc0\x87\xbe\xfb\xe6\x9b\x17\xdf\xbe\x3b\x7f\xfd\xc5\xbb\xef\x5e\x7f\xf1\xe2\x5b\x01\x76\xe2\x5f\xb8\x8d\x23\xff\x88\xce\x42\x46\xe6\x73\x7c\x23\x7e\x44\xa1\x6f\x54\x75\x20\xcb\xec\x20\x93\x66\xa1\xcc\xbd\x94\xac\x21\xcb\x02\x1f\xbc\x97\x4c\xef\x9e\x9f\x1f\x8f\xdb\x69\xca\x2b\xca\x84\xea\xcc\x45\xf2\xb6\xbc\x51\xad\xbf\x5b\xad\x9c\xe9\x23\xe8\x65\xb0\x41\xcf\x70\xdf\xce\x55\x1d\xb8\x41\xcf\xde\xe9\x79\x6f\xcc\xdd\x70\xa6\x39\xe1\x3c\xf2\x75\xd2\x38\x4c\x28\x87\x07\x36\x78\x3c\xdd\x71\xa6\x40\x03\xe8\x3d\x97\xe5\x0f\xbd\x1a\x13\x23\x30\xf8\xc4\x4e\xa7\x96\xf3\xd7\x96\x76\x1e\x88\xde\xff\xf1\x17\xf3\xcc\xfe\x8d\x27\x9e\x7f\x83\x73\xb5\xaa\x5b\xef\x85\x3c\x3c\x44\x45\x0b\xe2\xf3\x82\xdc\x61\x18\xaf\x22\xe6\x15\xb3\x28\x33\xea\xb0\xc0\xc1\x8b\x78\xe4\x91\x82\xc9\x70\x7a\x54\x3d\x24\x70\xa3\xea\x1a\x3d\x8a\x2e\x68\xae\xae\xad\x8e\x75\xa5\xd6\x2c\x74\xc5\x1d\xb7\x67\x30\x34\x99\xf1\x68\x74\xbb\xb1\xef\x9d\xcd\xb4\xbe\x37\x14\x95\x3a\x70\x11\x0d\x5e\xee\xcf\xa2\x9d\x35\xf2\x42\x03\x8d\x19\x25\x75\x9c\xf5\x06\x41\x86\xb0\x1f\x73\x26\x3c\x58\x48\xe6\x20\x41\x65\xd3\x9c\x3e\xdc\x89\xa6\xf6\x09\x4e\x6d\x2a\x8b\x69\x53\xc8\x5a\xb5\xc4\xba\xed\x53\xfa\xc4\xe5\x99\xf0\x37\x22\x1d\xb7\x89\xb0\x35\x59\x88\x24\x7a\x67\x17\xff\x4a\xad\x9d\xc8\x64\x67\x96\xa3\xe8\x5d\x38\x2b\x9d\x33\x35\x72\x94\xb3\xa8\xe4\x7e\x2c\x2d\xd9\xc9\xe2\x42\x9d\xc1\x6e\x71\x91\x51\x40\x86\x8c\xe9\x03\xfa\xf0\x11\x2b\x00\x72\x30\xc3\xe7\x6d\xc7\x1a\x5a\xd8\xe0\x73\xdc\xee\x29\x5b\xf9\xe5\xfd\x17\x73\x96\x3d\xd7\xa5\xa9\xab\xc6\x8a\x2d\xb0\xad\x2c\x63\xfd\xc6\x7f\xac\xf3\x6a\xe0\xb9\xcc\xc2\x85\x94\x9d\x32\x5e\x14\x19\x48\x60\xf6\x0c\x5c\xa9\xca\xe4\xa6\x06\x2d\x69\x21\x4b\x72\xeb\x18\x4c\xfa\x30\xb5\xae\x9c\xb6\x5c\xea\x3a\x9f\xad\xc9\x9c\x69\x99\x4d\xb3\x04\x73\xf5\x42\x95\x62\xc5\xd4\x76\x1c\xc5\x4b\x0a\x75\x1c\x9c\xe4\xce\x9e\x89\x9c\x5e\x41\xe0\x73\xad\x2b\x8b\x3a\xf2\x12\x19\x1f\xdf\xa3\x43\xa0\xf0\xbf\xbf\xfd\xea\xd5\x23\x3b\x18\x4d\x67\x28\x26\x0d\x8c\x52\xd9\xc3\x51\x95\xbd\x5a\xc8\x72\x0d\x89\xf5\x18\xc9\x4b\xef\x58\x6a\x10\x23\x84\x78\x49\xf9\x79\x4d\x8d\xe1\xbc\x64\xff\x24\xf7\x99\x74\x6e\x3f\xb9\xca\xf1\xdb\xed\x94\xcc\xba\x9c\x1e\x00\x12\x2c\x4d\x1f\xa2\xf8\x02\x19\x53\x28\x26\xdd\xa8\x5e\x06\x21\x4d\x14\x30\xd1\x4a\x5a\xb3\xab\xf2\x06\x27\x3c\xba\xff\xc1\xa3\x12\xf3\xd6\xf0\x77\x12\x9d\x6a\x8d\x05\x06\xc0\x11\x89\x78\xf1\xfe\x33\x3b\x97\x8d\xaa\x24\x8a\x33\x71\x30\x10\x5d\x4b\xa2\xc0\x2c\xcb\x0e\x8b\xc4\xed\xde\x94\xac\x2a\x7a\x87\xbd\x90\xf2\x11\x15\x33\xc0\x83\xdd\x28\x3b\x81\x5a\x89\x42\x5d\xab\x02\x6c\x31\x8b\x5c\x55\xb2\x9a\x2e\xd6\x3e\x93\x3e\xf7\xb1\xed\x73\x4d\x01\xf3\x0b\x79\x4d\x24\x7f\x95\x97\x19\xed\x99\x72\x8e\x56\xeb\x55\xa5\xaf\x73\xb0\x72\xda\xf5\xc1\xa9\x27\xae\x43\xe0\x73\x4e\x5c\xeb\x1d\xf6\xf0\xc1\x52\xd7\xec\xe1\xbc\x76\x3a\x2f\x10\xaf\x85\xf2\x12\x47\x7b\x63\x44\x99\xf8\x44\x50\x01\x9b\xcc\xf1\xe7\x96\xe9\xcc\x2d\xd8\x67\xc9\x9d\xaf\x27\xc0\x11\xaa\x77\x8e\x0b\xea\x92\x56\xfc\x39\x6c\x82\x77\x2d\x2b\xa6\x05\xca\xcd\xf9\xb4\xce\xaf\x95\x7d\x0a\x4c\x9e\x7e\x58\x69\xaf\xcb\x5a\xf5\x19\x74\x5d\x51\xee\x08\x42\xba\xa4\x40\x5c\xe5\x33\x4e\x06\xef\xdf\xdb\x2f\xf7\xc2\x05\x5e\x1d\xa9\x32\xa3\x53\xe2\xd0\x9d\x12\x04\xff\xe0\x0c\xe1\xef\x78\x05\x86\xc6\xc4\x5f\xe2\x1b\xdf\xaa\xa9\xae\x32\x70\x81\x62\x78\x14\x72\xfd\x42\x4f\x64\xe1\xd0\x00\x77\xc9\x3c\x0f\xb7\xa7\x8b\xbc\xc8\xbe\x94\x96\x51\xe5\xca\x3f\x8b\x92\xc4\x57\x72\x05\xce\xe4\xdc\xd4\x07\x70\x62\xd5\x5a\xfc\xbc\xc4\x8b\xf0\x1c\x4c\xc3\xb9\x24\xcd\x07\x7c\xea\xdc\xf2\x12\x90\xcd\xc5\xe1\x21\x5e\x62\xaf\x7a\x95\x9b\x1a\x5f\x73\xc7\x05\xfc\xf5\x56\x95\xb6\xcc\xf4\x20\xcf\x4c\xef\x19\xbb\x21\x44\x4f\x97\xaa\xf7\x4c\xb4\x08\x64\xc8\x61\xea\x1b\xbd\x0b\xc6\x4d\x07\xce\xf5\x21\x9f\x99\x10\xbd\x59\xa5\x27\x1d\xef\x8e\x9e\xa1\xdf\x3e\xdc\xe9\xfe\x96\xd8\x95\xfb\x9d\x01\x31\x0b\x22\x22\x0a\x2c\xa8\x91\x97\x59\x3e\x45\xa9\x81\x38\x9f\x8b\x2e\x45\xae\x45\x6a\x55\xd8\xff\xb4\xb7\x48\x0b\x44\xa5\x10\x8c\xe6\x35\xe4\x46\xa1\x41\x03\x9f\x25\x83\x46\x30\xc6\x86\x51\x1c\xc3\x7b\xf1\x53\x23\xa1\x76\x4c\xad\x4c\x6d\x84\x9c\xcb\xbc\x34\x35\x1e\x8d\x38\xc8\x57\xdf\xbd\x79\x0b\x2c\xae\x77\x76\x76\xd6\x13\xba\x12\xbd\xbb\xf6\x17\x64\x52\x72\x3a\x6d\x2c\x67\xd9\xb2\x67\x99\xa2\xf0\xc5\x8b\x2f\xcf\xbf\x7b\xf5\xf6\xdd\x7f\x9d\xbf\xfa\xee\x85\x0f\x72\x0f\x65\x5c\xfa\x3d\x82\x00\x35\xde\xf9\xbf\x4b\x40\xd2\x75\x9e\x35\xb2\xe8\xf8\x84\xf8\x70\x04\xb5\x17\x5e\x4c\xa1\xe7\xaa\x83\x00\x20\x51\x24\x64\xac\x95\xca\x27\x9b\x60\xd8\x0a\xd6\x7f\xc9\xf2\x4a\x4d\xeb\x62\xbd\xed\xdb\x70\x6b\xa5\xe5\x67\x86\x6e\x21\xfe\xcb\xa2\x90\x71\x25\x16\x5a\xee\xf7\x21\x07\x45\xbf\xb0\xff\xd3\xc3\x10\x4d\x38\x18\xb8\x16\x21\xd3\x43\x6a\xb7\x9f\x69\x3b\xf3\x40\x02\x74\x22\x7a\x93\xb1\xc5\x4d\xbc\x22\x56\x32\xa8\x29\x7f\x66\x29\xaf\x20\x3c\x10\xa2\x0d\xaf\x55\x35\xd1\x66\xeb\x2a\x23\x26\x36\x2f\xb6\xb7\x2c\xef\x4d\x20\xdc\xd1\x80\xc9\x5f\x3c\x73\x09\xe9\xcf\xe7\x6c\x61\x74\x62\x6e\xf8\x4e\x21\x99\x68\x63\x79\x08\x8a\x88\x74\x29\xf5\x9d\x93\xfb\x20\x1c\x46\xa3\x3c\x1b\x9f\x87\xe2\xea\x48\x60\x70\x36\x65\x39\x4d\x55\x7e\x8d\x7a\x40\xa9\x6e\x5c\xe0\x65\x6a\xbc\x0e\x13\x1d\x86\x94\x9a\x0c\xa2\x1e\xdd\x07\x90\x22\xdf\x3e\x06\xa5\x09\xae\x62\xf3\x51\xab\x22\xb3\xcc\xb1\xfc\x28\x20\x98\xae\x31\x5a\xf5\x94\x34\x5a\x35\x66\x11\x20\x62\x8e\x56\x56\x7e\x6d\xca\x80\x2a\x1f\xdc\xbf\x01\xf5\x0c\xab\xe7\x16\x11\xd7\xb9\x6e\x0c\x78\x0a\x70\x30\x9e\xd5\xf3\x31\x5f\x57\xa9\xa5\xbe\x56\xbb\x3f\xd0\x99\x06\x93\x0f\x75\x41\x3c\xec\x5b\xf1\x40\xce\xc5\xe7\x3e\xbd\x33\x79\xc6\xac\xac\x6e\xd0\xcf\x87\x62\x9c\xd4\x9e\x81\x44\x30\x6f\x91\xf3\x1a\x47\xcc\xc1\xf6\xfe\xb4\xc4\xdc\x1f\xf2\x4f\x3b\x18\xc4\x59\x17\x8b\xe0\x3e\xca\xc3\xbf\xf4\x29\x8f\x9a\xd2\x90\x3f\x39\x1c\xd9\x13\xc0\x19\xc7\x5b\x8c\x69\x90\xa4\x56\xb4\x00\xda\x09\x1a\x1d\xcc\xed\x4c\xf4\x5c\x62\x1c\x8f\xa9\xf9\xde\x57\xd9\x0a\x19\x82\xcf\xbf\xfe\xe6\xbf\xdd\x4e\x89\x4f\x35\xa3\xf1\xac\x6c\x8c\xe5\x72\x53\x59\x86\x81\x96\x3a\xcb\x67\x6b\xf2\xe8\x54\x72\x6d\x4f\x2b\x92\xd3\xed\x19\xa8\x9b\x1a\x79\x82\x73\xfb\x44\x03\x8f\xe2\x2f\x64\x96\x1b\xf8\xd5\x65\x4e\xac\xfb\x1d\xc8\x89\x0c\x03\x9b\x51\x14\x47\x84\xb7\x16\x2e\x22\x9f\x37\xb5\x5e\xb5\x38\x1a\x49\x54\x74\xe0\x57\x4c\x0f\xb3\xb2\x6e\xc2\xef\x9e\xa3\xad\xc7\xaa\x70\x6d\xd1\xde\xdc\x58\x71\xad\xa9\x21\x1f\xb2\xeb\x0d\x56\xf1\x28\x51\x91\x33\xda\xe9\x49\x70\x70\x66\x50\xa6\xcd\xd2\x23\xa8\x95\xb9\xca\x84\x9c\xd8\xa1\xf2\xaa\x52\x85\xba\xb6\x4b\xc9\xa6\xb2\x5b\x2c\xc8\x94\x13\x9e\xbb\x29\xfc\x6e\x2c\x7a\x0f\x3a\x93\x09\x7a\xaf\x75\x2d\xdc\x38\x59\x6f\x2f\x99\x9d\x10\x97\xb0\x8d\x7e\xa7\x9a\x30\x48\x56\xc7\x6a\x36\xbb\x56\xc0\xe5\xe4\x06\x06\x17\x3e\x35\xdb\xb4\xb8\x28\x9d\xa0\xa9\xdc\xe3\x25\xc7\x54\x14\x14\xe4\x7c\xee\xd0\x48\x88\xff\xf6\x0b\x42\x52\x0c\xa5\xe0\x5a\x20\x59\x0b\x88\x16\x94\x45\xfe\x57\xca\x4d\xce\xad\x70\x22\x21\x38\x33\xaf\x7b\x26\x89\xce\xa4\xf8\x27\x3c\x5d\xbc\x49\x7f\x1a\x4c\x16\xfb\xad\xe7\xf6\xd5\xdc\x6b\x31\xcf\x29\xfc\x73\xe7\x82\xd6\x55\xd3\x5e\x4f\x76\xc8\xed\xb3\x98\xdf\x2a\x32\x92\x4d\x92\xe5\xa4\xf4\x47\xc3\x77\x88\x5f\xdc\xff\xf6\x32\xa4\xc8\xa8\x46\x98\xb6\xcb\xd8\x8d\x75\xa8\x4a\x51\xc1\x2f\x2e\x84\x0d\x8b\x2e\x40\x4e\xf2\x8c\xd3\x01\xf9\xa0\x51\xb5\xef\xd8\x9a\x20\x64\x2c\x75\x99\xd7\x94\x9d\xc9\xec\x0e\x7c\xe6\x44\x8c\x43\xcb\x31\x83\xc0\x0b\xea\x77\x9b\x56\x96\x1a\x93\xa5\x4b\xf8\x88\x28\x8a\xd4\x5b\xd7\x2b\x35\x6d\x2a\x93\x5f\x2b\x38\xa9\x65\x66\xa2\xd7\xd9\xa1\x82\xf2\x17\xcf\xd9\x10\xcd\xdd\xa8\xa2\xe8\x1e\xdb\x92\xab\x59\x97\xd3\x45\xa5\x4b\xdd\x98\x21\xf1\x2c\x3f\x53\xfb\xbe\x36\x92\x86\x2e\x93\xfe\xfe\xb2\x31\xf5\x7d\x4c\x57\x76\x49\xab\xbb\x84\x90\xfe\x00\x2d\x31\x5e\xa4\xf4\x5e\xfd\x59\x47\x99\xb0\x90\x41\x2c\x7d\x28\xdf\x42\x86\xa8\xc0\x6c\xbf\xbd\x61\x1f\x7f\xe3\x6d\x13\x51\x42\x56\x9c\xa3\x09\x96\x02\x55\x66\x79\x39\x7f\x6e\xb1\x5a\xa9\x12\x7c\x99\x49\xfc\x1c\xdc\xf3\x71\x67\xfc\x8c\x3f\x38\x68\x3d\x7e\x26\x8e\xc4\xa7\x9f\x46\x1f\xed\xce\x75\x7e\xad\x1f\x27\x58\x81\x07\xf2\x8c\x52\x0d\x47\xf6\xaf\x7e\xcb\xb4\x30\xd8\x1d\x52\xcd\xed\x14\x0f\x84\x2a\xa2\xf0\xa3\x24\xb0\x1a\x0c\x27\x83\xc8\x35\x02\x29\x84\xdf\x30\x5b\xa5\xc5\x24\xfa\x3d\xd8\xc8\x8c\x4b\x38\x66\x30\x57\xf5\xcb\x5a\x2d\x4d\xdf\xce\x9c\x15\xa0\xcb\xed\xc5\x38\x79\x18\xc7\x78\x85\x71\x97\x67\x7c\x5c\xe7\x37\x76\x01\x59\x2d\x8f\x48\x3c\x98\x4f\xfb\x01\x75\x0d\x6e\x32\x07\x82\x88\x73\x95\xaf\xd4\xda\x19\xf4\xf9\x04\x06\x09\xb0\x52\xd9\x9b\x75\x39\x15\x67\xa2\x1f\x05\x6c\x70\x8b\xc3\xa7\x9f\x6e\x08\xde\x13\x22\x95\x62\xae\x51\x35\xbd\x7b\xb6\xf1\x09\xd1\x25\xf7\xf0\x45\x87\x18\xe2\xcb\x48\x84\x19\x0c\x42\xd0\x5a\x87\x05\xaa\xe3\x09\x28\x45\x19\x04\x48\x47\xbd\xee\x73\xe3\xa0\xe6\x84\xa2\x1f\x3c\x88\x72\x8f\x61\xd5\xd7\xe5\xf4\xb9\xc3\x08\x29\xe3\xc9\x2e\x19\xf0\xb4\x64\xf7\x5f\x16\xa1\xf7\x31\xdb\x26\xaa\xab\x17\x01\x90\x48\x18\xd3\x38\xcf\xfb\x03\xe3\x8c\x90\x9d\x16\x8d\xdc\x78\x55\xc8\x08\x29\x22\x9b\x82\xd3\x27\xad\xb2\x68\xbf\x0c\x32\xb3\xd0\x6e\x41\x62\x5b\xc7\x90\x9d\xb5\x7b\xdf\x6e\xd4\x48\x5d\x8d\x0d\xe7\xa6\x46\xba\x04\x93\x0a\xaf\xc0\x40\xbb\xd9\x69\x36\x6d\x3d\x95\x2a\x47\xdc\x54\x79\x5d\x43\xf0\x02\x9d\x7c\x6e\x6f\xb6\xa7\x46\x0a\xc9\xfb\x89\xd6\x85\x92\xe5\x7b\xe4\x3a\xef\x21\x56\xe6\x7d\xd9\x14\xc5\x07\xda\x56\x6f\x5b\x8a\x01\x16\x13\x72\x94\x10\x7f\xcd\xb9\xab\x21\xcc\xeb\x80\x56\x8a\xb2\x4b\xd0\xf9\x09\x11\x11\x50\x35\xe2\x5a\x16\xb9\x67\xf2\xa9\x92\xf0\xcb\x0d\x09\xab\xfa\x5d\x50\x7b\x7d\x50\xd8\x96\xb3\xa6\xc3\x96\xb1\xd1\xcc\xe0\xc6\xdb\x6d\x6d\xd8\x60\x66\x70\x03\xfc\x0a\x6b\x03\x17\xe9\x2d\x75\x07\x88\x56\x38\x2e\x92\x34\x4d\x16\xc3\x5f\x91\x94\xed\x86\x77\xd5\xf4\x9c\x71\x6d\x03\x1f\x71\xda\x39\xc2\x45\x61\xd3\x88\x2e\xaa\x4b\xd2\x67\x2f\x6b\x17\xc6\xdc\xf5\x16\x11\x38\xa4\x15\x50\xb7\xa9\xeb\xed\x17\xb9\x53\x2d\xfa\x42\xf6\xda\x48\x54\x8d\x80\xba\x98\x85\x2f\x0c\xb9\x4a\x43\x6d\x7d\x3d\x1e\x4f\x4e\x96\x11\x6d\x48\x0b\xf3\xfe\x96\xf3\xd2\xe9\xc9\x33\xf1\xf0\xc0\xc5\xdc\x60\x52\x83\xab\xe8\x53\x2f\x2a\xe5\xe3\x71\xbc\xa1\x0a\x9e\x4a\xa2\x97\x2c\x99\x5d\x40\xcc\x90\x5b\x56\xfa\x96\x4b\x46\x3e\xc8\xa1\xdc\x38\xfb\xd9\x42\x36\x93\x55\x9a\x31\x04\x9f\x95\x64\x0d\xb1\x10\x30\x07\xd1\x95\xf5\xed\xd4\xf5\x68\x7c\x3f\xe6\x45\x7e\x79\x71\x74\xe9\x79\x30\xfc\x3d\x4e\xfe\x3e\xbe\x6c\x67\xd4\x3a\x2e\x5f\x62\x7e\x9d\xca\x7c\x8e\x48\x2a\x2a\x07\xb5\x3d\xbd\x01\x36\xed\x2c\x9f\xc1\xdf\x35\xea\xfe\x3f\x36\xa6\x06\x2e\x0a\x51\xb5\x6c\x19\x59\x58\x17\x6a\x79\x54\xcc\x46\x41\x75\x26\x18\x1a\x2b\x7e\xfb\x08\x62\xc8\x00\x6b\x8b\xec\xee\x08\x58\x2a\x59\x46\x05\xab\x88\x85\x71\x8f\x33\xb3\xcf\xb7\x3e\x0b\xd9\xcd\x5c\xd5\x58\x27\x0b\x58\xab\x74\x26\x54\x67\x53\xe8\x55\x0a\xf4\x92\x8a\x2a\xff\xe9\x0a\xce\x0c\xb2\x55\xc8\x52\xf8\xe8\xcc\xb6\x8a\x11\x57\xaf\x4f\xce\x39\x8b\xed\xd7\x58\xa7\xde\x17\xa6\xe7\x99\x3a\x53\x3a\xe4\xfd\xd7\x5a\xbc\x86\x32\x43\x54\xa2\x3e\x6f\xdb\x96\x39\x96\x54\x78\x0d\x1d\x98\x53\x70\x49\xb7\xa9\x1c\x63\xdc\x3a\x8f\x4a\xef\xab\xad\x35\x65\x13\x25\x14\xe3\x46\xa3\x45\xcc\xe8\x2c\x80\xda\x0f\x46\xe3\xf3\x79\x69\x31\x7d\x28\xb3\xec\x10\x6d\x1a\xa1\x2e\x19\x2e\x14\xd6\x03\x5b\x73\x7e\x9f\xa2\x02\x62\xf3\x56\x58\xb7\x8f\x52\x58\xdb\xe6\x5b\xe6\x1d\x5c\x8b\xf3\xa4\x70\x92\x93\x1a\xd2\x32\x80\xde\xd3\x4c\xa4\xe7\x92\x02\x8c\x8a\xd7\x41\x89\x19\x8d\xec\xc7\x4d\x4f\xbc\x3b\xa1\x3e\xb3\xdd\x13\xdb\xa2\x28\xe8\xb8\x73\x4b\x99\x79\x1a\xb0\xdc\x1c\xde\xdb\x5e\xa7\x8f\x3a\xe5\x98\x7a\x16\x9f\x71\x8e\x2a\x86\x11\xba\xe8\x80\x3b\x3c\xec\x12\x01\xc1\xeb\xae\x8b\xac\x8b\x00\xd8\xca\xdf\xd9\xc4\xaf\xc2\x2b\x2f\x2e\x37\x25\xf2\x38\x13\x76\xe9\xe5\xe4\x96\xc7\x7b\xe8\xe7\x8e\xb6\xcd\x2e\x8f\xf0\x85\x03\xb9\x84\x58\xee\xf0\x81\x9f\x75\xf8\x42\x23\xe0\xc4\x2b\xea\xbd\x3b\x96\xf0\x88\xb9\xec\xf6\xe2\x7c\xe9\x69\x11\x1d\xd9\xe2\x9c\xf9\x86\x3c\x15\x62\x8c\x32\x2c\xb9\xba\x56\xd5\x3a\x39\x71\x50\xe0\x91\xc6\x40\xb9\x22\x67\x73\x60\xf6\x34\x5d\xc6\x22\x9f\xeb\x5e\xb1\x94\x2b\x71\x2e\xc8\xe5\xcd\x9d\xb3\x18\x4d\x37\x65\x65\xc2\xe2\x17\xb8\x97\x26\xef\x91\xe5\x56\x37\x63\xa7\xff\x26\x3a\xfc\x10\x09\x43\x3b\xa5\x60\x6a\x23\xcc\x7c\xfa\xa9\x20\x9b\x3c\x5d\xb8\x7b\x26\x7a\xee\xc9\xde\x06\x0b\xdc\xcb\x12\x58\x35\x1e\xdd\xcf\xe8\x49\xd3\x0b\x8a\x3a\x5e\x61\x3e\x91\x34\xa0\x00\xfd\x46\x04\x16\x62\xe1\xed\x0c\xd3\xb8\x49\x7f\x58\x3b\xcd\xd6\x7f\x86\x0b\xa0\x8f\x54\xde\xc8\xf2\x30\xf0\x59\xb6\xc9\x17\xb8\xac\x80\xb0\x3c\xac\x92\xd7\x67\x77\xee\x6c\xd3\x50\xb9\x58\xb6\x94\x2b\xbc\xda\x71\xbc\xe7\x66\x25\x9d\x9b\x07\x09\x55\x04\x0f\xac\xb3\x8a\xa5\xd3\x30\x2c\xc0\x8a\xe2\x98\xa8\xc8\x4a\x6c\xbe\x85\x9a\x52\xdc\x60\xe4\x6c\x4d\x06\xb2\xf6\x29\x63\x1f\x8c\xf3\x10\xe8\xbb\x5a\x15\xf9\x14\x4d\x8e\x90\x34\x69\x81\xac\x3e\x8c\x22\x62\x63\x54\xd5\x35\x09\x38\xf7\x78\x67\x04\xf2\x16\xf8\x23\x3e\xeb\x94\x0f\xc0\x79\x00\xb2\x08\x84\x8c\xdf\x81\x4a\x8d\x85\x65\xcf\xc8\x76\x87\xb8\xe9\x30\x22\x1b\x55\x1a\x73\x93\xd7\xd3\x85\x3b\xd4\x99\x48\x43\x36\x96\xbd\x36\x00\x86\xb2\x9d\x17\x45\xdb\xba\xdc\xa2\xa2\x36\xb1\x70\x61\x0f\x47\x22\xde\xd7\xf7\xd1\x8f\xd1\x02\xbf\xd6\xee\xb8\xdc\xb0\xbc\x94\x2d\xf1\xab\x35\x6e\x52\x4c\x11\xe1\x1f\x83\x09\x9a\x7f\x77\x07\x9c\x8f\xd1\xa2\xee\x92\x1a\xd5\xcd\x0e\x76\x6f\x26\xa8\x61\x13\x1b\x76\x48\xc7\x99\x2b\x97\x40\xd9\x25\x94\x77\xf3\x8e\xee\x3c\x8d\x14\xec\x22\xbf\x24\x9d\x2b\x32\x42\x6d\x7c\x17\x4d\x28\x78\x6f\x3b\x14\x81\x14\xc6\xbe\x83\x8f\x3e\x24\xdd\x95\x22\xc3\x12\x82\xf1\x0d\x96\xbc\x74\xd1\x21\xeb\x39\x09\x04\x69\x07\xa1\xec\x01\xc9\x33\x45\x7c\x50\xe0\x22\x2f\x93\xc4\x70\xe8\xd7\x23\xad\x34\x43\x06\x18\xac\xaa\x41\xd1\x02\xb2\xa9\xf5\x81\x13\xb9\x40\xb6\x49\x45\x1f\xbb\xdf\xed\x3b\xd1\x7d\x54\xd1\x04\x9c\xcc\x85\x45\x69\x2b\xa3\x60\x87\xc7\xb1\x7d\x56\x94\x6a\xa0\x6c\xd4\x4e\x81\x1b\xea\x9d\xf8\x2f\x03\xce\x86\xa8\x71\xa2\x97\x57\x40\x2c\x13\xd9\x18\x26\x09\x5f\xff\x75\x84\x0b\x50\x38\xb0\xa7\x12\x69\x9d\x4e\x30\xda\x38\x4a\x9e\x85\x31\x72\xc0\x94\xbe\x56\x55\x95\x67\x38\x1d\x8f\x2d\x1a\x63\xf7\xde\xc3\x6f\x41\x55\x8d\x97\x20\xf1\xe2\x97\x9b\xfb\x66\x21\x6c\xc7\xff\x70\xda\x2c\x5c\x21\x33\x3c\x5e\xdb\xcb\x67\x9f\xf9\xfb\x9f\x71\x63\x43\xee\xed\x21\x79\xe6\xea\xb8\x65\x21\xb8\xdb\x0a\x91\x2e\xda\xc1\x82\xde\x0d\x05\x4b\x3a\x36\xff\x17\x0d\x9e\x2c\x84\x69\xdc\xf9\x7e\xa5\x43\xfe\x41\x36\x68\x67\x03\x1e\x1e\x8a\x6f\xf2\xe9\x95\xaf\x2b\x35\x74\xe4\x78\x72\x90\xe5\xf3\xbc\x16\x0b\x75\xcb\xeb\x14\x73\xe9\x9c\xe2\xff\xd0\x33\x4f\x35\xaf\xef\xe6\x99\x78\xff\x5e\x74\x7f\x40\xc8\xb4\xce\x42\x5b\x22\x57\xf2\xa9\x3f\x1e\x8a\xa3\xdb\xd9\x6c\x36\x1b\x8c\x6a\x4d\x65\xd8\xc7\xa7\xde\x1c\xcc\x9e\xf9\xeb\x4a\x66\xfd\x3c\x1b\x8a\x93\x70\x97\x10\x6b\x17\x35\x58\x7f\x3d\x72\x81\x32\x2d\x26\x10\x11\x1d\x19\xff\x80\xba\x10\xc7\xba\x5d\xa4\x26\x29\x3c\xc7\xda\x01\xfc\x51\x1f\x54\x1a\x1c\x25\x2d\x90\x4a\x19\x55\x9f\x17\x05\x8f\x45\xed\x14\xc6\x2f\xf2\xcc\x4b\xef\xf4\x30\x52\x51\x46\x51\x3f\x34\x01\x34\xad\x33\xb2\xb3\x53\x33\x51\x4d\xda\x78\x8c\x48\xbc\x07\x45\x54\xb6\x4d\x03\x9e\x05\x38\x66\x82\xa0\xa6\x03\xd6\x4b\x1d\x96\x03\x41\x15\x52\x03\x71\xe3\x7c\x34\xd0\x9c\x33\xf4\xc6\xec\xc5\x9e\xf8\x49\xcc\x58\x55\x92\x1b\x8c\x77\x42\x41\x46\x54\xac\x3b\x59\x4d\x9e\x31\xb6\xf7\xf2\x8b\x7d\x3d\x82\x76\xbc\x2d\xac\x84\x73\x01\xfb\xbd\x9c\x0f\xc0\x63\x31\xac\x5d\x2f\x00\x4b\xc9\x60\x2f\x2e\x22\xce\xd2\xad\x15\x62\xa0\xa2\x3d\x66\xa1\xe2\xd8\x27\x7f\x4a\x77\x11\x0a\x6d\x84\x4c\x41\xdd\x95\xed\x14\xd9\xdd\xfd\x60\xd3\x61\x1a\xce\x11\x26\x8f\x21\x1f\x67\xe9\x8e\x6c\x7d\x75\xe5\x0f\x0c\x57\x6d\x0a\x65\x9b\xda\xbb\x3c\xaa\x50\xec\xd5\xe7\x47\xdd\x61\x55\x52\xc9\xe1\x50\x11\xab\x94\xa5\x50\xb7\x53\xb5\x42\x4f\xf6\x4c\x94\x3a\x81\x04\xdb\x11\x46\xbc\xff\x82\x83\x13\x6a\xab\xe6\xe5\xbe\x24\xe7\x61\xee\xc7\x49\xeb\x91\x54\x11\xcf\xaf\x95\xc0\x1e\xd9\x45\x08\x49\x98\xbe\xbe\x17\x4d\x3b\xca\xdc\x44\xd0\x1d\xb9\xe9\xa8\xe6\x79\x2c\x74\x78\x37\x07\x3b\x44\xd3\x80\xb4\xf8\x80\x62\xe2\xa9\x1b\x2c\xe2\xbf\x29\x09\x7a\x81\xb8\x9f\x67\x58\x58\x8e\x80\x06\x5c\x25\xdd\x9d\x46\xbe\x4b\x2f\xbd\x97\x9e\xa2\xf7\xf8\xf1\xea\x0e\x53\xcf\x60\x93\x44\xf4\x0f\x29\xef\xb5\x33\x6c\xed\x9e\xe7\x51\x56\x9a\xd3\xb8\xa6\xca\x57\x49\xac\x6f\x34\xcc\xc1\xa4\x06\x26\xac\xed\x00\x9b\x89\x55\x3a\xe2\x40\x28\x02\xb7\x6c\x74\xb8\x5d\xa3\x0a\xba\x50\x15\x0b\x84\xd4\x7b\x43\x71\x0f\x19\x9e\xfd\xd5\x32\xf3\x7b\x53\xbd\x5c\xea\xf2\x9e\xdd\x20\x2b\x55\xd5\xb9\xf2\xae\x07\xba\xb2\xa6\x6a\x72\x52\xf0\x14\x83\x03\x94\xe3\xfe\xa7\xae\x1a\xf5\x3f\x71\xfe\xef\x10\x99\x40\x54\x89\x58\x8a\x33\x71\xd1\xc3\x27\x6f\x7b\x43\x41\xbf\xae\x7b\x97\x04\x30\x61\x00\x78\x95\x6e\x58\xa4\x79\x4b\x99\xe9\xcb\xa1\x98\x0c\xc4\xd9\xe7\x3e\xf9\xf7\x67\x14\xbf\x9f\x89\x9f\x85\x1f\xff\x19\xc4\x25\x89\x0f\x43\x3a\x2d\xec\xdd\x0f\x43\x81\x9f\xca\x20\xd7\x1e\xd2\xca\x0a\x21\x6b\xd8\x0e\x48\x16\xdc\x8c\x21\x46\x48\x63\x1a\x57\xe3\xf0\x7f\xe4\xff\xd8\x9d\xc9\x53\x06\xb8\x0e\x11\xf9\x7c\x2e\x90\x5d\x5c\x7e\x10\x12\x7b\x04\x69\x53\x83\x39\x95\x1e\x6a\x2d\xfe\xa6\xc7\x27\xe2\xbc\xa4\x72\x7f\x1b\x9e\x6b\xf5\x79\x2d\x79\x08\x66\xfc\x69\x87\x88\x10\xbe\xf4\x5b\xd8\x4b\xbc\x10\x9c\xb5\xe0\x9a\xfc\x1c\x35\xe1\x82\xad\xe3\x56\xe6\xc3\xf0\x4e\x38\xba\xd9\x05\xbf\x20\xf0\xf7\x87\x8d\x7a\xa3\xec\x52\x14\x2d\x17\x98\xf8\x93\x52\x5e\xe4\x97\x2d\x31\xb4\xba\x1e\xe1\x2b\x2e\xec\xed\x4b\x16\xaf\xd6\xaa\x1e\x55\x5d\x8f\x60\xb6\x5d\x90\x6e\xbb\x77\x4d\x6d\xb2\x69\x6a\xfd\xc9\x45\x7e\x69\xf9\x97\x1b\x79\x60\xe5\x66\x7e\x15\xa7\xe6\x0d\x68\x56\xee\xc9\x4b\x1f\x89\x51\x5d\x93\x68\x92\x5d\x4c\x92\x29\x75\xb5\x08\x73\x81\x91\x14\xc3\x95\xff\x55\xb1\x7e\x89\x1b\xce\x6e\xc3\x5c\x01\x3e\x49\x85\x88\xd9\x0e\x06\x8f\x07\xb1\x0e\xa5\x9a\x56\x9f\x17\x1c\xa3\xce\xb1\xd1\xd0\x5a\x2c\x73\x03\x4d\x7c\x43\xec\x59\x99\x61\xfc\x98\xdb\x27\xad\x38\x32\x3b\x20\xd8\xb2\x5c\x60\x02\x44\x0c\x60\xf4\x21\x0b\x62\x83\x7d\x07\xc5\xd8\xa0\xa9\x4b\xe8\xb3\x17\xfb\x63\xb1\xab\xc4\x44\x91\xb4\xf3\x4b\x8e\x7c\x13\xd0\xd8\x1d\x72\xf0\x8b\x62\xd7\xec\xa8\x77\x3a\x0a\xda\xed\x75\xa6\x47\x91\x35\x5b\x7c\x1d\x69\x28\xdb\xb6\x58\xb6\x76\x28\x1b\x99\x3a\x7f\xfb\x48\x36\xca\x53\x6f\x71\x2d\x72\x16\x28\x71\x1f\xdd\xd9\xf7\x31\xeb\x51\xf2\x48\xe8\x51\x6c\xde\x7a\xb9\x51\x88\x0e\xef\xa1\x82\x34\x9e\x04\x6b\x57\x28\x3e\xc4\xd5\x5a\x84\x12\xa1\xb9\x77\x99\x1a\x09\x1a\x06\xc7\xc1\x60\xc2\xf4\xb8\x2a\x33\x96\xdd\x99\xe5\x66\x2a\x2b\x14\x29\x61\x7a\xba\xc8\x70\x6a\xad\x50\xbd\x4e\x39\x27\x69\x5b\xb8\x0f\xd3\xed\x07\x0c\x0c\xe9\x75\x9b\x8d\x6d\x01\x76\x53\x2f\x43\xd0\x9e\x03\xd8\x45\x7e\xc9\x6b\x02\xe0\x0c\x5e\x42\x31\xac\x33\x7a\x5b\xaa\x98\x50\x5e\x3d\x07\x0d\x99\x1a\xc2\x3d\x44\x7a\x0a\x07\x43\x95\x25\x38\x18\xb6\x6b\x24\x71\x98\xe0\xaf\xd0\xe4\xfd\xfb\xf8\x18\x51\x1b\xd6\xa4\xb0\x11\x64\x31\x83\x78\x4e\xd9\xd6\x3b\x0d\x30\x6c\x24\x62\xe7\xf8\xb7\x8f\x71\xdb\xc3\x9a\x20\xc4\x47\x5b\x0d\xf0\xa1\x8d\x01\x7a\x89\x7d\xc2\xfb\x34\xfa\xf1\xbe\x4f\x4b\x25\x76\xd1\x15\x2d\x6a\x07\x4d\xed\xd6\x2e\xf1\x59\x7b\x9c\x45\xe1\x39\x77\x53\x06\xd3\xc9\x5b\x36\x87\xfa\x45\xfa\xaa\x81\x82\x68\xb1\x4f\x37\x87\xbc\x7d\x54\x13\xc0\x37\xd3\x3e\xc6\x32\xee\x4b\x6a\x05\xf6\xe5\x2d\x87\x01\x6a\x6e\xd8\x11\x82\x2a\xe3\x77\x7b\x4a\x5b\x1e\x88\x78\x6a\x60\x25\xd8\xd7\x54\x61\xe2\x2c\xa4\xff\x1d\x4f\x43\x47\xee\xc6\xcb\x5a\x2d\xfb\x71\x84\x71\x80\x0f\x31\x62\x71\xe4\xe9\xdd\xad\x79\x52\x5d\x4f\x6c\x4a\xbd\xfc\x08\x8f\x12\xd1\x47\x94\xd3\x6f\x84\x4b\x69\xac\x17\x2a\xaf\xda\x94\xb2\xe7\xd2\x74\x7a\xc5\x90\x63\xa1\x23\x2f\x54\x60\x75\xfb\x6a\xab\xc2\xcd\x58\xf5\xfe\xaa\x33\xdf\xb4\x89\xfe\x1c\xca\xb7\x71\x85\x35\xb2\x53\x75\xef\xfe\x9d\x0e\x3d\x1f\x39\xbe\x2b\xda\x78\xfb\x9a\xef\x1d\xb2\xbc\x89\x0c\x84\x77\xe1\x81\xf9\x94\x95\x54\xf9\xf0\xcb\x42\xea\xe3\x58\xfa\x8e\x24\x3c\x16\x51\x9f\xd6\xf4\xdc\xba\x5b\x30\x1e\x1e\x41\xdc\x9c\x67\xba\xb2\x8a\x77\xbf\x4d\xcc\x1b\xc3\x98\x5d\x5b\x24\xab\xc4\x5a\x1e\x75\xa3\x5d\x01\xb2\x20\xa8\xd8\x33\x2d\xc7\x50\x96\x52\xd7\x07\xea\xa7\x46\x16\xcc\x3c\x37\xd1\xf5\x82\x57\x2d\xf3\x45\xc0\xcc\x54\x16\xb2\x82\xd8\x05\xb4\xfb\xea\xe5\xca\x02\xc0\x00\xb1\xf1\xc1\x0e\xe5\x1a\x99\x40\x8e\x97\xe8\x97\x9a\xd9\x3b\x06\x43\x2c\x4a\x72\x93\x1b\xdf\x04\xce\xce\x39\x62\xc3\xae\xc0\x99\x15\xe8\x0b\xe8\x13\x8a\x45\xa7\x6f\x42\x7e\xe2\x74\xa1\xa6\x57\xf6\x43\x23\x06\x0f\x79\x20\xc1\x75\x2b\xbe\x65\x9d\x12\xa1\x0b\xa4\xeb\xa1\x06\x43\xd0\x57\xa0\xf4\x7d\xeb\xbe\xfc\x46\x61\x50\x9f\x43\x16\xe4\xa0\xdf\xc1\x26\xdb\xd4\xdc\x67\xc2\xc2\x00\x53\x26\x7f\xdf\xaa\xf6\xe7\xc1\x9c\x47\x6f\x49\xed\x81\x93\x0d\x30\x7b\xc4\x3a\xe5\xb3\x59\xb7\xce\x7d\x78\xe8\x8c\xac\x16\x30\x09\x57\x1c\x0a\xd7\x42\xce\xae\xa2\x2b\xee\x2f\x0c\x76\xfe\x5c\x55\xf9\x32\x07\x1d\x0b\x03\x6d\x50\x71\x25\xd3\x9a\x1c\xc0\x6e\x75\x7f\x4e\xac\xfe\x4a\x1b\xe0\x6e\xff\xf0\x2f\x7d\x6f\x6a\xf3\xc1\xe2\x14\x3b\x8e\x07\x5e\x9a\xd3\x2a\x07\x83\xa4\x5b\x4a\x97\x3a\x2b\xe1\x9d\x93\xd8\x88\x86\x47\x71\x3b\x15\x35\x09\x9d\xec\x20\x26\xdf\x39\xc7\x34\x13\x68\x8c\x61\x15\xd3\x8e\xfc\x28\xee\xf9\xf5\x2a\x51\xa6\x95\x6b\x86\x50\xab\x6a\x9f\xe2\x10\xae\x3d\x10\xe6\xf7\x01\x5d\x82\x34\x51\x64\x49\x18\xbb\x10\xdf\xa3\x52\x28\x6b\x57\xc7\x71\xd8\x19\xe5\x80\xf6\x3b\x8c\xe7\x73\xe9\x9e\x1f\x17\xe2\xe0\x3d\xd7\xb0\x7d\x5a\x0d\x60\xee\x7f\xb0\x87\xff\x7f\xf9\x98\x7e\x2b\x09\xc4\x58\x76\x1e\xc1\x8f\x0d\x16\x8e\x62\xc0\xdb\x25\x1a\xdc\x5b\xff\xfe\xf2\x4b\x50\x38\xec\x36\x71\xa2\x09\x4f\x15\x66\xb3\x63\x75\xd6\xbe\x88\xd0\xb2\x90\xd0\x27\x25\xf0\x9d\xa8\x4e\xf4\x87\x5f\x2e\xf8\xb8\x5e\x92\x50\xc3\x05\x4b\x43\xfa\xb0\x36\x8a\xec\x46\x4e\xd5\xde\x16\x54\x5c\xc9\x32\x00\xda\xd0\x5e\x8e\x4a\xca\x5c\xb8\xef\xfb\xac\x6b\xde\xbb\x1e\xb9\xb3\x4d\xde\xda\x73\xe3\x76\xc5\xd2\xa7\x84\xdd\x19\xed\x07\xc4\x7d\xf0\xb9\x60\x55\xa5\x08\x3f\x6b\x5f\xa3\x38\xd0\x70\x94\x96\xb1\x67\x58\x69\x44\xb8\x71\xbd\x69\x17\x16\x97\xe6\x9f\xb1\x78\xb9\x8e\xfc\x07\x08\xca\x5f\xca\x15\xe4\xa0\xb5\x45\xd2\x37\x1d\x0a\x4b\xba\xe6\xff\x0b\xfa\x8a\xfd\xb4\xb6\xba\x62\x92\x42\xcf\xf7\x79\x42\x90\x3f\xda\x2c\xd4\x5e\x59\x3f\x6e\x7d\x92\xe4\x9f\xb4\x65\xfe\x56\xc3\x58\x5b\x27\xfa\xdf\xe4\x2e\x64\x09\xda\x18\x83\x95\x70\x1f\x07\xca\x59\x4e\x1a\x9e\xe9\xa5\xeb\x8f\xe0\x57\xdd\xea\x53\xbc\xed\x23\xd1\xd4\x60\x9e\x66\x87\x16\xc7\x46\xdf\x90\xbd\xf3\x51\x5a\xda\xbe\x9a\x63\x30\x1c\x7e\xaf\x7c\x1e\xf2\x52\x96\x40\xbf\xc2\xa8\x32\xf3\x11\x52\x78\x32\x52\xec\xa5\x8b\xf1\xf7\xd1\x0d\x50\xf5\xec\x46\x05\xe3\xa0\x4b\x9b\x56\xd7\x50\xe3\x16\xc2\x80\x67\x39\xb6\xe0\xe5\x23\xb9\x0e\x9e\x37\xaa\x77\xad\x7c\x4b\x24\xe2\xf8\x38\x1c\x13\x0a\x68\x25\x8c\xb6\x47\x3f\x0e\x6a\x94\x62\x81\x96\x61\x2a\x22\x53\x85\x5c\x43\x36\x05\x96\xc3\xc0\xc1\x22\x2c\x36\x65\x9d\xbb\xf6\x96\x6c\xba\x43\x62\x15\x68\x51\x67\x6d\x85\x29\x5e\x55\x42\xe6\x06\x7d\x2c\xf6\xdf\x64\xde\x74\x57\x0a\x21\x94\xdc\x70\x05\xb7\xde\xa6\x68\x04\x0c\xb2\x16\xdc\x46\x53\xff\x2c\x43\x81\xd3\x72\x3a\x85\xb8\x21\x58\x8e\x4c\xad\x60\x41\x4a\x1c\x4d\x0a\x96\x4c\x1e\x8d\x6b\xdf\xc9\x0c\x39\xdb\x54\x1d\x6a\xab\x33\x14\x47\xf1\xb1\xf2\x67\x55\xc7\x75\x5d\xf6\xc9\xb8\xec\xe6\x66\xf3\x7d\x4d\x2f\xf3\x7f\x04\xc3\x8b\x73\xf9\x44\x2c\xa5\x23\x56\xa3\x28\x44\xa9\xcb\x03\x77\xe6\x46\xb9\x4c\x26\xa9\x72\x1d\xc9\xcc\x18\xd6\x87\xa1\x3d\xa5\x32\xb5\xda\x54\x4c\xc0\x57\x12\xd8\x8d\x39\x75\xbb\xd2\x55\x7d\x6e\xfe\xc3\xe8\xb2\xdb\x3a\x82\x0e\xc3\x0f\xdd\x91\xe8\x5b\x4d\x0e\x9b\x12\xb1\xb9\x07\xd0\x65\x11\x52\x3f\x9c\xc8\xa0\x92\x78\x12\xa2\x7a\xf5\x9d\x26\x75\x7a\xa8\xcb\xf8\x19\x1b\xd5\x09\x10\x4c\xea\xee\xae\x9b\x0b\xda\x26\x7e\xce\xb3\x67\x10\x8a\xf1\xa3\xd1\xe5\xb3\x24\xa2\xa8\x74\xd1\x44\x11\xfa\xfa\x83\x0f\x83\xc4\x9c\x9c\x78\x31\xf7\xa5\x46\x87\xc0\x6e\xe9\xb4\x4b\x38\x6d\x7d\x45\x38\xdb\xe2\x1a\x3a\x91\xb1\xa5\xdb\x49\xf9\x72\x69\xbf\xc9\x11\xe2\xa4\xd0\x93\x38\x8d\xc3\xf0\x92\x2d\x21\x38\x14\x5c\x94\x1c\x1f\x6d\xa1\x88\x62\x5c\x7f\x2b\xda\xcd\x61\xa2\x5f\x56\x7a\x99\x52\xaf\x5d\xb4\x0d\x51\xef\xe1\xd6\xbe\x44\x9a\x1a\xf8\xec\x08\xf1\x5a\x6d\x24\x46\xfb\xc4\x7e\xd4\x88\xe6\xbe\xcb\x11\x05\xaa\x26\x6f\xb6\x58\xe8\x72\xa9\x90\x85\xb1\x0c\xb1\x61\xee\xd1\xe0\x46\x61\xcf\x0e\x58\xb8\xed\xc6\x71\x43\xec\xae\x13\xd6\xa0\xf9\x78\x88\xb8\xe9\x7a\x3a\x59\x8b\x7e\xf4\x4d\x80\xf2\xed\x3b\xc3\x47\xc6\xe1\x2b\x03\x8a\x37\x35\x58\x7b\xce\x9a\x91\xe9\xb2\x2b\x50\xb1\x5d\xb9\x77\x4f\x05\xa3\x9d\xfa\xd5\x15\xa8\xc5\xab\xa9\x46\x55\x15\x98\xc3\x73\xc3\x7c\xa5\xd3\x4b\xb8\xf8\xf0\x91\x53\x8c\xab\xb1\x7e\xac\x16\x14\x19\x84\xf3\xdb\xb8\x07\xd3\x95\x5a\x8f\x0a\x69\xea\x97\xe4\x4c\x64\x80\xf6\xb0\xb7\x1c\xe8\x68\xb0\xc1\x91\xf6\x21\x78\x28\xdb\xf5\x3b\xda\x15\x43\x22\x27\xe3\xb6\x2c\x26\x5e\x10\x0d\x3a\xa5\xe7\x4b\xb0\x0a\xf6\x8a\xa2\xab\xd6\x16\x06\x82\x82\x5e\x23\x21\x79\xd6\x05\x25\x90\x4d\x6c\xd4\x0a\xea\x48\x26\xbf\x9b\x4b\x87\xef\x74\xf6\x99\x33\xaf\x44\x8e\x62\x41\x7e\x73\xee\x47\x9b\x37\x43\x2f\xe3\xb4\x5c\x1d\x41\x77\xb2\xfc\x64\xe0\xfe\xb5\xce\x33\x10\xc9\xe2\x85\x06\xdd\x24\x49\xd4\x48\x95\x92\x28\x74\x2f\x7c\x56\x14\xb7\x27\xde\xbf\xe7\xb7\xce\x80\x3b\x70\xb6\xd6\xad\x72\x74\x7d\x81\xe7\x08\x31\x2b\xd8\x4f\x39\x62\x1e\xdb\x6d\xce\x25\xc6\x39\xb6\x97\x54\xaf\x14\xd6\x3a\xff\x17\x29\xa4\xfe\x86\x57\xba\x92\xa5\x7d\x95\xfb\xc2\xa4\x6e\xba\xdd\x1f\x8d\x41\xad\xcd\x8a\xa5\xff\x21\xaf\xe5\x9b\x69\x95\xaf\xa0\xce\x6d\x39\x67\xdb\x68\xaa\x8b\x42\x4d\xed\xd1\x9d\x35\x98\x5a\x2f\x26\x0d\x45\xc2\x9a\x5a\xad\xc8\x0d\xe1\x7a\x66\xe4\x25\x5a\x4a\x54\x95\x63\x32\x73\xcf\xb2\x35\x8f\x68\x99\x65\xfd\xd1\x68\x34\xc0\x2e\xfd\x26\x34\x53\x85\xde\x17\xff\xd7\xc1\xdd\xa3\x4a\xb3\xf9\x35\xe6\xc2\xb8\x75\x9b\xe4\xe5\x21\x36\x57\x1c\x99\x05\xab\x6a\x55\xea\x32\x9f\xca\x42\x34\x46\x61\x4e\xbe\x69\x59\x9e\x29\xcf\xd3\x97\xc8\x8e\x2b\x80\x91\xa2\xbb\xd6\x4d\xe5\x71\x46\xed\x36\xec\xf7\xd8\xfd\x05\x03\xeb\xa2\x80\x1e\xed\x8c\x65\x7b\xf0\x33\x6a\x78\x46\x18\x7f\xf7\x4c\xfc\xfc\x21\xed\x5a\x2b\xfd\xfd\xad\x16\xe3\x24\x35\xdf\x3f\x23\x78\x89\x35\x57\x1a\x1d\xda\xda\x52\x2c\x3e\xcc\x94\x4d\x13\x05\x34\x3f\x27\xd7\x4b\xd0\x2c\x24\x66\x51\x43\x7f\xe5\xce\x28\x6a\x70\x4e\x9c\x8b\x25\xb8\x68\xec\xef\xe9\x64\xc0\x8d\x71\xaf\x92\x37\xf7\x30\xbe\x9b\xec\x7a\x94\x72\x39\x29\x5a\x36\xed\x4c\xd6\x92\x99\xa4\xe8\xf0\xe6\xf8\x88\x11\x6a\x89\xa5\x6d\x45\xb2\x73\x19\xc2\x58\xc8\x80\xa2\x27\x02\xf2\xbd\x40\x4c\x16\xc0\xf5\x4a\x3d\xc3\x67\xe1\x6f\x7b\xf7\x19\x5a\x52\x30\x4c\x42\xd6\xf2\x19\xfc\xc4\xa0\xc7\x58\x83\xab\x72\x05\xf1\x4f\x7e\xa9\x89\x59\x45\x3d\xa0\xe8\x16\x7c\x65\xee\x53\x2f\xa8\x83\xcf\x3d\x7b\xf9\x5e\x08\xdf\xf5\x1f\x6f\x65\x71\x0b\x16\x69\x7e\x7b\x79\x11\xfc\x1b\x3b\x5a\xbd\xc5\x61\xee\xc1\x93\xa0\x77\x34\x69\xf3\x63\xba\x66\xd5\xa5\xae\xd9\xf1\xc9\x62\x59\x75\x77\x2c\xeb\x3d\x8b\xe2\x7b\x43\x71\xcf\xce\xd4\x85\x33\x47\xdf\x1e\x45\xb4\xfa\x85\xeb\xd0\xe5\x87\xad\x4f\xe0\x51\xf1\x4e\x6c\xd8\xb0\xfc\x3b\xe2\xd2\xbb\x0e\xb9\x38\x38\xdd\xab\xfe\x6e\xcc\xa0\xf8\x6f\x8c\x41\xef\x2c\x69\xba\x95\x3e\xbb\x09\x2d\xa2\xa5\x7f\x22\x9a\xb8\xff\xa1\xbd\x15\xba\xd7\xfa\x0b\xbb\x49\xfe\x1f\x5c\xef\x91\x45\xc9\x8e\x45\x07\x73\x10\xf2\xa3\xa6\x6a\xd5\x2b\xfa\xc7\x5e\xfe\xf3\x30\x71\xa1\x4a\x2b\xf8\x64\xe2\x5a\x55\x06\x6c\xc0\x3b\xf9\x3d\x11\xc6\x77\x55\xb1\x2f\x6d\xa0\xd4\xee\xcf\xdf\x74\xb4\x4d\xcf\x7e\x16\x96\xab\x07\x13\xb6\x4b\xed\x1f\x84\xd3\xee\x81\xe8\x0d\xa3\xab\x7e\xe5\xb6\x8b\x94\xce\x92\xfe\xaf\x21\x51\x5a\x95\xd6\xac\x24\x65\x92\x41\x80\xc2\x52\x95\x35\x55\xcf\xd1\x33\xd7\x6e\x07\x8c\xe0\x2b\x6d\x4c\x3e\x29\xd6\x62\x5a\xe8\x26\x3b\x98\xc8\xe9\x95\x22\x31\xd1\x97\xb6\xc3\x15\x0f\xd5\x3e\x4b\x75\x43\x21\x3f\xfd\xc1\x9e\xa8\x7d\x47\x4d\x32\xff\x35\x30\x4c\x1f\xe3\x0c\x02\x13\x69\x54\x26\x20\x2c\x82\x92\x43\x4a\x2c\x02\x8b\x3d\x32\x66\xd2\x95\x45\xa0\x2e\x44\x15\x5a\x10\xac\xb8\xe5\xd3\x8a\xb0\x42\x75\xd4\xaf\x27\x5d\xba\xd6\x52\x8c\x9e\x63\xcf\xa0\x76\x33\x99\x76\x03\x99\x77\x1d\x1d\x64\x74\x47\xcf\x94\xf8\xd3\x46\xce\x1f\x0a\x05\xde\x5e\x01\xd1\xb8\x5a\xc4\xfe\xd6\xe6\xa0\x2a\x32\xa5\x50\xff\x0a\x87\xae\xf8\xb3\x58\x54\xbf\xbb\x6f\xb0\x00\x7a\xce\x0b\x48\xc4\x9f\x9c\xd8\x80\x70\x1a\x1c\x0f\xbe\x66\xb0\xac\x94\x0c\x4e\x06\xd0\xd9\xa3\x2f\xbc\x70\x00\x97\xde\x5e\xeb\x30\xb6\xb9\xba\x4b\x5a\xf5\x41\x77\xd7\x7b\xe0\x8e\x6c\x1d\xd5\x7a\xa0\xe9\x75\x45\x55\xfa\x0e\x11\x3c\x01\xc2\x95\x13\xda\x50\x9f\xbb\x95\x55\xb1\x94\xab\xc1\x87\x50\x47\x28\x8a\xc6\xe9\xca\xa7\xc0\x61\xef\xf8\xca\x5c\x89\x81\x6b\x23\xf2\x37\x74\x61\x88\x2b\x00\xa7\x28\x02\xab\x7d\x77\xd0\x31\x6f\xc3\x90\x86\xf0\xfc\xa6\x3d\x18\x36\x7e\xd1\xe6\xce\x0b\xed\xb2\xc6\xed\xce\x0b\xef\x7c\x5c\x7f\x54\x3f\x95\xa7\x1d\x77\x91\xc4\xe6\xe6\x0b\x5f\x60\x24\x38\xd4\x7c\xc2\x10\x00\x57\xc3\x8d\xf1\xe7\xdf\x82\x04\x30\xe4\xfc\xce\xf6\x82\xd0\x1b\xb1\x06\x99\xec\xdb\xeb\x40\x47\x5b\x0b\x1f\x60\x8e\xfc\xbd\x83\xd4\x5b\x4e\xcc\x6f\x83\x53\xb6\x15\x54\x26\x03\x4f\xa9\xd5\x72\x97\x47\xd3\xfe\xd7\x65\x29\x37\xab\x2d\x15\x52\x07\xfb\xa3\xd5\x87\x38\x39\xcc\x4e\x94\xb2\xe2\x2a\xca\x8f\xfb\xa0\x96\xca\x3e\x73\xe4\x42\x18\xcc\x36\xec\x5a\x29\x2a\x06\x42\x21\xa8\xb3\xa1\x87\x89\xa2\x88\x38\xc2\x5a\xfc\x85\xea\x6e\x42\xd4\xaf\xef\xe9\xbb\x0b\x65\x60\xcc\xfe\x38\x84\x19\xc8\x5d\xda\x86\xb2\xbd\x70\x66\x12\xa4\x99\xbd\xb0\x66\x52\xb4\xc5\xe1\x45\x94\x08\x5f\x6e\xda\x80\x5d\x54\xe5\xac\x30\x5e\x5a\x9f\x28\x32\x35\xec\x11\x02\x14\x60\x37\x04\x02\x19\x55\x41\x91\x7e\xe5\x13\xdd\x41\xa2\xf0\x91\x40\xd3\xa9\x5a\xd5\x2d\xdb\xce\xaf\xca\xc0\x73\x2f\x32\xaa\x8e\x12\xf0\x78\x1f\x07\x6c\xba\xa7\xe3\x5a\xf6\xf6\x01\x8a\xd8\x05\xc6\xe6\xca\x7f\xdd\x09\x7d\x88\x2a\xd7\xc5\xc0\x55\x23\xce\xb1\xac\x54\xd4\x6d\x00\xc2\x52\x57\x19\xb8\x33\x59\x84\x04\x6f\x72\xb5\x91\x3a\xcc\x86\x1d\xc5\x8a\xf8\xb6\x79\xbd\x9e\xfc\xe8\xdb\xce\xe9\xc9\x8f\xe0\x3c\x08\x25\xbf\x53\x52\x32\xaa\xee\xeb\xc9\x8f\xc9\x60\x2d\x6a\xf2\xbb\x8e\xa8\x7e\x33\x55\x75\x46\xf0\x5d\xa9\xf5\x21\x3d\x89\xa1\x62\xc9\x00\xbf\xaf\xb5\x5b\x6b\x13\xb7\x50\x4a\x17\xa6\x83\x19\xec\xb1\x82\xae\x20\x0c\x56\xcd\x8f\xf3\x6e\xf7\x3b\x6a\x20\x8a\x0f\x52\x93\x7f\xfb\xe5\xa2\xba\xa9\xbf\x72\xc5\xdc\x68\xae\x46\xdf\xdf\x7e\xc5\x42\x34\x5b\x6b\x83\xee\x5a\x33\x7c\xb4\x03\xb6\x6b\xd9\xfc\xde\x83\x93\x6e\xeb\xea\x6d\x3a\xf6\x7e\x5f\xbe\x6d\xcb\xd7\x71\xfa\xee\xbf\x80\x29\xf0\xfe\x46\x9c\x77\xf0\x21\xff\x22\x86\x86\x9b\xbc\xcc\xf4\xcd\x08\x3e\xe9\xcd\xc7\x5b\x1b\x20\x7d\x22\x36\x38\xfc\x0a\x6b\xc3\x2b\xa0\x90\x56\xe4\x59\xb7\x29\xa1\x6d\x7d\xe8\xf8\x16\x0b\x46\x97\x65\x96\xbd\xb8\x56\x65\xed\x6d\x0c\x3d\x7a\xb4\x37\x74\x65\x7e\xdf\x38\x32\xf9\x3b\x9a\x1b\xe0\x9b\xbb\xc2\x39\x22\x6b\x03\xb3\x2e\x78\xc3\xc2\x79\xa5\xe4\x6e\x93\xc2\xe1\xa1\xf8\x8f\x37\x68\xcd\x36\xad\xf2\x4b\xa1\x75\x1b\x10\x1b\xd4\xb0\xb1\x30\xcb\x55\xbd\xa6\x26\x0d\x23\xf1\x46\x0b\x4a\xee\xc2\xe1\x74\x59\xac\xa9\xee\x21\x19\x83\x7d\xe9\xa6\xba\x6a\xea\xc5\x7a\x14\xea\xa1\x63\x32\x3e\x1b\x6e\x18\x0a\x94\x53\xfc\x69\x99\x61\xc5\x5f\x88\x0a\x2b\x75\x0d\x5d\x34\xec\xe8\x3e\x5b\xdf\xaa\xdc\xce\xf3\xaf\x46\x3e\x62\xfb\x8f\xbc\xf3\x5c\xb8\x3e\x10\xcf\x18\xd4\x67\xa1\x20\x41\x18\xc2\x07\x2d\x24\x43\x84\x50\xf4\x67\x0c\xca\x0d\xa1\x83\x78\x76\xa1\x46\x24\x9e\xa1\x01\xc6\xbd\xed\x59\x98\x2b\x39\x14\x69\x8c\x67\x7e\x02\x5b\xab\xa7\xfc\x32\x5b\x8f\xfe\x67\xb3\xf2\xa4\x34\xff\x4f\x6f\xe4\x49\x3f\xe8\x77\x1b\xcf\x1e\x36\x9e\x14\x69\xbf\x9b\x78\x7e\x2b\x13\x4f\x8a\xd9\xfd\x2c\x3c\xbc\x11\x57\xcb\x6e\x01\xc9\x1f\x57\x6a\xcd\xda\x8f\xa1\x3b\xf5\xda\xfb\x50\x11\x15\xbe\x61\x69\x5d\xad\x59\xd8\x2c\x0e\xcb\xb8\x6d\x68\xfd\x22\x84\xa5\xb0\x7a\xba\x10\xee\x98\xa3\xe0\x3e\x4c\xc0\x98\x4a\x2b\x8e\xe2\x79\xc3\xe4\x4a\x48\xac\x73\x3e\xc9\x5a\x34\x65\x38\x33\x58\x54\x33\x23\x00\xbf\x7b\xe1\x70\xc7\x40\x56\x9c\x44\x8b\x1c\xfe\x15\xec\x57\x7b\xd0\xc3\x4e\xeb\xd5\xc6\x90\xff\x1c\x83\x39\x5d\x74\xbd\x38\x10\x63\x7b\x80\x7d\x8e\x07\xd9\xc1\x01\xaf\x87\x60\x77\x04\x42\xfb\x10\xfb\x7d\x29\x2d\xf1\xdc\x6f\x24\xb5\x98\xd8\x20\xf0\x9d\x8e\xe7\x0d\x04\xd7\x4d\x72\xbf\x92\xe8\xe2\x37\x5f\xc7\xf1\x89\x1d\xc1\x8d\x80\xc0\x76\x61\xd0\x7d\x69\xb7\xba\x6e\x13\xee\xef\x06\xc4\x7f\x4a\xa3\x52\xba\x3f\x3f\xda\x7e\xd8\xb2\x2c\xb9\x4d\x34\x4c\x5b\x13\xe2\x2e\xd8\x7c\x66\xee\x7b\x62\xfe\x6e\x5c\xfc\xfb\xd1\xc1\x3e\xb6\xc5\x34\xc0\x5f\x4f\x7e\x8c\x34\x86\xbd\x88\xc3\x99\x9d\x07\xed\x96\x6c\xbf\x84\x46\x7e\x37\x5f\xfe\x0d\x68\xe2\x57\x5b\x2f\xdb\x92\xdc\xaf\x5c\xdf\xdf\xed\x9c\x7f\xdb\x75\x8e\x0b\xb8\x56\x9d\x0b\xdd\x59\x8a\xb5\x5a\x6f\x34\x20\x74\xd1\x84\xac\xd6\x17\xf9\xe5\xaf\xdb\xfa\xfb\x19\x50\x97\x6a\xa9\xab\xf5\xbf\x88\x05\xf5\x65\x79\x80\xdf\x13\xac\x2a\xbf\x24\x4e\x0b\xe0\xed\x78\xbf\xc8\x72\xfa\x15\xce\xe0\x17\x9b\x4e\x37\x35\x1a\xfb\x87\x34\x1f\xe1\xc7\xfe\x2b\xd9\x8f\x5a\x5f\xf4\xbb\x01\x69\x0f\x03\x52\x0b\x6b\x7b\x58\x90\x2c\xc2\x94\x37\xe4\xa6\x52\x53\x6c\x4a\x27\x86\xa9\x9c\x4a\xf7\x73\x30\xf3\x46\x80\x70\x7f\xc8\x6c\xbd\x2e\xf1\xee\x83\xe7\xa5\x5d\xfb\x2d\x66\xa7\xc9\xc6\xfd\xc5\xf6\xe1\x4e\x0b\x71\x94\x00\xc7\xbc\x1b\x43\x97\x1d\xf8\xbb\xf9\x6c\x1b\x5d\xfd\x4a\xfb\x19\x35\xb4\xff\xdd\x6e\xf6\xcf\x66\x37\xdb\x44\x08\xff\x78\x86\x33\x22\xb1\xdf\x0d\x66\xbf\x1b\xcc\xfe\x5f\x30\x94\xb4\x36\xe6\x2f\x8b\xb8\x0b\xb5\xbf\xba\x37\x53\xfb\xaa\xdb\x21\xa9\x41\xcd\xd7\x13\x0b\xb2\x45\x97\xd8\xd0\x2e\x21\xf6\x0c\xa7\xf8\x4f\x20\x0e\xfc\x6e\x19\xfc\x07\x24\xf8\x7d\x4c\x83\x9c\x2c\xb7\x5b\x0a\x3f\x5e\xd2\x75\x16\xc3\x0f\xed\xaa\x71\x9b\x36\x8c\x37\x32\x7e\xd6\xc1\xb7\xff\x57\xc8\xfe\x37\xb3\x84\xfd\x6e\xe9\xfc\x4d\x69\xfc\xa3\x4c\x9d\xbc\xa3\x41\xb7\xe0\xfd\xbb\x99\xf3\x1f\x7b\x91\x7f\x63\x3b\x67\x27\x41\xa0\x8d\xf3\xf2\x6f\x68\xe3\xac\x95\xa9\xdf\x51\x0d\xb3\x7f\x11\x0b\xe7\xff\xb5\x77\xed\x4b\xae\x73\x75\x23\x58\x51\x98\xa6\xcc\x6b\x61\x3f\xd8\x8a\xaf\xb3\x4a\x2e\xd5\x8d\xae\xae\x60\x91\x78\x51\x49\x59\x7a\x29\x56\xf2\xeb\xf6\xc9\xb8\x4b\x95\x7d\x91\xeb\x2a\x8a\x05\xb9\x2d\xed\xbc\x55\xa6\xfe\x8a\x75\x35\xad\x54\x01\xa4\x06\x76\x56\x68\x82\x77\x8e\x65\x26\x97\x7a\x49\xfd\xb0\xf2\xba\x67\xa0\xba\x62\xa8\x53\x03\x25\x32\x4d\x5e\xce\x0b\x85\xef\x41\x52\x06\xc8\x4a\x49\xa3\x4b\x39\x29\xd6\xc2\x2c\x25\x76\xa5\xea\x9f\xfd\xff\xc7\x57\xa2\xc8\x4b\x65\x05\x23\xfb\x5e\x1c\x54\x14\xba\x16\x4a\x9a\x1c\x37\x88\x6b\xb0\xac\x4b\x1a\x16\x4a\xdd\x40\xc5\x18\xfb\x7d\x76\xa4\x85\xac\x4a\x65\x0c\x56\xb9\xcf\x41\xd8\x60\x0f\x1a\x75\xad\xca\xa8\xaa\xb9\x2e\x0a\x7d\x63\x51\x4a\x1f\x88\x75\xe2\x29\xb7\x9e\xb5\xea\x4b\x71\x73\x80\x75\x16\xb4\xae\xc9\x04\x6d\x27\xad\xca\xba\x5a\xaf\x74\x5e\xe2\xb6\x87\x92\x6e\xa0\x6d\x28\xab\x99\x35\x68\x4c\x6e\x0f\x36\x7a\xa5\xe7\xe2\x40\xbc\xd2\xf3\xb9\x85\xb6\x94\x98\x63\x76\x7e\x07\xec\x9b\x26\xaf\x95\x38\x10\xe7\x0e\xdd\x2e\xb1\xdf\x2d\x70\xc7\x33\xf6\x77\x78\x84\x96\xc4\xc2\x6e\x01\xfd\xb6\x29\xc5\x81\xc0\x2b\x48\x19\xea\x56\x4d\x1b\xf7\x26\x09\xbc\x6c\xc7\x2b\xbf\x55\xa6\x29\x5a\x2f\xb5\xfb\xac\x29\xa8\xb8\xa8\xe7\xf9\x16\x89\x54\xc1\x84\xb6\x8a\x27\x76\xb1\xc8\x55\x25\xab\xe9\x62\x8d\x64\x71\xa5\xd4\x4a\x55\xae\x90\x41\xa1\xe7\x1b\xca\xb6\x74\x60\x18\xf9\xbd\x7d\xc4\xb3\xfa\xae\x75\x08\xe3\xc1\x26\x7a\xa5\xe7\xc6\xf5\x30\x67\xbb\x91\x1a\x22\x59\x9e\xa6\x97\x79\x1d\x99\x4c\x39\x99\x24\xf6\xd1\x42\xcf\x99\x81\xdc\xce\xe5\xcc\xcf\x0a\x0b\x7c\x75\xcd\x09\xea\x99\x76\xf7\x72\x77\x94\xe5\xf0\xe7\x5b\xa9\xc3\x0d\xc7\x1a\x37\xe8\x01\xc0\x71\x6f\x59\xfd\x18\x3c\x36\x57\x76\x23\x60\xe3\x76\x3b\x88\x01\x82\x33\xaa\x6e\x56\xfd\xc1\xd0\xe1\x65\x55\x29\xb9\x9c\x14\xaa\x4f\xfb\x15\x40\xa7\xd2\xee\x20\x2a\x52\x15\xa6\x51\x35\xe5\x48\x20\xd3\x71\xcb\x6c\xa8\x57\x3c\x13\xe3\xd3\x0f\xbf\x0f\x4c\x77\x24\xc4\x4b\xcb\x0a\x54\x59\xe7\x95\x2a\xd6\xa2\x59\xb9\xe5\x60\xb3\xbb\x01\x3f\x4f\xdd\xf3\x66\x47\xe8\x98\x81\x3d\xd2\xda\xab\xd2\xea\x98\xee\x88\x3e\xb5\x66\x53\x81\x3e\xb2\xa9\x74\xad\x0e\x3d\x49\x85\x79\xe9\xa1\x2d\x05\x08\xfd\x7a\x49\x63\xf4\x34\x0f\x05\x3c\x5b\x8b\xe6\x25\x05\xcf\xb5\x9f\x53\x9d\xe1\xa5\x5c\xf3\x46\xf1\xc8\xe1\xec\xc9\x09\x1e\xb0\xd5\xaa\xd2\xab\x0a\xda\x0e\xba\x8f\xd9\x85\x04\x5d\xd2\x67\x3c\x77\xc2\x09\x43\x44\x8d\xb7\x06\xa8\xd2\x24\xb1\xf9\x6a\xa6\xa1\x3e\x34\x4c\x7c\xf7\x27\xe5\x06\x68\x61\xc7\x5e\x45\xd6\xf1\x81\x78\x85\xab\x67\x63\x7f\x8d\x88\x5c\x89\x66\x35\xd5\x4b\x28\x13\x4d\x44\xe4\xd8\x5a\x4a\xe8\xd3\x5b\x6c\x66\xa8\xcb\x5a\xdd\x46\xc3\x84\x15\xd9\x85\x24\x0b\xf7\x0d\x11\x3d\xc7\x0f\x4e\x6d\x28\x80\x58\xda\x28\x72\xe5\xa7\xf7\xc4\xd0\x2c\x2f\x73\xb3\x68\xbb\xf9\x7e\x31\x8e\x68\xc0\xec\xef\x87\x23\x6d\xea\xbd\x91\xf4\x05\xc8\x33\x98\xca\x01\x33\x76\x5c\x44\xe8\xa6\x5e\x35\xac\x0e\xf3\x8d\x38\xff\xe6\xa5\xef\xf9\xe1\x9b\xf1\x50\x2b\x11\xc7\x8e\x89\x79\x0b\xa1\x46\xf3\x91\xf8\x5e\x09\xd3\xac\xa0\xa8\x6e\x5e\xce\x34\x71\x2f\xe8\x61\x37\x18\x0a\x05\xf5\xa5\xed\x2f\xf5\x74\x34\x1a\xa1\xf9\xb4\xc8\xaf\xfc\x68\x23\x7a\x88\x00\xb6\x31\x51\x7a\xfd\xdb\xd6\x54\x40\xac\xd7\x8d\xe5\xd7\x45\x61\xcf\xab\x39\xb2\xc6\x4a\x37\xf3\x85\x3f\x64\xde\xb8\x6a\x72\xd0\x8c\x5b\x18\xa9\x97\x0a\xbe\x97\x3e\xcf\xd4\xb2\xcc\x64\x95\xf9\xc1\xcf\xbf\x79\xd9\xbd\x16\xaf\xe0\x48\x89\xb9\x18\x3e\x73\x46\xff\xe5\xc1\x2a\x56\x4f\x39\xc3\xce\x44\xde\x04\x97\x61\x5d\xa8\x5e\xcf\x5f\xc1\x22\x77\xef\xba\x2e\xbe\xa9\xe5\xf4\xea\x1d\x76\xcd\xc4\x14\x93\xe7\x72\x55\x37\x15\x7e\x2e\x5f\x19\x10\x8d\x04\xc8\x46\x60\xa2\x82\x45\x06\xa9\x5a\x02\x69\x41\x1f\x22\x28\x48\x68\x1f\x33\x94\xfe\x82\x25\x08\x8b\xf5\x48\xd8\xc5\x74\xed\x8e\x26\x4a\xb8\x06\x84\xd8\x9a\xd2\x28\x45\x45\x13\x47\xbe\x34\xbe\x2c\x8c\x86\xb2\xc8\xc6\x75\x99\xb6\x43\x01\x56\x6b\x2d\xac\xc8\x68\xdf\xa6\x2a\x23\xfa\x40\x2c\x37\xca\xe3\x1f\x29\x64\x30\x72\xdf\x4a\xdf\xf0\x8e\x0e\x6b\xfa\xd3\xa2\xe2\xa2\x57\xe8\x79\x6f\x28\x7a\x99\x9a\x34\xf0\x8b\xa5\x19\xfb\x5f\x3b\x86\xfd\x2f\x50\x59\xef\xd2\x37\xb1\xea\x17\xea\x5a\x15\x03\x71\xf6\x39\xa9\x4e\x85\xaa\xc5\xd2\xcc\xbf\xc1\x4a\x82\x0e\xc7\x42\x98\x9b\x1c\x5c\x00\x04\xef\x7b\x94\x59\xbc\xd1\xeb\x9e\x45\xd7\xe0\x8d\xf1\x25\x7c\xf9\x33\xef\x00\xe0\xef\x81\x71\x47\xb5\xfe\x6e\xb5\x52\xd5\x73\x69\x54\x7f\x40\x2d\x1b\x43\x31\xe3\x49\xa5\xe4\x55\x54\xa3\xd5\x7e\x7b\x2d\x34\x92\x59\x84\x9c\x0b\x18\xf0\x32\xd8\xa6\xe8\xc2\x06\x38\x71\x26\xfa\xa3\xd1\x48\x56\x73\xc3\x90\xc1\x0a\xa7\x5a\xe2\x0c\xd5\x6e\x03\x69\x3e\x38\x8b\xa9\xf2\x01\xfb\xaa\x07\xc2\x8e\x37\xfa\x51\xe7\x65\xbf\x27\x7a\xf0\x41\x3f\x94\xfe\x83\xec\xb4\x47\x72\xb5\x2a\xd6\xfd\x68\x4a\x43\x78\xcc\x19\xac\x40\x5f\xf5\x5d\x53\xbf\xaf\xe4\xea\x70\x92\x97\xa8\x98\xcf\x2b\xdd\xac\xfc\xf6\x02\x6a\xbb\xe8\xc1\x45\xbb\xd6\xf0\xcb\x73\x5d\x14\x72\x65\x54\xc6\x17\x1d\xee\xb0\xef\x24\x34\xfe\x19\x86\x4b\x11\x04\xc0\x1c\x91\x78\x61\x03\x9c\x45\x64\x21\x27\xaa\x38\xeb\xf5\x22\x4c\xe2\xe8\x78\x2f\xea\xf2\xf9\x91\xe8\x85\x01\x12\x4c\xa6\x7c\x41\x88\xde\xa8\x52\x2b\x25\xeb\xfe\x83\x07\x2d\xfe\xd0\x81\x59\x8e\x80\x17\x65\x96\x7e\xdb\x68\x4e\x37\x3c\xbf\x99\xef\x82\xb4\x78\x60\xdf\xef\x87\x76\xed\xfb\xb6\x4c\xf9\xe0\xa0\x7b\xca\xad\x22\x94\xd0\xc8\x0d\x05\x6f\xf8\x80\xaa\x99\xd6\xba\x62\x16\x23\x68\xda\x8b\xcd\x72\x17\xaa\xca\x6b\xb0\x5c\xdd\x81\x9e\xd1\x1d\x5a\x9c\x3b\x52\xbe\x33\x2a\xee\x1b\x07\x02\x5d\x4b\xcc\x27\x41\x9c\x5a\x76\x81\x60\x1c\x77\xb7\xb7\x63\x61\x89\xc7\x62\x2d\xf2\x32\xaf\xc9\xad\xd5\x3d\x59\x6f\x98\x0a\x03\xfe\xb7\x6e\xc0\x78\x51\x2f\x14\x58\xa7\x98\x94\xe9\x35\x00\x90\xf6\x83\xf4\x2f\x96\xaa\x5e\xe8\xcc\x40\x01\x52\x35\x55\xc6\xc8\x6a\x0d\x30\x32\xe3\x5a\xc1\x1d\xec\x19\x17\xbd\xd0\x2b\xd7\xd7\xb2\x12\x5f\xad\x2d\x7e\x0c\x15\x24\xeb\xc4\x57\xbf\x47\x40\x3d\xbb\x3c\xf4\x2c\x5d\x8a\xcd\xf5\xb0\xab\x42\x18\x0f\xca\xf1\xf7\x9d\x17\xf5\x8d\xaa\x0d\x9d\x80\xf9\x5f\xb1\xe7\xdc\x2d\xfe\x9a\xcf\x44\x5e\x0b\x75\x9b\x9b\xda\xf8\x1e\x71\xad\x26\x4d\xe3\x23\x36\x18\x16\x5e\xf5\x47\xb9\x2b\xa8\xee\x9a\x1c\x4d\x6f\x87\xe2\x67\x3b\xf6\x33\x31\x3e\x82\x3e\x05\xf7\x69\x2b\x6c\x9c\xff\x6a\x97\x94\xc9\x3f\xc5\x4a\x0a\xa0\x87\x8b\xbe\xba\x86\x8e\x6e\x53\xbb\x08\xb3\xa6\x10\xba\x54\x66\x00\xda\x82\xc9\x33\x75\xa0\x66\x33\x10\x48\x2c\xa1\x15\xb9\xa9\x87\xc2\x68\x36\x52\xa5\x88\xe2\xf2\xda\xc9\xf5\x10\x82\xc4\x8d\x05\x4e\x6f\xc5\x7a\xfc\x10\xdd\x86\x97\x37\x7a\x0e\xec\x97\x07\x4b\xe1\x7d\xce\x6e\x0a\xac\x52\x2f\xce\x44\xee\xc7\xf9\xd0\x42\xcf\xe1\xa1\xf8\x93\x34\xf9\x54\xa4\xc6\x2c\x5f\x61\x98\xe1\x50\x66\x99\xfd\xa5\xdf\x5b\xe9\xd5\x01\x9a\x29\x7b\xc3\x1d\x48\x64\xb3\x19\xad\xf4\xaa\xcf\x48\x4b\x88\xd0\x46\x30\x37\x56\x7a\x57\x15\x6e\x1d\x99\x17\xd4\x99\xce\x4e\x05\x0e\x5b\xd8\x89\xa6\xd6\x2b\x48\xe0\x1d\x85\x11\xc8\xe4\x81\x4f\xbf\xf8\xcf\x7e\x78\x1d\xce\x70\xc8\x48\xf1\x00\x1d\xed\xf1\xfb\xcf\x49\x45\xb0\xf2\x69\x5e\x66\xf9\x94\x56\x69\x21\x8d\xd3\xd5\x27\x6b\x90\x66\xbc\xda\x8d\x9b\xb2\x3d\x09\x0b\xde\x1f\x04\x74\x0f\x22\x44\xbf\x91\xd0\xfe\xb0\x65\x37\xdc\x8a\x6a\x80\x3e\xf8\x28\x84\x5b\x42\x31\xaa\x98\x11\x2f\x8f\x3f\x18\x12\x88\x9d\x51\x3e\x8d\xb1\x74\x40\x5d\x78\xb5\x23\xc6\x78\x85\x2b\x11\x5e\xdb\x8f\x27\x18\x89\x68\x8f\xf0\xff\xbd\xcc\x6b\x31\x3e\x3a\x5a\x9a\xd0\x6b\xd3\x2e\xbd\xac\x2a\xb9\x16\x14\x5c\xe2\xb9\xa9\xbc\x0a\xc6\x63\x75\x0b\x18\x65\xeb\xd0\x11\x36\x31\xb4\x63\x27\xab\xbe\x93\x24\x1d\x19\xc0\x89\x13\xd4\xc8\x52\xa9\xcc\x08\x59\x62\x5c\xeb\xb1\x9f\x33\x6b\xa9\x9f\xd0\x35\x99\x51\x7c\x53\xc7\x4a\x81\xbe\x64\xd1\x72\x68\xc9\x9c\xf2\xef\xcb\x21\x19\x53\x59\xd7\xd4\x5a\x47\xc3\xa1\xd7\x23\x5f\x2a\x68\x40\xd5\xa6\xbd\x4a\xfd\xd4\x28\x03\x9f\xdf\x3f\xa6\x2f\x6e\x51\x61\x5b\xcf\x72\x3e\x3c\x38\xfd\x5e\x77\x95\x5c\x0d\x87\x63\xb7\x4e\x84\x16\x53\x5e\x56\xd1\x0d\x45\x7e\x0e\x77\x22\xda\xf3\x11\xec\x1d\xf4\xa4\x27\x5c\xb7\x22\xec\x9e\x95\x21\xd8\x9f\xdc\x25\xeb\x27\x7a\x16\x26\x4d\x05\x6c\xdd\xe9\xd0\xac\xfa\x60\x27\x22\xb9\xda\xbe\x78\xd3\x73\x74\x97\xf6\x1b\x55\x58\x6d\x8b\x12\x74\xdf\xc3\x67\xb9\xb1\x3a\xd2\xd6\x67\x18\x8c\x7f\x6e\xae\xea\xad\xcf\xd0\xfd\x14\x9e\x5a\xb4\x6c\x7d\xc6\xc2\xf8\xe7\x6a\xba\x10\xc2\xa4\xfd\xe5\xaf\xe4\xea\x9d\x8f\xec\x80\xab\xfe\x6c\x0c\xdd\x89\xf1\xb0\xea\x77\xbf\xd0\xc3\x0f\xfc\x10\x5c\x04\xda\x30\x4f\x58\xa3\xee\x01\x9d\xc8\xa2\x0c\x85\x32\xd7\xba\x8a\x9a\x4f\xd9\x0b\x91\xb4\x08\x08\xd1\xb3\x0d\xe6\xfb\x30\xde\xd0\x99\xbc\xc9\x0b\xb8\x50\x6b\x71\xa3\x98\x0f\x62\x33\x49\xb3\x59\xb9\x8a\x9f\x51\x99\x7b\xd8\x17\xd0\x0a\x60\xab\xf4\xf9\x36\x1c\x18\xb8\xc1\x57\x39\x5a\x7f\xad\x1c\xc6\x5e\xe1\x9c\xa0\x6b\xec\x49\x00\xf8\xdf\x3a\xbd\x40\xb2\x91\x31\xf1\x35\xd6\x90\x57\xa6\xfe\x92\x2e\x87\x7a\x1b\xee\xbe\x8f\x0f\x76\xf4\xc0\x9b\x83\xf5\xbe\x68\xa0\xbe\x7d\x4d\x5b\x1f\x0b\xc9\xf7\xc4\x03\xe1\x1e\xf7\x11\x42\x35\xbe\x7f\x93\xe5\x96\xcc\xb6\x1b\x66\xe5\x75\x0f\x37\x89\x0b\x07\x78\x49\x9b\x3f\x82\x00\x6a\x46\xf2\xb0\x7f\xa6\x41\xdd\x76\x35\xa1\xac\x34\x6e\xba\xcc\xcb\x55\x9b\xd0\x17\xef\xe0\x7f\x5e\x14\x3a\x6b\x5a\xa1\xe7\xfd\xde\x17\xfc\xeb\xc3\x1b\x47\xb3\xa6\x28\xda\xcd\x7b\xfe\x0c\x11\x83\x9d\xde\x2c\xd7\xc6\xd0\x9e\x4f\x76\xf6\xbf\x19\x35\x77\x9d\x3d\x1e\xa7\xe9\xd1\x93\x29\x93\x57\x6c\x2d\x43\x25\xee\xae\x49\xbb\xda\xec\x70\x0e\xd2\x53\xa0\x65\xf8\x32\x2d\xa4\x80\xdc\x48\x13\xba\x39\x08\xf4\x22\x6f\x23\x95\xc0\xb4\x5b\x64\x12\x79\x30\x36\x50\x73\x1b\xe7\x25\x09\x37\x1d\x0c\x0c\xb5\xb4\x4e\x4b\xf6\xdf\x87\xad\xc4\x27\x4e\x12\xc4\x94\x7e\x28\x6c\xca\x56\xc8\x5c\xe8\x83\x20\xb4\xf7\xca\xa0\x7a\xed\xe8\x6a\x28\x56\x8d\x13\xa8\x55\x68\x1a\x41\xbd\x9f\x49\xab\xaf\x99\xc1\x9c\xab\x8e\xa0\xff\x42\xd0\x0a\xd3\x1f\x8d\xc8\x72\x98\xaa\x55\x90\x83\xd6\x78\x87\x35\x48\xc9\xcb\x5a\x95\x19\xa2\x69\xa2\x7c\xdb\x77\xef\xe0\xc6\x39\xf6\x8c\xd7\xc5\x09\xbf\x28\x89\x21\x0d\x85\xd6\xd6\xc6\x0b\xa5\x91\xa7\x2c\x9f\x2e\x40\x29\x9c\x28\xa7\xdf\x67\xb0\x02\x60\x92\x76\x51\x2e\xb1\x1b\x60\x24\xc4\x97\xba\xf2\xe2\x2c\x73\x8b\x7f\xb5\x4e\x4e\xdc\x1d\xda\x77\xa2\x1e\x9b\x5d\xfa\x31\xc9\xa8\x89\x57\x02\xdb\x3f\xf7\xec\x63\xbd\xb0\x36\x35\x52\x92\xd3\xa5\x9c\xaf\x00\x03\x6f\xdc\x72\x79\x25\x9e\x54\x7e\xde\x81\x3f\x79\x76\x0e\xdc\xa7\x43\xfb\xdf\xe4\x0a\xd8\xd7\x85\xd2\x7a\xd0\x53\x48\x70\xc5\x52\x60\x86\x25\x40\xcb\x70\x0e\x79\x5f\x67\x8a\xd3\xd4\x25\xc7\x6a\x17\x11\x83\xd7\xd5\x7d\xb3\x55\x27\x54\x46\xe5\xa5\x08\x37\x48\x61\x33\x1e\xdb\x84\x5d\x1e\x0c\xef\x31\xe0\x3a\xa8\x24\x44\xb1\x65\x8f\x46\xe4\xd0\xd5\x32\xda\x2e\xbb\xfb\xea\x34\xa9\xda\x92\x7c\x7c\x8f\xec\xa0\x57\x60\xec\x84\xfb\x96\xa8\xfe\x28\xa6\xb7\xf6\xda\x33\x0f\x7d\x71\x75\xd9\x6e\x23\x4d\xac\x06\x3c\x06\xb4\x5f\xa6\xe8\x9b\x23\x3c\x36\xab\x0e\x35\xc2\x05\x88\xb8\xe5\x4f\xea\x8e\x39\x0d\x2f\x30\x38\x29\x4a\x7d\xa0\x57\xd8\xcb\x36\xd9\xb1\x76\x30\xcb\xf6\xf3\x4a\x19\x61\xf4\x52\x89\xab\xbc\xcc\xec\x20\x70\xfb\xe0\x06\xbc\x3e\x76\xe3\xa0\x31\x00\xa2\x56\x2c\xdb\x29\x24\x76\x92\xc8\xb4\xc8\x3d\xb7\x00\x7f\x38\x6c\x75\x70\x80\xe8\x0a\x1c\x44\xb5\x72\xcb\xd4\xc9\xcd\x40\x51\x44\x30\x5a\x7c\x3b\x94\x04\x63\x51\x4e\xce\x14\xf0\xd9\x00\x7b\x77\x3d\xf2\x00\x1b\xf0\x45\xb2\x5c\x33\xef\x1c\x33\x80\xa0\x63\x1e\xb6\x57\x78\xaf\xef\x47\x83\x64\x96\xe5\x66\x2a\x2b\xcb\xd8\xc0\x30\x08\x47\x80\x2e\x03\x19\x12\xd7\xb7\x34\xe0\xf6\x69\xa5\x96\x44\xfe\x51\xe4\xd2\x79\x89\xd6\x2c\x81\xd6\x2c\x63\x55\x4d\xf8\xdb\x2d\x48\xc7\xc7\xa3\xe5\x64\xa2\x44\x9e\xa9\xe5\x4a\xd7\xaa\xc4\xb3\x9a\xb1\xb4\xa1\xdd\x04\x6b\xdd\xf4\x2a\x25\x64\x96\xd9\xd7\x7e\xf1\xf5\x57\xa2\xd4\x19\x75\x9f\x12\x99\x9e\x36\x4b\xe8\xb1\xb0\xb4\x1a\xbe\x69\x2a\x40\xd9\x2c\xaf\x30\xee\x08\x85\x6d\xd4\xc6\xd5\xba\x07\xcd\xef\x6a\xdf\x1c\xb9\x06\x9b\x90\x20\x76\x06\x47\xdd\xd0\x45\x11\xd6\x0b\xb5\x14\x95\x04\x8d\xbd\x5e\xc8\x12\x89\xa5\x41\xb7\xd5\x32\xee\x37\x65\xc7\x9c\xea\xa6\xac\x69\xad\xf3\x0a\xd7\x94\xc5\x0a\x92\xfa\xb0\xaa\xf4\x44\x4e\xb0\xa3\x79\xa1\x66\xf6\xfb\x17\x96\xe6\x20\x6e\xcd\x2e\x1f\xc9\x1f\xbc\x4f\x97\x45\x6e\x28\x59\x17\x18\x85\x9c\xe8\xaa\x66\xab\x92\x85\x08\x1c\xce\xd6\x7e\x5b\xaf\xf2\x7e\xe7\xca\xde\x1b\x3d\xd3\x62\x55\xa9\x03\x24\x0f\xd8\xf4\x7f\xc7\x5d\xce\xdf\xbc\xdf\x1e\x07\x89\x80\xf2\x53\x1a\x8a\xc6\xc1\xc6\x62\x52\x4c\x9a\x72\xba\xb0\xc3\x4e\x74\x5e\xa8\x6a\x55\x48\x17\x9f\x73\x58\x2b\x59\x65\xfa\xa6\xa4\x78\xc5\x12\x77\x53\x6e\xbc\xe0\xe0\x96\xdc\xfc\x0d\xd6\xfc\x1f\x39\x8e\x23\xa5\xa6\x9d\x36\xf6\x8f\x22\x2c\x6d\x6a\x5c\x5f\x8b\xff\x03\xbb\x00\xbf\x13\xd7\x3f\x0a\x71\xfd\x1d\x02\x60\x5a\xc4\xf5\x31\x21\x30\xf8\x7a\x51\xa9\x55\xa5\x8c\x3d\x4c\xa1\xbf\x23\x8f\x99\xcc\x63\x15\x65\xd4\x6a\x23\xe9\x8e\x4f\xf0\x07\x54\xb5\x8f\x8e\xdc\x66\x95\xf1\xca\x03\xe0\x82\x1f\x31\xea\x5a\x55\x3e\x84\xdd\x9b\xcd\xe0\xbc\x9e\xac\xc5\x42\x96\x2d\x35\xb9\xf3\x45\x64\xb1\x7d\x0e\xc1\xb1\x6f\x63\xb1\x04\x23\x66\x83\x88\xdb\x92\x63\x47\x3b\xb5\x70\x8c\x88\x0f\xba\x78\xce\x5c\x15\x43\x38\x27\x31\xe6\x97\x34\x38\xbe\xfa\x34\x09\x67\x35\x68\xa7\x06\x74\xd3\xda\x90\x96\x6a\xf0\x21\xb2\x71\x44\xb9\xb0\x2c\x9c\x91\x52\x07\xe2\x80\x4c\x38\x6d\x85\xd7\xf7\xc8\x7b\x23\x05\x45\xcb\x7a\x89\x45\x62\xbc\x81\x1b\x2e\xa1\xc9\xb6\xf2\xdd\xda\x37\x6d\x22\x4d\x0d\x04\x61\x75\x36\x5a\x6f\x40\xf6\x06\x32\x15\xc4\xca\xb6\xac\x61\xec\xc1\x86\xa4\xd3\xfb\x87\x77\xb8\x4d\x1c\x49\xe1\x8c\xd1\x05\x06\x59\xf0\x17\x6c\x58\xd6\x8e\x15\xed\x58\x4a\xfe\x46\x4f\x2c\x67\xb1\x49\x2b\x7a\x1b\x35\x24\xed\x78\xdd\xc7\xbc\xca\xd9\xae\xa2\x4f\x63\xe6\xfc\x07\xa2\x77\xc1\x4d\x6b\xf6\xc2\x65\xcf\x05\x98\xa4\xa9\xd4\x10\xc8\x19\x51\xcd\x88\x7f\x93\x5b\x1c\xe7\x7f\x70\x7f\x47\x36\x8e\x17\x10\xae\xad\xe2\xfd\xc4\x0d\x0d\x53\x5f\x5b\xb9\x6d\x5e\x4b\x68\x71\xc8\xd9\x8a\xec\x8a\x65\xa0\xe0\xd1\x0e\x49\xd5\x7e\x4a\x5e\xef\xcb\x36\xf6\x66\xe9\x9b\x2d\xa7\xf6\x77\x9e\xef\x12\xc7\xf4\xe2\x68\x14\x00\xe7\x73\xb2\xed\x1a\xa0\x4d\xcb\x0a\xff\xab\x55\x41\x76\x2a\x38\x3f\x25\x14\x58\xd8\x6e\xc4\x1f\xc5\x0e\x22\xbf\x42\x14\x6a\x44\xee\x2f\xa0\x87\xe1\x1d\xb1\xed\x7f\x17\xee\x90\xa0\x67\x28\xf6\x76\x34\xbd\xa5\x0c\x3e\x9f\x17\x7e\xcb\x9b\x2d\xaa\x5b\xbf\x5a\x1d\x06\x3b\x44\x2b\x5c\x72\xf1\xbd\x2e\xf0\x87\x95\xae\x0e\x0e\xd1\x2a\x2f\xeb\xa2\xec\xf7\x80\x61\x54\x32\x07\x0e\xc5\x6a\x59\xa3\xd5\x56\xdd\xf2\x56\xd7\xea\x76\x64\x6a\x9f\x38\x94\x5e\xe5\xb3\x83\x74\xad\xb8\x6f\x75\xf4\x5a\xf7\x0c\x05\x71\xfd\x50\xf6\x06\x83\x2d\x0d\xab\x3b\x9f\x1d\x24\x99\xed\xd1\xf7\x39\x5f\xa8\xfd\xbc\x77\x6e\x71\xbe\x3c\x7f\xf9\xea\xc5\x17\x43\x0c\x85\x6c\x57\x78\xfe\x8e\x84\xa4\xe9\x42\x6b\x7b\xe6\x46\x09\x10\x98\x26\xd3\x94\xa8\xae\x71\x1d\xdd\x14\xf9\x7c\x51\x17\x6b\xb1\xd4\xd0\xc5\xb9\xbc\x56\x65\xae\xca\xba\x7d\xb0\xe2\x89\x6d\xd4\xc6\x78\xa1\x0d\x11\xeb\xfd\xc1\x8e\x4d\xf5\x81\x3b\x29\x3d\x0b\xf7\x09\x3e\x1d\x56\x5c\x77\xe6\xb8\x5d\xbd\x41\x54\x3a\xf7\x87\x52\x94\x34\x00\x09\x39\x6e\x8f\x1a\x77\xd4\x31\x59\x93\x9d\x90\x16\x89\xdb\x8d\x95\xba\x82\x80\x87\xeb\x3c\x6b\x64\xc1\x82\x89\x36\x6f\xfe\x24\x8a\xbf\xd3\x99\x1b\x1d\x01\x0c\x05\x69\xee\x86\xb7\xa2\xb5\x4f\x96\x90\xde\x11\xf9\x80\xf9\xe0\x6f\x16\xba\xaa\xa7\x4d\xed\x58\x49\x32\x7a\xcf\x88\x42\xcf\x93\xa1\x31\x21\x84\x0d\x69\xaf\xb4\x8f\x2d\x77\xd6\xbb\x25\xd8\x2f\x47\x22\xce\xd2\xc0\xd1\x16\xfa\xc6\xeb\x0b\x76\x75\x30\xa8\xcc\x67\x67\x6c\x48\xcb\x20\x4f\x68\x3c\xf7\xe9\xad\x38\xb3\x84\xf1\xfe\xbd\x4b\x7e\x8e\x0f\x76\xf2\x87\x86\x19\xa0\xb5\x44\x95\x60\xcf\x80\x80\x82\x99\xcc\x8b\xa6\x6a\x8d\xec\x2e\x87\xb6\x86\x7b\x8d\x8c\x14\x99\x8c\xb5\x8a\xdc\xa5\x29\x5e\xa1\xd1\x36\x47\xb0\xa9\x65\x55\xab\x0c\x9c\x34\x50\x38\x1f\xad\xfc\x0b\x69\xca\x5e\x8d\x25\x4d\x08\x44\xac\xa1\xd9\x6b\x24\xf4\xd8\x3b\x5f\x48\x88\x3d\xb0\x0f\x6f\x78\x61\x5e\x8a\x65\x5e\x14\xb9\x51\x53\x5d\x66\xc6\x1b\x91\xc2\x2c\x6a\xad\xaf\x78\x18\x07\x9f\x0e\x0e\x16\xe6\xe4\x4b\x38\x75\x4c\x28\x6b\x2a\x54\x3d\x37\xcd\x67\xa9\x21\x45\x6b\x6a\x79\x54\x74\xf4\x46\x08\x88\xe6\x46\xaf\x25\x2c\xe0\x50\xf6\xcd\x42\xbc\x2c\x43\x66\x6b\xa6\x6a\x7b\x80\x83\x32\xe9\x96\x33\x68\xaa\x20\x2b\x14\x0a\xfa\xa1\xfb\x12\x32\x35\x24\xf4\x09\xf0\x45\x84\x44\x98\x88\xe2\xb0\xfc\x11\xc9\x2b\x5d\xdf\xf4\xba\x59\x4e\x50\xb5\x5c\xca\xdb\x7c\xd9\x2c\x03\x89\x89\x78\x27\x85\xe8\xad\x1b\xe7\x45\x10\x25\x3e\x9d\xd3\x5e\xa9\x94\x9c\x2e\x70\x8b\xcc\xc4\x91\x45\x08\x65\x7e\x71\x3b\xa8\x3b\x19\x8c\xa2\x4c\x48\xb2\xa7\x42\xe2\xcb\x50\xa8\x6b\x55\xd2\x8a\xcd\x50\x8b\xb7\x13\x4a\xbe\x6b\x29\x6f\xbf\x0c\x24\x7f\x94\x2c\x53\xd5\x50\x2b\x08\x96\x5d\x25\xd0\x6b\xa4\x64\x55\xac\xc5\x44\x4d\x65\x83\x19\xac\xb2\x14\x4d\xa9\x6e\x57\x38\x15\x4b\x5e\x79\x87\x70\xbe\x92\x65\x3e\x0d\x79\x00\x28\x96\xba\xf8\x85\x95\x2a\x33\x9f\xc2\xe8\x98\x6f\x60\x84\xff\xd9\xa8\x46\xf9\x86\xa3\xec\xc8\x04\xbe\x8f\x8e\x07\xe2\xfe\x21\xad\x0c\x91\xd3\x1f\xa0\x9a\xc4\x23\x99\x82\x05\x1a\xc5\x48\x3b\x12\xb8\x70\x10\x9b\x5b\xf9\x3e\x3b\x23\xcf\x5f\xbd\x7a\xf7\xf6\xc5\x9b\xb7\x6f\x28\xd4\x63\x46\xa7\xe6\x8b\xb2\x59\xf6\x7b\x7f\x90\x45\x01\x16\x13\xf3\x79\x6f\x90\x06\x4d\x70\xc5\x9b\xf3\xd0\x8d\xca\x7f\xfb\xed\x38\xdb\x2e\x87\x2c\xcb\xbd\x08\xc8\x6b\x85\x0c\xec\xfb\x86\x56\x5c\x13\xe6\x0d\x30\xbd\x4e\xaf\xea\x77\x2b\x59\xd7\xaa\x2a\x43\x79\x0a\xba\x40\xc9\x0c\xee\xaf\xf7\xef\x71\x5e\x1e\x75\xae\x13\x07\xbe\xeb\x39\x18\x9d\x81\x1a\x43\x58\x00\xb9\x60\x99\xd2\xc3\x7c\xb3\xd4\x2b\xc0\xbb\x75\x7e\xc4\xc8\xd0\x1f\xc5\x1f\xfc\xb3\x3e\x93\xfc\xc7\x90\x49\xce\x42\x0e\x1c\xd8\xc5\x8f\x14\x0c\x7f\x78\x28\x5e\x6b\x47\x2a\x37\xaa\x57\x59\x91\xc2\x12\xe7\xbd\xbb\x67\x67\xf7\xb8\x0d\xdd\x5e\xb9\x27\x8c\xe6\xa0\x4b\x2b\x3a\x83\xb1\x01\x87\xb2\x4b\x1b\x08\xe5\x0d\x18\x19\x3c\xbb\xe3\x63\x79\xd7\x57\x59\x1b\x67\x5b\xa1\x7e\x2d\x5e\x00\x76\x68\xbc\x7b\x76\x96\xe0\x31\x16\x89\x1d\x1c\x93\x88\xbf\x55\xf3\x17\xb7\x2b\x2e\x12\x43\xbb\x75\x82\x04\x42\x01\xea\xf0\x2a\xed\x60\xc0\xb4\x08\x3b\xb1\xbc\x64\xc5\x9c\x50\x46\x76\x91\x20\x41\x0f\xbe\x7b\x26\x22\x52\xd8\xf0\x38\x97\x98\xc9\x59\xeb\xa8\xd9\xd1\x28\x50\x59\xa0\x8a\x07\x0f\xd2\xfe\xeb\xec\x66\xe2\x7a\x2f\xd0\x67\x53\x82\x68\x07\x52\x31\xee\xf6\x5a\x8b\x39\x62\x1c\x8f\x1d\xe3\x72\x37\xc3\x63\x4e\x17\x87\xb4\x2f\xa0\x10\x7c\xde\xae\x90\x86\xe4\x72\x48\x42\xd7\x37\x9b\xc2\x38\xde\x23\xa2\x3f\xf8\x0d\xf0\x0d\xfd\xb7\x89\xd8\x52\xf0\x37\x01\x42\x5e\xce\xc4\x16\xfe\x32\x64\x1c\x4b\x56\x31\xa3\x72\x8f\x4b\xdf\x8d\x07\x9a\xf9\x78\x8e\x82\xe2\xcf\xad\x9c\x82\x86\x60\x89\x53\xc1\x41\xd1\x3d\x06\x4e\xde\x8d\x01\x2f\x74\x04\x0d\x43\xe2\x7d\xd4\x61\xb3\x8c\xe1\xc0\x05\xa4\xe4\x25\xc5\x9f\x94\xfe\x50\x94\x19\x9e\x07\xd2\x7d\x02\x4c\x09\x4c\x7f\x28\xda\x28\x9f\xce\x1f\x62\x3d\xe1\xe0\x61\xca\xc1\xfe\x1c\xf1\x1b\xcf\x78\x3c\xc7\x6a\x31\xa7\x16\xb7\xd9\x50\x87\x62\x67\x98\x5e\x47\x91\x0a\x3e\xb6\x4b\x73\x61\x9c\x74\x43\x2c\x61\x18\xf3\x22\xbf\xdc\xa1\xbf\xd3\xff\xdc\x57\x45\x95\x2f\xee\xb2\xd7\x47\x41\xa5\x56\x0d\x80\x8c\xb3\xde\x6b\xcd\x57\x56\x65\x34\x63\x08\x4d\xad\xf2\x5a\x55\xb9\x44\xe5\xbb\xf5\x82\x1d\x1b\xef\xdf\xb5\xbe\x52\x19\xa9\x05\xd4\xa2\x4b\x97\x90\x1d\xe6\xb2\xb5\x59\x6a\x72\xce\x04\x37\xb4\x37\x78\xdd\x1f\xd3\x38\x80\xa7\x82\x95\x27\xc4\x4e\xcc\xb5\x68\xca\xa9\x6c\xe6\x8b\x2d\xa6\x99\x98\x2a\x74\xf9\x1d\x3d\xf1\xc2\x8d\xff\xae\x75\x9c\x2d\x95\x31\x72\xae\x86\x50\xef\x61\x08\x25\x22\x2c\xf6\x08\xa9\x74\xd7\x97\x60\xed\xb9\x11\xf7\xb1\x82\xf4\x06\xe2\xec\x4c\x1c\x89\xf7\xef\x69\x55\x5b\xa3\x99\x5a\xd6\x8d\x79\x46\xa2\x4b\x6f\x40\xf5\x5c\x99\xe1\x88\x24\x58\x19\x87\x93\x5b\xee\x46\x17\xac\x7c\xd7\x1f\x90\x55\xaf\xd2\x4b\x21\x43\x69\x5a\x21\xbe\xb7\x27\x93\x1b\xcc\x39\x8b\xe7\x1a\x36\xb5\x95\x9a\x65\x81\x8a\x79\x5e\xa7\xc6\xfd\xd8\x8c\x81\x2f\x08\x27\x9b\xf4\x96\x9b\xbc\xc6\xdc\x49\x2b\x84\x19\x39\xb3\xda\xa1\xf9\xa9\x51\xc5\x94\x62\xb6\x90\x08\xdc\x97\xdf\x09\x56\x21\x51\x57\x78\x2c\x04\x0a\x6e\x4b\xdd\xad\x0e\x68\x6c\x51\xa0\x16\xa2\x5f\x0f\x30\x80\xb6\x9e\x1f\x39\xe1\xf4\x85\x9d\xc6\x57\xf8\xe0\xbb\x41\x6c\x99\x23\xa5\x6e\x29\xd7\x10\xdf\x0e\x29\xb5\xf6\xe3\x50\xbc\x5d\xc8\x32\x2b\xac\xf0\xeb\xfd\x4c\x09\xa6\x9c\x09\x35\xcc\x93\xbe\xc9\xb2\x14\x90\xf6\xcf\x44\x0f\x77\x41\x2f\x14\x0e\x6d\x4f\x15\x89\xc1\x37\x81\x8b\x6f\x7e\xf3\xe2\xf5\x17\x2f\x5f\xff\x19\xf1\xe1\x06\x85\xdc\x6f\x1c\xd3\xef\x74\xcc\x3a\x0e\x78\x09\xd3\xb6\x18\x82\x27\x1f\x88\x5e\x10\xb7\x61\xc3\xb7\xb9\x4e\xc7\x14\xd2\x38\xca\xd6\x4b\xdd\xba\x3c\x10\xbd\x21\xbc\x0d\x4a\xa8\x3c\x10\xbd\x67\xf6\x0f\xd8\x59\x61\xae\xf1\xd8\x31\xb5\x75\x00\xa4\x06\xb4\xc0\x93\x48\xab\x68\x67\xc6\x5b\x56\xe4\x75\x2d\xae\x4f\xc6\x65\x88\xd3\x58\xc2\x7a\xbd\xca\x2d\xb1\xaf\x45\xa5\x0e\xaa\xa6\x34\x22\xaf\x21\x99\x44\x46\xd5\x90\x86\x11\x1b\x2b\x54\xed\xfc\x29\x5f\x7c\xfd\x95\xd5\x56\x27\x79\x91\xff\x15\x8d\x22\x66\xa1\xab\xfa\xa0\x56\xd5\x12\x14\x72\xdd\xd4\x51\xd2\x84\xcb\x86\xca\xd4\xb4\x90\x15\xf3\x27\x31\x33\x4c\x48\xaf\xe0\x72\xc7\x44\xeb\x42\xc9\x12\x73\xc4\xcd\x55\xbe\xa2\xd4\x0f\x08\x03\xa9\x1a\x45\x19\x44\x74\xd1\x1e\xfd\x57\xf9\x6a\x45\x51\x32\xa9\xd3\x0a\x38\x33\xc3\x8d\xc8\x97\x4b\x95\xe5\xb2\x56\x90\x1e\x0d\x28\x22\xdb\x3b\xc8\x08\xce\xb7\x0b\x4c\xc7\x32\x91\x3c\x0e\x17\xdb\x5e\x1c\xa2\x8b\x5b\x27\x45\x22\xda\xbc\x3a\xf9\xcc\x10\x93\x7c\xb7\xf3\x4e\x70\x7f\xe4\x4e\x04\x81\x4d\x0e\x02\x08\xc4\xac\x48\x4b\x95\x73\x55\x61\x55\x1c\x9f\x39\x33\x1a\x8d\x86\xe2\x68\x00\x46\x89\xa5\x5c\x4f\x3c\x07\x5d\xc1\x31\x47\xe6\x13\xbb\xd0\xe0\x3a\xbd\x91\x6b\x96\x99\x59\x57\xf9\x1c\x6c\x9f\xa0\x8c\xd7\x14\xc4\xa3\xdc\x53\xaa\xcc\xdc\x68\xbe\x04\x54\x0d\x59\x3a\x46\x8b\x1b\x05\x7d\x1b\x29\xd7\x9c\xea\x95\xa3\x83\xdd\xa8\xba\x2e\x94\x00\xff\x38\x11\x8c\x6e\x2a\x37\x14\x7e\xe1\xd4\x52\x43\xb3\x82\xf8\xc9\x38\x17\xa8\xc6\x9e\x98\x29\x86\xe3\x72\x91\x43\x20\x1a\x12\xc0\x13\x5e\x96\xda\x77\xfa\xa5\xba\x11\x5f\xc8\x5a\xf5\x07\x03\x71\x90\xd8\xa3\x62\x8e\x34\x8f\x12\x65\xfd\x65\x28\x7e\xc0\x6c\x66\xae\x8a\xae\xe5\x4e\x78\x1e\x0e\x3b\x59\x53\x64\xb2\xe3\x0f\x61\xd0\x91\x7d\x68\xd3\x53\x4b\xf3\x56\xbf\x41\x2b\x18\x31\x19\xf7\x45\x03\xc6\x99\x4c\xb3\x5c\xca\x2a\xff\xab\x22\x0d\x33\x91\x67\x98\x1d\x28\x35\xd7\xb6\x31\x8c\xb8\xdd\xd2\x76\x74\x83\x73\xcc\xc5\xb7\xb1\xa2\x2e\xad\x72\x2d\xbf\xd8\xcd\x85\x21\xba\x96\x11\xfe\xd8\x98\x3a\xf8\x80\x5b\xb5\xd9\x77\x6d\x58\x7c\x53\x57\x51\x97\x6e\x4f\x58\x0b\x5f\x35\xaf\xe7\xe1\x23\x18\xc8\xdc\xeb\x09\x31\xb8\xb7\x42\xe4\x43\x02\x5c\xdf\x6e\xf2\x5f\xb5\x0f\x46\x6f\xaf\x62\xdd\x53\x4b\xe1\x47\xde\x70\x20\x0a\xe6\x6e\xfa\xa3\xf0\xbf\x3e\x13\xea\x76\x10\x65\x80\x93\xb1\xab\x25\xdd\x54\xe9\x29\x4f\x17\xbe\x39\x7f\xf3\xe6\xc5\x17\x83\xae\xc9\x46\x8f\xc0\x4b\xbc\xee\x4d\xb7\xfc\x8e\xfc\x5c\x3c\x3a\x3a\x1a\x74\x09\xfd\x6f\x0a\x7d\xe3\xcc\x4d\xfa\x2a\xc8\x49\xd1\x66\x48\x86\x1b\xc4\x5b\x95\xef\xe0\xce\xaf\x39\xf3\x5f\x83\xe7\x74\x84\x7c\xbf\x57\xc1\x0e\x45\x94\xc1\x30\x46\x07\xbd\xb3\x36\xe1\xee\x8a\x0c\x0d\x9b\x5e\x46\xa8\xe3\x2f\x5b\xb1\x24\x2a\xf6\xaa\xc8\xb3\xd7\x26\x89\xab\xd2\xb2\x55\xda\x25\x4e\x28\xb7\x98\xaa\x3a\x44\x1f\xaa\x62\xd1\x4d\x24\xed\x25\x8b\x73\x06\x3a\xc9\x03\xee\x54\x4d\xf9\x5a\xdd\xd6\x24\x6f\xff\x26\x2c\x23\x6c\x74\x12\xfd\xef\x30\x6b\x77\x46\xa9\x98\x21\x9d\x93\xee\xd0\x99\xcd\xdd\xf9\x8d\x69\x40\x22\x22\x63\xaa\x3d\xa2\xa0\x4e\xdb\xa4\x99\xcf\xd7\x21\xcc\xd3\x39\x77\x5c\x6c\x28\xbd\x01\xd4\x3f\x8c\x2f\xc3\x99\x96\x42\xdd\x5a\x8d\x03\xa5\x90\x52\xc8\xb9\xcc\x4b\xd2\x5e\xca\x38\x3d\x98\xb7\xd9\x40\xbf\x27\x1c\xe1\x50\x7c\x85\xea\xf4\x40\xc0\xb0\x77\x6a\x14\xd2\xd4\x42\x4e\x23\xe9\x1c\x6b\xc1\xc8\x06\xca\xef\xc1\xb9\x8d\x7d\x40\xec\x80\x88\x23\x3a\xb4\x29\xf2\xcd\x1f\xdc\x50\x48\x0b\x0a\x2c\x05\x3b\x2d\x56\x69\xf0\xb1\xb6\x08\x7c\x07\x2a\x03\x5a\x45\xa1\x0a\x68\x75\xce\x00\xd0\xd6\xac\x42\x61\x50\xa3\x48\x25\xf3\x90\xe8\x0d\x12\x84\x1d\x0b\x32\x63\x21\xdf\xbe\x5e\x40\xda\x04\xa5\x63\x3b\x15\xae\x25\xc1\xbe\x2c\x21\x82\x1a\xa3\x93\x2a\x75\xe0\xd6\x32\x68\xde\xe7\xaf\xbe\x3f\xff\xef\x37\x62\xa9\xaf\x95\x81\x5c\x5b\xe7\x49\x75\xb3\x5c\xe5\x45\x4b\xc2\xfc\x5b\x9c\x2d\xad\xb8\xab\x42\xd6\xea\x0d\xee\xed\xb7\x58\x8c\xc8\xfe\x1a\xbb\xa9\x64\x5d\xab\xe5\xaa\x26\xed\x4c\x4d\x75\x95\x45\xde\x64\xf0\x74\xc9\x6a\x73\x22\xd3\xe6\xf3\xeb\x5b\xd5\x75\x82\xb1\xb3\x67\xc8\x66\x18\x57\xd7\x73\x1c\xe4\x95\xac\x83\xc6\xec\x0b\x4d\xfd\x22\x16\xc2\x5e\xe5\x4b\x1e\x51\x4a\x34\xac\x70\xc1\x5e\x05\xca\xa8\x5b\x3f\x74\xfe\xa0\x03\x11\x4a\x5b\x66\xba\x99\x14\xea\x60\x05\x96\x7a\x08\xdf\xc6\xe1\xe8\xf6\x32\x37\x8d\x89\x72\x9c\x2d\xb1\x60\xe1\x27\x6c\x45\x53\x66\xea\xd6\x95\x43\x21\xbe\xea\x2c\x17\x8c\xb5\x42\x23\x1a\x00\xfd\xfc\x4c\x1c\x75\x31\x63\x57\xe5\xdf\x02\x85\x4a\xff\xdb\xcf\x86\xb8\x01\x36\x06\x3f\x88\x12\xc2\x01\x28\x64\xd1\x5e\xf8\xa9\x51\xcd\x86\xa4\xec\xf6\x7a\x73\x06\xdb\x4e\xec\xf2\x4a\x39\x72\xe8\xf7\xef\xc5\xdd\xd4\x8f\x82\xb2\xe6\xa0\xc5\xd3\xdb\x72\x35\x3b\x28\x5b\x1e\xb7\x4f\x3f\xed\x16\x61\x3f\x3f\x6b\x79\xe7\x36\xc9\x30\x5f\xc5\xce\x46\x8a\xd8\x27\xff\xe1\x10\xa3\x5f\x79\x59\xd0\x51\xaf\xe3\x24\xea\x9e\x35\x9d\x48\x87\x87\xe2\x1b\xa5\xae\x9c\xd2\x52\xeb\x15\x0e\x06\xe9\x08\x68\xf0\x71\x35\x8a\xd1\xeb\x5a\x61\x79\x33\xd2\x4c\x90\xc4\x26\xba\xa9\x71\x2c\x64\xa5\x43\xe6\x30\xa1\x4a\xc6\x59\x6e\xea\xa6\x9a\xc0\x4b\xf2\xd2\xef\x20\x12\x78\xed\x57\xe5\x54\x18\xd9\x0e\x43\x7c\x99\x46\xc0\xea\x01\xf8\xc2\xaa\x29\x21\x46\x10\x62\x90\x23\x1f\x4f\xbc\x86\x17\x47\x97\xde\xef\x44\xf2\x46\x87\xab\xf7\x8f\x5d\x26\x0a\x84\x7f\xc6\xa4\x7f\x2f\xd7\xa2\xf9\x15\xee\x5b\xba\xe9\xc7\xe9\x21\x14\x3a\xc0\x62\x14\x07\xb1\xcf\x06\x6e\x24\xb5\x92\xda\x8a\x53\xfb\x56\x3f\x19\x36\x84\x04\xfa\x07\xdc\x47\xba\x1a\x3f\x0c\xba\x9f\x4a\xe3\xa9\xe0\xfd\xa1\x5b\xa0\xa6\xc2\x0e\x49\xe5\x4e\xcc\xd8\x21\x4f\x58\xa9\x6b\x64\x46\xde\xd2\x68\x71\x45\xe7\x69\x08\xde\xe9\xa4\x6d\x6f\xaa\x75\x86\x63\x18\x1e\x59\xe9\x2f\x93\xc0\xc5\x76\x7a\x6f\xab\xba\xb1\xbe\x92\xa0\xdb\x3b\xc9\x78\xc5\x85\x56\xa4\x40\x47\x32\x33\xde\xa4\x74\x66\x0c\xd6\x13\xcc\xe1\xd5\xad\x1b\xb9\x32\x48\xed\xb7\xa4\xab\x45\xfa\xd1\x7e\x0f\xc4\x6f\x24\xf6\x66\x16\xf9\xac\xee\xff\x2a\x3d\xca\x55\x66\xb5\xc4\xe1\xa6\xf2\x2b\xf5\xa9\x0e\xfd\xe3\x6f\xb3\xce\xf1\x6e\xaf\x9a\x72\x23\x2a\x0e\x0f\x05\x87\x72\x56\x31\x84\x83\x6f\x0f\xfe\x0c\x14\x72\xa9\xa1\xd6\x12\x85\xae\x28\x0c\x29\x74\xdd\x99\xeb\x1a\x52\x18\xa0\x12\xca\x52\x49\x2c\x9a\x5d\x81\xe3\xb1\xae\xe0\x30\x77\xe7\x5e\x9d\x96\xe9\xee\xde\x4b\x3b\xd7\xa8\x6a\xca\xdf\x5c\xdd\xed\x38\xb7\xbd\x9f\x8f\x87\x52\x79\x3b\x06\x2b\x31\x15\x99\xe0\x9b\xb2\x65\x72\x35\x50\x8c\x5b\x4c\x65\x09\xc9\x6f\xc6\x34\x14\x50\x85\xc6\x4b\xae\xde\x30\xdb\xaf\x8f\x7e\x66\xb2\x7b\x69\x6a\x25\xb3\x21\x58\x9a\xd0\x8a\xc7\x63\xa4\x31\x79\xd1\x05\x31\xdb\x0f\xf7\x61\x43\xdb\x6d\xc8\x7e\x10\x30\x05\x16\x7a\x4e\x49\x28\xe8\x73\x4e\x52\x50\xa8\xfa\xe6\x5a\x2c\xe4\x6a\x65\x45\x37\x92\xc8\x21\x3e\x53\xcf\x7d\x76\x2c\xe9\x7d\x9b\x23\x09\x47\x42\xfc\x69\xed\xd3\x80\x28\xea\x89\xb2\xac\x5d\x69\x84\x21\x89\xe6\x14\x2c\x73\x9d\xab\x1b\xe5\x2b\xc7\x77\x14\x9e\xd6\x33\x8c\xd6\x9a\x54\xfa\xc6\xa8\xca\xf0\x84\x23\xba\x46\xe9\x9e\xb9\x81\xf0\xab\x6a\xc9\x27\x0b\x6a\x98\x0b\x72\xc1\xfa\xcc\xdf\x2b\xcc\x3f\x47\x8f\x30\x66\x0e\x92\x14\xa0\x51\x79\x41\xf3\xa5\x97\x12\x68\xa9\xed\x41\xba\xc2\xca\x62\x3e\x11\x75\x16\x27\x19\x0e\x05\x26\x76\x16\x4a\x62\xc2\xa3\x9f\x22\xaa\x4b\x33\x30\xe4\x96\x2e\xc8\x13\x23\x2b\x7c\x06\x91\x8f\xff\xcb\xcb\x0d\x45\xa2\x85\xae\xda\x27\x1e\x2f\x27\x7b\x07\x2a\xe3\x51\xca\x17\xac\x3d\xc6\x48\x25\x61\x76\x28\x9a\x7d\x84\xc0\xba\xa1\x09\xa8\xb7\x9f\xf6\xbe\x25\xc1\xc7\x9b\x75\x5a\xf2\xaa\x77\xf7\xf4\xcd\xa0\xb7\xc1\xa2\x49\x8c\xb3\xed\x2e\x65\x06\xe2\xcf\x3a\xc3\x0e\xbd\x15\xf8\xb3\x3d\xec\x18\x5f\xea\x6a\x29\xeb\x38\x1a\x51\x1a\xcb\xc5\xa6\x14\x26\x40\x57\xf7\xc5\x10\xb7\x61\x71\x54\x2d\x0d\xf7\xf8\x4f\x8d\x38\x13\xfd\xa5\x11\x87\x62\x7c\x74\x74\x34\x18\xd5\xfa\xcb\xfc\x56\x65\xfd\x63\x98\xb5\xf7\x6d\x4f\x8d\xc5\x95\xe9\xc5\x75\x76\x68\x0f\xbb\x5e\x88\xce\x48\x04\x46\xe2\xf5\xde\x01\x0a\xce\xa6\xbc\x45\xf1\x48\x14\x82\x9d\x4d\x73\x12\xf8\xae\x96\x39\xec\x2c\x40\xc3\xdc\xb3\x40\x28\xee\xf1\x8b\xfc\xb2\xc3\xb5\xc7\x3a\xb1\xf9\x09\xb6\x55\xa1\xee\x30\x83\xb7\xc1\xd1\xef\xb8\xe4\xb3\xad\x04\xda\x71\xfc\x78\x92\xc5\x6c\x63\xa8\x1c\xe6\x15\x99\xf8\x90\x41\x63\x00\xf1\x56\x67\x8d\x98\xc5\xa1\x76\x1d\x39\x6d\x2e\x3e\x5e\x65\xed\x10\x85\x21\xf0\x1e\x3c\xd7\x79\xc3\x15\x48\xcd\xd6\x25\x6c\x77\x4d\x75\x33\x58\x32\xe6\x79\x88\xbb\xf2\xce\x1d\x4c\x63\x0a\xb9\x58\x39\xf0\x01\xab\xaa\x91\x46\xe5\xdc\x64\x60\x3c\xa3\xce\x1e\xe2\x7e\xc8\x9b\xcc\x32\xe7\x3d\x37\x51\xc0\x20\xf0\xf4\x60\x0c\xa1\xc9\x87\xba\x6a\x94\xb7\x4d\x95\x29\xa8\x3a\x38\xd6\x17\xa4\xd2\x93\xbe\x06\xa8\x17\x0e\x0e\x56\x95\xd6\x33\x71\x53\xd9\x03\x89\x42\xe6\x9d\x05\x0e\xcc\x52\xac\x30\xed\x56\x3b\x11\xed\x00\xcc\x0e\xb0\x62\x80\x3d\x36\x5c\xfc\x7c\xc8\x42\x8b\xd3\x03\x22\xf7\x61\x68\xe4\xb0\x35\x0d\x90\xb2\x00\x61\x7c\xb4\x20\x47\x19\x63\xce\xac\x86\x61\x10\xce\x18\x55\x84\x78\x2f\xff\x26\x17\x10\xb6\xf5\x93\xf0\x7b\x42\x64\x2f\xaa\x3b\xdb\x07\x6c\xb3\x07\xaf\x26\xa4\x35\xf0\x63\xbd\xa0\x9d\x4b\xb0\x0b\x81\x09\xe6\xd2\xa4\x02\xcc\x5d\xa0\xdf\xda\xc1\xd9\x3b\xd0\xb7\xfd\x33\x5b\xc9\x78\x2e\x6e\x73\x43\x76\xc1\x47\x0e\xc9\x22\x36\x37\x44\xb9\xdf\x28\x1f\x29\x0f\xbe\xf5\xa2\xf0\xc5\x48\x9d\x15\x8f\x85\x98\xdf\x28\xd8\xd3\x2c\xb2\xfc\x6f\x11\x5b\xff\x77\x8b\xab\x77\x87\x13\x99\x4e\xa3\x84\xd5\x4e\x72\x70\xae\x14\xfc\x8b\x82\x4b\x9c\xbd\xf1\xbc\x8c\xa3\x76\x92\xaf\x02\x6b\x3a\x14\x9f\x24\xdd\xa2\xd6\x62\xae\x4a\x55\x49\x88\x50\xc0\x21\x3b\xe3\x6e\xfc\xfc\x19\xfb\xfe\x46\x53\x7d\x10\xea\x11\xe8\x32\x13\x69\x8a\xdb\x76\x10\x3b\x5f\xe9\x0b\xc4\x99\xe8\x51\x40\x79\xef\xb3\xdd\x4f\xe1\x99\x28\xec\x53\xf8\xeb\x3e\x0f\xa1\xd3\x09\x1e\xa2\xb0\x2d\x9e\x17\xe9\xb4\x2c\x28\x83\x56\x76\x3b\x70\x45\x1f\xb4\x0e\x5d\x81\xe4\x39\x00\x2e\xae\x4a\xa8\xf8\x51\x6a\x8c\x3a\xd5\x33\x57\xa7\x04\xcd\x9d\x66\x73\x7c\x78\x47\xe0\xd9\x46\x4f\x2c\xc8\x67\x8e\xfb\xe0\x2f\xdd\x21\xe1\x1d\x83\xf2\x36\x0c\x9a\xa2\x99\x37\x95\xc7\xea\xed\x31\x1e\x13\x09\xba\x4d\xe4\x24\x15\xf4\x86\x91\x47\x8e\x3f\x80\xd7\x79\xef\x9a\x37\x76\xdb\x32\xaf\xc1\x56\xfe\xb8\x0f\x61\x75\xca\xe0\xad\xfa\xb2\x7b\x8a\xc6\xf0\x81\x15\x75\x73\x49\x4c\xc4\xc1\xb9\xc9\xb7\xa4\xf8\xf4\x53\x67\x87\xc6\x48\x8e\x77\xb1\x81\x3d\xca\xa5\xcc\xf2\x8c\x4a\xac\x62\xb9\x6e\x4a\x8f\x90\x65\xc6\x6e\x41\x6d\x38\x0a\x6d\xce\x97\xca\x9b\x86\xd1\x06\xd2\x0e\xc3\xda\x95\xb9\x18\xe2\xe3\x12\x96\xe1\xf8\x0f\x72\x02\x93\x70\x09\x16\x76\x45\xc5\x73\xb0\x0d\x94\x9c\xd6\x14\xce\xcc\xc3\x40\xad\x38\x02\x1e\x89\x0d\xda\x2a\xf4\xdd\x58\xe6\x65\x83\x55\x29\x78\x54\x20\x16\x5d\xe7\xda\x6b\x60\x62\x50\x94\xf6\x7e\xa9\xeb\xfb\x42\x36\xb5\x5e\xca\x9a\x22\xbf\x40\x80\xa2\x4c\xa4\xf8\xbb\x72\x5f\x38\x8f\x25\x96\xed\x49\x4b\x88\x09\xce\x11\xa3\x7c\xf9\xba\x62\xbb\x74\x13\xff\x34\x75\x5c\x06\xd4\x57\x09\x98\xb6\xdb\x00\xd9\xf5\x35\xae\x56\xee\x1e\xf3\xd3\x25\x85\x0b\x75\xb8\x47\x22\x1a\xe4\xe7\x50\x4a\xc0\x77\x63\x02\x6e\x05\x70\x76\xd0\x6d\xa8\xe9\xdb\x0b\x7b\x65\x0f\x52\x64\x68\x88\xeb\x15\x4b\xb6\xc6\x58\xb1\xd8\xd3\x7b\x5a\xad\xd8\x3e\xfc\xa7\xa8\xcb\x10\x3c\x45\x96\x22\xb0\xc4\x61\xd7\x6b\xa8\x5a\x2c\x99\x7c\xcd\xa4\x0a\xbe\xab\x80\x6f\xd3\x8b\x32\x2d\x8c\x1e\x85\x4a\x73\xf4\x86\x2d\xb5\x90\x71\x26\x2e\x6a\xcf\xee\x1d\xa8\xc7\x92\x07\xcf\x30\xb4\x9d\xb4\x8f\x61\x3d\x0e\xe9\xc3\xfb\x48\x9f\xc3\x26\xd4\xe8\x26\xf4\x03\x1b\x5f\x09\xab\xd4\xb5\x37\xfb\x78\xc5\x00\x54\x89\x49\x43\x01\x6c\x60\x5a\x73\xb5\xdc\x5d\xf0\x5c\xd0\xab\x78\x82\x3c\x6c\xa9\x38\x82\x16\x02\x91\x59\x29\xe6\x24\x8b\xc2\xd7\x9e\x41\x9d\x4a\x8a\x99\xba\x11\x85\x5c\xab\x0a\x0c\x56\x3a\x0e\xb3\x74\xdd\x54\xe6\xda\xd5\x0f\xe4\x9a\x19\xbe\x0b\x38\x0d\x24\x68\xac\x54\x85\x43\x79\x6d\x42\x96\x42\x99\x3a\x5f\x92\xcd\x68\xa1\x6f\x44\xa1\xcb\x39\xaa\x5f\xbe\x08\x38\x86\xed\x59\xd5\xae\x83\x38\x9c\x3a\x00\xe9\x0d\x4b\xc3\x53\xfe\xb8\xe0\xe7\x8b\x6e\xee\x7b\xae\x30\x0c\x75\x18\x2e\x82\xce\xed\xd8\x3e\xec\x23\x48\x62\x8c\x62\xfa\xfc\x7d\x16\x90\x16\x76\x69\x47\x04\x20\xdd\x8c\x22\xff\x96\x26\x6d\x92\xba\x72\xf5\x73\x98\xa7\x59\x3b\x02\xde\x58\x41\xbb\xe5\xc3\xe7\x06\x4f\x5f\xe3\xbd\x33\x7a\x15\xcb\xc6\xfa\xc6\x79\x74\xcf\x07\x9c\x94\x73\xcb\xd9\x20\x4a\xc5\x8a\xd0\xa1\x74\x69\xad\xa9\xe2\x6c\x4d\xfa\x91\x97\x81\xbc\x52\xbb\xe7\x8a\x44\x0c\x27\x66\xcc\xf6\x5b\x86\x61\x9a\xc9\x12\x75\x9f\xdc\xd1\x39\xbd\x7f\xe0\xa4\x10\xa9\x84\xee\x84\x9c\xd8\x67\xf3\x6d\x53\xb6\x02\xf0\x82\x9d\xae\x1d\xee\x94\x3e\x13\x82\x1e\x9c\x47\x2a\x44\x2c\x79\xab\x8f\xac\xe6\x50\x93\xce\xfb\xa8\xff\x20\x8e\xc5\xfb\xf7\x0c\x13\xf4\x02\xbb\x00\x9b\x7d\x5e\x91\xd8\xd7\x15\x11\x49\x15\xef\xad\x92\x71\xa3\xb1\x32\x2c\xa6\x3b\xa9\x9f\x1a\x59\xec\xb9\x7e\xf0\xd8\x8b\xff\x8c\x96\x4e\x4e\xeb\x46\x16\x43\xaf\xaa\xb0\x88\x61\xbc\x05\xfe\x5a\x7f\x97\xfb\xc8\x3d\x84\x95\xc0\x3c\x84\x3f\xf2\xf0\xa6\xc3\xcb\xdd\x33\xff\x8a\xae\x28\x81\x90\xf8\xda\xd9\xf2\x96\x0f\xf5\x99\x78\xf0\x20\x1f\x78\xaf\x32\xde\xbb\xc8\x2f\xf9\x2b\x2e\xf2\xcb\xb8\xc0\x06\x7b\x41\x94\x5b\xc1\x70\x7c\x0e\xb6\x1f\x3a\x1e\x4b\x7a\x27\x09\x88\xd8\x48\x00\xd2\xc4\x00\xe1\xce\xcc\xe4\x15\x3c\x00\x8b\x84\xb6\xc6\x50\xe3\x4e\x26\x8b\xf5\xce\xce\xce\x7a\x42\xaf\xac\x88\x07\x85\x15\x42\x78\x3c\x16\xff\x82\x02\xeb\x53\xad\xaa\x29\x0b\x31\xa3\x28\xaa\x8d\xbd\x2f\xec\xec\x96\xb2\xba\x72\xc7\x9d\x8b\x79\xc0\x42\x8f\x9c\xb2\x20\x99\x97\xc5\x74\x1a\x52\xc2\x52\x76\x75\xff\x83\xfb\x7c\xa8\xcf\x80\xbf\xfe\x7f\xe4\xbd\x69\x7f\xdb\x38\x92\x38\xfc\x3e\x9f\x02\xc9\x7f\xb7\x29\x25\x92\x2c\xca\xb6\x7c\x64\xdc\xbd\x92\x2c\x75\x3c\x39\x37\x76\x92\xdd\x71\xa7\xb3\x10\x05\x59\x6c\x53\xa4\x86\xa4\x2c\xab\x27\x99\xcf\xfe\xfc\x50\x55\xb8\x48\xca\x47\x92\x9e\x99\xdd\x27\x2f\x62\x1b\x04\x0a\x40\xa1\x50\x28\x14\xea\x98\x0b\x2e\x2f\x60\xd6\x5c\xed\xfa\x1a\x13\x26\xda\xa9\x5e\xef\x2a\x4e\x28\x37\x08\x04\xfd\xe9\xc5\xf2\x77\xe4\x69\x50\xa0\xd4\x7a\xe1\x44\xc4\x79\x38\x5d\x3b\x46\x4c\x06\x09\xd6\x3b\x1f\x84\x71\x80\x53\x93\xdc\xc1\x95\x34\xa0\x84\xe6\x69\x18\x89\xc3\x28\x8c\xb5\x82\x4b\x79\xf0\x40\xfa\xb1\xbb\xee\x1e\xca\x72\x51\x32\x81\x2a\x6e\xa1\x86\x9e\x1c\x29\xa8\xb6\xd8\xbb\x3c\x8c\xc2\x7c\xed\xbc\xa0\x2d\x52\x91\xe7\x6b\x15\xfa\x94\x22\x51\xd8\xa9\x81\xe6\x3c\xaf\x01\x26\xed\x40\x33\x72\x28\xc9\x94\x30\x7c\x74\xc4\x3c\xf4\x25\xf4\x0a\xe4\x0e\xdf\x89\x23\xc2\x5d\x2c\x4f\xd9\x11\x79\xd8\x12\xd0\xa7\xfa\x23\x4f\xd7\x28\x37\x83\x1d\x52\x8e\x21\x5f\x5a\x73\xbe\xd0\xf9\xe9\x59\x4d\x0e\x42\x01\x2f\x64\xb8\x17\x75\xcc\x1f\xa1\x36\xa4\xce\x4f\xcd\x7e\x64\xbe\x51\xb7\x9b\x74\x17\x74\x7b\x99\xf1\x4c\xb2\x44\x48\x39\xdc\x40\x25\x93\x5c\xb8\x64\x3a\x65\x72\x7d\xf3\x8c\x25\xab\x18\x9c\x62\xd4\x7b\x97\x81\x04\xe6\x33\x26\x2b\xb1\x3c\x99\xc0\xef\xf2\x82\x87\xb1\xbc\xd5\x92\xbd\x26\xf5\x04\x37\x5b\xd5\x55\xcb\xc5\x94\x9c\x2c\x64\x2d\x5b\x5b\xf1\x6e\x48\xbf\xef\x06\xbb\x51\x97\xc6\xaa\x9a\xce\x99\x80\xfb\xe5\xe8\xc8\xf0\xa3\x92\x8c\xbf\xb5\xc5\x8e\xb5\x6b\x59\x90\xcc\xe7\x89\xc9\x00\xbb\x5e\x88\x8c\x82\x89\xda\xf7\x38\x1e\x7b\xa0\xa3\xc2\xb0\x3e\x0b\xe5\x16\x5a\x08\xeb\x63\x08\x45\x9e\x69\x8a\xe3\x97\xd9\x7c\x45\xfc\x21\x49\x0a\x31\x06\xd1\xd2\xbb\xf3\x27\x0a\x9c\xa5\x0b\x20\x70\x16\x3b\x84\x1c\x79\x76\x74\x90\x9a\xa7\xf6\x87\xac\x1e\xdb\x16\x7c\x58\xe9\x42\xe4\x60\xa4\x9b\xbe\x48\x02\x38\xe9\x3f\xd5\xfc\x7a\xb5\x95\x1f\xd1\x3e\x8e\x19\xea\x80\x53\x37\xf8\x4b\xe1\x27\x33\x8d\xcd\x2c\xdc\xb0\x6e\xc9\xea\xff\x00\xde\x8c\xf1\x3a\xac\xbb\xb9\x12\xc9\xb0\xe3\xff\x91\xdd\xfe\x0f\x86\x4d\x03\xcb\x2f\x30\x9c\x7d\x94\xa7\xcb\x30\x9b\x3d\x72\x4f\x8c\x7f\x3c\x8b\xd7\xa2\xe5\xbd\x18\xfd\xff\x76\xee\x5d\x25\xf9\xb8\xcc\xba\xb0\x81\xc1\xdd\xa7\xb8\x79\xbf\xcb\x46\xf9\xf6\x6d\x42\xdc\x9c\xb6\x49\xf1\x7e\xa2\x2c\x6a\x00\x7d\x90\x5c\x02\x38\x29\x5c\x51\x54\xa2\x2a\xb4\x58\x01\x13\x99\xf2\xfe\xe0\x6c\x12\xa6\xf9\x9a\xcd\xd0\x4f\xf6\x24\x47\x4a\xca\x9c\x48\x64\x0d\xb4\xe9\x81\x0b\x38\x66\xa1\x16\xd7\x7c\x2e\xd9\xac\xd2\xce\x62\x1f\x3a\x42\xbc\x5e\x3b\xd7\xc0\xbb\xf2\x2e\x09\x03\x3b\x01\xc3\xd9\x33\x0d\x09\x0a\xf1\x55\x4f\x4e\xb1\xc5\x58\x5b\x85\x5a\xa5\x4f\x70\x50\xd0\x43\x16\xf9\x39\x1a\xe7\xc5\x06\xf3\x21\xcc\x7f\x4e\x11\xf8\x52\x1c\x75\x96\x30\xda\xd4\xda\x5b\x5f\xd1\x7a\x4f\x9d\x22\x34\x74\x64\x41\xec\x91\x83\x57\x3c\x85\x1f\xdd\x91\x18\xcb\x8b\x6c\x13\xa6\x99\x76\xd9\x3b\x48\x5d\x23\x86\x98\x39\x77\x83\xf9\x95\x24\x50\x44\xc6\x91\x36\x4c\xb2\xcf\xf6\x73\x0b\xb3\x4f\x58\xe7\x63\x51\x14\x40\x8a\x00\x17\xf8\xda\x56\xed\xfc\xd7\xad\x8f\x4f\x0e\x7f\x99\x3c\xa9\xcb\xff\x7e\xa9\xff\xf4\x6f\x5b\xae\xb1\xac\x6c\xf4\x93\xfc\xff\xdc\xff\x28\x29\xfe\xa7\x9f\x7e\xf2\x4a\x6a\xd0\x0f\x29\x44\xc0\x32\xea\xcf\xc4\x7e\x8d\x46\xf1\xe7\x2e\xb8\x23\xc5\x98\xa3\x12\x40\x90\x85\xd0\x2e\xf2\x2e\xa7\xad\x40\x54\x15\x67\x93\xbc\xe4\xe9\xa5\x6b\x25\x43\x14\x2c\xa5\x90\x65\x6e\x3d\x98\x57\xab\x75\x24\x55\xa1\x66\x04\xd6\xa5\xc0\x88\xdd\x4d\x82\x51\x52\x6c\x33\x09\x65\xfa\x93\xe5\xc9\x62\x93\xbe\x40\x72\x13\x85\x30\x7d\xf3\xb7\x30\x08\x09\x1e\x13\x4b\x80\xbc\x0b\x06\x41\x8f\x56\xc8\x50\xec\xa0\xb0\xea\x62\x5b\x2f\xab\xd4\xed\x76\x96\xd7\xf2\x66\xad\x24\xf9\x4e\x96\x57\x40\xc5\x25\xfa\x27\xaf\xc0\x5d\xa8\x0f\xe3\xa7\x56\xa9\x7e\x2b\x26\x8e\x0f\x61\xf6\xc4\xb7\xb6\xd8\xe9\xeb\x77\x6f\x07\x43\x36\x3a\x79\x31\x3c\x64\x51\x38\x9e\x24\xf9\xd6\x6f\xd9\x56\x14\x8e\x3f\x2d\xf3\xe9\x7e\xeb\xb7\xec\x01\x78\x34\x2c\xd6\x69\x28\x79\x64\x2d\xa8\xb3\x4e\xdb\xef\x00\x0f\x1c\xcc\xd2\x64\x1e\x2e\xe7\xec\xf5\x29\xeb\x2d\xf3\x59\x92\x66\x2d\xd6\x8b\x22\x06\x75\xe1\xe5\x46\xa4\x57\xf2\xce\x25\x6f\x1d\x99\x31\xb2\xc8\x92\x65\x1a\x50\xba\xe7\x30\x63\x17\xc9\x95\x48\x63\x15\x7f\xb4\x7f\x7a\xdc\xcc\xf2\x75\x24\x58\x14\x06\x22\x56\xce\x42\x64\x6a\xb1\xb5\x85\xe9\x6f\xd4\xa1\xfd\xe2\x64\x30\x7c\x75\x3a\x84\x83\xa5\xf5\xe0\x81\xb7\xcc\x50\xa4\x0f\x72\x78\xe7\xdb\x62\x67\xaf\x8f\x5f\xd7\x26\xfc\x2a\x9c\x8c\x45\x5c\x3f\x64\x1f\x94\x65\x20\x31\x52\x11\x07\xc9\x84\x5c\x29\x80\x19\xab\xa8\xdc\x62\xd2\x78\x00\x79\x30\x29\x68\x36\x2e\x2f\x85\xd7\x8d\xd1\xab\x2a\x8c\x9b\xca\x72\xcd\x8d\xe6\x2d\xa7\x2c\x5b\xcf\xf2\x7c\x91\x1d\x6e\x6d\xad\xc2\xcb\xb0\xb5\x9a\xf1\x7c\x75\xd1\x4a\xd2\x0b\xf8\x7b\x0b\xcf\xcc\x21\x0d\xc0\xae\xae\x06\xd5\xca\x16\x22\xb0\xdb\x19\xe9\x12\x0d\x46\xa6\xcb\x88\xbd\x3b\x1b\x35\xf7\xd9\x44\x48\x74\x5a\x12\xc8\xbb\xb3\xd1\xfe\x31\x16\x96\x89\x84\x3c\xad\x4d\xec\x97\xf1\x3a\x17\x19\x7a\x59\x13\x66\xf5\x23\xb5\xf8\xeb\x52\x50\xd8\x43\x20\x24\xa8\xfa\x42\xd6\xa4\xf8\x4f\x04\x2c\x04\x7b\x94\x8b\x54\x40\x1c\xe0\x89\xc0\xec\xde\x6c\x2c\x24\x76\x71\x78\x13\x48\xac\x60\x00\xfc\xc8\xda\x56\x56\xed\x89\x78\x03\x2d\x5c\xb0\x51\xb2\x12\x29\x1b\xc3\xa2\x27\xb1\xa5\xe3\x36\x7d\xdc\x00\x15\x5a\xf7\xa1\x31\x80\x75\x72\x70\x05\x90\xcf\x81\xa3\x30\x4c\x68\xe4\x39\x6f\xb0\x9c\x5f\x82\x7b\x42\x2c\xd9\x5a\x80\x9e\x0d\x68\xca\x08\x5e\x6f\x8b\x54\x5c\x85\xc9\x12\xc4\x0a\xc8\x92\x9c\xe5\xa9\xe0\x73\x38\xdc\x75\xda\x1c\xa4\x2c\x91\x16\xd9\xe9\xa9\x56\xbf\xa6\xd8\x18\x22\x7b\xc8\xaa\x0d\x13\xf5\x5b\xc9\xd6\xe6\x4e\xa0\xa4\x88\x53\xeb\x16\x89\x7a\x71\x89\x86\x65\x1c\x96\x62\x86\x4b\x84\xb0\xb1\xc8\x57\x42\xc4\xac\x7d\xdd\x6e\x5b\x19\x1a\xdb\xd7\xa3\x91\x2b\x61\xa8\x61\x41\x84\x7a\x39\x2c\x5a\x31\x42\x82\x7d\x3b\x91\x98\xf2\xbb\x26\xe6\x55\x99\xe0\x2c\x26\x85\x60\x2a\x5f\xce\xe4\x19\x9f\x8a\x5c\x27\x39\xaf\xd2\xb6\x65\x79\x5a\x65\x30\x07\x59\x41\x49\x4f\x10\xcc\x78\x3a\x48\x26\xa2\x97\xd7\x42\xeb\xea\x5f\xa4\x55\xcb\xdb\x09\x2b\x04\xec\x4f\x47\xac\x7d\xbd\x37\x72\xc3\xcf\x42\x30\x20\x05\xd7\x82\xe9\xb8\xb8\xb6\xaf\x07\x6d\xd9\x3c\x60\x3f\xfc\xc0\x08\xd0\xb1\x03\xa8\x44\xd3\x01\x6b\x32\xd9\xec\xa9\x5b\xc5\xde\x4d\xfe\xd3\xa2\x57\x89\x4d\xbc\xd7\xfb\xed\xca\x91\x0c\x4b\x23\x19\xde\x65\x24\xc3\x9b\x46\xd2\xb9\x6d\x24\xd5\x43\x19\x95\x86\x32\xda\xbb\xc3\x50\x46\x37\x0d\x65\xfb\xe6\xa1\xf8\xed\xf6\xa6\xc1\xec\x97\x06\xd3\xbf\xcb\x60\xf6\x6f\x18\xcc\xce\xcd\x83\xe9\xb4\x37\x8f\x66\x50\x1a\xcd\xf1\x5d\x46\x33\xb8\x61\x34\xbb\x37\x8f\x66\xa7\x5d\x35\x9c\x12\xad\x7b\xbf\x2c\xa7\xd3\xe9\xc4\x2b\xc4\x7c\x73\x6b\xe3\x24\xf6\x4b\xeb\xdb\x2f\x93\x9a\x1e\x61\xb3\xf9\x74\xf3\xf4\x6a\x85\x92\x3f\xfd\x89\x75\xe5\xdd\xb2\x86\xf3\xde\x6f\xd7\x4d\xe3\x5b\xb7\x33\x43\x45\xdc\xcf\x49\x0e\x9e\x01\x51\x64\x4e\x2d\x7a\xae\x50\x7e\x96\x18\xf9\x04\x8f\x13\xf0\xf6\x70\x21\x4c\xc3\x28\x97\x07\xe2\x32\x67\xd9\x32\x4d\x93\x0b\x7c\x97\x0d\x53\xad\xa9\x63\x8a\xfb\x58\x73\x71\xa7\xf2\xd4\xaa\x09\x7c\xc6\xcc\xb1\xb8\x4c\x05\x4b\xda\xcf\x9f\x25\x92\x8f\xf7\xdb\x88\x66\xdd\x4e\xa2\xdb\x00\x41\x5e\x33\x1a\xd5\xcb\xad\x4d\xad\x1f\x61\x6b\x8c\x64\x35\x07\x4b\x1b\x57\xbd\x92\x42\x08\x2b\x20\xa2\x08\x79\x22\x11\xeb\x57\x39\x4a\x97\xf9\x62\x99\xb7\x9c\xea\xc5\x19\xd3\x0e\x2d\x8e\x42\x8f\x03\xcf\x9d\x96\x3c\x57\x07\xc4\xc8\x4d\xfb\xfa\x53\xa7\x51\xe5\xf8\x30\x55\xb5\xb3\x58\xad\x42\x05\x33\x9e\x66\x89\x65\xdc\x61\x38\x25\x7b\x67\x5a\xa3\x27\xac\x66\x4d\xf5\xc7\x1f\x7f\x64\x7e\xbb\xce\x7e\x60\xed\xeb\xed\xd1\xa8\x5e\x8e\x0d\xd7\xbe\x3e\x1e\x60\x33\x6b\x69\xa9\x76\x71\xa6\x0f\xaa\x7e\xff\xb2\x69\x27\x4b\x51\x29\x49\xe0\x71\x1e\x05\xb9\x30\x66\xf3\x65\x94\x87\x4d\x10\x02\xcc\x66\x78\x2b\x56\x61\x3c\x21\x79\x05\x43\xd8\xd8\x40\xd0\xbf\x23\x4a\xc8\x15\x02\x1c\x78\x25\x84\xd6\x6d\x3c\x63\x93\x68\x48\x34\x61\x38\xc1\x17\x4b\x45\xad\xef\xec\xa9\xc8\x2b\x25\x33\x23\x92\xb5\xac\xd0\x6a\x3a\x70\x7a\x20\x9c\x27\x0a\x32\xa6\x81\x0b\x98\xd0\xa2\x59\x68\xbc\xf0\x21\x6c\xc4\xff\x6f\xc4\x31\x6c\x20\x85\x32\x5b\xf8\x92\xb7\x3a\xc7\xf6\xaf\xa6\x1e\x82\x2d\xf1\xad\x56\xaf\x53\x73\xac\xef\x26\x93\x88\x95\xd8\xec\x74\x8c\x03\x83\x15\xd3\x37\xe2\xc2\xd5\xeb\x18\x22\x26\x81\xc3\x18\x37\xd7\x97\x2b\x91\x66\x76\xfe\x23\x75\xdb\x33\x31\x1a\x64\x6d\x67\x7f\x33\x50\x1f\x01\x17\x5a\x61\x86\x8c\xec\x27\xf6\x01\x83\x55\x2e\x16\x22\xce\x24\x17\x82\x10\x16\x97\x62\xbd\x80\x0b\x09\xfa\x22\xa3\x79\x1a\x98\xb2\x90\xe1\x34\x8c\x45\x4a\x7a\x3c\x20\xc6\x0f\xe9\xe3\x24\xf5\xf7\x5f\xbe\xf9\xe9\x06\x62\x39\x33\x77\x48\x30\x08\x95\x58\xd9\xbc\x86\xf6\x6d\x13\xa9\x09\x50\xd5\xd8\x44\x57\xf6\x63\x11\x6e\xe9\x02\x31\x6a\x3a\xcb\xf0\x4e\x42\x14\xa5\x49\x09\x89\x00\xfb\x2b\x12\xc1\xf7\x90\xc0\xe5\x71\x0b\x09\x31\x97\x71\x08\x63\xb1\xae\x7c\xa4\x2d\x91\x2d\xef\x2a\xad\x13\x6f\x2c\x89\xd4\xf6\xf9\x15\x80\x54\x33\x1a\x8d\x8e\x9d\x27\x31\x6a\xbe\x5f\xd1\xbc\x6f\x37\x87\xc8\x07\x4f\x7c\x67\x4a\xf6\xb1\x24\x47\x39\xa9\x18\xe5\x13\xbf\x20\x8a\x98\xb1\x4e\x64\x67\x93\xaa\xb1\x12\x8a\x4e\x57\x10\x83\xb6\x44\xc1\xf6\x09\x15\x18\x39\x16\x8f\x14\x7d\x28\x48\xa1\x48\x1e\x29\x4f\x58\x6d\xa2\x0b\x1d\xf1\x02\x83\xed\x6e\x38\x15\xca\x18\xbb\xf1\x10\x29\x57\x76\xa2\xff\x1a\x39\x20\x90\x3b\x4f\xed\x74\x42\x9c\xe6\xfc\x66\x49\x2b\xee\x57\x37\xdd\xae\xdc\xd0\xc3\xd6\xda\x6a\x38\x65\x40\x55\xa7\x35\x5c\xcd\x3e\xcb\x66\xf2\x44\xee\x9a\x93\xb5\xe2\xa6\x55\xee\xc5\x95\x98\x6e\xec\x66\x68\x75\xe3\x77\xaa\xfb\xe9\x38\xfd\x6c\x3d\xb6\xbb\x52\xe2\xd9\xe3\xad\xbb\xf5\x37\xb2\xfb\xdb\xaf\xee\x6f\xfb\xa9\xbd\x64\xab\x59\x18\x09\x56\x73\x34\x23\x66\x72\x15\x72\xfa\x8d\xfd\xef\x43\xff\x34\x80\x5a\x97\x3d\x36\x10\xea\x4a\xec\xa9\x3b\x6f\xd0\xa5\x03\x7e\x83\xc6\x31\x9f\x85\xe9\xe4\xd3\x82\xa7\xf9\x7a\x6b\x15\xac\xc2\x49\x3e\x03\x15\xe4\x2a\xd8\xa4\x80\xdc\xf9\x6a\x05\xa4\xe4\x8a\xab\xe0\x1f\xa8\x82\xb4\xe2\xdf\x5b\x87\x76\x14\x8e\x53\x48\xfc\x9c\x31\xb2\x0e\xd5\xf9\xa1\x09\x03\xad\xdf\x32\x36\x4f\x26\x4b\x74\xee\x8d\xe5\xe9\xf2\x5b\xa6\x9f\x7a\x93\x34\xbc\x00\x2d\x58\x21\x8b\x20\xf9\x0b\xe3\x00\x79\x7e\x08\xa7\x28\x69\x15\xe3\xc5\xfc\xb7\x0c\xd4\x88\x0b\x1e\x5c\xf2\x0b\xb1\x65\xba\x82\x13\x43\x0d\xd6\x1a\xa7\x0a\x08\x95\x4c\x41\x3f\xbe\xcc\xd8\xf3\xe5\x2c\x96\x17\x29\x6c\x5a\xab\x17\x46\x60\x59\x6e\x4f\x13\xc9\xfb\xe0\xd8\xbb\x5e\x44\x3c\xa6\x11\x26\x73\x91\x99\xd9\xea\x89\x0c\x0a\x80\x0e\x0b\x41\xad\x78\x5c\x91\x31\xd1\x8c\x82\xc7\x13\xb6\x0a\x32\xf5\x67\x4d\x67\x50\x07\x41\xe2\x64\x38\x1c\xb2\xd3\x7c\xc2\xfc\x76\xbb\xd3\xf2\x9b\x9d\x76\xdb\xaf\xc3\x71\xf7\x0e\x8f\x2f\x25\xb3\x48\x5c\x1d\x6e\x6d\xad\x56\xab\x56\xb2\x10\x31\x84\x32\x00\x94\x25\x71\x14\xc6\x62\xb1\x1c\x67\x5b\xed\xf6\xde\x41\x7b\xe7\x60\x6f\x77\x4b\x3b\xd8\x69\x4c\xce\xf2\x79\xf4\x6d\x70\x32\x07\x10\x05\x8b\x9a\x86\xd7\x62\xd2\x84\x2f\x74\xeb\x62\x13\x71\x15\x06\x22\x6b\xb0\x17\x3c\x0f\x63\x23\xc3\x40\xd8\x73\x96\x04\xc1\x72\xb1\xd6\x5e\x95\x12\xcc\xa3\x40\x44\xd1\x23\xb6\x48\xb2\x50\xa1\x0f\xed\xc7\x00\x6c\x43\x8a\xcf\xa9\xe0\x19\x0b\x27\x22\xb9\x48\xf9\x62\x16\x06\x6c\xf0\xe7\xe7\x16\x64\x30\xf9\x45\xc0\x52\xf0\xca\x96\x52\xde\x15\x51\x94\xb5\xd8\x49\x9c\x0b\x78\x56\x85\x48\xaa\xf9\x5a\x4b\xba\xe8\x69\xce\xa3\xa6\x7a\x34\x87\x94\x5a\xf8\xd2\x88\xe1\x16\x6a\xb9\x88\x44\xbe\x5e\x08\xdc\x73\x75\x4b\x1c\x53\x8d\x33\xa6\x1f\x4c\xc0\x8b\x01\xee\x05\x5a\x73\xaf\xf3\x60\xf2\x8b\x54\x00\x7d\xb0\x24\x56\xfe\xf3\x1a\x16\x19\x21\xf3\xc9\x15\x87\xd8\x4a\x8f\x95\x96\x3b\x4b\x52\x48\x49\x96\xac\xd8\x1c\xfc\xda\x45\x14\x69\x2c\x65\x2d\xf6\x2a\x61\x22\xcb\xf9\x38\x82\xbc\x91\xf8\xe4\x0a\x6b\x9c\xe5\x3c\x9e\xf0\x74\x92\x61\x9a\x77\xc6\x21\x8a\x46\xe6\xf4\xff\x4e\x49\x47\xd6\x38\xcc\xfa\x3c\xa0\x9c\x3b\x15\xfd\x4a\x10\x15\x88\x68\x91\x4f\x6c\x9a\x2c\xf3\x30\x16\x60\x77\x09\x58\xc5\x58\x3f\x2a\xf0\x96\x5c\x5c\xd8\x01\xf0\xb2\x2e\xd7\x69\x2c\x66\xfc\x2a\x94\x53\xe5\x19\xa6\xf0\xce\x60\x3b\xb1\x74\x19\xe1\x03\xb9\x95\xeb\x0c\x6e\x1c\x8b\x34\xb9\x0a\x27\x26\x46\x80\x9a\xca\x20\x89\x33\xc9\x15\x96\x3a\xbb\xd5\x28\x49\x51\x87\x4e\x64\xc3\x23\x8b\x68\x1a\x4e\x63\x85\x33\x60\x09\x61\x10\xe6\x14\x58\x00\x76\x6b\x66\xcb\xe2\x4d\xc0\x07\x92\xfc\x55\xc8\x01\x0a\x4e\xc9\xa4\x4b\x15\x6c\xc8\xb3\x9c\xf5\xb2\x10\xef\x0b\xa3\x65\x14\x7d\x80\x16\xb5\x51\xbd\xc1\x3e\x48\x51\xbe\xf6\xa1\xde\x60\xcf\x78\x34\xa5\xed\x53\x7b\x56\xc7\x67\xf6\x57\x3c\x4d\x93\x15\xab\xbd\xe2\x75\x2b\x87\x11\xc6\x66\xc3\x4b\x64\x86\xd1\xea\x70\x0a\x29\x79\x93\x30\x3e\x1f\x87\x17\x4b\x49\xe3\x10\x32\x89\x16\x1a\x81\x73\x34\xd2\xc7\xc5\xa2\xa5\x5e\x66\xa2\x05\x28\xb2\xb6\x28\x1d\x1d\x66\xf4\xac\x07\x50\x93\x65\xc6\x6a\xbd\x3a\x04\x83\xa0\x5c\x8c\xf2\x44\x00\xd8\xc1\x2c\x09\x03\x89\x83\x85\x88\x27\x19\x5b\x2c\x21\xb7\x13\xc4\x14\x5b\xa4\x62\x2a\x52\x41\x8e\xcc\x63\x1e\x5c\xae\x78\x3a\x51\xf1\x35\x78\x1e\xd2\xa6\xc4\x6b\x6a\x08\xe6\x68\xb3\x30\xcb\x93\x94\xf6\x78\x92\xb2\x0f\x22\x83\x70\xfc\x0b\x70\xef\x0f\xf0\x2e\x33\x98\x25\x09\xec\x3c\x64\x23\x84\x42\x4a\xcd\x95\x09\x67\x4a\x60\x03\x07\x71\x83\x7e\x5b\x66\x60\x6e\xc3\xb5\xe1\x05\x5f\x2c\xd2\x64\x91\x86\x52\xfe\x8d\x92\xf8\x02\xc3\x2b\x67\x49\xb4\xc4\x17\x51\x0c\xad\x01\x43\x51\xfd\x93\x53\xdd\x24\xcc\x16\x11\x5f\xd3\xee\x77\xbb\xe4\x99\x8a\x9a\x46\x18\x32\x47\x8b\x9a\x9d\x04\x51\x38\x36\x80\xee\x25\xe9\xad\x59\x6d\xbf\x39\x0e\x73\x7d\x2b\xb3\x40\x83\x1b\x3b\xf5\x8d\x76\x4c\x0e\x06\x24\xfd\xf8\x5d\x68\x9c\x48\xba\xb5\x87\x41\x91\xdd\x24\x92\x7e\x4e\x85\xb8\x04\x6f\xa7\xc1\x3a\x0d\xa3\x28\x0c\x1a\x4c\xe4\x41\x0b\x8f\x2b\xf0\xdc\x88\xd7\x2c\x5f\x2f\x34\xc3\x0d\x28\x78\x1c\x77\xfc\xb6\x5f\xca\x1d\x1c\xc1\xc3\x5a\x04\x9e\x55\x88\x2e\xa2\x08\x79\x0e\xda\xeb\xc2\x5e\x25\x79\x61\x63\xd4\x5e\x89\x65\x9e\xf2\x88\x28\xbd\xc5\x86\x92\x63\x49\xa4\x6a\x74\x6b\x37\x97\x49\x18\xc0\x53\x17\xb7\xa0\xf2\x78\x4d\xfe\x1e\xc5\x45\x68\xb1\x13\x75\xaf\x86\x54\xb1\xf9\x4c\xc0\x40\x31\x2d\xba\x14\x9e\x80\x06\xcc\x14\xc1\x63\x0b\xb3\xcb\x27\xe8\x03\x24\xef\xf0\x9a\xd3\xc1\x79\x82\xc9\xf5\xf4\x62\x48\x06\x06\x1c\x0a\xfd\x4d\xb5\x3f\xf5\xf0\x25\x3b\x7d\xd3\x1b\x0c\x25\xf9\xbe\x7f\xfd\xe2\xdd\xcb\x21\x3b\x79\x75\x36\xfc\xf9\x6d\xef\x85\x15\x3f\x45\xce\x69\x4c\x09\x93\xad\x2b\xf4\x44\x1e\x7e\xb9\xdc\x42\xb0\x2b\xb8\xbb\xc0\x17\xd1\x7a\x31\x6b\xb9\x62\x0c\x80\xd0\x7c\xd7\x30\xfb\xb9\x80\x9d\xc8\xb3\x2c\xbc\x88\x0d\x20\x8b\x7f\xe1\x74\x65\xfb\x18\xd7\xc1\xe1\x8f\xc4\x0c\x42\xf0\x4e\x43\xe3\x02\x43\xa3\x46\xf3\xa5\x1d\xd9\x28\xab\x5b\xc6\xf3\x30\x9b\xf2\x20\x4f\xd2\xb5\x0a\x5c\x2e\x97\x01\x5c\x8e\x14\x1d\x49\xf6\x0d\x5e\x4a\xd0\x54\x1d\x63\xa8\x91\xc2\x93\xcc\xb0\x64\x8a\xa7\xb2\x0a\xe4\xa1\xc2\x5b\xac\x87\x3e\x25\xf3\x04\x13\xdd\x2b\xad\x9a\x08\x42\x50\xd8\x20\x82\x5d\x5a\xb3\x09\xcd\x5a\x3f\x35\xb0\xe2\x22\x8c\xd7\xee\x06\x06\xac\x67\x6a\xd1\xd6\x02\xac\x19\x79\x9c\xad\x70\x22\x6b\x75\x4c\xad\x55\x56\x64\x7d\x82\x19\x81\x52\x9d\x34\xf2\x0c\x1b\x43\x24\x51\xcc\xd5\xd3\x62\xa7\x22\xcf\x69\x19\x97\x0b\xe0\x9a\x52\x60\x31\xf3\x57\xdb\x47\x1f\x95\xc9\x94\x44\x8d\x8a\x83\x58\x42\x01\x6b\x0f\x92\x3e\xc0\x92\x2d\x05\x8d\x16\x8f\x79\xb4\xce\x28\x91\x19\x04\x5f\x97\xa2\x16\xaf\x92\x06\x80\x37\x8c\x97\x39\x46\x48\x55\xd5\x08\x41\x5c\x1b\x5f\x37\xe0\x78\xcd\x75\x76\x17\x0e\x97\x1d\xbd\x1d\x1d\xc2\x84\xb8\xa3\x57\x09\x9c\xdc\xca\xa9\x8d\x4d\x79\x5a\x21\xe1\x92\xea\x06\xe4\x52\xfa\x7d\x8b\xc2\xa1\x6e\xe5\xa9\xef\x6f\x29\xf6\x63\x24\x7f\xd6\x6c\xb2\x4e\xbb\xbd\xd7\x6c\xef\x36\x3b\x5d\x56\x53\x33\xda\x6d\xb5\xeb\x54\xfb\x8d\x44\x51\x96\x91\x65\xf9\x32\x13\x0d\x16\x24\x8b\x75\x43\xde\x66\xc2\xe9\xba\x41\x1e\xae\xf2\x8a\x34\x5e\xe6\xc2\xdc\xc8\xa6\xf9\x8a\xa4\x19\x62\x39\xf2\x8c\x5b\x40\x86\xcd\x18\x3d\x82\xc1\x71\x4e\xc0\x41\x2c\x0f\xe4\xf1\x5a\x4a\x1c\x92\x92\x70\xa7\x22\x5a\xe8\xd4\x08\x22\x1e\xce\x51\x18\x5e\xf1\x54\x56\x0b\x05\x59\x70\xa4\xe2\x42\xae\x37\x65\x33\xb4\xfa\x56\x38\x7a\xc1\xc1\x1c\x87\x54\x93\x87\x36\xce\x82\xa8\x15\xf0\x79\x8b\x07\xad\xe5\xe5\xd6\xdf\xe7\x17\x97\x9d\xdd\xad\x65\x60\x2e\x00\x81\x73\x93\x72\xaf\x41\x5a\x5b\xad\xc4\x1d\x74\xd9\x8a\x96\xf3\x98\x18\x05\x26\x69\x3b\x39\x7d\xcd\xfc\x76\x77\xa7\x6b\x08\x45\xb3\x3f\x09\x2b\x53\x77\x23\xd6\x24\x33\x8e\xc8\xe2\x28\xac\xf6\xee\x09\x3e\xb9\x00\x29\x94\x3a\x68\xb7\xa8\xe9\x6b\x90\x03\x06\xed\xad\x81\x0f\x9b\x24\x4d\x22\xe7\x74\x8d\x27\xec\x78\xf8\x82\x62\x63\x09\x8e\xf1\x4d\x1c\xa3\x7e\x09\xae\xe9\x2b\x78\xaf\x92\xb8\x99\x2d\x78\x00\x9b\x33\x9e\xc8\x63\x35\x42\xe9\x21\x48\xe6\x63\x94\x45\x2d\xf8\x35\xf4\x2f\x8e\x98\x3c\x05\x2e\x24\x13\x03\x4a\x7a\xa9\xf2\x12\x24\x29\x7b\xa9\x43\xa8\x15\x77\x75\x5d\x39\x24\x6e\x9c\xdd\xe9\xeb\xd1\x19\x7b\xf6\xdf\x6f\x9e\x0d\x5f\x21\x46\x7a\xc7\x9b\x30\xe2\xbb\x18\x21\xa3\xca\xdb\x87\x3a\x98\x6e\x1c\x1e\xcd\x41\xa2\xe1\x2f\xc3\xb7\xaf\xd9\x87\x93\xe3\xb3\x67\x74\x5a\xd5\xde\x3d\xe9\xb4\xdb\xfd\xdb\xa7\xf0\x8c\xc7\x17\xcb\x88\xfd\x99\xcf\x13\x06\xc9\x1d\x22\x76\x95\xac\x44\x84\x6b\xa3\xac\x60\xe2\x2c\x89\x79\x9c\x67\x12\xae\xef\x77\xdb\x4d\xf9\x63\x34\x52\xe0\x69\x24\x9b\xf1\x44\x2b\x76\xa3\x74\xaa\x24\x69\xb9\x28\x56\xb1\x94\xb7\x95\x58\x3d\x52\x73\xd6\x38\x92\xe2\x99\xbe\x85\x6b\x14\x9d\x89\x60\x16\xc3\x1d\x81\xfc\x16\xff\x9f\xef\x6f\xc0\x04\x01\xec\xa8\xa1\x56\x8a\xcb\x36\xc5\xa6\x02\x1c\x43\x63\xd7\x72\x27\x54\x80\x70\xdf\x0f\x7e\xbb\x34\xad\xa7\x11\xbf\x00\xd1\x35\xe6\xe3\x88\xf8\xc8\x7a\xd3\xc2\xe8\x81\x80\x8e\x49\xcc\x79\x99\xa6\x4d\xa2\x70\xc9\x78\xc0\x3a\x51\x02\x86\x2d\xbd\xbf\xbf\x7b\xd0\xf4\x61\xed\x3e\xfc\xfc\x62\x47\xa1\xcb\x92\x04\xf4\xf9\x50\xda\x8d\x4a\x6e\xdc\x30\x32\xdf\x0d\x01\xee\x0a\xbc\x18\x78\x4f\xbd\xac\xb8\xe8\x52\xa2\x6f\x68\x71\x1d\x7c\x3e\x78\x40\xbc\xf1\x08\xf3\xb7\x6e\x6d\xb1\x0f\x9a\x45\x49\x8e\x63\x20\xb5\xa8\x6a\x2b\x5e\xd2\xed\x0b\x53\x75\xb9\x4d\x4a\x73\xd2\xcd\xe8\x4b\xa1\xe9\x48\xae\x8c\xf2\x22\xa5\x0c\xc9\x10\x56\xf9\x16\x2a\xd0\x60\x2b\x56\xdb\x24\xb5\x74\xc6\x16\xdf\x02\xd3\x8c\xd4\x02\xa6\x86\xdb\x41\x68\xa7\xa8\xc5\x53\x21\x13\xe3\x24\x6e\x26\x57\x22\x8d\xf8\x62\x41\xaf\x63\x22\xbd\xe2\x51\xa6\x3e\x66\xa5\x6d\x27\xa1\xa8\x90\x0b\x20\x1a\x3d\x5a\xc6\x61\x26\x72\xf6\x24\xe0\xf9\xd1\x4b\x41\x3f\x63\xfc\x39\x98\xb2\xa6\xe4\x69\x0c\xf7\xbc\xdc\xf1\x0c\xd8\x0a\x0b\x1e\x19\xc4\x2a\xb6\x7b\xc4\xce\x41\x2f\x7b\xce\xda\xd7\xed\xed\x76\xbb\x01\x3f\xbb\x23\xf6\xb1\x81\x65\x3b\xfb\xdb\x0d\xfc\xd9\xb5\xca\xf6\xa9\xec\x80\x51\xaa\x33\x28\xdf\x3d\xf0\xa1\x7c\xb7\x7f\xac\xeb\xee\xf6\x47\x54\x66\x60\xee\x0e\xa8\xde\xa0\xe3\xb6\x1f\xec\x50\xf9\xae\x55\x77\x8f\xca\xf6\x74\x59\x97\xc6\xd9\x6d\x6f\x3b\xed\xbb\x3e\x95\xfb\xa6\x7d\x77\xa7\x8f\x65\xbb\x43\x53\xb6\x47\xf5\xf6\xda\x6e\xfb\xe3\x2e\x96\x0f\x77\x4c\xdd\xe1\x1e\x95\xed\x5b\x65\x3d\x2a\x3b\x76\xda\xef\xb5\x71\xae\x7b\x6d\x33\xd7\x3d\x1f\xe7\xba\xe7\xfb\xa6\x6c\x1b\xfb\xdf\xdb\xe9\xb9\xed\x7b\xd8\xff\x5e\xbf\x6d\xea\x0e\x71\xfc\x7b\xa3\x6d\x5d\x76\xd0\x46\x98\x07\x6d\x17\x7f\x07\xdb\x83\x06\xfd\x34\x75\x77\xa8\xee\xce\xbe\x55\x76\x4c\x65\xee\xf8\x0f\x76\xa9\xee\xae\x99\xff\x41\xb7\x83\x65\x5d\xab\xff\x7d\xaa\xb7\xef\xbb\xed\xfb\xd4\x7f\xdf\xea\x9f\xd6\xfa\x60\x60\xc1\x1c\x50\xff\x83\x42\xff\x43\xea\x6b\x68\xfa\xea\xd1\x5c\x7b\x30\x57\x2a\xa3\x79\xf6\x60\x9e\xa6\x7d\x8f\xe6\xda\xdb\xb1\xea\xee\xec\x51\xd9\xbe\x55\xd6\xa7\x32\xb7\xff\x1e\xd1\x45\x6f\xcf\xac\x55\x8f\xe6\xda\xdb\xb7\x60\xd2\x3c\x7b\xfd\x42\xff\x34\xd7\x9e\x45\xbf\x3d\xa2\xdf\xde\xc0\xea\x9f\xe6\xdf\x2b\xcc\xbf\x47\xf3\xef\x59\xf3\xef\xd3\xfc\xfb\x6d\x33\xa6\x3e\xcd\xbf\x5f\x98\x7f\x7f\x7b\x44\xe5\x86\xfe\xfa\x84\x93\xfe\x8e\x05\x93\xd6\xbf\x5f\x98\x7f\x7f\x17\xe9\xaf\xbf\x6b\xf6\x7a\x7f\x1f\xc7\xd4\xb7\xe6\xdf\x1f\x20\x9e\xfa\x03\x77\xff\xf4\x69\x5e\xfd\x81\xd9\xff\x83\xed\x21\x94\x0d\x76\x0c\x4d\x0f\x76\xba\x54\xb6\xef\xb4\x1f\xec\xf4\xa8\xdc\x6a\xbf\xbb\x8b\x65\xd6\x98\x06\x84\xff\x41\x01\xff\x03\xe2\x35\x03\x8b\xd7\x0c\x06\xd4\xd7\xc0\x6a\x3f\xa0\xf6\x05\xfc\x0f\x08\xff\x03\x0b\xff\xc7\x84\xbf\xe3\x1d\xbb\xec\x98\xca\xdc\xf6\xc7\x03\x1c\xff\xf1\xa0\x67\xea\x1e\x23\xcc\xe3\xe3\x1d\xab\xac\x4b\x65\x5d\xa7\xfd\x70\x1b\xfb\x1a\x6e\x9b\xb5\x1e\x6e\xef\x50\x99\x81\x39\x24\x9a\x1e\xee\x0c\xdd\xf6\x7d\x6a\xdf\xb7\xda\xf7\xa9\x7d\xff\xc0\x2a\xeb\x53\x99\x8b\xbf\xe1\x00\xf9\xfa\xd0\x5a\xbf\x91\x8f\x65\x23\xdf\xb4\x1f\x6d\xe3\x9a\x8c\xb6\x77\x9d\xf6\xa3\xed\x3d\x2a\xdf\xb3\xea\x1e\x50\x99\xd5\x7e\x0f\xc7\x39\xda\x73\xc7\x3f\xda\x47\xba\x1a\xed\x1b\x5c\x8d\xf6\xbb\x54\x66\xc1\x3c\xa0\x7a\x07\x7b\x6e\xfb\x03\xea\xcb\xe2\x3f\x23\x5a\xff\x91\x59\x7f\xbf\xdd\x81\xf5\xf3\xdb\xdb\x0e\xfd\xfa\xed\xed\x0e\x95\x77\x4c\xdd\xed\x2e\x95\xed\x59\x65\x07\x54\x76\xe0\xb6\xdf\xdd\xc7\xf2\x5d\x3d\x57\x79\x06\x43\x99\x3c\x86\x55\xd9\xf6\x2e\xd0\xa9\xfc\xe9\xb4\xdf\xf3\xb1\xff\x3d\x5f\xcf\xdf\xdf\xa3\x31\xed\x6d\x5b\x65\xbb\x54\xb6\xbb\xed\xb6\xdf\xa3\xf2\xbd\x6d\x53\x17\xd7\xdf\xdf\xeb\xef\x5a\x65\x7b\x54\x76\xec\xb6\x47\x5c\xc9\x9f\xa6\xee\x00\xe7\xba\x77\x6c\xc1\x3c\x3e\xa6\x32\xb7\xfd\x7e\x1b\xe8\xca\xdf\x6f\x6b\xfa\xf1\xf7\x7b\xd8\x7e\xbf\x67\x70\x72\xd0\x41\x9c\x1c\x74\x9c\xf3\xcb\x3f\xe8\xec\x51\xf9\xbe\xa9\x4b\xf3\x3f\xb0\xd6\xe4\x80\xf0\x7f\xb0\xdd\x77\xda\xf7\x7c\x6c\xdf\xf3\x4d\xfb\x3e\xca\x0a\x7e\xbf\x6d\xc6\xdf\xc7\x3d\x25\x7f\x3a\xed\xfb\xb4\xd6\x7d\xb3\xd7\x7c\xe2\xb5\x7e\xdf\x9c\xa9\x7e\x7f\x07\xc7\xd4\xdf\x71\xc7\xdf\xef\xe2\xfc\xfb\x16\xfe\x8f\x91\x57\xfa\x16\x4f\xf0\x8f\x47\x43\x2c\x1b\x39\xeb\x2f\x85\xb4\x06\xfe\xd4\xb4\xd2\x69\x77\x7a\x58\xd6\x19\x9a\x32\xa4\xa9\x4e\xbb\xbb\xed\xb6\xef\x52\xdd\xae\xd5\xfe\x98\xea\x0e\x75\xd9\x36\xc1\xdc\x6e\x77\x9c\xfe\xb7\xdb\xb8\x7f\xb6\xdb\x07\x7a\xac\xbd\xfd\x36\xe0\x44\xfe\xb4\xca\xfa\x54\xe6\xe0\xbf\xb7\xdf\xd9\xc5\xf2\x8e\xae\x3b\xea\xfb\x30\x57\xf9\x53\x97\x0d\x71\x4d\x46\xc3\xb6\xd3\xff\x68\xd8\xa1\xf2\xce\xb6\xa9\x3b\x1a\x35\xe8\xa7\x2e\x1b\x8d\x60\x9c\xa3\xd1\xc8\x5d\x7f\x25\x2c\xc8\x5f\xcc\x0a\xb4\x7b\xed\x5d\x55\xda\xb5\x4b\x07\xaa\x74\x54\x80\xb2\x4d\xdb\xb8\x67\xd1\x41\xbb\x87\x87\x2b\xfc\x62\x56\xd2\xef\x22\xc9\x1d\xfb\x5d\x97\x17\x1c\xfb\x7b\xdb\xf4\xc5\x9c\x9c\xf2\x8f\x5d\x55\xda\xb7\x4a\x7b\x3d\x2a\xed\xb9\x3b\xea\xb8\x43\xa4\x76\xdc\xd9\xd1\xfb\x7f\xd8\x6e\xe3\x3c\xe1\x17\xab\x14\xd1\x37\x6c\xb7\xf7\x9c\x19\x0d\xdb\x7e\x9b\xbe\xf8\x92\x0a\x1e\x7c\xbc\xff\xcd\xe4\x96\xbb\xd5\xe6\x2b\x0a\xe8\x37\x9a\x3d\xd6\xa4\xbb\x4a\x93\xee\x2a\x4d\xba\xab\x98\x4b\x09\xb7\x6e\x63\xd6\xa5\xa4\xdd\xc3\xc3\xa2\xdd\x33\x87\x5a\xbb\xb7\x43\x65\x3b\x56\xd9\x1e\x95\xb9\x42\x45\x1b\x71\x2b\x7f\x5a\x75\x87\x54\x66\x2e\x05\xed\x3e\x1e\x2a\xed\xfe\x8e\xdb\xbe\xdf\xa5\x72\xab\x3d\x09\x20\x6d\x4b\xd0\x68\xd3\x41\xd3\x1e\xb8\x87\x3a\x6d\x40\xf9\xd3\xd4\x3d\xa6\xb1\x1e\xef\x5b\x65\x34\xa6\xa1\x2b\x54\xb7\x87\x04\x77\x68\x04\x98\xf6\x70\x9f\xca\xac\x31\x0d\x69\x4c\x85\x4b\x49\x7b\x44\xfd\x8f\xac\xfe\x47\x1d\x2a\xdb\xb6\xca\x68\x4c\xa3\x5e\xa1\x3d\xc1\x1d\x0d\xac\xba\x34\xd6\x91\xc1\x9f\x4f\x82\xaa\xdf\x76\xc7\xef\xd3\x05\xc8\xb7\x2e\x40\xbe\xbf\x4d\x65\xdb\x56\x59\x9f\xca\xfa\x6e\xfb\x0e\xce\xdf\xef\x18\x01\xc0\xef\x50\xdd\x4e\xdf\x94\x91\xf0\xe4\x6f\xbb\x97\x42\x1f\x77\xb3\xfc\x69\xd5\x45\x41\xd1\xb7\x2e\x0a\xfe\xce\x0e\x95\xb9\xeb\xef\xef\x50\xfb\x1d\xab\x2f\x12\x00\x7d\x4b\x50\xf5\xf1\x50\x6e\xfb\xbb\x85\xfe\xbb\x34\xfe\xae\x35\xfe\x2e\x8d\xbf\x6b\xc1\x1c\x20\x4e\xfd\x81\x2b\x14\xf9\x44\x3f\xbe\x45\x3f\x3e\x09\x95\xfe\xb1\x35\xfe\x63\x1a\xff\x71\x61\xfc\x24\x6c\xfa\xc7\x5d\xab\x2e\xcd\xc9\xa2\x3f\xff\xb8\x47\x65\xbd\x42\xfb\x01\x95\x9b\xf5\xef\xd0\x45\xb1\xb3\x6b\xd6\xb4\xd3\xa5\xb2\xae\xbb\xfe\x1d\xba\xd4\x77\xac\x0b\x60\x87\x2e\x45\x1d\xeb\x52\xdf\x41\x41\xa3\xdd\x19\xf4\x0b\xed\x8f\xa9\xdc\xe0\xba\x43\x38\xe9\x58\x38\xe9\xd0\x9c\x3a\xc7\x85\xf6\xc7\xd4\xfe\xd8\x6e\x3f\xa2\x32\xb3\x7f\xb7\x49\x79\xb1\xdd\x73\xc7\xbf\xdd\xdb\xa6\x72\x23\xc0\x6e\x93\xa0\xbd\x3d\x30\xf3\xdf\x1e\x50\xbd\x81\xab\x14\xd9\xa1\x7d\xb1\x63\x5d\xe0\x76\x48\x51\xb1\xb3\x63\x29\x5a\x08\xa7\x3b\xbb\xbe\x7b\xa8\xfb\x74\x80\xfb\x6d\x73\xa8\xe3\xfe\xe9\xb4\xfd\xae\x55\xb6\x4f\x65\x07\x85\xf6\x03\x2a\x3f\xb6\x84\x0a\x82\xd9\xe9\x58\x65\x3b\x54\xb6\xe7\xb6\xdf\xa6\xba\xdb\x56\xff\x28\x94\x75\xda\xdb\xdb\x56\xd9\x2e\x95\xed\x16\xda\x93\x50\xb3\xdd\xb7\xea\x0e\xa9\xcc\x12\x6a\xf6\xa8\xff\xbd\x1d\xb7\xfd\xde\x88\xca\x2d\xa1\x06\x2f\xe5\x9d\xb6\xb9\x28\x74\xda\x3d\x9a\x67\xcf\xb9\xd4\x74\xfc\x36\xe2\xca\x37\x22\x41\xc7\x47\x89\x40\xfe\xb4\xca\x0e\xa8\xcc\xc5\x1f\xf1\xaa\x8e\xc5\xab\x3a\xbe\xdf\xa5\x32\x83\x7f\xbf\x83\x63\xf2\x5d\xa1\xb6\x43\xfc\x4b\xfe\xb4\xea\xf6\xa9\xcc\xe0\xc4\xdf\xa5\x7e\x76\xdd\xf9\xfb\xbb\x54\xd7\x28\xb0\x3a\x74\xa9\xe8\x58\xfc\xa3\xe3\xef\x51\xd9\x5e\x61\xfc\x07\x54\x7e\x70\x60\xea\xf6\x91\x56\xfc\xbe\x55\x86\x3c\xa5\x83\x3c\xc5\x6a\x8f\x7c\xa5\xe3\x9b\x0b\x6c\xc7\x47\xa5\x98\xfc\xa9\xcb\x3a\x28\x63\xc8\x9f\x4e\xfb\x4e\xbb\x43\xe5\xdb\x56\xdd\x3d\x2a\xdb\xb7\xca\xfa\x54\xd6\x2f\xb4\x1f\x51\xb9\x59\xff\x0e\x9e\x29\xf2\xa7\x55\xb6\x4b\x65\x2e\xfd\x75\xfc\x1e\x95\xf7\xac\xba\xc7\x58\xd6\x31\x34\xdd\xe9\x6c\x53\x99\x2b\x54\x77\x3a\x04\xb7\xb3\x6b\xd5\xa5\xf1\x77\x06\x56\xd9\x90\xca\x86\x6e\x7b\xbc\x6c\x74\x3a\xdb\x16\xae\xf0\x52\xd1\xe9\x6c\x9b\x3d\xd9\xc1\x73\x46\xfe\x74\xdb\xef\x50\xdd\x1d\xab\xaf\x5d\xc2\xe9\xae\xd9\xbf\x1d\xa2\x89\x02\xff\xed\x74\xba\xd4\x7f\xd7\xea\x9f\x2e\x0a\x1d\x8b\x7e\x3a\x5d\x1a\x7f\xd7\xbd\x94\x74\xf6\xa9\xaf\x7d\x6b\xfd\xf0\x52\xde\xe9\xec\x5b\x30\x0f\x08\x4f\x07\x05\xfc\xe3\xa5\x42\xfe\x34\x75\x7b\x54\xb7\x67\xe1\xb4\x4f\xeb\xdc\x77\xfb\xdf\xc6\x4b\xb1\xfc\xa9\xeb\xee\xd0\x5c\x77\x86\x06\xe6\x0e\x2a\x4a\x3b\xbb\x3b\x2e\xfd\xec\xee\x62\xdd\x5d\x73\x29\xeb\xec\xee\x53\xd9\xbe\xa1\xa9\xdd\x03\xec\x67\xb7\x30\xfe\xdd\x1e\xd5\x35\xf2\x67\x67\x17\xcf\x84\xce\xae\x39\x13\x3a\xbb\x7d\x6a\xdf\x77\xe9\x67\x17\xe5\xc7\xce\x6e\x7f\xcf\xaa\x3b\xa0\x32\xb3\xfe\xbb\x03\xea\x67\xe0\xae\xdf\xee\x80\xda\x1b\x05\x62\x67\x77\x40\x73\x1d\xf4\xad\x32\x5c\xbf\xdd\xe3\x42\xfb\x21\x8d\x6b\x68\x70\xbd\x3b\x1c\x51\x99\x99\x7f\x97\x78\x62\xb7\xed\xc8\xaf\x9d\x2e\xf1\xc5\x6e\xfb\xc0\xaa\x3b\xa4\x32\xab\xbd\x8f\x74\xd6\x2d\xec\xbf\x2e\x9d\x3f\x5d\x7f\x60\xd5\xa5\xf6\xe6\x52\xd8\xe9\xee\xe0\xfc\xbb\x3b\x2e\xff\xe8\xe2\x0d\x48\xfe\x34\x75\x69\xfd\xbb\x5d\xdf\x2a\xdb\xa6\xb2\x42\xff\x78\x43\xeb\x74\xbb\x3d\xab\x2e\x8d\xa9\x7b\x6c\x95\x8d\xa8\xcc\xa5\xbf\xbd\x6d\xe4\x15\x7b\xd6\x5e\xdd\xdb\xc3\x35\xd9\x33\x67\x92\xbc\x8b\x35\xc0\x4b\xd8\xbd\xd4\x8f\x46\x23\x68\x2f\x7f\xea\x0b\x6c\x5b\x55\xb6\x4b\xc1\xd1\x03\x95\x05\x6d\x2c\xc7\x8b\x1a\x1a\x0c\xf4\xc3\x98\xa7\x6b\x96\x09\x9e\x06\x33\x34\x83\x22\xf7\xd5\x7c\x86\xd9\xe6\x63\xe3\x71\xa3\x5f\xfc\xc1\x2f\x2e\x5b\xf0\x40\xd8\x8f\x56\xa5\x28\x46\xe2\x42\xa4\x5f\xd8\x32\xc8\x58\xaf\x02\x88\x6d\x06\xad\x7d\x98\x74\x68\xae\xb3\x74\x29\xdc\x61\xdc\xdc\xfd\x53\x7c\x6a\xd3\x61\xb2\xf2\x99\x48\x57\x61\x66\xa5\xff\x5c\x05\xad\x30\x3b\x85\x56\xb6\x83\x5a\x90\xe9\x10\x15\xbd\xe5\x75\x18\x85\x12\x1f\x8e\x9f\xdf\xd8\xc1\x51\x18\xeb\x2b\x2c\x83\xb7\x56\x95\x52\x72\x1e\xc6\xec\x88\xb5\x1b\x6c\xce\xaf\xd9\x11\x2b\xbe\x89\xa9\xb8\x80\x4d\x74\x06\xc1\x16\x13\x1d\x31\x54\x62\xe9\x4f\xa5\x46\xe7\xed\x8f\xe7\xed\x8f\xec\xf3\x67\xc0\xe2\x8f\xe5\xef\x73\x7e\xfd\xf1\xdc\xff\x58\x15\x4f\x54\xfb\x63\xc8\xf1\xfc\x78\x24\xc7\xa7\x9c\x31\xe6\xe1\x84\x1d\xb1\x97\x3c\x9f\xb5\xa6\x51\x92\xa4\xb5\x9a\x1c\xfc\x13\x39\xf2\x3a\xdb\x62\x1d\xcb\x51\x6a\x53\xbf\xe1\x04\xfa\xd5\xde\x1d\x38\x7b\x09\xf8\x49\x85\xb7\xcb\x86\xd9\x01\x94\xb6\x0d\x05\x50\x27\xa1\x34\x0b\x50\x0a\x81\x08\x4d\x56\x3f\x1d\x7e\xd0\x9d\xbd\x1d\x19\xaf\x7a\x59\x81\xd2\x41\x23\x71\x07\x62\x1f\x72\x4c\x57\x7c\xc3\x9b\xed\x3f\x96\xfc\xab\x34\x27\x60\x80\x6b\x0f\xc8\x22\xfc\xe2\xbb\x74\x89\xfe\x37\x93\xb0\xd6\xa0\xdc\x87\x84\x75\xa3\x0d\x24\x6c\xbe\xff\x63\x49\xd8\xea\xf7\x1b\x48\xb8\x00\xe5\x0f\x27\xe1\x63\x95\x41\xaf\xd2\x84\xab\x82\x48\xbe\x0f\x39\xea\x56\x67\x77\xef\x55\xd3\x9c\x2c\x55\x46\x0b\x65\x72\x93\x28\xdd\x68\x38\xa1\xb0\x49\xe3\x28\x02\x7c\x0b\x0d\x74\x6d\x00\x5a\x8a\x6b\xbd\xa1\xed\x71\x98\xa5\x9b\x9a\x7f\x13\xc6\xb5\xc1\xa0\x32\x1c\x91\xac\xe5\x56\xb6\x51\x4a\x95\xf5\xcf\x5c\xa8\x32\x6e\x36\x9d\x94\x10\xd5\x5f\x32\x51\x34\x68\x2f\xdb\x0f\xb5\x2c\x9e\x70\x04\xc1\x33\x2a\x16\x45\xd9\xef\x3c\x75\x18\xc8\x36\x04\x11\xc7\x5d\x0b\x8e\x98\x53\xf6\xc3\x0f\x0c\xbf\xb5\xaf\x79\xbb\x5e\x05\xca\xb6\xe9\x51\x41\x66\x5f\x2f\xf2\x70\x1e\xfe\x8e\x19\xd7\x7b\xa7\x83\x93\x93\x0d\x03\xfc\x13\xf4\xe2\x80\xf5\x15\x90\x7e\xf1\xf0\x47\xfb\xaa\x8d\x56\x35\x2d\x97\xb6\x49\xe2\x00\xe4\x39\x1d\xb4\x55\x07\x98\xdd\x95\xa7\x69\x78\x25\x28\xc1\xab\x1c\x13\x99\xf3\x72\xcb\x96\x31\xd9\x68\x3c\xd9\x32\xbc\xc3\xa7\x40\x99\x06\x7f\xbe\xdf\x6e\xb3\x1f\x7e\x40\xe6\x83\xf3\xc5\xe2\xdd\xa9\x44\xb4\xfd\x6f\x6b\xcb\xb1\x01\x0c\xe3\x30\x6f\x59\x16\x7f\xc4\xbf\x70\x4d\xe1\xf2\xd4\x39\x50\x8c\x5d\x15\x70\xf6\xf9\x33\xd5\x33\x43\xe8\x88\xfd\xb6\x5e\x44\x59\xc0\x77\x82\xa9\x1e\x13\x42\x7c\x78\x04\x6f\x44\xdb\xd3\xba\x3b\xaa\xad\x2d\x70\xd3\x68\xb5\x5a\xec\xbf\xc3\x12\x64\x1e\xb4\x5d\xc8\x93\x3d\xbe\x8d\x10\xcc\x64\x4e\xd7\x51\x24\x57\x2d\x2b\x35\x9f\x1e\x14\x9a\x4f\xf9\x74\xaa\x9b\xcb\x7e\x07\x8e\x43\xcb\x89\xf2\x55\xab\x00\x25\xfc\x02\x28\xe1\x1f\x68\x50\xef\x45\x0a\xd9\x63\xc0\xd8\xb3\xaa\xf1\x76\xb1\x71\xf7\xa6\x71\x8c\xaa\xa1\x4c\x8b\xb3\x99\x76\xdb\x1a\xca\x68\x19\x45\xc8\x13\x36\xb5\x16\xc5\xd6\xa2\x5b\xaf\x5c\x4e\xf0\x1d\xb7\xab\x76\xa6\xd3\xe9\xa4\xb2\xee\x76\xa9\xee\x36\xd4\x45\xcf\x5d\x0a\x98\x77\xc8\xc4\x3c\xf9\x2d\xb4\x8d\x05\x97\xd9\x12\x3c\x37\x94\xb9\x3b\x8a\xfb\x10\x76\x23\x9c\xb8\x5e\x39\x91\xe4\xbb\x17\x33\x04\x67\xc9\x45\x38\xd9\x6c\x21\x02\x96\xf1\x35\xec\xa7\x99\x14\xc4\xd9\x29\xfa\x07\xc8\x6d\x37\x99\x40\x85\x10\x6c\x6d\x33\x9d\x60\x4c\xcc\x7f\xfa\xb6\xc3\xa0\x78\x08\x18\xd7\x98\x7f\xf5\x43\xe0\xed\x1d\x4e\x00\x87\xc1\xd9\x07\x77\x99\xcf\x6d\xb2\x64\xb4\xd3\x11\xdc\xf9\x8c\xfe\x8a\x25\x31\x61\x4a\xaa\x62\x8c\x66\x79\xaa\x63\xdc\x7e\x2d\x3e\x8b\x81\x50\x56\x41\x2b\xcb\xcb\x92\x8f\x13\x04\x83\x1c\xb7\xd2\x2b\xb2\x3f\xbd\x35\x14\x86\x13\x88\xce\x0a\x05\x05\xa1\x0d\xd4\xdf\x56\x7c\x83\x15\x75\x5f\x44\x6d\x29\xd6\x91\x5c\x4a\xac\xfc\x27\x75\x48\xeb\x75\x69\x92\xfc\x9a\x5e\xb1\x27\x47\x08\x92\x1a\xc9\xbf\x6b\x85\x18\x51\xd3\xa9\x64\x9d\x3f\x31\x9f\x1d\x62\x1c\x02\x5b\xa4\x4d\xaf\x9c\xd5\xfb\x59\x50\xbe\xe6\xe5\x98\x22\x8f\x50\x0a\x41\x22\x51\x44\x76\x32\x9d\x66\x22\x2f\x50\xaf\xb5\x0e\x37\xad\xaa\x1b\x2e\xe5\x42\xe4\x56\x5f\xd3\x34\x99\xb7\x2a\xf7\x1b\x06\xe2\xa7\x80\xcb\xe8\x89\xee\x8e\xa5\x08\xab\x1a\x4c\xb2\xc8\x3f\x21\x52\x37\x91\x8e\x03\xe0\x41\x55\xe8\xe5\xb3\x62\x2d\x43\x5d\x50\x5a\xa0\x2d\x4a\x22\xd0\x30\x7d\x5b\xc9\xe8\xe4\x17\x88\x78\xdc\x60\x22\x9e\xd0\x6f\x2b\xbd\x0d\x81\xf6\x4c\x25\xbc\x02\xae\xb4\x79\xb4\xd5\xbe\x10\x9f\xc5\x7c\x30\x81\x5a\xb0\xdd\x93\x0a\xd2\x2b\x04\x3a\x31\x8d\xeb\x25\x5a\xfc\x11\x41\x2b\x7a\x1c\xa7\x82\x5f\x3a\xb9\x67\x0c\x86\x1f\x1e\xb1\x65\x4c\x76\xff\x4e\x52\x64\x35\x53\x4c\x92\xa3\x11\x60\xe6\xf5\x40\xcb\x18\xba\xaa\x3d\x3d\x79\x68\xd1\xce\x38\x32\x58\xb5\x5a\xdd\x79\xa6\x0a\x7c\xbd\x6e\xf0\xff\xe4\x49\xc5\xa4\xcd\xda\x3d\x70\x07\xa6\x42\x66\xa8\x64\xd4\x79\xda\xd2\xb4\x51\xab\x5a\xde\x7a\x71\x03\x9a\x26\x36\xe2\x4b\x9b\x72\xc3\x86\xc4\x7d\x81\x4e\x36\x13\x77\x4b\xfc\xe3\x37\x61\x75\x2b\x39\xb0\x33\x08\x83\x3a\xa9\x6c\xf1\x55\x9b\xac\x90\xc5\xd2\xde\x67\x22\x9e\x38\x81\xad\x9c\x76\xc5\x9a\xac\x49\x04\x0d\x08\x97\x55\x53\x81\x21\x41\x5a\x7c\x32\xa9\x79\x14\x98\x24\x98\xf1\xf8\x42\x44\xc9\xc5\x16\xb9\x82\x79\x0d\xe6\xe5\xe2\x3a\xdf\x5a\x44\x3c\x8c\xbd\xc6\x03\xcf\x6f\xf9\x5d\x8f\x3d\x79\xe0\x79\x0f\xea\x94\x99\xf3\x16\x50\x13\x9e\x8b\x32\x9c\x4e\xdb\xdf\x6b\xb6\xf7\x9b\x0e\xb4\x62\xbc\x94\x99\x3c\x63\xb7\x7e\xcb\xb6\xe0\x97\xff\xed\xd1\x99\x01\x57\xf9\x44\x2c\x00\x49\xad\xd3\x3c\x49\xf9\x85\x80\xa4\xf7\xb4\x03\xfe\x43\x36\x94\xfd\x5f\x85\x62\xc5\x8e\x45\x10\xf1\x94\xdc\xe6\x10\x03\x8f\x21\x6d\x01\xca\xa2\x18\x3a\x7f\x2e\xd8\x98\x67\x61\xc0\xb2\x19\x4f\xc5\x84\x2d\x21\xdb\x4d\xa8\x72\x00\xf0\x1c\xbd\x84\x92\x84\x65\x73\x70\xf3\x4f\xd8\x04\x31\xc1\x26\x02\xb3\x12\x4e\x60\xbc\x94\xcb\x56\xf2\x6b\xe8\x4b\x3b\xc2\x18\xcf\x3e\xc8\xc2\x01\xde\xd7\xf1\x24\x59\xb1\x59\x82\x2e\xd5\x38\xb4\x42\xf8\x12\x79\x58\xf1\x8c\x2d\xe4\x56\x4a\xa6\x54\x47\x5e\xe8\x6a\xf5\x16\xb3\x12\x15\xc9\xda\xf1\x15\x8f\xc2\x09\x5b\xc6\x79\x08\x4e\xc3\x10\xf3\x80\x47\xe1\xef\x3a\x82\x0a\x66\xa6\xc5\x11\x22\x28\x1c\xc3\x99\x1c\x91\x4e\xf7\xa8\xa2\xdd\xf3\x14\xee\xab\x56\xac\x76\xf2\x6c\x37\xa9\x2f\x28\x62\x01\x84\xd0\x53\x21\xad\x7f\x4f\x92\xb9\xed\x1b\x45\x33\xfa\xef\x64\x09\xeb\xad\x22\x63\x43\x86\x8c\x7c\xa6\xd3\xab\xb3\x28\x09\xe4\x60\x85\xce\x84\x6e\x8f\x53\x02\xa5\x01\x99\xac\x9a\xde\x5f\x5e\xbf\x7e\x29\x4f\x0e\xbf\xdd\xfe\x77\x2b\x6a\x4e\x3f\x0d\xc5\x94\xa1\xb5\xda\x5a\x8f\x5f\xbb\xe5\xe3\x70\xe5\x3e\x92\xc3\x0c\x92\x05\x85\xaf\x00\x09\x34\x0a\x17\xe3\x84\xa7\x7a\xd8\xfd\x35\x9b\x88\x29\x5f\x46\x90\xd8\x87\x3c\xe8\x95\x24\xdf\x7f\xd1\x1b\x3c\x67\xa7\x83\x93\xd3\xd3\xd7\x6f\x4f\x2d\xff\x5c\x70\xce\x5d\xe3\x8c\xc9\x7b\xf9\x1e\x93\xb6\x09\x00\x1c\x81\x8b\x43\x9f\x09\xe6\x21\x7a\x9b\x7a\xc0\xcd\x38\xc9\xc3\x40\x78\x56\x54\x07\x20\x02\x67\x21\x14\x3a\x65\xdd\xe9\x5a\xb2\x00\x0b\x9b\xbf\x2c\x3b\x7b\xed\x8e\xc4\xa3\xa6\x56\x89\xa3\x6c\x26\x07\x1a\xc6\x8c\x4b\x92\xbf\xcc\x93\x05\x83\xe6\x14\x8d\x45\xfb\x3f\x2b\x6a\x00\xdf\x64\x11\x45\x2d\xc6\x7e\x59\x76\x3a\x5d\x0c\xa6\xa8\x71\x36\x3c\xf9\xf9\xd9\xd9\x33\xf6\xea\xf5\xd9\xb0\xc1\xfe\xbd\x96\x87\x79\x24\xea\x85\xc4\x97\x12\x57\x3a\x80\x88\xa6\x32\xa8\x6a\xcf\x82\x86\xf3\xca\x1a\xcd\x99\xac\x43\x93\xe9\x76\x7b\xa6\x03\xfc\xdb\x22\x92\x17\x64\xd8\x08\xe1\x1d\x69\xaf\x82\xfb\x2e\x24\x34\xd7\x77\xb9\x1e\x16\xce\x78\x1a\x8b\x4c\xfb\xa4\x53\x22\x67\x95\x32\x7b\x0d\x6e\x7b\x18\xce\x85\xb2\x7b\xa6\xcb\x38\xd6\x87\x11\x0e\x57\x02\x3a\x16\x0b\xb0\x60\xf4\xb0\xe8\x34\x48\x93\x28\x7a\x93\xa4\x98\x3e\x2f\x93\x0c\x5e\x7f\x11\x22\x56\xa5\x0f\x58\xe9\x1f\xd5\x3b\x23\xec\x14\xdb\xbf\x3f\xbb\xbd\xed\xfb\xb3\xd6\x80\xc7\xb1\x98\x60\xcd\x8f\x2e\x9b\x42\x94\x48\x26\xa2\x4f\xce\x06\x4b\xc5\x45\x98\x41\x3a\x5c\x24\x64\x3c\xb8\xb0\xec\x04\xd9\x52\x81\x80\x29\x7f\xc9\x64\x09\xa7\xb0\xac\x1f\x3a\xf5\x94\x04\xa0\xfa\xf8\xc2\x92\x58\x42\x42\x27\x68\xf5\xd2\x63\xda\xb1\x15\x78\xad\x2e\x21\xda\x43\x18\x5f\x25\x97\x02\x76\x85\x7a\x32\x2c\x70\x3d\xd8\xe1\x26\xd9\xe7\xd6\x83\xd2\x88\x11\x19\x5e\xc3\xca\x26\x01\x03\x40\xb1\x40\x8f\x20\x89\x3f\x00\xaf\xac\x21\xcb\x54\x32\x6a\x05\x1b\xc5\x3f\x5a\x92\xcd\xa3\xb8\x67\x25\xe8\x44\xd0\x0d\xd6\x36\x92\x9d\xd5\xc3\x19\x1f\xd7\x72\x3e\x76\x92\xa5\xf1\x31\x4a\xb0\x00\x33\x90\xa7\xb3\xb0\x62\x1b\xc2\xdf\xd4\x3d\x64\xde\x91\x0d\xe8\xef\x93\x49\x03\x58\x7a\x43\x8f\xbd\x3a\x29\x98\x4a\x77\x90\x5e\x84\xf1\x84\xd7\x0f\xf5\xd2\x41\x68\x27\xb6\x02\x61\x8c\x2d\x17\xe8\x5f\xcf\xae\x7c\xc6\x17\x0b\x2f\x83\x80\x31\x17\x29\x1c\xdc\x0b\xe4\x5c\x0a\xdc\x4b\xbe\x1e\x0b\xe6\x20\xc5\x8b\x93\x58\x78\x14\xf2\x63\x4c\x09\x63\xad\xf8\x2e\x90\x62\x57\x87\x2b\x50\xb0\x2a\xb0\xeb\xc5\x10\x7f\x42\xc7\x90\xdd\x88\xdc\x42\x4a\xb3\x87\x8a\x67\x00\x33\x27\xa9\xc1\xc6\xb4\x83\x62\x08\x07\x89\xc8\xcd\xb0\x6a\xb9\xa4\x95\xad\xe3\xc0\xac\x45\x15\x7c\xca\x10\x6e\xc9\x29\x2d\x10\xb0\x44\xad\x0a\x54\xe5\xea\xdc\x11\xec\x0b\x79\x90\xd4\x8a\x13\xa7\x64\x08\xd4\x59\xce\xc7\x99\x4a\x58\x11\x27\x92\xd3\x2d\x28\x8a\x5c\x18\x33\x0a\xee\x06\x69\xb8\x33\x8a\xb6\x20\x72\x11\xe4\xf8\xb6\x8a\xc0\xd6\xc9\xd2\x83\xa0\x15\x76\x6d\xe4\xef\x51\x98\x4b\xd6\xcb\x57\x10\x44\x48\xbd\xa6\x87\xd9\x1b\xaa\xd9\x5b\x2c\x8c\x23\xed\xcd\x18\x4f\xa5\x08\x53\x55\x22\x09\xfc\x25\x8f\xc3\xa9\xc8\x72\x5b\x95\x32\xa7\x32\x76\x74\x43\x03\x85\x9c\xe2\x90\x54\xe3\x96\x9c\xca\x0f\x3f\x38\x7f\xb7\x0c\x8d\x3b\xf7\x56\x07\x86\x15\xdb\xf4\x8d\x8d\x44\x10\x19\x21\xba\x8d\x75\x80\x87\x46\x50\x92\xcb\xd1\x2a\x33\x08\xdc\xaa\x98\xba\x17\xb7\xef\xdf\x24\x2b\x39\x64\xde\x22\x59\x2c\x17\xde\x97\xba\x66\x1f\x36\xa5\xdc\x84\x50\xd9\x93\x93\xc5\x50\x12\xc5\x85\xc8\x07\x94\xac\x03\xf3\x4a\xc9\x12\x94\x6f\x24\xd3\x81\xb3\x2d\xcc\xd8\x23\xca\xe8\x11\xad\xd5\x99\xf6\x08\x13\xc2\x41\x60\x17\x05\x30\x4f\x16\xf3\x44\x1e\xa8\x29\x9b\x26\x01\x66\x50\xe3\xe3\x96\xcb\xa6\x60\xc2\xa6\xdb\x1a\x30\xbc\x6a\xaa\xbf\x23\x46\x88\x17\x18\x94\x28\xda\xff\x52\x2f\x25\x12\x9b\x88\x20\x9c\xf3\x88\xfd\x4d\xa9\xed\x66\x02\xae\x3f\x5f\x88\xaf\xe1\x15\x79\x92\xcc\x31\x6a\xa2\x75\x70\xcb\x21\x47\xa1\x88\xf3\xd3\xf0\x77\xc7\xea\x64\x92\xcc\x9d\xcb\xe3\x24\x81\xca\x10\xa4\x3d\x8c\x2f\xb0\xd1\x5b\x11\x00\xed\x95\x53\x9b\xa9\x11\x59\x01\x93\xee\x32\x8a\x92\x4e\xf2\x1e\xc3\x68\x91\xf6\x63\xf3\x60\x08\x2b\x77\x1e\xcd\x33\xac\xff\x95\xc3\xc1\xde\xdc\x44\xc1\xc9\x62\x5d\x48\x25\x13\x09\x9d\x72\x14\xb4\x6e\xeb\x2c\x17\xf3\xb2\xac\xae\x44\x89\x67\x67\x2f\x5f\x1c\x27\x01\x24\x7f\xa2\x58\xd8\xf4\x97\x49\xc5\xe3\x00\x0d\x92\xc5\xda\x9e\x9c\xfc\xfb\x54\x55\x38\x4b\x06\xaa\x23\x77\x96\x08\xb2\x98\xe0\x4c\x95\xb7\xc4\xb5\x08\x06\xc9\x7c\xce\xe3\x49\xcd\x93\x10\x3d\x37\xd7\xd9\x34\x4c\xc5\x34\xb9\x1e\xaa\x04\x4f\x16\x1b\x39\xb9\x88\x31\x9f\x7a\x98\xb5\xd8\x68\x54\x95\xb5\x8e\xac\x4a\xe4\xf9\xcc\xf1\x4b\x9a\x26\x29\x05\x11\xd3\x2f\x29\xb8\x37\xe5\x74\xf5\xf3\xc9\x6f\x98\xe9\xde\x58\x28\xb4\x8a\x6f\xe6\x6f\x78\x96\x8b\x4a\x44\x63\x80\x0c\xc8\x52\x83\x91\x22\x10\x9f\xb0\xe3\xd5\x22\xbc\x4a\x72\x71\xc8\x4e\x62\xd4\x24\x88\xad\x11\x4e\x53\x72\xc4\x2d\x71\x9d\x8b\x18\x42\xfc\x88\xf8\x2a\x4c\x93\x18\xd2\x73\x41\xb6\x77\x2f\x8a\x30\xc6\x37\xc5\x8b\x7a\xa4\x3b\x7d\x2b\xf8\xe4\x11\x5b\xe8\xf0\x40\x2d\x26\xa1\x63\x72\x54\x17\x0c\xe6\xc8\x03\x72\xe4\xd1\x8a\xaf\xe1\xf2\x0e\xa9\xc2\x28\x50\x9c\xe2\xbc\x53\x48\xcc\x0e\x3c\x6d\x1c\x25\xc1\x65\xc6\x78\x10\x48\xf1\x5e\x52\x7d\x26\x82\x65\x1a\xe6\x6b\x96\x0a\x9e\x59\xd1\xd4\xee\x40\x5d\x79\xc2\x16\x80\x3c\x89\xa7\xd6\xed\x26\x41\x58\x39\x5b\x06\x81\x10\x13\xf7\x86\x06\x9f\x46\x69\x32\xbf\x17\xf1\xe9\x1d\x57\x45\x83\x00\xf2\x2b\x89\x50\x52\xe1\x4e\x1b\xa4\x82\x24\x9a\x88\x94\x04\xb9\x30\x0e\x92\x34\x15\x90\x55\x9a\xf2\x97\xb9\x34\x6a\xd1\x60\x81\x54\x21\x1e\x9b\xe0\x13\x79\x07\xc3\x61\x83\x3a\x51\x51\x64\xd9\x86\xc8\xa1\xd1\x41\x2a\x30\xd8\x9c\x94\x83\xec\xeb\x68\x71\xb5\x5e\x43\x46\xda\x2f\x0c\xfe\xcc\xd8\x7b\x9e\x86\xc9\x32\xc3\x3f\x05\x3c\x3c\xaa\xfb\x6b\x11\x4a\x49\x15\x8a\x20\x5a\x70\xa1\x44\x45\x0e\xfc\x56\x23\xd9\x2c\x53\xec\x09\x4f\x61\x2f\xc3\xef\xf5\x9b\x60\x8d\x93\xc9\x1a\x73\xb0\xd2\x35\x1c\x0a\x6a\x73\x1e\xa2\x82\xa2\x5e\xbe\xb4\xdb\x64\x80\x50\xcc\x0b\xc1\x44\x4c\xd9\x11\xab\x49\xc6\xd9\x90\x88\x8b\xa4\xf8\x52\x67\x47\x3f\x02\x2f\x85\x0c\xb4\x5a\xc9\xce\x7e\xc2\xc2\x43\x5d\x51\x89\x65\x84\xaa\x23\xa7\xf6\xe7\xcf\xcc\x2a\x97\xa7\x30\x2a\xb7\x55\x21\x6a\xb9\x50\xfa\x17\xe9\x05\xf2\x8f\x65\x26\x52\x2f\xa3\x80\x83\x56\x1e\x34\xa5\x51\xc9\x30\xb4\x9a\xa4\xaf\x0f\x82\xd2\x48\xe4\xfc\x52\xb0\x30\x47\x50\x93\x90\x88\x2b\x8c\xe1\x61\x17\x14\x28\x3c\x63\x59\xbe\x9c\x4e\xd5\x1d\x54\xd2\x5b\x26\x19\x5b\x7c\xa9\xc4\x4e\x4c\xe8\x0a\xc3\x22\x81\xc2\x93\x98\xf5\x0e\x6d\xc4\xab\x9b\xb1\x17\x06\x49\xec\x1d\xca\x51\xd1\xdc\x5b\xb2\xa4\xc1\x1c\xad\xec\x85\xc8\x8f\x79\xce\xdf\xa5\x11\xdd\x18\xb7\xc2\x39\xbf\x10\xd9\x96\xac\xdb\x3c\xe8\x7a\x75\xc8\xdd\xf1\x45\x65\x57\xcd\x49\x13\x61\x41\x85\xa2\x86\xba\xcb\xe9\x4d\x8a\x64\xa2\xb0\xff\x10\xff\x84\xb1\x29\x18\x74\x45\x95\x55\x54\x91\x1c\xdb\xb4\x45\xba\x92\xf7\x3c\xcd\x6a\x37\xeb\x44\x1a\xec\x6f\x1e\xb4\xf5\x0e\x11\xc6\x97\xba\x49\x04\x4b\xf7\x09\xbb\x51\x8d\x06\x4b\x98\x84\xe1\xc5\xad\x24\x0e\xa2\x30\xb8\x2c\x67\x86\x63\x6a\x56\x70\x16\x28\x51\x1b\x33\xdc\x44\x49\x26\x28\xcf\xe7\x53\x23\x15\xc4\x85\x43\x3f\xce\xf2\x74\x19\xe4\x20\x40\x4a\xd1\x83\xd4\x20\x52\xe2\x4a\x45\x90\x98\x53\xfe\x84\xe2\x38\x66\x5a\xf5\x0c\xc1\x29\x31\xc6\xd1\x62\x39\x8e\xc2\x40\xb2\xee\xc9\xd6\x0a\xd2\x75\xce\xc5\x7c\xac\xb6\xb9\x89\xc2\x89\x72\xc7\xc6\x07\x7b\xf3\xea\x67\x3d\xf7\x85\x99\x35\x92\x72\x1b\x12\x9c\x40\x75\x82\xbf\x96\x5b\xa9\xad\x5c\x14\x24\x1d\x89\xd4\x4a\xc8\xa8\x5e\xb9\xf4\x9b\x15\x94\xce\x94\xc8\x55\x21\x3d\xf5\x26\x70\xc0\x9b\xf8\xaf\x66\xb6\x15\xe3\xb9\x65\xf2\x92\x28\xbe\x0a\x01\xb2\xe1\x9d\x90\x60\xa5\x7c\x4b\x45\xf6\x87\x61\x85\x64\x5c\x0e\x92\xde\x26\x3c\xa8\xa3\xda\x8c\xee\x0b\xeb\xe1\x54\xcc\xa2\xe9\x28\xa2\x46\x92\xe4\x73\x0b\xd7\x10\x2b\x51\x13\xd7\x86\xa9\x06\x51\x12\x8b\xf2\x26\x52\x3b\xc3\xe9\xb1\x66\xa6\xdc\xb0\x27\xea\xde\x28\x4e\xe9\x25\x9e\x90\x80\x91\x0f\xed\x85\xd3\xe3\xd6\x81\x9c\x55\x82\x79\x6b\x84\x05\x8a\xb0\x11\x01\xd7\x41\x08\x21\x4f\x29\xde\x51\x6a\xd6\xef\x7f\x1b\x66\x2a\xef\x71\x89\x3d\x53\x09\xa7\x62\x29\x65\x71\x6b\xc3\x7a\xc2\xb7\x8a\x45\x05\xeb\xc5\x70\x5a\x31\x11\x33\xdb\x30\xa3\x68\xe5\x70\x36\x83\x3e\xfd\x8e\xd3\xdc\x04\xf2\x16\xb1\x6e\x9c\xe4\x33\x5d\x97\x98\x92\x4b\x25\x5b\x38\x95\xc6\x8d\x9e\x0e\x95\xc8\x84\x99\x64\xd5\xd8\x54\xd6\xc8\x16\x52\x6d\xac\xb2\x1f\x7e\x70\xb1\xba\x19\xad\x7a\xaf\xd0\xc3\xa9\x8e\xbc\xca\x73\x3b\xe1\x8e\x8d\x8f\xca\x47\x59\x9d\x74\x1a\x35\x09\x98\x4c\x3d\xa4\x77\xb8\x4d\xbc\xc9\x68\x71\x0d\xf4\x0d\xd8\xc8\x93\xd3\xd2\xcb\xae\x83\x0b\xef\xdc\xb4\xb3\xd2\x93\xd3\x7b\x3f\xf3\x1a\xa6\x8c\x06\x01\x09\xcf\xef\x74\x2e\xbd\x4d\x56\x83\x24\xfa\x7e\x27\x13\x8a\xce\xea\x4d\xde\xd1\xa1\x23\x0c\x8c\x10\x28\x40\x7e\xf6\x92\x2b\x91\x4e\xa3\x64\xe5\xb1\x71\xa8\x22\x89\x63\xce\x73\x54\x8a\xe3\x83\x24\xbd\x5b\x82\x66\x5c\x05\x78\x9f\xf1\x8c\x8d\x85\x88\xd9\x9c\x4f\xa0\xf2\x3c\x21\x02\xa5\x90\xf6\xf4\xe0\xae\xd2\x19\xe3\x4b\x3c\x99\xbb\x48\x40\x19\xbe\x4b\x30\x95\x11\x37\xcc\x74\xf6\xa4\x95\x60\x91\xe0\x95\xe0\xc8\xe6\x06\x92\x3c\xf3\x2c\xa7\xe2\x07\x3a\x36\x34\x81\x85\x67\xb3\x8c\x58\x99\x9a\xa4\x9c\x23\xde\xf9\xf0\x9d\x19\xa2\x4c\x13\x78\x39\x7a\x29\x43\x01\xd7\xa5\x61\xa0\x4e\x28\x5a\xe3\x23\x1c\x8f\xd7\x7a\xf2\xf2\x7a\x96\x86\x71\x0e\x1c\xd6\x32\x3d\x0c\x38\x65\x8b\x0f\xd2\xad\x08\xa2\x3e\x42\x54\xfc\x8d\x07\xa4\x5c\x2c\xc9\x23\xe4\xcf\xbb\x1c\x8c\x84\x04\xcb\x88\xe8\x86\x56\x9a\xa3\x24\x8b\xfc\x93\xc6\x81\xce\x9c\x4d\x9f\xd5\x22\xeb\xfd\x25\x31\x86\x44\xa9\xb6\x90\x5c\x6a\xd5\xde\xbd\x5b\x12\xf1\x5a\xfb\x26\x4d\x56\x0d\x1a\x5b\xc3\xe9\xd8\x62\xd5\x72\xb6\x47\x72\xce\x4f\x4d\xee\x5d\x98\xcc\x11\xb5\xd4\xe5\x7a\xd4\x47\xec\xe1\x43\x1b\xda\x26\x49\xc5\xa5\xfe\xbb\xca\x29\x6a\x19\xe4\x6a\x7e\xc5\x52\x00\x11\xfc\xeb\x2c\x87\xc5\xd9\x60\x4f\xfe\x93\x57\xe7\x2b\x24\x26\x9c\x87\x2b\x33\x11\xa9\x6d\x90\x9a\x68\xdd\xc1\xe1\x49\x33\xbe\x8d\x68\xb9\xab\xd4\x84\x0d\x6b\x0a\x2d\x0d\x1b\x1d\x0d\x17\x07\xd5\x42\xd4\x06\x72\xbc\x4d\x84\xa2\x01\x57\x4a\x17\x0a\x37\x77\x15\xa3\x4a\x93\xbf\x4d\x90\xc2\xf5\x87\x33\xbd\x92\x08\xe0\xcb\x66\x4a\x80\xcf\x95\x84\x50\x2d\x65\x15\xd7\xf5\xee\x72\x56\x19\x13\x9b\xc1\x7e\x8b\xac\x95\x26\xab\x2d\xb5\xe6\xb7\x4b\x5a\x25\x7c\xdf\x41\xd6\xaa\x19\xc4\x1b\xcc\x6b\x41\x4b\x61\xde\x41\xbd\xe5\x2c\xc1\x4a\x8b\x50\x58\x85\xca\x27\x83\x3f\x56\x2a\xab\x26\xfc\x9b\x64\xb2\x12\xde\x6e\x95\xca\x6a\x4a\x2c\xc3\xa6\x96\x60\x26\x7b\x77\xc5\x32\x1a\x87\x2a\xdc\x88\x3a\x90\xdb\xea\x95\xb9\xc2\x5c\xdb\xb7\x4f\xd3\x94\xcf\xc5\xff\x31\x0b\xb8\xa9\x6d\xfb\x36\x82\x7c\x3e\x93\x94\x4f\xb5\xc5\x35\xf8\x39\x4f\x79\x60\xf2\x88\x3a\x66\x35\x72\xc1\x39\x83\x64\x6a\x60\x67\xb6\x66\x93\x90\x47\xc9\x45\xd1\x90\x03\x52\xd4\x4b\x41\x2c\xf7\xe8\x15\xc1\x06\xd3\xfc\x11\x5b\xb1\x88\xaf\x45\xda\x62\xec\x2c\xd1\x86\x17\x0c\xde\xf4\x31\xf7\x81\xf0\xa2\x08\xd3\x16\x50\x46\xcf\x00\xd5\xd3\xcd\x1f\xf5\x80\x34\x04\x89\x20\x08\x23\x8f\x3b\x3b\x61\x53\x1e\x84\x51\x28\x05\x40\x3c\x32\x0a\x2d\xf5\x18\x92\x94\x34\x87\xa6\x0e\x7d\x91\x7f\x2f\xe3\x82\xae\xf8\x84\x85\x73\x7e\x81\x4e\x08\x5a\xe0\x86\x8e\xd1\xfc\x92\x65\xe1\x45\x0c\x9a\x31\x78\x32\x20\x1b\x2c\x93\x37\xb4\xe5\x04\xef\xd7\x57\x06\xd2\x4e\x03\xc9\x69\x2d\x33\xbe\xa8\xa9\x11\x17\x58\xa4\x46\xc1\xdf\x5c\xe3\x1e\x7c\x66\x58\x70\x78\x0e\xd3\x95\xf0\x08\xb1\xa5\x95\x65\x1a\xb9\xf9\x43\x65\x41\x9e\xb0\x28\xe1\x9a\xb4\x70\x07\x58\x8d\x40\x04\x20\x7d\xa9\x56\x97\x6b\x01\x47\x7d\x51\xe3\xc7\xe6\x0c\x12\x78\xe8\x80\xe1\xae\x3c\x33\x82\x09\xdb\x9c\x93\x46\xdc\x90\xe3\x69\xd8\x1d\x5a\x07\x98\xaa\xf4\x49\x9e\x46\xf4\xbb\x3e\xa9\x26\xe1\x95\x5d\x0e\x7f\xeb\x8f\x72\x92\x47\x12\xb4\x39\xd8\xb4\xfa\xd7\x9e\xdc\xe7\xcf\xa0\xa4\xa6\x3a\x21\xcc\xe4\x93\x36\x7b\xd4\x07\x26\x26\x78\x4d\x4b\x5f\x48\x45\x3f\x98\xf1\x38\x16\x91\xf9\x6c\x31\xe9\x67\x98\x78\x96\x6a\x5a\xe9\xea\x42\x8d\x75\x07\x49\x16\xdf\x4c\x62\xb2\xc4\xfb\x64\x63\x8e\x0c\x54\xb2\x55\x08\xaf\x35\xa2\x05\x59\x8d\x63\x6e\x6c\x80\x40\x2b\xee\x85\x8b\xa0\x19\xc6\x61\xde\x4c\x2e\xbd\x43\xf3\x2a\xff\x01\x5e\xf9\x95\xe8\x96\x2d\x12\xc9\x77\xf8\x14\xdc\x5c\x21\xcd\x0e\xdc\xf0\xe6\x4c\x35\x07\x5e\x00\xf6\x6c\xd3\x30\x0e\xb3\x99\x7a\xbf\x87\xf9\xcb\xea\x8a\x20\x4f\xe2\x69\xf2\xa9\x56\x7f\xea\x38\x9a\x3c\xb5\x06\xa4\xb7\x64\x18\x4f\x93\xaf\x1c\x95\x03\x63\xd3\xd0\x24\xbf\x9f\x25\x2b\xa4\x4d\xf8\x02\x49\x11\xf9\x5c\x34\x54\x93\x98\xa5\x62\x1c\xca\x5b\xec\x32\xd5\x0f\x2d\x98\x23\x38\xa5\x5b\xa9\x01\x16\xd0\x63\x08\x1b\x8b\x28\x59\x39\x08\x30\xa4\xd1\x02\x4e\xde\x52\xe6\xb0\x47\xcc\x9b\x46\xe2\x5a\x9b\x24\x55\x91\x4b\x6b\x91\xa4\xb9\xdf\x4a\xe2\xb9\x36\xb8\x44\x52\x55\xeb\x8e\xe6\x0d\xb2\xac\xee\xc0\x49\xe2\x17\x09\x9f\x54\xe3\x9a\xde\x51\x14\x6e\xc1\xc5\x33\x12\xad\x28\xb9\xa8\x79\xef\x62\xb4\x6c\x54\xfd\x01\x2d\x02\x62\x0e\xbd\x06\x43\x4a\xaa\x00\xea\xbe\xb2\xc1\x53\x7d\xc6\x02\x78\xec\x93\xe7\x59\x8a\x69\x8e\xc3\xac\xc1\x4e\xd8\xc5\x52\x64\xfa\x79\xf4\x24\x87\x5c\x50\xb1\xa7\xed\x8a\x30\x97\xf8\x02\x8e\xbc\x2c\x17\x31\xe4\x23\x90\x77\xf2\x13\x6f\x4e\xf6\x47\xca\x86\x12\x5f\x13\xdd\xe4\x4f\x33\x91\x0a\x75\xdc\x2c\xd2\x64\xcc\xc7\x11\xe4\x07\xcc\x71\xd5\xb2\x85\xe0\x97\xe6\x81\x28\x4f\x60\x79\x91\x47\x66\x77\xda\x69\x05\x11\xa5\xbc\x8f\x71\xd7\x32\x5c\x01\xcc\x05\x7d\x33\x60\x59\xef\x53\x59\xf2\xd9\xc4\x3e\xc4\x8a\xbd\x74\x4a\x71\x95\xbf\x8a\x7c\x3e\x15\xe8\xe7\x06\x20\xe0\xc2\x60\x75\x45\x9c\xb0\x45\x19\x8f\xc8\xda\x66\x91\x64\x39\xc1\x56\xa9\xec\xff\x26\x19\xcf\xa1\xe1\x36\x5e\x83\xf1\xf4\xe2\xea\x90\x9d\xff\x8d\x7a\x7a\x93\xa4\xf9\xe1\xe6\xbe\x3b\x5f\x3e\x7e\x69\xd8\xc4\x0d\xe7\xc1\xf9\xe6\xfa\x1f\x5d\x21\x58\xd1\xe3\x9c\xaf\x5d\x6a\xbc\x7d\x59\x36\x2f\xf6\x29\xe4\xc5\x73\x64\x19\x60\x38\x96\xdd\xfb\xdd\x58\x78\x89\x41\x96\x29\x01\x5f\xed\x2e\x44\xde\x0b\x02\xb1\xc8\x5f\xf0\xf8\x62\x29\x4f\x8a\x9a\xae\x17\xa9\x22\x63\xaf\x05\x13\xb4\x97\xc3\xe5\xae\x5e\x83\x9d\x5b\xd9\x9b\xb9\x0b\xf9\x90\x69\x88\x96\x25\xf0\x34\x49\x05\x9a\xb5\x0d\x92\x28\x49\x0f\x0b\x47\xb0\x1c\xe1\xc8\xad\x52\xab\x5b\xcd\x8d\x55\xdc\xc6\xe6\x7d\xb7\x8a\xd3\x1c\x95\x77\x1b\x9b\x0e\xcc\x67\xa7\xd9\x34\x41\x0b\xac\xea\xd1\xe2\xb7\x52\x83\x11\x9f\x87\xd1\x7a\x53\x13\xfc\x5a\x98\x5b\x26\xde\xbd\x7d\x71\x68\xd6\xea\xdd\xdb\x17\x35\x6f\xcb\xab\x5b\xd7\x8f\x2f\x1f\xf5\x1f\xca\xec\xcc\xda\x7f\x2e\xd1\xbe\xcb\x44\xca\xe0\xd9\x94\x14\xaa\xf0\x20\x2a\x19\x61\x0e\x46\xbf\x46\xac\x82\x6c\xfd\xa9\x16\x4d\x37\x13\xf4\x40\x42\x18\x20\xc8\x4d\xfc\x46\x3f\xbb\x3a\xfb\x27\xc9\x48\xc8\xbd\x95\x9a\x71\x94\x25\xd8\xf8\x44\x5d\x90\x94\x3e\x7f\x66\xc5\xb2\x16\x72\xe2\x57\xc9\x44\xd4\x0b\x87\x4c\x59\xd4\xb2\x2a\xb7\x52\x31\x4f\xae\xc4\x60\x16\x46\x88\x4d\xab\x9a\x61\x59\x84\x02\x35\xbd\x6f\xe4\x0f\x83\x8a\xa9\x16\x18\x04\xe3\xf7\xe7\x07\xd6\x96\xb5\x81\xc7\x28\x9b\xa4\x17\x57\x45\x8c\x16\x58\x20\xd9\x00\x80\x59\x8d\x3c\x2b\x86\x69\x9a\xa4\x35\x4f\x81\x0c\xb0\x9a\x36\xe6\x15\x39\x5b\x2e\x5a\x5e\xdd\x20\xb8\x9a\xfd\xdb\x9c\x84\x38\xba\x19\xd2\x21\xfc\xff\xa5\xa0\x17\x53\x02\xd6\xbb\x13\xba\x07\xd8\x04\xa4\xfc\x05\xe8\xb4\xcc\xd2\x40\x0d\x49\x5e\x3b\x04\x39\x24\x91\x71\x16\x1a\x9a\x6a\xb7\x80\x1b\xd9\xe9\x0c\x34\x53\x05\xfa\x03\x47\x58\x11\x4d\xe9\x00\x7c\xea\x5a\xd0\x2f\x72\x42\x2f\x49\x46\xef\x79\xb4\x74\x8c\xbc\xe5\x57\x79\x13\x92\x20\xd4\x35\xa1\xe0\x2e\x6d\x7f\x3a\x97\xf5\x3f\x3e\x7d\xe0\x18\x57\x59\xa0\x9f\xda\x16\x1f\xc5\x61\x81\xf9\x7e\x61\xa7\x18\xed\x50\xd5\x46\x51\x32\x3d\xc9\x71\x02\x17\x1c\xef\x53\x3c\x4a\x05\x9f\xac\xd9\x55\x98\x85\xe3\x88\xec\xb8\x5c\xc9\x8d\xc6\x31\x13\x7c\x22\x52\x6d\x97\xe9\xf9\xdd\x85\x94\x4d\x95\x8d\x50\x78\x45\xd6\x07\x15\xc6\xad\x35\x7d\xdb\x32\xd6\x21\xea\x89\x56\x22\xd7\x83\x3f\xbc\x06\xeb\xee\xa0\xbd\x2d\xf6\x47\x3d\x41\x0d\xfc\xcb\x6b\xb0\x9d\x7d\x53\x25\xc2\x3c\xf3\x35\xea\x9c\xde\xe0\x9a\x8c\x3c\x9c\xb7\xd0\xd3\x1c\xcc\x66\x92\x85\x5d\x91\x60\x37\xb5\x11\x00\x54\x55\x53\x51\x76\x77\x47\x45\xf6\xae\xbe\x7c\xd2\x75\x35\xc2\x55\x65\xe7\xa2\xa7\x6d\x71\x02\xb0\x2b\x1b\xe2\xb5\xb6\xe6\x4d\xc2\x2b\x44\xb4\xae\x4d\xa2\x7f\x90\x65\xe0\x1c\x75\xc4\x94\x70\xe4\xa9\x1c\xcc\x87\x8c\x8f\x21\x45\xad\x78\x6a\x74\x56\x1e\xdd\x15\x0e\x59\x9c\xc4\xce\x07\x79\x73\x68\xa2\x18\x0b\x8d\x49\x47\x6b\xd5\xc8\x93\xc5\x21\xf3\xdb\xff\x6e\x97\x49\x84\x1e\xb2\x1d\xa7\x0c\x90\x79\xc8\x0e\xdc\x9a\x88\xb8\x43\xb6\xef\x16\xcf\xc3\xb8\xa9\x3e\x75\x0a\x9f\xf8\x75\x73\x43\xab\x71\x72\xdd\xcc\x66\x7c\x92\xac\x0e\x59\x9b\xb5\x59\x67\x71\x6d\xb4\x75\x37\x8b\x0f\xec\x09\xf3\x5c\x50\xe9\x44\xa4\x87\xf7\x05\xc1\xb2\x24\x0a\x27\x4f\x89\xcd\xc9\x2d\x06\xca\x5d\xcb\x6e\xf1\x15\x64\x8f\xd4\x0a\x0b\xfb\xb4\x6d\xb0\x2c\x61\xb1\xfb\x5d\x79\x61\xc2\xa6\xa1\x2c\xc7\x2d\xed\x59\x40\xc5\x77\xa0\x10\x46\x75\x37\x12\x88\x4d\x04\x72\xd1\x9f\xda\x1a\x4d\x8f\x92\x1f\x37\x49\x08\xc7\x2a\x4d\x11\x4f\xdc\x6a\x6a\x5d\x24\xc6\x9c\x7d\xee\x62\x57\xe2\x57\x0b\x60\xcd\x00\x25\xad\xaf\x5b\x28\xc6\xbc\x1b\xdb\x97\x04\xbd\x72\x7b\x29\x87\x35\x33\x90\xdc\x24\x2f\xaa\xf8\x38\x25\x29\x6d\xd3\x10\x8d\xa4\x46\xb8\x36\xfb\x11\x54\x70\x13\x94\x17\x10\x23\x75\xe2\xd7\x72\xfd\x48\xca\xba\xd3\xfa\x61\xdd\x56\x26\xf2\x5e\x4e\x59\x46\x6b\x5e\x9a\x44\xe0\x76\x8d\x1f\x8b\x55\x37\x2f\xf5\x9c\xa7\x17\x61\xdc\x84\xbd\xdb\xdc\x2e\x4e\x9a\xbe\xa6\xb8\x98\xa5\xcf\x28\x20\x1f\xb2\x45\x02\xba\xdb\xa7\x85\x6e\x73\x71\x9d\x0f\x90\x4e\xc8\xd5\x91\x77\xa6\x9e\x53\x85\x4f\x26\x43\x79\x5f\x7d\x41\x37\xef\x9a\x07\x12\xa8\xd7\x70\xe4\x27\x25\x42\xba\xb2\xab\x45\xcb\x36\x72\x11\x72\xdd\x39\x6a\xe8\xcc\x3f\x2a\xaa\xd4\x36\x61\x1b\x6b\x78\x64\xec\x08\x07\x7e\x12\x47\x78\x3d\xb3\xb4\x1d\xc5\xcb\x2c\x55\xdd\xc8\x7a\x37\xed\x2b\x60\xae\x87\xcc\xaf\xe0\x92\xe0\x32\xec\x00\x77\x96\x3d\x4b\x03\x85\xab\x65\x1a\xdd\x50\x4f\xf0\x79\x24\xb2\x4c\x56\x4e\x97\xa2\x70\x56\xd8\xe8\xc3\xe6\x96\x74\x26\x4f\x59\xa7\x86\x6e\x77\xa7\x97\x8c\x4b\xb1\x46\xe7\x87\xff\x3b\x8f\x19\x28\x90\x3c\x57\x13\x7b\x2e\xd6\x2f\xf9\xc2\x7e\xdc\x50\x9f\x94\xf6\x4e\x89\x9f\x83\x24\xc6\x5c\x95\x49\xfc\x5c\xac\x1f\xa3\xaa\x06\xd3\x9d\xa2\x87\xa8\xfc\xf2\xfe\xec\xb9\x58\x67\x79\x9a\x5c\x0a\x75\xeb\xe2\x59\x96\x04\x21\xcf\x31\x55\xbb\xab\x73\xb7\xd4\xeb\x78\x09\x10\xf0\x6c\x71\xc8\xce\xff\xeb\x6c\xf8\xf6\xe5\x47\xc6\x25\xf6\xc8\xd3\x1a\xe6\x7a\x95\xb7\x7e\x2b\x79\x0b\x54\x29\xf2\x0b\x5d\x58\xc3\x50\xef\xe3\x61\xc6\xf4\xfa\x5a\x22\xb2\x9e\x7f\x85\x72\xdd\x04\xf5\x33\x4f\x05\x57\x39\x3e\xfe\x2c\x52\x41\xe1\xe5\x1c\xe6\xea\x68\xda\x4d\x63\xed\xdb\x21\xbc\x54\x7b\xe1\x44\x6b\x16\xf0\x45\x8e\x5e\xbc\x6a\x6c\x0a\xd1\xd3\xc4\x00\x57\xdf\x68\xcf\x1b\x3d\xb9\xd5\x81\x6c\xa5\xd6\x30\xc3\xb8\x79\x26\x91\x39\x20\x53\x2b\x6f\xc3\x94\x8d\x81\x98\x94\x62\x36\x6b\xb0\x8c\x5f\xc9\x15\x93\xe0\xb2\x04\x95\xc2\x48\x7a\x6c\x19\xc3\x23\x25\x78\x1c\x53\xce\x66\x79\x9b\x74\x58\x61\x03\x1f\x70\x28\x22\xd9\x44\x0f\x5c\x8d\xe7\x93\xce\x30\xc3\xd8\xb9\x07\xf6\xcc\xc9\x32\x37\x9c\x73\x24\x4b\x5e\x2f\x73\x9b\x49\x7d\x6c\xe8\x06\x97\x62\x3d\x49\x56\xb1\xa9\xff\x5c\xac\x8f\x93\x55\xbc\xb9\xfa\x22\x25\x06\xa2\xeb\xbf\x91\x25\x9b\x1b\x2c\x17\x4e\xed\x77\x8b\x0d\x55\xe5\x39\x71\x12\x2f\xec\xc1\x9f\xa9\x22\xa7\xc9\x03\xc6\xf0\x92\x03\xfb\x8c\xd1\x85\x4e\xf9\x5f\x5d\x8a\x35\x9b\xf3\x05\x08\x45\x8f\xb7\xac\x75\x7e\xc9\x17\xa4\xc6\xac\xdc\xb9\x8a\x7f\xab\x16\xb2\xc3\x30\xbe\xc8\xaa\xdb\xf4\xe9\xab\xd5\x4a\x8f\x46\xca\xcc\x87\xec\x38\xcc\x20\x68\x23\x8f\xd7\xac\x17\xe5\x3f\xa7\x2c\x15\x11\xec\x9a\xf9\x32\xbe\x50\x5e\xc3\x8f\x59\x90\xa7\x51\x93\x47\xf9\x21\xeb\x41\x0a\x5b\x36\xc8\xd3\xe8\x49\x2f\xca\xd9\x5c\xf0\x38\xc3\xb6\x54\x57\xca\xd1\x4e\x5d\xb8\xa9\x54\xd7\x05\x96\xe9\x54\x46\x86\x5b\x59\x5b\xe3\x89\xcb\xb2\x97\x92\x8d\x2a\x27\x68\x77\x6e\x27\x53\x38\x39\x1a\xec\x74\x16\x4e\xf3\xe6\x49\x9c\x89\x94\x9e\x3d\xa7\x10\x69\x64\x06\x0f\xaf\x4a\xed\xa0\x5c\x98\x20\x23\x35\x78\xf4\xb4\x34\x1c\x90\x84\x21\xe3\xbe\x5c\x33\x62\x75\x00\x69\x0c\x7a\x75\x6d\x83\x37\x4b\xc0\xba\xcd\x1e\x66\x26\x7b\xc7\xce\xd1\xff\xeb\x88\x22\xdb\x56\x8e\x75\x96\xcc\xc5\x96\x00\x23\xe3\x28\xd2\x81\x2c\x9d\x67\xe5\x0c\x42\x1b\x8c\x79\x8a\x11\x56\x24\x78\xdd\x0c\xa1\x41\x5b\xf5\xdc\xc3\xde\x9f\xc9\x41\xcb\xf3\x26\x6b\x31\x3d\x1b\x7c\xbf\xd1\xdd\x65\xa0\xab\x7d\x7f\x06\xe7\x52\x86\xb6\x43\x12\x94\x0b\x9e\xfa\xce\x0a\x53\x94\x9f\xe5\x11\x80\x41\x17\xac\xac\xbe\xd6\x0c\x4f\xe1\xaa\x9d\x31\x3e\x4e\xae\x44\x83\x5c\x99\xe0\xae\xb0\xe0\x17\x82\x2d\x17\x5b\xf0\x53\xee\xf0\x02\x74\x59\x7e\x1b\x74\x8d\x3f\x49\x91\xcd\x37\xd1\x32\xdb\x7a\x19\xc6\xcb\x6c\xeb\x2f\x22\x4d\x14\x1a\x33\x88\xa0\x52\x5a\x55\x68\x82\x34\x72\x63\x43\xaa\x09\x9f\x09\x5f\xbf\x7e\x6a\x20\x34\xd3\x2d\xb4\x9b\x24\x3a\x98\xa2\x3b\x17\xb9\x83\x64\x35\x00\x22\xab\xfe\x25\x49\xe6\x95\x14\x01\x5b\x6b\x80\x41\x54\x32\x70\x6b\x83\xf9\x51\xbf\x03\x49\x70\x92\xd8\xe4\x17\xe3\xda\x45\xcd\x60\x32\x4f\x06\x95\x95\x11\x8c\x01\x6b\x35\x76\x46\x39\x00\x6f\xd1\x4a\x64\x43\x1f\xef\x71\x8f\x94\x87\xf6\xfe\x0e\x43\x7b\x5f\x59\x19\xc1\x18\xb0\x9b\x86\xf6\x5e\xed\xa3\x8a\xb1\x0d\x21\x24\xcb\xd6\x44\x71\xb4\xc5\x22\x52\xe1\x54\xe4\x81\xc0\x27\x08\x4f\xf1\xe2\x30\x23\x4b\x04\x32\x9e\xe6\x6b\x16\x2f\xe7\x22\x0d\x03\xd8\xe8\x70\x7c\xc2\xfe\xd6\x0f\xce\x96\xf4\xe0\x30\x23\xd3\xd1\x73\xe8\xe7\x4e\xc3\x03\x51\xc9\x1a\xa2\x36\xbe\x9d\x88\x5b\xc7\x49\x75\xbf\x7a\x98\xf8\x18\x70\xcb\x76\x02\xc6\x28\x65\x03\x88\xe8\x44\x31\x5a\x80\xb3\xf4\x4f\x59\xcd\xfb\xe5\xba\xbd\xef\x35\x18\xbf\xe4\xec\xd7\x67\xf5\x16\xc3\x84\xfd\xab\x30\x13\x08\xc7\x6d\x2e\x8f\x3b\x1b\x84\xf7\xcb\xf5\xde\xd4\x2b\x8c\x50\x57\x87\xd7\xa3\xbe\x6e\x5c\x39\x4e\x8c\x67\x16\x24\x13\x0c\xa7\x04\x2a\x50\xc9\x52\x26\x3c\xe7\xb7\xf1\x65\x6d\xa6\x3c\x54\x00\x8e\x98\xb7\xcc\xa7\xcd\xfd\xc2\x39\x72\x2a\x72\x93\xf7\x1c\x3c\x0a\x73\x8e\x73\x01\x1a\xe6\x2c\x12\x1c\xda\x8b\x2c\xe0\x0b\xc1\x92\x54\x6e\xfe\x42\x6f\xb2\x11\xcc\x68\x88\x95\xaa\xb6\xbc\xdd\x91\xac\xdf\x7c\x8f\x81\x03\x94\xc9\x78\x52\x35\x0d\xf9\xf1\xa5\xc8\xf9\xfb\x6a\x2e\xa2\x18\x98\x52\x34\xf3\x08\xc5\x0e\xb0\x2e\x97\x62\x99\xb3\x21\x68\x0a\x2d\xfc\x47\xfa\xf9\x98\x0d\x4f\x07\x10\xfc\x28\xbc\xa6\xad\x8c\x61\xad\x5b\xaa\x5e\x6f\x32\x61\x7e\x67\x5f\x21\x7b\x19\xc3\xa9\x21\x26\x56\x40\x56\x9e\x49\x41\xfe\x9a\x22\x71\x01\x0c\x3a\x70\x9b\x97\x62\xdd\x6a\xb1\x0f\x3c\xcc\xb5\xea\x48\xc9\x6e\x24\xd0\xc2\x39\x27\x04\x5b\x29\x03\x60\x75\x56\x67\x7c\x9d\x29\x70\xee\xbf\x1a\xec\x99\x15\x38\x3e\xae\x92\xf4\x92\xad\x44\x14\xc9\xdb\xc9\x22\xe2\x39\xc4\x18\xa6\x20\x2c\x16\xb8\x4a\x40\x6c\x21\x52\xac\xcf\xb5\x77\x25\x37\x49\x12\x20\xc0\x19\x07\x8f\xcb\xbf\x2e\xe5\x85\x25\x6b\xd5\x8b\x3b\x97\x9c\x31\x31\xe2\xd4\x9c\xe7\x60\x1a\x0f\xa2\xb2\x6c\x18\x66\x6c\x12\x66\x79\x18\x07\xb4\x7d\x81\xbe\x6a\x3c\xca\x4f\x60\x61\x59\x98\x21\x2c\x64\x87\xf5\x92\x10\x04\x64\xf5\x41\xa2\xe6\x88\x79\xb8\x80\xb7\x50\xb0\x22\x02\x1e\xc8\xbb\x5c\x06\x4f\x30\x48\xd3\x0d\xdb\x79\x78\x91\x26\x93\x25\x84\xef\x86\xe5\x26\x19\xd0\x89\xe4\xad\xe7\x99\x2e\xe1\xfd\x06\x23\x62\x35\x94\x88\x01\x81\xcd\xb0\x44\x5e\x55\x64\x01\x5f\xe6\x09\x86\x3f\x31\xd6\xbe\x6a\x4d\xca\x02\x1e\xa1\xe0\x16\x26\x95\x82\x99\x65\x42\x61\x55\xd8\xf1\xf0\x05\x4c\x8f\xee\x50\x3a\xc8\x1c\x60\x97\x47\x79\xd3\xb0\xa4\x24\xa6\x7d\x82\x81\x3d\x5e\x9f\xb2\x2b\x32\x2e\xe2\x00\x5c\xc3\x02\x72\xb4\x67\x6c\xb4\x73\x87\xac\x47\x16\x7b\xe1\x1c\xc3\xcf\xa5\xa1\x5c\xef\x86\x9c\x9a\x06\xdc\x28\xf4\x1c\x66\x52\xf4\x5f\x08\x92\xb3\xf2\x44\x76\xd5\x62\xa7\xb2\xf6\x32\x93\x14\x32\xe7\x6b\x29\x5e\xce\xf8\x62\xb1\x36\xd7\x57\x34\xf4\x00\x53\x5b\x5d\x65\x9a\x2e\xb3\x3c\xc5\xdb\x36\x53\x61\xf5\xc2\xdc\xcb\x58\x38\x5f\x24\x19\x3c\x6b\x00\x7e\x12\xe4\x2b\x7a\x14\x2d\x40\x22\xf9\x13\xd3\xe2\x65\x78\x4b\x96\xfb\x9d\x84\x9b\x15\x7c\x07\x8c\x84\xc1\x25\xec\x72\xb9\x99\x5c\x0c\xe1\x7e\x2d\xa3\xf8\x50\xe3\xd8\x29\x6e\x48\xa8\x24\xa7\x0a\x87\x28\x2f\x12\x10\x02\x1b\x28\xa0\x5e\x88\x9c\x71\xd5\x07\x0a\xde\xf6\x1c\xc9\x21\x47\x2d\x32\x6e\xa7\x38\xc9\x71\xbd\xc4\xa4\x05\xea\x85\x59\x9e\x2f\xb2\xc3\xad\xad\x20\x1d\x2f\x2f\x5a\x41\x32\xdf\xf2\xf7\x76\x76\xfc\x36\x2b\x13\x9c\x3e\x70\x90\xf2\x6e\x39\x7f\xde\x11\x5f\xbe\x14\x62\xc1\xf2\x94\x07\x97\xca\x34\x54\x5d\xf1\xe4\xa4\xe1\xac\xc8\x21\x14\x93\xf6\x28\x8a\x45\x20\xb2\x0c\x72\xae\x24\xa9\x39\x2c\x6f\x1a\x81\x09\x3f\x87\x42\x34\xb0\x45\xc5\x31\xf5\x65\x08\x61\x99\xba\x60\xee\x89\x76\xa6\x9c\x8d\xc3\x7c\xce\x17\x48\x4c\xc8\xfe\xc6\x61\xce\xd4\xfb\x4a\xc6\x20\xe6\x40\xb6\x48\xe2\x89\x65\xbe\xf5\x98\x3d\x8a\x12\x94\x19\x1e\x49\x9e\xb0\x10\x69\xbe\x56\xf3\xd4\xfb\xac\x8c\x4a\x75\xdd\x16\x13\x1d\xc4\xb9\x42\x5e\xd7\x1b\x6f\x2e\x26\x21\x47\x71\x46\xdd\xac\x70\x83\xd0\x50\xc2\x94\x8d\x00\x95\xe2\xaf\xcb\xf0\x8a\x47\xba\x4f\x36\x6c\x5d\xb4\xd8\x23\x89\xa8\x47\x15\x4d\x47\x7e\xcb\x16\xf6\xb1\x3f\x32\x7e\x05\x63\x24\x75\xab\x2b\x9d\xd8\x93\x90\xcb\x7b\x47\x2f\x15\x23\xf9\xb3\x9a\x04\x9e\x25\x11\x19\xb9\x2c\x52\x71\x05\x21\x10\x34\xbf\x9f\x32\x87\x3d\x03\xcb\x3f\x1e\x0e\x4e\x87\x67\x0c\x92\x98\xa3\x67\xd9\xa4\x05\x2e\x5f\x08\xee\x78\x38\x78\x7b\xea\x7e\x6e\xb8\x50\xb4\x28\x38\x01\xd1\x4a\xfb\x05\xa0\x5a\x07\x56\x9a\xee\xf6\x4b\xd0\xd6\x24\xcb\x92\xc8\x40\x03\xed\x59\x60\x2b\xad\x2e\x4f\x29\xf2\x3b\x20\x0a\x82\x48\xa0\xc0\x39\x80\x3b\x22\x04\x2e\xd4\x0a\xab\x88\xaf\xb1\xa7\x92\x4e\x4d\xfe\xd2\x0b\xec\xb0\x01\x46\x3c\x91\xf7\x70\x39\x1c\x11\xe7\xc7\xea\x70\x95\x87\x7d\x9e\x2c\xde\xa4\xc9\x82\x5f\xd8\x91\x10\x51\x77\x67\xc9\x04\x74\xc7\x42\x58\xc2\xb9\x2c\x0c\x7a\xaf\x06\x43\x6d\x6b\x42\xca\xf2\x78\x39\xaf\x79\xf8\xc5\xab\x37\x0a\x92\xa4\xe4\x79\xea\xa8\xb7\x43\x29\x18\x73\xee\xc0\x89\xca\x28\xc5\x16\xb8\x4e\x43\x4c\x26\xd4\xc8\x22\x2c\x15\x3c\x49\xb5\x20\x85\x5b\x41\x7d\xa0\xfd\x0c\x40\xdf\x90\x86\x31\x26\xce\x80\x43\x58\x83\xb2\xb3\xa7\x6c\xd0\x36\x38\x63\x48\x62\xa1\x76\xe6\x3c\x99\x84\xd3\x50\x49\x35\x38\x94\xac\x51\x08\x2f\x2a\x81\xd2\xac\x29\x54\x87\x1c\xb9\x1e\x38\x98\x8e\xd6\xe8\x08\x59\xd7\x35\x1f\xc7\xb8\xfd\x61\xee\xc8\x8e\x4d\x75\x98\x10\x10\x25\x11\x61\x64\x5f\x0a\x52\x31\x38\x3d\x69\x50\x98\x20\xfa\xaa\x26\xc6\xc1\x6b\x4d\x1d\x61\x8c\xa1\xc3\x25\xf8\x66\x3a\xf3\x31\x11\x46\xa4\xe8\x32\x11\x59\x90\x86\x63\x9c\xbd\x52\x20\x2b\x83\x6c\x0c\x9a\xa9\xc0\xa9\xbc\x24\xf2\xd3\xa3\x37\x83\xe6\x29\xe8\xd9\x47\xca\xc4\x41\x6e\xf1\x47\x2c\xc3\xd7\xe2\xea\x89\x29\x75\x0c\x09\xd0\xf2\x98\xd2\x8b\x2b\xcb\x36\x2c\xa9\x89\x5e\xaa\x07\xa3\x5a\x2d\x17\x0b\x91\x82\x61\x2f\x05\x34\x56\x03\x34\x32\xf4\xa5\x58\x07\x1c\x42\xc1\x91\x93\x81\x06\xd2\xdd\x61\x35\x4c\xdb\xe2\xfd\x87\x57\x07\x98\x07\xbb\xba\xe8\x93\x57\xa7\x33\xf4\xa6\x8e\x34\xb0\x52\x87\x73\xd0\x73\x74\x77\x30\x58\x6e\x9c\xab\x83\x64\xce\x2f\x45\xc6\xbc\x5f\xff\xc3\xd3\xb7\xb8\x76\xdb\x33\x1a\x23\xc6\x98\xf7\xeb\x27\xf3\xd1\x9f\x7a\x2d\xc6\x6a\xaf\x12\xe5\x37\x2b\x69\x74\x16\x5e\xa0\x30\xca\x73\xd6\xbe\xf6\xa7\xb2\x93\xf6\x75\xa7\x6d\x4e\x48\xb3\x6e\xb0\x92\x69\x96\x5b\x18\xc5\x29\x42\x80\x5e\x47\xdc\x36\x4b\x65\xdd\x73\xee\xbd\x4c\x80\x35\xa7\x7f\x0c\x05\xac\x8e\x76\x3b\xd1\x98\x42\xda\x72\xc1\xc6\x6b\x79\x09\x2a\x53\xce\x1c\x85\x78\x33\x8e\x20\x89\xa7\xe1\xc5\x32\xc5\xf3\x29\xa3\x4b\x16\x4a\xee\x0d\x40\xd9\xd8\x73\xf6\xbb\x1e\x0b\x85\x40\x2d\xef\x54\xc3\xbc\x84\x75\xe5\x3f\x1e\x8e\x7a\xef\x5e\x9c\x55\x71\x41\xfa\x54\x64\x83\x03\x74\xd8\x75\xa3\xc3\x26\x2c\x59\xe4\xf2\x1c\x81\x40\xc9\xea\x2c\x70\x4e\x7f\x73\x6f\x88\xf0\xf0\xb3\xee\xff\x74\x57\x9b\x08\x60\x38\xf9\x4c\xf3\x0d\x39\xc4\x37\xbd\xd3\xd3\xaa\xf1\xc9\xf2\xe2\xe0\x48\x83\x6b\x08\x02\x63\x4a\x49\x69\xc5\xac\x89\x91\x4b\x06\x7c\xd1\x30\x77\x0c\x81\x8a\xd8\xe7\x62\xdd\x32\xba\x03\x39\x7e\x85\x68\xba\x0e\x23\x17\xa5\xa7\x05\x7c\x2c\x11\x2d\xf7\x88\xaa\xd5\x55\x23\x62\xd2\xca\xe2\x4a\x2f\xfc\x49\x4e\x87\xf7\x74\x19\x91\x77\x3b\xb1\xaf\x89\xba\x78\x41\xd0\x57\x94\xc1\xc2\x9c\x49\x31\x29\xce\x43\xc8\xe8\x92\xe5\x69\xb8\xc8\xcc\xe6\xd4\x8c\x0f\x73\xbd\xd1\x58\xd4\x12\x98\xc8\x5b\xc9\x9c\xa5\x82\x63\x58\x49\x3a\x20\x2e\xd5\x6c\x25\xaa\x4f\xcf\xde\x9e\xbc\xa9\xc2\x35\x7c\xf0\xea\xf6\xc9\x0f\x3a\x11\x61\x9c\xe2\x78\x10\x24\xe9\xc4\x82\xec\x49\xb2\x6d\x2a\xdd\x8b\x1d\x1b\xb9\x52\x04\xb0\xdc\xff\x10\x72\x55\xe2\x0f\x63\xd6\x55\x56\xcd\x68\xdd\x8c\x93\x3c\xc5\x79\x74\x6b\x5d\xe5\x04\xfd\xdd\xd9\x68\x1f\xc0\x3e\x75\x03\xfc\xbb\x26\x9b\xf0\xe8\x26\x4a\x4f\x6e\xf6\x01\x6b\xbd\x1f\xd2\xdb\x9d\xe3\xbb\x65\x2e\x4c\x96\xc2\x8d\x29\xc8\x1a\xa2\xbc\x7b\x06\xf8\x90\x4a\xb1\x97\x95\x2f\x14\x04\x10\x50\xca\x7e\xb8\xb6\x98\xb3\x38\x4c\x8b\xfa\x86\x24\x65\xe3\xe5\x98\xee\x72\x14\xa6\x0d\x47\xa5\x1f\x47\xdf\xf0\x2c\x83\xf5\xc2\xfb\xb6\x09\x26\x17\x45\xe6\x09\xcf\x19\xaf\x7e\x2d\xac\x8a\xc6\x46\x4f\x8d\x5f\x34\x20\xe7\x15\x73\x96\x64\x42\x63\x6d\xa6\xe2\xcf\x06\x34\xfb\x06\x93\x17\x1b\xd4\xa7\xa8\xcb\xbf\xad\xf7\xbc\xe9\x19\xd6\xa2\x17\x1a\x73\xd5\x03\x2d\x0d\xc4\x10\x8f\x1a\xd9\xd1\x51\xf5\x8b\xa9\x4d\x3b\xda\xca\x49\x35\x52\x06\x84\xd5\x8d\xd0\x0c\xc3\x1d\x0b\x84\xcc\xac\x6f\xcc\x4e\xe3\xbe\x7d\xea\x9c\x20\xa1\x49\x05\x02\x76\x50\xe4\x2e\x73\x54\xa8\x7f\x1e\x7e\x34\xf9\x2f\x9c\x99\xca\x7f\x8a\x1a\x4b\xd6\x28\xd4\xfe\xbc\xfd\xb1\xa1\x40\x9f\xfb\x1f\xab\x43\x81\x56\x4e\xb7\x55\xf1\xb0\x7b\x0b\x54\x65\xb7\xb2\xe9\x95\x9a\x06\xeb\xa6\x27\x22\x4a\x70\x77\x9f\x22\x1e\x67\x97\x01\xf1\xf2\x28\x22\x0d\xa6\x0e\xf2\x9a\xc8\xcb\x28\x04\x28\xb3\x94\x3d\x2a\x46\xc5\x2d\x54\xa5\xf7\x42\x15\x5d\x59\xb6\xde\x1b\x56\xbc\xec\xd1\x62\x3d\x00\xd3\x50\xd4\x1c\x3e\xc0\x63\x3f\xe4\xaa\x0b\x72\xcc\xd9\x05\x6e\x3c\xa4\x3a\x40\x87\x2d\x21\xef\xa6\xe3\x65\xce\x56\x82\x4d\x12\x65\x45\xf1\x92\x07\x4a\x96\x95\xa2\x1b\xb8\x79\xc2\x89\xe1\x7a\x95\xf2\xc5\x82\x74\xd1\xd9\x3a\xce\x67\x22\xa7\xd7\x0b\xb8\x67\x80\x62\x0c\x6f\xbd\xb7\xe0\xc4\x7e\xc3\xae\x70\x95\x03\x6b\x6a\xf2\x6e\x2a\xee\x23\x72\x9f\xcb\x16\x51\x98\xd7\x3c\xaf\xde\x9a\x26\xe9\x90\x07\xb3\x9a\xcb\xa0\x1d\x53\x11\xf3\x4c\xae\x2b\xd4\x37\xa0\x56\x69\x12\x2c\xcc\xde\x38\x0f\xfd\xd0\x5f\x31\x0d\x95\x20\x4a\xdb\xaf\x4a\xe2\x39\x62\xe8\xdb\xd9\x92\xa7\xe8\x80\x12\xd3\xd4\x44\x0b\x84\x51\x63\x6b\x9b\xac\x44\xfa\x1c\xaa\xcb\x83\x35\x4f\x5e\xc8\x82\x01\x57\x41\xd8\x24\x86\x6a\x02\x9e\xa8\x64\xad\xcf\x9f\x99\x00\xbd\xff\x73\xb1\xae\x4b\xf6\x52\x33\x00\x8e\x98\x17\x78\xb2\x86\x53\x74\xe5\xd5\x2d\x73\xcb\xd7\x31\x46\x28\x15\x46\x01\xc9\x6a\x92\x8e\xe4\x9f\x52\x98\xac\xd3\xa6\x81\x47\x82\x69\x28\x4f\x1c\xc8\xdb\x9b\x2c\xd6\x5b\xe6\x01\x5b\x82\x7a\x21\x20\xc9\x82\xf3\xec\xad\xee\xb1\xea\x90\x51\xfb\x6a\x2c\x66\xfc\x2a\x4c\xd2\x96\xb3\xc8\x56\x88\x66\x41\xca\x1d\xcd\x31\x5d\x1d\xf4\x11\xf3\x2c\xcd\xbe\x27\x6b\x09\x9d\xec\x07\xd2\x20\xda\xa1\x30\x21\xb9\xe3\x45\x92\x33\xd4\x46\x09\x88\x18\x03\xba\x41\xf9\xb7\xb8\x5e\x50\x9c\xec\xc2\xce\x27\xd5\x0d\x8f\x15\x20\x5b\x05\x0f\x1b\x29\xcc\xd9\x24\x9c\xc4\x5e\x2e\xf7\x53\x98\xd3\x55\x68\x25\x28\x8c\xe9\x58\x60\x98\x09\xf6\xfa\x54\x25\x26\xd5\xa0\x62\x95\xd8\x81\x9d\xbc\x1c\x52\xa8\x56\x15\x27\x07\x8c\xb1\x70\x84\x80\x4d\xa5\x82\x81\x97\x8d\x66\x14\xa2\x7a\x52\x82\x71\xf1\xb8\xb5\xa5\xca\xcf\xec\xc8\x3e\x30\x6b\x78\x17\x00\x35\xbc\x0a\x18\x29\xef\x5a\xeb\x45\x18\x00\xb7\x00\xee\x60\xbd\x5b\xe0\x51\xab\xc0\x41\x1e\x13\x7b\x01\xf2\x84\x6c\x6d\xf5\x63\x80\x14\x1c\x3c\x50\xe1\x7b\xc6\xfe\x36\x98\x6d\xa4\x7a\xd2\xf0\x58\xf9\x97\x1e\x1a\xe9\x59\xd9\xf4\x43\xfb\x60\x56\xde\x05\x8c\x91\x80\x17\xcc\xec\x1c\x4f\xed\x3a\x7b\x22\xef\x47\xb0\xef\xac\xb4\xc1\x16\x6d\xfc\x78\xc4\xb6\x3b\xda\x54\x5f\xc2\x37\x1f\x1d\x0a\x0c\x66\xd6\xa1\x5c\xcd\x5d\x6a\x55\x53\x0b\x66\xf5\x3a\xf1\xab\xa2\x44\xff\x14\x4a\x0b\x7a\xa7\x82\x93\xcf\x1b\x6c\xa3\x77\x8c\xa3\x16\x8b\x93\xb8\x09\xf6\x31\xea\x46\xa8\xbd\x1a\xe1\x10\x98\x41\x6a\xb6\xf9\x18\x42\x7e\xa2\x26\x04\x35\x91\x26\xfc\x2e\xf3\xf8\x62\xd1\x52\xd1\x1e\x97\x51\x44\x11\xa1\x94\xbf\xcd\x30\x0b\xbc\x86\x92\x18\x29\xf9\x03\xa4\x5f\x4f\xf2\x99\xe6\x09\xf0\x51\xfe\xb1\x5c\x10\xb7\x6c\x3c\xa0\x8b\xd8\xf0\x74\x40\xd7\xdf\x39\x0f\x63\x79\x3d\x81\x13\x58\x0e\x26\x8c\x99\xe9\x50\x8d\x4c\x1e\x2b\x2a\xff\xc1\xcd\x1c\x97\x90\x89\xed\x7a\x8b\xc5\xab\x24\x1e\xe4\x69\x04\x6f\xfd\x84\xe1\x8d\x27\x8a\x1b\x59\xfd\xf3\x67\xe6\x96\x40\xec\xf8\xca\x52\xc2\x54\xbd\xc0\xa6\x88\x5c\x2d\x26\x5c\x22\xde\xaa\xd5\x97\xcb\x7c\xc3\x89\xa2\x4d\xd3\x2a\xa6\xb1\x49\xdf\x7d\x0b\x48\xb4\x2f\xdb\x80\x16\xbd\x09\x25\xc3\xf4\xf7\x2d\x72\x2f\x76\x54\x51\xf8\x03\xfb\x7b\xcd\x67\x7f\xfa\x93\x04\xa3\x34\xf7\xac\xc9\xfc\xba\x31\xed\x77\xe0\x77\xf6\x2c\xf8\x77\x59\xcb\x9a\xd8\x7c\x50\xcb\x6b\xf3\x3d\xce\x69\x30\xe0\xfb\x23\x90\xf0\x99\xfd\x03\x70\x60\x44\x88\x63\xa1\x3c\x94\xc8\x7e\xaf\x85\x85\xd9\xb9\xee\xe6\xa3\x26\x4f\xfc\x54\x74\x4a\x5a\xf1\x34\xae\x79\xaf\x12\x06\x91\x81\x43\xad\x6c\xa6\xe6\x68\xc3\x5f\xe4\xce\x85\xf3\x99\xec\x40\x55\x22\x2c\xba\x38\xa2\xbd\xe9\x45\x42\xf7\xf7\x25\x2a\xca\xe5\xc8\x53\x91\x25\xd1\x95\x98\xa0\x7e\xde\xcd\x56\x55\xe1\x7b\x65\x79\x84\x81\xab\xad\x76\xbb\xb3\x8e\x74\x95\xba\xd2\xe8\x39\x0a\x21\x3a\xa8\x30\xc6\x70\x17\x4a\x5f\xa7\xf5\x58\x5c\x01\x32\xb9\x71\x26\x61\xb6\x80\xa8\xda\x61\x5e\x6a\x31\x11\x53\x91\xea\x08\xd1\x8e\x56\xac\xa1\x20\xd1\x2c\xd5\x9b\x21\x28\xaa\x5a\xca\xf5\xac\x0a\x01\x7c\x2e\x2c\x57\x07\xea\xe9\x88\xd6\x59\xb9\xae\xa9\xc3\x51\x22\xdb\xe0\x5a\xca\x3f\x6a\xe4\xda\xb3\x55\x43\xc0\x5f\xc0\x0c\x67\x5d\x03\x7f\x38\xa4\x96\x06\x3b\x17\x0d\x82\xff\x51\xb9\x59\x48\xe0\x1a\xea\x91\xd2\xe6\x49\x81\x0a\x9c\xed\x1e\x9a\x94\x2d\xa5\x7e\xcc\xea\xe8\x2a\xae\xaf\x1d\xd6\xb4\xe9\xc6\x28\x68\xe9\xbd\x17\x94\x80\x69\xb8\x88\x44\x93\x62\x36\xd5\xbc\xa3\xa3\x23\xaf\xce\x92\x85\x48\x79\x9e\x60\x8c\x07\x91\xe5\x18\xa1\x2a\xcc\xd5\x63\x26\x86\x25\xcf\x50\xeb\x91\x73\x08\x21\x1f\xc6\x0c\xfc\x92\x48\x0d\x20\x85\xba\x65\x98\xcd\xe4\x29\x74\x61\x54\xab\x54\x1f\xb5\x59\xf0\x09\xc1\x49\xfc\xb2\x28\xcc\x45\xca\x23\x27\xce\x92\x12\xa4\xf2\x44\x79\x07\x98\x40\x55\xe3\x35\xa6\x9b\x82\x45\xc4\x67\x1f\xed\x9c\x57\xf1\x38\xd5\xc2\x2a\x4a\xda\x57\xe8\xbe\xa9\x05\xd5\x51\x4d\xde\xf4\x4e\x4f\x6f\xac\x2f\x2b\xa8\xca\xa0\x75\xbb\xb1\x36\xd4\x70\xfc\xec\x52\x08\x2e\xa8\x4f\x37\x05\x4a\x0a\xbf\x47\x45\x9b\x89\x9f\xc8\x08\xe3\x90\x29\x81\x5d\x55\x9f\xa3\x49\x45\xa9\xbe\x91\xec\xdd\xab\xcb\xa1\xf9\x43\x27\x65\x8f\xd5\x1e\x6f\xce\x25\xf5\xae\x04\xcb\x96\x29\xa6\x2c\x32\xea\x57\x2d\x18\x69\x25\x3b\xbc\x1a\x3e\x3a\x6f\xb5\x5a\x1f\x1f\x99\x44\x36\x5a\x05\x7f\xc4\x1e\xd6\xb6\x7e\xfd\xe5\xfc\x97\xd5\x93\x5f\x3e\xfe\xdb\x16\x24\xf6\xaa\xe1\xae\x68\x21\x48\xe2\xdf\x2a\x6e\x8b\x6b\x08\xec\x86\x6e\x51\xd6\xca\x14\x21\x85\xb2\xcb\xe8\xbe\x7e\xf8\x41\xa3\xf4\x87\x1f\x24\x0a\x9d\x3c\x2e\xaa\xb1\x19\x3a\x59\x22\x43\x67\x18\x56\x3d\x88\x04\x4f\x41\x2f\x6e\x3f\x0e\xd1\x43\x88\xb9\x96\x28\xfd\x2d\x3e\xd1\xae\x78\x98\xa3\xda\x5f\xe8\xd7\x04\x38\x84\x42\x8d\xd2\x89\x3e\x42\x75\x9a\x17\xbd\xf6\x3a\x68\x3f\x6c\x77\x58\x77\xab\xe8\x0b\xfc\x4f\xd9\x60\x2d\x54\x68\x03\xeb\xcd\xb8\x28\x5c\xd5\xb5\x76\xae\x28\x5a\x74\xea\x56\x92\xac\x6f\x1c\x96\xb2\x11\xff\xf6\x51\xf9\xdf\x3a\x2a\xcb\xf5\x4a\xb1\x46\x75\xd9\x40\x70\x0a\x7e\x15\x8b\xa5\x2a\x9e\x9d\x3b\x08\x98\xb7\x21\xaa\xaa\x66\x72\xe6\xc5\x26\x72\x9f\xdd\xd4\x46\x7e\xf7\xca\x39\x8a\x6e\x66\xfc\x86\xc9\x9f\x4c\xe5\x5e\xe6\xd9\xe5\x29\x49\xc4\x18\xf4\x5f\xe4\xac\x46\x79\xe4\x34\x80\xba\xbc\x42\x23\xcd\x03\x47\x05\x43\x70\x7c\x52\x7b\x40\xb4\x8d\x7e\xd3\x3c\x08\x92\x65\x9c\xd3\x6d\x84\xc8\x58\xbd\x70\x00\xc9\x6b\xcb\x51\xd2\x82\xc9\xab\x37\xc4\x44\x5a\x3f\xa0\x93\x3e\x05\xe7\x50\x93\xda\x4e\xbb\xc6\xc0\xdd\x18\x5e\xb7\x25\x70\xcb\x54\xfb\x8c\x8f\xd5\x63\xa1\x65\x53\x8a\xf0\x1e\x0d\x4e\x4f\xd8\x5f\x28\x9b\x12\xfc\xe1\xb3\xa7\xac\xc3\xfe\xf2\x48\x9d\x06\x38\x9b\x23\x79\x37\x70\xb0\x01\xca\x0a\x75\x5b\x70\xe4\x3b\xb9\x27\x55\xd2\x03\x2d\x91\x69\x69\x0c\x45\x0d\x68\x78\x68\x41\x68\xc8\xd1\xc8\x41\xfc\x8f\xee\xf4\x7f\xc8\x46\x6a\x9c\x5c\x91\x7e\x46\xb2\x9a\x43\x45\xb5\x08\x08\x5c\x21\x78\x94\xe3\x5f\x72\xcd\x0f\xe1\x7f\x8c\xf4\x4f\xa3\x22\xaf\x0f\xc5\xc9\x95\x13\x08\xb8\x8e\xe2\xef\x35\x1a\xb8\x91\x79\xa9\x92\x25\xae\x0d\x1c\x26\xa6\xdf\x9a\xc6\x61\x9e\xb1\x2c\x41\x7d\x24\x64\x8f\x48\x21\x14\xd0\x7c\x19\x53\x0a\x0a\xa5\x6d\x31\xe2\x5a\x6a\x3c\x7c\x15\x7e\xcd\x5e\xc4\xed\x37\x77\xac\xf9\x36\x0a\x60\x6e\x2a\x3a\x4d\xdc\x34\xfa\x96\xb5\x43\xbf\x5a\x04\x93\x17\xe8\x1a\x1a\xd4\x39\x3c\xa6\xc1\x0c\xd2\x2c\x95\x83\x1c\xfe\x9d\xf5\x5d\x66\x1c\x24\x20\x58\xf8\xfe\x40\x76\x9f\x8e\x41\x8f\x03\x01\x4d\xe3\x36\x9b\xc3\x6a\xad\xde\x49\xac\xbf\x34\x5c\xb3\x58\xdc\x10\x10\xdc\x4f\x05\x7d\xc6\xa6\xfa\xb4\xb1\xa2\x73\xc9\xad\x6c\xd2\x05\x9a\xa7\x54\xdd\x8f\x9b\xc3\x70\xa0\x9f\x5a\x83\x64\x6e\x4c\xc7\xf0\x09\x4b\x08\x95\xf3\x37\xe2\xc1\x25\x9b\xf3\x8b\x30\x68\xb9\x8b\xa8\x64\x20\x83\x5a\x23\xe2\x82\x00\xf5\xf9\xf3\x26\xb1\xf7\xa1\x62\xc6\xb2\x8e\x5c\x91\xcf\x9f\x81\xa2\xea\x75\x57\xa5\xa8\x4d\x85\xc2\xcc\xd1\xb5\x5b\xaf\xbc\x94\x02\x95\x30\x06\x39\x12\x31\x0b\xad\x51\x29\x2e\x63\xe7\xcd\xb6\x94\x63\x45\xb1\x38\x50\x2c\x8a\xeb\x90\x02\xaf\x39\x3e\x78\x2d\x6b\x54\x60\x90\xc9\xe3\x02\xdc\x86\x2c\xaf\x7e\x81\x46\x9d\xb7\xca\x15\xa9\x20\x05\x3c\x46\xfb\x4b\x30\x3f\x5e\xca\x6f\xc0\x05\xd1\x26\x22\xa0\xc5\x0d\xe1\xad\xbc\x52\xf7\x08\x89\x99\x60\xa9\x48\x6c\x96\xcb\x65\x0c\x0b\x50\x2e\x95\x92\x57\xc3\x44\x74\xa5\xf0\x92\xf0\x34\xad\x80\x39\xfc\x82\xac\xcf\xe2\x4b\x9c\x66\x02\x4a\xd1\x48\xb8\xe6\xda\xae\xc1\x9d\x31\xa9\x55\xd7\x56\x55\x0f\xcd\xb6\x2f\xe3\x64\x45\x57\xd7\x3c\x5d\xd3\xdd\x35\x54\xb9\x93\x44\x41\xae\x02\xb5\xae\x02\xa6\x9e\x51\x81\x14\xdd\xf5\xda\xa8\xd6\xb6\x48\x0e\x50\xa0\x4f\xe1\xc8\x65\x64\x16\xef\x2a\x5c\x0c\x5b\xc8\xb5\xbe\xc3\xcd\xd0\xd2\x23\xdc\x7e\x33\xb4\x77\x88\x23\x2b\xab\x3c\xfd\x47\x47\xac\x53\xea\xcf\xad\x49\x59\xd9\x6b\xc8\xb7\x7f\x62\x3e\x3b\x64\xed\x7a\x83\xf9\x86\x0b\xde\x43\x67\x5a\xc6\x28\x5e\xad\x2a\xdf\x5f\xa9\xd6\x43\x77\x22\x2e\xea\xe4\x55\x17\x6f\x7d\x5e\xb5\xd6\xe4\x84\x52\x74\x73\x8a\xf5\xe1\xb1\x27\xec\xcf\xa7\xaf\x5f\xb5\xb0\x55\x38\x5d\x53\x3f\xf5\x8d\x7a\x93\x53\x49\xdb\x2e\x51\xab\x4c\x8d\x65\x37\x62\x23\xe0\x64\x21\x18\xb1\x81\xad\xc0\x72\x8e\x37\x68\x04\xa8\xc1\xcc\x78\xa6\x85\x25\x48\x11\x70\x83\xc4\xd4\x22\xac\x54\x1d\x8b\x47\xcc\x48\x9a\x06\x0b\x45\xb2\xb4\x84\xc9\x0d\x40\x40\xee\x74\xa8\xfb\x1e\x8d\x51\x00\xa5\xd6\xc5\xe3\xbc\xb0\x99\x14\x59\xb5\x1b\xac\x53\x87\xd6\xbf\x5c\xfb\xe3\x73\x38\x23\x6b\xc4\xbf\x2d\x8e\x0e\xc4\x67\xb3\xf2\x33\x57\x31\xa4\x6c\xa4\xcc\x43\x0f\xe5\x61\x98\xa8\xec\x55\x79\x1a\x5e\x5c\x40\x0e\x65\x63\x8f\x09\xfc\x00\xec\xbd\x02\xd4\x89\x99\x37\x67\xb5\x42\x70\xe2\xce\xf9\x9a\xf2\xe4\x25\x68\xe2\x68\x6b\x99\xf2\x44\x81\xaa\x34\x49\x24\xf6\x29\x25\x50\x65\x18\xa9\xb5\x47\xf3\x64\x62\xed\x5a\xdc\x60\x70\x96\xb9\x08\xb0\x2e\x30\xf3\x64\x22\x65\xa0\xa7\x1d\xcf\x79\xb6\xb7\xc4\x90\x87\x04\xe7\xc6\xe6\xdb\xe5\xe6\xba\x77\x05\xa7\x70\xb9\x31\x8d\x77\xca\x8d\xad\xdb\xb2\xd5\xbf\xbc\xe3\x94\x9b\xef\xde\xd0\xb7\x0d\xc7\xb9\x76\xab\xc6\xdd\x8d\xf3\xb6\x9b\x22\xb5\x94\x1a\xef\xdd\x3e\xeb\x8d\x93\xde\x57\x6d\x8b\x5c\xd6\xe2\xa4\xdb\x8e\x9a\x00\xdc\x35\x48\x79\x25\xef\x19\xda\x0b\x08\x85\xaf\xdf\x45\x9a\xd8\x19\xf1\x96\x71\x24\x8f\x74\x75\xfe\xb7\x8a\x4c\x19\xf7\x87\x2f\xb9\x97\x1c\xd3\x13\xe6\xee\xa3\x8e\x62\xc8\x55\x99\xa6\x5f\xa3\x4b\x08\xe6\x67\xc4\xee\x79\xce\x22\xc1\x33\x34\xb9\xd4\xc3\x28\xf5\x5a\xda\xac\xee\xa4\x9b\xcc\xaf\xab\x01\x51\x53\xd3\x5c\xb5\x2a\x37\xb1\x50\x59\x4a\xa7\x5b\x16\xef\x0c\x56\xbf\xe2\x84\xa2\x96\x15\xb7\x75\xb5\x09\x8d\x75\xeb\x06\xb8\x6d\x83\x5a\xd5\x86\x9e\x31\x75\x53\xf7\x35\xd3\xd4\xc5\x6e\xf1\xfd\xb2\xbb\x83\x04\x36\x11\xec\x4f\x47\xec\x60\xd7\x1e\x87\x35\xb5\xca\xc7\x49\xd9\xa8\xc9\xba\x3b\x16\xe8\x2f\x0f\xec\x9f\x36\x59\xde\x74\x1d\xc1\xa7\x5e\x73\x11\xb1\xa8\xd7\x37\x03\xb2\xa6\xa8\xae\x44\x55\xaf\xb5\x77\x1c\x79\xdd\xd9\x39\x18\x8b\x38\x15\xd9\x02\xa2\x70\x44\xf9\x56\xd1\xff\x11\xb2\xa9\x86\xda\x56\x73\xce\x17\xfa\xb1\x82\x67\x46\xd7\xab\xa0\xe1\x31\x6e\x3b\x98\x42\x42\xd6\x54\x47\x23\x9c\xe0\xad\x0a\xfa\xd1\x90\xcc\x2d\xc8\xf0\xef\x60\x26\x82\xcb\xaa\x21\xb5\x34\x72\x6f\xc6\x2e\x3d\xaa\xd7\xd9\xe7\xcf\x7a\x9d\x40\x6d\xa3\x9b\x14\x00\xd7\x2b\x68\x9b\x8c\x7c\x9f\x58\x7a\xf8\xa2\x21\xd5\x86\x77\x6d\x12\x63\xee\x13\xc8\xe6\x93\x56\x0d\x6c\x88\x68\xb3\xfb\xbf\x24\xa2\x8d\xca\x6f\x03\xde\x3d\xf0\xf0\x9e\x26\xf3\x0a\x05\xfa\x1b\xf0\xb1\x84\x04\xc4\x3c\x36\x82\x15\x9a\x94\x39\x97\xd9\x11\x28\xa8\x57\x38\x0f\x1d\x46\x43\xcd\xc4\x55\x3e\x81\x8f\x9c\x7a\x8c\x87\xc7\xcd\xea\xe8\x1c\x2c\xcb\x8d\x77\x91\x64\xc8\x91\x3a\x21\xc6\xcb\x30\xca\x9b\x61\xac\x02\x7f\x2c\x60\x51\x30\xc6\xb3\x07\xc6\x93\x71\x18\xc0\x99\x85\x76\x2a\xe0\xd2\x47\x46\xf3\x57\xf8\x74\x22\xaf\x89\xd5\xe1\x3d\xd0\xd4\xb9\xf2\xcd\xb5\x6f\xe2\x83\x54\x19\xb9\xa9\x79\x7f\xa2\x64\xa3\x4e\x72\x0c\x48\x99\x03\x96\x2e\x8a\x88\x6e\xea\xc1\x09\x73\x2a\x78\x6a\xf5\xc8\xee\xd8\x65\x6f\x32\xa1\xf8\xfe\x4a\xdd\xa3\x93\x80\xc9\x45\xe5\x11\x24\xda\x47\xc9\x2f\xc3\xe0\x44\x0b\x9e\x82\x95\x37\x04\xfd\xc9\xd0\xd7\x78\xb1\xc4\x07\x68\x70\x00\x04\xf7\x2c\x4c\x13\xc6\x27\x13\x1a\x2c\x2c\xea\x5c\xca\x6d\x13\x91\xf3\x30\xda\x10\x61\xa8\x82\xb0\xbe\xc8\x05\xa4\xdf\xcb\x39\x68\x3f\xab\x19\x7f\xde\xf4\xb4\xf3\x85\x68\xf2\x8e\x98\x34\x43\x76\x5e\xca\xcd\x18\xd4\x89\x6d\x2c\xdc\x8c\x6e\x50\x45\xda\x07\x03\xb6\x30\xcb\x8b\xea\xc2\x4f\xe7\x06\x4e\xe9\xa5\x5a\x36\x50\xdc\xab\xca\xc4\x55\x7e\xaf\x32\x6c\x35\xad\xcf\xc3\x8f\x2d\xab\x83\x39\xcf\x83\x99\x41\xa4\x35\x87\xba\x7d\x54\x9a\xe1\x13\x0c\x73\x24\x6a\x7d\xbd\x7d\x2e\x5a\x37\x8f\x82\x86\xd3\x55\x19\xea\xb3\xae\xa4\x40\x37\x3d\xfe\xcd\x8c\xe9\x90\x95\x71\x7c\x48\x3f\xbf\x58\x42\xfd\x43\x1b\x4f\x45\x0a\xaf\xc2\x2f\x3b\x62\xe7\x54\xe1\xe3\x66\xd3\xdc\x1b\x41\xb4\x16\xcb\x6c\xa6\x67\xab\x65\x20\x58\x91\x2c\x49\x73\x13\xf8\x9a\x37\xd8\xd8\x46\x2e\xbd\x00\x6f\xa4\x6e\x68\x3e\x48\xe6\x0b\x9e\x8a\x9a\x25\xbd\x30\xc6\x5b\x36\x3e\xc6\xd6\x5f\x5a\x66\xf9\xe2\x18\x05\xdf\x69\x5b\x4f\xc1\x31\xd5\x6c\x49\x12\x09\x14\x13\x57\x37\x67\x71\x1d\x66\x79\x06\x37\x3d\xf2\xd8\x30\x47\xbf\x82\xf5\x12\x6e\x61\x0b\x11\x84\x53\xb4\x81\x25\x20\x19\x26\x3f\x5e\xa4\x22\x10\x13\xbc\x08\x02\x3f\x05\x0b\x76\xf4\x86\x0d\xa3\x49\xc0\xd3\x49\xd6\x62\xec\xe7\xf0\x4a\xc0\xbe\xd6\x07\x82\x1c\xd6\x23\x78\x7c\xe8\x3d\x82\xfb\x26\xfe\xf1\xb8\xd9\x7b\xd4\xa0\x34\x2f\xfa\x33\x3d\xe0\xa1\x46\x56\x95\x5a\xd0\x70\xf8\xb0\x11\xb4\x14\x64\xc0\x81\xf8\x83\xce\x19\x13\xc8\xe8\x67\xa3\xc9\x5c\x85\x49\x20\x6a\xd8\xe8\xd0\x99\x05\xd1\xbe\x13\xd7\xf7\x8d\x64\x8d\x69\x0b\x38\xa4\xe6\x3f\x0a\xa6\x3c\xfd\xc4\x35\x9f\x2f\x22\x71\x88\xa6\xfa\x52\x70\x93\xe0\x28\xfd\x31\xc5\xb5\xb1\xad\x89\x4d\x9e\x31\x7c\x85\x7f\x34\x0b\xd7\xfc\xe1\xa3\x16\xb6\x37\xac\xaa\xe6\x61\x5b\xaf\xc1\x1e\x79\x50\xc7\x7b\x24\x69\xc3\xee\x25\xe0\x71\x20\xa2\x82\x5f\xa4\x88\xf3\x30\x15\x11\x24\xeb\x86\x84\xd5\x56\x34\x9d\x7a\x45\x37\xbd\x28\x6f\x1e\x7b\x8d\x5b\xdf\xf5\x8b\x9d\x8b\x6b\x11\x2c\x29\x1d\x3f\x3a\xbb\xc4\x13\xe3\x57\x62\xe9\x63\x2a\xe7\x75\xe6\x35\x0a\x67\x29\x7a\x3a\x38\x99\x22\x7e\x4e\x72\xc6\xd9\xd9\x43\x4f\xf5\x7d\xc3\xe6\x2b\x98\x08\x3c\x56\x7b\xe9\x71\xc5\x01\xf3\xaf\x77\x30\x15\xce\x25\xf7\x40\x52\x76\xbe\x60\x84\x84\x26\x40\x37\x08\x6d\x78\x8a\x43\x1c\xa0\x0c\x57\x7f\xa5\xb5\x62\xa4\x15\x94\xe2\x53\x85\x4a\x10\xe5\x75\x73\x58\x3a\x23\xd9\xa4\xf6\x7b\x86\xda\x75\x96\xcb\x3d\x87\x46\x4b\x66\x7f\xa9\xe7\x42\x37\x1a\x1b\xee\x29\x52\x74\x2e\x5a\x52\x2e\x06\x2b\x05\x6d\x28\xae\xb4\x00\x18\xa1\x2d\x5d\xd3\xf8\xb4\xda\xea\x88\x2d\xf4\x8e\x3c\xa5\x42\xca\xe3\xcd\x02\x8e\x09\x69\xae\xab\x63\x56\x8b\xeb\xea\x99\xc0\x31\xb4\x68\x85\xd9\x80\x52\x43\xd5\xea\xd5\x00\x16\x2a\xf8\xf5\x10\x6c\xab\xc5\x44\xa5\x21\x55\xa3\x43\xe5\xa9\xfa\x6b\xb3\xbe\x74\x03\x43\x82\x79\xa1\xa1\x96\xbe\xab\x29\xdd\x28\x3c\x0d\x04\x3c\x8a\xf8\x38\x12\x85\x35\xb5\x94\xe4\x85\x65\x55\x18\x76\x16\xd2\x60\xd5\xba\x55\x2d\x0a\x7c\xae\xa6\x95\x25\x25\xac\x6e\xc4\xab\x9b\x07\xe6\xcb\x3f\x09\xbf\x25\x52\xae\x8e\x05\xa8\xc4\x28\x0d\xcd\x22\xf7\xc2\xd9\xab\x53\xc6\xe8\x43\x4d\x0a\xd0\x18\xb3\x64\x49\x3e\x63\xf2\x16\x9e\x4c\x15\xbb\x38\xd4\x6b\xda\x6a\xb5\xbe\xd8\x1e\x39\xe0\x23\x6a\xef\x05\x70\xc6\x81\x85\x07\xb5\x28\x5f\xd0\xf3\x5b\x9c\x27\xcc\x0c\x33\xd3\xb1\x27\x25\x24\xd9\x19\xf8\xd5\x66\x58\xaf\xc4\xa4\x0c\x57\xda\x78\x5e\x29\xb6\xfb\xad\xc7\x16\x53\x87\xd5\xa1\x39\xac\x1a\x05\xd8\x5f\x7d\x58\x31\x3a\xa2\x0e\x6f\x3d\xa2\xb0\xcb\x2f\x05\xa6\xaf\x32\x87\xcd\xf9\xe2\xde\x7c\xd9\xb9\xf2\xcd\xf9\x02\x69\x56\x8b\xf2\xb8\x48\x4c\x7f\x28\x11\x1e\xb2\xd0\x39\x5f\x48\x11\xf4\x63\xbd\x94\xc7\xe8\xad\x39\x2f\x95\x78\xa3\x1e\x4d\xa0\x4c\x64\x39\x89\x3a\xae\x0d\xa8\xb2\xa8\xc0\xb4\xa7\x30\x6f\x79\x13\x5f\x46\x11\x29\x85\x52\x81\x91\x5c\xb0\x75\xf1\x66\xa6\x50\xa2\xc0\xf4\xd4\xb1\x81\xeb\xcc\x95\x85\x86\x09\x57\x22\x09\x0f\xb4\xb1\xca\x29\x11\x2e\x7e\x2a\xc9\x2c\x55\x0b\x45\x66\x9c\xc3\x29\x1c\xab\x79\x66\x04\x07\x78\x70\xc5\x50\x40\x63\x3e\x17\x94\xc4\x71\xbe\xd4\x33\x45\xa9\x12\x8c\x78\xf1\x21\x62\xb3\xa4\x6d\x60\xdf\x71\x65\x8d\x6d\x47\xe1\xc4\x05\x8b\x05\x7d\xfd\xdb\x78\xd1\x93\xd5\xca\xf6\xc8\x70\x7d\xb1\xd8\x90\xb1\x00\xbe\xcf\xa5\xcf\xbd\x77\x3a\x17\x37\xeb\x62\x56\x75\x1b\x94\xa3\xd2\x93\x28\x24\x8d\xa0\x66\x9a\x33\x3a\x23\xbc\x87\x0e\x0c\x95\x8c\xff\xa7\x63\x3a\x13\x33\xb1\xe3\x3a\x9f\x59\xf6\x0a\xa4\x74\x82\x35\x9d\x51\x20\x36\x15\xe4\x39\x07\x8f\x10\xae\x15\x6b\x28\x64\x61\x9c\x17\x88\x6f\x04\xb6\xec\xac\xc6\x2f\x31\xf4\x9d\x31\x51\xcf\xea\xb8\x2f\x64\xb1\x04\x66\x19\xaf\xe7\x22\x8a\x90\x0f\x14\x82\x2c\x53\xf2\xf6\x64\x65\xb9\x72\xe9\x10\xa5\xf6\x41\x43\x86\x2c\x10\xc0\x0d\xb5\x35\x19\xfa\x5f\xc9\xa3\x44\x45\xdd\x29\xc5\x6f\xc8\xc0\xa9\x92\xac\x29\x24\x2c\x63\x5a\x69\x9b\xd1\xb8\x1e\x5d\x8d\xa2\x4a\x9a\x82\x6e\xac\xd2\x24\xbe\xd0\xcf\x89\x8f\x15\x16\x1b\x74\x6f\x48\x31\x19\xa6\xb6\x89\x31\x7e\xd0\x99\xe5\xfe\x73\x1c\x4e\xc1\x3b\x3e\xa7\x30\x39\x59\x83\x65\xcb\x60\x26\xe7\x70\x7c\x95\xa4\xfc\xd2\x99\xa9\x13\xaa\x1a\xfa\x82\xb9\x26\xe8\x01\x4a\x10\x58\xae\x1d\xc4\x40\x45\xa7\xf0\xc7\x38\x5a\xe1\x26\xb1\xeb\xe6\x4d\x4e\x6e\x60\x7b\xbd\x4c\xc7\x10\xa2\xe1\xb1\xba\xe8\x2c\x79\x44\x53\xb6\xf0\x2f\x79\x30\x05\x18\x0b\xb3\x6c\xa9\x0e\x51\x2b\x08\x4a\x26\x7b\x89\x93\xb8\xf9\xee\x54\x77\x94\x49\x46\x0e\x15\x75\xc9\x03\x15\xae\x0b\x14\xf6\x6e\xca\x4f\x1d\xb0\x12\x5d\xfd\x38\x1a\x13\xc9\xbe\xc1\x64\x1c\x4d\x5b\x94\xc7\xdd\x9c\xaf\x31\x1f\xfd\x15\xd9\xb8\x80\xa9\x8d\x14\x8d\x68\x55\xec\xd1\x5b\x6f\x71\x16\x2f\xd6\xa6\x41\x72\x27\x80\xe9\x0b\x8c\x60\x53\xe8\x71\x09\x0b\xa2\x8f\x37\x30\x8a\x0d\xde\xdf\x95\x28\x21\xe8\x71\x38\xcc\x23\x31\x61\x8f\x7a\x14\xbd\x08\xcc\xa9\x21\x9c\xcc\xa6\x70\x48\x18\xdf\xd9\xe6\xdf\xf0\xc9\x52\x90\x5e\x1a\xbf\x64\xf5\xeb\x53\xeb\x1b\xec\xc6\x23\x3b\xeb\x26\xca\xc8\x65\xb9\x8f\x33\x29\xdc\xe1\x06\xb3\x36\xa7\x8d\x28\x6b\xcb\x82\x28\x3f\xe3\xd9\x4c\x59\xd3\x2b\xdf\xcb\x69\x12\x45\xc9\x8a\xce\xc4\xec\x90\x79\xf8\x7c\xe6\x35\xb4\xad\x1e\x1c\xe2\xda\x40\x01\x45\x3d\x30\x35\x50\x5d\xb1\xa6\x32\x0b\xb7\x2e\x0c\x2a\x51\xf2\xda\x0a\x29\xd2\x62\x20\xe9\xe9\x9d\x4d\x62\x94\xec\x58\xc7\x60\x66\x72\x7b\x9a\xcd\x26\xae\x39\x26\x2b\x5c\x25\x16\x1f\xa8\x58\xb4\x07\xc5\x68\x37\x14\x0e\x87\xfa\x24\xe9\xb2\xc1\x3c\xde\x83\xe4\x14\x7d\xf9\xbf\xff\xd0\xc3\xe9\x1c\x3d\xf1\xb0\x22\x81\x71\x6c\xdb\x37\x0c\x4d\xd9\xc5\x23\xfd\x65\x7f\x5d\x72\x29\x78\xa4\x3c\x20\x26\x86\x44\x26\xc5\xc4\xf3\x93\x57\xa7\x1f\x65\x7f\xe7\x2f\x86\xa3\xb3\x8f\xb2\xab\xfe\x5a\x2e\x04\xc4\xfb\x48\xe2\x46\xa1\x3f\xda\xb1\x14\xe3\xdd\x84\xf8\x21\x78\xe3\x65\xae\x02\x82\xa1\xe1\x2d\x9d\x23\x2a\x40\xbb\x1d\xce\x82\x35\xd9\x2b\x74\x9d\x21\xc9\x4d\xd9\x3d\xc8\x6d\x6b\xe6\xa2\x63\xcc\xa8\x54\xbd\x62\xad\xec\xec\x28\xe0\x1e\xf5\xad\x6c\x5a\xc6\xc6\xec\x22\x36\xa2\x54\x8b\x81\x56\x1e\x12\x81\x6a\xc1\x90\x72\x5b\x0a\x65\xc4\x93\x59\x63\xa3\x30\xa6\xdf\x69\x70\x3c\x4a\xec\x6d\xac\x18\xda\x57\x8f\xae\x17\xe5\x7f\xcc\xc8\x6c\xef\x81\x7b\x8f\x8a\x62\x87\xfe\x01\xc3\x82\xc7\xce\xaf\x1b\x97\x8a\x03\x47\x59\x05\xac\x70\x65\x9b\x63\xc6\xf1\x4c\x67\x3d\x91\x22\x95\xec\x08\xdd\x60\x0b\x0e\x41\x60\xc4\xc9\x63\xc6\xd3\x94\xaf\x2b\x3d\xcb\xca\x1e\x44\xa8\xe7\xb5\xee\x85\x14\xec\xca\x49\x7f\xea\x86\x5a\xcb\x8b\x46\x49\xd0\x1f\x0b\x73\x90\x34\x50\xd3\x1c\xd3\x53\xdd\x26\x93\x25\x3a\x56\xc1\xcc\x08\xc5\x44\x6d\x4a\x44\x91\x08\xd5\x11\x16\x24\xf1\xa4\x99\x27\xcd\x88\x67\xb9\x8e\xbc\x42\x28\xc3\x8e\x6d\x6d\xf8\x2a\x0d\xf3\x5c\xc4\x0e\xb7\x83\xc8\x93\xc5\xa0\x70\xc4\x4c\x79\xa6\xb4\xe5\x62\xe2\x44\x4d\x33\xd1\xd2\x74\xa4\x34\xb8\x80\xbb\xc1\xd2\xec\xa3\xf3\x86\xa3\xce\xbd\x99\x3e\x57\xce\x92\xf6\xf1\x07\x36\xf4\xf2\x20\x32\xde\x9f\xea\x0a\x47\x87\xb6\x3a\xf5\xea\x15\xd6\x7f\xc7\x4b\x8c\x6a\x2d\x5c\x5f\x49\xe3\x29\x59\x38\x39\xcf\xad\x77\x98\x89\x98\x6e\xd6\x95\x14\x44\x5d\x0c\x79\x48\xe7\xa9\x94\xbd\x1c\x61\x55\x3f\x74\xe6\x10\x21\x4d\x9d\x06\x76\x7b\x9e\xc9\x5b\x52\x88\xa1\xc9\xd3\x0b\xcc\xb1\x06\xf7\x29\xc6\x86\x3c\x98\x01\x59\xab\xf2\xb0\x0a\x86\xb5\x5e\xdc\x50\x9f\x1a\x47\x8d\xe8\xd3\x0c\x25\x49\x2e\xd1\x50\x02\x54\x12\xb2\x8d\xdc\x73\xe3\xf0\x02\x4f\xf9\x95\xc0\x14\xc4\x10\x27\x01\xa2\xe7\x82\x0c\xaf\xf0\x69\x34\x36\xa9\x20\x73\x0a\x49\xb6\x2c\x4a\x72\xbc\x40\x4b\x21\x14\xc4\xe3\x2b\xb0\x15\x6c\xd5\x69\x20\x72\x32\xa5\x91\x5b\x56\xe9\x5d\x1d\xb9\xe8\x90\x99\xf5\x57\x41\xbb\x8a\x5e\x9c\x8f\x8d\x73\x95\x72\x2b\x31\x51\x91\xc0\xf8\xd7\x58\x7d\xd4\x89\x21\x11\xe9\x19\x82\x23\xde\x04\xaa\x27\xc1\x63\xba\xe5\xa0\x9f\xa2\x1d\x46\xe9\x1e\x44\xec\x68\x57\xae\x78\xfa\x89\xa7\x17\x59\x41\xc5\x62\x5d\x9c\xd5\xca\x66\x55\xb7\x67\xa5\x78\x41\xc8\x35\x5d\xf7\x3c\xfc\x78\xde\xfe\xd8\x70\xde\xe1\xe8\xdf\xdf\x08\x61\x87\xcc\xa9\xed\x57\xd7\x66\x84\xd6\x42\xed\xce\xa6\xda\x84\xf2\x42\xf5\xed\x4d\xd5\xd1\x65\xc5\xae\xba\xb3\xa9\x2a\xfa\xb3\x38\x75\x77\x3f\x56\x55\xfd\x52\x56\x38\x9d\x42\x32\x4e\xc7\x0e\x1f\x19\x9c\x1d\x22\x14\x73\xaa\xdc\x61\x25\x41\x68\xde\x60\x15\xe1\x4a\xd9\x1b\x32\x51\x2a\x9b\x7a\xbd\xe1\x28\x66\xab\xf2\x2f\x78\x34\xe7\x41\x9a\x3c\xd2\xdf\x33\xca\x7e\xce\xd8\x49\x4e\x91\x14\x43\x32\x17\xb6\x03\x35\x2b\xf7\x5b\x70\x52\xa9\x33\x00\xa2\xf7\x3b\xb1\x07\x30\x6e\x59\x53\x1c\x30\xa8\xd1\xb2\xfd\xb3\xc9\x7c\xb7\xa6\x76\x8c\xdc\x5e\x76\xbe\xce\x3b\xd8\xa6\x3b\xae\xc2\x96\xcf\x32\x99\xa4\x7f\xbc\xd5\xa5\xf8\x64\x8a\x82\x67\x29\x09\x03\xe3\x0d\x7c\xef\x1e\x1b\xe5\x41\xa6\xee\xe2\x29\xc4\x37\x5e\x12\x5a\x2a\x1a\x93\x0f\x40\x98\x6b\xb9\x45\x89\x2d\xb6\x61\xa5\xc6\x04\xbf\x74\x9e\xc0\x69\xb4\x26\xe0\x80\x85\x98\x82\xbf\x77\xcd\x78\x72\xa1\x4b\xac\x13\xda\xa7\xc2\x57\xd6\xb6\x09\xb3\xff\x3d\x54\xae\xde\xe4\xbd\x58\x4c\x16\x51\x67\x3f\x31\xce\x0e\xd9\xd8\x7d\x83\xa8\x5e\x44\x7a\x99\x28\x20\x7a\x9e\x4c\x28\xf3\x40\x55\x46\x89\xaf\xc3\x37\x35\xbe\x2f\xbe\x83\x7f\x61\x7c\x63\xd6\x8b\xef\x80\x6f\x89\x68\x1d\xcd\xbc\x09\xe1\xb7\x9a\x4e\xaa\x0b\x97\xcc\x6d\x04\x8d\xb3\xaf\x45\x50\x61\x5e\x9b\x72\x65\x7c\x97\xc9\x59\x6b\x51\x3d\x8d\x6c\xf6\xd5\xd3\xb0\x60\x17\xc6\x5a\xf0\xc7\x54\x39\x2d\xbe\x6d\x22\x44\x39\xd5\xd3\xe0\x51\xfe\x0d\xf3\x20\xd0\xdf\x01\xe3\xb6\x3f\x53\xe5\x40\xe7\xc9\xe4\xab\x07\x7a\xef\x9d\xf5\xad\x3b\x64\x90\xcc\x17\xcb\x5c\xca\x8a\x4a\x74\x33\x3a\x52\x0c\x88\x8a\x0f\x41\x8e\xb7\xa1\x9e\x6a\x90\x47\xb5\x60\x56\x67\x7f\x53\xdd\x56\x47\x73\x2a\x58\x2c\x83\xf1\xb4\x19\x01\x87\x1c\x05\x94\x15\xc6\xa8\x43\xe7\x7c\x01\x31\x40\x38\xc6\x2a\xb5\x3a\xad\xcd\xad\x1e\x8d\xd9\x22\xe1\xd5\x8e\x39\x7a\x3e\xff\x48\xc5\x5f\xcc\x22\x12\x97\x44\xa2\xcb\x53\xd2\xa4\x9b\xb0\xf6\xee\x62\x8a\x49\x6d\x1a\xdf\x6d\x29\xe1\x8d\xc6\xdd\xf9\xa5\xe0\xf4\xb6\x81\xd7\xd6\x16\xeb\x83\x8f\x9f\xe4\x08\x0d\x36\x4a\xd2\x15\x4f\x27\x28\xca\xbf\x15\x90\x14\x14\xf9\x7f\xc2\xf8\x55\x12\x4e\x58\xcc\xaf\xc2\x0b\x0e\x7a\x32\xbe\xe2\xa8\x94\xb5\xa1\xe5\x56\x42\x83\x05\xbf\x10\xad\xa2\x2d\x59\x21\x54\x4f\xb7\x8b\xb4\xe4\x94\xed\x55\x94\xed\xd7\xd9\x4f\x0e\x03\xbf\xed\x85\x94\x1d\xde\xb1\xba\xf2\x32\x65\x96\x15\x7d\x81\x84\xa7\x9b\xc8\x57\x6e\x9d\xe1\xe9\x40\x9b\x69\x2b\xb3\x8e\xc1\xe9\x89\xf6\xd1\xd0\x85\xa7\xa7\xdb\xaa\xf0\xb5\xc9\x05\xfe\xbf\x3a\xda\x88\x7b\x15\xc9\x6a\xca\x74\x1e\x5f\x3f\xa7\xa1\x88\x26\xa0\x74\x3c\x64\xe7\xf4\xea\xd0\x20\x5d\xa4\xba\xba\x35\xb4\x3b\x3b\x78\xb1\x83\xc4\xff\xf1\x81\x05\xc7\xb8\x2a\x43\xdc\x4a\xf5\xe4\x22\x09\xa3\x6d\xf2\xea\xc0\xae\x61\xec\x03\xf8\x9e\xfe\xb6\xcc\x72\xdb\x90\x44\x41\xd3\x61\x8d\x26\xa8\xa9\xc1\x77\x3d\xbc\xee\x8e\xd7\xfa\x96\x80\xf7\x83\x24\xb3\x72\x3d\xb0\xf3\x76\x03\xf4\xae\xef\x5e\x3d\x7f\xf5\xfa\xc3\xab\x8f\x5e\x03\x90\x5a\xfe\xff\x63\x43\x0f\x7e\x04\x91\xa7\xd3\x64\x45\x20\x3a\x7b\x0d\x09\x62\x78\x3a\x90\xcd\x87\xa7\x83\x46\x95\x40\xc2\x74\x30\xee\x86\xf9\xc5\x2a\xa5\xab\xd2\xb9\xef\x77\x1a\xcc\x3b\x1f\xf9\x12\x18\x70\x7c\x49\x5f\x4f\x98\xf7\xc6\x6b\x00\xfd\xc1\xaf\x75\x0b\x08\x16\x3e\xea\x6c\xff\xfd\x51\xa3\x0c\x6d\x1b\xa0\x75\x8a\xd0\xfe\xd3\x40\xfb\xcf\x4a\x68\x3b\x95\xd0\x76\x00\xda\x76\x11\xda\x5b\x03\xed\x6d\x25\xb4\xdd\x4a\x68\xbb\x00\x6d\xa7\x08\xed\xd4\x40\x3b\xad\x84\xd6\xad\x84\xd6\x05\x68\xbb\x00\x8d\x9a\xfb\xbb\x7f\xf7\x8a\xab\x51\x82\xb6\x5f\x09\x6d\x0f\xa0\x75\x1d\x68\x7b\x77\x80\x76\x50\x09\x6d\x1f\xa0\xed\x39\xd0\xf6\x6f\x87\xb6\xed\x57\x42\x3b\x00\x68\xfb\x0e\xb4\x83\x3b\x40\xeb\x54\x41\xeb\xb4\x01\xda\x81\x0d\xad\xd3\xbe\x03\xb4\x4a\x7a\xeb\xf8\x48\xbd\xed\x8f\x66\x11\x3b\xfe\x1d\xa0\x55\xd2\x5b\x87\xf6\x82\x6f\x43\xdb\xbe\x1d\xda\x4e\xf5\x4c\x71\x2f\xf8\x1d\x1b\xda\xce\x1d\xa0\x15\x66\xaa\x18\xc1\x29\x46\x9e\x37\x9c\xc0\x3f\x90\xe3\xfd\x1f\x09\x51\xc3\xc8\x66\x35\x29\xcb\x78\xff\x21\x29\x19\x7e\xfb\xd5\xab\xd7\x1b\x6e\x47\xe6\x1f\xf1\x1a\x00\xb7\x73\x20\x19\x8b\xff\xd0\x06\x17\xd4\x3c\x0c\x45\xf7\x6a\x39\x87\xfc\x0e\x8c\x61\x59\x2f\xca\x55\x11\xfc\xfd\x52\xe4\x1c\x0b\x14\xb8\x5d\xc9\xeb\xbc\xce\x7f\x7c\x2f\x70\xbe\x04\xb7\xfd\xff\xbe\x17\xb8\x8e\x04\xb7\xf3\x6f\xdf\x0b\xdc\xb6\x04\xb7\xfb\xef\xdf\x0b\xdc\x8e\x04\xd7\xfd\xf5\x7b\x81\xdb\x95\xe0\xf6\x7e\xf8\x5e\xe0\xba\x12\xdc\xfe\xe3\xef\x05\x0e\x0e\xb4\x83\xda\x77\x02\xb7\xb3\x2f\xc1\xb5\xeb\x25\x70\x4e\x1a\x54\x09\xa1\x00\xb0\xb2\x92\xde\xcd\xfb\x92\x0b\x36\x3f\xdd\x0e\xf5\x96\xef\x06\xa0\x64\xf9\x47\x4f\xbe\x17\x40\x94\x14\xc4\x34\xb9\x66\xcd\x4f\x20\x79\x1f\x3d\xa1\x9e\xf6\xb6\xbf\xef\xd0\xbb\xfe\x1f\x35\xf2\x93\x9c\x47\x21\x8f\xd9\x93\xc7\x6a\xe8\xb2\xab\x27\x65\x4a\xfb\x8a\xae\x10\xe2\x3e\x0a\x60\xfd\xe7\xa7\x6f\x24\x5b\x1e\x67\x35\x4c\x0a\xda\x60\xde\x2f\x63\x09\x07\x4a\xc6\xf0\xb7\x2c\xaf\x6f\x14\x9f\x8c\x70\x19\xa6\x36\x57\x3e\xc0\x1e\xce\x7a\x7d\xd9\x41\x36\xab\x79\xbf\xe4\xe6\x00\xf8\x8b\x84\x08\x92\x6f\x43\x33\xe0\x06\x2b\xcb\x65\xfb\xc0\xee\xfe\xfa\x9f\x5e\x63\x03\xe7\x66\xc8\xdd\x41\x9a\x2a\x89\x7a\x1a\x0a\x6c\xad\xd5\x87\xdb\xa0\x7c\xb8\x11\x4a\x17\x0e\x06\x31\xbc\x0d\xca\xf0\xe6\xb1\x00\xc7\x4d\xdf\xde\x06\xe5\xed\xcd\x50\x80\x33\xe6\x67\xb7\x41\x39\xbb\x19\x0a\xcc\x68\xfd\xdf\xb7\x41\xf9\xef\x9b\xa1\x00\x5b\x5d\xbe\xbb\x0d\xca\xbb\x1b\xa1\xec\xc1\xd1\x11\x9e\xdc\x06\xe5\xe4\x66\x28\x30\xa3\xe4\xf5\x6d\x50\x5e\xdf\x3c\x23\x38\xb3\x17\x6f\x6e\x83\xf2\xe6\x46\x28\x1d\x94\x18\xff\x76\x1b\x94\xf3\x9b\xa1\x80\x6c\xf7\xf1\xcb\x6d\x50\x3e\xde\x02\x45\xca\x9b\xbf\xfc\xf2\x19\xc0\x6c\x86\xf2\xcb\x2f\xce\x56\x2f\x6f\xf3\x51\xb2\x4c\xf3\x19\xec\x73\x56\xfb\x20\x20\xd4\x90\x15\x1d\xee\xcf\xe8\x3e\x02\x31\xe3\x30\xb2\xf4\xb1\xb8\x3a\x4b\x92\x88\xd2\xb3\xb2\xf3\x0e\xe0\xf6\x7c\xd0\x7b\x03\x36\x37\x66\xe7\xeb\x5f\x36\xfc\xdb\xc4\x22\xba\x40\x7e\x60\x36\xc4\x1c\x14\xc1\x84\x7a\x74\x6a\x56\xfc\xdb\xb8\xfa\x40\x89\xd9\x69\x35\xc0\xd3\xfb\x03\xec\xc2\x51\x3c\x39\xae\x06\x78\x7c\x7f\x80\x7b\x80\xc3\xe9\xa8\x1a\xe0\xe8\x2b\x00\x02\x9b\xbd\xf8\xb9\x1a\xe0\xcf\x5f\x01\x10\xb8\xdc\xec\x59\x35\xc0\x67\x5f\x01\x10\x18\xde\x6f\x7f\x2e\x01\x54\x92\xfe\x9f\x25\x4c\x49\x23\x05\xd0\x1b\x01\x02\xd9\x5c\x3e\xdf\x08\xf0\xb9\x16\xae\x20\x54\xdf\x27\x75\x7f\xd8\x08\x10\xc4\xc1\xe8\xc5\x46\x80\x2f\xee\x39\x42\x7f\x5f\xde\xad\x9f\x1e\x96\x00\x5a\xe7\xe6\xbd\x70\xd8\x81\x8b\xdd\x2f\xde\x23\xaf\xf1\x7d\x00\xfa\xdb\xa8\x83\x79\x75\x36\x7c\x0b\x06\x74\xbf\xa4\x08\x9a\xdc\x2a\x36\x02\xd4\xdf\x2b\x18\x4c\x38\x55\xfc\x85\xc2\x52\x62\xe0\x9f\x8c\x6c\xc6\x54\x8e\x0d\x96\xcd\x92\x34\x0f\x96\x79\xd6\x62\xec\x75\x0c\x8a\x2b\x05\xc3\xe4\x6c\x00\xcf\x27\xe0\x4f\x83\xad\xf7\x90\x18\x98\x32\xf8\xc2\x07\x29\x35\xcb\x0f\x18\x56\x96\x74\x5c\x98\xc4\x41\x81\xa2\xb6\x58\x53\x99\x52\x00\x8f\x23\x03\x25\x1d\x3b\x8d\x9e\xe8\xd0\x81\x82\xb3\x4c\x44\x42\xd9\x51\xa8\xfc\x16\x13\x9b\x55\xbe\x47\xa0\x8f\x9b\xef\x15\x58\x0a\x21\x53\x05\xbd\x06\xe1\xae\x14\x24\x34\x9e\xc8\x84\x98\x93\xbd\x53\x2a\x82\xe4\x22\x0e\x7f\x47\xeb\x14\xc4\x4f\x9e\x24\x75\x75\x43\x06\xd2\x3c\x3f\x7d\x76\x32\x3a\x2b\x2a\xdb\xca\xff\x36\x31\xda\x03\xe0\x3a\xbf\xff\xc5\x3d\x42\x80\xb4\xff\x52\xde\xd0\x1b\xb9\x2b\x30\xc3\xeb\xff\xaa\x80\xf2\x5f\x77\x87\xd2\x05\x89\x2e\x18\x14\xa0\xa8\xeb\xd2\xe0\x93\x03\xca\xad\x20\xd1\x3e\xb0\xe4\xf8\x7d\xc0\xce\xd5\xfb\x0d\xb0\xde\xdf\x06\xeb\xbd\x7d\x27\x00\x58\x60\xbd\x5a\xc1\x01\xfa\x05\x0e\x60\x57\xd0\xbf\xc3\x77\xcd\x54\x00\x5b\xf1\xab\x0d\x63\x7b\x75\xdb\xd8\x5e\x59\x63\xdb\x03\x9c\xcd\x5f\x56\x60\xfe\xe5\xdd\x31\xef\xcb\x05\xf4\x1a\x7f\x72\xa1\xf0\x28\xaf\x11\x17\x71\x38\xdc\x46\x28\x92\x98\xbc\xd6\x8f\xdf\x0a\x45\xca\x46\x5b\x3f\x55\x63\xfb\x93\xd6\xfd\xfc\x04\xbc\xfb\x06\xa9\xe6\x34\xbc\xce\x67\x98\xd7\x19\xac\xf0\x2c\xe5\x12\xaa\x99\x07\x67\x6f\x5f\x6c\x12\x57\x9c\x22\x83\x26\x68\xd7\x7b\x01\x1b\xee\xee\xed\x0e\xe0\x24\x3e\x7f\xd1\x7b\x73\xbf\xfe\xb6\xe1\xc0\x65\x5e\x09\x65\x46\x0d\xb6\x09\x8b\x07\xd0\xf4\xfc\xed\x7d\xbb\x3c\x40\xee\xff\xf6\xe5\xf0\xd5\x3b\xc3\x55\x6e\x6c\xe7\xbe\x68\xc0\x5b\x81\x7a\x12\xd8\xc1\x51\xbc\x79\x7b\x76\x3a\x78\x7b\xe3\x8b\x00\xe2\x77\x07\xd4\xd8\xa7\x83\xb7\x2f\x9e\x5b\xa3\xde\x58\x1d\xee\x05\xe7\xfd\xb7\xc3\xde\x2d\xd5\x9d\xc7\x12\x78\xcd\x4b\xa6\x2c\x0b\xaf\xf1\xe9\x0e\x13\x80\x93\x11\x28\x26\x68\x81\xc1\x83\x30\x71\x7e\xf2\xea\x74\xf8\x16\x16\x1c\x36\xe0\x73\xb1\xc6\xd4\x99\xb4\x4b\x8b\x0b\x50\x5a\x89\x6d\xe4\xd3\xcf\x5e\xbf\x1c\x22\xd5\x28\x30\xcf\x92\xb9\xd0\x5b\xfd\x76\x30\xb8\x30\x6f\x7e\x7e\xf7\xc6\x05\xf3\x86\x5f\x88\x77\x8b\xbb\x8e\x66\x07\x47\x73\x3c\x44\xb2\x30\x60\x8e\x45\x64\xf8\xce\xed\xa3\xd9\x25\x21\xe1\xb8\x00\x66\x18\x4f\xee\x03\x66\x87\x26\x75\x4c\x2f\x46\xf6\xa4\x20\x9b\x49\x15\x8d\x57\x6d\xf6\x9e\x5c\x39\xfd\xc6\x25\x8f\x6d\x2b\x32\x2c\x18\x63\xab\x00\x5a\xb0\xce\x65\xbb\x1c\xcc\x29\xaf\xc0\x99\x58\xad\xd0\x96\x0e\x71\xc8\x2e\xab\xa2\xd3\x29\x07\x2b\x98\x07\x3c\x4a\xa8\x95\xd1\xb3\x80\x41\xd1\xda\xdc\xbe\x32\xf0\x78\xa0\x10\xe1\xc2\xb8\x13\x2a\x70\x24\x70\x3d\x7d\x7b\xf2\xf3\x33\x20\x59\x1e\xd4\x48\x39\x23\x4f\x55\x7a\x14\x1a\xdc\x0d\xd2\x9e\x71\x9e\x68\x30\x0b\xd2\xb1\x81\x74\x7c\xa7\xe5\x39\xf7\x77\xe0\xb1\xeb\xd5\xbb\x97\x2f\x5e\x0f\x9e\xdf\xe9\x65\xf0\x43\x98\xcf\x58\xbc\x9c\xd3\x66\x9d\x6a\x5f\x95\x05\x9f\xb0\x0b\x11\x8b\x94\xe7\x24\x3e\x42\x7a\x0a\x70\x15\x41\x97\xad\xcc\xda\xca\xb6\x98\xe6\xd9\x3b\xdf\x73\x1f\x46\xf1\x3d\x1f\x5c\x66\x0d\x24\x65\x80\x9f\x8a\x4c\xc5\xa0\xdc\xda\x62\x68\x64\x86\x56\xe1\x7a\x80\xb1\x35\xa6\x65\x1c\xfe\x75\x69\x8d\xa8\xd5\x52\xda\x33\xdc\x7b\xcf\xdf\xc0\x8b\xce\x46\xb4\x95\x79\xf9\x1e\xb5\xf3\xef\xd9\x6e\x9f\xda\x75\xee\xd9\xee\x80\xda\x6d\xdf\xaf\x9d\xdf\x06\x12\x7e\xfe\x66\xe7\xbe\xed\x7c\x6c\xb7\x7b\xdf\x76\x1d\x6c\xd7\xbd\x6f\xbb\x6d\x6c\xb7\x77\xdf\x76\x3b\xd8\x6e\xff\xbe\xed\x76\xb1\xdd\xc1\x7d\xdb\xed\x61\xbb\x27\x1f\xbf\x9f\x6a\xbe\x7d\x80\x30\x9b\xdf\x13\x66\x17\x61\x3e\xbe\xe7\xfc\x7c\x5a\xf7\xad\xfb\xb6\x23\x3a\x6b\xdd\xb9\x9d\xbe\xf9\xa1\xfe\xea\xb5\x71\xb1\x64\x79\xb2\xb0\x45\xc3\x2e\xcc\xa5\xdf\x43\x3e\xc5\xc0\xb6\x88\x1e\xd4\x9f\x28\xc3\x01\xf9\x4b\xbd\xf0\x9a\xfe\x64\x83\xd5\x40\x17\x5f\xbf\x3f\xa8\x83\xd2\x81\xf7\x9f\x0a\xde\x7f\x56\xc1\xab\x7c\xc7\xed\xc2\x51\xf3\x76\xf8\xe2\x75\x0f\x40\x3a\xf0\xde\x2a\x78\x6f\xab\xe0\x55\x5a\x0e\xec\xe3\x4b\x2e\xc9\x67\x85\xf1\x9d\x2a\x78\xa7\x55\xf0\x2a\x6d\x07\xf6\x61\x4f\x7e\x20\xef\x3b\x84\x67\x99\x10\x38\x57\x92\x02\xbc\x2a\xeb\x81\x0e\xda\x22\xf4\xdf\x9e\x9c\x35\xd1\xb8\xc1\x82\xb7\x77\x33\xbc\x2a\xfb\x81\x0e\x5a\x23\x48\x78\x4f\x4a\xf0\xf6\x6f\x84\xe7\x5a\x10\x68\x92\xf2\xf7\xb6\xd9\xf9\xcb\x77\x67\xc3\x8f\x0d\xe6\xef\xed\xb0\xf3\xf7\xaf\x5f\x34\x3f\xc2\x79\xe2\xef\xed\xc2\x9f\x4f\x3e\x82\x5b\x21\x98\xb1\x19\x73\x76\x4d\x8b\x0a\x12\xe6\xe0\x63\x73\x1e\xf3\x0b\x91\x36\x30\x63\x84\x07\x99\x00\xae\xc0\xba\x07\xa4\x91\x79\xcb\xca\x2e\x25\x3b\x0f\x33\xc6\xa3\x2c\x29\xbc\x37\x79\x19\x6b\x7e\x52\x76\x40\x92\xb8\x5d\x6f\xd6\x21\x66\xb5\x34\x99\x80\x51\xbf\x90\xa4\x94\x42\x1f\x8e\x2f\xe5\x67\x75\x37\xfb\x7f\x5b\x36\xde\x90\x84\xce\xf1\xc6\x45\x23\x4a\x6c\xf0\x06\x7a\x77\x12\x86\x38\x31\x14\x6e\xb3\xcb\x32\xb1\x0c\xd0\xa2\xac\xf3\x77\xaf\x6a\xba\x59\x90\x26\x94\xb2\x1b\x7f\x85\x8c\xa3\xe3\xe5\x74\x2a\xd2\x6f\x9f\x3b\x08\xf4\x9b\x52\x33\xba\x53\x9f\x25\x73\xf1\x5c\xac\xb3\x53\x1c\xd0\xaf\xf6\xbc\x2d\xbf\x02\x4c\x22\x55\x69\x66\x6a\xaa\x5b\x66\xdb\x85\x5e\x2a\x4c\xb5\x95\x61\xa3\x83\xad\x67\x6e\xa8\x66\xfb\xdb\x6b\xfc\x56\x4e\x49\x6d\x42\xaa\x22\x26\xe5\xe4\x31\x44\xd0\xad\x4b\xa6\x8c\xf5\xfe\xd1\xeb\x23\xef\x26\x7f\xc0\xf2\x54\x9b\x01\x7f\xcf\xf5\x19\xdd\xb0\x3e\xa3\x3b\xae\xcf\x30\x9e\xfc\x8b\x2f\x0f\x5d\x64\xef\xb6\x42\x0b\x7e\xb1\x71\x85\x4a\x48\x3a\xdf\xfd\xbb\xf7\xf4\x56\x0c\x61\xff\xdf\x8e\x24\x44\x42\x9e\x2e\x05\x3b\x1e\xbe\x00\x47\xda\x6c\x39\x86\xd0\x40\x22\xe7\xc6\xaf\x41\xf9\x19\xbe\x8e\xcd\x51\xd0\xa0\x78\xb5\x97\x31\xb1\x65\x1e\xa9\x3c\x51\x0c\x03\x21\x52\x5e\xf3\x0b\x91\x33\x2e\xe1\x53\x8a\x14\xcc\x94\xf0\x98\x05\x11\x0f\xe7\xe4\x8d\x52\x68\x1f\x27\xb9\x72\x45\x6e\x38\x7d\x48\x28\x18\x28\x5a\xa7\x3c\x87\x18\x42\x31\xc5\x73\xe0\x18\xad\x17\x53\x04\x86\x10\x82\xda\x9a\x05\xeb\x73\x88\x17\x1b\xab\x7a\x8b\x54\x4c\xa1\x83\x80\xc7\x72\xe6\x14\x34\xc4\x9d\xbc\x0e\x1f\x11\xf0\xec\x3e\x44\x72\x2c\xa2\xbb\x1d\x2e\x3c\xca\xb5\x0f\x07\x26\xe5\x33\x2e\x1d\x3f\xfc\x40\xbb\xac\xd4\xc4\xce\x83\xf6\x83\x71\x49\x28\x93\x14\x18\x50\x3c\x2d\x1e\x3b\xdb\xff\x8c\x63\x47\xeb\x4a\xfe\x88\x9d\xd3\xbd\xeb\xce\x81\xb0\x43\xff\xda\x0c\x46\xa9\x63\xee\x86\xa7\x12\x73\x2e\x88\x27\xb6\xab\xe9\x26\xc4\xbc\x08\x63\xcd\x52\xee\x81\x18\x37\x3a\xd3\x37\x3a\x72\xdd\x7e\xe6\xfc\x44\x6b\xdd\xf3\xd8\x21\x9d\x2a\xbd\x7f\x02\x1d\x1b\x4d\xd7\x3f\x76\x81\x0c\xe5\xfe\xeb\x2f\x51\xdf\x2c\x51\xdf\x5d\x22\x4c\x3d\x47\x41\x9c\xe6\x3c\x5d\x6f\x41\x40\x84\x98\xe7\xb0\x58\x42\xc4\x99\x72\x3f\x2f\x2f\xde\x5d\x57\x09\x1f\xcd\x9d\xe5\x51\xe9\x94\x2a\xc2\xed\x18\x64\xaf\xc2\x85\x18\x24\x71\x2e\xe2\x3c\xfb\x66\x26\x01\x4f\xa9\xf0\xe6\xea\xb7\x5a\x07\xc5\x47\x55\x45\x86\xf2\xa6\xe4\xc4\x9b\xa0\xd3\xd6\xdc\x9d\x10\x84\x79\xc1\x3d\xa0\xe4\x7c\x18\xc2\x29\x5a\x53\xca\xb7\x85\x08\x42\x1e\x59\x01\x90\xe6\x70\x8b\x83\x50\x17\x09\x76\x13\xc6\xec\x5a\x4e\x44\x76\x7e\x11\x27\x73\xd1\xd4\x33\x47\x0f\xd1\x94\xc7\x17\xf0\x84\x9c\x0a\x80\x0c\xfd\x75\x5a\xad\x7d\x38\xcf\x25\xa8\x95\xca\x58\xc6\x60\x52\x98\x08\x89\xc4\x02\x88\xa6\x8a\x5a\xcd\xd5\x2c\x89\x14\x38\x1a\xd9\x9d\xd7\x8e\x2c\x4e\x6f\x58\xbd\x7f\xbe\xab\x59\xf9\x1c\xd7\x98\x94\xcb\x4e\x73\x18\x8b\x94\x8e\xe7\xaf\xbd\x2c\xaa\x94\xb7\x9b\xd3\x97\xb8\xe9\x6f\x7d\xef\x50\x9f\x8b\x3e\x49\xe3\xf8\xa5\x63\xbe\xa8\x57\x39\xfb\xf3\x76\xe1\xf3\xb9\xfb\x79\xa7\xf0\xf9\x97\x5f\xdc\xef\xbb\x85\xef\x1f\xdd\xcf\xdd\xc2\xe7\x5f\xdd\xcf\x7b\x85\xcf\x9f\xdc\xcf\xfb\xd6\xa4\xb4\x3c\xa3\x3e\x1e\x58\x1f\x0f\xbc\x52\xe8\x00\x7b\x2f\xf6\xa2\xfc\xde\x5b\xf1\x2e\x14\x4b\xe6\xcb\x37\x10\xec\x2d\xe4\x82\x00\xbe\x9d\x5a\x6e\xad\x49\x4a\xa1\x8d\xdc\x0a\x8c\x42\xfe\x08\x14\x29\x13\xf1\xaf\xc7\x11\x41\xf8\xe7\x22\x89\x04\x87\x5f\x07\x90\x3a\x32\xce\x45\xba\x48\x4d\xe6\x7b\x0a\x0f\x0b\x37\x94\x20\x59\xac\x59\x90\xcc\xe7\x3c\xae\x4e\xcf\xb1\x81\xf3\x0d\x6e\x42\x11\x05\xa3\x10\xca\xc3\x77\x03\xba\x2e\x44\x7e\x4c\xb1\x93\x6a\x75\xf9\xd7\xa9\x6a\x63\xe5\xe9\x7b\xa8\x01\x41\x7c\xe3\x28\xe2\x8b\x4c\x4c\x9c\x60\x11\x0e\x74\x29\x29\x0c\x06\x72\x56\x05\xf4\xdb\xe9\xa8\xd0\x60\x49\x99\x14\x01\x0e\xec\xc8\xae\xb6\x61\x12\xe2\x52\x62\x52\x3d\x61\xb6\x0c\x9c\x37\x94\xca\x51\x59\x5d\xb1\xf1\x9a\x45\x22\xcf\x55\xbc\xb8\x42\x6e\x49\xec\x16\x4d\xb1\xe6\x49\x96\x1b\x40\x54\x91\xf2\xbd\xaa\xe8\x3a\x8f\x93\x38\x5a\x3f\x66\x2b\x0e\x91\x9e\x30\x7a\x70\x2e\xae\x73\xe5\x30\x1c\x44\xe1\x02\x95\xee\x96\x53\x2c\xb9\xc4\x7a\x93\x34\xbc\x12\xcd\xf1\xda\x63\x2b\x31\x56\x63\xbe\x81\x78\x21\x25\x8a\x5e\x81\xde\x34\x17\xa9\x44\xa3\xed\xbb\x9b\x89\xfc\x2c\x9c\x8b\x64\x99\xd7\xcc\xaa\x04\xb4\x26\x67\xc9\x30\x9e\x40\x40\x57\xf3\xb1\xde\x60\xbb\x26\x1b\x55\xc1\xd5\xf5\x2e\xfe\xb1\x56\x56\xa9\x87\x37\xac\xf3\x4d\xcb\x8c\x86\x64\x7f\xc4\x62\xcf\x79\x0c\x82\x8d\x32\xc2\x83\x8c\x3c\xab\x24\xbd\x84\x58\x4c\x59\x98\x2f\x29\x62\x24\x64\x49\x35\x80\x54\xc0\xb0\x96\xb8\x16\xc1\x00\xf7\x5e\xcd\x93\x20\xbd\x3a\x6a\x9f\xa3\x64\x65\x12\xb0\xfd\x4b\xac\xd9\xa6\x01\x24\x8b\xb5\xee\xff\x2c\x19\x28\x82\xac\x15\x02\x96\xdf\xe9\x06\x60\x45\x34\x37\xc7\x68\x7b\xbb\xfa\xea\x44\x1c\xee\x95\xe4\x70\xc9\x02\xc2\xf6\xc7\x62\xa5\x74\xfe\xc4\xfa\xe1\x29\x3b\x4a\x50\xf6\xbf\x97\x60\x77\xdb\x09\x50\xa6\x38\xec\xb9\x25\xc7\x52\xd3\x2b\xac\xfb\x9e\x81\x12\xc7\xf3\xca\x51\x87\xbc\x00\xa4\xd2\xa3\x38\x69\x04\x51\x92\x89\xa3\xb5\xc8\x1a\xa9\xc8\xc2\xdf\xf1\x57\x75\xb9\x48\x33\xf8\xd3\x73\xf2\xdc\x11\x88\x79\x18\x87\xf3\xf0\x77\x3e\x8e\xb0\xcd\x2a\x9c\xe4\xb3\x23\x8f\x3d\x51\xa3\x0a\xe3\x58\xa4\x1f\x64\x69\x55\xf3\xc6\x4c\x84\x17\xb3\xbc\xd4\xe0\x19\x14\x7f\xdb\x55\x4e\x2e\xa1\xb8\x71\x09\xdf\xc3\x21\x95\x65\x4b\x29\x25\xe3\xb3\x89\x75\x20\x15\x03\x05\x8f\xc5\x8c\x5f\x85\xd0\x02\x03\xbb\xcb\xfa\x14\x18\x57\xa9\xcb\xb2\x4c\x64\x8e\x15\x29\x9a\x23\x60\x0e\xf6\xc7\xd8\xe7\xc6\x26\xef\x29\xd3\x3b\x45\x01\x9c\x46\x21\x3c\x32\xd9\x51\xeb\x3c\xc9\x7c\x9a\x57\x4d\xe8\xdc\x03\x05\x1d\x46\x65\xa5\x01\xdf\x95\xca\xde\xdf\x46\x65\x35\x3b\x18\x89\xca\xe0\xe6\xb0\xc0\xf7\xf0\xd2\x63\x29\xc5\x6b\x6e\x8b\x0a\xae\x49\x4d\xec\xb4\xdf\x42\x65\x50\x27\x37\x75\x39\x31\x88\x41\xb6\x4c\x33\x11\x5d\xa1\x15\x08\x44\xef\x89\x22\x7d\x56\x6d\xbd\x3e\xc5\xb4\x64\x84\x37\x2b\x8f\x1d\xb5\x6f\x31\x79\x3d\xe4\xe3\x68\x0d\x56\xc5\x73\x1e\xbc\x3e\x6d\x50\xed\x2d\x7b\x7d\xac\xc0\xf4\x3a\xe7\xf2\xb3\x64\x25\xae\x44\x4a\x27\x22\x64\x50\x66\xe9\x32\xc6\x78\xfc\x2b\x31\x06\x33\x92\x34\x44\xe2\x83\xc7\xbd\x70\xca\xc2\x9c\x4d\x79\x18\x65\xa0\x2f\x85\x54\x67\x0a\xdc\x94\xd3\x0d\x9d\x58\x83\x7d\x4c\xc7\x3c\x0f\xaf\x84\x21\xad\xda\x2c\x59\x88\xe9\x32\x8a\xd6\x75\x96\xc9\x4b\xeb\x32\x6b\x6d\x10\x37\x6c\xd9\x0f\xf2\x2e\x7c\x0d\xdb\x13\x51\x26\xee\x7b\x36\x16\xf6\x98\xdf\xad\xdc\x63\xe5\x94\xe0\xdf\x9f\x5f\xa2\x09\xed\xff\x2d\x7e\x99\x2c\xf3\xfb\xf1\x4b\x68\xf0\x3d\xf8\xe5\xb7\xc8\xfb\x64\x80\x9f\xd8\xef\xd0\x4a\x04\x85\x90\xd4\x9b\x2f\x02\x18\xc7\xd0\xbd\x0b\x50\x66\x27\x3b\xe1\x81\x25\x2a\x49\x16\x5c\xc1\x43\x61\x0c\x24\x73\x51\xfa\x79\x78\x74\x07\xfd\x4e\xca\xe3\x6c\x1e\xe6\x8c\xc7\x2a\xc9\x64\x2d\x9c\xb2\x62\xfa\x4d\x10\xa5\xea\x14\xd5\x19\xdf\xf7\xbd\xc0\x93\x1d\x7a\x03\xaf\x6a\x60\x8e\x08\xb7\x02\x8a\xc7\x19\x5b\x08\x50\x11\xd5\xe9\x89\x04\xde\x53\x40\xc5\x97\xa0\xc2\x08\x63\x66\xab\x3b\x4b\x96\x98\x99\x5d\xc6\xc9\x2a\x03\x85\x92\x00\xfb\x96\x99\x98\x53\x5e\xad\x48\x56\x4b\x40\x83\x83\x37\x4e\x44\xe3\x8c\x43\x2c\xd5\xa4\xb0\x2c\xe3\x35\x86\x09\x99\x85\x86\xf3\x40\x4a\x9f\x0b\x1e\xde\x6b\xb3\xdd\x7a\xf7\x52\xdb\xe9\x8e\x57\xaf\xa7\xa5\x3d\xca\x3e\x7f\x36\x52\xaa\x7b\x31\xab\xba\x85\x61\x94\x28\xc0\x20\x24\xc0\xa5\x07\xb2\xb1\x90\xd3\x9c\x89\x68\x02\xd4\x62\xd3\x91\x1e\x61\x41\xf6\xd6\xf6\x85\x84\x34\x13\x11\x8e\x82\xf3\x27\x13\x81\x41\x65\xf9\x04\x75\xaf\xc3\xd3\x01\xab\xa6\xa1\x3c\x5d\x1a\x03\xd4\x95\x20\xe4\x53\x78\xf6\x89\x08\xc2\x89\x64\xf9\xf9\x4a\x88\x18\xe8\x0b\x6c\x1a\x81\xc0\xcc\xee\xad\xd4\x67\x39\x01\xc2\x20\xd5\xaf\x93\x8b\x5e\xa5\x3b\x06\x73\xd7\x88\x76\x5b\xe1\x26\x28\xf7\x40\xc5\xf5\xfb\x1b\x64\x7d\x4b\xce\xb7\x03\x46\x6e\x5c\x46\xe7\x0a\x50\xab\xb3\x2f\x5a\xec\xff\x72\x17\x66\x84\xc7\x50\x99\x13\x41\xdc\x9f\xc4\x84\x0c\x82\x65\x7c\xdf\x60\x13\xb1\xa0\xfc\xe3\x49\x5c\x16\x98\x58\x0f\x0d\x82\xa1\xb5\xc5\x41\xde\x63\xbe\x73\xc9\xcb\xee\xc4\xc7\x50\xba\x2b\xc9\x90\x77\xdd\x58\xb7\xca\x63\xdf\xac\xcd\x29\x3e\x1d\xa2\xbe\xe8\xbd\x0e\x34\x75\x33\x24\x1d\x60\xea\x7e\x87\xc4\x33\xa4\xb9\x69\x12\xe7\xec\xf7\x24\x99\x5b\xf9\x0d\xad\x68\x47\x5e\x66\x52\xc0\xca\x5a\x6c\x06\x14\x3a\x0e\x73\x8c\x90\xae\x44\xf4\x9c\x05\x22\xcd\xb9\xaa\x15\x89\x2b\x81\xd9\x49\x59\x2f\x47\x03\xe0\x39\xa7\x24\x0a\x24\x9a\x61\x58\x6e\x9e\x2d\x53\x31\x61\x78\x74\x62\xae\xfb\x34\x59\x41\x98\x5b\x71\x9d\xb3\x09\x64\xa1\xc8\x48\x93\x81\xfc\x98\xea\xc2\xeb\xc2\x8a\x67\x4c\x5c\x2f\xa2\x30\x08\xf3\x68\x2d\xc9\x5d\xcd\xe1\x83\x4e\xb6\x28\x9c\xad\x06\xc3\x53\xb1\xc4\x24\x53\xbe\xc0\xef\xf8\x50\xfb\x26\x49\x73\x2f\x43\xa4\x48\xd9\x01\xa4\xd7\xc7\x14\x73\x4c\x56\x83\xe9\xde\x95\x7a\x5c\x53\xce\x5b\xa8\xe8\x61\x85\xca\xca\x01\xf0\x17\x39\x72\xe7\x21\xd9\xe5\xb4\x70\xfd\x78\xf3\xf2\x2f\xea\x4d\x21\xc3\xb9\xea\xe7\x28\x9b\x09\x6b\x0b\x85\x44\xbb\xeb\x41\x73\xa8\xb4\x11\x08\xa4\x37\xb1\xa0\xd8\xb6\x0e\x0a\x0c\x9d\xed\x6c\xc5\x31\xe0\xab\xb6\xe6\xd7\x2f\x1d\x18\x21\x3b\xcb\x05\x87\x24\x63\x7c\x3a\x95\xec\x27\xbe\x80\x9e\x8c\x44\xed\x30\x59\x88\xf6\xda\xfc\x54\x8c\xf3\x2a\xc5\x85\xa9\xf7\x14\x3a\xfe\xf5\x93\x36\x16\x7c\x1d\x47\x6b\xf6\xeb\x27\x39\xc4\x2b\x1e\x85\x13\x24\xb6\x84\x84\x22\x27\xdd\x7d\x9c\xa8\xd0\xca\xad\xaf\x92\xcf\x6e\x60\xcd\x17\x22\x97\x4b\x36\xe2\x41\x9e\xa4\xb5\x3a\x7b\x68\xe5\x32\xb7\xf3\x0b\xc2\x0d\x2a\x67\xfe\xa1\x8f\xb8\x9e\x42\x83\x86\x3e\x24\xe4\x95\x88\x3d\xd9\x6a\x6e\xb5\x91\x6e\x15\x22\xe1\xda\xe9\x28\x0a\xa1\x3d\x5e\x7a\x24\x15\x0b\x9e\x85\xc8\x1b\x95\x8d\xfd\x92\x78\xe5\x85\xc0\x48\xa0\xf2\x77\xbf\xdd\xfe\xf7\x3b\xce\xdd\xb9\x65\x40\x32\x76\x48\x0a\x72\x73\x76\x7a\xc8\x35\x4f\x2b\xd8\xf6\x0a\x29\x67\x2b\x5e\x8c\x45\x3e\x4a\xe2\xfc\x34\xfc\x5d\x50\xca\x7a\x27\xcf\x2c\x28\x91\xe5\xc6\xbc\x49\x88\xd1\x00\xea\x56\xc6\x5b\x35\x86\xa6\x27\xe5\x98\x32\x75\xa1\xb5\xb6\x19\x1f\xf4\xd2\x3c\x62\x7e\x65\xb6\x5b\xf8\xfa\xc4\x7c\x7d\x70\xe3\x2b\xb8\x35\x24\xd9\xb0\x7e\x77\xf1\xde\x7a\xa0\xbd\x47\xda\xa8\x05\x65\xab\xfa\xbf\x92\x3c\x1d\x73\xae\xc9\x01\xe8\x6c\x00\xe3\x30\xc7\xa7\x76\x15\x84\x0f\x62\x58\x83\x0c\x37\x0d\x63\x41\x06\x12\x85\xc4\xbd\x67\x76\x3e\x01\x48\x85\x06\x26\xc3\x22\x5e\xce\x05\x66\x2e\xa7\x71\x65\x39\xcf\xc3\x80\x55\xe5\x3d\x93\x70\x74\x3a\x35\x15\x1a\x1b\x82\xc7\x6b\xc8\xa4\x24\x02\x51\x93\xfd\x7f\xec\xbd\x7b\x7f\x1b\x37\x92\x28\xfa\xbf\x3f\x05\xa2\x3d\x1b\x92\x63\x92\x92\x9c\x38\x0f\x3a\xca\xae\x2c\x2b\x89\x6f\xfc\xba\x92\x6c\x67\xd7\xf2\xf8\x82\xdd\x20\xd9\xa3\x66\x83\xd3\x00\x45\x31\x13\x9f\xcf\x7e\x7f\xa8\x2a\xbc\xfa\x41\x52\x8a\x93\xb3\xb3\x7b\xfc\xdb\xcd\x50\x24\x50\x00\x0a\x85\x42\xa1\x9e\x13\x9e\x2b\x01\xa2\xee\xde\x5f\xf6\x8c\xe4\x5a\x2e\xe1\xe2\x2b\x94\xbd\xd0\xc2\x0a\x07\x58\x95\x6d\x0c\x85\x7f\x95\x28\x34\xf5\xc7\x0e\x46\x40\x84\xdf\x0b\xa9\xf1\xb1\xb1\xf7\x97\x3d\x0f\x0b\x4a\xf9\x09\x55\x74\xa0\xac\x9b\x6e\x77\x38\xb0\x75\x4b\x83\x0b\x49\x2d\x44\x12\x38\x17\xd8\xda\xc2\x27\x72\x09\x0f\x86\x83\xb0\x92\x0f\x26\xc3\x04\xcb\xb8\xfd\x13\xce\xd9\x2e\x45\xe3\x26\xb2\x34\xb8\xf2\xd2\xe8\x5c\xa6\xa1\x0f\xc9\xbb\xb9\x4c\xdf\x13\x70\xfc\xfc\xdb\x6f\x88\x82\x47\x91\xae\x85\xda\x1d\xb1\xce\x5f\xdc\xa5\x50\x9f\xf9\xfd\xfb\x70\xd2\x50\x97\x6d\x7e\xee\xc5\xfe\xd9\x6f\xcc\xed\x50\xa1\x88\x2d\x48\xf3\x6b\x61\x47\xec\xdd\x3d\xc6\x3a\x70\x25\x76\xfa\xa8\xff\x33\xff\xcb\x73\xf8\xd3\x3c\x3e\x3a\xf7\xde\x87\x74\x9c\x60\x89\x6a\x48\x92\x0e\xfc\xd7\x30\xe6\x63\x28\x87\xe0\xe5\x06\x28\x85\xdd\x8b\x64\xb1\xa8\xca\xbf\xb9\x59\x15\x45\xaf\x1b\xe9\x09\x6f\x59\x5e\x42\x1d\x3f\x2c\xa4\x6c\xab\x83\x24\x5a\x28\x6d\xcb\x9c\x2d\x6c\x61\xe9\x49\x56\x2a\xdd\xc7\xd7\x2c\xd7\x2c\x97\x52\x89\x7c\xed\x4a\x4e\xb9\x76\x70\x41\x72\x66\x9e\xdb\x50\xda\x48\x96\x99\x5e\x9b\x3e\x50\x81\x04\xea\x17\xb9\xc6\xb7\x28\x44\xcf\x77\x6c\x37\xde\xb2\x11\x41\xcd\xef\x90\x92\x7d\xbe\x61\x43\x2b\xbc\x42\xca\xdf\xb1\x71\xfc\x4d\x24\xb2\x0f\x0e\x9d\x85\xb1\xda\xf1\xfb\x8d\x1d\x0f\x43\x71\xfe\x20\xa2\xb1\x57\x65\x76\xcd\xb5\xb0\x59\x7d\x2d\x9b\xb2\x85\x17\xa9\xb6\xd7\xc2\x96\x0e\x37\xcf\x7e\xa5\x49\x58\x09\x7e\x51\x54\x70\x12\x2a\x54\xc8\x55\x81\x1e\xa9\x35\xbc\xdb\x32\x93\x86\x6c\xa8\xbe\xa4\x0e\x2a\x52\xba\x76\x54\x46\xf2\x23\xb2\x23\x74\x87\x25\x5b\x18\xe5\x4e\x0f\xcb\x8b\xbf\x56\x62\xb2\xcc\x31\x51\xc3\x5a\x2e\x81\x04\xb1\xd0\x8e\x96\xb6\x26\x0f\xf0\x23\x24\x0a\x5c\x9b\x5d\x0a\x2f\x6a\x8b\xd9\x76\xc6\xfc\x61\x00\x50\x91\xe8\x2c\xc7\x7f\xeb\xe3\x38\xcf\xcd\x6f\x75\xf3\x3b\xb0\xa7\xcf\x8e\xcc\xf2\xed\x9f\xd1\x5e\x11\x37\x21\x11\xa6\xbc\x76\x19\xbb\x3f\x01\x0b\x33\x10\xe7\x32\x7d\xc3\xf3\xa5\x21\x4a\xf3\x93\xb9\x52\xe4\xf8\x6f\x3d\xf6\x6f\xe6\x7f\x90\x6f\x8d\xaa\x2c\xed\xb3\xf2\xda\x30\xba\xee\x67\x7e\x61\x56\xb3\x1f\x71\x3a\xd3\x28\xfa\xd2\x0e\x16\x0b\xc6\xb6\xca\x81\x59\x9b\x1b\xa9\xc2\x06\x3d\xbd\x96\xd7\x8f\x9a\x0a\xa4\x12\x61\xd4\x2b\xa0\x12\x5d\x65\x58\x7d\xd1\x57\x4a\x8d\x49\xf9\x7f\x66\x01\xd4\x76\x22\xa6\xa2\xa1\xad\x45\x50\x43\x5d\x00\x52\xbd\xfd\x9d\x64\x80\xde\x6e\xbb\xd4\x7e\xdd\x67\xca\x17\x9d\xb3\x6a\x7d\x4e\x52\x08\x68\x57\xc5\xee\x5c\xfc\xd6\x6b\x6f\x90\x39\x7c\x59\xd5\x4d\x18\xa0\x26\x7d\x58\x6a\x6f\x17\x49\x58\x2e\x50\x76\xfe\x27\x2f\x9c\x4a\x1b\xfd\xef\xe6\x57\x33\xc8\x75\x26\x56\x54\xba\x25\xcb\x05\xcb\xe6\x0b\x2a\x01\x14\x14\x23\x7b\x89\x4b\xc7\x72\xa5\x50\x86\x08\xcb\x51\x2a\x2d\x4b\xa1\x5c\x46\x74\x73\x16\x30\x79\x7a\x22\x8b\x94\x2a\x3d\xd9\x47\x62\xe4\x55\x69\xe8\xc2\x1e\x77\x03\x0e\xae\xaf\xf0\xf5\xce\x94\x28\xcd\x19\x94\x13\x06\x44\x23\xa0\x9a\xa9\x53\xd0\x29\x7e\x9d\x15\xd3\xfd\x52\x98\x19\x50\x01\x23\xcc\x05\x40\x35\x92\xec\xe8\xe6\xb1\x9a\xaf\xa9\x78\x93\x34\xe7\xf5\x3a\x4b\xb1\x1c\x19\x57\x6b\x72\x73\x31\x53\x4c\xe4\x7c\x2e\x0b\xd3\x75\x92\x4d\x97\x25\xa8\x93\xe0\x6e\xa4\x5d\xb7\xf1\x1e\x65\x36\x85\x84\x24\xb0\x51\xe3\x35\x3b\x91\xe5\x9a\x3d\xe7\x49\xc2\xcb\x92\x48\x7d\xdf\xfb\xf5\xca\x42\xe9\x72\x69\x1e\xde\x0e\x0f\x4d\x18\xa5\x51\xc0\xbd\x94\xa3\xd6\xc2\x69\x6c\x69\x41\x16\x4e\x83\x99\x1a\x5f\x1b\x5c\xc5\x8c\x46\x2f\x46\xfb\xfb\xab\xd5\x6a\x78\xad\x0f\x0f\x0e\x86\x85\xd0\xfb\xa9\x4c\xd4\xfe\xb5\x7e\x78\x78\x30\x28\xe7\xfb\x4f\x4e\x4f\xce\x2f\xce\x50\xe6\x4a\xc4\xc2\xaa\xbe\xcc\xbb\x05\xcb\x72\x2d\xb5\x5c\x95\x7c\xc1\xba\xe6\xbf\x58\x4c\xb5\x17\x26\x12\x47\x3f\x57\x2c\xa5\x27\xc4\x5c\x91\x56\x6b\x2c\xd8\xca\x7c\x87\x5e\xb5\xe6\xe9\xd0\x7c\xfe\x09\x05\x47\x1f\xcd\xea\x3f\x80\x72\xfa\x25\xa1\xc1\x95\x25\x00\x6d\x9a\x5c\xac\x51\xc8\x08\xd0\x10\x30\x0a\x8b\xca\xf0\x32\x27\x80\xce\x33\xd6\x9c\x40\xae\x75\x99\x8d\x97\x1a\xca\xac\x93\x71\x06\xca\xef\x1a\xec\x2d\x96\xe3\x3c\x4b\x3c\x81\x01\x75\xf0\x24\x11\x4a\x51\xc8\x27\x02\x72\x54\xec\xe2\x2a\x3c\x72\xd8\x91\x5f\xc9\xbf\xb9\x8f\x61\x83\x91\x2b\xe2\x41\x95\x4a\xaf\x45\xa9\xc4\xdb\x6d\x10\xea\xed\x82\x9b\x1e\x20\x49\x20\xcb\xe7\xf8\x82\x6a\x02\x11\x34\xa8\xf6\x35\xfb\x7c\xc2\xcb\x32\xe3\x53\x41\xec\xbf\x19\x46\x43\xc3\x2a\x2c\x3c\x83\x6f\x32\xac\xdf\xd4\x0c\x26\x6e\xd3\x0c\xe1\x71\x9e\x15\x57\x1b\xfb\x63\x8b\x6a\xef\x0c\x02\x52\x37\xe0\x21\x68\x50\xed\x4b\x58\x7e\x93\xa5\x42\x6e\xde\x08\x6c\x52\xed\x3f\x2e\x79\x72\x25\xb4\x48\x31\x1e\xb6\x19\x42\xa5\x91\x83\xb1\xfd\xfa\x59\xf0\x52\x89\xf2\x9f\x5d\xf7\x72\xdb\xb2\xdd\x95\x33\xcf\x5e\x19\x2c\x34\x97\x03\x5c\x17\x9a\xdf\xe0\x4d\x62\x78\x2d\x9a\x53\x9d\x2d\x6f\xa9\xb4\x9c\x67\xbf\x72\xc7\xcd\x2d\xfb\x00\x88\x65\xbd\xf4\x19\x4c\x80\x99\x29\x18\x81\x83\xfd\x03\xcb\x62\xe2\x13\x88\xd0\x85\x5f\x81\x96\xf3\x2f\xfb\x96\x0c\xe8\xb7\x23\xd6\xc1\xe0\xab\x2a\x9c\x02\xfc\x75\x11\x8e\x2b\x25\x22\x95\xad\x45\x1c\x82\x5a\x48\x85\x4a\x92\xd6\xe9\xfc\x1b\xc1\x71\x6e\xfe\x14\x39\xb8\x05\x70\x32\x63\x47\xbe\x70\x7c\x84\x88\x40\xc6\x12\x65\x29\x23\xc4\xcc\x85\x52\x7c\x2a\x22\xb1\xaa\x10\x2b\x76\x6a\x1a\x76\x3b\x00\x80\x61\x2f\xae\xa1\xf0\xa4\x5b\xc6\x7d\xd6\xc1\x52\x94\x16\xc6\xc6\x91\x33\x65\x5e\xe0\xb9\xd0\xa2\xbe\x2f\xa1\x38\x07\x08\x3a\x0a\xf1\x6e\x0b\x0a\x6e\x82\x5e\xab\x75\x87\x5d\xe1\x16\xfe\xb0\x90\x2a\x50\x58\xb9\xcd\xc4\x0f\x8f\xe2\x9d\xa1\xf6\xe6\xf5\xe4\x35\x59\x80\x5b\x9a\x4c\xac\xb4\x0e\x5f\xef\x80\xaa\x7a\xb4\x15\xea\x73\xc2\x6f\xcd\x71\xa4\xd7\x0a\x3e\x54\xa4\xab\xcb\x1e\xd4\x49\xf2\x37\x3f\x94\x05\x0f\xd7\x4d\x65\xa5\xe1\x69\x61\x3b\xfc\x2c\xd6\x2a\x72\x79\xe0\x2e\xe3\xcd\x90\xb1\x9f\x05\x09\x1d\xa9\x70\x9e\x69\x1c\x7c\xa1\xc4\x14\xdd\xde\xcd\x5f\x0e\xac\xb3\xa2\xb5\x0e\x6b\x0b\xe8\x0f\x19\x7b\xee\x4b\x3b\xa1\x92\x15\x2b\xeb\xfb\x52\xbc\x7f\x93\x66\x21\x20\x47\xe0\x7b\x22\x85\x1a\xdc\x41\xc4\x0a\x22\xa9\x60\x86\x81\x96\x99\xba\x02\x6d\x25\x4d\xd3\xaa\x41\xb2\x22\xc5\x32\xa8\x2e\x96\x76\x59\xf8\x7a\xa1\x91\xd2\xd5\xdc\xfe\x56\xfc\xb2\xd0\x83\x02\xd8\x23\x7c\xd4\x1d\x8f\x18\x3c\x9f\x05\x79\xde\xf2\x28\x47\xd5\xde\xf1\x5e\x3c\x45\xc6\xd8\x57\x0f\x47\xec\x1c\xdf\x42\x98\xa4\x8c\xbe\x3f\xb8\xf9\xf2\xb0\xf9\x17\x70\x52\xab\x0e\x84\x5f\x86\x2d\xda\x00\xc3\x8f\x5b\xa0\xa3\xa5\xbb\x71\x0c\xfa\x29\x6c\xfd\x97\xb0\x25\x4e\x04\x2a\xe5\xae\x84\x11\xa7\x54\x50\x75\x31\xa2\x58\xc0\xb9\x4d\x12\x4a\x85\x93\x0d\x43\xc8\x05\x57\x81\xed\xc9\x10\xc0\xb1\xab\xf2\x0b\xcc\x9e\xce\xb6\x7b\xd4\x57\x1e\xf3\xa0\x12\xed\x83\x49\x31\x28\xa7\xd3\xb7\x64\x84\x43\xf9\x07\x7c\x9d\xcb\x07\x4c\x00\xae\xd3\x9f\xc5\xfa\xdc\xce\xba\xc6\x68\x9c\x1a\x07\x75\x30\xae\xa0\xae\xe1\x9b\xf7\xa0\x4a\x52\x58\xdd\xf4\xca\x3f\xef\xb7\x1c\x3c\x57\xea\xea\xfa\xdd\x4e\xed\xdf\x5d\xbd\x7f\x1f\x29\x5c\xcc\xb8\xab\x99\x79\xac\x75\x1d\x33\xfa\xae\x81\x09\x46\x41\x94\xea\x2a\x5b\x9c\x2f\x78\xe2\xad\x57\x66\xd6\x5a\x5e\x09\x17\x34\x01\x28\xb9\x30\xdf\x58\x8f\x6a\xd0\x7f\x99\x2f\x86\x70\xe9\x1c\x1d\xb1\x0e\x71\x81\xc0\xa2\x55\x5e\x07\xda\x7b\x6c\x7d\xcd\x73\xd2\x7c\x39\x0b\x57\x13\x28\xb7\xe0\x4e\x5c\xad\x6d\x99\x58\x4d\x57\x00\x6e\xa8\xe5\xeb\xc5\x42\x94\x27\x5c\x09\xef\xf1\x6d\xc0\xda\xe6\xbb\x6e\x80\x0f\x21\xf7\xee\x0d\x5b\xba\x0c\x67\x5c\xbd\x5c\x15\xaf\x48\xdd\x63\x87\xec\x85\xce\xef\xa4\xa4\x73\xa5\xa5\xb6\x6d\x2b\xc1\x78\xff\xc8\x41\x30\x8b\x29\xaf\x51\x09\xf7\xf9\xe7\xcc\x7e\xfc\x2c\x32\x47\xe0\x8e\x96\xe0\x71\x97\x29\xbc\xa4\xc3\xc2\xcf\x76\x0c\xbc\x6e\x03\x04\xf6\xfc\x40\x16\x72\xa0\xa2\xac\x6c\xd5\x2e\x38\x75\xdc\x3b\xc2\xe7\x36\xb4\xba\xcb\x60\x07\x94\x46\xa4\xb5\x15\x62\x80\xd1\x78\x41\x1e\x60\x1d\x71\xaf\x8b\xab\x42\xae\x40\x0b\xd9\x8e\xb1\x8f\xdb\x48\x59\xad\xe7\x63\x99\x77\xe2\x4a\x75\x01\x24\xa7\x68\xf5\x53\xf1\x75\x91\xd3\x5b\xb3\x0e\x4f\x70\x8b\x9d\xc9\x2d\x4b\x03\x4a\x73\xea\xe1\x77\x8b\xf7\xbd\x68\xf3\xe0\x2b\x76\xc4\xcc\x74\x7d\xfb\x8f\xb7\x41\xa8\xb8\x59\x88\x44\x8b\x94\x21\x56\x36\xa1\xb5\x01\x66\x1d\xe2\xa9\x85\x17\x48\x20\x21\xef\xa8\xdb\xca\xeb\xcc\xce\x69\xf2\x93\x19\x9c\xa7\x81\x3b\x4f\xe3\x52\xf0\xab\xa0\x55\x40\x73\x9f\xa1\x90\xdc\xdb\x30\x33\x5d\xf2\xf0\x11\xc2\x27\x46\x08\xd7\xbc\x9c\x0a\x30\x90\x75\xec\xf8\x54\x49\xee\x9a\x17\x89\xe8\x06\xfe\x7b\x95\x11\x8f\xc2\x11\xeb\xe3\x3d\xcf\x94\x02\x6f\xce\xea\x00\x15\x95\xfb\x96\x3b\xef\xd8\xc6\xca\x35\x55\x7b\xae\xe2\x6e\xcb\x35\x71\xaf\xf1\x96\xc0\xd7\x49\x27\x32\x90\x54\xaf\x86\xdd\x6e\x84\xea\x41\xda\x74\x54\x38\x55\x96\x0e\xf8\xd1\xb6\xb6\x55\x2e\x14\x92\x69\xa3\x7b\x7d\x3b\xa8\x77\x41\xdf\xf7\x6e\xdb\x37\xf0\x1b\x72\x92\x6f\x3e\x1f\x94\x14\xa8\xf5\x2c\x20\x86\xeb\x47\x61\xe3\xfe\x0b\x71\x85\x41\xdd\x9b\x9f\x55\xe6\x09\x73\xc4\x3a\x97\x9d\x8e\x35\x0c\xd9\xaf\xf6\x3a\x9b\x09\x4c\x88\xab\xa7\xfe\x61\xb0\x65\x10\xd4\xc6\x77\xf7\xdf\xf1\xc1\xaf\x1f\xde\xef\x67\x9b\xdf\x84\x00\x9b\x18\xc0\xae\x80\x0f\x06\xdf\xbe\xdf\xdf\x02\xd6\x51\x73\x1d\x6a\xc8\x34\x62\x06\xee\x65\x43\x03\x64\xe4\x2e\x80\x3e\x83\x1d\x1c\xd9\x99\x7c\x7c\xd4\x76\xfa\xa3\x33\x5b\xf5\xfa\x8a\xf1\x68\x03\x3d\xac\x74\x4c\x43\x06\xfb\x1e\x0f\x0b\x4b\x0a\xbb\x7f\x7c\x54\x83\x8e\x64\xd0\x02\x99\x4e\x6f\x03\x54\xdb\xad\x01\x22\xed\x4d\xdb\x64\x49\x6c\x6c\x9a\xa9\xed\x68\x80\x36\x12\x7d\x70\xa5\xc0\x31\xe9\xec\xb0\xa5\x9b\xc8\xd0\x47\x78\x36\x23\x7a\xd3\x15\x14\x1f\xb6\x8a\x3a\xc2\x0c\x4c\x86\x25\x24\xeb\x83\xc1\xb7\x1f\xde\xdf\xdf\xcf\xa6\xbb\xcc\xb8\x8d\xb8\x0d\xb1\x8d\xb9\x32\x32\xd0\xe1\x41\x8c\x78\x22\xcc\x83\x8e\x0b\xd8\x6a\x7b\x0c\xb0\x01\x3b\xac\xe4\x4e\x8a\x95\x14\x81\xaa\xe6\xb0\xcf\x0e\x7b\x00\xf8\xa6\x53\x29\xcc\x6b\x67\xda\x6d\x58\xf0\xc1\x8d\x39\x70\x7c\x30\x79\x7f\x7f\x7f\x9a\xf5\x6a\xee\x68\x9b\xfa\x5e\xa6\xf7\xf7\xa7\xbd\x66\x25\x89\xb9\xf2\x72\x48\x6f\x98\xca\xe5\x38\x17\xec\xef\x4b\xe9\x59\x60\x68\x10\xa9\xaa\xbd\x5c\x79\x08\x99\x15\xda\xea\xc6\xe0\xae\xe6\x39\x42\x09\x9e\xed\x8c\x9d\xc3\x40\x06\x58\x34\x82\xc2\x20\x80\x31\x25\xf3\x10\x29\xcb\x33\x2d\x4a\x9e\xe7\xeb\x7e\x65\x4a\xd0\x70\x51\x4a\xb0\x1b\x08\x88\x0e\x70\xaf\xdb\x8b\x97\x4f\x5e\x76\xcb\x69\x56\xa4\xbc\x37\x62\x6f\x78\x99\x81\x99\x05\x1d\xcc\x65\xee\xc2\xa0\x42\x4b\xc9\x2b\x3c\x74\x5c\x8b\x8f\x6c\xe1\x3e\x87\x2d\xac\x5a\x12\x57\x73\x5c\x43\xd6\xa0\xba\xcc\xe8\xa1\x4d\xbd\xb7\x3e\x94\xdb\x6e\x0d\xe0\x83\x42\x2d\x73\xed\x15\x9e\xe6\x3b\x1c\xf4\xc8\xb2\x41\xeb\xb0\x89\x5f\x7f\x06\x17\x89\xa1\x58\xff\xf7\x65\xa7\xd3\x76\xf6\x68\x6c\xcb\x02\xe8\xdc\xd5\x58\xaa\x9b\x0d\x3b\x02\xa5\xe4\x99\x98\x9e\xde\x2c\xba\x9d\x77\x97\x97\x97\x97\xe6\x86\xc5\xc1\xee\xb3\x0e\x14\x46\x99\x12\x9c\xdb\x3c\xa4\x4b\x31\xcc\xb9\xd2\x4f\x8b\x54\xdc\x38\x69\x48\xaa\xd0\xdf\x42\x40\x9c\x75\x37\x80\xd1\x6b\x17\x1f\x5f\x17\x64\x4e\x0a\x2e\x74\x22\x2d\x27\x38\x12\x76\xef\x1f\x35\x9c\x59\xc3\x8a\xed\x24\xfa\xf1\xec\x06\xec\xb0\x51\xf4\xac\x34\x72\xcb\x0e\xda\xfb\x8d\x3a\x72\x1b\x15\x89\x05\x97\x55\x77\xdb\xea\xcd\x56\x9b\x35\xd0\x10\x06\xcb\xf8\xa7\x7b\x22\x0b\x9d\x15\xb6\xa6\xfd\xc7\xa6\xc1\x8d\x04\xb2\x69\xf4\xca\x30\x48\x68\x1b\xa6\xd5\x3a\x64\x30\x02\x8c\xbe\xc3\x02\x6d\x05\xed\x65\xae\x2b\xf1\xe4\xb7\xde\x68\xb8\xf8\x62\xa6\x57\x10\xf7\x40\x93\x0c\x64\xf2\x6b\xd2\xeb\xb3\x2e\x19\xe2\x43\x3e\x87\x66\x58\xd3\x1c\x5c\xf2\x02\xeb\xc0\xf1\x0f\x17\xa7\x67\x14\x91\xca\x21\x40\x06\x72\xfa\xe5\x5c\xcd\x86\xbd\xaa\x12\x6e\x57\xde\x40\x41\x50\x8d\xbc\x61\x0e\x9e\xdc\x88\xcb\xce\x5e\x67\x64\xfe\x83\x3e\xfd\x66\x6f\x47\xf0\x5f\xfb\xf7\x25\xfc\x7d\x69\xff\xe6\xf0\xe7\xcd\xc1\xd7\xf6\x8b\x31\x7d\xf1\x8d\xfd\x42\x74\x28\x9d\x96\xfd\x62\x42\x2d\x12\xfb\x45\x41\x5f\x70\xfb\x45\x49\x5f\xa4\xf6\x0b\x4d\x5f\x7c\x6b\xbf\xb8\xa6\x2f\x1c\xd0\x9b\xce\xa8\xba\x32\x2b\x01\x5e\x5b\x2d\x55\xeb\xe5\xff\xfe\x1f\x0f\x3e\xe2\xed\x1f\x91\x4d\x53\x66\x25\x77\x3b\x02\xd4\x3e\x3b\xfc\xaa\x67\x5f\xb6\x34\x93\xe5\xef\x9b\xc9\x97\x9f\x60\x26\x4e\xef\x19\x84\x96\x24\x33\xc8\x10\xc9\x17\xe6\xa8\xce\xf9\xa2\xf6\xa4\xc2\x46\xbd\x56\xe1\xca\x3e\x89\x90\xe2\x47\xde\x70\x94\xcc\x3c\x5f\xb7\x2b\x9c\xf3\xc5\x3b\xfa\xf1\xfd\xa3\x96\x7b\x00\x4e\xf4\x7a\x21\xe4\x84\x79\xed\x8b\xc5\x1c\xdd\x33\x16\x1e\xea\x16\x13\x9e\xe7\xe8\xc2\x16\x0a\x75\xf4\x56\xad\x89\x24\xde\x2b\xca\xfa\x57\x2a\xcd\x4b\x70\xdb\x68\x3d\xa9\xd5\x9b\x1d\xaf\xa7\x8f\x0e\xc2\xb1\xfb\x14\xb9\x9d\xe9\xd0\xba\x07\x0e\x30\x6a\xc1\x8b\x21\x63\xcf\x5f\x9f\x5f\xa0\xc2\x9b\x34\xed\xd0\x74\x6f\x9a\xcb\x31\xcf\xf7\xe8\xf6\x63\x93\x9c\x4f\xef\x76\xe3\x37\x38\x56\x2d\x42\xaf\x2a\x20\x00\xeb\x93\x87\xa3\xb6\xed\xaf\x11\x6c\xcb\x82\xe7\x68\x1a\x1c\xb1\xf3\x05\x2f\xbc\x3b\xb0\xf5\x4c\x47\x18\x74\xef\x59\xc0\x6d\xd7\xad\xa1\x08\x5e\xae\xd9\x91\x6b\x59\xbb\x76\x3d\x99\x9a\x86\xbf\xfd\xd6\x00\x73\x60\x60\xbc\x3b\x78\x6f\x45\xe4\xcf\xfc\x20\x5b\x1f\x02\xce\x43\x11\xe9\xd5\xe2\xc6\xcb\x26\x68\x22\x6c\x1a\xf4\xb0\x8d\x6e\x69\x8f\x70\x52\xf1\xb5\x70\x8c\x2d\x77\x22\x2d\x6b\x61\x4e\xe4\x12\xfc\x69\x5b\x37\x9a\x86\x0f\xf7\x18\xfa\x04\xda\x20\x78\x10\x1c\x21\xa8\xd8\xc4\xb9\xe1\x09\x51\x33\x77\xc6\xc2\x2a\x79\xfc\xa0\x40\xc7\x8e\x59\x9e\x29\x88\xd1\x83\xa0\x2a\x56\xc8\x62\xb0\x9a\x65\x5a\x60\xba\xd7\x88\xf8\xc9\x39\xd8\xde\xa5\x0c\xd7\xee\x89\xfb\x5a\x66\xe9\x46\xd2\x76\xca\xad\xaa\xb7\x10\x4e\x26\x20\xed\xfd\x4b\xb5\x3f\xd4\x42\x69\xcf\xbf\x82\x77\x50\x2c\x6e\xee\x5f\xaa\xfb\xfb\xd3\x39\xa6\x46\x6c\xa1\x59\x9b\xa9\xca\x1a\x94\x03\xf4\x59\xe9\xd8\x0a\x8f\x91\xdc\x18\xd0\x52\x08\xdb\xd3\xd9\x6e\x9b\x41\x43\x54\x97\x1a\x49\x3f\xc3\xcc\x40\x7e\x39\x89\x5a\x1d\x1d\xb1\xc1\x61\x6f\x17\xed\xac\x2c\xc0\x38\x6d\x4e\x43\xb0\xbd\xf7\x59\xa7\x8f\x0e\x22\x70\x50\x22\x23\x86\x65\xf1\x5e\x7a\xda\xd5\x0d\xe6\x43\xa8\x7f\xfb\x27\x77\x89\x71\xbe\x82\x39\x05\x4c\x83\xd7\x63\x68\x5f\x97\x65\xac\x7c\xac\x53\x78\x80\x0e\x23\x6f\x05\x47\xef\x79\x18\x05\x84\xb1\x49\x60\x24\x07\xa7\x7b\xd4\x5c\x93\x77\xb3\x0b\x61\x0c\x5e\xd4\x46\x14\x2d\x05\x5b\x2e\x16\x10\x7f\x64\xe6\x2d\x6d\x76\xe8\x42\x96\x73\x9e\x43\x34\xab\x8d\x01\xcc\x8a\xc5\x52\x83\x61\x77\x0c\x5e\x95\xd3\xec\x9a\x5e\xe8\x6c\xef\xe4\xe2\xec\xd9\xe0\x78\x0f\xe3\x8b\xd0\x98\x4c\x7f\x40\x88\x28\xdf\x43\x2f\xc6\x3c\x07\xb7\xbb\x85\x16\x69\x98\xf5\x73\xc4\x5e\xc0\xdc\x21\xac\x3f\xe1\x45\x21\x35\x04\xe2\xe6\x7c\x81\xb6\xe1\xed\xf6\xa6\x8d\x58\x8b\x0d\x84\x28\xb2\x42\x75\xc6\x91\x8b\xc4\xb9\xc7\x98\x59\xc3\xc8\x46\xe4\xb8\x9c\x9b\x73\x59\x30\x9e\x67\x1c\xf2\xb6\x9c\xbc\x7c\x71\x71\xf6\x32\x6a\x75\xfc\xcc\x40\x81\xf0\x9d\x7b\x8c\x3d\x3f\xbd\x38\x1e\xd9\x30\x9e\x60\xa3\x7e\x76\xa5\x8b\x96\x41\x58\xc4\xe6\x1d\x7a\x65\x58\x18\x26\xfe\x32\x34\x3a\x97\x4a\xe7\x6b\x96\x8b\x89\x66\x72\xa9\x1d\x29\x03\x83\x1d\x8b\x84\x2f\x6d\x4d\x2c\xb3\x7f\x73\x79\x6d\x76\xd7\x10\x2a\xb8\x5b\xd8\x4c\xe0\xce\x67\x2a\x97\x09\xcf\x05\x6e\x27\xe5\xb5\xb0\xf9\x30\x8a\x8a\xef\x0a\xcb\xb3\x2b\x41\xdb\x7a\x7a\x7e\xb2\xd7\x77\xe9\x12\x12\x69\xb6\x8d\xc4\x22\x3b\x17\x39\x81\xc0\xb2\x00\xfd\x8c\x3d\x05\xd7\x7f\xf1\xf7\x65\x76\xcd\x73\x81\x51\xbe\x08\xf0\xc1\xd7\x21\xd5\x1c\xdc\x1c\x8e\xf7\xfe\x20\x12\xb5\xd3\x0f\x86\x3b\x55\x89\xf9\x93\xfe\x12\xf0\x57\x0b\x9d\xbe\x15\x98\xa5\xc3\x0a\x64\x49\x40\x1a\x41\x45\x2a\x5b\xf2\x6a\xc8\xd8\x1e\x41\x4f\xe1\x13\x5f\x08\x04\x4e\x99\x9f\x5c\xc3\x4f\x72\x0e\x22\x73\xf6\xe6\xb3\xe0\x0c\xbb\x47\xd6\x7f\xf6\xc2\xd7\xd9\x39\x3d\x3f\x39\x7e\x75\x3a\x62\x0f\xbe\xee\xe3\x5f\xf6\xe3\x0f\x87\x23\x76\x78\xf8\x00\x3e\x3e\x30\x1f\xbf\x80\x8f\x5f\x98\x8f\x5f\xc2\xc7\x2f\xcd\xc7\x87\xf0\xf1\xa1\xf9\xf8\x15\x7c\xfc\xca\x7c\x44\x08\x5f\x9b\x8f\xdf\xc0\xc7\x6f\xcc\xc7\x6f\xe1\xe3\xb7\x23\x76\xf8\xe0\x00\x87\x38\x30\x9f\x0f\xf1\xb3\x19\xef\x01\x8e\x77\x68\x06\x7c\xf0\x45\x9f\x52\x62\x9c\x99\x3b\x6a\x25\xcd\x74\x5f\xbe\x38\x1d\xb1\x2f\x01\xd0\xc5\xdb\x97\x23\xf6\x10\x00\x5d\xfc\x74\x76\x7a\x3a\x62\x0f\x11\xd2\xcb\xd7\x67\x23\xf6\x10\x21\x3d\x7d\x63\xbe\x87\xa9\x9f\x3f\xfd\x65\xc4\x1e\xc2\xd4\xcf\x4f\xdf\x9c\xbe\x18\xb1\x87\x30\xf9\xd3\xa7\x3f\xfe\x74\x31\x62\x0f\x61\xfa\x2f\x9e\x9a\x01\x1e\xc2\xfc\xff\xf3\xf4\xec\xe5\x88\x7d\x09\x0b\x78\x7c\x7c\xf2\xf3\xf9\xab\xe3\x93\xd3\x11\xc3\xbf\x7f\x3e\x7f\x65\x3f\x9e\xc3\x87\x60\xaa\xb3\x52\x40\xf2\xbf\x8b\xe3\xc7\x23\x06\x73\xfd\x7f\x47\xec\x1b\x98\xdc\xdb\x11\xfb\x06\x31\x3d\x62\x5f\xc1\x4f\x67\x23\xf6\x0d\xcc\xf5\x62\xc4\xbe\x81\xd9\xfd\xc7\x88\x7d\x03\x3f\xbd\x1e\xb1\x6f\x60\x8a\x4f\x47\xec\x6b\x58\xc3\xcb\x11\xfb\x1a\x7e\x32\x83\x1f\x84\x83\x4e\xe4\x12\xf2\xff\x9e\x1c\xbf\x3a\xff\xf0\xec\xe5\xc9\xcf\x23\x86\x48\x36\x5f\x54\xff\xb6\x9f\x8f\x47\xec\x2b\x18\xc0\x2c\x01\x06\x78\x32\x62\x5f\xe1\x8e\x8d\xd8\xd7\xd0\xe6\xc7\x11\xfb\x1a\xa6\xfe\xd3\x88\x7d\x0d\x13\xfd\x7f\x46\xec\x6b\x98\xe8\xcf\x23\xf6\x35\x74\x7f\x36\x62\x5f\x7f\x45\x1c\xf4\xad\x80\xc7\xa3\x28\xc0\x7f\xb1\x48\xbd\xbd\x70\x2a\xc0\xb9\x48\x5c\x43\x21\x5f\x08\x41\xc4\x56\xa4\xee\xa0\x84\xcc\x63\xc1\x0e\x0f\x10\x96\x65\x72\x86\x13\xb2\x85\x90\x8b\x5c\x50\x62\x68\x28\x98\x20\x0d\x87\x30\xa7\x77\x6c\xd8\x23\x78\xe3\x67\x4a\xcb\x72\x0d\xe7\x69\xc8\xd8\xab\x7c\xa9\x68\x5a\x00\xc2\xf2\x42\xb5\xbf\x28\xe5\xb4\xe4\x73\xc8\x20\x6d\x33\xbe\xd2\xfc\x78\x5e\x0a\x9e\x9a\xf3\x8c\x89\x69\xd6\x76\x62\x18\xcf\x06\x6e\xe3\x12\x93\x97\x41\x47\xcc\x3e\x21\x0a\x9d\xaf\xfb\x9e\x1d\x03\xeb\x20\x06\xcd\x20\x72\x38\x4b\xe8\x75\x6a\x76\xff\xc5\xc5\xe9\xd9\x88\xe1\x99\x3a\x7d\x71\x61\x3f\x9e\x9d\x5e\xbc\x3e\x7b\x11\xfc\x85\x1f\x83\x6d\xce\xc0\x03\x8c\xfd\xe7\x88\x7d\x0b\xdb\xf3\xcb\x88\x7d\x03\x1b\x76\x32\x62\x5f\x01\x65\xbd\x19\xb1\x6f\x60\x33\x1e\x8f\xd8\x57\x48\xd4\x23\xf6\x35\xb4\x79\x3e\x62\x5f\x7f\x6d\xc1\x9d\xea\xc4\x40\x22\xaa\xfe\x02\xb6\xd6\x10\x35\x7e\x7a\x75\xf6\xf4\xc5\xc5\x87\xf3\x93\xb3\x53\x73\x52\xbe\xa4\xef\x2e\x0c\x7f\xc0\x3f\xce\x4f\xce\x5e\x3e\x7b\x46\xa4\x76\xf8\xe5\x43\xfa\xee\x99\xff\x0b\x8a\x81\x8e\x18\x1e\xfb\xc7\x67\xee\x23\x56\xf1\x1c\x31\x6c\xf5\xf4\xc5\xb9\xfd\xf8\xd3\xcb\xe7\x66\x26\x30\xe7\x57\xc7\x3f\x9e\x7e\x78\x6d\xa6\x03\xa8\x78\xf5\xa3\xff\xfc\xe4\xf4\xd9\xe9\x85\x61\x03\x5f\xd1\x5f\xf6\xe3\xe9\x8b\x27\x23\xf6\xc5\x43\xd7\xfd\xc9\xcb\xb7\x2f\x46\xec\x8b\x2f\x11\x40\xe5\x2f\xf7\x19\x00\x03\x7a\xb0\xc5\x97\x80\xd7\x33\xe4\x0a\x5f\xc0\x8c\x9f\x9d\x1a\xc9\xe1\x0b\x40\x2f\x55\x4e\x34\xab\xfc\xd2\xa2\x12\xeb\x10\x9a\x13\xf1\xea\x60\xc4\xbe\x85\xc9\xfc\xfc\xea\x70\xc4\xbe\xfd\x1a\x3f\x3e\x18\xb1\x6f\xbf\xc1\x8f\x5f\x8c\xd8\xb7\xdf\xe2\x47\xc3\x40\x0f\x0e\xf0\xb3\xe1\xa0\x07\x87\xf8\xd9\xb0\xd0\x83\x07\xf8\xd9\xf0\xd0\x83\x2f\xf0\xb3\x61\xa2\x07\x78\xf2\x5e\x19\x2e\x7a\xf0\x10\x3f\x7f\x78\xf5\xec\xf5\xb9\xf9\x9b\x46\xfb\x70\xfc\xe4\x49\xf8\xe7\xf3\xa7\x2f\xf0\x77\x1a\xf7\xc3\xf9\xeb\xc7\x17\x67\xc7\x27\x17\xd1\x77\x17\xc7\x86\x22\x0f\xbe\xb2\x9d\x5e\x3f\xbb\x78\xfa\xea\xd9\x7f\x84\xdf\x3d\x79\xfa\xe6\xe9\x93\x53\xc3\xca\x0f\xed\x37\xa7\x27\x4f\x9f\x1f\x3f\x33\x5f\x1d\xd8\xc9\x9c\x9e\x3d\x7d\xf9\x84\xbe\xb9\x57\x29\xf5\x36\x17\x69\x06\xb2\x86\x32\xa8\x3c\x7e\xf3\xf4\xc7\xe3\x8b\xd3\x0f\x86\xbb\x8e\xd8\x21\x51\xab\xfd\xf6\x87\x97\x67\x6f\x8f\xcf\x0c\x24\x24\x6c\x2c\xb4\x66\xfe\x44\x0e\xf5\xfa\xd9\x33\x47\xa0\x87\xc8\xbe\xde\x3e\x7d\xf1\xe4\xe5\xdb\x0f\x2f\xdf\x9c\x9e\xbd\x79\x7a\xfa\xd6\x7c\xff\x00\xa9\xcf\x6c\xe7\x8b\xd3\xf3\x73\xa0\xa9\x07\x78\x57\x05\xdf\xe2\xd6\x3f\x38\xfc\x3a\x94\xe1\x9e\x06\x62\x38\xf9\xa0\x9b\x37\x80\xb7\xf5\x6f\xbb\x79\xad\x07\xc3\x51\xec\x82\xfe\xaa\xb4\x85\x62\x7c\xc6\x19\xc3\x29\x7d\xc0\x95\x5a\x2b\x2d\xe6\x28\x67\x41\xda\x27\xab\x3c\x82\x8e\xde\xfd\x1b\x13\x3f\x8c\xb6\xa6\x86\xe8\x47\x3e\xe7\x6f\x79\xa6\x29\x83\xfc\xde\x95\x58\x43\x72\x96\x3d\x04\xdd\xf7\xa9\x58\xec\x2f\xcc\x66\x88\xaf\x24\xc5\xa6\x29\x50\xd6\xa0\x4d\x73\xb0\xb5\xdb\xa2\x49\x3c\xab\x64\xb7\xc2\xdc\x82\xf1\xfa\x29\xe3\x15\xcd\xc6\x8f\xf9\xea\xf8\xfc\x7c\xd3\x80\x50\xc6\x34\x1a\xed\xdc\x97\xcb\xb0\x31\x3f\xf0\xc2\x5d\xf0\xa9\x11\x36\x3d\xe8\xb0\xfe\x50\xa0\x9f\xb5\x9d\x9c\x13\x66\x7b\xbd\xa2\xdb\xa5\x87\xb9\xc5\x34\x53\xb9\x2a\x9a\x26\xfa\x44\xae\x8a\xdb\x4d\xf5\xae\x65\x36\xb6\x4f\x96\x48\x44\xcb\x1a\x4a\x2f\xe4\x85\xbc\x05\x46\x5d\x8d\xac\x3f\x68\x86\x63\xa9\x35\x25\x12\x8a\x26\xf9\x18\xbe\xff\x93\xe7\xe9\x0b\x86\xb8\x69\x42\xd2\xd9\x86\xda\x20\x34\x5d\xcc\xe8\xe6\x7e\xdf\x65\xbe\xf5\xc2\x1f\xb7\x4c\x64\xb4\x83\x36\xc7\x25\x67\xfb\x40\x95\x13\xff\xd9\xc3\x6b\x83\x00\x27\xf3\x71\xd2\xe9\x33\xf8\x70\xae\x65\xc9\xa7\x22\x8c\x6d\x7a\xe5\x16\xff\x1c\xd7\xce\xd4\x72\x8c\x21\x89\x80\x0c\xc3\xd7\x50\x2b\xce\x5e\xf0\xf3\xf3\x9f\x82\x54\x76\x81\x8e\x06\x33\xb8\x93\x4e\x38\xa7\xb4\x8f\xbc\x60\xb2\x4c\x45\x09\xbe\x0a\xa8\x5d\x45\x1b\x4b\x22\x8b\x82\xd2\x4e\x2e\x4a\x69\x96\x10\x5f\x49\xb5\x29\x85\xfa\x7f\xec\xf0\x94\xd2\x12\x98\x55\xd5\xda\x7b\x4b\x4a\x9f\x88\x84\xa2\x45\x69\xfd\xf5\x14\xab\xd1\xbf\x0e\xd2\xc5\xbe\x9d\xdb\x3e\xe8\xd6\xdd\xb8\x56\xf5\x9f\x8a\x89\xf2\x8e\xaf\xb5\x39\xd0\x90\xfe\x07\xb0\x19\x60\x50\x81\x79\xdc\xaa\xae\x01\xd0\xab\xa7\x5c\xb8\xaa\x54\x1e\xc2\xb0\x1a\x0f\xc7\x34\xe8\xc3\xe8\xef\xae\xc4\xfa\xfd\xbb\xc3\xf7\xbd\x96\x4c\x30\x6d\x53\x4b\xb8\x16\x53\x09\xa1\xcd\xa8\xa7\xdb\xde\xd0\x1d\x33\x76\xc4\x3a\xf6\x73\x67\xa7\x9e\xc7\x8b\x85\xe0\x25\xe9\xf8\x3b\xfe\xaf\xdd\x7a\x9b\x33\x68\x63\x19\x3b\xee\x8f\xdd\xfa\x9e\x9b\x13\x63\xd6\xd8\xc1\x4f\x3b\xf6\x02\xfe\x84\x9e\x26\x1d\xf7\xc7\x6e\x7d\x4f\x8b\x44\xa6\xd4\xd5\x7e\xde\xad\xe7\xf3\x4c\x25\x22\xcf\x79\x21\xe4\x12\xa6\x1c\x7d\x11\xa8\x68\x9f\xd1\x51\xf2\x7d\xfb\xee\x98\x8d\xd7\x2c\xcd\xd4\x22\xe7\x6b\xfc\x8a\x75\xb5\x5c\xc0\xbb\x0f\xee\x87\xde\xa6\x43\x66\x27\xb3\x7e\xe2\x3c\x89\x6d\x1a\xa0\x7f\xb0\x2c\x1d\xb5\x12\x7a\xe3\x56\xf7\x89\x8b\xdf\xe8\x51\xb8\xe7\xac\x3b\x91\x85\x56\x7d\x96\xc8\x5c\x96\xaa\xcf\xb2\x39\x9f\x0a\xd5\xeb\x80\x79\x79\xe7\x71\x1c\x1d\x44\xc3\x60\x6d\x04\x86\x04\x72\x3b\x80\x76\xaf\x22\x78\x6e\x03\x6f\x07\xcb\x9e\x8e\x08\x96\x3b\x32\xb7\x83\xe5\xc8\x2f\x02\xe6\x89\xf2\x96\xd0\xe0\x14\xc4\xa0\xf0\x60\xdc\x0e\x4e\x44\x9a\x11\x38\xf3\xcb\xb0\xf3\x11\x32\x43\xb5\x12\x5a\x9d\x33\xd2\x53\xa3\xc3\x73\x3d\x98\x96\x83\xb9\x4c\x45\x67\x74\x8f\xb1\x77\xb7\x41\x37\x38\xad\xc3\x6c\xde\xc1\x27\xd6\x29\x64\x21\x6c\xf2\xaa\x01\x65\xae\xca\xc5\x44\xdb\xcf\x70\x5f\xc3\x1f\x58\xdc\xb9\x83\xe9\x62\xcd\xc5\x75\x9c\xeb\x1f\x0d\x8b\xd7\x74\x4f\xcd\x78\x72\xf5\xd7\xb7\x33\xb1\x2c\x33\xa5\xb3\x64\x78\x59\x90\x1d\xa9\x13\x7c\xea\x98\x71\x2f\x3b\x23\x23\x15\x48\xec\xeb\x35\xda\x05\xbf\xce\xa6\x5c\xcb\x72\x98\xf3\x62\xba\xe4\x53\x31\xf2\x5d\xf1\xe2\xb9\xec\x88\x62\xb0\x54\x97\x1d\x76\xf4\x3d\xbb\x84\xe9\x5f\x76\xfa\x18\x99\x00\xdf\xb8\x09\x5f\xc6\xc3\x42\xc3\x11\x7b\x92\x29\x4c\x9a\x50\xac\x69\x01\xa5\xc8\xc1\xdd\x67\xbe\x2c\xcc\x4d\x1e\x4e\xdb\x61\x05\x26\xac\xd4\x72\x8e\x21\x71\xf7\x8f\x73\x4d\x29\xd9\x00\x46\xd4\xc7\x62\x2f\xe8\x03\x8a\xfe\x4d\x7d\x82\x49\xbb\x4e\x28\x55\x35\xf4\xc2\x4a\xeb\x9d\xa8\x40\xe8\x20\x53\x83\xb8\xf6\xe7\x1d\x88\x83\x52\xd5\x75\xc6\x52\xa2\x41\x84\x75\x9e\x4e\x98\x12\xba\xcf\x96\x45\x2a\x29\x9c\xdb\x3f\xf9\x8f\x73\x3d\x70\xf5\x3e\x07\xdf\x3f\x39\x7d\xc6\x4a\x31\xe7\x0b\x9f\x5b\xcc\xae\x30\x9a\x2b\xcb\x8a\x54\x88\x14\x8b\x9a\x84\x45\x4e\xc3\x95\xd1\x7a\x3e\xcd\x2a\xce\x85\x66\xab\x99\x70\xc9\xef\x6d\xbd\x56\x9e\x68\x85\x09\x3c\xcc\x58\xf0\x95\x79\x3b\x9b\x2f\x52\x43\xc3\x45\xa2\x6d\xdb\x68\x72\xe6\x25\xad\x06\xab\x19\xd7\x77\x98\x5f\x07\xdd\x67\x70\x6a\xef\xdc\x5f\xac\xf3\xcd\x60\x9c\xc1\x99\xa3\x87\xf3\xe0\x4a\xac\xed\xa9\x3b\xb1\xe9\x58\x67\xf5\x92\xb5\xf8\x96\x4e\x1b\xcf\x1b\x23\x67\x9d\x21\xfe\x63\xe7\x90\x7c\xbc\x00\x8b\x8f\x91\x52\xb3\x9b\x61\xd8\x18\xa6\x30\xb4\x8d\x8f\xd3\x94\x1d\x3e\xf8\xc6\x3e\xac\x96\x05\x18\xd8\x44\x1a\x86\xb1\x2b\x57\x97\x2f\x02\x14\x2c\x61\x38\xf4\x6a\x89\x48\xfb\x80\xaa\x12\xac\xc1\x41\xa9\x48\x42\xb5\x41\xf5\xe4\xfb\x7f\x8a\xaf\xd5\x90\xb1\x2e\xc8\xd4\x2b\x59\x5c\x76\x34\x54\xd8\xc1\x78\x57\x23\x31\xe7\x5c\x4f\x64\x39\xa7\x22\x3b\x00\xb6\x1d\x9c\x1d\x90\x12\x99\xc1\xee\xc7\xd5\x11\xcc\xd4\x21\x89\xb1\xc1\xba\x37\xee\xf5\x3a\xf7\x18\xb3\x64\xb1\x4c\xb3\x71\x2e\x06\x63\x91\xe7\x03\x65\x6e\x8c\x9d\x49\x83\xae\x1c\x78\x7e\x0c\x4a\x81\x2f\xa0\x11\xca\xd7\x06\xac\xdc\x37\x40\x89\x94\x97\xa5\xfd\xf4\xfa\xec\x99\x8d\x31\x77\x6f\x4b\xd3\x90\xc1\xe8\x43\xc6\x4e\xe7\x0b\xbd\xb6\x5e\x8c\x66\x09\x85\x64\x34\x4d\x68\xe8\x48\x3a\x15\xea\x4a\xcb\xc5\xa0\x90\xda\x65\x68\x86\x85\xdc\x7a\x09\xcd\x1c\x04\x13\x61\x46\x93\x54\xf6\x91\x66\x4e\xff\x14\x73\xa5\x80\x4f\x76\x02\x9e\xdb\x8c\xb3\xb7\x62\xec\xd8\xc7\x8b\x60\x62\x43\x48\x99\xa3\x28\x67\xce\xea\x8b\xa1\x2c\xa7\xfb\x17\x67\xfb\xe1\xe4\xd5\x7e\x74\x16\xf0\xc3\x13\x94\xfa\x0c\x32\xa2\xb6\xac\x14\x7f\x5f\x66\xa5\x50\x86\x00\xe6\x99\x52\xb0\xe3\xd6\x3d\x6c\x09\x55\x02\xde\xce\x04\x65\xa2\xb1\x60\x31\x12\xdd\x1c\x3f\x25\xc0\x04\x8a\x8b\x04\x5c\x51\x2e\x7a\xad\xc5\x7c\x01\xbf\x71\x75\xe5\x0d\x9b\x66\x27\x82\x91\x2c\xc0\x6c\xc2\x0a\x91\x08\xa5\x78\xb9\x1e\x62\x01\x4d\x5b\x53\x85\xcd\xf9\x1a\xd2\x04\xab\x19\xf9\x74\x84\x00\xcc\xf4\x85\xd2\x54\xe8\xc4\x82\x4b\xc1\x43\x47\x33\xcc\x27\x63\x50\x1a\x56\x99\x46\xba\x6e\xe4\x18\xc4\xde\xc5\x8d\x16\x85\xc2\x42\x55\x54\xe4\x86\xed\x45\x78\xdb\x0b\x27\x01\xb9\x22\x83\xbf\xb5\x0c\x66\x82\xd2\x76\xd4\xd9\xd1\x9e\xdf\xff\x01\xc8\xbb\x3b\x93\x5c\x20\x47\xb3\x4e\x39\x1d\x77\x0f\xbf\xea\x33\xfc\xff\x1e\x08\x34\x00\x0d\x69\xf0\x22\x26\x34\xf8\x09\xf9\x91\xb8\xa1\x90\xf5\x42\x52\x84\x3c\xfe\xe8\x73\x10\x35\xcd\x14\x24\xf2\xbb\xcd\xd4\x4c\xcd\x86\xed\x20\xbe\xcf\xcf\xc9\xc7\x91\x0e\x73\x30\x51\x18\xa7\xe5\x24\xe3\x6f\x4d\x3b\x18\x26\x45\x08\xb9\xde\xb2\xcc\xbb\xf6\xec\x4c\xa5\x1c\x4e\xf3\x7d\x5e\x88\xf4\xe2\xe7\x5e\xd8\x2a\xcf\x0a\xc1\xcb\xc1\xb4\xe4\x69\x26\x0a\x0d\xaf\x23\x7c\x1a\xf5\xd9\x18\xdc\x4c\x4b\x91\xf6\x1a\x90\xa2\xb2\x5f\xff\x34\x9c\x40\xfe\xe5\x21\x63\x4f\x6c\x62\x2d\x2d\x99\x91\xf0\x9a\x36\xcb\x7a\xdf\xfd\x69\x73\x73\xee\x7e\xb7\xd9\x9c\xc3\x83\x7f\x35\xff\x1f\x7e\x95\x80\x0d\x35\x5c\x11\x0a\x5a\x28\x7d\x7c\x7a\x41\x8f\xd8\x34\x2d\x09\x45\x35\x32\xe0\x82\xe9\xe0\xf1\x39\xeb\x5e\x76\x2e\x2f\x6f\x0e\xbe\x31\x22\x37\xbf\xe2\xec\xaf\x3f\xf5\x86\x2c\x28\x6c\x61\x27\x1f\x03\x01\x07\x94\x00\x10\x00\xf9\x7a\x72\xd9\x71\xdb\xe5\x04\x8a\xc1\x9c\x2f\x06\x36\x71\xbf\xba\xd3\x96\xd1\xc3\x06\xf6\xc8\xfa\x86\x5b\xed\x9b\x4f\x2d\x02\x59\x31\x28\x69\xc5\x90\x7c\x5a\x38\x53\x0b\xf4\xea\x2f\x4b\xbe\xee\x93\xf0\x20\x78\x32\x33\xdb\x81\x2e\x71\x1d\x97\x49\x92\xca\x31\x7a\x59\xc8\x5c\x04\xa0\xb7\xb4\x29\xf7\x29\x10\x36\x18\x89\x52\x6e\xb8\x6b\x84\x75\xe2\x31\x59\xa6\x95\xc8\x27\x43\xac\x4a\xc3\x75\x65\x42\x30\x95\xea\x04\x1c\xa8\x52\x24\x22\xbb\x8e\xc5\xb3\xea\x4c\x20\x51\x0b\x32\xe4\xb0\xa1\x27\xd5\x80\x56\x5b\x88\xd5\xe0\xe2\x1f\x7b\x07\x7b\xa3\x7f\xec\xdd\xdf\x1b\xed\x5d\x5e\x2e\x1f\x1c\x7e\xfb\x60\xaf\xbf\xd7\x77\x7f\x1d\xec\xf5\xf7\x06\xee\xaf\xc3\xbd\xfe\xde\xd0\xfd\xf5\xc5\x5e\xdf\x4f\xd9\x80\x81\xef\x1f\x7e\xf3\xcd\xde\xc7\x8f\x81\x3c\x05\x55\x9c\x06\xb2\x18\x88\x9b\x6c\x77\x29\x3b\x7e\x75\x13\x45\x87\x64\xfe\x96\x5e\x01\xc0\x43\xe1\x6e\x86\x81\x00\x2f\x54\xf5\x6a\x85\x77\xbd\xab\x15\xc2\xcc\x0c\xfc\x35\x80\x59\xcd\x06\xe3\x3c\x2b\xae\xee\x44\x9f\x0d\x87\xaf\x3e\x2b\x00\x6f\x9d\x88\x95\x2c\x83\x74\x7e\x8d\x33\x19\x24\xeb\x24\xbf\x1b\xfb\x7d\x77\x78\x70\x70\xd0\x67\x0f\x0f\x0e\xde\xc7\xc7\xa6\x73\x11\x0c\x0f\xf3\x29\x8d\x1c\x91\x15\x6c\x9e\xe5\x79\xa6\x44\x22\x8b\x54\x35\x72\xb9\x63\xa6\x57\x92\x09\x4c\x50\x69\xa9\xd7\x07\xba\xc8\x09\xe5\xa5\xcc\xf0\x41\x93\x4b\xeb\x41\x8f\xa3\xf9\x2c\x43\x4e\xdc\x82\x52\x40\x66\xc0\xa8\x4f\xa6\x83\xb6\x72\x32\xa9\xe2\xe6\xf7\x89\x14\xbc\xfb\xe0\xe1\xc3\x3e\x3b\xc0\xff\x1b\x3e\xec\x11\x5e\xaa\xa2\x05\x8a\x0c\x74\x1d\x5c\x53\xbe\x3c\x9c\x81\x9f\x90\x69\x33\x58\xf0\x5c\x68\x2d\x3e\x39\x87\xeb\xbc\xb4\xb5\x4e\x50\x69\x68\xa5\x6b\xfb\x8e\xa1\x71\x1b\xf7\x2a\xac\x6b\x58\xe5\x8f\xc8\x94\x30\x91\x94\xe5\x95\xec\xe9\xa4\xd6\xce\x6d\x13\xe5\x0a\x45\x76\x0a\x7a\x8c\x94\x52\x95\x6f\x60\xae\x8e\xa3\x39\x59\xd8\xf0\x62\xeb\x5a\x03\xce\xce\x58\xe0\x4f\x3b\x64\x6f\x5a\x10\xe4\x16\x69\x59\x52\x0e\xde\x42\xbc\x58\xb3\x44\x29\x82\x85\xbe\x3b\x94\xed\xd4\x4d\x81\xd2\x22\xb1\x7f\x39\xfb\xf1\x71\x9f\xfd\xcb\xd9\xd9\x8f\x3f\x3e\x7e\xdc\x67\x46\xd2\x1c\x0e\x87\x3d\xf8\xc4\xe9\x23\xd4\xfd\x32\x30\x01\x1e\x3a\xef\xfa\xab\x90\x6b\xf2\x44\x54\x92\x2d\x78\xa9\x2d\xa5\x28\x2d\x93\x2b\xf6\xcb\xe1\xa1\x01\x35\xd4\x37\x1a\x2d\x55\x4d\x4b\xfa\x0f\xb9\x84\xf5\x2c\x95\x60\x56\x85\x86\x31\x26\x66\x71\x6b\x9f\x3d\xcb\x6e\x38\x32\x7c\x7f\x36\x0c\x5b\xb1\xc0\xc6\x82\x0a\xdf\xa4\x76\xd1\x99\xf3\x65\x85\x97\xee\x55\xb6\x58\x40\x6a\x53\xa6\xe6\x3c\xcf\x19\xc6\x29\x80\xb3\x73\x91\x66\x49\xb0\x38\xc7\x2b\xdd\x05\xd3\x48\x41\xc1\x29\x58\xac\x0d\x53\xc7\x02\x5f\x3b\x13\xbf\xd7\x65\x37\xb0\xf4\xe3\xa5\x96\x73\xae\xb3\x04\x5c\xb9\xb0\x06\xaf\x04\x5b\x9f\x2b\xdc\x66\x49\xc7\x16\xa2\x75\xf3\x59\x2a\x31\x20\x94\x0d\x90\xfd\x0f\xa0\xe2\xee\x1d\x26\xb6\x81\xad\x6b\xef\x2f\x66\xf7\x87\xee\x1a\x2c\x0f\x4d\x15\x26\x1d\x92\x72\x23\x80\xbb\xd9\x0f\x20\x57\xc9\x9d\xe7\xd5\x7e\x07\xc2\xe5\x67\xcd\xd3\x1e\x59\x98\x1a\xc5\x0c\x97\x15\x53\xbf\x73\xba\xcc\x07\x8b\x7c\xa9\x06\xf3\xac\x58\xaa\xc1\xaf\xa2\x94\x83\x5f\xa5\x9c\xdf\x41\xfc\xac\x4f\xc9\x49\x9f\xe0\xbc\xfb\x2a\x5f\xaa\x7d\xa8\x7b\xb4\xff\x9f\xa2\x94\x71\x2d\xa2\xe0\x7c\x3c\x9d\x58\xac\x07\x89\xd1\x36\x76\xa6\x96\xf0\x33\xc8\xa2\x8a\xfd\xf5\x83\x93\x47\x3a\x7e\x74\xe8\x1a\xd4\x1f\x8d\xd0\x90\xdc\x6e\x33\x36\xca\xdd\xa0\x4e\x3e\x31\xe8\xce\x84\x82\x4c\xde\x80\x07\x5b\x72\x5a\x4b\x70\xca\x31\x3f\x40\xe7\x60\xf5\xd0\x13\xd6\x7c\xff\xc4\xae\x25\xea\x80\x90\x3c\x64\x04\x10\xad\xc4\x56\xab\xfd\x74\x4b\x79\x83\x85\xd6\x6a\x4b\x79\xb3\xe3\x52\xde\xd8\xa5\xbc\xa9\x2f\xc5\x43\x8e\x97\x22\xb8\xd2\x03\xae\x32\x5e\x0c\xf8\x7c\x9c\x4d\x97\x72\xa9\x06\x5c\x0d\xf4\x4a\x1a\x09\x60\x39\xdf\xfd\xed\xb7\xb3\x1a\xf9\x94\x2b\xcd\x8e\xcd\x98\xec\xd8\x8e\x19\xc6\x40\x61\x49\xc1\x95\xa1\x3f\x33\x01\x06\xc5\x44\xfd\x8c\x21\x73\xf3\x00\xd4\xad\x03\xa2\xd0\x4f\x33\x47\xa8\xe7\xa0\xa5\xcd\x0d\x0d\x23\xf8\xda\x5b\x6e\x7e\xb6\xae\x8c\x96\xb6\xde\x83\x9e\x89\x79\xe3\xdd\xf3\x56\x5c\x76\xf2\x9c\x95\x42\x2d\xf0\x05\x03\xeb\x1a\x8c\xd7\x5a\xb0\x6b\x51\x2a\x1b\x08\xa3\xc1\xc5\xbf\x3e\x94\x3b\x5d\xa5\x98\xf2\x32\xcd\x85\x52\xde\xdb\x03\xeb\xed\x56\xf1\x32\x96\xf9\xee\xea\xd3\x06\xc9\x48\x97\x99\xd2\x5c\x8b\x10\x27\x51\x8d\x0b\xc3\x8e\xcd\x20\x6c\x85\xc5\xe4\xa0\xe0\x5b\xac\x10\x42\x57\xa2\x3c\xdd\x1f\xa3\x21\xc6\x99\x32\xac\x66\x68\xc8\xd8\x0f\x16\x87\xce\x1d\x18\xe2\x18\x42\xa8\x43\xc6\x5e\x2c\x73\x70\x4e\xe2\xce\xe2\xd5\xb4\x5e\x43\xb0\x38\xd4\x9d\x56\x5e\xe7\xa9\x2d\xab\xc6\xd5\x90\x98\xd8\xfd\x66\x70\xf8\x90\x19\xa6\xcf\x0e\xbf\x8a\x45\xab\x9e\x5b\x31\xf8\x13\x16\xeb\x06\xdc\xb0\x3a\x32\x7c\x8d\xfc\xea\x1a\xef\xfc\x60\xda\x65\x69\x21\x75\xe2\x5b\xa5\x71\x9f\x88\xd6\x33\xb3\x2d\x95\xf9\x39\xe1\x00\xd4\xe0\xb7\x50\xab\x6c\xbc\x6b\xcf\xcd\x53\x85\xdb\x64\xba\x56\x2c\x77\xaa\x70\x27\x3f\x01\xa3\x5b\x95\x99\xe1\x6f\xad\xd2\x4a\x6d\xa6\xd0\xe1\x13\x49\x51\xae\x36\x30\x4c\x45\x4b\x9c\x0d\x4b\xb3\x52\x60\xc9\x08\x2a\x06\x8d\xfe\x9b\xad\x93\x4b\x45\x72\xf8\xe0\xae\xef\xf5\x06\x7e\x76\x16\x6c\xac\x99\xd9\x65\x47\x85\x9a\xf5\xa0\x82\x63\xf4\x52\x35\xc7\x7f\x69\xa4\x5a\x23\xc7\x5a\x42\x7e\x72\x7a\xe2\xca\xf1\x40\x66\xf1\xc3\x07\xc1\xf4\xaf\xb3\x52\x16\xe6\xbd\x7a\xd7\xd9\xff\xa3\x73\x71\x7a\xf6\xbc\x33\x62\x1d\xb0\x87\x0d\x1e\x3c\xfc\x0a\x5f\x8a\x98\x17\xa0\xf6\xb4\xb6\xb2\x60\x30\x34\xbb\xa6\x6c\x33\xaa\x1f\x6b\xa8\xec\x34\x0d\x4b\x19\x4c\xf8\x3c\xcb\x77\x97\x3f\x2a\x1e\x27\x9d\xbd\x27\xe2\x6f\xfc\xcd\x92\x9d\xf3\x42\xb1\xe7\xb2\x90\x7b\x7d\xb6\x77\x6a\x58\xb9\x2c\xec\xdf\x3f\x94\x42\x98\x8f\x7d\xb6\xf7\x5c\x14\x39\x34\xb9\x20\xaa\xf5\x0a\x9c\xce\x5c\x16\x12\x95\x90\x55\x35\x29\x69\x66\x89\xb3\xc2\x84\x6b\x15\x26\x80\xa3\xc4\x4b\xbb\xb3\x12\xf9\xf0\x61\x1f\x92\x57\x35\xe0\xd7\x57\xf3\xcc\x0a\xb6\xc8\x6e\x44\xae\x2a\x83\xce\x25\x8a\x79\x77\xd3\x14\xf0\x42\x67\x18\x3b\x96\x36\x6a\x8b\xe3\x31\xdc\x6b\x37\x98\x43\x29\x3e\x8d\x09\xe4\xc1\x97\x07\x7d\x66\xff\xd3\x68\x05\xf1\x63\xdd\xd1\x0a\x32\x93\x73\x31\xb8\x12\x6b\x35\x40\x1f\xd6\x4f\xac\x7d\x36\xe0\xf7\x85\x33\x06\xfa\x52\x97\x9e\x68\x5c\x29\x77\x34\x1d\x43\x41\x52\xd7\xcd\x3d\x4c\x4d\x77\xe7\xf0\xfe\xe6\xc2\x96\x09\x54\xa8\xbf\x20\xe1\xc7\x70\x5f\xd7\x15\xe5\xce\x37\x17\x14\xdc\xc9\x03\x68\x95\x41\x70\x06\x1e\x27\x57\x62\x6d\x4b\xb4\xdd\xd5\x25\x27\xe6\x0e\xc7\x10\xbc\x24\x27\x95\x74\xcd\x32\x0a\x50\x80\xfc\xdf\x41\x3d\x53\x1b\xcd\x68\x93\x90\xfb\x33\x5a\xc6\x35\x06\x37\x67\x14\x8f\xd3\x89\xa7\x22\xc9\x8c\x44\x13\xc0\x9b\x89\x1b\x6e\xbf\x46\xcd\x00\x78\xd7\x11\x20\x1f\x24\x41\xe0\x6c\xa4\x44\x4d\x1d\xe3\x04\x2a\x6b\xd8\x72\xd5\x62\x7d\x30\x42\x9f\x74\x4f\x64\x87\x8f\x80\xff\x00\x63\x4e\x8c\x70\x65\x41\x89\x9b\x45\xce\x0b\x0c\xb3\x25\x25\xcb\xc4\x48\x64\x10\xfc\x20\x58\xc5\xf8\xf5\xec\xed\x59\x91\x96\x8d\x32\xef\x39\xe8\xbc\x59\xb0\xb1\x81\xb1\xe6\x1f\xa1\x91\x86\x22\xa4\x73\x3d\xf8\x79\x6f\xc4\xf6\x2a\xde\xdb\x7b\xfd\x7a\x5b\x7c\xa6\x3e\x33\xad\x5f\x1d\x9f\x9f\x37\x35\xf9\xc9\xfc\x78\xd9\xf9\xe9\xf4\xd9\xb3\x97\x97\x97\xc5\x65\x67\xcf\xb7\xf9\x68\xa9\x6e\xce\x6f\x06\x88\xb9\x81\x25\x82\x9d\xa9\xcf\xf9\xf2\xb1\xc3\x83\x03\x50\xff\x06\xbc\xf3\x39\xbf\x61\x94\x68\x03\x2a\xfc\x3c\x39\x39\xef\xb3\x97\xe7\x27\x7d\xf6\xea\x39\x6c\xc8\xf1\xab\x73\x4f\x95\x63\x31\x81\x72\x71\x98\x69\x85\x2d\x17\xd1\xc9\xf1\x8f\x0b\x24\x31\x37\x79\x91\x66\x1c\xf9\x08\x2f\xc5\x60\x62\x3e\x7d\x62\x56\x92\xc8\xe2\x5a\x94\x3a\x08\x4c\x22\xca\xca\x4a\xf6\x83\x21\x55\x1f\xc2\x3c\x64\x5e\x95\x90\x0b\x1d\x9b\xb1\xe2\x1a\xed\xb6\xb8\x78\xb0\x12\xcd\xc9\x24\x47\xae\x3c\x9f\x42\x21\x52\xf5\x58\x72\xfe\x49\xc8\xa5\xb8\xcb\x0b\x45\xd9\xa7\xd0\x72\xe0\x27\x25\x97\x4a\x0c\xd0\xab\x2c\xc9\xb3\xe4\xea\x96\xef\xfc\x8d\xa2\x22\xba\x1a\xcb\x82\x3c\xd4\x50\xd9\x36\x5e\x6a\x2d\x0b\x06\x83\x35\xdb\x04\xb0\x98\x94\x73\x9b\x30\x47\xfa\x1a\xed\x09\x58\x06\x1e\x0a\x53\xe1\xa1\xdd\xc3\xf9\xc3\x9c\x07\x08\x79\xcf\x33\x63\x7a\x33\x36\x8d\x81\x91\xd7\xe8\x17\x64\x6e\x00\xda\x34\xf0\xbf\xfb\x9c\xe6\x6b\xbe\x13\x29\x9b\x67\x10\x66\x50\xa2\x78\x5b\xc1\x5c\x38\xf2\x5d\x90\x56\x75\xb3\x3c\xe8\xb3\xc3\x3e\x7b\xd0\x67\x5f\xf4\xd9\x97\x7d\xf6\xb0\xcf\xbe\x22\xc7\xae\xe7\x80\x3d\x2c\x4e\x8f\xe3\xc1\x11\x2b\xea\x6f\xc6\x36\x6b\xb2\x6f\xd2\x67\x2b\x7c\xab\xdb\xe7\xe8\x3c\x4b\xcd\xf2\xa3\x1d\x42\xf7\x81\x62\xf0\xcb\xe1\xa1\x43\xa9\xf7\x97\xea\xe2\x2d\x62\x28\xcb\xf9\xf9\x81\x89\xb7\x60\xbf\x1c\x1e\xd6\x06\x08\x29\xc0\xa9\x97\x71\x9c\xae\xad\x3a\x25\x98\xe1\xc8\xd7\xce\xbe\x36\xb7\x31\x14\x94\x0a\x0d\x96\x7e\x9d\xf1\x70\xc6\xfe\xee\xf2\x33\xef\x35\x62\xe0\x80\x1d\x1d\xe1\xfe\x76\x17\x65\x36\xe7\xe5\xba\x47\xed\x83\xe6\x87\x50\x2a\x11\x41\x77\xf9\xf2\x26\xcb\xb3\xe6\x86\x0f\x4c\x43\x0a\x67\x41\x73\x53\x73\xbb\xdf\x43\xd5\xb5\x53\xf9\x67\x91\xf6\x4a\x96\xe9\x00\xb2\x68\x0f\x20\x29\xd2\xc0\xf4\xbd\x03\x75\xc3\x74\xde\xfd\xf5\xf2\x52\x5d\x5e\xbe\xbb\xbc\x7c\xdf\xed\xfd\xe3\xe3\x77\xdf\xef\x5d\x76\x2e\x2f\xff\xfa\xd9\xbf\xff\xcb\xff\xfa\xd7\xcf\xff\xd2\x7f\x34\xfa\xff\xde\xd7\x84\xe1\x33\x31\x5d\xe6\xbc\x64\xe2\x06\x1c\x00\x49\x33\x3f\xe3\x39\x95\x61\x24\x21\x00\xd3\xde\x99\x1d\x85\x6c\x5d\x3d\x5b\x67\x8e\x14\xd4\x2d\xd8\x29\xe7\xa0\xff\xd7\x64\xcf\xe0\x81\x15\x1c\x43\x75\xb4\x64\xa5\x00\xf3\x14\xc9\x20\x49\xa0\xa4\x1a\x86\xfa\x2e\x2a\x2d\xb6\xf7\xbf\x29\xe5\xc3\x70\x2f\xac\xa6\xc6\x15\x5b\x70\x3d\x53\x6c\x02\x9e\x57\x10\xcb\x03\x13\xb5\xba\x11\x19\x28\x3f\x6a\x38\xbf\x9d\x86\xe7\xb6\x48\xff\xdf\xc3\xdf\x87\x76\x22\x7d\x51\xa4\x7f\x0e\xd6\x5b\xd1\x84\x87\xf5\x13\xe3\xe9\xfd\x5f\x76\xc4\x0d\x15\xb0\xa5\x00\xc3\x40\x95\x49\xfa\x1b\x9c\xdd\x1f\x4d\x88\xfe\xd3\x6b\xaa\x96\x23\x6e\x16\xd6\xa3\xc3\xdb\x6b\xd4\xb2\x84\x07\x9d\x0d\x24\x76\x29\xee\x20\xc9\xa4\x43\xf1\x82\x4f\xff\xc8\x87\x1b\x85\xdb\xee\x43\x6d\xe2\xdb\x3d\xde\xdc\x2d\x54\x03\xb1\xd3\x03\x2e\xea\xe6\x39\x69\xed\x31\x87\x83\x45\xad\xab\x0f\xb9\x05\x57\x6a\xc0\x73\x3d\xc0\x77\xcd\xdd\x1f\x73\x15\x05\x74\x28\xcd\x79\x9d\xa5\x19\x0d\x7c\xe8\x0f\x87\xc3\x6f\x5d\xf4\x2a\x25\xf0\x69\xbd\x6b\xc8\xe1\x7b\x8d\xba\xc3\x72\x59\x40\xd6\x21\xf4\x3b\xcd\x0a\xc6\x9d\xc0\xaa\xf9\xd8\x3b\xe2\xaf\xe5\x92\xa5\xe8\x29\x6d\xa1\x81\xdf\x0b\x5e\xf2\x97\x1d\xc5\xf6\xd4\x2a\x83\x52\xb8\xd2\xf4\xdc\xf3\xd9\x85\x78\x92\x88\x5c\x94\x5c\x43\x0c\x27\xba\xc2\x16\x52\xbb\xa1\xbd\xc5\x9c\x71\xd3\x95\x65\xa0\xa4\x1b\x0b\xad\xd1\xc8\x68\x77\x51\x89\x50\x0a\x47\x3d\x23\xcc\x8f\x12\x6b\x04\xee\x1e\x54\x66\x94\x5d\x67\x73\x23\x0d\x89\x39\x4f\x9a\x4f\x86\xa3\x3f\x87\x47\x9b\x02\x9a\xbc\xe2\x6d\x75\x2a\x8b\x57\x16\x88\xfa\xae\x4f\xa4\x35\x30\x8f\x54\x4a\x6b\xe4\x62\xe2\xa1\x17\xee\x2d\x6f\x88\x5b\x71\x1e\xe4\x24\x47\xf9\xb7\x2d\x68\x32\x40\xec\x81\xb4\x76\x11\xa1\x81\x05\xee\xcf\xa3\x34\x78\x59\xfe\x5f\x52\xfb\xfd\xa4\xe6\x11\x79\x0b\x5a\xf3\x9d\xfe\x6c\x62\x23\x6a\x83\x77\xea\x9f\x47\x6d\xcf\xcd\x70\xff\x97\xda\x7e\x3f\xb5\x79\x44\xde\x82\xda\x7c\xa7\xff\x33\xac\x0d\x88\xed\xfa\x93\x6b\x42\x00\xec\x1b\x36\x15\x5a\x01\x95\xa1\x54\x04\xcb\xb0\xc3\x93\x13\xec\x40\xd8\xc0\xd4\xdb\xab\xc4\x3a\x4b\x3d\x19\x7c\xd3\xe9\xb3\x77\xee\x53\xa7\xe4\x2b\x1f\x00\x89\xd6\x28\x57\xea\xc2\x0e\x05\x4f\xeb\x94\x6b\xce\x9c\x27\xae\x0b\x23\x81\x39\xb6\x38\xab\x65\x29\xba\x4f\x61\x81\xe3\x4b\x1c\xf4\xb2\x03\x42\xcb\xa5\x19\x39\x70\x94\x46\x89\x65\x20\x0b\x10\xe5\x74\x29\xaf\x76\x17\x92\x7d\xa0\xec\x26\x0f\x1c\x45\x99\x35\xc2\x64\x1a\x60\x21\x2e\xd6\xcc\x8d\xd9\x30\x1f\xb9\xd4\x8b\xe5\xee\x2f\x9b\x60\x32\x9b\xc4\xca\xb6\xd9\xf8\x1c\x2a\x30\x6c\x65\x3e\x63\x5e\x0e\xc8\x0f\xf3\xd3\x60\xe7\x62\x06\xbe\x0e\xe0\x64\x16\xc8\xb0\xf3\x50\xa5\x49\xa8\x58\xcd\x84\xc8\x07\x73\xbe\x06\xa5\xe0\x80\x97\xa5\x5c\x0d\x6e\xa5\xde\xdc\x8c\x1a\x60\x53\x68\xd7\xa4\x38\x40\x51\x92\x82\x45\x25\xa5\x10\x05\x65\x14\x41\xaf\xc4\x27\xa7\x27\x27\x3f\x3f\x67\xdd\xe3\x05\x96\x9d\x33\x0f\x86\x13\x34\x94\x5a\x0a\xc4\x7a\x65\x56\x77\x21\xfa\xa4\xce\x81\x75\x58\xfc\x43\xa8\x1e\x29\x1e\xc4\x7c\x99\x43\x88\x96\x59\x19\xea\x42\x1b\x19\x98\xcd\xcb\xc1\xb4\x98\x2f\x64\xc9\xcb\x2c\x87\xd0\x7b\x3e\x26\xe6\x35\x93\xb9\x7f\xb4\x80\x70\x7e\x25\xd6\xed\xf7\x43\xf0\xdc\xc6\x5c\x95\xcb\x05\x5e\x15\x88\x0c\x23\xd8\x97\x8a\x75\x73\xa1\x54\xcf\xf0\xd6\x92\x34\xa4\x73\x8e\x6f\x84\x20\x76\x8b\x4c\x5e\x22\xcd\x34\x78\x41\x5c\x67\xfb\x05\x2f\x24\x74\x43\x68\x88\xca\x7d\x3d\x5f\xde\xb4\x6c\xb0\xbc\x16\x83\xf9\x32\xd7\xd9\x22\xcf\x6e\x71\xa5\x06\x9b\x7b\x58\xb3\x58\x7a\x78\xce\x56\x0a\xf6\x4a\x96\x8a\x5c\x73\x73\x6f\xe0\xae\xd0\x76\x40\x0a\x3d\x77\x0f\xb8\xa7\x0f\x6e\x19\xb4\x1c\x1a\x19\x17\xdc\x91\xe4\x8a\x4d\x6c\x55\x4f\x78\x03\x55\xdf\x3e\x40\xad\x7f\x02\xd7\xac\x31\x4b\x7b\x23\x45\x6c\xdc\x9e\xef\xdf\x35\xa3\x4c\xc9\xc1\x83\x83\x07\x0f\x6c\xa8\xad\xff\xdb\xcf\x16\x3f\x0c\x72\x99\x5c\x89\xd4\x4e\x36\xb4\x1e\x3b\x4e\xe3\x66\xde\x7d\xf2\xf2\xe4\xbc\x59\x1b\xf9\xf4\xfc\x25\x8c\x40\xee\x57\x81\x47\x18\xa6\x23\x2c\x79\xa1\x72\x0a\x3b\xec\x42\x2a\xd6\x69\xc9\x17\xb3\x2c\x81\x74\x85\x2a\x04\xfa\xfa\xe2\x87\xc1\x37\xf6\xbc\x28\xa6\x96\x8b\x85\x2c\x6d\x14\xad\x54\x6d\xbe\xdc\x82\xe1\x52\xd0\x93\xa0\xb0\xc1\xe3\x11\xea\x29\x1d\xa9\xf7\x03\x66\x1c\xa4\x1e\x9d\xcd\x3d\x19\x81\x46\xd6\xad\x1d\xad\x0c\x3e\xf4\xb5\xcd\x49\xd9\x86\xf9\xe8\x2c\xb9\x42\x7d\x18\xae\x63\x59\x80\xdf\x97\x91\xd6\xd0\xbd\xc6\x08\x16\x57\x46\xce\x13\x45\x2a\xc0\xfc\x07\xad\x9d\x0c\x27\xa6\x3c\x59\x33\xee\xd9\x56\x40\xa9\x60\x40\xc3\x02\xf1\x77\xf6\x5f\x6c\x72\xd5\x31\x2c\xe8\x3e\x7b\x0a\x80\x9b\xdc\x18\x75\xdd\x87\x31\x70\x24\x2e\x07\x89\xba\x9b\x3f\x3f\x04\x99\xd5\x02\x7b\x21\x50\x13\xb2\x1d\xa9\x99\xc0\x18\x53\x6b\xe2\xad\xba\x11\xa5\x32\x59\xce\x45\xa0\xec\xb1\xd3\x19\x18\x3e\x77\xf7\x39\x01\x3f\xca\xb3\x42\x0c\x62\xa7\x06\xa8\xd1\xce\x4e\xce\xcf\x91\x8f\x82\xd3\xb8\x5e\xbb\x54\x76\x2e\x31\x95\x99\xce\xa6\x24\x3b\x2e\xdf\x3b\x3b\x32\x80\x6d\xe6\x1f\x8c\x01\xee\x36\xe7\x2d\x72\x7d\x7a\x1b\x72\xc6\xf8\x5a\xf4\xed\xd9\x87\xb6\xe7\xbc\x5a\x8e\xd5\x72\xfc\xcf\x9e\xe7\x8a\x52\xe2\xbc\x36\x1b\xa9\xd7\xa4\x82\xb4\xe5\xb7\x79\x9a\xb2\xc5\x72\x9c\x67\x6a\xb6\xaf\x96\x63\x95\x94\xd9\x58\xec\x2f\x0b\xf7\xd9\x25\x95\xe2\xd0\x1b\x33\xfb\xf3\x82\x89\x1b\xc8\x8f\x30\xb5\xfe\x49\x61\xd6\x9c\xe5\xf8\x7c\x39\x6e\x29\x5a\x29\xc7\x80\x8f\x52\x7d\xa0\xb4\x4a\x41\x52\xc6\x63\x3f\x99\x3e\x73\x33\x40\x39\x26\x9c\xd2\x5c\xe8\x99\x4c\xe1\xb9\xd5\x3c\x13\xcc\xc1\x4c\x9e\x2c\xbe\xcc\xb4\xb5\xc3\x50\x90\x0a\x24\x70\x96\xcb\x64\x26\x52\x7a\x4e\x8a\x12\xf6\xa2\x90\xac\x10\x80\x1f\x03\x68\x25\xcb\x72\x4d\x89\x68\x0d\xf2\xc8\x87\x07\xad\x3c\x71\x0d\xeb\xb0\x82\x82\xad\x8c\x2d\xc7\x7f\x03\x42\xb1\xf1\x7f\x88\x73\x20\x01\xeb\xf7\xcf\xb4\xac\xe3\x6f\xc8\xd3\xf4\xb1\x6d\x10\xd6\x40\x18\xff\xcd\x57\xed\x41\x0a\xa5\x3a\x5a\x61\x6f\xcc\x02\xe7\x2a\xd7\xce\x83\x6a\x9c\x08\xdd\x9f\x22\x4a\xa3\x25\xc7\x7f\x7b\x37\x7f\xef\x4f\x4b\xa5\xd9\xbb\xf9\x7b\xcc\x9d\x85\x43\xf6\x5c\xde\x38\xbb\x79\xe7\x6e\x7b\x30\xdc\x07\xa3\xbd\xcd\x1b\x72\x62\xbd\x1f\x15\x61\x91\x9b\xcd\x0d\xf7\xaa\x5a\x22\x8d\x7e\x06\xbc\xd9\xcf\xe6\xb9\x1d\x0c\x31\x0c\xfb\x39\xe4\x20\xd2\x7b\x1f\x59\xc2\x29\xbb\x1e\xf8\x3c\xd1\xcf\xc8\x41\xaf\xe5\x95\x20\x23\x68\x18\x8f\x5e\xdf\x80\xa0\x18\x85\x1b\x38\xd8\x08\x9a\x58\xdf\x8d\x15\xd4\xa4\xb0\x3f\xe2\x09\x8d\xc8\x3e\xac\x16\xe1\xbf\x7d\x47\x1d\xcc\x06\xbc\x7b\xef\x6b\x46\x34\xb4\x18\x2e\x96\x6a\xd6\x75\x83\x46\x27\xe8\x75\x78\x70\x31\xdc\xff\x6e\xa8\x5e\x56\x00\xed\x8a\xee\x63\xff\x71\x51\x8a\xeb\x4c\x2e\x55\xbe\x66\xa5\x98\x66\x4a\x43\xf6\xad\xeb\x8c\xdb\x42\xf3\x6e\x84\x6e\x6f\x23\xf6\xc3\xb9\x6c\xc7\xbf\x21\x77\xc8\xa4\x77\xd4\x8a\x41\x5b\xc6\xe3\x33\xd3\x2e\xac\x1f\xd3\x79\x5a\x60\x69\x13\x6a\x89\x15\x63\xe8\x0f\x57\x19\x24\x63\x47\x30\x82\xab\xc2\x11\xec\x05\x02\xce\xd8\x77\xec\x20\x02\xfc\x42\x6a\xbf\xde\xb4\x0e\x17\xe0\x29\x23\xeb\x88\x6e\x56\xab\xca\xf2\x0a\x99\x62\xe0\x47\xdc\x72\x90\xdc\x21\x34\x8f\x1a\x6b\x29\x42\xe3\x34\xcf\xd9\x04\x64\x05\x8f\x2e\xc3\x00\xf1\x3c\xa4\x8c\xab\x75\x91\xcc\x4a\x59\xc0\x8e\x0d\x5d\xc6\x42\xe4\xb5\xf8\xf0\xa3\x94\x92\xe4\xf0\xc3\x8b\xb5\x2c\x04\xbd\x1b\x97\x60\xf2\xb2\x67\xfe\x96\xc4\xb6\xb0\xcb\x33\x8b\x1a\x36\x31\x51\xc1\x8e\x0b\xc6\xcb\x71\xa6\x4b\x5e\xae\x1d\x03\x57\x4a\x26\x19\xc7\x72\x8e\x60\x79\x05\xe6\x1d\xa4\x0a\xd9\x4c\xb5\x72\xa1\x3f\xe4\x5c\xe9\x13\x47\xbd\x45\x80\xac\x80\x69\x24\x50\x44\x60\xa2\x45\x69\x69\xd7\x7c\xa1\x02\x64\x43\xb4\xc7\x58\xa0\x02\xd1\xe1\xa0\x95\xa4\xed\x8a\x9b\xc8\x59\xf4\x6b\x13\x43\xca\x76\x33\x82\x21\xd6\xcf\x32\xa5\xbb\x99\x65\xdf\x46\x94\x81\x17\x56\xa6\x98\x11\xe3\x0d\x79\xd0\x46\xc1\x16\xbb\x12\x55\x04\xb2\x4f\xc5\x17\x30\xe7\x3a\x06\xab\x48\x0b\x29\x91\x45\x22\xca\x82\xc9\x65\xa9\x44\x7e\x2d\x28\x05\x88\xb8\x49\xc4\xc2\x72\x4b\xe6\x49\x1d\x88\xd7\x17\x2f\xb5\x65\x14\x95\xd0\x17\x38\x93\xae\x9f\x31\xb8\xc2\x64\xec\xbe\xaf\x62\x68\x7a\xbf\xcb\xde\x77\x83\x6a\xca\xb7\x38\xc3\x70\x84\x3d\x0e\x20\xbd\x1d\xf8\x0f\xc0\x58\x59\x81\x85\x26\x32\x4d\x2f\x1d\x45\x65\x24\x57\xa2\x53\xd2\x1d\xb5\xc6\xaa\x12\x34\x13\xe0\xbf\x46\x7e\x4c\xb8\x46\xe0\x51\xd1\xdf\xe6\x9d\xa9\x4f\x85\x4e\x34\xb0\xea\x5a\x1f\xaa\xa3\x13\x57\x53\xb7\x83\x57\x5b\xbf\xaf\xd4\x2c\x74\x23\xdd\xdb\x8c\xe3\x03\x64\x21\x5b\x44\x5c\x54\x73\xfc\xb3\x8b\xb8\x6d\xa9\x5c\x57\xb6\xbe\x20\xe5\x2c\xc5\xd3\x78\x26\x57\x27\x50\x01\x9a\xfe\x3e\xcf\x7e\x15\xfe\xaf\x0b\x71\xa3\x8f\x9d\xdb\x73\x98\x05\xf6\xdf\xcd\xe0\x66\x0d\xd7\x99\x58\x21\x77\x44\x61\xda\xd5\x81\x53\xbe\x06\x6e\x68\xf0\x36\x6c\x01\xdc\x54\x0d\x62\xc4\x8d\xe3\xd6\x4f\x35\x9b\xf3\xac\xd0\x3c\xa3\x07\xba\xad\x17\x46\x91\x0c\xae\x76\xa4\xe1\xe4\x33\xae\xd8\x98\xab\x2c\x71\xe2\xaf\xf5\xdc\x86\x0a\x2d\xf8\x66\x85\x54\xe3\xd7\xa2\x84\xd0\x0d\x0a\x4b\x4e\x53\x2a\x3f\x5e\x8a\xb9\xbc\x36\x9f\x4b\xb9\x52\x5e\x33\x4d\x24\x10\xa6\xa9\xc5\x65\x99\x11\x0b\x09\xe9\x68\x73\x91\x4e\x5d\xbe\x93\xa6\xdc\xc5\xae\xb0\xaf\x0f\x15\x86\x51\x64\x11\x8c\x61\x88\x20\x15\x88\x19\x30\x2e\xe4\x6b\xab\xbb\x8a\xbb\x61\x55\x4c\x8a\x68\x36\x1c\x0b\xca\xc1\x98\x15\x2a\x1f\x07\x4e\xf3\x06\xf3\x05\xb7\xad\x56\xbc\xc0\x64\x30\xa2\x50\x4b\x73\x49\x19\x50\xf0\x1a\xe4\x85\xde\x38\xb9\x3e\xcb\x74\x47\x91\x7b\x68\x29\xd4\x42\x16\x2a\x1b\x67\xf4\xea\x41\xe4\x11\xbc\x12\x8a\x72\x94\x18\xbb\x6e\xfe\xc0\xb9\xf9\x7b\xef\xc2\x2f\x19\xc2\xfe\x90\x11\xc9\x42\x97\x1c\xb8\x92\x62\xa2\x98\xc8\x32\x11\x54\xba\x27\xb7\x95\x63\xa8\x64\xcf\xa2\xe4\x89\xce\x12\x31\x1c\xc2\x0d\x36\x00\x80\x96\x3c\x89\xae\x68\x8f\x64\x6e\x1e\x42\x2b\x49\x3f\x9f\x13\xa2\x61\xc1\x09\x38\x4b\xbc\x2c\x84\x55\x26\x1a\x60\xe4\x24\x67\xe7\x07\x14\xe3\x5b\x38\x75\x72\x95\x2e\xec\x1c\xe6\xb9\x1d\x03\x27\x00\x9b\x98\xf0\x12\x72\x03\x72\x8d\x88\x35\x82\xc5\x4f\x17\xcf\x9f\x9d\x62\xfe\x07\x70\xd9\x28\xec\x04\x72\x5e\x4e\x21\xc0\xa0\x00\xdd\x81\x9c\xe0\xd4\xfb\x6c\x26\x57\xe2\x5a\x94\x98\x27\x02\xe0\xcc\xf8\x62\x21\x0a\x7a\x50\xf8\xac\x25\x86\x7f\x14\x06\x94\x5b\xb3\xcc\xf3\x57\x92\xe8\x9f\xee\x32\xf2\x71\x67\x9c\x4d\xc4\x8a\x95\xcb\x5c\x50\xa6\x3f\xac\x04\x3b\x64\xec\x94\x27\x33\xbb\x9d\xb6\xb6\x61\x29\xa1\x3a\x34\x51\x65\x82\x7a\x0e\xb3\x14\xa6\xf9\x94\x75\x6e\x06\xa5\x5c\x75\xf0\x60\xc1\xee\x43\x3f\x18\xd1\x52\x06\x16\x94\x73\x19\x0d\x90\xa9\xc9\x12\x29\x2a\x75\x36\x42\x4c\x6a\x40\x27\x0a\x69\x88\x9c\xa4\x0b\x7b\xa6\x5b\x8f\x1b\xa3\x6a\x4a\x59\x41\x3a\x3e\xc4\xb8\xa3\xa9\xf1\xba\x42\x2c\x50\x35\xca\x55\x95\xc2\x04\x34\x18\x61\x86\xba\x00\x2b\x1c\x54\x68\x28\x9c\x10\x78\x83\x35\x22\x1d\x05\x1d\x57\x1c\xcd\xa6\x6f\x33\x2f\x52\x15\x53\x63\xc3\xf1\xa0\x12\xdf\xf9\xda\x72\x1b\xa4\x1f\xc3\xb7\xd8\x9c\xdf\x64\xf3\xe5\xdc\x06\xd0\x42\x65\x43\x33\x8d\x83\xaa\x78\x49\x25\xeb\x51\xa0\xc3\xd6\x27\xd0\x18\x54\xea\x04\xc5\x9f\x7d\x6c\x61\xcb\x3c\x65\x8a\x64\x3a\xc7\x4f\xce\x85\xa0\x13\x6d\x8b\xe8\xc7\x7c\xd5\x7d\x6b\x00\x64\x05\x06\x18\x00\x9b\x36\xf2\x2b\x41\x83\x6c\x86\x48\xbf\x8a\xa2\xfc\xa4\x64\x73\x48\x12\xe1\xdd\xc9\x20\x2d\x44\x9a\x82\xae\x41\x1a\xda\x94\xab\x38\xa9\x15\x41\x3b\x30\xd7\x7e\x21\xb5\xa1\xab\xeb\x2c\x8d\xa5\x4b\xda\xaf\x4a\x9d\xc4\x00\x0f\xbd\x4a\x8d\x0a\x23\x7c\x26\x7d\xb0\x8f\x0c\xe0\xfc\xf2\x04\xca\xa0\x5b\x1f\x40\xb3\x05\xf4\x70\xf5\x5c\x80\xb2\xd3\x83\x3c\x66\x5a\x1c\x43\x66\x10\xf7\x5a\xdd\xdf\xb7\xd8\x8e\x02\x9e\x1d\x92\x03\x40\x58\x4e\xd0\x4f\xef\x03\x3b\xaa\xed\xdc\x6f\xbf\xb1\x6f\x0e\x42\xc0\xee\x6a\x94\xb9\x2c\xfb\x10\x7c\x0a\x49\x49\x45\x99\x67\x05\x95\x3e\x8b\xc3\x3e\x95\x1b\x4b\x47\x57\x7a\xa4\x2d\x89\x6f\xfb\x2e\xda\xb3\x87\x56\x9d\xda\xb3\x33\x38\xa1\xd1\x21\xe9\x01\x9a\xc6\xe9\x8e\x4e\xa4\x2c\x53\xc8\xaf\xe7\xc7\xc3\x9f\x5e\xd9\xdb\x3b\x1c\x0f\x65\x8f\x2e\xc9\x67\x7e\x79\x85\x4c\xf1\xa8\x71\x2c\x22\x67\xb9\x82\xbf\x05\x71\xb8\x4c\x39\xa9\x00\x6e\xd0\xca\x98\x67\x72\xf5\x42\xa6\xc2\x60\xb4\x58\xe6\xf9\xb6\x11\xd4\x82\x17\x56\x28\xb9\xed\x50\x6d\xe3\xc8\xc9\x44\x09\x8d\x17\x5e\x40\x07\x70\x6d\x87\x3d\x7d\x62\xce\xa6\xf1\x2a\x83\xbd\x04\xa0\xd5\xe1\xce\xc4\x54\xdc\x50\xbd\x36\xf4\x8c\x04\x33\x82\x2c\x53\xef\x1d\xe9\x77\xc5\x7c\xff\xb8\x14\xfc\xea\x39\xd7\xc9\xec\x99\x98\x68\x07\xae\xb1\xc5\x19\x48\xc2\x1b\x9b\x3c\x47\x8f\x72\xdb\x26\x78\xb1\x9f\x51\x65\x2c\xcf\xe9\x20\xfe\x10\x43\x3a\xbd\xd8\x59\xd1\x59\xba\xf2\xa8\xbe\xc5\xc7\x7a\xeb\x86\xba\xc3\x44\x9e\xc8\xe3\xec\x1b\xd5\x8a\x39\x1c\x63\xfd\x80\xe7\xd5\x8e\x75\x85\x8b\x04\x6f\xd4\xa9\xd0\x30\x68\x4d\x8f\x4b\x93\xf4\x44\x6d\x9a\x75\x6b\xa7\xba\x5f\xe1\x15\xb6\x44\x7f\x1b\x9e\xe2\x45\xb8\xd9\xd7\x67\x1c\x61\xca\xf1\xfe\x06\xe1\xf3\x76\x8b\xfd\x49\xd0\x86\x37\x2f\xb7\x71\x31\xbb\xaf\xa5\x7d\x03\x76\x59\xce\xdd\xb6\xef\x2d\x9c\xbc\x8d\x0b\x0a\x37\x2c\x5a\x8c\x35\xd7\xb6\x5f\x9f\x0b\x51\x52\xa5\xc1\xe6\xcb\x38\xd9\xe1\x0a\x0e\x60\xb4\x2e\x44\x09\x7d\x12\xdc\x0c\x1b\x4a\x20\x57\xee\x14\x2a\x85\x7c\x2f\x2c\x9d\x1b\x71\x66\xea\xc0\xbe\xa7\xb6\x81\x66\xd6\x0c\x1a\xb5\x6d\xec\x5f\xca\x55\x9f\xd6\x39\xa8\xea\xec\xce\xf0\xc1\xe0\x73\x9e\xc1\xab\x21\x7e\x74\x85\x45\xf4\xb2\x3a\x17\x08\x44\x68\x24\x08\x0f\xe8\x16\x84\x00\xd6\xd2\x33\xb9\xda\x4c\x08\xb6\x95\xea\x1e\xf6\x5c\x4d\xeb\x78\x29\xf1\xb3\x51\xcb\x45\x20\xa1\x56\x16\x03\xd5\xf3\xc2\xfc\x4f\xdb\x89\xa4\x72\x76\xdd\x93\x2b\xae\x1b\x8d\x87\xef\xbb\x00\x33\xdf\x23\x6a\x90\xe1\x8b\x14\x7a\xef\x84\x0f\xd5\x42\x4a\xcd\xe7\x9d\x74\xb3\x07\xb4\xdf\xf1\x5e\x93\xc5\x18\xe4\x37\x46\xb7\x68\x0d\x3f\x55\x1c\x44\xbb\x6b\x3a\x5e\xd8\x3b\x5f\x92\xf8\xb9\x71\x19\x94\x8c\xbb\xb2\xb1\xa5\x5c\x05\x07\xa2\x69\xfa\x07\x7d\x33\x48\xe3\xfc\xf1\xb6\xd8\x71\xfa\x8d\x3b\x01\x10\x2e\xac\x0c\x79\xdb\x85\xa8\xca\x4a\x54\xe3\x52\xa8\xfd\x90\x2f\x16\xf9\xba\x1b\xff\x08\x6b\x53\xad\x07\x31\xe7\x9f\xe6\x1c\x3a\x38\xb7\x38\x86\x0b\xb9\xd8\x7a\x08\xb1\xcd\xce\x47\xd0\x7a\xc3\xfd\x33\x9e\x42\x5a\xea\x5d\xce\x60\xe3\x4d\xcc\x06\xb8\x8a\x9d\xcf\x67\x13\xf2\x3e\xf1\x11\x5d\x2c\xd5\x6c\xc7\xf3\x09\x8a\xe2\x5d\xce\xe5\x2e\xd3\xfe\x64\x47\x93\x16\xd0\x72\x2e\x61\x8f\x4d\x93\x9d\x8f\x62\xd3\x3e\xf8\x7c\x00\xe6\xcb\x8d\xeb\x72\xf4\x8a\xca\x93\x0b\xa7\x46\x71\xab\xb1\xef\xa6\xe1\x27\xdc\x45\x6c\x52\xd9\x47\x18\x17\x39\xe9\x06\x76\x4b\xad\x76\x64\xb9\x7f\x08\x26\xd4\xf0\x0f\xa1\x0c\x87\x14\xd5\x8c\x15\x22\x11\xe7\x80\x90\xb1\x23\x76\xf0\x88\x65\xec\x3b\x9c\x14\x89\xcf\x2c\xbb\x7f\x3f\xaa\xe3\xd5\x8c\x42\x76\x9f\x65\x16\x8d\xea\x5d\xf6\xbe\xee\x7d\x40\xfc\x91\xdf\x82\xbb\x6f\x43\x65\xa0\x9b\x6b\x61\x83\xb5\x7b\x21\x64\x7f\x1b\xd1\x87\xd0\x9a\x68\x6a\x07\xfe\x47\x58\xfe\xb3\x2f\x89\x06\x52\xc3\xa8\xd7\xc8\xae\x30\xfc\xaf\x72\xc1\x38\x14\x37\x51\xe8\xae\x57\x4d\xd4\xbc\x72\x7e\xc1\x53\x80\x6b\xb1\xc9\x72\x13\x59\x55\x94\xd0\xaa\x51\x41\xa4\x25\x43\x8d\x10\x3e\xd5\x73\xc1\x4b\xc5\xe4\x52\x63\xc9\x11\x83\xc4\x92\x94\xb8\x29\xd7\xdc\xc2\x3c\xc6\x24\x58\x14\xbc\x4b\xa7\x5e\x96\x5e\x4f\x49\x69\x7d\xc0\xde\x19\xe8\x59\x9c\x55\x29\x53\xa0\x41\xce\xb3\x14\xdc\x9c\xc0\xc2\xcf\x33\x25\x30\xeb\x94\x4a\x96\xa5\xf0\x26\xdf\x2d\xdc\xc0\x22\xe3\xa4\xaa\xfa\x6a\xf2\x01\xab\xbc\xa2\xcc\x3e\x59\x8d\xd8\x66\x6d\xd6\x06\x05\xd4\x46\x75\x51\xb0\x6f\xbe\x1e\x67\x42\x05\x33\xed\xd1\x20\xf4\x6c\x3b\xba\xb0\x3d\x27\x76\x7e\x1b\x57\x68\xe7\x3f\xcc\x8a\x42\x94\x60\x45\x38\x62\x9d\x4e\xcb\x2a\x89\x62\x9d\x36\xb2\xdb\x01\xc7\x4b\xb3\x9d\x93\x5c\xae\x3a\x55\xec\xf8\x45\x1e\x3c\x6a\xc1\x2c\xbd\x6f\x37\xb4\xb0\xd0\xcd\x3a\x78\xae\x84\x73\x72\x31\xb4\xf3\x28\x7c\x3a\xc7\x4a\xd4\x61\xa6\x48\x4b\xdd\xed\xf9\x72\xa4\x37\xda\x2d\x30\xb2\x6e\xd3\x2f\x60\x9b\x05\xc5\xc4\x2c\xd3\x02\xd2\x86\xd5\xd5\x46\xde\xde\x8e\x15\xe7\xd1\xa1\x18\x9c\x14\x64\x01\x0a\xf7\x6b\x51\x2a\x97\xe7\x1a\x54\xeb\xb0\x27\x90\xb0\xd8\x30\x31\xc1\xfb\x2e\x86\x1b\xc1\x40\x3a\xb6\x8e\x82\x8a\x04\x94\xd9\x4a\x94\x5c\x09\xe7\x81\x37\xb4\xae\x3d\x04\xfc\xa8\x49\x71\x3c\xa4\x5f\x1f\x35\xeb\x95\x87\xbe\x33\xa1\xb2\xb9\x99\x5a\x17\xc9\x09\x4c\xbe\xdb\x73\xe8\x06\xed\x6c\xf3\xa8\xe8\x0c\x7b\x82\x9a\x5b\x51\x76\xcd\xcf\x6d\x27\x65\x08\x06\x87\xf4\x64\x96\xe5\x69\xd7\xc0\xac\x36\x74\x87\x46\xa6\xc2\x7b\x99\xb5\x2e\x64\xcb\x8a\xe3\xa5\x04\xa7\xec\x39\x2f\xaf\x22\xbe\x08\x02\x1f\xb8\xc9\x80\x31\x9a\xa8\x4e\xb8\x5c\x4f\x85\xa1\x10\x43\xef\xa1\x8d\x08\x34\xfb\x8e\x42\x21\xee\x90\x32\x55\xa7\xb4\xef\x98\xe1\x07\x53\x55\x97\x90\x08\xd0\xeb\xfe\x0c\x64\x32\xb6\xa3\xa5\xfd\x4a\x28\x96\x69\xc3\xff\x30\x41\x3b\xdc\x3d\x89\x9c\x8f\xcd\x30\x7a\x05\x39\xb3\x20\x57\x96\x1b\xd2\x19\xf1\x1d\x48\xf0\x7e\xb5\x36\xfe\x78\xbe\x18\xc1\xe8\xca\x86\xb9\x0b\xd8\xa6\x25\x14\x66\x9a\x64\x54\x8b\x17\x35\x64\x14\x92\x03\x56\x3f\xfb\x13\xa4\xda\xe6\xda\x1a\x56\x17\x65\x86\x0a\xdf\x58\x4b\xef\xb8\x39\x85\xdc\xcf\xe7\x99\x46\x5b\x64\x84\xbd\xbe\x75\xc0\xc7\xcc\xec\x8b\x52\x24\x22\xb5\xae\x18\xa5\xb0\x50\x60\x73\x42\x76\x08\x96\x78\xc9\x38\x64\x8c\xa9\xcc\x7a\x23\x97\x84\x89\x3c\xcb\x0a\xf1\x32\xe0\x30\xdb\x39\xa5\x12\xba\x95\x01\xa2\xcf\x7e\xf5\x71\x9f\xcb\x24\xb8\x84\x15\x78\xd3\x32\x8e\xb9\xa8\x80\xea\x9c\xf6\xbb\x55\xb2\xb1\x6f\x02\x48\x9c\x86\xd6\x9d\xea\x1b\x22\x90\x64\x80\xa5\x56\x9a\xfb\x01\x36\xaa\x31\x5b\x2f\x47\x52\x24\x1a\x20\x81\x17\x69\xb3\xfe\x9c\x78\x6a\x22\x0b\x25\x73\x31\x5c\xf1\xb2\xe8\x76\x8e\x7d\x46\x4c\xa8\x42\x52\x21\x0e\x59\x30\x81\x25\x84\x70\x5a\x9d\xa8\x48\x74\xe4\xe1\x64\x90\xf1\xfd\x51\x8b\xee\xbe\x32\xb6\x28\x4b\x59\x76\x3b\xe6\x1e\x34\xe2\x8a\x9c\xb0\x31\xd4\x01\x43\xff\x46\x7c\xf3\xc0\x30\xb0\xfd\x6d\xef\xf6\xc3\xe0\xbe\xb0\x33\xf8\xce\x48\x43\xbf\x67\xb0\x83\x68\x51\x5e\xd1\x5b\xbf\x6f\x9a\x87\x41\x95\x73\xd3\x48\xb4\x4d\x8f\xa8\x17\xdd\xb0\x75\x05\x74\x7d\x61\xd4\xb8\x7d\x6d\xb7\x1d\xd4\x2f\xf2\x56\x77\x7b\x89\xa7\xad\xb6\x25\xef\x4a\xb9\x7a\xff\x28\xbe\x91\xa8\xed\x10\x54\xcf\x70\xaf\x38\x8d\xfa\x67\x70\xc1\xd0\x4a\x2a\xcd\xe5\xaa\x10\xe5\x13\x1b\x95\x82\x57\xd8\x85\xb8\xd1\xe6\xc7\x6e\xa7\xe3\xb7\x0a\x5a\x37\xde\x5a\xce\x13\x90\xee\x90\x93\x60\xd5\x9e\x56\x71\x21\x47\x4d\xcc\x24\xf4\xcd\xab\x12\x40\xa3\x9c\x34\x68\x10\xaf\xbc\x43\x5f\x78\x45\x07\x97\xe9\x23\xfa\xb9\x3a\xcb\x5b\x8e\x13\x78\xf9\x45\x92\x53\xa3\x34\x4c\xeb\xde\xb8\xfb\x20\x55\x87\x7c\x05\xb0\x86\xaf\x81\x6e\xb8\x73\x06\xc5\x64\xb4\x3d\x62\x6e\x86\xd1\x72\x1e\xb9\x86\x2b\x32\x29\x35\x59\xcf\x87\x06\x2a\xd8\x9c\xfc\x26\x06\x94\x32\x34\x77\xfc\x79\x36\x86\x28\xa1\xdf\x7e\x23\x50\xdf\xd3\xd8\x1e\xcf\xad\xd2\x4a\xed\x67\x2f\x01\x23\x0c\xdb\xc4\x73\x35\xc2\x4f\x75\x77\xee\x1f\xe1\xe8\x8f\x42\xd2\xad\xce\xb1\x1e\xe1\x40\x26\x31\xeb\x83\x11\xa4\xe0\xf1\xc1\x1d\x50\xe8\x24\xe1\xa5\xd0\x61\x45\x05\x1d\x0a\x43\xe0\x92\x56\x7f\x27\xb6\xdf\x1c\xeb\x22\x39\xb7\xb0\x4e\x00\x74\xe8\x37\x6c\x7f\xa1\x4b\xb5\x5c\x13\x26\x7d\xe6\xa6\x44\xe6\x39\x5f\x28\xd1\xad\xa2\xb6\xdf\x44\xf0\xc8\xb4\x12\xc8\x80\xd4\x9d\x64\xa5\x98\xc8\x9b\xa7\x90\xc5\x31\x3d\xb5\xaf\xc1\xc0\xe3\xf6\x87\x1f\xc0\x67\x13\xfd\xdc\x21\x1c\x87\xda\x40\xe4\xdc\x4c\x90\x5c\x96\x99\x77\xd6\xa4\xcf\x4a\x4e\x29\x0d\x79\x81\x05\xf0\x0b\xa9\x2d\x28\xaa\xbf\xe9\xac\xda\x34\xed\x61\x6d\x23\x16\x79\xa6\xbd\x18\x06\xfb\x87\xf2\xde\x4a\xc2\x5f\x4e\xa5\x66\xa4\x80\x82\xa8\xc3\x5e\xff\x61\x4d\x2b\xf3\xf7\x8f\xd0\xc6\xb4\x7e\xf2\xf2\x39\x9b\x94\x7c\x0a\x89\x98\x3b\xdf\xa5\xd9\xf5\xf7\xdf\xa9\x05\x2f\xbe\xff\x49\xe4\xb9\x64\x6f\x65\x99\xa7\xdf\xed\xc3\x37\xdf\xed\x9b\x5f\x3b\x18\x7c\xc0\x94\x99\x10\x60\x14\x3c\xec\xb8\x52\x91\x87\x05\x56\x87\xb1\x87\x4c\x4e\xd8\x57\xb6\xee\xca\x0a\x82\x25\x21\x37\x2b\x7a\x9c\xb9\xe1\x51\xd4\x1c\x1b\xf9\x54\x8c\x1a\x26\x63\xe7\x01\xff\x6d\x98\x19\xfa\x45\xda\x29\x80\xdf\x16\xc7\x1a\x35\xde\x41\x06\x13\x54\xe0\x1c\xbc\x03\x3b\xd4\x8b\x08\x04\xf3\x15\x2d\x42\x41\x75\xd5\x50\x3e\xd7\x72\x30\x16\x03\x58\x3c\x6e\x42\xe0\x0d\x67\x5d\x4d\x44\xe9\x53\x75\x58\x78\xe8\x8a\x82\x8e\xbe\x06\x5f\x39\x4f\x44\x8a\x4f\x00\x2d\x1b\x54\x74\xe6\xe5\x6c\xb0\xfb\x11\x7b\x3a\x6f\x16\xa8\x7f\x93\x67\xba\x59\x52\x23\x74\x47\x3e\x29\x76\x51\xa6\xb7\x77\x40\xc1\x15\xe0\x43\xd3\x39\x4f\x24\xc9\xb2\xdc\x7c\x2c\xdd\xa6\x87\xc7\xd1\x80\xee\x47\x3c\xcd\xb0\x4d\x88\x1d\x78\x11\xf0\x99\x24\x97\x85\x80\xcb\x10\xae\xe6\x5e\xf4\xee\x3e\x41\xcd\x84\x6d\x1b\x7c\x65\xce\x66\xf5\xbb\x4d\xdc\xf8\x7c\x39\x56\xba\xa4\x49\x1d\xb8\x79\x19\x30\x6e\x4a\x15\x58\xe8\x37\x0d\x21\x4f\x1a\x1f\x9b\xf4\x5b\xd0\x9b\xae\xdf\x46\x10\x3d\xc7\x53\x87\x0b\x6e\xd8\x1d\x34\x40\xf5\xd4\x63\x08\x48\xf0\xfd\xfa\x35\xa6\xeb\x42\x68\x3e\xab\x2e\xb3\x19\x2e\xea\x4c\x22\xc9\x21\x60\x14\xa7\xe8\x04\x8c\xc4\x67\xc8\x0b\x7c\x9b\xb3\xc5\x42\xa4\xae\x32\x9e\xf7\x3e\x4a\x72\x3e\x5f\x78\xca\x0f\xdd\x0e\x37\x12\xc2\x9c\xaf\xc7\xe2\x24\xcf\x16\xe4\x25\xd6\xa8\x16\xba\xc5\xe5\xd9\x24\xca\x38\x9c\x23\x8c\xef\x36\x08\xb2\x81\xbb\x9a\x61\xc9\x50\xb6\xbb\x90\x1a\x43\x1a\x61\xf5\x10\x1c\x3f\x5e\x6a\x2c\x2b\x8b\x5f\xf3\xf9\xc2\xc5\x41\x6c\x77\x97\x68\x1d\xfc\xf6\xee\x13\x8d\x82\x73\xaf\xe1\xb6\x6f\x92\x6b\xcd\x83\x30\xba\xe7\x2b\x0f\x9a\xfd\x7d\x76\x6e\xd8\x91\x9c\x4c\x62\x35\x2d\xae\x04\x43\x60\x0c\x27\x82\x3d\x64\xa5\x50\x1a\xcb\x43\xb0\x9c\x6b\xe1\xd4\x42\xbb\xcb\x76\xd6\x35\xed\xb9\x35\x39\xfb\x37\x29\x7a\x82\x80\xeb\xb6\x7d\x2d\x7e\x32\x64\x59\x7f\x38\x34\x82\xd8\x52\x1d\xa8\x37\xe0\x25\x79\xd8\x5a\xbc\x81\x4b\xdc\xed\x69\xb1\x42\x88\x0d\x72\xd8\x77\x04\xd5\xcc\xa9\x2e\xbf\xe2\x03\xff\x76\x8c\xcb\x05\x6f\xd4\x25\x97\x83\x26\xe1\x85\xe2\x8a\xfc\xee\x5b\x94\xe4\xb9\x15\x0c\xa0\xb8\x95\xdf\x99\x61\xf3\x9b\x28\x3e\x7e\x8f\x1a\xb4\x74\xe1\xa2\x22\xa9\xb1\x59\xca\xb6\x4f\x9d\x06\x86\xb5\xe1\x71\x51\x97\x47\xed\x83\x36\xa2\xc8\xef\x36\x72\x83\xa7\x91\x7e\x7b\xc5\x31\x9a\x2b\x8b\xbc\x13\x7d\x12\x6f\xb0\xe9\x08\xe0\x8d\x45\x70\x20\x94\x13\xd2\xbc\xc8\x7a\x17\x67\xa9\x70\xde\xbd\x9a\xa2\x78\x7f\x3f\xa8\x25\x9b\x0b\x73\x74\x8d\xa4\x47\x2e\x29\xd6\xf3\x82\x4e\x6f\xb3\x2e\xad\x4a\x76\x9b\xd8\xc6\xc7\x46\xe3\x34\x65\xa3\x8f\x85\xf6\x20\x91\x87\xd3\xaa\x78\xc7\xf9\x40\xb2\x87\x93\x17\x39\x21\x03\xf4\xff\x90\x4b\x14\x8f\x40\x60\x6c\xb8\x32\xba\x3d\xa2\xcd\xac\x60\xb2\x4c\x6d\x79\xb6\x6c\x11\x68\x4b\x3d\xfc\x82\x78\x76\x4c\xc9\x36\xaa\x28\x53\x58\x6c\x70\xb9\x70\x97\x19\x86\xc7\x68\x49\x91\x09\xf9\xda\x85\x1e\x51\xb8\x5c\x4d\xd5\x6a\x60\xe1\x0a\xa3\x7b\xaf\x41\xb5\x17\xc7\xef\xb6\xd8\x8a\xd1\x6b\x3e\x7a\xb9\xe8\xd2\xdf\x8d\x9e\xe8\x5b\xde\xd8\x71\xa3\x0b\xb4\x28\xf8\x2f\x62\x29\xe9\xce\x16\x16\x67\x76\x30\x57\x23\xc4\xc2\x00\x7a\x90\xaf\xb9\xb2\x8d\xb0\x92\xf1\x9a\x2d\x4a\x48\xf1\x0c\xf9\x82\xe4\x5c\x30\x28\x7e\x5e\x4c\x11\xc8\xca\x19\x39\x94\x0d\xb6\xa4\xac\x02\xa0\x76\x2e\xd3\x10\x18\x0e\xc0\x67\x82\x43\xc0\xbc\xce\xe6\xc2\x72\x26\xa5\x4b\xeb\xc8\x69\x65\x33\xfa\x06\x30\x68\xe7\xfc\x02\x2c\x1e\x66\xc2\xab\x19\xd7\x7d\x7b\xa2\xc1\x3d\xc9\x45\x8e\x42\x25\xdb\x90\x1b\x38\x1f\x6d\x48\x28\x7d\x2d\x10\x96\xc1\x12\xe5\x28\x98\x2f\x93\x59\x8b\x63\xbb\x95\x07\xee\x1f\xb9\x39\xda\xc9\x3c\x93\x09\x44\x1a\x27\x33\x51\x31\xaf\xb9\xb7\x58\xac\x77\x68\x52\x88\x58\x0e\x8e\xc6\x08\x2b\xc3\xe3\xf4\xe9\xaf\xb9\xe0\x46\xc2\x0b\xf2\xac\x89\x22\x8d\xf7\x69\x88\x60\xa0\x9e\x5f\x36\x5f\xe4\x99\x55\xa8\xc7\xc2\x1f\xd7\xd5\xee\xf4\x1b\x48\x9c\xf6\x92\xc0\xb9\xbc\xb4\xb3\xde\x72\x79\x7a\xea\xec\xb1\x81\xd3\x51\x58\xdd\x55\x04\x2b\xd0\x09\xee\xef\xb3\x63\x56\x88\x29\xa6\xf4\x2a\xe3\xe5\xfb\x64\x3e\x8d\x5e\xfa\x0b\x9b\xe1\x49\x14\xa9\x05\x66\x97\xe3\xa3\x4e\x24\x79\xad\x81\xfd\x82\xb1\xb7\xa2\x63\xae\x47\xa2\xcd\xc0\x7d\xc4\x93\x73\x85\xa0\x87\x5e\x1f\xa4\x5a\xec\x7a\x83\x68\x7d\x36\xd6\x17\x62\x04\x32\x15\x80\x0a\x4a\x94\x26\xd2\xbc\xc9\xb5\xc8\xd7\x6c\x59\x40\x68\x68\x3a\x64\xec\xb5\x8d\xf1\xe8\x07\x85\xd6\x7d\xa0\x32\x44\x83\x40\x76\x5f\x5d\x66\x57\x42\xcf\x4a\xb9\x9c\xce\xe8\x51\x3b\xf6\xd5\x78\x65\x11\x0c\xda\xf7\x92\x5f\x47\xb3\xa5\x12\x0e\x57\x05\xd1\xab\x54\xf8\x70\x56\x98\xf1\x27\x4f\x29\xaf\x0d\xd8\x93\xac\x56\xab\xd1\x30\xea\x63\x52\x7e\xfb\x2d\x88\x3d\x6d\x34\x9f\x45\x53\xde\xda\x3c\xa8\x33\xbf\xb5\xed\x2a\x01\x56\x1a\xb5\xfb\xac\xa9\x21\x57\x49\x96\xd5\xdb\x36\x35\xd5\x59\x2e\x9e\x70\xcd\xd9\x67\x68\x57\xef\x79\xa1\x7f\x7f\x9f\x3d\x16\x70\xb9\x19\xbc\x25\xa2\xe0\x65\x26\xfb\x56\xb8\x06\x3d\xcf\xa2\x14\xda\x66\x73\x46\xae\xc8\x56\xe6\x01\x1e\x14\xc4\xf5\xc0\x64\x99\x4d\x31\x7a\xd6\x9d\x61\x50\x69\xe9\x92\x1d\x19\x9a\xbb\x6f\x3e\x46\x61\xd4\x24\x14\xd9\xdb\xc0\x1c\xc2\x0b\xc8\x2b\x74\xc4\xbe\x88\x97\x86\xb8\x08\x1b\x37\x21\xcb\xb6\x0b\x9a\xb5\xa0\x8a\xfe\x85\x57\x51\x96\x8b\x5d\xda\x01\x8d\x03\x96\x9f\x98\x0b\x01\x83\xc8\x76\xea\xe3\x49\x01\xcc\xaf\xf1\x4e\x9c\x63\x99\xec\xb1\xdd\x90\x7e\x1c\x92\x40\xd1\xd8\x9c\x4c\xa0\x8e\xb8\xab\xc7\x9b\xb5\xdc\xae\xec\x28\xc4\x34\x5c\xc4\xf7\xcd\xa6\x34\x87\xb5\x9b\xdb\x54\x96\x6e\x26\x2b\xe1\xe2\x33\x93\x30\x52\xd0\xea\x73\x36\xcc\x06\xd9\x0d\x49\x08\xc1\xd4\x36\x9a\x1a\xdc\xb4\xda\x1c\x33\x02\xb5\x04\x02\xef\x87\xb0\xab\x9a\x09\xd6\xac\x9f\x8e\x84\x17\x04\xb3\x83\xba\x9a\x1d\xb1\x98\x4b\x3e\xaa\xe1\x9d\xc4\x9c\x95\x8a\x1e\xb9\x28\xa1\x14\x72\x05\xb1\xd9\x98\x7d\xcb\xe9\x39\x30\xb3\x01\x5d\x67\x28\x2e\x3b\xc9\xb5\xf9\x66\x63\xb5\x7b\x2d\x36\x9e\x35\xf1\x02\x70\xae\x10\xca\x7b\x25\x04\x77\x5d\x70\x91\x5d\x90\xc6\x0f\x84\x56\xca\x06\x49\xea\x3e\x57\x57\x30\x2b\x9a\x27\x55\xbf\x24\x8f\x8e\xfc\x2d\xb9\x81\x3a\xab\xc4\xd9\xc8\x2b\xe4\xad\x40\x1a\xc6\x73\xbf\x02\xb8\x91\xdc\xdb\x20\x04\x67\x7a\xdb\x9b\xd7\x83\x08\x55\x76\x98\x16\x8f\x79\x3e\x78\xff\x56\x80\x02\xc5\x9f\x23\xa3\xa6\xe7\x73\x28\xca\xb1\x46\x7d\xca\x45\xbc\x57\x56\x20\x5b\x95\xd2\x48\xc1\x90\xd0\xc1\xc6\x92\xdb\x9d\x47\x5d\x74\x48\x98\x08\x6a\x2c\xa6\x19\x66\x5a\x96\x65\x8b\xe4\xd5\xc7\x77\x28\x44\xa6\xa7\x7f\xe3\x49\xc4\xc1\xcc\x13\x87\xdf\xa3\x57\xa9\xc1\x73\x06\x42\x67\x91\x82\x2b\xda\xd0\xe5\xec\xa8\x6f\xb5\x91\xb1\xc8\x9f\xda\xcf\xa1\x79\x70\x96\xcc\x44\x72\x45\x86\x1f\xcc\x68\xc4\x14\xb2\x04\x2f\x06\xd9\x5f\xac\x79\x2b\x62\x50\x95\x1f\xbd\x59\xac\xda\xeb\xf3\xcf\x63\x7d\xc7\xb6\x33\x57\xe9\x1f\xdc\x02\x95\x5f\x22\x5a\xc4\x3d\xde\xc0\xcd\x1a\xe7\xdb\xc2\xc9\xaa\x2f\x92\x0d\x03\xf7\x36\x98\xe7\x40\xb9\x22\x22\x0d\xcc\x16\x2f\x28\x7c\xfa\xec\xc4\xd7\x09\x70\xc8\xd8\xeb\x5d\x9d\xa9\x51\xac\x3c\xfb\x6e\x5c\xf2\xc6\x03\xb2\x99\x69\x79\xb2\xdb\x40\xed\x01\xc1\x81\x49\xa4\x46\x6c\xa1\x1d\xf5\xa8\xe5\xb6\xf2\x44\x16\xb6\xbe\x2d\x81\x85\xd7\x5f\x60\x08\xf7\xdf\x36\xb2\xc9\x96\xdf\x37\x50\x5c\x6d\xe2\x3b\x52\x9b\x27\x82\xff\x83\x54\x55\x97\x11\xb6\x91\x15\x39\x36\x52\xed\x17\xcc\x9c\xe5\x5e\x5f\x98\xe0\x93\x17\x6b\xfb\xfc\x0a\x1f\x4b\x33\x51\x9a\xc7\x0b\x14\xd6\xca\x74\xc7\x29\xe5\xa6\x92\x9c\xcb\xbc\x34\x55\x53\x84\x79\x34\x6e\x33\xde\xe3\x5c\x9b\x5d\x84\x6a\xf2\x9c\x61\xea\x4a\xce\x05\x9a\xd3\xa2\xfa\x38\x4d\xf2\x06\x3d\x37\x11\x92\x15\x05\xd1\x00\x97\xe9\x9a\x15\x17\x12\x00\xa1\x63\xf3\x12\xf6\xd2\x9b\x15\xcd\x50\x63\xa1\x57\x61\x52\x01\x6f\x92\x6b\xbb\xfc\xee\x4e\x12\x77\x61\x33\x35\xf9\x71\x33\x65\x6c\x61\x37\x81\xae\xf2\xa5\xf7\xf1\xa6\x67\x69\x4d\x5d\xd9\xec\x88\xfe\x3f\x58\x0d\x59\xc9\xdf\xd1\xaa\x89\x9c\xf3\x9b\x67\xe8\x9a\xd6\xec\xd5\xb5\xc9\xf8\x43\x8a\x01\x07\xa2\x17\x1c\x21\xf6\x4e\xe9\xf2\xbd\x33\xf4\xae\x36\xea\xf4\x6e\x21\x79\xd7\x4c\x34\x9e\xcd\x6f\xb2\xbe\x38\x0b\x6f\x83\xcb\xd3\x11\x90\x5d\x24\xc7\x67\x2a\x08\x2c\x70\xda\x15\xce\x0a\x39\x90\x8b\x3e\x3e\xf1\xe7\x15\xa3\x97\x8f\x32\x69\x65\x46\xb1\x27\xce\x66\x25\xe3\xaa\xf5\xd6\x85\x7e\xa9\xc8\x85\x16\x27\x33\x5e\xaa\xee\x73\xae\x67\xc3\x79\x56\x74\x29\xfd\x92\xdf\x10\x7f\x0c\xa3\x14\x2f\x88\xf5\xe0\x84\xfd\x20\xcb\x15\x2f\xd3\x01\x42\x45\xc5\x10\xb9\x07\x87\xf9\x5b\x76\x3a\x74\x17\xe4\xd9\xa0\x5d\x81\x35\x62\x8c\x08\x3c\x8d\x0a\x8c\x29\x4c\x85\x2f\x52\x28\x81\x07\xf9\x9b\xf2\x35\xe3\x93\x89\x48\x34\xa4\xaa\xa9\x2a\xf2\x04\x53\x7c\x2e\xac\x87\x75\xfd\x20\x6e\x08\xc6\x89\x32\x74\xc8\x49\x08\x5a\x4b\x9a\x9d\x75\x55\x71\x79\x72\x5a\xec\xe4\x08\x64\x9e\x15\xcb\x06\x05\xf3\xb0\x3d\xc9\x41\x75\x0e\x15\x5d\xa5\xcb\x2d\x49\xb8\xda\x78\xc4\x03\x12\x68\x09\x2c\xdd\x60\xc5\x7b\xb4\xa3\x4e\x3a\x34\x08\xc3\x8f\x3b\x99\x85\x19\xa1\xfd\x88\x39\xda\xa4\x78\xd5\x26\x1e\xd3\x00\xdf\x7b\x46\x04\xb9\x0a\x08\xa3\x07\xde\xb5\xf3\xda\x27\x3e\xb0\xe6\x03\x5e\x6a\x24\xfe\xbe\x11\x3b\x9f\x51\xe2\x8a\xd8\x4c\xc9\x3e\xff\x3c\x0c\x8a\x62\x61\xb7\x5b\xb9\xfb\x7d\x02\xef\x94\xe0\xa9\xbb\x5b\x57\xda\xb1\xfb\x2e\x4e\xcb\x74\x75\x4b\xbd\xd5\xf4\x29\x99\xc3\x51\xb4\xfe\x41\x88\x37\x2b\x57\x4b\xab\xb8\x0f\x5b\x7e\xfe\x79\x30\xee\xe7\x9f\xc7\x58\x3c\xf2\xbf\x45\xfa\xba\x17\x32\x24\x78\x50\x8a\x5a\xc6\xb0\xa2\xc7\x6f\x19\xe8\xc9\x51\x84\x2a\xc1\x0f\x71\xcc\xc7\xf9\x9a\xe9\x72\x6d\xd5\xf4\x00\xd0\x9d\x5d\x60\x5b\x71\x3a\x26\x4c\x0a\xbc\xca\xd2\xe0\x94\x79\xc9\xcc\xa6\xb9\x8b\x94\xb1\x0d\x8d\x41\x10\x25\xfe\x0e\xfa\x1c\x23\xbc\x41\x8e\x50\xe7\x95\x57\xd3\xdd\xc1\x17\xb7\x10\xbc\x3a\xac\xe3\x84\xfb\x8d\xee\x44\x0e\x70\x8b\x3b\x51\x0b\x59\x62\x9c\x52\x95\x54\x0e\x9c\x12\xce\x52\xc2\x61\xc3\x9b\x02\xb5\x8b\x2d\x4e\xa3\x48\x1f\x01\xd0\x23\x76\x60\x88\x01\x10\xf7\x59\x9d\xf1\xc4\x2e\xc6\x5b\xbc\x9b\x18\x79\x09\x7b\xb7\x55\x9a\x0c\xfe\x24\xeb\x2a\x3c\xef\x05\x51\x93\x3e\xb3\x09\xc5\x83\x70\x1b\x1f\x50\xc8\x02\x4a\x06\xb8\x27\x44\xc5\xd5\x83\xbc\x12\xac\x76\xfd\xb3\x23\xf6\x85\x59\xda\x67\x9b\x24\x8d\xd0\xd1\x78\xab\x99\x97\x55\x35\xf9\x55\x25\xc7\x26\x3f\xe1\x6d\x4a\x97\xbb\xbd\x87\x02\xc5\xdb\x86\x79\x6d\xb4\x46\x04\x14\xb9\xe3\xfc\x77\x7d\x12\x1f\x34\xaa\x21\x0d\xaa\x61\x43\xdb\x7d\x5a\x76\x74\xd1\xdf\x1e\x66\xe6\xc6\xd9\xa4\x21\x77\x8d\x76\x5a\x4c\xeb\x0b\x3c\x3c\x10\x15\x6d\x0e\xd0\x3a\xdd\x87\xe5\x75\x2c\xcb\x65\x45\xaa\x28\x79\xce\x2f\x83\xb3\x97\x6f\xb1\xb4\x2d\x3c\x36\x82\x8c\x68\x3e\xfe\x1e\x1a\x81\xcc\x62\x0b\xaf\xda\xea\x2b\xd1\x03\xa5\x2a\x61\xa1\x8f\xaa\x11\xc4\x70\x14\x70\x07\x9f\x66\x05\x53\x82\x97\x09\xe6\xc2\xf3\x29\x7c\xe4\xc4\x05\x90\x79\xd1\x08\x41\x18\xb9\x88\x40\x50\xb6\x46\xde\xa2\xad\xb4\x10\x36\xe6\x81\x32\x8f\xa4\x73\x73\x13\x9d\xc9\xd5\x87\xc6\x6c\x14\x24\x09\x94\x72\x55\xa5\xeb\x50\x67\xc4\x1a\x7e\x1f\xce\xb8\x6a\x77\xa8\x08\xbc\x9f\x30\x6c\xa1\xe9\x5c\x7e\x0c\x36\x4e\xae\xa2\x9d\xfb\x11\x42\xa6\x6d\xfa\x49\xc4\xbe\xc7\x01\x5c\x38\x36\x52\xeb\x1c\x77\x48\xed\xba\x45\x3f\xc4\xe4\x50\xdf\x0a\x9b\xb4\x1c\xa4\x77\x0a\x16\x0e\x5b\x6e\x45\xb9\xe9\xd8\x8c\x6e\x72\x38\x23\xeb\xce\xde\xde\xa3\x68\x0b\x02\xa4\x59\xeb\x9a\x59\x64\x4d\x95\x46\x11\x30\xbb\xed\x40\xb8\x07\x35\xde\x52\xe1\x1e\x50\x87\x39\x08\x48\x89\xf6\x07\x4d\x1f\xb5\xb4\x67\xaa\x4a\xb0\x45\x02\xbe\x63\x96\x50\xe9\x3e\x69\xd8\x0c\xb8\xc7\x5e\x90\xfd\x6f\x2a\xec\x9e\x38\x00\x13\x7c\xca\x54\xcf\x48\xa5\x95\x9c\x90\x06\xd5\xd6\xce\xa7\x84\x99\x90\x45\x7a\xeb\x76\xfd\x72\x26\x57\xc7\x04\xaa\xe6\xce\x1d\x1d\x91\xd0\xa7\x0f\xd4\xab\xd6\xda\xfc\xc2\x3c\xc2\x8e\x8e\x8e\x58\x07\x66\xd6\xe9\xd5\x91\x19\x06\x9a\xf8\x5b\xbe\x72\x04\x30\xd6\xa5\x01\xbf\x41\xa4\x27\x78\xef\x21\x9d\x07\x8f\x36\xc3\x24\xe8\xfe\xa7\x26\x16\xe9\xb7\x3e\x1c\x84\x5c\x1d\x33\x1c\x7f\x46\x36\x6f\xa0\x0f\x3b\x9c\x6c\x74\xcd\x7f\x19\xb8\xe5\x47\xf4\x51\x7b\x28\xbe\xba\xfb\xda\x37\xee\xbb\x85\xfb\x36\xd3\x33\xab\x46\xaa\x1e\xd9\x3e\xab\xfb\xf4\xfb\xf0\xb7\xf0\x19\x36\x38\xb4\x8f\x2e\x4b\x96\x67\x3e\xf0\xb1\x4a\x65\x5e\xa0\x03\x60\x41\x8f\x16\x98\x0b\x1f\x37\x7a\x10\x30\x8c\x70\xa8\xcf\x8e\x58\xc0\x3f\x5c\x87\xfb\x5b\x45\x1c\x1f\x3d\xb9\x13\x53\x31\x22\x5f\x85\x91\xdc\x85\xcf\x44\x4b\xac\xf1\x1a\x3f\x7d\x87\xc0\x70\xbb\xb2\xc2\xdc\x66\x0d\x1b\xb4\xd3\xe1\xa1\x0b\x78\x97\xb3\xf3\xc4\x3a\xd0\xdf\x55\x06\x88\x8e\x04\x42\xbf\xd5\x29\x72\x0c\x70\xf3\x31\x0a\xe6\xdd\x0e\x62\xeb\xc9\xda\x1d\x31\x3b\x1f\x2c\xdc\xa9\x1d\x4f\x55\x85\x39\x56\x48\x1a\xbd\x99\x57\x82\xe9\x92\x83\x91\xcd\x69\xa1\xb4\x5c\x54\x0c\xc6\xa5\xe8\xc0\xbe\xcd\x28\x43\xca\x24\x2b\x52\x78\xb7\x0e\x63\xe6\x1d\x0c\x76\x44\x8e\x4d\x75\xfa\x0c\x8f\xe4\x06\x6a\xac\x00\xac\x2e\x32\xb4\xe1\xef\x44\xd4\x11\xac\x83\x9e\xbd\x2a\x9a\xd8\x41\x4b\xaa\xa5\x61\x62\x84\xe5\x17\x50\x38\xbf\x21\xe9\x52\xa0\xcc\x7a\xe1\x22\x78\x83\x3e\xef\xb2\xf7\xd1\xab\x2c\x42\x95\xe3\x7f\x4d\x67\x36\x0c\xc9\xbc\x05\x27\x0a\xc6\xe8\x55\x6e\x46\xb3\x0f\x0d\x47\xdb\x05\x74\x41\x92\x6e\x24\x55\x9f\x70\x9d\x36\xbf\xe9\xf2\xfc\x23\x6f\x46\x77\xbe\xdc\xc0\x8d\x57\x18\xf8\x02\xeb\x32\x13\xd7\xb5\x35\x34\x24\x44\xfa\xc8\x2e\x56\x92\x09\x4c\x88\x84\xd9\x9a\xc2\xf7\x4b\x15\x09\x06\x03\x02\x4a\xba\x62\x7d\x81\x8d\x07\xd6\xac\xf0\xb8\x48\x91\x97\x6c\xbe\x0e\xed\x92\xaa\x4f\x07\x73\x2b\xb8\xe5\x7e\xbf\xcb\x95\x13\x0a\x52\xbf\xef\xd2\x71\xe3\x0e\x6e\x71\xd7\x7d\xba\xbb\xca\x9e\xe5\x1a\x16\xc3\x03\xed\xf0\xf6\xe9\xc8\xd8\x3e\x7e\xfe\xf0\x3b\x6a\x3b\x3d\xbb\x3c\x69\xff\x35\xc9\xb9\xe5\x12\x8a\x69\xf9\xee\x3c\xb4\xd8\xc8\x3c\x6d\x0b\x43\x93\x6f\xef\x14\x41\xef\xd0\xfe\xdd\x51\x0c\xc9\x1f\x81\x96\xd7\xc8\xf9\xab\xe3\x17\x1d\xdf\x0a\xea\x00\xb0\x27\x65\x96\xe7\x2c\x95\x2b\x48\x3e\x56\x04\xa9\xe1\x31\x27\x8c\xe9\x34\x04\x14\xbb\xa7\xff\x6e\x84\x8e\xf7\x5d\x40\xe9\xd8\xbb\x72\x98\xbc\x49\x34\x6e\xff\xde\xb5\x0f\xf4\x40\xe1\xd1\x8e\x96\x5e\x7d\x38\x35\xe7\x60\xff\xaf\x7e\x41\x60\x0e\x3d\x50\xcf\x84\x0f\x27\x0a\x9b\xaf\xce\xa6\xd6\x5d\x14\x29\x3b\x2d\xd2\x5b\x74\x3d\x33\xbf\x7e\xa4\x46\xf0\x07\x64\xcb\x82\x18\xf4\xcd\xe7\x4a\x09\x0d\xed\xeb\xc7\x08\x16\x01\xe6\xa5\x3e\x02\xf6\x7a\x0e\xf8\x29\x22\x97\xe0\x45\xd4\x7e\xeb\x04\x70\xdd\x23\xa9\x09\x54\x28\xb1\x79\xab\x30\xe8\x3f\x8b\xf4\xae\xc3\x8a\x22\x75\x83\xd6\xc1\x34\x0f\x09\xcb\x36\x28\x82\xad\x6c\x98\xeb\xbb\x83\xf7\xfd\x06\x6c\xbc\x3b\xc4\x74\x96\xae\xff\x69\x91\xd6\x06\x85\xbe\xb5\x2f\xa1\x67\x18\xee\x0c\x35\x10\x54\x90\x78\x02\x34\x97\x25\xc6\x0c\xbc\x3e\x7b\x56\x2b\x52\xea\xd2\x4a\x7c\x0c\x3a\x9d\x87\xdd\xb1\xae\xc2\x66\xba\xc0\x36\xbe\x5b\x7b\x76\x0a\x78\xea\xfa\xef\x22\x14\x5a\xbd\x18\x50\xe4\x51\x90\xbe\x62\x4a\x64\x77\xac\xbb\x07\xfe\xc1\x8c\xed\x7e\xfb\x8d\x10\xa7\xa5\x2d\xcb\x82\x1e\x12\xdd\xfd\x4b\xb5\xdf\x6b\x1e\x21\x7a\x94\x47\xca\xd1\x6e\xf3\x53\x9d\xf6\xc6\xb4\x72\xf6\xa9\x5e\x30\x95\xf8\xcd\xee\x06\x82\x0e\x41\xba\xa7\x26\x89\x3f\xa6\xbc\xf0\x7d\xb0\xf3\xbf\xa6\xd9\xfd\x6e\x48\x2f\xbd\xcf\x94\x3b\x7a\x7e\x29\x47\x6c\x70\xd8\x72\xe6\xfe\xe8\xf5\xe2\x1c\x45\x91\xfe\xae\xb5\x3a\x28\x95\x75\x46\x0b\xa8\xaf\x12\xcd\x69\xaf\x15\xba\xb9\x40\x81\xee\x44\x16\x93\x6c\xba\x2c\x21\x9e\x02\x48\x8f\x29\xa1\x75\x56\x4c\x95\x0d\x1b\xcb\xc5\x44\x43\xbd\x10\xc6\x2c\x56\xea\xc5\x48\x2c\x0a\xc1\x41\x84\x5a\x37\x36\x86\xba\x24\x8f\x5c\xc2\x42\x95\xa5\x02\x9b\x37\xb6\xc6\x12\x25\x34\x73\x88\x4a\xc7\x0b\x87\x9e\xcd\xe0\x63\x52\xd3\x48\x87\x67\x03\xb4\xd8\x4e\x68\xc6\xca\x8c\x85\x78\xbd\xb8\x90\x67\x74\x52\xa3\x8c\x11\xe6\x08\x12\x20\xb0\xe9\x07\x08\xf5\x00\xc4\x44\x9f\x89\xe9\x32\xe7\xe5\xe9\xcd\xa2\x14\x4a\xf9\x32\x39\x67\x62\x7a\x7a\xb3\xe8\x7a\x94\xdd\x8f\xd6\x78\x9f\xed\xfd\xaf\x3d\x07\x08\x19\x8f\x48\xf1\xf6\x3c\x8a\x67\x36\x44\xab\x4b\xb7\x71\x34\xbf\xe1\x31\x08\xb3\xe5\x86\xa9\xc4\x5f\x7f\x1f\x1f\xe5\x06\x9a\x00\xcc\x42\x78\x53\xe0\xe6\x33\x0c\x10\xf6\x43\x29\xe7\xdb\x11\x16\x0d\xb3\x33\x5d\x57\x5d\xc8\x08\x5c\xaf\x17\xd1\xd4\x16\x8c\xef\xfd\x75\xaf\x86\x6b\x4f\x8b\x0e\x14\x56\x65\x3c\x8a\xd7\x44\x2c\xb7\x79\x18\xcf\x27\xa1\x6f\x23\xdb\x20\x6c\x9f\x02\xe8\x98\xd7\xdc\xaf\x2d\x0f\xc0\xbc\x3b\x78\x5f\xdb\x43\xe8\x5e\xdd\x41\xf3\xe5\x77\x11\x19\x56\x77\xcf\xc6\xb0\xa3\x6c\x43\x12\x40\xb8\xff\xfd\x10\x98\x15\x70\xcc\xe0\xfe\x8e\xe2\x69\x0a\xdd\xbb\xf6\xc7\x9d\x4a\x6f\xca\x3c\x37\xb2\xe5\x7f\xc7\xf2\x9b\x61\xe1\xdb\x4a\xa9\xcd\xa0\xa4\xe6\x31\xeb\x5c\x67\x62\x65\x90\xd0\x61\x50\x56\x53\x4e\xd8\x24\xbb\x11\xe9\x60\x86\xe5\x78\x20\xf3\x26\x18\xfa\xec\xd3\x16\xc2\x9d\x7c\x6a\xad\x02\xdc\x51\x13\xb9\x58\x0f\xb4\x1c\x24\x79\xb6\x18\x4b\x5e\xba\x52\x8c\x9d\x37\x0e\xbe\x2d\xd6\x00\x41\x8a\x36\x90\x96\x6b\x2c\x61\x68\x56\x69\x63\x45\x5d\x0d\xc3\xcc\xe5\x85\xc2\x2c\xa2\x2e\x23\xf8\x2b\x4c\x01\x56\x42\xd5\xba\xc3\x83\x83\xfe\xc1\xc1\x01\x74\xc3\xbc\x2a\xa6\x55\x50\x95\x30\xa3\x32\x89\x0f\x1e\xfa\xea\x96\x3c\xcf\x49\x55\x69\x7f\x4a\xe5\xdc\xba\x3d\x97\x82\xa2\xe3\x52\xac\xf5\x17\x02\x83\x50\x6d\xae\xae\x18\x95\x53\x3c\x0b\x66\xe3\xa3\xea\xcc\xc1\x8e\x96\x23\x0b\x96\x8a\x39\x64\xa2\xa2\xbc\x4f\x66\x14\xa4\x41\x61\xf6\x99\x32\x7d\x86\x78\xe0\xa5\xe0\x51\x7e\x53\xbb\x57\x58\xc8\x53\x65\x53\x43\x4e\x36\xbb\x13\xee\x09\xe5\xdb\xac\xec\x06\x53\xda\x4c\x7b\x25\xcb\x2b\xd5\x37\xe0\xc4\xb5\x28\xd0\xbb\x89\xe7\x39\x93\x65\x18\x06\x1a\xec\x2e\x96\xd6\xc0\x29\xca\xc9\xa4\x92\x0d\xff\x85\xd4\xc2\xc7\x72\xff\x72\x78\xc8\xe6\xd2\x50\xa6\x1f\xd6\x25\xbf\x31\x23\x7b\x9f\xe3\xea\xc0\xf7\x82\x6a\x8b\xe1\xd8\xc1\x90\x8c\x3d\xd5\xde\xef\x35\xcd\x26\x93\x2c\x59\xe6\x1a\x15\xcb\x37\x48\x58\x86\x4c\xa9\x02\x20\x55\x5d\x35\x28\x02\x1f\xff\x42\xc3\xd3\x11\xe2\xfb\xcd\x6b\x93\xeb\x99\xcc\xe5\x94\xbc\xff\xa1\x24\x66\x30\xb4\xa1\x50\x15\x66\xda\x0a\x37\x99\x1c\xc1\xbc\x45\x56\x35\x57\xad\xd4\x7c\xca\x0a\x3e\x17\xb6\x6a\xe5\xd0\x6d\x23\xd6\x46\x55\x36\x5e\x10\x0e\xfd\xdf\x97\x59\x72\x95\xaf\x19\x57\x66\xce\xe4\xd8\x59\x96\x66\x47\xa9\xf0\x26\xc3\x13\x19\xd0\x89\x3f\x9b\x89\xaa\x3d\x2d\x82\x29\x7f\x8c\x8e\xcc\xb1\x4b\x97\x97\xf0\x05\x48\x4d\x72\x42\x39\xf5\x5c\x71\x5a\xee\x9c\x4d\x4b\x4e\xd1\x83\x98\x9a\x1b\x4f\x48\xc5\x09\xd4\x1e\x8d\xf8\x55\x6a\x07\xc4\x97\x47\x54\x88\x9b\xa7\xe9\x63\xca\xfc\x0c\x12\x7f\xcf\xdf\x03\x41\x47\xca\xb4\x68\xff\xb4\xd2\xdf\xf9\xdb\xe3\x1f\x63\x2f\x55\xac\xed\xb6\x2c\x74\x96\xbb\x7c\x42\x98\x98\x00\x93\x99\x91\x2b\x8b\x6d\x4e\x55\xd5\x2a\xf5\xd3\x0e\x0f\xfa\xec\xd0\x17\x05\x7c\xf2\xf2\x39\x2a\x2d\x20\xdb\xb1\xe1\x79\x7e\x38\x02\x0e\x7e\x3b\x6e\xde\xcb\x1c\x67\xec\x0a\xe4\xd1\xb5\xe6\x1f\x65\xc1\x80\xbe\x78\xa7\x7b\xb5\x05\x88\x80\x0c\x04\x73\xbe\xa0\x64\xca\x58\xd1\xf4\xe8\x7b\x97\x23\x27\xaa\x7d\x6b\x0d\xfe\x69\xc9\x57\x90\x25\xce\x9e\x64\x1b\x99\x47\x09\x32\x4a\x61\x5a\x7c\xe8\xf6\x20\x08\x60\xc8\xd8\x0b\xb2\xd2\xa3\x7b\x23\x54\x6e\xaf\x36\xc6\xa6\x41\x64\x04\x05\x29\x98\x59\x9c\xf0\x64\x56\x2b\x40\x78\xcb\x69\xaf\x78\xc3\xbc\x5d\x78\xa2\x0b\xf7\xab\x4c\xdd\xce\xc7\xfe\x5e\x9d\xd0\x3f\x3e\x06\x0f\x85\x94\xa5\x4b\x08\x37\x40\x3e\x06\x8c\x4f\x93\x7b\xb5\x36\x87\xc0\xba\x78\x52\x31\xcb\xb5\x69\x8b\x95\x5a\x33\xaa\x56\x9b\xfd\x2a\xdc\x98\x39\x57\x1a\xdf\xdf\x20\x0b\xd5\xf2\xdf\xfb\xdf\xb1\x9c\x5d\xad\x42\x63\xb9\x14\x36\x31\x23\x3c\x5f\x7c\xfa\x05\x9e\xbb\x8c\xdc\xc4\xca\x31\x65\x5a\x41\x31\x26\x98\x0a\x7b\x78\xcf\x07\x04\x60\xba\x6b\x73\x84\xbd\xa7\x2a\x9b\x49\xa5\x59\x29\xfe\xbe\x14\x4a\x2b\x62\xc8\x69\xc9\xa7\x76\xe5\xf6\xba\xb0\xb5\xe7\x11\x9e\x11\x9d\x97\x0b\x2a\xe3\x0f\xf1\x3f\x86\x26\x21\x37\xbf\x17\xb2\x6a\x44\x7d\x5a\xc0\xe0\x1f\x5c\x4a\x1f\x1f\xa2\xea\x4a\x34\xa1\x1f\x27\x72\x4b\xcf\x23\xcd\x2f\x94\xc7\xb3\xec\xb3\x52\x0c\x16\x72\xb1\xcc\xcd\x8d\x4b\xfb\x85\x90\x20\xf5\x26\x6c\x1c\xa2\x13\x42\x4c\x3c\xa6\xa1\x9a\x27\x55\x9b\x8b\xaa\x95\xd2\x66\xaf\x66\x42\xe4\x6c\x91\xdd\x88\x9c\xa5\x22\xd7\x9c\xcd\x97\xb9\xce\x16\x79\x86\x97\x75\x56\x98\xeb\x5a\x89\xfd\x54\xe0\x07\x84\xa0\x3d\x04\xb5\x10\x70\xf5\x11\x22\x11\x20\x62\x72\xc8\xce\x85\x30\x52\xa5\x5e\xa8\xd1\xfe\xfe\x54\xca\xe1\x34\xdf\x57\xbf\x88\xbc\xf8\xbb\xc3\x14\x40\x79\x6b\x7a\x3d\x77\x23\x9b\xd9\x1e\xd6\x70\xa5\xe5\x32\x99\xd9\x4d\x5a\x09\xa6\xf8\x2a\x74\x7c\xc3\x9f\x31\xdb\x35\x42\xcd\x8a\x29\xd4\x75\x4e\xc5\x8d\x48\x29\xa0\x77\x4d\xed\xb2\x54\x14\x3a\x9b\x64\xc0\x1b\x8b\x44\x58\xb6\x08\x01\x5f\x73\xcc\x4b\xc3\x0b\x70\x4f\xc6\x0e\x1c\x14\xfb\x11\x72\x2f\xcc\x0f\xe1\x79\xb2\xf5\x6b\x43\x1a\x86\xa9\x13\xae\xe0\xd4\xa4\x01\xf6\x68\xe2\x86\xc6\x57\x41\xfa\x35\x34\x9a\x84\xf5\x6c\x33\x75\x4e\x52\x06\xbe\x40\x3c\x31\xd9\x31\x8f\xd9\x74\x29\x54\x2d\xe0\xc3\xd6\x66\x2e\x6d\x9d\x6f\x90\x5d\xcd\x99\xc1\x73\x8b\xf4\x12\x8c\x44\x1d\xcf\x6d\x3f\x38\xc5\xaf\x6e\xcc\x8e\x7c\x15\x8f\xf8\x76\x26\x28\x53\xaa\x60\x89\x2e\xf3\xc1\x35\xbb\x12\xeb\x4a\x41\x75\x3a\xbd\x0b\xae\x28\xf3\x55\x30\x92\x2e\xf3\x37\xaf\xcc\x0f\x51\xfe\x67\x0c\x95\xc9\xae\x6b\x9c\xc3\xd6\xbc\xad\x72\x8c\x13\x83\x97\xc4\xaa\x96\x71\x9f\x20\x3f\x91\x5c\x6a\x36\xe3\x45\x9a\x87\x95\x76\xf1\x7b\x15\x6c\x1b\x7c\x2f\xc7\xf0\x46\x29\x6b\x3f\x3c\x39\x7d\xfc\xfa\xc7\x0f\x7e\x86\x1f\xdd\xd3\xe0\x55\x29\x6f\xd6\x3e\x94\x1c\xb3\xe1\xd4\x32\xee\xae\x66\x59\x32\x43\xd6\xa9\x34\x28\x3f\x67\x68\x87\x5a\xf1\xfc\x0a\x02\xcf\x50\x4a\x36\xd7\xa9\xf5\x01\xb0\xc5\x3f\xc8\xce\x64\xa5\x0a\xcc\x22\x23\x21\xd6\xd0\x02\x4e\xe4\x5c\x90\xe7\x68\x55\xbe\xa9\xde\xa4\x1f\x89\x18\x40\x12\x31\xa7\x0a\x4d\xf7\xf5\x1a\xe5\x61\x35\xec\xba\x10\x33\x6c\x56\xa3\xba\xdf\x83\xd4\xf9\xfe\x4b\x88\x13\x74\x7f\x55\x4e\x0b\x71\xbb\x6a\xe9\x5f\xdd\x24\x70\x23\x0d\xd9\x8e\x99\x82\x34\x58\x63\x11\x26\x11\x2c\xd9\x64\x69\x3e\xd8\x4a\x3c\x28\x19\x53\xbb\x58\x82\xe6\x45\x32\x93\x25\x42\xa3\x7d\x9c\xc8\x64\x49\x8f\xa4\xcc\xbc\x5d\xed\x35\x6d\xde\xa7\x4b\x5e\xf2\x42\x53\x20\xec\x58\xb0\x5c\x28\x35\x30\x7c\x62\x20\xcb\x81\xf8\xfb\x92\xe7\x03\x2d\x11\x1a\xbe\xdb\x26\x36\x94\xfa\xcc\x9e\x68\xfc\xf5\xe9\x04\x1f\x55\x86\xbd\x40\x95\x3e\xe5\xeb\x06\xc1\x93\x4b\x91\xbe\x97\x62\x32\xce\xa0\xea\xf6\xd3\x48\x14\x41\x48\x01\xbd\x95\xf5\xe7\x81\x4d\x50\xdc\x00\xd5\x9c\xa0\xca\x81\xf4\x3f\x07\xe7\x6b\xcb\x2e\x85\xd9\xac\xfe\x4b\xee\xd1\x14\x9e\x9b\xe5\x0e\xdb\x64\x97\xff\x5f\x7f\xa3\x70\xa0\xe6\x6d\xa2\xab\xc7\x41\xf8\xec\x28\xa2\xbf\xe0\x46\x81\xfb\x16\x6c\x86\x9b\x00\xd5\xa6\x0a\x81\x94\x9c\x2d\x64\x66\xa4\x96\x20\x59\x36\x15\x38\xa9\x8d\x73\xe2\xd6\xd6\x50\xed\x08\x73\x5b\x73\x96\x67\x0a\x36\xc2\xbe\x2a\x6c\x89\xfd\x20\x49\xb3\x2f\x07\xe6\xdf\x1e\x66\xff\x0c\x98\xcc\x7a\xcf\xf3\x24\x81\x72\xe7\x53\x2c\xb2\x91\x8a\x85\x9e\x0d\xf0\x27\xd4\xb6\x5a\x2e\x69\x6d\xaf\xde\x15\xb7\xf0\xe1\xe0\xb3\x2c\x4f\x4b\x01\xa5\x7a\xbc\x7f\xee\x26\x56\x18\xd8\x9a\x0c\x07\xff\xc1\xd5\x22\x08\x79\x24\x1a\x8b\x81\xe9\xf6\x71\x8c\xe3\x72\x5d\x8b\xfa\xc3\x06\xd5\x72\x06\x2d\xce\xbd\x16\xca\x10\xea\x80\xbd\x9c\x50\x83\xcf\xbc\x61\xa0\xe2\xb6\x1b\x7b\x96\xd5\xdc\x06\x7a\x51\x80\x06\xc4\xea\xc1\x2e\xc6\x8b\x22\x23\xba\x5b\xc2\xa3\xc0\xc0\x5f\x5e\xf7\xaa\x36\xf4\xf2\x3a\x0a\x50\x2a\x36\x65\xb3\xdf\x60\x2d\x3f\x5f\x17\xc9\xac\x94\x85\x79\x9c\x82\x36\xc3\xde\xb0\x20\x92\x07\x32\x8f\xa1\x8e\x90\x19\x45\xe5\x6f\xb8\x39\xcb\x83\x15\x5f\x83\xe8\x8c\xf0\x20\xaf\x55\xdf\x51\x56\xe5\x64\xfa\x64\xe3\x18\x61\x8a\xc3\xf6\x41\x6b\x03\x99\xfe\xe0\x08\x18\x88\xbc\xbc\x25\xad\x98\x29\x34\x67\x62\x56\x22\x9f\x10\xf2\x43\x41\x38\x95\xf3\xba\x88\x31\xe3\xf0\x34\x35\x33\x80\x92\x42\x20\xd7\x1b\xe1\x00\x0f\x92\x11\x11\xe8\x74\x64\x85\x97\xdf\xad\x38\x65\x53\xcd\xd9\x54\x07\x60\x2b\x22\xad\x95\x5c\x6a\x7c\x4e\x05\x6f\x2a\x97\xaa\x31\x2a\x74\x64\x1e\x4b\xf8\x5c\x74\xea\xae\x3d\xe4\xdc\x7b\x2e\x1d\x8e\x95\x52\x3c\x08\x6c\x01\x84\xd5\xed\xf9\xaa\x00\x93\xf0\x2a\xc2\x36\x67\x72\xf5\xa8\xf2\x33\xb9\x03\x06\x2a\x6e\x68\xe9\x63\x78\x7c\x53\x67\x5f\xaf\x36\x0e\xd3\x5a\x41\x73\xc7\x5a\xe1\x8e\x89\x47\x25\xf3\x76\x04\x06\x9a\x55\x86\x14\x81\x41\xbf\xd2\xd2\x8f\xe7\xb3\x15\xdd\x0a\xa7\x00\x65\x13\x4a\xa1\xc1\x66\x8c\x36\x2c\xad\x19\xa1\x4d\x8b\x6b\xc3\x67\x65\x79\x55\x74\x36\xed\x62\x13\x3e\x1b\xf7\xb0\x19\xa1\xd5\x1d\x74\xe5\x58\x42\x95\x52\x55\x0e\x1d\x4e\x85\xb6\x21\x65\xdd\x9e\xf9\xcb\xeb\x97\x02\x25\x5b\x4d\x14\x6a\xbe\x79\x37\xdc\xa5\x8d\xd7\x9f\xf7\x2c\x60\xbf\xfd\x16\x2c\x25\x68\x15\xa7\xaf\x0e\x7e\x68\x34\xe0\x3b\xb4\x6e\x40\xa2\x77\xc3\xa7\xa6\x9f\x7f\xce\x3e\xeb\x76\xac\xd4\x04\x66\x07\xf7\xa3\xf3\x78\x0c\x21\xbb\xcf\xb5\xa0\x90\x20\x38\x80\xfa\x37\xd7\x0d\x3a\xaf\x88\x73\x28\x19\x69\xab\x17\x86\xbc\x30\xf6\x99\x03\xf5\x84\x1a\x2c\x8b\x4d\xeb\x73\xae\x64\xcd\xb9\x60\xd0\x1e\x88\xd4\xde\x4e\xd9\x84\x20\xd7\xb0\x01\x3f\xf6\x37\x87\x9e\x00\xaa\xfd\xd8\x8a\x1c\xd7\x79\x1b\x6e\xa0\xe1\xef\x43\x8d\x5b\xd8\x16\xcc\x40\x75\x04\xb7\xad\x4e\x82\xfe\xce\xaf\xc6\x7e\x17\x13\x04\x71\x16\x20\xc0\x20\x94\xb4\x01\xd4\xf7\xed\xa0\x42\x1e\x55\x85\xd4\xb0\x14\xc8\xf6\xd1\xb0\xf9\xa1\x20\xd4\xcc\x16\xd8\x77\xcd\x1c\xca\x8b\x39\x95\x55\xb1\xba\x2b\x60\x3c\x59\x27\xc7\x54\xb3\x82\x5f\x44\x72\x32\xf0\x0f\x94\x61\x85\x79\xf3\x67\x71\x1e\x0c\x7a\xbb\xa8\xa2\xa3\x03\xb7\x46\x0e\x59\x87\x00\x1a\xec\x7a\x50\x3d\xc6\xe7\xd6\x02\x8e\x1f\x06\xcd\x56\x44\x33\x47\x1d\x6e\x4b\xfa\xec\x5d\x13\xf6\xfa\x4d\x54\xf3\xbe\x17\x88\x88\x9f\xb9\xb1\xac\x48\x87\x35\x74\x0a\xb1\x62\xa7\x48\xbb\xaf\x0b\x71\xb3\xc0\xe7\x10\x50\x33\x08\x55\xa0\x4c\x76\xb0\x3b\x21\xc8\x60\xf6\x9b\xf7\xf4\xae\x3b\x13\xe6\x5b\x89\xd9\x72\x03\x89\x7e\x76\x54\xa7\x51\x14\x39\xad\xcc\x79\x61\x24\x51\xce\xd2\xec\xda\xd6\x66\xc9\x54\xdd\x44\xd1\x2c\xf0\x85\x59\x3f\x20\x79\xaa\x08\x45\xbd\x34\xbb\x0e\x34\x25\xa4\xef\x4a\xb3\x6b\x7f\x07\x65\x93\x92\xcf\x05\x7d\xdd\x18\x0c\x4d\x95\x87\xbb\x1d\x6c\x1a\x14\x60\xa5\xbe\x94\x8c\x35\x51\x8a\xfc\x66\x2c\x79\x74\xc6\x90\x3a\x69\xc4\x0e\x1e\x79\x8e\xd2\x41\xfb\xd9\x88\x1d\x1e\x1c\xfc\x6b\xf8\xbd\x75\xdd\x1c\x31\x3e\x56\x32\x5f\x6a\x11\xfe\x0a\x8a\x45\xec\xe4\x13\x94\xdb\x52\x54\x38\x11\xa6\xca\xc4\xc8\x96\xff\x62\x08\xfb\x87\x1f\x86\x2c\x48\xa2\xef\xf4\xf2\xb8\x06\x85\xfd\x73\xc9\x53\xd4\xf5\x1a\x8a\x17\x0a\x3b\xb2\x4c\x87\xd5\x87\xb5\x2f\x92\x6b\x9f\x6e\x38\x9e\xcd\x0b\xd0\x99\xcb\x5f\x9f\x16\x85\x28\xd1\xe2\xf0\x0b\xf0\xf2\x55\x56\xa4\x86\x19\x9b\x61\x48\xbe\xe2\x06\x36\x3c\xf4\xd1\x02\xab\xd7\xf7\x18\xab\xa2\xb2\x34\xa2\x7a\xe7\x5f\x3a\xb0\x44\xb3\x25\x61\x8c\x79\xd8\xb4\x57\xdb\xc3\x21\xcd\xf2\x2d\x0c\x3d\xe4\x69\x7a\x6a\x96\xf6\x2c\x53\x5a\x40\x26\x09\x54\xc6\x76\x6e\xeb\x28\x86\xaa\xcb\xe2\x0c\x7a\x7f\x18\x8e\xb3\x02\x67\xd2\xf3\xe5\x7a\x52\x99\x58\x4e\x11\x2a\x50\x9b\x66\x67\xa9\xcb\x50\x51\x2a\x93\xe1\x58\xa6\xeb\x76\x0a\x9a\xf3\x72\x9a\x15\x23\x76\xb0\xb8\x89\x68\x05\x0d\xcb\xb5\xef\xdb\x68\x2b\xa0\x9e\xf0\x6b\xeb\xc6\x3c\x62\xb3\x2c\x4d\x45\x11\xfe\x86\x71\xf5\x23\xb3\xbc\xee\x60\x00\xe7\x6e\x00\xd6\x87\x01\xfe\x82\x6e\x23\xbd\xb0\xcb\x60\x25\xc6\x57\x99\x1e\x2c\x95\x28\x07\xc8\x77\x46\xf0\xe4\x8f\x1a\xcd\xe5\xaf\x4d\x2d\x2a\x25\x45\x50\x23\x1c\x04\x7c\xbd\x45\x61\xbd\x03\x69\x51\xc6\xcb\xe9\x14\x42\xbf\x05\xe3\x69\xca\x08\x1d\xd6\x20\x6d\x50\x1a\x55\x9b\x92\x93\x09\x6a\xca\x2d\x30\x8a\x36\x40\x1f\x0b\xf2\x73\x08\x92\x53\xb9\x3d\x0c\x77\x87\x06\xb9\x90\x8b\x20\x8f\xeb\xd6\xe6\x8f\xb1\xee\xba\xef\xd1\x49\x78\x9e\x74\x43\xac\x26\x33\x5e\x1a\xd2\x22\x5f\x97\x1e\xfb\x0b\xfb\xa2\xd7\x89\x85\x6d\x70\xd1\x39\x02\x82\xa9\x70\x25\xf8\x09\x99\x92\x4f\x24\x1d\xe4\x68\xb6\x78\x07\xeb\x3f\xfb\x47\xb0\x13\xcc\x9a\xf4\x47\x6c\x9c\xcb\xe4\xea\x51\xf4\x9b\x25\xa5\x4d\x33\x8d\x7b\x40\xa0\xce\x6d\xbb\x7d\xc4\xa9\x9b\x85\xcd\x04\x4f\xa3\xe3\x4e\x14\xe6\xce\xb9\xa1\x9a\x13\xa5\x9e\x65\xc5\xd5\x87\x66\x64\xe4\x59\x71\x15\x30\xe8\xb0\x43\xa5\xa6\x6c\x29\xf2\x4e\x9f\x21\xf6\xd4\x4c\x08\xdd\xa9\x0f\x64\x23\xf7\x37\x63\xbd\x71\xea\x35\x30\x8e\x67\x5f\xbc\x7c\xf2\xb2\x6b\x0e\x75\xca\x7b\x23\x76\x2e\xcb\x72\x8d\xc9\x9f\x58\x07\x69\xf4\x43\x87\x64\x16\x27\xcb\x60\xec\x22\x57\x51\xea\x3b\x84\x06\x89\x7c\xc8\x37\xe5\x6f\x6a\xc8\xd8\x53\x97\x43\x72\x91\x25\x57\x8c\xb3\xb1\x80\x6a\x10\xe0\x02\x32\x91\xa5\xcf\x6d\x2f\xe6\xa0\xbd\xbb\x96\x59\xea\xf5\x15\x89\xcc\xf3\x4c\x91\x7a\xd9\x96\xc0\xb8\xb2\xf5\x23\x32\x91\xa7\x4c\xa4\x99\x06\x7f\x0d\x81\x05\xf3\x30\xd1\x3e\x99\x71\x7d\xa2\x2e\xb0\x23\x33\x5e\xac\x61\xf6\xf7\x6c\x46\xa2\xb1\x00\x00\x02\x63\x30\xdd\x29\x05\xef\x36\x81\x5e\x4d\x69\x98\x22\x0d\xd7\x0e\xda\xa7\xeb\xac\x34\xb0\x11\xd4\x95\x58\x83\x6f\x0f\x8a\x7f\x4f\x9f\x9f\x9a\xc5\x3f\x5e\x62\x81\x67\xcc\x83\xbd\x12\x0c\x74\x5c\x72\x32\x01\x2f\x1f\xb8\xb9\x8a\xc5\x52\xb3\x99\xc8\x17\xa2\x64\xe0\x79\x63\xd7\xce\x35\xb8\x09\x99\x35\x20\x08\xf0\x86\xc3\x4c\x9b\x66\x88\x39\x4c\x27\x2b\x78\x7a\x2d\x4a\x73\xb8\xf2\x35\x9b\x2f\x31\x69\xb1\x82\x0a\x35\x06\x34\xa1\xed\xdc\x2c\x06\xb1\xac\x44\x58\x6a\x0f\xbc\xad\x34\x2f\x52\x5e\xa6\xf4\x24\x02\xcd\x16\xfe\x32\x2e\xe5\x0a\xac\xf1\x94\x13\xb4\x4f\xf6\xd4\xa5\x0e\x0c\xf4\x8a\x4f\x44\xbe\x66\x19\xd6\x62\x64\xe3\x35\xe9\xc6\xa8\xb3\xb7\xc2\x11\x39\x35\x13\xf0\xcd\x00\x7f\x0e\x4e\x0b\xb5\xaf\x1c\x14\xba\xb6\xec\xae\x9b\x43\xa3\xcb\xa5\xd8\xda\x4f\x2d\x44\x9e\x43\x0e\x5b\xd3\x05\xec\x7a\x5b\xfb\xf0\xa5\x96\xb6\xfc\x83\xe9\x25\x27\x93\x1d\xfb\x80\x8b\xd2\xad\xba\xf0\x85\xe6\x39\x88\x03\xac\x63\x6e\xa0\xad\xbd\x4a\x49\xab\x17\x37\x7a\x2c\x6f\xb6\xb6\xd7\x7c\x0c\xfa\x62\xd3\x67\x70\xd8\xd4\xbc\xed\xd2\x87\xba\xa1\x03\x28\x6a\x31\x62\xba\xe4\x85\xc2\x47\x6f\xc8\x37\xdb\x59\xf7\x44\x16\x7a\x30\xe1\xf3\x2c\x5f\x8f\xd8\x5c\x16\x12\x12\x63\xd5\x5a\x18\x86\x3c\x62\x87\x0f\x63\x01\x02\x7e\xba\xe6\x65\xc6\x0b\x3d\xc8\xb3\x29\xd7\xcb\x52\xa8\xfa\x2d\xde\x26\x68\x58\x89\x62\xb0\x1e\x91\x29\xf2\x91\x0b\x96\x1a\xdc\x34\xc9\x19\x90\xd6\x76\x00\x73\x1c\xb1\x45\xd9\x26\xf4\x46\x83\x2c\xb5\xb9\x6b\x70\x56\xec\xb3\x6c\xbe\x90\xa5\xe6\x85\x65\xe1\x4e\xaa\xaa\x31\x64\xc2\x7c\xa8\x82\xa2\xbd\xa8\x0b\x8b\x38\xfb\x4e\xdf\x8a\x7f\xf8\xe6\xa8\x88\x7f\x5b\xa1\x80\xa7\x46\x15\x08\x38\x62\xdc\x16\x12\x38\x48\xc0\x8b\xd7\x83\x43\xdf\x88\xbb\x00\x9a\xcb\x6b\xf1\x29\xe0\x88\x22\xfd\x14\x60\x12\x5e\x24\x21\x9e\xee\x04\x29\x91\x8b\xb5\x07\x71\x22\x17\xeb\xdb\x42\x00\x07\x0a\x0f\x02\xdc\x26\x6a\x30\xf6\xf7\xd9\x13\x74\x77\x42\x87\xa6\xcf\x59\x5a\x4a\xf0\x36\x33\x9c\x61\x9f\xf8\x25\xe6\xd1\xc3\x3b\x11\xdd\x23\xa8\x84\x99\xb9\x89\xba\x6b\xa1\xff\xad\x47\xdc\xdd\x56\xa0\x4c\xc5\x84\x2f\x73\xcd\xc6\xe4\x92\x88\x36\xc0\x44\x16\x93\xa5\x12\xf6\xee\xdf\xbe\x06\x33\x99\x4e\xdf\x3f\x81\xdd\x63\x1f\x73\x95\x99\x17\x08\x0e\xd4\x8d\x74\x56\xd6\xf3\x82\xb1\x8f\xd5\x53\x54\x1b\xe2\x4a\xac\x53\xb9\x2a\x3c\xa2\x1e\xcb\x74\xfd\xb3\x58\x3f\x91\xab\xa2\xfe\x3e\x0a\xdc\xc4\x20\x27\x34\xcf\x8a\x20\x7d\xb3\xf5\xec\x40\x8f\x99\x92\xca\x12\x5a\x1f\x4c\xb0\x9a\xb5\xdc\x60\x69\x76\x1d\x30\x55\xd7\x78\x98\xa5\xe6\x05\x09\xe8\x1a\x95\x72\x35\x00\xfb\x4c\xa7\xa1\x61\x2b\xff\x6d\xe7\xad\xfe\x8d\x0e\xf3\xdd\xf5\x2d\xd5\xf8\x30\x32\xd4\xb2\xf9\x61\x84\x2d\x1a\x08\xb7\xca\xd7\xdc\x9a\x3c\xc6\x5d\xf2\x6c\x5b\x4d\xc5\xbd\x81\xd0\x9f\x8f\xdc\x11\x51\xe6\x5b\xac\x51\x0b\xe0\x1d\x78\xe4\x02\x15\xa6\x8f\xf9\xb4\x5d\x80\x80\x16\x83\x31\x9f\x06\x73\x8c\x7a\xde\x05\xc5\x9b\xf0\x78\xdb\xc7\x45\xfd\x6e\x09\x58\xff\x18\x5e\x66\xd1\x32\x1b\x56\xe0\x2b\xf4\x06\x25\xd6\xc0\x72\x3e\xb6\x69\x8e\xb5\x5c\xb0\x89\x41\x31\x87\x72\x3b\x39\x79\x99\x21\x7c\xfa\xa5\x14\xb4\x1c\xf4\xe4\x07\xb7\xfb\x7b\x54\x6b\x2a\x5f\xa3\x39\xca\xee\x14\xb8\x3e\x83\x40\xca\xe3\xc2\x48\x81\xea\xd3\x88\x84\x10\x1f\x80\xd6\xd8\x7c\x4d\x8e\x8a\xa1\x97\xbc\x9d\x9b\x2c\xed\x5c\x08\x8c\x8b\x08\xb0\x9e\x04\x76\xdd\x3f\xc8\x3c\x6d\xdd\x6e\xb3\x90\x78\xa3\xa1\x79\x74\xde\xb4\x5c\x40\xbb\xc1\x44\x96\xe6\xbd\x39\x70\x33\xee\xd4\x3b\x56\x89\xa3\x46\x14\x0d\x67\xb6\x46\xfa\x16\x5a\x6d\x63\xed\x5a\xe2\x31\xa3\xed\xac\xb7\x8f\x16\x83\xdf\x6f\x5d\xcf\x86\xc9\x05\x90\x63\x5e\x88\xb4\x00\x1a\x4f\x9e\x80\x6b\xaa\x72\x9c\xd0\x3c\x2f\xb2\x84\xe7\x98\x29\x95\xbc\x64\x7d\x71\xb4\x42\x2d\xe7\x20\xf6\xd3\xed\x41\x0f\x1b\x20\x1a\x52\x80\x8f\x97\x93\x89\x28\xc9\xaf\x64\x8d\xa9\x64\xad\x92\x83\xb1\xa7\xba\xa3\xa0\x38\x20\x7a\x4a\x2a\xef\xe9\xec\xdd\x18\xcd\xc3\x70\xb1\x10\xbc\xb4\x8e\x86\xfe\xbd\x80\xaf\xa1\x0c\xd3\x7c\x37\xd5\x10\x5d\xcd\x44\x51\x75\x60\x35\x30\x33\x85\x05\x05\x43\x5b\x37\x66\x87\x57\x42\xb3\x0e\x4c\x30\xcb\x33\xbd\xb6\x27\xbf\x63\xa6\x71\x25\x04\xa6\x95\xb7\x6f\x23\x2c\xf1\x07\xa9\x6e\x83\x4a\x09\x08\x2e\x73\x7e\xca\xfe\xa4\x60\x90\x07\x7a\x39\x77\xe0\xc2\xc6\xdf\x54\x87\x2d\x17\x2b\x78\x41\x76\xe1\x6b\xb8\x9c\xc0\xbd\x16\xfc\x96\x0c\x3e\x7c\x28\x0b\xf9\x96\xf2\xf0\x55\x9e\xcd\x45\xcf\x5c\xf3\x18\xee\x01\xc4\xd0\xaf\x0c\x3e\x15\x9a\x54\xad\xa6\x85\x9c\x18\xbc\x27\x57\xc3\xd8\x75\xef\xb8\x14\x7c\xa7\x3b\x2e\x68\x1e\x11\x2a\x7e\xcf\x4b\xc1\x3b\x8d\x6d\x6b\x07\xad\x01\xd7\xdb\x2f\x99\x00\x62\x4c\xcc\xea\x7a\xea\xd2\x77\x58\xd3\x7a\x83\x63\xbb\xdd\xc0\x4c\xb1\x5f\xa5\x9c\x3b\x77\x34\x23\xe5\x8c\xad\xaf\x3d\x16\x85\xb2\x25\x5d\x97\x66\x79\x52\x69\xe7\x46\x81\x11\x10\xd6\x79\x96\x63\xe9\xb2\xb1\x8b\x51\x19\x36\xa9\x58\xd0\x39\xce\xc7\x79\x01\xce\x58\x21\x94\x35\xfc\x15\x56\x7f\x0e\xda\x87\x42\x6a\x0b\xce\x72\x55\x5a\x89\x5d\x80\x99\x3d\xcb\xc5\xb5\xc8\x51\xc8\xa3\xa7\x39\x78\x80\x58\xe7\x75\xa7\x77\x01\x4d\xbe\xd7\xa7\xbc\x90\x5a\xd8\x29\xe1\xc2\xc1\x73\x7b\x04\x3a\x49\x25\xac\x1e\x24\xe1\x05\xcc\x03\xa3\xb8\xc0\x05\x90\x10\xec\xa6\x66\xa3\x4a\x6f\xe6\x79\xa1\x90\x16\x00\xce\x6a\xb5\x1a\xae\xbe\x18\xca\x72\xba\xff\xe0\xe0\xe0\x60\x5f\x5d\x4f\x83\xcd\xbd\xf6\xf7\x5c\x9a\x5d\x37\x67\x7f\x25\xea\x7b\x71\xde\x05\xd8\x7d\xd6\x31\x30\x7a\x11\x90\x88\xfe\x0c\x42\x06\x88\x24\x59\xc6\x83\x55\xde\xc4\x00\xb0\xd3\xc7\x49\xf7\x36\xb5\xbc\x16\xa5\x32\x6c\xb6\xcf\x3a\x87\xc3\xc3\xea\xe8\xad\x72\xc5\x66\x23\x8a\x96\x8b\x8a\x31\x26\x17\x13\x5d\xf9\xaa\xe1\x70\x18\x7a\x77\xfa\x30\x25\x8a\x94\x8c\xc8\xd6\x56\x65\x37\xe7\x6f\xb8\xa5\x50\x71\x95\xa3\x3b\x36\x9b\xc1\x41\x52\x41\xad\x49\x84\x94\xf0\x85\x46\x17\x20\x81\x2d\x53\x5f\x4c\x63\x82\x55\x07\x0c\x3f\xa3\xec\x0d\x72\x2e\xcc\x5b\x77\x35\x93\x2c\xe1\x65\xe0\x6a\x0d\x5d\x2f\x78\x39\x15\x6d\xaa\x4a\x03\x15\x78\x83\xc7\x61\xd8\x29\xda\x49\xf4\x30\x1f\xc0\xef\x03\x0d\x0d\x3a\xcd\xbd\x76\xd4\x75\xc4\x7d\x1a\x77\x6d\xd3\x9e\x79\x3d\x43\xa0\xa6\x70\x6a\x81\xf0\x3b\xda\xc8\xc5\xcd\x23\x67\xbd\xef\xe0\xf5\x1b\x1b\x49\x3a\x72\xc1\x13\xd8\xdb\x83\xb6\x69\xd2\x0b\xee\xd4\xea\x39\x83\x40\x80\xcd\x1c\x32\x84\xd2\x02\xbb\xf6\x98\x72\xa4\x29\x6e\xf4\xd3\x62\xb1\x74\xaf\x7b\x7c\x34\xbe\xf2\x9d\x2f\x6c\x8b\xfa\x13\x0b\xe5\x10\x0a\x35\x88\xdd\xf9\x28\x84\x07\xfc\x79\x9d\x5e\x88\x88\xac\xd0\x03\x35\x97\x94\x1a\x0f\xc5\x0f\x17\x69\xb9\x20\x93\x6b\xe8\xeb\x6e\x53\xe1\x9a\x9e\x3f\x20\xa0\x37\x3c\x5f\x3a\x8f\xce\x93\xf3\xf3\x48\xfd\x04\x17\xb8\xb9\x50\x2d\x6c\x1b\xcd\x17\x0c\xc1\xd8\xb9\x0f\x3d\xf2\xea\x2a\x18\x63\xd8\x34\xb8\x5c\xe8\x0f\x7e\xd6\x2f\x17\x86\x72\x78\xce\xae\x61\x22\x66\x20\xf7\xda\x8a\x17\x88\x81\x8f\xe6\x1f\xbd\x7f\xe1\xf8\xba\x8c\xe7\x54\x80\x99\xd2\xc5\xba\x1c\xd0\x5b\xad\xce\x4a\xe8\x1f\x3c\x3a\x02\xd3\xb3\x47\x52\x3f\x9e\x73\xec\xba\x1f\x68\x02\x27\x11\x1c\xf7\x87\x0d\x6f\x6f\x00\xd2\x08\x06\x57\x6f\x26\x75\xee\xd0\x74\x14\x4f\xe1\x51\xd5\xb5\x62\x67\x30\x1d\x6f\x97\xc2\x3e\xeb\x22\x39\x09\x23\x1a\x2d\xfd\x6d\x40\xd9\xb4\x0d\x65\xb8\xa8\x30\xc5\x54\x1b\x82\x2a\x34\xae\x19\xb7\xe1\xae\xde\xa0\x13\xd6\xd1\xf2\x12\x6a\x85\xb4\x43\x5a\x28\x96\x79\xde\x07\x49\x01\xf3\x8e\x59\x90\x89\x02\xe5\x45\x2e\x79\x0a\x42\x8b\x19\x2f\xd3\x50\x86\xd8\x76\x63\xb2\x84\x80\x58\x73\x51\x87\xe4\x04\x99\xd0\x20\xe9\x3e\x77\x71\x84\xe6\xf8\x2d\x16\x79\x26\xd2\x60\x80\x5d\xe8\xec\x35\x9a\x93\x5e\x97\x79\x88\xb4\x65\x99\xfb\xa4\x3a\xee\x8f\xed\x06\xb0\x59\x29\x26\x9d\x3e\x33\x3d\x42\x6f\x94\x7a\x37\xef\x70\xe5\x1d\x54\x22\xa3\xe7\x46\xe3\x17\xc0\x08\x2b\xfc\x3b\x0b\x6f\xdb\x20\xe1\xfc\x2b\x83\x84\x79\xdf\x5b\x06\xd9\x46\x7c\x1e\x8f\x74\x09\x39\x44\x1a\x0e\x1c\x9c\xcd\xd0\x78\x57\xb1\xa9\x6a\x97\xfb\x7a\xc3\x40\x28\x21\xd4\xa8\x3b\x72\x09\x80\x36\xdd\xba\x82\xc7\x7d\xbf\xcb\x49\x2a\x45\x50\x02\xf8\x36\xc7\x09\x0c\x0c\x5b\xc7\x50\x1b\xc7\x00\x18\xad\x1c\x2d\xa1\xe6\xbb\x8d\x34\x15\xfa\x71\x5c\xd0\xf8\x36\xab\xa9\xd4\x42\xde\x65\x5d\x1b\x46\xdb\xbc\xae\x71\xad\xe3\xce\xb8\xf4\x63\x3e\x9d\xf3\x69\xe4\xac\x94\x99\x2f\x76\x18\xd3\x76\x84\xf6\xb7\x1b\x93\x62\xce\x7d\x40\x59\xf6\xeb\x2e\x23\x52\x37\xd3\xfa\x76\xe3\x05\x59\xa0\xdc\x98\x71\xae\xc5\x8d\xe3\x06\xdd\x6d\xaf\x5d\xc6\x3f\x89\x62\x1e\xdd\x96\xba\x6f\x83\x91\xa3\xf0\x48\xff\x47\xb5\xfa\x00\x05\x4a\x83\x38\x08\x51\xfe\x56\x21\xe7\x03\x4c\xe3\x9c\x14\x17\x33\x41\xa5\x76\xdc\xa3\xd2\xde\x45\xb1\x56\x04\x1a\x6d\xe5\xfe\x53\x41\xe1\xdc\xd5\x0d\x0c\x62\x19\xf0\x17\x04\x32\x15\xfa\x24\xcf\xcc\x23\xd9\x5c\xc9\x15\xdb\x97\x3b\x45\xc8\x68\xad\x88\x0d\x01\xe6\xf8\x07\x7a\x48\x91\x98\x0d\xdf\xe3\x5a\x06\x1b\xa3\x57\x0d\xfb\xdd\x84\xb8\xa8\xb6\xd7\x06\xcc\xd9\x52\xc2\x59\x3a\x85\x74\xd3\xbe\xa0\xd8\x9d\xd1\x66\xb3\x6d\x6e\xe0\x26\x11\x8a\xbb\x3d\x5a\xf1\xa6\xf5\x50\x6a\x9a\x4d\x0b\xda\x6d\x76\x18\x54\x7e\xbb\xe9\xe1\xe0\x0d\x89\x2e\xa3\xb0\x13\xd2\x78\xc8\x3c\x55\xf5\xd4\x36\x36\x41\xd0\xad\x3d\x2d\x03\xef\xfe\xcd\x93\x76\xd7\x77\x6b\x42\x4e\xab\x56\x74\x4f\xe8\xca\x84\x7f\xf7\x44\x11\x69\xe4\xca\xbb\xfd\x32\x89\x26\x7a\x92\x83\x06\x74\xa9\xa1\x0e\x6b\xc2\x93\x19\x9a\xa8\x5e\xb4\x27\x1f\x09\x06\x2f\x85\x61\x45\xa6\x53\x8b\x14\xb0\x31\x91\xc5\x0e\xc9\x25\xc2\x99\xce\x30\x81\x67\x10\x9f\x15\xa4\x2c\x89\x8e\x16\xf0\x23\x70\xef\x74\x19\x10\x60\x65\x98\xb1\x07\x32\x4e\x70\x4a\x75\x51\x7d\xff\xbd\x84\x48\xa8\x5b\xa5\x71\xb1\x7b\x68\xdf\x5e\x36\xf9\xd2\xad\xb7\x52\x09\x1d\x66\xbf\xd9\x94\xe3\xc5\xbe\x86\x09\xfb\xdd\xc8\x48\xd8\x9a\xd5\xc5\x5d\x45\x33\x91\x2e\x73\x71\x06\x18\xa8\xbc\xa6\x9f\x16\x13\x59\xce\xab\x79\x9d\x9c\x9b\x61\x29\xa5\x0e\x62\x2b\x21\x43\x15\x38\x02\x95\x98\x65\x28\xb2\xbe\x18\x78\x2e\xc3\x54\x21\x59\x2e\x8b\xa9\x28\xcd\x3b\x36\x73\x59\xab\xce\x83\xda\xc0\xe4\x24\xe6\xfd\x80\xa0\x88\x6a\x8a\x5a\xfe\xca\xda\x20\x57\x26\x52\x4c\xb7\xc7\x0a\xb9\x82\xc1\xe8\xd8\x99\x27\x6f\xa1\xb3\x52\xe4\x6b\x48\x60\x24\x4a\x57\x4d\x1d\x22\x4c\x33\xcd\xd2\x2c\x25\x35\x16\xea\x68\x6d\xfe\x24\x03\xa6\xf0\x51\xbf\xe1\x0c\x22\x1f\x61\x1f\x4b\x61\xad\xbe\x94\x5c\x0b\x49\x02\xa3\x49\x13\xa0\xd9\x34\x22\x4e\x75\x95\x2d\x14\x21\x0d\xa1\xba\x74\x49\x00\x76\x62\xde\x5a\x48\x9c\xfd\xd0\x2d\xca\xdc\xaf\x63\x4c\x92\x03\x81\xaa\x94\x3b\x89\x61\x35\xe2\x0a\x7b\x9e\x71\xc5\xc6\x90\x36\x81\xac\x65\x50\x2d\xc6\xe9\xa9\x7d\xb6\x90\x19\x57\x95\x89\x6e\x24\xd1\xac\x80\xcd\xab\xb8\xa0\x37\x17\x9c\x74\x06\xa9\x4a\x6c\x66\x58\x8b\xd1\xd6\x88\x0b\xad\x48\x61\xae\xe9\xa8\xfe\x77\x73\x05\xba\xa0\x78\x00\xe9\x03\xdb\x8a\xc9\x05\x65\xe4\xaa\xa1\xa2\x1b\x19\x91\xe5\x56\xd7\x60\x35\x5a\x9c\xb9\x84\x3b\xee\xda\xba\xf0\xdf\x76\x5d\xfe\x40\x5c\x53\x43\xeb\xc7\xd1\x0f\xdd\x00\x64\xa0\xea\x32\xfb\xff\x06\x8f\xd1\x99\x5c\xa9\x0f\x61\xb3\x7e\x05\xf6\xf6\x57\x94\x3d\xf2\x4f\x37\xec\x9f\x2f\xc3\x6b\x53\x5b\x04\xdb\xdd\x9c\xf5\x35\x8c\x2d\xad\xe6\xc5\x88\x69\x45\x09\x7d\x81\xbf\x74\x5d\x84\x61\xd7\xc7\x68\x50\x11\x47\x08\xd2\x6b\x82\x60\x03\x83\xa1\x81\xff\xda\x85\x6b\x60\xc9\x88\x8a\xc2\xc4\x6a\x04\x23\x71\xf6\x76\xfc\x18\x74\x43\x15\x79\x74\x71\xb3\x51\xbd\x45\xcd\x17\x37\xec\x3e\xeb\x2c\x6e\x02\x5b\x41\x9b\x1e\xa9\x2e\xdb\xd8\x0b\xee\xf7\xcc\x7e\xda\x3c\xfb\x48\x2c\x58\xf0\x52\x89\xa7\x85\xee\x6e\x58\x4b\x3c\xc9\xe7\x94\xed\x0b\xf8\x0d\x4d\xcc\x05\x18\xf9\xbc\x5d\x59\x81\xb9\x80\x6a\xb9\xd2\x42\x15\xe7\x0a\x65\xc2\x0b\xbb\x4d\xf4\xb7\x96\x36\xed\x17\x30\xad\x4e\x21\xcb\x39\xcf\x3b\x2c\x9b\xd8\x1b\x56\xce\x33\x4d\x05\x72\x7d\xa2\x7d\x9f\x60\xec\x23\x3b\xae\xa4\x1c\xa3\xfb\x7b\x2b\xce\x68\xdc\x93\x4a\xfe\x32\x87\x3c\x3f\x6b\x44\xe3\xfe\x3e\x7b\xb1\x9c\x8f\x45\x69\x13\x9f\x7b\xd3\x20\xbf\x16\x25\x27\x79\xc5\x4b\xd1\x75\x54\x59\x1b\x57\x01\x70\x5e\x4e\x9e\x01\x94\x23\x76\x78\x70\xf0\xa8\x3a\x02\xf8\x81\x30\x70\xeb\xcd\x0a\xd1\x38\x94\x7b\x80\xb4\x8f\x64\xfa\xba\x22\xa0\x30\xcc\xbd\x50\x31\x86\xe9\xd5\x22\x15\x95\xcb\xb8\x56\x51\x58\xb5\x59\x72\xa3\x6e\xb1\xb3\x92\xf9\x6a\xe0\xa6\x04\x1e\x9a\x9d\x7a\x97\x36\xdb\xd7\x36\xeb\x57\x93\xfd\xab\xd1\x02\xd6\x68\x03\x8b\x7f\xb7\x6f\x46\xbe\xd4\x32\x70\xc0\x8c\x1b\xd1\xfb\xb1\xd6\xc6\xea\x1b\xd1\x9c\xe6\xdc\xd5\x29\xd4\xc8\x66\x1b\xe3\x4c\x2d\x38\x18\xbf\xc8\x01\x9d\xce\x54\xc2\xf3\x64\x99\x43\x32\x01\x0b\x25\xce\xea\x98\x15\xec\x87\xac\x14\x13\x79\x53\x41\xdd\xf9\x82\x17\xdb\x37\xca\x8c\x5a\xdf\x29\xe8\xdb\xb0\x5b\xa6\xf5\xc0\x8c\x8f\x59\x09\x6a\xdb\x45\xfd\x8a\x42\x94\x3f\x5d\x3c\x7f\x16\xc4\x81\x74\x3b\xbf\x74\x86\xa5\x58\x08\xae\xbb\x9e\xea\x7a\x86\x31\x5e\x96\x9d\x9e\xfd\x29\x22\xfd\x06\x02\xaa\xfb\x82\xb9\x61\x2d\x9e\xfd\xd7\x8f\xb9\x12\x66\xac\x4f\x8d\x85\x31\xc1\xa5\xe5\xe3\xc6\xae\x78\x01\xfc\xca\x66\x5d\xb1\xd6\xcc\x99\x60\xb6\x7d\xdb\xf4\xea\x37\x46\xe7\x80\x6e\x8b\xe6\xf6\x95\x92\xbe\xbf\x54\xac\x14\xc1\xe4\x3d\xe4\xb7\xf6\xd5\x1d\xb0\xdb\xdf\x7e\x03\x0b\xc7\x0e\xae\x3d\xc4\x09\x5c\x6a\x65\x18\x61\x8b\x0a\xa6\xba\x35\x81\xda\xa6\x92\x05\xd2\x81\x23\x35\xc4\x7e\xc0\x98\x36\x87\xaf\xf9\x9e\xc4\x58\xf7\x59\x95\x84\xee\xed\x42\x41\x0e\xb7\x18\x59\x64\x00\xda\x5d\xb3\xc4\x53\xd9\x03\x2c\xa9\x71\x21\x17\x8f\x2a\x03\xd4\xb4\xf6\xb5\x01\xea\xf8\x6e\xee\x13\xb6\x6d\x70\x5f\x68\x71\xfa\xbe\x9e\x06\x8b\xf8\x55\xca\xf9\x0f\x3c\xd1\xa0\xb5\xf5\x0e\x05\xa1\x4f\xc9\xa3\x6d\x43\xd4\x26\x47\x43\x78\xd9\xc1\x6b\x4a\x1b\xd3\xaa\x54\x93\x86\xd6\x1f\xe8\xa5\x18\xcc\x03\x69\xc2\xca\x3c\x95\x5c\xa3\x90\xbd\x27\x05\xaf\x03\x7f\x95\x52\x16\x5b\x5e\x30\x0c\xf9\x02\x0e\xaa\x93\xed\xda\xb2\x9a\x0c\xd6\xa6\xb7\xa8\xb4\x81\x2f\x9b\xa4\x83\xee\x36\xeb\xf4\x99\x79\xa4\xb3\x34\x9b\x8b\x42\x41\x9e\x47\xb3\xa0\x40\x47\x45\xef\x30\x73\x8d\xa3\x97\x1c\xbc\xa9\x39\xbd\xc8\xc8\xaa\x67\x00\x05\x20\x48\x18\xf4\x0e\x6b\xbb\x28\x6a\x36\x2c\xb6\x35\x53\x5f\xe5\x98\x63\x52\xf2\x48\xd5\xca\x06\x75\xe3\x6a\xe2\x1b\x3f\x8a\xac\xa8\x71\x7e\xc9\x48\x30\xa6\x37\x97\x7a\xe2\x56\xf9\xa1\xdb\xdb\xf8\xd0\x58\x2c\xc7\x79\xa6\x5c\xcd\x6a\x17\xf9\xca\xfe\x11\x24\x88\x1b\xa1\x46\xe1\xa3\x65\x28\x95\xe5\x07\x8f\x0a\xec\x73\x26\x57\x17\x12\xdf\x67\x5d\xf8\xba\x41\xe5\x00\x79\x30\xbb\x3d\x97\xac\xc8\x01\xa8\x6a\x55\xf0\xc7\x8f\xcd\x0f\x13\x57\xc5\x06\x5c\xef\x02\x11\xdf\xa5\xfe\xb5\xfa\xc2\x9d\x88\xba\x01\x7f\x2d\x3a\xf4\x50\xc7\xde\xa4\x76\xf5\x5b\xd6\x90\x81\xd5\xf7\x46\xae\xbd\x31\x1b\x6b\xd0\xd8\xaa\x72\x9d\x87\x11\x46\x0d\xd8\xfb\x13\xd2\x56\x72\x9b\xd7\x0d\x50\x30\x16\x94\x1a\x36\xca\x45\xad\xb4\x39\x7a\x2e\xd8\x0e\x64\x28\x9b\xaf\xd5\xba\x1f\x4d\x72\x69\x4e\x50\xb1\x66\x13\x68\x2c\x29\x13\x26\x9e\x34\xe7\x55\x74\xed\x1e\xd7\xb0\xa1\x54\xac\x60\x32\x54\x73\x5e\xea\x1f\x0c\x8c\x27\x99\xd9\x77\x4b\x60\xb5\xd5\xf4\x1b\x58\xc5\xd0\x7a\x68\xfb\x54\x4b\x05\x4b\xe4\x7c\xb1\xd4\xd5\xa7\x80\x5c\x9a\x67\x92\x16\xd3\x92\xe7\x74\x7f\x51\x3a\x5f\x57\x4d\xc3\x4f\x51\x39\xfd\x79\xe3\xdc\xff\xd2\x3e\x95\x68\x26\xa0\x37\x27\x7d\x58\x22\xd8\x58\xe8\x95\x10\x91\x67\x2b\xcd\x0f\x02\x36\xa4\x26\xc4\xd1\x97\x46\x8c\x55\xce\x73\x74\x2c\xd8\x9c\xa7\xe0\x0e\x08\x1c\x4b\x81\x23\x36\x06\x73\xa3\xd3\xa0\x15\x7b\x4b\x91\xc8\x32\xc5\x93\x88\x3e\x2c\x4a\xb2\x4c\x5b\x1f\xb1\xc2\xaa\xb5\x58\xce\x35\x66\x8b\x4d\x05\x6e\xaa\x73\x3e\xb7\x9a\x8e\x86\xdd\xbb\x90\x8b\xe7\x30\xa8\x2d\x0f\x59\xf9\x1d\x4f\xb3\x6b\x52\xdb\x46\x36\xa8\xe3\xd9\x9f\x81\x8a\x27\x37\x2e\xcf\x06\x3c\xb7\x4f\xc5\x3e\xfd\xef\x79\xb5\x91\x01\xe3\x92\x0f\x1d\x3c\xda\xa4\x30\x6b\xa8\x1c\xde\x90\xb6\x2d\x86\x79\xbf\xc6\xad\x89\xcf\x36\x28\xc0\x1a\x8a\xfa\x87\x99\xa4\x2c\x8b\xaa\xdf\x38\x91\x6d\xc5\x05\xb8\xd4\xa3\x59\xac\x7f\x0d\x99\xa4\xaa\x5c\xa3\xaa\x19\xa9\xf6\x9b\x59\x62\xaf\x1f\x80\xfb\xd5\x65\x6f\x86\x64\x5e\x7e\x41\xf2\x26\xb8\x9e\x50\x88\x7b\x66\x7e\xd9\xd2\xdb\x10\x74\x63\xe7\x0b\xb9\x60\x83\x96\x99\x6c\xd3\xc4\x55\xee\xc1\x3a\x97\xde\xdf\x67\x98\x87\x21\xcc\x8e\xcc\x4b\xc1\x03\x97\x75\xa8\x6c\x00\x51\xc9\x99\x4b\xfc\xa2\x98\xb8\x16\xe5\xda\x26\xfd\x75\x6c\x39\x4c\xdd\xdc\xa6\x46\xa7\x3b\x6d\x83\x6b\xb5\xdb\x93\x6e\x2b\xab\xc1\x5c\x97\xdb\xfe\x35\xcc\xab\x29\x13\x51\x73\xbf\xc6\xb3\x76\x87\xde\x11\x53\xd8\x09\x80\xd9\xdc\xca\x4d\x4e\x17\xbe\xb3\x25\x41\x74\x0b\xc8\xe6\x8c\xdb\x9c\x80\xe0\x0c\x65\x65\xdf\xa7\x64\xe4\x9b\x0b\x3d\x93\x29\x24\x05\x44\xf3\x02\xe5\xca\x46\x87\x7b\x65\xdd\x6b\x41\x1a\x40\xc8\x33\xae\x48\x26\x4c\xd0\x77\xff\x2f\xac\x5c\x16\x41\x4a\x51\x6c\x26\x93\x64\x59\xee\xe0\x68\x15\x89\x2a\x3b\x69\x82\x71\x80\x3b\x68\x81\x4b\x3b\xc6\x9d\x34\xc0\xd8\x3b\xd2\xfe\xba\x14\xf5\x6d\xaa\x5f\x5a\x55\xf8\xa6\xa8\x65\x26\xc6\xec\xde\xb2\x68\x49\x71\x6d\x85\x33\xbb\x71\x90\x98\x03\x07\xce\x8a\x69\x1f\x72\x72\x94\x02\xdc\x94\x27\xcb\xdc\x29\x70\x94\xcb\x77\xe8\xec\xba\x58\x2f\x04\x33\x10\x43\xd1\x30\xeb\x43\xe7\x06\xf5\x09\xcd\xc0\x48\x46\xf9\xc7\xad\xdf\xfe\x9a\xad\xf8\x7a\xc8\xd8\x13\x09\xc9\x90\x24\x09\x43\x46\x12\x5a\x96\x63\x0b\xcc\x01\xc1\xc8\x95\x24\x27\x07\xbf\xe5\x82\xf1\x89\xc6\xbc\xaa\x56\x8e\x42\xb1\x6a\x92\x73\x35\x13\x0a\xab\x37\x2a\x6d\x8b\xcb\x64\x85\x2d\x85\x11\xcc\x0b\x6a\x8a\x28\x0d\x29\xd0\x95\x16\x3c\x05\x04\x60\x19\x45\x97\xeb\x12\x95\x43\x94\x0d\xc0\x95\xae\x30\x62\x00\xe4\x50\x50\x9a\xab\x59\x25\x72\x04\xd0\xb2\x0f\x89\x7f\x97\x5a\x65\xa9\xa8\x5e\x33\xc0\xf4\x50\xed\xeb\xea\xb8\xb8\xd2\xaf\xca\xd9\xe8\x6c\x73\xf2\x80\xbc\xb5\xdd\xd5\x96\x60\x68\x7e\x1d\x81\x95\xd5\x45\xcb\xa9\x0f\x21\x97\x74\x79\xa7\xcc\x71\x8f\xd2\xfe\x35\xbc\x76\xb6\xd8\xc4\x29\x57\xf8\x9f\x6e\x64\xba\x20\xa9\xa3\xd2\x24\x68\xf1\xd8\x1b\xe7\xba\x35\xc3\xd3\xdd\xcc\x55\xbb\x3d\xfd\x36\x5a\xe5\x5a\x71\xf9\x68\x27\xe7\x03\x9f\xdb\x2b\x4e\x88\xdf\xf5\xef\xd9\x2a\xce\x6d\x79\xfe\xaa\xf4\xfd\xfd\x51\xc3\xa5\x56\xa9\x57\x59\xc4\xbc\xa1\x68\x8d\xaf\x2c\x85\x2b\x5b\xe4\xec\xe0\xd1\xfd\x51\x3b\x41\xe6\xec\xee\x23\x73\x09\xaa\x2a\x79\xd8\x51\x28\xa4\xab\xff\xd3\xe0\xa0\xc0\xb4\x7b\x23\xc8\x39\xea\x68\xc6\x82\x94\x2f\x41\xf5\x23\x3c\x8a\x20\x87\x18\x68\xc1\x65\xe5\x56\xd1\xc5\x70\xe7\x52\x69\x86\x41\x95\xf6\x2d\xdb\x67\xfc\x8a\x47\xd2\x6e\x2f\x58\x5c\x21\x75\x3f\x06\x64\x27\xe1\xe1\x05\x8f\x62\xe8\x05\xf1\x58\x49\x99\x61\x3c\x21\x4d\xd0\xdf\xb1\xae\x2c\xd2\xdc\xa2\xc3\x63\x0f\xb9\x14\xf1\x56\x03\xcc\xb1\x57\xef\x3b\x52\x63\xd3\x21\x17\xc4\x0b\x5a\x39\xff\x28\xc3\x07\x31\x02\xc0\x21\xcd\xb3\xc5\xf9\xf6\xec\x6e\xc1\x69\x8c\xbc\x76\x83\x83\xe9\x6b\x8b\x56\x39\x90\x4d\x34\xfa\xdb\x6f\xa1\x0b\x73\xbd\x41\x90\x58\xf1\x88\xd5\x40\xd3\x03\x20\xc8\x5b\xec\x1c\x29\x7c\xd8\xaf\xdd\x9e\x3e\x46\x03\x85\x77\x9f\xc0\x7d\x33\x58\x60\x2e\x40\x12\x77\x0e\xb2\x3c\x0f\x9d\x1b\x76\x45\xe2\xf6\x69\xaa\x9d\x53\x80\x8b\x7b\x0d\x17\x14\x04\xc1\x17\x4a\x94\xfa\x31\x90\x5f\x1c\x28\xdb\xaf\x36\xf5\xc0\xad\xc1\xa0\x21\x8b\x65\x15\xa3\x61\xd6\xbf\x36\xa4\x52\x46\xf4\xed\x28\x7d\x69\x2b\xaf\xb9\x7d\xca\xc2\xf3\x6f\x90\x56\x41\x4d\xc3\xce\x85\xee\x10\xbf\x1f\x49\x3b\x48\xbd\x3b\x4c\xa4\x57\x0b\xb4\xd8\xdf\x67\x8f\xa5\x9e\x79\xcf\x9f\x1d\x97\x49\xb8\xdc\xb8\x48\x27\x2e\xfe\x91\xcb\xac\x4f\x24\xcc\xd7\x49\xc5\x85\xb2\x39\x48\x67\x59\x61\xce\xb3\x48\x33\xae\x05\x5a\x80\x71\x7d\xf4\x5e\xdf\x6d\x27\xef\x6d\x9b\x4b\xeb\xba\xeb\x6a\xfa\xed\x9b\x15\x64\xb7\x84\x59\xee\x70\x12\xeb\x50\x63\xfb\xf0\x06\x9b\x46\xf3\x19\xb4\x51\x0c\x1b\xaf\xc7\xf6\x3c\x03\x9f\xe4\x86\xf4\xe0\xff\xe0\x1b\xd2\x8a\xe0\xf1\x3a\xba\x38\xd1\x44\x16\x69\xfb\x25\xe9\xfd\xa2\x1a\xef\xc9\x10\x5e\x78\x55\x42\xad\xa0\xff\xe6\x37\xe5\xe3\x28\x05\x82\xbb\x2c\x2b\xa2\x66\xeb\x7d\x49\x09\xb8\x77\x65\xec\xdf\x1d\x55\x85\xd8\x6d\xd7\xa5\xe7\x7a\xc1\x2e\xed\x7a\x63\xc2\x06\x6e\xbe\x30\x4d\x93\xf8\x94\x86\x4e\x74\xcd\xec\x62\x7b\xf6\x86\x4f\x76\x33\xd6\xc5\x8d\x4d\x28\x74\xd7\x23\x6d\x4b\x16\x9e\xfe\x86\x5b\x23\xcc\x67\xd1\x74\x61\xd4\x18\xe8\xae\xd7\x46\x00\xf8\xce\x37\xc7\x0e\x57\xe2\x27\x5a\x5c\x95\x1b\xff\xe1\x0b\x74\x03\xfe\x4f\xba\x10\xeb\x27\xad\x6d\x3a\xbb\xdf\x86\x0e\xe6\xf6\xcb\x10\x88\x26\x34\xd5\x18\xf1\x1b\xf2\xf0\x78\xbe\xa2\x36\x5f\x8b\x17\x01\x9f\xe7\x4a\x2d\xe7\xb6\x24\x6a\xa4\x00\xe8\x01\xd4\xea\x8b\xbf\x87\x05\x3d\x78\x5e\x0a\x9e\xae\x49\xf3\xd8\xa7\x94\x5e\xf6\xb2\x83\x26\xa0\x6c\x37\x34\x60\xef\x53\x7f\x81\x94\x72\x15\xa4\x56\xc7\x5b\xf9\x1e\xd6\x61\xf2\xdf\x8a\x22\xed\x45\x0b\x85\x95\x05\xf7\x57\x29\x92\x75\x92\x0b\x15\x3a\xa0\x43\xaa\x94\x99\xa8\x96\xb0\x24\xb7\xe8\x85\x54\x30\x15\xf4\xa4\xb6\x05\x85\xad\xda\xac\x94\xab\x73\xac\x1c\x6d\x35\x78\x85\xb0\xc6\xd7\x6c\xc2\x0a\x91\x08\xa5\x78\xb9\xfe\xef\x7a\x85\x86\x0a\x9b\x5a\x7d\xa1\x4d\x0a\x9c\x4d\xd5\x65\x7e\x16\x62\x81\x11\xc1\x18\x62\x9c\x0a\x45\xd5\xde\x5d\x96\x53\x5a\x27\x26\x8f\x77\xc5\x64\x45\x01\x06\x5a\x51\x52\x66\x1d\xc8\x08\x00\x15\x08\x18\xbb\x98\xd9\xd2\xce\x13\x9e\xe5\xcb\x52\x44\xa5\x4a\xf0\x9c\xbd\x36\x80\x20\x1e\x20\x82\xef\xe1\xd8\x53\x4a\xac\x28\x68\x05\x07\xbb\xd6\x8e\x2e\xbf\xa0\x9d\xaf\x48\x84\x09\xec\x3b\x4f\x32\x74\xcc\x77\x73\x27\x30\xb0\xee\x0e\xdd\xa8\x54\x61\x29\x18\x0e\x73\xd6\x4f\x9a\x6e\x6c\x07\xfa\xd4\x82\x14\xd1\x49\x77\xfa\x96\xa6\x71\x20\x4f\xb7\xe0\xb6\x1a\x4a\x30\xa4\x55\xa1\x47\xb3\x08\xff\xaa\x3b\xd6\x33\x07\x2a\x08\x5d\x8e\x78\x9a\xfd\xbd\xca\x45\x8d\x4c\x34\x93\xa5\x9e\x51\xa2\x0f\x8c\x8a\x50\x94\xda\x7a\x2a\x29\x6c\x1c\xe3\x70\x72\xa9\x87\xd5\x7a\x2b\xe7\xbe\x6a\x4a\x0b\x13\x7f\x54\xed\x72\x6a\x0b\xaa\x34\x32\xe8\x58\x5d\x6a\x10\xce\xea\x42\x53\x58\x1f\x09\x4c\xa5\x38\x5f\x71\xc3\xe7\x58\xa7\x2e\x4c\x28\x47\x47\x35\xd3\xa2\xe4\x36\xf9\xcd\x6e\x11\x10\x56\xc9\x0b\x1b\xf8\xa4\xe4\xce\xff\xe0\x39\xd7\xb3\xe1\x3c\xc3\xfa\xc4\x55\x2d\xe3\x0e\x97\xf5\x16\xe3\x1e\x0a\x78\x66\x3b\xba\x40\x27\xc1\xc8\x07\x8f\x82\x3f\xbf\xab\x4e\x2d\xf8\xf1\xfe\xfd\x30\x3c\xa3\x0c\xd4\xce\x81\xca\xfa\xbe\x6f\x5f\xa9\x13\x66\x08\x3f\x78\xd2\xb8\x73\x06\x3e\x21\x9d\x6b\xc1\x66\x99\xae\x8b\xcc\x2b\xef\x4a\x80\xf2\x0c\xe3\xc0\xa8\x6d\x75\x53\x17\x2c\xb2\x8a\xca\x59\x08\x9d\xcc\x48\xf7\xfb\xa1\x5b\x86\x1a\x6b\x77\xb4\xa9\x4b\xe8\x0c\x64\x6b\xaa\xe4\x72\xda\xdd\x3b\x31\x0c\xba\xe8\x68\x06\xc0\xb0\x70\x9f\x81\x32\x62\x7b\xec\x3e\xab\xc1\x64\x6c\x5c\x0a\x7e\xe5\x3c\x7f\xee\xed\x20\x94\xd1\x14\xfa\x2c\xb0\xd3\xc3\x2c\x74\x56\x2c\x45\x24\x66\xb9\x6a\x6b\x1e\xef\x47\xac\x5a\x12\xc5\xe7\xac\xb2\xb1\x49\x64\x16\xc1\x5c\xd3\x90\x7d\xaa\x8f\x17\x14\xcf\x65\x31\xb5\x18\xdc\x50\x4c\x6d\xe3\x84\xea\x67\xf6\xf3\xcf\xeb\x07\x79\x97\x29\xd7\x9f\xed\xb6\x50\x62\x6c\xee\xc1\x7c\xd5\x94\x73\x02\x2f\x6b\xb8\x43\x3c\xac\x95\xc0\xf2\xa7\x58\x92\x9c\xc1\xa3\x26\xbe\x21\x8a\xb8\x6e\xc9\x79\x2c\xd6\x3a\x6c\xd4\xd7\x71\x27\xd4\x10\x6f\x0a\x11\x73\x5a\x79\x5f\xee\x86\x16\x51\xa4\x7f\x1e\x52\x4e\xfd\x63\xa6\x09\x25\xa7\x35\x2d\xd9\x4e\xc4\x1b\xd5\x6b\x39\xf7\x4a\x6b\x56\xfb\xf1\xb4\x22\xe9\xa3\xe3\x98\x08\xae\x45\xa7\x4f\xdd\x6f\xaa\x1e\x4a\x32\x5f\xe4\x6b\x06\x5e\x47\x04\x6c\x2d\xc8\xa4\x19\x71\x14\x28\x5a\x2b\x78\xfa\x3f\x8a\xb3\x20\xa1\xd9\x3a\xa3\x18\xc3\x08\xf9\x81\x78\xce\xf8\xd8\x66\xfe\x63\x48\x20\x58\x2d\xb5\x03\x8c\x45\x2e\x4b\x32\x50\x9f\x09\x60\x2d\x16\x5c\x16\x94\x53\x74\x05\x36\x83\xc8\x4e\x33\x9a\xaf\x45\x74\x1b\x04\x37\xa3\xf7\xf7\x20\x37\x40\x6d\x03\xb1\xd6\x86\xba\x0b\xa7\xbc\xed\x3e\x85\x8b\x8c\xde\xab\x4e\x32\x1b\x2f\xa7\x53\x8c\xe9\xdd\xf8\xec\x6c\x0a\x7f\xac\x41\x8d\x94\x3d\xad\x71\x99\xf7\xda\x79\x46\x70\xa7\xc7\x66\x4f\x48\x14\x64\xe8\x67\x2c\xf5\xcc\x26\x9b\x1c\xf3\x29\xba\x41\x13\xbb\x82\x3a\x0d\xee\x21\x67\xe3\x35\x82\x34\x13\xd6\xa3\x00\x73\xc7\xba\x08\x9a\xc8\x7d\xd1\xea\x79\x1b\x0b\x09\x1b\x38\x14\xfc\xca\x6d\xb1\x7f\x85\x35\x05\xa0\x74\x90\x9c\x4c\x6c\x46\x03\x9f\xbb\x96\x4d\x32\xcc\x33\xbb\xd4\x81\x1b\x36\x65\xdd\x76\xc9\x84\x77\x08\x90\x0f\x9c\x07\x36\xf9\xda\x44\x39\x79\x5b\x92\x05\xc5\x8d\x2a\x21\x21\x61\xf0\x48\x1b\xb4\xba\x4e\x22\x6a\xd9\x8b\x48\x21\x20\x81\xed\x53\xab\xb5\xdb\x30\xbb\x0d\x30\xeb\x13\xac\x36\xae\x6b\x4c\x5e\x19\xce\x13\x45\x64\x93\x63\x0f\x04\xfd\xcb\x89\x53\x48\x38\xbf\x94\xaa\x52\x64\xce\xd7\xe8\x4c\x65\x5d\x51\x49\xd4\xb7\xae\x5d\x1f\xb6\xee\x34\x8c\x65\x79\x56\x25\x76\xdf\xe3\xaa\xd5\x2f\xe1\x1d\x35\x73\x12\xc1\x7b\x0c\xde\xc7\xb7\x5b\xb0\xd6\x1f\x80\xa5\x85\x8e\xe2\x2e\xab\xee\x14\x4a\x20\x67\xe4\x27\x5b\x8b\xb6\xd0\x58\x82\x0c\xbb\xd8\xd3\x86\x28\xca\x26\x81\xa6\x44\x96\xb6\xc7\xdf\x97\xa0\x6f\x28\x80\xf0\x5d\x97\x30\x47\x01\xe6\x92\x0b\x4c\x13\x0e\x61\x24\x79\x2e\x4a\x39\x2d\x85\x72\x99\x2e\x02\xa3\x49\x6a\xab\xe1\x06\xb1\x1f\x66\x36\x5b\x51\x1d\x5d\x0f\x15\x54\x57\xf4\x13\xae\x56\xb1\x23\xe7\x66\x77\x92\xcf\x3f\x0f\x8a\x7f\x17\x1b\x1c\x4f\x2c\xc9\x87\xcf\xbc\xc6\x86\xef\xdc\x46\xd6\xb4\xc1\x61\xdf\xb6\x94\x06\xd1\x25\x15\x1f\xc8\x26\xf2\xe9\xf9\xb3\x15\x11\xa2\xe5\xff\xf7\x2a\xd5\x9b\xeb\xe9\x13\x79\x9e\x47\x09\x96\xaf\x33\xb1\x5a\xec\x16\x25\x6d\xfa\x1f\xe7\x79\x73\xbc\x01\x98\xfd\xe0\x05\x5e\x61\x76\xb5\x97\x71\x54\x4e\xef\xa0\xa2\xac\xd9\xe8\x20\xbd\xbb\x36\xb8\x15\x42\x74\x5b\xdb\x39\x37\xcb\x23\x07\xbd\xc6\x5b\x37\xba\xd3\x2d\x84\x7e\xc5\x7e\x1d\xf4\xdc\xe0\xfa\x54\xa1\x97\xea\x74\xda\x12\x2b\xb8\x52\x5a\xe4\x88\x14\xb9\x84\xb5\xeb\x05\xd8\x80\x1d\x3e\x8a\x7b\x3e\x6a\xb8\x01\x1a\xf1\x16\xed\x59\x38\xec\xff\xcf\xde\xdf\x77\xb7\x71\x63\x79\xe2\xf8\xff\x7e\x15\x70\x76\xc6\x24\x63\x92\x92\xbd\x9b\x9d\x6e\x29\xea\xfe\xc9\xb2\x3c\xed\x8d\x1d\xf9\x48\x72\xd2\x33\x8e\xc7\x01\xab\x40\x0a\xad\x62\xa1\xb6\x00\x92\x62\xda\xde\xd7\xfe\x3b\xb8\x17\x8f\x55\x28\xb2\xe4\x38\xfd\x30\xe7\xdb\x67\xce\xc4\x62\xe1\x19\x17\xc0\x7d\xfc\xdc\xd4\xf6\x75\xd8\x35\xfa\xef\x5e\x57\x03\xd1\xe6\x99\x51\xa4\xf7\x2e\x1a\x62\x72\x1b\x43\x13\x99\x29\xdd\xde\x91\x46\x1f\x7d\x16\xe8\x78\x67\x62\x61\x1f\xa4\xda\x4c\x24\x1c\xe6\x64\xb5\x61\xa6\x01\x79\x1d\x36\x8a\xb0\x3b\xc5\x4a\x37\xf2\xb1\x1d\x69\x22\x41\x7b\xe0\x84\xd7\x72\x63\x4c\xa3\x12\x2c\xe9\x1d\x5f\xae\x96\xd6\x25\xdd\x45\x30\x45\xc1\xfe\x3d\xc0\x8a\x44\x51\xbc\xa6\x77\xd1\xcd\xcd\x22\x58\x82\x61\x3a\x92\x41\x35\x3c\xd3\x47\x91\xe7\xb6\xea\xf4\x0f\xdf\xe9\xfc\x3d\x09\x9a\xd8\xdd\x2d\xc4\xbb\x35\x5d\xc0\x61\x25\xfc\xe3\xeb\x8e\x83\x79\xd8\x94\xc9\x9a\xd2\xe1\x96\x1a\x22\x23\x40\x2c\x10\xab\x3f\xf9\x36\xf0\xff\x9b\xea\x46\xdf\x8b\x3a\xaf\x7d\xee\xdd\x2e\x94\x0d\x32\xf9\x75\x3d\x90\x6a\x9f\xa7\x6a\xda\x37\xb2\xf6\x7a\xbe\x7b\xb9\x43\xfa\x00\x34\x51\x14\x38\x30\xd7\xd4\x8e\x00\x26\xb7\xc9\x5d\x1b\xdc\x68\xf9\x35\xbd\x8b\x23\xdb\x0c\xb9\xe1\x61\x02\xbd\x8c\x1b\xc1\x1f\x7c\x1d\x7c\x41\xc3\xc1\xb9\x4f\xf1\x6d\xe8\x50\x32\x7c\xd1\x13\x5f\xaf\xe5\x21\xdf\x55\xc7\x57\xe9\x87\xcb\xb4\x97\xd4\xe2\xfc\x17\x7f\x17\x6a\x73\x71\x51\xff\xbd\x09\x6e\xf7\x8d\x02\xf7\xb1\xeb\x72\xf2\x99\x11\x7b\x31\x9d\x7e\x4b\x0e\xdb\xf4\x79\xf8\x9b\xd3\x65\xfa\x19\x70\xea\x14\x4b\x2c\xe8\xde\x19\xc4\x86\x45\xd2\x07\x97\x71\xb4\x45\xe3\xf5\x98\x92\x3d\x62\x03\xda\x38\xeb\x00\x50\x0f\x22\xbe\xb5\x20\xff\x35\xea\x93\xbe\x06\x79\x42\xd9\x0b\xb7\xcf\x2b\x74\x1d\x79\xd8\xa7\xc1\x71\xc0\x1c\x03\x16\xd5\xae\x05\x3e\xe8\xde\xc4\xce\x47\xb4\xb5\x7a\xe0\xea\xf3\x8f\xb1\x78\x78\x85\xf4\x59\xbf\x67\xcd\xb0\x83\x6e\x67\x65\x8b\x40\x18\x19\x88\x92\x67\x02\xf8\xd0\x60\xd5\xfe\x04\xf0\xf0\x98\x3f\xcb\x4c\x1c\xb4\x2e\x32\x44\x20\xb5\x09\xe7\xa2\x1c\xcf\xa0\xeb\xf1\x9c\xc2\x40\x06\x07\xc7\x26\x66\x36\x11\xf6\x12\x34\x3e\xb8\x4e\x4b\x0a\x0a\x80\x7c\xc5\xec\xa5\x0a\x29\x55\x96\xb4\xc4\x7c\x9f\xde\xac\x6f\x23\x85\x40\x5a\xa6\xb8\xe2\x74\xb9\xa4\x8a\x67\xa6\xdd\xbd\xab\xe8\xd2\xed\x25\xf8\xa0\x9e\x81\xda\xee\x9a\x88\xa3\x2b\x1f\x06\xf7\x61\x14\xbf\xed\x7c\xb5\xda\x41\xb0\xed\x3a\x26\x8e\x7b\x14\x66\xa6\xe7\xd2\x2c\xb3\x5e\x29\x5a\x48\x01\xeb\x1d\x2a\x4b\x20\x6e\x71\x38\x5b\xa9\x38\x88\x0d\x7e\x86\xaa\x0f\x47\xd3\xa8\x3d\x93\x3b\xa2\x9d\x43\x05\x73\xef\x44\xab\x4d\xa8\x8c\x72\x45\x61\xbb\xae\xbd\x97\xa5\x09\x3f\x02\x60\x3c\xb0\x1b\xda\x00\x73\xcc\x24\x1a\x1e\x21\x9c\x07\x2d\x73\x52\x30\x45\x6c\xea\x6b\xdb\x94\x49\x67\x87\x76\x6b\x3c\x65\xd6\x90\x30\x46\x27\x50\x70\x58\xc8\xc9\xaa\x32\x0d\x06\xb9\x99\x37\xb5\x80\x00\x75\x4c\xf7\xe2\xe2\xfc\xc1\x0b\x94\x46\x83\x46\xd9\xc3\xc1\x46\x90\xb6\xfb\x9d\x29\x11\x84\xbc\xa1\xca\xc1\x80\x1f\xf8\x14\x8e\x29\xd4\x83\x51\x03\xea\x93\x43\x3e\xe8\x8c\x96\x00\x39\x58\xf3\xdc\x24\xbd\x75\x59\x94\xcc\x6a\xdd\x30\xf7\x6c\x42\x72\xc7\xc6\xb1\xb3\x0d\x69\x22\xc8\xa8\x5d\xcb\x56\xea\xbd\x56\xb3\x2e\xcf\x91\x07\x2a\x74\x8a\x25\x20\x26\x58\x75\x6b\x61\xf7\x7d\xf6\x3a\x46\x90\x70\xb2\x79\x94\x76\x5e\x26\x93\xd4\xdc\xc2\x2b\xe5\x47\xff\x3d\xbc\x57\xfc\xbd\x60\x29\x94\xc7\xab\xa5\x17\xd7\xdd\xbd\xad\xa1\x13\xf2\xcc\x40\x1b\xc0\xdb\x59\x8b\x52\x41\xfe\x1f\x97\x5e\x28\x1d\xc5\x66\x7d\x7d\x4c\x16\x41\x47\x56\xcf\x5f\xfe\x30\x0e\xe9\x1a\x87\x60\x3d\x91\xc0\x92\x33\xdb\xda\xc4\x8b\x71\x08\x1f\x0c\x8f\xae\x19\xc6\xad\xda\xfc\x8d\xf6\xb6\xbb\xdf\xca\xa7\x6e\x31\xa0\xd4\xa8\xd4\x90\xf9\x14\xe8\x6c\x6a\x06\xf5\x06\xe9\x86\xe5\x2d\x1e\xe5\xe0\x80\xbc\xe0\x8b\x55\x0d\x69\x92\xc8\x8d\xd8\x90\x39\x35\x19\x3c\x70\x57\x34\x65\x49\x82\x59\x6a\x70\xfe\xd6\x0d\x23\x67\x85\xa2\x41\xf0\xb6\x1d\xc1\x73\xfd\xbb\x1d\x86\x89\xb5\x6b\xc6\x78\x07\xdc\x1b\xb6\x63\x6f\x5a\x15\xb2\x62\x2a\x60\xc2\xee\x23\x7d\xa8\x94\xdc\xa1\xba\x24\x0e\x51\x79\xa7\xc3\xe6\xf0\x82\xab\xf9\x35\x7a\x5b\xf9\x91\x9b\xbc\x67\x34\xba\xee\xc6\x64\x73\xc3\xb3\x1b\xa2\x6a\xbe\x58\xb0\x5a\x06\x11\xc6\xc1\x7d\x94\x62\x0a\x95\x66\x07\x23\x67\xdd\xf8\xb4\xe3\xc9\xd8\x80\x0f\x87\x4b\x8f\x6d\xb1\x47\xf1\xfe\x54\x37\xac\x66\x03\x47\x95\xb6\x31\xb7\x73\xe1\x75\x5d\x51\xa3\x31\xc6\x6d\x56\x37\x35\xc4\xba\x4b\x11\x24\x8f\xb2\x29\xab\x30\xb5\x1b\x26\x20\x5b\xb3\xda\x93\x41\x57\x3a\xd0\xc8\x74\x70\x66\xa0\xd6\x98\x23\x2f\x4a\x82\x7b\xc1\x5a\x2c\x5d\xab\x91\x10\x05\x14\x05\xb9\x6e\x3e\x11\x06\x57\x07\x26\x57\x0b\x1b\xd0\xb3\xa9\x45\xc6\x30\xff\x85\x87\x2b\x44\xc4\x8f\x4f\xe4\x4f\xa6\xdb\xa1\xd3\xa2\x8c\x22\x6a\xee\x23\x7c\x79\xca\xee\xe0\x25\x0c\x15\x6b\xc9\x64\xc3\x55\x76\x83\xa7\xaf\x50\xf4\x75\x60\xc5\xd1\xaf\x26\xf1\x53\x9a\x3e\xbf\x78\xfd\xe1\xf9\xf9\xab\xeb\xd3\x0f\x6f\x5e\xfe\xf9\xfc\xd5\x91\x33\x3d\x62\x3f\xa6\x85\xff\xb0\xa2\x4c\x30\x94\xd7\x18\xce\xce\x59\xfd\x21\x61\x63\xed\xee\xe7\xd5\xcb\xef\xcf\xf7\x75\x93\x96\x98\xee\xd1\xc9\x9b\xd3\x7f\xff\xac\x4e\x82\x79\xc2\xf1\x58\x30\x15\x22\x19\x45\xfd\x7f\x0a\x3c\xc9\x24\x5f\x94\xc8\x98\x43\x52\xf5\x1c\xdf\x3b\x48\x4e\xa8\x29\x1e\xc8\x8b\xdd\x55\x26\xb5\x9b\x21\x0f\x1c\xd8\xd7\x64\x62\x38\xe2\xcf\x7c\xc3\x21\x94\xfc\x1f\xfb\xf5\x86\x34\xc8\x3d\xdf\xed\xe6\x74\xfa\x34\xbd\xe3\x61\x82\xef\xf7\x7f\x92\xce\xef\x00\x84\xc8\x88\xbe\xac\xc8\x03\x2f\xe4\x6b\x3f\x42\x13\x73\x8f\xbe\x6b\x8e\x85\x94\x74\x8d\x8e\x2b\xd8\x16\x96\xcc\x39\xe6\xbb\x1b\xeb\xf7\xf7\x86\x4a\x52\x33\x03\xd1\x03\x2f\x1b\xe6\xbe\x47\x08\x53\x49\x86\x05\xbf\x65\x88\x7b\x36\x32\x40\xd3\xba\x25\xcc\xdd\x2f\x15\xcf\x6e\xad\x1f\x30\x02\x89\x15\x42\x6f\x09\x5f\x32\x23\xe8\x90\x0d\xdd\xea\x91\x80\xb9\x13\x9e\x7f\xb9\x04\xe8\x6e\x6c\xdf\x01\x2b\x89\x15\x9a\x03\xcc\x2a\x4a\x45\x15\x9b\xfa\xb7\x6e\x35\x6b\xed\x9c\xb2\x37\x49\x94\x7b\x81\x10\x9e\x1f\x11\x35\xe5\x39\x2b\x15\x9f\x73\x56\x5b\x57\xc6\xad\xfe\x19\xc1\xc2\xfe\xc3\xfe\x76\xe7\x7f\xfb\x33\xfe\xf6\xe9\x18\x93\x2e\x98\xae\xf9\x18\xc9\xe0\x38\xba\xcc\xf4\x8e\x47\xf7\x58\x98\x4b\xfc\xc8\xfb\xfc\x5c\xd1\x35\x6b\xb8\x5a\xa3\x34\x01\x98\x0b\xd2\x3a\xfd\x80\x93\x24\x47\xc7\x48\x4e\xbe\x25\x6c\x6a\x00\xb2\xaf\x4d\x39\xd4\xa1\x1f\x93\xc7\x8f\x79\xe8\xe2\xa3\xcc\x92\xf8\xf5\x19\x36\xab\xbe\xe3\xef\x03\xaf\x1e\x27\x73\xe1\x2a\xbf\x83\x06\xa6\x3c\x7f\x0f\x6f\xae\x99\x26\x31\xbe\xb5\xc1\x15\xd3\x9c\xa8\x49\x2e\x7e\xd4\xfc\x9d\x95\x79\x38\x7d\x70\xa3\x26\x54\x53\x00\xbb\xe3\x52\xa1\xd0\x02\xe3\xb2\xe4\x3a\x00\xc7\x87\x92\xcb\x1b\x96\x83\x0b\xcf\x67\xad\x89\x9b\xa0\x81\xf5\x68\xce\x33\xb1\x2a\x01\x81\xbc\x3f\xde\x3d\x5b\xc8\xec\x1e\x4c\xeb\x47\x5a\xdc\x86\xf0\xf3\x76\x4a\x16\x89\x5f\x94\x2c\x90\xf7\x96\xac\x5e\xb0\xa0\x38\xaf\x7d\x4b\x46\x27\x40\x78\xa9\xcf\x5d\xc9\xf0\x22\xb6\x27\xa7\x60\xfa\xde\xb4\x58\x2d\x73\x5e\x02\x13\x65\xd8\x97\x39\x95\x06\x64\x97\x90\x98\x07\x3d\x3c\xfe\x5b\x93\x15\xf6\xfc\xd8\x82\xf5\xa4\x08\x6c\xba\x05\x04\x23\xfd\xd7\xf6\xf3\x08\xd2\xaf\xda\x4b\x78\xda\x1c\x0a\xa3\xdf\x03\x03\x2a\xe6\x25\x64\xbc\xe9\xb4\xdc\x22\xe6\x4e\xd2\xdf\xf0\x32\x37\xa8\x67\x7e\xf0\x5f\x9f\xc0\xe3\x17\x2c\x67\x5f\x4e\x9d\x90\x04\xb7\xde\xe4\xd8\x6d\xa3\x7d\xb8\xf6\xb0\xc1\x16\xe7\x4e\x3a\xb8\xf7\xb0\xd2\x5e\x0e\x9e\x7c\x51\x2e\x9e\xec\xe5\xe4\x93\x77\x4a\xc0\xb6\x08\x92\x9b\xf4\xff\x0b\x26\xd5\x4a\x8b\xbe\x08\xa9\x87\x02\x25\x26\x39\x2b\x15\xab\xe7\xac\x76\x51\x1d\xfa\xc1\x70\x3b\xad\x47\x92\x62\xbf\x3b\x5e\xf6\x50\x43\x14\xc9\xe2\x9e\x46\xc0\x23\x05\x4a\xad\x24\x91\x2b\x20\x33\xaf\xf4\x05\xbd\xa6\x54\x74\x2b\x03\x4d\xb0\xf5\x00\xd5\x8d\x55\xf0\xa6\x36\x8c\x25\x06\x3b\x54\xd7\xbb\xa7\x0e\xd4\x2a\x8c\x52\xec\x05\x00\x78\x4d\x1c\x86\xb9\xe4\x65\xc6\x9c\x86\xc9\xf2\x4a\xa8\xf5\xd2\x73\x8f\x72\xee\x5a\xa5\xe4\x4e\xd0\xf8\x5d\x78\xa3\xf7\xe4\x10\x7d\x62\xfc\x7f\x54\x06\xf1\x4c\x8f\xb0\xb1\xc8\xa4\x83\x8c\xf4\x6c\x26\x4a\x4c\xb2\x82\x57\x33\x41\xeb\xbc\x31\xb5\x97\xf3\x54\xb6\x12\xb4\x7f\xb3\xdc\x87\x67\x7a\x7f\x40\x40\x3a\xa2\x5b\x17\x80\x30\xd7\x74\xc8\xcb\x20\x82\xcc\xc7\xe6\x25\xa2\xce\x63\xdf\x6d\xfb\x8e\xdc\x98\x21\x3b\x98\x43\x50\xed\xf0\xb9\x79\x7e\x97\x5c\x4a\x44\x7b\xf2\x39\x42\xdc\x18\x15\xbb\x53\x26\x3f\xb9\x9e\x0c\xa9\x44\x05\xf2\x2b\xbe\x72\x98\x07\xff\xc6\xc5\xb0\x33\xf2\x55\xe0\x74\xf9\x95\xf7\xc9\xb5\x7d\xe8\xe6\x7a\x6e\xc2\x0e\x4e\x5a\x7f\xbe\x27\x23\x6d\x29\xf8\x5e\xd8\x4a\x9f\x05\x7c\xd2\x0c\xe5\x9e\xf4\x08\x55\x26\x4f\x63\x5e\x36\xf2\xde\xf8\x5b\xc0\x33\xed\x82\x01\x09\x86\xd9\x81\xdf\xa2\x8c\x92\x5c\x86\x91\xe9\x6d\xb4\x21\xef\x80\xcd\xca\xfc\x19\xcd\x6e\x35\x75\x1b\x6f\x15\xe7\x86\xbc\x67\x35\x93\x63\x40\x39\x09\x22\xe1\xfb\x8d\x81\xb4\x46\xd0\x15\xc9\x15\x39\xd4\x34\xdc\x72\x1a\xd1\xf8\xe8\x0b\x23\x13\xc0\x35\xfb\x3a\xdd\xe9\x9e\xd6\x76\xec\xde\xe5\x95\xdb\xe5\x7c\x05\xa9\x0d\x86\x8d\xf7\x7a\xc7\x5e\x3f\x26\x4f\xc6\xad\xf1\xf6\xf0\x44\x6b\x0f\x70\x7f\x24\x59\xd7\x60\xda\x3e\x57\x3d\x3c\xd9\x3a\xa8\xb9\x85\x9c\xd3\x07\x5f\xa1\xb1\x9d\x41\x94\x98\x27\x65\x18\x6d\x4f\x62\x4e\x60\x22\x75\x0c\xa3\x93\xa2\x77\x8c\x86\x24\xc6\xd2\x1d\xd1\x18\x6d\xf5\x7e\xe2\x86\x6a\x32\x8d\x32\xb1\xbf\xfb\x5e\x2e\x7d\x7e\x1c\x0f\x7a\xbb\x79\xf7\x24\xf7\xf6\xc8\xc6\x7b\x8e\x7b\x5f\x52\x6f\x8e\xaf\xa3\xdd\xb6\x26\xf8\x85\xc8\x80\xd9\x36\x96\x76\xcc\x6c\x6f\xfc\x60\x44\x49\x28\xc1\xc4\xf1\xe4\x96\x6d\x73\xb1\x29\x2d\x2f\x4e\xa5\x61\x07\x5e\xbc\xd0\x65\xcc\x42\x30\x9b\x58\xdd\x5a\x75\x96\x98\x36\x1f\x93\xea\xb3\x3c\xb4\x8e\x62\x4f\xfd\xe2\x09\x44\xf9\x4c\xe4\xdb\xef\xd8\xf6\xb9\xd8\x94\xa9\x07\xd9\xbf\x90\x41\x2e\xd0\xe6\xdb\xab\x8f\xc9\x2d\xd3\x5c\xd5\x15\xa4\xe3\x99\x6a\x1e\x4d\x73\x99\x67\x22\x67\x43\x36\x05\xf9\xc2\xbd\x61\x85\xd8\xb0\xfa\x3b\x28\x7e\xcb\xb6\x53\x25\x5e\xe9\x1f\xce\xa8\x0c\x6c\xd0\x5a\x1e\x55\x75\xa1\x4b\x7d\xfc\x48\xd8\x74\xc9\x14\xfd\x8e\x6d\x47\xe4\xd1\xa3\xa0\xfe\x09\xf9\x6a\xfd\x55\xe0\xaa\x1c\xa5\x8d\x8f\x12\x02\x47\xbc\x1d\x20\x83\xbb\x35\xb2\x1b\xa4\xa2\x74\x48\x68\xe2\x0f\xb2\x2c\xf6\x58\x4a\x58\x9c\x4e\xae\x26\x3d\xb8\x34\xe6\x69\x02\xdb\x34\x80\x36\x85\x50\x6f\x67\xb1\x85\x76\xc1\x60\xab\x4f\xce\x91\xf9\x1a\x76\x86\x18\xd9\x9f\x46\x11\xec\x69\xa2\x84\x0f\xaa\xf0\x18\xf6\x71\x6e\x65\x92\x04\x48\xc5\x55\x95\x00\x9d\x6e\xf2\xed\xc7\x4b\x1b\xd2\xfe\x94\x5c\x29\x51\xa1\x2f\x09\xf0\xf2\x28\x4c\x89\x8a\x2e\x28\xe8\x8f\xa8\xf4\x96\x1b\xc8\x6b\x8a\xf1\x88\xd0\x47\x6e\xad\x99\x6e\xb1\x31\xde\x62\xef\xe6\x60\xf5\x37\x7e\xce\xd7\x76\xa4\xa9\xfd\x62\x53\xa9\x44\xf5\xc6\x0e\x0a\x1d\x67\x13\x98\xfb\x6b\x56\x23\x72\x83\xf7\x28\x58\x8a\xfc\x33\x53\x83\xb9\x74\x09\x06\x45\x21\xca\x39\xac\xa8\xea\x4e\x3a\xac\xc5\xb2\x79\x21\x36\xff\x41\x4e\x50\xad\x4a\xfe\x48\xac\x21\x9f\x1c\x91\x01\x66\x23\x1a\xb4\xa6\x10\x59\x78\x97\xce\xc6\x32\x45\xa1\x82\x16\x8a\xd5\x12\xcc\x58\xcb\x95\x51\xc2\x44\xfa\x17\x7d\xb5\x81\x97\x4b\xd3\x46\xd5\x2b\x33\x7b\x60\xc5\x7d\x2d\xd6\xcc\x98\x78\xe2\x34\x95\x7e\x4c\xf1\xdc\x13\x76\x21\x72\x12\xcc\x00\x66\xaa\x5f\xb7\x8b\xb7\x97\x67\xe7\xe4\xc5\xcb\x57\xe7\x47\x68\x00\x3f\xf8\x8b\x3c\x80\x7f\x7c\xb0\x28\xff\xd3\xbf\x48\x5d\x54\x4b\x1c\x18\xd1\x3c\xcc\x46\xe4\xe9\xe1\x93\xa7\xa0\x2e\x00\xf3\x20\x5f\x2d\xc9\xc5\x15\x39\x5d\xa9\x1b\x51\xcb\x29\x39\x2d\x0a\x8c\x7e\x96\x44\x0b\x1c\xf5\x9a\xe5\x53\xdd\xc6\x5b\xc9\x1c\xd2\x97\x44\x1c\x90\xcc\xc4\x4c\x2f\xf4\x1e\x95\xfa\x9e\xde\x12\x4a\x9e\x5d\x3d\x9f\xc0\xd6\x91\x82\x67\xac\x94\x26\x9a\x11\xa1\xeb\x75\x4b\x73\xd0\xb7\x1b\x5a\x7f\xf5\xf2\xec\xfc\xfb\xab\x73\x2d\x2a\xb2\xe9\x83\x07\x03\xbd\xda\x52\xd5\x3c\x53\x83\xe3\x07\x0f\x0a\x3e\x9b\xd6\x2a\x67\xd5\x70\xa0\xff\x09\x49\xb5\xe5\x60\x4c\xe0\xaf\x37\x4e\xf1\xff\x9a\x96\x74\xc1\x6a\xfb\xa1\x66\x38\x40\xfb\xf7\x26\x1b\x84\x6c\x1c\xfc\x36\xd7\x1f\x71\x13\xbf\x63\x5b\x10\x7f\xfd\x2f\x17\x95\xde\x21\xe9\x7f\x48\x74\x15\x36\xe8\x88\x81\xb1\xd2\x57\x0a\xee\x5b\xff\x1b\x64\xdd\x68\xd7\xd5\x27\xd6\xe5\xe2\x0f\x3a\xfe\xe1\x1a\xb2\x63\x59\x75\x85\x28\xa5\xaa\x57\x90\xac\xc6\xc6\x31\x5d\x9b\xad\x26\x59\x41\xa5\x93\xdd\x4f\xfd\xef\xd5\x4a\x53\xb3\x12\x0b\x06\x96\x91\x94\xbb\xc4\x98\x84\x33\x00\x79\xd9\x76\xff\xe4\xf0\x10\x52\x5e\xea\xc6\xd1\xc0\x82\xb9\x5c\x8d\x61\x40\x2c\x2b\x54\x59\xdb\xde\x2c\x79\xd3\x82\xab\x6d\xa0\x9b\xaa\x11\x04\x9a\x06\xc9\x1b\xe0\xa9\x9b\x14\x6c\xcd\x0a\x3f\x5a\xbc\xf2\x64\x48\x33\x06\xf7\x1b\xd3\xba\xa0\xed\x07\xb5\xa7\x25\x47\x69\xde\xda\x28\xa4\xa8\xc7\x46\xe4\x37\xa7\xbf\x66\x0b\x87\xf3\x8c\x86\x21\x3b\x50\x70\x0f\x71\x0b\x3e\x25\xe4\x4f\x62\xc3\xd6\xac\x1e\x1b\x7c\x1c\xbe\xa4\xf5\x36\xc0\x1e\x07\x05\x5e\x55\x33\x35\x1c\x59\x95\x22\xe4\x03\x94\xe4\x87\x6b\xdd\x16\x93\x19\xad\x34\xb7\xfb\x7f\x57\x68\x8a\x02\xa5\x43\xb9\x16\xb7\xc6\x2f\x8b\x56\xfa\x1d\xa8\x01\xe9\xa9\x39\xdb\xc8\x8b\x11\x96\x9a\x6c\xa8\x24\x37\x8c\xae\x39\x24\x30\x9b\x17\xd0\x2a\x9c\xb0\x33\x51\x6f\xc9\x6b\x9a\x65\xb4\xae\x45\xc9\x06\x92\xbc\xa8\xe9\x92\xcd\x56\xf3\x39\xab\x63\x2a\xb8\xbe\x78\x7e\x31\xac\x17\xbc\xcc\xe9\xe8\x88\x80\x6d\x17\x9d\x0d\x1a\xd8\x22\x56\x5f\x03\x61\xf2\x75\x90\x55\x48\x9a\xa9\xd2\xda\x64\xd5\x91\x55\x41\xb7\xba\xf0\x86\x67\x00\xa1\xb4\xd1\xa4\x40\xa5\xbe\x9a\xcb\x9c\xd6\x90\x96\x82\x97\x41\x0b\x56\x8d\x83\x8f\x9d\xe9\x01\x88\xf9\xff\x7c\x47\x86\x7a\x95\x4c\x30\xdd\xd6\xec\x50\x90\xd2\x88\x29\x39\xda\x95\x13\xb1\xaa\x85\xbe\x37\x5e\xe6\x04\x4f\xac\xa6\x76\x77\x52\x89\xf9\x4a\x4a\x0a\xe6\x3c\x84\x02\xb4\x59\x11\x0d\x15\xe7\x63\xeb\xed\x03\xc3\x1b\x98\x3f\xa2\x1c\x41\x6e\xb7\x1a\xb9\x0d\x5d\xef\x21\x1f\x64\x7f\x8b\xb0\x93\x0f\x0e\xc8\xf5\x46\xd8\x07\x86\x97\x7a\xb1\xb2\x40\x6f\x69\xc8\x0d\x8f\xdf\x87\x38\xfb\x17\xfc\x16\xa8\x7a\xe0\xe5\x2a\xa9\x62\xbb\x4b\x7b\x93\xfa\x57\xc6\x7a\xf7\x95\x4f\x43\x1e\xbd\xb3\x3e\x30\x2f\x1c\x44\xd8\x42\x21\x34\x1b\x50\x0a\x6b\x8a\x08\x1f\x4b\xfe\x8b\x5e\x5b\xac\xf4\x0c\x48\x50\x5a\xfd\xe5\x9a\x41\x5e\xc5\x5f\x18\x12\x91\xb5\x95\xe6\x3c\x03\x0d\x1c\xba\x82\x55\xfa\x91\x31\x79\x3b\xa7\x84\x3c\x47\xe7\x48\x4c\xec\x87\xda\x5d\x03\x72\xbc\x11\xa0\x5a\xcc\xb9\xa4\x8b\x9a\x81\x71\xf5\xe0\x80\x9c\x16\x52\x60\x01\x5e\xd2\x4c\xf1\xb5\x1d\x99\x66\x71\x75\x23\x18\xa3\x8f\xef\x3d\xcb\x0d\x7e\x12\x87\x88\x66\x48\xc8\x02\x47\x13\x2a\x62\x83\xc9\x35\xba\x4a\xe6\x64\x3b\x44\x5e\x31\x70\x5e\xb0\xfe\xc6\x35\xd8\x06\x31\x74\x73\x25\xcd\x21\x33\x87\x87\xa8\x46\x6a\x90\x69\xfc\xf6\xeb\xfb\xb8\xb5\xa9\xe6\x77\x10\xda\x9a\x79\x27\xa0\xc2\x54\xae\x66\x32\xab\xf9\x8c\x0d\x7d\x6e\x27\xa3\x6f\x34\xba\xf7\xe9\x8c\x1b\xe7\xec\xd1\xde\x26\x9c\xa3\x64\xe4\x95\x76\xaf\x26\x2c\xe7\x6e\x5a\x40\x8e\x76\x6f\x03\x4e\x83\x1d\xe8\x4a\xc3\x5a\xe1\x72\xe7\x7c\x6d\x9e\x09\x9b\xd2\x03\x59\x6a\xcb\xfb\x84\x59\xdb\x9a\xa7\xb1\x95\x12\x3f\x68\x83\x05\xce\xa1\x9a\x24\xf1\x4a\xf0\xf1\xb7\x8b\x42\xcc\xf4\x03\xa2\x1b\x72\x8d\xc0\x0b\x17\x40\x9a\xfa\x17\x51\x4b\x02\xee\x51\x44\x7c\x7f\x3e\x37\xbe\x0b\xe5\x40\x41\xe6\x69\x7b\x36\x24\x3a\xbd\x80\x41\x95\xfa\xc6\xb7\x4c\xa1\x75\xa6\x66\x13\xc9\xc0\xeb\x31\x67\x99\xa8\x21\xa9\xaf\x9f\xa7\x0d\x8b\x23\x27\xc6\x4a\xe8\x7e\x0a\xe7\xed\x33\x2d\xa0\x3f\x83\xf1\x3b\x0b\xd5\xf8\x90\x46\x2e\xca\x42\x4e\xf3\xbc\x66\x12\xac\x5c\x0d\x7a\x9d\xd1\xec\xd6\x62\xa2\xbd\x7b\x6f\x3b\xba\x42\xcf\x0d\x3a\x23\x5a\xd8\xf0\x34\xae\xe8\x0c\x24\xa4\xb8\x34\xa0\xa0\xa9\x9a\x66\xb7\xfa\x7a\xd9\xdc\x20\xa7\x62\xee\x62\xdf\x0a\x0e\x18\x32\x75\xb3\x9a\x4a\x96\x1f\x3b\x3f\xe1\xeb\x67\x67\x26\x43\x52\xc1\x28\x5c\x41\x85\xaf\x17\xdc\xf1\xb4\x66\x7a\xcd\x6b\x26\x95\xa8\x31\x52\xc0\xda\xc9\xe0\x66\x00\x8f\x63\xe6\xf3\x5e\x99\x8a\xd7\x66\xd8\x9a\x30\xeb\x15\x0b\x97\xf3\x87\x6b\x74\xd3\x0b\xee\xc6\x06\xe4\x20\x1c\x72\xa2\x19\x68\x17\x29\x0f\xc6\x0a\xcd\x38\xc0\x90\x81\x73\x71\x4e\xaa\x20\x26\x96\x79\x60\x07\xce\xc4\x72\x49\xcb\xdc\xaf\xe2\xda\x08\x18\xd7\xa2\x0a\x53\x6e\x47\xdf\x50\x67\x9e\x22\xfc\xe7\x2f\x7f\x70\x9a\x16\xcb\x45\xda\x0b\x09\xc7\x32\x0d\x82\xef\xa5\xa8\x6d\xe8\x78\xb3\x21\x17\x88\x8e\x13\x90\x37\x9a\x03\xb2\x6b\xd0\x3c\x85\x58\xe8\x4a\x97\xf9\xe0\x92\xe5\xd9\xa7\x35\xfc\x3a\x7d\xf6\xea\xe2\xec\xbb\x64\x3f\x9a\xfd\xb7\x1d\x24\x47\x7a\xa6\x4b\x34\x87\x7a\x86\xc3\x9b\x15\xbc\xbc\x25\xa2\x3c\xd0\x84\x0e\xd0\x88\xfa\x1c\x2d\xe5\x18\x2c\x7f\x9b\x9a\x2b\xc5\x4a\xcd\x60\x69\x16\x42\x8b\x7f\x19\xbc\x0e\x5b\xcd\x29\x15\x82\xe6\x90\x42\x39\xec\xec\x99\x6e\xf0\x4c\x37\x04\xd4\xfc\xe4\xf0\x70\x4c\x9e\x1c\x1e\x3a\xaa\x7e\x53\xb3\xc9\x0c\x64\x1d\x51\x9e\xf9\x1a\x1f\xac\x45\xcb\xa6\x60\x43\xc4\x1d\xeb\x5b\x9c\x0b\xa3\x3d\x10\x35\x61\xd4\x3e\x9b\x66\x89\xcd\xe8\xb5\x58\xc6\x33\x63\x38\x86\x11\x2d\xb7\x17\x71\x1f\xfe\x06\x0d\x7e\x4d\x5f\xa4\x92\x99\x29\x63\x96\x16\x48\xa7\x92\x1a\x59\xcd\xa8\xf1\xc7\x43\x86\x40\x1f\x21\xba\x60\x60\x26\x33\x0e\x5a\x34\xbb\x21\x62\xa5\xaa\x15\xda\xf3\x6e\xd9\x56\xaa\x5a\xdc\xb2\x10\x28\x84\x97\x5c\x71\x5a\xf0\x5f\x90\x9d\x35\x70\x94\x96\x69\x5b\xa2\x7c\xe5\x26\xa6\xaf\x97\x05\x78\x68\x35\xf6\xd6\x7c\x9f\x8b\x9a\xed\xfa\x8e\xa7\xe8\xa2\xbc\x80\x51\x75\x7e\xfe\xce\x8e\xb4\xa3\x04\x48\xe4\xa7\x75\x2d\x36\xba\x64\xeb\x30\xd4\x2b\x86\x16\x49\xeb\x02\xeb\x8c\xc9\xa8\x3f\x40\x85\x51\xcd\x34\x6b\x60\xd8\x01\x5a\x14\x62\x63\x57\xd2\xe9\x5b\x83\x7b\x87\x51\xf5\x5a\x57\xbe\x84\x5a\x88\x86\x42\x0b\xe9\x2f\x1f\xfb\xc0\xcc\x58\x51\x68\x91\xbc\xf4\x04\xaa\x7f\x3a\x5d\xe5\x5c\xec\x4f\xec\x4b\x75\xb1\x81\x7f\x8d\x7d\xd5\x28\xaf\xaf\xfe\x79\x82\x65\x53\x45\x25\xf3\xe2\xeb\x70\x50\xd5\x4c\x9f\x18\x2d\xc6\xd2\x95\x12\x03\x47\x6d\xa7\xfa\x5a\x8e\xc6\xad\x6f\xce\xb9\xe6\x08\x21\x73\x9a\x7f\x96\xe0\x96\x5f\xb0\x92\xe9\x47\x2e\x27\x43\xcd\xc4\x59\x88\x51\x5e\x6c\x0d\xb3\x76\x23\x36\xe5\x28\x9a\xf5\xf7\x41\x7b\xaf\xb8\x54\xf1\x43\xf3\xa3\x79\x5a\x36\x0c\x7b\xa9\xf4\x58\xa4\xd4\x77\x77\xc0\xa1\x45\x63\x0a\xb6\x44\xde\x2a\x51\x85\x1d\x3c\x63\x26\x22\x29\xdc\x97\xb3\xf8\x3a\xc7\xc7\xd4\x49\x9a\xc6\xa7\x11\x4c\xcb\xcf\xcf\xcf\xae\xce\xfc\x73\xaa\x3f\x18\xcd\x43\x90\xe2\xa6\x71\x07\x82\x0a\x6e\xc6\x95\x74\x57\x77\xeb\xa6\x15\xbe\x0d\xcf\x44\x9a\x86\x03\xd1\xc0\xa4\x8d\x02\x9b\xbd\xcb\x58\x08\xf9\x99\xf5\x13\x3a\x6d\x25\xa7\x6a\x0d\xe9\x87\xeb\xa6\xd4\xeb\xa5\xe4\xe0\x04\xaf\x55\x34\x90\x1f\xae\xdb\x9c\xdc\xad\xd1\xc0\xd8\x9b\xd1\xd5\x75\x1f\xc2\x16\xac\xbe\x26\x6e\xe7\xdf\x81\x56\x0a\xf2\xf2\xc2\x38\xdb\xd0\x2c\xd2\x3c\x99\x40\x60\xe0\xe1\x78\x9d\x63\xfa\x4c\x26\x61\x27\xc4\x4a\x11\x76\xa7\x77\xcc\xe6\xca\x44\x74\x6d\x30\x60\x39\x7a\x75\x69\xf1\x4d\xf8\xad\x88\x46\xe5\x9e\xb2\x97\x17\x8d\x09\x9a\xcb\x01\x6e\x82\x49\x56\xf0\xec\x76\x92\xd7\x74\x11\x7b\xcb\xa7\xb7\x92\x95\x9a\xe3\x82\x6b\xe0\x79\x4d\x17\x26\x78\x2f\x60\x42\xf0\x39\x12\xd5\xf6\xa2\x34\xd0\x24\x8d\xeb\x0b\x7a\xbd\xd4\xfb\x7b\xa6\x7b\x06\x36\x3c\x59\x06\xbe\x3c\x5b\x29\x05\x38\x0b\xe1\xed\x66\x0f\x8d\x01\x21\x05\xd8\x29\x1b\xc8\x00\x6c\x26\xfa\xc5\xcc\xd8\x0d\x5d\xf3\xe0\x49\xd6\x83\xc6\x72\x3f\x42\x31\xeb\x9b\xe2\x0e\x0b\x0e\x5e\x53\x9b\xb3\xd4\x9d\x6a\x7e\xce\x8a\x00\xd1\x24\x6b\x06\x6f\x86\x96\xbc\x3e\x0c\x7f\x77\x38\x26\x4f\xff\x57\xe8\xff\x60\x5d\x6d\x2c\xa7\x16\xe5\x97\x62\xea\x0d\xca\xe5\xb1\xdc\x0e\xd9\xbd\xad\xc4\x9f\x32\xf4\x86\xe6\x09\xe7\x07\x6d\xf6\xe8\x92\xd1\x7c\x3b\x1c\x1d\x93\x4f\xb1\x50\x13\x22\x2d\x19\x94\xa0\x88\x41\x92\x29\xd5\x42\xc8\xff\xe8\x73\xf6\x80\x10\xe0\x82\x8e\xc8\x00\xfe\x0b\xa3\x7b\x76\x7e\xfa\x5a\xff\x70\x7e\xfa\x1a\xfe\x7e\xfb\xfd\xf3\xf3\x4b\x88\x02\x20\x03\xf7\xef\x41\xca\xbd\xa9\xf9\x28\x05\xa6\x07\xbc\xeb\xf4\x8d\x64\xa3\xb5\x42\xc1\xc5\xa1\x58\xeb\xcb\x66\x25\x59\xe8\x6c\xe6\xcb\xd9\x07\x9d\x3a\xc7\x85\x20\xa1\x1f\x2a\xdf\x70\x04\x28\xee\x90\xc0\xa6\xf7\xc0\x04\x0a\xb4\xb2\xfc\x25\x57\x29\xf2\x57\x0f\xf7\xa1\x11\x96\x1c\x7a\x3c\x3d\x0f\xa4\x08\xf4\xbc\x9b\x93\xdf\x79\xef\xcb\x3b\xe8\x61\x77\x67\x8a\xce\x7e\x34\xc9\x39\x7f\xd7\x86\x02\x4a\xa8\x9c\xda\x80\x52\xfa\x39\x8c\x57\xb7\x0a\xdc\xd6\x63\x4c\xaa\x50\x6f\x65\x53\xcd\x51\x29\x45\x06\xba\x43\x2d\x62\xc3\x75\xab\xc2\x8e\xad\x2b\xae\x87\x11\x64\x9b\x1d\x03\x6b\x2a\xd3\xfc\x91\x00\x38\x5f\xea\x5d\xa9\x12\x6d\x10\xf2\x42\xd4\x1b\x7d\x2b\xcb\x82\xca\x1b\xab\x51\x0b\x95\x86\x06\xb6\x0a\x31\x69\x72\xef\xf1\x0f\xaa\xb8\x70\x00\x76\xd7\x50\x9f\xa7\xb7\x5e\x33\x7c\x5e\x9d\xe7\x7e\x01\x38\xdb\xb5\xb8\x65\x9e\x50\xcd\x78\x6c\xff\xaa\xa6\xa5\xc5\x58\x91\x4e\x33\xbd\x67\x6b\xfd\xd5\x10\x92\x90\x5b\x8e\x71\x34\xac\x2e\x3d\x9f\xfb\x63\x5a\x23\xae\xe3\xf0\xe0\xa7\x83\x83\xc5\x98\x0c\x06\x41\xe8\x9c\xd7\x22\x2a\x0b\x00\x1e\xe2\x6c\xcd\x65\x88\x4b\x85\x3f\x4c\x73\x06\xba\x29\x90\xf3\xa3\x24\x6f\xf3\xc6\xf3\xde\x32\x50\x0c\x1b\xc3\x0c\xa2\x61\xb1\x69\x9a\xe7\x17\x33\xb0\xef\xd4\x72\xa8\xaf\xfb\xb1\x31\xc1\x0e\x68\xa1\x26\x8b\x7a\xa2\x39\x8d\xc1\x91\x5f\x94\x75\x8c\xf4\xbd\x06\xb8\xc7\x55\x51\x84\x6e\xb9\x00\x89\x48\xd7\x7c\x41\x95\xa8\xa7\x05\x2d\x17\x2b\xba\x60\xb1\x15\x5c\xd7\x1b\xb0\x72\xb2\x92\x83\xb0\x2a\x21\x6b\xcd\x6d\x96\xa2\x64\x03\xef\x61\xdd\x70\xea\x70\xc5\xc0\x42\x35\xa1\x85\x0a\xcb\x3e\x88\xea\xc0\xe2\x6e\x2b\x26\xe6\x04\xc6\x3a\x40\x62\x8f\x3a\xd5\x6d\xad\xdb\x46\xfa\x64\xcf\xed\xe1\x7d\x0a\x5d\x97\x1f\x1e\xfc\xd7\x50\x7f\xfd\x08\x9e\x0f\xb4\x50\x1f\x0b\x36\x87\x21\x7e\x74\x83\x1d\xfd\xcb\xc1\x54\x31\xa9\x86\xeb\xd1\x28\xd9\xae\xf5\xc9\xb3\x84\x6a\xf9\x9f\x29\x2d\xd4\xbf\xd7\xaf\x11\x0a\x6d\x6d\x4d\xd5\x0f\xfc\x7e\x69\xf2\x94\x15\xcd\xd8\x84\xcb\xc9\x92\x29\xea\x7f\xe9\xd8\xc3\x64\x1f\xcf\x6c\xa5\x97\xf2\x35\x53\xd4\xfd\xd9\xd1\xab\xe9\xeb\x3e\x3d\x60\xc3\x1d\xed\x49\x56\xe6\x72\xb2\xb9\xa1\x6a\x07\xe1\xe9\x85\x46\xbe\xf3\xe3\xef\x26\x33\xae\x3e\x1a\x97\xe0\xc9\x2d\xdb\x76\x2f\x30\xd6\xd8\xb3\xc4\x57\xba\xff\x1f\x35\xcf\x98\x18\xdf\x2a\xd7\x6f\xf9\x04\x04\x21\x90\xb6\x3a\xc6\xa8\x0f\x3b\xad\xb7\x40\x59\xf0\xc6\x0c\x0f\xfe\xab\xe0\xb3\x89\xb5\x4a\x1e\x0d\x7f\xba\x7a\x3c\x3a\x88\x9c\xe5\x69\xbd\x8d\x42\x18\xec\xe0\x3a\x25\x2c\x59\x67\x49\x8e\xa5\xe3\x7f\xa1\x55\x74\xba\x60\xea\x39\x55\xf4\x6d\x5d\xe8\x7e\xdf\x3d\x79\x3f\xea\x26\xfa\x9e\x23\x21\xeb\x51\xec\x27\xef\x96\xcd\x48\x4d\x93\x50\xa6\x82\x35\xdc\x79\xb5\x3c\x7a\x44\x42\x39\x2b\xb9\x36\xdd\xf2\x58\xb4\x2e\xe1\xf7\x69\x20\xef\x9d\xe8\x2b\x61\x51\xd3\x52\xb1\x3c\xb8\x44\xd0\x25\x68\x5f\x1f\xf1\xc5\x75\x70\xa0\x7b\x61\x47\x3e\x55\x3f\x78\x82\x47\x3d\x1b\x7c\xc8\x37\x7e\x00\xa0\x31\x36\x89\xfb\xe3\xc6\x4c\xd8\xae\xae\x02\x81\xf4\x08\x3d\xe9\x13\x56\xd5\x4c\x6a\x8e\x46\xcc\x09\xc5\xd8\x7a\x4c\xdc\x4f\x86\xe0\xe8\x4f\x25\xa1\x65\xdc\xa0\x28\x41\xec\xb0\xe2\xd5\x08\x79\x32\xfd\x10\x90\x82\x4b\xa5\x25\x27\xd4\xfe\xd4\xab\x44\x36\xe6\xa0\xa5\xb8\xd9\x53\x88\x8e\x13\x73\xb2\x11\xf5\x2d\xa8\x2d\x6d\x4a\x0d\xcd\xf6\x58\xf0\xe2\x40\xb0\xa6\x24\xe7\xb4\x10\x0b\x87\x10\x1b\xb6\xe6\x1e\x48\xe0\x61\x28\xf9\x0a\x45\x25\x25\x26\x66\xed\x26\x7e\xf7\xbe\x22\x33\x90\x54\xc2\xd1\x59\x50\xe3\x0d\xad\xcb\x61\x37\xdd\x81\x21\x52\x8b\x64\x0e\xef\x1a\x0c\x44\xa0\x0e\x18\x74\x67\xb7\x1e\xf4\x51\x15\x0c\x46\x9d\xaf\xd1\xbd\x08\xd8\xca\x48\xc9\x13\xe5\x35\x62\x13\x50\x88\xee\xbb\x7d\x25\x83\x6b\x3d\x50\x92\x0d\xd7\xa3\xe3\xce\x36\xf9\x92\x2e\xf6\xbe\x19\x91\xcd\x27\x6c\xff\xa5\xae\xbd\xb3\x7d\xb0\x4d\x7d\x6e\xf3\x60\x77\xdb\xd5\xba\xd5\xba\x7c\x76\x0f\x6f\x4c\x03\xe9\x5e\xf0\x89\xc5\x67\xea\xfe\x0f\xac\xab\x01\xef\xcc\xae\xc7\xd5\xf1\xd2\x93\x25\xad\x26\x56\x6e\x93\xbb\x5e\x45\xcf\x90\x69\xb1\x76\xed\xac\xcc\x62\x4e\x2e\x40\x71\x31\x4a\xc1\xab\xe3\x61\x79\x13\x09\x12\x41\xcf\x90\xb6\xda\x69\xe7\xac\x2d\xb5\xec\x3e\x28\x03\x54\x92\x1c\xe9\x12\xc1\xa3\x10\x46\x06\x90\x08\x92\xdd\x2e\xd2\x5a\xf9\x38\xf2\xd7\xb4\x32\xd1\x0e\x9e\x1d\xeb\x2e\x28\x99\xba\xb0\x0b\xd4\xde\x35\x14\xac\x27\xa0\xfc\xef\x71\x52\x02\x6d\xf9\xf0\xe1\xc3\x9d\xad\x4d\xc0\x86\xd0\xd1\xa6\x7d\xc8\x82\x5d\x38\xad\x6b\xba\x25\x8f\x1e\x45\x0b\x67\x19\xd4\x77\x87\xef\x81\x47\x45\xef\x98\x41\x67\xb1\x27\x51\xb1\xf8\x19\x52\xb1\x32\x21\x36\x4f\xac\x5b\x3c\x75\x8b\x3f\xbe\x7f\xa3\xef\xd6\x63\xb2\x7e\xbf\x93\x5b\x3f\x38\x20\x2f\xa8\x54\xc6\xfa\xe2\xad\xff\xb4\x24\xac\xae\x45\x3d\xed\xdd\x57\x60\x5f\x71\xfd\x25\x77\xa7\xef\xad\x78\xe6\x4d\x46\x09\xba\xd1\x3f\x4f\x2a\x5a\x30\xa5\xd8\x17\x3a\x81\xad\x9f\x81\x24\x7a\x9e\xcb\xf4\x78\x82\x33\x49\x81\xbe\x44\xfd\xe5\x0e\xa7\x77\xb9\xc3\xff\xbc\xc1\xde\xc9\x49\xf8\x45\x2a\x91\xdd\x9e\x05\x9f\xa7\x99\x28\x33\x6a\x91\x0a\xdd\x51\x08\x67\xe9\xd2\xea\xdc\xb2\xad\xe6\x05\xd6\x0d\x41\x90\xd6\x84\x6b\xb9\x9a\xd6\x92\xbd\x2c\xd5\x50\x73\xf6\xc7\x41\x01\xdd\x20\x97\xdf\xd3\xef\x87\x7c\xa4\x17\x95\x93\x6f\xc9\x21\xfe\xe3\x0f\xe4\xe9\x37\xdf\xc4\xcd\xc5\xf9\x0e\x06\x2f\xcb\x35\x2d\x78\x4e\xd0\x2d\x98\x97\xc4\x2c\x2a\x2e\x8b\x1e\xd1\x63\x32\x30\x6b\xf4\xee\x96\x6d\xdf\x47\x5d\x37\x53\x16\x34\x96\xcc\x4d\xf7\x1d\x7f\xdf\x1c\x05\x24\x01\x5a\xcc\xe2\xe5\x2b\x45\xbd\x04\xc5\xe6\xd9\xd5\x15\xd6\x8a\x7b\xd3\x8d\xd5\x8b\xd9\xa8\xb1\xa3\x1d\x5b\xf3\x8e\x03\x12\xfa\x62\x16\x0f\xae\xf9\xaf\xf6\xf5\x1b\x3b\xff\x40\x98\x82\x77\x47\xc4\xbb\x38\xdc\xe3\xc4\xbd\xdc\xf4\x4b\xea\xdd\x46\x70\xe4\xaa\xed\x44\x94\x13\xb4\x86\xed\x3b\xc0\x0d\xa5\xf7\xc3\x87\xcd\x37\x74\x25\xd9\xc4\x28\x77\x27\xa8\xa7\x9e\xe8\x3a\xfb\xda\xed\xd0\x5a\xb7\xdb\x07\xc5\xf5\xc4\x99\xee\x26\xe0\x8a\xd0\xab\x8b\x6e\x95\x77\xa2\x17\x55\x17\x93\xaa\x58\xc9\xc9\x92\x97\x2b\x39\xf9\x85\xd5\x62\xf2\x8b\x10\xcb\xde\x5c\x87\x6e\xe1\x4d\xb1\x92\xaf\x75\xfd\xff\x64\xb5\xf8\x4f\x01\xb0\xa3\xc9\x9e\xb2\x5e\x13\x88\xda\x3e\x33\x63\x4f\xb6\xb7\x9e\xa0\x1f\xd0\x7d\x1a\xfc\xc1\x1a\x29\xd6\x2d\x22\x6b\xb0\x6d\x67\xae\x74\xfb\x02\x67\x54\xaa\x09\x95\x9c\x96\x13\xba\x9c\xf1\xc5\x4a\xac\xe4\x84\xca\x89\xda\x08\xfd\x42\xac\x96\x5d\x3c\x22\x7a\x0c\x4f\x6b\xb6\xa0\x75\x7e\xf6\x97\xdb\x53\x5b\x3b\x31\x47\xb4\xcf\x4c\x40\x0f\x31\xd1\x17\x43\x2d\xba\x04\xdb\x90\x81\xc1\x6a\xbf\x7b\xc6\x21\x16\xa8\x16\x45\x72\xeb\x4d\xe3\x33\x51\x74\xa9\x1a\xfc\xba\x6c\xcb\xec\x99\x28\xf2\x2b\x3a\x67\x57\x8a\x26\x0e\x57\xd0\x98\x5e\x85\x19\xe8\xa4\xf6\x35\xbb\xfb\x56\xc0\x26\x75\xb7\xa7\xf2\x19\xba\x97\x07\xd3\xb8\xc7\xd5\xb0\xbb\xa1\xd6\x14\x7a\xb1\x72\x7a\x41\x74\xc1\x9d\xab\xe1\x22\x9f\x27\x9b\x9a\xef\xa7\x52\xb7\x73\x67\xb6\xde\x8f\xba\xda\xae\xc1\xe6\x2c\x7b\xf2\xb4\x77\xbb\xcf\x75\xe9\x64\x73\x73\x51\xaa\xc9\x9c\x2e\x79\xb1\xf7\x70\xea\xa9\xbf\x10\xa5\x7a\x01\xa5\x5b\x53\x87\x96\x7a\x09\x61\x4c\xe9\x66\xd2\x22\x17\xb6\xb2\x14\x08\x4f\xf6\xab\x87\x64\x7d\x38\x7a\xf3\x6e\x2f\x62\xb7\x8f\xf6\x00\x6f\xc4\x92\x4d\x6e\xd9\x56\x4e\x8c\x2f\x63\xdf\x1b\x48\x57\xfc\x8e\x6d\xa5\xb3\xb5\x36\xb7\x42\x97\xd4\x7c\x6c\xb9\xe8\xe2\x06\x13\x92\x9f\xa9\x80\x57\x7f\x83\x35\x7a\xb8\x1e\xb5\x38\xb1\x06\x5f\xd9\x4f\x98\x03\x86\x7a\x38\x38\xd7\xff\xd1\x8c\x4d\x30\xd2\xc0\x8e\x73\x44\xce\x01\x40\x8b\xe5\xc6\xa2\x3d\xe8\x21\xa6\xd5\xdb\x94\x06\xa3\x3d\x3f\x9a\xe7\xcf\xcc\xbf\x87\x81\x4e\x90\x64\x14\xb1\x87\xee\x7e\xcd\xb8\x35\x4b\x16\x64\xa2\x6a\x70\xff\x4b\x7a\x37\x41\x15\xff\xc4\xfa\x23\xf4\x38\x78\x4b\x7a\x87\x61\x7d\x57\xd6\x87\xa1\xbd\xe3\x90\xa0\x19\x89\x89\xd6\x6c\x32\xd7\xff\xea\xbd\xf5\x50\x59\x13\xd4\x69\xcd\x5e\xe8\xff\x26\x3b\x50\xd4\x68\x15\x8c\x9e\xba\x7f\xeb\x8a\x82\x36\xe1\x1c\x3d\x31\x12\x6d\x83\xdb\x01\x9a\x20\x50\xa3\xd6\xeb\x45\xee\xf0\x1b\x48\xb7\x0e\x2d\x4e\x50\x25\xd7\xe7\x2e\x78\xdd\x70\x38\x68\xdd\x08\x15\x5d\x7c\xde\xe9\xd5\x15\x77\x9e\xde\x8a\x4a\x39\xa1\x85\x9a\x18\x69\xf7\x9e\x06\x2e\xcd\xc3\x0b\x79\xe7\x3d\x6c\xbd\xb5\x6b\x25\x59\x7d\xba\x60\xa5\xb2\x5a\xff\xd7\x34\x23\x17\x57\xe4\xcf\x07\xfe\xb8\x83\x3c\xfc\x8a\x29\x72\x5a\xa8\xc9\x93\xe9\xf4\xf7\x06\xbc\x51\x44\x60\xbe\x43\x25\x88\x61\x26\xd0\x89\x15\x90\xbb\x20\xf9\x87\x28\xc3\x96\x4a\x51\x4e\x74\x0f\x44\x6e\xa5\x62\xe0\xca\x08\x59\x86\xc0\x26\x68\x45\x43\x51\xb1\x12\x63\x0b\xb5\x90\x58\x55\x76\xe4\x7e\x4e\xe4\x84\x0c\x1f\xea\x59\x3d\x7a\x64\xcc\x89\x58\xe4\x7a\x5b\x41\x72\xb3\x41\x25\xaa\x55\x35\x18\x75\x6b\x6f\xf4\x2c\x4e\x0b\xf5\x3d\xc6\xf6\x74\xac\x3a\x30\x84\x7f\xdf\x65\xd7\x0c\xe3\x7f\xb7\x75\xd7\x73\xda\xbd\xf0\x70\xbd\xfc\x7d\x17\xfe\xb5\x1e\xc2\xaf\x5f\xf8\x2f\xb4\xe8\xbf\x7a\xcd\xf5\x74\x7a\xac\xf9\xfa\x1e\xf7\x16\x36\xfa\x43\xa2\xbd\x9a\x65\x8c\xaf\xd9\x84\x95\x99\xc8\xbb\xb9\x2d\xc3\x2c\x1c\xfc\xd7\x70\xa5\xe6\x93\xdf\x7d\xac\xe9\x66\xf4\x2f\x07\x23\x67\x0f\x0d\xb5\x11\xb1\x9a\x29\xd6\x88\xcc\x45\x4d\xbe\x6a\xf6\xf9\x55\x5b\x69\x84\x76\x55\xe8\xcb\xdb\xcf\xbc\x22\x24\xa9\xb0\x3d\x37\xcd\x25\x66\x69\x60\xa6\x45\x39\x71\x5e\xc3\xfd\x94\xf8\x0d\xe7\xdd\xee\x76\xd1\x31\xb9\x6f\xa3\xde\x61\x38\xdd\xe2\x8c\xd6\x13\xe3\x35\xdf\x83\x5f\x6d\xc6\x3f\xb7\x19\xd6\x10\x66\x7b\xb2\xa4\x5b\xe0\x07\x26\xb4\xae\xc5\x66\xd2\x87\xe1\xe8\xf2\x53\xee\x58\x0f\xd3\x8f\x58\xb3\x89\x0f\x2d\xee\x3d\x91\x76\x64\x73\x62\x42\x7a\xfc\x7f\x4b\x9a\x8d\x3a\xfc\x15\x04\xeb\x95\x11\x7d\xc8\xf6\x86\xcf\xd5\x04\x23\x77\xee\xa9\xeb\x80\xaa\x98\x51\xb7\x8b\xbd\xb2\x95\xf6\xad\x63\x78\xd8\x24\x53\x76\xbc\xed\x4d\xd1\x97\xf6\x24\x93\x3d\xa9\xc9\x29\x5a\xde\x4a\x56\x9f\x49\xf9\xb6\x2e\xba\x9b\x9c\x68\xa9\xfe\xf3\xda\x05\xb8\x93\x56\xc3\x1b\x51\xe7\x13\x80\xdb\x9b\xc0\x0b\x33\x29\xd8\xfc\xbe\x2a\x0b\xdd\xc6\x33\xdd\xc4\x6b\xdd\xc2\x2b\x36\x57\x49\xbd\x52\x4b\x43\xb1\xab\x5e\xf7\x00\x3f\x47\xa9\x12\xf7\x74\x69\xb4\x1f\xf7\x1e\x62\xa3\x62\xf7\x18\x97\x3c\xcf\xf7\x5f\x59\x3b\x07\xf9\x1a\x9a\xf8\x9c\x51\x36\x6b\x7e\x1a\x3f\x20\x80\xdd\xd1\x70\x4e\xab\x19\xcd\xaf\x30\xbc\xa4\x8d\x11\x12\x16\x04\xfb\xfb\xf6\xb4\x28\x9c\x4c\xad\x6f\x94\xc8\x69\xcf\x0c\x31\xfc\xcd\x80\x2d\xb5\x1d\x77\xe3\x14\x34\xb2\xe1\x01\x29\x6d\x74\x0a\x7a\xb0\x22\x86\x5e\x39\xe7\x0b\x0c\xea\x6a\x46\x1f\x7e\x1d\x41\x98\x77\xf8\xe9\x7d\xda\xed\x9f\xb8\x60\xea\x0d\xc4\xe6\x74\xe5\xdd\x09\x16\x23\x4e\x26\x0c\x0a\x25\xcd\x22\x59\x70\xca\x59\x4d\xb3\x5b\xa6\xc5\x7e\x44\x2c\x59\x8a\xbc\xe5\x0f\x3a\x13\xa2\x60\xb4\xfc\x64\x90\x36\xae\x6f\x98\xb9\x60\x95\x20\x18\x16\xb7\xc7\x99\xf2\x99\xed\xc4\xde\x68\x9d\x28\x1f\x36\x4a\x61\x3a\x6b\x56\x81\x92\x49\x48\x12\x0c\x00\xb3\xde\xb2\x2e\x02\xcc\xa2\x15\x6e\xc5\x2a\x80\x56\x91\x4c\xd9\x58\x9b\x8a\xd5\x92\x4b\x35\x06\x00\x63\xee\x21\xf2\x71\xdd\xc6\xa4\xa6\x06\x1a\x81\x62\xf2\x63\x74\xa2\x75\x5e\xc9\x5d\x5e\xb3\x38\x9c\x6b\x37\xb0\xbe\x8b\x14\x18\x1e\xc3\x15\x82\x46\xe2\xcc\xb7\x61\x48\x1b\x7c\x3e\x4e\x44\xe6\x19\xa0\x94\x46\xa4\x54\x9f\x1a\xa2\xce\x59\xdd\x28\x9d\x4e\xc4\xd4\x08\xf5\xc3\xf9\x52\x00\x5b\x45\x50\xa4\x88\xd6\xcd\x02\xed\x25\xed\x8e\x85\x68\x13\x78\xb8\x14\x7b\xc8\x1c\x03\xae\x30\x0f\x14\xe4\xae\x0e\x00\xc8\xca\x66\x94\xc5\x97\x25\xfe\x2b\x9f\x8c\x5f\x0f\x25\xdf\x45\xfe\x5d\x91\x1d\xdd\xc4\xef\xf7\x17\x97\xff\x9f\x90\xf0\x9f\xb5\x48\xb4\x93\xf8\x13\x71\x7f\x5d\x56\x53\xac\x7a\x9c\x06\x53\x68\xda\x1a\x7c\xa4\x88\xb4\x00\x6b\xc9\x38\xc2\x71\x7a\x18\xdd\x38\x0c\xbf\x59\x47\x9d\xae\x4a\xa8\xf9\xb6\xb3\xdf\x7d\x6e\x7d\xd0\x5d\x17\x15\x95\x8a\x95\xb9\x79\xd5\xe0\x04\x39\x3c\x0e\x84\x7e\x49\x47\xab\x42\xd4\x14\x0b\xc2\xa5\x2c\x7a\xb0\xfc\xe0\xe3\xa5\xbe\xfe\xac\xcb\x61\x07\xb1\xb4\x2f\x88\xe6\xf2\x25\x4f\x90\x5f\xfa\x7f\xda\x13\xd4\xb0\x7b\xec\x3a\x41\x89\xc8\xd8\xff\xef\x04\xa5\x6c\x47\xf7\x3c\x41\x9d\x54\xf4\x0f\x77\x82\x76\x10\x4b\xfb\x04\x35\x57\x35\xc6\xc9\x86\x98\x61\x42\x21\xe2\xc4\x1a\xa3\xd0\x01\xd9\xad\x8b\x41\x29\x00\xd7\xe2\x7a\x55\xea\xc3\x62\x3c\x79\x21\xac\x09\xa2\x98\xea\x05\x02\x5a\x78\xa6\x21\x1d\x0c\x64\xda\x3a\x03\x28\x24\x3c\x25\x31\xf2\x55\xbb\xdf\x69\xea\x98\xd1\x7a\x81\xd6\x1d\x68\xa4\xd1\xbd\xcf\x9d\x24\x2c\x98\x95\x6d\x68\xc7\xba\xd6\xab\xf2\x2c\x1c\x5d\x74\x02\xfd\xef\x63\xdf\xb7\xcf\x2c\xc4\xca\x35\xaf\x45\xb9\x0c\xd0\x3f\x8d\x1c\xb3\x60\x6a\x38\x08\x3e\x0f\x7c\x06\x2c\x74\xd1\x0b\xab\x3e\x3c\xb1\xae\x5c\x03\x00\x90\x0c\x5b\x35\x2a\x5c\x38\x2f\x71\x77\x7f\xfd\xd4\x05\xc8\x68\x82\x48\x71\xfb\x30\xaa\x28\x9c\x8a\x3d\x7c\x7f\xf5\x53\x3a\x0a\x56\xf6\xe3\x47\x32\x08\x62\x11\xb8\x38\xb2\xf1\xb1\xd3\x6a\x25\x6f\x86\x23\xff\x2d\x18\xd0\x51\xf8\x87\x2f\x21\xca\xf3\x3b\xae\x8e\xc2\x35\xf5\x39\x97\xf0\x7f\x00\xde\xa8\x1b\x17\xd5\x30\x72\x96\x82\x0f\xab\x12\xc8\xb3\x28\x5c\x94\x70\xcb\x73\x0c\x11\x22\x83\x75\xcf\x0a\x21\xd9\x44\x94\x13\x76\xc7\xd5\x60\xd4\xf4\xb5\x32\x2a\x64\x28\x35\x4c\x79\x78\x87\x39\x79\x53\x9d\x87\xeb\xab\xe9\x27\x99\x34\xdc\x78\xa5\xf3\x79\x9c\x71\xc5\x40\x46\xc9\x08\x96\x0c\x7f\x1d\xa3\x9b\x38\x5e\x32\x1b\xee\xa3\x33\xdd\x45\x61\x39\xda\xdd\x14\xcd\xe5\x9b\xf0\xc2\xdf\x7d\x4d\x38\xd0\xa8\x0e\xd4\xa8\x60\x5e\x2f\x71\x2d\x60\xe4\xcd\x08\x6f\x23\xc4\x25\x04\x66\x1f\x33\x69\x30\xf4\x23\x4b\x01\x44\x12\x4a\xc6\x10\x24\x65\xeb\x11\x26\xf4\xa3\x8d\xc8\xfa\x10\x58\xf0\x75\xd4\xee\xae\xc9\xc7\x1b\xd6\x9e\x7c\x14\x87\xde\xda\xdf\xd6\xfb\xb2\x60\xea\xb9\x81\x5a\x18\x8e\xa6\x33\x91\x6f\xf5\x66\xbb\x35\x79\x6b\xc9\xf3\x1e\xab\xb2\x63\xf4\x2d\x6a\xbf\xef\xf8\xe1\xb2\x08\x07\xa8\x79\x25\x4a\xce\xae\xae\xf4\x45\xc1\x0d\xde\x0f\x7c\xf9\x1e\x38\x86\x62\x8b\x03\xe4\x12\x95\x20\xc8\xb8\xb8\xc2\x32\xca\xc8\x08\xf1\x9e\xe0\xe3\xde\xc5\x07\x41\xa8\x29\x4a\x5a\xd8\x40\xc0\x09\xb5\x0a\xa3\x34\x16\xc9\x65\x54\x42\xc6\x30\x73\x83\x87\x43\x6e\xd4\xfe\xa3\x45\x8c\x63\x73\x7e\x17\xf7\xe8\x06\x79\x60\xbe\x62\xa0\x7b\x0f\x39\x5e\xca\x1f\x68\xf4\xac\xea\xa6\xc6\x38\xba\x7b\x44\x67\x39\xfd\x14\xf6\x7f\x32\x98\x4c\xa0\xdb\xc9\x20\xd8\x42\x0f\xe0\x61\xff\x65\x20\x3c\x8c\x30\x8f\x91\xac\x90\xac\xd7\x5e\xd8\x3f\xff\xcb\x5f\x7d\xab\x9f\xfe\xe5\xaf\x7a\x74\x9f\x7e\x36\xe3\x4b\x83\xbe\xce\x85\xc1\x62\xeb\x3e\xa0\x67\x9a\x7a\x43\xe7\xa0\xc3\x11\xa2\xc3\x68\x3a\x30\x1b\x61\xf1\x01\x5c\x73\xd1\xe9\xb6\xcb\xe5\x12\x6f\x12\x88\x33\xd8\xba\x11\x80\x7f\x52\xa0\x78\x6b\x52\x8f\x4d\x07\x58\xe1\x4e\xe6\x4c\xf2\x1a\x18\x2f\xd3\xdb\x98\xb8\xfc\x80\x7d\x58\x6a\x9c\x47\x14\x00\x7c\xe7\x01\xa2\xab\x3b\x88\x15\x33\xa9\x71\xaa\xbb\xd4\xcb\xed\x9d\xaa\x46\x51\xbe\xf0\x98\xed\x34\xeb\x55\xdd\x45\xc0\x05\x48\x45\x43\x88\xf9\xd0\x4d\x4c\x20\x2f\xb1\x45\x4e\x0b\x1b\x89\x13\xed\x61\xfa\xe2\xc7\x64\x50\xdd\x0d\x76\x37\x88\x29\xf9\x52\xf1\x82\x7b\xba\xb0\x29\xde\x6d\x1f\x01\xc1\xfc\xbb\x55\xc9\x99\x87\xaa\xb5\xd3\xcd\xdc\x8d\x3d\xb8\xd5\xf6\x3e\x24\xdf\x9f\xf0\xae\x75\x8b\xda\x63\x74\xe8\x3e\xf7\x2b\xb8\x69\xeb\xc0\x76\xef\x11\x7a\xbf\xb7\xc4\x91\xd3\x77\xed\x57\x81\x7f\xdf\x57\xf7\x7e\x05\x62\xf7\xba\x8e\x27\x20\x41\x8d\x66\x58\x69\x6a\x36\xce\x86\xa3\x1e\xf7\x58\xc7\x71\x70\xde\x81\x21\xd6\x5f\xca\x51\xb5\xb5\x28\x29\x4c\x92\x28\xb3\x7b\xdb\xed\x08\x6e\x8b\x31\x08\x19\x2b\x25\x30\xdb\xa9\x66\x12\xf8\xdc\xc1\x06\x6d\x7b\x2c\x63\xd3\x33\xa9\xbd\x98\x90\xa8\xc4\x7e\x6b\xcd\x3c\xe1\x0f\xd5\xe4\xe4\x6d\xe5\x76\xc4\x4d\x17\x18\x0b\xd6\x40\xc6\x33\x91\x61\x05\x83\x8d\x77\x38\x66\xfc\x34\xfc\xf3\x93\x27\xc7\x3f\xc9\xc7\x41\xe4\x31\x18\x5e\x75\xcd\x8f\x1f\x09\x46\x01\xc3\x88\xce\xea\x8b\xab\xbd\xe3\x79\x72\x8c\x09\xb8\xd0\x98\x63\x14\xae\x2e\x1e\x33\x0a\x02\xea\x6a\xe2\x29\x36\x81\x56\xab\x56\x0b\x7b\x0c\x19\xa2\xc8\x63\x72\x08\x9c\x9b\x91\x0e\x5a\x44\xa0\x5b\xba\x0f\x1d\x44\x34\x9a\x26\x02\xef\xb5\x9c\x96\xe5\xbc\xf3\xb6\x5b\xf0\xa0\xca\xc3\x86\xb3\x4d\x0f\xc5\x4b\xd4\xa1\xff\xe3\xd8\xd7\xef\xef\x68\x9d\x68\x21\x41\x59\xa8\x24\x0a\xb3\xea\x87\xb7\x88\xc9\xd9\x95\x48\xb8\x85\xc9\x7c\x8a\xfc\x5e\x35\x07\x76\xad\x6c\xee\x4a\x69\x37\x41\x53\xb7\x1b\xc9\x94\xfd\xdf\x15\x2d\xe4\xd0\xb6\xef\xa9\xd9\x57\x70\xc9\x2d\x23\x97\x01\x98\x77\x80\x52\x62\xe8\x29\x3f\x22\x30\x4e\x7d\x34\x75\x89\x0d\x3e\x7a\x39\x47\x30\xdb\x64\x34\xd5\x00\xe4\x10\x1c\x14\xe0\xa1\xb8\xe7\x85\x70\x79\x94\xae\xb3\xef\x71\xf0\x09\x60\xee\x4b\x0b\x7e\xe2\xbd\x75\x6b\x9d\xf5\x77\x9f\x3c\x08\xe2\x4b\x1e\x3d\xf8\xa2\x0f\x40\x9f\xc3\xe5\x1c\xf3\xbb\xde\x2a\xcf\xc4\x94\x22\x67\x93\x7c\x55\x43\x08\x6a\x27\x0b\x93\x3a\x79\x10\x26\x30\x22\x7f\x24\x83\xc3\xe9\xbf\x49\xc8\x15\x70\x38\x48\x3f\xc1\x78\x01\x59\x94\x26\xc0\xae\x8f\x26\xd9\xd2\x01\x5a\xdb\x69\x9f\xd7\xe4\x0a\xda\xdb\x3b\x51\x03\x0f\x86\x21\x8c\x30\x86\xce\xd9\xae\x95\x71\xcf\x05\x64\x40\x27\x8a\xaf\xd5\xf4\xf5\xc5\xdb\xab\xf3\x0f\x97\xe7\x6f\x2e\x2e\xaf\x3f\x3c\x7f\x79\x75\xfa\xec\xd5\xf9\x73\xf2\xc7\xf4\x13\x3e\x58\xd3\x7a\x68\x45\x8d\xa8\x7b\x4d\x2c\xa3\x01\x39\xba\x6f\xbd\x4a\x00\xf4\xda\x68\x90\xd4\xa6\x52\xc4\x09\x13\xf3\x94\x45\xd1\x06\x6e\x77\xd8\xcd\x2f\xc5\xe6\x4c\x14\x9f\x80\xdd\xc7\x7f\x1b\xe5\x28\xa9\x99\x81\x90\xb6\xb9\xf2\x6c\xc3\x61\x8b\xbb\xf6\x89\xae\x99\x81\xec\xeb\xa3\xf8\x30\xa6\x48\x1b\x26\x3e\xcd\x0a\x51\x36\x99\x98\xa4\xf6\xf8\x4e\x85\x78\xf3\x9f\xcb\x84\xc6\x79\x02\xfa\x8d\x38\x3e\xfa\xc9\x03\xd0\x35\xbc\x86\x00\x1e\xb7\x84\x3a\x55\xff\x67\x5f\x1b\x46\xf7\x1c\xe2\xf6\x13\x29\x41\x54\xb3\xea\x8e\xb9\x25\x76\x21\x4a\x1e\x39\xa7\xa0\x4d\xa6\x55\x55\x70\x0f\xee\xdc\xe9\xbf\x61\x65\xce\xeb\xdd\xed\xed\x99\xfe\x82\xa9\xff\x14\x62\xf9\x02\xfb\xee\x2d\x47\xc4\x62\xd9\x2f\xae\x85\x58\x49\x0f\x18\x60\x38\x0b\xae\x0a\x9f\xae\xc3\xce\x69\x20\xbd\x3b\x6c\x7a\x7f\xa1\xda\xb5\x6b\xa0\xef\x8e\x62\xa4\xe4\x35\xd4\x09\xb7\x53\xff\x80\x13\x6b\xe0\x51\x4f\x95\x29\x0b\xff\x6d\x6c\x1b\x40\x33\x23\xae\x1a\xa4\xda\x2a\xb6\x06\x34\xb3\xeb\xaa\x30\xb3\x88\x6f\x0a\x53\x58\x4f\xc6\x41\x71\xa2\x9a\x42\x37\xbf\x4f\xc9\x8f\xa5\xda\xf7\x02\xb6\xea\x99\xc0\x5a\x6c\x8c\x5d\x6d\x3e\xcd\x0a\xba\xac\x4c\x89\x69\x2d\x36\x63\x72\x38\x0e\xc9\x37\x14\xa9\x27\xe4\x89\xe3\x94\x30\x1a\x31\xdd\x0c\x7e\x4b\xb6\x84\xf2\xbf\x6d\x28\x3a\x26\xce\xc7\xc4\xa1\x59\xc0\x70\xb0\x31\xc7\x30\x45\x5d\x90\x3f\xd8\x71\xb8\xcc\x90\xf1\xf7\x93\x13\x5b\xe0\xd1\x23\xfb\xc9\xe6\xe6\x89\x98\xd8\x8e\x8b\xd2\x96\x75\xc0\x8e\x0d\x3e\xff\xac\x80\x1c\xfc\xce\xaf\x67\x20\x89\xab\x32\x2f\xe8\x62\xcf\x8e\x41\x60\x15\x4e\xfa\xc2\xf7\xd4\x21\x08\xef\x19\x9f\x41\x5f\x89\xef\x49\x19\x8c\x0d\x91\x1c\x3b\x0e\x11\xc2\x60\x43\x3e\x00\xf8\xd7\xfd\xbc\x82\x2c\x04\xa4\x77\x1c\xd1\x3f\xb4\xbc\x82\x1c\x8e\x36\x7c\x3e\x0e\x52\x84\x6a\xce\x01\x9b\x82\x9c\x82\x9f\x52\x3a\x91\xd6\x14\x3e\xcf\x71\xa7\x35\xd6\x2e\xc7\x1d\x1c\x6d\x53\xcd\xac\x07\x83\x44\xdc\xc0\x0c\x1f\x23\x26\xbb\x7d\xd0\xdf\xbe\x74\x70\x8d\x5d\x8a\x40\xa4\xcc\x33\xb1\x2a\x55\x8f\xcb\x0a\xa1\x1c\x43\xc3\xb9\xad\xec\xb5\x7e\xc1\x8f\xcd\xb8\x08\x65\x93\x0a\x18\xcd\xeb\xc6\x34\x38\x78\x72\x78\xf8\xaf\x83\xa4\x30\xd5\x55\xe5\x35\x55\x37\xd3\x8c\xf1\x22\x32\x70\xef\xd3\xf9\x7d\x6d\x0f\x68\x30\xc6\xc7\x89\xaa\xf8\x4a\x39\xd7\x73\x98\xf8\x9b\xbb\x91\xd1\xe7\x1d\x27\x91\x55\x83\x36\xbb\x2e\xaf\xf0\xbe\xb9\x61\xf9\xaa\x60\x57\xdb\x32\x8b\x2f\x9c\x0f\x1d\xca\x2e\x73\xfd\xfd\xea\x0d\xaf\xf5\x2d\xaf\xe7\x7d\xed\x1b\xe5\xa5\xcd\xa7\xb1\x87\x02\xfe\xc4\x8c\xb3\xac\x23\x01\xdb\x9c\xdf\x7f\xd7\xc1\x9e\xcd\xbf\xb1\x6d\xdd\x63\xf7\x6d\x9d\x7e\x7b\x6e\x4a\x7f\xed\xe7\xbc\x6b\xff\x92\xaf\xc4\xd8\xd5\xfd\x9c\xbd\x7b\xce\x2c\x28\x97\x93\x7f\xc2\xfc\x2c\x3d\xce\x24\xa2\x8a\xba\xc4\x4f\xf8\x45\x4e\xf7\x6e\xac\xaf\xd2\x63\x63\xc3\x65\xe8\x38\xde\xc1\x3a\x24\x0f\x7a\x9c\x7a\xde\xaf\x5f\x00\xcc\x69\x7a\x81\xb3\x14\x9d\x16\x9f\x89\xd8\x4d\x21\xd1\x9c\x39\x41\xad\xf6\x90\x24\x3f\x0c\x83\x7d\x32\x89\x34\x58\x99\x83\x45\x3e\x5e\x7b\x25\x48\x55\xac\x16\xbc\x0c\xe0\xa8\x23\x50\x5c\xd9\x3e\xcd\x41\xdb\xbb\x77\x17\x6f\x99\xc6\xf6\x26\x2c\x37\x9b\x1b\x8a\xa8\xe1\x16\x4c\x38\x17\x25\x4b\x00\x09\x47\xed\x41\xb6\xed\x95\x42\x4b\xee\xaa\xcc\xc1\x9b\x7a\x4a\xc8\x4b\xe5\xf2\xbc\x03\x32\x5e\xe0\x58\xa5\x4f\xb6\x4b\x63\x33\x1c\x59\xd0\x3c\x98\x37\x24\x27\x13\x79\x9c\x77\xbc\x5e\x95\x24\x42\xb1\x83\x0c\xee\x98\x1e\xb3\xaa\xc5\xa2\xa6\xcb\x25\x55\x3c\x73\xb0\xb9\x62\x1e\x9a\x8c\x71\xc0\x76\xe2\x97\xac\xd8\xea\x9b\xc9\xe8\x02\x2c\xcf\x0f\xcf\x7a\x99\x93\x15\x60\x19\x01\x68\x5e\x94\x98\x9f\x2c\x19\x2d\xa5\xcb\x88\x2e\x14\x99\x81\x5d\xda\xd8\x47\x33\x51\xd7\x5a\x7c\x45\x5f\xd3\x2d\x53\x7e\xdd\x4a\x2d\x8c\x35\x91\xd5\x6f\xb8\xfa\x75\x27\x6d\xff\xc9\x41\x9a\xbe\xd7\xcb\xf8\xad\xb3\x8b\xa9\x1b\xcd\x0a\x6b\x42\x3d\xc7\x68\xee\x53\xa5\xd8\xb2\x52\x26\x71\x84\x6e\x9f\xcc\x68\x8e\x4b\x8b\xb1\x39\xad\xc3\xa3\x99\xe1\x9c\x15\x8a\x9e\xe1\xb0\xc9\x49\x34\xb5\x49\xcc\xbf\x2d\xcc\x53\x3e\x8c\x4d\x6e\x31\x7b\x1c\xb5\x90\xe4\x93\xfd\xe7\xf4\x69\x8e\x06\xf4\x07\x72\x68\x1f\x02\x87\xdd\xdb\x48\x11\x33\x8a\x6e\xf5\x36\x2e\x79\x17\x1b\x1f\xf6\x83\xaa\xc0\x50\x8f\xee\x10\x93\xb8\xcb\xba\x6d\x33\xe9\x4c\x0b\x56\x2e\x50\x12\x38\x26\x9c\xfc\xe1\x84\x1c\x1e\x13\x3e\x99\xc4\xd1\x9d\x71\x9d\x77\xfc\x3d\xf9\x36\xda\x00\xa7\xea\x81\x58\x11\x0f\x93\x1a\x77\x15\xf8\xdc\x7c\x8a\x5e\xb7\x8e\x15\x4d\xdf\xa6\xfb\xee\x1f\xf3\xe2\x7d\xb9\x0b\x28\x6e\xf0\x9f\xe1\x06\xc2\x11\xff\xf3\x5c\x41\xbf\xfa\xd9\x36\x0f\x60\x4f\xa6\xec\xfe\xf7\x0e\x2e\x28\x5e\x3c\xf1\x23\xeb\x6e\x9d\x4b\xb1\xd1\x57\x8e\xeb\xa4\x7d\xdf\xe0\x20\x3b\x2e\x1c\xc7\x09\xda\x06\x5c\xeb\x99\x55\x23\x60\x15\xa7\x70\x1c\x36\x6e\x19\x18\xc0\xb7\xfe\x8a\xd1\xcf\x3f\xba\x64\x2d\x84\x22\x72\x49\x0b\x93\x1b\x83\x04\x03\xfe\xfa\x84\x4c\x4c\xe6\xf1\xcd\x0d\x2f\x58\xd0\x56\x8c\x49\x5c\x50\xa9\x2e\x51\xfe\xd6\xc3\xc0\x4c\xe3\x78\x4c\x47\x70\x79\x04\xb7\x85\x2d\x3b\x09\x99\x53\x97\xe9\xcb\xde\x38\x27\x27\xc4\x6b\x3b\xba\x6e\x10\x77\xf9\x60\x87\x10\xea\x67\x9a\x1f\xed\xbc\x75\xec\xba\x57\xa2\xba\x14\x1b\xef\x78\xe7\xa6\x37\x99\xd8\x9b\xe8\x01\x89\x70\x97\xe3\x1b\xe9\x86\xcf\x21\xa7\x7a\xb0\x2e\xc7\x0f\x1a\x7c\xb7\x9f\x5a\xb5\x92\x37\x53\x5a\x55\xd6\x2e\xde\xf8\x3e\xd6\x5d\xd8\x50\xb3\x83\x03\xf2\x23\x23\x7f\x59\x49\xe5\x90\xee\x21\xb9\x9a\x83\xbb\x57\xa2\x8a\xf3\x25\x8e\xf5\x61\xb4\x77\xc4\xaa\xca\xa9\x62\xb6\xa5\x40\x34\x0f\x84\x1f\xaf\x86\x41\x4d\x13\x08\x8c\x4b\x7a\x17\xa8\x99\xec\xdb\xa1\xc7\x87\x19\x09\x23\x88\x47\x4f\x29\x7f\xe8\xa2\xac\x82\xd6\x90\x72\xc9\xbd\x6b\x01\x35\x9e\xec\xa2\x80\x98\xc0\x7c\x19\x23\x39\x99\xd1\xf2\x72\x18\x0c\x70\x57\x73\xc7\x41\x6b\x35\x9e\xc6\x64\x71\x59\x15\x3c\x63\xc3\x07\x0d\xbb\x48\x07\x99\x4e\x9a\x23\x1b\x37\x7f\xf0\x68\x76\x21\xe5\xac\x4a\x4f\x3b\xb5\x27\x9b\xf0\xf0\x4d\x4e\x9a\x4d\x1d\xc7\xca\x33\xbd\x3f\x8f\x3b\x0a\x7d\x4a\x2c\x78\xc4\x3d\xc0\x63\x94\xc3\x5c\x1a\xc4\xfb\x29\xcc\x6d\xf2\xc3\x35\x8a\xf8\x97\x90\xec\xd6\x60\xf9\x1b\xc7\xbe\x40\x2f\xe4\xf4\x99\x56\x89\x19\x0b\xe8\xed\x2c\x34\x4e\x25\x1e\x51\xb1\x99\x07\xc1\x7c\xb3\xfb\x84\x6d\x28\xff\x27\xb1\xec\x34\x80\x85\x5e\x29\x38\x0b\xb1\xb9\x16\xd7\xa2\x1a\x1e\xf6\x1e\x20\xdb\xeb\xb4\x8d\x4d\x9f\x97\x5d\xfe\x91\x1d\xc3\xc0\x1c\x7a\xc3\xf6\x7d\xb9\x7f\x68\x9a\x11\xa9\xe8\x82\x91\x55\x45\x86\x00\xdd\x07\x3f\x15\xbc\x64\x23\x52\xb3\x82\x42\xae\x52\xeb\x79\x8e\x9a\x1a\xf0\xfc\xef\x69\xb5\xc2\x01\xd3\x05\x7b\x5b\xa5\xdd\x13\x78\xca\xf0\xbe\x60\xea\x1a\xae\xd3\x97\x65\xce\xee\x86\x1d\x21\x12\xf1\x3e\xf0\xf8\x21\x8c\x1d\xc3\x9e\xdc\x63\x25\x72\xb1\x29\x7f\xdb\xb5\x78\xae\x7b\xf8\xad\x57\xe3\xf1\x6e\x9d\x7e\x8f\xd5\xd0\x13\xd7\x74\xd1\x31\xf5\xfb\xcd\xfb\x15\x2f\xff\x36\x34\x70\x9f\xc9\xc1\x56\x7f\xb1\xe9\xfd\x8d\xb6\xb5\x31\x41\x34\x48\x34\x5d\xee\x25\xcb\x44\x99\x87\xbf\xd0\x32\xff\xac\xbb\x71\xc3\x2b\x76\x26\x4a\x05\x19\x9a\x76\x5d\x4b\x6d\xbe\x8b\x1c\x26\xe7\x84\x10\xab\x34\xbb\xb1\xd9\x62\xde\x25\x3c\x49\xc6\x69\x07\x91\xf7\xd3\xb9\xa8\xcf\x69\x76\xe3\xe3\xed\x71\x82\xf6\x8d\x47\x9f\x1e\x48\x68\x7a\x62\xb3\x24\x47\x2c\xb1\x7d\xcb\x4c\xa1\x80\xdb\x70\x8f\x10\x0a\x06\xf8\xa0\x1d\x8e\x4d\x73\xf1\xe3\x0b\x76\x1c\xfd\x60\xd8\xee\x03\x69\x33\x8e\xd7\x0f\x5d\x0a\x13\x0a\xcc\xc4\xfa\x70\xc4\x0c\x69\x7b\x1d\xbe\x58\x85\x79\x09\x6d\x06\xd8\x3d\x06\x42\xa6\x3a\x76\x0d\xa6\x70\x5a\x14\x61\x2a\xb2\x5e\x79\xca\xfc\xdc\x13\xfb\xd6\x37\x3c\xcf\xe1\xa6\x77\xb4\xda\xdc\xf8\xfe\xf1\x78\xad\x96\x5b\x78\xe9\x2d\x5f\x9c\x08\x7d\x3d\xdc\xb4\xb5\x4a\x34\x27\xe6\xea\xd2\xfe\x18\xde\x34\x62\xae\x12\xbb\x03\x19\xd6\x58\x3d\x17\xf5\x92\x50\xa2\x2b\xa7\x7d\xd0\xc1\xdb\x5d\x62\xa2\x8b\x9c\x70\x08\x44\xbb\x51\xaa\x3a\x3a\x38\xd8\x6c\x36\xd3\xb5\x7a\x72\x78\x38\x2d\x99\x3a\xc8\x45\x26\x0f\xd6\xea\x9b\x27\x87\x93\x7a\x79\xf0\xfc\xfc\xec\xea\xfa\xf2\x7f\x5c\x7f\x33\xf9\xfd\x9e\x7b\xca\x0e\xbb\x4d\x0e\x07\x07\x04\xbf\xf8\x1b\x12\x51\x0f\xcc\x18\x79\xdd\x18\xe5\x3d\x73\x38\xfe\x08\xf9\x46\x37\xa1\xec\x20\xca\x70\x29\x66\x2b\x65\x13\x5c\xc0\xee\xa2\xfa\x00\x7c\xb5\x40\xea\x6f\xf5\x17\x42\xaf\x03\x10\x29\x2a\x80\x6c\x0e\xc8\xf0\xb3\x1d\xc4\x9f\x21\xd2\x03\x72\xbe\x43\xa7\x32\x80\x6a\x30\xd0\xda\xf1\xa8\xc6\x98\x04\x5b\xdd\x40\x20\x2d\x57\xa0\xcb\x29\x07\xca\xe4\xf4\x64\x6c\xe9\xb4\x39\xe8\x2d\xc0\x72\x42\xcb\xed\xe6\x86\xd5\xac\x23\x65\x7e\x4f\xb0\xe9\xfe\x64\xde\xac\xeb\x73\x55\x42\xc2\x38\xb2\xa4\x25\x32\x35\xec\x4e\xcb\x22\x5c\x81\x93\xc2\xd6\xa4\x20\x87\xf0\x25\xd4\x25\xc5\x53\x9f\xf6\x64\xdb\x5b\x2b\xab\xb7\x59\x76\xee\xf3\xd8\x6c\x34\x93\xa9\xad\x36\xeb\x1a\xed\xb7\x3b\xba\x16\x8f\x4a\xd5\xcd\x90\x90\xd7\x62\xcd\xc2\x1e\xe7\x26\xe9\x9b\x39\x5e\xa0\x22\xb2\x29\xb6\x01\x8b\xcd\x7c\xd0\xc2\xbd\x51\x2d\x82\xb2\x69\x4e\x4a\x41\x96\xa2\x66\x41\x22\x6f\x5a\xb3\x1e\x46\x71\xd3\xa3\xb9\x2a\xd3\x1c\x80\x73\x9e\xd8\xe9\xa4\x05\x85\x60\x59\x23\x45\xea\xe1\x31\x40\xc7\x27\xf5\xa9\xc7\x84\x3f\x7e\xdc\x52\xf6\x46\x1a\x54\xeb\x32\xd1\x78\xe7\x42\x84\x8f\xd5\xb2\x6c\x57\x74\x2f\x5e\x88\xb6\xea\xf4\xa9\x07\x07\x86\xc6\xdc\x7e\x66\xce\x35\x22\xf2\x88\xd0\x34\xf0\xa7\x6b\xbd\xf2\x67\x7f\xba\x9e\x9a\xf5\x08\xdd\x2c\x7a\x78\x3b\x1c\xb7\x08\x22\x1c\x74\x3f\x6f\x93\x6e\x47\x0a\xdf\xcb\x0e\xba\xd2\xec\x4d\x48\x58\xd6\xed\x27\x49\x5c\x73\x5e\x27\xa8\xab\x55\xa5\x2f\x85\xd9\xbe\x7f\x3b\x12\xbb\x9f\xae\x7e\xb7\xa6\xfe\xcb\xd2\x59\xb2\x8d\x26\x93\x0f\xd1\x80\x76\x55\x09\x55\x41\x9a\x4a\x1c\x53\x53\x21\xcc\x4b\xc5\x16\xde\x28\x45\xfe\x93\xd5\xc2\x38\xd3\xfa\x0a\x7b\xfc\x03\xdb\x9b\x11\xce\xff\x8b\x2f\xaf\xf3\x6c\x1a\x35\x96\xeb\xfe\x5b\xe2\x47\x62\x54\x54\x20\x57\x80\xfb\x56\xe0\x7c\xb5\x7b\x4b\x5a\x6d\x1c\xc6\xf5\x93\x3e\x53\xcd\x2d\xda\xe3\x5d\xfb\xbd\x20\x6c\x3e\x67\x99\x32\xf1\xc6\x35\x43\x00\xcd\xfb\xb4\xb3\xcf\x19\xcb\x6c\xe3\xa9\xea\xf2\xae\xfd\x9c\xb3\xd5\xb1\xef\x5c\x4b\x7a\x17\xf3\x61\xc3\xc3\x8d\xeb\xbd\x9d\x3c\x19\x3d\x68\xec\x6a\xc7\x5e\x8d\xd3\x22\x20\x44\xeb\xda\x8b\xa5\xcf\xcc\x03\xde\xbf\x43\x44\x68\x51\x6c\x28\xd2\x35\x0c\x8a\x5d\x0e\x69\x64\x55\x45\x7c\xae\x1b\xe2\x58\xbf\xf5\x98\x67\x1e\x34\xd1\x34\x79\x60\xaf\x0d\xd0\x89\xc4\x03\x0e\x9b\xce\xd6\xac\xde\x5a\x0b\x2f\xf9\x57\x37\x56\xb0\xb3\x8e\x88\x75\x46\xb4\xcd\xeb\x66\x9c\xae\x5b\x56\x2c\xc3\x4c\xc2\xb6\x98\xa8\xc9\xa1\xb9\xa0\x4d\x8b\x5c\x92\xaa\x16\x6b\x9e\xb3\x1c\xed\x6d\xc0\xdb\xe8\xb7\x0c\xac\x68\xf3\x95\x5a\xd5\xcc\x98\xb0\xac\x3f\xb1\x6e\x7c\x49\x56\x55\x34\xee\xc4\xd3\xc8\xee\xb8\x44\x1f\x70\xf7\x06\xc0\x63\x31\x06\x2c\x8e\xe6\xbe\x3c\x30\x39\x8d\xd5\x0d\x55\x9d\x57\x98\xa8\xd4\x07\x98\xab\xcf\x47\xeb\x56\xf6\x17\x7f\xaf\xb9\xdf\xec\xc4\x57\x92\xcd\x57\x85\xcd\x4b\xab\xbb\x99\xf3\xa2\x00\x03\xde\x4a\x11\xc8\x22\x17\x8d\xb3\x23\xf5\xb2\x5e\x85\xbd\x8a\xcd\x96\x40\x19\x52\x9c\x9b\x80\x3f\x70\x38\x9f\x93\x60\x6e\x1f\x3f\x22\xed\xe9\xaf\x9b\xe0\x68\xc1\xa6\x1f\x1b\x29\x06\xe0\x4e\xb0\xbc\x26\x3b\x41\x68\x8b\xee\x34\x07\x62\x5b\xc7\xff\x4e\xc8\x13\x32\x21\xc3\xa1\xfb\x6b\x44\xfe\x95\x6c\x46\xe4\x31\x01\xbe\x23\xba\xc8\xa1\x4c\xc0\x8e\x35\x59\x0f\xfd\xe9\xf1\x09\x69\xb8\x9a\xba\xc7\x62\xc8\x1b\x7a\xf1\xf6\x21\x42\xaf\xd3\x08\x9f\xc0\x24\xab\xd7\xe2\xa3\x35\x72\x8a\x79\x10\x22\xe4\xa1\x5d\x6c\x3a\xe1\xa6\x51\x14\x19\x0d\xd4\xf7\xb0\x9c\xac\x4a\xc5\x0b\xcf\x1e\x67\xb4\x68\xa1\x8c\x39\x37\x51\x55\x93\xab\x64\xaf\x98\xeb\xd8\x8e\x0d\xa4\x28\x29\x2d\xf0\xd0\x5e\x38\x03\x5b\x2f\xc2\x1e\x0b\x71\x81\xd6\xca\x97\x82\x4f\x9f\xe1\x12\x76\x4d\x6f\x91\x19\x0d\xf8\x81\xe7\x2f\x7f\x70\xd0\x37\x54\xc6\xf4\x6c\xd2\x25\x36\xd7\xe2\x4f\xd7\xaf\x5f\x3d\xe7\x6b\x13\xc8\xfe\x89\xe4\x7c\x8d\x01\xdd\x7c\x6d\xb3\xcd\xef\x68\x69\xc7\x32\xe4\x2c\x13\x75\x23\xbe\x28\xe7\xeb\x30\x9c\x9e\xaf\xb5\x70\x9d\xf3\x75\x3a\x60\xdb\xb6\x00\xd5\xf6\x63\x71\x61\xde\xc3\x96\xfe\xa3\x95\x57\x71\xd4\xa3\x2d\x88\x86\xdb\xd5\x14\x06\x9a\xf7\x68\xc9\xb9\x7f\x87\x3c\x4a\x47\xa3\x2e\x73\x62\x77\xc3\x01\x0a\x6c\xab\x25\x07\x2c\xbb\xb7\x3a\x58\x80\x3b\xeb\x23\x8a\x6c\xa8\x2a\x02\xc7\xc9\xb9\xc8\x56\xce\x1c\x08\x7f\x04\xca\xc0\x48\x23\xe5\x22\xc2\x5b\x5d\x04\x41\xfa\x71\x40\x72\x1c\xa2\x1d\xb4\xd5\x42\x6d\x6e\xb5\xd9\xc6\x82\x1e\x45\xda\xbe\x4e\xb8\xe4\xae\x1d\xd9\x09\xcf\x1c\x2d\x8b\xc5\x83\xe8\x50\x81\x7b\x14\x92\x44\x1d\x00\x26\x99\x8a\x32\x13\xa5\x5e\xef\x25\x2b\x57\xcd\x14\xfa\xc6\x8b\x1b\x59\x0f\xe2\xb1\x83\x44\x09\x51\x6d\xb6\x57\xf3\xe7\x87\x68\x3b\x9c\x3d\x98\xb1\xf2\x7b\x4c\x5a\x9d\x1a\xe2\x95\x2b\x80\xea\x19\x5f\x61\x4a\xf3\xfc\x7c\xcd\x4a\xf5\xca\xa4\xa7\x35\xf1\x71\xb9\xd8\x94\x83\xb1\x1d\x43\xcf\x4a\xab\xea\xde\x55\xf4\xc2\x37\x2a\xb5\x26\x20\xca\x60\x73\xf5\x8b\x8a\x85\x61\xa1\x76\xf5\x60\x76\x7e\x00\x54\x6c\x61\x1e\x44\xf9\x42\xff\x89\x21\x3c\xc1\x62\x8e\xe1\xd9\x42\x9a\x3a\x38\x20\xd8\x08\x5c\xb3\x6e\x3d\xd0\xd7\x47\x5a\xe7\xa0\x60\xd5\x29\xa0\xb1\xbc\x78\x61\x70\x35\xb2\x95\xc4\x56\x4c\x05\xc4\x21\x9b\xad\x66\x88\x98\xd2\x7f\xf9\x5b\x88\xbc\xfa\x1d\x46\x15\xe1\xb0\xf7\x6c\xda\xda\xfc\x3e\x8b\x36\x2b\x56\xf5\xfe\x35\x03\xa2\x1d\x79\xf7\x1e\x69\x42\x30\x1b\x87\x20\x03\x54\x33\xf3\xfa\x0c\x07\x18\x74\x89\x14\x02\x7e\xda\xfa\x68\x18\x0b\x8d\x73\xd6\x1e\x0e\x8c\x74\x32\x29\x45\xce\xde\xc1\xaa\x9e\x7c\x05\x1d\x7e\xf5\x9e\xfc\x35\x88\xfc\x1d\x10\x32\x13\x77\x13\xf4\x6b\x3f\x22\x08\xb6\x3a\x99\x89\xbb\xe3\x46\xa1\x46\x3e\xdf\x23\xa2\x6a\x5a\xca\x8a\x82\xe0\xf5\x90\x2f\x2b\x51\x2b\x5a\xaa\x66\x35\x6c\xcf\xf8\x53\x3e\xad\x5a\xcd\xe2\x77\x98\xc9\x11\x91\xa2\xe0\x79\x54\xe2\x53\xf8\xc7\x74\x93\xc1\x7c\x9a\x13\x30\xaf\xed\x11\xe1\x65\xc1\x4b\x36\x99\x15\x22\xbb\x6d\x74\xa4\x57\x69\x42\x0b\xbe\x28\x8f\x48\xc6\x34\x67\xd1\x28\x60\x86\x98\xd1\x22\x1b\x86\xa1\xa3\x31\xe0\xc9\x88\x7c\x4d\x9e\x8e\x1a\x55\xa1\x53\xeb\xba\x95\xac\x6b\x43\x12\x3a\xa7\x76\x54\x0b\xa1\x9a\xf3\x4a\x0f\x01\xbd\xc3\x5a\x07\xbd\x13\x76\xe5\x78\x4f\xa3\xa1\xcf\xd9\x9e\x56\x43\xa4\x95\xae\x66\x91\xec\xc4\x7c\x2e\x99\xd2\xa4\x72\x44\x0e\x7b\x15\xad\xc5\xa6\xbb\x28\xa6\xb2\x8d\xa2\xac\x8f\xc8\xe1\xf4\xdf\x64\x47\xf9\x56\x9c\xf0\x11\x10\x40\x9f\xd2\x26\x3a\xf8\xc8\x4a\x0e\x7d\xea\x18\xf2\xdd\x1d\xa9\xdc\xbd\xf9\xff\xbf\x5b\xb6\x9d\xd7\x74\xc9\xa4\xb1\x7a\x34\xe8\x00\xa4\xd7\xbf\x12\x51\xd1\x8c\xab\xed\x11\x79\x32\x3d\x3c\x26\x9f\x1a\xf4\x2d\xc2\x12\x87\xad\x12\xf1\x41\xf2\xeb\xd9\xec\x8b\x96\x7c\x89\x69\xc8\x4b\xba\x64\x47\x38\xa0\xe3\xae\x32\x7e\x33\xc2\xb9\x27\x76\xab\x79\x64\x7c\x13\x5c\x31\x2c\x32\xc9\xc4\xaa\x54\xfa\x10\xcf\x79\xc9\x15\xeb\xac\xa1\xf8\x92\x97\x8b\x89\xbd\xdf\x8f\x08\xa3\x92\x4d\x38\xa4\xce\xe8\x1e\x29\xaf\x99\x29\xee\x4c\x2b\x8d\x1d\xf1\x0f\xa8\xbf\x7c\x6f\x18\xcd\x8d\x87\xd3\xd9\x0d\x2f\xf2\x21\x6c\x75\x68\xb7\xf4\x78\xd5\x7b\xaf\xee\x9c\xaf\x83\x4e\x42\xa4\x6b\x9e\x93\x13\x32\x80\xd5\x3b\x72\xd9\x14\x4c\x84\x61\xb2\x02\x80\x75\x7e\x4f\xc1\x63\x69\x10\x5c\xf5\xe9\xd2\xf8\x50\x64\xc8\xd5\x06\x8f\x84\xe5\xa6\x8f\x08\x9d\x49\x51\xac\x1a\x4b\x52\xb0\xb9\xea\x75\x23\x46\x5f\x9b\x17\xc0\x28\xde\x7b\x25\xaa\x5d\x6d\x9a\x9b\x72\x67\xa3\xb5\xd8\x34\x1a\x75\x2f\x40\xfb\xea\x37\x77\xe6\x8e\x09\x44\xc5\xef\x7d\x8d\x4f\x36\x6c\x76\xcb\xd5\x04\x9e\x43\xb3\x9a\xe6\x1c\x8e\x5b\xaf\x26\x79\x72\x78\xb8\x94\xf0\x60\xd0\xf8\x01\x9a\x2c\xc5\x2f\x9f\xd5\x46\xca\xd2\x8d\x88\xb1\x5d\x76\x6e\xcc\x5e\x18\x4b\x00\xf7\xb5\x90\x77\x46\x72\x76\x30\xf1\xe1\x11\x6a\x92\xa7\x37\x14\xdf\xb0\xd2\xe6\xa4\x6c\x60\x8e\x0f\x08\x97\x44\xcc\xe7\x64\xc3\x48\xcd\x7c\xa8\xf4\x0d\x97\x84\xe1\xf9\x22\x78\xc4\x8b\x2d\x36\x86\x2e\xf3\x2d\xdc\x0c\xc8\x7f\x4b\x28\x81\x24\x73\x53\x82\x8a\xba\x25\xbd\x65\x92\x9c\xdd\xd4\x62\xa9\xf9\x51\x29\x32\x8e\x3e\xaf\x07\x07\x44\xae\x66\xa8\x46\x31\x08\x40\x9a\xe9\xb6\xbc\xa9\xc1\x51\xb6\x5e\x35\xc8\x78\xb0\x7a\x4a\xc8\x15\x2f\x33\x86\x20\x8f\xd0\x48\xf4\x5d\xcf\x85\x92\x8a\xb1\x9a\x0c\xc1\x12\x4a\x32\xbd\x30\xa3\xd8\x7f\x51\x33\x54\x63\x3f\x01\xdd\x6f\x83\x31\x46\xdd\xa2\x71\xf1\x0f\xab\x81\x52\x12\xfe\x9a\x42\x15\xac\xf7\x52\x0d\x74\xbf\x37\x34\xbb\x45\x53\x2c\xd7\x3f\x80\xfe\xbc\x60\xb4\x64\x52\x91\x0d\xdd\x92\x97\x24\x13\xab\x22\x27\x73\x0e\x0e\x8b\x21\x4f\xf0\x0c\xc7\xff\x39\xb7\x5d\xbb\x81\xe8\xd2\xc3\xe7\x32\xaf\xe9\x62\x12\xaf\xd5\x60\x57\x0b\x9f\x79\xaf\xc1\x15\x34\xf9\xfd\xef\x1b\x4c\xcc\xfe\x4b\xe4\xc9\x61\xa3\x8a\xbd\x2d\xf0\x43\xea\x01\x49\x53\x7f\x7b\x2e\x1d\x88\x7c\x9d\xe2\x1b\x21\xef\x22\x69\x27\x10\x22\x23\xe1\x70\x00\x84\xae\xff\x91\xcf\x0a\xf3\x6f\x3d\xfc\x84\x27\x15\xd0\x55\x80\x62\xdb\xb5\xea\x2d\xb1\x07\x2a\xc6\x72\xa8\x6f\x20\x7c\x87\xee\x57\xd3\x2f\x62\xcf\x7a\x1d\xae\x57\x3b\x47\xb0\x5b\x64\x6c\x0b\x8d\x4d\xad\x8e\xf5\xfc\xea\xf0\xfa\x62\xea\x92\xad\x59\x2d\xd9\x0f\x3c\x67\x62\x88\x22\x5f\x7a\xab\xa1\xe5\x4e\x3f\x40\xd4\x79\x5e\xb2\xbc\xa6\x9b\x6e\x20\x97\x3f\x5d\xbf\x7e\xe5\x1c\x52\xc0\x6c\x00\x19\xeb\x28\x2f\x1b\x0a\xca\xe7\x17\xaf\x89\xe6\x17\xda\x18\x2f\xa0\xed\x34\x2d\xec\x0f\xb1\xb7\x25\x77\xc7\xd7\xbb\x9d\x8c\xfd\xd9\x40\x5b\xd6\x84\x33\xd9\xe9\x69\x81\xea\xb5\x7d\xbe\xd1\x6e\x25\x77\x2c\x92\xb9\xa6\x0c\x4c\x37\xea\x86\x6b\xb1\x21\x60\xa3\x8b\xac\x38\x70\x59\x23\x4e\xbe\xb7\x23\x5d\x8a\xcd\x1b\xb4\x11\xd5\xa8\x05\x9f\xd3\x8c\xc1\x73\xc2\x8c\xcf\xa9\x1e\x0a\x59\x49\x0c\xe4\xe2\x70\x25\xcf\x99\xca\x6e\x30\x64\x40\x94\x24\x67\x08\x44\x0e\x4b\xb0\x45\x57\x00\xa8\x09\xfe\x5f\x4a\x90\x35\x67\x0e\x03\xe5\xfa\xe2\xf9\xc5\xb0\x5e\xf0\x32\xa7\xa3\x23\x72\x26\x4a\x09\x5d\x4b\xba\xe6\xe5\x22\x74\xea\x84\xd6\xa9\x24\x43\x98\xa5\x14\xab\x3a\x63\x63\x44\xce\xc9\x50\x49\x30\x02\xa7\x65\xca\x51\x85\x9f\x89\x52\xb2\x7a\xcd\xc8\x92\x2d\x45\xdd\xd2\x7d\x3b\x2b\x13\xac\x0b\x4c\x0f\x72\xbb\xa3\x4d\xc9\x2d\xd8\x98\x18\xb0\xb4\xbc\xe9\x4f\x6b\xed\x4b\x68\x5d\xe9\x74\xd0\x27\xe4\xa2\x9c\x18\x18\x69\x98\x02\x38\x27\xd1\x62\x43\xb7\xd2\x80\xd0\xfb\xb6\x20\x12\x44\x2a\xdd\x35\xcf\x98\x9c\xb6\xe8\xd7\xa9\xea\xf5\x78\x07\x77\x9a\x61\x1c\x38\x36\xc1\x1c\x08\x30\x3c\x9a\x1c\x3d\xb5\x7e\xe0\xc1\xf1\xae\x46\xd8\x99\xdd\x44\x7f\x29\x36\x46\x5f\xe8\x28\x11\x56\xc1\x87\x80\xe1\x6a\x7d\xbb\x33\x8c\x24\x30\xf7\x26\xcb\xbd\x83\x46\xde\x7b\xf5\x10\xac\x0e\x78\x0b\x93\x13\xb3\x1f\x3b\x23\x9f\x8e\x3b\x90\x96\xf4\xfa\x9e\xd6\x35\xdd\xbe\x0b\x9a\x7c\xdf\x75\x5a\x42\xd2\x89\x4f\x0b\xe0\xf8\x04\xe1\x73\xbf\xd9\x89\x89\x86\xe0\x4f\x8e\x33\x48\xae\xa4\x66\xe9\x30\xa2\xce\x10\x75\xb5\x45\xcf\x45\xdd\x94\x4f\xad\x63\x5d\xbc\x6d\x62\xf4\x4e\x6a\x47\x6a\xed\xa2\x76\x60\xaf\xa0\x84\x9e\x9d\xa7\x7d\x4b\x9f\x4d\x97\xf2\xcf\xa1\x7d\xdb\x56\xe3\x08\xa4\x69\xbf\x39\x7c\x56\xe6\x3b\x07\xaf\xbf\x8b\xf2\x57\x0f\x3c\x05\xca\x42\x4e\x89\xe4\xe5\xa2\x60\x36\x7d\x41\x70\xdc\x1c\x39\x21\x30\xb6\x69\xd7\xd2\x91\x1b\x84\x26\x27\x42\x5e\xf1\x92\x99\x6b\x60\xc6\x48\xc9\x36\xe8\xb2\xcf\x0a\xbe\xe4\x8a\xe5\x63\x64\xbe\x4b\x41\x54\x4d\x39\x98\xad\x4d\x99\x5e\xe7\xd7\x70\x8c\x51\xe6\x23\xcd\x6e\xb3\x32\xf7\x56\x68\x8c\xd3\x7b\xf7\x7e\x97\x19\x98\x95\x79\xe4\x83\x87\x80\x94\xde\x98\xe0\xaf\x0b\x63\xfc\x25\xba\x59\xcc\x39\xa0\xcb\x85\xea\xdb\xc0\x3d\xdd\x34\x0d\xc6\xe9\x47\x8f\xc8\x43\x28\xba\x60\xde\x03\x74\x38\x00\xad\xa3\xf5\x5d\xf3\xf9\x00\x5c\xeb\x83\x9f\x0c\xaa\x2b\x98\x9b\xcd\x36\xe9\xaf\x7f\x11\xbc\x1c\x0e\xd2\xe8\x77\xbb\x4f\xbc\xc7\xe4\xfa\x6f\x72\xce\x77\xbf\x6a\x18\x9d\xab\xd7\xe5\x1f\xe0\x8c\x27\xce\x59\xcf\x03\x86\xeb\x72\x8f\xc7\xad\x79\x36\x82\xc7\x6d\x17\x79\x43\xa9\xe0\xd1\x69\x92\x77\x27\xbd\x09\x45\x8b\x46\x38\xb6\x8d\xfe\xa6\x79\x5e\x33\x89\xb8\x9e\x66\xf9\x34\x49\xe0\x57\xd8\xf4\xe6\x52\xb7\xf0\xe4\x7e\x23\x92\xcd\xc4\xb2\x5a\x29\x23\x79\x1b\x64\xd6\x70\xef\xeb\x16\x67\xed\xa8\xae\x1d\x7d\x8e\x13\xea\x8f\xa5\x1d\x84\xf9\xf5\x81\xe7\x6b\xc5\xe6\x3c\xee\xe0\x08\x1c\xe7\xd0\xce\xaa\xe3\x24\x06\xb8\x12\x4a\xb6\x31\xac\xa6\x66\x61\x41\xbc\x45\x17\x28\x1f\xec\xd8\x84\x4f\x6a\xee\x03\x78\x0a\x97\xc5\xd6\x45\xf8\x6f\x28\xe0\x0f\xd0\x3c\x37\x29\x7c\x6c\x97\xe6\x12\xd2\xe4\x4b\xc8\xf7\x42\x71\x50\xad\x50\x88\xbe\x43\x2f\x96\x0d\x1e\x5a\x69\x86\xe2\x81\x12\x4d\x98\x8f\x19\x4a\xc1\xa5\xb2\x4b\x8e\x21\x51\xd6\x45\x4b\x37\xa5\xb9\x40\x0e\x9e\x5d\xb8\x39\xfa\x44\x0d\xed\x23\x65\xe2\xb4\x48\x65\xb2\x17\x80\xb2\xc6\x79\xf4\x86\x2c\x90\xc9\xd3\xa5\x6e\x78\x79\xeb\x33\x76\xe1\x8c\x66\x05\x2d\x81\x47\x27\x52\x2c\xd9\x06\x5d\x1a\x0d\x58\x38\xe2\x54\x63\x7f\x21\xca\xc2\x98\x14\x42\xdc\xa2\x48\xa0\x85\x7a\x0c\x4c\x1a\x45\xcb\x69\x28\xda\x39\x9c\x55\x74\x0b\x17\x65\x69\xaf\xc3\xb5\xb1\xf1\x5f\x8b\xea\x00\xe3\x45\xc7\xfa\x9d\xce\x18\x8c\x50\xde\x88\x55\x01\x57\xdb\x4c\xdf\xb2\x7a\xe2\xb6\xa7\xe1\x48\x0f\x30\xa3\x12\x80\x2c\xf4\x78\x41\x5a\xd9\x80\x8a\x68\xa9\xfb\xa8\xfd\x48\x9c\x96\xcd\x3e\xdb\x56\x11\xc3\x72\x42\xad\x43\x34\x39\xb4\xdb\x81\x6e\xd2\x98\x95\x98\xe5\xc4\x3e\xde\x69\xf0\x98\x34\x6c\x03\x9c\x44\x20\xd0\x7d\x3e\x68\x41\x98\x72\xec\xb3\xeb\xb0\x1b\x3c\x08\xc2\x65\xdb\x33\xbd\x7d\x44\x8c\xa3\x01\xa8\xa4\xbb\x42\xc0\xdd\x71\x73\xed\xb6\x78\x09\xe3\xdd\x0f\xe3\x68\x71\x12\xb5\x1f\x48\xa7\x9e\x0d\xc5\x1b\xc3\x3b\xe8\x33\xd2\xd2\x36\x35\xab\xea\xfb\x1d\xae\xec\xc1\x60\x14\xd4\x73\x34\x7e\x62\x67\xf5\x98\xf0\x18\x84\x00\xa1\x0e\x56\xf2\xe6\x52\x6c\x86\xb5\xd8\x8c\x22\x20\x6e\x76\xa7\x6a\x8b\x4f\xb1\x73\xf1\x3a\x63\x75\x1d\x04\xb9\x6b\x29\x08\xd0\xdb\x0b\x9d\xe0\x6a\x99\x49\x61\x97\x9e\x04\x7a\xa2\x26\x90\xd0\x9f\x3a\x8a\xcc\x93\x57\x46\x40\x3f\x2f\xf3\x18\x41\xc7\xfa\xa4\xc1\xf7\xe7\x62\x63\xa3\xfb\x3e\x3d\x88\x60\x2c\x35\x61\xfd\x61\xcf\xe2\x8c\x02\x3c\x85\x1e\x84\x88\xa0\x18\x81\xc2\xe9\xd4\xa8\x3c\x1b\xd8\x9a\xae\x41\x44\x5f\x88\x9e\xe2\x42\x64\xfa\x8a\xf7\xb0\x10\x18\x0d\xed\x19\x9a\xc4\x33\xac\x6f\xea\x12\x92\x3a\x35\x2f\x76\x9b\x71\xa7\x66\xd9\x36\x2b\x4c\xb3\x39\x66\x1f\xfe\xe1\xda\x3c\x90\x52\xaf\xaf\x90\x8c\x6c\x6e\x78\x76\x03\xda\x8f\xbc\xb6\x19\xd8\x66\x5b\x5d\xd0\xe4\xa2\x92\x51\xfa\x42\xfd\xcd\xf1\x82\x4b\x5a\xf2\x6a\xa5\x19\x31\xc3\xfc\xf8\xc7\x77\xe4\x9c\x22\xf1\x61\xd5\x37\xd8\xd8\x44\x1b\xe9\x3b\xb8\x00\xf1\x22\x56\xb8\xf8\x16\x48\x0d\xe1\x4e\x30\xac\x25\xcd\xad\x78\x02\x8f\x0d\xbc\x81\x9b\x40\x59\x23\xe6\x73\x64\x16\x24\x73\x3c\x1c\xaf\x5b\x4f\x06\x67\x7a\x14\x35\x9b\xaf\x8a\x62\x8b\xef\x0d\xde\x65\x2c\x27\x52\x10\x8a\x37\x37\xaa\x64\xe6\x56\xa7\xef\xd9\x8f\xae\x9b\x51\xef\xd7\x4b\xc7\xc6\x22\x1b\xea\x94\x58\xf7\xba\x47\xf5\x95\x9f\xac\xa4\x84\xef\x20\x67\x52\xf1\x92\x9a\x4c\xb5\xa6\x9b\x1d\xd7\xae\x7b\xb1\xc2\x4b\xd7\x8d\x79\x8c\x03\x1a\xdb\x2e\x9a\xb2\x57\x4c\xf9\xcc\x3d\x4a\xcd\x06\xda\xe1\x3e\xf8\xaa\x40\x61\xd3\x76\x00\x8a\xe2\x5c\x8c\x41\xe0\xb3\x97\x8e\x5f\xc9\x6f\xe3\xf1\x78\x8f\x61\x57\x04\x6f\x09\x06\x50\x0d\x76\x79\x1e\x9b\x4b\xbc\x89\x8a\x65\x2b\x9b\x72\x61\x55\xdf\x65\x58\xf9\xc1\x83\x64\x2c\x72\x20\xa2\xee\x54\x12\xbf\xec\x0a\x20\xbe\x34\xcd\xa5\x39\x1a\x7b\xd6\x77\x6a\x77\x2c\x85\x69\xde\x89\x01\x23\x0e\x22\x0a\x1c\x94\x96\x48\x64\x42\xcf\x81\xac\x23\xa9\x08\xa8\xec\x32\x60\xf3\xdb\x5c\x7c\x46\x4b\x84\x82\x0a\x8e\x49\x68\x57\x43\x85\xa9\xe1\xdc\xc2\xeb\x69\xa8\x19\x9a\x8c\x96\x03\x45\x72\x06\xce\xd0\x9a\x2f\xb5\x60\x2a\xe6\x0f\xa6\xb2\xd1\x38\x60\x7d\xe0\xdc\xea\x96\x4a\xe1\xc1\xb1\xec\x6a\x35\xb4\xab\x5d\x07\xd1\xeb\x8c\xf6\x1d\x42\xab\x9e\x31\x0b\xd8\x28\x85\x47\x09\xbd\x0e\x8d\x77\x3f\xde\xb8\xd7\x37\xe1\xe5\x6b\x87\xb7\x37\x04\x3c\x20\xa1\xb4\xc2\x63\x1c\x74\x12\xb8\xe0\xdb\x34\x7b\xc1\x08\x3e\x7e\x8c\x0e\x99\xf7\xb6\xec\xc1\x04\xdd\x47\x89\x62\x02\xf7\xbd\xa2\x92\xbf\xef\xe6\x4e\x22\x7c\xe6\x37\x35\x07\x66\xdb\xe7\xce\xec\x14\x41\x6a\x26\x2b\x96\x79\xc4\x64\x70\x64\xc3\x6b\x03\xc8\x7b\x53\xd3\x8a\x62\x06\xd5\x25\x58\x4a\x20\x16\x04\xf5\xd2\x39\xa2\x5d\xc2\x23\x02\x0f\x43\xa7\xd4\x63\x09\x0f\xe2\x2a\xe6\x73\x07\x55\xd3\x78\x70\x02\xd2\xb7\x01\x83\x61\x1e\x18\x7f\xf8\x60\x5a\x5c\x92\xaf\x4b\xa1\xbe\xd6\x6f\xb4\xcd\xf1\x6f\x5c\xfe\x33\x33\xd4\xb7\xe6\x01\xf1\x4e\xf4\x23\x2b\x25\x70\xf3\x96\x51\x35\x30\xe0\x74\x5b\xb1\x1a\xd4\x0c\x6d\xe3\x31\x79\x47\x81\x00\xc1\x08\x94\x20\x95\x5e\xea\x3d\xd4\x07\x65\x92\x4e\xfe\xee\x0a\xbe\xb0\xb4\x73\x18\x5c\xcd\xb5\x85\x3f\x2e\xf8\x6c\xba\xc9\xa6\xf6\x17\x13\x09\xf0\xc0\xa1\x88\x85\x4d\x7c\xeb\x2a\xb6\x22\xe9\x5c\xe0\x78\xb0\xa9\x8f\x1e\xf5\x0a\x10\x6d\x86\x33\xda\xd2\x62\xb9\xe4\xea\x15\x2f\x99\x05\xf2\x1e\xc6\x10\x11\x25\xdb\xe8\xaf\x1e\x88\xd0\xf1\xb0\x99\x11\xdb\xdd\x34\x27\xe1\x4a\x1c\xbb\x72\x39\xcf\x2f\x5a\x70\xdf\xf6\xa3\x5c\xcd\xa4\xaa\x9b\xd1\x7f\x3b\x43\xd3\xec\x1b\xd3\xe0\x40\x03\xc8\x43\x37\xd5\xb8\x6b\x8b\x84\x0e\x7c\xa9\x19\x7c\xb2\x81\x26\x18\x5d\x47\x84\x1c\x69\xc0\x4a\x05\x9d\x3d\x7a\x44\x1e\x76\xed\x98\x1f\xde\xc1\x81\x96\xb2\x95\x27\x47\xbb\x59\x2c\x37\x72\x7e\x09\x99\x9a\xc2\x33\x8c\xfe\x23\xc0\x02\x1a\xe5\x91\x6d\x0a\x42\xc1\x81\x52\x59\x90\x79\xc7\xbe\x0c\x33\xe6\xe3\xc5\x45\xd8\xe9\xd4\xb7\x70\x7d\xf1\xfc\xe2\x28\xc8\x09\xaa\xef\x07\x25\x88\x58\xd5\xfa\x75\x9d\x15\x6c\x69\x7c\x45\xc0\x4b\x7e\xb6\x55\x8c\xbc\xbd\x7e\x31\x79\xf2\xbf\xe3\x28\x1e\x34\x94\xc1\xc6\x06\xa4\x0f\x7f\x6b\xc2\x1f\x87\x64\x62\x18\x1f\x8c\x57\x0a\xf3\xf8\x24\xab\x39\x42\x7b\x32\x6a\x6e\xa4\xfd\x68\xb6\x25\x64\x5c\xee\x3b\x98\x36\xa9\x2b\x71\xcb\x00\x21\xd5\xde\x10\x71\xea\xec\xaa\xe0\xea\x47\x9e\x33\xbd\x0a\x98\xa7\x77\x88\x3d\x98\x96\x92\x61\xf0\xd0\x64\x2a\xfc\x7d\x67\x16\x8e\xe9\x26\xb3\x3e\xfe\xd0\x80\x7e\x52\xf0\xa7\x24\xaa\x5a\xa3\x32\x95\x19\xe7\xad\xfa\xee\xd7\x36\x8c\xa0\x23\x5f\x7c\x50\x5e\xb7\xf2\x03\x27\x98\x55\xb3\x02\xbe\x7d\xbf\x10\xad\x8d\x69\x34\xa0\xe9\x7f\x53\x73\xc5\x76\xb7\x71\x9f\x65\x0a\xee\x9b\x7b\xac\x8d\xbb\x29\x0c\x11\x44\x15\x97\x74\x3b\x63\x67\x05\xaf\xce\xf0\xb5\x0d\x00\x13\xc3\x7b\xfc\xf1\x49\x8a\x17\xde\x13\xf6\xf5\xa0\x25\xb3\x5f\x94\x17\x2b\x55\xad\xd4\x87\x51\x34\x92\x5f\x83\xa0\x66\xe0\xe1\x9d\x10\x6b\xc4\xc4\x88\xad\x68\x41\x8c\xc4\x31\xc9\x96\x55\xb0\x8e\x49\x04\x02\xa7\x47\xee\xbb\x51\xcb\x35\x5f\x68\xc4\x5a\xa0\x55\xc5\x28\xda\xed\x73\x61\x7b\xbd\x62\xaa\x21\xff\x5a\xe9\xd5\xa2\x11\xac\x8a\xa2\x03\xd2\x1e\xaf\x2b\x08\x3b\xb5\xf2\x6d\x3c\x33\xe2\xa4\xfa\xaf\xbf\xbf\xb8\xfe\x1a\x07\xb3\x14\xd2\x83\xc5\x48\x3d\x14\x42\x7e\x64\x9a\x83\xf0\x38\x23\xba\xb9\x85\xd0\xe3\xfa\x4a\xcc\xe7\x13\xcd\x6a\x7d\x85\x80\xb5\x16\x95\x96\x2b\xe3\x77\xf7\x33\xd2\xc7\xcf\xc0\x75\xfd\xac\x96\xab\xbb\x9f\x3d\x40\x84\xe5\x93\x74\x7b\x85\xc8\x68\xd1\x66\x98\xc6\x46\x87\x80\x38\xb2\x91\x1a\x00\xf5\xd3\xa0\x21\x9a\x54\x8b\x55\x75\x50\x2d\xf2\x12\xa1\x70\x4b\xc5\x4b\xcc\xce\xbb\x11\xf5\xad\x16\xbf\x61\x5a\x2b\xc9\x6a\x69\xd4\x9b\xec\xae\x0a\x13\xdb\xb7\x8c\xc4\x56\xa3\xda\x34\x20\xb5\xa0\x08\x03\x3a\xe9\x6a\x06\x49\xb0\xd9\x52\xac\xbe\x8e\x1a\x1b\x5b\xeb\x11\x2f\xb3\x62\x25\xf9\xba\x47\x2a\xe0\x18\xcc\x25\xe2\xcb\xec\x5c\xc6\xd1\x78\xbc\x47\x83\x9f\xec\xc9\x09\x39\xd4\xef\x74\x34\xee\x93\x2e\x10\x79\x7c\xa0\x82\x68\xd8\x40\x13\x0d\xb8\x41\xab\xa2\x38\x6e\x7f\xc5\x66\xc3\x02\xed\x84\x8d\x8d\x96\xdc\x08\x77\x36\x17\x8e\xba\x25\x3d\x44\x46\xa9\x2a\x30\x04\xd2\x2c\x13\x75\x1e\x48\x14\x3f\x5c\xb7\x33\x81\x1b\xbb\xcb\x21\x59\x95\x05\x93\x0d\x87\xab\x1b\x2a\xc9\x0c\x45\xb7\x22\xb7\x29\x7e\x6a\x9e\x29\x2f\x1f\x18\x41\x42\x8a\x25\x23\x9a\x97\xa9\x8d\xc5\xe3\xa5\x72\x5a\x35\xfd\x20\xc2\xf7\x1f\xae\x9b\x17\x0b\xe6\x1a\xcf\xe3\xe6\xac\x0a\x6d\xb7\x2d\x4a\x89\x0a\x68\x1f\xe7\x1b\x8d\x7b\x20\xdb\x24\xbc\xdb\x2e\x65\x69\xec\x3a\x05\x54\xe2\xae\xe8\x68\xef\x1e\x9a\xe4\x15\x2d\x8f\x98\xb0\xd4\x71\x60\xc5\x3e\xec\x32\x25\x9a\xf3\xf2\x79\x1b\xa7\x3a\x33\x7f\x84\x3b\xca\x55\x6b\x2f\x51\x99\xd7\xdc\x4e\xb7\x97\x37\x7c\x71\xd3\x6f\x33\x43\x38\xc9\xd6\x7e\xf6\xdc\x4c\xb3\x04\x5f\x7e\x43\xed\x49\xdf\xbb\xa7\xf6\xb0\xed\xdd\x56\x53\x30\xdc\xd9\xee\x4b\x24\xcc\xcb\xf3\xa6\x16\x5a\x38\x26\x94\x0c\x7e\x2a\x07\x9e\x89\x0e\x4c\x70\xc1\xd3\xcb\x5d\xd4\xe1\x1c\xb1\xd9\xc4\xa6\xb5\xc1\xca\xf3\xee\x68\xcc\x04\x7b\x1d\xe8\xa2\x9d\xc9\x2e\x52\x6b\x05\x7b\x63\xef\x8b\x60\xc9\x5b\xb2\x3d\xb4\xe4\xbc\x66\xf4\x5f\x17\xea\x86\xd5\x1b\x8e\x5a\x69\x2e\x41\xfb\x1a\x71\x0c\xca\x01\x52\x00\x8a\x83\x19\x31\x44\xec\xef\x37\xe4\x1b\xe9\xb3\x03\xce\x04\x3a\x38\x55\xe7\x65\x7e\x31\xbf\xb2\x7a\x9e\x9d\x12\x24\x18\xa2\x4e\x02\xfe\x35\xf1\xbf\xbd\x66\x8a\x06\x9b\xd6\x45\x2f\x1e\xfd\xf9\x54\x1f\x8d\xab\x88\xa7\xd1\x1c\x56\xa6\xf8\x9a\x19\x90\xea\x35\xab\xed\x96\x59\x9b\xf4\xb4\x97\x4c\x8c\x33\x4a\x12\x64\x24\x68\x22\x63\x63\x80\x66\x02\x05\x8f\x1f\x19\xbe\xa6\x63\x52\x39\x98\x3f\xc7\x20\x4e\x43\xfe\xd9\xf6\xf2\xb6\x1a\x3e\x69\x60\x39\x77\x5a\x6d\xf6\xcc\xc0\x22\x69\x47\x58\xda\x89\xed\xed\x35\x23\xab\xaf\x75\x86\x79\xc8\x8b\x8d\xcc\x26\x80\xa2\xac\x54\x2c\x38\xb7\x08\xf5\x70\xfa\xdb\xcc\x2a\x18\xfc\xa9\x81\xd8\x83\x0f\x63\x42\xf3\x35\x35\x1a\x61\x3b\x1c\x68\x40\x9f\x4e\x83\xb3\x88\x30\x7f\x88\x29\xf3\x05\x06\x67\xa0\x92\x42\xc4\xcf\x5e\x4b\xbf\x77\xe1\xa7\x84\x9c\x06\x77\x4f\x78\xe5\x38\x65\xa2\x6d\x09\x38\x5a\xe7\xf1\xe3\x58\x95\xd6\xb5\x33\xf5\xac\x50\x08\xd3\xfd\xa4\x9d\xba\xa3\xb9\xb4\x81\x66\x5e\x5f\x0f\x00\x1f\xdf\xbc\xa2\x82\xd6\xbf\xc8\x72\x46\xbc\xd8\x2b\x7e\x0b\x9e\x1d\xa8\x44\x1b\x13\x76\x97\xb1\x4a\x8b\x0c\x1c\xdc\x9d\xc2\x1d\xef\x05\xd9\x55\xf0\x92\xbd\x60\x2c\x81\xad\x7d\x6f\x84\xa7\x94\x86\xaf\x15\x80\xb5\x5a\x96\xc3\x14\x1a\xd6\xcb\x39\xa4\xfd\x3e\xa3\x75\xcd\xe9\x82\x19\xe6\x05\x51\x8e\x50\x39\x15\x4e\x5a\xef\x84\x1d\x39\xfa\x7c\xec\x46\x22\x5c\xa6\xa7\xd8\xd6\x4b\xb4\xc7\x10\x71\xe9\xd1\xdc\xda\xac\xb7\x1f\x52\x6b\xdf\x9a\xc0\x79\xab\x0a\xac\xc9\x70\x2a\x2b\x21\x25\x9f\x15\x5b\xa3\x66\x07\x16\x27\xb0\xc7\x26\x1c\x49\x3c\x24\x13\xc4\x3a\x41\x10\xfd\x3e\x4f\x8f\x1a\x23\x2e\x5e\xed\xdc\xf0\x40\x9e\x71\x9e\x6c\x01\xeb\xea\x33\x84\x67\x4e\x57\xb1\x87\x3a\x6a\xb1\x39\x0e\xac\xfd\xae\x52\x20\x99\x44\x4b\x8c\x6b\x00\x6e\xae\xa9\x03\x99\x3e\x56\x97\x62\x13\x36\x6e\x15\x7a\x0d\x29\xa6\x2a\x68\xc6\x00\x11\x2c\xc6\xeb\x01\x45\x26\x9b\xab\x8e\xec\xc6\x3e\x9c\xad\xa2\xa8\x82\x68\x71\x56\x71\x1c\x02\xa2\x73\xa1\x9e\xb4\xaa\xc5\x8c\xea\xbd\xfd\x1a\xed\xb4\xa8\x4d\x08\xfa\x87\x50\x37\x93\x86\x02\x06\xa8\xdb\x83\x2e\x29\x76\x38\xf2\x30\x6f\x68\xdb\x0b\x6b\x53\xc0\x18\x9a\xb1\xad\x30\x40\xd6\xf1\xd8\x1f\xf4\x07\x62\x67\x35\x95\xec\x5a\xbc\xd2\xeb\xb0\x83\x3d\x4a\x27\x42\xe9\x38\xe8\x87\x6d\x03\x74\x53\x25\x87\x69\x53\x17\x4c\xfd\x78\xc3\x15\x83\x09\x37\x72\x9b\x3e\x26\x4f\x46\xf7\x49\x86\x70\xae\x27\xe2\x9c\x73\x83\x74\x5a\xad\x3d\xaf\x43\xa1\xc6\xdd\xdd\xcd\xb3\xe6\x54\x54\x5a\x40\x29\x83\xb3\x16\xb3\xd4\x98\x53\xd8\x05\xa5\x1a\x0c\x5d\x73\x42\x55\x00\xf5\xd6\x2a\xa3\x4c\x1e\x22\xe0\xb3\x8d\xa5\x0d\x16\x42\x46\x1e\x1e\x68\xb6\x0d\x54\x4f\xab\x72\x2e\x6a\xb5\x2a\xa9\x62\x41\x4e\x23\xd4\x91\x59\xe7\x6f\x68\xc7\x70\xf0\x88\x19\x08\x8e\xb0\xce\x27\x38\x88\x78\xcc\xf9\x7c\xce\x33\x00\x05\x03\x37\x4e\x46\x56\x55\x40\x8b\xc6\x0d\x11\xd1\x38\xd8\xb2\x52\x5b\xd3\x38\x84\x53\x81\x66\xa8\x1c\x28\xa2\x6a\x5e\x59\x70\xbb\xd0\x64\xfb\xc0\x24\x5a\xb2\x0b\x67\xc8\xed\x12\x93\x3f\x4a\xc2\x17\xa5\xa8\x99\x75\x61\x25\x98\x16\x1c\xc1\xb5\xa8\x83\xcd\x35\xda\x2f\xbb\x06\x39\x5b\x73\xaa\xd0\xd4\x08\xfe\x39\xa0\x0e\xc4\x29\xd1\x45\xcd\x98\x31\x2f\x2c\x4a\xb1\x64\x13\x27\xd4\x68\x26\xe8\x56\x94\x52\x14\x6c\x4c\xee\xe6\x19\xfb\x5f\xee\xdb\x94\x90\x2b\x86\x47\xbc\x9e\xad\x16\xd3\x4c\x2c\x0f\x9e\xfe\xcf\xa7\xff\xf3\xf7\x87\x20\x96\xe6\x4c\x51\x5e\x74\x9a\xba\x45\xa5\x3e\xa4\x3c\x49\x62\xca\x83\x99\xf7\x3b\x8c\x97\xcd\x54\x97\xae\x87\xc6\xfb\xb5\xcf\x58\x17\xc8\x9a\xce\x9c\xb8\xa4\x77\x67\x5f\xc4\x6a\x15\x1a\xef\xfc\x12\xfc\xd1\x27\x90\x71\x3f\x8e\x5d\xa7\x23\x72\xe4\xfe\xdd\xd2\x52\xa7\xd4\xe9\xc1\xa9\x39\x39\x69\x26\xdf\x4c\x55\x78\x7e\xfe\xe2\xf4\xed\xab\xeb\x0f\x67\x17\xaf\x2e\x2e\x43\x5f\xb9\xfd\x2e\x64\xef\xf6\xbc\x67\xef\xbd\x33\x5c\xd2\x80\x53\x8a\x1c\xf3\xf1\x79\xef\xb2\x11\xf9\xf6\x24\x6d\xa3\xd8\x69\x93\xec\xb0\xe1\xe0\x55\x70\x76\x43\x6b\x39\xcc\xda\x39\x70\x12\xe9\x94\x87\xbb\xb1\x4b\xfb\xde\xef\xf7\xb9\xc4\x61\x5c\x7b\x2f\xee\xdd\x43\x6e\x5d\xeb\xe1\x65\xdb\xc1\x1b\x75\xde\xd7\xfb\xce\xdb\x3e\xcd\x40\xaf\xa5\x09\x26\xe2\xec\x38\x5f\x70\xfe\x0d\xe6\xc5\x03\x78\x36\xe2\x2c\x8c\x37\xcc\x6e\x8e\x60\x4c\x6a\xb6\xa0\x75\x0e\x4a\x3c\x31\xef\xb2\xde\xfc\xfa\x95\x3d\x9d\x69\xee\xf7\xde\x4b\x6b\x17\x27\x60\x4d\xcc\xcf\x49\x57\x61\x97\xb4\x29\x32\x7f\xee\x91\xc3\xb8\x17\x5a\xf7\xee\x63\xe8\x81\xf6\x5b\x6e\x66\x07\x6e\x6f\xdb\x9d\xc6\x44\x7a\x80\x7a\xe2\x6f\xb4\x95\xcf\x58\x32\x39\xfb\x3d\xb7\xf2\x32\x48\xc5\x17\xe5\x26\xd9\xa5\xe8\x6c\x6c\x7b\x98\xa4\x0b\x21\xa3\xbf\x3d\x31\x0d\xfd\xe3\x13\xc0\x0b\xde\x4c\xbf\x63\xd8\x2c\x83\xf6\xdb\x12\x30\x7c\x38\x43\x00\xa0\x6b\x7c\xb5\x76\x5a\x5f\x9b\xd0\xa5\xd9\x0d\xd2\x81\x73\xe8\x30\x58\x9d\x36\xe8\x77\xce\x8b\xbd\x01\xe7\x7a\xf0\x61\xb0\xc0\xcd\xfd\x88\xa0\x7b\x33\x0e\xed\x66\xb8\x9d\x46\x57\xff\xc3\x63\xf8\x47\x1b\x5e\xd6\xf8\xc7\xeb\xaf\x7e\xc7\x5d\xe5\x4c\x14\x58\x59\xff\xa3\x13\x9b\x36\x13\x45\xdb\x5b\xa2\x73\x88\x20\xb1\x67\xa2\x48\xa7\x9d\x6b\xbe\x8c\xd9\x4d\x32\xe3\x6a\x5f\x29\x06\x8f\xbb\xe2\x35\xb3\x68\x6e\xc0\xbd\x16\x8c\xc6\xda\x04\xaa\x8c\xc1\x3c\x0d\xb4\x1c\xd2\xc9\x4e\x22\xe9\x74\xb2\xf4\x18\xca\xee\x6d\x11\x15\x03\x94\x56\x30\x87\x1b\x1c\x63\x69\xad\xaf\x8d\xb7\xc7\xa8\xf2\x7a\xc0\x6f\x37\xd3\xcd\x7d\xb6\x0f\x66\x8f\xa4\x47\x0f\xa2\x9c\x47\x27\x27\x51\x8a\xc5\x73\x14\x71\xbc\xb3\xae\xd7\xfa\x4e\x1f\x90\x76\x9e\xf8\xd4\x93\x94\xb8\x8d\xcc\x38\x9c\xa4\x9c\xba\x87\x4c\x99\xce\x1b\xa8\xb3\x8d\xc3\x56\x10\x43\x27\x19\xe9\xeb\x46\xac\x8c\xee\xc8\xaa\x4c\x3b\x00\xe7\xf7\xbe\x1b\x64\x2f\xbd\xa1\x2d\xf0\x1f\x93\xe4\xbe\x20\xb9\xb9\xdb\xcf\x6e\x61\x83\xb9\x2f\x44\xa4\x18\x4d\xe6\xcb\xea\xdc\x5d\xff\xe0\x8d\x49\xa4\x22\x89\xb7\xdc\x87\x88\x20\x16\x35\xe8\x13\x30\xae\x23\x9d\x17\xa0\x19\xbf\x9c\xf4\x00\x6e\xfa\xbf\x80\x9b\x7a\xb5\x92\x37\x18\xe9\x11\x9a\x99\x69\x6d\xdc\x52\xa4\xd2\x32\x1d\x84\xc5\x95\x03\x85\xd9\x8e\x56\x55\xa7\x73\xfb\x68\x47\x3a\x8a\xb6\x50\x8d\x33\x72\x33\xdc\x0b\xad\xed\xb4\x8a\x9f\x13\xe6\xd6\xa1\xd3\x6c\xb3\x2e\x2d\xc3\x30\xee\x76\xd6\xcc\xa9\x6a\xc4\x61\x53\x79\xe2\x7b\x8e\xd2\x15\x2d\xc5\x9a\xa1\x8c\x6e\x02\x43\x1b\xd1\x29\x41\x3e\xda\xda\x46\x2b\x41\xfe\xd9\x5b\x46\x6a\x21\x96\xfa\x52\x7a\xe0\x12\xd4\x1a\xeb\xc9\x50\x8e\x4c\x10\x6f\x16\x36\x9d\x73\xa9\xd0\x66\x84\x21\x2f\x10\x12\x60\x13\xd3\xf8\x81\x9c\x24\xc6\xac\xff\x0d\x1f\x1f\x23\x9b\xa6\x2f\x55\x57\x23\x70\x33\xf3\x61\x9a\x41\xd4\x95\x2b\x38\x0e\x1a\x7c\xec\x3c\x27\x5b\x5c\x9f\x75\xef\x4c\xe6\x08\xe9\x1b\xec\x45\x1e\x93\xfb\xf1\x7d\x9d\xe7\xcb\x04\x53\xf4\x3c\x5f\xdf\xbb\xf8\xe0\x1a\xa2\xc7\x52\x11\xb9\x6d\x67\x35\xbd\x9d\x18\x3c\x05\x0a\xe2\x29\xd1\xed\xc0\x8d\x6a\x9b\x42\x27\x0b\xb0\x4d\x42\x2c\xaa\xa9\xb4\xaa\x8c\x8e\x4e\x0f\x16\x62\xb0\x20\x9d\x83\x41\x12\x30\xd0\xba\xf7\x89\x2d\x75\x87\xce\x28\x23\xf7\x01\xb9\xeb\x42\xfd\x0e\x5d\x27\xc7\x88\xfe\xb2\x55\xc4\xf0\xb7\x5e\xf7\xee\xb3\xd7\x56\x76\x39\xfa\xd5\xad\x1a\x8a\xed\x3a\x9f\x4e\x5d\xe5\x1b\x12\x6b\x76\x65\x22\x97\xfc\x49\x68\x52\x3f\xfe\xf0\xf0\xc4\x37\x90\x3a\x05\x90\x1e\xc9\xf6\x64\xdb\xdd\x21\xe0\xb6\x62\x61\xf7\x90\xbb\x1f\xeb\x7d\xc9\xfd\x4b\x89\x39\x2f\xe1\xda\x95\x41\x00\x95\xa7\x25\xa3\xe2\xee\x97\xf3\xa6\x83\x05\x69\x58\xbf\xfa\x92\xb1\xe9\xfa\x7e\x8f\xc7\x15\x9c\xa4\x5f\x45\xc7\x10\x02\xdc\xa9\x2c\xd3\x4c\x45\x22\x43\x57\xe4\x05\x6d\x82\x78\xfb\xf8\x0f\x7f\x31\x51\x15\x13\xb9\x4d\x7c\xd8\x58\x90\x2e\x26\xa9\xe4\x76\x39\x55\xfc\xde\x26\x6c\x51\xbd\x5f\xfa\x58\x7d\x7e\x8f\x9b\x07\x14\xa4\x3b\x76\x0c\x4b\xe5\xcd\xc7\x3e\xad\x5d\x35\x99\xbe\xa1\x82\x0b\xc7\xe8\xd0\x3d\x73\x69\x98\xd3\xe1\xa8\xad\x79\xee\x52\x23\xde\x33\x97\x9b\x19\x4b\xea\x4c\x47\x14\x93\x22\x37\x5b\x37\xac\xdc\x49\x26\x9f\x1e\xf4\xa7\x95\xab\x1b\x3e\x57\x11\x52\x49\xfc\x9a\xad\x2a\x4d\x4a\x92\xcc\xb6\x09\x03\x1d\x3c\x2e\xc9\x97\xd2\x61\x21\x18\x82\xda\xe1\xff\x0b\xb0\x39\x46\xb9\xf2\x00\xe0\x72\x35\x57\x94\x5b\xf8\xa4\x6b\xcf\x07\xe1\xed\xa1\xcb\x6a\x16\x76\xa5\xbc\x9d\xd7\xde\x45\x60\x2a\xa3\x7e\x5b\x43\x26\xd9\xd2\x54\x90\xb8\xd1\xd8\xd7\x62\xd6\x16\xe7\xa0\x08\x2d\x0a\xcb\x35\x83\x97\x0a\x42\xe6\x84\xa1\x6f\x7a\xa2\x9a\x67\xee\x71\xe5\x01\x54\x73\xfb\xca\xdb\x79\x8a\x6c\x38\xb3\xf3\xc0\xda\x75\x7e\xbc\x4f\xd6\xe7\x5f\x78\xdd\x96\xfa\xa4\x63\x41\x80\x12\xea\xd9\x86\x61\xc0\x06\xf6\x54\x9c\x04\x24\x38\x03\x5d\x65\x20\xd8\x42\xc6\x85\xfd\xb4\x17\x6f\x70\x0f\x71\xa8\x0f\xcd\x76\x79\xbf\xff\x73\x12\xac\x17\xf5\x22\x9a\xfd\xed\x28\xb1\x99\x46\xbc\x61\x09\xfd\xf5\xaa\xc7\x24\x51\x5a\xa6\xa9\xe5\x99\xe2\xbb\xef\x45\x9b\xcd\x50\x99\xfd\x5c\x8e\x01\xee\x49\x04\x8f\x87\x5e\x9f\xf3\x96\x37\xbd\x6e\x66\x20\x6a\xbe\xe0\x25\xc4\xe7\x0e\x08\x02\x47\xe7\x90\xd2\xad\xd9\x5c\x02\xc0\x42\x58\x07\xdc\xce\x3d\xd5\x43\xb3\x64\x19\x04\x65\xc4\xd2\xce\x7d\xab\xf5\xcd\x2f\x19\xef\x5a\x48\x11\x56\x31\xeb\x12\x3b\xb6\xbd\xbb\x70\x5d\xc2\xa8\x33\x4b\x14\x97\x66\x61\x3a\x94\xbd\x36\x2f\x61\x0f\x57\xa4\xee\xba\xbb\xdc\xc1\xc2\x8d\xe1\x4a\x26\xd3\xed\xa7\xb8\xdb\x5a\x6c\xd2\x4c\xaf\xc9\xb1\xba\x7b\x31\xd3\xb3\xde\xb9\xa8\xbd\x9d\xc4\x50\x71\x8f\xdc\x47\x56\xd0\x65\x35\x44\x4b\x4d\x2b\xa4\x06\xfe\xd9\x25\xc0\x19\xed\x89\xf1\x42\x0c\x5b\xb3\xf9\xfa\x0e\xc7\x9d\xee\x0b\x09\x66\xba\xad\x55\x8b\xb7\x69\xc7\x16\xd9\x13\xe8\x78\xdf\xdf\x76\x6f\xd2\x54\xb5\x73\x6f\x92\x4b\x9e\x5c\xa1\x20\x08\xe9\xef\xb7\xc0\x8d\xcb\xb0\x5f\x4a\xda\x2f\x75\x83\x9c\xd9\x29\x27\xd3\xd4\xfe\x5a\x47\xed\xd4\x74\x83\x78\x9c\xf4\x8c\x93\x71\x2b\x9f\x39\xcf\x45\xf7\x3c\x93\x68\x78\xbb\x3c\x7c\xba\xb7\x2c\xd2\x1c\xff\xb3\x3d\x5d\xf1\x1c\xee\x73\x18\x2f\x63\x0b\x78\x6d\xd1\x10\xfa\x3c\x08\xfb\x17\x7c\x1f\xd5\x04\x8b\xde\x97\x64\x7a\x21\x5c\x26\xe7\xd6\x9b\x58\xea\x46\xa2\xf0\x4b\xc4\x8e\x46\xef\x40\x15\x23\x46\xd6\x00\xd7\xae\xdf\x39\x56\xcc\x89\x14\x31\x03\x64\xbe\x86\x69\xf8\xa9\xdc\x96\xd9\x4d\x2d\x4a\xb1\x92\xc5\x76\x0c\x55\x4c\xca\x0a\x58\x18\x5a\x40\x72\xd7\xec\x96\x6c\x78\x09\x06\xf2\x0d\x46\x95\xda\x94\x7d\x50\xc4\xc3\xe6\x66\x82\x16\x4c\x66\x16\xe0\x8a\x5a\x6c\x5e\xec\x7a\x1f\x39\x44\xa0\xf3\x1f\x76\x78\x95\x2b\x44\xc8\x97\x1f\xa6\xd8\x70\xd2\x0d\x0f\xd6\x00\xdf\x51\x77\x99\x36\x2b\x92\x93\x10\x70\x3f\x01\xc7\x6f\x74\x33\xba\xad\x56\xe5\x63\x07\xd9\x5f\xcc\xa3\x48\x6f\xfc\xfc\xc1\x41\x71\x24\x10\xd0\xba\xf7\x70\x16\x20\x7d\x45\x2a\xec\x08\x97\x05\x8f\xfc\xdf\x63\x2b\xbd\x70\xe1\x43\xd0\x41\xde\x69\x84\x42\x7b\xd9\xda\x08\x67\x7e\x8e\x63\xa3\x36\x97\x81\xf5\x57\x37\x96\x0b\x2f\x79\x79\xaf\x8b\x30\x0c\xb1\x07\xf5\x04\x90\x78\xbd\x28\x48\xba\xf2\x9f\x41\x45\x32\x14\xa1\x3e\x87\x92\x7c\x03\x9d\xd4\xd4\xc6\x0d\x80\x22\x4d\xdc\x00\x43\x69\x4f\x0e\x77\x33\x5b\xab\x0a\xdc\xdf\xdb\x6a\xc6\x14\xd4\x54\x2f\x69\x73\x19\xf7\xb0\xcf\x30\x0c\x85\x3a\xd5\x1f\xe1\x85\x88\x45\xf5\xda\x0c\x27\xa1\x22\x77\xf7\x04\x41\x15\xf1\x0f\x30\xc5\xa6\x5c\x1d\x4c\xd2\x1a\x45\xfc\x9c\xac\xdd\x65\xc9\x4b\xf4\xa2\x70\xf1\x91\x09\x11\x8b\xfc\x31\x2d\x1c\x90\x23\x23\x54\x1b\xbb\xcc\x67\xb5\x64\xe5\x03\x72\x94\x0a\xbe\xdc\xc9\xee\x3e\x08\x31\x44\x43\x86\x77\x7f\x48\x16\xda\x6a\x3a\xc3\x3d\xdd\xb2\x8c\xfd\xbc\xa2\xe0\x88\xb6\x2a\x0c\xc1\x42\x77\xd0\x09\xc4\xa5\xa4\xe9\x04\xd9\x85\x10\x60\xd7\x84\xf8\x34\x31\xba\x34\x37\x66\x58\x29\xb8\xd2\x8c\x83\xbd\xc3\xe8\x85\xf2\x95\xb9\x42\x2d\xe0\x85\x95\x40\x6b\x54\xa1\x95\x64\xc3\x20\x74\x01\x9d\xfb\x21\x9d\x35\x94\x0b\xfa\xa2\x92\x6c\x58\x3b\x69\xf6\x6e\xe5\x3e\x4e\xe2\x73\xc9\xb7\x19\xae\xb2\x87\x7c\x23\xf3\xdc\xb7\xe4\x49\xf2\x2e\x35\x33\x3f\xbb\x5f\xec\x5b\x5b\xdb\x60\x76\xe3\xc7\x16\x52\x53\x6f\xb7\xfd\x16\xb2\x13\x97\x41\xf4\xb6\xd1\xb0\x63\x14\xcb\x92\xd6\x0b\x5e\x8e\x21\x71\xc9\x6a\xc9\x20\xb8\x0c\xa7\xa9\x04\x59\x30\x45\xb8\xf2\x6d\xc1\x3e\xda\xc0\x27\x2a\x2d\x04\xb1\xf5\xe3\x81\x28\x57\x5a\x55\x05\x67\x26\xbf\xfd\x06\x42\x34\x79\x69\x29\xcc\x37\xd5\x20\xb5\x69\x08\xa3\x34\x99\xf4\x71\x4b\x0f\x30\x82\x1e\x66\xde\x56\xda\xf6\x55\x77\x76\x94\x92\x6d\x7a\xfa\x68\x04\x35\xdc\x76\xc6\xdb\x3b\xf1\xa0\x3a\x38\x06\x5f\xf4\x5b\xef\x0f\x46\x7c\x9f\xe6\x1f\x13\xb4\x15\xcf\x0b\x21\x6a\x43\x4f\x07\x69\x39\x79\x64\xbd\x57\x83\x1e\x2e\xc1\x99\xf1\x30\xc4\x3e\x3a\x38\xb0\x68\x36\x85\x14\xb0\xac\xc6\x23\x58\x1f\xc0\xc3\x68\xb7\x90\x9d\x27\x8d\x81\x75\x5c\x7a\x8f\x6d\x89\x7f\xed\x72\x9e\x6c\xc0\x20\x85\x6b\x95\x16\xfc\x1f\x07\x65\xda\xad\x6e\x02\xd8\xac\x07\x09\xbb\x96\x93\x87\xd0\xd8\x4e\xef\xcc\x82\x68\xf6\x73\xec\x5b\x46\xca\x88\x14\x6e\xcd\x9d\x74\x0d\x24\xb7\xb4\x69\xf0\x6e\xd8\xd5\xc2\x8e\xf6\x29\xe7\x60\x21\x7b\x5d\xc2\x7f\x8b\x3b\xaf\x15\x15\xf4\x45\x2e\xbd\x94\x0a\xa8\x7f\xa0\x4a\xf7\xa3\x48\x48\x5f\x0d\x52\x8f\x28\x61\x93\x35\x0c\x1d\x95\x45\xcd\x4c\x44\x90\x7e\xd4\x9a\x61\x75\x72\x27\xd0\x3e\x5e\x71\x56\x20\x60\x77\x46\xc8\xd9\x50\x49\xb4\x50\x54\xba\x34\x2a\x09\x6b\x4a\x1c\xeb\xa9\x05\x24\x3c\xb8\x4a\x10\xc9\x20\xe0\xdd\xbe\xc3\xde\x99\xce\xe0\x9a\xf8\x9e\x8c\xbe\x03\xf0\x52\x82\x1e\x7d\x77\xb6\x18\x48\x4d\x10\x91\xc7\xcb\x8c\xe7\xcc\xcb\x1e\x26\xa0\x10\xd4\x26\xa5\x98\xb8\xaa\x03\xb3\x00\x53\x42\x5e\x6f\xc9\x62\xc5\x24\x84\x0b\xba\x48\xd4\x52\xb4\xec\x35\x33\x21\x0a\x46\x4b\x40\x6b\x55\xcc\xa2\xb5\xa2\x37\x99\x64\xfb\xfc\x23\x1a\xe9\xdc\x1a\x70\xaa\x8a\x05\xda\x91\xe6\xe3\x68\x2b\x40\x39\xfb\x8c\x06\x95\x52\x00\x65\x4c\xbd\x70\x5b\xdf\x91\xd2\xb3\x99\x1c\x74\x30\x6a\xd8\xc9\xc3\xd6\x9e\xb9\xc2\x1d\xad\x79\x4a\x8b\x5a\x4b\x18\x03\xee\x39\xcc\x8e\x86\x3f\x73\x98\x1d\x93\x8e\x83\xa0\x7d\x3e\x14\xa3\x78\x9b\xb1\x86\x98\x0c\x92\x35\x64\x4b\x28\x28\x82\x8a\xeb\x22\x84\xae\x72\xae\xef\x2b\x48\x75\x40\x4b\x22\xca\x8c\x91\x8a\x69\xd1\x33\x13\xe5\xde\xe0\x73\x5e\x2e\x9e\xb1\x38\x6c\x20\x20\x0b\xbc\x5b\xc2\xec\x95\xb3\x78\xb6\xa4\x19\xf2\xe7\x56\x66\xd1\x5e\xe7\x51\x97\x58\xbc\x5b\xf4\x05\x79\xb5\xc7\x48\xb0\x60\x77\x06\x59\x27\xe4\x3e\x3d\x3c\x74\xee\x9c\x7a\x0d\xaf\xfe\xef\x8a\x15\xd9\x8d\x19\xc2\x07\x77\xff\xcc\x84\x3e\xf9\xb0\xbe\xfa\x26\x2b\x85\xe2\x73\x9e\x21\x98\xb8\xae\x07\xd0\x2d\x8e\x69\x4c\xb4\xd4\xba\xd1\xa3\xc2\xa7\xba\xe5\x0f\x8d\x34\x49\xb2\xce\x06\xa3\xe8\x8c\x05\x45\xf5\xce\x47\x4e\x29\xd0\x27\x6b\x0c\x7f\x9f\x2a\x81\x78\xa4\xe9\xf4\xb0\x1d\xe7\x11\x64\x89\x1c\x93\x6f\x0e\x0f\xdb\xc7\xab\x47\x4b\x9f\xa2\x89\xe7\x4c\xde\x2a\x51\x7d\x1f\xac\xa5\xa6\xbf\x0f\xde\x77\x27\xc8\x66\x4d\xe5\x0b\xcc\x8d\x18\xa5\xab\x72\xf8\x9c\xb0\x21\xed\x05\x09\xdb\x7e\xc5\xa5\xfa\x60\xd2\x57\x99\x72\x0e\x00\xf5\x0a\x91\x00\x36\x8c\xa8\x1a\x62\xa8\x6b\xca\xcd\x1b\xb6\xe1\x65\x2e\x36\x00\x00\xf8\x47\xa8\x54\x4e\x45\x09\xe9\x48\x1b\x07\xc5\x10\x67\x21\x20\x02\x2b\xea\x5a\x7e\x18\x8e\x8e\xc9\xa7\xd6\x51\xb7\xba\xfa\x40\xa3\x4e\x66\x5c\x05\xe2\x62\xf8\x05\xde\xc4\x31\xc9\x58\x0d\x30\x22\x1e\x48\x2d\x0d\xb6\x65\x13\x3f\x11\x97\x66\x4a\xb3\xa9\xf0\x9a\x30\xc5\xda\xda\xfa\x56\x74\x12\x09\x91\x9e\x90\xc5\x85\x84\x37\xb2\x12\x65\x1e\x82\x47\x07\x7e\x13\x6d\x95\xbf\x9d\x8c\x8d\x05\x80\x20\x81\xf9\x7c\xdf\xf3\x56\xaf\xec\xcb\x16\xae\xc1\x18\xc1\x3d\x21\x20\xaa\xec\xf5\xea\x5d\x78\x15\x45\x9f\x37\x4f\x84\xc5\xdd\x8b\xd7\xc1\x1d\xb7\x63\x39\xec\x86\x1a\x97\xfe\xc4\x86\x86\x5f\xcc\x86\xb2\x3b\x2e\x11\x12\x47\xb3\x1e\x31\x50\x44\xe4\x5a\x64\x14\xaa\x10\x52\x88\xfe\x1e\x86\xef\x6d\x3a\x94\x83\xf1\x44\xb7\x16\xef\xa1\xfd\x95\xb8\x10\x28\xd8\x45\x5a\x6e\xe3\x31\xfc\xfa\x2d\x0b\x66\x79\xff\x2d\x7b\xe9\x80\x67\x7b\x6d\x19\x0f\x8b\x9b\x2d\x4b\x6c\x09\x5d\x69\x0e\xcd\xe0\xc6\x58\xed\x60\xbc\x37\xc9\x22\x0e\x83\xad\x24\x54\xaf\xed\x72\xce\x22\xb0\x65\x90\xf2\x0d\x52\x39\x3a\xe0\x50\x89\x38\x48\x05\x2f\xd9\xd8\x5b\xbc\x7c\xd2\x6a\x49\x21\x59\x37\xa1\xe0\xd3\xa4\xdb\x33\x5e\x44\x39\x9f\xcf\x59\x0d\xa0\x0a\x33\xc1\x0b\x89\xaa\xec\x0d\x30\x97\x9b\x1b\x06\x40\x13\x7a\x77\x45\xc2\x2a\x6b\x38\x59\xf6\xe5\x19\xc7\xd3\x36\xe8\x4f\x9f\x7d\x49\x60\x05\xed\xda\x9f\xa6\x42\x2c\xde\x9a\x84\xba\xac\x79\x17\xda\x6b\xcf\xe4\x5f\x6d\xf8\x95\x29\x14\xd8\x83\x5b\x2b\x8a\xc7\x9e\x0b\x5d\x41\x1f\x00\x04\x3b\x8c\x30\xee\x42\x3c\x3e\x90\xba\x9c\x41\x05\x60\x32\x9a\x70\x58\x98\x59\x2c\x48\xf6\x07\x47\x8d\x54\x54\x2a\xc2\x15\x7a\x9e\x21\x94\x46\xf2\xa0\xb5\xec\xeb\x3b\xce\x59\x63\x59\xee\x7f\xd6\xbc\xe6\xab\xd7\x9e\x6e\xc2\xe2\xdd\x7b\x69\x24\x87\xc9\xfd\xf7\x74\x3e\xff\x75\x9b\x1a\x6c\x46\xa8\x3e\xed\xb9\xa3\xce\xef\x03\xf0\xe0\x7e\xe5\x1d\xd8\xb1\x08\xf7\xdf\xa3\xcb\xa6\x92\xf2\x3e\xd2\xdb\x8f\xfb\x76\xac\x40\xfe\x96\xa9\x0d\x63\x16\xd8\x85\x2f\x69\x8d\x61\xac\xe0\xc6\x0a\xf0\x35\x48\xdb\xa1\x2a\xdb\x7f\x0b\x8f\x24\xdc\xb5\x8d\x5a\x1e\xfb\x30\xdc\x08\x7b\x80\x6c\x7f\xad\xb2\x16\x26\x7a\x43\xab\xca\x24\x8b\xd6\x43\x30\xf6\x3e\xc2\xd0\x39\x52\x74\xc4\xaa\xd9\xea\xe7\x34\xbb\xb1\x6d\x5b\x0c\x36\x09\x1e\x5c\xfa\x66\xed\x70\xf3\xfb\xfc\x6d\x8f\x57\xe5\xfe\xbb\x7d\x6a\xeb\xef\x78\x00\xef\x07\x78\x61\x37\xde\xda\x68\xdc\x08\xaf\xcc\xf7\x23\x62\x04\x55\xd8\x87\xab\x20\x45\x4a\x4b\x0d\xde\x02\xc7\x7c\xf4\x28\x15\x63\xed\x71\x5a\x0e\x83\xfc\x27\x0f\x77\xa6\x59\x09\x02\x7b\x5f\x46\xd7\xa9\x89\x1e\x81\x5c\x95\xd2\xa4\xcf\xd8\xe8\xff\xab\x19\xa1\x1b\xba\x1d\x43\xba\x02\xdb\x0b\x93\x64\x49\xb7\xb6\xa5\x99\xe6\xc5\x4c\x9a\xc6\xa9\x93\x1b\xfa\x66\x7d\xe9\x4e\xe8\x64\xe7\xd7\x8d\xf6\x4f\xeb\x6d\x1a\xea\x9f\xd6\xbb\xb3\xc2\xb4\x03\xd1\x69\xc1\x7f\x41\xb4\x9a\x0f\xe9\x58\x83\x10\xc2\x04\x0a\xa3\x61\xab\x5d\xfa\xa6\x69\xf0\x0a\xf5\x17\xdb\x32\x43\xcb\x9d\x0f\xbf\x4e\x14\xe3\x51\x8e\xa6\x7e\x11\x2c\xb1\x4b\x83\xde\xc7\x66\x50\x42\xe4\xb4\x34\x99\x15\xbc\xbc\x4d\x3d\x19\xd1\xf7\xe0\xc2\x71\x30\x70\x9a\x41\x86\x8f\x60\x13\xe1\x10\x3a\xb9\xe6\x92\xcf\x8a\xe8\xea\x01\x36\xcd\x7e\xf0\xf6\x5e\xe3\x75\x0d\x2d\xd8\x5e\xff\xc3\xa7\x5a\x02\x1e\x1b\x45\x2a\x41\x90\x7f\xd4\x25\x6d\x82\x1c\x3e\xb7\xe9\x68\x10\x3e\x5e\x09\x08\xe5\x16\x12\x21\xb2\x1e\x44\x99\x31\x3d\x5b\xa8\xeb\x14\x05\x29\x18\xbd\x25\x94\x18\x83\xfe\xaf\xe6\x0c\x5a\x2b\x79\xff\x9b\x08\x37\xf3\x19\xb4\xd0\xe7\xc5\xc9\xa2\xf2\xe6\xad\x31\x97\xc8\x43\x1c\xa1\xcd\x5c\xe3\xdd\x16\x82\x4a\xf6\x88\x80\x11\xca\x2a\x2d\x76\x14\x3f\x6e\xa9\x1d\x92\xe5\xda\x8a\x87\xc6\x88\x7f\x40\x32\x18\x25\x0c\x11\xe6\xd3\x50\xd5\x2b\xb6\x93\x62\x2d\x29\x75\xd3\xac\x2d\xd1\x45\xb5\x2c\x45\xa7\x9a\x82\xad\xb2\xef\x4b\x91\x44\x38\xd4\xcf\x25\x0a\xb3\x2e\xf7\x20\x0b\x5f\x23\x45\x18\x2d\xb3\xeb\x4e\x02\xb9\x2f\x89\xf4\x24\x12\x6b\x5f\xeb\x50\x77\x8a\x8a\x66\x5c\xe9\xa7\x60\x70\x38\x38\x4e\xe1\x4b\x20\xed\x74\x66\xf9\xd8\xdf\xee\x93\xc1\xf1\x2e\x42\x8d\x16\x61\xcf\x52\x35\xa0\xc4\xfc\xc4\x44\x19\x9c\xeb\x0f\x09\x98\xd4\x7f\x80\x3d\x88\x95\x64\xc6\x1b\x0d\x5e\x7f\x7d\x6c\x1a\xd7\x36\x26\x43\x46\x45\x61\x90\x49\xbd\x19\x79\xa3\x9b\x72\x02\x33\x20\xeb\x53\x63\x31\xda\x45\xf0\xed\xcd\x4c\x03\x2b\x29\x51\x5d\xfa\x07\x3d\xa5\x01\xbf\xf6\x25\x3c\x44\x2b\xfa\xe3\xed\xa9\xf9\x2c\x2a\x34\x0c\xba\x1a\x1d\x37\x51\x11\x12\xed\xb4\x73\xfa\xa6\x38\xb6\x0e\xf8\x84\x28\x01\x2c\x36\xfe\x87\xc6\xa8\x03\xbe\xed\xcc\x09\x55\x61\x8a\x51\x87\xd0\x02\x96\x54\xae\x88\xde\x79\x9e\xbb\xbc\xe3\x76\x3f\x69\xcd\x68\x0c\xcc\x7c\x26\xe5\x0f\xb4\x76\xca\x7b\xe4\x93\x20\x69\xf0\x98\x0c\x26\x4f\x5c\xea\xe0\xf8\x18\xee\xb9\xe7\x1b\x2c\x6b\xfb\x40\x5a\xfc\x95\x93\x13\x32\x28\x45\xc9\x06\xc1\x0c\x2f\xd9\xc4\x7e\x8e\x4c\x34\x56\x9c\x9c\xc3\x8d\x4d\x25\xb9\xe1\x79\xce\x5c\xce\xd7\xa5\x58\xc9\x04\xf6\xf4\x8e\xbe\xc9\x60\xe0\x26\x74\x70\x40\x5c\x70\x41\xe8\x80\x07\xe9\xae\xcf\xae\xae\x34\x09\x70\x50\xb9\x2e\xa9\xba\x99\x12\x10\xae\x19\xc9\x51\x24\xd6\xbf\x11\x5e\x92\xff\x73\x35\xf6\x40\x13\xf3\x42\x50\x85\x9f\xe0\x7d\xd1\x72\xf3\xaa\x22\x33\x86\x19\xb4\x6b\x10\x9f\x33\x14\xd2\x28\xf6\xaa\x3b\xc2\x74\x35\xba\x06\x36\xe5\x10\x4d\x9d\x44\x5e\xd3\xec\xd6\x30\x3f\x33\x66\x44\xa7\xe6\x7e\x9a\xe5\x4f\x6d\xab\xf9\xf4\xf3\xbf\xfc\xb5\x41\x75\x93\xf0\x88\x7d\x22\x8f\xc9\xcf\x8e\x8e\x7f\xfe\x97\xbf\xb6\x8e\x8d\xa1\x29\xf0\x75\xac\x5e\x83\xe3\xcd\xa7\xea\xee\xe7\xd8\x94\x9d\xa4\xae\x4c\x14\x83\x9e\x3e\xe0\xc9\x3b\x3d\x32\xe1\x28\xae\x0a\x36\xd8\x69\x79\xc7\xa5\x18\x0e\x9a\x99\xed\x3b\x6c\xf9\xfb\x9b\x1a\x93\x7d\x6d\x81\xa7\xdc\xfe\x86\x46\x03\x67\x1a\x7b\x5b\xe5\xd4\x04\x96\x67\xb4\x66\x0a\xf3\xda\x3f\x79\xb2\x25\xd5\xaa\xd6\x1c\xae\x9c\x7a\x73\x9e\xb9\x80\x5b\xd9\xbf\x17\x4c\x5d\xd9\xaf\x43\x17\xb0\xed\x2b\x3c\x7a\xe4\x6b\x4f\xb9\x3c\x13\x45\x41\x2b\xc9\xf2\x51\x3b\x7c\x1a\x64\x15\x5b\xf6\x4c\x8f\xc8\xb7\x13\xf3\x69\xa7\xf9\x5f\x56\xd2\x7a\x14\x03\x30\xae\x98\xb7\x76\xad\x9d\x6c\xa5\x81\x75\x20\x6f\x68\x85\x42\x43\x19\xea\x7e\x33\x56\x14\x24\xe7\x4b\x56\x4a\x7d\xd1\xec\x45\xf7\x86\x01\xe0\x25\xd9\xf1\x8e\x40\x47\x76\xe9\xb0\xf3\x2b\xfd\x53\x43\x1c\x0f\x29\x2e\x36\x1a\xce\x45\xb6\x92\x83\x11\x5c\x5e\xc0\xdb\x85\xb7\xd7\x69\xb1\xa1\x5b\x89\x28\x3f\x94\xcc\x0a\x91\xdd\x3a\x26\x54\xcb\x4b\xab\x12\xaa\x83\x62\x92\x10\x37\x98\xc6\x8c\x82\x61\x4d\x9f\xbd\xba\x38\xfb\xee\x38\xc4\x28\xc5\x45\x3e\xe9\xb8\xe0\x60\x1a\x72\xc3\x55\x76\x43\x86\xd0\xbe\xe3\xfa\xa9\x64\x3b\x7b\x3a\x3f\x7d\x6d\x3d\x49\xf1\xae\xbc\xb1\x5e\xa9\x83\x35\xad\x87\x93\x09\x54\x9e\xe8\xdd\xd1\x12\xe6\xc4\xc8\xba\x83\xe3\xa8\x52\xdb\x54\x3c\x50\x35\x2d\x65\x45\xf5\x7e\x37\x0b\x8b\x3a\x67\x35\xbe\xbf\x57\x66\x5e\x3e\xed\x53\x5c\xea\x15\x9b\x2b\x5b\x66\x20\x45\xc1\x73\xd7\xd8\xac\x66\xf4\xd6\xf0\x60\xfb\xa6\xf9\xf6\xfb\xe7\xe7\x97\xaf\x5e\x7e\x7f\xde\x31\xd7\xd6\x4d\xe7\xa8\x11\x04\xfc\x19\x95\x0c\x72\x48\x3e\x26\x83\xea\xee\x4b\xcf\xbd\x31\x2f\xfd\x00\xa0\x6a\x05\x8f\x17\xff\x05\x24\x89\x0a\xe0\xaa\x09\xbb\xa3\x80\x77\x63\x01\x01\xcc\xc8\xf6\x2c\x5d\xb8\xbc\xe1\xba\x19\x4f\x9a\xdf\x84\x02\x02\x52\x85\x9f\x3e\x7c\x19\x2a\x48\x4c\xe5\x9e\xac\x6d\x2b\x7a\x3c\xcd\xc0\xba\x58\x8e\x6d\x99\xfd\x7d\x22\x39\xb6\x65\xd6\x37\xa8\xa2\x0f\x47\x9d\x0a\xae\x70\xf5\x3e\x27\xb8\xc2\x55\xde\xeb\x11\x81\x41\x13\x69\x19\x0e\x4b\x74\x84\x5f\xb8\x2a\x5d\xa1\x3a\x57\xfa\xd6\x15\xb5\xe6\x0c\xf1\x25\xfd\x45\x88\x25\xd9\xd0\xba\xc4\x94\xac\x6e\x1b\xc3\xdf\x41\x1b\x4e\x96\x4c\x4a\xba\x60\xee\x47\x5d\x7b\x25\x11\x75\x5e\x19\xdc\xa9\x59\x2d\x36\xfa\x27\xa8\xbd\x5c\x49\x85\xbe\x6b\x98\x9c\x43\x90\x27\x87\x87\xff\xaa\xb9\x40\xa0\x52\x78\xbe\x6f\xac\x47\x9c\x83\x1d\xc0\x7c\xea\xc5\xb6\xaf\x4e\xe1\xc6\x58\x63\xcc\xf0\x02\x65\x02\xcc\x91\xef\x55\x27\xdc\x88\xcd\x7f\x0a\xb1\xfc\x11\xa7\xd5\x4c\xf2\x6d\xd5\x02\xa0\x26\x80\x1d\xfd\xc5\x17\x86\x37\x25\x94\x85\x8d\x22\xa1\x53\xee\x6d\xd6\x6d\xf3\x27\x59\xcd\xa8\x62\xe7\x05\xd3\x7f\x0e\x07\x39\x5f\x0f\x42\x7f\x92\x66\x03\x53\x9e\xeb\x9b\x07\x66\x77\xa4\x3f\x4e\xcc\xf6\x0c\x76\x55\xc2\xcb\x22\x93\xf2\x9a\xdd\x41\x44\x85\xe3\xc3\x06\xe0\x9b\x74\x44\x66\x05\xcd\x6e\x8f\x07\x01\x87\xd6\x72\x1b\x3b\x22\xff\x63\x3e\x7f\xfa\xf4\xe9\xd3\xb8\xd8\x5c\x94\x6a\xa2\x6f\xbe\x23\x52\xd0\x7a\xc1\x1a\x8d\xc0\xd6\x4f\x6a\x9a\xf3\x95\x3c\x22\xbf\xab\xee\xe2\xef\x46\x0f\x71\x44\x0e\xa7\xff\xf6\x4d\xfc\xa9\xa2\xb9\x66\x8e\xf4\xa7\xa7\x6c\x49\x0e\xa7\xdf\xc0\xff\x77\xff\x8e\x4b\x2b\x51\x1d\xa5\x7e\x07\x5f\x85\x23\xf2\x44\xd7\x6b\xb4\x6f\x4e\xd9\x91\x4b\x2e\x1a\x7f\x9f\x6c\xd8\xec\x96\xab\x89\x62\x77\x38\xc1\x09\x05\xb6\xee\x88\x68\xf9\x2c\x5d\x56\x9f\x8f\x09\x32\x85\xc9\x62\x4b\xf1\x4b\xbf\xf6\x74\xc1\x44\x63\xa3\x5d\xc4\x35\xa5\x79\x7e\xbe\x66\xa5\x7a\xc5\xa5\x62\x25\xd3\x52\x46\xc1\xb3\xdb\xc1\xd8\x53\x38\x6b\xe0\xd9\xe2\x2b\xac\xab\x4f\x31\x0f\xc9\xd9\x0d\x2f\x8c\xcb\x95\xb9\x53\x1a\x60\x3f\xad\x5e\xf5\x7c\xce\x0c\x76\x1c\xba\x09\xbf\xc6\xa3\xf9\x9a\x96\x74\xc1\xea\xa9\xc9\x5f\x72\xc9\x8c\x9b\x81\xb4\xe4\x87\x67\x34\x68\xd0\x54\xb4\xa2\xcb\x3b\xc8\xd7\xfe\xb2\x54\xc3\x3d\x0c\x88\x6e\xe2\x05\xcd\x94\xa8\xc9\xd7\xfa\xd2\x19\xbd\x0f\x04\xa5\x8e\xd3\xa0\xe9\xf6\x05\x5d\xf2\xc2\xd9\x59\x62\x0f\xcc\x52\x4d\xe6\xf0\x79\xe0\x11\x61\x5b\x6a\xc3\xf4\x0d\x11\xac\xea\x28\x5c\xec\x9c\xaf\xc3\x6f\x26\xc7\x94\x5f\xf1\xf6\x55\x73\x1c\xe7\xcb\xda\xdb\x5b\xe8\xb7\xb7\xa3\x5c\x6b\xaf\x3b\x7a\x6e\xbd\x24\x91\xfa\x41\xac\x59\x5d\xd0\x2d\x8a\x65\x06\x39\x87\x2e\xc1\x9b\x5c\x8b\x3b\x7c\x19\xa1\xf0\xb7\xaa\xd9\xec\xbc\xbc\x24\xbc\x44\xbf\xe8\x35\x78\xfd\xf2\x92\x50\xbc\x4b\x88\xde\x86\x31\xc9\x58\x09\xb8\x46\x00\x34\xb3\x36\x7c\x44\x90\x9a\x23\xb0\x96\x38\x67\xe6\x5b\xc6\x30\xd9\x88\xed\xce\x3e\x67\xb3\x9a\xb3\x39\x64\x83\x85\xcc\xc1\xe8\x20\xd3\xe8\x12\x24\xae\xad\x58\xf9\xe6\xf4\xd2\x0d\x94\xb7\xb1\x64\x37\x2c\xbb\x75\x0c\x28\x22\xe0\xc4\xab\x33\xe7\x75\x1b\xff\xc6\x82\x6d\x2f\xe5\xc2\x2c\xca\x9d\xc2\x4c\x3f\x7f\xba\x7e\xfd\x6a\xe4\x06\x69\xac\x38\x7a\xdc\x26\x9a\xc7\x4c\x63\x9a\x42\x8e\x10\x95\xfa\x60\x98\x02\x68\x35\xde\x04\x70\x58\xa0\x5c\x91\x19\x9b\x8b\x9a\x91\x39\x05\x99\x53\xac\xe0\xb1\x46\x72\xf1\xed\x93\x48\xd5\xff\x64\xfa\x8d\xf1\xe3\x95\x53\x42\xde\x50\x29\x81\xc1\x84\xd7\xd6\x42\x4d\x9b\x9a\xb6\x31\xa9\xe8\x96\xac\x2a\x70\xc3\xd7\x7b\x35\x14\x35\x59\x95\x8a\x23\xac\x79\x69\x3d\xc1\x0a\xba\xdd\x97\x9f\x4b\xbf\xd4\x17\x66\xf7\x82\x47\x7a\x29\x17\xe3\x70\xca\xcd\xf7\xda\xb4\xde\x7e\xab\xdd\x19\xdc\xa1\xa7\x0e\xea\xde\xfb\xad\x0e\x2b\xef\x7a\x72\x1b\x6f\xe2\x93\x6f\x9a\x8f\x62\xf0\xa4\xde\xdd\x4d\x12\xaf\xea\x17\x7b\x35\xfb\xbe\x81\xfb\xde\x35\xfb\x54\x6a\xc1\xce\x34\x68\x2d\x0c\x4f\x7e\x77\xb8\x94\x84\x51\xc9\x26\xbc\xec\xf7\xca\xb5\x9f\xcc\xfd\xed\x8e\xba\xb6\x31\xf1\x2a\x82\x62\x54\x8b\x1d\x1d\x2f\x23\xd3\x4f\x81\xae\xe2\xd0\xfa\x8e\xdd\x17\xa9\x44\xf5\xa6\x16\x15\x5d\x50\xaf\x52\x02\xce\xdb\x98\xeb\xc2\xb7\x32\x45\x11\xa1\xf8\xb7\xdb\x4b\xff\x78\x47\x33\x1d\xf2\xe4\xee\x20\x82\x5d\x0d\xde\xf7\x39\x6c\xb7\x13\xf3\x01\x4b\xb9\xd8\xd5\x5d\x68\xd7\x9a\xfe\xdb\x37\xde\x04\xd5\x3e\xc3\xad\xd7\xd4\xbf\xa5\xad\x07\x34\x3a\xfb\x4e\x4e\xcb\xf9\x5a\xb3\x09\x4e\xa9\xb4\x60\xea\xac\xe0\xac\x54\xfa\xd7\xa1\xbf\x16\xac\x61\xc3\xb4\xb2\xaf\x4e\xbb\xb3\xae\xd9\x02\x4e\xad\x21\xa1\xa1\x19\x8d\x0f\x3e\x0e\xba\xb3\xbe\x12\xe4\x80\x3c\x0d\xb4\x29\x5d\xed\x16\x18\xe5\xea\x9a\xb4\xd1\x53\x61\x8b\xe6\xb7\xae\x30\x09\x23\xe4\x5f\x59\xdc\x03\xf0\xf8\x78\x73\x17\x8f\x20\x25\xef\x46\x36\x0f\xec\x2f\x0e\x3b\x68\x9b\xea\x9a\xc5\x5c\x23\xe1\x03\x76\x72\xd2\xce\x83\xdc\x5a\xdc\xde\xb1\x06\x20\x30\xef\xa1\xbf\xc1\x71\xa2\xf0\x3d\xa2\x19\x9c\x4a\x79\xbe\x9b\x6e\xed\xff\x76\x95\x8c\x38\xb3\x56\x41\x77\x0f\xed\x18\x6d\xa8\x00\xea\xbb\x02\x78\x02\x6d\x0d\x17\xa1\x62\xfe\x08\x77\xe7\xe3\x47\xf2\x04\x03\x31\x02\xd6\xf0\x0d\x95\x8a\x05\x39\x87\xb6\x52\xb1\x25\xc9\x0a\x5e\xcd\x04\xad\xf3\x66\x5a\xd6\x3d\xcf\x7e\x05\xad\x75\x61\xcd\x60\x35\x28\xf3\xa2\x16\xcb\x33\xdb\xc9\x30\x7e\xab\xe3\x01\x9e\x89\x6a\x4b\x28\x41\xee\xcb\xb9\xe2\x36\x86\xe9\xd0\x1a\x85\x62\x47\xc6\x1b\xac\x66\xa8\x0b\xc1\xf7\x89\xe5\xa4\xa6\xe5\x82\x35\x93\x84\x8f\x35\x13\x69\x94\x55\x9a\xe8\xdb\x08\x9c\x96\xef\x93\xaa\x36\xbe\xd0\x76\x24\x99\xa8\xb6\xfb\xa2\x3b\x45\xb5\x45\xd0\xd6\x6b\xe1\xe6\x1b\xab\x2d\xea\x86\x0a\x2b\xbc\xbb\x31\xc2\x7f\xe2\xe6\x39\x29\x85\xe2\x19\x1b\x8c\x90\x2a\x03\xea\xc6\xcb\xc1\x73\x5d\x3e\xfc\x66\x1c\x45\xbc\xe8\xe5\xb4\xa2\x1a\x84\xe5\x04\x21\x4d\x18\x33\x5a\x6d\xaf\xc4\xaa\xce\xd8\x5e\x1e\xaa\xaa\xd9\xc0\x40\x8d\xd9\x3a\x91\x8a\x43\xff\x3c\x51\x22\x18\xbd\x84\x42\x83\x46\x9d\xf8\xf1\x91\xaa\x6e\x7c\xef\x62\xc7\xd2\x1c\x8e\x6e\x2d\x60\x43\x12\x8c\x4a\xb3\xc4\x4e\x46\x0a\x95\x13\x93\xdf\xff\xbe\xba\x0b\x5f\x4f\xbf\x28\x33\x91\x6f\xa3\xc7\xcc\x8f\x3c\x8a\x59\xeb\x6f\xe4\x02\x17\xc2\x32\xbb\x41\x3b\x08\xc6\xa6\x19\x23\x97\xff\x39\x2e\x78\x61\xfd\x13\x9b\x45\xf1\x83\x2d\x0c\xc6\x9a\x56\xa3\xee\xd7\xa8\x58\xa2\xc9\xe0\x77\x34\xcb\xb8\x2f\xf8\xaf\xd3\xa2\x80\x25\xa8\x59\xd9\x5a\x05\xa4\x41\xf8\xd5\xd6\x0a\x4e\x44\xfb\x06\x40\x33\xe2\xcb\x73\x70\xb2\x83\x4c\x13\xab\xaa\x12\x75\xe0\xb0\x31\x65\x77\x8a\x95\xf9\xd4\xe6\x51\xa2\xa5\xf4\xa8\x46\xae\x14\xb6\x83\xc9\x2a\xcc\x35\x24\x4a\xf2\xf2\x7c\xda\xb4\x26\x9a\xe6\x5c\x4e\x17\xf7\x7b\x66\xcc\x8a\x43\xbf\xf8\xe3\x68\xd9\x6d\x86\x97\x46\x4b\x43\xb7\xae\xe3\x70\x45\x3d\x9b\x19\x90\x78\xc7\x23\x12\x2d\x62\x0b\x40\x4c\x06\x33\x65\x39\x90\x35\xa0\xaa\x81\x94\xc7\xe7\xa4\x14\x28\xa3\x42\xc2\x65\x2c\xd4\x02\x19\xc3\xcb\xec\xa3\xae\xf2\x69\x2f\x9a\x98\xdf\x39\x3c\x88\x29\x73\x64\x93\xd0\xe3\x80\x57\xf3\xf1\x38\x26\x9e\x6d\x99\x05\xa9\x7b\x76\x98\x74\xcd\xa8\xf1\x99\x34\x24\x72\x65\xa2\x32\x80\x5a\x4d\x04\x5b\x90\x77\x6d\xc6\x16\xbc\x2c\xd1\xe3\x12\xd1\x16\x30\xc3\xa0\x31\x3d\xd2\x5a\x25\x08\x3d\xf8\xdd\x9e\x89\xb2\x79\x6a\xa0\x0c\x9e\x1a\x33\x70\x5d\x04\xf2\x44\x7e\x4f\x97\x8c\x3c\x3c\x21\x83\x3f\x4f\x2e\x2f\x7e\x1c\x24\xfc\x94\xdd\x2a\x39\xea\xc6\x59\x94\x84\x96\xe4\x6e\x52\x8b\x0d\x74\x38\xc6\x30\x22\xae\x40\x3f\x0f\x91\x5c\x26\x29\xba\x58\x32\x4c\x60\xce\x4b\x69\xcd\x03\x50\x6f\x4a\xc8\x69\x9e\x43\x88\x56\x33\x0d\x9d\x8b\x6f\x90\x7c\x56\xf0\x72\x21\x6d\x6b\x3e\x9b\x7a\xb0\x96\xd3\x07\x4e\xfa\x8e\x27\x76\x72\x42\x06\xff\x43\x13\xd6\x80\x3c\x7a\x04\xc3\x0c\xc9\x37\x2a\x76\xf5\xe6\xf4\xfb\x41\x13\xf1\xa4\x34\xbe\xff\xca\xea\x50\xf0\x07\x40\x4e\xd2\x37\x7d\x4e\x64\x45\xad\xf3\xcf\xaa\xf2\x18\x9d\xb4\xc4\xde\x4c\x6b\x66\x47\x1a\x03\x88\x40\x2a\xd0\xf5\x1b\xc7\x6f\x67\x7f\x85\x93\x0f\x50\x40\xc2\x76\xe2\x42\xde\x60\xe7\xe9\xe4\xb1\x37\x6f\x77\x24\x08\xd5\xff\x6a\x66\x08\x3b\x38\x20\xe7\x10\x69\xd2\x41\xa6\x41\x18\x4a\x48\xa0\xac\xcc\x1d\x79\xee\xcb\x4b\x1a\xdc\x3f\x65\x8e\x1a\xc5\x49\xca\x67\x23\x2a\x17\xdc\x49\x2d\x0a\x37\xcd\x7c\x11\xfa\x86\xf9\xfd\xa6\xd4\xed\x03\xb2\x3a\xc9\x9b\xb9\x1d\xf8\xef\x46\xdc\x25\xbb\x53\x3b\x09\x3b\x28\xe0\xf4\x21\x8e\xb6\x3e\x8f\xa4\x01\x70\x6b\x1d\xc0\x05\x5f\x8a\x0d\xb0\x68\xc3\xc6\x25\x79\x29\x36\x2e\x78\x61\xb7\x67\x53\x44\x7b\x61\x35\x48\x18\x7e\xec\x25\x89\x82\xcf\xa6\x9b\x6c\x2a\x57\x33\x7c\xc0\x86\xf5\x7a\x1c\x9e\xd2\xb1\x2b\xa1\x50\x2a\x1e\xd6\xeb\x11\x99\x90\x90\xe2\x9b\x32\x46\x04\x05\xef\x08\xb8\x43\xe0\x30\xb4\x8b\xb9\xc6\xb8\x32\x36\x72\x8a\x91\xb6\x9a\x4d\xc9\x99\xd1\xf8\xee\x13\x0e\x12\xdc\x50\x87\xc7\x28\x3e\xba\x76\xb5\xa3\xc7\xd8\x7b\x47\x41\xa9\x87\xa1\x18\x8e\xce\x0a\x29\x39\x04\x0a\x9b\x95\xe8\x1c\x64\xac\x50\x49\x01\x3d\x04\x52\x47\x47\x66\x8b\xc7\x64\x70\xd7\xf0\x31\x8b\xa3\x4b\xa2\xf4\x32\x6b\x71\xcb\x72\x32\xdb\x36\xbd\x5e\xbe\x63\x5b\x5c\x9e\x0d\xc6\xd6\xfe\x70\x4d\x6e\xd9\x56\xaa\x5a\xdc\xc2\x99\xcb\x99\x8a\x99\x9c\xb6\x00\xa7\xaf\x87\x6b\x13\xba\x8e\x7f\xd5\x0c\xd3\x92\x2b\x6b\x26\x77\x4d\x8e\xf5\xb1\x7d\x7b\xfd\x62\xf2\xe4\x7f\xef\xd9\x47\x51\xfe\x70\xfd\x9d\x1b\x49\x2c\xdc\xb9\x13\x19\x46\x46\x89\xa2\xb8\x28\x5d\x8d\x0f\xb1\xbf\xda\x0e\xf4\xc5\xe0\xa4\x79\xf4\x45\x07\x65\x2f\xe2\x81\x60\xe9\x5b\xb3\x68\x53\x56\x66\x22\x67\x76\x48\xf1\x9a\xbf\xa2\xab\x32\xbb\x61\x92\xac\xea\x02\x2f\x2b\x88\xfc\xa6\xb3\xae\xa5\xd4\xe5\xde\x5e\xbe\xd2\xa7\xa3\x80\xba\xad\x5a\xbb\x96\xab\x62\xe5\xdb\x3a\x82\x0d\x59\xd5\x85\x5f\x25\x04\x50\x98\x66\x37\xb5\x58\x42\x04\x48\xf4\xc3\xd4\xf8\x2d\x04\xaf\xce\x0b\x51\x93\x33\x2c\xbd\x7e\x4a\x68\x55\xc9\x71\x98\x46\x0d\x3d\x4e\xb9\x24\xa7\x6f\x5e\x82\xbb\x91\xf1\x5a\x20\x7a\x20\xa6\x71\x89\x17\x6f\xdc\x05\x8c\xf4\x9a\xce\x86\x7f\x1d\xac\xea\x62\x70\xa4\xa7\xfd\xa9\xed\xff\x0e\x59\x80\xb8\xe6\x78\xcd\x40\x75\x35\x3d\xa5\x31\x19\x7c\x98\x15\xb4\xbc\xb5\xa6\x86\x0d\x37\x42\x94\x4b\x41\xe6\xb6\xe0\xa2\x32\xc1\x94\x8e\x9f\x5f\xd5\xfb\xb4\x2d\xba\x9f\x2b\x53\xfc\x6d\x5d\x74\x79\x08\xaa\x7a\xd7\xb5\xf1\x20\x78\xb8\x51\x65\x52\x0a\x7f\xff\x8d\x01\xdf\x82\x96\x39\x61\x77\x95\xfe\x0f\xbc\xcb\xc6\x8e\xb7\x25\x60\xa3\x46\xef\x3f\xb4\xb1\xd6\xc4\xaa\x00\x1b\x18\x3a\xe0\x85\x89\x6d\x78\x71\x77\xa7\x28\x6c\xc5\xaa\xbd\xc3\xb7\x13\x80\xc1\x80\x0b\x4c\x49\x18\x66\xfa\xac\x68\xc6\xc6\xe6\xd1\x98\xba\x27\x3f\x1c\x66\xc3\x9c\xe4\xd9\xb5\xd7\x2e\x76\x4b\x13\x3a\x97\x04\xa2\xd8\xac\x21\x4e\x2f\x3d\x7a\xe1\xd8\x16\xad\xb3\xfc\x1f\xc8\xd3\xc3\xff\xf5\x3b\xf2\xf1\xa3\x1e\xf9\x54\x32\x5a\x67\x37\xc3\x83\x77\x3f\xc9\x9f\xde\xfd\xf4\x7e\x38\xfa\xeb\xa7\x6f\xff\xf0\xd5\xe0\xa7\x9f\xfe\xeb\xe7\xf7\x07\x23\x48\x76\xd7\x52\x96\x7a\x3e\xea\xed\xe5\x4b\xc2\x81\x7f\x42\x79\x93\xe5\x56\x5d\x05\xa4\xdb\x04\xe4\x00\xb9\x53\x62\x50\xaa\x6e\xe5\x47\xe6\x12\xc4\x6d\xe8\x56\xf3\x97\xb7\x25\xb2\x48\xf0\xd6\x19\x4f\x3c\x99\xdd\xb0\x25\x1d\x13\x29\x08\x95\x80\x33\x78\xa3\x54\x15\xce\xcc\x4c\x62\xf0\x5f\xef\xe8\xe4\x97\xd3\xc9\x7f\xbe\x37\xff\x3d\x9c\xfc\xfe\xf1\x74\xf2\xfe\xeb\xa3\x83\x83\xc1\x28\xc4\xbe\x0b\xfa\x06\x20\x02\xae\x58\xc1\xa5\x22\x94\xcc\xd9\x86\x00\x01\x67\xa2\x30\xe2\x7a\x41\xb3\x5b\x42\x57\xea\x46\xd4\x5c\x71\x26\x0d\x9c\xe5\xca\xf1\x6f\x25\xd0\x9b\xf5\x1b\x3f\x38\x98\x12\xf2\x8a\xdf\x32\xb2\xa4\xbc\x50\x26\x71\xab\xf3\x10\xd5\xc3\xad\x0a\xae\x86\x83\xa3\xc1\x98\x3c\x19\xbd\x3b\x7c\x1f\x44\xa0\x50\xc9\xc8\x00\xeb\x0d\x3c\xca\xa8\xf3\xb5\x23\x6d\xbf\x41\x4b\x80\x03\xbd\x28\x7a\xa2\xe4\xb1\x55\x51\xb5\x2a\xc7\x61\x98\xe6\x9a\x03\x0d\xdf\xb1\x3e\xe9\xde\xc3\x38\x8f\x54\x90\x97\x62\x83\x73\x36\x7f\x1b\xc8\x3b\xbc\xa6\x60\x45\x00\x54\x4e\x2f\x00\x58\xb6\x60\x85\x0c\xa4\x67\x49\xe6\x98\xca\x8b\x20\xaf\x22\xca\xd7\xba\xe0\x70\x94\x32\xdf\xef\xef\x28\x13\x10\xed\x0c\xc3\x8b\x40\xfe\x21\x18\xc6\x3b\x11\xba\xcc\xd2\xc1\xb0\x9a\x6f\x05\x18\xee\x3e\x11\x66\xb2\x5e\xba\x72\x68\x80\x2e\xf3\x62\x5f\xc2\x2f\x33\x97\xe8\x5a\x0b\x3c\xbc\xb4\xb4\x26\x32\x26\x25\xcb\x9f\x6d\x6d\xf5\x3f\x41\xc3\xf5\x87\x98\x12\x6b\xb6\xe0\x52\x33\x68\x62\x55\x9b\x41\xe0\x08\x6a\x8b\xd5\xe1\x02\x82\xc6\x16\xf1\x54\xff\x57\x05\x89\xce\xb0\x31\x0b\xb5\x6a\x80\x6f\xc0\x23\x9a\xd5\x53\x42\x5e\x87\xfb\x03\x74\x2d\xb2\x6c\x55\x93\x38\x02\xc3\x37\x14\x37\x60\xe1\x0a\xf4\x19\x04\xd7\x8a\xf6\xb0\x66\x2b\x85\x31\x1a\xfa\x3a\xd8\x50\x58\x47\xdb\x98\x59\x08\x5d\x63\x49\xd4\x86\x67\x46\x8e\x38\x38\x08\x16\x21\xa3\xba\xe6\x5f\xb4\xa8\x65\x4c\xa4\x64\xb6\x9a\x81\x48\x40\x66\xcc\x06\x66\x20\x8c\x1d\x46\x9b\x12\x10\xbe\x30\x6a\x5e\xea\x0b\xc2\xb6\xa6\xc7\xc1\x32\x51\x5b\x17\x7f\x6c\x4d\xcc\xfe\xa2\xef\x13\xe3\x83\x8a\xe8\x74\x9a\xb0\xb6\x5a\x8c\x53\x8c\xe6\xc9\x1c\xcb\x20\x46\xb0\x4a\xd4\x0a\x96\xf0\x1c\x57\xf0\xc4\xd9\xfc\xd9\x9c\x51\xfc\x74\x09\xa5\xe4\x87\x46\x3c\xce\x5a\x4d\x97\xfe\xb3\x8b\x19\x5f\xab\xe9\xeb\x8b\xb7\x57\xe7\x1f\x2e\xcf\xdf\x5c\x5c\x5e\x7f\x78\xfe\xf2\xea\xf4\xd9\xab\xf3\xe7\xf8\x66\xec\x24\x1e\xfd\xde\xd4\x2b\x66\x2f\xe3\x8b\x12\x9d\x91\x21\x7f\xd3\x81\x89\xab\x80\xe8\xe5\xdc\x6e\x53\x7c\x0c\x08\x9b\x86\x47\xee\x84\x38\x5f\xa8\x21\x9b\x66\x60\x89\xfc\x0f\x32\x69\x33\x7c\x89\x18\x94\x11\x39\xd8\x25\x31\xed\xf1\xad\xb2\x16\x49\x93\xc5\xd2\x0f\xcb\xc1\x6d\xba\x91\xd9\x81\xfd\x79\x77\x87\xfb\xfb\x34\xf8\xa8\x8f\x03\x94\x4a\x36\xd5\xe7\x19\x84\x66\x6f\xbe\xd7\x8c\x5d\x6b\x40\x7f\xe8\x82\x5b\x75\xa7\xf9\xb5\x6d\xa0\x99\x72\xb8\x0e\xc2\xc1\xee\x1d\xdf\x45\x1e\xb6\x48\xb0\xad\xd5\xf0\x08\x20\x2e\x00\x4d\x33\x44\x00\xa3\x5b\x0a\x2d\x34\x96\x39\x46\x43\x85\x57\x81\x81\x7d\xc1\x96\x6e\x84\x7e\x05\xab\x6a\xec\xe0\x97\xcd\x49\xf6\x4e\xbe\xcd\x08\x31\x10\x76\x1c\x8d\xd9\x86\xfc\x58\xd0\xa9\x4a\x54\x16\xe8\xf7\x96\xb1\x4a\x26\x5b\x02\x35\x09\x40\x0f\xcd\x99\x66\xe3\xdd\x69\xd6\x07\xb6\x10\x19\x2d\x50\xc6\xf4\x52\xb8\xe3\x98\x62\x82\x9e\x90\x27\x7a\x33\xf7\x45\x0c\xb9\x63\x9a\xa0\xbc\x1e\x4d\x84\xb9\x5b\x48\xaf\x00\x38\x88\xbd\x33\x4f\x71\xc3\xf1\xee\x1e\x41\x7b\xbd\x43\xed\x82\x07\xbf\x93\xca\x43\x27\x26\x36\xa5\x85\xfa\x8e\x6d\x35\x6f\xd8\x4d\x6f\x96\xe2\x7e\xb8\x36\x84\x84\x25\x8d\x6b\x77\xce\xa5\x4f\x9f\xa2\x2f\x6a\x04\x1b\x85\x4b\x92\xe5\xb0\x95\xbe\x15\x5a\xa8\x89\x1b\x8a\x21\x39\x7f\x5b\xe1\x93\xe3\xf1\x50\x90\x02\x1a\x9b\xef\xd2\xf7\xb5\x6f\x61\x7b\x49\x86\xb7\x42\xc0\xa0\x9f\x23\x38\xf9\xd0\xb9\xd6\x34\xa4\x26\xbc\x5a\x5d\xdc\x3a\x3c\x29\x73\xfd\x44\x6f\x4a\x56\xcb\x1b\xee\x10\xe2\x70\xb4\x0e\x73\xae\xc7\xb8\xc0\xab\x3c\x1a\x58\x97\x8c\xe1\x8c\x3b\xd7\xe2\xbc\xcc\xbd\xaf\x50\xe7\x6c\xa0\xe9\xc0\xa5\x28\xed\x6c\x14\xd1\x45\xf7\x56\x37\xa8\x26\x9f\x15\xe8\xf3\xeb\x50\x0f\x32\x51\x6d\x2f\x8c\x88\xd7\x20\xcf\x5f\x23\x52\x85\x3a\xa1\x5e\xc6\x38\xe2\xb5\x8e\x8d\x31\xfb\x01\x3f\x64\x53\xc0\x98\xd3\x04\xfe\xe8\x91\x2e\x94\xa9\xba\x30\xe4\xce\xa6\x4b\xa6\xe8\x77\x6c\x3b\x8a\xc8\xfc\x39\x9b\x89\x15\xe4\x27\xd7\x37\x17\x72\x11\x1e\x0a\xd7\x2c\x87\x79\x56\x21\x48\x75\x2b\x56\x16\x70\x31\x17\xab\x59\xc1\xa0\x44\x40\xf1\x56\x2b\x01\xf2\x11\x57\x63\xab\x17\x00\x62\x9f\xf3\x9a\xa1\x94\x88\x67\xc1\xf6\xe0\x98\x2b\x30\x13\xfa\xd6\x40\x80\xc1\x05\x66\x79\x43\xb1\x6d\xd2\x32\x62\x6c\x2c\xaf\xa5\x22\xe1\x60\xad\xbc\xb1\x23\xe2\xdd\x88\x07\xf1\x96\xb4\x3e\xc7\x2e\x2c\x4e\xae\x08\xa5\xfe\x10\x68\x73\xcf\xd3\x1d\xfe\xef\x1b\xe7\x26\x92\xc4\x64\xdf\x7b\xa3\x61\x11\x1c\x12\xf2\x5f\x9a\xd7\x38\xd3\x8b\x80\x3e\x25\xf0\xbe\xcf\x56\x4a\x89\x52\x37\xf1\x94\x1c\x7c\x6d\xd0\x07\xcd\x8f\x5f\x1f\x8c\xc8\xc7\x8f\xc1\x90\xc3\xe2\xbe\x5d\x68\xed\x19\x7c\x08\x3d\x77\xbc\xc3\x19\x38\x94\x0c\x47\xa1\xa3\x4e\x26\x4a\x29\x0a\x36\x35\x01\x16\xc3\xc1\x19\x78\x18\x03\x02\x2e\x0c\x6e\x49\xcb\x15\x2d\x8a\x2d\xc9\x31\x34\x65\xc3\x66\xa4\x66\x98\x72\x5d\xb3\x08\x83\xd1\x71\x8c\xa1\xbe\x63\x59\x56\xd5\xa0\x39\xd9\xc3\xe4\x11\x0e\x5f\xc4\x26\x5e\x69\xe3\x5e\x0a\x4d\x9f\x8d\x77\xe9\x73\x4f\x6d\x6b\xdc\x4b\xb1\x66\x03\x3c\x9d\xad\x09\x8d\xc2\xb1\x06\x1c\xdf\x33\x94\x57\xf0\x59\x64\xe5\x82\x2e\xc2\x01\xea\x23\xcd\x25\xfe\x1c\x30\x67\x13\x2b\xe5\xa0\x96\x5c\x94\x36\x92\xdf\xb1\x49\xd3\xb6\x8b\x5b\xaa\xa7\xe4\xdd\x9e\x28\x1e\x78\xee\x91\x01\xfa\x6e\x44\xcb\x71\x70\x40\xce\x97\xab\x42\x8b\x2f\xb4\xd6\xac\xca\x2d\xdb\x6a\xa1\x48\x4a\xa6\x99\x3b\xea\x92\x1c\xdd\x30\x56\x44\x43\x6c\x68\x71\x7f\xd4\x05\x4e\x75\x13\xdf\xb1\xad\xfc\xd0\xbe\x07\xe3\x35\x74\xca\x58\x48\xc4\x80\x50\xaf\x26\xcc\xcc\x41\xd8\x72\xf9\x26\x84\xd5\x1a\x8e\xe2\x03\x17\xec\x15\x8c\x6e\x10\x9e\x09\x93\x00\x5b\xd1\xa4\xf5\xdd\x8f\xf8\xb9\x2e\x33\x64\x81\x4b\x9a\xae\x59\x98\xa4\xfe\x88\x16\x2f\x97\xb4\x56\x2f\x0a\x21\xea\xe7\x7c\xcd\x73\x36\x8c\xee\x16\x80\xe9\xa7\x33\x39\x84\xee\x46\xe3\x9e\x92\x88\xcb\x0c\x61\xc6\x4a\x61\xa8\x83\x9f\xee\x9e\xcc\x2e\x06\xe4\x31\xc1\xe6\xc8\xb7\xe4\x90\xfc\x91\x0c\x9e\x0d\xc8\x11\x19\x9c\x0e\x82\x71\x5a\x4d\xb7\xe6\xb5\x4d\x32\x6c\xdd\xc8\xb4\x66\x15\xa3\x6a\x08\x53\x18\x85\xdd\x74\xfb\x03\x7f\xf2\x4f\x35\xf2\x25\x07\x5f\xfb\xed\x4d\xbc\xd9\x5f\x1f\xb4\x1c\xd2\xfb\x9c\x89\x1e\x17\xa9\x11\x6c\xd6\xc9\x33\x03\xd6\x4b\x08\xc2\xd1\x4d\x05\x12\x83\x8b\x92\xc0\x0a\x7a\xbc\x61\x7b\xc0\xed\x3b\x90\xdf\x69\xdf\xc3\xdc\x60\xeb\xfa\x9d\xb1\x48\xac\xfd\x66\xd4\x88\x25\xde\xd7\x86\xf5\x84\xf5\x22\x68\xa2\x91\x80\xa1\x4f\xde\x63\x8d\xd5\xbc\xb8\xb1\xf2\x50\xe0\x18\x94\xd7\x74\x31\xb1\x47\x9b\x7a\x66\x9a\x9c\xbe\xb8\x3e\xbf\x0c\x98\x4d\xe0\x97\xc3\xe6\x78\x69\x90\x2c\x40\x83\x88\xb8\xac\x42\x90\xc2\xa0\xa2\x76\xde\x78\x8d\x65\xbf\x2f\x1b\xda\x87\x7c\xbd\x96\xdd\xea\xfe\x02\x4f\xf6\x1d\xcf\xd5\xbd\xdf\x1f\x00\x33\x01\xb5\x07\xb2\x6b\xa2\x24\xa6\x3d\xbd\x3c\x66\x61\x60\x5d\x15\x5b\x56\xa2\xa6\x35\xd7\xef\x6b\x28\x9a\x10\xea\xf4\x68\xa1\x68\x32\x25\xe4\xa2\xd4\x65\x05\xb6\xec\x44\x5e\xcf\x6e\x69\xf6\x10\x55\xfa\x02\xf6\x32\xd4\x44\x81\x46\x8c\x2f\x97\x2c\xe7\x54\xb1\x62\x4b\x6e\x4d\xea\x6d\x08\x79\x95\x4d\x91\xa6\x8f\xe0\x10\x45\x4f\xa1\xef\xb8\xb4\x61\x4a\x5a\xe0\xae\x51\x5a\xe7\xd2\xe4\xbc\xdc\x02\xca\x05\x9c\xca\x52\x6c\x08\x9d\x89\x95\x8a\xf4\x00\xa1\x3a\x16\xf9\x5c\x8f\xab\x6d\x83\xa5\x29\x29\x45\xbd\xa4\x05\x79\x7e\xf1\xda\x02\xc0\x78\x9e\xd2\x2c\x60\x9e\x83\x74\x4c\x0b\x48\x11\x11\x48\xe5\x03\xd0\x46\x0c\x62\x39\x7b\x10\x28\x77\x7f\x2b\xfd\x6c\x53\x3d\x4b\x22\x47\x35\x2d\x60\x6e\x50\x4f\x9d\xad\xa4\x81\x66\x6c\x8d\xc5\x05\x0c\x1b\x38\x09\x0c\x19\xe6\x73\xfb\xb7\x8d\x14\x8e\xb2\x81\xee\x1c\x1a\x80\xbf\x9f\x41\x6f\x91\x02\xd9\x34\xd8\x95\xa7\x20\x01\x8d\x31\xb6\x83\x08\x41\x13\x43\x60\x0e\x6f\x7c\xb7\xa3\x3f\x39\xc1\x5b\x34\x34\xc0\x77\xc2\xbc\x3f\x48\xaf\x97\x8a\x73\x33\x06\x10\x49\x7b\xe7\x8e\xd5\x12\xe6\x40\x73\x0f\x77\x06\xd6\xef\x18\x8d\x71\x24\x04\xee\x39\x0f\x3c\xc6\xdc\x08\x77\x92\x97\xa6\x68\x64\xbc\xef\x4b\x62\xc0\xfd\xa7\x4c\x00\x01\xff\x80\x2e\xc4\x36\x56\x75\x78\xf0\x53\x79\xb0\x5c\x8c\xc9\xe0\x27\x13\x37\x63\x8a\x25\xed\xe1\xfa\x9b\x77\x9e\x88\x94\x84\xb3\x9a\x66\xb7\x4c\xb1\x1c\xc6\x80\x7b\x19\x72\x2c\xef\x9e\x1e\x1e\xfe\x3f\xcd\xb5\xc0\x8f\x8f\xdd\x8f\x4f\xfe\xdf\x20\xb2\xca\x37\x78\x95\x9d\x3b\x8e\x41\xfa\xb5\x31\xfa\x68\x5e\x3f\xf0\xcd\xef\xbf\xd6\x50\xd1\x59\x65\x76\x2e\xf0\x99\xa8\xb6\x5d\x26\x16\xe4\x72\x56\x92\x99\xd7\xe7\x47\xb0\x6f\xeb\x1a\xf6\x51\xe8\x7a\x9f\x9a\x42\x6b\x97\xd4\x12\x65\x89\x38\x4c\xe4\x36\xd9\x75\x20\x10\x19\xb4\xe1\xfc\x0f\x8f\xbe\x43\x28\x30\x77\xb6\x16\xfc\x72\x5e\x33\xc0\x17\xb1\x46\x2e\xbd\xff\xc8\x18\x00\xc0\x2d\x2a\x4d\x41\x3f\x6a\xae\x57\x44\x2f\x68\xa6\x1c\xd2\x7c\x05\x55\xe4\x96\xa3\xcb\x1e\xb4\x32\x63\x85\x28\x17\x12\xb3\xa9\x79\xf4\x55\xb0\xf7\x7c\x4d\x22\x8c\xd5\xb1\x7d\xc2\xf4\x6b\x99\xd1\x52\xdf\xfc\xec\x8e\x65\x2b\x7d\xae\x22\xf8\x0d\xab\xe1\x86\xa7\xd5\x02\x82\x56\xb5\x58\xd4\x74\xb9\xa4\x8a\x67\x04\xbd\x6b\xf0\x4e\xdd\xbb\xd1\x97\xb0\x5a\x1d\x4e\x02\xa8\x6c\x3d\x33\x99\xa6\x82\x34\x68\x2d\xbe\x5e\x33\x0a\x20\x99\xa0\x5f\xd5\x1e\x03\x05\xe9\x6d\x30\xf8\xf8\x91\x1c\x1e\xfb\x3c\x8e\x76\x28\x1d\xc2\x48\xf7\xb0\x2c\x16\xed\x6e\x5d\x48\x4f\xc3\x09\x0e\xca\x25\xdb\xf2\x6b\xf4\xad\x96\xf1\x3f\x7e\xf4\x23\xd5\x3f\xc4\x46\x47\xba\x16\x3c\x37\x52\xae\xe4\x6a\x85\x37\xbe\x89\x5c\x06\x9e\xc1\x80\xae\x48\xb1\x64\x8a\x2f\x59\xc0\xf8\x58\x62\xb3\xcd\x2d\x98\xd2\xe4\xae\x39\xdd\xdc\x5f\x08\x0e\xc4\x50\xd4\x24\x5f\xd5\xd6\xb0\xcf\x4b\xae\x38\x2d\x48\x21\x68\x3e\x36\x36\x0a\xb4\xfe\xd9\xe6\x72\x46\x0b\xab\x68\xa3\xca\xda\x0a\xf1\xe8\x68\x92\x04\x43\xa4\x19\x1d\x9f\x03\xa6\x0b\x73\xae\x0f\xf1\x55\xa4\x3f\x66\x20\x4a\xcb\xd0\xd0\xe1\x21\xaf\x34\xd1\x8d\x81\x0b\xd7\xe3\xd3\xfc\x1a\x5f\xa3\x7b\xd7\xa1\xe6\x93\xd6\x68\x45\x31\x56\x77\x7d\xe9\x1d\x92\x35\x2d\x56\x4c\x76\x5a\x0b\xb9\xfc\x9e\x6d\x8c\x3f\x5a\xb4\x29\x0f\xbb\x92\xdb\x45\x5a\x26\xf7\x3f\xb7\x77\x89\x7a\xa1\xbc\x8a\xdb\x69\x99\x53\x7d\xdb\xd9\x4c\xe7\x00\x60\x94\xf3\x5c\x33\xa0\x78\x0a\xc7\x68\x60\x45\x30\x3b\xf0\x1e\x61\x6b\x56\x6f\x31\xd5\x30\x97\x0f\xac\x34\x61\x00\x70\x2c\x3b\x01\xf7\x83\xee\xf8\x43\x38\xa1\xb1\x1b\x62\x00\x43\xd7\x80\x40\xb9\x07\xbc\xc2\xc3\x13\x9b\x2b\x55\x53\xb3\x5b\xc5\x80\x49\x09\x7c\xfd\x9a\x58\xcd\x4d\x76\xe7\x9e\xac\xc4\x15\xab\xd7\x3c\x8b\x90\xff\x10\x69\x38\x80\x2f\xde\xfd\x4c\x05\x18\xa4\x69\xfc\x9f\x87\x29\x13\x5f\x04\x41\xda\x13\x50\xb4\xcb\x7a\x78\x1f\x0c\x35\x4f\x72\x1d\xc6\x24\x17\xc2\x07\x51\x8c\x91\xb7\xd4\x5e\xc4\x57\xd2\x56\x17\x37\xa0\x94\x1b\xaf\xef\x72\x7b\x11\x2d\xe0\x7d\xf4\xc4\xd1\xa0\xa0\xfa\xd9\x36\x2b\xd8\x87\x77\x87\xef\x3b\x32\xa6\xf5\x42\xc2\xfd\xfb\x8f\xff\xc9\xfb\x04\x50\x86\x01\x69\x76\x46\xe5\x5d\x38\xcd\xed\x42\x01\x54\xf3\x5a\x0b\x5d\x60\x50\x73\xf6\xe9\x26\x6c\x33\xb8\xfd\xfd\x26\xc0\xcd\xe9\xe1\xdf\x1f\xbb\xd9\x45\x16\xf7\x80\x6f\x6e\x64\xb6\x6b\x56\x35\xe5\x93\x90\xd8\x91\xb6\x15\x3c\xe3\x97\x08\x27\xc6\xc1\xb5\xc6\x67\xb0\xc3\xe4\x6a\xe4\x46\x6c\xc8\x9c\x4a\xac\x5c\xd1\x05\x26\x38\x82\x46\x40\x2d\xd1\x50\xdb\xb6\xd6\xf2\x49\x73\x29\x2d\x18\x87\xef\x16\x85\x62\xff\x67\xdf\xd4\x37\x57\x5e\xc9\xfa\x5a\xac\x99\x85\x45\xab\x23\x10\x0c\xd7\xec\xbe\xe5\x6b\xb7\x13\x56\x8e\x5d\xd8\xb5\x7c\x49\xa8\x5e\x46\x36\x8b\xd2\xcd\x49\x82\x71\x9b\xf0\xe6\x46\x29\x02\xf7\xe1\x4f\x76\xc8\xac\x1d\x72\x65\x3a\x7d\xda\x5c\xd4\xe7\x34\xbb\xf1\xd1\xd7\x81\x11\xa7\xc4\x1e\x86\x11\x5a\xd1\x8e\xb6\x8c\x87\xe5\x89\xe6\xc9\x3e\x1d\x3f\x38\x38\x20\x57\x17\x6f\x2f\xcf\xce\xc9\x8b\x97\xaf\xce\x8f\xd0\x5d\xfc\xe0\x2f\xf2\x00\xfe\xf1\xc1\x4e\xf5\x03\x17\xd3\xbf\x48\x5d\x5a\x0b\x2e\x68\x81\x1a\x66\x23\xf2\xf4\xf0\xc9\x53\xd8\x66\x30\x11\xf2\xd5\x92\x5c\x5c\x91\x53\xf0\x43\x94\x53\x72\x5a\x14\x68\xad\xc2\x24\x49\xf5\x5a\xcb\x19\x07\x07\xe4\xad\x74\x80\xa0\x04\xc3\x59\x51\x02\xe0\x92\x2c\xf4\xf3\x59\xe2\x3a\x53\xf2\xec\xea\xf9\x04\xa1\x2d\x0b\x9e\xb1\xd2\x3a\x57\x21\xc7\xaf\x5b\x9a\x43\x8e\x15\xc3\xe3\xbf\x7a\x79\x76\xfe\xfd\xd5\x39\x99\x73\x7d\x31\x3c\x18\xac\x24\x06\x1a\x67\x4a\xcb\x92\x9a\x09\xae\x55\xce\xaa\xe1\x40\xff\x13\x45\xd7\xb7\xd7\x2f\x7e\x07\x21\xa9\xce\x71\xbe\x5a\xa9\x83\x8b\x95\x02\x38\x45\x70\xf3\xa0\x19\x48\x94\x30\x22\x97\x19\x07\xe4\xca\xe5\x72\x55\xea\xb5\x0d\x52\x8f\x36\x73\xaa\x9e\xd9\x0a\x05\xbf\x65\xe4\xe7\x92\x4a\x79\xf3\x33\x30\x6b\x3f\x67\xb5\xd0\xff\xae\x59\xc6\x38\x30\x70\xe0\xe1\x45\x35\x63\x6b\xd7\x26\x2b\xa8\x94\x04\x13\xa2\x56\x3e\x6f\x12\xaf\x09\xad\x17\x6b\xe3\x2b\x66\x0f\x37\xe4\xe9\xb1\xee\x6b\x36\xfd\x91\xc2\xcc\x89\x35\xa3\x9e\xe5\x0d\x53\x22\xc0\xc8\xc5\x4a\x11\x76\x57\x09\x69\x98\xdf\x25\x56\x23\xac\x54\xbc\x6e\xe2\x66\xba\x51\x86\xda\x38\x4c\x1d\xf3\xff\x67\xef\xef\xdb\xd3\xc8\x91\xfd\x71\xf8\xff\xbc\x0a\x65\xce\xf9\x2d\x30\xc1\x18\xf0\x43\x9c\x78\x3c\x59\x8c\xb1\x83\x9f\x03\xd8\x49\x9c\x64\x73\x9a\x6e\x01\x1d\x37\xdd\xa4\xbb\x31\xc6\x3b\x39\xaf\xfd\xbe\x54\x25\xa9\xa5\x6e\x35\x60\x67\xe6\xec\x7e\xcf\x7d\x7c\x6d\x76\x6c\x90\x4a\x52\xa9\x24\x95\x4a\x55\x9f\x12\xec\xc1\x50\x24\xc5\xc4\x47\x89\xee\x54\x5f\xc2\xe4\x79\xc9\x95\xbe\x44\xc6\x34\x1e\x05\x98\xdf\x4e\x1f\xbd\x44\xcf\x8b\x03\xc9\x2b\x19\x5e\x10\x49\x42\x24\xc0\x39\x13\x48\xb2\xe8\x97\x0b\xa9\xbc\x68\x14\xbb\xbe\x15\x2b\x79\x66\xda\x51\xe0\x59\xb1\x96\xb6\x4f\xde\x07\x24\x67\x26\x61\xc0\x6e\x49\x78\xa3\x4d\x02\xa3\xfa\xd4\xa7\x03\x37\x8e\x5e\x33\x42\x6b\xe4\x52\x94\xb2\xc8\x98\x32\xf5\xd5\x8d\x30\xe1\xad\xc5\x95\x72\x9e\xa3\x43\xe7\x40\x6a\xfc\x08\x1d\x24\xbd\x29\x31\x8b\x86\x7f\x17\x80\x23\x76\x34\xed\xcb\x5e\x16\x23\x8a\xfc\x84\x84\x8a\xc8\xc6\x49\x30\x49\xf8\x07\x2e\xab\x64\x0d\x26\xc5\xc5\x51\x06\x3e\xa4\xd0\x88\x00\x1d\xd4\x8a\xf8\x46\x0c\x59\x35\xb8\x21\x91\xf1\x58\x4e\x2f\xf4\x0c\xc3\x84\x65\xcf\x60\x26\xd8\xd5\x8a\x0b\x0b\x1e\x21\x2a\xff\x78\xb3\x6d\x1f\x5a\x3e\x9c\xc6\x4c\x6b\x4f\x72\x22\x5a\x73\x12\x4e\xc1\xdb\x8c\x6d\xac\xb3\x20\xbc\xe5\xe3\x0c\xf9\x2d\x6e\x86\x56\x61\xdf\x9b\x83\x11\xb7\xef\x51\x6c\x99\x4d\xa7\xe5\x41\x4e\x76\x8b\x64\x44\x50\xe6\xdb\xb7\x7c\xd2\xbe\x6c\x26\x33\x90\x3e\x9b\x74\x11\x36\x06\xe9\xb6\x2f\xd4\x2d\x59\x48\x81\xb2\x35\xcb\xad\x90\xec\x49\x21\x11\x57\x1b\x36\xe8\xf6\x85\x70\xde\x04\x49\x15\xb3\x4e\xda\x17\x15\x98\x22\x79\x53\x11\xf1\x91\xed\x8b\x04\xae\xe2\xff\x70\xc6\xfe\x0f\x67\xec\x7f\x18\x67\x8c\xc9\xe5\x52\xa8\x31\x01\x72\x91\x81\x1b\xd3\x97\x84\x16\xbe\x66\xac\xa4\x89\x38\xc4\xe9\x58\x3e\x19\x84\xd6\x58\x82\x89\x88\xb0\x41\xe5\x68\xf2\x9d\x60\x56\x26\x93\x80\x1d\xc4\x4e\x12\xe6\xc9\x93\xcd\x33\x4a\x3c\xbe\x07\x32\x8e\x31\x55\x15\xfd\x51\x66\xb4\xe0\x79\x4a\x5e\x6f\xca\xf3\x58\xad\x0b\x94\x8a\x75\xee\x79\xcd\x36\x47\x7e\xd9\xad\x88\xf5\x03\xd6\x63\x2e\xe5\x60\xc3\xe1\x1b\x92\xc8\x4a\xbf\x8e\x16\x53\x3c\x16\xd8\x00\x16\xc5\x77\xf5\x46\x54\xc6\x78\x05\x96\xd4\x54\x64\x3d\x59\xe9\x02\xb6\x0e\x14\x31\xde\x23\x72\x31\xc1\x57\x2a\xce\x27\xd1\x51\x42\xce\x83\x98\xb8\xe3\x09\x62\x88\xe4\xbc\x65\x68\xd3\x8b\xca\xeb\x21\x90\xd1\x23\xc6\xca\x6a\x8b\x1a\xd0\x8c\x4f\x67\xfc\xe8\x87\x7a\x45\x7d\xc6\xcb\x24\x53\x59\x57\xa5\xe1\x68\xc1\xb3\x2a\x14\xc0\x97\x6c\x4a\x98\x72\x26\x23\x1f\xd2\xea\x12\xe7\x06\x2f\x06\x51\xc2\x92\x9d\x8c\x95\x3e\xf0\x61\x90\x47\x96\x9d\x12\x4c\x13\xb1\x62\xb3\x25\x57\x17\x79\x1a\x8b\x2f\x2e\x79\x7d\x85\x35\x4a\x17\xcc\x02\x4f\x63\x5e\x4b\x2b\xaa\xf3\x00\xb8\xce\x43\xfa\xb2\xc7\x8d\x3c\xc5\x40\x65\x62\xe7\xb1\x1b\x0b\x4d\x8a\xbb\x93\xf6\xa4\x09\xf3\x57\x71\xb8\x58\x51\x14\xd8\x6e\xf2\x1a\x8c\x0f\xa8\x19\x9d\xcc\x85\xd4\xf6\xa0\xb7\xc6\x01\x99\xb0\x0d\xc5\x0e\xfc\x38\x0c\xbc\xcc\x06\xca\x0e\xae\xc1\x00\x8f\xd8\x44\xd9\xc0\xe4\xa8\xa0\x2d\xf1\x03\x8c\xeb\x18\xc2\xde\x2e\x68\x8b\xa3\x4e\x90\x4f\x1e\x9e\x25\x2d\xa6\x09\x4c\x3c\x9a\x97\xf9\x45\x9b\x16\xa6\xd9\x98\xcd\xeb\x6e\xc0\x8e\x4b\x13\x2b\x53\xb2\x89\x4f\x51\x81\x7c\xa6\x6a\x5a\x13\xa6\x8f\x38\x5f\xd3\xef\x57\xf2\x0b\x34\xe8\x05\x15\xdd\x82\xcf\x1f\x5d\xe4\x47\x9c\xac\x62\x58\x47\xcb\x1e\xff\x5b\x10\xd1\xcf\xf7\x94\xdc\xb8\xc1\x6e\x56\x98\x60\x64\xec\x9b\x64\xf5\xb1\xbf\xb4\x27\x1c\xe1\x34\x90\x08\x45\x21\x4a\xd0\x28\xa4\xf2\xb1\x02\x83\xc1\xdb\xc4\x74\xf9\x4c\x75\x28\xad\xac\xe8\xb2\x8d\xe6\x6c\x98\x6c\x78\xba\x63\x9b\x6c\x24\x6c\xb6\xfc\x79\x52\x03\x51\xe7\x62\x25\x2e\x46\x8b\xfc\x01\x14\x55\x5f\xcb\xf9\x1e\x0c\xc8\x84\xc7\x07\x80\xc3\xd2\xf2\x18\x65\xe8\x1a\xd8\x1d\x72\x32\xf1\xa7\xb6\x04\xa1\x91\xe7\x05\x20\xaf\xaf\x93\x0b\xb5\xab\x95\x67\x89\x9f\xa4\x17\x0c\x8b\x85\x2b\x1f\xd5\x78\x55\xbd\x7f\x4d\x78\xc0\x1b\x23\x93\xcb\x45\x2b\x59\x91\x0b\x23\xb2\x9f\xca\xb9\xe4\xd2\xa4\x6a\x8b\x49\x53\xc0\x2a\x61\x5e\xc3\xdb\xb1\x93\x4d\xd1\x51\x60\xc3\x5a\x83\xaf\x5d\x7f\x58\xc0\xd7\x34\xb1\x11\xaf\x16\x34\x7e\x4b\xe7\x24\xa2\xdf\xa7\xa2\xc6\xe2\x39\x59\x29\x2e\x7c\x85\x69\x09\xfa\x60\x80\x08\x1d\x2d\xe4\x1d\xa7\xe6\xb8\x7b\x71\x5e\x41\x7a\xee\x60\x9e\x0a\xef\x5e\xdc\x39\xf1\xb9\xe1\x61\x10\x9e\x4d\xca\x44\x3c\x83\x89\x6d\x2c\xe8\x7f\x53\x30\xf3\x39\x00\x45\xd0\xff\x26\x4c\x3a\x41\xff\x5b\x6a\x1f\x02\x42\xbb\xf2\x4b\x65\xff\x41\xda\xf2\x2b\xb2\x07\x05\xb4\x35\xab\x45\x53\xa6\xba\x9b\xea\x62\xae\x68\x4a\xc1\x04\xc5\xc7\x15\x1e\x28\x3f\x2d\x92\xa8\x49\x99\xa5\xe6\x0f\xa6\xf4\x0d\x99\xd6\xad\x28\x84\x4e\x3c\xaa\xac\x54\x14\x47\xb4\x8a\x74\xe9\x1c\x59\x32\x7f\x59\x39\x53\x38\xf6\x1e\x2c\x2e\x16\xc0\x1d\xec\xc8\x15\xd4\x9f\xc7\x34\x05\xbc\x97\xa3\xf5\x98\x96\x8b\x4e\x2b\x21\x33\x09\xdd\x1c\xb7\x04\x6d\x78\x60\x04\xba\xea\x1d\xee\x2c\x05\x54\xd0\xf6\x7e\xfe\x96\x27\x1e\xb5\xc2\x60\x46\x0a\x0d\x4c\xad\x2d\x1b\x17\x91\x50\x5c\x61\x49\x0e\x20\xc5\x6f\x43\x21\x2a\x92\xb5\x17\x4d\xdb\xe0\xa3\x39\xc7\xed\x31\xdc\x28\x17\x7a\x99\x54\xc1\x7f\x11\x2b\x3d\xff\xdf\x91\x99\xe0\x36\x13\x7e\xf6\x0b\xf9\x5c\xad\x6d\x93\x63\xeb\xce\xea\xda\xa1\x3b\x89\x9f\x2e\x8e\x8f\xe6\x1a\x8e\x6e\x6f\x25\x21\xad\x6d\xe7\x31\x16\xc6\x2f\x65\xb9\xa8\x9b\x6f\xcd\x68\x1c\x97\xd0\xf0\xea\x83\xd7\x24\x0a\x34\x76\x0e\x21\xf5\xd7\xb0\xc4\xf3\x57\x61\x0a\x88\xdb\x2a\x6c\x41\xb9\x5c\xc8\x98\xa5\x86\xfe\xfb\xf8\xab\x95\xc0\x16\xfd\xef\x32\xf6\x03\xfe\x73\xa4\x1a\xfa\x9b\x81\x1f\xc5\xe1\x14\xde\xf4\xd9\x6d\x54\x43\x6d\xe2\xab\x4f\x55\x94\x22\xf9\x21\x19\x43\x5a\x07\x00\x45\x45\xdb\x0f\x46\x31\x09\xd6\x91\x68\x6a\x8f\x88\x05\xe1\xfd\x1c\x7f\x7a\x1d\xb2\xc2\x48\xc4\x6a\x02\xdd\x29\x93\x7e\xe0\x81\x53\xa6\xeb\xc7\x65\xe2\xc6\x96\xe7\xda\x65\x7c\xd1\x2f\x93\xa9\xef\xd0\x90\x89\x20\x3a\x9f\xb0\x91\xdd\x52\x6e\xee\x94\xdd\xd2\xfa\x2c\xee\x80\x51\xfa\x82\x66\x8b\xa1\x12\x8b\xfb\xb5\x81\xeb\x16\x0d\x13\x1b\x02\xb7\xf4\xaa\xfa\x7a\x32\x20\x08\x93\x64\xcb\x85\x46\x31\x3c\x0b\xdc\xbb\x11\x18\x7f\x75\x62\x03\xf4\xd3\x62\x57\x3d\x2b\x76\xfb\xae\xe7\xc6\xf3\x6c\x2e\x25\x45\xc4\xc4\xda\xb2\x93\xa9\x50\xd7\xda\xdb\xde\xd9\xe9\x01\x77\xce\xf9\x91\xb8\xe9\xf4\xe0\xb9\x12\x68\xc9\xcf\x38\x3e\x0d\xe8\x2a\x60\xea\x90\x96\x6b\x02\x17\x46\xad\xa3\xa9\x3b\xa8\x0a\xd6\xa5\x2e\x34\x41\x5c\x59\x6a\xd2\xd1\x9b\xec\xc9\xb6\x77\xa5\x01\x38\xa2\x32\x23\xa4\x8e\x01\xc1\x85\x9e\x5f\xbb\x11\xff\xdc\x8a\x08\x75\xe3\x11\x0d\x5f\x73\x00\xc6\x4e\xf3\xeb\x41\xeb\xb0\x71\x75\xda\x23\xa4\x08\x5e\xcb\x81\x0f\x82\xc5\x9d\x7a\x4a\x49\xb9\xce\xd1\x3e\x3e\xfd\x15\xa5\x29\x8c\x2d\x8a\x42\x38\xec\x17\x49\x58\x26\xc3\x32\xe9\x97\x0a\x6c\x3e\xc6\xbc\x16\xda\x2f\xf9\x4b\x7e\x31\x83\xd6\xe4\x02\x3a\x18\x1c\x41\xd8\xbb\x89\xe5\xd1\x18\x5f\x8f\xa6\x11\xf8\xb6\xc0\xf8\x13\x81\xd6\xc1\x6d\x95\xce\x27\x8f\x8f\x52\xda\x17\x94\x55\x79\xa7\x02\x68\x58\xf6\x08\xaf\xba\xe0\xc4\x24\x0d\x84\xd0\xb7\x98\x31\x18\x83\x0d\xd3\xfd\x79\x26\xd1\x25\x32\xad\xab\xf3\x61\x5b\x7e\xe0\x83\x5b\x41\xe2\x23\x95\x1a\x9f\xe8\x2d\xef\xe9\xd7\xe6\xc5\xe9\x45\xc7\x30\xb6\x9c\x72\xcf\x12\x07\x79\x36\x77\x87\x2a\x5d\x98\xa6\xfa\xd6\x56\x99\x88\xff\x2b\x25\x10\xe7\xbc\xc2\xbe\xda\x00\x54\xa8\x96\x09\xfb\x5f\x49\xd1\x07\xd8\xee\xa1\xba\xdb\xe3\x10\x2c\x38\x6f\x53\x9f\xe2\xde\x92\xf9\xb8\x2f\x92\x8c\x6b\x9f\xca\x9d\x27\xf3\x8d\xb6\x09\x65\x1b\xe1\x6f\x0b\x86\xcf\x13\xc7\x07\xed\x9b\x99\xcd\x61\x74\xf5\x8f\xad\xc8\x76\x5d\xfe\x8d\x08\xa3\xe1\x9e\x2e\x1e\x3d\x40\xdf\x61\x8e\x5e\x2a\xc3\xf9\xbc\x20\xbc\xe4\x42\x9b\x20\x80\x0b\xbf\x2b\x1a\x37\x95\x02\x29\xa7\xaa\xf6\x00\x9b\x07\xb4\x2b\x77\xe8\x0b\x2b\x0b\xb0\x57\xee\x56\x46\xc3\xda\x00\xce\x0e\x89\x55\x02\x86\x7a\x0b\x2b\x32\x56\x60\xe2\x58\x2b\x46\x04\x6d\xc7\x1d\xc0\x2d\x39\x96\x0f\x19\x32\xc7\x2b\x8f\x58\x98\x21\x1e\x3e\xaf\x9a\xbf\x4b\x29\x5a\x02\x42\x5b\xef\xa3\x24\x70\xb8\x8d\x64\x5c\xec\x83\x32\xec\x8c\x7d\x3c\xc4\xf1\x18\x24\x45\x77\x40\xac\x3b\xcb\xf5\x58\xe5\x12\x0c\x03\x3a\x0d\x0e\xe0\xea\x40\x23\x1a\x8b\x98\x79\xb6\x47\x4c\xa8\xef\x50\x5f\xbc\x42\x13\xa5\x71\x5e\xf0\x91\x7d\x6e\x44\xfb\xa1\x48\xb0\xa8\xf5\xbd\x41\x70\x7b\xa2\x1e\x1e\x5e\x96\x1f\x4b\xe7\xc7\x5f\x66\x23\x2b\x16\xe0\x59\xd2\xe5\x11\xf7\x06\xe8\x27\x7f\x3c\xc6\xed\xf3\x97\x95\xba\xa4\x2d\x5f\xe9\x2f\xcb\x91\xba\xfd\xe9\xb8\x58\x50\x55\x87\x46\xd2\x29\xae\xfc\x89\x93\x16\xf7\xe3\x39\xce\xba\xd4\x75\x78\xcf\x52\x1b\xfa\x4a\x1d\x53\x8f\x85\x3d\x52\xe0\x55\xd9\x26\xf0\xc8\xce\xe8\xe7\x90\x95\xf4\xca\x42\x48\x2e\xf0\xb0\x56\xcf\x0f\xf9\xcc\x12\xae\xdc\x51\x76\x2e\xe1\x76\x55\x48\x98\xd5\xd3\x5c\x6c\x39\xb8\x0d\x44\x81\x09\x63\xc1\x0c\x17\x01\x3b\xa3\xfd\xc0\xa1\xba\xa7\x8d\xc9\xb8\xfd\x78\x05\x61\xa5\x21\x44\x34\x16\xd4\x9e\xa4\x07\x98\x0c\xff\x0e\xa5\x13\x8c\x23\x10\x1a\x70\x62\xa5\xd5\x20\xa4\x4d\x7d\xfb\x41\x1a\x0b\x09\x2c\x1d\x91\xed\x05\xbe\x01\x6f\x52\x62\x8e\xaa\xb6\x74\x95\x44\x11\x40\xdd\x60\x7b\x65\x7b\x43\x91\x55\xb8\xa5\x73\xb1\xb6\x84\xa1\x2a\xbc\xfb\x74\x4b\xe7\x5f\xf8\x19\x08\xbf\x4b\x73\x53\x78\x97\xde\x94\x33\x1b\x75\xc5\x0e\x7c\xdb\xe2\xc1\x0e\x9c\x0f\xe1\x5d\xda\xea\xcd\xbd\xdb\x12\x4c\x51\xd8\x7e\xb2\x5a\x24\xec\x57\x4e\x40\x23\x08\x53\xe0\x3e\x6e\xe8\xda\x86\xad\x11\xb8\x88\x18\x4e\x03\xfe\x18\x05\x2e\xdc\xbf\x92\x76\x8c\x8f\x7e\x02\x73\x57\xa1\xc4\x8e\x1f\xb0\x92\x96\xf1\x2d\x9b\x35\xc4\x76\x25\xa6\x7f\xae\x34\x1f\xd0\x78\x8e\xed\xfd\x4f\xd7\xad\xfe\x6c\x9d\xe6\xff\xff\xb4\x0e\xb3\x20\xa6\x15\x64\xf5\x14\x02\xf7\xcc\xd5\x45\xa1\xa9\xaf\x10\x93\x58\xa4\x16\x51\x72\x97\xcd\x5f\x4a\xc8\xb4\xb9\x6f\x03\xf9\x28\xa5\xee\xf4\xd8\x25\xce\x1d\xe4\xdc\xc9\x88\x43\x23\x3b\x74\xd9\xe5\xd1\xe7\x50\xcb\xaa\x52\x20\xb7\x2b\xe9\x36\x2b\x42\x0c\x1f\x4d\x6e\x29\x87\xdc\x88\xfb\x47\xe4\x66\x42\x29\xe6\x2c\x9c\xec\x6a\x50\x31\x04\x72\xd7\xd0\xb2\x6a\xcf\x13\xf9\x37\x7c\x8e\x4b\xc0\xf0\x05\x5f\x05\x26\x52\xb0\x10\x0c\x5f\x24\x6b\xc1\xf0\xa5\xbe\x1c\x4c\x0d\xf2\x15\x61\xfe\x4a\xa2\x75\x65\xbe\xe4\xeb\x22\xcb\xaa\x64\x65\x64\xbf\x4b\x54\x72\x0e\x05\x6a\x3e\x07\x75\x4b\x41\xd1\x42\xac\x6e\x70\x67\x92\x00\xdf\x25\x1e\x9c\xcb\x73\x99\x83\x8f\x5a\x6c\x8f\x84\xc7\xe2\x6a\x27\x00\x7f\xa2\x86\x67\x2c\x5b\xb4\x3e\xf1\xe0\xea\x97\x20\x89\x8b\x07\x70\x0c\xc7\x14\xb2\x59\xe6\x91\x66\x96\x0f\x4e\x42\xd8\xc7\x54\x59\x2c\x59\x21\xe4\x00\x1d\xc5\x01\x77\x33\x18\x90\x71\xe0\x07\x00\x94\x4a\x66\xae\x43\x93\xc8\x1d\x46\x0f\xaf\x08\x81\x4f\x6c\x1a\xc2\x25\x14\x71\xb0\x23\x52\xa4\x95\x61\x45\x80\xeb\x5c\x74\x4b\x1a\xe0\xee\x64\x1a\x13\x6a\xd9\x23\x03\x41\x44\x42\x07\x0e\x0e\x48\xb3\xdb\xe5\x9e\x92\x85\xca\xcc\x5e\x63\x03\x2c\x70\x0d\x6b\x64\x45\x1c\xe1\x87\x87\xa6\x29\x2f\x28\x2d\x46\xfa\x2e\xfe\xca\x26\x10\x1f\x49\x5d\xf4\xbd\x87\xd3\x4f\x9a\x08\x84\x6d\x0e\x5a\x13\xf3\x03\xe9\xa7\x61\x4e\x44\xaf\xca\xf8\x9d\xec\x0b\x65\xbd\x61\x14\x79\x40\x35\xfc\xfe\xf5\xb7\xa1\x37\x9f\x8c\xb8\x35\xe2\xf7\x42\x9e\x71\x15\xdc\x86\x94\x74\x36\xd2\x0d\x06\x26\xc1\xe6\x9f\x0a\x17\x12\xa6\xc4\x48\xd1\xaa\x68\xbb\x14\x9b\x45\x26\xb7\x3f\x48\x43\x9d\xd2\x20\x4c\x64\x41\xcc\xa8\x26\x6e\x42\xd6\x84\x09\x49\x97\xb5\xe5\x6a\x17\xc8\x5d\x53\x8a\xbb\xb2\x7f\xa5\x86\x96\x7a\x36\x90\x5b\x9e\xc0\xe1\xe1\x03\xd1\x95\x4e\x4e\x9f\x35\xcf\x06\x97\xa1\x99\xe4\xcb\x61\x83\x5d\x96\x7f\x88\x15\x2a\xc8\x8c\x39\x11\x4f\xa2\xce\x3e\xc5\xb0\x13\xf1\x8d\x98\xd6\x3d\xf2\xe9\x8b\x9e\xfb\x4c\xd1\x30\x9e\x9b\x54\x07\x9e\x65\x29\x9b\xfc\x2f\xa9\xa8\x13\x54\x54\x91\xa5\x04\x73\xd2\x00\x26\x1f\xeb\xa4\x95\x2b\xab\x40\x6f\x60\x1b\xba\x4a\x91\xad\xd6\xf7\x32\xc3\x3d\xfb\xb6\x90\x1a\x2f\xdb\xe9\x79\x0d\xc6\x26\xa1\xfc\x48\xb4\xcb\x64\x3e\x61\xeb\x4f\x13\x97\x69\xfd\xf1\xeb\x14\xf5\xbe\x1a\x6b\xc5\x99\x0e\x3e\x31\xc5\x02\x7c\x85\x0b\x5c\x04\x08\xb3\xf6\xe1\xe3\x94\xb9\x44\x86\xf9\x31\xc1\x38\x48\x7c\xdd\x04\xea\x9e\x6c\x4e\x1e\x35\x32\x78\x4a\xaf\xf0\x62\x8f\x14\x12\x5b\x74\x41\x69\x56\x55\xd8\x92\x66\x55\x70\x1f\xf5\xa0\x5a\x44\x9e\x11\x59\xe3\xe5\xd4\x16\xd2\x8a\x5f\xa6\x15\x8d\x96\xcc\x39\x84\x90\x2a\xe9\x71\xeb\x1f\x64\xe3\xd2\xf0\xf4\x33\x33\x5e\x6c\xab\x2a\xd7\xa5\x16\x99\x00\xbd\xc0\xe7\xaa\x1a\xa9\x20\x61\xe8\xe9\xf5\xf9\x99\xf9\x5c\x47\xf9\xd6\x1b\x85\xdd\x93\xb7\x98\xfd\xe6\xab\xcc\x04\x20\xa8\xa9\x9d\x63\x9f\x99\x24\x42\xa6\x1a\x54\xb6\x0b\xa5\x96\x96\x42\x2c\x55\x2e\x09\xe0\xe5\x7d\xc1\x38\x12\xa5\x3a\x7c\x81\x89\x3d\x64\x87\xbf\x05\xae\x5f\x2c\x10\x9e\xf4\x8b\x6f\x67\xac\x74\x46\x27\x15\x20\x20\xc2\xed\xde\x11\xc6\x02\xfe\x8a\x55\xce\xee\xdd\x25\x38\xe0\xc0\xb2\x61\x8d\x31\x7c\x09\x96\x16\x7c\xe8\x46\x24\x65\xdb\x37\xfb\xc8\xf9\x0e\x44\x70\x88\xac\x57\x8c\xb6\x78\xb3\x88\xa8\xaa\xca\xda\x60\xad\xe8\xc3\x3b\x0b\x0d\xd9\xc1\x28\x62\xe1\xf1\x48\x16\xef\x89\x56\x38\xa4\xb1\xb4\x66\x88\xc6\x0e\xf9\x69\x35\x99\x86\x93\x80\xed\xa3\xe2\x3a\x8f\x0a\x4b\x39\x49\xce\x87\x96\xa2\xc8\x75\x68\x48\x1d\x55\x3f\xca\x71\x93\x48\x0e\xb9\xa0\xff\x0d\x8c\x1f\x89\x17\x7a\x4c\xd1\x33\x7a\x89\xe2\x2e\x59\x9e\xa8\x68\x2a\x67\x25\x5b\x13\x37\x66\xa6\x27\x98\x39\xbb\xf4\x74\x84\x53\x96\x46\xe6\xe3\x51\x78\xc1\xc0\x5a\x99\x4f\x68\x30\x40\xb7\x96\x3d\x52\xc0\xe1\x02\xd4\x5a\xd0\xff\x06\x69\x55\x7a\x1c\x92\x67\x23\x7b\x5a\x2a\x47\x69\x72\x1e\xf2\x8d\x97\x55\xe7\x67\x9b\x12\x98\xac\x20\x42\x83\xee\xc5\x63\xc4\xa8\x9a\x23\x07\x14\x2f\xbe\xf2\x51\x79\x85\xc7\x47\x7c\x99\xe1\x91\x19\x76\x30\x1e\x83\x33\x8c\xcb\xdf\xa2\x12\x4d\xa0\xa2\xdc\x5d\x9e\xab\xdb\x8e\x18\x94\xd8\x84\x16\xe9\xe0\xe2\x9e\x92\xa3\x95\x3f\x37\xef\x31\xa2\x05\xb1\x33\x98\xda\x50\x4d\x05\x7b\xda\x81\xbd\xe8\xfa\x94\x94\x4d\x9f\xc5\x5a\xad\xc5\xe7\x2f\x23\xf2\xfc\x79\xe6\x00\x36\xb4\x8b\xc6\x03\x9c\xc4\xe4\xe4\xcb\x16\x14\xc6\x07\x9d\x2e\x9e\xbd\x3a\xc3\xd2\x77\x2e\xa8\xc2\xc8\xe7\x5d\xc3\x4c\xf7\x30\x59\x49\x3f\xf5\x74\x0f\xb2\x05\x86\x47\x11\x0a\xa0\x81\xec\x88\xe9\x28\x2b\xef\x59\xaa\x19\xd2\xf0\xba\xa4\xea\x54\x0b\xde\x94\x52\xfa\xd1\x62\x93\xc1\xd5\xc4\x11\x70\xf5\xa2\x21\xfd\x8d\x4d\x7d\xbb\x43\x8c\x6f\x76\xd9\xe1\xf7\x35\xd8\x61\xa9\x84\xdb\xe7\x98\xe8\xc2\x50\x62\xd2\xff\x85\x4b\x86\x32\xb0\x9e\xee\xa9\x21\x3f\x47\xf1\x64\x57\x81\x69\xa4\xee\x50\xe2\x0e\x0c\x9b\x67\xd2\x51\x83\xef\x58\xd2\x9c\xc2\x20\xad\xb9\xf4\xbb\xfd\xb2\xe6\x92\xee\xf1\x01\x2e\xb7\x3c\x4b\xce\x67\x6d\x1d\x12\x84\x65\x48\x63\x7c\x2d\x81\x5c\x4e\x45\x57\xc5\xbf\x75\xc9\x6f\x64\x27\x8d\x7d\x9c\x58\xab\x5c\x25\xbc\xcd\x0b\x66\xb0\xbd\x7b\x03\xf1\x8c\xd3\x38\xef\xb6\x49\x6d\xbb\x4c\x2c\xc7\x21\x3b\x15\x0d\xcd\x94\xb8\xe4\x05\xd9\x49\xc3\x3e\xb6\x07\x89\x01\x54\x12\xae\x6d\xeb\xb6\xb1\xb2\x78\x4c\x03\x8b\x49\x48\xbf\x4f\xd9\x29\xcf\x83\x15\x05\x25\x7e\x18\xe0\x83\x1b\x1d\x59\x77\x6e\x10\xb2\x7e\x0d\xfd\x60\x4c\xd7\x14\xc7\x24\xa5\x47\x9a\x7e\x9b\x67\x36\x4d\x7f\x2e\xae\x31\x79\xa6\xd3\xf4\xe7\xa2\xbc\x69\x8d\x99\xad\xa3\x4a\xe9\xfd\x15\xde\x87\x93\x4b\x02\xca\x8e\x98\xbd\xbc\x01\x99\x3a\x48\x72\x87\x63\x1a\xbe\x9e\xc2\xc0\xf5\x47\x34\x74\x85\x4d\x93\x1f\x50\x85\x48\xb8\x27\xf8\xf3\x71\x10\xf2\x04\x08\xb9\x3c\xc8\x0c\x77\x57\x2d\x9f\xe5\x42\x86\x50\x56\x37\x36\x3c\x0e\xea\x07\x45\x22\xf4\x19\x4e\x3d\x5f\x6c\xc1\x5b\x58\xbe\x73\xb4\x9f\xac\x1f\xc3\x1c\xa4\x56\x5f\xba\x84\x09\xb2\x5a\xb7\xb8\x2d\x98\x5f\xf3\xd4\x3e\x8e\xeb\x22\xe1\x4e\x97\xe2\x06\xb4\x9e\xde\xb5\x22\x32\xf5\x3d\x1a\x45\xc4\xf2\x42\x6a\x39\x73\xa2\xf9\x8e\x84\xc3\x7e\x51\xbe\xfc\x0d\x82\x70\x5c\x79\xb6\x02\x93\x15\xa6\x65\xdf\x1a\x8a\xd9\xba\x06\x13\x6b\x89\xbc\xc9\x83\xa1\xc8\x32\xe0\x75\xd6\x26\xfe\x29\xdd\xc8\x97\x52\x56\xa8\x84\x6d\x36\x6d\x05\x2d\x29\xb9\xa7\x80\x68\x2f\x38\xb3\x6e\xe9\x21\xbf\xd0\x17\x33\xf6\x8d\x3d\xa3\x39\x22\x7f\x08\x89\x3a\x92\x3b\x98\x84\x7a\x69\x37\x87\x93\x8a\xd1\x7f\xec\xde\x17\xd3\x3d\x2d\xa7\x3c\x44\xca\xa4\x5a\xd9\xd8\xd8\xd8\xd0\x19\x91\xd9\x29\x16\x4d\xa4\xf6\x18\x54\xcc\xd6\x7d\xd2\x44\x2a\xfb\x81\x69\x22\xd3\x8d\x98\x80\x45\x62\x00\xec\xe2\x36\x5e\xf1\xce\x1d\x2b\x2f\x1a\xa9\xcb\x63\x24\x6e\x8f\x11\x5e\x1f\x23\x6e\xe1\x4d\xcc\x7f\xa5\x24\xbc\x32\xb9\xea\xfc\x0f\x5f\xda\x6a\xa4\xe1\x1b\x2f\x6d\x0b\xea\xd4\x49\xc3\x47\x55\xea\xd1\xb7\xbd\xc4\x11\x2e\x6f\xec\x39\x0a\x4b\x52\xf1\x0c\x2c\xa5\xfa\xc5\xad\x56\x86\x7e\x99\xee\x6f\x35\xf5\x02\xa7\xdd\xd5\x16\xb7\xd3\x96\x97\x38\xa0\x2c\xcf\x4d\x46\x32\xb9\x00\x3e\x87\xcb\x40\x5d\x7e\xa0\x35\xc0\x4d\x30\xc6\x8a\xd9\x9b\xa3\xb0\xe0\xc9\xdb\x62\x0d\xaf\x8b\x35\xdd\x16\x0a\x7f\xd4\x09\x6f\x37\xb9\x4a\x8a\xbb\x1d\x56\x15\xc6\x4e\x7e\x3d\xaa\x9b\xee\x52\xbc\x64\xc6\x8a\x29\xeb\x2c\xbc\x53\xf1\xda\xaa\xc5\x52\x56\xcc\xbb\x45\x29\x75\xb8\x21\x52\xab\x62\xb8\x20\xf1\x1a\x69\x8b\x9a\xac\x96\x32\xc3\xed\xe6\xaf\x58\x65\xb1\x8a\x30\x76\xfd\x61\x48\x3e\x3b\x44\xe6\xf7\xc7\x7f\xf5\x82\x5c\xb8\xae\x78\x05\xe5\x41\x69\x95\xb5\xd4\x36\x3d\x73\x4a\x3b\x88\x10\x4c\xb3\x29\xc4\x68\x0b\x59\xcc\xff\x61\xf2\x8c\x2d\xdf\x83\xd0\x23\x08\x2c\x9c\x11\x51\x4c\x7e\x26\x7f\x1b\xfe\x6e\xf0\x03\x1f\xd2\xd8\x3d\x09\xde\x55\x28\x7e\xac\xb6\x20\x49\x2b\x14\xc5\x7d\x89\x5d\x1a\x74\x8e\xca\x08\x9e\x9e\xa1\x73\xe8\x23\x67\xea\x5e\x0e\x77\x65\xce\x5d\x95\xa9\xbe\xb4\xef\x02\xd0\x19\x08\x83\x34\xa2\x48\x9f\x16\x3d\x35\xae\x48\x7c\x0b\x85\xf5\x47\x96\x14\x68\x97\x08\x9a\x4e\x15\xe4\x66\xd2\x74\xa2\xca\xdc\x79\xc1\x64\xbc\xb9\x33\x42\x78\xc8\x81\x15\xc6\xe8\xb5\x8b\xef\x95\x8e\xa8\x87\x2c\xb3\x10\x7b\x63\x32\x45\x94\xd9\xcc\xe3\xdf\xd3\x27\x35\xe9\xde\xc2\x59\xe5\xb4\xe5\xa4\x62\x87\x65\xd7\x31\x91\x3c\x64\x4d\x36\xf4\x2e\x5b\x1d\x47\xd5\x93\x42\x15\x07\xc4\xc6\xc8\x5d\x73\x7d\xa3\x50\xd1\xfb\x18\xcc\x78\x8e\x3a\x88\xa7\x08\x56\x17\xab\xa7\x24\x8b\x67\x4e\x2e\x13\x25\xd7\xd6\xea\x72\x06\x24\x33\x52\x96\xa2\xb9\xb2\xcc\x71\x72\xd9\xca\xab\x4b\x20\x20\xdd\xa0\x29\x67\x91\x28\xa2\xd1\x5d\x4a\x23\x2b\x4c\x21\x44\x83\xfd\xf1\xbf\x4d\x0c\x29\xb7\x0c\xf1\x08\xe4\x45\x55\x57\x92\x40\x24\xf2\x33\x42\x98\x0a\x54\xd6\xe4\x90\x0a\x5b\xe1\x23\xa5\xd0\xf5\x87\xf9\x82\x48\xf9\x35\xe5\x11\x62\xc8\xe8\xa5\x6b\x2f\x3c\xa2\x20\xf3\xa8\x72\x92\xfb\x18\xc2\x12\xbb\xc3\x69\x30\x8d\x48\x38\xf5\xe1\xdc\x47\x2f\x84\x35\x60\xba\xe6\x8b\x80\x98\x50\xa2\x18\xfa\x3f\xac\x49\x90\x5f\x5e\x66\x41\x60\x57\x2a\xaa\x0b\xba\xa3\xcf\x6a\x23\x0c\xad\x39\x38\x15\x58\xec\x37\x82\x47\x33\xdc\x37\x30\x62\x89\x07\x1b\x48\x06\x60\x87\xe3\xb0\x8c\x90\x47\x42\x52\xc1\xbd\x23\x91\x05\x57\xc4\x84\x80\x7f\xee\xc2\x01\x2b\x23\x11\xc4\xe0\x3d\xc2\x3c\xda\x0a\x01\xcd\xc9\xd8\x47\xbd\x8e\x20\xa6\x38\x76\xb8\x71\x24\x9e\x3c\x92\x54\x94\xe0\x1a\x0e\xba\x51\x38\xa5\x0b\xc8\xcb\xce\xf9\xde\x9c\x34\xba\xcd\x76\x5b\xf8\x6f\x20\xe1\xe4\x11\x23\x8f\x76\xfe\x32\x80\x89\x79\xef\x3a\x94\x75\xd6\x18\xb5\x9f\x72\x77\xfd\xf4\x25\xb1\x02\x82\xc7\x60\xb5\x4c\x54\x34\x3c\xfc\x2e\xeb\x07\xa8\xba\xc1\xba\x50\x94\xb8\xe4\x37\x92\xa4\x2b\xde\xd5\x0c\x09\x64\x0f\xbe\xb2\x03\x87\x5e\x06\xae\x1f\x37\xe2\xa2\xcb\xef\xf6\x40\xc1\xb7\x43\xca\x9d\x8c\x8b\x36\x40\x1e\xdf\x0f\x06\x83\x41\x89\xbc\x21\x35\xf2\x9a\xd4\x77\xa5\x85\xcb\x26\xbf\x91\x5a\x5d\x31\xec\xf2\xde\xbe\xd8\x4b\xa8\x64\x32\xf5\xf1\xc5\xcc\x98\x82\xba\x8b\x5d\x62\x8d\xd4\x56\xa0\x42\x88\xf1\xf5\x3a\x93\x73\x0e\x9a\xc1\xe7\x5f\x25\x61\x48\x78\x87\xef\xd3\xff\xd4\xee\x0e\xe1\x6b\x4c\xe1\x8c\x47\x12\x63\xbc\x60\xba\x06\x2e\x2d\x1b\x7e\x9d\xfc\x9a\x7c\xff\x43\x49\xe6\x61\x8a\x0e\x21\x32\x95\x87\xa9\x1b\xe9\x4e\xb8\xe5\x64\xe0\x4a\x27\x50\xc8\x5f\x63\xd4\x44\xb6\xb9\xd7\x3c\x4c\xe4\x59\xba\x4b\x5c\x98\x5c\xf2\x22\xcb\x4f\x5d\xbc\x44\x27\xdd\x0c\xef\xa5\x99\x46\x67\x6b\x7a\x2c\x2b\xb1\x33\x9f\x95\x3f\x12\x93\x90\xee\x6f\xbd\x24\x36\xf4\x2e\xfe\xdf\x19\x0e\x5a\x26\xf0\xd7\x40\xfc\x72\xd5\x3b\xdc\x61\x37\x59\x87\x86\x05\x55\x38\x0b\xb8\xff\x5c\xf7\x2a\x4d\xb1\x2f\x9e\x59\x93\x45\xd1\xa4\x98\x65\x91\xd0\xc8\xb6\x26\x54\x82\x5d\x10\x19\xb8\x8d\x9e\x6a\x22\x3e\x42\xf9\x98\xb0\x5d\x10\x5e\xdb\x02\x0d\x11\x84\x5f\x2e\x6d\x6b\x02\x50\x54\x00\x84\x12\x0e\x02\xf6\xed\x50\x66\x57\xfe\x15\x71\x5f\x91\x84\x1b\xf8\x51\x99\x4c\x2c\x17\xe3\xfc\x92\x03\xa3\x4c\x68\x6c\xa7\x9c\x20\x92\xf6\xf9\x9f\x98\xac\x0f\xc0\x5c\x44\x40\xa7\xc7\x61\x2e\xef\x59\xa7\xca\x24\x1e\xc1\xc3\xa7\x0b\x7a\x17\x3e\xf5\x44\x80\xc2\x9e\xa4\x9c\x0c\x29\xa1\x51\x10\xd3\xd0\xb5\xd3\xac\x88\x12\x80\x4c\x44\x0d\x92\x5f\x80\xda\x28\xdc\xd5\x50\x71\x44\x71\x74\x02\x7b\x9d\x97\xee\x4a\x2a\x63\x67\x09\xd4\x5f\xc2\x42\x89\x1e\x28\xa2\x45\x45\x68\x6a\x6a\x56\xc4\x71\x73\xdd\xcb\x07\x04\x84\x69\x27\x22\xbc\x85\x03\xc8\xa5\x27\xcb\x88\xd4\x74\xe7\x86\xf1\x14\x7c\x19\x95\xb7\xad\x5f\xd7\xd3\x41\xfe\x69\x8c\x41\x59\x3c\xc9\x17\x03\xe5\x13\xfc\x0a\x4c\xf3\xad\xa4\x82\x90\x0f\xc0\x6a\x62\x67\x5e\xcd\x98\xd4\x59\xb8\x43\x5c\x5a\x21\x2c\x1e\x2b\xa6\x04\xd2\x4a\x01\x14\x60\xf2\x82\x68\x45\x31\xa6\x3c\xd6\x11\x01\x45\x6e\x79\xf8\x8a\x69\x75\x54\x00\xb5\x73\x98\xab\x89\x15\x45\x22\xed\xc9\x3c\x98\x86\x58\x92\x84\xc1\x34\x86\x38\xe7\xd0\x02\xe5\x07\xc2\xe2\x42\x0a\xe0\x79\x48\x01\xba\x9c\x90\xfd\x2a\x3d\x6f\x12\x48\x45\xe5\x4b\x35\xae\xe5\xba\x57\xb9\x94\x5f\x15\x93\xa2\x57\xfe\xad\x1f\xcc\xfc\xaf\x12\x9b\xbe\xe1\xcf\xc9\x2f\x1e\x36\x4a\xc6\x81\x03\x91\x4f\xd1\x2f\x72\x31\xa7\xc4\xb7\x2c\x83\xbc\x0b\x6f\xd8\xee\x41\x0a\x18\x24\x3d\xe2\x63\x46\xd3\xac\xa4\x43\x04\x26\x10\x8f\xa0\xc1\x4e\x34\xbb\xed\xaf\x72\x04\xbc\xed\x33\x5e\xe5\x2b\x77\xd5\x53\x7a\x17\x87\x96\xeb\xe9\xdd\xab\x10\xd2\xb5\xc6\x54\x4d\x14\x40\x99\xdc\x11\x8b\xa4\xc7\x52\x46\x4a\xf4\xde\xa6\x93\x58\x78\x37\x85\x94\x6f\xa2\x98\x53\x10\x6e\x22\xd3\x31\xac\x57\x2b\x1c\xc2\x0a\x4c\xa2\x63\x45\xfb\xe6\x2e\xbe\x1f\x51\x34\x47\x87\xf0\x2c\x8c\xb8\x60\x13\x11\x3a\xc3\xd9\x67\x83\xc7\x2d\xe3\xa9\x88\x2c\xcc\x60\xbb\x70\xe7\x16\xcf\x0b\x66\x98\x7d\x09\x94\x18\x44\x93\x53\xd3\x4b\x25\xb8\x9b\x29\x10\x46\x4c\x25\x3d\x73\x21\x63\x9b\x84\x64\x94\xf3\x88\xf9\x46\x2c\x9f\x5c\x74\x9b\x2a\x0a\x11\x5f\x4e\x91\xdd\x73\xc7\xf4\xd4\x1d\xbb\x10\xdd\x55\xaf\x56\xab\x55\xd1\x18\x3f\x1a\xd0\x55\xd8\x45\xf5\x19\x41\x45\x1c\xf8\x46\x7a\x35\xf0\x88\x96\x78\x20\x4e\x13\x21\x94\xa9\x43\x86\xfb\x26\xc9\xcd\x44\xf0\x10\x60\xec\xc4\x3c\x91\x9d\xb5\xbe\x1b\x4b\x74\x35\xed\x0a\x43\x08\xaf\xd9\xf0\xf3\x8a\x21\x9c\xba\xb2\xdb\x81\x4d\x78\x44\x58\xe1\x88\xf2\x6b\x3c\xa6\xc4\xfe\x55\x64\x61\x98\x05\xe1\x2d\x3b\x7f\x5e\x02\x49\x31\x45\x11\xe6\x5c\xa1\x73\x00\xc8\xc6\xa7\x83\x59\x80\x28\x2d\xf4\xfb\xd4\xbd\xb3\x3c\x99\xe2\xf1\x57\x72\x16\x44\x31\x64\xea\x8e\x48\x14\xbb\x9e\x87\x57\x00\xb1\x47\xc4\xb3\x60\x0d\x2a\xf2\x60\x57\x6d\x30\xef\x65\x1c\x6e\x6a\x4c\x20\x3d\xfd\xb9\x8c\xa0\x24\x32\x1c\x57\x05\x09\x86\x94\x21\x48\xc9\x8d\xa2\x29\x87\xad\x25\xbf\x58\xb6\xed\x3a\xd4\x8f\x2d\xef\x17\x32\x05\xf0\x4f\x9e\x78\x86\x5f\x59\x84\xe3\x7d\x5f\xfa\x7e\x20\xe8\x96\xd8\xe6\x25\x01\x56\x1d\x71\x26\x5d\xff\x2e\xf0\xee\x20\x62\x3d\x2e\x80\xc9\xc4\xf5\xad\x70\x2e\xc0\xc9\xd4\x8d\x1d\x1f\xb6\x77\xf6\xdd\x58\x9c\x78\x9a\x28\x9b\x44\x80\xad\x01\xe0\x16\x13\xd5\xad\x7a\xa2\x46\xa8\xe8\xce\x60\x0e\x81\x78\x02\x62\xcb\x7c\x40\xa6\xa6\x65\xb6\x20\x84\x85\x51\xb3\xf3\x8b\xc6\x3b\xca\x8a\x65\x53\x57\x00\x2f\x3f\x01\x54\x63\x27\x88\x8e\x5a\xf2\x09\x26\xf5\xd3\x88\x4c\x23\x9e\x0d\x1d\x61\x24\x0e\x5a\x4d\x72\x19\x02\x14\x23\xc2\xfe\xd7\xea\xc6\x6e\x1d\x50\xbb\x56\x37\xf3\x02\x6d\x26\x13\x00\x3f\x23\x02\x71\x4c\x18\x0a\xd8\x82\x86\xb8\x05\x8e\x2d\xa5\x64\x74\x61\x5d\x4f\xb5\x25\x97\x43\x4b\x90\xd9\x23\x85\x69\x3c\x58\xdb\x29\xe8\x6d\x9e\x59\xf7\x42\x69\xc7\x6d\x62\xea\x27\xc2\x40\x0e\x9a\xdd\x32\x9b\x8d\x32\xb9\x3c\x63\x3b\x5d\xe3\x32\xd9\x43\x04\xea\xeb\x8c\xc2\xd3\x06\x92\x9b\x4e\xc0\x18\xa1\x84\x95\xdb\xf8\x06\x21\x85\x1d\xc1\x0f\xd8\x8a\x62\x5b\x13\x8f\xb0\xe0\xb7\x59\x7e\xb4\x33\xa5\xb2\xd8\xed\x95\x49\xe1\xf3\xfd\x2b\xbb\x50\x26\xad\x6e\x93\x14\x3e\x7f\x2e\x94\xe0\x39\x93\x51\x29\xee\xb7\x4e\xe1\xfb\xea\xcb\x42\x49\xbd\xbd\x8f\x28\x4f\x94\x43\x7e\xe1\x56\x06\xd1\xdf\x5f\xc8\x38\xf0\x5d\x91\x5e\x31\x61\xd5\xd8\xba\xc7\xe6\x85\x92\x45\xf6\x48\xad\x5a\xdf\xd4\xf9\x24\xa3\xcb\xe9\x18\xf2\x15\x42\x1e\x15\x8e\x5c\x3d\x43\xf8\x38\xe0\x1c\x37\x65\xe8\x5b\x52\x10\xf2\x03\x01\x69\x25\x72\xcd\x96\xa1\x4c\x46\x18\x52\x3b\x18\xfa\xee\x03\xb8\x5a\xd2\xfb\x89\xe7\xda\x6e\xcc\x16\x1d\x30\x33\xd5\x6b\xd6\x83\x2b\x5f\xc1\x44\x35\x0a\x38\x58\x76\x78\xfc\x90\x88\x7f\x57\xfa\x35\xb6\x26\x11\x80\x6f\xc0\x0d\xe4\xa8\x5a\xa9\x54\x8e\x36\x20\x2d\xd5\xac\x94\x27\x50\x67\xac\x4e\x4a\xe5\x50\x6f\x09\x51\x7a\x93\xef\x29\xf1\x82\xa2\x09\xbd\x0b\x15\xb9\x0d\x2a\x09\x7d\xd8\x14\x5e\x75\xd7\xd1\x86\x32\xb6\x26\x98\x12\x07\x11\xb4\xad\x48\x64\xe0\x72\x87\x3e\xdf\xee\x40\x03\xe1\xcb\x51\x6c\xe0\x08\x25\xe3\xc6\x09\x1e\xf8\xc8\x92\xbb\xa6\xdc\x1d\xbd\x39\x89\x66\x2e\x84\xc2\x60\xb3\xc3\xd0\x9a\x8c\x5c\x3b\x42\x6a\x5a\x5f\x49\xb1\x19\x87\xde\xda\x79\xa9\x42\x40\x49\xe1\x89\xb5\xf8\x4c\x5a\x3e\x82\x1b\x8b\x5d\x5f\x10\x62\x35\x91\x18\xc4\x69\x89\xdd\x14\x53\x4c\x02\x08\xaa\x3f\x9f\x59\x73\x25\xcd\x53\x48\xc1\xdd\x8c\x0c\xa7\x56\x68\xf9\x31\xa5\x64\x06\x21\xf6\xa0\xa3\x5a\xfe\x1c\xa9\x89\x8b\x07\x9b\x12\x0b\x1f\x07\x2c\x20\x06\xe0\xf9\xae\x3d\xf5\xac\x50\xc0\x65\xab\x93\x79\x54\x15\x7a\xf1\x51\x4d\xfe\x56\x97\xbf\x6d\x90\x3d\x7e\x19\xcc\x4e\x7d\x65\x48\xe3\x33\x6b\x52\x2c\xec\x17\x0c\xf3\x8c\x07\xa8\x88\xb9\xd3\xb4\x34\x7d\x0f\xc0\x53\xcc\x62\x5d\x9f\xb0\x45\xca\xe1\xc0\xfa\xa0\x9c\x09\x0c\x4b\x71\xcf\x80\x28\x2a\xfe\x14\x74\x74\xca\x88\xf1\x99\x41\x9b\x1b\x7a\xd3\xbd\xda\x84\x93\x99\x7b\xfe\x55\xef\xeb\x35\x48\x0b\x75\xff\x32\xbd\xfb\x24\xc2\x08\xa4\x58\x3f\x0a\xfb\x85\x32\xb9\xea\xa2\xc1\x2e\xcd\xab\x53\xb6\x75\x1e\x55\x0b\xd9\xd1\xee\xfc\xf5\xa3\xed\xac\x38\x5a\x8b\x8f\x76\x90\x99\xea\x4e\x6e\xf7\x85\xc3\xaa\x3c\x69\xd2\x39\xeb\x74\x15\x05\xf4\x19\x0e\x94\x4f\x5a\xcd\xb3\xc6\xda\xc6\x16\xac\x2f\x50\x09\x21\x41\xdd\x30\x10\x1b\x3a\x7f\x30\x26\x4c\x92\x15\x95\x42\x36\xc5\x11\x9b\x20\xdf\x2d\x53\x42\x82\xf4\x76\x03\xc5\xba\x70\xce\x5f\xc5\x83\x9d\xaf\x99\xf0\x65\xb5\xc4\x29\x90\xc9\x28\xcb\x4d\x05\x07\x2a\xa4\x43\x58\x0d\xf4\x1e\x32\x76\x03\x54\x89\x1a\x01\x07\xd7\x23\xa6\x38\xa2\x9a\xa6\xee\xe1\x51\xe5\x59\x92\xe8\x4c\x40\xa1\xb8\x3e\xd1\x2e\x56\x8c\xda\xf7\xa9\x6b\xdf\x32\x26\x41\x36\x34\x61\x52\x4f\xe2\xf6\xee\x63\x24\x94\x39\x20\xa4\x0a\x6d\xdb\xb5\x4b\xa6\x81\x84\xfe\xd7\x34\xac\xcb\x14\x9c\x92\xc5\x71\x8e\x57\xbf\xa2\xbc\xce\x75\xad\x3b\xc0\xf8\x63\xdb\x83\xe8\xdf\x41\xab\xd9\x6d\x62\xdf\xf5\x01\x58\x3c\x33\x74\x1c\x10\x04\xd9\xb5\x10\x71\xe1\xba\x87\x14\xca\x6c\x4b\x72\x23\xf2\xab\x1f\xc4\xa8\xdc\x70\x98\x3e\x5d\xdf\x8f\x58\x9b\xe6\x3b\x28\xa6\x5d\x4a\x2e\xa1\xba\x93\xc4\x79\x90\xc9\x72\x9b\xd8\x20\x14\x37\x61\xe3\xa5\x1d\x6d\x8b\x82\x14\x1b\x63\xab\xc7\x15\xae\x6a\xb5\x2a\x8c\x23\xfc\xf6\x9f\x24\x66\x5e\x9f\x4e\x78\x73\x20\xc8\xab\xb5\xd9\x3c\x6d\x37\x4f\x98\x3a\x90\xdb\x60\x7d\x61\x83\x80\x73\x1d\xdc\xa1\xf5\x1b\x81\x4f\x2d\xc2\xf3\xfd\x03\x7a\xc3\xcc\x5f\x71\xf0\x9d\xc6\x11\x01\x5f\x07\x09\xf7\x27\x6f\xf9\x44\x81\x13\xd3\xac\x5c\xc2\xa1\x23\xb4\xec\xdb\x48\x07\x95\x50\x53\x54\x0a\xcb\x46\x3b\x86\x20\x98\x81\x4b\x3d\x27\x12\x52\xab\x06\x22\xf7\xa7\x83\x01\x53\xb1\x04\xa6\xbc\xb0\x44\x8a\xcf\xd9\x68\x25\x41\x69\x48\x4a\x9b\xab\xc4\xe7\x3f\xa4\xbf\xe3\xd4\xb7\xb5\x7d\x19\xea\x87\x1a\x01\x63\xc8\x6c\x7f\x3a\x48\x42\x65\x93\xf7\x2b\xf4\x54\xd7\xc6\x8b\x3d\x4c\xb1\x5a\xe1\xa0\x8a\x7e\x92\x74\x8a\xfd\x5d\x16\x2d\x19\xc2\x10\x84\xa3\xfa\x1e\x49\x7d\x92\x20\x3f\x4c\x07\x3c\xb0\x8c\xfd\xf6\xc7\x1f\xfa\x8a\x9e\x04\x91\x30\x94\xa3\x0f\x24\x63\x44\x3e\x31\x2b\x1c\x8a\x68\x54\x23\x50\x43\x8a\x6d\x65\x6d\x5e\xc4\x9c\xe5\xf2\x60\x11\x6a\x47\x96\x05\x50\x04\x2a\x1f\x4a\xef\x7d\x1d\x80\x6a\x7f\x3a\x28\x2a\x03\x2f\x14\x52\xdf\x37\x84\xb9\x25\x93\x3d\x38\x67\x3c\xa6\x65\x9b\xdf\x7d\xad\x6f\x79\x08\x24\xc8\x6f\xd3\x9c\xe6\x74\x09\x39\xaa\x31\x54\x76\xcb\x24\xa5\x9a\x84\xb2\x0d\x12\xe1\xdd\x00\x7f\x6a\x3a\x28\x8b\xa9\x06\x9d\x91\x89\xc6\xca\xc3\xdb\x07\xc1\x5a\x30\x41\x28\x79\xd2\x25\x91\x4f\x84\xea\x95\x48\xde\xc8\x8f\x5f\xe7\xc8\xa5\x91\x07\xd2\x4e\x46\x3c\x37\x8a\x17\x0e\x9f\xd1\xb7\xc2\xe1\xd7\x07\x1a\x06\x09\x1f\x44\xa2\xd1\x84\x17\x4c\xb2\x3f\x55\xbf\xac\x3c\x7a\x29\x3b\x69\x1e\x88\xc6\x14\x46\x30\xda\x15\xfd\x55\x4a\xf5\xd5\x54\x7b\xf8\x9c\x5d\x91\x7d\x87\x0e\x5c\x9f\x3a\x05\x25\xc1\x25\xef\x1f\x5f\xca\xa2\xbc\xc6\x9f\x23\x0a\x48\x91\x82\x39\x60\x92\xf4\x09\xf7\x86\xc8\x4b\x1c\x67\x85\x43\x7f\x3a\x46\x9b\x9e\xa8\xc8\x91\x0b\xc1\x9c\x18\x87\x2e\xbd\xa3\xab\xb0\xc5\xb5\x42\xed\x2d\x18\x29\x4b\x01\xbb\x66\xac\x4e\x1e\x87\xd1\x9b\x27\x19\x1a\x96\xfe\x22\x78\x23\x1f\x92\xf9\x53\x32\x6c\x06\xb0\x1a\xdb\x3e\x20\xf0\x96\x49\xad\x5a\x92\x11\x16\x0d\x65\xd8\xc1\x80\x00\x2b\xdd\x88\xc4\x1c\xd4\x8a\x6f\xc5\x62\x73\x87\x59\xaf\xc8\x17\x5f\x20\xbe\x47\xaa\xa5\x24\x0a\x27\xd9\x02\xa1\xdb\x6a\x76\x4d\xf6\x1f\x11\x10\xcd\x3f\xd1\x8b\x2a\x33\xd2\x70\xee\x2c\x61\x0a\xc0\x13\x49\xdd\x03\x8d\xfe\x2e\x70\x85\xc7\xb4\x1b\x38\x0b\xc1\x80\x6b\xd9\xec\xbe\x88\xf4\x56\x99\x0d\x5e\x54\x9d\x10\x20\xad\x88\x25\x5b\x63\x2f\xf6\xb0\xc5\xd4\x42\xe3\x31\x9d\x94\x84\x74\x6c\xb9\x00\x01\x07\xb9\xa9\x10\x41\x5c\xd9\x86\xb2\xc9\xa9\xe4\x58\x19\xa5\xcc\x70\x85\x37\x87\x9a\x5f\x64\x49\x1b\xab\x8c\x76\x42\xe9\x6d\x47\x90\x49\x6d\x4c\xba\x53\x27\xdf\x98\xc4\x63\xae\x60\x44\xfa\x00\x90\x0c\x80\x94\x3e\xe8\x05\xa2\xda\x77\xfd\x3f\x9b\x09\xd0\x4e\x4e\x03\xab\x72\xa0\x39\xb2\xc2\x47\x8f\xbc\x0c\xa9\x75\x9f\x3e\x78\x76\x10\x59\x69\x39\x57\x87\x0d\x96\x70\x26\xc2\x7f\xe9\xf8\x99\x02\x3a\x1d\xd3\x27\xb1\xe0\xc5\x8b\x5c\x26\x28\xae\xc6\x7c\xbc\x6e\x44\xe8\x78\x12\xcf\xc5\xdb\x93\xa2\x8a\x46\x64\x22\x72\x7b\xa6\x32\x5f\xe4\xee\x99\x51\x93\x27\x69\x59\xda\x69\x01\xf6\xc3\x34\x19\x39\x10\x7e\xa8\xfc\xb6\x27\x57\xb4\x1a\xfc\xaa\x5f\x82\xd4\x16\xee\xd4\x7d\xe0\x0e\x5e\x5d\xee\xe2\x5d\xf5\x52\x55\x2c\xe5\x53\x52\xa3\x28\xad\xbb\x5c\x14\x2d\xb4\x57\xef\xc9\x46\xe4\x3b\x2b\xd4\x42\x7a\x6a\xb2\xe6\x38\x0d\x0b\x9c\xad\x38\xa4\x71\x0a\x35\xaf\x84\x80\x7b\x2a\x1d\xb0\x96\xc8\xba\x47\xa7\xbb\x9a\x1d\x22\xf9\x42\xc1\x8c\x4d\x8c\x51\xf0\x4d\xa2\x0f\x27\xb6\x29\xf8\xa2\x96\x7c\x51\xd7\xbe\xa8\x27\x5f\x6c\x68\x5f\x6c\xac\xc4\x46\x91\xce\xc7\xcc\x49\x8d\x05\xbc\x28\x67\x9f\xc2\x69\x85\x03\x3a\xb3\x33\x3c\x33\x70\x5b\x70\x31\x45\x24\x61\xa5\xc2\x46\x64\x9e\xfc\xa2\x93\xaa\x92\xd8\xf5\xaa\x7a\x95\xc4\xcc\x57\xd3\xbf\x48\xac\x7e\x75\xfd\x8b\x8d\xc4\x1c\x98\x62\xe3\x6a\xf8\x7e\x49\x5f\x16\xd8\x0f\x33\x33\x6d\x2e\x5b\x55\xcb\xd6\x1f\x41\x77\x63\x85\xb2\x06\x43\x9f\xd1\x76\xf6\x04\x9b\xc7\xe3\x1d\x12\x94\x6d\xf0\x2d\x3c\xa1\x27\x0f\xc6\x69\x93\x09\xf8\x92\x72\x0c\x86\x5f\xd0\x47\xa2\xc7\xae\xfa\xae\x3f\xfc\x85\x44\xd4\x16\xa7\xf9\x27\xf0\x5f\x49\x6b\xd7\xa6\x8c\x20\xe8\x51\xa1\xce\x27\x4d\x01\x36\x69\x03\x59\x34\x12\x35\xcc\x48\xbe\x5d\xd3\xf1\x24\x08\xad\x70\x0e\x56\x27\x6b\x88\xca\x7f\x30\x0d\xe1\xe5\x3c\xf0\x23\xd0\x0b\x51\xe5\xc4\xbf\x45\x4d\xf1\x02\x8f\x99\x74\x84\x11\x8a\x95\x1c\x07\x8e\xaa\xd6\xd3\x4a\x34\x72\x07\xf1\x09\x9d\x63\x07\xd8\xd7\x7f\xec\x91\xcd\xe4\xfb\x31\x8d\xad\x13\x3a\x67\x3b\xb9\x9e\xba\x42\xe6\xc8\xaa\x58\x5e\xdc\x8e\xce\x68\x6c\x91\xbf\xfd\x8d\x50\xf6\x27\xa3\xa7\x11\xdc\x49\x08\xda\x71\xe8\xa5\xdb\xab\x6d\xcb\x31\x5f\x1c\x5c\x14\xc3\xa1\xeb\x3b\x56\xe9\x35\x79\x4f\xb5\x3c\x7b\xc2\x98\x2a\x8c\x49\x60\x4e\x5d\x0f\x42\xf6\xfb\x36\xd3\x39\xe9\x7d\x4c\xd1\xa8\x22\x0c\x87\x90\x9b\x88\x1d\x28\x80\xbd\x06\x56\xe2\x60\x3a\x1c\x95\xb9\x43\xc3\x04\x33\xa8\x5a\x18\x75\xf8\x6d\x1a\xc5\xc4\x22\x9e\x1b\xc7\x1e\x2d\x93\x36\x99\x59\x91\x5f\xe0\x46\x48\x91\xe1\x6f\x48\x63\x72\xe7\xc2\x93\xd3\xd8\xb2\xe5\xf3\x05\x77\xcc\x45\x6d\x30\xc2\x27\xcd\x48\x70\xfd\x9e\xec\xf1\x27\xbb\xca\x20\x0c\xc6\xec\xe0\x6f\x06\x0e\x2d\x72\x18\x61\xcf\x1a\x4f\x8a\x54\x72\x16\xdd\x1a\xc8\x0b\xb2\x51\x2f\xc3\xbf\xfa\xd6\x56\x49\x22\x70\xcd\x1f\x45\xab\x13\xcc\xb2\x84\x9e\x11\xf1\x80\xc3\x4a\xce\x27\x09\xaa\x91\x15\x51\x52\x80\xc4\xde\x85\xd7\xfc\x86\x01\xe2\xc4\xc1\xf3\xa9\x97\xba\xa9\x70\xdb\x5c\x8d\xb1\xa3\x4e\x26\xde\x14\xae\x71\x96\xe3\xb8\xfc\xf2\xba\xbd\x29\xf0\x02\xfa\x10\x29\x5a\xa4\x15\x87\x7a\xb1\xf5\x91\xfc\x4a\xd6\x6a\x25\xf2\x3b\xa9\xb2\x9b\x75\x95\xbc\x26\xb5\x12\x79\x41\x5e\x6d\x4b\xaf\x49\x26\x18\xe3\xc0\xd9\x95\x37\x1d\x94\x71\xb6\xc5\x7c\xbe\xaf\xf5\x3f\x9d\x15\xc8\x0b\x23\x27\xfa\x8c\xd0\x3d\x79\x41\xe6\xbb\xcf\x92\x41\x9c\x88\x34\xa4\x09\x4c\x44\x18\x8c\x79\x42\x73\x84\xa6\x86\x1f\x0a\xd9\x91\xa8\x1f\x2b\xf8\x30\xbc\x47\x21\xb5\x6e\x39\x49\xe4\x14\x2c\x6f\x27\x98\xf9\x2a\xb7\xf6\x81\x27\xf8\xc0\x24\xb3\x64\x49\x56\xf1\x9b\x12\xb0\x6a\xa3\x2e\x1a\x05\x9f\x63\xb2\x47\xce\xac\x78\x54\x19\xbb\x7e\x91\x56\xb0\x7c\x99\xd4\x4b\x30\x81\xea\x50\x1a\xbe\x43\xc6\xee\xbd\x50\x3c\xc7\xca\x6a\x8f\x2a\x19\xf6\xfd\x14\xff\x16\x8e\x7c\x3a\xc9\x4a\xc9\x74\x02\x56\x51\x3f\x10\xc8\x49\x7c\x57\x45\xc0\x41\xce\x84\x99\x15\x91\x90\x7a\xd4\x8a\xb8\x03\x85\xb1\x7f\x9f\xef\xeb\x1b\x85\x15\xbb\x32\x0e\xee\xa8\xec\xcc\x23\xb6\xdf\x4e\xe3\x08\x77\x2d\xec\x59\xa4\xfa\x2b\xaf\xaf\x93\x6e\x6c\xf9\x8e\x15\x3a\xa2\xe3\x7d\x97\x23\x54\x50\xf2\x81\x9d\x02\x04\x8e\x05\x3b\xe0\xde\x2b\x21\x34\xc5\x13\x42\xbb\x61\x14\xab\xb4\x38\x09\x78\x4e\xe1\xc8\x8e\xee\x00\xfd\xe7\xfe\x86\x8e\xb0\x20\x32\xf0\x3d\x75\xca\xfc\x23\x37\xe2\xef\xd9\x8e\xe2\x89\xcc\x93\x18\xb8\xb1\xf6\xc8\xa4\xb4\x4b\xe2\x51\x48\x29\x6f\x92\xf5\xb8\x3d\x20\x3e\xbb\xdb\xe0\xfe\x34\x66\x2d\xa9\xd4\x64\xa3\xf1\x88\xfa\x7c\x68\x03\xcf\x1a\xc2\x1b\x30\xb8\x8b\xf1\xe9\xaa\x10\xf2\x1e\x72\xa7\x3a\x81\x8c\x0b\xae\x48\x4a\x4c\x84\x15\x51\x45\x67\xc1\xd0\x0d\x42\x37\x9e\xc3\xd3\x96\xc4\xf3\x80\x26\x5e\xc3\xe8\xcb\x64\xec\x3a\x0e\xdb\x70\x43\x9e\x92\x8b\x24\xd3\x28\x27\x86\xfc\x8d\x54\xef\x6b\xea\xf4\x00\x75\x3e\xb9\xc0\x45\x2c\x59\x51\x0a\xf4\xc9\x0b\xe9\x59\x4d\x74\x2f\x78\x9d\xf0\x66\x1e\x61\xec\x5a\x1e\xe9\xda\x0a\xa4\xeb\x79\xa4\x71\x7e\x73\x28\xd7\x33\x94\x33\x44\x60\x3e\xc8\xc8\x1d\xb2\x73\x47\xcc\x74\x9a\xce\x86\x42\x47\x9b\x96\x86\xe3\x90\x8d\x3a\x3b\xbd\x04\xc2\x19\x57\x98\xc6\x01\xbf\xff\x6b\x64\x52\x93\xba\xca\x0e\x64\xd8\x83\x7e\x6e\x17\x92\x03\xc8\xee\x01\xb6\xe7\xda\xb7\x7c\xfd\xe3\x27\x4e\xdf\x53\x3f\xd4\x2b\x71\x23\x98\xf8\x4a\x24\x02\xa4\x61\x18\x84\xc5\x02\x7f\xa2\x54\x15\x48\xcc\x02\x88\x87\x65\x99\xd0\xf4\x91\xa0\xf8\xe7\x8b\x01\x2a\xe6\x50\xa9\x31\xb9\x81\x92\x40\x32\x29\xa9\x67\x9b\x10\xbe\xc6\xc9\x83\x68\x30\xd0\x9c\xb3\xf9\xbb\xb7\x30\xdd\x84\x34\x02\x93\x38\x4f\x08\x9b\xf8\x14\x3f\x53\xb3\xf8\xeb\xa8\xf2\x3d\xd5\x1e\x84\xf9\x1c\xd1\x43\xd1\x94\xcf\x91\xfb\x4f\x25\x29\x1d\x53\xf9\x1c\x8d\x4a\xb2\x74\x99\x56\xb5\x63\xdd\xe4\xae\xb8\xe4\x26\x4f\x20\xfc\x71\xc1\x06\x09\x98\x0e\xb8\xb6\xc2\x73\x20\x3e\xcf\xd4\x4b\x6c\x12\xc5\x92\x6a\x83\x55\x9f\x2a\xd4\xf2\xec\xf3\x24\xd2\x06\x0d\xf7\x99\x42\x60\x99\x10\x65\xf0\x61\x20\x53\xa6\x3f\x1d\x70\x59\x32\xb6\x51\xb1\x2d\xcf\x83\xc1\x94\x33\x05\x4a\xbc\xa2\x3c\xa5\xd2\x95\xd9\x51\x05\xff\x15\xc0\x36\xa9\xce\xb1\xef\xd9\x7f\x94\x20\x7c\x53\xff\x58\x31\xc9\x71\x92\xa4\x96\xbb\xc4\x77\x22\xc7\x75\x10\x09\xdf\x13\x9e\xbd\x70\x51\x78\x5e\x50\x91\x6a\x14\xc1\x44\x97\xd4\x44\x2a\xff\x24\x41\xe1\x9e\xb1\xa6\xb8\x2c\xc9\x20\x83\x73\x9e\xf4\xce\x33\xe0\xe0\x52\x35\xbf\x99\x0e\x2c\x19\x87\xda\x62\x03\x7a\x4a\x06\x3c\x31\xb4\x08\x7d\x34\xd4\x5b\x23\xbb\x80\xbc\x26\xa3\x38\x9e\x44\xaf\xd7\xd7\xa9\x5f\x99\xb9\xb7\xee\x84\x3a\xae\x55\x09\xc2\xe1\x3a\xfb\x6b\x1d\xa9\xe4\x8d\x34\xc9\xbb\x66\x1c\xad\x12\x6a\xa9\x67\x68\xd3\xf7\x07\x39\x0d\xe8\x58\xac\xc6\x40\x62\xf3\x4b\x38\xbd\xac\xfd\x8c\x67\xb2\x58\x8d\x99\x9e\x74\xa9\x30\x1f\xe6\xba\xc3\x18\x5f\xb9\x64\xf9\x74\xbe\x6e\xf9\x05\xa4\xe3\x8d\x73\x07\x12\xd1\x58\xf1\xd2\x4c\xee\xde\xfc\x33\x1c\x8e\xbc\xe0\x68\x9f\xe6\x6e\xfd\x33\x2b\xf4\x8b\x85\xb6\x0f\xb9\x4e\x94\xa7\xb6\x5f\xc4\x68\xa4\x54\xff\xc2\xcf\x02\x41\x77\x37\xd1\x80\x0f\x2d\xcf\x23\x49\x0a\x36\x79\x16\xb9\x51\xb0\x56\xaf\xd6\xeb\xf2\x2c\x5a\xee\xb2\x63\x2c\x95\x71\xdb\x49\x1d\x42\xa2\x3d\x58\x19\x6b\xe8\x2b\xb4\xbc\x4d\x35\x46\x6e\x41\x93\x6a\x31\x73\x8b\x7f\x5a\x53\xe6\xd1\x25\x59\x6a\xf3\x5c\x7b\x34\x9b\xf8\x20\xa4\xd1\x08\x43\x77\xd0\xdf\x81\xa9\x38\x32\xf5\x78\xe2\x58\x85\x81\x03\xb9\xc2\x66\x6a\x2b\x6b\xc1\x43\xcc\x3b\x8c\x2c\x40\xa7\xff\x1d\xb0\x00\x94\xb9\xab\x6a\x34\x05\x95\x0f\x1d\xe0\xd2\x91\x4e\x6c\xbf\x99\x81\x52\xed\xd3\x3b\xf0\xc9\x5c\x5f\x27\x11\x58\xaa\x82\x88\x92\xb5\x35\x74\xe5\x8c\x47\xe0\x9d\x3b\x12\x30\xb3\xac\x91\xe7\x02\x7c\xdb\xae\x91\x3d\x72\x81\x87\x3c\x53\xc2\x8a\x89\x99\xad\x59\x13\x8f\x85\x95\x81\xcb\x36\xfb\x62\x91\x96\xc8\xde\xef\x1c\xec\x2a\x3b\x4f\x7f\xfc\x41\x28\xec\xb9\x4c\x0f\x6b\xc4\xc5\x12\xf9\x8d\x54\xef\x77\xe4\x9b\x63\x65\x6c\x4d\x04\x8d\xc2\xe7\xcf\xf7\x6c\x39\xa0\xf5\xe1\x61\x62\x39\x45\xbd\x6e\x25\x0e\xb8\xbe\x53\xdb\x2e\xb1\xdb\xac\xa4\x82\xd0\xbf\x8a\xf5\x31\xe5\xcc\x45\x67\xa4\x43\x87\xad\xfb\x49\xf1\xbf\x3e\xfd\xe7\x3f\x6d\xbb\xf6\xe3\xcb\x7f\xa5\x52\x55\xa4\x9d\x60\x32\x4e\x34\xe0\xd7\x03\x2a\x0e\xf8\x98\xc5\x49\xe0\xb6\xf0\x32\xc3\xeb\x52\x2d\xeb\xc5\x86\x6f\x3b\xc5\x66\x75\xbd\x59\x4b\x85\x8f\x83\xe1\xe0\x53\xb3\xd7\x39\xfd\x22\xfd\x5a\x93\x0c\x02\x76\x00\x31\x77\xdc\xdb\x5b\xb8\x74\x0b\x45\x0b\x5e\x9b\x42\x17\x3c\x90\x53\x19\x46\xf9\xed\x4b\x40\x30\xe9\x1d\x91\x7a\x9a\x1b\x4d\xe0\x0e\x95\x7e\xb3\x51\x9e\xd7\x34\x3f\x3b\x45\x56\x13\x05\x41\x79\xdb\xa6\xde\x40\x66\x9b\x56\xe1\x24\xa1\x93\xea\xdb\x36\xc0\x04\xb0\xe2\x06\x91\xf9\xdb\xdf\x80\xd0\x27\xf8\xfa\xe8\xf4\x4b\xe5\xe8\x54\xcc\x33\x3e\x9e\xa7\xbf\x4d\x8e\x66\x02\xdf\x25\x4a\x72\xd2\x2e\x2c\x7a\xe9\xb0\x47\xad\xd0\x1e\x69\xce\x81\x6a\x0c\x7c\x9f\xed\x76\x10\xf5\x28\x27\x42\x18\xdf\x50\x83\x9b\x28\x4f\x5a\xa9\x07\xd8\xa2\xb4\xad\xf9\x1c\x9c\x00\xa3\x2f\xe0\xf5\x0d\x9a\x2d\xa6\xe5\x33\x81\x9a\xd2\xaa\xec\x91\xaa\xe0\x16\x40\x29\x16\xc0\x07\x70\x3a\xee\x7b\xd4\x11\xf7\x79\x76\x52\x1b\x7c\xde\x2b\x89\x32\x29\xa6\xb8\x58\x68\x36\x6b\x85\x32\x51\x5e\x01\xab\x65\x52\x2b\x95\x95\xc1\xf0\xe3\x47\x19\x1d\x7f\xdf\x2c\xd6\x4a\xbb\x9a\x4d\x59\xb9\xa3\xa4\xfa\xbc\x56\x53\x3a\xdd\x43\x87\xf1\x90\x12\x3f\x30\xc4\x14\xc9\xf4\x69\xb8\x8c\xb0\xd7\x38\x65\x4c\xd7\xcc\xf4\x06\x14\xfb\xa2\xb9\x2b\xb2\x9a\x32\x3a\xa5\x6b\xa5\x64\x67\x58\xc0\x11\xa5\x82\x91\x37\x06\xce\xa8\xc3\x7f\x91\x7e\x4c\xc5\xd8\x46\x4b\x86\x9d\xca\x20\x87\x36\xfb\xdb\x99\xda\x34\xc4\xf5\x6c\xf9\x8e\x5c\x8c\xc4\x8d\x55\x5d\xf1\x53\xb3\xdb\xfe\x82\x51\x6c\xc1\x18\xfc\x4b\x07\x53\x8f\xb8\xfe\x20\x08\xc7\x68\x10\xb3\xfa\xc1\x54\x04\xd9\xd9\xdc\x52\xbc\x60\x31\x37\xbb\xed\xa5\x0b\x19\xf0\xd6\x52\x52\xce\x2e\xd3\x89\x74\x73\x87\x38\x95\x23\xe1\x30\x4a\x70\xdb\x47\xe4\xf7\x3d\x52\xf8\x7b\x81\xad\x66\x1b\x1e\x6a\x0b\xff\x5d\xd0\x44\x03\xdd\x61\x71\xdb\x64\x87\xea\x12\xe9\xed\xb6\x0b\xe5\x9c\xe0\xc5\x17\x79\x21\x83\x2f\x88\x3d\x52\x43\xab\xc5\xcf\x22\x91\x37\x7b\xd7\x3d\xd3\x8c\x32\x36\x40\x30\x17\x76\xd5\x01\x5d\x32\xc5\x14\x82\x9a\x1d\xea\xb9\x63\x57\x0e\x24\x41\xe2\x4f\xf7\x4f\xc3\xd0\x35\xd4\x57\x02\x25\x33\xe1\x98\x60\x38\xb4\x20\x68\x8a\x4c\x2c\xc7\xf1\x5c\xbf\x20\x8c\x25\xab\x8c\xc6\x08\xb3\xf0\x5c\x71\xd8\x4a\x19\x2f\x7b\x23\x3a\x27\xc1\xd8\x8d\xe1\xac\x91\x67\x1d\xa8\xe3\x5a\x26\x99\x68\x3a\x99\x78\x73\x14\x62\xfe\x03\x54\x31\x9b\x40\xa1\x94\x31\xc0\x18\xbe\xfd\x91\xe5\x37\x93\xa6\xaa\x2a\x4d\xaf\x54\xe6\x9f\x03\xf2\xf2\x3c\x4e\xb2\xb7\x72\xe7\xd3\x89\xe0\x6a\xe5\xd9\x63\x26\xe3\x9c\xc7\xa5\xca\xea\x7f\xd9\x54\x3c\x72\x26\x12\x6f\x38\x7b\x24\x39\x99\xb6\xe9\x09\xbf\x32\xe9\x7b\xb7\x46\x6a\x5f\xc0\xe3\x69\xa4\xe3\x57\xe4\xf0\x99\xa8\x7c\x7e\x23\xfe\x78\xbe\x47\x0a\xaf\x55\xa6\xcb\x87\xc1\xd4\xca\xcd\xef\x7f\xce\xf2\x4d\x3a\x96\x1a\x4a\xde\xb2\x56\x2a\xa4\x46\x90\x3e\x5b\x2b\x31\x8d\xe2\xa2\x3d\x2a\x29\xfd\x6e\x3e\xe2\xb8\xb4\x47\xa9\x43\x20\x0d\x47\xb4\xbe\x4e\xae\x7c\x19\x37\xa8\xf9\xf1\x24\xe1\xdb\x7d\xcb\xf5\x48\x30\xe5\x4b\x62\x05\x99\xc0\x23\xcd\x7c\x0e\xab\xb7\xe6\x5b\x77\x82\xf1\xf2\x8a\x32\x3a\xf5\x63\xd7\x4b\xf4\x9a\xbc\xe8\xbe\x56\xb7\x49\x44\x50\xdf\xaf\x64\x9f\x7a\x9e\x1e\xd7\xa7\x9a\xf7\x12\xc8\x20\xcb\xb6\xa7\xe3\xa9\x67\xc5\x4a\x14\x46\xb2\xfd\x7f\xaa\x7e\xa9\x10\x72\x66\xdd\x52\x12\x4d\x43\xca\xe3\xb2\xf1\x6a\x0f\xd8\x71\xd2\x77\xb4\x08\xa1\x2a\x69\x4e\x48\xdf\xd2\x92\xd0\x78\x25\x74\x56\xe2\x2c\xcf\xfb\xf5\x31\x98\x42\x20\x8b\x43\x63\x8c\x22\xb5\x50\x6f\x47\x0b\x06\xe0\x48\x80\x7b\x51\x7f\x4e\xec\x11\x85\x97\xf9\x24\x39\xa9\xf4\xd5\x92\x1a\xea\xc8\x8a\xf8\xf5\x0d\xb1\xe6\xd3\xc9\xf6\xcc\x57\x02\xb8\xa7\x29\xf1\x87\x63\xd4\xd2\x2d\x9f\x64\x03\x1b\x55\xb3\xeb\x8c\xdd\xd8\x38\xaa\xfd\x33\x1e\xc3\xaa\xc5\x7e\xaa\xd1\xb7\x7d\x4a\x42\xba\x06\x1d\x70\x92\xc8\xea\x05\x0e\xfb\x66\xf4\x48\x19\x44\x29\xb9\x14\x91\xc0\x1f\x06\x60\x6d\x09\x25\xc3\xf0\x7d\x47\x26\x29\x2e\xdc\x25\x00\x52\xf7\x36\xa5\x0e\xdf\xfe\xc7\xd6\x3d\x49\xc5\x78\x2e\xbb\x43\xc4\xae\x87\x2c\x49\x64\x71\xa9\x22\xf2\x48\x7d\x5b\x91\x72\x4d\xe5\x5e\x2f\x7e\xbe\xaf\xf5\x3f\x7f\xfe\x83\xc9\x76\x69\x7d\x55\x2d\xc6\xb4\x8b\x25\x3b\x70\x81\x5b\x37\xe1\x93\xda\x17\x7e\xcd\x3c\xb0\x30\xe9\x73\x4a\x45\x56\x7b\x96\xd2\x92\xcf\x03\x19\x02\x1e\x84\xf0\xb2\x55\xe6\x01\xef\x29\x38\x01\xf4\x4a\xe4\xba\xb2\xd6\x99\x17\x30\x5a\x7e\xb0\xc3\xc0\xfa\x41\x18\x77\xa8\x15\x05\xbe\x62\x21\x16\x6b\x94\x1f\x0b\xbf\xe7\xc4\xe0\x8a\xdb\x96\x42\x84\x0d\x37\x0e\x02\xe2\x05\xfe\x10\x6d\x56\x3a\x2d\x43\x23\x00\xcb\x77\x31\x28\xc2\xd3\x4c\xa1\xc4\xce\x8f\xb5\x5a\x0e\x69\x3a\xee\x53\x87\x89\x16\x9a\x33\xf4\x16\x52\x84\x94\xa6\x12\x7e\x93\x35\x39\x0d\xbf\x1b\xc0\x15\xf2\x46\xe4\x8e\x29\xd3\x9d\xe9\xfd\xc4\x0d\xa9\x83\xcd\x9a\x88\xaa\xc3\x4b\x48\x24\x07\x9b\xb0\xfc\x79\xc1\xb0\x58\x58\x20\xee\xaf\xb1\x07\xae\x64\x62\x42\xcc\xa4\xa7\x72\x0e\x48\x9d\x29\x73\x17\x4a\x17\xd0\x71\x88\x15\x35\xcb\x70\x96\x24\x6e\x94\xda\x8d\x2a\x9b\xc3\x29\x25\x35\x2f\xd2\x2b\x2d\x57\x8c\xd4\xdb\x2b\x87\xfe\x50\x50\x31\xe0\xc8\x4a\x8e\xc8\x29\x04\x63\x23\x7a\x43\x3c\x72\xfd\x5b\xcc\xfa\x20\x84\xce\x7c\x74\x16\xe5\x02\x20\xc9\x8d\x31\xcd\x04\x18\x88\xbe\x52\x52\x97\xc4\x64\x30\x28\x5d\x2b\x9c\xd0\x39\x57\x41\x85\x2d\x2f\x0c\x13\x4a\x08\x29\xa6\xee\x9b\x49\x0d\x76\xe5\x84\x7b\x05\xc8\x39\x79\x43\xea\xe0\xc8\xa2\x3d\x3a\x64\x72\xc5\x1e\x88\x5b\x23\x3f\xaf\xe4\x81\xc6\x93\xc4\xfb\x8e\x47\x23\x09\x80\xdc\x6c\xd6\x20\xa0\x1f\x7c\x78\x9b\xdd\x36\xfb\xcf\x75\x6f\xab\x2e\x80\x02\x72\x8c\xfd\xa2\x0d\x15\xa1\x08\x1e\x2f\x6d\x30\x4b\x9a\x36\x6e\x6c\x99\x6d\xc3\x82\xe0\x27\x56\xe5\xcb\x27\x56\x45\x46\x3b\x3c\xe7\xc5\x54\xb3\x10\x08\x53\x26\xc2\xbe\x64\xb4\xb1\x8b\xd7\x55\xc8\x4f\x36\x9f\x50\xf2\x82\x14\xa0\x53\xb8\xbc\x8e\xbb\x17\xe7\x15\xdc\x30\xdd\xc1\xbc\xc8\xbe\x28\xe5\x5b\x32\x64\x97\x93\x3e\x57\xd0\x5d\xe2\xa9\xdd\x6b\xa3\xb3\xc5\x9f\xd3\xbd\x98\x63\x2e\x83\x66\x0a\x3a\x79\xe0\x50\xf2\x3b\x13\x97\x97\x83\x42\x92\x70\x20\x83\xfd\xa1\xac\xc3\x36\x5b\x52\xb7\x2e\x87\xa5\x21\x23\xae\xe8\x4c\xc0\x7e\xe0\x46\xfc\xf0\xe9\x4f\xe3\x4a\xa5\xc2\xeb\xc8\xaa\xc2\x24\x2d\xa4\x01\x1e\xb7\x78\x6f\x50\x0e\xd0\x8d\xa4\x10\x91\x61\x10\x1b\xd0\x5f\xca\x82\x14\xae\xf5\x02\x98\x85\x62\x74\x38\xe1\xe8\xfa\x38\x05\x12\x89\xc5\xa1\xd1\x1b\x42\x8e\xa7\x51\x2c\x40\x2d\xc4\xb5\x32\xe9\x17\x18\x12\xb8\x97\x15\x38\x8c\xd1\x30\xb4\xfc\x98\x14\x01\x3e\xa3\xf0\xf9\xfe\x55\xb5\x50\x2a\x93\x22\x00\x69\xb0\x3f\x1d\xf8\xf3\xf2\x0c\xff\xa2\x12\xd7\x82\x11\x2b\x36\x2e\x79\xa9\x41\xa1\x84\xa6\x59\x2f\x40\xdd\x71\x9a\x72\xf8\x62\x27\xb3\xb0\xfd\xba\x71\x24\xb1\x43\x24\xa9\x04\x43\x83\xb5\x90\x51\xae\xcd\xc2\xc2\x28\x66\x71\x68\x5e\x93\xea\x7d\xc1\xb4\xa1\xc0\xb2\x55\x2c\xe4\x55\xdd\x44\x6e\x16\x26\x2e\xe7\x15\x8b\x5d\xd4\xf9\xbb\xf2\xa7\x64\x0d\xe3\xaa\xfe\x92\x7d\x9f\x4b\x5c\x7e\x30\x8b\x0f\x0f\xd6\x52\x9d\x64\x1d\x8a\x5e\x4d\x42\x3d\xf6\xef\x82\x5b\x9e\xf3\x43\xf8\x6a\xc4\x01\xe9\x9e\xad\x77\xce\x44\x19\xe5\xf6\xc4\xe4\x67\xaa\xc1\x6a\xc0\xdb\x19\x7a\xbf\x45\xae\x47\xfd\x04\x91\x23\xdf\x62\xcd\xee\x11\xe7\xdd\xf6\x59\xea\x25\xd8\x16\x70\xb5\xb1\xe2\x57\x6b\xf3\x1c\x67\x9b\x25\xf2\x4f\x94\x72\x48\xb7\x47\xa0\x72\xb1\xdd\x39\x33\x79\x5e\x44\x34\xc6\x62\x67\xf8\x94\x29\xcc\x48\xea\x45\x9a\xd3\xad\x57\x05\xe1\xc6\x34\x0e\xc6\x80\x3d\x7b\x4e\x67\x90\xe6\xab\x78\x7a\x9e\x47\x9e\x15\x6e\x5a\x61\xe8\x5a\x43\x8a\x01\x19\xe6\x66\x72\xf6\x22\xe1\x80\x99\xda\x2a\x55\xc6\xc2\x04\x9e\xc9\x9d\x08\xb6\x9e\x2c\x58\x2e\x9b\xf4\x90\x5f\xe1\x94\xd9\x4f\xa3\xed\x2c\x9b\x6f\x0c\xdb\x5e\x3f\x68\x35\x3b\xdd\xde\xa2\x79\x3b\x68\x35\x97\x4e\x9b\x78\x8b\x95\x31\x71\x58\xa2\x56\x2d\x69\x8e\xa7\xb5\xd7\x88\xa2\xd5\x6a\x36\x4f\xce\x34\x73\x42\xd6\xe5\x78\x32\xf1\xb8\x73\x61\x53\x84\x6e\x40\x83\xb9\x6e\x82\x1b\x09\xf1\x8b\xd3\x33\xc5\x6c\x83\x61\x7d\x39\x70\x62\xaa\x1d\x27\x33\xe5\x88\x9e\x8a\x0f\x8b\x6f\x48\x6d\x83\x9d\xfd\x3b\xd5\x92\xe2\xed\xa4\x57\xb1\x3d\x6a\x85\x6f\x83\x31\x2d\x2a\x68\xa5\x19\xaa\xd7\xbd\x2e\xb8\xa4\x76\xe8\x10\x20\x9b\xa7\x9e\x57\x16\x99\xb3\xb1\xca\x8f\xbc\x31\x6e\xc9\x31\x76\x9b\xe7\x66\x0e\x46\x34\xee\x50\xc8\x27\x75\xed\x3a\x34\x50\x64\xd4\x48\x71\x5b\x52\xbc\xc8\xa5\x77\x11\xba\x43\xd7\x4f\x2d\x2c\x23\xb5\x97\x92\x5a\xe3\x7d\x2e\xb9\xf7\xa1\x35\x41\x7f\xec\x65\xe4\x6a\xf5\xd7\xc2\x49\x33\x8c\x11\x6b\x4a\x05\xbb\xd4\x67\x58\x01\x93\x2a\xe5\x33\x1f\x85\x69\x9f\x91\x5a\xd6\x7a\x3d\xe1\x76\xaf\xd9\xca\x1d\x0e\x52\xbc\x46\xcc\x93\x65\x34\x37\xaa\x7c\x44\xa3\x60\xc6\x3d\x93\xfb\x56\x98\x47\xba\x2b\x0a\xac\x48\x7d\x93\x53\x6f\x00\x6e\xd8\x4e\x95\xac\x81\xd0\x16\xf9\x9a\x28\xc1\xe6\x62\x6c\x6c\x01\xda\xde\xe2\x55\xb7\xc9\x99\xc4\x65\x6e\x6d\x26\x27\x37\xbf\xb1\x44\x44\x57\x17\x85\x6d\x2e\x5a\xfb\x96\x7d\x6b\x85\x61\x30\xc3\xc8\x07\xea\x3b\x11\x18\x6c\x30\xf3\x3a\x1b\xe9\xfe\xc9\x59\x69\xf1\xde\x22\xcb\x77\x59\xf5\x7d\x59\x7b\xd9\x58\x6b\xd5\x6a\xf5\xb5\xea\xe0\x19\x08\x17\x42\x70\x44\x94\x38\x1a\x49\xdb\x7a\x98\x4b\x51\xd1\x15\xc4\xa6\x92\xf5\x58\x46\x88\x8d\xd7\x8b\x42\x49\x76\xcd\x6c\x9d\xfb\x36\xb8\x68\x43\x06\x97\x05\x5e\xed\xb5\x6a\xb5\xbe\x70\x1c\xf0\xf2\x15\x5a\xc3\xe8\x67\xc7\x02\xde\xd7\x7f\xed\x50\x6a\x62\x45\xc1\x5a\x01\xd3\x5c\x10\xc7\xc1\x18\xdc\x25\xe3\x39\x09\xa6\xf1\x64\x1a\x9b\x5b\x81\x2a\x17\xfe\x05\x14\x59\x61\xfa\x6b\xb5\xfc\xb6\x98\x38\x82\x93\xf5\xc2\xa6\x4e\xe8\x3c\x8a\xc3\xe0\x76\x15\x61\xdb\xe0\x7b\x33\x93\x52\x00\x7c\x03\xdf\x16\x08\xc3\xe1\xaf\x1c\xec\x0e\x79\x4b\xe7\x8b\xa5\x7d\x4c\x63\x0b\x04\xbd\x85\x5e\x29\x2b\x34\xfc\xca\xd4\x70\xc3\x8b\xcd\xed\x62\x84\xbc\xd4\x05\x92\x0f\x9f\xe7\xf4\x88\x5d\x0c\xdc\x60\x1a\x35\xbc\x18\x3a\xf6\x7e\x64\xc5\x5f\x75\x27\xea\xc7\xd4\x94\xd8\x5c\x4b\x2a\x5b\x4a\xa5\xdd\xe5\x6d\xa9\xc5\xc1\x1c\x06\xec\x2b\xa8\xee\xd6\xfc\xbf\x29\xdd\xef\x09\x03\x5e\xa9\x0b\xcf\x56\x18\xa3\xb1\xa5\x3c\x5d\x64\x19\x5b\x25\x08\x06\x59\xa4\x93\x6c\xf2\x9d\xf9\x2a\xa2\x4c\x46\x68\x08\xd1\x58\x5d\x3b\xa4\xd4\x27\xfb\xe0\x83\xac\x0a\xd7\xe6\xcb\xd7\x79\x87\x82\xac\xbd\x8a\xaa\x51\xab\x6e\xee\xbc\x96\x48\x4f\x02\x8f\xd2\x8a\x34\x9c\x27\xd9\x8c\x12\xa5\x28\x03\x8a\x35\x5a\x5c\xe4\x59\xff\xc8\x0b\x20\xce\x34\x70\xa6\xcf\x55\x16\x89\x79\x2e\x71\x33\xc7\x97\x0c\xd2\xa8\x4f\x26\xd4\x32\x6f\x8a\x4f\x21\xae\x76\x96\x47\xef\x16\xb3\xef\xbf\x59\x65\xa8\x5a\xdd\xe4\x27\x70\x68\xd9\xb7\x94\xdd\x57\x26\x56\xc4\x2f\x1b\x95\xbc\x29\x95\x85\x2f\x59\xd9\x05\x73\x9a\xf2\xda\x5c\x6e\xd4\x59\x7c\x95\x52\x6f\x43\x86\x1b\x15\xd1\xdd\x0e\x95\xeb\x95\x44\xc8\x89\x46\x56\x88\x28\x90\x06\x1f\x19\x76\x40\x66\x9c\xfc\x10\x80\x11\x73\x7b\x98\xef\xc3\xdc\x5e\xa2\x3b\x17\xfe\x50\x31\xe4\x3d\x2f\x09\x53\x35\xb4\xcb\xb1\xda\xf0\x36\x67\x09\x30\x04\x15\xce\x80\xa3\xb9\xdb\xde\xd4\xe1\x49\x75\xd3\x6e\x6d\xec\xb3\x66\x15\x86\xd0\xac\x91\x88\x42\x8a\x44\xf0\x69\x01\x77\x37\x01\xc1\x09\x1e\x71\xec\x8e\x0f\x9e\x2c\x15\x42\x7a\x02\xe9\x57\x00\xf6\x8a\x9b\x67\xb3\xc6\x31\x74\x01\xb6\x9d\xdb\x1f\xf0\xc9\x9f\x11\x91\xa3\x67\x27\x89\x2d\x47\xa8\x3e\x65\xa2\xbd\x6a\xec\xd3\x71\xe0\xbb\x36\xc6\x11\x81\x63\x79\x24\x2d\xa8\x96\x78\x4e\x4c\x70\xab\x25\x34\x1d\x37\xa9\x21\x07\xd9\xcd\x97\xa0\x4d\x4d\xe0\x0d\x3b\x89\x4f\x13\x66\x1b\x18\x00\xee\x98\x8f\xee\xf1\x4a\x8f\x2d\x7f\xce\x07\xc5\x68\x49\xd7\x76\x47\x82\xd1\xa7\xbd\x78\x9a\xcd\x1a\xd9\x5b\x30\x85\x12\xe4\x18\x91\xc0\x42\xca\x7b\x9c\x08\x8d\x7c\x4b\x85\x37\xc4\x16\x6c\x5b\x6a\x0b\x8c\x69\x8b\x5a\x68\x76\xdb\xa4\xb8\xc0\x95\xa9\x94\xc5\xdb\x47\xbc\xd9\xa4\x0b\x7d\x3a\x74\x7d\x6c\x1f\x1e\xa0\x3f\x15\xd0\x6a\x38\xb6\xe6\x24\xb6\x6e\x29\x02\xd8\x04\xfc\x21\x55\x45\x05\xd7\x58\xd1\x6d\x2f\xec\xe8\x45\xb7\x49\x8a\x17\x98\x97\xc0\x1f\x12\xf4\x2d\x24\xd2\x1a\xfa\xe8\x5e\x7e\x29\x94\xc9\x20\x60\xd7\x16\x91\x2d\x42\x5a\xd9\x79\x04\x26\x60\x81\x60\x7a\xaa\x50\x01\x1a\x8f\xb1\x3c\x0f\xe7\xed\xf6\xd8\xc8\xf6\x5b\xa7\xa9\xe1\x5c\x2c\xe1\x3b\x18\xe8\x33\x9d\x7e\xcf\x14\x25\xd7\xc7\x6f\xd1\x3d\x98\x67\x3b\xd7\x73\x1b\xb8\x11\xbb\xab\xa6\xb7\x07\xa8\xa5\x37\x7a\x3e\xf5\x3c\x52\x3c\xbf\x3a\x95\x4f\xff\xdd\xc5\x26\xb7\x66\xb3\xf6\xa9\xf0\xf9\xbe\x5a\x2d\x7c\x21\x19\x93\xb9\x1a\x17\xf1\x7d\xea\x86\x73\x52\x6c\x9d\xbf\x4b\xbc\x0a\x42\xcb\x8f\xc6\x00\xbe\x1a\xcd\x68\x08\x2f\xee\x63\x1a\x45\xd6\x90\xaa\xab\x55\x3c\x72\x67\x4b\xb1\xa1\x43\x6c\x3d\x78\x25\xf8\x08\x4d\xc2\xd9\x0f\x70\x98\x33\x0a\x21\xd8\xc9\x0e\x89\x27\x86\x79\x08\x5b\x8b\x87\xd0\x61\x73\x2a\x5d\x24\x4a\x39\x44\x5e\x02\x11\x13\x1c\x43\x82\x61\xe1\xfa\x43\x46\x27\xe5\x60\x9e\xdc\x0b\x8b\xfb\x5d\xc9\xa3\xb3\xe0\x4e\x03\xc0\xe6\xfb\x13\x26\x49\xf0\x55\x60\x1a\x81\xc4\x52\x16\x69\x97\x11\x42\xd2\x92\x8e\x17\x50\x67\x6c\x85\x43\xd7\x2f\x33\xce\x61\x00\x2d\x9c\xb6\x7e\x00\x00\x93\x4c\xd4\x6c\xd6\x50\xce\xe0\x76\x96\x0f\x0e\xbb\x79\x4a\x07\x71\xda\x4f\xe5\x6d\x10\xba\x0f\x81\x1f\x5b\x1e\xe9\x59\x7d\x52\x7c\xdb\x5b\x36\x48\x78\xea\x8e\xad\x3e\x89\xe2\x60\x82\x88\x33\xf8\x05\x3a\xbe\xe2\x50\xd8\xd1\xed\x07\x64\x30\x0d\x11\x7e\xf8\x57\x59\x23\x92\xd1\xaf\x00\x8c\x85\x3e\x61\x9e\xeb\xa7\xdf\xb8\xc4\xe8\x5e\x2d\x1f\xdd\x20\x08\x67\x56\xe8\xf4\xac\x7e\x37\x0e\x26\xa9\x09\x3c\x75\x7d\x4a\x0e\x29\x75\x48\xf1\xf4\xb0\xa4\x1d\x90\x60\x0a\xb6\xad\x69\x04\x57\x19\xb0\xfc\x0e\x58\x41\xc8\xa0\x85\x30\xfd\xbe\x92\x45\xa5\x42\xc0\xeb\x53\x9a\x8b\x61\x65\xaa\x16\xe3\x9c\x11\x58\x2b\x8d\x60\xcc\xfa\x98\xea\xfb\x35\x0d\x63\xd7\x16\x53\x73\x9d\x4c\x8d\x8c\x1e\xc4\x98\xf3\xd3\xc3\x9c\xa6\xfb\xfa\xe2\x51\x7a\xa4\xe8\x3a\x41\x38\xe6\x0c\x3a\x3c\x7c\x74\x0b\xf6\x0a\x2d\x08\x7b\xb9\x40\x30\x2a\x36\x3b\xba\x90\x19\x56\x11\x17\xa3\x40\xf7\x19\x5c\x20\x27\xce\x72\x2e\x4b\x33\x1d\x9a\xb8\x8a\xd5\xd4\x43\xca\xc8\x1d\xc4\xe4\x62\x1a\x93\x62\xf7\xa2\x54\x26\xd6\xad\x45\x4e\x03\xfb\x96\x7f\x51\x25\xc5\xd3\x6e\xad\xa4\x1b\xd4\xc9\x51\x2d\x95\x74\xc3\xf5\xc9\x51\xfa\x18\x11\x7d\xa4\xb9\x7d\xe4\x20\x2b\xb5\x82\xa1\x47\x6d\x9f\x14\xbb\xed\x9c\x0e\x55\x33\x1d\xaa\x3e\xa2\x43\x83\x65\x1d\xaa\xea\x1d\x92\x67\xc3\x85\x4f\x8a\x1f\x2e\xce\x65\xe3\xe7\x41\x2c\x26\x89\x1d\x4a\x89\x0e\x2e\x17\x9c\x06\xf8\xd1\x16\x05\xde\x18\xfb\x55\xab\x2d\xde\xf4\x93\x6e\x0c\x06\xac\x1f\x8a\xdc\xfe\xc9\x1d\xd9\x58\xdc\x91\xa6\xe5\xdb\xd4\x23\xc5\x66\x23\x61\x45\x7b\x40\x60\x6b\x73\xa6\x18\x64\x28\x35\xf8\xc4\xa3\x42\xf5\xaf\x80\xc8\xff\xf1\x98\x3a\xae\x15\x53\x6f\xae\xe8\x27\xcf\x78\x4a\x57\xa6\x9e\xd2\x7b\x6a\x4f\x95\x51\xb4\x63\x84\x4a\xe1\xbb\x17\xbc\xe8\x86\x61\xa0\x38\x7c\x72\xf7\x34\x1e\x45\x9c\xa7\x21\xd4\x52\x87\x47\xda\x5f\x40\xbe\x2e\xdf\x51\x02\x10\x32\x52\xa9\xcf\x48\x7e\x19\x0b\xb0\x03\x0e\xb4\x01\xf0\x7c\x0f\x44\xe2\x9e\x44\x61\xc8\xe0\x81\xcb\x5b\x1e\x93\x39\x5c\x05\x5a\x12\x7a\x0d\x80\xe8\xc7\x6a\x3e\x20\xfa\xc2\xc7\x08\x84\xc2\x9b\x42\x6a\xc1\x4f\xfb\x51\xec\xc6\xd3\x98\x92\x62\xf7\x6a\x3f\x6f\xef\x6b\x36\xce\x73\x98\x67\x19\x37\x3f\xc6\x53\x45\xc7\xc2\x0b\x62\xb1\xd5\x6d\xe6\x1c\x10\xb5\xfe\xe2\x39\x48\x42\x75\xd8\x17\xad\x6e\x33\x53\xc2\x1c\x19\xa0\xc0\xcf\x15\x55\xd7\x2c\xee\x22\x8f\x2e\x5b\x9a\x77\x92\x1a\xea\x9c\xb8\xdb\xb6\xba\xcd\x1c\x77\x5b\xa4\xa7\x34\x29\xc2\x9a\x45\x4f\x4b\x39\xde\x51\x26\xbf\xda\xb4\x7b\x0f\x8f\xed\x16\xa4\x52\xd1\xb1\xe0\x40\x5a\x3c\xc8\x55\xf9\x5e\x0e\xf2\x56\xee\x3a\xd9\x21\xe6\x44\x3a\x02\xa9\xd9\x0d\x8d\x09\x6d\xca\x98\x01\xa2\x52\xa9\x28\x51\xfc\x0e\xbd\x27\xc5\xf6\xf9\x81\x14\x9e\x53\xf7\x96\xe9\x48\xa0\x16\x94\xf1\xf2\x79\x2b\x20\x69\x3e\x48\x75\xd0\xd8\xe7\x9d\x4d\xd6\x67\xed\xd6\xf7\xa9\x70\xb0\xfc\x5c\x63\x4d\x19\xb4\x07\xf0\xbc\x07\xf5\xa7\x78\xde\x3a\xcd\xe9\x60\x7f\x1a\x13\x27\xa0\x91\x5f\x88\x89\xe5\x38\x70\xc2\xe6\x28\x9a\x3b\x5b\x86\xee\xb5\x9e\x76\xec\x9a\x15\xd4\x83\x60\xe6\x2f\x56\x50\xa7\x1e\x06\xd6\x74\x69\xcc\x74\xd5\x6e\xce\xec\xef\xec\x18\xba\xfa\x76\xa5\xae\x0a\x2d\x52\xff\x62\x98\x1a\x43\x29\x1d\x86\x0a\x0f\x59\x42\x1e\x3a\x6d\x5d\xbf\x99\x4e\xe0\x56\x90\xaf\xbd\xec\x38\x86\xfe\x9e\xad\x70\x69\xc1\x76\x4f\xcd\x02\xd0\x45\xc3\x10\x6a\x0b\x75\x52\xec\x76\xeb\xc9\x05\x12\x73\x6c\x04\x03\x72\x54\x27\x32\x4f\x09\xf0\x55\x8f\xbd\x4b\x92\xb5\x28\x88\xc6\x0b\x4f\x59\xc3\xf0\xa8\x61\x78\xe7\x8b\x8f\x56\xad\xf3\x1b\xac\xf3\x1b\xa6\xce\x6f\xfc\xf5\x9d\x1f\x18\x3a\x7f\xb1\xb8\xf3\x07\xf4\xce\xb5\x69\x12\x5c\x86\xa6\x87\xe2\x41\xb3\xab\x1c\x32\x1c\x8e\xc5\x22\x07\xcd\x6e\xe2\xa9\x8d\x97\x0c\x24\xb0\x26\x08\x08\x21\x00\xbb\xf6\xa7\x0f\xbd\x56\xe7\x0c\x80\xeb\x1e\xab\xee\x34\x03\x3f\x72\x1d\x1a\x26\x25\x59\xbf\x0e\x5a\xcd\xce\xbb\x6e\xb7\x2c\x70\x46\x62\x11\xcd\x4c\xe9\x98\x70\x17\x8c\xbe\x97\x23\xba\xaf\xaa\x06\xf6\x5c\x2e\x3e\xd1\x72\x83\x0b\x32\x0e\x9c\x19\x80\x0f\xb3\xf3\xee\x6e\x2a\x91\x74\x88\xc2\x31\xb5\x42\x87\x3a\xa4\x11\x52\x8b\x14\xbb\x97\x0d\xc9\xfc\xf7\xae\xe7\x81\x5e\x25\xf9\x90\x33\xb8\x6d\xc3\xe0\xae\x97\x19\x55\x9c\x6c\xe3\xad\xa7\x34\xfe\xd2\xd0\xf8\xfb\x25\xab\x46\x8c\x5d\x88\x5c\xf7\xa2\xfb\xf8\x86\x4d\xbb\xe7\x87\x95\x96\x6b\xb2\x18\x95\x38\xca\x62\xb7\xd9\x2e\xa3\xbe\x7a\xd0\x6a\xb6\x93\xb3\x92\xdf\x07\x65\x42\xce\xf6\x41\x85\x90\x8b\x7e\x14\xc0\xe9\xce\x2e\xc5\x6c\x28\x68\x8e\x24\x76\x81\x14\x0f\x1a\x39\x1b\xfe\x2b\xcb\xd0\xe5\x9b\xe5\x1b\xa8\x0e\xd5\x83\x50\x45\x6f\x6a\xbb\x75\x3b\xa5\x2a\x2e\x0a\x13\x2d\x36\xbb\x6d\x2d\x26\xc7\xa3\x16\xcf\x6e\x39\x0e\xa2\x2c\x0e\x00\x5f\xe2\x10\x3d\x9a\x33\x9a\xbe\x61\x34\x9f\x7e\x6a\x4d\x99\xe3\xbb\x44\xa4\x44\x4e\x34\x97\xf8\x7a\xd1\x82\x6c\x76\xdb\xe9\xe5\x67\x88\x6a\x92\xfc\xb9\xe2\xee\xa4\xf2\x9a\xc3\x76\xbf\xf5\x8b\x6e\x73\xfd\xf2\x6c\xbd\x71\xd9\x24\x76\x30\x1e\x5b\xbe\x13\x71\x43\x98\x34\x3f\x0b\xcc\x16\xd5\xf0\xfc\x8c\x67\xc7\x82\xdd\x4a\xe4\x02\x15\x9e\xaa\x6e\xcc\x7d\x66\xad\x08\x5d\x5f\x93\x87\x00\xad\xfd\x40\x58\xa8\xd2\x13\x04\x60\x37\x0b\x36\x9d\x02\x4f\x41\x97\x33\x87\xb6\x61\x0e\x3f\x7f\x5e\xbc\x8a\x0c\x96\x71\xe0\x06\xf8\xc8\x96\x92\x54\xb9\x9c\x45\x21\xf5\xb0\x34\xb7\x9c\x04\xb2\x3a\x66\x02\xcc\xe9\x99\x49\xd9\xf8\xf2\x13\xd2\x95\xb9\xa3\x5c\x18\xef\x28\x89\x33\xc0\x02\xa6\xaa\xf5\xb4\xb8\x4f\x25\xd8\x4d\x5e\x9d\x67\x56\x3a\x0a\x41\xf5\xa8\x95\x0f\x99\x8b\x2e\x29\x8c\xaf\x6a\x33\xef\xa5\xf3\xb3\xc3\x54\x36\x11\x90\xa5\x04\xf1\xcd\x69\xbc\xa0\x2d\x49\x82\x55\xaf\xc8\xbb\x99\x15\xce\xb3\xc1\x4c\x9f\xaa\x5f\x2a\x00\x94\x57\x5c\xff\x47\xf1\xb3\xf3\xa2\xb4\x5b\xac\xfc\x5a\xfa\xcf\x75\xfe\x38\x89\x01\x1e\xf3\xa4\x7b\xd9\xea\x64\x8f\x51\xfe\x54\xff\xa2\x39\xd0\x24\x57\xb7\x0b\xb8\xba\xb1\x22\xb5\x2f\x06\x38\x81\xd4\x53\xb2\x19\x24\xe7\xa2\xdb\x34\xfa\xc4\x67\x7b\x53\x2a\x29\x98\x52\x8b\xae\x73\x17\xa9\xeb\x1c\xbc\xd1\xda\x73\x72\xc6\x1f\x10\x8a\x97\x67\x8f\x3f\xb4\x4c\x3a\xe6\x3f\xfe\x95\x7a\x48\x23\x71\x5e\x25\x97\x3c\x1f\x9e\x38\x47\x8a\x8d\xcb\xe6\xe3\x87\x68\xd2\x44\xbf\xfe\x2b\x87\x08\x91\xaa\xf7\xf5\x2a\x59\x23\x57\x3e\xf8\x29\x40\xf6\x30\x00\xe0\x41\x50\x94\x88\x92\x00\x1c\x47\xad\x98\x3a\x90\x23\x29\x72\xfb\x90\x31\x15\xdf\x88\x96\x2a\xe5\xaf\x31\xc6\x51\xb6\x74\x48\xd6\x84\xfe\xff\x92\x28\x30\x3b\xf8\xf8\xac\xb8\x37\x47\xa4\xd8\x7d\xd9\xac\xe1\xd1\xa3\x52\x38\x4a\x28\xec\x2c\xa5\xb0\xa3\x50\xd0\x7e\xce\xf7\x01\xb7\x38\xe9\xb3\x15\x45\xd3\x31\x25\xd0\x26\xb1\xbc\x99\x35\x8f\xf2\x27\x38\x3d\xaa\x53\xe8\x53\x8c\xce\xdf\x76\x80\x10\x12\x6c\x8b\xf3\xe8\x1d\xf5\x48\x2d\x3d\x86\xb3\xc5\xe5\xeb\xe9\xf2\xe7\x8b\xcb\x6f\x64\xdf\x9b\x99\xc0\xd5\xab\x2b\x0b\x17\x97\x9e\xdc\xa2\x2b\x99\xa8\x56\xf3\xf9\x58\xe4\xf1\x21\x8e\x86\xd7\x30\xf4\x2a\x1b\x3a\xb8\x7c\x8c\x56\x45\x93\x80\x9d\xeb\x87\x96\xd7\x0c\x15\xd0\xff\x28\xe8\x0f\xbd\x69\x6e\xfd\xc7\xbf\x86\x55\xdc\x98\xb7\x53\x28\x09\x2f\x65\xe1\x74\xd5\xf0\xdc\xa1\x0f\xd9\x67\x7a\xec\x4a\x57\x3c\x68\x35\x1b\xa7\xe7\x66\xa7\xd8\x81\xeb\x79\xc5\x42\x4b\x46\x70\x3e\x9e\x4d\x34\x72\x87\xa0\x4e\x5d\xc0\x4b\x77\x13\x51\xb7\xb8\x16\x53\x3c\xb8\x68\x66\x4c\x35\xc0\xb5\xff\xef\x7f\x96\x6b\xe2\x88\x96\x36\x6d\x91\x68\x51\x81\x0a\xe3\xf0\x4c\x00\x12\x4e\x79\x50\x3a\x66\xbb\x61\x8a\x18\x1e\xf9\x29\xf8\x10\x03\xbc\x59\x49\xc3\x8c\xe0\xb3\xb4\x5e\x48\xfc\x96\x16\x4f\xed\x8a\xf0\x14\x79\x2a\xc8\x65\x18\xd8\x34\x8a\x74\x08\xb4\x90\x89\x6f\xc4\x13\x73\xcb\x60\x0d\x5b\x01\x81\x40\x90\xb7\xbf\x4b\x80\x37\x74\xac\x93\x39\x60\x5b\xcd\xb3\x06\xd9\xd8\xaa\xa4\x5c\xc9\x12\x98\xbe\x62\x02\x81\xa7\x38\x9c\xa9\x0e\x5e\xa2\x8d\xa3\xbc\x36\x04\x20\x63\x6e\x0b\x1c\x0e\x72\x31\xf9\x75\x9d\xfc\x85\xcf\x74\xc5\x39\x89\x43\xcb\xe7\x89\x51\xe2\x00\x40\x7b\x10\x6c\x8d\x69\x41\x49\x9b\x2b\xac\xbc\x3c\x06\x6a\x03\x44\x7f\x48\x80\x6f\x3c\x95\xbb\x78\xaa\xd8\x5b\x43\xb1\x7a\xb6\x58\xdb\x50\x6c\xa3\xa2\xb9\x82\x62\x28\x2f\x60\xb6\x43\x16\x69\x2c\x0a\xdb\x7b\x64\x80\x70\x5e\xc0\x5c\x81\x28\x58\xda\xd5\x4a\xeb\x7c\x26\x59\x6f\x3d\xfc\x59\xc5\x67\x8f\x0f\xcd\x18\x2f\xca\xf6\xda\xff\x8f\xac\xcb\x8b\x9e\x39\x1e\x73\x54\x32\xf7\x4e\xfc\xf9\x23\x47\x3c\x32\x5d\x5e\xad\xbb\x8b\xba\xfa\x88\x8e\x2a\x9d\xcc\x06\x7f\xaf\xb6\xd1\xea\xd6\x4e\x54\x63\x98\x3c\x17\xbb\x8a\x6d\x11\x0f\xfe\x22\xb9\x8c\xf8\xb1\x9f\x79\x14\x2e\x5e\xf7\x6a\xd5\xaa\xaa\x1a\x95\x94\xd2\xe9\x37\xed\xe2\x75\xaf\x5e\xd7\x4a\xff\xaa\x94\xae\x2f\x2d\xfd\x42\x29\xbd\xb1\xb4\xf4\xda\xe2\x9e\x6c\xe8\xfd\xae\x2c\xee\x49\xaa\xf4\xfa\xe2\x9e\x88\xd2\xa0\xbe\x7b\x9e\xd1\x6d\x8b\xda\xa3\x20\x0b\xea\x67\x3a\xdc\x8a\x06\x75\xbd\x64\xf8\xec\x57\xc3\x67\x2f\x0c\x9f\xad\x19\x3e\xab\x18\x3e\x5b\xcf\x3b\x54\x31\x7e\xf4\x7f\x44\x21\xe1\xc8\x12\x86\xab\xeb\xa2\xd3\x2c\xd5\xa9\x85\xc7\x1c\xa4\x39\xb1\x26\x0b\x33\xd9\x48\xbd\x8f\xf5\x8c\x15\x7e\xbe\xb7\x47\x64\x2e\xc3\xd4\x19\xcd\x03\x43\x0b\xc5\x42\xc6\xb7\x1b\x92\xf6\x8c\xad\xc9\x6e\xd6\xd9\x5f\x56\x2b\x15\xc8\x1f\x7f\x10\xf9\xe7\x9a\x81\x4a\x6d\x39\x95\x5f\x75\x2a\x15\x03\x95\xfa\x72\x2a\x2f\x74\x2a\xeb\x06\x2a\x1b\x29\x2a\xcf\x88\x21\x88\x21\x37\x80\x35\x85\xab\x21\x6c\x05\xfa\x82\x02\x60\x5d\xe1\x71\x4d\x5e\x90\x02\xc7\xd4\x95\xb3\xf2\xd4\x4d\x70\xdf\xb2\x6f\xc5\x5b\xdb\x41\xab\xb9\x9f\x98\x5f\xaf\x7b\x9b\x75\xf4\x6a\x9e\x4e\x2a\x64\xe5\xa7\x1e\x58\x36\xdb\x4b\x2c\xdc\xd6\x1d\x25\x3c\x0a\xb5\x08\xb1\x05\x46\x8d\x36\xdf\xd5\xd0\x14\x20\xa0\xa7\x12\x85\x7c\x5b\x4a\x13\x1d\x73\x13\xf9\x0e\x7f\x39\x6e\xfd\x3f\x34\x6f\xaf\x99\x15\x3a\x0a\xf7\x0e\x55\xee\xd5\x6b\x4f\xe5\xde\xab\xc5\xdc\x53\x8d\x21\xb7\x74\x3e\xb1\x1c\x68\xfc\xe4\xb2\x91\xf1\x9b\x03\x72\x7b\xcb\x6d\xf7\xa6\x28\xe1\x13\x24\xbd\x97\x45\xe3\x38\x67\x37\x5e\x4f\x6f\x3b\xeb\xb3\x07\x6d\xff\xfe\x93\x6d\x73\x78\x13\xf5\xd4\x96\x0e\x6e\x5e\x30\xa3\x21\xba\xb8\xd9\x41\xe8\x63\x2a\xa1\x08\x6e\x6c\x8b\xcd\x41\xcf\x94\x8c\xf9\x3c\x09\x89\x1d\x0c\x7d\xf7\x01\x1d\x99\xd1\xe1\x56\xe2\x1e\x8f\x26\xa7\xac\x21\xd6\xce\xfe\x74\xd8\x0c\xc6\x13\x2b\x26\x21\xe5\x9e\xef\x6e\x84\xf6\xee\xb4\x9d\x09\x46\x7f\xb8\x78\x22\x0f\xa7\x9e\xc7\xd3\xde\x16\x3b\x6d\xf3\xad\xce\xce\x65\xa0\x82\x13\x9a\x7e\xc9\xe6\x5f\x28\x5c\x3b\xa3\xe3\x20\x9c\xc3\x1d\x6d\x7d\xea\xb3\xff\xac\x6c\x31\x83\x6e\x78\x86\xb3\x71\xbc\x78\x74\x8a\x7b\x5d\x9d\x14\x4f\xbb\xf5\x92\xee\x5d\x07\x8e\x4f\xe9\x07\x73\x2b\xca\x7a\xd8\x41\x63\xfe\x32\xf7\xba\xba\xee\x5e\xa7\xb4\xbe\xc1\x5a\xdf\x30\xb5\x9e\x7e\xf1\xce\x6d\x3d\x58\xd6\xfa\x46\x6e\xeb\xf5\x32\xe9\x80\x37\x2f\xeb\x44\x67\xd5\x5e\x74\x4c\xbd\xf8\x23\xbf\x17\x9d\x47\xf4\xa2\x6e\xec\x85\x69\x26\x8c\xbd\xf8\xb1\xac\x17\xf9\x33\x51\x53\x7a\x51\x33\xf6\xa2\xb6\x6a\x2f\xfe\x7b\x59\x2f\x52\xfe\x9f\x18\x7f\x4d\x5c\x3b\xf0\x11\x41\x9f\x6d\xcd\x33\xd7\x77\x82\x19\x89\xdd\xd8\xa3\xca\x23\x18\xec\x09\x08\x93\x07\xbd\x4a\x17\xd3\xa3\x1a\x3e\x15\x96\x98\xf6\x0c\x28\x08\x8c\x5e\x8f\x91\x33\x99\xfe\x4d\xfd\x5e\xd6\x85\xba\xbe\x16\x45\xb7\x34\x94\x8b\xf5\x90\x5a\x0e\xb1\x03\x2f\x08\xc9\xc4\xf2\x68\x1c\x1b\x49\x6d\x2e\x75\x63\x6c\x84\xc3\x88\xd8\xc1\x18\xc2\x13\x20\xd5\x11\x8f\x9b\x2a\x00\x88\x59\x6d\x37\x1c\xf6\x6b\xa4\x52\xa9\x90\x5d\xf8\xe0\x9c\x7d\x70\x5e\x50\x00\x90\xf1\x86\x1d\x4d\x3c\x57\xfa\xad\x47\x74\xec\xb2\xbe\xf9\x1c\x60\x87\x86\x56\x4c\x45\x6a\x00\x0e\x67\xe8\x86\x32\x3f\x9c\x19\xd3\xee\x53\xf5\x4b\x05\xa8\x16\x0b\xbb\xdc\x02\x07\x59\x4b\x2c\x37\x6c\x42\xe6\x65\x25\xcb\xb4\x0a\x1d\xba\x4e\xea\x12\x2d\x0f\x18\x74\x89\xfc\x11\x1a\x71\xbc\x30\x43\xa9\x52\x61\x37\x95\x5e\xb0\x11\x86\xd6\x9c\xa7\xd4\x7f\x46\x40\x8d\x2b\x8a\x1e\x9d\x63\x54\xcd\x1e\xa9\xee\xaa\x7f\xff\x96\x74\x77\x97\xbc\x78\x91\x7c\xa3\xdd\x20\x58\x9b\xa8\x78\xa4\x86\xf4\x49\x21\xf5\x2b\xa9\x0b\xd4\x34\x59\x09\xd2\x58\xc3\x63\x57\xa6\x2c\x79\x41\x34\x10\x38\xa5\x91\xdf\xf7\x34\xbe\x08\x48\xb5\x44\x81\x8d\x5d\x7f\x4a\xd3\x75\x79\x5b\x80\xaf\xaa\x3d\x0d\x16\xde\x14\xc8\x98\x5a\x7e\x04\x68\x68\x88\xcf\x8f\x99\xc0\x38\x2c\xa5\xe2\xa8\x8e\x02\xab\x24\xf5\x26\xfa\x40\x3c\xb7\x8f\x53\x10\x55\xc2\x61\xbf\x17\x7c\xa8\xd5\x8a\x6a\x5f\x3f\x25\xc3\x48\x20\xe4\xf4\x2e\x26\xf6\x09\x6d\xde\x10\xaf\x57\xe1\xc2\x0b\x52\xd8\x45\x25\x5c\xd6\x4c\xac\x65\x92\x07\x8a\x3a\x9e\xd7\xd1\xfb\x5a\xad\x17\x34\xbb\xdd\xa2\x46\x29\xbf\x63\x79\xe3\x21\x7b\x4a\x13\xbb\xa6\xa4\x4a\x38\x10\x75\xba\x96\x7a\x6d\x7c\xd9\x84\x41\xea\x14\x30\xf5\xc0\x6e\xa1\xc4\x98\x80\xf0\x4e\xda\x3e\xe5\xf6\x68\x38\xae\x93\x61\x18\xcc\x40\x9d\x70\x07\x5c\x95\x4b\x5b\xf8\x2f\x12\x0d\x77\xd1\x1e\x03\xfa\x19\x18\x8e\x9d\xe9\x78\x22\xcc\xaf\xb1\x1b\x52\x25\xe5\x0c\x40\x74\xca\x78\x2a\xbe\xfd\x41\xe3\xf3\xe2\x3f\x0b\xfd\xc0\x99\x17\x5e\x1b\xb6\x88\x1f\xc6\x2d\x16\xcc\x38\x98\x8f\x60\x10\x84\x74\x88\x98\x1b\xc0\x5e\xd3\x10\x6a\x4b\x76\xfd\x45\xfb\xa4\x08\xe0\xea\x03\x2a\x63\x1c\x5a\xb8\x9d\x41\xc2\x02\x7b\x04\x68\xfc\x3c\x4a\x13\xe2\xf1\x5c\x7f\x88\x04\x2f\xba\x4d\xed\xe5\xe4\x11\x3b\xa1\x02\xf5\x99\x49\x9c\x2a\xf7\x86\x46\x38\xd4\x76\xc1\x0f\xb5\x5a\x8e\xdc\xc2\xe6\x09\x4e\xea\xc5\x92\xa4\x2e\xea\xe4\xe0\x3d\x1d\x4a\xae\x36\x59\xc1\xa4\xf8\xae\x8a\xc1\x98\xc0\x76\xca\xc4\x00\x39\x8f\xf5\xc3\x28\x91\x4a\x5c\x3c\xa9\x19\xaa\x15\xbe\xe4\xc1\x7f\x7d\xc9\xe2\x40\x65\xc5\x80\x6d\x45\x4b\xc5\xa0\xf6\x7f\x62\xf0\x38\x31\xd8\x97\x5c\x35\x89\xc1\x3a\xbc\x5f\xd3\xd7\x1c\x74\x58\xe4\xaf\x65\x43\xae\xd5\x5f\x00\x56\xaf\xc3\x99\xc3\xbd\x92\x2a\x7f\x8d\xf0\xd4\x97\x0b\x0f\x61\xe2\x60\x48\xef\xc4\x63\xb0\xa2\x91\x35\x91\x6a\x65\x02\x7c\xef\x26\x28\x7a\x3c\xb0\x84\x47\x81\x80\x93\xde\x2f\x3c\xc7\x33\xab\xbb\x87\x71\xb7\xbf\x94\xb9\x0f\x00\x0f\xc3\xc5\x2b\x27\x22\x95\xbd\x96\x66\xea\x2a\x59\x23\xfb\xec\x62\x87\x7f\xd6\xc8\x1a\x69\xaf\xed\x53\x6b\x8c\x7f\xd7\xc1\xaf\xc0\xa1\xa1\xe7\xfa\x34\x75\x07\xb6\xe0\xe9\x1e\xb0\x12\x1d\xba\x36\xb0\xec\x38\x20\x91\x48\xe3\xc9\x67\x00\xaf\xc6\xb0\xcb\x93\x3a\xa8\x68\x27\xdc\x6a\x05\x1e\x5e\x10\x60\x03\xf9\xbe\xc0\x9c\x73\xd5\xed\x28\xb1\x54\x60\xcf\xc2\xce\x73\xe9\x16\x09\xd1\xb3\x21\x91\x98\x95\x44\xb2\x2e\xbd\xdc\xb6\x96\xec\xba\x8b\x57\x02\xf7\x10\x52\x59\x5c\xac\x94\xd6\xdd\xd4\xc2\x30\x22\xcb\x35\x41\x49\x61\x17\x65\x04\xc9\x66\x12\xb9\x55\x85\xc6\xd0\x14\x67\xd4\xe4\x49\x16\x98\x50\x3c\x76\x71\xd0\x5d\x3d\x91\x70\x8d\xbf\x4e\xa9\x5d\xac\xbd\xe6\x33\x99\x0b\x0a\xa1\x94\xe6\x59\x8c\x7a\x7a\x34\x00\x7c\x55\xd9\x6f\x35\xce\x16\xa4\xe6\xad\x1b\xda\xae\xbf\x4e\xa4\xe6\x67\x9b\xbf\x3a\x3f\x68\x75\x4e\xdb\xe7\xad\x85\x78\x15\x99\x2e\x54\x5f\xa3\x5c\xff\xf4\xe8\x4f\x2f\x9a\x27\x46\xf8\x3f\xbc\x18\xa1\x9f\x1f\xb1\x3d\x77\x82\xf6\x28\xe9\x59\x6b\x39\x6c\x95\x68\x36\x12\xea\x10\x67\x4a\x31\xed\x9a\x3d\x85\x64\xad\x36\x77\x08\xe7\x5a\x0f\x21\x0d\x12\xd2\x71\x10\x53\x62\x4d\x26\x10\xb6\x3b\xb2\x30\x60\x99\xa7\xc5\xee\x07\xf1\x88\xcc\x42\x97\xa3\x19\x40\x27\xf8\x2a\x90\x9d\x20\x36\x88\x1d\x8d\x22\xa6\xfc\x58\x9e\x37\x07\x4a\xd6\x2d\x45\x44\xfc\x79\x30\x0d\x49\x44\xa3\x28\x05\x00\x91\x10\x70\xac\xd8\x7a\x4a\xca\xca\x67\x90\x75\x29\x27\x19\x21\xae\xc5\xfa\x4f\xdc\x14\x65\x07\x77\xfb\xdb\x9b\x6b\xac\x93\xf2\x7e\x48\xf4\x11\x20\xa5\x89\xba\x7f\x0a\xcf\xd3\x08\x5d\x8f\xd0\xbd\x95\x83\x67\x7c\x48\x6a\x02\xd8\x85\xe5\x38\x21\x8d\xc0\x11\xd5\xf5\x6d\x9e\xe5\x3c\xc1\x65\x75\xfd\x98\x0e\xb9\xa7\x27\x60\x21\x7c\x00\xdc\x7a\x7c\xfc\xc5\xbc\xbf\x9e\xa7\x3d\xfa\xae\xb4\xc5\xfc\xe3\x93\x3d\x89\xaa\xb5\xfa\xc6\xe6\xd6\xf6\xcb\x2f\xbf\x82\x37\xe2\xfa\x0a\xe7\x2f\xcc\xd6\x1e\xbf\xee\x57\xac\x38\xe8\xcb\x7d\x42\x54\x66\x45\x4c\x47\xab\x1d\x4c\xe6\xdc\xc5\x2c\x68\x0a\x16\x68\xd9\x41\xa1\xa6\xae\xfb\x5e\x75\xee\xef\x62\x32\xa1\x21\xe0\x9a\x4e\x3d\x15\x2e\x22\x49\x5d\x23\xdc\xae\x71\x85\x00\xf7\xfb\x73\x12\xde\xdf\xc5\x6b\x53\xdf\x95\xb9\x7d\xdc\x38\xca\x90\x22\x17\x7d\x40\x42\xf2\xe6\x8c\xad\x32\xb5\x1b\x1c\xea\x50\x36\x08\x89\x3d\x8d\xe2\x60\x2c\x6a\x09\x5c\x03\xcf\x85\xd4\xf2\x03\x3a\x03\x47\x66\x08\xf4\x62\xa7\x5e\x24\x00\x55\xc8\xc0\xf5\x1d\x9e\x2a\x48\xf6\x9a\xda\x23\xdf\xb5\xd9\x42\x61\x3d\x0f\x29\xae\x5c\x82\x79\x84\x12\xe4\x5f\x74\x27\xe7\x2d\x92\xa0\x4f\xe7\xe0\x46\xf6\x1b\x7e\x02\x16\xa2\xdf\x77\xc5\x5f\x6c\x06\xca\x64\x1a\x4d\x81\xec\xae\x4c\x5d\xe3\xfc\x6e\x58\x15\x2f\x5f\xbe\x5c\xe5\x88\x9a\x0b\x0d\x6b\xca\xd8\x78\x16\x38\x4b\x74\xb7\x32\xa9\x95\x3e\x55\xbf\x68\x99\xe8\x45\x55\xfd\x08\xc1\xfb\x8f\x9a\x66\xfc\x10\x06\xaf\x7c\x80\x45\x76\xc1\x9a\xb4\xcb\x2f\x50\xfc\x5b\xd6\x25\xf8\xbc\x2c\x6e\x56\x62\xb3\x5e\xea\x77\xfb\xe9\x1f\xbb\x5f\x5e\xec\x16\xd9\x7f\x7e\x2d\x15\x77\x8b\x9f\x3e\x47\x9f\xbb\x5f\x7e\x2d\x95\xde\x48\x3f\x5c\x83\x27\x2e\xc1\xe6\xb8\xfb\x6d\xed\x4b\xf2\xc4\x2f\x30\x30\xf0\x9b\x8d\x2f\x69\xe0\xac\xd4\x75\x0f\xc8\x14\x5e\x8b\xde\x8b\xeb\x1f\xa7\xf2\x63\x15\x90\x24\xb3\x6f\x02\xb0\x99\xcb\xca\x92\xa3\x3e\x0f\x04\x89\x03\xee\x16\xfb\x9e\xe5\xdf\x96\xd4\x38\xc9\x62\xbb\xf9\x36\x13\x88\xd1\x6d\x7f\x2a\xfc\xfd\x31\x46\x45\x17\xe8\x77\x27\x96\xad\x59\x14\x5d\x2b\x1c\x62\x02\xb4\x92\xe9\x0d\xe5\x6a\x42\x8a\xcd\xab\x2b\x63\xf3\x8d\xc7\x34\x8f\xc7\xec\xd5\xe4\x11\x6d\x1f\x30\xce\x16\x9b\x57\x07\xc6\xd6\xf7\x1f\xdf\x3a\x04\x3c\xae\xde\xbe\x78\xbc\x2b\x36\xaf\x0e\x8d\x5d\x68\x3e\xbe\x0b\x60\xdb\x7e\x44\x1f\xd8\x4d\x48\x74\x62\xdf\xd8\x89\x83\xc7\x77\x02\x90\x49\x56\xef\x83\x12\xd9\xda\x3c\x3f\x2d\xa5\x77\x7f\xcf\xbd\xa5\xea\x94\x95\x21\x3f\xca\x44\xbb\xe7\x8c\x83\x3b\x2a\x71\xa5\x00\x55\xc8\x4f\x72\xdb\x32\x62\x00\xeb\x01\x19\x3b\xbd\xb4\x73\x07\x8c\xb2\xf5\x27\xcf\xf6\x23\xc1\x2a\xf8\xf0\x2e\x99\x0a\x04\x3a\x11\x67\xc7\xe5\x62\x76\x5c\x4d\xfe\x12\x66\x1c\xfe\xa9\x0b\xef\x69\xac\x48\xde\x60\x1a\xfd\x28\xf0\x20\xaa\xbf\xf9\x36\x1b\x30\xc6\xfa\x7b\xf4\xc8\xc7\x0f\xad\x79\x63\xb7\xc9\x5a\x3a\xc3\xa0\x98\x21\x1e\xf1\xcd\xd6\xcb\xa5\xb1\x33\x6f\x9f\xd4\x19\x41\x37\xbf\x3b\xa6\xb4\x25\xe9\x9f\x74\xe5\xda\xc2\xb1\x88\xfd\x47\x09\xc4\x2e\x36\x39\x62\x50\x7a\x54\xed\xe5\x0a\x85\xad\xbe\x6e\xa4\x47\xc0\xc4\x40\x14\xc0\xac\xb3\xb6\x67\x8d\x27\x45\xf8\xac\x4c\x6a\xe5\x2c\xb6\x2a\xa5\x7e\xd7\x7d\xa0\x95\x99\xeb\xf0\xcc\x29\xf2\xe9\xc2\xc5\x17\x0b\x97\xfc\x86\x44\x77\x89\xfb\xe2\x85\x86\x32\x11\xe7\xa3\x09\xa5\xce\xc5\x56\xc8\x54\x16\xd7\x87\x04\x1f\x9e\x35\x27\xc5\xd6\x41\x19\x91\xd4\xcd\x07\xc3\xb1\xfe\x0e\x0d\x9f\xbd\x39\x5e\xc5\x49\x8b\xab\xed\x46\x15\x46\x4b\x85\x44\xfe\xf8\x03\x0b\x2a\xa9\x49\xf5\x61\x51\xd6\xeb\x7d\xea\x05\xb3\x62\x1a\xab\x9e\x57\xac\x2d\xa8\xd8\xe8\x07\x02\xd1\x32\x5b\xb1\x6e\xae\xa8\xe0\x56\x66\xeb\x6c\xe8\xb9\x48\xb9\xff\x82\x13\xd8\x11\x89\xac\x39\xe2\xf4\xe1\x63\xcb\x2f\xc8\x6f\x70\x6d\x41\x78\x82\x5f\x44\x4e\x9a\x82\xe7\xa1\xb9\x1d\x9a\x12\xe4\x00\x6c\x84\x4f\x4d\xc4\xae\x4f\xe4\xd6\xf5\x3c\x19\xc5\xc5\xd1\xb4\xed\x5b\x88\x6f\x8e\x48\x38\x15\xc8\x95\xf9\xdd\x37\x4e\x3f\x02\x3f\xb5\x4e\xf9\xdc\x67\x91\x28\xd8\x3c\x9f\x98\xe6\xfe\xe4\x5f\x31\xf7\xbd\x00\x8f\xfa\x27\xcc\x7e\x2f\x80\x03\xfa\x71\xd3\x0f\x35\xd9\xa9\x64\xe0\x21\x57\x2d\xd9\xb7\x4c\x9b\x34\xb3\xee\xf4\xf1\xca\x24\x10\x5c\x45\x91\xe0\x00\x22\xbc\x03\x07\xe6\x0e\x9c\x3d\xa6\x03\x0e\x50\x7c\x6c\x07\x9a\x8a\x52\x7d\xc0\x95\xea\x67\x09\x3e\x19\x06\x7f\x82\xad\x3a\x92\x40\x69\xf0\x6a\x07\x29\x55\x3c\x3a\x88\xcb\x09\x78\xa4\xa5\x1d\xea\x02\x6a\xc4\x34\xb2\x25\xf1\xf9\xa6\x91\xb1\x9e\xae\x34\x32\x0e\x8b\xcd\xf4\xf4\xae\x59\x4d\xef\x3e\xa6\xf5\x3b\x8e\x7f\xbf\x9a\xa2\xce\x1b\x47\x45\xbd\x8b\xdb\x31\x69\x78\x51\x40\x0a\x6d\xdf\x8d\x5d\x2b\xa6\x64\xe4\x0e\x47\x1e\x62\xd5\x01\xdc\x79\x1c\x5a\x90\x47\xa6\x50\x21\x06\xc7\x22\xdc\x8a\x26\x56\x98\x09\xca\x63\x43\xe9\x2d\x1e\x4a\x2a\xf2\x54\xb5\xf6\xff\xc6\x96\x9c\x61\xd9\x88\xf1\xae\x7a\x35\xe8\x24\x29\x40\x38\x36\xe7\x80\x5a\xf1\x34\xa4\x12\x99\x15\xaf\xaa\x90\x0d\x24\x9d\x3a\x51\x3c\x50\x2b\x5e\xe3\x9f\xc8\xef\xe4\x32\x22\x3d\x19\x97\x17\x8e\x2d\xcf\x9b\x97\xc9\x2f\xe0\xa2\xf5\x8b\x80\xad\xe4\xf9\x81\xb1\xad\x0a\x69\x83\x95\x90\x87\xf7\x81\xa5\x90\x97\x93\x09\x26\xfb\xae\xe7\xc6\xf3\x24\xf1\xa4\xec\x26\x80\xeb\x8e\x27\x98\xb9\xd5\x22\x8e\x3b\x00\xfb\x5d\x2c\x7b\x29\x30\x3d\x60\x20\x8c\xd6\x98\x47\xea\xc5\x81\x1e\x44\x78\x19\xf1\xb4\x34\xaf\x93\xe7\x85\x83\x00\x53\x19\xd1\x98\x1b\xa8\xd6\xc1\x9d\xc6\xb3\xfa\xd4\x8b\xc8\x14\xa2\x7b\x47\xf4\xde\x72\xa8\xed\x8e\xd1\x8f\x9b\xbf\x44\xf0\x9a\xdf\xa7\x34\x9c\x3f\xa6\x6e\x7d\xc5\x56\x45\xa8\x0b\xab\xb3\xb1\x72\x7b\xb2\xd6\x6a\x91\xa3\x4c\x48\x7f\xef\x2d\x41\xac\x80\x13\x4d\xdd\x8a\x5a\x39\xf7\xfb\x0f\x8f\x59\xb9\xda\xa9\xf3\x84\x0b\xa6\xa6\x65\xee\x9b\xb5\xcc\x9b\xff\x57\xb5\xcc\x3e\x1f\x65\xbe\x9a\x99\xdc\x67\xe4\x15\x22\xb9\xd8\xbc\x55\xf0\x44\xba\xe0\x19\x16\x3d\xe5\x1e\xf4\x5f\x29\x00\x33\x7e\x37\x5a\xd8\x89\x0e\x80\x0e\xdc\x41\x27\x3a\x46\xaa\xd6\xcf\xdc\xae\x96\xe0\x2e\xe5\xe5\xee\x5b\x70\xa7\x31\x6e\x9a\x13\x11\xda\x37\x91\x37\xe8\x61\x68\x4d\x46\xae\xad\x25\x1f\x7e\x1c\x60\x10\x1b\x7c\x7f\x89\x17\x39\xf5\x1d\x01\x0f\x94\x38\x64\x91\xe2\x65\xe8\x8e\xad\x70\x4e\x0e\x92\x79\xd5\xa1\x7b\xc4\x6d\x7e\x64\x85\x0e\xbe\x87\xc0\x5b\x02\xcf\x54\x4b\x0a\xe8\x02\x00\xaf\x01\x0d\xcc\x7a\xe8\x10\xc8\xfd\x83\xb8\x12\x6c\x26\x0a\xa8\x37\xbb\x31\xa0\x6a\xf4\x29\x1e\x17\x76\x10\x86\x90\xa6\x97\x93\xb3\x08\x44\xe4\x24\x69\xa2\x02\x78\x81\xf8\x15\x8d\xd7\x9e\x47\x78\x4a\x7b\x52\xc8\xe5\x4b\x01\xce\x4b\x03\x36\x74\xc6\x35\xd8\x74\x60\x3e\x37\xbc\x7e\xff\xf1\x87\xf1\x4d\x3c\x57\xe3\x5d\x88\xeb\x92\x79\x4c\x33\x4f\x49\x97\xda\x81\xef\xfc\xfc\xa4\x14\x0c\x5c\x67\xa4\x56\x62\xbc\xc6\x75\x98\x2f\x9d\xed\xe0\xc6\xb4\x12\xe7\x7f\x5f\xc2\xfa\xe5\x0c\xfc\xbd\xba\x5b\xdf\xda\xde\xad\xa6\xc1\x71\xc0\xf4\x64\xd8\xa4\xae\x2f\xcd\xbb\x8e\xf3\xc8\xfd\x41\x50\xc4\x9d\xa0\x13\xcc\x56\x35\xc1\x28\xd8\x71\x4c\x8f\x96\x70\xba\x89\x4d\xe6\xed\xf5\x65\xde\x3e\xba\xdc\x70\x33\x30\xec\x9e\x6f\xd5\xdd\xb3\x67\xf5\x49\x13\x50\x11\x8a\xbd\xfd\x2c\xfc\x23\x2b\x3f\xfc\xab\xd6\xc3\xfa\x3a\x6f\x5a\x00\x2f\xb3\xeb\x01\x5e\x0d\x72\x6f\xbb\xfc\x30\x6a\xf0\x3d\xb7\x08\x81\x0c\xe9\x5b\x9f\xb9\xdd\x8d\x4c\xbb\xf0\x04\x29\x40\x9f\x73\x9b\x6c\x78\x1e\x6f\x35\x32\x9c\x81\x5d\x2a\x12\xfe\x75\xb3\xf0\xca\x8c\x7d\xa3\x25\xd0\x99\x86\x93\xd9\xac\x8f\x67\x8f\x6a\x25\x59\x61\x66\xcc\xee\x97\x32\x44\x98\x64\x7b\x9c\x4e\x39\x81\x48\x85\x98\x66\xcf\x38\x82\x37\x7f\xed\x10\x78\xde\xbe\x47\x8c\xe0\x8c\x3a\xae\x45\x9a\xc1\x64\x4e\x8a\x67\x28\xb4\xa9\xcf\xca\x08\x33\x30\xa1\xb6\x3b\x70\x6d\x15\xfa\x2a\xa2\x09\x7e\x93\xc0\xd7\xc4\x43\xd6\xf5\xd9\x81\x6a\xba\x60\x99\x98\xe2\x9a\xac\x26\xee\x12\x24\x78\xb8\x55\xa0\xb4\x74\xcc\xd2\xe2\xfd\xeb\xa4\x45\x59\x4a\x0b\xc5\x85\x47\xd6\x60\x42\x46\xb3\xc0\xfc\xb5\xa3\x58\x24\x30\x39\x83\x50\x34\x4e\xf5\xf8\x3c\x4a\x50\xbe\xdb\x06\xcf\x78\x78\x2a\x0f\x06\x09\xa2\x57\x19\xb0\x06\xe7\xc2\x50\x67\x09\x5a\x3c\xaa\x21\x22\x7d\x2b\x42\x54\x64\xee\x7d\x2f\x6a\xf2\x6b\x6c\xc5\xc4\xad\xf1\x8a\xd8\xba\x43\x1a\xd7\xb7\xb6\x8b\xae\x0a\x56\x95\x77\x73\x27\x2e\x79\x41\xea\xa6\x3d\xd8\x05\x6f\x74\xf2\x7c\x8f\x6c\xe9\xc8\xba\x3c\x89\x92\xe2\x3d\x91\x51\x53\x81\x68\x99\x54\x93\x04\xf5\x6a\xe7\x7a\xe1\x94\xa2\xeb\xe1\xea\x5d\xdc\x5a\xdc\xc5\xba\xb1\x8b\xe2\x3d\x3d\x34\x5c\x99\xb4\x2e\x62\xb1\x61\x4e\xb1\x0d\xbd\x58\x3f\xa7\xd8\x26\x16\x53\xf9\x52\x08\x87\xfd\x22\xf8\x72\x43\x4e\xe6\x32\xfb\x75\x98\xfc\xda\x67\xbf\x96\x0a\x92\x49\x60\x26\x8d\xe3\x30\x5a\x25\xec\x21\xb1\x9b\x9a\x19\x27\x58\x0b\x04\xd5\x60\xb5\x8c\x43\xdc\x13\x57\x99\xd1\xa8\x8b\xdc\x50\x38\x21\x8c\xab\xbf\x91\x8d\xaa\x1e\xa4\xac\xd8\x79\xe1\xa8\xe5\x51\x8d\x45\x6e\x2a\x29\x25\x00\x0f\x86\x21\xe4\x99\x7d\x31\xa1\x53\xe0\x39\xe9\xda\xfd\xc0\x4b\x62\x29\xf3\x28\xd4\x05\x85\x43\xcb\xf5\xe3\x34\x89\x01\xfb\x70\x29\x8d\x0d\x99\xe4\x37\xb6\x3c\xd7\x4e\x13\x71\xe1\xd3\xa5\x54\x64\xaa\xe0\x8c\xf7\x9f\x20\x34\x15\x5f\x2c\xa5\xb5\x25\xf9\xe2\xb9\xfe\x6d\x86\x31\xec\xc3\xa5\x34\x5e\x26\xa9\x8b\x01\xa6\x37\x33\x2c\xfc\x78\x29\x9d\x1d\x85\x0e\xa6\x00\x35\x50\xc2\x2f\x96\xd2\x7a\x25\x68\x35\xc3\x00\x52\x48\x05\xd3\xcc\x9c\x45\x71\xe8\xde\x52\xb1\x57\x2f\x9d\xff\x7a\x22\x8c\x31\x01\x91\xf9\x1b\x9c\xf0\x03\x93\x3c\x70\x91\xe2\x21\xb2\x66\x59\xd1\xbe\x34\x34\xb8\xa1\x36\xe8\x2e\x96\x98\x65\xb4\x36\x55\x5a\x52\x3c\x32\x2b\x41\x15\x9c\x65\x24\xb7\x34\x7e\x2c\x12\x9f\x65\x94\xa4\x00\x75\x63\x6a\x39\xf3\x7c\xf9\x59\x46\x48\x4a\xd0\xf5\x72\xf9\x59\x46\xeb\x95\x3a\x3c\x7b\x75\x29\xd2\xe9\x3e\x4b\xe3\x0d\xe0\x7e\xb7\x55\xd5\x42\xae\x38\x4c\xdb\x20\x08\xe9\x7a\x3a\xb0\x01\xf3\x98\xf1\xd4\x9b\x23\xcb\x1b\x30\x65\xa2\xb6\xad\xc7\x0a\x26\xa4\x44\x05\xa6\x38\xd4\xb7\x52\xc5\x20\xe5\x0b\xcf\x9a\xe7\xde\x51\x12\x81\x6e\x3b\xe7\x85\x5c\x9f\x0c\xa6\xe0\xc5\x2a\x88\x7d\x9f\x5a\x9e\x3b\x70\xa9\x43\xd8\x61\x15\x96\xc9\xb0\x4c\xfa\x25\x70\xd8\xab\xa4\x76\xeb\xdf\xc8\xc6\x8e\xea\x38\xc6\x45\x5d\x86\x95\x74\x31\x24\x1b\xdc\xfb\xc9\x1a\xd9\xa8\xca\xe0\x2c\xc3\x36\xa9\x51\x62\x5b\xae\x1b\x46\x31\xb1\x47\xd4\xbe\x45\x2b\x79\x38\xa5\xbc\xd3\x80\x71\xc1\xb1\xe6\xf9\x0f\xb8\xc9\x09\x3d\x82\xec\xa5\xd5\x8a\x64\x39\x02\xfe\x83\x2c\xf8\x1c\x53\x40\xea\x28\x47\xf9\xc3\x80\x2f\xba\x9d\xe6\xd7\xce\xd1\xfe\xee\x82\x1a\x7c\x63\x81\x36\x34\x58\x21\x97\xbc\xd8\x23\x5b\x0a\x96\x4f\x3a\xe1\x21\xee\x5f\x72\xd0\x72\x36\x95\x02\x60\xf8\xc5\x21\xa2\x5a\xa7\xf6\x04\xe2\x3d\x18\x3f\x61\x58\x9a\x3d\x31\x0b\x72\x04\xbd\xa9\xeb\x1f\x41\xfd\xdf\xc5\x58\x17\xc4\x18\xe2\x4f\x2a\xd2\x70\x09\x03\x6d\x15\xc5\x28\x5f\x14\x5e\xad\x26\x54\x72\x36\x0e\x5a\x87\x8d\xab\xd3\x5e\x9e\x74\xfd\x46\x36\x0d\x62\x9a\xac\xb9\x94\x98\x6e\x2e\x12\xd3\xcd\x7f\x37\x31\x35\x0d\x63\xb1\x98\x2a\x9b\xcd\xff\x89\xa9\x91\x81\x76\x16\x6c\x2b\xc3\x81\x15\xb8\x2f\xc5\x52\x90\x32\x9d\x0b\xbf\xef\x91\x57\x55\xf2\xb7\xbf\x81\xf0\xfd\xb6\x47\x5e\xbd\x4c\x66\x79\xc9\x7e\xfa\xaa\x4a\x5e\x90\x9d\xdd\x3c\xb2\xb5\xaa\x4a\xb7\x56\xcd\x10\xce\x5d\x01\xac\x26\x50\x16\x1c\x80\xae\xf3\xa3\x8f\xc6\x07\xa8\x90\x47\xd9\xf7\x8c\x74\x44\x61\xc9\xec\xa7\x95\xa9\x97\x0e\x41\x4b\xbf\x7c\xd3\x18\x1f\x43\xd7\x22\x6e\x98\x21\x02\xa4\x04\xdf\x4b\x1f\xf9\x66\xb8\x04\x28\x83\xdb\xcb\xd9\x05\x66\x1a\x89\x0c\xe2\xc5\x83\x6e\x27\xc7\x38\xb4\x45\xd6\xf4\xc2\x15\xd2\xa1\xd1\xd4\x8b\x49\xf1\xe2\xa4\x44\xdc\x08\x72\x58\x56\x09\x38\xcc\x6f\x93\x35\x41\x32\x6b\x8c\xbd\xec\x94\xc8\xa7\x30\x98\xed\xda\xf0\x24\xf4\x45\x12\xe2\x34\x42\xb2\x4b\x6c\xd2\x31\x8c\xc9\x7f\xf4\x63\x3d\x37\x6e\x6e\xad\xfc\xc8\x50\xf5\x0b\xab\xd9\x4b\xb7\xd5\x1b\x61\x18\xcc\x4c\xb7\xd7\xc4\xde\x5d\x62\x97\x76\x2d\x26\x3e\xbf\x7c\xf2\x52\x26\xaa\x2c\xb7\xec\xc3\x75\x3b\x98\xa9\xb1\xe2\xec\xf7\x8e\xe1\xb5\xe4\x80\x3f\xeb\xf3\x24\xe0\xa1\x0a\xd4\xde\xa7\x84\xfa\x90\xd3\x92\xdc\xb9\x16\x91\x82\xf4\x48\xd1\xf3\xff\x5c\xd1\xdb\x26\x8f\x11\x27\x78\x01\xe8\xb6\xc9\x1b\x45\x90\x48\x6d\x2b\x21\x71\x89\xb6\x4c\xc8\x9f\x3e\x8d\x92\xe2\x35\x26\xbd\xa4\x18\x32\x4d\xbd\x44\x82\xf0\x99\xc0\x0c\x16\x5f\xd7\xd8\xd7\x6c\xf4\x58\x04\x0c\xab\x75\x85\xf0\xd5\xc1\x49\x86\x68\x1d\x89\x22\xfa\x0d\x75\x18\x5d\xf9\x0d\xd0\xe3\x9f\x23\x31\x65\xdd\x9c\x88\xb5\x9f\xa5\xf8\x92\xec\x92\x1a\xd9\x25\x55\xf8\xe7\x93\xe2\x79\x10\xc6\x23\xd2\x18\xd3\xd0\xb5\x2d\x5f\x41\x3b\x86\x64\x06\x56\x14\x43\x3a\x24\x19\xcc\x14\xa1\x9d\x8e\xc4\x01\xb9\xee\x6d\xb2\x0d\x94\x4c\x27\x98\x2c\xd6\xa1\x7e\x10\xd3\x64\xe3\x81\x91\x4a\x72\xac\xc4\xe9\x49\xb5\x06\x2f\x5c\xd4\x66\x9a\x36\x66\x65\x21\x5b\x1b\x49\xcf\x4f\x03\x1b\xb2\x06\xa4\x3b\xbe\x45\x36\x88\x2f\xbf\xb5\xee\x2c\xd7\x63\xa2\x56\x66\x8b\x0c\xfd\x47\xa8\xb3\xe6\xfa\x65\xd9\x9c\x64\xd5\x16\x0c\xf3\x3c\x10\x95\xcb\x98\x9d\xd2\x28\x7c\x6f\x9e\xbc\x49\xfc\x3f\xb5\xa2\x97\x6d\x4f\xb5\xd5\xb7\xbc\x4f\x6f\x6a\xb5\x55\x77\xbd\xfa\x63\xc8\xd6\x57\x27\xbb\xfd\x98\xde\xd6\x77\x6b\xbb\xd5\xdd\x95\x77\xea\xad\x8d\x47\x10\xdf\x92\x64\xb5\xb4\x89\xfc\x99\x58\x04\xa1\xa1\xb3\x6b\x1c\x10\x87\xda\xae\x03\x68\xe9\x00\x34\x19\x07\x64\xc4\xfe\x86\x27\x93\x00\xb7\x99\x24\xa5\x3d\x77\xa4\x9a\x46\xac\xe4\x7c\x92\x9c\xe8\xd7\x10\xab\x8c\x9e\x4f\xd2\x59\x4a\x2e\x57\xc5\x17\xea\x9c\xde\xd1\x30\xd3\x84\xe2\xf2\xf4\x96\x7d\xe5\xa2\xdb\x98\xee\x1c\x07\x3a\x84\x88\x28\xe5\x9b\xbc\xe2\xef\xd4\x00\xbc\x73\x23\xe9\x67\x98\x13\xd1\x0f\xf4\x70\xc8\xa1\x7b\x47\xfd\x32\x67\x85\x4c\x62\xc8\xed\x98\x65\x7e\xa8\xb8\x11\x42\x9f\x3f\xda\x0b\xe3\xf7\xc9\x12\x37\x8c\x60\x10\x4b\xec\x4e\xee\x90\x06\xaf\x74\x3d\xb3\x4b\xcb\xf3\xc9\xe3\x21\xcd\xa2\x60\x10\x77\x0c\xb0\x66\x1d\xc4\x61\x46\x2c\x76\x7c\xaf\x82\x0c\x4c\x67\xab\x25\xb1\x4c\x77\xed\x3f\x73\x86\x9a\xda\xd7\xf2\x8a\xa9\xfa\x63\x16\x18\x1e\x81\x0e\x4f\x9f\xd6\xb3\x5f\x96\x34\x79\x1a\x58\x0e\x39\x6d\x1d\x44\xd0\xcc\xe9\x2a\xad\x10\x82\x21\xed\x7d\xaa\x85\x35\x5b\x11\xb9\x73\xc3\x78\x6a\x79\x48\x2f\xb8\xa3\xa1\x67\xcd\x01\x7c\xe2\x57\x0d\xa7\x95\x49\xb7\xe5\xcf\x21\x49\xb3\x15\x66\x53\xdd\xb1\x7e\x7f\x5f\x81\x53\x1c\x2d\x21\x9e\x7b\x94\x33\xe9\x8a\x29\x20\xd7\xbd\x2d\x0e\x66\x9b\x26\x4a\xbe\xaf\x04\x02\xb0\xd8\xdd\x5b\x98\xff\x15\x97\xef\x1c\xbf\xed\xa7\x84\x98\xe7\xd2\x00\x1b\x78\x31\x79\x2e\x5e\xd5\x05\xfc\x2f\xe8\x84\xd1\x25\x21\x1d\x53\xf0\x67\x05\xfb\x3f\x95\x1d\x9b\xff\xa3\x1d\x59\xc4\x92\x9c\xf3\xf6\x49\xf0\x0b\x4f\xe5\x46\xce\xe1\xfc\xe7\xf7\x21\xc3\x08\x13\x24\x86\x08\x90\x55\x57\x30\x06\xc8\x5a\xe1\xd0\xe4\x81\x02\x16\x68\x25\xa1\x7b\x18\xc4\x1c\x73\x3b\x79\xa1\xc6\x1d\xe0\x31\x29\xde\x60\x7f\x5c\x61\xa3\x41\x67\x70\x76\x00\x77\xe8\x10\x6e\x2c\x70\x4a\xed\x9b\x1d\x1c\xc2\xa7\x02\x8d\x88\xc0\x6e\x8c\x8e\xe9\x05\x13\x01\xb6\x56\xfd\x42\xde\xa4\xb0\xda\xaa\x5f\xca\xa4\x56\x2d\x91\xb5\x1a\x79\x2d\x1f\x8d\x93\xca\xfb\x68\x91\xe7\xf5\x6b\xd9\xfa\x35\x51\x9f\xa8\x04\x32\x33\x7b\xdd\xc3\xb1\xe3\xb8\x8b\xb2\x67\x65\xad\x9d\x45\xe1\x82\x32\x44\xae\x8a\x6f\xab\x06\xb0\xdd\x8c\xff\x05\x80\x92\x3d\xd2\x56\xf2\x26\x5c\x92\x25\x1a\x41\x9a\x14\xe7\x08\xd7\x27\x1d\x6a\xc7\x96\x3f\x9c\x7a\x56\xc8\x73\x04\x1e\xb4\x9a\xcd\x46\xa7\x51\x7a\x54\xdb\xff\xb9\xa4\x6d\x40\x2d\xe6\xb2\x5e\x64\x1a\x47\xa5\xfb\xb1\x5b\x32\x10\x8a\x9e\x8a\x5b\x0c\x2d\xfc\x39\x7c\x8c\x16\x8f\x05\x21\x28\xc9\xd8\xf2\xdd\x89\xf4\x0c\x87\x47\x1d\x27\x66\x75\xca\x22\x44\x95\xfd\x97\xde\xc7\xd4\x8f\xdc\xc0\x8f\x1e\xb9\x2a\xe3\x65\x6e\x46\xf8\xe8\xb6\xc2\x6c\x76\xd8\x6c\x3e\xae\xf1\xff\x5c\xd2\x7a\x77\xf5\x58\x8f\x47\x1a\x5d\x56\x68\x98\x6d\xa0\xae\x3f\x5c\xeb\x33\x16\xdf\xb1\x4b\x29\xdf\xf9\xde\xef\x5f\xab\xaa\xcf\xea\xad\x92\xa5\xcc\xc6\x65\x9a\x11\x60\x13\xb1\xe9\x4f\xc0\x62\xb3\xe1\x8d\xad\x70\xe8\xfa\xd9\xd1\x9d\x3d\x79\x74\xd3\x25\xfb\x42\x30\x99\xe7\xec\x03\x9d\x46\x99\x1b\x57\x10\x8d\xfb\xb1\x62\x74\xb7\x2c\x47\x29\xd8\xf0\x0e\x5d\x8f\x1d\x69\xbc\x0b\x5c\x93\x6d\x1d\x76\x1e\xd9\xda\xe7\xc2\x6c\xd9\x34\xe2\x8d\x47\x26\xfa\xbc\x4c\x6c\x49\xb0\x50\x5a\xef\x7a\x97\x8d\xce\x13\x2f\x40\xf7\xcb\x24\x17\x4e\x70\xb9\x5e\xc5\x76\xdc\x62\x1b\x04\xbf\xf5\x35\x9a\xad\x47\x8e\xf9\xd7\x25\xad\x1e\xba\x00\x93\x6d\x98\xdb\xc3\x4e\xa3\x54\xd6\x81\xea\x1f\x37\xb7\x4b\x5a\xbe\x8b\xbf\xc6\xae\x47\x01\x94\xa7\x68\x25\x46\x87\xf3\xc6\xc5\xc8\xb2\x6f\xa1\xcd\x2b\xff\x9c\xc6\x6f\x2d\xfb\x96\x9d\x04\xa4\x18\x51\x4a\x46\x71\x3c\x89\x5e\xaf\xaf\xfb\x34\x66\xc5\x66\xee\xad\x5b\xb1\x83\xf1\x3a\xfb\x65\xfd\x5a\xa1\x39\x10\x7b\x8f\xeb\x0f\x02\x09\x87\xac\x5f\xc6\x06\x56\x88\x7b\x31\x5c\xb2\x48\x11\x42\x14\x89\x45\x86\xde\x7c\x32\x82\x1e\xa0\xc3\x3b\xfc\x6d\x5c\xcc\x0f\x4f\x0f\xac\x13\x71\x75\x89\xc7\xd6\xe2\xbb\x55\xc6\xb3\x0a\x6a\x83\xd7\x85\xda\xeb\x22\xcf\x07\x89\x82\x8b\xc9\x92\xf1\x1b\x44\x89\x2b\x55\x96\x7b\xe5\xd5\xd3\xf9\xf6\x8d\x2f\x3d\x19\xb0\x5e\xc6\xfb\x03\x04\x59\x4a\x0f\x00\xb1\x67\x16\x84\xf3\xae\xaf\x43\x46\x62\x3e\x0a\x93\x1f\xf6\x92\x16\x85\x82\xa6\x07\x41\xe3\x06\x22\xac\xb1\x68\xba\xc5\x1c\xd7\xad\x66\xeb\xb4\xf3\xb4\x95\xfc\x99\x4f\xfb\x92\x48\x35\xe3\xb2\x6a\x89\x65\x55\x7d\xe2\xb2\x5a\xd2\x34\xdf\x46\xc4\x88\x5b\x77\x10\x81\x0b\xbb\xc7\x69\xeb\xa9\xc3\xfd\xe7\x6a\xfb\xa6\x68\x34\x79\xb6\x00\x83\xd1\xe9\xe5\x53\xdb\xfd\x63\x71\xbb\x3c\x3c\x1b\xed\xce\x38\xc8\x76\xf3\xa7\x36\xad\xcf\x1c\x81\x7d\xc1\xa3\x0e\xc4\x43\x5f\x92\x48\x6b\xf6\xe0\x67\x9b\xfd\x6f\x73\xb3\x6c\x75\x5f\x5c\x75\x9a\x2d\x72\xd8\x3e\x6d\xbd\xc6\x02\xeb\xdf\xa2\x75\xf8\xe5\xeb\x5d\xfc\x55\xde\xf8\xbe\x8e\xad\x49\xe5\x5b\xc4\xaa\xb0\x03\x3b\x44\x2c\x78\xbb\x44\xea\xd5\x5a\x1d\x9e\x48\x9a\xa3\x30\x18\xbb\xd3\x31\xb9\xe8\x92\xc6\x34\x1e\x05\x61\x54\x81\xf4\x41\x50\x36\x02\xf3\x62\x78\xc7\xe6\x62\x7d\x9d\x5c\x45\x14\x95\x35\x37\x22\x3c\x1d\x83\xcd\x4d\xab\xc3\xe0\x8e\x86\x3e\xee\xd6\x16\xd9\xef\x1e\xac\xa1\x7d\xc9\x73\x6d\xea\x47\x14\x21\xc4\x6c\xcb\x27\x7d\xca\x28\x0d\xc0\x3d\x81\xe3\x70\x9e\xb6\x9b\xad\xf3\x6e\x8b\x0c\x5c\x8f\x56\x9e\x3d\x2b\x4c\x23\x84\x6a\xb5\xe3\xc2\xee\xb3\x67\x9e\xdb\xaf\x84\xb1\x43\x27\xc5\x02\x44\x39\x02\xcc\x78\xc6\x7b\x7b\x6c\x4d\x48\xd0\xff\x46\x6d\x99\x70\xe2\xcc\x9a\x4c\xd8\xaa\x06\x25\x9b\xa3\xed\x39\x3c\xb8\x17\xf0\x15\x24\x97\xca\x78\xce\x38\x74\x42\x7d\x88\xa6\x13\x3e\xda\xf0\xcc\x03\x56\xea\x9e\x9e\x1e\x46\xb4\x71\xd4\x61\x0d\x63\x6e\x25\x5f\x13\x63\x89\xe2\x29\x8a\xfe\x1d\xb6\x5f\xf2\x4f\xc4\xdc\xfb\x41\x1c\x1a\xd9\xa1\x3b\xc1\xb0\x23\x32\x9a\x8e\x2d\x1f\x9e\x9c\x60\x6f\x52\xbf\x14\x0c\x67\x53\xa9\x12\xba\x80\xd1\xfe\x20\x43\x8f\x8d\x9d\xcd\xe5\xd1\x29\x2b\x94\x0c\xda\xf5\x27\x53\x08\xd1\x0a\xa6\x31\xfb\x2d\x41\xc1\x4a\xcb\x9b\x92\x7f\x48\x3d\xb9\x94\x6e\x94\xb1\x1d\x0e\x34\xc8\xb8\x4f\xd8\xc6\x32\x0a\xc2\x58\xeb\x2d\x9a\xf0\xdd\x48\xe7\x57\x99\xa3\xc6\xc1\xd7\x0e\xed\x4f\x87\x43\x0e\x4c\xcf\xfa\x21\x52\xff\x2a\x64\xf6\x54\xa2\x1c\xa7\x96\xb7\xc9\x46\x2a\xbd\xcb\xe3\x80\xd8\x10\xac\x13\x88\xfc\x21\xc8\x29\x26\x92\xae\x1f\xc5\x96\xe7\x51\x90\x33\x48\x33\xa1\xb6\x06\x79\x24\xa4\x67\xfb\xfa\xba\x78\x06\xb8\xa5\x74\x42\x2c\x9f\x4c\x7d\xfe\x4a\xec\x10\x09\xca\x28\x42\xd0\x71\x2a\x24\x6a\xb6\xe5\x79\xc1\x8c\x29\x2b\x10\x0e\x67\xf9\x14\x32\x9c\x44\x54\x60\xab\xf3\x04\xd7\x98\x4a\xd6\x83\xc7\x41\xf0\x62\x84\x7e\x00\x5b\xf7\xad\x88\x7e\x25\x7b\xc8\x63\xd1\xa1\xf3\x60\x46\xa2\xb9\x6f\x43\x6d\x78\x92\x90\xb5\x99\x82\xe2\x53\xea\xa0\xb3\x27\xde\x13\xe6\xbe\xfd\x35\x75\x33\x68\x8b\x4a\x23\xea\x4d\x68\x08\xdc\x0f\x29\x2b\xc9\x64\x44\x27\x59\x51\x93\x9c\xcb\x5c\x2c\x5c\x9e\x22\x1e\xc7\x90\x16\x66\x94\xc1\x37\x3f\x48\x30\x89\xbf\xa2\x20\x36\x1c\x07\xf6\x79\xcb\x4b\x2a\x33\x11\x44\xab\x36\x2c\xad\x60\xa2\xc0\x33\x81\x4b\x10\x3b\x19\x79\xe9\x05\xa2\x59\x99\x84\x41\x1c\xc4\xf3\x09\xc5\xd1\xaa\xa2\x2a\x3b\x20\xa1\x30\xdb\x03\x0e\x48\x88\x8b\x13\x16\x2a\xcf\x8f\x89\x93\x83\x79\xb1\x19\x37\xd9\x34\x09\x54\xe3\xe7\xe9\x59\xf9\xdb\xdf\xc8\xf3\x14\xf5\xac\x08\x11\xc0\xb6\x83\x63\x20\xa9\xff\xd5\xf4\x79\x48\xbf\x1a\x9d\xf2\xc1\x63\x14\x3b\x15\x6b\x6b\xb9\x42\x78\xca\xcf\x90\xe2\xc3\x13\xb1\x24\x80\x23\x96\xe0\xa3\xb2\x43\x0a\xa2\x81\xc4\x7c\x3a\xe3\x1b\x22\x3c\xcd\x05\x9e\xc3\xd1\xdb\xc3\x21\x75\x40\x82\x09\x4a\xef\xcc\x9a\xa3\xb2\xeb\x03\x14\x8d\xaf\x09\xaf\xe0\x4a\xc2\x80\x64\xf8\x38\x46\xb2\x47\x50\x0a\x2a\x56\x14\xb9\x43\xbf\xf8\xcf\x1f\xe5\xb4\x64\x97\x13\xf9\x00\x9b\x17\x53\xf8\x0c\x74\x52\xb5\x24\x46\xe7\xd0\x63\x9b\x49\x94\xb4\x74\x4b\xe7\xdc\x39\x09\xeb\x96\x2a\x63\x6b\x52\x2c\xde\xd2\x79\x89\xec\xfd\xce\xd5\xd4\xc2\xe7\xcf\xf7\x05\xf2\x82\x87\xc6\x3f\x4c\x2c\x87\x15\x80\x5c\x6b\xcd\xc0\xa1\x8d\xb8\x58\x2d\x55\xe2\x80\xbf\x81\xd6\xb6\x4b\x0a\x7c\x17\x4c\x13\x9b\x5c\x3a\x23\x1d\x3a\x6c\xdd\x4f\x8a\x05\x78\x96\xe6\x5d\xe1\x50\xd6\x08\xce\xff\xa5\x50\x26\x85\x21\xcf\x7e\x91\x08\x46\x31\x8a\x43\xd6\x1d\x76\x94\x55\x42\x3a\xf1\x2c\x9b\x16\x13\xea\x65\xcc\xbe\xb9\xf7\xbb\xca\x84\x4f\xf6\xe8\x8b\x09\x22\x83\x2d\x2c\xb1\x97\xc8\x7d\x44\x2e\xaf\xa2\xe3\x46\xb6\x85\xf0\xb2\xe1\xd4\x8f\xdd\x31\x25\xd3\x89\x63\xc5\x34\xb1\x1f\x09\xcf\x12\xc4\xc3\xb0\xfc\x39\xec\x9b\xb8\x63\xd1\xf8\xe2\x8e\x86\xa1\xeb\xd0\x28\x01\xae\x45\x92\x59\x25\xcc\xbc\x1e\x51\x62\x32\x16\x0c\x91\xae\x96\x8c\xac\x3b\xea\x17\x62\xd2\xa7\xd4\x5f\x2c\xc5\xb0\x66\x0b\xf0\x56\x3b\xe2\x78\xb9\x40\x5c\x48\xa2\x2a\x32\xcf\xf7\x32\x42\xa3\xc8\xa7\x69\x47\x3c\x63\xe2\x2f\x1a\x16\xb1\x59\xb0\x41\x27\x27\x2c\x8f\x07\xe4\xc7\x27\x63\x3d\xdb\x6a\x31\xaf\xfe\x14\x33\x66\xe1\x1a\xa5\xf7\x6e\x04\x17\x07\x39\x13\x56\x44\x5c\x70\xe6\xe2\xcb\x6c\xe6\xc6\x23\xf1\x8a\x27\x4b\x8b\xdd\x8e\x14\x67\x80\xab\x6a\x45\x7c\xe9\x62\xf9\x52\x85\x90\xee\xb4\x8f\x78\xf3\x71\x32\x4d\xac\x8b\x10\xca\xee\x02\x3e\x6e\x18\xcc\x88\xc5\xd6\xee\x24\xa4\x00\xf8\x0a\x5b\x2c\x9b\x44\x36\xa1\xac\xa1\xc8\xbc\x5b\xab\x1a\x43\x32\x03\x62\x8f\x06\x02\x99\x81\xad\xb8\x29\xab\x82\xa4\xc8\x82\xb2\x73\x2a\x13\x23\xb6\x03\x4d\xd8\x21\x8a\xca\x22\x76\x30\x99\xab\x8a\x8f\x38\x18\x60\x34\x3c\xd6\xea\x9f\xc6\xee\xfc\x20\x0d\x58\xb5\x66\xdd\x06\x54\x82\x2c\xba\x72\xce\x78\x6c\x2f\xc0\xa0\x09\x5d\xa8\x93\xe4\x8d\xb9\x0d\x15\xd3\x0a\x4d\x66\x4b\x94\xe8\xc2\x2b\xc9\x33\x93\x4c\x95\xbb\xda\xe6\xc7\x28\x71\x9e\x80\xf6\xf0\x43\x0b\xe2\xf6\x40\x65\xb7\x55\x45\x79\xd1\x74\x46\x39\x66\x48\x56\xed\xab\x16\x31\xae\xe5\xac\xe4\x2e\xa3\xec\xf7\x7f\xb1\x3e\xc5\x3a\x2a\xd4\xa9\xa4\xe7\xa9\x04\x59\xc1\x2d\x99\x4e\x88\x25\xd7\x0e\x34\x30\x74\xa3\x98\x86\xfc\x70\x4c\x2d\x9d\x2e\xd7\xda\x21\x93\x15\x5b\x39\xf0\x0b\x37\x5c\xf3\xe5\xe3\x05\xc1\xed\x94\xeb\xe8\x4b\x64\xb4\x87\xb5\xc0\x99\xcb\x8d\x0b\x11\xee\x8b\x49\x17\x16\x4d\x90\x22\xa0\x98\x29\x54\x9d\x31\xd6\xad\xc4\xca\x94\x8c\xbf\x32\xb2\xa2\x8b\x99\x7f\x19\x06\x13\x1a\xc6\x73\x2c\xa7\x9a\x9a\x14\x5e\x7d\x62\x5f\x7e\xd1\xce\x69\x5e\x46\x66\x1f\x4d\xad\x5a\xec\x36\xb1\x60\x41\x28\xdc\x6b\xf8\xf3\x7c\x16\x03\x78\x12\x2c\x70\xe0\xa5\xf1\xe0\x79\xcc\x14\x68\x97\xa3\x1c\xbe\x8b\x7d\x8f\xcf\x98\xe8\xd0\x8a\xec\xb6\x1c\xc7\xc0\xee\x32\x91\xbb\x9b\xce\x73\xb2\xb7\xb7\x97\x92\x49\xe5\x74\x12\x0b\x2a\x47\x79\x4a\xaa\xec\x6a\x4b\x10\x27\x47\xe4\x3f\xcd\x28\x0a\xa0\x3e\xc2\xa2\xb7\x7c\x07\x60\x0c\xdc\x38\xe2\xdc\x4e\xeb\x0f\x52\xed\x5f\x61\xe8\x39\xe7\x7b\x6a\xc0\x6c\xff\x5a\xbe\x41\x18\x98\xb0\xca\xae\xb2\xea\x29\x0e\xc3\xcf\x3b\xfa\x80\x13\x0d\xc0\xb6\x0a\x06\x39\x87\x04\x6a\xcd\x0b\x37\xc9\x15\x0e\x3d\xd6\xd2\x5f\x2a\x15\x6a\x20\x2f\x2c\x05\x17\xf6\xff\x48\x75\xe5\x54\x72\x0c\xf3\xac\xc2\xb0\xf0\x77\xa5\xb5\x77\x41\x5e\x61\xb3\xcc\xe1\xa1\x98\x44\xe5\xa6\x4b\xe9\xc7\x14\xfb\x02\x3f\x17\x59\x73\x93\x3d\x85\xd7\xc5\x45\xc5\x57\x52\xfe\x81\x5a\x00\xd7\x41\xa6\x82\xcb\x35\x27\x28\x9b\x7c\x16\x13\x98\x38\x3e\xd5\x49\x56\x95\xd5\x8f\x42\x55\xfe\xc8\x1e\xf9\xa7\xd2\x02\x22\x16\x1d\xa5\x51\x97\xe4\x3e\x34\x8a\xe3\xc9\xeb\xf5\xf5\xbb\xb8\x56\xad\x56\x7c\x1a\xaf\x3b\x81\x1d\xad\xdf\xc5\xf5\x7a\x75\x2d\x1c\xaf\x83\x8c\xd6\xd7\x36\x2b\xa3\x78\xec\xad\xd8\x03\x91\xf6\x30\x9f\x47\xc0\xd6\x02\x87\x82\x2a\x94\xe5\x4c\x16\x3e\xdf\x6f\x57\x0b\xaf\x0b\x9f\xa7\xf5\x2d\x7b\xbb\x50\x86\x93\xf6\xbf\xc8\xda\xef\xc4\x71\xad\x71\xe0\x3b\x4a\xb9\x1a\x2f\xf7\xaa\xce\xcb\x59\xac\xdc\x30\xa4\xf3\xb5\x7e\x70\xaf\x14\xac\x63\xc1\xcd\xea\x2b\x5e\xb0\xcf\x0a\x8e\xd6\x63\xa5\xcc\x86\x28\x63\xf3\x32\x36\x2b\x33\x58\x1f\x28\x65\x36\x45\x19\x87\x97\x71\x58\x19\x7b\x3d\x54\xca\x6c\x89\x32\x16\x2f\x43\x59\x19\x4f\xa3\xb3\x0d\x65\xaa\xd5\x7e\x95\x97\x19\xc0\x00\xe9\x30\xa4\x54\x29\xf6\x52\x14\xab\xf1\x62\x43\x56\xec\xc5\xfa\x9a\x52\x66\x87\x37\x57\xdf\xe4\x65\x46\xac\x8c\xbf\xee\x29\x65\x5e\x89\x2e\xf5\x79\x19\x97\x95\xb9\xd3\x86\x6f\x71\x5e\xd6\x76\x78\x99\x6f\xac\x0c\x46\x7d\xae\x81\x7d\x55\x29\xdc\x17\x85\x45\xff\x6f\x59\xe1\x38\x98\x64\x4a\xda\xbc\xa4\xe4\xaa\x27\x4a\x7a\x74\xa0\x16\x74\x04\x49\x31\x8e\xb1\xd2\x7e\xaa\x2c\xe5\x65\x37\x04\x51\x1f\x58\xec\xfa\x74\x0d\xe2\x64\x95\xa2\x03\x2c\xba\xd1\x17\xb3\x11\xb0\xa2\x91\x6d\xf9\xb5\xa4\xd4\xcb\xaa\x28\x25\x18\x34\x11\xa5\x36\x94\x52\x42\xdc\xaa\x62\xd4\xdf\x45\xa9\x2d\xa5\x54\x5d\xd0\x12\x9d\x0b\x45\xa9\x97\x4a\xa9\x0d\x51\x4a\x48\x52\x24\x4a\xbd\x52\x4a\x6d\x0a\xa6\x08\x5a\x31\x0c\x94\x0e\xe2\xb5\x58\x95\x94\x97\x5c\xe8\xb6\xa4\x14\x4c\x59\x41\x98\x8c\x54\xc9\x6d\xc1\x3b\x51\xf2\x4e\xe1\xb3\x5e\xf4\xa5\x20\x2a\x5a\x9f\x89\xb9\xd3\xcb\xed\x08\xbe\x88\x65\x78\x0f\xe2\xc5\x41\xa0\xd6\x30\xa7\x94\x2c\xcd\x85\xb1\xbe\x2d\x3a\x30\xc7\x31\x45\xd1\x1a\xfd\x3e\xb5\x14\xb9\x7d\x69\x89\xa2\x5b\xbc\xe8\x03\x5f\xdf\x56\x4c\xc3\x4c\x69\x14\xca\xea\x86\x2d\xa6\xe7\x9f\xac\xf4\xc4\x55\x8a\xd8\x82\xa0\x28\xf2\x07\x2c\x96\x20\xce\x10\x73\xf8\xd2\xb3\x36\x78\xc9\x1f\xc0\xa6\xd0\x8d\xdd\x68\xb4\x36\x09\xa6\xea\x46\xf4\x92\x8a\x85\xfa\x92\x97\xfe\x6f\x58\xcf\x01\x0a\xed\x0f\xe5\x11\x60\x1f\x29\x3c\x79\x17\xde\x7a\xdc\x2e\xdc\x58\x69\x17\xe6\xc3\xd2\x77\xe1\xfa\x46\xe1\x35\xd1\x79\xf0\x1f\x66\x1e\xa8\xe3\xbb\xea\x92\x46\xb7\xd9\x6e\xe3\x8d\xc1\x0f\x84\xc6\xb3\xea\xd1\x25\xb2\x3b\x2c\xeb\xf2\x34\x2a\x94\x31\x5e\x53\x79\xda\x9a\xc6\xf6\xd3\x39\xbb\xfd\x38\xce\x6e\xae\xd4\x4d\x87\x75\xe9\x29\x7c\x4d\xca\x6f\x56\x45\xf9\x3e\xe5\xe5\xff\xce\xca\x6f\xac\x6f\x2a\xa5\xb6\xfa\xbc\x54\x6d\x43\xac\xc2\x4f\xac\x54\xc1\xfd\x56\x20\x9e\x3b\x04\xef\x25\x52\xc4\x28\x80\x61\x00\xc6\xb3\x78\x44\x18\xd9\xc1\xe0\x4d\x49\x21\x64\xcb\xe6\xc4\xd6\xf4\x99\x11\xaa\xad\xd7\x95\x42\x8e\x28\xf4\x52\xec\x0d\x5f\xd4\x35\x4f\xfa\x56\xf8\x4c\x5f\x9a\x7c\xc8\x3b\xea\xda\x8c\x67\x01\x5b\x24\x91\xbe\x42\xb1\xe4\xf6\xb6\xba\x44\x07\xfa\xd2\xe4\x1d\xb4\xd5\xb5\x59\x5b\xdf\xd4\x57\x24\x2f\xb4\xa9\x2e\x49\xcb\x9e\x72\xac\x02\x55\x68\x0f\x5d\xdf\xff\x99\x45\xf9\xf2\x71\xa2\xd3\x4c\x81\x6e\xe5\x97\xdc\x5a\x49\xc8\x06\xd8\x7d\x5d\xcc\xa4\x40\x54\xed\x4d\x4d\x20\x1a\x05\x32\x1d\x7b\xd6\x34\x36\xcd\xb9\xb3\xad\xce\x79\xe1\xc2\x50\x56\xb2\xdf\xde\x52\xa7\x9e\xd1\x0d\x31\x09\xa5\x28\x29\xe7\xc0\xb1\xd5\x39\x28\x4c\x25\x55\x5d\xe7\xc3\xc2\xf4\x95\xaa\xf4\x15\x68\x81\x4f\x9a\x49\x9c\xe8\xa6\x2a\x4e\x05\x2b\xdb\xdd\x44\xa0\x06\x9a\x40\x15\x02\x43\x59\x39\x34\xba\xa5\x4a\x16\xa3\xab\x0f\x2d\x11\xaf\x41\xde\xd0\x32\x32\x16\x52\xff\x27\x76\xa7\x9d\xc7\x89\x58\x67\x35\xc1\x81\x3e\xfd\x59\xdb\x13\xad\xaa\xdb\x13\x63\xda\x30\xb4\xee\xa8\x69\x93\x4a\x14\xdf\x4f\xa8\xa7\x68\x72\x23\xa7\x8c\xbe\xd4\xa4\xd1\x2e\x10\x9b\x3a\xae\xe7\x59\x26\x71\xb4\x5e\xaa\xe2\x18\x71\xd7\xf1\x68\x3e\xee\x07\x1e\x29\x3a\xc1\xb4\xef\x51\x12\x95\xcc\x72\xf4\x4a\x93\x23\x29\x73\x26\x31\x7a\xa5\x89\xd1\x54\x8c\xd2\x24\x45\x3b\x9a\x14\xd1\x6c\x51\x9a\xd9\x17\x41\x8c\x16\x8b\x50\xd3\xf2\x2d\xc7\xb5\xfc\x27\xcb\xd2\xab\xc7\xc9\xd2\xbb\x47\xc8\x12\xb1\x79\xe7\x74\xa1\x7a\x9a\x90\x50\xfd\x24\xb3\x0a\xc4\x76\x43\x7b\x3a\x1e\x78\xf4\xfe\xa7\xc5\x85\x5a\xda\xee\x45\x73\x88\xcb\x19\xa2\xe2\xf0\xfd\x07\x1e\xab\x5a\x79\xd3\x3e\x36\xd8\xd4\xf6\xb1\x20\xa7\xc2\xbf\x91\x10\x0e\xfa\xe9\xbd\x2c\xc5\x12\x55\x18\x8f\x68\x38\xfe\x09\x19\xac\x55\x1f\x27\x84\x27\xab\x99\x13\xa0\x53\x79\xb2\x27\x77\x88\xbf\xaf\xba\x43\xfc\xf5\x87\xa8\xa3\xe9\x4f\x85\x2b\xc3\xd1\xf8\xd7\x1f\x77\x03\x4d\x91\x4a\x1d\x62\x29\x21\x71\x06\xaa\x90\xd0\xe8\x81\xc6\xd9\x9d\x0a\xd0\xe5\x7e\x46\x3a\x6a\x8f\x93\x8e\x8f\x2b\x49\x87\x8b\xbd\xfa\xb3\xce\xbb\x9f\x11\xa7\xbf\xe0\xfc\x93\xdb\xc7\x97\x3c\xbd\x49\xd9\x9b\x74\x1d\x6b\x9a\xdd\x85\x15\xa1\xab\xa6\x85\x2e\xbd\x81\x24\x32\x57\x4f\xcb\xdc\x9f\xb1\x2d\x51\x5d\xc5\x72\xd5\xa2\xaa\xd0\x9d\x07\xe1\x8c\x0e\x5d\xcb\x5f\x3f\xb0\x7e\x4a\x9d\xaf\xd5\x1f\x27\x7d\xad\x95\xf5\xf9\xed\x95\xe4\xd4\x97\x03\x71\xac\xac\x62\x9f\x08\xa0\xdc\x93\xfe\x9e\xda\x93\x8c\x1b\xd8\xb6\xbe\x81\xb5\x92\x6b\xa1\x71\x0f\xdb\x49\xef\x61\x51\x1c\x06\xb7\xf4\x4f\xba\x08\xfc\x23\x77\xb7\x53\x2e\x02\xfa\x01\x6a\x2d\xde\x1a\xb7\x75\x29\xa5\xa6\xe1\x29\x92\xba\x93\x96\xd4\xf4\xf0\xfe\xd2\xcb\x40\x77\xf2\x93\x12\xba\xf1\x38\x09\xbd\x59\x49\xee\xa2\x89\x41\xdc\xfe\x35\xfb\xa3\x55\xd3\xa4\xf5\x79\x81\x00\x06\x63\x4c\x1d\xa3\xb0\xd6\x34\x61\x3d\x2f\x90\xd8\xf5\x1c\xa3\xac\xf6\x07\x9a\xac\xbe\x51\x08\x9b\xc4\xaa\xaf\x6d\x7e\xa9\x79\x4f\xa4\xa9\xa6\x49\x93\x9f\x69\x5f\x11\xa6\x97\x9a\x30\xa5\xb6\x74\x4d\x46\x66\xd4\xf9\x29\x19\x79\xe4\x83\xcd\xcb\x95\x77\xb1\xb7\xab\x49\x13\xf6\x3f\x77\xf3\x7a\xa5\x6d\x5e\xad\xec\x71\xf5\x6f\x69\xc1\x58\x69\xe3\xfa\xdf\x69\xc1\xe8\xce\xdc\x28\x7a\xba\x38\x3e\xd2\x72\xbd\xb7\xa2\x90\xb9\x51\x94\xb7\x61\x49\x2d\xe7\x3f\xf2\xb4\x9c\x27\xde\x4b\x5f\x69\xe2\x98\xbd\xa8\xfd\x3b\x5c\x49\x93\xf2\x83\x8c\xce\xf5\x55\xd7\xb9\xfe\x9c\xdb\xeb\xbf\xc1\xdd\x64\xa5\x0b\x2c\x84\x68\x50\x8c\x08\xa9\x58\x8e\x53\x2c\x60\x4c\x8a\x35\x75\xdc\x60\xbd\x4f\x3d\xaf\x50\x26\x05\xfc\x2b\x18\x0e\x77\xfb\x56\x44\xb7\x37\x0b\xe5\x67\x85\x5e\xdd\xf1\xaf\x66\x8d\x66\x43\xfe\x1c\x8c\xbe\xbf\xdf\x3a\x81\x5f\xcf\x0e\xef\x5a\xdf\x3e\xee\xbf\x1d\x1e\xd6\xfb\x1b\xc7\xae\xf5\xe1\x0c\x8b\x7c\x6c\xbe\x94\xc5\xdf\xda\xfb\xf8\x4b\x73\xb3\x40\x5e\x3c\x2b\x34\xae\x5e\xf9\x37\xb5\xb3\x86\xfa\xb3\x69\x79\xd3\xee\xb0\x05\xbf\xd3\xa8\xbd\xd1\x6a\x6e\xac\x67\x7e\x76\x6e\x0f\x9c\xf1\xab\xf9\xc7\xb1\xf7\xf0\xf6\x5d\xa3\xd1\x38\x1c\x4d\x80\xa0\x7d\x34\x9c\xf6\x36\x8e\xfd\xf6\xd1\xfd\xe4\xa3\x77\x73\x67\x8f\x8f\x27\xf6\x7c\xff\xb8\x7d\xd0\x9e\x9d\x1d\xdc\xce\xce\x1f\x1a\x5b\xd8\x4c\xeb\x50\x10\x38\xb9\x3a\x3e\xb8\x1e\xb6\x70\x58\x07\x87\x67\xed\xb3\xf7\x8d\xea\xf1\xfe\x35\xf6\xb0\xd1\x78\xd7\x68\xec\x0f\x8f\x9b\xb7\x17\xb7\xf5\x9b\xe3\x13\xeb\xfd\x55\xd0\x1d\x6d\x8d\x8f\x3b\xed\x6e\x77\xec\x79\x67\x57\x33\xf7\xc6\xbd\x72\xed\xab\x8f\x1f\x37\x67\xf7\xf7\xa3\xd1\xb7\x6f\x07\x6f\x8f\x8e\x8e\x2e\xce\xda\x07\x9d\xdb\x43\x56\xbb\xd1\x6c\x9c\x34\xc6\x17\x40\x30\x78\x71\x73\x6c\x45\x9b\x5b\x37\xf7\x43\xff\x9b\x7f\x32\xbc\x78\xef\x5d\x5c\x9c\xd8\xc3\xfd\xcd\x49\x67\xf3\xe0\xf6\x78\x76\x77\x35\xfe\x58\xdf\x1e\xc7\x27\x37\x61\x3f\xda\x9c\x1c\xbf\x1b\x9e\xbf\x7f\x77\xd5\x68\x34\xda\x8d\x77\xad\xe1\x68\xd4\xe9\x74\xbb\xcd\xa3\xc3\xc3\xa3\x93\x36\x10\x6c\x7f\xfc\xf8\xf1\x63\x30\x1c\x8d\xee\xef\xe7\xf3\xe6\x91\xef\xbf\x6d\x9f\x9c\x7c\x77\x87\xc3\x61\x30\x9f\x37\x9b\x07\xbd\x83\xd3\xc9\xe4\xf8\xfc\xe2\x62\x3a\x0e\x82\xcd\xcd\xed\x6d\xd7\xad\x56\x5b\xed\xd3\xd3\x7e\xaf\xdb\xbd\x9d\xdd\xd7\xae\x6f\xbe\x85\x61\xf5\xe8\xc3\x87\xfb\x07\x20\xf8\xf0\xcd\xf7\xfd\xb7\x97\x17\x17\x94\xda\xf6\xce\xe6\xf1\xbb\xdb\xf3\xf7\x8d\x77\x8d\x21\x63\xda\xbb\xe1\xc7\x9b\x9b\xfd\xfd\x66\x93\xf5\xe0\xf0\xa4\x7d\x62\x59\x1f\x6d\xd6\x50\xfb\xe0\xdd\xed\xe1\x55\x83\x31\x71\x08\xfc\xdd\x7f\x7b\xdb\xe9\x1c\x03\xc1\xa8\xd3\x3b\x8d\x3a\x0f\xe7\xd5\x6e\xe7\x72\xc7\xbd\xef\xb4\x1e\x3e\x74\xce\xaa\xd7\xbd\xeb\x56\xed\x9a\xfd\x38\xd7\xb5\x0f\xce\xf8\xc3\x07\xc7\x67\xff\x6a\x37\xe3\xf6\x75\x7f\xfa\xb6\x76\x33\x6d\x5f\xf7\xeb\xed\x6b\xe7\xd5\xe6\xf5\xe8\xa8\x7d\x03\xff\x80\x20\xfb\xe5\xc5\xdb\x8d\xc1\xab\x0d\xf6\xaf\x3a\x3c\x3f\x7a\x77\xdd\x68\x36\xf6\x1b\x27\x8d\x6f\x17\x37\xfd\x6f\x27\x56\xdb\x3d\xfa\x7e\xea\x5e\x58\xed\x83\x51\xdb\x8a\x1a\xc3\xfd\x5b\xd6\xfb\x46\xb3\x71\x7c\xeb\xb6\x27\xb7\xdf\xcf\x8f\x27\xe3\x9b\xef\xe1\x78\xdc\x07\x82\xf1\xd8\x0d\xe3\xf1\xc6\x69\xe4\x3e\x9c\x46\xc3\x79\x6b\xf4\x7d\xc6\xa4\x61\x1f\x26\x9f\xfd\x9c\xec\x4f\xc6\xdf\x6f\xcc\xff\xc6\x37\x37\xde\xf8\x5a\xfe\x03\x82\xea\x07\x79\xff\xde\x1d\x7d\x6b\x9f\x0c\xf7\x1b\x8d\xe1\x7e\xe3\x7e\xa3\x65\xdf\x6f\xb4\x6e\x3b\xd7\xed\xdb\xfb\x8d\x76\xb4\x3f\xc3\x59\x9f\x37\x1a\x0d\x20\xc8\x46\x77\xe5\x3e\x1c\xda\xdf\x3a\x6f\xed\x87\xde\x5b\xfb\xe1\xe1\xad\xfd\x70\xff\xd6\x69\xf5\x8e\xbd\xd6\xc3\xf9\xab\xd6\xec\xb2\xd9\xa8\xdd\xec\xb3\x0e\x0f\x1b\x6d\xec\xf6\x7e\xe3\xac\xf3\x70\x68\x77\x1e\x8e\x19\xef\xaf\xdc\x8d\x9e\xfd\xed\xfa\x03\xae\x94\x87\x8d\x0f\x76\x75\xe3\x03\x63\xfe\xf5\x63\x7e\x3e\xbe\xc5\x99\x66\xac\x69\x1e\x39\x37\x93\x9b\xef\x40\x70\xd8\x18\x3e\xdc\x1e\xb5\x70\x32\xb0\xfd\x8f\xc1\xbb\xd1\xc1\x41\x43\x08\xf0\xbb\x46\xa3\xed\x8e\xb6\x9a\x4d\xab\x7a\x1c\x3e\x3c\xf4\x6e\x2f\xc6\xd3\xf7\xc3\xef\x9d\x6e\xbf\xba\x73\x74\x7c\x7d\x1c\xf9\x53\x6b\xfc\x71\xbc\x71\x89\x2b\x85\xc9\x5f\xff\x6c\xf3\x66\x73\xeb\xfe\xe1\xc1\xf5\x4f\xc6\xf6\xfb\xe1\xd8\x69\x5a\xf6\xce\xd6\xf1\xc1\xf1\x77\x2f\x38\xf6\xdf\x8d\xfd\xcb\x0b\xda\x39\xe9\xef\x6f\xd7\x27\xd5\xc9\xe4\xe1\x61\xe4\xfb\x7e\xe3\xe5\xd1\xd1\xfb\x23\xdb\xde\xd9\x9a\x54\x27\xc1\xdb\xef\x8e\xf7\x11\x08\x32\xca\xef\x9d\xa6\xb5\xf5\xdd\xdd\x3a\x3c\x8e\x1f\x1e\x82\xf1\xd5\x78\x4e\x6b\xd3\xeb\x6e\xdf\xde\xd9\xdc\xda\x62\x0d\x71\xe1\xff\x7e\xbd\x6d\x3f\x44\xad\xad\xcd\x9b\xfb\x87\x87\xc0\xb7\xc6\xf5\xe9\x56\xf3\xba\x6e\xdb\x3b\x2f\xb7\x6e\x8e\x1f\xa6\xb8\x52\xde\xf9\x23\x65\xa5\x20\x81\xa1\xd7\x7c\x57\xfb\xb8\xdf\x80\x1d\xac\x33\xaa\xef\x7f\x3b\xf2\x3f\xb6\x87\x83\x8f\x9b\x47\x1f\x47\xef\x46\x13\xf7\xa8\xf7\xd6\xef\x5e\x1e\x4c\x2e\x86\x67\xf6\x70\x32\xd9\xdf\x3e\xff\x76\x7b\x73\x02\x04\xbf\x7f\x3c\x7f\x77\x35\xba\xf5\x27\x1f\xba\x4d\xb6\x05\xc1\x5c\x36\x9a\xad\xd6\xe1\x71\xbb\xfd\xf1\xea\xea\xea\x56\x6e\x00\x47\x47\x47\x27\xed\xb6\x45\x6d\x7b\x18\x7c\xff\x7e\xd2\xed\xba\x6e\x78\x72\x72\x7a\x79\x76\x16\x45\x51\xb4\x33\x9b\x03\xc1\xf9\xf6\xc3\xc1\xc3\xb7\x30\x8c\xce\xce\xde\xbd\x9b\xcd\xee\xe3\xf3\xe3\x93\xd3\x83\x0f\xd7\xd7\xe3\x8b\xf3\x98\x5a\xd4\xde\xde\xdc\xea\x1e\x4d\xbd\xd8\xb9\xb1\x4e\xb6\xdf\x5f\x5d\xdd\x06\x93\x49\xb7\x51\xbd\xd9\xe7\x3b\x4e\x73\xff\xf6\xb6\xd5\x3a\x3a\xfa\x78\x75\x05\x04\xa1\x07\x93\xd1\x7c\xee\x8e\xfd\xa0\xdd\x3e\x49\xcb\xdc\x4e\xb3\x77\xd9\xea\x6c\x74\x52\xff\x2e\x77\x3a\xf7\x9d\x96\x7b\xdd\x69\xb9\x1f\x3a\x67\x6e\xad\x77\xf6\x50\xc3\x0d\xf6\xfa\xf0\xfa\x83\x33\xae\xdd\x78\x1b\x1f\xfa\xf1\xe6\xb5\x53\x7f\xfb\x61\x50\xdb\xd8\x18\xd4\x36\x6b\x83\xc3\xcd\x1b\xef\xfd\x4d\xf6\x5f\x93\xef\xd8\xd0\x62\xab\xdd\x6e\x7f\x7c\x07\xac\x01\x82\xa3\x9b\x8e\xfb\xed\xe0\xed\x5b\xbf\x7d\x7e\xf1\x6e\x38\xde\x97\x7c\xe4\x6b\xa2\xb3\xd1\xba\xba\xdf\x6a\xd9\xf3\x9b\xd6\x6d\xf7\x65\xfb\xb6\xe7\xb4\xa3\x87\x41\xbb\xda\x5b\x3f\xab\x56\x3b\xe7\x87\x57\xbd\xce\xf9\xd5\xfd\xb5\x53\xed\x5c\xd7\x80\x60\xf5\xfe\xc6\xbb\x7a\xb8\x71\xaa\x0f\xd7\x5e\xb5\x76\xed\xd5\x3e\xdc\x78\xf5\xfe\x8d\xf7\xfe\xa5\xf3\xea\x7d\xff\xe6\xd5\xc6\xba\xa3\xff\x7b\xe5\xd4\xf8\xd6\x3f\x6c\xbc\x6b\x0e\xdb\x0f\xe3\x6e\xdb\x1d\x77\xdb\xdf\xf8\x11\xb0\x59\x75\xbb\xfb\xed\xee\x51\xd8\x68\x37\x6e\x60\x95\x36\x87\x27\xed\x97\xee\x45\x7b\xf3\x5b\xf7\xa6\x7d\xfb\xfe\xa6\x3d\xa6\x37\x37\xbe\x7b\xf3\x7d\x32\xbe\x79\x39\xf9\x6e\xb5\x4f\x70\x1b\x83\x45\xd4\xe2\x47\xe8\xd0\x6a\x7f\xf7\x51\xb0\xdb\xdf\x7d\xb7\x1d\xfa\x6e\x7b\x33\x70\x6f\x6e\x26\xee\xcd\xf7\xef\x53\xeb\x38\x9a\x7f\x7f\x19\x4e\x1f\xf3\xef\x76\x3f\x40\xb1\x69\x06\x8d\x77\x70\xe0\x38\xf3\x63\xf8\x77\xdd\x3d\x6e\x5d\xcf\x8f\x1b\x76\xfb\xe0\xfa\xf6\xb0\x71\x36\x04\x96\xce\x0e\x5a\xf6\xbb\x5a\xfb\xf6\xfe\x65\x3b\xea\x0d\xce\x38\x0f\xcf\x5e\x55\x7b\x67\xaf\xae\x3f\x74\x0e\x0f\x67\xc3\x73\x20\x28\x4e\x30\xa1\x3a\xcc\x8e\x1b\x67\xdd\x97\x2d\xfb\xc1\x69\xdd\x5e\x5d\xb7\xe3\xda\x75\xbb\x56\xbb\x6e\xc7\xd7\xd7\xef\x5e\x2d\xdb\x80\x50\x6c\x94\x9f\x5a\xaf\x73\x5e\x7d\xe8\xee\x57\x8f\x9b\x6c\xa6\x19\x4b\xbf\xbd\x7b\xf7\xf1\x66\xb4\xdf\x3c\xb1\x27\xfb\xcd\xfe\xb7\xda\xc7\xe6\xc1\xdb\xf1\x71\xe3\xfd\xe8\xe2\x9d\x35\xba\xdf\x77\x5b\x93\xfb\xc6\xc3\xc1\xc1\xed\x79\xdb\xef\xbe\x03\x82\xef\xba\xf6\xab\xe9\x71\x7b\x6b\x36\x7b\x78\xd8\x3c\x6c\x07\x87\x57\x9d\xb3\xe1\x66\xd5\x3b\xdf\xdc\x1c\x1e\xd8\x27\xe3\x0f\x2d\xdf\xbb\x68\x8c\xd8\xda\x6e\x35\x0e\x5b\x6c\x30\xf7\xf3\x83\xb7\xad\xa3\xb7\xa7\x17\x5d\x7b\x3c\xec\x9c\x6d\xde\x37\x6f\xea\x57\xf3\x83\x5b\x9c\x94\xc9\xcd\x65\xb7\xdb\xbd\x8d\xbd\xd1\xf0\xe1\xa4\xfb\x7e\xdc\x1a\x5f\x7e\xf3\x4f\x2e\xbb\x5d\x7b\x7c\xeb\xed\x8f\x4e\xdd\x49\xfd\xb6\x35\xbe\x38\x0e\xdf\xc1\x22\x7f\xcb\xe4\xb3\xb9\xfd\xf6\xdd\xed\xfe\xd5\xfe\x3b\xb6\xa4\x8e\xda\x67\x57\xc3\x60\x32\xba\xe9\x74\x71\xb7\x71\xfd\xf1\xed\xe1\xe9\xc9\x19\xbd\xb2\xaf\x6e\x83\xad\xc9\xd6\x7d\xef\xe1\xdb\x6d\xfb\xed\xc7\xde\xc9\xd9\x3b\xcb\x19\xde\x37\x26\x93\xce\x7d\xef\xc1\xf5\xdf\xbe\x6d\xf7\xce\xde\xd1\xf7\xf6\xf0\xd5\xfe\x3e\x53\xcf\xda\x67\x4c\xca\x0e\x1a\xef\xdc\x61\xf5\xa6\x75\x85\x67\x4a\xab\x69\x37\x36\xdf\x36\x6e\x1f\xb6\xce\xaa\xdd\xfb\x77\x5e\xf7\xfe\xfc\xf0\xe1\xbe\xe3\xd5\xee\xcf\xcf\x6b\x5b\x57\xd5\x87\xde\xbb\xda\xd5\x75\xe7\x7a\x7e\x7f\x7e\x5d\xbb\xee\x5c\xd7\xef\x6f\xce\xaf\xfb\x1f\xbd\x5e\xe7\xfc\xbc\x37\xe8\x5c\x5d\x77\xce\x0f\xaf\x3b\xd7\xd7\xd5\xad\x1b\x9c\xe5\xeb\xfe\x75\xfc\xf0\xd0\xf1\xea\xd7\x9d\xeb\x8d\xce\xcd\x75\xad\x7f\xe3\xd5\xef\x6f\x5e\x5c\x6f\xdd\xd4\x36\x1e\xce\xcf\xdf\xb3\xcf\x1c\x46\xe4\xba\x56\xdb\xba\x79\xf5\xe1\xd5\x4d\xfc\xe1\x66\x28\x1b\xea\x75\x3a\xd8\xd0\xc3\x0d\xce\x72\xed\xe5\xc7\xda\xd5\x87\xce\xf5\xd5\xf5\xb5\xf7\xfe\xba\x73\xfd\xfe\xc3\x8d\xf7\x7e\xe0\x5c\x5f\xff\xff\xd8\xfb\xf3\x66\x37\x91\x34\x51\x1c\xfe\xbf\x3e\x85\xa6\xdf\x88\x6b\xd7\xc8\x65\x10\x68\xed\x1a\xf7\x44\xb2\x89\x45\x08\xb1\x0b\x3a\x3a\x2a\xd8\x04\x88\x7d\x47\xcc\xf4\x77\x7f\x43\xe2\x1c\x2f\xe7\xe8\xd8\xc7\xae\x9a\xe9\xba\x37\x7e\x8e\xa8\xb2\x0c\x99\x4f\x3e\xf9\xec\x4b\x4a\xb9\x31\x37\x72\x7f\x1d\xbc\xdf\x23\x92\xa6\x69\xb6\xa9\x21\x27\xad\xd6\x4c\x73\x33\x3f\x4a\xda\x51\x73\x63\xe4\xe4\x6a\xba\x64\x4e\xf5\x8d\x47\xcd\x4f\xe6\x66\x54\x3d\x29\xb8\x61\x30\xdb\x68\xb3\xeb\x60\xc3\x35\x63\xc3\x76\x67\xe8\x25\xc8\x93\x24\x2e\xb2\x22\x2c\x92\x30\x2c\x8a\x22\x29\xea\x04\x29\xca\x62\x66\x67\x4d\x58\x64\x45\xc9\x55\x89\x57\x94\xc5\xc0\x55\xc5\xb4\x2c\x93\xa1\x1c\x55\x2f\x0c\x8b\xb2\x08\x8b\x2a\xbc\x14\x45\x78\x29\xab\x62\x58\x15\xe1\x50\xd6\x45\x58\x34\x05\xca\x55\x25\x6e\x97\x45\x5b\xd6\xcd\x7a\xd7\x5d\x86\xb2\x49\xf1\xa2\x2c\x96\x65\xd5\x8c\xe3\x9a\x02\x2d\xfb\x94\x2e\x9b\x33\xb6\x1e\xc5\x26\x4c\x77\x79\xd1\x16\x4d\x91\x2c\x9b\x64\x55\x36\x29\xcd\xd7\x09\xec\x64\xcb\xb2\x68\xc3\x72\xd7\x95\x04\x57\x35\x50\xd9\x84\x53\xd8\x95\x29\x49\x3b\x1e\xdd\x98\x42\xcf\x1a\xa2\x99\x1b\x64\x76\x72\x17\x0b\x7b\x33\xd7\x2f\xb6\xd2\x40\x37\x80\xe5\xa9\xe5\x1c\xaf\x59\xc2\xad\xbf\x18\x90\xb5\xd3\xd8\x66\x4d\xef\xf6\xcd\x76\x35\xad\xa7\x6b\x7b\xe0\x86\x4d\x20\x30\xcb\xd8\x5c\x14\x88\x6d\x15\x45\x69\x36\x45\x31\x6d\x2e\x76\xd8\x12\xa5\x50\xe3\xaa\xa6\x6d\x8e\xa6\x16\xa3\x83\xeb\x8e\xba\x2c\xb9\x0d\x3a\x78\x82\xbe\xf1\xf6\x59\x51\x16\x4d\x58\xee\xda\x2b\x56\x67\xda\xe9\x93\xb5\xd3\x0c\xc0\x39\xba\x15\x72\x8e\xdb\x63\x6a\x73\x35\x8e\xce\xce\x97\x83\xc3\x0e\x48\x6b\xf7\x29\xbd\x12\x9a\x03\xe2\x5a\x42\x4b\x80\x94\xbe\x01\x3c\x77\x57\x0d\x20\x6f\x1a\x40\xae\x73\x90\xc9\x64\x09\x32\x30\x07\x22\xd8\x32\x9e\xa3\xaa\x3d\x28\x7a\x19\x83\x49\x6a\x57\x30\x9c\xa4\xf2\xa2\x11\x38\xf0\x82\xeb\xa5\x8b\xaa\x92\x79\xc1\x98\x8a\xca\x55\x86\xaf\x31\x8b\x31\xe0\xbc\xb0\x17\x85\x8c\xf2\x8c\x33\x15\x59\xf5\xbd\x20\xd7\x30\xce\x5a\x6e\xd5\x59\xcc\x96\x95\x65\xab\x46\x03\xfb\x39\x66\x72\x96\x8c\xa8\x70\x9c\x17\x85\x63\xab\x7a\xd6\x49\x46\x0f\x2e\x8b\xa5\x14\x0d\x51\xc4\xe6\xb6\xa8\xcb\x49\x54\x8f\xc1\x12\xbc\xe0\x16\x4b\x3c\x22\x22\x96\xcb\x2d\x51\x95\xe1\xac\xd6\xaa\x9e\xbd\x58\xf8\x19\x8e\x28\xa6\xb0\x44\x59\x85\x93\xbc\xbe\x2d\xa4\x47\x54\x54\x73\xbc\x6d\xa8\x3a\x32\xef\x67\x41\x7f\x5d\x28\x22\xe3\x9a\xe5\x1c\xe3\xc1\x8d\x22\x70\xdd\xe7\xd9\xb9\x0f\xb1\x68\x88\x52\x36\x65\x79\xf9\xba\x5a\xbc\x67\xad\x85\x19\xaa\xd7\x85\x12\x43\x90\xe5\xa8\xa8\x63\x93\x95\x07\xf6\xa2\xdc\x16\x32\x04\x41\x8e\xa2\xbc\xce\x59\x4e\xe1\xb6\xea\x2c\xca\xc7\xc8\xa1\x32\x34\x59\x4f\xba\x7e\x96\xf7\xb2\x4d\xe8\xd7\x6d\xb1\x9c\x63\xc9\x72\xd2\xd5\x7d\x9c\xdb\xca\x4e\x9b\x91\x54\xb6\x1b\xb7\x95\xd4\xb5\x66\x96\x56\x81\x6e\x55\x32\x2f\x59\x4b\x35\x64\xb8\xe8\x6b\xc9\x2c\xed\x33\x9d\x8c\x31\x76\x94\xe7\xa5\x25\xca\x3a\x9c\xe4\xbd\x64\xda\xe7\x10\xdd\x26\xf1\xbe\xdc\x5b\xb6\x6e\x25\xf3\x7e\x11\xe4\xb6\xad\xa0\x7a\x92\xee\xb9\xd2\xb5\x55\x35\xbb\xee\x28\x3f\xdb\x36\xaa\x25\x69\xdb\x32\xdc\x48\xbf\x78\xcf\x86\x37\x80\x56\x88\x6e\x67\x09\x57\x67\xa6\xa2\xcb\x61\xd1\xc7\x26\x6b\xd9\x04\x9d\x20\x71\xc1\x0b\xa6\x22\x1b\x51\x92\xf7\x26\x2b\x9f\xf1\xeb\x42\x75\xd5\x58\x96\x6e\x25\x5d\xbf\xc8\x73\x39\x5c\x1d\x13\x24\xdd\x57\xfb\x93\xad\xea\x45\x37\x32\xa5\xcf\x73\x45\x5e\x1d\x75\x3d\x15\x0e\xcd\x49\xd3\x01\x20\x80\x0f\x78\x20\x32\x80\x35\x2d\x42\x8c\x58\x15\xdc\x0c\x29\xb9\x65\xd4\x6a\xc1\x5a\x12\x76\x19\x88\xa8\xc0\xd5\x1d\x2f\xc8\x5e\xee\x44\x3d\xce\xc9\xb1\x36\x90\xe4\x98\x49\xb1\xf6\xf1\x4a\xdd\xbc\x77\x8d\x05\x8e\xeb\x31\x15\x55\xc5\xce\xd1\x74\xeb\x12\xe5\x57\xda\xec\x44\x00\xb2\x07\x43\x8a\x45\x08\xdb\x8b\x24\x47\x68\x11\x0b\x48\xf1\xfa\x6c\xcb\x5c\x05\x13\x18\x66\x2e\x85\xc4\x18\x39\x60\x61\x44\x6d\x79\x91\x29\x54\xe3\x2a\x42\xb9\x24\x9d\xaf\xdc\xde\xd2\xbc\x20\x86\x99\x69\xac\x17\x18\x87\x27\xa4\x4a\x66\x05\x67\xa8\xa2\x1c\x45\x71\x2e\x5e\xe3\x94\xcc\xb9\x7a\x78\x7b\x8f\xab\x3a\x76\xf1\x61\x16\x3c\x64\xa3\x2a\x50\xaf\xd9\xe8\x75\x2d\xde\x30\x7c\x97\x12\x2f\x5c\xb0\x25\x15\x32\x4b\x0b\x83\x14\x75\xbf\xa9\x5d\xd7\x94\xad\xe5\x91\x1a\xa8\xbc\x28\x6d\xc5\x10\x41\x58\x07\xae\x71\x91\x2f\xc7\xed\x8c\xca\x93\xd2\x91\x0d\x3d\xac\x46\x17\x00\x84\x01\x00\x91\xa8\x3a\x92\xc9\xf6\x5b\x31\x06\x2c\xa0\x01\x09\x8c\xac\x97\xce\xc3\x39\x4e\xc9\xed\x8e\x17\x3c\xdf\xd9\x03\xbf\x5f\x04\x17\x92\x08\xcb\x6d\xca\xf0\x82\xe8\xfb\xda\x15\x7b\x1c\xdf\x92\x03\x11\x5d\x23\xb0\x07\x37\xda\x18\x4e\x70\x4d\x10\xb9\x2d\x41\x92\x0c\x93\x9b\x8a\x2c\x8a\x7e\x10\x50\x2c\xb7\x94\x71\x92\x24\x99\x3c\x3f\x8a\xa2\xe8\x87\x41\x4c\x31\x57\xdf\x54\xdc\xf6\xba\xc3\x24\x93\x16\xf0\xc8\xc2\xae\x2e\x16\x07\x74\xf4\x80\x21\x03\x7a\xf9\x1c\xd1\x99\x29\x6d\x39\xc7\xf0\x63\x96\x95\xaf\xd8\x91\x64\xce\x16\x47\x86\x17\xc3\x28\xef\x35\x63\x81\x2d\xb7\x6a\x4c\x95\x15\xc3\x2a\x57\x45\x98\xb9\x01\xc6\x59\x32\xba\xd5\xa3\x3d\x57\x3a\x9a\x61\x2d\xe7\x63\x7c\x98\xbb\x66\x58\x12\xc7\xe3\x8c\x2a\xf8\xda\xb3\x2c\x0b\xce\xae\x1a\x52\x0e\x76\x04\xc0\xbe\xa3\xb0\x0e\xef\x40\x5f\x53\xfb\xd0\x31\x70\x39\x83\x4d\x5c\x05\x11\x70\x80\x8f\xe3\x11\xb5\x15\xae\x74\x57\x8d\x2c\xeb\x17\x8b\x7e\xe4\x32\x8e\xa7\x54\x42\x1f\x04\xce\x32\x8c\x31\x0b\xb8\x06\xa0\xd7\x34\x42\xe0\xf9\x87\xcc\xa0\xcf\x83\x5b\x6a\x41\x3f\x66\x0b\xf3\x2f\xd3\x8d\xc7\x0c\xe2\x06\x70\x4c\x23\x22\x00\xf0\xbc\xbb\xfa\xee\x8a\xa2\x22\x67\xce\x49\x19\x79\x0d\x7b\x19\x50\x5c\xe3\x6d\x8c\xd2\x8d\xac\xeb\xfb\xc0\xb7\xf1\x87\x7a\x03\xaf\x1a\xf2\xf8\x2c\x38\xdb\x0f\xcf\x6e\x00\x79\xc7\x32\x1e\x5f\x3c\x16\x27\x78\xc7\x78\x56\xb0\x78\xcd\xb3\xd1\x38\x50\x75\x59\xda\x47\x5d\x4f\x9a\xfa\x9a\x3a\x58\x4b\x64\x36\x8b\xf3\xb2\x14\x31\xd0\x76\x19\x0d\x0e\x6b\x7a\x3b\x1b\xf9\x89\x5f\xba\x1b\x0d\x49\x30\x07\x00\x3b\x13\x09\x2d\x08\x82\x68\xb8\x01\x63\xe4\x4b\x4e\x26\x6f\x00\xaf\x22\x94\xa9\x7b\x4e\x90\xfd\x38\xa0\x30\x8e\x93\xe3\x41\x89\x72\x2e\xb7\x64\x55\x8f\x0a\xd3\x99\xb1\x32\x17\xea\x71\x1c\x5f\x5d\x80\xa2\xea\x51\x76\x5b\x18\xbb\xe8\xf1\x2c\x66\x8b\x2b\x32\x82\x1f\xc6\xf5\x5e\xb2\x46\x6b\xb3\x44\x66\x08\x49\x31\x9c\x75\xd4\xf5\xac\xaa\xfb\x18\xe3\xe4\x02\x99\x21\x5b\x8e\xdf\x1b\xa6\xac\x26\x45\xdd\xbb\x41\x58\x12\xdb\x08\x8e\xd9\x6a\x77\xdd\xe6\xf2\x12\xc4\x7b\xd3\xb2\x86\xeb\xd6\xab\x9a\xb3\x8f\xba\x91\x5d\xc6\x2c\xe0\x2a\x22\xb2\x95\xcc\x66\x09\xb7\xdb\xbb\xa6\x85\x77\x84\x6f\xa7\x00\xf8\x64\xd8\x39\x86\xa5\xe5\xbb\x03\x0e\x7b\x0f\xc2\x8b\x93\x18\x00\x12\x3e\x4a\x01\x2f\x8a\xbe\x1f\xa8\x57\x91\x59\xe2\x37\xa5\x18\xeb\x36\xaa\xc4\xf1\x9e\xe1\xb8\x63\x39\x85\x3c\x13\x74\x9a\x31\xe3\xe0\x80\x05\xfd\x22\xe8\x61\x72\x4c\x6e\x44\xa1\x71\x1e\xb5\x8a\x54\xa3\x32\xa5\x69\xf1\x36\x2e\xa6\x30\xfc\xaa\x55\x63\x38\x47\x32\x4c\x66\x48\xb2\x1c\x46\xee\x75\x30\x77\x1b\x9c\xe5\xac\x71\x1d\x9c\xc4\x31\xc5\x72\x9c\xa5\x93\xe3\x38\x51\x96\xc3\x24\x8e\x6f\x40\x1f\xf2\x3e\x53\x94\x47\xa0\xec\xe8\x53\x38\xeb\xfa\x82\x61\x32\x53\x12\x6f\x83\x29\x96\xbb\x62\x3a\x0e\x96\x64\xd9\x8f\x82\x1b\xb3\xac\x11\x00\xf3\x08\xf4\xb6\x90\x7a\x0d\x91\x09\xac\xc3\x01\xc0\x0f\x63\x5a\xc1\x72\x07\x8e\x49\x3a\x78\xee\x30\x84\xba\x3d\x33\xb2\x8f\x03\x02\x00\xe0\xb8\x41\xb1\xbc\xa4\xfa\x05\x27\xa8\x94\x91\x75\x79\x2e\x8b\x4e\x80\x85\xbb\x80\x92\xc3\x73\x4c\x57\xba\xc6\x6c\x1d\xd5\x98\x99\x62\x9f\x4b\x92\xa2\x26\xed\x08\x30\xdd\x72\xbc\xaa\x4e\x5d\x03\xce\xfa\x6e\x79\x51\xb5\x28\xcb\x22\x63\x27\x3b\xc5\x65\xe6\x56\x1d\x76\x4d\x52\x70\x00\x3a\x12\x27\x07\x5f\x05\x18\x85\x9d\x99\x2b\x56\x01\x10\x73\xc0\xe1\x5d\xb7\x07\xfd\x11\x88\xe4\x02\x63\xc6\x7c\x19\xf7\x3b\xae\x9f\x4b\x03\x9c\x44\x04\xc0\x70\xf2\x02\x2e\x52\x48\xf9\x3c\x19\x08\x85\x6f\xb1\xa1\xe0\x63\xc6\x71\x4b\x30\xd8\x1c\xf0\x67\x03\x81\xc3\xae\xcd\xf8\x0a\x50\x47\xb7\x9f\x31\x8c\xe8\x63\xf8\x96\xe9\x45\x52\x8d\x18\x7c\x34\x0e\x24\xb2\x98\xcf\xfd\xd9\xa1\xe1\x49\x56\x88\xf4\x98\xf0\xc7\x34\x74\x0e\x00\xa0\x7d\x00\x22\x1f\xf6\x99\x90\xb3\x04\x63\x2e\x9c\xbb\xa9\x48\xb2\xa4\x14\x05\x9c\x42\x2e\x1e\x2a\x4f\x3b\x80\xf9\x60\x0d\x7c\x5c\xa4\x6e\x00\x43\x26\x64\xcc\x6c\x79\xee\xa6\x3c\xf1\x71\x2c\x10\xe3\xcf\x4b\xa8\x38\x78\x58\x05\x8c\xc9\x22\x0e\x82\x83\x89\xb8\x0a\x00\xa2\x21\x74\x0f\x6f\x84\xed\x58\x32\xb5\xa3\xec\x96\x95\x25\xce\x6a\x4e\x48\xfe\x65\x7f\xe6\x97\x1b\x05\x0c\x82\x12\xad\xe6\x6e\xba\x6b\x6c\xaf\xab\x6c\xcb\x4f\xcc\x70\x9f\xcf\x5d\x98\xb3\x2b\xb2\x97\x0d\x88\x41\x8f\xaa\xd2\xb1\x7e\xe4\x99\x6e\x3a\xa3\x8d\xf9\x90\x9d\x6f\x00\x51\x14\x2a\x36\x04\x55\xb7\xa8\x1a\xce\xa0\x73\xd2\xaf\x62\x5c\xad\x0f\xf5\x6c\x0d\x55\xc6\x69\xc3\x47\x3e\xa8\xc0\x56\xc2\x5c\xd4\xe7\xb7\x87\x79\xa5\x4e\x0b\xfc\x60\x60\x97\x8d\x56\x02\xd4\x28\xd8\xac\xd2\x51\x1d\x81\xbc\xd3\x2c\x1c\xf3\x65\xa8\x41\x1d\x7f\x6d\x6e\xa1\xc5\xea\xac\x4e\xf3\x43\x62\x6f\x49\x56\xf5\xa3\x53\x6a\x31\xe8\x86\xb0\x0f\x45\xef\xba\x66\x1e\xd8\xbc\x94\xe0\xce\xa2\xe4\xe2\x48\xe5\xa3\x4b\xbf\x0e\x99\xac\xf1\x17\x2e\xdb\xce\x04\x83\xde\x58\x8b\x8d\x33\x1d\x31\xdc\x7a\x6d\xe1\xac\x4c\xe4\x48\xb9\xc4\x79\x07\x15\xf4\x50\x4b\xa7\xb3\x4e\xea\x3d\x0b\x59\xe1\xd6\x1b\xce\x59\xd0\x6c\xe8\x0a\x37\x5d\x11\xe3\xec\x90\x86\xb5\x5a\x85\xd0\x64\xbd\x88\x89\x2d\xa2\x40\xd3\x3e\x32\x1d\x23\x3d\x4e\xc9\x11\xa0\x55\x0c\x2d\xd4\x2b\xbe\x90\x29\xd4\x76\xda\xaf\xe4\x7d\x21\xce\xf7\xd3\x0c\x00\x4c\xee\x1b\xed\xd8\xad\x56\xac\xbb\xb0\x93\x44\x49\x1a\xd6\x8a\x8e\xab\x05\xbc\xa1\x69\x38\xda\x1a\x5c\x0b\xa4\x43\xde\x9d\x04\x19\x1c\x2e\xf2\x01\x38\xc8\x28\x36\x51\xea\x11\x1d\x86\xd0\x1d\x00\x6c\x2c\x12\x06\xb7\x58\xac\x97\xfb\xd5\x66\xcb\xe2\xe7\x7e\x3e\xcd\x97\x16\xa1\xba\xc8\xea\x28\xb7\xd2\xe5\xb8\x63\x23\x06\x5f\x18\xe6\xec\xbc\x6b\x17\x71\x2e\x04\xa6\x32\xc0\xd5\x94\x48\x52\x6a\xe6\x8e\xd1\x57\x5e\x97\x29\xbf\x54\x09\x9f\xd1\x67\xb3\x63\xb0\x76\x68\xc5\x85\x21\x39\xb1\x7d\x01\xb8\xbd\x73\xd1\x3b\xfe\x9a\x71\x96\x26\x7a\xda\xcb\x27\xd3\x1e\xb8\xd0\x28\xb9\xf9\xb4\x3e\x14\x75\xca\x6b\x3b\xc1\xd3\x85\x2d\x12\x69\xad\x6a\x8c\x5b\xce\x91\x03\x0b\x05\x11\x1e\x2f\x2c\x4a\x12\xe6\xca\x6e\x6b\x1c\x4c\x87\x51\xd1\xd6\xe0\x67\x41\x16\xc8\xf3\x33\x4d\xc5\xe9\x45\x87\x10\x65\xc1\xae\xa2\x6d\x25\x07\x47\x5d\x59\xef\xe1\x85\x36\x45\x71\x68\x7b\x28\xd8\x99\xe8\xea\x61\xb5\x3d\x8c\x06\x96\x1c\xe8\xe2\xc8\xc8\xd8\x81\x09\x53\x9d\x50\xeb\x15\xe3\xb1\x2d\x74\x5a\x08\xf5\x80\xf5\xb9\x32\x98\xa6\x38\xc5\x0d\x32\xa0\x8f\xa7\x62\x3b\xb7\x00\x26\xc6\xe1\x0a\xd9\xb2\xc1\x7e\x9e\xb1\xed\x34\x38\x3a\x20\x07\xec\x35\x77\xd0\x6f\x00\xd7\x5b\xa4\xb4\xc0\x71\xbe\x57\x1d\x80\xa5\x5a\xbd\x5a\xe1\x83\x09\xb0\xe9\xae\xa2\x1d\xcd\x9b\x8a\xf3\x60\x2a\x62\xb3\x2e\x80\xcc\x92\x55\x0e\xbd\x8c\xb9\xcc\x3a\xf1\x15\x0f\xb8\x4a\x25\x0a\x19\xa5\x92\xa9\xbf\xc1\x68\x47\x3b\x04\xfd\x0d\xa0\x2c\x49\x46\xc4\xe9\x26\x7b\x14\x28\xe3\xb0\xd4\xe6\x80\x2c\xc3\x9c\xcd\xc8\xf3\xd1\x07\x48\xc7\x4a\x26\x2d\x93\x7d\xc2\x12\xc9\x9a\x82\xc1\xd2\x27\x8f\x95\xbf\xb0\xe6\x66\x05\x76\x4c\x5d\xf2\xd8\x6a\x7a\x0a\x56\x2a\xb7\x6b\x0d\x7d\xcc\xe8\xdd\xba\x22\x3a\xea\x34\x4b\x06\x63\x90\x67\xd4\x1a\xd9\xcf\x02\x44\xb8\xd4\x88\xb7\x5a\x62\x33\xd1\x95\x61\x19\x54\x62\xe8\xef\x0e\xbc\xe0\xb3\xf2\x86\x95\xf0\x55\x40\x1d\xc1\x32\x52\xab\x1d\xb5\xe7\x88\x85\x03\x16\x8e\x22\xb5\xbe\x3c\xd6\x60\x0f\x0e\x4a\xc5\x9b\x4d\xaf\xa3\xa2\x12\x42\x3c\x2d\xad\x09\x32\x59\xea\x69\x6b\x69\x22\x50\x3a\xa9\x90\xb8\xf3\xa5\x13\x37\x58\x59\x06\x8d\x2f\x21\x80\x53\xaa\x83\xe8\x89\x4e\x54\x02\xc1\x27\x84\xc0\x56\x48\xf9\x52\x1e\xc5\x05\x8c\xdf\x00\x46\xfb\xfc\xe8\xd6\xfa\x59\x5f\xe9\x08\x84\xaa\x67\xef\x88\xaa\x9b\x85\xcf\xb8\x56\x7c\x92\x40\x06\x92\x42\x25\xc3\x2e\x5f\xa0\x01\xee\x3a\x78\x17\xfb\xf3\xd5\xc9\xb1\x4f\x43\x9c\x88\x3c\xf0\x2d\x2c\x0a\x56\xce\xf4\xe4\x10\x3e\x35\x1d\xe5\xf0\xd4\x11\xc7\xd3\xe0\xf9\xbb\x83\xb3\x33\xd8\x0a\x00\x56\x04\xa5\x72\x3c\xa7\x01\xd4\x1c\xb7\x17\xb4\x9d\xd1\x11\x9a\x6b\x4b\x08\xad\x17\x65\xa3\xaf\x67\xa7\x65\x5e\x9e\x6c\x1e\x11\x51\x7d\xaf\x5d\x36\x6b\xac\x53\x6b\x1b\xef\x02\x2a\x18\xe3\x43\xbd\x39\x78\xed\x52\xf0\xa0\xb9\x69\x51\xa2\xea\xf8\x5c\xa9\x55\x73\xd7\x3b\x0d\xc1\x4c\x01\x04\x98\x11\x64\xb0\xb0\x51\x2d\x26\x2c\x12\xef\x16\xf6\xd4\x3e\x9c\x22\x2e\xab\xd0\x9a\x01\x8d\x87\xb6\xac\x29\x84\x01\xea\x5b\x68\xbc\x1c\xad\x0d\x7a\x90\x4f\x4c\x54\xee\x5a\xf8\x00\xe4\xf5\xf2\x70\x70\x77\x2b\x7f\x9d\x39\x08\x57\x7b\x7b\x8a\xe3\x06\x4e\xf2\x02\xa1\x45\x7c\x36\xa3\x76\xd8\xe1\x98\x58\xc7\xf6\x80\x89\xcc\xce\x67\xb3\x14\xb6\x6d\x1d\xab\x86\xd2\x30\x0d\xa3\x23\x57\x63\x7a\x1b\x23\xe7\x69\xab\xb8\xea\x4a\xcb\x23\x64\xb6\x0b\x55\x58\xb4\xce\x87\xe8\xd2\x01\x40\x17\xb6\x8a\xc3\x90\x51\x19\x82\x6b\xcf\xbd\x25\x26\xe4\x2b\x12\x76\xf0\x10\x9e\x83\x0c\x52\x7c\x62\x6d\x6a\x80\x0f\xdd\x65\x00\x81\x35\xe3\x61\x37\x80\xfb\x28\x5f\x42\x7d\x05\x00\x6e\x92\x3b\xd2\x60\xa2\xe9\xa5\x65\x96\xe2\x30\xdb\xef\x97\x31\x73\xaa\x31\x68\xc9\xf0\xfa\x59\x67\xf7\x42\x71\x50\x78\xcf\x05\xc9\xc5\x3a\x2f\xc9\x0a\x16\xb1\x28\x66\xf3\x50\xd6\x75\x3a\x15\x11\x3c\x33\xc6\xf6\xc7\x56\x07\x49\x3d\x85\xfd\x9d\x88\x51\x1c\x8e\xa5\x39\x22\xaa\xaa\x68\x42\xb3\x3a\xa8\x4d\x02\x63\xd5\x9c\xd2\x8d\x35\x32\xa0\xf3\xcc\xc9\x4a\x6c\x89\x64\xc7\x55\x81\x2d\x2e\x70\x76\x00\x2d\x74\xca\x7a\x1a\x59\x74\x5a\xe2\x33\xf4\x69\x34\x5f\x3d\x25\x94\xeb\xd8\x33\x1d\xac\x98\x71\x3d\x6a\xb6\x78\xb1\xc1\x7c\x6b\x89\x6e\x40\xdf\xd0\xcd\x61\xbf\x83\x56\x33\x03\xa7\xe6\xe4\xa5\x63\xf3\x82\xa6\xc0\x71\x79\xa4\xe0\xea\xac\xd9\x0d\xd8\xa7\x6d\xeb\xee\x9c\xb2\x39\x19\x9d\xc0\x8f\x45\x8c\x90\xb0\x96\x21\x98\x2f\xd7\xc0\x00\x00\x5b\x26\x7b\x8c\x3f\x3a\xbe\x42\xac\x69\x59\x2a\xd8\x79\xdb\xad\xf1\x33\x88\x71\xf2\x00\x70\x20\xc7\x47\x08\x1c\xba\x83\xc0\x72\xf1\xa6\xbf\xba\xd1\x43\x92\x7a\x2d\xe2\xe9\x39\x8a\x1e\xfd\xd1\xd1\x77\x28\xd1\x9e\x86\x65\x72\xd9\x46\x68\x76\x39\xac\x0d\x85\xab\x70\xa1\x1d\x80\x0f\x76\x62\x08\x67\x33\x67\xb9\x1f\x2a\x44\x40\x0e\x3e\x12\xcc\x01\xce\xb0\xc0\x07\xdb\x03\x6c\xed\xd3\x45\x0f\x63\x84\xaf\x9d\xe8\x55\x83\x28\xf5\xe5\x34\x3a\x7a\x47\x62\x1a\x03\x5c\xc4\x00\xa3\xa0\xb8\x95\x25\x50\xd7\x3e\x58\x2a\x07\x5b\x37\xc1\xc6\xb7\xd4\xd2\xd4\x81\x4a\x02\x30\x25\xfa\xf9\x4a\x44\xa1\x72\xbd\xa2\x7b\x55\x2d\xcc\x04\x83\xb1\x44\x6d\xf8\x38\x3b\x53\x67\xba\x9e\xf9\xc4\xd8\x5c\x48\xd3\xb6\x39\xae\x79\x26\xa9\xce\x72\xb1\xd0\xa3\x41\x1e\xb6\xf2\x12\x11\x48\x26\x16\x9a\x93\xae\x7b\x43\xaf\xe7\xed\x92\xc2\x7c\xc2\x67\xb5\xb8\x3e\x1d\x29\xa3\xde\x03\x90\x16\x2a\xdc\x8b\x19\x01\x1b\xbb\xf0\x98\x2d\x1c\x6a\x21\x8e\xc9\xe3\x1c\x4f\x8d\x59\x8d\xed\x40\x64\xe2\x02\xc0\x40\x60\x47\x10\xe0\xa7\x10\xe8\x64\x1c\x77\x63\x1d\x00\xc0\x3b\xd4\x59\x5e\x65\x9d\xbd\xde\x6a\xc4\xd0\x7a\x44\x68\xb6\x43\x6a\xd7\x48\x4d\xcd\xed\xdd\x22\x73\xf7\x33\x83\x8b\xd7\x6b\x65\x4c\xcd\x48\x80\xe1\x66\xdb\x9c\x8a\x8d\x81\x2b\x58\xcd\x77\x1a\x10\x55\x12\x74\xdb\x7a\x1f\xd7\x83\x6c\xd1\x2d\x20\x0c\x1c\x55\xfa\x9d\x76\x2e\x42\x09\x4c\x05\x13\xf0\xc1\xe0\x14\xa4\x2f\x39\x40\xe8\x32\xdc\x6f\x5d\xa5\xaf\x14\x7a\x37\x26\x8f\x24\xb5\x9c\x66\x82\x8d\x4c\x0f\x80\x59\x3b\xe1\x41\x74\x8e\xfe\x2a\x17\x8c\xe9\xee\xdc\x8b\x72\x8b\x9c\xce\x09\xd5\x9c\xd1\xb9\xbf\xed\x06\x74\x06\x43\xf6\x96\x5b\x0e\x68\xef\x2b\xeb\xf5\xca\xcb\x12\x5d\xdd\x91\x16\xe1\xc2\xf3\x8e\xf6\xc6\xbe\x9e\xd1\xbb\x67\xc7\xd7\x10\xb9\x6f\xe5\x2e\x85\xb5\xcc\x3c\xb2\x52\x11\x49\xf8\x02\xc8\x22\x94\x34\x5a\x06\xd4\xea\xb8\x02\x3e\x10\x79\x6c\x6f\x69\x1d\x00\x31\xc0\xa4\x5e\x81\x66\x87\xe4\x54\xec\x0a\x59\xda\x13\x76\x70\xb4\xe1\x51\x97\x6d\xaf\xcc\x31\xd4\xde\xcc\xcf\x79\xa3\x93\xe6\x19\xc3\x09\x44\x70\xdc\x23\x95\xe3\x1c\xe9\xe3\xc4\xc9\xa1\x0e\x7c\xb7\x06\x00\x10\x6a\xa7\xcc\xe3\x54\x4d\x16\x70\x9c\x74\x65\xce\xf3\xc1\x41\x64\xb8\xf3\xb2\x81\xc9\xf5\xa9\x44\xda\x31\x93\xc2\x52\x9f\xdf\xbb\x4c\x5c\x9a\x55\xe8\x9f\xad\x20\x3e\x37\xee\x12\x50\x9a\x3f\xad\x87\x63\xa7\xa6\xc7\x1d\xaa\xb0\xbb\xdc\x3a\x5b\x3a\x07\xe6\xda\xad\xd1\x1e\x52\xa7\x82\xf5\x39\x60\xc2\xeb\x63\x59\xcb\xa8\xdb\xd7\xe2\xde\x70\xc6\x70\xee\xd0\x1a\xe4\x76\x8d\xc7\x6d\x29\x4a\xac\x8f\x79\x79\xd0\xa5\x7b\x9d\x3d\xd7\xdb\x22\xc9\x97\x1a\x79\x90\x5b\xcc\x5b\x91\x58\xa8\xa2\x85\xcf\xda\x22\xe8\x88\xf9\xce\x5b\xef\x00\x4f\xf0\x01\x6d\xef\x01\x00\xb1\xcf\x4d\x6b\xaa\x5a\x8c\xf6\x70\x6a\x5c\x58\x67\x73\xc1\x53\xd6\x42\xcb\x7e\x77\x68\xe2\x6d\xda\x77\xd5\x51\xdb\x50\x55\x84\x44\xf3\x43\x58\xe1\x80\xc6\xd7\x54\xd4\xd9\x5b\x72\xe3\xb3\xb7\x2a\x49\x7a\x89\xaa\x33\x8c\xbb\x14\x6f\xee\x76\x7e\x36\xac\xf9\x29\xf5\xd0\x5f\x0e\x3b\x03\xf3\x99\x7e\x3a\xd0\x21\x8e\x01\x0e\xc4\x18\xb7\xcf\xa9\x59\x25\x6c\xd8\x5c\x73\x2e\x64\xb8\xb1\xca\xd9\xc2\x88\x69\xbf\x6c\xea\xc5\xe9\xc0\xa6\x91\xcb\x2e\x5b\xb2\x33\x0f\x17\x40\x8b\x18\x43\x12\x6a\x19\xf3\x0e\x06\xc0\x58\x90\x44\x38\x20\xc3\x62\x31\x65\x3b\xa9\x22\xe7\x80\x35\x6b\x3e\x05\xc4\x72\x9b\x0a\x46\x67\xc4\x02\x63\xb6\xf5\xa0\xee\xdd\x73\xe9\x61\xab\x53\xc8\x47\x3a\x03\xe3\x09\x86\x2d\x01\x03\x38\x07\x5d\x83\x4d\x56\x91\x54\xac\xc8\x5b\x12\x1f\x0d\xec\xd4\xb1\x3d\x89\xc0\x61\x4b\xca\x77\x74\xb1\x3f\xe4\xb1\xc3\x41\xab\xe5\xae\x4f\x91\x32\x4f\x8a\xcb\xb1\x32\x58\x5d\x0a\x21\x4a\xbc\xb5\x86\xc5\x68\xc3\xe3\x40\x08\xed\x52\xc4\x44\x40\xe0\x44\x55\xe4\x59\x76\x68\x6a\x77\x0a\x8f\x19\x3d\xee\x6d\xfc\x65\x48\xba\xa1\x71\xf4\xb5\x44\x04\xcc\x7c\x3a\xef\xaa\x88\xc4\xc8\x10\x8b\xb3\xbd\xb8\xe4\x42\x18\xe2\x14\x11\x16\xcf\xfa\xe9\xdc\x0f\xe1\x14\x78\xcd\x91\xcb\xf8\x33\xa9\x9d\x44\xc1\x1c\x4a\xf8\xb2\x99\xcf\x8a\x9d\xcf\x23\x0f\xaa\xd7\xb7\xb6\x29\x14\x4e\x6f\x2e\xd9\x65\x54\xc6\xe5\x79\x7e\x41\xce\x1b\xe0\xfa\x1c\xd1\x2f\xb7\x29\x5b\x69\xbb\xc0\x76\xe6\x48\x53\x2c\xd6\xf3\x69\xd6\xc8\xee\x1e\xcb\x33\x3c\xc4\x35\xba\x1c\xa6\xfa\xa0\x02\x88\x20\x6a\x62\x0d\x94\x87\xee\x2d\x1a\xc0\x31\x8f\x03\x30\x38\x54\x3b\x95\xa7\x27\x59\xde\x47\x9e\xa1\xc7\x4a\x6e\xa3\xf3\xe4\x84\x48\xa7\xa4\x28\x58\x8f\xf7\xa2\x38\xa0\xc1\xa9\x59\x69\x19\x20\x01\xee\x03\x90\x73\x52\x54\xef\xa6\x5c\x24\x12\x3a\xdf\x19\x63\xe4\xa0\xde\xce\x7b\xe0\x5c\x95\xaf\xe1\x3e\xc8\x37\x33\xf5\x5c\x88\x58\x87\xf6\xf3\x85\xe3\xd5\x45\x74\x16\xc9\x4b\x83\x6e\x37\xd8\x72\x3f\x95\x96\x0b\x58\x2d\xd6\x82\x16\xfa\xab\x4e\x48\x96\x7a\x93\xc2\x9e\x35\x8f\x39\xe2\x90\x59\x36\x5b\xdd\x00\x2e\xad\x5d\xe1\xdb\xc1\x61\xc8\xdb\x39\x27\xcd\x43\x81\x08\xe3\x6e\xbd\x36\x73\x63\x55\xcc\x18\x81\x77\x6c\x20\x03\x01\x68\x75\xe2\xe0\x69\x66\x3b\x65\xb4\x9d\x73\x5b\x79\x05\x99\x69\x15\x69\xba\xb4\xa7\x36\x2c\x2c\xa9\x34\x27\xa4\x23\x97\x2f\x97\x8d\x0e\xd6\x44\xbb\xdc\x5d\x93\x31\x89\xc7\x45\x15\xcc\xb7\x65\x58\x9f\x34\x1e\x89\x1d\xf3\x44\xa3\x22\xaa\x40\xad\x39\x5f\xb1\x88\x41\x07\x4e\x82\x59\xc3\xf9\xe4\x5e\x1a\x0d\x59\xf8\x3b\x30\x94\x0e\xec\x8c\xd9\xd4\xd8\x5f\xc6\x83\xe5\xc1\xbd\x3e\xd8\x5e\xf4\x33\xa5\xcf\x2f\xb2\x73\xb6\x74\x0b\x49\xb6\x4e\x76\xa2\x7b\xbd\xf7\x3a\x0e\xec\xfc\x58\xc7\xf2\x9d\xda\x76\x5d\x34\x55\x85\x60\xe1\xed\xb7\x17\x55\xa8\x66\x10\x49\x4d\x73\xb3\x9c\x36\xee\x42\x18\xc6\xf4\x76\xdb\x19\x2e\x00\x98\x8f\xe4\x0b\x64\x17\xca\x3e\x30\x20\x53\x8b\x85\x24\x8c\x49\x9f\x4e\x97\x5b\x54\x70\x3a\xe3\x3c\x30\xab\x56\x38\xcf\xea\x65\x5f\xf5\x73\x19\x8d\x31\x63\xb3\x24\x55\x11\xa3\x96\x80\xc1\x40\x72\x30\xe8\xf9\x21\x1b\xad\x8d\x81\x67\x2c\x00\x84\xee\x4d\x05\x93\x35\xc3\x15\xd4\xaf\x96\xd0\x85\x5e\xed\x86\xd3\x86\x5f\x1c\x07\x89\x4b\xa9\x43\xd2\x7a\x7c\x15\xc6\x22\xdd\x69\x0f\x67\x1f\xd0\x9d\x48\xac\x0f\xf8\x35\xa7\x24\x7c\x0b\x16\x9b\x33\xb6\x7b\x70\xa3\x83\xc7\xce\xad\xa5\x09\x91\x92\x86\x01\x35\x06\x24\x51\xb4\x19\xbf\xc2\x44\x0c\x34\xc0\x6f\x06\xaa\x60\x76\x75\x72\xa6\x51\xce\x9d\x77\x27\x2e\xb3\x53\x21\x00\xe8\xb0\x5e\x14\x7a\x26\x1d\x92\x4d\xd0\x65\x02\x9d\x11\x00\xc4\xa3\xd8\xd8\x1d\x01\xc0\x62\x49\xd1\xa0\x39\x9e\x62\x3a\x43\x4f\x1e\x52\xd7\xdb\xcd\x51\x25\x3c\xb0\x31\x12\x03\xc7\x44\x38\x3b\x94\xd0\x4c\xc4\xd7\x4c\xdb\xe0\x57\x7a\xe7\xb6\x0a\x44\x9c\x43\x10\x3e\x21\x51\x61\xb5\xd6\x80\x4d\x8b\xca\xd8\xf1\x39\x30\x87\x7d\xa6\x6c\x86\xbd\x83\xc6\x88\xe0\xad\x14\xa0\xed\xc0\x1e\x6b\x4e\xca\x9a\xbf\x9d\xee\xd8\x0e\xca\xfc\x20\xaf\xaf\x9f\x33\x72\xb7\xa5\x6d\xa4\xb1\xf0\xae\x23\xdb\x19\xa9\x07\x54\x19\xaa\x91\x0d\x2c\x60\x22\x2b\xe8\x34\x36\xb9\xcc\x54\x31\x8f\xb6\x3e\xa0\x58\xa7\xe7\x67\xd5\xe2\x4d\x4e\x3a\xaf\x5c\x13\x66\x21\xc8\x57\x3d\xc5\xcd\x35\xb2\x03\xc0\x14\xa8\x6a\xdf\x73\xe0\x2c\xca\x3e\x98\x02\xec\x90\x19\x6b\xf6\xbc\xb8\x20\xdd\xd9\x5b\xcf\xce\xd5\xd1\x81\xc6\xca\x92\x22\x88\xba\x42\x18\x26\x96\x80\x68\x4f\x84\x85\xd6\x35\x00\xd9\xb3\x9b\x2b\x46\x24\xc6\x81\x7a\xa3\x95\xd5\xa9\x82\x90\xfd\x6c\xc3\x0b\x9b\x99\xbc\x29\xdd\x35\x49\x2b\x26\x9d\x0e\xf8\x82\x37\x92\x93\x48\x02\xfc\x02\x51\x98\xf3\x50\x32\x05\x04\x58\x38\x73\x3f\x9c\x0f\x6b\x09\xec\x2b\x28\x59\x52\xfb\xa3\x96\x6d\x08\x6d\xbe\x64\xb7\x33\x0c\x23\x9a\xa8\x88\x3b\x48\xb3\x16\xdb\x95\x68\x37\x5b\x4d\x66\xa6\x88\x65\x5a\xd9\xee\xc8\x96\xae\x76\x46\x86\x18\xdf\x98\x0b\x91\x7c\x68\x14\x52\x03\xb4\x10\x07\x5f\x33\x47\x71\x87\xb2\xa3\xd3\x5f\xf0\xa5\x7e\x52\x9a\x29\xbc\xd1\x3c\xc8\x59\x2d\x97\xec\x5c\x53\xc0\x56\xa5\x12\xb0\x98\x4d\x35\xb0\xe7\x42\x48\x3c\x64\x87\xce\xf0\x0d\x10\x81\xd5\x6c\x21\xd0\x73\x19\x1e\xbb\x15\x0b\x8e\xa0\xdb\xf3\x66\xc3\xf3\xc5\x5a\x39\x50\x0e\x5a\x66\x9c\x99\x6e\x85\x4c\x99\xd9\x09\x13\x68\xbe\xb3\x3a\x02\x7e\x3c\x2c\xc6\x03\x7d\xa6\xd9\x62\x87\xfa\x56\x3e\x08\x39\xeb\x4e\x39\x17\x39\x39\xf3\x50\x16\x96\xc8\x69\xec\xf8\xb4\x9b\x69\x92\xb5\x4d\x38\xeb\xd4\xfd\x01\x9c\xe1\xc5\x66\x8f\x0a\x5a\x3f\x44\x73\x5f\x5b\xa1\x87\x84\x5c\x53\x0c\x40\xa8\x45\x22\x15\xe8\x8a\x6c\x9d\xd5\xb2\xdd\x1d\x4f\xd4\xbc\x24\x16\x2a\xcb\x82\x6e\xbe\x0c\xf4\xe5\xce\xc4\xed\x45\x35\xb6\x32\x77\x6e\x3f\x8d\x86\xab\x3d\xc4\xa6\xc1\xe9\xb2\x59\x4c\x37\xcb\x85\x89\xef\x0e\x2b\x0c\x85\xb4\x58\xa1\xf1\x96\x20\xb9\x5a\x0c\x94\x64\xce\x85\xb8\x0f\x48\x60\x97\x27\x5b\x57\x0e\x55\x75\x45\xfa\x98\x7b\xde\xac\xd6\xca\x6c\x30\x46\xe3\x90\xce\x67\x1d\x31\xb3\x3c\xa3\x8e\xb8\x53\xd5\xed\x17\x90\x7c\x3c\x08\x30\x4b\xa4\x81\x00\xcd\x63\x4b\xcd\xca\xba\x85\xaa\xf9\x0c\x39\x5d\x6c\x0f\x4a\x85\xbd\x9b\x3a\x19\x4e\xa7\x98\x16\x87\x0d\x8c\x8b\x5b\x4c\x8f\x0f\x06\xb4\xe0\xba\xd1\x38\x24\xc8\x0e\x8a\xca\xe6\xc0\x2f\xc5\x55\x36\xcc\xeb\x96\x10\x2f\x53\xdb\x44\xe9\x41\x08\xa7\xfe\x9e\x06\x73\xc2\x24\x7d\xf0\xe1\x36\xf8\xcd\x4f\x3f\x3f\xfe\x38\xf3\x9d\x93\x7f\x61\x62\xf9\x5e\x05\x85\x4e\x96\xfe\xb2\x59\xbe\x79\x37\x79\x73\x7b\x02\xe5\xe9\xe7\xa7\xff\x42\x0d\x13\xa4\x0e\xe6\xb6\x7e\x76\xdd\xe1\x5e\x56\x03\x52\xf5\xaf\x1a\x74\x3b\x6a\xe4\xe3\xd7\xd8\x1c\x10\x61\x42\x3b\xf3\xdb\x93\xad\x8b\x29\xd7\x90\x77\xb7\x3d\xe0\x50\x1f\xdc\x8e\x89\x00\x6a\x50\x23\x77\xd4\x75\xc0\xad\x04\x5a\x88\xae\x4f\x7d\x03\x0e\x64\x45\x04\xc0\x0b\x0d\x00\x18\x9c\x04\x80\x58\xde\x5e\x08\x3e\x00\xb4\xda\x01\x40\x14\x57\xf0\x42\xee\x03\x80\xb9\x5d\xba\xcb\xa5\xc3\x4d\x3c\xcc\x50\x86\xdd\xb1\x02\x0a\x0e\x6b\x00\x75\x04\x94\xed\x90\x34\xba\x89\x6a\xdc\xc9\x54\x3c\x00\x00\x1a\xa6\x03\x60\x17\xf2\x98\xc7\xa9\x90\xeb\x03\x40\x71\x01\x2b\x91\x94\xea\xed\xcb\xfa\x78\x8c\xab\x23\xef\x2e\x20\x14\x1e\xd6\xcb\xf9\xa6\x21\x86\x11\x60\xd2\x4b\x54\x68\x33\x95\x70\x34\xd7\x1a\x93\x2a\x2c\x65\xc8\x3a\x6a\x39\x35\x39\x73\x6a\x3d\x72\x6a\x92\x5a\x32\xb0\x26\x51\xa4\x0e\xb2\x30\x10\x33\x70\x16\xa9\x24\xc4\x32\x5f\xb7\x18\x12\x10\x14\x9e\x88\xc7\x28\xae\x33\x78\x3e\xba\x59\x01\x4e\x5d\x9d\x99\xdb\xbd\x69\xc5\x3a\xcd\x86\xa9\x62\xd4\x91\xc4\x52\x91\x53\x0f\xf1\x66\x70\x37\xab\xd5\x74\xed\xcc\x37\x53\xf5\xdc\x84\xb9\x8d\x13\xb3\xcb\x74\x33\xb5\xbc\xd5\xa2\x6d\x13\x36\x6e\x51\x5f\x40\x0c\xa9\xb9\xfd\x37\x5a\xf4\xeb\x3f\xd4\x06\xd4\x65\x86\xed\xd1\xf4\xe4\x71\x95\x25\x1f\xf5\xa6\xb4\xca\x56\x6a\xd5\x52\x49\x63\xc7\xd1\xa0\x85\x85\xc6\x84\xe4\x49\x1c\xe5\x3a\x73\xd3\x5a\xa6\x43\xab\x23\xf6\x4a\x60\xf2\xce\x0c\x56\x7b\x74\x15\xd2\xc6\x98\xa0\x1f\x86\xfa\xd2\x5e\xe6\x61\x01\x60\x58\x49\x7d\x48\x3f\xd2\xb3\x13\xba\x15\x2b\x2a\x0a\x61\xd1\x1e\xa6\x0e\xd0\x66\xc8\xd9\x93\x22\xa5\xeb\x54\x17\xb9\x9c\x2a\x8d\x59\x6f\x84\xb3\xbd\x2b\xbb\x34\x63\x99\x5d\xb7\x26\x33\x20\x30\x80\xf2\x47\x4d\xea\x08\x05\xef\x1d\xc0\x62\x24\xcb\x84\x0c\xf0\xb3\x90\xc1\x01\xe3\x33\x3e\x83\xb1\xdb\xdc\x3d\x48\xb8\x54\xa0\xd5\x01\xc7\x00\x0b\xc2\x70\x2d\xfa\x20\x82\x0e\x0c\x15\xc9\x18\x26\xb6\x01\x2a\x4a\x91\x78\xac\x49\x1c\xe3\xf2\xb1\x0c\x43\x6f\xec\x72\x11\xf0\x61\x14\x38\xfe\x5c\xd4\xe6\xae\x11\xf9\x40\xa2\x30\x39\x4a\x62\x35\x49\xf3\xd5\x2e\xd9\x1d\xd7\x65\xbc\x2e\x36\x0b\xe1\xc0\xb1\x30\x21\xe2\xd1\xc1\x53\x48\x47\x2c\x01\x31\x5b\x6d\xa6\xab\xe9\x6a\x57\x1d\xd0\xb6\x1e\x8d\x47\xb7\x01\x33\xb3\xb5\x3b\xea\x24\xf2\x50\x39\x83\xc0\x85\x58\xce\xb9\x1d\xd6\x2e\x58\x9a\xb1\x98\x8e\xc9\x99\xc5\x96\xb1\xbd\xd6\x5d\x23\x25\xcc\xa0\x02\x7f\x6e\xd9\x93\x90\x2d\x4e\x27\xbc\xe8\x66\x64\xc0\x48\xb1\x28\x86\xa8\x85\xae\xc6\x18\x1c\xb6\xea\x93\xa2\x61\x08\x72\x08\x98\x86\xae\x37\x8b\x3a\x4d\xb1\x72\xb5\x18\xe8\x3d\x04\xb6\x40\xce\x8c\xf3\xa5\xd7\x34\x05\x17\xf0\xc3\x49\xd0\xf7\x9b\x6a\x7b\x6a\xbc\xa9\x7b\x82\x76\xf3\x12\x1d\xd6\xbc\xbc\x55\x85\x16\xb5\x74\x83\x18\x7b\x05\xc5\x1c\xc5\xc8\xe3\x91\x14\xa5\x03\x2e\x72\x8b\x82\x8a\x3d\x8a\x77\xdd\x46\xe8\x78\x0d\xd5\x39\x15\x3b\x52\xda\x45\x3b\x06\x75\x82\x9e\xcb\x73\xdd\x76\x33\xb4\x6d\x76\xb3\xe6\x70\xdc\x02\xa0\xfa\x41\xb4\x8d\x77\x87\x23\xbb\x31\x5b\x73\x8c\xc1\x77\x2b\x74\x9d\x0d\x6b\xba\x12\x02\x8a\x42\x1a\xd4\xa2\x61\x72\xcd\x92\x2d\xd0\x03\x6f\x9a\x22\x07\x9a\x58\xc1\xe6\x0a\xea\x13\xc7\x39\xed\x30\x99\xdb\xf0\xb3\xf4\x08\x83\x22\x35\x28\x99\x0b\xb1\xd5\x89\x09\x85\xc1\x47\x23\x64\x86\x8d\x99\x96\x41\xeb\x33\x9f\x8f\xca\x19\x44\x60\xd8\x74\x49\x47\xdb\x9d\xd2\x27\xd2\xc9\xee\x4f\x9b\x69\xe1\x40\x6b\xbd\x1a\xf8\x4d\x3c\x50\x9b\xcd\x7c\xb9\xae\xbb\xde\xc4\x41\xb1\xe8\x6c\x31\xe4\x71\x89\xd4\x0f\x58\x44\x1c\x5d\x0f\xf5\x98\xf9\x7a\xf4\xdb\xd3\xc0\x83\xa6\xb3\x06\xf2\x6a\xc8\x41\x01\x37\x85\x1a\x79\xb8\xec\x94\xd6\xe7\x56\x65\x32\xad\x31\x72\x8e\x9b\x60\x46\x4b\x16\xa5\xac\xb2\x62\x2f\x72\x38\xee\x56\x05\x96\x2f\x67\x5b\x62\xe3\xd1\x18\xb1\x5a\x1d\x9b\x94\x9d\x2d\x33\x68\x2c\x58\x2e\x8b\x29\xe4\xec\x58\x63\x77\x40\x4e\xc1\x70\xda\x6e\x23\xc9\x08\x3b\x4c\xe2\x90\x53\xba\x83\xd0\x50\x1a\x56\x50\xa3\x40\xeb\xf4\xd4\x34\x03\xa2\xf4\xb1\xb5\x9e\x06\x47\xc9\x66\x97\xa2\xca\x61\xd6\xae\x61\x13\x5f\xdb\xb1\x12\xd7\xc8\x63\x23\x31\x66\xb0\xdc\xaa\x43\x92\x02\x39\xc0\x19\x8a\xa6\xa1\x18\x40\xd0\x9e\x3e\xa3\x68\xe1\xc1\xde\xa1\x15\xd9\x23\x69\x41\x6c\x4a\x93\x4c\x06\x30\xc3\xdd\x20\x0b\x68\x10\x0e\xa7\x29\x7b\xc6\x7a\x9e\xc5\x21\xe8\xd2\x1f\xa7\x5b\xc3\x32\x47\x4d\xd9\x02\xb3\xf2\x60\xb8\xf1\x66\x0d\x76\xb9\xe8\xbc\x58\x6e\xc9\xd8\xd5\x34\x0e\xd7\x6d\xd1\x07\x60\x29\xa4\x9e\x2f\x1e\x56\x9b\xcd\x6a\x68\xad\x03\x8d\xf8\xdb\x8a\xc9\xc5\xd0\xd5\x9b\x4c\xea\x00\x94\x21\x90\x4d\x0c\x2b\x38\x3b\x9d\xc6\x2d\xa7\x14\x63\x41\x27\x67\x18\x90\x43\x81\x04\x83\x6c\x4b\x51\xb5\xc3\xfb\x6a\xaf\xcc\x51\x8c\x59\x9d\x0d\x5c\x87\xc2\xc0\x85\x1c\x8c\xd3\x4d\xc5\x0c\x44\x87\xd2\x36\x05\x7f\x16\x61\x3f\x21\xbb\x64\x1e\x44\x45\x25\x68\xe4\x99\xc8\xfc\xb1\xbe\x88\xae\x6c\xe1\xdc\x5a\x64\x8c\x71\xbb\x70\x48\x0c\xcd\xe7\x74\x53\x87\x67\xf4\xd9\x13\x76\x5b\x0b\xd8\x6a\x98\x67\xac\xa2\xd3\x80\xeb\xac\x39\x67\xe4\x09\x8d\xb3\x2a\x06\xc7\x22\x9e\xa9\x70\xe5\x70\xb0\x8f\xf3\xac\x24\x17\x85\x30\xf6\x0a\x68\x2f\x86\xc9\xc2\xcc\x99\x9c\x62\x6c\x42\xf5\xf6\x5d\x27\xf0\xc8\x65\xe5\x0b\x73\x37\xd5\x83\x52\x1e\x34\x0a\x23\xc8\x81\xcf\x23\x75\xb7\xe7\xe1\x39\xc6\xf8\x54\x25\xcf\x7c\xbf\xdf\xab\x03\xa7\xc9\x21\x2e\x55\x24\x46\xaa\x64\xf6\xd0\x1e\x91\x0a\xa4\x5d\xd0\xfb\xe3\x99\x77\x67\xeb\x5c\xa6\x35\xcf\x4c\x9b\x26\x0d\x4d\x2b\xcb\x19\x46\xc4\x00\x13\xa4\x6a\xe1\xb7\xf6\xac\x56\x51\x01\xe3\xa8\x50\xc7\x5d\xfe\xe2\x02\x4c\xc7\xe8\xa9\xcd\x64\x78\x0b\x50\x69\xaf\x6e\xb8\x31\xc2\x25\x84\xd0\x0a\xb6\xc8\x11\x00\x30\x54\x83\x30\xdf\xd3\x91\xc9\xec\x1d\x0e\xec\x1a\xd7\x95\xe8\x10\xd5\x74\x4a\xf2\x76\x8e\x7e\x59\xbb\x41\x2f\x2c\x2c\x2a\x6f\xa3\xc0\x4a\x88\x05\x4d\x75\xa2\xd8\xc8\xb5\xdf\xed\x0e\x79\x25\x0c\xd6\x78\xe6\x7d\xb1\x25\xa0\x0b\x31\xe7\x89\x0e\x39\x6b\x78\x89\xf3\xb4\x1c\xa9\x5d\xd2\x55\x68\x84\xf3\x80\x20\xe0\x2d\x6e\xe6\xa1\x15\xf3\x5b\xd4\x0e\xad\x79\x5d\x6a\x15\x3b\xed\x23\x16\x70\xb2\x2a\xd7\x3c\x9c\xe9\x95\x2c\x96\xbe\xb2\x75\x1f\x5c\x00\x7f\x8c\x63\x32\xf1\x06\x0a\xa2\xa5\x60\x98\xe2\x73\x7b\x19\x5c\x48\xbf\x4c\x2f\x67\x6d\xb7\x1b\x02\x27\xc8\x66\x21\x55\x11\xe1\x36\x4b\x84\xa1\x9e\x12\x15\xb4\x1e\x56\x07\x66\x48\x4e\x12\xba\xf1\x0e\x33\x57\xd3\x64\x81\x0c\xcf\x12\x3c\x9e\x5c\x93\x2a\xaa\xf4\x67\x8c\x9c\x27\x51\x26\x6e\x1c\xa5\x39\xf5\x5c\x89\xd9\x74\x92\xa9\x19\x6b\xea\x49\x7c\x20\x8e\x92\xe9\xbb\x3c\xb1\xaf\xfa\x35\xdd\x1c\xed\xba\x47\x87\xb6\x0d\x24\x91\x53\x5c\x2a\xd9\x89\x00\xcf\x14\xc4\xed\x8c\xcd\x68\x1c\x4e\x92\x1e\xb7\x60\x96\xcc\x7a\xf6\x82\x30\xa4\xef\x47\x87\x32\x55\xdb\x23\xb6\xe1\xe1\x78\x1b\x59\xa1\xd6\x4f\x7b\x09\x02\x84\xd8\x1c\x24\x11\xe4\xb9\x65\xc0\xec\x69\x10\x30\x0c\x3e\x67\x14\xa8\xe6\xc2\xc5\x5e\x6c\x48\xd8\x58\xe5\x23\x97\xe7\x04\x41\xb8\x49\x37\x5f\xed\xfc\x8b\x2f\xd2\xb6\x5d\xad\x98\xf3\x9c\xcd\xb7\x3c\xd3\x9d\xb7\x12\xe5\x50\x70\x4f\xb1\x0e\xe1\x92\x70\xae\xda\xa8\x21\xce\x02\x43\xaf\x08\x4a\xee\x4f\xa7\x55\xeb\xd3\xfc\x45\x40\xa3\x88\xdf\x86\x16\x18\x9b\x0f\x83\xec\x80\x6e\xc0\x60\x43\x8b\x13\xd0\xd0\x19\x3a\x88\x74\xc4\x59\x6a\x9e\x2b\x34\x50\x45\x6c\x27\xa6\xc0\x48\xe6\xec\x7c\x76\xf2\xf0\xd8\x05\x5b\x8f\xf6\x10\xca\xc2\x8b\xcd\xc9\x3d\x8a\xfc\x61\x5d\xd4\x8b\x0a\x5b\x0a\xf1\xd6\x1e\x01\xce\xf3\x08\xeb\x06\xcc\xdf\xd2\x19\xc7\xbb\x0e\xb3\x5d\x23\x64\x07\x4b\xdc\x52\x2d\x94\x9e\x06\x2c\x49\xcb\x18\xbe\x4b\x34\x1a\xb7\xda\x63\xa7\x3a\xdd\x36\x3f\xf2\x2c\x23\x23\x46\xaa\x05\x65\x01\xcf\x1c\x20\x88\x7d\x84\xaf\x0c\x7e\x4c\xdd\x16\xe1\xb2\xed\xc2\xe5\x62\xa7\xcd\xeb\x92\xe1\x66\xf0\x96\xbd\xd0\xbb\x36\x57\x14\x09\x26\x4c\x33\x66\x6b\x92\xe4\x7b\x69\xca\x68\x2c\xab\xc8\x31\x05\x28\xd7\xdc\xcd\x57\xe7\x8c\xf2\xab\xae\x24\x4d\xf4\x08\x2f\x89\x16\xf5\x00\xbd\x1a\x0f\x9a\xad\xb4\x64\x0d\xd5\x70\xb5\x4e\xf9\xd8\xdd\x1c\xce\x58\x40\xe3\xfb\xd9\x76\xe5\xc6\xc9\x7c\x03\xfb\x68\xc9\x0c\x78\x0d\x2d\x2e\x34\xa3\x87\x60\xe1\xf6\x5b\x71\x41\x0b\xce\xd5\xe4\x35\xc6\xd6\x2c\x9a\x4e\x91\xf7\xca\x91\x07\x99\xaf\x8d\x01\xa9\xdc\x44\x0d\x38\x76\xf1\x40\xa9\xb9\x2c\xe1\x97\x78\xe6\xf4\x53\x2d\x13\xb0\x01\x32\xc3\x0d\xda\x5e\x3c\x82\x9c\x2d\xed\x7e\x16\x36\xbb\x8a\xa9\x04\x79\x27\xeb\x78\xd3\x75\x64\x00\x5b\x9b\x00\x6a\x7a\xa2\x9a\x22\xbe\x9e\xf6\xc4\x79\x34\x5f\xab\x8d\x2b\x72\xe7\x20\xf6\xe7\xb6\x19\x43\x6d\x14\x5a\x44\x52\x47\xed\x71\x4f\x85\x49\xa2\x4a\x3c\x3b\xd7\x0c\x21\xc2\x72\x39\x76\xe5\xc6\xdf\xcc\x14\xc2\x08\x19\xc2\x3d\x76\x35\xd9\x2a\x1e\xb1\x8f\x7b\xb3\x43\x2f\x10\x3a\x3f\x10\xa3\x60\xbb\xcd\x0e\x0f\x21\x7e\x3e\xf5\x44\xd8\xac\x17\x0e\xee\x32\xb3\x2d\x44\x71\x54\xef\x2f\x12\x9e\xdc\x48\xab\x52\xe2\x75\x25\x84\x40\x3d\x08\x87\x94\xdc\xef\xb8\xa3\x86\xd4\x97\x12\x4c\x63\xaa\x18\x22\x2e\x42\xb1\x3d\x03\x47\x28\xa6\x8f\xf1\xe1\xa2\xea\x88\x23\x58\x75\x71\x02\xdb\x14\x19\x91\x02\x61\x9f\x07\xfd\x30\x24\x44\xa1\x74\x73\x9a\x48\xed\xf3\xb0\x58\x55\x9d\x4b\x3b\x5c\xbe\x58\x4e\xcf\xb5\x07\x45\xb0\xd6\x94\xb5\xa4\x32\xa9\x7c\x60\x8f\x04\x6a\x6c\x60\xe3\x74\x74\xc6\x4a\xbc\x59\xaf\x98\xf9\xa6\x86\xf8\xf9\x62\xc7\x2e\x4c\x9f\x5a\xc5\x3c\xb0\xab\xfd\x06\x3b\x85\x47\x72\xd1\xd4\xc1\x91\x1c\x28\x8c\x9b\x2a\x39\x08\x4a\xad\x49\x01\x20\x3d\x32\x9f\x13\xe2\x3c\xbb\x5c\x44\x66\x7a\x8a\xe4\x73\x0a\xd5\xdb\xca\x1c\xb3\x55\xdd\x01\x9b\x33\x7a\x3c\xb7\x11\x04\x1b\xb5\xb7\x42\x5a\x62\x4d\x5d\xcc\x0e\x32\x10\xcd\x6a\xa4\x0a\x80\xf9\x1a\x65\x12\x22\x9d\x66\x14\xb2\x26\x76\xd0\x50\x50\x29\xda\xa5\x21\xd4\x3b\xa4\x2c\x67\x4a\x1b\x91\x7d\xef\x62\xd8\x3e\x8c\x6f\x00\xa9\x14\x07\xf1\x0e\xe3\xf9\x29\x1d\xb8\x11\x4a\xd7\x4a\x90\x31\xe4\x4c\x69\x62\xa5\x21\xe2\xca\x01\x3e\x68\xf6\x3d\x0e\x96\xc7\xfd\x82\x3e\x4c\x0f\xd6\x3a\xf0\xf4\x8a\x06\xbe\x2c\x5e\x00\x6c\x0e\x54\xb9\x66\xb6\x74\x40\xe3\x4d\xe4\x3d\xb8\x00\xf7\x94\xf0\x42\x6e\xaf\x3b\x3f\xbe\xc0\xc8\xec\x7c\x8c\x94\xea\x6c\x24\x1b\x1c\x36\xce\x7b\x56\xf6\xa9\x96\x6e\xc0\x61\x55\xd8\x3c\x40\x95\xdc\xe9\x40\x36\xcb\x32\x42\xe8\xba\x33\xa7\xd0\x88\x48\xb4\x0d\x14\xfb\x68\x8c\xa7\xdd\x58\xca\x5a\x6e\x9c\xde\x91\x73\xd6\x59\xbb\x26\x7b\xf0\x01\xee\x79\x0d\x30\x02\xff\x04\x1f\xdc\x25\x7b\xbe\xf0\xa0\x3c\x2e\xa0\x6d\x6c\xae\x2b\x1f\x41\xd5\x85\x82\x9f\xa6\xa4\x5c\xc3\x22\x85\xe3\x54\xa8\x1b\x0e\x35\x43\x67\x91\x32\x8f\x83\xb1\x50\x94\x13\xf2\x11\xf0\x97\x29\x59\xcc\x0e\xe0\x68\x00\xc6\xa0\xb1\x66\x23\xdc\xb4\xc4\x6b\x9d\x98\x3f\xad\x2e\x20\x5a\xad\x17\x83\xdc\x1c\xd7\xe1\xca\x58\xae\x4d\x21\xc3\xc1\xb2\x77\xf5\xf5\x1e\x81\x9a\xb9\x22\xb9\x88\xdb\xad\x16\xd4\x58\xda\x3f\x1c\x8a\xb4\x41\x89\xa4\x59\xed\xe7\x1b\xa9\x1a\xf4\x5d\x78\xd9\xb6\xfe\x56\x3a\xf1\xf3\x15\x7d\xde\xbb\x43\xe2\x2f\xd5\x65\x24\xed\x40\x05\x23\xdd\x16\x1c\xbb\xd0\xc3\x3a\xdf\xf7\x33\x8b\x57\x89\x55\xc6\x2c\x57\xa7\x84\xa4\xed\x73\x3b\x1e\x27\xf4\x4f\x49\x89\x29\x03\xba\x59\x9c\xba\x45\x54\xed\x38\x0e\x59\xe6\x89\x3f\x08\x70\x87\x57\x94\x63\x2e\x56\xcb\x63\xef\x29\xb9\xe9\x0e\xbd\x85\x9f\x9a\x29\x0d\x8e\x92\xbf\x44\xe6\x9e\xac\xc0\x43\x00\xb9\xd8\x92\x3a\x12\x67\x0e\x55\xd4\x31\x14\xd1\x3a\x51\x22\xd5\xac\x86\x01\x85\x93\x64\x8f\xaa\x6b\x33\xc3\x7c\x12\x68\x9d\x9b\xa9\x69\xe0\x51\xa9\xbe\xdd\x0d\x35\x98\x5d\xe6\xca\x19\x1a\x7a\x9c\xb9\xa8\x1d\x33\xf5\x92\xca\x3a\xa4\x8b\x94\x5a\x17\x97\x96\xa2\x2a\x98\x80\xf0\xd1\xda\xc0\x0b\x33\x0d\xd1\x73\x5e\xcc\x78\x03\x9a\x92\xf8\xea\x9c\xca\x3e\x74\x9a\x2e\x7c\x6c\xb9\xb9\x1c\x3b\x08\x73\x52\x03\x3b\x11\x8c\xc7\x97\x86\xb5\xd3\x97\x00\x07\x06\x95\x24\xe7\x3c\x5c\x19\x45\x9e\xe0\x92\xce\x17\x48\x62\xed\x7c\x66\x2c\x4b\x17\x94\xa3\x8a\x2b\x9e\x2c\xf3\x85\xd9\x17\x49\x6a\xc2\x6c\x0f\x4f\x19\x56\xdf\x63\x4c\xb9\x28\xf2\x6a\x88\xd7\x0b\x04\x3a\x75\xf9\x0a\x35\xf7\x38\x7a\xe8\x92\x80\xc3\x45\xa0\xea\xf8\x16\x34\x0b\xbe\xd9\xc7\x65\x48\x8a\xe4\x65\x39\x8c\x27\x86\x28\xab\xd9\x05\xb4\xbf\x14\xf1\x78\xef\x9d\x6b\x6f\x63\x88\x0c\xee\xec\x66\x21\x1a\xad\xa1\xb9\xca\xba\x90\x6d\x9a\x34\xa9\x6c\xbb\x2d\x6e\x70\xeb\xcb\x70\xee\xd0\x60\xde\xd2\x54\x02\x8e\x97\x64\xb6\x71\xfb\xd3\x9e\x84\xc9\xda\x29\xa2\x31\x4f\x51\xb4\x83\xe2\xba\x70\x41\x81\x5c\x3a\xec\x2d\xb2\x76\x7a\x11\x84\x00\x56\xbc\x18\xf7\xb8\x56\x22\x14\x39\x3b\xea\x8a\xc1\xda\x8b\x20\x5b\x2d\xa4\x02\x8e\x40\x6e\x77\x44\x99\x07\xa5\x20\x91\x2e\xcc\xe4\x0b\x20\x60\xcd\x25\x08\x47\x17\x40\x57\x75\x9d\x63\x73\x2c\x0b\x42\x35\x29\xcc\xdc\xf7\xe2\x39\xdf\xcf\x8a\xac\x29\x53\x03\xb7\x1d\xd5\x9f\x77\xf9\xce\x71\x54\xab\xd2\x4c\x0d\xdf\x01\x56\x35\x03\xce\x52\x95\x7c\x11\xb4\x8a\x8e\xe7\xc7\x14\x38\x24\x23\x54\x5b\x78\x2c\xc3\x9c\xfa\x46\x33\xa4\x62\xc9\x03\xd4\x3d\x2e\xd8\x06\xdf\xd6\x8b\x3e\x20\x41\xa1\x47\xc5\x9c\xc1\xe7\xfc\x74\x6b\xd8\x1a\x0c\xd9\x3b\x76\x19\x6c\x10\x37\x89\x2d\x96\xd9\x6e\x94\x20\xba\x0c\x36\xb9\xf1\x45\xb8\x34\xb0\x65\x9c\xcb\xbe\xea\x8c\x5c\xc6\x95\x35\x0e\xa7\xe2\x70\x50\x5b\x9c\x88\x90\x6c\x15\x5e\x2a\x55\x85\xfd\xa4\xa2\x1c\x19\xc7\x53\xd6\xac\x72\xaf\x58\x62\xf5\x41\x8d\x50\x5a\xee\xcb\x2d\x1e\x70\x66\x9e\x34\x90\x8a\xf8\x1d\x57\xf1\x87\x0c\x31\x21\x72\x8a\x6e\x56\x0f\x75\xee\x1d\xb5\x9b\xaf\x49\x9e\xa6\x8a\xad\x0b\x41\x3d\x1c\xcd\x37\xbe\xd1\x49\x53\x4d\x57\xb7\x6d\x02\xc4\x9e\x98\x21\x5b\xd3\xf4\xb3\x7e\x56\xe7\x61\x23\x5b\x4b\x5a\xc0\x59\x86\x5d\x37\x49\x9f\x2d\x02\x72\x27\xf4\xad\x4c\x1d\xc8\x70\x54\x3d\xa6\x77\xa4\x45\xe8\x1e\xf7\x83\x56\x14\x5d\x2a\x1e\x31\xd3\x0f\xca\x75\xb9\x48\x20\xce\xa6\xfd\x7e\xa8\xa6\xd9\x9e\x9c\x29\x50\x85\xb5\x81\xef\x87\xc0\xb9\x08\xe5\x14\x83\xa0\x29\x75\x51\x87\xea\x44\xc0\xa4\xc4\xaf\x24\x8a\x89\xce\x0f\x85\xf3\x33\x82\xed\x95\xc4\x4f\x03\x55\x3d\x3a\x2e\xb2\x9f\xcb\x39\xa6\xe6\x73\x7c\x49\x68\x34\xc0\x12\x8b\x2c\x17\xd3\xf5\x6e\x5a\xd6\xe1\x36\x56\x00\xa1\x72\x73\x66\x1d\xb1\xeb\xa3\x47\x10\x5e\x05\x71\xa0\x43\x57\xc3\x41\x95\x4b\x43\x1d\x9d\xd4\xa2\xce\x59\x81\x2d\xc8\xb9\x12\x08\x32\xc0\xd3\xa9\x34\x80\x6b\xec\x07\xe5\x2b\x90\xf8\x0c\x92\x07\x7a\x74\xf1\xb0\xb9\x59\x88\x21\xa8\x28\xb3\x8e\x28\xc1\x64\xa6\x20\x5b\xc9\xfe\xa5\xd6\x7c\x8f\xcd\x44\x0d\x8b\x4e\x53\x5a\x1a\xc5\xa6\xec\xb5\x40\xc3\xa8\x6d\x41\x9f\x91\x79\x98\xc8\x07\x34\xaf\x28\x15\x5c\x62\x03\x97\xc9\x4a\x97\x09\xb7\x41\x2e\xeb\xa5\xbe\x17\x9b\xa8\xb9\xd4\x09\xe3\x76\x5a\x81\xd6\x32\x9b\x2d\x86\xb2\x66\x60\x56\xe5\xcf\x21\x60\x07\xbb\xc4\xa0\x87\xfa\xe2\xda\x90\x52\x5c\xdf\xa7\x3b\x61\x8f\xb2\x0d\x75\x21\x43\xe6\xbc\x06\xa6\x97\x6e\x34\x07\xee\x76\x30\x1b\x49\x35\xef\x6f\xe3\xd3\x99\xa0\xb1\x8e\x90\x77\xdc\xd0\xe5\x2b\x57\x32\x77\x53\xcb\x08\x5b\xb3\x03\x20\x37\x63\x3d\x7d\x88\xbe\x6a\x58\xe9\x1b\xd9\xc0\xb8\xcc\xc1\xc1\x0c\xe3\xd4\x9e\xf1\x79\xec\x02\xd7\x96\x0a\x04\x3c\xd4\xc2\x28\x8c\xd5\x28\x4c\x61\x88\xb2\xa9\x94\x1c\xd0\xbe\x17\x77\x5b\xde\x5f\x96\xb9\x97\x1c\x37\xb9\x25\x26\xe8\xaa\x47\x88\x78\xb7\x1b\x0f\x3c\xaa\x4b\xc6\x64\x18\xa5\x13\x54\xbc\xb4\x48\xa0\x91\x52\x56\x4b\x73\xc7\xc9\x08\x91\x05\xcc\x8a\xd8\x62\x65\xd5\xaf\xf9\x03\x9a\x4d\xd3\x16\xd2\x36\x2e\x7d\x42\x31\xe0\xcc\x98\xb3\xdf\x08\x30\xec\x4e\x85\x9c\x3e\x9d\x8c\xb2\x5b\x84\xe3\x31\x7f\x78\xa3\xf3\xe1\xa2\x73\xe7\x07\x7c\x2d\xee\x08\xfa\x48\x6f\x13\x86\x2e\x67\xdb\xb5\xeb\x57\x82\xe0\x67\x17\x81\xc5\x36\x2b\x74\x77\x96\x20\x4e\xde\x19\x94\x51\x37\x97\xa4\x37\x70\x53\x50\xd5\x9a\x5f\x0f\x48\x08\x75\xf3\xb5\x73\xf0\x95\x51\x6c\xf8\x03\x41\xcc\x97\x9e\x78\x9c\x25\xdb\xd5\x72\x2d\x27\x45\x31\x2d\x00\x45\x4a\x42\xc7\x88\x32\x90\x4d\xcd\xc5\x40\x28\x32\xa2\xef\x33\xeb\x62\x35\x75\x20\x70\x96\x71\xd2\x37\x31\x3f\x81\x14\xdf\x44\xab\x3a\x6b\xb9\xcb\x5c\xaa\x8a\x87\x8c\x1e\xe3\xcf\x42\xe7\x49\x72\x78\x0c\xf6\x02\xd5\x49\x21\x8c\x27\xac\x1d\x90\x08\xa6\x24\x10\x57\xe5\x7b\x11\xce\x9d\x92\xd7\x2c\x35\x22\xce\x10\x7c\x4a\x07\x1f\x3e\xc0\x59\x1c\x15\x41\x35\x9d\x5b\xab\x59\x9f\x79\x00\xde\x71\x78\x33\x6e\x99\x29\x83\xe4\x84\x94\xec\xe0\x58\x1b\x27\x86\xd5\x04\x55\xe1\xc2\xcc\x40\xb1\xef\x34\x64\x01\xe4\x4d\x4e\xba\x29\x40\x18\xbf\xe1\xe7\x11\xb5\xc3\x37\x0b\xdb\xd8\x1d\xc2\x90\x35\x98\x73\x4d\x32\x6b\x14\xf3\x7d\x9d\xb3\xf2\xab\x90\x8d\x87\x02\x50\x12\xa9\xfb\x30\x8d\x0f\xac\xd0\x6f\x86\x75\xb4\x02\x36\xa6\x2a\x98\x2c\x45\x65\xbc\xae\xdb\xe9\x56\x75\x09\x06\x8f\xa3\x2a\x0f\xa8\xaa\xdd\x4d\x4d\xcb\xe1\x76\xe9\xcc\xdf\xa1\x1a\x4c\x30\x78\x29\x34\xe2\xb1\x95\xb3\x40\xdd\x8f\xd1\x17\x52\xa6\xc3\x7c\x26\x16\x8e\x7b\xd8\xd7\x5a\x25\x6d\x49\xcc\x16\xfc\xd4\x76\xa3\xb3\xa2\x71\xaa\xa9\xfb\x7a\x21\xa5\xf3\x13\x0d\x30\x21\xd3\x30\x67\x4f\x22\x43\x4d\x1f\xd2\x6c\xb7\xda\x83\x13\x0d\xf6\xb4\xbc\x76\x0f\x03\x09\x57\xfd\x28\x36\x6e\xc5\xec\x8a\xb6\xda\x96\xc7\xcc\x21\xb7\x92\x71\xa4\xfa\xe5\xea\xa4\x0e\x8b\xcb\x0a\xd9\x78\x2b\xa3\x9b\x03\xe2\xdc\x24\x36\x02\xd8\x4c\x2f\x90\x1e\xaf\xcb\xce\x0d\x60\x45\x94\x86\xd5\xdc\x48\x76\xb9\xc9\x6c\xe8\xb0\xa6\xcf\x0a\x3e\x56\x38\x2d\x98\x33\xc1\x9e\xdb\x66\xc7\xf5\x3a\x56\xb3\x69\x8e\x27\x71\x80\x01\xd9\xe0\x13\x70\x26\x57\x4b\xd2\x9a\xe3\xd9\xfe\xe2\x95\x84\xd1\xa8\x26\x2d\x1d\xbb\xb0\x40\x0e\x56\xba\x2e\xa1\xcb\x3e\x72\x78\x10\x16\x6d\x3b\xcd\x3b\x8a\xd2\xc7\x53\xf9\xb9\x58\xd8\xf1\x32\xac\xac\x22\xd3\xb4\xda\x3a\x57\xec\x09\x83\xf3\xf0\xd8\xe1\x64\xe8\x06\x17\x3a\x5f\x42\x07\x3a\x6f\xdc\xf4\x54\xad\x7d\x22\x99\xdb\xf0\xaa\x3f\x4e\xfb\x23\x96\x92\xfa\x1c\x3d\xb7\x88\x70\xce\x56\x28\x84\xc0\xfd\x74\x8c\xbe\x06\x67\xbe\xa2\x2e\x4b\x7e\x0f\x31\xc2\xd1\x9c\x9a\x3d\xd6\x32\xe4\xd2\xf3\xf0\xac\xb5\x53\x98\x3a\x0e\xe7\x63\x51\xcf\x9b\x92\xac\xb4\x78\x5b\x1d\xc4\xf5\x9e\xa2\x0f\xb0\x74\x80\x5c\x6f\x98\x57\x2d\xb4\xd9\xae\xcd\x86\x5b\x77\x05\xd2\x8c\x87\x46\xfb\x3a\x92\xaa\xe9\x7c\xee\xec\xab\x95\x87\xd6\xcb\xd9\x9e\x3c\x1e\x3b\x8d\xd1\xd4\x8b\x37\xcb\xa6\xa7\x69\x9a\x1e\x2b\x65\x66\xc6\x65\x17\xd2\x1b\x97\x3b\xef\xf2\xa9\x62\x6a\x41\x26\xed\x2f\x10\x6b\x2f\x0e\xe5\xe1\x1c\x5f\x4e\x60\x20\xc2\x31\x9c\x3b\x21\xeb\xd6\x27\xe6\x40\x9b\x82\x46\x5e\xb8\xc5\xc2\x6a\x50\xaa\x91\x21\x06\x66\xb0\x25\x86\xda\xfc\x6a\xb7\xea\x2a\x1d\x65\x58\x19\x3b\xb7\x36\x12\x57\xb0\x6f\xa3\x86\xcf\x84\x97\x04\x0e\x42\x68\xcf\x24\x18\x94\x2f\xf8\x3c\x84\xc7\xca\x92\x50\x4e\x3b\x0f\x2b\x9a\x29\x1e\x87\xb4\x51\xf7\x50\xd9\xe0\xf9\x56\x37\x1b\xd4\x11\x08\x48\x76\xbc\x06\x5e\x87\x99\x1a\x52\x81\x73\x9c\x21\x25\xad\x5c\x60\x91\x3c\x2a\x6e\xc7\x69\x3b\x6d\x85\x41\x28\xb2\xac\x6b\xf4\x44\xa7\x6d\x32\x66\xa3\x92\xc8\x37\xeb\x16\x46\x2d\x40\x4a\xcc\x59\xb9\xe0\x0b\x06\xd4\xec\xd6\xf5\xa1\x6a\x25\x9c\x77\x89\x4d\x1b\xd8\x51\x43\x36\x8a\x56\x2f\x1b\x4a\xc3\x66\xa8\xc6\x1f\xcd\x9a\xea\x4a\xa6\xe3\xf7\x00\x75\x5b\xdb\xd9\xf6\x16\xa0\x0c\x71\xcc\x02\x36\x3b\x72\x21\x02\x8a\x59\xed\xa3\x8d\xe3\xbb\xe0\x22\x78\x3b\x04\xa7\x62\x79\x7d\x3c\x94\x36\xa1\x66\xa6\x82\xcf\x63\xc6\xeb\x35\x86\xed\xe0\xc3\x86\xe9\x08\xd9\xc1\xb4\x7e\xd0\x04\x65\x23\xfa\x7e\x6b\x87\x4d\xab\x0b\x67\x63\x93\x8e\xaa\x77\xc0\xfa\x64\x87\xc3\xb5\xed\x4c\xb7\xb3\x0e\xe4\xac\x7e\xa1\x79\x45\xb0\x7b\xe7\xdc\x19\xd8\x14\xec\x7c\x4c\xc1\xf7\xeb\xa9\xae\x18\xb9\x05\x8b\x40\x54\x15\xa2\x81\x3d\x7a\x7a\x71\x92\x7c\x81\x09\xf5\x65\xab\xc9\x09\x5c\xce\xb1\x70\x8c\x0f\x97\x9d\x91\xb0\x85\xd1\xed\xf7\xca\x89\xb1\x8e\x55\x85\xa0\x2b\x82\x64\x24\x8d\x37\x28\x55\x64\xc8\x34\x25\x3a\x61\x8b\x75\xd9\x76\x73\x3a\xcd\x36\x87\x69\x7d\x54\x16\x08\x66\x86\x5a\x8d\x4b\x3b\x79\x49\xac\x3b\x1e\x1e\xa4\x7e\x79\x62\xc7\xc3\x29\x90\x30\x6c\x36\xb3\xb3\x2b\x0c\x39\x7a\xcc\x11\x6b\x13\x6a\x5c\xac\xc4\xd6\x45\xa4\xa4\xf5\xe6\x60\x1c\x94\x7c\xdd\xed\x58\xfe\x52\xcd\x6b\xa6\xde\x37\x06\xbd\x98\x9e\x8a\xb6\xdf\xac\x0c\x9a\x11\x45\xf8\xe8\x9c\xd4\x5a\x4a\x22\xd5\x4f\xc7\x52\xd5\x6a\xba\x76\x1b\x25\x9b\x95\xd6\x56\x38\xcf\x40\x8c\xc1\x4a\x0a\x84\x64\x63\x2c\x05\x74\x71\x64\x17\x3c\xa8\xa2\x68\x1d\xd7\x6b\x9b\x17\x12\x7e\x10\x3a\x9a\x34\x6e\xb4\xbc\xb8\x42\x7a\x36\xa4\x65\x86\x2f\x31\x40\x70\x8b\x8e\x18\xc5\xc6\x5b\xbb\x08\xa1\x2d\x17\x82\x8f\xba\x3c\xb7\x55\x9b\x46\x55\x1d\xbc\xa5\x22\xe7\x00\xa0\x43\x87\x4b\xa9\x21\x10\x80\xcd\x00\x0a\xdc\xbd\x74\x99\x59\xe9\x16\x60\x38\x58\x09\x9b\x96\xbe\xbe\x73\xcb\x7e\x3d\xaf\x5c\x1f\x6b\xec\x51\x97\x17\xa5\xb1\x60\x70\x6b\x9e\x40\x6b\x39\x9a\x79\x29\xaf\x88\x30\x0c\x10\x7f\xbb\xc6\x6c\x4e\x70\x70\x2c\xc9\x07\x1f\xc8\xfe\x79\x3e\xe7\x57\x53\x28\xb3\xd8\xd3\x31\x4f\x4e\x12\x5a\x2f\xfa\x0b\xbc\x02\x7a\xa5\x52\x81\xca\x48\xf1\xc5\x1b\x01\x3a\x82\xe3\x7a\x1b\x21\xd7\x68\xd6\xb7\xf4\x74\x41\x59\x5d\xe0\x17\xbb\x53\x10\x25\xc2\xd9\x43\x96\xa9\x99\x48\x97\xfe\x28\xd6\xde\x21\x39\xa9\x68\xaf\x65\x54\x9e\xd8\x3e\x72\x30\x6a\x5e\x9f\x95\xe5\x72\x8a\x7a\xde\x71\x91\x0b\x56\x31\x1a\x58\xff\xa2\xb3\x72\x40\x47\xec\x26\xef\x91\xcd\x4a\x3a\xba\x6e\x5a\x85\xa1\x6e\xe3\x5d\xb3\x6b\x17\x6a\xc8\x6e\xac\x23\x64\x1b\x32\x16\x93\xab\x54\x5b\x08\x86\x87\xb8\xa0\x20\xc0\x0a\x59\x0d\xf1\x66\x5e\x2d\x18\x60\xca\x4c\xc6\xb5\x9b\x51\x53\x98\x84\xae\x91\x72\xbf\xca\x89\x6a\xb5\x9f\x43\xf1\x42\xd7\x18\xc1\xab\xa4\x8e\x5e\x2b\x76\x85\x14\x7e\xd7\x1e\xc3\x65\xc3\x95\x9b\x03\x36\x6d\xd6\xcd\x39\x4b\x64\x8f\x8b\xb3\xd4\xdc\xc2\x52\x22\xc5\x4b\xe0\x1c\x68\x47\x01\x22\xbe\x7e\x38\x3e\x03\x35\x5b\xd2\x5e\x48\x07\x25\x0b\xe6\xcb\x33\x6a\x07\x78\xef\xa0\x81\x8f\x6e\x30\x3f\xdd\xa4\x76\xd5\x1d\x72\x0d\xe3\x16\x28\x59\x9a\x12\x52\x17\x82\x86\x2e\xd6\x9e\xd6\xcf\x8f\x48\x37\x48\x52\x8f\x70\x33\x18\x2d\x66\xc8\x85\x3c\x8e\x45\x8c\x05\xd6\x3a\xe5\x65\xb3\x61\xe6\x5e\xd7\x30\x8b\xc8\x70\xab\xf3\x52\x66\x84\x5e\x5b\x64\xc9\x51\xe8\xf2\x40\x5e\x36\xe7\xcc\x0f\x78\xa2\x83\x49\xd0\x1e\xc9\x36\x93\x7d\xe5\x04\xb8\xf2\x64\xa9\x3c\xd8\x50\xf0\x59\x5c\xb9\xa8\x8b\x3a\x63\x95\x38\x82\xd3\x73\x26\x4e\x37\xf6\x1a\xdd\x87\x1c\xac\x29\x29\xed\xa5\xae\x50\xb8\xe9\xce\x65\x18\x63\xc5\xa1\x06\x0b\xef\xd7\x79\xee\x85\xbd\xed\x39\xbc\x11\xf6\x54\x4e\x5b\x7b\x82\x99\x26\x2a\x9c\xa2\xb9\x1b\xaf\xad\x4d\x3a\xdd\xf7\xec\x43\xdd\xa6\x39\xb7\x2b\x18\x85\x5d\x61\x6d\xb4\xf4\x6e\x96\x94\xeb\x41\xaf\x0c\x2c\x36\x4b\xf3\x92\x28\x32\x67\xa9\xb1\xb8\xdf\x01\x2d\x83\xda\xa4\xaf\x98\x1e\xd7\xe0\x7a\xe7\xb1\x43\xb5\x42\xec\x6c\x0d\xec\x4c\xa6\x57\xb3\xa2\xcc\xe4\x7a\x3c\x75\x25\xaf\x9b\xc5\x72\x75\x18\x2e\xdc\x7a\xb9\xdd\x64\x3d\x8a\x5c\xce\xfa\x2c\x56\x97\x50\xa5\x94\x06\x15\x24\x62\xa1\x9b\xf2\xd6\x95\x13\xb3\xc8\x35\x33\x2e\x34\x94\x19\x9c\x3e\x32\x97\x5e\xab\xe8\x54\xee\xd9\x7a\xa2\x20\xd3\xfa\xbc\xe4\x47\x2e\xaf\x96\x42\xed\xda\xf2\x6e\x39\xf3\x2f\x03\x71\x54\x62\x13\x0e\x38\x72\x23\x6e\x4a\x72\x5b\x96\xdc\xba\x21\x77\x9e\x33\xd3\x9c\xa9\xed\xb0\x4c\x7b\x92\xba\x0b\x3f\xeb\xf2\xb0\xbc\x20\x95\xba\xc8\xf2\x56\x2a\x8c\x1a\x77\x1a\x95\xc3\xe4\xd1\xa7\xb0\x86\x78\x82\xc4\xc1\xa1\x8e\x30\x2e\xed\x61\xc9\x59\xbb\x87\x94\x58\x14\xac\xb9\xca\x22\x8d\xc3\x69\xc3\x5d\x6b\xc8\x0a\x92\x24\x87\xdf\xf8\x00\x78\x9d\x03\x21\x76\xb5\xa3\xa7\xdb\x14\x3f\x4d\x8f\x39\x74\x48\xa8\x8a\xaa\x49\xac\x19\x35\x65\x57\x54\xd5\x3a\x53\x98\xe3\x26\x1e\x54\x0a\x17\xd9\x4d\x09\xc2\xb3\xa4\x6d\x10\xad\x3e\x2b\x3d\x7d\x29\x9a\x22\xe7\x86\xdd\x39\x9d\x52\xcd\xb4\xaf\xb8\x8b\xba\x1b\x76\xc3\xa5\x0f\x9a\x63\x1a\xc9\xfb\xdd\x72\xa9\xa7\x86\x84\x4d\xb9\x74\x74\xf4\xc4\xfe\xe2\xd2\x07\xc8\x35\x87\x1c\x57\x57\xba\xae\x36\x60\x3b\xf4\xdd\xb9\x8d\x0d\x73\xe3\xec\xf4\x64\xee\xd8\x3d\xaf\xe6\x04\xd2\x46\x85\x38\x0c\x91\xd6\x91\x2a\x83\xaf\xb6\x36\x14\x1e\xc5\xd6\x1b\xd0\x93\x6c\xc4\xba\x04\x1b\xe6\xc8\x94\x46\x55\xdb\xc8\xa0\xbb\xf9\x02\x9d\xb2\x5b\x6e\x43\x72\xae\x52\xba\x0a\x4c\xd8\x88\xa2\x6f\x70\x61\x49\x78\x5b\xf9\x12\xd0\x5e\xad\x1f\xb5\x42\x38\xb5\x47\x50\xac\x12\xb8\x35\x36\x7d\x8b\xe9\x53\x64\x2d\xb5\x2c\x7a\xf1\x0f\x73\xc7\x42\x6f\x00\x39\x27\x67\x55\x75\xd5\x91\x12\xa4\x01\x11\x2b\x38\x84\x86\x08\xc9\x9c\x06\x55\x4e\x78\xeb\x19\x69\x70\x95\x58\x99\xda\x4c\xf3\x57\x19\xb7\xe7\xce\x97\xad\xe7\x57\xc7\x7d\x43\x09\x24\x0a\x23\x46\x57\x42\xdb\x35\xe5\x21\x79\x31\x3f\x8d\x06\x96\x39\x99\x89\xd8\x9e\x6d\xda\x36\x97\x60\x3b\x10\xfb\x64\xfc\x0f\xe9\x95\x29\x3d\x5d\xa8\xca\x4a\xb9\xf4\x0e\x42\x03\x00\x00\x7b\x94\x28\x9d\x96\x22\xe3\x28\xc5\x42\xb2\xbf\x98\x3a\x05\x9b\x22\xb8\xf0\x04\x89\xec\x14\x30\xd6\xb1\x77\x0a\xdf\x69\x04\xd9\x0b\x67\xb5\x13\xce\xe0\xb2\x53\x00\x2c\x9c\x41\x27\x58\x72\x84\xfb\x00\x00\x5c\x83\x25\x2d\x80\xcd\x2d\x05\x9b\x4a\x5e\xdb\x88\x94\x9b\x69\x04\xf8\x33\xe8\xf9\x0b\xdc\xf3\x32\xdc\xf1\x9a\xd8\xf3\x44\x36\x86\xc4\x02\x91\x5d\xf6\x38\xdc\xed\x89\xac\xe3\xf7\xb6\xb5\xc6\x6e\xad\x79\x20\xab\x9a\x20\x71\x0b\xdc\x60\x98\xd7\x74\xc7\x9d\x2c\x75\xac\x1a\x72\xad\xda\x7b\xf3\x6e\xf2\xa6\xf6\xfa\x1a\xca\x63\x2b\x4c\x6f\x3f\x89\xd3\x78\xef\x26\x08\x32\x01\x8d\x3f\x41\xe0\xd9\x6a\x02\x2f\xff\x3a\x47\xfe\x8a\xce\x26\x53\x18\x7e\x48\xb3\xbf\x01\xfe\x76\x3f\x40\x9c\xf9\x50\xeb\x95\x55\x98\xa5\xcf\x17\x99\xbd\x5f\x7d\x1f\xa4\xfb\xb8\x5e\xf1\xfb\x05\x5e\xff\x32\x5b\xbe\x02\x98\x1f\xd6\x10\x4d\x02\xe2\x39\x18\x3f\xac\x27\xa5\xd7\xfe\x72\xbb\x20\x7e\x72\x1b\xf3\x09\xdc\x37\xae\xbb\xf6\xfa\x3c\x2b\xeb\xf7\xe7\xea\xa7\x24\x73\x9b\xd8\x7b\x3f\x3e\xb8\x5d\xd8\x73\xfb\x81\xa2\xdb\xb0\x87\x69\xef\x6e\x4f\xe2\xd0\xfe\xeb\xf5\x7f\xb7\x2b\x83\x6e\xbf\xc5\xf5\xef\xd0\xe4\x9f\x3f\xbf\xfb\x09\xfa\xf7\xc9\x6c\x31\xf9\x77\xe8\xe1\xd1\xdb\x4f\x97\x39\xdd\x40\xbf\x9b\x3c\xc0\x7e\x37\xf9\xed\xb7\xce\xb3\x73\xcb\x89\x7e\x2b\xbd\xa2\x09\x4b\xef\xb7\xdf\x7e\x9e\xfc\xd7\x4f\x3f\xfd\xe5\xd3\xdd\xd5\x7f\xf9\xf5\xa7\x9f\x1e\xae\x71\x1a\xef\x56\xfa\x78\xf9\xda\x47\x28\x7f\xf9\xed\x37\xaf\xe2\x6f\xb0\xff\xf2\x6e\xf2\x5f\x93\xd6\x8a\x1b\xef\xaf\x93\xba\x6c\xbc\xdb\xef\x2a\xb5\x56\x39\xe2\xfd\xdb\x6c\xf2\xe1\xde\x9a\x6f\x67\xf0\xc3\xb0\xfe\xeb\xc3\xd0\x87\x61\x9d\x67\xd7\xf5\xe5\xe5\x71\xc8\xa7\x71\x55\xe6\x44\x5e\xfd\xf2\xd0\xd9\xc3\x50\x2f\xf6\x92\xc9\x87\x89\x9b\x39\xcd\xed\x2a\x73\xdf\xab\xc9\xf1\x56\x73\xec\xc2\xb8\x6f\xff\xf2\x78\x57\xff\x5f\x7e\xfe\xf5\xa7\xf0\x34\x79\x7b\x1b\xff\x6f\x1f\xc6\x9b\x73\x3f\xbf\xac\xea\x3a\xf0\xd3\xcd\x54\x7e\x76\x45\xf4\x76\xb7\xc2\x87\x0f\x93\xbf\xdc\xc8\xf0\x97\x4f\xb7\x53\x4d\x26\xe3\xab\x4f\x3f\x67\xf6\xdb\xec\x3d\x7d\xfd\xfb\xb6\xc0\xe3\x75\x53\xb7\xff\x7b\x71\xe5\xdd\x9f\xf8\x40\xb5\xf7\xc7\xfb\x13\x47\xfa\xd7\x79\x45\xa6\x96\x1d\x7b\xee\xe4\xc3\xa4\x0b\x53\x37\xeb\xde\xc7\x99\x63\x5d\x25\x63\xbc\x08\xcc\xc9\xe2\x07\x24\xeb\xbc\xfa\xeb\x5f\x7e\xfd\x38\xb9\x29\xe3\xc9\x87\xc9\xdb\x2f\x60\xfc\xe7\xe4\x4d\x57\x55\x7f\x85\xa0\x37\x93\xbf\x5e\x3f\x5e\x3f\xfd\x3c\x99\x3e\x83\x1c\x64\x55\x7d\xe7\x71\x6e\xd5\xc1\xed\xba\xaf\xe9\x75\xf2\x9b\x4f\x6b\x59\xa5\x5f\xdd\x41\xb0\xf2\xac\xd2\x09\x3e\x0d\x3b\x59\x4e\x9d\x95\x97\x07\x02\x7c\xc6\xe7\xf7\x78\x96\xa6\xe3\x2f\x4a\x52\xe3\x98\xb7\x4d\x19\xbf\xfb\x28\x32\x1f\xb7\x5a\xfd\xfc\x09\x5a\x57\x7f\x02\x34\x8e\xd2\x3d\x5b\x51\x8c\xb7\x37\x6d\x7b\x5c\xec\xdd\x0d\xb9\x77\x93\x91\xa7\x56\x53\x07\xbf\xd5\x59\xe4\xa5\x9f\x01\x72\xe2\xac\xf2\xca\x9b\xb4\x75\xf5\xfb\x2c\xf7\xd2\xc7\x3b\xc6\x1e\x36\x64\xb9\x2e\xd9\x7a\x69\xbd\x0b\xab\xda\x4b\xbd\xf2\xed\x5f\x9a\x34\xce\x2c\xf7\x2f\xef\x3e\xdd\x06\xfe\xf6\x73\xf9\x78\x84\xf8\xe9\xae\xb2\x91\xf5\xef\x6f\x2f\x1e\x9f\x5e\xd5\xec\x9f\x3f\xfd\xfa\xcc\x0c\x2c\xff\x64\x66\x00\xcf\x92\x3c\xab\x6e\x37\x6b\xd3\xe3\x65\xde\x1f\x3e\x21\xf6\x69\xe3\x1f\x9f\x3c\x1b\xff\xf6\x6a\x72\xad\xd2\xb3\xde\x4d\x9c\x4f\xef\xb4\xd0\xeb\xde\x4d\x1e\x55\xf4\x0b\xf5\x0a\xc2\xea\xfd\xe3\x9c\xc9\x87\xc9\xe3\xc7\x5f\xbf\x1c\xf1\x04\xd6\xe4\xc3\x53\xe8\xbf\x3e\x85\x38\x2e\x75\x83\x38\x7e\x7c\x32\x22\xac\x1e\x70\x4f\xfd\xc9\x87\xc9\xc9\x8a\x2b\xef\xd9\x08\x79\xbc\xa8\xff\xb3\x4d\xbe\x30\xf4\x33\x64\x0e\x9f\x46\xfe\xd7\xa4\xaa\xad\xb2\xfe\xeb\xcd\x04\xbd\x9b\x78\xa9\x3b\x7e\x9c\xfc\xf3\x73\xed\x7f\x46\xc2\xcf\xaf\x86\xfd\xf4\xee\x06\xea\xb3\x9b\xff\xbe\x94\xc2\x3b\x5b\xba\xf2\xf5\xdb\x68\xbe\x7f\x84\xfb\x05\x23\xde\xdf\x64\xe3\x7d\xec\xa5\x7e\x1d\x7c\x9d\x15\xb7\x39\x78\x96\xd6\x5e\x7a\x05\xf3\xe6\xcd\x37\x86\x3b\xb1\x55\x55\x57\xed\x1a\x7d\xb6\xe5\xd4\x61\xeb\xbd\x79\x54\x93\x5f\xbf\x87\x24\xe3\xe5\xd3\x5f\xd0\xc4\x6b\x3f\xa7\xca\x55\xa2\x7f\xbb\xdd\xd6\x38\xee\xef\xbb\x76\xe2\xb5\xef\x5d\xab\x7e\x2a\x88\xe3\x9a\x9f\x21\xf8\xe0\x84\xaa\xcf\xf5\xbf\xf2\x6a\x25\x4c\xbc\xac\xa9\xef\xe8\xce\xe3\x9f\xdf\x5e\x64\x89\x97\x5e\x5d\xc0\x6f\xaf\xe1\xc8\x3f\xdf\x4d\xe0\x1f\xa2\xdd\xb8\xc6\x57\x84\xe9\x74\xd5\x99\x70\xf8\x7c\xab\x6f\xaf\x22\xf5\xfa\xd5\x22\xef\xe2\x66\x5d\xfa\x15\xfe\x7c\xbc\xb2\xf2\x73\xc9\xfd\xef\xff\x7e\x59\xfd\x9e\xd2\xf0\xe6\xe8\xdb\xeb\x4a\x78\xe6\x7a\xb7\x3b\x2f\x11\x64\xf3\x74\xd4\xe4\xd3\xd5\xb2\x4f\x94\xf7\x93\x16\x3e\xfe\xb9\x39\xf1\x3b\x60\x67\xcb\x2b\x62\x4f\x1f\xae\xee\x3d\x5c\xff\xee\xf5\x9f\x4f\x7f\x91\x25\x37\x80\x3f\xbf\x04\xf1\x9f\x3f\x7d\x1f\xa5\x6e\xcb\x04\x56\xea\xc6\x1e\x48\x2f\xca\x83\xec\xe1\xe3\x45\x60\x6f\x9f\x2c\x73\x7f\x4b\x9f\x96\x7c\xbc\xf1\xf7\xa3\x1d\x7a\x85\xcc\xdc\xd9\xe2\x17\xf2\xd3\x59\x61\x4d\x65\xe5\xd5\xb9\x65\xbe\xf5\x54\x24\xbe\x53\xdf\x3f\x99\xa2\xd2\x4b\xb2\xd6\x7b\x6a\x8d\x26\xaf\xf7\x15\x4e\xec\x59\xe5\x23\xbd\x1e\x15\xf9\x73\x82\x5d\xe9\xff\x6f\x5f\xc7\x7e\xf2\x7d\x8e\xe7\x71\xc3\xe3\xfd\xf1\xf7\x0d\x78\xd5\xd8\xd5\xed\x3e\xe3\xb7\x5f\xb7\xff\xef\x5e\xf6\x0f\x5e\xea\x3e\xe1\xfb\x17\x0e\xf6\x41\x5a\xca\xb7\x37\x34\x7e\xbe\x27\x07\x77\x44\xfa\x16\x8a\x35\x65\xe9\xa5\x35\xfe\x7c\xcd\x5b\x78\xf6\x5c\x07\x1e\x9c\xe9\x37\x76\xf2\x6c\xda\xcd\xed\x7e\x6d\x7b\x5f\x4e\xf9\xe7\x9d\xcd\xbe\xc0\x90\x2f\x3d\xec\xe4\xb5\x86\xff\x51\x1c\x7e\x7b\xb5\x99\x7b\xfc\xf3\xf2\x8c\xfb\xe2\x71\x4f\x4c\xda\x2c\x74\x27\xf0\xfd\x71\x9f\x63\xf5\x51\xe2\x5f\x42\xe6\x36\xe1\x01\xe8\x5d\x5f\xf5\x49\xf8\xbe\xc6\xea\x47\x01\xfc\xea\x98\xe7\x42\xf8\x91\x5d\x77\x9f\xbe\x60\x45\xff\x70\xb4\xbf\x0b\xa9\xdf\x5e\xa7\x38\xf7\x81\x7c\xe6\xe8\x3f\xbd\x7c\x85\x41\x7d\xc9\x98\xbf\xe8\xfc\x5f\xb6\xa1\xd7\x37\x59\xec\x6a\x57\x2a\xdd\xb7\x37\xdf\x19\x01\xdd\x6c\xe2\xab\xe4\xed\x76\xf9\xb4\xd7\x3d\x2e\x7d\x8f\x6f\xcf\x09\x78\x9d\xe4\x86\xa7\xd3\x98\x3a\xde\xe6\xbe\x2f\xbd\x3c\xb6\x1c\xef\xed\xe3\x3e\xde\x4d\xde\xbc\xb9\x43\xfb\x2b\x66\xd7\xa9\x0f\xf1\xd6\xe4\x6f\x13\xf8\xeb\x3a\xf9\x8c\xab\xd7\xd9\xdf\x66\xea\x0f\xc6\x71\x2f\x06\xa1\x5f\x70\xd5\xcd\xd2\x5a\xf2\x9c\xa6\xac\xbc\xd7\x31\xf8\xc6\x8f\x6f\xb1\x63\xf4\xea\xf7\xec\xfc\x83\x51\xaf\xb2\xf2\x93\x74\x3c\x50\xc5\x1b\xf1\x7b\x5f\x34\x5e\x79\x91\xbd\xd8\xbb\xe6\xeb\x6f\xdf\x7c\x1c\xf0\xcb\x38\xef\xcd\x13\x87\x39\x3e\x7d\x8a\xc1\xc7\x3a\x94\x94\x75\xd5\xab\x97\xba\xcd\xf8\xa5\xcc\xba\xea\x29\xc3\x3f\xe1\xad\x64\xf9\xe4\xc3\x27\xd8\xef\xb3\xd3\xe9\x2a\xc8\x59\x3e\x99\x3e\x8c\xf8\xf4\xe8\x8e\x9b\x78\x1a\x5f\x54\xf5\x25\xbe\x86\xec\xa7\xab\xad\xf9\x62\xfe\xee\xfa\x6c\x3a\x79\x93\xf7\x6f\x5e\x0d\xa7\xbe\x21\xf7\x09\xd1\xef\x9c\x1e\x78\xa1\x1f\x3c\x43\x84\x1e\x9f\x7e\x27\xac\x38\x4c\x3d\xfa\x7b\xe1\xdd\xc8\xfc\x25\x38\x2c\x6b\x52\xf7\x23\x0b\x9f\xae\xe5\x7b\xf5\x6d\xc0\xd5\xd3\xc5\xa1\x77\x13\xe6\xfa\x69\x10\xfa\xa5\x25\xf8\x51\x8a\x3f\x01\xf0\x6a\x52\x3f\x99\xd7\x85\x6e\x1d\x3c\xaf\x4d\x8c\xdb\x7c\x78\xfb\x5a\x58\x9f\xf8\x75\x17\x58\xf0\x0d\xc6\x3d\x25\xc9\x17\x1c\xfb\x1e\x88\x5f\xa6\x10\xff\xf6\x82\x51\x99\x7c\xc5\xe6\x3f\x26\x02\xbf\x7d\x23\x81\x1e\xb3\xcb\xaf\x7a\xba\x57\xa4\xb8\xf7\x02\xf1\xaf\x67\xba\xf7\xa5\xe7\x59\x21\xe3\xae\x8c\x3c\x8e\xfa\x02\xbf\x87\xfd\x3e\x43\xf3\xd7\x9f\xfe\xf9\xf6\xe7\x9f\x7f\xfd\xe9\xa1\x22\xf7\xfe\x5e\xb1\xed\xce\xa4\x9f\x20\xe8\xff\x37\x19\xfb\x1c\xbc\x95\xe7\x61\xea\xab\xd2\xee\xc3\x73\x22\x9c\xab\xf7\x89\x95\x3f\x2b\x31\xae\xfe\x64\x25\x46\xb2\x72\xac\xdc\x93\xbd\xa2\xf1\x52\xc7\xab\x5e\xac\xfc\x3f\xf6\x08\xf0\xc0\x2a\x2b\xaf\x7e\x79\xe0\x63\xd3\x81\xb9\x06\x52\xf4\xe8\x7f\xbf\x51\xb6\xfc\x7c\xe8\xdb\xdf\x5e\xac\x4b\xfe\xf6\x59\x19\xf1\xb7\x2f\xeb\x88\xa3\x58\x7e\x0e\xe7\x33\x21\xb4\x5c\xf7\x8a\xf5\x17\x62\xe7\x04\x56\xf9\x6e\xe2\x64\xae\xf7\xb4\x02\x72\x7d\x33\xf9\xdb\x87\xc9\x9b\xc9\x9b\x7b\xae\xce\x09\x7e\x7b\xb4\x2b\x9d\x73\xfb\xf4\xf6\x06\xe5\xd7\x67\xb1\xd4\x97\x38\xbf\x77\x46\xc2\x4d\xfe\xcf\xff\x99\xdc\x7f\xf3\xf7\xeb\xdf\xff\xb8\x17\xd8\x38\x23\xf6\x5f\x9b\xf6\xb5\x22\xc6\x15\xed\x32\xeb\x9e\x43\xb8\x4c\xa6\xcf\x1e\xd9\xd6\xd3\xb4\xe5\x66\x68\x3e\x6e\xfb\x39\xfa\xfd\x4b\x19\xd5\x93\x71\x57\xa3\x57\x5d\xdd\xc8\xdb\x32\xeb\x7e\xfe\xfb\x53\x28\x93\x5f\x26\xb3\xbb\xbb\x9f\x7c\x11\x0b\x7d\x1f\xbc\xbf\x23\x2f\x82\xfc\x61\x2c\x91\x7f\xfc\xfc\x22\xc0\xc9\x33\x59\x7d\x15\xc0\xbf\xcf\xfe\x31\x99\x7e\xb8\xf1\xf9\x0f\xcc\xab\x7e\x84\x5e\x3f\x86\xc8\x13\x58\xa3\x53\x91\xae\x99\xcd\x53\xf2\x5e\xbe\x19\x85\x4f\xee\x44\xb5\xcf\x47\xdd\xe1\x5c\x7f\x0d\x0b\x1f\xc5\xf4\x97\xc9\xec\xaa\xc4\x4f\x55\x26\x8b\xab\x57\x4a\x6b\x57\x5a\xb9\x55\x5e\x7d\x31\xff\xc4\x48\x7c\x65\xe3\xfd\xe4\xc3\x4b\xc9\xfc\x53\x3a\x4c\xa7\x2f\x27\xfd\xcf\xd4\xf4\x6f\x4f\xa7\x57\x4e\x99\xc5\x31\x96\xd5\x75\x96\x7c\x4d\xc0\x9f\x42\xfa\xe5\x97\xfb\xab\xde\x19\x3b\x2e\xf1\x79\x91\xf9\xe9\x9f\x3f\x56\x28\x9f\x09\xca\xfb\xb0\xd2\x4b\x2b\xcf\x6f\x1d\xd8\xe7\xc5\x9d\x97\xb1\x78\xfe\xe4\x2b\x38\x8d\x26\xff\xd1\xa6\x7f\xf8\x30\x41\x5e\xd6\xee\x7b\x62\xf9\x7c\xc1\x2f\xff\xf5\x3b\x0d\xef\x93\x51\x61\x5a\x79\x65\xfd\x92\x44\x9e\xb2\x72\xf2\xf6\x6a\xed\x93\xac\xbd\xd5\x14\xe0\x5f\x1f\x3e\xfe\xc7\x47\xcd\xf8\x75\x32\x9d\xde\x9e\xbd\x24\x36\x37\x6f\x71\x2b\xc0\xba\xcf\x11\x7f\x99\x5d\x2f\xec\xe8\xe7\xf7\x79\x96\x3f\xcd\x12\x3e\xdf\xe0\xc3\x52\x7f\x47\xfe\x71\xa3\x3e\xfc\x22\xf1\x9f\x3b\x9e\xaf\x1b\xb4\xab\xae\xdf\x8c\xeb\x1f\x0f\xf1\x11\x59\xe4\x3b\x54\xef\x95\xa0\x27\x1f\x26\xcf\xde\x35\x25\xa8\xeb\xf2\xdd\x35\x22\x79\x37\x99\xfd\xe3\x77\x18\xe6\x2f\x91\x78\x5f\xe5\x71\xe8\x3c\x33\xd1\xfd\xbb\x09\xfc\xee\x9b\x58\x7c\x47\x35\xe5\xbb\xa9\xd1\x7f\x95\x0c\x0f\xa1\xdb\x83\x3c\xff\xe3\x4e\xb6\xf5\x19\xa4\xa7\x66\xf6\xc7\x3d\xd5\x1d\x43\xf1\x52\x67\xe8\x8f\xd9\xe7\x9b\x37\xef\x26\xf0\x1d\x6e\x7f\x6b\x8b\x4f\xfb\x4d\x0f\xc9\xd0\x0b\xc1\xb1\xed\xc5\xf1\x0f\x54\x1f\xef\x05\x64\x6d\x58\x35\x56\x8c\x79\x71\xfc\xfa\x2a\xd5\x13\x10\x8f\xe5\xa2\x31\xa9\xb3\xb3\xd2\xf5\x4a\x3c\x8b\x6f\x35\xac\x37\x5d\x10\xd6\xde\x9b\x6f\x57\x35\xbf\xcc\x70\x5f\x09\xfc\xcd\x2d\xd5\x9d\xc1\x4f\x6a\x5e\x4f\x40\xe4\x59\x2e\xa4\xf7\x76\xf8\x64\xdc\x29\x73\x9a\x2f\x3a\x74\xaf\x61\xc5\x55\x58\x28\xcf\x7b\xb9\x13\x7c\x2f\xab\xc8\x6e\xb7\xae\x92\xd9\xb7\x30\x7a\x12\x9a\xbc\xc8\x81\x2f\x02\x93\xdf\x1f\x8c\x7c\x2b\x00\xb9\x1f\x74\xdc\x6d\x5c\xdd\x0d\xf9\x5e\x17\xe3\x3d\x9d\xf6\x39\x16\xaf\xe1\x8c\x63\x95\x65\x68\xf9\x9e\x34\x0a\xd6\x57\xeb\x17\x77\x49\xfe\x0d\x1d\xb4\x9c\xa8\xca\x2d\xc7\xfb\x1e\xce\xf7\xf7\xca\xe0\xbf\x77\xa3\xb5\x65\x7f\xcf\xee\x9e\x3c\x4a\xbd\xbe\x96\xeb\x4f\xfe\xfe\xeb\x6b\x55\x41\x78\xaa\x85\xe6\x1b\xa7\x68\x3e\x93\x0d\xaf\xf6\x77\x5e\xeb\xc5\x6f\x67\xaf\x87\xcf\xbc\x9a\x5b\x9f\xc0\xc3\xaf\x02\x3f\x86\x62\xb7\x72\xc8\x17\x4b\xe4\x56\x69\x25\xd5\x53\x2b\x7a\x7b\xfa\xee\x1a\x0d\xbe\x9b\x9c\xaf\xde\xeb\x13\x5f\x6e\xaf\x26\x1f\xc6\xbf\xab\xbf\x7f\x6e\xf2\xaf\x6c\x1f\x5f\xff\xc7\x64\xf6\x65\x5c\xfa\x38\x6b\xf6\x69\xf4\x0f\x86\x9a\xe7\xe7\x93\xfa\x4f\x6f\x9d\xe0\x8e\x8f\xf2\x4a\xab\xf2\xae\x5e\xea\xed\xcf\x77\xc2\x92\x2e\x08\x63\xef\x01\xf1\x5f\x7e\xb9\x86\x59\xe7\xc9\x7f\xfc\x80\x9a\xde\x8f\x56\xce\xd3\xe9\x2d\x40\x71\x82\x7b\xb5\xe7\x17\x67\x3f\x09\x43\x5f\xa5\xf5\xb7\x8a\xb3\x9a\xbf\x96\xbd\xaf\xe1\xe1\x93\x1d\xdf\xe1\xe2\xcb\x96\x79\xf2\xcb\xc3\x02\xdf\x30\xd0\xff\xf1\x4d\xbb\x70\xb9\xe7\x0c\x5e\x43\x0c\xe2\xe9\x09\xa2\x7f\x25\x39\xa6\xaf\x23\xc7\x73\x17\x51\x66\xdd\xb7\x64\xef\xf2\x5c\x29\xae\xb3\x26\xbf\xdc\xc7\xed\x5f\xe9\x9b\x6e\x8c\xa1\xb2\xb2\xb3\x4a\xf7\x4f\xc2\x9b\xfe\x75\xbc\xf9\x51\x12\xdd\xa9\x85\x8e\xf9\xd3\x33\xdc\x5e\x43\x3a\xcc\x72\xa2\x7f\x25\xed\xfe\x47\x65\xe7\x2e\xf9\x5e\x65\x47\xfa\x57\xd8\x91\xbb\x41\xe5\x6b\x68\xbe\xf7\xfa\x7a\x17\xa6\xde\x9f\x44\x5e\xff\x54\xb6\xe4\x9b\x51\xe4\x2b\xe8\x7b\x28\x3d\xc7\x73\xc3\xd4\xff\x53\x11\xf9\x7f\xd6\x7f\xfd\x51\xb4\xbb\x86\x74\xc0\xae\xb2\xb8\xa9\xff\x2c\xa4\xeb\x1f\xe1\x7f\x92\x99\xd7\x68\xd9\xdd\x86\xeb\xfd\x5d\xdc\x02\x53\x27\x8b\x9f\x46\x93\x1f\x77\xf5\xa5\xb4\x7e\xdc\x59\xf5\xf1\x4c\xce\x9d\x82\xc8\xed\x1b\x32\x8f\x20\x66\xff\x78\x49\xe0\xef\x54\x67\xc7\x99\x77\x59\x7c\x2b\x1a\x66\xdd\x3d\x29\x19\x51\xbe\x3b\xeb\xe3\x41\xe2\xeb\x98\xd7\x69\xf1\xdd\x70\xfa\x5b\x41\xc0\x15\xf1\x3b\x98\x7d\x65\x3f\x1f\x31\xbb\x8e\x79\x9d\xd9\x1f\xa1\xbd\xd2\x05\x4e\xee\x8b\xd3\x17\xbc\xbe\xa3\x5e\x65\xd6\xbd\x5e\xd0\x1e\xa2\x0f\xe5\x49\xf6\xf8\x4a\x85\x99\xfc\xf7\x7f\x7f\x8e\xf6\x97\xe9\xc3\xf7\xc7\x02\x4f\xb3\xd0\xc9\x2b\x3d\xd3\x2d\xa9\x61\x52\x22\xac\xf2\xd8\xba\xbc\x62\x23\xe7\xcf\x4a\x51\x5d\x58\x3b\xc1\xe3\xc0\xbf\xc3\xcf\xba\x8e\x8e\x55\x79\x13\xf8\xaf\x5f\x3c\xbb\xb3\x9d\x1b\x0e\x52\xe8\x07\xcf\x0a\xec\xfd\xbb\x67\x5c\xba\x53\x82\xbd\x93\xcb\x5d\x13\xc0\xd9\xf3\x91\xb7\x5e\xc1\xaf\xf7\x32\xb3\xab\x88\xff\x3a\x39\x4f\xa7\xaf\x6c\x7a\xdd\x70\xbe\xfa\x99\xb7\xe7\x57\x35\xf7\xec\xd2\xb3\xa2\x5f\x9f\x53\x67\xf6\x3a\xea\xec\xbc\xd3\x1f\x48\x9c\xe7\xa3\x1e\xc4\xef\xfc\x5c\xf4\xfe\x87\xf7\x8f\x3c\xdf\xff\x1d\x8c\x6f\xdc\xf9\x1a\xd2\xbf\x1f\xe5\x97\x10\x44\x9f\x23\x78\x55\x83\x87\xf2\x9f\xe5\x44\x72\x38\x78\x2f\xf5\x8c\x1e\xdc\xc4\x2f\xaf\xdb\xcf\xd5\x1e\x3e\x81\xfb\x95\x43\x9f\x77\x17\xac\xcb\x30\x91\x6b\xab\xac\x9f\x00\x7a\xa1\x17\x75\xaf\x46\x32\xf9\x30\xe1\xad\x3a\x78\x9f\x58\xfd\xb3\x28\xe5\xf6\xfe\x97\x27\x9b\xff\xf2\xac\xd4\xd7\xc0\xbb\x61\x95\x7f\x0d\xfc\xed\xfd\xeb\xc0\x7f\x53\xc2\xbe\xc3\xf8\xbd\x22\x5c\xfc\xb3\x98\xba\x7f\x99\x19\xf9\x0e\xfd\x7d\x51\xed\xbe\x7f\x99\xd7\x30\x71\x2c\x49\x5e\x17\xf8\xee\x92\xe4\x0f\x94\x23\xbf\x27\x9e\xfd\xe3\x4a\x93\x8f\x01\xd8\x73\x4b\xf2\x79\x1b\xe2\x75\x20\xee\x2f\x3f\xf9\x65\x72\xfe\xd2\x67\x7e\x3d\x22\x79\xf1\x10\xd1\x83\xc9\xfb\xf0\xe1\x05\x93\x98\x58\xfd\xee\x36\xe4\xd5\x8d\xc4\x4f\x36\x6d\x76\x47\x62\xee\x6d\xe6\xde\x81\x8f\x7b\xb6\xe6\xde\xb8\x32\xeb\xee\x3d\x3e\x3f\x7d\xf8\x8a\x4e\xef\x43\xed\xf6\x26\x6b\xf0\x33\x2d\xb3\x63\x2b\x8d\x46\xbd\x28\x1b\xef\xe7\xd7\xd4\x75\x1f\x8b\xc1\xef\x26\xb3\xbb\xcd\xa2\x1f\xeb\xf3\xbe\x7e\xd6\x17\x3d\xaf\xd7\x04\xca\xae\x17\x7b\xb5\xf7\xff\xe9\xe6\xef\xd7\xcd\xff\x27\xf4\x72\xf2\xcb\x87\x7b\x51\xf9\xfd\x30\xe0\xd9\xd0\xd7\x6b\xdc\xcd\x92\xfd\xb1\x3a\x77\x13\xca\xff\xab\xb4\xee\x47\x9a\x74\x3f\xd4\xa1\xfb\x5f\x50\xbb\xdf\xdd\x8f\xfb\xa1\xa6\xdb\xf3\x40\xe9\xa9\xa0\x7f\xa3\xfb\xd6\x54\xc1\xdb\x2f\x3a\x76\xaf\x89\x67\x46\x76\xff\x58\x03\xee\xf7\x14\x15\xbe\x10\xf7\xbb\xda\xfb\x8c\x4b\x23\xaa\x4a\x96\xbf\x92\x32\x3f\x00\x7c\x14\xfb\xaf\xeb\xf2\xcf\xbf\x53\x2d\x3f\x6e\xe3\x7f\x47\x3d\xc7\x09\x3f\xda\x54\xfc\x97\xb0\xf8\x91\x0b\xff\x53\x5c\xbe\x89\xd0\xff\x43\x2c\xbe\x99\xa6\xff\xcd\x53\x12\xff\x9a\xd0\xe7\xcf\x78\x62\xe2\xef\xe7\xe9\xf4\x1f\x93\x0f\x5f\x90\xf1\xfb\xdb\xa2\x7f\x8e\xa2\x6e\x5e\x7a\xed\x8f\x14\x75\x9d\xc0\x2a\x0f\x59\xf5\xe7\xef\xe7\x4c\xfe\x9c\x2d\x72\xfa\xb1\x87\x24\x79\xb1\x55\x87\xed\x9f\x87\x82\xff\x57\x9c\x30\x28\xbd\xdc\xb3\xea\x8f\xdd\xd8\xab\x1d\xb4\x9c\xda\x2b\x7f\x58\xa3\xde\x4d\xe2\xb1\x44\xf7\xa2\xe6\xbf\xce\xd9\x5c\x7e\x7e\x37\x1a\xaa\xeb\xc4\xfb\xdf\x05\xba\xae\xf7\xf4\x8d\xeb\x9d\x5e\x38\x8b\xfe\x75\x05\xbf\xbb\xca\x8f\x59\xa7\xca\x4b\x5d\xc2\x6b\x43\xe7\x66\x4e\x43\xbb\xa9\xbf\x99\x51\x7f\xea\x56\x5e\xc9\x78\xa7\x90\xfc\xf2\xf9\xe4\x7b\xe7\x9c\xf3\xd2\x3b\x85\xcf\xbe\xf5\x76\xef\xdb\x1a\xd5\xdb\x37\xb7\xaf\xaf\xbf\xf9\xf9\xe3\xef\x28\x7d\xf9\xb6\xec\xdb\xfa\x97\x26\x0d\x9d\xcc\xf5\x5e\x1c\x54\x39\xa5\xe7\xa5\x6f\x7e\x7e\x45\x3a\x7a\x25\xce\xdb\x67\x5f\xe9\x7c\x8f\xc3\xef\x49\x19\x9f\x4c\x27\x6f\xfe\xfe\x9f\xb3\x5f\x11\xe7\xe9\x77\xee\x5f\xf8\xd1\xa5\x3b\xb8\xc4\x61\xda\xf4\x7f\x14\x2a\xcb\xaf\x20\x72\xa7\x41\x7a\x97\x0d\xb7\x34\xfe\xcd\xdf\x9e\x7d\x57\xf3\xeb\xec\xf8\x43\xf0\xff\x1b\xfc\x2b\xb2\x5a\xfe\x0a\xff\x0e\x72\x7e\xc9\xff\x3f\x06\xab\xf5\xe2\xd7\xcd\xe2\x77\x61\xf5\x9d\x4c\xfe\xa4\x5a\xd3\xc9\x9b\xdf\xb1\xec\x1f\x2a\xe7\x7f\x5b\xa3\xbf\xce\x61\x18\x46\xbf\x4a\x89\xd7\x1e\xcb\xff\xf3\x85\x10\x97\x57\x87\x10\xff\xf3\xa7\x96\xbe\x4e\x3f\xed\x4f\x1a\x42\xfc\xa9\x0e\x7d\xfd\x0b\x0f\x90\xd2\xda\x2b\xcf\x09\x7d\xe9\x46\xef\x9f\x48\xbf\xbd\xfa\x70\xff\xa8\xd0\xdf\x67\x2f\xcf\x9a\x3d\x99\xf5\x92\xb4\xdf\x3f\x8a\xf4\x2f\x61\xd9\x4b\x31\xfd\xf3\xa3\x4e\x7f\xc2\xc0\xb4\xb6\x6c\x3c\xf6\xac\x1f\x0a\x44\xef\xea\xe2\x87\xe7\x51\xd5\x58\x7c\x7d\x8a\x6f\x6d\xd9\xd5\xf3\x2f\xc2\xdd\x23\xf0\x47\x5f\xf1\x80\xc1\x87\x0f\x13\xf4\x1b\xf4\xb9\x02\x9f\x7c\x98\xfc\xd7\x3f\xbf\x37\xa6\xbc\x7d\xa7\xf6\xd5\xf2\xff\xe9\x87\xa8\x9e\x59\xa0\x8f\xdf\xc1\x0d\xc7\xef\xdf\x86\x93\xff\x98\x7c\x31\xe9\xd7\x49\x78\xff\x68\xcd\x6d\x2b\x0f\x98\xbc\xfd\xfb\x03\xb5\xc3\x7f\x3c\xfd\xa6\xe5\x3f\xff\xf0\xc8\xf5\x9b\x1d\xfd\xc9\x63\x8b\x7b\xfe\xbc\xc5\x7d\x87\x09\x9f\xbe\xa4\xfc\xd5\x2f\x6e\xdf\xe9\xa3\x7f\x5c\x08\xb9\x73\x7e\xe0\x85\x39\x3f\x1a\x32\xfe\xe7\xb3\x90\xf1\xf5\x74\xb8\x73\xc6\xe0\x0e\x1d\xac\x3c\x8f\xc3\xf1\x07\xb9\xf1\x8f\x3f\xc4\xf5\x63\xe4\x78\xd5\x7a\x95\x57\xfb\x0f\x3f\xcf\xf2\x16\x7e\xf7\xd9\x2f\xb5\xbc\x27\x48\x0a\xa8\x3b\xe5\x37\x9c\x06\x92\x4c\x2a\xaf\x3b\xa3\xf2\x39\xb8\xd9\x1f\x0b\x0e\xf9\x63\xc1\xa1\x3f\x00\xee\x6b\xe4\xbe\x73\xd0\xe9\x1e\x06\x56\xeb\xb9\xf8\xd5\xfa\xde\xb5\xc9\xaf\xda\x45\xe9\x55\xe1\xe0\xbd\x9d\xa1\xc8\xb3\x8a\xef\xcd\x61\x7d\x3f\xee\xcb\x57\xe1\x9e\x95\xa1\xff\xff\x67\xef\xdd\xdf\xda\xc8\x91\x05\xd0\x9f\x37\x7f\x85\xc2\xce\xc6\x76\x30\xc6\x36\x6f\x88\x93\x63\x1b\x33\xe1\x0c\x79\x5c\x60\x5e\x17\x38\x3e\x8d\x5b\xb6\x7b\x62\xba\x3d\xdd\xed\x00\x9b\xb0\x7f\xfb\xfd\xf4\x6c\xbd\xbb\xdb\x90\x99\xb9\x7b\x96\xef\x9b\x09\xa8\xa5\xaa\x52\xa9\x54\x2a\x49\x55\xa5\x20\x7c\xd4\x14\xdd\x29\x84\x48\x4e\xa3\xb1\x34\xb2\x96\x65\x06\x38\x39\x51\x8c\x15\xb3\x68\x52\xad\x9c\xc1\x38\xf0\x66\x60\x1e\xc5\x29\x88\xd1\x86\x22\x49\xa1\x0f\x84\x09\x0c\x3e\xc1\xfb\xb9\xe7\x37\x4c\xe9\x09\x0d\x40\x85\x96\x3f\xe0\x86\xce\x9e\x2b\x8d\x3f\x07\xf0\x16\x3f\x6f\x91\xdc\x87\xa3\x33\x7c\xe0\xde\x8d\xa1\x67\xcb\xa2\xe0\xe2\xc1\x9e\xce\x02\xc2\xcf\x66\xd3\xa0\x61\xd9\x27\x03\xb3\xd9\xa7\x62\x53\xe3\xae\xd5\x7c\x17\x2d\xb0\x03\x9d\x60\x15\x76\x3a\x60\xaf\x18\x03\xd2\x76\xd3\x02\x00\x11\x5e\x08\x46\x18\xc5\x37\xde\x4c\x07\xf2\xba\x38\x88\x1b\xd4\x18\x3f\x3f\x90\x94\x19\x3e\x16\x66\xae\xa4\x56\x87\xf8\x25\x88\x35\x0c\x74\x0d\x62\xa8\x05\x85\x29\xc1\x69\x13\x83\x28\x7c\xe7\x85\xde\x04\xc6\x0d\x3f\x48\x10\x2c\x9b\x40\x98\x04\xbc\x17\xe0\xcc\x7d\x20\x8d\x00\xa6\x00\x10\x0a\xac\xf2\xec\x9c\x8c\xcd\x66\x31\x43\x00\xed\xd2\x8f\xa2\xd1\xc2\xcd\xbe\x1c\x54\x5b\x85\x50\x2d\xd2\x31\x1b\xeb\xa5\x31\x15\xd3\x17\xc9\x24\x7e\x2c\xa6\x56\xc1\x3e\xc5\x77\x9f\xd3\xc7\xe1\x6a\x17\xc3\x44\x6e\x7c\xde\x06\xbe\x0f\x73\x72\x17\xbb\x3b\xb6\x69\xd0\x37\x80\x47\xdd\x68\x0d\x36\x0d\x6b\x08\x83\x64\x59\x5e\x4c\x56\x2d\x99\xea\xae\x5c\x2c\x38\x61\x2d\xae\x65\x4c\x65\x2d\xfe\xe0\x83\xf4\x7d\xe3\xf1\xba\x9e\xcc\x5a\xfc\xc1\x07\xed\x5a\x43\x5c\x9a\xd3\xd0\x0f\x92\xb9\xde\x10\x95\xba\x1b\xde\x69\x8d\xee\x72\x30\xe9\x58\xdc\x0d\xf8\x5d\xb1\xd6\x30\xbb\xac\x2e\x00\x80\x5c\x17\x5b\x60\xd0\x0b\x75\x27\x18\xb4\xad\xd3\x9a\xa3\x42\x6b\xab\x07\xb3\xf8\x02\xa3\x09\x06\xb5\x3c\xa6\x8e\xfa\x25\x57\x67\x03\x04\x2e\x89\xe4\x97\xc2\xed\x92\x69\x74\x4b\x36\x12\x36\x64\xe6\x24\x40\x05\x36\x4d\x79\xb7\x58\x7f\x9d\x0d\x32\xa7\xe5\xdf\x67\x8b\xbc\xa4\xba\xfd\xb7\xdd\x23\x2f\xc9\x0f\x8b\x69\x6a\x4c\x9a\x83\x36\x6d\xc8\x9a\xdc\x68\x1b\xb2\x80\xf1\x8d\x5d\x89\xf4\x5e\x74\x23\x67\x83\x54\x66\x77\x67\x9e\xc4\xe6\xc3\x34\x8e\xe0\x0f\xd9\x28\x2e\x39\x30\x4b\xee\x14\x97\xb5\x42\xbe\xf5\x56\x11\xcf\x00\x64\x4b\x5f\x7b\xa3\x4f\xc8\xa0\xa6\xfa\xfc\xf1\x3b\x44\x47\x8f\xff\x9d\xb7\x88\x25\xba\x2d\x6e\x0c\x8b\x37\x93\xf7\x82\xc5\xdb\xc9\x1b\xc0\xe2\xed\xf4\x1d\x20\x7b\xd1\xe6\x09\x37\x81\x04\xd4\x32\x23\xbe\xd4\xfe\x6d\xe9\x3d\x41\xf9\x0d\xdc\xf2\xa8\x4a\xef\xe0\x96\x46\xb5\xcc\x16\x6e\xd9\x75\x7e\xa9\x3d\xdc\xb2\x7b\xd3\x3f\x66\x0b\x57\x7a\x07\x67\xda\x8f\x19\x42\xbf\x31\x1c\xf2\xb5\xb0\x59\xcd\x42\x3d\xcd\xb0\x0c\x79\x59\x5d\xb0\x68\x5c\xa7\x05\x16\xfa\x5a\x18\x96\x29\xb4\x9d\xc0\xb9\x2b\x4e\x8f\x9d\x96\xe2\xdb\x0e\xb6\xd5\xb3\xc2\xe2\x35\x4a\xc2\x24\x5b\xbf\x1c\xb0\x6a\xd0\x50\x0e\x64\x7a\x03\x68\x86\x88\x3e\x2e\xb1\x4d\x5b\xcc\x4a\x6c\xd2\x54\x3d\x9d\xc0\xb4\xb7\x18\x8f\x61\x6c\x0c\x46\x2a\xbe\x6b\x8c\xe1\x38\x86\xc9\xb4\xaa\xfb\x86\xb3\x4b\xea\x3f\x72\x0f\xfb\xa7\xed\x45\x47\x53\x2f\x5e\xc2\xf1\x4f\x0c\xfa\x6a\x21\x9b\x5f\x3e\x56\xce\x4b\x38\x43\x93\xb2\xea\x82\x45\x1d\x22\x0f\x0a\xee\x38\xd1\xbe\x37\xcb\x89\x42\x89\xaa\x93\xad\x70\x1d\x8c\x67\xde\xc4\x74\x9b\x44\x91\xbf\x7e\x0d\x5a\xbb\x75\x30\x9e\x80\x8e\xbe\xa5\xc9\xea\xec\xd5\xc0\x0b\xd0\xbc\x6b\x8d\xc7\x75\x70\x3d\xb1\x83\xe3\x95\x84\x69\x4b\xb3\x42\xa0\x3d\xf9\xcc\xb8\x0f\x9f\x67\x87\xe9\x81\x92\x9b\x16\x33\x1b\xbc\xee\x80\x8d\x26\x66\x30\x78\xd5\x01\x1b\x3b\xc6\x3c\xd5\x88\xaa\x39\x58\x03\x1b\x4d\xd7\xc6\x3d\xbb\xff\x47\x50\x37\x33\xa8\x9b\x46\xa8\xd7\x0c\xea\x66\x09\xa8\x7b\x19\xd4\x3d\x23\xd4\x39\x58\xed\x80\x5d\x5d\xc4\x79\x1f\xf6\x4a\x60\x6b\x35\x33\x74\xad\x66\x29\x7c\xbc\x77\x2d\xf5\xf6\xc2\x8a\xd0\x28\xd8\x98\x76\xb3\x9c\x51\x59\x26\x72\x66\xe9\xb1\x2a\x77\x42\x9b\x4c\xee\x2c\xd4\x5b\x9a\x1a\x1b\x39\x3b\xa5\x9d\x29\x65\x9d\xfa\x9a\x13\x2b\xa9\x40\xda\x74\x42\x6a\x97\x80\xb4\xe5\x84\xb4\x59\x02\x92\x79\xca\x30\x48\xbb\x25\x20\x19\x9f\x3e\xcd\xf8\xb4\x5d\x02\x54\xdb\x98\xed\x9a\xc0\x7a\xd1\x01\xff\x2a\xc3\xf4\xb6\x83\xeb\x08\x56\x19\xb6\xb7\x1d\x7c\x47\xb0\xca\x30\xbe\xed\xe0\x3c\x82\x55\x86\xf5\x6d\x07\xef\x31\xbf\xca\x30\x7f\xc3\xf8\x86\xee\xb2\xf3\xd1\x3d\x21\x8c\xa8\x9e\x76\xfa\x6e\x18\x79\x23\xf8\x09\x06\x60\x15\xb4\x72\x52\xec\x07\x48\x4f\xb6\xcd\xa6\xc7\xd8\x40\xee\x8d\x97\x8e\xa6\x38\xdb\x37\xc7\x72\x85\x69\xc7\x2b\xa0\x84\xd7\x50\xda\x66\xa5\x8e\x97\x0c\x10\xd6\x4e\x07\xac\xb5\xec\x0f\x48\x60\xc2\x2c\x2a\xd2\xd5\x29\xcb\x8b\x16\x66\x96\x19\x67\x44\x1e\xcb\xa4\x75\x9d\xf6\xd5\xc1\x5c\x83\xa5\xef\xca\xfe\xaf\x0a\xd9\xb7\x16\x00\x93\xbc\x7e\x7b\x01\xb8\xce\x17\x80\xeb\x7f\x03\x01\xb8\x7e\xbc\x00\xb4\x9a\x66\xbb\xe4\x4f\xb6\x30\x72\xc3\x0e\x60\x1c\x47\x71\xb5\xf2\x63\xf8\x29\x8c\x6e\x43\x70\xf6\xfd\x29\xf0\xd8\x5e\x64\x1f\xfc\xc3\x6f\x54\xea\x60\x5e\x20\xa4\xc5\xba\xbb\xa8\x92\x15\xe2\xd5\x2b\xfc\x6e\xf9\x57\xac\x54\x5e\xbd\x42\x1d\xff\x0a\xae\x27\x07\x05\xf6\x47\x3e\x0e\x8d\x3a\x4b\xbd\x74\x51\x64\x77\xf4\xd4\xd7\x5f\xc5\xce\xaa\xf2\xc3\x37\x9a\xe1\x32\x9e\x29\x05\xcf\xff\x72\xb1\x57\xac\x13\x78\xd5\xe0\x6c\xbe\xaa\xfa\xb4\xcb\x0d\x2a\x07\x65\xc0\xdd\xe5\x82\x3b\x2d\xc1\x99\x3f\xe3\xe2\xef\xa9\x06\xe1\xcd\xbf\xcd\x28\x00\x7e\x28\x6a\x99\x1e\xcb\x1c\xff\x3a\xdb\x58\xc6\xc0\xd5\x66\xcb\x72\x6f\xf3\xe8\x13\x9b\x24\x1a\xa7\xa7\x30\x81\x69\x8e\x3a\x2a\xe5\x93\x54\xe2\x3e\xbd\xc4\x8d\x66\x39\xe7\xd5\xf2\x37\x7a\xe5\x8f\xe1\xca\x5f\x97\x3b\x4e\x6f\x9b\x39\xb5\x6c\xe7\xb1\x7a\x14\xcc\xd2\xc7\x63\xf9\x67\xdc\xf7\x4e\x42\xd9\x2b\x9a\xea\xa9\xac\x52\x6d\x32\x83\x9f\xe1\xac\x08\x24\xb4\x48\x5e\x20\x58\x57\x45\x56\xd7\x04\xa6\x84\xef\x67\xe9\xfd\x6c\xa9\x40\x36\xf0\x0a\xb4\xc0\x1b\xd0\x02\xfb\xa6\x80\x1a\x49\xcb\x1a\x13\x2b\x2a\x6e\x15\x05\x33\x0f\x26\x30\xfd\x30\xc7\x4f\xcd\x56\x46\x19\xfd\x95\x3a\xa8\x5c\xcf\xa2\xd1\x27\x93\x2e\x2b\x98\x05\xd4\xe6\xf4\x52\x98\x80\x45\xe8\xc3\x78\x16\x84\xb0\x0c\x11\x5b\x06\x22\x0c\x3a\xaf\x38\x17\xbc\xb8\x00\x7a\xf9\x1c\x37\x48\x7a\xb3\x20\xfc\x14\x84\x13\x1e\x8a\xf9\x0f\xd0\x26\xf6\xad\x7d\xa2\xa9\x24\x60\x18\x95\xba\x00\xad\x58\xe6\x1c\x98\x12\x85\x71\x0a\x27\xc5\x22\xf7\xcc\x86\x9e\xd4\x65\xf5\xdc\xda\xa1\x4a\xaa\x72\x5a\x82\x9a\x53\x3d\x28\xda\x45\x08\x07\xcc\x0e\xe2\x5b\x57\xe0\x95\x59\xf1\xbc\x11\xaa\x68\x4e\x80\x24\xac\xcf\x85\xfc\xce\xa9\x05\xee\x8b\xbe\xd1\x94\x78\x9f\x61\xa6\x72\x8b\x2f\x63\xd8\x43\xe7\x17\x67\xc2\x18\x53\x8b\x5f\xad\xb9\x8a\x73\x5d\xf5\xd2\x28\x5e\x8a\x52\x83\x2e\xa6\xc4\x7f\xfd\x9a\xc3\x41\x73\x0f\xb2\x66\x94\x66\xfa\x2e\x9b\x48\xba\xfa\x08\xb7\xf2\x6a\xb4\x5c\x15\xcd\x3a\xfa\xe8\xb2\xfc\xa2\x74\x34\x4f\x79\xcf\xf0\x23\xd5\x1f\xde\xf5\x8e\xdf\x1f\xbf\xff\x1e\x29\x77\x4e\xf8\x45\xf3\xae\xb9\xd1\x6c\xd6\x01\xfa\x77\xfb\xe8\xaa\x8e\x4b\x36\x77\x37\x70\xc9\xe6\xee\x36\x2f\xd9\xa5\x25\x7b\x57\x75\xa9\xf5\xd6\x5e\x0b\x7f\xd9\xea\x1d\xd2\xba\x5b\xbd\x23\x5a\xc2\xe0\x6d\xf5\x69\x9d\x7e\x5b\x6d\xdd\xdf\xa4\x5f\xb6\x78\xdd\x1d\x5a\xb2\x43\x4b\xb6\x29\x7d\xdb\xcd\x0d\xa5\xf5\x76\x8b\x7e\x69\xb1\xd6\xdb\x9b\x3d\x52\xb2\x35\x60\x25\x3b\xb4\xce\x4e\x53\x6d\x7d\xb8\x4d\xbe\x0c\x36\x59\xdd\xc1\x0e\x2d\xd9\xe5\x25\x5d\x5a\x72\xa8\xb4\xde\x69\x92\x5e\xee\x34\x59\x2f\x77\x5a\xa4\x97\x3b\xad\x16\x2b\xd9\x20\xb8\x77\x36\xbb\x6a\xeb\x2e\xc1\xbd\xd3\x6b\xb2\xba\x03\x42\xf9\xce\xd1\x06\x2d\xd9\x6b\x12\x78\x7b\x4d\x95\x6b\x7b\x1b\x7d\xf2\x65\xa3\xcf\xea\x6e\xd2\xba\x9b\xbb\xbc\xe4\x90\x96\xa8\x94\xef\x6d\xd1\xba\x5b\xac\xdf\x7b\xdb\x6d\x52\xb2\xcd\x71\xef\xd2\x3a\xbb\x2d\xb5\x75\x8f\xe2\xee\x71\xdc\x74\x74\xf7\xfa\x1c\x5e\x9f\xe2\xee\x6b\xb8\x07\x14\xd3\x80\x61\xea\xd2\x5e\x76\x51\x2f\x49\x09\xed\x5d\x17\xf5\x4e\x6a\xdd\xa5\xbd\xec\x6e\xf2\xba\x9b\x3b\xb4\x64\x97\x97\xf4\x68\x89\x8a\xbb\x4b\x25\xa1\xbb\xc3\xc6\xa7\x4b\x7b\xd9\xdd\xe5\xf0\x68\xef\xba\x3d\x0d\x37\xed\x65\x97\x4b\x6a\x97\x4a\x6a\xb7\xcf\x71\xd3\x7e\x77\xb5\x7e\x77\x69\xbf\xbb\xbc\xdf\x3d\xda\xef\x5e\x93\x51\xd3\xa3\xfd\xee\x69\xfd\xee\x6d\x1c\xd1\x2f\x4c\xd6\x7a\x94\x13\xbd\x4d\x0e\x8f\x8e\x77\x4f\xeb\x77\x6f\x8b\xc8\x5a\x6f\x8b\xcd\xe6\xde\x2e\xa1\xa6\xc7\xfb\xdd\xeb\x13\xde\xf4\xfa\xea\x2c\xe9\xd1\x3e\xf5\xfa\x6c\x7e\xf7\x37\x06\xb8\xa4\xbf\xc9\x64\xb7\xbf\xb9\x4d\x4b\x76\x95\xd6\xfd\xcd\x2e\xfd\xc2\x5b\x6f\x6d\x91\x12\x4e\x4d\x9f\xf2\xbc\xaf\xf1\xbc\x4f\x35\x49\x9f\x6b\x92\x7e\x9f\x62\xea\xf3\xd6\x7d\xda\x5a\xe3\x79\x9f\xf2\xbc\xcf\x79\x7e\x48\xb9\x76\xb8\x99\x95\x1c\xd2\x12\xb5\xf5\x61\x9f\x50\x7e\xd8\xef\xb2\xba\x87\x04\xde\xe1\xe1\x26\x2f\xd9\xa6\x25\xdb\x4a\xeb\xc1\x06\xc1\x34\xd8\x60\xa3\x3b\xd8\xd8\xa4\x25\x0c\xde\x80\xca\xee\x60\x73\xa0\xb6\xee\xd1\xd6\x3d\xde\xba\x47\x5b\xf7\xf6\x78\x49\x8f\x96\xa8\x5c\x1b\xf4\x89\xae\x1e\xf0\x11\x3b\x6a\x91\x92\xa3\x16\x6b\x7d\xb4\x41\x46\xe1\x68\x63\x4b\x69\x7d\xb4\xb1\x43\xbf\xec\xf0\xba\x7b\xb4\x84\xb7\xde\x21\xf4\x1d\xed\xa8\x94\x1f\xed\x12\x39\x3a\xda\x65\x3c\x3a\xda\xdd\xa6\x25\x1c\xde\x1e\xad\xb3\xb7\xa3\xb6\xde\xa3\x98\xb8\x6e\x39\xa2\xe3\x7d\xc4\xc6\xbb\xd5\x6c\xe3\x11\x6b\x35\x37\x14\x49\x6d\x35\x37\xda\xf4\x4b\x9b\xd5\xdd\xd8\xa6\x25\x3b\xbc\x64\x8f\x96\xec\xa9\xad\xb7\x76\xc9\x97\x2d\xda\xcb\x56\x6b\x1b\xd3\xd9\x6a\x1d\x51\xe9\x6b\x6d\x6c\x61\x79\x44\xff\x2a\xad\x77\x5a\x04\xf7\x4e\x8b\xf6\xbb\xb5\x43\xa9\xd9\xd9\xe0\x25\x5b\xb4\x64\x6b\x43\x6d\xbd\x43\xbf\xec\x6c\xb0\xba\x64\xbc\x5b\x3b\xbd\x2d\x5e\xb2\x43\x4b\x0e\xd5\xd6\x84\x47\xe8\x5f\x56\xb7\x4f\x7a\xb9\x73\xc8\xe1\x1d\x1e\xd2\x12\xb5\xf5\x6e\x13\xcb\x51\x6b\xb7\x49\xa5\xa5\xb5\xdb\x25\xad\x77\xbb\x8c\x13\x7b\x6d\xc2\x89\xbd\xb6\xb2\x12\xb5\xf6\xda\x3b\xf4\xcb\x2e\xab\x4b\xfb\xbd\xc7\x47\x61\x8f\xf2\x7c\x6f\xa3\xa7\xb4\xee\xb6\x48\xeb\x6e\x8b\xb5\xee\x91\xb5\xbe\xd5\x6b\x32\xca\x7b\x64\xde\xa0\x7f\x95\xd6\x3d\x3a\xba\x3d\x36\xa3\x5a\x54\x83\xb6\x7a\x6c\x5d\x6c\xf5\x36\x09\x35\xbd\x4d\x95\xf2\xde\x36\xe9\x77\x8f\xf3\xfc\x90\xe8\xc0\x16\x9f\xf1\xad\xc3\xa3\x01\x29\x39\x52\xc6\xbb\xdd\x24\x5c\x6b\x37\xd9\xea\xdf\x6e\xb6\xbb\xa4\xa4\x3d\x60\x25\x44\x7e\xda\xcd\xed\x0d\xb5\xf5\x36\xad\xbb\xcd\x5b\x1f\xd2\xba\x03\x5a\xb2\x41\xe1\x6d\x34\xdb\x0a\xee\x8d\x26\x99\x25\x1b\xcd\x3d\x4a\x67\x77\xb7\x89\x39\x81\xfe\xe5\x25\x3d\x5a\xa2\xf0\xbc\xbb\xdb\xde\x22\x5f\xda\xb4\xee\x51\xaf\x85\x7b\x89\xfe\xa5\x25\x03\x32\x0a\x47\x83\xa6\x82\xfb\x68\xd0\xa6\x5f\xda\x1b\xac\xee\xd1\x11\x29\x61\xb3\xe4\xe8\xe8\x08\xd3\x77\x74\x74\xa4\x8e\x37\x5b\xec\xd1\x2f\x8c\xeb\xcd\x6e\x73\x8b\x95\x6d\x67\x65\x7d\x56\xa6\xce\xb4\x66\x77\x83\x4e\xd4\x2e\x1f\xf7\x66\x97\x2c\x90\xf8\x17\x36\x76\xad\x6d\x22\x5c\x87\xad\x6d\x75\xae\x1f\xb6\x76\x36\xe8\x37\xb6\x02\xa2\x5f\xb7\x58\x59\x8f\x97\x75\xbb\xb4\xac\xab\xce\x9b\xc3\x36\x15\xad\xc3\xf6\x26\x9d\xe1\x83\x66\x93\xf4\x0f\xff\xc2\xcb\x08\xcb\x06\xcd\xe6\x8e\xd2\x97\x41\xb3\xd5\xa4\xdf\x5a\x83\x23\xf2\x28\x3b\x3d\xf8\xe0\x76\xfc\x75\x90\x40\x2f\x1e\x4d\xab\x8b\x91\x76\x90\x72\x13\x84\xf2\x46\x0e\x17\x7a\x68\xd3\xc2\xad\xfd\xec\x91\x91\x96\x52\x2f\xf0\x0f\xa4\xcd\xf0\x62\x94\x80\x57\x59\xc3\x8b\xe6\x15\xdd\xc9\xa2\x0f\xaf\x85\x0f\x37\xde\xdd\xd5\x45\xeb\xca\xb4\x4f\x56\x0f\xde\x68\x06\x3c\x44\xd3\xeb\x0e\xa2\x57\x3d\xbf\xb9\x09\x7c\xf6\xe4\xc7\x78\x16\x45\x71\xb5\x8a\x3a\xb5\x8a\x7a\x51\x03\xeb\xa0\x6d\x78\x70\x5c\x23\x27\xf0\x75\x72\x08\x6c\xc4\x1e\x84\x41\x7b\xed\x87\x9f\xf7\xab\x9d\xc6\xc0\x9a\x26\x60\x98\xad\x08\xd8\x9a\x09\x98\x56\x9f\xf2\x43\x3e\x1d\x15\xb2\xac\x6a\xec\x7a\x90\xc7\x9d\xee\xe9\xd4\x61\x67\x34\x13\x3f\x26\xd3\x08\xa0\x7d\x5f\x23\x5c\xcc\x4c\x83\xbb\xd1\x46\xe3\x49\x38\xd8\x01\xcd\xbb\x9d\x31\x78\xf1\x02\x90\x6f\xcd\x3b\xaf\x59\xb3\x43\x1c\x45\x61\x1a\x47\x0a\x54\x49\x38\x8d\x6d\x9b\x72\x83\x20\xf9\x39\xf0\x21\xa9\x6e\xcc\x37\x28\x5e\xc5\x6a\xdc\x6a\x19\x39\x25\xc0\x14\x40\xd2\x26\x59\x5f\x5b\xd4\xd1\x8c\xb0\x82\x94\x6c\x8d\xc1\xd7\xaf\x12\x15\x9c\xb7\x77\xed\x8d\xf6\x9e\xf3\xab\xa7\x7e\xcd\x70\xb5\xe1\x6e\x93\x73\x16\x15\x78\x9b\x23\xce\xea\xe7\x18\xc0\x46\x73\x63\x5c\xb3\x43\xf0\x46\x4d\x19\x82\xbf\xe3\x6d\x38\xea\x8f\xf7\x94\xfa\x63\x6f\xec\x82\x3f\x86\x2d\xa5\x3e\x6c\xed\x39\xeb\x6f\xa8\xf5\xb7\x9d\xf0\xc7\x2a\x3d\xe3\xed\xa6\xb3\x3e\x54\xeb\xc3\x6d\x47\xfd\x76\xb3\xa9\x20\x68\x8f\xc7\x63\xdf\xd1\x62\x43\x6b\xb1\x81\x5b\xb0\xdc\xd1\x0f\xe2\x71\x0c\x9d\x7d\x07\xcf\x1e\x6a\xd5\x2f\x20\x5c\xcc\xf6\xf1\xf3\xca\x64\x0e\xec\x83\x26\x78\xa8\x1d\x3c\x7b\xb6\xbe\xfe\x77\x90\x44\x8b\x78\x04\xdf\x79\xf3\x79\x10\x4e\x7e\x3c\x3d\xe9\x48\x87\x50\xbf\x25\x8d\x1b\x6f\xfe\xec\xd9\xb3\xf5\x97\x2f\x5f\xae\x83\x87\x5a\xfd\xd9\xfa\x4b\xd0\xda\x05\x2f\xd7\x69\x11\x3f\xb1\xa9\xde\x44\xfe\x62\x06\xeb\x80\x1e\xfb\xd4\xc1\x70\x78\x0b\xaf\xe7\xde\xe8\xd3\x30\x86\xbf\x2f\x82\x18\x0e\x87\x48\xc2\x9f\xad\x2c\x12\x08\x92\x34\x0e\x46\xe9\xca\xc1\xb3\x67\x1f\xae\x7f\x83\xa3\xb4\xe1\xc3\x71\x10\xc2\x8f\x71\x34\x87\x71\x7a\x5f\xe5\x50\x56\x86\x43\x98\xbc\xc3\xb0\x57\xea\xe0\x0b\xf8\xec\xcd\x16\x70\x1f\x2b\x26\xdc\x0b\xb4\x16\x1c\xbf\xff\xa9\x7b\x72\x7c\x38\x3c\x39\x7e\xff\xc3\xb0\x7f\xd2\x3d\x3b\x03\x1d\x40\xf2\x42\xae\x05\xe1\x67\x6f\x16\xf8\x6b\xf8\x4c\x96\x54\xc7\x47\x6b\xa3\x68\xd6\x9f\x79\x24\x8a\xa3\x52\x9d\xa6\xe9\x3c\x79\xb3\x7f\x79\xb9\x7e\x79\xb9\x5e\xa3\xf5\xfc\xe8\xc6\x0b\x42\x9e\xe0\xf5\x0c\xdf\x51\x54\x2e\x2e\x2f\x7d\x6f\xed\x9f\x97\x97\x8d\xb5\xab\x55\x5a\x33\x84\x13\x2f\x85\xfe\xa1\xb9\xc1\xff\x18\x5a\x10\xd8\xbd\xc8\xbf\x17\xa8\xa8\x80\x55\x13\xd2\x55\x50\x61\x24\xa5\x33\x5f\xa8\x7f\x41\xa0\x5e\x7d\x69\xd7\xb7\x1f\x58\x95\x60\x2e\xd4\xa8\x5e\x5e\xfa\x5f\x5a\xf5\x8d\x87\xcb\xcb\x46\xed\x0b\xfa\x87\xfc\xc9\x2a\xcf\xa2\x91\x37\x7b\x1b\x25\xa9\xd0\x06\x97\x4d\xa3\x24\x65\x95\xd0\x48\x08\xdf\xf7\x09\x90\x2d\x0e\x64\x2a\xb7\x17\xba\x21\xf4\x6f\x15\x54\x2e\x2f\x1b\xe8\x53\xd6\x07\xd4\xb1\xaf\xa8\x88\xd3\xbc\x0a\x2a\xb8\x40\xa5\x0b\xb3\x00\xac\x8a\xa4\xac\x82\xca\x1b\x46\xa0\x97\x4e\x05\x02\x2e\x2f\xd7\x2f\xf0\x48\xde\x5e\x5e\x36\x2e\x2f\xd7\xfe\xf1\xaf\xab\x97\xb5\x97\xb4\xee\xef\x0b\x18\xdf\x9f\xa5\x71\x10\x4e\xde\x7a\xc9\xf4\x28\xf6\x26\x37\x30\x4c\xb5\x41\x6b\xae\xed\x61\x00\x17\x97\x97\x57\x97\x97\xd5\xcb\xcb\x1a\x06\xf9\xe6\xf2\xf2\xf9\xdf\xff\xeb\xbb\x7f\xbc\xb8\xac\xbc\x5c\xad\xef\x1f\xfc\xeb\xf2\xb2\x43\xb0\x5c\x19\x30\x48\x44\xbd\x41\x1d\x28\x82\x1e\x75\x96\x75\x6d\x2a\x56\xca\xa0\xfd\x7d\x19\x58\x54\x4a\x3f\x22\x6e\x19\x64\x54\x60\x18\x17\xd3\x6b\x51\x40\xa7\xe2\x78\x08\x3c\x5f\x35\x74\x79\xd5\x40\x39\x01\x99\xa4\x5e\x8c\x71\x56\xdf\xec\xff\x0f\x1e\x6c\xfb\xec\x41\xd4\x57\x29\x29\x30\x44\xa6\x56\xa5\x56\xfd\x4e\x6c\xa4\x75\x46\x98\x2c\x44\xc7\xfc\x18\xcf\x4e\xe1\x04\x22\xf3\x27\x84\xb7\xe0\x14\x4e\x06\x77\xf3\x2a\xa1\x62\x55\xd5\x05\xab\x62\x8f\x57\x11\x4e\xaa\x62\xde\xfe\xfa\x71\x70\x7a\x3e\xf8\xe5\x9c\x28\x99\x77\xdd\xf3\xfe\xdb\xc1\xe9\xf0\xf8\x90\x58\xb0\xa8\xca\x49\x10\x7e\x0a\xc6\x01\x8c\xe5\x83\x6c\xb6\xaa\xf3\x12\x5e\xaf\xaa\x9f\xdc\x87\xe4\x11\xe5\x4f\xef\xbc\x74\x34\x85\xf1\x31\xea\xb2\x15\xb5\x7a\x7e\x1f\x47\xb7\xe7\xc1\x0d\x8c\x16\xe9\xb1\x8f\xef\x40\xaf\xd4\x1a\xb3\x0c\xb4\xb1\x42\x0c\x27\x41\x92\xc2\x58\x20\xa1\x2a\x73\xb1\x8e\x2f\x69\x91\x22\xc6\xce\x77\xc7\xa1\x0f\xef\xf6\x41\x0b\xab\xe2\x6c\x19\xe2\x5d\x14\xae\x31\xbc\x34\xf5\x46\xd3\xf3\xe8\x10\x5f\x18\x65\xfc\xf1\xa3\xd1\x02\xc9\x08\x7e\x23\xc0\x70\x99\xc1\xbe\x83\x0e\x60\xbf\x1a\x3a\x9e\x90\xf7\x4d\x13\xe9\x72\xc2\x44\x06\xbe\x91\x1b\xdf\x9f\xe2\x67\x02\x32\x2a\xe2\xe8\x16\xf7\xc5\xe2\x4c\xc5\x30\x17\xcf\x32\x8d\xb5\x35\x1b\x0d\x7e\x9f\x22\x0d\xd1\x05\x43\xaa\xa4\x5f\xe4\xcd\xb4\xdb\xe2\x19\xf4\x62\xda\x5e\xa8\x65\x42\xef\x44\x07\x3a\x20\x81\x29\x07\xc4\x45\x83\xf0\xa5\x71\x1d\x84\x3e\x2e\xc5\x43\x42\xd8\x52\x17\x98\x79\x7e\xfc\x6e\x30\xec\x0d\x8e\x3e\x9c\x0e\xb0\x48\x1e\x1f\xfd\x5a\xcb\xe5\x7b\x02\xd3\xb7\xf7\x68\x6d\xa7\x12\x9e\x5d\x08\x65\x83\x30\x25\x65\xba\x0c\x88\x72\x7b\x61\x9d\x0f\x57\x8d\x29\x07\x3a\x65\x17\x4c\x25\xc8\xfa\x09\x19\x0a\xc4\x11\xc3\x9b\xcd\x70\x28\xb8\x48\xdd\x88\x16\x2e\x4f\xde\x67\x13\x02\x06\x36\x97\x54\xc3\xe4\x94\x45\x98\xcc\x4f\xda\xf3\x3a\xda\xf7\x04\x51\xa8\x6d\xbf\x68\x31\xde\x08\x7c\x8e\x02\x1f\xc7\x93\x00\x5e\x0a\xbe\x3c\x1c\x18\x93\xd8\xea\xaa\x09\xed\x04\xec\x7a\xf1\xc5\x0b\xf0\xdc\x30\xa0\x84\x6b\x71\x74\x8b\xb5\xf1\x80\x78\x5f\xb2\x71\xbb\x59\x24\x29\xb8\x86\x80\x18\x83\x7e\xc5\x28\xda\xe4\x94\x80\xf5\x5f\x49\x11\xee\xef\xdb\x34\xe9\xea\x6a\x5d\x99\xba\x13\xa4\xba\x08\xd7\xa4\x2f\x94\x9a\x7d\xce\x4a\x79\xcb\x2f\xe8\x3d\xca\xb5\x46\x56\x26\xd7\xd5\x07\x3c\x6b\xa3\x7f\x93\xdb\xce\xe3\x20\x8a\x83\xf4\x3e\x6b\xc1\x4a\xf0\x2d\x6c\xc6\x18\x55\x1b\x7a\xbe\x2f\x74\xfc\x3c\x3a\x09\x92\xb4\x4a\x19\x26\x30\x94\x6e\x15\xe8\x87\x06\x3b\x4e\x71\x08\xa0\x11\xb2\x24\x82\x0c\x8b\xd1\x4f\x41\x9c\x25\x62\xec\x9e\x25\x50\x4f\xaa\x8e\x1f\x9b\xd2\xfb\x00\x9c\x2a\x58\x4a\x4b\x63\xa7\x61\x0d\xb4\x0e\x40\x80\x77\x59\x07\x20\x30\x3f\x3a\xc7\xb8\xc4\x87\xe0\x95\x09\xe2\x45\x70\xc5\x6b\xd8\x33\x9e\x4b\x34\xd0\xe7\x84\x02\xfe\xa6\x9b\xb9\x93\xa6\x8e\x02\xa7\x27\xb2\x09\x4b\xd3\x80\xc1\x31\xde\x3e\xcc\x53\x39\x37\x6c\x72\x89\xbd\x95\xd8\xde\x22\x91\x87\x56\xee\x1b\x23\x12\xcd\x32\x83\xb8\x1b\xf8\x58\x64\x8c\x78\x0b\x70\x59\x7f\xe3\x09\xd8\xce\xba\x6c\xdc\x35\x9c\x7c\x39\x66\x4c\x09\x6b\x83\x3e\xd9\x2f\x9a\x0a\x56\x0b\xe1\x79\x1c\xdd\x96\x34\x45\xe0\x5d\x4a\x4c\xa4\x06\xfa\xb5\x1f\x85\xa9\x64\x48\x99\x52\x38\x95\x1b\x34\x59\x2d\x1b\x87\xef\x40\x6b\x80\x2a\x0c\x48\x6a\x8d\x2c\x7a\xd1\x8f\x4e\x38\xdb\xc8\xd3\x84\xe6\x49\x81\x38\x21\x02\xc8\x32\x54\x19\x43\x11\xc4\x79\xac\x2b\x5f\x5b\x80\x05\xa2\x72\x38\x8b\xa2\xf9\xb0\x25\x0d\xe1\x6f\x79\xc9\xe9\x68\xc6\x10\xf2\x1e\x0b\xa7\xf1\xe2\xb7\x2b\xb3\x8f\x31\x60\x4b\x8b\x91\xba\x2a\xcb\x3f\x22\x0c\x5e\x9d\xa1\xa8\x0b\x64\x05\x09\xb6\x62\x5c\xc4\x31\x5e\x3c\x2f\x58\x17\xe0\x33\x62\x53\x02\x4c\xfd\xdc\xc5\x11\x6d\x0e\xac\x01\xe4\xf8\x8b\x2d\xe4\xdc\x12\xb1\xc4\xc4\xf5\x37\x22\xae\xbf\x81\x57\xc0\x20\x0a\xce\x37\xef\xd1\x0f\x1d\x59\xe3\x9b\xe9\x66\x82\xf5\x92\x22\x7a\xd9\xa5\x23\x44\x71\x57\xb5\x44\x26\xfa\xaa\xa6\x80\xc9\x62\x96\x2a\x7b\x38\xe2\xc2\xf8\x36\x4d\xe7\xb2\xc2\xce\xd6\x78\xac\x3d\x0b\x6c\x28\x49\x76\x45\x1f\xd2\x6d\x55\x63\x34\x0d\x66\xfe\x7b\x54\xa0\xde\xd6\xa4\xf8\xc9\x21\x45\xaf\x10\x83\x88\xcf\x36\x6c\x63\xd5\x14\x15\x46\x9a\x7e\xfd\x4a\x60\x38\x0d\x02\xaa\x73\x49\x9f\x6d\x1a\x6e\x11\x07\xac\xab\x17\x88\xb1\xd1\x98\xf7\x3b\x33\xcf\xb0\xcd\x5a\x09\x17\x37\xd7\x30\xae\x80\x37\xa0\x09\xf6\x0d\xb5\x14\x96\xc6\xd1\x2d\x7e\x09\x96\x40\xa0\x38\x1a\x01\xfe\x6b\x15\xe1\x65\xd2\xe6\xd4\xa6\x98\x9d\x79\x0a\x34\x24\x4e\xe9\xb8\xae\x51\x61\x92\x0b\x0b\x46\x09\xaa\x27\xf1\x1d\x13\xf5\x61\x5c\x5d\xc4\x81\x41\x59\x8a\x8d\x5f\x5b\x02\xc9\x15\xad\xcc\x95\xf2\x28\x86\x5e\x0a\xbb\xe1\x68\x1a\xc5\xf4\x1b\xc2\xc2\x05\xb4\xc1\xf7\x1d\x9a\x04\x1a\xe6\x16\xa2\x46\x23\x5e\x10\x81\x8c\xa9\xd6\xc0\x37\x06\x01\xfd\xef\xfc\x7e\x0e\xcd\x8f\x09\x88\x3f\x74\x5d\x85\xf3\x99\x37\x82\x48\x98\x31\x80\xba\xd8\xdd\x52\x89\x2f\x2c\x01\x66\x22\x27\xb3\x45\x00\xa1\xb2\x2b\x47\xd4\x1b\xa6\x63\x51\xcd\xf7\xde\x0d\xe9\x50\xa5\xab\x85\xed\xa8\x3f\x96\xd9\x51\xac\x0f\x40\x50\xee\x41\x18\xc2\xf8\xed\xf9\xbb\x13\xd0\x01\x95\x8a\x1d\x12\xab\xef\xcd\xe7\x30\xf4\xfb\x48\x35\x54\x97\xe1\xa1\x23\x02\x12\x8f\x6c\xa6\x74\x1c\xb9\x27\xd9\x8f\x69\x45\x30\x43\xc9\x5d\x14\x10\x14\xde\x8a\xcd\xb2\x0c\x8c\x73\x09\xe7\x6d\xcf\xa4\x89\xca\x5b\x17\x9c\xad\xe2\x0f\xe2\x87\x06\xf2\x39\x89\x4a\xcd\x11\x0d\x4d\xe2\xcf\x16\xd7\x09\x3e\xa6\xfd\x39\x48\xa7\x78\x0a\x70\xca\xa4\x79\x50\x07\x78\x6e\xab\x68\x73\x96\x77\x4b\x2c\x12\xfb\x31\x4b\x60\x61\xb9\xb0\xdb\x67\x58\x5d\x76\x7d\x1f\x0a\x07\x6d\xae\x3e\x6b\xd3\x9e\x76\x37\xc9\xed\x29\x0e\xb7\xcd\xd0\xe9\x95\x4c\xe6\x01\x9a\x97\x64\x07\xeb\x9e\x25\xb6\xc5\x34\x61\x1d\xa8\x4a\x2b\x51\x2d\x67\x95\xe5\x34\x97\x5c\x6d\x33\xc2\x9d\x7a\x45\xef\xe9\xb7\x59\x81\x39\x39\xd2\x2a\xbc\x5a\x64\x19\x06\xee\x3d\x9c\xd8\x33\x97\x81\x66\x58\xfa\x24\x3b\x0d\xcb\x8e\xb8\xfc\x19\xce\x39\x55\xfb\x0d\x2a\xcb\x2b\x3b\x60\x6e\x10\x64\x6c\x85\xad\x78\xe2\x19\x98\x61\x13\x00\xf0\x5a\xa9\x57\xf1\x63\x6f\x32\xf1\xae\x67\x86\x88\x38\xe2\xc8\x90\x47\xa4\x08\x6c\x1a\xc3\xb1\x8a\x48\xa2\xc7\x8b\x27\xe4\x1e\x69\x88\x1f\x35\xae\x98\xab\x79\xbe\x8f\x33\x2f\xa2\xfd\x03\x0c\x61\x5c\xad\x8c\x66\xc1\xe8\x53\x45\xdc\xbf\xe0\x04\x8a\xb6\xdd\x9b\xe5\x38\x51\x19\x56\x5a\x8b\x80\xc2\x33\xdb\x30\x29\x94\xc8\x76\xe3\x41\xa3\x41\xeb\x3c\x59\x57\xf4\x0d\xd5\x28\x0a\x53\x2f\x08\x13\xd3\xae\xca\xdd\xe3\x62\x5a\xa8\x18\x6f\xcc\x9c\xa0\xad\x29\xd1\xf9\x33\x46\xd0\xbe\xd2\x4c\x89\xc8\x52\xa3\x4e\x86\x10\xde\xbe\xa7\x9b\x0d\x71\x3b\xc3\x97\xf4\x21\x3d\x49\x1a\x22\x3b\xda\x8b\x27\x0b\x79\x8f\x37\x34\x18\xd3\x0c\xe4\xc5\x30\x20\x2f\x9f\x76\xb2\x86\x17\xc3\xc0\xf8\x38\x15\x0d\xee\x23\xb3\x8a\x92\xda\x20\x05\xef\x25\xeb\xcd\x68\xde\x53\x84\x2e\x0b\x9f\xc0\xa2\x91\xad\x3d\x38\x8e\x62\x58\xe5\x84\x06\x57\x75\x86\xd4\x38\x06\xb4\x31\x49\x3b\x4a\x8c\x2e\xb9\x7a\xc1\x01\xd1\x96\x43\x69\x84\xc8\x54\x26\xf6\x00\x25\xad\x0e\xf8\x02\x24\xfc\x6a\xbc\x2d\xcb\x5a\x1b\x8c\x37\x63\x9a\xa7\xac\x05\x52\x85\xa6\xe6\x52\x30\xe5\x83\x0d\x1d\xdf\x05\x3c\x37\x3f\x29\xa6\x5c\x38\x08\x68\xd9\x9d\x83\x47\xce\xc8\xf0\x0e\x2c\x8a\x41\x14\xce\xee\x01\x9d\x93\xc0\x03\x49\x10\x4e\x66\x30\xab\x62\xbf\x9a\x18\x2f\x66\xb3\x73\x72\xda\x26\xd0\x67\x3c\x74\xc3\x7b\x32\x89\xa1\xe6\x15\x19\x6f\x42\x83\xc9\x34\x45\x70\xe9\x39\x14\x41\x22\xd8\x06\xfc\x37\xb6\x71\xd2\x37\x8f\x1c\x06\x22\x09\xc3\x31\x2e\x3e\xac\x46\x55\xc0\x69\x7c\x1a\x5f\xdc\x4a\x19\x05\x47\x41\x68\x3c\xb9\x17\x7d\xec\x1e\xf2\x58\x63\xe6\x68\x76\x92\xaf\x31\xc1\xc0\xc9\x19\x1c\x3b\x19\xd9\xd4\xa4\xdc\x70\x6e\x49\x61\x14\x64\x64\x86\xb2\x14\x1f\x65\x2c\x9c\xaf\x25\xd8\x28\xd2\x5a\xbe\xb7\x6a\x4f\x0b\xf7\x53\x81\xc1\xc5\x20\x47\x72\xa9\x69\xa7\x8f\xa2\x05\x5c\x21\x9a\x78\x6d\x2d\x04\xbf\x08\xdb\x6d\xc2\xac\x5f\xa4\xb5\x4c\x71\x91\x5c\x19\xb3\xa0\x48\xe7\x2d\x3a\xe8\x80\x76\xb3\x99\x45\x4e\x8a\x1e\x25\x02\x24\xb3\xe3\x5e\x06\xd9\xe2\xb5\xb7\xf7\x17\xf3\xda\xd3\x32\x85\x80\x8e\x09\x7b\xb5\x4d\xeb\x67\xef\xc1\x59\x2a\x6e\xd0\x8a\x24\xcb\xeb\x59\xea\xa5\x30\xf3\x32\xf8\xf2\x70\xf0\x4c\xff\x70\x61\x4c\x57\xd2\x1b\x9c\x5c\xa9\x81\xb6\x09\xb2\xed\x33\x03\x54\x31\xa8\x1a\xd7\x70\x36\xab\xd6\x0e\x40\x09\x2c\x27\x47\x65\x91\xcc\x82\x10\x1e\x41\xe8\x97\x44\xf4\xd3\xf9\x15\x7f\x99\xa4\x10\x59\xc5\x41\x1f\x1d\x7d\x33\xd0\xfd\xd3\xb2\xec\x19\x79\x71\x1c\x78\x13\x78\x8a\x8b\x4b\x32\xa9\x77\x56\x7a\xc8\xbd\xd1\xa7\x64\xee\x8d\x60\x49\x4c\x6f\xcf\xcb\x62\x4a\xbd\xeb\x92\x38\xce\x3e\x94\xc5\x91\x4c\x83\x71\xfa\x61\x91\x96\x45\x74\xbc\x14\xa2\xe3\xb2\xc3\x33\x38\xeb\x17\x45\x44\xbe\xe0\x74\x0a\x08\x6c\xf5\x23\xfe\x1b\xff\x8e\xc0\x74\x3f\x0e\x0e\x09\x6e\xbc\x0f\xc7\xc8\x7c\x83\xb2\x30\x7c\xb9\xa8\x5c\x54\xcc\x54\xb0\x38\x79\x66\x6f\x64\x39\x19\x70\x88\xbe\xb0\xb1\x11\x13\xac\x20\x83\xfe\x23\xcd\x26\x42\x97\x6f\x17\xf1\xfd\xb3\xe3\xe1\xc7\xee\x69\xf7\x5d\xed\xe0\x99\x8d\xc0\xab\x3f\x93\xc0\x0f\x67\x7d\x07\x69\x1f\xff\x4c\xd2\x0e\xfb\x67\x0e\xd2\x86\x05\x49\x73\x61\x38\xfe\xfe\xfd\x87\xd3\x81\x03\xc9\xff\xfc\x11\x48\x46\x65\x99\xcc\xdf\xca\xb2\x41\x1c\x94\x85\x28\x64\xe7\x10\x92\x39\xf9\xf0\x8e\x25\x41\x72\x75\xf0\xfd\x87\xd3\x77\xdd\x13\x07\x39\x87\x65\xc9\x79\x3a\xd4\xef\xca\xf3\xf6\x33\x8c\x13\x78\xfc\x64\x14\xfc\xa3\x2c\x05\x09\x4c\x27\x27\xf0\x33\x9c\x55\x9b\xb5\x03\xfd\x53\x99\xa7\x85\x0b\x11\x2e\x56\xfc\x14\xcc\xdf\xa3\x3d\xda\xd4\x8b\x1d\xf2\x65\x5e\xfb\xbb\xef\x4d\x1d\x2d\xa8\xe4\x19\x35\x4c\xc7\x8f\x92\x00\x6b\x0a\x83\x92\x37\x7d\xba\xa8\xbc\x31\xb2\xd9\x88\xfd\x23\xce\xb9\x53\xad\xbc\xa9\x10\x7c\x66\x80\xaf\xcb\x03\x7c\xed\x04\xf8\xbc\x3c\xc0\xe7\x4e\x80\xcd\x12\x00\x51\x6b\x5a\xa1\x31\x61\x7f\xd7\xc0\x4b\xd0\x6a\xba\x50\xb4\x9e\x06\x05\x4e\xe3\xe7\x40\xd3\x7e\x32\x34\x6d\x17\x9a\x8d\x27\x43\xb3\xe1\x42\xb3\xf9\x64\x68\x36\x5d\x68\xb6\x9e\x0c\xcd\x96\x0b\xcd\xf6\x93\xa1\xd9\x76\xa1\xd9\x79\x32\x34\x3b\x2e\x34\xbb\x4f\x86\x66\xd7\x85\x66\xef\xc9\xd0\xec\xb9\xd0\x7c\x57\x02\x4d\x94\xa4\x58\xa7\x7c\xe7\xd4\x29\x2b\x4b\x40\x5c\x71\x42\x04\x4b\x40\x04\x4e\x88\x97\x95\x25\x40\x5e\x56\x9c\x30\x0f\x0a\x82\x1c\xa3\x75\x38\xf8\x27\xa4\xa3\x64\x87\xf8\xc7\xac\x91\xe6\xe5\x51\xee\xda\x7f\x29\x5d\xe3\xb7\x9e\xc4\x56\xaf\x03\x9e\x6c\x58\xdd\xf6\x91\x4b\x0f\x6c\x65\xb0\xbc\x65\xac\xc3\x32\x8a\xee\xd2\x28\x48\xf6\xbd\x1f\xe7\x6e\xf8\xbd\x47\xc2\x3f\x8c\x6e\x43\x37\x86\xfe\x23\x31\x1c\x45\xf1\xad\x17\xfb\x6e\x24\xaa\x1d\x5c\x16\x49\xcf\x1b\x7d\xca\xc7\xa2\x1a\xff\x65\xb1\xbc\x27\x17\xcc\xd0\x8d\xe5\xe8\x91\x58\x3e\xc6\x70\x04\xfd\x20\x9c\xe4\xa3\xfa\xfe\x91\xa8\x90\x00\x77\xaf\x93\x68\xb6\x48\x73\x30\xbd\x7d\x6c\xa7\xa2\x24\xc0\x47\xb4\x4e\x2c\xc7\x4f\x23\x6b\xe7\xde\xb5\x1b\xcf\x7f\x2f\x8d\x07\xc6\x1e\xda\x02\x1d\x06\xc9\x7c\xe6\xdd\xbb\xb1\xfc\xf0\x58\x2c\xf9\x02\x70\xf2\x48\x0d\x86\x30\xe4\x68\x30\x75\x9f\x58\x1c\x05\x79\x11\xb6\x00\x0a\xf5\x2c\xa5\x2c\x8a\x02\x7a\xf8\x6c\x69\x14\x24\x37\x68\x9e\x1e\x3e\x2f\x0c\xff\x19\x30\xbe\xfb\xf5\x0a\xe0\x97\x7e\x9f\xeb\xf9\xed\x65\x42\x24\x85\x4d\xee\x68\x9e\x99\x08\xfa\xe5\x71\xc2\x57\x80\xa5\xff\xef\x13\xe9\xec\xdc\xd9\xfa\xbf\xcb\x23\x9a\x7a\x48\xf3\x14\x53\x71\xde\xd2\x68\xde\x32\xed\x76\x0a\x67\x5e\x1a\x7c\xce\x41\x74\xbd\x34\xa2\x18\xce\xa1\x97\xf2\x05\x82\x87\x8a\xbb\xf1\xa9\xa7\x68\x25\x64\x1f\x86\xfe\x21\x7e\xaf\x21\x7b\xd1\xce\x8d\xcb\x5f\x1a\xd7\x2c\x08\x61\xe1\xb1\x82\x4b\xa3\xf9\xa9\xdc\x58\x8d\x97\x17\x8a\x9f\x8a\xad\x79\x93\xa5\x31\xa4\xde\x75\x7f\x06\xbd\x9c\xd1\x9f\x3e\x62\xf4\xc9\x3b\xf6\x4e\xf0\xb3\x47\x08\x73\x21\x04\x37\x8f\x9a\xfd\x45\xe5\x36\x7c\xc4\x12\x94\xbd\x67\xe2\xc6\x31\x2f\xb7\x46\xf0\x54\xeb\xda\x8a\x80\xb3\x89\x57\x9e\x57\xe4\x7c\xe2\x7c\xd8\xd8\x73\x06\xf2\x32\xc1\x7e\x04\xb7\x66\xf3\xca\xf1\x7b\x31\x32\xeb\x60\x4e\x76\x90\xd2\x9a\x46\x8a\x88\xb3\x3f\xa8\x18\x97\x31\x29\x43\x7d\x91\xa5\x2c\x76\x13\x64\x96\x5c\x31\xf9\xb8\x7b\x58\x92\xf2\xe0\x79\xaa\x6d\x37\xe4\x45\x69\xc8\x52\x76\x6c\x27\xf0\x62\xbb\xe8\xbc\xb1\xab\x83\x47\xed\xb3\x85\x6f\x07\xcf\x84\x2c\x21\x42\x39\x13\x01\xa1\xe8\x42\xfc\x7d\x85\xc0\x5c\x41\x74\x37\xd1\xff\x58\xc1\x81\xbb\x19\xbd\xfb\xc4\xed\xb0\x43\x24\x2f\xc9\x69\xc8\xef\x1d\x71\xd3\x36\x6e\x9a\x95\xe5\x37\xc6\xcd\x36\x58\xb3\xbc\x06\x1f\xce\xfa\xb8\xc1\x26\x6e\x80\xfe\xca\xc3\x40\xae\x29\x70\xa3\x2d\x82\x85\x96\xe4\x34\x3c\xec\x9f\xe1\x46\xdb\xb8\x11\xfa\x2b\xa7\x01\xb9\x7d\xc3\x6d\x76\x70\x1b\x5a\x80\xf3\x6c\x09\x35\x71\x96\x3a\xf1\xef\x0e\xf8\xf2\x50\xab\x89\x12\x90\x93\x23\x86\x54\xaa\x0e\x03\x21\x1b\x57\x1d\x0c\xd5\x7b\x9e\xcc\x97\x29\x90\x93\xac\x4b\x7f\xab\x7e\x4f\x0c\x0a\xaa\xc7\x7e\x57\xeb\x24\x94\x6e\x5d\x96\x99\xde\xc9\x38\x25\x38\x9a\xe2\xa9\x20\xa7\x77\xf1\x52\x4f\xf5\xf7\x45\x98\x51\x39\x7f\x2c\xf7\xb7\x3a\x18\x25\x75\x30\x9a\xd6\xc1\x88\xb8\x60\x45\xb7\x2a\x45\x73\x6a\x1b\xc8\x29\x23\x0d\xcf\x20\x24\x8b\x38\x8e\x26\x5e\x0a\x87\xd3\x60\xa2\x79\x00\x22\xbc\x86\xf4\xf6\x52\x1b\xb0\x8a\xab\x99\x5c\xf5\x6c\x2d\xe4\x88\x29\x25\x07\xc1\x81\xda\x05\xfc\x14\xaf\x5c\xa6\x7b\x0b\xe3\x58\x10\x44\xc7\x85\x5c\x53\x89\x8d\x18\x11\x27\x38\xcc\x4f\xb4\x7e\xf7\x23\x1f\x76\x59\x56\x17\xd6\xc6\x10\x0c\xd8\xbc\x3b\xdc\x6d\x36\xc1\xab\x0e\x81\xf0\xe2\x05\xf9\x17\xa7\x96\x3b\xec\x1d\x1d\x99\x7c\xce\x67\x38\x42\xd5\x8d\x8a\xdc\xcf\x18\x9d\xde\x83\xe4\xbd\xf7\xbe\x3a\x8b\x6e\xad\x0e\xed\x79\x4c\x1e\x4d\xcd\x71\x39\xa3\x28\x4c\x83\xd0\xf4\x3c\xbe\xee\x0a\x4f\x19\x56\xad\xe2\x5f\xd6\x00\x61\x44\x0d\xbc\x04\xcd\xbb\x4d\xf4\xcb\x2a\x40\x34\x92\x2f\x7d\x52\xd0\xbc\x6b\x35\x9b\xea\x2b\xbd\x74\x90\x56\x05\x8e\x14\xe1\xc6\x83\x69\x28\xfa\xd6\xa1\x38\x3a\x3a\xd2\xd3\x79\x9a\xfb\xcb\xec\x1f\x61\x0a\x5b\x9f\xf4\xd2\x27\xb6\xfd\x69\xff\xd1\x14\x04\xa1\xc1\xcb\xcb\x15\x7e\x66\x70\xec\x19\x4d\xaf\x68\x5a\x21\x5d\x67\x3d\x65\xe0\xa5\x0e\xbd\xe1\xf9\x3e\xbe\x87\x66\x1a\xe6\xb1\x0f\x9c\x03\x13\x1b\xe9\x72\x9a\xc7\x47\xc3\x2d\xb8\x8b\x91\xa6\x4b\x73\x95\x93\x7c\x5d\xb0\x07\xdf\x39\x62\xf3\xcc\xbd\x66\xc2\x34\xb2\x86\xe0\x72\x26\x54\xaa\x15\x73\xa7\xb3\x1a\xb5\xdc\x1a\x2f\x73\x6b\xac\xe6\xd6\x58\xcb\xad\xd1\x70\xd4\x00\x85\x7b\x2d\xc3\x74\xf5\x5e\xfc\x51\x1f\xb4\xca\x1e\xbe\x32\x28\x16\xd3\x4f\x4e\x7c\xa5\x4c\x95\x8b\xe3\xc5\xa8\x6a\x7d\x03\xaa\x5c\xa3\x5c\x8c\x2a\xcb\x63\xa7\x8f\xa2\xca\x25\x59\xc5\xa8\xda\xf8\x06\x54\xb9\xa4\xb9\x18\x55\xdf\x62\x04\xf3\x66\x50\x3e\x55\x4f\x37\x82\xf6\x98\x76\xe0\xb4\x64\xe9\x06\xe1\x51\xd1\xcc\x84\x1b\xeb\x39\xdc\x58\x5a\x62\x1e\x49\xbc\x6c\x85\xac\xad\x3d\x41\x57\xdf\xe7\x74\xb5\x10\x90\x0f\x4f\x01\x24\x2c\xc7\xf4\xcc\x09\x4e\xcd\xc7\xbe\x14\xf6\x68\x59\xec\x1b\x4f\x81\xfd\xeb\x9f\x8a\xfd\xe1\x4f\xe5\xfc\xbf\x96\xc5\x6e\xda\x90\x94\xc6\xbe\x53\x08\xbb\x64\x76\x0a\xc7\x5e\x39\x14\x14\xdb\x75\x3f\x8a\xfe\xdd\xf2\xf4\xcb\x87\x6b\x7f\x7e\x17\xfe\x5e\xa8\x0b\xcb\x92\xa0\x6e\xc8\x9f\x80\xe0\xb7\xe5\x24\x36\xf5\xae\xcf\x88\x37\xf6\xb7\xeb\x65\x21\xba\x3b\xe5\xe8\x9e\x45\x93\x6a\xe5\x0c\xc6\x81\x37\xc3\x29\xba\x41\x0c\x7f\x5f\xc0\x24\x85\x3e\x10\x9e\xb7\x05\x9f\xf0\x1b\xba\x0d\xdb\x33\xcb\x16\xe0\xa6\x47\x78\xf5\x5c\x7d\x39\x40\x0a\xbc\xcb\x6b\x87\xf2\x4d\x59\xfd\x7a\x19\x56\xe3\x5d\x4a\x10\x4e\x00\x4e\x22\x9b\x46\x74\xbb\xfd\x84\x1c\x56\x92\x46\x14\x80\xf2\x57\x64\xb1\x0f\xc7\xde\x62\x96\x7e\x7b\xad\xc1\xb9\x00\x49\x80\xf9\x8f\xe1\xa7\x30\xba\x0d\xc1\xe0\xac\x9f\xbd\xbb\xf0\x8f\xa4\x51\xa9\x83\x91\x1a\x9a\x5d\xa2\x4f\x8f\x3b\xa0\xa0\x96\x63\xde\x01\x85\x10\x0a\x40\x5b\x9c\x39\x8f\x00\x12\xd0\x31\xb5\xb9\x18\x4d\x1d\x89\x92\x28\x3a\x7c\xed\xb5\x9e\x9b\xe3\x0a\x33\x59\x8d\x28\xb0\x55\x2e\x9a\x67\x08\xe4\x1f\x25\xa9\x7d\x53\x42\x23\xca\x0c\x92\xc1\x38\x61\xe1\x17\x96\x4d\x42\x1d\x8c\xd4\xab\x48\x0b\xb0\x89\xed\x0d\x6d\xbd\x4d\x59\x31\x2f\x2a\x5b\x1f\xce\xfa\x4e\xb9\x42\x03\x6d\x8b\xec\x03\x5f\xbf\x02\x57\x95\xde\xe0\xc4\x25\x20\x05\x30\xd8\xdf\xfd\x07\xa5\x16\x7e\xf5\xc5\x65\xe2\x90\x84\x73\x3b\xe9\xef\xa7\xf3\x10\x35\x87\xac\xca\x47\xb6\x0a\xe0\x8b\xe6\x55\xde\xc4\xc0\xe3\xd0\x74\xeb\x37\xd3\x23\xe3\xc6\x3a\x86\x47\xc7\xd5\x1f\xd3\xb3\xd3\xec\x29\xe7\x22\x27\x66\xc0\x60\xf4\x04\xe9\x0c\xea\x57\x32\x1c\x6c\xb1\xd3\x02\xa5\x35\xb9\xc6\x3d\x47\xa0\x55\x7a\x31\xbe\x1c\x15\x0c\x72\x0f\x17\x40\xb1\x13\x0a\xd3\xfb\xea\x8f\x01\x65\x78\x96\x5d\xab\xb3\xf5\x74\xe8\x5a\x85\x44\xab\x88\x6c\xb5\x72\x84\x8b\x54\xca\xe1\x14\xa9\x54\x84\x07\xad\x1c\x26\x90\x4a\x86\xf7\xe5\xf5\x4a\x3b\x45\x2a\xed\x16\xa9\xb4\xf7\x84\x72\x90\x43\x7a\x19\x58\x5b\x39\x83\x5c\x0a\x56\x8e\x2c\x94\x82\x55\x40\x1f\x15\x17\xe4\x42\x52\xd3\x2c\x24\x36\x05\x67\x45\xa1\x69\x51\x6c\x5e\x14\x9b\x18\xc5\x66\x46\xb1\xa9\x51\x6c\x6e\x14\x9b\x1c\x79\xb3\x03\x2c\x9b\x3b\x12\xd8\x96\x64\x25\x93\x58\x4e\x1b\x73\x38\xb9\xbd\x61\x59\x1b\x6a\x29\xd3\x53\x78\x7d\x46\xb5\x37\xdc\x99\x71\x45\x00\xa3\x29\x78\xdd\x01\x95\x66\x05\x5f\x2a\x4f\xc1\xab\x0e\xa8\xec\xe5\x5a\xdb\x20\x8f\x45\xcb\xac\xc8\x12\x04\x1a\x90\x36\x9a\x8a\x7e\x04\xcd\x1a\x58\x03\x9b\xbb\x8f\x39\xf2\xe7\x09\x64\xd9\xd6\xe2\x60\x99\xce\x3e\xde\xac\x2b\xc2\x03\x77\x92\x5d\x77\x5f\x5d\xc9\x7c\x9d\x52\x95\x47\xd4\xaa\xdd\xc7\xc2\x8e\xf7\x91\xbb\x52\xe6\x4a\x96\xb7\x2f\x35\xc5\xc6\xb9\x37\xa6\x86\x58\x3a\x76\x75\xfe\x94\x57\xe5\x98\xa1\x6a\x34\x5f\xc9\x3d\x58\xff\xec\xb8\x18\xaf\x0a\x70\xa9\x04\x83\x8c\xbc\x69\x28\x7e\x67\xc6\xe9\xa1\x17\x53\x47\x49\xb5\x98\xf9\x4d\x3a\xb8\xfe\x08\x37\x0f\xdb\xc1\x4b\xff\xec\x18\x7b\x7a\xe4\x9e\xba\xb8\x76\xeb\x65\x15\xbd\x91\x23\x8e\x89\x6e\x66\x95\xa3\x41\xd1\x39\x75\xd8\x3f\xfb\x3f\xb0\x1b\xc7\x09\x3b\x53\xc0\xde\xb1\x72\x57\xc4\x8f\x6a\x14\xa8\x6b\xdb\x91\x6b\x3e\xe5\xa6\x1f\x72\xa4\x5b\xe0\x86\xbc\xa8\xdd\x5a\xf9\xee\xf7\x02\xd0\xe6\xa9\xbe\x7f\x16\xd5\x7a\xfe\x42\xc5\xb8\x53\xe0\xd8\x17\x88\x9e\xf6\xc6\x04\xb7\xf6\xde\xac\x14\xe9\x8d\xd4\xab\x4a\x73\xe5\xf7\x9c\x65\x52\xfc\x29\xe8\xca\x20\x50\x34\x2f\x4d\xd1\x76\x6b\x65\xfe\x2d\x49\x8a\x4b\x53\x54\x29\x5c\x1f\xfd\xac\xea\x2e\xb3\xf8\xb4\xfe\x3c\x9a\x63\x77\xc5\x92\xc0\x2a\x07\x4f\x83\xbe\x17\xa5\x69\x74\xb3\x14\x05\xf1\xb7\x1c\x8e\x9b\xf2\x22\x7b\xf3\x6d\xe8\x29\x74\x9b\x21\xfe\xb8\x97\xc8\xc3\xfe\x19\xf8\x98\xb2\x05\x72\x6e\x7b\xb8\xc1\xf4\x43\xc5\xee\xc9\x7b\x99\x7f\xe6\xa6\x1d\xa3\x87\x7e\xd5\xba\x92\xad\x82\xca\xc7\x0a\x58\x05\xab\x44\xbd\xad\x82\xca\x77\x31\x7e\x46\x38\x05\xab\xf6\xf5\x0f\x3f\x55\x9c\x77\x85\x56\xb0\x53\xd4\xbf\xac\x88\x92\x29\x0e\xed\x2f\xb9\x24\x3c\x72\x60\x56\xff\xe0\x81\x29\x3c\x97\xf2\xe7\x10\x31\x0d\xd8\x3c\x32\xdb\x0d\x8f\xa6\xb9\xf0\x01\x48\xd9\xc3\x8c\xe2\xd6\x2a\xf8\x16\x07\x20\xa6\x63\x0e\x69\x93\x5d\xf6\x88\x84\xf4\x82\x1c\x77\xe0\xb7\x26\xbe\xab\x88\x7f\xad\x16\xbb\x6b\xb4\xf2\xb3\xfc\xee\x58\xea\xaa\x91\x5a\x31\x43\x7a\xfb\x4f\x23\xaf\x14\x5a\xca\xe6\x27\x3c\x2e\x28\xb7\xdb\x2b\x7a\x68\xf1\xb8\xa3\x09\x12\xdf\xf5\x7f\x60\x27\xf5\x94\xd3\xda\xc0\x5c\xc7\x23\x2c\x02\x66\xd2\x86\x26\xd0\xd6\x42\xcb\x58\x78\xa5\x14\x5d\xa6\xc5\xb8\xc8\x1d\x29\x06\xf6\x23\x53\x7c\x42\x2e\x25\x6d\xb7\x67\x53\x96\xe4\x97\x7c\x1c\x7c\x6b\x2f\x20\x91\xa3\x81\x4d\x58\x78\x2b\xfa\x5b\x3e\x1e\xaa\x07\xa4\xb4\x50\xb2\x16\x75\x2b\x90\x79\x66\x1c\xd8\xd0\x4c\x4c\x68\x44\x0c\xd2\xd0\x3a\xac\x0f\x1b\x02\xe9\x28\xcd\x8a\xe5\xd1\x87\xb6\x85\x16\x4e\x2b\xaf\x05\x67\x94\x1c\x12\xd5\x09\x28\xa7\x88\x27\x90\x59\x7e\x78\x96\xfa\x9d\x47\x89\xb2\xcf\xe6\xa4\xef\x94\x2c\x73\xc6\xf7\x76\xf3\x2f\x96\xf1\xfd\x30\xba\xa1\x0f\x1b\x11\x60\x1f\xa3\x68\x66\xcf\xe6\xce\xd2\xb9\xbf\xeb\xfe\x32\x3c\x1d\x1c\x9d\x0e\xce\xde\x0e\x8f\x4e\xbb\xef\x06\xc3\xb3\x1f\x8e\x3f\x82\x0e\xd8\x22\xdf\x8f\x4e\xba\xdf\x9f\x49\xc1\xd4\xb8\x84\x8d\x03\xfe\xe3\x82\xfc\x7f\xa5\xf7\xe1\x44\x0c\x80\xc6\x7f\x1e\xe8\xd5\x7e\x7c\x7f\x38\x38\x3d\x39\x7e\x3f\x10\x22\x9e\xb3\x32\x43\x83\xde\xc9\xf1\xfb\x1f\x84\xb0\x65\xf2\xb7\xa1\xe2\xf1\xfb\x9f\x06\xa7\x67\x04\xee\x2e\x89\x21\xa6\x25\xe6\xca\xc7\x67\xc7\xbd\x13\x52\xbd\xb5\xcd\xea\xd3\x42\x1c\x76\x8c\xab\xe2\x80\x63\xf2\x1b\x0b\x35\x26\xbc\xb9\x8e\xa3\x4f\x30\xec\x45\x33\x9f\xbb\x06\xa1\xe2\x53\x18\xfa\x30\xce\x8d\x42\x66\xd5\xaa\x8e\xc0\xe3\x22\xc1\xc4\x31\x1c\xc7\x30\x99\x9e\x46\xb7\xc9\xff\xb3\x80\x0b\xa8\xdc\xce\x49\x95\x8e\x62\xef\x06\x26\x67\x9f\x82\xf9\x1c\x3f\xe7\xd6\xb4\xd4\xeb\x86\xc1\x0d\xf6\x58\xc4\x0d\x34\xc7\x27\xba\x0e\xcc\xbd\x50\x93\x38\x54\x17\xde\x5a\x84\xb1\x61\x2a\xae\x56\x10\xa0\x8a\xf2\x82\xa9\xc8\xdb\x0e\xc1\xaf\xae\xe6\x12\xfb\x47\x53\x38\xfa\x84\x7e\xef\xe1\x52\x55\x49\x41\xed\x5d\x38\xf5\x49\xef\x6f\xd2\x1b\x82\x84\x8d\xb4\xa0\xe0\x7e\x47\x23\x75\x4a\x98\xad\xae\xb9\x71\x5a\x07\x30\xf4\x75\x69\x50\x47\x9a\xa8\xe3\x2f\x00\xb7\xd9\x07\x59\xd3\x7d\xf4\x3f\xe9\xb5\x29\xc1\x98\x37\x0e\xb1\xf9\x95\x78\x9b\x34\xdc\x06\xa1\x1f\xdd\x36\xa8\x1f\xb2\xfc\xb9\x2a\x35\x3d\x89\xa2\x79\xe3\x3a\x08\x7d\x72\x2d\xa4\xf1\x9f\x6a\x6b\x03\x87\x44\x08\xd6\x25\x00\x3f\xda\xfa\x29\x98\x33\xc2\x94\x51\xbf\x8d\x83\x14\xf6\x16\xe3\x31\x8c\x85\xe7\xab\xd1\x86\xc5\x3e\x2b\x56\x57\xc1\xab\x8e\x45\x2d\xca\xfc\xe4\x88\xff\x78\xe6\x01\xe7\x93\xe4\x45\xa7\x3c\xe6\x1e\x12\x1a\xb9\x08\x86\xbe\xdc\x51\x8b\xf4\x71\x8e\x6e\xaa\x0c\xc0\x40\xf5\xed\x31\x12\x4a\x6d\x8c\xe2\xe8\x36\x01\x6b\x62\x30\x9d\xf3\x8d\x38\x06\xda\x4c\xd3\x45\xf3\xaa\xa1\xf4\x48\x45\x6c\x6a\x22\xf5\x18\x38\x5f\xd9\xb7\x70\xc1\xf8\x22\x99\x9b\x7f\x17\x01\xa5\x15\xbc\x22\xbd\xb2\xed\x56\x72\xba\x1c\x18\xbb\x0c\x8c\x3b\x08\x37\x35\x88\x4d\xaf\x55\xd5\x53\x98\x8f\x81\x81\x8f\x3a\x15\xa6\xcd\x4a\xf9\x75\xac\xd0\xfa\x44\xeb\x8a\x2a\xf5\xa0\xa0\xd2\x29\xa0\x92\xb3\xf7\xec\xe4\xc9\x82\x78\xb4\x46\xc7\xec\xb5\x59\xda\xd7\xf5\x73\x08\xfe\x32\x9e\x79\xdd\x32\x3e\x94\x07\xb2\xc4\x7d\x96\xb7\x10\x2d\xc0\xc4\x57\xee\x74\xfa\xfa\xe4\x59\x36\x2d\x6b\x80\x69\xe4\x10\x13\x6e\x03\x3f\x9d\x1a\x8e\x43\xa3\x99\xf2\x9c\xf9\x3d\xd9\x33\xc6\x06\x86\x99\x19\x65\xd6\xab\x72\xb0\xc6\xff\xc2\xd0\xff\x5f\x10\x24\x20\x8d\x22\x30\xf3\xe2\x09\x6c\x80\x77\x51\x92\x82\x59\xf0\x09\xce\xee\x81\x07\xae\x3d\x1f\xf4\xcf\x4e\xb5\xb0\x8d\xd2\xda\x88\x66\x1b\xb9\x47\xeb\x03\x92\x74\x70\x6f\x7e\x66\x3c\xc6\x79\x3c\xee\xc1\xaa\x0a\xfc\xde\x0f\x92\xf9\x81\x56\x7f\x16\x84\x86\xb5\x0b\x95\x26\x68\x37\x58\x8d\xa3\x5b\xc3\x23\x69\x77\x96\xdb\x56\xc3\x39\xd8\x3d\x36\xa1\xee\xc1\x9a\xfe\xe5\xda\x4b\x20\x58\x33\x12\x5a\x03\x2f\x5e\xe4\x49\xd4\x88\x66\xce\xf2\x52\x68\xaa\x6d\x38\x7a\x4c\xa2\xf8\x6d\xe0\xfb\x30\x34\xc9\xeb\x9d\xce\x86\x3b\x9b\x10\x02\xfb\xa9\x16\x02\xb3\xd6\x72\x35\x44\x0c\xf4\xd2\x34\xd6\xf1\xf9\x70\xdc\x4d\xd3\x58\xe7\x37\x7b\x01\xed\x28\xf6\x26\xf4\x71\x59\xe5\x51\xb4\x43\xa5\x86\xea\xa6\x82\xd7\x13\xc7\x2b\xe0\x38\x53\x34\xd9\x26\x67\x0f\xe1\x9a\x86\xf8\x76\x1a\xcc\xa0\x36\x96\xf8\x51\xc7\x18\x86\x17\xf7\x57\xfc\x77\x87\x33\x1b\x7f\x4b\xdb\x30\x75\x0d\x90\xa4\x87\x22\xd9\x8f\xa3\x9d\xa8\x63\x70\xb9\xe1\x90\xde\x61\x78\x37\x62\x38\x83\x5e\x02\x8d\x6d\x1f\xec\x6b\x35\x7d\x2f\x14\xeb\x24\xeb\x9a\x8c\x87\x93\x64\x2a\x42\xb3\xec\x22\xb8\x32\xf6\x8e\x70\x48\xa8\x64\xf2\x96\x27\x95\x86\x4c\x09\xb2\xaa\x6d\x43\x55\x6c\x83\xb3\xba\xb6\x25\xb6\x4c\xae\x1d\x9c\xf5\x07\xcf\x6d\xab\xeb\x04\xed\xa6\x3a\x1b\xec\xf0\x70\x83\xe7\x9d\x0e\x9e\x1e\x36\xa8\xa8\x22\x9e\x3e\xa8\xa2\x79\x02\xe5\x1d\xbd\xf2\x89\x90\xeb\xf4\x21\xcd\x08\xe9\x19\x7d\xfe\xbb\xfb\xfe\xa7\xe8\xcb\xfb\xf6\x13\x7c\x75\xee\x4b\x8f\xf3\xcb\x04\x3a\xee\xa2\xb4\xb9\x6d\x8f\x26\x32\x93\x22\x8d\xcf\x23\xd9\x8e\x93\xfb\x2a\xa4\x97\x1a\x09\xae\x36\xcc\xf3\xd7\x1b\xe1\xa3\xa6\xf2\x91\x64\x8c\xd2\x72\xb4\x95\x12\x29\xbd\x33\xcb\x88\x15\x28\x21\x5a\x20\xf7\xf6\xfd\x69\x44\xcc\x8e\xe3\xa9\x07\x8f\xcb\x22\x52\x3f\x6b\xda\xcb\xc3\x6e\xf4\xc2\xc3\xdc\x9e\xef\x57\x2b\xf4\x29\xa7\xb5\xcf\x81\x0f\xa3\xbc\x2b\x68\x37\x28\x36\x21\xd6\x88\xad\xe1\x02\xf6\xa8\x1b\x3b\x7c\xfe\x37\xa1\xf9\xda\xc0\x0b\xd0\xbc\x6b\x8d\xc7\x6e\xc2\xf1\xfb\xc5\xa8\x09\x61\xdc\xeb\xd7\x60\xaf\x56\xa2\xe5\xcc\x9b\x24\x0c\xdf\xeb\xd7\xa0\x95\xe3\xca\x8d\x06\x88\xb4\x79\x41\xce\x3d\x1b\xbd\x0f\x27\x87\x45\xa6\x06\x5e\xa7\xb2\xc3\xb5\xc2\x3e\x68\xce\x71\xb9\x43\x03\xb3\x76\x1d\xcd\xfc\x22\x2e\x06\xf9\x9e\x2a\xb8\x7b\x13\xf0\x0a\xec\x16\xa5\x6f\x3c\x01\xab\x1d\x90\xc3\xb5\x7c\xe4\xee\xaf\x3a\xd7\xf9\xc9\xf6\x12\x5a\xc9\xc8\xc3\x05\xda\xb5\x22\x3b\x23\x8f\x91\x65\x29\xc5\xc7\xea\x4f\x45\xe5\xf5\x2c\x08\x3f\x3d\x35\x85\xf4\x34\xbf\x08\x8d\x68\xca\xa4\xf0\x66\x0e\x3a\xe0\x7a\x52\xc0\x3f\x04\xcd\xcb\x71\x81\x8a\x78\x02\x23\xc0\x05\x16\x87\x31\xa8\xf2\x0e\xb4\xd0\x76\x0a\xfc\xff\x42\x62\xf9\x1d\xc8\x53\xc9\xc2\x14\x6f\xf8\xfe\x44\x61\xc0\x17\x0a\x13\xe2\x01\xb2\xb5\x53\x94\xfd\x58\x26\x5a\x5b\x4f\xa8\xad\x08\x01\xdb\x25\xc6\xbf\x50\xf6\xba\xc7\x0e\xff\x35\x92\xca\x82\x74\x39\xc7\x7b\x85\xce\xfd\xc9\xda\x28\x9a\x45\xf1\xda\x0a\x58\x05\xd7\x93\xc7\x8f\xfb\x13\xd3\x97\x11\x37\x5e\x9e\xb8\xa2\xde\x37\xe6\x6d\x56\xb6\x65\x74\x79\x25\x65\xe6\xe5\x6a\x07\xac\xbc\x42\xc6\x1a\xc0\x3d\xea\x5c\xd2\xae\xdc\x06\x3e\x5c\x1b\x4d\xbd\xf8\x72\xe5\xf5\x0a\x8e\xf9\x02\xab\x60\xe5\xd5\x3a\xaa\xfa\x7a\xa5\xc8\xa6\x4f\x08\xea\x52\xc2\xc5\x5e\x83\xf6\xd6\xd6\xf2\xa4\x91\xa4\x29\x4f\x40\x9c\xe5\x54\xbc\x44\x06\xcd\x17\x39\x2e\x9d\x52\x67\x2a\x2f\xbc\x9b\xf9\x41\x8e\x31\x5f\x28\xf9\xcc\xab\x72\x68\x67\xe9\x93\x60\xcd\x4b\x79\xa3\x60\x9d\x3c\x16\x6b\x21\x5f\x4f\xea\x6d\xf5\x4a\x4b\xc3\x5f\x90\xca\xf0\x3a\xc9\x1d\x93\x02\xc1\x8b\x25\xf1\xba\xbc\xef\xf2\x31\x96\x8a\x74\xd3\x4b\xe8\xf9\xa4\x9e\x2b\x5b\x4f\x71\x5c\x76\x57\xff\x14\x9b\x41\x9d\x8a\x7c\xbc\x85\x76\xe9\xcb\xef\xcc\xf3\x76\xe3\x3a\x8f\x1f\xb7\xeb\x2e\x70\xa0\x23\xa3\x74\x9c\x97\x8a\x88\x55\xaa\x8c\x5e\x0b\xf6\x9b\x1f\xcb\xad\x8f\x88\xa1\xd8\xad\x8f\x7a\x43\x97\x81\xbc\x09\x52\xb4\x6b\xc7\x77\x65\x95\x3a\xf8\x02\x28\x92\x7d\x0b\xf2\x7a\x9e\x8f\x02\xbd\x92\xb3\x5e\xcc\x51\x5c\x67\x70\x06\x47\x34\x4f\x7d\xde\x05\x9d\xf9\x94\x3c\x61\x10\x78\x87\xf3\x0e\xcb\xf3\x01\x38\xee\xd3\x1c\xe8\x2e\x9a\x57\xd6\x81\x7d\x4e\xee\x0f\xbf\x7e\x05\xcf\x0d\xd7\xb1\xf6\x9b\x7f\x1c\x8a\x47\x33\x85\x9d\x21\x10\xa7\xf8\x2e\x0a\x43\xbb\x68\x5d\x59\x6e\x7a\x0e\x8c\xed\x07\xa1\x4f\x5a\xc3\xd0\x2f\xdb\xb6\x8f\x84\xcd\x17\x28\x78\xe7\xa5\xd3\xc6\x8d\x77\x57\x55\xa9\xab\x83\x66\xcd\x05\x83\x53\x41\x20\x04\x61\x55\xa6\x4f\x0b\x09\x60\x37\x78\x8a\xf3\x8b\x85\x32\xcb\x0d\xed\xd7\xaf\x66\x32\x5e\x81\x66\xb9\xc1\x78\xdc\xad\x11\x77\xd0\xe8\x63\x57\x24\x7d\x64\x3b\x1d\x1b\xcb\xdf\xd0\x41\x6f\x5e\x81\x7d\xd5\xe7\x03\xa9\x01\x09\xa0\x3a\x5c\x1a\x58\xda\xfd\x37\x58\x16\x30\x48\xe7\x6d\xaf\x53\xad\x92\x96\xa4\xf3\x7c\x3e\x53\x1d\x6a\x19\xa6\x3a\xe7\x42\x9d\x12\x5f\x53\xb8\x74\x13\xf8\xfe\x0c\x9e\x46\xb7\x49\x3f\x5a\x90\x8b\x33\x53\x07\xd6\x6c\x5d\x96\xae\x7c\x9f\x9a\x7c\xb0\x0a\x5a\x75\xd0\xd4\x44\x15\x31\xad\xae\x92\x5e\x2b\x26\xb8\xcf\x2d\x63\x64\xba\x90\x26\x2c\xc3\xbe\xa0\xea\xe4\x7e\xec\x48\x3f\x25\xbb\xd8\x84\x6e\xd6\x39\xc5\xba\xc3\x58\x31\x8d\x5c\x60\x35\x75\x38\x81\x98\xa9\x95\x96\x9c\x18\x11\x3a\x8a\x66\x67\x64\xe9\x19\x45\xb3\x41\xe8\xd7\x01\x5e\x48\x17\xf2\x92\x8c\x06\x91\x95\x13\x86\xe3\x2b\x5d\xfc\xc4\x11\x2f\x06\xad\x03\x45\x73\x40\x8e\x55\x51\x18\x8c\x79\x15\x3f\xf8\x2c\x9e\xa9\xb0\x75\x3e\x49\xef\x67\xb0\x31\x85\xc1\x64\x8a\x5a\x73\x1c\x2f\x75\xf3\xc3\x8b\xdf\x41\x2f\x59\xc4\xbc\xfa\x2a\x58\x99\xdf\xad\xd8\x60\xa6\xd8\x13\x2f\x8e\x6e\x9f\x00\xd6\x0c\x8e\x11\x75\x8c\x85\x6e\x88\x64\xab\xec\x06\x68\x73\x43\xd1\xc0\xbc\x04\x55\x32\x5c\x60\x8d\xa3\xaf\x69\xc0\xa9\xff\x38\xc5\x61\x72\x2d\x67\x92\xa3\x3a\x97\x0b\xee\xbf\x59\x15\x2e\x39\x9a\x9f\xaa\xe2\xfb\x2b\x2e\x1a\xf8\xa4\x91\xf6\x23\xba\x0d\x61\xcc\xd6\x8a\x83\x67\x99\x94\x38\x04\x44\xf4\x44\x85\x33\xc9\x92\xae\x4c\xe1\x6c\x16\x81\xdb\x28\x9e\xf9\xd4\x52\x16\x13\x96\xf2\xc9\x03\xd9\xab\x17\xd8\xd3\x07\x69\x10\x38\x6b\x44\xe3\x71\x02\xd3\x9f\xf1\x1d\x3b\xff\x38\x95\x3e\xbe\xc5\x32\xc0\x51\x93\x21\x1a\x47\x61\xfa\x33\x93\xcb\x0a\xbe\x0b\x10\x80\xb7\x5d\xc0\xdb\x36\xe0\xd9\xba\x2d\x18\x61\x9c\x6a\x3a\x54\xb7\x2d\xac\x2f\x6f\xdb\x68\x61\x9f\x92\x3f\xa6\xed\x83\x67\x0f\x16\xc7\x7f\xae\x14\x2c\xae\xff\xad\xa7\x74\xfd\x47\xfd\x1b\x0e\xe1\x5d\x0a\x43\x3f\x01\x1d\x62\xb1\x66\x3e\xaa\xec\x4b\x0d\xbb\xa1\xeb\x6e\xb0\x58\x0a\x70\x95\xb3\xd4\x4b\x03\x9c\x53\x93\x46\x13\xe0\xe8\x1b\xaa\xd5\x3e\x8c\xc1\xd7\xaf\x5c\xba\xab\x5f\xc0\x70\x88\x35\xde\x70\xb8\x0f\x2e\xae\xc0\x03\x08\xc2\x24\xf5\xc2\x11\x8c\xc6\xa0\x1b\xc7\xde\x3d\x3e\xae\xce\x1e\x9a\xaa\x83\x6b\xa4\xb1\xfc\x06\x6f\x07\x3a\xe0\xfa\x00\x3c\xd4\x44\xb8\x7a\x03\xee\x9d\x31\x07\x41\x88\x8a\xf0\x81\x63\x63\xea\x25\x1f\x6e\x43\x1e\xe8\x30\xaf\xd5\x80\x7f\x31\xbf\x42\x30\x2f\xe6\x57\x07\xca\x54\xd3\xc0\x66\x3a\x40\xec\x39\xf9\x7a\xa0\x53\x33\x1c\x22\x76\x11\x86\x8e\xa2\x30\x49\xe3\xc5\x28\x8d\xf0\xee\x5a\x54\xbb\x7e\xb6\x08\x20\x42\xb8\xe3\x39\x78\xc3\x38\x4a\x26\x58\xf5\xba\x06\xf6\x41\x75\x38\x94\xeb\x67\x7f\xd5\xb1\xd7\x38\xc2\x9a\x2d\x36\x0f\x35\x64\xd9\x3d\x41\x9c\xc7\xbb\x68\x81\x5f\x01\x33\x85\x75\xec\xd1\x3a\x3d\x64\xc5\x92\xb7\xca\x0c\xb5\x76\x69\xad\xc1\x67\xb4\x7b\xbd\x09\xd2\x14\xc6\xd6\x48\x91\x16\xad\xcc\x97\xc3\x77\x91\x0f\xed\x81\x25\xed\x36\x0b\x47\x39\xed\x7e\x3f\x3c\xeb\x9f\x7e\x38\x39\x19\xbe\xeb\xfe\x32\x3c\x7f\x7b\x3a\x38\x7b\xfb\xe1\xe4\x10\x74\xc0\x56\xd3\x5c\xe7\xec\xe3\x60\x70\x48\x0f\xdd\xd5\xef\xc7\xef\xcf\x07\xa7\x3f\x75\x4f\x84\xe6\xfd\x93\x41\xf7\x74\xf8\xee\xc3\x8f\x67\x83\xe1\xe1\x87\x9f\xdf\x0f\xcf\x8f\xdf\x0d\x40\x07\x6c\x36\x4d\x15\x8e\xcf\xce\xbb\xef\xfb\xe8\x7b\x8b\x7e\xfe\xf9\xc3\xe9\xe1\xf0\x6c\xf0\xb1\x7b\xda\x3d\xff\x70\x7a\x86\x94\x12\xa8\xd6\x2e\xae\xbe\x3c\x5c\x56\x56\x2a\xa4\xce\xc9\xf1\xfb\xc1\xf0\xb0\x7b\xde\xc5\x59\x69\x87\xc7\xef\x0f\x07\xbf\x90\xb7\x3f\xe4\xaf\x3f\x1f\x1f\x9e\xbf\xe5\x9f\xdb\xe4\xf3\xfb\x0f\xef\x87\xbd\xd3\x41\xf7\x87\xe3\xf7\xdf\x0f\xcf\x3e\x76\xfb\x03\x0c\x05\x74\xc0\x59\x1a\x07\xe1\xa4\x31\x8e\xa3\x9b\x3e\x3d\x74\xad\xb6\xb6\x9b\x94\x77\xdd\x93\x93\xa1\xa1\xed\xe9\xe0\x7b\x0c\x1d\x09\xd7\x29\x9c\x0c\xee\xe6\x55\x0b\x86\x3a\xa8\x4c\x2a\xa6\x81\x93\x22\x79\xa4\x2f\x6c\x56\x49\x85\x17\xf2\x5f\x39\x8f\x23\x3a\x9b\x22\x66\x0b\xc1\x41\xf8\xcf\x02\xcd\x94\x38\x21\x1a\x22\xf4\x50\x93\x89\xc7\xba\x51\x2e\x11\x5f\x05\xcc\xbe\x78\xa1\x37\x51\x23\x73\x86\xc9\x62\x9e\xa5\x72\xe2\x0a\xb7\xaa\xb6\xaa\x03\x5a\x93\x90\xcd\x01\xa8\xf5\xb2\x80\x9e\x3a\x18\x5e\xe3\xe8\x83\x3a\x18\x8a\x67\x2c\x75\x30\x14\xec\x12\xd5\xab\x78\x88\x17\x80\x0e\xc5\xd6\x18\x79\xb3\x19\x09\x00\x40\xbd\x44\xbf\x64\x1a\x6e\x58\x24\x4c\x88\x56\x22\x94\xa0\x2a\xe4\x37\xad\x82\x48\x21\xaa\x26\xfe\xad\x55\x16\xe8\x47\x75\x85\x3f\xb5\xaa\x41\x18\xa4\x27\x41\x92\xc2\x10\xc6\x89\xb8\xbd\x25\xdf\x61\xe8\x5d\xcf\xa0\x5e\x3e\xbc\x41\x8a\x86\x8a\xbb\xaa\x7d\x1a\x72\x41\xd5\xf4\x48\x17\x05\x33\xf3\x92\x14\xeb\xcc\xc3\xe8\x36\x3c\x0f\xb0\xbb\x78\x53\xab\xe5\x8d\xd2\xe0\x33\x54\x45\x48\xfa\x5b\x8b\xd6\xa5\xab\xd3\x30\x1b\x93\x07\x45\xa0\x89\x40\x88\x7b\x0b\x89\x19\xce\xb8\x16\x26\x06\xf2\x88\x8b\x63\x79\x1e\x07\x37\x0c\x96\x04\xca\xbb\xa1\x9b\x10\x89\xc4\xc6\x30\x0a\x51\x13\xf6\x99\xaf\xb2\x19\xdc\x1b\xc4\xa7\x77\xd1\x67\x68\x04\x0b\x3f\x43\x33\xd4\x77\xac\x19\xad\x62\x83\x8c\x46\x60\x09\xc8\xf8\x8d\x79\x37\xe4\x1f\xe7\x4b\xc0\xfd\x71\xae\x42\x7d\x50\x35\x92\x36\x80\x7e\x90\x20\x71\x75\x07\xa5\x8e\x66\xd0\x8b\x39\x90\xaa\x16\x15\x4b\x86\x0f\x59\xb3\xd5\x4a\x1a\x07\x37\x3c\xb1\x85\x3e\xae\x5a\x5b\x71\x56\x52\xa3\x17\xaf\xe3\xac\x41\xb5\x82\x19\xe2\x47\xb7\x21\x07\xab\x31\xbf\x56\xb4\xbb\x64\x72\xe6\x84\xe0\xb2\xee\x84\x8f\xec\x8d\xe7\xfb\xdf\xb0\x2b\x09\x4c\x7b\x4c\x05\x66\xbd\x21\x34\xda\xfa\x84\xcc\x3a\x45\x59\x3a\x06\x98\xd2\x60\xb6\xf1\xec\x94\xd5\xc1\xca\xd4\x4b\xf8\x77\x64\xf8\x71\x6c\x13\x98\xee\x5b\x78\x0f\xc4\x03\x42\xbe\xf1\xc5\x4a\x93\xc4\x78\x73\x88\x67\x7a\x78\x10\x3d\x16\x72\x36\x1b\xa8\xd1\x3c\xf9\x27\xd3\x82\x56\x34\x24\xb6\x79\x30\x1c\x9c\x66\xc7\x94\x68\x53\x46\x0f\x9d\xbe\x7e\xcd\x8e\xac\x59\xb1\xe8\x7c\xfd\x50\xcf\x36\x00\xe1\xe2\x06\xc6\x48\x48\x89\x99\x9c\x7d\x19\x45\xe1\x38\x98\x2c\x84\x6f\x64\x90\x6a\x4b\x8f\x12\x3f\x68\x3a\x87\x77\xe9\xbf\xc9\x30\xa9\xf7\x64\x7a\x9c\x44\x42\x8f\x1c\x07\xec\xd4\x98\x0f\x4d\x87\x0f\x8d\x78\x5e\xa8\x5f\x82\xe1\xa0\x18\x98\x2c\x66\xa9\x21\x73\x30\xf9\x20\x65\x16\x88\xbd\x30\x99\x79\x2c\x72\xf3\x24\x08\xe1\x79\x44\x0c\xe6\xaa\xa4\x70\x26\x30\xad\x32\x62\x6a\x75\x32\xfc\x5c\x9e\xea\x0a\xe1\x6a\xf8\xa4\x14\x36\xc0\xbb\xb4\x4a\xa3\xfd\x84\x5b\x8f\x96\x33\x8e\xe0\x9a\xd3\xc8\x07\x49\xa0\x2e\x30\xdc\x1a\xb2\x90\x1f\x24\x44\xd9\x79\x95\xa3\xcf\x19\x0a\xd2\x47\xcb\xfb\xbf\x59\xb5\x46\x90\xfc\x1c\xe3\x23\x55\xdb\x1d\x2b\x61\xfa\x05\xe5\x3d\x0d\xe4\x5c\x43\xa6\xf9\x6a\x87\x13\xf7\x48\x07\x0d\x71\x60\x19\x48\x03\xe9\xb6\xf0\x40\xd6\x2d\x83\x22\x58\x6e\x2c\x68\xdb\x6f\x30\x20\xec\xc8\x5a\xbe\xd1\x13\x3b\xf1\x6f\x38\x36\xd8\x27\x39\x8a\x6f\xbc\x34\x85\xfe\x29\x9b\xdd\x14\xf0\x8d\x37\x17\x36\x58\x08\x83\x43\x05\xa1\xcf\x8d\x18\xce\x67\xde\x08\x56\x5d\x5b\xdf\x3a\x76\x1e\x51\xf4\x55\xad\xf1\x5b\x14\x84\x55\x7a\xe2\xd1\x08\x92\x77\x67\x3f\xe3\x08\xeb\x04\xbc\x01\x95\xcb\xf8\x32\xac\x80\x7d\x50\xb9\xd4\xfc\x0f\xd9\x3a\x25\xf7\xe1\x69\x17\x19\x87\x39\x22\x9b\x10\x39\x16\x16\xd1\xfb\x79\x66\x25\xb1\x06\xdf\xa9\x16\x52\xa2\xd5\x64\x91\xb1\x85\x6d\x27\xd7\x74\x90\x48\x9f\xd1\x49\x11\xdc\x9c\x06\x93\x69\x6a\xb8\xb8\x53\x6e\x46\xb2\xeb\x4d\xe9\x66\x44\xb8\xf5\x6c\x1e\x28\x97\xe3\xec\xfa\x52\x6a\xc0\xef\x34\xf1\xf2\xa3\xdc\xa5\x20\xaa\x38\xb1\xe2\x8a\xc7\xe3\x57\xbb\xfe\x6f\x8b\x24\xa5\xf7\x6b\xc2\x32\xd7\x8f\x66\x8e\xda\x7c\x49\x24\xd8\x85\x93\x47\x43\x4c\x1a\x16\x73\x47\xb4\x38\x89\x24\xc3\xf9\x6e\x68\x14\x99\x2c\xaf\x42\x27\xb0\x6b\x92\x17\x5f\x98\x0e\xa7\xae\x74\x63\x40\xa9\x2b\x1c\x55\x91\x35\x5c\xbb\xd3\xd6\x06\xe7\x75\x07\x04\x36\x7d\x65\xe4\x9f\xe9\x4d\x54\xb3\x27\x24\x1d\xb8\xc2\x18\x08\xcf\xf3\xe1\xdb\xc2\x95\xb1\xf1\xc4\x07\xce\x34\x9c\x5f\xbf\x4a\x63\x25\xc9\x1e\x97\x6c\x63\xe0\x2f\xfa\xf0\xf3\x34\x48\x61\x32\xf7\x46\xf0\x38\xf4\xe1\x1d\x1d\x4d\x7a\xde\x97\x40\x2f\x1e\x4d\xab\xeb\x97\xc9\xea\x77\xeb\x35\x7d\xa4\x8c\x10\x9e\x5b\x23\x6c\xe4\xbe\x70\x0f\x09\xa1\xb8\x6e\x24\x2a\xd7\x95\x4b\x04\xfc\xaa\x63\x1e\xe2\xa5\x8c\x4a\x2d\x43\x99\xc8\x9c\xc5\x75\x42\x16\x58\x23\xbe\xba\xd8\xdd\xc2\x9a\xcb\x14\xd0\x1f\x24\xef\xe1\x2d\x6f\x53\xec\xdc\xe5\x0f\x4c\xa0\x22\x2d\x04\xca\xc9\x45\xa6\xb9\xa5\xf4\x2e\xb2\x82\xcc\xd6\xc2\x93\x20\x5c\xe0\x74\x8d\xf6\x2e\xb3\x6e\x4b\x9b\x1b\x66\x06\x49\x85\xba\xb8\x4a\x9f\x1d\xb1\xc6\xe4\x9c\x0f\x3b\x8d\x85\xf0\x96\xb7\x62\x9b\x7a\x09\x4c\x4e\xd6\x81\x02\x6b\x95\x69\xc8\xad\xc9\x74\x8a\x64\x92\xd0\xdd\xdd\xa8\x37\x5b\xce\x5e\x8e\xfa\xb9\x39\xb7\x6e\xaa\x07\x9c\xf3\x00\x03\x7d\xea\xce\x66\x85\x8c\x85\x80\x9e\x28\x74\x67\xb3\x2e\x3e\xdb\xd4\x1e\xf6\x5c\xd2\x14\x20\x87\x88\xe6\xf3\x46\x69\x22\x85\x10\xfa\x49\x96\xe3\x48\x24\x4e\x39\x88\x94\xa4\x57\x6c\x66\x9c\x55\x0a\xc9\xa5\x64\x63\x02\xc9\x59\x30\x31\x63\xfa\x51\x14\xfb\x89\xf1\xc4\x50\xea\xc9\x88\xd5\xc3\x6d\xd1\x6e\x82\xb4\x24\xb5\xeb\x86\xb3\x2c\x56\x26\x9c\x8b\x5b\xdc\x7f\x0c\xee\x67\xda\x36\x8f\xe0\xbf\x68\x5e\x89\xcb\x1e\x2d\x6c\x99\x0b\x91\x8d\xe0\xf6\xd7\xa3\x8a\x85\xb4\x28\x3c\xfa\x8c\x81\xf8\xa0\x8e\xbe\x43\x7a\x43\x7d\x58\x72\xb8\x48\x2e\xef\x75\x2e\x9e\xc2\x99\x87\x04\xf4\x3c\x62\x9e\x0b\x56\xb6\xd6\xa4\x63\x20\x12\xe3\x45\x7a\xf7\x96\xf9\x15\x98\xdc\xf9\x5e\xea\xa3\x41\xbd\x54\x64\xd1\xa3\x14\xbe\xee\x90\x24\x51\xf4\xcf\x57\x1d\x05\x8b\xd9\x05\x50\xbc\x54\x78\x30\x82\xcd\x01\x43\xab\xad\xa9\xe8\x4c\x60\x33\x5e\xb2\x45\x9f\x7b\x58\x92\x4f\x75\xb0\x66\xbd\x81\xad\xd5\xed\xb7\xb3\x82\xd4\x51\x1c\xeb\x1d\x7b\x6d\x4d\x9a\x58\x5f\xd7\x09\x61\xde\x75\x42\x4b\x6a\x35\xb0\x4a\xca\xe2\x68\x11\xfa\xac\xde\x4b\x50\x35\x5f\x02\xaf\x81\x56\xad\x8c\x4e\xe2\xbb\x1e\xb7\x1c\x62\x8b\x13\x15\x36\xae\x17\x69\x1a\x85\xd8\xb8\x2a\xe1\xd3\x49\xda\xce\x63\xfc\xef\x21\x89\x7c\xd0\x37\x62\x7e\xec\x4d\x94\xb9\xa1\x65\xda\x4b\xe8\x44\xea\xcf\x82\xd1\x27\xec\xa1\xc5\x2e\x23\x0c\xc4\x26\xd3\x60\x9c\xfe\x00\xef\xcd\x56\x46\x14\x9e\xa1\xef\x18\x92\x06\xc4\x99\x4d\x2b\x4b\x16\x33\xe2\x64\xe0\x2d\x81\xd1\xdc\xe4\xd8\x82\x70\x32\x83\x66\x74\xc0\x9c\xa4\xc5\x8a\xc8\x18\xfb\xc4\x10\x1d\x46\x8b\xeb\xa7\x42\xb4\xe1\x42\x74\x1e\x07\xf3\x62\x88\x54\x2f\x44\xcf\xf7\x4b\x6c\xb8\x05\xbd\x5e\x40\xaa\x8d\xb0\x97\xbe\x33\x94\xae\x5a\x24\x77\x32\xdb\xc5\xcb\x4d\xf4\x19\xca\x17\x2f\xe2\xd5\xa0\xfb\x2e\xa7\x10\x82\xc5\x5c\x06\x9f\xdd\xe2\x39\xa6\xd4\x71\x98\xc2\xf8\xb3\x37\x3b\x0f\x6e\xf0\x05\x4d\x02\x53\x56\xe4\x34\x9d\x33\x08\xd8\x7a\xae\x1b\xbd\x4b\x8a\x0f\x8e\xed\xb0\x25\xcf\xec\xb4\x33\xc9\x7e\x99\xf7\x74\x03\x61\xc7\x51\x68\x2c\xf0\x09\x14\xe7\xb6\x73\x64\x4a\x8c\x60\x66\x72\x17\x52\xf5\x99\xb2\xcb\xd7\xf5\xa2\xd1\x99\x48\xc6\xb9\x59\x95\x2a\x35\x07\xc2\xdd\x8b\xc9\x74\xb4\x68\xdb\x62\xdd\xc8\xb4\xa8\xbb\x1f\xf6\x3e\x9c\xd0\xcc\xf6\xfa\xea\x62\xdf\x03\x28\xf7\x72\xcb\x7b\x3f\xd8\xc9\x2a\xc7\xb2\x27\x1b\x26\xf3\xc5\x13\x3d\x52\xd3\xae\x03\xec\x28\x2f\x5a\x57\xb5\x0b\xc7\xe7\xe6\xd5\x53\x9d\xb1\x39\x91\xa8\x19\xe5\x97\xd8\x09\x4b\x2b\x68\x89\x6d\x4e\xc9\xd1\x23\xed\xcc\x23\x55\x44\xb2\x7e\xfe\x70\x7a\x78\x60\x68\x4b\x58\xf2\x73\x14\xfb\xdd\x94\x21\x59\x6a\xaa\x09\xcb\xfb\x5f\x97\x0b\x48\x78\xec\x5c\x38\x09\x42\xc8\xb9\x20\xdf\x63\x15\x66\x84\x6e\x72\x16\xe0\x06\x89\x71\xa4\x7e\x53\x55\x9c\x0d\xd9\x4b\x61\xb5\x56\x43\xb3\x08\x15\x57\x55\x3e\x08\x2d\x58\xcc\x98\xee\x83\xf5\xda\xe2\xbd\x49\x5d\xdc\x1a\x43\x3f\x20\xfe\xc8\x47\x71\x74\x73\xc2\x9a\x7f\xa4\xc9\xde\x19\xad\xaf\x8d\x2e\x9e\xe6\x31\x10\xed\x41\xf3\x5e\xcd\xee\x2f\x26\xf4\x49\x55\x80\x33\x95\x36\xd0\x01\x17\x74\x9b\xe0\x4d\xe0\x2f\x75\x90\xfd\xf1\xab\x96\xcf\x34\x23\x4a\xc9\x5f\xef\x1a\x47\x27\x6b\xf2\x87\x94\x5f\xc5\xf3\x2d\x23\xdf\xab\x59\xba\x74\xd1\xbc\x02\x6b\x42\x3f\x7e\xa9\xd5\x41\x6e\x9b\x96\xdc\xe6\x57\xf1\x02\x9e\x5a\x66\xb1\x70\xe5\x56\x7c\x97\x87\x6c\x9f\xfc\x5e\xa2\x3d\x5a\x10\x2d\x92\x33\xd3\x5a\x6e\x58\x3f\xde\x00\xb3\xce\x1f\xe0\x7b\xdd\xba\xb5\xe1\x45\xeb\x4a\xf7\x7a\x78\x1a\x63\x22\x5b\x19\x8d\xfa\xa3\x63\xd2\x20\xaa\xec\x5b\x57\x57\x42\x3a\xcf\x6b\x6c\x5b\x08\x8b\xae\x5a\x84\x4d\x7a\xbe\x92\x42\x09\x3b\xdd\x10\x0d\xc7\x66\xf9\xbb\x33\x65\x33\x58\x8c\x81\x68\x21\x32\x2b\x0f\x42\xd5\x79\x44\x17\x23\x1b\xc1\x8e\x70\x35\xc3\x99\x80\x2c\x0a\xda\x89\x9a\x43\x1e\x34\x60\xaf\x75\x03\xa3\x34\x53\x9d\x59\xb8\x1d\xb8\x0d\x41\xb1\x85\x45\xe4\x21\xdf\x0c\x54\x04\xf5\x5a\x4c\xe7\xee\xb8\x43\x2d\x66\xf0\x11\xe0\x16\x73\x8f\x10\x6c\x31\xf6\xc8\xb3\x57\x5e\x7c\xd1\x2e\x6b\xe0\x11\xb0\x79\xe6\x1d\xc3\xf5\xdc\xa8\xc8\x84\x98\x1b\xf4\x63\xaa\xc3\x7c\xea\x5c\x63\x51\x04\x4c\x2b\x07\x8c\xae\x24\x6c\x47\x1e\xa0\x8c\xb1\x92\x89\x99\x75\x47\x6d\x97\xc9\xbc\x18\x7e\x5c\xf5\x30\x48\xe6\x96\xf6\x75\xb2\x4d\x32\xdc\xd0\x16\x9f\x7f\xae\xf1\x47\x36\x82\x65\x06\x6a\x37\x02\xf8\xd8\x5e\x4f\x26\x1d\x47\xb7\xc9\xd5\x13\xea\x5a\x44\x92\x1e\xa2\x8c\x91\x3b\xd1\x3c\xfa\x4a\x86\x3b\x63\x17\xd9\x05\xe7\xb9\xb8\x14\xc0\x37\x8a\xc2\xcf\x30\x4e\x7f\x62\xb1\xc7\xd1\xec\x3c\xea\x4f\xbd\xd8\x1b\xa5\x30\x66\x77\xf6\xaa\x83\x30\x71\xf6\xd2\x4d\x7c\xa6\x70\x58\x3b\x7e\x53\x63\xf7\x05\xe1\x55\xb0\xcf\x43\x9e\x2b\x48\x86\x5e\x73\x08\x59\x7a\xdb\xc9\x09\x56\xbd\x28\x1c\xf7\xf4\xbc\x4d\x99\x9b\x22\xb2\x5a\x4a\xec\x34\xb3\xd0\xed\xb9\x67\xda\xf4\xe8\x89\xd3\x0b\x3a\xec\xa9\x13\x9b\xba\xd8\xb2\x01\xa4\x66\x79\xae\x8c\x98\xe4\x42\x06\x8a\xef\x88\x19\x58\x86\xe1\x40\x93\x9c\x0f\xec\x26\x27\x93\x8b\x35\xa1\xad\xd2\x63\x38\x4e\x7f\x0e\x7c\x48\x62\xc6\xb4\xad\x4c\xe6\x84\x62\xaf\x83\xa4\x06\xbb\xb7\x20\xe4\x5d\xea\x40\x4b\xbc\x42\xb0\xc4\x18\xf2\x33\xd1\x4c\x2a\x42\x87\xe8\x2b\x2a\x66\x38\xf8\xee\xc6\x06\x0b\xb0\x07\x2d\x72\x04\x50\xc0\xcb\x47\x47\xf2\xa1\x52\xf1\xf3\x5a\xab\x39\xd8\x59\xc5\x22\x0b\xb0\x41\x87\x2a\x39\x39\x0c\x13\x1e\xa8\x69\x36\x2c\x75\x64\xc7\xd0\x0b\x06\xf4\xaa\xf4\x7c\xd6\xa4\xc2\xf4\x18\x61\x62\xf1\xcc\xd2\x9d\x7f\x04\x9a\x48\x17\x9c\x14\x19\x2f\x70\x74\x21\x34\x91\x44\xa0\xdb\xc7\x01\xb8\x64\x8f\x3a\xe3\x04\x09\x42\x81\x14\xcd\x19\x9c\x7b\xb1\x97\x46\xb1\x45\xbc\xc9\x95\xa2\xcd\xd5\xcd\x30\x10\xd8\xe9\xb6\xf4\x60\x14\x1e\x10\xd7\xa0\xe8\x7c\x00\xce\x79\xe3\x82\xe5\x9e\x53\xab\xa0\xa5\xcf\xab\x82\xbc\x95\xa6\x5c\x11\xce\xd2\x19\xb1\x9a\xc3\x57\x6b\x3e\xc4\x62\x62\x05\xac\xa2\x65\x66\xab\x4d\x21\xd8\xe1\xd8\x7c\x0b\x59\x8c\x87\x20\x74\xab\xa2\x92\x5f\xd3\x25\x43\xd5\xef\xf4\x40\x9f\x5f\xeb\x73\x1e\xaf\xc9\x50\xf5\x95\x60\xd5\xa4\xfa\x57\x0d\x06\x25\xb2\x34\xf5\xb3\x18\xf5\x19\x31\x42\xca\x3e\x23\xa9\x70\x80\x9c\x74\x6a\x5b\x60\xe9\xbf\x8d\x62\x5f\x38\xbb\xe2\x7b\x62\xdb\xb1\xaf\xf3\xda\xe1\x42\x84\xd6\x48\x58\x72\x16\x6a\x3e\x68\xa7\x6f\xce\x3b\x15\x09\x94\xe8\x0b\x5a\x98\x07\xec\xb8\xe0\x8f\xe2\x82\xb4\xb1\x20\xdf\xbc\x38\x3b\xf4\xf8\xc9\x9b\x2d\x60\x72\x4a\x72\xad\xfb\xd5\x1a\x78\x03\x74\x76\x81\x7d\x50\x35\x94\xae\x9a\xd8\x51\xd3\x79\x5b\x80\x37\x06\xad\x22\x33\x68\xea\x49\xf1\x78\x54\x3e\x95\x60\xfd\x46\x80\x26\xc2\x87\x31\xad\xfe\x5a\x7d\x52\x34\x7f\x74\xc8\x89\xba\xe6\xbd\x5e\xec\xe6\x8d\xee\x96\x50\x83\x72\x52\x65\x3d\xcc\x92\x33\x5e\xa8\xe4\x1f\x3c\x7b\xa8\xca\xe9\x1a\x1a\xe2\x9f\x62\xfe\x19\x43\xb0\xbb\x0e\xcd\x9c\xf7\x44\x63\x9a\x25\xff\x49\xfb\x2f\xf6\xf4\xa9\x1c\x0c\x9e\xf3\xee\xa6\x35\x72\x5c\x1b\xf8\x02\xaf\x6f\x5a\x02\x41\x15\x11\xc4\x02\xb1\x5c\xe8\x87\x26\x76\x86\x83\x66\xe7\x3d\x28\xae\x51\xf4\x22\xd8\x7d\xbd\x5c\x30\xbe\x55\xee\x6d\x1d\xac\x18\x5c\x63\xcb\x44\x4f\xf2\x63\x17\xad\x17\x0e\x17\x74\x34\x3b\x55\x83\x5b\x37\x75\x9f\xeb\xfc\xfb\xfa\x15\x3c\x37\xf0\xc2\x81\xca\x50\xdb\x85\x57\x6c\x95\xa3\x9e\x75\xea\xf6\xdd\xd8\xfe\x88\xc0\xd8\x9c\xe1\x1d\x84\xfe\xb7\x1f\x5c\x83\x16\xd5\x8f\xae\xf0\xdb\x66\xc6\x73\x33\x6c\xd9\x97\x94\x8d\x3c\x29\xc8\xcb\xfd\x6a\x17\xb7\x5c\x49\xc8\xe5\x84\xe6\x3b\xc0\xba\x6d\x9a\xcf\xaa\xd3\x3d\xbb\xea\xc9\x65\x88\x15\xa2\xcd\xf2\xd7\x7a\xcb\x82\x86\xcd\x04\xd8\x03\x22\x49\x57\xf9\x75\xe5\xe3\xfb\x4c\x8e\xbf\x6b\xa6\x62\x8d\x11\x3a\x33\xec\xf3\x59\x84\xf4\xb4\xb3\xd2\xba\x98\xd8\x05\xc7\xfd\x6a\xae\xe8\xa8\x63\x53\x27\x4a\xf8\xb9\xb9\x77\x52\x1c\x7f\xeb\x8a\xbc\x20\x8a\x7e\xf9\xfa\x55\x88\xde\x15\x62\xc5\x5f\xbc\xc8\x82\xfe\x5f\xcb\x71\xb3\x9a\xf1\xa6\x74\xb6\x50\xec\x81\x45\x56\x8d\x77\x02\x9a\x10\x82\xb5\x0e\x20\x20\x9d\x97\x54\xd2\xa5\x9f\x13\x30\x15\xfb\xf2\x60\x79\x0a\x38\xfd\x26\xcc\x7c\xdf\x66\x0f\x0f\x15\xc5\x54\x0a\x01\x71\x91\x40\x0c\x0e\x8d\x08\xce\x28\x1b\x19\x7a\x4d\xcb\x8d\x9f\x9e\x28\xc2\x66\x03\x23\x29\x50\xd3\x2c\x6a\x36\x9f\x5a\x3d\xcf\xc4\xc5\xa2\x65\x31\x70\x37\xfe\x62\x06\x2e\x3b\x88\xce\x31\x6d\x59\xb5\x6a\x96\x80\x8a\x27\x7c\xe5\x89\xb8\xc9\xb5\x55\x0c\xbd\x3a\x28\x90\x84\x2a\xd5\x3d\x89\x05\xb3\xd8\x62\x15\x2b\x48\xc5\xbc\xb3\x62\x3e\xcd\x4c\x64\x38\x4d\xa0\x23\x10\xa8\xda\xda\x52\xca\x29\x63\xc6\x29\x52\x8f\x38\xeb\x9c\x46\xb7\x3c\x28\x44\xf5\x8f\x9c\x79\x49\x7a\x0a\x47\x51\xec\x43\x9f\xde\x17\xd8\x5c\x29\xc5\xaa\x8c\xbf\x56\xb8\x59\xba\xce\xb0\x5a\x21\x1d\xe1\x41\x6e\xf7\xe1\xe8\x8c\x77\xcd\xfc\xac\xb7\x0e\x23\x86\x49\xf0\x4f\x58\x1a\x86\xc2\x6e\x83\xff\xb5\x4c\x5c\x14\x12\xb0\x66\x90\x09\x71\xf4\x8a\x16\xa9\xcb\xc1\x5a\x26\x8e\xfa\x58\x37\xa5\x1d\x11\xe3\x5f\x4e\x7c\xa6\x51\x99\x1b\x32\xcc\x1a\x2e\x5d\xe9\xfb\xbb\x64\x80\xfa\x53\x2f\x9c\x40\xbe\x7c\x19\x20\xf0\x8b\x6d\x55\x66\xf4\x93\x7a\x15\xaa\xf5\xba\xd7\x20\x7e\x16\xf4\xba\x9d\x61\x1c\x3c\x9a\x30\x37\x08\x61\x1e\x40\xb0\x0a\x2a\xf3\x3b\xc3\xcb\x07\xb2\x60\x49\xfe\xe1\x8f\x84\xae\x27\x85\xf8\x2c\x4d\x12\x65\x0c\x1c\xb3\x89\x8f\x85\x64\xaa\xe7\x0f\x84\x98\xac\xbd\xd8\x08\x39\xa7\x74\x1e\x09\x39\xc3\x34\xcd\x63\xe2\x4b\x03\x86\x82\xe3\x66\x48\x74\x6d\x42\xea\x22\x2c\xf7\x26\x3f\xd3\xbe\x2a\x6c\xeb\x34\x7c\xe9\xd6\xa9\x35\xad\x77\x92\x6b\x80\x41\x27\xc8\x9a\x24\x5f\x35\x58\xb5\xb9\x2e\x52\xe4\x55\x6d\xc7\x43\x0f\x8e\x95\xc1\x0e\xc9\xe0\xb6\x6b\xf5\x88\x00\x9a\x47\x55\xe9\x39\x51\x2e\x2a\x16\xe4\x84\x7e\x95\x51\x8b\xd6\x29\x65\xc0\x0e\x5c\x17\x25\x78\x74\xcf\x71\x3e\x71\xb9\x7f\xc4\xdb\xe5\x65\x9e\x56\xe6\xd4\x6b\xc2\xce\x21\xa3\x4e\xf0\xbf\x8c\x2c\xb3\xb7\x15\x5a\x16\x17\x5b\xb6\x88\x2a\x7e\x2c\x7a\x58\xf4\xad\xf0\xa2\x05\x89\x86\xcc\x21\x67\xdd\x32\x1a\xf2\x4e\xcd\x0f\xc6\x63\x92\x2e\x93\xbc\x68\x60\x60\xac\xcd\xd4\x10\x1c\xa2\x10\x14\x29\x00\xd9\xd5\xe1\x9f\xa7\x10\xba\xfa\x4b\x22\x18\x1b\x3e\x9c\xa5\xde\xaf\xe6\x3b\x53\xf7\xfb\x19\x37\x8b\x59\x1a\xcc\x67\x01\x3e\xc6\x6e\x1d\x18\x01\x73\x67\x4e\x4c\x0d\xb6\x73\x1a\x87\x1f\xde\x0d\x0f\x07\x27\xe7\xdd\xa1\xc9\x29\x56\x82\x9a\x23\x69\x86\x59\x5b\x0c\xf1\xc7\xee\xf7\x4b\x20\x36\xae\x0f\x56\xaf\x52\xbb\xc8\xac\x76\x40\xc6\xf8\x97\x02\xe2\x0c\x16\xfc\x6c\x09\x64\x95\x1e\xe3\x31\x8e\xfb\x79\xb4\x18\x4d\xd9\x89\xb4\x6d\xf0\xb9\x72\xc3\xb5\x7f\x05\x98\xa2\x14\xfd\x0e\x93\x8b\xe6\x15\xf1\x0a\x2f\x85\xd1\xe0\xf9\xad\xce\x2e\x26\x6a\x1a\xf6\x35\x3b\xf6\x92\xc4\x32\xf9\x5b\x4e\xaa\xf3\xc7\x8d\xc0\x2d\x3b\x4e\xd4\x16\x67\xcc\x53\xb7\xcb\xc2\x0e\x32\xab\x62\xde\x22\x73\xfe\x5b\x36\xc7\x9b\x8f\xda\x1c\xe3\x59\xed\x21\x15\xfb\xe5\xd9\xdf\x56\x1a\xeb\x5e\x9a\x7a\xa3\x29\xfd\x67\x65\x1f\x6c\xd6\xf5\xe2\xc6\x6f\x89\xf6\x05\x81\xf6\x26\xb0\xf1\x5b\x12\x85\x2b\xfb\xa0\xbd\x45\xbe\x8e\x83\x14\xfd\xb7\xb2\x0f\xe4\x02\x02\x42\x28\x53\xdb\x6f\xd3\x4f\x8b\xd9\x2c\x19\xc5\x10\x86\xc2\xaf\x2b\xfb\xc0\xf5\xb9\x31\x4a\x10\xf0\xf6\x8e\xab\x0e\xc6\xaf\x43\x51\xc9\xd8\x25\x35\xe8\xf4\xf7\x23\xad\xc2\x9e\x5a\x81\xff\xb6\xb2\x0f\x76\xac\x1f\x09\xfe\x9d\x67\x0f\xc2\x5b\x14\x74\x80\x90\x35\x09\xef\xd2\x6a\x0c\x7f\x47\x23\xf4\x37\xb6\xab\x33\x64\x77\x97\x5b\x9c\xc2\x24\x9a\x7d\x86\xb8\x61\xed\xc0\x01\x5a\xac\x88\x30\x60\x6f\x48\xb4\x27\xb8\xf1\xe6\x17\x31\xfc\xfd\xea\xe0\xd9\xdf\x82\x71\xf5\x79\x35\xf0\x89\x2f\x09\x58\x5f\x27\x2f\x65\x60\xef\xc9\x70\x71\x73\x0d\x63\x10\xc5\x80\xe4\x07\x7a\xf6\xb7\xbf\xa5\xd3\x38\xba\xc5\x99\xa1\x07\x71\x1c\xc5\xd5\x95\xbe\x17\x86\x51\x0a\xc6\x41\xe8\x03\x22\x8b\xa0\xb2\x02\x56\x41\x0c\x7f\x07\xab\x60\xa5\xd2\x58\xa9\x1d\xf0\xae\x05\x3e\xa6\x56\x26\xb2\xf1\x09\xde\x4b\xd1\xbb\xf2\xe7\x1f\xe0\x7d\x52\x15\xf9\x43\x8f\x75\x50\xab\xea\x8d\x37\xaf\x99\x40\xc6\xa4\xe3\xa0\x63\x66\xc8\xc1\x33\x42\x6a\x83\xce\x1a\xad\x9e\x06\x10\x73\xad\xbd\x79\xa0\xce\xc9\xad\x02\x73\x12\x4f\x3f\x0d\xe1\x97\x95\xd0\xbb\x81\x2b\xfb\xe4\xd5\xce\x06\x9d\x87\xf5\x95\x1b\x2f\x08\x57\xf6\x57\xb2\x09\x58\x5f\x99\xc7\xc1\x67\x2f\x85\x2b\xfb\xc8\x3a\x78\x50\x49\xd8\x7e\x2a\x12\xd0\xf4\xe5\xf8\xe9\xd4\xcd\x43\xbe\x53\x14\xb9\x26\x38\xe4\xe4\x0d\xcc\xbd\x38\x81\x60\xec\x05\x33\xe8\xef\x83\xf5\x69\x74\x03\xd7\xef\x17\xbe\x17\xac\x7b\xf1\x68\x1a\x7c\x86\xeb\xf3\x38\xf2\x17\xa3\x34\x59\x6f\x37\x5b\x5b\xeb\x93\x28\x4d\xef\xd7\x93\x78\xb4\x3e\x09\xd2\xe9\xe2\xba\x31\x8a\x6e\x68\x03\xf2\xe9\xb7\x64\x3d\x8c\x7c\x38\x24\x44\x24\xeb\xb8\x6f\xeb\xb3\xe0\x7a\xdd\xf3\xfd\x28\x4c\xec\xaa\x04\xfc\x18\xc2\xbb\x39\x1c\xa5\xd0\x07\x69\xf4\x09\x86\xa0\xda\xda\x6f\xd6\x2e\xc3\x5f\xa3\x05\xb8\xf1\xee\x71\x62\x1d\xe0\x85\xc0\x9b\xcf\xe3\x68\x1e\x07\x5e\x0a\xc1\x2c\xf2\x7c\x18\x83\x34\x02\x53\x2f\xf4\x67\x10\xaf\x33\x60\x1c\xa0\xdf\xd0\x0a\x7a\x19\x7e\x05\x0d\xca\x5f\x8e\x0d\x7c\x41\xc5\xe8\x67\x4e\x3d\x3b\xf6\xc1\x38\xb8\x83\xfe\x01\x2b\x4f\xa3\xf9\x3e\x68\x1e\xa0\xc9\xa3\x70\x7c\xf7\xc9\x86\x3b\x53\xb3\xd9\xa8\x4b\x7a\x33\x6f\xf0\xf7\x9e\x8a\x94\x4c\x95\x72\x4a\x24\x05\x9a\x43\xc8\x46\xf3\x2f\x74\x6c\xcc\xd5\xd8\x3c\x86\x73\x2f\xc6\x29\x3e\x8f\xa2\xf8\x9c\xda\x95\x55\xa4\x4e\xea\x40\x48\x97\xc9\x4c\x18\xfc\x48\xa7\x5e\x2c\xd8\x18\x54\xb5\x91\x84\x9d\xeb\x97\xf1\x9b\xcb\x70\x7d\x52\x07\x95\xcb\xb8\x22\x1d\xf7\x09\xd5\x0f\x9e\x3d\x70\x53\xc4\x4c\x10\xe8\x58\x28\x15\x1f\x4f\x8a\xe6\xf7\x6f\xb1\x78\xc7\x55\xf8\xb9\x8e\x8f\x9f\xeb\x59\xe6\x32\xea\xb5\x22\x76\x04\x0f\xeb\xb5\x90\x1b\xf4\x58\xb2\xc9\x69\x1e\xb6\xd1\x2c\x98\x5f\x47\x5e\xec\x1f\x7a\xa9\xd7\x48\x60\x8a\xfe\xad\x56\x10\x21\x15\x1d\xbe\x31\x5f\x19\xe9\xb1\xb2\xcf\x86\x9f\x6d\xa0\x11\x4f\xd6\xe7\x33\x2f\x08\x4b\x22\x30\xd9\x82\x19\x6b\x05\x06\x61\xbf\x63\xfe\x97\x28\x0f\x5e\x92\x42\x95\x8b\x8c\x29\xf0\x73\x23\x49\xa3\x39\x12\x37\x6f\xe2\x89\xf7\x48\x24\xd9\xd2\x9d\xf0\xf6\x14\xda\x50\x7a\xe9\x68\xfa\x11\x01\x94\xcc\x72\x54\x4f\xda\x09\x90\x94\x72\x4e\x49\xd4\x46\x8a\xc9\x9f\x60\xa3\xa3\x2a\x53\x4a\x79\x2a\xe7\x8a\xa3\xf3\xf7\x2e\xf5\x62\xe8\x35\xf0\x64\x50\x72\x7d\xe2\x1a\x24\x95\x1b\x66\x41\xa5\x0e\x14\x18\x5c\x5e\xe3\x9b\xc6\xc8\x0b\x47\x70\x86\x36\x18\x92\xad\x5d\x40\xa6\x50\x15\x93\x5c\x69\x47\x10\x84\x29\x46\x11\x9c\x48\x22\xa8\x1c\xaa\x48\x7c\x57\xf9\xf0\x60\x97\x46\xba\x75\x2d\x42\x94\x26\xb8\x13\x83\xe0\x2e\x43\x96\xa0\x05\x04\x31\x44\xb2\x21\xfc\x29\x08\xeb\x4d\xf4\x19\xcb\x4b\x37\x86\xde\x8f\xa1\x0f\x63\x12\xc0\xbe\x88\x93\x88\x09\x2f\x19\x72\xd6\x11\x2e\x02\xe4\xf4\x72\x9e\xf9\x54\x56\xf0\xca\xc6\x1f\x3b\x93\xaa\xb1\xc7\xe3\x2a\xed\x26\x3f\xa9\x54\xaa\xf0\x73\x50\x47\x1d\xfa\xa8\x1d\xe5\x32\x0c\xd3\x5f\xc0\x1a\x68\x35\xe5\x13\x50\xa5\x0d\x79\x54\x2f\x6b\xf2\x6b\x7e\x93\x7f\xb2\xa8\x92\x4a\xab\xd9\x6c\xaa\x75\xc6\xd1\x68\xc1\xe3\xa1\x6c\x57\x37\xd2\xd4\x34\xf3\x4b\x71\x23\x33\x33\xcc\x59\x89\xb3\xcc\x59\x8b\x32\xcd\x59\x87\x30\xc9\x59\x85\x33\x45\xc8\x26\x53\x07\x9b\x92\x7a\x74\x49\x13\xda\x8d\x38\x3e\x0b\x32\x89\xdd\xac\x71\x0e\x05\x59\x8b\x12\x72\xec\xeb\x51\x71\x59\x56\x46\x94\x69\x33\xf7\x3a\xa1\x8a\x0a\xfe\x26\x2f\x0f\x1a\xe5\xa0\xa3\xf7\xc6\x76\x2c\xd0\x67\x0a\xc1\x72\x2e\xb0\xf1\x9f\x57\xf1\xfe\xf3\x2a\xde\x9f\xf6\x2a\x9e\xe4\x1c\xfd\x5b\x92\xfb\x9c\x5d\x5f\x72\x26\x28\xf0\x1a\x58\x5f\xcc\xe4\x69\x7e\x08\x4c\xa8\xc2\x5f\x9d\xad\x03\xf2\x48\xbb\xe1\x55\xfc\xe5\xde\xfa\x12\x1e\x07\xf5\xa5\xe7\x40\x85\x3a\x12\x4a\xbc\xb8\x0a\x7f\x6b\xf6\x8e\xf6\x7e\x95\x79\x38\x84\xde\x49\xee\x9f\x78\x29\x28\xe3\xf2\x29\x3a\xcc\x0d\x6f\xb3\x87\x3e\xc1\x37\x75\x60\xb5\x91\x4f\x16\xa9\xa5\xe9\x57\xaf\x55\x9f\xa2\x03\x46\x52\x1b\x37\x5c\x5a\xcb\xe6\xff\x13\x72\x57\x53\x20\x06\x69\x04\x59\xfc\x82\x54\x87\xc7\x2c\x14\x79\x65\xd6\x05\xc8\x60\x91\x79\xd7\x49\x34\x5b\xa4\xb0\x52\xb8\x35\x31\x04\x2a\xcd\xe2\x2d\xa8\x79\x51\x59\xdb\xdb\xdb\xdb\x83\x37\x45\x1a\xa2\x35\x14\x1f\xb8\xe1\xde\x57\x7e\x2e\x84\x0c\xa6\xdd\x34\x8d\x83\xeb\x45\x0a\xab\x15\x2f\x0e\xbc\xb5\x69\xe0\xfb\x10\xed\xef\x2a\x68\x84\xcd\x2c\x92\x66\xa6\xe1\xe1\x6c\x65\xbc\x64\x10\xc5\xfc\x72\x86\x7e\xc4\x94\x92\xec\x93\x03\xf2\xae\x88\xf5\xe6\xaa\x3d\xef\x92\xd7\xac\xa1\x53\x64\x27\x30\xba\x81\x69\x7c\x9f\xe5\xe6\x91\x19\x3b\x81\x69\x2f\x5a\x84\x7e\x10\x4e\xfa\xd8\x40\x3e\xa5\x66\x8d\x28\xdd\x0c\x08\xb3\x4b\x3b\x1d\xd0\x44\x1a\x94\x97\x33\x53\xb4\xdc\x5d\x4d\x96\xf0\x81\xc0\x7d\xde\xe9\x00\x05\x15\xcf\x57\x25\x5c\x9d\x2b\x58\xcd\xb3\x8c\x59\xd0\x32\x3c\x93\x8c\x70\x33\x5a\x81\x6b\xa8\x4b\xb6\xb7\xa3\xa9\x17\x27\xc1\x3f\xe1\x88\xf8\xc1\x54\x6c\xe3\x46\xc5\xa4\x2f\x7a\xd2\x29\x61\x46\x68\x25\xb5\x46\x1a\xc9\x6b\xa8\x04\xc6\x62\x42\x0a\x82\x62\x31\x22\x9f\x34\xb4\xe8\x3f\x46\xe4\x7f\x8c\xc8\xa5\x8d\xc8\x5c\x0b\x32\x88\x47\x8b\x99\x17\x9f\x04\x49\x5a\xd0\x84\x14\x5a\x58\x6d\x48\xa1\x4e\xf5\xc6\xbb\xd3\x23\x2c\x96\x33\x1b\x3d\x2c\x78\xe4\x31\x55\x2c\x84\x02\x70\xad\xb2\x94\xba\x42\x7f\x2b\x75\x66\xf0\x95\x2d\x69\x4b\x0a\xbd\x94\xac\x31\x4e\xd4\xd2\x06\x19\xee\xa8\xe6\x97\x25\x98\x65\x89\x0c\x2c\x84\xb7\xef\x4c\x6c\x06\x99\xbb\x4e\x57\xe3\x9d\xd4\x48\xd6\xc3\xa6\xa7\x7f\x78\x34\xb7\xd8\x8e\xba\xde\x52\x5f\x34\xeb\x23\x73\x0c\xff\x45\x90\xa5\xed\xc2\x7d\xa4\x41\x50\x13\x98\xf6\xef\x47\xb3\x60\x44\xd2\x92\x04\xb5\xfc\x6c\x3d\xa2\x30\x60\xd8\xa6\x55\xc7\x26\x03\xdf\xd0\x42\xb7\x09\xc5\xec\x71\x12\x51\x4a\x16\xcc\x82\x40\xde\xa5\xa0\x1f\xc1\x6b\x09\xb0\x69\xd0\x24\x21\x90\xa8\xc0\xf2\xc0\x41\x59\x47\x5d\x19\x2b\x32\xf8\x8b\x90\x70\xcc\xd7\x1d\x45\x5d\x01\x4a\xca\xa4\xcd\x90\xff\x99\x63\x3a\x8e\xe2\x01\xbe\x68\x2e\x3e\xa8\xf6\x0d\x0e\x30\xad\x67\x48\x29\x5e\x7b\xa3\x4f\x63\xed\xb9\x1b\x06\x2c\xd0\xd3\x15\x02\x35\x11\xc3\x50\x98\xa4\x7a\xd5\x6c\x9c\xf1\x72\x81\xa6\xfb\x10\xe7\xd3\x60\xa3\x3b\x6c\xd9\xc7\x37\x23\xb0\x4a\xb0\xe0\x17\x23\x87\xad\x5a\x1d\xb5\xcb\x7f\x8e\xef\x89\x37\x9d\xc6\x91\x42\x34\xc9\x6f\x27\x91\x4c\x41\xfa\x9d\x60\xae\x62\xc2\x0d\xe5\x34\x01\x16\x9c\x89\x09\x67\x9d\xac\xd8\x7a\x94\x76\x3e\x4e\xd0\x21\x6d\x8b\xe0\x9e\x2f\x94\x60\x84\xf2\x58\x25\xe5\xa0\x20\x07\xd2\xae\x82\x49\x19\x73\xb7\x35\xae\xf7\xc0\xa0\x92\xd5\x84\x24\x19\x48\x51\x6d\xe7\x82\x35\x81\xce\x4b\xe1\x29\xec\x33\xe8\x63\xcf\xad\x72\xfb\x49\xd2\x69\xb1\x07\x0f\x45\xc6\x25\x9a\x5b\xb7\x91\x45\x45\x50\xc4\xbf\xb6\x86\xf3\x01\x15\x93\xc7\xf9\x2c\x18\xc9\xbb\x58\x9a\x5a\xc4\x87\x33\x98\xc2\xbe\xe9\xf5\xa3\x20\x85\x37\x89\xf2\xde\x2d\x57\x17\x43\xa4\x7a\xda\x07\xe8\xdf\x57\xc0\x8b\x27\xf8\x60\x85\xab\x19\x30\x34\xac\x0a\x18\xde\xc5\x30\x00\x6b\xa0\x8d\x84\x8a\xb7\xba\x18\x8a\x89\xe1\xe4\xcd\xab\x85\x3e\x60\x7c\xff\x96\xac\x4d\x92\x64\xae\x89\x3d\xb4\x2e\x56\x45\x8c\x92\x42\xb6\x0b\x58\x95\x38\x5a\xc0\x92\x61\x74\x76\x24\x42\x2d\xdc\x20\x43\xf2\xe2\x05\xe1\xa5\x25\x0a\xc0\xba\x74\xd3\xa7\x80\xc1\xeb\x8c\x5d\x6b\x6b\xcb\xb1\x03\xac\xca\x24\x3c\x85\x65\x67\xb2\x3b\x45\x24\xcb\x8f\x1e\xcb\x00\x43\x46\x91\xc8\xa1\x9a\x8b\xd0\x12\x2d\xce\x58\x27\xf7\x97\x19\x50\x4e\xbd\x44\x52\xb1\x2f\xc2\xf4\x3c\xa2\x31\xbf\x2e\x90\x35\xe6\xef\xce\x61\xea\xcb\xa7\xa6\xe9\x56\x3b\x22\x06\x5b\x83\x99\x14\xff\x91\x07\x5f\xd2\x8c\x02\xf4\xfc\x97\x6b\x6c\x23\xc3\xfa\xdb\x91\x87\xd3\x02\xae\x88\x2e\x45\xd4\xe9\xce\xdb\x23\x53\x1c\xf5\x88\x66\x37\x75\x19\xbc\x23\x29\x9d\xb1\x66\x6d\x3f\xcb\xe5\xbf\xe2\x85\x2d\x4c\x6a\xd3\x67\x9d\xc3\xb5\x42\x4a\x7c\x1a\x8c\xd9\x41\x6b\x62\xd2\xe5\x23\x92\xf8\x95\x3e\x57\x65\xe4\xc3\xab\xd2\xa7\x87\x64\xee\xbc\x22\xa7\x91\xe4\x8f\xd7\x1d\x27\x37\x55\x07\xc5\x0a\x69\xc5\xd4\x3d\x88\x16\x29\x88\xc6\x20\xf6\xc2\x09\xd4\x4f\xf6\x64\xbc\xab\xfc\x09\x33\x53\xac\xb6\x82\x87\x7a\xd0\x62\x3e\x01\xc8\x18\x15\x84\x60\x16\x24\x29\xb8\x86\xf7\x51\xe8\x03\x6c\x51\x81\xa6\x1d\x31\x7f\xeb\x4c\x43\x28\x29\x28\xc2\xcf\x4c\xa3\x36\xdd\xda\x34\x61\x2f\xbd\xa3\x69\xcf\xbb\x45\x77\xd0\x13\xf1\xa3\xfa\xcc\xbb\x1e\x9f\x08\xef\xe6\x5e\xe8\x23\xe9\xe8\xa1\x3d\x30\x6f\x3a\xa2\x09\xd3\x98\x00\xac\x59\x04\x9a\xf5\x54\x82\xe3\xcc\xff\x9b\xcd\x60\xb1\x8d\xae\x40\x68\x6e\x3e\xa9\x51\x11\x55\xa9\x62\x32\x65\x07\x04\x05\xac\x48\xa9\x9e\xd5\xc4\x33\x73\xb6\x60\xf6\x4c\xd3\x2a\x35\xca\x37\x2e\x9e\x62\xfc\x8b\x68\x46\x65\xe9\x2b\xb4\xf3\xd1\x0d\xef\x55\x40\xeb\xfe\xc3\xb8\x66\x28\xa7\xef\x02\x25\x25\xb2\x7c\x29\xa7\x8f\x32\x14\xcb\xe9\xbb\xd8\x67\xcb\xf1\xfb\x5f\x2d\xf1\xc1\x61\x74\x43\x75\x36\x01\xf6\x31\x8a\xf2\xf2\x7b\x99\x9a\x54\xd1\xe8\x6a\x9b\x38\x7a\xba\x8c\xfe\x51\x97\x20\xc7\xa7\x39\x21\xe1\x42\xcb\xfb\x16\x84\x3f\x26\xa8\xd1\x97\x07\xf1\x00\xd4\x44\x8e\x98\xbe\x65\x84\x19\xe8\xbc\x22\x83\xea\xc5\x7d\x66\x5f\x21\x62\x1a\xc2\x36\x52\xd3\x42\x50\xb9\xc5\x25\xc7\xec\xef\xe1\x6d\xe1\x40\x51\x15\x02\x46\x39\x8f\xe6\x66\x00\x02\x2b\x2e\x60\x76\x85\x97\xdd\x8d\x1a\xf9\xf1\xa1\xf7\xdf\x83\xfe\xf9\xf0\xf8\x70\xd8\x3d\x3f\x3f\x3d\xee\xfd\x78\x3e\xc0\xc6\xa6\xd6\x73\x3a\x69\xa4\x72\xca\xee\x1c\x46\xc7\x70\x06\xbd\x44\x09\x1f\xd3\xaf\xc1\x85\xbb\xf2\x27\xe9\x44\xfe\xb2\x1b\x2d\x66\x3e\x40\x2b\x2f\xa3\xd0\xe3\xfd\xc3\xc5\xf7\x30\x05\x54\x4a\x0c\x57\x79\xe8\x87\x6c\x7d\x9e\x92\xf5\xaa\x68\x8f\x66\xd0\x0b\xf9\xeb\xac\xda\x65\xb4\x28\x18\x8b\x64\xaa\xd4\x28\x36\x3e\x99\x64\x16\x99\x0b\x82\xf7\x8b\xe2\x8f\x90\xcd\x5f\x25\x3c\x16\x87\xce\x18\x89\x18\x46\xf8\x77\x2d\xa1\x2c\x34\xdd\xed\x17\x65\x62\x1d\x04\x7e\x23\x65\x19\xc8\x5b\x4d\xc3\xf3\x37\x4b\x48\xb1\x34\x12\x79\xb2\xcc\xe8\x1f\xcd\xbc\x24\x79\x4f\x9e\xb7\x16\x3d\xa2\xd9\xf7\x20\x0c\x61\xfc\xf6\xfc\xdd\x89\xf0\x5d\x5e\xa4\x4c\x54\xb1\x08\xc3\xa2\x0c\x41\xc0\x7d\x2f\xf5\xd6\xa2\xeb\xdf\xd6\x02\xbf\x62\x69\x29\x0e\x06\x39\x8b\x62\x4b\x9e\x65\x2d\x30\xd3\x66\x5e\x02\x8d\x18\x2d\x4b\xe1\xe3\xc2\x1c\xbf\x51\x30\xc7\x88\x64\x7e\x48\xaa\x5e\x1c\xd7\x01\xe4\x49\x2b\xe9\x38\x79\x71\xcc\x13\xa3\xa2\x8f\x24\x2d\xaa\x18\x1f\x40\x9a\x63\x0b\x9c\xfc\x7a\xf0\xcc\xc6\xac\xef\x61\x08\xe3\x60\xa4\xf3\x07\xff\x82\x7f\xbf\xaa\x1d\x98\xdb\x5e\x2f\x42\x7f\xc6\x2e\xf9\xff\xbf\x00\x00\x00\xff\xff\xd0\x34\x07\xda\xad\xcc\x0b\x00") func staticJsBundleJsBytes() ([]byte, error) { return bindataRead( @@ -188,7 +189,27 @@ func staticJsBundleJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/js/bundle.js", size: 773429, mode: os.FileMode(436), modTime: time.Unix(1503385077, 0)} + info := bindataFileInfo{name: "static/js/bundle.js", size: 773293, mode: os.FileMode(436), modTime: time.Unix(1503385152, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _staticJsGottyBundleJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\xeb\x73\x1b\x49\xf2\x20\xf6\x79\xf9\x57\xa4\x38\x77\x83\x86\x08\x82\x00\xf8\x90\x44\x0a\xd2\x42\x04\x39\xd2\x8e\x5e\x47\x72\x76\x76\x8f\xc3\x1f\xb7\xd0\x5d\x00\x5a\x6a\x74\x63\xbb\x1b\x24\xb1\x23\xce\x27\xdb\x11\xfe\xe8\x2f\x0e\x7f\xb8\x08\xbf\xce\xfe\xdd\x39\x1c\x8e\xb3\xe3\xe2\xc2\x0e\x9f\xed\x88\x9d\x7f\xcc\x51\x59\xef\xee\x6a\x00\xd4\x63\x67\x7e\x71\x0b\xcd\x48\x40\x3d\xb2\xb2\xb2\x32\xb3\xb2\xaa\xb2\xb2\xb6\xee\xe3\x67\x0b\xbc\xe1\x2c\xf6\xf3\x30\x89\xbd\x49\x12\xcc\x22\x9a\xd5\xe1\x47\xd8\xda\x82\x6b\x3a\x98\x12\xff\xfd\xb3\x24\xc9\xb3\x3c\x25\xd3\x35\x55\xe3\x37\x5b\x5b\x70\x36\xa6\xc0\xcb\x83\x4f\xfc\x31\x35\x72\xaf\x48\x0a\x61\x9c\xe5\x24\x8a\x68\xf0\x8a\xc3\x84\x2e\xfc\x78\x7b\xa0\x0a\x95\x61\xa5\xf4\xcf\xb3\x30\xa5\x20\x91\x31\x4a\xc8\x24\xb8\xbc\x14\x38\x5d\x8a\xd2\x97\x97\x02\xe7\x17\x41\x1d\x7e\x74\x41\x67\xe0\x0f\xc7\xd4\x7f\x0f\xe1\x50\xe2\x1b\x66\x10\xc6\x25\xac\x7f\x13\x0e\xbd\x22\xd6\xe7\x12\xfa\x85\x09\x1e\x7e\xf3\x9b\xdf\xa4\x34\x9f\xa5\x71\xa9\x9b\xba\x42\x93\xde\x4c\x93\x34\xcf\x0e\xcc\x6a\xb7\x45\xcc\x52\x4a\x72\x0a\x04\x62\x7a\x2d\xb1\xf3\x48\x1c\xc0\x74\x96\x43\x98\x43\x18\xe7\x09\xe4\x63\x41\xe2\xba\x59\x9b\x11\x59\xd4\xe8\x2e\x40\x83\xd1\xdd\x42\x3c\xdc\x07\x99\xd9\xb0\x32\xa2\x7d\x18\x92\x28\xa3\x76\xaa\xe8\xc5\x3e\xfc\x68\xe1\xee\x1e\x4a\xd6\xa5\xa3\x1b\xea\xcf\x72\x8a\x58\x0b\xfc\x1c\x43\xfa\x9b\x49\x89\x5e\x3e\x89\x22\x31\x9a\x92\x76\x0d\x01\x41\xfe\xab\xd3\x1d\x9c\x50\xaf\x44\xe9\x38\x22\x23\x13\x1f\x92\x41\x94\x90\x80\x06\x65\x84\x9a\x11\x74\x21\x4f\x67\xb4\x12\xd8\x09\x1f\x78\x06\x4e\x60\x03\xc9\xd0\x80\x6e\x16\x17\x4c\x62\x23\x6f\x32\xc4\x6d\xb9\x15\x5b\x32\x58\x9d\xcc\x24\x66\x06\xc9\xe0\x1d\xf5\x73\xf0\x34\x09\x44\xce\xe5\xa5\xc9\x20\x0e\x0a\x35\x27\xd0\x95\x60\xaa\x44\xb1\xd4\x60\x49\x4e\x5c\x80\x7d\x07\x0f\x56\xb5\x10\x06\x34\xce\xc3\x7c\xae\xd8\x02\x86\x49\x0a\x6c\xf4\xc3\x78\x04\x63\x92\x4e\x92\x78\x0e\xe1\x84\xd3\xf6\x3a\xcc\xc7\x5c\x02\x92\x34\x65\xfd\xf6\x93\x38\xa7\x37\xf9\x12\x84\x42\xe8\x2a\xf8\xde\x15\x89\x66\x94\x29\x35\x31\x1e\xf8\xfb\x00\x2a\xd5\x51\x40\x87\x61\x4c\x61\x44\xf3\x9c\xa6\x36\x9a\x12\x3d\x31\x96\x4b\xb0\x08\x4c\x2c\x14\xef\xc6\x64\x42\x1b\x02\x7a\x41\xad\x84\x43\xef\x9e\x0b\x50\x62\xd7\xae\x17\xb5\xd1\x1b\xe4\x89\x26\x47\xfc\x6d\x9a\x4c\x69\x9a\xcf\x8b\x2d\xda\x55\x7e\xe3\x27\xf1\x30\x1c\xcd\x52\x32\x88\xa8\x53\xf4\x7f\x43\xe3\xd9\x84\x8a\x7c\x26\x13\x85\xec\x11\xcd\xf7\x45\x37\xac\x8c\xdb\x7a\xa5\xce\xab\x24\xf9\x88\xe6\x7d\x3a\x24\xb3\x28\x3f\x42\xa4\x0b\xcc\x91\x4c\xa6\x24\x0f\x07\x61\xc4\xf8\x06\x59\x22\x4e\xe2\x4d\x39\x18\x82\xa5\x97\x0c\x46\x6c\x0e\x06\xaf\x52\x20\x23\x53\xa9\x62\xd0\xa5\x9c\xc0\xd7\x5f\x4b\xf1\xbd\xbc\xa4\x19\x67\x6d\x78\x6a\xf5\x57\xa1\xaa\x3b\xe1\x19\xdc\xc6\xab\x9f\xd7\x02\x9e\x55\xbb\x38\x80\x5b\xd8\xaf\x84\xc0\x9b\xe0\x54\xc8\xca\x70\x2c\xb6\x85\xdf\xb8\xd9\xce\xe3\xbd\x68\x40\x8d\xd4\x14\xa7\x1d\x38\x34\x13\xcf\x3a\x58\x65\x84\x04\x8b\x4d\xd3\x24\x4f\xf2\xf9\x94\x36\xc7\x24\x7b\x73\x1d\x4b\x66\x43\xf5\xbd\x64\x04\x12\x73\x04\xb8\x1a\x6b\xc0\x54\x00\x30\x7a\xba\x4a\x53\xe5\xfa\x0b\x04\x5a\x23\x33\x9d\x0d\xa2\xd0\xbf\x9c\x92\x7c\x7c\x79\xb9\x04\xdd\x29\x74\x61\x7d\xbd\x0a\xe6\xcb\x84\x04\x40\xe3\x3c\x9d\xab\x69\x25\x0e\x64\x0f\xca\xea\x41\x64\xb8\x2c\x18\x57\xdb\xcc\x5e\x6a\xef\x9a\x63\x76\xab\x94\xfb\xa7\x7f\x8c\xae\x78\xe7\x6b\x5b\xf7\xa1\x05\x22\xad\x6c\x0d\x36\x60\xe1\xa4\x0b\x3f\xae\xad\xad\xcf\x32\x0a\x59\x9e\x86\x7e\xbe\x7e\xb0\xb6\xb6\x44\x19\xad\x6b\x41\x5a\x6f\xc0\x8f\x5c\x1b\x73\x05\x03\x4c\x75\x30\x29\x3c\x4c\x26\xd3\x24\x0b\x19\x1a\xcf\x69\x34\xa5\xe9\x65\x1b\xba\x4e\xe2\xb5\xf7\x44\x95\xa3\x2b\x1a\xe7\x47\x93\x90\x31\x74\x75\x69\x51\xf8\xf7\x21\xbd\x66\xe8\x54\x16\xec\x6c\x4b\x4c\xa2\x70\x3a\x48\x48\x1a\x54\x16\xdd\x6e\xc9\xa2\x61\xea\xcf\x22\x92\xbe\x0c\xb3\x6a\xc0\xdb\x1d\x89\x6f\xe6\x93\x29\x3d\xa5\x7f\x9e\xd1\xd8\xa7\x59\x35\x26\xa2\xfc\x8b\x78\x3a\xcb\x9f\x93\x38\x88\x16\xf5\xef\x81\x28\xfd\x96\xa4\xd9\xa2\x72\x8f\x44\xb9\x13\x1a\x07\x34\x5d\x50\xb2\x23\x7b\xf7\x32\x8c\xdf\x87\xc3\x70\x11\xd0\x87\xa2\xe8\x29\x8d\x28\xb2\xd0\x2b\x12\x93\xd1\x22\xe0\x72\x3c\x0e\xc7\x24\x7d\x45\x49\x36\x4b\x69\x35\xe5\x64\xe1\x67\x69\x72\x9d\xa1\x8e\x76\x15\x93\x48\xbc\x4a\x66\x59\x35\x30\xd9\xff\x20\xf1\x67\x13\x1a\xe7\xd0\x05\x8f\xa9\x9a\x64\x08\xd7\x61\x1c\x24\xd7\x70\xaf\x0b\xb5\x59\xcc\x99\x38\xa8\xd5\xe1\xa9\xc8\x68\xaa\x2a\xfb\x10\xcf\xa2\x88\xc3\xf9\xfe\xe4\xc5\xd9\xd1\xe5\xb3\xef\x8e\x8f\x8f\x4e\x2e\xdf\xf6\xbe\x3b\x3d\xba\x3c\x7b\x7e\x72\x74\xfa\xfc\xcd\xcb\x3e\x74\x61\xd7\x2a\xd5\x3b\x3b\x7c\x7e\x79\xfa\xe2\x5f\x1e\x41\x17\xb6\x5b\x2d\x41\x82\xef\x4e\x4e\xdf\x9c\x5c\x3e\x7b\xf9\xe2\xf5\xb7\x97\x2f\x5e\x9f\x1d\x9d\xfc\xbe\xf7\x12\xba\xb0\xc7\x0a\xa8\x09\xe2\x8c\xa6\x93\x30\x26\x91\x97\x4c\xd9\x6f\xb6\x54\x5b\x03\x00\x60\x10\x32\x1a\x0d\x99\xf5\x3a\x0e\xb3\x03\x4c\x0c\x87\xe0\xdd\xf3\xd8\x6f\x6e\x9c\xc5\x3e\xeb\x9f\x04\x51\x97\x75\xd9\x47\xa8\x27\xb6\x0c\x51\x4d\x90\x74\x84\x1d\xcd\xce\x5b\x17\x0d\xd0\xbf\xda\xd6\xaf\xce\x45\x9d\xb7\x76\x8b\x7f\x33\x24\x9a\x03\x35\x42\x62\xac\x0e\x74\x9e\xcf\xd0\x60\x56\xb6\x6c\x47\xa4\xf0\x22\xb6\x14\x37\xcd\x9f\x5c\xed\xb3\xde\xd4\x75\xf7\xc4\x98\x09\x6a\x40\xb7\xdb\x85\x5a\x3c\x9b\x0c\x68\x5a\x33\xbb\xa7\xf2\x8d\x34\xf6\xf1\x93\x28\xdb\x07\xab\xa3\x56\x3e\xc3\x7e\xdf\xee\xba\x95\x3f\xe6\xf2\xb8\x6f\xd1\x43\x95\xb8\x35\x09\xa3\x51\x90\xdf\x3e\x7c\xc0\x25\x31\xcb\x14\x2a\xf3\x3d\x9d\x67\x9e\xa2\x8b\x30\x18\xb2\x7a\x73\x98\xa4\x47\xc4\x1f\x2b\xd5\x0c\xde\x7b\x3a\x37\xfb\xc7\x48\x21\xc0\x9e\xbf\xa7\xf3\x0b\xe8\x76\x91\x39\xeb\x85\xfe\xda\x65\xf4\x10\x98\xe9\x07\x56\x0d\x06\x59\x16\xe3\xd5\xee\x75\x8d\x8a\x12\x47\xcc\x2a\xb6\xb6\xa0\x45\x47\x4b\xb7\x6b\xe5\x6f\x8c\x63\x64\xd5\x32\x8e\xb7\x06\x23\x88\xdc\xa6\x9f\x44\x49\x9a\x35\x23\x1a\x8f\xf2\x31\xf2\xc3\x43\x07\x23\x88\x62\x1a\xaa\xac\xe7\x27\xb1\x4f\x72\x3d\x06\x97\x22\x3d\x8b\x42\x9f\x7a\x0f\xeb\x16\xaf\xd3\x28\xa3\x4b\x1a\x6f\xef\x7d\xbe\xd6\xdb\x7b\x77\x6f\xbe\x75\x97\xe6\x79\x33\xad\x06\x6c\x76\xea\xcb\x28\x81\x85\x1a\x6e\x08\x9b\x9d\xbb\x23\xfa\x19\x47\xa9\xbd\x77\x17\xe4\x98\x42\xa9\x6a\xe8\x40\x97\x28\x89\xaf\x91\x37\x25\x29\x9f\x42\x64\xed\x41\x12\xcc\x99\x78\xcb\xdf\xa2\xc0\x87\x0f\xe0\xa9\xd9\xe3\xa9\x9a\x7b\x9a\x23\x9a\x1f\x45\x14\xd5\xc7\xb3\xf9\x19\x19\xbd\x26\x13\xea\xd5\x18\x90\x5a\xfd\xbc\x75\x21\x26\x9a\xfa\x81\x85\x6f\x01\xdb\xcc\x6c\x6f\x44\x93\x09\xcd\xd3\xf9\x79\xeb\xc2\xa8\xc4\x94\x99\x51\x09\x7f\xba\x2a\xb5\xcd\x4a\x32\x15\xba\x70\xae\x9a\x6e\x68\x80\x17\x65\x11\x14\x4a\xd1\x1c\x50\x4e\xc2\xd8\xab\x05\x24\x67\x4b\x92\x62\xd1\xd2\x80\xcc\x07\x24\xa3\xd0\x85\x96\x81\xca\x3c\x08\xb3\x69\x21\xed\xa6\x58\xa6\xf0\xdb\x9f\xa5\x59\x92\x9e\xe6\x24\x2f\x42\xe3\x39\xcf\xc3\x20\xa0\xb8\x32\x64\xeb\x5f\x8b\xc2\xf1\x15\x4d\xf3\xa3\x24\x32\x12\xff\x3c\xa3\x33\x06\xa7\x56\x33\x12\x33\x3f\x4d\xa2\xe8\x2c\x29\xa2\xc6\xd3\x9f\x25\x79\x9e\x4c\xc4\xb4\xcc\x69\xbe\x09\x6d\x0b\x8f\x2c\x4f\x26\xdf\xd2\x39\xce\x75\xc2\xc0\x83\xae\xb0\x2d\x0a\xe8\x3e\x8b\xc2\xf8\xfd\x8b\x38\xa7\xe9\x15\x89\xca\x85\xc8\x74\x1a\x85\x3e\x61\xb4\xfd\x96\xce\xa7\x24\x70\x74\xcc\x28\x73\x88\x30\x1d\x65\x92\x34\x1c\x85\xf1\xab\x24\xa0\x8e\xcc\x30\xce\x68\x9a\x57\x64\x5e\xa7\x64\x4a\xd2\x64\x16\x07\xa2\x00\xdf\x4b\x53\xf9\x71\x92\x4e\x5c\x98\xfb\x63\x66\xb0\xe6\xe5\x8c\x51\x75\x4e\x44\xaf\xd0\x90\x68\x95\xe1\x30\x3e\x3f\x67\xe5\x4d\x56\x0e\xa8\xff\x32\xf1\x49\x9e\xa4\x26\x03\xb5\x5b\x68\x29\x1a\x49\x57\x79\xa7\xe5\x48\xdc\x2e\x27\xf2\xde\x14\x53\x27\xec\x37\x8e\xa6\xa9\x24\x32\x1a\x07\xc7\x89\x3f\x33\xd3\x66\xf9\xb0\x58\x39\x1b\xa5\xc5\xa4\x59\x7a\x73\x95\x17\x13\x29\x57\x18\x56\xd7\xc3\x28\x48\x69\x6c\x4a\x3c\x1d\xa6\x34\x1b\x9f\xe6\x24\xcd\xcb\xc9\x47\x71\x60\x36\x4c\xae\x68\xf0\x87\x62\xc2\x1f\x8b\x09\x87\x49\x94\x59\xa0\x48\x40\x06\x91\x63\xa4\xaf\xd3\x30\x77\xe7\x04\x74\xd8\xcb\x73\xc6\x77\x5e\x0b\x1e\x3f\x46\xdd\xff\x01\xbc\xce\xee\x03\xf6\xeb\x91\xf8\xb1\xc7\x7e\xb4\xea\xb6\x08\x88\x7a\x26\x18\x5b\x0f\x93\x09\x0e\xfd\x85\x5d\x8d\x69\xdf\xb7\x2c\xb3\xc0\x2d\xd3\x94\x0e\xc3\x9b\xa2\x40\x4f\x93\x2c\x77\x24\x87\xc6\x02\x8c\x71\x23\xbd\x2e\xac\xc9\x9a\xe6\x4f\xd3\x50\x95\xc8\x65\xaa\xa2\x5c\x9e\x35\xf9\x17\xaf\xd4\x00\xd7\xb0\x75\x8b\xd2\x7c\xa5\xa6\x54\x89\xfc\xfd\xe1\x43\x51\x32\xb2\xc2\xfa\x4b\x56\x29\xa5\x97\xab\x46\x72\x95\x27\xeb\xe8\x04\x56\x98\x5e\x9b\xeb\xc0\xa6\xfa\xee\xd5\x0b\x23\x4f\x9f\xcd\x86\x43\x84\x62\x8d\x05\x66\xbd\x88\xdf\xa6\xc9\x28\xa5\x59\xe6\x50\x20\x37\xc9\x70\x78\x4a\xe3\xfc\x2c\x39\x24\xb9\x3f\xfe\x6e\xea\x54\x32\x61\x4e\x4f\xf3\x64\x3a\xa5\x2e\x0d\x97\xcd\xd2\x34\x19\x91\x9c\x5e\x8e\xc3\xd1\xb8\x38\x8c\x51\x18\xe3\x69\x14\xeb\x8b\xbd\x62\x6f\x9a\x3f\x3d\x43\x87\x0f\x88\xff\x5e\x74\x10\x8f\xb6\x4c\x6d\xce\x93\xaf\xc7\x61\x44\xc1\x0b\x37\x37\x4b\xb3\x1e\xb6\xd7\x9c\xce\xb2\x31\x07\x39\x88\x48\xfc\xfe\x65\x18\x53\xcf\xb6\x43\x70\x35\xe3\x1a\xa5\x12\xc4\x62\x81\x66\x46\x73\x4e\x6e\x4f\xb7\x58\x9e\x52\x73\x32\xb0\xf5\x51\x3e\x9b\x32\x22\x66\xd6\xe0\xcd\x32\x9a\x9e\x62\xaf\xc3\x78\xa4\x89\x7b\xbb\x16\xc6\x63\x9a\x86\xb9\x5e\x9f\x34\x16\x2d\xd6\xea\x07\x6b\xca\x3a\xd3\xfb\x78\x34\x25\x19\x15\x32\xac\xd7\x32\xb2\x83\x62\x0d\xea\x59\x4a\xe2\x6b\xf8\xa9\x75\xd3\x1e\x0e\x51\x2b\x58\x6a\xe0\x6b\xe0\x19\x07\x6b\xb7\x46\x63\x39\x89\x47\xc9\xa1\x34\xe7\xce\x11\x70\xed\xab\x0e\xdd\xde\xd9\xde\xab\x35\xc4\x4f\xdf\x6f\xb5\x5a\x2d\xf5\x73\x87\x3e\x22\x2d\x23\x77\x87\x98\xb9\xdb\x3b\x7b\xbb\x64\x47\xfd\x7c\xb0\xbb\xdb\x7a\x30\x50\x3f\x5b\x7b\x8f\x1e\x3e\x22\xea\x67\xb0\x1d\x3c\xf0\x87\xea\xe7\xee\xee\xee\x83\xdd\x6d\xf5\x93\x0e\x3b\x8f\x3a\x8f\xd4\xcf\x87\x84\x76\xb6\x35\xe4\xa1\x4f\x1f\xed\xe8\xba\x0f\x3a\x8f\x86\x06\x28\x12\x3c\x18\x92\x87\x06\x56\xb4\x43\x3b\x1a\x32\xfb\xf8\xb5\xb5\x0b\x83\x14\xca\xa8\xf5\xca\xb4\x66\x7c\xac\xf2\x5d\xc4\x13\xd6\x72\xbd\x01\x28\xc4\xad\x9b\x56\xab\x01\xad\x9b\xdd\x21\xfb\xfb\xe1\x03\xf6\x37\xc1\xef\x01\x7e\x1f\x0e\x2f\x1a\x10\x0a\x5b\x50\x6b\xd9\x61\x92\x82\x77\x00\x21\x3c\x86\x4e\x7b\xef\x00\xc2\x8d\x0d\xcb\xce\x9f\xe5\x5e\x7a\xee\x85\xb0\x05\xdb\x7b\x75\xf8\xe7\xb0\x07\x1f\xa0\x75\xd1\x00\x91\x58\x48\x0b\xd9\x2f\x7b\xbb\xa1\xa2\xad\x9d\x52\x53\xac\x17\x0f\x61\x03\x42\xb8\x0f\xed\xd6\x81\x8d\x42\x03\xd8\x7f\x16\x60\x45\x32\x51\x60\xd4\x80\x81\x09\x4f\xac\x29\x50\xae\x6b\x5f\xd5\x60\x03\xc6\xf4\xc6\x4b\xeb\xe2\xcb\x48\x7e\x19\xd4\xdd\x60\x59\x9e\x6f\x01\x84\x2e\xf8\xcd\x3c\x39\xcd\xd3\x30\x1e\xf1\x7d\x4d\x85\x3c\x97\x0c\x5f\xae\x98\x1e\x43\x07\x9e\x42\xad\xc5\x9a\xf5\x61\x1f\x7c\xb3\x09\x59\x58\xac\x60\x6e\xeb\x9e\x29\x8c\x97\xe5\x51\xb7\x96\x47\x66\xd9\xab\x65\x1c\x94\xcc\x72\xd4\xf0\x0d\x07\x2f\xf1\x94\x06\x1f\x21\x51\xa0\x3c\x50\xbb\x65\xa6\xc0\x92\xd0\x05\x9c\x30\x5f\xc4\xb9\xc7\x21\x9d\x87\x17\xcd\x6c\x36\xc8\x04\x79\xea\x0d\xb0\x48\x94\xcc\x72\x3e\x18\xe7\x2a\x89\x7d\x78\x65\x78\xf2\x04\x57\xe2\x5f\x23\xa7\x36\x2a\x4a\x3c\x74\x17\xe0\xf9\x3c\x47\x65\xd8\x5c\x28\x48\x9e\xcc\xf2\x12\xbd\xe5\x06\x89\xda\x7a\xe2\xbd\xd9\x2f\x11\x4a\xa8\x60\x3a\xa1\xfb\xa0\xce\x8a\x1a\xa2\x8a\x5c\x8b\xa8\x73\x3a\x2c\x4c\xd3\x09\x5b\x2a\xee\x43\xed\x86\x7d\x17\xa5\xe5\x8a\x6d\x1f\xce\x1f\xb6\x1a\xd0\xd9\x11\x7b\x56\xc6\x0a\xc2\x02\x23\x97\x48\xf3\x88\x41\x1a\x44\x89\xff\x5e\x40\xba\x0a\xb3\x19\x89\x9e\xd1\xc8\x6e\x77\x9a\x4c\xdf\xc4\xa5\x54\x3d\x55\xee\x43\xbb\xd5\x6a\xa9\x54\x4a\xd9\x62\x24\xb3\x0a\x07\x74\x30\x1b\xd9\x58\xe0\x26\x20\xb7\x9a\xed\xa2\x61\xc6\xcc\xc8\xd3\x3c\x08\x63\x2b\x63\x96\xd1\xe3\x28\xb9\x3e\x4c\xe2\x3c\x2d\x52\x86\x0c\xd8\xcc\xf6\x7d\x18\xe4\xe3\x7d\x78\x68\x4d\x10\xc6\x56\xa0\x99\x3c\x64\xa6\xb9\x5a\x64\x50\xe2\x8f\xbd\x8a\xdd\xb8\x06\x38\xb7\xe1\xec\x4d\xb2\xaa\x2d\xb2\x03\xab\x6c\xb3\x6a\x3f\xae\x50\xe7\xd6\x3d\x9d\x4a\x9c\x2b\xa7\x52\x3e\xef\xd3\x9b\x9c\xa4\x94\xf0\xe2\x5e\x61\xbe\xd4\xd0\x46\x34\x7f\x83\xe8\x58\x10\xdf\xd3\x79\x03\xe4\x01\xba\x32\x54\xee\xb1\x74\x08\xe3\x32\xc6\x75\xdb\x5c\x49\x93\x6b\xb4\xb4\x8e\xd2\x34\x49\xbd\xda\xeb\x44\x2c\xfd\xf9\x21\x2e\x03\xb2\xce\x94\x18\xfb\xb2\x01\xb5\xf5\x5a\xd9\x24\xe2\x1b\xbc\xe6\x1e\x8c\xde\x86\xb4\x36\xe8\x4b\x9b\xd9\xa5\x3a\x0e\x91\x65\x65\x24\x91\x9d\x54\xc9\x7e\x75\x54\xc9\xae\xc3\xdc\x1f\x97\xb6\x80\x7d\x92\x51\xa8\x69\x29\xac\xed\x5b\x5a\x8c\xe1\x87\x08\xc3\x63\x6d\xbc\xba\x36\x6c\xd1\xaf\x28\x63\xa6\x5f\xed\x94\xe6\x39\xb3\x02\xf3\x31\x35\xc4\x9b\xf7\x1b\x22\x66\xbf\xe7\x63\xc2\x5d\x61\xf8\x9e\x3b\x24\x43\xdc\x32\x87\xda\x41\x09\x2e\x83\xb9\xd1\x85\x75\x6f\x1d\x36\x8c\xcd\x90\x0d\x58\xaf\x43\x98\x41\x9c\xe4\x40\xa2\x28\xb9\xa6\x41\x73\xbd\x5c\xdb\x4f\xe2\x2c\x89\x68\xf3\x9a\xa4\xb1\x37\xc9\x46\xf5\x72\x11\x31\xa2\xc6\x6a\x40\x7e\x6e\x4b\x94\x70\xb3\x93\x35\xa0\xce\x2a\xdc\x98\x17\xb3\xf0\x93\xea\x0a\x92\x90\x64\x92\xcc\xd8\x5a\xe6\x2c\x0d\x27\xc6\x8a\x4a\xc3\xd8\x14\xce\x28\x95\x10\x62\x4a\x83\xec\x84\x2f\xd8\xf1\x90\x4a\xef\x84\x6d\xda\xe0\xf5\x6a\xb9\xf8\x31\x9a\xcd\xd3\x70\x82\xdb\x01\x9e\x59\x77\x51\x3d\xb9\x13\xf7\x8a\xe4\xe3\xe6\x84\xdc\x78\x46\xaa\x8d\x41\x63\x31\x02\x72\xfb\xae\x00\xc8\xd1\x95\x6a\x40\x6c\x20\x4c\x8a\x54\xd1\x1e\x0a\x5b\x1d\x5e\xab\x61\x6f\xc0\x55\xc0\xbf\x2d\xa5\x96\x53\x0c\x6a\x4e\xc8\xcd\x4b\xb1\x87\x5d\x35\x8e\x7c\xf3\x48\x1c\x37\x37\xb3\x79\xec\xf3\xd5\x55\x2f\xa5\xc4\xab\x2f\xe2\xd3\x41\x4a\xc9\xfb\xe2\x2a\x4e\xce\x14\x46\x6b\x65\x5e\xb6\xb2\x17\xaa\x0b\xc3\x26\x28\xe8\x0b\xb9\x46\x3c\xd4\x25\x98\xdd\xc5\x39\xfe\xa0\x0a\xd1\x22\x64\xb4\x2a\x5c\x90\xc5\xf6\x55\xd3\x8f\x48\x96\xb1\xf5\x76\x33\x4f\x46\xa3\x88\x7a\xeb\x68\xca\x6c\xf2\xea\x9b\x19\xab\xbf\xc9\xb4\x7c\xca\x28\xbe\x2e\x94\x2e\x3f\xe7\x53\xc9\xb5\x02\x42\x77\x6f\x61\x40\x52\x1b\xf6\x80\xa4\x45\xa8\xce\x6e\x9a\x96\x46\x05\x05\x0b\xab\x6c\xe7\xf0\xba\xe7\x9e\x94\x66\x4c\x54\xed\x21\x70\xce\xf7\x15\xa3\x65\xb2\x86\xb9\x83\x5c\x69\x03\x94\x40\x58\xad\xd1\x98\x59\x62\x81\xd5\x68\x25\x99\x6b\x16\x99\x07\xc8\x62\x0d\x90\x20\xcc\xfd\xb9\x88\x92\xd4\x6e\x55\xee\x70\x7b\xc6\x01\x5f\xa1\x71\xa8\x3a\xf4\x86\xc5\x3b\xe6\x19\xcd\x15\xf4\x32\x1d\xe5\x07\x4f\xaa\xef\xd2\xb5\xcd\x24\x36\xf9\xe5\xb6\xe1\x3e\xcf\xaf\x2f\x1e\xf0\x05\xa4\xa8\x1e\xf6\x32\x9a\x29\x9d\x24\x57\xcb\xd0\x54\x73\x9a\x83\x4e\x96\xa2\x60\x38\x29\x92\x55\xd6\x58\x89\xf8\x7a\xb3\xd1\xa6\xc0\x20\x14\x7b\xe3\x56\x2f\x19\xf6\x12\x93\x24\xc6\x9f\xca\x98\x6d\x40\x0d\xcd\xd9\x9a\x69\x8d\xd3\xab\xe2\x99\x38\xd6\x51\x3b\xef\xc5\x51\x56\xb9\x5e\xc9\x19\xa7\x79\xd8\x6a\x1e\x9d\x1e\x32\xf3\xeb\xfc\x85\x35\xb2\x6b\x56\xed\x32\xf1\x49\x10\x78\x02\x37\x93\x28\xd8\xd4\x38\xb9\xe6\xa3\xeb\x15\xb3\x9c\xa2\x8e\x67\x35\x73\x4e\x07\x5d\xbe\xb4\x64\x61\xf9\x05\x70\x74\x12\xe6\x9e\xa2\xd0\x8f\x98\xc8\xea\xec\xe3\x37\x75\x70\x7e\x5b\xa9\x08\x06\xd1\x6c\xe1\x26\x9d\xbd\xb2\x60\xa5\x8b\x0b\x0b\x36\xa6\xcf\x8a\x50\x96\x0c\x29\x83\xb3\x60\x44\x05\xa5\xf8\x8c\x8e\x3f\xe6\x0d\x9e\x38\x37\xe8\xf3\xd9\xc6\xfd\xcd\x9d\xc6\x5d\x0a\x9d\x7b\xe8\x17\x48\xf6\x8a\xa3\xac\x65\xa7\x30\xca\x82\x68\x1f\x31\xc8\x61\x1c\xe6\xdf\x44\xc9\xa0\x42\xbb\x30\xf5\x7a\x89\xde\x43\xa6\x7e\x65\xa9\x08\xdf\x4c\xb4\x46\x9d\xad\xf6\xcd\xe3\x8f\xb2\x98\x57\xe6\x32\x86\x31\x33\x19\x8f\x18\x3a\xae\x01\x35\x3f\x99\xce\x0b\x2c\x42\xe3\xbc\x28\xf7\x97\xc5\x83\xb8\x22\x0b\x70\x36\x76\x0d\xaf\xe1\xf0\xd7\x64\x8d\xc9\xf3\x1c\x6c\x87\xb3\x5b\x83\x93\xa5\xbc\x53\xaf\x09\x2e\x29\x35\x25\x59\x4e\x05\x88\xef\x53\x32\x9d\x52\x5b\x20\x24\xf6\x52\xae\xcc\xd6\xcd\xba\x66\xf3\xdc\xd3\xd5\x24\x8f\x21\x42\x58\xa9\xd6\x70\x35\x5c\x49\xd3\xe5\x75\x94\x4c\x09\xcf\xae\x66\x98\x1d\x87\x29\x1d\x26\x37\xd6\x76\x6e\x09\x32\x8e\x40\x90\x5c\xc7\x8b\x87\x4c\x36\x81\x19\xcd\xc1\x2c\xcf\xd9\x7a\xbb\x0b\x1d\x97\x7d\x6f\x92\x28\x0d\x47\xe3\xfc\x30\x0a\xfd\xf7\x05\x3a\x5d\x16\xe8\xb2\x70\xc0\xca\x4c\x70\x5b\xf6\x5f\x59\xd4\x4d\x71\x27\x61\x42\xe3\xd9\xf2\x8e\x7e\x19\xfc\x6f\xcb\x3b\x27\xf6\x78\xbd\x0c\xe3\xd9\x92\xd1\x22\xb3\x1b\x9f\xe1\xf2\x51\x83\xd5\x85\xf6\xb2\xd1\x62\x0a\xf2\x8c\xde\xe4\x6c\xed\xf3\x1d\x33\xde\xf1\x50\x5b\xcc\x88\x9f\x7b\xe0\x8a\x73\x11\xd3\x4a\x4b\xe7\x22\x4d\x8b\xf7\x74\xee\xe0\xdb\xa2\x9e\x51\x2e\x3c\xc4\xcf\xc3\x2b\x2a\xbc\x78\xe0\x1e\xd7\x8d\xab\x2b\x1d\x6c\xfc\x3d\x9d\xf7\x93\xeb\x98\x35\x23\x3a\xd1\xc0\xa3\x73\x43\x6e\x4b\x38\x4e\x53\x9a\x2d\x33\x82\x3e\x37\x92\x6f\x59\x9b\x77\xc2\x72\x36\x5d\x82\xe2\xbd\x6b\x92\xbd\x4a\xe2\x00\x0f\x93\xbf\xa5\xf3\x37\x71\xc4\xfd\x61\x58\x59\xe7\xf4\xcd\x37\x33\x0b\x93\xe6\xed\x02\x84\x0c\x1d\xb9\x7c\x6c\xef\x32\x1e\x36\xe0\x65\x03\x52\x41\x44\x50\x5b\x05\x7c\x0d\xaa\xce\xac\x97\xb6\xe9\x6b\x57\x79\x34\x21\x6b\xc2\x24\xf2\x8b\x2e\xf4\xcd\x62\x49\x14\x0b\xcf\x5d\xb8\xbe\x52\x83\xb3\x69\x40\x70\xe6\x58\xde\x22\x2f\xfa\xe9\x4d\xd2\x38\x58\xa9\x3d\x1a\x07\xab\x34\x86\xb9\x49\xec\xd5\x84\x59\x59\x0d\x9b\x77\xc0\xb8\x98\x20\x5d\xf6\x3e\xb2\x19\xcd\x20\x01\xc9\x49\x89\x45\xd0\xd5\x4c\xf8\x57\x70\x6f\x2d\x2c\xd7\xc4\x91\x6b\x00\x7e\xa7\x71\xb0\x82\x8d\x97\xd1\x34\x3f\x49\xae\x2d\xdd\x97\x26\xd7\xe6\xc6\xb5\xd8\x64\x4f\x85\xdb\x3b\xbf\x5a\x63\x6f\xa9\x23\x00\xa5\x49\x7c\xbc\xb7\x2a\x28\xe0\xd5\x82\xf0\xaa\x56\x76\x38\x48\xf9\xe1\x0c\x09\x63\x9a\x32\x23\x97\xc6\xc1\xe1\x38\x8c\x02\x6c\xdd\xe1\xb8\xc4\xcf\xef\x74\xa6\x30\x89\xd2\xe4\xba\xaa\x73\xc9\x94\xda\xfb\xf2\xdc\xd1\xb2\x01\x43\xd3\xec\xaf\xb6\x63\x8d\xcd\x03\x75\x50\x19\x84\x57\xb6\xd7\x0e\x77\xed\xd4\x2e\x9c\x46\xba\x36\x8e\xee\x19\xa9\x0b\xf7\xfa\x65\x2f\xe4\x7d\xe7\x0c\x88\x84\x2d\xd7\x14\x0e\x52\x0a\x03\x43\x6e\x21\xf3\x0a\xcd\xe4\x3a\xa6\x69\x5f\x8e\x89\x38\x6b\xf8\x7d\x48\xaf\x4d\x67\x2b\x7d\xc1\xa1\xb2\xaa\x51\x1c\x3d\x57\xbb\x76\xd5\x65\xfe\xa9\x07\xa5\xbd\x88\x12\x84\x6a\x7e\xa9\xd8\xc2\xc0\x55\xb4\x5c\xd0\xac\x52\x96\x9f\x80\xae\x5a\x70\x13\x0f\x5a\x37\x6b\xf2\x28\x02\x7f\xd6\x0f\x3e\x72\x2f\xad\xd4\x64\x46\xf3\x5e\x9e\xa7\xe1\x60\x96\x53\xaf\x96\x13\xa6\x21\xe8\x4d\xad\x61\xfb\xb3\xc9\x5d\xe1\x23\x45\xb4\x55\xe9\x55\xa8\xe9\xee\xa2\x2c\xe4\x24\x8a\x29\x8e\x2e\x90\xae\xd6\xf4\xc6\xf5\x47\xa0\xaa\x2b\xbb\xb1\xe5\xe7\x4b\x9b\x4c\xe1\x2f\xec\x6a\x25\xe2\xba\x81\xba\xcb\x15\x4e\x69\xa2\x3b\xe0\x5e\xae\x5c\x81\xbb\x2c\xb7\x1a\xa9\xcb\x60\x2d\x3f\x3f\x43\x6b\xde\x01\x57\x4b\xd9\x3a\xb1\x64\x2b\x81\xd5\x10\x34\x61\xb9\x14\x75\xd1\xab\x4f\xf9\x08\x36\x49\x9e\x13\x7f\x7c\x96\xf4\x93\x89\x32\x3b\x1b\x76\x65\x13\xe0\x18\x27\xc9\x8f\xe9\x6e\xa1\xa6\xbb\xc7\xbc\xd0\x8a\x9d\x2e\x40\x34\xeb\x48\x4b\x64\x01\x7e\xb2\x48\xcd\x55\x6f\x11\x76\x9b\x8b\x6b\xda\x9a\x84\xcc\xf2\x44\xdc\x83\xaf\x35\xa0\x96\x0c\x87\x2b\xd7\x22\xd3\x30\x27\x51\xf8\x17\x7a\x87\x8a\xd9\x94\x46\x91\x3f\xa6\xb8\x22\xac\xe1\xc1\xaa\xbb\x5a\x4e\x06\x2f\x98\x86\x2b\xb8\xd7\xaa\x7c\x12\x04\x68\xcd\x33\x12\xd0\x98\xa6\x9e\x63\xf3\xd6\x9c\x35\xf9\xf6\x7b\xe5\x1e\x26\x4e\xdb\xb7\x85\xdd\x96\x65\x2d\x96\xf6\x16\x2b\x1a\x74\x6c\xa7\x55\xb7\x57\x64\xc3\x12\x57\x49\x84\xec\xcb\x1b\xca\x4a\x64\x93\xf5\x1d\xb8\xbe\x50\xb3\xc8\x57\x46\x36\x6a\xff\xaa\xba\xdc\x36\x95\x3e\xb0\xe5\xab\xb6\xcd\x52\x5a\x71\x9b\xc9\x85\x4d\xd9\x65\x79\x29\x75\x0a\x10\x6c\x5d\x43\xd2\xd3\xf0\x2f\x14\x4f\x10\x97\xcf\x90\x78\x8c\xb7\x50\x43\x94\x1b\x77\xb4\x20\x00\x18\x1e\x6a\xea\xd4\xb8\xe4\xa7\x86\x39\xca\xbc\xf6\xca\x46\x9b\x30\xb5\x4a\x0d\xd3\xf2\x14\xeb\xeb\xfb\xaf\x72\x58\xcc\x1b\xb1\x4d\xe3\x57\x51\xaf\x2e\xd0\x5b\x06\x54\x5c\x7c\xe0\xe5\x88\xf0\x2f\xd4\x1f\x93\x78\x44\x83\xc5\xd2\x20\xd6\x3b\x26\x91\xd4\x19\xe6\x6d\x55\x2b\x13\x81\xa3\x6b\x06\x17\x1d\xd3\x57\xaf\x9b\xf2\xab\xc7\x0d\x70\xd7\x7c\xdf\xa8\xb2\x22\x1a\xa5\xc6\x2b\x9c\xe5\x59\x9b\xfa\x96\x73\x53\x7e\x2d\xf9\xe7\x3b\x9c\xe6\x59\xd5\xf2\x5d\xe6\x66\x31\xc9\x44\x1f\xfd\x02\x1a\xe5\x29\x79\x31\xba\x25\x8f\xee\x55\x97\x8a\x97\x56\x6f\xd5\x7d\x0f\x09\x6e\xd9\x92\x71\x31\x02\x31\xbd\xd6\x96\x4d\xc3\xda\x39\xbb\xc9\xcb\x58\x28\xdd\x2b\xb7\x30\x58\xc2\x41\x55\x21\xe5\x8c\x56\x91\xcf\x5b\x76\x32\x1c\xc3\x8d\x9b\x8b\x45\x0e\x96\x4b\x46\xf7\xa6\xa1\x3a\x3a\xaa\x1f\xd8\x00\x4b\x36\x66\x69\xf2\xf8\xac\xcd\x2d\xf1\x49\x11\x7a\x45\x1e\xcd\x98\x67\xe0\x62\x9d\x2e\x8e\x84\x2a\xfd\xdf\xd0\x85\x8b\x66\x19\x19\xe1\x4e\xd2\x1f\x93\x19\x04\x61\x80\x2e\x56\x53\x82\x5e\x5b\x14\xfe\x84\x40\xfe\xa4\x2e\x2e\x43\x18\xc3\x9f\x2a\x96\xd8\x5e\xfd\x4f\xcd\x1f\x62\xc3\xa7\x4b\x02\xdf\xe8\x42\xed\xcc\x05\x2c\x4e\xae\x41\x79\xbe\xe6\x09\xfc\x29\x4f\x67\xf4\x4f\x30\x98\xe5\x80\xdc\x18\xc6\x23\xee\xeb\x86\xa6\x50\xf3\x5d\x06\xdb\xcd\x16\x54\xb4\x10\xe6\x70\x1d\x46\x91\x04\x88\xf0\xd0\x18\xf9\x53\xd3\xa8\x61\x7b\x88\xf1\xea\x06\x7b\xa9\xc3\x52\x75\x17\x49\xef\x94\x0f\x8b\x87\x84\x38\x04\x16\x87\xde\xaa\xad\xa9\xc2\xce\x7f\x69\xbf\xdc\xe1\xa0\xc0\xd9\xc2\x9c\xbd\x46\x34\xd7\x42\x5a\x47\xef\xe8\x88\x4c\x33\xbc\xce\xa2\x2a\x34\xc3\xec\x50\xa6\x37\x20\xcc\x4e\x98\xd6\x66\x5d\xe0\x5c\x60\xd4\xe9\x42\x6d\x90\x24\x11\x25\x71\x0d\x9e\xc2\x3d\x9d\xb3\x6f\x40\x63\xd5\xb0\x28\xc2\xa9\xd9\x07\xa6\xf7\x04\x78\xa7\x23\x44\x49\x56\x6f\xcb\x42\xc9\x96\xb8\xb8\x9d\x6f\xe9\x7e\x6e\x52\x31\x1e\xaa\x15\x76\xa8\xa2\x84\x04\xbd\x20\x28\xf8\x55\x12\x96\xd2\xc0\x60\x50\x78\xe9\xc6\xdc\xa3\x4a\x6d\x57\xbb\x05\x01\x55\x3a\x3b\x75\x6f\xbd\xb9\xb5\x0e\x1b\x80\x00\x61\x03\x6a\x5b\x35\xf9\xab\x7c\xb4\x63\x88\x96\x08\xfd\xc4\xc8\x24\xb1\x72\xb9\x96\x8a\xb6\xbc\xf3\x5a\x73\x0b\x81\x66\x1a\xbe\xdd\xda\x85\xd1\x9b\x05\x67\x4a\x92\x7b\x29\xdf\x25\x3a\x24\x31\x93\x56\x46\x24\x20\x32\xbe\x0c\x13\x98\x64\x96\x03\x61\x36\xdb\x24\x89\x7f\x77\x0a\x49\x0a\x27\x1c\x95\xdf\x9d\x02\x8d\xaf\xc2\x34\x89\xad\x3d\x24\x70\x3a\x46\x56\xf9\x9f\xb8\xe6\xfc\x6a\xc7\x13\x97\x01\x85\x0a\x9c\xcd\x7a\x68\xae\x29\x14\xd6\x9b\x7c\xcd\x73\x1d\x06\x74\x93\xd5\xfb\xf1\x1a\x7d\xb3\x95\x2f\xa8\x69\x44\x60\x16\xdc\x87\x0e\x6c\xc0\xfa\xf4\xe6\xe0\x76\x1d\x36\x2c\xa6\xf4\x24\x38\x7e\xff\x72\x45\x80\x12\x58\xbd\x0a\x1a\xea\xe1\x27\x10\x84\x57\x3f\x8e\x69\x38\x1a\xe7\x6e\x68\x3c\x4f\x83\xab\x74\xa1\x90\x12\x51\x79\xb8\x8e\xb7\x57\x6d\x85\x62\xed\x48\xe2\x59\x02\xea\x84\xed\x8e\x30\x4c\x25\x9c\x8c\xc6\xc1\x33\x3c\x7a\x2b\x9c\x2f\x30\xb8\xfc\x4c\xae\x01\xd3\xc4\xf0\x89\x92\x07\x75\x30\xa2\xb9\xae\xa9\xf3\xa7\x09\x1b\x6a\x11\x35\x85\x29\xa8\x13\x72\xfd\x6c\x9e\xd3\xc3\x24\x49\x83\xcc\xa3\x57\x1c\xb9\x82\x55\xc3\x43\x7a\x68\xea\xc8\x14\xbc\x24\x2e\xcb\x67\x05\xef\x8c\x7b\xd3\x24\xab\x5b\x63\x50\x3c\x74\x62\xdd\xe3\xe7\x3f\x46\x5f\x0c\x28\xd2\xa9\x91\x5e\x35\x93\x2b\x9a\xa6\x61\x40\xcf\x98\x7a\xfb\xf0\x01\xe8\x15\x6a\xba\xa2\x22\xe3\xee\x7a\xfa\x3c\xda\xf6\xd5\x43\x02\x28\x6a\xf3\x36\x0f\x4a\x25\x0a\x1e\x80\x05\xb0\xb3\xe9\x42\xa0\x72\x08\x57\x02\x78\x3d\xa6\x34\x72\x80\x2b\x54\xb8\x35\x14\x8a\xc5\x1a\xaf\x92\x2b\x5a\xc9\x18\xd0\x95\x68\x15\x58\xe4\x57\xc5\x02\x02\xd7\x0d\x9b\x72\x8b\x18\xa3\x40\x07\x1a\xfb\x49\x40\xd1\x04\x6e\x80\x3f\x2e\x1d\x39\xf2\x55\x8e\xb8\x81\xed\x3a\xe0\xf6\x79\x68\x8a\xce\xee\x6e\xbd\x34\x10\x42\xa7\xa2\x4d\x8d\xc7\x16\x45\x8f\x65\x01\xe0\x09\xb4\x3b\x0f\xca\xd5\x19\x68\x96\x63\xd7\xd1\xd0\xfc\xb1\xd3\xf5\xa8\x30\x69\x14\x11\x6d\xed\x38\x9a\x5a\x15\xd3\xc7\x88\xa9\xe3\x04\xbf\x02\x2b\x28\x39\x2c\x3b\xb0\xb3\x28\xe1\xc6\x4f\x91\x83\x65\x97\x45\xc4\xc0\xfb\xe6\xb0\x05\x1f\x38\xac\x27\xa0\x62\xa1\x54\x15\x7e\x28\x0b\x7f\x0d\xad\x9b\xed\xe3\x62\xf1\x62\xb4\x19\x87\x10\x95\xf9\xac\xc0\x42\xc8\x41\x3a\x30\x40\x91\x78\x82\x83\xbf\xee\xc2\xb6\xdd\xf6\x34\xc9\x9a\x37\xb0\x59\xd6\x09\x2c\x63\xee\xca\xc0\x50\x55\x24\x27\xd0\x2d\xc7\x0d\x33\x5d\xd6\x3a\x3b\xb5\xf2\xe0\x1a\x2e\x1a\xad\x32\xfd\x11\x2c\x33\xb3\xdb\x85\xaa\xca\x34\xb2\x5c\x3c\xaa\xeb\x6f\xaf\x50\xbf\xb3\xa0\xfe\xee\x0a\xf5\xb7\xab\xf8\xbb\x5c\xb5\xba\xa1\x56\xad\x2c\x76\x98\xf1\xd3\x39\x33\xdb\xf8\xe8\x6c\x40\xad\x21\x7f\xe1\x2d\x9c\x8b\x1f\xd2\x42\x3d\x1c\x7e\x74\x23\xc4\x65\xf9\xc1\x42\x75\x76\x5b\xe6\x1c\x1d\x8f\xe2\x0b\x72\xce\x72\x06\x50\x93\x42\xe7\xa3\xc6\x5f\x55\xdf\xf9\xa8\xe1\x57\xd5\xf7\x3e\x6a\xf4\x55\xf5\xed\xaa\xb1\x59\x28\x2f\xb5\x12\xc0\x0d\x01\xd2\x91\x51\x3b\x70\x15\xb7\x10\x84\xa7\xb0\x03\xfb\x2e\x2a\x57\x55\xc7\x81\xbb\x53\xe9\x9b\xd5\x51\x63\xc5\xa7\x6c\x19\xfd\xe1\x43\x05\x4e\x5f\x5f\x17\xaf\x39\xac\xc0\xb8\x3a\x20\x49\x91\x71\xef\xce\x9f\x58\x63\x63\xc3\x51\xba\x98\xb8\xea\x90\xaa\x21\xe4\x74\x31\x25\xfa\xc0\x92\xe8\x57\x1f\xd1\x75\x19\x9e\xe5\xd3\x3b\xbe\x62\x77\x1e\x3b\x07\xd6\x93\x5c\xf7\x35\x6c\xd7\x15\xeb\xa9\xb4\x9f\xb6\x61\x5f\xfc\xaa\xc3\x26\x6c\x3b\xe4\xee\xf3\x70\x58\x15\xf7\xba\xf1\xab\x4d\x6a\xb0\x8f\x74\x5f\x99\xf0\xc6\xc4\x77\x6e\xc4\x8b\xb3\x6c\x3b\xd1\xd1\x8a\x5c\xec\xd0\xa2\x4c\xd3\x77\x7c\xc5\x41\x79\xc5\xf8\x88\x5f\xd4\x6f\x0e\xd3\x64\xc2\x56\xcc\x87\x49\x40\x85\x2b\x37\xcf\xe1\x3b\xae\x15\xd7\xff\xad\x45\x58\xc5\xf2\x2d\x1b\x87\xc3\xbc\x01\x13\x8a\x06\x6c\x9e\x46\x18\x06\xfd\xcb\x2e\x82\x94\x3e\xa5\x57\xd2\xb5\xf3\x1e\xf7\x3d\x77\x1a\x6e\x4f\x61\x43\x15\x74\x16\xd8\x67\x80\xae\xc7\xa1\x3f\x5e\x08\x87\xc3\x52\x45\x37\xa1\x5d\x59\x6c\xbf\xe0\x09\x2f\x3f\x4a\x44\xb5\xcb\xeb\xab\xd3\x17\x47\x55\x37\x04\x55\x47\xcd\xd9\x0d\x9e\x42\x4b\x49\x0e\x26\xed\xc0\x53\x68\xab\xa4\x72\xab\xe5\xeb\x81\x1f\xb1\x48\xac\x9a\xc4\x16\x82\xeb\xbf\x79\x85\x9a\x88\x1f\x89\x2c\x19\xca\x80\xe6\x24\x8c\xe0\x31\xb4\x2a\x86\x71\x6f\xa7\x62\xf8\xf6\x76\x3f\xc7\xb2\xd5\x40\x05\xcb\xf4\x69\x94\x93\x3f\xc2\x93\x2f\x82\x8f\x11\x3e\x92\x49\x10\x6f\x16\xbf\x7e\x4b\xe7\x72\x86\x36\xb7\x9a\x51\xbd\xd0\xab\x26\xfb\xc6\x8b\x3c\xb4\x8b\x30\xe1\xe3\x45\xd8\x37\x5e\xa4\xbd\x57\x00\x93\xe0\xe6\x2d\xb6\xf8\x81\x03\xfd\x80\x15\x0f\x5c\x6b\x86\x4e\xc5\x9a\x81\x41\xf9\xba\x5b\xa8\x57\x58\x00\xea\xd5\xab\x11\x7f\xcc\x05\xa8\x6b\xe2\xa7\x81\xa8\xd1\xf0\xb6\x3b\x4c\x57\xb3\xa2\x8f\x1f\x43\xa7\x5e\x57\x53\x67\x69\xf3\xd0\x4c\x56\x7b\xe1\x34\x5a\xe0\xe2\xef\x5e\x6f\x9b\x57\x32\x16\x4e\x01\xf6\x06\x57\x41\x43\x97\x36\xa4\x57\xa0\x6c\x51\x4b\x76\xb5\x44\x16\x27\x66\x77\xcb\x06\x35\x8c\x40\xb6\x76\x19\x87\xc5\x60\x8e\x91\x05\x2b\x89\xc5\x32\x40\x9d\xe7\x72\x84\x26\xc9\x15\xad\x35\xd4\x36\x4e\x71\xe3\x04\xeb\xc8\xa8\x75\xa5\xf8\xae\x15\x30\x6d\x07\xec\xd9\xb4\x30\x3e\xab\x74\x7d\xb5\x4e\x29\x44\x86\xc3\xbb\xf6\x6e\x69\x55\xec\xc4\x6c\xea\xa8\xb2\x6c\x58\xc0\x38\xad\xb0\x87\x69\x51\xcd\x5b\xed\x90\x8c\x9c\xce\xb5\xdb\x67\xe5\x72\x45\x50\x39\xa0\x56\xe9\x0f\x1f\xa0\xb0\xc5\xe0\xcc\x36\xd6\x91\x1f\x25\x52\x9f\x9b\x06\x77\x15\x74\xd6\x43\x79\x41\x3e\x89\xbf\x67\x2d\x7c\x3c\x82\x79\x32\xf3\xc7\xd2\x11\xfe\xcb\x61\x79\xc6\x9a\xe1\x81\x14\x3e\x0d\x55\x21\x0f\x5f\x18\x53\xb9\x1f\xbc\x3a\xa2\xee\x33\x8d\x80\x66\x79\x9a\xcc\xab\xcf\x84\x8c\x78\x90\xae\xa8\x7d\x15\x59\x97\x78\xf9\x47\xc6\xe4\x51\xc9\x63\x15\x6c\xd1\x3e\x76\xbf\x2d\x40\x2d\x9d\xb0\xc8\x12\xea\x8e\xb3\xf4\x4b\xfe\xfa\x6b\xdb\x0b\x90\xbb\xe8\xbc\x4e\x02\x5a\x3a\xfe\x2d\x17\x11\x57\x3c\x2b\x3d\x79\xaa\xaf\xf1\xcb\xe8\x1d\x1a\x49\xe1\x93\x41\xe3\xc0\x3a\xe3\x34\xbd\x39\x4a\x18\x29\x37\x0f\xbc\x1b\x20\x22\x60\x98\x90\x16\xa3\x51\xbe\x51\xb0\x2a\x46\xca\xbf\xd3\x44\x09\x7d\xa4\x64\x38\x44\xac\x8c\x0e\x53\x5d\x06\xa1\xe4\x2b\x05\x65\x57\x51\xfe\x6d\x7e\x92\x5c\x7b\x61\xf9\x68\xb9\x2a\x3e\x81\xba\x41\xed\x64\x41\xed\x89\x6f\xc4\xfd\x2d\xd1\xd1\x8e\x09\xdc\x3e\x28\x52\x59\xdc\x2f\x66\x3f\xe6\xc2\x45\x63\xbe\x84\xb6\xdc\x3f\xc4\xc2\x29\xcc\xf8\x15\xca\xc0\x3c\xf1\xc3\xbb\x0c\x45\xda\x52\x2b\x12\xb6\x91\xaa\xc2\x8b\x54\x04\x95\xd4\xc1\x5c\xda\xc5\x6b\x44\x18\x9f\x65\x73\xd3\x9e\x69\x78\x0e\x06\x5c\xb9\x87\x7b\x81\xae\x11\xc2\x7c\xb3\xa6\xb9\x3f\xae\x61\xcb\xdd\x19\x4d\x72\x2b\x72\x64\x09\x63\x19\xfd\x45\x43\x30\x8d\x49\x7e\xbd\x44\xe7\x59\x21\x82\x54\xbc\x64\x56\x6a\xb3\x10\x49\x19\x36\x85\x07\x93\x11\x6d\x59\x63\x86\x70\xbb\x8e\xc0\x3b\x77\x08\xd3\xa9\x7c\x6c\x1a\xa0\xc7\x74\xd1\x59\xbe\x01\x2f\x9b\x62\x50\xbd\x34\xb9\x6e\x80\x74\xf7\xb9\x0b\x64\x1d\x14\x54\x05\x99\x2e\x8d\x9c\x1e\x59\xa4\xdc\x82\x91\x2d\xf2\xc4\x8a\xe3\xb7\xd2\x38\xda\xdc\x62\x7f\x2b\x13\xa4\x3c\xd2\xaa\x83\x0d\xe5\x08\x65\xb0\x1c\x77\x4c\x40\x0f\x95\x02\x3d\x4c\x6f\x93\x8a\x52\x9c\x29\xca\x6e\x29\xca\xa9\x4b\x77\xac\x3a\x30\x0a\x96\xed\xf3\xbe\x1b\xfe\x78\x61\x36\x6d\x40\x36\x9b\xe2\x81\x2a\xa7\xde\x91\x79\x61\x16\xef\x5f\xb2\x5a\x8f\xab\x06\x8d\xd3\xd3\x35\x68\x0b\x6e\x62\x96\xc6\xcb\xe1\xd9\xa4\xd6\x8a\xd8\xc2\x86\x39\x7c\x4f\xcc\xf1\x2b\x89\x42\x45\x08\xd8\xa2\x16\xe0\x60\xbb\xc0\xfe\x2d\x28\x35\xd1\xca\xa2\x46\x16\xeb\x03\xed\x96\xa3\xcb\x16\x28\x68\x41\x69\x15\x85\xe6\xde\x82\x31\x59\x89\x0d\x0a\xbd\x5d\xe0\xb3\xb7\x88\x61\xde\x92\x51\xc1\x83\x66\x4a\x46\xf4\x30\x99\x69\x6c\x0c\x46\x65\xec\xa5\x0b\xc0\x7d\xf0\xec\xb6\x96\x34\x76\x96\xf0\x20\xf4\x55\xe1\x81\x74\x1b\x9b\x2b\x73\xfc\x59\xa2\x02\xd8\x2f\x07\x6b\x48\xf5\xe6\x2a\x42\x55\xb6\xdd\x4c\xff\x56\x6d\xde\xf1\xe0\xc6\x5c\x39\x1b\x47\x6d\xc5\x40\x6e\x4d\x3b\x22\x24\x33\xf6\xb8\x66\x2b\xc7\x94\x96\x76\xa0\x09\x5e\x46\x75\xeb\x2e\x7c\xcc\xc7\x11\x8d\xb9\x6a\xb7\xb8\x7f\xb8\x5d\x9c\x96\x5d\xd1\xad\x5d\x1e\x89\xf7\x34\x76\x46\xb4\xec\x45\x58\x3b\x84\xa3\x1c\x6c\x5b\x37\x05\x8b\xc2\x27\x65\x34\x3f\x0b\x27\x34\x99\xe5\xcb\x42\x24\x85\x71\x4c\xd3\xef\x59\x3b\x96\x7b\xe0\x12\x6b\x49\xd7\xaa\x74\x8d\xe2\x5d\x64\x34\x92\x3a\xc2\xec\xb4\x98\x45\x5a\x8d\xd2\x8b\x4a\xa2\x65\x11\x8f\x5b\x43\xa9\xa0\x93\x71\xbc\x60\x94\xc5\x4d\x3c\xb3\x43\xac\x18\xb3\xee\xd0\xbf\x80\x43\x52\xf7\x45\xdf\x35\xc0\xcf\x1a\xe0\x8f\x1b\xe0\x27\x01\x6d\x40\xc4\x26\x7b\x7f\x7c\x89\x5e\x67\x0d\x6d\xf2\x59\x2c\xeb\x64\xc9\x32\xba\x38\x2f\x2c\x1a\x77\xe7\xc4\xb1\x94\x2f\x8b\xe1\xef\x2a\x79\xb3\x10\x4c\xf1\xd6\x69\x2a\xa3\x09\xaa\x54\xb9\xdb\x9c\x3e\x8a\x03\x47\x09\xe4\x40\x61\x87\x63\x1e\x0f\x92\xcf\xff\x29\x9e\xaa\x9b\x05\x32\x9a\xa3\xfd\xee\x61\xed\x62\xa1\x92\x1d\x30\x2f\x96\xb0\x8c\x7c\xb3\x1b\x8d\x22\xd6\x6e\x73\x6c\xb9\x04\x7e\x39\xe1\xd2\xb7\x48\xab\xad\xcf\x85\x71\xf6\xab\xc4\x12\x2b\x45\xf1\x0a\x0a\xd9\xe3\x2e\x13\x50\xfb\x21\xfd\xa1\xe4\xd9\xab\x01\xf2\xdb\x80\x87\xf2\x81\x93\x20\xb9\x8e\x9f\x3b\x96\xf4\xbe\xa3\x80\xa9\x0b\x0c\x57\xf6\x6a\x88\x1e\x46\x11\xed\x1f\xbd\x3d\x39\x3a\xec\x9d\x1d\xf5\xf1\x35\x46\x74\x1b\x1f\x50\xe0\x0b\xf7\x00\xb2\x24\x89\x9b\xf0\x36\xa2\x6c\x8a\x9a\x65\x14\x0a\xf0\xcc\x27\x58\x18\xc0\x38\xcb\x29\x09\xa4\x97\xf9\x02\x0f\x73\x24\xcd\x22\x60\xce\x3e\xae\x48\xb7\xc2\xc3\x30\x0e\xc2\x99\x25\x6c\x17\xdd\x0a\x18\xce\xf4\x05\x41\x01\x9f\xcf\xa7\x34\xcd\xe9\x4d\xfe\x32\x8c\xdf\xbb\x50\x29\xbc\xf9\xa3\xe7\x30\xe7\xde\x41\xe9\x56\xbc\xf0\x77\xe6\x1d\x07\x02\x63\xd9\x1e\xb0\xfa\xf2\x99\x35\x18\xd0\x61\x92\x52\x33\x7c\x32\x8d\xd9\xb0\xfb\xf8\xee\xb0\xe3\xde\xbc\xde\x6e\xa8\xe8\x84\x67\xbf\x40\xf4\x91\xb6\x9e\x01\xfb\xf7\x24\x0a\x03\xfe\xba\x8e\x70\xfb\xb6\x87\xcc\xe1\xd9\xfe\x79\x08\x75\xa5\x1a\x56\x0e\xe7\x9f\x8b\x5e\xe5\x3e\x79\x05\x9f\xf6\x8f\xa3\x5b\x4a\x47\x61\x96\xd3\x94\x8d\xc7\x2b\x36\xe7\x14\x98\x2a\xa5\x23\x7a\xd3\x90\xa3\xaf\x5e\x8d\x5a\x6d\x7f\x0a\x35\x07\x07\xfa\x22\x28\xbd\x66\xe2\x6a\xbb\xb2\xbd\x8a\xc9\x63\x41\x4c\x59\xf9\x64\xaf\x6c\x7f\xb1\xe2\x0d\xe8\x32\x4a\x28\x40\xab\xf5\xbd\x9c\xeb\x6e\xc3\x80\xeb\xb4\x21\x56\xe8\xe9\xe2\xfd\xba\x31\xc9\x4e\x8d\xfb\x2f\x8b\xc3\x09\x96\x2e\x50\x99\xb5\x17\x44\x2d\xff\x84\x16\x54\xc2\x19\xde\x55\x5b\x10\x95\x73\x71\x23\x6e\xe8\x76\xc5\xea\xc8\xeb\xbc\x62\x2f\x5a\x10\xe4\xb3\x02\xf3\x5e\x14\x55\x83\x15\xf1\x8b\x0a\xf1\xe6\x4a\x1c\xe4\x9e\x23\xa4\xcd\xe9\xcc\x45\x30\xcc\xf4\x44\xab\xc2\x71\x3f\xc6\xbd\x65\xe0\x0c\x72\x69\xde\x6f\x13\x7b\xb7\xa5\xd8\x3b\x22\x60\x93\x88\xb4\xe3\x2c\x53\x2f\x46\x8a\x72\x6c\x8b\x19\x4b\x52\xa7\xc5\x6c\xad\x78\xcb\xf7\x9d\x16\xf5\xcf\x69\xee\xe1\x8e\x2f\xcd\x66\x91\xb2\x8e\xe9\x15\x89\x66\x24\xa7\x8c\x9e\x96\x69\xae\x0f\x5f\x70\xdb\x12\x2b\xb1\x6e\x23\x95\x2b\x57\x97\x4e\xb3\x4f\x3f\x8c\x54\xb9\x23\xb4\x1a\xfc\xf6\x32\xf8\x25\x2a\x18\xb0\xf5\xb6\x40\x79\xc5\xac\x77\x0c\xca\x85\x4b\x3a\x94\x0f\xb7\x3c\xa1\xb2\xa2\x61\xe9\x46\xc3\xec\x6c\x1c\xa6\xc1\x4b\x7a\x45\xa3\x53\x5c\xbd\xe5\x78\x83\xa6\xc0\x13\x12\xa4\x63\xc5\x2d\x30\xe1\x0d\x95\x8f\x0c\x96\xb4\x7f\x4f\x53\x74\x85\xf6\x8c\xcd\x27\x1d\x8a\x4c\x31\x80\x9d\x5b\x6b\x80\x86\x5d\x2c\x55\x0e\x28\x8b\xc9\x62\x02\x33\x86\x59\xe4\x2e\x26\xa9\x5b\x8b\x54\xb2\x6c\x85\x5e\xb1\x98\xde\xb8\xe0\x86\xcd\x59\xaf\x74\xb0\xcf\x7b\x3a\xdf\x07\xbd\x0f\xae\x57\x49\x8a\x23\x8c\x6c\x4e\x42\x2d\x5b\x93\x84\x07\x8c\xcb\x0a\x2e\x3e\x8f\x1f\x43\x0b\xd0\x09\x8e\x44\x32\xa1\xcd\x13\xa4\xff\xce\xe3\xc7\xd0\xe1\x29\xd2\xe9\xe7\xf1\x63\xe9\x7e\x65\xf8\xd5\xbd\xa7\xf3\xc3\xc2\xe1\x20\x7a\x3a\x3d\x2c\x3f\xae\x60\x20\xe0\xda\x3c\x37\x45\xce\x2d\x70\xcf\x4e\x57\xf2\xb4\xb2\x3d\xce\x96\x83\xed\x1f\xbd\xb4\x01\xb8\xe2\x98\x3f\xfa\x02\xfd\x91\xce\x92\xff\xd2\xf1\x18\xc4\x67\xe8\xd7\xf3\xb3\xa2\x6b\x8e\x21\xc0\xa5\xbd\xae\xaa\x8e\xb7\xb7\xf7\xef\xd8\xee\xe1\xc9\xe7\x68\xb7\xf3\xe0\xae\xed\x1e\x9d\x1e\x7e\x8e\x86\xb7\x1f\x94\x87\x5a\xc9\xd1\xa7\x0d\x74\x1b\xdd\xab\x35\x34\xd8\x80\x76\x9d\xe5\xf4\x1d\x1c\x50\x9a\x86\x96\xc1\xde\xee\xd7\xaa\x7c\x39\x2d\x14\xc5\xf1\x9d\x76\x02\x25\x7e\x1d\x9e\x2e\x84\x3e\xa8\xc1\xfe\xb2\xe6\x77\x5d\x9d\xb8\x5d\xc0\xc1\xf6\x11\x46\xe9\xd5\xd5\x4f\x22\xf5\x9b\x22\x32\x2b\x5d\xc4\x5a\x7d\x24\x17\x83\x77\xb2\x95\x43\x83\x7c\x69\xb6\x3a\xfc\x2c\x6c\x75\xf8\xc5\xd8\x6a\xb8\x0a\x5b\xb9\x3a\xf1\x8b\xb1\x55\x11\x99\xcf\xcc\x56\x8b\xc1\x3b\xd9\xca\x31\xd1\x7e\x69\xb6\xea\x7d\x16\xb6\xea\xad\xc6\x56\xcb\xd8\xc3\x85\xcc\x2f\xc6\x1e\x45\x64\x3e\x33\x7b\x2c\x06\xef\x62\x8f\x9d\xd6\xdf\x9e\x3d\x9e\x7d\x16\xf6\x78\xf6\x79\xd8\xc3\x85\xcc\x2f\xc6\x1e\x45\x64\x3e\x33\x7b\x2c\x06\xef\x64\x8f\xdd\x32\x7b\xdc\x33\x17\x0a\x5f\x7f\x0d\xf7\xf4\xa2\xe0\xd3\x18\xa6\xf3\xd3\xdd\xf1\xdb\xfb\x62\xec\xbb\x5d\xc5\xbe\x8b\xb1\xfc\xe4\x41\xda\xbe\x3b\x15\xb6\x17\x52\xe1\x4b\x88\xf0\xf3\xaa\x9b\xc6\x15\x52\xf1\x09\x32\xe1\x6a\xea\x13\xba\x54\x04\xe7\xa4\xa7\x83\xeb\xbf\x2c\x3d\x8f\xff\x76\xf4\x74\x35\xf5\x09\x5d\x2a\x82\x73\xd2\x73\xfb\x63\x17\xc7\x96\xd3\xd8\xa6\x57\xb5\x85\x0e\x9f\x5f\x0c\x77\x3f\x42\x0c\x77\x3e\x4b\x37\x1d\x6e\x9b\x5f\xa8\x8f\x7b\x77\xef\x63\xbb\xdd\xf9\xdb\x1b\x0c\x6f\xbf\xa8\xc6\x7d\xb3\x18\xbc\x9b\x0a\x0e\x8e\xfe\xd2\x54\xf8\x17\x5f\x96\x0a\x8b\xc1\xbb\xa9\xe0\x60\xf8\x2f\x4d\x85\x93\x2f\x4b\x85\xc5\xe0\xdd\x54\x58\x38\x5b\x7c\x19\x2a\x9c\x7e\x59\x2a\x2c\x06\xef\xa6\xc2\x97\xb3\xc4\xda\xbb\xbf\x90\x29\xd6\xfe\x88\x49\xa0\xdd\xfe\x82\xdb\x83\x0f\x7e\x29\x42\x3c\xf8\x18\x42\x7c\xc1\x9d\x87\x87\xbf\x14\x21\x1e\x7e\x0c\x21\xbe\xe0\xce\xde\xa3\x5f\x8a\x10\x8f\x3e\x82\x10\x9d\x2f\xb7\xd9\xd0\x69\xfd\x42\x84\xe8\xb4\x3e\x86\x10\xed\x2f\x47\x88\xca\x39\xe3\x4b\x13\xa2\xfd\x31\x84\xf8\x72\xd6\x64\xe7\x97\x5a\xc0\x77\x3e\x62\x05\xdf\xee\x7c\x39\x83\xb2\xb3\xf3\x4b\x11\x62\xe7\x4e\x84\x10\xc1\x89\x9d\x6b\x28\x79\xe8\x2c\xb6\x9b\x8a\xdb\x4f\xe2\x90\x5a\xfc\x12\xe7\xd1\x2e\xaa\x09\x70\xe2\x50\x1a\x9e\x74\x61\x6f\x97\x55\x33\xd2\x1e\x77\xe1\x51\xc9\x1f\xdc\xd9\x79\x47\xf8\x1a\x13\xf8\x26\xec\xed\x38\x6e\xda\x97\xe3\x9d\xa8\xc5\xbe\x51\x19\x03\xfe\x38\x1f\x6f\x5c\x09\x0d\xd7\xeb\xef\xab\x35\xfc\xa4\x0b\xbb\xed\x32\x49\x76\x77\x3f\x0f\x49\x76\xdb\xb0\x01\x9d\x07\x9f\x44\x97\xdd\xbd\x8f\xc6\xa5\xfd\x89\x4d\x77\xda\x8f\x3e\xba\xed\x4f\x6d\xba\xf3\xf1\x5c\xd9\x79\xf8\x89\x4d\x3b\x1f\xa6\x5c\xad\xe9\x47\x4b\x9b\xae\xd8\x60\xbf\x57\x3e\x2f\x14\x7c\x69\x8b\x7b\x41\x37\xfc\xad\xa4\x7f\x81\xea\x5b\x22\x05\x1b\x4c\xb2\x3f\x65\x3c\xda\x8f\x56\xd3\x0c\x8b\xb4\xf3\x9f\x96\x9e\x7b\x54\x61\xf0\xa4\x0b\x3b\x0f\x1d\x1a\xc2\x19\xfa\xf4\x2e\x38\xd9\x9a\x62\x67\x39\xcf\x2e\x3a\x99\x29\xf1\x4d\x79\x9e\x30\x18\xe7\x4e\x7c\xc3\x86\x60\xaf\x52\x1f\x1a\xce\xa6\xc2\xb7\xf4\x2e\x9d\x30\xe6\x44\x71\xaf\x5b\x86\x4b\x67\x34\x5c\xe0\x3e\x3f\x42\xcf\x3d\xcb\xa3\x6c\x64\xf9\xbf\x8e\x22\x51\x60\x64\xf8\xb9\xe1\x7b\x26\x54\x39\x57\x8a\x9f\xd9\xf9\xe8\x62\x51\x53\x87\xaa\x96\xd1\x58\x03\x44\x6d\xfb\xfa\x84\x86\x08\x5d\x59\x42\xbb\x69\x5a\x98\x75\xbb\x50\xbe\xf5\xae\x31\xb4\x2a\x57\xb9\x4b\xcb\x77\x41\x17\xb8\xd6\xbd\xa7\xf3\x02\x02\x7f\x3b\xff\xdd\x62\x9c\x10\x69\xde\x08\x2d\x61\xc2\xe1\xe2\x62\x64\x3a\xfd\x50\x55\xc0\xb7\x2e\x8f\x0d\xe7\x84\x20\x18\x77\x31\x80\x7b\xf2\xa2\x9c\xd1\x64\xf9\x2a\xbc\x82\x89\x95\x4a\x10\x97\x93\x01\x35\x3b\x83\xf2\xe1\x03\x78\x9e\x96\xc9\x0f\x96\x73\xe1\x87\x0f\x96\x48\x32\x81\x5d\xe4\xa0\xba\x0a\xfd\xab\xa7\x28\xed\xdd\x69\x3b\x8e\xca\x87\x68\x1d\x6e\xa3\xa6\x73\xe9\xdd\xbd\x4a\xcb\xee\xa4\xe8\x78\x56\x25\x70\x78\xf1\xcf\x7d\xa1\xcc\xe9\x34\xad\x27\x4f\x0c\x58\x62\x12\x67\xf5\xab\x73\x12\x57\xfc\xc1\xe1\x1c\x94\x4b\x61\x86\xf1\xd6\x2e\xf0\xeb\x75\x8e\xf8\x03\xbc\xe4\x06\xbf\x01\x5a\x19\xf0\x9f\x56\x78\xf0\xeb\x2e\x5d\x85\xd9\x8c\x44\xcf\x68\x14\xd5\x0b\x43\x7e\x50\x4d\x11\x3e\x66\xf2\x69\xc9\x7c\x1e\xd1\xe6\x20\x49\x03\x9a\x1e\x26\x11\x06\x42\xa9\x5d\x8f\xc3\x5c\xbe\xe8\xb1\x94\x48\xfc\xad\xb3\x45\xe0\xf4\xd3\xc3\xed\x56\xf1\xae\xf5\x34\x99\xbe\x89\xed\x0e\x60\xba\x0a\xc9\xe6\xa6\x4d\x94\x8c\x96\x90\x26\xa0\x83\xd9\xc8\x4d\x15\xf3\x6a\x00\xbe\x83\xda\x14\x57\xf1\x98\xa4\x39\x33\x58\x7b\xd5\x14\x26\xe9\x88\xa9\xd8\x5e\x9a\x92\xb9\xc9\xab\x51\xe8\xd3\xa6\x4f\xa2\xc8\x93\x0f\xd9\x58\x2f\x44\x39\xda\x10\x01\x3f\x5d\xd9\x0d\x6c\xa6\xda\xad\x3a\x4d\x97\x06\xb1\xf9\xbc\x24\xc1\x16\xbf\x38\x51\xb0\x95\x8f\x27\x4b\x4a\xb3\xf0\x2f\xb6\x6b\xf9\x4d\x03\xe6\x26\x6d\xc2\xec\x35\x79\xed\xdd\xd4\x59\x4f\xf9\xf7\xb9\x43\x85\x16\xb5\xf6\x5c\x86\xa3\x18\xd1\xfc\x0d\xde\xeb\x92\x91\x1f\x06\xc4\x7f\x5f\xab\x3b\xee\xf5\xbb\xca\x31\x5c\x4c\xd0\x78\x33\x3c\x8c\x69\x03\x68\xd4\x80\x90\x5f\x07\x1f\x37\x80\x04\xc1\x59\xf2\x47\x3d\x56\x37\x3a\x0c\x8d\x9f\x44\x78\x95\x7f\xae\x93\xf0\x81\x84\xa5\x5d\xb8\x81\xc7\x66\x00\xee\x1b\x1d\xbc\x88\x77\xd0\xca\x9d\xeb\xdc\x77\x60\xb4\xac\x2b\xbc\x83\xc7\x70\x63\x79\xb6\x8f\xa1\x0b\xe7\x82\xf3\x86\xbd\x3c\x4f\x1b\x50\x83\x5a\x03\xda\x46\xe4\xdd\x10\x1c\xd1\x74\x74\xb6\xb8\x78\x1f\x6e\x6e\x16\xf5\xb2\xc8\x31\xea\x8e\x68\xee\x85\x75\x79\x7f\xba\x80\x8c\x35\x16\x56\xf9\x65\x4f\x11\x94\xe2\x15\x21\xc1\xbb\x70\x63\x4e\x71\x34\x9f\x4d\x4f\xf3\x64\x9a\x79\xaa\x48\xbd\x40\x2d\x7c\xf4\x0f\x93\xf8\x60\xea\x30\x23\x92\x7a\x96\xb9\x5d\x7a\xcc\xa5\x44\x94\x77\x1b\x1b\xc5\x4a\x50\x19\x0a\xea\x31\xcc\x55\xcc\x96\x62\x00\x95\x52\x4d\x7e\xc5\xe9\x89\x11\x2a\xc0\x86\xe5\x0a\xad\x34\xe7\x2f\x14\xb1\x8e\xe1\x8e\xda\x82\xf5\x80\x33\x70\x90\xfc\x70\x18\xc5\x60\xdd\x65\x14\x45\x48\x98\xca\xe5\x29\x54\x06\xa0\x32\x3f\xe5\x45\x5e\xc5\xb2\x6f\x41\x77\xaa\x43\x3d\xb9\xde\x94\x58\xb4\xde\xd1\x36\xb8\x7c\xc2\x5c\x8f\x5e\x25\x33\x97\x9e\x8c\x2c\xc3\xbe\xad\xb6\x4c\x25\x2f\x6d\x6e\xc2\x93\x55\x79\xe9\xc9\x5d\x78\xa9\x50\xd3\xcd\x38\x8b\xf9\x45\x10\x38\x99\x2e\x5f\x3f\x3a\x7a\x58\x02\x67\xc5\x1b\x73\x97\x60\x2c\xe3\x2a\xf1\x51\x83\xe7\xa0\x2b\x58\x02\xae\x2a\x94\x02\x85\x98\xb0\xef\xd1\xa8\xe2\xb5\x93\x24\xce\xc3\xb8\x78\x59\x83\x37\x51\x15\x6e\x90\x46\xab\xeb\x3b\xf4\xbe\xe9\x42\x71\x9d\x38\x87\x27\x5d\xbb\x67\x22\xb9\x0b\x73\xed\xac\xa3\xa7\x1b\x2e\xd8\x8e\xf2\x1b\x5d\x6b\x7a\x2b\x84\xc6\xb8\x61\xcd\xdc\x94\xaa\xb1\xd9\xea\xa6\xd8\x8c\x75\xed\x72\x5a\x78\x3d\xd8\x0c\xde\x65\xe3\xa8\x96\xd6\x8b\x9e\x1d\x5d\xe5\x95\x45\x1e\xc6\x16\xba\x46\x48\x71\x61\x23\x24\x13\x9a\xa7\x73\x35\x1f\xf2\xc7\x8c\x14\x9c\x8b\xd2\x62\x8a\xdb\x2d\x85\x77\x83\xf9\x12\x8f\xd5\xdd\x87\x1b\x8c\x04\x93\xed\xc3\x7c\x41\x78\x4d\x23\x70\x89\x65\x02\x59\xf6\xcf\x5c\xbd\x4a\x6b\xc4\x2d\x29\x58\xe3\x85\xc8\x2c\xf3\x83\xb2\x1d\x64\x84\x38\x71\xd6\xe5\x11\x5b\xe6\x55\xa8\x4e\xc8\x4d\x19\x4f\x6b\xf3\xa4\x80\x43\xab\x3c\x36\x46\x50\x18\xed\x31\x56\xb9\x71\x23\x26\x6c\x3b\xc8\xa2\x65\x18\xca\x10\xf3\xc5\x6b\xc0\xdc\x1e\xce\xc9\x20\x3b\x0f\x2f\x4a\x2a\x53\xc5\x9e\x49\xe9\x15\x6b\xc1\x19\x8e\x12\x2a\x02\xad\x30\xa0\x46\xd8\x52\x09\xd0\x8a\x47\x56\x7c\x4d\x18\xcd\x30\x08\x99\x1c\x15\x2d\xd2\x9c\x0c\x18\x0a\xdf\x87\x41\x3e\x76\xd8\xa4\xa2\x0b\x85\xab\xbd\x6e\x8a\xc9\xee\xd8\xb6\xb4\x49\xaf\x1b\xb5\xed\x62\xd9\x94\x5c\x5c\x39\x70\x31\xdb\x18\x04\xdc\xdc\xbc\xb9\x60\x56\xc6\x0d\xce\xe5\xaa\xa2\xb5\x21\x70\xa3\x02\xcc\xb1\xae\xaa\x32\x4f\x0d\x73\xcc\x8c\xf0\xbf\x0f\xcc\xb2\x6d\x89\xe0\xfb\x37\x55\x2c\x10\xd3\x9b\xfc\x0b\x74\x68\x63\x43\x76\xc8\x18\x9e\xbf\x69\xc7\x68\x4a\x32\x7a\x82\x8f\x0a\x56\xad\x7b\xe4\x32\xc3\x36\xbe\x99\x41\x6c\xcd\xcf\x73\xf3\x2e\x3d\x2b\xb3\x78\x51\xc1\xa0\x1a\x46\x3f\xe2\xc1\xcc\x7e\xaf\x5e\x30\xfc\x05\x07\xdf\xd8\x1c\x7c\x63\xc7\x78\x65\xed\x9d\xdf\xf0\x8d\xd2\x92\x92\x37\x43\x32\xcd\x17\x2c\x8a\x49\x46\x5f\xd2\xe1\xaf\x96\x10\xea\xa5\x1a\xc1\x47\x37\xf6\x3a\xe7\x33\x90\x00\x63\x46\x54\xee\x0b\x18\x9d\xb4\x43\x83\xcd\xcb\x91\xc0\xca\xdd\x34\x28\x96\xd1\x5c\xcd\x8c\x15\x34\xe4\x3f\xea\xe6\x7c\x69\x07\xab\xb5\xa6\xe3\x42\x24\x46\x13\x51\x3b\x4d\xff\xb6\x22\x08\xb7\x57\x7a\x6e\x7d\xb9\xe9\xbe\x5a\xcc\x46\xf8\xf8\x48\xa0\x9c\x47\x39\x0b\x3a\x66\x68\xcd\x40\x28\xd1\xac\xf1\xea\xc1\x56\xe8\x17\xc2\x3a\xa5\x66\x40\x58\x83\xf3\x49\x9e\xf3\xe8\x4d\x69\x51\xf7\x18\x2c\x6b\xa8\x1f\x73\x2d\x7f\x50\xe0\x74\x62\xae\xef\x1b\x52\xa8\xce\x2f\x1a\xe6\x04\xc6\xf7\x5b\x0a\x98\x48\x4e\x6f\xaa\x1c\xe8\x6a\x7c\x57\x98\xf9\x1c\x7a\x23\x2c\x0b\x8d\xd0\xb9\x2c\xbb\x52\x58\xc6\x45\xc2\x15\xa2\xbe\xd8\x94\xaa\x96\x6e\x83\x66\x55\x1b\x20\x15\xa1\x0c\x6d\x7b\x84\xd9\x7e\xe6\x80\xc5\x64\xa2\x54\x15\xcb\x7b\x4d\x26\xd4\x9a\x51\x3c\x2c\xb1\x01\xb5\x5a\xbd\x19\xc6\x01\xbd\x79\x33\x14\x40\x50\x9e\xab\x9a\x75\x45\x46\x37\x77\xd6\x4b\xa1\x31\x83\x30\x23\x83\x88\x9e\xe6\x41\x18\x2f\xdf\x69\x32\xa4\xb7\x3a\x6e\x8a\x65\xbc\xdb\x31\x53\x4a\x61\x2e\x18\x6e\x35\xf1\x20\xd2\xe2\x3e\x9d\x85\x79\x64\x8b\x43\xce\x52\x6c\xf1\x42\x98\x98\xce\x64\x16\xf3\x2b\x07\x88\x11\xb5\xda\x48\x9d\x9b\x71\xac\xe5\x32\xa9\xbc\xfe\x28\xaf\x82\xcc\x0d\x0a\xa3\xb8\xe7\x8e\x17\x68\x1b\x0e\xe5\xc5\x91\x84\x56\x1d\x42\xfe\x8a\xa6\x19\x7d\x51\xd9\x19\xc6\x6c\xef\x4a\x3d\x51\x1b\x8c\x3a\x5c\xb2\x5b\xa3\xe2\x42\x56\x3c\xe1\x9c\x79\x6a\x99\xaf\xf9\xa0\xa0\x42\x1b\x50\x8a\x38\xae\xe7\x95\xea\xea\x5a\x5d\x63\xc8\x91\xa5\x71\x1b\x8b\x51\x9e\x97\x95\xb4\x22\x3d\x57\x1b\xed\xf3\xe5\xe4\x2e\x1e\x10\x5b\x4c\x23\x85\x4a\x2c\xb4\x0b\xbb\x85\x56\x11\xb1\xf7\xa8\xb5\x9f\xd6\xc2\x15\xa1\xf9\x78\x51\x77\x7c\x3e\x5d\x57\x45\x50\x7a\x11\xe7\x34\xbd\x22\x7a\x6f\xa2\x9c\xc5\xeb\xa9\x6e\xe2\x5e\x3e\x5f\x9a\x9a\xa8\x5a\x9b\xfa\x77\x0b\x1b\x68\xd4\x73\xe1\x55\x89\xd2\xca\xb3\xb4\x7a\xce\x22\x9b\xc7\x3e\x8f\xe8\xdc\x4b\x29\xa9\x3e\x6e\x62\xeb\xa8\x45\x23\x88\x96\x3f\x17\x3d\xbd\x9a\xba\x3d\x58\x53\xc5\xc5\x1b\x1d\x0c\x98\x11\x10\xce\x27\xd3\x7c\x96\x52\xeb\xa4\x86\x1f\x98\x84\x19\xfe\xeb\xd1\xa8\x5e\xda\x14\x3e\xa7\xd1\x85\xcd\x92\xcd\x61\x92\x1e\x11\x7f\x6c\x9c\xd0\xc9\xa7\x24\xac\xca\xfc\x8c\x8e\x04\xfc\x29\xda\x97\x61\x96\xd3\x98\xa6\x9e\x1b\x2b\xf8\xf0\x41\x9c\xe7\x8b\xc6\x18\x75\x8c\x1e\x0d\x87\x2b\x74\x89\x46\x62\xdb\xe9\xae\x2d\x1a\x2d\x19\x91\x85\x86\x49\xea\xd3\xf2\xc1\x16\x2f\xc1\x5f\x33\xc1\xe3\x71\xab\x9c\x7b\x5e\xa2\x57\xb8\xa4\xa5\x71\xde\xe7\xae\x96\x52\xd5\xd2\xab\x66\x96\x27\xd3\xb7\x69\x32\x25\x23\x22\x23\xad\x41\xe9\x30\xdd\xc0\x30\x8c\xc7\x34\x0d\xf3\xcc\xc3\x9d\xbc\x06\xf0\x4d\x37\xd9\xbe\x2a\x36\xf4\xca\x0e\x1d\x49\x9c\xe5\xe9\xcc\xcf\xf1\xf0\x0e\xab\x5b\x06\x8f\xe6\x41\xe8\x0a\xb0\x3a\x89\x97\xc4\x4a\x56\xb9\x98\x5e\xc3\xb0\x80\x20\x37\x05\x92\xc1\xbb\x06\xe8\x78\x54\xd2\x58\x4e\x06\xef\xac\x93\x17\xf7\xa9\x0b\xa3\x77\x32\x78\x87\xb6\x55\xb7\x0b\xc5\xed\x48\x41\x9d\xd0\x61\x73\x6d\xb6\x6d\x6c\xca\xce\x0b\x34\x9d\xa0\xdb\x80\x81\x58\xae\xca\x7c\x2b\x22\x66\xd0\x74\xf2\x09\x1e\x70\x1f\x3e\x28\x74\x4b\xa0\x4e\xbf\x0f\xe3\x80\x29\x8a\x22\xc0\x6a\x78\x96\xcb\x0a\x27\x7c\x17\xb4\xa3\x84\x2b\x6c\x97\xd9\x21\x07\x95\xec\x0e\x7f\xfd\x35\xbf\x5c\x2e\xfd\xac\xb8\x13\x88\x72\x3b\x83\x9d\x07\x28\x25\xce\xad\xb4\xdc\x1f\xcb\xc3\x77\xfd\xc3\xd0\x46\x3a\xd1\x4b\xdb\x0d\x18\xb5\x1b\x30\x68\x9b\xb4\x1f\x13\x7c\x5f\xc6\x4b\xdb\x18\xeb\x6a\xaf\x0e\x1f\xc0\x1b\xe1\x8f\x87\xec\xfb\xc0\x38\x28\xd4\xc0\x9a\x97\x3e\xf1\xc7\xf4\x9c\xd5\xbe\x70\x6d\x9e\x99\x61\x2c\xcb\x35\x4a\xe7\xa0\x41\x38\x1c\x42\x17\x5e\xc4\xc3\x30\x0e\xf3\x39\x5b\x54\x40\x17\x36\xdb\x2a\x56\xb6\xdf\x80\xb4\xd3\x80\x51\xa7\x01\x83\x4e\x03\x58\xf9\x83\xe2\x42\x41\x11\xe8\xca\x67\x2d\xaa\x23\xc6\xe2\xb2\xc1\x87\x6e\xa9\xec\x79\x68\x9c\x54\xa6\x1d\x26\xa1\xe7\x2d\x23\x69\xc4\x93\xcc\xf3\xcc\x01\x4f\xea\x18\x49\xa2\x1b\x46\xaf\x83\x30\xcb\x99\xca\x32\xa8\x6f\xf6\xa4\xf0\x44\x1b\xaf\xef\x0a\xcc\x8d\xf4\x08\xed\x8d\xfc\xca\xc7\x0b\x15\xa8\xc7\x9c\xb2\x25\x60\x02\x4f\x4d\xc5\xaa\x66\x6e\xcb\xbc\x5b\xc5\x04\x5d\x88\x42\xc6\xa6\xa5\x7c\xb1\xc9\xe9\x20\x8a\x1d\xb2\xd5\x4d\x20\x7b\x55\xf6\x8a\xe4\xe3\xe6\x34\xb9\xf6\xb6\x5b\x70\x1f\x99\x76\x13\xd2\x4e\xbd\x61\xbe\x0f\xbd\xa1\x4b\xed\x3e\x62\xa5\x46\xac\xd4\xa8\xba\x54\xbb\xcd\x4a\x0d\x58\xa9\x01\x2f\x65\xcf\xe8\x94\xcd\xb7\xa8\x4f\xc3\x1c\xe7\xb0\x24\x36\x27\x26\xa6\x52\xc5\xac\x5c\xf4\x91\x00\x23\xcf\xd3\x95\x1d\x9b\x18\x2d\xce\xc2\x86\x7a\x2e\x72\x2d\xab\xce\x2d\x30\x3f\x89\x1b\xc0\xd5\x33\x3a\x0e\x24\x83\x77\x3a\x6c\xbe\x46\xfb\x9a\x64\xaf\x92\x98\xdf\x7d\xf8\x96\xce\xdf\xc4\x11\x37\xbe\x0c\xb7\x40\x81\x65\xd1\xcd\x76\xcf\xd4\xa0\xc5\xcc\x07\x8b\x32\x1f\x5a\xda\xff\x3d\x9d\x67\x8c\x3c\x26\xb5\xde\x0c\xde\x51\x1f\x9d\x62\xb3\x12\xb5\x8c\x3c\x4f\x77\x4a\xf8\x2e\xa2\xc3\x59\x66\xbc\xe6\x8b\xf4\x7b\x4f\xe7\x10\x22\x9d\x8b\xf3\x97\x00\x66\x45\x94\x7d\x73\x1d\xb3\xc9\x9e\xa6\xf9\x9c\x93\x12\x47\xf5\x3d\x9d\x97\x82\xd8\xb2\xb6\xf8\x6e\x91\x76\x5a\xab\x10\x08\x56\xd4\xd2\xcf\x48\xe5\xa3\x49\x98\xe7\x68\xfa\x9a\x3f\x2f\xdb\x56\xae\x61\x81\x4a\xc3\x82\xc9\x9f\xf8\x6a\xe4\x62\xf0\xd8\x24\x36\x53\x50\x82\x13\x26\xc0\x86\x7d\x2e\x02\xba\xf1\x2f\x07\x6b\x93\x24\x98\x45\xb4\x49\x6f\x98\x09\x9c\x19\x6a\xef\x60\x6d\x6d\x6b\xeb\x2b\xc8\x92\x59\xea\xd3\x57\x64\x3a\x0d\xe3\xd1\x77\x27\x2f\xbb\x37\x38\x5d\xbe\xcb\x9a\x13\x32\x5d\x5b\x5b\xdb\xba\x7f\xff\xfe\x16\xdc\xd6\x1b\x6b\x5b\xf7\xa1\x0d\xf7\xb7\x44\x8a\xb2\x3e\x3d\xde\x42\x03\x44\x13\x0d\xb8\xbc\xbc\xa6\x83\x29\xf1\xdf\x5f\xa6\xf4\xcf\xb3\x30\xa5\x97\x97\x8c\xb6\x6b\xeb\xb3\x8c\x42\x96\xa7\xa1\x9f\xaf\x1f\xac\xad\x89\xd1\xe1\xe1\x19\xe5\x98\x78\x0a\xca\xfa\xe5\x25\xcd\x5e\x21\xec\xf5\x06\xfc\x08\x57\x24\x9a\xd1\x7d\xb4\xb6\xd1\x3a\x3d\x58\x63\x5c\x51\x20\xb4\xc3\x6b\x4d\xa5\x98\x45\xcb\xb6\x99\x7e\x45\xce\xfa\xf9\xe1\x83\x3a\x9e\xe1\x23\x6e\x42\x31\x38\xab\x10\xda\x97\x9b\xbc\x91\xb0\x80\xab\x1a\x3b\x67\xc5\x2e\x0a\x4d\x8a\xc4\x0f\x1f\xac\x37\xab\xcb\x25\x38\x6b\xaa\x26\x04\x8e\x07\x0b\x91\x44\x86\x59\x05\x4b\x6d\x6d\x5b\x6d\x16\x45\x64\xf1\xd3\xdb\xc9\xe0\x9d\xb3\x6f\x07\x56\x29\x97\x49\x0a\x0b\x9d\x81\x0a\xa6\xa9\xc4\x9f\x91\x8c\x27\x37\x55\x92\x99\xef\x3a\x96\x67\x0d\x8b\xf7\x40\xc2\x46\x29\xae\x86\xab\x8b\xe0\x3a\x3e\x5f\x48\x75\xbe\x24\xea\x45\x91\x5c\x10\x65\xa5\x41\x28\x92\x7e\x39\xe5\x03\x1a\xd1\x9c\x2e\x24\xee\x2a\xb8\x25\xc5\x29\xb8\x9a\x25\xcc\xd5\x6d\x11\x9b\x8f\x73\x01\x94\x1f\xbe\x91\x30\x1c\x8a\xc6\xad\xd7\xd8\xc1\xdc\xcb\xe5\x48\x19\xfe\x81\xca\x1f\xb0\x3c\x32\x49\x6c\x70\x81\xaa\x7b\xe0\x30\xd3\xb3\x66\x12\x17\x9b\x5e\x4c\x35\x3a\x09\xf3\x85\x63\x68\xd0\xc3\x14\x62\x35\xdd\x5f\x8a\x43\x8b\x4b\x36\xe1\x2b\xb2\xa8\x69\xff\xd2\xf1\x00\x22\x03\x77\x7e\x19\xc2\x26\xb4\x99\xc6\x50\x95\xce\x2f\xc3\xd2\x98\xc3\xdf\x4e\x82\xef\x68\xc1\x00\x97\x39\x26\xa3\x4b\x47\x71\xf1\x18\x44\x2b\x09\x93\x39\xca\x95\xfa\xf5\xd6\x5a\xf0\xdb\x93\xf3\x2d\x9e\x0d\x89\x49\x69\xd1\xb4\x5e\x35\x9d\x5a\xe8\xbb\x67\xd5\xce\xaf\x68\x56\x65\x43\x79\xd8\x3a\x58\x33\x26\xd2\x43\xb5\x12\x39\x6c\x35\x5f\x7f\xf7\x12\xba\x50\xfb\xe1\xa6\xd5\x12\x8e\xde\x87\xad\xe6\xe9\x9b\xe7\x22\xb1\x6d\x24\x9e\xfd\x41\x24\x76\x74\xe2\x91\x4a\xdc\x36\x12\xdf\x9c\x89\xc4\x1d\x23\xf1\xf5\xbf\x10\x89\xbb\x3a\xb1\x77\xf8\xad\x48\xdc\xd3\x89\xcf\x8e\x24\x4a\x0f\x8c\xc4\x53\x91\xf6\x50\xa7\x3d\x97\xcd\x3c\xd2\x69\x2f\x8f\x45\x1a\xd1\x69\xbf\x97\xe5\x06\x3a\xed\x58\x96\xf3\x75\xda\xe1\x89\x48\x0b\x4c\x52\x88\x34\x6a\xa4\xbd\x10\x69\x43\x9d\xd6\x7f\x79\xc4\x13\xdb\x06\x1d\xfb\x87\x6d\x91\xd8\x36\x13\x3b\x22\xb1\x63\x26\x6e\x8b\xc4\x6d\x33\x71\x47\x24\x1a\x74\x7c\xdd\x13\x24\x6b\x1b\x74\x3c\xfd\xe3\x6b\x91\xb8\x67\x8e\xcd\x33\x91\x68\xd0\xf1\xb0\x27\x4b\x1a\x84\x3c\x7a\x25\xd2\x0c\x42\x9e\x7e\x27\x6b\x1b\x94\x3c\x3a\x3d\x14\x89\x26\x29\xc5\xd0\xb4\x0d\x52\x7e\x23\xd3\x0c\x52\x9e\xc8\x34\x83\x94\xdf\xc9\x34\x83\x94\xa7\x6f\x79\x5a\xc7\xa4\xa4\xe4\x89\x07\xac\xe0\x6d\xdd\x3b\x6c\x41\x57\xca\x52\xf3\xb0\x85\x57\x70\x8c\x9f\x6c\x7d\x5a\x47\xa3\xb2\x42\x8a\xed\xab\x7b\x15\x82\xbc\xfd\x2b\x12\x64\xd5\xb9\xe7\xbd\x93\xd3\xa3\xb3\x53\xb1\x04\x97\xc9\xfd\xa3\xe3\xde\x77\x2f\xcf\x2e\x45\xb6\x49\x1c\x51\xe1\xbc\xf6\xac\x76\x51\x86\x73\x5e\x6b\xd5\x2e\x54\x70\xf6\xda\x9f\x6a\xfb\x50\xfb\x61\xd6\xd9\xf5\xf7\x6a\x3c\x00\x7b\x8d\xc8\xa4\x47\x1d\x99\x34\xe0\x49\xad\x56\xeb\x91\x4c\xf2\x55\x92\x2f\x93\x02\x95\x14\xc8\x24\xaa\x92\x88\x4c\x1a\xca\xa4\x41\x4b\x26\x8d\x54\x52\x5b\x26\x8d\x05\x12\x3b\x9d\x1d\x99\x14\x2a\x58\x03\x99\xf4\x4e\xa2\xda\x7e\x28\x93\xde\xab\x24\x05\x3e\x92\x49\x1a\xd5\x89\x2a\xa5\xc0\xc7\x32\x69\x5b\x95\x4a\x44\xd2\xf6\x40\x61\x3f\x55\x49\x0a\x89\x3f\x2b\xf0\xaa\xc5\x54\x95\x52\xb0\x32\x95\xa4\x88\x93\x2b\x24\x54\xa9\x99\x4c\xd2\xdd\xbe\x52\x78\xa9\xa4\x6b\x55\x4a\x55\xbc\x51\x48\xa8\x41\x9b\x8b\xa4\xce\x9e\xaa\xf8\x17\x95\xb4\x2b\x93\x7e\x14\x54\xdd\xf6\x15\xf6\x1f\x54\x29\x95\x74\x2b\x69\x4f\xb6\x65\xd2\x4f\x6a\xd0\x1e\xd4\xd6\x6e\x5d\x8c\xd6\x33\x19\xed\x2b\x56\xfc\xaf\xff\x63\x45\xd1\x67\x58\x94\x3b\x62\x96\x73\x77\x5c\x80\x04\x1a\xbf\xc5\x9f\xff\xaf\xfc\x79\xce\x7e\x86\xef\xe4\xcf\x1f\x7e\xc0\xec\xff\x47\xfe\xbe\x60\x3f\x3f\x58\x7d\xff\xeb\xbf\xb1\xfa\x3d\xb4\xba\xfc\xd7\xff\x68\x75\xf7\xaf\xff\xbe\x02\xff\x43\x86\x21\x16\x2c\xe7\xed\x1a\xd8\x6b\x1c\x7f\xfe\xcf\x6a\xfa\xc1\x03\x81\xe7\xcf\xff\xb5\x99\x86\xb8\xfe\xfc\x9f\x9b\x49\xff\x80\x49\xff\xca\x4c\x42\x01\xfe\xf9\xdf\x9a\x49\xd8\xad\x9f\xff\xb5\x99\x84\x5d\xfb\xf9\x3f\x98\x49\xd8\xbf\x9f\xff\x27\x33\x09\xfb\xf8\xf3\x7f\xac\x49\xab\xaa\xdc\x97\x93\x65\x23\xf1\xf3\x7f\x67\x8d\xc4\x5f\xff\x9d\x3d\x12\x3f\xff\xa3\x35\x12\x7f\xfd\x47\x6b\x28\x54\x37\x04\xbe\xff\x97\x35\x16\x3f\xff\x1b\x7b\x2c\xfe\x4d\xc5\x58\xfc\x0b\x13\x47\x17\x52\x3f\xff\x0f\x0b\x91\xfa\xf9\x7f\x91\x3f\x39\xb9\xff\x37\xf9\x93\x93\xfa\xdf\x7f\x3c\xca\x3f\xff\xdf\x15\x28\x7f\x5b\x42\x59\x53\xc6\xe6\x96\x22\xa7\x08\x94\xff\x95\x8d\xd4\xbf\xb6\x91\xfa\x0f\x36\x52\x36\x4f\xff\xfc\xdf\x56\x20\xf5\xc7\xa5\x52\xf7\x8f\x77\x19\x6b\x4d\xa9\x3f\xd9\x94\xfa\xd1\x1e\x22\x8e\xf2\xff\xb1\x90\x8e\xff\x6b\x05\xca\x47\x0b\xc4\x70\xaf\x28\x86\xbf\x2d\x8b\x21\xa7\xf5\x7f\xe1\x90\xcc\xff\xe6\x63\x25\xf3\x5f\x97\x25\xf3\x7f\x2e\x4b\xe6\xff\xf9\xc9\x92\xf9\x2f\xef\x3a\x5a\xff\x7d\x61\xb4\xfe\x2b\x5b\x32\xff\x3f\x5b\x49\xfe\x3b\x7b\x78\xfe\x77\x7b\x78\xfe\xb1\x62\x3c\x9e\x2f\x18\x8f\x07\xee\xf1\xf8\x2f\xcb\xe3\xf1\x4f\x52\x53\x76\x4b\xe3\xa1\x39\xde\xa9\x94\xfe\xed\xc7\x29\xa5\x4b\x5b\x3e\x9c\x3a\xea\x4e\xea\x80\xeb\x28\xb7\x19\x2d\xa2\x27\x54\xd9\xcf\x3b\x9f\x64\x3f\x6f\xdd\xbf\xbf\x06\xf7\xe1\xc5\x64\x2a\x5c\x91\x20\x1f\xcb\x47\x3a\x61\x42\xf3\x71\x12\x34\x20\x1f\x13\xf9\x00\x22\xe5\x05\xe4\x8d\x0b\xc8\x13\x20\xf0\x3d\x1d\x9c\x26\xfe\x7b\x9a\x33\x4b\x9c\x92\x49\x93\x81\xfc\x2d\xc7\x01\x70\x6b\x7c\x8b\x04\x41\x12\x67\x5b\x1c\x88\xf8\x07\x4b\x45\xa1\x4f\xe3\x8c\xc2\xab\x17\x67\x6b\xac\x27\xe6\x22\x9a\x17\xe3\x0b\x69\xdc\xe1\x4b\xf5\xed\xf4\xad\xfb\x9c\x31\xee\xc3\x61\x32\x99\x24\xf1\xef\x4e\x81\xc6\x57\x61\x9a\xc4\xac\x1b\x22\x6f\x0b\xff\x2d\xed\xe6\x73\xb8\x9e\x83\x26\x5e\x8b\xbb\x48\xdd\x1a\xd1\x41\xe6\x53\x9a\x0c\x81\x2f\x29\xf0\x04\x5b\x22\x58\x2b\xe3\x72\xc2\x01\x35\xdf\x65\x10\x66\x40\xae\x48\x18\x91\x41\x44\x2d\x74\x38\x24\xef\xbc\xd6\x6c\x6e\x35\x9b\x5b\x48\x9f\xda\x45\x43\x60\x65\x36\x5f\x84\xfe\x36\x22\x61\x0c\xe2\x50\xbe\xb2\xbb\xa2\x77\xd7\x78\x5e\xdf\x94\x27\x17\x1c\x2e\x5b\xd5\x69\xfa\xfe\x41\x3b\x4f\xd6\xf4\x3a\xaa\x76\xb0\xb6\xc6\x77\xb2\x34\xc5\xd8\x2a\x68\x8d\xa1\x82\xb8\xdc\x87\x9e\xc9\x0c\xa3\xf0\x8a\xc6\x16\x4b\xe8\xd4\x0c\xf9\xa2\x89\xb5\x78\xd5\xdf\x4e\x49\x4a\x26\xf0\x23\x36\x7e\x8b\xd5\x60\x13\xce\x0a\x4c\x35\x90\x4c\x48\x83\x6a\x80\x0a\x96\x62\xc0\x5b\x91\x2f\x20\x8a\x1f\x8c\x49\x39\x47\x33\x38\xfe\x2c\x4d\x69\x9c\xab\xe6\x0a\xb0\x06\x49\x12\x51\x12\xdf\xc2\x20\x0c\xc2\x94\x3f\x01\x48\x22\xd8\x84\xef\xc7\x34\x1f\xd3\xd4\xe6\xff\x6c\x9c\xcc\xa2\x00\x30\xe8\x42\x40\x72\xc2\x61\x2d\xfd\x88\x2e\x09\xfc\x48\x06\xd7\x34\xaa\x46\x04\x5f\x3d\xa6\x41\x01\x87\x94\xc6\x01\x4d\xc3\x78\x04\xc9\x10\xc2\xd8\x4f\x26\xec\xfb\x6a\x48\x08\xb4\xc7\x64\x8a\xef\x93\xc6\x59\x4e\xe2\x3c\x9a\x43\x92\x02\x13\x75\x98\x90\x9b\x70\x32\x9b\x2c\x07\x34\x4c\xf9\xf2\x7e\xce\x90\x68\x1b\x38\x4d\x69\x0a\xed\xd6\x24\xe3\x9d\x62\x9c\x29\xd5\xb5\x18\x8a\xa2\x13\x6f\x43\x50\xa3\x61\x13\xbe\xa1\xba\x2f\xa5\xcd\x1e\x97\xae\x92\xd0\x42\x7a\x17\x6a\xea\x19\xb3\x5a\x1d\x9e\xf2\x55\xfe\xbe\x5d\x4c\x78\xbc\xd1\x74\xd2\x14\x63\xd1\x15\x68\x20\xbf\x8b\xac\xcb\x61\x34\xcb\xc6\xfc\xf1\x69\xa7\x87\x9b\x28\xc7\x5f\x6a\xe6\x55\x78\x2f\x39\x57\xf2\x9a\x6a\xaf\xb6\xaa\x80\x75\x2b\x0e\x00\xef\x25\xc8\xc0\x12\x55\x75\x58\xfe\x72\xc8\x58\xca\x02\x7f\x6b\xf5\x6f\x3a\xcb\xc6\x67\x89\xa3\x83\xa6\x87\xb3\xd0\xc1\x55\xbd\x33\x8f\xeb\xaa\x3a\xa8\xc2\x79\xf0\x72\xb7\x25\x5f\xd1\x6a\xca\x98\xf5\xac\x90\x1b\xa5\x11\x32\x62\x68\x18\xbb\xe2\x46\x6f\x47\x34\x7f\xa5\x1e\xb8\x76\x45\xfd\xe1\x3d\x2d\xf2\x9d\x9b\x5c\x1e\xbd\x6a\x5a\xcf\xa6\xbb\x3b\xc5\x59\xa3\x54\xd6\x81\x1d\x53\x25\x7d\xfe\x40\x7e\xd5\x38\x08\x1d\x88\xef\xcd\x1b\xf0\x24\x1c\x91\x5d\x72\x62\xac\x89\x17\xb4\x6b\x8d\x12\x21\xea\xa2\x2a\xf6\xdb\x14\x90\x02\x87\x27\xb1\xf2\x2c\xb7\xb1\x55\x8e\x14\x8b\x31\xf0\xa3\x24\x53\xed\x07\x94\x8d\xb3\x78\x62\xd4\xd0\x00\xd2\x4b\xb9\x12\x0a\x46\xbc\x58\x0d\x4a\x61\xde\xea\xd3\xea\x79\x6b\x98\x26\x93\xd2\x44\xf3\x31\x13\x17\xc7\x88\x06\x6e\x88\x77\x9b\xba\x10\x04\x0f\xb8\x94\x27\x02\xb2\x39\x8b\x2d\xd7\xd0\xf6\x34\x67\x2a\x62\x01\xad\x4a\x11\x2b\xf7\x5d\x1c\xf8\xe1\xb0\x7a\xe4\x8d\xd1\x32\xf4\xb1\x4c\x28\x2b\x62\x43\xdd\xee\xdb\xea\x96\xf1\x9f\xdd\xba\x62\x03\x97\x93\xec\x62\x8e\x36\x18\x52\x9e\xfc\xea\x96\x1d\xcc\x61\x19\x35\x45\x2b\xc1\x65\x85\x38\x98\xe3\xef\x96\xc8\x3f\x01\x4b\x04\x25\xb8\xf4\xfa\xbf\x25\x08\x2b\xda\x22\xd2\x11\xcc\x32\x6d\xc4\xf9\xec\x32\x10\xcb\xd4\x53\x89\x03\x17\xa8\x93\x5f\x5c\xa7\x14\x49\xea\xd0\x2d\xb6\x5c\x17\x28\xc7\xcb\x5b\x94\x33\x08\x64\x17\x3e\x58\xbb\x65\x4a\xc7\x5e\x06\xef\x7e\x8e\x65\xf0\x71\x68\x90\xdb\x4f\xa2\xd9\x24\xce\x80\xc4\x01\x06\x12\x90\xa2\x12\x84\x13\x1a\x67\x61\x12\x67\xc8\xee\x79\x06\xfd\x37\xaf\xd4\xd5\x81\x35\x40\x48\x5f\x7d\x05\xbd\xe9\x34\x4d\xc4\x32\x77\x13\x4e\x30\x14\xc1\x59\x3a\x8b\x7d\x82\x3e\x28\x0c\xd0\x55\x98\xf1\x8b\x02\xb6\x28\x73\x2f\x76\x09\x12\xc6\x14\x6f\x2a\x0f\xe6\x76\xa9\x34\xb9\x16\x59\xb2\xd1\x4d\x38\xe4\x38\x7f\x64\x43\xd7\x61\x90\x8f\x4b\xed\xf8\x63\x92\x12\x3f\xa7\x29\x6b\x82\x17\xf1\xd0\x0f\x01\x82\x30\x9b\x46\x64\xbe\x0f\x61\x8c\x97\x19\x49\x5e\xc6\x90\x51\x2f\x97\xc8\x30\x62\x71\x08\xd7\x61\x5e\xe0\xb9\xfb\x10\xcf\x26\x03\x9a\x32\x24\x05\xe9\xeb\xd5\x1b\x09\xc3\x30\x67\xff\x2f\xdd\x42\x18\x86\xf9\xe7\xdf\x3f\x18\x86\xf9\xaf\x6d\xf3\x80\xf5\xf3\x93\x77\x0e\x58\xbf\xee\xb6\x6d\xe0\xdc\x25\x90\x32\x3d\x4d\x93\x69\x92\xd1\x6f\x74\x68\x0f\xf7\xb5\x4d\xee\x75\xc3\xf4\x87\x14\x22\xce\x97\x47\xc5\x0b\x3a\x42\x0d\x18\xab\x18\xfc\x9b\x21\x61\xd5\x38\xcd\xe7\x78\xa3\x51\xf4\x65\x44\xf3\xc3\x64\x32\x9d\xe5\x34\xc0\x1c\x6f\x41\x5b\x7a\xbb\xd1\x4a\x7f\x4e\x45\xb0\x80\x29\xc1\x4b\x81\xb9\x57\x6e\x90\xb5\x23\x8f\x9c\x7f\x4f\xa2\x19\xf5\x6a\x5c\x3c\x6b\xf5\x2a\xb0\x18\x75\x02\xba\xdc\xa5\x7a\x42\x6e\xbc\x56\xe3\x8e\x2d\x5c\xcb\xb8\x15\x9b\xd0\x7e\x60\x34\x43\xef\x4e\x89\x72\xed\xb7\x24\x08\xc2\x78\xf4\x7b\x5c\x80\x29\xbc\xe8\x62\x8c\xa6\xbc\xd2\x66\x9e\x4c\x19\x5e\x1b\x77\xae\x38\xc0\x2b\x85\x16\xd1\x6c\x7c\x9e\x27\x1f\x83\x4f\x2a\x86\xe2\x23\x30\x8a\xe8\xd0\x1e\x44\x25\x9b\x26\x5f\x94\xb8\x65\xb3\x4c\x47\x07\x08\xc9\x03\x0e\xc6\x28\x02\x78\x9e\x18\x00\xfc\x24\xce\x49\xc8\x3d\xf5\x70\x18\xd3\xe4\xfa\x50\xa6\x19\xcf\xba\xcf\xd0\x25\xe2\x24\xb9\x76\x95\x6b\x0e\xc3\x34\x93\x8d\x62\xdc\x23\xbb\x01\x1a\xeb\x15\xb8\x86\xd4\x0c\xe3\x98\xa6\xcf\xcf\x5e\xbd\x34\x4a\xcb\x59\x82\x77\x5e\x67\x30\x9d\xe3\x28\x86\x3d\x34\x1b\x8b\x8c\x52\x32\x1a\x90\x5c\x5a\xe8\x96\x79\xf4\x4c\x31\xf1\x40\x17\x6a\x7c\xea\x91\x91\x38\x1d\x28\xb2\x42\xdf\xd7\x0e\x60\x6b\x4b\x68\x7a\x8d\x03\x3a\xe2\xf1\x48\x46\xcc\x50\x44\x59\x6a\x00\x89\xf2\x71\x32\x1b\x8d\x21\x89\x61\x92\xc4\x49\x36\x25\x3e\x57\xc2\x36\xf2\x36\x49\x46\x34\x7f\x96\xcc\x62\x36\x4c\x87\x51\x48\xe3\xfc\x84\xfa\xb9\x57\x6f\x22\xd0\x12\x76\xa5\x6e\x70\x04\x4f\xe8\x15\x4d\x73\xc0\x5c\x18\xd0\x61\x92\x52\xf0\x49\xe4\xcf\x22\x92\x33\x0c\xb9\x3e\x69\x40\x16\xc6\x3e\x4e\xed\x73\xbc\x8b\x42\xd3\xe6\x9a\x63\x0c\x56\x43\x90\xc3\x5c\x48\x3f\x8b\x13\xc4\x98\x88\x9b\xb8\x4a\x94\x8a\x22\xb1\x55\xc4\x46\x2c\xc8\xc4\xf5\xdc\x72\x3d\x4e\xd3\xad\x02\x91\xe5\xea\xd2\x88\x0f\xf5\x23\x0f\xef\xc4\x03\x44\xf1\x08\x4f\xec\x6f\xdb\x21\x51\x73\x90\xb4\x21\xe5\xac\x34\x2c\xba\xa1\x16\x02\x08\x18\x2d\x55\x4c\x64\xbc\x8a\xb1\x62\x95\x55\x0a\x9b\x25\x3c\x42\x95\xca\x15\x21\xad\xd4\x4f\x0c\x41\xa9\xe7\x31\x8e\x65\xd1\x8e\x5e\x34\x87\x56\x98\xd2\x25\x6c\xc7\x61\x66\xd8\xd2\xc5\x16\x8a\xf4\xa8\x80\xca\x6c\x83\x02\xa4\x15\xac\xf2\xbd\xcf\x62\x95\xcf\xa2\x28\xf3\x53\x4a\x63\x40\xeb\x0f\xc5\x56\xde\xb8\xa8\xb6\x10\x55\x2d\xe3\xab\xd3\x5e\x34\xcd\x45\x55\xf2\x0b\x58\x8d\x0a\xf6\xaf\xce\x78\xd4\xbd\xfe\x74\x1b\x52\xf7\xf2\x33\x98\x92\x6a\x65\x7c\x96\x8c\x46\x11\x75\x6c\xdb\xd5\x32\xa3\x49\x46\x74\xda\xbc\xcb\x76\x5d\xce\xe1\x32\x10\x60\xc0\xa8\xd8\xff\x30\x5a\xda\x94\x28\x19\x69\xa8\x4e\x90\x5b\x12\xb6\x8c\x19\x82\xc7\xef\x6a\x97\x76\xde\x78\xab\x8c\xaf\x4f\x79\xcd\xf2\x1e\x5c\x91\x13\x39\x81\x86\xb1\xa1\x76\x04\x7f\x18\x08\x14\xf7\xda\xa4\x3a\x1a\xc6\xea\x76\xb0\x34\x7b\xfd\x88\x64\xd9\xcb\x30\xc3\x30\xc1\xcc\x18\xc8\xbc\x9a\x86\xc4\xec\xa4\xa7\x50\xe3\x7b\x6e\x35\xd8\x87\x1a\x09\xa4\x97\xa9\xc1\xa1\xf7\xca\x58\x8a\xc6\x64\x55\xab\x8a\x5d\xc2\x80\x68\xec\x7f\x97\xf0\x3b\x1f\xc6\x17\x36\x6a\xd5\xba\x4c\xd3\x35\x2b\xd3\xb5\x8c\x6b\xd5\x70\x88\x6d\x88\xa2\x58\xac\xaa\xf4\x1e\x7c\x0e\xa5\x77\x36\x0e\x33\xa1\x43\x60\x9a\x26\x57\x61\x40\x33\x71\x20\x9f\xa1\x02\xe4\x7b\x4d\xcc\x2a\x20\x85\xe3\x78\xf1\x2b\x48\x9c\x07\xf3\x95\x0a\x53\x55\xd3\xdf\xfe\x7e\x42\xff\xf7\x13\xfa\xbf\x9f\xd0\xff\x27\xb3\x2f\xae\xf4\xa1\x94\xff\xde\xdf\x8f\xea\xff\x7e\x54\x8f\x9f\x5f\xef\x51\x3d\x53\x83\x01\x3f\x2f\xff\xdd\xe9\x9b\xd7\x4d\x5c\x59\xaa\x93\x76\x45\x0e\x0f\x0b\x9d\xb7\x2e\x18\xbb\xad\x67\x79\x90\xcc\xf2\x75\x28\xde\x21\x75\x9d\xf9\x3b\x4f\xfd\x11\x58\xfb\xc2\xbc\x7f\x57\x8e\xaa\x6d\x70\x9a\xa3\xfc\x82\x6e\xdf\xd1\x07\x00\xfb\x9d\xe1\x4b\x35\xe1\x70\xee\x9d\xd7\xb2\x3c\x08\x63\x11\xfd\xed\xa2\x5e\x77\xf1\x51\x46\xf3\xd3\xe2\xbb\x0f\x6c\xb9\xba\x6a\x0b\x34\xbf\x14\xf1\x97\xd9\x3f\xb8\x98\x15\x5f\xd9\x32\xb7\xd4\xe8\x2f\xea\x93\x60\x15\x55\x71\xa3\x2d\x3a\xd4\x97\xe1\x69\x79\x2e\x28\x05\xd9\xff\x2c\x2e\x0c\x2b\x82\xfb\xbb\x2f\x43\xb5\x2f\x43\x81\x84\x7f\x77\x6a\xf8\xbb\x53\xc3\x7f\x62\xc6\x5b\x69\x2d\xbc\xc0\x88\xfb\x38\xef\x86\x02\xc4\xbf\xbb\x39\xd0\x85\x6a\x67\xa1\xbf\x43\xa1\xe2\x27\x38\x3e\x3c\xfc\x15\xdd\x9f\x65\xb6\xd8\x37\x4c\x89\x85\xfe\x65\x1b\xba\xae\x56\xbd\xed\x1d\x51\x30\xcc\x5e\x63\xfc\x23\xa5\x5b\x63\x72\x15\x8e\x08\xc6\xf9\xab\x5c\x12\x88\xc8\x82\xac\xfe\x2c\xa3\x69\x6f\xc4\x58\xa7\x8b\x4f\x54\xe1\x7b\x88\x4f\xa1\x16\x27\x01\x6e\x59\x29\x70\x4d\x55\x92\x57\x9c\x46\x24\x1f\x26\xe9\x64\x69\x3d\x59\x50\x5f\x35\x09\xb3\xe3\x30\xa5\xc3\xe4\x06\xba\x70\xef\xde\x4f\x0a\xb0\x8a\x24\x5c\x13\xf9\xb5\xba\x59\xe9\xd5\xe9\x8b\xa3\xca\x1a\x2c\xb3\x86\x6f\x6b\xb9\xf3\xcf\xd2\x30\xa0\x71\x5e\x80\x48\x7c\xe8\x6a\x5a\xeb\x4d\xbc\xf3\xda\x2b\xe2\x87\x71\x9e\x64\xe3\x5a\x03\xd8\x8f\x17\x71\x4e\x23\xf1\xfd\xed\xdb\x43\xf1\x6d\xef\xe1\xb7\xb5\x8b\x86\xa2\x85\x05\xfc\xc5\x94\x04\xd0\x35\xe8\xc4\x86\x23\x7c\x4b\x82\x9a\x5d\x6a\x9c\x60\x04\xeb\x62\x39\x96\x5c\xb3\xbb\x2f\x83\x07\x56\xa0\x2c\xb2\x19\x6a\xdf\x87\x71\x7b\x4f\x7c\xd9\xee\x88\x2f\x87\x47\x95\xb8\xbe\x0c\xe3\xd9\x8d\x81\x84\xa6\x1b\xe6\xd4\xea\xf0\x04\xa3\x3a\xbb\xef\xd6\x3c\x13\x01\x0e\xdd\x57\x6b\x1e\xfd\x8a\x44\x4b\xe9\x15\x3c\xc3\x4f\xd2\x20\x3b\xa1\x11\xc9\xc3\x2b\x7a\x96\x88\xf3\x5b\x0f\x63\x75\x34\xa0\x10\xd8\x94\x07\x60\xe4\xae\x0e\x23\xfa\x07\xd7\xcb\x9f\x0b\x1c\x2b\x6e\xf0\xf9\x4e\x55\x5b\x87\x16\x9b\x5b\x19\xe2\x65\x1a\x11\x7f\x48\x3a\x14\x7d\xfd\xb5\xf2\x2d\xba\xd7\xed\xf2\x77\x10\x83\xc4\xc7\x20\x2c\xea\x4b\xc9\xcd\x03\xe0\x06\x36\xbb\xca\xa3\x2a\x19\x0e\x33\x9a\xbf\xa4\x43\xe3\x7d\xaf\x79\xb9\xc0\x59\x32\xd5\xf9\xb2\xd5\x2e\xd4\x78\xee\x5b\x3c\x5d\xaf\x41\x18\xab\xbc\xa7\x05\x00\xbc\x08\xec\x83\xd3\x33\xc4\xa4\x8b\x20\xd7\xf9\x4d\x03\xe6\x17\x07\x6b\xb7\x8a\x1d\xab\xc7\x06\xba\x0b\x06\xce\x35\xba\x72\x30\xad\x53\x7d\x30\x9e\xe0\xc1\x67\x6e\x0e\x93\x99\x2a\x84\xdf\xc2\xec\x14\x9f\x12\x0e\x13\xeb\xdc\xc0\x47\x98\x0b\x91\x70\x35\xa8\xce\x6c\x59\x0d\x5c\x3b\x73\x57\x15\x9f\x86\x91\xe7\xe9\xe4\x0d\xa6\x48\x55\xc3\xf0\xd4\xc4\x93\x9f\x80\xc3\x16\x74\x60\x1f\x5a\xf5\xba\x38\xe2\xb5\x72\xed\x76\xda\x76\x3b\x3a\xd5\xae\x39\xb6\x8f\x95\x0b\x28\x4e\xc2\xd8\x53\x6e\x35\x2a\xb7\x01\xed\xba\x26\x1c\x3e\xab\x55\xd1\xb4\xab\x7e\x5b\xd4\x97\xe4\x36\xea\xcb\xe8\xf7\x58\xd0\xc9\x12\x26\xf1\xed\x01\x3f\x21\xd7\xcf\xe6\x39\xfd\x84\x71\x5f\x3c\xd4\x1f\x07\xf2\xc0\x52\x01\x8a\x82\xb6\x02\x50\x84\xe1\xc9\x37\xb0\xd1\x85\xed\x0e\xff\x31\x37\x7f\x08\xfa\xfc\x08\x37\xf8\x30\xd3\x1c\x5f\x65\x2a\xd0\xc9\xa2\x03\xef\x80\x95\x54\xa5\xc4\x5f\x25\xb3\x8c\x56\x05\xdf\x6b\xfd\x8a\x74\x38\xa3\xda\x80\xa4\xb4\xc2\x32\x6a\x4b\xcb\xe8\x39\xae\xc7\x17\x07\xe6\xc3\x32\xa8\x68\x4b\x81\xf2\x58\x22\x70\xf5\xa8\x35\x22\x6b\xb7\x39\x16\x37\x26\x30\x9a\xf3\x69\x9e\xa4\x7c\x63\x2d\xa6\xd7\x3c\x3f\x0a\x07\x4d\x91\xdc\x7c\x45\x27\x49\x3a\xf7\x8a\x71\xe0\x05\x6a\xaa\x0a\x07\x29\xcf\x30\x9c\xc5\xb9\x67\x15\x1d\x66\x5e\x1d\xa3\xd5\xaf\xb3\xe5\xdc\x26\x8d\xfd\x24\x08\xe3\xd1\x7a\x03\xd6\x53\x72\xbd\xee\xac\x19\x50\x3f\x49\x49\x2e\x42\xce\x63\x6f\x0b\xc5\xc2\xc4\x7c\xed\xa1\x19\x26\x3c\xc4\x9f\x13\x1a\x2e\xc4\xa2\xe8\x5b\x3a\x1f\x24\x24\x0d\xec\x97\x03\xf8\xf7\xe7\x05\x03\x3f\x8c\x87\x49\xc5\x3e\xb2\xc1\xd4\xbe\x74\xbb\x95\x51\xe7\xd9\x2f\xe9\x9c\xa2\x63\xac\xdf\x5a\xa1\xb3\xdc\x0d\x26\xb3\x7c\x3a\xcb\x17\x6c\xfc\x19\xc1\xee\x44\x8f\x5d\x71\x84\x0b\x1d\x4f\xf8\x36\xe4\x77\x67\xc7\xed\x3d\xcf\xba\x82\x54\x08\x1c\xe6\x46\x2a\x1b\x27\xd7\xae\x7d\x58\xb1\x53\xd1\x80\x9c\xef\xf0\x96\x58\x71\xa2\x2a\x89\x6f\x07\x76\x2f\x78\x35\xd7\x23\x95\x16\xf2\xac\xfd\x37\x57\x34\x8d\xc8\xbc\xdc\x66\x79\x4b\xd5\xf9\xc0\xe1\x72\x80\x48\xc3\x3b\xd1\x85\x6f\xdf\xb8\x28\x63\x76\x67\x6b\x8b\x2d\x3b\x53\x0a\x61\x06\x71\x02\xe3\x30\xa0\xb2\xed\x3a\x5b\xf3\x01\xc3\x86\x6f\x58\x90\x09\x95\x94\xe2\x2e\xd2\x2d\xc8\xa8\xef\x62\x65\xbb\x0f\x26\xb1\x1b\xd0\xb2\x03\xf2\x95\x46\x93\xe6\xdc\xe0\x5e\xf2\xf2\x87\xdd\xa2\x5d\xcb\x93\x6f\x80\x2c\xe7\x1d\x2e\xfc\x34\xc5\x20\x50\x56\x6b\xa8\x1f\x8b\x21\x00\x2f\x59\x93\xd6\x6b\xdc\xec\x63\x86\xb8\xe5\xd5\x1c\x11\xfd\xdf\xd3\xd2\x33\x92\x97\x95\x5a\x08\x43\xe3\x22\xa8\xf3\xf7\x74\x6e\xed\xcc\xaf\xd2\xad\x24\x7e\x11\x17\x05\xd5\x27\xfc\xcd\xe2\x12\x01\xc3\xa4\x99\xc4\xbf\x3f\xfb\x96\xce\xb3\x3c\x4d\xde\xd3\x85\xe2\xcd\x3e\x12\x52\x49\x56\x4b\xda\x0f\xf7\xe7\xf9\x2b\xf5\x9f\x0a\x75\x49\x7f\x4f\xca\x0f\x45\xbb\x3a\x5c\x3d\x86\x9a\x14\x72\xba\x70\x81\x34\x95\xa7\x7b\x34\xe5\xc5\x8c\xae\xd4\xbb\x07\x8e\x42\xc2\x3f\x51\x3f\x12\x52\x22\x82\xdd\xd2\xdd\xa8\x11\x50\xe2\xe7\xe1\x15\xc9\xab\xa5\xbe\x6a\xe0\xcd\x73\xc3\x8a\x51\x74\x17\x71\x90\xcd\x51\x10\x11\x9d\xc5\x55\x53\x5d\x95\x1e\xab\x7a\x7d\x05\xf4\xa3\x21\x86\xaa\xbb\xdb\xf4\xea\x6e\x13\x0f\x54\x16\xb7\xb9\x52\x5f\xc4\x24\x8c\xe0\x8b\xa1\x27\xa5\x21\x25\x32\x8b\xb6\xe1\xaf\x29\x32\x33\xc6\x90\x4c\xe2\x98\x2f\xa1\x8e\x89\x9f\x27\xe8\xee\xb9\xc8\x06\x2c\x95\xf7\x66\x69\xd4\x00\xa4\xb1\xf3\xd5\xa3\x59\x1a\x41\x17\x66\x69\x91\x69\x54\x0d\xe8\xea\xda\x65\xe3\xa8\xd4\x9e\x39\x9c\x29\x5d\x24\x0d\x72\x87\x81\x5e\x1b\x50\x3c\x89\x54\xa3\x80\x86\x4b\x01\x0b\x08\x25\x1c\x8a\x63\xee\x22\xa2\xa3\x92\x4d\xef\x95\x09\xbd\x8c\xc2\xc2\xbc\x67\xfd\x54\xdb\xd3\xc5\x3a\x26\x61\x35\x64\x53\xd7\x4e\x0b\xae\x6b\x05\x6b\x22\x4e\x72\x74\xfc\xca\x93\x20\x41\x5f\xb0\x6b\x3a\xd0\x87\x37\x36\xd9\x9c\x0d\xac\x20\x7b\x68\xdc\x63\x39\xcf\x35\x1a\x4e\xb0\x78\x4c\xb3\x68\x12\xd2\x90\x1d\x77\xd7\x97\x00\x0f\xb3\x37\x8b\xc8\xa2\x8c\x62\x04\x9f\x52\x12\xcc\x4f\x73\xe4\xc8\xae\x1e\x89\xe6\xe1\x9b\xd7\xaf\x8f\x0e\xcf\x5e\xbc\xfe\xc6\x8c\xc6\x6f\xa3\x56\x55\xf7\xcd\xdb\xa3\xd7\xee\x48\xc0\xc6\xdb\xb0\x60\x99\xa1\xf6\x73\x38\x46\x3f\xdd\xc3\x1e\x97\x7a\x58\x69\x51\x20\xa6\x49\x5c\xe2\x14\x5c\xea\x57\xce\xfb\x4b\x66\xb9\x0a\xac\x4e\xa8\x4f\xc3\xab\xe5\x33\xbf\x89\xd8\xc4\xe9\xb5\xb1\x08\x37\xbe\x97\xb8\x82\x65\x52\x81\xe5\x61\x89\xa7\x97\xe1\x58\x96\x82\x4f\xa2\x5e\x49\x41\x55\x6b\x26\x4b\x25\x95\xe7\xa5\x5f\x53\x6c\x63\xe3\x56\x81\x9a\x22\xce\xd7\xaf\xe9\x20\xcf\xe7\xeb\x46\xa8\xd3\x49\x36\x42\x83\xf8\xbb\xf8\x7d\x9c\x5c\xa3\x83\x6f\xab\x56\xce\x66\xe9\x6d\x3b\xfd\x2d\x37\x7a\x6a\x1d\x3b\x99\x1b\x39\xd2\xe4\x61\x05\xb6\xed\x02\xa2\xa5\x37\x72\xc1\x5c\x6c\x4f\x67\x14\x1b\x4c\x9c\x0d\x9e\x16\x97\x45\xc5\x06\x4f\x8b\x2b\x99\xda\x4e\xa9\xc0\x09\xf5\xf9\xc0\xb2\xec\xdd\x1a\x9f\x67\xbe\xa7\x83\xb3\xb3\x3f\x2e\x99\x63\x78\x21\xe1\xac\xe0\x17\x27\x2c\x1e\xee\xbb\x01\x64\x96\x8f\xcf\x92\xf7\x34\x76\x1a\x4b\xe2\x8a\x57\x61\x76\x2f\x01\xe3\x57\x7a\x8a\x33\xa2\x55\x47\x04\x62\x67\xff\x14\x73\x24\x06\x2c\x5b\x7e\x3f\x28\x1a\x8b\x9a\x0a\x9b\xed\xb2\x21\xc1\xfb\xba\xea\x8c\x57\xbd\xa2\xe0\xfb\x9d\x86\x54\xb9\xfb\x2b\x8c\x13\x53\x80\xf1\x1c\x30\x8c\x47\xe8\x6e\x67\x27\x2b\xe4\x85\xdb\x9a\x9d\x8b\xcf\xa2\x57\xa2\x0a\xfc\xde\x9c\xd4\x4f\x5c\xa3\x3b\x46\xdd\xfc\xe0\x4b\x5e\x34\x9d\xbc\xe0\x5b\x4d\x97\xa6\x41\x3d\x4c\x3c\xc7\xf3\x0a\x46\x0b\x2e\xef\xac\x72\x13\xec\xd3\x93\xc1\xef\xf7\x45\x13\xc8\x50\xee\xa2\x72\x58\x55\x51\x99\x50\x2e\x7f\x5b\x77\x20\xc8\xc9\xc8\xe4\xf7\xb9\xe3\xd9\x54\x3f\x89\x26\xb3\xaa\x25\x5e\x55\x1f\xab\x35\xc3\x06\xac\xd4\x7f\x0e\x54\xec\xd3\x49\x14\x2a\x4b\xea\x7b\x65\xce\x22\xce\x5e\xdf\x96\x93\x8c\xc1\x94\x0b\x68\xcf\x22\x8c\xf3\xf1\x0c\x23\xdf\x93\x9c\xa1\x77\x15\x55\x4a\x61\xdd\xea\x6c\x13\x95\xae\xc1\x80\x21\xfb\xfd\x11\x34\xe7\xca\x7b\x03\x78\x7d\x47\xdf\x1d\x69\x4a\xbe\xa0\xcb\xc4\x46\xbe\x44\xb9\x44\x1c\x96\x20\xc2\x66\x0b\x57\xfb\x0d\xc0\xa7\xad\xda\xad\x56\xab\x90\x5d\x44\xcd\x92\x4f\x61\xdb\x78\x8b\x37\x4e\x40\xdd\x32\x9f\x47\x09\x9e\x8d\xb3\x52\xfc\x99\x0e\xcf\xf5\x00\x4a\x76\x1d\xe6\xfe\x98\x03\x3b\x6f\x95\x1e\x90\x50\xa8\x90\x8c\x42\x69\xca\xda\xaf\xe4\x4a\x73\x68\xb1\xa8\x17\x50\x3f\x09\xe8\x77\x27\x2f\x0e\x93\xc9\x34\x89\x69\x9c\x7b\xc5\xc7\x44\x26\x64\x2a\x9e\x12\xc9\x93\x81\x27\xba\x50\x6f\x98\x02\x59\x85\x9f\xfc\x08\xd3\xa6\xf6\xcf\x6b\xb0\x01\x5e\xad\xd5\x62\xff\xfa\x4d\x7f\x4c\xd2\xc3\x24\xa0\xbd\xdc\x6b\xd5\x9b\x79\xc2\x37\x30\xbc\xf6\x5e\xbd\x2e\x68\xb3\xd9\x71\x10\x47\x0f\x4c\xf3\x5d\x12\xc6\x5e\xad\x56\x77\x89\x93\xfc\x14\x9e\x6b\x5b\x44\x3f\x36\xb3\x57\x53\xef\x0e\x80\x6c\x5b\x60\xa5\x01\x29\xec\x8f\x4a\x3a\x7f\x96\x7e\xd9\x96\x47\x35\x3a\xc8\xa3\x96\x89\x62\xb8\x44\x2f\xc7\xc8\xee\x8d\xd1\xa2\x67\x00\xfd\x6c\x3d\x52\xa6\xd2\xe2\xfe\x90\x59\x9e\x98\x56\xd5\x9d\x7a\xe4\x27\x71\x96\x44\xb4\x19\x25\x23\x6f\xfd\x28\x26\x83\x88\x19\x9b\x6a\x86\xdf\x87\x75\xd8\x28\xb4\xb0\x01\xeb\x90\xb1\x5f\x41\xb6\xbe\x94\x56\xa6\xa1\x63\x81\xb9\x33\x91\x6e\x57\xd7\x59\xb8\xd2\x59\xa2\x45\xf1\x46\x82\xd2\xb8\x4a\x13\x2f\x9e\x2e\xf4\xae\xa6\xcb\xea\x30\xb9\x43\x9f\x07\x79\xeb\xc6\xb2\x06\x31\x0b\xd6\xf5\x09\x84\xf9\x61\x2b\xf4\x22\xd5\x1c\x07\x3f\xf2\x53\x34\xc3\xf8\x24\x22\xaf\x12\x2c\x9f\x43\x6c\xb2\x29\xc3\x6a\x15\xe3\x70\x41\xcf\x71\xa7\x74\x51\x59\xb4\x0f\xab\x0a\xdc\x36\x4a\x7c\xe3\x9c\xb2\xe0\x4e\x0c\xc1\x4c\x4c\xf7\x19\x41\x09\x19\xb9\x21\x51\x6d\xbc\x9a\x37\x59\x8a\x43\x50\x8d\x83\xb5\x51\x04\x8b\x17\xc8\xdc\xf8\x2f\x2e\x8e\xd5\x1a\x49\x66\x97\x97\xc5\xbf\xa6\x97\x42\x96\x1c\xe5\xb3\x01\xe5\x27\xea\x09\x09\x7a\x41\x90\xc4\xde\xfa\x30\xcc\xd7\x45\xcd\x3f\xac\x70\xc0\xff\x07\xe7\x01\xff\x92\xd3\x15\xe7\xd1\xbf\xeb\xdc\xbe\xb4\x83\xaf\x37\x6c\x58\xe5\x66\x72\x1d\xd3\xb4\x2f\x5d\xb5\xb8\x88\x48\x47\xa1\xf5\x20\xbc\x2a\x1d\xd7\x8b\xfa\xfc\xde\xee\x6b\x32\x61\x90\xd6\xf1\xe6\xe4\x66\xc2\x0f\x29\xd7\xdd\x35\xb4\x78\x77\x5a\xad\x56\x69\x21\xc9\x6c\xe1\x97\xfa\x4d\xb2\x6a\xce\x35\x84\x74\x18\x96\x44\xd4\x54\x5e\xe2\x89\x7b\xfe\x74\xbd\xbb\xa0\xa9\xe0\x84\x55\x63\x40\xe0\x3b\xbf\x1b\xb0\x7e\xc3\xa6\x8f\x72\x3e\x1a\xe6\x52\xd4\xed\x6e\x2e\x38\xcb\x93\x37\x54\xd6\x99\x40\xaf\x37\x96\x76\xd5\xa6\x4d\xb1\x1f\xe2\x72\x69\xe9\xe6\xc9\x3a\xaf\x56\x84\x5f\x05\xd3\x52\x3c\xb7\xce\x63\x1f\xd4\x3f\x8c\x69\x1a\x28\x1e\x0e\xa7\x8a\xa2\xd7\xf4\xc7\x38\x55\x28\xc2\x5b\x6e\x15\x8a\xdc\x4e\x85\x53\x6c\x77\x05\xdf\x0a\x0d\x55\xdf\xdb\x72\x6d\x51\x17\x41\x7f\x8c\x87\xc4\x12\x59\x96\x12\x95\xd3\x9b\xfc\x90\x47\x60\x71\xf9\x51\x28\xb9\x6f\xe2\x6d\x83\x00\xa3\xf8\x58\x0e\x01\xc6\xa8\xa9\x5d\x72\x83\x2b\x4b\x6f\x3c\xda\xb7\x19\x4b\xa5\x5d\x1b\xdd\xab\x38\x73\x98\x40\xee\x32\x99\x5f\xea\x1e\xf2\x43\x48\xde\xc3\xcb\x8a\x2e\x02\x9f\x67\xab\xbc\x43\x16\x8e\xe2\x6a\xfe\x1c\x45\x22\x0a\x47\x51\xee\xcd\xde\xd5\x03\xe2\xa4\x42\xa9\x1f\x15\xdd\xb0\xb0\x2d\x71\xdb\x1d\x3c\x38\x94\xbf\x6d\x2e\xca\xe2\xbf\xab\xb0\xf4\x8a\x8e\x1b\x8b\x45\xee\x2e\x6e\x12\x4a\x03\x32\xa9\xb3\x34\xd4\x9d\xbc\x19\x56\x91\xd7\x95\xdd\x19\x6c\xc4\x1c\xca\x73\x29\x6a\x42\x6b\xe1\xd7\xa2\xab\xc1\x2a\xa8\xae\xea\x6b\xa0\xae\xb4\x71\xf2\xb9\x75\x35\xcb\x16\x9d\x70\x16\x18\x44\xb3\xb4\x70\xe0\x57\x16\x92\xcf\xe1\x2c\x80\x4a\x66\x49\x4b\x8b\x8f\x29\xc5\x0c\xe7\xba\x42\xa7\xc7\xc9\x31\xab\x55\x38\x1a\x66\x79\x9a\xcc\xdd\xbe\x05\x7f\x70\xf9\x16\x48\x1b\xee\x0f\x6e\xdf\x82\x4f\x7b\x96\xc3\x36\x56\xb7\xb6\x78\x38\x90\x61\x18\x51\xb8\x26\x19\x8c\x58\x3f\x48\x4e\x03\x18\xcc\x21\x0a\x07\x41\x92\x6f\x0d\xc2\x78\xcb\x4f\x62\x9f\xe4\xcd\x6c\xdc\x64\x75\x5e\xe4\x30\x26\x19\x0c\x30\xa8\x0d\x49\xdf\xd3\x00\x52\x4a\x82\xcd\x24\x8e\xe6\x78\x6c\x3c\x4f\x66\x29\x64\x64\x48\xf3\x79\x13\xe0\x84\xe4\x63\x9a\xae\xa1\xb7\x1a\x89\x81\x06\x61\x0e\x61\x0e\xfc\x56\x57\x34\x6f\xc0\x34\xa2\x6c\x15\x3f\x49\x82\x70\x38\x87\x24\xa6\x22\x9e\x28\x43\x15\x7d\x72\x59\x5d\x86\x63\xd6\x6c\x32\x04\xd8\x4f\x81\xdc\xbb\x6c\x2b\x0a\x07\xcd\x77\x59\x29\xed\x72\x9a\x44\xf3\x61\x18\x45\xce\x4c\x3f\x89\x92\x34\x73\x66\x0d\x9d\xa9\x42\x91\x5e\x4e\x48\x4c\x46\x78\xb1\xc3\xd1\xa2\xd2\x6a\x0b\x8b\xa5\x94\xf7\xca\x99\x99\x09\x2f\xd9\x05\x79\x97\xfe\x38\x4d\x26\x8b\x8b\x44\x89\x4f\xdc\x3d\x97\x25\x26\xe8\x86\xeb\x2c\x92\xd3\x2c\x5f\xd8\x83\x59\x3e\x7c\x68\x67\xe4\xe3\x30\x0d\x2e\xa7\x24\xcd\xe7\x5b\xd7\x3e\xfa\xde\x63\xc9\x6b\x5f\x94\x43\x77\x5e\x56\x9f\xfb\xf5\xba\x12\x2f\x87\x29\x51\xdd\x2a\x64\xbd\x17\x3e\x3a\x8b\x73\x2f\x07\x21\xc6\xa1\xcb\x96\x14\x7b\x4f\xe7\x13\x32\x5d\x5e\x68\x4a\xf2\x9c\xa6\xb1\xbb\x60\x32\x65\xa2\x57\xd1\x14\xee\x23\xa5\x8b\xf2\x2e\xf1\xf2\x55\x38\x0c\x69\x5a\x05\xa3\x8a\x9d\x8a\xe5\x66\x83\x6c\x36\x70\xe7\xf1\x30\x43\x95\x79\x49\x14\x31\x85\xe1\xce\x57\xb7\x14\x17\xe6\x5e\x86\x49\x55\x81\x9b\xfc\x92\xe4\x79\x1a\x0e\x66\x39\xad\xe8\xe3\x55\x45\xdb\x57\xf9\xa5\x8a\xd7\x77\x59\x39\x56\x5c\xdd\xf1\xbc\x35\x96\x7f\xfa\xe6\xbb\x93\xc3\x23\x38\x7e\xf1\xf2\x68\xdf\xa9\x22\x0e\x93\xe9\x1c\x03\x76\xe2\xe6\x74\xa7\xd5\xee\xe0\xcd\xce\x43\x26\x51\xe1\x6c\x02\x6f\x4e\xf1\x90\x8a\xe9\x06\xe8\x45\x11\x60\xd9\x0c\xd8\xd4\x94\x5e\xd1\x00\xd5\xdf\x77\x99\x50\x50\x61\x26\xf4\x13\xf8\xcc\x44\x0b\x33\x18\xb1\x25\x69\xcc\xd5\x27\x81\x67\xa7\xfd\x4d\x1e\x72\x51\x86\x3a\xc2\x07\x8f\x7c\x12\xc3\x80\xeb\xb4\x64\x16\x07\x10\xc6\xe8\xa3\xfb\xf2\xc5\xe1\xd1\xeb\xd3\x23\x54\x74\xcd\xb5\xb5\xb5\x35\x23\x04\x51\x14\x0e\xe0\x9e\x7d\x75\x71\x8d\xcd\x32\x69\x72\x8d\x2b\xef\xa3\x34\x4d\x52\xaf\xf6\x4d\x94\x0c\x48\x04\xeb\x51\x38\x58\x87\x04\x37\x22\x80\x44\xe8\x77\x02\xf4\x26\xcc\xf2\xac\x59\xab\x1f\xac\xe1\x56\x01\x03\x29\xa2\xfb\x88\xc8\x50\xaf\xc8\x94\xf5\x6b\x3d\xa0\xcc\xdc\xa7\xb1\x3f\x5f\x87\x3c\x81\xf3\x75\xde\xc9\xf5\x06\x34\x9b\xcd\x0b\x19\xea\xe9\x88\xf8\x63\xd0\x45\x31\xe8\x91\x6c\x33\x26\x13\x7c\xb7\xfc\x3d\x45\x5c\x9a\xc3\x6c\xbd\x01\x12\x0c\x2b\xc9\xfa\x3b\x4b\x23\xa4\x07\x03\xc6\xe1\x64\x90\x70\x52\x70\x30\x4d\x8c\x0a\xc5\xea\xa7\xb3\x98\x99\xdd\x7d\xd9\x5a\x48\xb3\xcb\x02\xf2\x6c\x12\x06\x0c\x5a\xc6\xa7\xc4\x8c\xd3\x3a\xa6\x3c\x8a\xd0\x80\x42\x18\x5f\x25\x6c\xaa\x0a\x78\x50\xce\x28\x1c\xa4\x24\x9d\x43\x18\x87\x79\x48\xa2\xf0\x2f\x04\x37\x9c\xcc\xde\xc9\x0b\x5d\x62\x80\x58\xc9\x43\x61\x80\x65\x97\x40\xd2\x94\x60\xb7\xc3\x3c\xa3\xd1\x10\x08\xe4\xd7\xc9\xa6\xac\x83\xb9\x18\x66\x5a\x5e\xd4\x6a\x71\x12\x65\xe3\x04\x23\x71\x22\x12\x01\xcd\xfc\x34\x1c\xa0\xcf\x15\xeb\xf7\x75\xcc\xe3\x54\xcb\xe6\x20\x4d\x66\x79\x18\xd3\x06\xcc\x32\x3a\x9c\x45\x0c\x1e\x9b\x60\x03\x3a\x98\x8d\x46\x61\x3c\x6a\x82\x82\xdf\x96\x84\x95\x46\xa2\xa2\x85\x26\x64\xa1\x0b\xfc\x41\x74\x49\xc2\x13\xea\xe3\x05\x19\x02\x82\xde\xc6\xf0\x4a\xba\xa0\xb9\xc0\x19\x58\xa0\x04\xd7\x63\x1a\xb3\x19\x1f\xae\x49\x8c\x77\xf6\xe9\xcd\x34\xa5\x99\x80\xb3\x59\x00\x04\x7c\xc0\xfd\x64\x32\x65\x46\x07\xcb\x6d\x02\xb3\x28\xd0\x87\x9d\xd1\x3a\x67\x25\xe5\xa0\x11\x0c\x96\xb6\x39\x8c\x68\x30\xa2\x81\x1a\xb4\x6c\x9e\xe5\x74\x02\x49\xaa\x99\x07\x81\xe7\x29\xf1\xdf\xd3\x14\x21\xd6\x32\x78\x37\xcb\x72\xe1\x22\x9f\x27\x30\x21\xef\x29\x33\x3c\xa6\x49\x96\x85\x83\x88\xf2\xdb\xdb\x83\x19\xd2\x5e\x00\xca\xd0\x3b\x9e\xad\x36\xd3\x59\x1c\x63\x10\xb4\x28\xe2\x54\xe5\x11\x00\x91\x0a\x6f\x34\x9b\x67\x40\x52\x0a\xd9\x94\xfa\x4c\x95\x07\x40\x32\x31\xb6\x59\x13\xe0\x38\x49\x81\xde\x90\xc9\x34\xa2\xcc\x72\xe1\x95\xd9\x07\x99\x3a\x0f\xe8\xd4\xab\xb1\xaf\xdc\x1a\xa9\x35\x00\x7f\xe9\xc5\xd1\x2b\xae\xf6\x31\x32\x5d\xb9\x61\xe4\x6d\x46\xb3\x01\x85\x34\x49\x84\xd5\xc6\x40\xd4\x9a\x00\x7f\x4c\x66\x30\x21\x73\x36\x4a\x5c\x55\x61\x6f\xfd\x88\xa1\x4b\x0a\x64\x4b\x62\x20\xf1\xdc\x10\x3b\x3e\xd4\x14\x7c\x0c\xe8\x0a\xd3\x34\x19\xa5\x64\x82\xf0\x18\x77\x21\xfe\x34\xce\x66\x29\x3d\x29\x8b\xa6\x57\x07\xc2\x38\x9c\xa4\xf9\x6c\x0a\x21\xc6\xc6\x4c\xd2\x80\xa6\xc8\x1c\x58\x4b\xbc\xfc\xc6\x14\x6c\x91\xd5\x42\x9a\xc1\x98\x5c\x51\x61\x5e\x52\x85\x8f\xbc\x9d\xcf\xc9\x7b\x0b\x57\x24\xbd\x44\x6f\x92\x37\xcc\x60\x4c\x61\x92\xa4\x52\x73\x64\xee\x01\xd1\xfa\x84\x91\xde\xb0\xff\x3d\x09\x4b\x47\x8c\xe4\xca\x0a\xef\xca\xe7\xe9\x5c\x06\xf7\x28\x28\x5c\x11\xb1\xcd\x27\x78\x26\x4b\x6f\xcc\xeb\x72\x59\x4e\xfc\xf7\x78\x64\x8a\x01\x5f\x9b\xf8\xbb\x99\x4d\xa3\x30\xf7\x6a\x3f\x88\x68\x83\xe8\x75\xf9\x22\x86\x53\x32\x24\x69\xd8\x10\xf1\x21\xb2\x59\x84\x51\x79\x0d\x10\xd7\x61\x14\x01\xda\xd7\x48\x9b\x8e\xd4\x4d\xfc\x15\x01\xe4\x5f\x0e\x8c\x19\x40\x57\x61\x30\x23\x91\xec\x36\x32\xe8\x30\x49\x27\xcc\x98\x09\x44\x5c\x5f\x1a\xe7\xd1\x9c\x07\xf7\xc5\x28\x22\xaa\xa5\x66\x44\xe3\x51\x3e\x86\x27\x5d\xd8\x36\xa3\x8a\xe0\x34\xd7\x35\x50\x3a\xef\x5c\x34\x53\x3a\x8d\x88\x4f\xbd\xad\x7f\xf8\x21\xbb\x4f\xf2\x1f\xb2\x8d\xad\x06\xd4\x64\xd7\x0a\x81\x8b\x5c\x30\xda\x05\x18\x23\x3e\x81\x31\x59\xfb\xad\x05\x6a\x4d\x04\x27\x61\xca\xcf\xc3\x4b\xfe\xd0\x85\xd6\x01\x84\xf0\x18\x88\x74\x40\x11\xb8\x1f\x40\xb8\xb1\x61\x0e\xc5\x94\x60\x50\x65\x55\xee\x3c\x14\xd7\x0a\x59\xd7\x31\x93\x47\xd2\xf0\xd9\x54\x8b\x88\xe9\x9e\x2b\x76\x69\xe2\xd3\x04\x5e\x14\x0e\x1a\x08\xd0\xdd\x49\x3c\x58\x44\x47\x28\xbe\x40\x74\x4c\x5c\xe7\xac\xf6\x85\x5c\x2b\x62\xb4\x4b\x92\xce\xeb\x6a\xed\xb8\x52\x75\xa1\xba\x55\x0d\x7e\x39\x8d\x93\xd8\xa2\x99\x31\x45\x1e\xa1\xe8\x65\x4b\x64\x8f\x71\xcb\x84\xe6\x0d\x8c\x29\x12\x03\xbd\xf1\x29\x1a\xba\x7c\x76\x49\x93\x6b\x3d\x47\x5e\xd1\x74\x0e\xb3\x78\x42\x73\xc7\x8c\xc1\x59\x76\x40\x21\x4a\x46\x23\x1d\xca\xef\x77\xa7\xea\xec\x14\xe0\xc5\x50\x4c\x07\x6c\x01\x98\xe3\xca\xcf\xb6\x28\x38\x70\x54\x5f\x08\x2e\x25\x61\x46\x2d\xb4\xb4\x50\x57\xea\xa3\x4b\x53\xd2\xb5\x84\x4f\x49\x96\xd1\x80\x91\x1a\x9d\x6c\x4d\xe6\x12\x3c\x01\x55\xb6\x87\x25\xe7\x48\x73\x34\x3f\xba\x95\x15\xcc\x31\x67\x95\xb8\x02\xef\x62\x43\x52\x27\x70\xd3\x4c\xeb\x04\xa2\x76\xd8\x78\x9c\xec\x9b\x1c\x6a\x7c\x6b\xa2\x26\x67\x7a\x21\x2e\x42\x6f\x03\xaf\x75\x9d\xa4\xef\x69\x0a\x61\x5e\xcb\x24\x34\xa6\xb3\x69\x00\x35\x66\xa7\xd4\x9a\x0a\x8b\x64\xf0\x0e\xba\x20\xc2\x45\xc2\x87\x0f\x78\x8f\x5e\x70\x8f\x4b\xd0\x10\x6b\x97\x90\x09\x36\xf6\xb0\xc0\x79\x78\xc1\x68\x97\x0c\xde\xd5\xcd\x5d\x15\x39\xea\xd7\x24\x8d\xbd\xda\xab\x30\xcb\x98\x8a\x5b\xaf\x61\xd8\xfc\x7c\x0c\x1b\x50\x43\xd3\x90\xcd\x6a\x38\x93\xd5\x1a\x06\x6d\x8d\xbd\x15\x35\x6e\x86\xf7\x33\x14\xcf\xbf\x45\x24\x23\x10\x7d\x4c\x06\xef\xce\x25\x72\x17\x05\x95\x82\xa8\x73\xa0\x75\xa7\x96\xaf\x1d\x93\x90\x91\xcf\xc1\xe3\xfe\x98\xfa\xef\xd9\xb8\xdd\x9a\x66\xd4\x28\xcc\x72\x8a\xd2\x63\x1b\x97\x96\x41\x26\xa7\xd8\x8a\x22\x5c\x10\xa5\xcd\x1a\xc6\x90\x22\xd8\x94\x97\xe2\xd3\x29\xb3\xbc\x50\x7a\x84\x65\xe7\xd5\xd1\x1c\xe5\x75\x98\x65\xc8\x8c\x58\xb5\xc7\xc5\x05\x48\xb8\x5c\x13\x60\xe4\x8f\x28\xe0\xa4\x4a\x73\x9a\x36\x78\x48\x1b\x06\x0f\xed\x54\x55\xcf\xb6\x9e\xd1\xda\x0b\x73\x34\xe0\x22\x9a\x53\x34\x7f\x19\x94\xdc\xb4\x5b\xcb\x06\x75\x71\xf6\x66\xa3\x01\x3d\x61\x0d\x73\x33\x78\x9a\x33\xcc\x30\xc3\x61\x02\x4b\x73\x73\xc8\x8d\x3e\xc0\x38\x55\xd2\x0a\x36\x5b\x50\xa2\x2e\xbf\xd4\x6f\xb5\x49\xbc\x80\xe2\xac\xa3\xa9\x18\x3b\x0e\x50\x9e\x18\xc9\x12\xb7\xdc\x26\x92\xb0\x14\xe9\x0c\xc3\x42\xd4\x7f\x11\x5b\xc1\xcf\x3d\xbe\x20\xb2\xb7\x81\xcb\xf6\x38\x57\xe2\xe7\x76\x61\x7e\x81\x50\x86\x01\x10\x89\x16\xc3\xbd\x90\xfd\xe1\x61\xac\x85\x8d\x6c\x59\xec\x38\xf6\x25\xd3\x4b\x20\xeb\x62\x6d\x6b\x26\x20\x71\x80\x6c\x81\x2c\x80\x96\xa2\x51\xb5\x8a\x7f\x65\xfb\x2f\xec\x7c\xc6\x5b\xd9\x3c\xf6\xc7\x69\x12\x27\x33\x66\x24\x9f\x69\x9c\xe5\x22\x80\xaf\x58\x99\x0a\x62\xd6\x2b\xc3\x0d\x57\x3e\xb8\x44\x8a\x91\xb6\x6a\xd0\x0c\x86\x2f\x70\x9a\x56\xf9\xb7\xb2\x16\x6b\xca\x1c\x6e\xd1\x23\xce\xd3\x45\x3c\x25\x97\x49\x4e\x77\x33\xd9\x7d\x06\x7d\x9a\x5f\x46\xc9\xe8\x58\x42\xee\xc5\xc0\x37\x87\x48\x64\x35\x97\x51\x4e\x48\x54\x98\x76\x73\x29\x8d\x70\xdb\x35\x4a\x46\xf2\x24\x8e\x59\xec\xf6\xca\xcd\xe4\x28\xde\xa3\x46\xb1\x6d\x3d\xbd\x71\x33\xa2\xcc\x64\x2a\xc4\x2f\x4b\x7e\xcd\x66\x95\xd2\xec\xc8\x75\x22\xe3\x21\xae\xeb\xed\x98\x98\x29\xf5\xd1\x98\x9a\x37\xb3\x71\x38\x34\x0e\xc4\x59\xa5\x22\x3a\x4a\x3b\x17\x32\xbc\x1a\x6b\x7e\x1f\x98\xfa\x4f\xa9\x7f\xde\xd2\xf7\x64\xd9\xcf\xf6\x85\x87\xfb\x06\x4d\x12\x91\x74\xe2\x49\x54\xeb\x6e\xa3\x8b\xd3\xc2\x2b\xbd\x79\x60\x6c\xa0\x08\x06\xb8\x67\xc5\x70\x76\x6b\x7b\x39\x35\x25\x8c\x44\x57\x24\x0a\x03\x65\x39\xee\x0b\x38\x62\xa6\x5e\x6c\x75\x78\xbc\x90\x71\x1c\x29\xbb\xc1\xdd\x98\x6e\x0f\x16\xef\x58\x15\x37\xb0\xf5\xd6\x55\xa7\xd5\x7e\xf0\x6b\xdd\xb6\x2a\x44\x93\x16\x2a\xea\xb7\x2c\x97\x35\x72\x15\xd2\x6b\x78\x2b\x3a\xc6\xe3\x8d\x1f\x9d\x76\x5a\xed\xbd\x0d\x18\x52\x92\xa3\x7d\x7a\x4d\xd5\x56\xc2\x2c\xa3\x5c\x04\xf8\xe6\x5f\x3e\xcd\xf6\xb7\xb6\x02\x7a\x45\xa3\x64\x4a\xd3\xe6\x24\xf9\x4b\x18\x45\xa4\x99\xa4\xa3\x2d\x1a\x6f\x7e\x77\xba\x15\x24\x7e\xb6\xf5\x3d\x1d\x6c\xfd\x8e\x5c\x91\x53\x9c\x54\xb6\x4e\xe4\x72\x7a\x8b\xef\x8f\x5d\xf2\x55\x74\xb6\xc5\x1d\x2c\xb6\xa6\x24\x38\x65\x8b\x55\xdc\x70\xbb\xc7\x13\xcd\x97\x32\x44\x36\x97\x82\xca\x6c\x53\x8c\x72\x92\x8e\x68\xfe\x12\x85\x87\xad\x16\xc4\x0d\x5c\x15\x34\x7c\x8b\x59\xbe\x78\x2f\x9f\x6f\x03\x31\xa5\x28\xb6\xe9\xa2\x24\x1e\x01\x8d\x93\xd9\x68\xdc\x30\xee\xe3\x41\x90\xdc\xe3\xec\x6a\x80\x86\x4d\xb1\x4e\x10\x26\x99\x12\x5d\xab\xd0\xe3\x2e\xb4\xea\x4a\xb6\x70\x1a\x11\x9e\x25\xe2\xd9\x0d\x63\x29\xa4\xae\x0a\x77\xbb\xa0\xf6\x1a\x65\x65\x23\x1b\x6a\x50\xb3\x8c\x55\x74\xc3\x64\x3d\x9a\x92\x80\x75\x67\xc2\x96\xb0\xd3\x88\x62\x34\x98\x0c\x7b\xd5\x74\xa3\xf7\x44\xc3\x95\xea\xc6\xd1\x9e\x2e\x93\xd2\x29\x25\xb9\x67\x03\xd9\x2a\x03\x11\x31\x74\xcc\xe3\x36\x5d\x86\x3b\x11\xb7\x1a\x16\x39\xeb\xda\xe7\xc6\x7c\x90\xe4\xf6\x4b\x33\xdf\x51\x1c\x54\xb3\xde\x51\x1c\x54\x33\xde\x91\x75\x2d\xf2\xef\x6c\xf7\xeb\x64\x3b\xb3\xdb\xb8\xda\x59\xcc\x85\x8a\xed\x16\xcf\x0e\xd6\x09\xe6\x3f\x9d\x63\x0d\xf7\xfc\xf0\x9a\xad\xcd\xa6\xc4\xc7\x8d\x2a\xc0\xae\xc1\x2c\x0f\xa3\x30\x0f\xa9\xb1\x6f\xc7\xfb\x5c\xd8\xf9\x3f\x0e\xd3\x2c\x67\x6b\xc5\x09\xb3\xcd\xe3\x18\x4f\xa3\x47\xb3\x88\xbf\x62\x90\xd2\x8c\x3f\xa9\x79\x4d\x6b\x29\x85\x51\x22\x18\x9b\xa1\x81\x18\x8a\xe3\x6f\x61\x3d\xae\x2d\x8b\x02\xfb\xec\xa4\x77\x78\x04\x7f\x7c\xf3\xdd\xc9\xe9\xd1\xcb\xe3\x55\x6a\x00\x40\xe3\xa7\x9f\x7e\xfa\xa9\xb9\x4a\xc9\x0f\x4f\x2e\x1f\xc3\x4f\x3f\xad\x50\x74\xfb\x4f\x9b\x9b\x9b\xb5\xcd\xad\x55\xc0\x6e\xef\xb3\xcf\x0f\x57\x3f\x2c\x2f\xdb\x4d\xba\xbc\x70\x63\x85\xc2\xf0\x01\x44\x61\x2c\xbd\xa0\xc2\xd9\xf3\x23\x38\x39\xfa\xe6\xbb\x97\xbd\x13\x38\xfa\xc3\xdb\x93\xa3\xd3\xd3\x17\x6f\x5e\x9f\x2e\x6f\xa2\x77\x72\x04\x87\x6f\x5e\xbd\x78\xfd\x8d\xb1\x68\x4e\x69\x0d\x23\xde\x5c\x93\x39\x2e\x4f\xd9\xca\x9f\xab\xb0\x93\x23\x88\xc2\x9c\xa6\x24\x62\xeb\x02\xd0\x8a\xb8\x09\x70\x1c\xde\x70\x4e\xbd\x1e\xcf\x21\x48\xe2\x1a\x6e\x3d\xcd\x93\xd9\x53\x80\x37\x63\x5c\xe6\x00\x89\xb2\x84\x9f\x18\x58\x2d\xa0\xcf\x1e\x5b\x34\x73\xc5\x80\x50\x82\x84\x66\x71\x8d\x9f\x58\xa4\xd3\x94\x22\x34\x9a\xf9\x64\x4a\x8d\xc5\x4f\x96\x53\x12\x34\x98\x4d\x93\xe5\x49\x32\xe5\xdb\x60\x61\x06\x6a\xdf\xb3\x0e\x4c\x18\xde\x17\x99\xbc\x99\x52\x3c\xe2\x5a\x43\x55\x77\x78\x7a\x0a\x63\x7a\xc3\x25\xa3\x01\x5f\x9d\x7c\xf3\x8c\xe9\xb5\x31\xbd\x69\xef\xed\xc3\xd6\x57\xde\x39\xd9\x1c\xb6\x36\x1f\x5d\xd4\x5d\xdf\xb6\xc2\xc6\x5a\x05\x9c\x93\x6f\xbe\x79\x26\x41\x75\x76\x2c\x50\x3f\x76\x6e\xeb\xd5\x3f\x6c\x98\xe9\x68\x20\x61\xa6\xa3\x81\x97\xa6\x69\x63\x34\x1a\x35\x06\x83\x41\x9d\x01\x4f\x47\x83\x7d\x34\xb1\x4f\xe8\xe8\xe8\x66\xea\x09\x4d\xeb\xd5\xfe\x61\x2b\xbb\x9f\x8e\x06\x5b\xd9\xfd\x2d\x6f\x2b\xbb\xef\x6d\x05\x3f\xb6\x1b\xdb\xb7\xf5\xad\xec\x7e\xa3\xf8\xbb\x06\x1b\x72\x35\x51\x2b\xe4\x6d\xb1\xbf\xfe\x59\x4d\x66\xd7\xf5\xa6\xf2\x0f\x5b\x5b\xa3\x06\xd4\x7e\xf8\xa1\x56\x6f\x40\x2d\xac\xd5\x57\xc3\xba\x41\x08\x91\x98\x93\x85\xa8\x93\xad\xec\xbe\x85\xd9\xd2\x7e\x14\x7e\x9b\x95\xbd\xa7\xfb\x22\x7b\xc3\x7b\xba\xbf\xd5\xdc\x0a\x36\xea\x4f\x59\xa1\xfa\x47\xf4\xf0\x28\xc4\x90\xd3\x27\xdf\x3c\x63\x4b\x99\x93\x6f\x9e\xf5\x44\x87\x6e\x16\x77\xe8\xe9\xdf\xa6\x47\x4f\x3f\xa2\x4b\xbd\x18\xfe\xd0\x6e\xc3\x3a\xe3\xa7\x20\x08\x82\x2d\xf5\xd7\x3a\x77\xa4\x67\x3d\xbc\x69\xb7\x91\xdf\xf0\x40\x81\x7d\xd3\x7c\xdb\x6e\xec\xdc\xd6\x7f\xd8\x5a\x9a\x90\xdd\xff\x67\x9a\xbf\x8f\xe2\x51\x14\x66\x63\x31\x2b\xc5\x64\x82\xad\xb0\x7f\xf7\x61\xeb\x9c\x6c\xfe\xe5\x82\xfd\xd5\xda\x7c\xf4\x43\x76\xb1\xb1\xd5\x30\x77\x66\x0e\x93\x18\xdf\x5d\x24\x92\xdd\xbc\x20\x08\x1a\xe2\xff\xba\x80\x88\x88\x33\x2d\x92\x00\xe1\xfd\x33\xd2\xd5\x89\x23\x8e\x25\x83\x62\x64\x8a\x3d\xc2\x51\x9c\xa4\x7c\x83\x5d\xec\xf0\x64\x24\x0e\x73\xb6\xfe\xc7\xe7\x2b\xc6\x24\x0e\x22\xb1\x49\xa6\x8e\xb6\x6b\x41\x10\xd4\x70\x6b\x03\xef\xf6\x89\xd3\xfb\x98\xc2\x60\x9e\x53\x81\x92\x3e\x43\x0b\x63\x08\xa8\x1f\x4e\x30\x62\x75\xc5\x61\x1c\xab\x81\x36\x87\x8d\x23\x43\xcb\xe7\x64\xb0\x37\xd5\x64\x4d\x56\xa7\xd0\x69\xc6\xaf\xf1\x2c\x8a\x98\xd5\xc6\x4c\x08\x9e\xe8\x63\xe8\x73\x7e\xde\xa9\xf7\x66\x10\x32\xdf\xfc\xb1\xd5\xe7\x68\x70\x96\x30\xb8\xd6\x29\x9f\xf2\x2e\x55\xdb\x32\x99\x4f\x22\xea\xa9\x67\x3f\xae\xa0\x0b\x9e\x8a\xd3\x79\xd5\x80\xce\xee\x6e\x1d\xee\x43\x67\xf7\x81\x7d\x11\xd1\xf2\xe3\xe3\x7b\x15\x7f\x99\x92\x80\x55\xd9\x11\x0f\x2e\x59\x1b\x31\x7c\x34\x27\x24\xf7\xc7\x9e\xad\xe5\x19\xaa\x37\x58\xc5\x3e\x0b\xb2\x62\xe7\xea\x2d\xc0\x1a\x63\xe9\x1a\x6c\x08\xcc\x49\x3a\x3f\x6f\x5f\x30\xbb\xb2\xb6\x65\xa7\x76\x9c\xa9\xdb\x17\xf6\x6e\xb5\x66\xd1\x88\x8e\x88\x3f\x57\x63\x71\x45\x8b\xac\x29\x79\xb8\xd9\x6c\xd6\x5d\x3c\x7a\x36\xa6\x73\xc8\xc9\x7b\x6e\x91\x0f\x93\x74\xb2\xcf\x92\xdb\x1d\x18\x84\xf9\x3e\x4e\x5a\x7a\x5e\xdf\x7c\x02\x5f\x9d\xb4\x5a\xad\x6f\x5a\xad\xd6\xb3\x56\xab\xc5\x4a\x76\x76\x64\x49\x9c\x96\xcc\x92\x27\xad\xd6\x37\xdf\xb4\x5a\xcf\x9e\xf1\x92\xdb\x7b\xaa\xe4\xc9\x37\xac\xec\x33\x5d\xf2\xa4\xf5\xcd\x37\xdf\xb4\x9e\x3d\x7b\x86\x25\x77\x1e\xea\x92\xac\x28\x2b\xfb\x4c\x60\x9b\x51\x14\x20\x86\xed\x24\xc9\x72\xc8\xc2\x51\x1c\x0e\x43\x9f\xc4\x39\xab\xa4\x66\x71\xf5\xe6\xb9\x90\x3a\xdc\xfd\x0d\x92\x6b\xdc\xd4\xe3\x48\xab\x97\x53\x49\x5e\xcb\x70\x77\x95\x51\x2b\x9b\x4d\xb9\x4f\x67\x91\x3b\x6f\xda\xed\xe7\xf4\xe6\x2c\x61\x85\x4c\x06\xd5\x0f\x9e\xdd\xbb\x6a\xe2\x09\x7a\xf6\x7d\x98\x8f\xbd\xda\x57\xb5\xba\x83\x2b\x50\x3f\x31\x9e\x9c\xf2\x9d\x5f\x4a\x02\x66\x9e\x7c\x05\xc9\x70\xc8\x94\x14\xe3\xe6\xab\x66\x36\x1b\x64\x79\xea\x89\x65\x09\xbe\x06\x8b\x5e\x04\x33\x11\x51\x23\x0b\xff\x82\x16\x0b\xb6\x7b\xbe\xdd\x80\xbd\x06\x3c\x6a\x40\xbb\x73\xa1\x62\x5e\x5f\xa9\xe5\x4d\xb7\x0b\x9b\x6d\x37\x83\x6a\xc8\x71\x12\x6f\x32\x33\x83\xd3\x4b\x82\xbe\x12\xec\xbf\x75\xfe\x0f\x42\xdd\x6e\x85\xae\x5e\x89\x6e\x4d\xa3\x30\x17\x9e\x17\x68\xf5\x27\x33\x0c\xd6\x8f\x67\x6e\xdc\xc1\x5a\x62\x05\x5b\xb0\x7d\x20\xb2\x52\xb3\xcb\x2d\xfe\x72\x4c\x5d\x66\x8e\xcc\x4c\x96\x53\xc8\x1f\x14\xf3\x99\xe8\x98\xc5\x38\x6a\xaf\x93\x74\x22\xf6\xdb\x13\x68\xef\x49\x5e\xd1\x4a\x25\x4e\xd2\x49\x7b\xcf\xd6\x2a\xea\x61\xda\xab\x06\x14\xf5\x07\xef\x4f\x17\x3a\xf0\x14\xae\x60\x5f\x09\xc9\xd6\x96\x00\x6f\x3a\x81\xcb\xc2\x6d\x2c\xfc\xf8\x31\xec\xf0\x1a\x5b\x5b\xf0\xb0\x58\xf6\x0a\x9e\x3c\x01\x6f\x07\xee\xf3\x37\x78\x60\x13\x3a\xf5\xfa\x01\x96\xed\xec\x30\x35\xbb\xdd\x11\x55\x6e\xd7\x2c\x6d\x26\xf8\x14\xbd\x98\xce\x12\x66\x3c\x78\xe7\x69\x03\x46\x0d\x18\x5c\x34\x27\x64\xea\xf1\x2e\xd6\x2b\x94\x49\x69\x1e\xbb\x8b\x12\xc1\xba\xbc\xd6\x84\xcc\xd1\x0b\xc8\x84\xc7\x8f\x47\xf8\xe9\x34\x53\x29\x62\xca\x18\x2a\xad\xc3\xc0\x30\x25\x39\x1e\x8f\xc7\x5b\xea\x2f\x71\xdc\x6c\xcc\x79\x02\xb1\x0c\x22\x9a\x65\xdc\x37\x79\x07\x82\x70\x14\xe6\x19\x84\xb9\x38\x01\x98\x92\x20\xa0\x01\x63\x3e\x36\xd8\x3b\xe8\xa2\x21\x66\x8d\x40\xe9\x80\x61\x88\x4e\x62\xea\x50\x8d\x4d\xa2\xcb\x67\xca\x22\x89\x56\x99\x29\x8b\xb3\xeb\x67\x98\x29\x6f\xda\xed\x2a\x45\x54\x35\x4b\x6e\x6d\xc1\x5b\xc2\x89\x22\x54\x22\xc6\x14\xd5\x74\x1c\x26\xb3\x54\x90\x12\x4f\x78\xc2\x0c\xc4\x9b\xe7\xe0\x4d\xd3\x64\x40\x06\x91\x98\xe5\xb6\xb6\x00\xb5\x02\xcd\xc4\xcb\xbb\xc2\x75\x2b\x08\x87\xc3\xd0\x9f\x45\x48\xf6\x8c\xf0\xd3\x20\x6e\xdd\xa0\xa6\xc5\xc2\x90\x51\x3a\xc9\x20\x4f\x24\x28\x92\xa6\x78\xba\xc9\xe6\x33\x31\x72\x9c\x24\xc2\x4b\x26\x86\x29\x4d\xf1\x49\x01\xbe\x5d\x90\x4c\x06\x61\x2c\x8e\x54\x87\x12\xc8\x88\x4c\x26\x8c\x4f\x52\xf1\xea\x48\x43\x50\x9c\x6f\x50\xe4\x29\x89\x33\xee\x4e\x83\x79\x0c\xf2\x9f\x67\x24\xce\xd5\x81\xa7\xda\x70\x52\xfa\x89\x49\xab\x3e\x44\x61\xca\x8d\xf3\x89\x60\xb6\x29\x51\x0c\x86\x84\x1b\xcc\x81\x6f\x37\x49\xbf\x40\xe5\x0a\xdb\x04\x58\x1f\xae\xc3\x80\xfa\xc9\x84\x66\x1a\xde\xfa\x70\x38\x1c\xae\x37\x01\x4e\x7d\x82\x37\xd1\x91\x33\x09\x28\x25\xac\x76\x76\x84\x4b\x33\x6b\xa3\xb3\xfb\x40\x3a\x12\x64\x64\x42\x35\x34\x92\x81\x3f\xcb\x73\xfe\x44\xcd\x50\x99\x85\x4d\x80\xef\x29\x64\xef\xc5\x6c\x33\x09\x83\x20\x62\xcb\x5a\x3a\x45\x22\xa0\xb3\x5d\x90\xcc\xd4\xa3\x97\x22\x3e\xad\x81\xbd\xbd\x1d\xa8\x35\x22\x6c\x80\xa9\x15\x6f\xdd\x24\xec\x14\x48\x38\x09\x23\x92\x42\x40\x49\x04\x6c\xc1\xde\x04\x94\xa8\x29\x09\x32\xc8\xaf\x13\x4e\x5c\x35\x65\x17\x48\xaa\xe1\xa0\xc1\xeb\xb1\xe1\x65\x3c\x0e\xb3\xa9\x20\x4d\x9d\x51\x13\x59\xad\xb0\x73\xc4\xcb\x85\x39\x9a\x01\x1a\x0e\xa7\x78\x3c\xbf\x26\x73\x5c\xee\xfb\x24\xe6\x24\x91\xa1\xdc\xc6\x4c\x5a\xc3\x11\x86\x96\x51\x8b\x15\x27\x39\x96\x93\x62\xdb\x22\xc5\xd9\x38\xa5\xd4\xee\x2f\x13\x0c\x71\x72\x2f\xe4\xa0\xc4\x54\x43\xc4\x04\x6b\x35\x35\x2c\xda\x1c\x35\xa1\xdd\x1a\x4a\x1e\x63\xdf\x87\x32\x1f\xed\x09\x36\x58\x72\x8e\xec\xd8\x68\xb2\x61\x41\xea\x70\xc5\x38\xa6\xd0\x31\x16\x14\x4d\x73\xca\x43\x1b\x3b\x4d\x66\x71\xe0\x15\x3a\x0e\x5b\x48\x7e\x97\x0d\xed\xb6\x9f\xf9\x82\xcf\xb6\xa0\xb5\xa2\xe2\xf1\x6e\x84\x7d\x84\x16\x2e\x17\xde\xa6\x41\x58\xa7\xa5\xe5\x9a\x0f\x0d\xbb\xcd\xbb\x12\x7d\xa7\x51\x46\x2b\x2b\xb0\xc9\x0a\xe7\x4f\x51\x1c\x7b\x84\x67\xa7\x53\xb9\xf9\xdb\x36\x0f\xf8\x2b\xe6\x5e\x56\x83\xcd\xba\xc8\x7b\xee\x49\x37\xe3\x17\x67\x84\x1f\x24\xd3\xe7\x35\x61\x47\xd7\xec\x35\x23\xce\xc4\xf9\x98\x86\xa9\x9a\x88\x85\x5b\xb1\x7a\xc6\x17\x7d\xe0\xf8\xea\x52\xcd\x1b\x6c\x82\xc3\xf5\x79\x93\xcf\xa3\x62\xaa\x21\xb1\xf0\x40\x55\x05\x1b\x7a\xf2\x14\x2b\xfa\x80\x4f\x0f\x6c\xa2\x72\xcf\x8a\x1f\xb8\xeb\xe1\x63\xfe\xeb\xc9\x2d\xf4\xe4\x4c\x6a\x4c\xf0\xa9\xf0\xb8\x4e\x86\x3a\x95\xeb\x7e\x6b\x86\x73\xcd\x9d\x25\xf8\xe8\xc7\xa1\x7a\xa6\x1a\x50\xf6\xaa\x3d\x43\x8e\xd9\x90\xb3\x36\x8d\x19\x92\xa4\x23\x7d\xd6\x8e\xfb\x70\xe2\xb4\xdd\x60\x4c\x4c\x3e\xd0\x65\x3a\x3b\xce\x32\x9d\x1d\xee\x7d\x26\x27\x5b\x81\x98\x37\xd6\x0e\xa5\x8c\x4d\xc7\xf4\xc6\xd0\x00\x3b\x5a\x03\x30\x25\xdf\x65\x7f\xab\x1d\x14\x6c\x58\xdf\x25\xf4\xc6\x0d\x10\xc6\x9b\xe3\x42\xf4\xfa\x57\xeb\xb0\x01\xa9\xf8\x7f\x24\xfe\x1f\xb0\xff\x95\x37\x95\x75\xf7\x5a\x0b\x24\x6b\x93\x8b\x24\x76\xa3\xae\x8f\x82\x4c\x97\xc6\xa2\x71\x6f\x2d\x65\x3d\xee\x00\x26\x34\x00\x5f\xcd\x72\x35\xb0\x01\xb5\x06\x18\x7b\x49\x76\xa9\xce\x4a\xa5\xb6\x75\xa9\x7a\xed\xc0\xf4\xf8\x22\xe9\xa8\xd2\xeb\xb3\xc2\xc9\xd4\xed\xf9\x46\xd2\xd1\x79\x78\xc1\x23\xdf\xe1\xb0\xf1\x04\xd3\x19\xc1\xf4\x56\x60\xed\x5a\x65\xb5\x5a\x10\x54\x21\xe9\x68\x35\xf9\x56\x66\x34\x13\x5d\x4b\xae\xdd\x92\xaf\x36\xa5\x87\xe2\x05\x34\x12\xe3\xfe\xa6\x06\xc2\x1d\x90\x49\x34\x1d\x13\x18\x86\x34\x0a\xb4\xd3\x27\x90\x6b\x32\xff\xf5\xe9\x07\x45\x83\xb2\x92\x30\x95\x1b\x67\x5b\xa1\x30\xbe\xa0\xa6\xc0\x5d\xa7\xe7\x28\x8f\x65\x4d\x51\x12\x70\x36\x6b\x19\x9e\xa4\xda\x63\x47\x40\xf3\x53\xe2\xbf\x67\x73\x87\x9c\xde\x96\xc8\x96\x29\x5a\x5f\x31\xb9\x32\xf6\xa5\x3c\xcf\x12\x8c\xd6\x45\x9d\x2d\x1d\x99\x6c\xd8\xe1\x6a\x4b\x1f\xaf\x20\x9c\x58\x0f\x1e\xde\xb1\x5e\x47\xd4\x6b\xd5\xed\x6d\xb4\x06\xec\xd5\xff\x89\xca\xe5\x19\x11\xce\x70\xdc\x47\xc8\xcf\x32\x21\x6d\x78\x7e\x1d\xe2\x48\xe3\xb2\x83\x55\xc6\x05\x22\x5f\x01\xa7\xa3\x01\xe3\x20\x26\x79\xf6\xd2\xf7\x04\xdb\xc9\x96\x2c\xe8\x70\x73\x01\x77\x1f\xca\x4b\x39\x95\x55\x58\xce\x05\x74\xa8\x77\x96\x02\x3a\x5c\xb8\xb5\xe4\x98\xf8\x10\x80\x72\xa9\x72\x6c\x5f\x36\x73\x9a\xe5\x58\xca\x02\x15\xd0\xa1\xb9\x75\xe9\xb4\x8b\x38\x68\xe7\x8e\xe4\x36\xa3\xd3\x0e\x58\x57\xaa\x4c\x32\x0a\xcd\xc5\x65\xb5\x44\x0c\xc3\x7e\xb2\xc5\x71\x6e\x38\xc9\xa1\xaa\xeb\x9a\xce\x6e\xf0\x84\x59\xd7\x4f\x81\x4f\x1f\xb0\x0f\xed\x03\x7b\xf3\x95\xe0\x94\xc5\x85\x48\x4d\x3f\xc0\x85\xc3\xfe\xdd\x31\x7f\x63\x4b\x62\x1e\x32\x7a\xfb\xe6\x8a\xa6\xfc\x74\x51\xab\x5e\x7f\x4c\xe2\x98\x46\x4c\x89\xf1\x8e\x6e\x21\xb3\x60\xbf\x4a\xdd\xcc\x68\xde\x13\xbd\x50\x7d\x4c\x47\x83\x06\x87\xe5\xf2\x07\xac\xd2\x2e\xa2\xc7\x5d\x5e\x73\x25\xa3\xd4\x1e\xb9\x57\xe1\x0d\x5b\x77\xd3\xd4\xa7\x71\x4e\x46\xb8\xe8\x24\x90\x87\xe8\xc1\x1e\xa1\x3f\x1d\x1b\x3b\x18\x90\x8c\x56\xf4\x66\x12\x5a\xba\x93\x95\x6c\x20\x84\x86\x84\x6b\xf5\xa8\x5d\xd1\x25\x56\x4f\xed\xea\x91\x74\xde\xa9\x28\xc7\x20\xd7\x0f\xaa\x2e\x96\xec\x1c\xc0\xc6\x46\x68\xaa\xe8\x20\x1c\x0e\xb9\xf3\x63\x87\x29\x97\x4d\xc4\x41\x5d\x27\x11\x3f\xe4\x4b\x5f\x85\xd5\x8d\xc8\x65\xc6\x08\x82\xb9\xaf\x7a\x54\xd4\x34\xd5\xf4\x6e\xdb\x04\xe7\x7b\xa4\x25\x1e\x51\x32\xa2\xe6\xc2\x30\xcf\xf4\xc6\x97\x32\x04\xde\xc4\x90\xcd\x7c\x9f\x66\x59\x03\x48\x49\xd0\xe4\xfd\x0d\x8e\x14\x3a\x94\x1f\x73\xbd\x25\x66\x3f\xc3\x5a\x60\xd0\x64\xf9\x8c\xbf\xdc\xdb\x2e\x8d\xad\xa4\xba\x39\xc0\x98\xa5\x75\x13\x67\x0a\x53\x3b\xb1\x5e\xd5\xea\xe5\x69\x92\x97\xac\x3a\x4f\x21\xc6\x74\x69\x2c\x07\xc1\xe5\xb6\xaa\xd4\xfb\xbc\x62\x6a\x58\xb5\xd1\x3b\xb4\xa9\x6e\xec\xb4\x17\xa3\xc1\x98\x42\x5e\x9c\xa0\xdc\x3d\xf5\x90\xcd\x05\xf1\x0f\xb5\x1c\x90\x9e\xdc\x85\x96\x93\xd1\x10\x59\x6e\x10\x2c\xdb\x9a\x45\x5f\x7b\x21\x94\x96\x45\x69\xcd\x4b\xaf\xf5\x35\xc7\x3c\x0d\xa7\x53\x1a\x30\x96\xc2\xdd\x30\x7e\xfd\x4c\xdb\x47\x79\x02\x51\x72\x4d\x53\x9f\x64\xe2\x7e\x0f\x63\x11\xde\x0c\x5a\x7c\xe2\xcc\xa1\x21\x26\xb9\x4c\x73\x97\xe9\xae\x1e\x89\xcb\xbc\x06\x96\x79\x82\xab\xbe\x09\x7f\x9d\x8d\xd5\x0c\x68\x1a\x5e\x99\x0f\x88\x67\x79\xe2\xbf\x67\xbd\x13\x1b\xc0\xcd\xfc\x26\x37\x7d\x7b\xdc\x77\x10\xce\xe4\x09\x83\x6a\x67\xe9\x26\x2c\x6e\x0d\x66\xd3\x04\x63\x0d\x54\x10\xce\x9e\x97\xe5\x6c\x57\xbc\x13\xa0\x39\x5f\x0c\x85\xa5\xa5\xd8\x3f\x48\xfc\xaa\xf9\x59\x97\xc0\x4b\x03\x17\xa8\xc9\x62\x1e\x23\x0d\x0f\xaa\xf3\xe4\x25\x1b\x8e\x43\x22\x83\xe8\x7d\xb9\xa6\xf4\xe9\x7d\xb6\x81\xc7\xf7\xb5\x2f\xd0\x60\x15\x77\x9f\xa9\xe1\xe7\x43\x39\x25\x11\xcd\xf3\xf2\x40\x60\x99\x43\xf6\xfd\x2d\x2f\x61\xcf\x0b\xd2\xde\x59\x03\xf0\xce\x71\x63\x8d\xc2\x7a\xef\xf5\xe9\x0b\x68\xef\xad\xe3\x0d\x5e\x00\xa8\x7d\xd5\xc2\x0f\x9b\xd8\xbf\x3a\x3c\x54\x5f\x77\x8e\x1e\xf5\x5a\x7b\x3c\x75\xa7\x87\xa9\xa2\xfc\xf6\xce\xde\x6e\x6f\x07\x73\x1e\xec\xee\xb6\x1e\x3c\xc3\xaf\xad\xbd\x47\x0f\x1f\xf5\xf0\x6b\x7f\xbb\xff\xe0\xf0\x58\x95\xdf\xdd\xdd\x7d\xb0\xbb\x8d\x39\x47\xc7\x9d\x47\x9d\x47\xbc\x7c\xeb\x59\xaf\xcd\x53\x8f\x0f\x8f\x1e\xed\xe8\xf2\x0f\x3a\x8f\x8e\x59\x75\x96\xd3\x69\xb5\x0e\x9f\xc9\xf2\xbb\xcf\xfa\x1c\x0a\xfb\x1c\xd6\x1a\x6a\x97\x8e\x75\x6c\xef\x66\x4f\x50\xcb\x9f\x0d\x78\x68\x95\x52\xf7\xd8\x97\xdd\x63\xf5\xf5\xe1\x03\xf5\xb5\xa7\x53\xfb\x3a\xf5\x58\x23\xc5\x2a\x2a\x28\xbb\xc7\x0a\xca\xee\xb1\x82\xb2\x7b\xdc\xd3\xa9\x7d\x9d\x6a\x41\x79\xf8\x40\x41\x79\xf8\x40\x41\x79\xf8\x40\x41\x79\xf8\xa0\xa7\x53\xfb\x3a\xd5\x82\xd2\xd3\xb8\xf4\x34\x2e\x3d\x8d\x4b\x4f\xe3\xd2\xd3\xb8\xf4\x6c\x5c\xfa\x1a\x97\xbe\xc6\xa5\xaf\x71\xe9\x6b\x5c\xfa\x1a\x97\xbe\x8d\xcb\xb1\xc6\xe5\x58\xe3\x72\xac\x71\x39\xd6\xb8\x1c\x6b\x5c\x8e\x39\x2e\x92\x47\x8e\xd5\x20\xb1\xaf\x02\x0c\xfb\x2a\xc0\xb0\xaf\x3d\x9d\xda\xd7\xa9\x06\x32\x6c\x5c\x14\x14\x35\x48\xec\x8b\x82\xa2\x06\x89\x7d\xed\xeb\x54\x0b\x8a\x1a\x24\xf6\x55\x41\x51\x83\xc4\xbe\xf6\x74\x6a\x5f\xa7\x5a\x50\x7a\x1a\x97\x9e\xc6\xa5\xa7\x71\xe9\x69\x5c\x7a\x1a\x97\x9e\x8d\x4b\x5f\xe3\xd2\xd7\xb8\xf4\x35\x2e\x7d\x8d\x4b\x5f\xe3\xd2\xb7\x71\x39\xd6\xb8\x1c\x6b\x5c\x8e\x35\x2e\xc7\x1a\x97\x63\x8d\x8b\x3d\x48\x8c\x2c\x02\x0c\xfb\x2a\xc0\xb0\xaf\x02\x0c\xfb\xda\xd3\xa9\x7d\x9d\x6a\x20\xc3\x28\xaa\xa0\xa8\x41\x62\x5f\x15\x14\x35\x48\xec\x6b\x5f\xa7\x5a\x50\xd4\x20\xb1\xaf\x0a\x8a\x1a\x24\xf6\xa5\xa7\x53\xfb\x3a\xd5\x82\xd2\xd3\xb8\xf4\x34\x2e\x3d\x8d\x4b\x4f\xe3\xd2\xd3\xb8\xf4\x6c\x5c\xfa\x1a\x97\xbe\xc6\xa5\xaf\x71\xe9\x6b\x5c\xfa\x1a\x97\xbe\x8d\xcb\xb1\xc6\xe5\x58\xe3\x72\xac\x71\x39\xd6\xb8\x1c\x6b\x5c\xec\x41\xea\x69\x49\xea\x69\x49\xea\x69\x49\xea\x69\x49\xea\x69\x49\xea\xd9\x92\xd4\xd3\x92\xd4\xd3\x92\xd4\xd3\x92\xd4\xd3\x92\xd4\xd3\x92\xd4\xb3\x25\xa9\xa7\x25\xa9\xa7\x25\xa9\xa7\x25\xa9\xa7\x25\xa9\xa7\x25\xa9\x67\x4b\x52\x4f\x4b\x52\x4f\x4b\x52\x4f\x4b\x52\x4f\x4b\x52\x4f\x4b\x52\xcf\x96\xa4\x9e\x96\xa4\x9e\x96\xa4\x9e\x96\xa4\x9e\x96\xa4\x9e\x96\xa4\x9e\x2d\x49\x3d\x2d\x49\x3d\x2d\x49\x3d\x2d\x49\x3d\x2d\x49\x3d\x2d\x49\xbd\x82\x24\xf5\xb5\x24\xf5\xb5\x24\xf5\xb5\x24\xf5\xb5\x24\xf5\xb5\x24\xf5\x6d\x49\xea\x6b\x49\xea\x6b\x49\xea\x6b\x49\xea\x6b\x49\xea\x6b\x49\xea\xdb\x92\xd4\xd7\x92\xd4\xd7\x92\xd4\xd7\x92\xd4\xd7\x92\xd4\xd7\x92\xd4\xb7\x25\xa9\xaf\x25\xa9\xaf\x25\xa9\xaf\x25\xa9\xaf\x25\xa9\xaf\x25\xa9\x6f\x4b\x52\x5f\x4b\x52\x5f\x4b\x52\x5f\x4b\x52\x5f\x4b\x52\x5f\x4b\x52\xdf\x96\xa4\xbe\x96\xa4\xbe\x96\xa4\xbe\x96\xa4\xbe\x96\xa4\xbe\x96\xa4\x7e\x41\x92\x8e\xb5\x24\x1d\x6b\x49\x3a\xd6\x92\x74\xac\x25\xe9\x58\x4b\xd2\xb1\x2d\x49\xc7\x5a\x92\x8e\xb5\x24\x1d\x6b\x49\x3a\xd6\x92\x74\xac\x25\xe9\xd8\x96\xa4\x63\x2d\x49\xc7\x5a\x92\x8e\xb5\x24\x1d\x6b\x49\x3a\xd6\x92\x74\x6c\x4b\xd2\xb1\x96\xa4\x63\x2d\x49\xc7\x5a\x92\x8e\xb5\x24\x1d\x6b\x49\x3a\xb6\x25\xe9\x58\x4b\xd2\xb1\x96\xa4\x63\x2d\x49\xc7\x5a\x92\x8e\xb5\x24\x1d\xdb\x92\x74\xac\x25\xe9\x58\x4b\xd2\xb1\x96\xa4\x63\x2d\x49\xc7\x5a\x92\x8e\x2d\x49\x12\xb6\xdf\x28\xa5\x73\x7e\x8e\x9d\x92\xc9\xd4\x30\xfd\x1e\xb2\x3f\x58\xaf\xdd\x61\x7f\xf8\xd7\x43\xf6\x07\xbf\x76\xf6\xd8\x1f\xfc\xba\xdd\x62\x7f\xf8\xd7\x1e\xfb\xa3\x30\xdd\xc1\x0f\xe6\xec\x1c\xb1\x3f\x7c\x72\x7c\xc8\xfe\xe0\x57\x04\xc2\x61\xef\x1d\xb2\x3f\xf8\xf5\xc1\x1e\xfb\xa3\xd5\x3b\x22\xc3\x55\x76\x8f\xfd\xc1\xaf\x8f\x76\xd8\x1f\xfe\xf5\x88\xfd\xe1\xea\x02\x4b\xe0\xd7\x67\x1d\xf6\x47\x41\x79\x76\xc8\xfe\x60\x0e\xb6\xc4\x71\xef\xb7\xd8\x1f\xfe\xb5\xc7\xfe\xe0\x57\xc4\x95\xc3\x46\x8b\xf9\x08\x9d\x93\x2f\xea\xf6\x3a\xc3\x9f\xa5\x29\x55\x5b\x5a\x62\xa5\xd1\x90\x51\x85\xe6\xfc\x2c\x63\x96\xd1\x14\xf7\xf1\x46\x8e\x53\x02\xbf\x72\x01\x52\x5a\x9f\xd8\x57\x64\x02\xe9\x0b\x47\x7c\x3f\x49\x03\xe1\x90\x60\xad\x7d\x4b\x0b\xdf\x72\xcb\xaf\x45\xf0\x09\xb6\xf4\x5c\x27\x51\xe8\xd3\x41\x34\xa3\xeb\xfb\xe8\x57\xed\x75\x76\x5a\x0d\xe8\xec\x3c\xe4\xae\xaf\xeb\x0d\x2c\x14\xe7\xe1\x9f\x67\xf4\x7a\x1c\xe6\xba\xdc\x2e\x2b\xb7\xbd\xdb\x80\x4e\xdb\x55\xae\xad\x0b\xb2\x32\xdb\x8f\x58\xc1\x47\x8e\x82\x1d\x55\x70\x9b\x35\xda\xd9\x6e\x40\xa7\xb5\xe3\x28\xb8\xad\x0a\xb6\x76\x1b\xd0\x7e\xd4\x69\x40\xfb\xc1\x9e\xa3\xe0\x8e\x2c\xd8\x66\xad\xb6\xb7\xdb\x0d\x68\x77\x5a\xb2\xe0\x9f\x67\x64\x42\xd2\x30\x56\x3d\x69\x77\x1e\x60\x67\x19\x82\x9d\x52\xa9\xf6\x6a\xc5\x54\x2f\xda\x6d\xd6\x0b\xd6\x95\xf6\xa3\x87\xa5\x62\xaa\x0f\xed\x56\x87\xf5\x93\x75\xe4\x41\x19\x35\xd5\x83\x3d\xec\x00\xfb\xab\xad\x7a\xfa\x97\x59\x5a\x18\x2d\x44\x4a\x8f\x16\x2b\xd0\x5e\x5a\x42\xd3\xbd\xb3\x23\x30\xee\x6c\x3f\x34\x4b\x68\x64\x1f\x6d\x0b\x64\x3b\x2d\x0b\x86\x41\xe9\xb6\x44\x74\x5b\x0e\xf2\x80\x86\x23\x03\x51\x56\x1b\xff\x52\x43\x31\x08\xb3\x3f\x1b\x8c\x87\x38\x76\x90\x70\x7b\x56\x89\xf6\xf2\x22\x05\x26\x6a\x6f\x37\xa0\xfd\x70\xdb\x2a\x52\x60\x9f\x87\xac\xc8\xee\x43\xab\x48\x81\x71\x3a\xac\x5c\xeb\x81\x2c\x12\x11\xff\xbd\x2c\xd0\x6a\x00\xfb\x4f\x67\xc5\xfe\x98\x06\x24\x9a\x24\x71\x50\x60\x7c\x8b\x6a\xa6\xa4\x71\x18\x7a\x54\x58\x5e\x7b\x51\x66\xa7\x90\xa9\x46\x8b\x65\x6e\x17\x32\xad\x26\x77\xec\x4c\x63\x8c\xa2\x19\xbd\x0a\x93\x88\xe6\xba\xeb\x0f\x1b\xb0\xc3\xc6\xbb\xa3\x48\x9c\x26\xd7\xb1\xca\xdf\xdb\x6d\xc0\x4e\x87\xfd\x6f\x66\xdb\x63\xb4\xb7\xc3\xfe\x37\xf3\xed\x01\xda\x7d\xc4\xfe\x37\xf3\xed\xd1\xd9\x6d\xb3\xff\xcd\x7c\x7b\x68\x18\x51\xb7\x55\x07\x67\x69\x34\xbf\x4e\x12\x4d\xf8\x0e\x53\x0d\x0f\x77\x58\x47\x4b\x85\x0a\xcc\xd4\x66\x7c\xbb\x5b\x2a\x65\xa3\xdb\x7e\xf4\xe0\xff\x67\xef\xdf\xbb\xdb\xb8\x91\x84\x71\xf8\x7f\x7f\x0a\xd8\x4f\x36\x24\x6d\x8a\x12\x65\x59\xbe\x64\x94\x79\x34\x8e\x33\xeb\x3d\x8e\x93\x8d\x9d\xcd\xbb\x47\xd1\x78\x41\x36\x48\x76\xd4\x6c\x30\x8d\x6e\x49\x9c\xd8\xef\x67\xff\x1d\x54\x15\x80\x02\xba\x79\x71\x92\x99\x9d\x99\x27\x73\xc6\x8a\xd4\x5d\x8d\x46\x17\x0a\x85\xba\xd7\x50\x8c\x4f\x5a\x50\x09\x49\x3d\x3e\x02\xa2\x49\xa1\x12\xaa\x1a\x3f\x1a\x8a\x27\x0e\x68\x2a\x33\x55\x73\xa2\x78\xfa\x08\xc8\x72\x28\xc6\xa7\x47\x29\x4c\x60\x45\x8f\x8e\xdd\x66\x7a\xd4\x1a\x29\x70\x22\xbb\x4a\xc7\xc7\x4f\x39\xa5\x78\xa8\xb0\xb7\x01\x59\xf6\x03\x03\xc9\x78\x28\x3f\x75\xd8\x2d\x0f\x4f\x38\xe9\x4c\x17\xb2\xaa\x2b\xd5\x98\x0e\x46\x7a\xd4\x82\xe9\x60\xa3\x6d\xa0\x0e\x26\xda\x06\xea\x60\xa1\x6d\xa0\x36\x03\x0d\x30\x7a\xaa\x0b\xc9\x0e\xb2\xb1\x5d\x36\x3b\xcc\xc3\x16\x4c\x4c\x2c\x30\xf5\x87\xa7\x29\x50\x42\x2b\x76\xea\x0f\x1f\xa6\x40\x09\xa9\xc0\xd4\x9f\xa6\x40\x31\xa5\xc0\xd4\x3d\x8c\xae\x64\xd1\x9e\xcd\x93\x23\x7e\x3f\x99\xee\xf8\x64\x28\x9e\x9c\x72\x80\x64\xaa\x47\xa7\xe9\x08\xf1\x34\x9f\x8e\xed\x2c\xf8\xfd\x64\x86\x96\x0d\x3c\x0e\xf7\xcb\x19\x58\xff\x39\x3d\x8f\x8f\x2c\x76\x4f\x80\x08\x39\xa4\xc9\x8b\xab\x78\x27\x82\xc8\x71\x7c\x94\xc0\x8c\xf7\x01\x4a\xb8\xff\xc3\xe3\x88\x98\x09\x28\xfe\xb4\x63\x98\xd7\xe3\x74\x4a\xa9\xe8\x70\xca\x45\x87\xe9\x5a\x96\x8c\x91\x26\x87\xaa\xbd\x3b\xde\x7e\x9b\x33\xf0\xe4\xc0\xb5\xb7\x39\x0b\x4f\x4e\x5b\x7b\x9b\x33\xf1\xe4\xa8\xcd\x64\x75\xd5\x3e\x5a\xe2\xfb\xc9\xec\x3b\x46\x98\xeb\x22\x53\x65\x15\x18\x29\xf1\x50\xfb\x63\xdc\x05\x97\xd0\xdb\x13\xe0\x5d\x5d\x80\x09\xdd\x3d\xb6\xdc\xe4\xa4\x0b\x30\xd9\x26\x27\x70\x0c\x77\x01\x26\x0b\x75\x34\x1e\x8a\x27\x1c\xae\x92\xeb\x70\x62\x59\x08\xfa\x11\xc1\x28\x15\x61\xe4\x88\x1d\xe9\x04\xb0\x73\x90\xab\x85\xbc\xca\x03\xbe\x9e\x3a\xc9\xc2\x8b\x0d\x16\x68\x29\xe7\xaa\xac\x65\x34\xe5\xd6\xfa\xe8\x22\xbf\x56\xd1\x9c\x9e\xa0\xfc\xc1\xf6\x58\x0c\x17\xd0\x0f\xec\x04\xf7\xfc\x71\x27\x68\xe0\xac\x4f\xbc\x78\x7a\x74\xd2\x09\x1a\xf8\xeb\xa9\xe3\xaf\x4f\x8f\x3a\x21\xc3\x1a\x8c\x1d\x41\x9d\x72\x3a\xd1\x95\xd5\x7f\x62\x1a\x39\x49\x70\x8c\x30\x1d\x7c\xb6\x0d\xd4\xc1\x67\xdb\x40\x1d\x7c\xb6\x0d\xd4\xe6\xb3\x31\xcc\x74\x91\x87\x3d\xf0\xe8\xe1\x50\x80\xae\x13\xe3\x0b\x80\xc2\xa9\x06\xac\xf2\x98\x6f\xf8\x00\x15\x90\xff\xd8\xca\x3e\xd1\xbe\x0f\x50\x01\xef\x8f\x4e\xdc\x1b\xdb\x63\x85\xa9\x1f\x9d\x0c\x45\x7c\x22\x5b\xa8\x4a\x65\x29\x99\xf1\x6f\x33\x20\xa2\x06\x44\x82\x10\x0c\x62\x0b\xa7\x1b\xa3\x64\x44\x88\xe3\x13\x90\xa7\x2d\xd6\x4f\x1e\x76\xc0\x8d\x63\x45\x01\xd6\xf0\x69\x17\x20\x23\x43\xc7\x02\xc7\x4f\x8e\x3a\x00\x19\x32\x1e\x39\x3d\x29\xc2\xac\x03\x64\xf8\x78\xe4\x98\x5a\x84\x36\x63\x0f\x56\xce\x1b\x1f\x1f\x5b\x32\x4d\xf1\x06\x60\x9c\x6b\x9c\x3c\x1e\x8a\xc7\x4f\xed\xbf\x2e\x28\x26\x8a\x8d\x5b\xac\x3e\x82\x64\xe2\xd8\xb8\xc5\xf5\x23\x48\x26\x92\x8d\x5b\x07\x40\x04\x19\xc4\xb2\xe3\x4e\x46\x4e\x80\x6a\xfb\xc7\xd4\x4d\xf5\x53\xa3\x73\xa3\xa2\x63\xe7\xd4\xfe\xe0\x60\x89\x7a\x60\x4f\xe0\x23\x10\x9c\x1d\x8c\x9a\xe4\xb2\x64\x74\x77\x6c\x25\x5c\x2b\x9b\x04\x08\xb5\x5a\xe5\x65\x72\xde\x83\x5c\xf0\x38\x01\x19\xef\x01\x93\xf0\x01\xfb\xef\x61\x0a\x93\xb0\x81\x53\xe0\x17\x09\x4c\x7a\x84\x30\x59\xc8\x82\x98\xab\x75\x72\xa4\xc2\x26\x67\xcb\x1c\x80\xc6\x7b\x41\xf1\xe3\x1f\x58\x01\x23\x84\x00\xc5\xa5\x00\x60\x05\x8c\x08\x02\x54\x24\x0c\x1c\xc5\x6c\x20\x5f\x46\xc7\x1f\x32\xc2\x47\xd1\xc6\xb0\x20\x6a\x3b\x88\xce\xe6\xb1\x28\xf7\x10\x56\xe3\x24\xfa\x38\x0f\x34\xde\x0b\x2a\x2c\xdd\x13\x12\x2c\x18\x0a\x3c\x54\x58\x3c\x90\x3c\x4e\x23\x14\x78\xa8\xb0\x7c\xa7\x43\xf1\xf8\x09\xc7\xc0\x2c\xaf\xd4\xa4\xca\x83\xba\x0e\xd8\x7e\x08\x0c\x33\x05\x89\x29\xce\x52\xf7\xc9\x93\x14\x26\xa6\x38\xfb\x71\x27\xad\x71\x62\x8a\xb3\x70\x0f\x5b\xe3\xc4\x14\x77\x6c\x3f\xcc\x89\xe7\xb3\xc2\x8a\xd7\x89\x85\x0d\xb8\x0a\x98\xe3\x1c\x61\xce\x74\xa5\x4c\x1d\x31\x67\x3a\x03\xd8\xb7\xcd\x65\x5e\x9a\x89\xae\x74\x50\x88\x8f\x40\x6c\xe6\xb2\xf3\x7c\xa1\x4d\x1d\xbf\x0f\x84\xeb\xd8\xf2\x67\xe5\xad\x44\x61\x66\xfa\x96\xbd\x9b\xea\xd3\xc9\xed\x44\x34\xb7\x72\x1a\xbf\x9d\x6a\xd0\x0f\xe3\xdb\xa9\xea\xfc\x38\xbe\x1d\x09\xab\xc7\xc0\x09\x4e\x2d\xf2\x8f\x53\x98\x44\xbe\xb0\xa7\x94\x67\x19\x9b\x84\x54\x7b\x42\x05\x94\x6e\x10\x50\xe1\x9b\x9f\xa6\x40\x29\x67\x01\x56\xe6\x80\xf8\xd6\x7c\x0a\xfc\x02\x7f\xb0\xfb\x47\xb1\x1c\xcf\x6f\x85\x7d\x36\x14\xf6\xff\xfc\x96\x7f\x0c\x29\x8b\x51\x17\xde\x3e\x4a\x28\x2b\x3a\xb4\x00\x64\xcc\xf7\x27\xfe\xe3\xb7\x3d\x86\x1e\x8e\x87\x02\xff\xf1\xdb\x1e\x37\x56\xac\xc0\x7f\xfc\xb6\xc7\x8a\xd5\xaa\xf0\x1f\xbf\xfd\xc8\xdf\x7e\x92\xec\x1f\xb8\x7d\xea\xcf\xb2\xf1\x50\xe0\x3f\x7e\xfb\xb1\xbf\xfd\x10\xcd\x57\x27\xd1\xbb\x9f\xf8\xdb\xa7\x43\x81\xff\xf8\xed\xa7\xfe\xf6\x93\x84\x07\x44\x47\xf8\xa3\xa1\xb0\xff\xe7\xb7\x3c\x4e\xd1\x64\xc5\xcc\x56\x70\xdb\x23\x14\x64\x3a\xf8\xc7\x6f\x87\x91\x4f\x87\x02\xff\xf1\xdb\x1e\xa1\x68\x2f\x63\x36\x33\xb8\x1d\x8c\x1c\x63\x14\x69\x4e\xa3\x77\x7b\x84\xa2\x35\x8e\x59\xe4\xe0\xb6\x47\xe8\xe9\xe9\x50\xe0\x3f\x7e\xfb\x31\xb7\xa0\xe0\x3f\x7e\xdb\x23\xf4\xf1\x78\x28\xf0\x1f\xbf\xed\x11\xfa\xf8\x64\x28\xf0\x1f\xbb\xed\xbf\xeb\xc9\x50\x3c\x09\x8a\x1b\xdc\xf2\x08\x7d\x6c\x65\x16\xf8\xc7\x6f\x7b\x84\xa2\x38\xc3\x44\x1a\xb8\x7d\xcc\x25\x23\xfc\xc7\x6f\x87\x17\x9f\x0c\x05\xfe\xe3\xb7\x83\x5c\x65\xc5\x17\xf8\xc7\x6f\x7b\x84\x5a\x35\x0f\xff\xf1\xdb\x1e\xa1\x4f\x8f\x87\x02\xff\xf1\xdb\x1e\xa1\x4f\x4f\x86\x02\xff\xf1\xdb\x1e\xa1\x4f\x1f\x0f\x05\xfe\xe3\xb7\x3d\x42\x9f\x3e\x1d\x0a\xfc\xc7\x6e\x33\x29\x18\x25\x99\x31\xe7\x19\x27\x47\xe1\xf6\x31\x29\x45\xe3\x23\x3e\xb9\x93\xf1\x36\x51\x00\x20\x82\x1c\x6b\x35\x52\xf7\x83\x43\x3c\x8c\xd5\x41\xfa\xc1\x21\x98\xc2\x78\x0c\xba\x2a\x57\x58\x01\xe2\x51\x80\x78\x44\xb6\xd2\xf1\x38\x9a\xc7\x69\x80\x78\x4c\x47\xc2\x78\x1c\xcd\xe3\x71\x90\xa3\x41\xb3\x39\xe2\x36\x1c\x80\x78\x12\x20\x8e\x41\xf7\xe1\x0a\x10\x40\x3c\x0d\x10\x8f\x9c\x27\xe0\x98\xcf\x23\x4c\x14\x2c\xa3\xf6\x1f\xbf\x1b\x30\x6e\x75\x59\xf7\x83\x43\x04\x8c\x83\xc4\x44\x3f\x38\x44\xc0\x38\xa8\x69\xf4\x83\x43\x04\x8c\x3f\x04\xe5\xe7\x11\xb7\x78\x03\x04\x3b\x89\x40\x42\xc2\x1f\x1c\x22\x7c\xc8\xc9\x11\xe9\xe7\xe3\x93\x68\x1e\xa7\xb1\x1a\x48\x3f\x38\x44\xc0\xf8\x09\xe8\xf8\x8f\xb8\xb5\x1c\x20\x9e\x44\xfa\x83\xfb\xc1\x21\x02\xc6\x41\x1f\xa5\x1f\x0c\x22\x4c\x03\x0e\x5e\x66\x6a\x82\xbb\x47\x91\xc2\xee\x7e\x70\x08\xa6\xb3\x59\x7d\x80\x7e\x70\x88\x80\x71\xb0\xc0\xd3\x0f\x0e\xc1\x8c\x23\x56\x85\xa4\x1f\x1c\x82\x89\xa5\x76\x0a\xf4\x83\x43\x04\x8c\x5b\xae\xeb\x7e\x70\x88\xf0\xa9\xa7\x20\xd3\xe0\x0f\x0e\x11\x30\x6e\x79\xaf\xfb\xc1\x21\x02\xc6\xc1\xda\x46\x3f\x38\x44\xc0\xf8\xe3\x53\x70\xa5\x72\x7f\xaa\x85\x08\x2f\x71\x7a\x16\x9f\xc3\xe3\x80\x71\xcb\x87\xdd\x0f\x0e\x11\x30\xfe\xc4\x4e\x90\x7e\x70\x08\x66\x10\x38\x71\x3e\x9b\x88\x27\x3f\x0e\x18\x7f\x62\x27\x48\x3f\x38\x44\xc0\x38\x9a\xdf\xf0\x07\x87\x08\x18\xb7\xba\x99\xfb\xc1\x21\x02\xc6\x2d\x67\x76\x3f\x38\x44\x40\xc6\xd3\x53\xf0\x3f\x72\x27\x24\x40\x04\x8c\x3f\x05\xcb\x3d\xfe\xe0\x10\x4f\x83\xf0\x38\x26\x61\xf8\xf8\x88\xcf\xe3\x49\x00\x40\xed\x37\xe2\x5b\x4f\x82\x00\x77\x04\x7a\xe1\x09\xb7\x4a\x01\x04\x33\x09\x82\x47\x07\x7f\x70\x88\x20\xe5\x1e\x3d\x05\x55\x9f\xeb\xfb\x00\x11\x44\x5c\xcb\xa0\xdd\x0f\x0e\x71\x12\x20\xec\x14\xe8\x07\x87\x78\x14\x20\xec\x14\xe8\x07\x87\x38\x0d\x10\x18\x1a\xc0\xe3\x03\x00\xe2\x71\x50\x5f\xc0\x91\x85\x3f\x38\x44\x40\x17\xb8\xb0\xe9\x07\x87\x08\x18\x07\xb7\x13\xfd\x60\x10\x01\xe0\xa1\x55\x46\xed\x3f\x7e\x37\x60\x1c\xfc\x68\xf4\x83\x43\x04\x8c\x83\xdb\x81\x7e\x70\x08\xa6\x57\x78\x87\x70\xc4\xa5\x9f\x06\x8c\x3f\x7c\x0c\x8e\x12\xee\x2d\x01\x88\x80\x71\x0c\xcf\x88\x94\x42\x80\x08\x18\x07\xb7\x1f\xfd\xe0\x10\x01\xe3\xc1\x17\x1f\x71\xe9\xa7\x01\xe3\x27\x76\x0a\xf4\x83\x43\x04\x8c\x83\x5e\x4a\x3f\x38\x44\x40\x28\x38\x29\xe9\x87\x87\x88\x4d\xee\x91\x1f\x30\x36\x25\x76\xde\x6d\x39\x50\xa2\xbb\x2d\xff\x49\x74\xb7\xe5\x3e\x89\xee\xae\x55\x51\xe8\x9b\x88\x67\xa2\x41\x20\x7c\xbe\xda\xa1\xb7\xa9\xcd\x7a\x9b\xda\xac\xb7\xa9\xed\x7a\x9b\xda\xad\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xac\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xcd\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xaa\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\xad\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xaa\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\xad\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xaa\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\xad\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x1d\x7a\xdb\x42\x97\x6a\x9d\xa9\x9b\xf8\x6b\x30\x22\xef\x28\x81\xe9\x8a\x3c\x6f\x01\x75\x05\x9f\x7b\x0a\x70\x40\x1d\xf1\xe7\x21\xac\xc4\x01\x75\x86\xa0\x8f\x3d\x50\xdd\x0a\x3c\x40\x21\xe9\xc9\x51\x0c\x92\x86\x4e\x1e\x75\xc0\x74\x44\x4f\x8e\x4f\x1f\xc7\x30\x49\x00\xe5\x29\x38\xc3\x63\x90\xd8\x3b\x68\x0f\x2b\x9f\x28\x90\x97\x59\x12\x4b\x01\xa3\x70\x99\xd4\x83\x24\x33\x86\xd9\x1c\x9d\xa6\x50\xf1\x9c\x23\x01\xd4\xc3\xc4\x73\x7e\xc2\xe3\x93\x3d\x4c\x7b\xd2\xfe\x80\xcd\xaf\x75\xb5\xee\x50\x51\xfd\xa2\x03\xc0\x78\x27\x44\x1a\xc5\x19\xd1\x04\x40\xa4\x21\x9c\x11\x41\x00\x44\x1a\xbf\x19\x51\x43\x14\xab\x87\xd4\xf9\x30\x12\x9b\x00\x20\x8d\x38\x3d\xe5\x62\x13\x40\xa4\x13\x3d\xe2\x02\x1e\x40\xa4\xa9\x2a\x4f\xb8\x38\x0c\x10\xe9\x44\xad\xaa\xe5\x10\x5a\xc8\x6b\x55\x66\xaa\x0a\xaf\x71\x53\x0d\x7b\xd6\xc1\x4c\x8a\xc6\x2c\x92\x19\x1f\x71\x06\x11\x01\xa6\xdf\xb6\x19\x32\xcd\xca\x39\xe1\x0c\x34\x82\x4c\xbf\xf5\x21\x84\x93\x77\x41\x76\xe5\xe5\x78\x0f\x7b\x21\x6f\xca\x38\xe8\x0c\xde\xf9\x88\x05\xf0\x15\x6a\xa9\xcb\xe9\x22\x9f\xcd\x58\x08\x5b\x08\x92\xf0\x7a\x0f\x87\x4b\xc9\x6e\x23\x60\xba\xa8\x0f\xb9\xac\xc1\x01\x53\x22\x04\x51\xb2\x6b\xc4\xf4\x73\x1f\x73\xad\xa9\xc8\xe7\x8b\x28\xf0\x1f\x4d\x4e\x10\xec\xe2\xd5\x09\x0f\x14\xc7\x19\x62\x32\x95\xb7\x00\x79\xa8\x38\xce\x10\x33\xa9\xbc\xd2\xe0\xa1\xe2\x38\x43\x48\xa3\x62\x18\x71\x50\x71\x9c\xa1\xe3\xad\x1c\x2a\x8e\x48\x07\xfd\x03\xa2\x7a\x8e\xa3\x37\xf2\xa8\x63\xa4\xa2\xd8\x7c\xe5\x81\xc6\x7b\x41\x25\x52\x50\x1c\x4d\xe7\xa1\x98\xec\xd9\x0e\xa5\xf6\x50\x27\xb1\x36\x19\x87\xd1\x01\x54\x3b\xc6\x04\x37\xc3\x98\xeb\x7c\x31\x64\x9a\xf6\x76\xba\x79\xd0\x74\x8b\x1d\x6d\x1e\x35\xdd\x63\x47\x2d\x52\xda\x14\x7b\x62\x25\x1f\xaf\x1c\xc4\x90\xb1\xc9\x93\x09\x06\xe3\x78\x12\x2c\x60\x05\xd2\x65\xdc\x8f\x18\x28\x0a\x17\x75\x67\x7a\x38\xfb\x1c\xd4\xee\xa1\xda\x07\x36\x44\x39\x7a\x3e\xef\x81\x92\x03\xf0\x31\xe8\x20\x8f\x52\xa8\xe4\xd0\x3e\x3d\xe6\xfa\x94\x87\x4a\xe3\xce\x31\x69\x21\x85\x8a\x71\x0b\xa9\x3a\x47\xd1\xdc\x93\xf0\x5a\x98\xd7\x69\x14\x5e\xcb\xc0\xc6\x7b\xc2\x25\x5f\x00\x31\xf1\xe3\x93\x36\x5c\xf2\x0d\x76\xe5\x9f\x3e\x69\x83\xc5\x1f\xf1\xe4\x31\x33\x20\x22\x54\x12\xfc\xfb\xf0\x98\xa2\x15\x43\xa2\x22\xc2\xc5\xf1\x91\x63\x4c\x74\x3b\x8d\x0e\x29\x06\x37\x8e\xb4\xd6\x63\x30\x73\xc7\xfb\x3b\x8d\x92\x1c\x9f\x9e\x38\x0a\x89\xb7\x78\x1a\x28\x09\x91\xb5\x40\x25\xc9\x2e\x4f\x63\x25\x41\x1c\x3b\x7e\xd8\xda\x92\xad\x18\xe1\xf1\x43\x67\xe7\x4a\xe7\x98\x86\x09\x8f\xc7\x3e\x4f\xe4\xd1\xc3\x0e\x48\xb5\x07\x64\xad\x54\x11\x1f\x05\x4e\x53\x3d\x4e\xe8\xc1\x41\x26\x91\xff\xc7\x6d\x66\xe9\x41\x93\xc8\xff\xf1\x51\x1b\x9d\x0e\x34\x8e\xfc\x07\xb5\x3f\x45\xa8\x03\x4d\x42\xff\x3b\x70\x9a\x72\x17\x2f\xf4\x1d\x9f\xb4\xc1\xba\x84\xc3\x2e\xb8\x2e\x11\xf1\xa8\xe3\xb5\x5d\x82\xe2\x93\xa3\x36\x5c\x97\xb8\xc8\x50\xbe\x8c\xf3\x31\x1e\xb9\xc3\x84\x11\x78\xa9\xca\x98\x83\x92\x58\x49\x00\x49\xe6\x07\x7a\xb4\xf8\x62\x11\xc0\x78\x27\x44\xfc\xe9\xd1\x2a\x12\x44\xfc\xd1\x91\xa0\x43\x10\xf1\xe7\x46\x19\x28\x4b\x59\xe9\xc0\xb9\x80\x02\x4f\xac\xc2\x70\x1a\xdd\x8f\xa7\xf9\xe8\x98\x5b\x8e\x10\x22\x09\x95\x7d\xc2\x55\x24\x84\x88\xa7\x09\x5b\xd7\x9f\x12\x08\x91\x84\xc9\x72\x05\x69\xa9\xb2\xbc\x59\x76\xe4\x70\x77\xa4\x53\x23\x6c\x47\xc6\x6d\x40\x0b\x40\x24\xf9\x1e\x4f\x4e\x51\x07\x0a\xc7\x12\x07\x8b\xc5\x94\xf1\x51\xc4\x22\x38\x60\x2c\xa9\x3c\x7d\x14\x2d\x18\x83\x8b\x65\x95\x98\x89\x71\xb8\x58\x5a\x79\xf4\x28\x5a\x3c\x80\x5b\x35\xd5\xaa\x08\x18\x39\x79\xec\x58\xd8\xb8\x0b\x8e\xf1\xe3\x31\xd9\xb1\xd3\x0f\x41\x40\x66\x5c\x85\xed\x31\x6e\x7f\x09\x02\x32\xab\xf6\x63\x0a\x4a\x4f\x3f\x05\x01\x03\x3f\x7e\x88\x3e\xa8\xf4\x4b\xd2\x23\x08\x8e\x46\xb0\x53\x7a\x6b\x3d\x01\xb6\x18\x37\x70\xa2\xa3\x93\xf6\x1c\xcd\xaa\xca\xcb\x79\xdb\x01\x8d\x51\xf6\x11\x68\x2b\x31\xe2\xf1\xb1\xb7\xb8\xc5\x90\x98\x1b\xc1\x73\x6e\x9e\x82\x3d\x8c\x2b\x84\xcb\x3c\x2b\x53\x61\x1f\x19\x36\x17\xe2\x96\x79\x59\x4f\x2b\x25\x97\xb1\xb1\x87\x94\x16\x0f\x64\xea\x75\xa5\x4d\x47\xce\xfc\xb1\xf7\x72\x78\xa0\x8e\xb4\xf9\x0e\xa8\x8e\xcc\xf9\x20\x00\x7a\xa8\xae\xe4\x79\x6f\x11\xf6\x50\x5d\xf9\xf3\xde\x2e\xb7\xd4\xd3\xa9\x34\x79\xd9\x9e\x55\x18\xa9\x94\xd7\xf2\x47\xdd\x11\x05\x7f\x1c\x89\x6d\x0c\x2c\xfd\xc8\x4d\x70\x69\x1c\xfa\x63\xee\x00\x60\x70\x69\x40\x7a\xa4\x14\x30\xb8\xf4\x53\xc7\xcc\x2f\x58\xca\xeb\x75\xcc\x72\x82\x52\x64\xef\x75\x64\x6a\xfa\xfb\xba\xc8\x0a\x39\x65\x5f\xff\xd0\x99\xfc\xfc\x99\x02\x09\x78\x59\x25\x27\x81\xf9\x41\x7a\xfa\x31\xcb\x89\xf7\x30\x4c\x73\x74\x39\x82\xa7\xc7\x29\x10\x53\x1c\x9d\x56\xf5\xe8\x49\x0a\x14\xeb\x8d\xf1\x39\xe8\x81\x3a\xd2\xb1\xbc\x86\xdf\x95\x0e\x78\xca\xa2\x34\x3a\x53\x01\xdb\x00\x89\x38\x6c\x27\x13\x03\x24\x4b\xf8\xf0\x61\x0a\x90\x88\xf1\x47\xe9\x7d\x6e\x7f\x03\x84\x3d\xed\x80\x18\xef\x06\x89\x67\x7a\xda\x9a\x68\xcb\xf4\xf6\xa8\xf5\xb1\x2d\xcb\xdb\xc3\xc7\x1c\x84\x1f\x5c\x98\xff\x80\x0c\xff\x24\x82\x48\x50\xfa\x70\xcc\x79\x4a\x7a\x5a\x01\x52\xc1\x66\xef\x39\x58\x72\x50\x1d\x7b\x57\x73\x70\x82\xa4\x67\x94\x9d\x2a\x72\x76\x77\xf8\xaf\x64\xa1\x36\xe8\xd3\xa8\x61\x1c\x71\xc0\x48\x9d\x44\x5b\x34\x14\x6a\x38\x4e\x81\xc6\x31\x55\xc2\x07\x7a\x76\xee\xa1\x8e\xb7\xa9\xa6\x1e\xea\x61\x6c\x7a\x42\x2d\xaa\x05\x15\x82\x0d\x5c\xe2\xcd\x13\x0e\xd3\x3a\x3c\xc6\x8f\x1f\xb5\x2c\x15\x11\x20\xf3\xb6\x3d\x6e\x59\x3e\x22\x48\xb6\x4f\xdb\x25\x5b\x22\x48\xb6\x59\xdb\x16\x90\x08\xf2\x24\x12\xa1\x12\x2b\x88\x85\x6c\x9d\x71\xe0\xf3\xc1\x20\x80\x93\xc7\x5d\x80\x29\xbd\x1d\x71\x27\x67\x04\x99\x92\x1d\xac\x71\xe7\xcb\x53\xea\x3b\x49\x69\xcb\x43\xb6\x89\xd0\x9b\x0e\x56\x72\x25\xd7\xf2\x66\x91\xaf\x12\x2b\x0d\x1c\xda\x1e\x4a\xc9\xe9\x62\xd5\xcc\x66\x31\x10\x3a\x52\x1f\xa5\x40\x69\xfe\x53\x37\x54\x7a\xfc\x44\x5e\x5d\x0f\x95\x1e\x3e\x8f\xb8\x15\xc2\x43\xa5\x49\x51\x4f\xb9\x19\x62\xa5\xaa\xa6\xcd\xff\xbc\x23\xbb\x6d\x5c\x41\xfb\x1f\xbf\x9f\x66\xf5\x8f\xb9\x41\xb7\xcb\xa4\xf2\x94\x3b\x7f\xbb\xac\x29\x8f\xb8\x3f\xbe\xc3\x90\x02\x5f\xe0\xef\x17\x4d\x10\x82\x80\x22\x4e\x21\x71\x6d\xcc\xee\xa7\x53\x7c\x1c\x6d\x99\xa2\x59\xa6\x05\x07\x22\x81\xd0\x02\xa4\x79\x5c\x91\x5e\x60\x01\xd2\x1c\xae\xe3\x68\x5f\xe8\x9b\x2c\xa9\x73\x81\x56\x8d\x13\x7e\x50\x27\x02\xb9\xfd\x0c\x70\x33\x9e\xc4\x00\x8c\x85\x51\x06\x22\xfb\x96\x44\x04\xb7\xa8\x3c\x89\x3f\x26\x91\xbd\x8f\x29\xfb\x90\x7d\x4d\x2c\x74\x83\x6e\x13\x99\x25\xd3\xf3\x8e\x1d\x88\xad\xdd\x1c\xdf\x6b\x29\xa5\xec\x5e\x4b\x1d\x65\xf7\x5a\x8a\xa8\xbf\xa7\xcd\x3a\x2e\x37\x44\x59\xe7\xdc\x09\xe3\x81\x3a\xd2\xfa\x82\x9d\xd0\x43\x75\xe4\xf5\x05\x63\x80\x87\xea\x48\xec\x0b\x19\xe7\x1e\xaa\x23\xb3\x2f\xc4\x5b\x55\x7a\x2d\x23\x43\xce\xa9\x3f\x28\x8f\x5b\x30\x63\xae\x5c\x60\xbd\x9b\x47\x2d\x20\x3f\xf5\xd3\xc7\xe4\x94\x0c\x0b\xef\x81\x42\xb4\xe1\x13\x52\x34\xdb\x33\x0a\x31\x9c\x4f\x51\x12\x09\xab\x6f\x64\x96\x15\x2a\x46\x7a\xab\xfc\x4c\x6a\xd8\xf4\xd6\x7e\x2f\x6a\x74\xda\x34\x4f\x8e\x38\x7e\x3a\xcd\x99\xf6\x74\xf0\xea\x7d\xa7\x21\xd3\x9e\x34\x4f\xe2\xd7\x24\x3c\xfe\x74\x28\x1e\x3d\xf6\x00\x65\x16\x93\xd0\xb1\xdd\x30\x60\x4c\xf4\xd6\x8c\x54\xc1\x3c\x39\x75\x47\xf9\xe3\x04\x62\xcc\x4f\x7b\x12\x2f\x9e\x26\x30\xfe\x8b\x1e\xfb\xda\x1a\x3e\x46\xaa\x55\xd0\xe0\xf4\xb1\x17\x2d\x52\x98\x93\xad\xd3\x31\x0b\x55\xc4\x15\x80\x48\x2f\x78\x92\xc0\xa4\x4e\xbe\x4e\xa0\xd4\xf9\xf0\x94\x1b\x1b\x1d\x50\xea\x76\x78\xcc\x7d\x62\x0e\xa8\xc3\x93\x19\xdc\x18\x26\x57\x65\x29\x23\x16\xf8\xe4\x78\x28\xbc\xcf\x11\xef\x77\x08\x0c\x5e\x5e\x40\x88\x0e\x41\xc1\x5b\xad\x11\xa2\x43\x40\x08\x34\x01\x10\x6d\xc1\x20\x60\x65\xa3\x2d\xdb\x6b\x54\x2d\x33\x36\xb3\x77\x27\x30\x81\x5d\x03\x9f\x85\x13\x36\x7d\x15\xab\x62\xf5\x84\x82\xc9\xc2\xb6\x4d\xed\xd6\xe0\xda\x18\x47\x27\x50\xdb\xf2\x61\xa7\xf2\x34\x3a\xc6\x3c\x0c\x9b\xb4\x3d\x4f\xc7\x51\x81\x02\x0f\xc5\xa6\x0d\x81\xa6\x91\xfb\xd0\x43\x3d\x8c\x34\xbc\x27\x4f\x3b\x5f\x18\x66\x6e\x17\xea\xa8\x35\xf1\xd8\x82\x7e\xec\x98\x89\x17\xc9\x3b\xea\x6c\x3c\x7d\xd2\xf2\x1a\x74\xd4\xd8\x78\xf2\xa8\xe5\x32\xe8\xa8\xaf\x01\x86\xac\xd8\xd4\xd6\xae\xad\x81\x0b\x13\x5b\xb6\x3b\x8c\xfa\x1d\x93\x2f\x5b\x76\xef\xc8\x75\x6f\xef\x77\xb9\xa5\x23\x80\x0e\x77\x74\x50\xc8\x2c\x40\x87\x1b\x3a\xa8\x63\x16\xa0\xcb\xfd\xec\x25\xe6\x4d\xd6\xb0\x47\x3c\xde\x95\x01\xb5\xd2\x32\x3a\xa1\x5a\xe9\x19\xa1\xe8\x06\x83\x6a\xa5\x69\x84\x98\x66\x06\xd5\x4a\xd7\xf0\x71\xec\x2d\x7f\xc9\x63\x1f\x88\xeb\x8f\xf5\xb6\xa7\xe4\xe9\x53\x8a\x53\x64\xf4\xd3\xf2\x91\x60\x4d\xd1\x78\xbf\xb6\xbc\x23\x60\x13\x3a\x89\x44\xac\xb6\x5f\x04\x7c\xeb\x47\x11\xe5\xd7\xcc\x13\x4e\xf1\x45\x3c\xf8\xa4\x96\x2d\x8f\xe0\x23\x16\x26\x5f\xcb\xf4\xe4\xb4\xaf\xf0\x3a\x44\x2d\xd3\x63\x33\x92\xfb\x6b\x59\xb6\xad\x1e\x5e\xa0\xaa\x17\xb9\xa9\x0b\x56\x11\xef\xd4\x95\x31\xf1\x55\x47\x09\x24\x35\xb7\x45\xba\x2a\xc1\xa4\x16\xc5\x48\x6a\x21\x98\xd4\x9e\x18\xb9\x9a\x08\x26\x35\xb1\x45\x3b\xb1\xd6\x4b\x59\xeb\x68\x36\x4f\x9f\xb2\x63\x03\xef\x8f\x77\x01\x24\xe1\x51\xc7\xec\x58\x41\x80\x78\xa2\x76\xe9\xfd\xa9\x82\x00\x49\x60\xd4\x09\x3b\x55\x5a\xa6\x80\x53\x1f\xed\x78\xd4\x82\x89\x76\x58\x5c\xda\xb1\xad\xff\x1f\xb5\x0a\x3b\xb6\x35\xff\xa3\x56\x59\xc7\xb6\xce\x7f\xd4\xaa\xea\x18\x57\xfb\x09\x22\x5a\x78\x53\xdb\x1e\x60\x19\x25\xd8\x70\x3c\x0b\xdc\x60\x0a\x00\xb7\xa2\x67\x73\x1b\xac\x00\x10\xbd\x7d\xd2\x02\x4a\x2c\x65\x51\x72\xc0\x06\xdd\xdf\x7e\x99\xcf\x23\xb9\x59\x28\x19\xbe\xeb\x24\x18\x8b\x9f\x72\x80\x34\x7c\x63\xcc\xa3\x96\x01\x22\xa5\x6e\x88\xbe\x3e\xe1\x10\x29\x6d\x9f\xf2\x8f\x06\x88\x94\xb2\x4f\x39\x0f\xec\xaa\x01\x13\x91\x03\x00\x98\xa5\xbe\xea\x2a\xae\xeb\x25\xab\x4d\xfe\xd7\xa3\xe8\x7e\x87\xe3\x35\x06\xe8\xf0\xb8\xc6\x00\x1d\xae\xd6\x18\xa0\xc3\xc7\x1a\x03\x24\xc6\x3e\x6e\x5c\xbe\xf3\xe1\xb3\x3b\x87\x87\xe2\xcd\xd7\xdf\x7d\xfb\xfc\x85\xf8\xf2\xe5\xab\x17\xcf\x44\x91\x4f\x32\x5d\x1f\xfe\x68\x0e\x8b\x7c\xf2\x6e\x36\xfa\xd1\x58\x90\xe7\x7a\xb5\xae\xf2\xf9\xa2\x16\xfd\xe9\xc0\x9e\x84\xc7\x50\xac\xfb\xf9\xa2\xd2\xcb\xbc\x59\x8a\xaf\xdf\x88\xf3\xa6\x5e\xe8\xca\x8c\xc4\x79\x51\x08\x80\x35\xa2\x52\x46\x55\xd7\x2a\x1b\xd9\x31\xbe\x33\xa1\x4f\xba\xd1\x4d\x35\x55\x62\xaa\x33\x25\x72\x23\xe6\xfa\x5a\x55\x25\xb6\xd1\x96\xe2\x4f\x6f\xbe\x38\x30\xf5\xba\x50\xa2\xc8\xa7\xaa\x34\x4a\xd4\x0b\x59\x43\xcb\xef\x89\xb2\x23\xcd\x74\x53\x42\x47\xd4\x7a\xa1\xc4\xab\x97\xcf\x5f\xbc\x7e\xf3\x82\x2a\x72\xdf\xe9\x35\x06\x3b\x69\x4d\xeb\x5e\x28\xef\xfd\xe7\x4a\x4e\xc4\x44\xce\xed\x04\x9a\x3a\x2f\xf2\x7a\xed\x5b\x45\xb1\x0a\xe2\x33\x71\x26\x7e\xe6\x6d\xbd\x2a\x25\x6b\x25\xa4\x68\xca\xfc\xa7\x46\x09\x55\x36\xcb\xb8\x7b\xd7\xff\x35\xcd\x6a\x55\x29\x63\xc4\xcf\x45\x5e\xd6\xcf\x17\x6a\x7a\x65\x3e\x6c\x6c\x87\x75\x2e\x16\xcd\x52\x96\x62\x56\xe5\xaa\xcc\x8a\x35\x5e\x9d\x41\x5b\xcb\x49\x33\x9f\x53\xa7\xc5\xd0\x18\xeb\xeb\xc9\x8f\x6a\x5a\x7f\x10\xe7\xd1\x14\x00\x1f\x37\xba\xec\xd5\xd0\x77\x4e\x56\x4a\xa8\x9f\x1a\x59\x08\x68\x4c\xb7\xae\x17\x79\x39\x87\x1e\x6b\xec\xd3\x46\x53\xf8\x98\x17\xf6\xf9\xce\x3e\x59\x87\x87\xe2\x7b\x25\x2c\xfa\xa4\xc0\x16\xa2\x42\xc3\xdb\x85\x34\xa2\xd4\x61\x50\x61\x16\xd0\x31\x73\x62\xa1\xa9\xdf\xf9\x52\x1c\x1c\x88\x1b\x25\x6e\x64\x59\x43\xd7\x68\x3b\x9c\x5b\x8a\x72\x2e\x56\x55\xbe\xcc\xeb\xfc\x5a\x19\xea\xb0\x59\xac\x47\x42\xfc\xa9\xa9\xe9\xc3\x55\x65\xb0\xc5\x5d\x5e\x4e\x8b\x26\x53\x42\x37\xd8\x32\x6c\xc4\xfa\x52\xa9\x1b\x9a\x18\xce\x3a\xea\x51\xf5\x2d\x36\xc8\x12\xd7\xb2\xca\xe5\xa4\x50\xa2\x52\x33\x55\xa9\x72\x0a\x3d\xb9\x85\x64\x7d\x2c\x2d\xf8\x7f\x11\x18\x76\x5e\xd3\xd8\x49\x6d\xa6\xab\xa5\xf8\xb7\x2f\xbf\x7b\xfd\xfc\xed\xcb\xaf\x5f\xf7\xff\xeb\xfc\xdb\xd7\xe7\x5f\xbd\x18\x8c\x84\x70\xd7\x2c\xb1\xca\x52\xe8\x95\xc5\x9d\x2c\xec\x48\xca\x4c\xe5\x4a\x85\xf6\xb3\x76\x09\x56\xab\x62\xed\x6a\xc7\x47\xe4\xf2\xa5\xae\x84\xba\x95\xcb\x55\xa1\xb0\x71\x2e\x2e\x0d\x75\xf7\xfa\x2f\x59\x99\xfe\xbd\x7f\xeb\xdb\x2d\x5b\xe7\xe5\x7c\x30\x14\xff\xa6\x4a\xbb\x49\xbe\xfb\xf6\xe5\x73\xd7\x60\x10\x3f\xde\x6e\xf1\xfb\x9d\xad\x61\x7f\x16\xee\xf9\x67\xe2\xde\xbf\x5b\x1e\xb0\x19\x16\x9b\x8c\x3d\x13\xf7\xfe\xac\xf5\xbc\x50\x0f\xee\x61\x33\x6a\x98\xeb\xf7\x76\x39\x2a\x65\x9a\xa2\xb6\x18\xc4\xa1\x86\x02\x21\xff\xed\xf8\x4f\xf7\x38\x71\xb1\x2f\xe0\xd4\x65\xea\x6a\x68\x97\xc4\x20\x89\xd1\x42\x9a\xba\x0a\x0d\xcd\xfe\xad\x7f\x21\x0f\xfe\x7a\x79\x7f\xf0\x43\xbf\x7f\xf1\x97\x1f\x06\x97\x0f\x06\x3f\x0c\x0e\xe7\x39\x6b\xb0\x0d\x2d\x01\x87\x62\x56\xc2\x58\x81\x62\x5d\x3f\xc0\x7a\xbd\x52\x7a\x06\xef\xb9\x20\x80\x4b\x71\x76\x26\x7a\x4d\x09\xdd\x62\x55\xd6\x1b\xf8\x76\xba\xd0\x70\x59\xf4\xbe\xc3\x56\x79\x9e\x5e\xb0\xd3\x1f\x3d\x4d\x8d\xb4\xb1\x39\x61\x05\x7d\xf9\xf9\xd8\xfe\xb6\x7d\xf9\xac\x74\xcd\xd7\x22\x2c\x8c\x3c\x7b\x89\x9a\x82\x5f\x53\x47\x82\x0d\xb0\x17\xb3\xf2\xb2\x5f\x5d\xfb\xb6\x85\xd4\x29\x11\xdf\xc3\x07\x4a\xbe\x22\x21\x42\xfc\x98\x59\xe9\x87\xb9\x13\xb7\x41\xac\xae\xa9\x0b\x62\xbc\x87\xbe\x74\xd3\xe0\x0c\xd7\xee\x62\x6a\x21\xcd\xa7\x4c\x44\xf2\xbc\xc8\x55\x59\x1b\x80\x95\x59\x86\x44\xef\x7a\x0c\xd6\x5a\xa8\xdb\x5a\x95\x59\x07\x99\x0f\x36\x50\x4f\xc0\x05\xf5\x50\xf0\x1b\xe0\x59\xf8\x75\xc8\xaf\xfb\x8d\xf1\xac\xe3\x1a\x40\x02\x72\xfe\xfd\xed\x57\xaf\x9e\x45\x94\xc9\xdb\x5e\x2e\xe5\x8a\xde\x07\x8d\x2d\xfe\xd0\x7b\x26\x7a\x9f\x16\xf5\x67\xd4\xe9\x42\x88\xde\xe7\x70\x69\xce\x2f\x7d\x0a\x97\xe4\x72\xc5\xae\xdd\x83\x6b\x3f\x35\x9a\x01\xde\xeb\xdd\xb3\x17\xff\xcf\xc3\xa7\x9f\xf5\x10\xef\x71\xa7\xf6\x68\x3f\x5c\xfc\xe1\xf3\x4f\x7f\xb8\xf7\x43\xef\xf2\x70\xce\xb7\xc0\x40\xfc\xec\xc0\x97\x72\x75\xb1\xbc\xa4\xb6\xf1\x1f\xf8\x02\xfe\x59\xd5\xc0\x73\x5c\x87\x47\x39\x9d\xaa\x55\xad\x32\xf1\xdd\x4b\x51\xc8\x72\xde\xc8\x79\x68\x54\xee\x0e\x28\xff\x0e\xec\x06\xfd\x41\x4c\x65\x51\x4c\xe4\xf4\xca\xd3\x83\x5d\xc8\xbc\xbc\xd6\x57\x0a\xe9\xc0\xbe\x02\x19\x83\x19\x09\x2b\x08\x38\xf6\x02\x23\xaa\x5a\x55\xc0\x27\xfd\x34\x0a\x0d\xcd\x50\xec\xde\xe1\x87\xed\x68\xae\xea\x73\x98\xe1\x2b\x37\xb7\xa8\x79\x29\x4d\x23\x74\x71\xdc\xf4\xd4\x68\x6a\xe5\x10\xf5\xa6\x59\xad\x74\x55\xab\xac\xef\x3b\x9a\xe2\x8d\x51\x3e\x7e\x52\x76\x3c\x17\x5e\xf1\x59\xda\x95\xd4\xa8\xfa\x6d\xbe\x54\xba\xa9\xfb\x7e\x42\x7c\xff\xb9\x27\xfb\x17\xa5\xbc\xce\xe7\xb2\xd6\xd5\xc8\x61\x38\xac\xe5\x01\xb4\x6a\x7c\xd7\x1b\x5c\x86\x1d\x6d\xe5\xb3\xb0\x70\xfb\x7e\x12\x47\x4c\xc4\x4b\x6f\xf2\x32\xd3\x37\x04\x2e\x3e\xfd\x94\x7f\x72\xb4\xb9\xbf\x91\x15\x1c\xed\x3f\x35\xaa\x5a\xbb\x63\x99\xba\x93\x2e\xa4\x59\x44\x2d\x42\x6b\x79\x65\x8f\x46\xd1\x54\x45\xfa\x40\x38\x29\x7b\x76\x41\xc7\x67\x70\xc0\x7d\x6a\x7f\x3f\xc6\xdf\x7b\x42\x96\x99\x1d\x6a\xea\x7a\xeb\xb3\xfe\xdc\x24\x52\xf0\x13\xf7\x67\xa0\x8c\xf1\x33\xd1\xc3\xc7\x87\xf0\xf7\xb1\xff\x5b\x7c\x18\x51\x63\x7d\x49\xad\xf5\x41\x6a\x92\xab\x95\xb2\xc7\xcd\xb2\x29\xea\x7c\x55\x28\x51\xe7\x4b\x3c\xec\xed\xc8\x7c\xd6\x43\xa1\x4b\x7b\x20\x23\xa1\x16\xd2\xd4\xd4\xf9\x1b\x24\x0e\x1c\xc7\x3d\x87\x74\x9d\x34\x67\x2d\x33\xd7\xdf\xde\x4a\x0b\x2b\x69\x2c\x4b\xb4\x2c\xb8\x99\x2f\x44\xa6\x52\xa6\x23\x26\x6a\xa6\x2b\x25\x26\xca\xa2\x4c\x66\x99\x02\x74\x90\x40\x40\x47\x2a\x22\x62\x53\xf3\x54\x98\x3e\x49\x61\xd8\x7e\xb3\xa2\x7e\x34\xd0\xf1\x18\xbb\xbf\xe6\xb5\xc0\x66\xbe\xb8\x2d\xa5\xdb\x86\x85\x92\xd0\xbd\xa6\xf7\xc7\x1e\x76\x11\xee\xfd\xb1\xe7\x1b\x08\xe7\xf3\x52\x57\xbc\xbb\xf9\x6c\x04\x43\xfe\x27\x20\x8c\x91\x19\x9b\x42\xd8\x82\xec\x62\xd4\x48\xf8\x8f\xae\xcd\x39\x9f\xf8\x99\x88\xc0\x9b\x89\xa9\x2b\xe8\xc9\x7b\x87\x9d\xac\x3f\x7f\xf0\x7f\xaf\x64\x0e\xe2\x43\xf4\xd4\xaa\xc8\xeb\x7e\xef\x53\xec\x77\xda\xd5\x47\x1a\x9e\xea\xea\x52\xef\x86\x14\x67\x08\x73\x91\x5f\xba\xe1\xce\x7a\xb4\x21\xab\xeb\x8b\xf6\xfa\xf5\x2d\xf8\xc5\xd1\xe5\xe0\x52\x9c\x75\x2c\x2f\xde\x1e\x5f\xb6\x3a\x4b\xdb\x63\x35\xda\xd4\xdf\x7d\xfb\x8a\x63\x74\x25\xeb\x45\x07\x37\xfb\xee\xdb\x57\x1d\x1c\x8c\x1f\x10\xb4\xa7\xab\xa6\xb4\x34\x4e\xcf\xe0\x70\xbc\x71\xab\xbd\xd0\x9e\xc1\xaf\x66\x25\xf4\xda\xf6\x15\x7a\x41\xdc\x09\xb9\x90\xcb\x95\xdf\xa8\x79\x59\xab\xb9\xaa\x40\x28\x16\x66\xa5\xa6\xf9\x2c\x57\x99\x80\xe0\x9b\x94\xf4\x09\xf6\x83\xb8\x06\x8a\xc7\x1d\x5a\x6b\x4b\xb3\x53\x3b\x28\xd2\x6c\x1b\x7c\x99\x97\xf0\xc0\x32\x2f\xf3\x65\xb3\xa4\x43\x0f\x74\x00\x2f\x7b\x77\x3c\x25\x6f\xf1\x29\x79\xbb\xf1\x29\xaf\x39\xc1\x37\x31\xb4\x5d\x0f\xed\xdb\x86\xf6\xe1\xb0\x9e\xd7\xe2\x0f\xf6\x6a\xb4\x70\xcb\xbc\xfc\xcc\xdf\xfe\x1c\xe0\xa3\xdb\xf2\x96\x75\x95\xbe\x8e\x10\xf9\x4a\xcd\x6a\xb1\x92\x99\x90\xa2\x6c\x96\x13\x87\x44\xc4\x2b\x35\xd3\x87\x6d\xef\x76\xfb\x5f\x55\xa5\x5b\x87\x3b\xf2\x8d\xf7\xfe\xb3\x69\x28\xfb\xe5\x61\xd4\x95\xdc\x80\x5a\x7a\x8d\x85\xce\x94\xc9\x2b\x95\xd1\xa5\xcd\xdd\x9b\x57\xc0\xee\xdc\xe0\xd2\x44\x9a\x97\x43\xe8\x5f\xed\x77\x71\x25\x14\xa0\x87\x34\x78\x44\x94\x4e\xe1\x03\x88\xc1\x68\x25\xb3\x37\x96\xed\xf4\x11\x74\x28\x7a\x47\xbd\x54\x11\xc4\x4e\xdf\x8e\x65\x4e\x75\x59\xcb\xbc\x04\x4e\xec\x8e\x0f\x9c\x9c\x6b\xb3\x2d\xa6\x0b\x59\xc9\x69\xad\x82\x58\x0b\x87\xe0\x52\xd5\x0b\x9d\x89\xa5\xcc\x61\x04\xfc\x14\x59\xe7\x53\x31\x95\xd3\x85\xd7\x1a\x0b\x59\xcd\x95\xa9\x85\x5c\xea\xa6\x84\x93\x0d\x4d\x48\x76\x68\x50\x10\xaf\x55\x25\x2a\xf5\x53\xa3\x4c\x0d\x7d\xde\x5f\xd6\xa4\x41\x5b\xfd\xdd\x09\xd8\xb5\x16\x73\x55\xaa\x0a\xec\x0d\x76\xe3\x18\x59\xaa\x62\x2d\x16\xcd\x5c\x85\xa1\xa1\x13\xbc\x1f\x7d\xe3\x0e\xea\x58\xb7\xae\xd9\x8d\xba\x4e\x9e\x73\x87\xb8\xd0\x85\x9c\x3e\xd4\x7f\x03\x23\x02\x26\xca\x7d\xef\xc7\xe5\x4b\xcb\x97\x14\xb8\x1e\x4e\xed\x0f\x67\xe2\x28\xda\x0a\xbd\x9e\x3f\x06\x66\xe2\x0c\x94\x88\x78\x50\xb7\x8f\xee\xce\x46\xe1\x0b\x70\x08\x7e\x45\x9c\x89\x5e\xd0\x6e\x71\xd0\x9b\x45\x5e\x28\xff\xea\xcf\x23\xf8\x11\x9f\x60\x32\xd4\x83\xb3\xe8\xef\x94\xdd\x47\xc3\xd0\xe9\x76\xe4\x89\x18\x89\x52\x10\x55\xbe\x28\x4d\x53\x91\x21\x4b\x06\x63\x41\x6e\x40\x92\x24\x05\x0b\xec\x14\x53\x55\x59\x6a\x03\x69\x46\x14\xf9\x32\xf7\x32\xc2\x9b\x7c\x69\xc5\x9c\xc6\xc8\xb9\x12\x85\xd6\x57\x56\xcd\xba\x52\x88\xab\x91\x83\x02\x5d\xab\x52\xf3\xdc\xd4\xaa\x7a\x59\xe6\x35\x1d\x34\xb2\x90\xd5\xb2\xaf\x4b\x7b\x69\xe0\x95\x7c\x20\x74\x10\x0d\x0a\x6d\x37\xc8\x8d\xac\x4a\xd6\xf8\x8e\xba\xe3\x5b\xc4\xe3\x93\xfd\x81\x9d\x73\xa9\x6b\x52\x08\xdc\xc4\xed\x58\x8f\x84\x51\x53\x5d\x66\x7e\x17\xbd\x9c\x89\xb5\x6e\x7a\x56\x64\x52\x95\x15\xf5\xec\xc8\xc6\x1e\x2e\x7a\x65\x29\x1d\x54\x0b\x8b\x91\xa5\x5c\x83\xc8\x29\x0a\x5d\xc2\x71\xb1\x90\x65\x18\xce\x0e\x02\xe2\xa4\x2c\x41\xf6\x12\x52\x64\x0d\x3d\x9e\x5b\x1e\x5b\x14\xb9\x03\x95\x06\xe6\xed\x0c\x34\x34\x44\x50\x4c\xe2\xa9\xb9\xe1\x9c\x70\x9b\xa9\xb2\xb6\x27\x94\x95\x06\x4d\xad\x24\xb4\xe2\x97\x41\x21\x72\xeb\x36\x84\xef\x2a\x0a\x31\x57\x35\x8a\x5d\x37\x95\x15\x23\x2b\xb7\x87\x75\x25\x2a\x59\x2f\xdc\xa7\x48\x61\xf2\x72\x5e\x28\x07\x36\x12\xe2\x85\x9c\x2e\x60\x60\x42\xb5\x1d\x24\x3c\x7c\x83\xb6\x17\xe2\x64\xf8\x54\x26\xae\x55\x65\xec\x47\xd3\x7e\xf4\xd3\xba\x81\x1d\x5e\x6b\x3b\x86\x14\x66\x21\xe1\x4f\x54\x5f\x40\x41\xcb\x8d\x5d\x35\x2b\x3c\x4d\xa5\x51\x46\xdc\x2c\x54\xa5\x00\x01\x64\xaf\x13\x8a\xd3\x67\x6d\xcf\x14\x53\xdb\xe1\x74\xa9\x10\x07\x46\x01\xf3\x70\xef\x84\x01\x1d\x09\x90\xb8\x2b\xdd\x3b\x85\xba\x5d\xe5\x55\xd0\x34\x71\x5b\x03\x01\x7a\xf3\x07\x92\x63\x6f\xa6\xea\xe9\x82\x64\x61\x90\xc9\xbc\x51\x4c\xeb\x11\xdc\x44\x0b\x68\xdf\x91\xef\x9b\x66\x3a\x55\xc6\x0c\x86\xc2\x5d\xf9\x52\xe6\x45\x53\xa9\x40\xd3\x2d\xc5\xf6\x3e\x57\x6a\x2d\x53\xe4\xc6\x3a\x8b\x5c\xb0\x10\x96\x38\x62\x7a\x12\x7e\xb0\xc4\xf4\x6e\x69\xc4\xd7\x8e\xa6\xc2\xf1\x11\x91\x9e\x1d\x4b\xe6\x5e\xf8\xaf\x64\x6e\x17\xdd\xc9\xe4\x7e\x78\x21\xbe\x50\x33\x09\x46\x35\x23\x1e\x1d\x1d\x1d\x89\xbe\xa7\xf4\x41\x7c\xae\xba\x69\x7e\xb0\xe4\xea\x3f\x00\x54\xeb\xf0\x05\x0b\xe5\x14\x17\x14\x22\x82\x62\x33\xf1\x7a\xb9\xbd\xef\x88\xc8\x8d\x83\x2a\x44\x3c\xaa\xd3\x32\x36\x8e\xe9\x06\x9c\xa8\x78\x0e\xb2\xf6\xa7\x97\x01\x3b\x6d\xfa\xb6\x48\xef\x77\x94\xd0\x52\xf5\x87\x84\x6b\xe4\xc6\x60\x97\xb1\xfa\x00\x2d\xc0\xfb\xf7\xe2\x91\xb8\x2f\xc6\x47\x47\x47\x9f\xd1\x6d\x53\xdb\xb9\x3b\x9a\x9a\xab\xfa\x8d\xbd\xe0\x74\x0c\x9a\x7e\x5b\x83\x87\x3e\xad\xb9\x11\xba\xa9\x55\xd5\xc5\x8d\xf3\xe5\x52\x65\xb9\xac\x15\x98\xa9\x5f\xd6\x3d\x23\x60\xcb\xd4\x5a\x4c\xe5\xaa\x6e\x80\xda\x4b\x75\xe3\x46\x33\x53\xbd\x42\x3b\xbe\x45\x9b\xdb\x06\xce\xb6\x38\x8a\xba\xc3\xf6\xe8\x76\x2f\xd8\xaa\x73\xe3\x76\xed\x64\x8d\xf6\x33\x37\x44\xe0\x38\x56\x09\x05\x3e\x81\x23\x85\xcd\x4f\x2c\xc5\xab\x3c\xee\xd1\xb3\x1d\x46\x0c\x0b\x0b\x8a\xf4\x99\xb7\xa0\xfa\x41\xcf\xce\x44\x0f\x89\xa1\x37\x10\x7f\x44\xb0\x67\x81\x74\xd0\x46\x1a\x0c\xc8\xe2\x0c\xff\xf3\x47\xd1\xef\xa1\xed\x11\x8d\xb4\xcf\xe0\x58\x27\x8b\x09\x1e\x25\x23\x7b\xc2\xf4\x7b\x8c\x10\x9e\x25\x6c\x23\xc3\x11\xfa\x4b\x23\x0e\x61\xb1\x07\xe2\x81\xe8\x19\x3f\x6a\x3a\x60\xa1\xe7\x7d\xa0\x03\x7f\x27\x60\xa0\x6c\x8a\x82\x4c\x9d\x43\xb1\x34\x03\xb2\xbb\xd9\x4f\x27\xbc\xfd\xd9\xf3\xdc\x8d\xa6\x27\x26\xa5\x74\xda\x82\xc0\x04\x8d\xaf\xe4\x97\x85\x98\x16\x4a\x56\x6e\x05\x1c\xc4\x67\x0c\xa0\x6b\xa2\x91\xbd\x36\x68\x80\x0e\xf5\xe0\x5b\xe8\x5b\xf0\xa1\x90\xd5\xbc\x59\xaa\xb2\x36\xc1\xba\x14\x99\x17\x99\x6d\xbc\x73\x65\xe3\x6f\x4b\x11\x12\xdb\x28\xd3\xbb\x89\xed\x6c\xd0\xef\x94\xc2\x6b\xde\xd1\xd7\x1e\x76\xb8\x61\xe5\xcc\xee\x3b\x73\x95\xaf\x56\xdd\x72\xf9\xac\x72\xb6\xc2\x54\x1a\x87\x63\xa7\x56\x65\x86\x32\xb3\x13\x9f\x23\x17\x1a\x98\x7b\x50\xd0\xc6\xd9\x1b\x21\x41\x42\xc1\xb3\x24\x3a\xdc\x4b\x01\x66\xcf\xa1\x98\xa8\xa9\x6c\xc0\xd7\x18\xc4\x1e\x44\x94\x95\x08\x8c\x90\x16\xcc\x88\xc9\xda\x0e\x94\x11\x0b\xc7\x4d\x29\x2d\x7f\xb0\x32\xd1\x0d\xf8\xe5\xd0\x0b\xe6\x26\x7f\x2e\xea\xf5\x2a\x9f\xca\x02\x11\xb0\x04\x2f\xaa\x95\xde\x40\x78\x63\x72\x5b\x4c\xd1\xbd\x37\xda\x7e\xb1\xfd\x9a\x9b\x7c\x7a\x05\xf6\x26\x2b\xaa\xc9\xb5\x98\xca\xa5\xea\x0d\x53\x9e\x37\x70\xa7\xa7\xe5\x0e\x9b\xfe\xf7\x5a\xd7\xf9\xd4\x7d\xe3\x72\x29\xc5\x5f\x22\x39\x10\xdc\x7a\xab\x2a\x2f\xd1\x8c\xbc\x54\x06\x64\x4d\x12\x06\x7f\x34\x6e\x86\x43\x31\xd3\x45\xa1\x6f\xc8\x63\xeb\xac\x7a\xa4\x9d\x80\x60\x53\xa2\xde\x4e\x53\xd7\xa2\x52\xd7\x4a\x16\xd4\x4d\xd9\x12\x72\x72\x58\xe3\xda\xe3\x61\x8b\x26\xaa\x2f\x81\x06\x80\x65\xea\xf6\xd1\x8b\x84\x84\x74\x42\xa2\x0f\x90\x3c\x3c\x8a\x56\x69\x21\xa7\x75\x23\x0b\xd1\x73\x38\xea\xe1\x12\xd8\xa3\xae\xb8\xb1\x8b\xd9\x61\x0b\x73\xb0\x9c\x1d\xa4\x73\x0a\xc7\x53\x34\xd3\xb3\xf6\xe4\xff\xd8\xbe\xf4\x40\x1c\x8b\x67\xe2\xd8\x6b\x3b\xf0\x21\x40\x83\x70\xa9\xae\xd6\xc4\x43\xd0\xc5\x63\x0f\xd3\x17\x55\xa5\xab\x3e\x19\xa9\xa7\xd2\x4a\x4c\x7d\x75\xeb\x78\x4d\x18\x40\x9c\x09\x75\x3b\x42\xf4\x92\xa1\xeb\x87\xb2\x17\xcc\x54\xfe\x75\xb4\x0f\xd0\xf8\x96\x58\xd5\xf8\x64\xd1\xc0\x16\x5e\xd0\x65\x65\x63\x03\x5e\xe4\xe2\x20\x7a\xfe\xd2\x1e\x42\xfe\xe9\x8b\xfc\x32\x98\xc6\xff\xf2\x83\xb9\x2f\xeb\x1f\xcc\x83\xc3\xa1\xe8\xf5\x5a\xa6\x34\x36\x6a\xc4\x57\xbe\xc8\xaf\xf3\x4c\xa1\x90\x5f\xdf\x68\x22\x08\x34\xd1\xce\x0a\xad\x2b\xc3\xbd\x13\x43\xd1\x94\x85\x32\xee\x9a\xd5\xe4\x33\x74\x4e\xd8\xab\x60\x93\x05\xf1\xdc\xea\x11\xd3\x4a\x65\xd0\x61\xdc\x2c\x2d\x91\x80\xcc\x33\xb4\x82\xa1\xa3\x68\xa3\x44\x1e\x18\x0a\x6c\x21\x95\x17\xce\x63\xef\x84\xec\xc6\xa8\x59\x53\x58\x09\x1b\xb9\x9f\x33\x84\x58\xe1\xa1\x6a\xca\xa9\xb4\xfa\xb3\x5c\xad\x2a\x7d\x9b\x2f\x25\x3a\xba\xc0\x45\x62\x15\x1f\x3b\x10\x1a\x9a\xf1\xbc\x37\x5a\x64\xda\xb2\x80\x2c\xbf\xce\x41\xf4\x77\xfe\x17\xa3\xfc\xa7\xaf\x73\x55\x58\xcd\x27\xf8\x6a\xdd\xa7\x80\xd2\x54\x68\xa3\xd0\x74\x74\xb3\xb0\x3c\x0d\x1f\xdb\xb4\xfd\xca\x66\x89\xfc\xbd\xeb\x66\xa6\x4a\xbd\xcc\x4b\x7f\xdb\xc9\xa9\x74\x9f\xed\x22\xb3\x94\x55\xfd\xa5\x5d\x0f\x5c\xb0\xc4\xd8\x83\xaf\x18\x0a\x3e\x62\xd8\x54\xd7\xb2\x80\x13\x91\xc0\xc4\x21\x07\x73\x92\x1f\xe1\x5e\x9c\x89\xaf\x64\xbd\x18\xd9\x3f\xfb\xd7\xb2\x18\x38\x33\x81\xbb\x7f\x00\xc3\xfd\x41\x8c\x8e\x8e\x8e\xc6\x8e\x66\xdd\xa1\x8a\x30\x2d\xe7\x0f\xdd\x86\x81\x81\xa8\xfc\xc8\x2d\x6f\x9b\x14\x95\x2c\x33\xbd\xf4\x96\x4e\xd0\xe1\xc1\xbe\x29\xfa\x10\xcb\x60\xf2\x6b\x35\xd8\x84\x6e\x67\xbb\xb4\xbc\xd4\xd4\x7c\x10\xa0\x58\x67\x26\x6d\x3f\x47\xd6\xcb\x45\x3e\x5f\x6c\x7f\x30\x59\x23\x71\xee\x26\x4c\x84\x39\x51\xf5\x8d\x52\x60\xa9\x14\x9f\xda\x71\x23\xbf\x2c\x80\xbe\x2c\x6b\xbe\x7e\xb1\xe5\xb3\x8d\x2b\xf8\x15\x9f\xec\x0f\xc4\x7d\xd1\xb7\x93\x3d\x80\x17\x3c\x10\xe3\x81\x95\xe6\xc0\x2c\xba\x33\xf8\x88\x8e\x9f\x77\x4b\x59\xca\xb9\xaa\xfe\x45\x42\x91\xbe\xc2\xaf\xfa\x0a\x3f\x4a\x4c\x0b\x69\x8c\x58\xc8\x32\x2b\x14\x8a\x36\x55\x29\xf1\xb4\xcb\xff\xaa\x32\x12\x41\xbc\x28\xf4\x5a\xd7\xea\x19\xf7\xf1\x89\xdc\x94\xbd\x5a\x98\x66\x36\xcb\xa7\x39\x3a\x9f\x40\x90\x41\xc9\x02\x0e\xc5\xf1\xc8\xa2\xa8\x52\x3d\xcb\x25\x26\x0d\x78\xf1\xc8\xca\x4f\xe6\x97\x2b\x05\x4e\xba\xa6\x94\xd7\x32\x2f\x50\x27\x29\x45\x8e\xc7\xeb\x33\x16\x3d\xb2\xa8\xeb\x95\x79\x76\x78\x38\xad\x26\xcd\x7c\x34\xd5\xcb\xc3\xf1\xc3\xa3\xe3\xa3\x23\x07\x72\x0c\xaf\xb2\x07\x3f\x88\x7c\x16\xa9\x4b\xb9\x06\xe1\x68\xa2\xc4\x4a\x4e\xaf\xe4\x5c\x65\xb8\x4b\x9e\xe3\x14\x20\x44\xc0\x32\x37\x3f\xdf\x87\xdd\x83\xc0\x00\x15\x3a\xb6\x2d\xa9\x54\xb2\x5a\x27\x43\xd6\x8b\xbc\xca\x0e\x2c\xd4\x9a\x4d\xba\xeb\x45\x7c\x57\xc1\xe9\xf4\x21\x78\xc8\xc5\x2b\xe7\xb8\xf6\x57\x6a\x2d\x0a\x2d\xb3\xa1\x5b\x6a\x5d\x65\x60\xdc\x51\xfe\x3d\x21\x28\xca\x02\x82\xa1\xf7\xb5\xba\x51\x95\x93\xa2\x8c\x0b\x9f\x10\xba\xb0\xcf\xea\x52\x99\x91\x10\x3d\x55\xf6\x44\x6e\xbc\x99\xa0\x81\xb8\x57\x2b\x2f\x16\x6b\x74\x1d\x3a\x9b\xd6\x2c\xaf\x4c\xed\xa7\x64\x99\x5c\x5e\x3b\x63\x9c\x2c\x2a\x25\xb3\xb5\x58\x59\x32\x47\xd9\x13\xf7\x70\x42\x6d\xdc\x30\xeb\xbe\x0d\xf7\x31\x18\x11\xfd\xb5\x77\x56\xa7\xf6\xbe\xe8\xa5\x5c\xf5\x49\x57\xf0\x8f\xab\x82\x45\x24\xa8\xa2\xc3\xe7\x0d\x01\x0a\xc4\x8d\x93\xd1\x47\xf6\x1c\xbe\xfd\x7a\xd6\xb7\x5f\x3f\xb0\x3a\xc9\xc1\x78\x40\x42\x4f\x0c\xd8\x94\x66\x91\xcf\x6a\x04\x44\x01\xc9\x42\x78\x9c\xa2\x08\xc3\x98\xf2\x79\x96\x79\xb9\x15\x82\x7f\x72\x8a\x68\xd1\x91\x48\xeb\x78\x4a\x87\xd3\x3b\xf5\x51\x1b\x0a\xd1\x5b\x4a\x22\x3d\x22\x27\x37\x87\xd1\x8f\x46\x97\xb8\xe7\x85\x78\xa3\xc0\xe8\xf2\x07\xb7\x4f\x32\x75\xad\x0a\x6d\xf5\x73\xda\xb3\x76\xcb\x78\x42\x34\x87\x76\x0b\x1f\xb8\x91\x3e\xdf\xb4\x6e\xa3\x55\xa5\x6b\x6d\x55\xb9\x91\xcc\xb2\xaf\xc2\xc7\xfb\xe5\xc8\xd4\x8c\x16\xd2\x0b\x73\x57\x6a\x6d\xa9\x35\xdc\xc1\x83\x33\x53\x33\xf0\x6a\xce\xcc\xc5\x95\x5a\x5f\x32\x55\xf1\x6e\xa6\x66\x23\x58\xc5\x05\x90\x28\x8b\x5c\x8a\x90\x0e\xcf\xe1\x18\xee\x1a\xe9\xd8\xfc\x10\x05\x3d\xc4\x45\xe5\xdd\xfb\xe4\xf5\xf9\x57\x2f\x3e\xb9\x27\xf8\xf0\x28\xcc\xdc\xfb\x64\x7c\x6f\x28\x54\x3d\x1d\xed\xf9\x2e\x4f\x6a\x4c\x91\x3e\xfc\xe1\x13\x0c\x23\xbb\xf8\xcb\x0f\xe6\x87\x4f\x2e\x1f\x0c\x7e\xf8\xe4\x30\x9f\x0f\x19\x48\x38\xbf\x86\x22\x0e\x21\x8b\xb4\x60\x8f\x98\x08\x13\x17\x10\x8a\x58\xeb\x57\xfa\x46\x55\xcf\xa5\x51\xfd\xc1\xe5\x68\xaa\xad\x22\x5a\x73\x85\xfe\x03\x69\xe2\x1f\x52\x59\xe1\x95\x96\x19\xdb\xc5\x81\xcd\xfa\xfd\xec\x28\x73\xd2\xd8\xa3\x60\x53\x5c\xc0\x4a\xd6\xf6\x84\x10\xe7\x10\x9a\xe1\xfe\x8a\x7c\x5c\x16\xa1\x64\xe1\x05\xf7\x14\x04\xdf\x38\xfe\x02\x66\x1a\x62\x55\x73\x3d\xda\x1c\x07\x34\x74\xd1\x40\xba\x7c\xae\x97\xab\x42\xd5\x2a\x8a\x07\x9a\x28\xef\xb9\xb0\xa2\xae\xe5\x79\xcc\xda\x99\x1b\x08\x4c\xb5\x4f\x91\x2e\x66\x85\x75\x52\xa1\xa5\x9b\x19\x71\x59\x83\x26\x5d\x2b\x36\x83\x18\x2f\xf3\x02\x03\x26\xec\xff\xa2\xd8\x21\x30\x59\x06\x2c\x46\xe1\x46\xe4\xdd\x39\x1a\x8a\x52\xd3\x53\x46\xdc\xa8\x4a\x85\x91\x80\x2d\xef\xde\x62\xb3\xbc\xcc\xce\xcb\xcc\x2e\x59\xd7\x56\x83\x05\x26\xcc\x0f\x19\x7a\x82\x00\x5b\xb0\x70\xa6\x94\xa1\x4d\xb5\xd5\x01\x50\x99\x03\x58\x98\x95\x38\x13\x17\x97\xee\x12\x22\x80\x2e\xdd\x09\x94\x2b\x74\xe9\xe2\x83\xdc\x3b\xfb\xa6\x96\xb5\x27\x65\xbb\x89\xa3\x0b\x22\x0c\x1f\xb8\x39\x32\xd4\x41\xe7\x96\xf5\xaf\xde\x04\x1e\xb8\x45\x80\x88\x3d\x68\xa0\xc2\xbe\x56\xb7\x3e\x96\x69\xc3\xab\x02\xe2\xfa\x38\xc9\x21\xbd\x3d\xda\x42\x84\x92\x64\xc8\x76\x08\x83\x3b\x39\xd8\x9a\xe1\xa1\x43\xcc\xe2\x5b\x1f\x0d\xdc\xf7\x4b\x17\x4e\xc0\xe1\x9d\x6e\x73\x49\x1b\xe1\xa3\x49\x5e\x66\x30\xf2\xd0\xea\x73\xea\x17\x3e\x3a\x93\x85\x41\x8f\x85\xf8\x10\xae\x0f\x9c\x05\x20\x45\x5f\xca\x48\xfc\xf1\x37\xab\xf4\x52\xc8\xae\xa3\x68\x37\x99\x17\xdb\xe8\xbb\xa9\x0a\x4b\xdb\xe4\x6d\x41\xbb\xbc\x2e\xc1\x10\x11\xe8\xfc\x76\x61\x25\x8a\x52\xdd\x88\xff\xdf\x57\xaf\xfe\xbd\xae\x57\xdf\xa2\x87\xb8\x8f\x1f\x72\xbb\xa8\x46\xba\x84\xc5\x2d\x3b\xa2\x4e\x90\x8c\x2c\x90\xa5\xd9\xc6\x88\xbb\x67\xe2\xf8\xe8\x28\x0e\xed\xe5\xef\xf5\x98\x66\x17\xd9\xf3\x83\xcf\xe2\x28\xd7\x88\x62\x81\x16\xd8\xd9\xd9\xff\x8f\x37\x5f\xbf\xc6\xc0\x27\x18\xa2\x52\x66\xa5\x4b\xa3\xde\xaa\x5b\xf4\x8e\xc2\x12\xd2\xe7\xf7\xbb\x17\x0a\xbe\x6f\xa5\xca\x7e\xef\xcf\x2f\xde\xf6\x86\x16\x67\x00\x08\x53\x52\x65\xd6\x32\x89\xe2\x59\xf8\xc9\x78\x34\x1a\x7d\x52\xf2\x00\x75\x1f\x55\xa9\x0a\x05\x06\x5d\x27\x7b\xc8\x6a\x4e\x96\xc7\x4d\x07\xc2\xd2\xcc\x5d\xb4\x3e\x3b\x05\xb8\xa8\x63\x79\xaa\xb3\x14\xb3\x97\x8e\x3a\x24\x60\x78\x1d\x9a\x92\x92\xc1\xfc\x00\x68\x9e\xd8\x48\x5e\xad\xed\x16\x69\x8e\x66\x0e\x46\xeb\x38\x1a\x7c\x69\xe6\x41\x7a\xfc\xe1\x93\xfe\x0f\xd9\x83\x01\x8f\x7d\x15\xf6\xc4\x06\x81\xb1\x65\x8e\xb7\x63\x5d\xc0\x2d\x71\x20\xc6\x97\x9d\x41\xcd\xdf\xa8\xea\x20\x2f\x4d\x2d\x4b\xd0\xf2\x56\x6b\x8b\xdb\xd6\x34\xf7\xd8\x2f\x1d\x9f\x06\xef\xdb\x07\x0b\xa9\xd1\xc0\x1f\xf6\x98\x01\x32\xf4\x16\xce\x62\x4d\x73\x83\xb3\xdc\xd9\xf7\x45\xad\xf5\x16\x02\x80\x43\xbd\x9b\x08\xe0\x16\x11\x13\x33\xe7\xce\x55\xdd\xb5\xfe\x76\x63\x01\x0d\x78\x5f\xa7\xdc\x93\x18\x5a\xd3\xb2\x43\x39\x2b\xb9\x1f\xcd\xc7\x74\xd1\xfa\xe5\x34\x31\xfa\x04\x54\x66\xdc\x79\x0d\xaa\xf5\x48\x90\x2b\xc1\x44\x9f\x00\xe0\x93\xb5\xb3\xc3\xef\xb1\x7a\x73\x55\x27\xa4\xe8\x11\x0f\x9f\x3c\xe4\x33\x66\xfe\x47\x27\xdf\x92\x22\xe3\xa7\x5a\xc6\x72\xaa\x23\x4d\x37\xc1\xb3\x44\x8c\xa5\xe7\xf0\x40\x8f\x4e\x42\x3b\x6a\x14\x79\x07\x6a\xbd\x63\x76\x61\xbc\x24\x94\x99\x3e\xd4\x4d\x68\xc0\xe5\x78\x7a\x28\x6c\x97\xd8\xf7\xe6\x92\x06\x08\x0c\xdd\x6d\x61\x9c\x68\x87\x39\xff\x11\x5f\xce\x24\xb3\x42\xfc\xd1\x2f\xe0\x33\x0e\x97\x1c\xe3\x30\x33\x87\xed\x38\x0a\x2e\xc1\xf1\xdd\xbe\xa7\x43\xb7\x71\xf5\x0c\xd9\x12\x85\x45\xfa\xfb\x67\xe2\xc2\xfd\x7e\xc9\x5d\xbe\x1b\x8e\x7e\x7a\x53\x58\xf5\x84\x55\x54\xda\xb2\x7b\x21\x8b\xc2\xed\x99\x7b\x16\xdf\xf7\xc4\xa2\x5e\x16\x42\xd6\x75\x95\x4f\x9a\xda\x9e\xbb\xce\xec\xe3\x5c\x57\x99\x5e\x8a\x59\x25\xe7\x4b\x15\x3c\x3f\x6f\xc1\xe8\x2c\x0b\x71\xa3\xab\x2b\xb1\x90\xab\x95\x2a\x21\x3e\x79\x85\xef\x79\x39\x7e\x52\x9e\xbb\x31\xf7\x20\xe1\xae\xc7\x62\x25\x50\x2f\x03\xe5\x96\x3a\x83\xbb\x99\x5e\x8e\x30\xa0\x56\x15\x6a\x5a\xeb\xea\xbc\x28\xfa\xbd\x0b\xfb\x5d\x97\xa4\x52\x77\x45\xd5\xc2\xe3\x91\xbd\x3f\x9c\xa3\x5d\x13\xe9\xc3\x03\x17\xf9\x65\x37\x4a\x19\x2e\x3d\x1a\x9d\x2d\x25\xc4\x85\xda\x31\x38\xf6\xc0\xc0\x15\xe0\x49\x6f\x21\x6e\x24\xa4\xb0\x87\xb8\x0b\xa4\x46\x35\xe3\x4a\x39\x05\x43\x5e\xa9\x92\x1c\x43\x13\xc5\x06\x01\x4d\xc2\xbb\xd3\x79\x5c\x37\x67\x2e\x3c\x86\xc9\x82\xb1\x37\x89\x05\x44\x35\xde\x7b\x77\x4f\xf4\xed\x36\xa8\xcc\x54\x57\x6a\x60\x5f\x3d\x14\x79\x6d\x88\xcb\xa1\x2f\xc0\x59\x6f\xc0\xd7\xa0\x6e\xeb\xe7\xa8\x33\x3a\xf2\xa2\xf3\xde\xbd\xec\x2b\x3e\x03\xb0\x32\xc2\x79\x6d\x39\xa6\x86\x68\x22\x46\x82\xba\x0c\xd6\x09\x1a\x06\xe5\x08\xf4\x50\xae\x2a\x35\xcb\x6f\xd1\x7d\x58\x2f\x84\x14\x99\x2e\x0a\x59\x09\x93\xcf\xcb\x91\xe0\x89\x68\xdc\x05\xf9\x87\x49\x53\xd7\xba\x14\x79\x76\xd6\xb3\x22\xcc\x01\xfe\xdd\x8b\xf3\xc7\xec\xb2\x9c\xf5\x7e\xbe\x27\xab\x5c\x1e\x14\x72\xa2\xa0\x70\xca\x27\x79\x76\x6f\x68\xd1\xf2\x4c\xdc\x7b\xf3\xe2\xf5\x17\xef\xfe\xf4\xdd\xdb\xb7\x5f\xbf\x7e\xf7\xea\xfc\x4f\x2f\x5e\xdd\xfb\x90\x8c\xf1\xf9\x1f\x0e\x71\xec\xcf\xd9\x7a\x87\x01\x63\x4e\xef\x62\xd7\xad\x4e\xd9\xd4\x88\xd4\xe8\x1d\xe7\xdf\xbe\x3c\xa7\x17\x8d\xc8\x4c\x8a\x7e\x4e\x59\x13\xe9\x65\x9c\xf0\x6e\xec\x0a\xda\xed\x48\x5e\x64\xf0\x26\xc9\x0a\xa2\xb9\x1c\xd0\xd0\x65\x31\xb0\x98\x7d\x4a\x68\xc0\x87\xbe\xfb\xe6\x9b\x17\xdf\xbe\x3b\x7f\xfd\xc5\xbb\xef\x5e\x7f\xf1\xe2\x5b\x01\x76\xe2\x5f\xb8\x8d\x23\xff\x88\xce\x42\x46\xe6\x73\x7c\x23\x7e\x44\xa1\x6f\x54\x75\x20\xcb\xec\x20\x93\x66\xa1\xcc\xbd\x94\xac\x21\xcb\x02\x1f\xbc\x97\x4c\xef\x9e\x9f\x1f\x8f\xdb\x69\xca\x2b\xca\x84\xea\xcc\x45\xf2\xb6\xbc\x51\xad\xbf\x5b\xad\x9c\xe9\x23\xe8\x65\xb0\x41\xcf\x70\xdf\xce\x55\x1d\xb8\x41\xcf\xde\xe9\x79\x6f\xcc\xdd\x70\xa6\x39\xe1\x3c\xf2\x75\xd2\x38\x4c\x28\x87\x07\x36\x78\x3c\xdd\x71\xa6\x40\x03\xe8\x3d\x97\xe5\x0f\xbd\x1a\x13\x23\x30\xf8\xc4\x4e\xa7\x96\xf3\xd7\x96\x76\x1e\x88\xde\xff\xf1\x17\xf3\xcc\xfe\x8d\x27\x9e\x7f\x83\x73\xb5\xaa\x5b\xef\x85\x3c\x3c\x44\x45\x0b\xe2\xf3\x82\xdc\x61\x18\xaf\x22\xe6\x15\xb3\x28\x33\xea\xb0\xc0\xc1\x8b\x78\xe4\x91\x82\xc9\x70\x7a\x54\x3d\x24\x70\xa3\xea\x1a\x3d\x8a\x2e\x68\xae\xae\xad\x8e\x75\xa5\xd6\x2c\x74\xc5\x1d\xb7\x67\x30\x34\x99\xf1\x68\x74\xbb\xb1\xef\x9d\xcd\xb4\xbe\x37\x14\x95\x3a\x70\x11\x0d\x5e\xee\xcf\xa2\x9d\x35\xf2\x42\x03\x8d\x19\x25\x75\x9c\xf5\x06\x41\x86\xb0\x1f\x73\x26\x3c\x58\x48\xe6\x20\x41\x65\xd3\x9c\x3e\xdc\x89\xa6\xf6\x09\x4e\x6d\x2a\x8b\x69\x53\xc8\x5a\xb5\xc4\xba\xed\x53\xfa\xc4\xe5\x99\xf0\x37\x22\x1d\xb7\x89\xb0\x35\x59\x88\x24\x7a\x67\x17\xff\x4a\xad\x9d\xc8\x64\x67\x96\xa3\xe8\x5d\x38\x2b\x9d\x33\x35\x72\x94\xb3\xa8\xe4\x7e\x2c\x2d\xd9\xc9\xe2\x42\x9d\xc1\x6e\x71\x91\x51\x40\x86\x8c\xe9\x03\xfa\xf0\x11\x2b\x00\x72\x30\xc3\xe7\x6d\xc7\x1a\x5a\xd8\xe0\x73\xdc\xee\x29\x5b\xf9\xe5\xfd\x17\x73\x96\x3d\xd7\xa5\xa9\xab\xc6\x8a\x2d\xb0\xad\x2c\x63\xfd\xc6\x7f\xac\xf3\x6a\xe0\xb9\xcc\xc2\x85\x94\x9d\x32\x5e\x14\x19\x48\x60\xf6\x0c\x5c\xa9\xca\xe4\xa6\x06\x2d\x69\x21\x4b\x72\xeb\x18\x4c\xfa\x30\xb5\xae\x9c\xb6\x5c\xea\x3a\x9f\xad\xc9\x9c\x69\x99\x4d\xb3\x04\x73\xf5\x42\x95\x62\xc5\xd4\x76\x1c\xc5\x4b\x0a\x75\x1c\x9c\xe4\xce\x9e\x89\x9c\x5e\x41\xe0\x73\xad\x2b\x8b\x3a\xf2\x12\x19\x1f\xdf\xa3\x43\xa0\xf0\xbf\xbf\xfd\xea\xd5\x23\x3b\x18\x4d\x67\x28\x26\x0d\x8c\x52\xd9\xc3\x51\x95\xbd\x5a\xc8\x72\x0d\x89\xf5\x18\xc9\x4b\xef\x58\x6a\x10\x23\x84\x78\x49\xf9\x79\x4d\x8d\xe1\xbc\x64\xff\x24\xf7\x99\x74\x6e\x3f\xb9\xca\xf1\xdb\xed\x94\xcc\xba\x9c\x1e\x00\x12\x2c\x4d\x1f\xa2\xf8\x02\x19\x53\x28\x26\xdd\xa8\x5e\x06\x21\x4d\x14\x30\xd1\x4a\x5a\xb3\xab\xf2\x06\x27\x3c\xba\xff\xc1\xa3\x12\xf3\xd6\xf0\x77\x12\x9d\x6a\x8d\x05\x06\xc0\x11\x89\x78\xf1\xfe\x33\x3b\x97\x8d\xaa\x24\x8a\x33\x71\x30\x10\x5d\x4b\xa2\xc0\x2c\xcb\x0e\x8b\xc4\xed\xde\x94\xac\x2a\x7a\x87\xbd\x90\xf2\x11\x15\x33\xc0\x83\xdd\x28\x3b\x81\x5a\x89\x42\x5d\xab\x02\x6c\x31\x8b\x5c\x55\xb2\x9a\x2e\xd6\x3e\x93\x3e\xf7\xb1\xed\x73\x4d\x01\xf3\x0b\x79\x4d\x24\x7f\x95\x97\x19\xed\x99\x72\x8e\x56\xeb\x55\xa5\xaf\x73\xb0\x72\xda\xf5\xc1\xa9\x27\xae\x43\xe0\x73\x4e\x5c\xeb\x1d\xf6\xf0\xc1\x52\xd7\xec\xe1\xbc\x76\x3a\x2f\x10\xaf\x85\xf2\x12\x47\x7b\x63\x44\x99\xf8\x44\x50\x01\x9b\xcc\xf1\xe7\x96\xe9\xcc\x2d\xd8\x67\xc9\x9d\xaf\x27\xc0\x11\xaa\x77\x8e\x0b\xea\x92\x56\xfc\x39\x6c\x82\x77\x2d\x2b\xa6\x05\xca\xcd\xf9\xb4\xce\xaf\x95\x7d\x0a\x4c\x9e\x7e\x58\x69\xaf\xcb\x5a\xf5\x19\x74\x5d\x51\xee\x08\x42\xba\xa4\x40\x5c\xe5\x33\x4e\x06\xef\xdf\xdb\x2f\xf7\xc2\x05\x5e\x1d\xa9\x32\xa3\x53\xe2\xd0\x9d\x12\x04\xff\xe0\x0c\xe1\xef\x78\x05\x86\xc6\xc4\x5f\xe2\x1b\xdf\xaa\xa9\xae\x32\x70\x81\x62\x78\x14\x72\xfd\x42\x4f\x64\xe1\xd0\x00\x77\xc9\x3c\x0f\xb7\xa7\x8b\xbc\xc8\xbe\x94\x96\x51\xe5\xca\x3f\x8b\x92\xc4\x57\x72\x05\xce\xe4\xdc\xd4\x07\x70\x62\xd5\x5a\xfc\xbc\xc4\x8b\xf0\x1c\x4c\xc3\xb9\x24\xcd\x07\x7c\xea\xdc\xf2\x12\x90\xcd\xc5\xe1\x21\x5e\x62\xaf\x7a\x95\x9b\x1a\x5f\x73\xc7\x05\xfc\xf5\x56\x95\xb6\xcc\xf4\x20\xcf\x4c\xef\x19\xbb\x21\x44\x4f\x97\xaa\xf7\x4c\xb4\x08\x64\xc8\x61\xea\x1b\xbd\x0b\xc6\x4d\x07\xce\xf5\x21\x9f\x99\x10\xbd\x59\xa5\x27\x1d\xef\x8e\x9e\xa1\xdf\x3e\xdc\xe9\xfe\x96\xd8\x95\xfb\x9d\x01\x31\x0b\x22\x22\x0a\x2c\xa8\x91\x97\x59\x3e\x45\xa9\x81\x38\x9f\x8b\x2e\x45\xae\x45\x6a\x55\xd8\xff\xb4\xb7\x48\x0b\x44\xa5\x10\x8c\xe6\x35\xe4\x46\xa1\x41\x03\x9f\x25\x83\x46\x30\xc6\x86\x51\x1c\xc3\x7b\xf1\x53\x23\xa1\x76\x4c\xad\x4c\x6d\x84\x9c\xcb\xbc\x34\x35\x1e\x8d\x38\xc8\x57\xdf\xbd\x79\x0b\x2c\xae\x77\x76\x76\xd6\x13\xba\x12\xbd\xbb\xf6\x17\x64\x52\x72\x3a\x6d\x2c\x67\xd9\xb2\x67\x99\xa2\xf0\xc5\x8b\x2f\xcf\xbf\x7b\xf5\xf6\xdd\x7f\x9d\xbf\xfa\xee\x85\x0f\x72\x0f\x65\x5c\xfa\x3d\x82\x00\x35\xde\xf9\xbf\x4b\x40\xd2\x75\x9e\x35\xb2\xe8\xf8\x84\xf8\x70\x04\xb5\x17\x5e\x4c\xa1\xe7\xaa\x83\x00\x20\x51\x24\x64\xac\x95\xca\x27\x9b\x60\xd8\x0a\xd6\x7f\xc9\xf2\x4a\x4d\xeb\x62\xbd\xed\xdb\x70\x6b\xa5\xe5\x67\x86\x6e\x21\xfe\xcb\xa2\x90\x71\x25\x16\x5a\xee\xf7\x21\x07\x45\xbf\xb0\xff\xd3\xc3\x10\x4d\x38\x18\xb8\x16\x21\xd3\x43\x6a\xb7\x9f\x69\x3b\xf3\x40\x02\x74\x22\x7a\x93\xb1\xc5\x4d\xbc\x22\x56\x32\xa8\x29\x7f\x66\x29\xaf\x20\x3c\x10\xa2\x0d\xaf\x55\x35\xd1\x66\xeb\x2a\x23\x26\x36\x2f\xb6\xb7\x2c\xef\x4d\x20\xdc\xd1\x80\xc9\x5f\x3c\x73\x09\xe9\xcf\xe7\x6c\x61\x74\x62\x6e\xf8\x4e\x21\x99\x68\x63\x79\x08\x8a\x88\x74\x29\xf5\x9d\x93\xfb\x20\x1c\x46\xa3\x3c\x1b\x9f\x87\xe2\xea\x48\x60\x70\x36\x65\x39\x4d\x55\x7e\x8d\x7a\x40\xa9\x6e\x5c\xe0\x65\x6a\xbc\x0e\x13\x1d\x86\x94\x9a\x0c\xa2\x1e\xdd\x07\x90\x22\xdf\x3e\x06\xa5\x09\xae\x62\xf3\x51\xab\x22\xb3\xcc\xb1\xfc\x28\x20\x98\xae\x31\x5a\xf5\x94\x34\x5a\x35\x66\x11\x20\x62\x8e\x56\x56\x7e\x6d\xca\x80\x2a\x1f\xdc\xbf\x01\xf5\x0c\xab\xe7\x16\x11\xd7\xb9\x6e\x0c\x78\x0a\x70\x30\x9e\xd5\xf3\x31\x5f\x57\xa9\xa5\xbe\x56\xbb\x3f\xd0\x99\x06\x93\x0f\x75\x41\x3c\xec\x5b\xf1\x40\xce\xc5\xe7\x3e\xbd\x33\x79\xc6\xac\xac\x6e\xd0\xcf\x87\x62\x9c\xd4\x9e\x81\x44\x30\x6f\x91\xf3\x1a\x47\xcc\xc1\xf6\xfe\xb4\xc4\xdc\x1f\xf2\x4f\x3b\x18\xc4\x59\x17\x8b\xe0\x3e\xca\xc3\xbf\xf4\x29\x8f\x9a\xd2\x90\x3f\x39\x1c\xd9\x13\xc0\x19\xc7\x5b\x8c\x69\x90\xa4\x56\xb4\x00\xda\x09\x1a\x1d\xcc\xed\x4c\xf4\x5c\x62\x1c\x8f\xa9\xf9\xde\x57\xd9\x0a\x19\x82\xcf\xbf\xfe\xe6\xbf\xdd\x4e\x89\x4f\x35\xa3\xf1\xac\x6c\x8c\xe5\x72\x53\x59\x86\x81\x96\x3a\xcb\x67\x6b\xf2\xe8\x54\x72\x6d\x4f\x2b\x92\xd3\xed\x19\xa8\x9b\x1a\x79\x82\x73\xfb\x44\x03\x8f\xe2\x2f\x64\x96\x1b\xf8\xd5\x65\x4e\xac\xfb\x1d\xc8\x89\x0c\x03\x9b\x51\x14\x47\x84\xb7\x16\x2e\x22\x9f\x37\xb5\x5e\xb5\x38\x1a\x49\x54\x74\xe0\x57\x4c\x0f\xb3\xb2\x6e\xc2\xef\x9e\xa3\xad\xc7\xaa\x70\x6d\xd1\xde\xdc\x58\x71\xad\xa9\x21\x1f\xb2\xeb\x0d\x56\xf1\x28\x51\x91\x33\xda\xe9\x49\x70\x70\x66\x50\xa6\xcd\xd2\x23\xa8\x95\xb9\xca\x84\x9c\xd8\xa1\xf2\xaa\x52\x85\xba\xb6\x4b\xc9\xa6\xb2\x5b\x2c\xc8\x94\x13\x9e\xbb\x29\xfc\x6e\x2c\x7a\x0f\x3a\x93\x09\x7a\xaf\x75\x2d\xdc\x38\x59\x6f\x2f\x99\x9d\x10\x97\xb0\x8d\x7e\xa7\x9a\x30\x48\x56\xc7\x6a\x36\xbb\x56\xc0\xe5\xe4\x06\x06\x17\x3e\x35\xdb\xb4\xb8\x28\x9d\xa0\xa9\xdc\xe3\x25\xc7\x54\x14\x14\xe4\x7c\xee\xd0\x48\x88\xff\xf6\x0b\x42\x52\x0c\xa5\xe0\x5a\x20\x59\x0b\x88\x16\x94\x45\xfe\x57\xca\x4d\xce\xad\x70\x22\x21\x38\x33\xaf\x7b\x26\x89\xce\xa4\xf8\x27\x3c\x5d\xbc\x49\x7f\x1a\x4c\x16\xfb\xad\xe7\xf6\xd5\xdc\x6b\x31\xcf\x29\xfc\x73\xe7\x82\xd6\x55\xd3\x5e\x4f\x76\xc8\xed\xb3\x98\xdf\x2a\x32\x92\x4d\x92\xe5\xa4\xf4\x47\xc3\x77\x88\x5f\xdc\xff\xf6\x32\xa4\xc8\xa8\x46\x98\xb6\xcb\xd8\x8d\x75\xa8\x4a\x51\xc1\x2f\x2e\x84\x0d\x8b\x2e\x40\x4e\xf2\x8c\xd3\x01\xf9\xa0\x51\xb5\xef\xd8\x9a\x20\x64\x2c\x75\x99\xd7\x94\x9d\xc9\xec\x0e\x7c\xe6\x44\x8c\x43\xcb\x31\x83\xc0\x0b\xea\x77\x9b\x56\x96\x1a\x93\xa5\x4b\xf8\x88\x28\x8a\xd4\x5b\xd7\x2b\x35\x6d\x2a\x93\x5f\x2b\x38\xa9\x65\x66\xa2\xd7\xd9\xa1\x82\xf2\x17\xcf\xd9\x10\xcd\xdd\xa8\xa2\xe8\x1e\xdb\x92\xab\x59\x97\xd3\x45\xa5\x4b\xdd\x98\x21\xf1\x2c\x3f\x53\xfb\xbe\x36\x92\x86\x2e\x93\xfe\xfe\xb2\x31\xf5\x7d\x4c\x57\x76\x49\xab\xbb\x84\x90\xfe\x00\x2d\x31\x5e\xa4\xf4\x5e\xfd\x59\x47\x99\xb0\x90\x41\x2c\x7d\x28\xdf\x42\x86\xa8\xc0\x6c\xbf\xbd\x61\x1f\x7f\xe3\x6d\x13\x51\x42\x56\x9c\xa3\x09\x96\x02\x55\x66\x79\x39\x7f\x6e\xb1\x5a\xa9\x12\x7c\x99\x49\xfc\x1c\xdc\xf3\x71\x67\xfc\x8c\x3f\x38\x68\x3d\x7e\x26\x8e\xc4\xa7\x9f\x46\x1f\xed\xce\x75\x7e\xad\x1f\x27\x58\x81\x07\xf2\x8c\x52\x0d\x47\xf6\xaf\x7e\xcb\xb4\x30\xd8\x1d\x52\xcd\xed\x14\x0f\x84\x2a\xa2\xf0\xa3\x24\xb0\x1a\x0c\x27\x83\xc8\x35\x02\x29\x84\xdf\x30\x5b\xa5\xc5\x24\xfa\x3d\xd8\xc8\x8c\x4b\x38\x66\x30\x57\xf5\xcb\x5a\x2d\x4d\xdf\xce\x9c\x15\xa0\xcb\xed\xc5\x38\x79\x18\xc7\x78\x85\x71\x97\x67\x7c\x5c\xe7\x37\x76\x01\x59\x2d\x8f\x48\x3c\x98\x4f\xfb\x01\x75\x0d\x6e\x32\x07\x82\x88\x73\x95\xaf\xd4\xda\x19\xf4\xf9\x04\x06\x09\xb0\x52\xd9\x9b\x75\x39\x15\x67\xa2\x1f\x05\x6c\x70\x8b\xc3\xa7\x9f\x6e\x08\xde\x13\x22\x95\x62\xae\x51\x35\xbd\x7b\xb6\xf1\x09\xd1\x25\xf7\xf0\x45\x87\x18\xe2\xcb\x48\x84\x19\x0c\x42\xd0\x5a\x87\x05\xaa\xe3\x09\x28\x45\x19\x04\x48\x47\xbd\xee\x73\xe3\xa0\xe6\x84\xa2\x1f\x3c\x88\x72\x8f\x61\xd5\xd7\xe5\xf4\xb9\xc3\x08\x29\xe3\xc9\x2e\x19\xf0\xb4\x64\xf7\x5f\x16\xa1\xf7\x31\xdb\x26\xaa\xab\x17\x01\x90\x48\x18\xd3\x38\xcf\xfb\x03\xe3\x8c\x90\x9d\x16\x8d\xdc\x78\x55\xc8\x08\x29\x22\x9b\x82\xd3\x27\xad\xb2\x68\xbf\x0c\x32\xb3\xd0\x6e\x41\x62\x5b\xc7\x90\x9d\xb5\x7b\xdf\x6e\xd4\x48\x5d\x8d\x0d\xe7\xa6\x46\xba\x04\x93\x0a\xaf\xc0\x40\xbb\xd9\x69\x36\x6d\x3d\x95\x2a\x47\xdc\x54\x79\x5d\x43\xf0\x02\x9d\x7c\x6e\x6f\xb6\xa7\x46\x0a\xc9\xfb\x89\xd6\x85\x92\xe5\x7b\xe4\x3a\xef\x21\x56\xe6\x7d\xd9\x14\xc5\x07\xda\x56\x6f\x5b\x8a\x01\x16\x13\x72\x94\x10\x7f\xcd\xb9\xab\x21\xcc\xeb\x80\x56\x8a\xb2\x4b\xd0\xf9\x09\x11\x11\x50\x35\xe2\x5a\x16\xb9\x67\xf2\xa9\x92\xf0\xcb\x0d\x09\xab\xfa\x5d\x50\x7b\x7d\x50\xd8\x96\xb3\xa6\xc3\x96\xb1\xd1\xcc\xe0\xc6\xdb\x6d\x6d\xd8\x60\x66\x70\x03\xfc\x0a\x6b\x03\x17\xe9\x2d\x75\x07\x88\x56\x38\x2e\x92\x34\x4d\x16\xc3\x5f\x91\x94\xed\x86\x77\xd5\xf4\x9c\x71\x6d\x03\x1f\x71\xda\x39\xc2\x45\x61\xd3\x88\x2e\xaa\x4b\xd2\x67\x2f\x6b\x17\xc6\xdc\xf5\x16\x11\x38\xa4\x15\x50\xb7\xa9\xeb\xed\x17\xb9\x53\x2d\xfa\x42\xf6\xda\x48\x54\x8d\x80\xba\x98\x85\x2f\x0c\xb9\x4a\x43\x6d\x7d\x3d\x1e\x4f\x4e\x96\x11\x6d\x48\x0b\xf3\xfe\x96\xf3\xd2\xe9\xc9\x33\xf1\xf0\xc0\xc5\xdc\x60\x52\x83\xab\xe8\x53\x2f\x2a\xe5\xe3\x71\xbc\xa1\x0a\x9e\x4a\xa2\x97\x2c\x99\x5d\x40\xcc\x90\x5b\x56\xfa\x96\x4b\x46\x3e\xc8\xa1\xdc\x38\xfb\xd9\x42\x36\x93\x55\x9a\x31\x04\x9f\x95\x64\x0d\xb1\x10\x30\x07\xd1\x95\xf5\xed\xd4\xf5\x68\x7c\x3f\xe6\x45\x7e\x79\x71\x74\xe9\x79\x30\xfc\x3d\x4e\xfe\x3e\xbe\x6c\x67\xd4\x3a\x2e\x5f\x62\x7e\x9d\xca\x7c\x8e\x48\x2a\x2a\x07\xb5\x3d\xbd\x01\x36\xed\x2c\x9f\xc1\xdf\x35\xea\xfe\x3f\x36\xa6\x06\x2e\x0a\x51\xb5\x6c\x19\x59\x58\x17\x6a\x79\x54\xcc\x46\x41\x75\x26\x18\x1a\x2b\x7e\xfb\x08\x62\xc8\x00\x6b\x8b\xec\xee\x08\x58\x2a\x59\x46\x05\xab\x88\x85\x71\x8f\x33\xb3\xcf\xb7\x3e\x0b\xd9\xcd\x5c\xd5\x58\x27\x0b\x58\xab\x74\x26\x54\x67\x53\xe8\x55\x0a\xf4\x92\x8a\x2a\xff\xe9\x0a\xce\x0c\xb2\x55\xc8\x52\xf8\xe8\xcc\xb6\x8a\x11\x57\xaf\x4f\xce\x39\x8b\xed\xd7\x58\xa7\xde\x17\xa6\xe7\x99\x3a\x53\x3a\xe4\xfd\xd7\x5a\xbc\x86\x32\x43\x54\xa2\x3e\x6f\xdb\x96\x39\x96\x54\x78\x0d\x1d\x98\x53\x70\x49\xb7\xa9\x1c\x63\xdc\x3a\x8f\x4a\xef\xab\xad\x35\x65\x13\x25\x14\xe3\x46\xa3\x45\xcc\xe8\x2c\x80\xda\x0f\x46\xe3\xf3\x79\x69\x31\x7d\x28\xb3\xec\x10\x6d\x1a\xa1\x2e\x19\x2e\x14\xd6\x03\x5b\x73\x7e\x9f\xa2\x02\x62\xf3\x56\x58\xb7\x8f\x52\x58\xdb\xe6\x5b\xe6\x1d\x5c\x8b\xf3\xa4\x70\x92\x93\x1a\xd2\x32\x80\xde\xd3\x4c\xa4\xe7\x92\x02\x8c\x8a\xd7\x41\x89\x19\x8d\xec\xc7\x4d\x4f\xbc\x3b\xa1\x3e\xb3\xdd\x13\xdb\xa2\x28\xe8\xb8\x73\x4b\x99\x79\x1a\xb0\xdc\x1c\xde\xdb\x5e\xa7\x8f\x3a\xe5\x98\x7a\x16\x9f\x71\x8e\x2a\x86\x11\xba\xe8\x80\x3b\x3c\xec\x12\x01\xc1\xeb\xae\x8b\xac\x8b\x00\xd8\xca\xdf\xd9\xc4\xaf\xc2\x2b\x2f\x2e\x37\x25\xf2\x38\x13\x76\xe9\xe5\xe4\x96\xc7\x7b\xe8\xe7\x8e\xb6\xcd\x2e\x8f\xf0\x85\x03\xb9\x84\x58\xee\xf0\x81\x9f\x75\xf8\x42\x23\xe0\xc4\x2b\xea\xbd\x3b\x96\xf0\x88\xb9\xec\xf6\xe2\x7c\xe9\x69\x11\x1d\xd9\xe2\x9c\xf9\x86\x3c\x15\x62\x8c\x32\x2c\xb9\xba\x56\xd5\x3a\x39\x71\x50\xe0\x91\xc6\x40\xb9\x22\x67\x73\x60\xf6\x34\x5d\xc6\x22\x9f\xeb\x5e\xb1\x94\x2b\x71\x2e\xc8\xe5\xcd\x9d\xb3\x18\x4d\x37\x65\x65\xc2\xe2\x17\xb8\x97\x26\xef\x91\xe5\x56\x37\x63\xa7\xff\x26\x3a\xfc\x10\x09\x43\x3b\xa5\x60\x6a\x23\xcc\x7c\xfa\xa9\x20\x9b\x3c\x5d\xb8\x7b\x26\x7a\xee\xc9\xde\x06\x0b\xdc\xcb\x12\x58\x35\x1e\xdd\xcf\xe8\x49\xd3\x0b\x8a\x3a\x5e\x61\x3e\x91\x34\xa0\x00\xfd\x46\x04\x16\x62\xe1\xed\x0c\xd3\xb8\x49\x7f\x58\x3b\xcd\xd6\x7f\x86\x0b\xa0\x8f\x54\xde\xc8\xf2\x30\xf0\x59\xb6\xc9\x17\xb8\xac\x80\xb0\x3c\xac\x92\xd7\x67\x77\xee\x6c\xd3\x50\xb9\x58\xb6\x94\x2b\xbc\xda\x71\xbc\xe7\x66\x25\x9d\x9b\x07\x09\x55\x04\x0f\xac\xb3\x8a\xa5\xd3\x30\x2c\xc0\x8a\xe2\x98\xa8\xc8\x4a\x6c\xbe\x85\x9a\x52\xdc\x60\xe4\x6c\x4d\x06\xb2\xf6\x29\x63\x1f\x8c\xf3\x10\xe8\xbb\x5a\x15\xf9\x14\x4d\x8e\x90\x34\x69\x81\xac\x3e\x8c\x22\x62\x63\x54\xd5\x35\x09\x38\xf7\x78\x67\x04\xf2\x16\xf8\x23\x3e\xeb\x94\x0f\xc0\x79\x00\xb2\x08\x84\x8c\xdf\x81\x4a\x8d\x85\x65\xcf\xc8\x76\x87\xb8\xe9\x30\x22\x1b\x55\x1a\x73\x93\xd7\xd3\x85\x3b\xd4\x99\x48\x43\x36\x96\xbd\x36\x00\x86\xb2\x9d\x17\x45\xdb\xba\xdc\xa2\xa2\x36\xb1\x70\x61\x0f\x47\x22\xde\xd7\xf7\xd1\x8f\xd1\x02\xbf\xd6\xee\xb8\xdc\xb0\xbc\x94\x2d\xf1\xab\x35\x6e\x52\x4c\x11\xe1\x1f\x83\x09\x9a\x7f\x77\x07\x9c\x8f\xd1\xa2\xee\x92\x1a\xd5\xcd\x0e\x76\x6f\x26\xa8\x61\x13\x1b\x76\x48\xc7\x99\x2b\x97\x40\xd9\x25\x94\x77\xf3\x8e\xee\x3c\x8d\x14\xec\x22\xbf\x24\x9d\x2b\x32\x42\x6d\x7c\x17\x4d\x28\x78\x6f\x3b\x14\x81\x14\xc6\xbe\x83\x8f\x3e\x24\xdd\x95\x22\xc3\x12\x82\xf1\x0d\x96\xbc\x74\xd1\x21\xeb\x39\x09\x04\x69\x07\xa1\xec\x01\xc9\x33\x45\x7c\x50\xe0\x22\x2f\x93\xc4\x70\xe8\xd7\x23\xad\x34\x43\x06\x18\xac\xaa\x41\xd1\x02\xb2\xa9\xf5\x81\x13\xb9\x40\xb6\x49\x45\x1f\xbb\xdf\xed\x3b\xd1\x7d\x54\xd1\x04\x9c\xcc\x85\x45\x69\x2b\xa3\x60\x87\xc7\xb1\x7d\x56\x94\x6a\xa0\x6c\xd4\x4e\x81\x1b\xea\x9d\xf8\x2f\x03\xce\x86\xa8\x71\xa2\x97\x57\x40\x2c\x13\xd9\x18\x26\x09\x5f\xff\x75\x84\x0b\x50\x38\xb0\xa7\x12\x69\x9d\x4e\x30\xda\x38\x4a\x9e\x85\x31\x72\xc0\x94\xbe\x56\x55\x95\x67\x38\x1d\x8f\x2d\x1a\x63\xf7\xde\xc3\x6f\x41\x55\x8d\x97\x20\xf1\xe2\x97\x9b\xfb\x66\x21\x6c\xc7\xff\x70\xda\x2c\x5c\x21\x33\x3c\x5e\xdb\xcb\x67\x9f\xf9\xfb\x9f\x71\x63\x43\xee\xed\x21\x79\xe6\xea\xb8\x65\x21\xb8\xdb\x0a\x91\x2e\xda\xc1\x82\xde\x0d\x05\x4b\x3a\x36\xff\x17\x0d\x9e\x2c\x84\x69\xdc\xf9\x7e\xa5\x43\xfe\x41\x36\x68\x67\x03\x1e\x1e\x8a\x6f\xf2\xe9\x95\xaf\x2b\x35\x74\xe4\x78\x72\x90\xe5\xf3\xbc\x16\x0b\x75\xcb\xeb\x14\x73\xe9\x9c\xe2\xff\xd0\x33\x4f\x35\xaf\xef\xe6\x99\x78\xff\x5e\x74\x7f\x40\xc8\xb4\xce\x42\x5b\x22\x57\xf2\xa9\x3f\x1e\x8a\xa3\xdb\xd9\x6c\x36\x1b\x8c\x6a\x4d\x65\xd8\xc7\xa7\xde\x1c\xcc\x9e\xf9\xeb\x4a\x66\xfd\x3c\x1b\x8a\x93\x70\x97\x10\x6b\x17\x35\x58\x7f\x3d\x72\x81\x32\x2d\x26\x10\x11\x1d\x19\xff\x80\xba\x10\xc7\xba\x5d\xa4\x26\x29\x3c\xc7\xda\x01\xfc\x51\x1f\x54\x1a\x1c\x25\x2d\x90\x4a\x19\x55\x9f\x17\x05\x8f\x45\xed\x14\xc6\x2f\xf2\xcc\x4b\xef\xf4\x30\x52\x51\x46\x51\x3f\x34\x01\x34\xad\x33\xb2\xb3\x53\x33\x51\x4d\xda\x78\x8c\x48\xbc\x07\x45\x54\xb6\x4d\x03\x9e\x05\x38\x66\x82\xa0\xa6\x03\xd6\x4b\x1d\x96\x03\x41\x15\x52\x03\x71\xe3\x7c\x34\xd0\x9c\x33\xf4\xc6\xec\xc5\x9e\xf8\x49\xcc\x58\x55\x92\x1b\x8c\x77\x42\x41\x46\x54\xac\x3b\x59\x4d\x9e\x31\xb6\xf7\xf2\x8b\x7d\x3d\x82\x76\xbc\x2d\xac\x84\x73\x01\xfb\xbd\x9c\x0f\xc0\x63\x31\xac\x5d\x2f\x00\x4b\xc9\x60\x2f\x2e\x22\xce\xd2\xad\x15\x62\xa0\xa2\x3d\x66\xa1\xe2\xd8\x27\x7f\x4a\x77\x11\x0a\x6d\x84\x4c\x41\xdd\x95\xed\x14\xd9\xdd\xfd\x60\xd3\x61\x1a\xce\x11\x26\x8f\x21\x1f\x67\xe9\x8e\x6c\x7d\x75\xe5\x0f\x0c\x57\x6d\x0a\x65\x9b\xda\xbb\x3c\xaa\x50\xec\xd5\xe7\x47\xdd\x61\x55\x52\xc9\xe1\x50\x11\xab\x94\xa5\x50\xb7\x53\xb5\x42\x4f\xf6\x4c\x94\x3a\x81\x04\xdb\x11\x46\xbc\xff\x82\x83\x13\x6a\xab\xe6\xe5\xbe\x24\xe7\x61\xee\xc7\x49\xeb\x91\x54\x11\xcf\xaf\x95\xc0\x1e\xd9\x45\x08\x49\x98\xbe\xbe\x17\x4d\x3b\xca\xdc\x44\xd0\x1d\xb9\xe9\xa8\xe6\x79\x2c\x74\x78\x37\x07\x3b\x44\xd3\x80\xb4\xf8\x80\x62\xe2\xa9\x1b\x2c\xe2\xbf\x29\x09\x7a\x81\xb8\x9f\x67\x58\x58\x8e\x80\x06\x5c\x25\xdd\x9d\x46\xbe\x4b\x2f\xbd\x97\x9e\xa2\xf7\xf8\xf1\xea\x0e\x53\xcf\x60\x93\x44\xf4\x0f\x29\xef\xb5\x33\x6c\xed\x9e\xe7\x51\x56\x9a\xd3\xb8\xa6\xca\x57\x49\xac\x6f\x34\xcc\xc1\xa4\x06\x26\xac\xed\x00\x9b\x89\x55\x3a\xe2\x40\x28\x02\xb7\x6c\x74\xb8\x5d\xa3\x0a\xba\x50\x15\x0b\x84\xd4\x7b\x43\x71\x0f\x19\x9e\xfd\xd5\x32\xf3\x7b\x53\xbd\x5c\xea\xf2\x9e\xdd\x20\x2b\x55\xd5\xb9\xf2\xae\x07\xba\xb2\xa6\x6a\x72\x52\xf0\x14\x83\x03\x94\xe3\xfe\xa7\xae\x1a\xf5\x3f\x71\xfe\xef\x10\x99\x40\x54\x89\x58\x8a\x33\x71\xd1\xc3\x27\x6f\x7b\x43\x41\xbf\xae\x7b\x97\x04\x30\x61\x00\x78\x95\x6e\x58\xa4\x79\x4b\x99\xe9\xcb\xa1\x98\x0c\xc4\xd9\xe7\x3e\xf9\xf7\x67\x14\xbf\x9f\x89\x9f\x85\x1f\xff\x19\xc4\x25\x89\x0f\x43\x3a\x2d\xec\xdd\x0f\x43\x81\x9f\xca\x20\xd7\x1e\xd2\xca\x0a\x21\x6b\xd8\x0e\x48\x16\xdc\x8c\x21\x46\x48\x63\x1a\x57\xe3\xf0\x7f\xe4\xff\xd8\x9d\xc9\x53\x06\xb8\x0e\x11\xf9\x7c\x2e\x90\x5d\x5c\x7e\x10\x12\x7b\x04\x69\x53\x83\x39\x95\x1e\x6a\x2d\xfe\xa6\xc7\x27\xe2\xbc\xa4\x72\x7f\x1b\x9e\x6b\xf5\x79\x2d\x79\x08\x66\xfc\x69\x87\x88\x10\xbe\xf4\x5b\xd8\x4b\xbc\x10\x9c\xb5\xe0\x9a\xfc\x1c\x35\xe1\x82\xad\xe3\x56\xe6\xc3\xf0\x4e\x38\xba\xd9\x05\xbf\x20\xf0\xf7\x87\x8d\x7a\xa3\xec\x52\x14\x2d\x17\x98\xf8\x93\x52\x5e\xe4\x97\x2d\x31\xb4\xba\x1e\xe1\x2b\x2e\xec\xed\x4b\x16\xaf\xd6\xaa\x1e\x55\x5d\x8f\x60\xb6\x5d\x90\x6e\xbb\x77\x4d\x6d\xb2\x69\x6a\xfd\xc9\x45\x7e\x69\xf9\x97\x1b\x79\x60\xe5\x66\x7e\x15\xa7\xe6\x0d\x68\x56\xee\xc9\x4b\x1f\x89\x51\x5d\x93\x68\x92\x5d\x4c\x92\x29\x75\xb5\x08\x73\x81\x91\x14\xc3\x95\xff\x55\xb1\x7e\x89\x1b\xce\x6e\xc3\x5c\x01\x3e\x49\x85\x88\xd9\x0e\x06\x8f\x07\xb1\x0e\xa5\x9a\x56\x9f\x17\x1c\xa3\xce\xb1\xd1\xd0\x5a\x2c\x73\x03\x4d\x7c\x43\xec\x59\x99\x61\xfc\x98\xdb\x27\xad\x38\x32\x3b\x20\xd8\xb2\x5c\x60\x02\x44\x0c\x60\xf4\x21\x0b\x62\x83\x7d\x07\xc5\xd8\xa0\xa9\x4b\xe8\xb3\x17\xfb\x63\xb1\xab\xc4\x44\x91\xb4\xf3\x4b\x8e\x7c\x13\xd0\xd8\x1d\x72\xf0\x8b\x62\xd7\xec\xa8\x77\x3a\x0a\xda\xed\x75\xa6\x47\x91\x35\x5b\x7c\x1d\x69\x28\xdb\xb6\x58\xb6\x76\x28\x1b\x99\x3a\x7f\xfb\x48\x36\xca\x53\x6f\x71\x2d\x72\x16\x28\x71\x1f\xdd\xd9\xf7\x31\xeb\x51\xf2\x48\xe8\x51\x6c\xde\x7a\xb9\x51\x88\x0e\xef\xa1\x82\x34\x9e\x04\x6b\x57\x28\x3e\xc4\xd5\x5a\x84\x12\xa1\xb9\x77\x99\x1a\x09\x1a\x06\xc7\xc1\x60\xc2\xf4\xb8\x2a\x33\x96\xdd\x99\xe5\x66\x2a\x2b\x14\x29\x61\x7a\xba\xc8\x70\x6a\xad\x50\xbd\x4e\x39\x27\x69\x5b\xb8\x0f\xd3\xed\x07\x0c\x0c\xe9\x75\x9b\x8d\x6d\x01\x76\x53\x2f\x43\xd0\x9e\x03\xd8\x45\x7e\xc9\x6b\x02\xe0\x0c\x5e\x42\x31\xac\x33\x7a\x5b\xaa\x98\x50\x5e\x3d\x07\x0d\x99\x1a\xc2\x3d\x44\x7a\x0a\x07\x43\x95\x25\x38\x18\xb6\x6b\x24\x71\x98\xe0\xaf\xd0\xe4\xfd\xfb\xf8\x18\x51\x1b\xd6\xa4\xb0\x11\x64\x31\x83\x78\x4e\xd9\xd6\x3b\x0d\x30\x6c\x24\x62\xe7\xf8\xb7\x8f\x71\xdb\xc3\x9a\x20\xc4\x47\x5b\x0d\xf0\xa1\x8d\x01\x7a\x89\x7d\xc2\xfb\x34\xfa\xf1\xbe\x4f\x4b\x25\x76\xd1\x15\x2d\x6a\x07\x4d\xed\xd6\x2e\xf1\x59\x7b\x9c\x45\xe1\x39\x77\x53\x06\xd3\xc9\x5b\x36\x87\xfa\x45\xfa\xaa\x81\x82\x68\xb1\x4f\x37\x87\xbc\x7d\x54\x13\xc0\x37\xd3\x3e\xc6\x32\xee\x4b\x6a\x05\xf6\xe5\x2d\x87\x01\x6a\x6e\xd8\x11\x82\x2a\xe3\x77\x7b\x4a\x5b\x1e\x88\x78\x6a\x60\x25\xd8\xd7\x54\x61\xe2\x2c\xa4\xff\x1d\x4f\x43\x47\xee\xc6\xcb\x5a\x2d\xfb\x71\x84\x71\x80\x0f\x31\x62\x71\xe4\xe9\xdd\xad\x79\x52\x5d\x4f\x6c\x4a\xbd\xfc\x08\x8f\x12\xd1\x47\x94\xd3\x6f\x84\x4b\x69\xac\x17\x2a\xaf\xda\x94\xb2\xe7\xd2\x74\x7a\xc5\x90\x63\xa1\x23\x2f\x54\x60\x75\xfb\x6a\xab\xc2\xcd\x58\xf5\xfe\xaa\x33\xdf\xb4\x89\xfe\x1c\xca\xb7\x71\x85\x35\xb2\x53\x75\xef\xfe\x9d\x0e\x3d\x1f\x39\xbe\x2b\xda\x78\xfb\x9a\xef\x1d\xb2\xbc\x89\x0c\x84\x77\xe1\x81\xf9\x94\x95\x54\xf9\xf0\xcb\x42\xea\xe3\x58\xfa\x8e\x24\x3c\x16\x51\x9f\xd6\xf4\xdc\xba\x5b\x30\x1e\x1e\x41\xdc\x9c\x67\xba\xb2\x8a\x77\xbf\x4d\xcc\x1b\xc3\x98\x5d\x5b\x24\xab\xc4\x5a\x1e\x75\xa3\x5d\x01\xb2\x20\xa8\xd8\x33\x2d\xc7\x50\x96\x52\xd7\x07\xea\xa7\x46\x16\xcc\x3c\x37\xd1\xf5\x82\x57\x2d\xf3\x45\xc0\xcc\x54\x16\xb2\x82\xd8\x05\xb4\xfb\xea\xe5\xca\x02\xc0\x00\xb1\xf1\xc1\x0e\xe5\x1a\x99\x40\x8e\x97\xe8\x97\x9a\xd9\x3b\x06\x43\x2c\x4a\x72\x93\x1b\xdf\x04\xce\xce\x39\x62\xc3\xae\xc0\x99\x15\xe8\x0b\xe8\x13\x8a\x45\xa7\x6f\x42\x7e\xe2\x74\xa1\xa6\x57\xf6\x43\x23\x06\x0f\x79\x20\xc1\x75\x2b\xbe\x65\x9d\x12\xa1\x0b\xa4\xeb\xa1\x06\x43\xd0\x57\xa0\xf4\x7d\xeb\xbe\xfc\x46\x61\x50\x9f\x43\x16\xe4\xa0\xdf\xc1\x26\xdb\xd4\xdc\x67\xc2\xc2\x00\x53\x26\x7f\xdf\xaa\xf6\xe7\xc1\x9c\x47\x6f\x49\xed\x81\x93\x0d\x30\x7b\xc4\x3a\xe5\xb3\x59\xb7\xce\x7d\x78\xe8\x8c\xac\x16\x30\x09\x57\x1c\x0a\xd7\x42\xce\xae\xa2\x2b\xee\x2f\x0c\x76\xfe\x5c\x55\xf9\x32\x07\x1d\x0b\x03\x6d\x50\x71\x25\xd3\x9a\x1c\xc0\x6e\x75\x7f\x4e\xac\xfe\x4a\x1b\xe0\x6e\xff\xf0\x2f\x7d\x6f\x6a\xf3\xc1\xe2\x14\x3b\x8e\x07\x5e\x9a\xd3\x2a\x07\x83\xa4\x5b\x4a\x97\x3a\x2b\xe1\x9d\x93\xd8\x88\x86\x47\x71\x3b\x15\x35\x09\x9d\xec\x20\x26\xdf\x39\xc7\x34\x13\x68\x8c\x61\x15\xd3\x8e\xfc\x28\xee\xf9\xf5\x2a\x51\xa6\x95\x6b\x86\x50\xab\x6a\x9f\xe2\x10\xae\x3d\x10\xe6\xf7\x01\x5d\x82\x34\x51\x64\x49\x18\xbb\x10\xdf\xa3\x52\x28\x6b\x57\xc7\x71\xd8\x19\xe5\x80\xf6\x3b\x8c\xe7\x73\xe9\x9e\x1f\x17\xe2\xe0\x3d\xd7\xb0\x7d\x5a\x0d\x60\xee\x7f\xb0\x87\xff\x7f\xf9\x98\x7e\x2b\x09\xc4\x58\x76\x1e\xc1\x8f\x0d\x16\x8e\x62\xc0\xdb\x25\x1a\xdc\x5b\xff\xfe\xf2\x4b\x50\x38\xec\x36\x71\xa2\x09\x4f\x15\x66\xb3\x63\x75\xd6\xbe\x88\xd0\xb2\x90\xd0\x27\x25\xf0\x9d\xa8\x4e\xf4\x87\x5f\x2e\xf8\xb8\x5e\x92\x50\xc3\x05\x4b\x43\xfa\xb0\x36\x8a\xec\x46\x4e\xd5\xde\x16\x54\x5c\xc9\x32\x00\xda\xd0\x5e\x8e\x4a\xca\x5c\xb8\xef\xfb\xac\x6b\xde\xbb\x1e\xb9\xb3\x4d\xde\xda\x73\xe3\x76\xc5\xd2\xa7\x84\xdd\x19\xed\x07\xc4\x7d\xf0\xb9\x60\x55\xa5\x08\x3f\x6b\x5f\xa3\x38\xd0\x70\x94\x96\xb1\x67\x58\x69\x44\xb8\x71\xbd\x69\x17\x16\x97\xe6\x9f\xb1\x78\xb9\x8e\xfc\x07\x08\xca\x5f\xca\x15\xe4\xa0\xb5\x45\xd2\x37\x1d\x0a\x4b\xba\xe6\xff\x0b\xfa\x8a\xfd\xb4\xb6\xba\x62\x92\x42\xcf\xf7\x79\x42\x90\x3f\xda\x2c\xd4\x5e\x59\x3f\x6e\x7d\x92\xe4\x9f\xb4\x65\xfe\x56\xc3\x58\x5b\x27\xfa\xdf\xe4\x2e\x64\x09\xda\x18\x83\x95\x70\x1f\x07\xca\x59\x4e\x1a\x9e\xe9\xa5\xeb\x8f\xe0\x57\xdd\xea\x53\xbc\xed\x23\xd1\xd4\x60\x9e\x66\x87\x16\xc7\x46\xdf\x90\xbd\xf3\x51\x5a\xda\xbe\x9a\x63\x30\x1c\x7e\xaf\x7c\x1e\xf2\x52\x96\x40\xbf\xc2\xa8\x32\xf3\x11\x52\x78\x32\x52\xec\xa5\x8b\xf1\xf7\xd1\x0d\x50\xf5\xec\x46\x05\xe3\xa0\x4b\x9b\x56\xd7\x50\xe3\x16\xc2\x80\x67\x39\xb6\xe0\xe5\x23\xb9\x0e\x9e\x37\xaa\x77\xad\x7c\x4b\x24\xe2\xf8\x38\x1c\x13\x0a\x68\x25\x8c\xb6\x47\x3f\x0e\x6a\x94\x62\x81\x96\x61\x2a\x22\x53\x85\x5c\x43\x36\x05\x96\xc3\xc0\xc1\x22\x2c\x36\x65\x9d\xbb\xf6\x96\x6c\xba\x43\x62\x15\x68\x51\x67\x6d\x85\x29\x5e\x55\x42\xe6\x06\x7d\x2c\xf6\xdf\x64\xde\x74\x57\x0a\x21\x94\xdc\x70\x05\xb7\xde\xa6\x68\x04\x0c\xb2\x16\xdc\x46\x53\xff\x2c\x43\x81\xd3\x72\x3a\x85\xb8\x21\x58\x8e\x4c\xad\x60\x41\x4a\x1c\x4d\x0a\x96\x4c\x1e\x8d\x6b\xdf\xc9\x0c\x39\xdb\x54\x1d\x6a\xab\x33\x14\x47\xf1\xb1\xf2\x67\x55\xc7\x75\x5d\xf6\xc9\xb8\xec\xe6\x66\xf3\x7d\x4d\x2f\xf3\x7f\x04\xc3\x8b\x73\xf9\x44\x2c\xa5\x23\x56\xa3\x28\x44\xa9\xcb\x03\x77\xe6\x46\xb9\x4c\x26\xa9\x72\x1d\xc9\xcc\x18\xd6\x87\xa1\x3d\xa5\x32\xb5\xda\x54\x4c\xc0\x57\x12\xd8\x8d\x39\x75\xbb\xd2\x55\x7d\x6e\xfe\xc3\xe8\xb2\xdb\x3a\x82\x0e\xc3\x0f\xdd\x91\xe8\x5b\x4d\x0e\x9b\x12\xb1\xb9\x07\xd0\x65\x11\x52\x3f\x9c\xc8\xa0\x92\x78\x12\xa2\x7a\xf5\x9d\x26\x75\x7a\xa8\xcb\xf8\x19\x1b\xd5\x09\x10\x4c\xea\xee\xae\x9b\x0b\xda\x26\x7e\xce\xb3\x67\x10\x8a\xf1\xa3\xd1\xe5\xb3\x24\xa2\xa8\x74\xd1\x44\x11\xfa\xfa\x83\x0f\x83\xc4\x9c\x9c\x78\x31\xf7\xa5\x46\x87\xc0\x6e\xe9\xb4\x4b\x38\x6d\x7d\x45\x38\xdb\xe2\x1a\x3a\x91\xb1\xa5\xdb\x49\xf9\x72\x69\xbf\xc9\x11\xe2\xa4\xd0\x93\x38\x8d\xc3\xf0\x92\x2d\x21\x38\x14\x5c\x94\x1c\x1f\x6d\xa1\x88\x62\x5c\x7f\x2b\xda\xcd\x61\xa2\x5f\x56\x7a\x99\x52\xaf\x5d\xb4\x0d\x51\xef\xe1\xd6\xbe\x44\x9a\x1a\xf8\xec\x08\xf1\x5a\x6d\x24\x46\xfb\xc4\x7e\xd4\x88\xe6\xbe\xcb\x11\x05\xaa\x26\x6f\xb6\x58\xe8\x72\xa9\x90\x85\xb1\x0c\xb1\x61\xee\xd1\xe0\x46\x61\xcf\x0e\x58\xb8\xed\xc6\x71\x43\xec\xae\x13\xd6\xa0\xf9\x78\x88\xb8\xe9\x7a\x3a\x59\x8b\x7e\xf4\x4d\x80\xf2\xed\x3b\xc3\x47\xc6\xe1\x2b\x03\x8a\x37\x35\x58\x7b\xce\x9a\x91\xe9\xb2\x2b\x50\xb1\x5d\xb9\x77\x4f\x05\xa3\x9d\xfa\xd5\x15\xa8\xc5\xab\xa9\x46\x55\x15\x98\xc3\x73\xc3\x7c\xa5\xd3\x4b\xb8\xf8\xf0\x91\x53\x8c\xab\xb1\x7e\xac\x16\x14\x19\x84\xf3\xdb\xb8\x07\xd3\x95\x5a\x8f\x0a\x69\xea\x97\xe4\x4c\x64\x80\xf6\xb0\xb7\x1c\xe8\x68\xb0\xc1\x91\xf6\x21\x78\x28\xdb\xf5\x3b\xda\x15\x43\x22\x27\xe3\xb6\x2c\x26\x5e\x10\x0d\x3a\xa5\xe7\x4b\xb0\x0a\xf6\x8a\xa2\xab\xd6\x16\x06\x82\x82\x5e\x23\x21\x79\xd6\x05\x25\x90\x4d\x6c\xd4\x0a\xea\x48\x26\xbf\x9b\x4b\x87\xef\x74\xf6\x99\x33\xaf\x44\x8e\x62\x41\x7e\x73\xee\x47\x9b\x37\x43\x2f\xe3\xb4\x5c\x1d\x41\x77\xb2\xfc\x64\xe0\xfe\xb5\xce\x33\x10\xc9\xe2\x85\x06\xdd\x24\x49\xd4\x48\x95\x92\x28\x74\x2f\x7c\x56\x14\xb7\x27\xde\xbf\xe7\xb7\xce\x80\x3b\x70\xb6\xd6\xad\x72\x74\x7d\x81\xe7\x08\x31\x2b\xd8\x4f\x39\x62\x1e\xdb\x6d\xce\x25\xc6\x39\xb6\x97\x54\xaf\x14\xd6\x3a\xff\x17\x29\xa4\xfe\x86\x57\xba\x92\xa5\x7d\x95\xfb\xc2\xa4\x6e\xba\xdd\x1f\x8d\x41\xad\xcd\x8a\xa5\xff\x21\xaf\xe5\x9b\x69\x95\xaf\xa0\xce\x6d\x39\x67\xdb\x68\xaa\x8b\x42\x4d\xed\xd1\x9d\x35\x98\x5a\x2f\x26\x0d\x45\xc2\x9a\x5a\xad\xc8\x0d\xe1\x7a\x66\xe4\x25\x5a\x4a\x54\x95\x63\x32\x73\xcf\xb2\x35\x8f\x68\x99\x65\xfd\xd1\x68\x34\xc0\x2e\xfd\x26\x34\x53\x85\xde\x17\xff\xd7\xc1\xdd\xa3\x4a\xb3\xf9\x35\xe6\xc2\xb8\x75\x9b\xe4\xe5\x21\x36\x57\x1c\x99\x05\xab\x6a\x55\xea\x32\x9f\xca\x42\x34\x46\x61\x4e\xbe\x69\x59\x9e\x29\xcf\xd3\x97\xc8\x8e\x2b\x80\x91\xa2\xbb\xd6\x4d\xe5\x71\x46\xed\x36\xec\xf7\xd8\xfd\x05\x03\xeb\xa2\x80\x1e\xed\x8c\x65\x7b\xf0\x33\x6a\x78\x46\x18\x7f\xf7\x4c\xfc\xfc\x21\xed\x5a\x2b\xfd\xfd\xad\x16\xe3\x24\x35\xdf\x3f\x23\x78\x89\x35\x57\x1a\x1d\xda\xda\x52\x2c\x3e\xcc\x94\x4d\x13\x05\x34\x3f\x27\xd7\x4b\xd0\x2c\x24\x66\x51\x43\x7f\xe5\xce\x28\x6a\x70\x4e\x9c\x8b\x25\xb8\x68\xec\xef\xe9\x64\xc0\x8d\x71\xaf\x92\x37\xf7\x30\xbe\x9b\xec\x7a\x94\x72\x39\x29\x5a\x36\xed\x4c\xd6\x92\x99\xa4\xe8\xf0\xe6\xf8\x88\x11\x6a\x89\xa5\x6d\x45\xb2\x73\x19\xc2\x58\xc8\x80\xa2\x27\x02\xf2\xbd\x40\x4c\x16\xc0\xf5\x4a\x3d\xc3\x67\xe1\x6f\x7b\xf7\x19\x5a\x52\x30\x4c\x42\xd6\xf2\x19\xfc\xc4\xa0\xc7\x58\x83\xab\x72\x05\xf1\x4f\x7e\xa9\x89\x59\x45\x3d\xa0\xe8\x16\x7c\x65\xee\x53\x2f\xa8\x83\xcf\x3d\x7b\xf9\x5e\x08\xdf\xf5\x1f\x6f\x65\x71\x0b\x16\x69\x7e\x7b\x79\x11\xfc\x1b\x3b\x5a\xbd\xc5\x61\xee\xc1\x93\xa0\x77\x34\x69\xf3\x63\xba\x66\xd5\xa5\xae\xd9\xf1\xc9\x62\x59\x75\x77\x2c\xeb\x3d\x8b\xe2\x7b\x43\x71\xcf\xce\xd4\x85\x33\x47\xdf\x1e\x45\xb4\xfa\x85\xeb\xd0\xe5\x87\xad\x4f\xe0\x51\xf1\x4e\x6c\xd8\xb0\xfc\x3b\xe2\xd2\xbb\x0e\xb9\x38\x38\xdd\xab\xfe\x6e\xcc\xa0\xf8\x6f\x8c\x41\xef\x2c\x69\xba\x95\x3e\xbb\x09\x2d\xa2\xa5\x7f\x22\x9a\xb8\xff\xa1\xbd\x15\xba\xd7\xfa\x0b\xbb\x49\xfe\x1f\x5c\xef\x91\x45\xc9\x8e\x45\x07\x73\x10\xf2\xa3\xa6\x6a\xd5\x2b\xfa\xc7\x5e\xfe\xf3\x30\x71\xa1\x4a\x2b\xf8\x64\xe2\x5a\x55\x06\x6c\xc0\x3b\xf9\x3d\x11\xc6\x77\x55\xb1\x2f\x6d\xa0\xd4\xee\xcf\xdf\x74\xb4\x4d\xcf\x7e\x16\x96\xab\x07\x13\xb6\x4b\xed\x1f\x84\xd3\xee\x81\xe8\x0d\xa3\xab\x7e\xe5\xb6\x8b\x94\xce\x92\xfe\xaf\x21\x51\x5a\x95\xd6\xac\x24\x65\x92\x41\x80\xc2\x52\x95\x35\x55\xcf\xd1\x33\xd7\x6e\x07\x8c\xe0\x2b\x6d\x4c\x3e\x29\xd6\x62\x5a\xe8\x26\x3b\x98\xc8\xe9\x95\x22\x31\xd1\x97\xb6\xc3\x15\x0f\xd5\x3e\x4b\x75\x43\x21\x3f\xfd\xc1\x9e\xa8\x7d\x47\x4d\x32\xff\x35\x30\x4c\x1f\xe3\x0c\x02\x13\x69\x54\x26\x20\x2c\x82\x92\x43\x4a\x2c\x02\x8b\x3d\x32\x66\xd2\x95\x45\xa0\x2e\x44\x15\x5a\x10\xac\xb8\xe5\xd3\x8a\xb0\x42\x75\xd4\xaf\x27\x5d\xba\xd6\x52\x8c\x9e\x63\xcf\xa0\x76\x33\x99\x76\x03\x99\x77\x1d\x1d\x64\x74\x47\xcf\x94\xf8\xd3\x46\xce\x1f\x0a\x05\xde\x5e\x01\xd1\xb8\x5a\xc4\xfe\xd6\xe6\xa0\x2a\x32\xa5\x50\xff\x0a\x87\xae\xf8\xb3\x58\x54\xbf\xbb\x6f\xb0\x00\x7a\xce\x0b\x48\xc4\x9f\x9c\xd8\x80\x70\x1a\x1c\x0f\xbe\x66\xb0\xac\x94\x0c\x4e\x06\xd0\xd9\xa3\x2f\xbc\x70\x00\x97\xde\x5e\xeb\x30\xb6\xb9\xba\x4b\x5a\xf5\x41\x77\xd7\x7b\xe0\x8e\x6c\x1d\xd5\x7a\xa0\xe9\x75\x45\x55\xfa\x0e\x11\x3c\x01\xc2\x95\x13\xda\x50\x9f\xbb\x95\x55\xb1\x94\xab\xc1\x87\x50\x47\x28\x8a\xc6\xe9\xca\xa7\xc0\x61\xef\xf8\xca\x5c\x89\x81\x6b\x23\xf2\x37\x74\x61\x88\x2b\x00\xa7\x28\x02\xab\x7d\x77\xd0\x31\x6f\xc3\x90\x86\xf0\xfc\xa6\x3d\x18\x36\x7e\xd1\xe6\xce\x0b\xed\xb2\xc6\xed\xce\x0b\xef\x7c\x5c\x7f\x54\x3f\x95\xa7\x1d\x77\x91\xc4\xe6\xe6\x0b\x5f\x60\x24\x38\xd4\x7c\xc2\x10\x00\x57\xc3\x8d\xf1\xe7\xdf\x82\x04\x30\xe4\xfc\xce\xf6\x82\xd0\x1b\xb1\x06\x99\xec\xdb\xeb\x40\x47\x5b\x0b\x1f\x60\x8e\xfc\xbd\x83\xd4\x5b\x4e\xcc\x6f\x83\x53\xb6\x15\x54\x26\x03\x4f\xa9\xd5\x72\x97\x47\xd3\xfe\xd7\x65\x29\x37\xab\x2d\x15\x52\x07\xfb\xa3\xd5\x87\x38\x39\xcc\x4e\x94\xb2\xe2\x2a\xca\x8f\xfb\xa0\x96\xca\x3e\x73\xe4\x42\x18\xcc\x36\xec\x5a\x29\x2a\x06\x42\x21\xa8\xb3\xa1\x87\x89\xa2\x88\x38\xc2\x5a\xfc\x85\xea\x6e\x42\xd4\xaf\xef\xe9\xbb\x0b\x65\x60\xcc\xfe\x38\x84\x19\xc8\x5d\xda\x86\xb2\xbd\x70\x66\x12\xa4\x99\xbd\xb0\x66\x52\xb4\xc5\xe1\x45\x94\x08\x5f\x6e\xda\x80\x5d\x54\xe5\xac\x30\x5e\x5a\x9f\x28\x32\x35\xec\x11\x02\x14\x60\x37\x04\x02\x19\x55\x41\x91\x7e\xe5\x13\xdd\x41\xa2\xf0\x91\x40\xd3\xa9\x5a\xd5\x2d\xdb\xce\xaf\xca\xc0\x73\x2f\x32\xaa\x8e\x12\xf0\x78\x1f\x07\x6c\xba\xa7\xe3\x5a\xf6\xf6\x01\x8a\xd8\x05\xc6\xe6\xca\x7f\xdd\x09\x7d\x88\x2a\xd7\xc5\xc0\x55\x23\xce\xb1\xac\x54\xd4\x6d\x00\xc2\x52\x57\x19\xb8\x33\x59\x84\x04\x6f\x72\xb5\x91\x3a\xcc\x86\x1d\xc5\x8a\xf8\xb6\x79\xbd\x9e\xfc\xe8\xdb\xce\xe9\xc9\x8f\xe0\x3c\x08\x25\xbf\x53\x52\x32\xaa\xee\xeb\xc9\x8f\xc9\x60\x2d\x6a\xf2\xbb\x8e\xa8\x7e\x33\x55\x75\x46\xf0\x5d\xa9\xf5\x21\x3d\x89\xa1\x62\xc9\x00\xbf\xaf\xb5\x5b\x6b\x13\xb7\x50\x4a\x17\xa6\x83\x19\xec\xb1\x82\xae\x20\x0c\x56\xcd\x8f\xf3\x6e\xf7\x3b\x6a\x20\x8a\x0f\x52\x93\x7f\xfb\xe5\xa2\xba\xa9\xbf\x72\xc5\xdc\x68\xae\x46\xdf\xdf\x7e\xc5\x42\x34\x5b\x6b\x83\xee\x5a\x33\x7c\xb4\x03\xb6\x6b\xd9\xfc\xde\x83\x93\x6e\xeb\xea\x6d\x3a\xf6\x7e\x5f\xbe\x6d\xcb\xd7\x71\xfa\xee\xbf\x80\x29\xf0\xfe\x46\x9c\x77\xf0\x21\xff\x22\x86\x86\x9b\xbc\xcc\xf4\xcd\x08\x3e\xe9\xcd\xc7\x5b\x1b\x20\x7d\x22\x36\x38\xfc\x0a\x6b\xc3\x2b\xa0\x90\x56\xe4\x59\xb7\x29\xa1\x6d\x7d\xe8\xf8\x16\x0b\x46\x97\x65\x96\xbd\xb8\x56\x65\xed\x6d\x0c\x3d\x7a\xb4\x37\x74\x65\x7e\xdf\x38\x32\xf9\x3b\x9a\x1b\xe0\x9b\xbb\xc2\x39\x22\x6b\x03\xb3\x2e\x78\xc3\xc2\x79\xa5\xe4\x6e\x93\xc2\xe1\xa1\xf8\x8f\x37\x68\xcd\x36\xad\xf2\x4b\xa1\x75\x1b\x10\x1b\xd4\xb0\xb1\x30\xcb\x55\xbd\xa6\x26\x0d\x23\xf1\x46\x0b\x4a\xee\xc2\xe1\x74\x59\xac\xa9\xee\x21\x19\x83\x7d\xe9\xa6\xba\x6a\xea\xc5\x7a\x14\xea\xa1\x63\x32\x3e\x1b\x6e\x18\x0a\x94\x53\xfc\x69\x99\x61\xc5\x5f\x88\x0a\x2b\x75\x0d\x5d\x34\xec\xe8\x3e\x5b\xdf\xaa\xdc\xce\xf3\xaf\x46\x3e\x62\xfb\x8f\xbc\xf3\x5c\xb8\x3e\x10\xcf\x18\xd4\x67\xa1\x20\x41\x18\xc2\x07\x2d\x24\x43\x84\x50\xf4\x67\x0c\xca\x0d\xa1\x83\x78\x76\xa1\x46\x24\x9e\xa1\x01\xc6\xbd\xed\x59\x98\x2b\x39\x14\x69\x8c\x67\x7e\x02\x5b\xab\xa7\xfc\x32\x5b\x8f\xfe\x67\xb3\xf2\xa4\x34\xff\x4f\x6f\xe4\x49\x3f\xe8\x77\x1b\xcf\x1e\x36\x9e\x14\x69\xbf\x9b\x78\x7e\x2b\x13\x4f\x8a\xd9\xfd\x2c\x3c\xbc\x11\x57\xcb\x6e\x01\xc9\x1f\x57\x6a\xcd\xda\x8f\xa1\x3b\xf5\xda\xfb\x50\x11\x15\xbe\x61\x69\x5d\xad\x59\xd8\x2c\x0e\xcb\xb8\x6d\x68\xfd\x22\x84\xa5\xb0\x7a\xba\x10\xee\x98\xa3\xe0\x3e\x4c\xc0\x98\x4a\x2b\x8e\xe2\x79\xc3\xe4\x4a\x48\xac\x73\x3e\xc9\x5a\x34\x65\x38\x33\x58\x54\x33\x23\x00\xbf\x7b\xe1\x70\xc7\x40\x56\x9c\x44\x8b\x1c\xfe\x15\xec\x57\x7b\xd0\xc3\x4e\xeb\xd5\xc6\x90\xff\x1c\x83\x39\x5d\x74\xbd\x38\x10\x63\x7b\x80\x7d\x8e\x07\xd9\xc1\x01\xaf\x87\x60\x77\x04\x42\xfb\x10\xfb\x7d\x29\x2d\xf1\xdc\x6f\x24\xb5\x98\xd8\x20\xf0\x9d\x8e\xe7\x0d\x04\xd7\x4d\x72\xbf\x92\xe8\xe2\x37\x5f\xc7\xf1\x89\x1d\xc1\x8d\x80\xc0\x76\x61\xd0\x7d\x69\xb7\xba\x6e\x13\xee\xef\x06\xc4\x7f\x4a\xa3\x52\xba\x3f\x3f\xda\x7e\xd8\xb2\x2c\xb9\x4d\x34\x4c\x5b\x13\xe2\x2e\xd8\x7c\x66\xee\x7b\x62\xfe\x6e\x5c\xfc\xfb\xd1\xc1\x3e\xb6\xc5\x34\xc0\x5f\x4f\x7e\x8c\x34\x86\xbd\x88\xc3\x99\x9d\x07\xed\x96\x6c\xbf\x84\x46\x7e\x37\x5f\xfe\x0d\x68\xe2\x57\x5b\x2f\xdb\x92\xdc\xaf\x5c\xdf\xdf\xed\x9c\x7f\xdb\x75\x8e\x0b\xb8\x56\x9d\x0b\xdd\x59\x8a\xb5\x5a\x6f\x34\x20\x74\xd1\x84\xac\xd6\x17\xf9\xe5\xaf\xdb\xfa\xfb\x19\x50\x97\x6a\xa9\xab\xf5\xbf\x88\x05\xf5\x65\x79\x80\xdf\x13\xac\x2a\xbf\x24\x4e\x0b\xe0\xed\x78\xbf\xc8\x72\xfa\x15\xce\xe0\x17\x9b\x4e\x37\x35\x1a\xfb\x87\x34\x1f\xe1\xc7\xfe\x2b\xd9\x8f\x5a\x5f\xf4\xbb\x01\x69\x0f\x03\x52\x0b\x6b\x7b\x58\x90\x2c\xc2\x94\x37\xe4\xa6\x52\x53\x6c\x4a\x27\x86\xa9\x9c\x4a\xf7\x73\x30\xf3\x46\x80\x70\x7f\xc8\x6c\xbd\x2e\xf1\xee\x83\xe7\xa5\x5d\xfb\x2d\x66\xa7\xc9\xc6\xfd\xc5\xf6\xe1\x4e\x0b\x71\x94\x00\xc7\xbc\x1b\x43\x97\x1d\xf8\xbb\xf9\x6c\x1b\x5d\xfd\x4a\xfb\x19\x35\xb4\xff\xdd\x6e\xf6\xcf\x66\x37\xdb\x44\x08\xff\x78\x86\x33\x22\xb1\xdf\x0d\x66\xbf\x1b\xcc\xfe\x5f\x30\x94\xb4\x36\xe6\x2f\x8b\xb8\x0b\xb5\xbf\xba\x37\x53\xfb\xaa\xdb\x21\xa9\x41\xcd\xd7\x13\x0b\xb2\x45\x97\xd8\xd0\x2e\x21\xf6\x0c\xa7\xf8\x4f\x20\x0e\xfc\x6e\x19\xfc\x07\x24\xf8\x7d\x4c\x83\x9c\x2c\xb7\x5b\x0a\x3f\x5e\xd2\x75\x16\xc3\x0f\xed\xaa\x71\x9b\x36\x8c\x37\x32\x7e\xd6\xc1\xb7\xff\x57\xc8\xfe\x37\xb3\x84\xfd\x6e\xe9\xfc\x4d\x69\xfc\xa3\x4c\x9d\xbc\xa3\x41\xb7\xe0\xfd\xbb\x99\xf3\x1f\x7b\x91\x7f\x63\x3b\x67\x27\x41\xa0\x8d\xf3\xf2\x6f\x68\xe3\xac\x95\xa9\xdf\x51\x0d\xb3\x7f\x11\x0b\xe7\xff\xb5\x77\xed\x4b\xae\x73\x75\x23\x58\x51\x98\xa6\xcc\x6b\x61\x3f\xd8\x8a\xaf\xb3\x4a\x2e\xd5\x8d\xae\xae\x60\x91\x78\x51\x49\x59\x7a\x29\x56\xf2\xeb\xf6\xc9\xb8\x4b\x95\x7d\x91\xeb\x2a\x8a\x05\xb9\x2d\xed\xbc\x55\xa6\xfe\x8a\x75\x35\xad\x54\x01\xa4\x06\x76\x56\x68\x82\x77\x8e\x65\x26\x97\x7a\x49\xfd\xb0\xf2\xba\x67\xa0\xba\x62\xa8\x53\x03\x25\x32\x4d\x5e\xce\x0b\x85\xef\x41\x52\x06\xc8\x4a\x49\xa3\x4b\x39\x29\xd6\xc2\x2c\x25\x76\xa5\xea\x9f\xfd\xff\xc7\x57\xa2\xc8\x4b\x65\x05\x23\xfb\x5e\x1c\x54\x14\xba\x16\x4a\x9a\x1c\x37\x88\x6b\xb0\xac\x4b\x1a\x16\x4a\xdd\x40\xc5\x18\xfb\x7d\x76\xa4\x85\xac\x4a\x65\x0c\x56\xb9\xcf\x41\xd8\x60\x0f\x1a\x75\xad\xca\xa8\xaa\xb9\x2e\x0a\x7d\x63\x51\x4a\x1f\x88\x75\xe2\x29\xb7\x9e\xb5\xea\x4b\x71\x73\x80\x75\x16\xb4\xae\xc9\x04\x6d\x27\xad\xca\xba\x5a\xaf\x74\x5e\xe2\xb6\x87\x92\x6e\xa0\x6d\x28\xab\x99\x35\x68\x4c\x6e\x0f\x36\x7a\xa5\xe7\xe2\x40\xbc\xd2\xf3\xb9\x85\xb6\x94\x98\x63\x76\x7e\x07\xec\x9b\x26\xaf\x95\x38\x10\xe7\x0e\xdd\x2e\xb1\xdf\x2d\x70\xc7\x33\xf6\x77\x78\x84\x96\xc4\xc2\x6e\x01\xfd\xb6\x29\xc5\x81\xc0\x2b\x48\x19\xea\x56\x4d\x1b\xf7\x26\x09\xbc\x6c\xc7\x2b\xbf\x55\xa6\x29\x5a\x2f\xb5\xfb\xac\x29\xa8\xb8\xa8\xe7\xf9\x16\x89\x54\xc1\x84\xb6\x8a\x27\x76\xb1\xc8\x55\x25\xab\xe9\x62\x8d\x64\x71\xa5\xd4\x4a\x55\xae\x90\x41\xa1\xe7\x1b\xca\xb6\x74\x60\x18\xf9\xbd\x7d\xc4\xb3\xfa\xae\x75\x08\xe3\xc1\x26\x7a\xa5\xe7\xc6\xf5\x30\x67\xbb\x91\x1a\x22\x59\x9e\xa6\x97\x79\x1d\x99\x4c\x39\x99\x24\xf6\xd1\x42\xcf\x99\x81\xdc\xce\xe5\xcc\xcf\x0a\x0b\x7c\x75\xcd\x09\xea\x99\x76\xf7\x72\x77\x94\xe5\xf0\xe7\x5b\xa9\xc3\x0d\xc7\x1a\x37\xe8\x01\xc0\x71\x6f\x59\xfd\x18\x3c\x36\x57\x76\x23\x60\xe3\x76\x3b\x88\x01\x82\x33\xaa\x6e\x56\xfd\xc1\xd0\xe1\x65\x55\x29\xb9\x9c\x14\xaa\x4f\xfb\x15\x40\xa7\xd2\xee\x20\x2a\x52\x15\xa6\x51\x35\xe5\x48\x20\xd3\x71\xcb\x6c\xa8\x57\x3c\x13\xe3\xd3\x0f\xbf\x0f\x4c\x77\x24\xc4\x4b\xcb\x0a\x54\x59\xe7\x95\x2a\xd6\xa2\x59\xb9\xe5\x60\xb3\xbb\x01\x3f\x4f\xdd\xf3\x66\x47\xe8\x98\x81\x3d\xd2\xda\xab\xd2\xea\x98\xee\x88\x3e\xb5\x66\x53\x81\x3e\xb2\xa9\x74\xad\x0e\x3d\x49\x85\x79\xe9\xa1\x2d\x05\x08\xfd\x7a\x49\x63\xf4\x34\x0f\x05\x3c\x5b\x8b\xe6\x25\x05\xcf\xb5\x9f\x53\x9d\xe1\xa5\x5c\xf3\x46\xf1\xc8\xe1\xec\xc9\x09\x1e\xb0\xd5\xaa\xd2\xab\x0a\xda\x0e\xba\x8f\xd9\x85\x04\x5d\xd2\x67\x3c\x77\xc2\x09\x43\x44\x8d\xb7\x06\xa8\xd2\x24\xb1\xf9\x6a\xa6\xa1\x3e\x34\x4c\x7c\xf7\x27\xe5\x06\x68\x61\xc7\x5e\x45\xd6\xf1\x81\x78\x85\xab\x67\x63\x7f\x8d\x88\x5c\x89\x66\x35\xd5\x4b\x28\x13\x4d\x44\xe4\xd8\x5a\x4a\xe8\xd3\x5b\x6c\x66\xa8\xcb\x5a\xdd\x46\xc3\x84\x15\xd9\x85\x24\x0b\xf7\x0d\x11\x3d\xc7\x0f\x4e\x6d\x28\x80\x58\xda\x28\x72\xe5\xa7\xf7\xc4\xd0\x2c\x2f\x73\xb3\x68\xbb\xf9\x7e\x31\x8e\x68\xc0\xec\xef\x87\x23\x6d\xea\xbd\x91\xf4\x05\xc8\x33\x98\xca\x01\x33\x76\x5c\x44\xe8\xa6\x5e\x35\xac\x0e\xf3\x8d\x38\xff\xe6\xa5\xef\xf9\xe1\x9b\xf1\x50\x2b\x11\xc7\x8e\x89\x79\x0b\xa1\x46\xf3\x91\xf8\x5e\x09\xd3\xac\xa0\xa8\x6e\x5e\xce\x34\x71\x2f\xe8\x61\x37\x18\x0a\x05\xf5\xa5\xed\x2f\xf5\x74\x34\x1a\xa1\xf9\xb4\xc8\xaf\xfc\x68\x23\x7a\x88\x00\xb6\x31\x51\x7a\xfd\xdb\xd6\x54\x40\xac\xd7\x8d\xe5\xd7\x45\x61\xcf\xab\x39\xb2\xc6\x4a\x37\xf3\x85\x3f\x64\xde\xb8\x6a\x72\xd0\x8c\x5b\x18\xa9\x97\x0a\xbe\x97\x3e\xcf\xd4\xb2\xcc\x64\x95\xf9\xc1\xcf\xbf\x79\xd9\xbd\x16\xaf\xe0\x48\x89\xb9\x18\x3e\x73\x46\xff\xe5\xc1\x2a\x56\x4f\x39\xc3\xce\x44\xde\x04\x97\x61\x5d\xa8\x5e\xcf\x5f\xc1\x22\x77\xef\xba\x2e\xbe\xa9\xe5\xf4\xea\x1d\x76\xcd\xc4\x14\x93\xe7\x72\x55\x37\x15\x7e\x2e\x5f\x19\x10\x8d\x04\xc8\x46\x60\xa2\x82\x45\x06\xa9\x5a\x02\x69\x41\x1f\x22\x28\x48\x68\x1f\x33\x94\xfe\x82\x25\x08\x8b\xf5\x48\xd8\xc5\x74\xed\x8e\x26\x4a\xb8\x06\x84\xd8\x9a\xd2\x28\x45\x45\x13\x47\xbe\x34\xbe\x2c\x8c\x86\xb2\xc8\xc6\x75\x99\xb6\x43\x01\x56\x6b\x2d\xac\xc8\x68\xdf\xa6\x2a\x23\xfa\x40\x2c\x37\xca\xe3\x1f\x29\x64\x30\x72\xdf\x4a\xdf\xf0\x8e\x0e\x6b\xfa\xd3\xa2\xe2\xa2\x57\xe8\x79\x6f\x28\x7a\x99\x9a\x34\xf0\x8b\xa5\x19\xfb\x5f\x3b\x86\xfd\x2f\x50\x59\xef\xd2\x37\xb1\xea\x17\xea\x5a\x15\x03\x71\xf6\x39\xa9\x4e\x85\xaa\xc5\xd2\xcc\xbf\xc1\x4a\x82\x0e\xc7\x42\x98\x9b\x1c\x5c\x00\x04\xef\x7b\x94\x59\xbc\xd1\xeb\x9e\x45\xd7\xe0\x8d\xf1\x25\x7c\xf9\x33\xef\x00\xe0\xef\x81\x71\x47\xb5\xfe\x6e\xb5\x52\xd5\x73\x69\x54\x7f\x40\x2d\x1b\x43\x31\xe3\x49\xa5\xe4\x55\x54\xa3\xd5\x7e\x7b\x2d\x34\x92\x59\x84\x9c\x0b\x18\xf0\x32\xd8\xa6\xe8\xc2\x06\x38\x71\x26\xfa\xa3\xd1\x48\x56\x73\xc3\x90\xc1\x0a\xa7\x5a\xe2\x0c\xd5\x6e\x03\x69\x3e\x38\x8b\xa9\xf2\x01\xfb\xaa\x07\xc2\x8e\x37\xfa\x51\xe7\x65\xbf\x27\x7a\xf0\x41\x3f\x94\xfe\x83\xec\xb4\x47\x72\xb5\x2a\xd6\xfd\x68\x4a\x43\x78\xcc\x19\xac\x40\x5f\xf5\x5d\x53\xbf\xaf\xe4\xea\x70\x92\x97\xa8\x98\xcf\x2b\xdd\xac\xfc\xf6\x02\x6a\xbb\xe8\xc1\x45\xbb\xd6\xf0\xcb\x73\x5d\x14\x72\x65\x54\xc6\x17\x1d\xee\xb0\xef\x24\x34\xfe\x19\x86\x4b\x11\x04\xc0\x1c\x91\x78\x61\x03\x9c\x45\x64\x21\x27\xaa\x38\xeb\xf5\x22\x4c\xe2\xe8\x78\x2f\xea\xf2\xf9\x91\xe8\x85\x01\x12\x4c\xa6\x7c\x41\x88\xde\xa8\x52\x2b\x25\xeb\xfe\x83\x07\x2d\xfe\xd0\x81\x59\x8e\x80\x17\x65\x96\x7e\xdb\x68\x4e\x37\x3c\xbf\x99\xef\x82\xb4\x78\x60\xdf\xef\x87\x76\xed\xfb\xb6\x4c\xf9\xe0\xa0\x7b\xca\xad\x22\x94\xd0\xc8\x0d\x05\x6f\xf8\x80\xaa\x99\xd6\xba\x62\x16\x23\x68\xda\x8b\xcd\x72\x17\xaa\xca\x6b\xb0\x5c\xdd\x81\x9e\xd1\x1d\x5a\x9c\x3b\x52\xbe\x33\x2a\xee\x1b\x07\x02\x5d\x4b\xcc\x27\x41\x9c\x5a\x76\x81\x60\x1c\x77\xb7\xb7\x63\x61\x89\xc7\x62\x2d\xf2\x32\xaf\xc9\xad\xd5\x3d\x59\x6f\x98\x0a\x03\xfe\xb7\x6e\xc0\x78\x51\x2f\x14\x58\xa7\x98\x94\xe9\x35\x00\x90\xf6\x83\xf4\x2f\x96\xaa\x5e\xe8\xcc\x40\x01\x52\x35\x55\xc6\xc8\x6a\x0d\x30\x32\xe3\x5a\xc1\x1d\xec\x19\x17\xbd\xd0\x2b\xd7\xd7\xb2\x12\x5f\xad\x2d\x7e\x0c\x15\x24\xeb\xc4\x57\xbf\x47\x40\x3d\xbb\x3c\xf4\x2c\x5d\x8a\xcd\xf5\xb0\xab\x42\x18\x0f\xca\xf1\xf7\x9d\x17\xf5\x8d\xaa\x0d\x9d\x80\xf9\x5f\xb1\xe7\xdc\x2d\xfe\x9a\xcf\x44\x5e\x0b\x75\x9b\x9b\xda\xf8\x1e\x71\xad\x26\x4d\xe3\x23\x36\x18\x16\x5e\xf5\x47\xb9\x2b\xa8\xee\x9a\x1c\x4d\x6f\x87\xe2\x67\x3b\xf6\x33\x31\x3e\x82\x3e\x05\xf7\x69\x2b\x6c\x9c\xff\x6a\x97\x94\xc9\x3f\xc5\x4a\x0a\xa0\x87\x8b\xbe\xba\x86\x8e\x6e\x53\xbb\x08\xb3\xa6\x10\xba\x54\x66\x00\xda\x82\xc9\x33\x75\xa0\x66\x33\x10\x48\x2c\xa1\x15\xb9\xa9\x87\xc2\x68\x36\x52\xa5\x88\xe2\xf2\xda\xc9\xf5\x10\x82\xc4\x8d\x05\x4e\x6f\xc5\x7a\xfc\x10\xdd\x86\x97\x37\x7a\x0e\xec\x97\x07\x4b\xe1\x7d\xce\x6e\x0a\xac\x52\x2f\xce\x44\xee\xc7\xf9\xd0\x42\xcf\xe1\xa1\xf8\x93\x34\xf9\x54\xa4\xc6\x2c\x5f\x61\x98\xe1\x50\x66\x99\xfd\xa5\xdf\x5b\xe9\xd5\x01\x9a\x29\x7b\xc3\x1d\x48\x64\xb3\x19\xad\xf4\xaa\xcf\x48\x4b\x88\xd0\x46\x30\x37\x56\x7a\x57\x15\x6e\x1d\x99\x17\xd4\x99\xce\x4e\x05\x0e\x5b\xd8\x89\xa6\xd6\x2b\x48\xe0\x1d\x85\x11\xc8\xe4\x81\x4f\xbf\xf8\xcf\x7e\x78\x1d\xce\x70\xc8\x48\xf1\x00\x1d\xed\xf1\xfb\xcf\x49\x45\xb0\xf2\x69\x5e\x66\xf9\x94\x56\x69\x21\x8d\xd3\xd5\x27\x6b\x90\x66\xbc\xda\x8d\x9b\xb2\x3d\x09\x0b\xde\x1f\x04\x74\x0f\x22\x44\xbf\x91\xd0\xfe\xb0\x65\x37\xdc\x8a\x6a\x80\x3e\xf8\x28\x84\x5b\x42\x31\xaa\x98\x11\x2f\x8f\x3f\x18\x12\x88\x9d\x51\x3e\x8d\xb1\x74\x40\x5d\x78\xb5\x23\xc6\x78\x85\x2b\x11\x5e\xdb\x8f\x27\x18\x89\x68\x8f\xf0\xff\xbd\xcc\x6b\x31\x3e\x3a\x5a\x9a\xd0\x6b\xd3\x2e\xbd\xac\x2a\xb9\x16\x14\x5c\xe2\xb9\xa9\xbc\x0a\xc6\x63\x75\x0b\x18\x65\xeb\xd0\x11\x36\x31\xb4\x63\x27\xab\xbe\x93\x24\x1d\x19\xc0\x89\x13\xd4\xc8\x52\xa9\xcc\x08\x59\x62\x5c\xeb\xb1\x9f\x33\x6b\xa9\x9f\xd0\x35\x99\x51\x7c\x53\xc7\x4a\x81\xbe\x64\xd1\x72\x68\xc9\x9c\xf2\xef\xcb\x21\x19\x53\x59\xd7\xd4\x5a\x47\xc3\xa1\xd7\x23\x5f\x2a\x68\x40\xd5\xa6\xbd\x4a\xfd\xd4\x28\x03\x9f\xdf\x3f\xa6\x2f\x6e\x51\x61\x5b\xcf\x72\x3e\x3c\x38\xfd\x5e\x77\x95\x5c\x0d\x87\x63\xb7\x4e\x84\x16\x53\x5e\x56\xd1\x0d\x45\x7e\x0e\x77\x22\xda\xf3\x11\xec\x1d\xf4\xa4\x27\x5c\xb7\x22\xec\x9e\x95\x21\xd8\x9f\xdc\x25\xeb\x27\x7a\x16\x26\x4d\x05\x6c\xdd\xe9\xd0\xac\xfa\x60\x27\x22\xb9\xda\xbe\x78\xd3\x73\x74\x97\xf6\x1b\x55\x58\x6d\x8b\x12\x74\xdf\xc3\x67\xb9\xb1\x3a\xd2\xd6\x67\x18\x8c\x7f\x6e\xae\xea\xad\xcf\xd0\xfd\x14\x9e\x5a\xb4\x6c\x7d\xc6\xc2\xf8\xe7\x6a\xba\x10\xc2\xa4\xfd\xe5\xaf\xe4\xea\x9d\x8f\xec\x80\xab\xfe\x6c\x0c\xdd\x89\xf1\xb0\xea\x77\xbf\xd0\xc3\x0f\xfc\x10\x5c\x04\xda\x30\x4f\x58\xa3\xee\x01\x9d\xc8\xa2\x0c\x85\x32\xd7\xba\x8a\x9a\x4f\xd9\x0b\x91\xb4\x08\x08\xd1\xb3\x0d\xe6\xfb\x30\xde\xd0\x99\xbc\xc9\x0b\xb8\x50\x6b\x71\xa3\x98\x0f\x62\x33\x49\xb3\x59\xb9\x8a\x9f\x51\x99\x7b\xd8\x17\xd0\x0a\x60\xab\xf4\xf9\x36\x1c\x18\xb8\xc1\x57\x39\x5a\x7f\xad\x1c\xc6\x5e\xe1\x9c\xa0\x6b\xec\x49\x00\xf8\xdf\x3a\xbd\x40\xb2\x91\x31\xf1\x35\xd6\x90\x57\xa6\xfe\x92\x2e\x87\x7a\x1b\xee\xbe\x8f\x0f\x76\xf4\xc0\x9b\x83\xf5\xbe\x68\xa0\xbe\x7d\x4d\x5b\x1f\x0b\xc9\xf7\xc4\x03\xe1\x1e\xf7\x11\x42\x35\xbe\x7f\x93\xe5\x96\xcc\xb6\x1b\x66\xe5\x75\x0f\x37\x89\x0b\x07\x78\x49\x9b\x3f\x82\x00\x6a\x46\xf2\xb0\x7f\xa6\x41\xdd\x76\x35\xa1\xac\x34\x6e\xba\xcc\xcb\x55\x9b\xd0\x17\xef\xe0\x7f\x5e\x14\x3a\x6b\x5a\xa1\xe7\xfd\xde\x17\xfc\xeb\xc3\x1b\x47\xb3\xa6\x28\xda\xcd\x7b\xfe\x0c\x11\x83\x9d\xde\x2c\xd7\xc6\xd0\x9e\x4f\x76\xf6\xbf\x19\x35\x77\x9d\x3d\x1e\xa7\xe9\xd1\x93\x29\x93\x57\x6c\x2d\x43\x25\xee\xae\x49\xbb\xda\xec\x70\x0e\xd2\x53\xa0\x65\xf8\x32\x2d\xa4\x80\xdc\x48\x13\xba\x39\x08\xf4\x22\x6f\x23\x95\xc0\xb4\x5b\x64\x12\x79\x30\x36\x50\x73\x1b\xe7\x25\x09\x37\x1d\x0c\x0c\xb5\xb4\x4e\x4b\xf6\xdf\x87\xad\xc4\x27\x4e\x12\xc4\x94\x7e\x28\x6c\xca\x56\xc8\x5c\xe8\x83\x20\xb4\xf7\xca\xa0\x7a\xed\xe8\x6a\x28\x56\x8d\x13\xa8\x55\x68\x1a\x41\xbd\x9f\x49\xab\xaf\x99\xc1\x9c\xab\x8e\xa0\xff\x42\xd0\x0a\xd3\x1f\x8d\xc8\x72\x98\xaa\x55\x90\x83\xd6\x78\x87\x35\x48\xc9\xcb\x5a\x95\x19\xa2\x69\xa2\x7c\xdb\x77\xef\xe0\xc6\x39\xf6\x8c\xd7\xc5\x09\xbf\x28\x89\x21\x0d\x85\xd6\xd6\xc6\x0b\xa5\x91\xa7\x2c\x9f\x2e\x40\x29\x9c\x28\xa7\xdf\x67\xb0\x02\x60\x92\x76\x51\x2e\xb1\x1b\x60\x24\xc4\x97\xba\xf2\xe2\x2c\x73\x8b\x7f\xb5\x4e\x4e\xdc\x1d\xda\x77\xa2\x1e\x9b\x5d\xfa\x31\xc9\xa8\x89\x57\x02\xdb\x3f\xf7\xec\x63\xbd\xb0\x36\x35\x52\x92\xd3\xa5\x9c\xaf\x00\x03\x6f\xdc\x72\x79\x25\x9e\x54\x7e\xde\x81\x3f\x79\x76\x0e\xdc\xa7\x43\xfb\xdf\xe4\x0a\xd8\xd7\x85\xd2\x7a\xd0\x53\x48\x70\xc5\x52\x60\x86\x25\x40\xcb\x70\x0e\x79\x5f\x67\x8a\xd3\xd4\x25\xc7\x6a\x17\x11\x83\xd7\xd5\x7d\xb3\x55\x27\x54\x46\xe5\xa5\x08\x37\x48\x61\x33\x1e\xdb\x84\x5d\x1e\x0c\xef\x31\xe0\x3a\xa8\x24\x44\xb1\x65\x8f\x46\xe4\xd0\xd5\x32\xda\x2e\xbb\xfb\xea\x34\xa9\xda\x92\x7c\x7c\x8f\xec\xa0\x57\x60\xec\x84\xfb\x96\xa8\xfe\x28\xa6\xb7\xf6\xda\x33\x0f\x7d\x71\x75\xd9\x6e\x23\x4d\xac\x06\x3c\x06\xb4\x5f\xa6\xe8\x9b\x23\x3c\x36\xab\x0e\x35\xc2\x05\x88\xb8\xe5\x4f\xea\x8e\x39\x0d\x2f\x30\x38\x29\x4a\x7d\xa0\x57\xd8\xcb\x36\xd9\xb1\x76\x30\xcb\xf6\xf3\x4a\x19\x61\xf4\x52\x89\xab\xbc\xcc\xec\x20\x70\xfb\xe0\x06\xbc\x3e\x76\xe3\xa0\x31\x00\xa2\x56\x2c\xdb\x29\x24\x76\x92\xc8\xb4\xc8\x3d\xb7\x00\x7f\x38\x6c\x75\x70\x80\xe8\x0a\x1c\x44\xb5\x72\xcb\xd4\xc9\xcd\x40\x51\x44\x30\x5a\x7c\x3b\x94\x04\x63\x51\x4e\xce\x14\xf0\xd9\x00\x7b\x77\x3d\xf2\x00\x1b\xf0\x45\xb2\x5c\x33\xef\x1c\x33\x80\xa0\x63\x1e\xb6\x57\x78\xaf\xef\x47\x83\x64\x96\xe5\x66\x2a\x2b\xcb\xd8\xc0\x30\x08\x47\x80\x2e\x03\x19\x12\xd7\xb7\x34\xe0\xf6\x69\xa5\x96\x44\xfe\x51\xe4\xd2\x79\x89\xd6\x2c\x81\xd6\x2c\x63\x55\x4d\xf8\xdb\x2d\x48\xc7\xc7\xa3\xe5\x64\xa2\x44\x9e\xa9\xe5\x4a\xd7\xaa\xc4\xb3\x9a\xb1\xb4\xa1\xdd\x04\x6b\xdd\xf4\x2a\x25\x64\x96\xd9\xd7\x7e\xf1\xf5\x57\xa2\xd4\x19\x75\x9f\x12\x99\x9e\x36\x4b\xe8\xb1\xb0\xb4\x1a\xbe\x69\x2a\x40\xd9\x2c\xaf\x30\xee\x08\x85\x6d\xd4\xc6\xd5\xba\x07\xcd\xef\x6a\xdf\x1c\xb9\x06\x9b\x90\x20\x76\x06\x47\xdd\xd0\x45\x11\xd6\x0b\xb5\x14\x95\x04\x8d\xbd\x5e\xc8\x12\x89\xa5\x41\xb7\xd5\x32\xee\x37\x65\xc7\x9c\xea\xa6\xac\x69\xad\xf3\x0a\xd7\x94\xc5\x0a\x92\xfa\xb0\xaa\xf4\x44\x4e\xb0\xa3\x79\xa1\x66\xf6\xfb\x17\x96\xe6\x20\x6e\xcd\x2e\x1f\xc9\x1f\xbc\x4f\x97\x45\x6e\x28\x59\x17\x18\x85\x9c\xe8\xaa\x66\xab\x92\x85\x08\x1c\xce\xd6\x7e\x5b\xaf\xf2\x7e\xe7\xca\xde\x1b\x3d\xd3\x62\x55\xa9\x03\x24\x0f\xd8\xf4\x7f\xc7\x5d\xce\xdf\xbc\xdf\x1e\x07\x89\x80\xf2\x53\x1a\x8a\xc6\xc1\xc6\x62\x52\x4c\x9a\x72\xba\xb0\xc3\x4e\x74\x5e\xa8\x6a\x55\x48\x17\x9f\x73\x58\x2b\x59\x65\xfa\xa6\xa4\x78\xc5\x12\x77\x53\x6e\xbc\xe0\xe0\x96\xdc\xfc\x0d\xd6\xfc\x1f\x39\x8e\x23\xa5\xa6\x9d\x36\xf6\x8f\x22\x2c\x6d\x6a\x5c\x5f\x8b\xff\x03\xbb\x00\xbf\x13\xd7\x3f\x0a\x71\xfd\x1d\x02\x60\x5a\xc4\xf5\x31\x21\x30\xf8\x7a\x51\xa9\x55\xa5\x8c\x3d\x4c\xa1\xbf\x23\x8f\x99\xcc\x63\x15\x65\xd4\x6a\x23\xe9\x8e\x4f\xf0\x07\x54\xb5\x8f\x8e\xdc\x66\x95\xf1\xca\x03\xe0\x82\x1f\x31\xea\x5a\x55\x3e\x84\xdd\x9b\xcd\xe0\xbc\x9e\xac\xc5\x42\x96\x2d\x35\xb9\xf3\x45\x64\xb1\x7d\x0e\xc1\xb1\x6f\x63\xb1\x04\x23\x66\x83\x88\xdb\x92\x63\x47\x3b\xb5\x70\x8c\x88\x0f\xba\x78\xce\x5c\x15\x43\x38\x27\x31\xe6\x97\x34\x38\xbe\xfa\x34\x09\x67\x35\x68\xa7\x06\x74\xd3\xda\x90\x96\x6a\xf0\x21\xb2\x71\x44\xb9\xb0\x2c\x9c\x91\x52\x07\xe2\x80\x4c\x38\x6d\x85\xd7\xf7\xc8\x7b\x23\x05\x45\xcb\x7a\x89\x45\x62\xbc\x81\x1b\x2e\xa1\xc9\xb6\xf2\xdd\xda\x37\x6d\x22\x4d\x0d\x04\x61\x75\x36\x5a\x6f\x40\xf6\x06\x32\x15\xc4\xca\xb6\xac\x61\xec\xc1\x86\xa4\xd3\xfb\x87\x77\xb8\x4d\x1c\x49\xe1\x8c\xd1\x05\x06\x59\xf0\x17\x6c\x58\xd6\x8e\x15\xed\x58\x4a\xfe\x46\x4f\x2c\x67\xb1\x49\x2b\x7a\x1b\x35\x24\xed\x78\xdd\xc7\xbc\xca\xd9\xae\xa2\x4f\x63\xe6\xfc\x07\xa2\x77\xc1\x4d\x6b\xf6\xc2\x65\xcf\x05\x98\xa4\xa9\xd4\x10\xc8\x19\x51\xcd\x88\x7f\x93\x5b\x1c\xe7\x7f\x70\x7f\x47\x36\x8e\x17\x10\xae\xad\xe2\xfd\xc4\x0d\x0d\x53\x5f\x5b\xb9\x6d\x5e\x4b\x68\x71\xc8\xd9\x8a\xec\x8a\x65\xa0\xe0\xd1\x0e\x49\xd5\x7e\x4a\x5e\xef\xcb\x36\xf6\x66\xe9\x9b\x2d\xa7\xf6\x77\x9e\xef\x12\xc7\xf4\xe2\x68\x14\x00\xe7\x73\xb2\xed\x1a\xa0\x4d\xcb\x0a\xff\xab\x55\x41\x76\x2a\x38\x3f\x25\x14\x58\xd8\x6e\xc4\x1f\xc5\x0e\x22\xbf\x42\x14\x6a\x44\xee\x2f\xa0\x87\xe1\x1d\xb1\xed\x7f\x17\xee\x90\xa0\x67\x28\xf6\x76\x34\xbd\xa5\x0c\x3e\x9f\x17\x7e\xcb\x9b\x2d\xaa\x5b\xbf\x5a\x1d\x06\x3b\x44\x2b\x5c\x72\xf1\xbd\x2e\xf0\x87\x95\xae\x0e\x0e\xd1\x2a\x2f\xeb\xa2\xec\xf7\x80\x61\x54\x32\x07\x0e\xc5\x6a\x59\xa3\xd5\x56\xdd\xf2\x56\xd7\xea\x76\x64\x6a\x9f\x38\x94\x5e\xe5\xb3\x83\x74\xad\xb8\x6f\x75\xf4\x5a\xf7\x0c\x05\x71\xfd\x50\xf6\x06\x83\x2d\x0d\xab\x3b\x9f\x1d\x24\x99\xed\xd1\xf7\x39\x5f\xa8\xfd\xbc\x77\x6e\x71\xbe\x3c\x7f\xf9\xea\xc5\x17\x43\x0c\x85\x6c\x57\x78\xfe\x8e\x84\xa4\xe9\x42\x6b\x7b\xe6\x46\x09\x10\x98\x26\xd3\x94\xa8\xae\x71\x1d\xdd\x14\xf9\x7c\x51\x17\x6b\xb1\xd4\xd0\xc5\xb9\xbc\x56\x65\xae\xca\xba\x7d\xb0\xe2\x89\x6d\xd4\xc6\x78\xa1\x0d\x11\xeb\xfd\xc1\x8e\x4d\xf5\x81\x3b\x29\x3d\x0b\xf7\x09\x3e\x1d\x56\x5c\x77\xe6\xb8\x5d\xbd\x41\x54\x3a\xf7\x87\x52\x94\x34\x00\x09\x39\x6e\x8f\x1a\x77\xd4\x31\x59\x93\x9d\x90\x16\x89\xdb\x8d\x95\xba\x82\x80\x87\xeb\x3c\x6b\x64\xc1\x82\x89\x36\x6f\xfe\x24\x8a\xbf\xd3\x99\x1b\x1d\x01\x0c\x05\x69\xee\x86\xb7\xa2\xb5\x4f\x96\x90\xde\x11\xf9\x80\xf9\xe0\x6f\x16\xba\xaa\xa7\x4d\xed\x58\x49\x32\x7a\xcf\x88\x42\xcf\x93\xa1\x31\x21\x84\x0d\x69\xaf\xb4\x8f\x2d\x77\xd6\xbb\x25\xd8\x2f\x47\x22\xce\xd2\xc0\xd1\x16\xfa\xc6\xeb\x0b\x76\x75\x30\xa8\xcc\x67\x67\x6c\x48\xcb\x20\x4f\x68\x3c\xf7\xe9\xad\x38\xb3\x84\xf1\xfe\xbd\x4b\x7e\x8e\x0f\x76\xf2\x87\x86\x19\xa0\xb5\x44\x95\x60\xcf\x80\x80\x82\x99\xcc\x8b\xa6\x6a\x8d\xec\x2e\x87\xb6\x86\x7b\x8d\x8c\x14\x99\x8c\xb5\x8a\xdc\xa5\x29\x5e\xa1\xd1\x36\x47\xb0\xa9\x65\x55\xab\x0c\x9c\x34\x50\x38\x1f\xad\xfc\x0b\x69\xca\x5e\x8d\x25\x4d\x08\x44\xac\xa1\xd9\x6b\x24\xf4\xd8\x3b\x5f\x48\x88\x3d\xb0\x0f\x6f\x78\x61\x5e\x8a\x65\x5e\x14\xb9\x51\x53\x5d\x66\xc6\x1b\x91\xc2\x2c\x6a\xad\xaf\x78\x18\x07\x9f\x0e\x0e\x16\xe6\xe4\x4b\x38\x75\x4c\x28\x6b\x2a\x54\x3d\x37\xcd\x67\xa9\x21\x45\x6b\x6a\x79\x54\x74\xf4\x46\x08\x88\xe6\x46\xaf\x25\x2c\xe0\x50\xf6\xcd\x42\xbc\x2c\x43\x66\x6b\xa6\x6a\x7b\x80\x83\x32\xe9\x96\x33\x68\xaa\x20\x2b\x14\x0a\xfa\xa1\xfb\x12\x32\x35\x24\xf4\x09\xf0\x45\x84\x44\x98\x88\xe2\xb0\xfc\x11\xc9\x2b\x5d\xdf\xf4\xba\x59\x4e\x50\xb5\x5c\xca\xdb\x7c\xd9\x2c\x03\x89\x89\x78\x27\x85\xe8\xad\x1b\xe7\x45\x10\x25\x3e\x9d\xd3\x5e\xa9\x94\x9c\x2e\x70\x8b\xcc\xc4\x91\x45\x08\x65\x7e\x71\x3b\xa8\x3b\x19\x8c\xa2\x4c\x48\xb2\xa7\x42\xe2\xcb\x50\xa8\x6b\x55\xd2\x8a\xcd\x50\x8b\xb7\x13\x4a\xbe\x6b\x29\x6f\xbf\x0c\x24\x7f\x94\x2c\x53\xd5\x50\x2b\x08\x96\x5d\x25\xd0\x6b\xa4\x64\x55\xac\xc5\x44\x4d\x65\x83\x19\xac\xb2\x14\x4d\xa9\x6e\x57\x38\x15\x4b\x5e\x79\x87\x70\xbe\x92\x65\x3e\x0d\x79\x00\x28\x96\xba\xf8\x85\x95\x2a\x33\x9f\xc2\xe8\x98\x6f\x60\x84\xff\xd9\xa8\x46\xf9\x86\xa3\xec\xc8\x04\xbe\x8f\x8e\x07\xe2\xfe\x21\xad\x0c\x91\xd3\x1f\xa0\x9a\xc4\x23\x99\x82\x05\x1a\xc5\x48\x3b\x12\xb8\x70\x10\x9b\x5b\xf9\x3e\x3b\x23\xcf\x5f\xbd\x7a\xf7\xf6\xc5\x9b\xb7\x6f\x28\xd4\x63\x46\xa7\xe6\x8b\xb2\x59\xf6\x7b\x7f\x90\x45\x01\x16\x13\xf3\x79\x6f\x90\x06\x4d\x70\xc5\x9b\xf3\xd0\x8d\xca\x7f\xfb\xed\x38\xdb\x2e\x87\x2c\xcb\xbd\x08\xc8\x6b\x85\x0c\xec\xfb\x86\x56\x5c\x13\xe6\x0d\x30\xbd\x4e\xaf\xea\x77\x2b\x59\xd7\xaa\x2a\x43\x79\x0a\xba\x40\xc9\x0c\xee\xaf\xf7\xef\x71\x5e\x1e\x75\xae\x13\x07\xbe\xeb\x39\x18\x9d\x81\x1a\x43\x58\x00\xb9\x60\x99\xd2\xc3\x7c\xb3\xd4\x2b\xc0\xbb\x75\x7e\xc4\xc8\xd0\x1f\xc5\x1f\xfc\xb3\x3e\x93\xfc\xc7\x90\x49\xce\x42\x0e\x1c\xd8\xc5\x8f\x14\x0c\x7f\x78\x28\x5e\x6b\x47\x2a\x37\xaa\x57\x59\x91\xc2\x12\xe7\xbd\xbb\x67\x67\xf7\xb8\x0d\xdd\x5e\xb9\x27\x8c\xe6\xa0\x4b\x2b\x3a\x83\xb1\x01\x87\xb2\x4b\x1b\x08\xe5\x0d\x18\x19\x3c\xbb\xe3\x63\x79\xd7\x57\x59\x1b\x67\x5b\xa1\x7e\x2d\x5e\x00\x76\x68\xbc\x7b\x76\x96\xe0\x31\x16\x89\x1d\x1c\x93\x88\xbf\x55\xf3\x17\xb7\x2b\x2e\x12\x43\xbb\x75\x82\x04\x42\x01\xea\xf0\x2a\xed\x60\xc0\xb4\x08\x3b\xb1\xbc\x64\xc5\x9c\x50\x46\x76\x91\x20\x41\x0f\xbe\x7b\x26\x22\x52\xd8\xf0\x38\x97\x98\xc9\x59\xeb\xa8\xd9\xd1\x28\x50\x59\xa0\x8a\x07\x0f\xd2\xfe\xeb\xec\x66\xe2\x7a\x2f\xd0\x67\x53\x82\x68\x07\x52\x31\xee\xf6\x5a\x8b\x39\x62\x1c\x8f\x1d\xe3\x72\x37\xc3\x63\x4e\x17\x87\xb4\x2f\xa0\x10\x7c\xde\xae\x90\x86\xe4\x72\x48\x42\xd7\x37\x9b\xc2\x38\xde\x23\xa2\x3f\xf8\x0d\xf0\x0d\xfd\xb7\x89\xd8\x52\xf0\x37\x01\x42\x5e\xce\xc4\x16\xfe\x32\x64\x1c\x4b\x56\x31\xa3\x72\x8f\x4b\xdf\x8d\x07\x9a\xf9\x78\x8e\x82\xe2\xcf\xad\x9c\x82\x86\x60\x89\x53\xc1\x41\xd1\x3d\x06\x4e\xde\x8d\x01\x2f\x74\x04\x0d\x43\xe2\x7d\xd4\x61\xb3\x8c\xe1\xc0\x05\xa4\xe4\x25\xc5\x9f\x94\xfe\x50\x94\x19\x9e\x07\xd2\x7d\x02\x4c\x09\x4c\x7f\x28\xda\x28\x9f\xce\x1f\x62\x3d\xe1\xe0\x61\xca\xc1\xfe\x1c\xf1\x1b\xcf\x78\x3c\xc7\x6a\x31\xa7\x16\xb7\xd9\x50\x87\x62\x67\x98\x5e\x47\x91\x0a\x3e\xb6\x4b\x73\x61\x9c\x74\x43\x2c\x61\x18\xf3\x22\xbf\xdc\xa1\xbf\xd3\xff\xdc\x57\x45\x95\x2f\xee\xb2\xd7\x47\x41\xa5\x56\x0d\x80\x8c\xb3\xde\x6b\xcd\x57\x56\x65\x34\x63\x08\x4d\xad\xf2\x5a\x55\xb9\x44\xe5\xbb\xf5\x82\x1d\x1b\xef\xdf\xb5\xbe\x52\x19\xa9\x05\xd4\xa2\x4b\x97\x90\x1d\xe6\xb2\xb5\x59\x6a\x72\xce\x04\x37\xb4\x37\x78\xdd\x1f\xd3\x38\x80\xa7\x82\x95\x27\xc4\x4e\xcc\xb5\x68\xca\xa9\x6c\xe6\x8b\x2d\xa6\x99\x98\x2a\x74\xf9\x1d\x3d\xf1\xc2\x8d\xff\xae\x75\x9c\x2d\x95\x31\x72\xae\x86\x50\xef\x61\x08\x25\x22\x2c\xf6\x08\xa9\x74\xd7\x97\x60\xed\xb9\x11\xf7\xb1\x82\xf4\x06\xe2\xec\x4c\x1c\x89\xf7\xef\x69\x55\x5b\xa3\x99\x5a\xd6\x8d\x79\x46\xa2\x4b\x6f\x40\xf5\x5c\x99\xe1\x88\x24\x58\x19\x87\x93\x5b\xee\x46\x17\xac\x7c\xd7\x1f\x90\x55\xaf\xd2\x4b\x21\x43\x69\x5a\x21\xbe\xb7\x27\x93\x1b\xcc\x39\x8b\xe7\x1a\x36\xb5\x95\x9a\x65\x81\x8a\x79\x5e\xa7\xc6\xfd\xd8\x8c\x81\x2f\x08\x27\x9b\xf4\x96\x9b\xbc\xc6\xdc\x49\x2b\x84\x19\x39\xb3\xda\xa1\xf9\xa9\x51\xc5\x94\x62\xb6\x90\x08\xdc\x97\xdf\x09\x56\x21\x51\x57\x78\x2c\x04\x0a\x6e\x4b\xdd\xad\x0e\x68\x6c\x51\xa0\x16\xa2\x5f\x0f\x30\x80\xb6\x9e\x1f\x39\xe1\xf4\x85\x9d\xc6\x57\xf8\xe0\xbb\x41\x6c\x99\x23\xa5\x6e\x29\xd7\x10\xdf\x0e\x29\xb5\xf6\xe3\x50\xbc\x5d\xc8\x32\x2b\xac\xf0\xeb\xfd\x4c\x09\xa6\x9c\x09\x35\xcc\x93\xbe\xc9\xb2\x14\x90\xf6\xcf\x44\x0f\x77\x41\x2f\x14\x0e\x6d\x4f\x15\x89\xc1\x37\x81\x8b\x6f\x7e\xf3\xe2\xf5\x17\x2f\x5f\xff\x19\xf1\xe1\x06\x85\xdc\x6f\x1c\xd3\xef\x74\xcc\x3a\x0e\x78\x09\xd3\xb6\x18\x82\x27\x1f\x88\x5e\x10\xb7\x61\xc3\xb7\xb9\x4e\xc7\x14\xd2\x38\xca\xd6\x4b\xdd\xba\x3c\x10\xbd\x21\xbc\x0d\x4a\xa8\x3c\x10\xbd\x67\xf6\x0f\xd8\x59\x61\xae\xf1\xd8\x31\xb5\x75\x00\xa4\x06\xb4\xc0\x93\x48\xab\x68\x67\xc6\x5b\x56\xe4\x75\x2d\xae\x4f\xc6\x65\x88\xd3\x58\xc2\x7a\xbd\xca\x2d\xb1\xaf\x45\xa5\x0e\xaa\xa6\x34\x22\xaf\x21\x99\x44\x46\xd5\x90\x86\x11\x1b\x2b\x54\xed\xfc\x29\x5f\x7c\xfd\x95\xd5\x56\x27\x79\x91\xff\x15\x8d\x22\x66\xa1\xab\xfa\xa0\x56\xd5\x12\x14\x72\xdd\xd4\x51\xd2\x84\xcb\x86\xca\xd4\xb4\x90\x15\xf3\x27\x31\x33\x4c\x48\xaf\xe0\x72\xc7\x44\xeb\x42\xc9\x12\x73\xc4\xcd\x55\xbe\xa2\xd4\x0f\x08\x03\xa9\x1a\x45\x19\x44\x74\xd1\x1e\xfd\x57\xf9\x6a\x45\x51\x32\xa9\xd3\x0a\x38\x33\xc3\x8d\xc8\x97\x4b\x95\xe5\xb2\x56\x90\x1e\x0d\x28\x22\xdb\x3b\xc8\x08\xce\xb7\x0b\x4c\xc7\x32\x91\x3c\x0e\x17\xdb\x5e\x1c\xa2\x8b\x5b\x27\x45\x22\xda\xbc\x3a\xf9\xcc\x10\x93\x7c\xb7\xf3\x4e\x70\x7f\xe4\x4e\x04\x81\x4d\x0e\x02\x08\xc4\xac\x48\x4b\x95\x73\x55\x61\x55\x1c\x9f\x39\x33\x1a\x8d\x86\xe2\x68\x00\x46\x89\xa5\x5c\x4f\x3c\x07\x5d\xc1\x31\x47\xe6\x13\xbb\xd0\xe0\x3a\xbd\x91\x6b\x96\x99\x59\x57\xf9\x1c\x6c\x9f\xa0\x8c\xd7\x14\xc4\xa3\xdc\x53\xaa\xcc\xdc\x68\xbe\x04\x54\x0d\x59\x3a\x46\x8b\x1b\x05\x7d\x1b\x29\xd7\x9c\xea\x95\xa3\x83\xdd\xa8\xba\x2e\x94\x00\xff\x38\x11\x8c\x6e\x2a\x37\x14\x7e\xe1\xd4\x52\x43\xb3\x82\xf8\xc9\x38\x17\xa8\xc6\x9e\x98\x29\x86\xe3\x72\x91\x43\x20\x1a\x12\xc0\x13\x5e\x96\xda\x77\xfa\xa5\xba\x11\x5f\xc8\x5a\xf5\x07\x03\x71\x90\xd8\xa3\x62\x8e\x34\x8f\x12\x65\xfd\x65\x28\x7e\xc0\x6c\x66\xae\x8a\xae\xe5\x4e\x78\x1e\x0e\x3b\x59\x53\x64\xb2\xe3\x0f\x61\xd0\x91\x7d\x68\xd3\x53\x4b\xf3\x56\xbf\x41\x2b\x18\x31\x19\xf7\x45\x03\xc6\x99\x4c\xb3\x5c\xca\x2a\xff\xab\x22\x0d\x33\x91\x67\x98\x1d\x28\x35\xd7\xb6\x31\x8c\xb8\xdd\xd2\x76\x74\x83\x73\xcc\xc5\xb7\xb1\xa2\x2e\xad\x72\x2d\xbf\xd8\xcd\x85\x21\xba\x96\x11\xfe\xd8\x98\x3a\xf8\x80\x5b\xb5\xd9\x77\x6d\x58\x7c\x53\x57\x51\x97\x6e\x4f\x58\x0b\x5f\x35\xaf\xe7\xe1\x23\x18\xc8\xdc\xeb\x09\x31\xb8\xb7\x42\xe4\x43\x02\x5c\xdf\x6e\xf2\x5f\xb5\x0f\x46\x6f\xaf\x62\xdd\x53\x4b\xe1\x47\xde\x70\x20\x0a\xe6\x6e\xfa\xa3\xf0\xbf\x3e\x13\xea\x76\x10\x65\x80\x93\xb1\xab\x25\xdd\x54\xe9\x29\x4f\x17\xbe\x39\x7f\xf3\xe6\xc5\x17\x83\xae\xc9\x46\x8f\xc0\x4b\xbc\xee\x4d\xb7\xfc\x8e\xfc\x5c\x3c\x3a\x3a\x1a\x74\x09\xfd\x6f\x0a\x7d\xe3\xcc\x4d\xfa\x2a\xc8\x49\xd1\x66\x48\x86\x1b\xc4\x5b\x95\xef\xe0\xce\xaf\x39\xf3\x5f\x83\xe7\x74\x84\x7c\xbf\x57\xc1\x0e\x45\x94\xc1\x30\x46\x07\xbd\xb3\x36\xe1\xee\x8a\x0c\x0d\x9b\x5e\x46\xa8\xe3\x2f\x5b\xb1\x24\x2a\xf6\xaa\xc8\xb3\xd7\x26\x89\xab\xd2\xb2\x55\xda\x25\x4e\x28\xb7\x98\xaa\x3a\x44\x1f\xaa\x62\xd1\x4d\x24\xed\x25\x8b\x73\x06\x3a\xc9\x03\xee\x54\x4d\xf9\x5a\xdd\xd6\x24\x6f\xff\x26\x2c\x23\x6c\x74\x12\xfd\xef\x30\x6b\x77\x46\xa9\x98\x21\x9d\x93\xee\xd0\x99\xcd\xdd\xf9\x8d\x69\x40\x22\x22\x63\xaa\x3d\xa2\xa0\x4e\xdb\xa4\x99\xcf\xd7\x21\xcc\xd3\x39\x77\x5c\x6c\x28\xbd\x01\xd4\x3f\x8c\x2f\xc3\x99\x96\x42\xdd\x5a\x8d\x03\xa5\x90\x52\xc8\xb9\xcc\x4b\xd2\x5e\xca\x38\x3d\x98\xb7\xd9\x40\xbf\x27\x1c\xe1\x50\x7c\x85\xea\xf4\x40\xc0\xb0\x77\x6a\x14\xd2\xd4\x42\x4e\x23\xe9\x1c\x6b\xc1\xc8\x06\xca\xef\xc1\xb9\x8d\x7d\x40\xec\x80\x88\x23\x3a\xb4\x29\xf2\xcd\x1f\xdc\x50\x48\x0b\x0a\x2c\x05\x3b\x2d\x56\x69\xf0\xb1\xb6\x08\x7c\x07\x2a\x03\x5a\x45\xa1\x0a\x68\x75\xce\x00\xd0\xd6\xac\x42\x61\x50\xa3\x48\x25\xf3\x90\xe8\x0d\x12\x84\x1d\x0b\x32\x63\x21\xdf\xbe\x5e\x40\xda\x04\xa5\x63\x3b\x15\xae\x25\xc1\xbe\x2c\x21\x82\x1a\xa3\x93\x2a\x75\xe0\xd6\x32\x68\xde\xe7\xaf\xbe\x3f\xff\xef\x37\x62\xa9\xaf\x95\x81\x5c\x5b\xe7\x49\x75\xb3\x5c\xe5\x45\x4b\xc2\xfc\x5b\x9c\x2d\xad\xb8\xab\x42\xd6\xea\x0d\xee\xed\xb7\x58\x8c\xc8\xfe\x1a\xbb\xa9\x64\x5d\xab\xe5\xaa\x26\xed\x4c\x4d\x75\x95\x45\xde\x64\xf0\x74\xc9\x6a\x73\x22\xd3\xe6\xf3\xeb\x5b\xd5\x75\x82\xb1\xb3\x67\xc8\x66\x18\x57\xd7\x73\x1c\xe4\x95\xac\x83\xc6\xec\x0b\x4d\xfd\x22\x16\xc2\x5e\xe5\x4b\x1e\x51\x4a\x34\xac\x70\xc1\x5e\x05\xca\xa8\x5b\x3f\x74\xfe\xa0\x03\x11\x4a\x5b\x66\xba\x99\x14\xea\x60\x05\x96\x7a\x08\xdf\xc6\xe1\xe8\xf6\x32\x37\x8d\x89\x72\x9c\x2d\xb1\x60\xe1\x27\x6c\x45\x53\x66\xea\xd6\x95\x43\x21\xbe\xea\x2c\x17\x8c\xb5\x42\x23\x1a\x00\xfd\xfc\x4c\x1c\x75\x31\x63\x57\xe5\xdf\x02\x85\x4a\xff\xdb\xcf\x86\xb8\x01\x36\x06\x3f\x88\x12\xc2\x01\x28\x64\xd1\x5e\xf8\xa9\x51\xcd\x86\xa4\xec\xf6\x7a\x73\x06\xdb\x4e\xec\xf2\x4a\x39\x72\xe8\xf7\xef\xc5\xdd\xd4\x8f\x82\xb2\xe6\xa0\xc5\xd3\xdb\x72\x35\x3b\x28\x5b\x1e\xb7\x4f\x3f\xed\x16\x61\x3f\x3f\x6b\x79\xe7\x36\xc9\x30\x5f\xc5\xce\x46\x8a\xd8\x27\xff\xe1\x10\xa3\x5f\x79\x59\xd0\x51\xaf\xe3\x24\xea\x9e\x35\x9d\x48\x87\x87\xe2\x1b\xa5\xae\x9c\xd2\x52\xeb\x15\x0e\x06\xe9\x08\x68\xf0\x71\x35\x8a\xd1\xeb\x5a\x61\x79\x33\xd2\x4c\x90\xc4\x26\xba\xa9\x71\x2c\x64\xa5\x43\xe6\x30\xa1\x4a\xc6\x59\x6e\xea\xa6\x9a\xc0\x4b\xf2\xd2\xef\x20\x12\x78\xed\x57\xe5\x54\x18\xd9\x0e\x43\x7c\x99\x46\xc0\xea\x01\xf8\xc2\xaa\x29\x21\x46\x10\x62\x90\x23\x1f\x4f\xbc\x86\x17\x47\x97\xde\xef\x44\xf2\x46\x87\xab\xf7\x8f\x5d\x26\x0a\x84\x7f\xc6\xa4\x7f\x2f\xd7\xa2\xf9\x15\xee\x5b\xba\xe9\xc7\xe9\x21\x14\x3a\xc0\x62\x14\x07\xb1\xcf\x06\x6e\x24\xb5\x92\xda\x8a\x53\xfb\x56\x3f\x19\x36\x84\x04\xfa\x07\xdc\x47\xba\x1a\x3f\x0c\xba\x9f\x4a\xe3\xa9\xe0\xfd\xa1\x5b\xa0\xa6\xc2\x0e\x49\xe5\x4e\xcc\xd8\x21\x4f\x58\xa9\x6b\x64\x46\xde\xd2\x68\x71\x45\xe7\x69\x08\xde\xe9\xa4\x6d\x6f\xaa\x75\x86\x63\x18\x1e\x59\xe9\x2f\x93\xc0\xc5\x76\x7a\x6f\xab\xba\xb1\xbe\x92\xa0\xdb\x3b\xc9\x78\xc5\x85\x56\xa4\x40\x47\x32\x33\xde\xa4\x74\x66\x0c\xd6\x13\xcc\xe1\xd5\xad\x1b\xb9\x32\x48\xed\xb7\xa4\xab\x45\xfa\xd1\x7e\x0f\xc4\x6f\x24\xf6\x66\x16\xf9\xac\xee\xff\x2a\x3d\xca\x55\x66\xb5\xc4\xe1\xa6\xf2\x2b\xf5\xa9\x0e\xfd\xe3\x6f\xb3\xce\xf1\x6e\xaf\x9a\x72\x23\x2a\x0e\x0f\x05\x87\x72\x56\x31\x84\x83\x6f\x0f\xfe\x0c\x14\x72\xa9\xa1\xd6\x12\x85\xae\x28\x0c\x29\x74\xdd\x99\xeb\x1a\x52\x18\xa0\x12\xca\x52\x49\x2c\x9a\x5d\x81\xe3\xb1\xae\xe0\x30\x77\xe7\x5e\x9d\x96\xe9\xee\xde\x4b\x3b\xd7\xa8\x6a\xca\xdf\x5c\xdd\xed\x38\xb7\xbd\x9f\x8f\x87\x52\x79\x3b\x06\x2b\x31\x15\x99\xe0\x9b\xb2\x65\x72\x35\x50\x8c\x5b\x4c\x65\x09\xc9\x6f\xc6\x34\x14\x50\x85\xc6\x4b\xae\xde\x30\xdb\xaf\x8f\x7e\x66\xb2\x7b\x69\x6a\x25\xb3\x21\x58\x9a\xd0\x8a\xc7\x63\xa4\x31\x79\xd1\x05\x31\xdb\x0f\xf7\x61\x43\xdb\x6d\xc8\x7e\x10\x30\x05\x16\x7a\x4e\x49\x28\xe8\x73\x4e\x52\x50\xa8\xfa\xe6\x5a\x2c\xe4\x6a\x65\x45\x37\x92\xc8\x21\x3e\x53\xcf\x7d\x76\x2c\xe9\x7d\x9b\x23\x09\x47\x42\xfc\x69\xed\xd3\x80\x28\xea\x89\xb2\xac\x5d\x69\x84\x21\x89\xe6\x14\x2c\x73\x9d\xab\x1b\xe5\x2b\xc7\x77\x14\x9e\xd6\x33\x8c\xd6\x9a\x54\xfa\xc6\xa8\xca\xf0\x84\x23\xba\x46\xe9\x9e\xb9\x81\xf0\xab\x6a\xc9\x27\x0b\x6a\x98\x0b\x72\xc1\xfa\xcc\xdf\x2b\xcc\x3f\x47\x8f\x30\x66\x0e\x92\x14\xa0\x51\x79\x41\xf3\xa5\x97\x12\x68\xa9\xed\x41\xba\xc2\xca\x62\x3e\x11\x75\x16\x27\x19\x0e\x05\x26\x76\x16\x4a\x62\xc2\xa3\x9f\x22\xaa\x4b\x33\x30\xe4\x96\x2e\xc8\x13\x23\x2b\x7c\x06\x91\x8f\xff\xcb\xcb\x0d\x45\xa2\x85\xae\xda\x27\x1e\x2f\x27\x7b\x07\x2a\xe3\x51\xca\x17\xac\x3d\xc6\x48\x25\x61\x76\x28\x9a\x7d\x84\xc0\xba\xa1\x09\xa8\xb7\x9f\xf6\xbe\x25\xc1\xc7\x9b\x75\x5a\xf2\xaa\x77\xf7\xf4\xcd\xa0\xb7\xc1\xa2\x49\x8c\xb3\xed\x2e\x65\x06\xe2\xcf\x3a\xc3\x0e\xbd\x15\xf8\xb3\x3d\xec\x18\x5f\xea\x6a\x29\xeb\x38\x1a\x51\x1a\xcb\xc5\xa6\x14\x26\x40\x57\xf7\xc5\x10\xb7\x61\x71\x54\x2d\x0d\xf7\xf8\x4f\x8d\x38\x13\xfd\xa5\x11\x87\x62\x7c\x74\x74\x34\x18\xd5\xfa\xcb\xfc\x56\x65\xfd\x63\x98\xb5\xf7\x6d\x4f\x8d\xc5\x95\xe9\xc5\x75\x76\x68\x0f\xbb\x5e\x88\xce\x48\x04\x46\xe2\xf5\xde\x01\x0a\xce\xa6\xbc\x45\xf1\x48\x14\x82\x9d\x4d\x73\x12\xf8\xae\x96\x39\xec\x2c\x40\xc3\xdc\xb3\x40\x28\xee\xf1\x8b\xfc\xb2\xc3\xb5\xc7\x3a\xb1\xf9\x09\xb6\x55\xa1\xee\x30\x83\xb7\xc1\xd1\xef\xb8\xe4\xb3\xad\x04\xda\x71\xfc\x78\x92\xc5\x6c\x63\xa8\x1c\xe6\x15\x99\xf8\x90\x41\x63\x00\xf1\x56\x67\x8d\x98\xc5\xa1\x76\x1d\x39\x6d\x2e\x3e\x5e\x65\xed\x10\x85\x21\xf0\x1e\x3c\xd7\x79\xc3\x15\x48\xcd\xd6\x25\x6c\x77\x4d\x75\x33\x58\x32\xe6\x79\x88\xbb\xf2\xce\x1d\x4c\x63\x0a\xb9\x58\x39\xf0\x01\xab\xaa\x91\x46\xe5\xdc\x64\x60\x3c\xa3\xce\x1e\xe2\x7e\xc8\x9b\xcc\x32\xe7\x3d\x37\x51\xc0\x20\xf0\xf4\x60\x0c\xa1\xc9\x87\xba\x6a\x94\xb7\x4d\x95\x29\xa8\x3a\x38\xd6\x17\xa4\xd2\x93\xbe\x06\xa8\x17\x0e\x0e\x56\x95\xd6\x33\x71\x53\xd9\x03\x89\x42\xe6\x9d\x05\x0e\xcc\x52\xac\x30\xed\x56\x3b\x11\xed\x00\xcc\x0e\xb0\x62\x80\x3d\x36\x5c\xfc\x7c\xc8\x42\x8b\xd3\x03\x22\xf7\x61\x68\xe4\xb0\x35\x0d\x90\xb2\x00\x61\x7c\xb4\x20\x47\x19\x63\xce\xac\x86\x61\x10\xce\x18\x55\x84\x78\x2f\xff\x26\x17\x10\xb6\xf5\x93\xf0\x7b\x42\x64\x2f\xaa\x3b\xdb\x07\x6c\xb3\x07\xaf\x26\xa4\x35\xf0\x63\xbd\xa0\x9d\x4b\xb0\x0b\x81\x09\xe6\xd2\xa4\x02\xcc\x5d\xa0\xdf\xda\xc1\xd9\x3b\xd0\xb7\xfd\x33\x5b\xc9\x78\x2e\x6e\x73\x43\x76\xc1\x47\x0e\xc9\x22\x36\x37\x44\xb9\xdf\x28\x1f\x29\x0f\xbe\xf5\xa2\xf0\xc5\x48\x9d\x15\x8f\x85\x98\xdf\x28\xd8\xd3\x2c\xb2\xfc\x6f\x11\x5b\xff\x77\x8b\xab\x77\x87\x13\x99\x4e\xa3\x84\xd5\x4e\x72\x70\xae\x14\xfc\x8b\x82\x4b\x9c\xbd\xf1\xbc\x8c\xa3\x76\x92\xaf\x02\x6b\x3a\x14\x9f\x24\xdd\xa2\xd6\x62\xae\x4a\x55\x49\x88\x50\xc0\x21\x3b\xe3\x6e\xfc\xfc\x19\xfb\xfe\x46\x53\x7d\x10\xea\x11\xe8\x32\x13\x69\x8a\xdb\x76\x10\x3b\x5f\xe9\x0b\xc4\x99\xe8\x51\x40\x79\xef\xb3\xdd\x4f\xe1\x99\x28\xec\x53\xf8\xeb\x3e\x0f\xa1\xd3\x09\x1e\xa2\xb0\x2d\x9e\x17\xe9\xb4\x2c\x28\x83\x56\x76\x3b\x70\x45\x1f\xb4\x0e\x5d\x81\xe4\x39\x00\x2e\xae\x4a\xa8\xf8\x51\x6a\x8c\x3a\xd5\x33\x57\xa7\x04\xcd\x9d\x66\x73\x7c\x78\x47\xe0\xd9\x46\x4f\x2c\xc8\x67\x8e\xfb\xe0\x2f\xdd\x21\xe1\x1d\x83\xf2\x36\x0c\x9a\xa2\x99\x37\x95\xc7\xea\xed\x31\x1e\x13\x09\xba\x4d\xe4\x24\x15\xf4\x86\x91\x47\x8e\x3f\x80\xd7\x79\xef\x9a\x37\x76\xdb\x32\xaf\xc1\x56\xfe\xb8\x0f\x61\x75\xca\xe0\xad\xfa\xb2\x7b\x8a\xc6\xf0\x81\x15\x75\x73\x49\x4c\xc4\xc1\xb9\xc9\xb7\xa4\xf8\xf4\x53\x67\x87\xc6\x48\x8e\x77\xb1\x81\x3d\xca\xa5\xcc\xf2\x8c\x4a\xac\x62\xb9\x6e\x4a\x8f\x90\x65\xc6\x6e\x41\x6d\x38\x0a\x6d\xce\x97\xca\x9b\x86\xd1\x06\xd2\x0e\xc3\xda\x95\xb9\x18\xe2\xe3\x12\x96\xe1\xf8\x0f\x72\x02\x93\x70\x09\x16\x76\x45\xc5\x73\xb0\x0d\x94\x9c\xd6\x14\xce\xcc\xc3\x40\xad\x38\x02\x1e\x89\x0d\xda\x2a\xf4\xdd\x58\xe6\x65\x83\x55\x29\x78\x54\x20\x16\x5d\xe7\xda\x6b\x60\x62\x50\x94\xf6\x7e\xa9\xeb\xfb\x42\x36\xb5\x5e\xca\x9a\x22\xbf\x40\x80\xa2\x4c\xa4\xf8\xbb\x72\x5f\x38\x8f\x25\x96\xed\x49\x4b\x88\x09\xce\x11\xa3\x7c\xf9\xba\x62\xbb\x74\x13\xff\x34\x75\x5c\x06\xd4\x57\x09\x98\xb6\xdb\x00\xd9\xf5\x35\xae\x56\xee\x1e\xf3\xd3\x25\x85\x0b\x75\xb8\x47\x22\x1a\xe4\xe7\x50\x4a\xc0\x77\x63\x02\x6e\x05\x70\x76\xd0\x6d\xa8\xe9\xdb\x0b\x7b\x65\x0f\x52\x64\x68\x88\xeb\x15\x4b\xb6\xc6\x58\xb1\xd8\xd3\x7b\x5a\xad\xd8\x3e\xfc\xa7\xa8\xcb\x10\x3c\x45\x96\x22\xb0\xc4\x61\xd7\x6b\xa8\x5a\x2c\x99\x7c\xcd\xa4\x0a\xbe\xab\x80\x6f\xd3\x8b\x32\x2d\x8c\x1e\x85\x4a\x73\xf4\x86\x2d\xb5\x90\x71\x26\x2e\x6a\xcf\xee\x1d\xa8\xc7\x92\x07\xcf\x30\xb4\x9d\xb4\x8f\x61\x3d\x0e\xe9\xc3\xfb\x48\x9f\xc3\x26\xd4\xe8\x26\xf4\x03\x1b\x5f\x09\xab\xd4\xb5\x37\xfb\x78\xc5\x00\x54\x89\x49\x43\x01\x6c\x60\x5a\x73\xb5\xdc\x5d\xf0\x5c\xd0\xab\x78\x82\x3c\x6c\xa9\x38\x82\x16\x02\x91\x59\x29\xe6\x24\x8b\xc2\xd7\x9e\x41\x9d\x4a\x8a\x99\xba\x11\x85\x5c\xab\x0a\x0c\x56\x3a\x0e\xb3\x74\xdd\x54\xe6\xda\xd5\x0f\xe4\x9a\x19\xbe\x0b\x38\x0d\x24\x68\xac\x54\x85\x43\x79\x6d\x42\x96\x42\x99\x3a\x5f\x92\xcd\x68\xa1\x6f\x44\xa1\xcb\x39\xaa\x5f\xbe\x08\x38\x86\xed\x59\xd5\xae\x83\x38\x9c\x3a\x00\xe9\x0d\x4b\xc3\x53\xfe\xb8\xe0\xe7\x8b\x6e\xee\x7b\xae\x30\x0c\x75\x18\x2e\x82\xce\xed\xd8\x3e\xec\x23\x48\x62\x8c\x62\xfa\xfc\x7d\x16\x90\x16\x76\x69\x47\x04\x20\xdd\x8c\x22\xff\x96\x26\x6d\x92\xba\x72\xf5\x73\x98\xa7\x59\x3b\x02\xde\x58\x41\xbb\xe5\xc3\xe7\x06\x4f\x5f\xe3\xbd\x33\x7a\x15\xcb\xc6\xfa\xc6\x79\x74\xcf\x07\x9c\x94\x73\xcb\xd9\x20\x4a\xc5\x8a\xd0\xa1\x74\x69\xad\xa9\xe2\x6c\x4d\xfa\x91\x97\x81\xbc\x52\xbb\xe7\x8a\x44\x0c\x27\x66\xcc\xf6\x5b\x86\x61\x9a\xc9\x12\x75\x9f\xdc\xd1\x39\xbd\x7f\xe0\xa4\x10\xa9\x84\xee\x84\x9c\xd8\x67\xf3\x6d\x53\xb6\x02\xf0\x82\x9d\xae\x1d\xee\x94\x3e\x13\x82\x1e\x9c\x47\x2a\x44\x2c\x79\xab\x8f\xac\xe6\x50\x93\xce\xfb\xa8\xff\x20\x8e\xc5\xfb\xf7\x0c\x13\xf4\x02\xbb\x00\x9b\x7d\x5e\x91\xd8\xd7\x15\x11\x49\x15\xef\xad\x92\x71\xa3\xb1\x32\x2c\xa6\x3b\xa9\x9f\x1a\x59\xec\xb9\x7e\xf0\xd8\x8b\xff\x8c\x96\x4e\x4e\xeb\x46\x16\x43\xaf\xaa\xb0\x88\x61\xbc\x05\xfe\x5a\x7f\x97\xfb\xc8\x3d\x84\x95\xc0\x3c\x84\x3f\xf2\xf0\xa6\xc3\xcb\xdd\x33\xff\x8a\xae\x28\x81\x90\xf8\xda\xd9\xf2\x96\x0f\xf5\x99\x78\xf0\x20\x1f\x78\xaf\x32\xde\xbb\xc8\x2f\xf9\x2b\x2e\xf2\xcb\xb8\xc0\x06\x7b\x41\x94\x5b\xc1\x70\x7c\x0e\xb6\x1f\x3a\x1e\x4b\x7a\x27\x09\x88\xd8\x48\x00\xd2\xc4\x00\xe1\xce\xcc\xe4\x15\x3c\x00\x8b\x84\xb6\xc6\x50\xe3\x4e\x26\x8b\xf5\xce\xce\xce\x7a\x42\xaf\xac\x88\x07\x85\x15\x42\x78\x3c\x16\xff\x82\x02\xeb\x53\xad\xaa\x29\x0b\x31\xa3\x28\xaa\x8d\xbd\x2f\xec\xec\x96\xb2\xba\x72\xc7\x9d\x8b\x79\xc0\x42\x8f\x9c\xb2\x20\x99\x97\xc5\x74\x1a\x52\xc2\x52\x76\x75\xff\x83\xfb\x7c\xa8\xcf\x80\xbf\xfe\x7f\xe4\xbd\x69\x7f\xdb\x38\x92\x38\xfc\x3e\x9f\x02\xc9\x7f\xb7\x29\x25\x92\x2c\xca\xb6\x7c\x64\xdc\xbd\x92\x2c\x75\x3c\x39\x37\x76\x92\xdd\x71\xa7\xb3\x10\x05\x59\x6c\x53\xa4\x86\xa4\x2c\xab\x27\x99\xcf\xfe\xfc\x50\x55\xb8\x48\xca\x47\x92\x9e\x99\xdd\x27\x2f\x62\x1b\x04\x0a\x40\xa1\x50\x28\x14\xea\x98\x0b\x2e\x2f\x60\xd6\x5c\xed\xfa\x1a\x13\x26\xda\xa9\x5e\xef\x2a\x4e\x28\x37\x08\x04\xfd\xe9\xc5\xf2\x77\xe4\x69\x50\xa0\xd4\x7a\xe1\x44\xc4\x79\x38\x5d\x3b\x46\x4c\x06\x09\xd6\x3b\x1f\x84\x71\x80\x53\x93\xdc\xc1\x95\x34\xa0\x84\xe6\x69\x18\x89\xc3\x28\x8c\xb5\x82\x4b\x79\xf0\x40\xfa\xb1\xbb\xee\x1e\xca\x72\x51\x32\x81\x2a\x6e\xa1\x86\x9e\x1c\x29\xa8\xb6\xd8\xbb\x3c\x8c\xc2\x7c\xed\xbc\xa0\x2d\x52\x91\xe7\x6b\x15\xfa\x94\x22\x51\xd8\xa9\x81\xe6\x3c\xaf\x01\x26\xed\x40\x33\x72\x28\xc9\x94\x30\x7c\x74\xc4\x3c\xf4\x25\xf4\x0a\xe4\x0e\xdf\x89\x23\xc2\x5d\x2c\x4f\xd9\x11\x79\xd8\x12\xd0\xa7\xfa\x23\x4f\xd7\x28\x37\x83\x1d\x52\x8e\x21\x5f\x5a\x73\xbe\xd0\xf9\xe9\x59\x4d\x0e\x42\x01\x2f\x64\xb8\x17\x75\xcc\x1f\xa1\x36\xa4\xce\x4f\xcd\x7e\x64\xbe\x51\xb7\x9b\x74\x17\x74\x7b\x99\xf1\x4c\xb2\x44\x48\x39\xdc\x40\x25\x93\x5c\xb8\x64\x3a\x65\x72\x7d\xf3\x8c\x25\xab\x18\x9c\x62\xd4\x7b\x97\x81\x04\xe6\x33\x26\x2b\xb1\x3c\x99\xc0\xef\xf2\x82\x87\xb1\xbc\xd5\x92\xbd\x26\xf5\x04\x37\x5b\xd5\x55\xcb\xc5\x94\x9c\x2c\x64\x2d\x5b\x5b\xf1\x6e\x48\xbf\xef\x06\xbb\x51\x97\xc6\xaa\x9a\xce\x99\x80\xfb\xe5\xe8\xc8\xf0\xa3\x92\x8c\xbf\xb5\xc5\x8e\xb5\x6b\x59\x90\xcc\xe7\x89\xc9\x00\xbb\x5e\x88\x8c\x82\x89\xda\xf7\x38\x1e\x7b\xa0\xa3\xc2\xb0\x3e\x0b\xe5\x16\x5a\x08\xeb\x63\x08\x45\x9e\x69\x8a\xe3\x97\xd9\x7c\x45\xfc\x21\x49\x0a\x31\x06\xd1\xd2\xbb\xf3\x27\x0a\x9c\xa5\x0b\x20\x70\x16\x3b\x84\x1c\x79\x76\x74\x90\x9a\xa7\xf6\x87\xac\x1e\xdb\x16\x7c\x58\xe9\x42\xe4\x60\xa4\x9b\xbe\x48\x02\x38\xe9\x3f\xd5\xfc\x7a\xb5\x95\x1f\xd1\x3e\x8e\x19\xea\x80\x53\x37\xf8\x4b\xe1\x27\x33\x8d\xcd\x2c\xdc\xb0\x6e\xc9\xea\xff\x00\xde\x8c\xf1\x3a\xac\xbb\xb9\x12\xc9\xb0\xe3\xff\x91\xdd\xfe\x0f\x86\x4d\x03\xcb\x2f\x30\x9c\x7d\x94\xa7\xcb\x30\x9b\x3d\x72\x4f\x8c\x7f\x3c\x8b\xd7\xa2\xe5\xbd\x18\xfd\xff\x76\xee\x5d\x25\xf9\xb8\xcc\xba\xb0\x81\xc1\xdd\xa7\xb8\x79\xbf\xcb\x46\xf9\xf6\x6d\x42\xdc\x9c\xb6\x49\xf1\x7e\xa2\x2c\x6a\x00\x7d\x90\x5c\x02\x38\x29\x5c\x51\x54\xa2\x2a\xb4\x58\x01\x13\x99\xf2\xfe\xe0\x6c\x12\xa6\xf9\x9a\xcd\xd0\x4f\xf6\x24\x47\x4a\xca\x9c\x48\x64\x0d\xb4\xe9\x81\x0b\x38\x66\xa1\x16\xd7\x7c\x2e\xd9\xac\xd2\xce\x62\x1f\x3a\x42\xbc\x5e\x3b\xd7\xc0\xbb\xf2\x2e\x09\x03\x3b\x01\xc3\xd9\x33\x0d\x09\x0a\xf1\x55\x4f\x4e\xb1\xc5\x58\x5b\x85\x5a\xa5\x4f\x70\x50\xd0\x43\x16\xf9\x39\x1a\xe7\xc5\x06\xf3\x21\xcc\x7f\x4e\x11\xf8\x52\x1c\x75\x96\x30\xda\xd4\xda\x5b\x5f\xd1\x7a\x4f\x9d\x22\x34\x74\x64\x41\xec\x91\x83\x57\x3c\x85\x1f\xdd\x91\x18\xcb\x8b\x6c\x13\xa6\x99\x76\xd9\x3b\x48\x5d\x23\x86\x98\x39\x77\x83\xf9\x95\x24\x50\x44\xc6\x91\x36\x4c\xb2\xcf\xf6\x73\x0b\xb3\x4f\x58\xe7\x63\x51\x14\x40\x8a\x00\x17\xf8\xda\x56\xed\xfc\xd7\xad\x8f\x4f\x0e\x7f\x99\x3c\xa9\xcb\xff\x7e\xa9\xff\xf4\x6f\x5b\xae\xb1\xac\x6c\xf4\x93\xfc\xff\xdc\xff\x28\x29\xfe\xa7\x9f\x7e\xf2\x4a\x6a\xd0\x0f\x29\x44\xc0\x32\xea\xcf\xc4\x7e\x8d\x46\xf1\xe7\x2e\xb8\x23\xc5\x98\xa3\x12\x40\x90\x85\xd0\x2e\xf2\x2e\xa7\xad\x40\x54\x15\x67\x93\xbc\xe4\xe9\xa5\x6b\x25\x43\x14\x2c\xa5\x90\x65\x6e\x3d\x98\x57\xab\x75\x24\x55\xa1\x66\x04\xd6\xa5\xc0\x88\xdd\x4d\x82\x51\x52\x6c\x33\x09\x65\xfa\x93\xe5\xc9\x62\x93\xbe\x40\x72\x13\x85\x30\x7d\xf3\xb7\x30\x08\x09\x1e\x13\x4b\x80\xbc\x0b\x06\x41\x8f\x56\xc8\x50\xec\xa0\xb0\xea\x62\x5b\x2f\xab\xd4\xed\x76\x96\xd7\xf2\x66\xad\x24\xf9\x4e\x96\x57\x40\xc5\x25\xfa\x27\xaf\xc0\x5d\xa8\x0f\xe3\xa7\x56\xa9\x7e\x2b\x26\x8e\x0f\x61\xf6\xc4\xb7\xb6\xd8\xe9\xeb\x77\x6f\x07\x43\x36\x3a\x79\x31\x3c\x64\x51\x38\x9e\x24\xf9\xd6\x6f\xd9\x56\x14\x8e\x3f\x2d\xf3\xe9\x7e\xeb\xb7\xec\x01\x78\x34\x2c\xd6\x69\x28\x79\x64\x2d\xa8\xb3\x4e\xdb\xef\x00\x0f\x1c\xcc\xd2\x64\x1e\x2e\xe7\xec\xf5\x29\xeb\x2d\xf3\x59\x92\x66\x2d\xd6\x8b\x22\x06\x75\xe1\xe5\x46\xa4\x57\xf2\xce\x25\x6f\x1d\x99\x31\xb2\xc8\x92\x65\x1a\x50\xba\xe7\x30\x63\x17\xc9\x95\x48\x63\x15\x7f\xb4\x7f\x7a\xdc\xcc\xf2\x75\x24\x58\x14\x06\x22\x56\xce\x42\x64\x6a\xb1\xb5\x85\xe9\x6f\xd4\xa1\xfd\xe2\x64\x30\x7c\x75\x3a\x84\x83\xa5\xf5\xe0\x81\xb7\xcc\x50\xa4\x0f\x72\x78\xe7\xdb\x62\x67\xaf\x8f\x5f\xd7\x26\xfc\x2a\x9c\x8c\x45\x5c\x3f\x64\x1f\x94\x65\x20\x31\x52\x11\x07\xc9\x84\x5c\x29\x80\x19\xab\xa8\xdc\x62\xd2\x78\x00\x79\x30\x29\x68\x36\x2e\x2f\x85\xd7\x8d\xd1\xab\x2a\x8c\x9b\xca\x72\xcd\x8d\xe6\x2d\xa7\x2c\x5b\xcf\xf2\x7c\x91\x1d\x6e\x6d\xad\xc2\xcb\xb0\xb5\x9a\xf1\x7c\x75\xd1\x4a\xd2\x0b\xf8\x7b\x0b\xcf\xcc\x21\x0d\xc0\xae\xae\x06\xd5\xca\x16\x22\xb0\xdb\x19\xe9\x12\x0d\x46\xa6\xcb\x88\xbd\x3b\x1b\x35\xf7\xd9\x44\x48\x74\x5a\x12\xc8\xbb\xb3\xd1\xfe\x31\x16\x96\x89\x84\x3c\xad\x4d\xec\x97\xf1\x3a\x17\x19\x7a\x59\x13\x66\xf5\x23\xb5\xf8\xeb\x52\x50\xd8\x43\x20\x24\xa8\xfa\x42\xd6\xa4\xf8\x4f\x04\x2c\x04\x7b\x94\x8b\x54\x40\x1c\xe0\x89\xc0\xec\xde\x6c\x2c\x24\x76\x71\x78\x13\x48\xac\x60\x00\xfc\xc8\xda\x56\x56\xed\x89\x78\x03\x2d\x5c\xb0\x51\xb2\x12\x29\x1b\xc3\xa2\x27\xb1\xa5\xe3\x36\x7d\xdc\x00\x15\x5a\xf7\xa1\x31\x80\x75\x72\x70\x05\x90\xcf\x81\xa3\x30\x4c\x68\xe4\x39\x6f\xb0\x9c\x5f\x82\x7b\x42\x2c\xd9\x5a\x80\x9e\x0d\x68\xca\x08\x5e\x6f\x8b\x54\x5c\x85\xc9\x12\xc4\x0a\xc8\x92\x9c\xe5\xa9\xe0\x73\x38\xdc\x75\xda\x1c\xa4\x2c\x91\x16\xd9\xe9\xa9\x56\xbf\xa6\xd8\x18\x22\x7b\xc8\xaa\x0d\x13\xf5\x5b\xc9\xd6\xe6\x4e\xa0\xa4\x88\x53\xeb\x16\x89\x7a\x71\x89\x86\x65\x1c\x96\x62\x86\x4b\x84\xb0\xb1\xc8\x57\x42\xc4\xac\x7d\xdd\x6e\x5b\x19\x1a\xdb\xd7\xa3\x91\x2b\x61\xa8\x61\x41\x84\x7a\x39\x2c\x5a\x31\x42\x82\x7d\x3b\x91\x98\xf2\xbb\x26\xe6\x55\x99\xe0\x2c\x26\x85\x60\x2a\x5f\xce\xe4\x19\x9f\x8a\x5c\x27\x39\xaf\xd2\xb6\x65\x79\x5a\x65\x30\x07\x59\x41\x49\x4f\x10\xcc\x78\x3a\x48\x26\xa2\x97\xd7\x42\xeb\xea\x5f\xa4\x55\xcb\xdb\x09\x2b\x04\xec\x4f\x47\xac\x7d\xbd\x37\x72\xc3\xcf\x42\x30\x20\x05\xd7\x82\xe9\xb8\xb8\xb6\xaf\x07\x6d\xd9\x3c\x60\x3f\xfc\xc0\x08\xd0\xb1\x03\xa8\x44\xd3\x01\x6b\x32\xd9\xec\xa9\x5b\xc5\xde\x4d\xfe\xd3\xa2\x57\x89\x4d\xbc\xd7\xfb\xed\xca\x91\x0c\x4b\x23\x19\xde\x65\x24\xc3\x9b\x46\xd2\xb9\x6d\x24\xd5\x43\x19\x95\x86\x32\xda\xbb\xc3\x50\x46\x37\x0d\x65\xfb\xe6\xa1\xf8\xed\xf6\xa6\xc1\xec\x97\x06\xd3\xbf\xcb\x60\xf6\x6f\x18\xcc\xce\xcd\x83\xe9\xb4\x37\x8f\x66\x50\x1a\xcd\xf1\x5d\x46\x33\xb8\x61\x34\xbb\x37\x8f\x66\xa7\x5d\x35\x9c\x12\xad\x7b\xbf\x2c\xa7\xd3\xe9\xc4\x2b\xc4\x7c\x73\x6b\xe3\x24\xf6\x4b\xeb\xdb\x2f\x93\x9a\x1e\x61\xb3\xf9\x74\xf3\xf4\x6a\x85\x92\x3f\xfd\x89\x75\xe5\xdd\xb2\x86\xf3\xde\x6f\xd7\x4d\xe3\x5b\xb7\x33\x43\x45\xdc\xcf\x49\x0e\x9e\x01\x51\x64\x4e\x2d\x7a\xae\x50\x7e\x96\x18\xf9\x04\x8f\x13\xf0\xf6\x70\x21\x4c\xc3\x28\x97\x07\xe2\x32\x67\xd9\x32\x4d\x93\x0b\x7c\x97\x0d\x53\xad\xa9\x63\x8a\xfb\x58\x73\x71\xa7\xf2\xd4\xaa\x09\x7c\xc6\xcc\xb1\xb8\x4c\x05\x4b\xda\xcf\x9f\x25\x92\x8f\xf7\xdb\x88\x66\xdd\x4e\xa2\xdb\x00\x41\x5e\x33\x1a\xd5\xcb\xad\x4d\xad\x1f\x61\x6b\x8c\x64\x35\x07\x4b\x1b\x57\xbd\x92\x42\x08\x2b\x20\xa2\x08\x79\x22\x11\xeb\x57\x39\x4a\x97\xf9\x62\x99\xb7\x9c\xea\xc5\x19\xd3\x0e\x2d\x8e\x42\x8f\x03\xcf\x9d\x96\x3c\x57\x07\xc4\xc8\x4d\xfb\xfa\x53\xa7\x51\xe5\xf8\x30\x55\xb5\xb3\x58\xad\x42\x05\x33\x9e\x66\x89\x65\xdc\x61\x38\x25\x7b\x67\x5a\xa3\x27\xac\x66\x4d\xf5\xc7\x1f\x7f\x64\x7e\xbb\xce\x7e\x60\xed\xeb\xed\xd1\xa8\x5e\x8e\x0d\xd7\xbe\x3e\x1e\x60\x33\x6b\x69\xa9\x76\x71\xa6\x0f\xaa\x7e\xff\xb2\x69\x27\x4b\x51\x29\x49\xe0\x71\x1e\x05\xb9\x30\x66\xf3\x65\x94\x87\x4d\x10\x02\xcc\x66\x78\x2b\x56\x61\x3c\x21\x79\x05\x43\xd8\xd8\x40\xd0\xbf\x23\x4a\xc8\x15\x02\x1c\x78\x25\x84\xd6\x6d\x3c\x63\x93\x68\x48\x34\x61\x38\xc1\x17\x4b\x45\xad\xef\xec\xa9\xc8\x2b\x25\x33\x23\x92\xb5\xac\xd0\x6a\x3a\x70\x7a\x20\x9c\x27\x0a\x32\xa6\x81\x0b\x98\xd0\xa2\x59\x68\xbc\xf0\x21\x6c\xc4\xff\x6f\xc4\x31\x6c\x20\x85\x32\x5b\xf8\x92\xb7\x3a\xc7\xf6\xaf\xa6\x1e\x82\x2d\xf1\xad\x56\xaf\x53\x73\xac\xef\x26\x93\x88\x95\xd8\xec\x74\x8c\x03\x83\x15\xd3\x37\xe2\xc2\xd5\xeb\x18\x22\x26\x81\xc3\x18\x37\xd7\x97\x2b\x91\x66\x76\xfe\x23\x75\xdb\x33\x31\x1a\x64\x6d\x67\x7f\x33\x50\x1f\x01\x17\x5a\x61\x86\x8c\xec\x27\xf6\x01\x83\x55\x2e\x16\x22\xce\x24\x17\x82\x10\x16\x97\x62\xbd\x80\x0b\x09\xfa\x22\xa3\x79\x1a\x98\xb2\x90\xe1\x34\x8c\x45\x4a\x7a\x3c\x20\xc6\x0f\xe9\xe3\x24\xf5\xf7\x5f\xbe\xf9\xe9\x06\x62\x39\x33\x77\x48\x30\x08\x95\x58\xd9\xbc\x86\xf6\x6d\x13\xa9\x09\x50\xd5\xd8\x44\x57\xf6\x63\x11\x6e\xe9\x02\x31\x6a\x3a\xcb\xf0\x4e\x42\x14\xa5\x49\x09\x89\x00\xfb\x2b\x12\xc1\xf7\x90\xc0\xe5\x71\x0b\x09\x31\x97\x71\x08\x63\xb1\xae\x7c\xa4\x2d\x91\x2d\xef\x2a\xad\x13\x6f\x2c\x89\xd4\xf6\xf9\x15\x80\x54\x33\x1a\x8d\x8e\x9d\x27\x31\x6a\xbe\x5f\xd1\xbc\x6f\x37\x87\xc8\x07\x4f\x7c\x67\x4a\xf6\xb1\x24\x47\x39\xa9\x18\xe5\x13\xbf\x20\x8a\x98\xb1\x4e\x64\x67\x93\xaa\xb1\x12\x8a\x4e\x57\x10\x83\xb6\x44\xc1\xf6\x09\x15\x18\x39\x16\x8f\x14\x7d\x28\x48\xa1\x48\x1e\x29\x4f\x58\x6d\xa2\x0b\x1d\xf1\x02\x83\xed\x6e\x38\x15\xca\x18\xbb\xf1\x10\x29\x57\x76\xa2\xff\x1a\x39\x20\x90\x3b\x4f\xed\x74\x42\x9c\xe6\xfc\x66\x49\x2b\xee\x57\x37\xdd\xae\xdc\xd0\xc3\xd6\xda\x6a\x38\x65\x40\x55\xa7\x35\x5c\xcd\x3e\xcb\x66\xf2\x44\xee\x9a\x93\xb5\xe2\xa6\x55\xee\xc5\x95\x98\x6e\xec\x66\x68\x75\xe3\x77\xaa\xfb\xe9\x38\xfd\x6c\x3d\xb6\xbb\x52\xe2\xd9\xe3\xad\xbb\xf5\x37\xb2\xfb\xdb\xaf\xee\x6f\xfb\xa9\xbd\x64\xab\x59\x18\x09\x56\x73\x34\x23\x66\x72\x15\x72\xfa\x8d\xfd\xef\x43\xff\x34\x80\x5a\x97\x3d\x36\x10\xea\x4a\xec\xa9\x3b\x6f\xd0\xa5\x03\x7e\x83\xc6\x31\x9f\x85\xe9\xe4\xd3\x82\xa7\xf9\x7a\x6b\x15\xac\xc2\x49\x3e\x03\x15\xe4\x2a\xd8\xa4\x80\xdc\xf9\x6a\x05\xa4\xe4\x8a\xab\xe0\x1f\xa8\x82\xb4\xe2\xdf\x5b\x87\x76\x14\x8e\x53\x48\xfc\x9c\x31\xb2\x0e\xd5\xf9\xa1\x09\x03\xad\xdf\x32\x36\x4f\x26\x4b\x74\xee\x8d\xe5\xe9\xf2\x5b\xa6\x9f\x7a\x93\x34\xbc\x00\x2d\x58\x21\x8b\x20\xf9\x0b\xe3\x00\x79\x7e\x08\xa7\x28\x69\x15\xe3\xc5\xfc\xb7\x0c\xd4\x88\x0b\x1e\x5c\xf2\x0b\xb1\x65\xba\x82\x13\x43\x0d\xd6\x1a\xa7\x0a\x08\x95\x4c\x41\x3f\xbe\xcc\xd8\xf3\xe5\x2c\x96\x17\x29\x6c\x5a\xab\x17\x46\x60\x59\x6e\x4f\x13\xc9\xfb\xe0\xd8\xbb\x5e\x44\x3c\xa6\x11\x26\x73\x91\x99\xd9\xea\x89\x0c\x0a\x80\x0e\x0b\x41\xad\x78\x5c\x91\x31\xd1\x8c\x82\xc7\x13\xb6\x0a\x32\xf5\x67\x4d\x67\x50\x07\x41\xe2\x64\x38\x1c\xb2\xd3\x7c\xc2\xfc\x76\xbb\xd3\xf2\x9b\x9d\x76\xdb\xaf\xc3\x71\xf7\x0e\x8f\x2f\x25\xb3\x48\x5c\x1d\x6e\x6d\xad\x56\xab\x56\xb2\x10\x31\x84\x32\x00\x94\x25\x71\x14\xc6\x62\xb1\x1c\x67\x5b\xed\xf6\xde\x41\x7b\xe7\x60\x6f\x77\x4b\x3b\xd8\x69\x4c\xce\xf2\x79\xf4\x6d\x70\x32\x07\x10\x05\x8b\x9a\x86\xd7\x62\xd2\x84\x2f\x74\xeb\x62\x13\x71\x15\x06\x22\x6b\xb0\x17\x3c\x0f\x63\x23\xc3\x40\xd8\x73\x96\x04\xc1\x72\xb1\xd6\x5e\x95\x12\xcc\xa3\x40\x44\xd1\x23\xb6\x48\xb2\x50\xa1\x0f\xed\xc7\x00\x6c\x43\x8a\xcf\xa9\xe0\x19\x0b\x27\x22\xb9\x48\xf9\x62\x16\x06\x6c\xf0\xe7\xe7\x16\x64\x30\xf9\x45\xc0\x52\xf0\xca\x96\x52\xde\x15\x51\x94\xb5\xd8\x49\x9c\x0b\x78\x56\x85\x48\xaa\xf9\x5a\x4b\xba\xe8\x69\xce\xa3\xa6\x7a\x34\x87\x94\x5a\xf8\xd2\x88\xe1\x16\x6a\xb9\x88\x44\xbe\x5e\x08\xdc\x73\x75\x4b\x1c\x53\x8d\x33\xa6\x1f\x4c\xc0\x8b\x01\xee\x05\x5a\x73\xaf\xf3\x60\xf2\x8b\x54\x00\x7d\xb0\x24\x56\xfe\xf3\x1a\x16\x19\x21\xf3\xc9\x15\x87\xd8\x4a\x8f\x95\x96\x3b\x4b\x52\x48\x49\x96\xac\xd8\x1c\xfc\xda\x45\x14\x69\x2c\x65\x2d\xf6\x2a\x61\x22\xcb\xf9\x38\x82\xbc\x91\xf8\xe4\x0a\x6b\x9c\xe5\x3c\x9e\xf0\x74\x92\x61\x9a\x77\xc6\x21\x8a\x46\xe6\xf4\xff\x4e\x49\x47\xd6\x38\xcc\xfa\x3c\xa0\x9c\x3b\x15\xfd\x4a\x10\x15\x88\x68\x91\x4f\x6c\x9a\x2c\xf3\x30\x16\x60\x77\x09\x58\xc5\x58\x3f\x2a\xf0\x96\x5c\x5c\xd8\x01\xf0\xb2\x2e\xd7\x69\x2c\x66\xfc\x2a\x94\x53\xe5\x19\xa6\xf0\xce\x60\x3b\xb1\x74\x19\xe1\x03\xb9\x95\xeb\x0c\x6e\x1c\x8b\x34\xb9\x0a\x27\x26\x46\x80\x9a\xca\x20\x89\x33\xc9\x15\x96\x3a\xbb\xd5\x28\x49\x51\x87\x4e\x64\xc3\x23\x8b\x68\x1a\x4e\x63\x85\x33\x60\x09\x61\x10\xe6\x14\x58\x00\x76\x6b\x66\xcb\xe2\x4d\xc0\x07\x92\xfc\x55\xc8\x01\x0a\x4e\xc9\xa4\x4b\x15\x6c\xc8\xb3\x9c\xf5\xb2\x10\xef\x0b\xa3\x65\x14\x7d\x80\x16\xb5\x51\xbd\xc1\x3e\x48\x51\xbe\xf6\xa1\xde\x60\xcf\x78\x34\xa5\xed\x53\x7b\x56\xc7\x67\xf6\x57\x3c\x4d\x93\x15\xab\xbd\xe2\x75\x2b\x87\x11\xc6\x66\xc3\x4b\x64\x86\xd1\xea\x70\x0a\x29\x79\x93\x30\x3e\x1f\x87\x17\x4b\x49\xe3\x10\x32\x89\x16\x1a\x81\x73\x34\xd2\xc7\xc5\xa2\xa5\x5e\x66\xa2\x05\x28\xb2\xb6\x28\x1d\x1d\x66\xf4\xac\x07\x50\x93\x65\xc6\x6a\xbd\x3a\x04\x83\xa0\x5c\x8c\xf2\x44\x00\xd8\xc1\x2c\x09\x03\x89\x83\x85\x88\x27\x19\x5b\x2c\x21\xb7\x13\xc4\x14\x5b\xa4\x62\x2a\x52\x41\x8e\xcc\x63\x1e\x5c\xae\x78\x3a\x51\xf1\x35\x78\x1e\xd2\xa6\xc4\x6b\x6a\x08\xe6\x68\xb3\x30\xcb\x93\x94\xf6\x78\x92\xb2\x0f\x22\x83\x70\xfc\x0b\x70\xef\x0f\xf0\x2e\x33\x98\x25\x09\xec\x3c\x64\x23\x84\x42\x4a\xcd\x95\x09\x67\x4a\x60\x03\x07\x71\x83\x7e\x5b\x66\x60\x6e\xc3\xb5\xe1\x05\x5f\x2c\xd2\x64\x91\x86\x52\xfe\x8d\x92\xf8\x02\xc3\x2b\x67\x49\xb4\xc4\x17\x51\x0c\xad\x01\x43\x51\xfd\x93\x53\xdd\x24\xcc\x16\x11\x5f\xd3\xee\x77\xbb\xe4\x99\x8a\x9a\x46\x18\x32\x47\x8b\x9a\x9d\x04\x51\x38\x36\x80\xee\x25\xe9\xad\x59\x6d\xbf\x39\x0e\x73\x7d\x2b\xb3\x40\x83\x1b\x3b\xf5\x8d\x76\x4c\x0e\x06\x24\xfd\xf8\x5d\x68\x9c\x48\xba\xb5\x87\x41\x91\xdd\x24\x92\x7e\x4e\x85\xb8\x04\x6f\xa7\xc1\x3a\x0d\xa3\x28\x0c\x1a\x4c\xe4\x41\x0b\x8f\x2b\xf0\xdc\x88\xd7\x2c\x5f\x2f\x34\xc3\x0d\x28\x78\x1c\x77\xfc\xb6\x5f\xca\x1d\x1c\xc1\xc3\x5a\x04\x9e\x55\x88\x2e\xa2\x08\x79\x0e\xda\xeb\xc2\x5e\x25\x79\x61\x63\xd4\x5e\x89\x65\x9e\xf2\x88\x28\xbd\xc5\x86\x92\x63\x49\xa4\x6a\x74\x6b\x37\x97\x49\x18\xc0\x53\x17\xb7\xa0\xf2\x78\x4d\xfe\x1e\xc5\x45\x68\xb1\x13\x75\xaf\x86\x54\xb1\xf9\x4c\xc0\x40\x31\x2d\xba\x14\x9e\x80\x06\xcc\x14\xc1\x63\x0b\xb3\xcb\x27\xe8\x03\x24\xef\xf0\x9a\xd3\xc1\x79\x82\xc9\xf5\xf4\x62\x48\x06\x06\x1c\x0a\xfd\x4d\xb5\x3f\xf5\xf0\x25\x3b\x7d\xd3\x1b\x0c\x25\xf9\xbe\x7f\xfd\xe2\xdd\xcb\x21\x3b\x79\x75\x36\xfc\xf9\x6d\xef\x85\x15\x3f\x45\xce\x69\x4c\x09\x93\xad\x2b\xf4\x44\x1e\x7e\xb9\xdc\x42\xb0\x2b\xb8\xbb\xc0\x17\xd1\x7a\x31\x6b\xb9\x62\x0c\x80\xd0\x7c\xd7\x30\xfb\xb9\x80\x9d\xc8\xb3\x2c\xbc\x88\x0d\x20\x8b\x7f\xe1\x74\x65\xfb\x18\xd7\xc1\xe1\x8f\xc4\x0c\x42\xf0\x4e\x43\xe3\x02\x43\xa3\x46\xf3\xa5\x1d\xd9\x28\xab\x5b\xc6\xf3\x30\x9b\xf2\x20\x4f\xd2\xb5\x0a\x5c\x2e\x97\x01\x5c\x8e\x14\x1d\x49\xf6\x0d\x5e\x4a\xd0\x54\x1d\x63\xa8\x91\xc2\x93\xcc\xb0\x64\x8a\xa7\xb2\x0a\xe4\xa1\xc2\x5b\xac\x87\x3e\x25\xf3\x04\x13\xdd\x2b\xad\x9a\x08\x42\x50\xd8\x20\x82\x5d\x5a\xb3\x09\xcd\x5a\x3f\x35\xb0\xe2\x22\x8c\xd7\xee\x06\x06\xac\x67\x6a\xd1\xd6\x02\xac\x19\x79\x9c\xad\x70\x22\x6b\x75\x4c\xad\x55\x56\x64\x7d\x82\x19\x81\x52\x9d\x34\xf2\x0c\x1b\x43\x24\x51\xcc\xd5\xd3\x62\xa7\x22\xcf\x69\x19\x97\x0b\xe0\x9a\x52\x60\x31\xf3\x57\xdb\x47\x1f\x95\xc9\x94\x44\x8d\x8a\x83\x58\x42\x01\x6b\x0f\x92\x3e\xc0\x92\x2d\x05\x8d\x16\x8f\x79\xb4\xce\x28\x91\x19\x04\x5f\x97\xa2\x16\xaf\x92\x06\x80\x37\x8c\x97\x39\x46\x48\x55\xd5\x08\x41\x5c\x1b\x5f\x37\xe0\x78\xcd\x75\x76\x17\x0e\x97\x1d\xbd\x1d\x1d\xc2\x84\xb8\xa3\x57\x09\x9c\xdc\xca\xa9\x8d\x4d\x79\x5a\x21\xe1\x92\xea\x06\xe4\x52\xfa\x7d\x8b\xc2\xa1\x6e\xe5\xa9\xef\x6f\x29\xf6\x63\x24\x7f\xd6\x6c\xb2\x4e\xbb\xbd\xd7\x6c\xef\x36\x3b\x5d\x56\x53\x33\xda\x6d\xb5\xeb\x54\xfb\x8d\x44\x51\x96\x91\x65\xf9\x32\x13\x0d\x16\x24\x8b\x75\x43\xde\x66\xc2\xe9\xba\x41\x1e\xae\xf2\x8a\x34\x5e\xe6\xc2\xdc\xc8\xa6\xf9\x8a\xa4\x19\x62\x39\xf2\x8c\x5b\x40\x86\xcd\x18\x3d\x82\xc1\x71\x4e\xc0\x41\x2c\x0f\xe4\xf1\x5a\x4a\x1c\x92\x92\x70\xa7\x22\x5a\xe8\xd4\x08\x22\x1e\xce\x51\x18\x5e\xf1\x54\x56\x0b\x05\x59\x70\xa4\xe2\x42\xae\x37\x65\x33\xb4\xfa\x56\x38\x7a\xc1\xc1\x1c\x87\x54\x93\x87\x36\xce\x82\xa8\x15\xf0\x79\x8b\x07\xad\xe5\xe5\xd6\xdf\xe7\x17\x97\x9d\xdd\xad\x65\x60\x2e\x00\x81\x73\x93\x72\xaf\x41\x5a\x5b\xad\xc4\x1d\x74\xd9\x8a\x96\xf3\x98\x18\x05\x26\x69\x3b\x39\x7d\xcd\xfc\x76\x77\xa7\x6b\x08\x45\xb3\x3f\x09\x2b\x53\x77\x23\xd6\x24\x33\x8e\xc8\xe2\x28\xac\xf6\xee\x09\x3e\xb9\x00\x29\x94\x3a\x68\xb7\xa8\xe9\x6b\x90\x03\x06\xed\xad\x81\x0f\x9b\x24\x4d\x22\xe7\x74\x8d\x27\xec\x78\xf8\x82\x62\x63\x09\x8e\xf1\x4d\x1c\xa3\x7e\x09\xae\xe9\x2b\x78\xaf\x92\xb8\x99\x2d\x78\x00\x9b\x33\x9e\xc8\x63\x35\x42\xe9\x21\x48\xe6\x63\x94\x45\x2d\xf8\x35\xf4\x2f\x8e\x98\x3c\x05\x2e\x24\x13\x03\x4a\x7a\xa9\xf2\x12\x24\x29\x7b\xa9\x43\xa8\x15\x77\x75\x5d\x39\x24\x6e\x9c\xdd\xe9\xeb\xd1\x19\x7b\xf6\xdf\x6f\x9e\x0d\x5f\x21\x46\x7a\xc7\x9b\x30\xe2\xbb\x18\x21\xa3\xca\xdb\x87\x3a\x98\x6e\x1c\x1e\xcd\x41\xa2\xe1\x2f\xc3\xb7\xaf\xd9\x87\x93\xe3\xb3\x67\x74\x5a\xd5\xde\x3d\xe9\xb4\xdb\xfd\xdb\xa7\xf0\x8c\xc7\x17\xcb\x88\xfd\x99\xcf\x13\x06\xc9\x1d\x22\x76\x95\xac\x44\x84\x6b\xa3\xac\x60\xe2\x2c\x89\x79\x9c\x67\x12\xae\xef\x77\xdb\x4d\xf9\x63\x34\x52\xe0\x69\x24\x9b\xf1\x44\x2b\x76\xa3\x74\xaa\x24\x69\xb9\x28\x56\xb1\x94\xb7\x95\x58\x3d\x52\x73\xd6\x38\x92\xe2\x99\xbe\x85\x6b\x14\x9d\x89\x60\x16\xc3\x1d\x81\xfc\x16\xff\x9f\xef\x6f\xc0\x04\x01\xec\xa8\xa1\x56\x8a\xcb\x36\xc5\xa6\x02\x1c\x43\x63\xd7\x72\x27\x54\x80\x70\xdf\x0f\x7e\xbb\x34\xad\xa7\x11\xbf\x00\xd1\x35\xe6\xe3\x88\xf8\xc8\x7a\xd3\xc2\xe8\x81\x80\x8e\x49\xcc\x79\x99\xa6\x4d\xa2\x70\xc9\x78\xc0\x3a\x51\x02\x86\x2d\xbd\xbf\xbf\x7b\xd0\xf4\x61\xed\x3e\xfc\xfc\x62\x47\xa1\xcb\x92\x04\xf4\xf9\x50\xda\x8d\x4a\x6e\xdc\x30\x32\xdf\x0d\x01\xee\x0a\xbc\x18\x78\x4f\xbd\xac\xb8\xe8\x52\xa2\x6f\x68\x71\x1d\x7c\x3e\x78\x40\xbc\xf1\x08\xf3\xb7\x6e\x6d\xb1\x0f\x9a\x45\x49\x8e\x63\x20\xb5\xa8\x6a\x2b\x5e\xd2\xed\x0b\x53\x75\xb9\x4d\x4a\x73\xd2\xcd\xe8\x4b\xa1\xe9\x48\xae\x8c\xf2\x22\xa5\x0c\xc9\x10\x56\xf9\x16\x2a\xd0\x60\x2b\x56\xdb\x24\xb5\x74\xc6\x16\xdf\x02\xd3\x8c\xd4\x02\xa6\x86\xdb\x41\x68\xa7\xa8\xc5\x53\x21\x13\xe3\x24\x6e\x26\x57\x22\x8d\xf8\x62\x41\xaf\x63\x22\xbd\xe2\x51\xa6\x3e\x66\xa5\x6d\x27\xa1\xa8\x90\x0b\x20\x1a\x3d\x5a\xc6\x61\x26\x72\xf6\x24\xe0\xf9\xd1\x4b\x41\x3f\x63\xfc\x39\x98\xb2\xa6\xe4\x69\x0c\xf7\xbc\xdc\xf1\x0c\xd8\x0a\x0b\x1e\x19\xc4\x2a\xb6\x7b\xc4\xce\x41\x2f\x7b\xce\xda\xd7\xed\xed\x76\xbb\x01\x3f\xbb\x23\xf6\xb1\x81\x65\x3b\xfb\xdb\x0d\xfc\xd9\xb5\xca\xf6\xa9\xec\x80\x51\xaa\x33\x28\xdf\x3d\xf0\xa1\x7c\xb7\x7f\xac\xeb\xee\xf6\x47\x54\x66\x60\xee\x0e\xa8\xde\xa0\xe3\xb6\x1f\xec\x50\xf9\xae\x55\x77\x8f\xca\xf6\x74\x59\x97\xc6\xd9\x6d\x6f\x3b\xed\xbb\x3e\x95\xfb\xa6\x7d\x77\xa7\x8f\x65\xbb\x43\x53\xb6\x47\xf5\xf6\xda\x6e\xfb\xe3\x2e\x96\x0f\x77\x4c\xdd\xe1\x1e\x95\xed\x5b\x65\x3d\x2a\x3b\x76\xda\xef\xb5\x71\xae\x7b\x6d\x33\xd7\x3d\x1f\xe7\xba\xe7\xfb\xa6\x6c\x1b\xfb\xdf\xdb\xe9\xb9\xed\x7b\xd8\xff\x5e\xbf\x6d\xea\x0e\x71\xfc\x7b\xa3\x6d\x5d\x76\xd0\x46\x98\x07\x6d\x17\x7f\x07\xdb\x83\x06\xfd\x34\x75\x77\xa8\xee\xce\xbe\x55\x76\x4c\x65\xee\xf8\x0f\x76\xa9\xee\xae\x99\xff\x41\xb7\x83\x65\x5d\xab\xff\x7d\xaa\xb7\xef\xbb\xed\xfb\xd4\x7f\xdf\xea\x9f\xd6\xfa\x60\x60\xc1\x1c\x50\xff\x83\x42\xff\x43\xea\x6b\x68\xfa\xea\xd1\x5c\x7b\x30\x57\x2a\xa3\x79\xf6\x60\x9e\xa6\x7d\x8f\xe6\xda\xdb\xb1\xea\xee\xec\x51\xd9\xbe\x55\xd6\xa7\x32\xb7\xff\x1e\xd1\x45\x6f\xcf\xac\x55\x8f\xe6\xda\xdb\xb7\x60\xd2\x3c\x7b\xfd\x42\xff\x34\xd7\x9e\x45\xbf\x3d\xa2\xdf\xde\xc0\xea\x9f\xe6\xdf\x2b\xcc\xbf\x47\xf3\xef\x59\xf3\xef\xd3\xfc\xfb\x6d\x33\xa6\x3e\xcd\xbf\x5f\x98\x7f\x7f\x7b\x44\xe5\x86\xfe\xfa\x84\x93\xfe\x8e\x05\x93\xd6\xbf\x5f\x98\x7f\x7f\x17\xe9\xaf\xbf\x6b\xf6\x7a\x7f\x1f\xc7\xd4\xb7\xe6\xdf\x1f\x20\x9e\xfa\x03\x77\xff\xf4\x69\x5e\xfd\x81\xd9\xff\x83\xed\x21\x94\x0d\x76\x0c\x4d\x0f\x76\xba\x54\xb6\xef\xb4\x1f\xec\xf4\xa8\xdc\x6a\xbf\xbb\x8b\x65\xd6\x98\x06\x84\xff\x41\x01\xff\x03\xe2\x35\x03\x8b\xd7\x0c\x06\xd4\xd7\xc0\x6a\x3f\xa0\xf6\x05\xfc\x0f\x08\xff\x03\x0b\xff\xc7\x84\xbf\xe3\x1d\xbb\xec\x98\xca\xdc\xf6\xc7\x03\x1c\xff\xf1\xa0\x67\xea\x1e\x23\xcc\xe3\xe3\x1d\xab\xac\x4b\x65\x5d\xa7\xfd\x70\x1b\xfb\x1a\x6e\x9b\xb5\x1e\x6e\xef\x50\x99\x81\x39\x24\x9a\x1e\xee\x0c\xdd\xf6\x7d\x6a\xdf\xb7\xda\xf7\xa9\x7d\xff\xc0\x2a\xeb\x53\x99\x8b\xbf\xe1\x00\xf9\xfa\xd0\x5a\xbf\x91\x8f\x65\x23\xdf\xb4\x1f\x6d\xe3\x9a\x8c\xb6\x77\x9d\xf6\xa3\xed\x3d\x2a\xdf\xb3\xea\x1e\x50\x99\xd5\x7e\x0f\xc7\x39\xda\x73\xc7\x3f\xda\x47\xba\x1a\xed\x1b\x5c\x8d\xf6\xbb\x54\x66\xc1\x3c\xa0\x7a\x07\x7b\x6e\xfb\x03\xea\xcb\xe2\x3f\x23\x5a\xff\x91\x59\x7f\xbf\xdd\x81\xf5\xf3\xdb\xdb\x0e\xfd\xfa\xed\xed\x0e\x95\x77\x4c\xdd\xed\x2e\x95\xed\x59\x65\x07\x54\x76\xe0\xb6\xdf\xdd\xc7\xf2\x5d\x3d\x57\x79\x06\x43\x99\x3c\x86\x55\xd9\xf6\x2e\xd0\xa9\xfc\xe9\xb4\xdf\xf3\xb1\xff\x3d\x5f\xcf\xdf\xdf\xa3\x31\xed\x6d\x5b\x65\xbb\x54\xb6\xbb\xed\xb6\xdf\xa3\xf2\xbd\x6d\x53\x17\xd7\xdf\xdf\xeb\xef\x5a\x65\x7b\x54\x76\xec\xb6\x47\x5c\xc9\x9f\xa6\xee\x00\xe7\xba\x77\x6c\xc1\x3c\x3e\xa6\x32\xb7\xfd\x7e\x1b\xe8\xca\xdf\x6f\x6b\xfa\xf1\xf7\x7b\xd8\x7e\xbf\x67\x70\x72\xd0\x41\x9c\x1c\x74\x9c\xf3\xcb\x3f\xe8\xec\x51\xf9\xbe\xa9\x4b\xf3\x3f\xb0\xd6\xe4\x80\xf0\x7f\xb0\xdd\x77\xda\xf7\x7c\x6c\xdf\xf3\x4d\xfb\x3e\xca\x0a\x7e\xbf\x6d\xc6\xdf\xc7\x3d\x25\x7f\x3a\xed\xfb\xb4\xd6\x7d\xb3\xd7\x7c\xe2\xb5\x7e\xdf\x9c\xa9\x7e\x7f\x07\xc7\xd4\xdf\x71\xc7\xdf\xef\xe2\xfc\xfb\x16\xfe\x8f\x91\x57\xfa\x16\x4f\xf0\x8f\x47\x43\x2c\x1b\x39\xeb\x2f\x85\xb4\x06\xfe\xd4\xb4\xd2\x69\x77\x7a\x58\xd6\x19\x9a\x32\xa4\xa9\x4e\xbb\xbb\xed\xb6\xef\x52\xdd\xae\xd5\xfe\x98\xea\x0e\x75\xd9\x36\xc1\xdc\x6e\x77\x9c\xfe\xb7\xdb\xb8\x7f\xb6\xdb\x07\x7a\xac\xbd\xfd\x36\xe0\x44\xfe\xb4\xca\xfa\x54\xe6\xe0\xbf\xb7\xdf\xd9\xc5\xf2\x8e\xae\x3b\xea\xfb\x30\x57\xf9\x53\x97\x0d\x71\x4d\x46\xc3\xb6\xd3\xff\x68\xd8\xa1\xf2\xce\xb6\xa9\x3b\x1a\x35\xe8\xa7\x2e\x1b\x8d\x60\x9c\xa3\xd1\xc8\x5d\x7f\x25\x2c\xc8\x5f\xcc\x0a\xb4\x7b\xed\x5d\x55\xda\xb5\x4b\x07\xaa\x74\x54\x80\xb2\x4d\xdb\xb8\x67\xd1\x41\xbb\x87\x87\x2b\xfc\x62\x56\xd2\xef\x22\xc9\x1d\xfb\x5d\x97\x17\x1c\xfb\x7b\xdb\xf4\xc5\x9c\x9c\xf2\x8f\x5d\x55\xda\xb7\x4a\x7b\x3d\x2a\xed\xb9\x3b\xea\xb8\x43\xa4\x76\xdc\xd9\xd1\xfb\x7f\xd8\x6e\xe3\x3c\xe1\x17\xab\x14\xd1\x37\x6c\xb7\xf7\x9c\x19\x0d\xdb\x7e\x9b\xbe\xf8\x92\x0a\x1e\x7c\xbc\xff\xcd\xe4\x96\xbb\xd5\xe6\x2b\x0a\xe8\x37\x9a\x3d\xd6\xa4\xbb\x4a\x93\xee\x2a\x4d\xba\xab\x98\x4b\x09\xb7\x6e\x63\xd6\xa5\xa4\xdd\xc3\xc3\xa2\xdd\x33\x87\x5a\xbb\xb7\x43\x65\x3b\x56\xd9\x1e\x95\xb9\x42\x45\x1b\x71\x2b\x7f\x5a\x75\x87\x54\x66\x2e\x05\xed\x3e\x1e\x2a\xed\xfe\x8e\xdb\xbe\xdf\xa5\x72\xab\x3d\x09\x20\x6d\x4b\xd0\x68\xd3\x41\xd3\x1e\xb8\x87\x3a\x6d\x40\xf9\xd3\xd4\x3d\xa6\xb1\x1e\xef\x5b\x65\x34\xa6\xa1\x2b\x54\xb7\x87\x04\x77\x68\x04\x98\xf6\x70\x9f\xca\xac\x31\x0d\x69\x4c\x85\x4b\x49\x7b\x44\xfd\x8f\xac\xfe\x47\x1d\x2a\xdb\xb6\xca\x68\x4c\xa3\x5e\xa1\x3d\xc1\x1d\x0d\xac\xba\x34\xd6\x91\xc1\x9f\x4f\x82\xaa\xdf\x76\xc7\xef\xd3\x05\xc8\xb7\x2e\x40\xbe\xbf\x4d\x65\xdb\x56\x59\x9f\xca\xfa\x6e\xfb\x0e\xce\xdf\xef\x18\x01\xc0\xef\x50\xdd\x4e\xdf\x94\x91\xf0\xe4\x6f\xbb\x97\x42\x1f\x77\xb3\xfc\x69\xd5\x45\x41\xd1\xb7\x2e\x0a\xfe\xce\x0e\x95\xb9\xeb\xef\xef\x50\xfb\x1d\xab\x2f\x12\x00\x7d\x4b\x50\xf5\xf1\x50\x6e\xfb\xbb\x85\xfe\xbb\x34\xfe\xae\x35\xfe\x2e\x8d\xbf\x6b\xc1\x1c\x20\x4e\xfd\x81\x2b\x14\xf9\x44\x3f\xbe\x45\x3f\x3e\x09\x95\xfe\xb1\x35\xfe\x63\x1a\xff\x71\x61\xfc\x24\x6c\xfa\xc7\x5d\xab\x2e\xcd\xc9\xa2\x3f\xff\xb8\x47\x65\xbd\x42\xfb\x01\x95\x9b\xf5\xef\xd0\x45\xb1\xb3\x6b\xd6\xb4\xd3\xa5\xb2\xae\xbb\xfe\x1d\xba\xd4\x77\xac\x0b\x60\x87\x2e\x45\x1d\xeb\x52\xdf\x41\x41\xa3\xdd\x19\xf4\x0b\xed\x8f\xa9\xdc\xe0\xba\x43\x38\xe9\x58\x38\xe9\xd0\x9c\x3a\xc7\x85\xf6\xc7\xd4\xfe\xd8\x6e\x3f\xa2\x32\xb3\x7f\xb7\x49\x79\xb1\xdd\x73\xc7\xbf\xdd\xdb\xa6\x72\x23\xc0\x6e\x93\xa0\xbd\x3d\x30\xf3\xdf\x1e\x50\xbd\x81\xab\x14\xd9\xa1\x7d\xb1\x63\x5d\xe0\x76\x48\x51\xb1\xb3\x63\x29\x5a\x08\xa7\x3b\xbb\xbe\x7b\xa8\xfb\x74\x80\xfb\x6d\x73\xa8\xe3\xfe\xe9\xb4\xfd\xae\x55\xb6\x4f\x65\x07\x85\xf6\x03\x2a\x3f\xb6\x84\x0a\x82\xd9\xe9\x58\x65\x3b\x54\xb6\xe7\xb6\xdf\xa6\xba\xdb\x56\xff\x28\x94\x75\xda\xdb\xdb\x56\xd9\x2e\x95\xed\x16\xda\x93\x50\xb3\xdd\xb7\xea\x0e\xa9\xcc\x12\x6a\xf6\xa8\xff\xbd\x1d\xb7\xfd\xde\x88\xca\x2d\xa1\x06\x2f\xe5\x9d\xb6\xb9\x28\x74\xda\x3d\x9a\x67\xcf\xb9\xd4\x74\xfc\x36\xe2\xca\x37\x22\x41\xc7\x47\x89\x40\xfe\xb4\xca\x0e\xa8\xcc\xc5\x1f\xf1\xaa\x8e\xc5\xab\x3a\xbe\xdf\xa5\x32\x83\x7f\xbf\x83\x63\xf2\x5d\xa1\xb6\x43\xfc\x4b\xfe\xb4\xea\xf6\xa9\xcc\xe0\xc4\xdf\xa5\x7e\x76\xdd\xf9\xfb\xbb\x54\xd7\x28\xb0\x3a\x74\xa9\xe8\x58\xfc\xa3\xe3\xef\x51\xd9\x5e\x61\xfc\x07\x54\x7e\x70\x60\xea\xf6\x91\x56\xfc\xbe\x55\x86\x3c\xa5\x83\x3c\xc5\x6a\x8f\x7c\xa5\xe3\x9b\x0b\x6c\xc7\x47\xa5\x98\xfc\xa9\xcb\x3a\x28\x63\xc8\x9f\x4e\xfb\x4e\xbb\x43\xe5\xdb\x56\xdd\x3d\x2a\xdb\xb7\xca\xfa\x54\xd6\x2f\xb4\x1f\x51\xb9\x59\xff\x0e\x9e\x29\xf2\xa7\x55\xb6\x4b\x65\x2e\xfd\x75\xfc\x1e\x95\xf7\xac\xba\xc7\x58\xd6\x31\x34\xdd\xe9\x6c\x53\x99\x2b\x54\x77\x3a\x04\xb7\xb3\x6b\xd5\xa5\xf1\x77\x06\x56\xd9\x90\xca\x86\x6e\x7b\xbc\x6c\x74\x3a\xdb\x16\xae\xf0\x52\xd1\xe9\x6c\x9b\x3d\xd9\xc1\x73\x46\xfe\x74\xdb\xef\x50\xdd\x1d\xab\xaf\x5d\xc2\xe9\xae\xd9\xbf\x1d\xa2\x89\x02\xff\xed\x74\xba\xd4\x7f\xd7\xea\x9f\x2e\x0a\x1d\x8b\x7e\x3a\x5d\x1a\x7f\xd7\xbd\x94\x74\xf6\xa9\xaf\x7d\x6b\xfd\xf0\x52\xde\xe9\xec\x5b\x30\x0f\x08\x4f\x07\x05\xfc\xe3\xa5\x42\xfe\x34\x75\x7b\x54\xb7\x67\xe1\xb4\x4f\xeb\xdc\x77\xfb\xdf\xc6\x4b\xb1\xfc\xa9\xeb\xee\xd0\x5c\x77\x86\x06\xe6\x0e\x2a\x4a\x3b\xbb\x3b\x2e\xfd\xec\xee\x62\xdd\x5d\x73\x29\xeb\xec\xee\x53\xd9\xbe\xa1\xa9\xdd\x03\xec\x67\xb7\x30\xfe\xdd\x1e\xd5\x35\xf2\x67\x67\x17\xcf\x84\xce\xae\x39\x13\x3a\xbb\x7d\x6a\xdf\x77\xe9\x67\x17\xe5\xc7\xce\x6e\x7f\xcf\xaa\x3b\xa0\x32\xb3\xfe\xbb\x03\xea\x67\xe0\xae\xdf\xee\x80\xda\x1b\x05\x62\x67\x77\x40\x73\x1d\xf4\xad\x32\x5c\xbf\xdd\xe3\x42\xfb\x21\x8d\x6b\x68\x70\xbd\x3b\x1c\x51\x99\x99\x7f\x97\x78\x62\xb7\xed\xc8\xaf\x9d\x2e\xf1\xc5\x6e\xfb\xc0\xaa\x3b\xa4\x32\xab\xbd\x8f\x74\xd6\x2d\xec\xbf\x2e\x9d\x3f\x5d\x7f\x60\xd5\xa5\xf6\xe6\x52\xd8\xe9\xee\xe0\xfc\xbb\x3b\x2e\xff\xe8\xe2\x0d\x48\xfe\x34\x75\x69\xfd\xbb\x5d\xdf\x2a\xdb\xa6\xb2\x42\xff\x78\x43\xeb\x74\xbb\x3d\xab\x2e\x8d\xa9\x7b\x6c\x95\x8d\xa8\xcc\xa5\xbf\xbd\x6d\xe4\x15\x7b\xd6\x5e\xdd\xdb\xc3\x35\xd9\x33\x67\x92\xbc\x8b\x35\xc0\x4b\xd8\xbd\xd4\x8f\x46\x23\x68\x2f\x7f\xea\x0b\x6c\x5b\x55\xb6\x4b\xc1\xd1\x03\x95\x05\x6d\x2c\xc7\x8b\x1a\x1a\x0c\xf4\xc3\x98\xa7\x6b\x96\x09\x9e\x06\x33\x34\x83\x22\xf7\xd5\x7c\x86\xd9\xe6\x63\xe3\x71\xa3\x5f\xfc\xc1\x2f\x2e\x5b\xf0\x40\xd8\x8f\x56\xa5\x28\x46\xe2\x42\xa4\x5f\xd8\x32\xc8\x58\xaf\x02\x88\x6d\x06\xad\x7d\x98\x74\x68\xae\xb3\x74\x29\xdc\x61\xdc\xdc\xfd\x53\x7c\x6a\xd3\x61\xb2\xf2\x99\x48\x57\x61\x66\xa5\xff\x5c\x05\xad\x30\x3b\x85\x56\xb6\x83\x5a\x90\xe9\x10\x15\xbd\xe5\x75\x18\x85\x12\x1f\x8e\x9f\xdf\xd8\xc1\x51\x18\xeb\x2b\x2c\x83\xb7\x56\x95\x52\x72\x1e\xc6\xec\x88\xb5\x1b\x6c\xce\xaf\xd9\x11\x2b\xbe\x89\xa9\xb8\x80\x4d\x74\x06\xc1\x16\x13\x1d\x31\x54\x62\xe9\x4f\xa5\x46\xe7\xed\x8f\xe7\xed\x8f\xec\xf3\x67\xc0\xe2\x8f\xe5\xef\x73\x7e\xfd\xf1\xdc\xff\x58\x15\x4f\x54\xfb\x63\xc8\xf1\xfc\x78\x24\xc7\xa7\x9c\x31\xe6\xe1\x84\x1d\xb1\x97\x3c\x9f\xb5\xa6\x51\x92\xa4\xb5\x9a\x1c\xfc\x13\x39\xf2\x3a\xdb\x62\x1d\xcb\x51\x6a\x53\xbf\xe1\x04\xfa\xd5\xde\x1d\x38\x7b\x09\xf8\x49\x85\xb7\xcb\x86\xd9\x01\x94\xb6\x0d\x05\x50\x27\xa1\x34\x0b\x50\x0a\x81\x08\x4d\x56\x3f\x1d\x7e\xd0\x9d\xbd\x1d\x19\xaf\x7a\x59\x81\xd2\x41\x23\x71\x07\x62\x1f\x72\x4c\x57\x7c\xc3\x9b\xed\x3f\x96\xfc\xab\x34\x27\x60\x80\x6b\x0f\xc8\x22\xfc\xe2\xbb\x74\x89\xfe\x37\x93\xb0\xd6\xa0\xdc\x87\x84\x75\xa3\x0d\x24\x6c\xbe\xff\x63\x49\xd8\xea\xf7\x1b\x48\xb8\x00\xe5\x0f\x27\xe1\x63\x95\x41\xaf\xd2\x84\xab\x82\x48\xbe\x0f\x39\xea\x56\x67\x77\xef\x55\xd3\x9c\x2c\x55\x46\x0b\x65\x72\x93\x28\xdd\x68\x38\xa1\xb0\x49\xe3\x28\x02\x7c\x0b\x0d\x74\x6d\x00\x5a\x8a\x6b\xbd\xa1\xed\x71\x98\xa5\x9b\x9a\x7f\x13\xc6\xb5\xc1\xa0\x32\x1c\x91\xac\xe5\x56\xb6\x51\x4a\x95\xf5\xcf\x5c\xa8\x32\x6e\x36\x9d\x94\x10\xd5\x5f\x32\x51\x34\x68\x2f\xdb\x0f\xb5\x2c\x9e\x70\x04\xc1\x33\x2a\x16\x45\xd9\xef\x3c\x75\x18\xc8\x36\x04\x11\xc7\x5d\x0b\x8e\x98\x53\xf6\xc3\x0f\x0c\xbf\xb5\xaf\x79\xbb\x5e\x05\xca\xb6\xe9\x51\x41\x66\x5f\x2f\xf2\x70\x1e\xfe\x8e\x19\xd7\x7b\xa7\x83\x93\x93\x0d\x03\xfc\x13\xf4\xe2\x80\xf5\x15\x90\x7e\xf1\xf0\x47\xfb\xaa\x8d\x56\x35\x2d\x97\xb6\x49\xe2\x00\xe4\x39\x1d\xb4\x55\x07\x98\xdd\x95\xa7\x69\x78\x25\x28\xc1\xab\x1c\x13\x99\xf3\x72\xcb\x96\x31\xd9\x68\x3c\xd9\x32\xbc\xc3\xa7\x40\x99\x06\x7f\xbe\xdf\x6e\xb3\x1f\x7e\x40\xe6\x83\xf3\xc5\xe2\xdd\xa9\x44\xb4\xfd\x6f\x6b\xcb\xb1\x01\x0c\xe3\x30\x6f\x59\x16\x7f\xc4\xbf\x70\x4d\xe1\xf2\xd4\x39\x50\x8c\x5d\x15\x70\xf6\xf9\x33\xd5\x33\x43\xe8\x88\xfd\xb6\x5e\x44\x59\xc0\x77\x82\xa9\x1e\x13\x42\x7c\x78\x04\x6f\x44\xdb\xd3\xba\x3b\xaa\xad\x2d\x70\xd3\x68\xb5\x5a\xec\xbf\xc3\x12\x64\x1e\xb4\x5d\xc8\x93\x3d\xbe\x8d\x10\xcc\x64\x4e\xd7\x51\x24\x57\x2d\x2b\x35\x9f\x1e\x14\x9a\x4f\xf9\x74\xaa\x9b\xcb\x7e\x07\x8e\x43\xcb\x89\xf2\x55\xab\x00\x25\xfc\x02\x28\xe1\x1f\x68\x50\xef\x45\x0a\xd9\x63\xc0\xd8\xb3\xaa\xf1\x76\xb1\x71\xf7\xa6\x71\x8c\xaa\xa1\x4c\x8b\xb3\x99\x76\xdb\x1a\xca\x68\x19\x45\xc8\x13\x36\xb5\x16\xc5\xd6\xa2\x5b\xaf\x5c\x4e\xf0\x1d\xb7\xab\x76\xa6\xd3\xe9\xa4\xb2\xee\x76\xa9\xee\x36\xd4\x45\xcf\x5d\x0a\x98\x77\xc8\xc4\x3c\xf9\x2d\xb4\x8d\x05\x97\xd9\x12\x3c\x37\x94\xb9\x3b\x8a\xfb\x10\x76\x23\x9c\xb8\x5e\x39\x91\xe4\xbb\x17\x33\x04\x67\xc9\x45\x38\xd9\x6c\x21\x02\x96\xf1\x35\xec\xa7\x99\x14\xc4\xd9\x29\xfa\x07\xc8\x6d\x37\x99\x40\x85\x10\x6c\x6d\x33\x9d\x60\x4c\xcc\x7f\xfa\xb6\xc3\xa0\x78\x08\x18\xd7\x98\x7f\xf5\x43\xe0\xed\x1d\x4e\x00\x87\xc1\xd9\x07\x77\x99\xcf\x6d\xb2\x64\xb4\xd3\x11\xdc\xf9\x8c\xfe\x8a\x25\x31\x61\x4a\xaa\x62\x8c\x66\x79\xaa\x63\xdc\x7e\x2d\x3e\x8b\x81\x50\x56\x41\x2b\xcb\xcb\x92\x8f\x13\x04\x83\x1c\xb7\xd2\x2b\xb2\x3f\xbd\x35\x14\x86\x13\x88\xce\x0a\x05\x05\xa1\x0d\xd4\xdf\x56\x7c\x83\x15\x75\x5f\x44\x6d\x29\xd6\x91\x5c\x4a\xac\xfc\x27\x75\x48\xeb\x75\x69\x92\xfc\x9a\x5e\xb1\x27\x47\x08\x92\x1a\xc9\xbf\x6b\x85\x18\x51\xd3\xa9\x64\x9d\x3f\x31\x9f\x1d\x62\x1c\x02\x5b\xa4\x4d\xaf\x9c\xd5\xfb\x59\x50\xbe\xe6\xe5\x98\x22\x8f\x50\x0a\x41\x22\x51\x44\x76\x32\x9d\x66\x22\x2f\x50\xaf\xb5\x0e\x37\xad\xaa\x1b\x2e\xe5\x42\xe4\x56\x5f\xd3\x34\x99\xb7\x2a\xf7\x1b\x06\xe2\xa7\x80\xcb\xe8\x89\xee\x8e\xa5\x08\xab\x1a\x4c\xb2\xc8\x3f\x21\x52\x37\x91\x8e\x03\xe0\x41\x55\xe8\xe5\xb3\x62\x2d\x43\x5d\x50\x5a\xa0\x2d\x4a\x22\xd0\x30\x7d\x5b\xc9\xe8\xe4\x17\x88\x78\xdc\x60\x22\x9e\xd0\x6f\x2b\xbd\x0d\x81\xf6\x4c\x25\xbc\x02\xae\xb4\x79\xb4\xd5\xbe\x10\x9f\xc5\x7c\x30\x81\x5a\xb0\xdd\x93\x0a\xd2\x2b\x04\x3a\x31\x8d\xeb\x25\x5a\xfc\x11\x41\x2b\x7a\x1c\xa7\x82\x5f\x3a\xb9\x67\x0c\x86\x1f\x1e\xb1\x65\x4c\x76\xff\x4e\x52\x64\x35\x53\x4c\x92\xa3\x11\x60\xe6\xf5\x40\xcb\x18\xba\xaa\x3d\x3d\x79\x68\xd1\xce\x38\x32\x58\xb5\x5a\xdd\x79\xa6\x0a\x7c\xbd\x6e\xf0\xff\xe4\x49\xc5\xa4\xcd\xda\x3d\x70\x07\xa6\x42\x66\xa8\x64\xd4\x79\xda\xd2\xb4\x51\xab\x5a\xde\x7a\x71\x03\x9a\x26\x36\xe2\x4b\x9b\x72\xc3\x86\xc4\x7d\x81\x4e\x36\x13\x77\x4b\xfc\xe3\x37\x61\x75\x2b\x39\xb0\x33\x08\x83\x3a\xa9\x6c\xf1\x55\x9b\xac\x90\xc5\xd2\xde\x67\x22\x9e\x38\x81\xad\x9c\x76\xc5\x9a\xac\x49\x04\x0d\x08\x97\x55\x53\x81\x21\x41\x5a\x7c\x32\xa9\x79\x14\x98\x24\x98\xf1\xf8\x42\x44\xc9\xc5\x16\xb9\x82\x79\x0d\xe6\xe5\xe2\x3a\xdf\x5a\x44\x3c\x8c\xbd\xc6\x03\xcf\x6f\xf9\x5d\x8f\x3d\x79\xe0\x79\x0f\xea\x94\x99\xf3\x16\x50\x13\x9e\x8b\x32\x9c\x4e\xdb\xdf\x6b\xb6\xf7\x9b\x0e\xb4\x62\xbc\x94\x99\x3c\x63\xb7\x7e\xcb\xb6\xe0\x97\xff\xed\xd1\x99\x01\x57\xf9\x44\x2c\x00\x49\xad\xd3\x3c\x49\xf9\x85\x80\xa4\xf7\xb4\x03\xfe\x43\x36\x94\xfd\x5f\x85\x62\xc5\x8e\x45\x10\xf1\x94\xdc\xe6\x10\x03\x8f\x21\x6d\x01\xca\xa2\x18\x3a\x7f\x2e\xd8\x98\x67\x61\xc0\xb2\x19\x4f\xc5\x84\x2d\x21\xdb\x4d\xa8\x72\x00\xf0\x1c\xbd\x84\x92\x84\x65\x73\x70\xf3\x4f\xd8\x04\x31\xc1\x26\x02\xb3\x12\x4e\x60\xbc\x94\xcb\x56\xf2\x6b\xe8\x4b\x3b\xc2\x18\xcf\x3e\xc8\xc2\x01\xde\xd7\xf1\x24\x59\xb1\x59\x82\x2e\xd5\x38\xb4\x42\xf8\x12\x79\x58\xf1\x8c\x2d\xe4\x56\x4a\xa6\x54\x47\x5e\xe8\x6a\xf5\x16\xb3\x12\x15\xc9\xda\xf1\x15\x8f\xc2\x09\x5b\xc6\x79\x08\x4e\xc3\x10\xf3\x80\x47\xe1\xef\x3a\x82\x0a\x66\xa6\xc5\x11\x22\x28\x1c\xc3\x99\x1c\x91\x4e\xf7\xa8\xa2\xdd\xf3\x14\xee\xab\x56\xac\x76\xf2\x6c\x37\xa9\x2f\x28\x62\x01\x84\xd0\x53\x21\xad\x7f\x4f\x92\xb9\xed\x1b\x45\x33\xfa\xef\x64\x09\xeb\xad\x22\x63\x43\x86\x8c\x7c\xa6\xd3\xab\xb3\x28\x09\xe4\x60\x85\xce\x84\x6e\x8f\x53\x02\xa5\x01\x99\xac\x9a\xde\x5f\x5e\xbf\x7e\x29\x4f\x0e\xbf\xdd\xfe\x77\x2b\x6a\x4e\x3f\x0d\xc5\x94\xa1\xb5\xda\x5a\x8f\x5f\xbb\xe5\xe3\x70\xe5\x3e\x92\xc3\x0c\x92\x05\x85\xaf\x00\x09\x34\x0a\x17\xe3\x84\xa7\x7a\xd8\xfd\x35\x9b\x88\x29\x5f\x46\x90\xd8\x87\x3c\xe8\x95\x24\xdf\x7f\xd1\x1b\x3c\x67\xa7\x83\x93\xd3\xd3\xd7\x6f\x4f\x2d\xff\x5c\x70\xce\x5d\xe3\x8c\xc9\x7b\xf9\x1e\x93\xb6\x09\x00\x1c\x81\x8b\x43\x9f\x09\xe6\x21\x7a\x9b\x7a\xc0\xcd\x38\xc9\xc3\x40\x78\x56\x54\x07\x20\x02\x67\x21\x14\x3a\x65\xdd\xe9\x5a\xb2\x00\x0b\x9b\xbf\x2c\x3b\x7b\xed\x8e\xc4\xa3\xa6\x56\x89\xa3\x6c\x26\x07\x1a\xc6\x8c\x4b\x92\xbf\xcc\x93\x05\x83\xe6\x14\x8d\x45\xfb\x3f\x2b\x6a\x00\xdf\x64\x11\x45\x2d\xc6\x7e\x59\x76\x3a\x5d\x0c\xa6\xa8\x71\x36\x3c\xf9\xf9\xd9\xd9\x33\xf6\xea\xf5\xd9\xb0\xc1\xfe\xbd\x96\x87\x79\x24\xea\x85\xc4\x97\x12\x57\x3a\x80\x88\xa6\x32\xa8\x6a\xcf\x82\x86\xf3\xca\x1a\xcd\x99\xac\x43\x93\xe9\x76\x7b\xa6\x03\xfc\xdb\x22\x92\x17\x64\xd8\x08\xe1\x1d\x69\xaf\x82\xfb\x2e\x24\x34\xd7\x77\xb9\x1e\x16\xce\x78\x1a\x8b\x4c\xfb\xa4\x53\x22\x67\x95\x32\x7b\x0d\x6e\x7b\x18\xce\x85\xb2\x7b\xa6\xcb\x38\xd6\x87\x11\x0e\x57\x02\x3a\x16\x0b\xb0\x60\xf4\xb0\xe8\x34\x48\x93\x28\x7a\x93\xa4\x98\x3e\x2f\x93\x0c\x5e\x7f\x11\x22\x56\xa5\x0f\x58\xe9\x1f\xd5\x3b\x23\xec\x14\xdb\xbf\x3f\xbb\xbd\xed\xfb\xb3\xd6\x80\xc7\xb1\x98\x60\xcd\x8f\x2e\x9b\x42\x94\x48\x26\xa2\x4f\xce\x06\x4b\xc5\x45\x98\x41\x3a\x5c\x24\x64\x3c\xb8\xb0\xec\x04\xd9\x52\x81\x80\x29\x7f\xc9\x64\x09\xa7\xb0\xac\x1f\x3a\xf5\x94\x04\xa0\xfa\xf8\xc2\x92\x58\x42\x42\x27\x68\xf5\xd2\x63\xda\xb1\x15\x78\xad\x2e\x21\xda\x43\x18\x5f\x25\x97\x02\x76\x85\x7a\x32\x2c\x70\x3d\xd8\xe1\x26\xd9\xe7\xd6\x83\xd2\x88\x11\x19\x5e\xc3\xca\x26\x01\x03\x40\xb1\x40\x8f\x20\x89\x3f\x00\xaf\xac\x21\xcb\x54\x32\x6a\x05\x1b\xc5\x3f\x5a\x92\xcd\xa3\xb8\x67\x25\xe8\x44\xd0\x0d\xd6\x36\x92\x9d\xd5\xc3\x19\x1f\xd7\x72\x3e\x76\x92\xa5\xf1\x31\x4a\xb0\x00\x33\x90\xa7\xb3\xb0\x62\x1b\xc2\xdf\xd4\x3d\x64\xde\x91\x0d\xe8\xef\x93\x49\x03\x58\x7a\x43\x8f\xbd\x3a\x29\x98\x4a\x77\x90\x5e\x84\xf1\x84\xd7\x0f\xf5\xd2\x41\x68\x27\xb6\x02\x61\x8c\x2d\x17\xe8\x5f\xcf\xae\x7c\xc6\x17\x0b\x2f\x83\x80\x31\x17\x29\x1c\xdc\x0b\xe4\x5c\x0a\xdc\x4b\xbe\x1e\x0b\xe6\x20\xc5\x8b\x93\x58\x78\x14\xf2\x63\x4c\x09\x63\xad\xf8\x2e\x90\x62\x57\x87\x2b\x50\xb0\x2a\xb0\xeb\xc5\x10\x7f\x42\xc7\x90\xdd\x88\xdc\x42\x4a\xb3\x87\x8a\x67\x00\x33\x27\xa9\xc1\xc6\xb4\x83\x62\x08\x07\x89\xc8\xcd\xb0\x6a\xb9\xa4\x95\xad\xe3\xc0\xac\x45\x15\x7c\xca\x10\x6e\xc9\x29\x2d\x10\xb0\x44\xad\x0a\x54\xe5\xea\xdc\x11\xec\x0b\x79\x90\xd4\x8a\x13\xa7\x64\x08\xd4\x59\xce\xc7\x99\x4a\x58\x11\x27\x92\xd3\x2d\x28\x8a\x5c\x18\x33\x0a\xee\x06\x69\xb8\x33\x8a\xb6\x20\x72\x11\xe4\xf8\xb6\x8a\xc0\xd6\xc9\xd2\x83\xa0\x15\x76\x6d\xe4\xef\x51\x98\x4b\xd6\xcb\x57\x10\x44\x48\xbd\xa6\x87\xd9\x1b\xaa\xd9\x5b\x2c\x8c\x23\xed\xcd\x18\x4f\xa5\x08\x53\x55\x22\x09\xfc\x25\x8f\xc3\xa9\xc8\x72\x5b\x95\x32\xa7\x32\x76\x74\x43\x03\x85\x9c\xe2\x90\x54\xe3\x96\x9c\xca\x0f\x3f\x38\x7f\xb7\x0c\x8d\x3b\xf7\x56\x07\x86\x15\xdb\xf4\x8d\x8d\x44\x10\x19\x21\xba\x8d\x75\x80\x87\x46\x50\x92\xcb\xd1\x2a\x33\x08\xdc\xaa\x98\xba\x17\xb7\xef\xdf\x24\x2b\x39\x64\xde\x22\x59\x2c\x17\xde\x97\xba\x66\x1f\x36\xa5\xdc\x84\x50\xd9\x93\x93\xc5\x50\x12\xc5\x85\xc8\x07\x94\xac\x03\xf3\x4a\xc9\x12\x94\x6f\x24\xd3\x81\xb3\x2d\xcc\xd8\x23\xca\xe8\x11\xad\xd5\x99\xf6\x08\x13\xc2\x41\x60\x17\x05\x30\x4f\x16\xf3\x44\x1e\xa8\x29\x9b\x26\x01\x66\x50\xe3\xe3\x96\xcb\xa6\x60\xc2\xa6\xdb\x1a\x30\xbc\x6a\xaa\xbf\x23\x46\x88\x17\x18\x94\x28\xda\xff\x52\x2f\x25\x12\x9b\x88\x20\x9c\xf3\x88\xfd\x4d\xa9\xed\x66\x02\xae\x3f\x5f\x88\xaf\xe1\x15\x79\x92\xcc\x31\x6a\xa2\x75\x70\xcb\x21\x47\xa1\x88\xf3\xd3\xf0\x77\xc7\xea\x64\x92\xcc\x9d\xcb\xe3\x24\x81\xca\x10\xa4\x3d\x8c\x2f\xb0\xd1\x5b\x11\x00\xed\x95\x53\x9b\xa9\x11\x59\x01\x93\xee\x32\x8a\x92\x4e\xf2\x1e\xc3\x68\x91\xf6\x63\xf3\x60\x08\x2b\x77\x1e\xcd\x33\xac\xff\x95\xc3\xc1\xde\xdc\x44\xc1\xc9\x62\x5d\x48\x25\x13\x09\x9d\x72\x14\xb4\x6e\xeb\x2c\x17\xf3\xb2\xac\xae\x44\x89\x67\x67\x2f\x5f\x1c\x27\x01\x24\x7f\xa2\x58\xd8\xf4\x97\x49\xc5\xe3\x00\x0d\x92\xc5\xda\x9e\x9c\xfc\xfb\x54\x55\x38\x4b\x06\xaa\x23\x77\x96\x08\xb2\x98\xe0\x4c\x95\xb7\xc4\xb5\x08\x06\xc9\x7c\xce\xe3\x49\xcd\x93\x10\x3d\x37\xd7\xd9\x34\x4c\xc5\x34\xb9\x1e\xaa\x04\x4f\x16\x1b\x39\xb9\x88\x31\x9f\x7a\x98\xb5\xd8\x68\x54\x95\xb5\x8e\xac\x4a\xe4\xf9\xcc\xf1\x4b\x9a\x26\x29\x05\x11\xd3\x2f\x29\xb8\x37\xe5\x74\xf5\xf3\xc9\x6f\x98\xe9\xde\x58\x28\xb4\x8a\x6f\xe6\x6f\x78\x96\x8b\x4a\x44\x63\x80\x0c\xc8\x52\x83\x91\x22\x10\x9f\xb0\xe3\xd5\x22\xbc\x4a\x72\x71\xc8\x4e\x62\xd4\x24\x88\xad\x11\x4e\x53\x72\xc4\x2d\x71\x9d\x8b\x18\x42\xfc\x88\xf8\x2a\x4c\x93\x18\xd2\x73\x41\xb6\x77\x2f\x8a\x30\xc6\x37\xc5\x8b\x7a\xa4\x3b\x7d\x2b\xf8\xe4\x11\x5b\xe8\xf0\x40\x2d\x26\xa1\x63\x72\x54\x17\x0c\xe6\xc8\x03\x72\xe4\xd1\x8a\xaf\xe1\xf2\x0e\xa9\xc2\x28\x50\x9c\xe2\xbc\x53\x48\xcc\x0e\x3c\x6d\x1c\x25\xc1\x65\xc6\x78\x10\x48\xf1\x5e\x52\x7d\x26\x82\x65\x1a\xe6\x6b\x96\x0a\x9e\x59\xd1\xd4\xee\x40\x5d\x79\xc2\x16\x80\x3c\x89\xa7\xd6\xed\x26\x41\x58\x39\x5b\x06\x81\x10\x13\xf7\x86\x06\x9f\x46\x69\x32\xbf\x17\xf1\xe9\x1d\x57\x45\x83\x00\xf2\x2b\x89\x50\x52\xe1\x4e\x1b\xa4\x82\x24\x9a\x88\x94\x04\xb9\x30\x0e\x92\x34\x15\x90\x55\x9a\xf2\x97\xb9\x34\x6a\xd1\x60\x81\x54\x21\x1e\x9b\xe0\x13\x79\x07\xc3\x61\x83\x3a\x51\x51\x64\xd9\x86\xc8\xa1\xd1\x41\x2a\x30\xd8\x9c\x94\x83\xec\xeb\x68\x71\xb5\x5e\x43\x46\xda\x2f\x0c\xfe\xcc\xd8\x7b\x9e\x86\xc9\x32\xc3\x3f\x05\x3c\x3c\xaa\xfb\x6b\x11\x4a\x49\x15\x8a\x20\x5a\x70\xa1\x44\x45\x0e\xfc\x56\x23\xd9\x2c\x53\xec\x09\x4f\x61\x2f\xc3\xef\xf5\x9b\x60\x8d\x93\xc9\x1a\x73\xb0\xd2\x35\x1c\x0a\x6a\x73\x1e\xa2\x82\xa2\x5e\xbe\xb4\xdb\x64\x80\x50\xcc\x0b\xc1\x44\x4c\xd9\x11\xab\x49\xc6\xd9\x90\x88\x8b\xa4\xf8\x52\x67\x47\x3f\x02\x2f\x85\x0c\xb4\x5a\xc9\xce\x7e\xc2\xc2\x43\x5d\x51\x89\x65\x84\xaa\x23\xa7\xf6\xe7\xcf\xcc\x2a\x97\xa7\x30\x2a\xb7\x55\x21\x6a\xb9\x50\xfa\x17\xe9\x05\xf2\x8f\x65\x26\x52\x2f\xa3\x80\x83\x56\x1e\x34\xa5\x51\xc9\x30\xb4\x9a\xa4\xaf\x0f\x82\xd2\x48\xe4\xfc\x52\xb0\x30\x47\x50\x93\x90\x88\x2b\x8c\xe1\x61\x17\x14\x28\x3c\x63\x59\xbe\x9c\x4e\xd5\x1d\x54\xd2\x5b\x26\x19\x5b\x7c\xa9\xc4\x4e\x4c\xe8\x0a\xc3\x22\x81\xc2\x93\x98\xf5\x0e\x6d\xc4\xab\x9b\xb1\x17\x06\x49\xec\x1d\xca\x51\xd1\xdc\x5b\xb2\xa4\xc1\x1c\xad\xec\x85\xc8\x8f\x79\xce\xdf\xa5\x11\xdd\x18\xb7\xc2\x39\xbf\x10\xd9\x96\xac\xdb\x3c\xe8\x7a\x75\xc8\xdd\xf1\x45\x65\x57\xcd\x49\x13\x61\x41\x85\xa2\x86\xba\xcb\xe9\x4d\x8a\x64\xa2\xb0\xff\x10\xff\x84\xb1\x29\x18\x74\x45\x95\x55\x54\x91\x1c\xdb\xb4\x45\xba\x92\xf7\x3c\xcd\x6a\x37\xeb\x44\x1a\xec\x6f\x1e\xb4\xf5\x0e\x11\xc6\x97\xba\x49\x04\x4b\xf7\x09\xbb\x51\x8d\x06\x4b\x98\x84\xe1\xc5\xad\x24\x0e\xa2\x30\xb8\x2c\x67\x86\x63\x6a\x56\x70\x16\x28\x51\x1b\x33\xdc\x44\x49\x26\x28\xcf\xe7\x53\x23\x15\xc4\x85\x43\x3f\xce\xf2\x74\x19\xe4\x20\x40\x4a\xd1\x83\xd4\x20\x52\xe2\x4a\x45\x90\x98\x53\xfe\x84\xe2\x38\x66\x5a\xf5\x0c\xc1\x29\x31\xc6\xd1\x62\x39\x8e\xc2\x40\xb2\xee\xc9\xd6\x0a\xd2\x75\xce\xc5\x7c\xac\xb6\xb9\x89\xc2\x89\x72\xc7\xc6\x07\x7b\xf3\xea\x67\x3d\xf7\x85\x99\x35\x92\x72\x1b\x12\x9c\x40\x75\x82\xbf\x96\x5b\xa9\xad\x5c\x14\x24\x1d\x89\xd4\x4a\xc8\xa8\x5e\xb9\xf4\x9b\x15\x94\xce\x94\xc8\x55\x21\x3d\xf5\x26\x70\xc0\x9b\xf8\xaf\x66\xb6\x15\xe3\xb9\x65\xf2\x92\x28\xbe\x0a\x01\xb2\xe1\x9d\x90\x60\xa5\x7c\x4b\x45\xf6\x87\x61\x85\x64\x5c\x0e\x92\xde\x26\x3c\xa8\xa3\xda\x8c\xee\x0b\xeb\xe1\x54\xcc\xa2\xe9\x28\xa2\x46\x92\xe4\x73\x0b\xd7\x10\x2b\x51\x13\xd7\x86\xa9\x06\x51\x12\x8b\xf2\x26\x52\x3b\xc3\xe9\xb1\x66\xa6\xdc\xb0\x27\xea\xde\x28\x4e\xe9\x25\x9e\x90\x80\x91\x0f\xed\x85\xd3\xe3\xd6\x81\x9c\x55\x82\x79\x6b\x84\x05\x8a\xb0\x11\x01\xd7\x41\x08\x21\x4f\x29\xde\x51\x6a\xd6\xef\x7f\x1b\x66\x2a\xef\x71\x89\x3d\x53\x09\xa7\x62\x29\x65\x71\x6b\xc3\x7a\xc2\xb7\x8a\x45\x05\xeb\xc5\x70\x5a\x31\x11\x33\xdb\x30\xa3\x68\xe5\x70\x36\x83\x3e\xfd\x8e\xd3\xdc\x04\xf2\x16\xb1\x6e\x9c\xe4\x33\x5d\x97\x98\x92\x4b\x25\x5b\x38\x95\xc6\x8d\x9e\x0e\x95\xc8\x84\x99\x64\xd5\xd8\x54\xd6\xc8\x16\x52\x6d\xac\xb2\x1f\x7e\x70\xb1\xba\x19\xad\x7a\xaf\xd0\xc3\xa9\x8e\xbc\xca\x73\x3b\xe1\x8e\x8d\x8f\xca\x47\x59\x9d\x74\x1a\x35\x09\x98\x4c\x3d\xa4\x77\xb8\x4d\xbc\xc9\x68\x71\x0d\xf4\x0d\xd8\xc8\x93\xd3\xd2\xcb\xae\x83\x0b\xef\xdc\xb4\xb3\xd2\x93\xd3\x7b\x3f\xf3\x1a\xa6\x8c\x06\x01\x09\xcf\xef\x74\x2e\xbd\x4d\x56\x83\x24\xfa\x7e\x27\x13\x8a\xce\xea\x4d\xde\xd1\xa1\x23\x0c\x8c\x10\x28\x40\x7e\xf6\x92\x2b\x91\x4e\xa3\x64\xe5\xb1\x71\xa8\x22\x89\x63\xce\x73\x54\x8a\xe3\x83\x24\xbd\x5b\x82\x66\x5c\x05\x78\x9f\xf1\x8c\x8d\x85\x88\xd9\x9c\x4f\xa0\xf2\x3c\x21\x02\xa5\x90\xf6\xf4\xe0\xae\xd2\x19\xe3\x4b\x3c\x99\xbb\x48\x40\x19\xbe\x4b\x30\x95\x11\x37\xcc\x74\xf6\xa4\x95\x60\x91\xe0\x95\xe0\xc8\xe6\x06\x92\x3c\xf3\x2c\xa7\xe2\x07\x3a\x36\x34\x81\x85\x67\xb3\x8c\x58\x99\x9a\xa4\x9c\x23\xde\xf9\xf0\x9d\x19\xa2\x4c\x13\x78\x39\x7a\x29\x43\x01\xd7\xa5\x61\xa0\x4e\x28\x5a\xe3\x23\x1c\x8f\xd7\x7a\xf2\xf2\x7a\x96\x86\x71\x0e\x1c\xd6\x32\x3d\x0c\x38\x65\x8b\x0f\xd2\xad\x08\xa2\x3e\x42\x54\xfc\x8d\x07\xa4\x5c\x2c\xc9\x23\xe4\xcf\xbb\x1c\x8c\x84\x04\xcb\x88\xe8\x86\x56\x9a\xa3\x24\x8b\xfc\x93\xc6\x81\xce\x9c\x4d\x9f\xd5\x22\xeb\xfd\x25\x31\x86\x44\xa9\xb6\x90\x5c\x6a\xd5\xde\xbd\x5b\x12\xf1\x5a\xfb\x26\x4d\x56\x0d\x1a\x5b\xc3\xe9\xd8\x62\xd5\x72\xb6\x47\x72\xce\x4f\x4d\xee\x5d\x98\xcc\x11\xb5\xd4\xe5\x7a\xd4\x47\xec\xe1\x43\x1b\xda\x26\x49\xc5\xa5\xfe\xbb\xca\x29\x6a\x19\xe4\x6a\x7e\xc5\x52\x00\x11\xfc\xeb\x2c\x87\xc5\xd9\x60\x4f\xfe\x93\x57\xe7\x2b\x24\x26\x9c\x87\x2b\x33\x11\xa9\x6d\x90\x9a\x68\xdd\xc1\xe1\x49\x33\xbe\x8d\x68\xb9\xab\xd4\x84\x0d\x6b\x0a\x2d\x0d\x1b\x1d\x0d\x17\x07\xd5\x42\xd4\x06\x72\xbc\x4d\x84\xa2\x01\x57\x4a\x17\x0a\x37\x77\x15\xa3\x4a\x93\xbf\x4d\x90\xc2\xf5\x87\x33\xbd\x92\x08\xe0\xcb\x66\x4a\x80\xcf\x95\x84\x50\x2d\x65\x15\xd7\xf5\xee\x72\x56\x19\x13\x9b\xc1\x7e\x8b\xac\x95\x26\xab\x2d\xb5\xe6\xb7\x4b\x5a\x25\x7c\xdf\x41\xd6\xaa\x19\xc4\x1b\xcc\x6b\x41\x4b\x61\xde\x41\xbd\xe5\x2c\xc1\x4a\x8b\x50\x58\x85\xca\x27\x83\x3f\x56\x2a\xab\x26\xfc\x9b\x64\xb2\x12\xde\x6e\x95\xca\x6a\x4a\x2c\xc3\xa6\x96\x60\x26\x7b\x77\xc5\x32\x1a\x87\x2a\xdc\x88\x3a\x90\xdb\xea\x95\xb9\xc2\x5c\xdb\xb7\x4f\xd3\x94\xcf\xc5\xff\x31\x0b\xb8\xa9\x6d\xfb\x36\x82\x7c\x3e\x93\x94\x4f\xb5\xc5\x35\xf8\x39\x4f\x79\x60\xf2\x88\x3a\x66\x35\x72\xc1\x39\x83\x64\x6a\x60\x67\xb6\x66\x93\x90\x47\xc9\x45\xd1\x90\x03\x52\xd4\x4b\x41\x2c\xf7\xe8\x15\xc1\x06\xd3\xfc\x11\x5b\xb1\x88\xaf\x45\xda\x62\xec\x2c\xd1\x86\x17\x0c\xde\xf4\x31\xf7\x81\xf0\xa2\x08\xd3\x16\x50\x46\xcf\x00\xd5\xd3\xcd\x1f\xf5\x80\x34\x04\x89\x20\x08\x23\x8f\x3b\x3b\x61\x53\x1e\x84\x51\x28\x05\x40\x3c\x32\x0a\x2d\xf5\x18\x92\x94\x34\x87\xa6\x0e\x7d\x91\x7f\x2f\xe3\x82\xae\xf8\x84\x85\x73\x7e\x81\x4e\x08\x5a\xe0\x86\x8e\xd1\xfc\x92\x65\xe1\x45\x0c\x9a\x31\x78\x32\x20\x1b\x2c\x93\x37\xb4\xe5\x04\xef\xd7\x57\x06\xd2\x4e\x03\xc9\x69\x2d\x33\xbe\xa8\xa9\x11\x17\x58\xa4\x46\xc1\xdf\x5c\xe3\x1e\x7c\x66\x58\x70\x78\x0e\xd3\x95\xf0\x08\xb1\xa5\x95\x65\x1a\xb9\xf9\x43\x65\x41\x9e\xb0\x28\xe1\x9a\xb4\x70\x07\x58\x8d\x40\x04\x20\x7d\xa9\x56\x97\x6b\x01\x47\x7d\x51\xe3\xc7\xe6\x0c\x12\x78\xe8\x80\xe1\xae\x3c\x33\x82\x09\xdb\x9c\x93\x46\xdc\x90\xe3\x69\xd8\x1d\x5a\x07\x98\xaa\xf4\x49\x9e\x46\xf4\xbb\x3e\xa9\x26\xe1\x95\x5d\x0e\x7f\xeb\x8f\x72\x92\x47\x12\xb4\x39\xd8\xb4\xfa\xd7\x9e\xdc\xe7\xcf\xa0\xa4\xa6\x3a\x21\xcc\xe4\x93\x36\x7b\xd4\x07\x26\x26\x78\x4d\x4b\x5f\x48\x45\x3f\x98\xf1\x38\x16\x91\xf9\x6c\x31\xe9\x67\x98\x78\x96\x6a\x5a\xe9\xea\x42\x8d\x75\x07\x49\x16\xdf\x4c\x62\xb2\xc4\xfb\x64\x63\x8e\x0c\x54\xb2\x55\x08\xaf\x35\xa2\x05\x59\x8d\x63\x6e\x6c\x80\x40\x2b\xee\x85\x8b\xa0\x19\xc6\x61\xde\x4c\x2e\xbd\x43\xf3\x2a\xff\x01\x5e\xf9\x95\xe8\x96\x2d\x12\xc9\x77\xf8\x14\xdc\x5c\x21\xcd\x0e\xdc\xf0\xe6\x4c\x35\x07\x5e\x00\xf6\x6c\xd3\x30\x0e\xb3\x99\x7a\xbf\x87\xf9\xcb\xea\x8a\x20\x4f\xe2\x69\xf2\xa9\x56\x7f\xea\x38\x9a\x3c\xb5\x06\xa4\xb7\x64\x18\x4f\x93\xaf\x1c\x95\x03\x63\xd3\xd0\x24\xbf\x9f\x25\x2b\xa4\x4d\xf8\x02\x49\x11\xf9\x5c\x34\x54\x93\x98\xa5\x62\x1c\xca\x5b\xec\x32\xd5\x0f\x2d\x98\x23\x38\xa5\x5b\xa9\x01\x16\xd0\x63\x08\x1b\x8b\x28\x59\x39\x08\x30\xa4\xd1\x02\x4e\xde\x52\xe6\xb0\x47\xcc\x9b\x46\xe2\x5a\x9b\x24\x55\x91\x4b\x6b\x91\xa4\xb9\xdf\x4a\xe2\xb9\x36\xb8\x44\x52\x55\xeb\x8e\xe6\x0d\xb2\xac\xee\xc0\x49\xe2\x17\x09\x9f\x54\xe3\x9a\xde\x51\x14\x6e\xc1\xc5\x33\x12\xad\x28\xb9\xa8\x79\xef\x62\xb4\x6c\x54\xfd\x01\x2d\x02\x62\x0e\xbd\x06\x43\x4a\xaa\x00\xea\xbe\xb2\xc1\x53\x7d\xc6\x02\x78\xec\x93\xe7\x59\x8a\x69\x8e\xc3\xac\xc1\x4e\xd8\xc5\x52\x64\xfa\x79\xf4\x24\x87\x5c\x50\xb1\xa7\xed\x8a\x30\x97\xf8\x02\x8e\xbc\x2c\x17\x31\xe4\x23\x90\x77\xf2\x13\x6f\x4e\xf6\x47\xca\x86\x12\x5f\x13\xdd\xe4\x4f\x33\x91\x0a\x75\xdc\x2c\xd2\x64\xcc\xc7\x11\xe4\x07\xcc\x71\xd5\xb2\x85\xe0\x97\xe6\x81\x28\x4f\x60\x79\x91\x47\x66\x77\xda\x69\x05\x11\xa5\xbc\x8f\x71\xd7\x32\x5c\x01\xcc\x05\x7d\x33\x60\x59\xef\x53\x59\xf2\xd9\xc4\x3e\xc4\x8a\xbd\x74\x4a\x71\x95\xbf\x8a\x7c\x3e\x15\xe8\xe7\x06\x20\xe0\xc2\x60\x75\x45\x9c\xb0\x45\x19\x8f\xc8\xda\x66\x91\x64\x39\xc1\x56\xa9\xec\xff\x26\x19\xcf\xa1\xe1\x36\x5e\x83\xf1\xf4\xe2\xea\x90\x9d\xff\x8d\x7a\x7a\x93\xa4\xf9\xe1\xe6\xbe\x3b\x5f\x3e\x7e\x69\xd8\xc4\x0d\xe7\xc1\xf9\xe6\xfa\x1f\x5d\x21\x58\xd1\xe3\x9c\xaf\x5d\x6a\xbc\x7d\x59\x36\x2f\xf6\x29\xe4\xc5\x73\x64\x19\x60\x38\x96\xdd\xfb\xdd\x58\x78\x89\x41\x96\x29\x01\x5f\xed\x2e\x44\xde\x0b\x02\xb1\xc8\x5f\xf0\xf8\x62\x29\x4f\x8a\x9a\xae\x17\xa9\x22\x63\xaf\x05\x13\xb4\x97\xc3\xe5\xae\x5e\x83\x9d\x5b\xd9\x9b\xb9\x0b\xf9\x90\x69\x88\x96\x25\xf0\x34\x49\x05\x9a\xb5\x0d\x92\x28\x49\x0f\x0b\x47\xb0\x1c\xe1\xc8\xad\x52\xab\x5b\xcd\x8d\x55\xdc\xc6\xe6\x7d\xb7\x8a\xd3\x1c\x95\x77\x1b\x9b\x0e\xcc\x67\xa7\xd9\x34\x41\x0b\xac\xea\xd1\xe2\xb7\x52\x83\x11\x9f\x87\xd1\x7a\x53\x13\xfc\x5a\x98\x5b\x26\xde\xbd\x7d\x71\x68\xd6\xea\xdd\xdb\x17\x35\x6f\xcb\xab\x5b\xd7\x8f\x2f\x1f\xf5\x1f\xca\xec\xcc\xda\x7f\x2e\xd1\xbe\xcb\x44\xca\xe0\xd9\x94\x14\xaa\xf0\x20\x2a\x19\x61\x0e\x46\xbf\x46\xac\x82\x6c\xfd\xa9\x16\x4d\x37\x13\xf4\x40\x42\x18\x20\xc8\x4d\xfc\x46\x3f\xbb\x3a\xfb\x27\xc9\x48\xc8\xbd\x95\x9a\x71\x94\x25\xd8\xf8\x44\x5d\x90\x94\x3e\x7f\x66\xc5\xb2\x16\x72\xe2\x57\xc9\x44\xd4\x0b\x87\x4c\x59\xd4\xb2\x2a\xb7\x52\x31\x4f\xae\xc4\x60\x16\x46\x88\x4d\xab\x9a\x61\x59\x84\x02\x35\xbd\x6f\xe4\x0f\x83\x8a\xa9\x16\x18\x04\xe3\xf7\xe7\x07\xd6\x96\xb5\x81\xc7\x28\x9b\xa4\x17\x57\x45\x8c\x16\x58\x20\xd9\x00\x80\x59\x8d\x3c\x2b\x86\x69\x9a\xa4\x35\x4f\x81\x0c\xb0\x9a\x36\xe6\x15\x39\x5b\x2e\x5a\x5e\xdd\x20\xb8\x9a\xfd\xdb\x9c\x84\x38\xba\x19\xd2\x21\xfc\xff\xa5\xa0\x17\x53\x02\xd6\xbb\x13\xba\x07\xd8\x04\xa4\xfc\x05\xe8\xb4\xcc\xd2\x40\x0d\x49\x5e\x3b\x04\x39\x24\x91\x71\x16\x1a\x9a\x6a\xb7\x80\x1b\xd9\xe9\x0c\x34\x53\x05\xfa\x03\x47\x58\x11\x4d\xe9\x00\x7c\xea\x5a\xd0\x2f\x72\x42\x2f\x49\x46\xef\x79\xb4\x74\x8c\xbc\xe5\x57\x79\x13\x92\x20\xd4\x35\xa1\xe0\x2e\x6d\x7f\x3a\x97\xf5\x3f\x3e\x7d\xe0\x18\x57\x59\xa0\x9f\xda\x16\x1f\xc5\x61\x81\xf9\x7e\x61\xa7\x18\xed\x50\xd5\x46\x51\x32\x3d\xc9\x71\x02\x17\x1c\xef\x53\x3c\x4a\x05\x9f\xac\xd9\x55\x98\x85\xe3\x88\xec\xb8\x5c\xc9\x8d\xc6\x31\x13\x7c\x22\x52\x6d\x97\xe9\xf9\xdd\x85\x94\x4d\x95\x8d\x50\x78\x45\xd6\x07\x15\xc6\xad\x35\x7d\xdb\x32\xd6\x21\xea\x89\x56\x22\xd7\x83\x3f\xbc\x06\xeb\xee\xa0\xbd\x2d\xf6\x47\x3d\x41\x0d\xfc\xcb\x6b\xb0\x9d\x7d\x53\x25\xc2\x3c\xf3\x35\xea\x9c\xde\xe0\x9a\x8c\x3c\x9c\xb7\xd0\xd3\x1c\xcc\x66\x92\x85\x5d\x91\x60\x37\xb5\x11\x00\x54\x55\x53\x51\x76\x77\x47\x45\xf6\xae\xbe\x7c\xd2\x75\x35\xc2\x55\x65\xe7\xa2\xa7\x6d\x71\x02\xb0\x2b\x1b\xe2\xb5\xb6\xe6\x4d\xc2\x2b\x44\xb4\xae\x4d\xa2\x7f\x90\x65\xe0\x1c\x75\xc4\x94\x70\xe4\xa9\x1c\xcc\x87\x8c\x8f\x21\x45\xad\x78\x6a\x74\x56\x1e\xdd\x15\x0e\x59\x9c\xc4\xce\x07\x79\x73\x68\xa2\x18\x0b\x8d\x49\x47\x6b\xd5\xc8\x93\xc5\x21\xf3\xdb\xff\x6e\x97\x49\x84\x1e\xb2\x1d\xa7\x0c\x90\x79\xc8\x0e\xdc\x9a\x88\xb8\x43\xb6\xef\x16\xcf\xc3\xb8\xa9\x3e\x75\x0a\x9f\xf8\x75\x73\x43\xab\x71\x72\xdd\xcc\x66\x7c\x92\xac\x0e\x59\x9b\xb5\x59\x67\x71\x6d\xb4\x75\x37\x8b\x0f\xec\x09\xf3\x5c\x50\xe9\x44\xa4\x87\xf7\x05\xc1\xb2\x24\x0a\x27\x4f\x89\xcd\xc9\x2d\x06\xca\x5d\xcb\x6e\xf1\x15\x64\x8f\xd4\x0a\x0b\xfb\xb4\x6d\xb0\x2c\x61\xb1\xfb\x5d\x79\x61\xc2\xa6\xa1\x2c\xc7\x2d\xed\x59\x40\xc5\x77\xa0\x10\x46\x75\x37\x12\x88\x4d\x04\x72\xd1\x9f\xda\x1a\x4d\x8f\x92\x1f\x37\x49\x08\xc7\x2a\x4d\x11\x4f\xdc\x6a\x6a\x5d\x24\xc6\x9c\x7d\xee\x62\x57\xe2\x57\x0b\x60\xcd\x00\x25\xad\xaf\x5b\x28\xc6\xbc\x1b\xdb\x97\x04\xbd\x72\x7b\x29\x87\x35\x33\x90\xdc\x24\x2f\xaa\xf8\x38\x25\x29\x6d\xd3\x10\x8d\xa4\x46\xb8\x36\xfb\x11\x54\x70\x13\x94\x17\x10\x23\x75\xe2\xd7\x72\xfd\x48\xca\xba\xd3\xfa\x61\xdd\x56\x26\xf2\x5e\x4e\x59\x46\x6b\x5e\x9a\x44\xe0\x76\x8d\x1f\x8b\x55\x37\x2f\xf5\x9c\xa7\x17\x61\xdc\x84\xbd\xdb\xdc\x2e\x4e\x9a\xbe\xa6\xb8\x98\xa5\xcf\x28\x20\x1f\xb2\x45\x02\xba\xdb\xa7\x85\x6e\x73\x71\x9d\x0f\x90\x4e\xc8\xd5\x91\x77\xa6\x9e\x53\x85\x4f\x26\x43\x79\x5f\x7d\x41\x37\xef\x9a\x07\x12\xa8\xd7\x70\xe4\x27\x25\x42\xba\xb2\xab\x45\xcb\x36\x72\x11\x72\xdd\x39\x6a\xe8\xcc\x3f\x2a\xaa\xd4\x36\x61\x1b\x6b\x78\x64\xec\x08\x07\x7e\x12\x47\x78\x3d\xb3\xb4\x1d\xc5\xcb\x2c\x55\xdd\xc8\x7a\x37\xed\x2b\x60\xae\x87\xcc\xaf\xe0\x92\xe0\x32\xec\x00\x77\x96\x3d\x4b\x03\x85\xab\x65\x1a\xdd\x50\x4f\xf0\x79\x24\xb2\x4c\x56\x4e\x97\xa2\x70\x56\xd8\xe8\xc3\xe6\x96\x74\x26\x4f\x59\xa7\x86\x6e\x77\xa7\x97\x8c\x4b\xb1\x46\xe7\x87\xff\x3b\x8f\x19\x28\x90\x3c\x57\x13\x7b\x2e\xd6\x2f\xf9\xc2\x7e\xdc\x50\x9f\x94\xf6\x4e\x89\x9f\x83\x24\xc6\x5c\x95\x49\xfc\x5c\xac\x1f\xa3\xaa\x06\xd3\x9d\xa2\x87\xa8\xfc\xf2\xfe\xec\xb9\x58\x67\x79\x9a\x5c\x0a\x75\xeb\xe2\x59\x96\x04\x21\xcf\x31\x55\xbb\xab\x73\xb7\xd4\xeb\x78\x09\x10\xf0\x6c\x71\xc8\xce\xff\xeb\x6c\xf8\xf6\xe5\x47\xc6\x25\xf6\xc8\xd3\x1a\xe6\x7a\x95\xb7\x7e\x2b\x79\x0b\x54\x29\xf2\x0b\x5d\x58\xc3\x50\xef\xe3\x61\xc6\xf4\xfa\x5a\x22\xb2\x9e\x7f\x85\x72\xdd\x04\xf5\x33\x4f\x05\x57\x39\x3e\xfe\x2c\x52\x41\xe1\xe5\x1c\xe6\xea\x68\xda\x4d\x63\xed\xdb\x21\xbc\x54\x7b\xe1\x44\x6b\x16\xf0\x45\x8e\x5e\xbc\x6a\x6c\x0a\xd1\xd3\xc4\x00\x57\xdf\x68\xcf\x1b\x3d\xb9\xd5\x81\x6c\xa5\xd6\x30\xc3\xb8\x79\x26\x91\x39\x20\x53\x2b\x6f\xc3\x94\x8d\x81\x98\x94\x62\x36\x6b\xb0\x8c\x5f\xc9\x15\x93\xe0\xb2\x04\x95\xc2\x48\x7a\x6c\x19\xc3\x23\x25\x78\x1c\x53\xce\x66\x79\x9b\x74\x58\x61\x03\x1f\x70\x28\x22\xd9\x44\x0f\x5c\x8d\xe7\x93\xce\x30\xc3\xd8\xb9\x07\xf6\xcc\xc9\x32\x37\x9c\x73\x24\x4b\x5e\x2f\x73\x9b\x49\x7d\x6c\xe8\x06\x97\x62\x3d\x49\x56\xb1\xa9\xff\x5c\xac\x8f\x93\x55\xbc\xb9\xfa\x22\x25\x06\xa2\xeb\xbf\x91\x25\x9b\x1b\x2c\x17\x4e\xed\x77\x8b\x0d\x55\xe5\x39\x71\x12\x2f\xec\xc1\x9f\xa9\x22\xa7\xc9\x03\xc6\xf0\x92\x03\xfb\x8c\xd1\x85\x4e\xf9\x5f\x5d\x8a\x35\x9b\xf3\x05\x08\x45\x8f\xb7\xac\x75\x7e\xc9\x17\xa4\xc6\xac\xdc\xb9\x8a\x7f\xab\x16\xb2\xc3\x30\xbe\xc8\xaa\xdb\xf4\xe9\xab\xd5\x4a\x8f\x46\xca\xcc\x87\xec\x38\xcc\x20\x68\x23\x8f\xd7\xac\x17\xe5\x3f\xa7\x2c\x15\x11\xec\x9a\xf9\x32\xbe\x50\x5e\xc3\x8f\x59\x90\xa7\x51\x93\x47\xf9\x21\xeb\x41\x0a\x5b\x36\xc8\xd3\xe8\x49\x2f\xca\xd9\x5c\xf0\x38\xc3\xb6\x54\x57\xca\xd1\x4e\x5d\xb8\xa9\x54\xd7\x05\x96\xe9\x54\x46\x86\x5b\x59\x5b\xe3\x89\xcb\xb2\x97\x92\x8d\x2a\x27\x68\x77\x6e\x27\x53\x38\x39\x1a\xec\x74\x16\x4e\xf3\xe6\x49\x9c\x89\x94\x9e\x3d\xa7\x10\x69\x64\x06\x0f\xaf\x4a\xed\xa0\x5c\x98\x20\x23\x35\x78\xf4\xb4\x34\x1c\x90\x84\x21\xe3\xbe\x5c\x33\x62\x75\x00\x69\x0c\x7a\x75\x6d\x83\x37\x4b\xc0\xba\xcd\x1e\x66\x26\x7b\xc7\xce\xd1\xff\xeb\x88\x22\xdb\x56\x8e\x75\x96\xcc\xc5\x96\x00\x23\xe3\x28\xd2\x81\x2c\x9d\x67\xe5\x0c\x42\x1b\x8c\x79\x8a\x11\x56\x24\x78\xdd\x0c\xa1\x41\x5b\xf5\xdc\xc3\xde\x9f\xc9\x41\xcb\xf3\x26\x6b\x31\x3d\x1b\x7c\xbf\xd1\xdd\x65\xa0\xab\x7d\x7f\x06\xe7\x52\x86\xb6\x43\x12\x94\x0b\x9e\xfa\xce\x0a\x53\x94\x9f\xe5\x11\x80\x41\x17\xac\xac\xbe\xd6\x0c\x4f\xe1\xaa\x9d\x31\x3e\x4e\xae\x44\x83\x5c\x99\xe0\xae\xb0\xe0\x17\x82\x2d\x17\x5b\xf0\x53\xee\xf0\x02\x74\x59\x7e\x1b\x74\x8d\x3f\x49\x91\xcd\x37\xd1\x32\xdb\x7a\x19\xc6\xcb\x6c\xeb\x2f\x22\x4d\x14\x1a\x33\x88\xa0\x52\x5a\x55\x68\x82\x34\x72\x63\x43\xaa\x09\x9f\x09\x5f\xbf\x7e\x6a\x20\x34\xd3\x2d\xb4\x9b\x24\x3a\x98\xa2\x3b\x17\xb9\x83\x64\x35\x00\x22\xab\xfe\x25\x49\xe6\x95\x14\x01\x5b\x6b\x80\x41\x54\x32\x70\x6b\x83\xf9\x51\xbf\x03\x49\x70\x92\xd8\xe4\x17\xe3\xda\x45\xcd\x60\x32\x4f\x06\x95\x95\x11\x8c\x01\x6b\x35\x76\x46\x39\x00\x6f\xd1\x4a\x64\x43\x1f\xef\x71\x8f\x94\x87\xf6\xfe\x0e\x43\x7b\x5f\x59\x19\xc1\x18\xb0\x9b\x86\xf6\x5e\xed\xa3\x8a\xb1\x0d\x21\x24\xcb\xd6\x44\x71\xb4\xc5\x22\x52\xe1\x54\xe4\x81\xc0\x27\x08\x4f\xf1\xe2\x30\x23\x4b\x04\x32\x9e\xe6\x6b\x16\x2f\xe7\x22\x0d\x03\xd8\xe8\x70\x7c\xc2\xfe\xd6\x0f\xce\x96\xf4\xe0\x30\x23\xd3\xd1\x73\xe8\xe7\x4e\xc3\x03\x51\xc9\x1a\xa2\x36\xbe\x9d\x88\x5b\xc7\x49\x75\xbf\x7a\x98\xf8\x18\x70\xcb\x76\x02\xc6\x28\x65\x03\x88\xe8\x44\x31\x5a\x80\xb3\xf4\x4f\x59\xcd\xfb\xe5\xba\xbd\xef\x35\x18\xbf\xe4\xec\xd7\x67\xf5\x16\xc3\x84\xfd\xab\x30\x13\x08\xc7\x6d\x2e\x8f\x3b\x1b\x84\xf7\xcb\xf5\xde\xd4\x2b\x8c\x50\x57\x87\xd7\xa3\xbe\x6e\x5c\x39\x4e\x8c\x67\x16\x24\x13\x0c\xa7\x04\x2a\x50\xc9\x52\x26\x3c\xe7\xb7\xf1\x65\x6d\xa6\x3c\x54\x00\x8e\x98\xb7\xcc\xa7\xcd\xfd\xc2\x39\x72\x2a\x72\x93\xf7\x1c\x3c\x0a\x73\x8e\x73\x01\x1a\xe6\x2c\x12\x1c\xda\x8b\x2c\xe0\x0b\xc1\x92\x54\x6e\xfe\x42\x6f\xb2\x11\xcc\x68\x88\x95\xaa\xb6\xbc\xdd\x91\xac\xdf\x7c\x8f\x81\x03\x94\xc9\x78\x52\x35\x0d\xf9\xf1\xa5\xc8\xf9\xfb\x6a\x2e\xa2\x18\x98\x52\x34\xf3\x08\xc5\x0e\xb0\x2e\x97\x62\x99\xb3\x21\x68\x0a\x2d\xfc\x47\xfa\xf9\x98\x0d\x4f\x07\x10\xfc\x28\xbc\xa6\xad\x8c\x61\xad\x5b\xaa\x5e\x6f\x32\x61\x7e\x67\x5f\x21\x7b\x19\xc3\xa9\x21\x26\x56\x40\x56\x9e\x49\x41\xfe\x9a\x22\x71\x01\x0c\x3a\x70\x9b\x97\x62\xdd\x6a\xb1\x0f\x3c\xcc\xb5\xea\x48\xc9\x6e\x24\xd0\xc2\x39\x27\x04\x5b\x29\x03\x60\x75\x56\x67\x7c\x9d\x29\x70\xee\xbf\x1a\xec\x99\x15\x38\x3e\xae\x92\xf4\x92\xad\x44\x14\xc9\xdb\xc9\x22\xe2\x39\xc4\x18\xa6\x20\x2c\x16\xb8\x4a\x40\x6c\x21\x52\xac\xcf\xb5\x77\x25\x37\x49\x12\x20\xc0\x19\x07\x8f\xcb\xbf\x2e\xe5\x85\x25\x6b\xd5\x8b\x3b\x97\x9c\x31\x31\xe2\xd4\x9c\xe7\x60\x1a\x0f\xa2\xb2\x6c\x18\x66\x6c\x12\x66\x79\x18\x07\xb4\x7d\x81\xbe\x6a\x3c\xca\x4f\x60\x61\x59\x98\x21\x2c\x64\x87\xf5\x92\x10\x04\x64\xf5\x41\xa2\xe6\x88\x79\xb8\x80\xb7\x50\xb0\x22\x02\x1e\xc8\xbb\x5c\x06\x4f\x30\x48\xd3\x0d\xdb\x79\x78\x91\x26\x93\x25\x84\xef\x86\xe5\x26\x19\xd0\x89\xe4\xad\xe7\x99\x2e\xe1\xfd\x06\x23\x62\x35\x94\x88\x01\x81\xcd\xb0\x44\x5e\x55\x64\x01\x5f\xe6\x09\x86\x3f\x31\xd6\xbe\x6a\x4d\xca\x02\x1e\xa1\xe0\x16\x26\x95\x82\x99\x65\x42\x61\x55\xd8\xf1\xf0\x05\x4c\x8f\xee\x50\x3a\xc8\x1c\x60\x97\x47\x79\xd3\xb0\xa4\x24\xa6\x7d\x82\x81\x3d\x5e\x9f\xb2\x2b\x32\x2e\xe2\x00\x5c\xc3\x02\x72\xb4\x67\x6c\xb4\x73\x87\xac\x47\x16\x7b\xe1\x1c\xc3\xcf\xa5\xa1\x5c\xef\x86\x9c\x9a\x06\xdc\x28\xf4\x1c\x66\x52\xf4\x5f\x08\x92\xb3\xf2\x44\x76\xd5\x62\xa7\xb2\xf6\x32\x93\x14\x32\xe7\x6b\x29\x5e\xce\xf8\x62\xb1\x36\xd7\x57\x34\xf4\x00\x53\x5b\x5d\x65\x9a\x2e\xb3\x3c\xc5\xdb\x36\x53\x61\xf5\xc2\xdc\xcb\x58\x38\x5f\x24\x19\x3c\x6b\x00\x7e\x12\xe4\x2b\x7a\x14\x2d\x40\x22\xf9\x13\xd3\xe2\x65\x78\x4b\x96\xfb\x9d\x84\x9b\x15\x7c\x07\x8c\x84\xc1\x25\xec\x72\xb9\x99\x5c\x0c\xe1\x7e\x2d\xa3\xf8\x50\xe3\xd8\x29\x6e\x48\xa8\x24\xa7\x0a\x87\x28\x2f\x12\x10\x02\x1b\x28\xa0\x5e\x88\x9c\x71\xd5\x07\x0a\xde\xf6\x1c\xc9\x21\x47\x2d\x32\x6e\xa7\x38\xc9\x71\xbd\xc4\xa4\x05\xea\x85\x59\x9e\x2f\xb2\xc3\xad\xad\x20\x1d\x2f\x2f\x5a\x41\x32\xdf\xf2\xf7\x76\x76\xfc\x36\x2b\x13\x9c\x3e\x70\x90\xf2\x6e\x39\x7f\xde\x11\x5f\xbe\x14\x62\xc1\xf2\x94\x07\x97\xca\x34\x54\x5d\xf1\xe4\xa4\xe1\xac\xc8\x21\x14\x93\xf6\x28\x8a\x45\x20\xb2\x0c\x72\xae\x24\xa9\x39\x2c\x6f\x1a\x81\x09\x3f\x87\x42\x34\xb0\x45\xc5\x31\xf5\x65\x08\x61\x99\xba\x60\xee\x89\x76\xa6\x9c\x8d\xc3\x7c\xce\x17\x48\x4c\xc8\xfe\xc6\x61\xce\xd4\xfb\x4a\xc6\x20\xe6\x40\xb6\x48\xe2\x89\x65\xbe\xf5\x98\x3d\x8a\x12\x94\x19\x1e\x49\x9e\xb0\x10\x69\xbe\x56\xf3\xd4\xfb\xac\x8c\x4a\x75\xdd\x16\x13\x1d\xc4\xb9\x42\x5e\xd7\x1b\x6f\x2e\x26\x21\x47\x71\x46\xdd\xac\x70\x83\xd0\x50\xc2\x94\x8d\x00\x95\xe2\xaf\xcb\xf0\x8a\x47\xba\x4f\x36\x6c\x5d\xb4\xd8\x23\x89\xa8\x47\x15\x4d\x47\x7e\xcb\x16\xf6\xb1\x3f\x32\x7e\x05\x63\x24\x75\xab\x2b\x9d\xd8\x93\x90\xcb\x7b\x47\x2f\x15\x23\xf9\xb3\x9a\x04\x9e\x25\x11\x19\xb9\x2c\x52\x71\x05\x21\x10\x34\xbf\x9f\x32\x87\x3d\x03\xcb\x3f\x1e\x0e\x4e\x87\x67\x0c\x92\x98\xa3\x67\xd9\xa4\x05\x2e\x5f\x08\xee\x78\x38\x78\x7b\xea\x7e\x6e\xb8\x50\xb4\x28\x38\x01\xd1\x4a\xfb\x05\xa0\x5a\x07\x56\x9a\xee\xf6\x4b\xd0\xd6\x24\xcb\x92\xc8\x40\x03\xed\x59\x60\x2b\xad\x2e\x4f\x29\xf2\x3b\x20\x0a\x82\x48\xa0\xc0\x39\x80\x3b\x22\x04\x2e\xd4\x0a\xab\x88\xaf\xb1\xa7\x92\x4e\x4d\xfe\xd2\x0b\xec\xb0\x01\x46\x3c\x91\xf7\x70\x39\x1c\x11\xe7\xc7\xea\x70\x95\x87\x7d\x9e\x2c\xde\xa4\xc9\x82\x5f\xd8\x91\x10\x51\x77\x67\xc9\x04\x74\xc7\x42\x58\xc2\xb9\x2c\x0c\x7a\xaf\x06\x43\x6d\x6b\x42\xca\xf2\x78\x39\xaf\x79\xf8\xc5\xab\x37\x0a\x92\xa4\xe4\x79\xea\xa8\xb7\x43\x29\x18\x73\xee\xc0\x89\xca\x28\xc5\x16\xb8\x4e\x43\x4c\x26\xd4\xc8\x22\x2c\x15\x3c\x49\xb5\x20\x85\x5b\x41\x7d\xa0\xfd\x0c\x40\xdf\x90\x86\x31\x26\xce\x80\x43\x58\x83\xb2\xb3\xa7\x6c\xd0\x36\x38\x63\x48\x62\xa1\x76\xe6\x3c\x99\x84\xd3\x50\x49\x35\x38\x94\xac\x51\x08\x2f\x2a\x81\xd2\xac\x29\x54\x87\x1c\xb9\x1e\x38\x98\x8e\xd6\xe8\x08\x59\xd7\x35\x1f\xc7\xb8\xfd\x61\xee\xc8\x8e\x4d\x75\x98\x10\x10\x25\x11\x61\x64\x5f\x0a\x52\x31\x38\x3d\x69\x50\x98\x20\xfa\xaa\x26\xc6\xc1\x6b\x4d\x1d\x61\x8c\xa1\xc3\x25\xf8\x66\x3a\xf3\x31\x11\x46\xa4\xe8\x32\x11\x59\x90\x86\x63\x9c\xbd\x52\x20\x2b\x83\x6c\x0c\x9a\xa9\xc0\xa9\xbc\x24\xf2\xd3\xa3\x37\x83\xe6\x29\xe8\xd9\x47\xca\xc4\x41\x6e\xf1\x47\x2c\xc3\xd7\xe2\xea\x89\x29\x75\x0c\x09\xd0\xf2\x98\xd2\x8b\x2b\xcb\x36\x2c\xa9\x89\x5e\xaa\x07\xa3\x5a\x2d\x17\x0b\x91\x82\x61\x2f\x05\x34\x56\x03\x34\x32\xf4\xa5\x58\x07\x1c\x42\xc1\x91\x93\x81\x06\xd2\xdd\x61\x35\x4c\xdb\xe2\xfd\x87\x57\x07\x98\x07\xbb\xba\xe8\x93\x57\xa7\x33\xf4\xa6\x8e\x34\xb0\x52\x87\x73\xd0\x73\x74\x77\x30\x58\x6e\x9c\xab\x83\x64\xce\x2f\x45\xc6\xbc\x5f\xff\xc3\xd3\xb7\xb8\x76\xdb\x33\x1a\x23\xc6\x98\xf7\xeb\x27\xf3\xd1\x9f\x7a\x2d\xc6\x6a\xaf\x12\xe5\x37\x2b\x69\x74\x16\x5e\xa0\x30\xca\x73\xd6\xbe\xf6\xa7\xb2\x93\xf6\x75\xa7\x6d\x4e\x48\xb3\x6e\xb0\x92\x69\x96\x5b\x18\xc5\x29\x42\x80\x5e\x47\xdc\x36\x4b\x65\xdd\x73\xee\xbd\x4c\x80\x35\xa7\x7f\x0c\x05\xac\x8e\x76\x3b\xd1\x98\x42\xda\x72\xc1\xc6\x6b\x79\x09\x2a\x53\xce\x1c\x85\x78\x33\x8e\x20\x89\xa7\xe1\xc5\x32\xc5\xf3\x29\xa3\x4b\x16\x4a\xee\x0d\x40\xd9\xd8\x73\xf6\xbb\x1e\x0b\x85\x40\x2d\xef\x54\xc3\xbc\x84\x75\xe5\x3f\x1e\x8e\x7a\xef\x5e\x9c\x55\x71\x41\xfa\x54\x64\x83\x03\x74\xd8\x75\xa3\xc3\x26\x2c\x59\xe4\xf2\x1c\x81\x40\xc9\xea\x2c\x70\x4e\x7f\x73\x6f\x88\xf0\xf0\xb3\xee\xff\x74\x57\x9b\x08\x60\x38\xf9\x4c\xf3\x0d\x39\xc4\x37\xbd\xd3\xd3\xaa\xf1\xc9\xf2\xe2\xe0\x48\x83\x6b\x08\x02\x63\x4a\x49\x69\xc5\xac\x89\x91\x4b\x06\x7c\xd1\x30\x77\x0c\x81\x8a\xd8\xe7\x62\xdd\x32\xba\x03\x39\x7e\x85\x68\xba\x0e\x23\x17\xa5\xa7\x05\x7c\x2c\x11\x2d\xf7\x88\xaa\xd5\x55\x23\x62\xd2\xca\xe2\x4a\x2f\xfc\x49\x4e\x87\xf7\x74\x19\x91\x77\x3b\xb1\xaf\x89\xba\x78\x41\xd0\x57\x94\xc1\xc2\x9c\x49\x31\x29\xce\x43\xc8\xe8\x92\xe5\x69\xb8\xc8\xcc\xe6\xd4\x8c\x0f\x73\xbd\xd1\x58\xd4\x12\x98\xc8\x5b\xc9\x9c\xa5\x82\x63\x58\x49\x3a\x20\x2e\xd5\x6c\x25\xaa\x4f\xcf\xde\x9e\xbc\xa9\xc2\x35\x7c\xf0\xea\xf6\xc9\x0f\x3a\x11\x61\x9c\xe2\x78\x10\x24\xe9\xc4\x82\xec\x49\xb2\x6d\x2a\xdd\x8b\x1d\x1b\xb9\x52\x04\xb0\xdc\xff\x10\x72\x55\xe2\x0f\x63\xd6\x55\x56\xcd\x68\xdd\x8c\x93\x3c\xc5\x79\x74\x6b\x5d\xe5\x04\xfd\xdd\xd9\x68\x1f\xc0\x3e\x75\x03\xfc\xbb\x26\x9b\xf0\xe8\x26\x4a\x4f\x6e\xf6\x01\x6b\xbd\x1f\xd2\xdb\x9d\xe3\xbb\x65\x2e\x4c\x96\xc2\x8d\x29\xc8\x1a\xa2\xbc\x7b\x06\xf8\x90\x4a\xb1\x97\x95\x2f\x14\x04\x10\x50\xca\x7e\xb8\xb6\x98\xb3\x38\x4c\x8b\xfa\x86\x24\x65\xe3\xe5\x98\xee\x72\x14\xa6\x0d\x47\xa5\x1f\x47\xdf\xf0\x2c\x83\xf5\xc2\xfb\xb6\x09\x26\x17\x45\xe6\x09\xcf\x19\xaf\x7e\x2d\xac\x8a\xc6\x46\x4f\x8d\x5f\x34\x20\xe7\x15\x73\x96\x64\x42\x63\x6d\xa6\xe2\xcf\x06\x34\xfb\x06\x93\x17\x1b\xd4\xa7\xa8\xcb\xbf\xad\xf7\xbc\xe9\x19\xd6\xa2\x17\x1a\x73\xd5\x03\x2d\x0d\xc4\x10\x8f\x1a\xd9\xd1\x51\xf5\x8b\xa9\x4d\x3b\xda\xca\x49\x35\x52\x06\x84\xd5\x8d\xd0\x0c\xc3\x1d\x0b\x84\xcc\xac\x6f\xcc\x4e\xe3\xbe\x7d\xea\x9c\x20\xa1\x49\x05\x02\x76\x50\xe4\x2e\x73\x54\xa8\x7f\x1e\x7e\x34\xf9\x2f\x9c\x99\xca\x7f\x8a\x1a\x4b\xd6\x28\xd4\xfe\xbc\xfd\xb1\xa1\x40\x9f\xfb\x1f\xab\x43\x81\x56\x4e\xb7\x55\xf1\xb0\x7b\x0b\x54\x65\xb7\xb2\xe9\x95\x9a\x06\xeb\xa6\x27\x22\x4a\x70\x77\x9f\x22\x1e\x67\x97\x01\xf1\xf2\x28\x22\x0d\xa6\x0e\xf2\x9a\xc8\xcb\x28\x04\x28\xb3\x94\x3d\x2a\x46\xc5\x2d\x54\xa5\xf7\x42\x15\x5d\x59\xb6\xde\x1b\x56\xbc\xec\xd1\x62\x3d\x00\xd3\x50\xd4\x1c\x3e\xc0\x63\x3f\xe4\xaa\x0b\x72\xcc\xd9\x05\x6e\x3c\xa4\x3a\x40\x87\x2d\x21\xef\xa6\xe3\x65\xce\x56\x82\x4d\x12\x65\x45\xf1\x92\x07\x4a\x96\x95\xa2\x1b\xb8\x79\xc2\x89\xe1\x7a\x95\xf2\xc5\x82\x74\xd1\xd9\x3a\xce\x67\x22\xa7\xd7\x0b\xb8\x67\x80\x62\x0c\x6f\xbd\xb7\xe0\xc4\x7e\xc3\xae\x70\x95\x03\x6b\x6a\xf2\x6e\x2a\xee\x23\x72\x9f\xcb\x16\x51\x98\xd7\x3c\xaf\xde\x9a\x26\xe9\x90\x07\xb3\x9a\xcb\xa0\x1d\x53\x11\xf3\x4c\xae\x2b\xd4\x37\xa0\x56\x69\x12\x2c\xcc\xde\x38\x0f\xfd\xd0\x5f\x31\x0d\x95\x20\x4a\xdb\xaf\x4a\xe2\x39\x62\xe8\xdb\xd9\x92\xa7\xe8\x80\x12\xd3\xd4\x44\x0b\x84\x51\x63\x6b\x9b\xac\x44\xfa\x1c\xaa\xcb\x83\x35\x4f\x5e\xc8\x82\x01\x57\x41\xd8\x24\x86\x6a\x02\x9e\xa8\x64\xad\xcf\x9f\x99\x00\xbd\xff\x73\xb1\xae\x4b\xf6\x52\x33\x00\x8e\x98\x17\x78\xb2\x86\x53\x74\xe5\xd5\x2d\x73\xcb\xd7\x31\x46\x28\x15\x46\x01\xc9\x6a\x92\x8e\xe4\x9f\x52\x98\xac\xd3\xa6\x81\x47\x82\x69\x28\x4f\x1c\xc8\xdb\x9b\x2c\xd6\x5b\xe6\x01\x5b\x82\x7a\x21\x20\xc9\x82\xf3\xec\xad\xee\xb1\xea\x90\x51\xfb\x6a\x2c\x66\xfc\x2a\x4c\xd2\x96\xb3\xc8\x56\x88\x66\x41\xca\x1d\xcd\x31\x5d\x1d\xf4\x11\xf3\x2c\xcd\xbe\x27\x6b\x09\x9d\xec\x07\xd2\x20\xda\xa1\x30\x21\xb9\xe3\x45\x92\x33\xd4\x46\x09\x88\x18\x03\xba\x41\xf9\xb7\xb8\x5e\x50\x9c\xec\xc2\xce\x27\xd5\x0d\x8f\x15\x20\x5b\x05\x0f\x1b\x29\xcc\xd9\x24\x9c\xc4\x5e\x2e\xf7\x53\x98\xd3\x55\x68\x25\x28\x8c\xe9\x58\x60\x98\x09\xf6\xfa\x54\x25\x26\xd5\xa0\x62\x95\xd8\x81\x9d\xbc\x1c\x52\xa8\x56\x15\x27\x07\x8c\xb1\x70\x84\x80\x4d\xa5\x82\x81\x97\x8d\x66\x14\xa2\x7a\x52\x82\x71\xf1\xb8\xb5\xa5\xca\xcf\xec\xc8\x3e\x30\x6b\x78\x17\x00\x35\xbc\x0a\x18\x29\xef\x5a\xeb\x45\x18\x00\xb7\x00\xee\x60\xbd\x5b\xe0\x51\xab\xc0\x41\x1e\x13\x7b\x01\xf2\x84\x6c\x6d\xf5\x63\x80\x14\x1c\x3c\x50\xe1\x7b\xc6\xfe\x36\x98\x6d\xa4\x7a\xd2\xf0\x58\xf9\x97\x1e\x1a\xe9\x59\xd9\xf4\x43\xfb\x60\x56\xde\x05\x8c\x91\x80\x17\xcc\xec\x1c\x4f\xed\x3a\x7b\x22\xef\x47\xb0\xef\xac\xb4\xc1\x16\x6d\xfc\x78\xc4\xb6\x3b\xda\x54\x5f\xc2\x37\x1f\x1d\x0a\x0c\x66\xd6\xa1\x5c\xcd\x5d\x6a\x55\x53\x0b\x66\xf5\x3a\xf1\xab\xa2\x44\xff\x14\x4a\x0b\x7a\xa7\x82\x93\xcf\x1b\x6c\xa3\x77\x8c\xa3\x16\x8b\x93\xb8\x09\xf6\x31\xea\x46\xa8\xbd\x1a\xe1\x10\x98\x41\x6a\xb6\xf9\x18\x42\x7e\xa2\x26\x04\x35\x91\x26\xfc\x2e\xf3\xf8\x62\xd1\x52\xd1\x1e\x97\x51\x44\x11\xa1\x94\xbf\xcd\x30\x0b\xbc\x86\x92\x18\x29\xf9\x03\xa4\x5f\x4f\xf2\x99\xe6\x09\xf0\x51\xfe\xb1\x5c\x10\xb7\x6c\x3c\xa0\x8b\xd8\xf0\x74\x40\xd7\xdf\x39\x0f\x63\x79\x3d\x81\x13\x58\x0e\x26\x8c\x99\xe9\x50\x8d\x4c\x1e\x2b\x2a\xff\xc1\xcd\x1c\x97\x90\x89\xed\x7a\x8b\xc5\xab\x24\x1e\xe4\x69\x04\x6f\xfd\x84\xe1\x8d\x27\x8a\x1b\x59\xfd\xf3\x67\xe6\x96\x40\xec\xf8\xca\x52\xc2\x54\xbd\xc0\xa6\x88\x5c\x2d\x26\x5c\x22\xde\xaa\xd5\x97\xcb\x7c\xc3\x89\xa2\x4d\xd3\x2a\xa6\xb1\x49\xdf\x7d\x0b\x48\xb4\x2f\xdb\x80\x16\xbd\x09\x25\xc3\xf4\xf7\x2d\x72\x2f\x76\x54\x51\xf8\x03\xfb\x7b\xcd\x67\x7f\xfa\x93\x04\xa3\x34\xf7\xac\xc9\xfc\xba\x31\xed\x77\xe0\x77\xf6\x2c\xf8\x77\x59\xcb\x9a\xd8\x7c\x50\xcb\x6b\xf3\x3d\xce\x69\x30\xe0\xfb\x23\x90\xf0\x99\xfd\x03\x70\x60\x44\x88\x63\xa1\x3c\x94\xc8\x7e\xaf\x85\x85\xd9\xb9\xee\xe6\xa3\x26\x4f\xfc\x54\x74\x4a\x5a\xf1\x34\xae\x79\xaf\x12\x06\x91\x81\x43\xad\x6c\xa6\xe6\x68\xc3\x5f\xe4\xce\x85\xf3\x99\xec\x40\x55\x22\x2c\xba\x38\xa2\xbd\xe9\x45\x42\xf7\xf7\x25\x2a\xca\xe5\xc8\x53\x91\x25\xd1\x95\x98\xa0\x7e\xde\xcd\x56\x55\xe1\x7b\x65\x79\x84\x81\xab\xad\x76\xbb\xb3\x8e\x74\x95\xba\xd2\xe8\x39\x0a\x21\x3a\xa8\x30\xc6\x70\x17\x4a\x5f\xa7\xf5\x58\x5c\x01\x32\xb9\x71\x26\x61\xb6\x80\xa8\xda\x61\x5e\x6a\x31\x11\x53\x91\xea\x08\xd1\x8e\x56\xac\xa1\x20\xd1\x2c\xd5\x9b\x21\x28\xaa\x5a\xca\xf5\xac\x0a\x01\x7c\x2e\x2c\x57\x07\xea\xe9\x88\xd6\x59\xb9\xae\xa9\xc3\x51\x22\xdb\xe0\x5a\xca\x3f\x6a\xe4\xda\xb3\x55\x43\xc0\x5f\xc0\x0c\x67\x5d\x03\x7f\x38\xa4\x96\x06\x3b\x17\x0d\x82\xff\x51\xb9\x59\x48\xe0\x1a\xea\x91\xd2\xe6\x49\x81\x0a\x9c\xed\x1e\x9a\x94\x2d\xa5\x7e\xcc\xea\xe8\x2a\xae\xaf\x1d\xd6\xb4\xe9\xc6\x28\x68\xe9\xbd\x17\x94\x80\x69\xb8\x88\x44\x93\x62\x36\xd5\xbc\xa3\xa3\x23\xaf\xce\x92\x85\x48\x79\x9e\x60\x8c\x07\x91\xe5\x18\xa1\x2a\xcc\xd5\x63\x26\x86\x25\xcf\x50\xeb\x91\x73\x08\x21\x1f\xc6\x0c\xfc\x92\x48\x0d\x20\x85\xba\x65\x98\xcd\xe4\x29\x74\x61\x54\xab\x54\x1f\xb5\x59\xf0\x09\xc1\x49\xfc\xb2\x28\xcc\x45\xca\x23\x27\xce\x92\x12\xa4\xf2\x44\x79\x07\x98\x40\x55\xe3\x35\xa6\x9b\x82\x45\xc4\x67\x1f\xed\x9c\x57\xf1\x38\xd5\xc2\x2a\x4a\xda\x57\xe8\xbe\xa9\x05\xd5\x51\x4d\xde\xf4\x4e\x4f\x6f\xac\x2f\x2b\xa8\xca\xa0\x75\xbb\xb1\x36\xd4\x70\xfc\xec\x52\x08\x2e\xa8\x4f\x37\x05\x4a\x0a\xbf\x47\x45\x9b\x89\x9f\xc8\x08\xe3\x90\x29\x81\x5d\x55\x9f\xa3\x49\x45\xa9\xbe\x91\xec\xdd\xab\xcb\xa1\xf9\x43\x27\x65\x8f\xd5\x1e\x6f\xce\x25\xf5\xae\x04\xcb\x96\x29\xa6\x2c\x32\xea\x57\x2d\x18\x69\x25\x3b\xbc\x1a\x3e\x3a\x6f\xb5\x5a\x1f\x1f\x99\x44\x36\x5a\x05\x7f\xc4\x1e\xd6\xb6\x7e\xfd\xe5\xfc\x97\xd5\x93\x5f\x3e\xfe\xdb\x16\x24\xf6\xaa\xe1\xae\x68\x21\x48\xe2\xdf\x2a\x6e\x8b\x6b\x08\xec\x86\x6e\x51\xd6\xca\x14\x21\x85\xb2\xcb\xe8\xbe\x7e\xf8\x41\xa3\xf4\x87\x1f\x24\x0a\x9d\x3c\x2e\xaa\xb1\x19\x3a\x59\x22\x43\x67\x18\x56\x3d\x88\x04\x4f\x41\x2f\x6e\x3f\x0e\xd1\x43\x88\xb9\x96\x28\xfd\x2d\x3e\xd1\xae\x78\x98\xa3\xda\x5f\xe8\xd7\x04\x38\x84\x42\x8d\xd2\x89\x3e\x42\x75\x9a\x17\xbd\xf6\x3a\x68\x3f\x6c\x77\x58\x77\xab\xe8\x0b\xfc\x4f\xd9\x60\x2d\x54\x68\x03\xeb\xcd\xb8\x28\x5c\xd5\xb5\x76\xae\x28\x5a\x74\xea\x56\x92\xac\x6f\x1c\x96\xb2\x11\xff\xf6\x51\xf9\xdf\x3a\x2a\xcb\xf5\x4a\xb1\x46\x75\xd9\x40\x70\x0a\x7e\x15\x8b\xa5\x2a\x9e\x9d\x3b\x08\x98\xb7\x21\xaa\xaa\x66\x72\xe6\xc5\x26\x72\x9f\xdd\xd4\x46\x7e\xf7\xca\x39\x8a\x6e\x66\xfc\x86\xc9\x9f\x4c\xe5\x5e\xe6\xd9\xe5\x29\x49\xc4\x18\xf4\x5f\xe4\xac\x46\x79\xe4\x34\x80\xba\xbc\x42\x23\xcd\x03\x47\x05\x43\x70\x7c\x52\x7b\x40\xb4\x8d\x7e\xd3\x3c\x08\x92\x65\x9c\xd3\x6d\x84\xc8\x58\xbd\x70\x00\xc9\x6b\xcb\x51\xd2\x82\xc9\xab\x37\xc4\x44\x5a\x3f\xa0\x93\x3e\x05\xe7\x50\x93\xda\x4e\xbb\xc6\xc0\xdd\x18\x5e\xb7\x25\x70\xcb\x54\xfb\x8c\x8f\xd5\x63\xa1\x65\x53\x8a\xf0\x1e\x0d\x4e\x4f\xd8\x5f\x28\x9b\x12\xfc\xe1\xb3\xa7\xac\xc3\xfe\xf2\x48\x9d\x06\x38\x9b\x23\x79\x37\x70\xb0\x01\xca\x0a\x75\x5b\x70\xe4\x3b\xb9\x27\x55\xd2\x03\x2d\x91\x69\x69\x0c\x45\x0d\x68\x78\x68\x41\x68\xc8\xd1\xc8\x41\xfc\x8f\xee\xf4\x7f\xc8\x46\x6a\x9c\x5c\x91\x7e\x46\xb2\x9a\x43\x45\xb5\x08\x08\x5c\x21\x78\x94\xe3\x5f\x72\xcd\x0f\xe1\x7f\x8c\xf4\x4f\xa3\x22\xaf\x0f\xc5\xc9\x95\x13\x08\xb8\x8e\xe2\xef\x35\x1a\xb8\x91\x79\xa9\x92\x25\xae\x0d\x1c\x26\xa6\xdf\x9a\xc6\x61\x9e\xb1\x2c\x41\x7d\x24\x64\x8f\x48\x21\x14\xd0\x7c\x19\x53\x0a\x0a\xa5\x6d\x31\xe2\x5a\x6a\x3c\x7c\x15\x7e\xcd\x5e\xc4\xed\x37\x77\xac\xf9\x36\x0a\x60\x6e\x2a\x3a\x4d\xdc\x34\xfa\x96\xb5\x43\xbf\x5a\x04\x93\x17\xe8\x1a\x1a\xd4\x39\x3c\xa6\xc1\x0c\xd2\x2c\x95\x83\x1c\xfe\x9d\xf5\x5d\x66\x1c\x24\x20\x58\xf8\xfe\x40\x76\x9f\x8e\x41\x8f\x03\x01\x4d\xe3\x36\x9b\xc3\x6a\xad\xde\x49\xac\xbf\x34\x5c\xb3\x58\xdc\x10\x10\xdc\x4f\x05\x7d\xc6\xa6\xfa\xb4\xb1\xa2\x73\xc9\xad\x6c\xd2\x05\x9a\xa7\x54\xdd\x8f\x9b\xc3\x70\xa0\x9f\x5a\x83\x64\x6e\x4c\xc7\xf0\x09\x4b\x08\x95\xf3\x37\xe2\xc1\x25\x9b\xf3\x8b\x30\x68\xb9\x8b\xa8\x64\x20\x83\x5a\x23\xe2\x82\x00\xf5\xf9\xf3\x26\xb1\xf7\xa1\x62\xc6\xb2\x8e\x5c\x91\xcf\x9f\x81\xa2\xea\x75\x57\xa5\xa8\x4d\x85\xc2\xcc\xd1\xb5\x5b\xaf\xbc\x94\x02\x95\x30\x06\x39\x12\x31\x0b\xad\x51\x29\x2e\x63\xe7\xcd\xb6\x94\x63\x45\xb1\x38\x50\x2c\x8a\xeb\x90\x02\xaf\x39\x3e\x78\x2d\x6b\x54\x60\x90\xc9\xe3\x02\xdc\x86\x2c\xaf\x7e\x81\x46\x9d\xb7\xca\x15\xa9\x20\x05\x3c\x46\xfb\x4b\x30\x3f\x5e\xca\x6f\xc0\x05\xd1\x26\x22\xa0\xc5\x0d\xe1\xad\xbc\x52\xf7\x08\x89\x99\x60\xa9\x48\x6c\x96\xcb\x65\x0c\x0b\x50\x2e\x95\x92\x57\xc3\x44\x74\xa5\xf0\x92\xf0\x34\xad\x80\x39\xfc\x82\xac\xcf\xe2\x4b\x9c\x66\x02\x4a\xd1\x48\xb8\xe6\xda\xae\xc1\x9d\x31\xa9\x55\xd7\x56\x55\x0f\xcd\xb6\x2f\xe3\x64\x45\x57\xd7\x3c\x5d\xd3\xdd\x35\x54\xb9\x93\x44\x41\xae\x02\xb5\xae\x02\xa6\x9e\x51\x81\x14\xdd\xf5\xda\xa8\xd6\xb6\x48\x0e\x50\xa0\x4f\xe1\xc8\x65\x64\x16\xef\x2a\x5c\x0c\x5b\xc8\xb5\xbe\xc3\xcd\xd0\xd2\x23\xdc\x7e\x33\xb4\x77\x88\x23\x2b\xab\x3c\xfd\x47\x47\xac\x53\xea\xcf\xad\x49\x59\xd9\x6b\xc8\xb7\x7f\x62\x3e\x3b\x64\xed\x7a\x83\xf9\x86\x0b\xde\x43\x67\x5a\xc6\x28\x5e\xad\x2a\xdf\x5f\xa9\xd6\x43\x77\x22\x2e\xea\xe4\x55\x17\x6f\x7d\x5e\xb5\xd6\xe4\x84\x52\x74\x73\x8a\xf5\xe1\xb1\x27\xec\xcf\xa7\xaf\x5f\xb5\xb0\x55\x38\x5d\x53\x3f\xf5\x8d\x7a\x93\x53\x49\xdb\x2e\x51\xab\x4c\x8d\x65\x37\x62\x23\xe0\x64\x21\x18\xb1\x81\xad\xc0\x72\x8e\x37\x68\x04\xa8\xc1\xcc\x78\xa6\x85\x25\x48\x11\x70\x83\xc4\xd4\x22\xac\x54\x1d\x8b\x47\xcc\x48\x9a\x06\x0b\x45\xb2\xb4\x84\xc9\x0d\x40\x40\xee\x74\xa8\xfb\x1e\x8d\x51\x00\xa5\xd6\xc5\xe3\xbc\xb0\x99\x14\x59\xb5\x1b\xac\x53\x87\xd6\xbf\x5c\xfb\xe3\x73\x38\x23\x6b\xc4\xbf\x2d\x8e\x0e\xc4\x67\xb3\xf2\x33\x57\x31\xa4\x6c\xa4\xcc\x43\x0f\xe5\x61\x98\xa8\xec\x55\x79\x1a\x5e\x5c\x40\x0e\x65\x63\x8f\x09\xfc\x00\xec\xbd\x02\xd4\x89\x99\x37\x67\xb5\x42\x70\xe2\xce\xf9\x9a\xf2\xe4\x25\x68\xe2\x68\x6b\x99\xf2\x44\x81\xaa\x34\x49\x24\xf6\x29\x25\x50\x65\x18\xa9\xb5\x47\xf3\x64\x62\xed\x5a\xdc\x60\x70\x96\xb9\x08\xb0\x2e\x30\xf3\x64\x22\x65\xa0\xa7\x1d\xcf\x79\xb6\xb7\xc4\x90\x87\x04\xe7\xc6\xe6\xdb\xe5\xe6\xba\x77\x05\xa7\x70\xb9\x31\x8d\x77\xca\x8d\xad\xdb\xb2\xd5\xbf\xbc\xe3\x94\x9b\xef\xde\xd0\xb7\x0d\xc7\xb9\x76\xab\xc6\xdd\x8d\xf3\xb6\x9b\x22\xb5\x94\x1a\xef\xdd\x3e\xeb\x8d\x93\xde\x57\x6d\x8b\x5c\xd6\xe2\xa4\xdb\x8e\x9a\x00\xdc\x35\x48\x79\x25\xef\x19\xda\x0b\x08\x85\xaf\xdf\x45\x9a\xd8\x19\xf1\x96\x71\x24\x8f\x74\x75\xfe\xb7\x8a\x4c\x19\xf7\x87\x2f\xb9\x97\x1c\xd3\x13\xe6\xee\xa3\x8e\x62\xc8\x55\x99\xa6\x5f\xa3\x4b\x08\xe6\x67\xc4\xee\x79\xce\x22\xc1\x33\x34\xb9\xd4\xc3\x28\xf5\x5a\xda\xac\xee\xa4\x9b\xcc\xaf\xab\x01\x51\x53\xd3\x5c\xb5\x2a\x37\xb1\x50\x59\x4a\xa7\x5b\x16\xef\x0c\x56\xbf\xe2\x84\xa2\x96\x15\xb7\x75\xb5\x09\x8d\x75\xeb\x06\xb8\x6d\x83\x5a\xd5\x86\x9e\x31\x75\x53\xf7\x35\xd3\xd4\xc5\x6e\xf1\xfd\xb2\xbb\x83\x04\x36\x11\xec\x4f\x47\xec\x60\xd7\x1e\x87\x35\xb5\xca\xc7\x49\xd9\xa8\xc9\xba\x3b\x16\xe8\x2f\x0f\xec\x9f\x36\x59\xde\x74\x1d\xc1\xa7\x5e\x73\x11\xb1\xa8\xd7\x37\x03\xb2\xa6\xa8\xae\x44\x55\xaf\xb5\x77\x1c\x79\xdd\xd9\x39\x18\x8b\x38\x15\xd9\x02\xa2\x70\x44\xf9\x56\xd1\xff\x11\xb2\xa9\x86\xda\x56\x73\xce\x17\xfa\xb1\x82\x67\x46\xd7\xab\xa0\xe1\x31\x6e\x3b\x98\x42\x42\xd6\x54\x47\x23\x9c\xe0\xad\x0a\xfa\xd1\x90\xcc\x2d\xc8\xf0\xef\x60\x26\x82\xcb\xaa\x21\xb5\x34\x72\x6f\xc6\x2e\x3d\xaa\xd7\xd9\xe7\xcf\x7a\x9d\x40\x6d\xa3\x9b\x14\x00\xd7\x2b\x68\x9b\x8c\x7c\x9f\x58\x7a\xf8\xa2\x21\xd5\x86\x77\x6d\x12\x63\xee\x13\xc8\xe6\x93\x56\x0d\x6c\x88\x68\xb3\xfb\xbf\x24\xa2\x8d\xca\x6f\x03\xde\x3d\xf0\xf0\x9e\x26\xf3\x0a\x05\xfa\x1b\xf0\xb1\x84\x04\xc4\x3c\x36\x82\x15\x9a\x94\x39\x97\xd9\x11\x28\xa8\x57\x38\x0f\x1d\x46\x43\xcd\xc4\x55\x3e\x81\x8f\x9c\x7a\x8c\x87\xc7\xcd\xea\xe8\x1c\x2c\xcb\x8d\x77\x91\x64\xc8\x91\x3a\x21\xc6\xcb\x30\xca\x9b\x61\xac\x02\x7f\x2c\x60\x51\x30\xc6\xb3\x07\xc6\x93\x71\x18\xc0\x99\x85\x76\x2a\xe0\xd2\x47\x46\xf3\x57\xf8\x74\x22\xaf\x89\xd5\xe1\x3d\xd0\xd4\xb9\xf2\xcd\xb5\x6f\xe2\x83\x54\x19\xb9\xa9\x79\x7f\xa2\x64\xa3\x4e\x72\x0c\x48\x99\x03\x96\x2e\x8a\x88\x6e\xea\xc1\x09\x73\x2a\x78\x6a\xf5\xc8\xee\xd8\x65\x6f\x32\xa1\xf8\xfe\x4a\xdd\xa3\x93\x80\xc9\x45\xe5\x11\x24\xda\x47\xc9\x2f\xc3\xe0\x44\x0b\x9e\x82\x95\x37\x04\xfd\xc9\xd0\xd7\x78\xb1\xc4\x07\x68\x70\x00\x04\xf7\x2c\x4c\x13\xc6\x27\x13\x1a\x2c\x2c\xea\x5c\xca\x6d\x13\x91\xf3\x30\xda\x10\x61\xa8\x82\xb0\xbe\xc8\x05\xa4\xdf\xcb\x39\x68\x3f\xab\x19\x7f\xde\xf4\xb4\xf3\x85\x68\xf2\x8e\x98\x34\x43\x76\x5e\xca\xcd\x18\xd4\x89\x6d\x2c\xdc\x8c\x6e\x50\x45\xda\x07\x03\xb6\x30\xcb\x8b\xea\xc2\x4f\xe7\x06\x4e\xe9\xa5\x5a\x36\x50\xdc\xab\xca\xc4\x55\x7e\xaf\x32\x6c\x35\xad\xcf\xc3\x8f\x2d\xab\x83\x39\xcf\x83\x99\x41\xa4\x35\x87\xba\x7d\x54\x9a\xe1\x13\x0c\x73\x24\x6a\x7d\xbd\x7d\x2e\x5a\x37\x8f\x82\x86\xd3\x55\x19\xea\xb3\xae\xa4\x40\x37\x3d\xfe\xcd\x8c\xe9\x90\x95\x71\x7c\x48\x3f\xbf\x58\x42\xfd\x43\x1b\x4f\x45\x0a\xaf\xc2\x2f\x3b\x62\xe7\x54\xe1\xe3\x66\xd3\xdc\x1b\x41\xb4\x16\xcb\x6c\xa6\x67\xab\x65\x20\x58\x91\x2c\x49\x73\x13\xf8\x9a\x37\xd8\xd8\x46\x2e\xbd\x00\x6f\xa4\x6e\x68\x3e\x48\xe6\x0b\x9e\x8a\x9a\x25\xbd\x30\xc6\x5b\x36\x3e\xc6\xd6\x5f\x5a\x66\xf9\xe2\x18\x05\xdf\x69\x5b\x4f\xc1\x31\xd5\x6c\x49\x12\x09\x14\x13\x57\x37\x67\x71\x1d\x66\x79\x06\x37\x3d\xf2\xd8\x30\x47\xbf\x82\xf5\x12\x6e\x61\x0b\x11\x84\x53\xb4\x81\x25\x20\x19\x26\x3f\x5e\xa4\x22\x10\x13\xbc\x08\x02\x3f\x05\x0b\x76\xf4\x86\x0d\xa3\x49\xc0\xd3\x49\xd6\x62\xec\xe7\xf0\x4a\xc0\xbe\xd6\x07\x82\x1c\xd6\x23\x78\x7c\xe8\x3d\x82\xfb\x26\xfe\xf1\xb8\xd9\x7b\xd4\xa0\x34\x2f\xfa\x33\x3d\xe0\xa1\x46\x56\x95\x5a\xd0\x70\xf8\xb0\x11\xb4\x14\x64\xc0\x81\xf8\x83\xce\x19\x13\xc8\xe8\x67\xa3\xc9\x5c\x85\x49\x20\x6a\xd8\xe8\xd0\x99\x05\xd1\xbe\x13\xd7\xf7\x8d\x64\x8d\x69\x0b\x38\xa4\xe6\x3f\x0a\xa6\x3c\xfd\xc4\x35\x9f\x2f\x22\x71\x88\xa6\xfa\x52\x70\x93\xe0\x28\xfd\x31\xc5\xb5\xb1\xad\x89\x4d\x9e\x31\x7c\x85\x7f\x34\x0b\xd7\xfc\xe1\xa3\x16\xb6\x37\xac\xaa\xe6\x61\x5b\xaf\xc1\x1e\x79\x50\xc7\x7b\x24\x69\xc3\xee\x25\xe0\x71\x20\xa2\x82\x5f\xa4\x88\xf3\x30\x15\x11\x24\xeb\x86\x84\xd5\x56\x34\x9d\x7a\x45\x37\xbd\x28\x6f\x1e\x7b\x8d\x5b\xdf\xf5\x8b\x9d\x8b\x6b\x11\x2c\x29\x1d\x3f\x3a\xbb\xc4\x13\xe3\x57\x62\xe9\x63\x2a\xe7\x75\xe6\x35\x0a\x67\x29\x7a\x3a\x38\x99\x22\x7e\x4e\x72\xc6\xd9\xd9\x43\x4f\xf5\x7d\xc3\xe6\x2b\x98\x08\x3c\x56\x7b\xe9\x71\xc5\x01\xf3\xaf\x77\x30\x15\xce\x25\xf7\x40\x52\x76\xbe\x60\x84\x84\x26\x40\x37\x08\x6d\x78\x8a\x43\x1c\xa0\x0c\x57\x7f\xa5\xb5\x62\xa4\x15\x94\xe2\x53\x85\x4a\x10\xe5\x75\x73\x58\x3a\x23\xd9\xa4\xf6\x7b\x86\xda\x75\x96\xcb\x3d\x87\x46\x4b\x66\x7f\xa9\xe7\x42\x37\x1a\x1b\xee\x29\x52\x74\x2e\x5a\x52\x2e\x06\x2b\x05\x6d\x28\xae\xb4\x00\x18\xa1\x2d\x5d\xd3\xf8\xb4\xda\xea\x88\x2d\xf4\x8e\x3c\xa5\x42\xca\xe3\xcd\x02\x8e\x09\x69\xae\xab\x63\x56\x8b\xeb\xea\x99\xc0\x31\xb4\x68\x85\xd9\x80\x52\x43\xd5\xea\xd5\x00\x16\x2a\xf8\xf5\x10\x6c\xab\xc5\x44\xa5\x21\x55\xa3\x43\xe5\xa9\xfa\x6b\xb3\xbe\x74\x03\x43\x82\x79\xa1\xa1\x96\xbe\xab\x29\xdd\x28\x3c\x0d\x04\x3c\x8a\xf8\x38\x12\x85\x35\xb5\x94\xe4\x85\x65\x55\x18\x76\x16\xd2\x60\xd5\xba\x55\x2d\x0a\x7c\xae\xa6\x95\x25\x25\xac\x6e\xc4\xab\x9b\x07\xe6\xcb\x3f\x09\xbf\x25\x52\xae\x8e\x05\xa8\xc4\x28\x0d\xcd\x22\xf7\xc2\xd9\xab\x53\xc6\xe8\x43\x4d\x0a\xd0\x18\xb3\x64\x49\x3e\x63\xf2\x16\x9e\x4c\x15\xbb\x38\xd4\x6b\xda\x6a\xb5\xbe\xd8\x1e\x39\xe0\x23\x6a\xef\x05\x70\xc6\x81\x85\x07\xb5\x28\x5f\xd0\xf3\x5b\x9c\x27\xcc\x0c\x33\xd3\xb1\x27\x25\x24\xd9\x19\xf8\xd5\x66\x58\xaf\xc4\xa4\x0c\x57\xda\x78\x5e\x29\xb6\xfb\xad\xc7\x16\x53\x87\xd5\xa1\x39\xac\x1a\x05\xd8\x5f\x7d\x58\x31\x3a\xa2\x0e\x6f\x3d\xa2\xb0\xcb\x2f\x05\xa6\xaf\x32\x87\xcd\xf9\xe2\xde\x7c\xd9\xb9\xf2\xcd\xf9\x02\x69\x56\x8b\xf2\xb8\x48\x4c\x7f\x28\x11\x1e\xb2\xd0\x39\x5f\x48\x11\xf4\x63\xbd\x94\xc7\xe8\xad\x39\x2f\x95\x78\xa3\x1e\x4d\xa0\x4c\x64\x39\x89\x3a\xae\x0d\xa8\xb2\xa8\xc0\xb4\xa7\x30\x6f\x79\x13\x5f\x46\x11\x29\x85\x52\x81\x91\x5c\xb0\x75\xf1\x66\xa6\x50\xa2\xc0\xf4\xd4\xb1\x81\xeb\xcc\x95\x85\x86\x09\x57\x22\x09\x0f\xb4\xb1\xca\x29\x11\x2e\x7e\x2a\xc9\x2c\x55\x0b\x45\x66\x9c\xc3\x29\x1c\xab\x79\x66\x04\x07\x78\x70\xc5\x50\x40\x63\x3e\x17\x94\xc4\x71\xbe\xd4\x33\x45\xa9\x12\x8c\x78\xf1\x21\x62\xb3\xa4\x6d\x60\xdf\x71\x65\x8d\x6d\x47\xe1\xc4\x05\x8b\x05\x7d\xfd\xdb\x78\xd1\x93\xd5\xca\xf6\xc8\x70\x7d\xb1\xd8\x90\xb1\x00\xbe\xcf\xa5\xcf\xbd\x77\x3a\x17\x37\xeb\x62\x56\x75\x1b\x94\xa3\xd2\x93\x28\x24\x8d\xa0\x66\x9a\x33\x3a\x23\xbc\x87\x0e\x0c\x95\x8c\xff\xa7\x63\x3a\x13\x33\xb1\xe3\x3a\x9f\x59\xf6\x0a\xa4\x74\x82\x35\x9d\x51\x20\x36\x15\xe4\x39\x07\x8f\x10\xae\x15\x6b\x28\x64\x61\x9c\x17\x88\x6f\x04\xb6\xec\xac\xc6\x2f\x31\xf4\x9d\x31\x51\xcf\xea\xb8\x2f\x64\xb1\x04\x66\x19\xaf\xe7\x22\x8a\x90\x0f\x14\x82\x2c\x53\xf2\xf6\x64\x65\xb9\x72\xe9\x10\xa5\xf6\x41\x43\x86\x2c\x10\xc0\x0d\xb5\x35\x19\xfa\x5f\xc9\xa3\x44\x45\xdd\x29\xc5\x6f\xc8\xc0\xa9\x92\xac\x29\x24\x2c\x63\x5a\x69\x9b\xd1\xb8\x1e\x5d\x8d\xa2\x4a\x9a\x82\x6e\xac\xd2\x24\xbe\xd0\xcf\x89\x8f\x15\x16\x1b\x74\x6f\x48\x31\x19\xa6\xb6\x89\x31\x7e\xd0\x99\xe5\xfe\x73\x1c\x4e\xc1\x3b\x3e\xa7\x30\x39\x59\x83\x65\xcb\x60\x26\xe7\x70\x7c\x95\xa4\xfc\xd2\x99\xa9\x13\xaa\x1a\xfa\x82\xb9\x26\xe8\x01\x4a\x10\x58\xae\x1d\xc4\x40\x45\xa7\xf0\xc7\x38\x5a\xe1\x26\xb1\xeb\xe6\x4d\x4e\x6e\x60\x7b\xbd\x4c\xc7\x10\xa2\xe1\xb1\xba\xe8\x2c\x79\x44\x53\xb6\xf0\x2f\x79\x30\x05\x18\x0b\xb3\x6c\xa9\x0e\x51\x2b\x08\x4a\x26\x7b\x89\x93\xb8\xf9\xee\x54\x77\x94\x49\x46\x0e\x15\x75\xc9\x03\x15\xae\x0b\x14\xf6\x6e\xca\x4f\x1d\xb0\x12\x5d\xfd\x38\x1a\x13\xc9\xbe\xc1\x64\x1c\x4d\x5b\x94\xc7\xdd\x9c\xaf\x31\x1f\xfd\x15\xd9\xb8\x80\xa9\x8d\x14\x8d\x68\x55\xec\xd1\x5b\x6f\x71\x16\x2f\xd6\xa6\x41\x72\x27\x80\xe9\x0b\x8c\x60\x53\xe8\x71\x09\x0b\xa2\x8f\x37\x30\x8a\x0d\xde\xdf\x95\x28\x21\xe8\x71\x38\xcc\x23\x31\x61\x8f\x7a\x14\xbd\x08\xcc\xa9\x21\x9c\xcc\xa6\x70\x48\x18\xdf\xd9\xe6\xdf\xf0\xc9\x52\x90\x5e\x1a\xbf\x64\xf5\xeb\x53\xeb\x1b\xec\xc6\x23\x3b\xeb\x26\xca\xc8\x65\xb9\x8f\x33\x29\xdc\xe1\x06\xb3\x36\xa7\x8d\x28\x6b\xcb\x82\x28\x3f\xe3\xd9\x4c\x59\xd3\x2b\xdf\xcb\x69\x12\x45\xc9\x8a\xce\xc4\xec\x90\x79\xf8\x7c\xe6\x35\xb4\xad\x1e\x1c\xe2\xda\x40\x01\x45\x3d\x30\x35\x50\x5d\xb1\xa6\x32\x0b\xb7\x2e\x0c\x2a\x51\xf2\xda\x0a\x29\xd2\x62\x20\xe9\xe9\x9d\x4d\x62\x94\xec\x58\xc7\x60\x66\x72\x7b\x9a\xcd\x26\xae\x39\x26\x2b\x5c\x25\x16\x1f\xa8\x58\xb4\x07\xc5\x68\x37\x14\x0e\x87\xfa\x24\xe9\xb2\xc1\x3c\xde\x83\xe4\x14\x7d\xf9\xbf\xff\xd0\xc3\xe9\x1c\x3d\xf1\xb0\x22\x81\x71\x6c\xdb\x37\x0c\x4d\xd9\xc5\x23\xfd\x65\x7f\x5d\x72\x29\x78\xa4\x3c\x20\x26\x86\x44\x26\xc5\xc4\xf3\x93\x57\xa7\x1f\x65\x7f\xe7\x2f\x86\xa3\xb3\x8f\xb2\xab\xfe\x5a\x2e\x04\xc4\xfb\x48\xe2\x46\xa1\x3f\xda\xb1\x14\xe3\xdd\x84\xf8\x21\x78\xe3\x65\xae\x02\x82\xa1\xe1\x2d\x9d\x23\x2a\x40\xbb\x1d\xce\x82\x35\xd9\x2b\x74\x9d\x21\xc9\x4d\xd9\x3d\xc8\x6d\x6b\xe6\xa2\x63\xcc\xa8\x54\xbd\x62\xad\xec\xec\x28\xe0\x1e\xf5\xad\x6c\x5a\xc6\xc6\xec\x22\x36\xa2\x54\x8b\x81\x56\x1e\x12\x81\x6a\xc1\x90\x72\x5b\x0a\x65\xc4\x93\x59\x63\xa3\x30\xa6\xdf\x69\x70\x3c\x4a\xec\x6d\xac\x18\xda\x57\x8f\xae\x17\xe5\x7f\xcc\xc8\x6c\xef\x81\x7b\x8f\x8a\x62\x87\xfe\x01\xc3\x82\xc7\xce\xaf\x1b\x97\x8a\x03\x47\x59\x05\xac\x70\x65\x9b\x63\xc6\xf1\x4c\x67\x3d\x91\x22\x95\xec\x08\xdd\x60\x0b\x0e\x41\x60\xc4\xc9\x63\xc6\xd3\x94\xaf\x2b\x3d\xcb\xca\x1e\x44\xa8\xe7\xb5\xee\x85\x14\xec\xca\x49\x7f\xea\x86\x5a\xcb\x8b\x46\x49\xd0\x1f\x0b\x73\x90\x34\x50\xd3\x1c\xd3\x53\xdd\x26\x93\x25\x3a\x56\xc1\xcc\x08\xc5\x44\x6d\x4a\x44\x91\x08\xd5\x11\x16\x24\xf1\xa4\x99\x27\xcd\x88\x67\xb9\x8e\xbc\x42\x28\xc3\x8e\x6d\x6d\xf8\x2a\x0d\xf3\x5c\xc4\x0e\xb7\x83\xc8\x93\xc5\xa0\x70\xc4\x4c\x79\xa6\xb4\xe5\x62\xe2\x44\x4d\x33\xd1\xd2\x74\xa4\x34\xb8\x80\xbb\xc1\xd2\xec\xa3\xf3\x86\xa3\xce\xbd\x99\x3e\x57\xce\x92\xf6\xf1\x07\x36\xf4\xf2\x20\x32\xde\x9f\xea\x0a\x47\x87\xb6\x3a\xf5\xea\x15\xd6\x7f\xc7\x4b\x8c\x6a\x2d\x5c\x5f\x49\xe3\x29\x59\x38\x39\xcf\xad\x77\x98\x89\x98\x6e\xd6\x95\x14\x44\x5d\x0c\x79\x48\xe7\xa9\x94\xbd\x1c\x61\x55\x3f\x74\xe6\x10\x21\x4d\x9d\x06\x76\x7b\x9e\xc9\x5b\x52\x88\xa1\xc9\xd3\x0b\xcc\xb1\x06\xf7\x29\xc6\x86\x3c\x98\x01\x59\xab\xf2\xb0\x0a\x86\xb5\x5e\xdc\x50\x9f\x1a\x47\x8d\xe8\xd3\x0c\x25\x49\x2e\xd1\x50\x02\x54\x12\xb2\x8d\xdc\x73\xe3\xf0\x02\x4f\xf9\x95\xc0\x14\xc4\x10\x27\x01\xa2\xe7\x82\x0c\xaf\xf0\x69\x34\x36\xa9\x20\x73\x0a\x49\xb6\x2c\x4a\x72\xbc\x40\x4b\x21\x14\xc4\xe3\x2b\xb0\x15\x6c\xd5\x69\x20\x72\x32\xa5\x91\x5b\x56\xe9\x5d\x1d\xb9\xe8\x90\x99\xf5\x57\x41\xbb\x8a\x5e\x9c\x8f\x8d\x73\x95\x72\x2b\x31\x51\x91\xc0\xf8\xd7\x58\x7d\xd4\x89\x21\x11\xe9\x19\x82\x23\xde\x04\xaa\x27\xc1\x63\xba\xe5\xa0\x9f\xa2\x1d\x46\xe9\x1e\x44\xec\x68\x57\xae\x78\xfa\x89\xa7\x17\x59\x41\xc5\x62\x5d\x9c\xd5\xca\x66\x55\xb7\x67\xa5\x78\x41\xc8\x35\x5d\xf7\x3c\xfc\x78\xde\xfe\xd8\x70\xde\xe1\xe8\xdf\xdf\x08\x61\x87\xcc\xa9\xed\x57\xd7\x66\x84\xd6\x42\xed\xce\xa6\xda\x84\xf2\x42\xf5\xed\x4d\xd5\xd1\x65\xc5\xae\xba\xb3\xa9\x2a\xfa\xb3\x38\x75\x77\x3f\x56\x55\xfd\x52\x56\x38\x9d\x42\x32\x4e\xc7\x0e\x1f\x19\x9c\x1d\x22\x14\x73\xaa\xdc\x61\x25\x41\x68\xde\x60\x15\xe1\x4a\xd9\x1b\x32\x51\x2a\x9b\x7a\xbd\xe1\x28\x66\xab\xf2\x2f\x78\x34\xe7\x41\x9a\x3c\xd2\xdf\x33\xca\x7e\xce\xd8\x49\x4e\x91\x14\x43\x32\x17\xb6\x03\x35\x2b\xf7\x5b\x70\x52\xa9\x33\x00\xa2\xf7\x3b\xb1\x07\x30\x6e\x59\x53\x1c\x30\xa8\xd1\xb2\xfd\xb3\xc9\x7c\xb7\xa6\x76\x8c\xdc\x5e\x76\xbe\xce\x3b\xd8\xa6\x3b\xae\xc2\x96\xcf\x32\x99\xa4\x7f\xbc\xd5\xa5\xf8\x64\x8a\x82\x67\x29\x09\x03\xe3\x0d\x7c\xef\x1e\x1b\xe5\x41\xa6\xee\xe2\x29\xc4\x37\x5e\x12\x5a\x2a\x1a\x93\x0f\x40\x98\x6b\xb9\x45\x89\x2d\xb6\x61\xa5\xc6\x04\xbf\x74\x9e\xc0\x69\xb4\x26\xe0\x80\x85\x98\x82\xbf\x77\xcd\x78\x72\xa1\x4b\xac\x13\xda\xa7\xc2\x57\xd6\xb6\x09\xb3\xff\x3d\x54\xae\xde\xe4\xbd\x58\x4c\x16\x51\x67\x3f\x31\xce\x0e\xd9\xd8\x7d\x83\xa8\x5e\x44\x7a\x99\x28\x20\x7a\x9e\x4c\x28\xf3\x40\x55\x46\x89\xaf\xc3\x37\x35\xbe\x2f\xbe\x83\x7f\x61\x7c\x63\xd6\x8b\xef\x80\x6f\x89\x68\x1d\xcd\xbc\x09\xe1\xb7\x9a\x4e\xaa\x0b\x97\xcc\x6d\x04\x8d\xb3\xaf\x45\x50\x61\x5e\x9b\x72\x65\x7c\x97\xc9\x59\x6b\x51\x3d\x8d\x6c\xf6\xd5\xd3\xb0\x60\x17\xc6\x5a\xf0\xc7\x54\x39\x2d\xbe\x6d\x22\x44\x39\xd5\xd3\xe0\x51\xfe\x0d\xf3\x20\xd0\xdf\x01\xe3\xb6\x3f\x53\xe5\x40\xe7\xc9\xe4\xab\x07\x7a\xef\x9d\xf5\xad\x3b\x64\x90\xcc\x17\xcb\x5c\xca\x8a\x4a\x74\x33\x3a\x52\x0c\x88\x8a\x0f\x41\x8e\xb7\xa1\x9e\x6a\x90\x47\xb5\x60\x56\x67\x7f\x53\xdd\x56\x47\x73\x2a\x58\x2c\x83\xf1\xb4\x19\x01\x87\x1c\x05\x94\x15\xc6\xa8\x43\xe7\x7c\x01\x31\x40\x38\xc6\x2a\xb5\x3a\xad\xcd\xad\x1e\x8d\xd9\x22\xe1\xd5\x8e\x39\x7a\x3e\xff\x48\xc5\x5f\xcc\x22\x12\x97\x44\xa2\xcb\x53\xd2\xa4\x9b\xb0\xf6\xee\x62\x8a\x49\x6d\x1a\xdf\x6d\x29\xe1\x8d\xc6\xdd\xf9\xa5\xe0\xf4\xb6\x81\xd7\xd6\x16\xeb\x83\x8f\x9f\xe4\x08\x0d\x36\x4a\xd2\x15\x4f\x27\x28\xca\xbf\x15\x90\x14\x14\xf9\x7f\xc2\xf8\x55\x12\x4e\x58\xcc\xaf\xc2\x0b\x0e\x7a\x32\xbe\xe2\xa8\x94\xb5\xa1\xe5\x56\x42\x83\x05\xbf\x10\xad\xa2\x2d\x59\x21\x54\x4f\xb7\x8b\xb4\xe4\x94\xed\x55\x94\xed\xd7\xd9\x4f\x0e\x03\xbf\xed\x85\x94\x1d\xde\xb1\xba\xf2\x32\x65\x96\x15\x7d\x81\x84\xa7\x9b\xc8\x57\x6e\x9d\xe1\xe9\x40\x9b\x69\x2b\xb3\x8e\xc1\xe9\x89\xf6\xd1\xd0\x85\xa7\xa7\xdb\xaa\xf0\xb5\xc9\x05\xfe\xbf\x3a\xda\x88\x7b\x15\xc9\x6a\xca\x74\x1e\x5f\x3f\xa7\xa1\x88\x26\xa0\x74\x3c\x64\xe7\xf4\xea\xd0\x20\x5d\xa4\xba\xba\x35\xb4\x3b\x3b\x78\xb1\x83\xc4\xff\xf1\x81\x05\xc7\xb8\x2a\x43\xdc\x4a\xf5\xe4\x22\x09\xa3\x6d\xf2\xea\xc0\xae\x61\xec\x03\xf8\x9e\xfe\xb6\xcc\x72\xdb\x90\x44\x41\xd3\x61\x8d\x26\xa8\xa9\xc1\x77\x3d\xbc\xee\x8e\xd7\xfa\x96\x80\xf7\x83\x24\xb3\x72\x3d\xb0\xf3\x76\x03\xf4\xae\xef\x5e\x3d\x7f\xf5\xfa\xc3\xab\x8f\x5e\x03\x90\x5a\xfe\xff\x63\x43\x0f\x7e\x04\x91\xa7\xd3\x64\x45\x20\x3a\x7b\x0d\x09\x62\x78\x3a\x90\xcd\x87\xa7\x83\x46\x95\x40\xc2\x74\x30\xee\x86\xf9\xc5\x2a\xa5\xab\xd2\xb9\xef\x77\x1a\xcc\x3b\x1f\xf9\x12\x18\x70\x7c\x49\x5f\x4f\x98\xf7\xc6\x6b\x00\xfd\xc1\xaf\x75\x0b\x08\x16\x3e\xea\x6c\xff\xfd\x51\xa3\x0c\x6d\x1b\xa0\x75\x8a\xd0\xfe\xd3\x40\xfb\xcf\x4a\x68\x3b\x95\xd0\x76\x00\xda\x76\x11\xda\x5b\x03\xed\x6d\x25\xb4\xdd\x4a\x68\xbb\x00\x6d\xa7\x08\xed\xd4\x40\x3b\xad\x84\xd6\xad\x84\xd6\x05\x68\xbb\x00\x8d\x9a\xfb\xbb\x7f\xf7\x8a\xab\x51\x82\xb6\x5f\x09\x6d\x0f\xa0\x75\x1d\x68\x7b\x77\x80\x76\x50\x09\x6d\x1f\xa0\xed\x39\xd0\xf6\x6f\x87\xb6\xed\x57\x42\x3b\x00\x68\xfb\x0e\xb4\x83\x3b\x40\xeb\x54\x41\xeb\xb4\x01\xda\x81\x0d\xad\xd3\xbe\x03\xb4\x4a\x7a\xeb\xf8\x48\xbd\xed\x8f\x66\x11\x3b\xfe\x1d\xa0\x55\xd2\x5b\x87\xf6\x82\x6f\x43\xdb\xbe\x1d\xda\x4e\xf5\x4c\x71\x2f\xf8\x1d\x1b\xda\xce\x1d\xa0\x15\x66\xaa\x18\xc1\x29\x46\x9e\x37\x9c\xc0\x3f\x90\xe3\xfd\x1f\x09\x51\xc3\xc8\x66\x35\x29\xcb\x78\xff\x21\x29\x19\x7e\xfb\xd5\xab\xd7\x1b\x6e\x47\xe6\x1f\xf1\x1a\x00\xb7\x73\x20\x19\x8b\xff\xd0\x06\x17\xd4\x3c\x0c\x45\xf7\x6a\x39\x87\xfc\x0e\x8c\x61\x59\x2f\xca\x55\x11\xfc\xfd\x52\xe4\x1c\x0b\x14\xb8\x5d\xc9\xeb\xbc\xce\x7f\x7c\x2f\x70\xbe\x04\xb7\xfd\xff\xbe\x17\xb8\x8e\x04\xb7\xf3\x6f\xdf\x0b\xdc\xb6\x04\xb7\xfb\xef\xdf\x0b\xdc\x8e\x04\xd7\xfd\xf5\x7b\x81\xdb\x95\xe0\xf6\x7e\xf8\x5e\xe0\xba\x12\xdc\xfe\xe3\xef\x05\x0e\x0e\xb4\x83\xda\x77\x02\xb7\xb3\x2f\xc1\xb5\xeb\x25\x70\x4e\x1a\x54\x09\xa1\x00\xb0\xb2\x92\xde\xcd\xfb\x92\x0b\x36\x3f\xdd\x0e\xf5\x96\xef\x06\xa0\x64\xf9\x47\x4f\xbe\x17\x40\x94\x14\xc4\x34\xb9\x66\xcd\x4f\x20\x79\x1f\x3d\xa1\x9e\xf6\xb6\xbf\xef\xd0\xbb\xfe\x1f\x35\xf2\x93\x9c\x47\x21\x8f\xd9\x93\xc7\x6a\xe8\xb2\xab\x27\x65\x4a\xfb\x8a\xae\x10\xe2\x3e\x0a\x60\xfd\xe7\xa7\x6f\x24\x5b\x1e\x67\x35\x4c\x0a\xda\x60\xde\x2f\x63\x09\x07\x4a\xc6\xf0\xb7\x2c\xaf\x6f\x14\x9f\x8c\x70\x19\xa6\x36\x57\x3e\xc0\x1e\xce\x7a\x7d\xd9\x41\x36\xab\x79\xbf\xe4\xe6\x00\xf8\x8b\x84\x08\x92\x6f\x43\x33\xe0\x06\x2b\xcb\x65\xfb\xc0\xee\xfe\xfa\x9f\x5e\x63\x03\xe7\x66\xc8\xdd\x41\x9a\x2a\x89\x7a\x1a\x0a\x6c\xad\xd5\x87\xdb\xa0\x7c\xb8\x11\x4a\x17\x0e\x06\x31\xbc\x0d\xca\xf0\xe6\xb1\x00\xc7\x4d\xdf\xde\x06\xe5\xed\xcd\x50\x80\x33\xe6\x67\xb7\x41\x39\xbb\x19\x0a\xcc\x68\xfd\xdf\xb7\x41\xf9\xef\x9b\xa1\x00\x5b\x5d\xbe\xbb\x0d\xca\xbb\x1b\xa1\xec\xc1\xd1\x11\x9e\xdc\x06\xe5\xe4\x66\x28\x30\xa3\xe4\xf5\x6d\x50\x5e\xdf\x3c\x23\x38\xb3\x17\x6f\x6e\x83\xf2\xe6\x46\x28\x1d\x94\x18\xff\x76\x1b\x94\xf3\x9b\xa1\x80\x6c\xf7\xf1\xcb\x6d\x50\x3e\xde\x02\x45\xca\x9b\xbf\xfc\xf2\x19\xc0\x6c\x86\xf2\xcb\x2f\xce\x56\x2f\x6f\xf3\x51\xb2\x4c\xf3\x19\xec\x73\x56\xfb\x20\x20\xd4\x90\x15\x1d\xee\xcf\xe8\x3e\x02\x31\xe3\x30\xb2\xf4\xb1\xb8\x3a\x4b\x92\x88\xd2\xb3\xb2\xf3\x0e\xe0\xf6\x7c\xd0\x7b\x03\x36\x37\x66\xe7\xeb\x5f\x36\xfc\xdb\xc4\x22\xba\x40\x7e\x60\x36\xc4\x1c\x14\xc1\x84\x7a\x74\x6a\x56\xfc\xdb\xb8\xfa\x40\x89\xd9\x69\x35\xc0\xd3\xfb\x03\xec\xc2\x51\x3c\x39\xae\x06\x78\x7c\x7f\x80\x7b\x80\xc3\xe9\xa8\x1a\xe0\xe8\x2b\x00\x02\x9b\xbd\xf8\xb9\x1a\xe0\xcf\x5f\x01\x10\xb8\xdc\xec\x59\x35\xc0\x67\x5f\x01\x10\x18\xde\x6f\x7f\x2e\x01\x54\x92\xfe\x9f\x25\x4c\x49\x23\x05\xd0\x1b\x01\x02\xd9\x5c\x3e\xdf\x08\xf0\xb9\x16\xae\x20\x54\xdf\x27\x75\x7f\xd8\x08\x10\xc4\xc1\xe8\xc5\x46\x80\x2f\xee\x39\x42\x7f\x5f\xde\xad\x9f\x1e\x96\x00\x5a\xe7\xe6\xbd\x70\xd8\x81\x8b\xdd\x2f\xde\x23\xaf\xf1\x7d\x00\xfa\xdb\xa8\x83\x79\x75\x36\x7c\x0b\x06\x74\xbf\xa4\x08\x9a\xdc\x2a\x36\x02\xd4\xdf\x2b\x18\x4c\x38\x55\xfc\x85\xc2\x52\x62\xe0\x9f\x8c\x6c\xc6\x54\x8e\x0d\x96\xcd\x92\x34\x0f\x96\x79\xd6\x62\xec\x75\x0c\x8a\x2b\x05\xc3\xe4\x6c\x00\xcf\x27\xe0\x4f\x83\xad\xf7\x90\x18\x98\x32\xf8\xc2\x07\x29\x35\xcb\x0f\x18\x56\x96\x74\x5c\x98\xc4\x41\x81\xa2\xb6\x58\x53\x99\x52\x00\x8f\x23\x03\x25\x1d\x3b\x8d\x9e\xe8\xd0\x81\x82\xb3\x4c\x44\x42\xd9\x51\xa8\xfc\x16\x13\x9b\x55\xbe\x47\xa0\x8f\x9b\xef\x15\x58\x0a\x21\x53\x05\xbd\x06\xe1\xae\x14\x24\x34\x9e\xc8\x84\x98\x93\xbd\x53\x2a\x82\xe4\x22\x0e\x7f\x47\xeb\x14\xc4\x4f\x9e\x24\x75\x75\x43\x06\xd2\x3c\x3f\x7d\x76\x32\x3a\x2b\x2a\xdb\xca\xff\x36\x31\xda\x03\xe0\x3a\xbf\xff\xc5\x3d\x42\x80\xb4\xff\x52\xde\xd0\x1b\xb9\x2b\x30\xc3\xeb\xff\xaa\x80\xf2\x5f\x77\x87\xd2\x05\x89\x2e\x18\x14\xa0\xa8\xeb\xd2\xe0\x93\x03\xca\xad\x20\xd1\x3e\xb0\xe4\xf8\x7d\xc0\xce\xd5\xfb\x0d\xb0\xde\xdf\x06\xeb\xbd\x7d\x27\x00\x58\x60\xbd\x5a\xc1\x01\xfa\x05\x0e\x60\x57\xd0\xbf\xc3\x77\xcd\x54\x00\x5b\xf1\xab\x0d\x63\x7b\x75\xdb\xd8\x5e\x59\x63\xdb\x03\x9c\xcd\x5f\x56\x60\xfe\xe5\xdd\x31\xef\xcb\x05\xf4\x1a\x7f\x72\xa1\xf0\x28\xaf\x11\x17\x71\x38\xdc\x46\x28\x92\x98\xbc\xd6\x8f\xdf\x0a\x45\xca\x46\x5b\x3f\x55\x63\xfb\x93\xd6\xfd\xfc\x04\xbc\xfb\x06\xa9\xe6\x34\xbc\xce\x67\x98\xd7\x19\xac\xf0\x2c\xe5\x12\xaa\x99\x07\x67\x6f\x5f\x6c\x12\x57\x9c\x22\x83\x26\x68\xd7\x7b\x01\x1b\xee\xee\xed\x0e\xe0\x24\x3e\x7f\xd1\x7b\x73\xbf\xfe\xb6\xe1\xc0\x65\x5e\x09\x65\x46\x0d\xb6\x09\x8b\x07\xd0\xf4\xfc\xed\x7d\xbb\x3c\x40\xee\xff\xf6\xe5\xf0\xd5\x3b\xc3\x55\x6e\x6c\xe7\xbe\x68\xc0\x5b\x81\x7a\x12\xd8\xc1\x51\xbc\x79\x7b\x76\x3a\x78\x7b\xe3\x8b\x00\xe2\x77\x07\xd4\xd8\xa7\x83\xb7\x2f\x9e\x5b\xa3\xde\x58\x1d\xee\x05\xe7\xfd\xb7\xc3\xde\x2d\xd5\x9d\xc7\x12\x78\xcd\x4b\xa6\x2c\x0b\xaf\xf1\xe9\x0e\x13\x80\x93\x11\x28\x26\x68\x81\xc1\x83\x30\x71\x7e\xf2\xea\x74\xf8\x16\x16\x1c\x36\xe0\x73\xb1\xc6\xd4\x99\xb4\x4b\x8b\x0b\x50\x5a\x89\x6d\xe4\xd3\xcf\x5e\xbf\x1c\x22\xd5\x28\x30\xcf\x92\xb9\xd0\x5b\xfd\x76\x30\xb8\x30\x6f\x7e\x7e\xf7\xc6\x05\xf3\x86\x5f\x88\x77\x8b\xbb\x8e\x66\x07\x47\x73\x3c\x44\xb2\x30\x60\x8e\x45\x64\xf8\xce\xed\xa3\xd9\x25\x21\xe1\xb8\x00\x66\x18\x4f\xee\x03\x66\x87\x26\x75\x4c\x2f\x46\xf6\xa4\x20\x9b\x49\x15\x8d\x57\x6d\xf6\x9e\x5c\x39\xfd\xc6\x25\x8f\x6d\x2b\x32\x2c\x18\x63\xab\x00\x5a\xb0\xce\x65\xbb\x1c\xcc\x29\xaf\xc0\x99\x58\xad\xd0\x96\x0e\x71\xc8\x2e\xab\xa2\xd3\x29\x07\x2b\x98\x07\x3c\x4a\xa8\x95\xd1\xb3\x80\x41\xd1\xda\xdc\xbe\x32\xf0\x78\xa0\x10\xe1\xc2\xb8\x13\x2a\x70\x24\x70\x3d\x7d\x7b\xf2\xf3\x33\x20\x59\x1e\xd4\x48\x39\x23\x4f\x55\x7a\x14\x1a\xdc\x0d\xd2\x9e\x71\x9e\x68\x30\x0b\xd2\xb1\x81\x74\x7c\xa7\xe5\x39\xf7\x77\xe0\xb1\xeb\xd5\xbb\x97\x2f\x5e\x0f\x9e\xdf\xe9\x65\xf0\x43\x98\xcf\x58\xbc\x9c\xd3\x66\x9d\x6a\x5f\x95\x05\x9f\xb0\x0b\x11\x8b\x94\xe7\x24\x3e\x42\x7a\x0a\x70\x15\x41\x97\xad\xcc\xda\xca\xb6\x98\xe6\xd9\x3b\xdf\x73\x1f\x46\xf1\x3d\x1f\x5c\x66\x0d\x24\x65\x80\x9f\x8a\x4c\xc5\xa0\xdc\xda\x62\x68\x64\x86\x56\xe1\x7a\x80\xb1\x35\xa6\x65\x1c\xfe\x75\x69\x8d\xa8\xd5\x52\xda\x33\xdc\x7b\xcf\xdf\xc0\x8b\xce\x46\xb4\x95\x79\xf9\x1e\xb5\xf3\xef\xd9\x6e\x9f\xda\x75\xee\xd9\xee\x80\xda\x6d\xdf\xaf\x9d\xdf\x06\x12\x7e\xfe\x66\xe7\xbe\xed\x7c\x6c\xb7\x7b\xdf\x76\x1d\x6c\xd7\xbd\x6f\xbb\x6d\x6c\xb7\x77\xdf\x76\x3b\xd8\x6e\xff\xbe\xed\x76\xb1\xdd\xc1\x7d\xdb\xed\x61\xbb\x27\x1f\xbf\x9f\x6a\xbe\x7d\x80\x30\x9b\xdf\x13\x66\x17\x61\x3e\xbe\xe7\xfc\x7c\x5a\xf7\xad\xfb\xb6\x23\x3a\x6b\xdd\xb9\x9d\xbe\xf9\xa1\xfe\xea\xb5\x71\xb1\x64\x79\xb2\xb0\x45\xc3\x2e\xcc\xa5\xdf\x43\x3e\xc5\xc0\xb6\x88\x1e\xd4\x9f\x28\xc3\x01\xf9\x4b\xbd\xf0\x9a\xfe\x64\x83\xd5\x40\x17\x5f\xbf\x3f\xa8\x83\xd2\x81\xf7\x9f\x0a\xde\x7f\x56\xc1\xab\x7c\xc7\xed\xc2\x51\xf3\x76\xf8\xe2\x75\x0f\x40\x3a\xf0\xde\x2a\x78\x6f\xab\xe0\x55\x5a\x0e\xec\xe3\x4b\x2e\xc9\x67\x85\xf1\x9d\x2a\x78\xa7\x55\xf0\x2a\x6d\x07\xf6\x61\x4f\x7e\x20\xef\x3b\x84\x67\x99\x10\x38\x57\x92\x02\xbc\x2a\xeb\x81\x0e\xda\x22\xf4\xdf\x9e\x9c\x35\xd1\xb8\xc1\x82\xb7\x77\x33\xbc\x2a\xfb\x81\x0e\x5a\x23\x48\x78\x4f\x4a\xf0\xf6\x6f\x84\xe7\x5a\x10\x68\x92\xf2\xf7\xb6\xd9\xf9\xcb\x77\x67\xc3\x8f\x0d\xe6\xef\xed\xb0\xf3\xf7\xaf\x5f\x34\x3f\xc2\x79\xe2\xef\xed\xc2\x9f\x4f\x3e\x82\x5b\x21\x98\xb1\x19\x73\x76\x4d\x8b\x0a\x12\xe6\xe0\x63\x73\x1e\xf3\x0b\x91\x36\x30\x63\x84\x07\x99\x00\xae\xc0\xba\x07\xa4\x91\x79\xcb\xca\x2e\x25\x3b\x0f\x33\xc6\xa3\x2c\x29\xbc\x37\x79\x19\x6b\x7e\x52\x76\x40\x92\xb8\x5d\x6f\xd6\x21\x66\xb5\x34\x99\x80\x51\xbf\x90\xa4\x94\x42\x1f\x8e\x2f\xe5\x67\x75\x37\xfb\x7f\x5b\x36\xde\x90\x84\xce\xf1\xc6\x45\x23\x4a\x6c\xf0\x06\x7a\x77\x12\x86\x38\x31\x14\x6e\xb3\xcb\x32\xb1\x0c\xd0\xa2\xac\xf3\x77\xaf\x6a\xba\x59\x90\x26\x94\xb2\x1b\x7f\x85\x8c\xa3\xe3\xe5\x74\x2a\xd2\x6f\x9f\x3b\x08\xf4\x9b\x52\x33\xba\x53\x9f\x25\x73\xf1\x5c\xac\xb3\x53\x1c\xd0\xaf\xf6\xbc\x2d\xbf\x02\x4c\x22\x55\x69\x66\x6a\xaa\x5b\x66\xdb\x85\x5e\x2a\x4c\xb5\x95\x61\xa3\x83\xad\x67\x6e\xa8\x66\xfb\xdb\x6b\xfc\x56\x4e\x49\x6d\x42\xaa\x22\x26\xe5\xe4\x31\x44\xd0\xad\x4b\xa6\x8c\xf5\xfe\xd1\xeb\x23\xef\x26\x7f\xc0\xf2\x54\x9b\x01\x7f\xcf\xf5\x19\xdd\xb0\x3e\xa3\x3b\xae\xcf\x30\x9e\xfc\x8b\x2f\x0f\x5d\x64\xef\xb6\x42\x0b\x7e\xb1\x71\x85\x4a\x48\x3a\xdf\xfd\xbb\xf7\xf4\x56\x0c\x61\xff\xdf\x8e\x24\x44\x42\x9e\x2e\x05\x3b\x1e\xbe\x00\x47\xda\x6c\x39\x86\xd0\x40\x22\xe7\xc6\xaf\x41\xf9\x19\xbe\x8e\xcd\x51\xd0\xa0\x78\xb5\x97\x31\xb1\x65\x1e\xa9\x3c\x51\x0c\x03\x21\x52\x5e\xf3\x0b\x91\x33\x2e\xe1\x53\x8a\x14\xcc\x94\xf0\x98\x05\x11\x0f\xe7\xe4\x8d\x52\x68\x1f\x27\xb9\x72\x45\x6e\x38\x7d\x48\x28\x18\x28\x5a\xa7\x3c\x87\x18\x42\x31\xc5\x73\xe0\x18\xad\x17\x53\x04\x86\x10\x82\xda\x9a\x05\xeb\x73\x88\x17\x1b\xab\x7a\x8b\x54\x4c\xa1\x83\x80\xc7\x72\xe6\x14\x34\xc4\x9d\xbc\x0e\x1f\x11\xf0\xec\x3e\x44\x72\x2c\xa2\xbb\x1d\x2e\x3c\xca\xb5\x0f\x07\x26\xe5\x33\x2e\x1d\x3f\xfc\x40\xbb\xac\xd4\xc4\xce\x83\xf6\x83\x71\x49\x28\x93\x14\x18\x50\x3c\x2d\x1e\x3b\xdb\xff\x8c\x63\x47\xeb\x4a\xfe\x88\x9d\xd3\xbd\xeb\xce\x81\xb0\x43\xff\xda\x0c\x46\xa9\x63\xee\x86\xa7\x12\x73\x2e\x88\x27\xb6\xab\xe9\x26\xc4\xbc\x08\x63\xcd\x52\xee\x81\x18\x37\x3a\xd3\x37\x3a\x72\xdd\x7e\xe6\xfc\x44\x6b\xdd\xf3\xd8\x21\x9d\x2a\xbd\x7f\x02\x1d\x1b\x4d\xd7\x3f\x76\x81\x0c\xe5\xfe\xeb\x2f\x51\xdf\x2c\x51\xdf\x5d\x22\x4c\x3d\x47\x41\x9c\xe6\x3c\x5d\x6f\x41\x40\x84\x98\xe7\xb0\x58\x42\xc4\x99\x72\x3f\x2f\x2f\xde\x5d\x57\x09\x1f\xcd\x9d\xe5\x51\xe9\x94\x2a\xc2\xed\x18\x64\xaf\xc2\x85\x18\x24\x71\x2e\xe2\x3c\xfb\x66\x26\x01\x4f\xa9\xf0\xe6\xea\xb7\x5a\x07\xc5\x47\x55\x45\x86\xf2\xa6\xe4\xc4\x9b\xa0\xd3\xd6\xdc\x9d\x10\x84\x79\xc1\x3d\xa0\xe4\x7c\x18\xc2\x29\x5a\x53\xca\xb7\x85\x08\x42\x1e\x59\x01\x90\xe6\x70\x8b\x83\x50\x17\x09\x76\x13\xc6\xec\x5a\x4e\x44\x76\x7e\x11\x27\x73\xd1\xd4\x33\x47\x0f\xd1\x94\xc7\x17\xf0\x84\x9c\x0a\x80\x0c\xfd\x75\x5a\xad\x7d\x38\xcf\x25\xa8\x95\xca\x58\xc6\x60\x52\x98\x08\x89\xc4\x02\x88\xa6\x8a\x5a\xcd\xd5\x2c\x89\x14\x38\x1a\xd9\x9d\xd7\x8e\x2c\x4e\x6f\x58\xbd\x7f\xbe\xab\x59\xf9\x1c\xd7\x98\x94\xcb\x4e\x73\x18\x8b\x94\x8e\xe7\xaf\xbd\x2c\xaa\x94\xb7\x9b\xd3\x97\xb8\xe9\x6f\x7d\xef\x50\x9f\x8b\x3e\x49\xe3\xf8\xa5\x63\xbe\xa8\x57\x39\xfb\xf3\x76\xe1\xf3\xb9\xfb\x79\xa7\xf0\xf9\x97\x5f\xdc\xef\xbb\x85\xef\x1f\xdd\xcf\xdd\xc2\xe7\x5f\xdd\xcf\x7b\x85\xcf\x9f\xdc\xcf\xfb\xd6\xa4\xb4\x3c\xa3\x3e\x1e\x58\x1f\x0f\xbc\x52\xe8\x00\x7b\x2f\xf6\xa2\xfc\xde\x5b\xf1\x2e\x14\x4b\xe6\xcb\x37\x10\xec\x2d\xe4\x82\x00\xbe\x9d\x5a\x6e\xad\x49\x4a\xa1\x8d\xdc\x0a\x8c\x42\xfe\x08\x14\x29\x13\xf1\xaf\xc7\x11\x41\xf8\xe7\x22\x89\x04\x87\x5f\x07\x90\x3a\x32\xce\x45\xba\x48\x4d\xe6\x7b\x0a\x0f\x0b\x37\x94\x20\x59\xac\x59\x90\xcc\xe7\x3c\xae\x4e\xcf\xb1\x81\xf3\x0d\x6e\x42\x11\x05\xa3\x10\xca\xc3\x77\x03\xba\x2e\x44\x7e\x4c\xb1\x93\x6a\x75\xf9\xd7\xa9\x6a\x63\xe5\xe9\x7b\xa8\x01\x41\x7c\xe3\x28\xe2\x8b\x4c\x4c\x9c\x60\x11\x0e\x74\x29\x29\x0c\x06\x72\x56\x05\xf4\xdb\xe9\xa8\xd0\x60\x49\x99\x14\x01\x0e\xec\xc8\xae\xb6\x61\x12\xe2\x52\x62\x52\x3d\x61\xb6\x0c\x9c\x37\x94\xca\x51\x59\x5d\xb1\xf1\x9a\x45\x22\xcf\x55\xbc\xb8\x42\x6e\x49\xec\x16\x4d\xb1\xe6\x49\x96\x1b\x40\x54\x91\xf2\xbd\xaa\xe8\x3a\x8f\x93\x38\x5a\x3f\x66\x2b\x0e\x91\x9e\x30\x7a\x70\x2e\xae\x73\xe5\x30\x1c\x44\xe1\x02\x95\xee\x96\x53\x2c\xb9\xc4\x7a\x93\x34\xbc\x12\xcd\xf1\xda\x63\x2b\x31\x56\x63\xbe\x81\x78\x21\x25\x8a\x5e\x81\xde\x34\x17\xa9\x44\xa3\xed\xbb\x9b\x89\xfc\x2c\x9c\x8b\x64\x99\xd7\xcc\xaa\x04\xb4\x26\x67\xc9\x30\x9e\x40\x40\x57\xf3\xb1\xde\x60\xbb\x26\x1b\x55\xc1\xd5\xf5\x2e\xfe\xb1\x56\x56\xa9\x87\x37\xac\xf3\x4d\xcb\x8c\x86\x64\x7f\xc4\x62\xcf\x79\x0c\x82\x8d\x32\xc2\x83\x8c\x3c\xab\x24\xbd\x84\x58\x4c\x59\x98\x2f\x29\x62\x24\x64\x49\x35\x80\x54\xc0\xb0\x96\xb8\x16\xc1\x00\xf7\x5e\xcd\x93\x20\xbd\x3a\x6a\x9f\xa3\x64\x65\x12\xb0\xfd\x4b\xac\xd9\xa6\x01\x24\x8b\xb5\xee\xff\x2c\x19\x28\x82\xac\x15\x02\x96\xdf\xe9\x06\x60\x45\x34\x37\xc7\x68\x7b\xbb\xfa\xea\x44\x1c\xee\x95\xe4\x70\xc9\x02\xc2\xf6\xc7\x62\xa5\x74\xfe\xc4\xfa\xe1\x29\x3b\x4a\x50\xf6\xbf\x97\x60\x77\xdb\x09\x50\xa6\x38\xec\xb9\x25\xc7\x52\xd3\x2b\xac\xfb\x9e\x81\x12\xc7\xf3\xca\x51\x87\xbc\x00\xa4\xd2\xa3\x38\x69\x04\x51\x92\x89\xa3\xb5\xc8\x1a\xa9\xc8\xc2\xdf\xf1\x57\x75\xb9\x48\x33\xf8\xd3\x73\xf2\xdc\x11\x88\x79\x18\x87\xf3\xf0\x77\x3e\x8e\xb0\xcd\x2a\x9c\xe4\xb3\x23\x8f\x3d\x51\xa3\x0a\xe3\x58\xa4\x1f\x64\x69\x55\xf3\xc6\x4c\x84\x17\xb3\xbc\xd4\xe0\x19\x14\x7f\xdb\x55\x4e\x2e\xa1\xb8\x71\x09\xdf\xc3\x21\x95\x65\x4b\x29\x25\xe3\xb3\x89\x75\x20\x15\x03\x05\x8f\xc5\x8c\x5f\x85\xd0\x02\x03\xbb\xcb\xfa\x14\x18\x57\xa9\xcb\xb2\x4c\x64\x8e\x15\x29\x9a\x23\x60\x0e\xf6\xc7\xd8\xe7\xc6\x26\xef\x29\xd3\x3b\x45\x01\x9c\x46\x21\x3c\x32\xd9\x51\xeb\x3c\xc9\x7c\x9a\x57\x4d\xe8\xdc\x03\x05\x1d\x46\x65\xa5\x01\xdf\x95\xca\xde\xdf\x46\x65\x35\x3b\x18\x89\xca\xe0\xe6\xb0\xc0\xf7\xf0\xd2\x63\x29\xc5\x6b\x6e\x8b\x0a\xae\x49\x4d\xec\xb4\xdf\x42\x65\x50\x27\x37\x75\x39\x31\x88\x41\xb6\x4c\x33\x11\x5d\xa1\x15\x08\x44\xef\x89\x22\x7d\x56\x6d\xbd\x3e\xc5\xb4\x64\x84\x37\x2b\x8f\x1d\xb5\x6f\x31\x79\x3d\xe4\xe3\x68\x0d\x56\xc5\x73\x1e\xbc\x3e\x6d\x50\xed\x2d\x7b\x7d\xac\xc0\xf4\x3a\xe7\xf2\xb3\x64\x25\xae\x44\x4a\x27\x22\x64\x50\x66\xe9\x32\xc6\x78\xfc\x2b\x31\x06\x33\x92\x34\x44\xe2\x83\xc7\xbd\x70\xca\xc2\x9c\x4d\x79\x18\x65\xa0\x2f\x85\x54\x67\x0a\xdc\x94\xd3\x0d\x9d\x58\x83\x7d\x4c\xc7\x3c\x0f\xaf\x84\x21\xad\xda\x2c\x59\x88\xe9\x32\x8a\xd6\x75\x96\xc9\x4b\xeb\x32\x6b\x6d\x10\x37\x6c\xd9\x0f\xf2\x2e\x7c\x0d\xdb\x13\x51\x26\xee\x7b\x36\x16\xf6\x98\xdf\xad\xdc\x63\xe5\x94\xe0\xdf\x9f\x5f\xa2\x09\xed\xff\x2d\x7e\x99\x2c\xf3\xfb\xf1\x4b\x68\xf0\x3d\xf8\xe5\xb7\xc8\xfb\x64\x80\x9f\xd8\xef\xd0\x4a\x04\x85\x90\xd4\x9b\x2f\x02\x18\xc7\xd0\xbd\x0b\x50\x66\x27\x3b\xe1\x81\x25\x2a\x49\x16\x5c\xc1\x43\x61\x0c\x24\x73\x51\xfa\x79\x78\x74\x07\xfd\x4e\xca\xe3\x6c\x1e\xe6\x8c\xc7\x2a\xc9\x64\x2d\x9c\xb2\x62\xfa\x4d\x10\xa5\xea\x14\xd5\x19\xdf\xf7\xbd\xc0\x93\x1d\x7a\x03\xaf\x6a\x60\x8e\x08\xb7\x02\x8a\xc7\x19\x5b\x08\x50\x11\xd5\xe9\x89\x04\xde\x53\x40\xc5\x97\xa0\xc2\x08\x63\x66\xab\x3b\x4b\x96\x98\x99\x5d\xc6\xc9\x2a\x03\x85\x92\x00\xfb\x96\x99\x98\x53\x5e\xad\x48\x56\x4b\x40\x83\x83\x37\x4e\x44\xe3\x8c\x43\x2c\xd5\xa4\xb0\x2c\xe3\x35\x86\x09\x99\x85\x86\xf3\x40\x4a\x9f\x0b\x1e\xde\x6b\xb3\xdd\x7a\xf7\x52\xdb\xe9\x8e\x57\xaf\xa7\xa5\x3d\xca\x3e\x7f\x36\x52\xaa\x7b\x31\xab\xba\x85\x61\x94\x28\xc0\x20\x24\xc0\xa5\x07\xb2\xb1\x90\xd3\x9c\x89\x68\x02\xd4\x62\xd3\x91\x1e\x61\x41\xf6\xd6\xf6\x85\x84\x34\x13\x11\x8e\x82\xf3\x27\x13\x81\x41\x65\xf9\x04\x75\xaf\xc3\xd3\x01\xab\xa6\xa1\x3c\x5d\x1a\x03\xd4\x95\x20\xe4\x53\x78\xf6\x89\x08\xc2\x89\x64\xf9\xf9\x4a\x88\x18\xe8\x0b\x6c\x1a\x81\xc0\xcc\xee\xad\xd4\x67\x39\x01\xc2\x20\xd5\xaf\x93\x8b\x5e\xa5\x3b\x06\x73\xd7\x88\x76\x5b\xe1\x26\x28\xf7\x40\xc5\xf5\xfb\x1b\x64\x7d\x4b\xce\xb7\x03\x46\x6e\x5c\x46\xe7\x0a\x50\xab\xb3\x2f\x5a\xec\xff\x72\x17\x66\x84\xc7\x50\x99\x13\x41\xdc\x9f\xc4\x84\x0c\x82\x65\x7c\xdf\x60\x13\xb1\xa0\xfc\xe3\x49\x5c\x16\x98\x58\x0f\x0d\x82\xa1\xb5\xc5\x41\xde\x63\xbe\x73\xc9\xcb\xee\xc4\xc7\x50\xba\x2b\xc9\x90\x77\xdd\x58\xb7\xca\x63\xdf\xac\xcd\x29\x3e\x1d\xa2\xbe\xe8\xbd\x0e\x34\x75\x33\x24\x1d\x60\xea\x7e\x87\xc4\x33\xa4\xb9\x69\x12\xe7\xec\xf7\x24\x99\x5b\xf9\x0d\xad\x68\x47\x5e\x66\x52\xc0\xca\x5a\x6c\x06\x14\x3a\x0e\x73\x8c\x90\xae\x44\xf4\x9c\x05\x22\xcd\xb9\xaa\x15\x89\x2b\x81\xd9\x49\x59\x2f\x47\x03\xe0\x39\xa7\x24\x0a\x24\x9a\x61\x58\x6e\x9e\x2d\x53\x31\x61\x78\x74\x62\xae\xfb\x34\x59\x41\x98\x5b\x71\x9d\xb3\x09\x64\xa1\xc8\x48\x93\x81\xfc\x98\xea\xc2\xeb\xc2\x8a\x67\x4c\x5c\x2f\xa2\x30\x08\xf3\x68\x2d\xc9\x5d\xcd\xe1\x83\x4e\xb6\x28\x9c\xad\x06\xc3\x53\xb1\xc4\x24\x53\xbe\xc0\xef\xf8\x50\xfb\x26\x49\x73\x2f\x43\xa4\x48\xd9\x01\xa4\xd7\xc7\x14\x73\x4c\x56\x83\xe9\xde\x95\x7a\x5c\x53\xce\x5b\xa8\xe8\x61\x85\xca\xca\x01\xf0\x17\x39\x72\xe7\x21\xd9\xe5\xb4\x70\xfd\x78\xf3\xf2\x2f\xea\x4d\x21\xc3\xb9\xea\xe7\x28\x9b\x09\x6b\x0b\x85\x44\xbb\xeb\x41\x73\xa8\xb4\x11\x08\xa4\x37\xb1\xa0\xd8\xb6\x0e\x0a\x0c\x9d\xed\x6c\xc5\x31\xe0\xab\xb6\xe6\xd7\x2f\x1d\x18\x21\x3b\xcb\x05\x87\x24\x63\x7c\x3a\x95\xec\x27\xbe\x80\x9e\x8c\x44\xed\x30\x59\x88\xf6\xda\xfc\x54\x8c\xf3\x2a\xc5\x85\xa9\xf7\x14\x3a\xfe\xf5\x93\x36\x16\x7c\x1d\x47\x6b\xf6\xeb\x27\x39\xc4\x2b\x1e\x85\x13\x24\xb6\x84\x84\x22\x27\xdd\x7d\x9c\xa8\xd0\xca\xad\xaf\x92\xcf\x6e\x60\xcd\x17\x22\x97\x4b\x36\xe2\x41\x9e\xa4\xb5\x3a\x7b\x68\xe5\x32\xb7\xf3\x0b\xc2\x0d\x2a\x67\xfe\xa1\x8f\xb8\x9e\x42\x83\x86\x3e\x24\xe4\x95\x88\x3d\xd9\x6a\x6e\xb5\x91\x6e\x15\x22\xe1\xda\xe9\x28\x0a\xa1\x3d\x5e\x7a\x24\x15\x0b\x9e\x85\xc8\x1b\x95\x8d\xfd\x92\x78\xe5\x85\xc0\x48\xa0\xf2\x77\xbf\xdd\xfe\xf7\x3b\xce\xdd\xb9\x65\x40\x32\x76\x48\x0a\x72\x73\x76\x7a\xc8\x35\x4f\x2b\xd8\xf6\x0a\x29\x67\x2b\x5e\x8c\x45\x3e\x4a\xe2\xfc\x34\xfc\x5d\x50\xca\x7a\x27\xcf\x2c\x28\x91\xe5\xc6\xbc\x49\x88\xd1\x00\xea\x56\xc6\x5b\x35\x86\xa6\x27\xe5\x98\x32\x75\xa1\xb5\xb6\x19\x1f\xf4\xd2\x3c\x62\x7e\x65\xb6\x5b\xf8\xfa\xc4\x7c\x7d\x70\xe3\x2b\xb8\x35\x24\xd9\xb0\x7e\x77\xf1\xde\x7a\xa0\xbd\x47\xda\xa8\x05\x65\xab\xfa\xbf\x92\x3c\x1d\x73\xae\xc9\x01\xe8\x6c\x00\xe3\x30\xc7\xa7\x76\x15\x84\x0f\x62\x58\x83\x0c\x37\x0d\x63\x41\x06\x12\x85\xc4\xbd\x67\x76\x3e\x01\x48\x85\x06\x26\xc3\x22\x5e\xce\x05\x66\x2e\xa7\x71\x65\x39\xcf\xc3\x80\x55\xe5\x3d\x93\x70\x74\x3a\x35\x15\x1a\x1b\x82\xc7\x6b\xc8\xa4\x24\x02\x51\x93\xfd\x7f\xec\xbd\x7b\x7f\x1b\x37\x92\x28\xfa\xbf\x3f\x05\xa2\x3d\x1b\x92\x63\x92\x92\x9c\x38\x0f\x3a\xca\xae\x2c\x2b\x89\x6f\xfc\xba\x92\x6c\x67\xd7\xf2\xf8\x82\xdd\x20\xd9\xa3\x66\x83\xd3\x00\x45\x31\x13\x9f\xcf\x7e\x7f\xa8\x2a\xbc\xfa\x41\x52\x8a\x93\xb3\xb3\x7b\xfc\xdb\xcd\x50\x24\x50\x00\x0a\x85\x42\xa1\x9e\x13\x9e\x2b\x01\xa2\xee\xde\x5f\xf6\x8c\xe4\x5a\x2e\xe1\xe2\x2b\x94\xbd\xd0\xc2\x0a\x07\x58\x95\x6d\x0c\x85\x7f\x95\x28\x34\xf5\xc7\x0e\x46\x40\x84\xdf\x0b\xa9\xf1\xb1\xb1\xf7\x97\x3d\x0f\x0b\x4a\xf9\x09\x55\x74\xa0\xac\x9b\x6e\x77\x38\xb0\x75\x4b\x83\x0b\x49\x2d\x44\x12\x38\x17\xd8\xda\xc2\x27\x72\x09\x0f\x86\x83\xb0\x92\x0f\x26\xc3\x04\xcb\xb8\xfd\x13\xce\xd9\x2e\x45\xe3\x26\xb2\x34\xb8\xf2\xd2\xe8\x5c\xa6\xa1\x0f\xc9\xbb\xb9\x4c\xdf\x13\x70\xfc\xfc\xdb\x6f\x88\x82\x47\x91\xae\x85\xda\x1d\xb1\xce\x5f\xdc\xa5\x50\x9f\xf9\xfd\xfb\x70\xd2\x50\x97\x6d\x7e\xee\xc5\xfe\xd9\x6f\xcc\xed\x50\xa1\x88\x2d\x48\xf3\x6b\x61\x47\xec\xdd\x3d\xc6\x3a\x70\x25\x76\xfa\xa8\xff\x33\xff\xcb\x73\xf8\xd3\x3c\x3e\x3a\xf7\xde\x87\x74\x9c\x60\x89\x6a\x48\x92\x0e\xfc\xd7\x30\xe6\x63\x28\x87\xe0\xe5\x06\x28\x85\xdd\x8b\x64\xb1\xa8\xca\xbf\xb9\x59\x15\x45\xaf\x1b\xe9\x09\x6f\x59\x5e\x42\x1d\x3f\x2c\xa4\x6c\xab\x83\x24\x5a\x28\x6d\xcb\x9c\x2d\x6c\x61\xe9\x49\x56\x2a\xdd\xc7\xd7\x2c\xd7\x2c\x97\x52\x89\x7c\xed\x4a\x4e\xb9\x76\x70\x41\x72\x66\x9e\xdb\x50\xda\x48\x96\x99\x5e\x9b\x3e\x50\x81\x04\xea\x17\xb9\xc6\xb7\x28\x44\xcf\x77\x6c\x37\xde\xb2\x11\x41\xcd\xef\x90\x92\x7d\xbe\x61\x43\x2b\xbc\x42\xca\xdf\xb1\x71\xfc\x4d\x24\xb2\x0f\x0e\x9d\x85\xb1\xda\xf1\xfb\x8d\x1d\x0f\x43\x71\xfe\x20\xa2\xb1\x57\x65\x76\xcd\xb5\xb0\x59\x7d\x2d\x9b\xb2\x85\x17\xa9\xb6\xd7\xc2\x96\x0e\x37\xcf\x7e\xa5\x49\x58\x09\x7e\x51\x54\x70\x12\x2a\x54\xc8\x55\x81\x1e\xa9\x35\xbc\xdb\x32\x93\x86\x6c\xa8\xbe\xa4\x0e\x2a\x52\xba\x76\x54\x46\xf2\x23\xb2\x23\x74\x87\x25\x5b\x18\xe5\x4e\x0f\xcb\x8b\xbf\x56\x62\xb2\xcc\x31\x51\xc3\x5a\x2e\x81\x04\xb1\xd0\x8e\x96\xb6\x26\x0f\xf0\x23\x24\x0a\x5c\x9b\x5d\x0a\x2f\x6a\x8b\xd9\x76\xc6\xfc\x61\x00\x50\x91\xe8\x2c\xc7\x7f\xeb\xe3\x38\xcf\xcd\x6f\x75\xf3\x3b\xb0\xa7\xcf\x8e\xcc\xf2\xed\x9f\xd1\x5e\x11\x37\x21\x11\xa6\xbc\x76\x19\xbb\x3f\x01\x0b\x33\x10\xe7\x32\x7d\xc3\xf3\xa5\x21\x4a\xf3\x93\xb9\x52\xe4\xf8\x6f\x3d\xf6\x6f\xe6\x7f\x90\x6f\x8d\xaa\x2c\xed\xb3\xf2\xda\x30\xba\xee\x67\x7e\x61\x56\xb3\x1f\x71\x3a\xd3\x28\xfa\xd2\x0e\x16\x0b\xc6\xb6\xca\x81\x59\x9b\x1b\xa9\xc2\x06\x3d\xbd\x96\xd7\x8f\x9a\x0a\xa4\x12\x61\xd4\x2b\xa0\x12\x5d\x65\x58\x7d\xd1\x57\x4a\x8d\x49\xf9\x7f\x66\x01\xd4\x76\x22\xa6\xa2\xa1\xad\x45\x50\x43\x5d\x00\x52\xbd\xfd\x9d\x64\x80\xde\x6e\xbb\xd4\x7e\xdd\x67\xca\x17\x9d\xb3\x6a\x7d\x4e\x52\x08\x68\x57\xc5\xee\x5c\xfc\xd6\x6b\x6f\x90\x39\x7c\x59\xd5\x4d\x18\xa0\x26\x7d\x58\x6a\x6f\x17\x49\x58\x2e\x50\x76\xfe\x27\x2f\x9c\x4a\x1b\xfd\xef\xe6\x57\x33\xc8\x75\x26\x56\x54\xba\x25\xcb\x05\xcb\xe6\x0b\x2a\x01\x14\x14\x23\x7b\x89\x4b\xc7\x72\xa5\x50\x86\x08\xcb\x51\x2a\x2d\x4b\xa1\x5c\x46\x74\x73\x16\x30\x79\x7a\x22\x8b\x94\x2a\x3d\xd9\x47\x62\xe4\x55\x69\xe8\xc2\x1e\x77\x03\x0e\xae\xaf\xf0\xf5\xce\x94\x28\xcd\x19\x94\x13\x06\x44\x23\xa0\x9a\xa9\x53\xd0\x29\x7e\x9d\x15\xd3\xfd\x52\x98\x19\x50\x01\x23\xcc\x05\x40\x35\x92\xec\xe8\xe6\xb1\x9a\xaf\xa9\x78\x93\x34\xe7\xf5\x3a\x4b\xb1\x1c\x19\x57\x6b\x72\x73\x31\x53\x4c\xe4\x7c\x2e\x0b\xd3\x75\x92\x4d\x97\x25\xa8\x93\xe0\x6e\xa4\x5d\xb7\xf1\x1e\x65\x36\x85\x84\x24\xb0\x51\xe3\x35\x3b\x91\xe5\x9a\x3d\xe7\x49\xc2\xcb\x92\x48\x7d\xdf\xfb\xf5\xca\x42\xe9\x72\x69\x1e\xde\x0e\x0f\x4d\x18\xa5\x51\xc0\xbd\x94\xa3\xd6\xc2\x69\x6c\x69\x41\x16\x4e\x83\x99\x1a\x5f\x1b\x5c\xc5\x8c\x46\x2f\x46\xfb\xfb\xab\xd5\x6a\x78\xad\x0f\x0f\x0e\x86\x85\xd0\xfb\xa9\x4c\xd4\xfe\xb5\x7e\x78\x78\x30\x28\xe7\xfb\x4f\x4e\x4f\xce\x2f\xce\x50\xe6\x4a\xc4\xc2\xaa\xbe\xcc\xbb\x05\xcb\x72\x2d\xb5\x5c\x95\x7c\xc1\xba\xe6\xbf\x58\x4c\xb5\x17\x26\x12\x47\x3f\x57\x2c\xa5\x27\xc4\x5c\x91\x56\x6b\x2c\xd8\xca\x7c\x87\x5e\xb5\xe6\xe9\xd0\x7c\xfe\x09\x05\x47\x1f\xcd\xea\x3f\x80\x72\xfa\x25\xa1\xc1\x95\x25\x00\x6d\x9a\x5c\xac\x51\xc8\x08\xd0\x10\x30\x0a\x8b\xca\xf0\x32\x27\x80\xce\x33\xd6\x9c\x40\xae\x75\x99\x8d\x97\x1a\xca\xac\x93\x71\x06\xca\xef\x1a\xec\x2d\x96\xe3\x3c\x4b\x3c\x81\x01\x75\xf0\x24\x11\x4a\x51\xc8\x27\x02\x72\x54\xec\xe2\x2a\x3c\x72\xd8\x91\x5f\xc9\xbf\xb9\x8f\x61\x83\x91\x2b\xe2\x41\x95\x4a\xaf\x45\xa9\xc4\xdb\x6d\x10\xea\xed\x82\x9b\x1e\x20\x49\x20\xcb\xe7\xf8\x82\x6a\x02\x11\x34\xa8\xf6\x35\xfb\x7c\xc2\xcb\x32\xe3\x53\x41\xec\xbf\x19\x46\x43\xc3\x2a\x2c\x3c\x83\x6f\x32\xac\xdf\xd4\x0c\x26\x6e\xd3\x0c\xe1\x71\x9e\x15\x57\x1b\xfb\x63\x8b\x6a\xef\x0c\x02\x52\x37\xe0\x21\x68\x50\xed\x4b\x58\x7e\x93\xa5\x42\x6e\xde\x08\x6c\x52\xed\x3f\x2e\x79\x72\x25\xb4\x48\x31\x1e\xb6\x19\x42\xa5\x91\x83\xb1\xfd\xfa\x59\xf0\x52\x89\xf2\x9f\x5d\xf7\x72\xdb\xb2\xdd\x95\x33\xcf\x5e\x19\x2c\x34\x97\x03\x5c\x17\x9a\xdf\xe0\x4d\x62\x78\x2d\x9a\x53\x9d\x2d\x6f\xa9\xb4\x9c\x67\xbf\x72\xc7\xcd\x2d\xfb\x00\x88\x65\xbd\xf4\x19\x4c\x80\x99\x29\x18\x81\x83\xfd\x03\xcb\x62\xe2\x13\x88\xd0\x85\x5f\x81\x96\xf3\x2f\xfb\x96\x0c\xe8\xb7\x23\xd6\xc1\xe0\xab\x2a\x9c\x02\xfc\x75\x11\x8e\x2b\x25\x22\x95\xad\x45\x1c\x82\x5a\x48\x85\x4a\x92\xd6\xe9\xfc\x1b\xc1\x71\x6e\xfe\x14\x39\xb8\x05\x70\x32\x63\x47\xbe\x70\x7c\x84\x88\x40\xc6\x12\x65\x29\x23\xc4\xcc\x85\x52\x7c\x2a\x22\xb1\xaa\x10\x2b\x76\x6a\x1a\x76\x3b\x00\x80\x61\x2f\xae\xa1\xf0\xa4\x5b\xc6\x7d\xd6\xc1\x52\x94\x16\xc6\xc6\x91\x33\x65\x5e\xe0\xb9\xd0\xa2\xbe\x2f\xa1\x38\x07\x08\x3a\x0a\xf1\x6e\x0b\x0a\x6e\x82\x5e\xab\x75\x87\x5d\xe1\x16\xfe\xb0\x90\x2a\x50\x58\xb9\xcd\xc4\x0f\x8f\xe2\x9d\xa1\xf6\xe6\xf5\xe4\x35\x59\x80\x5b\x9a\x4c\xac\xb4\x0e\x5f\xef\x80\xaa\x7a\xb4\x15\xea\x73\xc2\x6f\xcd\x71\xa4\xd7\x0a\x3e\x54\xa4\xab\xcb\x1e\xd4\x49\xf2\x37\x3f\x94\x05\x0f\xd7\x4d\x65\xa5\xe1\x69\x61\x3b\xfc\x2c\xd6\x2a\x72\x79\xe0\x2e\xe3\xcd\x90\xb1\x9f\x05\x09\x1d\xa9\x70\x9e\x69\x1c\x7c\xa1\xc4\x14\xdd\xde\xcd\x5f\x0e\xac\xb3\xa2\xb5\x0e\x6b\x0b\xe8\x0f\x19\x7b\xee\x4b\x3b\xa1\x92\x15\x2b\xeb\xfb\x52\xbc\x7f\x93\x66\x21\x20\x47\xe0\x7b\x22\x85\x1a\xdc\x41\xc4\x0a\x22\xa9\x60\x86\x81\x96\x99\xba\x02\x6d\x25\x4d\xd3\xaa\x41\xb2\x22\xc5\x32\xa8\x2e\x96\x76\x59\xf8\x7a\xa1\x91\xd2\xd5\xdc\xfe\x56\xfc\xb2\xd0\x83\x02\xd8\x23\x7c\xd4\x1d\x8f\x18\x3c\x9f\x05\x79\xde\xf2\x28\x47\xd5\xde\xf1\x5e\x3c\x45\xc6\xd8\x57\x0f\x47\xec\x1c\xdf\x42\x98\xa4\x8c\xbe\x3f\xb8\xf9\xf2\xb0\xf9\x17\x70\x52\xab\x0e\x84\x5f\x86\x2d\xda\x00\xc3\x8f\x5b\xa0\xa3\xa5\xbb\x71\x0c\xfa\x29\x6c\xfd\x97\xb0\x25\x4e\x04\x2a\xe5\xae\x84\x11\xa7\x54\x50\x75\x31\xa2\x58\xc0\xb9\x4d\x12\x4a\x85\x93\x0d\x43\xc8\x05\x57\x81\xed\xc9\x10\xc0\xb1\xab\xf2\x0b\xcc\x9e\xce\xb6\x7b\xd4\x57\x1e\xf3\xa0\x12\xed\x83\x49\x31\x28\xa7\xd3\xb7\x64\x84\x43\xf9\x07\x7c\x9d\xcb\x07\x4c\x00\xae\xd3\x9f\xc5\xfa\xdc\xce\xba\xc6\x68\x9c\x1a\x07\x75\x30\xae\xa0\xae\xe1\x9b\xf7\xa0\x4a\x52\x58\xdd\xf4\xca\x3f\xef\xb7\x1c\x3c\x57\xea\xea\xfa\xdd\x4e\xed\xdf\x5d\xbd\x7f\x1f\x29\x5c\xcc\xb8\xab\x99\x79\xac\x75\x1d\x33\xfa\xae\x81\x09\x46\x41\x94\xea\x2a\x5b\x9c\x2f\x78\xe2\xad\x57\x66\xd6\x5a\x5e\x09\x17\x34\x01\x28\xb9\x30\xdf\x58\x8f\x6a\xd0\x7f\x99\x2f\x86\x70\xe9\x1c\x1d\xb1\x0e\x71\x81\xc0\xa2\x55\x5e\x07\xda\x7b\x6c\x7d\xcd\x73\xd2\x7c\x39\x0b\x57\x13\x28\xb7\xe0\x4e\x5c\xad\x6d\x99\x58\x4d\x57\x00\x6e\xa8\xe5\xeb\xc5\x42\x94\x27\x5c\x09\xef\xf1\x6d\xc0\xda\xe6\xbb\x6e\x80\x0f\x21\xf7\xee\x0d\x5b\xba\x0c\x67\x5c\xbd\x5c\x15\xaf\x48\xdd\x63\x87\xec\x85\xce\xef\xa4\xa4\x73\xa5\xa5\xb6\x6d\x2b\xc1\x78\xff\xc8\x41\x30\x8b\x29\xaf\x51\x09\xf7\xf9\xe7\xcc\x7e\xfc\x2c\x32\x47\xe0\x8e\x96\xe0\x71\x97\x29\xbc\xa4\xc3\xc2\xcf\x76\x0c\xbc\x6e\x03\x04\xf6\xfc\x40\x16\x72\xa0\xa2\xac\x6c\xd5\x2e\x38\x75\xdc\x3b\xc2\xe7\x36\xb4\xba\xcb\x60\x07\x94\x46\xa4\xb5\x15\x62\x80\xd1\x78\x41\x1e\x60\x1d\x71\xaf\x8b\xab\x42\xae\x40\x0b\xd9\x8e\xb1\x8f\xdb\x48\x59\xad\xe7\x63\x99\x77\xe2\x4a\x75\x01\x24\xa7\x68\xf5\x53\xf1\x75\x91\xd3\x5b\xb3\x0e\x4f\x70\x8b\x9d\xc9\x2d\x4b\x03\x4a\x73\xea\xe1\x77\x8b\xf7\xbd\x68\xf3\xe0\x2b\x76\xc4\xcc\x74\x7d\xfb\x8f\xb7\x41\xa8\xb8\x59\x88\x44\x8b\x94\x21\x56\x36\xa1\xb5\x01\x66\x1d\xe2\xa9\x85\x17\x48\x20\x21\xef\xa8\xdb\xca\xeb\xcc\xce\x69\xf2\x93\x19\x9c\xa7\x81\x3b\x4f\xe3\x52\xf0\xab\xa0\x55\x40\x73\x9f\xa1\x90\xdc\xdb\x30\x33\x5d\xf2\xf0\x11\xc2\x27\x46\x08\xd7\xbc\x9c\x0a\x30\x90\x75\xec\xf8\x54\x49\xee\x9a\x17\x89\xe8\x06\xfe\x7b\x95\x11\x8f\xc2\x11\xeb\xe3\x3d\xcf\x94\x02\x6f\xce\xea\x00\x15\x95\xfb\x96\x3b\xef\xd8\xc6\xca\x35\x55\x7b\xae\xe2\x6e\xcb\x35\x71\xaf\xf1\x96\xc0\xd7\x49\x27\x32\x90\x54\xaf\x86\xdd\x6e\x84\xea\x41\xda\x74\x54\x38\x55\x96\x0e\xf8\xd1\xb6\xb6\x55\x2e\x14\x92\x69\xa3\x7b\x7d\x3b\xa8\x77\x41\xdf\xf7\x6e\xdb\x37\xf0\x1b\x72\x92\x6f\x3e\x1f\x94\x14\xa8\xf5\x2c\x20\x86\xeb\x47\x61\xe3\xfe\x0b\x71\x85\x41\xdd\x9b\x9f\x55\xe6\x09\x73\xc4\x3a\x97\x9d\x8e\x35\x0c\xd9\xaf\xf6\x3a\x9b\x09\x4c\x88\xab\xa7\xfe\x61\xb0\x65\x10\xd4\xc6\x77\xf7\xdf\xf1\xc1\xaf\x1f\xde\xef\x67\x9b\xdf\x84\x00\x9b\x18\xc0\xae\x80\x0f\x06\xdf\xbe\xdf\xdf\x02\xd6\x51\x73\x1d\x6a\xc8\x34\x62\x06\xee\x65\x43\x03\x64\xe4\x2e\x80\x3e\x83\x1d\x1c\xd9\x99\x7c\x7c\xd4\x76\xfa\xa3\x33\x5b\xf5\xfa\x8a\xf1\x68\x03\x3d\xac\x74\x4c\x43\x06\xfb\x1e\x0f\x0b\x4b\x0a\xbb\x7f\x7c\x54\x83\x8e\x64\xd0\x02\x99\x4e\x6f\x03\x54\xdb\xad\x01\x22\xed\x4d\xdb\x64\x49\x6c\x6c\x9a\xa9\xed\x68\x80\x36\x12\x7d\x70\xa5\xc0\x31\xe9\xec\xb0\xa5\x9b\xc8\xd0\x47\x78\x36\x23\x7a\xd3\x15\x14\x1f\xb6\x8a\x3a\xc2\x0c\x4c\x86\x25\x24\xeb\x83\xc1\xb7\x1f\xde\xdf\xdf\xcf\xa6\xbb\xcc\xb8\x8d\xb8\x0d\xb1\x8d\xb9\x32\x32\xd0\xe1\x41\x8c\x78\x22\xcc\x83\x8e\x0b\xd8\x6a\x7b\x0c\xb0\x01\x3b\xac\xe4\x4e\x8a\x95\x14\x81\xaa\xe6\xb0\xcf\x0e\x7b\x00\xf8\xa6\x53\x29\xcc\x6b\x67\xda\x6d\x58\xf0\xc1\x8d\x39\x70\x7c\x30\x79\x7f\x7f\x7f\x9a\xf5\x6a\xee\x68\x9b\xfa\x5e\xa6\xf7\xf7\xa7\xbd\x66\x25\x89\xb9\xf2\x72\x48\x6f\x98\xca\xe5\x38\x17\xec\xef\x4b\xe9\x59\x60\x68\x10\xa9\xaa\xbd\x5c\x79\x08\x99\x15\xda\xea\xc6\xe0\xae\xe6\x39\x42\x09\x9e\xed\x8c\x9d\xc3\x40\x06\x58\x34\x82\xc2\x20\x80\x31\x25\xf3\x10\x29\xcb\x33\x2d\x4a\x9e\xe7\xeb\x7e\x65\x4a\xd0\x70\x51\x4a\xb0\x1b\x08\x88\x0e\x70\xaf\xdb\x8b\x97\x4f\x5e\x76\xcb\x69\x56\xa4\xbc\x37\x62\x6f\x78\x99\x81\x99\x05\x1d\xcc\x65\xee\xc2\xa0\x42\x4b\xc9\x2b\x3c\x74\x5c\x8b\x8f\x6c\xe1\x3e\x87\x2d\xac\x5a\x12\x57\x73\x5c\x43\xd6\xa0\xba\xcc\xe8\xa1\x4d\xbd\xb7\x3e\x94\xdb\x6e\x0d\xe0\x83\x42\x2d\x73\xed\x15\x9e\xe6\x3b\x1c\xf4\xc8\xb2\x41\xeb\xb0\x89\x5f\x7f\x06\x17\x89\xa1\x58\xff\xf7\x65\xa7\xd3\x76\xf6\x68\x6c\xcb\x02\xe8\xdc\xd5\x58\xaa\x9b\x0d\x3b\x02\xa5\xe4\x99\x98\x9e\xde\x2c\xba\x9d\x77\x97\x97\x97\x97\xe6\x86\xc5\xc1\xee\xb3\x0e\x14\x46\x99\x12\x9c\xdb\x3c\xa4\x4b\x31\xcc\xb9\xd2\x4f\x8b\x54\xdc\x38\x69\x48\xaa\xd0\xdf\x42\x40\x9c\x75\x37\x80\xd1\x6b\x17\x1f\x5f\x17\x64\x4e\x0a\x2e\x74\x22\x2d\x27\x38\x12\x76\xef\x1f\x35\x9c\x59\xc3\x8a\xed\x24\xfa\xf1\xec\x06\xec\xb0\x51\xf4\xac\x34\x72\xcb\x0e\xda\xfb\x8d\x3a\x72\x1b\x15\x89\x05\x97\x55\x77\xdb\xea\xcd\x56\x9b\x35\xd0\x10\x06\xcb\xf8\xa7\x7b\x22\x0b\x9d\x15\xb6\xa6\xfd\xc7\xa6\xc1\x8d\x04\xb2\x69\xf4\xca\x30\x48\x68\x1b\xa6\xd5\x3a\x64\x30\x02\x8c\xbe\xc3\x02\x6d\x05\xed\x65\xae\x2b\xf1\xe4\xb7\xde\x68\xb8\xf8\x62\xa6\x57\x10\xf7\x40\x93\x0c\x64\xf2\x6b\xd2\xeb\xb3\x2e\x19\xe2\x43\x3e\x87\x66\x58\xd3\x1c\x5c\xf2\x02\xeb\xc0\xf1\x0f\x17\xa7\x67\x14\x91\xca\x21\x40\x06\x72\xfa\xe5\x5c\xcd\x86\xbd\xaa\x12\x6e\x57\xde\x40\x41\x50\x8d\xbc\x61\x0e\x9e\xdc\x88\xcb\xce\x5e\x67\x64\xfe\x83\x3e\xfd\x66\x6f\x47\xf0\x5f\xfb\xf7\x25\xfc\x7d\x69\xff\xe6\xf0\xe7\xcd\xc1\xd7\xf6\x8b\x31\x7d\xf1\x8d\xfd\x42\x74\x28\x9d\x96\xfd\x62\x42\x2d\x12\xfb\x45\x41\x5f\x70\xfb\x45\x49\x5f\xa4\xf6\x0b\x4d\x5f\x7c\x6b\xbf\xb8\xa6\x2f\x1c\xd0\x9b\xce\xa8\xba\x32\x2b\x01\x5e\x5b\x2d\x55\xeb\xe5\xff\xfe\x1f\x0f\x3e\xe2\xed\x1f\x91\x4d\x53\x66\x25\x77\x3b\x02\xd4\x3e\x3b\xfc\xaa\x67\x5f\xb6\x34\x93\xe5\xef\x9b\xc9\x97\x9f\x60\x26\x4e\xef\x19\x84\x96\x24\x33\xc8\x10\xc9\x17\xe6\xa8\xce\xf9\xa2\xf6\xa4\xc2\x46\xbd\x56\xe1\xca\x3e\x89\x90\xe2\x47\xde\x70\x94\xcc\x3c\x5f\xb7\x2b\x9c\xf3\xc5\x3b\xfa\xf1\xfd\xa3\x96\x7b\x00\x4e\xf4\x7a\x21\xe4\x84\x79\xed\x8b\xc5\x1c\xdd\x33\x16\x1e\xea\x16\x13\x9e\xe7\xe8\xc2\x16\x0a\x75\xf4\x56\xad\x89\x24\xde\x2b\xca\xfa\x57\x2a\xcd\x4b\x70\xdb\x68\x3d\xa9\xd5\x9b\x1d\xaf\xa7\x8f\x0e\xc2\xb1\xfb\x14\xb9\x9d\xe9\xd0\xba\x07\x0e\x30\x6a\xc1\x8b\x21\x63\xcf\x5f\x9f\x5f\xa0\xc2\x9b\x34\xed\xd0\x74\x6f\x9a\xcb\x31\xcf\xf7\xe8\xf6\x63\x93\x9c\x4f\xef\x76\xe3\x37\x38\x56\x2d\x42\xaf\x2a\x20\x00\xeb\x93\x87\xa3\xb6\xed\xaf\x11\x6c\xcb\x82\xe7\x68\x1a\x1c\xb1\xf3\x05\x2f\xbc\x3b\xb0\xf5\x4c\x47\x18\x74\xef\x59\xc0\x6d\xd7\xad\xa1\x08\x5e\xae\xd9\x91\x6b\x59\xbb\x76\x3d\x99\x9a\x86\xbf\xfd\xd6\x00\x73\x60\x60\xbc\x3b\x78\x6f\x45\xe4\xcf\xfc\x20\x5b\x1f\x02\xce\x43\x11\xe9\xd5\xe2\xc6\xcb\x26\x68\x22\x6c\x1a\xf4\xb0\x8d\x6e\x69\x8f\x70\x52\xf1\xb5\x70\x8c\x2d\x77\x22\x2d\x6b\x61\x4e\xe4\x12\xfc\x69\x5b\x37\x9a\x86\x0f\xf7\x18\xfa\x04\xda\x20\x78\x10\x1c\x21\xa8\xd8\xc4\xb9\xe1\x09\x51\x33\x77\xc6\xc2\x2a\x79\xfc\xa0\x40\xc7\x8e\x59\x9e\x29\x88\xd1\x83\xa0\x2a\x56\xc8\x62\xb0\x9a\x65\x5a\x60\xba\xd7\x88\xf8\xc9\x39\xd8\xde\xa5\x0c\xd7\xee\x89\xfb\x5a\x66\xe9\x46\xd2\x76\xca\xad\xaa\xb7\x10\x4e\x26\x20\xed\xfd\x4b\xb5\x3f\xd4\x42\x69\xcf\xbf\x82\x77\x50\x2c\x6e\xee\x5f\xaa\xfb\xfb\xd3\x39\xa6\x46\x6c\xa1\x59\x9b\xa9\xca\x1a\x94\x03\xf4\x59\xe9\xd8\x0a\x8f\x91\xdc\x18\xd0\x52\x08\xdb\xd3\xd9\x6e\x9b\x41\x43\x54\x97\x1a\x49\x3f\xc3\xcc\x40\x7e\x39\x89\x5a\x1d\x1d\xb1\xc1\x61\x6f\x17\xed\xac\x2c\xc0\x38\x6d\x4e\x43\xb0\xbd\xf7\x59\xa7\x8f\x0e\x22\x70\x50\x22\x23\x86\x65\xf1\x5e\x7a\xda\xd5\x0d\xe6\x43\xa8\x7f\xfb\x27\x77\x89\x71\xbe\x82\x39\x05\x4c\x83\xd7\x63\x68\x5f\x97\x65\xac\x7c\xac\x53\x78\x80\x0e\x23\x6f\x05\x47\xef\x79\x18\x05\x84\xb1\x49\x60\x24\x07\xa7\x7b\xd4\x5c\x93\x77\xb3\x0b\x61\x0c\x5e\xd4\x46\x14\x2d\x05\x5b\x2e\x16\x10\x7f\x64\xe6\x2d\x6d\x76\xe8\x42\x96\x73\x9e\x43\x34\xab\x8d\x01\xcc\x8a\xc5\x52\x83\x61\x77\x0c\x5e\x95\xd3\xec\x9a\x5e\xe8\x6c\xef\xe4\xe2\xec\xd9\xe0\x78\x0f\xe3\x8b\xd0\x98\x4c\x7f\x40\x88\x28\xdf\x43\x2f\xc6\x3c\x07\xb7\xbb\x85\x16\x69\x98\xf5\x73\xc4\x5e\xc0\xdc\x21\xac\x3f\xe1\x45\x21\x35\x04\xe2\xe6\x7c\x81\xb6\xe1\xed\xf6\xa6\x8d\x58\x8b\x0d\x84\x28\xb2\x42\x75\xc6\x91\x8b\xc4\xb9\xc7\x98\x59\xc3\xc8\x46\xe4\xb8\x9c\x9b\x73\x59\x30\x9e\x67\x1c\xf2\xb6\x9c\xbc\x7c\x71\x71\xf6\x32\x6a\x75\xfc\xcc\x40\x81\xf0\x9d\x7b\x8c\x3d\x3f\xbd\x38\x1e\xd9\x30\x9e\x60\xa3\x7e\x76\xa5\x8b\x96\x41\x58\xc4\xe6\x1d\x7a\x65\x58\x18\x26\xfe\x32\x34\x3a\x97\x4a\xe7\x6b\x96\x8b\x89\x66\x72\xa9\x1d\x29\x03\x83\x1d\x8b\x84\x2f\x6d\x4d\x2c\xb3\x7f\x73\x79\x6d\x76\xd7\x10\x2a\xb8\x5b\xd8\x4c\xe0\xce\x67\x2a\x97\x09\xcf\x05\x6e\x27\xe5\xb5\xb0\xf9\x30\x8a\x8a\xef\x0a\xcb\xb3\x2b\x41\xdb\x7a\x7a\x7e\xb2\xd7\x77\xe9\x12\x12\x69\xb6\x8d\xc4\x22\x3b\x17\x39\x81\xc0\xb2\x00\xfd\x8c\x3d\x05\xd7\x7f\xf1\xf7\x65\x76\xcd\x73\x81\x51\xbe\x08\xf0\xc1\xd7\x21\xd5\x1c\xdc\x1c\x8e\xf7\xfe\x20\x12\xb5\xd3\x0f\x86\x3b\x55\x89\xf9\x93\xfe\x12\xf0\x57\x0b\x9d\xbe\x15\x98\xa5\xc3\x0a\x64\x49\x40\x1a\x41\x45\x2a\x5b\xf2\x6a\xc8\xd8\x1e\x41\x4f\xe1\x13\x5f\x08\x04\x4e\x99\x9f\x5c\xc3\x4f\x72\x0e\x22\x73\xf6\xe6\xb3\xe0\x0c\xbb\x47\xd6\x7f\xf6\xc2\xd7\xd9\x39\x3d\x3f\x39\x7e\x75\x3a\x62\x0f\xbe\xee\xe3\x5f\xf6\xe3\x0f\x87\x23\x76\x78\xf8\x00\x3e\x3e\x30\x1f\xbf\x80\x8f\x5f\x98\x8f\x5f\xc2\xc7\x2f\xcd\xc7\x87\xf0\xf1\xa1\xf9\xf8\x15\x7c\xfc\xca\x7c\x44\x08\x5f\x9b\x8f\xdf\xc0\xc7\x6f\xcc\xc7\x6f\xe1\xe3\xb7\x23\x76\xf8\xe0\x00\x87\x38\x30\x9f\x0f\xf1\xb3\x19\xef\x01\x8e\x77\x68\x06\x7c\xf0\x45\x9f\x52\x62\x9c\x99\x3b\x6a\x25\xcd\x74\x5f\xbe\x38\x1d\xb1\x2f\x01\xd0\xc5\xdb\x97\x23\xf6\x10\x00\x5d\xfc\x74\x76\x7a\x3a\x62\x0f\x11\xd2\xcb\xd7\x67\x23\xf6\x10\x21\x3d\x7d\x63\xbe\x87\xa9\x9f\x3f\xfd\x65\xc4\x1e\xc2\xd4\xcf\x4f\xdf\x9c\xbe\x18\xb1\x87\x30\xf9\xd3\xa7\x3f\xfe\x74\x31\x62\x0f\x61\xfa\x2f\x9e\x9a\x01\x1e\xc2\xfc\xff\xf3\xf4\xec\xe5\x88\x7d\x09\x0b\x78\x7c\x7c\xf2\xf3\xf9\xab\xe3\x93\xd3\x11\xc3\xbf\x7f\x3e\x7f\x65\x3f\x9e\xc3\x87\x60\xaa\xb3\x52\x40\xf2\xbf\x8b\xe3\xc7\x23\x06\x73\xfd\x7f\x47\xec\x1b\x98\xdc\xdb\x11\xfb\x06\x31\x3d\x62\x5f\xc1\x4f\x67\x23\xf6\x0d\xcc\xf5\x62\xc4\xbe\x81\xd9\xfd\xc7\x88\x7d\x03\x3f\xbd\x1e\xb1\x6f\x60\x8a\x4f\x47\xec\x6b\x58\xc3\xcb\x11\xfb\x1a\x7e\x32\x83\x1f\x84\x83\x4e\xe4\x12\xf2\xff\x9e\x1c\xbf\x3a\xff\xf0\xec\xe5\xc9\xcf\x23\x86\x48\x36\x5f\x54\xff\xb6\x9f\x8f\x47\xec\x2b\x18\xc0\x2c\x01\x06\x78\x32\x62\x5f\xe1\x8e\x8d\xd8\xd7\xd0\xe6\xc7\x11\xfb\x1a\xa6\xfe\xd3\x88\x7d\x0d\x13\xfd\x7f\x46\xec\x6b\x98\xe8\xcf\x23\xf6\x35\x74\x7f\x36\x62\x5f\x7f\x45\x1c\xf4\xad\x80\xc7\xa3\x28\xc0\x7f\xb1\x48\xbd\xbd\x70\x2a\xc0\xb9\x48\x5c\x43\x21\x5f\x08\x41\xc4\x56\xa4\xee\xa0\x84\xcc\x63\xc1\x0e\x0f\x10\x96\x65\x72\x86\x13\xb2\x85\x90\x8b\x5c\x50\x62\x68\x28\x98\x20\x0d\x87\x30\xa7\x77\x6c\xd8\x23\x78\xe3\x67\x4a\xcb\x72\x0d\xe7\x69\xc8\xd8\xab\x7c\xa9\x68\x5a\x00\xc2\xf2\x42\xb5\xbf\x28\xe5\xb4\xe4\x73\xc8\x20\x6d\x33\xbe\xd2\xfc\x78\x5e\x0a\x9e\x9a\xf3\x8c\x89\x69\xd6\x76\x62\x18\xcf\x06\x6e\xe3\x12\x93\x97\x41\x47\xcc\x3e\x21\x0a\x9d\xaf\xfb\x9e\x1d\x03\xeb\x20\x06\xcd\x20\x72\x38\x4b\xe8\x75\x6a\x76\xff\xc5\xc5\xe9\xd9\x88\xe1\x99\x3a\x7d\x71\x61\x3f\x9e\x9d\x5e\xbc\x3e\x7b\x11\xfc\x85\x1f\x83\x6d\xce\xc0\x03\x8c\xfd\xe7\x88\x7d\x0b\xdb\xf3\xcb\x88\x7d\x03\x1b\x76\x32\x62\x5f\x01\x65\xbd\x19\xb1\x6f\x60\x33\x1e\x8f\xd8\x57\x48\xd4\x23\xf6\x35\xb4\x79\x3e\x62\x5f\x7f\x6d\xc1\x9d\xea\xc4\x40\x22\xaa\xfe\x02\xb6\xd6\x10\x35\x7e\x7a\x75\xf6\xf4\xc5\xc5\x87\xf3\x93\xb3\x53\x73\x52\xbe\xa4\xef\x2e\x0c\x7f\xc0\x3f\xce\x4f\xce\x5e\x3e\x7b\x46\xa4\x76\xf8\xe5\x43\xfa\xee\x99\xff\x0b\x8a\x81\x8e\x18\x1e\xfb\xc7\x67\xee\x23\x56\xf1\x1c\x31\x6c\xf5\xf4\xc5\xb9\xfd\xf8\xd3\xcb\xe7\x66\x26\x30\xe7\x57\xc7\x3f\x9e\x7e\x78\x6d\xa6\x03\xa8\x78\xf5\xa3\xff\xfc\xe4\xf4\xd9\xe9\x85\x61\x03\x5f\xd1\x5f\xf6\xe3\xe9\x8b\x27\x23\xf6\xc5\x43\xd7\xfd\xc9\xcb\xb7\x2f\x46\xec\x8b\x2f\x11\x40\xe5\x2f\xf7\x19\x00\x03\x7a\xb0\xc5\x97\x80\xd7\x33\xe4\x0a\x5f\xc0\x8c\x9f\x9d\x1a\xc9\xe1\x0b\x40\x2f\x55\x4e\x34\xab\xfc\xd2\xa2\x12\xeb\x10\x9a\x13\xf1\xea\x60\xc4\xbe\x85\xc9\xfc\xfc\xea\x70\xc4\xbe\xfd\x1a\x3f\x3e\x18\xb1\x6f\xbf\xc1\x8f\x5f\x8c\xd8\xb7\xdf\xe2\x47\xc3\x40\x0f\x0e\xf0\xb3\xe1\xa0\x07\x87\xf8\xd9\xb0\xd0\x83\x07\xf8\xd9\xf0\xd0\x83\x2f\xf0\xb3\x61\xa2\x07\x78\xf2\x5e\x19\x2e\x7a\xf0\x10\x3f\x7f\x78\xf5\xec\xf5\xb9\xf9\x9b\x46\xfb\x70\xfc\xe4\x49\xf8\xe7\xf3\xa7\x2f\xf0\x77\x1a\xf7\xc3\xf9\xeb\xc7\x17\x67\xc7\x27\x17\xd1\x77\x17\xc7\x86\x22\x0f\xbe\xb2\x9d\x5e\x3f\xbb\x78\xfa\xea\xd9\x7f\x84\xdf\x3d\x79\xfa\xe6\xe9\x93\x53\xc3\xca\x0f\xed\x37\xa7\x27\x4f\x9f\x1f\x3f\x33\x5f\x1d\xd8\xc9\x9c\x9e\x3d\x7d\xf9\x84\xbe\xb9\x57\x29\xf5\x36\x17\x69\x06\xb2\x86\x32\xa8\x3c\x7e\xf3\xf4\xc7\xe3\x8b\xd3\x0f\x86\xbb\x8e\xd8\x21\x51\xab\xfd\xf6\x87\x97\x67\x6f\x8f\xcf\x0c\x24\x24\x6c\x2c\xb4\x66\xfe\x44\x0e\xf5\xfa\xd9\x33\x47\xa0\x87\xc8\xbe\xde\x3e\x7d\xf1\xe4\xe5\xdb\x0f\x2f\xdf\x9c\x9e\xbd\x79\x7a\xfa\xd6\x7c\xff\x00\xa9\xcf\x6c\xe7\x8b\xd3\xf3\x73\xa0\xa9\x07\x78\x57\x05\xdf\xe2\xd6\x3f\x38\xfc\x3a\x94\xe1\x9e\x06\x62\x38\xf9\xa0\x9b\x37\x80\xb7\xf5\x6f\xbb\x79\xad\x07\xc3\x51\xec\x82\xfe\xaa\xb4\x85\x62\x7c\xc6\x19\xc3\x29\x7d\xc0\x95\x5a\x2b\x2d\xe6\x28\x67\x41\xda\x27\xab\x3c\x82\x8e\xde\xfd\x1b\x13\x3f\x8c\xb6\xa6\x86\xe8\x47\x3e\xe7\x6f\x79\xa6\x29\x83\xfc\xde\x95\x58\x43\x72\x96\x3d\x04\xdd\xf7\xa9\x58\xec\x2f\xcc\x66\x88\xaf\x24\xc5\xa6\x29\x50\xd6\xa0\x4d\x73\xb0\xb5\xdb\xa2\x49\x3c\xab\x64\xb7\xc2\xdc\x82\xf1\xfa\x29\xe3\x15\xcd\xc6\x8f\xf9\xea\xf8\xfc\x7c\xd3\x80\x50\xc6\x34\x1a\xed\xdc\x97\xcb\xb0\x31\x3f\xf0\xc2\x5d\xf0\xa9\x11\x36\x3d\xe8\xb0\xfe\x50\xa0\x9f\xb5\x9d\x9c\x13\x66\x7b\xbd\xa2\xdb\xa5\x87\xb9\xc5\x34\x53\xb9\x2a\x9a\x26\xfa\x44\xae\x8a\xdb\x4d\xf5\xae\x65\x36\xb6\x4f\x96\x48\x44\xcb\x1a\x4a\x2f\xe4\x85\xbc\x05\x46\x5d\x8d\xac\x3f\x68\x86\x63\xa9\x35\x25\x12\x8a\x26\xf9\x18\xbe\xff\x93\xe7\xe9\x0b\x86\xb8\x69\x42\xd2\xd9\x86\xda\x20\x34\x5d\xcc\xe8\xe6\x7e\xdf\x65\xbe\xf5\xc2\x1f\xb7\x4c\x64\xb4\x83\x36\xc7\x25\x67\xfb\x40\x95\x13\xff\xd9\xc3\x6b\x83\x00\x27\xf3\x71\xd2\xe9\x33\xf8\x70\xae\x65\xc9\xa7\x22\x8c\x6d\x7a\xe5\x16\xff\x1c\xd7\xce\xd4\x72\x8c\x21\x89\x80\x0c\xc3\xd7\x50\x2b\xce\x5e\xf0\xf3\xf3\x9f\x82\x54\x76\x81\x8e\x06\x33\xb8\x93\x4e\x38\xa7\xb4\x8f\xbc\x60\xb2\x4c\x45\x09\xbe\x0a\xa8\x5d\x45\x1b\x4b\x22\x8b\x82\xd2\x4e\x2e\x4a\x69\x96\x10\x5f\x49\xb5\x29\x85\xfa\x7f\xec\xf0\x94\xd2\x12\x98\x55\xd5\xda\x7b\x4b\x4a\x9f\x88\x84\xa2\x45\x69\xfd\xf5\x14\xab\xd1\xbf\x0e\xd2\xc5\xbe\x9d\xdb\x3e\xe8\xd6\xdd\xb8\x56\xf5\x9f\x8a\x89\xf2\x8e\xaf\xb5\x39\xd0\x90\xfe\x07\xb0\x19\x60\x50\x81\x79\xdc\xaa\xae\x01\xd0\xab\xa7\x5c\xb8\xaa\x54\x1e\xc2\xb0\x1a\x0f\xc7\x34\xe8\xc3\xe8\xef\xae\xc4\xfa\xfd\xbb\xc3\xf7\xbd\x96\x4c\x30\x6d\x53\x4b\xb8\x16\x53\x09\xa1\xcd\xa8\xa7\xdb\xde\xd0\x1d\x33\x76\xc4\x3a\xf6\x73\x67\xa7\x9e\xc7\x8b\x85\xe0\x25\xe9\xf8\x3b\xfe\xaf\xdd\x7a\x9b\x33\x68\x63\x19\x3b\xee\x8f\xdd\xfa\x9e\x9b\x13\x63\xd6\xd8\xc1\x4f\x3b\xf6\x02\xfe\x84\x9e\x26\x1d\xf7\xc7\x6e\x7d\x4f\x8b\x44\xa6\xd4\xd5\x7e\xde\xad\xe7\xf3\x4c\x25\x22\xcf\x79\x21\xe4\x12\xa6\x1c\x7d\x11\xa8\x68\x9f\xd1\x51\xf2\x7d\xfb\xee\x98\x8d\xd7\x2c\xcd\xd4\x22\xe7\x6b\xfc\x8a\x75\xb5\x5c\xc0\xbb\x0f\xee\x87\xde\xa6\x43\x66\x27\xb3\x7e\xe2\x3c\x89\x6d\x1a\xa0\x7f\xb0\x2c\x1d\xb5\x12\x7a\xe3\x56\xf7\x89\x8b\xdf\xe8\x51\xb8\xe7\xac\x3b\x91\x85\x56\x7d\x96\xc8\x5c\x96\xaa\xcf\xb2\x39\x9f\x0a\xd5\xeb\x80\x79\x79\xe7\x71\x1c\x1d\x44\xc3\x60\x6d\x04\x86\x04\x72\x3b\x80\x76\xaf\x22\x78\x6e\x03\x6f\x07\xcb\x9e\x8e\x08\x96\x3b\x32\xb7\x83\xe5\xc8\x2f\x02\xe6\x89\xf2\x96\xd0\xe0\x14\xc4\xa0\xf0\x60\xdc\x0e\x4e\x44\x9a\x11\x38\xf3\xcb\xb0\xf3\x11\x32\x43\xb5\x12\x5a\x9d\x33\xd2\x53\xa3\xc3\x73\x3d\x98\x96\x83\xb9\x4c\x45\x67\x74\x8f\xb1\x77\xb7\x41\x37\x38\xad\xc3\x6c\xde\xc1\x27\xd6\x29\x64\x21\x6c\xf2\xaa\x01\x65\xae\xca\xc5\x44\xdb\xcf\x70\x5f\xc3\x1f\x58\xdc\xb9\x83\xe9\x62\xcd\xc5\x75\x9c\xeb\x1f\x0d\x8b\xd7\x74\x4f\xcd\x78\x72\xf5\xd7\xb7\x33\xb1\x2c\x33\xa5\xb3\x64\x78\x59\x90\x1d\xa9\x13\x7c\xea\x98\x71\x2f\x3b\x23\x23\x15\x48\xec\xeb\x35\xda\x05\xbf\xce\xa6\x5c\xcb\x72\x98\xf3\x62\xba\xe4\x53\x31\xf2\x5d\xf1\xe2\xb9\xec\x88\x62\xb0\x54\x97\x1d\x76\xf4\x3d\xbb\x84\xe9\x5f\x76\xfa\x18\x99\x00\xdf\xb8\x09\x5f\xc6\xc3\x42\xc3\x11\x7b\x92\x29\x4c\x9a\x50\xac\x69\x01\xa5\xc8\xc1\xdd\x67\xbe\x2c\xcc\x4d\x1e\x4e\xdb\x61\x05\x26\xac\xd4\x72\x8e\x21\x71\xf7\x8f\x73\x4d\x29\xd9\x00\x46\xd4\xc7\x62\x2f\xe8\x03\x8a\xfe\x4d\x7d\x82\x49\xbb\x4e\x28\x55\x35\xf4\xc2\x4a\xeb\x9d\xa8\x40\xe8\x20\x53\x83\xb8\xf6\xe7\x1d\x88\x83\x52\xd5\x75\xc6\x52\xa2\x41\x84\x75\x9e\x4e\x98\x12\xba\xcf\x96\x45\x2a\x29\x9c\xdb\x3f\xf9\x8f\x73\x3d\x70\xf5\x3e\x07\xdf\x3f\x39\x7d\xc6\x4a\x31\xe7\x0b\x9f\x5b\xcc\xae\x30\x9a\x2b\xcb\x8a\x54\x88\x14\x8b\x9a\x84\x45\x4e\xc3\x95\xd1\x7a\x3e\xcd\x2a\xce\x85\x66\xab\x99\x70\xc9\xef\x6d\xbd\x56\x9e\x68\x85\x09\x3c\xcc\x58\xf0\x95\x79\x3b\x9b\x2f\x52\x43\xc3\x45\xa2\x6d\xdb\x68\x72\xe6\x25\xad\x06\xab\x19\xd7\x77\x98\x5f\x07\xdd\x67\x70\x6a\xef\xdc\x5f\xac\xf3\xcd\x60\x9c\xc1\x99\xa3\x87\xf3\xe0\x4a\xac\xed\xa9\x3b\xb1\xe9\x58\x67\xf5\x92\xb5\xf8\x96\x4e\x1b\xcf\x1b\x23\x67\x9d\x21\xfe\x63\xe7\x90\x7c\xbc\x00\x8b\x8f\x91\x52\xb3\x9b\x61\xd8\x18\xa6\x30\xb4\x8d\x8f\xd3\x94\x1d\x3e\xf8\xc6\x3e\xac\x96\x05\x18\xd8\x44\x1a\x86\xb1\x2b\x57\x97\x2f\x02\x14\x2c\x61\x38\xf4\x6a\x89\x48\xfb\x80\xaa\x12\xac\xc1\x41\xa9\x48\x42\xb5\x41\xf5\xe4\xfb\x7f\x8a\xaf\xd5\x90\xb1\x2e\xc8\xd4\x2b\x59\x5c\x76\x34\x54\xd8\xc1\x78\x57\x23\x31\xe7\x5c\x4f\x64\x39\xa7\x22\x3b\x00\xb6\x1d\x9c\x1d\x90\x12\x99\xc1\xee\xc7\xd5\x11\xcc\xd4\x21\x89\xb1\xc1\xba\x37\xee\xf5\x3a\xf7\x18\xb3\x64\xb1\x4c\xb3\x71\x2e\x06\x63\x91\xe7\x03\x65\x6e\x8c\x9d\x49\x83\xae\x1c\x78\x7e\x0c\x4a\x81\x2f\xa0\x11\xca\xd7\x06\xac\xdc\x37\x40\x89\x94\x97\xa5\xfd\xf4\xfa\xec\x99\x8d\x31\x77\x6f\x4b\xd3\x90\xc1\xe8\x43\xc6\x4e\xe7\x0b\xbd\xb6\x5e\x8c\x66\x09\x85\x64\x34\x4d\x68\xe8\x48\x3a\x15\xea\x4a\xcb\xc5\xa0\x90\xda\x65\x68\x86\x85\xdc\x7a\x09\xcd\x1c\x04\x13\x61\x46\x93\x54\xf6\x91\x66\x4e\xff\x14\x73\xa5\x80\x4f\x76\x02\x9e\xdb\x8c\xb3\xb7\x62\xec\xd8\xc7\x8b\x60\x62\x43\x48\x99\xa3\x28\x67\xce\xea\x8b\xa1\x2c\xa7\xfb\x17\x67\xfb\xe1\xe4\xd5\x7e\x74\x16\xf0\xc3\x13\x94\xfa\x0c\x32\xa2\xb6\xac\x14\x7f\x5f\x66\xa5\x50\x86\x00\xe6\x99\x52\xb0\xe3\xd6\x3d\x6c\x09\x55\x02\xde\xce\x04\x65\xa2\xb1\x60\x31\x12\xdd\x1c\x3f\x25\xc0\x04\x8a\x8b\x04\x5c\x51\x2e\x7a\xad\xc5\x7c\x01\xbf\x71\x75\xe5\x0d\x9b\x66\x27\x82\x91\x2c\xc0\x6c\xc2\x0a\x91\x08\xa5\x78\xb9\x1e\x62\x01\x4d\x5b\x53\x85\xcd\xf9\x1a\xd2\x04\xab\x19\xf9\x74\x84\x00\xcc\xf4\x85\xd2\x54\xe8\xc4\x82\x4b\xc1\x43\x47\x33\xcc\x27\x63\x50\x1a\x56\x99\x46\xba\x6e\xe4\x18\xc4\xde\xc5\x8d\x16\x85\xc2\x42\x55\x54\xe4\x86\xed\x45\x78\xdb\x0b\x27\x01\xb9\x22\x83\xbf\xb5\x0c\x66\x82\xd2\x76\xd4\xd9\xd1\x9e\xdf\xff\x01\xc8\xbb\x3b\x93\x5c\x20\x47\xb3\x4e\x39\x1d\x77\x0f\xbf\xea\x33\xfc\xff\x1e\x08\x34\x00\x0d\x69\xf0\x22\x26\x34\xf8\x09\xf9\x91\xb8\xa1\x90\xf5\x42\x52\x84\x3c\xfe\xe8\x73\x10\x35\xcd\x14\x24\xf2\xbb\xcd\xd4\x4c\xcd\x86\xed\x20\xbe\xcf\xcf\xc9\xc7\x91\x0e\x73\x30\x51\x18\xa7\xe5\x24\xe3\x6f\x4d\x3b\x18\x26\x45\x08\xb9\xde\xb2\xcc\xbb\xf6\xec\x4c\xa5\x1c\x4e\xf3\x7d\x5e\x88\xf4\xe2\xe7\x5e\xd8\x2a\xcf\x0a\xc1\xcb\xc1\xb4\xe4\x69\x26\x0a\x0d\xaf\x23\x7c\x1a\xf5\xd9\x18\xdc\x4c\x4b\x91\xf6\x1a\x90\xa2\xb2\x5f\xff\x34\x9c\x40\xfe\xe5\x21\x63\x4f\x6c\x62\x2d\x2d\x99\x91\xf0\x9a\x36\xcb\x7a\xdf\xfd\x69\x73\x73\xee\x7e\xb7\xd9\x9c\xc3\x83\x7f\x35\xff\x1f\x7e\x95\x80\x0d\x35\x5c\x11\x0a\x5a\x28\x7d\x7c\x7a\x41\x8f\xd8\x34\x2d\x09\x45\x35\x32\xe0\x82\xe9\xe0\xf1\x39\xeb\x5e\x76\x2e\x2f\x6f\x0e\xbe\x31\x22\x37\xbf\xe2\xec\xaf\x3f\xf5\x86\x2c\x28\x6c\x61\x27\x1f\x03\x01\x07\x94\x00\x10\x00\xf9\x7a\x72\xd9\x71\xdb\xe5\x04\x8a\xc1\x9c\x2f\x06\x36\x71\xbf\xba\xd3\x96\xd1\xc3\x06\xf6\xc8\xfa\x86\x5b\xed\x9b\x4f\x2d\x02\x59\x31\x28\x69\xc5\x90\x7c\x5a\x38\x53\x0b\xf4\xea\x2f\x4b\xbe\xee\x93\xf0\x20\x78\x32\x33\xdb\x81\x2e\x71\x1d\x97\x49\x92\xca\x31\x7a\x59\xc8\x5c\x04\xa0\xb7\xb4\x29\xf7\x29\x10\x36\x18\x89\x52\x6e\xb8\x6b\x84\x75\xe2\x31\x59\xa6\x95\xc8\x27\x43\xac\x4a\xc3\x75\x65\x42\x30\x95\xea\x04\x1c\xa8\x52\x24\x22\xbb\x8e\xc5\xb3\xea\x4c\x20\x51\x0b\x32\xe4\xb0\xa1\x27\xd5\x80\x56\x5b\x88\xd5\xe0\xe2\x1f\x7b\x07\x7b\xa3\x7f\xec\xdd\xdf\x1b\xed\x5d\x5e\x2e\x1f\x1c\x7e\xfb\x60\xaf\xbf\xd7\x77\x7f\x1d\xec\xf5\xf7\x06\xee\xaf\xc3\xbd\xfe\xde\xd0\xfd\xf5\xc5\x5e\xdf\x4f\xd9\x80\x81\xef\x1f\x7e\xf3\xcd\xde\xc7\x8f\x81\x3c\x05\x55\x9c\x06\xb2\x18\x88\x9b\x6c\x77\x29\x3b\x7e\x75\x13\x45\x87\x64\xfe\x96\x5e\x01\xc0\x43\xe1\x6e\x86\x81\x00\x2f\x54\xf5\x6a\x85\x77\xbd\xab\x15\xc2\xcc\x0c\xfc\x35\x80\x59\xcd\x06\xe3\x3c\x2b\xae\xee\x44\x9f\x0d\x87\xaf\x3e\x2b\x00\x6f\x9d\x88\x95\x2c\x83\x74\x7e\x8d\x33\x19\x24\xeb\x24\xbf\x1b\xfb\x7d\x77\x78\x70\x70\xd0\x67\x0f\x0f\x0e\xde\xc7\xc7\xa6\x73\x11\x0c\x0f\xf3\x29\x8d\x1c\x91\x15\x6c\x9e\xe5\x79\xa6\x44\x22\x8b\x54\x35\x72\xb9\x63\xa6\x57\x92\x09\x4c\x50\x69\xa9\xd7\x07\xba\xc8\x09\xe5\xa5\xcc\xf0\x41\x93\x4b\xeb\x41\x8f\xa3\xf9\x2c\x43\x4e\xdc\x82\x52\x40\x66\xc0\xa8\x4f\xa6\x83\xb6\x72\x32\xa9\xe2\xe6\xf7\x89\x14\xbc\xfb\xe0\xe1\xc3\x3e\x3b\xc0\xff\x1b\x3e\xec\x11\x5e\xaa\xa2\x05\x8a\x0c\x74\x1d\x5c\x53\xbe\x3c\x9c\x81\x9f\x90\x69\x33\x58\xf0\x5c\x68\x2d\x3e\x39\x87\xeb\xbc\xb4\xb5\x4e\x50\x69\x68\xa5\x6b\xfb\x8e\xa1\x71\x1b\xf7\x2a\xac\x6b\x58\xe5\x8f\xc8\x94\x30\x91\x94\xe5\x95\xec\xe9\xa4\xd6\xce\x6d\x13\xe5\x0a\x45\x76\x0a\x7a\x8c\x94\x52\x95\x6f\x60\xae\x8e\xa3\x39\x59\xd8\xf0\x62\xeb\x5a\x03\xce\xce\x58\xe0\x4f\x3b\x64\x6f\x5a\x10\xe4\x16\x69\x59\x52\x0e\xde\x42\xbc\x58\xb3\x44\x29\x82\x85\xbe\x3b\x94\xed\xd4\x4d\x81\xd2\x22\xb1\x7f\x39\xfb\xf1\x71\x9f\xfd\xcb\xd9\xd9\x8f\x3f\x3e\x7e\xdc\x67\x46\xd2\x1c\x0e\x87\x3d\xf8\xc4\xe9\x23\xd4\xfd\x32\x30\x01\x1e\x3a\xef\xfa\xab\x90\x6b\xf2\x44\x54\x92\x2d\x78\xa9\x2d\xa5\x28\x2d\x93\x2b\xf6\xcb\xe1\xa1\x01\x35\xd4\x37\x1a\x2d\x55\x4d\x4b\xfa\x0f\xb9\x84\xf5\x2c\x95\x60\x56\x85\x86\x31\x26\x66\x71\x6b\x9f\x3d\xcb\x6e\x38\x32\x7c\x7f\x36\x0c\x5b\xb1\xc0\xc6\x82\x0a\xdf\xa4\x76\xd1\x99\xf3\x65\x85\x97\xee\x55\xb6\x58\x40\x6a\x53\xa6\xe6\x3c\xcf\x19\xc6\x29\x80\xb3\x73\x91\x66\x49\xb0\x38\xc7\x2b\xdd\x05\xd3\x48\x41\xc1\x29\x58\xac\x0d\x53\xc7\x02\x5f\x3b\x13\xbf\xd7\x65\x37\xb0\xf4\xe3\xa5\x96\x73\xae\xb3\x04\x5c\xb9\xb0\x06\xaf\x04\x5b\x9f\x2b\xdc\x66\x49\xc7\x16\xa2\x75\xf3\x59\x2a\x31\x20\x94\x0d\x90\xfd\x0f\xa0\xe2\xee\x1d\x26\xb6\x81\xad\x6b\xef\x2f\x66\xf7\x87\xee\x1a\x2c\x0f\x4d\x15\x26\x1d\x92\x72\x23\x80\xbb\xd9\x0f\x20\x57\xc9\x9d\xe7\xd5\x7e\x07\xc2\xe5\x67\xcd\xd3\x1e\x59\x98\x1a\xc5\x0c\x97\x15\x53\xbf\x73\xba\xcc\x07\x8b\x7c\xa9\x06\xf3\xac\x58\xaa\xc1\xaf\xa2\x94\x83\x5f\xa5\x9c\xdf\x41\xfc\xac\x4f\xc9\x49\x9f\xe0\xbc\xfb\x2a\x5f\xaa\x7d\xa8\x7b\xb4\xff\x9f\xa2\x94\x71\x2d\xa2\xe0\x7c\x3c\x9d\x58\xac\x07\x89\xd1\x36\x76\xa6\x96\xf0\x33\xc8\xa2\x8a\xfd\xf5\x83\x93\x47\x3a\x7e\x74\xe8\x1a\xd4\x1f\x8d\xd0\x90\xdc\x6e\x33\x36\xca\xdd\xa0\x4e\x3e\x31\xe8\xce\x84\x82\x4c\xde\x80\x07\x5b\x72\x5a\x4b\x70\xca\x31\x3f\x40\xe7\x60\xf5\xd0\x13\xd6\x7c\xff\xc4\xae\x25\xea\x80\x90\x3c\x64\x04\x10\xad\xc4\x56\xab\xfd\x74\x4b\x79\x83\x85\xd6\x6a\x4b\x79\xb3\xe3\x52\xde\xd8\xa5\xbc\xa9\x2f\xc5\x43\x8e\x97\x22\xb8\xd2\x03\xae\x32\x5e\x0c\xf8\x7c\x9c\x4d\x97\x72\xa9\x06\x5c\x0d\xf4\x4a\x1a\x09\x60\x39\xdf\xfd\xed\xb7\xb3\x1a\xf9\x94\x2b\xcd\x8e\xcd\x98\xec\xd8\x8e\x19\xc6\x40\x61\x49\xc1\x95\xa1\x3f\x33\x01\x06\xc5\x44\xfd\x8c\x21\x73\xf3\x00\xd4\xad\x03\xa2\xd0\x4f\x33\x47\xa8\xe7\xa0\xa5\xcd\x0d\x0d\x23\xf8\xda\x5b\x6e\x7e\xb6\xae\x8c\x96\xb6\xde\x83\x9e\x89\x79\xe3\xdd\xf3\x56\x5c\x76\xf2\x9c\x95\x42\x2d\xf0\x05\x03\xeb\x1a\x8c\xd7\x5a\xb0\x6b\x51\x2a\x1b\x08\xa3\xc1\xc5\xbf\x3e\x94\x3b\x5d\xa5\x98\xf2\x32\xcd\x85\x52\xde\xdb\x03\xeb\xed\x56\xf1\x32\x96\xf9\xee\xea\xd3\x06\xc9\x48\x97\x99\xd2\x5c\x8b\x10\x27\x51\x8d\x0b\xc3\x8e\xcd\x20\x6c\x85\xc5\xe4\xa0\xe0\x5b\xac\x10\x42\x57\xa2\x3c\xdd\x1f\xa3\x21\xc6\x99\x32\xac\x66\x68\xc8\xd8\x0f\x16\x87\xce\x1d\x18\xe2\x18\x42\xa8\x43\xc6\x5e\x2c\x73\x70\x4e\xe2\xce\xe2\xd5\xb4\x5e\x43\xb0\x38\xd4\x9d\x56\x5e\xe7\xa9\x2d\xab\xc6\xd5\x90\x98\xd8\xfd\x66\x70\xf8\x90\x19\xa6\xcf\x0e\xbf\x8a\x45\xab\x9e\x5b\x31\xf8\x13\x16\xeb\x06\xdc\xb0\x3a\x32\x7c\x8d\xfc\xea\x1a\xef\xfc\x60\xda\x65\x69\x21\x75\xe2\x5b\xa5\x71\x9f\x88\xd6\x33\xb3\x2d\x95\xf9\x39\xe1\x00\xd4\xe0\xb7\x50\xab\x6c\xbc\x6b\xcf\xcd\x53\x85\xdb\x64\xba\x56\x2c\x77\xaa\x70\x27\x3f\x01\xa3\x5b\x95\x99\xe1\x6f\xad\xd2\x4a\x6d\xa6\xd0\xe1\x13\x49\x51\xae\x36\x30\x4c\x45\x4b\x9c\x0d\x4b\xb3\x52\x60\xc9\x08\x2a\x06\x8d\xfe\x9b\xad\x93\x4b\x45\x72\xf8\xe0\xae\xef\xf5\x06\x7e\x76\x16\x6c\xac\x99\xd9\x65\x47\x85\x9a\xf5\xa0\x82\x63\xf4\x52\x35\xc7\x7f\x69\xa4\x5a\x23\xc7\x5a\x42\x7e\x72\x7a\xe2\xca\xf1\x40\x66\xf1\xc3\x07\xc1\xf4\xaf\xb3\x52\x16\xe6\xbd\x7a\xd7\xd9\xff\xa3\x73\x71\x7a\xf6\xbc\x33\x62\x1d\xb0\x87\x0d\x1e\x3c\xfc\x0a\x5f\x8a\x98\x17\xa0\xf6\xb4\xb6\xb2\x60\x30\x34\xbb\xa6\x6c\x33\xaa\x1f\x6b\xa8\xec\x34\x0d\x4b\x19\x4c\xf8\x3c\xcb\x77\x97\x3f\x2a\x1e\x27\x9d\xbd\x27\xe2\x6f\xfc\xcd\x92\x9d\xf3\x42\xb1\xe7\xb2\x90\x7b\x7d\xb6\x77\x6a\x58\xb9\x2c\xec\xdf\x3f\x94\x42\x98\x8f\x7d\xb6\xf7\x5c\x14\x39\x34\xb9\x20\xaa\xf5\x0a\x9c\xce\x5c\x16\x12\x95\x90\x55\x35\x29\x69\x66\x89\xb3\xc2\x84\x6b\x15\x26\x80\xa3\xc4\x4b\xbb\xb3\x12\xf9\xf0\x61\x1f\x92\x57\x35\xe0\xd7\x57\xf3\xcc\x0a\xb6\xc8\x6e\x44\xae\x2a\x83\xce\x25\x8a\x79\x77\xd3\x14\xf0\x42\x67\x18\x3b\x96\x36\x6a\x8b\xe3\x31\xdc\x6b\x37\x98\x43\x29\x3e\x8d\x09\xe4\xc1\x97\x07\x7d\x66\xff\xd3\x68\x05\xf1\x63\xdd\xd1\x0a\x32\x93\x73\x31\xb8\x12\x6b\x35\x40\x1f\xd6\x4f\xac\x7d\x36\xe0\xf7\x85\x33\x06\xfa\x52\x97\x9e\x68\x5c\x29\x77\x34\x1d\x43\x41\x52\xd7\xcd\x3d\x4c\x4d\x77\xe7\xf0\xfe\xe6\xc2\x96\x09\x54\xa8\xbf\x20\xe1\xc7\x70\x5f\xd7\x15\xe5\xce\x37\x17\x14\xdc\xc9\x03\x68\x95\x41\x70\x06\x1e\x27\x57\x62\x6d\x4b\xb4\xdd\xd5\x25\x27\xe6\x0e\xc7\x10\xbc\x24\x27\x95\x74\xcd\x32\x0a\x50\x80\xfc\xdf\x41\x3d\x53\x1b\xcd\x68\x93\x90\xfb\x33\x5a\xc6\x35\x06\x37\x67\x14\x8f\xd3\x89\xa7\x22\xc9\x8c\x44\x13\xc0\x9b\x89\x1b\x6e\xbf\x46\xcd\x00\x78\xd7\x11\x20\x1f\x24\x41\xe0\x6c\xa4\x44\x4d\x1d\xe3\x04\x2a\x6b\xd8\x72\xd5\x62\x7d\x30\x42\x9f\x74\x4f\x64\x87\x8f\x80\xff\x00\x63\x4e\x8c\x70\x65\x41\x89\x9b\x45\xce\x0b\x0c\xb3\x25\x25\xcb\xc4\x48\x64\x10\xfc\x20\x58\xc5\xf8\xf5\xec\xed\x59\x91\x96\x8d\x32\xef\x39\xe8\xbc\x59\xb0\xb1\x81\xb1\xe6\x1f\xa1\x91\x86\x22\xa4\x73\x3d\xf8\x79\x6f\xc4\xf6\x2a\xde\xdb\x7b\xfd\x7a\x5b\x7c\xa6\x3e\x33\xad\x5f\x1d\x9f\x9f\x37\x35\xf9\xc9\xfc\x78\xd9\xf9\xe9\xf4\xd9\xb3\x97\x97\x97\xc5\x65\x67\xcf\xb7\xf9\x68\xa9\x6e\xce\x6f\x06\x88\xb9\x81\x25\x82\x9d\xa9\xcf\xf9\xf2\xb1\xc3\x83\x03\x50\xff\x06\xbc\xf3\x39\xbf\x61\x94\x68\x03\x2a\xfc\x3c\x39\x39\xef\xb3\x97\xe7\x27\x7d\xf6\xea\x39\x6c\xc8\xf1\xab\x73\x4f\x95\x63\x31\x81\x72\x71\x98\x69\x85\x2d\x17\xd1\xc9\xf1\x8f\x0b\x24\x31\x37\x79\x91\x66\x1c\xf9\x08\x2f\xc5\x60\x62\x3e\x7d\x62\x56\x92\xc8\xe2\x5a\x94\x3a\x08\x4c\x22\xca\xca\x4a\xf6\x83\x21\x55\x1f\xc2\x3c\x64\x5e\x95\x90\x0b\x1d\x9b\xb1\xe2\x1a\xed\xb6\xb8\x78\xb0\x12\xcd\xc9\x24\x47\xae\x3c\x9f\x42\x21\x52\xf5\x58\x72\xfe\x49\xc8\xa5\xb8\xcb\x0b\x45\xd9\xa7\xd0\x72\xe0\x27\x25\x97\x4a\x0c\xd0\xab\x2c\xc9\xb3\xe4\xea\x96\xef\xfc\x8d\xa2\x22\xba\x1a\xcb\x82\x3c\xd4\x50\xd9\x36\x5e\x6a\x2d\x0b\x06\x83\x35\xdb\x04\xb0\x98\x94\x73\x9b\x30\x47\xfa\x1a\xed\x09\x58\x06\x1e\x0a\x53\xe1\xa1\xdd\xc3\xf9\xc3\x9c\x07\x08\x79\xcf\x33\x63\x7a\x33\x36\x8d\x81\x91\xd7\xe8\x17\x64\x6e\x00\xda\x34\xf0\xbf\xfb\x9c\xe6\x6b\xbe\x13\x29\x9b\x67\x10\x66\x50\xa2\x78\x5b\xc1\x5c\x38\xf2\x5d\x90\x56\x75\xb3\x3c\xe8\xb3\xc3\x3e\x7b\xd0\x67\x5f\xf4\xd9\x97\x7d\xf6\xb0\xcf\xbe\x22\xc7\xae\xe7\x80\x3d\x2c\x4e\x8f\xe3\xc1\x11\x2b\xea\x6f\xc6\x36\x6b\xb2\x6f\xd2\x67\x2b\x7c\xab\xdb\xe7\xe8\x3c\x4b\xcd\xf2\xa3\x1d\x42\xf7\x81\x62\xf0\xcb\xe1\xa1\x43\xa9\xf7\x97\xea\xe2\x2d\x62\x28\xcb\xf9\xf9\x81\x89\xb7\x60\xbf\x1c\x1e\xd6\x06\x08\x29\xc0\xa9\x97\x71\x9c\xae\xad\x3a\x25\x98\xe1\xc8\xd7\xce\xbe\x36\xb7\x31\x14\x94\x0a\x0d\x96\x7e\x9d\xf1\x70\xc6\xfe\xee\xf2\x33\xef\x35\x62\xe0\x80\x1d\x1d\xe1\xfe\x76\x17\x65\x36\xe7\xe5\xba\x47\xed\x83\xe6\x87\x50\x2a\x11\x41\x77\xf9\xf2\x26\xcb\xb3\xe6\x86\x0f\x4c\x43\x0a\x67\x41\x73\x53\x73\xbb\xdf\x43\xd5\xb5\x53\xf9\x67\x91\xf6\x4a\x96\xe9\x00\xb2\x68\x0f\x20\x29\xd2\xc0\xf4\xbd\x03\x75\xc3\x74\xde\xfd\xf5\xf2\x52\x5d\x5e\xbe\xbb\xbc\x7c\xdf\xed\xfd\xe3\xe3\x77\xdf\xef\x5d\x76\x2e\x2f\xff\xfa\xd9\xbf\xff\xcb\xff\xfa\xd7\xcf\xff\xd2\x7f\x34\xfa\xff\xde\xd7\x84\xe1\x33\x31\x5d\xe6\xbc\x64\xe2\x06\x1c\x00\x49\x33\x3f\xe3\x39\x95\x61\x24\x21\x00\xd3\xde\x99\x1d\x85\x6c\x5d\x3d\x5b\x67\x8e\x14\xd4\x2d\xd8\x29\xe7\xa0\xff\xd7\x64\xcf\xe0\x81\x15\x1c\x43\x75\xb4\x64\xa5\x00\xf3\x14\xc9\x20\x49\xa0\xa4\x1a\x86\xfa\x2e\x2a\x2d\xb6\xf7\xbf\x29\xe5\xc3\x70\x2f\xac\xa6\xc6\x15\x5b\x70\x3d\x53\x6c\x02\x9e\x57\x10\xcb\x03\x13\xb5\xba\x11\x19\x28\x3f\x6a\x38\xbf\x9d\x86\xe7\xb6\x48\xff\xdf\xc3\xdf\x87\x76\x22\x7d\x51\xa4\x7f\x0e\xd6\x5b\xd1\x84\x87\xf5\x13\xe3\xe9\xfd\x5f\x76\xc4\x0d\x15\xb0\xa5\x00\xc3\x40\x95\x49\xfa\x1b\x9c\xdd\x1f\x4d\x88\xfe\xd3\x6b\xaa\x96\x23\x6e\x16\xd6\xa3\xc3\xdb\x6b\xd4\xb2\x84\x07\x9d\x0d\x24\x76\x29\xee\x20\xc9\xa4\x43\xf1\x82\x4f\xff\xc8\x87\x1b\x85\xdb\xee\x43\x6d\xe2\xdb\x3d\xde\xdc\x2d\x54\x03\xb1\xd3\x03\x2e\xea\xe6\x39\x69\xed\x31\x87\x83\x45\xad\xab\x0f\xb9\x05\x57\x6a\xc0\x73\x3d\xc0\x77\xcd\xdd\x1f\x73\x15\x05\x74\x28\xcd\x79\x9d\xa5\x19\x0d\x7c\xe8\x0f\x87\xc3\x6f\x5d\xf4\x2a\x25\xf0\x69\xbd\x6b\xc8\xe1\x7b\x8d\xba\xc3\x72\x59\x40\xd6\x21\xf4\x3b\xcd\x0a\xc6\x9d\xc0\xaa\xf9\xd8\x3b\xe2\xaf\xe5\x92\xa5\xe8\x29\x6d\xa1\x81\xdf\x0b\x5e\xf2\x97\x1d\xc5\xf6\xd4\x2a\x83\x52\xb8\xd2\xf4\xdc\xf3\xd9\x85\x78\x92\x88\x5c\x94\x5c\x43\x0c\x27\xba\xc2\x16\x52\xbb\xa1\xbd\xc5\x9c\x71\xd3\x95\x65\xa0\xa4\x1b\x0b\xad\xd1\xc8\x68\x77\x51\x89\x50\x0a\x47\x3d\x23\xcc\x8f\x12\x6b\x04\xee\x1e\x54\x66\x94\x5d\x67\x73\x23\x0d\x89\x39\x4f\x9a\x4f\x86\xa3\x3f\x87\x47\x9b\x02\x9a\xbc\xe2\x6d\x75\x2a\x8b\x57\x16\x88\xfa\xae\x4f\xa4\x35\x30\x8f\x54\x4a\x6b\xe4\x62\xe2\xa1\x17\xee\x2d\x6f\x88\x5b\x71\x1e\xe4\x24\x47\xf9\xb7\x2d\x68\x32\x40\xec\x81\xb4\x76\x11\xa1\x81\x05\xee\xcf\xa3\x34\x78\x59\xfe\x5f\x52\xfb\xfd\xa4\xe6\x11\x79\x0b\x5a\xf3\x9d\xfe\x6c\x62\x23\x6a\x83\x77\xea\x9f\x47\x6d\xcf\xcd\x70\xff\x97\xda\x7e\x3f\xb5\x79\x44\xde\x82\xda\x7c\xa7\xff\x33\xac\x0d\x88\xed\xfa\x93\x6b\x42\x00\xec\x1b\x36\x15\x5a\x01\x95\xa1\x54\x04\xcb\xb0\xc3\x93\x13\xec\x40\xd8\xc0\xd4\xdb\xab\xc4\x3a\x4b\x3d\x19\x7c\xd3\xe9\xb3\x77\xee\x53\xa7\xe4\x2b\x1f\x00\x89\xd6\x28\x57\xea\xc2\x0e\x05\x4f\xeb\x94\x6b\xce\x9c\x27\xae\x0b\x23\x81\x39\xb6\x38\xab\x65\x29\xba\x4f\x61\x81\xe3\x4b\x1c\xf4\xb2\x03\x42\xcb\xa5\x19\x39\x70\x94\x46\x89\x65\x20\x0b\x10\xe5\x74\x29\xaf\x76\x17\x92\x7d\xa0\xec\x26\x0f\x1c\x45\x99\x35\xc2\x64\x1a\x60\x21\x2e\xd6\xcc\x8d\xd9\x30\x1f\xb9\xd4\x8b\xe5\xee\x2f\x9b\x60\x32\x9b\xc4\xca\xb6\xd9\xf8\x1c\x2a\x30\x6c\x65\x3e\x63\x5e\x0e\xc8\x0f\xf3\xd3\x60\xe7\x62\x06\xbe\x0e\xe0\x64\x16\xc8\xb0\xf3\x50\xa5\x49\xa8\x58\xcd\x84\xc8\x07\x73\xbe\x06\xa5\xe0\x80\x97\xa5\x5c\x0d\x6e\xa5\xde\xdc\x8c\x1a\x60\x53\x68\xd7\xa4\x38\x40\x51\x92\x82\x45\x25\xa5\x10\x05\x65\x14\x41\xaf\xc4\x27\xa7\x27\x27\x3f\x3f\x67\xdd\xe3\x05\x96\x9d\x33\x0f\x86\x13\x34\x94\x5a\x0a\xc4\x7a\x65\x56\x77\x21\xfa\xa4\xce\x81\x75\x58\xfc\x43\xa8\x1e\x29\x1e\xc4\x7c\x99\x43\x88\x96\x59\x19\xea\x42\x1b\x19\x98\xcd\xcb\xc1\xb4\x98\x2f\x64\xc9\xcb\x2c\x87\xd0\x7b\x3e\x26\xe6\x35\x93\xb9\x7f\xb4\x80\x70\x7e\x25\xd6\xed\xf7\x43\xf0\xdc\xc6\x5c\x95\xcb\x05\x5e\x15\x88\x0c\x23\xd8\x97\x8a\x75\x73\xa1\x54\xcf\xf0\xd6\x92\x34\xa4\x73\x8e\x6f\x84\x20\x76\x8b\x4c\x5e\x22\xcd\x34\x78\x41\x5c\x67\xfb\x05\x2f\x24\x74\x43\x68\x88\xca\x7d\x3d\x5f\xde\xb4\x6c\xb0\xbc\x16\x83\xf9\x32\xd7\xd9\x22\xcf\x6e\x71\xa5\x06\x9b\x7b\x58\xb3\x58\x7a\x78\xce\x56\x0a\xf6\x4a\x96\x8a\x5c\x73\x73\x6f\xe0\xae\xd0\x76\x40\x0a\x3d\x77\x0f\xb8\xa7\x0f\x6e\x19\xb4\x1c\x1a\x19\x17\xdc\x91\xe4\x8a\x4d\x6c\x55\x4f\x78\x03\x55\xdf\x3e\x40\xad\x7f\x02\xd7\xac\x31\x4b\x7b\x23\x45\x6c\xdc\x9e\xef\xdf\x35\xa3\x4c\xc9\xc1\x83\x83\x07\x0f\x6c\xa8\xad\xff\xdb\xcf\x16\x3f\x0c\x72\x99\x5c\x89\xd4\x4e\x36\xb4\x1e\x3b\x4e\xe3\x66\xde\x7d\xf2\xf2\xe4\xbc\x59\x1b\xf9\xf4\xfc\x25\x8c\x40\xee\x57\x81\x47\x18\xa6\x23\x2c\x79\xa1\x72\x0a\x3b\xec\x42\x2a\xd6\x69\xc9\x17\xb3\x2c\x81\x74\x85\x2a\x04\xfa\xfa\xe2\x87\xc1\x37\xf6\xbc\x28\xa6\x96\x8b\x85\x2c\x6d\x14\xad\x54\x6d\xbe\xdc\x82\xe1\x52\xd0\x93\xa0\xb0\xc1\xe3\x11\xea\x29\x1d\xa9\xf7\x03\x66\x1c\xa4\x1e\x9d\xcd\x3d\x19\x81\x46\xd6\xad\x1d\xad\x0c\x3e\xf4\xb5\xcd\x49\xd9\x86\xf9\xe8\x2c\xb9\x42\x7d\x18\xae\x63\x59\x80\xdf\x97\x91\xd6\xd0\xbd\xc6\x08\x16\x57\x46\xce\x13\x45\x2a\xc0\xfc\x07\xad\x9d\x0c\x27\xa6\x3c\x59\x33\xee\xd9\x56\x40\xa9\x60\x40\xc3\x02\xf1\x77\xf6\x5f\x6c\x72\xd5\x31\x2c\xe8\x3e\x7b\x0a\x80\x9b\xdc\x18\x75\xdd\x87\x31\x70\x24\x2e\x07\x89\xba\x9b\x3f\x3f\x04\x99\xd5\x02\x7b\x21\x50\x13\xb2\x1d\xa9\x99\xc0\x18\x53\x6b\xe2\xad\xba\x11\xa5\x32\x59\xce\x45\xa0\xec\xb1\xd3\x19\x18\x3e\x77\xf7\x39\x01\x3f\xca\xb3\x42\x0c\x62\xa7\x06\xa8\xd1\xce\x4e\xce\xcf\x91\x8f\x82\xd3\xb8\x5e\xbb\x54\x76\x2e\x31\x95\x99\xce\xa6\x24\x3b\x2e\xdf\x3b\x3b\x32\x80\x6d\xe6\x1f\x8c\x01\xee\x36\xe7\x2d\x72\x7d\x7a\x1b\x72\xc6\xf8\x5a\xf4\xed\xd9\x87\xb6\xe7\xbc\x5a\x8e\xd5\x72\xfc\xcf\x9e\xe7\x8a\x52\xe2\xbc\x36\x1b\xa9\xd7\xa4\x82\xb4\xe5\xb7\x79\x9a\xb2\xc5\x72\x9c\x67\x6a\xb6\xaf\x96\x63\x95\x94\xd9\x58\xec\x2f\x0b\xf7\xd9\x25\x95\xe2\xd0\x1b\x33\xfb\xf3\x82\x89\x1b\xc8\x8f\x30\xb5\xfe\x49\x61\xd6\x9c\xe5\xf8\x7c\x39\x6e\x29\x5a\x29\xc7\x80\x8f\x52\x7d\xa0\xb4\x4a\x41\x52\xc6\x63\x3f\x99\x3e\x73\x33\x40\x39\x26\x9c\xd2\x5c\xe8\x99\x4c\xe1\xb9\xd5\x3c\x13\xcc\xc1\x4c\x9e\x2c\xbe\xcc\xb4\xb5\xc3\x50\x90\x0a\x24\x70\x96\xcb\x64\x26\x52\x7a\x4e\x8a\x12\xf6\xa2\x90\xac\x10\x80\x1f\x03\x68\x25\xcb\x72\x4d\x89\x68\x0d\xf2\xc8\x87\x07\xad\x3c\x71\x0d\xeb\xb0\x82\x82\xad\x8c\x2d\xc7\x7f\x03\x42\xb1\xf1\x7f\x88\x73\x20\x01\xeb\xf7\xcf\xb4\xac\xe3\x6f\xc8\xd3\xf4\xb1\x6d\x10\xd6\x40\x18\xff\xcd\x57\xed\x41\x0a\xa5\x3a\x5a\x61\x6f\xcc\x02\xe7\x2a\xd7\xce\x83\x6a\x9c\x08\xdd\x9f\x22\x4a\xa3\x25\xc7\x7f\x7b\x37\x7f\xef\x4f\x4b\xa5\xd9\xbb\xf9\x7b\xcc\x9d\x85\x43\xf6\x5c\xde\x38\xbb\x79\xe7\x6e\x7b\x30\xdc\x07\xa3\xbd\xcd\x1b\x72\x62\xbd\x1f\x15\x61\x91\x9b\xcd\x0d\xf7\xaa\x5a\x22\x8d\x7e\x06\xbc\xd9\xcf\xe6\xb9\x1d\x0c\x31\x0c\xfb\x39\xe4\x20\xd2\x7b\x1f\x59\xc2\x29\xbb\x1e\xf8\x3c\xd1\xcf\xc8\x41\xaf\xe5\x95\x20\x23\x68\x18\x8f\x5e\xdf\x80\xa0\x18\x85\x1b\x38\xd8\x08\x9a\x58\xdf\x8d\x15\xd4\xa4\xb0\x3f\xe2\x09\x8d\xc8\x3e\xac\x16\xe1\xbf\x7d\x47\x1d\xcc\x06\xbc\x7b\xef\x6b\x46\x34\xb4\x18\x2e\x96\x6a\xd6\x75\x83\x46\x27\xe8\x75\x78\x70\x31\xdc\xff\x6e\xa8\x5e\x56\x00\xed\x8a\xee\x63\xff\x71\x51\x8a\xeb\x4c\x2e\x55\xbe\x66\xa5\x98\x66\x4a\x43\xf6\xad\xeb\x8c\xdb\x42\xf3\x6e\x84\x6e\x6f\x23\xf6\xc3\xb9\x6c\xc7\xbf\x21\x77\xc8\xa4\x77\xd4\x8a\x41\x5b\xc6\xe3\x33\xd3\x2e\xac\x1f\xd3\x79\x5a\x60\x69\x13\x6a\x89\x15\x63\xe8\x0f\x57\x19\x24\x63\x47\x30\x82\xab\xc2\x11\xec\x05\x02\xce\xd8\x77\xec\x20\x02\xfc\x42\x6a\xbf\xde\xb4\x0e\x17\xe0\x29\x23\xeb\x88\x6e\x56\xab\xca\xf2\x0a\x99\x62\xe0\x47\xdc\x72\x90\xdc\x21\x34\x8f\x1a\x6b\x29\x42\xe3\x34\xcf\xd9\x04\x64\x05\x8f\x2e\xc3\x00\xf1\x3c\xa4\x8c\xab\x75\x91\xcc\x4a\x59\xc0\x8e\x0d\x5d\xc6\x42\xe4\xb5\xf8\xf0\xa3\x94\x92\xe4\xf0\xc3\x8b\xb5\x2c\x04\xbd\x1b\x97\x60\xf2\xb2\x67\xfe\x96\xc4\xb6\xb0\xcb\x33\x8b\x1a\x36\x31\x51\xc1\x8e\x0b\xc6\xcb\x71\xa6\x4b\x5e\xae\x1d\x03\x57\x4a\x26\x19\xc7\x72\x8e\x60\x79\x05\xe6\x1d\xa4\x0a\xd9\x4c\xb5\x72\xa1\x3f\xe4\x5c\xe9\x13\x47\xbd\x45\x80\xac\x80\x69\x24\x50\x44\x60\xa2\x45\x69\x69\xd7\x7c\xa1\x02\x64\x43\xb4\xc7\x58\xa0\x02\xd1\xe1\xa0\x95\xa4\xed\x8a\x9b\xc8\x59\xf4\x6b\x13\x43\xca\x76\x33\x82\x21\xd6\xcf\x32\xa5\xbb\x99\x65\xdf\x46\x94\x81\x17\x56\xa6\x98\x11\xe3\x0d\x79\xd0\x46\xc1\x16\xbb\x12\x55\x04\xb2\x4f\xc5\x17\x30\xe7\x3a\x06\xab\x48\x0b\x29\x91\x45\x22\xca\x82\xc9\x65\xa9\x44\x7e\x2d\x28\x05\x88\xb8\x49\xc4\xc2\x72\x4b\xe6\x49\x1d\x88\xd7\x17\x2f\xb5\x65\x14\x95\xd0\x17\x38\x93\xae\x9f\x31\xb8\xc2\x64\xec\xbe\xaf\x62\x68\x7a\xbf\xcb\xde\x77\x83\x6a\xca\xb7\x38\xc3\x70\x84\x3d\x0e\x20\xbd\x1d\xf8\x0f\xc0\x58\x59\x81\x85\x26\x32\x4d\x2f\x1d\x45\x65\x24\x57\xa2\x53\xd2\x1d\xb5\xc6\xaa\x12\x34\x13\xe0\xbf\x46\x7e\x4c\xb8\x46\xe0\x51\xd1\xdf\xe6\x9d\xa9\x4f\x85\x4e\x34\xb0\xea\x5a\x1f\xaa\xa3\x13\x57\x53\xb7\x83\x57\x5b\xbf\xaf\xd4\x2c\x74\x23\xdd\xdb\x8c\xe3\x03\x64\x21\x5b\x44\x5c\x54\x73\xfc\xb3\x8b\xb8\x6d\xa9\x5c\x57\xb6\xbe\x20\xe5\x2c\xc5\xd3\x78\x26\x57\x27\x50\x01\x9a\xfe\x3e\xcf\x7e\x15\xfe\xaf\x0b\x71\xa3\x8f\x9d\xdb\x73\x98\x05\xf6\xdf\xcd\xe0\x66\x0d\xd7\x99\x58\x21\x77\x44\x61\xda\xd5\x81\x53\xbe\x06\x6e\x68\xf0\x36\x6c\x01\xdc\x54\x0d\x62\xc4\x8d\xe3\xd6\x4f\x35\x9b\xf3\xac\xd0\x3c\xa3\x07\xba\xad\x17\x46\x91\x0c\xae\x76\xa4\xe1\xe4\x33\xae\xd8\x98\xab\x2c\x71\xe2\xaf\xf5\xdc\x86\x0a\x2d\xf8\x66\x85\x54\xe3\xd7\xa2\x84\xd0\x0d\x0a\x4b\x4e\x53\x2a\x3f\x5e\x8a\xb9\xbc\x36\x9f\x4b\xb9\x52\x5e\x33\x4d\x24\x10\xa6\xa9\xc5\x65\x99\x11\x0b\x09\xe9\x68\x73\x91\x4e\x5d\xbe\x93\xa6\xdc\xc5\xae\xb0\xaf\x0f\x15\x86\x51\x64\x11\x8c\x61\x88\x20\x15\x88\x19\x30\x2e\xe4\x6b\xab\xbb\x8a\xbb\x61\x55\x4c\x8a\x68\x36\x1c\x0b\xca\xc1\x98\x15\x2a\x1f\x07\x4e\xf3\x06\xf3\x05\xb7\xad\x56\xbc\xc0\x64\x30\xa2\x50\x4b\x73\x49\x19\x50\xf0\x1a\xe4\x85\xde\x38\xb9\x3e\xcb\x74\x47\x91\x7b\x68\x29\xd4\x42\x16\x2a\x1b\x67\xf4\xea\x41\xe4\x11\xbc\x12\x8a\x72\x94\x18\xbb\x6e\xfe\xc0\xb9\xf9\x7b\xef\xc2\x2f\x19\xc2\xfe\x90\x11\xc9\x42\x97\x1c\xb8\x92\x62\xa2\x98\xc8\x32\x11\x54\xba\x27\xb7\x95\x63\xa8\x64\xcf\xa2\xe4\x89\xce\x12\x31\x1c\xc2\x0d\x36\x00\x80\x96\x3c\x89\xae\x68\x8f\x64\x6e\x1e\x42\x2b\x49\x3f\x9f\x13\xa2\x61\xc1\x09\x38\x4b\xbc\x2c\x84\x55\x26\x1a\x60\xe4\x24\x67\xe7\x07\x14\xe3\x5b\x38\x75\x72\x95\x2e\xec\x1c\xe6\xb9\x1d\x03\x27\x00\x9b\x98\xf0\x12\x72\x03\x72\x8d\x88\x35\x82\xc5\x4f\x17\xcf\x9f\x9d\x62\xfe\x07\x70\xd9\x28\xec\x04\x72\x5e\x4e\x21\xc0\xa0\x00\xdd\x81\x9c\xe0\xd4\xfb\x6c\x26\x57\xe2\x5a\x94\x98\x27\x02\xe0\xcc\xf8\x62\x21\x0a\x7a\x50\xf8\xac\x25\x86\x7f\x14\x06\x94\x5b\xb3\xcc\xf3\x57\x92\xe8\x9f\xee\x32\xf2\x71\x67\x9c\x4d\xc4\x8a\x95\xcb\x5c\x50\xa6\x3f\xac\x04\x3b\x64\xec\x94\x27\x33\xbb\x9d\xb6\xb6\x61\x29\xa1\x3a\x34\x51\x65\x82\x7a\x0e\xb3\x14\xa6\xf9\x94\x75\x6e\x06\xa5\x5c\x75\xf0\x60\xc1\xee\x43\x3f\x18\xd1\x52\x06\x16\x94\x73\x19\x0d\x90\xa9\xc9\x12\x29\x2a\x75\x36\x42\x4c\x6a\x40\x27\x0a\x69\x88\x9c\xa4\x0b\x7b\xa6\x5b\x8f\x1b\xa3\x6a\x4a\x59\x41\x3a\x3e\xc4\xb8\xa3\xa9\xf1\xba\x42\x2c\x50\x35\xca\x55\x95\xc2\x04\x34\x18\x61\x86\xba\x00\x2b\x1c\x54\x68\x28\x9c\x10\x78\x83\x35\x22\x1d\x05\x1d\x57\x1c\xcd\xa6\x6f\x33\x2f\x52\x15\x53\x63\xc3\xf1\xa0\x12\xdf\xf9\xda\x72\x1b\xa4\x1f\xc3\xb7\xd8\x9c\xdf\x64\xf3\xe5\xdc\x06\xd0\x42\x65\x43\x33\x8d\x83\xaa\x78\x49\x25\xeb\x51\xa0\xc3\xd6\x27\xd0\x18\x54\xea\x04\xc5\x9f\x7d\x6c\x61\xcb\x3c\x65\x8a\x64\x3a\xc7\x4f\xce\x85\xa0\x13\x6d\x8b\xe8\xc7\x7c\xd5\x7d\x6b\x00\x64\x05\x06\x18\x00\x9b\x36\xf2\x2b\x41\x83\x6c\x86\x48\xbf\x8a\xa2\xfc\xa4\x64\x73\x48\x12\xe1\xdd\xc9\x20\x2d\x44\x9a\x82\xae\x41\x1a\xda\x94\xab\x38\xa9\x15\x41\x3b\x30\xd7\x7e\x21\xb5\xa1\xab\xeb\x2c\x8d\xa5\x4b\xda\xaf\x4a\x9d\xc4\x00\x0f\xbd\x4a\x8d\x0a\x23\x7c\x26\x7d\xb0\x8f\x0c\xe0\xfc\xf2\x04\xca\xa0\x5b\x1f\x40\xb3\x05\xf4\x70\xf5\x5c\x80\xb2\xd3\x83\x3c\x66\x5a\x1c\x43\x66\x10\xf7\x5a\xdd\xdf\xb7\xd8\x8e\x02\x9e\x1d\x92\x03\x40\x58\x4e\xd0\x4f\xef\x03\x3b\xaa\xed\xdc\x6f\xbf\xb1\x6f\x0e\x42\xc0\xee\x6a\x94\xb9\x2c\xfb\x10\x7c\x0a\x49\x49\x45\x99\x67\x05\x95\x3e\x8b\xc3\x3e\x95\x1b\x4b\x47\x57\x7a\xa4\x2d\x89\x6f\xfb\x2e\xda\xb3\x87\x56\x9d\xda\xb3\x33\x38\xa1\xd1\x21\xe9\x01\x9a\xc6\xe9\x8e\x4e\xa4\x2c\x53\xc8\xaf\xe7\xc7\xc3\x9f\x5e\xd9\xdb\x3b\x1c\x0f\x65\x8f\x2e\xc9\x67\x7e\x79\x85\x4c\xf1\xa8\x71\x2c\x22\x67\xb9\x82\xbf\x05\x71\xb8\x4c\x39\xa9\x00\x6e\xd0\xca\x98\x67\x72\xf5\x42\xa6\xc2\x60\xb4\x58\xe6\xf9\xb6\x11\xd4\x82\x17\x56\x28\xb9\xed\x50\x6d\xe3\xc8\xc9\x44\x09\x8d\x17\x5e\x40\x07\x70\x6d\x87\x3d\x7d\x62\xce\xa6\xf1\x2a\x83\xbd\x04\xa0\xd5\xe1\xce\xc4\x54\xdc\x50\xbd\x36\xf4\x8c\x04\x33\x82\x2c\x53\xef\x1d\xe9\x77\xc5\x7c\xff\xb8\x14\xfc\xea\x39\xd7\xc9\xec\x99\x98\x68\x07\xae\xb1\xc5\x19\x48\xc2\x1b\x9b\x3c\x47\x8f\x72\xdb\x26\x78\xb1\x9f\x51\x65\x2c\xcf\xe9\x20\xfe\x10\x43\x3a\xbd\xd8\x59\xd1\x59\xba\xf2\xa8\xbe\xc5\xc7\x7a\xeb\x86\xba\xc3\x44\x9e\xc8\xe3\xec\x1b\xd5\x8a\x39\x1c\x63\xfd\x80\xe7\xd5\x8e\x75\x85\x8b\x04\x6f\xd4\xa9\xd0\x30\x68\x4d\x8f\x4b\x93\xf4\x44\x6d\x9a\x75\x6b\xa7\xba\x5f\xe1\x15\xb6\x44\x7f\x1b\x9e\xe2\x45\xb8\xd9\xd7\x67\x1c\x61\xca\xf1\xfe\x06\xe1\xf3\x76\x8b\xfd\x49\xd0\x86\x37\x2f\xb7\x71\x31\xbb\xaf\xa5\x7d\x03\x76\x59\xce\xdd\xb6\xef\x2d\x9c\xbc\x8d\x0b\x0a\x37\x2c\x5a\x8c\x35\xd7\xb6\x5f\x9f\x0b\x51\x52\xa5\xc1\xe6\xcb\x38\xd9\xe1\x0a\x0e\x60\xb4\x2e\x44\x09\x7d\x12\xdc\x0c\x1b\x4a\x20\x57\xee\x14\x2a\x85\x7c\x2f\x2c\x9d\x1b\x71\x66\xea\xc0\xbe\xa7\xb6\x81\x66\xd6\x0c\x1a\xb5\x6d\xec\x5f\xca\x55\x9f\xd6\x39\xa8\xea\xec\xce\xf0\xc1\xe0\x73\x9e\xc1\xab\x21\x7e\x74\x85\x45\xf4\xb2\x3a\x17\x08\x44\x68\x24\x08\x0f\xe8\x16\x84\x00\xd6\xd2\x33\xb9\xda\x4c\x08\xb6\x95\xea\x1e\xf6\x5c\x4d\xeb\x78\x29\xf1\xb3\x51\xcb\x45\x20\xa1\x56\x16\x03\xd5\xf3\xc2\xfc\x4f\xdb\x89\xa4\x72\x76\xdd\x93\x2b\xae\x1b\x8d\x87\xef\xbb\x00\x33\xdf\x23\x6a\x90\xe1\x8b\x14\x7a\xef\x84\x0f\xd5\x42\x4a\xcd\xe7\x9d\x74\xb3\x07\xb4\xdf\xf1\x5e\x93\xc5\x18\xe4\x37\x46\xb7\x68\x0d\x3f\x55\x1c\x44\xbb\x6b\x3a\x5e\xd8\x3b\x5f\x92\xf8\xb9\x71\x19\x94\x8c\xbb\xb2\xb1\xa5\x5c\x05\x07\xa2\x69\xfa\x07\x7d\x33\x48\xe3\xfc\xf1\xb6\xd8\x71\xfa\x8d\x3b\x01\x10\x2e\xac\x0c\x79\xdb\x85\xa8\xca\x4a\x54\xe3\x52\xa8\xfd\x90\x2f\x16\xf9\xba\x1b\xff\x08\x6b\x53\xad\x07\x31\xe7\x9f\xe6\x1c\x3a\x38\xb7\x38\x86\x0b\xb9\xd8\x7a\x08\xb1\xcd\xce\x47\xd0\x7a\xc3\xfd\x33\x9e\x42\x5a\xea\x5d\xce\x60\xe3\x4d\xcc\x06\xb8\x8a\x9d\xcf\x67\x13\xf2\x3e\xf1\x11\x5d\x2c\xd5\x6c\xc7\xf3\x09\x8a\xe2\x5d\xce\xe5\x2e\xd3\xfe\x64\x47\x93\x16\xd0\x72\x2e\x61\x8f\x4d\x93\x9d\x8f\x62\xd3\x3e\xf8\x7c\x00\xe6\xcb\x8d\xeb\x72\xf4\x8a\xca\x93\x0b\xa7\x46\x71\xab\xb1\xef\xa6\xe1\x27\xdc\x45\x6c\x52\xd9\x47\x18\x17\x39\xe9\x06\x76\x4b\xad\x76\x64\xb9\x7f\x08\x26\xd4\xf0\x0f\xa1\x0c\x87\x14\xd5\x8c\x15\x22\x11\xe7\x80\x90\xb1\x23\x76\xf0\x88\x65\xec\x3b\x9c\x14\x89\xcf\x2c\xbb\x7f\x3f\xaa\xe3\xd5\x8c\x42\x76\x9f\x65\x16\x8d\xea\x5d\xf6\xbe\xee\x7d\x40\xfc\x91\xdf\x82\xbb\x6f\x43\x65\xa0\x9b\x6b\x61\x83\xb5\x7b\x21\x64\x7f\x1b\xd1\x87\xd0\x9a\x68\x6a\x07\xfe\x47\x58\xfe\xb3\x2f\x89\x06\x52\xc3\xa8\xd7\xc8\xae\x30\xfc\xaf\x72\xc1\x38\x14\x37\x51\xe8\xae\x57\x4d\xd4\xbc\x72\x7e\xc1\x53\x80\x6b\xb1\xc9\x72\x13\x59\x55\x94\xd0\xaa\x51\x41\xa4\x25\x43\x8d\x10\x3e\xd5\x73\xc1\x4b\xc5\xe4\x52\x63\xc9\x11\x83\xc4\x92\x94\xb8\x29\xd7\xdc\xc2\x3c\xc6\x24\x58\x14\xbc\x4b\xa7\x5e\x96\x5e\x4f\x49\x69\x7d\xc0\xde\x19\xe8\x59\x9c\x55\x29\x53\xa0\x41\xce\xb3\x14\xdc\x9c\xc0\xc2\xcf\x33\x25\x30\xeb\x94\x4a\x96\xa5\xf0\x26\xdf\x2d\xdc\xc0\x22\xe3\xa4\xaa\xfa\x6a\xf2\x01\xab\xbc\xa2\xcc\x3e\x59\x8d\xd8\x66\x6d\xd6\x06\x05\xd4\x46\x75\x51\xb0\x6f\xbe\x1e\x67\x42\x05\x33\xed\xd1\x20\xf4\x6c\x3b\xba\xb0\x3d\x27\x76\x7e\x1b\x57\x68\xe7\x3f\xcc\x8a\x42\x94\x60\x45\x38\x62\x9d\x4e\xcb\x2a\x89\x62\x9d\x36\xb2\xdb\x01\xc7\x4b\xb3\x9d\x93\x5c\xae\x3a\x55\xec\xf8\x45\x1e\x3c\x6a\xc1\x2c\xbd\x6f\x37\xb4\xb0\xd0\xcd\x3a\x78\xae\x84\x73\x72\x31\xb4\xf3\x28\x7c\x3a\xc7\x4a\xd4\x61\xa6\x48\x4b\xdd\xed\xf9\x72\xa4\x37\xda\x2d\x30\xb2\x6e\xd3\x2f\x60\x9b\x05\xc5\xc4\x2c\xd3\x02\xd2\x86\xd5\xd5\x46\xde\xde\x8e\x15\xe7\xd1\xa1\x18\x9c\x14\x64\x01\x0a\xf7\x6b\x51\x2a\x97\xe7\x1a\x54\xeb\xb0\x27\x90\xb0\xd8\x30\x31\xc1\xfb\x2e\x86\x1b\xc1\x40\x3a\xb6\x8e\x82\x8a\x04\x94\xd9\x4a\x94\x5c\x09\xe7\x81\x37\xb4\xae\x3d\x04\xfc\xa8\x49\x71\x3c\xa4\x5f\x1f\x35\xeb\x95\x87\xbe\x33\xa1\xb2\xb9\x99\x5a\x17\xc9\x09\x4c\xbe\xdb\x73\xe8\x06\xed\x6c\xf3\xa8\xe8\x0c\x7b\x82\x9a\x5b\x51\x76\xcd\xcf\x6d\x27\x65\x08\x06\x87\xf4\x64\x96\xe5\x69\xd7\xc0\xac\x36\x74\x87\x46\xa6\xc2\x7b\x99\xb5\x2e\x64\xcb\x8a\xe3\xa5\x04\xa7\xec\x39\x2f\xaf\x22\xbe\x08\x02\x1f\xb8\xc9\x80\x31\x9a\xa8\x4e\xb8\x5c\x4f\x85\xa1\x10\x43\xef\xa1\x8d\x08\x34\xfb\x8e\x42\x21\xee\x90\x32\x55\xa7\xb4\xef\x98\xe1\x07\x53\x55\x97\x90\x08\xd0\xeb\xfe\x0c\x64\x32\xb6\xa3\xa5\xfd\x4a\x28\x96\x69\xc3\xff\x30\x41\x3b\xdc\x3d\x89\x9c\x8f\xcd\x30\x7a\x05\x39\xb3\x20\x57\x96\x1b\xd2\x19\xf1\x1d\x48\xf0\x7e\xb5\x36\xfe\x78\xbe\x18\xc1\xe8\xca\x86\xb9\x0b\xd8\xa6\x25\x14\x66\x9a\x64\x54\x8b\x17\x35\x64\x14\x92\x03\x56\x3f\xfb\x13\xa4\xda\xe6\xda\x1a\x56\x17\x65\x86\x0a\xdf\x58\x4b\xef\xb8\x39\x85\xdc\xcf\xe7\x99\x46\x5b\x64\x84\xbd\xbe\x75\xc0\xc7\xcc\xec\x8b\x52\x24\x22\xb5\xae\x18\xa5\xb0\x50\x60\x73\x42\x76\x08\x96\x78\xc9\x38\x64\x8c\xa9\xcc\x7a\x23\x97\x84\x89\x3c\xcb\x0a\xf1\x32\xe0\x30\xdb\x39\xa5\x12\xba\x95\x01\xa2\xcf\x7e\xf5\x71\x9f\xcb\x24\xb8\x84\x15\x78\xd3\x32\x8e\xb9\xa8\x80\xea\x9c\xf6\xbb\x55\xb2\xb1\x6f\x02\x48\x9c\x86\xd6\x9d\xea\x1b\x22\x90\x64\x80\xa5\x56\x9a\xfb\x01\x36\xaa\x31\x5b\x2f\x47\x52\x24\x1a\x20\x81\x17\x69\xb3\xfe\x9c\x78\x6a\x22\x0b\x25\x73\x31\x5c\xf1\xb2\xe8\x76\x8e\x7d\x46\x4c\xa8\x42\x52\x21\x0e\x59\x30\x81\x25\x84\x70\x5a\x9d\xa8\x48\x74\xe4\xe1\x64\x90\xf1\xfd\x51\x8b\xee\xbe\x32\xb6\x28\x4b\x59\x76\x3b\xe6\x1e\x34\xe2\x8a\x9c\xb0\x31\xd4\x01\x43\xff\x46\x7c\xf3\xc0\x30\xb0\xfd\x6d\xef\xf6\xc3\xe0\xbe\xb0\x33\xf8\xce\x48\x43\xbf\x67\xb0\x83\x68\x51\x5e\xd1\x5b\xbf\x6f\x9a\x87\x41\x95\x73\xd3\x48\xb4\x4d\x8f\xa8\x17\xdd\xb0\x75\x05\x74\x7d\x61\xd4\xb8\x7d\x6d\xb7\x1d\xd4\x2f\xf2\x56\x77\x7b\x89\xa7\xad\xb6\x25\xef\x4a\xb9\x7a\xff\x28\xbe\x91\xa8\xed\x10\x54\xcf\x70\xaf\x38\x8d\xfa\x67\x70\xc1\xd0\x4a\x2a\xcd\xe5\xaa\x10\xe5\x13\x1b\x95\x82\x57\xd8\x85\xb8\xd1\xe6\xc7\x6e\xa7\xe3\xb7\x0a\x5a\x37\xde\x5a\xce\x13\x90\xee\x90\x93\x60\xd5\x9e\x56\x71\x21\x47\x4d\xcc\x24\xf4\xcd\xab\x12\x40\xa3\x9c\x34\x68\x10\xaf\xbc\x43\x5f\x78\x45\x07\x97\xe9\x23\xfa\xb9\x3a\xcb\x5b\x8e\x13\x78\xf9\x45\x92\x53\xa3\x34\x4c\xeb\xde\xb8\xfb\x20\x55\x87\x7c\x05\xb0\x86\xaf\x81\x6e\xb8\x73\x06\xc5\x64\xb4\x3d\x62\x6e\x86\xd1\x72\x1e\xb9\x86\x2b\x32\x29\x35\x59\xcf\x87\x06\x2a\xd8\x9c\xfc\x26\x06\x94\x32\x34\x77\xfc\x79\x36\x86\x28\xa1\xdf\x7e\x23\x50\xdf\xd3\xd8\x1e\xcf\xad\xd2\x4a\xed\x67\x2f\x01\x23\x0c\xdb\xc4\x73\x35\xc2\x4f\x75\x77\xee\x1f\xe1\xe8\x8f\x42\xd2\xad\xce\xb1\x1e\xe1\x40\x26\x31\xeb\x83\x11\xa4\xe0\xf1\xc1\x1d\x50\xe8\x24\xe1\xa5\xd0\x61\x45\x05\x1d\x0a\x43\xe0\x92\x56\x7f\x27\xb6\xdf\x1c\xeb\x22\x39\xb7\xb0\x4e\x00\x74\xe8\x37\x6c\x7f\xa1\x4b\xb5\x5c\x13\x26\x7d\xe6\xa6\x44\xe6\x39\x5f\x28\xd1\xad\xa2\xb6\xdf\x44\xf0\xc8\xb4\x12\xc8\x80\xd4\x9d\x64\xa5\x98\xc8\x9b\xa7\x90\xc5\x31\x3d\xb5\xaf\xc1\xc0\xe3\xf6\x87\x1f\xc0\x67\x13\xfd\xdc\x21\x1c\x87\xda\x40\xe4\xdc\x4c\x90\x5c\x96\x99\x77\xd6\xa4\xcf\x4a\x4e\x29\x0d\x79\x81\x05\xf0\x0b\xa9\x2d\x28\xaa\xbf\xe9\xac\xda\x34\xed\x61\x6d\x23\x16\x79\xa6\xbd\x18\x06\xfb\x87\xf2\xde\x4a\xc2\x5f\x4e\xa5\x66\xa4\x80\x82\xa8\xc3\x5e\xff\x61\x4d\x2b\xf3\xf7\x8f\xd0\xc6\xb4\x7e\xf2\xf2\x39\x9b\x94\x7c\x0a\x89\x98\x3b\xdf\xa5\xd9\xf5\xf7\xdf\xa9\x05\x2f\xbe\xff\x49\xe4\xb9\x64\x6f\x65\x99\xa7\xdf\xed\xc3\x37\xdf\xed\x9b\x5f\x3b\x18\x7c\xc0\x94\x99\x10\x60\x14\x3c\xec\xb8\x52\x91\x87\x05\x56\x87\xb1\x87\x4c\x4e\xd8\x57\xb6\xee\xca\x0a\x82\x25\x21\x37\x2b\x7a\x9c\xb9\xe1\x51\xd4\x1c\x1b\xf9\x54\x8c\x1a\x26\x63\xe7\x01\xff\x6d\x98\x19\xfa\x45\xda\x29\x80\xdf\x16\xc7\x1a\x35\xde\x41\x06\x13\x54\xe0\x1c\xbc\x03\x3b\xd4\x8b\x08\x04\xf3\x15\x2d\x42\x41\x75\xd5\x50\x3e\xd7\x72\x30\x16\x03\x58\x3c\x6e\x42\xe0\x0d\x67\x5d\x4d\x44\xe9\x53\x75\x58\x78\xe8\x8a\x82\x8e\xbe\x06\x5f\x39\x4f\x44\x8a\x4f\x00\x2d\x1b\x54\x74\xe6\xe5\x6c\xb0\xfb\x11\x7b\x3a\x6f\x16\xa8\x7f\x93\x67\xba\x59\x52\x23\x74\x47\x3e\x29\x76\x51\xa6\xb7\x77\x40\xc1\x15\xe0\x43\xd3\x39\x4f\x24\xc9\xb2\xdc\x7c\x2c\xdd\xa6\x87\xc7\xd1\x80\xee\x47\x3c\xcd\xb0\x4d\x88\x1d\x78\x11\xf0\x99\x24\x97\x85\x80\xcb\x10\xae\xe6\x5e\xf4\xee\x3e\x41\xcd\x84\x6d\x1b\x7c\x65\xce\x66\xf5\xbb\x4d\xdc\xf8\x7c\x39\x56\xba\xa4\x49\x1d\xb8\x79\x19\x30\x6e\x4a\x15\x58\xe8\x37\x0d\x21\x4f\x1a\x1f\x9b\xf4\x5b\xd0\x9b\xae\xdf\x46\x10\x3d\xc7\x53\x87\x0b\x6e\xd8\x1d\x34\x40\xf5\xd4\x63\x08\x48\xf0\xfd\xfa\x35\xa6\xeb\x42\x68\x3e\xab\x2e\xb3\x19\x2e\xea\x4c\x22\xc9\x21\x60\x14\xa7\xe8\x04\x8c\xc4\x67\xc8\x0b\x7c\x9b\xb3\xc5\x42\xa4\xae\x32\x9e\xf7\x3e\x4a\x72\x3e\x5f\x78\xca\x0f\xdd\x0e\x37\x12\xc2\x9c\xaf\xc7\xe2\x24\xcf\x16\xe4\x25\xd6\xa8\x16\xba\xc5\xe5\xd9\x24\xca\x38\x9c\x23\x8c\xef\x36\x08\xb2\x81\xbb\x9a\x61\xc9\x50\xb6\xbb\x90\x1a\x43\x1a\x61\xf5\x10\x1c\x3f\x5e\x6a\x2c\x2b\x8b\x5f\xf3\xf9\xc2\xc5\x41\x6c\x77\x97\x68\x1d\xfc\xf6\xee\x13\x8d\x82\x73\xaf\xe1\xb6\x6f\x92\x6b\xcd\x83\x30\xba\xe7\x2b\x0f\x9a\xfd\x7d\x76\x6e\xd8\x91\x9c\x4c\x62\x35\x2d\xae\x04\x43\x60\x0c\x27\x82\x3d\x64\xa5\x50\x1a\xcb\x43\xb0\x9c\x6b\xe1\xd4\x42\xbb\xcb\x76\xd6\x35\xed\xb9\x35\x39\xfb\x37\x29\x7a\x82\x80\xeb\xb6\x7d\x2d\x7e\x32\x64\x59\x7f\x38\x34\x82\xd8\x52\x1d\xa8\x37\xe0\x25\x79\xd8\x5a\xbc\x81\x4b\xdc\xed\x69\xb1\x42\x88\x0d\x72\xd8\x77\x04\xd5\xcc\xa9\x2e\xbf\xe2\x03\xff\x76\x8c\xcb\x05\x6f\xd4\x25\x97\x83\x26\xe1\x85\xe2\x8a\xfc\xee\x5b\x94\xe4\xb9\x15\x0c\xa0\xb8\x95\xdf\x99\x61\xf3\x9b\x28\x3e\x7e\x8f\x1a\xb4\x74\xe1\xa2\x22\xa9\xb1\x59\xca\xb6\x4f\x9d\x06\x86\xb5\xe1\x71\x51\x97\x47\xed\x83\x36\xa2\xc8\xef\x36\x72\x83\xa7\x91\x7e\x7b\xc5\x31\x9a\x2b\x8b\xbc\x13\x7d\x12\x6f\xb0\xe9\x08\xe0\x8d\x45\x70\x20\x94\x13\xd2\xbc\xc8\x7a\x17\x67\xa9\x70\xde\xbd\x9a\xa2\x78\x7f\x3f\xa8\x25\x9b\x0b\x73\x74\x8d\xa4\x47\x2e\x29\xd6\xf3\x82\x4e\x6f\xb3\x2e\xad\x4a\x76\x9b\xd8\xc6\xc7\x46\xe3\x34\x65\xa3\x8f\x85\xf6\x20\x91\x87\xd3\xaa\x78\xc7\xf9\x40\xb2\x87\x93\x17\x39\x21\x03\xf4\xff\x90\x4b\x14\x8f\x40\x60\x6c\xb8\x32\xba\x3d\xa2\xcd\xac\x60\xb2\x4c\x6d\x79\xb6\x6c\x11\x68\x4b\x3d\xfc\x82\x78\x76\x4c\xc9\x36\xaa\x28\x53\x58\x6c\x70\xb9\x70\x97\x19\x86\xc7\x68\x49\x91\x09\xf9\xda\x85\x1e\x51\xb8\x5c\x4d\xd5\x6a\x60\xe1\x0a\xa3\x7b\xaf\x41\xb5\x17\xc7\xef\xb6\xd8\x8a\xd1\x6b\x3e\x7a\xb9\xe8\xd2\xdf\x8d\x9e\xe8\x5b\xde\xd8\x71\xa3\x0b\xb4\x28\xf8\x2f\x62\x29\xe9\xce\x16\x16\x67\x76\x30\x57\x23\xc4\xc2\x00\x7a\x90\xaf\xb9\xb2\x8d\xb0\x92\xf1\x9a\x2d\x4a\x48\xf1\x0c\xf9\x82\xe4\x5c\x30\x28\x7e\x5e\x4c\x11\xc8\xca\x19\x39\x94\x0d\xb6\xa4\xac\x02\xa0\x76\x2e\xd3\x10\x18\x0e\xc0\x67\x82\x43\xc0\xbc\xce\xe6\xc2\x72\x26\xa5\x4b\xeb\xc8\x69\x65\x33\xfa\x06\x30\x68\xe7\xfc\x02\x2c\x1e\x66\xc2\xab\x19\xd7\x7d\x7b\xa2\xc1\x3d\xc9\x45\x8e\x42\x25\xdb\x90\x1b\x38\x1f\x6d\x48\x28\x7d\x2d\x10\x96\xc1\x12\xe5\x28\x98\x2f\x93\x59\x8b\x63\xbb\x95\x07\xee\x1f\xb9\x39\xda\xc9\x3c\x93\x09\x44\x1a\x27\x33\x51\x31\xaf\xb9\xb7\x58\xac\x77\x68\x52\x88\x58\x0e\x8e\xc6\x08\x2b\xc3\xe3\xf4\xe9\xaf\xb9\xe0\x46\xc2\x0b\xf2\xac\x89\x22\x8d\xf7\x69\x88\x60\xa0\x9e\x5f\x36\x5f\xe4\x99\x55\xa8\xc7\xc2\x1f\xd7\xd5\xee\xf4\x1b\x48\x9c\xf6\x92\xc0\xb9\xbc\xb4\xb3\xde\x72\x79\x7a\xea\xec\xb1\x81\xd3\x51\x58\xdd\x55\x04\x2b\xd0\x09\xee\xef\xb3\x63\x56\x88\x29\xa6\xf4\x2a\xe3\xe5\xfb\x64\x3e\x8d\x5e\xfa\x0b\x9b\xe1\x49\x14\xa9\x05\x66\x97\xe3\xa3\x4e\x24\x79\xad\x81\xfd\x82\xb1\xb7\xa2\x63\xae\x47\xa2\xcd\xc0\x7d\xc4\x93\x73\x85\xa0\x87\x5e\x1f\xa4\x5a\xec\x7a\x83\x68\x7d\x36\xd6\x17\x62\x04\x32\x15\x80\x0a\x4a\x94\x26\xd2\xbc\xc9\xb5\xc8\xd7\x6c\x59\x40\x68\x68\x3a\x64\xec\xb5\x8d\xf1\xe8\x07\x85\xd6\x7d\xa0\x32\x44\x83\x40\x76\x5f\x5d\x66\x57\x42\xcf\x4a\xb9\x9c\xce\xe8\x51\x3b\xf6\xd5\x78\x65\x11\x0c\xda\xf7\x92\x5f\x47\xb3\xa5\x12\x0e\x57\x05\xd1\xab\x54\xf8\x70\x56\x98\xf1\x27\x4f\x29\xaf\x0d\xd8\x93\xac\x56\xab\xd1\x30\xea\x63\x52\x7e\xfb\x2d\x88\x3d\x6d\x34\x9f\x45\x53\xde\xda\x3c\xa8\x33\xbf\xb5\xed\x2a\x01\x56\x1a\xb5\xfb\xac\xa9\x21\x57\x49\x96\xd5\xdb\x36\x35\xd5\x59\x2e\x9e\x70\xcd\xd9\x67\x68\x57\xef\x79\xa1\x7f\x7f\x9f\x3d\x16\x70\xb9\x19\xbc\x25\xa2\xe0\x65\x26\xfb\x56\xb8\x06\x3d\xcf\xa2\x14\xda\x66\x73\x46\xae\xc8\x56\xe6\x01\x1e\x14\xc4\xf5\xc0\x64\x99\x4d\x31\x7a\xd6\x9d\x61\x50\x69\xe9\x92\x1d\x19\x9a\xbb\x6f\x3e\x46\x61\xd4\x24\x14\xd9\xdb\xc0\x1c\xc2\x0b\xc8\x2b\x74\xc4\xbe\x88\x97\x86\xb8\x08\x1b\x37\x21\xcb\xb6\x0b\x9a\xb5\xa0\x8a\xfe\x85\x57\x51\x96\x8b\x5d\xda\x01\x8d\x03\x96\x9f\x98\x0b\x01\x83\xc8\x76\xea\xe3\x49\x01\xcc\xaf\xf1\x4e\x9c\x63\x99\xec\xb1\xdd\x90\x7e\x1c\x92\x40\xd1\xd8\x9c\x4c\xa0\x8e\xb8\xab\xc7\x9b\xb5\xdc\xae\xec\x28\xc4\x34\x5c\xc4\xf7\xcd\xa6\x34\x87\xb5\x9b\xdb\x54\x96\x6e\x26\x2b\xe1\xe2\x33\x93\x30\x52\xd0\xea\x73\x36\xcc\x06\xd9\x0d\x49\x08\xc1\xd4\x36\x9a\x1a\xdc\xb4\xda\x1c\x33\x02\xb5\x04\x02\xef\x87\xb0\xab\x9a\x09\xd6\xac\x9f\x8e\x84\x17\x04\xb3\x83\xba\x9a\x1d\xb1\x98\x4b\x3e\xaa\xe1\x9d\xc4\x9c\x95\x8a\x1e\xb9\x28\xa1\x14\x72\x05\xb1\xd9\x98\x7d\xcb\xe9\x39\x30\xb3\x01\x5d\x67\x28\x2e\x3b\xc9\xb5\xf9\x66\x63\xb5\x7b\x2d\x36\x9e\x35\xf1\x02\x70\xae\x10\xca\x7b\x25\x04\x77\x5d\x70\x91\x5d\x90\xc6\x0f\x84\x56\xca\x06\x49\xea\x3e\x57\x57\x30\x2b\x9a\x27\x55\xbf\x24\x8f\x8e\xfc\x2d\xb9\x81\x3a\xab\xc4\xd9\xc8\x2b\xe4\xad\x40\x1a\xc6\x73\xbf\x02\xb8\x91\xdc\xdb\x20\x04\x67\x7a\xdb\x9b\xd7\x83\x08\x55\x76\x98\x16\x8f\x79\x3e\x78\xff\x56\x80\x02\xc5\x9f\x23\xa3\xa6\xe7\x73\x28\xca\xb1\x46\x7d\xca\x45\xbc\x57\x56\x20\x5b\x95\xd2\x48\xc1\x90\xd0\xc1\xc6\x92\xdb\x9d\x47\x5d\x74\x48\x98\x08\x6a\x2c\xa6\x19\x66\x5a\x96\x65\x8b\xe4\xd5\xc7\x77\x28\x44\xa6\xa7\x7f\xe3\x49\xc4\xc1\xcc\x13\x87\xdf\xa3\x57\xa9\xc1\x73\x06\x42\x67\x91\x82\x2b\xda\xd0\xe5\xec\xa8\x6f\xb5\x91\xb1\xc8\x9f\xda\xcf\xa1\x79\x70\x96\xcc\x44\x72\x45\x86\x1f\xcc\x68\xc4\x14\xb2\x04\x2f\x06\xd9\x5f\xac\x79\x2b\x62\x50\x95\x1f\xbd\x59\xac\xda\xeb\xf3\xcf\x63\x7d\xc7\xb6\x33\x57\xe9\x1f\xdc\x02\x95\x5f\x22\x5a\xc4\x3d\xde\xc0\xcd\x1a\xe7\xdb\xc2\xc9\xaa\x2f\x92\x0d\x03\xf7\x36\x98\xe7\x40\xb9\x22\x22\x0d\xcc\x16\x2f\x28\x7c\xfa\xec\xc4\xd7\x09\x70\xc8\xd8\xeb\x5d\x9d\xa9\x51\xac\x3c\xfb\x6e\x5c\xf2\xc6\x03\xb2\x99\x69\x79\xb2\xdb\x40\xed\x01\xc1\x81\x49\xa4\x46\x6c\xa1\x1d\xf5\xa8\xe5\xb6\xf2\x44\x16\xb6\xbe\x2d\x81\x85\xd7\x5f\x60\x08\xf7\xdf\x36\xb2\xc9\x96\xdf\x37\x50\x5c\x6d\xe2\x3b\x52\x9b\x27\x82\xff\x83\x54\x55\x97\x11\xb6\x91\x15\x39\x36\x52\xed\x17\xcc\x9c\xe5\x5e\x5f\x98\xe0\x93\x17\x6b\xfb\xfc\x0a\x1f\x4b\x33\x51\x9a\xc7\x0b\x14\xd6\xca\x74\xc7\x29\xe5\xa6\x92\x9c\xcb\xbc\x34\x55\x53\x84\x79\x34\x6e\x33\xde\xe3\x5c\x9b\x5d\x84\x6a\xf2\x9c\x61\xea\x4a\xce\x05\x9a\xd3\xa2\xfa\x38\x4d\xf2\x06\x3d\x37\x11\x92\x15\x05\xd1\x00\x97\xe9\x9a\x15\x17\x12\x00\xa1\x63\xf3\x12\xf6\xd2\x9b\x15\xcd\x50\x63\xa1\x57\x61\x52\x01\x6f\x92\x6b\xbb\xfc\xee\x4e\x12\x77\x61\x33\x35\xf9\x71\x33\x65\x6c\x61\x37\x81\xae\xf2\xa5\xf7\xf1\xa6\x67\x69\x4d\x5d\xd9\xec\x88\xfe\x3f\x58\x0d\x59\xc9\xdf\xd1\xaa\x89\x9c\xf3\x9b\x67\xe8\x9a\xd6\xec\xd5\xb5\xc9\xf8\x43\x8a\x01\x07\xa2\x17\x1c\x21\xf6\x4e\xe9\xf2\xbd\x33\xf4\xae\x36\xea\xf4\x6e\x21\x79\xd7\x4c\x34\x9e\xcd\x6f\xb2\xbe\x38\x0b\x6f\x83\xcb\xd3\x11\x90\x5d\x24\xc7\x67\x2a\x08\x2c\x70\xda\x15\xce\x0a\x39\x90\x8b\x3e\x3e\xf1\xe7\x15\xa3\x97\x8f\x32\x69\x65\x46\xb1\x27\xce\x66\x25\xe3\xaa\xf5\xd6\x85\x7e\xa9\xc8\x85\x16\x27\x33\x5e\xaa\xee\x73\xae\x67\xc3\x79\x56\x74\x29\xfd\x92\xdf\x10\x7f\x0c\xa3\x14\x2f\x88\xf5\xe0\x84\xfd\x20\xcb\x15\x2f\xd3\x01\x42\x45\xc5\x10\xb9\x07\x87\xf9\x5b\x76\x3a\x74\x17\xe4\xd9\xa0\x5d\x81\x35\x62\x8c\x08\x3c\x8d\x0a\x8c\x29\x4c\x85\x2f\x52\x28\x81\x07\xf9\x9b\xf2\x35\xe3\x93\x89\x48\x34\xa4\xaa\xa9\x2a\xf2\x04\x53\x7c\x2e\xac\x87\x75\xfd\x20\x6e\x08\xc6\x89\x32\x74\xc8\x49\x08\x5a\x4b\x9a\x9d\x75\x55\x71\x79\x72\x5a\xec\xe4\x08\x64\x9e\x15\xcb\x06\x05\xf3\xb0\x3d\xc9\x41\x75\x0e\x15\x5d\xa5\xcb\x2d\x49\xb8\xda\x78\xc4\x03\x12\x68\x09\x2c\xdd\x60\xc5\x7b\xb4\xa3\x4e\x3a\x34\x08\xc3\x8f\x3b\x99\x85\x19\xa1\xfd\x88\x39\xda\xa4\x78\xd5\x26\x1e\xd3\x00\xdf\x7b\x46\x04\xb9\x0a\x08\xa3\x07\xde\xb5\xf3\xda\x27\x3e\xb0\xe6\x03\x5e\x6a\x24\xfe\xbe\x11\x3b\x9f\x51\xe2\x8a\xd8\x4c\xc9\x3e\xff\x3c\x0c\x8a\x62\x61\xb7\x5b\xb9\xfb\x7d\x02\xef\x94\xe0\xa9\xbb\x5b\x57\xda\xb1\xfb\x2e\x4e\xcb\x74\x75\x4b\xbd\xd5\xf4\x29\x99\xc3\x51\xb4\xfe\x41\x88\x37\x2b\x57\x4b\xab\xb8\x0f\x5b\x7e\xfe\x79\x30\xee\xe7\x9f\xc7\x58\x3c\xf2\xbf\x45\xfa\xba\x17\x32\x24\x78\x50\x8a\x5a\xc6\xb0\xa2\xc7\x6f\x19\xe8\xc9\x51\x84\x2a\xc1\x0f\x71\xcc\xc7\xf9\x9a\xe9\x72\x6d\xd5\xf4\x00\xd0\x9d\x5d\x60\x5b\x71\x3a\x26\x4c\x0a\xbc\xca\xd2\xe0\x94\x79\xc9\xcc\xa6\xb9\x8b\x94\xb1\x0d\x8d\x41\x10\x25\xfe\x0e\xfa\x1c\x23\xbc\x41\x8e\x50\xe7\x95\x57\xd3\xdd\xc1\x17\xb7\x10\xbc\x3a\xac\xe3\x84\xfb\x8d\xee\x44\x0e\x70\x8b\x3b\x51\x0b\x59\x62\x9c\x52\x95\x54\x0e\x9c\x12\xce\x52\xc2\x61\xc3\x9b\x02\xb5\x8b\x2d\x4e\xa3\x48\x1f\x01\xd0\x23\x76\x60\x88\x01\x10\xf7\x59\x9d\xf1\xc4\x2e\xc6\x5b\xbc\x9b\x18\x79\x09\x7b\xb7\x55\x9a\x0c\xfe\x24\xeb\x2a\x3c\xef\x05\x51\x93\x3e\xb3\x09\xc5\x83\x70\x1b\x1f\x50\xc8\x02\x4a\x06\xb8\x27\x44\xc5\xd5\x83\xbc\x12\xac\x76\xfd\xb3\x23\xf6\x85\x59\xda\x67\x9b\x24\x8d\xd0\xd1\x78\xab\x99\x97\x55\x35\xf9\x55\x25\xc7\x26\x3f\xe1\x6d\x4a\x97\xbb\xbd\x87\x02\xc5\xdb\x86\x79\x6d\xb4\x46\x04\x14\xb9\xe3\xfc\x77\x7d\x12\x1f\x34\xaa\x21\x0d\xaa\x61\x43\xdb\x7d\x5a\x76\x74\xd1\xdf\x1e\x66\xe6\xc6\xd9\xa4\x21\x77\x8d\x76\x5a\x4c\xeb\x0b\x3c\x3c\x10\x15\x6d\x0e\xd0\x3a\xdd\x87\xe5\x75\x2c\xcb\x65\x45\xaa\x28\x79\xce\x2f\x83\xb3\x97\x6f\xb1\xb4\x2d\x3c\x36\x82\x8c\x68\x3e\xfe\x1e\x1a\x81\xcc\x62\x0b\xaf\xda\xea\x2b\xd1\x03\xa5\x2a\x61\xa1\x8f\xaa\x11\xc4\x70\x14\x70\x07\x9f\x66\x05\x53\x82\x97\x09\xe6\xc2\xf3\x29\x7c\xe4\xc4\x05\x90\x79\xd1\x08\x41\x18\xb9\x88\x40\x50\xb6\x46\xde\xa2\xad\xb4\x10\x36\xe6\x81\x32\x8f\xa4\x73\x73\x13\x9d\xc9\xd5\x87\xc6\x6c\x14\x24\x09\x94\x72\x55\xa5\xeb\x50\x67\xc4\x1a\x7e\x1f\xce\xb8\x6a\x77\xa8\x08\xbc\x9f\x30\x6c\xa1\xe9\x5c\x7e\x0c\x36\x4e\xae\xa2\x9d\xfb\x11\x42\xa6\x6d\xfa\x49\xc4\xbe\xc7\x01\x5c\x38\x36\x52\xeb\x1c\x77\x48\xed\xba\x45\x3f\xc4\xe4\x50\xdf\x0a\x9b\xb4\x1c\xa4\x77\x0a\x16\x0e\x5b\x6e\x45\xb9\xe9\xd8\x8c\x6e\x72\x38\x23\xeb\xce\xde\xde\xa3\x68\x0b\x02\xa4\x59\xeb\x9a\x59\x64\x4d\x95\x46\x11\x30\xbb\xed\x40\xb8\x07\x35\xde\x52\xe1\x1e\x50\x87\x39\x08\x48\x89\xf6\x07\x4d\x1f\xb5\xb4\x67\xaa\x4a\xb0\x45\x02\xbe\x63\x96\x50\xe9\x3e\x69\xd8\x0c\xb8\xc7\x5e\x90\xfd\x6f\x2a\xec\x9e\x38\x00\x13\x7c\xca\x54\xcf\x48\xa5\x95\x9c\x90\x06\xd5\xd6\xce\xa7\x84\x99\x90\x45\x7a\xeb\x76\xfd\x72\x26\x57\xc7\x04\xaa\xe6\xce\x1d\x1d\x91\xd0\xa7\x0f\xd4\xab\xd6\xda\xfc\xc2\x3c\xc2\x8e\x8e\x8e\x58\x07\x66\xd6\xe9\xd5\x91\x19\x06\x9a\xf8\x5b\xbe\x72\x04\x30\xd6\xa5\x01\xbf\x41\xa4\x27\x78\xef\x21\x9d\x07\x8f\x36\xc3\x24\xe8\xfe\xa7\x26\x16\xe9\xb7\x3e\x1c\x84\x5c\x1d\x33\x1c\x7f\x46\x36\x6f\xa0\x0f\x3b\x9c\x6c\x74\xcd\x7f\x19\xb8\xe5\x47\xf4\x51\x7b\x28\xbe\xba\xfb\xda\x37\xee\xbb\x85\xfb\x36\xd3\x33\xab\x46\xaa\x1e\xd9\x3e\xab\xfb\xf4\xfb\xf0\xb7\xf0\x19\x36\x38\xb4\x8f\x2e\x4b\x96\x67\x3e\xf0\xb1\x4a\x65\x5e\xa0\x03\x60\x41\x8f\x16\x98\x0b\x1f\x37\x7a\x10\x30\x8c\x70\xa8\xcf\x8e\x58\xc0\x3f\x5c\x87\xfb\x5b\x45\x1c\x1f\x3d\xb9\x13\x53\x31\x22\x5f\x85\x91\xdc\x85\xcf\x44\x4b\xac\xf1\x1a\x3f\x7d\x87\xc0\x70\xbb\xb2\xc2\xdc\x66\x0d\x1b\xb4\xd3\xe1\xa1\x0b\x78\x97\xb3\xf3\xc4\x3a\xd0\xdf\x55\x06\x88\x8e\x04\x42\xbf\xd5\x29\x72\x0c\x70\xf3\x31\x0a\xe6\xdd\x0e\x62\xeb\xc9\xda\x1d\x31\x3b\x1f\x2c\xdc\xa9\x1d\x4f\x55\x85\x39\x56\x48\x1a\xbd\x99\x57\x82\xe9\x92\x83\x91\xcd\x69\xa1\xb4\x5c\x54\x0c\xc6\xa5\xe8\xc0\xbe\xcd\x28\x43\xca\x24\x2b\x52\x78\xb7\x0e\x63\xe6\x1d\x0c\x76\x44\x8e\x4d\x75\xfa\x0c\x8f\xe4\x06\x6a\xac\x00\xac\x2e\x32\xb4\xe1\xef\x44\xd4\x11\xac\x83\x9e\xbd\x2a\x9a\xd8\x41\x4b\xaa\xa5\x61\x62\x84\xe5\x17\x50\x38\xbf\x21\xe9\x52\xa0\xcc\x7a\xe1\x22\x78\x83\x3e\xef\xb2\xf7\xd1\xab\x2c\x42\x95\xe3\x7f\x4d\x67\x36\x0c\xc9\xbc\x05\x27\x0a\xc6\xe8\x55\x6e\x46\xb3\x0f\x0d\x47\xdb\x05\x74\x41\x92\x6e\x24\x55\x9f\x70\x9d\x36\xbf\xe9\xf2\xfc\x23\x6f\x46\x77\xbe\xdc\xc0\x8d\x57\x18\xf8\x02\xeb\x32\x13\xd7\xb5\x35\x34\x24\x44\xfa\xc8\x2e\x56\x92\x09\x4c\x88\x84\xd9\x9a\xc2\xf7\x4b\x15\x09\x06\x03\x02\x4a\xba\x62\x7d\x81\x8d\x07\xd6\xac\xf0\xb8\x48\x91\x97\x6c\xbe\x0e\xed\x92\xaa\x4f\x07\x73\x2b\xb8\xe5\x7e\xbf\xcb\x95\x13\x0a\x52\xbf\xef\xd2\x71\xe3\x0e\x6e\x71\xd7\x7d\xba\xbb\xca\x9e\xe5\x1a\x16\xc3\x03\xed\xf0\xf6\xe9\xc8\xd8\x3e\x7e\xfe\xf0\x3b\x6a\x3b\x3d\xbb\x3c\x69\xff\x35\xc9\xb9\xe5\x12\x8a\x69\xf9\xee\x3c\xb4\xd8\xc8\x3c\x6d\x0b\x43\x93\x6f\xef\x14\x41\xef\xd0\xfe\xdd\x51\x0c\xc9\x1f\x81\x96\xd7\xc8\xf9\xab\xe3\x17\x1d\xdf\x0a\xea\x00\xb0\x27\x65\x96\xe7\x2c\x95\x2b\x48\x3e\x56\x04\xa9\xe1\x31\x27\x8c\xe9\x34\x04\x14\xbb\xa7\xff\x6e\x84\x8e\xf7\x5d\x40\xe9\xd8\xbb\x72\x98\xbc\x49\x34\x6e\xff\xde\xb5\x0f\xf4\x40\xe1\xd1\x8e\x96\x5e\x7d\x38\x35\xe7\x60\xff\xaf\x7e\x41\x60\x0e\x3d\x50\xcf\x84\x0f\x27\x0a\x9b\xaf\xce\xa6\xd6\x5d\x14\x29\x3b\x2d\xd2\x5b\x74\x3d\x33\xbf\x7e\xa4\x46\xf0\x07\x64\xcb\x82\x18\xf4\xcd\xe7\x4a\x09\x0d\xed\xeb\xc7\x08\x16\x01\xe6\xa5\x3e\x02\xf6\x7a\x0e\xf8\x29\x22\x97\xe0\x45\xd4\x7e\xeb\x04\x70\xdd\x23\xa9\x09\x54\x28\xb1\x79\xab\x30\xe8\x3f\x8b\xf4\xae\xc3\x8a\x22\x75\x83\xd6\xc1\x34\x0f\x09\xcb\x36\x28\x82\xad\x6c\x98\xeb\xbb\x83\xf7\xfd\x06\x6c\xbc\x3b\xc4\x74\x96\xae\xff\x69\x91\xd6\x06\x85\xbe\xb5\x2f\xa1\x67\x18\xee\x0c\x35\x10\x54\x90\x78\x02\x34\x97\x25\xc6\x0c\xbc\x3e\x7b\x56\x2b\x52\xea\xd2\x4a\x7c\x0c\x3a\x9d\x87\xdd\xb1\xae\xc2\x66\xba\xc0\x36\xbe\x5b\x7b\x76\x0a\x78\xea\xfa\xef\x22\x14\x5a\xbd\x18\x50\xe4\x51\x90\xbe\x62\x4a\x64\x77\xac\xbb\x07\xfe\xc1\x8c\xed\x7e\xfb\x8d\x10\xa7\xa5\x2d\xcb\x82\x1e\x12\xdd\xfd\x4b\xb5\xdf\x6b\x1e\x21\x7a\x94\x47\xca\xd1\x6e\xf3\x53\x9d\xf6\xc6\xb4\x72\xf6\xa9\x5e\x30\x95\xf8\xcd\xee\x06\x82\x0e\x41\xba\xa7\x26\x89\x3f\xa6\xbc\xf0\x7d\xb0\xf3\xbf\xa6\xd9\xfd\x6e\x48\x2f\xbd\xcf\x94\x3b\x7a\x7e\x29\x47\x6c\x70\xd8\x72\xe6\xfe\xe8\xf5\xe2\x1c\x45\x91\xfe\xae\xb5\x3a\x28\x95\x75\x46\x0b\xa8\xaf\x12\xcd\x69\xaf\x15\xba\xb9\x40\x81\xee\x44\x16\x93\x6c\xba\x2c\x21\x9e\x02\x48\x8f\x29\xa1\x75\x56\x4c\x95\x0d\x1b\xcb\xc5\x44\x43\xbd\x10\xc6\x2c\x56\xea\xc5\x48\x2c\x0a\xc1\x41\x84\x5a\x37\x36\x86\xba\x24\x8f\x5c\xc2\x42\x95\xa5\x02\x9b\x37\xb6\xc6\x12\x25\x34\x73\x88\x4a\xc7\x0b\x87\x9e\xcd\xe0\x63\x52\xd3\x48\x87\x67\x03\xb4\xd8\x4e\x68\xc6\xca\x8c\x85\x78\xbd\xb8\x90\x67\x74\x52\xa3\x8c\x11\xe6\x08\x12\x20\xb0\xe9\x07\x08\xf5\x00\xc4\x44\x9f\x89\xe9\x32\xe7\xe5\xe9\xcd\xa2\x14\x4a\xf9\x32\x39\x67\x62\x7a\x7a\xb3\xe8\x7a\x94\xdd\x8f\xd6\x78\x9f\xed\xfd\xaf\x3d\x07\x08\x19\x8f\x48\xf1\xf6\x3c\x8a\x67\x36\x44\xab\x4b\xb7\x71\x34\xbf\xe1\x31\x08\xb3\xe5\x86\xa9\xc4\x5f\x7f\x1f\x1f\xe5\x06\x9a\x00\xcc\x42\x78\x53\xe0\xe6\x33\x0c\x10\xf6\x43\x29\xe7\xdb\x11\x16\x0d\xb3\x33\x5d\x57\x5d\xc8\x08\x5c\xaf\x17\xd1\xd4\x16\x8c\xef\xfd\x75\xaf\x86\x6b\x4f\x8b\x0e\x14\x56\x65\x3c\x8a\xd7\x44\x2c\xb7\x79\x18\xcf\x27\xa1\x6f\x23\xdb\x20\x6c\x9f\x02\xe8\x98\xd7\xdc\xaf\x2d\x0f\xc0\xbc\x3b\x78\x5f\xdb\x43\xe8\x5e\xdd\x41\xf3\xe5\x77\x11\x19\x56\x77\xcf\xc6\xb0\xa3\x6c\x43\x12\x40\xb8\xff\xfd\x10\x98\x15\x70\xcc\xe0\xfe\x8e\xe2\x69\x0a\xdd\xbb\xf6\xc7\x9d\x4a\x6f\xca\x3c\x37\xb2\xe5\x7f\xc7\xf2\x9b\x61\xe1\xdb\x4a\xa9\xcd\xa0\xa4\xe6\x31\xeb\x5c\x67\x62\x65\x90\xd0\x61\x50\x56\x53\x4e\xd8\x24\xbb\x11\xe9\x60\x86\xe5\x78\x20\xf3\x26\x18\xfa\xec\xd3\x16\xc2\x9d\x7c\x6a\xad\x02\xdc\x51\x13\xb9\x58\x0f\xb4\x1c\x24\x79\xb6\x18\x4b\x5e\xba\x52\x8c\x9d\x37\x0e\xbe\x2d\xd6\x00\x41\x8a\x36\x90\x96\x6b\x2c\x61\x68\x56\x69\x63\x45\x5d\x0d\xc3\xcc\xe5\x85\xc2\x2c\xa2\x2e\x23\xf8\x2b\x4c\x01\x56\x42\xd5\xba\xc3\x83\x83\xfe\xc1\xc1\x01\x74\xc3\xbc\x2a\xa6\x55\x50\x95\x30\xa3\x32\x89\x0f\x1e\xfa\xea\x96\x3c\xcf\x49\x55\x69\x7f\x4a\xe5\xdc\xba\x3d\x97\x82\xa2\xe3\x52\xac\xf5\x17\x02\x83\x50\x6d\xae\xae\x18\x95\x53\x3c\x0b\x66\xe3\xa3\xea\xcc\xc1\x8e\x96\x23\x0b\x96\x8a\x39\x64\xa2\xa2\xbc\x4f\x66\x14\xa4\x41\x61\xf6\x99\x32\x7d\x86\x78\xe0\xa5\xe0\x51\x7e\x53\xbb\x57\x58\xc8\x53\x65\x53\x43\x4e\x36\xbb\x13\xee\x09\xe5\xdb\xac\xec\x06\x53\xda\x4c\x7b\x25\xcb\x2b\xd5\x37\xe0\xc4\xb5\x28\xd0\xbb\x89\xe7\x39\x93\x65\x18\x06\x1a\xec\x2e\x96\xd6\xc0\x29\xca\xc9\xa4\x92\x0d\xff\x85\xd4\xc2\xc7\x72\xff\x72\x78\xc8\xe6\xd2\x50\xa6\x1f\xd6\x25\xbf\x31\x23\x7b\x9f\xe3\xea\xc0\xf7\x82\x6a\x8b\xe1\xd8\xc1\x90\x8c\x3d\xd5\xde\xef\x35\xcd\x26\x93\x2c\x59\xe6\x1a\x15\xcb\x37\x48\x58\x86\x4c\xa9\x02\x20\x55\x5d\x35\x28\x02\x1f\xff\x42\xc3\xd3\x11\xe2\xfb\xcd\x6b\x93\xeb\x99\xcc\xe5\x94\xbc\xff\xa1\x24\x66\x30\xb4\xa1\x50\x15\x66\xda\x0a\x37\x99\x1c\xc1\xbc\x45\x56\x35\x57\xad\xd4\x7c\xca\x0a\x3e\x17\xb6\x6a\xe5\xd0\x6d\x23\xd6\x46\x55\x36\x5e\x10\x0e\xfd\xdf\x97\x59\x72\x95\xaf\x19\x57\x66\xce\xe4\xd8\x59\x96\x66\x47\xa9\xf0\x26\xc3\x13\x19\xd0\x89\x3f\x9b\x89\xaa\x3d\x2d\x82\x29\x7f\x8c\x8e\xcc\xb1\x4b\x97\x97\xf0\x05\x48\x4d\x72\x42\x39\xf5\x5c\x71\x5a\xee\x9c\x4d\x4b\x4e\xd1\x83\x98\x9a\x1b\x4f\x48\xc5\x09\xd4\x1e\x8d\xf8\x55\x6a\x07\xc4\x97\x47\x54\x88\x9b\xa7\xe9\x63\xca\xfc\x0c\x12\x7f\xcf\xdf\x03\x41\x47\xca\xb4\x68\xff\xb4\xd2\xdf\xf9\xdb\xe3\x1f\x63\x2f\x55\xac\xed\xb6\x2c\x74\x96\xbb\x7c\x42\x98\x98\x00\x93\x99\x91\x2b\x8b\x6d\x4e\x55\xd5\x2a\xf5\xd3\x0e\x0f\xfa\xec\xd0\x17\x05\x7c\xf2\xf2\x39\x2a\x2d\x20\xdb\xb1\xe1\x79\x7e\x38\x02\x0e\x7e\x3b\x6e\xde\xcb\x1c\x67\xec\x0a\xe4\xd1\xb5\xe6\x1f\x65\xc1\x80\xbe\x78\xa7\x7b\xb5\x05\x88\x80\x0c\x04\x73\xbe\xa0\x64\xca\x58\xd1\xf4\xe8\x7b\x97\x23\x27\xaa\x7d\x6b\x0d\xfe\x69\xc9\x57\x90\x25\xce\x9e\x64\x1b\x99\x47\x09\x32\x4a\x61\x5a\x7c\xe8\xf6\x20\x08\x60\xc8\xd8\x0b\xb2\xd2\xa3\x7b\x23\x54\x6e\xaf\x36\xc6\xa6\x41\x64\x04\x05\x29\x98\x59\x9c\xf0\x64\x56\x2b\x40\x78\xcb\x69\xaf\x78\xc3\xbc\x5d\x78\xa2\x0b\xf7\xab\x4c\xdd\xce\xc7\xfe\x5e\x9d\xd0\x3f\x3e\x06\x0f\x85\x94\xa5\x4b\x08\x37\x40\x3e\x06\x8c\x4f\x93\x7b\xb5\x36\x87\xc0\xba\x78\x52\x31\xcb\xb5\x69\x8b\x95\x5a\x33\xaa\x56\x9b\xfd\x2a\xdc\x98\x39\x57\x1a\xdf\xdf\x20\x0b\xd5\xf2\xdf\xfb\xdf\xb1\x9c\x5d\xad\x42\x63\xb9\x14\x36\x31\x23\x3c\x5f\x7c\xfa\x05\x9e\xbb\x8c\xdc\xc4\xca\x31\x65\x5a\x41\x31\x26\x98\x0a\x7b\x78\xcf\x07\x04\x60\xba\x6b\x73\x84\xbd\xa7\x2a\x9b\x49\xa5\x59\x29\xfe\xbe\x14\x4a\x2b\x62\xc8\x69\xc9\xa7\x76\xe5\xf6\xba\xb0\xb5\xe7\x11\x9e\x11\x9d\x97\x0b\x2a\xe3\x0f\xf1\x3f\x86\x26\x21\x37\xbf\x17\xb2\x6a\x44\x7d\x5a\xc0\xe0\x1f\x5c\x4a\x1f\x1f\xa2\xea\x4a\x34\xa1\x1f\x27\x72\x4b\xcf\x23\xcd\x2f\x94\xc7\xb3\xec\xb3\x52\x0c\x16\x72\xb1\xcc\xcd\x8d\x4b\xfb\x85\x90\x20\xf5\x26\x6c\x1c\xa2\x13\x42\x4c\x3c\xa6\xa1\x9a\x27\x55\x9b\x8b\xaa\x95\xd2\x66\xaf\x66\x42\xe4\x6c\x91\xdd\x88\x9c\xa5\x22\xd7\x9c\xcd\x97\xb9\xce\x16\x79\x86\x97\x75\x56\x98\xeb\x5a\x89\xfd\x54\xe0\x07\x84\xa0\x3d\x04\xb5\x10\x70\xf5\x11\x22\x11\x20\x62\x72\xc8\xce\x85\x30\x52\xa5\x5e\xa8\xd1\xfe\xfe\x54\xca\xe1\x34\xdf\x57\xbf\x88\xbc\xf8\xbb\xc3\x14\x40\x79\x6b\x7a\x3d\x77\x23\x9b\xd9\x1e\xd6\x70\xa5\xe5\x32\x99\xd9\x4d\x5a\x09\xa6\xf8\x2a\x74\x7c\xc3\x9f\x31\xdb\x35\x42\xcd\x8a\x29\xd4\x75\x4e\xc5\x8d\x48\x29\xa0\x77\x4d\xed\xb2\x54\x14\x3a\x9b\x64\xc0\x1b\x8b\x44\x58\xb6\x08\x01\x5f\x73\xcc\x4b\xc3\x0b\x70\x4f\xc6\x0e\x1c\x14\xfb\x11\x72\x2f\xcc\x0f\xe1\x79\xb2\xf5\x6b\x43\x1a\x86\xa9\x13\xae\xe0\xd4\xa4\x01\xf6\x68\xe2\x86\xc6\x57\x41\xfa\x35\x34\x9a\x84\xf5\x6c\x33\x75\x4e\x52\x06\xbe\x40\x3c\x31\xd9\x31\x8f\xd9\x74\x29\x54\x2d\xe0\xc3\xd6\x66\x2e\x6d\x9d\x6f\x90\x5d\xcd\x99\xc1\x73\x8b\xf4\x12\x8c\x44\x1d\xcf\x6d\x3f\x38\xc5\xaf\x6e\xcc\x8e\x7c\x15\x8f\xf8\x76\x26\x28\x53\xaa\x60\x89\x2e\xf3\xc1\x35\xbb\x12\xeb\x4a\x41\x75\x3a\xbd\x0b\xae\x28\xf3\x55\x30\x92\x2e\xf3\x37\xaf\xcc\x0f\x51\xfe\x67\x0c\x95\xc9\xae\x6b\x9c\xc3\xd6\xbc\xad\x72\x8c\x13\x83\x97\xc4\xaa\x96\x71\x9f\x20\x3f\x91\x5c\x6a\x36\xe3\x45\x9a\x87\x95\x76\xf1\x7b\x15\x6c\x1b\x7c\x2f\xc7\xf0\x46\x29\x6b\x3f\x3c\x39\x7d\xfc\xfa\xc7\x0f\x7e\x86\x1f\xdd\xd3\xe0\x55\x29\x6f\xd6\x3e\x94\x1c\xb3\xe1\xd4\x32\xee\xae\x66\x59\x32\x43\xd6\xa9\x34\x28\x3f\x67\x68\x87\x5a\xf1\xfc\x0a\x02\xcf\x50\x4a\x36\xd7\xa9\xf5\x01\xb0\xc5\x3f\xc8\xce\x64\xa5\x0a\xcc\x22\x23\x21\xd6\xd0\x02\x4e\xe4\x5c\x90\xe7\x68\x55\xbe\xa9\xde\xa4\x1f\x89\x18\x40\x12\x31\xa7\x0a\x4d\xf7\xf5\x1a\xe5\x61\x35\xec\xba\x10\x33\x6c\x56\xa3\xba\xdf\x83\xd4\xf9\xfe\x4b\x88\x13\x74\x7f\x55\x4e\x0b\x71\xbb\x6a\xe9\x5f\xdd\x24\x70\x23\x0d\xd9\x8e\x99\x82\x34\x58\x63\x11\x26\x11\x2c\xd9\x64\x69\x3e\xd8\x4a\x3c\x28\x19\x53\xbb\x58\x82\xe6\x45\x32\x93\x25\x42\xa3\x7d\x9c\xc8\x64\x49\x8f\xa4\xcc\xbc\x5d\xed\x35\x6d\xde\xa7\x4b\x5e\xf2\x42\x53\x20\xec\x58\xb0\x5c\x28\x35\x30\x7c\x62\x20\xcb\x81\xf8\xfb\x92\xe7\x03\x2d\x11\x1a\xbe\xdb\x26\x36\x94\xfa\xcc\x9e\x68\xfc\xf5\xe9\x04\x1f\x55\x86\xbd\x40\x95\x3e\xe5\xeb\x06\xc1\x93\x4b\x91\xbe\x97\x62\x32\xce\xa0\xea\xf6\xd3\x48\x14\x41\x48\x01\xbd\x95\xf5\xe7\x81\x4d\x50\xdc\x00\xd5\x9c\xa0\xca\x81\xf4\x3f\x07\xe7\x6b\xcb\x2e\x85\xd9\xac\xfe\x4b\xee\xd1\x14\x9e\x9b\xe5\x0e\xdb\x64\x97\xff\x5f\x7f\xa3\x70\xa0\xe6\x6d\xa2\xab\xc7\x41\xf8\xec\x28\xa2\xbf\xe0\x46\x81\xfb\x16\x6c\x86\x9b\x00\xd5\xa6\x0a\x81\x94\x9c\x2d\x64\x66\xa4\x96\x20\x59\x36\x15\x38\xa9\x8d\x73\xe2\xd6\xd6\x50\xed\x08\x73\x5b\x73\x96\x67\x0a\x36\xc2\xbe\x2a\x6c\x89\xfd\x20\x49\xb3\x2f\x07\xe6\xdf\x1e\x66\xff\x0c\x98\xcc\x7a\xcf\xf3\x24\x81\x72\xe7\x53\x2c\xb2\x91\x8a\x85\x9e\x0d\xf0\x27\xd4\xb6\x5a\x2e\x69\x6d\xaf\xde\x15\xb7\xf0\xe1\xe0\xb3\x2c\x4f\x4b\x01\xa5\x7a\xbc\x7f\xee\x26\x56\x18\xd8\x9a\x0c\x07\xff\xc1\xd5\x22\x08\x79\x24\x1a\x8b\x81\xe9\xf6\x71\x8c\xe3\x72\x5d\x8b\xfa\xc3\x06\xd5\x72\x06\x2d\xce\xbd\x16\xca\x10\xea\x80\xbd\x9c\x50\x83\xcf\xbc\x61\xa0\xe2\xb6\x1b\x7b\x96\xd5\xdc\x06\x7a\x51\x80\x06\xc4\xea\xc1\x2e\xc6\x8b\x22\x23\xba\x5b\xc2\xa3\xc0\xc0\x5f\x5e\xf7\xaa\x36\xf4\xf2\x3a\x0a\x50\x2a\x36\x65\xb3\xdf\x60\x2d\x3f\x5f\x17\xc9\xac\x94\x85\x79\x9c\x82\x36\xc3\xde\xb0\x20\x92\x07\x32\x8f\xa1\x8e\x90\x19\x45\xe5\x6f\xb8\x39\xcb\x83\x15\x5f\x83\xe8\x8c\xf0\x20\xaf\x55\xdf\x51\x56\xe5\x64\xfa\x64\xe3\x18\x61\x8a\xc3\xf6\x41\x6b\x03\x99\xfe\xe0\x08\x18\x88\xbc\xbc\x25\xad\x98\x29\x34\x67\x62\x56\x22\x9f\x10\xf2\x43\x41\x38\x95\xf3\xba\x88\x31\xe3\xf0\x34\x35\x33\x80\x92\x42\x20\xd7\x1b\xe1\x00\x0f\x92\x11\x11\xe8\x74\x64\x85\x97\xdf\xad\x38\x65\x53\xcd\xd9\x54\x07\x60\x2b\x22\xad\x95\x5c\x6a\x7c\x4e\x05\x6f\x2a\x97\xaa\x31\x2a\x74\x64\x1e\x4b\xf8\x5c\x74\xea\xae\x3d\xe4\xdc\x7b\x2e\x1d\x8e\x95\x52\x3c\x08\x6c\x01\x84\xd5\xed\xf9\xaa\x00\x93\xf0\x2a\xc2\x36\x67\x72\xf5\xa8\xf2\x33\xb9\x03\x06\x2a\x6e\x68\xe9\x63\x78\x7c\x53\x67\x5f\xaf\x36\x0e\xd3\x5a\x41\x73\xc7\x5a\xe1\x8e\x89\x47\x25\xf3\x76\x04\x06\x9a\x55\x86\x14\x81\x41\xbf\xd2\xd2\x8f\xe7\xb3\x15\xdd\x0a\xa7\x00\x65\x13\x4a\xa1\xc1\x66\x8c\x36\x2c\xad\x19\xa1\x4d\x8b\x6b\xc3\x67\x65\x79\x55\x74\x36\xed\x62\x13\x3e\x1b\xf7\xb0\x19\xa1\xd5\x1d\x74\xe5\x58\x42\x95\x52\x55\x0e\x1d\x4e\x85\xb6\x21\x65\xdd\x9e\xf9\xcb\xeb\x97\x02\x25\x5b\x4d\x14\x6a\xbe\x79\x37\xdc\xa5\x8d\xd7\x9f\xf7\x2c\x60\xbf\xfd\x16\x2c\x25\x68\x15\xa7\xaf\x0e\x7e\x68\x34\xe0\x3b\xb4\x6e\x40\xa2\x77\xc3\xa7\xa6\x9f\x7f\xce\x3e\xeb\x76\xac\xd4\x04\x66\x07\xf7\xa3\xf3\x78\x0c\x21\xbb\xcf\xb5\xa0\x90\x20\x38\x80\xfa\x37\xd7\x0d\x3a\xaf\x88\x73\x28\x19\x69\xab\x17\x86\xbc\x30\xf6\x99\x03\xf5\x84\x1a\x2c\x8b\x4d\xeb\x73\xae\x64\xcd\xb9\x60\xd0\x1e\x88\xd4\xde\x4e\xd9\x84\x20\xd7\xb0\x01\x3f\xf6\x37\x87\x9e\x00\xaa\xfd\xd8\x8a\x1c\xd7\x79\x1b\x6e\xa0\xe1\xef\x43\x8d\x5b\xd8\x16\xcc\x40\x75\x04\xb7\xad\x4e\x82\xfe\xce\xaf\xc6\x7e\x17\x13\x04\x71\x16\x20\xc0\x20\x94\xb4\x01\xd4\xf7\xed\xa0\x42\x1e\x55\x85\xd4\xb0\x14\xc8\xf6\xd1\xb0\xf9\xa1\x20\xd4\xcc\x16\xd8\x77\xcd\x1c\xca\x8b\x39\x95\x55\xb1\xba\x2b\x60\x3c\x59\x27\xc7\x54\xb3\x82\x5f\x44\x72\x32\xf0\x0f\x94\x61\x85\x79\xf3\x67\x71\x1e\x0c\x7a\xbb\xa8\xa2\xa3\x03\xb7\x46\x0e\x59\x87\x00\x1a\xec\x7a\x50\x3d\xc6\xe7\xd6\x02\x8e\x1f\x06\xcd\x56\x44\x33\x47\x1d\x6e\x4b\xfa\xec\x5d\x13\xf6\xfa\x4d\x54\xf3\xbe\x17\x88\x88\x9f\xb9\xb1\xac\x48\x87\x35\x74\x0a\xb1\x62\xa7\x48\xbb\xaf\x0b\x71\xb3\xc0\xe7\x10\x50\x33\x08\x55\xa0\x4c\x76\xb0\x3b\x21\xc8\x60\xf6\x9b\xf7\xf4\xae\x3b\x13\xe6\x5b\x89\xd9\x72\x03\x89\x7e\x76\x54\xa7\x51\x14\x39\xad\xcc\x79\x61\x24\x51\xce\xd2\xec\xda\xd6\x66\xc9\x54\xdd\x44\xd1\x2c\xf0\x85\x59\x3f\x20\x79\xaa\x08\x45\xbd\x34\xbb\x0e\x34\x25\xa4\xef\x4a\xb3\x6b\x7f\x07\x65\x93\x92\xcf\x05\x7d\xdd\x18\x0c\x4d\x95\x87\xbb\x1d\x6c\x1a\x14\x60\xa5\xbe\x94\x8c\x35\x51\x8a\xfc\x66\x2c\x79\x74\xc6\x90\x3a\x69\xc4\x0e\x1e\x79\x8e\xd2\x41\xfb\xd9\x88\x1d\x1e\x1c\xfc\x6b\xf8\xbd\x75\xdd\x1c\x31\x3e\x56\x32\x5f\x6a\x11\xfe\x0a\x8a\x45\xec\xe4\x13\x94\xdb\x52\x54\x38\x11\xa6\xca\xc4\xc8\x96\xff\x62\x08\xfb\x87\x1f\x86\x2c\x48\xa2\xef\xf4\xf2\xb8\x06\x85\xfd\x73\xc9\x53\xd4\xf5\x1a\x8a\x17\x0a\x3b\xb2\x4c\x87\xd5\x87\xb5\x2f\x92\x6b\x9f\x6e\x38\x9e\xcd\x0b\xd0\x99\xcb\x5f\x9f\x16\x85\x28\xd1\xe2\xf0\x0b\xf0\xf2\x55\x56\xa4\x86\x19\x9b\x61\x48\xbe\xe2\x06\x36\x3c\xf4\xd1\x02\xab\xd7\xf7\x18\xab\xa2\xb2\x34\xa2\x7a\xe7\x5f\x3a\xb0\x44\xb3\x25\x61\x8c\x79\xd8\xb4\x57\xdb\xc3\x21\xcd\xf2\x2d\x0c\x3d\xe4\x69\x7a\x6a\x96\xf6\x2c\x53\x5a\x40\x26\x09\x54\xc6\x76\x6e\xeb\x28\x86\xaa\xcb\xe2\x0c\x7a\x7f\x18\x8e\xb3\x02\x67\xd2\xf3\xe5\x7a\x52\x99\x58\x4e\x11\x2a\x50\x9b\x66\x67\xa9\xcb\x50\x51\x2a\x93\xe1\x58\xa6\xeb\x76\x0a\x9a\xf3\x72\x9a\x15\x23\x76\xb0\xb8\x89\x68\x05\x0d\xcb\xb5\xef\xdb\x68\x2b\xa0\x9e\xf0\x6b\xeb\xc6\x3c\x62\xb3\x2c\x4d\x45\x11\xfe\x86\x71\xf5\x23\xb3\xbc\xee\x60\x00\xe7\x6e\x00\xd6\x87\x01\xfe\x82\x6e\x23\xbd\xb0\xcb\x60\x25\xc6\x57\x99\x1e\x2c\x95\x28\x07\xc8\x77\x46\xf0\xe4\x8f\x1a\xcd\xe5\xaf\x4d\x2d\x2a\x25\x45\x50\x23\x1c\x04\x7c\xbd\x45\x61\xbd\x03\x69\x51\xc6\xcb\xe9\x14\x42\xbf\x05\xe3\x69\xca\x08\x1d\xd6\x20\x6d\x50\x1a\x55\x9b\x92\x93\x09\x6a\xca\x2d\x30\x8a\x36\x40\x1f\x0b\xf2\x73\x08\x92\x53\xb9\x3d\x0c\x77\x87\x06\xb9\x90\x8b\x20\x8f\xeb\xd6\xe6\x8f\xb1\xee\xba\xef\xd1\x49\x78\x9e\x74\x43\xac\x26\x33\x5e\x1a\xd2\x22\x5f\x97\x1e\xfb\x0b\xfb\xa2\xd7\x89\x85\x6d\x70\xd1\x39\x02\x82\xa9\x70\x25\xf8\x09\x99\x92\x4f\x24\x1d\xe4\x68\xb6\x78\x07\xeb\x3f\xfb\x47\xb0\x13\xcc\x9a\xf4\x47\x6c\x9c\xcb\xe4\xea\x51\xf4\x9b\x25\xa5\x4d\x33\x8d\x7b\x40\xa0\xce\x6d\xbb\x7d\xc4\xa9\x9b\x85\xcd\x04\x4f\xa3\xe3\x4e\x14\xe6\xce\xb9\xa1\x9a\x13\xa5\x9e\x65\xc5\xd5\x87\x66\x64\xe4\x59\x71\x15\x30\xe8\xb0\x43\xa5\xa6\x6c\x29\xf2\x4e\x9f\x21\xf6\xd4\x4c\x08\xdd\xa9\x0f\x64\x23\xf7\x37\x63\xbd\x71\xea\x35\x30\x8e\x67\x5f\xbc\x7c\xf2\xb2\x6b\x0e\x75\xca\x7b\x23\x76\x2e\xcb\x72\x8d\xc9\x9f\x58\x07\x69\xf4\x43\x87\x64\x16\x27\xcb\x60\xec\x22\x57\x51\xea\x3b\x84\x06\x89\x7c\xc8\x37\xe5\x6f\x6a\xc8\xd8\x53\x97\x43\x72\x91\x25\x57\x8c\xb3\xb1\x80\x6a\x10\xe0\x02\x32\x91\xa5\xcf\x6d\x2f\xe6\xa0\xbd\xbb\x96\x59\xea\xf5\x15\x89\xcc\xf3\x4c\x91\x7a\xd9\x96\xc0\xb8\xb2\xf5\x23\x32\x91\xa7\x4c\xa4\x99\x06\x7f\x0d\x81\x05\xf3\x30\xd1\x3e\x99\x71\x7d\xa2\x2e\xb0\x23\x33\x5e\xac\x61\xf6\xf7\x6c\x46\xa2\xb1\x00\x00\x02\x63\x30\xdd\x29\x05\xef\x36\x81\x5e\x4d\x69\x98\x22\x0d\xd7\x0e\xda\xa7\xeb\xac\x34\xb0\x11\xd4\x95\x58\x83\x6f\x0f\x8a\x7f\x4f\x9f\x9f\x9a\xc5\x3f\x5e\x62\x81\x67\xcc\x83\xbd\x12\x0c\x74\x5c\x72\x32\x01\x2f\x1f\xb8\xb9\x8a\xc5\x52\xb3\x99\xc8\x17\xa2\x64\xe0\x79\x63\xd7\xce\x35\xb8\x09\x99\x35\x20\x08\xf0\x86\xc3\x4c\x9b\x66\x88\x39\x4c\x27\x2b\x78\x7a\x2d\x4a\x73\xb8\xf2\x35\x9b\x2f\x31\x69\xb1\x82\x0a\x35\x06\x34\xa1\xed\xdc\x2c\x06\xb1\xac\x44\x58\x6a\x0f\xbc\xad\x34\x2f\x52\x5e\xa6\xf4\x24\x02\xcd\x16\xfe\x32\x2e\xe5\x0a\xac\xf1\x94\x13\xb4\x4f\xf6\xd4\xa5\x0e\x0c\xf4\x8a\x4f\x44\xbe\x66\x19\xd6\x62\x64\xe3\x35\xe9\xc6\xa8\xb3\xb7\xc2\x11\x39\x35\x13\xf0\xcd\x00\x7f\x0e\x4e\x0b\xb5\xaf\x1c\x14\xba\xb6\xec\xae\x9b\x43\xa3\xcb\xa5\xd8\xda\x4f\x2d\x44\x9e\x43\x0e\x5b\xd3\x05\xec\x7a\x5b\xfb\xf0\xa5\x96\xb6\xfc\x83\xe9\x25\x27\x93\x1d\xfb\x80\x8b\xd2\xad\xba\xf0\x85\xe6\x39\x88\x03\xac\x63\x6e\xa0\xad\xbd\x4a\x49\xab\x17\x37\x7a\x2c\x6f\xb6\xb6\xd7\x7c\x0c\xfa\x62\xd3\x67\x70\xd8\xd4\xbc\xed\xd2\x87\xba\xa1\x03\x28\x6a\x31\x62\xba\xe4\x85\xc2\x47\x6f\xc8\x37\xdb\x59\xf7\x44\x16\x7a\x30\xe1\xf3\x2c\x5f\x8f\xd8\x5c\x16\x12\x12\x63\xd5\x5a\x18\x86\x3c\x62\x87\x0f\x63\x01\x02\x7e\xba\xe6\x65\xc6\x0b\x3d\xc8\xb3\x29\xd7\xcb\x52\xa8\xfa\x2d\xde\x26\x68\x58\x89\x62\xb0\x1e\x91\x29\xf2\x91\x0b\x96\x1a\xdc\x34\xc9\x19\x90\xd6\x76\x00\x73\x1c\xb1\x45\xd9\x26\xf4\x46\x83\x2c\xb5\xb9\x6b\x70\x56\xec\xb3\x6c\xbe\x90\xa5\xe6\x85\x65\xe1\x4e\xaa\xaa\x31\x64\xc2\x7c\xa8\x82\xa2\xbd\xa8\x0b\x8b\x38\xfb\x4e\xdf\x8a\x7f\xf8\xe6\xa8\x88\x7f\x5b\xa1\x80\xa7\x46\x15\x08\x38\x62\xdc\x16\x12\x38\x48\xc0\x8b\xd7\x83\x43\xdf\x88\xbb\x00\x9a\xcb\x6b\xf1\x29\xe0\x88\x22\xfd\x14\x60\x12\x5e\x24\x21\x9e\xee\x04\x29\x91\x8b\xb5\x07\x71\x22\x17\xeb\xdb\x42\x00\x07\x0a\x0f\x02\xdc\x26\x6a\x30\xf6\xf7\xd9\x13\x74\x77\x42\x87\xa6\xcf\x59\x5a\x4a\xf0\x36\x33\x9c\x61\x9f\xf8\x25\xe6\xd1\xc3\x3b\x11\xdd\x23\xa8\x84\x99\xb9\x89\xba\x6b\xa1\xff\xad\x47\xdc\xdd\x56\xa0\x4c\xc5\x84\x2f\x73\xcd\xc6\xe4\x92\x88\x36\xc0\x44\x16\x93\xa5\x12\xf6\xee\xdf\xbe\x06\x33\x99\x4e\xdf\x3f\x81\xdd\x63\x1f\x73\x95\x99\x17\x08\x0e\xd4\x8d\x74\x56\xd6\xf3\x82\xb1\x8f\xd5\x53\x54\x1b\xe2\x4a\xac\x53\xb9\x2a\x3c\xa2\x1e\xcb\x74\xfd\xb3\x58\x3f\x91\xab\xa2\xfe\x3e\x0a\xdc\xc4\x20\x27\x34\xcf\x8a\x20\x7d\xb3\xf5\xec\x40\x8f\x99\x92\xca\x12\x5a\x1f\x4c\xb0\x9a\xb5\xdc\x60\x69\x76\x1d\x30\x55\xd7\x78\x98\xa5\xe6\x05\x09\xe8\x1a\x95\x72\x35\x00\xfb\x4c\xa7\xa1\x61\x2b\xff\x6d\xe7\xad\xfe\x8d\x0e\xf3\xdd\xf5\x2d\xd5\xf8\x30\x32\xd4\xb2\xf9\x61\x84\x2d\x1a\x08\xb7\xca\xd7\xdc\x9a\x3c\xc6\x5d\xf2\x6c\x5b\x4d\xc5\xbd\x81\xd0\x9f\x8f\xdc\x11\x51\xe6\x5b\xac\x51\x0b\xe0\x1d\x78\xe4\x02\x15\xa6\x8f\xf9\xb4\x5d\x80\x80\x16\x83\x31\x9f\x06\x73\x8c\x7a\xde\x05\xc5\x9b\xf0\x78\xdb\xc7\x45\xfd\x6e\x09\x58\xff\x18\x5e\x66\xd1\x32\x1b\x56\xe0\x2b\xf4\x06\x25\xd6\xc0\x72\x3e\xb6\x69\x8e\xb5\x5c\xb0\x89\x41\x31\x87\x72\x3b\x39\x79\x99\x21\x7c\xfa\xa5\x14\xb4\x1c\xf4\xe4\x07\xb7\xfb\x7b\x54\x6b\x2a\x5f\xa3\x39\xca\xee\x14\xb8\x3e\x83\x40\xca\xe3\xc2\x48\x81\xea\xd3\x88\x84\x10\x1f\x80\xd6\xd8\x7c\x4d\x8e\x8a\xa1\x97\xbc\x9d\x9b\x2c\xed\x5c\x08\x8c\x8b\x08\xb0\x9e\x04\x76\xdd\x3f\xc8\x3c\x6d\xdd\x6e\xb3\x90\x78\xa3\xa1\x79\x74\xde\xb4\x5c\x40\xbb\xc1\x44\x96\xe6\xbd\x39\x70\x33\xee\xd4\x3b\x56\x89\xa3\x46\x14\x0d\x67\xb6\x46\xfa\x16\x5a\x6d\x63\xed\x5a\xe2\x31\xa3\xed\xac\xb7\x8f\x16\x83\xdf\x6f\x5d\xcf\x86\xc9\x05\x90\x63\x5e\x88\xb4\x00\x1a\x4f\x9e\x80\x6b\xaa\x72\x9c\xd0\x3c\x2f\xb2\x84\xe7\x98\x29\x95\xbc\x64\x7d\x71\xb4\x42\x2d\xe7\x20\xf6\xd3\xed\x41\x0f\x1b\x20\x1a\x52\x80\x8f\x97\x93\x89\x28\xc9\xaf\x64\x8d\xa9\x64\xad\x92\x83\xb1\xa7\xba\xa3\xa0\x38\x20\x7a\x4a\x2a\xef\xe9\xec\xdd\x18\xcd\xc3\x70\xb1\x10\xbc\xb4\x8e\x86\xfe\xbd\x80\xaf\xa1\x0c\xd3\x7c\x37\xd5\x10\x5d\xcd\x44\x51\x75\x60\x35\x30\x33\x85\x05\x05\x43\x5b\x37\x66\x87\x57\x42\xb3\x0e\x4c\x30\xcb\x33\xbd\xb6\x27\xbf\x63\xa6\x71\x25\x04\xa6\x95\xb7\x6f\x23\x2c\xf1\x07\xa9\x6e\x83\x4a\x09\x08\x2e\x73\x7e\xca\xfe\xa4\x60\x90\x07\x7a\x39\x77\xe0\xc2\xc6\xdf\x54\x87\x2d\x17\x2b\x78\x41\x76\xe1\x6b\xb8\x9c\xc0\xbd\x16\xfc\x96\x0c\x3e\x7c\x28\x0b\xf9\x96\xf2\xf0\x55\x9e\xcd\x45\xcf\x5c\xf3\x18\xee\x01\xc4\xd0\xaf\x0c\x3e\x15\x9a\x54\xad\xa6\x85\x9c\x18\xbc\x27\x57\xc3\xd8\x75\xef\xb8\x14\x7c\xa7\x3b\x2e\x68\x1e\x11\x2a\x7e\xcf\x4b\xc1\x3b\x8d\x6d\x6b\x07\xad\x01\xd7\xdb\x2f\x99\x00\x62\x4c\xcc\xea\x7a\xea\xd2\x77\x58\xd3\x7a\x83\x63\xbb\xdd\xc0\x4c\xb1\x5f\xa5\x9c\x3b\x77\x34\x23\xe5\x8c\xad\xaf\x3d\x16\x85\xb2\x25\x5d\x97\x66\x79\x52\x69\xe7\x46\x81\x11\x10\xd6\x79\x96\x63\xe9\xb2\xb1\x8b\x51\x19\x36\xa9\x58\xd0\x39\xce\xc7\x79\x01\xce\x58\x21\x94\x35\xfc\x15\x56\x7f\x0e\xda\x87\x42\x6a\x0b\xce\x72\x55\x5a\x89\x5d\x80\x99\x3d\xcb\xc5\xb5\xc8\x51\xc8\xa3\xa7\x39\x78\x80\x58\xe7\x75\xa7\x77\x01\x4d\xbe\xd7\xa7\xbc\x90\x5a\xd8\x29\xe1\xc2\xc1\x73\x7b\x04\x3a\x49\x25\xac\x1e\x24\xe1\x05\xcc\x03\xa3\xb8\xc0\x05\x90\x10\xec\xa6\x66\xa3\x4a\x6f\xe6\x79\xa1\x90\x16\x00\xce\x6a\xb5\x1a\xae\xbe\x18\xca\x72\xba\xff\xe0\xe0\xe0\x60\x5f\x5d\x4f\x83\xcd\xbd\xf6\xf7\x5c\x9a\x5d\x37\x67\x7f\x25\xea\x7b\x71\xde\x05\xd8\x7d\xd6\x31\x30\x7a\x11\x90\x88\xfe\x0c\x42\x06\x88\x24\x59\xc6\x83\x55\xde\xc4\x00\xb0\xd3\xc7\x49\xf7\x36\xb5\xbc\x16\xa5\x32\x6c\xb6\xcf\x3a\x87\xc3\xc3\xea\xe8\xad\x72\xc5\x66\x23\x8a\x96\x8b\x8a\x31\x26\x17\x13\x5d\xf9\xaa\xe1\x70\x18\x7a\x77\xfa\x30\x25\x8a\x94\x8c\xc8\xd6\x56\x65\x37\xe7\x6f\xb8\xa5\x50\x71\x95\xa3\x3b\x36\x9b\xc1\x41\x52\x41\xad\x49\x84\x94\xf0\x85\x46\x17\x20\x81\x2d\x53\x5f\x4c\x63\x82\x55\x07\x0c\x3f\xa3\xec\x0d\x72\x2e\xcc\x5b\x77\x35\x93\x2c\xe1\x65\xe0\x6a\x0d\x5d\x2f\x78\x39\x15\x6d\xaa\x4a\x03\x15\x78\x83\xc7\x61\xd8\x29\xda\x49\xf4\x30\x1f\xc0\xef\x03\x0d\x0d\x3a\xcd\xbd\x76\xd4\x75\xc4\x7d\x1a\x77\x6d\xd3\x9e\x79\x3d\x43\xa0\xa6\x70\x6a\x81\xf0\x3b\xda\xc8\xc5\xcd\x23\x67\xbd\xef\xe0\xf5\x1b\x1b\x49\x3a\x72\xc1\x13\xd8\xdb\x83\xb6\x69\xd2\x0b\xee\xd4\xea\x39\x83\x40\x80\xcd\x1c\x32\x84\xd2\x02\xbb\xf6\x98\x72\xa4\x29\x6e\xf4\xd3\x62\xb1\x74\xaf\x7b\x7c\x34\xbe\xf2\x9d\x2f\x6c\x8b\xfa\x13\x0b\xe5\x10\x0a\x35\x88\xdd\xf9\x28\x84\x07\xfc\x79\x9d\x5e\x88\x88\xac\xd0\x03\x35\x97\x94\x1a\x0f\xc5\x0f\x17\x69\xb9\x20\x93\x6b\xe8\xeb\x6e\x53\xe1\x9a\x9e\x3f\x20\xa0\x37\x3c\x5f\x3a\x8f\xce\x93\xf3\xf3\x48\xfd\x04\x17\xb8\xb9\x50\x2d\x6c\x1b\xcd\x17\x0c\xc1\xd8\xb9\x0f\x3d\xf2\xea\x2a\x18\x63\xd8\x34\xb8\x5c\xe8\x0f\x7e\xd6\x2f\x17\x86\x72\x78\xce\xae\x61\x22\x66\x20\xf7\xda\x8a\x17\x88\x81\x8f\xe6\x1f\xbd\x7f\xe1\xf8\xba\x8c\xe7\x54\x80\x99\xd2\xc5\xba\x1c\xd0\x5b\xad\xce\x4a\xe8\x1f\x3c\x3a\x02\xd3\xb3\x47\x52\x3f\x9e\x73\xec\xba\x1f\x68\x02\x27\x11\x1c\xf7\x87\x0d\x6f\x6f\x00\xd2\x08\x06\x57\x6f\x26\x75\xee\xd0\x74\x14\x4f\xe1\x51\xd5\xb5\x62\x67\x30\x1d\x6f\x97\xc2\x3e\xeb\x22\x39\x09\x23\x1a\x2d\xfd\x6d\x40\xd9\xb4\x0d\x65\xb8\xa8\x30\xc5\x54\x1b\x82\x2a\x34\xae\x19\xb7\xe1\xae\xde\xa0\x13\xd6\xd1\xf2\x12\x6a\x85\xb4\x43\x5a\x28\x96\x79\xde\x07\x49\x01\xf3\x8e\x59\x90\x89\x02\xe5\x45\x2e\x79\x0a\x42\x8b\x19\x2f\xd3\x50\x86\xd8\x76\x63\xb2\x84\x80\x58\x73\x51\x87\xe4\x04\x99\xd0\x20\xe9\x3e\x77\x71\x84\xe6\xf8\x2d\x16\x79\x26\xd2\x60\x80\x5d\xe8\xec\x35\x9a\x93\x5e\x97\x79\x88\xb4\x65\x99\xfb\xa4\x3a\xee\x8f\xed\x06\xb0\x59\x29\x26\x9d\x3e\x33\x3d\x42\x6f\x94\x7a\x37\xef\x70\xe5\x1d\x54\x22\xa3\xe7\x46\xe3\x17\xc0\x08\x2b\xfc\x3b\x0b\x6f\xdb\x20\xe1\xfc\x2b\x83\x84\x79\xdf\x5b\x06\xd9\x46\x7c\x1e\x8f\x74\x09\x39\x44\x1a\x0e\x1c\x9c\xcd\xd0\x78\x57\xb1\xa9\x6a\x97\xfb\x7a\xc3\x40\x28\x21\xd4\xa8\x3b\x72\x09\x80\x36\xdd\xba\x82\xc7\x7d\xbf\xcb\x49\x2a\x45\x50\x02\xf8\x36\xc7\x09\x0c\x0c\x5b\xc7\x50\x1b\xc7\x00\x18\xad\x1c\x2d\xa1\xe6\xbb\x8d\x34\x15\xfa\x71\x5c\xd0\xf8\x36\xab\xa9\xd4\x42\xde\x65\x5d\x1b\x46\xdb\xbc\xae\x71\xad\xe3\xce\xb8\xf4\x63\x3e\x9d\xf3\x69\xe4\xac\x94\x99\x2f\x76\x18\xd3\x76\x84\xf6\xb7\x1b\x93\x62\xce\x7d\x40\x59\xf6\xeb\x2e\x23\x52\x37\xd3\xfa\x76\xe3\x05\x59\xa0\xdc\x98\x71\xae\xc5\x8d\xe3\x06\xdd\x6d\xaf\x5d\xc6\x3f\x89\x62\x1e\xdd\x96\xba\x6f\x83\x91\xa3\xf0\x48\xff\x47\xb5\xfa\x00\x05\x4a\x83\x38\x08\x51\xfe\x56\x21\xe7\x03\x4c\xe3\x9c\x14\x17\x33\x41\xa5\x76\xdc\xa3\xd2\xde\x45\xb1\x56\x04\x1a\x6d\xe5\xfe\x53\x41\xe1\xdc\xd5\x0d\x0c\x62\x19\xf0\x17\x04\x32\x15\xfa\x24\xcf\xcc\x23\xd9\x5c\xc9\x15\xdb\x97\x3b\x45\xc8\x68\xad\x88\x0d\x01\xe6\xf8\x07\x7a\x48\x91\x98\x0d\xdf\xe3\x5a\x06\x1b\xa3\x57\x0d\xfb\xdd\x84\xb8\xa8\xb6\xd7\x06\xcc\xd9\x52\xc2\x59\x3a\x85\x74\xd3\xbe\xa0\xd8\x9d\xd1\x66\xb3\x6d\x6e\xe0\x26\x11\x8a\xbb\x3d\x5a\xf1\xa6\xf5\x50\x6a\x9a\x4d\x0b\xda\x6d\x76\x18\x54\x7e\xbb\xe9\xe1\xe0\x0d\x89\x2e\xa3\xb0\x13\xd2\x78\xc8\x3c\x55\xf5\xd4\x36\x36\x41\xd0\xad\x3d\x2d\x03\xef\xfe\xcd\x93\x76\xd7\x77\x6b\x42\x4e\xab\x56\x74\x4f\xe8\xca\x84\x7f\xf7\x44\x11\x69\xe4\xca\xbb\xfd\x32\x89\x26\x7a\x92\x83\x06\x74\xa9\xa1\x0e\x6b\xc2\x93\x19\x9a\xa8\x5e\xb4\x27\x1f\x09\x06\x2f\x85\x61\x45\xa6\x53\x8b\x14\xb0\x31\x91\xc5\x0e\xc9\x25\xc2\x99\xce\x30\x81\x67\x10\x9f\x15\xa4\x2c\x89\x8e\x16\xf0\x23\x70\xef\x74\x19\x10\x60\x65\x98\xb1\x07\x32\x4e\x70\x4a\x75\x51\x7d\xff\xbd\x84\x48\xa8\x5b\xa5\x71\xb1\x7b\x68\xdf\x5e\x36\xf9\xd2\xad\xb7\x52\x09\x1d\x66\xbf\xd9\x94\xe3\xc5\xbe\x86\x09\xfb\xdd\xc8\x48\xd8\x9a\xd5\xc5\x5d\x45\x33\x91\x2e\x73\x71\x06\x18\xa8\xbc\xa6\x9f\x16\x13\x59\xce\xab\x79\x9d\x9c\x9b\x61\x29\xa5\x0e\x62\x2b\x21\x43\x15\x38\x02\x95\x98\x65\x28\xb2\xbe\x18\x78\x2e\xc3\x54\x21\x59\x2e\x8b\xa9\x28\xcd\x3b\x36\x73\x59\xab\xce\x83\xda\xc0\xe4\x24\xe6\xfd\x80\xa0\x88\x6a\x8a\x5a\xfe\xca\xda\x20\x57\x26\x52\x4c\xb7\xc7\x0a\xb9\x82\xc1\xe8\xd8\x99\x27\x6f\xa1\xb3\x52\xe4\x6b\x48\x60\x24\x4a\x57\x4d\x1d\x22\x4c\x33\xcd\xd2\x2c\x25\x35\x16\xea\x68\x6d\xfe\x24\x03\xa6\xf0\x51\xbf\xe1\x0c\x22\x1f\x61\x1f\x4b\x61\xad\xbe\x94\x5c\x0b\x49\x02\xa3\x49\x13\xa0\xd9\x34\x22\x4e\x75\x95\x2d\x14\x21\x0d\xa1\xba\x74\x49\x00\x76\x62\xde\x5a\x48\x9c\xfd\xd0\x2d\xca\xdc\xaf\x63\x4c\x92\x03\x81\xaa\x94\x3b\x89\x61\x35\xe2\x0a\x7b\x9e\x71\xc5\xc6\x90\x36\x81\xac\x65\x50\x2d\xc6\xe9\xa9\x7d\xb6\x90\x19\x57\x95\x89\x6e\x24\xd1\xac\x80\xcd\xab\xb8\xa0\x37\x17\x9c\x74\x06\xa9\x4a\x6c\x66\x58\x8b\xd1\xd6\x88\x0b\xad\x48\x61\xae\xe9\xa8\xfe\x77\x73\x05\xba\xa0\x78\x00\xe9\x03\xdb\x8a\xc9\x05\x65\xe4\xaa\xa1\xa2\x1b\x19\x91\xe5\x56\xd7\x60\x35\x5a\x9c\xb9\x84\x3b\xee\xda\xba\xf0\xdf\x76\x5d\xfe\x40\x5c\x53\x43\xeb\xc7\xd1\x0f\xdd\x00\x64\xa0\xea\x32\xfb\xff\x06\x8f\xd1\x99\x5c\xa9\x0f\x61\xb3\x7e\x05\xf6\xf6\x57\x94\x3d\xf2\x4f\x37\xec\x9f\x2f\xc3\x6b\x53\x5b\x04\xdb\xdd\x9c\xf5\x35\x8c\x2d\xad\xe6\xc5\x88\x69\x45\x09\x7d\x81\xbf\x74\x5d\x84\x61\xd7\xc7\x68\x50\x11\x47\x08\xd2\x6b\x82\x60\x03\x83\xa1\x81\xff\xda\x85\x6b\x60\xc9\x88\x8a\xc2\xc4\x6a\x04\x23\x71\xf6\x76\xfc\x18\x74\x43\x15\x79\x74\x71\xb3\x51\xbd\x45\xcd\x17\x37\xec\x3e\xeb\x2c\x6e\x02\x5b\x41\x9b\x1e\xa9\x2e\xdb\xd8\x0b\xee\xf7\xcc\x7e\xda\x3c\xfb\x48\x2c\x58\xf0\x52\x89\xa7\x85\xee\x6e\x58\x4b\x3c\xc9\xe7\x94\xed\x0b\xf8\x0d\x4d\xcc\x05\x18\xf9\xbc\x5d\x59\x81\xb9\x80\x6a\xb9\xd2\x42\x15\xe7\x0a\x65\xc2\x0b\xbb\x4d\xf4\xb7\x96\x36\xed\x17\x30\xad\x4e\x21\xcb\x39\xcf\x3b\x2c\x9b\xd8\x1b\x56\xce\x33\x4d\x05\x72\x7d\xa2\x7d\x9f\x60\xec\x23\x3b\xae\xa4\x1c\xa3\xfb\x7b\x2b\xce\x68\xdc\x93\x4a\xfe\x32\x87\x3c\x3f\x6b\x44\xe3\xfe\x3e\x7b\xb1\x9c\x8f\x45\x69\x13\x9f\x7b\xd3\x20\xbf\x16\x25\x27\x79\xc5\x4b\xd1\x75\x54\x59\x1b\x57\x01\x70\x5e\x4e\x9e\x01\x94\x23\x76\x78\x70\xf0\xa8\x3a\x02\xf8\x81\x30\x70\xeb\xcd\x0a\xd1\x38\x94\x7b\x80\xb4\x8f\x64\xfa\xba\x22\xa0\x30\xcc\xbd\x50\x31\x86\xe9\xd5\x22\x15\x95\xcb\xb8\x56\x51\x58\xb5\x59\x72\xa3\x6e\xb1\xb3\x92\xf9\x6a\xe0\xa6\x04\x1e\x9a\x9d\x7a\x97\x36\xdb\xd7\x36\xeb\x57\x93\xfd\xab\xd1\x02\xd6\x68\x03\x8b\x7f\xb7\x6f\x46\xbe\xd4\x32\x70\xc0\x8c\x1b\xd1\xfb\xb1\xd6\xc6\xea\x1b\xd1\x9c\xe6\xdc\xd5\x29\xd4\xc8\x66\x1b\xe3\x4c\x2d\x38\x18\xbf\xc8\x01\x9d\xce\x54\xc2\xf3\x64\x99\x43\x32\x01\x0b\x25\xce\xea\x98\x15\xec\x87\xac\x14\x13\x79\x53\x41\xdd\xf9\x82\x17\xdb\x37\xca\x8c\x5a\xdf\x29\xe8\xdb\xb0\x5b\xa6\xf5\xc0\x8c\x8f\x59\x09\x6a\xdb\x45\xfd\x8a\x42\x94\x3f\x5d\x3c\x7f\x16\xc4\x81\x74\x3b\xbf\x74\x86\xa5\x58\x08\xae\xbb\x9e\xea\x7a\x86\x31\x5e\x96\x9d\x9e\xfd\x29\x22\xfd\x06\x02\xaa\xfb\x82\xb9\x61\x2d\x9e\xfd\xd7\x8f\xb9\x12\x66\xac\x4f\x8d\x85\x31\xc1\xa5\xe5\xe3\xc6\xae\x78\x01\xfc\xca\x66\x5d\xb1\xd6\xcc\x99\x60\xb6\x7d\xdb\xf4\xea\x37\x46\xe7\x80\x6e\x8b\xe6\xf6\x95\x92\xbe\xbf\x54\xac\x14\xc1\xe4\x3d\xe4\xb7\xf6\xd5\x1d\xb0\xdb\xdf\x7e\x03\x0b\xc7\x0e\xae\x3d\xc4\x09\x5c\x6a\x65\x18\x61\x8b\x0a\xa6\xba\x35\x81\xda\xa6\x92\x05\xd2\x81\x23\x35\xc4\x7e\xc0\x98\x36\x87\xaf\xf9\x9e\xc4\x58\xf7\x59\x95\x84\xee\xed\x42\x41\x0e\xb7\x18\x59\x64\x00\xda\x5d\xb3\xc4\x53\xd9\x03\x2c\xa9\x71\x21\x17\x8f\x2a\x03\xd4\xb4\xf6\xb5\x01\xea\xf8\x6e\xee\x13\xb6\x6d\x70\x5f\x68\x71\xfa\xbe\x9e\x06\x8b\xf8\x55\xca\xf9\x0f\x3c\xd1\xa0\xb5\xf5\x0e\x05\xa1\x4f\xc9\xa3\x6d\x43\xd4\x26\x47\x43\x78\xd9\xc1\x6b\x4a\x1b\xd3\xaa\x54\x93\x86\xd6\x1f\xe8\xa5\x18\xcc\x03\x69\xc2\xca\x3c\x95\x5c\xa3\x90\xbd\x27\x05\xaf\x03\x7f\x95\x52\x16\x5b\x5e\x30\x0c\xf9\x02\x0e\xaa\x93\xed\xda\xb2\x9a\x0c\xd6\xa6\xb7\xa8\xb4\x81\x2f\x9b\xa4\x83\xee\x36\xeb\xf4\x99\x79\xa4\xb3\x34\x9b\x8b\x42\x41\x9e\x47\xb3\xa0\x40\x47\x45\xef\x30\x73\x8d\xa3\x97\x1c\xbc\xa9\x39\xbd\xc8\xc8\xaa\x67\x00\x05\x20\x48\x18\xf4\x0e\x6b\xbb\x28\x6a\x36\x2c\xb6\x35\x53\x5f\xe5\x98\x63\x52\xf2\x48\xd5\xca\x06\x75\xe3\x6a\xe2\x1b\x3f\x8a\xac\xa8\x71\x7e\xc9\x48\x30\xa6\x37\x97\x7a\xe2\x56\xf9\xa1\xdb\xdb\xf8\xd0\x58\x2c\xc7\x79\xa6\x5c\xcd\x6a\x17\xf9\xca\xfe\x11\x24\x88\x1b\xa1\x46\xe1\xa3\x65\x28\x95\xe5\x07\x8f\x0a\xec\x73\x26\x57\x17\x12\xdf\x67\x5d\xf8\xba\x41\xe5\x00\x79\x30\xbb\x3d\x97\xac\xc8\x01\xa8\x6a\x55\xf0\xc7\x8f\xcd\x0f\x13\x57\xc5\x06\x5c\xef\x02\x11\xdf\xa5\xfe\xb5\xfa\xc2\x9d\x88\xba\x01\x7f\x2d\x3a\xf4\x50\xc7\xde\xa4\x76\xf5\x5b\xd6\x90\x81\xd5\xf7\x46\xae\xbd\x31\x1b\x6b\xd0\xd8\xaa\x72\x9d\x87\x11\x46\x0d\xd8\xfb\x13\xd2\x56\x72\x9b\xd7\x0d\x50\x30\x16\x94\x1a\x36\xca\x45\xad\xb4\x39\x7a\x2e\xd8\x0e\x64\x28\x9b\xaf\xd5\xba\x1f\x4d\x72\x69\x4e\x50\xb1\x66\x13\x68\x2c\x29\x13\x26\x9e\x34\xe7\x55\x74\xed\x1e\xd7\xb0\xa1\x54\xac\x60\x32\x54\x73\x5e\xea\x1f\x0c\x8c\x27\x99\xd9\x77\x4b\x60\xb5\xd5\xf4\x1b\x58\xc5\xd0\x7a\x68\xfb\x54\x4b\x05\x4b\xe4\x7c\xb1\xd4\xd5\xa7\x80\x5c\x9a\x67\x92\x16\xd3\x92\xe7\x74\x7f\x51\x3a\x5f\x57\x4d\xc3\x4f\x51\x39\xfd\x79\xe3\xdc\xff\xd2\x3e\x95\x68\x26\xa0\x37\x27\x7d\x58\x22\xd8\x58\xe8\x95\x10\x91\x67\x2b\xcd\x0f\x02\x36\xa4\x26\xc4\xd1\x97\x46\x8c\x55\xce\x73\x74\x2c\xd8\x9c\xa7\xe0\x0e\x08\x1c\x4b\x81\x23\x36\x06\x73\xa3\xd3\xa0\x15\x7b\x4b\x91\xc8\x32\xc5\x93\x88\x3e\x2c\x4a\xb2\x4c\x5b\x1f\xb1\xc2\xaa\xb5\x58\xce\x35\x66\x8b\x4d\x05\x6e\xaa\x73\x3e\xb7\x9a\x8e\x86\xdd\xbb\x90\x8b\xe7\x30\xa8\x2d\x0f\x59\xf9\x1d\x4f\xb3\x6b\x52\xdb\x46\x36\xa8\xe3\xd9\x9f\x81\x8a\x27\x37\x2e\xcf\x06\x3c\xb7\x4f\xc5\x3e\xfd\xef\x79\xb5\x91\x01\xe3\x92\x0f\x1d\x3c\xda\xa4\x30\x6b\xa8\x1c\xde\x90\xb6\x2d\x86\x79\xbf\xc6\xad\x89\xcf\x36\x28\xc0\x1a\x8a\xfa\x87\x99\xa4\x2c\x8b\xaa\xdf\x38\x91\x6d\xc5\x05\xb8\xd4\xa3\x59\xac\x7f\x0d\x99\xa4\xaa\x5c\xa3\xaa\x19\xa9\xf6\x9b\x59\x62\xaf\x1f\x80\xfb\xd5\x65\x6f\x86\x64\x5e\x7e\x41\xf2\x26\xb8\x9e\x50\x88\x7b\x66\x7e\xd9\xd2\xdb\x10\x74\x63\xe7\x0b\xb9\x60\x83\x96\x99\x6c\xd3\xc4\x55\xee\xc1\x3a\x97\xde\xdf\x67\x98\x87\x21\xcc\x8e\xcc\x4b\xc1\x03\x97\x75\xa8\x6c\x00\x51\xc9\x99\x4b\xfc\xa2\x98\xb8\x16\xe5\xda\x26\xfd\x75\x6c\x39\x4c\xdd\xdc\xa6\x46\xa7\x3b\x6d\x83\x6b\xb5\xdb\x93\x6e\x2b\xab\xc1\x5c\x97\xdb\xfe\x35\xcc\xab\x29\x13\x51\x73\xbf\xc6\xb3\x76\x87\xde\x11\x53\xd8\x09\x80\xd9\xdc\xca\x4d\x4e\x17\xbe\xb3\x25\x41\x74\x0b\xc8\xe6\x8c\xdb\x9c\x80\xe0\x0c\x65\x65\xdf\xa7\x64\xe4\x9b\x0b\x3d\x93\x29\x24\x05\x44\xf3\x02\xe5\xca\x46\x87\x7b\x65\xdd\x6b\x41\x1a\x40\xc8\x33\xae\x48\x26\x4c\xd0\x77\xff\x2f\xac\x5c\x16\x41\x4a\x51\x6c\x26\x93\x64\x59\xee\xe0\x68\x15\x89\x2a\x3b\x69\x82\x71\x80\x3b\x68\x81\x4b\x3b\xc6\x9d\x34\xc0\xd8\x3b\xd2\xfe\xba\x14\xf5\x6d\xaa\x5f\x5a\x55\xf8\xa6\xa8\x65\x26\xc6\xec\xde\xb2\x68\x49\x71\x6d\x85\x33\xbb\x71\x90\x98\x03\x07\xce\x8a\x69\x1f\x72\x72\x94\x02\xdc\x94\x27\xcb\xdc\x29\x70\x94\xcb\x77\xe8\xec\xba\x58\x2f\x04\x33\x10\x43\xd1\x30\xeb\x43\xe7\x06\xf5\x09\xcd\xc0\x48\x46\xf9\xc7\xad\xdf\xfe\x9a\xad\xf8\x7a\xc8\xd8\x13\x09\xc9\x90\x24\x09\x43\x46\x12\x5a\x96\x63\x0b\xcc\x01\xc1\xc8\x95\x24\x27\x07\xbf\xe5\x82\xf1\x89\xc6\xbc\xaa\x56\x8e\x42\xb1\x6a\x92\x73\x35\x13\x0a\xab\x37\x2a\x6d\x8b\xcb\x64\x85\x2d\x85\x11\xcc\x0b\x6a\x8a\x28\x0d\x29\xd0\x95\x16\x3c\x05\x04\x60\x19\x45\x97\xeb\x12\x95\x43\x94\x0d\xc0\x95\xae\x30\x62\x00\xe4\x50\x50\x9a\xab\x59\x25\x72\x04\xd0\xb2\x0f\x89\x7f\x97\x5a\x65\xa9\xa8\x5e\x33\xc0\xf4\x50\xed\xeb\xea\xb8\xb8\xd2\xaf\xca\xd9\xe8\x6c\x73\xf2\x80\xbc\xb5\xdd\xd5\x96\x60\x68\x7e\x1d\x81\x95\xd5\x45\xcb\xa9\x0f\x21\x97\x74\x79\xa7\xcc\x71\x8f\xd2\xfe\x35\xbc\x76\xb6\xd8\xc4\x29\x57\xf8\x9f\x6e\x64\xba\x20\xa9\xa3\xd2\x24\x68\xf1\xd8\x1b\xe7\xba\x35\xc3\xd3\xdd\xcc\x55\xbb\x3d\xfd\x36\x5a\xe5\x5a\x71\xf9\x68\x27\xe7\x03\x9f\xdb\x2b\x4e\x88\xdf\xf5\xef\xd9\x2a\xce\x6d\x79\xfe\xaa\xf4\xfd\xfd\x51\xc3\xa5\x56\xa9\x57\x59\xc4\xbc\xa1\x68\x8d\xaf\x2c\x85\x2b\x5b\xe4\xec\xe0\xd1\xfd\x51\x3b\x41\xe6\xec\xee\x23\x73\x09\xaa\x2a\x79\xd8\x51\x28\xa4\xab\xff\xd3\xe0\xa0\xc0\xb4\x7b\x23\xc8\x39\xea\x68\xc6\x82\x94\x2f\x41\xf5\x23\x3c\x8a\x20\x87\x18\x68\xc1\x65\xe5\x56\xd1\xc5\x70\xe7\x52\x69\x86\x41\x95\xf6\x2d\xdb\x67\xfc\x8a\x47\xd2\x6e\x2f\x58\x5c\x21\x75\x3f\x06\x64\x27\xe1\xe1\x05\x8f\x62\xe8\x05\xf1\x58\x49\x99\x61\x3c\x21\x4d\xd0\xdf\xb1\xae\x2c\xd2\xdc\xa2\xc3\x63\x0f\xb9\x14\xf1\x56\x03\xcc\xb1\x57\xef\x3b\x52\x63\xd3\x21\x17\xc4\x0b\x5a\x39\xff\x28\xc3\x07\x31\x02\xc0\x21\xcd\xb3\xc5\xf9\xf6\xec\x6e\xc1\x69\x8c\xbc\x76\x83\x83\xe9\x6b\x8b\x56\x39\x90\x4d\x34\xfa\xdb\x6f\xa1\x0b\x73\xbd\x41\x90\x58\xf1\x88\xd5\x40\xd3\x03\x20\xc8\x5b\xec\x1c\x29\x7c\xd8\xaf\xdd\x9e\x3e\x46\x03\x85\x77\x9f\xc0\x7d\x33\x58\x60\x2e\x40\x12\x77\x0e\xb2\x3c\x0f\x9d\x1b\x76\x45\xe2\xf6\x69\xaa\x9d\x53\x80\x8b\x7b\x0d\x17\x14\x04\xc1\x17\x4a\x94\xfa\x31\x90\x5f\x1c\x28\xdb\xaf\x36\xf5\xc0\xad\xc1\xa0\x21\x8b\x65\x15\xa3\x61\xd6\xbf\x36\xa4\x52\x46\xf4\xed\x28\x7d\x69\x2b\xaf\xb9\x7d\xca\xc2\xf3\x6f\x90\x56\x41\x4d\xc3\xce\x85\xee\x10\xbf\x1f\x49\x3b\x48\xbd\x3b\x4c\xa4\x57\x0b\xb4\xd8\xdf\x67\x8f\xa5\x9e\x79\xcf\x9f\x1d\x97\x49\xb8\xdc\xb8\x48\x27\x2e\xfe\x91\xcb\xac\x4f\x24\xcc\xd7\x49\xc5\x85\xb2\x39\x48\x67\x59\x61\xce\xb3\x48\x33\xae\x05\x5a\x80\x71\x7d\xf4\x5e\xdf\x6d\x27\xef\x6d\x9b\x4b\xeb\xba\xeb\x6a\xfa\xed\x9b\x15\x64\xb7\x84\x59\xee\x70\x12\xeb\x50\x63\xfb\xf0\x06\x9b\x46\xf3\x19\xb4\x51\x0c\x1b\xaf\xc7\xf6\x3c\x03\x9f\xe4\x86\xf4\xe0\xff\xe0\x1b\xd2\x8a\xe0\xf1\x3a\xba\x38\xd1\x44\x16\x69\xfb\x25\xe9\xfd\xa2\x1a\xef\xc9\x10\x5e\x78\x55\x42\xad\xa0\xff\xe6\x37\xe5\xe3\x28\x05\x82\xbb\x2c\x2b\xa2\x66\xeb\x7d\x49\x09\xb8\x77\x65\xec\xdf\x1d\x55\x85\xd8\x6d\xd7\xa5\xe7\x7a\xc1\x2e\xed\x7a\x63\xc2\x06\x6e\xbe\x30\x4d\x93\xf8\x94\x86\x4e\x74\xcd\xec\x62\x7b\xf6\x86\x4f\x76\x33\xd6\xc5\x8d\x4d\x28\x74\xd7\x23\x6d\x4b\x16\x9e\xfe\x86\x5b\x23\xcc\x67\xd1\x74\x61\xd4\x18\xe8\xae\xd7\x46\x00\xf8\xce\x37\xc7\x0e\x57\xe2\x27\x5a\x5c\x95\x1b\xff\xe1\x0b\x74\x03\xfe\x4f\xba\x10\xeb\x27\xad\x6d\x3a\xbb\xdf\x86\x0e\xe6\xf6\xcb\x10\x88\x26\x34\xd5\x18\xf1\x1b\xf2\xf0\x78\xbe\xa2\x36\x5f\x8b\x17\x01\x9f\xe7\x4a\x2d\xe7\xb6\x24\x6a\xa4\x00\xe8\x01\xd4\xea\x8b\xbf\x87\x05\x3d\x78\x5e\x0a\x9e\xae\x49\xf3\xd8\xa7\x94\x5e\xf6\xb2\x83\x26\xa0\x6c\x37\x34\x60\xef\x53\x7f\x81\x94\x72\x15\xa4\x56\xc7\x5b\xf9\x1e\xd6\x61\xf2\xdf\x8a\x22\xed\x45\x0b\x85\x95\x05\xf7\x57\x29\x92\x75\x92\x0b\x15\x3a\xa0\x43\xaa\x94\x99\xa8\x96\xb0\x24\xb7\xe8\x85\x54\x30\x15\xf4\xa4\xb6\x05\x85\xad\xda\xac\x94\xab\x73\xac\x1c\x6d\x35\x78\x85\xb0\xc6\xd7\x6c\xc2\x0a\x91\x08\xa5\x78\xb9\xfe\xef\x7a\x85\x86\x0a\x9b\x5a\x7d\xa1\x4d\x0a\x9c\x4d\xd5\x65\x7e\x16\x62\x81\x11\xc1\x18\x62\x9c\x0a\x45\xd5\xde\x5d\x96\x53\x5a\x27\x26\x8f\x77\xc5\x64\x45\x01\x06\x5a\x51\x52\x66\x1d\xc8\x08\x00\x15\x08\x18\xbb\x98\xd9\xd2\xce\x13\x9e\xe5\xcb\x52\x44\xa5\x4a\xf0\x9c\xbd\x36\x80\x20\x1e\x20\x82\xef\xe1\xd8\x53\x4a\xac\x28\x68\x05\x07\xbb\xd6\x8e\x2e\xbf\xa0\x9d\xaf\x48\x84\x09\xec\x3b\x4f\x32\x74\xcc\x77\x73\x27\x30\xb0\xee\x0e\xdd\xa8\x54\x61\x29\x18\x0e\x73\xd6\x4f\x9a\x6e\x6c\x07\xfa\xd4\x82\x14\xd1\x49\x77\xfa\x96\xa6\x71\x20\x4f\xb7\xe0\xb6\x1a\x4a\x30\xa4\x55\xa1\x47\xb3\x08\xff\xaa\x3b\xd6\x33\x07\x2a\x08\x5d\x8e\x78\x9a\xfd\xbd\xca\x45\x8d\x4c\x34\x93\xa5\x9e\x51\xa2\x0f\x8c\x8a\x50\x94\xda\x7a\x2a\x29\x6c\x1c\xe3\x70\x72\xa9\x87\xd5\x7a\x2b\xe7\xbe\x6a\x4a\x0b\x13\x7f\x54\xed\x72\x6a\x0b\xaa\x34\x32\xe8\x58\x5d\x6a\x10\xce\xea\x42\x53\x58\x1f\x09\x4c\xa5\x38\x5f\x71\xc3\xe7\x58\xa7\x2e\x4c\x28\x47\x47\x35\xd3\xa2\xe4\x36\xf9\xcd\x6e\x11\x10\x56\xc9\x0b\x1b\xf8\xa4\xe4\xce\xff\xe0\x39\xd7\xb3\xe1\x3c\xc3\xfa\xc4\x55\x2d\xe3\x0e\x97\xf5\x16\xe3\x1e\x0a\x78\x66\x3b\xba\x40\x27\xc1\xc8\x07\x8f\x82\x3f\xbf\xab\x4e\x2d\xf8\xf1\xfe\xfd\x30\x3c\xa3\x0c\xd4\xce\x81\xca\xfa\xbe\x6f\x5f\xa9\x13\x66\x08\x3f\x78\xd2\xb8\x73\x06\x3e\x21\x9d\x6b\xc1\x66\x99\xae\x8b\xcc\x2b\xef\x4a\x80\xf2\x0c\xe3\xc0\xa8\x6d\x75\x53\x17\x2c\xb2\x8a\xca\x59\x08\x9d\xcc\x48\xf7\xfb\xa1\x5b\x86\x1a\x6b\x77\xb4\xa9\x4b\xe8\x0c\x64\x6b\xaa\xe4\x72\xda\xdd\x3b\x31\x0c\xba\xe8\x68\x06\xc0\xb0\x70\x9f\x81\x32\x62\x7b\xec\x3e\xab\xc1\x64\x6c\x5c\x0a\x7e\xe5\x3c\x7f\xee\xed\x20\x94\xd1\x14\xfa\x2c\xb0\xd3\xc3\x2c\x74\x56\x2c\x45\x24\x66\xb9\x6a\x6b\x1e\xef\x47\xac\x5a\x12\xc5\xe7\xac\xb2\xb1\x49\x64\x16\xc1\x5c\xd3\x90\x7d\xaa\x8f\x17\x14\xcf\x65\x31\xb5\x18\xdc\x50\x4c\x6d\xe3\x84\xea\x67\xf6\xf3\xcf\xeb\x07\x79\x97\x29\xd7\x9f\xed\xb6\x50\x62\x6c\xee\xc1\x7c\xd5\x94\x73\x02\x2f\x6b\xb8\x43\x3c\xac\x95\xc0\xf2\xa7\x58\x92\x9c\xc1\xa3\x26\xbe\x21\x8a\xb8\x6e\xc9\x79\x2c\xd6\x3a\x6c\xd4\xd7\x71\x27\xd4\x10\x6f\x0a\x11\x73\x5a\x79\x5f\xee\x86\x16\x51\xa4\x7f\x1e\x52\x4e\xfd\x63\xa6\x09\x25\xa7\x35\x2d\xd9\x4e\xc4\x1b\xd5\x6b\x39\xf7\x4a\x6b\x56\xfb\xf1\xb4\x22\xe9\xa3\xe3\x98\x08\xae\x45\xa7\x4f\xdd\x6f\xaa\x1e\x4a\x32\x5f\xe4\x6b\x06\x5e\x47\x04\x6c\x2d\xc8\xa4\x19\x71\x14\x28\x5a\x2b\x78\xfa\x3f\x8a\xb3\x20\xa1\xd9\x3a\xa3\x18\xc3\x08\xf9\x81\x78\xce\xf8\xd8\x66\xfe\x63\x48\x20\x58\x2d\xb5\x03\x8c\x45\x2e\x4b\x32\x50\x9f\x09\x60\x2d\x16\x5c\x16\x94\x53\x74\x05\x36\x83\xc8\x4e\x33\x9a\xaf\x45\x74\x1b\x04\x37\xa3\xf7\xf7\x20\x37\x40\x6d\x03\xb1\xd6\x86\xba\x0b\xa7\xbc\xed\x3e\x85\x8b\x8c\xde\xab\x4e\x32\x1b\x2f\xa7\x53\x8c\xe9\xdd\xf8\xec\x6c\x0a\x7f\xac\x41\x8d\x94\x3d\xad\x71\x99\xf7\xda\x79\x46\x70\xa7\xc7\x66\x4f\x48\x14\x64\xe8\x67\x2c\xf5\xcc\x26\x9b\x1c\xf3\x29\xba\x41\x13\xbb\x82\x3a\x0d\xee\x21\x67\xe3\x35\x82\x34\x13\xd6\xa3\x00\x73\xc7\xba\x08\x9a\xc8\x7d\xd1\xea\x79\x1b\x0b\x09\x1b\x38\x14\xfc\xca\x6d\xb1\x7f\x85\x35\x05\xa0\x74\x90\x9c\x4c\x6c\x46\x03\x9f\xbb\x96\x4d\x32\xcc\x33\xbb\xd4\x81\x1b\x36\x65\xdd\x76\xc9\x84\x77\x08\x90\x0f\x9c\x07\x36\xf9\xda\x44\x39\x79\x5b\x92\x05\xc5\x8d\x2a\x21\x21\x61\xf0\x48\x1b\xb4\xba\x4e\x22\x6a\xd9\x8b\x48\x21\x20\x81\xed\x53\xab\xb5\xdb\x30\xbb\x0d\x30\xeb\x13\xac\x36\xae\x6b\x4c\x5e\x19\xce\x13\x45\x64\x93\x63\x0f\x04\xfd\xcb\x89\x53\x48\x38\xbf\x94\xaa\x52\x64\xce\xd7\xe8\x4c\x65\x5d\x51\x49\xd4\xb7\xae\x5d\x1f\xb6\xee\x34\x8c\x65\x79\x56\x25\x76\xdf\xe3\xaa\xd5\x2f\xe1\x1d\x35\x73\x12\xc1\x7b\x0c\xde\xc7\xb7\x5b\xb0\xd6\x1f\x80\xa5\x85\x8e\xe2\x2e\xab\xee\x14\x4a\x20\x67\xe4\x27\x5b\x8b\xb6\xd0\x58\x82\x0c\xbb\xd8\xd3\x86\x28\xca\x26\x81\xa6\x44\x96\xb6\xc7\xdf\x97\xa0\x6f\x28\x80\xf0\x5d\x97\x30\x47\x01\xe6\x92\x0b\x4c\x13\x0e\x61\x24\x79\x2e\x4a\x39\x2d\x85\x72\x99\x2e\x02\xa3\x49\x6a\xab\xe1\x06\xb1\x1f\x66\x36\x5b\x51\x1d\x5d\x0f\x15\x54\x57\xf4\x13\xae\x56\xb1\x23\xe7\x66\x77\x92\xcf\x3f\x0f\x8a\x7f\x17\x1b\x1c\x4f\x2c\xc9\x87\xcf\xbc\xc6\x86\xef\xdc\x46\xd6\xb4\xc1\x61\xdf\xb6\x94\x06\xd1\x25\x15\x1f\xc8\x26\xf2\xe9\xf9\xb3\x15\x11\xa2\xe5\xff\xf7\x2a\xd5\x9b\xeb\xe9\x13\x79\x9e\x47\x09\x96\xaf\x33\xb1\x5a\xec\x16\x25\x6d\xfa\x1f\xe7\x79\x73\xbc\x01\x98\xfd\xe0\x05\x5e\x61\x76\xb5\x97\x71\x54\x4e\xef\xa0\xa2\xac\xd9\xe8\x20\xbd\xbb\x36\xb8\x15\x42\x74\x5b\xdb\x39\x37\xcb\x23\x07\xbd\xc6\x5b\x37\xba\xd3\x2d\x84\x7e\xc5\x7e\x1d\xf4\xdc\xe0\xfa\x54\xa1\x97\xea\x74\xda\x12\x2b\xb8\x52\x5a\xe4\x88\x14\xb9\x84\xb5\xeb\x05\xd8\x80\x1d\x3e\x8a\x7b\x3e\x6a\xb8\x01\x1a\xf1\x16\xed\x59\x38\xec\xff\xcf\xde\xdf\x77\xb7\x71\x63\x79\xe2\xf8\xff\x7e\x15\x70\x76\xc6\x24\x63\x92\x92\xbd\x9b\x9d\x6e\x29\xea\xfe\xc9\xb2\x3c\xed\x8d\x1d\xf9\x48\x72\xd2\x33\x8e\xc7\x01\xab\x40\x0a\xad\x62\xa1\xb6\x00\x92\x62\xda\xde\xd7\xfe\x3b\xb8\x17\x8f\x55\x28\xb2\xe4\x38\xfd\x30\xe7\xdb\x67\xce\xc4\x62\xe1\x19\x17\xc0\x7d\xfc\xdc\xd4\xf6\x75\xd8\x35\xfa\xef\x5e\x57\x03\xd1\xe6\x99\x51\xa4\xf7\x2e\x1a\x62\x72\x1b\x43\x13\x99\x29\xdd\xde\x91\x46\x1f\x7d\x16\xe8\x78\x67\x62\x61\x1f\xa4\xda\x4c\x24\x1c\xe6\x64\xb5\x61\xa6\x01\x79\x1d\x36\x8a\xb0\x3b\xc5\x4a\x37\xf2\xb1\x1d\x69\x22\x41\x7b\xe0\x84\xd7\x72\x63\x4c\xa3\x12\x2c\xe9\x1d\x5f\xae\x96\xd6\x25\xdd\x45\x30\x45\xc1\xfe\x3d\xc0\x8a\x44\x51\xbc\xa6\x77\xd1\xcd\xcd\x22\x58\x82\x61\x3a\x92\x41\x35\x3c\xd3\x47\x91\xe7\xb6\xea\xf4\x0f\xdf\xe9\xfc\x3d\x09\x9a\xd8\xdd\x2d\xc4\xbb\x35\x5d\xc0\x61\x25\xfc\xe3\xeb\x8e\x83\x79\xd8\x94\xc9\x9a\xd2\xe1\x96\x1a\x22\x23\x40\x2c\x10\xab\x3f\xf9\x36\xf0\xff\x9b\xea\x46\xdf\x8b\x3a\xaf\x7d\xee\xdd\x2e\x94\x0d\x32\xf9\x75\x3d\x90\x6a\x9f\xa7\x6a\xda\x37\xb2\xf6\x7a\xbe\x7b\xb9\x43\xfa\x00\x34\x51\x14\x38\x30\xd7\xd4\x8e\x00\x26\xb7\xc9\x5d\x1b\xdc\x68\xf9\x35\xbd\x8b\x23\xdb\x0c\xb9\xe1\x61\x02\xbd\x8c\x1b\xc1\x1f\x7c\x1d\x7c\x41\xc3\xc1\xb9\x4f\xf1\x6d\xe8\x50\x32\x7c\xd1\x13\x5f\xaf\xe5\x21\xdf\x55\xc7\x57\xe9\x87\xcb\xb4\x97\xd4\xe2\xfc\x17\x7f\x17\x6a\x73\x71\x51\xff\xbd\x09\x6e\xf7\x8d\x02\xf7\xb1\xeb\x72\xf2\x99\x11\x7b\x31\x9d\x7e\x4b\x0e\xdb\xf4\x79\xf8\x9b\xd3\x65\xfa\x19\x70\xea\x14\x4b\x2c\xe8\xde\x19\xc4\x86\x45\xd2\x07\x97\x71\xb4\x45\xe3\xf5\x98\x92\x3d\x62\x03\xda\x38\xeb\x00\x50\x0f\x22\xbe\xb5\x20\xff\x35\xea\x93\xbe\x06\x79\x42\xd9\x0b\xb7\xcf\x2b\x74\x1d\x79\xd8\xa7\xc1\x71\xc0\x1c\x03\x16\xd5\xae\x05\x3e\xe8\xde\xc4\xce\x47\xb4\xb5\x7a\xe0\xea\xf3\x8f\xb1\x78\x78\x85\xf4\x59\xbf\x67\xcd\xb0\x83\x6e\x67\x65\x8b\x40\x18\x19\x88\x92\x67\x02\xf8\xd0\x60\xd5\xfe\x04\xf0\xf0\x98\x3f\xcb\x4c\x1c\xb4\x2e\x32\x44\x20\xb5\x09\xe7\xa2\x1c\xcf\xa0\xeb\xf1\x9c\xc2\x40\x06\x07\xc7\x26\x66\x36\x11\xf6\x12\x34\x3e\xb8\x4e\x4b\x0a\x0a\x80\x7c\xc5\xec\xa5\x0a\x29\x55\x96\xb4\xc4\x7c\x9f\xde\xac\x6f\x23\x85\x40\x5a\xa6\xb8\xe2\x74\xb9\xa4\x8a\x67\xa6\xdd\xbd\xab\xe8\xd2\xed\x25\xf8\xa0\x9e\x81\xda\xee\x9a\x88\xa3\x2b\x1f\x06\xf7\x61\x14\xbf\xed\x7c\xb5\xda\x41\xb0\xed\x3a\x26\x8e\x7b\x14\x66\xa6\xe7\xd2\x2c\xb3\x5e\x29\x5a\x48\x01\xeb\x1d\x2a\x4b\x20\x6e\x71\x38\x5b\xa9\x38\x88\x0d\x7e\x86\xaa\x0f\x47\xd3\xa8\x3d\x93\x3b\xa2\x9d\x43\x05\x73\xef\x44\xab\x4d\xa8\x8c\x72\x45\x61\xbb\xae\xbd\x97\xa5\x09\x3f\x02\x60\x3c\xb0\x1b\xda\x00\x73\xcc\x24\x1a\x1e\x21\x9c\x07\x2d\x73\x52\x30\x45\x6c\xea\x6b\xdb\x94\x49\x67\x87\x76\x6b\x3c\x65\xd6\x90\x30\x46\x27\x50\x70\x58\xc8\xc9\xaa\x32\x0d\x06\xb9\x99\x37\xb5\x80\x00\x75\x4c\xf7\xe2\xe2\xfc\xc1\x0b\x94\x46\x83\x46\xd9\xc3\xc1\x46\x90\xb6\xfb\x9d\x29\x11\x84\xbc\xa1\xca\xc1\x80\x1f\xf8\x14\x8e\x29\xd4\x83\x51\x03\xea\x93\x43\x3e\xe8\x8c\x96\x00\x39\x58\xf3\xdc\x24\xbd\x75\x59\x94\xcc\x6a\xdd\x30\xf7\x6c\x42\x72\xc7\xc6\xb1\xb3\x0d\x69\x22\xc8\xa8\x5d\xcb\x56\xea\xbd\x56\xb3\x2e\xcf\x91\x07\x2a\x74\x8a\x25\x20\x26\x58\x75\x6b\x61\xf7\x7d\xf6\x3a\x46\x90\x70\xb2\x79\x94\x76\x5e\x26\x93\xd4\xdc\xc2\x2b\xe5\x47\xff\x3d\xbc\x57\xfc\xbd\x60\x29\x94\xc7\xab\xa5\x17\xd7\xdd\xbd\xad\xa1\x13\xf2\xcc\x40\x1b\xc0\xdb\x59\x8b\x52\x41\xfe\x1f\x97\x5e\x28\x1d\xc5\x66\x7d\x7d\x4c\x16\x41\x47\x56\xcf\x5f\xfe\x30\x0e\xe9\x1a\x87\x60\x3d\x91\xc0\x92\x33\xdb\xda\xc4\x8b\x71\x08\x1f\x0c\x8f\xae\x19\xc6\xad\xda\xfc\x8d\xf6\xb6\xbb\xdf\xca\xa7\x6e\x31\xa0\xd4\xa8\xd4\x90\xf9\x14\xe8\x6c\x6a\x06\xf5\x06\xe9\x86\xe5\x2d\x1e\xe5\xe0\x80\xbc\xe0\x8b\x55\x0d\x69\x92\xc8\x8d\xd8\x90\x39\x35\x19\x3c\x70\x57\x34\x65\x49\x82\x59\x6a\x70\xfe\xd6\x0d\x23\x67\x85\xa2\x41\xf0\xb6\x1d\xc1\x73\xfd\xbb\x1d\x86\x89\xb5\x6b\xc6\x78\x07\xdc\x1b\xb6\x63\x6f\x5a\x15\xb2\x62\x2a\x60\xc2\xee\x23\x7d\xa8\x94\xdc\xa1\xba\x24\x0e\x51\x79\xa7\xc3\xe6\xf0\x82\xab\xf9\x35\x7a\x5b\xf9\x91\x9b\xbc\x67\x34\xba\xee\xc6\x64\x73\xc3\xb3\x1b\xa2\x6a\xbe\x58\xb0\x5a\x06\x11\xc6\xc1\x7d\x94\x62\x0a\x95\x66\x07\x23\x67\xdd\xf8\xb4\xe3\xc9\xd8\x80\x0f\x87\x4b\x8f\x6d\xb1\x47\xf1\xfe\x54\x37\xac\x66\x03\x47\x95\xb6\x31\xb7\x73\xe1\x75\x5d\x51\xa3\x31\xc6\x6d\x56\x37\x35\xc4\xba\x4b\x11\x24\x8f\xb2\x29\xab\x30\xb5\x1b\x26\x20\x5b\xb3\xda\x93\x41\x57\x3a\xd0\xc8\x74\x70\x66\xa0\xd6\x98\x23\x2f\x4a\x82\x7b\xc1\x5a\x2c\x5d\xab\x91\x10\x05\x14\x05\xb9\x6e\x3e\x11\x06\x57\x07\x26\x57\x0b\x1b\xd0\xb3\xa9\x45\xc6\x30\xff\x85\x87\x2b\x44\xc4\x8f\x4f\xe4\x4f\xa6\xdb\xa1\xd3\xa2\x8c\x22\x6a\xee\x23\x7c\x79\xca\xee\xe0\x25\x0c\x15\x6b\xc9\x64\xc3\x55\x76\x83\xa7\xaf\x50\xf4\x75\x60\xc5\xd1\xaf\x26\xf1\x53\x9a\x3e\xbf\x78\xfd\xe1\xf9\xf9\xab\xeb\xd3\x0f\x6f\x5e\xfe\xf9\xfc\xd5\x91\x33\x3d\x62\x3f\xa6\x85\xff\xb0\xa2\x4c\x30\x94\xd7\x18\xce\xce\x59\xfd\x21\x61\x63\xed\xee\xe7\xd5\xcb\xef\xcf\xf7\x75\x93\x96\x98\xee\xd1\xc9\x9b\xd3\x7f\xff\xac\x4e\x82\x79\xc2\xf1\x58\x30\x15\x22\x19\x45\xfd\x7f\x0a\x3c\xc9\x24\x5f\x94\xc8\x98\x43\x52\xf5\x1c\xdf\x3b\x48\x4e\xa8\x29\x1e\xc8\x8b\xdd\x55\x26\xb5\x9b\x21\x0f\x1c\xd8\xd7\x64\x62\x38\xe2\xcf\x7c\xc3\x21\x94\xfc\x1f\xfb\xf5\x86\x34\xc8\x3d\xdf\xed\xe6\x74\xfa\x34\xbd\xe3\x61\x82\xef\xf7\x7f\x92\xce\xef\x00\x84\xc8\x88\xbe\xac\xc8\x03\x2f\xe4\x6b\x3f\x42\x13\x73\x8f\xbe\x6b\x8e\x85\x94\x74\x8d\x8e\x2b\xd8\x16\x96\xcc\x39\xe6\xbb\x1b\xeb\xf7\xf7\x86\x4a\x52\x33\x03\xd1\x03\x2f\x1b\xe6\xbe\x47\x08\x53\x49\x86\x05\xbf\x65\x88\x7b\x36\x32\x40\xd3\xba\x25\xcc\xdd\x2f\x15\xcf\x6e\xad\x1f\x30\x02\x89\x15\x42\x6f\x09\x5f\x32\x23\xe8\x90\x0d\xdd\xea\x91\x80\xb9\x13\x9e\x7f\xb9\x04\xe8\x6e\x6c\xdf\x01\x2b\x89\x15\x9a\x03\xcc\x2a\x4a\x45\x15\x9b\xfa\xb7\x6e\x35\x6b\xed\x9c\xb2\x37\x49\x94\x7b\x81\x10\x9e\x1f\x11\x35\xe5\x39\x2b\x15\x9f\x73\x56\x5b\x57\xc6\xad\xfe\x19\xc1\xc2\xfe\xc3\xfe\x76\xe7\x7f\xfb\x33\xfe\xf6\xe9\x18\x93\x2e\x98\xae\xf9\x18\xc9\xe0\x38\xba\xcc\xf4\x8e\x47\xf7\x58\x98\x4b\xfc\xc8\xfb\xfc\x5c\xd1\x35\x6b\xb8\x5a\xa3\x34\x01\x98\x0b\xd2\x3a\xfd\x80\x93\x24\x47\xc7\x48\x4e\xbe\x25\x6c\x6a\x00\xb2\xaf\x4d\x39\xd4\xa1\x1f\x93\xc7\x8f\x79\xe8\xe2\xa3\xcc\x92\xf8\xf5\x19\x36\xab\xbe\xe3\xef\x03\xaf\x1e\x27\x73\xe1\x2a\xbf\x83\x06\xa6\x3c\x7f\x0f\x6f\xae\x99\x26\x31\xbe\xb5\xc1\x15\xd3\x9c\xa8\x49\x2e\x7e\xd4\xfc\x9d\x95\x79\x38\x7d\x70\xa3\x26\x54\x53\x00\xbb\xe3\x52\xa1\xd0\x02\xe3\xb2\xe4\x3a\x00\xc7\x87\x92\xcb\x1b\x96\x83\x0b\xcf\x67\xad\x89\x9b\xa0\x81\xf5\x68\xce\x33\xb1\x2a\x01\x81\xbc\x3f\xde\x3d\x5b\xc8\xec\x1e\x4c\xeb\x47\x5a\xdc\x86\xf0\xf3\x76\x4a\x16\x89\x5f\x94\x2c\x90\xf7\x96\xac\x5e\xb0\xa0\x38\xaf\x7d\x4b\x46\x27\x40\x78\xa9\xcf\x5d\xc9\xf0\x22\xb6\x27\xa7\x60\xfa\xde\xb4\x58\x2d\x73\x5e\x02\x13\x65\xd8\x97\x39\x95\x06\x64\x97\x90\x98\x07\x3d\x3c\xfe\x5b\x93\x15\xf6\xfc\xd8\x82\xf5\xa4\x08\x6c\xba\x05\x04\x23\xfd\xd7\xf6\xf3\x08\xd2\xaf\xda\x4b\x78\xda\x1c\x0a\xa3\xdf\x03\x03\x2a\xe6\x25\x64\xbc\xe9\xb4\xdc\x22\xe6\x4e\xd2\xdf\xf0\x32\x37\xa8\x67\x7e\xf0\x5f\x9f\xc0\xe3\x17\x2c\x67\x5f\x4e\x9d\x90\x04\xb7\xde\xe4\xd8\x6d\xa3\x7d\xb8\xf6\xb0\xc1\x16\xe7\x4e\x3a\xb8\xf7\xb0\xd2\x5e\x0e\x9e\x7c\x51\x2e\x9e\xec\xe5\xe4\x93\x77\x4a\xc0\xb6\x08\x92\x9b\xf4\xff\x0b\x26\xd5\x4a\x8b\xbe\x08\xa9\x87\x02\x25\x26\x39\x2b\x15\xab\xe7\xac\x76\x51\x1d\xfa\xc1\x70\x3b\xad\x47\x92\x62\xbf\x3b\x5e\xf6\x50\x43\x14\xc9\xe2\x9e\x46\xc0\x23\x05\x4a\xad\x24\x91\x2b\x20\x33\xaf\xf4\x05\xbd\xa6\x54\x74\x2b\x03\x4d\xb0\xf5\x00\xd5\x8d\x55\xf0\xa6\x36\x8c\x25\x06\x3b\x54\xd7\xbb\xa7\x0e\xd4\x2a\x8c\x52\xec\x05\x00\x78\x4d\x1c\x86\xb9\xe4\x65\xc6\x9c\x86\xc9\xf2\x4a\xa8\xf5\xd2\x73\x8f\x72\xee\x5a\xa5\xe4\x4e\xd0\xf8\x5d\x78\xa3\xf7\xe4\x10\x7d\x62\xfc\x7f\x54\x06\xf1\x4c\x8f\xb0\xb1\xc8\xa4\x83\x8c\xf4\x6c\x26\x4a\x4c\xb2\x82\x57\x33\x41\xeb\xbc\x31\xb5\x97\xf3\x54\xb6\x12\xb4\x7f\xb3\xdc\x87\x67\x7a\x7f\x40\x40\x3a\xa2\x5b\x17\x80\x30\xd7\x74\xc8\xcb\x20\x82\xcc\xc7\xe6\x25\xa2\xce\x63\xdf\x6d\xfb\x8e\xdc\x98\x21\x3b\x98\x43\x50\xed\xf0\xb9\x79\x7e\x97\x5c\x4a\x44\x7b\xf2\x39\x42\xdc\x18\x15\xbb\x53\x26\x3f\xb9\x9e\x0c\xa9\x44\x05\xf2\x2b\xbe\x72\x98\x07\xff\xc6\xc5\xb0\x33\xf2\x55\xe0\x74\xf9\x95\xf7\xc9\xb5\x7d\xe8\xe6\x7a\x6e\xc2\x0e\x4e\x5a\x7f\xbe\x27\x23\x6d\x29\xf8\x5e\xd8\x4a\x9f\x05\x7c\xd2\x0c\xe5\x9e\xf4\x08\x55\x26\x4f\x63\x5e\x36\xf2\xde\xf8\x5b\xc0\x33\xed\x82\x01\x09\x86\xd9\x81\xdf\xa2\x8c\x92\x5c\x86\x91\xe9\x6d\xb4\x21\xef\x80\xcd\xca\xfc\x19\xcd\x6e\x35\x75\x1b\x6f\x15\xe7\x86\xbc\x67\x35\x93\x63\x40\x39\x09\x22\xe1\xfb\x8d\x81\xb4\x46\xd0\x15\xc9\x15\x39\xd4\x34\xdc\x72\x1a\xd1\xf8\xe8\x0b\x23\x13\xc0\x35\xfb\x3a\xdd\xe9\x9e\xd6\x76\xec\xde\xe5\x95\xdb\xe5\x7c\x05\xa9\x0d\x86\x8d\xf7\x7a\xc7\x5e\x3f\x26\x4f\xc6\xad\xf1\xf6\xf0\x44\x6b\x0f\x70\x7f\x24\x59\xd7\x60\xda\x3e\x57\x3d\x3c\xd9\x3a\xa8\xb9\x85\x9c\xd3\x07\x5f\xa1\xb1\x9d\x41\x94\x98\x27\x65\x18\x6d\x4f\x62\x4e\x60\x22\x75\x0c\xa3\x93\xa2\x77\x8c\x86\x24\xc6\xd2\x1d\xd1\x18\x6d\xf5\x7e\xe2\x86\x6a\x32\x8d\x32\xb1\xbf\xfb\x5e\x2e\x7d\x7e\x1c\x0f\x7a\xbb\x79\xf7\x24\xf7\xf6\xc8\xc6\x7b\x8e\x7b\x5f\x52\x6f\x8e\xaf\xa3\xdd\xb6\x26\xf8\x85\xc8\x80\xd9\x36\x96\x76\xcc\x6c\x6f\xfc\x60\x44\x49\x28\xc1\xc4\xf1\xe4\x96\x6d\x73\xb1\x29\x2d\x2f\x4e\xa5\x61\x07\x5e\xbc\xd0\x65\xcc\x42\x30\x9b\x58\xdd\x5a\x75\x96\x98\x36\x1f\x93\xea\xb3\x3c\xb4\x8e\x62\x4f\xfd\xe2\x09\x44\xf9\x4c\xe4\xdb\xef\xd8\xf6\xb9\xd8\x94\xa9\x07\xd9\xbf\x90\x41\x2e\xd0\xe6\xdb\xab\x8f\xc9\x2d\xd3\x5c\xd5\x15\xa4\xe3\x99\x6a\x1e\x4d\x73\x99\x67\x22\x67\x43\x36\x05\xf9\xc2\xbd\x61\x85\xd8\xb0\xfa\x3b\x28\x7e\xcb\xb6\x53\x25\x5e\xe9\x1f\xce\xa8\x0c\x6c\xd0\x5a\x1e\x55\x75\xa1\x4b\x7d\xfc\x48\xd8\x74\xc9\x14\xfd\x8e\x6d\x47\xe4\xd1\xa3\xa0\xfe\x09\xf9\x6a\xfd\x55\xe0\xaa\x1c\xa5\x8d\x8f\x12\x02\x47\xbc\x1d\x20\x83\xbb\x35\xb2\x1b\xa4\xa2\x74\x48\x68\xe2\x0f\xb2\x2c\xf6\x58\x4a\x58\x9c\x4e\xae\x26\x3d\xb8\x34\xe6\x69\x02\xdb\x34\x80\x36\x85\x50\x6f\x67\xb1\x85\x76\xc1\x60\xab\x4f\xce\x91\xf9\x1a\x76\x86\x18\xd9\x9f\x46\x11\xec\x69\xa2\x84\x0f\xaa\xf0\x18\xf6\x71\x6e\x65\x92\x04\x48\xc5\x55\x95\x00\x9d\x6e\xf2\xed\xc7\x4b\x1b\xd2\xfe\x94\x5c\x29\x51\xa1\x2f\x09\xf0\xf2\x28\x4c\x89\x8a\x2e\x28\xe8\x8f\xa8\xf4\x96\x1b\xc8\x6b\x8a\xf1\x88\xd0\x47\x6e\xad\x99\x6e\xb1\x31\xde\x62\xef\xe6\x60\xf5\x37\x7e\xce\xd7\x76\xa4\xa9\xfd\x62\x53\xa9\x44\xf5\xc6\x0e\x0a\x1d\x67\x13\x98\xfb\x6b\x56\x23\x72\x83\xf7\x28\x58\x8a\xfc\x33\x53\x83\xb9\x74\x09\x06\x45\x21\xca\x39\xac\xa8\xea\x4e\x3a\xac\xc5\xb2\x79\x21\x36\xff\x41\x4e\x50\xad\x4a\xfe\x48\xac\x21\x9f\x1c\x91\x01\x66\x23\x1a\xb4\xa6\x10\x59\x78\x97\xce\xc6\x32\x45\xa1\x82\x16\x8a\xd5\x12\xcc\x58\xcb\x95\x51\xc2\x44\xfa\x17\x7d\xb5\x81\x97\x4b\xd3\x46\xd5\x2b\x33\x7b\x60\xc5\x7d\x2d\xd6\xcc\x98\x78\xe2\x34\x95\x7e\x4c\xf1\xdc\x13\x76\x21\x72\x12\xcc\x00\x66\xaa\x5f\xb7\x8b\xb7\x97\x67\xe7\xe4\xc5\xcb\x57\xe7\x47\x68\x00\x3f\xf8\x8b\x3c\x80\x7f\x7c\xb0\x28\xff\xd3\xbf\x48\x5d\x54\x4b\x1c\x18\xd1\x3c\xcc\x46\xe4\xe9\xe1\x93\xa7\xa0\x2e\x00\xf3\x20\x5f\x2d\xc9\xc5\x15\x39\x5d\xa9\x1b\x51\xcb\x29\x39\x2d\x0a\x8c\x7e\x96\x44\x0b\x1c\xf5\x9a\xe5\x53\xdd\xc6\x5b\xc9\x1c\xd2\x97\x44\x1c\x90\xcc\xc4\x4c\x2f\xf4\x1e\x95\xfa\x9e\xde\x12\x4a\x9e\x5d\x3d\x9f\xc0\xd6\x91\x82\x67\xac\x94\x26\x9a\x11\xa1\xeb\x75\x4b\x73\xd0\xb7\x1b\x5a\x7f\xf5\xf2\xec\xfc\xfb\xab\x73\x2d\x2a\xb2\xe9\x83\x07\x03\xbd\xda\x52\xd5\x3c\x53\x83\xe3\x07\x0f\x0a\x3e\x9b\xd6\x2a\x67\xd5\x70\xa0\xff\x09\x49\xb5\xe5\x60\x4c\xe0\xaf\x37\x4e\xf1\xff\x9a\x96\x74\xc1\x6a\xfb\xa1\x66\x38\x40\xfb\xf7\x26\x1b\x84\x6c\x1c\xfc\x36\xd7\x1f\x71\x13\xbf\x63\x5b\x10\x7f\xfd\x2f\x17\x95\xde\x21\xe9\x7f\x48\x74\x15\x36\xe8\x88\x81\xb1\xd2\x57\x0a\xee\x5b\xff\x1b\x64\xdd\x68\xd7\xd5\x27\xd6\xe5\xe2\x0f\x3a\xfe\xe1\x1a\xb2\x63\x59\x75\x85\x28\xa5\xaa\x57\x90\xac\xc6\xc6\x31\x5d\x9b\xad\x26\x59\x41\xa5\x93\xdd\x4f\xfd\xef\xd5\x4a\x53\xb3\x12\x0b\x06\x96\x91\x94\xbb\xc4\x98\x84\x33\x00\x79\xd9\x76\xff\xe4\xf0\x10\x52\x5e\xea\xc6\xd1\xc0\x82\xb9\x5c\x8d\x61\x40\x2c\x2b\x54\x59\xdb\xde\x2c\x79\xd3\x82\xab\x6d\xa0\x9b\xaa\x11\x04\x9a\x06\xc9\x1b\xe0\xa9\x9b\x14\x6c\xcd\x0a\x3f\x5a\xbc\xf2\x64\x48\x33\x06\xf7\x1b\xd3\xba\xa0\xed\x07\xb5\xa7\x25\x47\x69\xde\xda\x28\xa4\xa8\xc7\x46\xe4\x37\xa7\xbf\x66\x0b\x87\xf3\x8c\x86\x21\x3b\x50\x70\x0f\x71\x0b\x3e\x25\xe4\x4f\x62\xc3\xd6\xac\x1e\x1b\x7c\x1c\xbe\xa4\xf5\x36\xc0\x1e\x07\x05\x5e\x55\x33\x35\x1c\x59\x95\x22\xe4\x03\x94\xe4\x87\x6b\xdd\x16\x93\x19\xad\x34\xb7\xfb\x7f\x57\x68\x8a\x02\xa5\x43\xb9\x16\xb7\xc6\x2f\x8b\x56\xfa\x1d\xa8\x01\xe9\xa9\x39\xdb\xc8\x8b\x11\x96\x9a\x6c\xa8\x24\x37\x8c\xae\x39\x24\x30\x9b\x17\xd0\x2a\x9c\xb0\x33\x51\x6f\xc9\x6b\x9a\x65\xb4\xae\x45\xc9\x06\x92\xbc\xa8\xe9\x92\xcd\x56\xf3\x39\xab\x63\x2a\xb8\xbe\x78\x7e\x31\xac\x17\xbc\xcc\xe9\xe8\x88\x80\x6d\x17\x9d\x0d\x1a\xd8\x22\x56\x5f\x03\x61\xf2\x75\x90\x55\x48\x9a\xa9\xd2\xda\x64\xd5\x91\x55\x41\xb7\xba\xf0\x86\x67\x00\xa1\xb4\xd1\xa4\x40\xa5\xbe\x9a\xcb\x9c\xd6\x90\x96\x82\x97\x41\x0b\x56\x8d\x83\x8f\x9d\xe9\x01\x88\xf9\xff\x7c\x47\x86\x7a\x95\x4c\x30\xdd\xd6\xec\x50\x90\xd2\x88\x29\x39\xda\x95\x13\xb1\xaa\x85\xbe\x37\x5e\xe6\x04\x4f\xac\xa6\x76\x77\x52\x89\xf9\x4a\x4a\x0a\xe6\x3c\x84\x02\xb4\x59\x11\x0d\x15\xe7\x63\xeb\xed\x03\xc3\x1b\x98\x3f\xa2\x1c\x41\x6e\xb7\x1a\xb9\x0d\x5d\xef\x21\x1f\x64\x7f\x8b\xb0\x93\x0f\x0e\xc8\xf5\x46\xd8\x07\x86\x97\x7a\xb1\xb2\x40\x6f\x69\xc8\x0d\x8f\xdf\x87\x38\xfb\x17\xfc\x16\xa8\x7a\xe0\xe5\x2a\xa9\x62\xbb\x4b\x7b\x93\xfa\x57\xc6\x7a\xf7\x95\x4f\x43\x1e\xbd\xb3\x3e\x30\x2f\x1c\x44\xd8\x42\x21\x34\x1b\x50\x0a\x6b\x8a\x08\x1f\x4b\xfe\x8b\x5e\x5b\xac\xf4\x0c\x48\x50\x5a\xfd\xe5\x9a\x41\x5e\xc5\x5f\x18\x12\x91\xb5\x95\xe6\x3c\x03\x0d\x1c\xba\x82\x55\xfa\x91\x31\x79\x3b\xa7\x84\x3c\x47\xe7\x48\x4c\xec\x87\xda\x5d\x03\x72\xbc\x11\xa0\x5a\xcc\xb9\xa4\x8b\x9a\x81\x71\xf5\xe0\x80\x9c\x16\x52\x60\x01\x5e\xd2\x4c\xf1\xb5\x1d\x99\x66\x71\x75\x23\x18\xa3\x8f\xef\x3d\xcb\x0d\x7e\x12\x87\x88\x66\x48\xc8\x02\x47\x13\x2a\x62\x83\xc9\x35\xba\x4a\xe6\x64\x3b\x44\x5e\x31\x70\x5e\xb0\xfe\xc6\x35\xd8\x06\x31\x74\x73\x25\xcd\x21\x33\x87\x87\xa8\x46\x6a\x90\x69\xfc\xf6\xeb\xfb\xb8\xb5\xa9\xe6\x77\x10\xda\x9a\x79\x27\xa0\xc2\x54\xae\x66\x32\xab\xf9\x8c\x0d\x7d\x6e\x27\xa3\x6f\x34\xba\xf7\xe9\x8c\x1b\xe7\xec\xd1\xde\x26\x9c\xa3\x64\xe4\x95\x76\xaf\x26\x2c\xe7\x6e\x5a\x40\x8e\x76\x6f\x03\x4e\x83\x1d\xe8\x4a\xc3\x5a\xe1\x72\xe7\x7c\x6d\x9e\x09\x9b\xd2\x03\x59\x6a\xcb\xfb\x84\x59\xdb\x9a\xa7\xb1\x95\x12\x3f\x68\x83\x05\xce\xa1\x9a\x24\xf1\x4a\xf0\xf1\xb7\x8b\x42\xcc\xf4\x03\xa2\x1b\x72\x8d\xc0\x0b\x17\x40\x9a\xfa\x17\x51\x4b\x02\xee\x51\x44\x7c\x7f\x3e\x37\xbe\x0b\xe5\x40\x41\xe6\x69\x7b\x36\x24\x3a\xbd\x80\x41\x95\xfa\xc6\xb7\x4c\xa1\x75\xa6\x66\x13\xc9\xc0\xeb\x31\x67\x99\xa8\x21\xa9\xaf\x9f\xa7\x0d\x8b\x23\x27\xc6\x4a\xe8\x7e\x0a\xe7\xed\x33\x2d\xa0\x3f\x83\xf1\x3b\x0b\xd5\xf8\x90\x46\x2e\xca\x42\x4e\xf3\xbc\x66\x12\xac\x5c\x0d\x7a\x9d\xd1\xec\xd6\x62\xa2\xbd\x7b\x6f\x3b\xba\x42\xcf\x0d\x3a\x23\x5a\xd8\xf0\x34\xae\xe8\x0c\x24\xa4\xb8\x34\xa0\xa0\xa9\x9a\x66\xb7\xfa\x7a\xd9\xdc\x20\xa7\x62\xee\x62\xdf\x0a\x0e\x18\x32\x75\xb3\x9a\x4a\x96\x1f\x3b\x3f\xe1\xeb\x67\x67\x26\x43\x52\xc1\x28\x5c\x41\x85\xaf\x17\xdc\xf1\xb4\x66\x7a\xcd\x6b\x26\x95\xa8\x31\x52\xc0\xda\xc9\xe0\x66\x00\x8f\x63\xe6\xf3\x5e\x99\x8a\xd7\x66\xd8\x9a\x30\xeb\x15\x0b\x97\xf3\x87\x6b\x74\xd3\x0b\xee\xc6\x06\xe4\x20\x1c\x72\xa2\x19\x68\x17\x29\x0f\xc6\x0a\xcd\x38\xc0\x90\x81\x73\x71\x4e\xaa\x20\x26\x96\x79\x60\x07\xce\xc4\x72\x49\xcb\xdc\xaf\xe2\xda\x08\x18\xd7\xa2\x0a\x53\x6e\x47\xdf\x50\x67\x9e\x22\xfc\xe7\x2f\x7f\x70\x9a\x16\xcb\x45\xda\x0b\x09\xc7\x32\x0d\x82\xef\xa5\xa8\x6d\xe8\x78\xb3\x21\x17\x88\x8e\x13\x90\x37\x9a\x03\xb2\x6b\xd0\x3c\x85\x58\xe8\x4a\x97\xf9\xe0\x92\xe5\xd9\xa7\x35\xfc\x3a\x7d\xf6\xea\xe2\xec\xbb\x64\x3f\x9a\xfd\xb7\x1d\x24\x47\x7a\xa6\x4b\x34\x87\x7a\x86\xc3\x9b\x15\xbc\xbc\x25\xa2\x3c\xd0\x84\x0e\xd0\x88\xfa\x1c\x2d\xe5\x18\x2c\x7f\x9b\x9a\x2b\xc5\x4a\xcd\x60\x69\x16\x42\x8b\x7f\x19\xbc\x0e\x5b\xcd\x29\x15\x82\xe6\x90\x42\x39\xec\xec\x99\x6e\xf0\x4c\x37\x04\xd4\xfc\xe4\xf0\x70\x4c\x9e\x1c\x1e\x3a\xaa\x7e\x53\xb3\xc9\x0c\x64\x1d\x51\x9e\xf9\x1a\x1f\xac\x45\xcb\xa6\x60\x43\xc4\x1d\xeb\x5b\x9c\x0b\xa3\x3d\x10\x35\x61\xd4\x3e\x9b\x66\x89\xcd\xe8\xb5\x58\xc6\x33\x63\x38\x86\x11\x2d\xb7\x17\x71\x1f\xfe\x06\x0d\x7e\x4d\x5f\xa4\x92\x99\x29\x63\x96\x16\x48\xa7\x92\x1a\x59\xcd\xa8\xf1\xc7\x43\x86\x40\x1f\x21\xba\x60\x60\x26\x33\x0e\x5a\x34\xbb\x21\x62\xa5\xaa\x15\xda\xf3\x6e\xd9\x56\xaa\x5a\xdc\xb2\x10\x28\x84\x97\x5c\x71\x5a\xf0\x5f\x90\x9d\x35\x70\x94\x96\x69\x5b\xa2\x7c\xe5\x26\xa6\xaf\x97\x05\x78\x68\x35\xf6\xd6\x7c\x9f\x8b\x9a\xed\xfa\x8e\xa7\xe8\xa2\xbc\x80\x51\x75\x7e\xfe\xce\x8e\xb4\xa3\x04\x48\xe4\xa7\x75\x2d\x36\xba\x64\xeb\x30\xd4\x2b\x86\x16\x49\xeb\x02\xeb\x8c\xc9\xa8\x3f\x40\x85\x51\xcd\x34\x6b\x60\xd8\x01\x5a\x14\x62\x63\x57\xd2\xe9\x5b\x83\x7b\x87\x51\xf5\x5a\x57\xbe\x84\x5a\x88\x86\x42\x0b\xe9\x2f\x1f\xfb\xc0\xcc\x58\x51\x68\x91\xbc\xf4\x04\xaa\x7f\x3a\x5d\xe5\x5c\xec\x4f\xec\x4b\x75\xb1\x81\x7f\x8d\x7d\xd5\x28\xaf\xaf\xfe\x79\x82\x65\x53\x45\x25\xf3\xe2\xeb\x70\x50\xd5\x4c\x9f\x18\x2d\xc6\xd2\x95\x12\x03\x47\x6d\xa7\xfa\x5a\x8e\xc6\xad\x6f\xce\xb9\xe6\x08\x21\x73\x9a\x7f\x96\xe0\x96\x5f\xb0\x92\xe9\x47\x2e\x27\x43\xcd\xc4\x59\x88\x51\x5e\x6c\x0d\xb3\x76\x23\x36\xe5\x28\x9a\xf5\xf7\x41\x7b\xaf\xb8\x54\xf1\x43\xf3\xa3\x79\x5a\x36\x0c\x7b\xa9\xf4\x58\xa4\xd4\x77\x77\xc0\xa1\x45\x63\x0a\xb6\x44\xde\x2a\x51\x85\x1d\x3c\x63\x26\x22\x29\xdc\x97\xb3\xf8\x3a\xc7\xc7\xd4\x49\x9a\xc6\xa7\x11\x4c\xcb\xcf\xcf\xcf\xae\xce\xfc\x73\xaa\x3f\x18\xcd\x43\x90\xe2\xa6\x71\x07\x82\x0a\x6e\xc6\x95\x74\x57\x77\xeb\xa6\x15\xbe\x0d\xcf\x44\x9a\x86\x03\xd1\xc0\xa4\x8d\x02\x9b\xbd\xcb\x58\x08\xf9\x99\xf5\x13\x3a\x6d\x25\xa7\x6a\x0d\xe9\x87\xeb\xa6\xd4\xeb\xa5\xe4\xe0\x04\xaf\x55\x34\x90\x1f\xae\xdb\x9c\xdc\xad\xd1\xc0\xd8\x9b\xd1\xd5\x75\x1f\xc2\x16\xac\xbe\x26\x6e\xe7\xdf\x81\x56\x0a\xf2\xf2\xc2\x38\xdb\xd0\x2c\xd2\x3c\x99\x40\x60\xe0\xe1\x78\x9d\x63\xfa\x4c\x26\x61\x27\xc4\x4a\x11\x76\xa7\x77\xcc\xe6\xca\x44\x74\x6d\x30\x60\x39\x7a\x75\x69\xf1\x4d\xf8\xad\x88\x46\xe5\x9e\xb2\x97\x17\x8d\x09\x9a\xcb\x01\x6e\x82\x49\x56\xf0\xec\x76\x92\xd7\x74\x11\x7b\xcb\xa7\xb7\x92\x95\x9a\xe3\x82\x6b\xe0\x79\x4d\x17\x26\x78\x2f\x60\x42\xf0\x39\x12\xd5\xf6\xa2\x34\xd0\x24\x8d\xeb\x0b\x7a\xbd\xd4\xfb\x7b\xa6\x7b\x06\x36\x3c\x59\x06\xbe\x3c\x5b\x29\x05\x38\x0b\xe1\xed\x66\x0f\x8d\x01\x21\x05\xd8\x29\x1b\xc8\x00\x6c\x26\xfa\xc5\xcc\xd8\x0d\x5d\xf3\xe0\x49\xd6\x83\xc6\x72\x3f\x42\x31\xeb\x9b\xe2\x0e\x0b\x0e\x5e\x53\x9b\xb3\xd4\x9d\x6a\x7e\xce\x8a\x00\xd1\x24\x6b\x06\x6f\x86\x96\xbc\x3e\x0c\x7f\x77\x38\x26\x4f\xff\x57\xe8\xff\x60\x5d\x6d\x2c\xa7\x16\xe5\x97\x62\xea\x0d\xca\xe5\xb1\xdc\x0e\xd9\xbd\xad\xc4\x9f\x32\xf4\x86\xe6\x09\xe7\x07\x6d\xf6\xe8\x92\xd1\x7c\x3b\x1c\x1d\x93\x4f\xb1\x50\x13\x22\x2d\x19\x94\xa0\x88\x41\x92\x29\xd5\x42\xc8\xff\xe8\x73\xf6\x80\x10\xe0\x82\x8e\xc8\x00\xfe\x0b\xa3\x7b\x76\x7e\xfa\x5a\xff\x70\x7e\xfa\x1a\xfe\x7e\xfb\xfd\xf3\xf3\x4b\x88\x02\x20\x03\xf7\xef\x41\xca\xbd\xa9\xf9\x28\x05\xa6\x07\xbc\xeb\xf4\x8d\x64\xa3\xb5\x42\xc1\xc5\xa1\x58\xeb\xcb\x66\x25\x59\xe8\x6c\xe6\xcb\xd9\x07\x9d\x3a\xc7\x85\x20\xa1\x1f\x2a\xdf\x70\x04\x28\xee\x90\xc0\xa6\xf7\xc0\x04\x0a\xb4\xb2\xfc\x25\x57\x29\xf2\x57\x0f\xf7\xa1\x11\x96\x1c\x7a\x3c\x3d\x0f\xa4\x08\xf4\xbc\x9b\x93\xdf\x79\xef\xcb\x3b\xe8\x61\x77\x67\x8a\xce\x7e\x34\xc9\x39\x7f\xd7\x86\x02\x4a\xa8\x9c\xda\x80\x52\xfa\x39\x8c\x57\xb7\x0a\xdc\xd6\x63\x4c\xaa\x50\x6f\x65\x53\xcd\x51\x29\x45\x06\xba\x43\x2d\x62\xc3\x75\xab\xc2\x8e\xad\x2b\xae\x87\x11\x64\x9b\x1d\x03\x6b\x2a\xd3\xfc\x91\x00\x38\x5f\xea\x5d\xa9\x12\x6d\x10\xf2\x42\xd4\x1b\x7d\x2b\xcb\x82\xca\x1b\xab\x51\x0b\x95\x86\x06\xb6\x0a\x31\x69\x72\xef\xf1\x0f\xaa\xb8\x70\x00\x76\xd7\x50\x9f\xa7\xb7\x5e\x33\x7c\x5e\x9d\xe7\x7e\x01\x38\xdb\xb5\xb8\x65\x9e\x50\xcd\x78\x6c\xff\xaa\xa6\xa5\xc5\x58\x91\x4e\x33\xbd\x67\x6b\xfd\xd5\x10\x92\x90\x5b\x8e\x71\x34\xac\x2e\x3d\x9f\xfb\x63\x5a\x23\xae\xe3\xf0\xe0\xa7\x83\x83\xc5\x98\x0c\x06\x41\xe8\x9c\xd7\x22\x2a\x0b\x00\x1e\xe2\x6c\xcd\x65\x88\x4b\x85\x3f\x4c\x73\x06\xba\x29\x90\xf3\xa3\x24\x6f\xf3\xc6\xf3\xde\x32\x50\x0c\x1b\xc3\x0c\xa2\x61\xb1\x69\x9a\xe7\x17\x33\xb0\xef\xd4\x72\xa8\xaf\xfb\xb1\x31\xc1\x0e\x68\xa1\x26\x8b\x7a\xa2\x39\x8d\xc1\x91\x5f\x94\x75\x8c\xf4\xbd\x06\xb8\xc7\x55\x51\x84\x6e\xb9\x00\x89\x48\xd7\x7c\x41\x95\xa8\xa7\x05\x2d\x17\x2b\xba\x60\xb1\x15\x5c\xd7\x1b\xb0\x72\xb2\x92\x83\xb0\x2a\x21\x6b\xcd\x6d\x96\xa2\x64\x03\xef\x61\xdd\x70\xea\x70\xc5\xc0\x42\x35\xa1\x85\x0a\xcb\x3e\x88\xea\xc0\xe2\x6e\x2b\x26\xe6\x04\xc6\x3a\x40\x62\x8f\x3a\xd5\x6d\xad\xdb\x46\xfa\x64\xcf\xed\xe1\x7d\x0a\x5d\x97\x1f\x1e\xfc\xd7\x50\x7f\xfd\x08\x9e\x0f\xb4\x50\x1f\x0b\x36\x87\x21\x7e\x74\x83\x1d\xfd\xcb\xc1\x54\x31\xa9\x86\xeb\xd1\x28\xd9\xae\xf5\xc9\xb3\x84\x6a\xf9\x9f\x29\x2d\xd4\xbf\xd7\xaf\x11\x0a\x6d\x6d\x4d\xd5\x0f\xfc\x7e\x69\xf2\x94\x15\xcd\xd8\x84\xcb\xc9\x92\x29\xea\x7f\xe9\xd8\xc3\x64\x1f\xcf\x6c\xa5\x97\xf2\x35\x53\xd4\xfd\xd9\xd1\xab\xe9\xeb\x3e\x3d\x60\xc3\x1d\xed\x49\x56\xe6\x72\xb2\xb9\xa1\x6a\x07\xe1\xe9\x85\x46\xbe\xf3\xe3\xef\x26\x33\xae\x3e\x1a\x97\xe0\xc9\x2d\xdb\x76\x2f\x30\xd6\xd8\xb3\xc4\x57\xba\xff\x1f\x35\xcf\x98\x18\xdf\x2a\xd7\x6f\xf9\x04\x04\x21\x90\xb6\x3a\xc6\xa8\x0f\x3b\xad\xb7\x40\x59\xf0\xc6\x0c\x0f\xfe\xab\xe0\xb3\x89\xb5\x4a\x1e\x0d\x7f\xba\x7a\x3c\x3a\x88\x9c\xe5\x69\xbd\x8d\x42\x18\xec\xe0\x3a\x25\x2c\x59\x67\x49\x8e\xa5\xe3\x7f\xa1\x55\x74\xba\x60\xea\x39\x55\xf4\x6d\x5d\xe8\x7e\xdf\x3d\x79\x3f\xea\x26\xfa\x9e\x23\x21\xeb\x51\xec\x27\xef\x96\xcd\x48\x4d\x93\x50\xa6\x82\x35\xdc\x79\xb5\x3c\x7a\x44\x42\x39\x2b\xb9\x36\xdd\xf2\x58\xb4\x2e\xe1\xf7\x69\x20\xef\x9d\xe8\x2b\x61\x51\xd3\x52\xb1\x3c\xb8\x44\xd0\x25\x68\x5f\x1f\xf1\xc5\x75\x70\xa0\x7b\x61\x47\x3e\x55\x3f\x78\x82\x47\x3d\x1b\x7c\xc8\x37\x7e\x00\xa0\x31\x36\x89\xfb\xe3\xc6\x4c\xd8\xae\xae\x02\x81\xf4\x08\x3d\xe9\x13\x56\xd5\x4c\x6a\x8e\x46\xcc\x09\xc5\xd8\x7a\x4c\xdc\x4f\x86\xe0\xe8\x4f\x25\xa1\x65\xdc\xa0\x28\x41\xec\xb0\xe2\xd5\x08\x79\x32\xfd\x10\x90\x82\x4b\xa5\x25\x27\xd4\xfe\xd4\xab\x44\x36\xe6\xa0\xa5\xb8\xd9\x53\x88\x8e\x13\x73\xb2\x11\xf5\x2d\xa8\x2d\x6d\x4a\x0d\xcd\xf6\x58\xf0\xe2\x40\xb0\xa6\x24\xe7\xb4\x10\x0b\x87\x10\x1b\xb6\xe6\x1e\x48\xe0\x61\x28\xf9\x0a\x45\x25\x25\x26\x66\xed\x26\x7e\xf7\xbe\x22\x33\x90\x54\xc2\xd1\x59\x50\xe3\x0d\xad\xcb\x61\x37\xdd\x81\x21\x52\x8b\x64\x0e\xef\x1a\x0c\x44\xa0\x0e\x18\x74\x67\xb7\x1e\xf4\x51\x15\x0c\x46\x9d\xaf\xd1\xbd\x08\xd8\xca\x48\xc9\x13\xe5\x35\x62\x13\x50\x88\xee\xbb\x7d\x25\x83\x6b\x3d\x50\x92\x0d\xd7\xa3\xe3\xce\x36\xf9\x92\x2e\xf6\xbe\x19\x91\xcd\x27\x6c\xff\xa5\xae\xbd\xb3\x7d\xb0\x4d\x7d\x6e\xf3\x60\x77\xdb\xd5\xba\xd5\xba\x7c\x76\x0f\x6f\x4c\x03\xe9\x5e\xf0\x89\xc5\x67\xea\xfe\x0f\xac\xab\x01\xef\xcc\xae\xc7\xd5\xf1\xd2\x93\x25\xad\x26\x56\x6e\x93\xbb\x5e\x45\xcf\x90\x69\xb1\x76\xed\xac\xcc\x62\x4e\x2e\x40\x71\x31\x4a\xc1\xab\xe3\x61\x79\x13\x09\x12\x41\xcf\x90\xb6\xda\x69\xe7\xac\x2d\xb5\xec\x3e\x28\x03\x54\x92\x1c\xe9\x12\xc1\xa3\x10\x46\x06\x90\x08\x92\xdd\x2e\xd2\x5a\xf9\x38\xf2\xd7\xb4\x32\xd1\x0e\x9e\x1d\xeb\x2e\x28\x99\xba\xb0\x0b\xd4\xde\x35\x14\xac\x27\xa0\xfc\xef\x71\x52\x02\x6d\xf9\xf0\xe1\xc3\x9d\xad\x4d\xc0\x86\xd0\xd1\xa6\x7d\xc8\x82\x5d\x38\xad\x6b\xba\x25\x8f\x1e\x45\x0b\x67\x19\xd4\x77\x87\xef\x81\x47\x45\xef\x98\x41\x67\xb1\x27\x51\xb1\xf8\x19\x52\xb1\x32\x21\x36\x4f\xac\x5b\x3c\x75\x8b\x3f\xbe\x7f\xa3\xef\xd6\x63\xb2\x7e\xbf\x93\x5b\x3f\x38\x20\x2f\xa8\x54\xc6\xfa\xe2\xad\xff\xb4\x24\xac\xae\x45\x3d\xed\xdd\x57\x60\x5f\x71\xfd\x25\x77\xa7\xef\xad\x78\xe6\x4d\x46\x09\xba\xd1\x3f\x4f\x2a\x5a\x30\xa5\xd8\x17\x3a\x81\xad\x9f\x81\x24\x7a\x9e\xcb\xf4\x78\x82\x33\x49\x81\xbe\x44\xfd\xe5\x0e\xa7\x77\xb9\xc3\xff\xbc\xc1\xde\xc9\x49\xf8\x45\x2a\x91\xdd\x9e\x05\x9f\xa7\x99\x28\x33\x6a\x91\x0a\xdd\x51\x08\x67\xe9\xd2\xea\xdc\xb2\xad\xe6\x05\xd6\x0d\x41\x90\xd6\x84\x6b\xb9\x9a\xd6\x92\xbd\x2c\xd5\x50\x73\xf6\xc7\x41\x01\xdd\x20\x97\xdf\xd3\xef\x87\x7c\xa4\x17\x95\x93\x6f\xc9\x21\xfe\xe3\x0f\xe4\xe9\x37\xdf\xc4\xcd\xc5\xf9\x0e\x06\x2f\xcb\x35\x2d\x78\x4e\xd0\x2d\x98\x97\xc4\x2c\x2a\x2e\x8b\x1e\xd1\x63\x32\x30\x6b\xf4\xee\x96\x6d\xdf\x47\x5d\x37\x53\x16\x34\x96\xcc\x4d\xf7\x1d\x7f\xdf\x1c\x05\x24\x01\x5a\xcc\xe2\xe5\x2b\x45\xbd\x04\xc5\xe6\xd9\xd5\x15\xd6\x8a\x7b\xd3\x8d\xd5\x8b\xd9\xa8\xb1\xa3\x1d\x5b\xf3\x8e\x03\x12\xfa\x62\x16\x0f\xae\xf9\xaf\xf6\xf5\x1b\x3b\xff\x40\x98\x82\x77\x47\xc4\xbb\x38\xdc\xe3\xc4\xbd\xdc\xf4\x4b\xea\xdd\x46\x70\xe4\xaa\xed\x44\x94\x13\xb4\x86\xed\x3b\xc0\x0d\xa5\xf7\xc3\x87\xcd\x37\x74\x25\xd9\xc4\x28\x77\x27\xa8\xa7\x9e\xe8\x3a\xfb\xda\xed\xd0\x5a\xb7\xdb\x07\xc5\xf5\xc4\x99\xee\x26\xe0\x8a\xd0\xab\x8b\x6e\x95\x77\xa2\x17\x55\x17\x93\xaa\x58\xc9\xc9\x92\x97\x2b\x39\xf9\x85\xd5\x62\xf2\x8b\x10\xcb\xde\x5c\x87\x6e\xe1\x4d\xb1\x92\xaf\x75\xfd\xff\x64\xb5\xf8\x4f\x01\xb0\xa3\xc9\x9e\xb2\x5e\x13\x88\xda\x3e\x33\x63\x4f\xb6\xb7\x9e\xa0\x1f\xd0\x7d\x1a\xfc\xc1\x1a\x29\xd6\x2d\x22\x6b\xb0\x6d\x67\xae\x74\xfb\x02\x67\x54\xaa\x09\x95\x9c\x96\x13\xba\x9c\xf1\xc5\x4a\xac\xe4\x84\xca\x89\xda\x08\xfd\x42\xac\x96\x5d\x3c\x22\x7a\x0c\x4f\x6b\xb6\xa0\x75\x7e\xf6\x97\xdb\x53\x5b\x3b\x31\x47\xb4\xcf\x4c\x40\x0f\x31\xd1\x17\x43\x2d\xba\x04\xdb\x90\x81\xc1\x6a\xbf\x7b\xc6\x21\x16\xa8\x16\x45\x72\xeb\x4d\xe3\x33\x51\x74\xa9\x1a\xfc\xba\x6c\xcb\xec\x99\x28\xf2\x2b\x3a\x67\x57\x8a\x26\x0e\x57\xd0\x98\x5e\x85\x19\xe8\xa4\xf6\x35\xbb\xfb\x56\xc0\x26\x75\xb7\xa7\xf2\x19\xba\x97\x07\xd3\xb8\xc7\xd5\xb0\xbb\xa1\xd6\x14\x7a\xb1\x72\x7a\x41\x74\xc1\x9d\xab\xe1\x22\x9f\x27\x9b\x9a\xef\xa7\x52\xb7\x73\x67\xb6\xde\x8f\xba\xda\xae\xc1\xe6\x2c\x7b\xf2\xb4\x77\xbb\xcf\x75\xe9\x64\x73\x73\x51\xaa\xc9\x9c\x2e\x79\xb1\xf7\x70\xea\xa9\xbf\x10\xa5\x7a\x01\xa5\x5b\x53\x87\x96\x7a\x09\x61\x4c\xe9\x66\xd2\x22\x17\xb6\xb2\x14\x08\x4f\xf6\xab\x87\x64\x7d\x38\x7a\xf3\x6e\x2f\x62\xb7\x8f\xf6\x00\x6f\xc4\x92\x4d\x6e\xd9\x56\x4e\x8c\x2f\x63\xdf\x1b\x48\x57\xfc\x8e\x6d\xa5\xb3\xb5\x36\xb7\x42\x97\xd4\x7c\x6c\xb9\xe8\xe2\x06\x13\x92\x9f\xa9\x80\x57\x7f\x83\x35\x7a\xb8\x1e\xb5\x38\xb1\x06\x5f\xd9\x4f\x98\x03\x86\x7a\x38\x38\xd7\xff\xd1\x8c\x4d\x30\xd2\xc0\x8e\x73\x44\xce\x01\x40\x8b\xe5\xc6\xa2\x3d\xe8\x21\xa6\xd5\xdb\x94\x06\xa3\x3d\x3f\x9a\xe7\xcf\xcc\xbf\x87\x81\x4e\x90\x64\x14\xb1\x87\xee\x7e\xcd\xb8\x35\x4b\x16\x64\xa2\x6a\x70\xff\x4b\x7a\x37\x41\x15\xff\xc4\xfa\x23\xf4\x38\x78\x4b\x7a\x87\x61\x7d\x57\xd6\x87\xa1\xbd\xe3\x90\xa0\x19\x89\x89\xd6\x6c\x32\xd7\xff\xea\xbd\xf5\x50\x59\x13\xd4\x69\xcd\x5e\xe8\xff\x26\x3b\x50\xd4\x68\x15\x8c\x9e\xba\x7f\xeb\x8a\x82\x36\xe1\x1c\x3d\x31\x12\x6d\x83\xdb\x01\x9a\x20\x50\xa3\xd6\xeb\x45\xee\xf0\x1b\x48\xb7\x0e\x2d\x4e\x50\x25\xd7\xe7\x2e\x78\xdd\x70\x38\x68\xdd\x08\x15\x5d\x7c\xde\xe9\xd5\x15\x77\x9e\xde\x8a\x4a\x39\xa1\x85\x9a\x18\x69\xf7\x9e\x06\x2e\xcd\xc3\x0b\x79\xe7\x3d\x6c\xbd\xb5\x6b\x25\x59\x7d\xba\x60\xa5\xb2\x5a\xff\xd7\x34\x23\x17\x57\xe4\xcf\x07\xfe\xb8\x83\x3c\xfc\x8a\x29\x72\x5a\xa8\xc9\x93\xe9\xf4\xf7\x06\xbc\x51\x44\x60\xbe\x43\x25\x88\x61\x26\xd0\x89\x15\x90\xbb\x20\xf9\x87\x28\xc3\x96\x4a\x51\x4e\x74\x0f\x44\x6e\xa5\x62\xe0\xca\x08\x59\x86\xc0\x26\x68\x45\x43\x51\xb1\x12\x63\x0b\xb5\x90\x58\x55\x76\xe4\x7e\x4e\xe4\x84\x0c\x1f\xea\x59\x3d\x7a\x64\xcc\x89\x58\xe4\x7a\x5b\x41\x72\xb3\x41\x25\xaa\x55\x35\x18\x75\x6b\x6f\xf4\x2c\x4e\x0b\xf5\x3d\xc6\xf6\x74\xac\x3a\x30\x84\x7f\xdf\x65\xd7\x0c\xe3\x7f\xb7\x75\xd7\x73\xda\xbd\xf0\x70\xbd\xfc\x7d\x17\xfe\xb5\x1e\xc2\xaf\x5f\xf8\x2f\xb4\xe8\xbf\x7a\xcd\xf5\x74\x7a\xac\xf9\xfa\x1e\xf7\x16\x36\xfa\x43\xa2\xbd\x9a\x65\x8c\xaf\xd9\x84\x95\x99\xc8\xbb\xb9\x2d\xc3\x2c\x1c\xfc\xd7\x70\xa5\xe6\x93\xdf\x7d\xac\xe9\x66\xf4\x2f\x07\x23\x67\x0f\x0d\xb5\x11\xb1\x9a\x29\xd6\x88\xcc\x45\x4d\xbe\x6a\xf6\xf9\x55\x5b\x69\x84\x76\x55\xe8\xcb\xdb\xcf\xbc\x22\x24\xa9\xb0\x3d\x37\xcd\x25\x66\x69\x60\xa6\x45\x39\x71\x5e\xc3\xfd\x94\xf8\x0d\xe7\xdd\xee\x76\xd1\x31\xb9\x6f\xa3\xde\x61\x38\xdd\xe2\x8c\xd6\x13\xe3\x35\xdf\x83\x5f\x6d\xc6\x3f\xb7\x19\xd6\x10\x66\x7b\xb2\xa4\x5b\xe0\x07\x26\xb4\xae\xc5\x66\xd2\x87\xe1\xe8\xf2\x53\xee\x58\x0f\xd3\x8f\x58\xb3\x89\x0f\x2d\xee\x3d\x91\x76\x64\x73\x62\x42\x7a\xfc\x7f\x4b\x9a\x8d\x3a\xfc\x15\x04\xeb\x95\x11\x7d\xc8\xf6\x86\xcf\xd5\x04\x23\x77\xee\xa9\xeb\x80\xaa\x98\x51\xb7\x8b\xbd\xb2\x95\xf6\xad\x63\x78\xd8\x24\x53\x76\xbc\xed\x4d\xd1\x97\xf6\x24\x93\x3d\xa9\xc9\x29\x5a\xde\x4a\x56\x9f\x49\xf9\xb6\x2e\xba\x9b\x9c\x68\xa9\xfe\xf3\xda\x05\xb8\x93\x56\xc3\x1b\x51\xe7\x13\x80\xdb\x9b\xc0\x0b\x33\x29\xd8\xfc\xbe\x2a\x0b\xdd\xc6\x33\xdd\xc4\x6b\xdd\xc2\x2b\x36\x57\x49\xbd\x52\x4b\x43\xb1\xab\x5e\xf7\x00\x3f\x47\xa9\x12\xf7\x74\x69\xb4\x1f\xf7\x1e\x62\xa3\x62\xf7\x18\x97\x3c\xcf\xf7\x5f\x59\x3b\x07\xf9\x1a\x9a\xf8\x9c\x51\x36\x6b\x7e\x1a\x3f\x20\x80\xdd\xd1\x70\x4e\xab\x19\xcd\xaf\x30\xbc\xa4\x8d\x11\x12\x16\x04\xfb\xfb\xf6\xb4\x28\x9c\x4c\xad\x6f\x94\xc8\x69\xcf\x0c\x31\xfc\xcd\x80\x2d\xb5\x1d\x77\xe3\x14\x34\xb2\xe1\x01\x29\x6d\x74\x0a\x7a\xb0\x22\x86\x5e\x39\xe7\x0b\x0c\xea\x6a\x46\x1f\x7e\x1d\x41\x98\x77\xf8\xe9\x7d\xda\xed\x9f\xb8\x60\xea\x0d\xc4\xe6\x74\xe5\xdd\x09\x16\x23\x4e\x26\x0c\x0a\x25\xcd\x22\x59\x70\xca\x59\x4d\xb3\x5b\xa6\xc5\x7e\x44\x2c\x59\x8a\xbc\xe5\x0f\x3a\x13\xa2\x60\xb4\xfc\x64\x90\x36\xae\x6f\x98\xb9\x60\x95\x20\x18\x16\xb7\xc7\x99\xf2\x99\xed\xc4\xde\x68\x9d\x28\x1f\x36\x4a\x61\x3a\x6b\x56\x81\x92\x49\x48\x12\x0c\x00\xb3\xde\xb2\x2e\x02\xcc\xa2\x15\x6e\xc5\x2a\x80\x56\x91\x4c\xd9\x58\x9b\x8a\xd5\x92\x4b\x35\x06\x00\x63\xee\x21\xf2\x71\xdd\xc6\xa4\xa6\x06\x1a\x81\x62\xf2\x63\x74\xa2\x75\x5e\xc9\x5d\x5e\xb3\x38\x9c\x6b\x37\xb0\xbe\x8b\x14\x18\x1e\xc3\x15\x82\x46\xe2\xcc\xb7\x61\x48\x1b\x7c\x3e\x4e\x44\xe6\x19\xa0\x94\x46\xa4\x54\x9f\x1a\xa2\xce\x59\xdd\x28\x9d\x4e\xc4\xd4\x08\xf5\xc3\xf9\x52\x00\x5b\x45\x50\xa4\x88\xd6\xcd\x02\xed\x25\xed\x8e\x85\x68\x13\x78\xb8\x14\x7b\xc8\x1c\x03\xae\x30\x0f\x14\xe4\xae\x0e\x00\xc8\xca\x66\x94\xc5\x97\x25\xfe\x2b\x9f\x8c\x5f\x0f\x25\xdf\x45\xfe\x5d\x91\x1d\xdd\xc4\xef\xf7\x17\x97\xff\x9f\x90\xf0\x9f\xb5\x48\xb4\x93\xf8\x13\x71\x7f\x5d\x56\x53\xac\x7a\x9c\x06\x53\x68\xda\x1a\x7c\xa4\x88\xb4\x00\x6b\xc9\x38\xc2\x71\x7a\x18\xdd\x38\x0c\xbf\x59\x47\x9d\xae\x4a\xa8\xf9\xb6\xb3\xdf\x7d\x6e\x7d\xd0\x5d\x17\x15\x95\x8a\x95\xb9\x79\xd5\xe0\x04\x39\x3c\x0e\x84\x7e\x49\x47\xab\x42\xd4\x14\x0b\xc2\xa5\x2c\x7a\xb0\xfc\xe0\xe3\xa5\xbe\xfe\xac\xcb\x61\x07\xb1\xb4\x2f\x88\xe6\xf2\x25\x4f\x90\x5f\xfa\x7f\xda\x13\xd4\xb0\x7b\xec\x3a\x41\x89\xc8\xd8\xff\xef\x04\xa5\x6c\x47\xf7\x3c\x41\x9d\x54\xf4\x0f\x77\x82\x76\x10\x4b\xfb\x04\x35\x57\x35\xc6\xc9\x86\x98\x61\x42\x21\xe2\xc4\x1a\xa3\xd0\x01\xd9\xad\x8b\x41\x29\x00\xd7\xe2\x7a\x55\xea\xc3\x62\x3c\x79\x21\xac\x09\xa2\x98\xea\x05\x02\x5a\x78\xa6\x21\x1d\x0c\x64\xda\x3a\x03\x28\x24\x3c\x25\x31\xf2\x55\xbb\xdf\x69\xea\x98\xd1\x7a\x81\xd6\x1d\x68\xa4\xd1\xbd\xcf\x9d\x24\x2c\x98\x95\x6d\x68\xc7\xba\xd6\xab\xf2\x2c\x1c\x5d\x74\x02\xfd\xef\x63\xdf\xb7\xcf\x2c\xc4\xca\x35\xaf\x45\xb9\x0c\xd0\x3f\x8d\x1c\xb3\x60\x6a\x38\x08\x3e\x0f\x7c\x06\x2c\x74\xd1\x0b\xab\x3e\x3c\xb1\xae\x5c\x03\x00\x90\x0c\x5b\x35\x2a\x5c\x38\x2f\x71\x77\x7f\xfd\xd4\x05\xc8\x68\x82\x48\x71\xfb\x30\xaa\x28\x9c\x8a\x3d\x7c\x7f\xf5\x53\x3a\x0a\x56\xf6\xe3\x47\x32\x08\x62\x11\xb8\x38\xb2\xf1\xb1\xd3\x6a\x25\x6f\x86\x23\xff\x2d\x18\xd0\x51\xf8\x87\x2f\x21\xca\xf3\x3b\xae\x8e\xc2\x35\xf5\x39\x97\xf0\x7f\x00\xde\xa8\x1b\x17\xd5\x30\x72\x96\x82\x0f\xab\x12\xc8\xb3\x28\x5c\x94\x70\xcb\x73\x0c\x11\x22\x83\x75\xcf\x0a\x21\xd9\x44\x94\x13\x76\xc7\xd5\x60\xd4\xf4\xb5\x32\x2a\x64\x28\x35\x4c\x79\x78\x87\x39\x79\x53\x9d\x87\xeb\xab\xe9\x27\x99\x34\xdc\x78\xa5\xf3\x79\x9c\x71\xc5\x40\x46\xc9\x08\x96\x0c\x7f\x1d\xa3\x9b\x38\x5e\x32\x1b\xee\xa3\x33\xdd\x45\x61\x39\xda\xdd\x14\xcd\xe5\x9b\xf0\xc2\xdf\x7d\x4d\x38\xd0\xa8\x0e\xd4\xa8\x60\x5e\x2f\x71\x2d\x60\xe4\xcd\x08\x6f\x23\xc4\x25\x04\x66\x1f\x33\x69\x30\xf4\x23\x4b\x01\x44\x12\x4a\xc6\x10\x24\x65\xeb\x11\x26\xf4\xa3\x8d\xc8\xfa\x10\x58\xf0\x75\xd4\xee\xae\xc9\xc7\x1b\xd6\x9e\x7c\x14\x87\xde\xda\xdf\xd6\xfb\xb2\x60\xea\xb9\x81\x5a\x18\x8e\xa6\x33\x91\x6f\xf5\x66\xbb\x35\x79\x6b\xc9\xf3\x1e\xab\xb2\x63\xf4\x2d\x6a\xbf\xef\xf8\xe1\xb2\x08\x07\xa8\x79\x25\x4a\xce\xae\xae\xf4\x45\xc1\x0d\xde\x0f\x7c\xf9\x1e\x38\x86\x62\x8b\x03\xe4\x12\x95\x20\xc8\xb8\xb8\xc2\x32\xca\xc8\x08\xf1\x9e\xe0\xe3\xde\xc5\x07\x41\xa8\x29\x4a\x5a\xd8\x40\xc0\x09\xb5\x0a\xa3\x34\x16\xc9\x65\x54\x42\xc6\x30\x73\x83\x87\x43\x6e\xd4\xfe\xa3\x45\x8c\x63\x73\x7e\x17\xf7\xe8\x06\x79\x60\xbe\x62\xa0\x7b\x0f\x39\x5e\xca\x1f\x68\xf4\xac\xea\xa6\xc6\x38\xba\x7b\x44\x67\x39\xfd\x14\xf6\x7f\x32\x98\x4c\xa0\xdb\xc9\x20\xd8\x42\x0f\xe0\x61\xff\x65\x20\x3c\x8c\x30\x8f\x91\xac\x90\xac\xd7\x5e\xd8\x3f\xff\xcb\x5f\x7d\xab\x9f\xfe\xe5\xaf\x7a\x74\x9f\x7e\x36\xe3\x4b\x83\xbe\xce\x85\xc1\x62\xeb\x3e\xa0\x67\x9a\x7a\x43\xe7\xa0\xc3\x11\xa2\xc3\x68\x3a\x30\x1b\x61\xf1\x01\x5c\x73\xd1\xe9\xb6\xcb\xe5\x12\x6f\x12\x88\x33\xd8\xba\x11\x80\x7f\x52\xa0\x78\x6b\x52\x8f\x4d\x07\x58\xe1\x4e\xe6\x4c\xf2\x1a\x18\x2f\xd3\xdb\x98\xb8\xfc\x80\x7d\x58\x6a\x9c\x47\x14\x00\x7c\xe7\x01\xa2\xab\x3b\x88\x15\x33\xa9\x71\xaa\xbb\xd4\xcb\xed\x9d\xaa\x46\x51\xbe\xf0\x98\xed\x34\xeb\x55\xdd\x45\xc0\x05\x48\x45\x43\x88\xf9\xd0\x4d\x4c\x20\x2f\xb1\x45\x4e\x0b\x1b\x89\x13\xed\x61\xfa\xe2\xc7\x64\x50\xdd\x0d\x76\x37\x88\x29\xf9\x52\xf1\x82\x7b\xba\xb0\x29\xde\x6d\x1f\x01\xc1\xfc\xbb\x55\xc9\x99\x87\xaa\xb5\xd3\xcd\xdc\x8d\x3d\xb8\xd5\xf6\x3e\x24\xdf\x9f\xf0\xae\x75\x8b\xda\x63\x74\xe8\x3e\xf7\x2b\xb8\x69\xeb\xc0\x76\xef\x11\x7a\xbf\xb7\xc4\x91\xd3\x77\xed\x57\x81\x7f\xdf\x57\xf7\x7e\x05\x62\xf7\xba\x8e\x27\x20\x41\x8d\x66\x58\x69\x6a\x36\xce\x86\xa3\x1e\xf7\x58\xc7\x71\x70\xde\x81\x21\xd6\x5f\xca\x51\xb5\xb5\x28\x29\x4c\x92\x28\xb3\x7b\xdb\xed\x08\x6e\x8b\x31\x08\x19\x2b\x25\x30\xdb\xa9\x66\x12\xf8\xdc\xc1\x06\x6d\x7b\x2c\x63\xd3\x33\xa9\xbd\x98\x90\xa8\xc4\x7e\x6b\xcd\x3c\xe1\x0f\xd5\xe4\xe4\x6d\xe5\x76\xc4\x4d\x17\x18\x0b\xd6\x40\xc6\x33\x91\x61\x05\x83\x8d\x77\x38\x66\xfc\x34\xfc\xf3\x93\x27\xc7\x3f\xc9\xc7\x41\xe4\x31\x18\x5e\x75\xcd\x8f\x1f\x09\x46\x01\xc3\x88\xce\xea\x8b\xab\xbd\xe3\x79\x72\x8c\x09\xb8\xd0\x98\x63\x14\xae\x2e\x1e\x33\x0a\x02\xea\x6a\xe2\x29\x36\x81\x56\xab\x56\x0b\x7b\x0c\x19\xa2\xc8\x63\x72\x08\x9c\x9b\x91\x0e\x5a\x44\xa0\x5b\xba\x0f\x1d\x44\x34\x9a\x26\x02\xef\xb5\x9c\x96\xe5\xbc\xf3\xb6\x5b\xf0\xa0\xca\xc3\x86\xb3\x4d\x0f\xc5\x4b\xd4\xa1\xff\xe3\xd8\xd7\xef\xef\x68\x9d\x68\x21\x41\x59\xa8\x24\x0a\xb3\xea\x87\xb7\x88\xc9\xd9\x95\x48\xb8\x85\xc9\x7c\x8a\xfc\x5e\x35\x07\x76\xad\x6c\xee\x4a\x69\x37\x41\x53\xb7\x1b\xc9\x94\xfd\xdf\x15\x2d\xe4\xd0\xb6\xef\xa9\xd9\x57\x70\xc9\x2d\x23\x97\x01\x98\x77\x80\x52\x62\xe8\x29\x3f\x22\x30\x4e\x7d\x34\x75\x89\x0d\x3e\x7a\x39\x47\x30\xdb\x64\x34\xd5\x00\xe4\x10\x1c\x14\xe0\xa1\xb8\xe7\x85\x70\x79\x94\xae\xb3\xef\x71\xf0\x09\x60\xee\x4b\x0b\x7e\xe2\xbd\x75\x6b\x9d\xf5\x77\x9f\x3c\x08\xe2\x4b\x1e\x3d\xf8\xa2\x0f\x40\x9f\xc3\xe5\x1c\xf3\xbb\xde\x2a\xcf\xc4\x94\x22\x67\x93\x7c\x55\x43\x08\x6a\x27\x0b\x93\x3a\x79\x10\x26\x30\x22\x7f\x24\x83\xc3\xe9\xbf\x49\xc8\x15\x70\x38\x48\x3f\xc1\x78\x01\x59\x94\x26\xc0\xae\x8f\x26\xd9\xd2\x01\x5a\xdb\x69\x9f\xd7\xe4\x0a\xda\xdb\x3b\x51\x03\x0f\x86\x21\x8c\x30\x86\xce\xd9\xae\x95\x71\xcf\x05\x64\x40\x27\x8a\xaf\xd5\xf4\xf5\xc5\xdb\xab\xf3\x0f\x97\xe7\x6f\x2e\x2e\xaf\x3f\x3c\x7f\x79\x75\xfa\xec\xd5\xf9\x73\xf2\xc7\xf4\x13\x3e\x58\xd3\x7a\x68\x45\x8d\xa8\x7b\x4d\x2c\xa3\x01\x39\xba\x6f\xbd\x4a\x00\xf4\xda\x68\x90\xd4\xa6\x52\xc4\x09\x13\xf3\x94\x45\xd1\x06\x6e\x77\xd8\xcd\x2f\xc5\xe6\x4c\x14\x9f\x80\xdd\xc7\x7f\x1b\xe5\x28\xa9\x99\x81\x90\xb6\xb9\xf2\x6c\xc3\x61\x8b\xbb\xf6\x89\xae\x99\x81\xec\xeb\xa3\xf8\x30\xa6\x48\x1b\x26\x3e\xcd\x0a\x51\x36\x99\x98\xa4\xf6\xf8\x4e\x85\x78\xf3\x9f\xcb\x84\xc6\x79\x02\xfa\x8d\x38\x3e\xfa\xc9\x03\xd0\x35\xbc\x86\x00\x1e\xb7\x84\x3a\x55\xff\x67\x5f\x1b\x46\xf7\x1c\xe2\xf6\x13\x29\x41\x54\xb3\xea\x8e\xb9\x25\x76\x21\x4a\x1e\x39\xa7\xa0\x4d\xa6\x55\x55\x70\x0f\xee\xdc\xe9\xbf\x61\x65\xce\xeb\xdd\xed\xed\x99\xfe\x82\xa9\xff\x14\x62\xf9\x02\xfb\xee\x2d\x47\xc4\x62\xd9\x2f\xae\x85\x58\x49\x0f\x18\x60\x38\x0b\xae\x0a\x9f\xae\xc3\xce\x69\x20\xbd\x3b\x6c\x7a\x7f\xa1\xda\xb5\x6b\xa0\xef\x8e\x62\xa4\xe4\x35\xd4\x09\xb7\x53\xff\x80\x13\x6b\xe0\x51\x4f\x95\x29\x0b\xff\x6d\x6c\x1b\x40\x33\x23\xae\x1a\xa4\xda\x2a\xb6\x06\x34\xb3\xeb\xaa\x30\xb3\x88\x6f\x0a\x53\x58\x4f\xc6\x41\x71\xa2\x9a\x42\x37\xbf\x4f\xc9\x8f\xa5\xda\xf7\x02\xb6\xea\x99\xc0\x5a\x6c\x8c\x5d\x6d\x3e\xcd\x0a\xba\xac\x4c\x89\x69\x2d\x36\x63\x72\x38\x0e\xc9\x37\x14\xa9\x27\xe4\x89\xe3\x94\x30\x1a\x31\xdd\x0c\x7e\x4b\xb6\x84\xf2\xbf\x6d\x28\x3a\x26\xce\xc7\xc4\xa1\x59\xc0\x70\xb0\x31\xc7\x30\x45\x5d\x90\x3f\xd8\x71\xb8\xcc\x90\xf1\xf7\x93\x13\x5b\xe0\xd1\x23\xfb\xc9\xe6\xe6\x89\x98\xd8\x8e\x8b\xd2\x96\x75\xc0\x8e\x0d\x3e\xff\xac\x80\x1c\xfc\xce\xaf\x67\x20\x89\xab\x32\x2f\xe8\x62\xcf\x8e\x41\x60\x15\x4e\xfa\xc2\xf7\xd4\x21\x08\xef\x19\x9f\x41\x5f\x89\xef\x49\x19\x8c\x0d\x91\x1c\x3b\x0e\x11\xc2\x60\x43\x3e\x00\xf8\xd7\xfd\xbc\x82\x2c\x04\xa4\x77\x1c\xd1\x3f\xb4\xbc\x82\x1c\x8e\x36\x7c\x3e\x0e\x52\x84\x6a\xce\x01\x9b\x82\x9c\x82\x9f\x52\x3a\x91\xd6\x14\x3e\xcf\x71\xa7\x35\xd6\x2e\xc7\x1d\x1c\x6d\x53\xcd\xac\x07\x83\x44\xdc\xc0\x0c\x1f\x23\x26\xbb\x7d\xd0\xdf\xbe\x74\x70\x8d\x5d\x8a\x40\xa4\xcc\x33\xb1\x2a\x55\x8f\xcb\x0a\xa1\x1c\x43\xc3\xb9\xad\xec\xb5\x7e\xc1\x8f\xcd\xb8\x08\x65\x93\x0a\x18\xcd\xeb\xc6\x34\x38\x78\x72\x78\xf8\xaf\x83\xa4\x30\xd5\x55\xe5\x35\x55\x37\xd3\x8c\xf1\x22\x32\x70\xef\xd3\xf9\x7d\x6d\x0f\x68\x30\xc6\xc7\x89\xaa\xf8\x4a\x39\xd7\x73\x98\xf8\x9b\xbb\x91\xd1\xe7\x1d\x27\x91\x55\x83\x36\xbb\x2e\xaf\xf0\xbe\xb9\x61\xf9\xaa\x60\x57\xdb\x32\x8b\x2f\x9c\x0f\x1d\xca\x2e\x73\xfd\xfd\xea\x0d\xaf\xf5\x2d\xaf\xe7\x7d\xed\x1b\xe5\xa5\xcd\xa7\xb1\x87\x02\xfe\xc4\x8c\xb3\xac\x23\x01\xdb\x9c\xdf\x7f\xd7\xc1\x9e\xcd\xbf\xb1\x6d\xdd\x63\xf7\x6d\x9d\x7e\x7b\x6e\x4a\x7f\xed\xe7\xbc\x6b\xff\x92\xaf\xc4\xd8\xd5\xfd\x9c\xbd\x7b\xce\x2c\x28\x97\x93\x7f\xc2\xfc\x2c\x3d\xce\x24\xa2\x8a\xba\xc4\x4f\xf8\x45\x4e\xf7\x6e\xac\xaf\xd2\x63\x63\xc3\x65\xe8\x38\xde\xc1\x3a\x24\x0f\x7a\x9c\x7a\xde\xaf\x5f\x00\xcc\x69\x7a\x81\xb3\x14\x9d\x16\x9f\x89\xd8\x4d\x21\xd1\x9c\x39\x41\xad\xf6\x90\x24\x3f\x0c\x83\x7d\x32\x89\x34\x58\x99\x83\x45\x3e\x5e\x7b\x25\x48\x55\xac\x16\xbc\x0c\xe0\xa8\x23\x50\x5c\xd9\x3e\xcd\x41\xdb\xbb\x77\x17\x6f\x99\xc6\xf6\x26\x2c\x37\x9b\x1b\x8a\xa8\xe1\x16\x4c\x38\x17\x25\x4b\x00\x09\x47\xed\x41\xb6\xed\x95\x42\x4b\xee\xaa\xcc\xc1\x9b\x7a\x4a\xc8\x4b\xe5\xf2\xbc\x03\x32\x5e\xe0\x58\xa5\x4f\xb6\x4b\x63\x33\x1c\x59\xd0\x3c\x98\x37\x24\x27\x13\x79\x9c\x77\xbc\x5e\x95\x24\x42\xb1\x83\x0c\xee\x98\x1e\xb3\xaa\xc5\xa2\xa6\xcb\x25\x55\x3c\x73\xb0\xb9\x62\x1e\x9a\x8c\x71\xc0\x76\xe2\x97\xac\xd8\xea\x9b\xc9\xe8\x02\x2c\xcf\x0f\xcf\x7a\x99\x93\x15\x60\x19\x01\x68\x5e\x94\x98\x9f\x2c\x19\x2d\xa5\xcb\x88\x2e\x14\x99\x81\x5d\xda\xd8\x47\x33\x51\xd7\x5a\x7c\x45\x5f\xd3\x2d\x53\x7e\xdd\x4a\x2d\x8c\x35\x91\xd5\x6f\xb8\xfa\x75\x27\x6d\xff\xc9\x41\x9a\xbe\xd7\xcb\xf8\xad\xb3\x8b\xa9\x1b\xcd\x0a\x6b\x42\x3d\xc7\x68\xee\x53\xa5\xd8\xb2\x52\x26\x71\x84\x6e\x9f\xcc\x68\x8e\x4b\x8b\xb1\x39\xad\xc3\xa3\x99\xe1\x9c\x15\x8a\x9e\xe1\xb0\xc9\x49\x34\xb5\x49\xcc\xbf\x2d\xcc\x53\x3e\x8c\x4d\x6e\x31\x7b\x1c\xb5\x90\xe4\x93\xfd\xe7\xf4\x69\x8e\x06\xf4\x07\x72\x68\x1f\x02\x87\xdd\xdb\x48\x11\x33\x8a\x6e\xf5\x36\x2e\x79\x17\x1b\x1f\xf6\x83\xaa\xc0\x50\x8f\xee\x10\x93\xb8\xcb\xba\x6d\x33\xe9\x4c\x0b\x56\x2e\x50\x12\x38\x26\x9c\xfc\xe1\x84\x1c\x1e\x13\x3e\x99\xc4\xd1\x9d\x71\x9d\x77\xfc\x3d\xf9\x36\xda\x00\xa7\xea\x81\x58\x11\x0f\x93\x1a\x77\x15\xf8\xdc\x7c\x8a\x5e\xb7\x8e\x15\x4d\xdf\xa6\xfb\xee\x1f\xf3\xe2\x7d\xb9\x0b\x28\x6e\xf0\x9f\xe1\x06\xc2\x11\xff\xf3\x5c\x41\xbf\xfa\xd9\x36\x0f\x60\x4f\xa6\xec\xfe\xf7\x0e\x2e\x28\x5e\x3c\xf1\x23\xeb\x6e\x9d\x4b\xb1\xd1\x57\x8e\xeb\xa4\x7d\xdf\xe0\x20\x3b\x2e\x1c\xc7\x09\xda\x06\x5c\xeb\x99\x55\x23\x60\x15\xa7\x70\x1c\x36\x6e\x19\x18\xc0\xb7\xfe\x8a\xd1\xcf\x3f\xba\x64\x2d\x84\x22\x72\x49\x0b\x93\x1b\x83\x04\x03\xfe\xfa\x84\x4c\x4c\xe6\xf1\xcd\x0d\x2f\x58\xd0\x56\x8c\x49\x5c\x50\xa9\x2e\x51\xfe\xd6\xc3\xc0\x4c\xe3\x78\x4c\x47\x70\x79\x04\xb7\x85\x2d\x3b\x09\x99\x53\x97\xe9\xcb\xde\x38\x27\x27\xc4\x6b\x3b\xba\x6e\x10\x77\xf9\x60\x87\x10\xea\x67\x9a\x1f\xed\xbc\x75\xec\xba\x57\xa2\xba\x14\x1b\xef\x78\xe7\xa6\x37\x99\xd8\x9b\xe8\x01\x89\x70\x97\xe3\x1b\xe9\x86\xcf\x21\xa7\x7a\xb0\x2e\xc7\x0f\x1a\x7c\xb7\x9f\x5a\xb5\x92\x37\x53\x5a\x55\xd6\x2e\xde\xf8\x3e\xd6\x5d\xd8\x50\xb3\x83\x03\xf2\x23\x23\x7f\x59\x49\xe5\x90\xee\x21\xb9\x9a\x83\xbb\x57\xa2\x8a\xf3\x25\x8e\xf5\x61\xb4\x77\xc4\xaa\xca\xa9\x62\xb6\xa5\x40\x34\x0f\x84\x1f\xaf\x86\x41\x4d\x13\x08\x8c\x4b\x7a\x17\xa8\x99\xec\xdb\xa1\xc7\x87\x19\x09\x23\x88\x47\x4f\x29\x7f\xe8\xa2\xac\x82\xd6\x90\x72\xc9\xbd\x6b\x01\x35\x9e\xec\xa2\x80\x98\xc0\x7c\x19\x23\x39\x99\xd1\xf2\x72\x18\x0c\x70\x57\x73\xc7\x41\x6b\x35\x9e\xc6\x64\x71\x59\x15\x3c\x63\xc3\x07\x0d\xbb\x48\x07\x99\x4e\x9a\x23\x1b\x37\x7f\xf0\x68\x76\x21\xe5\xac\x4a\x4f\x3b\xb5\x27\x9b\xf0\xf0\x4d\x4e\x9a\x4d\x1d\xc7\xca\x33\xbd\x3f\x8f\x3b\x0a\x7d\x4a\x2c\x78\xc4\x3d\xc0\x63\x94\xc3\x5c\x1a\xc4\xfb\x29\xcc\x6d\xf2\xc3\x35\x8a\xf8\x97\x90\xec\xd6\x60\xf9\x1b\xc7\xbe\x40\x2f\xe4\xf4\x99\x56\x89\x19\x0b\xe8\xed\x2c\x34\x4e\x25\x1e\x51\xb1\x99\x07\xc1\x7c\xb3\xfb\x84\x6d\x28\xff\x27\xb1\xec\x34\x80\x85\x5e\x29\x38\x0b\xb1\xb9\x16\xd7\xa2\x1a\x1e\xf6\x1e\x20\xdb\xeb\xb4\x8d\x4d\x9f\x97\x5d\xfe\x91\x1d\xc3\xc0\x1c\x7a\xc3\xf6\x7d\xb9\x7f\x68\x9a\x11\xa9\xe8\x82\x91\x55\x45\x86\x00\xdd\x07\x3f\x15\xbc\x64\x23\x52\xb3\x82\x42\xae\x52\xeb\x79\x8e\x9a\x1a\xf0\xfc\xef\x69\xb5\xc2\x01\xd3\x05\x7b\x5b\xa5\xdd\x13\x78\xca\xf0\xbe\x60\xea\x1a\xae\xd3\x97\x65\xce\xee\x86\x1d\x21\x12\xf1\x3e\xf0\xf8\x21\x8c\x1d\xc3\x9e\xdc\x63\x25\x72\xb1\x29\x7f\xdb\xb5\x78\xae\x7b\xf8\xad\x57\xe3\xf1\x6e\x9d\x7e\x8f\xd5\xd0\x13\xd7\x74\xd1\x31\xf5\xfb\xcd\xfb\x15\x2f\xff\x36\x34\x70\x9f\xc9\xc1\x56\x7f\xb1\xe9\xfd\x8d\xb6\xb5\x31\x41\x34\x48\x34\x5d\xee\x25\xcb\x44\x99\x87\xbf\xd0\x32\xff\xac\xbb\x71\xc3\x2b\x76\x26\x4a\x05\x19\x9a\x76\x5d\x4b\x6d\xbe\x8b\x1c\x26\xe7\x84\x10\xab\x34\xbb\xb1\xd9\x62\xde\x25\x3c\x49\xc6\x69\x07\x91\xf7\xd3\xb9\xa8\xcf\x69\x76\xe3\xe3\xed\x71\x82\xf6\x8d\x47\x9f\x1e\x48\x68\x7a\x62\xb3\x24\x47\x2c\xb1\x7d\xcb\x4c\xa1\x80\xdb\x70\x8f\x10\x0a\x06\xf8\xa0\x1d\x8e\x4d\x73\xf1\xe3\x0b\x76\x1c\xfd\x60\xd8\xee\x03\x69\x33\x8e\xd7\x0f\x5d\x0a\x13\x0a\xcc\xc4\xfa\x70\xc4\x0c\x69\x7b\x1d\xbe\x58\x85\x79\x09\x6d\x06\xd8\x3d\x06\x42\xa6\x3a\x76\x0d\xa6\x70\x5a\x14\x61\x2a\xb2\x5e\x79\xca\xfc\xdc\x13\xfb\xd6\x37\x3c\xcf\xe1\xa6\x77\xb4\xda\xdc\xf8\xfe\xf1\x78\xad\x96\x5b\x78\xe9\x2d\x5f\x9c\x08\x7d\x3d\xdc\xb4\xb5\x4a\x34\x27\xe6\xea\xd2\xfe\x18\xde\x34\x62\xae\x12\xbb\x03\x19\xd6\x58\x3d\x17\xf5\x92\x50\xa2\x2b\xa7\x7d\xd0\xc1\xdb\x5d\x62\xa2\x8b\x9c\x70\x08\x44\xbb\x51\xaa\x3a\x3a\x38\xd8\x6c\x36\xd3\xb5\x7a\x72\x78\x38\x2d\x99\x3a\xc8\x45\x26\x0f\xd6\xea\x9b\x27\x87\x93\x7a\x79\xf0\xfc\xfc\xec\xea\xfa\xf2\x7f\x5c\x7f\x33\xf9\xfd\x9e\x7b\xca\x0e\xbb\x4d\x0e\x07\x07\x04\xbf\xf8\x1b\x12\x51\x0f\xcc\x18\x79\xdd\x18\xe5\x3d\x73\x38\xfe\x08\xf9\x46\x37\xa1\xec\x20\xca\x70\x29\x66\x2b\x65\x13\x5c\xc0\xee\xa2\xfa\x00\x7c\xb5\x40\xea\x6f\xf5\x17\x42\xaf\x03\x10\x29\x2a\x80\x6c\x0e\xc8\xf0\xb3\x1d\xc4\x9f\x21\xd2\x03\x72\xbe\x43\xa7\x32\x80\x6a\x30\xd0\xda\xf1\xa8\xc6\x98\x04\x5b\xdd\x40\x20\x2d\x57\xa0\xcb\x29\x07\xca\xe4\xf4\x64\x6c\xe9\xb4\x39\xe8\x2d\xc0\x72\x42\xcb\xed\xe6\x86\xd5\xac\x23\x65\x7e\x4f\xb0\xe9\xfe\x64\xde\xac\xeb\x73\x55\x42\xc2\x38\xb2\xa4\x25\x32\x35\xec\x4e\xcb\x22\x5c\x81\x93\xc2\xd6\xa4\x20\x87\xf0\x25\xd4\x25\xc5\x53\x9f\xf6\x64\xdb\x5b\x2b\xab\xb7\x59\x76\xee\xf3\xd8\x6c\x34\x93\xa9\xad\x36\xeb\x1a\xed\xb7\x3b\xba\x16\x8f\x4a\xd5\xcd\x90\x90\xd7\x62\xcd\xc2\x1e\xe7\x26\xe9\x9b\x39\x5e\xa0\x22\xb2\x29\xb6\x01\x8b\xcd\x7c\xd0\xc2\xbd\x51\x2d\x82\xb2\x69\x4e\x4a\x41\x96\xa2\x66\x41\x22\x6f\x5a\xb3\x1e\x46\x71\xd3\xa3\xb9\x2a\xd3\x1c\x80\x73\x9e\xd8\xe9\xa4\x05\x85\x60\x59\x23\x45\xea\xe1\x31\x40\xc7\x27\xf5\xa9\xc7\x84\x3f\x7e\xdc\x52\xf6\x46\x1a\x54\xeb\x32\xd1\x78\xe7\x42\x84\x8f\xd5\xb2\x6c\x57\x74\x2f\x5e\x88\xb6\xea\xf4\xa9\x07\x07\x86\xc6\xdc\x7e\x66\xce\x35\x22\xf2\x88\xd0\x34\xf0\xa7\x6b\xbd\xf2\x67\x7f\xba\x9e\x9a\xf5\x08\xdd\x2c\x7a\x78\x3b\x1c\xb7\x08\x22\x1c\x74\x3f\x6f\x93\x6e\x47\x0a\xdf\xcb\x0e\xba\xd2\xec\x4d\x48\x58\xd6\xed\x27\x49\x5c\x73\x5e\x27\xa8\xab\x55\xa5\x2f\x85\xd9\xbe\x7f\x3b\x12\xbb\x9f\xae\x7e\xb7\xa6\xfe\xcb\xd2\x59\xb2\x8d\x26\x93\x0f\xd1\x80\x76\x55\x09\x55\x41\x9a\x4a\x1c\x53\x53\x21\xcc\x4b\xc5\x16\xde\x28\x45\xfe\x93\xd5\xc2\x38\xd3\xfa\x0a\x7b\xfc\x03\xdb\x9b\x11\xce\xff\x8b\x2f\xaf\xf3\x6c\x1a\x35\x96\xeb\xfe\x5b\xe2\x47\x62\x54\x54\x20\x57\x80\xfb\x56\xe0\x7c\xb5\x7b\x4b\x5a\x6d\x1c\xc6\xf5\x93\x3e\x53\xcd\x2d\xda\xe3\x5d\xfb\xbd\x20\x6c\x3e\x67\x99\x32\xf1\xc6\x35\x43\x00\xcd\xfb\xb4\xb3\xcf\x19\xcb\x6c\xe3\xa9\xea\xf2\xae\xfd\x9c\xb3\xd5\xb1\xef\x5c\x4b\x7a\x17\xf3\x61\xc3\xc3\x8d\xeb\xbd\x9d\x3c\x19\x3d\x68\xec\x6a\xc7\x5e\x8d\xd3\x22\x20\x44\xeb\xda\x8b\xa5\xcf\xcc\x03\xde\xbf\x43\x44\x68\x51\x6c\x28\xd2\x35\x0c\x8a\x5d\x0e\x69\x64\x55\x45\x7c\xae\x1b\xe2\x58\xbf\xf5\x98\x67\x1e\x34\xd1\x34\x79\x60\xaf\x0d\xd0\x89\xc4\x03\x0e\x9b\xce\xd6\xac\xde\x5a\x0b\x2f\xf9\x57\x37\x56\xb0\xb3\x8e\x88\x75\x46\xb4\xcd\xeb\x66\x9c\xae\x5b\x56\x2c\xc3\x4c\xc2\xb6\x98\xa8\xc9\xa1\xb9\xa0\x4d\x8b\x5c\x92\xaa\x16\x6b\x9e\xb3\x1c\xed\x6d\xc0\xdb\xe8\xb7\x0c\xac\x68\xf3\x95\x5a\xd5\xcc\x98\xb0\xac\x3f\xb1\x6e\x7c\x49\x56\x55\x34\xee\xc4\xd3\xc8\xee\xb8\x44\x1f\x70\xf7\x06\xc0\x63\x31\x06\x2c\x8e\xe6\xbe\x3c\x30\x39\x8d\xd5\x0d\x55\x9d\x57\x98\xa8\xd4\x07\x98\xab\xcf\x47\xeb\x56\xf6\x17\x7f\xaf\xb9\xdf\xec\xc4\x57\x92\xcd\x57\x85\xcd\x4b\xab\xbb\x99\xf3\xa2\x00\x03\xde\x4a\x11\xc8\x22\x17\x8d\xb3\x23\xf5\xb2\x5e\x85\xbd\x8a\xcd\x96\x40\x19\x52\x9c\x9b\x80\x3f\x70\x38\x9f\x93\x60\x6e\x1f\x3f\x22\xed\xe9\xaf\x9b\xe0\x68\xc1\xa6\x1f\x1b\x29\x06\xe0\x4e\xb0\xbc\x26\x3b\x41\x68\x8b\xee\x34\x07\x62\x5b\xc7\xff\x4e\xc8\x13\x32\x21\xc3\xa1\xfb\x6b\x44\xfe\x95\x6c\x46\xe4\x31\x01\xbe\x23\xba\xc8\xa1\x4c\xc0\x8e\x35\x59\x0f\xfd\xe9\xf1\x09\x69\xb8\x9a\xba\xc7\x62\xc8\x1b\x7a\xf1\xf6\x21\x42\xaf\xd3\x08\x9f\xc0\x24\xab\xd7\xe2\xa3\x35\x72\x8a\x79\x10\x22\xe4\xa1\x5d\x6c\x3a\xe1\xa6\x51\x14\x19\x0d\xd4\xf7\xb0\x9c\xac\x4a\xc5\x0b\xcf\x1e\x67\xb4\x68\xa1\x8c\x39\x37\x51\x55\x93\xab\x64\xaf\x98\xeb\xd8\x8e\x0d\xa4\x28\x29\x2d\xf0\xd0\x5e\x38\x03\x5b\x2f\xc2\x1e\x0b\x71\x81\xd6\xca\x97\x82\x4f\x9f\xe1\x12\x76\x4d\x6f\x91\x19\x0d\xf8\x81\xe7\x2f\x7f\x70\xd0\x37\x54\xc6\xf4\x6c\xd2\x25\x36\xd7\xe2\x4f\xd7\xaf\x5f\x3d\xe7\x6b\x13\xc8\xfe\x89\xe4\x7c\x8d\x01\xdd\x7c\x6d\xb3\xcd\xef\x68\x69\xc7\x32\xe4\x2c\x13\x75\x23\xbe\x28\xe7\xeb\x30\x9c\x9e\xaf\xb5\x70\x9d\xf3\x75\x3a\x60\xdb\xb6\x00\xd5\xf6\x63\x71\x61\xde\xc3\x96\xfe\xa3\x95\x57\x71\xd4\xa3\x2d\x88\x86\xdb\xd5\x14\x06\x9a\xf7\x68\xc9\xb9\x7f\x87\x3c\x4a\x47\xa3\x2e\x73\x62\x77\xc3\x01\x0a\x6c\xab\x25\x07\x2c\xbb\xb7\x3a\x58\x80\x3b\xeb\x23\x8a\x6c\xa8\x2a\x02\xc7\xc9\xb9\xc8\x56\xce\x1c\x08\x7f\x04\xca\xc0\x48\x23\xe5\x22\xc2\x5b\x5d\x04\x41\xfa\x71\x40\x72\x1c\xa2\x1d\xb4\xd5\x42\x6d\x6e\xb5\xd9\xc6\x82\x1e\x45\xda\xbe\x4e\xb8\xe4\xae\x1d\xd9\x09\xcf\x1c\x2d\x8b\xc5\x83\xe8\x50\x81\x7b\x14\x92\x44\x1d\x00\x26\x99\x8a\x32\x13\xa5\x5e\xef\x25\x2b\x57\xcd\x14\xfa\xc6\x8b\x1b\x59\x0f\xe2\xb1\x83\x44\x09\x51\x6d\xb6\x57\xf3\xe7\x87\x68\x3b\x9c\x3d\x98\xb1\xf2\x7b\x4c\x5a\x9d\x1a\xe2\x95\x2b\x80\xea\x19\x5f\x61\x4a\xf3\xfc\x7c\xcd\x4a\xf5\xca\xa4\xa7\x35\xf1\x71\xb9\xd8\x94\x83\xb1\x1d\x43\xcf\x4a\xab\xea\xde\x55\xf4\xc2\x37\x2a\xb5\x26\x20\xca\x60\x73\xf5\x8b\x8a\x85\x61\xa1\x76\xf5\x60\x76\x7e\x00\x54\x6c\x61\x1e\x44\xf9\x42\xff\x89\x21\x3c\xc1\x62\x8e\xe1\xd9\x42\x9a\x3a\x38\x20\xd8\x08\x5c\xb3\x6e\x3d\xd0\xd7\x47\x5a\xe7\xa0\x60\xd5\x29\xa0\xb1\xbc\x78\x61\x70\x35\xb2\x95\xc4\x56\x4c\x05\xc4\x21\x9b\xad\x66\x88\x98\xd2\x7f\xf9\x5b\x88\xbc\xfa\x1d\x46\x15\xe1\xb0\xf7\x6c\xda\xda\xfc\x3e\x8b\x36\x2b\x56\xf5\xfe\x35\x03\xa2\x1d\x79\xf7\x1e\x69\x42\x30\x1b\x87\x20\x03\x54\x33\xf3\xfa\x0c\x07\x18\x74\x89\x14\x02\x7e\xda\xfa\x68\x18\x0b\x8d\x73\xd6\x1e\x0e\x8c\x74\x32\x29\x45\xce\xde\xc1\xaa\x9e\x7c\x05\x1d\x7e\xf5\x9e\xfc\x35\x88\xfc\x1d\x10\x32\x13\x77\x13\xf4\x6b\x3f\x22\x08\xb6\x3a\x99\x89\xbb\xe3\x46\xa1\x46\x3e\xdf\x23\xa2\x6a\x5a\xca\x8a\x82\xe0\xf5\x90\x2f\x2b\x51\x2b\x5a\xaa\x66\x35\x6c\xcf\xf8\x53\x3e\xad\x5a\xcd\xe2\x77\x98\xc9\x11\x91\xa2\xe0\x79\x54\xe2\x53\xf8\xc7\x74\x93\xc1\x7c\x9a\x13\x30\xaf\xed\x11\xe1\x65\xc1\x4b\x36\x99\x15\x22\xbb\x6d\x74\xa4\x57\x69\x42\x0b\xbe\x28\x8f\x48\xc6\x34\x67\xd1\x28\x60\x86\x98\xd1\x22\x1b\x86\xa1\xa3\x31\xe0\xc9\x88\x7c\x4d\x9e\x8e\x1a\x55\xa1\x53\xeb\xba\x95\xac\x6b\x43\x12\x3a\xa7\x76\x54\x0b\xa1\x9a\xf3\x4a\x0f\x01\xbd\xc3\x5a\x07\xbd\x13\x76\xe5\x78\x4f\xa3\xa1\xcf\xd9\x9e\x56\x43\xa4\x95\xae\x66\x91\xec\xc4\x7c\x2e\x99\xd2\xa4\x72\x44\x0e\x7b\x15\xad\xc5\xa6\xbb\x28\xa6\xb2\x8d\xa2\xac\x8f\xc8\xe1\xf4\xdf\x64\x47\xf9\x56\x9c\xf0\x11\x10\x40\x9f\xd2\x26\x3a\xf8\xc8\x4a\x0e\x7d\xea\x18\xf2\xdd\x1d\xa9\xdc\xbd\xf9\xff\xbf\x5b\xb6\x9d\xd7\x74\xc9\xa4\xb1\x7a\x34\xe8\x00\xa4\xd7\xbf\x12\x51\xd1\x8c\xab\xed\x11\x79\x32\x3d\x3c\x26\x9f\x1a\xf4\x2d\xc2\x12\x87\xad\x12\xf1\x41\xf2\xeb\xd9\xec\x8b\x96\x7c\x89\x69\xc8\x4b\xba\x64\x47\x38\xa0\xe3\xae\x32\x7e\x33\xc2\xb9\x27\x76\xab\x79\x64\x7c\x13\x5c\x31\x2c\x32\xc9\xc4\xaa\x54\xfa\x10\xcf\x79\xc9\x15\xeb\xac\xa1\xf8\x92\x97\x8b\x89\xbd\xdf\x8f\x08\xa3\x92\x4d\x38\xa4\xce\xe8\x1e\x29\xaf\x99\x29\xee\x4c\x2b\x8d\x1d\xf1\x0f\xa8\xbf\x7c\x6f\x18\xcd\x8d\x87\xd3\xd9\x0d\x2f\xf2\x21\x6c\x75\x68\xb7\xf4\x78\xd5\x7b\xaf\xee\x9c\xaf\x83\x4e\x42\xa4\x6b\x9e\x93\x13\x32\x80\xd5\x3b\x72\xd9\x14\x4c\x84\x61\xb2\x02\x80\x75\x7e\x4f\xc1\x63\x69\x10\x5c\xf5\xe9\xd2\xf8\x50\x64\xc8\xd5\x06\x8f\x84\xe5\xa6\x8f\x08\x9d\x49\x51\xac\x1a\x4b\x52\xb0\xb9\xea\x75\x23\x46\x5f\x9b\x17\xc0\x28\xde\x7b\x25\xaa\x5d\x6d\x9a\x9b\x72\x67\xa3\xb5\xd8\x34\x1a\x75\x2f\x40\xfb\xea\x37\x77\xe6\x8e\x09\x44\xc5\xef\x7d\x8d\x4f\x36\x6c\x76\xcb\xd5\x04\x9e\x43\xb3\x9a\xe6\x1c\x8e\x5b\xaf\x26\x79\x72\x78\xb8\x94\xf0\x60\xd0\xf8\x01\x9a\x2c\xc5\x2f\x9f\xd5\x46\xca\xd2\x8d\x88\xb1\x5d\x76\x6e\xcc\x5e\x18\x4b\x00\xf7\xb5\x90\x77\x46\x72\x76\x30\xf1\xe1\x11\x6a\x92\xa7\x37\x14\xdf\xb0\xd2\xe6\xa4\x6c\x60\x8e\x0f\x08\x97\x44\xcc\xe7\x64\xc3\x48\xcd\x7c\xa8\xf4\x0d\x97\x84\xe1\xf9\x22\x78\xc4\x8b\x2d\x36\x86\x2e\xf3\x2d\xdc\x0c\xc8\x7f\x4b\x28\x81\x24\x73\x53\x82\x8a\xba\x25\xbd\x65\x92\x9c\xdd\xd4\x62\xa9\xf9\x51\x29\x32\x8e\x3e\xaf\x07\x07\x44\xae\x66\xa8\x46\x31\x08\x40\x9a\xe9\xb6\xbc\xa9\xc1\x51\xb6\x5e\x35\xc8\x78\xb0\x7a\x4a\xc8\x15\x2f\x33\x86\x20\x8f\xd0\x48\xf4\x5d\xcf\x85\x92\x8a\xb1\x9a\x0c\xc1\x12\x4a\x32\xbd\x30\xa3\xd8\x7f\x51\x33\x54\x63\x3f\x01\xdd\x6f\x83\x31\x46\xdd\xa2\x71\xf1\x0f\xab\x81\x52\x12\xfe\x9a\x42\x15\xac\xf7\x52\x0d\x74\xbf\x37\x34\xbb\x45\x53\x2c\xd7\x3f\x80\xfe\xbc\x60\xb4\x64\x52\x91\x0d\xdd\x92\x97\x24\x13\xab\x22\x27\x73\x0e\x0e\x8b\x21\x4f\xf0\x0c\xc7\xff\x39\xb7\x5d\xbb\x81\xe8\xd2\xc3\xe7\x32\xaf\xe9\x62\x12\xaf\xd5\x60\x57\x0b\x9f\x79\xaf\xc1\x15\x34\xf9\xfd\xef\x1b\x4c\xcc\xfe\x4b\xe4\xc9\x61\xa3\x8a\xbd\x2d\xf0\x43\xea\x01\x49\x53\x7f\x7b\x2e\x1d\x88\x7c\x9d\xe2\x1b\x21\xef\x22\x69\x27\x10\x22\x23\xe1\x70\x00\x84\xae\xff\x91\xcf\x0a\xf3\x6f\x3d\xfc\x84\x27\x15\xd0\x55\x80\x62\xdb\xb5\xea\x2d\xb1\x07\x2a\xc6\x72\xa8\x6f\x20\x7c\x87\xee\x57\xd3\x2f\x62\xcf\x7a\x1d\xae\x57\x3b\x47\xb0\x5b\x64\x6c\x0b\x8d\x4d\xad\x8e\xf5\xfc\xea\xf0\xfa\x62\xea\x92\xad\x59\x2d\xd9\x0f\x3c\x67\x62\x88\x22\x5f\x7a\xab\xa1\xe5\x4e\x3f\x40\xd4\x79\x5e\xb2\xbc\xa6\x9b\x6e\x20\x97\x3f\x5d\xbf\x7e\xe5\x1c\x52\xc0\x6c\x00\x19\xeb\x28\x2f\x1b\x0a\xca\xe7\x17\xaf\x89\xe6\x17\xda\x18\x2f\xa0\xed\x34\x2d\xec\x0f\xb1\xb7\x25\x77\xc7\xd7\xbb\x9d\x8c\xfd\xd9\x40\x5b\xd6\x84\x33\xd9\xe9\x69\x81\xea\xb5\x7d\xbe\xd1\x6e\x25\x77\x2c\x92\xb9\xa6\x0c\x4c\x37\xea\x86\x6b\xb1\x21\x60\xa3\x8b\xac\x38\x70\x59\x23\x4e\xbe\xb7\x23\x5d\x8a\xcd\x1b\xb4\x11\xd5\xa8\x05\x9f\xd3\x8c\xc1\x73\xc2\x8c\xcf\xa9\x1e\x0a\x59\x49\x0c\xe4\xe2\x70\x25\xcf\x99\xca\x6e\x30\x64\x40\x94\x24\x67\x08\x44\x0e\x4b\xb0\x45\x57\x00\xa8\x09\xfe\x5f\x4a\x90\x35\x67\x0e\x03\xe5\xfa\xe2\xf9\xc5\xb0\x5e\xf0\x32\xa7\xa3\x23\x72\x26\x4a\x09\x5d\x4b\xba\xe6\xe5\x22\x74\xea\x84\xd6\xa9\x24\x43\x98\xa5\x14\xab\x3a\x63\x63\x44\xce\xc9\x50\x49\x30\x02\xa7\x65\xca\x51\x85\x9f\x89\x52\xb2\x7a\xcd\xc8\x92\x2d\x45\xdd\xd2\x7d\x3b\x2b\x13\xac\x0b\x4c\x0f\x72\xbb\xa3\x4d\xc9\x2d\xd8\x98\x18\xb0\xb4\xbc\xe9\x4f\x6b\xed\x4b\x68\x5d\xe9\x74\xd0\x27\xe4\xa2\x9c\x18\x18\x69\x98\x02\x38\x27\xd1\x62\x43\xb7\xd2\x80\xd0\xfb\xb6\x20\x12\x44\x2a\xdd\x35\xcf\x98\x9c\xb6\xe8\xd7\xa9\xea\xf5\x78\x07\x77\x9a\x61\x1c\x38\x36\xc1\x1c\x08\x30\x3c\x9a\x1c\x3d\xb5\x7e\xe0\xc1\xf1\xae\x46\xd8\x99\xdd\x44\x7f\x29\x36\x46\x5f\xe8\x28\x11\x56\xc1\x87\x80\xe1\x6a\x7d\xbb\x33\x8c\x24\x30\xf7\x26\xcb\xbd\x83\x46\xde\x7b\xf5\x10\xac\x0e\x78\x0b\x93\x13\xb3\x1f\x3b\x23\x9f\x8e\x3b\x90\x96\xf4\xfa\x9e\xd6\x35\xdd\xbe\x0b\x9a\x7c\xdf\x75\x5a\x42\xd2\x89\x4f\x0b\xe0\xf8\x04\xe1\x73\xbf\xd9\x89\x89\x86\xe0\x4f\x8e\x33\x48\xae\xa4\x66\xe9\x30\xa2\xce\x10\x75\xb5\x45\xcf\x45\xdd\x94\x4f\xad\x63\x5d\xbc\x6d\x62\xf4\x4e\x6a\x47\x6a\xed\xa2\x76\x60\xaf\xa0\x84\x9e\x9d\xa7\x7d\x4b\x9f\x4d\x97\xf2\xcf\xa1\x7d\xdb\x56\xe3\x08\xa4\x69\xbf\x39\x7c\x56\xe6\x3b\x07\xaf\xbf\x8b\xf2\x57\x0f\x3c\x05\xca\x42\x4e\x89\xe4\xe5\xa2\x60\x36\x7d\x41\x70\xdc\x1c\x39\x21\x30\xb6\x69\xd7\xd2\x91\x1b\x84\x26\x27\x42\x5e\xf1\x92\x99\x6b\x60\xc6\x48\xc9\x36\xe8\xb2\xcf\x0a\xbe\xe4\x8a\xe5\x63\x64\xbe\x4b\x41\x54\x4d\x39\x98\xad\x4d\x99\x5e\xe7\xd7\x70\x8c\x51\xe6\x23\xcd\x6e\xb3\x32\xf7\x56\x68\x8c\xd3\x7b\xf7\x7e\x97\x19\x98\x95\x79\xe4\x83\x87\x80\x94\xde\x98\xe0\xaf\x0b\x63\xfc\x25\xba\x59\xcc\x39\xa0\xcb\x85\xea\xdb\xc0\x3d\xdd\x34\x0d\xc6\xe9\x47\x8f\xc8\x43\x28\xba\x60\xde\x03\x74\x38\x00\xad\xa3\xf5\x5d\xf3\xf9\x00\x5c\xeb\x83\x9f\x0c\xaa\x2b\x98\x9b\xcd\x36\xe9\xaf\x7f\x11\xbc\x1c\x0e\xd2\xe8\x77\xbb\x4f\xbc\xc7\xe4\xfa\x6f\x72\xce\x77\xbf\x6a\x18\x9d\xab\xd7\xe5\x1f\xe0\x8c\x27\xce\x59\xcf\x03\x86\xeb\x72\x8f\xc7\xad\x79\x36\x82\xc7\x6d\x17\x79\x43\xa9\xe0\xd1\x69\x92\x77\x27\xbd\x09\x45\x8b\x46\x38\xb6\x8d\xfe\xa6\x79\x5e\x33\x89\xb8\x9e\x66\xf9\x34\x49\xe0\x57\xd8\xf4\xe6\x52\xb7\xf0\xe4\x7e\x23\x92\xcd\xc4\xb2\x5a\x29\x23\x79\x1b\x64\xd6\x70\xef\xeb\x16\x67\xed\xa8\xae\x1d\x7d\x8e\x13\xea\x8f\xa5\x1d\x84\xf9\xf5\x81\xe7\x6b\xc5\xe6\x3c\xee\xe0\x08\x1c\xe7\xd0\xce\xaa\xe3\x24\x06\xb8\x12\x4a\xb6\x31\xac\xa6\x66\x61\x41\xbc\x45\x17\x28\x1f\xec\xd8\x84\x4f\x6a\xee\x03\x78\x0a\x97\xc5\xd6\x45\xf8\x6f\x28\xe0\x0f\xd0\x3c\x37\x29\x7c\x6c\x97\xe6\x12\xd2\xe4\x4b\xc8\xf7\x42\x71\x50\xad\x50\x88\xbe\x43\x2f\x96\x0d\x1e\x5a\x69\x86\xe2\x81\x12\x4d\x98\x8f\x19\x4a\xc1\xa5\xb2\x4b\x8e\x21\x51\xd6\x45\x4b\x37\xa5\xb9\x40\x0e\x9e\x5d\xb8\x39\xfa\x44\x0d\xed\x23\x65\xe2\xb4\x48\x65\xb2\x17\x80\xb2\xc6\x79\xf4\x86\x2c\x90\xc9\xd3\xa5\x6e\x78\x79\xeb\x33\x76\xe1\x8c\x66\x05\x2d\x81\x47\x27\x52\x2c\xd9\x06\x5d\x1a\x0d\x58\x38\xe2\x54\x63\x7f\x21\xca\xc2\x98\x14\x42\xdc\xa2\x48\xa0\x85\x7a\x0c\x4c\x1a\x45\xcb\x69\x28\xda\x39\x9c\x55\x74\x0b\x17\x65\x69\xaf\xc3\xb5\xb1\xf1\x5f\x8b\xea\x00\xe3\x45\xc7\xfa\x9d\xce\x18\x8c\x50\xde\x88\x55\x01\x57\xdb\x4c\xdf\xb2\x7a\xe2\xb6\xa7\xe1\x48\x0f\x30\xa3\x12\x80\x2c\xf4\x78\x41\x5a\xd9\x80\x8a\x68\xa9\xfb\xa8\xfd\x48\x9c\x96\xcd\x3e\xdb\x56\x11\xc3\x72\x42\xad\x43\x34\x39\xb4\xdb\x81\x6e\xd2\x98\x95\x98\xe5\xc4\x3e\xde\x69\xf0\x98\x34\x6c\x03\x9c\x44\x20\xd0\x7d\x3e\x68\x41\x98\x72\xec\xb3\xeb\xb0\x1b\x3c\x08\xc2\x65\xdb\x33\xbd\x7d\x44\x8c\xa3\x01\xa8\xa4\xbb\x42\xc0\xdd\x71\x73\xed\xb6\x78\x09\xe3\xdd\x0f\xe3\x68\x71\x12\xb5\x1f\x48\xa7\x9e\x0d\xc5\x1b\xc3\x3b\xe8\x33\xd2\xd2\x36\x35\xab\xea\xfb\x1d\xae\xec\xc1\x60\x14\xd4\x73\x34\x7e\x62\x67\xf5\x98\xf0\x18\x84\x00\xa1\x0e\x56\xf2\xe6\x52\x6c\x86\xb5\xd8\x8c\x22\x20\x6e\x76\xa7\x6a\x8b\x4f\xb1\x73\xf1\x3a\x63\x75\x1d\x04\xb9\x6b\x29\x08\xd0\xdb\x0b\x9d\xe0\x6a\x99\x49\x61\x97\x9e\x04\x7a\xa2\x26\x90\xd0\x9f\x3a\x8a\xcc\x93\x57\x46\x40\x3f\x2f\xf3\x18\x41\xc7\xfa\xa4\xc1\xf7\xe7\x62\x63\xa3\xfb\x3e\x3d\x88\x60\x2c\x35\x61\xfd\x61\xcf\xe2\x8c\x02\x3c\x85\x1e\x84\x88\xa0\x18\x81\xc2\xe9\xd4\xa8\x3c\x1b\xd8\x9a\xae\x41\x44\x5f\x88\x9e\xe2\x42\x64\xfa\x8a\xf7\xb0\x10\x18\x0d\xed\x19\x9a\xc4\x33\xac\x6f\xea\x12\x92\x3a\x35\x2f\x76\x9b\x71\xa7\x66\xd9\x36\x2b\x4c\xb3\x39\x66\x1f\xfe\xe1\xda\x3c\x90\x52\xaf\xaf\x90\x8c\x6c\x6e\x78\x76\x03\xda\x8f\xbc\xb6\x19\xd8\x66\x5b\x5d\xd0\xe4\xa2\x92\x51\xfa\x42\xfd\xcd\xf1\x82\x4b\x5a\xf2\x6a\xa5\x19\x31\xc3\xfc\xf8\xc7\x77\xe4\x9c\x22\xf1\x61\xd5\x37\xd8\xd8\x44\x1b\xe9\x3b\xb8\x00\xf1\x22\x56\xb8\xf8\x16\x48\x0d\xe1\x4e\x30\xac\x25\xcd\xad\x78\x02\x8f\x0d\xbc\x81\x9b\x40\x59\x23\xe6\x73\x64\x16\x24\x73\x3c\x1c\xaf\x5b\x4f\x06\x67\x7a\x14\x35\x9b\xaf\x8a\x62\x8b\xef\x0d\xde\x65\x2c\x27\x52\x10\x8a\x37\x37\xaa\x64\xe6\x56\xa7\xef\xd9\x8f\xae\x9b\x51\xef\xd7\x4b\xc7\xc6\x22\x1b\xea\x94\x58\xf7\xba\x47\xf5\x95\x9f\xac\xa4\x84\xef\x20\x67\x52\xf1\x92\x9a\x4c\xb5\xa6\x9b\x1d\xd7\xae\x7b\xb1\xc2\x4b\xd7\x8d\x79\x8c\x03\x1a\xdb\x2e\x9a\xb2\x57\x4c\xf9\xcc\x3d\x4a\xcd\x06\xda\xe1\x3e\xf8\xaa\x40\x61\xd3\x76\x00\x8a\xe2\x5c\x8c\x41\xe0\xb3\x97\x8e\x5f\xc9\x6f\xe3\xf1\x78\x8f\x61\x57\x04\x6f\x09\x06\x50\x0d\x76\x79\x1e\x9b\x4b\xbc\x89\x8a\x65\x2b\x9b\x72\x61\x55\xdf\x65\x58\xf9\xc1\x83\x64\x2c\x72\x20\xa2\xee\x54\x12\xbf\xec\x0a\x20\xbe\x34\xcd\xa5\x39\x1a\x7b\xd6\x77\x6a\x77\x2c\x85\x69\xde\x89\x01\x23\x0e\x22\x0a\x1c\x94\x96\x48\x64\x42\xcf\x81\xac\x23\xa9\x08\xa8\xec\x32\x60\xf3\xdb\x5c\x7c\x46\x4b\x84\x82\x0a\x8e\x49\x68\x57\x43\x85\xa9\xe1\xdc\xc2\xeb\x69\xa8\x19\x9a\x8c\x96\x03\x45\x72\x06\xce\xd0\x9a\x2f\xb5\x60\x2a\xe6\x0f\xa6\xb2\xd1\x38\x60\x7d\xe0\xdc\xea\x96\x4a\xe1\xc1\xb1\xec\x6a\x35\xb4\xab\x5d\x07\xd1\xeb\x8c\xf6\x1d\x42\xab\x9e\x31\x0b\xd8\x28\x85\x47\x09\xbd\x0e\x8d\x77\x3f\xde\xb8\xd7\x37\xe1\xe5\x6b\x87\xb7\x37\x04\x3c\x20\xa1\xb4\xc2\x63\x1c\x74\x12\xb8\xe0\xdb\x34\x7b\xc1\x08\x3e\x7e\x8c\x0e\x99\xf7\xb6\xec\xc1\x04\xdd\x47\x89\x62\x02\xf7\xbd\xa2\x92\xbf\xef\xe6\x4e\x22\x7c\xe6\x37\x35\x07\x66\xdb\xe7\xce\xec\x14\x41\x6a\x26\x2b\x96\x79\xc4\x64\x70\x64\xc3\x6b\x03\xc8\x7b\x53\xd3\x8a\x62\x06\xd5\x25\x58\x4a\x20\x16\x04\xf5\xd2\x39\xa2\x5d\xc2\x23\x02\x0f\x43\xa7\xd4\x63\x09\x0f\xe2\x2a\xe6\x73\x07\x55\xd3\x78\x70\x02\xd2\xb7\x01\x83\x61\x1e\x18\x7f\xf8\x60\x5a\x5c\x92\xaf\x4b\xa1\xbe\xd6\x6f\xb4\xcd\xf1\x6f\x5c\xfe\x33\x33\xd4\xb7\xe6\x01\xf1\x4e\xf4\x23\x2b\x25\x70\xf3\x96\x51\x35\x30\xe0\x74\x5b\xb1\x1a\xd4\x0c\x6d\xe3\x31\x79\x47\x81\x00\xc1\x08\x94\x20\x95\x5e\xea\x3d\xd4\x07\x65\x92\x4e\xfe\xee\x0a\xbe\xb0\xb4\x73\x18\x5c\xcd\xb5\x85\x3f\x2e\xf8\x6c\xba\xc9\xa6\xf6\x17\x13\x09\xf0\xc0\xa1\x88\x85\x4d\x7c\xeb\x2a\xb6\x22\xe9\x5c\xe0\x78\xb0\xa9\x8f\x1e\xf5\x0a\x10\x6d\x86\x33\xda\xd2\x62\xb9\xe4\xea\x15\x2f\x99\x05\xf2\x1e\xc6\x10\x11\x25\xdb\xe8\xaf\x1e\x88\xd0\xf1\xb0\x99\x11\xdb\xdd\x34\x27\xe1\x4a\x1c\xbb\x72\x39\xcf\x2f\x5a\x70\xdf\xf6\xa3\x5c\xcd\xa4\xaa\x9b\xd1\x7f\x3b\x43\xd3\xec\x1b\xd3\xe0\x40\x03\xc8\x43\x37\xd5\xb8\x6b\x8b\x84\x0e\x7c\xa9\x19\x7c\xb2\x81\x26\x18\x5d\x47\x84\x1c\x69\xc0\x4a\x05\x9d\x3d\x7a\x44\x1e\x76\xed\x98\x1f\xde\xc1\x81\x96\xb2\x95\x27\x47\xbb\x59\x2c\x37\x72\x7e\x09\x99\x9a\xc2\x33\x8c\xfe\x23\xc0\x02\x1a\xe5\x91\x6d\x0a\x42\xc1\x81\x52\x59\x90\x79\xc7\xbe\x0c\x33\xe6\xe3\xc5\x45\xd8\xe9\xd4\xb7\x70\x7d\xf1\xfc\xe2\x28\xc8\x09\xaa\xef\x07\x25\x88\x58\xd5\xfa\x75\x9d\x15\x6c\x69\x7c\x45\xc0\x4b\x7e\xb6\x55\x8c\xbc\xbd\x7e\x31\x79\xf2\xbf\xe3\x28\x1e\x34\x94\xc1\xc6\x06\xa4\x0f\x7f\x6b\xc2\x1f\x87\x64\x62\x18\x1f\x8c\x57\x0a\xf3\xf8\x24\xab\x39\x42\x7b\x32\x6a\x6e\xa4\xfd\x68\xb6\x25\x64\x5c\xee\x3b\x98\x36\xa9\x2b\x71\xcb\x00\x21\xd5\xde\x10\x71\xea\xec\xaa\xe0\xea\x47\x9e\x33\xbd\x0a\x98\xa7\x77\x88\x3d\x98\x96\x92\x61\xf0\xd0\x64\x2a\xfc\x7d\x67\x16\x8e\xe9\x26\xb3\x3e\xfe\xd0\x80\x7e\x52\xf0\xa7\x24\xaa\x5a\xa3\x32\x95\x19\xe7\xad\xfa\xee\xd7\x36\x8c\xa0\x23\x5f\x7c\x50\x5e\xb7\xf2\x03\x27\x98\x55\xb3\x02\xbe\x7d\xbf\x10\xad\x8d\x69\x34\xa0\xe9\x7f\x53\x73\xc5\x76\xb7\x71\x9f\x65\x0a\xee\x9b\x7b\xac\x8d\xbb\x29\x0c\x11\x44\x15\x97\x74\x3b\x63\x67\x05\xaf\xce\xf0\xb5\x0d\x00\x13\xc3\x7b\xfc\xf1\x49\x8a\x17\xde\x13\xf6\xf5\xa0\x25\xb3\x5f\x94\x17\x2b\x55\xad\xd4\x87\x51\x34\x92\x5f\x83\xa0\x66\xe0\xe1\x9d\x10\x6b\xc4\xc4\x88\xad\x68\x41\x8c\xc4\x31\xc9\x96\x55\xb0\x8e\x49\x04\x02\xa7\x47\xee\xbb\x51\xcb\x35\x5f\x68\xc4\x5a\xa0\x55\xc5\x28\xda\xed\x73\x61\x7b\xbd\x62\xaa\x21\xff\x5a\xe9\xd5\xa2\x11\xac\x8a\xa2\x03\xd2\x1e\xaf\x2b\x08\x3b\xb5\xf2\x6d\x3c\x33\xe2\xa4\xfa\xaf\xbf\xbf\xb8\xfe\x1a\x07\xb3\x14\xd2\x83\xc5\x48\x3d\x14\x42\x7e\x64\x9a\x83\xf0\x38\x23\xba\xb9\x85\xd0\xe3\xfa\x4a\xcc\xe7\x13\xcd\x6a\x7d\x85\x80\xb5\x16\x95\x96\x2b\xe3\x77\xf7\x33\xd2\xc7\xcf\xc0\x75\xfd\xac\x96\xab\xbb\x9f\x3d\x40\x84\xe5\x93\x74\x7b\x85\xc8\x68\xd1\x66\x98\xc6\x46\x87\x80\x38\xb2\x91\x1a\x00\xf5\xd3\xa0\x21\x9a\x54\x8b\x55\x75\x50\x2d\xf2\x12\xa1\x70\x4b\xc5\x4b\xcc\xce\xbb\x11\xf5\xad\x16\xbf\x61\x5a\x2b\xc9\x6a\x69\xd4\x9b\xec\xae\x0a\x13\xdb\xb7\x8c\xc4\x56\xa3\xda\x34\x20\xb5\xa0\x08\x03\x3a\xe9\x6a\x06\x49\xb0\xd9\x52\xac\xbe\x8e\x1a\x1b\x5b\xeb\x11\x2f\xb3\x62\x25\xf9\xba\x47\x2a\xe0\x18\xcc\x25\xe2\xcb\xec\x5c\xc6\xd1\x78\xbc\x47\x83\x9f\xec\xc9\x09\x39\xd4\xef\x74\x34\xee\x93\x2e\x10\x79\x7c\xa0\x82\x68\xd8\x40\x13\x0d\xb8\x41\xab\xa2\x38\x6e\x7f\xc5\x66\xc3\x02\xed\x84\x8d\x8d\x96\xdc\x08\x77\x36\x17\x8e\xba\x25\x3d\x44\x46\xa9\x2a\x30\x04\xd2\x2c\x13\x75\x1e\x48\x14\x3f\x5c\xb7\x33\x81\x1b\xbb\xcb\x21\x59\x95\x05\x93\x0d\x87\xab\x1b\x2a\xc9\x0c\x45\xb7\x22\xb7\x29\x7e\x6a\x9e\x29\x2f\x1f\x18\x41\x42\x8a\x25\x23\x9a\x97\xa9\x8d\xc5\xe3\xa5\x72\x5a\x35\xfd\x20\xc2\xf7\x1f\xae\x9b\x17\x0b\xe6\x1a\xcf\xe3\xe6\xac\x0a\x6d\xb7\x2d\x4a\x89\x0a\x68\x1f\xe7\x1b\x8d\x7b\x20\xdb\x24\xbc\xdb\x2e\x65\x69\xec\x3a\x05\x54\xe2\xae\xe8\x68\xef\x1e\x9a\xe4\x15\x2d\x8f\x98\xb0\xd4\x71\x60\xc5\x3e\xec\x32\x25\x9a\xf3\xf2\x79\x1b\xa7\x3a\x33\x7f\x84\x3b\xca\x55\x6b\x2f\x51\x99\xd7\xdc\x4e\xb7\x97\x37\x7c\x71\xd3\x6f\x33\x43\x38\xc9\xd6\x7e\xf6\xdc\x4c\xb3\x04\x5f\x7e\x43\xed\x49\xdf\xbb\xa7\xf6\xb0\xed\xdd\x56\x53\x30\xdc\xd9\xee\x4b\x24\xcc\xcb\xf3\xa6\x16\x5a\x38\x26\x94\x0c\x7e\x2a\x07\x9e\x89\x0e\x4c\x70\xc1\xd3\xcb\x5d\xd4\xe1\x1c\xb1\xd9\xc4\xa6\xb5\xc1\xca\xf3\xee\x68\xcc\x04\x7b\x1d\xe8\xa2\x9d\xc9\x2e\x52\x6b\x05\x7b\x63\xef\x8b\x60\xc9\x5b\xb2\x3d\xb4\xe4\xbc\x66\xf4\x5f\x17\xea\x86\xd5\x1b\x8e\x5a\x69\x2e\x41\xfb\x1a\x71\x0c\xca\x01\x52\x00\x8a\x83\x19\x31\x44\xec\xef\x37\xe4\x1b\xe9\xb3\x03\xce\x04\x3a\x38\x55\xe7\x65\x7e\x31\xbf\xb2\x7a\x9e\x9d\x12\x24\x18\xa2\x4e\x02\xfe\x35\xf1\xbf\xbd\x66\x8a\x06\x9b\xd6\x45\x2f\x1e\xfd\xf9\x54\x1f\x8d\xab\x88\xa7\xd1\x1c\x56\xa6\xf8\x9a\x19\x90\xea\x35\xab\xed\x96\x59\x9b\xf4\xb4\x97\x4c\x8c\x33\x4a\x12\x64\x24\x68\x22\x63\x63\x80\x66\x02\x05\x8f\x1f\x19\xbe\xa6\x63\x52\x39\x98\x3f\xc7\x20\x4e\x43\xfe\xd9\xf6\xf2\xb6\x1a\x3e\x69\x60\x39\x77\x5a\x6d\xf6\xcc\xc0\x22\x69\x47\x58\xda\x89\xed\xed\x35\x23\xab\xaf\x75\x86\x79\xc8\x8b\x8d\xcc\x26\x80\xa2\xac\x54\x2c\x38\xb7\x08\xf5\x70\xfa\xdb\xcc\x2a\x18\xfc\xa9\x81\xd8\x83\x0f\x63\x42\xf3\x35\x35\x1a\x61\x3b\x1c\x68\x40\x9f\x4e\x83\xb3\x88\x30\x7f\x88\x29\xf3\x05\x06\x67\xa0\x92\x42\xc4\xcf\x5e\x4b\xbf\x77\xe1\xa7\x84\x9c\x06\x77\x4f\x78\xe5\x38\x65\xa2\x6d\x09\x38\x5a\xe7\xf1\xe3\x58\x95\xd6\xb5\x33\xf5\xac\x50\x08\xd3\xfd\xa4\x9d\xba\xa3\xb9\xb4\x81\x66\x5e\x5f\x0f\x00\x1f\xdf\xbc\xa2\x82\xd6\xbf\xc8\x72\x46\xbc\xd8\x2b\x7e\x0b\x9e\x1d\xa8\x44\x1b\x13\x76\x97\xb1\x4a\x8b\x0c\x1c\xdc\x9d\xc2\x1d\xef\x05\xd9\x55\xf0\x92\xbd\x60\x2c\x81\xad\x7d\x6f\x84\xa7\x94\x86\xaf\x15\x80\xb5\x5a\x96\xc3\x14\x1a\xd6\xcb\x39\xa4\xfd\x3e\xa3\x75\xcd\xe9\x82\x19\xe6\x05\x51\x8e\x50\x39\x15\x4e\x5a\xef\x84\x1d\x39\xfa\x7c\xec\x46\x22\x5c\xa6\xa7\xd8\xd6\x4b\xb4\xc7\x10\x71\xe9\xd1\xdc\xda\xac\xb7\x1f\x52\x6b\xdf\x9a\xc0\x79\xab\x0a\xac\xc9\x70\x2a\x2b\x21\x25\x9f\x15\x5b\xa3\x66\x07\x16\x27\xb0\xc7\x26\x1c\x49\x3c\x24\x13\xc4\x3a\x41\x10\xfd\x3e\x4f\x8f\x1a\x23\x2e\x5e\xed\xdc\xf0\x40\x9e\x71\x9e\x6c\x01\xeb\xea\x33\x84\x67\x4e\x57\xb1\x87\x3a\x6a\xb1\x39\x0e\xac\xfd\xae\x52\x20\x99\x44\x4b\x8c\x6b\x00\x6e\xae\xa9\x03\x99\x3e\x56\x97\x62\x13\x36\x6e\x15\x7a\x0d\x29\xa6\x2a\x68\xc6\x00\x11\x2c\xc6\xeb\x01\x45\x26\x9b\xab\x8e\xec\xc6\x3e\x9c\xad\xa2\xa8\x82\x68\x71\x56\x71\x1c\x02\xa2\x73\xa1\x9e\xb4\xaa\xc5\x8c\xea\xbd\xfd\x1a\xed\xb4\xa8\x4d\x08\xfa\x87\x50\x37\x93\x86\x02\x06\xa8\xdb\x83\x2e\x29\x76\x38\xf2\x30\x6f\x68\xdb\x0b\x6b\x53\xc0\x18\x9a\xb1\xad\x30\x40\xd6\xf1\xd8\x1f\xf4\x07\x62\x67\x35\x95\xec\x5a\xbc\xd2\xeb\xb0\x83\x3d\x4a\x27\x42\xe9\x38\xe8\x87\x6d\x03\x74\x53\x25\x87\x69\x53\x17\x4c\xfd\x78\xc3\x15\x83\x09\x37\x72\x9b\x3e\x26\x4f\x46\xf7\x49\x86\x70\xae\x27\xe2\x9c\x73\x83\x74\x5a\xad\x3d\xaf\x43\xa1\xc6\xdd\xdd\xcd\xb3\xe6\x54\x54\x5a\x40\x29\x83\xb3\x16\xb3\xd4\x98\x53\xd8\x05\xa5\x1a\x0c\x5d\x73\x42\x55\x00\xf5\xd6\x2a\xa3\x4c\x1e\x22\xe0\xb3\x8d\xa5\x0d\x16\x42\x46\x1e\x1e\x68\xb6\x0d\x54\x4f\xab\x72\x2e\x6a\xb5\x2a\xa9\x62\x41\x4e\x23\xd4\x91\x59\xe7\x6f\x68\xc7\x70\xf0\x88\x19\x08\x8e\xb0\xce\x27\x38\x88\x78\xcc\xf9\x7c\xce\x33\x00\x05\x03\x37\x4e\x46\x56\x55\x40\x8b\xc6\x0d\x11\xd1\x38\xd8\xb2\x52\x5b\xd3\x38\x84\x53\x81\x66\xa8\x1c\x28\xa2\x6a\x5e\x59\x70\xbb\xd0\x64\xfb\xc0\x24\x5a\xb2\x0b\x67\xc8\xed\x12\x93\x3f\x4a\xc2\x17\xa5\xa8\x99\x75\x61\x25\x98\x16\x1c\xc1\xb5\xa8\x83\xcd\x35\xda\x2f\xbb\x06\x39\x5b\x73\xaa\xd0\xd4\x08\xfe\x39\xa0\x0e\xc4\x29\xd1\x45\xcd\x98\x31\x2f\x2c\x4a\xb1\x64\x13\x27\xd4\x68\x26\xe8\x56\x94\x52\x14\x6c\x4c\xee\xe6\x19\xfb\x5f\xee\xdb\x94\x90\x2b\x86\x47\xbc\x9e\xad\x16\xd3\x4c\x2c\x0f\x9e\xfe\xcf\xa7\xff\xf3\xf7\x87\x20\x96\xe6\x4c\x51\x5e\x74\x9a\xba\x45\xa5\x3e\xa4\x3c\x49\x62\xca\x83\x99\xf7\x3b\x8c\x97\xcd\x54\x97\xae\x87\xc6\xfb\xb5\xcf\x58\x17\xc8\x9a\xce\x9c\xb8\xa4\x77\x67\x5f\xc4\x6a\x15\x1a\xef\xfc\x12\xfc\xd1\x27\x90\x71\x3f\x8e\x5d\xa7\x23\x72\xe4\xfe\xdd\xd2\x52\xa7\xd4\xe9\xc1\xa9\x39\x39\x69\x26\xdf\x4c\x55\x78\x7e\xfe\xe2\xf4\xed\xab\xeb\x0f\x67\x17\xaf\x2e\x2e\x43\x5f\xb9\xfd\x2e\x64\xef\xf6\xbc\x67\xef\xbd\x33\x5c\xd2\x80\x53\x8a\x1c\xf3\xf1\x79\xef\xb2\x11\xf9\xf6\x24\x6d\xa3\xd8\x69\x93\xec\xb0\xe1\xe0\x55\x70\x76\x43\x6b\x39\xcc\xda\x39\x70\x12\xe9\x94\x87\xbb\xb1\x4b\xfb\xde\xef\xf7\xb9\xc4\x61\x5c\x7b\x2f\xee\xdd\x43\x6e\x5d\xeb\xe1\x65\xdb\xc1\x1b\x75\xde\xd7\xfb\xce\xdb\x3e\xcd\x40\xaf\xa5\x09\x26\xe2\xec\x38\x5f\x70\xfe\x0d\xe6\xc5\x03\x78\x36\xe2\x2c\x8c\x37\xcc\x6e\x8e\x60\x4c\x6a\xb6\xa0\x75\x0e\x4a\x3c\x31\xef\xb2\xde\xfc\xfa\x95\x3d\x9d\x69\xee\xf7\xde\x4b\x6b\x17\x27\x60\x4d\xcc\xcf\x49\x57\x61\x97\xb4\x29\x32\x7f\xee\x91\xc3\xb8\x17\x5a\xf7\xee\x63\xe8\x81\xf6\x5b\x6e\x66\x07\x6e\x6f\xdb\x9d\xc6\x44\x7a\x80\x7a\xe2\x6f\xb4\x95\xcf\x58\x32\x39\xfb\x3d\xb7\xf2\x32\x48\xc5\x17\xe5\x26\xd9\xa5\xe8\x6c\x6c\x7b\x98\xa4\x0b\x21\xa3\xbf\x3d\x31\x0d\xfd\xe3\x13\xc0\x0b\xde\x4c\xbf\x63\xd8\x2c\x83\xf6\xdb\x12\x30\x7c\x38\x43\x00\xa0\x6b\x7c\xb5\x76\x5a\x5f\x9b\xd0\xa5\xd9\x0d\xd2\x81\x73\xe8\x30\x58\x9d\x36\xe8\x77\xce\x8b\xbd\x01\xe7\x7a\xf0\x61\xb0\xc0\xcd\xfd\x88\xa0\x7b\x33\x0e\xed\x66\xb8\x9d\x46\x57\xff\xc3\x63\xf8\x47\x1b\x5e\xd6\xf8\xc7\xeb\xaf\x7e\xc7\x5d\xe5\x4c\x14\x58\x59\xff\xa3\x13\x9b\x36\x13\x45\xdb\x5b\xa2\x73\x88\x20\xb1\x67\xa2\x48\xa7\x9d\x6b\xbe\x8c\xd9\x4d\x32\xe3\x6a\x5f\x29\x06\x8f\xbb\xe2\x35\xb3\x68\x6e\xc0\xbd\x16\x8c\xc6\xda\x04\xaa\x8c\xc1\x3c\x0d\xb4\x1c\xd2\xc9\x4e\x22\xe9\x74\xb2\xf4\x18\xca\xee\x6d\x11\x15\x03\x94\x56\x30\x87\x1b\x1c\x63\x69\xad\xaf\x8d\xb7\xc7\xa8\xf2\x7a\xc0\x6f\x37\xd3\xcd\x7d\xb6\x0f\x66\x8f\xa4\x47\x0f\xa2\x9c\x47\x27\x27\x51\x8a\xc5\x73\x14\x71\xbc\xb3\xae\xd7\xfa\x4e\x1f\x90\x76\x9e\xf8\xd4\x93\x94\xb8\x8d\xcc\x38\x9c\xa4\x9c\xba\x87\x4c\x99\xce\x1b\xa8\xb3\x8d\xc3\x56\x10\x43\x27\x19\xe9\xeb\x46\xac\x8c\xee\xc8\xaa\x4c\x3b\x00\xe7\xf7\xbe\x1b\x64\x2f\xbd\xa1\x2d\xf0\x1f\x93\xe4\xbe\x20\xb9\xb9\xdb\xcf\x6e\x61\x83\xb9\x2f\x44\xa4\x18\x4d\xe6\xcb\xea\xdc\x5d\xff\xe0\x8d\x49\xa4\x22\x89\xb7\xdc\x87\x88\x20\x16\x35\xe8\x13\x30\xae\x23\x9d\x17\xa0\x19\xbf\x9c\xf4\x00\x6e\xfa\xbf\x80\x9b\x7a\xb5\x92\x37\x18\xe9\x11\x9a\x99\x69\x6d\xdc\x52\xa4\xd2\x32\x1d\x84\xc5\x95\x03\x85\xd9\x8e\x56\x55\xa7\x73\xfb\x68\x47\x3a\x8a\xb6\x50\x8d\x33\x72\x33\xdc\x0b\xad\xed\xb4\x8a\x9f\x13\xe6\xd6\xa1\xd3\x6c\xb3\x2e\x2d\xc3\x30\xee\x76\xd6\xcc\xa9\x6a\xc4\x61\x53\x79\xe2\x7b\x8e\xd2\x15\x2d\xc5\x9a\xa1\x8c\x6e\x02\x43\x1b\xd1\x29\x41\x3e\xda\xda\x46\x2b\x41\xfe\xd9\x5b\x46\x6a\x21\x96\xfa\x52\x7a\xe0\x12\xd4\x1a\xeb\xc9\x50\x8e\x4c\x10\x6f\x16\x36\x9d\x73\xa9\xd0\x66\x84\x21\x2f\x10\x12\x60\x13\xd3\xf8\x81\x9c\x24\xc6\xac\xff\x0d\x1f\x1f\x23\x9b\xa6\x2f\x55\x57\x23\x70\x33\xf3\x61\x9a\x41\xd4\x95\x2b\x38\x0e\x1a\x7c\xec\x3c\x27\x5b\x5c\x9f\x75\xef\x4c\xe6\x08\xe9\x1b\xec\x45\x1e\x93\xfb\xf1\x7d\x9d\xe7\xcb\x04\x53\xf4\x3c\x5f\xdf\xbb\xf8\xe0\x1a\xa2\xc7\x52\x11\xb9\x6d\x67\x35\xbd\x9d\x18\x3c\x05\x0a\xe2\x29\xd1\xed\xc0\x8d\x6a\x9b\x42\x27\x0b\xb0\x4d\x42\x2c\xaa\xa9\xb4\xaa\x8c\x8e\x4e\x0f\x16\x62\xb0\x20\x9d\x83\x41\x12\x30\xd0\xba\xf7\x89\x2d\x75\x87\xce\x28\x23\xf7\x01\xb9\xeb\x42\xfd\x0e\x5d\x27\xc7\x88\xfe\xb2\x55\xc4\xf0\xb7\x5e\xf7\xee\xb3\xd7\x56\x76\x39\xfa\xd5\xad\x1a\x8a\xed\x3a\x9f\x4e\x5d\xe5\x1b\x12\x6b\x76\x65\x22\x97\xfc\x49\x68\x52\x3f\xfe\xf0\xf0\xc4\x37\x90\x3a\x05\x90\x1e\xc9\xf6\x64\xdb\xdd\x21\xe0\xb6\x62\x61\xf7\x90\xbb\x1f\xeb\x7d\xc9\xfd\x4b\x89\x39\x2f\xe1\xda\x95\x41\x00\x95\xa7\x25\xa3\xe2\xee\x97\xf3\xa6\x83\x05\x69\x58\xbf\xfa\x92\xb1\xe9\xfa\x7e\x8f\xc7\x15\x9c\xa4\x5f\x45\xc7\x10\x02\xdc\xa9\x2c\xd3\x4c\x45\x22\x43\x57\xe4\x05\x6d\x82\x78\xfb\xf8\x0f\x7f\x31\x51\x15\x13\xb9\x4d\x7c\xd8\x58\x90\x2e\x26\xa9\xe4\x76\x39\x55\xfc\xde\x26\x6c\x51\xbd\x5f\xfa\x58\x7d\x7e\x8f\x9b\x07\x14\xa4\x3b\x76\x0c\x4b\xe5\xcd\xc7\x3e\xad\x5d\x35\x99\xbe\xa1\x82\x0b\xc7\xe8\xd0\x3d\x73\x69\x98\xd3\xe1\xa8\xad\x79\xee\x52\x23\xde\x33\x97\x9b\x19\x4b\xea\x4c\x47\x14\x93\x22\x37\x5b\x37\xac\xdc\x49\x26\x9f\x1e\xf4\xa7\x95\xab\x1b\x3e\x57\x11\x52\x49\xfc\x9a\xad\x2a\x4d\x4a\x92\xcc\xb6\x09\x03\x1d\x3c\x2e\xc9\x97\xd2\x61\x21\x18\x82\xda\xe1\xff\x0b\xb0\x39\x46\xb9\xf2\x00\xe0\x72\x35\x57\x94\x5b\xf8\xa4\x6b\xcf\x07\xe1\xed\xa1\xcb\x6a\x16\x76\xa5\xbc\x9d\xd7\xde\x45\x60\x2a\xa3\x7e\x5b\x43\x26\xd9\xd2\x54\x90\xb8\xd1\xd8\xd7\x62\xd6\x16\xe7\xa0\x08\x2d\x0a\xcb\x35\x83\x97\x0a\x42\xe6\x84\xa1\x6f\x7a\xa2\x9a\x67\xee\x71\xe5\x01\x54\x73\xfb\xca\xdb\x79\x8a\x6c\x38\xb3\xf3\xc0\xda\x75\x7e\xbc\x4f\xd6\xe7\x5f\x78\xdd\x96\xfa\xa4\x63\x41\x80\x12\xea\xd9\x86\x61\xc0\x06\xf6\x54\x9c\x04\x24\x38\x03\x5d\x65\x20\xd8\x42\xc6\x85\xfd\xb4\x17\x6f\x70\x0f\x71\xa8\x0f\xcd\x76\x79\xbf\xff\x73\x12\xac\x17\xf5\x22\x9a\xfd\xed\x28\xb1\x99\x46\xbc\x61\x09\xfd\xf5\xaa\xc7\x24\x51\x5a\xa6\xa9\xe5\x99\xe2\xbb\xef\x45\x9b\xcd\x50\x99\xfd\x5c\x8e\x01\xee\x49\x04\x8f\x87\x5e\x9f\xf3\x96\x37\xbd\x6e\x66\x20\x6a\xbe\xe0\x25\xc4\xe7\x0e\x08\x02\x47\xe7\x90\xd2\xad\xd9\x5c\x02\xc0\x42\x58\x07\xdc\xce\x3d\xd5\x43\xb3\x64\x19\x04\x65\xc4\xd2\xce\x7d\xab\xf5\xcd\x2f\x19\xef\x5a\x48\x11\x56\x31\xeb\x12\x3b\xb6\xbd\xbb\x70\x5d\xc2\xa8\x33\x4b\x14\x97\x66\x61\x3a\x94\xbd\x36\x2f\x61\x0f\x57\xa4\xee\xba\xbb\xdc\xc1\xc2\x8d\xe1\x4a\x26\xd3\xed\xa7\xb8\xdb\x5a\x6c\xd2\x4c\xaf\xc9\xb1\xba\x7b\x31\xd3\xb3\xde\xb9\xa8\xbd\x9d\xc4\x50\x71\x8f\xdc\x47\x56\xd0\x65\x35\x44\x4b\x4d\x2b\xa4\x06\xfe\xd9\x25\xc0\x19\xed\x89\xf1\x42\x0c\x5b\xb3\xf9\xfa\x0e\xc7\x9d\xee\x0b\x09\x66\xba\xad\x55\x8b\xb7\x69\xc7\x16\xd9\x13\xe8\x78\xdf\xdf\x76\x6f\xd2\x54\xb5\x73\x6f\x92\x4b\x9e\x5c\xa1\x20\x08\xe9\xef\xb7\xc0\x8d\xcb\xb0\x5f\x4a\xda\x2f\x75\x83\x9c\xd9\x29\x27\xd3\xd4\xfe\x5a\x47\xed\xd4\x74\x83\x78\x9c\xf4\x8c\x93\x71\x2b\x9f\x39\xcf\x45\xf7\x3c\x93\x68\x78\xbb\x3c\x7c\xba\xb7\x2c\xd2\x1c\xff\xb3\x3d\x5d\xf1\x1c\xee\x73\x18\x2f\x63\x0b\x78\x6d\xd1\x10\xfa\x3c\x08\xfb\x17\x7c\x1f\xd5\x04\x8b\xde\x97\x64\x7a\x21\x5c\x26\xe7\xd6\x9b\x58\xea\x46\xa2\xf0\x4b\xc4\x8e\x46\xef\x40\x15\x23\x46\xd6\x00\xd7\xae\xdf\x39\x56\xcc\x89\x14\x31\x03\x64\xbe\x86\x69\xf8\xa9\xdc\x96\xd9\x4d\x2d\x4a\xb1\x92\xc5\x76\x0c\x55\x4c\xca\x0a\x58\x18\x5a\x40\x72\xd7\xec\x96\x6c\x78\x09\x06\xf2\x0d\x46\x95\xda\x94\x7d\x50\xc4\xc3\xe6\x66\x82\x16\x4c\x66\x16\xe0\x8a\x5a\x6c\x5e\xec\x7a\x1f\x39\x44\xa0\xf3\x1f\x76\x78\x95\x2b\x44\xc8\x97\x1f\xa6\xd8\x70\xd2\x0d\x0f\xd6\x00\xdf\x51\x77\x99\x36\x2b\x92\x93\x10\x70\x3f\x01\xc7\x6f\x74\x33\xba\xad\x56\xe5\x63\x07\xd9\x5f\xcc\xa3\x48\x6f\xfc\xfc\xc1\x41\x71\x24\x10\xd0\xba\xf7\x70\x16\x20\x7d\x45\x2a\xec\x08\x97\x05\x8f\xfc\xdf\x63\x2b\xbd\x70\xe1\x43\xd0\x41\xde\x69\x84\x42\x7b\xd9\xda\x08\x67\x7e\x8e\x63\xa3\x36\x97\x81\xf5\x57\x37\x96\x0b\x2f\x79\x79\xaf\x8b\x30\x0c\xb1\x07\xf5\x04\x90\x78\xbd\x28\x48\xba\xf2\x9f\x41\x45\x32\x14\xa1\x3e\x87\x92\x7c\x03\x9d\xd4\xd4\xc6\x0d\x80\x22\x4d\xdc\x00\x43\x69\x4f\x0e\x77\x33\x5b\xab\x0a\xdc\xdf\xdb\x6a\xc6\x14\xd4\x54\x2f\x69\x73\x19\xf7\xb0\xcf\x30\x0c\x85\x3a\xd5\x1f\xe1\x85\x88\x45\xf5\xda\x0c\x27\xa1\x22\x77\xf7\x04\x41\x15\xf1\x0f\x30\xc5\xa6\x5c\x1d\x4c\xd2\x1a\x45\xfc\x9c\xac\xdd\x65\xc9\x4b\xf4\xa2\x70\xf1\x91\x09\x11\x8b\xfc\x31\x2d\x1c\x90\x23\x23\x54\x1b\xbb\xcc\x67\xb5\x64\xe5\x03\x72\x94\x0a\xbe\xdc\xc9\xee\x3e\x08\x31\x44\x43\x86\x77\x7f\x48\x16\xda\x6a\x3a\xc3\x3d\xdd\xb2\x8c\xfd\xbc\xa2\xe0\x88\xb6\x2a\x0c\xc1\x42\x77\xd0\x09\xc4\xa5\xa4\xe9\x04\xd9\x85\x10\x60\xd7\x84\xf8\x34\x31\xba\x34\x37\x66\x58\x29\xb8\xd2\x8c\x83\xbd\xc3\xe8\x85\xf2\x95\xb9\x42\x2d\xe0\x85\x95\x40\x6b\x54\xa1\x95\x64\xc3\x20\x74\x01\x9d\xfb\x21\x9d\x35\x94\x0b\xfa\xa2\x92\x6c\x58\x3b\x69\xf6\x6e\xe5\x3e\x4e\xe2\x73\xc9\xb7\x19\xae\xb2\x87\x7c\x23\xf3\xdc\xb7\xe4\x49\xf2\x2e\x35\x33\x3f\xbb\x5f\xec\x5b\x5b\xdb\x60\x76\xe3\xc7\x16\x52\x53\x6f\xb7\xfd\x16\xb2\x13\x97\x41\xf4\xb6\xd1\xb0\x63\x14\xcb\x92\xd6\x0b\x5e\x8e\x21\x71\xc9\x6a\xc9\x20\xb8\x0c\xa7\xa9\x04\x59\x30\x45\xb8\xf2\x6d\xc1\x3e\xda\xc0\x27\x2a\x2d\x04\xb1\xf5\xe3\x81\x28\x57\x5a\x55\x05\x67\x26\xbf\xfd\x06\x42\x34\x79\x69\x29\xcc\x37\xd5\x20\xb5\x69\x08\xa3\x34\x99\xf4\x71\x4b\x0f\x30\x82\x1e\x66\xde\x56\xda\xf6\x55\x77\x76\x94\x92\x6d\x7a\xfa\x68\x04\x35\xdc\x76\xc6\xdb\x3b\xf1\xa0\x3a\x38\x06\x5f\xf4\x5b\xef\x0f\x46\x7c\x9f\xe6\x1f\x13\xb4\x15\xcf\x0b\x21\x6a\x43\x4f\x07\x69\x39\x79\x64\xbd\x57\x83\x1e\x2e\xc1\x99\xf1\x30\xc4\x3e\x3a\x38\xb0\x68\x36\x85\x14\xb0\xac\xc6\x23\x58\x1f\xc0\xc3\x68\xb7\x90\x9d\x27\x8d\x81\x75\x5c\x7a\x8f\x6d\x89\x7f\xed\x72\x9e\x6c\xc0\x20\x85\x6b\x95\x16\xfc\x1f\x07\x65\xda\xad\x6e\x02\xd8\xac\x07\x09\xbb\x96\x93\x87\xd0\xd8\x4e\xef\xcc\x82\x68\xf6\x73\xec\x5b\x46\xca\x88\x14\x6e\xcd\x9d\x74\x0d\x24\xb7\xb4\x69\xf0\x6e\xd8\xd5\xc2\x8e\xf6\x29\xe7\x60\x21\x7b\x5d\xc2\x7f\x8b\x3b\xaf\x15\x15\xf4\x45\x2e\xbd\x94\x0a\xa8\x7f\xa0\x4a\xf7\xa3\x48\x48\x5f\x0d\x52\x8f\x28\x61\x93\x35\x0c\x1d\x95\x45\xcd\x4c\x44\x90\x7e\xd4\x9a\x61\x75\x72\x27\xd0\x3e\x5e\x71\x56\x20\x60\x77\x46\xc8\xd9\x50\x49\xb4\x50\x54\xba\x34\x2a\x09\x6b\x4a\x1c\xeb\xa9\x05\x24\x3c\xb8\x4a\x10\xc9\x20\xe0\xdd\xbe\xc3\xde\x99\xce\xe0\x9a\xf8\x9e\x8c\xbe\x03\xf0\x52\x82\x1e\x7d\x77\xb6\x18\x48\x4d\x10\x91\xc7\xcb\x8c\xe7\xcc\xcb\x1e\x26\xa0\x10\xd4\x26\xa5\x98\xb8\xaa\x03\xb3\x00\x53\x42\x5e\x6f\xc9\x62\xc5\x24\x84\x0b\xba\x48\xd4\x52\xb4\xec\x35\x33\x21\x0a\x46\x4b\x40\x6b\x55\xcc\xa2\xb5\xa2\x37\x99\x64\xfb\xfc\x23\x1a\xe9\xdc\x1a\x70\xaa\x8a\x05\xda\x91\xe6\xe3\x68\x2b\x40\x39\xfb\x8c\x06\x95\x52\x00\x65\x4c\xbd\x70\x5b\xdf\x91\xd2\xb3\x99\x1c\x74\x30\x6a\xd8\xc9\xc3\xd6\x9e\xb9\xc2\x1d\xad\x79\x4a\x8b\x5a\x4b\x18\x03\xee\x39\xcc\x8e\x86\x3f\x73\x98\x1d\x93\x8e\x83\xa0\x7d\x3e\x14\xa3\x78\x9b\xb1\x86\x98\x0c\x92\x35\x64\x4b\x28\x28\x82\x8a\xeb\x22\x84\xae\x72\xae\xef\x2b\x48\x75\x40\x4b\x22\xca\x8c\x91\x8a\x69\xd1\x33\x13\xe5\xde\xe0\x73\x5e\x2e\x9e\xb1\x38\x6c\x20\x20\x0b\xbc\x5b\xc2\xec\x95\xb3\x78\xb6\xa4\x19\xf2\xe7\x56\x66\xd1\x5e\xe7\x51\x97\x58\xbc\x5b\xf4\x05\x79\xb5\xc7\x48\xb0\x60\x77\x06\x59\x27\xe4\x3e\x3d\x3c\x74\xee\x9c\x7a\x0d\xaf\xfe\xef\x8a\x15\xd9\x8d\x19\xc2\x07\x77\xff\xcc\x84\x3e\xf9\xb0\xbe\xfa\x26\x2b\x85\xe2\x73\x9e\x21\x98\xb8\xae\x07\xd0\x2d\x8e\x69\x4c\xb4\xd4\xba\xd1\xa3\xc2\xa7\xba\xe5\x0f\x8d\x34\x49\xb2\xce\x06\xa3\xe8\x8c\x05\x45\xf5\xce\x47\x4e\x29\xd0\x27\x6b\x0c\x7f\x9f\x2a\x81\x78\xa4\xe9\xf4\xb0\x1d\xe7\x11\x64\x89\x1c\x93\x6f\x0e\x0f\xdb\xc7\xab\x47\x4b\x9f\xa2\x89\xe7\x4c\xde\x2a\x51\x7d\x1f\xac\xa5\xa6\xbf\x0f\xde\x77\x27\xc8\x66\x4d\xe5\x0b\xcc\x8d\x18\xa5\xab\x72\xf8\x9c\xb0\x21\xed\x05\x09\xdb\x7e\xc5\xa5\xfa\x60\xd2\x57\x99\x72\x0e\x00\xf5\x0a\x91\x00\x36\x8c\xa8\x1a\x62\xa8\x6b\xca\xcd\x1b\xb6\xe1\x65\x2e\x36\x00\x00\xf8\x47\xa8\x54\x4e\x45\x09\xe9\x48\x1b\x07\xc5\x10\x67\x21\x20\x02\x2b\xea\x5a\x7e\x18\x8e\x8e\xc9\xa7\xd6\x51\xb7\xba\xfa\x40\xa3\x4e\x66\x5c\x05\xe2\x62\xf8\x05\xde\xc4\x31\xc9\x58\x0d\x30\x22\x1e\x48\x2d\x0d\xb6\x65\x13\x3f\x11\x97\x66\x4a\xb3\xa9\xf0\x9a\x30\xc5\xda\xda\xfa\x56\x74\x12\x09\x91\x9e\x90\xc5\x85\x84\x37\xb2\x12\x65\x1e\x82\x47\x07\x7e\x13\x6d\x95\xbf\x9d\x8c\x8d\x05\x80\x20\x81\xf9\x7c\xdf\xf3\x56\xaf\xec\xcb\x16\xae\xc1\x18\xc1\x3d\x21\x20\xaa\xec\xf5\xea\x5d\x78\x15\x45\x9f\x37\x4f\x84\xc5\xdd\x8b\xd7\xc1\x1d\xb7\x63\x39\xec\x86\x1a\x97\xfe\xc4\x86\x86\x5f\xcc\x86\xb2\x3b\x2e\x11\x12\x47\xb3\x1e\x31\x50\x44\xe4\x5a\x64\x14\xaa\x10\x52\x88\xfe\x1e\x86\xef\x6d\x3a\x94\x83\xf1\x44\xb7\x16\xef\xa1\xfd\x95\xb8\x10\x28\xd8\x45\x5a\x6e\xe3\x31\xfc\xfa\x2d\x0b\x66\x79\xff\x2d\x7b\xe9\x80\x67\x7b\x6d\x19\x0f\x8b\x9b\x2d\x4b\x6c\x09\x5d\x69\x0e\xcd\xe0\xc6\x58\xed\x60\xbc\x37\xc9\x22\x0e\x83\xad\x24\x54\xaf\xed\x72\xce\x22\xb0\x65\x90\xf2\x0d\x52\x39\x3a\xe0\x50\x89\x38\x48\x05\x2f\xd9\xd8\x5b\xbc\x7c\xd2\x6a\x49\x21\x59\x37\xa1\xe0\xd3\xa4\xdb\x33\x5e\x44\x39\x9f\xcf\x59\x0d\xa0\x0a\x33\xc1\x0b\x89\xaa\xec\x0d\x30\x97\x9b\x1b\x06\x40\x13\x7a\x77\x45\xc2\x2a\x6b\x38\x59\xf6\xe5\x19\xc7\xd3\x36\xe8\x4f\x9f\x7d\x49\x60\x05\xed\xda\x9f\xa6\x42\x2c\xde\x9a\x84\xba\xac\x79\x17\xda\x6b\xcf\xe4\x5f\x6d\xf8\x95\x29\x14\xd8\x83\x5b\x2b\x8a\xc7\x9e\x0b\x5d\x41\x1f\x00\x04\x3b\x8c\x30\xee\x42\x3c\x3e\x90\xba\x9c\x41\x05\x60\x32\x9a\x70\x58\x98\x59\x2c\x48\xf6\x07\x47\x8d\x54\x54\x2a\xc2\x15\x7a\x9e\x21\x94\x46\xf2\xa0\xb5\xec\xeb\x3b\xce\x59\x63\x59\xee\x7f\xd6\xbc\xe6\xab\xd7\x9e\x6e\xc2\xe2\xdd\x7b\x69\x24\x87\xc9\xfd\xf7\x74\x3e\xff\x75\x9b\x1a\x6c\x46\xa8\x3e\xed\xb9\xa3\xce\xef\x03\xf0\xe0\x7e\xe5\x1d\xd8\xb1\x08\xf7\xdf\xa3\xcb\xa6\x92\xf2\x3e\xd2\xdb\x8f\xfb\x76\xac\x40\xfe\x96\xa9\x0d\x63\x16\xd8\x85\x2f\x69\x8d\x61\xac\xe0\xc6\x0a\xf0\x35\x48\xdb\xa1\x2a\xdb\x7f\x0b\x8f\x24\xdc\xb5\x8d\x5a\x1e\xfb\x30\xdc\x08\x7b\x80\x6c\x7f\xad\xb2\x16\x26\x7a\x43\xab\xca\x24\x8b\xd6\x43\x30\xf6\x3e\xc2\xd0\x39\x52\x74\xc4\xaa\xd9\xea\xe7\x34\xbb\xb1\x6d\x5b\x0c\x36\x09\x1e\x5c\xfa\x66\xed\x70\xf3\xfb\xfc\x6d\x8f\x57\xe5\xfe\xbb\x7d\x6a\xeb\xef\x78\x00\xef\x07\x78\x61\x37\xde\xda\x68\xdc\x08\xaf\xcc\xf7\x23\x62\x04\x55\xd8\x87\xab\x20\x45\x4a\x4b\x0d\xde\x02\xc7\x7c\xf4\x28\x15\x63\xed\x71\x5a\x0e\x83\xfc\x27\x0f\x77\xa6\x59\x09\x02\x7b\x5f\x46\xd7\xa9\x89\x1e\x81\x5c\x95\xd2\xa4\xcf\xd8\xe8\xff\xab\x19\xa1\x1b\xba\x1d\x43\xba\x02\xdb\x0b\x93\x64\x49\xb7\xb6\xa5\x99\xe6\xc5\x4c\x9a\xc6\xa9\x93\x1b\xfa\x66\x7d\xe9\x4e\xe8\x64\xe7\xd7\x8d\xf6\x4f\xeb\x6d\x1a\xea\x9f\xd6\xbb\xb3\xc2\xb4\x03\xd1\x69\xc1\x7f\x41\xb4\x9a\x0f\xe9\x58\x83\x10\xc2\x04\x0a\xa3\x61\xab\x5d\xfa\xa6\x69\xf0\x0a\xf5\x17\xdb\x32\x43\xcb\x9d\x0f\xbf\x4e\x14\xe3\x51\x8e\xa6\x7e\x11\x2c\xb1\x4b\x83\xde\xc7\x66\x50\x42\xe4\xb4\x34\x99\x15\xbc\xbc\x4d\x3d\x19\xd1\xf7\xe0\xc2\x71\x30\x70\x9a\x41\x86\x8f\x60\x13\xe1\x10\x3a\xb9\xe6\x92\xcf\x8a\xe8\xea\x01\x36\xcd\x7e\xf0\xf6\x5e\xe3\x75\x0d\x2d\xd8\x5e\xff\xc3\xa7\x5a\x02\x1e\x1b\x45\x2a\x41\x90\x7f\xd4\x25\x6d\x82\x1c\x3e\xb7\xe9\x68\x10\x3e\x5e\x09\x08\xe5\x16\x12\x21\xb2\x1e\x44\x99\x31\x3d\x5b\xa8\xeb\x14\x05\x29\x18\xbd\x25\x94\x18\x83\xfe\xaf\xe6\x0c\x5a\x2b\x79\xff\x9b\x08\x37\xf3\x19\xb4\xd0\xe7\xc5\xc9\xa2\xf2\xe6\xad\x31\x97\xc8\x43\x1c\xa1\xcd\x5c\xe3\xdd\x16\x82\x4a\xf6\x88\x80\x11\xca\x2a\x2d\x76\x14\x3f\x6e\xa9\x1d\x92\xe5\xda\x8a\x87\xc6\x88\x7f\x40\x32\x18\x25\x0c\x11\xe6\xd3\x50\xd5\x2b\xb6\x93\x62\x2d\x29\x75\xd3\xac\x2d\xd1\x45\xb5\x2c\x45\xa7\x9a\x82\xad\xb2\xef\x4b\x91\x44\x38\xd4\xcf\x25\x0a\xb3\x2e\xf7\x20\x0b\x5f\x23\x45\x18\x2d\xb3\xeb\x4e\x02\xb9\x2f\x89\xf4\x24\x12\x6b\x5f\xeb\x50\x77\x8a\x8a\x66\x5c\xe9\xa7\x60\x70\x38\x38\x4e\xe1\x4b\x20\xed\x74\x66\xf9\xd8\xdf\xee\x93\xc1\xf1\x2e\x42\x8d\x16\x61\xcf\x52\x35\xa0\xc4\xfc\xc4\x44\x19\x9c\xeb\x0f\x09\x98\xd4\x7f\x80\x3d\x88\x95\x64\xc6\x1b\x0d\x5e\x7f\x7d\x6c\x1a\xd7\x36\x26\x43\x46\x45\x61\x90\x49\xbd\x19\x79\xa3\x9b\x72\x02\x33\x20\xeb\x53\x63\x31\xda\x45\xf0\xed\xcd\x4c\x03\x2b\x29\x51\x5d\xfa\x07\x3d\xa5\x01\xbf\xf6\x25\x3c\x44\x2b\xfa\xe3\xed\xa9\xf9\x2c\x2a\x34\x0c\xba\x1a\x1d\x37\x51\x11\x12\xed\xb4\x73\xfa\xa6\x38\xb6\x0e\xf8\x84\x28\x01\x2c\x36\xfe\x87\xc6\xa8\x03\xbe\xed\xcc\x09\x55\x61\x8a\x51\x87\xd0\x02\x96\x54\xae\x88\xde\x79\x9e\xbb\xbc\xe3\x76\x3f\x69\xcd\x68\x0c\xcc\x7c\x26\xe5\x0f\xb4\x76\xca\x7b\xe4\x93\x20\x69\xf0\x98\x0c\x26\x4f\x5c\xea\xe0\xf8\x18\xee\xb9\xe7\x1b\x2c\x6b\xfb\x40\x5a\xfc\x95\x93\x13\x32\x28\x45\xc9\x06\xc1\x0c\x2f\xd9\xc4\x7e\x8e\x4c\x34\x56\x9c\x9c\xc3\x8d\x4d\x25\xb9\xe1\x79\xce\x5c\xce\xd7\xa5\x58\xc9\x04\xf6\xf4\x8e\xbe\xc9\x60\xe0\x26\x74\x70\x40\x5c\x70\x41\xe8\x80\x07\xe9\xae\xcf\xae\xae\x34\x09\x70\x50\xb9\x2e\xa9\xba\x99\x12\x10\xae\x19\xc9\x51\x24\xd6\xbf\x11\x5e\x92\xff\x73\x35\xf6\x40\x13\xf3\x42\x50\x85\x9f\xe0\x7d\xd1\x72\xf3\xaa\x22\x33\x86\x19\xb4\x6b\x10\x9f\x33\x14\xd2\x28\xf6\xaa\x3b\xc2\x74\x35\xba\x06\x36\xe5\x10\x4d\x9d\x44\x5e\xd3\xec\xd6\x30\x3f\x33\x66\x44\xa7\xe6\x7e\x9a\xe5\x4f\x6d\xab\xf9\xf4\xf3\xbf\xfc\xb5\x41\x75\x93\xf0\x88\x7d\x22\x8f\xc9\xcf\x8e\x8e\x7f\xfe\x97\xbf\xb6\x8e\x8d\xa1\x29\xf0\x75\xac\x5e\x83\xe3\xcd\xa7\xea\xee\xe7\xd8\x94\x9d\xa4\xae\x4c\x14\x83\x9e\x3e\xe0\xc9\x3b\x3d\x32\xe1\x28\xae\x0a\x36\xd8\x69\x79\xc7\xa5\x18\x0e\x9a\x99\xed\x3b\x6c\xf9\xfb\x9b\x1a\x93\x7d\x6d\x81\xa7\xdc\xfe\x86\x46\x03\x67\x1a\x7b\x5b\xe5\xd4\x04\x96\x67\xb4\x66\x0a\xf3\xda\x3f\x79\xb2\x25\xd5\xaa\xd6\x1c\xae\x9c\x7a\x73\x9e\xb9\x80\x5b\xd9\xbf\x17\x4c\x5d\xd9\xaf\x43\x17\xb0\xed\x2b\x3c\x7a\xe4\x6b\x4f\xb9\x3c\x13\x45\x41\x2b\xc9\xf2\x51\x3b\x7c\x1a\x64\x15\x5b\xf6\x4c\x8f\xc8\xb7\x13\xf3\x69\xa7\xf9\x5f\x56\xd2\x7a\x14\x03\x30\xae\x98\xb7\x76\xad\x9d\x6c\xa5\x81\x75\x20\x6f\x68\x85\x42\x43\x19\xea\x7e\x33\x56\x14\x24\xe7\x4b\x56\x4a\x7d\xd1\xec\x45\xf7\x86\x01\xe0\x25\xd9\xf1\x8e\x40\x47\x76\xe9\xb0\xf3\x2b\xfd\x53\x43\x1c\x0f\x29\x2e\x36\x1a\xce\x45\xb6\x92\x83\x11\x5c\x5e\xc0\xdb\x85\xb7\xd7\x69\xb1\xa1\x5b\x89\x28\x3f\x94\xcc\x0a\x91\xdd\x3a\x26\x54\xcb\x4b\xab\x12\xaa\x83\x62\x92\x10\x37\x98\xc6\x8c\x82\x61\x4d\x9f\xbd\xba\x38\xfb\xee\x38\xc4\x28\xc5\x45\x3e\xe9\xb8\xe0\x60\x1a\x72\xc3\x55\x76\x43\x86\xd0\xbe\xe3\xfa\xa9\x64\x3b\x7b\x3a\x3f\x7d\x6d\x3d\x49\xf1\xae\xbc\xb1\x5e\xa9\x83\x35\xad\x87\x93\x09\x54\x9e\xe8\xdd\xd1\x12\xe6\xc4\xc8\xba\x83\xe3\xa8\x52\xdb\x54\x3c\x50\x35\x2d\x65\x45\xf5\x7e\x37\x0b\x8b\x3a\x67\x35\xbe\xbf\x57\x66\x5e\x3e\xed\x53\x5c\xea\x15\x9b\x2b\x5b\x66\x20\x45\xc1\x73\xd7\xd8\xac\x66\xf4\xd6\xf0\x60\xfb\xa6\xf9\xf6\xfb\xe7\xe7\x97\xaf\x5e\x7e\x7f\xde\x31\xd7\xd6\x4d\xe7\xa8\x11\x04\xfc\x19\x95\x0c\x72\x48\x3e\x26\x83\xea\xee\x4b\xcf\xbd\x31\x2f\xfd\x00\xa0\x6a\x05\x8f\x17\xff\x05\x24\x89\x0a\xe0\xaa\x09\xbb\xa3\x80\x77\x63\x01\x01\xcc\xc8\xf6\x2c\x5d\xb8\xbc\xe1\xba\x19\x4f\x9a\xdf\x84\x02\x02\x52\x85\x9f\x3e\x7c\x19\x2a\x48\x4c\xe5\x9e\xac\x6d\x2b\x7a\x3c\xcd\xc0\xba\x58\x8e\x6d\x99\xfd\x7d\x22\x39\xb6\x65\xd6\x37\xa8\xa2\x0f\x47\x9d\x0a\xae\x70\xf5\x3e\x27\xb8\xc2\x55\xde\xeb\x11\x81\x41\x13\x69\x19\x0e\x4b\x74\x84\x5f\xb8\x2a\x5d\xa1\x3a\x57\xfa\xd6\x15\xb5\xe6\x0c\xf1\x25\xfd\x45\x88\x25\xd9\xd0\xba\xc4\x94\xac\x6e\x1b\xc3\xdf\x41\x1b\x4e\x96\x4c\x4a\xba\x60\xee\x47\x5d\x7b\x25\x11\x75\x5e\x19\xdc\xa9\x59\x2d\x36\xfa\x27\xa8\xbd\x5c\x49\x85\xbe\x6b\x98\x9c\x43\x90\x27\x87\x87\xff\xaa\xb9\x40\xa0\x52\x78\xbe\x6f\xac\x47\x9c\x83\x1d\xc0\x7c\xea\xc5\xb6\xaf\x4e\xe1\xc6\x58\x63\xcc\xf0\x02\x65\x02\xcc\x91\xef\x55\x27\xdc\x88\xcd\x7f\x0a\xb1\xfc\x11\xa7\xd5\x4c\xf2\x6d\xd5\x02\xa0\x26\x80\x1d\xfd\xc5\x17\x86\x37\x25\x94\x85\x8d\x22\xa1\x53\xee\x6d\xd6\x6d\xf3\x27\x59\xcd\xa8\x62\xe7\x05\xd3\x7f\x0e\x07\x39\x5f\x0f\x42\x7f\x92\x66\x03\x53\x9e\xeb\x9b\x07\x66\x77\xa4\x3f\x4e\xcc\xf6\x0c\x76\x55\xc2\xcb\x22\x93\xf2\x9a\xdd\x41\x44\x85\xe3\xc3\x06\xe0\x9b\x74\x44\x66\x05\xcd\x6e\x8f\x07\x01\x87\xd6\x72\x1b\x3b\x22\xff\x63\x3e\x7f\xfa\xf4\xe9\xd3\xb8\xd8\x5c\x94\x6a\xa2\x6f\xbe\x23\x52\xd0\x7a\xc1\x1a\x8d\xc0\xd6\x4f\x6a\x9a\xf3\x95\x3c\x22\xbf\xab\xee\xe2\xef\x46\x0f\x71\x44\x0e\xa7\xff\xf6\x4d\xfc\xa9\xa2\xb9\x66\x8e\xf4\xa7\xa7\x6c\x49\x0e\xa7\xdf\xc0\xff\x77\xff\x8e\x4b\x2b\x51\x1d\xa5\x7e\x07\x5f\x85\x23\xf2\x44\xd7\x6b\xb4\x6f\x4e\xd9\x91\x4b\x2e\x1a\x7f\x9f\x6c\xd8\xec\x96\xab\x89\x62\x77\x38\xc1\x09\x05\xb6\xee\x88\x68\xf9\x2c\x5d\x56\x9f\x8f\x09\x32\x85\xc9\x62\x4b\xf1\x4b\xbf\xf6\x74\xc1\x44\x63\xa3\x5d\xc4\x35\xa5\x79\x7e\xbe\x66\xa5\x7a\xc5\xa5\x62\x25\xd3\x52\x46\xc1\xb3\xdb\xc1\xd8\x53\x38\x6b\xe0\xd9\xe2\x2b\xac\xab\x4f\x31\x0f\xc9\xd9\x0d\x2f\x8c\xcb\x95\xb9\x53\x1a\x60\x3f\xad\x5e\xf5\x7c\xce\x0c\x76\x1c\xba\x09\xbf\xc6\xa3\xf9\x9a\x96\x74\xc1\xea\xa9\xc9\x5f\x72\xc9\x8c\x9b\x81\xb4\xe4\x87\x67\x34\x68\xd0\x54\xb4\xa2\xcb\x3b\xc8\xd7\xfe\xb2\x54\xc3\x3d\x0c\x88\x6e\xe2\x05\xcd\x94\xa8\xc9\xd7\xfa\xd2\x19\xbd\x0f\x04\xa5\x8e\xd3\xa0\xe9\xf6\x05\x5d\xf2\xc2\xd9\x59\x62\x0f\xcc\x52\x4d\xe6\xf0\x79\xe0\x11\x61\x5b\x6a\xc3\xf4\x0d\x11\xac\xea\x28\x5c\xec\x9c\xaf\xc3\x6f\x26\xc7\x94\x5f\xf1\xf6\x55\x73\x1c\xe7\xcb\xda\xdb\x5b\xe8\xb7\xb7\xa3\x5c\x6b\xaf\x3b\x7a\x6e\xbd\x24\x91\xfa\x41\xac\x59\x5d\xd0\x2d\x8a\x65\x06\x39\x87\x2e\xc1\x9b\x5c\x8b\x3b\x7c\x19\xa1\xf0\xb7\xaa\xd9\xec\xbc\xbc\x24\xbc\x44\xbf\xe8\x35\x78\xfd\xf2\x92\x50\xbc\x4b\x88\xde\x86\x31\xc9\x58\x09\xb8\x46\x00\x34\xb3\x36\x7c\x44\x90\x9a\x23\xb0\x96\x38\x67\xe6\x5b\xc6\x30\xd9\x88\xed\xce\x3e\x67\xb3\x9a\xb3\x39\x64\x83\x85\xcc\xc1\xe8\x20\xd3\xe8\x12\x24\xae\xad\x58\xf9\xe6\xf4\xd2\x0d\x94\xb7\xb1\x64\x37\x2c\xbb\x75\x0c\x28\x22\xe0\xc4\xab\x33\xe7\x75\x1b\xff\xc6\x82\x6d\x2f\xe5\xc2\x2c\xca\x9d\xc2\x4c\x3f\x7f\xba\x7e\xfd\x6a\xe4\x06\x69\xac\x38\x7a\xdc\x26\x9a\xc7\x4c\x63\x9a\x42\x8e\x10\x95\xfa\x60\x98\x02\x68\x35\xde\x04\x70\x58\xa0\x5c\x91\x19\x9b\x8b\x9a\x91\x39\x05\x99\x53\xac\xe0\xb1\x46\x72\xf1\xed\x93\x48\xd5\xff\x64\xfa\x8d\xf1\xe3\x95\x53\x42\xde\x50\x29\x81\xc1\x84\xd7\xd6\x42\x4d\x9b\x9a\xb6\x31\xa9\xe8\x96\xac\x2a\x70\xc3\xd7\x7b\x35\x14\x35\x59\x95\x8a\x23\xac\x79\x69\x3d\xc1\x0a\xba\xdd\x97\x9f\x4b\xbf\xd4\x17\x66\xf7\x82\x47\x7a\x29\x17\xe3\x70\xca\xcd\xf7\xda\xb4\xde\x7e\xab\xdd\x19\xdc\xa1\xa7\x0e\xea\xde\xfb\xad\x0e\x2b\xef\x7a\x72\x1b\x6f\xe2\x93\x6f\x9a\x8f\x62\xf0\xa4\xde\xdd\x4d\x12\xaf\xea\x17\x7b\x35\xfb\xbe\x81\xfb\xde\x35\xfb\x54\x6a\xc1\xce\x34\x68\x2d\x0c\x4f\x7e\x77\xb8\x94\x84\x51\xc9\x26\xbc\xec\xf7\xca\xb5\x9f\xcc\xfd\xed\x8e\xba\xb6\x31\xf1\x2a\x82\x62\x54\x8b\x1d\x1d\x2f\x23\xd3\x4f\x81\xae\xe2\xd0\xfa\x8e\xdd\x17\xa9\x44\xf5\xa6\x16\x15\x5d\x50\xaf\x52\x02\xce\xdb\x98\xeb\xc2\xb7\x32\x45\x11\xa1\xf8\xb7\xdb\x4b\xff\x78\x47\x33\x1d\xf2\xe4\xee\x20\x82\x5d\x0d\xde\xf7\x39\x6c\xb7\x13\xf3\x01\x4b\xb9\xd8\xd5\x5d\x68\xd7\x9a\xfe\xdb\x37\xde\x04\xd5\x3e\xc3\xad\xd7\xd4\xbf\xa5\xad\x07\x34\x3a\xfb\x4e\x4e\xcb\xf9\x5a\xb3\x09\x4e\xa9\xb4\x60\xea\xac\xe0\xac\x54\xfa\xd7\xa1\xbf\x16\xac\x61\xc3\xb4\xb2\xaf\x4e\xbb\xb3\xae\xd9\x02\x4e\xad\x21\xa1\xa1\x19\x8d\x0f\x3e\x0e\xba\xb3\xbe\x12\xe4\x80\x3c\x0d\xb4\x29\x5d\xed\x16\x18\xe5\xea\x9a\xb4\xd1\x53\x61\x8b\xe6\xb7\xae\x30\x09\x23\xe4\x5f\x59\xdc\x03\xf0\xf8\x78\x73\x17\x8f\x20\x25\xef\x46\x36\x0f\xec\x2f\x0e\x3b\x68\x9b\xea\x9a\xc5\x5c\x23\xe1\x03\x76\x72\xd2\xce\x83\xdc\x5a\xdc\xde\xb1\x06\x20\x30\xef\xa1\xbf\xc1\x71\xa2\xf0\x3d\xa2\x19\x9c\x4a\x79\xbe\x9b\x6e\xed\xff\x76\x95\x8c\x38\xb3\x56\x41\x77\x0f\xed\x18\x6d\xa8\x00\xea\xbb\x02\x78\x02\x6d\x0d\x17\xa1\x62\xfe\x08\x77\xe7\xe3\x47\xf2\x04\x03\x31\x02\xd6\xf0\x0d\x95\x8a\x05\x39\x87\xb6\x52\xb1\x25\xc9\x0a\x5e\xcd\x04\xad\xf3\x66\x5a\xd6\x3d\xcf\x7e\x05\xad\x75\x61\xcd\x60\x35\x28\xf3\xa2\x16\xcb\x33\xdb\xc9\x30\x7e\xab\xe3\x01\x9e\x89\x6a\x4b\x28\x41\xee\xcb\xb9\xe2\x36\x86\xe9\xd0\x1a\x85\x62\x47\xc6\x1b\xac\x66\xa8\x0b\xc1\xf7\x89\xe5\xa4\xa6\xe5\x82\x35\x93\x84\x8f\x35\x13\x69\x94\x55\x9a\xe8\xdb\x08\x9c\x96\xef\x93\xaa\x36\xbe\xd0\x76\x24\x99\xa8\xb6\xfb\xa2\x3b\x45\xb5\x45\xd0\xd6\x6b\xe1\xe6\x1b\xab\x2d\xea\x86\x0a\x2b\xbc\xbb\x31\xc2\x7f\xe2\xe6\x39\x29\x85\xe2\x19\x1b\x8c\x90\x2a\x03\xea\xc6\xcb\xc1\x73\x5d\x3e\xfc\x66\x1c\x45\xbc\xe8\xe5\xb4\xa2\x1a\x84\xe5\x04\x21\x4d\x18\x33\x5a\x6d\xaf\xc4\xaa\xce\xd8\x5e\x1e\xaa\xaa\xd9\xc0\x40\x8d\xd9\x3a\x91\x8a\x43\xff\x3c\x51\x22\x18\xbd\x84\x42\x83\x46\x9d\xf8\xf1\x91\xaa\x6e\x7c\xef\x62\xc7\xd2\x1c\x8e\x6e\x2d\x60\x43\x12\x8c\x4a\xb3\xc4\x4e\x46\x0a\x95\x13\x93\xdf\xff\xbe\xba\x0b\x5f\x4f\xbf\x28\x33\x91\x6f\xa3\xc7\xcc\x8f\x3c\x8a\x59\xeb\x6f\xe4\x02\x17\xc2\x32\xbb\x41\x3b\x08\xc6\xa6\x19\x23\x97\xff\x39\x2e\x78\x61\xfd\x13\x9b\x45\xf1\x83\x2d\x0c\xc6\x9a\x56\xa3\xee\xd7\xa8\x58\xa2\xc9\xe0\x77\x34\xcb\xb8\x2f\xf8\xaf\xd3\xa2\x80\x25\xa8\x59\xd9\x5a\x05\xa4\x41\xf8\xd5\xd6\x0a\x4e\x44\xfb\x06\x40\x33\xe2\xcb\x73\x70\xb2\x83\x4c\x13\xab\xaa\x12\x75\xe0\xb0\x31\x65\x77\x8a\x95\xf9\xd4\xe6\x51\xa2\xa5\xf4\xa8\x46\xae\x14\xb6\x83\xc9\x2a\xcc\x35\x24\x4a\xf2\xf2\x7c\xda\xb4\x26\x9a\xe6\x5c\x4e\x17\xf7\x7b\x66\xcc\x8a\x43\xbf\xf8\xe3\x68\xd9\x6d\x86\x97\x46\x4b\x43\xb7\xae\xe3\x70\x45\x3d\x9b\x19\x90\x78\xc7\x23\x12\x2d\x62\x0b\x40\x4c\x06\x33\x65\x39\x90\x35\xa0\xaa\x81\x94\xc7\xe7\xa4\x14\x28\xa3\x42\xc2\x65\x2c\xd4\x02\x19\xc3\xcb\xec\xa3\xae\xf2\x69\x2f\x9a\x98\xdf\x39\x3c\x88\x29\x73\x64\x93\xd0\xe3\x80\x57\xf3\xf1\x38\x26\x9e\x6d\x99\x05\xa9\x7b\x76\x98\x74\xcd\xa8\xf1\x99\x34\x24\x72\x65\xa2\x32\x80\x5a\x4d\x04\x5b\x90\x77\x6d\xc6\x16\xbc\x2c\xd1\xe3\x12\xd1\x16\x30\xc3\xa0\x31\x3d\xd2\x5a\x25\x08\x3d\xf8\xdd\x9e\x89\xb2\x79\x6a\xa0\x0c\x9e\x1a\x33\x70\x5d\x04\xf2\x44\x7e\x4f\x97\x8c\x3c\x3c\x21\x83\x3f\x4f\x2e\x2f\x7e\x1c\x24\xfc\x94\xdd\x2a\x39\xea\xc6\x59\x94\x84\x96\xe4\x6e\x52\x8b\x0d\x74\x38\xc6\x30\x22\xae\x40\x3f\x0f\x91\x5c\x26\x29\xba\x58\x32\x4c\x60\xce\x4b\x69\xcd\x03\x50\x6f\x4a\xc8\x69\x9e\x43\x88\x56\x33\x0d\x9d\x8b\x6f\x90\x7c\x56\xf0\x72\x21\x6d\x6b\x3e\x9b\x7a\xb0\x96\xd3\x07\x4e\xfa\x8e\x27\x76\x72\x42\x06\xff\x43\x13\xd6\x80\x3c\x7a\x04\xc3\x0c\xc9\x37\x2a\x76\xf5\xe6\xf4\xfb\x41\x13\xf1\xa4\x34\xbe\xff\xca\xea\x50\xf0\x07\x40\x4e\xd2\x37\x7d\x4e\x64\x45\xad\xf3\xcf\xaa\xf2\x18\x9d\xb4\xc4\xde\x4c\x6b\x66\x47\x1a\x03\x88\x40\x2a\xd0\xf5\x1b\xc7\x6f\x67\x7f\x85\x93\x0f\x50\x40\xc2\x76\xe2\x42\xde\x60\xe7\xe9\xe4\xb1\x37\x6f\x77\x24\x08\xd5\xff\x6a\x66\x08\x3b\x38\x20\xe7\x10\x69\xd2\x41\xa6\x41\x18\x4a\x48\xa0\xac\xcc\x1d\x79\xee\xcb\x4b\x1a\xdc\x3f\x65\x8e\x1a\xc5\x49\xca\x67\x23\x2a\x17\xdc\x49\x2d\x0a\x37\xcd\x7c\x11\xfa\x86\xf9\xfd\xa6\xd4\xed\x03\xb2\x3a\xc9\x9b\xb9\x1d\xf8\xef\x46\xdc\x25\xbb\x53\x3b\x09\x3b\x28\xe0\xf4\x21\x8e\xb6\x3e\x8f\xa4\x01\x70\x6b\x1d\xc0\x05\x5f\x8a\x0d\xb0\x68\xc3\xc6\x25\x79\x29\x36\x2e\x78\x61\xb7\x67\x53\x44\x7b\x61\x35\x48\x18\x7e\xec\x25\x89\x82\xcf\xa6\x9b\x6c\x2a\x57\x33\x7c\xc0\x86\xf5\x7a\x1c\x9e\xd2\xb1\x2b\xa1\x50\x2a\x1e\xd6\xeb\x11\x99\x90\x90\xe2\x9b\x32\x46\x04\x05\xef\x08\xb8\x43\xe0\x30\xb4\x8b\xb9\xc6\xb8\x32\x36\x72\x8a\x91\xb6\x9a\x4d\xc9\x99\xd1\xf8\xee\x13\x0e\x12\xdc\x50\x87\xc7\x28\x3e\xba\x76\xb5\xa3\xc7\xd8\x7b\x47\x41\xa9\x87\xa1\x18\x8e\xce\x0a\x29\x39\x04\x0a\x9b\x95\xe8\x1c\x64\xac\x50\x49\x01\x3d\x04\x52\x47\x47\x66\x8b\xc7\x64\x70\xd7\xf0\x31\x8b\xa3\x4b\xa2\xf4\x32\x6b\x71\xcb\x72\x32\xdb\x36\xbd\x5e\xbe\x63\x5b\x5c\x9e\x0d\xc6\xd6\xfe\x70\x4d\x6e\xd9\x56\xaa\x5a\xdc\xc2\x99\xcb\x99\x8a\x99\x9c\xb6\x00\xa7\xaf\x87\x6b\x13\xba\x8e\x7f\xd5\x0c\xd3\x92\x2b\x6b\x26\x77\x4d\x8e\xf5\xb1\x7d\x7b\xfd\x62\xf2\xe4\x7f\xef\xd9\x47\x51\xfe\x70\xfd\x9d\x1b\x49\x2c\xdc\xb9\x13\x19\x46\x46\x89\xa2\xb8\x28\x5d\x8d\x0f\xb1\xbf\xda\x0e\xf4\xc5\xe0\xa4\x79\xf4\x45\x07\x65\x2f\xe2\x81\x60\xe9\x5b\xb3\x68\x53\x56\x66\x22\x67\x76\x48\xf1\x9a\xbf\xa2\xab\x32\xbb\x61\x92\xac\xea\x02\x2f\x2b\x88\xfc\xa6\xb3\xae\xa5\xd4\xe5\xde\x5e\xbe\xd2\xa7\xa3\x80\xba\xad\x5a\xbb\x96\xab\x62\xe5\xdb\x3a\x82\x0d\x59\xd5\x85\x5f\x25\x04\x50\x98\x66\x37\xb5\x58\x42\x04\x48\xf4\xc3\xd4\xf8\x2d\x04\xaf\xce\x0b\x51\x93\x33\x2c\xbd\x7e\x4a\x68\x55\xc9\x71\x98\x46\x0d\x3d\x4e\xb9\x24\xa7\x6f\x5e\x82\xbb\x91\xf1\x5a\x20\x7a\x20\xa6\x71\x89\x17\x6f\xdc\x05\x8c\xf4\x9a\xce\x86\x7f\x1d\xac\xea\x62\x70\xa4\xa7\xfd\xa9\xed\xff\x0e\x59\x80\xb8\xe6\x78\xcd\x40\x75\x35\x3d\xa5\x31\x19\x7c\x98\x15\xb4\xbc\xb5\xa6\x86\x0d\x37\x42\x94\x4b\x41\xe6\xb6\xe0\xa2\x32\xc1\x94\x8e\x9f\x5f\xd5\xfb\xb4\x2d\xba\x9f\x2b\x53\xfc\x6d\x5d\x74\x79\x08\xaa\x7a\xd7\xb5\xf1\x20\x78\xb8\x51\x65\x52\x0a\x7f\xff\x8d\x01\xdf\x82\x96\x39\x61\x77\x95\xfe\x0f\xbc\xcb\xc6\x8e\xb7\x25\x60\xa3\x46\xef\x3f\xb4\xb1\xd6\xc4\xaa\x00\x1b\x18\x3a\xe0\x85\x89\x6d\x78\x71\x77\xa7\x28\x6c\xc5\xaa\xbd\xc3\xb7\x13\x80\xc1\x80\x0b\x4c\x49\x18\x66\xfa\xac\x68\xc6\xc6\xe6\xd1\x98\xba\x27\x3f\x1c\x66\xc3\x9c\xe4\xd9\xb5\xd7\x2e\x76\x4b\x13\x3a\x97\x04\xa2\xd8\xac\x21\x4e\x2f\x3d\x7a\xe1\xd8\x16\xad\xb3\xfc\x1f\xc8\xd3\xc3\xff\xf5\x3b\xf2\xf1\xa3\x1e\xf9\x54\x32\x5a\x67\x37\xc3\x83\x77\x3f\xc9\x9f\xde\xfd\xf4\x7e\x38\xfa\xeb\xa7\x6f\xff\xf0\xd5\xe0\xa7\x9f\xfe\xeb\xe7\xf7\x07\x23\x48\x76\xd7\x52\x96\x7a\x3e\xea\xed\xe5\x4b\xc2\x81\x7f\x42\x79\x93\xe5\x56\x5d\x05\xa4\xdb\x04\xe4\x00\xb9\x53\x62\x50\xaa\x6e\xe5\x47\xe6\x12\xc4\x6d\xe8\x56\xf3\x97\xb7\x25\xb2\x48\xf0\xd6\x19\x4f\x3c\x99\xdd\xb0\x25\x1d\x13\x29\x08\x95\x80\x33\x78\xa3\x54\x15\xce\xcc\x4c\x62\xf0\x5f\xef\xe8\xe4\x97\xd3\xc9\x7f\xbe\x37\xff\x3d\x9c\xfc\xfe\xf1\x74\xf2\xfe\xeb\xa3\x83\x83\xc1\x28\xc4\xbe\x0b\xfa\x06\x20\x02\xae\x58\xc1\xa5\x22\x94\xcc\xd9\x86\x00\x01\x67\xa2\x30\xe2\x7a\x41\xb3\x5b\x42\x57\xea\x46\xd4\x5c\x71\x26\x0d\x9c\xe5\xca\xf1\x6f\x25\xd0\x9b\xf5\x1b\x3f\x38\x98\x12\xf2\x8a\xdf\x32\xb2\xa4\xbc\x50\x26\x71\xab\xf3\x10\xd5\xc3\xad\x0a\xae\x86\x83\xa3\xc1\x98\x3c\x19\xbd\x3b\x7c\x1f\x44\xa0\x50\xc9\xc8\x00\xeb\x0d\x3c\xca\xa8\xf3\xb5\x23\x6d\xbf\x41\x4b\x80\x03\xbd\x28\x7a\xa2\xe4\xb1\x55\x51\xb5\x2a\xc7\x61\x98\xe6\x9a\x03\x0d\xdf\xb1\x3e\xe9\xde\xc3\x38\x8f\x54\x90\x97\x62\x83\x73\x36\x7f\x1b\xc8\x3b\xbc\xa6\x60\x45\x00\x54\x4e\x2f\x00\x58\xb6\x60\x85\x0c\xa4\x67\x49\xe6\x98\xca\x8b\x20\xaf\x22\xca\xd7\xba\xe0\x70\x94\x32\xdf\xef\xef\x28\x13\x10\xed\x0c\xc3\x8b\x40\xfe\x21\x18\xc6\x3b\x11\xba\xcc\xd2\xc1\xb0\x9a\x6f\x05\x18\xee\x3e\x11\x66\xb2\x5e\xba\x72\x68\x80\x2e\xf3\x62\x5f\xc2\x2f\x33\x97\xe8\x5a\x0b\x3c\xbc\xb4\xb4\x26\x32\x26\x25\xcb\x9f\x6d\x6d\xf5\x3f\x41\xc3\xf5\x87\x98\x12\x6b\xb6\xe0\x52\x33\x68\x62\x55\x9b\x41\xe0\x08\x6a\x8b\xd5\xe1\x02\x82\xc6\x16\xf1\x54\xff\x57\x05\x89\xce\xb0\x31\x0b\xb5\x6a\x80\x6f\xc0\x23\x9a\xd5\x53\x42\x5e\x87\xfb\x03\x74\x2d\xb2\x6c\x55\x93\x38\x02\xc3\x37\x14\x37\x60\xe1\x0a\xf4\x19\x04\xd7\x8a\xf6\xb0\x66\x2b\x85\x31\x1a\xfa\x3a\xd8\x50\x58\x47\xdb\x98\x59\x08\x5d\x63\x49\xd4\x86\x67\x46\x8e\x38\x38\x08\x16\x21\xa3\xba\xe6\x5f\xb4\xa8\x65\x4c\xa4\x64\xb6\x9a\x81\x48\x40\x66\xcc\x06\x66\x20\x8c\x1d\x46\x9b\x12\x10\xbe\x30\x6a\x5e\xea\x0b\xc2\xb6\xa6\xc7\xc1\x32\x51\x5b\x17\x7f\x6c\x4d\xcc\xfe\xa2\xef\x13\xe3\x83\x8a\xe8\x74\x9a\xb0\xb6\x5a\x8c\x53\x8c\xe6\xc9\x1c\xcb\x20\x46\xb0\x4a\xd4\x0a\x96\xf0\x1c\x57\xf0\xc4\xd9\xfc\xd9\x9c\x51\xfc\x74\x09\xa5\xe4\x87\x46\x3c\xce\x5a\x4d\x97\xfe\xb3\x8b\x19\x5f\xab\xe9\xeb\x8b\xb7\x57\xe7\x1f\x2e\xcf\xdf\x5c\x5c\x5e\x7f\x78\xfe\xf2\xea\xf4\xd9\xab\xf3\xe7\xf8\x66\xec\x24\x1e\xfd\xde\xd4\x2b\x66\x2f\xe3\x8b\x12\x9d\x91\x21\x7f\xd3\x81\x89\xab\x80\xe8\xe5\xdc\x6e\x53\x7c\x0c\x08\x9b\x86\x47\xee\x84\x38\x5f\xa8\x21\x9b\x66\x60\x89\xfc\x0f\x32\x69\x33\x7c\x89\x18\x94\x11\x39\xd8\x25\x31\xed\xf1\xad\xb2\x16\x49\x93\xc5\xd2\x0f\xcb\xc1\x6d\xba\x91\xd9\x81\xfd\x79\x77\x87\xfb\xfb\x34\xf8\xa8\x8f\x03\x94\x4a\x36\xd5\xe7\x19\x84\x66\x6f\xbe\xd7\x8c\x5d\x6b\x40\x7f\xe8\x82\x5b\x75\xa7\xf9\xb5\x6d\xa0\x99\x72\xb8\x0e\xc2\xc1\xee\x1d\xdf\x45\x1e\xb6\x48\xb0\xad\xd5\xf0\x08\x20\x2e\x00\x4d\x33\x44\x00\xa3\x5b\x0a\x2d\x34\x96\x39\x46\x43\x85\x57\x81\x81\x7d\xc1\x96\x6e\x84\x7e\x05\xab\x6a\xec\xe0\x97\xcd\x49\xf6\x4e\xbe\xcd\x08\x31\x10\x76\x1c\x8d\xd9\x86\xfc\x58\xd0\xa9\x4a\x54\x16\xe8\xf7\x96\xb1\x4a\x26\x5b\x02\x35\x09\x40\x0f\xcd\x99\x66\xe3\xdd\x69\xd6\x07\xb6\x10\x19\x2d\x50\xc6\xf4\x52\xb8\xe3\x98\x62\x82\x9e\x90\x27\x7a\x33\xf7\x45\x0c\xb9\x63\x9a\xa0\xbc\x1e\x4d\x84\xb9\x5b\x48\xaf\x00\x38\x88\xbd\x33\x4f\x71\xc3\xf1\xee\x1e\x41\x7b\xbd\x43\xed\x82\x07\xbf\x93\xca\x43\x27\x26\x36\xa5\x85\xfa\x8e\x6d\x35\x6f\xd8\x4d\x6f\x96\xe2\x7e\xb8\x36\x84\x84\x25\x8d\x6b\x77\xce\xa5\x4f\x9f\xa2\x2f\x6a\x04\x1b\x85\x4b\x92\xe5\xb0\x95\xbe\x15\x5a\xa8\x89\x1b\x8a\x21\x39\x7f\x5b\xe1\x93\xe3\xf1\x50\x90\x02\x1a\x9b\xef\xd2\xf7\xb5\x6f\x61\x7b\x49\x86\xb7\x42\xc0\xa0\x9f\x23\x38\xf9\xd0\xb9\xd6\x34\xa4\x26\xbc\x5a\x5d\xdc\x3a\x3c\x29\x73\xfd\x44\x6f\x4a\x56\xcb\x1b\xee\x10\xe2\x70\xb4\x0e\x73\xae\xc7\xb8\xc0\xab\x3c\x1a\x58\x97\x8c\xe1\x8c\x3b\xd7\xe2\xbc\xcc\xbd\xaf\x50\xe7\x6c\xa0\xe9\xc0\xa5\x28\xed\x6c\x14\xd1\x45\xf7\x56\x37\xa8\x26\x9f\x15\xe8\xf3\xeb\x50\x0f\x32\x51\x6d\x2f\x8c\x88\xd7\x20\xcf\x5f\x23\x52\x85\x3a\xa1\x5e\xc6\x38\xe2\xb5\x8e\x8d\x31\xfb\x01\x3f\x64\x53\xc0\x98\xd3\x04\xfe\xe8\x91\x2e\x94\xa9\xba\x30\xe4\xce\xa6\x4b\xa6\xe8\x77\x6c\x3b\x8a\xc8\xfc\x39\x9b\x89\x15\xe4\x27\xd7\x37\x17\x72\x11\x1e\x0a\xd7\x2c\x87\x79\x56\x21\x48\x75\x2b\x56\x16\x70\x31\x17\xab\x59\xc1\xa0\x44\x40\xf1\x56\x2b\x01\xf2\x11\x57\x63\xab\x17\x00\x62\x9f\xf3\x9a\xa1\x94\x88\x67\xc1\xf6\xe0\x98\x2b\x30\x13\xfa\xd6\x40\x80\xc1\x05\x66\x79\x43\xb1\x6d\xd2\x32\x62\x6c\x2c\xaf\xa5\x22\xe1\x60\xad\xbc\xb1\x23\xe2\xdd\x88\x07\xf1\x96\xb4\x3e\xc7\x2e\x2c\x4e\xae\x08\xa5\xfe\x10\x68\x73\xcf\xd3\x1d\xfe\xef\x1b\xe7\x26\x92\xc4\x64\xdf\x7b\xa3\x61\x11\x1c\x12\xf2\x5f\x9a\xd7\x38\xd3\x8b\x80\x3e\x25\xf0\xbe\xcf\x56\x4a\x89\x52\x37\xf1\x94\x1c\x7c\x6d\xd0\x07\xcd\x8f\x5f\x1f\x8c\xc8\xc7\x8f\xc1\x90\xc3\xe2\xbe\x5d\x68\xed\x19\x7c\x08\x3d\x77\xbc\xc3\x19\x38\x94\x0c\x47\xa1\xa3\x4e\x26\x4a\x29\x0a\x36\x35\x01\x16\xc3\xc1\x19\x78\x18\x03\x02\x2e\x0c\x6e\x49\xcb\x15\x2d\x8a\x2d\xc9\x31\x34\x65\xc3\x66\xa4\x66\x98\x72\x5d\xb3\x08\x83\xd1\x71\x8c\xa1\xbe\x63\x59\x56\xd5\xa0\x39\xd9\xc3\xe4\x11\x0e\x5f\xc4\x26\x5e\x69\xe3\x5e\x0a\x4d\x9f\x8d\x77\xe9\x73\x4f\x6d\x6b\xdc\x4b\xb1\x66\x03\x3c\x9d\xad\x09\x8d\xc2\xb1\x06\x1c\xdf\x33\x94\x57\xf0\x59\x64\xe5\x82\x2e\xc2\x01\xea\x23\xcd\x25\xfe\x1c\x30\x67\x13\x2b\xe5\xa0\x96\x5c\x94\x36\x92\xdf\xb1\x49\xd3\xb6\x8b\x5b\xaa\xa7\xe4\xdd\x9e\x28\x1e\x78\xee\x91\x01\xfa\x6e\x44\xcb\x71\x70\x40\xce\x97\xab\x42\x8b\x2f\xb4\xd6\xac\xca\x2d\xdb\x6a\xa1\x48\x4a\xa6\x99\x3b\xea\x92\x1c\xdd\x30\x56\x44\x43\x6c\x68\x71\x7f\xd4\x05\x4e\x75\x13\xdf\xb1\xad\xfc\xd0\xbe\x07\xe3\x35\x74\xca\x58\x48\xc4\x80\x50\xaf\x26\xcc\xcc\x41\xd8\x72\xf9\x26\x84\xd5\x1a\x8e\xe2\x03\x17\xec\x15\x8c\x6e\x10\x9e\x09\x93\x00\x5b\xd1\xa4\xf5\xdd\x8f\xf8\xb9\x2e\x33\x64\x81\x4b\x9a\xae\x59\x98\xa4\xfe\x88\x16\x2f\x97\xb4\x56\x2f\x0a\x21\xea\xe7\x7c\xcd\x73\x36\x8c\xee\x16\x80\xe9\xa7\x33\x39\x84\xee\x46\xe3\x9e\x92\x88\xcb\x0c\x61\xc6\x4a\x61\xa8\x83\x9f\xee\x9e\xcc\x2e\x06\xe4\x31\xc1\xe6\xc8\xb7\xe4\x90\xfc\x91\x0c\x9e\x0d\xc8\x11\x19\x9c\x0e\x82\x71\x5a\x4d\xb7\xe6\xb5\x4d\x32\x6c\xdd\xc8\xb4\x66\x15\xa3\x6a\x08\x53\x18\x85\xdd\x74\xfb\x03\x7f\xf2\x4f\x35\xf2\x25\x07\x5f\xfb\xed\x4d\xbc\xd9\x5f\x1f\xb4\x1c\xd2\xfb\x9c\x89\x1e\x17\xa9\x11\x6c\xd6\xc9\x33\x03\xd6\x4b\x08\xc2\xd1\x4d\x05\x12\x83\x8b\x92\xc0\x0a\x7a\xbc\x61\x7b\xc0\xed\x3b\x90\xdf\x69\xdf\xc3\xdc\x60\xeb\xfa\x9d\xb1\x48\xac\xfd\x66\xd4\x88\x25\xde\xd7\x86\xf5\x84\xf5\x22\x68\xa2\x91\x80\xa1\x4f\xde\x63\x8d\xd5\xbc\xb8\xb1\xf2\x50\xe0\x18\x94\xd7\x74\x31\xb1\x47\x9b\x7a\x66\x9a\x9c\xbe\xb8\x3e\xbf\x0c\x98\x4d\xe0\x97\xc3\xe6\x78\x69\x90\x2c\x40\x83\x88\xb8\xac\x42\x90\xc2\xa0\xa2\x76\xde\x78\x8d\x65\xbf\x2f\x1b\xda\x87\x7c\xbd\x96\xdd\xea\xfe\x02\x4f\xf6\x1d\xcf\xd5\xbd\xdf\x1f\x00\x33\x01\xb5\x07\xb2\x6b\xa2\x24\xa6\x3d\xbd\x3c\x66\x61\x60\x5d\x15\x5b\x56\xa2\xa6\x35\xd7\xef\x6b\x28\x9a\x10\xea\xf4\x68\xa1\x68\x32\x25\xe4\xa2\xd4\x65\x05\xb6\xec\x44\x5e\xcf\x6e\x69\xf6\x10\x55\xfa\x02\xf6\x32\xd4\x44\x81\x46\x8c\x2f\x97\x2c\xe7\x54\xb1\x62\x4b\x6e\x4d\xea\x6d\x08\x79\x95\x4d\x91\xa6\x8f\xe0\x10\x45\x4f\xa1\xef\xb8\xb4\x61\x4a\x5a\xe0\xae\x51\x5a\xe7\xd2\xe4\xbc\xdc\x02\xca\x05\x9c\xca\x52\x6c\x08\x9d\x89\x95\x8a\xf4\x00\xa1\x3a\x16\xf9\x5c\x8f\xab\x6d\x83\xa5\x29\x29\x45\xbd\xa4\x05\x79\x7e\xf1\xda\x02\xc0\x78\x9e\xd2\x2c\x60\x9e\x83\x74\x4c\x0b\x48\x11\x11\x48\xe5\x03\xd0\x46\x0c\x62\x39\x7b\x10\x28\x77\x7f\x2b\xfd\x6c\x53\x3d\x4b\x22\x47\x35\x2d\x60\x6e\x50\x4f\x9d\xad\xa4\x81\x66\x6c\x8d\xc5\x05\x0c\x1b\x38\x09\x0c\x19\xe6\x73\xfb\xb7\x8d\x14\x8e\xb2\x81\xee\x1c\x1a\x80\xbf\x9f\x41\x6f\x91\x02\xd9\x34\xd8\x95\xa7\x20\x01\x8d\x31\xb6\x83\x08\x41\x13\x43\x60\x0e\x6f\x7c\xb7\xa3\x3f\x39\xc1\x5b\x34\x34\xc0\x77\xc2\xbc\x3f\x48\xaf\x97\x8a\x73\x33\x06\x10\x49\x7b\xe7\x8e\xd5\x12\xe6\x40\x73\x0f\x77\x06\xd6\xef\x18\x8d\x71\x24\x04\xee\x39\x0f\x3c\xc6\xdc\x08\x77\x92\x97\xa6\x68\x64\xbc\xef\x4b\x62\xc0\xfd\xa7\x4c\x00\x01\xff\x80\x2e\xc4\x36\x56\x75\x78\xf0\x53\x79\xb0\x5c\x8c\xc9\xe0\x27\x13\x37\x63\x8a\x25\xed\xe1\xfa\x9b\x77\x9e\x88\x94\x84\xb3\x9a\x66\xb7\x4c\xb1\x1c\xc6\x80\x7b\x19\x72\x2c\xef\x9e\x1e\x1e\xfe\x3f\xcd\xb5\xc0\x8f\x8f\xdd\x8f\x4f\xfe\xdf\x20\xb2\xca\x37\x78\x95\x9d\x3b\x8e\x41\xfa\xb5\x31\xfa\x68\x5e\x3f\xf0\xcd\xef\xbf\xd6\x50\xd1\x59\x65\x76\x2e\xf0\x99\xa8\xb6\x5d\x26\x16\xe4\x72\x56\x92\x99\xd7\xe7\x47\xb0\x6f\xeb\x1a\xf6\x51\xe8\x7a\x9f\x9a\x42\x6b\x97\xd4\x12\x65\x89\x38\x4c\xe4\x36\xd9\x75\x20\x10\x19\xb4\xe1\xfc\x0f\x8f\xbe\x43\x28\x30\x77\xb6\x16\xfc\x72\x5e\x33\xc0\x17\xb1\x46\x2e\xbd\xff\xc8\x18\x00\xc0\x2d\x2a\x4d\x41\x3f\x6a\xae\x57\x44\x2f\x68\xa6\x1c\xd2\x7c\x05\x55\xe4\x96\xa3\xcb\x1e\xb4\x32\x63\x85\x28\x17\x12\xb3\xa9\x79\xf4\x55\xb0\xf7\x7c\x4d\x22\x8c\xd5\xb1\x7d\xc2\xf4\x6b\x99\xd1\x52\xdf\xfc\xec\x8e\x65\x2b\x7d\xae\x22\xf8\x0d\xab\xe1\x86\xa7\xd5\x02\x82\x56\xb5\x58\xd4\x74\xb9\xa4\x8a\x67\x04\xbd\x6b\xf0\x4e\xdd\xbb\xd1\x97\xb0\x5a\x1d\x4e\x02\xa8\x6c\x3d\x33\x99\xa6\x82\x34\x68\x2d\xbe\x5e\x33\x0a\x20\x99\xa0\x5f\xd5\x1e\x03\x05\xe9\x6d\x30\xf8\xf8\x91\x1c\x1e\xfb\x3c\x8e\x76\x28\x1d\xc2\x48\xf7\xb0\x2c\x16\xed\x6e\x5d\x48\x4f\xc3\x09\x0e\xca\x25\xdb\xf2\x6b\xf4\xad\x96\xf1\x3f\x7e\xf4\x23\xd5\x3f\xc4\x46\x47\xba\x16\x3c\x37\x52\xae\xe4\x6a\x85\x37\xbe\x89\x5c\x06\x9e\xc1\x80\xae\x48\xb1\x64\x8a\x2f\x59\xc0\xf8\x58\x62\xb3\xcd\x2d\x98\xd2\xe4\xae\x39\xdd\xdc\x5f\x08\x0e\xc4\x50\xd4\x24\x5f\xd5\xd6\xb0\xcf\x4b\xae\x38\x2d\x48\x21\x68\x3e\x36\x36\x0a\xb4\xfe\xd9\xe6\x72\x46\x0b\xab\x68\xa3\xca\xda\x0a\xf1\xe8\x68\x92\x04\x43\xa4\x19\x1d\x9f\x03\xa6\x0b\x73\xae\x0f\xf1\x55\xa4\x3f\x66\x20\x4a\xcb\xd0\xd0\xe1\x21\xaf\x34\xd1\x8d\x81\x0b\xd7\xe3\xd3\xfc\x1a\x5f\xa3\x7b\xd7\xa1\xe6\x93\xd6\x68\x45\x31\x56\x77\x7d\xe9\x1d\x92\x35\x2d\x56\x4c\x76\x5a\x0b\xb9\xfc\x9e\x6d\x8c\x3f\x5a\xb4\x29\x0f\xbb\x92\xdb\x45\x5a\x26\xf7\x3f\xb7\x77\x89\x7a\xa1\xbc\x8a\xdb\x69\x99\x53\x7d\xdb\xd9\x4c\xe7\x00\x60\x94\xf3\x5c\x33\xa0\x78\x0a\xc7\x68\x60\x45\x30\x3b\xf0\x1e\x61\x6b\x56\x6f\x31\xd5\x30\x97\x0f\xac\x34\x61\x00\x70\x2c\x3b\x01\xf7\x83\xee\xf8\x43\x38\xa1\xb1\x1b\x62\x00\x43\xd7\x80\x40\xb9\x07\xbc\xc2\xc3\x13\x9b\x2b\x55\x53\xb3\x5b\xc5\x80\x49\x09\x7c\xfd\x9a\x58\xcd\x4d\x76\xe7\x9e\xac\xc4\x15\xab\xd7\x3c\x8b\x90\xff\x10\x69\x38\x80\x2f\xde\xfd\x4c\x05\x18\xa4\x69\xfc\x9f\x87\x29\x13\x5f\x04\x41\xda\x13\x50\xb4\xcb\x7a\x78\x1f\x0c\x35\x4f\x72\x1d\xc6\x24\x17\xc2\x07\x51\x8c\x91\xb7\xd4\x5e\xc4\x57\xd2\x56\x17\x37\xa0\x94\x1b\xaf\xef\x72\x7b\x11\x2d\xe0\x7d\xf4\xc4\xd1\xa0\xa0\xfa\xd9\x36\x2b\xd8\x87\x77\x87\xef\x3b\x32\xa6\xf5\x42\xc2\xfd\xfb\x8f\xff\xc9\xfb\x04\x50\x86\x01\x69\x76\x46\xe5\x5d\x38\xcd\xed\x42\x01\x54\xf3\x5a\x0b\x5d\x60\x50\x73\xf6\xe9\x26\x6c\x33\xb8\xfd\xfd\x26\xc0\xcd\xe9\xe1\xdf\x1f\xbb\xd9\x45\x16\xf7\x80\x6f\x6e\x64\xb6\x6b\x56\x35\xe5\x93\x90\xd8\x91\xb6\x15\x3c\xe3\x97\x08\x27\xc6\xc1\xb5\xc6\x67\xb0\xc3\xe4\x6a\xe4\x46\x6c\xc8\x9c\x4a\xac\x5c\xd1\x05\x26\x38\x82\x46\x40\x2d\xd1\x50\xdb\xb6\xd6\xf2\x49\x73\x29\x2d\x18\x87\xef\x16\x85\x62\xff\x67\xdf\xd4\x37\x57\x5e\xc9\xfa\x5a\xac\x99\x85\x45\xab\x23\x10\x0c\xd7\xec\xbe\xe5\x6b\xb7\x13\x56\x8e\x5d\xd8\xb5\x7c\x49\xa8\x5e\x46\x36\x8b\xd2\xcd\x49\x82\x71\x9b\xf0\xe6\x46\x29\x02\xf7\xe1\x4f\x76\xc8\xac\x1d\x72\x65\x3a\x7d\xda\x5c\xd4\xe7\x34\xbb\xf1\xd1\xd7\x81\x11\xa7\xc4\x1e\x86\x11\x5a\xd1\x8e\xb6\x8c\x87\xe5\x89\xe6\xc9\x3e\x1d\x3f\x38\x38\x20\x57\x17\x6f\x2f\xcf\xce\xc9\x8b\x97\xaf\xce\x8f\xd0\x5d\xfc\xe0\x2f\xf2\x00\xfe\xf1\xc1\x4e\xf5\x03\x17\xd3\xbf\x48\x5d\x5a\x0b\x2e\x68\x81\x1a\x66\x23\xf2\xf4\xf0\xc9\x53\xd8\x66\x30\x11\xf2\xd5\x92\x5c\x5c\x91\x53\xf0\x43\x94\x53\x72\x5a\x14\x68\xad\xc2\x24\x49\xf5\x5a\xcb\x19\x07\x07\xe4\xad\x74\x80\xa0\x04\xc3\x59\x51\x02\xe0\x92\x2c\xf4\xf3\x59\xe2\x3a\x53\xf2\xec\xea\xf9\x04\xa1\x2d\x0b\x9e\xb1\xd2\x3a\x57\x21\xc7\xaf\x5b\x9a\x43\x8e\x15\xc3\xe3\xbf\x7a\x79\x76\xfe\xfd\xd5\x39\x99\x73\x7d\x31\x3c\x18\xac\x24\x06\x1a\x67\x4a\xcb\x92\x9a\x09\xae\x55\xce\xaa\xe1\x40\xff\x13\x45\xd7\xb7\xd7\x2f\x7e\x07\x21\xa9\xce\x71\xbe\x5a\xa9\x83\x8b\x95\x02\x38\x45\x70\xf3\xa0\x19\x48\x94\x30\x22\x97\x19\x07\xe4\xca\xe5\x72\x55\xea\xb5\x0d\x52\x8f\x36\x73\xaa\x9e\xd9\x0a\x05\xbf\x65\xe4\xe7\x92\x4a\x79\xf3\x33\x30\x6b\x3f\x67\xb5\xd0\xff\xae\x59\xc6\x38\x30\x70\xe0\xe1\x45\x35\x63\x6b\xd7\x26\x2b\xa8\x94\x04\x13\xa2\x56\x3e\x6f\x12\xaf\x09\xad\x17\x6b\xe3\x2b\x66\x0f\x37\xe4\xe9\xb1\xee\x6b\x36\xfd\x91\xc2\xcc\x89\x35\xa3\x9e\xe5\x0d\x53\x22\xc0\xc8\xc5\x4a\x11\x76\x57\x09\x69\x98\xdf\x25\x56\x23\xac\x54\xbc\x6e\xe2\x66\xba\x51\x86\xda\x38\x4c\x1d\xf3\xff\x67\xef\xef\xdb\xd3\xc8\x91\xfd\x71\xf8\xff\xbc\x0a\x65\xce\xf9\x2d\x30\xc1\x18\xf0\x43\x9c\x78\x3c\x59\x8c\xb1\x83\x9f\x03\xd8\x49\x9c\x64\x73\x9a\x6e\x01\x1d\x37\xdd\xa4\xbb\x31\xc6\x3b\x39\xaf\xfd\xbe\x54\x25\xa9\xa5\x6e\x35\x60\x67\xe6\xec\x7e\xcf\x7d\x7c\x6d\x76\x6c\x90\x4a\x52\xa9\x24\x95\x4a\x55\x9f\x12\xec\xc1\x50\x24\xc5\xc4\x47\x89\xee\x54\x5f\xc2\xe4\x79\xc9\x95\xbe\x44\xc6\x34\x1e\x05\x98\xdf\x4e\x1f\xbd\x44\xcf\x8b\x03\xc9\x2b\x19\x5e\x10\x49\x42\x24\xc0\x39\x13\x48\xb2\xe8\x97\x0b\xa9\xbc\x68\x14\xbb\xbe\x15\x2b\x79\x66\xda\x51\xe0\x59\xb1\x96\xb6\x4f\xde\x07\x24\x67\x26\x61\xc0\x6e\x49\x78\xa3\x4d\x02\xa3\xfa\xd4\xa7\x03\x37\x8e\x5e\x33\x42\x6b\xe4\x52\x94\xb2\xc8\x98\x32\xf5\xd5\x8d\x30\xe1\xad\xc5\x95\x72\x9e\xa3\x43\xe7\x40\x6a\xfc\x08\x1d\x24\xbd\x29\x31\x8b\x86\x7f\x17\x80\x23\x76\x34\xed\xcb\x5e\x16\x23\x8a\xfc\x84\x84\x8a\xc8\xc6\x49\x30\x49\xf8\x07\x2e\xab\x64\x0d\x26\xc5\xc5\x51\x06\x3e\xa4\xd0\x88\x00\x1d\xd4\x8a\xf8\x46\x0c\x59\x35\xb8\x21\x91\xf1\x58\x4e\x2f\xf4\x0c\xc3\x84\x65\xcf\x60\x26\xd8\xd5\x8a\x0b\x0b\x1e\x21\x2a\xff\x78\xb3\x6d\x1f\x5a\x3e\x9c\xc6\x4c\x6b\x4f\x72\x22\x5a\x73\x12\x4e\xc1\xdb\x8c\x6d\xac\xb3\x20\xbc\xe5\xe3\x0c\xf9\x2d\x6e\x86\x56\x61\xdf\x9b\x83\x11\xb7\xef\x51\x6c\x99\x4d\xa7\xe5\x41\x4e\x76\x8b\x64\x44\x50\xe6\xdb\xb7\x7c\xd2\xbe\x6c\x26\x33\x90\x3e\x9b\x74\x11\x36\x06\xe9\xb6\x2f\xd4\x2d\x59\x48\x81\xb2\x35\xcb\xad\x90\xec\x49\x21\x11\x57\x1b\x36\xe8\xf6\x85\x70\xde\x04\x49\x15\xb3\x4e\xda\x17\x15\x98\x22\x79\x53\x11\xf1\x91\xed\x8b\x04\xae\xe2\xff\x70\xc6\xfe\x0f\x67\xec\x7f\x18\x67\x8c\xc9\xe5\x52\xa8\x31\x01\x72\x91\x81\x1b\xd3\x97\x84\x16\xbe\x66\xac\xa4\x89\x38\xc4\xe9\x58\x3e\x19\x84\xd6\x58\x82\x89\x88\xb0\x41\xe5\x68\xf2\x9d\x60\x56\x26\x93\x80\x1d\xc4\x4e\x12\xe6\xc9\x93\xcd\x33\x4a\x3c\xbe\x07\x32\x8e\x31\x55\x15\xfd\x51\x66\xb4\xe0\x79\x4a\x5e\x6f\xca\xf3\x58\xad\x0b\x94\x8a\x75\xee\x79\xcd\x36\x47\x7e\xd9\xad\x88\xf5\x03\xd6\x63\x2e\xe5\x60\xc3\xe1\x1b\x92\xc8\x4a\xbf\x8e\x16\x53\x3c\x16\xd8\x00\x16\xc5\x77\xf5\x46\x54\xc6\x78\x05\x96\xd4\x54\x64\x3d\x59\xe9\x02\xb6\x0e\x14\x31\xde\x23\x72\x31\xc1\x57\x2a\xce\x27\xd1\x51\x42\xce\x83\x98\xb8\xe3\x09\x62\x88\xe4\xbc\x65\x68\xd3\x8b\xca\xeb\x21\x90\xd1\x23\xc6\xca\x6a\x8b\x1a\xd0\x8c\x4f\x67\xfc\xe8\x87\x7a\x45\x7d\xc6\xcb\x24\x53\x59\x57\xa5\xe1\x68\xc1\xb3\x2a\x14\xc0\x97\x6c\x4a\x98\x72\x26\x23\x1f\xd2\xea\x12\xe7\x06\x2f\x06\x51\xc2\x92\x9d\x8c\x95\x3e\xf0\x61\x90\x47\x96\x9d\x12\x4c\x13\xb1\x62\xb3\x25\x57\x17\x79\x1a\x8b\x2f\x2e\x79\x7d\x85\x35\x4a\x17\xcc\x02\x4f\x63\x5e\x4b\x2b\xaa\xf3\x00\xb8\xce\x43\xfa\xb2\xc7\x8d\x3c\xc5\x40\x65\x62\xe7\xb1\x1b\x0b\x4d\x8a\xbb\x93\xf6\xa4\x09\xf3\x57\x71\xb8\x58\x51\x14\xd8\x6e\xf2\x1a\x8c\x0f\xa8\x19\x9d\xcc\x85\xd4\xf6\xa0\xb7\xc6\x01\x99\xb0\x0d\xc5\x0e\xfc\x38\x0c\xbc\xcc\x06\xca\x0e\xae\xc1\x00\x8f\xd8\x44\xd9\xc0\xe4\xa8\xa0\x2d\xf1\x03\x8c\xeb\x18\xc2\xde\x2e\x68\x8b\xa3\x4e\x90\x4f\x1e\x9e\x25\x2d\xa6\x09\x4c\x3c\x9a\x97\xf9\x45\x9b\x16\xa6\xd9\x98\xcd\xeb\x6e\xc0\x8e\x4b\x13\x2b\x53\xb2\x89\x4f\x51\x81\x7c\xa6\x6a\x5a\x13\xa6\x8f\x38\x5f\xd3\xef\x57\xf2\x0b\x34\xe8\x05\x15\xdd\x82\xcf\x1f\x5d\xe4\x47\x9c\xac\x62\x58\x47\xcb\x1e\xff\x5b\x10\xd1\xcf\xf7\x94\xdc\xb8\xc1\x6e\x56\x98\x60\x64\xec\x9b\x64\xf5\xb1\xbf\xb4\x27\x1c\xe1\x34\x90\x08\x45\x21\x4a\xd0\x28\xa4\xf2\xb1\x02\x83\xc1\xdb\xc4\x74\xf9\x4c\x75\x28\xad\xac\xe8\xb2\x8d\xe6\x6c\x98\x6c\x78\xba\x63\x9b\x6c\x24\x6c\xb6\xfc\x79\x52\x03\x51\xe7\x62\x25\x2e\x46\x8b\xfc\x01\x14\x55\x5f\xcb\xf9\x1e\x0c\xc8\x84\xc7\x07\x80\xc3\xd2\xf2\x18\x65\xe8\x1a\xd8\x1d\x72\x32\xf1\xa7\xb6\x04\xa1\x91\xe7\x05\x20\xaf\xaf\x93\x0b\xb5\xab\x95\x67\x89\x9f\xa4\x17\x0c\x8b\x85\x2b\x1f\xd5\x78\x55\xbd\x7f\x4d\x78\xc0\x1b\x23\x93\xcb\x45\x2b\x59\x91\x0b\x23\xb2\x9f\xca\xb9\xe4\xd2\xa4\x6a\x8b\x49\x53\xc0\x2a\x61\x5e\xc3\xdb\xb1\x93\x4d\xd1\x51\x60\xc3\x5a\x83\xaf\x5d\x7f\x58\xc0\xd7\x34\xb1\x11\xaf\x16\x34\x7e\x4b\xe7\x24\xa2\xdf\xa7\xa2\xc6\xe2\x39\x59\x29\x2e\x7c\x85\x69\x09\xfa\x60\x80\x08\x1d\x2d\xe4\x1d\xa7\xe6\xb8\x7b\x71\x5e\x41\x7a\xee\x60\x9e\x0a\xef\x5e\xdc\x39\xf1\xb9\xe1\x61\x10\x9e\x4d\xca\x44\x3c\x83\x89\x6d\x2c\xe8\x7f\x53\x30\xf3\x39\x00\x45\xd0\xff\x26\x4c\x3a\x41\xff\x5b\x6a\x1f\x02\x42\xbb\xf2\x4b\x65\xff\x41\xda\xf2\x2b\xb2\x07\x05\xb4\x35\xab\x45\x53\xa6\xba\x9b\xea\x62\xae\x68\x4a\xc1\x04\xc5\xc7\x15\x1e\x28\x3f\x2d\x92\xa8\x49\x99\xa5\xe6\x0f\xa6\xf4\x0d\x99\xd6\xad\x28\x84\x4e\x3c\xaa\xac\x54\x14\x47\xb4\x8a\x74\xe9\x1c\x59\x32\x7f\x59\x39\x53\x38\xf6\x1e\x2c\x2e\x16\xc0\x1d\xec\xc8\x15\xd4\x9f\xc7\x34\x05\xbc\x97\xa3\xf5\x98\x96\x8b\x4e\x2b\x21\x33\x09\xdd\x1c\xb7\x04\x6d\x78\x60\x04\xba\xea\x1d\xee\x2c\x05\x54\xd0\xf6\x7e\xfe\x96\x27\x1e\xb5\xc2\x60\x46\x0a\x0d\x4c\xad\x2d\x1b\x17\x91\x50\x5c\x61\x49\x0e\x20\xc5\x6f\x43\x21\x2a\x92\xb5\x17\x4d\xdb\xe0\xa3\x39\xc7\xed\x31\xdc\x28\x17\x7a\x99\x54\xc1\x7f\x11\x2b\x3d\xff\xdf\x91\x99\xe0\x36\x13\x7e\xf6\x0b\xf9\x5c\xad\x6d\x93\x63\xeb\xce\xea\xda\xa1\x3b\x89\x9f\x2e\x8e\x8f\xe6\x1a\x8e\x6e\x6f\x25\x21\xad\x6d\xe7\x31\x16\xc6\x2f\x65\xb9\xa8\x9b\x6f\xcd\x68\x1c\x97\xd0\xf0\xea\x83\xd7\x24\x0a\x34\x76\x0e\x21\xf5\xd7\xb0\xc4\xf3\x57\x61\x0a\x88\xdb\x2a\x6c\x41\xb9\x5c\xc8\x98\xa5\x86\xfe\xfb\xf8\xab\x95\xc0\x16\xfd\xef\x32\xf6\x03\xfe\x73\xa4\x1a\xfa\x9b\x81\x1f\xc5\xe1\x14\xde\xf4\xd9\x6d\x54\x43\x6d\xe2\xab\x4f\x55\x94\x22\xf9\x21\x19\x43\x5a\x07\x00\x45\x45\xdb\x0f\x46\x31\x09\xd6\x91\x68\x6a\x8f\x88\x05\xe1\xfd\x1c\x7f\x7a\x1d\xb2\xc2\x48\xc4\x6a\x02\xdd\x29\x93\x7e\xe0\x81\x53\xa6\xeb\xc7\x65\xe2\xc6\x96\xe7\xda\x65\x7c\xd1\x2f\x93\xa9\xef\xd0\x90\x89\x20\x3a\x9f\xb0\x91\xdd\x52\x6e\xee\x94\xdd\xd2\xfa\x2c\xee\x80\x51\xfa\x82\x66\x8b\xa1\x12\x8b\xfb\xb5\x81\xeb\x16\x0d\x13\x1b\x02\xb7\xf4\xaa\xfa\x7a\x32\x20\x08\x93\x64\xcb\x85\x46\x31\x3c\x0b\xdc\xbb\x11\x18\x7f\x75\x62\x03\xf4\xd3\x62\x57\x3d\x2b\x76\xfb\xae\xe7\xc6\xf3\x6c\x2e\x25\x45\xc4\xc4\xda\xb2\x93\xa9\x50\xd7\xda\xdb\xde\xd9\xe9\x01\x77\xce\xf9\x91\xb8\xe9\xf4\xe0\xb9\x12\x68\xc9\xcf\x38\x3e\x0d\xe8\x2a\x60\xea\x90\x96\x6b\x02\x17\x46\xad\xa3\xa9\x3b\xa8\x0a\xd6\xa5\x2e\x34\x41\x5c\x59\x6a\xd2\xd1\x9b\xec\xc9\xb6\x77\xa5\x01\x38\xa2\x32\x23\xa4\x8e\x01\xc1\x85\x9e\x5f\xbb\x11\xff\xdc\x8a\x08\x75\xe3\x11\x0d\x5f\x73\x00\xc6\x4e\xf3\xeb\x41\xeb\xb0\x71\x75\xda\x23\xa4\x08\x5e\xcb\x81\x0f\x82\xc5\x9d\x7a\x4a\x49\xb9\xce\xd1\x3e\x3e\xfd\x15\xa5\x29\x8c\x2d\x8a\x42\x38\xec\x17\x49\x58\x26\xc3\x32\xe9\x97\x0a\x6c\x3e\xc6\xbc\x16\xda\x2f\xf9\x4b\x7e\x31\x83\xd6\xe4\x02\x3a\x18\x1c\x41\xd8\xbb\x89\xe5\xd1\x18\x5f\x8f\xa6\x11\xf8\xb6\xc0\xf8\x13\x81\xd6\xc1\x6d\x95\xce\x27\x8f\x8f\x52\xda\x17\x94\x55\x79\xa7\x02\x68\x58\xf6\x08\xaf\xba\xe0\xc4\x24\x0d\x84\xd0\xb7\x98\x31\x18\x83\x0d\xd3\xfd\x79\x26\xd1\x25\x32\xad\xab\xf3\x61\x5b\x7e\xe0\x83\x5b\x41\xe2\x23\x95\x1a\x9f\xe8\x2d\xef\xe9\xd7\xe6\xc5\xe9\x45\xc7\x30\xb6\x9c\x72\xcf\x12\x07\x79\x36\x77\x87\x2a\x5d\x98\xa6\xfa\xd6\x56\x99\x88\xff\x2b\x25\x10\xe7\xbc\xc2\xbe\xda\x00\x54\xa8\x96\x09\xfb\x5f\x49\xd1\x07\xd8\xee\xa1\xba\xdb\xe3\x10\x2c\x38\x6f\x53\x9f\xe2\xde\x92\xf9\xb8\x2f\x92\x8c\x6b\x9f\xca\x9d\x27\xf3\x8d\xb6\x09\x65\x1b\xe1\x6f\x0b\x86\xcf\x13\xc7\x07\xed\x9b\x99\xcd\x61\x74\xf5\x8f\xad\xc8\x76\x5d\xfe\x8d\x08\xa3\xe1\x9e\x2e\x1e\x3d\x40\xdf\x61\x8e\x5e\x2a\xc3\xf9\xbc\x20\xbc\xe4\x42\x9b\x20\x80\x0b\xbf\x2b\x1a\x37\x95\x02\x29\xa7\xaa\xf6\x00\x9b\x07\xb4\x2b\x77\xe8\x0b\x2b\x0b\xb0\x57\xee\x56\x46\xc3\xda\x00\xce\x0e\x89\x55\x02\x86\x7a\x0b\x2b\x32\x56\x60\xe2\x58\x2b\x46\x04\x6d\xc7\x1d\xc0\x2d\x39\x96\x0f\x19\x32\xc7\x2b\x8f\x58\x98\x21\x1e\x3e\xaf\x9a\xbf\x4b\x29\x5a\x02\x42\x5b\xef\xa3\x24\x70\xb8\x8d\x64\x5c\xec\x83\x32\xec\x8c\x7d\x3c\xc4\xf1\x18\x24\x45\x77\x40\xac\x3b\xcb\xf5\x58\xe5\x12\x0c\x03\x3a\x0d\x0e\xe0\xea\x40\x23\x1a\x8b\x98\x79\xb6\x47\x4c\xa8\xef\x50\x5f\xbc\x42\x13\xa5\x71\x5e\xf0\x91\x7d\x6e\x44\xfb\xa1\x48\xb0\xa8\xf5\xbd\x41\x70\x7b\xa2\x1e\x1e\x5e\x96\x1f\x4b\xe7\xc7\x5f\x66\x23\x2b\x16\xe0\x59\xd2\xe5\x11\xf7\x06\xe8\x27\x7f\x3c\xc6\xed\xf3\x97\x95\xba\xa4\x2d\x5f\xe9\x2f\xcb\x91\xba\xfd\xe9\xb8\x58\x50\x55\x87\x46\xd2\x29\xae\xfc\x89\x93\x16\xf7\xe3\x39\xce\xba\xd4\x75\x78\xcf\x52\x1b\xfa\x4a\x1d\x53\x8f\x85\x3d\x52\xe0\x55\xd9\x26\xf0\xc8\xce\xe8\xe7\x90\x95\xf4\xca\x42\x48\x2e\xf0\xb0\x56\xcf\x0f\xf9\xcc\x12\xae\xdc\x51\x76\x2e\xe1\x76\x55\x48\x98\xd5\xd3\x5c\x6c\x39\xb8\x0d\x44\x81\x09\x63\xc1\x0c\x17\x01\x3b\xa3\xfd\xc0\xa1\xba\xa7\x8d\xc9\xb8\xfd\x78\x05\x61\xa5\x21\x44\x34\x16\xd4\x9e\xa4\x07\x98\x0c\xff\x0e\xa5\x13\x8c\x23\x10\x1a\x70\x62\xa5\xd5\x20\xa4\x4d\x7d\xfb\x41\x1a\x0b\x09\x2c\x1d\x91\xed\x05\xbe\x01\x6f\x52\x62\x8e\xaa\xb6\x74\x95\x44\x11\x40\xdd\x60\x7b\x65\x7b\x43\x91\x55\xb8\xa5\x73\xb1\xb6\x84\xa1\x2a\xbc\xfb\x74\x4b\xe7\x5f\xf8\x19\x08\xbf\x4b\x73\x53\x78\x97\xde\x94\x33\x1b\x75\xc5\x0e\x7c\xdb\xe2\xc1\x0e\x9c\x0f\xe1\x5d\xda\xea\xcd\xbd\xdb\x12\x4c\x51\xd8\x7e\xb2\x5a\x24\xec\x57\x4e\x40\x23\x08\x53\xe0\x3e\x6e\xe8\xda\x86\xad\x11\xb8\x88\x18\x4e\x03\xfe\x18\x05\x2e\xdc\xbf\x92\x76\x8c\x8f\x7e\x02\x73\x57\xa1\xc4\x8e\x1f\xb0\x92\x96\xf1\x2d\x9b\x35\xc4\x76\x25\xa6\x7f\xae\x34\x1f\xd0\x78\x8e\xed\xfd\x4f\xd7\xad\xfe\x6c\x9d\xe6\xff\xff\xb4\x0e\xb3\x20\xa6\x15\x64\xf5\x14\x02\xf7\xcc\xd5\x45\xa1\xa9\xaf\x10\x93\x58\xa4\x16\x51\x72\x97\xcd\x5f\x4a\xc8\xb4\xb9\x6f\x03\xf9\x28\xa5\xee\xf4\xd8\x25\xce\x1d\xe4\xdc\xc9\x88\x43\x23\x3b\x74\xd9\xe5\xd1\xe7\x50\xcb\xaa\x52\x20\xb7\x2b\xe9\x36\x2b\x42\x0c\x1f\x4d\x6e\x29\x87\xdc\x88\xfb\x47\xe4\x66\x42\x29\xe6\x2c\x9c\xec\x6a\x50\x31\x04\x72\xd7\xd0\xb2\x6a\xcf\x13\xf9\x37\x7c\x8e\x4b\xc0\xf0\x05\x5f\x05\x26\x52\xb0\x10\x0c\x5f\x24\x6b\xc1\xf0\xa5\xbe\x1c\x4c\x0d\xf2\x15\x61\xfe\x4a\xa2\x75\x65\xbe\xe4\xeb\x22\xcb\xaa\x64\x65\x64\xbf\x4b\x54\x72\x0e\x05\x6a\x3e\x07\x75\x4b\x41\xd1\x42\xac\x6e\x70\x67\x92\x00\xdf\x25\x1e\x9c\xcb\x73\x99\x83\x8f\x5a\x6c\x8f\x84\xc7\xe2\x6a\x27\x00\x7f\xa2\x86\x67\x2c\x5b\xb4\x3e\xf1\xe0\xea\x97\x20\x89\x8b\x07\x70\x0c\xc7\x14\xb2\x59\xe6\x91\x66\x96\x0f\x4e\x42\xd8\xc7\x54\x59\x2c\x59\x21\xe4\x00\x1d\xc5\x01\x77\x33\x18\x90\x71\xe0\x07\x00\x94\x4a\x66\xae\x43\x93\xc8\x1d\x46\x0f\xaf\x08\x81\x4f\x6c\x1a\xc2\x25\x14\x71\xb0\x23\x52\xa4\x95\x61\x45\x80\xeb\x5c\x74\x4b\x1a\xe0\xee\x64\x1a\x13\x6a\xd9\x23\x03\x41\x44\x42\x07\x0e\x0e\x48\xb3\xdb\xe5\x9e\x92\x85\xca\xcc\x5e\x63\x03\x2c\x70\x0d\x6b\x64\x45\x1c\xe1\x87\x87\xa6\x29\x2f\x28\x2d\x46\xfa\x2e\xfe\xca\x26\x10\x1f\x49\x5d\xf4\xbd\x87\xd3\x4f\x9a\x08\x84\x6d\x0e\x5a\x13\xf3\x03\xe9\xa7\x61\x4e\x44\xaf\xca\xf8\x9d\xec\x0b\x65\xbd\x61\x14\x79\x40\x35\xfc\xfe\xf5\xb7\xa1\x37\x9f\x8c\xb8\x35\xe2\xf7\x42\x9e\x71\x15\xdc\x86\x94\x74\x36\xd2\x0d\x06\x26\xc1\xe6\x9f\x0a\x17\x12\xa6\xc4\x48\xd1\xaa\x68\xbb\x14\x9b\x45\x26\xb7\x3f\x48\x43\x9d\xd2\x20\x4c\x64\x41\xcc\xa8\x26\x6e\x42\xd6\x84\x09\x49\x97\xb5\xe5\x6a\x17\xc8\x5d\x53\x8a\xbb\xb2\x7f\xa5\x86\x96\x7a\x36\x90\x5b\x9e\xc0\xe1\xe1\x03\xd1\x95\x4e\x4e\x9f\x35\xcf\x06\x97\xa1\x99\xe4\xcb\x61\x83\x5d\x96\x7f\x88\x15\x2a\xc8\x8c\x39\x11\x4f\xa2\xce\x3e\xc5\xb0\x13\xf1\x8d\x98\xd6\x3d\xf2\xe9\x8b\x9e\xfb\x4c\xd1\x30\x9e\x9b\x54\x07\x9e\x65\x29\x9b\xfc\x2f\xa9\xa8\x13\x54\x54\x91\xa5\x04\x73\xd2\x00\x26\x1f\xeb\xa4\x95\x2b\xab\x40\x6f\x60\x1b\xba\x4a\x91\xad\xd6\xf7\x32\xc3\x3d\xfb\xb6\x90\x1a\x2f\xdb\xe9\x79\x0d\xc6\x26\xa1\xfc\x48\xb4\xcb\x64\x3e\x61\xeb\x4f\x13\x97\x69\xfd\xf1\xeb\x14\xf5\xbe\x1a\x6b\xc5\x99\x0e\x3e\x31\xc5\x02\x7c\x85\x0b\x5c\x04\x08\xb3\xf6\xe1\xe3\x94\xb9\x44\x86\xf9\x31\xc1\x38\x48\x7c\xdd\x04\xea\x9e\x6c\x4e\x1e\x35\x32\x78\x4a\xaf\xf0\x62\x8f\x14\x12\x5b\x74\x41\x69\x56\x55\xd8\x92\x66\x55\x70\x1f\xf5\xa0\x5a\x44\x9e\x11\x59\xe3\xe5\xd4\x16\xd2\x8a\x5f\xa6\x15\x8d\x96\xcc\x39\x84\x90\x2a\xe9\x71\xeb\x1f\x64\xe3\xd2\xf0\xf4\x33\x33\x5e\x6c\xab\x2a\xd7\xa5\x16\x99\x00\xbd\xc0\xe7\xaa\x1a\xa9\x20\x61\xe8\xe9\xf5\xf9\x99\xf9\x5c\x47\xf9\xd6\x1b\x85\xdd\x93\xb7\x98\xfd\xe6\xab\xcc\x04\x20\xa8\xa9\x9d\x63\x9f\x99\x24\x42\xa6\x1a\x54\xb6\x0b\xa5\x96\x96\x42\x2c\x55\x2e\x09\xe0\xe5\x7d\xc1\x38\x12\xa5\x3a\x7c\x81\x89\x3d\x64\x87\xbf\x05\xae\x5f\x2c\x10\x9e\xf4\x8b\x6f\x67\xac\x74\x46\x27\x15\x20\x20\xc2\xed\xde\x11\xc6\x02\xfe\x8a\x55\xce\xee\xdd\x25\x38\xe0\xc0\xb2\x61\x8d\x31\x7c\x09\x96\x16\x7c\xe8\x46\x24\x65\xdb\x37\xfb\xc8\xf9\x0e\x44\x70\x88\xac\x57\x8c\xb6\x78\xb3\x88\xa8\xaa\xca\xda\x60\xad\xe8\xc3\x3b\x0b\x0d\xd9\xc1\x28\x62\xe1\xf1\x48\x16\xef\x89\x56\x38\xa4\xb1\xb4\x66\x88\xc6\x0e\xf9\x69\x35\x99\x86\x93\x80\xed\xa3\xe2\x3a\x8f\x0a\x4b\x39\x49\xce\x87\x96\xa2\xc8\x75\x68\x48\x1d\x55\x3f\xca\x71\x93\x48\x0e\xb9\xa0\xff\x0d\x8c\x1f\x89\x17\x7a\x4c\xd1\x33\x7a\x89\xe2\x2e\x59\x9e\xa8\x68\x2a\x67\x25\x5b\x13\x37\x66\xa6\x27\x98\x39\xbb\xf4\x74\x84\x53\x96\x46\xe6\xe3\x51\x78\xc1\xc0\x5a\x99\x4f\x68\x30\x40\xb7\x96\x3d\x52\xc0\xe1\x02\xd4\x5a\xd0\xff\x06\x69\x55\x7a\x1c\x92\x67\x23\x7b\x5a\x2a\x47\x69\x72\x1e\xf2\x8d\x97\x55\xe7\x67\x9b\x12\x98\xac\x20\x42\x83\xee\xc5\x63\xc4\xa8\x9a\x23\x07\x14\x2f\xbe\xf2\x51\x79\x85\xc7\x47\x7c\x99\xe1\x91\x19\x76\x30\x1e\x83\x33\x8c\xcb\xdf\xa2\x12\x4d\xa0\xa2\xdc\x5d\x9e\xab\xdb\x8e\x18\x94\xd8\x84\x16\xe9\xe0\xe2\x9e\x92\xa3\x95\x3f\x37\xef\x31\xa2\x05\xb1\x33\x98\xda\x50\x4d\x05\x7b\xda\x81\xbd\xe8\xfa\x94\x94\x4d\x9f\xc5\x5a\xad\xc5\xe7\x2f\x23\xf2\xfc\x79\xe6\x00\x36\xb4\x8b\xc6\x03\x9c\xc4\xe4\xe4\xcb\x16\x14\xc6\x07\x9d\x2e\x9e\xbd\x3a\xc3\xd2\x77\x2e\xa8\xc2\xc8\xe7\x5d\xc3\x4c\xf7\x30\x59\x49\x3f\xf5\x74\x0f\xb2\x05\x86\x47\x11\x0a\xa0\x81\xec\x88\xe9\x28\x2b\xef\x59\xaa\x19\xd2\xf0\xba\xa4\xea\x54\x0b\xde\x94\x52\xfa\xd1\x62\x93\xc1\xd5\xc4\x11\x70\xf5\xa2\x21\xfd\x8d\x4d\x7d\xbb\x43\x8c\x6f\x76\xd9\xe1\xf7\x35\xd8\x61\xa9\x84\xdb\xe7\x98\xe8\xc2\x50\x62\xd2\xff\x85\x4b\x86\x32\xb0\x9e\xee\xa9\x21\x3f\x47\xf1\x64\x57\x81\x69\xa4\xee\x50\xe2\x0e\x0c\x9b\x67\xd2\x51\x83\xef\x58\xd2\x9c\xc2\x20\xad\xb9\xf4\xbb\xfd\xb2\xe6\x92\xee\xf1\x01\x2e\xb7\x3c\x4b\xce\x67\x6d\x1d\x12\x84\x65\x48\x63\x7c\x2d\x81\x5c\x4e\x45\x57\xc5\xbf\x75\xc9\x6f\x64\x27\x8d\x7d\x9c\x58\xab\x5c\x25\xbc\xcd\x0b\x66\xb0\xbd\x7b\x03\xf1\x8c\xd3\x38\xef\xb6\x49\x6d\xbb\x4c\x2c\xc7\x21\x3b\x15\x0d\xcd\x94\xb8\xe4\x05\xd9\x49\xc3\x3e\xb6\x07\x89\x01\x54\x12\xae\x6d\xeb\xb6\xb1\xb2\x78\x4c\x03\x8b\x49\x48\xbf\x4f\xd9\x29\xcf\x83\x15\x05\x25\x7e\x18\xe0\x83\x1b\x1d\x59\x77\x6e\x10\xb2\x7e\x0d\xfd\x60\x4c\xd7\x14\xc7\x24\xa5\x47\x9a\x7e\x9b\x67\x36\x4d\x7f\x2e\xae\x31\x79\xa6\xd3\xf4\xe7\xa2\xbc\x69\x8d\x99\xad\xa3\x4a\xe9\xfd\x15\xde\x87\x93\x4b\x02\xca\x8e\x98\xbd\xbc\x01\x99\x3a\x48\x72\x87\x63\x1a\xbe\x9e\xc2\xc0\xf5\x47\x34\x74\x85\x4d\x93\x1f\x50\x85\x48\xb8\x27\xf8\xf3\x71\x10\xf2\x04\x08\xb9\x3c\xc8\x0c\x77\x57\x2d\x9f\xe5\x42\x86\x50\x56\x37\x36\x3c\x0e\xea\x07\x45\x22\xf4\x19\x4e\x3d\x5f\x6c\xc1\x5b\x58\xbe\x73\xb4\x9f\xac\x1f\xc3\x1c\xa4\x56\x5f\xba\x84\x09\xb2\x5a\xb7\xb8\x2d\x98\x5f\xf3\xd4\x3e\x8e\xeb\x22\xe1\x4e\x97\xe2\x06\xb4\x9e\xde\xb5\x22\x32\xf5\x3d\x1a\x45\xc4\xf2\x42\x6a\x39\x73\xa2\xf9\x8e\x84\xc3\x7e\x51\xbe\xfc\x0d\x82\x70\x5c\x79\xb6\x02\x93\x15\xa6\x65\xdf\x1a\x8a\xd9\xba\x06\x13\x6b\x89\xbc\xc9\x83\xa1\xc8\x32\xe0\x75\xd6\x26\xfe\x29\xdd\xc8\x97\x52\x56\xa8\x84\x6d\x36\x6d\x05\x2d\x29\xb9\xa7\x80\x68\x2f\x38\xb3\x6e\xe9\x21\xbf\xd0\x17\x33\xf6\x8d\x3d\xa3\x39\x22\x7f\x08\x89\x3a\x92\x3b\x98\x84\x7a\x69\x37\x87\x93\x8a\xd1\x7f\xec\xde\x17\xd3\x3d\x2d\xa7\x3c\x44\xca\xa4\x5a\xd9\xd8\xd8\xd8\xd0\x19\x91\xd9\x29\x16\x4d\xa4\xf6\x18\x54\xcc\xd6\x7d\xd2\x44\x2a\xfb\x81\x69\x22\xd3\x8d\x98\x80\x45\x62\x00\xec\xe2\x36\x5e\xf1\xce\x1d\x2b\x2f\x1a\xa9\xcb\x63\x24\x6e\x8f\x11\x5e\x1f\x23\x6e\xe1\x4d\xcc\x7f\xa5\x24\xbc\x32\xb9\xea\xfc\x0f\x5f\xda\x6a\xa4\xe1\x1b\x2f\x6d\x0b\xea\xd4\x49\xc3\x47\x55\xea\xd1\xb7\xbd\xc4\x11\x2e\x6f\xec\x39\x0a\x4b\x52\xf1\x0c\x2c\xa5\xfa\xc5\xad\x56\x86\x7e\x99\xee\x6f\x35\xf5\x02\xa7\xdd\xd5\x16\xb7\xd3\x96\x97\x38\xa0\x2c\xcf\x4d\x46\x32\xb9\x00\x3e\x87\xcb\x40\x5d\x7e\xa0\x35\xc0\x4d\x30\xc6\x8a\xd9\x9b\xa3\xb0\xe0\xc9\xdb\x62\x0d\xaf\x8b\x35\xdd\x16\x0a\x7f\xd4\x09\x6f\x37\xb9\x4a\x8a\xbb\x1d\x56\x15\xc6\x4e\x7e\x3d\xaa\x9b\xee\x52\xbc\x64\xc6\x8a\x29\xeb\x2c\xbc\x53\xf1\xda\xaa\xc5\x52\x56\xcc\xbb\x45\x29\x75\xb8\x21\x52\xab\x62\xb8\x20\xf1\x1a\x69\x8b\x9a\xac\x96\x32\xc3\xed\xe6\xaf\x58\x65\xb1\x8a\x30\x76\xfd\x61\x48\x3e\x3b\x44\xe6\xf7\xc7\x7f\xf5\x82\x5c\xb8\xae\x78\x05\xe5\x41\x69\x95\xb5\xd4\x36\x3d\x73\x4a\x3b\x88\x10\x4c\xb3\x29\xc4\x68\x0b\x59\xcc\xff\x61\xf2\x8c\x2d\xdf\x83\xd0\x23\x08\x2c\x9c\x11\x51\x4c\x7e\x26\x7f\x1b\xfe\x6e\xf0\x03\x1f\xd2\xd8\x3d\x09\xde\x55\x28\x7e\xac\xb6\x20\x49\x2b\x14\xc5\x7d\x89\x5d\x1a\x74\x8e\xca\x08\x9e\x9e\xa1\x73\xe8\x23\x67\xea\x5e\x0e\x77\x65\xce\x5d\x95\xa9\xbe\xb4\xef\x02\xd0\x19\x08\x83\x34\xa2\x48\x9f\x16\x3d\x35\xae\x48\x7c\x0b\x85\xf5\x47\x96\x14\x68\x97\x08\x9a\x4e\x15\xe4\x66\xd2\x74\xa2\xca\xdc\x79\xc1\x64\xbc\xb9\x33\x42\x78\xc8\x81\x15\xc6\xe8\xb5\x8b\xef\x95\x8e\xa8\x87\x2c\xb3\x10\x7b\x63\x32\x45\x94\xd9\xcc\xe3\xdf\xd3\x27\x35\xe9\xde\xc2\x59\xe5\xb4\xe5\xa4\x62\x87\x65\xd7\x31\x91\x3c\x64\x4d\x36\xf4\x2e\x5b\x1d\x47\xd5\x93\x42\x15\x07\xc4\xc6\xc8\x5d\x73\x7d\xa3\x50\xd1\xfb\x18\xcc\x78\x8e\x3a\x88\xa7\x08\x56\x17\xab\xa7\x24\x8b\x67\x4e\x2e\x13\x25\xd7\xd6\xea\x72\x06\x24\x33\x52\x96\xa2\xb9\xb2\xcc\x71\x72\xd9\xca\xab\x4b\x20\x20\xdd\xa0\x29\x67\x91\x28\xa2\xd1\x5d\x4a\x23\x2b\x4c\x21\x44\x83\xfd\xf1\xbf\x4d\x0c\x29\xb7\x0c\xf1\x08\xe4\x45\x55\x57\x92\x40\x24\xf2\x33\x42\x98\x0a\x54\xd6\xe4\x90\x0a\x5b\xe1\x23\xa5\xd0\xf5\x87\xf9\x82\x48\xf9\x35\xe5\x11\x62\xc8\xe8\xa5\x6b\x2f\x3c\xa2\x20\xf3\xa8\x72\x92\xfb\x18\xc2\x12\xbb\xc3\x69\x30\x8d\x48\x38\xf5\xe1\xdc\x47\x2f\x84\x35\x60\xba\xe6\x8b\x80\x98\x50\xa2\x18\xfa\x3f\xac\x49\x90\x5f\x5e\x66\x41\x60\x57\x2a\xaa\x0b\xba\xa3\xcf\x6a\x23\x0c\xad\x39\x38\x15\x58\xec\x37\x82\x47\x33\xdc\x37\x30\x62\x89\x07\x1b\x48\x06\x60\x87\xe3\xb0\x8c\x90\x47\x42\x52\xc1\xbd\x23\x91\x05\x57\xc4\x84\x80\x7f\xee\xc2\x01\x2b\x23\x11\xc4\xe0\x3d\xc2\x3c\xda\x0a\x01\xcd\xc9\xd8\x47\xbd\x8e\x20\xa6\x38\x76\xb8\x71\x24\x9e\x3c\x92\x54\x94\xe0\x1a\x0e\xba\x51\x38\xa5\x0b\xc8\xcb\xce\xf9\xde\x9c\x34\xba\xcd\x76\x5b\xf8\x6f\x20\xe1\xe4\x11\x23\x8f\x76\xfe\x32\x80\x89\x79\xef\x3a\x94\x75\xd6\x18\xb5\x9f\x72\x77\xfd\xf4\x25\xb1\x02\x82\xc7\x60\xb5\x4c\x54\x34\x3c\xfc\x2e\xeb\x07\xa8\xba\xc1\xba\x50\x94\xb8\xe4\x37\x92\xa4\x2b\xde\xd5\x0c\x09\x64\x0f\xbe\xb2\x03\x87\x5e\x06\xae\x1f\x37\xe2\xa2\xcb\xef\xf6\x40\xc1\xb7\x43\xca\x9d\x8c\x8b\x36\x40\x1e\xdf\x0f\x06\x83\x41\x89\xbc\x21\x35\xf2\x9a\xd4\x77\xa5\x85\xcb\x26\xbf\x91\x5a\x5d\x31\xec\xf2\xde\xbe\xd8\x4b\xa8\x64\x32\xf5\xf1\xc5\xcc\x98\x82\xba\x8b\x5d\x62\x8d\xd4\x56\xa0\x42\x88\xf1\xf5\x3a\x93\x73\x0e\x9a\xc1\xe7\x5f\x25\x61\x48\x78\x87\xef\xd3\xff\xd4\xee\x0e\xe1\x6b\x4c\xe1\x8c\x47\x12\x63\xbc\x60\xba\x06\x2e\x2d\x1b\x7e\x9d\xfc\x9a\x7c\xff\x43\x49\xe6\x61\x8a\x0e\x21\x32\x95\x87\xa9\x1b\xe9\x4e\xb8\xe5\x64\xe0\x4a\x27\x50\xc8\x5f\x63\xd4\x44\xb6\xb9\xd7\x3c\x4c\xe4\x59\xba\x4b\x5c\x98\x5c\xf2\x22\xcb\x4f\x5d\xbc\x44\x27\xdd\x0c\xef\xa5\x99\x46\x67\x6b\x7a\x2c\x2b\xb1\x33\x9f\x95\x3f\x12\x93\x90\xee\x6f\xbd\x24\x36\xf4\x2e\xfe\xdf\x19\x0e\x5a\x26\xf0\xd7\x40\xfc\x72\xd5\x3b\xdc\x61\x37\x59\x87\x86\x05\x55\x38\x0b\xb8\xff\x5c\xf7\x2a\x4d\xb1\x2f\x9e\x59\x93\x45\xd1\xa4\x98\x65\x91\xd0\xc8\xb6\x26\x54\x82\x5d\x10\x19\xb8\x8d\x9e\x6a\x22\x3e\x42\xf9\x98\xb0\x5d\x10\x5e\xdb\x02\x0d\x11\x84\x5f\x2e\x6d\x6b\x02\x50\x54\x00\x84\x12\x0e\x02\xf6\xed\x50\x66\x57\xfe\x15\x71\x5f\x91\x84\x1b\xf8\x51\x99\x4c\x2c\x17\xe3\xfc\x92\x03\xa3\x4c\x68\x6c\xa7\x9c\x20\x92\xf6\xf9\x9f\x98\xac\x0f\xc0\x5c\x44\x40\xa7\xc7\x61\x2e\xef\x59\xa7\xca\x24\x1e\xc1\xc3\xa7\x0b\x7a\x17\x3e\xf5\x44\x80\xc2\x9e\xa4\x9c\x0c\x29\xa1\x51\x10\xd3\xd0\xb5\xd3\xac\x88\x12\x80\x4c\x44\x0d\x92\x5f\x80\xda\x28\xdc\xd5\x50\x71\x44\x71\x74\x02\x7b\x9d\x97\xee\x4a\x2a\x63\x67\x09\xd4\x5f\xc2\x42\x89\x1e\x28\xa2\x45\x45\x68\x6a\x6a\x56\xc4\x71\x73\xdd\xcb\x07\x04\x84\x69\x27\x22\xbc\x85\x03\xc8\xa5\x27\xcb\x88\xd4\x74\xe7\x86\xf1\x14\x7c\x19\x95\xb7\xad\x5f\xd7\xd3\x41\xfe\x69\x8c\x41\x59\x3c\xc9\x17\x03\xe5\x13\xfc\x0a\x4c\xf3\xad\xa4\x82\x90\x0f\xc0\x6a\x62\x67\x5e\xcd\x98\xd4\x59\xb8\x43\x5c\x5a\x21\x2c\x1e\x2b\xa6\x04\xd2\x4a\x01\x14\x60\xf2\x82\x68\x45\x31\xa6\x3c\xd6\x11\x01\x45\x6e\x79\xf8\x8a\x69\x75\x54\x00\xb5\x73\x98\xab\x89\x15\x45\x22\xed\xc9\x3c\x98\x86\x58\x92\x84\xc1\x34\x86\x38\xe7\xd0\x02\xe5\x07\xc2\xe2\x42\x0a\xe0\x79\x48\x01\xba\x9c\x90\xfd\x2a\x3d\x6f\x12\x48\x45\xe5\x4b\x35\xae\xe5\xba\x57\xb9\x94\x5f\x15\x93\xa2\x57\xfe\xad\x1f\xcc\xfc\xaf\x12\x9b\xbe\xe1\xcf\xc9\x2f\x1e\x36\x4a\xc6\x81\x03\x91\x4f\xd1\x2f\x72\x31\xa7\xc4\xb7\x2c\x83\xbc\x0b\x6f\xd8\xee\x41\x0a\x18\x24\x3d\xe2\x63\x46\xd3\xac\xa4\x43\x04\x26\x10\x8f\xa0\xc1\x4e\x34\xbb\xed\xaf\x72\x04\xbc\xed\x33\x5e\xe5\x2b\x77\xd5\x53\x7a\x17\x87\x96\xeb\xe9\xdd\xab\x10\xd2\xb5\xc6\x54\x4d\x14\x40\x99\xdc\x11\x8b\xa4\xc7\x52\x46\x4a\xf4\xde\xa6\x93\x58\x78\x37\x85\x94\x6f\xa2\x98\x53\x10\x6e\x22\xd3\x31\xac\x57\x2b\x1c\xc2\x0a\x4c\xa2\x63\x45\xfb\xe6\x2e\xbe\x1f\x51\x34\x47\x87\xf0\x2c\x8c\xb8\x60\x13\x11\x3a\xc3\xd9\x67\x83\xc7\x2d\xe3\xa9\x88\x2c\xcc\x60\xbb\x70\xe7\x16\xcf\x0b\x66\x98\x7d\x09\x94\x18\x44\x93\x53\xd3\x4b\x25\xb8\x9b\x29\x10\x46\x4c\x25\x3d\x73\x21\x63\x9b\x84\x64\x94\xf3\x88\xf9\x46\x2c\x9f\x5c\x74\x9b\x2a\x0a\x11\x5f\x4e\x91\xdd\x73\xc7\xf4\xd4\x1d\xbb\x10\xdd\x55\xaf\x56\xab\x55\xd1\x18\x3f\x1a\xd0\x55\xd8\x45\xf5\x19\x41\x45\x1c\xf8\x46\x7a\x35\xf0\x88\x96\x78\x20\x4e\x13\x21\x94\xa9\x43\x86\xfb\x26\xc9\xcd\x44\xf0\x10\x60\xec\xc4\x3c\x91\x9d\xb5\xbe\x1b\x4b\x74\x35\xed\x0a\x43\x08\xaf\xd9\xf0\xf3\x8a\x21\x9c\xba\xb2\xdb\x81\x4d\x78\x44\x58\xe1\x88\xf2\x6b\x3c\xa6\xc4\xfe\x55\x64\x61\x98\x05\xe1\x2d\x3b\x7f\x5e\x02\x49\x31\x45\x11\xe6\x5c\xa1\x73\x00\xc8\xc6\xa7\x83\x59\x80\x28\x2d\xf4\xfb\xd4\xbd\xb3\x3c\x99\xe2\xf1\x57\x72\x16\x44\x31\x64\xea\x8e\x48\x14\xbb\x9e\x87\x57\x00\xb1\x47\xc4\xb3\x60\x0d\x2a\xf2\x60\x57\x6d\x30\xef\x65\x1c\x6e\x6a\x4c\x20\x3d\xfd\xb9\x8c\xa0\x24\x32\x1c\x57\x05\x09\x86\x94\x21\x48\xc9\x8d\xa2\x29\x87\xad\x25\xbf\x58\xb6\xed\x3a\xd4\x8f\x2d\xef\x17\x32\x05\xf0\x4f\x9e\x78\x86\x5f\x59\x84\xe3\x7d\x5f\xfa\x7e\x20\xe8\x96\xd8\xe6\x25\x01\x56\x1d\x71\x26\x5d\xff\x2e\xf0\xee\x20\x62\x3d\x2e\x80\xc9\xc4\xf5\xad\x70\x2e\xc0\xc9\xd4\x8d\x1d\x1f\xb6\x77\xf6\xdd\x58\x9c\x78\x9a\x28\x9b\x44\x80\xad\x01\xe0\x16\x13\xd5\xad\x7a\xa2\x46\xa8\xe8\xce\x60\x0e\x81\x78\x02\x62\xcb\x7c\x40\xa6\xa6\x65\xb6\x20\x84\x85\x51\xb3\xf3\x8b\xc6\x3b\xca\x8a\x65\x53\x57\x00\x2f\x3f\x01\x54\x63\x27\x88\x8e\x5a\xf2\x09\x26\xf5\xd3\x88\x4c\x23\x9e\x0d\x1d\x61\x24\x0e\x5a\x4d\x72\x19\x02\x14\x23\xc2\xfe\xd7\xea\xc6\x6e\x1d\x50\xbb\x56\x37\xf3\x02\x6d\x26\x13\x00\x3f\x23\x02\x71\x4c\x18\x0a\xd8\x82\x86\xb8\x05\x8e\x2d\xa5\x64\x74\x61\x5d\x4f\xb5\x25\x97\x43\x4b\x90\xd9\x23\x85\x69\x3c\x58\xdb\x29\xe8\x6d\x9e\x59\xf7\x42\x69\xc7\x6d\x62\xea\x27\xc2\x40\x0e\x9a\xdd\x32\x9b\x8d\x32\xb9\x3c\x63\x3b\x5d\xe3\x32\xd9\x43\x04\xea\xeb\x8c\xc2\xd3\x06\x92\x9b\x4e\xc0\x18\xa1\x84\x95\xdb\xf8\x06\x21\x85\x1d\xc1\x0f\xd8\x8a\x62\x5b\x13\x8f\xb0\xe0\xb7\x59\x7e\xb4\x33\xa5\xb2\xd8\xed\x95\x49\xe1\xf3\xfd\x2b\xbb\x50\x26\xad\x6e\x93\x14\x3e\x7f\x2e\x94\xe0\x39\x93\x51\x29\xee\xb7\x4e\xe1\xfb\xea\xcb\x42\x49\xbd\xbd\x8f\x28\x4f\x94\x43\x7e\xe1\x56\x06\xd1\xdf\x5f\xc8\x38\xf0\x5d\x91\x5e\x31\x61\xd5\xd8\xba\xc7\xe6\x85\x92\x45\xf6\x48\xad\x5a\xdf\xd4\xf9\x24\xa3\xcb\xe9\x18\xf2\x15\x42\x1e\x15\x8e\x5c\x3d\x43\xf8\x38\xe0\x1c\x37\x65\xe8\x5b\x52\x10\xf2\x03\x01\x69\x25\x72\xcd\x96\xa1\x4c\x46\x18\x52\x3b\x18\xfa\xee\x03\xb8\x5a\xd2\xfb\x89\xe7\xda\x6e\xcc\x16\x1d\x30\x33\xd5\x6b\xd6\x83\x2b\x5f\xc1\x44\x35\x0a\x38\x58\x76\x78\xfc\x90\x88\x7f\x57\xfa\x35\xb6\x26\x11\x80\x6f\xc0\x0d\xe4\xa8\x5a\xa9\x54\x8e\x36\x20\x2d\xd5\xac\x94\x27\x50\x67\xac\x4e\x4a\xe5\x50\x6f\x09\x51\x7a\x93\xef\x29\xf1\x82\xa2\x09\xbd\x0b\x15\xb9\x0d\x2a\x09\x7d\xd8\x14\x5e\x75\xd7\xd1\x86\x32\xb6\x26\x98\x12\x07\x11\xb4\xad\x48\x64\xe0\x72\x87\x3e\xdf\xee\x40\x03\xe1\xcb\x51\x6c\xe0\x08\x25\xe3\xc6\x09\x1e\xf8\xc8\x92\xbb\xa6\xdc\x1d\xbd\x39\x89\x66\x2e\x84\xc2\x60\xb3\xc3\xd0\x9a\x8c\x5c\x3b\x42\x6a\x5a\x5f\x49\xb1\x19\x87\xde\xda\x79\xa9\x42\x40\x49\xe1\x89\xb5\xf8\x4c\x5a\x3e\x82\x1b\x8b\x5d\x5f\x10\x62\x35\x91\x18\xc4\x69\x89\xdd\x14\x53\x4c\x02\x08\xaa\x3f\x9f\x59\x73\x25\xcd\x53\x48\xc1\xdd\x8c\x0c\xa7\x56\x68\xf9\x31\xa5\x64\x06\x21\xf6\xa0\xa3\x5a\xfe\x1c\xa9\x89\x8b\x07\x9b\x12\x0b\x1f\x07\x2c\x20\x06\xe0\xf9\xae\x3d\xf5\xac\x50\xc0\x65\xab\x93\x79\x54\x15\x7a\xf1\x51\x4d\xfe\x56\x97\xbf\x6d\x90\x3d\x7e\x19\xcc\x4e\x7d\x65\x48\xe3\x33\x6b\x52\x2c\xec\x17\x0c\xf3\x8c\x07\xa8\x88\xb9\xd3\xb4\x34\x7d\x0f\xc0\x53\xcc\x62\x5d\x9f\xb0\x45\xca\xe1\xc0\xfa\xa0\x9c\x09\x0c\x4b\x71\xcf\x80\x28\x2a\xfe\x14\x74\x74\xca\x88\xf1\x99\x41\x9b\x1b\x7a\xd3\xbd\xda\x84\x93\x99\x7b\xfe\x55\xef\xeb\x35\x48\x0b\x75\xff\x32\xbd\xfb\x24\xc2\x08\xa4\x58\x3f\x0a\xfb\x85\x32\xb9\xea\xa2\xc1\x2e\xcd\xab\x53\xb6\x75\x1e\x55\x0b\xd9\xd1\xee\xfc\xf5\xa3\xed\xac\x38\x5a\x8b\x8f\x76\x90\x99\xea\x4e\x6e\xf7\x85\xc3\xaa\x3c\x69\xd2\x39\xeb\x74\x15\x05\xf4\x19\x0e\x94\x4f\x5a\xcd\xb3\xc6\xda\xc6\x16\xac\x2f\x50\x09\x21\x41\xdd\x30\x10\x1b\x3a\x7f\x30\x26\x4c\x92\x15\x95\x42\x36\xc5\x11\x9b\x20\xdf\x2d\x53\x42\x82\xf4\x76\x03\xc5\xba\x70\xce\x5f\xc5\x83\x9d\xaf\x99\xf0\x65\xb5\xc4\x29\x90\xc9\x28\xcb\x4d\x05\x07\x2a\xa4\x43\x58\x0d\xf4\x1e\x32\x76\x03\x54\x89\x1a\x01\x07\xd7\x23\xa6\x38\xa2\x9a\xa6\xee\xe1\x51\xe5\x59\x92\xe8\x4c\x40\xa1\xb8\x3e\xd1\x2e\x56\x8c\xda\xf7\xa9\x6b\xdf\x32\x26\x41\x36\x34\x61\x52\x4f\xe2\xf6\xee\x63\x24\x94\x39\x20\xa4\x0a\x6d\xdb\xb5\x4b\xa6\x81\x84\xfe\xd7\x34\xac\xcb\x14\x9c\x92\xc5\x71\x8e\x57\xbf\xa2\xbc\xce\x75\xad\x3b\xc0\xf8\x63\xdb\x83\xe8\xdf\x41\xab\xd9\x6d\x62\xdf\xf5\x01\x58\x3c\x33\x74\x1c\x10\x04\xd9\xb5\x10\x71\xe1\xba\x87\x14\xca\x6c\x4b\x72\x23\xf2\xab\x1f\xc4\xa8\xdc\x70\x98\x3e\x5d\xdf\x8f\x58\x9b\xe6\x3b\x28\xa6\x5d\x4a\x2e\xa1\xba\x93\xc4\x79\x90\xc9\x72\x9b\xd8\x20\x14\x37\x61\xe3\xa5\x1d\x6d\x8b\x82\x14\x1b\x63\xab\xc7\x15\xae\x6a\xb5\x2a\x8c\x23\xfc\xf6\x9f\x24\x66\x5e\x9f\x4e\x78\x73\x20\xc8\xab\xb5\xd9\x3c\x6d\x37\x4f\x98\x3a\x90\xdb\x60\x7d\x61\x83\x80\x73\x1d\xdc\xa1\xf5\x1b\x81\x4f\x2d\xc2\xf3\xfd\x03\x7a\xc3\xcc\x5f\x71\xf0\x9d\xc6\x11\x01\x5f\x07\x09\xf7\x27\x6f\xf9\x44\x81\x13\xd3\xac\x5c\xc2\xa1\x23\xb4\xec\xdb\x48\x07\x95\x50\x53\x54\x0a\xcb\x46\x3b\x86\x20\x98\x81\x4b\x3d\x27\x12\x52\xab\x06\x22\xf7\xa7\x83\x01\x53\xb1\x04\xa6\xbc\xb0\x44\x8a\xcf\xd9\x68\x25\x41\x69\x48\x4a\x9b\xab\xc4\xe7\x3f\xa4\xbf\xe3\xd4\xb7\xb5\x7d\x19\xea\x87\x1a\x01\x63\xc8\x6c\x7f\x3a\x48\x42\x65\x93\xf7\x2b\xf4\x54\xd7\xc6\x8b\x3d\x4c\xb1\x5a\xe1\xa0\x8a\x7e\x92\x74\x8a\xfd\x5d\x16\x2d\x19\xc2\x10\x84\xa3\xfa\x1e\x49\x7d\x92\x20\x3f\x4c\x07\x3c\xb0\x8c\xfd\xf6\xc7\x1f\xfa\x8a\x9e\x04\x91\x30\x94\xa3\x0f\x24\x63\x44\x3e\x31\x2b\x1c\x8a\x68\x54\x23\x50\x43\x8a\x6d\x65\x6d\x5e\xc4\x9c\xe5\xf2\x60\x11\x6a\x47\x96\x05\x50\x04\x2a\x1f\x4a\xef\x7d\x1d\x80\x6a\x7f\x3a\x28\x2a\x03\x2f\x14\x52\xdf\x37\x84\xb9\x25\x93\x3d\x38\x67\x3c\xa6\x65\x9b\xdf\x7d\xad\x6f\x79\x08\x24\xc8\x6f\xd3\x9c\xe6\x74\x09\x39\xaa\x31\x54\x76\xcb\x24\xa5\x9a\x84\xb2\x0d\x12\xe1\xdd\x00\x7f\x6a\x3a\x28\x8b\xa9\x06\x9d\x91\x89\xc6\xca\xc3\xdb\x07\xc1\x5a\x30\x41\x28\x79\xd2\x25\x91\x4f\x84\xea\x95\x48\xde\xc8\x8f\x5f\xe7\xc8\xa5\x91\x07\xd2\x4e\x46\x3c\x37\x8a\x17\x0e\x9f\xd1\xb7\xc2\xe1\xd7\x07\x1a\x06\x09\x1f\x44\xa2\xd1\x84\x17\x4c\xb2\x3f\x55\xbf\xac\x3c\x7a\x29\x3b\x69\x1e\x88\xc6\x14\x46\x30\xda\x15\xfd\x55\x4a\xf5\xd5\x54\x7b\xf8\x9c\x5d\x91\x7d\x87\x0e\x5c\x9f\x3a\x05\x25\xc1\x25\xef\x1f\x5f\xca\xa2\xbc\xc6\x9f\x23\x0a\x48\x91\x82\x39\x60\x92\xf4\x09\xf7\x86\xc8\x4b\x1c\x67\x85\x43\x7f\x3a\x46\x9b\x9e\xa8\xc8\x91\x0b\xc1\x9c\x18\x87\x2e\xbd\xa3\xab\xb0\xc5\xb5\x42\xed\x2d\x18\x29\x4b\x01\xbb\x66\xac\x4e\x1e\x87\xd1\x9b\x27\x19\x1a\x96\xfe\x22\x78\x23\x1f\x92\xf9\x53\x32\x6c\x06\xb0\x1a\xdb\x3e\x20\xf0\x96\x49\xad\x5a\x92\x11\x16\x0d\x65\xd8\xc1\x80\x00\x2b\xdd\x88\xc4\x1c\xd4\x8a\x6f\xc5\x62\x73\x87\x59\xaf\xc8\x17\x5f\x20\xbe\x47\xaa\xa5\x24\x0a\x27\xd9\x02\xa1\xdb\x6a\x76\x4d\xf6\x1f\x11\x10\xcd\x3f\xd1\x8b\x2a\x33\xd2\x70\xee\x2c\x61\x0a\xc0\x13\x49\xdd\x03\x8d\xfe\x2e\x70\x85\xc7\xb4\x1b\x38\x0b\xc1\x80\x6b\xd9\xec\xbe\x88\xf4\x56\x99\x0d\x5e\x54\x9d\x10\x20\xad\x88\x25\x5b\x63\x2f\xf6\xb0\xc5\xd4\x42\xe3\x31\x9d\x94\x84\x74\x6c\xb9\x00\x01\x07\xb9\xa9\x10\x41\x5c\xd9\x86\xb2\xc9\xa9\xe4\x58\x19\xa5\xcc\x70\x85\x37\x87\x9a\x5f\x64\x49\x1b\xab\x8c\x76\x42\xe9\x6d\x47\x90\x49\x6d\x4c\xba\x53\x27\xdf\x98\xc4\x63\xae\x60\x44\xfa\x00\x90\x0c\x80\x94\x3e\xe8\x05\xa2\xda\x77\xfd\x3f\x9b\x09\xd0\x4e\x4e\x03\xab\x72\xa0\x39\xb2\xc2\x47\x8f\xbc\x0c\xa9\x75\x9f\x3e\x78\x76\x10\x59\x69\x39\x57\x87\x0d\x96\x70\x26\xc2\x7f\xe9\xf8\x99\x02\x3a\x1d\xd3\x27\xb1\xe0\xc5\x8b\x5c\x26\x28\xae\xc6\x7c\xbc\x6e\x44\xe8\x78\x12\xcf\xc5\xdb\x93\xa2\x8a\x46\x64\x22\x72\x7b\xa6\x32\x5f\xe4\xee\x99\x51\x93\x27\x69\x59\xda\x69\x01\xf6\xc3\x34\x19\x39\x10\x7e\xa8\xfc\xb6\x27\x57\xb4\x1a\xfc\xaa\x5f\x82\xd4\x16\xee\xd4\x7d\xe0\x0e\x5e\x5d\xee\xe2\x5d\xf5\x52\x55\x2c\xe5\x53\x52\xa3\x28\xad\xbb\x5c\x14\x2d\xb4\x57\xef\xc9\x46\xe4\x3b\x2b\xd4\x42\x7a\x6a\xb2\xe6\x38\x0d\x0b\x9c\xad\x38\xa4\x71\x0a\x35\xaf\x84\x80\x7b\x2a\x1d\xb0\x96\xc8\xba\x47\xa7\xbb\x9a\x1d\x22\xf9\x42\xc1\x8c\x4d\x8c\x51\xf0\x4d\xa2\x0f\x27\xb6\x29\xf8\xa2\x96\x7c\x51\xd7\xbe\xa8\x27\x5f\x6c\x68\x5f\x6c\xac\xc4\x46\x91\xce\xc7\xcc\x49\x8d\x05\xbc\x28\x67\x9f\xc2\x69\x85\x03\x3a\xb3\x33\x3c\x33\x70\x5b\x70\x31\x45\x24\x61\xa5\xc2\x46\x64\x9e\xfc\xa2\x93\xaa\x92\xd8\xf5\xaa\x7a\x95\xc4\xcc\x57\xd3\xbf\x48\xac\x7e\x75\xfd\x8b\x8d\xc4\x1c\x98\x62\xe3\x6a\xf8\x7e\x49\x5f\x16\xd8\x0f\x33\x33\x6d\x2e\x5b\x55\xcb\xd6\x1f\x41\x77\x63\x85\xb2\x06\x43\x9f\xd1\x76\xf6\x04\x9b\xc7\xe3\x1d\x12\x94\x6d\xf0\x2d\x3c\xa1\x27\x0f\xc6\x69\x93\x09\xf8\x92\x72\x0c\x86\x5f\xd0\x47\xa2\xc7\xae\xfa\xae\x3f\xfc\x85\x44\xd4\x16\xa7\xf9\x27\xf0\x5f\x49\x6b\xd7\xa6\x8c\x20\xe8\x51\xa1\xce\x27\x4d\x01\x36\x69\x03\x59\x34\x12\x35\xcc\x48\xbe\x5d\xd3\xf1\x24\x08\xad\x70\x0e\x56\x27\x6b\x88\xca\x7f\x30\x0d\xe1\xe5\x3c\xf0\x23\xd0\x0b\x51\xe5\xc4\xbf\x45\x4d\xf1\x02\x8f\x99\x74\x84\x11\x8a\x95\x1c\x07\x8e\xaa\xd6\xd3\x4a\x34\x72\x07\xf1\x09\x9d\x63\x07\xd8\xd7\x7f\xec\x91\xcd\xe4\xfb\x31\x8d\xad\x13\x3a\x67\x3b\xb9\x9e\xba\x42\xe6\xc8\xaa\x58\x5e\xdc\x8e\xce\x68\x6c\x91\xbf\xfd\x8d\x50\xf6\x27\xa3\xa7\x11\xdc\x49\x08\xda\x71\xe8\xa5\xdb\xab\x6d\xcb\x31\x5f\x1c\x5c\x14\xc3\xa1\xeb\x3b\x56\xe9\x35\x79\x4f\xb5\x3c\x7b\xc2\x98\x2a\x8c\x49\x60\x4e\x5d\x0f\x42\xf6\xfb\x36\xd3\x39\xe9\x7d\x4c\xd1\xa8\x22\x0c\x87\x90\x9b\x88\x1d\x28\x80\xbd\x06\x56\xe2\x60\x3a\x1c\x95\xb9\x43\xc3\x04\x33\xa8\x5a\x18\x75\xf8\x6d\x1a\xc5\xc4\x22\x9e\x1b\xc7\x1e\x2d\x93\x36\x99\x59\x91\x5f\xe0\x46\x48\x91\xe1\x6f\x48\x63\x72\xe7\xc2\x93\xd3\xd8\xb2\xe5\xf3\x05\x77\xcc\x45\x6d\x30\xc2\x27\xcd\x48\x70\xfd\x9e\xec\xf1\x27\xbb\xca\x20\x0c\xc6\xec\xe0\x6f\x06\x0e\x2d\x72\x18\x61\xcf\x1a\x4f\x8a\x54\x72\x16\xdd\x1a\xc8\x0b\xb2\x51\x2f\xc3\xbf\xfa\xd6\x56\x49\x22\x70\xcd\x1f\x45\xab\x13\xcc\xb2\x84\x9e\x11\xf1\x80\xc3\x4a\xce\x27\x09\xaa\x91\x15\x51\x52\x80\xc4\xde\x85\xd7\xfc\x86\x01\xe2\xc4\xc1\xf3\xa9\x97\xba\xa9\x70\xdb\x5c\x8d\xb1\xa3\x4e\x26\xde\x14\xae\x71\x96\xe3\xb8\xfc\xf2\xba\xbd\x29\xf0\x02\xfa\x10\x29\x5a\xa4\x15\x87\x7a\xb1\xf5\x91\xfc\x4a\xd6\x6a\x25\xf2\x3b\xa9\xb2\x9b\x75\x95\xbc\x26\xb5\x12\x79\x41\x5e\x6d\x4b\xaf\x49\x26\x18\xe3\xc0\xd9\x95\x37\x1d\x94\x71\xb6\xc5\x7c\xbe\xaf\xf5\x3f\x9d\x15\xc8\x0b\x23\x27\xfa\x8c\xd0\x3d\x79\x41\xe6\xbb\xcf\x92\x41\x9c\x88\x34\xa4\x09\x4c\x44\x18\x8c\x79\x42\x73\x84\xa6\x86\x1f\x0a\xd9\x91\xa8\x1f\x2b\xf8\x30\xbc\x47\x21\xb5\x6e\x39\x49\xe4\x14\x2c\x6f\x27\x98\xf9\x2a\xb7\xf6\x81\x27\xf8\xc0\x24\xb3\x64\x49\x56\xf1\x9b\x12\xb0\x6a\xa3\x2e\x1a\x05\x9f\x63\xb2\x47\xce\xac\x78\x54\x19\xbb\x7e\x91\x56\xb0\x7c\x99\xd4\x4b\x30\x81\xea\x50\x1a\xbe\x43\xc6\xee\xbd\x50\x3c\xc7\xca\x6a\x8f\x2a\x19\xf6\xfd\x14\xff\x16\x8e\x7c\x3a\xc9\x4a\xc9\x74\x02\x56\x51\x3f\x10\xc8\x49\x7c\x57\x45\xc0\x41\xce\x84\x99\x15\x91\x90\x7a\xd4\x8a\xb8\x03\x85\xb1\x7f\x9f\xef\xeb\x1b\x85\x15\xbb\x32\x0e\xee\xa8\xec\xcc\x23\xb6\xdf\x4e\xe3\x08\x77\x2d\xec\x59\xa4\xfa\x2b\xaf\xaf\x93\x6e\x6c\xf9\x8e\x15\x3a\xa2\xe3\x7d\x97\x23\x54\x50\xf2\x81\x9d\x02\x04\x8e\x05\x3b\xe0\xde\x2b\x21\x34\xc5\x13\x42\xbb\x61\x14\xab\xb4\x38\x09\x78\x4e\xe1\xc8\x8e\xee\x00\xfd\xe7\xfe\x86\x8e\xb0\x20\x32\xf0\x3d\x75\xca\xfc\x23\x37\xe2\xef\xd9\x8e\xe2\x89\xcc\x93\x18\xb8\xb1\xf6\xc8\xa4\xb4\x4b\xe2\x51\x48\x29\x6f\x92\xf5\xb8\x3d\x20\x3e\xbb\xdb\xe0\xfe\x34\x66\x2d\xa9\xd4\x64\xa3\xf1\x88\xfa\x7c\x68\x03\xcf\x1a\xc2\x1b\x30\xb8\x8b\xf1\xe9\xaa\x10\xf2\x1e\x72\xa7\x3a\x81\x8c\x0b\xae\x48\x4a\x4c\x84\x15\x51\x45\x67\xc1\xd0\x0d\x42\x37\x9e\xc3\xd3\x96\xc4\xf3\x80\x26\x5e\xc3\xe8\xcb\x64\xec\x3a\x0e\xdb\x70\x43\x9e\x92\x8b\x24\xd3\x28\x27\x86\xfc\x8d\x54\xef\x6b\xea\xf4\x00\x75\x3e\xb9\xc0\x45\x2c\x59\x51\x0a\xf4\xc9\x0b\xe9\x59\x4d\x74\x2f\x78\x9d\xf0\x66\x1e\x61\xec\x5a\x1e\xe9\xda\x0a\xa4\xeb\x79\xa4\x71\x7e\x73\x28\xd7\x33\x94\x33\x44\x60\x3e\xc8\xc8\x1d\xb2\x73\x47\xcc\x74\x9a\xce\x86\x42\x47\x9b\x96\x86\xe3\x90\x8d\x3a\x3b\xbd\x04\xc2\x19\x57\x98\xc6\x01\xbf\xff\x6b\x64\x52\x93\xba\xca\x0e\x64\xd8\x83\x7e\x6e\x17\x92\x03\xc8\xee\x01\xb6\xe7\xda\xb7\x7c\xfd\xe3\x27\x4e\xdf\x53\x3f\xd4\x2b\x71\x23\x98\xf8\x4a\x24\x02\xa4\x61\x18\x84\xc5\x02\x7f\xa2\x54\x15\x48\xcc\x02\x88\x87\x65\x99\xd0\xf4\x91\xa0\xf8\xe7\x8b\x01\x2a\xe6\x50\xa9\x31\xb9\x81\x92\x40\x32\x29\xa9\x67\x9b\x10\xbe\xc6\xc9\x83\x68\x30\xd0\x9c\xb3\xf9\xbb\xb7\x30\xdd\x84\x34\x02\x93\x38\x4f\x08\x9b\xf8\x14\x3f\x53\xb3\xf8\xeb\xa8\xf2\x3d\xd5\x1e\x84\xf9\x1c\xd1\x43\xd1\x94\xcf\x91\xfb\x4f\x25\x29\x1d\x53\xf9\x1c\x8d\x4a\xb2\x74\x99\x56\xb5\x63\xdd\xe4\xae\xb8\xe4\x26\x4f\x20\xfc\x71\xc1\x06\x09\x98\x0e\xb8\xb6\xc2\x73\x20\x3e\xcf\xd4\x4b\x6c\x12\xc5\x92\x6a\x83\x55\x9f\x2a\xd4\xf2\xec\xf3\x24\xd2\x06\x0d\xf7\x99\x42\x60\x99\x10\x65\xf0\x61\x20\x53\xa6\x3f\x1d\x70\x59\x32\xb6\x51\xb1\x2d\xcf\x83\xc1\x94\x33\x05\x4a\xbc\xa2\x3c\xa5\xd2\x95\xd9\x51\x05\xff\x15\xc0\x36\xa9\xce\xb1\xef\xd9\x7f\x94\x20\x7c\x53\xff\x58\x31\xc9\x71\x92\xa4\x96\xbb\xc4\x77\x22\xc7\x75\x10\x09\xdf\x13\x9e\xbd\x70\x51\x78\x5e\x50\x91\x6a\x14\xc1\x44\x97\xd4\x44\x2a\xff\x24\x41\xe1\x9e\xb1\xa6\xb8\x2c\xc9\x20\x83\x73\x9e\xf4\xce\x33\xe0\xe0\x52\x35\xbf\x99\x0e\x2c\x19\x87\xda\x62\x03\x7a\x4a\x06\x3c\x31\xb4\x08\x7d\x34\xd4\x5b\x23\xbb\x80\xbc\x26\xa3\x38\x9e\x44\xaf\xd7\xd7\xa9\x5f\x99\xb9\xb7\xee\x84\x3a\xae\x55\x09\xc2\xe1\x3a\xfb\x6b\x1d\xa9\xe4\x8d\x34\xc9\xbb\x66\x1c\xad\x12\x6a\xa9\x67\x68\xd3\xf7\x07\x39\x0d\xe8\x58\xac\xc6\x40\x62\xf3\x4b\x38\xbd\xac\xfd\x8c\x67\xb2\x58\x8d\x99\x9e\x74\xa9\x30\x1f\xe6\xba\xc3\x18\x5f\xb9\x64\xf9\x74\xbe\x6e\xf9\x05\xa4\xe3\x8d\x73\x07\x12\xd1\x58\xf1\xd2\x4c\xee\xde\xfc\x33\x1c\x8e\xbc\xe0\x68\x9f\xe6\x6e\xfd\x33\x2b\xf4\x8b\x85\xb6\x0f\xb9\x4e\x94\xa7\xb6\x5f\xc4\x68\xa4\x54\xff\xc2\xcf\x02\x41\x77\x37\xd1\x80\x0f\x2d\xcf\x23\x49\x0a\x36\x79\x16\xb9\x51\xb0\x56\xaf\xd6\xeb\xf2\x2c\x5a\xee\xb2\x63\x2c\x95\x71\xdb\x49\x1d\x42\xa2\x3d\x58\x19\x6b\xe8\x2b\xb4\xbc\x4d\x35\x46\x6e\x41\x93\x6a\x31\x73\x8b\x7f\x5a\x53\xe6\xd1\x25\x59\x6a\xf3\x5c\x7b\x34\x9b\xf8\x20\xa4\xd1\x08\x43\x77\xd0\xdf\x81\xa9\x38\x32\xf5\x78\xe2\x58\x85\x81\x03\xb9\xc2\x66\x6a\x2b\x6b\xc1\x43\xcc\x3b\x8c\x2c\x40\xa7\xff\x1d\xb0\x00\x94\xb9\xab\x6a\x34\x05\x95\x0f\x1d\xe0\xd2\x91\x4e\x6c\xbf\x99\x81\x52\xed\xd3\x3b\xf0\xc9\x5c\x5f\x27\x11\x58\xaa\x82\x88\x92\xb5\x35\x74\xe5\x8c\x47\xe0\x9d\x3b\x12\x30\xb3\xac\x91\xe7\x02\x7c\xdb\xae\x91\x3d\x72\x81\x87\x3c\x53\xc2\x8a\x89\x99\xad\x59\x13\x8f\x85\x95\x81\xcb\x36\xfb\x62\x91\x96\xc8\xde\xef\x1c\xec\x2a\x3b\x4f\x7f\xfc\x41\x28\xec\xb9\x4c\x0f\x6b\xc4\xc5\x12\xf9\x8d\x54\xef\x77\xe4\x9b\x63\x65\x6c\x4d\x04\x8d\xc2\xe7\xcf\xf7\x6c\x39\xa0\xf5\xe1\x61\x62\x39\x45\xbd\x6e\x25\x0e\xb8\xbe\x53\xdb\x2e\xb1\xdb\xac\xa4\x82\xd0\xbf\x8a\xf5\x31\xe5\xcc\x45\x67\xa4\x43\x87\xad\xfb\x49\xf1\xbf\x3e\xfd\xe7\x3f\x6d\xbb\xf6\xe3\xcb\x7f\xa5\x52\x55\xa4\x9d\x60\x32\x4e\x34\xe0\xd7\x03\x2a\x0e\xf8\x98\xc5\x49\xe0\xb6\xf0\x32\xc3\xeb\x52\x2d\xeb\xc5\x86\x6f\x3b\xc5\x66\x75\xbd\x59\x4b\x85\x8f\x83\xe1\xe0\x53\xb3\xd7\x39\xfd\x22\xfd\x5a\x93\x0c\x02\x76\x00\x31\x77\xdc\xdb\x5b\xb8\x74\x0b\x45\x0b\x5e\x9b\x42\x17\x3c\x90\x53\x19\x46\xf9\xed\x4b\x40\x30\xe9\x1d\x91\x7a\x9a\x1b\x4d\xe0\x0e\x95\x7e\xb3\x51\x9e\xd7\x34\x3f\x3b\x45\x56\x13\x05\x41\x79\xdb\xa6\xde\x40\x66\x9b\x56\xe1\x24\xa1\x93\xea\xdb\x36\xc0\x04\xb0\xe2\x06\x91\xf9\xdb\xdf\x80\xd0\x27\xf8\xfa\xe8\xf4\x4b\xe5\xe8\x54\xcc\x33\x3e\x9e\xa7\xbf\x4d\x8e\x66\x02\xdf\x25\x4a\x72\xd2\x2e\x2c\x7a\xe9\xb0\x47\xad\xd0\x1e\x69\xce\x81\x6a\x0c\x7c\x9f\xed\x76\x10\xf5\x28\x27\x42\x18\xdf\x50\x83\x9b\x28\x4f\x5a\xa9\x07\xd8\xa2\xb4\xad\xf9\x1c\x9c\x00\xa3\x2f\xe0\xf5\x0d\x9a\x2d\xa6\xe5\x33\x81\x9a\xd2\xaa\xec\x91\xaa\xe0\x16\x40\x29\x16\xc0\x07\x70\x3a\xee\x7b\xd4\x11\xf7\x79\x76\x52\x1b\x7c\xde\x2b\x89\x32\x29\xa6\xb8\x58\x68\x36\x6b\x85\x32\x51\x5e\x01\xab\x65\x52\x2b\x95\x95\xc1\xf0\xe3\x47\x19\x1d\x7f\xdf\x2c\xd6\x4a\xbb\x9a\x4d\x59\xb9\xa3\xa4\xfa\xbc\x56\x53\x3a\xdd\x43\x87\xf1\x90\x12\x3f\x30\xc4\x14\xc9\xf4\x69\xb8\x8c\xb0\xd7\x38\x65\x4c\xd7\xcc\xf4\x06\x14\xfb\xa2\xb9\x2b\xb2\x9a\x32\x3a\xa5\x6b\xa5\x64\x67\x58\xc0\x11\xa5\x82\x91\x37\x06\xce\xa8\xc3\x7f\x91\x7e\x4c\xc5\xd8\x46\x4b\x86\x9d\xca\x20\x87\x36\xfb\xdb\x99\xda\x34\xc4\xf5\x6c\xf9\x8e\x5c\x8c\xc4\x8d\x55\x5d\xf1\x53\xb3\xdb\xfe\x82\x51\x6c\xc1\x18\xfc\x4b\x07\x53\x8f\xb8\xfe\x20\x08\xc7\x68\x10\xb3\xfa\xc1\x54\x04\xd9\xd9\xdc\x52\xbc\x60\x31\x37\xbb\xed\xa5\x0b\x19\xf0\xd6\x52\x52\xce\x2e\xd3\x89\x74\x73\x87\x38\x95\x23\xe1\x30\x4a\x70\xdb\x47\xe4\xf7\x3d\x52\xf8\x7b\x81\xad\x66\x1b\x1e\x6a\x0b\xff\x5d\xd0\x44\x03\xdd\x61\x71\xdb\x64\x87\xea\x12\xe9\xed\xb6\x0b\xe5\x9c\xe0\xc5\x17\x79\x21\x83\x2f\x88\x3d\x52\x43\xab\xc5\xcf\x22\x91\x37\x7b\xd7\x3d\xd3\x8c\x32\x36\x40\x30\x17\x76\xd5\x01\x5d\x32\xc5\x14\x82\x9a\x1d\xea\xb9\x63\x57\x0e\x24\x41\xe2\x4f\xf7\x4f\xc3\xd0\x35\xd4\x57\x02\x25\x33\xe1\x98\x60\x38\xb4\x20\x68\x8a\x4c\x2c\xc7\xf1\x5c\xbf\x20\x8c\x25\xab\x8c\xc6\x08\xb3\xf0\x5c\x71\xd8\x4a\x19\x2f\x7b\x23\x3a\x27\xc1\xd8\x8d\xe1\xac\x91\x67\x1d\xa8\xe3\x5a\x26\x99\x68\x3a\x99\x78\x73\x14\x62\xfe\x03\x54\x31\x9b\x40\xa1\x94\x31\xc0\x18\xbe\xfd\x91\xe5\x37\x93\xa6\xaa\x2a\x4d\xaf\x54\xe6\x9f\x03\xf2\xf2\x3c\x4e\xb2\xb7\x72\xe7\xd3\x89\xe0\x6a\xe5\xd9\x63\x26\xe3\x9c\xc7\xa5\xca\xea\x7f\xd9\x54\x3c\x72\x26\x12\x6f\x38\x7b\x24\x39\x99\xb6\xe9\x09\xbf\x32\xe9\x7b\xb7\x46\x6a\x5f\xc0\xe3\x69\xa4\xe3\x57\xe4\xf0\x99\xa8\x7c\x7e\x23\xfe\x78\xbe\x47\x0a\xaf\x55\xa6\xcb\x87\xc1\xd4\xca\xcd\xef\x7f\xce\xf2\x4d\x3a\x96\x1a\x4a\xde\xb2\x56\x2a\xa4\x46\x90\x3e\x5b\x2b\x31\x8d\xe2\xa2\x3d\x2a\x29\xfd\x6e\x3e\xe2\xb8\xb4\x47\xa9\x43\x20\x0d\x47\xb4\xbe\x4e\xae\x7c\x19\x37\xa8\xf9\xf1\x24\xe1\xdb\x7d\xcb\xf5\x48\x30\xe5\x4b\x62\x05\x99\xc0\x23\xcd\x7c\x0e\xab\xb7\xe6\x5b\x77\x82\xf1\xf2\x8a\x32\x3a\xf5\x63\xd7\x4b\xf4\x9a\xbc\xe8\xbe\x56\xb7\x49\x44\x50\xdf\xaf\x64\x9f\x7a\x9e\x1e\xd7\xa7\x9a\xf7\x12\xc8\x20\xcb\xb6\xa7\xe3\xa9\x67\xc5\x4a\x14\x46\xb2\xfd\x7f\xaa\x7e\xa9\x10\x72\x66\xdd\x52\x12\x4d\x43\xca\xe3\xb2\xf1\x6a\x0f\xd8\x71\xd2\x77\xb4\x08\xa1\x2a\x69\x4e\x48\xdf\xd2\x92\xd0\x78\x25\x74\x56\xe2\x2c\xcf\xfb\xf5\x31\x98\x42\x20\x8b\x43\x63\x8c\x22\xb5\x50\x6f\x47\x0b\x06\xe0\x48\x80\x7b\x51\x7f\x4e\xec\x11\x85\x97\xf9\x24\x39\xa9\xf4\xd5\x92\x1a\xea\xc8\x8a\xf8\xf5\x0d\xb1\xe6\xd3\xc9\xf6\xcc\x57\x02\xb8\xa7\x29\xf1\x87\x63\xd4\xd2\x2d\x9f\x64\x03\x1b\x55\xb3\xeb\x8c\xdd\xd8\x38\xaa\xfd\x33\x1e\xc3\xaa\xc5\x7e\xaa\xd1\xb7\x7d\x4a\x42\xba\x06\x1d\x70\x92\xc8\xea\x05\x0e\xfb\x66\xf4\x48\x19\x44\x29\xb9\x14\x91\xc0\x1f\x06\x60\x6d\x09\x25\xc3\xf0\x7d\x47\x26\x29\x2e\xdc\x25\x00\x52\xf7\x36\xa5\x0e\xdf\xfe\xc7\xd6\x3d\x49\xc5\x78\x2e\xbb\x43\xc4\xae\x87\x2c\x49\x64\x71\xa9\x22\xf2\x48\x7d\x5b\x91\x72\x4d\xe5\x5e\x2f\x7e\xbe\xaf\xf5\x3f\x7f\xfe\x83\xc9\x76\x69\x7d\x55\x2d\xc6\xb4\x8b\x25\x3b\x70\x81\x5b\x37\xe1\x93\xda\x17\x7e\xcd\x3c\xb0\x30\xe9\x73\x4a\x45\x56\x7b\x96\xd2\x92\xcf\x03\x19\x02\x1e\x84\xf0\xb2\x55\xe6\x01\xef\x29\x38\x01\xf4\x4a\xe4\xba\xb2\xd6\x99\x17\x30\x5a\x7e\xb0\xc3\xc0\xfa\x41\x18\x77\xa8\x15\x05\xbe\x62\x21\x16\x6b\x94\x1f\x0b\xbf\xe7\xc4\xe0\x8a\xdb\x96\x42\x84\x0d\x37\x0e\x02\xe2\x05\xfe\x10\x6d\x56\x3a\x2d\x43\x23\x00\xcb\x77\x31\x28\xc2\xd3\x4c\xa1\xc4\xce\x8f\xb5\x5a\x0e\x69\x3a\xee\x53\x87\x89\x16\x9a\x33\xf4\x16\x52\x84\x94\xa6\x12\x7e\x93\x35\x39\x0d\xbf\x1b\xc0\x15\xf2\x46\xe4\x8e\x29\xd3\x9d\xe9\xfd\xc4\x0d\xa9\x83\xcd\x9a\x88\xaa\xc3\x4b\x48\x24\x07\x9b\xb0\xfc\x79\xc1\xb0\x58\x58\x20\xee\xaf\xb1\x07\xae\x64\x62\x42\xcc\xa4\xa7\x72\x0e\x48\x9d\x29\x73\x17\x4a\x17\xd0\x71\x88\x15\x35\xcb\x70\x96\x24\x6e\x94\xda\x8d\x2a\x9b\xc3\x29\x25\x35\x2f\xd2\x2b\x2d\x57\x8c\xd4\xdb\x2b\x87\xfe\x50\x50\x31\xe0\xc8\x4a\x8e\xc8\x29\x04\x63\x23\x7a\x43\x3c\x72\xfd\x5b\xcc\xfa\x20\x84\xce\x7c\x74\x16\xe5\x02\x20\xc9\x8d\x31\xcd\x04\x18\x88\xbe\x52\x52\x97\xc4\x64\x30\x28\x5d\x2b\x9c\xd0\x39\x57\x41\x85\x2d\x2f\x0c\x13\x4a\x08\x29\xa6\xee\x9b\x49\x0d\x76\xe5\x84\x7b\x05\xc8\x39\x79\x43\xea\xe0\xc8\xa2\x3d\x3a\x64\x72\xc5\x1e\x88\x5b\x23\x3f\xaf\xe4\x81\xc6\x93\xc4\xfb\x8e\x47\x23\x09\x80\xdc\x6c\xd6\x20\xa0\x1f\x7c\x78\x9b\xdd\x36\xfb\xcf\x75\x6f\xab\x2e\x80\x02\x72\x8c\xfd\xa2\x0d\x15\xa1\x08\x1e\x2f\x6d\x30\x4b\x9a\x36\x6e\x6c\x99\x6d\xc3\x82\xe0\x27\x56\xe5\xcb\x27\x56\x45\x46\x3b\x3c\xe7\xc5\x54\xb3\x10\x08\x53\x26\xc2\xbe\x64\xb4\xb1\x8b\xd7\x55\xc8\x4f\x36\x9f\x50\xf2\x82\x14\xa0\x53\xb8\xbc\x8e\xbb\x17\xe7\x15\xdc\x30\xdd\xc1\xbc\xc8\xbe\x28\xe5\x5b\x32\x64\x97\x93\x3e\x57\xd0\x5d\xe2\xa9\xdd\x6b\xa3\xb3\xc5\x9f\xd3\xbd\x98\x63\x2e\x83\x66\x0a\x3a\x79\xe0\x50\xf2\x3b\x13\x97\x97\x83\x42\x92\x70\x20\x83\xfd\xa1\xac\xc3\x36\x5b\x52\xb7\x2e\x87\xa5\x21\x23\xae\xe8\x4c\xc0\x7e\xe0\x46\xfc\xf0\xe9\x4f\xe3\x4a\xa5\xc2\xeb\xc8\xaa\xc2\x24\x2d\xa4\x01\x1e\xb7\x78\x6f\x50\x0e\xd0\x8d\xa4\x10\x91\x61\x10\x1b\xd0\x5f\xca\x82\x14\xae\xf5\x02\x98\x85\x62\x74\x38\xe1\xe8\xfa\x38\x05\x12\x89\xc5\xa1\xd1\x1b\x42\x8e\xa7\x51\x2c\x40\x2d\xc4\xb5\x32\xe9\x17\x18\x12\xb8\x97\x15\x38\x8c\xd1\x30\xb4\xfc\x98\x14\x01\x3e\xa3\xf0\xf9\xfe\x55\xb5\x50\x2a\x93\x22\x00\x69\xb0\x3f\x1d\xf8\xf3\xf2\x0c\xff\xa2\x12\xd7\x82\x11\x2b\x36\x2e\x79\xa9\x41\xa1\x84\xa6\x59\x2f\x40\xdd\x71\x9a\x72\xf8\x62\x27\xb3\xb0\xfd\xba\x71\x24\xb1\x43\x24\xa9\x04\x43\x83\xb5\x90\x51\xae\xcd\xc2\xc2\x28\x66\x71\x68\x5e\x93\xea\x7d\xc1\xb4\xa1\xc0\xb2\x55\x2c\xe4\x55\xdd\x44\x6e\x16\x26\x2e\xe7\x15\x8b\x5d\xd4\xf9\xbb\xf2\xa7\x64\x0d\xe3\xaa\xfe\x92\x7d\x9f\x4b\x5c\x7e\x30\x8b\x0f\x0f\xd6\x52\x9d\x64\x1d\x8a\x5e\x4d\x42\x3d\xf6\xef\x82\x5b\x9e\xf3\x43\xf8\x6a\xc4\x01\xe9\x9e\xad\x77\xce\x44\x19\xe5\xf6\xc4\xe4\x67\xaa\xc1\x6a\xc0\xdb\x19\x7a\xbf\x45\xae\x47\xfd\x04\x91\x23\xdf\x62\xcd\xee\x11\xe7\xdd\xf6\x59\xea\x25\xd8\x16\x70\xb5\xb1\xe2\x57\x6b\xf3\x1c\x67\x9b\x25\xf2\x4f\x94\x72\x48\xb7\x47\xa0\x72\xb1\xdd\x39\x33\x79\x5e\x44\x34\xc6\x62\x67\xf8\x94\x29\xcc\x48\xea\x45\x9a\xd3\xad\x57\x05\xe1\xc6\x34\x0e\xc6\x80\x3d\x7b\x4e\x67\x90\xe6\xab\x78\x7a\x9e\x47\x9e\x15\x6e\x5a\x61\xe8\x5a\x43\x8a\x01\x19\xe6\x66\x72\xf6\x22\xe1\x80\x99\xda\x2a\x55\xc6\xc2\x04\x9e\xc9\x9d\x08\xb6\x9e\x2c\x58\x2e\x9b\xf4\x90\x5f\xe1\x94\xd9\x4f\xa3\xed\x2c\x9b\x6f\x0c\xdb\x5e\x3f\x68\x35\x3b\xdd\xde\xa2\x79\x3b\x68\x35\x97\x4e\x9b\x78\x8b\x95\x31\x71\x58\xa2\x56\x2d\x69\x8e\xa7\xb5\xd7\x88\xa2\xd5\x6a\x36\x4f\xce\x34\x73\x42\xd6\xe5\x78\x32\xf1\xb8\x73\x61\x53\x84\x6e\x40\x83\xb9\x6e\x82\x1b\x09\xf1\x8b\xd3\x33\xc5\x6c\x83\x61\x7d\x39\x70\x62\xaa\x1d\x27\x33\xe5\x88\x9e\x8a\x0f\x8b\x6f\x48\x6d\x83\x9d\xfd\x3b\xd5\x92\xe2\xed\xa4\x57\xb1\x3d\x6a\x85\x6f\x83\x31\x2d\x2a\x68\xa5\x19\xaa\xd7\xbd\x2e\xb8\xa4\x76\xe8\x10\x20\x9b\xa7\x9e\x57\x16\x99\xb3\xb1\xca\x8f\xbc\x31\x6e\xc9\x31\x76\x9b\xe7\x66\x0e\x46\x34\xee\x50\xc8\x27\x75\xed\x3a\x34\x50\x64\xd4\x48\x71\x5b\x52\xbc\xc8\xa5\x77\x11\xba\x43\xd7\x4f\x2d\x2c\x23\xb5\x97\x92\x5a\xe3\x7d\x2e\xb9\xf7\xa1\x35\x41\x7f\xec\x65\xe4\x6a\xf5\xd7\xc2\x49\x33\x8c\x11\x6b\x4a\x05\xbb\xd4\x67\x58\x01\x93\x2a\xe5\x33\x1f\x85\x69\x9f\x91\x5a\xd6\x7a\x3d\xe1\x76\xaf\xd9\xca\x1d\x0e\x52\xbc\x46\xcc\x93\x65\x34\x37\xaa\x7c\x44\xa3\x60\xc6\x3d\x93\xfb\x56\x98\x47\xba\x2b\x0a\xac\x48\x7d\x93\x53\x6f\x00\x6e\xd8\x4e\x95\xac\x81\xd0\x16\xf9\x9a\x28\xc1\xe6\x62\x6c\x6c\x01\xda\xde\xe2\x55\xb7\xc9\x99\xc4\x65\x6e\x6d\x26\x27\x37\xbf\xb1\x44\x44\x57\x17\x85\x6d\x2e\x5a\xfb\x96\x7d\x6b\x85\x61\x30\xc3\xc8\x07\xea\x3b\x11\x18\x6c\x30\xf3\x3a\x1b\xe9\xfe\xc9\x59\x69\xf1\xde\x22\xcb\x77\x59\xf5\x7d\x59\x7b\xd9\x58\x6b\xd5\x6a\xf5\xb5\xea\xe0\x19\x08\x17\x42\x70\x44\x94\x38\x1a\x49\xdb\x7a\x98\x4b\x51\xd1\x15\xc4\xa6\x92\xf5\x58\x46\x88\x8d\xd7\x8b\x42\x49\x76\xcd\x6c\x9d\xfb\x36\xb8\x68\x43\x06\x97\x05\x5e\xed\xb5\x6a\xb5\xbe\x70\x1c\xf0\xf2\x15\x5a\xc3\xe8\x67\xc7\x02\xde\xd7\x7f\xed\x50\x6a\x62\x45\xc1\x5a\x01\xd3\x5c\x10\xc7\xc1\x18\xdc\x25\xe3\x39\x09\xa6\xf1\x64\x1a\x9b\x5b\x81\x2a\x17\xfe\x05\x14\x59\x61\xfa\x6b\xb5\xfc\xb6\x98\x38\x82\x93\xf5\xc2\xa6\x4e\xe8\x3c\x8a\xc3\xe0\x76\x15\x61\xdb\xe0\x7b\x33\x93\x52\x00\x7c\x03\xdf\x16\x08\xc3\xe1\xaf\x1c\xec\x0e\x79\x4b\xe7\x8b\xa5\x7d\x4c\x63\x0b\x04\xbd\x85\x5e\x29\x2b\x34\xfc\xca\xd4\x70\xc3\x8b\xcd\xed\x62\x84\xbc\xd4\x05\x92\x0f\x9f\xe7\xf4\x88\x5d\x0c\xdc\x60\x1a\x35\xbc\x18\x3a\xf6\x7e\x64\xc5\x5f\x75\x27\xea\xc7\xd4\x94\xd8\x5c\x4b\x2a\x5b\x4a\xa5\xdd\xe5\x6d\xa9\xc5\xc1\x1c\x06\xec\x2b\xa8\xee\xd6\xfc\xbf\x29\xdd\xef\x09\x03\x5e\xa9\x0b\xcf\x56\x18\xa3\xb1\xa5\x3c\x5d\x64\x19\x5b\x25\x08\x06\x59\xa4\x93\x6c\xf2\x9d\xf9\x2a\xa2\x4c\x46\x68\x08\xd1\x58\x5d\x3b\xa4\xd4\x27\xfb\xe0\x83\xac\x0a\xd7\xe6\xcb\xd7\x79\x87\x82\xac\xbd\x8a\xaa\x51\xab\x6e\xee\xbc\x96\x48\x4f\x02\x8f\xd2\x8a\x34\x9c\x27\xd9\x8c\x12\xa5\x28\x03\x8a\x35\x5a\x5c\xe4\x59\xff\xc8\x0b\x20\xce\x34\x70\xa6\xcf\x55\x16\x89\x79\x2e\x71\x33\xc7\x97\x0c\xd2\xa8\x4f\x26\xd4\x32\x6f\x8a\x4f\x21\xae\x76\x96\x47\xef\x16\xb3\xef\xbf\x59\x65\xa8\x5a\xdd\xe4\x27\x70\x68\xd9\xb7\x94\xdd\x57\x26\x56\xc4\x2f\x1b\x95\xbc\x29\x95\x85\x2f\x59\xd9\x05\x73\x9a\xf2\xda\x5c\x6e\xd4\x59\x7c\x95\x52\x6f\x43\x86\x1b\x15\xd1\xdd\x0e\x95\xeb\x95\x44\xc8\x89\x46\x56\x88\x28\x90\x06\x1f\x19\x76\x40\x66\x9c\xfc\x10\x80\x11\x73\x7b\x98\xef\xc3\xdc\x5e\xa2\x3b\x17\xfe\x50\x31\xe4\x3d\x2f\x09\x53\x35\xb4\xcb\xb1\xda\xf0\x36\x67\x09\x30\x04\x15\xce\x80\xa3\xb9\xdb\xde\xd4\xe1\x49\x75\xd3\x6e\x6d\xec\xb3\x66\x15\x86\xd0\xac\x91\x88\x42\x8a\x44\xf0\x69\x01\x77\x37\x01\xc1\x09\x1e\x71\xec\x8e\x0f\x9e\x2c\x15\x42\x7a\x02\xe9\x57\x00\xf6\x8a\x9b\x67\xb3\xc6\x31\x74\x01\xb6\x9d\xdb\x1f\xf0\xc9\x9f\x11\x91\xa3\x67\x27\x89\x2d\x47\xa8\x3e\x65\xa2\xbd\x6a\xec\xd3\x71\xe0\xbb\x36\xc6\x11\x81\x63\x79\x24\x2d\xa8\x96\x78\x4e\x4c\x70\xab\x25\x34\x1d\x37\xa9\x21\x07\xd9\xcd\x97\xa0\x4d\x4d\xe0\x0d\x3b\x89\x4f\x13\x66\x1b\x18\x00\xee\x98\x8f\xee\xf1\x4a\x8f\x2d\x7f\xce\x07\xc5\x68\x49\xd7\x76\x47\x82\xd1\xa7\xbd\x78\x9a\xcd\x1a\xd9\x5b\x30\x85\x12\xe4\x18\x91\xc0\x42\xca\x7b\x9c\x08\x8d\x7c\x4b\x85\x37\xc4\x16\x6c\x5b\x6a\x0b\x8c\x69\x8b\x5a\x68\x76\xdb\xa4\xb8\xc0\x95\xa9\x94\xc5\xdb\x47\xbc\xd9\xa4\x0b\x7d\x3a\x74\x7d\x6c\x1f\x1e\xa0\x3f\x15\xd0\x6a\x38\xb6\xe6\x24\xb6\x6e\x29\x02\xd8\x04\xfc\x21\x55\x45\x05\xd7\x58\xd1\x6d\x2f\xec\xe8\x45\xb7\x49\x8a\x17\x98\x97\xc0\x1f\x12\xf4\x2d\x24\xd2\x1a\xfa\xe8\x5e\x7e\x29\x94\xc9\x20\x60\xd7\x16\x91\x2d\x42\x5a\xd9\x79\x04\x26\x60\x81\x60\x7a\xaa\x50\x01\x1a\x8f\xb1\x3c\x0f\xe7\xed\xf6\xd8\xc8\xf6\x5b\xa7\xa9\xe1\x5c\x2c\xe1\x3b\x18\xe8\x33\x9d\x7e\xcf\x14\x25\xd7\xc7\x6f\xd1\x3d\x98\x67\x3b\xd7\x73\x1b\xb8\x11\xbb\xab\xa6\xb7\x07\xa8\xa5\x37\x7a\x3e\xf5\x3c\x52\x3c\xbf\x3a\x95\x4f\xff\xdd\xc5\x26\xb7\x66\xb3\xf6\xa9\xf0\xf9\xbe\x5a\x2d\x7c\x21\x19\x93\xb9\x1a\x17\xf1\x7d\xea\x86\x73\x52\x6c\x9d\xbf\x4b\xbc\x0a\x42\xcb\x8f\xc6\x00\xbe\x1a\xcd\x68\x08\x2f\xee\x63\x1a\x45\xd6\x90\xaa\xab\x55\x3c\x72\x67\x4b\xb1\xa1\x43\x6c\x3d\x78\x25\xf8\x08\x4d\xc2\xd9\x0f\x70\x98\x33\x0a\x21\xd8\xc9\x0e\x89\x27\x86\x79\x08\x5b\x8b\x87\xd0\x61\x73\x2a\x5d\x24\x4a\x39\x44\x5e\x02\x11\x13\x1c\x43\x82\x61\xe1\xfa\x43\x46\x27\xe5\x60\x9e\xdc\x0b\x8b\xfb\x5d\xc9\xa3\xb3\xe0\x4e\x03\xc0\xe6\xfb\x13\x26\x49\xf0\x55\x60\x1a\x81\xc4\x52\x16\x69\x97\x11\x42\xd2\x92\x8e\x17\x50\x67\x6c\x85\x43\xd7\x2f\x33\xce\x61\x00\x2d\x9c\xb6\x7e\x00\x00\x93\x4c\xd4\x6c\xd6\x50\xce\xe0\x76\x96\x0f\x0e\xbb\x79\x4a\x07\x71\xda\x4f\xe5\x6d\x10\xba\x0f\x81\x1f\x5b\x1e\xe9\x59\x7d\x52\x7c\xdb\x5b\x36\x48\x78\xea\x8e\xad\x3e\x89\xe2\x60\x82\x88\x33\xf8\x05\x3a\xbe\xe2\x50\xd8\xd1\xed\x07\x64\x30\x0d\x11\x7e\xf8\x57\x59\x23\x92\xd1\xaf\x00\x8c\x85\x3e\x61\x9e\xeb\xa7\xdf\xb8\xc4\xe8\x5e\x2d\x1f\xdd\x20\x08\x67\x56\xe8\xf4\xac\x7e\x37\x0e\x26\xa9\x09\x3c\x75\x7d\x4a\x0e\x29\x75\x48\xf1\xf4\xb0\xa4\x1d\x90\x60\x0a\xb6\xad\x69\x04\x57\x19\xb0\xfc\x0e\x58\x41\xc8\xa0\x85\x30\xfd\xbe\x92\x45\xa5\x42\xc0\xeb\x53\x9a\x8b\x61\x65\xaa\x16\xe3\x9c\x11\x58\x2b\x8d\x60\xcc\xfa\x98\xea\xfb\x35\x0d\x63\xd7\x16\x53\x73\x9d\x4c\x8d\x8c\x1e\xc4\x98\xf3\xd3\xc3\x9c\xa6\xfb\xfa\xe2\x51\x7a\xa4\xe8\x3a\x41\x38\xe6\x0c\x3a\x3c\x7c\x74\x0b\xf6\x0a\x2d\x08\x7b\xb9\x40\x30\x2a\x36\x3b\xba\x90\x19\x56\x11\x17\xa3\x40\xf7\x19\x5c\x20\x27\xce\x72\x2e\x4b\x33\x1d\x9a\xb8\x8a\xd5\xd4\x43\xca\xc8\x1d\xc4\xe4\x62\x1a\x93\x62\xf7\xa2\x54\x26\xd6\xad\x45\x4e\x03\xfb\x96\x7f\x51\x25\xc5\xd3\x6e\xad\xa4\x1b\xd4\xc9\x51\x2d\x95\x74\xc3\xf5\xc9\x51\xfa\x18\x11\x7d\xa4\xb9\x7d\xe4\x20\x2b\xb5\x82\xa1\x47\x6d\x9f\x14\xbb\xed\x9c\x0e\x55\x33\x1d\xaa\x3e\xa2\x43\x83\x65\x1d\xaa\xea\x1d\x92\x67\xc3\x85\x4f\x8a\x1f\x2e\xce\x65\xe3\xe7\x41\x2c\x26\x89\x1d\x4a\x89\x0e\x2e\x17\x9c\x06\xf8\xd1\x16\x05\xde\x18\xfb\x55\xab\x2d\xde\xf4\x93\x6e\x0c\x06\xac\x1f\x8a\xdc\xfe\xc9\x1d\xd9\x58\xdc\x91\xa6\xe5\xdb\xd4\x23\xc5\x66\x23\x61\x45\x7b\x40\x60\x6b\x73\xa6\x18\x64\x28\x35\xf8\xc4\xa3\x42\xf5\xaf\x80\xc8\xff\xf1\x98\x3a\xae\x15\x53\x6f\xae\xe8\x27\xcf\x78\x4a\x57\xa6\x9e\xd2\x7b\x6a\x4f\x95\x51\xb4\x63\x84\x4a\xe1\xbb\x17\xbc\xe8\x86\x61\xa0\x38\x7c\x72\xf7\x34\x1e\x45\x9c\xa7\x21\xd4\x52\x87\x47\xda\x5f\x40\xbe\x2e\xdf\x51\x02\x10\x32\x52\xa9\xcf\x48\x7e\x19\x0b\xb0\x03\x0e\xb4\x01\xf0\x7c\x0f\x44\xe2\x9e\x44\x61\xc8\xe0\x81\xcb\x5b\x1e\x93\x39\x5c\x05\x5a\x12\x7a\x0d\x80\xe8\xc7\x6a\x3e\x20\xfa\xc2\xc7\x08\x84\xc2\x9b\x42\x6a\xc1\x4f\xfb\x51\xec\xc6\xd3\x98\x92\x62\xf7\x6a\x3f\x6f\xef\x6b\x36\xce\x73\x98\x67\x19\x37\x3f\xc6\x53\x45\xc7\xc2\x0b\x62\xb1\xd5\x6d\xe6\x1c\x10\xb5\xfe\xe2\x39\x48\x42\x75\xd8\x17\xad\x6e\x33\x53\xc2\x1c\x19\xa0\xc0\xcf\x15\x55\xd7\x2c\xee\x22\x8f\x2e\x5b\x9a\x77\x92\x1a\xea\x9c\xb8\xdb\xb6\xba\xcd\x1c\x77\x5b\xa4\xa7\x34\x29\xc2\x9a\x45\x4f\x4b\x39\xde\x51\x26\xbf\xda\xb4\x7b\x0f\x8f\xed\x16\xa4\x52\xd1\xb1\xe0\x40\x5a\x3c\xc8\x55\xf9\x5e\x0e\xf2\x56\xee\x3a\xd9\x21\xe6\x44\x3a\x02\xa9\xd9\x0d\x8d\x09\x6d\xca\x98\x01\xa2\x52\xa9\x28\x51\xfc\x0e\xbd\x27\xc5\xf6\xf9\x81\x14\x9e\x53\xf7\x96\xe9\x48\xa0\x16\x94\xf1\xf2\x79\x2b\x20\x69\x3e\x48\x75\xd0\xd8\xe7\x9d\x4d\xd6\x67\xed\xd6\xf7\xa9\x70\xb0\xfc\x5c\x63\x4d\x19\xb4\x07\xf0\xbc\x07\xf5\xa7\x78\xde\x3a\xcd\xe9\x60\x7f\x1a\x13\x27\xa0\x91\x5f\x88\x89\xe5\x38\x70\xc2\xe6\x28\x9a\x3b\x5b\x86\xee\xb5\x9e\x76\xec\x9a\x15\xd4\x83\x60\xe6\x2f\x56\x50\xa7\x1e\x06\xd6\x74\x69\xcc\x74\xd5\x6e\xce\xec\xef\xec\x18\xba\xfa\x76\xa5\xae\x0a\x2d\x52\xff\x62\x98\x1a\x43\x29\x1d\x86\x0a\x0f\x59\x42\x1e\x3a\x6d\x5d\xbf\x99\x4e\xe0\x56\x90\xaf\xbd\xec\x38\x86\xfe\x9e\xad\x70\x69\xc1\x76\x4f\xcd\x02\xd0\x45\xc3\x10\x6a\x0b\x75\x52\xec\x76\xeb\xc9\x05\x12\x73\x6c\x04\x03\x72\x54\x27\x32\x4f\x09\xf0\x55\x8f\xbd\x4b\x92\xb5\x28\x88\xc6\x0b\x4f\x59\xc3\xf0\xa8\x61\x78\xe7\x8b\x8f\x56\xad\xf3\x1b\xac\xf3\x1b\xa6\xce\x6f\xfc\xf5\x9d\x1f\x18\x3a\x7f\xb1\xb8\xf3\x07\xf4\xce\xb5\x69\x12\x5c\x86\xa6\x87\xe2\x41\xb3\xab\x1c\x32\x1c\x8e\xc5\x22\x07\xcd\x6e\xe2\xa9\x8d\x97\x0c\x24\xb0\x26\x08\x08\x21\x00\xbb\xf6\xa7\x0f\xbd\x56\xe7\x0c\x80\xeb\x1e\xab\xee\x34\x03\x3f\x72\x1d\x1a\x26\x25\x59\xbf\x0e\x5a\xcd\xce\xbb\x6e\xb7\x2c\x70\x46\x62\x11\xcd\x4c\xe9\x98\x70\x17\x8c\xbe\x97\x23\xba\xaf\xaa\x06\xf6\x5c\x2e\x3e\xd1\x72\x83\x0b\x32\x0e\x9c\x19\x80\x0f\xb3\xf3\xee\x6e\x2a\x91\x74\x88\xc2\x31\xb5\x42\x87\x3a\xa4\x11\x52\x8b\x14\xbb\x97\x0d\xc9\xfc\xf7\xae\xe7\x81\x5e\x25\xf9\x90\x33\xb8\x6d\xc3\xe0\xae\x97\x19\x55\x9c\x6c\xe3\xad\xa7\x34\xfe\xd2\xd0\xf8\xfb\x25\xab\x46\x8c\x5d\x88\x5c\xf7\xa2\xfb\xf8\x86\x4d\xbb\xe7\x87\x95\x96\x6b\xb2\x18\x95\x38\xca\x62\xb7\xd9\x2e\xa3\xbe\x7a\xd0\x6a\xb6\x93\xb3\x92\xdf\x07\x65\x42\xce\xf6\x41\x85\x90\x8b\x7e\x14\xc0\xe9\xce\x2e\xc5\x6c\x28\x68\x8e\x24\x76\x81\x14\x0f\x1a\x39\x1b\xfe\x2b\xcb\xd0\xe5\x9b\xe5\x1b\xa8\x0e\xd5\x83\x50\x45\x6f\x6a\xbb\x75\x3b\xa5\x2a\x2e\x0a\x13\x2d\x36\xbb\x6d\x2d\x26\xc7\xa3\x16\xcf\x6e\x39\x0e\xa2\x2c\x0e\x00\x5f\xe2\x10\x3d\x9a\x33\x9a\xbe\x61\x34\x9f\x7e\x6a\x4d\x99\xe3\xbb\x44\xa4\x44\x4e\x34\x97\xf8\x7a\xd1\x82\x6c\x76\xdb\xe9\xe5\x67\x88\x6a\x92\xfc\xb9\xe2\xee\xa4\xf2\x9a\xc3\x76\xbf\xf5\x8b\x6e\x73\xfd\xf2\x6c\xbd\x71\xd9\x24\x76\x30\x1e\x5b\xbe\x13\x71\x43\x98\x34\x3f\x0b\xcc\x16\xd5\xf0\xfc\x8c\x67\xc7\x82\xdd\x4a\xe4\x02\x15\x9e\xaa\x6e\xcc\x7d\x66\xad\x08\x5d\x5f\x93\x87\x00\xad\xfd\x40\x58\xa8\xd2\x13\x04\x60\x37\x0b\x36\x9d\x02\x4f\x41\x97\x33\x87\xb6\x61\x0e\x3f\x7f\x5e\xbc\x8a\x0c\x96\x71\xe0\x06\xf8\xc8\x96\x92\x54\xb9\x9c\x45\x21\xf5\xb0\x34\xb7\x9c\x04\xb2\x3a\x66\x02\xcc\xe9\x99\x49\xd9\xf8\xf2\x13\xd2\x95\xb9\xa3\x5c\x18\xef\x28\x89\x33\xc0\x02\xa6\xaa\xf5\xb4\xb8\x4f\x25\xd8\x4d\x5e\x9d\x67\x56\x3a\x0a\x41\xf5\xa8\x95\x0f\x99\x8b\x2e\x29\x8c\xaf\x6a\x33\xef\xa5\xf3\xb3\xc3\x54\x36\x11\x90\xa5\x04\xf1\xcd\x69\xbc\xa0\x2d\x49\x82\x55\xaf\xc8\xbb\x99\x15\xce\xb3\xc1\x4c\x9f\xaa\x5f\x2a\x00\x94\x57\x5c\xff\x47\xf1\xb3\xf3\xa2\xb4\x5b\xac\xfc\x5a\xfa\xcf\x75\xfe\x38\x89\x01\x1e\xf3\xa4\x7b\xd9\xea\x64\x8f\x51\xfe\x54\xff\xa2\x39\xd0\x24\x57\xb7\x0b\xb8\xba\xb1\x22\xb5\x2f\x06\x38\x81\xd4\x53\xb2\x19\x24\xe7\xa2\xdb\x34\xfa\xc4\x67\x7b\x53\x2a\x29\x98\x52\x8b\xae\x73\x17\xa9\xeb\x1c\xbc\xd1\xda\x73\x72\xc6\x1f\x10\x8a\x97\x67\x8f\x3f\xb4\x4c\x3a\xe6\x3f\xfe\x95\x7a\x48\x23\x71\x5e\x25\x97\x3c\x1f\x9e\x38\x47\x8a\x8d\xcb\xe6\xe3\x87\x68\xd2\x44\xbf\xfe\x2b\x87\x08\x91\xaa\xf7\xf5\x2a\x59\x23\x57\x3e\xf8\x29\x40\xf6\x30\x00\xe0\x41\x50\x94\x88\x92\x00\x1c\x47\xad\x98\x3a\x90\x23\x29\x72\xfb\x90\x31\x15\xdf\x88\x96\x2a\xe5\xaf\x31\xc6\x51\xb6\x74\x48\xd6\x84\xfe\xff\x92\x28\x30\x3b\xf8\xf8\xac\xb8\x37\x47\xa4\xd8\x7d\xd9\xac\xe1\xd1\xa3\x52\x38\x4a\x28\xec\x2c\xa5\xb0\xa3\x50\xd0\x7e\xce\xf7\x01\xb7\x38\xe9\xb3\x15\x45\xd3\x31\x25\xd0\x26\xb1\xbc\x99\x35\x8f\xf2\x27\x38\x3d\xaa\x53\xe8\x53\x8c\xce\xdf\x76\x80\x10\x12\x6c\x8b\xf3\xe8\x1d\xf5\x48\x2d\x3d\x86\xb3\xc5\xe5\xeb\xe9\xf2\xe7\x8b\xcb\x6f\x64\xdf\x9b\x99\xc0\xd5\xab\x2b\x0b\x17\x97\x9e\xdc\xa2\x2b\x99\xa8\x56\xf3\xf9\x58\xe4\xf1\x21\x8e\x86\xd7\x30\xf4\x2a\x1b\x3a\xb8\x7c\x8c\x56\x45\x93\x80\x9d\xeb\x87\x96\xd7\x0c\x15\xd0\xff\x28\xe8\x0f\xbd\x69\x6e\xfd\xc7\xbf\x86\x55\xdc\x98\xb7\x53\x28\x09\x2f\x65\xe1\x74\xd5\xf0\xdc\xa1\x0f\xd9\x67\x7a\xec\x4a\x57\x3c\x68\x35\x1b\xa7\xe7\x66\xa7\xd8\x81\xeb\x79\xc5\x42\x4b\x46\x70\x3e\x9e\x4d\x34\x72\x87\xa0\x4e\x5d\xc0\x4b\x77\x13\x51\xb7\xb8\x16\x53\x3c\xb8\x68\x66\x4c\x35\xc0\xb5\xff\xef\x7f\x96\x6b\xe2\x88\x96\x36\x6d\x91\x68\x51\x81\x0a\xe3\xf0\x4c\x00\x12\x4e\x79\x50\x3a\x66\xbb\x61\x8a\x18\x1e\xf9\x29\xf8\x10\x03\xbc\x59\x49\xc3\x8c\xe0\xb3\xb4\x5e\x48\xfc\x96\x16\x4f\xed\x8a\xf0\x14\x79\x2a\xc8\x65\x18\xd8\x34\x8a\x74\x08\xb4\x90\x89\x6f\xc4\x13\x73\xcb\x60\x0d\x5b\x01\x81\x40\x90\xb7\xbf\x4b\x80\x37\x74\xac\x93\x39\x60\x5b\xcd\xb3\x06\xd9\xd8\xaa\xa4\x5c\xc9\x12\x98\xbe\x62\x02\x81\xa7\x38\x9c\xa9\x0e\x5e\xa2\x8d\xa3\xbc\x36\x04\x20\x63\x6e\x0b\x1c\x0e\x72\x31\xf9\x75\x9d\xfc\x85\xcf\x74\xc5\x39\x89\x43\xcb\xe7\x89\x51\xe2\x00\x40\x7b\x10\x6c\x8d\x69\x41\x49\x9b\x2b\xac\xbc\x3c\x06\x6a\x03\x44\x7f\x48\x80\x6f\x3c\x95\xbb\x78\xaa\xd8\x5b\x43\xb1\x7a\xb6\x58\xdb\x50\x6c\xa3\xa2\xb9\x82\x62\x28\x2f\x60\xb6\x43\x16\x69\x2c\x0a\xdb\x7b\x64\x80\x70\x5e\xc0\x5c\x81\x28\x58\xda\xd5\x4a\xeb\x7c\x26\x59\x6f\x3d\xfc\x59\xc5\x67\x8f\x0f\xcd\x18\x2f\xca\xf6\xda\xff\x8f\xac\xcb\x8b\x9e\x39\x1e\x73\x54\x32\xf7\x4e\xfc\xf9\x23\x47\x3c\x32\x5d\x5e\xad\xbb\x8b\xba\xfa\x88\x8e\x2a\x9d\xcc\x06\x7f\xaf\xb6\xd1\xea\xd6\x4e\x54\x63\x98\x3c\x17\xbb\x8a\x6d\x11\x0f\xfe\x22\xb9\x8c\xf8\xb1\x9f\x79\x14\x2e\x5e\xf7\x6a\xd5\xaa\xaa\x1a\x95\x94\xd2\xe9\x37\xed\xe2\x75\xaf\x5e\xd7\x4a\xff\xaa\x94\xae\x2f\x2d\xfd\x42\x29\xbd\xb1\xb4\xf4\xda\xe2\x9e\x6c\xe8\xfd\xae\x2c\xee\x49\xaa\xf4\xfa\xe2\x9e\x88\xd2\xa0\xbe\x7b\x9e\xd1\x6d\x8b\xda\xa3\x20\x0b\xea\x67\x3a\xdc\x8a\x06\x75\xbd\x64\xf8\xec\x57\xc3\x67\x2f\x0c\x9f\xad\x19\x3e\xab\x18\x3e\x5b\xcf\x3b\x54\x31\x7e\xf4\x7f\x44\x21\xe1\xc8\x12\x86\xab\xeb\xa2\xd3\x2c\xd5\xa9\x85\xc7\x1c\xa4\x39\xb1\x26\x0b\x33\xd9\x48\xbd\x8f\xf5\x8c\x15\x7e\xbe\xb7\x47\x64\x2e\xc3\xd4\x19\xcd\x03\x43\x0b\xc5\x42\xc6\xb7\x1b\x92\xf6\x8c\xad\xc9\x6e\xd6\xd9\x5f\x56\x2b\x15\xc8\x1f\x7f\x10\xf9\xe7\x9a\x81\x4a\x6d\x39\x95\x5f\x75\x2a\x15\x03\x95\xfa\x72\x2a\x2f\x74\x2a\xeb\x06\x2a\x1b\x29\x2a\xcf\x88\x21\x88\x21\x37\x80\x35\x85\xab\x21\x6c\x05\xfa\x82\x02\x60\x5d\xe1\x71\x4d\x5e\x90\x02\xc7\xd4\x95\xb3\xf2\xd4\x4d\x70\xdf\xb2\x6f\xc5\x5b\xdb\x41\xab\xb9\x9f\x98\x5f\xaf\x7b\x9b\x75\xf4\x6a\x9e\x4e\x2a\x64\xe5\xa7\x1e\x58\x36\xdb\x4b\x2c\xdc\xd6\x1d\x25\x3c\x0a\xb5\x08\xb1\x05\x46\x8d\x36\xdf\xd5\xd0\x14\x20\xa0\xa7\x12\x85\x7c\x5b\x4a\x13\x1d\x73\x13\xf9\x0e\x7f\x39\x6e\xfd\x3f\x34\x6f\xaf\x99\x15\x3a\x0a\xf7\x0e\x55\xee\xd5\x6b\x4f\xe5\xde\xab\xc5\xdc\x53\x8d\x21\xb7\x74\x3e\xb1\x1c\x68\xfc\xe4\xb2\x91\xf1\x9b\x03\x72\x7b\xcb\x6d\xf7\xa6\x28\xe1\x13\x24\xbd\x97\x45\xe3\x38\x67\x37\x5e\x4f\x6f\x3b\xeb\xb3\x07\x6d\xff\xfe\x93\x6d\x73\x78\x13\xf5\xd4\x96\x0e\x6e\x5e\x30\xa3\x21\xba\xb8\xd9\x41\xe8\x63\x2a\xa1\x08\x6e\x6c\x8b\xcd\x41\xcf\x94\x8c\xf9\x3c\x09\x89\x1d\x0c\x7d\xf7\x01\x1d\x99\xd1\xe1\x56\xe2\x1e\x8f\x26\xa7\xac\x21\xd6\xce\xfe\x74\xd8\x0c\xc6\x13\x2b\x26\x21\xe5\x9e\xef\x6e\x84\xf6\xee\xb4\x9d\x09\x46\x7f\xb8\x78\x22\x0f\xa7\x9e\xc7\xd3\xde\x16\x3b\x6d\xf3\xad\xce\xce\x65\xa0\x82\x13\x9a\x7e\xc9\xe6\x5f\x28\x5c\x3b\xa3\xe3\x20\x9c\xc3\x1d\x6d\x7d\xea\xb3\xff\xac\x6c\x31\x83\x6e\x78\x86\xb3\x71\xbc\x78\x74\x8a\x7b\x5d\x9d\x14\x4f\xbb\xf5\x92\xee\x5d\x07\x8e\x4f\xe9\x07\x73\x2b\xca\x7a\xd8\x41\x63\xfe\x32\xf7\xba\xba\xee\x5e\xa7\xb4\xbe\xc1\x5a\xdf\x30\xb5\x9e\x7e\xf1\xce\x6d\x3d\x58\xd6\xfa\x46\x6e\xeb\xf5\x32\xe9\x80\x37\x2f\xeb\x44\x67\xd5\x5e\x74\x4c\xbd\xf8\x23\xbf\x17\x9d\x47\xf4\xa2\x6e\xec\x85\x69\x26\x8c\xbd\xf8\xb1\xac\x17\xf9\x33\x51\x53\x7a\x51\x33\xf6\xa2\xb6\x6a\x2f\xfe\x7b\x59\x2f\x52\xfe\x9f\x18\x7f\x4d\x5c\x3b\xf0\x11\x41\x9f\x6d\xcd\x33\xd7\x77\x82\x19\x89\xdd\xd8\xa3\xca\x23\x18\xec\x09\x08\x93\x07\xbd\x4a\x17\xd3\xa3\x1a\x3e\x15\x96\x98\xf6\x0c\x28\x08\x8c\x5e\x8f\x91\x33\x99\xfe\x4d\xfd\x5e\xd6\x85\xba\xbe\x16\x45\xb7\x34\x94\x8b\xf5\x90\x5a\x0e\xb1\x03\x2f\x08\xc9\xc4\xf2\x68\x1c\x1b\x49\x6d\x2e\x75\x63\x6c\x84\xc3\x88\xd8\xc1\x18\xc2\x13\x20\xd5\x11\x8f\x9b\x2a\x00\x88\x59\x6d\x37\x1c\xf6\x6b\xa4\x52\xa9\x90\x5d\xf8\xe0\x9c\x7d\x70\x5e\x50\x00\x90\xf1\x86\x1d\x4d\x3c\x57\xfa\xad\x47\x74\xec\xb2\xbe\xf9\x1c\x60\x87\x86\x56\x4c\x45\x6a\x00\x0e\x67\xe8\x86\x32\x3f\x9c\x19\xd3\xee\x53\xf5\x4b\x05\xa8\x16\x0b\xbb\xdc\x02\x07\x59\x4b\x2c\x37\x6c\x42\xe6\x65\x25\xcb\xb4\x0a\x1d\xba\x4e\xea\x12\x2d\x0f\x18\x74\x89\xfc\x11\x1a\x71\xbc\x30\x43\xa9\x52\x61\x37\x95\x5e\xb0\x11\x86\xd6\x9c\xa7\xd4\x7f\x46\x40\x8d\x2b\x8a\x1e\x9d\x63\x54\xcd\x1e\xa9\xee\xaa\x7f\xff\x96\x74\x77\x97\xbc\x78\x91\x7c\xa3\xdd\x20\x58\x9b\xa8\x78\xa4\x86\xf4\x49\x21\xf5\x2b\xa9\x0b\xd4\x34\x59\x09\xd2\x58\xc3\x63\x57\xa6\x2c\x79\x41\x34\x10\x38\xa5\x91\xdf\xf7\x34\xbe\x08\x48\xb5\x44\x81\x8d\x5d\x7f\x4a\xd3\x75\x79\x5b\x80\xaf\xaa\x3d\x0d\x16\xde\x14\xc8\x98\x5a\x7e\x04\x68\x68\x88\xcf\x8f\x99\xc0\x38\x2c\xa5\xe2\xa8\x8e\x02\xab\x24\xf5\x26\xfa\x40\x3c\xb7\x8f\x53\x10\x55\xc2\x61\xbf\x17\x7c\xa8\xd5\x8a\x6a\x5f\x3f\x25\xc3\x48\x20\xe4\xf4\x2e\x26\xf6\x09\x6d\xde\x10\xaf\x57\xe1\xc2\x0b\x52\xd8\x45\x25\x5c\xd6\x4c\xac\x65\x92\x07\x8a\x3a\x9e\xd7\xd1\xfb\x5a\xad\x17\x34\xbb\xdd\xa2\x46\x29\xbf\x63\x79\xe3\x21\x7b\x4a\x13\xbb\xa6\xa4\x4a\x38\x10\x75\xba\x96\x7a\x6d\x7c\xd9\x84\x41\xea\x14\x30\xf5\xc0\x6e\xa1\xc4\x98\x80\xf0\x4e\xda\x3e\xe5\xf6\x68\x38\xae\x93\x61\x18\xcc\x40\x9d\x70\x07\x5c\x95\x4b\x5b\xf8\x2f\x12\x0d\x77\xd1\x1e\x03\xfa\x19\x18\x8e\x9d\xe9\x78\x22\xcc\xaf\xb1\x1b\x52\x25\xe5\x0c\x40\x74\xca\x78\x2a\xbe\xfd\x41\xe3\xf3\xe2\x3f\x0b\xfd\xc0\x99\x17\x5e\x1b\xb6\x88\x1f\xc6\x2d\x16\xcc\x38\x98\x8f\x60\x10\x84\x74\x88\x98\x1b\xc0\x5e\xd3\x10\x6a\x4b\x76\xfd\x45\xfb\xa4\x08\xe0\xea\x03\x2a\x63\x1c\x5a\xb8\x9d\x41\xc2\x02\x7b\x04\x68\xfc\x3c\x4a\x13\xe2\xf1\x5c\x7f\x88\x04\x2f\xba\x4d\xed\xe5\xe4\x11\x3b\xa1\x02\xf5\x99\x49\x9c\x2a\xf7\x86\x46\x38\xd4\x76\xc1\x0f\xb5\x5a\x8e\xdc\xc2\xe6\x09\x4e\xea\xc5\x92\xa4\x2e\xea\xe4\xe0\x3d\x1d\x4a\xae\x36\x59\xc1\xa4\xf8\xae\x8a\xc1\x98\xc0\x76\xca\xc4\x00\x39\x8f\xf5\xc3\x28\x91\x4a\x5c\x3c\xa9\x19\xaa\x15\xbe\xe4\xc1\x7f\x7d\xc9\xe2\x40\x65\xc5\x80\x6d\x45\x4b\xc5\xa0\xf6\x7f\x62\xf0\x38\x31\xd8\x97\x5c\x35\x89\xc1\x3a\xbc\x5f\xd3\xd7\x1c\x74\x58\xe4\xaf\x65\x43\xae\xd5\x5f\x00\x56\xaf\xc3\x99\xc3\xbd\x92\x2a\x7f\x8d\xf0\xd4\x97\x0b\x0f\x61\xe2\x60\x48\xef\xc4\x63\xb0\xa2\x91\x35\x91\x6a\x65\x02\x7c\xef\x26\x28\x7a\x3c\xb0\x84\x47\x81\x80\x93\xde\x2f\x3c\xc7\x33\xab\xbb\x87\x71\xb7\xbf\x94\xb9\x0f\x00\x0f\xc3\xc5\x2b\x27\x22\x95\xbd\x96\x66\xea\x2a\x59\x23\xfb\xec\x62\x87\x7f\xd6\xc8\x1a\x69\xaf\xed\x53\x6b\x8c\x7f\xd7\xc1\xaf\xc0\xa1\xa1\xe7\xfa\x34\x75\x07\xb6\xe0\xe9\x1e\xb0\x12\x1d\xba\x36\xb0\xec\x38\x20\x91\x48\xe3\xc9\x67\x00\xaf\xc6\xb0\xcb\x93\x3a\xa8\x68\x27\xdc\x6a\x05\x1e\x5e\x10\x60\x03\xf9\xbe\xc0\x9c\x73\xd5\xed\x28\xb1\x54\x60\xcf\xc2\xce\x73\xe9\x16\x09\xd1\xb3\x21\x91\x98\x95\x44\xb2\x2e\xbd\xdc\xb6\x96\xec\xba\x8b\x57\x02\xf7\x10\x52\x59\x5c\xac\x94\xd6\xdd\xd4\xc2\x30\x22\xcb\x35\x41\x49\x61\x17\x65\x04\xc9\x66\x12\xb9\x55\x85\xc6\xd0\x14\x67\xd4\xe4\x49\x16\x98\x50\x3c\x76\x71\xd0\x5d\x3d\x91\x70\x8d\xbf\x4e\xa9\x5d\xac\xbd\xe6\x33\x99\x0b\x0a\xa1\x94\xe6\x59\x8c\x7a\x7a\x34\x00\x7c\x55\xd9\x6f\x35\xce\x16\xa4\xe6\xad\x1b\xda\xae\xbf\x4e\xa4\xe6\x67\x9b\xbf\x3a\x3f\x68\x75\x4e\xdb\xe7\xad\x85\x78\x15\x99\x2e\x54\x5f\xa3\x5c\xff\xf4\xe8\x4f\x2f\x9a\x27\x46\xf8\x3f\xbc\x18\xa1\x9f\x1f\xb1\x3d\x77\x82\xf6\x28\xe9\x59\x6b\x39\x6c\x95\x68\x36\x12\xea\x10\x67\x4a\x31\xed\x9a\x3d\x85\x64\xad\x36\x77\x08\xe7\x5a\x0f\x21\x0d\x12\xd2\x71\x10\x53\x62\x4d\x26\x10\xb6\x3b\xb2\x30\x60\x99\xa7\xc5\xee\x07\xf1\x88\xcc\x42\x97\xa3\x19\x40\x27\xf8\x2a\x90\x9d\x20\x36\x88\x1d\x8d\x22\xa6\xfc\x58\x9e\x37\x07\x4a\xd6\x2d\x45\x44\xfc\x79\x30\x0d\x49\x44\xa3\x28\x05\x00\x91\x10\x70\xac\xd8\x7a\x4a\xca\xca\x67\x90\x75\x29\x27\x19\x21\xae\xc5\xfa\x4f\xdc\x14\x65\x07\x77\xfb\xdb\x9b\x6b\xac\x93\xf2\x7e\x48\xf4\x11\x20\xa5\x89\xba\x7f\x0a\xcf\xd3\x08\x5d\x8f\xd0\xbd\x95\x83\x67\x7c\x48\x6a\x02\xd8\x85\xe5\x38\x21\x8d\xc0\x11\xd5\xf5\x6d\x9e\xe5\x3c\xc1\x65\x75\xfd\x98\x0e\xb9\xa7\x27\x60\x21\x7c\x00\xdc\x7a\x7c\xfc\xc5\xbc\xbf\x9e\xa7\x3d\xfa\xae\xb4\xc5\xfc\xe3\x93\x3d\x89\xaa\xb5\xfa\xc6\xe6\xd6\xf6\xcb\x2f\xbf\x82\x37\xe2\xfa\x0a\xe7\x2f\xcc\xd6\x1e\xbf\xee\x57\xac\x38\xe8\xcb\x7d\x42\x54\x66\x45\x4c\x47\xab\x1d\x4c\xe6\xdc\xc5\x2c\x68\x0a\x16\x68\xd9\x41\xa1\xa6\xae\xfb\x5e\x75\xee\xef\x62\x32\xa1\x21\xe0\x9a\x4e\x3d\x15\x2e\x22\x49\x5d\x23\xdc\xae\x71\x85\x00\xf7\xfb\x73\x12\xde\xdf\xc5\x6b\x53\xdf\x95\xb9\x7d\xdc\x38\xca\x90\x22\x17\x7d\x40\x42\xf2\xe6\x8c\xad\x32\xb5\x1b\x1c\xea\x50\x36\x08\x89\x3d\x8d\xe2\x60\x2c\x6a\x09\x5c\x03\xcf\x85\xd4\xf2\x03\x3a\x03\x47\x66\x08\xf4\x62\xa7\x5e\x24\x00\x55\xc8\xc0\xf5\x1d\x9e\x2a\x48\xf6\x9a\xda\x23\xdf\xb5\xd9\x42\x61\x3d\x0f\x29\xae\x5c\x82\x79\x84\x12\xe4\x5f\x74\x27\xe7\x2d\x92\xa0\x4f\xe7\xe0\x46\xf6\x1b\x7e\x02\x16\xa2\xdf\x77\xc5\x5f\x6c\x06\xca\x64\x1a\x4d\x81\xec\xae\x4c\x5d\xe3\xfc\x6e\x58\x15\x2f\x5f\xbe\x5c\xe5\x88\x9a\x0b\x0d\x6b\xca\xd8\x78\x16\x38\x4b\x74\xb7\x32\xa9\x95\x3e\x55\xbf\x68\x99\xe8\x45\x55\xfd\x08\xc1\xfb\x8f\x9a\x66\xfc\x10\x06\xaf\x7c\x80\x45\x76\xc1\x9a\xb4\xcb\x2f\x50\xfc\x5b\xd6\x25\xf8\xbc\x2c\x6e\x56\x62\xb3\x5e\xea\x77\xfb\xe9\x1f\xbb\x5f\x5e\xec\x16\xd9\x7f\x7e\x2d\x15\x77\x8b\x9f\x3e\x47\x9f\xbb\x5f\x7e\x2d\x95\xde\x48\x3f\x5c\x83\x27\x2e\xc1\xe6\xb8\xfb\x6d\xed\x4b\xf2\xc4\x2f\x30\x30\xf0\x9b\x8d\x2f\x69\xe0\xac\xd4\x75\x0f\xc8\x14\x5e\x8b\xde\x8b\xeb\x1f\xa7\xf2\x63\x15\x90\x24\xb3\x6f\x02\xb0\x99\xcb\xca\x92\xa3\x3e\x0f\x04\x89\x03\xee\x16\xfb\x9e\xe5\xdf\x96\xd4\x38\xc9\x62\xbb\xf9\x36\x13\x88\xd1\x6d\x7f\x2a\xfc\xfd\x31\x46\x45\x17\xe8\x77\x27\x96\xad\x59\x14\x5d\x2b\x1c\x62\x02\xb4\x92\xe9\x0d\xe5\x6a\x42\x8a\xcd\xab\x2b\x63\xf3\x8d\xc7\x34\x8f\xc7\xec\xd5\xe4\x11\x6d\x1f\x30\xce\x16\x9b\x57\x07\xc6\xd6\xf7\x1f\xdf\x3a\x04\x3c\xae\xde\xbe\x78\xbc\x2b\x36\xaf\x0e\x8d\x5d\x68\x3e\xbe\x0b\x60\xdb\x7e\x44\x1f\xd8\x4d\x48\x74\x62\xdf\xd8\x89\x83\xc7\x77\x02\x90\x49\x56\xef\x83\x12\xd9\xda\x3c\x3f\x2d\xa5\x77\x7f\xcf\xbd\xa5\xea\x94\x95\x21\x3f\xca\x44\xbb\xe7\x8c\x83\x3b\x2a\x71\xa5\x00\x55\xc8\x4f\x72\xdb\x32\x62\x00\xeb\x01\x19\x3b\xbd\xb4\x73\x07\x8c\xb2\xf5\x27\xcf\xf6\x23\xc1\x2a\xf8\xf0\x2e\x99\x0a\x04\x3a\x11\x67\xc7\xe5\x62\x76\x5c\x4d\xfe\x12\x66\x1c\xfe\xa9\x0b\xef\x69\xac\x48\xde\x60\x1a\xfd\x28\xf0\x20\xaa\xbf\xf9\x36\x1b\x30\xc6\xfa\x7b\xf4\xc8\xc7\x0f\xad\x79\x63\xb7\xc9\x5a\x3a\xc3\xa0\x98\x21\x1e\xf1\xcd\xd6\xcb\xa5\xb1\x33\x6f\x9f\xd4\x19\x41\x37\xbf\x3b\xa6\xb4\x25\xe9\x9f\x74\xe5\xda\xc2\xb1\x88\xfd\x47\x09\xc4\x2e\x36\x39\x62\x50\x7a\x54\xed\xe5\x0a\x85\xad\xbe\x6e\xa4\x47\xc0\xc4\x40\x14\xc0\xac\xb3\xb6\x67\x8d\x27\x45\xf8\xac\x4c\x6a\xe5\x2c\xb6\x2a\xa5\x7e\xd7\x7d\xa0\x95\x99\xeb\xf0\xcc\x29\xf2\xe9\xc2\xc5\x17\x0b\x97\xfc\x86\x44\x77\x89\xfb\xe2\x85\x86\x32\x11\xe7\xa3\x09\xa5\xce\xc5\x56\xc8\x54\x16\xd7\x87\x04\x1f\x9e\x35\x27\xc5\xd6\x41\x19\x91\xd4\xcd\x07\xc3\xb1\xfe\x0e\x0d\x9f\xbd\x39\x5e\xc5\x49\x8b\xab\xed\x46\x15\x46\x4b\x85\x44\xfe\xf8\x03\x0b\x2a\xa9\x49\xf5\x61\x51\xd6\xeb\x7d\xea\x05\xb3\x62\x1a\xab\x9e\x57\xac\x2d\xa8\xd8\xe8\x07\x02\xd1\x32\x5b\xb1\x6e\xae\xa8\xe0\x56\x66\xeb\x6c\xe8\xb9\x48\xb9\xff\x82\x13\xd8\x11\x89\xac\x39\xe2\xf4\xe1\x63\xcb\x2f\xc8\x6f\x70\x6d\x41\x78\x82\x5f\x44\x4e\x9a\x82\xe7\xa1\xb9\x1d\x9a\x12\xe4\x00\x6c\x84\x4f\x4d\xc4\xae\x4f\xe4\xd6\xf5\x3c\x19\xc5\xc5\xd1\xb4\xed\x5b\x88\x6f\x8e\x48\x38\x15\xc8\x95\xf9\xdd\x37\x4e\x3f\x02\x3f\xb5\x4e\xf9\xdc\x67\x91\x28\xd8\x3c\x9f\x98\xe6\xfe\xe4\x5f\x31\xf7\xbd\x00\x8f\xfa\x27\xcc\x7e\x2f\x80\x03\xfa\x71\xd3\x0f\x35\xd9\xa9\x64\xe0\x21\x57\x2d\xd9\xb7\x4c\x9b\x34\xb3\xee\xf4\xf1\xca\x24\x10\x5c\x45\x91\xe0\x00\x22\xbc\x03\x07\xe6\x0e\x9c\x3d\xa6\x03\x0e\x50\x7c\x6c\x07\x9a\x8a\x52\x7d\xc0\x95\xea\x67\x09\x3e\x19\x06\x7f\x82\xad\x3a\x92\x40\x69\xf0\x6a\x07\x29\x55\x3c\x3a\x88\xcb\x09\x78\xa4\xa5\x1d\xea\x02\x6a\xc4\x34\xb2\x25\xf1\xf9\xa6\x91\xb1\x9e\xae\x34\x32\x0e\x8b\xcd\xf4\xf4\xae\x59\x4d\xef\x3e\xa6\xf5\x3b\x8e\x7f\xbf\x9a\xa2\xce\x1b\x47\x45\xbd\x8b\xdb\x31\x69\x78\x51\x40\x0a\x6d\xdf\x8d\x5d\x2b\xa6\x64\xe4\x0e\x47\x1e\x62\xd5\x01\xdc\x79\x1c\x5a\x90\x47\xa6\x50\x21\x06\xc7\x22\xdc\x8a\x26\x56\x98\x09\xca\x63\x43\xe9\x2d\x1e\x4a\x2a\xf2\x54\xb5\xf6\xff\xc6\x96\x9c\x61\xd9\x88\xf1\xae\x7a\x35\xe8\x24\x29\x40\x38\x36\xe7\x80\x5a\xf1\x34\xa4\x12\x99\x15\xaf\xaa\x90\x0d\x24\x9d\x3a\x51\x3c\x50\x2b\x5e\xe3\x9f\xc8\xef\xe4\x32\x22\x3d\x19\x97\x17\x8e\x2d\xcf\x9b\x97\xc9\x2f\xe0\xa2\xf5\x8b\x80\xad\xe4\xf9\x81\xb1\xad\x0a\x69\x83\x95\x90\x87\xf7\x81\xa5\x90\x97\x93\x09\x26\xfb\xae\xe7\xc6\xf3\x24\xf1\xa4\xec\x26\x80\xeb\x8e\x27\x98\xb9\xd5\x22\x8e\x3b\x00\xfb\x5d\x2c\x7b\x29\x30\x3d\x60\x20\x8c\xd6\x98\x47\xea\xc5\x81\x1e\x44\x78\x19\xf1\xb4\x34\xaf\x93\xe7\x85\x83\x00\x53\x19\xd1\x98\x1b\xa8\xd6\xc1\x9d\xc6\xb3\xfa\xd4\x8b\xc8\x14\xa2\x7b\x47\xf4\xde\x72\xa8\xed\x8e\xd1\x8f\x9b\xbf\x44\xf0\x9a\xdf\xa7\x34\x9c\x3f\xa6\x6e\x7d\xc5\x56\x45\xa8\x0b\xab\xb3\xb1\x72\x7b\xb2\xd6\x6a\x91\xa3\x4c\x48\x7f\xef\x2d\x41\xac\x80\x13\x4d\xdd\x8a\x5a\x39\xf7\xfb\x0f\x8f\x59\xb9\xda\xa9\xf3\x84\x0b\xa6\xa6\x65\xee\x9b\xb5\xcc\x9b\xff\x57\xb5\xcc\x3e\x1f\x65\xbe\x9a\x99\xdc\x67\xe4\x15\x22\xb9\xd8\xbc\x55\xf0\x44\xba\xe0\x19\x16\x3d\xe5\x1e\xf4\x5f\x29\x00\x33\x7e\x37\x5a\xd8\x89\x0e\x80\x0e\xdc\x41\x27\x3a\x46\xaa\xd6\xcf\xdc\xae\x96\xe0\x2e\xe5\xe5\xee\x5b\x70\xa7\x31\x6e\x9a\x13\x11\xda\x37\x91\x37\xe8\x61\x68\x4d\x46\xae\xad\x25\x1f\x7e\x1c\x60\x10\x1b\x7c\x7f\x89\x17\x39\xf5\x1d\x01\x0f\x94\x38\x64\x91\xe2\x65\xe8\x8e\xad\x70\x4e\x0e\x92\x79\xd5\xa1\x7b\xc4\x6d\x7e\x64\x85\x0e\xbe\x87\xc0\x5b\x02\xcf\x54\x4b\x0a\xe8\x02\x00\xaf\x01\x0d\xcc\x7a\xe8\x10\xc8\xfd\x83\xb8\x12\x6c\x26\x0a\xa8\x37\xbb\x31\xa0\x6a\xf4\x29\x1e\x17\x76\x10\x86\x90\xa6\x97\x93\xb3\x08\x44\xe4\x24\x69\xa2\x02\x78\x81\xf8\x15\x8d\xd7\x9e\x47\x78\x4a\x7b\x52\xc8\xe5\x4b\x01\xce\x4b\x03\x36\x74\xc6\x35\xd8\x74\x60\x3e\x37\xbc\x7e\xff\xf1\x87\xf1\x4d\x3c\x57\xe3\x5d\x88\xeb\x92\x79\x4c\x33\x4f\x49\x97\xda\x81\xef\xfc\xfc\xa4\x14\x0c\x5c\x67\xa4\x56\x62\xbc\xc6\x75\x98\x2f\x9d\xed\xe0\xc6\xb4\x12\xe7\x7f\x5f\xc2\xfa\xe5\x0c\xfc\xbd\xba\x5b\xdf\xda\xde\xad\xa6\xc1\x71\xc0\xf4\x64\xd8\xa4\xae\x2f\xcd\xbb\x8e\xf3\xc8\xfd\x41\x50\xc4\x9d\xa0\x13\xcc\x56\x35\xc1\x28\xd8\x71\x4c\x8f\x96\x70\xba\x89\x4d\xe6\xed\xf5\x65\xde\x3e\xba\xdc\x70\x33\x30\xec\x9e\x6f\xd5\xdd\xb3\x67\xf5\x49\x13\x50\x11\x8a\xbd\xfd\x2c\xfc\x23\x2b\x3f\xfc\xab\xd6\xc3\xfa\x3a\x6f\x5a\x00\x2f\xb3\xeb\x01\x5e\x0d\x72\x6f\xbb\xfc\x30\x6a\xf0\x3d\xb7\x08\x81\x0c\xe9\x5b\x9f\xb9\xdd\x8d\x4c\xbb\xf0\x04\x29\x40\x9f\x73\x9b\x6c\x78\x1e\x6f\x35\x32\x9c\x81\x5d\x2a\x12\xfe\x75\xb3\xf0\xca\x8c\x7d\xa3\x25\xd0\x99\x86\x93\xd9\xac\x8f\x67\x8f\x6a\x25\x59\x61\x66\xcc\xee\x97\x32\x44\x98\x64\x7b\x9c\x4e\x39\x81\x48\x85\x98\x66\xcf\x38\x82\x37\x7f\xed\x10\x78\xde\xbe\x47\x8c\xe0\x8c\x3a\xae\x45\x9a\xc1\x64\x4e\x8a\x67\x28\xb4\xa9\xcf\xca\x08\x33\x30\xa1\xb6\x3b\x70\x6d\x15\xfa\x2a\xa2\x09\x7e\x93\xc0\xd7\xc4\x43\xd6\xf5\xd9\x81\x6a\xba\x60\x99\x98\xe2\x9a\xac\x26\xee\x12\x24\x78\xb8\x55\xa0\xb4\x74\xcc\xd2\xe2\xfd\xeb\xa4\x45\x59\x4a\x0b\xc5\x85\x47\xd6\x60\x42\x46\xb3\xc0\xfc\xb5\xa3\x58\x24\x30\x39\x83\x50\x34\x4e\xf5\xf8\x3c\x4a\x50\xbe\xdb\x06\xcf\x78\x78\x2a\x0f\x06\x09\xa2\x57\x19\xb0\x06\xe7\xc2\x50\x67\x09\x5a\x3c\xaa\x21\x22\x7d\x2b\x42\x54\x64\xee\x7d\x2f\x6a\xf2\x6b\x6c\xc5\xc4\xad\xf1\x8a\xd8\xba\x43\x1a\xd7\xb7\xb6\x8b\xae\x0a\x56\x95\x77\x73\x27\x2e\x79\x41\xea\xa6\x3d\xd8\x05\x6f\x74\xf2\x7c\x8f\x6c\xe9\xc8\xba\x3c\x89\x92\xe2\x3d\x91\x51\x53\x81\x68\x99\x54\x93\x04\xf5\x6a\xe7\x7a\xe1\x94\xa2\xeb\xe1\xea\x5d\xdc\x5a\xdc\xc5\xba\xb1\x8b\xe2\x3d\x3d\x34\x5c\x99\xb4\x2e\x62\xb1\x61\x4e\xb1\x0d\xbd\x58\x3f\xa7\xd8\x26\x16\x53\xf9\x52\x08\x87\xfd\x22\xf8\x72\x43\x4e\xe6\x32\xfb\x75\x98\xfc\xda\x67\xbf\x96\x0a\x92\x49\x60\x26\x8d\xe3\x30\x5a\x25\xec\x21\xb1\x9b\x9a\x19\x27\x58\x0b\x04\xd5\x60\xb5\x8c\x43\xdc\x13\x57\x99\xd1\xa8\x8b\xdc\x50\x38\x21\x8c\xab\xbf\x91\x8d\xaa\x1e\xa4\xac\xd8\x79\xe1\xa8\xe5\x51\x8d\x45\x6e\x2a\x29\x25\x00\x0f\x86\x21\xe4\x99\x7d\x31\xa1\x53\xe0\x39\xe9\xda\xfd\xc0\x4b\x62\x29\xf3\x28\xd4\x05\x85\x43\xcb\xf5\xe3\x34\x89\x01\xfb\x70\x29\x8d\x0d\x99\xe4\x37\xb6\x3c\xd7\x4e\x13\x71\xe1\xd3\xa5\x54\x64\xaa\xe0\x8c\xf7\x9f\x20\x34\x15\x5f\x2c\xa5\xb5\x25\xf9\xe2\xb9\xfe\x6d\x86\x31\xec\xc3\xa5\x34\x5e\x26\xa9\x8b\x01\xa6\x37\x33\x2c\xfc\x78\x29\x9d\x1d\x85\x0e\xa6\x00\x35\x50\xc2\x2f\x96\xd2\x7a\x25\x68\x35\xc3\x00\x52\x48\x05\xd3\xcc\x9c\x45\x71\xe8\xde\x52\xb1\x57\x2f\x9d\xff\x7a\x22\x8c\x31\x01\x91\xf9\x1b\x9c\xf0\x03\x93\x3c\x70\x91\xe2\x21\xb2\x66\x59\xd1\xbe\x34\x34\xb8\xa1\x36\xe8\x2e\x96\x98\x65\xb4\x36\x55\x5a\x52\x3c\x32\x2b\x41\x15\x9c\x65\x24\xb7\x34\x7e\x2c\x12\x9f\x65\x94\xa4\x00\x75\x63\x6a\x39\xf3\x7c\xf9\x59\x46\x48\x4a\xd0\xf5\x72\xf9\x59\x46\xeb\x95\x3a\x3c\x7b\x75\x29\xd2\xe9\x3e\x4b\xe3\x0d\xe0\x7e\xb7\x55\xd5\x42\xae\x38\x4c\xdb\x20\x08\xe9\x7a\x3a\xb0\x01\xf3\x98\xf1\xd4\x9b\x23\xcb\x1b\x30\x65\xa2\xb6\xad\xc7\x0a\x26\xa4\x44\x05\xa6\x38\xd4\xb7\x52\xc5\x20\xe5\x0b\xcf\x9a\xe7\xde\x51\x12\x81\x6e\x3b\xe7\x85\x5c\x9f\x0c\xa6\xe0\xc5\x2a\x88\x7d\x9f\x5a\x9e\x3b\x70\xa9\x43\xd8\x61\x15\x96\xc9\xb0\x4c\xfa\x25\x70\xd8\xab\xa4\x76\xeb\xdf\xc8\xc6\x8e\xea\x38\xc6\x45\x5d\x86\x95\x74\x31\x24\x1b\xdc\xfb\xc9\x1a\xd9\xa8\xca\xe0\x2c\xc3\x36\xa9\x51\x62\x5b\xae\x1b\x46\x31\xb1\x47\xd4\xbe\x45\x2b\x79\x38\xa5\xbc\xd3\x80\x71\xc1\xb1\xe6\xf9\x0f\xb8\xc9\x09\x3d\x82\xec\xa5\xd5\x8a\x64\x39\x02\xfe\x83\x2c\xf8\x1c\x53\x40\xea\x28\x47\xf9\xc3\x80\x2f\xba\x9d\xe6\xd7\xce\xd1\xfe\xee\x82\x1a\x7c\x63\x81\x36\x34\x58\x21\x97\xbc\xd8\x23\x5b\x0a\x96\x4f\x3a\xe1\x21\xee\x5f\x72\xd0\x72\x36\x95\x02\x60\xf8\xc5\x21\xa2\x5a\xa7\xf6\x04\xe2\x3d\x18\x3f\x61\x58\x9a\x3d\x31\x0b\x72\x04\xbd\xa9\xeb\x1f\x41\xfd\xdf\xc5\x58\x17\xc4\x18\xe2\x4f\x2a\xd2\x70\x09\x03\x6d\x15\xc5\x28\x5f\x14\x5e\xad\x26\x54\x72\x36\x0e\x5a\x87\x8d\xab\xd3\x5e\x9e\x74\xfd\x46\x36\x0d\x62\x9a\xac\xb9\x94\x98\x6e\x2e\x12\xd3\xcd\x7f\x37\x31\x35\x0d\x63\xb1\x98\x2a\x9b\xcd\xff\x89\xa9\x91\x81\x76\x16\x6c\x2b\xc3\x81\x15\xb8\x2f\xc5\x52\x90\x32\x9d\x0b\xbf\xef\x91\x57\x55\xf2\xb7\xbf\x81\xf0\xfd\xb6\x47\x5e\xbd\x4c\x66\x79\xc9\x7e\xfa\xaa\x4a\x5e\x90\x9d\xdd\x3c\xb2\xb5\xaa\x4a\xb7\x56\xcd\x10\xce\x5d\x01\xac\x26\x50\x16\x1c\x80\xae\xf3\xa3\x8f\xc6\x07\xa8\x90\x47\xd9\xf7\x8c\x74\x44\x61\xc9\xec\xa7\x95\xa9\x97\x0e\x41\x4b\xbf\x7c\xd3\x18\x1f\x43\xd7\x22\x6e\x98\x21\x02\xa4\x04\xdf\x4b\x1f\xf9\x66\xb8\x04\x28\x83\xdb\xcb\xd9\x05\x66\x1a\x89\x0c\xe2\xc5\x83\x6e\x27\xc7\x38\xb4\x45\xd6\xf4\xc2\x15\xd2\xa1\xd1\xd4\x8b\x49\xf1\xe2\xa4\x44\xdc\x08\x72\x58\x56\x09\x38\xcc\x6f\x93\x35\x41\x32\x6b\x8c\xbd\xec\x94\xc8\xa7\x30\x98\xed\xda\xf0\x24\xf4\x45\x12\xe2\x34\x42\xb2\x4b\x6c\xd2\x31\x8c\xc9\x7f\xf4\x63\x3d\x37\x6e\x6e\xad\xfc\xc8\x50\xf5\x0b\xab\xd9\x4b\xb7\xd5\x1b\x61\x18\xcc\x4c\xb7\xd7\xc4\xde\x5d\x62\x97\x76\x2d\x26\x3e\xbf\x7c\xf2\x52\x26\xaa\x2c\xb7\xec\xc3\x75\x3b\x98\xa9\xb1\xe2\xec\xf7\x8e\xe1\xb5\xe4\x80\x3f\xeb\xf3\x24\xe0\xa1\x0a\xd4\xde\xa7\x84\xfa\x90\xd3\x92\xdc\xb9\x16\x91\x82\xf4\x48\xd1\xf3\xff\x5c\xd1\xdb\x26\x8f\x11\x27\x78\x01\xe8\xb6\xc9\x1b\x45\x90\x48\x6d\x2b\x21\x71\x89\xb6\x4c\xc8\x9f\x3e\x8d\x92\xe2\x35\x26\xbd\xa4\x18\x32\x4d\xbd\x44\x82\xf0\x99\xc0\x0c\x16\x5f\xd7\xd8\xd7\x6c\xf4\x58\x04\x0c\xab\x75\x85\xf0\xd5\xc1\x49\x86\x68\x1d\x89\x22\xfa\x0d\x75\x18\x5d\xf9\x0d\xd0\xe3\x9f\x23\x31\x65\xdd\x9c\x88\xb5\x9f\xa5\xf8\x92\xec\x92\x1a\xd9\x25\x55\xf8\xe7\x93\xe2\x79\x10\xc6\x23\xd2\x18\xd3\xd0\xb5\x2d\x5f\x41\x3b\x86\x64\x06\x56\x14\x43\x3a\x24\x19\xcc\x14\xa1\x9d\x8e\xc4\x01\xb9\xee\x6d\xb2\x0d\x94\x4c\x27\x98\x2c\xd6\xa1\x7e\x10\xd3\x64\xe3\x81\x91\x4a\x72\xac\xc4\xe9\x49\xb5\x06\x2f\x5c\xd4\x66\x9a\x36\x66\x65\x21\x5b\x1b\x49\xcf\x4f\x03\x1b\xb2\x06\xa4\x3b\xbe\x45\x36\x88\x2f\xbf\xb5\xee\x2c\xd7\x63\xa2\x56\x66\x8b\x0c\xfd\x47\xa8\xb3\xe6\xfa\x65\xd9\x9c\x64\xd5\x16\x0c\xf3\x3c\x10\x95\xcb\x98\x9d\xd2\x28\x7c\x6f\x9e\xbc\x49\xfc\x3f\xb5\xa2\x97\x6d\x4f\xb5\xd5\xb7\xbc\x4f\x6f\x6a\xb5\x55\x77\xbd\xfa\x63\xc8\xd6\x57\x27\xbb\xfd\x98\xde\xd6\x77\x6b\xbb\xd5\xdd\x95\x77\xea\xad\x8d\x47\x10\xdf\x92\x64\xb5\xb4\x89\xfc\x99\x58\x04\xa1\xa1\xb3\x6b\x1c\x10\x87\xda\xae\x03\x68\xe9\x00\x34\x19\x07\x64\xc4\xfe\x86\x27\x93\x00\xb7\x99\x24\xa5\x3d\x77\xa4\x9a\x46\xac\xe4\x7c\x92\x9c\xe8\xd7\x10\xab\x8c\x9e\x4f\xd2\x59\x4a\x2e\x57\xc5\x17\xea\x9c\xde\xd1\x30\xd3\x84\xe2\xf2\xf4\x96\x7d\xe5\xa2\xdb\x98\xee\x1c\x07\x3a\x84\x88\x28\xe5\x9b\xbc\xe2\xef\xd4\x00\xbc\x73\x23\xe9\x67\x98\x13\xd1\x0f\xf4\x70\xc8\xa1\x7b\x47\xfd\x32\x67\x85\x4c\x62\xc8\xed\x98\x65\x7e\xa8\xb8\x11\x42\x9f\x3f\xda\x0b\xe3\xf7\xc9\x12\x37\x8c\x60\x10\x4b\xec\x4e\xee\x90\x06\xaf\x74\x3d\xb3\x4b\xcb\xf3\xc9\xe3\x21\xcd\xa2\x60\x10\x77\x0c\xb0\x66\x1d\xc4\x61\x46\x2c\x76\x7c\xaf\x82\x0c\x4c\x67\xab\x25\xb1\x4c\x77\xed\x3f\x73\x86\x9a\xda\xd7\xf2\x8a\xa9\xfa\x63\x16\x18\x1e\x81\x0e\x4f\x9f\xd6\xb3\x5f\x96\x34\x79\x1a\x58\x0e\x39\x6d\x1d\x44\xd0\xcc\xe9\x2a\xad\x10\x82\x21\xed\x7d\xaa\x85\x35\x5b\x11\xb9\x73\xc3\x78\x6a\x79\x48\x2f\xb8\xa3\xa1\x67\xcd\x01\x7c\xe2\x57\x0d\xa7\x95\x49\xb7\xe5\xcf\x21\x49\xb3\x15\x66\x53\xdd\xb1\x7e\x7f\x5f\x81\x53\x1c\x2d\x21\x9e\x7b\x94\x33\xe9\x8a\x29\x20\xd7\xbd\x2d\x0e\x66\x9b\x26\x4a\xbe\xaf\x04\x02\xb0\xd8\xdd\x5b\x98\xff\x15\x97\xef\x1c\xbf\xed\xa7\x84\x98\xe7\xd2\x00\x1b\x78\x31\x79\x2e\x5e\xd5\x05\xfc\x2f\xe8\x84\xd1\x25\x21\x1d\x53\xf0\x67\x05\xfb\x3f\x95\x1d\x9b\xff\xa3\x1d\x59\xc4\x92\x9c\xf3\xf6\x49\xf0\x0b\x4f\xe5\x46\xce\xe1\xfc\xe7\xf7\x21\xc3\x08\x13\x24\x86\x08\x90\x55\x57\x30\x06\xc8\x5a\xe1\xd0\xe4\x81\x02\x16\x68\x25\xa1\x7b\x18\xc4\x1c\x73\x3b\x79\xa1\xc6\x1d\xe0\x31\x29\xde\x60\x7f\x5c\x61\xa3\x41\x67\x70\x76\x00\x77\xe8\x10\x6e\x2c\x70\x4a\xed\x9b\x1d\x1c\xc2\xa7\x02\x8d\x88\xc0\x6e\x8c\x8e\xe9\x05\x13\x01\xb6\x56\xfd\x42\xde\xa4\xb0\xda\xaa\x5f\xca\xa4\x56\x2d\x91\xb5\x1a\x79\x2d\x1f\x8d\x93\xca\xfb\x68\x91\xe7\xf5\x6b\xd9\xfa\x35\x51\x9f\xa8\x04\x32\x33\x7b\xdd\xc3\xb1\xe3\xb8\x8b\xb2\x67\x65\xad\x9d\x45\xe1\x82\x32\x44\xae\x8a\x6f\xab\x06\xb0\xdd\x8c\xff\x05\x80\x92\x3d\xd2\x56\xf2\x26\x5c\x92\x25\x1a\x41\x9a\x14\xe7\x08\xd7\x27\x1d\x6a\xc7\x96\x3f\x9c\x7a\x56\xc8\x73\x04\x1e\xb4\x9a\xcd\x46\xa7\x51\x7a\x54\xdb\xff\xb9\xa4\x6d\x40\x2d\xe6\xb2\x5e\x64\x1a\x47\xa5\xfb\xb1\x5b\x32\x10\x8a\x9e\x8a\x5b\x0c\x2d\xfc\x39\x7c\x8c\x16\x8f\x05\x21\x28\xc9\xd8\xf2\xdd\x89\xf4\x0c\x87\x47\x1d\x27\x66\x75\xca\x22\x44\x95\xfd\x97\xde\xc7\xd4\x8f\xdc\xc0\x8f\x1e\xb9\x2a\xe3\x65\x6e\x46\xf8\xe8\xb6\xc2\x6c\x76\xd8\x6c\x3e\xae\xf1\xff\x5c\xd2\x7a\x77\xf5\x58\x8f\x47\x1a\x5d\x56\x68\x98\x6d\xa0\xae\x3f\x5c\xeb\x33\x16\xdf\xb1\x4b\x29\xdf\xf9\xde\xef\x5f\xab\xaa\xcf\xea\xad\x92\xa5\xcc\xc6\x65\x9a\x11\x60\x13\xb1\xe9\x4f\xc0\x62\xb3\xe1\x8d\xad\x70\xe8\xfa\xd9\xd1\x9d\x3d\x79\x74\xd3\x25\xfb\x42\x30\x99\xe7\xec\x03\x9d\x46\x99\x1b\x57\x10\x8d\xfb\xb1\x62\x74\xb7\x2c\x47\x29\xd8\xf0\x0e\x5d\x8f\x1d\x69\xbc\x0b\x5c\x93\x6d\x1d\x76\x1e\xd9\xda\xe7\xc2\x6c\xd9\x34\xe2\x8d\x47\x26\xfa\xbc\x4c\x6c\x49\xb0\x50\x5a\xef\x7a\x97\x8d\xce\x13\x2f\x40\xf7\xcb\x24\x17\x4e\x70\xb9\x5e\xc5\x76\xdc\x62\x1b\x04\xbf\xf5\x35\x9a\xad\x47\x8e\xf9\xd7\x25\xad\x1e\xba\x00\x93\x6d\x98\xdb\xc3\x4e\xa3\x54\xd6\x81\xea\x1f\x37\xb7\x4b\x5a\xbe\x8b\xbf\xc6\xae\x47\x01\x94\xa7\x68\x25\x46\x87\xf3\xc6\xc5\xc8\xb2\x6f\xa1\xcd\x2b\xff\x9c\xc6\x6f\x2d\xfb\x96\x9d\x04\xa4\x18\x51\x4a\x46\x71\x3c\x89\x5e\xaf\xaf\xfb\x34\x66\xc5\x66\xee\xad\x5b\xb1\x83\xf1\x3a\xfb\x65\xfd\x5a\xa1\x39\x10\x7b\x8f\xeb\x0f\x02\x09\x87\xac\x5f\xc6\x06\x56\x88\x7b\x31\x5c\xb2\x48\x11\x42\x14\x89\x45\x86\xde\x7c\x32\x82\x1e\xa0\xc3\x3b\xfc\x6d\x5c\xcc\x0f\x4f\x0f\xac\x13\x71\x75\x89\xc7\xd6\xe2\xbb\x55\xc6\xb3\x0a\x6a\x83\xd7\x85\xda\xeb\x22\xcf\x07\x89\x82\x8b\xc9\x92\xf1\x1b\x44\x89\x2b\x55\x96\x7b\xe5\xd5\xd3\xf9\xf6\x8d\x2f\x3d\x19\xb0\x5e\xc6\xfb\x03\x04\x59\x4a\x0f\x00\xb1\x67\x16\x84\xf3\xae\xaf\x43\x46\x62\x3e\x0a\x93\x1f\xf6\x92\x16\x85\x82\xa6\x07\x41\xe3\x06\x22\xac\xb1\x68\xba\xc5\x1c\xd7\xad\x66\xeb\xb4\xf3\xb4\x95\xfc\x99\x4f\xfb\x92\x48\x35\xe3\xb2\x6a\x89\x65\x55\x7d\xe2\xb2\x5a\xd2\x34\xdf\x46\xc4\x88\x5b\x77\x10\x81\x0b\xbb\xc7\x69\xeb\xa9\xc3\xfd\xe7\x6a\xfb\xa6\x68\x34\x79\xb6\x00\x83\xd1\xe9\xe5\x53\xdb\xfd\x63\x71\xbb\x3c\x3c\x1b\xed\xce\x38\xc8\x76\xf3\xa7\x36\xad\xcf\x1c\x81\x7d\xc1\xa3\x0e\xc4\x43\x5f\x92\x48\x6b\xf6\xe0\x67\x9b\xfd\x6f\x73\xb3\x6c\x75\x5f\x5c\x75\x9a\x2d\x72\xd8\x3e\x6d\xbd\xc6\x02\xeb\xdf\xa2\x75\xf8\xe5\xeb\x5d\xfc\x55\xde\xf8\xbe\x8e\xad\x49\xe5\x5b\xc4\xaa\xb0\x03\x3b\x44\x2c\x78\xbb\x44\xea\xd5\x5a\x1d\x9e\x48\x9a\xa3\x30\x18\xbb\xd3\x31\xb9\xe8\x92\xc6\x34\x1e\x05\x61\x54\x81\xf4\x41\x50\x36\x02\xf3\x62\x78\xc7\xe6\x62\x7d\x9d\x5c\x45\x14\x95\x35\x37\x22\x3c\x1d\x83\xcd\x4d\xab\xc3\xe0\x8e\x86\x3e\xee\xd6\x16\xd9\xef\x1e\xac\xa1\x7d\xc9\x73\x6d\xea\x47\x14\x21\xc4\x6c\xcb\x27\x7d\xca\x28\x0d\xc0\x3d\x81\xe3\x70\x9e\xb6\x9b\xad\xf3\x6e\x8b\x0c\x5c\x8f\x56\x9e\x3d\x2b\x4c\x23\x84\x6a\xb5\xe3\xc2\xee\xb3\x67\x9e\xdb\xaf\x84\xb1\x43\x27\xc5\x02\x44\x39\x02\xcc\x78\xc6\x7b\x7b\x6c\x4d\x48\xd0\xff\x46\x6d\x99\x70\xe2\xcc\x9a\x4c\xd8\xaa\x06\x25\x9b\xa3\xed\x39\x3c\xb8\x17\xf0\x15\x24\x97\xca\x78\xce\x38\x74\x42\x7d\x88\xa6\x13\x3e\xda\xf0\xcc\x03\x56\xea\x9e\x9e\x1e\x46\xb4\x71\xd4\x61\x0d\x63\x6e\x25\x5f\x13\x63\x89\xe2\x29\x8a\xfe\x1d\xb6\x5f\xf2\x4f\xc4\xdc\xfb\x41\x1c\x1a\xd9\xa1\x3b\xc1\xb0\x23\x32\x9a\x8e\x2d\x1f\x9e\x9c\x60\x6f\x52\xbf\x14\x0c\x67\x53\xa9\x12\xba\x80\xd1\xfe\x20\x43\x8f\x8d\x9d\xcd\xe5\xd1\x29\x2b\x94\x0c\xda\xf5\x27\x53\x08\xd1\x0a\xa6\x31\xfb\x2d\x41\xc1\x4a\xcb\x9b\x92\x7f\x48\x3d\xb9\x94\x6e\x94\xb1\x1d\x0e\x34\xc8\xb8\x4f\xd8\xc6\x32\x0a\xc2\x58\xeb\x2d\x9a\xf0\xdd\x48\xe7\x57\x99\xa3\xc6\xc1\xd7\x0e\xed\x4f\x87\x43\x0e\x4c\xcf\xfa\x21\x52\xff\x2a\x64\xf6\x54\xa2\x1c\xa7\x96\xb7\xc9\x46\x2a\xbd\xcb\xe3\x80\xd8\x10\xac\x13\x88\xfc\x21\xc8\x29\x26\x92\xae\x1f\xc5\x96\xe7\x51\x90\x33\x48\x33\xa1\xb6\x06\x79\x24\xa4\x67\xfb\xfa\xba\x78\x06\xb8\xa5\x74\x42\x2c\x9f\x4c\x7d\xfe\x4a\xec\x10\x09\xca\x28\x42\xd0\x71\x2a\x24\x6a\xb6\xe5\x79\xc1\x8c\x29\x2b\x10\x0e\x67\xf9\x14\x32\x9c\x44\x54\x60\xab\xf3\x04\xd7\x98\x4a\xd6\x83\xc7\x41\xf0\x62\x84\x7e\x00\x5b\xf7\xad\x88\x7e\x25\x7b\xc8\x63\xd1\xa1\xf3\x60\x46\xa2\xb9\x6f\x43\x6d\x78\x92\x90\xb5\x99\x82\xe2\x53\xea\xa0\xb3\x27\xde\x13\xe6\xbe\xfd\x35\x75\x33\x68\x8b\x4a\x23\xea\x4d\x68\x08\xdc\x0f\x29\x2b\xc9\x64\x44\x27\x59\x51\x93\x9c\xcb\x5c\x2c\x5c\x9e\x22\x1e\xc7\x90\x16\x66\x94\xc1\x37\x3f\x48\x30\x89\xbf\xa2\x20\x36\x1c\x07\xf6\x79\xcb\x4b\x2a\x33\x11\x44\xab\x36\x2c\xad\x60\xa2\xc0\x33\x81\x4b\x10\x3b\x19\x79\xe9\x05\xa2\x59\x99\x84\x41\x1c\xc4\xf3\x09\xc5\xd1\xaa\xa2\x2a\x3b\x20\xa1\x30\xdb\x03\x0e\x48\x88\x8b\x13\x16\x2a\xcf\x8f\x89\x93\x83\x79\xb1\x19\x37\xd9\x34\x09\x54\xe3\xe7\xe9\x59\xf9\xdb\xdf\xc8\xf3\x14\xf5\xac\x08\x11\xc0\xb6\x83\x63\x20\xa9\xff\xd5\xf4\x79\x48\xbf\x1a\x9d\xf2\xc1\x63\x14\x3b\x15\x6b\x6b\xb9\x42\x78\xca\xcf\x90\xe2\xc3\x13\xb1\x24\x80\x23\x96\xe0\xa3\xb2\x43\x0a\xa2\x81\xc4\x7c\x3a\xe3\x1b\x22\x3c\xcd\x05\x9e\xc3\xd1\xdb\xc3\x21\x75\x40\x82\x09\x4a\xef\xcc\x9a\xa3\xb2\xeb\x03\x14\x8d\xaf\x09\xaf\xe0\x4a\xc2\x80\x64\xf8\x38\x46\xb2\x47\x50\x0a\x2a\x56\x14\xb9\x43\xbf\xf8\xcf\x1f\xe5\xb4\x64\x97\x13\xf9\x00\x9b\x17\x53\xf8\x0c\x74\x52\xb5\x24\x46\xe7\xd0\x63\x9b\x49\x94\xb4\x74\x4b\xe7\xdc\x39\x09\xeb\x96\x2a\x63\x6b\x52\x2c\xde\xd2\x79\x89\xec\xfd\xce\xd5\xd4\xc2\xe7\xcf\xf7\x05\xf2\x82\x87\xc6\x3f\x4c\x2c\x87\x15\x80\x5c\x6b\xcd\xc0\xa1\x8d\xb8\x58\x2d\x55\xe2\x80\xbf\x81\xd6\xb6\x4b\x0a\x7c\x17\x4c\x13\x9b\x5c\x3a\x23\x1d\x3a\x6c\xdd\x4f\x8a\x05\x78\x96\xe6\x5d\xe1\x50\xd6\x08\xce\xff\xa5\x50\x26\x85\x21\xcf\x7e\x91\x08\x46\x31\x8a\x43\xd6\x1d\x76\x94\x55\x42\x3a\xf1\x2c\x9b\x16\x13\xea\x65\xcc\xbe\xb9\xf7\xbb\xca\x84\x4f\xf6\xe8\x8b\x09\x22\x83\x2d\x2c\xb1\x97\xc8\x7d\x44\x2e\xaf\xa2\xe3\x46\xb6\x85\xf0\xb2\xe1\xd4\x8f\xdd\x31\x25\xd3\x89\x63\xc5\x34\xb1\x1f\x09\xcf\x12\xc4\xc3\xb0\xfc\x39\xec\x9b\xb8\x63\xd1\xf8\xe2\x8e\x86\xa1\xeb\xd0\x28\x01\xae\x45\x92\x59\x25\xcc\xbc\x1e\x51\x62\x32\x16\x0c\x91\xae\x96\x8c\xac\x3b\xea\x17\x62\xd2\xa7\xd4\x5f\x2c\xc5\xb0\x66\x0b\xf0\x56\x3b\xe2\x78\xb9\x40\x5c\x48\xa2\x2a\x32\xcf\xf7\x32\x42\xa3\xc8\xa7\x69\x47\x3c\x63\xe2\x2f\x1a\x16\xb1\x59\xb0\x41\x27\x27\x2c\x8f\x07\xe4\xc7\x27\x63\x3d\xdb\x6a\x31\xaf\xfe\x14\x33\x66\xe1\x1a\xa5\xf7\x6e\x04\x17\x07\x39\x13\x56\x44\x5c\x70\xe6\xe2\xcb\x6c\xe6\xc6\x23\xf1\x8a\x27\x4b\x8b\xdd\x8e\x14\x67\x80\xab\x6a\x45\x7c\xe9\x62\xf9\x52\x85\x90\xee\xb4\x8f\x78\xf3\x71\x32\x4d\xac\x8b\x10\xca\xee\x02\x3e\x6e\x18\xcc\x88\xc5\xd6\xee\x24\xa4\x00\xf8\x0a\x5b\x2c\x9b\x44\x36\xa1\xac\xa1\xc8\xbc\x5b\xab\x1a\x43\x32\x03\x62\x8f\x06\x02\x99\x81\xad\xb8\x29\xab\x82\xa4\xc8\x82\xb2\x73\x2a\x13\x23\xb6\x03\x4d\xd8\x21\x8a\xca\x22\x76\x30\x99\xab\x8a\x8f\x38\x18\x60\x34\x3c\xd6\xea\x9f\xc6\xee\xfc\x20\x0d\x58\xb5\x66\xdd\x06\x54\x82\x2c\xba\x72\xce\x78\x6c\x2f\xc0\xa0\x09\x5d\xa8\x93\xe4\x8d\xb9\x0d\x15\xd3\x0a\x4d\x66\x4b\x94\xe8\xc2\x2b\xc9\x33\x93\x4c\x95\xbb\xda\xe6\xc7\x28\x71\x9e\x80\xf6\xf0\x43\x0b\xe2\xf6\x40\x65\xb7\x55\x45\x79\xd1\x74\x46\x39\x66\x48\x56\xed\xab\x16\x31\xae\xe5\xac\xe4\x2e\xa3\xec\xf7\x7f\xb1\x3e\xc5\x3a\x2a\xd4\xa9\xa4\xe7\xa9\x04\x59\xc1\x2d\x99\x4e\x88\x25\xd7\x0e\x34\x30\x74\xa3\x98\x86\xfc\x70\x4c\x2d\x9d\x2e\xd7\xda\x21\x93\x15\x5b\x39\xf0\x0b\x37\x5c\xf3\xe5\xe3\x05\xc1\xed\x94\xeb\xe8\x4b\x64\xb4\x87\xb5\xc0\x99\xcb\x8d\x0b\x11\xee\x8b\x49\x17\x16\x4d\x90\x22\xa0\x98\x29\x54\x9d\x31\xd6\xad\xc4\xca\x94\x8c\xbf\x32\xb2\xa2\x8b\x99\x7f\x19\x06\x13\x1a\xc6\x73\x2c\xa7\x9a\x9a\x14\x5e\x7d\x62\x5f\x7e\xd1\xce\x69\x5e\x46\x66\x1f\x4d\xad\x5a\xec\x36\xb1\x60\x41\x28\xdc\x6b\xf8\xf3\x7c\x16\x03\x78\x12\x2c\x70\xe0\xa5\xf1\xe0\x79\xcc\x14\x68\x97\xa3\x1c\xbe\x8b\x7d\x8f\xcf\x98\xe8\xd0\x8a\xec\xb6\x1c\xc7\xc0\xee\x32\x91\xbb\x9b\xce\x73\xb2\xb7\xb7\x97\x92\x49\xe5\x74\x12\x0b\x2a\x47\x79\x4a\xaa\xec\x6a\x4b\x10\x27\x47\xe4\x3f\xcd\x28\x0a\xa0\x3e\xc2\xa2\xb7\x7c\x07\x60\x0c\xdc\x38\xe2\xdc\x4e\xeb\x0f\x52\xed\x5f\x61\xe8\x39\xe7\x7b\x6a\xc0\x6c\xff\x5a\xbe\x41\x18\x98\xb0\xca\xae\xb2\xea\x29\x0e\xc3\xcf\x3b\xfa\x80\x13\x0d\xc0\xb6\x0a\x06\x39\x87\x04\x6a\xcd\x0b\x37\xc9\x15\x0e\x3d\xd6\xd2\x5f\x2a\x15\x6a\x20\x2f\x2c\x05\x17\xf6\xff\x48\x75\xe5\x54\x72\x0c\xf3\xac\xc2\xb0\xf0\x77\xa5\xb5\x77\x41\x5e\x61\xb3\xcc\xe1\xa1\x98\x44\xe5\xa6\x4b\xe9\xc7\x14\xfb\x02\x3f\x17\x59\x73\x93\x3d\x85\xd7\xc5\x45\xc5\x57\x52\xfe\x81\x5a\x00\xd7\x41\xa6\x82\xcb\x35\x27\x28\x9b\x7c\x16\x13\x98\x38\x3e\xd5\x49\x56\x95\xd5\x8f\x42\x55\xfe\xc8\x1e\xf9\xa7\xd2\x02\x22\x16\x1d\xa5\x51\x97\xe4\x3e\x34\x8a\xe3\xc9\xeb\xf5\xf5\xbb\xb8\x56\xad\x56\x7c\x1a\xaf\x3b\x81\x1d\xad\xdf\xc5\xf5\x7a\x75\x2d\x1c\xaf\x83\x8c\xd6\xd7\x36\x2b\xa3\x78\xec\xad\xd8\x03\x91\xf6\x30\x9f\x47\xc0\xd6\x02\x87\x82\x2a\x94\xe5\x4c\x16\x3e\xdf\x6f\x57\x0b\xaf\x0b\x9f\xa7\xf5\x2d\x7b\xbb\x50\x86\x93\xf6\xbf\xc8\xda\xef\xc4\x71\xad\x71\xe0\x3b\x4a\xb9\x1a\x2f\xf7\xaa\xce\xcb\x59\xac\xdc\x30\xa4\xf3\xb5\x7e\x70\xaf\x14\xac\x63\xc1\xcd\xea\x2b\x5e\xb0\xcf\x0a\x8e\xd6\x63\xa5\xcc\x86\x28\x63\xf3\x32\x36\x2b\x33\x58\x1f\x28\x65\x36\x45\x19\x87\x97\x71\x58\x19\x7b\x3d\x54\xca\x6c\x89\x32\x16\x2f\x43\x59\x19\x4f\xa3\xb3\x0d\x65\xaa\xd5\x7e\x95\x97\x19\xc0\x00\xe9\x30\xa4\x54\x29\xf6\x52\x14\xab\xf1\x62\x43\x56\xec\xc5\xfa\x9a\x52\x66\x87\x37\x57\xdf\xe4\x65\x46\xac\x8c\xbf\xee\x29\x65\x5e\x89\x2e\xf5\x79\x19\x97\x95\xb9\xd3\x86\x6f\x71\x5e\xd6\x76\x78\x99\x6f\xac\x0c\x46\x7d\xae\x81\x7d\x55\x29\xdc\x17\x85\x45\xff\x6f\x59\xe1\x38\x98\x64\x4a\xda\xbc\xa4\xe4\xaa\x27\x4a\x7a\x74\xa0\x16\x74\x04\x49\x31\x8e\xb1\xd2\x7e\xaa\x2c\xe5\x65\x37\x04\x51\x1f\x58\xec\xfa\x74\x0d\xe2\x64\x95\xa2\x03\x2c\xba\xd1\x17\xb3\x11\xb0\xa2\x91\x6d\xf9\xb5\xa4\xd4\xcb\xaa\x28\x25\x18\x34\x11\xa5\x36\x94\x52\x42\xdc\xaa\x62\xd4\xdf\x45\xa9\x2d\xa5\x54\x5d\xd0\x12\x9d\x0b\x45\xa9\x97\x4a\xa9\x0d\x51\x4a\x48\x52\x24\x4a\xbd\x52\x4a\x6d\x0a\xa6\x08\x5a\x31\x0c\x94\x0e\xe2\xb5\x58\x95\x94\x97\x5c\xe8\xb6\xa4\x14\x4c\x59\x41\x98\x8c\x54\xc9\x6d\xc1\x3b\x51\xf2\x4e\xe1\xb3\x5e\xf4\xa5\x20\x2a\x5a\x9f\x89\xb9\xd3\xcb\xed\x08\xbe\x88\x65\x78\x0f\xe2\xc5\x41\xa0\xd6\x30\xa7\x94\x2c\xcd\x85\xb1\xbe\x2d\x3a\x30\xc7\x31\x45\xd1\x1a\xfd\x3e\xb5\x14\xb9\x7d\x69\x89\xa2\x5b\xbc\xe8\x03\x5f\xdf\x56\x4c\xc3\x4c\x69\x14\xca\xea\x86\x2d\xa6\xe7\x9f\xac\xf4\xc4\x55\x8a\xd8\x82\xa0\x28\xf2\x07\x2c\x96\x20\xce\x10\x73\xf8\xd2\xb3\x36\x78\xc9\x1f\xc0\xa6\xd0\x8d\xdd\x68\xb4\x36\x09\xa6\xea\x46\xf4\x92\x8a\x85\xfa\x92\x97\xfe\x6f\x58\xcf\x01\x0a\xed\x0f\xe5\x11\x60\x1f\x29\x3c\x79\x17\xde\x7a\xdc\x2e\xdc\x58\x69\x17\xe6\xc3\xd2\x77\xe1\xfa\x46\xe1\x35\xd1\x79\xf0\x1f\x66\x1e\xa8\xe3\xbb\xea\x92\x46\xb7\xd9\x6e\xe3\x8d\xc1\x0f\x84\xc6\xb3\xea\xd1\x25\xb2\x3b\x2c\xeb\xf2\x34\x2a\x94\x31\x5e\x53\x79\xda\x9a\xc6\xf6\xd3\x39\xbb\xfd\x38\xce\x6e\xae\xd4\x4d\x87\x75\xe9\x29\x7c\x4d\xca\x6f\x56\x45\xf9\x3e\xe5\xe5\xff\xce\xca\x6f\xac\x6f\x2a\xa5\xb6\xfa\xbc\x54\x6d\x43\xac\xc2\x4f\xac\x54\xc1\xfd\x56\x20\x9e\x3b\x04\xef\x25\x52\xc4\x28\x80\x61\x00\xc6\xb3\x78\x44\x18\xd9\xc1\xe0\x4d\x49\x21\x64\xcb\xe6\xc4\xd6\xf4\x99\x11\xaa\xad\xd7\x95\x42\x8e\x28\xf4\x52\xec\x0d\x5f\xd4\x35\x4f\xfa\x56\xf8\x4c\x5f\x9a\x7c\xc8\x3b\xea\xda\x8c\x67\x01\x5b\x24\x91\xbe\x42\xb1\xe4\xf6\xb6\xba\x44\x07\xfa\xd2\xe4\x1d\xb4\xd5\xb5\x59\x5b\xdf\xd4\x57\x24\x2f\xb4\xa9\x2e\x49\xcb\x9e\x72\xac\x02\x55\x68\x0f\x5d\xdf\xff\x99\x45\xf9\xf2\x71\xa2\xd3\x4c\x81\x6e\xe5\x97\xdc\x5a\x49\xc8\x06\xd8\x7d\x5d\xcc\xa4\x40\x54\xed\x4d\x4d\x20\x1a\x05\x32\x1d\x7b\xd6\x34\x36\xcd\xb9\xb3\xad\xce\x79\xe1\xc2\x50\x56\xb2\xdf\xde\x52\xa7\x9e\xd1\x0d\x31\x09\xa5\x28\x29\xe7\xc0\xb1\xd5\x39\x28\x4c\x25\x55\x5d\xe7\xc3\xc2\xf4\x95\xaa\xf4\x15\x68\x81\x4f\x9a\x49\x9c\xe8\xa6\x2a\x4e\x05\x2b\xdb\xdd\x44\xa0\x06\x9a\x40\x15\x02\x43\x59\x39\x34\xba\xa5\x4a\x16\xa3\xab\x0f\x2d\x11\xaf\x41\xde\xd0\x32\x32\x16\x52\xff\x27\x76\xa7\x9d\xc7\x89\x58\x67\x35\xc1\x81\x3e\xfd\x59\xdb\x13\xad\xaa\xdb\x13\x63\xda\x30\xb4\xee\xa8\x69\x93\x4a\x14\xdf\x4f\xa8\xa7\x68\x72\x23\xa7\x8c\xbe\xd4\xa4\xd1\x2e\x10\x9b\x3a\xae\xe7\x59\x26\x71\xb4\x5e\xaa\xe2\x18\x71\xd7\xf1\x68\x3e\xee\x07\x1e\x29\x3a\xc1\xb4\xef\x51\x12\x95\xcc\x72\xf4\x4a\x93\x23\x29\x73\x26\x31\x7a\xa5\x89\xd1\x54\x8c\xd2\x24\x45\x3b\x9a\x14\xd1\x6c\x51\x9a\xd9\x17\x41\x8c\x16\x8b\x50\xd3\xf2\x2d\xc7\xb5\xfc\x27\xcb\xd2\xab\xc7\xc9\xd2\xbb\x47\xc8\x12\xb1\x79\xe7\x74\xa1\x7a\x9a\x90\x50\xfd\x24\xb3\x0a\xc4\x76\x43\x7b\x3a\x1e\x78\xf4\xfe\xa7\xc5\x85\x5a\xda\xee\x45\x73\x88\xcb\x19\xa2\xe2\xf0\xfd\x07\x1e\xab\x5a\x79\xd3\x3e\x36\xd8\xd4\xf6\xb1\x20\xa7\xc2\xbf\x91\x10\x0e\xfa\xe9\xbd\x2c\xc5\x12\x55\x18\x8f\x68\x38\xfe\x09\x19\xac\x55\x1f\x27\x84\x27\xab\x99\x13\xa0\x53\x79\xb2\x27\x77\x88\xbf\xaf\xba\x43\xfc\xf5\x87\xa8\xa3\xe9\x4f\x85\x2b\xc3\xd1\xf8\xd7\x1f\x77\x03\x4d\x91\x4a\x1d\x62\x29\x21\x71\x06\xaa\x90\xd0\xe8\x81\xc6\xd9\x9d\x0a\xd0\xe5\x7e\x46\x3a\x6a\x8f\x93\x8e\x8f\x2b\x49\x87\x8b\xbd\xfa\xb3\xce\xbb\x9f\x11\xa7\xbf\xe0\xfc\x93\xdb\xc7\x97\x3c\xbd\x49\xd9\x9b\x74\x1d\x6b\x9a\xdd\x85\x15\xa1\xab\xa6\x85\x2e\xbd\x81\x24\x32\x57\x4f\xcb\xdc\x9f\xb1\x2d\x51\x5d\xc5\x72\xd5\xa2\xaa\xd0\x9d\x07\xe1\x8c\x0e\x5d\xcb\x5f\x3f\xb0\x7e\x4a\x9d\xaf\xd5\x1f\x27\x7d\xad\x95\xf5\xf9\xed\x95\xe4\xd4\x97\x03\x71\xac\xac\x62\x9f\x08\xa0\xdc\x93\xfe\x9e\xda\x93\x8c\x1b\xd8\xb6\xbe\x81\xb5\x92\x6b\xa1\x71\x0f\xdb\x49\xef\x61\x51\x1c\x06\xb7\xf4\x4f\xba\x08\xfc\x23\x77\xb7\x53\x2e\x02\xfa\x01\x6a\x2d\xde\x1a\xb7\x75\x29\xa5\xa6\xe1\x29\x92\xba\x93\x96\xd4\xf4\xf0\xfe\xd2\xcb\x40\x77\xf2\x93\x12\xba\xf1\x38\x09\xbd\x59\x49\xee\xa2\x89\x41\xdc\xfe\x35\xfb\xa3\x55\xd3\xa4\xf5\x79\x81\x00\x06\x63\x4c\x1d\xa3\xb0\xd6\x34\x61\x3d\x2f\x90\xd8\xf5\x1c\xa3\xac\xf6\x07\x9a\xac\xbe\x51\x08\x9b\xc4\xaa\xaf\x6d\x7e\xa9\x79\x4f\xa4\xa9\xa6\x49\x93\x9f\x69\x5f\x11\xa6\x97\x9a\x30\xa5\xb6\x74\x4d\x46\x66\xd4\xf9\x29\x19\x79\xe4\x83\xcd\xcb\x95\x77\xb1\xb7\xab\x49\x13\xf6\x3f\x77\xf3\x7a\xa5\x6d\x5e\xad\xec\x71\xf5\x6f\x69\xc1\x58\x69\xe3\xfa\xdf\x69\xc1\xe8\xce\xdc\x28\x7a\xba\x38\x3e\xd2\x72\xbd\xb7\xa2\x90\xb9\x51\x94\xb7\x61\x49\x2d\xe7\x3f\xf2\xb4\x9c\x27\xde\x4b\x5f\x69\xe2\x98\xbd\xa8\xfd\x3b\x5c\x49\x93\xf2\x83\x8c\xce\xf5\x55\xd7\xb9\xfe\x9c\xdb\xeb\xbf\xc1\xdd\x64\xa5\x0b\x2c\x84\x68\x50\x8c\x08\xa9\x58\x8e\x53\x2c\x60\x4c\x8a\x35\x75\xdc\x60\xbd\x4f\x3d\xaf\x50\x26\x05\xfc\x2b\x18\x0e\x77\xfb\x56\x44\xb7\x37\x0b\xe5\x67\x85\x5e\xdd\xf1\xaf\x66\x8d\x66\x43\xfe\x1c\x8c\xbe\xbf\xdf\x3a\x81\x5f\xcf\x0e\xef\x5a\xdf\x3e\xee\xbf\x1d\x1e\xd6\xfb\x1b\xc7\xae\xf5\xe1\x0c\x8b\x7c\x6c\xbe\x94\xc5\xdf\xda\xfb\xf8\x4b\x73\xb3\x40\x5e\x3c\x2b\x34\xae\x5e\xf9\x37\xb5\xb3\x86\xfa\xb3\x69\x79\xd3\xee\xb0\x05\xbf\xd3\xa8\xbd\xd1\x6a\x6e\xac\x67\x7e\x76\x6e\x0f\x9c\xf1\xab\xf9\xc7\xb1\xf7\xf0\xf6\x5d\xa3\xd1\x38\x1c\x4d\x80\xa0\x7d\x34\x9c\xf6\x36\x8e\xfd\xf6\xd1\xfd\xe4\xa3\x77\x73\x67\x8f\x8f\x27\xf6\x7c\xff\xb8\x7d\xd0\x9e\x9d\x1d\xdc\xce\xce\x1f\x1a\x5b\xd8\x4c\xeb\x50\x10\x38\xb9\x3a\x3e\xb8\x1e\xb6\x70\x58\x07\x87\x67\xed\xb3\xf7\x8d\xea\xf1\xfe\x35\xf6\xb0\xd1\x78\xd7\x68\xec\x0f\x8f\x9b\xb7\x17\xb7\xf5\x9b\xe3\x13\xeb\xfd\x55\xd0\x1d\x6d\x8d\x8f\x3b\xed\x6e\x77\xec\x79\x67\x57\x33\xf7\xc6\xbd\x72\xed\xab\x8f\x1f\x37\x67\xf7\xf7\xa3\xd1\xb7\x6f\x07\x6f\x8f\x8e\x8e\x2e\xce\xda\x07\x9d\xdb\x43\x56\xbb\xd1\x6c\x9c\x34\xc6\x17\x40\x30\x78\x71\x73\x6c\x45\x9b\x5b\x37\xf7\x43\xff\x9b\x7f\x32\xbc\x78\xef\x5d\x5c\x9c\xd8\xc3\xfd\xcd\x49\x67\xf3\xe0\xf6\x78\x76\x77\x35\xfe\x58\xdf\x1e\xc7\x27\x37\x61\x3f\xda\x9c\x1c\xbf\x1b\x9e\xbf\x7f\x77\xd5\x68\x34\xda\x8d\x77\xad\xe1\x68\xd4\xe9\x74\xbb\xcd\xa3\xc3\xc3\xa3\x93\x36\x10\x6c\x7f\xfc\xf8\xf1\x63\x30\x1c\x8d\xee\xef\xe7\xf3\xe6\x91\xef\xbf\x6d\x9f\x9c\x7c\x77\x87\xc3\x61\x30\x9f\x37\x9b\x07\xbd\x83\xd3\xc9\xe4\xf8\xfc\xe2\x62\x3a\x0e\x82\xcd\xcd\xed\x6d\xd7\xad\x56\x5b\xed\xd3\xd3\x7e\xaf\xdb\xbd\x9d\xdd\xd7\xae\x6f\xbe\x85\x61\xf5\xe8\xc3\x87\xfb\x07\x20\xf8\xf0\xcd\xf7\xfd\xb7\x97\x17\x17\x94\xda\xf6\xce\xe6\xf1\xbb\xdb\xf3\xf7\x8d\x77\x8d\x21\x63\xda\xbb\xe1\xc7\x9b\x9b\xfd\xfd\x66\x93\xf5\xe0\xf0\xa4\x7d\x62\x59\x1f\x6d\xd6\x50\xfb\xe0\xdd\xed\xe1\x55\x83\x31\x71\x08\xfc\xdd\x7f\x7b\xdb\xe9\x1c\x03\xc1\xa8\xd3\x3b\x8d\x3a\x0f\xe7\xd5\x6e\xe7\x72\xc7\xbd\xef\xb4\x1e\x3e\x74\xce\xaa\xd7\xbd\xeb\x56\xed\x9a\xfd\x38\xd7\xb5\x0f\xce\xf8\xc3\x07\xc7\x67\xff\x6a\x37\xe3\xf6\x75\x7f\xfa\xb6\x76\x33\x6d\x5f\xf7\xeb\xed\x6b\xe7\xd5\xe6\xf5\xe8\xa8\x7d\x03\xff\x80\x20\xfb\xe5\xc5\xdb\x8d\xc1\xab\x0d\xf6\xaf\x3a\x3c\x3f\x7a\x77\xdd\x68\x36\xf6\x1b\x27\x8d\x6f\x17\x37\xfd\x6f\x27\x56\xdb\x3d\xfa\x7e\xea\x5e\x58\xed\x83\x51\xdb\x8a\x1a\xc3\xfd\x5b\xd6\xfb\x46\xb3\x71\x7c\xeb\xb6\x27\xb7\xdf\xcf\x8f\x27\xe3\x9b\xef\xe1\x78\xdc\x07\x82\xf1\xd8\x0d\xe3\xf1\xc6\x69\xe4\x3e\x9c\x46\xc3\x79\x6b\xf4\x7d\xc6\xa4\x61\x1f\x26\x9f\xfd\x9c\xec\x4f\xc6\xdf\x6f\xcc\xff\xc6\x37\x37\xde\xf8\x5a\xfe\x03\x82\xea\x07\x79\xff\xde\x1d\x7d\x6b\x9f\x0c\xf7\x1b\x8d\xe1\x7e\xe3\x7e\xa3\x65\xdf\x6f\xb4\x6e\x3b\xd7\xed\xdb\xfb\x8d\x76\xb4\x3f\xc3\x59\x9f\x37\x1a\x0d\x20\xc8\x46\x77\xe5\x3e\x1c\xda\xdf\x3a\x6f\xed\x87\xde\x5b\xfb\xe1\xe1\xad\xfd\x70\xff\xd6\x69\xf5\x8e\xbd\xd6\xc3\xf9\xab\xd6\xec\xb2\xd9\xa8\xdd\xec\xb3\x0e\x0f\x1b\x6d\xec\xf6\x7e\xe3\xac\xf3\x70\x68\x77\x1e\x8e\x19\xef\xaf\xdc\x8d\x9e\xfd\xed\xfa\x03\xae\x94\x87\x8d\x0f\x76\x75\xe3\x03\x63\xfe\xf5\x63\x7e\x3e\xbe\xc5\x99\x66\xac\x69\x1e\x39\x37\x93\x9b\xef\x40\x70\xd8\x18\x3e\xdc\x1e\xb5\x70\x32\xb0\xfd\x8f\xc1\xbb\xd1\xc1\x41\x43\x08\xf0\xbb\x46\xa3\xed\x8e\xb6\x9a\x4d\xab\x7a\x1c\x3e\x3c\xf4\x6e\x2f\xc6\xd3\xf7\xc3\xef\x9d\x6e\xbf\xba\x73\x74\x7c\x7d\x1c\xf9\x53\x6b\xfc\x71\xbc\x71\x89\x2b\x85\xc9\x5f\xff\x6c\xf3\x66\x73\xeb\xfe\xe1\xc1\xf5\x4f\xc6\xf6\xfb\xe1\xd8\x69\x5a\xf6\xce\xd6\xf1\xc1\xf1\x77\x2f\x38\xf6\xdf\x8d\xfd\xcb\x0b\xda\x39\xe9\xef\x6f\xd7\x27\xd5\xc9\xe4\xe1\x61\xe4\xfb\x7e\xe3\xe5\xd1\xd1\xfb\x23\xdb\xde\xd9\x9a\x54\x27\xc1\xdb\xef\x8e\xf7\x11\x08\x32\xca\xef\x9d\xa6\xb5\xf5\xdd\xdd\x3a\x3c\x8e\x1f\x1e\x82\xf1\xd5\x78\x4e\x6b\xd3\xeb\x6e\xdf\xde\xd9\xdc\xda\x62\x0d\x71\xe1\xff\x7e\xbd\x6d\x3f\x44\xad\xad\xcd\x9b\xfb\x87\x87\xc0\xb7\xc6\xf5\xe9\x56\xf3\xba\x6e\xdb\x3b\x2f\xb7\x6e\x8e\x1f\xa6\xb8\x52\xde\xf9\x23\x65\xa5\x20\x81\xa1\xd7\x7c\x57\xfb\xb8\xdf\x80\x1d\xac\x33\xaa\xef\x7f\x3b\xf2\x3f\xb6\x87\x83\x8f\x9b\x47\x1f\x47\xef\x46\x13\xf7\xa8\xf7\xd6\xef\x5e\x1e\x4c\x2e\x86\x67\xf6\x70\x32\xd9\xdf\x3e\xff\x76\x7b\x73\x02\x04\xbf\x7f\x3c\x7f\x77\x35\xba\xf5\x27\x1f\xba\x4d\xb6\x05\xc1\x5c\x36\x9a\xad\xd6\xe1\x71\xbb\xfd\xf1\xea\xea\xea\x56\x6e\x00\x47\x47\x47\x27\xed\xb6\x45\x6d\x7b\x18\x7c\xff\x7e\xd2\xed\xba\x6e\x78\x72\x72\x7a\x79\x76\x16\x45\x51\xb4\x33\x9b\x03\xc1\xf9\xf6\xc3\xc1\xc3\xb7\x30\x8c\xce\xce\xde\xbd\x9b\xcd\xee\xe3\xf3\xe3\x93\xd3\x83\x0f\xd7\xd7\xe3\x8b\xf3\x98\x5a\xd4\xde\xde\xdc\xea\x1e\x4d\xbd\xd8\xb9\xb1\x4e\xb6\xdf\x5f\x5d\xdd\x06\x93\x49\xb7\x51\xbd\xd9\xe7\x3b\x4e\x73\xff\xf6\xb6\xd5\x3a\x3a\xfa\x78\x75\x05\x04\xa1\x07\x93\xd1\x7c\xee\x8e\xfd\xa0\xdd\x3e\x49\xcb\xdc\x4e\xb3\x77\xd9\xea\x6c\x74\x52\xff\x2e\x77\x3a\xf7\x9d\x96\x7b\xdd\x69\xb9\x1f\x3a\x67\x6e\xad\x77\xf6\x50\xc3\x0d\xf6\xfa\xf0\xfa\x83\x33\xae\xdd\x78\x1b\x1f\xfa\xf1\xe6\xb5\x53\x7f\xfb\x61\x50\xdb\xd8\x18\xd4\x36\x6b\x83\xc3\xcd\x1b\xef\xfd\x4d\xf6\x5f\x93\xef\xd8\xd0\x62\xab\xdd\x6e\x7f\x7c\x07\xac\x01\x82\xa3\x9b\x8e\xfb\xed\xe0\xed\x5b\xbf\x7d\x7e\xf1\x6e\x38\xde\x97\x7c\xe4\x6b\xa2\xb3\xd1\xba\xba\xdf\x6a\xd9\xf3\x9b\xd6\x6d\xf7\x65\xfb\xb6\xe7\xb4\xa3\x87\x41\xbb\xda\x5b\x3f\xab\x56\x3b\xe7\x87\x57\xbd\xce\xf9\xd5\xfd\xb5\x53\xed\x5c\xd7\x80\x60\xf5\xfe\xc6\xbb\x7a\xb8\x71\xaa\x0f\xd7\x5e\xb5\x76\xed\xd5\x3e\xdc\x78\xf5\xfe\x8d\xf7\xfe\xa5\xf3\xea\x7d\xff\xe6\xd5\xc6\xba\xa3\xff\x7b\xe5\xd4\xf8\xd6\x3f\x6c\xbc\x6b\x0e\xdb\x0f\xe3\x6e\xdb\x1d\x77\xdb\xdf\xf8\x11\xb0\x59\x75\xbb\xfb\xed\xee\x51\xd8\x68\x37\x6e\x60\x95\x36\x87\x27\xed\x97\xee\x45\x7b\xf3\x5b\xf7\xa6\x7d\xfb\xfe\xa6\x3d\xa6\x37\x37\xbe\x7b\xf3\x7d\x32\xbe\x79\x39\xf9\x6e\xb5\x4f\x70\x1b\x83\x45\xd4\xe2\x47\xe8\xd0\x6a\x7f\xf7\x51\xb0\xdb\xdf\x7d\xb7\x1d\xfa\x6e\x7b\x33\x70\x6f\x6e\x26\xee\xcd\xf7\xef\x53\xeb\x38\x9a\x7f\x7f\x19\x4e\x1f\xf3\xef\x76\x3f\x40\xb1\x69\x06\x8d\x77\x70\xe0\x38\xf3\x63\xf8\x77\xdd\x3d\x6e\x5d\xcf\x8f\x1b\x76\xfb\xe0\xfa\xf6\xb0\x71\x36\x04\x96\xce\x0e\x5a\xf6\xbb\x5a\xfb\xf6\xfe\x65\x3b\xea\x0d\xce\x38\x0f\xcf\x5e\x55\x7b\x67\xaf\xae\x3f\x74\x0e\x0f\x67\xc3\x73\x20\x28\x4e\x30\xa1\x3a\xcc\x8e\x1b\x67\xdd\x97\x2d\xfb\xc1\x69\xdd\x5e\x5d\xb7\xe3\xda\x75\xbb\x56\xbb\x6e\xc7\xd7\xd7\xef\x5e\x2d\xdb\x80\x50\x6c\x94\x9f\x5a\xaf\x73\x5e\x7d\xe8\xee\x57\x8f\x9b\x6c\xa6\x19\x4b\xbf\xbd\x7b\xf7\xf1\x66\xb4\xdf\x3c\xb1\x27\xfb\xcd\xfe\xb7\xda\xc7\xe6\xc1\xdb\xf1\x71\xe3\xfd\xe8\xe2\x9d\x35\xba\xdf\x77\x5b\x93\xfb\xc6\xc3\xc1\xc1\xed\x79\xdb\xef\xbe\x03\x82\xef\xba\xf6\xab\xe9\x71\x7b\x6b\x36\x7b\x78\xd8\x3c\x6c\x07\x87\x57\x9d\xb3\xe1\x66\xd5\x3b\xdf\xdc\x1c\x1e\xd8\x27\xe3\x0f\x2d\xdf\xbb\x68\x8c\xd8\xda\x6e\x35\x0e\x5b\x6c\x30\xf7\xf3\x83\xb7\xad\xa3\xb7\xa7\x17\x5d\x7b\x3c\xec\x9c\x6d\xde\x37\x6f\xea\x57\xf3\x83\x5b\x9c\x94\xc9\xcd\x65\xb7\xdb\xbd\x8d\xbd\xd1\xf0\xe1\xa4\xfb\x7e\xdc\x1a\x5f\x7e\xf3\x4f\x2e\xbb\x5d\x7b\x7c\xeb\xed\x8f\x4e\xdd\x49\xfd\xb6\x35\xbe\x38\x0e\xdf\xc1\x22\x7f\xcb\xe4\xb3\xb9\xfd\xf6\xdd\xed\xfe\xd5\xfe\x3b\xb6\xa4\x8e\xda\x67\x57\xc3\x60\x32\xba\xe9\x74\x71\xb7\x71\xfd\xf1\xed\xe1\xe9\xc9\x19\xbd\xb2\xaf\x6e\x83\xad\xc9\xd6\x7d\xef\xe1\xdb\x6d\xfb\xed\xc7\xde\xc9\xd9\x3b\xcb\x19\xde\x37\x26\x93\xce\x7d\xef\xc1\xf5\xdf\xbe\x6d\xf7\xce\xde\xd1\xf7\xf6\xf0\xd5\xfe\x3e\x53\xcf\xda\x67\x4c\xca\x0e\x1a\xef\xdc\x61\xf5\xa6\x75\x85\x67\x4a\xab\x69\x37\x36\xdf\x36\x6e\x1f\xb6\xce\xaa\xdd\xfb\x77\x5e\xf7\xfe\xfc\xf0\xe1\xbe\xe3\xd5\xee\xcf\xcf\x6b\x5b\x57\xd5\x87\xde\xbb\xda\xd5\x75\xe7\x7a\x7e\x7f\x7e\x5d\xbb\xee\x5c\xd7\xef\x6f\xce\xaf\xfb\x1f\xbd\x5e\xe7\xfc\xbc\x37\xe8\x5c\x5d\x77\xce\x0f\xaf\x3b\xd7\xd7\xd5\xad\x1b\x9c\xe5\xeb\xfe\x75\xfc\xf0\xd0\xf1\xea\xd7\x9d\xeb\x8d\xce\xcd\x75\xad\x7f\xe3\xd5\xef\x6f\x5e\x5c\x6f\xdd\xd4\x36\x1e\xce\xcf\xdf\xb3\xcf\x1c\x46\xe4\xba\x56\xdb\xba\x79\xf5\xe1\xd5\x4d\xfc\xe1\x66\x28\x1b\xea\x75\x3a\xd8\xd0\xc3\x0d\xce\x72\xed\xe5\xc7\xda\xd5\x87\xce\xf5\xd5\xf5\xb5\xf7\xfe\xba\x73\xfd\xfe\xc3\x8d\xf7\x7e\xe0\x5c\x5f\xff\xff\xd8\xfb\xf3\x66\x37\x91\x34\x51\x1c\xfe\xbf\x3e\x85\xa6\xdf\x88\x6b\xd7\xc8\x65\x10\x68\xed\x1a\xf7\x44\xb2\x89\x45\x08\xb1\x0b\x3a\x3a\x2a\xd8\x04\x88\x7d\x47\xcc\xf4\x77\x7f\x43\xe2\x1c\x2f\xe7\xe8\xd8\xc7\xae\x9a\xe9\xba\x37\x7e\x8e\xa8\xb2\x0c\x99\x4f\x3e\xf9\xec\x4b\x4a\xb9\x31\x37\x72\x7f\x1d\xbc\xdf\x23\x92\xa6\x69\xb6\xa9\x21\x27\xad\xd6\x4c\x73\x33\x3f\x4a\xda\x51\x73\x63\xe4\xe4\x6a\xba\x64\x4e\xf5\x8d\x47\xcd\x4f\xe6\x66\x54\x3d\x29\xb8\x61\x30\xdb\x68\xb3\xeb\x60\xc3\x35\x63\xc3\x76\x67\xe8\x25\xc8\x93\x24\x2e\xb2\x22\x2c\x92\x30\x2c\x8a\x22\x29\xea\x04\x29\xca\x62\x66\x67\x4d\x58\x64\x45\xc9\x55\x89\x57\x94\xc5\xc0\x55\xc5\xb4\x2c\x93\xa1\x1c\x55\x2f\x0c\x8b\xb2\x08\x8b\x2a\xbc\x14\x45\x78\x29\xab\x62\x58\x15\xe1\x50\xd6\x45\x58\x34\x05\xca\x55\x25\x6e\x97\x45\x5b\xd6\xcd\x7a\xd7\x5d\x86\xb2\x49\xf1\xa2\x2c\x96\x65\xd5\x8c\xe3\x9a\x02\x2d\xfb\x94\x2e\x9b\x33\xb6\x1e\xc5\x26\x4c\x77\x79\xd1\x16\x4d\x91\x2c\x9b\x64\x55\x36\x29\xcd\xd7\x09\xec\x64\xcb\xb2\x68\xc3\x72\xd7\x95\x04\x57\x35\x50\xd9\x84\x53\xd8\x95\x29\x49\x3b\x1e\xdd\x98\x42\xcf\x1a\xa2\x99\x1b\x64\x76\x72\x17\x0b\x7b\x33\xd7\x2f\xb6\xd2\x40\x37\x80\xe5\xa9\xe5\x1c\xaf\x59\xc2\xad\xbf\x18\x90\xb5\xd3\xd8\x66\x4d\xef\xf6\xcd\x76\x35\xad\xa7\x6b\x7b\xe0\x86\x4d\x20\x30\xcb\xd8\x5c\x14\x88\x6d\x15\x45\x69\x36\x45\x31\x6d\x2e\x76\xd8\x12\xa5\x50\xe3\xaa\xa6\x6d\x8e\xa6\x16\xa3\x83\xeb\x8e\xba\x2c\xb9\x0d\x3a\x78\x82\xbe\xf1\xf6\x59\x51\x16\x4d\x58\xee\xda\x2b\x56\x67\xda\xe9\x93\xb5\xd3\x0c\xc0\x39\xba\x15\x72\x8e\xdb\x63\x6a\x73\x35\x8e\xce\xce\x97\x83\xc3\x0e\x48\x6b\xf7\x29\xbd\x12\x9a\x03\xe2\x5a\x42\x4b\x80\x94\xbe\x01\x3c\x77\x57\x0d\x20\x6f\x1a\x40\xae\x73\x90\xc9\x64\x09\x32\x30\x07\x22\xd8\x32\x9e\xa3\xaa\x3d\x28\x7a\x19\x83\x49\x6a\x57\x30\x9c\xa4\xf2\xa2\x11\x38\xf0\x82\xeb\xa5\x8b\xaa\x92\x79\xc1\x98\x8a\xca\x55\x86\xaf\x31\x8b\x31\xe0\xbc\xb0\x17\x85\x8c\xf2\x8c\x33\x15\x59\xf5\xbd\x20\xd7\x30\xce\x5a\x6e\xd5\x59\xcc\x96\x95\x65\xab\x46\x03\xfb\x39\x66\x72\x96\x8c\xa8\x70\x9c\x17\x85\x63\xab\x7a\xd6\x49\x46\x0f\x2e\x8b\xa5\x14\x0d\x51\xc4\xe6\xb6\xa8\xcb\x49\x54\x8f\xc1\x12\xbc\xe0\x16\x4b\x3c\x22\x22\x96\xcb\x2d\x51\x95\xe1\xac\xd6\xaa\x9e\xbd\x58\xf8\x19\x8e\x28\xa6\xb0\x44\x59\x85\x93\xbc\xbe\x2d\xa4\x47\x54\x54\x73\xbc\x6d\xa8\x3a\x32\xef\x67\x41\x7f\x5d\x28\x22\xe3\x9a\xe5\x1c\xe3\xc1\x8d\x22\x70\xdd\xe7\xd9\xb9\x0f\xb1\x68\x88\x52\x36\x65\x79\xf9\xba\x5a\xbc\x67\xad\x85\x19\xaa\xd7\x85\x12\x43\x90\xe5\xa8\xa8\x63\x93\x95\x07\xf6\xa2\xdc\x16\x32\x04\x41\x8e\xa2\xbc\xce\x59\x4e\xe1\xb6\xea\x2c\xca\xc7\xc8\xa1\x32\x34\x59\x4f\xba\x7e\x96\xf7\xb2\x4d\xe8\xd7\x6d\xb1\x9c\x63\xc9\x72\xd2\xd5\x7d\x9c\xdb\xca\x4e\x9b\x91\x54\xb6\x1b\xb7\x95\xd4\xb5\x66\x96\x56\x81\x6e\x55\x32\x2f\x59\x4b\x35\x64\xb8\xe8\x6b\xc9\x2c\xed\x33\x9d\x8c\x31\x76\x94\xe7\xa5\x25\xca\x3a\x9c\xe4\xbd\x64\xda\xe7\x10\xdd\x26\xf1\xbe\xdc\x5b\xb6\x6e\x25\xf3\x7e\x11\xe4\xb6\xad\xa0\x7a\x92\xee\xb9\xd2\xb5\x55\x35\xbb\xee\x28\x3f\xdb\x36\xaa\x25\x69\xdb\x32\xdc\x48\xbf\x78\xcf\x86\x37\x80\x56\x88\x6e\x67\x09\x57\x67\xa6\xa2\xcb\x61\xd1\xc7\x26\x6b\xd9\x04\x9d\x20\x71\xc1\x0b\xa6\x22\x1b\x51\x92\xf7\x26\x2b\x9f\xf1\xeb\x42\x75\xd5\x58\x96\x6e\x25\x5d\xbf\xc8\x73\x39\x5c\x1d\x13\x24\xdd\x57\xfb\x93\xad\xea\x45\x37\x32\xa5\xcf\x73\x45\x5e\x1d\x75\x3d\x15\x0e\xcd\x49\xd3\x01\x20\x80\x0f\x78\x20\x32\x80\x35\x2d\x42\x8c\x58\x15\xdc\x0c\x29\xb9\x65\xd4\x6a\xc1\x5a\x12\x76\x19\x88\xa8\xc0\xd5\x1d\x2f\xc8\x5e\xee\x44\x3d\xce\xc9\xb1\x36\x90\xe4\x98\x49\xb1\xf6\xf1\x4a\xdd\xbc\x77\x8d\x05\x8e\xeb\x31\x15\x55\xc5\xce\xd1\x74\xeb\x12\xe5\x57\xda\xec\x44\x00\xb2\x07\x43\x8a\x45\x08\xdb\x8b\x24\x47\x68\x11\x0b\x48\xf1\xfa\x6c\xcb\x5c\x05\x13\x18\x66\x2e\x85\xc4\x18\x39\x60\x61\x44\x6d\x79\x91\x29\x54\xe3\x2a\x42\xb9\x24\x9d\xaf\xdc\xde\xd2\xbc\x20\x86\x99\x69\xac\x17\x18\x87\x27\xa4\x4a\x66\x05\x67\xa8\xa2\x1c\x45\x71\x2e\x5e\xe3\x94\xcc\xb9\x7a\x78\x7b\x8f\xab\x3a\x76\xf1\x61\x16\x3c\x64\xa3\x2a\x50\xaf\xd9\xe8\x75\x2d\xde\x30\x7c\x97\x12\x2f\x5c\xb0\x25\x15\x32\x4b\x0b\x83\x14\x75\xbf\xa9\x5d\xd7\x94\xad\xe5\x91\x1a\xa8\xbc\x28\x6d\xc5\x10\x41\x58\x07\xae\x71\x91\x2f\xc7\xed\x8c\xca\x93\xd2\x91\x0d\x3d\xac\x46\x17\x00\x84\x01\x00\x91\xa8\x3a\x92\xc9\xf6\x5b\x31\x06\x2c\xa0\x01\x09\x8c\xac\x97\xce\xc3\x39\x4e\xc9\xed\x8e\x17\x3c\xdf\xd9\x03\xbf\x5f\x04\x17\x92\x08\xcb\x6d\xca\xf0\x82\xe8\xfb\xda\x15\x7b\x1c\xdf\x92\x03\x11\x5d\x23\xb0\x07\x37\xda\x18\x4e\x70\x4d\x10\xb9\x2d\x41\x92\x0c\x93\x9b\x8a\x2c\x8a\x7e\x10\x50\x2c\xb7\x94\x71\x92\x24\x99\x3c\x3f\x8a\xa2\xe8\x87\x41\x4c\x31\x57\xdf\x54\xdc\xf6\xba\xc3\x24\x93\x16\xf0\xc8\xc2\xae\x2e\x16\x07\x74\xf4\x80\x21\x03\x7a\xf9\x1c\xd1\x99\x29\x6d\x39\xc7\xf0\x63\x96\x95\xaf\xd8\x91\x64\xce\x16\x47\x86\x17\xc3\x28\xef\x35\x63\x81\x2d\xb7\x6a\x4c\x95\x15\xc3\x2a\x57\x45\x98\xb9\x01\xc6\x59\x32\xba\xd5\xa3\x3d\x57\x3a\x9a\x61\x2d\xe7\x63\x7c\x98\xbb\x66\x58\x12\xc7\xe3\x8c\x2a\xf8\xda\xb3\x2c\x0b\xce\xae\x1a\x52\x0e\x76\x04\xc0\xbe\xa3\xb0\x0e\xef\x40\x5f\x53\xfb\xd0\x31\x70\x39\x83\x4d\x5c\x05\x11\x70\x80\x8f\xe3\x11\xb5\x15\xae\x74\x57\x8d\x2c\xeb\x17\x8b\x7e\xe4\x32\x8e\xa7\x54\x42\x1f\x04\xce\x32\x8c\x31\x0b\xb8\x06\xa0\xd7\x34\x42\xe0\xf9\x87\xcc\xa0\xcf\x83\x5b\x6a\x41\x3f\x66\x0b\xf3\x2f\xd3\x8d\xc7\x0c\xe2\x06\x70\x4c\x23\x22\x00\xf0\xbc\xbb\xfa\xee\x8a\xa2\x22\x67\xce\x49\x19\x79\x0d\x7b\x19\x50\x5c\xe3\x6d\x8c\xd2\x8d\xac\xeb\xfb\xc0\xb7\xf1\x87\x7a\x03\xaf\x1a\xf2\xf8\x2c\x38\xdb\x0f\xcf\x6e\x00\x79\xc7\x32\x1e\x5f\x3c\x16\x27\x78\xc7\x78\x56\xb0\x78\xcd\xb3\xd1\x38\x50\x75\x59\xda\x47\x5d\x4f\x9a\xfa\x9a\x3a\x58\x4b\x64\x36\x8b\xf3\xb2\x14\x31\xd0\x76\x19\x0d\x0e\x6b\x7a\x3b\x1b\xf9\x89\x5f\xba\x1b\x0d\x49\x30\x07\x00\x3b\x13\x09\x2d\x08\x82\x68\xb8\x01\x63\xe4\x4b\x4e\x26\x6f\x00\xaf\x22\x94\xa9\x7b\x4e\x90\xfd\x38\xa0\x30\x8e\x93\xe3\x41\x89\x72\x2e\xb7\x64\x55\x8f\x0a\xd3\x99\xb1\x32\x17\xea\x71\x1c\x5f\x5d\x80\xa2\xea\x51\x76\x5b\x18\xbb\xe8\xf1\x2c\x66\x8b\x2b\x32\x82\x1f\xc6\xf5\x5e\xb2\x46\x6b\xb3\x44\x66\x08\x49\x31\x9c\x75\xd4\xf5\xac\xaa\xfb\x18\xe3\xe4\x02\x99\x21\x5b\x8e\xdf\x1b\xa6\xac\x26\x45\xdd\xbb\x41\x58\x12\xdb\x08\x8e\xd9\x6a\x77\xdd\xe6\xf2\x12\xc4\x7b\xd3\xb2\x86\xeb\xd6\xab\x9a\xb3\x8f\xba\x91\x5d\xc6\x2c\xe0\x2a\x22\xb2\x95\xcc\x66\x09\xb7\xdb\xbb\xa6\x85\x77\x84\x6f\xa7\x00\xf8\x64\xd8\x39\x86\xa5\xe5\xbb\x03\x0e\x7b\x0f\xc2\x8b\x93\x18\x00\x12\x3e\x4a\x01\x2f\x8a\xbe\x1f\xa8\x57\x91\x59\xe2\x37\xa5\x18\xeb\x36\xaa\xc4\xf1\x9e\xe1\xb8\x63\x39\x85\x3c\x13\x74\x9a\x31\xe3\xe0\x80\x05\xfd\x22\xe8\x61\x72\x4c\x6e\x44\xa1\x71\x1e\xb5\x8a\x54\xa3\x32\xa5\x69\xf1\x36\x2e\xa6\x30\xfc\xaa\x55\x63\x38\x47\x32\x4c\x66\x48\xb2\x1c\x46\xee\x75\x30\x77\x1b\x9c\xe5\xac\x71\x1d\x9c\xc4\x31\xc5\x72\x9c\xa5\x93\xe3\x38\x51\x96\xc3\x24\x8e\x6f\x40\x1f\xf2\x3e\x53\x94\x47\xa0\xec\xe8\x53\x38\xeb\xfa\x82\x61\x32\x53\x12\x6f\x83\x29\x96\xbb\x62\x3a\x0e\x96\x64\xd9\x8f\x82\x1b\xb3\xac\x11\x00\xf3\x08\xf4\xb6\x90\x7a\x0d\x91\x09\xac\xc3\x01\xc0\x0f\x63\x5a\xc1\x72\x07\x8e\x49\x3a\x78\xee\x30\x84\xba\x3d\x33\xb2\x8f\x03\x02\x00\xe0\xb8\x41\xb1\xbc\xa4\xfa\x05\x27\xa8\x94\x91\x75\x79\x2e\x8b\x4e\x80\x85\xbb\x80\x92\xc3\x73\x4c\x57\xba\xc6\x6c\x1d\xd5\x98\x99\x62\x9f\x4b\x92\xa2\x26\xed\x08\x30\xdd\x72\xbc\xaa\x4e\x5d\x03\xce\xfa\x6e\x79\x51\xb5\x28\xcb\x22\x63\x27\x3b\xc5\x65\xe6\x56\x1d\x76\x4d\x52\x70\x00\x3a\x12\x27\x07\x5f\x05\x18\x85\x9d\x99\x2b\x56\x01\x10\x73\xc0\xe1\x5d\xb7\x07\xfd\x11\x88\xe4\x02\x63\xc6\x7c\x19\xf7\x3b\xae\x9f\x4b\x03\x9c\x44\x04\xc0\x70\xf2\x02\x2e\x52\x48\xf9\x3c\x19\x08\x85\x6f\xb1\xa1\xe0\x63\xc6\x71\x4b\x30\xd8\x1c\xf0\x67\x03\x81\xc3\xae\xcd\xf8\x0a\x50\x47\xb7\x9f\x31\x8c\xe8\x63\xf8\x96\xe9\x45\x52\x8d\x18\x7c\x34\x0e\x24\xb2\x98\xcf\xfd\xd9\xa1\xe1\x49\x56\x88\xf4\x98\xf0\xc7\x34\x74\x0e\x00\xa0\x7d\x00\x22\x1f\xf6\x99\x90\xb3\x04\x63\x2e\x9c\xbb\xa9\x48\xb2\xa4\x14\x05\x9c\x42\x2e\x1e\x2a\x4f\x3b\x80\xf9\x60\x0d\x7c\x5c\xa4\x6e\x00\x43\x26\x64\xcc\x6c\x79\xee\xa6\x3c\xf1\x71\x2c\x10\xe3\xcf\x4b\xa8\x38\x78\x58\x05\x8c\xc9\x22\x0e\x82\x83\x89\xb8\x0a\x00\xa2\x21\x74\x0f\x6f\x84\xed\x58\x32\xb5\xa3\xec\x96\x95\x25\xce\x6a\x4e\x48\xfe\x65\x7f\xe6\x97\x1b\x05\x0c\x82\x12\xad\xe6\x6e\xba\x6b\x6c\xaf\xab\x6c\xcb\x4f\xcc\x70\x9f\xcf\x5d\x98\xb3\x2b\xb2\x97\x0d\x88\x41\x8f\xaa\xd2\xb1\x7e\xe4\x99\x6e\x3a\xa3\x8d\xf9\x90\x9d\x6f\x00\x51\x14\x2a\x36\x04\x55\xb7\xa8\x1a\xce\xa0\x73\xd2\xaf\x62\x5c\xad\x0f\xf5\x6c\x0d\x55\xc6\x69\xc3\x47\x3e\xa8\xc0\x56\xc2\x5c\xd4\xe7\xb7\x87\x79\xa5\x4e\x0b\xfc\x60\x60\x97\x8d\x56\x02\xd4\x28\xd8\xac\xd2\x51\x1d\x81\xbc\xd3\x2c\x1c\xf3\x65\xa8\x41\x1d\x7f\x6d\x6e\xa1\xc5\xea\xac\x4e\xf3\x43\x62\x6f\x49\x56\xf5\xa3\x53\x6a\x31\xe8\x86\xb0\x0f\x45\xef\xba\x66\x1e\xd8\xbc\x94\xe0\xce\xa2\xe4\xe2\x48\xe5\xa3\x4b\xbf\x0e\x99\xac\xf1\x17\x2e\xdb\xce\x04\x83\xde\x58\x8b\x8d\x33\x1d\x31\xdc\x7a\x6d\xe1\xac\x4c\xe4\x48\xb9\xc4\x79\x07\x15\xf4\x50\x4b\xa7\xb3\x4e\xea\x3d\x0b\x59\xe1\xd6\x1b\xce\x59\xd0\x6c\xe8\x0a\x37\x5d\x11\xe3\xec\x90\x86\xb5\x5a\x85\xd0\x64\xbd\x88\x89\x2d\xa2\x40\xd3\x3e\x32\x1d\x23\x3d\x4e\xc9\x11\xa0\x55\x0c\x2d\xd4\x2b\xbe\x90\x29\xd4\x76\xda\xaf\xe4\x7d\x21\xce\xf7\xd3\x0c\x00\x4c\xee\x1b\xed\xd8\xad\x56\xac\xbb\xb0\x93\x44\x49\x1a\xd6\x8a\x8e\xab\x05\xbc\xa1\x69\x38\xda\x1a\x5c\x0b\xa4\x43\xde\x9d\x04\x19\x1c\x2e\xf2\x01\x38\xc8\x28\x36\x51\xea\x11\x1d\x86\xd0\x1d\x00\x6c\x2c\x12\x06\xb7\x58\xac\x97\xfb\xd5\x66\xcb\xe2\xe7\x7e\x3e\xcd\x97\x16\xa1\xba\xc8\xea\x28\xb7\xd2\xe5\xb8\x63\x23\x06\x5f\x18\xe6\xec\xbc\x6b\x17\x71\x2e\x04\xa6\x32\xc0\xd5\x94\x48\x52\x6a\xe6\x8e\xd1\x57\x5e\x97\x29\xbf\x54\x09\x9f\xd1\x67\xb3\x63\xb0\x76\x68\xc5\x85\x21\x39\xb1\x7d\x01\xb8\xbd\x73\xd1\x3b\xfe\x9a\x71\x96\x26\x7a\xda\xcb\x27\xd3\x1e\xb8\xd0\x28\xb9\xf9\xb4\x3e\x14\x75\xca\x6b\x3b\xc1\xd3\x85\x2d\x12\x69\xad\x6a\x8c\x5b\xce\x91\x03\x0b\x05\x11\x1e\x2f\x2c\x4a\x12\xe6\xca\x6e\x6b\x1c\x4c\x87\x51\xd1\xd6\xe0\x67\x41\x16\xc8\xf3\x33\x4d\xc5\xe9\x45\x87\x10\x65\xc1\xae\xa2\x6d\x25\x07\x47\x5d\x59\xef\xe1\x85\x36\x45\x71\x68\x7b\x28\xd8\x99\xe8\xea\x61\xb5\x3d\x8c\x06\x96\x1c\xe8\xe2\xc8\xc8\xd8\x81\x09\x53\x9d\x50\xeb\x15\xe3\xb1\x2d\x74\x5a\x08\xf5\x80\xf5\xb9\x32\x98\xa6\x38\xc5\x0d\x32\xa0\x8f\xa7\x62\x3b\xb7\x00\x26\xc6\xe1\x0a\xd9\xb2\xc1\x7e\x9e\xb1\xed\x34\x38\x3a\x20\x07\xec\x35\x77\xd0\x6f\x00\xd7\x5b\xa4\xb4\xc0\x71\xbe\x57\x1d\x80\xa5\x5a\xbd\x5a\xe1\x83\x09\xb0\xe9\xae\xa2\x1d\xcd\x9b\x8a\xf3\x60\x2a\x62\xb3\x2e\x80\xcc\x92\x55\x0e\xbd\x8c\xb9\xcc\x3a\xf1\x15\x0f\xb8\x4a\x25\x0a\x19\xa5\x92\xa9\xbf\xc1\x68\x47\x3b\x04\xfd\x0d\xa0\x2c\x49\x46\xc4\xe9\x26\x7b\x14\x28\xe3\xb0\xd4\xe6\x80\x2c\xc3\x9c\xcd\xc8\xf3\xd1\x07\x48\xc7\x4a\x26\x2d\x93\x7d\xc2\x12\xc9\x9a\x82\xc1\xd2\x27\x8f\x95\xbf\xb0\xe6\x66\x05\x76\x4c\x5d\xf2\xd8\x6a\x7a\x0a\x56\x2a\xb7\x6b\x0d\x7d\xcc\xe8\xdd\xba\x22\x3a\xea\x34\x4b\x06\x63\x90\x67\xd4\x1a\xd9\xcf\x02\x44\xb8\xd4\x88\xb7\x5a\x62\x33\xd1\x95\x61\x19\x54\x62\xe8\xef\x0e\xbc\xe0\xb3\xf2\x86\x95\xf0\x55\x40\x1d\xc1\x32\x52\xab\x1d\xb5\xe7\x88\x85\x03\x16\x8e\x22\xb5\xbe\x3c\xd6\x60\x0f\x0e\x4a\xc5\x9b\x4d\xaf\xa3\xa2\x12\x42\x3c\x2d\xad\x09\x32\x59\xea\x69\x6b\x69\x22\x50\x3a\xa9\x90\xb8\xf3\xa5\x13\x37\x58\x59\x06\x8d\x2f\x21\x80\x53\xaa\x83\xe8\x89\x4e\x54\x02\xc1\x27\x84\xc0\x56\x48\xf9\x52\x1e\xc5\x05\x8c\xdf\x00\x46\xfb\xfc\xe8\xd6\xfa\x59\x5f\xe9\x08\x84\xaa\x67\xef\x88\xaa\x9b\x85\xcf\xb8\x56\x7c\x92\x40\x06\x92\x42\x25\xc3\x2e\x5f\xa0\x01\xee\x3a\x78\x17\xfb\xf3\xd5\xc9\xb1\x4f\x43\x9c\x88\x3c\xf0\x2d\x2c\x0a\x56\xce\xf4\xe4\x10\x3e\x35\x1d\xe5\xf0\xd4\x11\xc7\xd3\xe0\xf9\xbb\x83\xb3\x33\xd8\x0a\x00\x56\x04\xa5\x72\x3c\xa7\x01\xd4\x1c\xb7\x17\xb4\x9d\xd1\x11\x9a\x6b\x4b\x08\xad\x17\x65\xa3\xaf\x67\xa7\x65\x5e\x9e\x6c\x1e\x11\x51\x7d\xaf\x5d\x36\x6b\xac\x53\x6b\x1b\xef\x02\x2a\x18\xe3\x43\xbd\x39\x78\xed\x52\xf0\xa0\xb9\x69\x51\xa2\xea\xf8\x5c\xa9\x55\x73\xd7\x3b\x0d\xc1\x4c\x01\x04\x98\x11\x64\xb0\xb0\x51\x2d\x26\x2c\x12\xef\x16\xf6\xd4\x3e\x9c\x22\x2e\xab\xd0\x9a\x01\x8d\x87\xb6\xac\x29\x84\x01\xea\x5b\x68\xbc\x1c\xad\x0d\x7a\x90\x4f\x4c\x54\xee\x5a\xf8\x00\xe4\xf5\xf2\x70\x70\x77\x2b\x7f\x9d\x39\x08\x57\x7b\x7b\x8a\xe3\x06\x4e\xf2\x02\xa1\x45\x7c\x36\xa3\x76\xd8\xe1\x98\x58\xc7\xf6\x80\x89\xcc\xce\x67\xb3\x14\xb6\x6d\x1d\xab\x86\xd2\x30\x0d\xa3\x23\x57\x63\x7a\x1b\x23\xe7\x69\xab\xb8\xea\x4a\xcb\x23\x64\xb6\x0b\x55\x58\xb4\xce\x87\xe8\xd2\x01\x40\x17\xb6\x8a\xc3\x90\x51\x19\x82\x6b\xcf\xbd\x25\x26\xe4\x2b\x12\x76\xf0\x10\x9e\x83\x0c\x52\x7c\x62\x6d\x6a\x80\x0f\xdd\x65\x00\x81\x35\xe3\x61\x37\x80\xfb\x28\x5f\x42\x7d\x05\x00\x6e\x92\x3b\xd2\x60\xa2\xe9\xa5\x65\x96\xe2\x30\xdb\xef\x97\x31\x73\xaa\x31\x68\xc9\xf0\xfa\x59\x67\xf7\x42\x71\x50\x78\xcf\x05\xc9\xc5\x3a\x2f\xc9\x0a\x16\xb1\x28\x66\xf3\x50\xd6\x75\x3a\x15\x11\x3c\x33\xc6\xf6\xc7\x56\x07\x49\x3d\x85\xfd\x9d\x88\x51\x1c\x8e\xa5\x39\x22\xaa\xaa\x68\x42\xb3\x3a\xa8\x4d\x02\x63\xd5\x9c\xd2\x8d\x35\x32\xa0\xf3\xcc\xc9\x4a\x6c\x89\x64\xc7\x55\x81\x2d\x2e\x70\x76\x00\x2d\x74\xca\x7a\x1a\x59\x74\x5a\xe2\x33\xf4\x69\x34\x5f\x3d\x25\x94\xeb\xd8\x33\x1d\xac\x98\x71\x3d\x6a\xb6\x78\xb1\xc1\x7c\x6b\x89\x6e\x40\xdf\xd0\xcd\x61\xbf\x83\x56\x33\x03\xa7\xe6\xe4\xa5\x63\xf3\x82\xa6\xc0\x71\x79\xa4\xe0\xea\xac\xd9\x0d\xd8\xa7\x6d\xeb\xee\x9c\xb2\x39\x19\x9d\xc0\x8f\x45\x8c\x90\xb0\x96\x21\x98\x2f\xd7\xc0\x00\x00\x5b\x26\x7b\x8c\x3f\x3a\xbe\x42\xac\x69\x59\x2a\xd8\x79\xdb\xad\xf1\x33\x88\x71\xf2\x00\x70\x20\xc7\x47\x08\x1c\xba\x83\xc0\x72\xf1\xa6\xbf\xba\xd1\x43\x92\x7a\x2d\xe2\xe9\x39\x8a\x1e\xfd\xd1\xd1\x77\x28\xd1\x9e\x86\x65\x72\xd9\x46\x68\x76\x39\xac\x0d\x85\xab\x70\xa1\x1d\x80\x0f\x76\x62\x08\x67\x33\x67\xb9\x1f\x2a\x44\x40\x0e\x3e\x12\xcc\x01\xce\xb0\xc0\x07\xdb\x03\x6c\xed\xd3\x45\x0f\x63\x84\xaf\x9d\xe8\x55\x83\x28\xf5\xe5\x34\x3a\x7a\x47\x62\x1a\x03\x5c\xc4\x00\xa3\xa0\xb8\x95\x25\x50\xd7\x3e\x58\x2a\x07\x5b\x37\xc1\xc6\xb7\xd4\xd2\xd4\x81\x4a\x02\x30\x25\xfa\xf9\x4a\x44\xa1\x72\xbd\xa2\x7b\x55\x2d\xcc\x04\x83\xb1\x44\x6d\xf8\x38\x3b\x53\x67\xba\x9e\xf9\xc4\xd8\x5c\x48\xd3\xb6\x39\xae\x79\x26\xa9\xce\x72\xb1\xd0\xa3\x41\x1e\xb6\xf2\x12\x11\x48\x26\x16\x9a\x93\xae\x7b\x43\xaf\xe7\xed\x92\xc2\x7c\xc2\x67\xb5\xb8\x3e\x1d\x29\xa3\xde\x03\x90\x16\x2a\xdc\x8b\x19\x01\x1b\xbb\xf0\x98\x2d\x1c\x6a\x21\x8e\xc9\xe3\x1c\x4f\x8d\x59\x8d\xed\x40\x64\xe2\x02\xc0\x40\x60\x47\x10\xe0\xa7\x10\xe8\x64\x1c\x77\x63\x1d\x00\xc0\x3b\xd4\x59\x5e\x65\x9d\xbd\xde\x6a\xc4\xd0\x7a\x44\x68\xb6\x43\x6a\xd7\x48\x4d\xcd\xed\xdd\x22\x73\xf7\x33\x83\x8b\xd7\x6b\x65\x4c\xcd\x48\x80\xe1\x66\xdb\x9c\x8a\x8d\x81\x2b\x58\xcd\x77\x1a\x10\x55\x12\x74\xdb\x7a\x1f\xd7\x83\x6c\xd1\x2d\x20\x0c\x1c\x55\xfa\x9d\x76\x2e\x42\x09\x4c\x05\x13\xf0\xc1\xe0\x14\xa4\x2f\x39\x40\xe8\x32\xdc\x6f\x5d\xa5\xaf\x14\x7a\x37\x26\x8f\x24\xb5\x9c\x66\x82\x8d\x4c\x0f\x80\x59\x3b\xe1\x41\x74\x8e\xfe\x2a\x17\x8c\xe9\xee\xdc\x8b\x72\x8b\x9c\xce\x09\xd5\x9c\xd1\xb9\xbf\xed\x06\x74\x06\x43\xf6\x96\x5b\x0e\x68\xef\x2b\xeb\xf5\xca\xcb\x12\x5d\xdd\x91\x16\xe1\xc2\xf3\x8e\xf6\xc6\xbe\x9e\xd1\xbb\x67\xc7\xd7\x10\xb9\x6f\xe5\x2e\x85\xb5\xcc\x3c\xb2\x52\x11\x49\xf8\x02\xc8\x22\x94\x34\x5a\x06\xd4\xea\xb8\x02\x3e\x10\x79\x6c\x6f\x69\x1d\x00\x31\xc0\xa4\x5e\x81\x66\x87\xe4\x54\xec\x0a\x59\xda\x13\x76\x70\xb4\xe1\x51\x97\x6d\xaf\xcc\x31\xd4\xde\xcc\xcf\x79\xa3\x93\xe6\x19\xc3\x09\x44\x70\xdc\x23\x95\xe3\x1c\xe9\xe3\xc4\xc9\xa1\x0e\x7c\xb7\x06\x00\x10\x6a\xa7\xcc\xe3\x54\x4d\x16\x70\x9c\x74\x65\xce\xf3\xc1\x41\x64\xb8\xf3\xb2\x81\xc9\xf5\xa9\x44\xda\x31\x93\xc2\x52\x9f\xdf\xbb\x4c\x5c\x9a\x55\xe8\x9f\xad\x20\x3e\x37\xee\x12\x50\x9a\x3f\xad\x87\x63\xa7\xa6\xc7\x1d\xaa\xb0\xbb\xdc\x3a\x5b\x3a\x07\xe6\xda\xad\xd1\x1e\x52\xa7\x82\xf5\x39\x60\xc2\xeb\x63\x59\xcb\xa8\xdb\xd7\xe2\xde\x70\xc6\x70\xee\xd0\x1a\xe4\x76\x8d\xc7\x6d\x29\x4a\xac\x8f\x79\x79\xd0\xa5\x7b\x9d\x3d\xd7\xdb\x22\xc9\x97\x1a\x79\x90\x5b\xcc\x5b\x91\x58\xa8\xa2\x85\xcf\xda\x22\xe8\x88\xf9\xce\x5b\xef\x00\x4f\xf0\x01\x6d\xef\x01\x00\xb1\xcf\x4d\x6b\xaa\x5a\x8c\xf6\x70\x6a\x5c\x58\x67\x73\xc1\x53\xd6\x42\xcb\x7e\x77\x68\xe2\x6d\xda\x77\xd5\x51\xdb\x50\x55\x84\x44\xf3\x43\x58\xe1\x80\xc6\xd7\x54\xd4\xd9\x5b\x72\xe3\xb3\xb7\x2a\x49\x7a\x89\xaa\x33\x8c\xbb\x14\x6f\xee\x76\x7e\x36\xac\xf9\x29\xf5\xd0\x5f\x0e\x3b\x03\xf3\x99\x7e\x3a\xd0\x21\x8e\x01\x0e\xc4\x18\xb7\xcf\xa9\x59\x25\x6c\xd8\x5c\x73\x2e\x64\xb8\xb1\xca\xd9\xc2\x88\x69\xbf\x6c\xea\xc5\xe9\xc0\xa6\x91\xcb\x2e\x5b\xb2\x33\x0f\x17\x40\x8b\x18\x43\x12\x6a\x19\xf3\x0e\x06\xc0\x58\x90\x44\x38\x20\xc3\x62\x31\x65\x3b\xa9\x22\xe7\x80\x35\x6b\x3e\x05\xc4\x72\x9b\x0a\x46\x67\xc4\x02\x63\xb6\xf5\xa0\xee\xdd\x73\xe9\x61\xab\x53\xc8\x47\x3a\x03\xe3\x09\x86\x2d\x01\x03\x38\x07\x5d\x83\x4d\x56\x91\x54\xac\xc8\x5b\x12\x1f\x0d\xec\xd4\xb1\x3d\x89\xc0\x61\x4b\xca\x77\x74\xb1\x3f\xe4\xb1\xc3\x41\xab\xe5\xae\x4f\x91\x32\x4f\x8a\xcb\xb1\x32\x58\x5d\x0a\x21\x4a\xbc\xb5\x86\xc5\x68\xc3\xe3\x40\x08\xed\x52\xc4\x44\x40\xe0\x44\x55\xe4\x59\x76\x68\x6a\x77\x0a\x8f\x19\x3d\xee\x6d\xfc\x65\x48\xba\xa1\x71\xf4\xb5\x44\x04\xcc\x7c\x3a\xef\xaa\x88\xc4\xc8\x10\x8b\xb3\xbd\xb8\xe4\x42\x18\xe2\x14\x11\x16\xcf\xfa\xe9\xdc\x0f\xe1\x14\x78\xcd\x91\xcb\xf8\x33\xa9\x9d\x44\xc1\x1c\x4a\xf8\xb2\x99\xcf\x8a\x9d\xcf\x23\x0f\xaa\xd7\xb7\xb6\x29\x14\x4e\x6f\x2e\xd9\x65\x54\xc6\xe5\x79\x7e\x41\xce\x1b\xe0\xfa\x1c\xd1\x2f\xb7\x29\x5b\x69\xbb\xc0\x76\xe6\x48\x53\x2c\xd6\xf3\x69\xd6\xc8\xee\x1e\xcb\x33\x3c\xc4\x35\xba\x1c\xa6\xfa\xa0\x02\x88\x20\x6a\x62\x0d\x94\x87\xee\x2d\x1a\xc0\x31\x8f\x03\x30\x38\x54\x3b\x95\xa7\x27\x59\xde\x47\x9e\xa1\xc7\x4a\x6e\xa3\xf3\xe4\x84\x48\xa7\xa4\x28\x58\x8f\xf7\xa2\x38\xa0\xc1\xa9\x59\x69\x19\x20\x01\xee\x03\x90\x73\x52\x54\xef\xa6\x5c\x24\x12\x3a\xdf\x19\x63\xe4\xa0\xde\xce\x7b\xe0\x5c\x95\xaf\xe1\x3e\xc8\x37\x33\xf5\x5c\x88\x58\x87\xf6\xf3\x85\xe3\xd5\x45\x74\x16\xc9\x4b\x83\x6e\x37\xd8\x72\x3f\x95\x96\x0b\x58\x2d\xd6\x82\x16\xfa\xab\x4e\x48\x96\x7a\x93\xc2\x9e\x35\x8f\x39\xe2\x90\x59\x36\x5b\xdd\x00\x2e\xad\x5d\xe1\xdb\xc1\x61\xc8\xdb\x39\x27\xcd\x43\x81\x08\xe3\x6e\xbd\x36\x73\x63\x55\xcc\x18\x81\x77\x6c\x20\x03\x01\x68\x75\xe2\xe0\x69\x66\x3b\x65\xb4\x9d\x73\x5b\x79\x05\x99\x69\x15\x69\xba\xb4\xa7\x36\x2c\x2c\xa9\x34\x27\xa4\x23\x97\x2f\x97\x8d\x0e\xd6\x44\xbb\xdc\x5d\x93\x31\x89\xc7\x45\x15\xcc\xb7\x65\x58\x9f\x34\x1e\x89\x1d\xf3\x44\xa3\x22\xaa\x40\xad\x39\x5f\xb1\x88\x41\x07\x4e\x82\x59\xc3\xf9\xe4\x5e\x1a\x0d\x59\xf8\x3b\x30\x94\x0e\xec\x8c\xd9\xd4\xd8\x5f\xc6\x83\xe5\xc1\xbd\x3e\xd8\x5e\xf4\x33\xa5\xcf\x2f\xb2\x73\xb6\x74\x0b\x49\xb6\x4e\x76\xa2\x7b\xbd\xf7\x3a\x0e\xec\xfc\x58\xc7\xf2\x9d\xda\x76\x5d\x34\x55\x85\x60\xe1\xed\xb7\x17\x55\xa8\x66\x10\x49\x4d\x73\xb3\x9c\x36\xee\x42\x18\xc6\xf4\x76\xdb\x19\x2e\x00\x98\x8f\xe4\x0b\x64\x17\xca\x3e\x30\x20\x53\x8b\x85\x24\x8c\x49\x9f\x4e\x97\x5b\x54\x70\x3a\xe3\x3c\x30\xab\x56\x38\xcf\xea\x65\x5f\xf5\x73\x19\x8d\x31\x63\xb3\x24\x55\x11\xa3\x96\x80\xc1\x40\x72\x30\xe8\xf9\x21\x1b\xad\x8d\x81\x67\x2c\x00\x84\xee\x4d\x05\x93\x35\xc3\x15\xd4\xaf\x96\xd0\x85\x5e\xed\x86\xd3\x86\x5f\x1c\x07\x89\x4b\xa9\x43\xd2\x7a\x7c\x15\xc6\x22\xdd\x69\x0f\x67\x1f\xd0\x9d\x48\xac\x0f\xf8\x35\xa7\x24\x7c\x0b\x16\x9b\x33\xb6\x7b\x70\xa3\x83\xc7\xce\xad\xa5\x09\x91\x92\x86\x01\x35\x06\x24\x51\xb4\x19\xbf\xc2\x44\x0c\x34\xc0\x6f\x06\xaa\x60\x76\x75\x72\xa6\x51\xce\x9d\x77\x27\x2e\xb3\x53\x21\x00\xe8\xb0\x5e\x14\x7a\x26\x1d\x92\x4d\xd0\x65\x02\x9d\x11\x00\xc4\xa3\xd8\xd8\x1d\x01\xc0\x62\x49\xd1\xa0\x39\x9e\x62\x3a\x43\x4f\x1e\x52\xd7\xdb\xcd\x51\x25\x3c\xb0\x31\x12\x03\xc7\x44\x38\x3b\x94\xd0\x4c\xc4\xd7\x4c\xdb\xe0\x57\x7a\xe7\xb6\x0a\x44\x9c\x43\x10\x3e\x21\x51\x61\xb5\xd6\x80\x4d\x8b\xca\xd8\xf1\x39\x30\x87\x7d\xa6\x6c\x86\xbd\x83\xc6\x88\xe0\xad\x14\xa0\xed\xc0\x1e\x6b\x4e\xca\x9a\xbf\x9d\xee\xd8\x0e\xca\xfc\x20\xaf\xaf\x9f\x33\x72\xb7\xa5\x6d\xa4\xb1\xf0\xae\x23\xdb\x19\xa9\x07\x54\x19\xaa\x91\x0d\x2c\x60\x22\x2b\xe8\x34\x36\xb9\xcc\x54\x31\x8f\xb6\x3e\xa0\x58\xa7\xe7\x67\xd5\xe2\x4d\x4e\x3a\xaf\x5c\x13\x66\x21\xc8\x57\x3d\xc5\xcd\x35\xb2\x03\xc0\x14\xa8\x6a\xdf\x73\xe0\x2c\xca\x3e\x98\x02\xec\x90\x19\x6b\xf6\xbc\xb8\x20\xdd\xd9\x5b\xcf\xce\xd5\xd1\x81\xc6\xca\x92\x22\x88\xba\x42\x18\x26\x96\x80\x68\x4f\x84\x85\xd6\x35\x00\xd9\xb3\x9b\x2b\x46\x24\xc6\x81\x7a\xa3\x95\xd5\xa9\x82\x90\xfd\x6c\xc3\x0b\x9b\x99\xbc\x29\xdd\x35\x49\x2b\x26\x9d\x0e\xf8\x82\x37\x92\x93\x48\x02\xfc\x02\x51\x98\xf3\x50\x32\x05\x04\x58\x38\x73\x3f\x9c\x0f\x6b\x09\xec\x2b\x28\x59\x52\xfb\xa3\x96\x6d\x08\x6d\xbe\x64\xb7\x33\x0c\x23\x9a\xa8\x88\x3b\x48\xb3\x16\xdb\x95\x68\x37\x5b\x4d\x66\xa6\x88\x65\x5a\xd9\xee\xc8\x96\xae\x76\x46\x86\x18\xdf\x98\x0b\x91\x7c\x68\x14\x52\x03\xb4\x10\x07\x5f\x33\x47\x71\x87\xb2\xa3\xd3\x5f\xf0\xa5\x7e\x52\x9a\x29\xbc\xd1\x3c\xc8\x59\x2d\x97\xec\x5c\x53\xc0\x56\xa5\x12\xb0\x98\x4d\x35\xb0\xe7\x42\x48\x3c\x64\x87\xce\xf0\x0d\x10\x81\xd5\x6c\x21\xd0\x73\x19\x1e\xbb\x15\x0b\x8e\xa0\xdb\xf3\x66\xc3\xf3\xc5\x5a\x39\x50\x0e\x5a\x66\x9c\x99\x6e\x85\x4c\x99\xd9\x09\x13\x68\xbe\xb3\x3a\x02\x7e\x3c\x2c\xc6\x03\x7d\xa6\xd9\x62\x87\xfa\x56\x3e\x08\x39\xeb\x4e\x39\x17\x39\x39\xf3\x50\x16\x96\xc8\x69\xec\xf8\xb4\x9b\x69\x92\xb5\x4d\x38\xeb\xd4\xfd\x01\x9c\xe1\xc5\x66\x8f\x0a\x5a\x3f\x44\x73\x5f\x5b\xa1\x87\x84\x5c\x53\x0c\x40\xa8\x45\x22\x15\xe8\x8a\x6c\x9d\xd5\xb2\xdd\x1d\x4f\xd4\xbc\x24\x16\x2a\xcb\x82\x6e\xbe\x0c\xf4\xe5\xce\xc4\xed\x45\x35\xb6\x32\x77\x6e\x3f\x8d\x86\xab\x3d\xc4\xa6\xc1\xe9\xb2\x59\x4c\x37\xcb\x85\x89\xef\x0e\x2b\x0c\x85\xb4\x58\xa1\xf1\x96\x20\xb9\x5a\x0c\x94\x64\xce\x85\xb8\x0f\x48\x60\x97\x27\x5b\x57\x0e\x55\x75\x45\xfa\x98\x7b\xde\xac\xd6\xca\x6c\x30\x46\xe3\x90\xce\x67\x1d\x31\xb3\x3c\xa3\x8e\xb8\x53\xd5\xed\x17\x90\x7c\x3c\x08\x30\x4b\xa4\x81\x00\xcd\x63\x4b\xcd\xca\xba\x85\xaa\xf9\x0c\x39\x5d\x6c\x0f\x4a\x85\xbd\x9b\x3a\x19\x4e\xa7\x98\x16\x87\x0d\x8c\x8b\x5b\x4c\x8f\x0f\x06\xb4\xe0\xba\xd1\x38\x24\xc8\x0e\x8a\xca\xe6\xc0\x2f\xc5\x55\x36\xcc\xeb\x96\x10\x2f\x53\xdb\x44\xe9\x41\x08\xa7\xfe\x9e\x06\x73\xc2\x24\x7d\xf0\xe1\x36\xf8\xcd\x4f\x3f\x3f\xfe\x38\xf3\x9d\x93\x7f\x61\x62\xf9\x5e\x05\x85\x4e\x96\xfe\xb2\x59\xbe\x79\x37\x79\x73\x7b\x02\xe5\xe9\xe7\xa7\xff\x42\x0d\x13\xa4\x0e\xe6\xb6\x7e\x76\xdd\xe1\x5e\x56\x03\x52\xf5\xaf\x1a\x74\x3b\x6a\xe4\xe3\xd7\xd8\x1c\x10\x61\x42\x3b\xf3\xdb\x93\xad\x8b\x29\xd7\x90\x77\xb7\x3d\xe0\x50\x1f\xdc\x8e\x89\x00\x6a\x50\x23\x77\xd4\x75\xc0\xad\x04\x5a\x88\xae\x4f\x7d\x03\x0e\x64\x45\x04\xc0\x0b\x0d\x00\x18\x9c\x04\x80\x58\xde\x5e\x08\x3e\x00\xb4\xda\x01\x40\x14\x57\xf0\x42\xee\x03\x80\xb9\x5d\xba\xcb\xa5\xc3\x4d\x3c\xcc\x50\x86\xdd\xb1\x02\x0a\x0e\x6b\x00\x75\x04\x94\xed\x90\x34\xba\x89\x6a\xdc\xc9\x54\x3c\x00\x00\x1a\xa6\x03\x60\x17\xf2\x98\xc7\xa9\x90\xeb\x03\x40\x71\x01\x2b\x91\x94\xea\xed\xcb\xfa\x78\x8c\xab\x23\xef\x2e\x20\x14\x1e\xd6\xcb\xf9\xa6\x21\x86\x11\x60\xd2\x4b\x54\x68\x33\x95\x70\x34\xd7\x1a\x93\x2a\x2c\x65\xc8\x3a\x6a\x39\x35\x39\x73\x6a\x3d\x72\x6a\x92\x5a\x32\xb0\x26\x51\xa4\x0e\xb2\x30\x10\x33\x70\x16\xa9\x24\xc4\x32\x5f\xb7\x18\x12\x10\x14\x9e\x88\xc7\x28\xae\x33\x78\x3e\xba\x59\x01\x4e\x5d\x9d\x99\xdb\xbd\x69\xc5\x3a\xcd\x86\xa9\x62\xd4\x91\xc4\x52\x91\x53\x0f\xf1\x66\x70\x37\xab\xd5\x74\xed\xcc\x37\x53\xf5\xdc\x84\xb9\x8d\x13\xb3\xcb\x74\x33\xb5\xbc\xd5\xa2\x6d\x13\x36\x6e\x51\x5f\x40\x0c\xa9\xb9\xfd\x37\x5a\xf4\xeb\x3f\xd4\x06\xd4\x65\x86\xed\xd1\xf4\xe4\x71\x95\x25\x1f\xf5\xa6\xb4\xca\x56\x6a\xd5\x52\x49\x63\xc7\xd1\xa0\x85\x85\xc6\x84\xe4\x49\x1c\xe5\x3a\x73\xd3\x5a\xa6\x43\xab\x23\xf6\x4a\x60\xf2\xce\x0c\x56\x7b\x74\x15\xd2\xc6\x98\xa0\x1f\x86\xfa\xd2\x5e\xe6\x61\x01\x60\x58\x49\x7d\x48\x3f\xd2\xb3\x13\xba\x15\x2b\x2a\x0a\x61\xd1\x1e\xa6\x0e\xd0\x66\xc8\xd9\x93\x22\xa5\xeb\x54\x17\xb9\x9c\x2a\x8d\x59\x6f\x84\xb3\xbd\x2b\xbb\x34\x63\x99\x5d\xb7\x26\x33\x20\x30\x80\xf2\x47\x4d\xea\x08\x05\xef\x1d\xc0\x62\x24\xcb\x84\x0c\xf0\xb3\x90\xc1\x01\xe3\x33\x3e\x83\xb1\xdb\xdc\x3d\x48\xb8\x54\xa0\xd5\x01\xc7\x00\x0b\xc2\x70\x2d\xfa\x20\x82\x0e\x0c\x15\xc9\x18\x26\xb6\x01\x2a\x4a\x91\x78\xac\x49\x1c\xe3\xf2\xb1\x0c\x43\x6f\xec\x72\x11\xf0\x61\x14\x38\xfe\x5c\xd4\xe6\xae\x11\xf9\x40\xa2\x30\x39\x4a\x62\x35\x49\xf3\xd5\x2e\xd9\x1d\xd7\x65\xbc\x2e\x36\x0b\xe1\xc0\xb1\x30\x21\xe2\xd1\xc1\x53\x48\x47\x2c\x01\x31\x5b\x6d\xa6\xab\xe9\x6a\x57\x1d\xd0\xb6\x1e\x8d\x47\xb7\x01\x33\xb3\xb5\x3b\xea\x24\xf2\x50\x39\x83\xc0\x85\x58\xce\xb9\x1d\xd6\x2e\x58\x9a\xb1\x98\x8e\xc9\x99\xc5\x96\xb1\xbd\xd6\x5d\x23\x25\xcc\xa0\x02\x7f\x6e\xd9\x93\x90\x2d\x4e\x27\xbc\xe8\x66\x64\xc0\x48\xb1\x28\x86\xa8\x85\xae\xc6\x18\x1c\xb6\xea\x93\xa2\x61\x08\x72\x08\x98\x86\xae\x37\x8b\x3a\x4d\xb1\x72\xb5\x18\xe8\x3d\x04\xb6\x40\xce\x8c\xf3\xa5\xd7\x34\x05\x17\xf0\xc3\x49\xd0\xf7\x9b\x6a\x7b\x6a\xbc\xa9\x7b\x82\x76\xf3\x12\x1d\xd6\xbc\xbc\x55\x85\x16\xb5\x74\x83\x18\x7b\x05\xc5\x1c\xc5\xc8\xe3\x91\x14\xa5\x03\x2e\x72\x8b\x82\x8a\x3d\x8a\x77\xdd\x46\xe8\x78\x0d\xd5\x39\x15\x3b\x52\xda\x45\x3b\x06\x75\x82\x9e\xcb\x73\xdd\x76\x33\xb4\x6d\x76\xb3\xe6\x70\xdc\x02\xa0\xfa\x41\xb4\x8d\x77\x87\x23\xbb\x31\x5b\x73\x8c\xc1\x77\x2b\x74\x9d\x0d\x6b\xba\x12\x02\x8a\x42\x1a\xd4\xa2\x61\x72\xcd\x92\x2d\xd0\x03\x6f\x9a\x22\x07\x9a\x58\xc1\xe6\x0a\xea\x13\xc7\x39\xed\x30\x99\xdb\xf0\xb3\xf4\x08\x83\x22\x35\x28\x99\x0b\xb1\xd5\x89\x09\x85\xc1\x47\x23\x64\x86\x8d\x99\x96\x41\xeb\x33\x9f\x8f\xca\x19\x44\x60\xd8\x74\x49\x47\xdb\x9d\xd2\x27\xd2\xc9\xee\x4f\x9b\x69\xe1\x40\x6b\xbd\x1a\xf8\x4d\x3c\x50\x9b\xcd\x7c\xb9\xae\xbb\xde\xc4\x41\xb1\xe8\x6c\x31\xe4\x71\x89\xd4\x0f\x58\x44\x1c\x5d\x0f\xf5\x98\xf9\x7a\xf4\xdb\xd3\xc0\x83\xa6\xb3\x06\xf2\x6a\xc8\x41\x01\x37\x85\x1a\x79\xb8\xec\x94\xd6\xe7\x56\x65\x32\xad\x31\x72\x8e\x9b\x60\x46\x4b\x16\xa5\xac\xb2\x62\x2f\x72\x38\xee\x56\x05\x96\x2f\x67\x5b\x62\xe3\xd1\x18\xb1\x5a\x1d\x9b\x94\x9d\x2d\x33\x68\x2c\x58\x2e\x8b\x29\xe4\xec\x58\x63\x77\x40\x4e\xc1\x70\xda\x6e\x23\xc9\x08\x3b\x4c\xe2\x90\x53\xba\x83\xd0\x50\x1a\x56\x50\xa3\x40\xeb\xf4\xd4\x34\x03\xa2\xf4\xb1\xb5\x9e\x06\x47\xc9\x66\x97\xa2\xca\x61\xd6\xae\x61\x13\x5f\xdb\xb1\x12\xd7\xc8\x63\x23\x31\x66\xb0\xdc\xaa\x43\x92\x02\x39\xc0\x19\x8a\xa6\xa1\x18\x40\xd0\x9e\x3e\xa3\x68\xe1\xc1\xde\xa1\x15\xd9\x23\x69\x41\x6c\x4a\x93\x4c\x06\x30\xc3\xdd\x20\x0b\x68\x10\x0e\xa7\x29\x7b\xc6\x7a\x9e\xc5\x21\xe8\xd2\x1f\xa7\x5b\xc3\x32\x47\x4d\xd9\x02\xb3\xf2\x60\xb8\xf1\x66\x0d\x76\xb9\xe8\xbc\x58\x6e\xc9\xd8\xd5\x34\x0e\xd7\x6d\xd1\x07\x60\x29\xa4\x9e\x2f\x1e\x56\x9b\xcd\x6a\x68\xad\x03\x8d\xf8\xdb\x8a\xc9\xc5\xd0\xd5\x9b\x4c\xea\x00\x94\x21\x90\x4d\x0c\x2b\x38\x3b\x9d\xc6\x2d\xa7\x14\x63\x41\x27\x67\x18\x90\x43\x81\x04\x83\x6c\x4b\x51\xb5\xc3\xfb\x6a\xaf\xcc\x51\x8c\x59\x9d\x0d\x5c\x87\xc2\xc0\x85\x1c\x8c\xd3\x4d\xc5\x0c\x44\x87\xd2\x36\x05\x7f\x16\x61\x3f\x21\xbb\x64\x1e\x44\x45\x25\x68\xe4\x99\xc8\xfc\xb1\xbe\x88\xae\x6c\xe1\xdc\x5a\x64\x8c\x71\xbb\x70\x48\x0c\xcd\xe7\x74\x53\x87\x67\xf4\xd9\x13\x76\x5b\x0b\xd8\x6a\x98\x67\xac\xa2\xd3\x80\xeb\xac\x39\x67\xe4\x09\x8d\xb3\x2a\x06\xc7\x22\x9e\xa9\x70\xe5\x70\xb0\x8f\xf3\xac\x24\x17\x85\x30\xf6\x0a\x68\x2f\x86\xc9\xc2\xcc\x99\x9c\x62\x6c\x42\xf5\xf6\x5d\x27\xf0\xc8\x65\xe5\x0b\x73\x37\xd5\x83\x52\x1e\x34\x0a\x23\xc8\x81\xcf\x23\x75\xb7\xe7\xe1\x39\xc6\xf8\x54\x25\xcf\x7c\xbf\xdf\xab\x03\xa7\xc9\x21\x2e\x55\x24\x46\xaa\x64\xf6\xd0\x1e\x91\x0a\xa4\x5d\xd0\xfb\xe3\x99\x77\x67\xeb\x5c\xa6\x35\xcf\x4c\x9b\x26\x0d\x4d\x2b\xcb\x19\x46\xc4\x00\x13\xa4\x6a\xe1\xb7\xf6\xac\x56\x51\x01\xe3\xa8\x50\xc7\x5d\xfe\xe2\x02\x4c\xc7\xe8\xa9\xcd\x64\x78\x0b\x50\x69\xaf\x6e\xb8\x31\xc2\x25\x84\xd0\x0a\xb6\xc8\x11\x00\x30\x54\x83\x30\xdf\xd3\x91\xc9\xec\x1d\x0e\xec\x1a\xd7\x95\xe8\x10\xd5\x74\x4a\xf2\x76\x8e\x7e\x59\xbb\x41\x2f\x2c\x2c\x2a\x6f\xa3\xc0\x4a\x88\x05\x4d\x75\xa2\xd8\xc8\xb5\xdf\xed\x0e\x79\x25\x0c\xd6\x78\xe6\x7d\xb1\x25\xa0\x0b\x31\xe7\x89\x0e\x39\x6b\x78\x89\xf3\xb4\x1c\xa9\x5d\xd2\x55\x68\x84\xf3\x80\x20\xe0\x2d\x6e\xe6\xa1\x15\xf3\x5b\xd4\x0e\xad\x79\x5d\x6a\x15\x3b\xed\x23\x16\x70\xb2\x2a\xd7\x3c\x9c\xe9\x95\x2c\x96\xbe\xb2\x75\x1f\x5c\x00\x7f\x8c\x63\x32\xf1\x06\x0a\xa2\xa5\x60\x98\xe2\x73\x7b\x19\x5c\x48\xbf\x4c\x2f\x67\x6d\xb7\x1b\x02\x27\xc8\x66\x21\x55\x11\xe1\x36\x4b\x84\xa1\x9e\x12\x15\xb4\x1e\x56\x07\x66\x48\x4e\x12\xba\xf1\x0e\x33\x57\xd3\x64\x81\x0c\xcf\x12\x3c\x9e\x5c\x93\x2a\xaa\xf4\x67\x8c\x9c\x27\x51\x26\x6e\x1c\xa5\x39\xf5\x5c\x89\xd9\x74\x92\xa9\x19\x6b\xea\x49\x7c\x20\x8e\x92\xe9\xbb\x3c\xb1\xaf\xfa\x35\xdd\x1c\xed\xba\x47\x87\xb6\x0d\x24\x91\x53\x5c\x2a\xd9\x89\x00\xcf\x14\xc4\xed\x8c\xcd\x68\x1c\x4e\x92\x1e\xb7\x60\x96\xcc\x7a\xf6\x82\x30\xa4\xef\x47\x87\x32\x55\xdb\x23\xb6\xe1\xe1\x78\x1b\x59\xa1\xd6\x4f\x7b\x09\x02\x84\xd8\x1c\x24\x11\xe4\xb9\x65\xc0\xec\x69\x10\x30\x0c\x3e\x67\x14\xa8\xe6\xc2\xc5\x5e\x6c\x48\xd8\x58\xe5\x23\x97\xe7\x04\x41\xb8\x49\x37\x5f\xed\xfc\x8b\x2f\xd2\xb6\x5d\xad\x98\xf3\x9c\xcd\xb7\x3c\xd3\x9d\xb7\x12\xe5\x50\x70\x4f\xb1\x0e\xe1\x92\x70\xae\xda\xa8\x21\xce\x02\x43\xaf\x08\x4a\xee\x4f\xa7\x55\xeb\xd3\xfc\x45\x40\xa3\x88\xdf\x86\x16\x18\x9b\x0f\x83\xec\x80\x6e\xc0\x60\x43\x8b\x13\xd0\xd0\x19\x3a\x88\x74\xc4\x59\x6a\x9e\x2b\x34\x50\x45\x6c\x27\xa6\xc0\x48\xe6\xec\x7c\x76\xf2\xf0\xd8\x05\x5b\x8f\xf6\x10\xca\xc2\x8b\xcd\xc9\x3d\x8a\xfc\x61\x5d\xd4\x8b\x0a\x5b\x0a\xf1\xd6\x1e\x01\xce\xf3\x08\xeb\x06\xcc\xdf\xd2\x19\xc7\xbb\x0e\xb3\x5d\x23\x64\x07\x4b\xdc\x52\x2d\x94\x9e\x06\x2c\x49\xcb\x18\xbe\x4b\x34\x1a\xb7\xda\x63\xa7\x3a\xdd\x36\x3f\xf2\x2c\x23\x23\x46\xaa\x05\x65\x01\xcf\x1c\x20\x88\x7d\x84\xaf\x0c\x7e\x4c\xdd\x16\xe1\xb2\xed\xc2\xe5\x62\xa7\xcd\xeb\x92\xe1\x66\xf0\x96\xbd\xd0\xbb\x36\x57\x14\x09\x26\x4c\x33\x66\x6b\x92\xe4\x7b\x69\xca\x68\x2c\xab\xc8\x31\x05\x28\xd7\xdc\xcd\x57\xe7\x8c\xf2\xab\xae\x24\x4d\xf4\x08\x2f\x89\x16\xf5\x00\xbd\x1a\x0f\x9a\xad\xb4\x64\x0d\xd5\x70\xb5\x4e\xf9\xd8\xdd\x1c\xce\x58\x40\xe3\xfb\xd9\x76\xe5\xc6\xc9\x7c\x03\xfb\x68\xc9\x0c\x78\x0d\x2d\x2e\x34\xa3\x87\x60\xe1\xf6\x5b\x71\x41\x0b\xce\xd5\xe4\x35\xc6\xd6\x2c\x9a\x4e\x91\xf7\xca\x91\x07\x99\xaf\x8d\x01\xa9\xdc\x44\x0d\x38\x76\xf1\x40\xa9\xb9\x2c\xe1\x97\x78\xe6\xf4\x53\x2d\x13\xb0\x01\x32\xc3\x0d\xda\x5e\x3c\x82\x9c\x2d\xed\x7e\x16\x36\xbb\x8a\xa9\x04\x79\x27\xeb\x78\xd3\x75\x64\x00\x5b\x9b\x00\x6a\x7a\xa2\x9a\x22\xbe\x9e\xf6\xc4\x79\x34\x5f\xab\x8d\x2b\x72\xe7\x20\xf6\xe7\xb6\x19\x43\x6d\x14\x5a\x44\x52\x47\xed\x71\x4f\x85\x49\xa2\x4a\x3c\x3b\xd7\x0c\x21\xc2\x72\x39\x76\xe5\xc6\xdf\xcc\x14\xc2\x08\x19\xc2\x3d\x76\x35\xd9\x2a\x1e\xb1\x8f\x7b\xb3\x43\x2f\x10\x3a\x3f\x10\xa3\x60\xbb\xcd\x0e\x0f\x21\x7e\x3e\xf5\x44\xd8\xac\x17\x0e\xee\x32\xb3\x2d\x44\x71\x54\xef\x2f\x12\x9e\xdc\x48\xab\x52\xe2\x75\x25\x84\x40\x3d\x08\x87\x94\xdc\xef\xb8\xa3\x86\xd4\x97\x12\x4c\x63\xaa\x18\x22\x2e\x42\xb1\x3d\x03\x47\x28\xa6\x8f\xf1\xe1\xa2\xea\x88\x23\x58\x75\x71\x02\xdb\x14\x19\x91\x02\x61\x9f\x07\xfd\x30\x24\x44\xa1\x74\x73\x9a\x48\xed\xf3\xb0\x58\x55\x9d\x4b\x3b\x5c\xbe\x58\x4e\xcf\xb5\x07\x45\xb0\xd6\x94\xb5\xa4\x32\xa9\x7c\x60\x8f\x04\x6a\x6c\x60\xe3\x74\x74\xc6\x4a\xbc\x59\xaf\x98\xf9\xa6\x86\xf8\xf9\x62\xc7\x2e\x4c\x9f\x5a\xc5\x3c\xb0\xab\xfd\x06\x3b\x85\x47\x72\xd1\xd4\xc1\x91\x1c\x28\x8c\x9b\x2a\x39\x08\x4a\xad\x49\x01\x20\x3d\x32\x9f\x13\xe2\x3c\xbb\x5c\x44\x66\x7a\x8a\xe4\x73\x0a\xd5\xdb\xca\x1c\xb3\x55\xdd\x01\x9b\x33\x7a\x3c\xb7\x11\x04\x1b\xb5\xb7\x42\x5a\x62\x4d\x5d\xcc\x0e\x32\x10\xcd\x6a\xa4\x0a\x80\xf9\x1a\x65\x12\x22\x9d\x66\x14\xb2\x26\x76\xd0\x50\x50\x29\xda\xa5\x21\xd4\x3b\xa4\x2c\x67\x4a\x1b\x91\x7d\xef\x62\xd8\x3e\x8c\x6f\x00\xa9\x14\x07\xf1\x0e\xe3\xf9\x29\x1d\xb8\x11\x4a\xd7\x4a\x90\x31\xe4\x4c\x69\x62\xa5\x21\xe2\xca\x01\x3e\x68\xf6\x3d\x0e\x96\xc7\xfd\x82\x3e\x4c\x0f\xd6\x3a\xf0\xf4\x8a\x06\xbe\x2c\x5e\x00\x6c\x0e\x54\xb9\x66\xb6\x74\x40\xe3\x4d\xe4\x3d\xb8\x00\xf7\x94\xf0\x42\x6e\xaf\x3b\x3f\xbe\xc0\xc8\xec\x7c\x8c\x94\xea\x6c\x24\x1b\x1c\x36\xce\x7b\x56\xf6\xa9\x96\x6e\xc0\x61\x55\xd8\x3c\x40\x95\xdc\xe9\x40\x36\xcb\x32\x42\xe8\xba\x33\xa7\xd0\x88\x48\xb4\x0d\x14\xfb\x68\x8c\xa7\xdd\x58\xca\x5a\x6e\x9c\xde\x91\x73\xd6\x59\xbb\x26\x7b\xf0\x01\xee\x79\x0d\x30\x02\xff\x04\x1f\xdc\x25\x7b\xbe\xf0\xa0\x3c\x2e\xa0\x6d\x6c\xae\x2b\x1f\x41\xd5\x85\x82\x9f\xa6\xa4\x5c\xc3\x22\x85\xe3\x54\xa8\x1b\x0e\x35\x43\x67\x91\x32\x8f\x83\xb1\x50\x94\x13\xf2\x11\xf0\x97\x29\x59\xcc\x0e\xe0\x68\x00\xc6\xa0\xb1\x66\x23\xdc\xb4\xc4\x6b\x9d\x98\x3f\xad\x2e\x20\x5a\xad\x17\x83\xdc\x1c\xd7\xe1\xca\x58\xae\x4d\x21\xc3\xc1\xb2\x77\xf5\xf5\x1e\x81\x9a\xb9\x22\xb9\x88\xdb\xad\x16\xd4\x58\xda\x3f\x1c\x8a\xb4\x41\x89\xa4\x59\xed\xe7\x1b\xa9\x1a\xf4\x5d\x78\xd9\xb6\xfe\x56\x3a\xf1\xf3\x15\x7d\xde\xbb\x43\xe2\x2f\xd5\x65\x24\xed\x40\x05\x23\xdd\x16\x1c\xbb\xd0\xc3\x3a\xdf\xf7\x33\x8b\x57\x89\x55\xc6\x2c\x57\xa7\x84\xa4\xed\x73\x3b\x1e\x27\xf4\x4f\x49\x89\x29\x03\xba\x59\x9c\xba\x45\x54\xed\x38\x0e\x59\xe6\x89\x3f\x08\x70\x87\x57\x94\x63\x2e\x56\xcb\x63\xef\x29\xb9\xe9\x0e\xbd\x85\x9f\x9a\x29\x0d\x8e\x92\xbf\x44\xe6\x9e\xac\xc0\x43\x00\xb9\xd8\x92\x3a\x12\x67\x0e\x55\xd4\x31\x14\xd1\x3a\x51\x22\xd5\xac\x86\x01\x85\x93\x64\x8f\xaa\x6b\x33\xc3\x7c\x12\x68\x9d\x9b\xa9\x69\xe0\x51\xa9\xbe\xdd\x0d\x35\x98\x5d\xe6\xca\x19\x1a\x7a\x9c\xb9\xa8\x1d\x33\xf5\x92\xca\x3a\xa4\x8b\x94\x5a\x17\x97\x96\xa2\x2a\x98\x80\xf0\xd1\xda\xc0\x0b\x33\x0d\xd1\x73\x5e\xcc\x78\x03\x9a\x92\xf8\xea\x9c\xca\x3e\x74\x9a\x2e\x7c\x6c\xb9\xb9\x1c\x3b\x08\x73\x52\x03\x3b\x11\x8c\xc7\x97\x86\xb5\xd3\x97\x00\x07\x06\x95\x24\xe7\x3c\x5c\x19\x45\x9e\xe0\x92\xce\x17\x48\x62\xed\x7c\x66\x2c\x4b\x17\x94\xa3\x8a\x2b\x9e\x2c\xf3\x85\xd9\x17\x49\x6a\xc2\x6c\x0f\x4f\x19\x56\xdf\x63\x4c\xb9\x28\xf2\x6a\x88\xd7\x0b\x04\x3a\x75\xf9\x0a\x35\xf7\x38\x7a\xe8\x92\x80\xc3\x45\xa0\xea\xf8\x16\x34\x0b\xbe\xd9\xc7\x65\x48\x8a\xe4\x65\x39\x8c\x27\x86\x28\xab\xd9\x05\xb4\xbf\x14\xf1\x78\xef\x9d\x6b\x6f\x63\x88\x0c\xee\xec\x66\x21\x1a\xad\xa1\xb9\xca\xba\x90\x6d\x9a\x34\xa9\x6c\xbb\x2d\x6e\x70\xeb\xcb\x70\xee\xd0\x60\xde\xd2\x54\x02\x8e\x97\x64\xb6\x71\xfb\xd3\x9e\x84\xc9\xda\x29\xa2\x31\x4f\x51\xb4\x83\xe2\xba\x70\x41\x81\x5c\x3a\xec\x2d\xb2\x76\x7a\x11\x84\x00\x56\xbc\x18\xf7\xb8\x56\x22\x14\x39\x3b\xea\x8a\xc1\xda\x8b\x20\x5b\x2d\xa4\x02\x8e\x40\x6e\x77\x44\x99\x07\xa5\x20\x91\x2e\xcc\xe4\x0b\x20\x60\xcd\x25\x08\x47\x17\x40\x57\x75\x9d\x63\x73\x2c\x0b\x42\x35\x29\xcc\xdc\xf7\xe2\x39\xdf\xcf\x8a\xac\x29\x53\x03\xb7\x1d\xd5\x9f\x77\xf9\xce\x71\x54\xab\xd2\x4c\x0d\xdf\x01\x56\x35\x03\xce\x52\x95\x7c\x11\xb4\x8a\x8e\xe7\xc7\x14\x38\x24\x23\x54\x5b\x78\x2c\xc3\x9c\xfa\x46\x33\xa4\x62\xc9\x03\xd4\x3d\x2e\xd8\x06\xdf\xd6\x8b\x3e\x20\x41\xa1\x47\xc5\x9c\xc1\xe7\xfc\x74\x6b\xd8\x1a\x0c\xd9\x3b\x76\x19\x6c\x10\x37\x89\x2d\x96\xd9\x6e\x94\x20\xba\x0c\x36\xb9\xf1\x45\xb8\x34\xb0\x65\x9c\xcb\xbe\xea\x8c\x5c\xc6\x95\x35\x0e\xa7\xe2\x70\x50\x5b\x9c\x88\x90\x6c\x15\x5e\x2a\x55\x85\xfd\xa4\xa2\x1c\x19\xc7\x53\xd6\xac\x72\xaf\x58\x62\xf5\x41\x8d\x50\x5a\xee\xcb\x2d\x1e\x70\x66\x9e\x34\x90\x8a\xf8\x1d\x57\xf1\x87\x0c\x31\x21\x72\x8a\x6e\x56\x0f\x75\xee\x1d\xb5\x9b\xaf\x49\x9e\xa6\x8a\xad\x0b\x41\x3d\x1c\xcd\x37\xbe\xd1\x49\x53\x4d\x57\xb7\x6d\x02\xc4\x9e\x98\x21\x5b\xd3\xf4\xb3\x7e\x56\xe7\x61\x23\x5b\x4b\x5a\xc0\x59\x86\x5d\x37\x49\x9f\x2d\x02\x72\x27\xf4\xad\x4c\x1d\xc8\x70\x54\x3d\xa6\x77\xa4\x45\xe8\x1e\xf7\x83\x56\x14\x5d\x2a\x1e\x31\xd3\x0f\xca\x75\xb9\x48\x20\xce\xa6\xfd\x7e\xa8\xa6\xd9\x9e\x9c\x29\x50\x85\xb5\x81\xef\x87\xc0\xb9\x08\xe5\x14\x83\xa0\x29\x75\x51\x87\xea\x44\xc0\xa4\xc4\xaf\x24\x8a\x89\xce\x0f\x85\xf3\x33\x82\xed\x95\xc4\x4f\x03\x55\x3d\x3a\x2e\xb2\x9f\xcb\x39\xa6\xe6\x73\x7c\x49\x68\x34\xc0\x12\x8b\x2c\x17\xd3\xf5\x6e\x5a\xd6\xe1\x36\x56\x00\xa1\x72\x73\x66\x1d\xb1\xeb\xa3\x47\x10\x5e\x05\x71\xa0\x43\x57\xc3\x41\x95\x4b\x43\x1d\x9d\xd4\xa2\xce\x59\x81\x2d\xc8\xb9\x12\x08\x32\xc0\xd3\xa9\x34\x80\x6b\xec\x07\xe5\x2b\x90\xf8\x0c\x92\x07\x7a\x74\xf1\xb0\xb9\x59\x88\x21\xa8\x28\xb3\x8e\x28\xc1\x64\xa6\x20\x5b\xc9\xfe\xa5\xd6\x7c\x8f\xcd\x44\x0d\x8b\x4e\x53\x5a\x1a\xc5\xa6\xec\xb5\x40\xc3\xa8\x6d\x41\x9f\x91\x79\x98\xc8\x07\x34\xaf\x28\x15\x5c\x62\x03\x97\xc9\x4a\x97\x09\xb7\x41\x2e\xeb\xa5\xbe\x17\x9b\xa8\xb9\xd4\x09\xe3\x76\x5a\x81\xd6\x32\x9b\x2d\x86\xb2\x66\x60\x56\xe5\xcf\x21\x60\x07\xbb\xc4\xa0\x87\xfa\xe2\xda\x90\x52\x5c\xdf\xa7\x3b\x61\x8f\xb2\x0d\x75\x21\x43\xe6\xbc\x06\xa6\x97\x6e\x34\x07\xee\x76\x30\x1b\x49\x35\xef\x6f\xe3\xd3\x99\xa0\xb1\x8e\x90\x77\xdc\xd0\xe5\x2b\x57\x32\x77\x53\xcb\x08\x5b\xb3\x03\x20\x37\x63\x3d\x7d\x88\xbe\x6a\x58\xe9\x1b\xd9\xc0\xb8\xcc\xc1\xc1\x0c\xe3\xd4\x9e\xf1\x79\xec\x02\xd7\x96\x0a\x04\x3c\xd4\xc2\x28\x8c\xd5\x28\x4c\x61\x88\xb2\xa9\x94\x1c\xd0\xbe\x17\x77\x5b\xde\x5f\x96\xb9\x97\x1c\x37\xb9\x25\x26\xe8\xaa\x47\x88\x78\xb7\x1b\x0f\x3c\xaa\x4b\xc6\x64\x18\xa5\x13\x54\xbc\xb4\x48\xa0\x91\x52\x56\x4b\x73\xc7\xc9\x08\x91\x05\xcc\x8a\xd8\x62\x65\xd5\xaf\xf9\x03\x9a\x4d\xd3\x16\xd2\x36\x2e\x7d\x42\x31\xe0\xcc\x98\xb3\xdf\x08\x30\xec\x4e\x85\x9c\x3e\x9d\x8c\xb2\x5b\x84\xe3\x31\x7f\x78\xa3\xf3\xe1\xa2\x73\xe7\x07\x7c\x2d\xee\x08\xfa\x48\x6f\x13\x86\x2e\x67\xdb\xb5\xeb\x57\x82\xe0\x67\x17\x81\xc5\x36\x2b\x74\x77\x96\x20\x4e\xde\x19\x94\x51\x37\x97\xa4\x37\x70\x53\x50\xd5\x9a\x5f\x0f\x48\x08\x75\xf3\xb5\x73\xf0\x95\x51\x6c\xf8\x03\x41\xcc\x97\x9e\x78\x9c\x25\xdb\xd5\x72\x2d\x27\x45\x31\x2d\x00\x45\x4a\x42\xc7\x88\x32\x90\x4d\xcd\xc5\x40\x28\x32\xa2\xef\x33\xeb\x62\x35\x75\x20\x70\x96\x71\xd2\x37\x31\x3f\x81\x14\xdf\x44\xab\x3a\x6b\xb9\xcb\x5c\xaa\x8a\x87\x8c\x1e\xe3\xcf\x42\xe7\x49\x72\x78\x0c\xf6\x02\xd5\x49\x21\x8c\x27\xac\x1d\x90\x08\xa6\x24\x10\x57\xe5\x7b\x11\xce\x9d\x92\xd7\x2c\x35\x22\xce\x10\x7c\x4a\x07\x1f\x3e\xc0\x59\x1c\x15\x41\x35\x9d\x5b\xab\x59\x9f\x79\x00\xde\x71\x78\x33\x6e\x99\x29\x83\xe4\x84\x94\xec\xe0\x58\x1b\x27\x86\xd5\x04\x55\xe1\xc2\xcc\x40\xb1\xef\x34\x64\x01\xe4\x4d\x4e\xba\x29\x40\x18\xbf\xe1\xe7\x11\xb5\xc3\x37\x0b\xdb\xd8\x1d\xc2\x90\x35\x98\x73\x4d\x32\x6b\x14\xf3\x7d\x9d\xb3\xf2\xab\x90\x8d\x87\x02\x50\x12\xa9\xfb\x30\x8d\x0f\xac\xd0\x6f\x86\x75\xb4\x02\x36\xa6\x2a\x98\x2c\x45\x65\xbc\xae\xdb\xe9\x56\x75\x09\x06\x8f\xa3\x2a\x0f\xa8\xaa\xdd\x4d\x4d\xcb\xe1\x76\xe9\xcc\xdf\xa1\x1a\x4c\x30\x78\x29\x34\xe2\xb1\x95\xb3\x40\xdd\x8f\xd1\x17\x52\xa6\xc3\x7c\x26\x16\x8e\x7b\xd8\xd7\x5a\x25\x6d\x49\xcc\x16\xfc\xd4\x76\xa3\xb3\xa2\x71\xaa\xa9\xfb\x7a\x21\xa5\xf3\x13\x0d\x30\x21\xd3\x30\x67\x4f\x22\x43\x4d\x1f\xd2\x6c\xb7\xda\x83\x13\x0d\xf6\xb4\xbc\x76\x0f\x03\x09\x57\xfd\x28\x36\x6e\xc5\xec\x8a\xb6\xda\x96\xc7\xcc\x21\xb7\x92\x71\xa4\xfa\xe5\xea\xa4\x0e\x8b\xcb\x0a\xd9\x78\x2b\xa3\x9b\x03\xe2\xdc\x24\x36\x02\xd8\x4c\x2f\x90\x1e\xaf\xcb\xce\x0d\x60\x45\x94\x86\xd5\xdc\x48\x76\xb9\xc9\x6c\xe8\xb0\xa6\xcf\x0a\x3e\x56\x38\x2d\x98\x33\xc1\x9e\xdb\x66\xc7\xf5\x3a\x56\xb3\x69\x8e\x27\x71\x80\x01\xd9\xe0\x13\x70\x26\x57\x4b\xd2\x9a\xe3\xd9\xfe\xe2\x95\x84\xd1\xa8\x26\x2d\x1d\xbb\xb0\x40\x0e\x56\xba\x2e\xa1\xcb\x3e\x72\x78\x10\x16\x6d\x3b\xcd\x3b\x8a\xd2\xc7\x53\xf9\xb9\x58\xd8\xf1\x32\xac\xac\x22\xd3\xb4\xda\x3a\x57\xec\x09\x83\xf3\xf0\xd8\xe1\x64\xe8\x06\x17\x3a\x5f\x42\x07\x3a\x6f\xdc\xf4\x54\xad\x7d\x22\x99\xdb\xf0\xaa\x3f\x4e\xfb\x23\x96\x92\xfa\x1c\x3d\xb7\x88\x70\xce\x56\x28\x84\xc0\xfd\x74\x8c\xbe\x06\x67\xbe\xa2\x2e\x4b\x7e\x0f\x31\xc2\xd1\x9c\x9a\x3d\xd6\x32\xe4\xd2\xf3\xf0\xac\xb5\x53\x98\x3a\x0e\xe7\x63\x51\xcf\x9b\x92\xac\xb4\x78\x5b\x1d\xc4\xf5\x9e\xa2\x0f\xb0\x74\x80\x5c\x6f\x98\x57\x2d\xb4\xd9\xae\xcd\x86\x5b\x77\x05\xd2\x8c\x87\x46\xfb\x3a\x92\xaa\xe9\x7c\xee\xec\xab\x95\x87\xd6\xcb\xd9\x9e\x3c\x1e\x3b\x8d\xd1\xd4\x8b\x37\xcb\xa6\xa7\x69\x9a\x1e\x2b\x65\x66\xc6\x65\x17\xd2\x1b\x97\x3b\xef\xf2\xa9\x62\x6a\x41\x26\xed\x2f\x10\x6b\x2f\x0e\xe5\xe1\x1c\x5f\x4e\x60\x20\xc2\x31\x9c\x3b\x21\xeb\xd6\x27\xe6\x40\x9b\x82\x46\x5e\xb8\xc5\xc2\x6a\x50\xaa\x91\x21\x06\x66\xb0\x25\x86\xda\xfc\x6a\xb7\xea\x2a\x1d\x65\x58\x19\x3b\xb7\x36\x12\x57\xb0\x6f\xa3\x86\xcf\x84\x97\x04\x0e\x42\x68\xcf\x24\x18\x94\x2f\xf8\x3c\x84\xc7\xca\x92\x50\x4e\x3b\x0f\x2b\x9a\x29\x1e\x87\xb4\x51\xf7\x50\xd9\xe0\xf9\x56\x37\x1b\xd4\x11\x08\x48\x76\xbc\x06\x5e\x87\x99\x1a\x52\x81\x73\x9c\x21\x25\xad\x5c\x60\x91\x3c\x2a\x6e\xc7\x69\x3b\x6d\x85\x41\x28\xb2\xac\x6b\xf4\x44\xa7\x6d\x32\x66\xa3\x92\xc8\x37\xeb\x16\x46\x2d\x40\x4a\xcc\x59\xb9\xe0\x0b\x06\xd4\xec\xd6\xf5\xa1\x6a\x25\x9c\x77\x89\x4d\x1b\xd8\x51\x43\x36\x8a\x56\x2f\x1b\x4a\xc3\x66\xa8\xc6\x1f\xcd\x9a\xea\x4a\xa6\xe3\xf7\x00\x75\x5b\xdb\xd9\xf6\x16\xa0\x0c\x71\xcc\x02\x36\x3b\x72\x21\x02\x8a\x59\xed\xa3\x8d\xe3\xbb\xe0\x22\x78\x3b\x04\xa7\x62\x79\x7d\x3c\x94\x36\xa1\x66\xa6\x82\xcf\x63\xc6\xeb\x35\x86\xed\xe0\xc3\x86\xe9\x08\xd9\xc1\xb4\x7e\xd0\x04\x65\x23\xfa\x7e\x6b\x87\x4d\xab\x0b\x67\x63\x93\x8e\xaa\x77\xc0\xfa\x64\x87\xc3\xb5\xed\x4c\xb7\xb3\x0e\xe4\xac\x7e\xa1\x79\x45\xb0\x7b\xe7\xdc\x19\xd8\x14\xec\x7c\x4c\xc1\xf7\xeb\xa9\xae\x18\xb9\x05\x8b\x40\x54\x15\xa2\x81\x3d\x7a\x7a\x71\x92\x7c\x81\x09\xf5\x65\xab\xc9\x09\x5c\xce\xb1\x70\x8c\x0f\x97\x9d\x91\xb0\x85\xd1\xed\xf7\xca\x89\xb1\x8e\x55\x85\xa0\x2b\x82\x64\x24\x8d\x37\x28\x55\x64\xc8\x34\x25\x3a\x61\x8b\x75\xd9\x76\x73\x3a\xcd\x36\x87\x69\x7d\x54\x16\x08\x66\x86\x5a\x8d\x4b\x3b\x79\x49\xac\x3b\x1e\x1e\xa4\x7e\x79\x62\xc7\xc3\x29\x90\x30\x6c\x36\xb3\xb3\x2b\x0c\x39\x7a\xcc\x11\x6b\x13\x6a\x5c\xac\xc4\xd6\x45\xa4\xa4\xf5\xe6\x60\x1c\x94\x7c\xdd\xed\x58\xfe\x52\xcd\x6b\xa6\xde\x37\x06\xbd\x98\x9e\x8a\xb6\xdf\xac\x0c\x9a\x11\x45\xf8\xe8\x9c\xd4\x5a\x4a\x22\xd5\x4f\xc7\x52\xd5\x6a\xba\x76\x1b\x25\x9b\x95\xd6\x56\x38\xcf\x40\x8c\xc1\x4a\x0a\x84\x64\x63\x2c\x05\x74\x71\x64\x17\x3c\xa8\xa2\x68\x1d\xd7\x6b\x9b\x17\x12\x7e\x10\x3a\x9a\x34\x6e\xb4\xbc\xb8\x42\x7a\x36\xa4\x65\x86\x2f\x31\x40\x70\x8b\x8e\x18\xc5\xc6\x5b\xbb\x08\xa1\x2d\x17\x82\x8f\xba\x3c\xb7\x55\x9b\x46\x55\x1d\xbc\xa5\x22\xe7\x00\xa0\x43\x87\x4b\xa9\x21\x10\x80\xcd\x00\x0a\xdc\xbd\x74\x99\x59\xe9\x16\x60\x38\x58\x09\x9b\x96\xbe\xbe\x73\xcb\x7e\x3d\xaf\x5c\x1f\x6b\xec\x51\x97\x17\xa5\xb1\x60\x70\x6b\x9e\x40\x6b\x39\x9a\x79\x29\xaf\x88\x30\x0c\x10\x7f\xbb\xc6\x6c\x4e\x70\x70\x2c\xc9\x07\x1f\xc8\xfe\x79\x3e\xe7\x57\x53\x28\xb3\xd8\xd3\x31\x4f\x4e\x12\x5a\x2f\xfa\x0b\xbc\x02\x7a\xa5\x52\x81\xca\x48\xf1\xc5\x1b\x01\x3a\x82\xe3\x7a\x1b\x21\xd7\x68\xd6\xb7\xf4\x74\x41\x59\x5d\xe0\x17\xbb\x53\x10\x25\xc2\xd9\x43\x96\xa9\x99\x48\x97\xfe\x28\xd6\xde\x21\x39\xa9\x68\xaf\x65\x54\x9e\xd8\x3e\x72\x30\x6a\x5e\x9f\x95\xe5\x72\x8a\x7a\xde\x71\x91\x0b\x56\x31\x1a\x58\xff\xa2\xb3\x72\x40\x47\xec\x26\xef\x91\xcd\x4a\x3a\xba\x6e\x5a\x85\xa1\x6e\xe3\x5d\xb3\x6b\x17\x6a\xc8\x6e\xac\x23\x64\x1b\x32\x16\x93\xab\x54\x5b\x08\x86\x87\xb8\xa0\x20\xc0\x0a\x59\x0d\xf1\x66\x5e\x2d\x18\x60\xca\x4c\xc6\xb5\x9b\x51\x53\x98\x84\xae\x91\x72\xbf\xca\x89\x6a\xb5\x9f\x43\xf1\x42\xd7\x18\xc1\xab\xa4\x8e\x5e\x2b\x76\x85\x14\x7e\xd7\x1e\xc3\x65\xc3\x95\x9b\x03\x36\x6d\xd6\xcd\x39\x4b\x64\x8f\x8b\xb3\xd4\xdc\xc2\x52\x22\xc5\x4b\xe0\x1c\x68\x47\x01\x22\xbe\x7e\x38\x3e\x03\x35\x5b\xd2\x5e\x48\x07\x25\x0b\xe6\xcb\x33\x6a\x07\x78\xef\xa0\x81\x8f\x6e\x30\x3f\xdd\xa4\x76\xd5\x1d\x72\x0d\xe3\x16\x28\x59\x9a\x12\x52\x17\x82\x86\x2e\xd6\x9e\xd6\xcf\x8f\x48\x37\x48\x52\x8f\x70\x33\x18\x2d\x66\xc8\x85\x3c\x8e\x45\x8c\x05\xd6\x3a\xe5\x65\xb3\x61\xe6\x5e\xd7\x30\x8b\xc8\x70\xab\xf3\x52\x66\x84\x5e\x5b\x64\xc9\x51\xe8\xf2\x40\x5e\x36\xe7\xcc\x0f\x78\xa2\x83\x49\xd0\x1e\xc9\x36\x93\x7d\xe5\x04\xb8\xf2\x64\xa9\x3c\xd8\x50\xf0\x59\x5c\xb9\xa8\x8b\x3a\x63\x95\x38\x82\xd3\x73\x26\x4e\x37\xf6\x1a\xdd\x87\x1c\xac\x29\x29\xed\xa5\xae\x50\xb8\xe9\xce\x65\x18\x63\xc5\xa1\x06\x0b\xef\xd7\x79\xee\x85\xbd\xed\x39\xbc\x11\xf6\x54\x4e\x5b\x7b\x82\x99\x26\x2a\x9c\xa2\xb9\x1b\xaf\xad\x4d\x3a\xdd\xf7\xec\x43\xdd\xa6\x39\xb7\x2b\x18\x85\x5d\x61\x6d\xb4\xf4\x6e\x96\x94\xeb\x41\xaf\x0c\x2c\x36\x4b\xf3\x92\x28\x32\x67\xa9\xb1\xb8\xdf\x01\x2d\x83\xda\xa4\xaf\x98\x1e\xd7\xe0\x7a\xe7\xb1\x43\xb5\x42\xec\x6c\x0d\xec\x4c\xa6\x57\xb3\xa2\xcc\xe4\x7a\x3c\x75\x25\xaf\x9b\xc5\x72\x75\x18\x2e\xdc\x7a\xb9\xdd\x64\x3d\x8a\x5c\xce\xfa\x2c\x56\x97\x50\xa5\x94\x06\x15\x24\x62\xa1\x9b\xf2\xd6\x95\x13\xb3\xc8\x35\x33\x2e\x34\x94\x19\x9c\x3e\x32\x97\x5e\xab\xe8\x54\xee\xd9\x7a\xa2\x20\xd3\xfa\xbc\xe4\x47\x2e\xaf\x96\x42\xed\xda\xf2\x6e\x39\xf3\x2f\x03\x71\x54\x62\x13\x0e\x38\x72\x23\x6e\x4a\x72\x5b\x96\xdc\xba\x21\x77\x9e\x33\xd3\x9c\xa9\xed\xb0\x4c\x7b\x92\xba\x0b\x3f\xeb\xf2\xb0\xbc\x20\x95\xba\xc8\xf2\x56\x2a\x8c\x1a\x77\x1a\x95\xc3\xe4\xd1\xa7\xb0\x86\x78\x82\xc4\xc1\xa1\x8e\x30\x2e\xed\x61\xc9\x59\xbb\x87\x94\x58\x14\xac\xb9\xca\x22\x8d\xc3\x69\xc3\x5d\x6b\xc8\x0a\x92\x24\x87\xdf\xf8\x00\x78\x9d\x03\x21\x76\xb5\xa3\xa7\xdb\x14\x3f\x4d\x8f\x39\x74\x48\xa8\x8a\xaa\x49\xac\x19\x35\x65\x57\x54\xd5\x3a\x53\x98\xe3\x26\x1e\x54\x0a\x17\xd9\x4d\x09\xc2\xb3\xa4\x6d\x10\xad\x3e\x2b\x3d\x7d\x29\x9a\x22\xe7\x86\xdd\x39\x9d\x52\xcd\xb4\xaf\xb8\x8b\xba\x1b\x76\xc3\xa5\x0f\x9a\x63\x1a\xc9\xfb\xdd\x72\xa9\xa7\x86\x84\x4d\xb9\x74\x74\xf4\xc4\xfe\xe2\xd2\x07\xc8\x35\x87\x1c\x57\x57\xba\xae\x36\x60\x3b\xf4\xdd\xb9\x8d\x0d\x73\xe3\xec\xf4\x64\xee\xd8\x3d\xaf\xe6\x04\xd2\x46\x85\x38\x0c\x91\xd6\x91\x2a\x83\xaf\xb6\x36\x14\x1e\xc5\xd6\x1b\xd0\x93\x6c\xc4\xba\x04\x1b\xe6\xc8\x94\x46\x55\xdb\xc8\xa0\xbb\xf9\x02\x9d\xb2\x5b\x6e\x43\x72\xae\x52\xba\x0a\x4c\xd8\x88\xa2\x6f\x70\x61\x49\x78\x5b\xf9\x12\xd0\x5e\xad\x1f\xb5\x42\x38\xb5\x47\x50\xac\x12\xb8\x35\x36\x7d\x8b\xe9\x53\x64\x2d\xb5\x2c\x7a\xf1\x0f\x73\xc7\x42\x6f\x00\x39\x27\x67\x55\x75\xd5\x91\x12\xa4\x01\x11\x2b\x38\x84\x86\x08\xc9\x9c\x06\x55\x4e\x78\xeb\x19\x69\x70\x95\x58\x99\xda\x4c\xf3\x57\x19\xb7\xe7\xce\x97\xad\xe7\x57\xc7\x7d\x43\x09\x24\x0a\x23\x46\x57\x42\xdb\x35\xe5\x21\x79\x31\x3f\x8d\x06\x96\x39\x99\x89\xd8\x9e\x6d\xda\x36\x97\x60\x3b\x10\xfb\x64\xfc\x0f\xe9\x95\x29\x3d\x5d\xa8\xca\x4a\xb9\xf4\x0e\x42\x03\x00\x00\x7b\x94\x28\x9d\x96\x22\xe3\x28\xc5\x42\xb2\xbf\x98\x3a\x05\x9b\x22\xb8\xf0\x04\x89\xec\x14\x30\xd6\xb1\x77\x0a\xdf\x69\x04\xd9\x0b\x67\xb5\x13\xce\xe0\xb2\x53\x00\x2c\x9c\x41\x27\x58\x72\x84\xfb\x00\x00\x5c\x83\x25\x2d\x80\xcd\x2d\x05\x9b\x4a\x5e\xdb\x88\x94\x9b\x69\x04\xf8\x33\xe8\xf9\x0b\xdc\xf3\x32\xdc\xf1\x9a\xd8\xf3\x44\x36\x86\xc4\x02\x91\x5d\xf6\x38\xdc\xed\x89\xac\xe3\xf7\xb6\xb5\xc6\x6e\xad\x79\x20\xab\x9a\x20\x71\x0b\xdc\x60\x98\xd7\x74\xc7\x9d\x2c\x75\xac\x1a\x72\xad\xda\x7b\xf3\x6e\xf2\xa6\xf6\xfa\x1a\xca\x63\x2b\x4c\x6f\x3f\x89\xd3\x78\xef\x26\x08\x32\x01\x8d\x3f\x41\xe0\xd9\x6a\x02\x2f\xff\x3a\x47\xfe\x8a\xce\x26\x53\x18\x7e\x48\xb3\xbf\x01\xfe\x76\x3f\x40\x9c\xf9\x50\xeb\x95\x55\x98\xa5\xcf\x17\x99\xbd\x5f\x7d\x1f\xa4\xfb\xb8\x5e\xf1\xfb\x05\x5e\xff\x32\x5b\xbe\x02\x98\x1f\xd6\x10\x4d\x02\xe2\x39\x18\x3f\xac\x27\xa5\xd7\xfe\x72\xbb\x20\x7e\x72\x1b\xf3\x09\xdc\x37\xae\xbb\xf6\xfa\x3c\x2b\xeb\xf7\xe7\xea\xa7\x24\x73\x9b\xd8\x7b\x3f\x3e\xb8\x5d\xd8\x73\xfb\x81\xa2\xdb\xb0\x87\x69\xef\x6e\x4f\xe2\xd0\xfe\xeb\xf5\x7f\xb7\x2b\x83\x6e\xbf\xc5\xf5\xef\xd0\xe4\x9f\x3f\xbf\xfb\x09\xfa\xf7\xc9\x6c\x31\xf9\x77\xe8\xe1\xd1\xdb\x4f\x97\x39\xdd\x40\xbf\x9b\x3c\xc0\x7e\x37\xf9\xed\xb7\xce\xb3\x73\xcb\x89\x7e\x2b\xbd\xa2\x09\x4b\xef\xb7\xdf\x7e\x9e\xfc\xd7\x4f\x3f\xfd\xe5\xd3\xdd\xd5\x7f\xf9\xf5\xa7\x9f\x1e\xae\x71\x1a\xef\x56\xfa\x78\xf9\xda\x47\x28\x7f\xf9\xed\x37\xaf\xe2\x6f\xb0\xff\xf2\x6e\xf2\x5f\x93\xd6\x8a\x1b\xef\xaf\x93\xba\x6c\xbc\xdb\xef\x2a\xb5\x56\x39\xe2\xfd\xdb\x6c\xf2\xe1\xde\x9a\x6f\x67\xf0\xc3\xb0\xfe\xeb\xc3\xd0\x87\x61\x9d\x67\xd7\xf5\xe5\xe5\x71\xc8\xa7\x71\x55\xe6\x44\x5e\xfd\xf2\xd0\xd9\xc3\x50\x2f\xf6\x92\xc9\x87\x89\x9b\x39\xcd\xed\x2a\x73\xdf\xab\xc9\xf1\x56\x73\xec\xc2\xb8\x6f\xff\xf2\x78\x57\xff\x5f\x7e\xfe\xf5\xa7\xf0\x34\x79\x7b\x1b\xff\x6f\x1f\xc6\x9b\x73\x3f\xbf\xac\xea\x3a\xf0\xd3\xcd\x54\x7e\x76\x45\xf4\x76\xb7\xc2\x87\x0f\x93\xbf\xdc\xc8\xf0\x97\x4f\xb7\x53\x4d\x26\xe3\xab\x4f\x3f\x67\xf6\xdb\xec\x3d\x7d\xfd\xfb\xb6\xc0\xe3\x75\x53\xb7\xff\x7b\x71\xe5\xdd\x9f\xf8\x40\xb5\xf7\xc7\xfb\x13\x47\xfa\xd7\x79\x45\xa6\x96\x1d\x7b\xee\xe4\xc3\xa4\x0b\x53\x37\xeb\xde\xc7\x99\x63\x5d\x25\x63\xbc\x08\xcc\xc9\xe2\x07\x24\xeb\xbc\xfa\xeb\x5f\x7e\xfd\x38\xb9\x29\xe3\xc9\x87\xc9\xdb\x2f\x60\xfc\xe7\xe4\x4d\x57\x55\x7f\x85\xa0\x37\x93\xbf\x5e\x3f\x5e\x3f\xfd\x3c\x99\x3e\x83\x1c\x64\x55\x7d\xe7\x71\x6e\xd5\xc1\xed\xba\xaf\xe9\x75\xf2\x9b\x4f\x6b\x59\xa5\x5f\xdd\x41\xb0\xf2\xac\xd2\x09\x3e\x0d\x3b\x59\x4e\x9d\x95\x97\x07\x02\x7c\xc6\xe7\xf7\x78\x96\xa6\xe3\x2f\x4a\x52\xe3\x98\xb7\x4d\x19\xbf\xfb\x28\x32\x1f\xb7\x5a\xfd\xfc\x09\x5a\x57\x7f\x02\x34\x8e\xd2\x3d\x5b\x51\x8c\xb7\x37\x6d\x7b\x5c\xec\xdd\x0d\xb9\x77\x93\x91\xa7\x56\x53\x07\xbf\xd5\x59\xe4\xa5\x9f\x01\x72\xe2\xac\xf2\xca\x9b\xb4\x75\xf5\xfb\x2c\xf7\xd2\xc7\x3b\xc6\x1e\x36\x64\xb9\x2e\xd9\x7a\x69\xbd\x0b\xab\xda\x4b\xbd\xf2\xed\x5f\x9a\x34\xce\x2c\xf7\x2f\xef\x3e\xdd\x06\xfe\xf6\x73\xf9\x78\x84\xf8\xe9\xae\xb2\x91\xf5\xef\x6f\x2f\x1e\x9f\x5e\xd5\xec\x9f\x3f\xfd\xfa\xcc\x0c\x2c\xff\x64\x66\x00\xcf\x92\x3c\xab\x6e\x37\x6b\xd3\xe3\x65\xde\x1f\x3e\x21\xf6\x69\xe3\x1f\x9f\x3c\x1b\xff\xf6\x6a\x72\xad\xd2\xb3\xde\x4d\x9c\x4f\xef\xb4\xd0\xeb\xde\x4d\x1e\x55\xf4\x0b\xf5\x0a\xc2\xea\xfd\xe3\x9c\xc9\x87\xc9\xe3\xc7\x5f\xbf\x1c\xf1\x04\xd6\xe4\xc3\x53\xe8\xbf\x3e\x85\x38\x2e\x75\x83\x38\x7e\x7c\x32\x22\xac\x1e\x70\x4f\xfd\xc9\x87\xc9\xc9\x8a\x2b\xef\xd9\x08\x79\xbc\xa8\xff\xb3\x4d\xbe\x30\xf4\x33\x64\x0e\x9f\x46\xfe\xd7\xa4\xaa\xad\xb2\xfe\xeb\xcd\x04\xbd\x9b\x78\xa9\x3b\x7e\x9c\xfc\xf3\x73\xed\x7f\x46\xc2\xcf\xaf\x86\xfd\xf4\xee\x06\xea\xb3\x9b\xff\xbe\x94\xc2\x3b\x5b\xba\xf2\xf5\xdb\x68\xbe\x7f\x84\xfb\x05\x23\xde\xdf\x64\xe3\x7d\xec\xa5\x7e\x1d\x7c\x9d\x15\xb7\x39\x78\x96\xd6\x5e\x7a\x05\xf3\xe6\xcd\x37\x86\x3b\xb1\x55\x55\x57\xed\x1a\x7d\xb6\xe5\xd4\x61\xeb\xbd\x79\x54\x93\x5f\xbf\x87\x24\xe3\xe5\xd3\x5f\xd0\xc4\x6b\x3f\xa7\xca\x55\xa2\x7f\xbb\xdd\xd6\x38\xee\xef\xbb\x76\xe2\xb5\xef\x5d\xab\x7e\x2a\x88\xe3\x9a\x9f\x21\xf8\xe0\x84\xaa\xcf\xf5\xbf\xf2\x6a\x25\x4c\xbc\xac\xa9\xef\xe8\xce\xe3\x9f\xdf\x5e\x64\x89\x97\x5e\x5d\xc0\x6f\xaf\xe1\xc8\x3f\xdf\x4d\xe0\x1f\xa2\xdd\xb8\xc6\x57\x84\xe9\x74\xd5\x99\x70\xf8\x7c\xab\x6f\xaf\x22\xf5\xfa\xd5\x22\xef\xe2\x66\x5d\xfa\x15\xfe\x7c\xbc\xb2\xf2\x73\xc9\xfd\xef\xff\x7e\x59\xfd\x9e\xd2\xf0\xe6\xe8\xdb\xeb\x4a\x78\xe6\x7a\xb7\x3b\x2f\x11\x64\xf3\x74\xd4\xe4\xd3\xd5\xb2\x4f\x94\xf7\x93\x16\x3e\xfe\xb9\x39\xf1\x3b\x60\x67\xcb\x2b\x62\x4f\x1f\xae\xee\x3d\x5c\xff\xee\xf5\x9f\x4f\x7f\x91\x25\x37\x80\x3f\xbf\x04\xf1\x9f\x3f\x7d\x1f\xa5\x6e\xcb\x04\x56\xea\xc6\x1e\x48\x2f\xca\x83\xec\xe1\xe3\x45\x60\x6f\x9f\x2c\x73\x7f\x4b\x9f\x96\x7c\xbc\xf1\xf7\xa3\x1d\x7a\x85\xcc\xdc\xd9\xe2\x17\xf2\xd3\x59\x61\x4d\x65\xe5\xd5\xb9\x65\xbe\xf5\x54\x24\xbe\x53\xdf\x3f\x99\xa2\xd2\x4b\xb2\xd6\x7b\x6a\x8d\x26\xaf\xf7\x15\x4e\xec\x59\xe5\x23\xbd\x1e\x15\xf9\x73\x82\x5d\xe9\xff\x6f\x5f\xc7\x7e\xf2\x7d\x8e\xe7\x71\xc3\xe3\xfd\xf1\xf7\x0d\x78\xd5\xd8\xd5\xed\x3e\xe3\xb7\x5f\xb7\xff\xef\x5e\xf6\x0f\x5e\xea\x3e\xe1\xfb\x17\x0e\xf6\x41\x5a\xca\xb7\x37\x34\x7e\xbe\x27\x07\x77\x44\xfa\x16\x8a\x35\x65\xe9\xa5\x35\xfe\x7c\xcd\x5b\x78\xf6\x5c\x07\x1e\x9c\xe9\x37\x76\xf2\x6c\xda\xcd\xed\x7e\x6d\x7b\x5f\x4e\xf9\xe7\x9d\xcd\xbe\xc0\x90\x2f\x3d\xec\xe4\xb5\x86\xff\x51\x1c\x7e\x7b\xb5\x99\x7b\xfc\xf3\xf2\x8c\xfb\xe2\x71\x4f\x4c\xda\x2c\x74\x27\xf0\xfd\x71\x9f\x63\xf5\x51\xe2\x5f\x42\xe6\x36\xe1\x01\xe8\x5d\x5f\xf5\x49\xf8\xbe\xc6\xea\x47\x01\xfc\xea\x98\xe7\x42\xf8\x91\x5d\x77\x9f\xbe\x60\x45\xff\x70\xb4\xbf\x0b\xa9\xdf\x5e\xa7\x38\xf7\x81\x7c\xe6\xe8\x3f\xbd\x7c\x85\x41\x7d\xc9\x98\xbf\xe8\xfc\x5f\xb6\xa1\xd7\x37\x59\xec\x6a\x57\x2a\xdd\xb7\x37\xdf\x19\x01\xdd\x6c\xe2\xab\xe4\xed\x76\xf9\xb4\xd7\x3d\x2e\x7d\x8f\x6f\xcf\x09\x78\x9d\xe4\x86\xa7\xd3\x98\x3a\xde\xe6\xbe\x2f\xbd\x3c\xb6\x1c\xef\xed\xe3\x3e\xde\x4d\xde\xbc\xb9\x43\xfb\x2b\x66\xd7\xa9\x0f\xf1\xd6\xe4\x6f\x13\xf8\xeb\x3a\xf9\x8c\xab\xd7\xd9\xdf\x66\xea\x0f\xc6\x71\x2f\x06\xa1\x5f\x70\xd5\xcd\xd2\x5a\xf2\x9c\xa6\xac\xbc\xd7\x31\xf8\xc6\x8f\x6f\xb1\x63\xf4\xea\xf7\xec\xfc\x83\x51\xaf\xb2\xf2\x93\x74\x3c\x50\xc5\x1b\xf1\x7b\x5f\x34\x5e\x79\x91\xbd\xd8\xbb\xe6\xeb\x6f\xdf\x7c\x1c\xf0\xcb\x38\xef\xcd\x13\x87\x39\x3e\x7d\x8a\xc1\xc7\x3a\x94\x94\x75\xd5\xab\x97\xba\xcd\xf8\xa5\xcc\xba\xea\x29\xc3\x3f\xe1\xad\x64\xf9\xe4\xc3\x27\xd8\xef\xb3\xd3\xe9\x2a\xc8\x59\x3e\x99\x3e\x8c\xf8\xf4\xe8\x8e\x9b\x78\x1a\x5f\x54\xf5\x25\xbe\x86\xec\xa7\xab\xad\xf9\x62\xfe\xee\xfa\x6c\x3a\x79\x93\xf7\x6f\x5e\x0d\xa7\xbe\x21\xf7\x09\xd1\xef\x9c\x1e\x78\xa1\x1f\x3c\x43\x84\x1e\x9f\x7e\x27\xac\x38\x4c\x3d\xfa\x7b\xe1\xdd\xc8\xfc\x25\x38\x2c\x6b\x52\xf7\x23\x0b\x9f\xae\xe5\x7b\xf5\x6d\xc0\xd5\xd3\xc5\xa1\x77\x13\xe6\xfa\x69\x10\xfa\xa5\x25\xf8\x51\x8a\x3f\x01\xf0\x6a\x52\x3f\x99\xd7\x85\x6e\x1d\x3c\xaf\x4d\x8c\xdb\x7c\x78\xfb\x5a\x58\x9f\xf8\x75\x17\x58\xf0\x0d\xc6\x3d\x25\xc9\x17\x1c\xfb\x1e\x88\x5f\xa6\x10\xff\xf6\x82\x51\x99\x7c\xc5\xe6\x3f\x26\x02\xbf\x7d\x23\x81\x1e\xb3\xcb\xaf\x7a\xba\x57\xa4\xb8\xf7\x02\xf1\xaf\x67\xba\xf7\xa5\xe7\x59\x21\xe3\xae\x8c\x3c\x8e\xfa\x02\xbf\x87\xfd\x3e\x43\xf3\xd7\x9f\xfe\xf9\xf6\xe7\x9f\x7f\xfd\xe9\xa1\x22\xf7\xfe\x5e\xb1\xed\xce\xa4\x9f\x20\xe8\xff\x37\x19\xfb\x1c\xbc\x95\xe7\x61\xea\xab\xd2\xee\xc3\x73\x22\x9c\xab\xf7\x89\x95\x3f\x2b\x31\xae\xfe\x64\x25\x46\xb2\x72\xac\xdc\x93\xbd\xa2\xf1\x52\xc7\xab\x5e\xac\xfc\x3f\xf6\x08\xf0\xc0\x2a\x2b\xaf\x7e\x79\xe0\x63\xd3\x81\xb9\x06\x52\xf4\xe8\x7f\xbf\x51\xb6\xfc\x7c\xe8\xdb\xdf\x5e\xac\x4b\xfe\xf6\x59\x19\xf1\xb7\x2f\xeb\x88\xa3\x58\x7e\x0e\xe7\x33\x21\xb4\x5c\xf7\x8a\xf5\x17\x62\xe7\x04\x56\xf9\x6e\xe2\x64\xae\xf7\xb4\x02\x72\x7d\x33\xf9\xdb\x87\xc9\x9b\xc9\x9b\x7b\xae\xce\x09\x7e\x7b\xb4\x2b\x9d\x73\xfb\xf4\xf6\x06\xe5\xd7\x67\xb1\xd4\x97\x38\xbf\x77\x46\xc2\x4d\xfe\xcf\xff\x99\xdc\x7f\xf3\xf7\xeb\xdf\xff\xb8\x17\xd8\x38\x23\xf6\x5f\x9b\xf6\xb5\x22\xc6\x15\xed\x32\xeb\x9e\x43\xb8\x4c\xa6\xcf\x1e\xd9\xd6\xd3\xb4\xe5\x66\x68\x3e\x6e\xfb\x39\xfa\xfd\x4b\x19\xd5\x93\x71\x57\xa3\x57\x5d\xdd\xc8\xdb\x32\xeb\x7e\xfe\xfb\x53\x28\x93\x5f\x26\xb3\xbb\xbb\x9f\x7c\x11\x0b\x7d\x1f\xbc\xbf\x23\x2f\x82\xfc\x61\x2c\x91\x7f\xfc\xfc\x22\xc0\xc9\x33\x59\x7d\x15\xc0\xbf\xcf\xfe\x31\x99\x7e\xb8\xf1\xf9\x0f\xcc\xab\x7e\x84\x5e\x3f\x86\xc8\x13\x58\xa3\x53\x91\xae\x99\xcd\x53\xf2\x5e\xbe\x19\x85\x4f\xee\x44\xb5\xcf\x47\xdd\xe1\x5c\x7f\x0d\x0b\x1f\xc5\xf4\x97\xc9\xec\xaa\xc4\x4f\x55\x26\x8b\xab\x57\x4a\x6b\x57\x5a\xb9\x55\x5e\x7d\x31\xff\xc4\x48\x7c\x65\xe3\xfd\xe4\xc3\x4b\xc9\xfc\x53\x3a\x4c\xa7\x2f\x27\xfd\xcf\xd4\xf4\x6f\x4f\xa7\x57\x4e\x99\xc5\x31\x96\xd5\x75\x96\x7c\x4d\xc0\x9f\x42\xfa\xe5\x97\xfb\xab\xde\x19\x3b\x2e\xf1\x79\x91\xf9\xe9\x9f\x3f\x56\x28\x9f\x09\xca\xfb\xb0\xd2\x4b\x2b\xcf\x6f\x1d\xd8\xe7\xc5\x9d\x97\xb1\x78\xfe\xe4\x2b\x38\x8d\x26\xff\xd1\xa6\x7f\xf8\x30\x41\x5e\xd6\xee\x7b\x62\xf9\x7c\xc1\x2f\xff\xf5\x3b\x0d\xef\x93\x51\x61\x5a\x79\x65\xfd\x92\x44\x9e\xb2\x72\xf2\xf6\x6a\xed\x93\xac\xbd\xd5\x14\xe0\x5f\x1f\x3e\xfe\xc7\x47\xcd\xf8\x75\x32\x9d\xde\x9e\xbd\x24\x36\x37\x6f\x71\x2b\xc0\xba\xcf\x11\x7f\x99\x5d\x2f\xec\xe8\xe7\xf7\x79\x96\x3f\xcd\x12\x3e\xdf\xe0\xc3\x52\x7f\x47\xfe\x71\xa3\x3e\xfc\x22\xf1\x9f\x3b\x9e\xaf\x1b\xb4\xab\xae\xdf\x8c\xeb\x1f\x0f\xf1\x11\x59\xe4\x3b\x54\xef\x95\xa0\x27\x1f\x26\xcf\xde\x35\x25\xa8\xeb\xf2\xdd\x35\x22\x79\x37\x99\xfd\xe3\x77\x18\xe6\x2f\x91\x78\x5f\xe5\x71\xe8\x3c\x33\xd1\xfd\xbb\x09\xfc\xee\x9b\x58\x7c\x47\x35\xe5\xbb\xa9\xd1\x7f\x95\x0c\x0f\xa1\xdb\x83\x3c\xff\xe3\x4e\xb6\xf5\x19\xa4\xa7\x66\xf6\xc7\x3d\xd5\x1d\x43\xf1\x52\x67\xe8\x8f\xd9\xe7\x9b\x37\xef\x26\xf0\x1d\x6e\x7f\x6b\x8b\x4f\xfb\x4d\x0f\xc9\xd0\x0b\xc1\xb1\xed\xc5\xf1\x0f\x54\x1f\xef\x05\x64\x6d\x58\x35\x56\x8c\x79\x71\xfc\xfa\x2a\xd5\x13\x10\x8f\xe5\xa2\x31\xa9\xb3\xb3\xd2\xf5\x4a\x3c\x8b\x6f\x35\xac\x37\x5d\x10\xd6\xde\x9b\x6f\x57\x35\xbf\xcc\x70\x5f\x09\xfc\xcd\x2d\xd5\x9d\xc1\x4f\x6a\x5e\x4f\x40\xe4\x59\x2e\xa4\xf7\x76\xf8\x64\xdc\x29\x73\x9a\x2f\x3a\x74\xaf\x61\xc5\x55\x58\x28\xcf\x7b\xb9\x13\x7c\x2f\xab\xc8\x6e\xb7\xae\x92\xd9\xb7\x30\x7a\x12\x9a\xbc\xc8\x81\x2f\x02\x93\xdf\x1f\x8c\x7c\x2b\x00\xb9\x1f\x74\xdc\x6d\x5c\xdd\x0d\xf9\x5e\x17\xe3\x3d\x9d\xf6\x39\x16\xaf\xe1\x8c\x63\x95\x65\x68\xf9\x9e\x34\x0a\xd6\x57\xeb\x17\x77\x49\xfe\x0d\x1d\xb4\x9c\xa8\xca\x2d\xc7\xfb\x1e\xce\xf7\xf7\xca\xe0\xbf\x77\xa3\xb5\x65\x7f\xcf\xee\x9e\x3c\x4a\xbd\xbe\x96\xeb\x4f\xfe\xfe\xeb\x6b\x55\x41\x78\xaa\x85\xe6\x1b\xa7\x68\x3e\x93\x0d\xaf\xf6\x77\x5e\xeb\xc5\x6f\x67\xaf\x87\xcf\xbc\x9a\x5b\x9f\xc0\xc3\xaf\x02\x3f\x86\x62\xb7\x72\xc8\x17\x4b\xe4\x56\x69\x25\xd5\x53\x2b\x7a\x7b\xfa\xee\x1a\x0d\xbe\x9b\x9c\xaf\xde\xeb\x13\x5f\x6e\xaf\x26\x1f\xc6\xbf\xab\xbf\x7f\x6e\xf2\xaf\x6c\x1f\x5f\xff\xc7\x64\xf6\x65\x5c\xfa\x38\x6b\xf6\x69\xf4\x0f\x86\x9a\xe7\xe7\x93\xfa\x4f\x6f\x9d\xe0\x8e\x8f\xf2\x4a\xab\xf2\xae\x5e\xea\xed\xcf\x77\xc2\x92\x2e\x08\x63\xef\x01\xf1\x5f\x7e\xb9\x86\x59\xe7\xc9\x7f\xfc\x80\x9a\xde\x8f\x56\xce\xd3\xe9\x2d\x40\x71\x82\x7b\xb5\xe7\x17\x67\x3f\x09\x43\x5f\xa5\xf5\xb7\x8a\xb3\x9a\xbf\x96\xbd\xaf\xe1\xe1\x93\x1d\xdf\xe1\xe2\xcb\x96\x79\xf2\xcb\xc3\x02\xdf\x30\xd0\xff\xf1\x4d\xbb\x70\xb9\xe7\x0c\x5e\x43\x0c\xe2\xe9\x09\xa2\x7f\x25\x39\xa6\xaf\x23\xc7\x73\x17\x51\x66\xdd\xb7\x64\xef\xf2\x5c\x29\xae\xb3\x26\xbf\xdc\xc7\xed\x5f\xe9\x9b\x6e\x8c\xa1\xb2\xb2\xb3\x4a\xf7\x4f\xc2\x9b\xfe\x75\xbc\xf9\x51\x12\xdd\xa9\x85\x8e\xf9\xd3\x33\xdc\x5e\x43\x3a\xcc\x72\xa2\x7f\x25\xed\xfe\x47\x65\xe7\x2e\xf9\x5e\x65\x47\xfa\x57\xd8\x91\xbb\x41\xe5\x6b\x68\xbe\xf7\xfa\x7a\x17\xa6\xde\x9f\x44\x5e\xff\x54\xb6\xe4\x9b\x51\xe4\x2b\xe8\x7b\x28\x3d\xc7\x73\xc3\xd4\xff\x53\x11\xf9\x7f\xd6\x7f\xfd\x51\xb4\xbb\x86\x74\xc0\xae\xb2\xb8\xa9\xff\x2c\xa4\xeb\x1f\xe1\x7f\x92\x99\xd7\x68\xd9\xdd\x86\xeb\xfd\x5d\xdc\x02\x53\x27\x8b\x9f\x46\x93\x1f\x77\xf5\xa5\xb4\x7e\xdc\x59\xf5\xf1\x4c\xce\x9d\x82\xc8\xed\x1b\x32\x8f\x20\x66\xff\x78\x49\xe0\xef\x54\x67\xc7\x99\x77\x59\x7c\x2b\x1a\x66\xdd\x3d\x29\x19\x51\xbe\x3b\xeb\xe3\x41\xe2\xeb\x98\xd7\x69\xf1\xdd\x70\xfa\x5b\x41\xc0\x15\xf1\x3b\x98\x7d\x65\x3f\x1f\x31\xbb\x8e\x79\x9d\xd9\x1f\xa1\xbd\xd2\x05\x4e\xee\x8b\xd3\x17\xbc\xbe\xa3\x5e\x65\xd6\xbd\x5e\xd0\x1e\xa2\x0f\xe5\x49\xf6\xf8\x4a\x85\x99\xfc\xf7\x7f\x7f\x8e\xf6\x97\xe9\xc3\xf7\xc7\x02\x4f\xb3\xd0\xc9\x2b\x3d\xd3\x2d\xa9\x61\x52\x22\xac\xf2\xd8\xba\xbc\x62\x23\xe7\xcf\x4a\x51\x5d\x58\x3b\xc1\xe3\xc0\xbf\xc3\xcf\xba\x8e\x8e\x55\x79\x13\xf8\xaf\x5f\x3c\xbb\xb3\x9d\x1b\x0e\x52\xe8\x07\xcf\x0a\xec\xfd\xbb\x67\x5c\xba\x53\x82\xbd\x93\xcb\x5d\x13\xc0\xd9\xf3\x91\xb7\x5e\xc1\xaf\xf7\x32\xb3\xab\x88\xff\x3a\x39\x4f\xa7\xaf\x6c\x7a\xdd\x70\xbe\xfa\x99\xb7\xe7\x57\x35\xf7\xec\xd2\xb3\xa2\x5f\x9f\x53\x67\xf6\x3a\xea\xec\xbc\xd3\x1f\x48\x9c\xe7\xa3\x1e\xc4\xef\xfc\x5c\xf4\xfe\x87\xf7\x8f\x3c\xdf\xff\x1d\x8c\x6f\xdc\xf9\x1a\xd2\xbf\x1f\xe5\x97\x10\x44\x9f\x23\x78\x55\x83\x87\xf2\x9f\xe5\x44\x72\x38\x78\x2f\xf5\x8c\x1e\xdc\xc4\x2f\xaf\xdb\xcf\xd5\x1e\x3e\x81\xfb\x95\x43\x9f\x77\x17\xac\xcb\x30\x91\x6b\xab\xac\x9f\x00\x7a\xa1\x17\x75\xaf\x46\x32\xf9\x30\xe1\xad\x3a\x78\x9f\x58\xfd\xb3\x28\xe5\xf6\xfe\x97\x27\x9b\xff\xf2\xac\xd4\xd7\xc0\xbb\x61\x95\x7f\x0d\xfc\xed\xfd\xeb\xc0\x7f\x53\xc2\xbe\xc3\xf8\xbd\x22\x5c\xfc\xb3\x98\xba\x7f\x99\x19\xf9\x0e\xfd\x7d\x51\xed\xbe\x7f\x99\xd7\x30\x71\x2c\x49\x5e\x17\xf8\xee\x92\xe4\x0f\x94\x23\xbf\x27\x9e\xfd\xe3\x4a\x93\x8f\x01\xd8\x73\x4b\xf2\x79\x1b\xe2\x75\x20\xee\x2f\x3f\xf9\x65\x72\xfe\xd2\x67\x7e\x3d\x22\x79\xf1\x10\xd1\x83\xc9\xfb\xf0\xe1\x05\x93\x98\x58\xfd\xee\x36\xe4\xd5\x8d\xc4\x4f\x36\x6d\x76\x47\x62\xee\x6d\xe6\xde\x81\x8f\x7b\xb6\xe6\xde\xb8\x32\xeb\xee\x3d\x3e\x3f\x7d\xf8\x8a\x4e\xef\x43\xed\xf6\x26\x6b\xf0\x33\x2d\xb3\x63\x2b\x8d\x46\xbd\x28\x1b\xef\xe7\xd7\xd4\x75\x1f\x8b\xc1\xef\x26\xb3\xbb\xcd\xa2\x1f\xeb\xf3\xbe\x7e\xd6\x17\x3d\xaf\xd7\x04\xca\xae\x17\x7b\xb5\xf7\xff\xe9\xe6\xef\xd7\xcd\xff\x27\xf4\x72\xf2\xcb\x87\x7b\x51\xf9\xfd\x30\xe0\xd9\xd0\xd7\x6b\xdc\xcd\x92\xfd\xb1\x3a\x77\x13\xca\xff\xab\xb4\xee\x47\x9a\x74\x3f\xd4\xa1\xfb\x5f\x50\xbb\xdf\xdd\x8f\xfb\xa1\xa6\xdb\xf3\x40\xe9\xa9\xa0\x7f\xa3\xfb\xd6\x54\xc1\xdb\x2f\x3a\x76\xaf\x89\x67\x46\x76\xff\x58\x03\xee\xf7\x14\x15\xbe\x10\xf7\xbb\xda\xfb\x8c\x4b\x23\xaa\x4a\x96\xbf\x92\x32\x3f\x00\x7c\x14\xfb\xaf\xeb\xf2\xcf\xbf\x53\x2d\x3f\x6e\xe3\x7f\x47\x3d\xc7\x09\x3f\xda\x54\xfc\x97\xb0\xf8\x91\x0b\xff\x53\x5c\xbe\x89\xd0\xff\x43\x2c\xbe\x99\xa6\xff\xcd\x53\x12\xff\x9a\xd0\xe7\xcf\x78\x62\xe2\xef\xe7\xe9\xf4\x1f\x93\x0f\x5f\x90\xf1\xfb\xdb\xa2\x7f\x8e\xa2\x6e\x5e\x7a\xed\x8f\x14\x75\x9d\xc0\x2a\x0f\x59\xf5\xe7\xef\xe7\x4c\xfe\x9c\x2d\x72\xfa\xb1\x87\x24\x79\xb1\x55\x87\xed\x9f\x87\x82\xff\x57\x9c\x30\x28\xbd\xdc\xb3\xea\x8f\xdd\xd8\xab\x1d\xb4\x9c\xda\x2b\x7f\x58\xa3\xde\x4d\xe2\xb1\x44\xf7\xa2\xe6\xbf\xce\xd9\x5c\x7e\x7e\x37\x1a\xaa\xeb\xc4\xfb\xdf\x05\xba\xae\xf7\xf4\x8d\xeb\x9d\x5e\x38\x8b\xfe\x75\x05\xbf\xbb\xca\x8f\x59\xa7\xca\x4b\x5d\xc2\x6b\x43\xe7\x66\x4e\x43\xbb\xa9\xbf\x99\x51\x7f\xea\x56\x5e\xc9\x78\xa7\x90\xfc\xf2\xf9\xe4\x7b\xe7\x9c\xf3\xd2\x3b\x85\xcf\xbe\xf5\x76\xef\xdb\x1a\xd5\xdb\x37\xb7\xaf\xaf\xbf\xf9\xf9\xe3\xef\x28\x7d\xf9\xb6\xec\xdb\xfa\x97\x26\x0d\x9d\xcc\xf5\x5e\x1c\x54\x39\xa5\xe7\xa5\x6f\x7e\x7e\x45\x3a\x7a\x25\xce\xdb\x67\x5f\xe9\x7c\x8f\xc3\xef\x49\x19\x9f\x4c\x27\x6f\xfe\xfe\x9f\xb3\x5f\x11\xe7\xe9\x77\xee\x5f\xf8\xd1\xa5\x3b\xb8\xc4\x61\xda\xf4\x7f\x14\x2a\xcb\xaf\x20\x72\xa7\x41\x7a\x97\x0d\xb7\x34\xfe\xcd\xdf\x9e\x7d\x57\xf3\xeb\xec\xf8\x43\xf0\xff\x1b\xfc\x2b\xb2\x5a\xfe\x0a\xff\x0e\x72\x7e\xc9\xff\x3f\x06\xab\xf5\xe2\xd7\xcd\xe2\x77\x61\xf5\x9d\x4c\xfe\xa4\x5a\xd3\xc9\x9b\xdf\xb1\xec\x1f\x2a\xe7\x7f\x5b\xa3\xbf\xce\x61\x18\x46\xbf\x4a\x89\xd7\x1e\xcb\xff\xf3\x85\x10\x97\x57\x87\x10\xff\xf3\xa7\x96\xbe\x4e\x3f\xed\x4f\x1a\x42\xfc\xa9\x0e\x7d\xfd\x0b\x0f\x90\xd2\xda\x2b\xcf\x09\x7d\xe9\x46\xef\x9f\x48\xbf\xbd\xfa\x70\xff\xa8\xd0\xdf\x67\x2f\xcf\x9a\x3d\x99\xf5\x92\xb4\xdf\x3f\x8a\xf4\x2f\x61\xd9\x4b\x31\xfd\xf3\xa3\x4e\x7f\xc2\xc0\xb4\xb6\x6c\x3c\xf6\xac\x1f\x0a\x44\xef\xea\xe2\x87\xe7\x51\xd5\x58\x7c\x7d\x8a\x6f\x6d\xd9\xd5\xf3\x2f\xc2\xdd\x23\xf0\x47\x5f\xf1\x80\xc1\x87\x0f\x13\xf4\x1b\xf4\xb9\x02\x9f\x7c\x98\xfc\xd7\x3f\xbf\x37\xa6\xbc\x7d\xa7\xf6\xd5\xf2\xff\xe9\x87\xa8\x9e\x59\xa0\x8f\xdf\xc1\x0d\xc7\xef\xdf\x86\x93\xff\x98\x7c\x31\xe9\xd7\x49\x78\xff\x68\xcd\x6d\x2b\x0f\x98\xbc\xfd\xfb\x03\xb5\xc3\x7f\x3c\xfd\xa6\xe5\x3f\xff\xf0\xc8\xf5\x9b\x1d\xfd\xc9\x63\x8b\x7b\xfe\xbc\xc5\x7d\x87\x09\x9f\xbe\xa4\xfc\xd5\x2f\x6e\xdf\xe9\xa3\x7f\x5c\x08\xb9\x73\x7e\xe0\x85\x39\x3f\x1a\x32\xfe\xe7\xb3\x90\xf1\xf5\x74\xb8\x73\xc6\xe0\x0e\x1d\xac\x3c\x8f\xc3\xf1\x07\xb9\xf1\x8f\x3f\xc4\xf5\x63\xe4\x78\xd5\x7a\x95\x57\xfb\x0f\x3f\xcf\xf2\x16\x7e\xf7\xd9\x2f\xb5\xbc\x27\x48\x0a\xa8\x3b\xe5\x37\x9c\x06\x92\x4c\x2a\xaf\x3b\xa3\xf2\x39\xb8\xd9\x1f\x0b\x0e\xf9\x63\xc1\xa1\x3f\x00\xee\x6b\xe4\xbe\x73\xd0\xe9\x1e\x06\x56\xeb\xb9\xf8\xd5\xfa\xde\xb5\xc9\xaf\xda\x45\xe9\x55\xe1\xe0\xbd\x9d\xa1\xc8\xb3\x8a\xef\xcd\x61\x7d\x3f\xee\xcb\x57\xe1\x9e\x95\xa1\xff\xff\x67\xef\xdd\xdf\xda\xc8\x91\x05\xd0\x9f\x37\x7f\x85\xc2\xce\xc6\x76\x30\xc6\x36\x6f\x88\x93\x63\x1b\x33\xe1\x0c\x79\x5c\x60\x5e\x17\x38\x3e\x8d\x5b\xb6\x7b\x62\xba\x3d\xdd\xed\x00\x9b\xb0\x7f\xfb\xfd\xf4\x6c\xbd\xbb\xdb\x90\x99\xb9\x7b\x96\xef\x9b\x09\xa8\xa5\xaa\x52\xa9\x54\x2a\x49\x55\xa5\x20\x7c\xd4\x14\xdd\x29\x84\x48\x4e\xa3\xb1\x34\xb2\x96\x65\x06\x38\x39\x51\x8c\x15\xb3\x68\x52\xad\x9c\xc1\x38\xf0\x66\x60\x1e\xc5\x29\x88\xd1\x86\x22\x49\xa1\x0f\x84\x09\x0c\x3e\xc1\xfb\xb9\xe7\x37\x4c\xe9\x09\x0d\x40\x85\x96\x3f\xe0\x86\xce\x9e\x2b\x8d\x3f\x07\xf0\x16\x3f\x6f\x91\xdc\x87\xa3\x33\x7c\xe0\xde\x8d\xa1\x67\xcb\xa2\xe0\xe2\xc1\x9e\xce\x02\xc2\xcf\x66\xd3\xa0\x61\xd9\x27\x03\xb3\xd9\xa7\x62\x53\xe3\xae\xd5\x7c\x17\x2d\xb0\x03\x9d\x60\x15\x76\x3a\x60\xaf\x18\x03\xd2\x76\xd3\x02\x00\x11\x5e\x08\x46\x18\xc5\x37\xde\x4c\x07\xf2\xba\x38\x88\x1b\xd4\x18\x3f\x3f\x90\x94\x19\x3e\x16\x66\xae\xa4\x56\x87\xf8\x25\x88\x35\x0c\x74\x0d\x62\xa8\x05\x85\x29\xc1\x69\x13\x83\x28\x7c\xe7\x85\xde\x04\xc6\x0d\x3f\x48\x10\x2c\x9b\x40\x98\x04\xbc\x17\xe0\xcc\x7d\x20\x8d\x00\xa6\x00\x10\x0a\xac\xf2\xec\x9c\x8c\xcd\x66\x31\x43\x00\xed\xd2\x8f\xa2\xd1\xc2\xcd\xbe\x1c\x54\x5b\x85\x50\x2d\xd2\x31\x1b\xeb\xa5\x31\x15\xd3\x17\xc9\x24\x7e\x2c\xa6\x56\xc1\x3e\xc5\x77\x9f\xd3\xc7\xe1\x6a\x17\xc3\x44\x6e\x7c\xde\x06\xbe\x0f\x73\x72\x17\xbb\x3b\xb6\x69\xd0\x37\x80\x47\xdd\x68\x0d\x36\x0d\x6b\x08\x83\x64\x59\x5e\x4c\x56\x2d\x99\xea\xae\x5c\x2c\x38\x61\x2d\xae\x65\x4c\x65\x2d\xfe\xe0\x83\xf4\x7d\xe3\xf1\xba\x9e\xcc\x5a\xfc\xc1\x07\xed\x5a\x43\x5c\x9a\xd3\xd0\x0f\x92\xb9\xde\x10\x95\xba\x1b\xde\x69\x8d\xee\x72\x30\xe9\x58\xdc\x0d\xf8\x5d\xb1\xd6\x30\xbb\xac\x2e\x00\x80\x5c\x17\x5b\x60\xd0\x0b\x75\x27\x18\xb4\xad\xd3\x9a\xa3\x42\x6b\xab\x07\xb3\xf8\x02\xa3\x09\x06\xb5\x3c\xa6\x8e\xfa\x25\x57\x67\x03\x04\x2e\x89\xe4\x97\xc2\xed\x92\x69\x74\x4b\x36\x12\x36\x64\xe6\x24\x40\x05\x36\x4d\x79\xb7\x58\x7f\x9d\x0d\x32\xa7\xe5\xdf\x67\x8b\xbc\xa4\xba\xfd\xb7\xdd\x23\x2f\xc9\x0f\x8b\x69\x6a\x4c\x9a\x83\x36\x6d\xc8\x9a\xdc\x68\x1b\xb2\x80\xf1\x8d\x5d\x89\xf4\x5e\x74\x23\x67\x83\x54\x66\x77\x67\x9e\xc4\xe6\xc3\x34\x8e\xe0\x0f\xd9\x28\x2e\x39\x30\x4b\xee\x14\x97\xb5\x42\xbe\xf5\x56\x11\xcf\x00\x64\x4b\x5f\x7b\xa3\x4f\xc8\xa0\xa6\xfa\xfc\xf1\x3b\x44\x47\x8f\xff\x9d\xb7\x88\x25\xba\x2d\x6e\x0c\x8b\x37\x93\xf7\x82\xc5\xdb\xc9\x1b\xc0\xe2\xed\xf4\x1d\x20\x7b\xd1\xe6\x09\x37\x81\x04\xd4\x32\x23\xbe\xd4\xfe\x6d\xe9\x3d\x41\xf9\x0d\xdc\xf2\xa8\x4a\xef\xe0\x96\x46\xb5\xcc\x16\x6e\xd9\x75\x7e\xa9\x3d\xdc\xb2\x7b\xd3\x3f\x66\x0b\x57\x7a\x07\x67\xda\x8f\x19\x42\xbf\x31\x1c\xf2\xb5\xb0\x59\xcd\x42\x3d\xcd\xb0\x0c\x79\x59\x5d\xb0\x68\x5c\xa7\x05\x16\xfa\x5a\x18\x96\x29\xb4\x9d\xc0\xb9\x2b\x4e\x8f\x9d\x96\xe2\xdb\x0e\xb6\xd5\xb3\xc2\xe2\x35\x4a\xc2\x24\x5b\xbf\x1c\xb0\x6a\xd0\x50\x0e\x64\x7a\x03\x68\x86\x88\x3e\x2e\xb1\x4d\x5b\xcc\x4a\x6c\xd2\x54\x3d\x9d\xc0\xb4\xb7\x18\x8f\x61\x6c\x0c\x46\x2a\xbe\x6b\x8c\xe1\x38\x86\xc9\xb4\xaa\xfb\x86\xb3\x4b\xea\x3f\x72\x0f\xfb\xa7\xed\x45\x47\x53\x2f\x5e\xc2\xf1\x4f\x0c\xfa\x6a\x21\x9b\x5f\x3e\x56\xce\x4b\x38\x43\x93\xb2\xea\x82\x45\x1d\x22\x0f\x0a\xee\x38\xd1\xbe\x37\xcb\x89\x42\x89\xaa\x93\xad\x70\x1d\x8c\x67\xde\xc4\x74\x9b\x44\x91\xbf\x7e\x0d\x5a\xbb\x75\x30\x9e\x80\x8e\xbe\xa5\xc9\xea\xec\xd5\xc0\x0b\xd0\xbc\x6b\x8d\xc7\x75\x70\x3d\xb1\x83\xe3\x95\x84\x69\x4b\xb3\x42\xa0\x3d\xf9\xcc\xb8\x0f\x9f\x67\x87\xe9\x81\x92\x9b\x16\x33\x1b\xbc\xee\x80\x8d\x26\x66\x30\x78\xd5\x01\x1b\x3b\xc6\x3c\xd5\x88\xaa\x39\x58\x03\x1b\x4d\xd7\xc6\x3d\xbb\xff\x47\x50\x37\x33\xa8\x9b\x46\xa8\xd7\x0c\xea\x66\x09\xa8\x7b\x19\xd4\x3d\x23\xd4\x39\x58\xed\x80\x5d\x5d\xc4\x79\x1f\xf6\x4a\x60\x6b\x35\x33\x74\xad\x66\x29\x7c\xbc\x77\x2d\xf5\xf6\xc2\x8a\xd0\x28\xd8\x98\x76\xb3\x9c\x51\x59\x26\x72\x66\xe9\xb1\x2a\x77\x42\x9b\x4c\xee\x2c\xd4\x5b\x9a\x1a\x1b\x39\x3b\xa5\x9d\x29\x65\x9d\xfa\x9a\x13\x2b\xa9\x40\xda\x74\x42\x6a\x97\x80\xb4\xe5\x84\xb4\x59\x02\x92\x79\xca\x30\x48\xbb\x25\x20\x19\x9f\x3e\xcd\xf8\xb4\x5d\x02\x54\xdb\x98\xed\x9a\xc0\x7a\xd1\x01\xff\x2a\xc3\xf4\xb6\x83\xeb\x08\x56\x19\xb6\xb7\x1d\x7c\x47\xb0\xca\x30\xbe\xed\xe0\x3c\x82\x55\x86\xf5\x6d\x07\xef\x31\xbf\xca\x30\x7f\xc3\xf8\x86\xee\xb2\xf3\xd1\x3d\x21\x8c\xa8\x9e\x76\xfa\x6e\x18\x79\x23\xf8\x09\x06\x60\x15\xb4\x72\x52\xec\x07\x48\x4f\xb6\xcd\xa6\xc7\xd8\x40\xee\x8d\x97\x8e\xa6\x38\xdb\x37\xc7\x72\x85\x69\xc7\x2b\xa0\x84\xd7\x50\xda\x66\xa5\x8e\x97\x0c\x10\xd6\x4e\x07\xac\xb5\xec\x0f\x48\x60\xc2\x2c\x2a\xd2\xd5\x29\xcb\x8b\x16\x66\x96\x19\x67\x44\x1e\xcb\xa4\x75\x9d\xf6\xd5\xc1\x5c\x83\xa5\xef\xca\xfe\xaf\x0a\xd9\xb7\x16\x00\x93\xbc\x7e\x7b\x01\xb8\xce\x17\x80\xeb\x7f\x03\x01\xb8\x7e\xbc\x00\xb4\x9a\x66\xbb\xe4\x4f\xb6\x30\x72\xc3\x0e\x60\x1c\x47\x71\xb5\xf2\x63\xf8\x29\x8c\x6e\x43\x70\xf6\xfd\x29\xf0\xd8\x5e\x64\x1f\xfc\xc3\x6f\x54\xea\x60\x5e\x20\xa4\xc5\xba\xbb\xa8\x92\x15\xe2\xd5\x2b\xfc\x6e\xf9\x57\xac\x54\x5e\xbd\x42\x1d\xff\x0a\xae\x27\x07\x05\xf6\x47\x3e\x0e\x8d\x3a\x4b\xbd\x74\x51\x64\x77\xf4\xd4\xd7\x5f\xc5\xce\xaa\xf2\xc3\x37\x9a\xe1\x32\x9e\x29\x05\xcf\xff\x72\xb1\x57\xac\x13\x78\xd5\xe0\x6c\xbe\xaa\xfa\xb4\xcb\x0d\x2a\x07\x65\xc0\xdd\xe5\x82\x3b\x2d\xc1\x99\x3f\xe3\xe2\xef\xa9\x06\xe1\xcd\xbf\xcd\x28\x00\x7e\x28\x6a\x99\x1e\xcb\x1c\xff\x3a\xdb\x58\xc6\xc0\xd5\x66\xcb\x72\x6f\xf3\xe8\x13\x9b\x24\x1a\xa7\xa7\x30\x81\x69\x8e\x3a\x2a\xe5\x93\x54\xe2\x3e\xbd\xc4\x8d\x66\x39\xe7\xd5\xf2\x37\x7a\xe5\x8f\xe1\xca\x5f\x97\x3b\x4e\x6f\x9b\x39\xb5\x6c\xe7\xb1\x7a\x14\xcc\xd2\xc7\x63\xf9\x67\xdc\xf7\x4e\x42\xd9\x2b\x9a\xea\xa9\xac\x52\x6d\x32\x83\x9f\xe1\xac\x08\x24\xb4\x48\x5e\x20\x58\x57\x45\x56\xd7\x04\xa6\x84\xef\x67\xe9\xfd\x6c\xa9\x40\x36\xf0\x0a\xb4\xc0\x1b\xd0\x02\xfb\xa6\x80\x1a\x49\xcb\x1a\x13\x2b\x2a\x6e\x15\x05\x33\x0f\x26\x30\xfd\x30\xc7\x4f\xcd\x56\x46\x19\xfd\x95\x3a\xa8\x5c\xcf\xa2\xd1\x27\x93\x2e\x2b\x98\x05\xd4\xe6\xf4\x52\x98\x80\x45\xe8\xc3\x78\x16\x84\xb0\x0c\x11\x5b\x06\x22\x0c\x3a\xaf\x38\x17\xbc\xb8\x00\x7a\xf9\x1c\x37\x48\x7a\xb3\x20\xfc\x14\x84\x13\x1e\x8a\xf9\x0f\xd0\x26\xf6\xad\x7d\xa2\xa9\x24\x60\x18\x95\xba\x00\xad\x58\xe6\x1c\x98\x12\x85\x71\x0a\x27\xc5\x22\xf7\xcc\x86\x9e\xd4\x65\xf5\xdc\xda\xa1\x4a\xaa\x72\x5a\x82\x9a\x53\x3d\x28\xda\x45\x08\x07\xcc\x0e\xe2\x5b\x57\xe0\x95\x59\xf1\xbc\x11\xaa\x68\x4e\x80\x24\xac\xcf\x85\xfc\xce\xa9\x05\xee\x8b\xbe\xd1\x94\x78\x9f\x61\xa6\x72\x8b\x2f\x63\xd8\x43\xe7\x17\x67\xc2\x18\x53\x8b\x5f\xad\xb9\x8a\x73\x5d\xf5\xd2\x28\x5e\x8a\x52\x83\x2e\xa6\xc4\x7f\xfd\x9a\xc3\x41\x73\x0f\xb2\x66\x94\x66\xfa\x2e\x9b\x48\xba\xfa\x08\xb7\xf2\x6a\xb4\x5c\x15\xcd\x3a\xfa\xe8\xb2\xfc\xa2\x74\x34\x4f\x79\xcf\xf0\x23\xd5\x1f\xde\xf5\x8e\xdf\x1f\xbf\xff\x1e\x29\x77\x4e\xf8\x45\xf3\xae\xb9\xd1\x6c\xd6\x01\xfa\x77\xfb\xe8\xaa\x8e\x4b\x36\x77\x37\x70\xc9\xe6\xee\x36\x2f\xd9\xa5\x25\x7b\x57\x75\xa9\xf5\xd6\x5e\x0b\x7f\xd9\xea\x1d\xd2\xba\x5b\xbd\x23\x5a\xc2\xe0\x6d\xf5\x69\x9d\x7e\x5b\x6d\xdd\xdf\xa4\x5f\xb6\x78\xdd\x1d\x5a\xb2\x43\x4b\xb6\x29\x7d\xdb\xcd\x0d\xa5\xf5\x76\x8b\x7e\x69\xb1\xd6\xdb\x9b\x3d\x52\xb2\x35\x60\x25\x3b\xb4\xce\x4e\x53\x6d\x7d\xb8\x4d\xbe\x0c\x36\x59\xdd\xc1\x0e\x2d\xd9\xe5\x25\x5d\x5a\x72\xa8\xb4\xde\x69\x92\x5e\xee\x34\x59\x2f\x77\x5a\xa4\x97\x3b\xad\x16\x2b\xd9\x20\xb8\x77\x36\xbb\x6a\xeb\x2e\xc1\xbd\xd3\x6b\xb2\xba\x03\x42\xf9\xce\xd1\x06\x2d\xd9\x6b\x12\x78\x7b\x4d\x95\x6b\x7b\x1b\x7d\xf2\x65\xa3\xcf\xea\x6e\xd2\xba\x9b\xbb\xbc\xe4\x90\x96\xa8\x94\xef\x6d\xd1\xba\x5b\xac\xdf\x7b\xdb\x6d\x52\xb2\xcd\x71\xef\xd2\x3a\xbb\x2d\xb5\x75\x8f\xe2\xee\x71\xdc\x74\x74\xf7\xfa\x1c\x5e\x9f\xe2\xee\x6b\xb8\x07\x14\xd3\x80\x61\xea\xd2\x5e\x76\x51\x2f\x49\x09\xed\x5d\x17\xf5\x4e\x6a\xdd\xa5\xbd\xec\x6e\xf2\xba\x9b\x3b\xb4\x64\x97\x97\xf4\x68\x89\x8a\xbb\x4b\x25\xa1\xbb\xc3\xc6\xa7\x4b\x7b\xd9\xdd\xe5\xf0\x68\xef\xba\x3d\x0d\x37\xed\x65\x97\x4b\x6a\x97\x4a\x6a\xb7\xcf\x71\xd3\x7e\x77\xb5\x7e\x77\x69\xbf\xbb\xbc\xdf\x3d\xda\xef\x5e\x93\x51\xd3\xa3\xfd\xee\x69\xfd\xee\x6d\x1c\xd1\x2f\x4c\xd6\x7a\x94\x13\xbd\x4d\x0e\x8f\x8e\x77\x4f\xeb\x77\x6f\x8b\xc8\x5a\x6f\x8b\xcd\xe6\xde\x2e\xa1\xa6\xc7\xfb\xdd\xeb\x13\xde\xf4\xfa\xea\x2c\xe9\xd1\x3e\xf5\xfa\x6c\x7e\xf7\x37\x06\xb8\xa4\xbf\xc9\x64\xb7\xbf\xb9\x4d\x4b\x76\x95\xd6\xfd\xcd\x2e\xfd\xc2\x5b\x6f\x6d\x91\x12\x4e\x4d\x9f\xf2\xbc\xaf\xf1\xbc\x4f\x35\x49\x9f\x6b\x92\x7e\x9f\x62\xea\xf3\xd6\x7d\xda\x5a\xe3\x79\x9f\xf2\xbc\xcf\x79\x7e\x48\xb9\x76\xb8\x99\x95\x1c\xd2\x12\xb5\xf5\x61\x9f\x50\x7e\xd8\xef\xb2\xba\x87\x04\xde\xe1\xe1\x26\x2f\xd9\xa6\x25\xdb\x4a\xeb\xc1\x06\xc1\x34\xd8\x60\xa3\x3b\xd8\xd8\xa4\x25\x0c\xde\x80\xca\xee\x60\x73\xa0\xb6\xee\xd1\xd6\x3d\xde\xba\x47\x5b\xf7\xf6\x78\x49\x8f\x96\xa8\x5c\x1b\xf4\x89\xae\x1e\xf0\x11\x3b\x6a\x91\x92\xa3\x16\x6b\x7d\xb4\x41\x46\xe1\x68\x63\x4b\x69\x7d\xb4\xb1\x43\xbf\xec\xf0\xba\x7b\xb4\x84\xb7\xde\x21\xf4\x1d\xed\xa8\x94\x1f\xed\x12\x39\x3a\xda\x65\x3c\x3a\xda\xdd\xa6\x25\x1c\xde\x1e\xad\xb3\xb7\xa3\xb6\xde\xa3\x98\xb8\x6e\x39\xa2\xe3\x7d\xc4\xc6\xbb\xd5\x6c\xe3\x11\x6b\x35\x37\x14\x49\x6d\x35\x37\xda\xf4\x4b\x9b\xd5\xdd\xd8\xa6\x25\x3b\xbc\x64\x8f\x96\xec\xa9\xad\xb7\x76\xc9\x97\x2d\xda\xcb\x56\x6b\x1b\xd3\xd9\x6a\x1d\x51\xe9\x6b\x6d\x6c\x61\x79\x44\xff\x2a\xad\x77\x5a\x04\xf7\x4e\x8b\xf6\xbb\xb5\x43\xa9\xd9\xd9\xe0\x25\x5b\xb4\x64\x6b\x43\x6d\xbd\x43\xbf\xec\x6c\xb0\xba\x64\xbc\x5b\x3b\xbd\x2d\x5e\xb2\x43\x4b\x0e\xd5\xd6\x84\x47\xe8\x5f\x56\xb7\x4f\x7a\xb9\x73\xc8\xe1\x1d\x1e\xd2\x12\xb5\xf5\x6e\x13\xcb\x51\x6b\xb7\x49\xa5\xa5\xb5\xdb\x25\xad\x77\xbb\x8c\x13\x7b\x6d\xc2\x89\xbd\xb6\xb2\x12\xb5\xf6\xda\x3b\xf4\xcb\x2e\xab\x4b\xfb\xbd\xc7\x47\x61\x8f\xf2\x7c\x6f\xa3\xa7\xb4\xee\xb6\x48\xeb\x6e\x8b\xb5\xee\x91\xb5\xbe\xd5\x6b\x32\xca\x7b\x64\xde\xa0\x7f\x95\xd6\x3d\x3a\xba\x3d\x36\xa3\x5a\x54\x83\xb6\x7a\x6c\x5d\x6c\xf5\x36\x09\x35\xbd\x4d\x95\xf2\xde\x36\xe9\x77\x8f\xf3\xfc\x90\xe8\xc0\x16\x9f\xf1\xad\xc3\xa3\x01\x29\x39\x52\xc6\xbb\xdd\x24\x5c\x6b\x37\xd9\xea\xdf\x6e\xb6\xbb\xa4\xa4\x3d\x60\x25\x44\x7e\xda\xcd\xed\x0d\xb5\xf5\x36\xad\xbb\xcd\x5b\x1f\xd2\xba\x03\x5a\xb2\x41\xe1\x6d\x34\xdb\x0a\xee\x8d\x26\x99\x25\x1b\xcd\x3d\x4a\x67\x77\xb7\x89\x39\x81\xfe\xe5\x25\x3d\x5a\xa2\xf0\xbc\xbb\xdb\xde\x22\x5f\xda\xb4\xee\x51\xaf\x85\x7b\x89\xfe\xa5\x25\x03\x32\x0a\x47\x83\xa6\x82\xfb\x68\xd0\xa6\x5f\xda\x1b\xac\xee\xd1\x11\x29\x61\xb3\xe4\xe8\xe8\x08\xd3\x77\x74\x74\xa4\x8e\x37\x5b\xec\xd1\x2f\x8c\xeb\xcd\x6e\x73\x8b\x95\x6d\x67\x65\x7d\x56\xa6\xce\xb4\x66\x77\x83\x4e\xd4\x2e\x1f\xf7\x66\x97\x2c\x90\xf8\x17\x36\x76\xad\x6d\x22\x5c\x87\xad\x6d\x75\xae\x1f\xb6\x76\x36\xe8\x37\xb6\x02\xa2\x5f\xb7\x58\x59\x8f\x97\x75\xbb\xb4\xac\xab\xce\x9b\xc3\x36\x15\xad\xc3\xf6\x26\x9d\xe1\x83\x66\x93\xf4\x0f\xff\xc2\xcb\x08\xcb\x06\xcd\xe6\x8e\xd2\x97\x41\xb3\xd5\xa4\xdf\x5a\x83\x23\xf2\x28\x3b\x3d\xf8\xe0\x76\xfc\x75\x90\x40\x2f\x1e\x4d\xab\x8b\x91\x76\x90\x72\x13\x84\xf2\x46\x0e\x17\x7a\x68\xd3\xc2\xad\xfd\xec\x91\x91\x96\x52\x2f\xf0\x0f\xa4\xcd\xf0\x62\x94\x80\x57\x59\xc3\x8b\xe6\x15\xdd\xc9\xa2\x0f\xaf\x85\x0f\x37\xde\xdd\xd5\x45\xeb\xca\xb4\x4f\x56\x0f\xde\x68\x06\x3c\x44\xd3\xeb\x0e\xa2\x57\x3d\xbf\xb9\x09\x7c\xf6\xe4\xc7\x78\x16\x45\x71\xb5\x8a\x3a\xb5\x8a\x7a\x51\x03\xeb\xa0\x6d\x78\x70\x5c\x23\x27\xf0\x75\x72\x08\x6c\xc4\x1e\x84\x41\x7b\xed\x87\x9f\xf7\xab\x9d\xc6\xc0\x9a\x26\x60\x98\xad\x08\xd8\x9a\x09\x98\x56\x9f\xf2\x43\x3e\x1d\x15\xb2\xac\x6a\xec\x7a\x90\xc7\x9d\xee\xe9\xd4\x61\x67\x34\x13\x3f\x26\xd3\x08\xa0\x7d\x5f\x23\x5c\xcc\x4c\x83\xbb\xd1\x46\xe3\x49\x38\xd8\x01\xcd\xbb\x9d\x31\x78\xf1\x02\x90\x6f\xcd\x3b\xaf\x59\xb3\x43\x1c\x45\x61\x1a\x47\x0a\x54\x49\x38\x8d\x6d\x9b\x72\x83\x20\xf9\x39\xf0\x21\xa9\x6e\xcc\x37\x28\x5e\xc5\x6a\xdc\x6a\x19\x39\x25\xc0\x14\x40\xd2\x26\x59\x5f\x5b\xd4\xd1\x8c\xb0\x82\x94\x6c\x8d\xc1\xd7\xaf\x12\x15\x9c\xb7\x77\xed\x8d\xf6\x9e\xf3\xab\xa7\x7e\xcd\x70\xb5\xe1\x6e\x93\x73\x16\x15\x78\x9b\x23\xce\xea\xe7\x18\xc0\x46\x73\x63\x5c\xb3\x43\xf0\x46\x4d\x19\x82\xbf\xe3\x6d\x38\xea\x8f\xf7\x94\xfa\x63\x6f\xec\x82\x3f\x86\x2d\xa5\x3e\x6c\xed\x39\xeb\x6f\xa8\xf5\xb7\x9d\xf0\xc7\x2a\x3d\xe3\xed\xa6\xb3\x3e\x54\xeb\xc3\x6d\x47\xfd\x76\xb3\xa9\x20\x68\x8f\xc7\x63\xdf\xd1\x62\x43\x6b\xb1\x81\x5b\xb0\xdc\xd1\x0f\xe2\x71\x0c\x9d\x7d\x07\xcf\x1e\x6a\xd5\x2f\x20\x5c\xcc\xf6\xf1\xf3\xca\x64\x0e\xec\x83\x26\x78\xa8\x1d\x3c\x7b\xb6\xbe\xfe\x77\x90\x44\x8b\x78\x04\xdf\x79\xf3\x79\x10\x4e\x7e\x3c\x3d\xe9\x48\x87\x50\xbf\x25\x8d\x1b\x6f\xfe\xec\xd9\xb3\xf5\x97\x2f\x5f\xae\x83\x87\x5a\xfd\xd9\xfa\x4b\xd0\xda\x05\x2f\xd7\x69\x11\x3f\xb1\xa9\xde\x44\xfe\x62\x06\xeb\x80\x1e\xfb\xd4\xc1\x70\x78\x0b\xaf\xe7\xde\xe8\xd3\x30\x86\xbf\x2f\x82\x18\x0e\x87\x48\xc2\x9f\xad\x2c\x12\x08\x92\x34\x0e\x46\xe9\xca\xc1\xb3\x67\x1f\xae\x7f\x83\xa3\xb4\xe1\xc3\x71\x10\xc2\x8f\x71\x34\x87\x71\x7a\x5f\xe5\x50\x56\x86\x43\x98\xbc\xc3\xb0\x57\xea\xe0\x0b\xf8\xec\xcd\x16\x70\x1f\x2b\x26\xdc\x0b\xb4\x16\x1c\xbf\xff\xa9\x7b\x72\x7c\x38\x3c\x39\x7e\xff\xc3\xb0\x7f\xd2\x3d\x3b\x03\x1d\x40\xf2\x42\xae\x05\xe1\x67\x6f\x16\xf8\x6b\xf8\x4c\x96\x54\xc7\x47\x6b\xa3\x68\xd6\x9f\x79\x24\x8a\xa3\x52\x9d\xa6\xe9\x3c\x79\xb3\x7f\x79\xb9\x7e\x79\xb9\x5e\xa3\xf5\xfc\xe8\xc6\x0b\x42\x9e\xe0\xf5\x0c\xdf\x51\x54\x2e\x2e\x2f\x7d\x6f\xed\x9f\x97\x97\x8d\xb5\xab\x55\x5a\x33\x84\x13\x2f\x85\xfe\xa1\xb9\xc1\xff\x18\x5a\x10\xd8\xbd\xc8\xbf\x17\xa8\xa8\x80\x55\x13\xd2\x55\x50\x61\x24\xa5\x33\x5f\xa8\x7f\x41\xa0\x5e\x7d\x69\xd7\xb7\x1f\x58\x95\x60\x2e\xd4\xa8\x5e\x5e\xfa\x5f\x5a\xf5\x8d\x87\xcb\xcb\x46\xed\x0b\xfa\x87\xfc\xc9\x2a\xcf\xa2\x91\x37\x7b\x1b\x25\xa9\xd0\x06\x97\x4d\xa3\x24\x65\x95\xd0\x48\x08\xdf\xf7\x09\x90\x2d\x0e\x64\x2a\xb7\x17\xba\x21\xf4\x6f\x15\x54\x2e\x2f\x1b\xe8\x53\xd6\x07\xd4\xb1\xaf\xa8\x88\xd3\xbc\x0a\x2a\xb8\x40\xa5\x0b\xb3\x00\xac\x8a\xa4\xac\x82\xca\x1b\x46\xa0\x97\x4e\x05\x02\x2e\x2f\xd7\x2f\xf0\x48\xde\x5e\x5e\x36\x2e\x2f\xd7\xfe\xf1\xaf\xab\x97\xb5\x97\xb4\xee\xef\x0b\x18\xdf\x9f\xa5\x71\x10\x4e\xde\x7a\xc9\xf4\x28\xf6\x26\x37\x30\x4c\xb5\x41\x6b\xae\xed\x61\x00\x17\x97\x97\x57\x97\x97\xd5\xcb\xcb\x1a\x06\xf9\xe6\xf2\xf2\xf9\xdf\xff\xeb\xbb\x7f\xbc\xb8\xac\xbc\x5c\xad\xef\x1f\xfc\xeb\xf2\xb2\x43\xb0\x5c\x19\x30\x48\x44\xbd\x41\x1d\x28\x82\x1e\x75\x96\x75\x6d\x2a\x56\xca\xa0\xfd\x7d\x19\x58\x54\x4a\x3f\x22\x6e\x19\x64\x54\x60\x18\x17\xd3\x6b\x51\x40\xa7\xe2\x78\x08\x3c\x5f\x35\x74\x79\xd5\x40\x39\x01\x99\xa4\x5e\x8c\x71\x56\xdf\xec\xff\x0f\x1e\x6c\xfb\xec\x41\xd4\x57\x29\x29\x30\x44\xa6\x56\xa5\x56\xfd\x4e\x6c\xa4\x75\x46\x98\x2c\x44\xc7\xfc\x18\xcf\x4e\xe1\x04\x22\xf3\x27\x84\xb7\xe0\x14\x4e\x06\x77\xf3\x2a\xa1\x62\x55\xd5\x05\xab\x62\x8f\x57\x11\x4e\xaa\x62\xde\xfe\xfa\x71\x70\x7a\x3e\xf8\xe5\x9c\x28\x99\x77\xdd\xf3\xfe\xdb\xc1\xe9\xf0\xf8\x90\x58\xb0\xa8\xca\x49\x10\x7e\x0a\xc6\x01\x8c\xe5\x83\x6c\xb6\xaa\xf3\x12\x5e\xaf\xaa\x9f\xdc\x87\xe4\x11\xe5\x4f\xef\xbc\x74\x34\x85\xf1\x31\xea\xb2\x15\xb5\x7a\x7e\x1f\x47\xb7\xe7\xc1\x0d\x8c\x16\xe9\xb1\x8f\xef\x40\xaf\xd4\x1a\xb3\x0c\xb4\xb1\x42\x0c\x27\x41\x92\xc2\x58\x20\xa1\x2a\x73\xb1\x8e\x2f\x69\x91\x22\xc6\xce\x77\xc7\xa1\x0f\xef\xf6\x41\x0b\xab\xe2\x6c\x19\xe2\x5d\x14\xae\x31\xbc\x34\xf5\x46\xd3\xf3\xe8\x10\x5f\x18\x65\xfc\xf1\xa3\xd1\x02\xc9\x08\x7e\x23\xc0\x70\x99\xc1\xbe\x83\x0e\x60\xbf\x1a\x3a\x9e\x90\xf7\x4d\x13\xe9\x72\xc2\x44\x06\xbe\x91\x1b\xdf\x9f\xe2\x67\x02\x32\x2a\xe2\xe8\x16\xf7\xc5\xe2\x4c\xc5\x30\x17\xcf\x32\x8d\xb5\x35\x1b\x0d\x7e\x9f\x22\x0d\xd1\x05\x43\xaa\xa4\x5f\xe4\xcd\xb4\xdb\xe2\x19\xf4\x62\xda\x5e\xa8\x65\x42\xef\x44\x07\x3a\x20\x81\x29\x07\xc4\x45\x83\xf0\xa5\x71\x1d\x84\x3e\x2e\xc5\x43\x42\xd8\x52\x17\x98\x79\x7e\xfc\x6e\x30\xec\x0d\x8e\x3e\x9c\x0e\xb0\x48\x1e\x1f\xfd\x5a\xcb\xe5\x7b\x02\xd3\xb7\xf7\x68\x6d\xa7\x12\x9e\x5d\x08\x65\x83\x30\x25\x65\xba\x0c\x88\x72\x7b\x61\x9d\x0f\x57\x8d\x29\x07\x3a\x65\x17\x4c\x25\xc8\xfa\x09\x19\x0a\xc4\x11\xc3\x9b\xcd\x70\x28\xb8\x48\xdd\x88\x16\x2e\x4f\xde\x67\x13\x02\x06\x36\x97\x54\xc3\xe4\x94\x45\x98\xcc\x4f\xda\xf3\x3a\xda\xf7\x04\x51\xa8\x6d\xbf\x68\x31\xde\x08\x7c\x8e\x02\x1f\xc7\x93\x00\x5e\x0a\xbe\x3c\x1c\x18\x93\xd8\xea\xaa\x09\xed\x04\xec\x7a\xf1\xc5\x0b\xf0\xdc\x30\xa0\x84\x6b\x71\x74\x8b\xb5\xf1\x80\x78\x5f\xb2\x71\xbb\x59\x24\x29\xb8\x86\x80\x18\x83\x7e\xc5\x28\xda\xe4\x94\x80\xf5\x5f\x49\x11\xee\xef\xdb\x34\xe9\xea\x6a\x5d\x99\xba\x13\xa4\xba\x08\xd7\xa4\x2f\x94\x9a\x7d\xce\x4a\x79\xcb\x2f\xe8\x3d\xca\xb5\x46\x56\x26\xd7\xd5\x07\x3c\x6b\xa3\x7f\x93\xdb\xce\xe3\x20\x8a\x83\xf4\x3e\x6b\xc1\x4a\xf0\x2d\x6c\xc6\x18\x55\x1b\x7a\xbe\x2f\x74\xfc\x3c\x3a\x09\x92\xb4\x4a\x19\x26\x30\x94\x6e\x15\xe8\x87\x06\x3b\x4e\x71\x08\xa0\x11\xb2\x24\x82\x0c\x8b\xd1\x4f\x41\x9c\x25\x62\xec\x9e\x25\x50\x4f\xaa\x8e\x1f\x9b\xd2\xfb\x00\x9c\x2a\x58\x4a\x4b\x63\xa7\x61\x0d\xb4\x0e\x40\x80\x77\x59\x07\x20\x30\x3f\x3a\xc7\xb8\xc4\x87\xe0\x95\x09\xe2\x45\x70\xc5\x6b\xd8\x33\x9e\x4b\x34\xd0\xe7\x84\x02\xfe\xa6\x9b\xb9\x93\xa6\x8e\x02\xa7\x27\xb2\x09\x4b\xd3\x80\xc1\x31\xde\x3e\xcc\x53\x39\x37\x6c\x72\x89\xbd\x95\xd8\xde\x22\x91\x87\x56\xee\x1b\x23\x12\xcd\x32\x83\xb8\x1b\xf8\x58\x64\x8c\x78\x0b\x70\x59\x7f\xe3\x09\xd8\xce\xba\x6c\xdc\x35\x9c\x7c\x39\x66\x4c\x09\x6b\x83\x3e\xd9\x2f\x9a\x0a\x56\x0b\xe1\x79\x1c\xdd\x96\x34\x45\xe0\x5d\x4a\x4c\xa4\x06\xfa\xb5\x1f\x85\xa9\x64\x48\x99\x52\x38\x95\x1b\x34\x59\x2d\x1b\x87\xef\x40\x6b\x80\x2a\x0c\x48\x6a\x8d\x2c\x7a\xd1\x8f\x4e\x38\xdb\xc8\xd3\x84\xe6\x49\x81\x38\x21\x02\xc8\x32\x54\x19\x43\x11\xc4\x79\xac\x2b\x5f\x5b\x80\x05\xa2\x72\x38\x8b\xa2\xf9\xb0\x25\x0d\xe1\x6f\x79\xc9\xe9\x68\xc6\x10\xf2\x1e\x0b\xa7\xf1\xe2\xb7\x2b\xb3\x8f\x31\x60\x4b\x8b\x91\xba\x2a\xcb\x3f\x22\x0c\x5e\x9d\xa1\xa8\x0b\x64\x05\x09\xb6\x62\x5c\xc4\x31\x5e\x3c\x2f\x58\x17\xe0\x33\x62\x53\x02\x4c\xfd\xdc\xc5\x11\x6d\x0e\xac\x01\xe4\xf8\x8b\x2d\xe4\xdc\x12\xb1\xc4\xc4\xf5\x37\x22\xae\xbf\x81\x57\xc0\x20\x0a\xce\x37\xef\xd1\x0f\x1d\x59\xe3\x9b\xe9\x66\x82\xf5\x92\x22\x7a\xd9\xa5\x23\x44\x71\x57\xb5\x44\x26\xfa\xaa\xa6\x80\xc9\x62\x96\x2a\x7b\x38\xe2\xc2\xf8\x36\x4d\xe7\xb2\xc2\xce\xd6\x78\xac\x3d\x0b\x6c\x28\x49\x76\x45\x1f\xd2\x6d\x55\x63\x34\x0d\x66\xfe\x7b\x54\xa0\xde\xd6\xa4\xf8\xc9\x21\x45\xaf\x10\x83\x88\xcf\x36\x6c\x63\xd5\x14\x15\x46\x9a\x7e\xfd\x4a\x60\x38\x0d\x02\xaa\x73\x49\x9f\x6d\x1a\x6e\x11\x07\xac\xab\x17\x88\xb1\xd1\x98\xf7\x3b\x33\xcf\xb0\xcd\x5a\x09\x17\x37\xd7\x30\xae\x80\x37\xa0\x09\xf6\x0d\xb5\x14\x96\xc6\xd1\x2d\x7e\x09\x96\x40\xa0\x38\x1a\x01\xfe\x6b\x15\xe1\x65\xd2\xe6\xd4\xa6\x98\x9d\x79\x0a\x34\x24\x4e\xe9\xb8\xae\x51\x61\x92\x0b\x0b\x46\x09\xaa\x27\xf1\x1d\x13\xf5\x61\x5c\x5d\xc4\x81\x41\x59\x8a\x8d\x5f\x5b\x02\xc9\x15\xad\xcc\x95\xf2\x28\x86\x5e\x0a\xbb\xe1\x68\x1a\xc5\xf4\x1b\xc2\xc2\x05\xb4\xc1\xf7\x1d\x9a\x04\x1a\xe6\x16\xa2\x46\x23\x5e\x10\x81\x8c\xa9\xd6\xc0\x37\x06\x01\xfd\xef\xfc\x7e\x0e\xcd\x8f\x09\x88\x3f\x74\x5d\x85\xf3\x99\x37\x82\x48\x98\x31\x80\xba\xd8\xdd\x52\x89\x2f\x2c\x01\x66\x22\x27\xb3\x45\x00\xa1\xb2\x2b\x47\xd4\x1b\xa6\x63\x51\xcd\xf7\xde\x0d\xe9\x50\xa5\xab\x85\xed\xa8\x3f\x96\xd9\x51\xac\x0f\x40\x50\xee\x41\x18\xc2\xf8\xed\xf9\xbb\x13\xd0\x01\x95\x8a\x1d\x12\xab\xef\xcd\xe7\x30\xf4\xfb\x48\x35\x54\x97\xe1\xa1\x23\x02\x12\x8f\x6c\xa6\x74\x1c\xb9\x27\xd9\x8f\x69\x45\x30\x43\xc9\x5d\x14\x10\x14\xde\x8a\xcd\xb2\x0c\x8c\x73\x09\xe7\x6d\xcf\xa4\x89\xca\x5b\x17\x9c\xad\xe2\x0f\xe2\x87\x06\xf2\x39\x89\x4a\xcd\x11\x0d\x4d\xe2\xcf\x16\xd7\x09\x3e\xa6\xfd\x39\x48\xa7\x78\x0a\x70\xca\xa4\x79\x50\x07\x78\x6e\xab\x68\x73\x96\x77\x4b\x2c\x12\xfb\x31\x4b\x60\x61\xb9\xb0\xdb\x67\x58\x5d\x76\x7d\x1f\x0a\x07\x6d\xae\x3e\x6b\xd3\x9e\x76\x37\xc9\xed\x29\x0e\xb7\xcd\xd0\xe9\x95\x4c\xe6\x01\x9a\x97\x64\x07\xeb\x9e\x25\xb6\xc5\x34\x61\x1d\xa8\x4a\x2b\x51\x2d\x67\x95\xe5\x34\x97\x5c\x6d\x33\xc2\x9d\x7a\x45\xef\xe9\xb7\x59\x81\x39\x39\xd2\x2a\xbc\x5a\x64\x19\x06\xee\x3d\x9c\xd8\x33\x97\x81\x66\x58\xfa\x24\x3b\x0d\xcb\x8e\xb8\xfc\x19\xce\x39\x55\xfb\x0d\x2a\xcb\x2b\x3b\x60\x6e\x10\x64\x6c\x85\xad\x78\xe2\x19\x98\x61\x13\x00\xf0\x5a\xa9\x57\xf1\x63\x6f\x32\xf1\xae\x67\x86\x88\x38\xe2\xc8\x90\x47\xa4\x08\x6c\x1a\xc3\xb1\x8a\x48\xa2\xc7\x8b\x27\xe4\x1e\x69\x88\x1f\x35\xae\x98\xab\x79\xbe\x8f\x33\x2f\xa2\xfd\x03\x0c\x61\x5c\xad\x8c\x66\xc1\xe8\x53\x45\xdc\xbf\xe0\x04\x8a\xb6\xdd\x9b\xe5\x38\x51\x19\x56\x5a\x8b\x80\xc2\x33\xdb\x30\x29\x94\xc8\x76\xe3\x41\xa3\x41\xeb\x3c\x59\x57\xf4\x0d\xd5\x28\x0a\x53\x2f\x08\x13\xd3\xae\xca\xdd\xe3\x62\x5a\xa8\x18\x6f\xcc\x9c\xa0\xad\x29\xd1\xf9\x33\x46\xd0\xbe\xd2\x4c\x89\xc8\x52\xa3\x4e\x86\x10\xde\xbe\xa7\x9b\x0d\x71\x3b\xc3\x97\xf4\x21\x3d\x49\x1a\x22\x3b\xda\x8b\x27\x0b\x79\x8f\x37\x34\x18\xd3\x0c\xe4\xc5\x30\x20\x2f\x9f\x76\xb2\x86\x17\xc3\xc0\xf8\x38\x15\x0d\xee\x23\xb3\x8a\x92\xda\x20\x05\xef\x25\xeb\xcd\x68\xde\x53\x84\x2e\x0b\x9f\xc0\xa2\x91\xad\x3d\x38\x8e\x62\x58\xe5\x84\x06\x57\x75\x86\xd4\x38\x06\xb4\x31\x49\x3b\x4a\x8c\x2e\xb9\x7a\xc1\x01\xd1\x96\x43\x69\x84\xc8\x54\x26\xf6\x00\x25\xad\x0e\xf8\x02\x24\xfc\x6a\xbc\x2d\xcb\x5a\x1b\x8c\x37\x63\x9a\xa7\xac\x05\x52\x85\xa6\xe6\x52\x30\xe5\x83\x0d\x1d\xdf\x05\x3c\x37\x3f\x29\xa6\x5c\x38\x08\x68\xd9\x9d\x83\x47\xce\xc8\xf0\x0e\x2c\x8a\x41\x14\xce\xee\x01\x9d\x93\xc0\x03\x49\x10\x4e\x66\x30\xab\x62\xbf\x9a\x18\x2f\x66\xb3\x73\x72\xda\x26\xd0\x67\x3c\x74\xc3\x7b\x32\x89\xa1\xe6\x15\x19\x6f\x42\x83\xc9\x34\x45\x70\xe9\x39\x14\x41\x22\xd8\x06\xfc\x37\xb6\x71\xd2\x37\x8f\x1c\x06\x22\x09\xc3\x31\x2e\x3e\xac\x46\x55\xc0\x69\x7c\x1a\x5f\xdc\x4a\x19\x05\x47\x41\x68\x3c\xb9\x17\x7d\xec\x1e\xf2\x58\x63\xe6\x68\x76\x92\xaf\x31\xc1\xc0\xc9\x19\x1c\x3b\x19\xd9\xd4\xa4\xdc\x70\x6e\x49\x61\x14\x64\x64\x86\xb2\x14\x1f\x65\x2c\x9c\xaf\x25\xd8\x28\xd2\x5a\xbe\xb7\x6a\x4f\x0b\xf7\x53\x81\xc1\xc5\x20\x47\x72\xa9\x69\xa7\x8f\xa2\x05\x5c\x21\x9a\x78\x6d\x2d\x04\xbf\x08\xdb\x6d\xc2\xac\x5f\xa4\xb5\x4c\x71\x91\x5c\x19\xb3\xa0\x48\xe7\x2d\x3a\xe8\x80\x76\xb3\x99\x45\x4e\x8a\x1e\x25\x02\x24\xb3\xe3\x5e\x06\xd9\xe2\xb5\xb7\xf7\x17\xf3\xda\xd3\x32\x85\x80\x8e\x09\x7b\xb5\x4d\xeb\x67\xef\xc1\x59\x2a\x6e\xd0\x8a\x24\xcb\xeb\x59\xea\xa5\x30\xf3\x32\xf8\xf2\x70\xf0\x4c\xff\x70\x61\x4c\x57\xd2\x1b\x9c\x5c\xa9\x81\xb6\x09\xb2\xed\x33\x03\x54\x31\xa8\x1a\xd7\x70\x36\xab\xd6\x0e\x40\x09\x2c\x27\x47\x65\x91\xcc\x82\x10\x1e\x41\xe8\x97\x44\xf4\xd3\xf9\x15\x7f\x99\xa4\x10\x59\xc5\x41\x1f\x1d\x7d\x33\xd0\xfd\xd3\xb2\xec\x19\x79\x71\x1c\x78\x13\x78\x8a\x8b\x4b\x32\xa9\x77\x56\x7a\xc8\xbd\xd1\xa7\x64\xee\x8d\x60\x49\x4c\x6f\xcf\xcb\x62\x4a\xbd\xeb\x92\x38\xce\x3e\x94\xc5\x91\x4c\x83\x71\xfa\x61\x91\x96\x45\x74\xbc\x14\xa2\xe3\xb2\xc3\x33\x38\xeb\x17\x45\x44\xbe\xe0\x74\x0a\x08\x6c\xf5\x23\xfe\x1b\xff\x8e\xc0\x74\x3f\x0e\x0e\x09\x6e\xbc\x0f\xc7\xc8\x7c\x83\xb2\x30\x7c\xb9\xa8\x5c\x54\xcc\x54\xb0\x38\x79\x66\x6f\x64\x39\x19\x70\x88\xbe\xb0\xb1\x11\x13\xac\x20\x83\xfe\x23\xcd\x26\x42\x97\x6f\x17\xf1\xfd\xb3\xe3\xe1\xc7\xee\x69\xf7\x5d\xed\xe0\x99\x8d\xc0\xab\x3f\x93\xc0\x0f\x67\x7d\x07\x69\x1f\xff\x4c\xd2\x0e\xfb\x67\x0e\xd2\x86\x05\x49\x73\x61\x38\xfe\xfe\xfd\x87\xd3\x81\x03\xc9\xff\xfc\x11\x48\x46\x65\x99\xcc\xdf\xca\xb2\x41\x1c\x94\x85\x28\x64\xe7\x10\x92\x39\xf9\xf0\x8e\x25\x41\x72\x75\xf0\xfd\x87\xd3\x77\xdd\x13\x07\x39\x87\x65\xc9\x79\x3a\xd4\xef\xca\xf3\xf6\x33\x8c\x13\x78\xfc\x64\x14\xfc\xa3\x2c\x05\x09\x4c\x27\x27\xf0\x33\x9c\x55\x9b\xb5\x03\xfd\x53\x99\xa7\x85\x0b\x11\x2e\x56\xfc\x14\xcc\xdf\xa3\x3d\xda\xd4\x8b\x1d\xf2\x65\x5e\xfb\xbb\xef\x4d\x1d\x2d\xa8\xe4\x19\x35\x4c\xc7\x8f\x92\x00\x6b\x0a\x83\x92\x37\x7d\xba\xa8\xbc\x31\xb2\xd9\x88\xfd\x23\xce\xb9\x53\xad\xbc\xa9\x10\x7c\x66\x80\xaf\xcb\x03\x7c\xed\x04\xf8\xbc\x3c\xc0\xe7\x4e\x80\xcd\x12\x00\x51\x6b\x5a\xa1\x31\x61\x7f\xd7\xc0\x4b\xd0\x6a\xba\x50\xb4\x9e\x06\x05\x4e\xe3\xe7\x40\xd3\x7e\x32\x34\x6d\x17\x9a\x8d\x27\x43\xb3\xe1\x42\xb3\xf9\x64\x68\x36\x5d\x68\xb6\x9e\x0c\xcd\x96\x0b\xcd\xf6\x93\xa1\xd9\x76\xa1\xd9\x79\x32\x34\x3b\x2e\x34\xbb\x4f\x86\x66\xd7\x85\x66\xef\xc9\xd0\xec\xb9\xd0\x7c\x57\x02\x4d\x94\xa4\x58\xa7\x7c\xe7\xd4\x29\x2b\x4b\x40\x5c\x71\x42\x04\x4b\x40\x04\x4e\x88\x97\x95\x25\x40\x5e\x56\x9c\x30\x0f\x0a\x82\x1c\xa3\x75\x38\xf8\x27\xa4\xa3\x64\x87\xf8\xc7\xac\x91\xe6\xe5\x51\xee\xda\x7f\x29\x5d\xe3\xb7\x9e\xc4\x56\xaf\x03\x9e\x6c\x58\xdd\xf6\x91\x4b\x0f\x6c\x65\xb0\xbc\x65\xac\xc3\x32\x8a\xee\xd2\x28\x48\xf6\xbd\x1f\xe7\x6e\xf8\xbd\x47\xc2\x3f\x8c\x6e\x43\x37\x86\xfe\x23\x31\x1c\x45\xf1\xad\x17\xfb\x6e\x24\xaa\x1d\x5c\x16\x49\xcf\x1b\x7d\xca\xc7\xa2\x1a\xff\x65\xb1\xbc\x27\x17\xcc\xd0\x8d\xe5\xe8\x91\x58\x3e\xc6\x70\x04\xfd\x20\x9c\xe4\xa3\xfa\xfe\x91\xa8\x90\x00\x77\xaf\x93\x68\xb6\x48\x73\x30\xbd\x7d\x6c\xa7\xa2\x24\xc0\x47\xb4\x4e\x2c\xc7\x4f\x23\x6b\xe7\xde\xb5\x1b\xcf\x7f\x2f\x8d\x07\xc6\x1e\xda\x02\x1d\x06\xc9\x7c\xe6\xdd\xbb\xb1\xfc\xf0\x58\x2c\xf9\x02\x70\xf2\x48\x0d\x86\x30\xe4\x68\x30\x75\x9f\x58\x1c\x05\x79\x11\xb6\x00\x0a\xf5\x2c\xa5\x2c\x8a\x02\x7a\xf8\x6c\x69\x14\x24\x37\x68\x9e\x1e\x3e\x2f\x0c\xff\x19\x30\xbe\xfb\xf5\x0a\xe0\x97\x7e\x9f\xeb\xf9\xed\x65\x42\x24\x85\x4d\xee\x68\x9e\x99\x08\xfa\xe5\x71\xc2\x57\x80\xa5\xff\xef\x13\xe9\xec\xdc\xd9\xfa\xbf\xcb\x23\x9a\x7a\x48\xf3\x14\x53\x71\xde\xd2\x68\xde\x32\xed\x76\x0a\x67\x5e\x1a\x7c\xce\x41\x74\xbd\x34\xa2\x18\xce\xa1\x97\xf2\x05\x82\x87\x8a\xbb\xf1\xa9\xa7\x68\x25\x64\x1f\x86\xfe\x21\x7e\xaf\x21\x7b\xd1\xce\x8d\xcb\x5f\x1a\xd7\x2c\x08\x61\xe1\xb1\x82\x4b\xa3\xf9\xa9\xdc\x58\x8d\x97\x17\x8a\x9f\x8a\xad\x79\x93\xa5\x31\xa4\xde\x75\x7f\x06\xbd\x9c\xd1\x9f\x3e\x62\xf4\xc9\x3b\xf6\x4e\xf0\xb3\x47\x08\x73\x21\x04\x37\x8f\x9a\xfd\x45\xe5\x36\x7c\xc4\x12\x94\xbd\x67\xe2\xc6\x31\x2f\xb7\x46\xf0\x54\xeb\xda\x8a\x80\xb3\x89\x57\x9e\x57\xe4\x7c\xe2\x7c\xd8\xd8\x73\x06\xf2\x32\xc1\x7e\x04\xb7\x66\xf3\xca\xf1\x7b\x31\x32\xeb\x60\x4e\x76\x90\xd2\x9a\x46\x8a\x88\xb3\x3f\xa8\x18\x97\x31\x29\x43\x7d\x91\xa5\x2c\x76\x13\x64\x96\x5c\x31\xf9\xb8\x7b\x58\x92\xf2\xe0\x79\xaa\x6d\x37\xe4\x45\x69\xc8\x52\x76\x6c\x27\xf0\x62\xbb\xe8\xbc\xb1\xab\x83\x47\xed\xb3\x85\x6f\x07\xcf\x84\x2c\x21\x42\x39\x13\x01\xa1\xe8\x42\xfc\x7d\x85\xc0\x5c\x41\x74\x37\xd1\xff\x58\xc1\x81\xbb\x19\xbd\xfb\xc4\xed\xb0\x43\x24\x2f\xc9\x69\xc8\xef\x1d\x71\xd3\x36\x6e\x9a\x95\xe5\x37\xc6\xcd\x36\x58\xb3\xbc\x06\x1f\xce\xfa\xb8\xc1\x26\x6e\x80\xfe\xca\xc3\x40\xae\x29\x70\xa3\x2d\x82\x85\x96\xe4\x34\x3c\xec\x9f\xe1\x46\xdb\xb8\x11\xfa\x2b\xa7\x01\xb9\x7d\xc3\x6d\x76\x70\x1b\x5a\x80\xf3\x6c\x09\x35\x71\x96\x3a\xf1\xef\x0e\xf8\xf2\x50\xab\x89\x12\x90\x93\x23\x86\x54\xaa\x0e\x03\x21\x1b\x57\x1d\x0c\xd5\x7b\x9e\xcc\x97\x29\x90\x93\xac\x4b\x7f\xab\x7e\x4f\x0c\x0a\xaa\xc7\x7e\x57\xeb\x24\x94\x6e\x5d\x96\x99\xde\xc9\x38\x25\x38\x9a\xe2\xa9\x20\xa7\x77\xf1\x52\x4f\xf5\xf7\x45\x98\x51\x39\x7f\x2c\xf7\xb7\x3a\x18\x25\x75\x30\x9a\xd6\xc1\x88\xb8\x60\x45\xb7\x2a\x45\x73\x6a\x1b\xc8\x29\x23\x0d\xcf\x20\x24\x8b\x38\x8e\x26\x5e\x0a\x87\xd3\x60\xa2\x79\x00\x22\xbc\x86\xf4\xf6\x52\x1b\xb0\x8a\xab\x99\x5c\xf5\x6c\x2d\xe4\x88\x29\x25\x07\xc1\x81\xda\x05\xfc\x14\xaf\x5c\xa6\x7b\x0b\xe3\x58\x10\x44\xc7\x85\x5c\x53\x89\x8d\x18\x11\x27\x38\xcc\x4f\xb4\x7e\xf7\x23\x1f\x76\x59\x56\x17\xd6\xc6\x10\x0c\xd8\xbc\x3b\xdc\x6d\x36\xc1\xab\x0e\x81\xf0\xe2\x05\xf9\x17\xa7\x96\x3b\xec\x1d\x1d\x99\x7c\xce\x67\x38\x42\xd5\x8d\x8a\xdc\xcf\x18\x9d\xde\x83\xe4\xbd\xf7\xbe\x3a\x8b\x6e\xad\x0e\xed\x79\x4c\x1e\x4d\xcd\x71\x39\xa3\x28\x4c\x83\xd0\xf4\x3c\xbe\xee\x0a\x4f\x19\x56\xad\xe2\x5f\xd6\x00\x61\x44\x0d\xbc\x04\xcd\xbb\x4d\xf4\xcb\x2a\x40\x34\x92\x2f\x7d\x52\xd0\xbc\x6b\x35\x9b\xea\x2b\xbd\x74\x90\x56\x05\x8e\x14\xe1\xc6\x83\x69\x28\xfa\xd6\xa1\x38\x3a\x3a\xd2\xd3\x79\x9a\xfb\xcb\xec\x1f\x61\x0a\x5b\x9f\xf4\xd2\x27\xb6\xfd\x69\xff\xd1\x14\x04\xa1\xc1\xcb\xcb\x15\x7e\x66\x70\xec\x19\x4d\xaf\x68\x5a\x21\x5d\x67\x3d\x65\xe0\xa5\x0e\xbd\xe1\xf9\x3e\xbe\x87\x66\x1a\xe6\xb1\x0f\x9c\x03\x13\x1b\xe9\x72\x9a\xc7\x47\xc3\x2d\xb8\x8b\x91\xa6\x4b\x73\x95\x93\x7c\x5d\xb0\x07\xdf\x39\x62\xf3\xcc\xbd\x66\xc2\x34\xb2\x86\xe0\x72\x26\x54\xaa\x15\x73\xa7\xb3\x1a\xb5\xdc\x1a\x2f\x73\x6b\xac\xe6\xd6\x58\xcb\xad\xd1\x70\xd4\x00\x85\x7b\x2d\xc3\x74\xf5\x5e\xfc\x51\x1f\xb4\xca\x1e\xbe\x32\x28\x16\xd3\x4f\x4e\x7c\xa5\x4c\x95\x8b\xe3\xc5\xa8\x6a\x7d\x03\xaa\x5c\xa3\x5c\x8c\x2a\xcb\x63\xa7\x8f\xa2\xca\x25\x59\xc5\xa8\xda\xf8\x06\x54\xb9\xa4\xb9\x18\x55\xdf\x62\x04\xf3\x66\x50\x3e\x55\x4f\x37\x82\xf6\x98\x76\xe0\xb4\x64\xe9\x06\xe1\x51\xd1\xcc\x84\x1b\xeb\x39\xdc\x58\x5a\x62\x1e\x49\xbc\x6c\x85\xac\xad\x3d\x41\x57\xdf\xe7\x74\xb5\x10\x90\x0f\x4f\x01\x24\x2c\xc7\xf4\xcc\x09\x4e\xcd\xc7\xbe\x14\xf6\x68\x59\xec\x1b\x4f\x81\xfd\xeb\x9f\x8a\xfd\xe1\x4f\xe5\xfc\xbf\x96\xc5\x6e\xda\x90\x94\xc6\xbe\x53\x08\xbb\x64\x76\x0a\xc7\x5e\x39\x14\x14\xdb\x75\x3f\x8a\xfe\xdd\xf2\xf4\xcb\x87\x6b\x7f\x7e\x17\xfe\x5e\xa8\x0b\xcb\x92\xa0\x6e\xc8\x9f\x80\xe0\xb7\xe5\x24\x36\xf5\xae\xcf\x88\x37\xf6\xb7\xeb\x65\x21\xba\x3b\xe5\xe8\x9e\x45\x93\x6a\xe5\x0c\xc6\x81\x37\xc3\x29\xba\x41\x0c\x7f\x5f\xc0\x24\x85\x3e\x10\x9e\xb7\x05\x9f\xf0\x1b\xba\x0d\xdb\x33\xcb\x16\xe0\xa6\x47\x78\xf5\x5c\x7d\x39\x40\x0a\xbc\xcb\x6b\x87\xf2\x4d\x59\xfd\x7a\x19\x56\xe3\x5d\x4a\x10\x4e\x00\x4e\x22\x9b\x46\x74\xbb\xfd\x84\x1c\x56\x92\x46\x14\x80\xf2\x57\x64\xb1\x0f\xc7\xde\x62\x96\x7e\x7b\xad\xc1\xb9\x00\x49\x80\xf9\x8f\xe1\xa7\x30\xba\x0d\xc1\xe0\xac\x9f\xbd\xbb\xf0\x8f\xa4\x51\xa9\x83\x91\x1a\x9a\x5d\xa2\x4f\x8f\x3b\xa0\xa0\x96\x63\xde\x01\x85\x10\x0a\x40\x5b\x9c\x39\x8f\x00\x12\xd0\x31\xb5\xb9\x18\x4d\x1d\x89\x92\x28\x3a\x7c\xed\xb5\x9e\x9b\xe3\x0a\x33\x59\x8d\x28\xb0\x55\x2e\x9a\x67\x08\xe4\x1f\x25\xa9\x7d\x53\x42\x23\xca\x0c\x92\xc1\x38\x61\xe1\x17\x96\x4d\x42\x1d\x8c\xd4\xab\x48\x0b\xb0\x89\xed\x0d\x6d\xbd\x4d\x59\x31\x2f\x2a\x5b\x1f\xce\xfa\x4e\xb9\x42\x03\x6d\x8b\xec\x03\x5f\xbf\x02\x57\x95\xde\xe0\xc4\x25\x20\x05\x30\xd8\xdf\xfd\x07\xa5\x16\x7e\xf5\xc5\x65\xe2\x90\x84\x73\x3b\xe9\xef\xa7\xf3\x10\x35\x87\xac\xca\x47\xb6\x0a\xe0\x8b\xe6\x55\xde\xc4\xc0\xe3\xd0\x74\xeb\x37\xd3\x23\xe3\xc6\x3a\x86\x47\xc7\xd5\x1f\xd3\xb3\xd3\xec\x29\xe7\x22\x27\x66\xc0\x60\xf4\x04\xe9\x0c\xea\x57\x32\x1c\x6c\xb1\xd3\x02\xa5\x35\xb9\xc6\x3d\x47\xa0\x55\x7a\x31\xbe\x1c\x15\x0c\x72\x0f\x17\x40\xb1\x13\x0a\xd3\xfb\xea\x8f\x01\x65\x78\x96\x5d\xab\xb3\xf5\x74\xe8\x5a\x85\x44\xab\x88\x6c\xb5\x72\x84\x8b\x54\xca\xe1\x14\xa9\x54\x84\x07\xad\x1c\x26\x90\x4a\x86\xf7\xe5\xf5\x4a\x3b\x45\x2a\xed\x16\xa9\xb4\xf7\x84\x72\x90\x43\x7a\x19\x58\x5b\x39\x83\x5c\x0a\x56\x8e\x2c\x94\x82\x55\x40\x1f\x15\x17\xe4\x42\x52\xd3\x2c\x24\x36\x05\x67\x45\xa1\x69\x51\x6c\x5e\x14\x9b\x18\xc5\x66\x46\xb1\xa9\x51\x6c\x6e\x14\x9b\x1c\x79\xb3\x03\x2c\x9b\x3b\x12\xd8\x96\x64\x25\x93\x58\x4e\x1b\x73\x38\xb9\xbd\x61\x59\x1b\x6a\x29\xd3\x53\x78\x7d\x46\xb5\x37\xdc\x99\x71\x45\x00\xa3\x29\x78\xdd\x01\x95\x66\x05\x5f\x2a\x4f\xc1\xab\x0e\xa8\xec\xe5\x5a\xdb\x20\x8f\x45\xcb\xac\xc8\x12\x04\x1a\x90\x36\x9a\x8a\x7e\x04\xcd\x1a\x58\x03\x9b\xbb\x8f\x39\xf2\xe7\x09\x64\xd9\xd6\xe2\x60\x99\xce\x3e\xde\xac\x2b\xc2\x03\x77\x92\x5d\x77\x5f\x5d\xc9\x7c\x9d\x52\x95\x47\xd4\xaa\xdd\xc7\xc2\x8e\xf7\x91\xbb\x52\xe6\x4a\x96\xb7\x2f\x35\xc5\xc6\xb9\x37\xa6\x86\x58\x3a\x76\x75\xfe\x94\x57\xe5\x98\xa1\x6a\x34\x5f\xc9\x3d\x58\xff\xec\xb8\x18\xaf\x0a\x70\xa9\x04\x83\x8c\xbc\x69\x28\x7e\x67\xc6\xe9\xa1\x17\x53\x47\x49\xb5\x98\xf9\x4d\x3a\xb8\xfe\x08\x37\x0f\xdb\xc1\x4b\xff\xec\x18\x7b\x7a\xe4\x9e\xba\xb8\x76\xeb\x65\x15\xbd\x91\x23\x8e\x89\x6e\x66\x95\xa3\x41\xd1\x39\x75\xd8\x3f\xfb\x3f\xb0\x1b\xc7\x09\x3b\x53\xc0\xde\xb1\x72\x57\xc4\x8f\x6a\x14\xa8\x6b\xdb\x91\x6b\x3e\xe5\xa6\x1f\x72\xa4\x5b\xe0\x86\xbc\xa8\xdd\x5a\xf9\xee\xf7\x02\xd0\xe6\xa9\xbe\x7f\x16\xd5\x7a\xfe\x42\xc5\xb8\x53\xe0\xd8\x17\x88\x9e\xf6\xc6\x04\xb7\xf6\xde\xac\x14\xe9\x8d\xd4\xab\x4a\x73\xe5\xf7\x9c\x65\x52\xfc\x29\xe8\xca\x20\x50\x34\x2f\x4d\xd1\x76\x6b\x65\xfe\x2d\x49\x8a\x4b\x53\x54\x29\x5c\x1f\xfd\xac\xea\x2e\xb3\xf8\xb4\xfe\x3c\x9a\x63\x77\xc5\x92\xc0\x2a\x07\x4f\x83\xbe\x17\xa5\x69\x74\xb3\x14\x05\xf1\xb7\x1c\x8e\x9b\xf2\x22\x7b\xf3\x6d\xe8\x29\x74\x9b\x21\xfe\xb8\x97\xc8\xc3\xfe\x19\xf8\x98\xb2\x05\x72\x6e\x7b\xb8\xc1\xf4\x43\xc5\xee\xc9\x7b\x99\x7f\xe6\xa6\x1d\xa3\x87\x7e\xd5\xba\x92\xad\x82\xca\xc7\x0a\x58\x05\xab\x44\xbd\xad\x82\xca\x77\x31\x7e\x46\x38\x05\xab\xf6\xf5\x0f\x3f\x55\x9c\x77\x85\x56\xb0\x53\xd4\xbf\xac\x88\x92\x29\x0e\xed\x2f\xb9\x24\x3c\x72\x60\x56\xff\xe0\x81\x29\x3c\x97\xf2\xe7\x10\x31\x0d\xd8\x3c\x32\xdb\x0d\x8f\xa6\xb9\xf0\x01\x48\xd9\xc3\x8c\xe2\xd6\x2a\xf8\x16\x07\x20\xa6\x63\x0e\x69\x93\x5d\xf6\x88\x84\xf4\x82\x1c\x77\xe0\xb7\x26\xbe\xab\x88\x7f\xad\x16\xbb\x6b\xb4\xf2\xb3\xfc\xee\x58\xea\xaa\x91\x5a\x31\x43\x7a\xfb\x4f\x23\xaf\x14\x5a\xca\xe6\x27\x3c\x2e\x28\xb7\xdb\x2b\x7a\x68\xf1\xb8\xa3\x09\x12\xdf\xf5\x7f\x60\x27\xf5\x94\xd3\xda\xc0\x5c\xc7\x23\x2c\x02\x66\xd2\x86\x26\xd0\xd6\x42\xcb\x58\x78\xa5\x14\x5d\xa6\xc5\xb8\xc8\x1d\x29\x06\xf6\x23\x53\x7c\x42\x2e\x25\x6d\xb7\x67\x53\x96\xe4\x97\x7c\x1c\x7c\x6b\x2f\x20\x91\xa3\x81\x4d\x58\x78\x2b\xfa\x5b\x3e\x1e\xaa\x07\xa4\xb4\x50\xb2\x16\x75\x2b\x90\x79\x66\x1c\xd8\xd0\x4c\x4c\x68\x44\x0c\xd2\xd0\x3a\xac\x0f\x1b\x02\xe9\x28\xcd\x8a\xe5\xd1\x87\xb6\x85\x16\x4e\x2b\xaf\x05\x67\x94\x1c\x12\xd5\x09\x28\xa7\x88\x27\x90\x59\x7e\x78\x96\xfa\x9d\x47\x89\xb2\xcf\xe6\xa4\xef\x94\x2c\x73\xc6\xf7\x76\xf3\x2f\x96\xf1\xfd\x30\xba\xa1\x0f\x1b\x11\x60\x1f\xa3\x68\x66\xcf\xe6\xce\xd2\xb9\xbf\xeb\xfe\x32\x3c\x1d\x1c\x9d\x0e\xce\xde\x0e\x8f\x4e\xbb\xef\x06\xc3\xb3\x1f\x8e\x3f\x82\x0e\xd8\x22\xdf\x8f\x4e\xba\xdf\x9f\x49\xc1\xd4\xb8\x84\x8d\x03\xfe\xe3\x82\xfc\x7f\xa5\xf7\xe1\x44\x0c\x80\xc6\x7f\x1e\xe8\xd5\x7e\x7c\x7f\x38\x38\x3d\x39\x7e\x3f\x10\x22\x9e\xb3\x32\x43\x83\xde\xc9\xf1\xfb\x1f\x84\xb0\x65\xf2\xb7\xa1\xe2\xf1\xfb\x9f\x06\xa7\x67\x04\xee\x2e\x89\x21\xa6\x25\xe6\xca\xc7\x67\xc7\xbd\x13\x52\xbd\xb5\xcd\xea\xd3\x42\x1c\x76\x8c\xab\xe2\x80\x63\xf2\x1b\x0b\x35\x26\xbc\xb9\x8e\xa3\x4f\x30\xec\x45\x33\x9f\xbb\x06\xa1\xe2\x53\x18\xfa\x30\xce\x8d\x42\x66\xd5\xaa\x8e\xc0\xe3\x22\xc1\xc4\x31\x1c\xc7\x30\x99\x9e\x46\xb7\xc9\xff\xb3\x80\x0b\xa8\xdc\xce\x49\x95\x8e\x62\xef\x06\x26\x67\x9f\x82\xf9\x1c\x3f\xe7\xd6\xb4\xd4\xeb\x86\xc1\x0d\xf6\x58\xc4\x0d\x34\xc7\x27\xba\x0e\xcc\xbd\x50\x93\x38\x54\x17\xde\x5a\x84\xb1\x61\x2a\xae\x56\x10\xa0\x8a\xf2\x82\xa9\xc8\xdb\x0e\xc1\xaf\xae\xe6\x12\xfb\x47\x53\x38\xfa\x84\x7e\xef\xe1\x52\x55\x49\x41\xed\x5d\x38\xf5\x49\xef\x6f\xd2\x1b\x82\x84\x8d\xb4\xa0\xe0\x7e\x47\x23\x75\x4a\x98\xad\xae\xb9\x71\x5a\x07\x30\xf4\x75\x69\x50\x47\x9a\xa8\xe3\x2f\x00\xb7\xd9\x07\x59\xd3\x7d\xf4\x3f\xe9\xb5\x29\xc1\x98\x37\x0e\xb1\xf9\x95\x78\x9b\x34\xdc\x06\xa1\x1f\xdd\x36\xa8\x1f\xb2\xfc\xb9\x2a\x35\x3d\x89\xa2\x79\xe3\x3a\x08\x7d\x72\x2d\xa4\xf1\x9f\x6a\x6b\x03\x87\x44\x08\xd6\x25\x00\x3f\xda\xfa\x29\x98\x33\xc2\x94\x51\xbf\x8d\x83\x14\xf6\x16\xe3\x31\x8c\x85\xe7\xab\xd1\x86\xc5\x3e\x2b\x56\x57\xc1\xab\x8e\x45\x2d\xca\xfc\xe4\x88\xff\x78\xe6\x01\xe7\x93\xe4\x45\xa7\x3c\xe6\x1e\x12\x1a\xb9\x08\x86\xbe\xdc\x51\x8b\xf4\x71\x8e\x6e\xaa\x0c\xc0\x40\xf5\xed\x31\x12\x4a\x6d\x8c\xe2\xe8\x36\x01\x6b\x62\x30\x9d\xf3\x8d\x38\x06\xda\x4c\xd3\x45\xf3\xaa\xa1\xf4\x48\x45\x6c\x6a\x22\xf5\x18\x38\x5f\xd9\xb7\x70\xc1\xf8\x22\x99\x9b\x7f\x17\x01\xa5\x15\xbc\x22\xbd\xb2\xed\x56\x72\xba\x1c\x18\xbb\x0c\x8c\x3b\x08\x37\x35\x88\x4d\xaf\x55\xd5\x53\x98\x8f\x81\x81\x8f\x3a\x15\xa6\xcd\x4a\xf9\x75\xac\xd0\xfa\x44\xeb\x8a\x2a\xf5\xa0\xa0\xd2\x29\xa0\x92\xb3\xf7\xec\xe4\xc9\x82\x78\xb4\x46\xc7\xec\xb5\x59\xda\xd7\xf5\x73\x08\xfe\x32\x9e\x79\xdd\x32\x3e\x94\x07\xb2\xc4\x7d\x96\xb7\x10\x2d\xc0\xc4\x57\xee\x74\xfa\xfa\xe4\x59\x36\x2d\x6b\x80\x69\xe4\x10\x13\x6e\x03\x3f\x9d\x1a\x8e\x43\xa3\x99\xf2\x9c\xf9\x3d\xd9\x33\xc6\x06\x86\x99\x19\x65\xd6\xab\x72\xb0\xc6\xff\xc2\xd0\xff\x5f\x10\x24\x20\x8d\x22\x30\xf3\xe2\x09\x6c\x80\x77\x51\x92\x82\x59\xf0\x09\xce\xee\x81\x07\xae\x3d\x1f\xf4\xcf\x4e\xb5\xb0\x8d\xd2\xda\x88\x66\x1b\xb9\x47\xeb\x03\x92\x74\x70\x6f\x7e\x66\x3c\xc6\x79\x3c\xee\xc1\xaa\x0a\xfc\xde\x0f\x92\xf9\x81\x56\x7f\x16\x84\x86\xb5\x0b\x95\x26\x68\x37\x58\x8d\xa3\x5b\xc3\x23\x69\x77\x96\xdb\x56\xc3\x39\xd8\x3d\x36\xa1\xee\xc1\x9a\xfe\xe5\xda\x4b\x20\x58\x33\x12\x5a\x03\x2f\x5e\xe4\x49\xd4\x88\x66\xce\xf2\x52\x68\xaa\x6d\x38\x7a\x4c\xa2\xf8\x6d\xe0\xfb\x30\x34\xc9\xeb\x9d\xce\x86\x3b\x9b\x10\x02\xfb\xa9\x16\x02\xb3\xd6\x72\x35\x44\x0c\xf4\xd2\x34\xd6\xf1\xf9\x70\xdc\x4d\xd3\x58\xe7\x37\x7b\x01\xed\x28\xf6\x26\xf4\x71\x59\xe5\x51\xb4\x43\xa5\x86\xea\xa6\x82\xd7\x13\xc7\x2b\xe0\x38\x53\x34\xd9\x26\x67\x0f\xe1\x9a\x86\xf8\x76\x1a\xcc\xa0\x36\x96\xf8\x51\xc7\x18\x86\x17\xf7\x57\xfc\x77\x87\x33\x1b\x7f\x4b\xdb\x30\x75\x0d\x90\xa4\x87\x22\xd9\x8f\xa3\x9d\xa8\x63\x70\xb9\xe1\x90\xde\x61\x78\x37\x62\x38\x83\x5e\x02\x8d\x6d\x1f\xec\x6b\x35\x7d\x2f\x14\xeb\x24\xeb\x9a\x8c\x87\x93\x64\x2a\x42\xb3\xec\x22\xb8\x32\xf6\x8e\x70\x48\xa8\x64\xf2\x96\x27\x95\x86\x4c\x09\xb2\xaa\x6d\x43\x55\x6c\x83\xb3\xba\xb6\x25\xb6\x4c\xae\x1d\x9c\xf5\x07\xcf\x6d\xab\xeb\x04\xed\xa6\x3a\x1b\xec\xf0\x70\x83\xe7\x9d\x0e\x9e\x1e\x36\xa8\xa8\x22\x9e\x3e\xa8\xa2\x79\x02\xe5\x1d\xbd\xf2\x89\x90\xeb\xf4\x21\xcd\x08\xe9\x19\x7d\xfe\xbb\xfb\xfe\xa7\xe8\xcb\xfb\xf6\x13\x7c\x75\xee\x4b\x8f\xf3\xcb\x04\x3a\xee\xa2\xb4\xb9\x6d\x8f\x26\x32\x93\x22\x8d\xcf\x23\xd9\x8e\x93\xfb\x2a\xa4\x97\x1a\x09\xae\x36\xcc\xf3\xd7\x1b\xe1\xa3\xa6\xf2\x91\x64\x8c\xd2\x72\xb4\x95\x12\x29\xbd\x33\xcb\x88\x15\x28\x21\x5a\x20\xf7\xf6\xfd\x69\x44\xcc\x8e\xe3\xa9\x07\x8f\xcb\x22\x52\x3f\x6b\xda\xcb\xc3\x6e\xf4\xc2\xc3\xdc\x9e\xef\x57\x2b\xf4\x29\xa7\xb5\xcf\x81\x0f\xa3\xbc\x2b\x68\x37\x28\x36\x21\xd6\x88\xad\xe1\x02\xf6\xa8\x1b\x3b\x7c\xfe\x37\xa1\xf9\xda\xc0\x0b\xd0\xbc\x6b\x8d\xc7\x6e\xc2\xf1\xfb\xc5\xa8\x09\x61\xdc\xeb\xd7\x60\xaf\x56\xa2\xe5\xcc\x9b\x24\x0c\xdf\xeb\xd7\xa0\x95\xe3\xca\x8d\x06\x88\xb4\x79\x41\xce\x3d\x1b\xbd\x0f\x27\x87\x45\xa6\x06\x5e\xa7\xb2\xc3\xb5\xc2\x3e\x68\xce\x71\xb9\x43\x03\xb3\x76\x1d\xcd\xfc\x22\x2e\x06\xf9\x9e\x2a\xb8\x7b\x13\xf0\x0a\xec\x16\xa5\x6f\x3c\x01\xab\x1d\x90\xc3\xb5\x7c\xe4\xee\xaf\x3a\xd7\xf9\xc9\xf6\x12\x5a\xc9\xc8\xc3\x05\xda\xb5\x22\x3b\x23\x8f\x91\x65\x29\xc5\xc7\xea\x4f\x45\xe5\xf5\x2c\x08\x3f\x3d\x35\x85\xf4\x34\xbf\x08\x8d\x68\xca\xa4\xf0\x66\x0e\x3a\xe0\x7a\x52\xc0\x3f\x04\xcd\xcb\x71\x81\x8a\x78\x02\x23\xc0\x05\x16\x87\x31\xa8\xf2\x0e\xb4\xd0\x76\x0a\xfc\xff\x42\x62\xf9\x1d\xc8\x53\xc9\xc2\x14\x6f\xf8\xfe\x44\x61\xc0\x17\x0a\x13\xe2\x01\xb2\xb5\x53\x94\xfd\x58\x26\x5a\x5b\x4f\xa8\xad\x08\x01\xdb\x25\xc6\xbf\x50\xf6\xba\xc7\x0e\xff\x35\x92\xca\x82\x74\x39\xc7\x7b\x85\xce\xfd\xc9\xda\x28\x9a\x45\xf1\xda\x0a\x58\x05\xd7\x93\xc7\x8f\xfb\x13\xd3\x97\x11\x37\x5e\x9e\xb8\xa2\xde\x37\xe6\x6d\x56\xb6\x65\x74\x79\x25\x65\xe6\xe5\x6a\x07\xac\xbc\x42\xc6\x1a\xc0\x3d\xea\x5c\xd2\xae\xdc\x06\x3e\x5c\x1b\x4d\xbd\xf8\x72\xe5\xf5\x0a\x8e\xf9\x02\xab\x60\xe5\xd5\x3a\xaa\xfa\x7a\xa5\xc8\xa6\x4f\x08\xea\x52\xc2\xc5\x5e\x83\xf6\xd6\xd6\xf2\xa4\x91\xa4\x29\x4f\x40\x9c\xe5\x54\xbc\x44\x06\xcd\x17\x39\x2e\x9d\x52\x67\x2a\x2f\xbc\x9b\xf9\x41\x8e\x31\x5f\x28\xf9\xcc\xab\x72\x68\x67\xe9\x93\x60\xcd\x4b\x79\xa3\x60\x9d\x3c\x16\x6b\x21\x5f\x4f\xea\x6d\xf5\x4a\x4b\xc3\x5f\x90\xca\xf0\x3a\xc9\x1d\x93\x02\xc1\x8b\x25\xf1\xba\xbc\xef\xf2\x31\x96\x8a\x74\xd3\x4b\xe8\xf9\xa4\x9e\x2b\x5b\x4f\x71\x5c\x76\x57\xff\x14\x9b\x41\x9d\x8a\x7c\xbc\x85\x76\xe9\xcb\xef\xcc\xf3\x76\xe3\x3a\x8f\x1f\xb7\xeb\x2e\x70\xa0\x23\xa3\x74\x9c\x97\x8a\x88\x55\xaa\x8c\x5e\x0b\xf6\x9b\x1f\xcb\xad\x8f\x88\xa1\xd8\xad\x8f\x7a\x43\x97\x81\xbc\x09\x52\xb4\x6b\xc7\x77\x65\x95\x3a\xf8\x02\x28\x92\x7d\x0b\xf2\x7a\x9e\x8f\x02\xbd\x92\xb3\x5e\xcc\x51\x5c\x67\x70\x06\x47\x34\x4f\x7d\xde\x05\x9d\xf9\x94\x3c\x61\x10\x78\x87\xf3\x0e\xcb\xf3\x01\x38\xee\xd3\x1c\xe8\x2e\x9a\x57\xd6\x81\x7d\x4e\xee\x0f\xbf\x7e\x05\xcf\x0d\xd7\xb1\xf6\x9b\x7f\x1c\x8a\x47\x33\x85\x9d\x21\x10\xa7\xf8\x2e\x0a\x43\xbb\x68\x5d\x59\x6e\x7a\x0e\x8c\xed\x07\xa1\x4f\x5a\xc3\xd0\x2f\xdb\xb6\x8f\x84\xcd\x17\x28\x78\xe7\xa5\xd3\xc6\x8d\x77\x57\x55\xa9\xab\x83\x66\xcd\x05\x83\x53\x41\x20\x04\x61\x55\xa6\x4f\x0b\x09\x60\x37\x78\x8a\xf3\x8b\x85\x32\xcb\x0d\xed\xd7\xaf\x66\x32\x5e\x81\x66\xb9\xc1\x78\xdc\xad\x11\x77\xd0\xe8\x63\x57\x24\x7d\x64\x3b\x1d\x1b\xcb\xdf\xd0\x41\x6f\x5e\x81\x7d\xd5\xe7\x03\xa9\x01\x09\xa0\x3a\x5c\x1a\x58\xda\xfd\x37\x58\x16\x30\x48\xe7\x6d\xaf\x53\xad\x92\x96\xa4\xf3\x7c\x3e\x53\x1d\x6a\x19\xa6\x3a\xe7\x42\x9d\x12\x5f\x53\xb8\x74\x13\xf8\xfe\x0c\x9e\x46\xb7\x49\x3f\x5a\x90\x8b\x33\x53\x07\xd6\x6c\x5d\x96\xae\x7c\x9f\x9a\x7c\xb0\x0a\x5a\x75\xd0\xd4\x44\x15\x31\xad\xae\x92\x5e\x2b\x26\xb8\xcf\x2d\x63\x64\xba\x90\x26\x2c\xc3\xbe\xa0\xea\xe4\x7e\xec\x48\x3f\x25\xbb\xd8\x84\x6e\xd6\x39\xc5\xba\xc3\x58\x31\x8d\x5c\x60\x35\x75\x38\x81\x98\xa9\x95\x96\x9c\x18\x11\x3a\x8a\x66\x67\x64\xe9\x19\x45\xb3\x41\xe8\xd7\x01\x5e\x48\x17\xf2\x92\x8c\x06\x91\x95\x13\x86\xe3\x2b\x5d\xfc\xc4\x11\x2f\x06\xad\x03\x45\x73\x40\x8e\x55\x51\x18\x8c\x79\x15\x3f\xf8\x2c\x9e\xa9\xb0\x75\x3e\x49\xef\x67\xb0\x31\x85\xc1\x64\x8a\x5a\x73\x1c\x2f\x75\xf3\xc3\x8b\xdf\x41\x2f\x59\xc4\xbc\xfa\x2a\x58\x99\xdf\xad\xd8\x60\xa6\xd8\x13\x2f\x8e\x6e\x9f\x00\xd6\x0c\x8e\x11\x75\x8c\x85\x6e\x88\x64\xab\xec\x06\x68\x73\x43\xd1\xc0\xbc\x04\x55\x32\x5c\x60\x8d\xa3\xaf\x69\xc0\xa9\xff\x38\xc5\x61\x72\x2d\x67\x92\xa3\x3a\x97\x0b\xee\xbf\x59\x15\x2e\x39\x9a\x9f\xaa\xe2\xfb\x2b\x2e\x1a\xf8\xa4\x91\xf6\x23\xba\x0d\x61\xcc\xd6\x8a\x83\x67\x99\x94\x38\x04\x44\xf4\x44\x85\x33\xc9\x92\xae\x4c\xe1\x6c\x16\x81\xdb\x28\x9e\xf9\xd4\x52\x16\x13\x96\xf2\xc9\x03\xd9\xab\x17\xd8\xd3\x07\x69\x10\x38\x6b\x44\xe3\x71\x02\xd3\x9f\xf1\x1d\x3b\xff\x38\x95\x3e\xbe\xc5\x32\xc0\x51\x93\x21\x1a\x47\x61\xfa\x33\x93\xcb\x0a\xbe\x0b\x10\x80\xb7\x5d\xc0\xdb\x36\xe0\xd9\xba\x2d\x18\x61\x9c\x6a\x3a\x54\xb7\x2d\xac\x2f\x6f\xdb\x68\x61\x9f\x92\x3f\xa6\xed\x83\x67\x0f\x16\xc7\x7f\xae\x14\x2c\xae\xff\xad\xa7\x74\xfd\x47\xfd\x1b\x0e\xe1\x5d\x0a\x43\x3f\x01\x1d\x62\xb1\x66\x3e\xaa\xec\x4b\x0d\xbb\xa1\xeb\x6e\xb0\x58\x0a\x70\x95\xb3\xd4\x4b\x03\x9c\x53\x93\x46\x13\xe0\xe8\x1b\xaa\xd5\x3e\x8c\xc1\xd7\xaf\x5c\xba\xab\x5f\xc0\x70\x88\x35\xde\x70\xb8\x0f\x2e\xae\xc0\x03\x08\xc2\x24\xf5\xc2\x11\x8c\xc6\xa0\x1b\xc7\xde\x3d\x3e\xae\xce\x1e\x9a\xaa\x83\x6b\xa4\xb1\xfc\x06\x6f\x07\x3a\xe0\xfa\x00\x3c\xd4\x44\xb8\x7a\x03\xee\x9d\x31\x07\x41\x88\x8a\xf0\x81\x63\x63\xea\x25\x1f\x6e\x43\x1e\xe8\x30\xaf\xd5\x80\x7f\x31\xbf\x42\x30\x2f\xe6\x57\x07\xca\x54\xd3\xc0\x66\x3a\x40\xec\x39\xf9\x7a\xa0\x53\x33\x1c\x22\x76\x11\x86\x8e\xa2\x30\x49\xe3\xc5\x28\x8d\xf0\xee\x5a\x54\xbb\x7e\xb6\x08\x20\x42\xb8\xe3\x39\x78\xc3\x38\x4a\x26\x58\xf5\xba\x06\xf6\x41\x75\x38\x94\xeb\x67\x7f\xd5\xb1\xd7\x38\xc2\x9a\x2d\x36\x0f\x35\x64\xd9\x3d\x41\x9c\xc7\xbb\x68\x81\x5f\x01\x33\x85\x75\xec\xd1\x3a\x3d\x64\xc5\x92\xb7\xca\x0c\xb5\x76\x69\xad\xc1\x67\xb4\x7b\xbd\x09\xd2\x14\xc6\xd6\x48\x91\x16\xad\xcc\x97\xc3\x77\x91\x0f\xed\x81\x25\xed\x36\x0b\x47\x39\xed\x7e\x3f\x3c\xeb\x9f\x7e\x38\x39\x19\xbe\xeb\xfe\x32\x3c\x7f\x7b\x3a\x38\x7b\xfb\xe1\xe4\x10\x74\xc0\x56\xd3\x5c\xe7\xec\xe3\x60\x70\x48\x0f\xdd\xd5\xef\xc7\xef\xcf\x07\xa7\x3f\x75\x4f\x84\xe6\xfd\x93\x41\xf7\x74\xf8\xee\xc3\x8f\x67\x83\xe1\xe1\x87\x9f\xdf\x0f\xcf\x8f\xdf\x0d\x40\x07\x6c\x36\x4d\x15\x8e\xcf\xce\xbb\xef\xfb\xe8\x7b\x8b\x7e\xfe\xf9\xc3\xe9\xe1\xf0\x6c\xf0\xb1\x7b\xda\x3d\xff\x70\x7a\x86\x94\x12\xa8\xd6\x2e\xae\xbe\x3c\x5c\x56\x56\x2a\xa4\xce\xc9\xf1\xfb\xc1\xf0\xb0\x7b\xde\xc5\x59\x69\x87\xc7\xef\x0f\x07\xbf\x90\xb7\x3f\xe4\xaf\x3f\x1f\x1f\x9e\xbf\xe5\x9f\xdb\xe4\xf3\xfb\x0f\xef\x87\xbd\xd3\x41\xf7\x87\xe3\xf7\xdf\x0f\xcf\x3e\x76\xfb\x03\x0c\x05\x74\xc0\x59\x1a\x07\xe1\xa4\x31\x8e\xa3\x9b\x3e\x3d\x74\xad\xb6\xb6\x9b\x94\x77\xdd\x93\x93\xa1\xa1\xed\xe9\xe0\x7b\x0c\x1d\x09\xd7\x29\x9c\x0c\xee\xe6\x55\x0b\x86\x3a\xa8\x4c\x2a\xa6\x81\x93\x22\x79\xa4\x2f\x6c\x56\x49\x85\x17\xf2\x5f\x39\x8f\x23\x3a\x9b\x22\x66\x0b\xc1\x41\xf8\xcf\x02\xcd\x94\x38\x21\x1a\x22\xf4\x50\x93\x89\xc7\xba\x51\x2e\x11\x5f\x05\xcc\xbe\x78\xa1\x37\x51\x23\x73\x86\xc9\x62\x9e\xa5\x72\xe2\x0a\xb7\xaa\xb6\xaa\x03\x5a\x93\x90\xcd\x01\xa8\xf5\xb2\x80\x9e\x3a\x18\x5e\xe3\xe8\x83\x3a\x18\x8a\x67\x2c\x75\x30\x14\xec\x12\xd5\xab\x78\x88\x17\x80\x0e\xc5\xd6\x18\x79\xb3\x19\x09\x00\x40\xbd\x44\xbf\x64\x1a\x6e\x58\x24\x4c\x88\x56\x22\x94\xa0\x2a\xe4\x37\xad\x82\x48\x21\xaa\x26\xfe\xad\x55\x16\xe8\x47\x75\x85\x3f\xb5\xaa\x41\x18\xa4\x27\x41\x92\xc2\x10\xc6\x89\xb8\xbd\x25\xdf\x61\xe8\x5d\xcf\xa0\x5e\x3e\xbc\x41\x8a\x86\x8a\xbb\xaa\x7d\x1a\x72\x41\xd5\xf4\x48\x17\x05\x33\xf3\x92\x14\xeb\xcc\xc3\xe8\x36\x3c\x0f\xb0\xbb\x78\x53\xab\xe5\x8d\xd2\xe0\x33\x54\x45\x48\xfa\x5b\x8b\xd6\xa5\xab\xd3\x30\x1b\x93\x07\x45\xa0\x89\x40\x88\x7b\x0b\x89\x19\xce\xb8\x16\x26\x06\xf2\x88\x8b\x63\x79\x1e\x07\x37\x0c\x96\x04\xca\xbb\xa1\x9b\x10\x89\xc4\xc6\x30\x0a\x51\x13\xf6\x99\xaf\xb2\x19\xdc\x1b\xc4\xa7\x77\xd1\x67\x68\x04\x0b\x3f\x43\x33\xd4\x77\xac\x19\xad\x62\x83\x8c\x46\x60\x09\xc8\xf8\x8d\x79\x37\xe4\x1f\xe7\x4b\xc0\xfd\x71\xae\x42\x7d\x50\x35\x92\x36\x80\x7e\x90\x20\x71\x75\x07\xa5\x8e\x66\xd0\x8b\x39\x90\xaa\x16\x15\x4b\x86\x0f\x59\xb3\xd5\x4a\x1a\x07\x37\x3c\xb1\x85\x3e\xae\x5a\x5b\x71\x56\x52\xa3\x17\xaf\xe3\xac\x41\xb5\x82\x19\xe2\x47\xb7\x21\x07\xab\x31\xbf\x56\xb4\xbb\x64\x72\xe6\x84\xe0\xb2\xee\x84\x8f\xec\x8d\xe7\xfb\xdf\xb0\x2b\x09\x4c\x7b\x4c\x05\x66\xbd\x21\x34\xda\xfa\x84\xcc\x3a\x45\x59\x3a\x06\x98\xd2\x60\xb6\xf1\xec\x94\xd5\xc1\xca\xd4\x4b\xf8\x77\x64\xf8\x71\x6c\x13\x98\xee\x5b\x78\x0f\xc4\x03\x42\xbe\xf1\xc5\x4a\x93\xc4\x78\x73\x88\x67\x7a\x78\x10\x3d\x16\x72\x36\x1b\xa8\xd1\x3c\xf9\x27\xd3\x82\x56\x34\x24\xb6\x79\x30\x1c\x9c\x66\xc7\x94\x68\x53\x46\x0f\x9d\xbe\x7e\xcd\x8e\xac\x59\xb1\xe8\x7c\xfd\x50\xcf\x36\x00\xe1\xe2\x06\xc6\x48\x48\x89\x99\x9c\x7d\x19\x45\xe1\x38\x98\x2c\x84\x6f\x64\x90\x6a\x4b\x8f\x12\x3f\x68\x3a\x87\x77\xe9\xbf\xc9\x30\xa9\xf7\x64\x7a\x9c\x44\x42\x8f\x1c\x07\xec\xd4\x98\x0f\x4d\x87\x0f\x8d\x78\x5e\xa8\x5f\x82\xe1\xa0\x18\x98\x2c\x66\xa9\x21\x73\x30\xf9\x20\x65\x16\x88\xbd\x30\x99\x79\x2c\x72\xf3\x24\x08\xe1\x79\x44\x0c\xe6\xaa\xa4\x70\x26\x30\xad\x32\x62\x6a\x75\x32\xfc\x5c\x9e\xea\x0a\xe1\x6a\xf8\xa4\x14\x36\xc0\xbb\xb4\x4a\xa3\xfd\x84\x5b\x8f\x96\x33\x8e\xe0\x9a\xd3\xc8\x07\x49\xa0\x2e\x30\xdc\x1a\xb2\x90\x1f\x24\x44\xd9\x79\x95\xa3\xcf\x19\x0a\xd2\x47\xcb\xfb\xbf\x59\xb5\x46\x90\xfc\x1c\xe3\x23\x55\xdb\x1d\x2b\x61\xfa\x05\xe5\x3d\x0d\xe4\x5c\x43\xa6\xf9\x6a\x87\x13\xf7\x48\x07\x0d\x71\x60\x19\x48\x03\xe9\xb6\xf0\x40\xd6\x2d\x83\x22\x58\x6e\x2c\x68\xdb\x6f\x30\x20\xec\xc8\x5a\xbe\xd1\x13\x3b\xf1\x6f\x38\x36\xd8\x27\x39\x8a\x6f\xbc\x34\x85\xfe\x29\x9b\xdd\x14\xf0\x8d\x37\x17\x36\x58\x08\x83\x43\x05\xa1\xcf\x8d\x18\xce\x67\xde\x08\x56\x5d\x5b\xdf\x3a\x76\x1e\x51\xf4\x55\xad\xf1\x5b\x14\x84\x55\x7a\xe2\xd1\x08\x92\x77\x67\x3f\xe3\x08\xeb\x04\xbc\x01\x95\xcb\xf8\x32\xac\x80\x7d\x50\xb9\xd4\xfc\x0f\xd9\x3a\x25\xf7\xe1\x69\x17\x19\x87\x39\x22\x9b\x10\x39\x16\x16\xd1\xfb\x79\x66\x25\xb1\x06\xdf\xa9\x16\x52\xa2\xd5\x64\x91\xb1\x85\x6d\x27\xd7\x74\x90\x48\x9f\xd1\x49\x11\xdc\x9c\x06\x93\x69\x6a\xb8\xb8\x53\x6e\x46\xb2\xeb\x4d\xe9\x66\x44\xb8\xf5\x6c\x1e\x28\x97\xe3\xec\xfa\x52\x6a\xc0\xef\x34\xf1\xf2\xa3\xdc\xa5\x20\xaa\x38\xb1\xe2\x8a\xc7\xe3\x57\xbb\xfe\x6f\x8b\x24\xa5\xf7\x6b\xc2\x32\xd7\x8f\x66\x8e\xda\x7c\x49\x24\xd8\x85\x93\x47\x43\x4c\x1a\x16\x73\x47\xb4\x38\x89\x24\xc3\xf9\x6e\x68\x14\x99\x2c\xaf\x42\x27\xb0\x6b\x92\x17\x5f\x98\x0e\xa7\xae\x74\x63\x40\xa9\x2b\x1c\x55\x91\x35\x5c\xbb\xd3\xd6\x06\xe7\x75\x07\x04\x36\x7d\x65\xe4\x9f\xe9\x4d\x54\xb3\x27\x24\x1d\xb8\xc2\x18\x08\xcf\xf3\xe1\xdb\xc2\x95\xb1\xf1\xc4\x07\xce\x34\x9c\x5f\xbf\x4a\x63\x25\xc9\x1e\x97\x6c\x63\xe0\x2f\xfa\xf0\xf3\x34\x48\x61\x32\xf7\x46\xf0\x38\xf4\xe1\x1d\x1d\x4d\x7a\xde\x97\x40\x2f\x1e\x4d\xab\xeb\x97\xc9\xea\x77\xeb\x35\x7d\xa4\x8c\x10\x9e\x5b\x23\x6c\xe4\xbe\x70\x0f\x09\xa1\xb8\x6e\x24\x2a\xd7\x95\x4b\x04\xfc\xaa\x63\x1e\xe2\xa5\x8c\x4a\x2d\x43\x99\xc8\x9c\xc5\x75\x42\x16\x58\x23\xbe\xba\xd8\xdd\xc2\x9a\xcb\x14\xd0\x1f\x24\xef\xe1\x2d\x6f\x53\xec\xdc\xe5\x0f\x4c\xa0\x22\x2d\x04\xca\xc9\x45\xa6\xb9\xa5\xf4\x2e\xb2\x82\xcc\xd6\xc2\x93\x20\x5c\xe0\x74\x8d\xf6\x2e\xb3\x6e\x4b\x9b\x1b\x66\x06\x49\x85\xba\xb8\x4a\x9f\x1d\xb1\xc6\xe4\x9c\x0f\x3b\x8d\x85\xf0\x96\xb7\x62\x9b\x7a\x09\x4c\x4e\xd6\x81\x02\x6b\x95\x69\xc8\xad\xc9\x74\x8a\x64\x92\xd0\xdd\xdd\xa8\x37\x5b\xce\x5e\x8e\xfa\xb9\x39\xb7\x6e\xaa\x07\x9c\xf3\x00\x03\x7d\xea\xce\x66\x85\x8c\x85\x80\x9e\x28\x74\x67\xb3\x2e\x3e\xdb\xd4\x1e\xf6\x5c\xd2\x14\x20\x87\x88\xe6\xf3\x46\x69\x22\x85\x10\xfa\x49\x96\xe3\x48\x24\x4e\x39\x88\x94\xa4\x57\x6c\x66\x9c\x55\x0a\xc9\xa5\x64\x63\x02\xc9\x59\x30\x31\x63\xfa\x51\x14\xfb\x89\xf1\xc4\x50\xea\xc9\x88\xd5\xc3\x6d\xd1\x6e\x82\xb4\x24\xb5\xeb\x86\xb3\x2c\x56\x26\x9c\x8b\x5b\xdc\x7f\x0c\xee\x67\xda\x36\x8f\xe0\xbf\x68\x5e\x89\xcb\x1e\x2d\x6c\x99\x0b\x91\x8d\xe0\xf6\xd7\xa3\x8a\x85\xb4\x28\x3c\xfa\x8c\x81\xf8\xa0\x8e\xbe\x43\x7a\x43\x7d\x58\x72\xb8\x48\x2e\xef\x75\x2e\x9e\xc2\x99\x87\x04\xf4\x3c\x62\x9e\x0b\x56\xb6\xd6\xa4\x63\x20\x12\xe3\x45\x7a\xf7\x96\xf9\x15\x98\xdc\xf9\x5e\xea\xa3\x41\xbd\x54\x64\xd1\xa3\x14\xbe\xee\x90\x24\x51\xf4\xcf\x57\x1d\x05\x8b\xd9\x05\x50\xbc\x54\x78\x30\x82\xcd\x01\x43\xab\xad\xa9\xe8\x4c\x60\x33\x5e\xb2\x45\x9f\x7b\x58\x92\x4f\x75\xb0\x66\xbd\x81\xad\xd5\xed\xb7\xb3\x82\xd4\x51\x1c\xeb\x1d\x7b\x6d\x4d\x9a\x58\x5f\xd7\x09\x61\xde\x75\x42\x4b\x6a\x35\xb0\x4a\xca\xe2\x68\x11\xfa\xac\xde\x4b\x50\x35\x5f\x02\xaf\x81\x56\xad\x8c\x4e\xe2\xbb\x1e\xb7\x1c\x62\x8b\x13\x15\x36\xae\x17\x69\x1a\x85\xd8\xb8\x2a\xe1\xd3\x49\xda\xce\x63\xfc\xef\x21\x89\x7c\xd0\x37\x62\x7e\xec\x4d\x94\xb9\xa1\x65\xda\x4b\xe8\x44\xea\xcf\x82\xd1\x27\xec\xa1\xc5\x2e\x23\x0c\xc4\x26\xd3\x60\x9c\xfe\x00\xef\xcd\x56\x46\x14\x9e\xa1\xef\x18\x92\x06\xc4\x99\x4d\x2b\x4b\x16\x33\xe2\x64\xe0\x2d\x81\xd1\xdc\xe4\xd8\x82\x70\x32\x83\x66\x74\xc0\x9c\xa4\xc5\x8a\xc8\x18\xfb\xc4\x10\x1d\x46\x8b\xeb\xa7\x42\xb4\xe1\x42\x74\x1e\x07\xf3\x62\x88\x54\x2f\x44\xcf\xf7\x4b\x6c\xb8\x05\xbd\x5e\x40\xaa\x8d\xb0\x97\xbe\x33\x94\xae\x5a\x24\x77\x32\xdb\xc5\xcb\x4d\xf4\x19\xca\x17\x2f\xe2\xd5\xa0\xfb\x2e\xa7\x10\x82\xc5\x5c\x06\x9f\xdd\xe2\x39\xa6\xd4\x71\x98\xc2\xf8\xb3\x37\x3b\x0f\x6e\xf0\x05\x4d\x02\x53\x56\xe4\x34\x9d\x33\x08\xd8\x7a\xae\x1b\xbd\x4b\x8a\x0f\x8e\xed\xb0\x25\xcf\xec\xb4\x33\xc9\x7e\x99\xf7\x74\x03\x61\xc7\x51\x68\x2c\xf0\x09\x14\xe7\xb6\x73\x64\x4a\x8c\x60\x66\x72\x17\x52\xf5\x99\xb2\xcb\xd7\xf5\xa2\xd1\x99\x48\xc6\xb9\x59\x95\x2a\x35\x07\xc2\xdd\x8b\xc9\x74\xb4\x68\xdb\x62\xdd\xc8\xb4\xa8\xbb\x1f\xf6\x3e\x9c\xd0\xcc\xf6\xfa\xea\x62\xdf\x03\x28\xf7\x72\xcb\x7b\x3f\xd8\xc9\x2a\xc7\xb2\x27\x1b\x26\xf3\xc5\x13\x3d\x52\xd3\xae\x03\xec\x28\x2f\x5a\x57\xb5\x0b\xc7\xe7\xe6\xd5\x53\x9d\xb1\x39\x91\xa8\x19\xe5\x97\xd8\x09\x4b\x2b\x68\x89\x6d\x4e\xc9\xd1\x23\xed\xcc\x23\x55\x44\xb2\x7e\xfe\x70\x7a\x78\x60\x68\x4b\x58\xf2\x73\x14\xfb\xdd\x94\x21\x59\x6a\xaa\x09\xcb\xfb\x5f\x97\x0b\x48\x78\xec\x5c\x38\x09\x42\xc8\xb9\x20\xdf\x63\x15\x66\x84\x6e\x72\x16\xe0\x06\x89\x71\xa4\x7e\x53\x55\x9c\x0d\xd9\x4b\x61\xb5\x56\x43\xb3\x08\x15\x57\x55\x3e\x08\x2d\x58\xcc\x98\xee\x83\xf5\xda\xe2\xbd\x49\x5d\xdc\x1a\x43\x3f\x20\xfe\xc8\x47\x71\x74\x73\xc2\x9a\x7f\xa4\xc9\xde\x19\xad\xaf\x8d\x2e\x9e\xe6\x31\x10\xed\x41\xf3\x5e\xcd\xee\x2f\x26\xf4\x49\x55\x80\x33\x95\x36\xd0\x01\x17\x74\x9b\xe0\x4d\xe0\x2f\x75\x90\xfd\xf1\xab\x96\xcf\x34\x23\x4a\xc9\x5f\xef\x1a\x47\x27\x6b\xf2\x87\x94\x5f\xc5\xf3\x2d\x23\xdf\xab\x59\xba\x74\xd1\xbc\x02\x6b\x42\x3f\x7e\xa9\xd5\x41\x6e\x9b\x96\xdc\xe6\x57\xf1\x02\x9e\x5a\x66\xb1\x70\xe5\x56\x7c\x97\x87\x6c\x9f\xfc\x5e\xa2\x3d\x5a\x10\x2d\x92\x33\xd3\x5a\x6e\x58\x3f\xde\x00\xb3\xce\x1f\xe0\x7b\xdd\xba\xb5\xe1\x45\xeb\x4a\xf7\x7a\x78\x1a\x63\x22\x5b\x19\x8d\xfa\xa3\x63\xd2\x20\xaa\xec\x5b\x57\x57\x42\x3a\xcf\x6b\x6c\x5b\x08\x8b\xae\x5a\x84\x4d\x7a\xbe\x92\x42\x09\x3b\xdd\x10\x0d\xc7\x66\xf9\xbb\x33\x65\x33\x58\x8c\x81\x68\x21\x32\x2b\x0f\x42\xd5\x79\x44\x17\x23\x1b\xc1\x8e\x70\x35\xc3\x99\x80\x2c\x0a\xda\x89\x9a\x43\x1e\x34\x60\xaf\x75\x03\xa3\x34\x53\x9d\x59\xb8\x1d\xb8\x0d\x41\xb1\x85\x45\xe4\x21\xdf\x0c\x54\x04\xf5\x5a\x4c\xe7\xee\xb8\x43\x2d\x66\xf0\x11\xe0\x16\x73\x8f\x10\x6c\x31\xf6\xc8\xb3\x57\x5e\x7c\xd1\x2e\x6b\xe0\x11\xb0\x79\xe6\x1d\xc3\xf5\xdc\xa8\xc8\x84\x98\x1b\xf4\x63\xaa\xc3\x7c\xea\x5c\x63\x51\x04\x4c\x2b\x07\x8c\xae\x24\x6c\x47\x1e\xa0\x8c\xb1\x92\x89\x99\x75\x47\x6d\x97\xc9\xbc\x18\x7e\x5c\xf5\x30\x48\xe6\x96\xf6\x75\xb2\x4d\x32\xdc\xd0\x16\x9f\x7f\xae\xf1\x47\x36\x82\x65\x06\x6a\x37\x02\xf8\xd8\x5e\x4f\x26\x1d\x47\xb7\xc9\xd5\x13\xea\x5a\x44\x92\x1e\xa2\x8c\x91\x3b\xd1\x3c\xfa\x4a\x86\x3b\x63\x17\xd9\x05\xe7\xb9\xb8\x14\xc0\x37\x8a\xc2\xcf\x30\x4e\x7f\x62\xb1\xc7\xd1\xec\x3c\xea\x4f\xbd\xd8\x1b\xa5\x30\x66\x77\xf6\xaa\x83\x30\x71\xf6\xd2\x4d\x7c\xa6\x70\x58\x3b\x7e\x53\x63\xf7\x05\xe1\x55\xb0\xcf\x43\x9e\x2b\x48\x86\x5e\x73\x08\x59\x7a\xdb\xc9\x09\x56\xbd\x28\x1c\xf7\xf4\xbc\x4d\x99\x9b\x22\xb2\x5a\x4a\xec\x34\xb3\xd0\xed\xb9\x67\xda\xf4\xe8\x89\xd3\x0b\x3a\xec\xa9\x13\x9b\xba\xd8\xb2\x01\xa4\x66\x79\xae\x8c\x98\xe4\x42\x06\x8a\xef\x88\x19\x58\x86\xe1\x40\x93\x9c\x0f\xec\x26\x27\x93\x8b\x35\xa1\xad\xd2\x63\x38\x4e\x7f\x0e\x7c\x48\x62\xc6\xb4\xad\x4c\xe6\x84\x62\xaf\x83\xa4\x06\xbb\xb7\x20\xe4\x5d\xea\x40\x4b\xbc\x42\xb0\xc4\x18\xf2\x33\xd1\x4c\x2a\x42\x87\xe8\x2b\x2a\x66\x38\xf8\xee\xc6\x06\x0b\xb0\x07\x2d\x72\x04\x50\xc0\xcb\x47\x47\xf2\xa1\x52\xf1\xf3\x5a\xab\x39\xd8\x59\xc5\x22\x0b\xb0\x41\x87\x2a\x39\x39\x0c\x13\x1e\xa8\x69\x36\x2c\x75\x64\xc7\xd0\x0b\x06\xf4\xaa\xf4\x7c\xd6\xa4\xc2\xf4\x18\x61\x62\xf1\xcc\xd2\x9d\x7f\x04\x9a\x48\x17\x9c\x14\x19\x2f\x70\x74\x21\x34\x91\x44\xa0\xdb\xc7\x01\xb8\x64\x8f\x3a\xe3\x04\x09\x42\x81\x14\xcd\x19\x9c\x7b\xb1\x97\x46\xb1\x45\xbc\xc9\x95\xa2\xcd\xd5\xcd\x30\x10\xd8\xe9\xb6\xf4\x60\x14\x1e\x10\xd7\xa0\xe8\x7c\x00\xce\x79\xe3\x82\xe5\x9e\x53\xab\xa0\xa5\xcf\xab\x82\xbc\x95\xa6\x5c\x11\xce\xd2\x19\xb1\x9a\xc3\x57\x6b\x3e\xc4\x62\x62\x05\xac\xa2\x65\x66\xab\x4d\x21\xd8\xe1\xd8\x7c\x0b\x59\x8c\x87\x20\x74\xab\xa2\x92\x5f\xd3\x25\x43\xd5\xef\xf4\x40\x9f\x5f\xeb\x73\x1e\xaf\xc9\x50\xf5\x95\x60\xd5\xa4\xfa\x57\x0d\x06\x25\xb2\x34\xf5\xb3\x18\xf5\x19\x31\x42\xca\x3e\x23\xa9\x70\x80\x9c\x74\x6a\x5b\x60\xe9\xbf\x8d\x62\x5f\x38\xbb\xe2\x7b\x62\xdb\xb1\xaf\xf3\xda\xe1\x42\x84\xd6\x48\x58\x72\x16\x6a\x3e\x68\xa7\x6f\xce\x3b\x15\x09\x94\xe8\x0b\x5a\x98\x07\xec\xb8\xe0\x8f\xe2\x82\xb4\xb1\x20\xdf\xbc\x38\x3b\xf4\xf8\xc9\x9b\x2d\x60\x72\x4a\x72\xad\xfb\xd5\x1a\x78\x03\x74\x76\x81\x7d\x50\x35\x94\xae\x9a\xd8\x51\xd3\x79\x5b\x80\x37\x06\xad\x22\x33\x68\xea\x49\xf1\x78\x54\x3e\x95\x60\xfd\x46\x80\x26\xc2\x87\x31\xad\xfe\x5a\x7d\x52\x34\x7f\x74\xc8\x89\xba\xe6\xbd\x5e\xec\xe6\x8d\xee\x96\x50\x83\x72\x52\x65\x3d\xcc\x92\x33\x5e\xa8\xe4\x1f\x3c\x7b\xa8\xca\xe9\x1a\x1a\xe2\x9f\x62\xfe\x19\x43\xb0\xbb\x0e\xcd\x9c\xf7\x44\x63\x9a\x25\xff\x49\xfb\x2f\xf6\xf4\xa9\x1c\x0c\x9e\xf3\xee\xa6\x35\x72\x5c\x1b\xf8\x02\xaf\x6f\x5a\x02\x41\x15\x11\xc4\x02\xb1\x5c\xe8\x87\x26\x76\x86\x83\x66\xe7\x3d\x28\xae\x51\xf4\x22\xd8\x7d\xbd\x5c\x30\xbe\x55\xee\x6d\x1d\xac\x18\x5c\x63\xcb\x44\x4f\xf2\x63\x17\xad\x17\x0e\x17\x74\x34\x3b\x55\x83\x5b\x37\x75\x9f\xeb\xfc\xfb\xfa\x15\x3c\x37\xf0\xc2\x81\xca\x50\xdb\x85\x57\x6c\x95\xa3\x9e\x75\xea\xf6\xdd\xd8\xfe\x88\xc0\xd8\x9c\xe1\x1d\x84\xfe\xb7\x1f\x5c\x83\x16\xd5\x8f\xae\xf0\xdb\x66\xc6\x73\x33\x6c\xd9\x97\x94\x8d\x3c\x29\xc8\xcb\xfd\x6a\x17\xb7\x5c\x49\xc8\xe5\x84\xe6\x3b\xc0\xba\x6d\x9a\xcf\xaa\xd3\x3d\xbb\xea\xc9\x65\x88\x15\xa2\xcd\xf2\xd7\x7a\xcb\x82\x86\xcd\x04\xd8\x03\x22\x49\x57\xf9\x75\xe5\xe3\xfb\x4c\x8e\xbf\x6b\xa6\x62\x8d\x11\x3a\x33\xec\xf3\x59\x84\xf4\xb4\xb3\xd2\xba\x98\xd8\x05\xc7\xfd\x6a\xae\xe8\xa8\x63\x53\x27\x4a\xf8\xb9\xb9\x77\x52\x1c\x7f\xeb\x8a\xbc\x20\x8a\x7e\xf9\xfa\x55\x88\xde\x15\x62\xc5\x5f\xbc\xc8\x82\xfe\x5f\xcb\x71\xb3\x9a\xf1\xa6\x74\xb6\x50\xec\x81\x45\x56\x8d\x77\x02\x9a\x10\x82\xb5\x0e\x20\x20\x9d\x97\x54\xd2\xa5\x9f\x13\x30\x15\xfb\xf2\x60\x79\x0a\x38\xfd\x26\xcc\x7c\xdf\x66\x0f\x0f\x15\xc5\x54\x0a\x01\x71\x91\x40\x0c\x0e\x8d\x08\xce\x28\x1b\x19\x7a\x4d\xcb\x8d\x9f\x9e\x28\xc2\x66\x03\x23\x29\x50\xd3\x2c\x6a\x36\x9f\x5a\x3d\xcf\xc4\xc5\xa2\x65\x31\x70\x37\xfe\x62\x06\x2e\x3b\x88\xce\x31\x6d\x59\xb5\x6a\x96\x80\x8a\x27\x7c\xe5\x89\xb8\xc9\xb5\x55\x0c\xbd\x3a\x28\x90\x84\x2a\xd5\x3d\x89\x05\xb3\xd8\x62\x15\x2b\x48\xc5\xbc\xb3\x62\x3e\xcd\x4c\x64\x38\x4d\xa0\x23\x10\xa8\xda\xda\x52\xca\x29\x63\xc6\x29\x52\x8f\x38\xeb\x9c\x46\xb7\x3c\x28\x44\xf5\x8f\x9c\x79\x49\x7a\x0a\x47\x51\xec\x43\x9f\xde\x17\xd8\x5c\x29\xc5\xaa\x8c\xbf\x56\xb8\x59\xba\xce\xb0\x5a\x21\x1d\xe1\x41\x6e\xf7\xe1\xe8\x8c\x77\xcd\xfc\xac\xb7\x0e\x23\x86\x49\xf0\x4f\x58\x1a\x86\xc2\x6e\x83\xff\xb5\x4c\x5c\x14\x12\xb0\x66\x90\x09\x71\xf4\x8a\x16\xa9\xcb\xc1\x5a\x26\x8e\xfa\x58\x37\xa5\x1d\x11\xe3\x5f\x4e\x7c\xa6\x51\x99\x1b\x32\xcc\x1a\x2e\x5d\xe9\xfb\xbb\x64\x80\xfa\x53\x2f\x9c\x40\xbe\x7c\x19\x20\xf0\x8b\x6d\x55\x66\xf4\x93\x7a\x15\xaa\xf5\xba\xd7\x20\x7e\x16\xf4\xba\x9d\x61\x1c\x3c\x9a\x30\x37\x08\x61\x1e\x40\xb0\x0a\x2a\xf3\x3b\xc3\xcb\x07\xb2\x60\x49\xfe\xe1\x8f\x84\xae\x27\x85\xf8\x2c\x4d\x12\x65\x0c\x1c\xb3\x89\x8f\x85\x64\xaa\xe7\x0f\x84\x98\xac\xbd\xd8\x08\x39\xa7\x74\x1e\x09\x39\xc3\x34\xcd\x63\xe2\x4b\x03\x86\x82\xe3\x66\x48\x74\x6d\x42\xea\x22\x2c\xf7\x26\x3f\xd3\xbe\x2a\x6c\xeb\x34\x7c\xe9\xd6\xa9\x35\xad\x77\x92\x6b\x80\x41\x27\xc8\x9a\x24\x5f\x35\x58\xb5\xb9\x2e\x52\xe4\x55\x6d\xc7\x43\x0f\x8e\x95\xc1\x0e\xc9\xe0\xb6\x6b\xf5\x88\x00\x9a\x47\x55\xe9\x39\x51\x2e\x2a\x16\xe4\x84\x7e\x95\x51\x8b\xd6\x29\x65\xc0\x0e\x5c\x17\x25\x78\x74\xcf\x71\x3e\x71\xb9\x7f\xc4\xdb\xe5\x65\x9e\x56\xe6\xd4\x6b\xc2\xce\x21\xa3\x4e\xf0\xbf\x8c\x2c\xb3\xb7\x15\x5a\x16\x17\x5b\xb6\x88\x2a\x7e\x2c\x7a\x58\xf4\xad\xf0\xa2\x05\x89\x86\xcc\x21\x67\xdd\x32\x1a\xf2\x4e\xcd\x0f\xc6\x63\x92\x2e\x93\xbc\x68\x60\x60\xac\xcd\xd4\x10\x1c\xa2\x10\x14\x29\x00\xd9\xd5\xe1\x9f\xa7\x10\xba\xfa\x4b\x22\x18\x1b\x3e\x9c\xa5\xde\xaf\xe6\x3b\x53\xf7\xfb\x19\x37\x8b\x59\x1a\xcc\x67\x01\x3e\xc6\x6e\x1d\x18\x01\x73\x67\x4e\x4c\x0d\xb6\x73\x1a\x87\x1f\xde\x0d\x0f\x07\x27\xe7\xdd\xa1\xc9\x29\x56\x82\x9a\x23\x69\x86\x59\x5b\x0c\xf1\xc7\xee\xf7\x4b\x20\x36\xae\x0f\x56\xaf\x52\xbb\xc8\xac\x76\x40\xc6\xf8\x97\x02\xe2\x0c\x16\xfc\x6c\x09\x64\x95\x1e\xe3\x31\x8e\xfb\x79\xb4\x18\x4d\xd9\x89\xb4\x6d\xf0\xb9\x72\xc3\xb5\x7f\x05\x98\xa2\x14\xfd\x0e\x93\x8b\xe6\x15\xf1\x0a\x2f\x85\xd1\xe0\xf9\xad\xce\x2e\x26\x6a\x1a\xf6\x35\x3b\xf6\x92\xc4\x32\xf9\x5b\x4e\xaa\xf3\xc7\x8d\xc0\x2d\x3b\x4e\xd4\x16\x67\xcc\x53\xb7\xcb\xc2\x0e\x32\xab\x62\xde\x22\x73\xfe\x5b\x36\xc7\x9b\x8f\xda\x1c\xe3\x59\xed\x21\x15\xfb\xe5\xd9\xdf\x56\x1a\xeb\x5e\x9a\x7a\xa3\x29\xfd\x67\x65\x1f\x6c\xd6\xf5\xe2\xc6\x6f\x89\xf6\x05\x81\xf6\x26\xb0\xf1\x5b\x12\x85\x2b\xfb\xa0\xbd\x45\xbe\x8e\x83\x14\xfd\xb7\xb2\x0f\xe4\x02\x02\x42\x28\x53\xdb\x6f\xd3\x4f\x8b\xd9\x2c\x19\xc5\x10\x86\xc2\xaf\x2b\xfb\xc0\xf5\xb9\x31\x4a\x10\xf0\xf6\x8e\xab\x0e\xc6\xaf\x43\x51\xc9\xd8\x25\x35\xe8\xf4\xf7\x23\xad\xc2\x9e\x5a\x81\xff\xb6\xb2\x0f\x76\xac\x1f\x09\xfe\x9d\x67\x0f\xc2\x5b\x14\x74\x80\x90\x35\x09\xef\xd2\x6a\x0c\x7f\x47\x23\xf4\x37\xb6\xab\x33\x64\x77\x97\x5b\x9c\xc2\x24\x9a\x7d\x86\xb8\x61\xed\xc0\x01\x5a\xac\x88\x30\x60\x6f\x48\xb4\x27\xb8\xf1\xe6\x17\x31\xfc\xfd\xea\xe0\xd9\xdf\x82\x71\xf5\x79\x35\xf0\x89\x2f\x09\x58\x5f\x27\x2f\x65\x60\xef\xc9\x70\x71\x73\x0d\x63\x10\xc5\x80\xe4\x07\x7a\xf6\xb7\xbf\xa5\xd3\x38\xba\xc5\x99\xa1\x07\x71\x1c\xc5\xd5\x95\xbe\x17\x86\x51\x0a\xc6\x41\xe8\x03\x22\x8b\xa0\xb2\x02\x56\x41\x0c\x7f\x07\xab\x60\xa5\xd2\x58\xa9\x1d\xf0\xae\x05\x3e\xa6\x56\x26\xb2\xf1\x09\xde\x4b\xd1\xbb\xf2\xe7\x1f\xe0\x7d\x52\x15\xf9\x43\x8f\x75\x50\xab\xea\x8d\x37\xaf\x99\x40\xc6\xa4\xe3\xa0\x63\x66\xc8\xc1\x33\x42\x6a\x83\xce\x1a\xad\x9e\x06\x10\x73\xad\xbd\x79\xa0\xce\xc9\xad\x02\x73\x12\x4f\x3f\x0d\xe1\x97\x95\xd0\xbb\x81\x2b\xfb\xe4\xd5\xce\x06\x9d\x87\xf5\x95\x1b\x2f\x08\x57\xf6\x57\xb2\x09\x58\x5f\x99\xc7\xc1\x67\x2f\x85\x2b\xfb\xc8\x3a\x78\x50\x49\xd8\x7e\x2a\x12\xd0\xf4\xe5\xf8\xe9\xd4\xcd\x43\xbe\x53\x14\xb9\x26\x38\xe4\xe4\x0d\xcc\xbd\x38\x81\x60\xec\x05\x33\xe8\xef\x83\xf5\x69\x74\x03\xd7\xef\x17\xbe\x17\xac\x7b\xf1\x68\x1a\x7c\x86\xeb\xf3\x38\xf2\x17\xa3\x34\x59\x6f\x37\x5b\x5b\xeb\x93\x28\x4d\xef\xd7\x93\x78\xb4\x3e\x09\xd2\xe9\xe2\xba\x31\x8a\x6e\x68\x03\xf2\xe9\xb7\x64\x3d\x8c\x7c\x38\x24\x44\x24\xeb\xb8\x6f\xeb\xb3\xe0\x7a\xdd\xf3\xfd\x28\x4c\xec\xaa\x04\xfc\x18\xc2\xbb\x39\x1c\xa5\xd0\x07\x69\xf4\x09\x86\xa0\xda\xda\x6f\xd6\x2e\xc3\x5f\xa3\x05\xb8\xf1\xee\x71\x62\x1d\xe0\x85\xc0\x9b\xcf\xe3\x68\x1e\x07\x5e\x0a\xc1\x2c\xf2\x7c\x18\x83\x34\x02\x53\x2f\xf4\x67\x10\xaf\x33\x60\x1c\xa0\xdf\xd0\x0a\x7a\x19\x7e\x05\x0d\xca\x5f\x8e\x0d\x7c\x41\xc5\xe8\x67\x4e\x3d\x3b\xf6\xc1\x38\xb8\x83\xfe\x01\x2b\x4f\xa3\xf9\x3e\x68\x1e\xa0\xc9\xa3\x70\x7c\xf7\xc9\x86\x3b\x53\xb3\xd9\xa8\x4b\x7a\x33\x6f\xf0\xf7\x9e\x8a\x94\x4c\x95\x72\x4a\x24\x05\x9a\x43\xc8\x46\xf3\x2f\x74\x6c\xcc\xd5\xd8\x3c\x86\x73\x2f\xc6\x29\x3e\x8f\xa2\xf8\x9c\xda\x95\x55\xa4\x4e\xea\x40\x48\x97\xc9\x4c\x18\xfc\x48\xa7\x5e\x2c\xd8\x18\x54\xb5\x91\x84\x9d\xeb\x97\xf1\x9b\xcb\x70\x7d\x52\x07\x95\xcb\xb8\x22\x1d\xf7\x09\xd5\x0f\x9e\x3d\x70\x53\xc4\x4c\x10\xe8\x58\x28\x15\x1f\x4f\x8a\xe6\xf7\x6f\xb1\x78\xc7\x55\xf8\xb9\x8e\x8f\x9f\xeb\x59\xe6\x32\xea\xb5\x22\x76\x04\x0f\xeb\xb5\x90\x1b\xf4\x58\xb2\xc9\x69\x1e\xb6\xd1\x2c\x98\x5f\x47\x5e\xec\x1f\x7a\xa9\xd7\x48\x60\x8a\xfe\xad\x56\x10\x21\x15\x1d\xbe\x31\x5f\x19\xe9\xb1\xb2\xcf\x86\x9f\x6d\xa0\x11\x4f\xd6\xe7\x33\x2f\x08\x4b\x22\x30\xd9\x82\x19\x6b\x05\x06\x61\xbf\x63\xfe\x97\x28\x0f\x5e\x92\x42\x95\x8b\x8c\x29\xf0\x73\x23\x49\xa3\x39\x12\x37\x6f\xe2\x89\xf7\x48\x24\xd9\xd2\x9d\xf0\xf6\x14\xda\x50\x7a\xe9\x68\xfa\x11\x01\x94\xcc\x72\x54\x4f\xda\x09\x90\x94\x72\x4e\x49\xd4\x46\x8a\xc9\x9f\x60\xa3\xa3\x2a\x53\x4a\x79\x2a\xe7\x8a\xa3\xf3\xf7\x2e\xf5\x62\xe8\x35\xf0\x64\x50\x72\x7d\xe2\x1a\x24\x95\x1b\x66\x41\xa5\x0e\x14\x18\x5c\x5e\xe3\x9b\xc6\xc8\x0b\x47\x70\x86\x36\x18\x92\xad\x5d\x40\xa6\x50\x15\x93\x5c\x69\x47\x10\x84\x29\x46\x11\x9c\x48\x22\xa8\x1c\xaa\x48\x7c\x57\xf9\xf0\x60\x97\x46\xba\x75\x2d\x42\x94\x26\xb8\x13\x83\xe0\x2e\x43\x96\xa0\x05\x04\x31\x44\xb2\x21\xfc\x29\x08\xeb\x4d\xf4\x19\xcb\x4b\x37\x86\xde\x8f\xa1\x0f\x63\x12\xc0\xbe\x88\x93\x88\x09\x2f\x19\x72\xd6\x11\x2e\x02\xe4\xf4\x72\x9e\xf9\x54\x56\xf0\xca\xc6\x1f\x3b\x93\xaa\xb1\xc7\xe3\x2a\xed\x26\x3f\xa9\x54\xaa\xf0\x73\x50\x47\x1d\xfa\xa8\x1d\xe5\x32\x0c\xd3\x5f\xc0\x1a\x68\x35\xe5\x13\x50\xa5\x0d\x79\x54\x2f\x6b\xf2\x6b\x7e\x93\x7f\xb2\xa8\x92\x4a\xab\xd9\x6c\xaa\x75\xc6\xd1\x68\xc1\xe3\xa1\x6c\x57\x37\xd2\xd4\x34\xf3\x4b\x71\x23\x33\x33\xcc\x59\x89\xb3\xcc\x59\x8b\x32\xcd\x59\x87\x30\xc9\x59\x85\x33\x45\xc8\x26\x53\x07\x9b\x92\x7a\x74\x49\x13\xda\x8d\x38\x3e\x0b\x32\x89\xdd\xac\x71\x0e\x05\x59\x8b\x12\x72\xec\xeb\x51\x71\x59\x56\x46\x94\x69\x33\xf7\x3a\xa1\x8a\x0a\xfe\x26\x2f\x0f\x1a\xe5\xa0\xa3\xf7\xc6\x76\x2c\xd0\x67\x0a\xc1\x72\x2e\xb0\xf1\x9f\x57\xf1\xfe\xf3\x2a\xde\x9f\xf6\x2a\x9e\xe4\x1c\xfd\x5b\x92\xfb\x9c\x5d\x5f\x72\x26\x28\xf0\x1a\x58\x5f\xcc\xe4\x69\x7e\x08\x4c\xa8\xc2\x5f\x9d\xad\x03\xf2\x48\xbb\xe1\x55\xfc\xe5\xde\xfa\x12\x1e\x07\xf5\xa5\xe7\x40\x85\x3a\x12\x4a\xbc\xb8\x0a\x7f\x6b\xf6\x8e\xf6\x7e\x95\x79\x38\x84\xde\x49\xee\x9f\x78\x29\x28\xe3\xf2\x29\x3a\xcc\x0d\x6f\xb3\x87\x3e\xc1\x37\x75\x60\xb5\x91\x4f\x16\xa9\xa5\xe9\x57\xaf\x55\x9f\xa2\x03\x46\x52\x1b\x37\x5c\x5a\xcb\xe6\xff\x13\x72\x57\x53\x20\x06\x69\x04\x59\xfc\x82\x54\x87\xc7\x2c\x14\x79\x65\xd6\x05\xc8\x60\x91\x79\xd7\x49\x34\x5b\xa4\xb0\x52\xb8\x35\x31\x04\x2a\xcd\xe2\x2d\xa8\x79\x51\x59\xdb\xdb\xdb\xdb\x83\x37\x45\x1a\xa2\x35\x14\x1f\xb8\xe1\xde\x57\x7e\x2e\x84\x0c\xa6\xdd\x34\x8d\x83\xeb\x45\x0a\xab\x15\x2f\x0e\xbc\xb5\x69\xe0\xfb\x10\xed\xef\x2a\x68\x84\xcd\x2c\x92\x66\xa6\xe1\xe1\x6c\x65\xbc\x64\x10\xc5\xfc\x72\x86\x7e\xc4\x94\x92\xec\x93\x03\xf2\xae\x88\xf5\xe6\xaa\x3d\xef\x92\xd7\xac\xa1\x53\x64\x27\x30\xba\x81\x69\x7c\x9f\xe5\xe6\x91\x19\x3b\x81\x69\x2f\x5a\x84\x7e\x10\x4e\xfa\xd8\x40\x3e\xa5\x66\x8d\x28\xdd\x0c\x08\xb3\x4b\x3b\x1d\xd0\x44\x1a\x94\x97\x33\x53\xb4\xdc\x5d\x4d\x96\xf0\x81\xc0\x7d\xde\xe9\x00\x05\x15\xcf\x57\x25\x5c\x9d\x2b\x58\xcd\xb3\x8c\x59\xd0\x32\x3c\x93\x8c\x70\x33\x5a\x81\x6b\xa8\x4b\xb6\xb7\xa3\xa9\x17\x27\xc1\x3f\xe1\x88\xf8\xc1\x54\x6c\xe3\x46\xc5\xa4\x2f\x7a\xd2\x29\x61\x46\x68\x25\xb5\x46\x1a\xc9\x6b\xa8\x04\xc6\x62\x42\x0a\x82\x62\x31\x22\x9f\x34\xb4\xe8\x3f\x46\xe4\x7f\x8c\xc8\xa5\x8d\xc8\x5c\x0b\x32\x88\x47\x8b\x99\x17\x9f\x04\x49\x5a\xd0\x84\x14\x5a\x58\x6d\x48\xa1\x4e\xf5\xc6\xbb\xd3\x23\x2c\x96\x33\x1b\x3d\x2c\x78\xe4\x31\x55\x2c\x84\x02\x70\xad\xb2\x94\xba\x42\x7f\x2b\x75\x66\xf0\x95\x2d\x69\x4b\x0a\xbd\x94\xac\x31\x4e\xd4\xd2\x06\x19\xee\xa8\xe6\x97\x25\x98\x65\x89\x0c\x2c\x84\xb7\xef\x4c\x6c\x06\x99\xbb\x4e\x57\xe3\x9d\xd4\x48\xd6\xc3\xa6\xa7\x7f\x78\x34\xb7\xd8\x8e\xba\xde\x52\x5f\x34\xeb\x23\x73\x0c\xff\x45\x90\xa5\xed\xc2\x7d\xa4\x41\x50\x13\x98\xf6\xef\x47\xb3\x60\x44\xd2\x92\x04\xb5\xfc\x6c\x3d\xa2\x30\x60\xd8\xa6\x55\xc7\x26\x03\xdf\xd0\x42\xb7\x09\xc5\xec\x71\x12\x51\x4a\x16\xcc\x82\x40\xde\xa5\xa0\x1f\xc1\x6b\x09\xb0\x69\xd0\x24\x21\x90\xa8\xc0\xf2\xc0\x41\x59\x47\x5d\x19\x2b\x32\xf8\x8b\x90\x70\xcc\xd7\x1d\x45\x5d\x01\x4a\xca\xa4\xcd\x90\xff\x99\x63\x3a\x8e\xe2\x01\xbe\x68\x2e\x3e\xa8\xf6\x0d\x0e\x30\xad\x67\x48\x29\x5e\x7b\xa3\x4f\x63\xed\xb9\x1b\x06\x2c\xd0\xd3\x15\x02\x35\x11\xc3\x50\x98\xa4\x7a\xd5\x6c\x9c\xf1\x72\x81\xa6\xfb\x10\xe7\xd3\x60\xa3\x3b\x6c\xd9\xc7\x37\x23\xb0\x4a\xb0\xe0\x17\x23\x87\xad\x5a\x1d\xb5\xcb\x7f\x8e\xef\x89\x37\x9d\xc6\x91\x42\x34\xc9\x6f\x27\x91\x4c\x41\xfa\x9d\x60\xae\x62\xc2\x0d\xe5\x34\x01\x16\x9c\x89\x09\x67\x9d\xac\xd8\x7a\x94\x76\x3e\x4e\xd0\x21\x6d\x8b\xe0\x9e\x2f\x94\x60\x84\xf2\x58\x25\xe5\xa0\x20\x07\xd2\xae\x82\x49\x19\x73\xb7\x35\xae\xf7\xc0\xa0\x92\xd5\x84\x24\x19\x48\x51\x6d\xe7\x82\x35\x81\xce\x4b\xe1\x29\xec\x33\xe8\x63\xcf\xad\x72\xfb\x49\xd2\x69\xb1\x07\x0f\x45\xc6\x25\x9a\x5b\xb7\x91\x45\x45\x50\xc4\xbf\xb6\x86\xf3\x01\x15\x93\xc7\xf9\x2c\x18\xc9\xbb\x58\x9a\x5a\xc4\x87\x33\x98\xc2\xbe\xe9\xf5\xa3\x20\x85\x37\x89\xf2\xde\x2d\x57\x17\x43\xa4\x7a\xda\x07\xe8\xdf\x57\xc0\x8b\x27\xf8\x60\x85\xab\x19\x30\x34\xac\x0a\x18\xde\xc5\x30\x00\x6b\xa0\x8d\x84\x8a\xb7\xba\x18\x8a\x89\xe1\xe4\xcd\xab\x85\x3e\x60\x7c\xff\x96\xac\x4d\x92\x64\xae\x89\x3d\xb4\x2e\x56\x45\x8c\x92\x42\xb6\x0b\x58\x95\x38\x5a\xc0\x92\x61\x74\x76\x24\x42\x2d\xdc\x20\x43\xf2\xe2\x05\xe1\xa5\x25\x0a\xc0\xba\x74\xd3\xa7\x80\xc1\xeb\x8c\x5d\x6b\x6b\xcb\xb1\x03\xac\xca\x24\x3c\x85\x65\x67\xb2\x3b\x45\x24\xcb\x8f\x1e\xcb\x00\x43\x46\x91\xc8\xa1\x9a\x8b\xd0\x12\x2d\xce\x58\x27\xf7\x97\x19\x50\x4e\xbd\x44\x52\xb1\x2f\xc2\xf4\x3c\xa2\x31\xbf\x2e\x90\x35\xe6\xef\xce\x61\xea\xcb\xa7\xa6\xe9\x56\x3b\x22\x06\x5b\x83\x99\x14\xff\x91\x07\x5f\xd2\x8c\x02\xf4\xfc\x97\x6b\x6c\x23\xc3\xfa\xdb\x91\x87\xd3\x02\xae\x88\x2e\x45\xd4\xe9\xce\xdb\x23\x53\x1c\xf5\x88\x66\x37\x75\x19\xbc\x23\x29\x9d\xb1\x66\x6d\x3f\xcb\xe5\xbf\xe2\x85\x2d\x4c\x6a\xd3\x67\x9d\xc3\xb5\x42\x4a\x7c\x1a\x8c\xd9\x41\x6b\x62\xd2\xe5\x23\x92\xf8\x95\x3e\x57\x65\xe4\xc3\xab\xd2\xa7\x87\x64\xee\xbc\x22\xa7\x91\xe4\x8f\xd7\x1d\x27\x37\x55\x07\xc5\x0a\x69\xc5\xd4\x3d\x88\x16\x29\x88\xc6\x20\xf6\xc2\x09\xd4\x4f\xf6\x64\xbc\xab\xfc\x09\x33\x53\xac\xb6\x82\x87\x7a\xd0\x62\x3e\x01\xc8\x18\x15\x84\x60\x16\x24\x29\xb8\x86\xf7\x51\xe8\x03\x6c\x51\x81\xa6\x1d\x31\x7f\xeb\x4c\x43\x28\x29\x28\xc2\xcf\x4c\xa3\x36\xdd\xda\x34\x61\x2f\xbd\xa3\x69\xcf\xbb\x45\x77\xd0\x13\xf1\xa3\xfa\xcc\xbb\x1e\x9f\x08\xef\xe6\x5e\xe8\x23\xe9\xe8\xa1\x3d\x30\x6f\x3a\xa2\x09\xd3\x98\x00\xac\x59\x04\x9a\xf5\x54\x82\xe3\xcc\xff\x9b\xcd\x60\xb1\x8d\xae\x40\x68\x6e\x3e\xa9\x51\x11\x55\xa9\x62\x32\x65\x07\x04\x05\xac\x48\xa9\x9e\xd5\xc4\x33\x73\xb6\x60\xf6\x4c\xd3\x2a\x35\xca\x37\x2e\x9e\x62\xfc\x8b\x68\x46\x65\xe9\x2b\xb4\xf3\xd1\x0d\xef\x55\x40\xeb\xfe\xc3\xb8\x66\x28\xa7\xef\x02\x25\x25\xb2\x7c\x29\xa7\x8f\x32\x14\xcb\xe9\xbb\xd8\x67\xcb\xf1\xfb\x5f\x2d\xf1\xc1\x61\x74\x43\x75\x36\x01\xf6\x31\x8a\xf2\xf2\x7b\x99\x9a\x54\xd1\xe8\x6a\x9b\x38\x7a\xba\x8c\xfe\x51\x97\x20\xc7\xa7\x39\x21\xe1\x42\xcb\xfb\x16\x84\x3f\x26\xa8\xd1\x97\x07\xf1\x00\xd4\x44\x8e\x98\xbe\x65\x84\x19\xe8\xbc\x22\x83\xea\xc5\x7d\x66\x5f\x21\x62\x1a\xc2\x36\x52\xd3\x42\x50\xb9\xc5\x25\xc7\xec\xef\xe1\x6d\xe1\x40\x51\x15\x02\x46\x39\x8f\xe6\x66\x00\x02\x2b\x2e\x60\x76\x85\x97\xdd\x8d\x1a\xf9\xf1\xa1\xf7\xdf\x83\xfe\xf9\xf0\xf8\x70\xd8\x3d\x3f\x3f\x3d\xee\xfd\x78\x3e\xc0\xc6\xa6\xd6\x73\x3a\x69\xa4\x72\xca\xee\x1c\x46\xc7\x70\x06\xbd\x44\x09\x1f\xd3\xaf\xc1\x85\xbb\xf2\x27\xe9\x44\xfe\xb2\x1b\x2d\x66\x3e\x40\x2b\x2f\xa3\xd0\xe3\xfd\xc3\xc5\xf7\x30\x05\x54\x4a\x0c\x57\x79\xe8\x87\x6c\x7d\x9e\x92\xf5\xaa\x68\x8f\x66\xd0\x0b\xf9\xeb\xac\xda\x65\xb4\x28\x18\x8b\x64\xaa\xd4\x28\x36\x3e\x99\x64\x16\x99\x0b\x82\xf7\x8b\xe2\x8f\x90\xcd\x5f\x25\x3c\x16\x87\xce\x18\x89\x18\x46\xf8\x77\x2d\xa1\x2c\x34\xdd\xed\x17\x65\x62\x1d\x04\x7e\x23\x65\x19\xc8\x5b\x4d\xc3\xf3\x37\x4b\x48\xb1\x34\x12\x79\xb2\xcc\xe8\x1f\xcd\xbc\x24\x79\x4f\x9e\xb7\x16\x3d\xa2\xd9\xf7\x20\x0c\x61\xfc\xf6\xfc\xdd\x89\xf0\x5d\x5e\xa4\x4c\x54\xb1\x08\xc3\xa2\x0c\x41\xc0\x7d\x2f\xf5\xd6\xa2\xeb\xdf\xd6\x02\xbf\x62\x69\x29\x0e\x06\x39\x8b\x62\x4b\x9e\x65\x2d\x30\xd3\x66\x5e\x02\x8d\x18\x2d\x4b\xe1\xe3\xc2\x1c\xbf\x51\x30\xc7\x88\x64\x7e\x48\xaa\x5e\x1c\xd7\x01\xe4\x49\x2b\xe9\x38\x79\x71\xcc\x13\xa3\xa2\x8f\x24\x2d\xaa\x18\x1f\x40\x9a\x63\x0b\x9c\xfc\x7a\xf0\xcc\xc6\xac\xef\x61\x08\xe3\x60\xa4\xf3\x07\xff\x82\x7f\xbf\xaa\x1d\x98\xdb\xe2\x18\xa8\xb5\xeb\x45\xe8\xcf\xd8\x55\xff\xff\x17\x00\x00\xff\xff\xad\x5e\xe1\x40\xb3\xcc\x0b\x00") + +func staticJsGottyBundleJsBytes() ([]byte, error) { + return bindataRead( + _staticJsGottyBundleJs, + "static/js/gotty-bundle.js", + ) +} + +func staticJsGottyBundleJs() (*asset, error) { + bytes, err := staticJsGottyBundleJsBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "static/js/gotty-bundle.js", size: 773299, mode: os.FileMode(436), modTime: time.Unix(1503385387, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -251,6 +272,7 @@ var _bindata = map[string]func() (*asset, error){ "static/favicon.png": staticFaviconPng, "static/index.html": staticIndexHtml, "static/js/bundle.js": staticJsBundleJs, + "static/js/gotty-bundle.js": staticJsGottyBundleJs, } // AssetDir returns the file names below a certain @@ -303,7 +325,8 @@ var _bintree = &bintree{nil, map[string]*bintree{ "favicon.png": &bintree{staticFaviconPng, map[string]*bintree{}}, "index.html": &bintree{staticIndexHtml, map[string]*bintree{}}, "js": &bintree{nil, map[string]*bintree{ - "bundle.js": &bintree{staticJsBundleJs, map[string]*bintree{}}, + "bundle.js": &bintree{staticJsBundleJs, map[string]*bintree{}}, + "gotty-bundle.js": &bintree{staticJsGottyBundleJs, map[string]*bintree{}}, }}, }}, }} From 2b4eb55d28a0c9dc59881fb908b90749f9b38ddf Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Tue, 22 Aug 2017 16:16:28 +0900 Subject: [PATCH 61/82] Add typing for libapps --- js/dist/gotty-bundle.js.map | 2 +- js/dist/hterm.d.ts | 4 +-- js/src/hterm.ts | 4 +-- js/typings/libapps/index.d.ts | 53 +++++++++++++++++++++++++++++++++++ server/asset.go | 2 +- 5 files changed, 59 insertions(+), 6 deletions(-) create mode 100644 js/typings/libapps/index.d.ts diff --git a/js/dist/gotty-bundle.js.map b/js/dist/gotty-bundle.js.map index 56d11e1..f208c91 100644 --- a/js/dist/gotty-bundle.js.map +++ b/js/dist/gotty-bundle.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap c630c1d0830f2afe3c68","webpack:///./~/xterm/lib/xterm.js","webpack:///./~/xterm/lib/EventEmitter.js","webpack:///./~/xterm/lib/EscapeSequences.js","webpack:///./~/xterm/lib/Charsets.js","webpack:///./~/xterm/lib/addons/attach/attach.js","webpack:///./~/xterm/lib/addons/fit/fit.js","webpack:///./~/xterm/lib/addons/fullscreen/fullscreen.js","webpack:///./~/xterm/lib/addons/terminado/terminado.js","webpack:///./~/xterm/lib/utils/Browser.js","webpack:///./~/xterm/lib/utils/Mouse.js","webpack:///./src/hterm.ts","webpack:///./src/websocket.ts","webpack:///./src/webtty.ts","webpack:///./src/xterm.ts","webpack:///./~/libapps/hterm/dist/js/hterm_module.js","webpack:///./src/main.ts","webpack:///./~/xterm/lib/CompositionHelper.js","webpack:///./~/xterm/lib/InputHandler.js","webpack:///./~/xterm/lib/Linkifier.js","webpack:///./~/xterm/lib/Parser.js","webpack:///./~/xterm/lib/Renderer.js","webpack:///./~/xterm/lib/SelectionManager.js","webpack:///./~/xterm/lib/SelectionModel.js","webpack:///./~/xterm/lib/Viewport.js","webpack:///./~/xterm/lib/addons ^\\.\\/.*$","webpack:///./~/xterm/lib/addons/attach/package.json","webpack:///./~/xterm/lib/addons/fit/package.json","webpack:///./~/xterm/lib/addons/fullscreen/package.json","webpack:///./~/xterm/lib/addons/terminado/package.json","webpack:///./~/xterm/lib/handlers/Clipboard.js","webpack:///./~/xterm/lib/utils/CharMeasure.js","webpack:///./~/xterm/lib/utils/CircularList.js","webpack:///./~/xterm/lib/utils/DomElementObjectPool.js","webpack:///./~/xterm/lib/utils/Generic.js"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AChEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA,UAAU,QAAQ;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gDAAgD,8CAA8C;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,KAAK;AACL;AACA,2BAA2B,iBAAiB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,mCAAmC,yCAAyC,EAAE;AAC9E,iEAAiE,yCAAyC,EAAE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,4CAA4C;AACtE,iCAAiC,wCAAwC;AACzE,gCAAgC,0CAA0C;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,cAAc;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,wHAAwH;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,wHAAwH;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,mCAAmC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,6BAA6B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5lDA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC1DA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,qCAAqC;AACtC;;AAEA;;;;;;;;ACzCA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;;;;;;;AChKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;AC7HD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B;AAC/B;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;;AAEA,gBAAgB;AAChB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;ACrFD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;ACjDD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;ACtID;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,mBAAmB;AAC9B,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,EAAE,WAAW,EAAE,WAAW,EAAE;;AAEjD;AACA;AACA,2BAA2B,IAAI,YAAY,IAAI;AAC/C,eAAe,IAAI;AACnB;;AAEA;AACA;AACA;AACA,iBAAiB,IAAI,YAAY,IAAI,YAAY,IAAI;AACrD;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,IAAI,YAAY,IAAI,YAAY,IAAI;AACrD;AACA;;AAEA;AACA,6BAA6B,IAAI,aAAa,IAAI,aAAa,IAAI;;AAEnE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,gBAAgB;AAChB,iBAAiB;AACjB,kBAAkB;AAClB,iBAAiB;AACjB;;AAEA,kDAAkD,gBAAgB;AAClE;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2CAA2C,iCAAiC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,IAAI;AACf;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,4BAA4B,uBAAuB;AACnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA,oBAAoB,+BAA+B;;AAEnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,sBAAsB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,kBAAkB;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,8CAA8C;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,8CAA8C;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,0BAA0B;;AAE9C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,wCAAwC;AACnD;AACA;AACA,WAAW,8CAA8C;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB,kCAAkC;AACnD;;AAEA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS,kBAAkB,aAAa,WAAW,kBAAkB;AAC9E;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,YAAY,OAAO;AACnB;AACA;AACA;AACA,aAAa;AACb,eAAe;AACf,cAAc;AACd;;AAEA,iBAAiB,cAAc;AAC/B;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,iBAAiB,cAAc;AAC/B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,iBAAiB,uBAAuB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA,uBAAuB,qDAAqD;AAC5E;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;AACA;AACA;;AAEA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;;AAEA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;AACA;AACA;;AAEA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;;AAEZ;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,SAAS;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,qBAAqB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS;AACtC;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,WAAW,OAAO;AAClB;AACA,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA,YAAY,IAAI;AAChB;AACA;AACA;AACA;;AAEA,iBAAiB,6CAA6C;AAC9D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA,WAAW,qBAAqB;AAChC;AACA,WAAW,qBAAqB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD,2BAA2B;AAC3E;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ,kDAAkD;AACtE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;;AAEA,iCAAiC,yBAAyB;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC,cAAc;AAClD,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL,sCAAsC,eAAe;AACrD;AACA;AACA,CAAC;;AAED;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6DAA6D,eAAe;;AAE5E;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC,eAAe,OAAO;AACtB,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,0BAA0B,wCAAwC,EAAE;AAC3E;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,0CAA0C,uBAAuB;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,0BAA0B;AAC1B,qBAAqB;AACrB,8BAA8B;AAC9B,gBAAgB;AAChB,gBAAgB;AAChB,kBAAkB;AAClB,mBAAmB;AACnB,uBAAuB;AACvB,uBAAuB;AACvB,uEAAuE;AACvE,qEAAqE;;AAErE;AACA;AACA;AACA;AACA,uBAAuB;AACvB,mCAAmC;AACnC,sCAAsC;AACtC,uEAAuE;AACvE,4DAA4D;AAC5D,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B,2BAA2B;AAC3B,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,eAAe;;AAEf;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,WAAW,iCAAiC;AAC5C,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,mDAAmD;AACnD;AACA;AACA,oBAAoB,0BAA0B;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;;AAEpB;AACA,iBAAiB,yBAAyB,uBAAuB;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,0CAA0C;AACrE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC,WAAW,0BAA0B;AACrC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,YAAY;;AAEZ;AACA,YAAY;;AAEZ;AACA,YAAY;;;AAGZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,EAAE;AAChD;AACA,KAAK;AACL;AACA,8CAA8C,EAAE;AAChD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,+CAA+C;AAC/C,GAAG;AACH,yBAAyB;AACzB,GAAG;AACH,qBAAqB;AACrB,GAAG;AACH,qBAAqB;AACrB,GAAG;AACH,sBAAsB;AACtB,GAAG;AACH,mBAAmB;AACnB,GAAG;AACH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,KAAK;AACb,oBAAoB;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sDAAsD,yBAAyB;AAC/E;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,oBAAoB;AAC/B;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,MAAM;AAClB;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB,oBAAoB;AACpB,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB,oBAAoB;AACpB,oBAAoB;AACpB,mBAAmB;AACnB,wBAAwB;AACxB,+CAA+C;AAC/C,iCAAiC;AACjC,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd,wBAAwB;AACxB,8CAA8C;AAC9C,mDAAmD;AACnD,QAAQ;AACR;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,sBAAsB;AACtB,8BAA8B;AAC9B,uBAAuB;AACvB,oCAAoC;AACpC,oBAAoB;AACpB,0BAA0B,oBAAoB;AAC9C,wBAAwB;AACxB,mBAAmB;AACnB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,uBAAuB;AACvB,wBAAwB;AACxB,iCAAiC;AACjC,8BAA8B;AAC9B;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB,wBAAwB;AACxB,4CAA4C;AAC5C,wBAAwB;;AAExB;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,cAAc;AACd,eAAe;AACf;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,iBAAiB;AACjB,gBAAgB;AAChB,eAAe;AACf,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,gBAAgB;AAChB,iBAAiB;AACjB,4BAA4B;AAC5B,iCAAiC;AACjC,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,yBAAyB,6BAA6B;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,mBAAmB;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B,gCAAgC;AAC7D;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,8DAA8D;AAC9D;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,8BAA8B,wBAAwB,EAAE;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA,SAAS,WAAW,EAAE,KAAK;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C;AAC7C;AACA,8BAA8B;AAC9B,GAAG;AACH,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,2CAA2C,QAAQ;AACnD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,kDAAkD,cAAc;;AAEhE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC,iCAAiC;AACjC,mDAAmD;AACnD,4BAA4B;AAC5B,8BAA8B;AAC9B,SAAS;AACT,kBAAkB;AAClB,gCAAgC;AAChC,6BAA6B;AAC7B,uDAAuD;AACvD,oDAAoD;AACpD,SAAS;AACT,eAAe;AACf,iFAAiF;AACjF,mFAAmF;AACnF,uCAAuC;AACvC,uCAAuC;AACvC,4CAA4C;AAC5C,0CAA0C;AAC1C,gDAAgD;AAChD,qEAAqE;AACrE,SAAS;AACT,0BAA0B;AAC1B,gBAAgB,cAAc,EAAE;AAChC,cAAc,cAAc,EAAE;AAC9B,SAAS;AACT,qBAAqB;AACrB,gCAAgC;AAChC,+DAA+D;AAC/D,8CAA8C;AAC9C,iDAAiD;AACjD,yCAAyC;AACzC,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,iFAAiF;AACjF,iFAAiF;AACjF,uBAAuB;AACvB,2CAA2C;AAC3C,6CAA6C;AAC7C,mEAAmE;AACnE,gEAAgE;;AAEhE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,mBAAmB;AACnB,uBAAuB;AACvB,oBAAoB;AACpB,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB;AACA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,mBAAmB,mBAAmB;AACtC;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA,mBAAmB,8BAA8B;AACjD,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B,gCAAgC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,6BAA6B;AACtC,SAAS,qCAAqC;AAC9C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB,mCAAmC;AACnC,0BAA0B;AAC1B,4BAA4B;AAC5B,uBAAuB;AACvB,0CAA0C;AAC1C,oBAAoB;AACpB,sBAAsB;AACtB,4BAA4B;AAC5B,wCAAwC;AACxC,mCAAmC;AACnC,qCAAqC;AACrC,gCAAgC;;AAEhC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B,uBAAuB;AACvB,0CAA0C;AAC1C,4BAA4B;AAC5B,mCAAmC;AACnC,mDAAmD;AACnD,gCAAgC;AAChC,gDAAgD;;AAEhD;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,8BAA8B;AAC9B,0BAA0B;AAC1B;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,4BAA4B,WAAW;AACvC,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,qBAAqB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,IAAI;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,GAAG,kBAAkB;AACrB;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,GAAG;AACH;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,GAAG,uBAAuB;AAC1B;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC,UAAU,OAAO;AACvD;AACA,wCAAwC;;AAExC;AACA;AACA;;AAEA,0BAA0B,wBAAwB;AAClD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC,yBAAyB;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,uDAAuD;AACvD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA;AACA,gBAAgB,MAAM;AACtB;AACA,0CAA0C,GAAG,IAAI,KAAK;AACtD;AACA;AACA;AACA;AACA,oBAAoB,gCAAgC;AACpD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,IAAI;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;;AAEA;AACA,qBAAqB;AACrB;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,sBAAsB;AAC7B;AACA;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,OAAO;AACP;;AAEA,OAAO;AACP;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC,0BAA0B;AACnE;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C,oBAAoB;AAC9D;AACA;AACA;AACA,6CAA6C,IAAI,IAAI;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH,0CAA0C,EAAE,EAAE;AAC9C,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,sBAAsB;AACjC;AACA;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,4BAA4B;AAC5B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;AACL,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC9jjBA,sCAAgC;AAChC,sCAAgC;AAChC,uCAAuD;AACvD,0CAAgD;AAMhD,IAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;AAEhD,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;IAChB,IAAI,IAAc,CAAC;IACnB,EAAE,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC;QACxB,IAAI,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,IAAI,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,IAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAC1D,IAAM,GAAG,GAAG,CAAC,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzG,IAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IACpC,IAAM,OAAO,GAAG,IAAI,6BAAiB,CAAC,GAAG,EAAE,kBAAS,CAAC,CAAC;IACtD,IAAM,EAAE,GAAG,IAAI,eAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC7D,IAAM,QAAM,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAEzB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAC9B,QAAM,EAAE,CAAC;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC;AAAA,CAAC;;;;;;;;AC7BF;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,8CAA8C,EAAE;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC5HA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,uDAAuD,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,yBAAyB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,IAAI;AACxE;AACA;AACA,qEAAqE,GAAG;AACxE;AACA;AACA;AACA;AACA;AACA,qEAAqE,MAAM;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,GAAG,qBAAqB;;AAEzB;;;;;;;;ACx6BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B,sBAAsB,IAAI,KAAK,EAAE,IAAI,IAAI;AACzC;AACA,wBAAwB,IAAI;AAC5B;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,gBAAgB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,mCAAmC,yBAAyB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,4BAA4B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;;;;;;;ACzOA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA,2EAA2E,uBAAuB;AAClG,0EAA0E,2BAA2B;AACrG;AACA;AACA,0EAA0E,iCAAiC;AAC3G,0EAA0E,4BAA4B;AACtG,0EAA0E,sBAAsB;AAChG,0EAA0E,2BAA2B;AACrG,0EAA0E,0BAA0B;AACpG,2EAA2E,6CAA6C;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,4CAA4C;AAC/G;AACA,+CAA+C,8BAA8B;AAC7E,+CAA+C,8BAA8B;AAC7E,+CAA+C,8BAA8B;AAC7E,+CAA+C,gDAAgD;AAC/F,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,+BAA+B;AAC9E,+CAA+C,+BAA+B;AAC9E,+CAA+C,+BAA+B;AAC9E,gDAAgD,gCAAgC;AAChF,uBAAuB,wBAAwB,+BAA+B;AAC9E,oEAAoE,4CAA4C;AAChH;AACA,2DAA2D,oCAAoC;AAC/F,2DAA2D,iCAAiC;AAC5F,2DAA2D,mCAAmC;AAC9F,2DAA2D,sCAAsC;AACjG,2DAA2D,uCAAuC;AAClG,2DAA2D,uCAAuC;AAClG,2DAA2D,4CAA4C;AACvG,2DAA2D,2CAA2C;AACtG,2DAA2D,uCAAuC;AAClG,2DAA2D,yCAAyC;AACpG,2DAA2D,uCAAuC;AAClG,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,iCAAiC;AAC5F;AACA;AACA;AACA;AACA;AACA,2DAA2D,mCAAmC;AAC9F,2DAA2D,0CAA0C;AACrG,2DAA2D,wCAAwC;AACnG,2DAA2D,0CAA0C;AACrG,2DAA2D,iDAAiD;AAC5G,2DAA2D,6CAA6C;AACxG,2DAA2D,wCAAwC;AACnG,2DAA2D,0CAA0C;AACrG,2DAA2D,mCAAmC;AAC9F,2DAA2D,iCAAiC;AAC5F,2DAA2D,gCAAgC;AAC3F,2DAA2D,kCAAkC;AAC7F,2DAA2D,uCAAuC;AAClG,2DAA2D,qCAAqC;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,wCAAwC;AAC3F,mDAAmD,mCAAmC;AACtF,mDAAmD,sCAAsC;AACzF,iGAAiG,4CAA4C;AAC7I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC7dA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sBAAsB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,yBAAyB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mCAAmC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,0DAA0D;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrRA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,8BAA8B;AACpF,oDAAoD,kCAAkC;AACtF,oDAAoD,kCAAkC;AACtF,kDAAkD,gCAAgC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,iBAAiB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAoF,yBAAyB,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6EAA6E;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,4BAA4B,EAAE;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;ACrZA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;ACxEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uB;;;;;;AC7BA,kBAAkB,wD;;;;;;ACAlB,kBAAkB,kD;;;;;;;;;;;;ACAlB,kBAAkB,gE;;;;;;ACAlB,kBAAkB,8D;;;;;;;ACAlB;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpEA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,2BAA2B,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AClEA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,2BAA2B,yCAAyC;AACpE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,0CAA0C,eAAe;AACzD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,+BAA+B,gCAAgC;AAC/D;AACA;AACA;AACA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AClKA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;;;;;;;AC5CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;;AAEA","file":"./dist/gotty-bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 15);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap c630c1d0830f2afe3c68","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CompositionHelper_1 = require(\"./CompositionHelper\");\nvar EventEmitter_1 = require(\"./EventEmitter\");\nvar Viewport_1 = require(\"./Viewport\");\nvar Clipboard_1 = require(\"./handlers/Clipboard\");\nvar CircularList_1 = require(\"./utils/CircularList\");\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar InputHandler_1 = require(\"./InputHandler\");\nvar Parser_1 = require(\"./Parser\");\nvar Renderer_1 = require(\"./Renderer\");\nvar Linkifier_1 = require(\"./Linkifier\");\nvar SelectionManager_1 = require(\"./SelectionManager\");\nvar CharMeasure_1 = require(\"./utils/CharMeasure\");\nvar Browser = require(\"./utils/Browser\");\nvar Mouse_1 = require(\"./utils/Mouse\");\nvar document = (typeof window != 'undefined') ? window.document : null;\nvar WRITE_BUFFER_PAUSE_THRESHOLD = 5;\nvar WRITE_BATCH_SIZE = 300;\nvar CURSOR_BLINK_INTERVAL = 600;\nfunction Terminal(options) {\n var self = this;\n if (!(this instanceof Terminal)) {\n return new Terminal(arguments[0], arguments[1], arguments[2]);\n }\n self.browser = Browser;\n self.cancel = Terminal.cancel;\n EventEmitter_1.EventEmitter.call(this);\n if (typeof options === 'number') {\n options = {\n cols: arguments[0],\n rows: arguments[1],\n handler: arguments[2]\n };\n }\n options = options || {};\n Object.keys(Terminal.defaults).forEach(function (key) {\n if (options[key] == null) {\n options[key] = Terminal.options[key];\n if (Terminal[key] !== Terminal.defaults[key]) {\n options[key] = Terminal[key];\n }\n }\n self[key] = options[key];\n });\n if (options.colors.length === 8) {\n options.colors = options.colors.concat(Terminal._colors.slice(8));\n }\n else if (options.colors.length === 16) {\n options.colors = options.colors.concat(Terminal._colors.slice(16));\n }\n else if (options.colors.length === 10) {\n options.colors = options.colors.slice(0, -2).concat(Terminal._colors.slice(8, -2), options.colors.slice(-2));\n }\n else if (options.colors.length === 18) {\n options.colors = options.colors.concat(Terminal._colors.slice(16, -2), options.colors.slice(-2));\n }\n this.colors = options.colors;\n this.options = options;\n this.parent = options.body || options.parent || (document ? document.getElementsByTagName('body')[0] : null);\n this.cols = options.cols || options.geometry[0];\n this.rows = options.rows || options.geometry[1];\n this.geometry = [this.cols, this.rows];\n if (options.handler) {\n this.on('data', options.handler);\n }\n this.ybase = 0;\n this.ydisp = 0;\n this.x = 0;\n this.y = 0;\n this.cursorState = 0;\n this.cursorHidden = false;\n this.convertEol;\n this.queue = '';\n this.scrollTop = 0;\n this.scrollBottom = this.rows - 1;\n this.customKeyEventHandler = null;\n this.cursorBlinkInterval = null;\n this.applicationKeypad = false;\n this.applicationCursor = false;\n this.originMode = false;\n this.insertMode = false;\n this.wraparoundMode = true;\n this.normal = null;\n this.charset = null;\n this.gcharset = null;\n this.glevel = 0;\n this.charsets = [null];\n this.decLocator;\n this.x10Mouse;\n this.vt200Mouse;\n this.vt300Mouse;\n this.normalMouse;\n this.mouseEvents;\n this.sendFocus;\n this.utfMouse;\n this.sgrMouse;\n this.urxvtMouse;\n this.element;\n this.children;\n this.refreshStart;\n this.refreshEnd;\n this.savedX;\n this.savedY;\n this.savedCols;\n this.readable = true;\n this.writable = true;\n this.defAttr = (0 << 18) | (257 << 9) | (256 << 0);\n this.curAttr = this.defAttr;\n this.params = [];\n this.currentParam = 0;\n this.prefix = '';\n this.postfix = '';\n this.inputHandler = new InputHandler_1.InputHandler(this);\n this.parser = new Parser_1.Parser(this.inputHandler, this);\n this.renderer = this.renderer || null;\n this.selectionManager = this.selectionManager || null;\n this.linkifier = this.linkifier || new Linkifier_1.Linkifier();\n this.writeBuffer = [];\n this.writeInProgress = false;\n this.xoffSentToCatchUp = false;\n this.writeStopped = false;\n this.surrogate_high = '';\n this.lines = new CircularList_1.CircularList(this.scrollback);\n var i = this.rows;\n while (i--) {\n this.lines.push(this.blankLine());\n }\n if (this.selectionManager) {\n this.selectionManager.setBuffer(this.lines);\n }\n this.tabs;\n this.setupStops();\n this.userScrolling = false;\n}\ninherits(Terminal, EventEmitter_1.EventEmitter);\nTerminal.prototype.eraseAttr = function () {\n return (this.defAttr & ~0x1ff) | (this.curAttr & 0x1ff);\n};\nTerminal.tangoColors = [\n '#2e3436',\n '#cc0000',\n '#4e9a06',\n '#c4a000',\n '#3465a4',\n '#75507b',\n '#06989a',\n '#d3d7cf',\n '#555753',\n '#ef2929',\n '#8ae234',\n '#fce94f',\n '#729fcf',\n '#ad7fa8',\n '#34e2e2',\n '#eeeeec'\n];\nTerminal.colors = (function () {\n var colors = Terminal.tangoColors.slice(), r = [0x00, 0x5f, 0x87, 0xaf, 0xd7, 0xff], i;\n i = 0;\n for (; i < 216; i++) {\n out(r[(i / 36) % 6 | 0], r[(i / 6) % 6 | 0], r[i % 6]);\n }\n i = 0;\n for (; i < 24; i++) {\n r = 8 + i * 10;\n out(r, r, r);\n }\n function out(r, g, b) {\n colors.push('#' + hex(r) + hex(g) + hex(b));\n }\n function hex(c) {\n c = c.toString(16);\n return c.length < 2 ? '0' + c : c;\n }\n return colors;\n})();\nTerminal._colors = Terminal.colors.slice();\nTerminal.vcolors = (function () {\n var out = [], colors = Terminal.colors, i = 0, color;\n for (; i < 256; i++) {\n color = parseInt(colors[i].substring(1), 16);\n out.push([\n (color >> 16) & 0xff,\n (color >> 8) & 0xff,\n color & 0xff\n ]);\n }\n return out;\n})();\nTerminal.defaults = {\n colors: Terminal.colors,\n theme: 'default',\n convertEol: false,\n termName: 'xterm',\n geometry: [80, 24],\n cursorBlink: false,\n cursorStyle: 'block',\n visualBell: false,\n popOnBell: false,\n scrollback: 1000,\n screenKeys: false,\n debug: false,\n cancelEvents: false,\n disableStdin: false,\n useFlowControl: false,\n tabStopWidth: 8\n};\nTerminal.options = {};\nTerminal.focus = null;\neach(keys(Terminal.defaults), function (key) {\n Terminal[key] = Terminal.defaults[key];\n Terminal.options[key] = Terminal.defaults[key];\n});\nTerminal.prototype.focus = function () {\n return this.textarea.focus();\n};\nTerminal.prototype.getOption = function (key, value) {\n if (!(key in Terminal.defaults)) {\n throw new Error('No option with key \"' + key + '\"');\n }\n if (typeof this.options[key] !== 'undefined') {\n return this.options[key];\n }\n return this[key];\n};\nTerminal.prototype.setOption = function (key, value) {\n if (!(key in Terminal.defaults)) {\n throw new Error('No option with key \"' + key + '\"');\n }\n switch (key) {\n case 'scrollback':\n if (value < this.rows) {\n var msg = 'Setting the scrollback value less than the number of rows ';\n msg += \"(\" + this.rows + \") is not allowed.\";\n console.warn(msg);\n return false;\n }\n if (this.options[key] !== value) {\n if (this.lines.length > value) {\n var amountToTrim = this.lines.length - value;\n var needsRefresh = (this.ydisp - amountToTrim < 0);\n this.lines.trimStart(amountToTrim);\n this.ybase = Math.max(this.ybase - amountToTrim, 0);\n this.ydisp = Math.max(this.ydisp - amountToTrim, 0);\n if (needsRefresh) {\n this.refresh(0, this.rows - 1);\n }\n }\n this.lines.maxLength = value;\n this.viewport.syncScrollArea();\n }\n break;\n }\n this[key] = value;\n this.options[key] = value;\n switch (key) {\n case 'cursorBlink':\n this.setCursorBlinking(value);\n break;\n case 'cursorStyle':\n this.element.classList.toggle(\"xterm-cursor-style-underline\", value === 'underline');\n this.element.classList.toggle(\"xterm-cursor-style-bar\", value === 'bar');\n break;\n case 'tabStopWidth':\n this.setupStops();\n break;\n }\n};\nTerminal.prototype.restartCursorBlinking = function () {\n this.setCursorBlinking(this.options.cursorBlink);\n};\nTerminal.prototype.setCursorBlinking = function (enabled) {\n this.element.classList.toggle('xterm-cursor-blink', enabled);\n this.clearCursorBlinkingInterval();\n if (enabled) {\n var self = this;\n this.cursorBlinkInterval = setInterval(function () {\n self.element.classList.toggle('xterm-cursor-blink-on');\n }, CURSOR_BLINK_INTERVAL);\n }\n};\nTerminal.prototype.clearCursorBlinkingInterval = function () {\n this.element.classList.remove('xterm-cursor-blink-on');\n if (this.cursorBlinkInterval) {\n clearInterval(this.cursorBlinkInterval);\n this.cursorBlinkInterval = null;\n }\n};\nTerminal.bindFocus = function (term) {\n on(term.textarea, 'focus', function (ev) {\n if (term.sendFocus) {\n term.send(EscapeSequences_1.C0.ESC + '[I');\n }\n term.element.classList.add('focus');\n term.showCursor();\n term.restartCursorBlinking.apply(term);\n Terminal.focus = term;\n term.emit('focus', { terminal: term });\n });\n};\nTerminal.prototype.blur = function () {\n return this.textarea.blur();\n};\nTerminal.bindBlur = function (term) {\n on(term.textarea, 'blur', function (ev) {\n term.refresh(term.y, term.y);\n if (term.sendFocus) {\n term.send(EscapeSequences_1.C0.ESC + '[O');\n }\n term.element.classList.remove('focus');\n term.clearCursorBlinkingInterval.apply(term);\n Terminal.focus = null;\n term.emit('blur', { terminal: term });\n });\n};\nTerminal.prototype.initGlobal = function () {\n var _this = this;\n var term = this;\n Terminal.bindKeys(this);\n Terminal.bindFocus(this);\n Terminal.bindBlur(this);\n on(this.element, 'copy', function (event) {\n if (_this.mouseEvents) {\n return;\n }\n Clipboard_1.copyHandler(event, term, _this.selectionManager);\n });\n var pasteHandlerWrapper = function (event) { return Clipboard_1.pasteHandler(event, term); };\n on(this.textarea, 'paste', pasteHandlerWrapper);\n on(this.element, 'paste', pasteHandlerWrapper);\n if (term.browser.isFirefox) {\n on(this.element, 'mousedown', function (event) {\n if (event.button == 2) {\n Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager);\n }\n });\n }\n else {\n on(this.element, 'contextmenu', function (event) {\n Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager);\n });\n }\n if (term.browser.isLinux) {\n on(this.element, 'auxclick', function (event) {\n if (event.button === 1) {\n Clipboard_1.moveTextAreaUnderMouseCursor(event, _this.textarea, _this.selectionManager);\n }\n });\n }\n};\nTerminal.bindKeys = function (term) {\n on(term.element, 'keydown', function (ev) {\n if (document.activeElement != this) {\n return;\n }\n term.keyDown(ev);\n }, true);\n on(term.element, 'keypress', function (ev) {\n if (document.activeElement != this) {\n return;\n }\n term.keyPress(ev);\n }, true);\n on(term.element, 'keyup', function (ev) {\n if (!wasMondifierKeyOnlyEvent(ev)) {\n term.focus(term);\n }\n }, true);\n on(term.textarea, 'keydown', function (ev) {\n term.keyDown(ev);\n }, true);\n on(term.textarea, 'keypress', function (ev) {\n term.keyPress(ev);\n this.value = '';\n }, true);\n on(term.textarea, 'compositionstart', term.compositionHelper.compositionstart.bind(term.compositionHelper));\n on(term.textarea, 'compositionupdate', term.compositionHelper.compositionupdate.bind(term.compositionHelper));\n on(term.textarea, 'compositionend', term.compositionHelper.compositionend.bind(term.compositionHelper));\n term.on('refresh', term.compositionHelper.updateCompositionElements.bind(term.compositionHelper));\n term.on('refresh', function (data) {\n term.queueLinkification(data.start, data.end);\n });\n};\nTerminal.prototype.insertRow = function (row) {\n if (typeof row != 'object') {\n row = document.createElement('div');\n }\n this.rowContainer.appendChild(row);\n this.children.push(row);\n return row;\n};\nTerminal.prototype.open = function (parent, focus) {\n var _this = this;\n var self = this, i = 0, div;\n this.parent = parent || this.parent;\n if (!this.parent) {\n throw new Error('Terminal requires a parent element.');\n }\n this.context = this.parent.ownerDocument.defaultView;\n this.document = this.parent.ownerDocument;\n this.body = this.document.getElementsByTagName('body')[0];\n this.element = this.document.createElement('div');\n this.element.classList.add('terminal');\n this.element.classList.add('xterm');\n this.element.classList.add('xterm-theme-' + this.theme);\n this.setCursorBlinking(this.options.cursorBlink);\n this.element.setAttribute('tabindex', 0);\n this.viewportElement = document.createElement('div');\n this.viewportElement.classList.add('xterm-viewport');\n this.element.appendChild(this.viewportElement);\n this.viewportScrollArea = document.createElement('div');\n this.viewportScrollArea.classList.add('xterm-scroll-area');\n this.viewportElement.appendChild(this.viewportScrollArea);\n this.selectionContainer = document.createElement('div');\n this.selectionContainer.classList.add('xterm-selection');\n this.element.appendChild(this.selectionContainer);\n this.rowContainer = document.createElement('div');\n this.rowContainer.classList.add('xterm-rows');\n this.element.appendChild(this.rowContainer);\n this.children = [];\n this.linkifier.attachToDom(document, this.children);\n this.helperContainer = document.createElement('div');\n this.helperContainer.classList.add('xterm-helpers');\n this.element.appendChild(this.helperContainer);\n this.textarea = document.createElement('textarea');\n this.textarea.classList.add('xterm-helper-textarea');\n this.textarea.setAttribute('autocorrect', 'off');\n this.textarea.setAttribute('autocapitalize', 'off');\n this.textarea.setAttribute('spellcheck', 'false');\n this.textarea.tabIndex = 0;\n this.textarea.addEventListener('focus', function () {\n self.emit('focus', { terminal: self });\n });\n this.textarea.addEventListener('blur', function () {\n self.emit('blur', { terminal: self });\n });\n this.helperContainer.appendChild(this.textarea);\n this.compositionView = document.createElement('div');\n this.compositionView.classList.add('composition-view');\n this.compositionHelper = new CompositionHelper_1.CompositionHelper(this.textarea, this.compositionView, this);\n this.helperContainer.appendChild(this.compositionView);\n this.charSizeStyleElement = document.createElement('style');\n this.helperContainer.appendChild(this.charSizeStyleElement);\n for (; i < this.rows; i++) {\n this.insertRow();\n }\n this.parent.appendChild(this.element);\n this.charMeasure = new CharMeasure_1.CharMeasure(document, this.helperContainer);\n this.charMeasure.on('charsizechanged', function () {\n self.updateCharSizeStyles();\n });\n this.charMeasure.measure();\n this.viewport = new Viewport_1.Viewport(this, this.viewportElement, this.viewportScrollArea, this.charMeasure);\n this.renderer = new Renderer_1.Renderer(this);\n this.selectionManager = new SelectionManager_1.SelectionManager(this, this.lines, this.rowContainer, this.charMeasure);\n this.selectionManager.on('refresh', function (data) {\n _this.renderer.refreshSelection(data.start, data.end);\n });\n this.selectionManager.on('newselection', function (text) {\n _this.textarea.value = text;\n _this.textarea.focus();\n _this.textarea.select();\n });\n this.on('scroll', function () { return _this.selectionManager.refresh(); });\n this.viewportElement.addEventListener('scroll', function () { return _this.selectionManager.refresh(); });\n this.refresh(0, this.rows - 1);\n this.initGlobal();\n if (typeof focus == 'undefined') {\n var message = 'You did not pass the `focus` argument in `Terminal.prototype.open()`.\\n';\n message += 'The `focus` argument now defaults to `true` but starting with xterm.js 3.0 ';\n message += 'it will default to `false`.';\n console.warn(message);\n focus = true;\n }\n if (focus) {\n this.focus();\n }\n on(this.element, 'click', function () {\n var selection = document.getSelection(), collapsed = selection.isCollapsed, isRange = typeof collapsed == 'boolean' ? !collapsed : selection.type == 'Range';\n if (!isRange) {\n self.focus();\n }\n });\n this.bindMouse();\n this.emit('open');\n};\nTerminal.loadAddon = function (addon, callback) {\n if (typeof exports === 'object' && typeof module === 'object') {\n return require('./addons/' + addon + '/' + addon);\n }\n else if (typeof define == 'function') {\n return require(['./addons/' + addon + '/' + addon], callback);\n }\n else {\n console.error('Cannot load a module without a CommonJS or RequireJS environment.');\n return false;\n }\n};\nTerminal.prototype.updateCharSizeStyles = function () {\n this.charSizeStyleElement.textContent =\n \".xterm-wide-char{width:\" + this.charMeasure.width * 2 + \"px;}\" +\n (\".xterm-normal-char{width:\" + this.charMeasure.width + \"px;}\") +\n (\".xterm-rows > div{height:\" + this.charMeasure.height + \"px;}\");\n};\nTerminal.prototype.bindMouse = function () {\n var el = this.element, self = this, pressed = 32;\n function sendButton(ev) {\n var button, pos;\n button = getButton(ev);\n pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows);\n if (!pos)\n return;\n sendEvent(button, pos);\n switch (ev.overrideType || ev.type) {\n case 'mousedown':\n pressed = button;\n break;\n case 'mouseup':\n pressed = 32;\n break;\n case 'wheel':\n break;\n }\n }\n function sendMove(ev) {\n var button = pressed, pos;\n pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows);\n if (!pos)\n return;\n button += 32;\n sendEvent(button, pos);\n }\n function encode(data, ch) {\n if (!self.utfMouse) {\n if (ch === 255)\n return data.push(0);\n if (ch > 127)\n ch = 127;\n data.push(ch);\n }\n else {\n if (ch === 2047)\n return data.push(0);\n if (ch < 127) {\n data.push(ch);\n }\n else {\n if (ch > 2047)\n ch = 2047;\n data.push(0xC0 | (ch >> 6));\n data.push(0x80 | (ch & 0x3F));\n }\n }\n }\n function sendEvent(button, pos) {\n if (self.vt300Mouse) {\n button &= 3;\n pos.x -= 32;\n pos.y -= 32;\n var data = EscapeSequences_1.C0.ESC + '[24';\n if (button === 0)\n data += '1';\n else if (button === 1)\n data += '3';\n else if (button === 2)\n data += '5';\n else if (button === 3)\n return;\n else\n data += '0';\n data += '~[' + pos.x + ',' + pos.y + ']\\r';\n self.send(data);\n return;\n }\n if (self.decLocator) {\n button &= 3;\n pos.x -= 32;\n pos.y -= 32;\n if (button === 0)\n button = 2;\n else if (button === 1)\n button = 4;\n else if (button === 2)\n button = 6;\n else if (button === 3)\n button = 3;\n self.send(EscapeSequences_1.C0.ESC + '['\n + button\n + ';'\n + (button === 3 ? 4 : 0)\n + ';'\n + pos.y\n + ';'\n + pos.x\n + ';'\n + (pos.page || 0)\n + '&w');\n return;\n }\n if (self.urxvtMouse) {\n pos.x -= 32;\n pos.y -= 32;\n pos.x++;\n pos.y++;\n self.send(EscapeSequences_1.C0.ESC + '[' + button + ';' + pos.x + ';' + pos.y + 'M');\n return;\n }\n if (self.sgrMouse) {\n pos.x -= 32;\n pos.y -= 32;\n self.send(EscapeSequences_1.C0.ESC + '[<'\n + (((button & 3) === 3 ? button & ~3 : button) - 32)\n + ';'\n + pos.x\n + ';'\n + pos.y\n + ((button & 3) === 3 ? 'm' : 'M'));\n return;\n }\n var data = [];\n encode(data, button);\n encode(data, pos.x);\n encode(data, pos.y);\n self.send(EscapeSequences_1.C0.ESC + '[M' + String.fromCharCode.apply(String, data));\n }\n function getButton(ev) {\n var button, shift, meta, ctrl, mod;\n switch (ev.overrideType || ev.type) {\n case 'mousedown':\n button = ev.button != null\n ? +ev.button\n : ev.which != null\n ? ev.which - 1\n : null;\n if (self.browser.isMSIE) {\n button = button === 1 ? 0 : button === 4 ? 1 : button;\n }\n break;\n case 'mouseup':\n button = 3;\n break;\n case 'DOMMouseScroll':\n button = ev.detail < 0\n ? 64\n : 65;\n break;\n case 'wheel':\n button = ev.wheelDeltaY > 0\n ? 64\n : 65;\n break;\n }\n shift = ev.shiftKey ? 4 : 0;\n meta = ev.metaKey ? 8 : 0;\n ctrl = ev.ctrlKey ? 16 : 0;\n mod = shift | meta | ctrl;\n if (self.vt200Mouse) {\n mod &= ctrl;\n }\n else if (!self.normalMouse) {\n mod = 0;\n }\n button = (32 + (mod << 2)) + button;\n return button;\n }\n on(el, 'mousedown', function (ev) {\n if (!self.mouseEvents)\n return;\n sendButton(ev);\n self.focus();\n if (self.vt200Mouse) {\n ev.overrideType = 'mouseup';\n sendButton(ev);\n return self.cancel(ev);\n }\n if (self.normalMouse)\n on(self.document, 'mousemove', sendMove);\n if (!self.x10Mouse) {\n on(self.document, 'mouseup', function up(ev) {\n sendButton(ev);\n if (self.normalMouse)\n off(self.document, 'mousemove', sendMove);\n off(self.document, 'mouseup', up);\n return self.cancel(ev);\n });\n }\n return self.cancel(ev);\n });\n on(el, 'wheel', function (ev) {\n if (!self.mouseEvents)\n return;\n if (self.x10Mouse\n || self.vt300Mouse\n || self.decLocator)\n return;\n sendButton(ev);\n return self.cancel(ev);\n });\n on(el, 'wheel', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onWheel(ev);\n return self.cancel(ev);\n });\n on(el, 'touchstart', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onTouchStart(ev);\n return self.cancel(ev);\n });\n on(el, 'touchmove', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onTouchMove(ev);\n return self.cancel(ev);\n });\n};\nTerminal.prototype.destroy = function () {\n this.readable = false;\n this.writable = false;\n this._events = {};\n this.handler = function () { };\n this.write = function () { };\n if (this.element && this.element.parentNode) {\n this.element.parentNode.removeChild(this.element);\n }\n};\nTerminal.prototype.refresh = function (start, end) {\n if (this.renderer) {\n this.renderer.queueRefresh(start, end);\n }\n};\nTerminal.prototype.queueLinkification = function (start, end) {\n if (this.linkifier) {\n for (var i = start; i <= end; i++) {\n this.linkifier.linkifyRow(i);\n }\n }\n};\nTerminal.prototype.showCursor = function () {\n if (!this.cursorState) {\n this.cursorState = 1;\n this.refresh(this.y, this.y);\n }\n};\nTerminal.prototype.scroll = function (isWrapped) {\n var row;\n if (this.lines.length === this.lines.maxLength) {\n this.lines.trimStart(1);\n this.ybase--;\n if (this.ydisp !== 0) {\n this.ydisp--;\n }\n }\n this.ybase++;\n if (!this.userScrolling) {\n this.ydisp = this.ybase;\n }\n row = this.ybase + this.rows - 1;\n row -= this.rows - 1 - this.scrollBottom;\n if (row === this.lines.length) {\n this.lines.push(this.blankLine(undefined, isWrapped));\n }\n else {\n this.lines.splice(row, 0, this.blankLine(undefined, isWrapped));\n }\n if (this.scrollTop !== 0) {\n if (this.ybase !== 0) {\n this.ybase--;\n if (!this.userScrolling) {\n this.ydisp = this.ybase;\n }\n }\n this.lines.splice(this.ybase + this.scrollTop, 1);\n }\n this.updateRange(this.scrollTop);\n this.updateRange(this.scrollBottom);\n this.emit('scroll', this.ydisp);\n};\nTerminal.prototype.scrollDisp = function (disp, suppressScrollEvent) {\n if (disp < 0) {\n if (this.ydisp === 0) {\n return;\n }\n this.userScrolling = true;\n }\n else if (disp + this.ydisp >= this.ybase) {\n this.userScrolling = false;\n }\n this.ydisp += disp;\n if (this.ydisp > this.ybase) {\n this.ydisp = this.ybase;\n }\n else if (this.ydisp < 0) {\n this.ydisp = 0;\n }\n if (!suppressScrollEvent) {\n this.emit('scroll', this.ydisp);\n }\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.scrollPages = function (pageCount) {\n this.scrollDisp(pageCount * (this.rows - 1));\n};\nTerminal.prototype.scrollToTop = function () {\n this.scrollDisp(-this.ydisp);\n};\nTerminal.prototype.scrollToBottom = function () {\n this.scrollDisp(this.ybase - this.ydisp);\n};\nTerminal.prototype.write = function (data) {\n this.writeBuffer.push(data);\n if (this.options.useFlowControl && !this.xoffSentToCatchUp && this.writeBuffer.length >= WRITE_BUFFER_PAUSE_THRESHOLD) {\n this.send(EscapeSequences_1.C0.DC3);\n this.xoffSentToCatchUp = true;\n }\n if (!this.writeInProgress && this.writeBuffer.length > 0) {\n this.writeInProgress = true;\n var self = this;\n setTimeout(function () {\n self.innerWrite();\n });\n }\n};\nTerminal.prototype.innerWrite = function () {\n var writeBatch = this.writeBuffer.splice(0, WRITE_BATCH_SIZE);\n while (writeBatch.length > 0) {\n var data = writeBatch.shift();\n var l = data.length, i = 0, j, cs, ch, code, low, ch_width, row;\n if (this.xoffSentToCatchUp && writeBatch.length === 0 && this.writeBuffer.length === 0) {\n this.send(EscapeSequences_1.C0.DC1);\n this.xoffSentToCatchUp = false;\n }\n this.refreshStart = this.y;\n this.refreshEnd = this.y;\n var state = this.parser.parse(data);\n this.parser.setState(state);\n this.updateRange(this.y);\n this.refresh(this.refreshStart, this.refreshEnd);\n }\n if (this.writeBuffer.length > 0) {\n var self = this;\n setTimeout(function () {\n self.innerWrite();\n }, 0);\n }\n else {\n this.writeInProgress = false;\n }\n};\nTerminal.prototype.writeln = function (data) {\n this.write(data + '\\r\\n');\n};\nTerminal.prototype.attachCustomKeydownHandler = function (customKeydownHandler) {\n var message = 'attachCustomKeydownHandler() is DEPRECATED and will be removed soon. Please use attachCustomKeyEventHandler() instead.';\n console.warn(message);\n this.attachCustomKeyEventHandler(customKeydownHandler);\n};\nTerminal.prototype.attachCustomKeyEventHandler = function (customKeyEventHandler) {\n this.customKeyEventHandler = customKeyEventHandler;\n};\nTerminal.prototype.setHypertextLinkHandler = function (handler) {\n if (!this.linkifier) {\n throw new Error('Cannot attach a hypertext link handler before Terminal.open is called');\n }\n this.linkifier.setHypertextLinkHandler(handler);\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.setHypertextValidationCallback = function (callback) {\n if (!this.linkifier) {\n throw new Error('Cannot attach a hypertext validation callback before Terminal.open is called');\n }\n this.linkifier.setHypertextValidationCallback(callback);\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.registerLinkMatcher = function (regex, handler, options) {\n if (this.linkifier) {\n var matcherId = this.linkifier.registerLinkMatcher(regex, handler, options);\n this.refresh(0, this.rows - 1);\n return matcherId;\n }\n};\nTerminal.prototype.deregisterLinkMatcher = function (matcherId) {\n if (this.linkifier) {\n if (this.linkifier.deregisterLinkMatcher(matcherId)) {\n this.refresh(0, this.rows - 1);\n }\n }\n};\nTerminal.prototype.hasSelection = function () {\n return this.selectionManager.hasSelection;\n};\nTerminal.prototype.getSelection = function () {\n return this.selectionManager.selectionText;\n};\nTerminal.prototype.clearSelection = function () {\n this.selectionManager.clearSelection();\n};\nTerminal.prototype.selectAll = function () {\n this.selectionManager.selectAll();\n};\nTerminal.prototype.keyDown = function (ev) {\n if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) {\n return false;\n }\n this.restartCursorBlinking();\n if (!this.compositionHelper.keydown.bind(this.compositionHelper)(ev)) {\n if (this.ybase !== this.ydisp) {\n this.scrollToBottom();\n }\n return false;\n }\n var self = this;\n var result = this.evaluateKeyEscapeSequence(ev);\n if (result.key === EscapeSequences_1.C0.DC3) {\n this.writeStopped = true;\n }\n else if (result.key === EscapeSequences_1.C0.DC1) {\n this.writeStopped = false;\n }\n if (result.scrollDisp) {\n this.scrollDisp(result.scrollDisp);\n return this.cancel(ev, true);\n }\n if (isThirdLevelShift(this, ev)) {\n return true;\n }\n if (result.cancel) {\n this.cancel(ev, true);\n }\n if (!result.key) {\n return true;\n }\n this.emit('keydown', ev);\n this.emit('key', result.key, ev);\n this.showCursor();\n this.handler(result.key);\n return this.cancel(ev, true);\n};\nTerminal.prototype.evaluateKeyEscapeSequence = function (ev) {\n var result = {\n cancel: false,\n key: undefined,\n scrollDisp: undefined\n };\n var modifiers = ev.shiftKey << 0 | ev.altKey << 1 | ev.ctrlKey << 2 | ev.metaKey << 3;\n switch (ev.keyCode) {\n case 8:\n if (ev.shiftKey) {\n result.key = EscapeSequences_1.C0.BS;\n break;\n }\n result.key = EscapeSequences_1.C0.DEL;\n break;\n case 9:\n if (ev.shiftKey) {\n result.key = EscapeSequences_1.C0.ESC + '[Z';\n break;\n }\n result.key = EscapeSequences_1.C0.HT;\n result.cancel = true;\n break;\n case 13:\n result.key = EscapeSequences_1.C0.CR;\n result.cancel = true;\n break;\n case 27:\n result.key = EscapeSequences_1.C0.ESC;\n result.cancel = true;\n break;\n case 37:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'D';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3D') {\n result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'b' : EscapeSequences_1.C0.ESC + '[1;5D';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OD';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[D';\n }\n break;\n case 39:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'C';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3C') {\n result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'f' : EscapeSequences_1.C0.ESC + '[1;5C';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OC';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[C';\n }\n break;\n case 38:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'A';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3A') {\n result.key = EscapeSequences_1.C0.ESC + '[1;5A';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OA';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[A';\n }\n break;\n case 40:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'B';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3B') {\n result.key = EscapeSequences_1.C0.ESC + '[1;5B';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OB';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[B';\n }\n break;\n case 45:\n if (!ev.shiftKey && !ev.ctrlKey) {\n result.key = EscapeSequences_1.C0.ESC + '[2~';\n }\n break;\n case 46:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[3;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[3~';\n }\n break;\n case 36:\n if (modifiers)\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'H';\n else if (this.applicationCursor)\n result.key = EscapeSequences_1.C0.ESC + 'OH';\n else\n result.key = EscapeSequences_1.C0.ESC + '[H';\n break;\n case 35:\n if (modifiers)\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'F';\n else if (this.applicationCursor)\n result.key = EscapeSequences_1.C0.ESC + 'OF';\n else\n result.key = EscapeSequences_1.C0.ESC + '[F';\n break;\n case 33:\n if (ev.shiftKey) {\n result.scrollDisp = -(this.rows - 1);\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[5~';\n }\n break;\n case 34:\n if (ev.shiftKey) {\n result.scrollDisp = this.rows - 1;\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[6~';\n }\n break;\n case 112:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'P';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OP';\n }\n break;\n case 113:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'Q';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OQ';\n }\n break;\n case 114:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'R';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OR';\n }\n break;\n case 115:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'S';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OS';\n }\n break;\n case 116:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[15;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[15~';\n }\n break;\n case 117:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[17;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[17~';\n }\n break;\n case 118:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[18;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[18~';\n }\n break;\n case 119:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[19;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[19~';\n }\n break;\n case 120:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[20;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[20~';\n }\n break;\n case 121:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[21;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[21~';\n }\n break;\n case 122:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[23;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[23~';\n }\n break;\n case 123:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[24;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[24~';\n }\n break;\n default:\n if (ev.ctrlKey && !ev.shiftKey && !ev.altKey && !ev.metaKey) {\n if (ev.keyCode >= 65 && ev.keyCode <= 90) {\n result.key = String.fromCharCode(ev.keyCode - 64);\n }\n else if (ev.keyCode === 32) {\n result.key = String.fromCharCode(0);\n }\n else if (ev.keyCode >= 51 && ev.keyCode <= 55) {\n result.key = String.fromCharCode(ev.keyCode - 51 + 27);\n }\n else if (ev.keyCode === 56) {\n result.key = String.fromCharCode(127);\n }\n else if (ev.keyCode === 219) {\n result.key = String.fromCharCode(27);\n }\n else if (ev.keyCode === 220) {\n result.key = String.fromCharCode(28);\n }\n else if (ev.keyCode === 221) {\n result.key = String.fromCharCode(29);\n }\n }\n else if (!this.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) {\n if (ev.keyCode >= 65 && ev.keyCode <= 90) {\n result.key = EscapeSequences_1.C0.ESC + String.fromCharCode(ev.keyCode + 32);\n }\n else if (ev.keyCode === 192) {\n result.key = EscapeSequences_1.C0.ESC + '`';\n }\n else if (ev.keyCode >= 48 && ev.keyCode <= 57) {\n result.key = EscapeSequences_1.C0.ESC + (ev.keyCode - 48);\n }\n }\n else if (this.browser.isMac && !ev.altKey && !ev.ctrlKey && ev.metaKey) {\n if (ev.keyCode === 65) {\n this.selectAll();\n }\n }\n break;\n }\n return result;\n};\nTerminal.prototype.setgLevel = function (g) {\n this.glevel = g;\n this.charset = this.charsets[g];\n};\nTerminal.prototype.setgCharset = function (g, charset) {\n this.charsets[g] = charset;\n if (this.glevel === g) {\n this.charset = charset;\n }\n};\nTerminal.prototype.keyPress = function (ev) {\n var key;\n if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) {\n return false;\n }\n this.cancel(ev);\n if (ev.charCode) {\n key = ev.charCode;\n }\n else if (ev.which == null) {\n key = ev.keyCode;\n }\n else if (ev.which !== 0 && ev.charCode !== 0) {\n key = ev.which;\n }\n else {\n return false;\n }\n if (!key || ((ev.altKey || ev.ctrlKey || ev.metaKey) && !isThirdLevelShift(this, ev))) {\n return false;\n }\n key = String.fromCharCode(key);\n this.emit('keypress', key, ev);\n this.emit('key', key, ev);\n this.showCursor();\n this.handler(key);\n return true;\n};\nTerminal.prototype.send = function (data) {\n var self = this;\n if (!this.queue) {\n setTimeout(function () {\n self.handler(self.queue);\n self.queue = '';\n }, 1);\n }\n this.queue += data;\n};\nTerminal.prototype.bell = function () {\n if (!this.visualBell)\n return;\n var self = this;\n this.element.style.borderColor = 'white';\n setTimeout(function () {\n self.element.style.borderColor = '';\n }, 10);\n if (this.popOnBell)\n this.focus();\n};\nTerminal.prototype.log = function () {\n if (!this.debug)\n return;\n if (!this.context.console || !this.context.console.log)\n return;\n var args = Array.prototype.slice.call(arguments);\n this.context.console.log.apply(this.context.console, args);\n};\nTerminal.prototype.error = function () {\n if (!this.debug)\n return;\n if (!this.context.console || !this.context.console.error)\n return;\n var args = Array.prototype.slice.call(arguments);\n this.context.console.error.apply(this.context.console, args);\n};\nTerminal.prototype.resize = function (x, y) {\n if (isNaN(x) || isNaN(y)) {\n return;\n }\n if (y > this.getOption('scrollback')) {\n this.setOption('scrollback', y);\n }\n var line, el, i, j, ch, addToY;\n if (x === this.cols && y === this.rows) {\n return;\n }\n if (x < 1)\n x = 1;\n if (y < 1)\n y = 1;\n j = this.cols;\n if (j < x) {\n ch = [this.defAttr, ' ', 1];\n i = this.lines.length;\n while (i--) {\n while (this.lines.get(i).length < x) {\n this.lines.get(i).push(ch);\n }\n }\n }\n this.cols = x;\n this.setupStops(this.cols);\n j = this.rows;\n addToY = 0;\n if (j < y) {\n el = this.element;\n while (j++ < y) {\n if (this.lines.length < y + this.ybase) {\n if (this.ybase > 0 && this.lines.length <= this.ybase + this.y + addToY + 1) {\n this.ybase--;\n addToY++;\n if (this.ydisp > 0) {\n this.ydisp--;\n }\n }\n else {\n this.lines.push(this.blankLine());\n }\n }\n if (this.children.length < y) {\n this.insertRow();\n }\n }\n }\n else {\n while (j-- > y) {\n if (this.lines.length > y + this.ybase) {\n if (this.lines.length > this.ybase + this.y + 1) {\n this.lines.pop();\n }\n else {\n this.ybase++;\n this.ydisp++;\n }\n }\n if (this.children.length > y) {\n el = this.children.shift();\n if (!el)\n continue;\n el.parentNode.removeChild(el);\n }\n }\n }\n this.rows = y;\n if (this.y >= y) {\n this.y = y - 1;\n }\n if (addToY) {\n this.y += addToY;\n }\n if (this.x >= x) {\n this.x = x - 1;\n }\n this.scrollTop = 0;\n this.scrollBottom = y - 1;\n this.charMeasure.measure();\n this.refresh(0, this.rows - 1);\n this.normal = null;\n this.geometry = [this.cols, this.rows];\n this.emit('resize', { terminal: this, cols: x, rows: y });\n};\nTerminal.prototype.updateRange = function (y) {\n if (y < this.refreshStart)\n this.refreshStart = y;\n if (y > this.refreshEnd)\n this.refreshEnd = y;\n};\nTerminal.prototype.maxRange = function () {\n this.refreshStart = 0;\n this.refreshEnd = this.rows - 1;\n};\nTerminal.prototype.setupStops = function (i) {\n if (i != null) {\n if (!this.tabs[i]) {\n i = this.prevStop(i);\n }\n }\n else {\n this.tabs = {};\n i = 0;\n }\n for (; i < this.cols; i += this.getOption('tabStopWidth')) {\n this.tabs[i] = true;\n }\n};\nTerminal.prototype.prevStop = function (x) {\n if (x == null)\n x = this.x;\n while (!this.tabs[--x] && x > 0)\n ;\n return x >= this.cols\n ? this.cols - 1\n : x < 0 ? 0 : x;\n};\nTerminal.prototype.nextStop = function (x) {\n if (x == null)\n x = this.x;\n while (!this.tabs[++x] && x < this.cols)\n ;\n return x >= this.cols\n ? this.cols - 1\n : x < 0 ? 0 : x;\n};\nTerminal.prototype.eraseRight = function (x, y) {\n var line = this.lines.get(this.ybase + y);\n if (!line) {\n return;\n }\n var ch = [this.eraseAttr(), ' ', 1];\n for (; x < this.cols; x++) {\n line[x] = ch;\n }\n this.updateRange(y);\n};\nTerminal.prototype.eraseLeft = function (x, y) {\n var line = this.lines.get(this.ybase + y);\n if (!line) {\n return;\n }\n var ch = [this.eraseAttr(), ' ', 1];\n x++;\n while (x--) {\n line[x] = ch;\n }\n this.updateRange(y);\n};\nTerminal.prototype.clear = function () {\n if (this.ybase === 0 && this.y === 0) {\n return;\n }\n this.lines.set(0, this.lines.get(this.ybase + this.y));\n this.lines.length = 1;\n this.ydisp = 0;\n this.ybase = 0;\n this.y = 0;\n for (var i = 1; i < this.rows; i++) {\n this.lines.push(this.blankLine());\n }\n this.refresh(0, this.rows - 1);\n this.emit('scroll', this.ydisp);\n};\nTerminal.prototype.eraseLine = function (y) {\n this.eraseRight(0, y);\n};\nTerminal.prototype.blankLine = function (cur, isWrapped) {\n var attr = cur\n ? this.eraseAttr()\n : this.defAttr;\n var ch = [attr, ' ', 1], line = [], i = 0;\n if (isWrapped) {\n line.isWrapped = isWrapped;\n }\n for (; i < this.cols; i++) {\n line[i] = ch;\n }\n return line;\n};\nTerminal.prototype.ch = function (cur) {\n return cur\n ? [this.eraseAttr(), ' ', 1]\n : [this.defAttr, ' ', 1];\n};\nTerminal.prototype.is = function (term) {\n var name = this.termName;\n return (name + '').indexOf(term) === 0;\n};\nTerminal.prototype.handler = function (data) {\n if (this.options.disableStdin) {\n return;\n }\n if (this.ybase !== this.ydisp) {\n this.scrollToBottom();\n }\n this.emit('data', data);\n};\nTerminal.prototype.handleTitle = function (title) {\n this.emit('title', title);\n};\nTerminal.prototype.index = function () {\n this.y++;\n if (this.y > this.scrollBottom) {\n this.y--;\n this.scroll();\n }\n if (this.x >= this.cols) {\n this.x--;\n }\n};\nTerminal.prototype.reverseIndex = function () {\n var j;\n if (this.y === this.scrollTop) {\n this.lines.shiftElements(this.y + this.ybase, this.rows - 1, 1);\n this.lines.set(this.y + this.ybase, this.blankLine(true));\n this.updateRange(this.scrollTop);\n this.updateRange(this.scrollBottom);\n }\n else {\n this.y--;\n }\n};\nTerminal.prototype.reset = function () {\n this.options.rows = this.rows;\n this.options.cols = this.cols;\n var customKeyEventHandler = this.customKeyEventHandler;\n var cursorBlinkInterval = this.cursorBlinkInterval;\n Terminal.call(this, this.options);\n this.customKeyEventHandler = customKeyEventHandler;\n this.cursorBlinkInterval = cursorBlinkInterval;\n this.refresh(0, this.rows - 1);\n this.viewport.syncScrollArea();\n};\nTerminal.prototype.tabSet = function () {\n this.tabs[this.x] = true;\n};\nfunction on(el, type, handler, capture) {\n if (!Array.isArray(el)) {\n el = [el];\n }\n el.forEach(function (element) {\n element.addEventListener(type, handler, capture || false);\n });\n}\nfunction off(el, type, handler, capture) {\n el.removeEventListener(type, handler, capture || false);\n}\nfunction cancel(ev, force) {\n if (!this.cancelEvents && !force) {\n return;\n }\n ev.preventDefault();\n ev.stopPropagation();\n return false;\n}\nfunction inherits(child, parent) {\n function f() {\n this.constructor = child;\n }\n f.prototype = parent.prototype;\n child.prototype = new f;\n}\nfunction indexOf(obj, el) {\n var i = obj.length;\n while (i--) {\n if (obj[i] === el)\n return i;\n }\n return -1;\n}\nfunction isThirdLevelShift(term, ev) {\n var thirdLevelKey = (term.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) ||\n (term.browser.isMSWindows && ev.altKey && ev.ctrlKey && !ev.metaKey);\n if (ev.type == 'keypress') {\n return thirdLevelKey;\n }\n return thirdLevelKey && (!ev.keyCode || ev.keyCode > 47);\n}\nTerminal.prototype.matchColor = matchColor;\nfunction matchColor(r1, g1, b1) {\n var hash = (r1 << 16) | (g1 << 8) | b1;\n if (matchColor._cache[hash] != null) {\n return matchColor._cache[hash];\n }\n var ldiff = Infinity, li = -1, i = 0, c, r2, g2, b2, diff;\n for (; i < Terminal.vcolors.length; i++) {\n c = Terminal.vcolors[i];\n r2 = c[0];\n g2 = c[1];\n b2 = c[2];\n diff = matchColor.distance(r1, g1, b1, r2, g2, b2);\n if (diff === 0) {\n li = i;\n break;\n }\n if (diff < ldiff) {\n ldiff = diff;\n li = i;\n }\n }\n return matchColor._cache[hash] = li;\n}\nmatchColor._cache = {};\nmatchColor.distance = function (r1, g1, b1, r2, g2, b2) {\n return Math.pow(30 * (r1 - r2), 2)\n + Math.pow(59 * (g1 - g2), 2)\n + Math.pow(11 * (b1 - b2), 2);\n};\nfunction each(obj, iter, con) {\n if (obj.forEach)\n return obj.forEach(iter, con);\n for (var i = 0; i < obj.length; i++) {\n iter.call(con, obj[i], i, obj);\n }\n}\nfunction wasMondifierKeyOnlyEvent(ev) {\n return ev.keyCode === 16 ||\n ev.keyCode === 17 ||\n ev.keyCode === 18;\n}\nfunction keys(obj) {\n if (Object.keys)\n return Object.keys(obj);\n var key, keys = [];\n for (key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n keys.push(key);\n }\n }\n return keys;\n}\nTerminal.EventEmitter = EventEmitter_1.EventEmitter;\nTerminal.inherits = inherits;\nTerminal.on = on;\nTerminal.off = off;\nTerminal.cancel = cancel;\nmodule.exports = Terminal;\n\n//# sourceMappingURL=xterm.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/xterm.js\n// module id = 0\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n;\nvar EventEmitter = (function () {\n function EventEmitter() {\n this._events = this._events || {};\n }\n EventEmitter.prototype.on = function (type, listener) {\n this._events[type] = this._events[type] || [];\n this._events[type].push(listener);\n };\n EventEmitter.prototype.off = function (type, listener) {\n if (!this._events[type]) {\n return;\n }\n var obj = this._events[type];\n var i = obj.length;\n while (i--) {\n if (obj[i] === listener || obj[i].listener === listener) {\n obj.splice(i, 1);\n return;\n }\n }\n };\n EventEmitter.prototype.removeAllListeners = function (type) {\n if (this._events[type]) {\n delete this._events[type];\n }\n };\n EventEmitter.prototype.once = function (type, listener) {\n function on() {\n var args = Array.prototype.slice.call(arguments);\n this.off(type, on);\n return listener.apply(this, args);\n }\n on.listener = listener;\n return this.on(type, on);\n };\n EventEmitter.prototype.emit = function (type) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!this._events[type]) {\n return;\n }\n var obj = this._events[type];\n for (var i = 0; i < obj.length; i++) {\n obj[i].apply(this, args);\n }\n };\n EventEmitter.prototype.listeners = function (type) {\n return this._events[type] || [];\n };\n return EventEmitter;\n}());\nexports.EventEmitter = EventEmitter;\n\n//# sourceMappingURL=EventEmitter.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/EventEmitter.js\n// module id = 1\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar C0;\n(function (C0) {\n C0.NUL = '\\x00';\n C0.SOH = '\\x01';\n C0.STX = '\\x02';\n C0.ETX = '\\x03';\n C0.EOT = '\\x04';\n C0.ENQ = '\\x05';\n C0.ACK = '\\x06';\n C0.BEL = '\\x07';\n C0.BS = '\\x08';\n C0.HT = '\\x09';\n C0.LF = '\\x0a';\n C0.VT = '\\x0b';\n C0.FF = '\\x0c';\n C0.CR = '\\x0d';\n C0.SO = '\\x0e';\n C0.SI = '\\x0f';\n C0.DLE = '\\x10';\n C0.DC1 = '\\x11';\n C0.DC2 = '\\x12';\n C0.DC3 = '\\x13';\n C0.DC4 = '\\x14';\n C0.NAK = '\\x15';\n C0.SYN = '\\x16';\n C0.ETB = '\\x17';\n C0.CAN = '\\x18';\n C0.EM = '\\x19';\n C0.SUB = '\\x1a';\n C0.ESC = '\\x1b';\n C0.FS = '\\x1c';\n C0.GS = '\\x1d';\n C0.RS = '\\x1e';\n C0.US = '\\x1f';\n C0.SP = '\\x20';\n C0.DEL = '\\x7f';\n})(C0 = exports.C0 || (exports.C0 = {}));\n;\n\n//# sourceMappingURL=EscapeSequences.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/EscapeSequences.js\n// module id = 2\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CHARSETS = {};\nexports.DEFAULT_CHARSET = exports.CHARSETS['B'];\nexports.CHARSETS['0'] = {\n '`': '\\u25c6',\n 'a': '\\u2592',\n 'b': '\\u0009',\n 'c': '\\u000c',\n 'd': '\\u000d',\n 'e': '\\u000a',\n 'f': '\\u00b0',\n 'g': '\\u00b1',\n 'h': '\\u2424',\n 'i': '\\u000b',\n 'j': '\\u2518',\n 'k': '\\u2510',\n 'l': '\\u250c',\n 'm': '\\u2514',\n 'n': '\\u253c',\n 'o': '\\u23ba',\n 'p': '\\u23bb',\n 'q': '\\u2500',\n 'r': '\\u23bc',\n 's': '\\u23bd',\n 't': '\\u251c',\n 'u': '\\u2524',\n 'v': '\\u2534',\n 'w': '\\u252c',\n 'x': '\\u2502',\n 'y': '\\u2264',\n 'z': '\\u2265',\n '{': '\\u03c0',\n '|': '\\u2260',\n '}': '\\u00a3',\n '~': '\\u00b7'\n};\nexports.CHARSETS['A'] = {\n '#': '£'\n};\nexports.CHARSETS['B'] = null;\nexports.CHARSETS['4'] = {\n '#': '£',\n '@': '¾',\n '[': 'ij',\n '\\\\': '½',\n ']': '|',\n '{': '¨',\n '|': 'f',\n '}': '¼',\n '~': '´'\n};\nexports.CHARSETS['C'] =\n exports.CHARSETS['5'] = {\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Å',\n '^': 'Ü',\n '`': 'é',\n '{': 'ä',\n '|': 'ö',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['R'] = {\n '#': '£',\n '@': 'à',\n '[': '°',\n '\\\\': 'ç',\n ']': '§',\n '{': 'é',\n '|': 'ù',\n '}': 'è',\n '~': '¨'\n};\nexports.CHARSETS['Q'] = {\n '@': 'à',\n '[': 'â',\n '\\\\': 'ç',\n ']': 'ê',\n '^': 'î',\n '`': 'ô',\n '{': 'é',\n '|': 'ù',\n '}': 'è',\n '~': 'û'\n};\nexports.CHARSETS['K'] = {\n '@': '§',\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Ü',\n '{': 'ä',\n '|': 'ö',\n '}': 'ü',\n '~': 'ß'\n};\nexports.CHARSETS['Y'] = {\n '#': '£',\n '@': '§',\n '[': '°',\n '\\\\': 'ç',\n ']': 'é',\n '`': 'ù',\n '{': 'à',\n '|': 'ò',\n '}': 'è',\n '~': 'ì'\n};\nexports.CHARSETS['E'] =\n exports.CHARSETS['6'] = {\n '@': 'Ä',\n '[': 'Æ',\n '\\\\': 'Ø',\n ']': 'Å',\n '^': 'Ü',\n '`': 'ä',\n '{': 'æ',\n '|': 'ø',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['Z'] = {\n '#': '£',\n '@': '§',\n '[': '¡',\n '\\\\': 'Ñ',\n ']': '¿',\n '{': '°',\n '|': 'ñ',\n '}': 'ç'\n};\nexports.CHARSETS['H'] =\n exports.CHARSETS['7'] = {\n '@': 'É',\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Å',\n '^': 'Ü',\n '`': 'é',\n '{': 'ä',\n '|': 'ö',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['='] = {\n '#': 'ù',\n '@': 'à',\n '[': 'é',\n '\\\\': 'ç',\n ']': 'ê',\n '^': 'î',\n '_': 'è',\n '`': 'ô',\n '{': 'ä',\n '|': 'ö',\n '}': 'ü',\n '~': 'û'\n};\n\n//# sourceMappingURL=Charsets.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Charsets.js\n// module id = 3\n// module chunks = 0","/**\n * Implements the attach method, that attaches the terminal to a WebSocket stream.\n * @module xterm/addons/attach/attach\n * @license MIT\n */\n\n(function (attach) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = attach(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], attach);\n } else {\n /*\n * Plain browser environment\n */\n attach(window.Terminal);\n }\n})(function (Xterm) {\n 'use strict';\n\n var exports = {};\n\n /**\n * Attaches the given terminal to the given socket.\n *\n * @param {Xterm} term - The terminal to be attached to the given socket.\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n exports.attach = function (term, socket, bidirectional, buffered) {\n bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;\n term.socket = socket;\n\n term._flushBuffer = function () {\n term.write(term._attachSocketBuffer);\n term._attachSocketBuffer = null;\n clearTimeout(term._attachSocketBufferTimer);\n term._attachSocketBufferTimer = null;\n };\n\n term._pushToBuffer = function (data) {\n if (term._attachSocketBuffer) {\n term._attachSocketBuffer += data;\n } else {\n term._attachSocketBuffer = data;\n setTimeout(term._flushBuffer, 10);\n }\n };\n\n term._getMessage = function (ev) {\n if (buffered) {\n term._pushToBuffer(ev.data);\n } else {\n term.write(ev.data);\n }\n };\n\n term._sendData = function (data) {\n socket.send(data);\n };\n\n socket.addEventListener('message', term._getMessage);\n\n if (bidirectional) {\n term.on('data', term._sendData);\n }\n\n socket.addEventListener('close', term.detach.bind(term, socket));\n socket.addEventListener('error', term.detach.bind(term, socket));\n };\n\n /**\n * Detaches the given terminal from the given socket\n *\n * @param {Xterm} term - The terminal to be detached from the given socket.\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n exports.detach = function (term, socket) {\n term.off('data', term._sendData);\n\n socket = (typeof socket == 'undefined') ? term.socket : socket;\n\n if (socket) {\n socket.removeEventListener('message', term._getMessage);\n }\n\n delete term.socket;\n };\n\n /**\n * Attaches the current terminal to the given socket\n *\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n Xterm.prototype.attach = function (socket, bidirectional, buffered) {\n return exports.attach(this, socket, bidirectional, buffered);\n };\n\n /**\n * Detaches the current terminal from the given socket.\n *\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n Xterm.prototype.detach = function (socket) {\n return exports.detach(this, socket);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/attach/attach.js\n// module id = 4\n// module chunks = 0","/**\n * Fit terminal columns and rows to the dimensions of its DOM element.\n *\n * ## Approach\n * - Rows: Truncate the division of the terminal parent element height by the terminal row height.\n *\n * - Columns: Truncate the division of the terminal parent element width by the terminal character\n * width (apply display: inline at the terminal row and truncate its width with the current\n * number of columns).\n * @module xterm/addons/fit/fit\n * @license MIT\n */\n\n(function (fit) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = fit(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], fit);\n } else {\n /*\n * Plain browser environment\n */\n fit(window.Terminal);\n }\n})(function (Xterm) {\n var exports = {};\n\n exports.proposeGeometry = function (term) {\n if (!term.element.parentElement) {\n return null;\n }\n var parentElementStyle = window.getComputedStyle(term.element.parentElement),\n parentElementHeight = parseInt(parentElementStyle.getPropertyValue('height')),\n parentElementWidth = Math.max(0, parseInt(parentElementStyle.getPropertyValue('width')) - 17),\n elementStyle = window.getComputedStyle(term.element),\n elementPaddingVer = parseInt(elementStyle.getPropertyValue('padding-top')) + parseInt(elementStyle.getPropertyValue('padding-bottom')),\n elementPaddingHor = parseInt(elementStyle.getPropertyValue('padding-right')) + parseInt(elementStyle.getPropertyValue('padding-left')),\n availableHeight = parentElementHeight - elementPaddingVer,\n availableWidth = parentElementWidth - elementPaddingHor,\n container = term.rowContainer,\n subjectRow = term.rowContainer.firstElementChild,\n contentBuffer = subjectRow.innerHTML,\n characterHeight,\n rows,\n characterWidth,\n cols,\n geometry;\n\n subjectRow.style.display = 'inline';\n subjectRow.innerHTML = 'W'; // Common character for measuring width, although on monospace\n characterWidth = subjectRow.getBoundingClientRect().width;\n subjectRow.style.display = ''; // Revert style before calculating height, since they differ.\n characterHeight = subjectRow.getBoundingClientRect().height;\n subjectRow.innerHTML = contentBuffer;\n\n rows = parseInt(availableHeight / characterHeight);\n cols = parseInt(availableWidth / characterWidth);\n\n geometry = {cols: cols, rows: rows};\n return geometry;\n };\n\n exports.fit = function (term) {\n var geometry = exports.proposeGeometry(term);\n\n if (geometry) {\n term.resize(geometry.cols, geometry.rows);\n }\n };\n\n Xterm.prototype.proposeGeometry = function () {\n return exports.proposeGeometry(this);\n };\n\n Xterm.prototype.fit = function () {\n return exports.fit(this);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fit/fit.js\n// module id = 5\n// module chunks = 0","/**\n * Fullscreen addon for xterm.js\n * @module xterm/addons/fullscreen/fullscreen\n * @license MIT\n */\n(function (fullscreen) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = fullscreen(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], fullscreen);\n } else {\n /*\n * Plain browser environment\n */\n fullscreen(window.Terminal);\n }\n})(function (Xterm) {\n var exports = {};\n\n /**\n * Toggle the given terminal's fullscreen mode.\n * @param {Xterm} term - The terminal to toggle full screen mode\n * @param {boolean} fullscreen - Toggle fullscreen on (true) or off (false)\n */\n exports.toggleFullScreen = function (term, fullscreen) {\n var fn;\n\n if (typeof fullscreen == 'undefined') {\n fn = (term.element.classList.contains('fullscreen')) ? 'remove' : 'add';\n } else if (!fullscreen) {\n fn = 'remove';\n } else {\n fn = 'add';\n }\n\n term.element.classList[fn]('fullscreen');\n };\n\n Xterm.prototype.toggleFullscreen = function (fullscreen) {\n exports.toggleFullScreen(this, fullscreen);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fullscreen/fullscreen.js\n// module id = 6\n// module chunks = 0","/**\n * This module provides methods for attaching a terminal to a terminado WebSocket stream.\n *\n * @module xterm/addons/terminado/terminado\n * @license MIT\n */\n\n(function (attach) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = attach(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], attach);\n } else {\n /*\n * Plain browser environment\n */\n attach(window.Terminal);\n }\n})(function (Xterm) {\n 'use strict';\n\n var exports = {};\n\n /**\n * Attaches the given terminal to the given socket.\n *\n * @param {Xterm} term - The terminal to be attached to the given socket.\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n exports.terminadoAttach = function (term, socket, bidirectional, buffered) {\n bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;\n term.socket = socket;\n\n term._flushBuffer = function () {\n term.write(term._attachSocketBuffer);\n term._attachSocketBuffer = null;\n clearTimeout(term._attachSocketBufferTimer);\n term._attachSocketBufferTimer = null;\n };\n\n term._pushToBuffer = function (data) {\n if (term._attachSocketBuffer) {\n term._attachSocketBuffer += data;\n } else {\n term._attachSocketBuffer = data;\n setTimeout(term._flushBuffer, 10);\n }\n };\n\n term._getMessage = function (ev) {\n var data = JSON.parse(ev.data)\n if( data[0] == \"stdout\" ) {\n if (buffered) {\n term._pushToBuffer(data[1]);\n } else {\n term.write(data[1]);\n }\n }\n };\n\n term._sendData = function (data) {\n socket.send(JSON.stringify(['stdin', data]));\n };\n\n term._setSize = function (size) {\n socket.send(JSON.stringify(['set_size', size.rows, size.cols]));\n };\n\n socket.addEventListener('message', term._getMessage);\n\n if (bidirectional) {\n term.on('data', term._sendData);\n }\n term.on('resize', term._setSize);\n\n socket.addEventListener('close', term.terminadoDetach.bind(term, socket));\n socket.addEventListener('error', term.terminadoDetach.bind(term, socket));\n };\n\n /**\n * Detaches the given terminal from the given socket\n *\n * @param {Xterm} term - The terminal to be detached from the given socket.\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n exports.terminadoDetach = function (term, socket) {\n term.off('data', term._sendData);\n\n socket = (typeof socket == 'undefined') ? term.socket : socket;\n\n if (socket) {\n socket.removeEventListener('message', term._getMessage);\n }\n\n delete term.socket;\n };\n\n /**\n * Attaches the current terminal to the given socket\n *\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n Xterm.prototype.terminadoAttach = function (socket, bidirectional, buffered) {\n return exports.terminadoAttach(this, socket, bidirectional, buffered);\n };\n\n /**\n * Detaches the current terminal from the given socket.\n *\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n Xterm.prototype.terminadoDetach = function (socket) {\n return exports.terminadoDetach(this, socket);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/terminado/terminado.js\n// module id = 7\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Generic_1 = require(\"./Generic\");\nvar isNode = (typeof navigator === 'undefined') ? true : false;\nvar userAgent = (isNode) ? 'node' : navigator.userAgent;\nvar platform = (isNode) ? 'node' : navigator.platform;\nexports.isFirefox = !!~userAgent.indexOf('Firefox');\nexports.isMSIE = !!~userAgent.indexOf('MSIE') || !!~userAgent.indexOf('Trident');\nexports.isMac = Generic_1.contains(['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'], platform);\nexports.isIpad = platform === 'iPad';\nexports.isIphone = platform === 'iPhone';\nexports.isMSWindows = Generic_1.contains(['Windows', 'Win16', 'Win32', 'WinCE'], platform);\nexports.isLinux = platform.indexOf('Linux') >= 0;\n\n//# sourceMappingURL=Browser.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Browser.js\n// module id = 8\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction getCoordsRelativeToElement(event, element) {\n if (event.pageX == null) {\n return null;\n }\n var x = event.pageX;\n var y = event.pageY;\n while (element && element !== self.document.documentElement) {\n x -= element.offsetLeft;\n y -= element.offsetTop;\n element = 'offsetParent' in element ? element.offsetParent : element.parentElement;\n }\n return [x, y];\n}\nexports.getCoordsRelativeToElement = getCoordsRelativeToElement;\nfunction getCoords(event, rowContainer, charMeasure, colCount, rowCount, isSelection) {\n var coords = getCoordsRelativeToElement(event, rowContainer);\n coords[0] = Math.ceil((coords[0] + (isSelection ? charMeasure.width / 2 : 0)) / charMeasure.width);\n coords[1] = Math.ceil(coords[1] / charMeasure.height);\n coords[0] = Math.min(Math.max(coords[0], 1), colCount + 1);\n coords[1] = Math.min(Math.max(coords[1], 1), rowCount + 1);\n return coords;\n}\nexports.getCoords = getCoords;\nfunction getRawByteCoords(event, rowContainer, charMeasure, colCount, rowCount) {\n var coords = getCoords(event, rowContainer, charMeasure, colCount, rowCount);\n var x = coords[0];\n var y = coords[1];\n x += 32;\n y += 32;\n return { x: x, y: y };\n}\nexports.getRawByteCoords = getRawByteCoords;\n\n//# sourceMappingURL=Mouse.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Mouse.js\n// module id = 9\n// module chunks = 0","import * as bare from \"libapps\";\n\nexport class Hterm {\n elem: HTMLElement;\n\n term: bare.Terminal;\n io: bare.IO;\n\n columns: number;\n rows: number;\n\n // to \"show\" the current message when removeMessage() is called\n message: string;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n bare.hterm.defaultStorage = new bare.lib.Storage.Memory();\n this.term = new bare.hterm.Terminal();\n this.term.getPrefs().set(\"send-encoding\", \"raw\");\n this.term.decorate(this.elem);\n\n this.io = this.term.io.push();\n this.term.installKeyboard();\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.columns, rows: this.rows };\n };\n\n output(data: string) {\n if (this.term.io != null) {\n this.term.io.writeUTF16(data);\n }\n };\n\n showMessage(message: string, timeout: number) {\n this.message = message;\n if (timeout > 0) {\n this.term.io.showOverlay(message, timeout);\n } else {\n this.term.io.showOverlay(message, null);\n }\n };\n\n removeMessage(): void {\n // there is no hideOverlay(), so show the same message with 0 sec\n this.term.io.showOverlay(this.message, 0);\n }\n\n setWindowTitle(title: string) {\n this.term.setWindowTitle(title);\n };\n\n setPreferences(value: object) {\n Object.keys(value).forEach((key) => {\n this.term.getPrefs().set(key, value[key]);\n });\n };\n\n onInput(callback: (input: string) => void) {\n this.io.onVTKeystroke = (data) => {\n callback(data);\n };\n this.io.sendString = (data) => {\n callback(data);\n };\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.io.onTerminalResize = (columns: number, rows: number) => {\n this.columns = columns;\n this.rows = rows;\n callback(columns, rows);\n };\n };\n\n deactivate(): void {\n this.io.onVTKeystroke = null;\n this.io.sendString = null\n this.io.onTerminalResize = null;\n this.term.uninstallKeyboard();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.installKeyboard();\n }\n\n close(): void {\n this.term.uninstallKeyboard();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/hterm.ts","export class ConnectionFactory {\n url: string;\n protocols: string[];\n\n constructor(url: string, protocols: string[]) {\n this.url = url;\n this.protocols = protocols;\n };\n\n create(): Connection {\n return new Connection(this.url, this.protocols);\n };\n}\n\nexport class Connection {\n bare: WebSocket;\n\n\n constructor(url: string, protocols: string[]) {\n this.bare = new WebSocket(url, protocols);\n }\n\n open() {\n // nothing todo for websocket\n };\n\n close() {\n this.bare.close();\n };\n\n send(data: string) {\n this.bare.send(data);\n };\n\n isOpen(): boolean {\n if (this.bare.readyState == WebSocket.CONNECTING ||\n this.bare.readyState == WebSocket.OPEN) {\n return true\n }\n return false\n }\n\n onOpen(callback: () => void) {\n this.bare.onopen = (event) => {\n callback();\n }\n };\n\n onReceive(callback: (data: string) => void) {\n this.bare.onmessage = (event) => {\n callback(event.data);\n }\n };\n\n onClose(callback: () => void) {\n this.bare.onclose = (event) => {\n callback();\n };\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/websocket.ts","export const protocols = [\"webtty\"];\n\nexport const msgInputUnknown = '0';\nexport const msgInput = '1';\nexport const msgPing = '2';\nexport const msgResizeTerminal = '3';\n\nexport const msgUnknownOutput = '0';\nexport const msgOutput = '1';\nexport const msgPong = '2';\nexport const msgSetWindowTitle = '3';\nexport const msgSetPreferences = '4';\nexport const msgSetReconnect = '5';\n\n\nexport interface Terminal {\n info(): { columns: number, rows: number };\n output(data: string): void;\n showMessage(message: string, timeout: number): void;\n removeMessage(): void;\n setWindowTitle(title: string): void;\n setPreferences(value: object): void;\n onInput(callback: (input: string) => void): void;\n onResize(callback: (colmuns: number, rows: number) => void): void;\n reset(): void;\n deactivate(): void;\n close(): void;\n}\n\nexport interface Connection {\n open(): void;\n close(): void;\n send(data: string): void;\n isOpen(): boolean;\n onOpen(callback: () => void): void;\n onReceive(callback: (data: string) => void): void;\n onClose(callback: () => void): void;\n}\n\nexport interface ConnectionFactory {\n create(): Connection;\n}\n\n\nexport class WebTTY {\n term: Terminal;\n connectionFactory: ConnectionFactory;\n args: string;\n authToken: string;\n reconnect: number;\n\n constructor(term: Terminal, connectionFactory: ConnectionFactory, args: string, authToken: string) {\n this.term = term;\n this.connectionFactory = connectionFactory;\n this.args = args;\n this.authToken = authToken;\n this.reconnect = -1;\n };\n\n open() {\n let connection = this.connectionFactory.create();\n let pingTimer: number;\n let reconnectTimeout: number;\n\n const setup = () => {\n connection.onOpen(() => {\n const termInfo = this.term.info();\n\n connection.send(JSON.stringify(\n {\n Arguments: this.args,\n AuthToken: this.authToken,\n }\n ));\n\n\n const resizeHandler = (colmuns: number, rows: number) => {\n connection.send(\n msgResizeTerminal + JSON.stringify(\n {\n columns: colmuns,\n rows: rows\n }\n )\n );\n };\n\n this.term.onResize(resizeHandler);\n resizeHandler(termInfo.columns, termInfo.rows);\n\n this.term.onInput(\n (input: string) => {\n connection.send(msgInput + input);\n }\n );\n\n pingTimer = setInterval(() => {\n connection.send(msgPing)\n }, 30 * 1000);\n\n });\n\n connection.onReceive((data) => {\n const payload = data.slice(1);\n switch (data[0]) {\n case msgOutput:\n this.term.output(\n decodeURIComponent(Array.prototype.map.call(atob(payload), function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''))\n );\n break;\n case msgPong:\n break;\n case msgSetWindowTitle:\n this.term.setWindowTitle(payload);\n break;\n case msgSetPreferences:\n const preferences = JSON.parse(payload);\n this.term.setPreferences(preferences);\n break;\n case msgSetReconnect:\n const autoReconnect = JSON.parse(payload);\n console.log(\"Enabling reconnect: \" + autoReconnect + \" seconds\")\n this.reconnect = autoReconnect;\n break;\n }\n });\n\n connection.onClose(() => {\n clearInterval(pingTimer);\n this.term.deactivate();\n this.term.showMessage(\"Connection Closed\", 0);\n if (this.reconnect > 0) {\n reconnectTimeout = setTimeout(() => {\n connection = this.connectionFactory.create();\n this.term.reset();\n setup();\n }, this.reconnect * 1000);\n }\n });\n\n connection.open();\n }\n\n setup();\n return () => {\n clearTimeout(reconnectTimeout);\n connection.close();\n }\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/webtty.ts","import * as bare from \"xterm\";\n\nbare.loadAddon(\"fit\");\n\nexport class Xterm {\n elem: HTMLElement;\n\n message: HTMLElement;\n messageTimeout: number;\n messageTimer: number;\n\n term: bare;\n resizeListener: () => void;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n this.term = new bare();\n\n this.message = elem.ownerDocument.createElement(\"div\");\n this.message.className = \"xterm-overlay\";\n this.messageTimeout = 2000;\n\n\n this.resizeListener = () => {\n this.term.fit();\n this.term.scrollToBottom();\n this.showMessage(String(this.term.cols) + \"x\" + String(this.term.rows), this.messageTimeout);\n };\n\n this.term.on(\"open\", () => {\n this.resizeListener();\n window.addEventListener(\"resize\", () => { this.resizeListener(); });\n });\n\n this.term.open(elem, true);\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.term.cols, rows: this.term.rows };\n };\n\n output(data: string) {\n this.term.write(data);\n };\n\n showMessage(message: string, timeout: number) {\n this.message.textContent = message;\n this.elem.appendChild(this.message);\n\n if (this.messageTimer) {\n clearTimeout(this.messageTimer);\n }\n if (timeout > 0) {\n this.messageTimer = setTimeout(() => {\n this.elem.removeChild(this.message);\n }, timeout);\n }\n };\n\n removeMessage(): void {\n if (this.message.parentNode == this.elem) {\n this.elem.removeChild(this.message);\n }\n }\n\n setWindowTitle(title: string) {\n document.title = title;\n };\n\n setPreferences(value: object) {\n };\n\n onInput(callback: (input: string) => void) {\n this.term.on(\"data\", (data) => {\n callback(data);\n });\n\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.term.on(\"resize\", (data) => {\n callback(data.cols, data.rows);\n });\n };\n\n deactivate(): void {\n this.term.off(\"data\");\n this.term.off(\"resize\");\n this.term.blur();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.clear();\n }\n\n close(): void {\n window.removeEventListener(\"resize\", this.resizeListener);\n this.term.destroy();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/xterm.ts","// This file was generated by libdot/bin/concat.sh.\n// It has been marked read-only for your safety. Rather\n// than edit it directly, please modify one of these source\n// files...\n//\n// libdot/js/lib.js\n// libdot/js/lib_polyfill.js\n// libdot/js/lib_colors.js\n// libdot/js/lib_f.js\n// libdot/js/lib_message_manager.js\n// libdot/js/lib_preference_manager.js\n// libdot/js/lib_resource.js\n// libdot/js/lib_storage.js\n// libdot/js/lib_storage_chrome.js\n// libdot/js/lib_storage_local.js\n// libdot/js/lib_storage_memory.js\n// libdot/js/lib_test_manager.js\n// libdot/js/lib_utf8.js\n// libdot/third_party/wcwidth/lib_wc.js\n// hterm/js/hterm.js\n// hterm/js/hterm_frame.js\n// hterm/js/hterm_keyboard.js\n// hterm/js/hterm_keyboard_bindings.js\n// hterm/js/hterm_keyboard_keymap.js\n// hterm/js/hterm_keyboard_keypattern.js\n// hterm/js/hterm_options.js\n// hterm/js/hterm_parser.js\n// hterm/js/hterm_parser_identifiers.js\n// hterm/js/hterm_preference_manager.js\n// hterm/js/hterm_pubsub.js\n// hterm/js/hterm_screen.js\n// hterm/js/hterm_scrollport.js\n// hterm/js/hterm_terminal.js\n// hterm/js/hterm_terminal_io.js\n// hterm/js/hterm_text_attributes.js\n// hterm/js/hterm_vt.js\n// hterm/js/hterm_vt_character_map.js\n// hterm/js/hterm_export.js\n//\n\n// SOURCE FILE: libdot/js/lib.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nif (typeof lib != 'undefined')\n throw new Error('Global \"lib\" object already exists.');\n\nvar lib = {};\n\n/**\n * Map of \"dependency\" to [\"source\", ...].\n *\n * Each dependency is a object name, like \"lib.fs\", \"source\" is the url that\n * depends on the object.\n */\nlib.runtimeDependencies_ = {};\n\n/**\n * List of functions that need to be invoked during library initialization.\n *\n * Each element in the initCallbacks_ array is itself a two-element array.\n * Element 0 is a short string describing the owner of the init routine, useful\n * for debugging. Element 1 is the callback function.\n */\nlib.initCallbacks_ = [];\n\n/**\n * Records a runtime dependency.\n *\n * This can be useful when you want to express a run-time dependency at\n * compile time. It is not intended to be a full-fledged library system or\n * dependency tracker. It's just there to make it possible to debug the\n * deps without running all the code.\n *\n * Object names are specified as strings. For example...\n *\n * lib.rtdep('lib.colors', 'lib.PreferenceManager');\n *\n * Object names need not be rooted by 'lib'. You may use this to declare a\n * dependency on any object.\n *\n * The client program may call lib.ensureRuntimeDependencies() at startup in\n * order to ensure that all runtime dependencies have been met.\n *\n * @param {string} var_args One or more objects specified as strings.\n */\nlib.rtdep = function(var_args) {\n var source;\n\n try {\n throw new Error();\n } catch (ex) {\n var stackArray = ex.stack.split('\\n');\n // In Safari, the resulting stackArray will only have 2 elements and the\n // individual strings are formatted differently.\n if (stackArray.length >= 3) {\n source = stackArray[2].replace(/^\\s*at\\s+/, '');\n } else {\n source = stackArray[1].replace(/^\\s*global code@/, '');\n }\n }\n\n for (var i = 0; i < arguments.length; i++) {\n var path = arguments[i];\n if (path instanceof Array) {\n lib.rtdep.apply(lib, path);\n } else {\n var ary = this.runtimeDependencies_[path];\n if (!ary)\n ary = this.runtimeDependencies_[path] = [];\n ary.push(source);\n }\n }\n};\n\n/**\n * Ensures that all runtime dependencies are met, or an exception is thrown.\n *\n * Every unmet runtime dependency will be logged to the JS console. If at\n * least one dependency is unmet this will raise an exception.\n */\nlib.ensureRuntimeDependencies_ = function() {\n var passed = true;\n\n for (var path in lib.runtimeDependencies_) {\n var sourceList = lib.runtimeDependencies_[path];\n var names = path.split('.');\n\n // In a document context 'window' is the global object. In a worker it's\n // called 'self'.\n var obj = (window || self);\n for (var i = 0; i < names.length; i++) {\n if (!(names[i] in obj)) {\n console.warn('Missing \"' + path + '\" is needed by', sourceList);\n passed = false;\n break;\n }\n\n obj = obj[names[i]];\n }\n }\n\n if (!passed)\n throw new Error('Failed runtime dependency check');\n};\n\n/**\n * Register an initialization function.\n *\n * The initialization functions are invoked in registration order when\n * lib.init() is invoked. Each function will receive a single parameter, which\n * is a function to be invoked when it completes its part of the initialization.\n *\n * @param {string} name A short descriptive name of the init routine useful for\n * debugging.\n * @param {function(function)} callback The initialization function to register.\n * @return {function} The callback parameter.\n */\nlib.registerInit = function(name, callback) {\n lib.initCallbacks_.push([name, callback]);\n return callback;\n};\n\n/**\n * Initialize the library.\n *\n * This will ensure that all registered runtime dependencies are met, and\n * invoke any registered initialization functions.\n *\n * Initialization is asynchronous. The library is not ready for use until\n * the onInit function is invoked.\n *\n * @param {function()} onInit The function to invoke when initialization is\n * complete.\n * @param {function(*)} opt_logFunction An optional function to send\n * initialization related log messages to.\n */\nlib.init = function(onInit, opt_logFunction) {\n var ary = lib.initCallbacks_;\n\n var initNext = function() {\n if (ary.length) {\n var rec = ary.shift();\n if (opt_logFunction)\n opt_logFunction('init: ' + rec[0]);\n rec[1](lib.f.alarm(initNext));\n } else {\n onInit();\n }\n };\n\n if (typeof onInit != 'function')\n throw new Error('Missing or invalid argument: onInit');\n\n lib.ensureRuntimeDependencies_();\n\n setTimeout(initNext, 0);\n};\n// SOURCE FILE: libdot/js/lib_polyfill.js\n// Copyright 2017 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview Polyfills for ES2016+ features we want to use.\n */\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart\nif (!String.prototype.padStart) {\n String.prototype.padStart = function(targetLength, padString) {\n // If the string is already long enough, nothing to do!\n targetLength -= this.length;\n if (targetLength <= 0)\n return String(this);\n\n if (padString === undefined)\n padString = ' ';\n\n // In case the pad is multiple chars long.\n if (targetLength > padString.length)\n padString = padString.repeat((targetLength / padString.length) + 1);\n\n return padString.slice(0, targetLength) + String(this);\n };\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd\nif (!String.prototype.padEnd) {\n String.prototype.padEnd = function(targetLength, padString) {\n // If the string is already long enough, nothing to do!\n targetLength -= this.length;\n if (targetLength <= 0)\n return String(this);\n\n if (padString === undefined)\n padString = ' ';\n\n // In case the pad is multiple chars long.\n if (targetLength > padString.length)\n padString = padString.repeat((targetLength / padString.length) + 1);\n\n return String(this) + padString.slice(0, targetLength);\n };\n}\n// SOURCE FILE: libdot/js/lib_colors.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Namespace for color utilities.\n */\nlib.colors = {};\n\n/**\n * First, some canned regular expressions we're going to use in this file.\n *\n *\n * BRACE YOURSELF\n *\n * ,~~~~.\n * |>_< ~~\n * 3`---'-/.\n * 3:::::\\v\\\n * =o=:::::\\,\\\n * | :::::\\,,\\\n *\n * THE REGULAR EXPRESSIONS\n * ARE COMING.\n *\n * There's no way to break long RE literals in JavaScript. Fix that why don't\n * you? Oh, and also there's no way to write a string that doesn't interpret\n * escapes.\n *\n * Instead, we stoop to this .replace() trick.\n */\nlib.colors.re_ = {\n // CSS hex color, #RGB.\n hex16: /#([a-f0-9])([a-f0-9])([a-f0-9])/i,\n\n // CSS hex color, #RRGGBB.\n hex24: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/i,\n\n // CSS rgb color, rgb(rrr,ggg,bbb).\n rgb: new RegExp(\n ('^/s*rgb/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,' +\n '/s*(/d{1,3})/s*/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // CSS rgb color, rgb(rrr,ggg,bbb,aaa).\n rgba: new RegExp(\n ('^/s*rgba/s*' +\n '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' +\n '(?:,/s*(/d+(?:/./d+)?)/s*)/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // Either RGB or RGBA.\n rgbx: new RegExp(\n ('^/s*rgba?/s*' +\n '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' +\n '(?:,/s*(/d+(?:/./d+)?)/s*)?/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // An X11 \"rgb:dddd/dddd/dddd\" value.\n x11rgb: /^\\s*rgb:([a-f0-9]{1,4})\\/([a-f0-9]{1,4})\\/([a-f0-9]{1,4})\\s*$/i,\n\n // English color name.\n name: /[a-z][a-z0-9\\s]+/,\n};\n\n/**\n * Convert a CSS rgb(ddd,ddd,ddd) color value into an X11 color value.\n *\n * Other CSS color values are ignored to ensure sanitary data handling.\n *\n * Each 'ddd' component is a one byte value specified in decimal.\n *\n * @param {string} value The CSS color value to convert.\n * @return {string} The X11 color value or null if the value could not be\n * converted.\n */\nlib.colors.rgbToX11 = function(value) {\n function scale(v) {\n v = (Math.min(v, 255) * 257).toString(16);\n return lib.f.zpad(v, 4);\n }\n\n var ary = value.match(lib.colors.re_.rgbx);\n if (!ary)\n return null;\n\n return 'rgb:' + scale(ary[1]) + '/' + scale(ary[2]) + '/' + scale(ary[3]);\n};\n\n/**\n * Convert a legacy X11 colover value into an CSS rgb(...) color value.\n *\n * They take the form:\n * 12 bit: #RGB -> #R000G000B000\n * 24 bit: #RRGGBB -> #RR00GG00BB00\n * 36 bit: #RRRGGGBBB -> #RRR0GGG0BBB0\n * 48 bit: #RRRRGGGGBBBB\n * These are the most significant bits.\n *\n * Truncate values back down to 24 bit since that's all CSS supports.\n */\nlib.colors.x11HexToCSS = function(v) {\n if (!v.startsWith('#'))\n return null;\n // Strip the leading # off.\n v = v.substr(1);\n\n // Reject unknown sizes.\n if ([3, 6, 9, 12].indexOf(v.length) == -1)\n return null;\n\n // Reject non-hex values.\n if (v.match(/[^a-f0-9]/i))\n return null;\n\n // Split the colors out.\n var size = v.length / 3;\n var r = v.substr(0, size);\n var g = v.substr(size, size);\n var b = v.substr(size + size, size);\n\n // Normalize to 16 bits.\n function norm16(v) {\n v = parseInt(v, 16);\n return size == 2 ? v : // 16 bit\n size == 1 ? v << 4 : // 8 bit\n v >> (4 * (size - 2)); // 24 or 32 bit\n }\n return lib.colors.arrayToRGBA([r, g, b].map(norm16));\n};\n\n/**\n * Convert an X11 color value into an CSS rgb(...) color value.\n *\n * The X11 value may be an X11 color name, or an RGB value of the form\n * rgb:hhhh/hhhh/hhhh. If a component value is less than 4 digits it is\n * padded out to 4, then scaled down to fit in a single byte.\n *\n * @param {string} value The X11 color value to convert.\n * @return {string} The CSS color value or null if the value could not be\n * converted.\n */\nlib.colors.x11ToCSS = function(v) {\n function scale(v) {\n // Pad out values with less than four digits. This padding (probably)\n // matches xterm. It's difficult to say for sure since xterm seems to\n // arrive at a padded value and then perform some combination of\n // gamma correction, color space transformation, and quantization.\n\n if (v.length == 1) {\n // Single digits pad out to four by repeating the character. \"f\" becomes\n // \"ffff\". Scaling down a hex value of this pattern by 257 is the same\n // as cutting off one byte. We skip the middle step and just double\n // the character.\n return parseInt(v + v, 16);\n }\n\n if (v.length == 2) {\n // Similar deal here. X11 pads two digit values by repeating the\n // byte (or scale up by 257). Since we're going to scale it back\n // down anyway, we can just return the original value.\n return parseInt(v, 16);\n }\n\n if (v.length == 3) {\n // Three digit values seem to be padded by repeating the final digit.\n // e.g. 10f becomes 10ff.\n v = v + v.substr(2);\n }\n\n // Scale down the 2 byte value.\n return Math.round(parseInt(v, 16) / 257);\n }\n\n var ary = v.match(lib.colors.re_.x11rgb);\n if (!ary) {\n // Handle the legacy format.\n if (v.startsWith('#'))\n return lib.colors.x11HexToCSS(v);\n else\n return lib.colors.nameToRGB(v);\n }\n\n ary.splice(0, 1);\n return lib.colors.arrayToRGBA(ary.map(scale));\n};\n\n/**\n * Converts one or more CSS '#RRGGBB' color values into their rgb(...)\n * form.\n *\n * Arrays are converted in place. If a value cannot be converted, it is\n * replaced with null.\n *\n * @param {string|Array.} A single RGB value or array of RGB values to\n * convert.\n * @return {string|Array.} The converted value or values.\n */\nlib.colors.hexToRGB = function(arg) {\n var hex16 = lib.colors.re_.hex16;\n var hex24 = lib.colors.re_.hex24;\n\n function convert(hex) {\n if (hex.length == 4) {\n hex = hex.replace(hex16, function(h, r, g, b) {\n return \"#\" + r + r + g + g + b + b;\n });\n }\n var ary = hex.match(hex24);\n if (!ary)\n return null;\n\n return 'rgb(' + parseInt(ary[1], 16) + ', ' +\n parseInt(ary[2], 16) + ', ' +\n parseInt(ary[3], 16) + ')';\n }\n\n if (arg instanceof Array) {\n for (var i = 0; i < arg.length; i++) {\n arg[i] = convert(arg[i]);\n }\n } else {\n arg = convert(arg);\n }\n\n return arg;\n};\n\n/**\n * Converts one or more CSS rgb(...) forms into their '#RRGGBB' color values.\n *\n * If given an rgba(...) form, the alpha field is thrown away.\n *\n * Arrays are converted in place. If a value cannot be converted, it is\n * replaced with null.\n *\n * @param {string|Array.} A single rgb(...) value or array of rgb(...)\n * values to convert.\n * @return {string|Array.} The converted value or values.\n */\nlib.colors.rgbToHex = function(arg) {\n function convert(rgb) {\n var ary = lib.colors.crackRGB(rgb);\n if (!ary)\n return null;\n return '#' + lib.f.zpad(((parseInt(ary[0]) << 16) |\n (parseInt(ary[1]) << 8) |\n (parseInt(ary[2]) << 0)).toString(16), 6);\n }\n\n if (arg instanceof Array) {\n for (var i = 0; i < arg.length; i++) {\n arg[i] = convert(arg[i]);\n }\n } else {\n arg = convert(arg);\n }\n\n return arg;\n};\n\n/**\n * Take any valid css color definition and turn it into an rgb or rgba value.\n *\n * Returns null if the value could not be normalized.\n */\nlib.colors.normalizeCSS = function(def) {\n if (def.startsWith('#'))\n return lib.colors.hexToRGB(def);\n\n if (lib.colors.re_.rgbx.test(def))\n return def;\n\n return lib.colors.nameToRGB(def);\n};\n\n/**\n * Convert a 3 or 4 element array into an rgba(...) string.\n */\nlib.colors.arrayToRGBA = function(ary) {\n var alpha = (ary.length > 3) ? ary[3] : 1;\n return 'rgba(' + ary[0] + ', ' + ary[1] + ', ' + ary[2] + ', ' + alpha + ')';\n};\n\n/**\n * Overwrite the alpha channel of an rgb/rgba color.\n */\nlib.colors.setAlpha = function(rgb, alpha) {\n var ary = lib.colors.crackRGB(rgb);\n ary[3] = alpha;\n return lib.colors.arrayToRGBA(ary);\n};\n\n/**\n * Mix a percentage of a tint color into a base color.\n */\nlib.colors.mix = function(base, tint, percent) {\n var ary1 = lib.colors.crackRGB(base);\n var ary2 = lib.colors.crackRGB(tint);\n\n for (var i = 0; i < 4; ++i) {\n var diff = ary2[i] - ary1[i];\n ary1[i] = Math.round(parseInt(ary1[i]) + diff * percent);\n }\n\n return lib.colors.arrayToRGBA(ary1);\n};\n\n/**\n * Split an rgb/rgba color into an array of its components.\n *\n * On success, a 4 element array will be returned. For rgb values, the alpha\n * will be set to 1.\n */\nlib.colors.crackRGB = function(color) {\n if (color.startsWith('rgba')) {\n var ary = color.match(lib.colors.re_.rgba);\n if (ary) {\n ary.shift();\n return ary;\n }\n } else {\n var ary = color.match(lib.colors.re_.rgb);\n if (ary) {\n ary.shift();\n ary.push(1);\n return ary;\n }\n }\n\n console.error('Couldn\\'t crack: ' + color);\n return null;\n};\n\n/**\n * Convert an X11 color name into a CSS rgb(...) value.\n *\n * Names are stripped of spaces and converted to lowercase. If the name is\n * unknown, null is returned.\n *\n * This list of color name to RGB mapping is derived from the stock X11\n * rgb.txt file.\n *\n * @param {string} name The color name to convert.\n * @return {string} The corresponding CSS rgb(...) value.\n */\nlib.colors.nameToRGB = function(name) {\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n name = name.toLowerCase();\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n name = name.replace(/\\s+/g, '');\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n return null;\n};\n\n/**\n * The stock color palette.\n */\nlib.colors.stockColorPalette = lib.colors.hexToRGB\n ([// The \"ANSI 16\"...\n '#000000', '#CC0000', '#4E9A06', '#C4A000',\n '#3465A4', '#75507B', '#06989A', '#D3D7CF',\n '#555753', '#EF2929', '#00BA13', '#FCE94F',\n '#729FCF', '#F200CB', '#00B5BD', '#EEEEEC',\n\n // The 6x6 color cubes...\n '#000000', '#00005F', '#000087', '#0000AF', '#0000D7', '#0000FF',\n '#005F00', '#005F5F', '#005F87', '#005FAF', '#005FD7', '#005FFF',\n '#008700', '#00875F', '#008787', '#0087AF', '#0087D7', '#0087FF',\n '#00AF00', '#00AF5F', '#00AF87', '#00AFAF', '#00AFD7', '#00AFFF',\n '#00D700', '#00D75F', '#00D787', '#00D7AF', '#00D7D7', '#00D7FF',\n '#00FF00', '#00FF5F', '#00FF87', '#00FFAF', '#00FFD7', '#00FFFF',\n\n '#5F0000', '#5F005F', '#5F0087', '#5F00AF', '#5F00D7', '#5F00FF',\n '#5F5F00', '#5F5F5F', '#5F5F87', '#5F5FAF', '#5F5FD7', '#5F5FFF',\n '#5F8700', '#5F875F', '#5F8787', '#5F87AF', '#5F87D7', '#5F87FF',\n '#5FAF00', '#5FAF5F', '#5FAF87', '#5FAFAF', '#5FAFD7', '#5FAFFF',\n '#5FD700', '#5FD75F', '#5FD787', '#5FD7AF', '#5FD7D7', '#5FD7FF',\n '#5FFF00', '#5FFF5F', '#5FFF87', '#5FFFAF', '#5FFFD7', '#5FFFFF',\n\n '#870000', '#87005F', '#870087', '#8700AF', '#8700D7', '#8700FF',\n '#875F00', '#875F5F', '#875F87', '#875FAF', '#875FD7', '#875FFF',\n '#878700', '#87875F', '#878787', '#8787AF', '#8787D7', '#8787FF',\n '#87AF00', '#87AF5F', '#87AF87', '#87AFAF', '#87AFD7', '#87AFFF',\n '#87D700', '#87D75F', '#87D787', '#87D7AF', '#87D7D7', '#87D7FF',\n '#87FF00', '#87FF5F', '#87FF87', '#87FFAF', '#87FFD7', '#87FFFF',\n\n '#AF0000', '#AF005F', '#AF0087', '#AF00AF', '#AF00D7', '#AF00FF',\n '#AF5F00', '#AF5F5F', '#AF5F87', '#AF5FAF', '#AF5FD7', '#AF5FFF',\n '#AF8700', '#AF875F', '#AF8787', '#AF87AF', '#AF87D7', '#AF87FF',\n '#AFAF00', '#AFAF5F', '#AFAF87', '#AFAFAF', '#AFAFD7', '#AFAFFF',\n '#AFD700', '#AFD75F', '#AFD787', '#AFD7AF', '#AFD7D7', '#AFD7FF',\n '#AFFF00', '#AFFF5F', '#AFFF87', '#AFFFAF', '#AFFFD7', '#AFFFFF',\n\n '#D70000', '#D7005F', '#D70087', '#D700AF', '#D700D7', '#D700FF',\n '#D75F00', '#D75F5F', '#D75F87', '#D75FAF', '#D75FD7', '#D75FFF',\n '#D78700', '#D7875F', '#D78787', '#D787AF', '#D787D7', '#D787FF',\n '#D7AF00', '#D7AF5F', '#D7AF87', '#D7AFAF', '#D7AFD7', '#D7AFFF',\n '#D7D700', '#D7D75F', '#D7D787', '#D7D7AF', '#D7D7D7', '#D7D7FF',\n '#D7FF00', '#D7FF5F', '#D7FF87', '#D7FFAF', '#D7FFD7', '#D7FFFF',\n\n '#FF0000', '#FF005F', '#FF0087', '#FF00AF', '#FF00D7', '#FF00FF',\n '#FF5F00', '#FF5F5F', '#FF5F87', '#FF5FAF', '#FF5FD7', '#FF5FFF',\n '#FF8700', '#FF875F', '#FF8787', '#FF87AF', '#FF87D7', '#FF87FF',\n '#FFAF00', '#FFAF5F', '#FFAF87', '#FFAFAF', '#FFAFD7', '#FFAFFF',\n '#FFD700', '#FFD75F', '#FFD787', '#FFD7AF', '#FFD7D7', '#FFD7FF',\n '#FFFF00', '#FFFF5F', '#FFFF87', '#FFFFAF', '#FFFFD7', '#FFFFFF',\n\n // The greyscale ramp...\n '#080808', '#121212', '#1C1C1C', '#262626', '#303030', '#3A3A3A',\n '#444444', '#4E4E4E', '#585858', '#626262', '#6C6C6C', '#767676',\n '#808080', '#8A8A8A', '#949494', '#9E9E9E', '#A8A8A8', '#B2B2B2',\n '#BCBCBC', '#C6C6C6', '#D0D0D0', '#DADADA', '#E4E4E4', '#EEEEEE'\n ]);\n\n/**\n * The current color palette, possibly with user changes.\n */\nlib.colors.colorPalette = lib.colors.stockColorPalette;\n\n/**\n * Named colors according to the stock X11 rgb.txt file.\n */\nlib.colors.colorNames = {\n \"aliceblue\": \"rgb(240, 248, 255)\",\n \"antiquewhite\": \"rgb(250, 235, 215)\",\n \"antiquewhite1\": \"rgb(255, 239, 219)\",\n \"antiquewhite2\": \"rgb(238, 223, 204)\",\n \"antiquewhite3\": \"rgb(205, 192, 176)\",\n \"antiquewhite4\": \"rgb(139, 131, 120)\",\n \"aquamarine\": \"rgb(127, 255, 212)\",\n \"aquamarine1\": \"rgb(127, 255, 212)\",\n \"aquamarine2\": \"rgb(118, 238, 198)\",\n \"aquamarine3\": \"rgb(102, 205, 170)\",\n \"aquamarine4\": \"rgb(69, 139, 116)\",\n \"azure\": \"rgb(240, 255, 255)\",\n \"azure1\": \"rgb(240, 255, 255)\",\n \"azure2\": \"rgb(224, 238, 238)\",\n \"azure3\": \"rgb(193, 205, 205)\",\n \"azure4\": \"rgb(131, 139, 139)\",\n \"beige\": \"rgb(245, 245, 220)\",\n \"bisque\": \"rgb(255, 228, 196)\",\n \"bisque1\": \"rgb(255, 228, 196)\",\n \"bisque2\": \"rgb(238, 213, 183)\",\n \"bisque3\": \"rgb(205, 183, 158)\",\n \"bisque4\": \"rgb(139, 125, 107)\",\n \"black\": \"rgb(0, 0, 0)\",\n \"blanchedalmond\": \"rgb(255, 235, 205)\",\n \"blue\": \"rgb(0, 0, 255)\",\n \"blue1\": \"rgb(0, 0, 255)\",\n \"blue2\": \"rgb(0, 0, 238)\",\n \"blue3\": \"rgb(0, 0, 205)\",\n \"blue4\": \"rgb(0, 0, 139)\",\n \"blueviolet\": \"rgb(138, 43, 226)\",\n \"brown\": \"rgb(165, 42, 42)\",\n \"brown1\": \"rgb(255, 64, 64)\",\n \"brown2\": \"rgb(238, 59, 59)\",\n \"brown3\": \"rgb(205, 51, 51)\",\n \"brown4\": \"rgb(139, 35, 35)\",\n \"burlywood\": \"rgb(222, 184, 135)\",\n \"burlywood1\": \"rgb(255, 211, 155)\",\n \"burlywood2\": \"rgb(238, 197, 145)\",\n \"burlywood3\": \"rgb(205, 170, 125)\",\n \"burlywood4\": \"rgb(139, 115, 85)\",\n \"cadetblue\": \"rgb(95, 158, 160)\",\n \"cadetblue1\": \"rgb(152, 245, 255)\",\n \"cadetblue2\": \"rgb(142, 229, 238)\",\n \"cadetblue3\": \"rgb(122, 197, 205)\",\n \"cadetblue4\": \"rgb(83, 134, 139)\",\n \"chartreuse\": \"rgb(127, 255, 0)\",\n \"chartreuse1\": \"rgb(127, 255, 0)\",\n \"chartreuse2\": \"rgb(118, 238, 0)\",\n \"chartreuse3\": \"rgb(102, 205, 0)\",\n \"chartreuse4\": \"rgb(69, 139, 0)\",\n \"chocolate\": \"rgb(210, 105, 30)\",\n \"chocolate1\": \"rgb(255, 127, 36)\",\n \"chocolate2\": \"rgb(238, 118, 33)\",\n \"chocolate3\": \"rgb(205, 102, 29)\",\n \"chocolate4\": \"rgb(139, 69, 19)\",\n \"coral\": \"rgb(255, 127, 80)\",\n \"coral1\": \"rgb(255, 114, 86)\",\n \"coral2\": \"rgb(238, 106, 80)\",\n \"coral3\": \"rgb(205, 91, 69)\",\n \"coral4\": \"rgb(139, 62, 47)\",\n \"cornflowerblue\": \"rgb(100, 149, 237)\",\n \"cornsilk\": \"rgb(255, 248, 220)\",\n \"cornsilk1\": \"rgb(255, 248, 220)\",\n \"cornsilk2\": \"rgb(238, 232, 205)\",\n \"cornsilk3\": \"rgb(205, 200, 177)\",\n \"cornsilk4\": \"rgb(139, 136, 120)\",\n \"cyan\": \"rgb(0, 255, 255)\",\n \"cyan1\": \"rgb(0, 255, 255)\",\n \"cyan2\": \"rgb(0, 238, 238)\",\n \"cyan3\": \"rgb(0, 205, 205)\",\n \"cyan4\": \"rgb(0, 139, 139)\",\n \"darkblue\": \"rgb(0, 0, 139)\",\n \"darkcyan\": \"rgb(0, 139, 139)\",\n \"darkgoldenrod\": \"rgb(184, 134, 11)\",\n \"darkgoldenrod1\": \"rgb(255, 185, 15)\",\n \"darkgoldenrod2\": \"rgb(238, 173, 14)\",\n \"darkgoldenrod3\": \"rgb(205, 149, 12)\",\n \"darkgoldenrod4\": \"rgb(139, 101, 8)\",\n \"darkgray\": \"rgb(169, 169, 169)\",\n \"darkgreen\": \"rgb(0, 100, 0)\",\n \"darkgrey\": \"rgb(169, 169, 169)\",\n \"darkkhaki\": \"rgb(189, 183, 107)\",\n \"darkmagenta\": \"rgb(139, 0, 139)\",\n \"darkolivegreen\": \"rgb(85, 107, 47)\",\n \"darkolivegreen1\": \"rgb(202, 255, 112)\",\n \"darkolivegreen2\": \"rgb(188, 238, 104)\",\n \"darkolivegreen3\": \"rgb(162, 205, 90)\",\n \"darkolivegreen4\": \"rgb(110, 139, 61)\",\n \"darkorange\": \"rgb(255, 140, 0)\",\n \"darkorange1\": \"rgb(255, 127, 0)\",\n \"darkorange2\": \"rgb(238, 118, 0)\",\n \"darkorange3\": \"rgb(205, 102, 0)\",\n \"darkorange4\": \"rgb(139, 69, 0)\",\n \"darkorchid\": \"rgb(153, 50, 204)\",\n \"darkorchid1\": \"rgb(191, 62, 255)\",\n \"darkorchid2\": \"rgb(178, 58, 238)\",\n \"darkorchid3\": \"rgb(154, 50, 205)\",\n \"darkorchid4\": \"rgb(104, 34, 139)\",\n \"darkred\": \"rgb(139, 0, 0)\",\n \"darksalmon\": \"rgb(233, 150, 122)\",\n \"darkseagreen\": \"rgb(143, 188, 143)\",\n \"darkseagreen1\": \"rgb(193, 255, 193)\",\n \"darkseagreen2\": \"rgb(180, 238, 180)\",\n \"darkseagreen3\": \"rgb(155, 205, 155)\",\n \"darkseagreen4\": \"rgb(105, 139, 105)\",\n \"darkslateblue\": \"rgb(72, 61, 139)\",\n \"darkslategray\": \"rgb(47, 79, 79)\",\n \"darkslategray1\": \"rgb(151, 255, 255)\",\n \"darkslategray2\": \"rgb(141, 238, 238)\",\n \"darkslategray3\": \"rgb(121, 205, 205)\",\n \"darkslategray4\": \"rgb(82, 139, 139)\",\n \"darkslategrey\": \"rgb(47, 79, 79)\",\n \"darkturquoise\": \"rgb(0, 206, 209)\",\n \"darkviolet\": \"rgb(148, 0, 211)\",\n \"debianred\": \"rgb(215, 7, 81)\",\n \"deeppink\": \"rgb(255, 20, 147)\",\n \"deeppink1\": \"rgb(255, 20, 147)\",\n \"deeppink2\": \"rgb(238, 18, 137)\",\n \"deeppink3\": \"rgb(205, 16, 118)\",\n \"deeppink4\": \"rgb(139, 10, 80)\",\n \"deepskyblue\": \"rgb(0, 191, 255)\",\n \"deepskyblue1\": \"rgb(0, 191, 255)\",\n \"deepskyblue2\": \"rgb(0, 178, 238)\",\n \"deepskyblue3\": \"rgb(0, 154, 205)\",\n \"deepskyblue4\": \"rgb(0, 104, 139)\",\n \"dimgray\": \"rgb(105, 105, 105)\",\n \"dimgrey\": \"rgb(105, 105, 105)\",\n \"dodgerblue\": \"rgb(30, 144, 255)\",\n \"dodgerblue1\": \"rgb(30, 144, 255)\",\n \"dodgerblue2\": \"rgb(28, 134, 238)\",\n \"dodgerblue3\": \"rgb(24, 116, 205)\",\n \"dodgerblue4\": \"rgb(16, 78, 139)\",\n \"firebrick\": \"rgb(178, 34, 34)\",\n \"firebrick1\": \"rgb(255, 48, 48)\",\n \"firebrick2\": \"rgb(238, 44, 44)\",\n \"firebrick3\": \"rgb(205, 38, 38)\",\n \"firebrick4\": \"rgb(139, 26, 26)\",\n \"floralwhite\": \"rgb(255, 250, 240)\",\n \"forestgreen\": \"rgb(34, 139, 34)\",\n \"gainsboro\": \"rgb(220, 220, 220)\",\n \"ghostwhite\": \"rgb(248, 248, 255)\",\n \"gold\": \"rgb(255, 215, 0)\",\n \"gold1\": \"rgb(255, 215, 0)\",\n \"gold2\": \"rgb(238, 201, 0)\",\n \"gold3\": \"rgb(205, 173, 0)\",\n \"gold4\": \"rgb(139, 117, 0)\",\n \"goldenrod\": \"rgb(218, 165, 32)\",\n \"goldenrod1\": \"rgb(255, 193, 37)\",\n \"goldenrod2\": \"rgb(238, 180, 34)\",\n \"goldenrod3\": \"rgb(205, 155, 29)\",\n \"goldenrod4\": \"rgb(139, 105, 20)\",\n \"gray\": \"rgb(190, 190, 190)\",\n \"gray0\": \"rgb(0, 0, 0)\",\n \"gray1\": \"rgb(3, 3, 3)\",\n \"gray10\": \"rgb(26, 26, 26)\",\n \"gray100\": \"rgb(255, 255, 255)\",\n \"gray11\": \"rgb(28, 28, 28)\",\n \"gray12\": \"rgb(31, 31, 31)\",\n \"gray13\": \"rgb(33, 33, 33)\",\n \"gray14\": \"rgb(36, 36, 36)\",\n \"gray15\": \"rgb(38, 38, 38)\",\n \"gray16\": \"rgb(41, 41, 41)\",\n \"gray17\": \"rgb(43, 43, 43)\",\n \"gray18\": \"rgb(46, 46, 46)\",\n \"gray19\": \"rgb(48, 48, 48)\",\n \"gray2\": \"rgb(5, 5, 5)\",\n \"gray20\": \"rgb(51, 51, 51)\",\n \"gray21\": \"rgb(54, 54, 54)\",\n \"gray22\": \"rgb(56, 56, 56)\",\n \"gray23\": \"rgb(59, 59, 59)\",\n \"gray24\": \"rgb(61, 61, 61)\",\n \"gray25\": \"rgb(64, 64, 64)\",\n \"gray26\": \"rgb(66, 66, 66)\",\n \"gray27\": \"rgb(69, 69, 69)\",\n \"gray28\": \"rgb(71, 71, 71)\",\n \"gray29\": \"rgb(74, 74, 74)\",\n \"gray3\": \"rgb(8, 8, 8)\",\n \"gray30\": \"rgb(77, 77, 77)\",\n \"gray31\": \"rgb(79, 79, 79)\",\n \"gray32\": \"rgb(82, 82, 82)\",\n \"gray33\": \"rgb(84, 84, 84)\",\n \"gray34\": \"rgb(87, 87, 87)\",\n \"gray35\": \"rgb(89, 89, 89)\",\n \"gray36\": \"rgb(92, 92, 92)\",\n \"gray37\": \"rgb(94, 94, 94)\",\n \"gray38\": \"rgb(97, 97, 97)\",\n \"gray39\": \"rgb(99, 99, 99)\",\n \"gray4\": \"rgb(10, 10, 10)\",\n \"gray40\": \"rgb(102, 102, 102)\",\n \"gray41\": \"rgb(105, 105, 105)\",\n \"gray42\": \"rgb(107, 107, 107)\",\n \"gray43\": \"rgb(110, 110, 110)\",\n \"gray44\": \"rgb(112, 112, 112)\",\n \"gray45\": \"rgb(115, 115, 115)\",\n \"gray46\": \"rgb(117, 117, 117)\",\n \"gray47\": \"rgb(120, 120, 120)\",\n \"gray48\": \"rgb(122, 122, 122)\",\n \"gray49\": \"rgb(125, 125, 125)\",\n \"gray5\": \"rgb(13, 13, 13)\",\n \"gray50\": \"rgb(127, 127, 127)\",\n \"gray51\": \"rgb(130, 130, 130)\",\n \"gray52\": \"rgb(133, 133, 133)\",\n \"gray53\": \"rgb(135, 135, 135)\",\n \"gray54\": \"rgb(138, 138, 138)\",\n \"gray55\": \"rgb(140, 140, 140)\",\n \"gray56\": \"rgb(143, 143, 143)\",\n \"gray57\": \"rgb(145, 145, 145)\",\n \"gray58\": \"rgb(148, 148, 148)\",\n \"gray59\": \"rgb(150, 150, 150)\",\n \"gray6\": \"rgb(15, 15, 15)\",\n \"gray60\": \"rgb(153, 153, 153)\",\n \"gray61\": \"rgb(156, 156, 156)\",\n \"gray62\": \"rgb(158, 158, 158)\",\n \"gray63\": \"rgb(161, 161, 161)\",\n \"gray64\": \"rgb(163, 163, 163)\",\n \"gray65\": \"rgb(166, 166, 166)\",\n \"gray66\": \"rgb(168, 168, 168)\",\n \"gray67\": \"rgb(171, 171, 171)\",\n \"gray68\": \"rgb(173, 173, 173)\",\n \"gray69\": \"rgb(176, 176, 176)\",\n \"gray7\": \"rgb(18, 18, 18)\",\n \"gray70\": \"rgb(179, 179, 179)\",\n \"gray71\": \"rgb(181, 181, 181)\",\n \"gray72\": \"rgb(184, 184, 184)\",\n \"gray73\": \"rgb(186, 186, 186)\",\n \"gray74\": \"rgb(189, 189, 189)\",\n \"gray75\": \"rgb(191, 191, 191)\",\n \"gray76\": \"rgb(194, 194, 194)\",\n \"gray77\": \"rgb(196, 196, 196)\",\n \"gray78\": \"rgb(199, 199, 199)\",\n \"gray79\": \"rgb(201, 201, 201)\",\n \"gray8\": \"rgb(20, 20, 20)\",\n \"gray80\": \"rgb(204, 204, 204)\",\n \"gray81\": \"rgb(207, 207, 207)\",\n \"gray82\": \"rgb(209, 209, 209)\",\n \"gray83\": \"rgb(212, 212, 212)\",\n \"gray84\": \"rgb(214, 214, 214)\",\n \"gray85\": \"rgb(217, 217, 217)\",\n \"gray86\": \"rgb(219, 219, 219)\",\n \"gray87\": \"rgb(222, 222, 222)\",\n \"gray88\": \"rgb(224, 224, 224)\",\n \"gray89\": \"rgb(227, 227, 227)\",\n \"gray9\": \"rgb(23, 23, 23)\",\n \"gray90\": \"rgb(229, 229, 229)\",\n \"gray91\": \"rgb(232, 232, 232)\",\n \"gray92\": \"rgb(235, 235, 235)\",\n \"gray93\": \"rgb(237, 237, 237)\",\n \"gray94\": \"rgb(240, 240, 240)\",\n \"gray95\": \"rgb(242, 242, 242)\",\n \"gray96\": \"rgb(245, 245, 245)\",\n \"gray97\": \"rgb(247, 247, 247)\",\n \"gray98\": \"rgb(250, 250, 250)\",\n \"gray99\": \"rgb(252, 252, 252)\",\n \"green\": \"rgb(0, 255, 0)\",\n \"green1\": \"rgb(0, 255, 0)\",\n \"green2\": \"rgb(0, 238, 0)\",\n \"green3\": \"rgb(0, 205, 0)\",\n \"green4\": \"rgb(0, 139, 0)\",\n \"greenyellow\": \"rgb(173, 255, 47)\",\n \"grey\": \"rgb(190, 190, 190)\",\n \"grey0\": \"rgb(0, 0, 0)\",\n \"grey1\": \"rgb(3, 3, 3)\",\n \"grey10\": \"rgb(26, 26, 26)\",\n \"grey100\": \"rgb(255, 255, 255)\",\n \"grey11\": \"rgb(28, 28, 28)\",\n \"grey12\": \"rgb(31, 31, 31)\",\n \"grey13\": \"rgb(33, 33, 33)\",\n \"grey14\": \"rgb(36, 36, 36)\",\n \"grey15\": \"rgb(38, 38, 38)\",\n \"grey16\": \"rgb(41, 41, 41)\",\n \"grey17\": \"rgb(43, 43, 43)\",\n \"grey18\": \"rgb(46, 46, 46)\",\n \"grey19\": \"rgb(48, 48, 48)\",\n \"grey2\": \"rgb(5, 5, 5)\",\n \"grey20\": \"rgb(51, 51, 51)\",\n \"grey21\": \"rgb(54, 54, 54)\",\n \"grey22\": \"rgb(56, 56, 56)\",\n \"grey23\": \"rgb(59, 59, 59)\",\n \"grey24\": \"rgb(61, 61, 61)\",\n \"grey25\": \"rgb(64, 64, 64)\",\n \"grey26\": \"rgb(66, 66, 66)\",\n \"grey27\": \"rgb(69, 69, 69)\",\n \"grey28\": \"rgb(71, 71, 71)\",\n \"grey29\": \"rgb(74, 74, 74)\",\n \"grey3\": \"rgb(8, 8, 8)\",\n \"grey30\": \"rgb(77, 77, 77)\",\n \"grey31\": \"rgb(79, 79, 79)\",\n \"grey32\": \"rgb(82, 82, 82)\",\n \"grey33\": \"rgb(84, 84, 84)\",\n \"grey34\": \"rgb(87, 87, 87)\",\n \"grey35\": \"rgb(89, 89, 89)\",\n \"grey36\": \"rgb(92, 92, 92)\",\n \"grey37\": \"rgb(94, 94, 94)\",\n \"grey38\": \"rgb(97, 97, 97)\",\n \"grey39\": \"rgb(99, 99, 99)\",\n \"grey4\": \"rgb(10, 10, 10)\",\n \"grey40\": \"rgb(102, 102, 102)\",\n \"grey41\": \"rgb(105, 105, 105)\",\n \"grey42\": \"rgb(107, 107, 107)\",\n \"grey43\": \"rgb(110, 110, 110)\",\n \"grey44\": \"rgb(112, 112, 112)\",\n \"grey45\": \"rgb(115, 115, 115)\",\n \"grey46\": \"rgb(117, 117, 117)\",\n \"grey47\": \"rgb(120, 120, 120)\",\n \"grey48\": \"rgb(122, 122, 122)\",\n \"grey49\": \"rgb(125, 125, 125)\",\n \"grey5\": \"rgb(13, 13, 13)\",\n \"grey50\": \"rgb(127, 127, 127)\",\n \"grey51\": \"rgb(130, 130, 130)\",\n \"grey52\": \"rgb(133, 133, 133)\",\n \"grey53\": \"rgb(135, 135, 135)\",\n \"grey54\": \"rgb(138, 138, 138)\",\n \"grey55\": \"rgb(140, 140, 140)\",\n \"grey56\": \"rgb(143, 143, 143)\",\n \"grey57\": \"rgb(145, 145, 145)\",\n \"grey58\": \"rgb(148, 148, 148)\",\n \"grey59\": \"rgb(150, 150, 150)\",\n \"grey6\": \"rgb(15, 15, 15)\",\n \"grey60\": \"rgb(153, 153, 153)\",\n \"grey61\": \"rgb(156, 156, 156)\",\n \"grey62\": \"rgb(158, 158, 158)\",\n \"grey63\": \"rgb(161, 161, 161)\",\n \"grey64\": \"rgb(163, 163, 163)\",\n \"grey65\": \"rgb(166, 166, 166)\",\n \"grey66\": \"rgb(168, 168, 168)\",\n \"grey67\": \"rgb(171, 171, 171)\",\n \"grey68\": \"rgb(173, 173, 173)\",\n \"grey69\": \"rgb(176, 176, 176)\",\n \"grey7\": \"rgb(18, 18, 18)\",\n \"grey70\": \"rgb(179, 179, 179)\",\n \"grey71\": \"rgb(181, 181, 181)\",\n \"grey72\": \"rgb(184, 184, 184)\",\n \"grey73\": \"rgb(186, 186, 186)\",\n \"grey74\": \"rgb(189, 189, 189)\",\n \"grey75\": \"rgb(191, 191, 191)\",\n \"grey76\": \"rgb(194, 194, 194)\",\n \"grey77\": \"rgb(196, 196, 196)\",\n \"grey78\": \"rgb(199, 199, 199)\",\n \"grey79\": \"rgb(201, 201, 201)\",\n \"grey8\": \"rgb(20, 20, 20)\",\n \"grey80\": \"rgb(204, 204, 204)\",\n \"grey81\": \"rgb(207, 207, 207)\",\n \"grey82\": \"rgb(209, 209, 209)\",\n \"grey83\": \"rgb(212, 212, 212)\",\n \"grey84\": \"rgb(214, 214, 214)\",\n \"grey85\": \"rgb(217, 217, 217)\",\n \"grey86\": \"rgb(219, 219, 219)\",\n \"grey87\": \"rgb(222, 222, 222)\",\n \"grey88\": \"rgb(224, 224, 224)\",\n \"grey89\": \"rgb(227, 227, 227)\",\n \"grey9\": \"rgb(23, 23, 23)\",\n \"grey90\": \"rgb(229, 229, 229)\",\n \"grey91\": \"rgb(232, 232, 232)\",\n \"grey92\": \"rgb(235, 235, 235)\",\n \"grey93\": \"rgb(237, 237, 237)\",\n \"grey94\": \"rgb(240, 240, 240)\",\n \"grey95\": \"rgb(242, 242, 242)\",\n \"grey96\": \"rgb(245, 245, 245)\",\n \"grey97\": \"rgb(247, 247, 247)\",\n \"grey98\": \"rgb(250, 250, 250)\",\n \"grey99\": \"rgb(252, 252, 252)\",\n \"honeydew\": \"rgb(240, 255, 240)\",\n \"honeydew1\": \"rgb(240, 255, 240)\",\n \"honeydew2\": \"rgb(224, 238, 224)\",\n \"honeydew3\": \"rgb(193, 205, 193)\",\n \"honeydew4\": \"rgb(131, 139, 131)\",\n \"hotpink\": \"rgb(255, 105, 180)\",\n \"hotpink1\": \"rgb(255, 110, 180)\",\n \"hotpink2\": \"rgb(238, 106, 167)\",\n \"hotpink3\": \"rgb(205, 96, 144)\",\n \"hotpink4\": \"rgb(139, 58, 98)\",\n \"indianred\": \"rgb(205, 92, 92)\",\n \"indianred1\": \"rgb(255, 106, 106)\",\n \"indianred2\": \"rgb(238, 99, 99)\",\n \"indianred3\": \"rgb(205, 85, 85)\",\n \"indianred4\": \"rgb(139, 58, 58)\",\n \"ivory\": \"rgb(255, 255, 240)\",\n \"ivory1\": \"rgb(255, 255, 240)\",\n \"ivory2\": \"rgb(238, 238, 224)\",\n \"ivory3\": \"rgb(205, 205, 193)\",\n \"ivory4\": \"rgb(139, 139, 131)\",\n \"khaki\": \"rgb(240, 230, 140)\",\n \"khaki1\": \"rgb(255, 246, 143)\",\n \"khaki2\": \"rgb(238, 230, 133)\",\n \"khaki3\": \"rgb(205, 198, 115)\",\n \"khaki4\": \"rgb(139, 134, 78)\",\n \"lavender\": \"rgb(230, 230, 250)\",\n \"lavenderblush\": \"rgb(255, 240, 245)\",\n \"lavenderblush1\": \"rgb(255, 240, 245)\",\n \"lavenderblush2\": \"rgb(238, 224, 229)\",\n \"lavenderblush3\": \"rgb(205, 193, 197)\",\n \"lavenderblush4\": \"rgb(139, 131, 134)\",\n \"lawngreen\": \"rgb(124, 252, 0)\",\n \"lemonchiffon\": \"rgb(255, 250, 205)\",\n \"lemonchiffon1\": \"rgb(255, 250, 205)\",\n \"lemonchiffon2\": \"rgb(238, 233, 191)\",\n \"lemonchiffon3\": \"rgb(205, 201, 165)\",\n \"lemonchiffon4\": \"rgb(139, 137, 112)\",\n \"lightblue\": \"rgb(173, 216, 230)\",\n \"lightblue1\": \"rgb(191, 239, 255)\",\n \"lightblue2\": \"rgb(178, 223, 238)\",\n \"lightblue3\": \"rgb(154, 192, 205)\",\n \"lightblue4\": \"rgb(104, 131, 139)\",\n \"lightcoral\": \"rgb(240, 128, 128)\",\n \"lightcyan\": \"rgb(224, 255, 255)\",\n \"lightcyan1\": \"rgb(224, 255, 255)\",\n \"lightcyan2\": \"rgb(209, 238, 238)\",\n \"lightcyan3\": \"rgb(180, 205, 205)\",\n \"lightcyan4\": \"rgb(122, 139, 139)\",\n \"lightgoldenrod\": \"rgb(238, 221, 130)\",\n \"lightgoldenrod1\": \"rgb(255, 236, 139)\",\n \"lightgoldenrod2\": \"rgb(238, 220, 130)\",\n \"lightgoldenrod3\": \"rgb(205, 190, 112)\",\n \"lightgoldenrod4\": \"rgb(139, 129, 76)\",\n \"lightgoldenrodyellow\": \"rgb(250, 250, 210)\",\n \"lightgray\": \"rgb(211, 211, 211)\",\n \"lightgreen\": \"rgb(144, 238, 144)\",\n \"lightgrey\": \"rgb(211, 211, 211)\",\n \"lightpink\": \"rgb(255, 182, 193)\",\n \"lightpink1\": \"rgb(255, 174, 185)\",\n \"lightpink2\": \"rgb(238, 162, 173)\",\n \"lightpink3\": \"rgb(205, 140, 149)\",\n \"lightpink4\": \"rgb(139, 95, 101)\",\n \"lightsalmon\": \"rgb(255, 160, 122)\",\n \"lightsalmon1\": \"rgb(255, 160, 122)\",\n \"lightsalmon2\": \"rgb(238, 149, 114)\",\n \"lightsalmon3\": \"rgb(205, 129, 98)\",\n \"lightsalmon4\": \"rgb(139, 87, 66)\",\n \"lightseagreen\": \"rgb(32, 178, 170)\",\n \"lightskyblue\": \"rgb(135, 206, 250)\",\n \"lightskyblue1\": \"rgb(176, 226, 255)\",\n \"lightskyblue2\": \"rgb(164, 211, 238)\",\n \"lightskyblue3\": \"rgb(141, 182, 205)\",\n \"lightskyblue4\": \"rgb(96, 123, 139)\",\n \"lightslateblue\": \"rgb(132, 112, 255)\",\n \"lightslategray\": \"rgb(119, 136, 153)\",\n \"lightslategrey\": \"rgb(119, 136, 153)\",\n \"lightsteelblue\": \"rgb(176, 196, 222)\",\n \"lightsteelblue1\": \"rgb(202, 225, 255)\",\n \"lightsteelblue2\": \"rgb(188, 210, 238)\",\n \"lightsteelblue3\": \"rgb(162, 181, 205)\",\n \"lightsteelblue4\": \"rgb(110, 123, 139)\",\n \"lightyellow\": \"rgb(255, 255, 224)\",\n \"lightyellow1\": \"rgb(255, 255, 224)\",\n \"lightyellow2\": \"rgb(238, 238, 209)\",\n \"lightyellow3\": \"rgb(205, 205, 180)\",\n \"lightyellow4\": \"rgb(139, 139, 122)\",\n \"limegreen\": \"rgb(50, 205, 50)\",\n \"linen\": \"rgb(250, 240, 230)\",\n \"magenta\": \"rgb(255, 0, 255)\",\n \"magenta1\": \"rgb(255, 0, 255)\",\n \"magenta2\": \"rgb(238, 0, 238)\",\n \"magenta3\": \"rgb(205, 0, 205)\",\n \"magenta4\": \"rgb(139, 0, 139)\",\n \"maroon\": \"rgb(176, 48, 96)\",\n \"maroon1\": \"rgb(255, 52, 179)\",\n \"maroon2\": \"rgb(238, 48, 167)\",\n \"maroon3\": \"rgb(205, 41, 144)\",\n \"maroon4\": \"rgb(139, 28, 98)\",\n \"mediumaquamarine\": \"rgb(102, 205, 170)\",\n \"mediumblue\": \"rgb(0, 0, 205)\",\n \"mediumorchid\": \"rgb(186, 85, 211)\",\n \"mediumorchid1\": \"rgb(224, 102, 255)\",\n \"mediumorchid2\": \"rgb(209, 95, 238)\",\n \"mediumorchid3\": \"rgb(180, 82, 205)\",\n \"mediumorchid4\": \"rgb(122, 55, 139)\",\n \"mediumpurple\": \"rgb(147, 112, 219)\",\n \"mediumpurple1\": \"rgb(171, 130, 255)\",\n \"mediumpurple2\": \"rgb(159, 121, 238)\",\n \"mediumpurple3\": \"rgb(137, 104, 205)\",\n \"mediumpurple4\": \"rgb(93, 71, 139)\",\n \"mediumseagreen\": \"rgb(60, 179, 113)\",\n \"mediumslateblue\": \"rgb(123, 104, 238)\",\n \"mediumspringgreen\": \"rgb(0, 250, 154)\",\n \"mediumturquoise\": \"rgb(72, 209, 204)\",\n \"mediumvioletred\": \"rgb(199, 21, 133)\",\n \"midnightblue\": \"rgb(25, 25, 112)\",\n \"mintcream\": \"rgb(245, 255, 250)\",\n \"mistyrose\": \"rgb(255, 228, 225)\",\n \"mistyrose1\": \"rgb(255, 228, 225)\",\n \"mistyrose2\": \"rgb(238, 213, 210)\",\n \"mistyrose3\": \"rgb(205, 183, 181)\",\n \"mistyrose4\": \"rgb(139, 125, 123)\",\n \"moccasin\": \"rgb(255, 228, 181)\",\n \"navajowhite\": \"rgb(255, 222, 173)\",\n \"navajowhite1\": \"rgb(255, 222, 173)\",\n \"navajowhite2\": \"rgb(238, 207, 161)\",\n \"navajowhite3\": \"rgb(205, 179, 139)\",\n \"navajowhite4\": \"rgb(139, 121, 94)\",\n \"navy\": \"rgb(0, 0, 128)\",\n \"navyblue\": \"rgb(0, 0, 128)\",\n \"oldlace\": \"rgb(253, 245, 230)\",\n \"olivedrab\": \"rgb(107, 142, 35)\",\n \"olivedrab1\": \"rgb(192, 255, 62)\",\n \"olivedrab2\": \"rgb(179, 238, 58)\",\n \"olivedrab3\": \"rgb(154, 205, 50)\",\n \"olivedrab4\": \"rgb(105, 139, 34)\",\n \"orange\": \"rgb(255, 165, 0)\",\n \"orange1\": \"rgb(255, 165, 0)\",\n \"orange2\": \"rgb(238, 154, 0)\",\n \"orange3\": \"rgb(205, 133, 0)\",\n \"orange4\": \"rgb(139, 90, 0)\",\n \"orangered\": \"rgb(255, 69, 0)\",\n \"orangered1\": \"rgb(255, 69, 0)\",\n \"orangered2\": \"rgb(238, 64, 0)\",\n \"orangered3\": \"rgb(205, 55, 0)\",\n \"orangered4\": \"rgb(139, 37, 0)\",\n \"orchid\": \"rgb(218, 112, 214)\",\n \"orchid1\": \"rgb(255, 131, 250)\",\n \"orchid2\": \"rgb(238, 122, 233)\",\n \"orchid3\": \"rgb(205, 105, 201)\",\n \"orchid4\": \"rgb(139, 71, 137)\",\n \"palegoldenrod\": \"rgb(238, 232, 170)\",\n \"palegreen\": \"rgb(152, 251, 152)\",\n \"palegreen1\": \"rgb(154, 255, 154)\",\n \"palegreen2\": \"rgb(144, 238, 144)\",\n \"palegreen3\": \"rgb(124, 205, 124)\",\n \"palegreen4\": \"rgb(84, 139, 84)\",\n \"paleturquoise\": \"rgb(175, 238, 238)\",\n \"paleturquoise1\": \"rgb(187, 255, 255)\",\n \"paleturquoise2\": \"rgb(174, 238, 238)\",\n \"paleturquoise3\": \"rgb(150, 205, 205)\",\n \"paleturquoise4\": \"rgb(102, 139, 139)\",\n \"palevioletred\": \"rgb(219, 112, 147)\",\n \"palevioletred1\": \"rgb(255, 130, 171)\",\n \"palevioletred2\": \"rgb(238, 121, 159)\",\n \"palevioletred3\": \"rgb(205, 104, 137)\",\n \"palevioletred4\": \"rgb(139, 71, 93)\",\n \"papayawhip\": \"rgb(255, 239, 213)\",\n \"peachpuff\": \"rgb(255, 218, 185)\",\n \"peachpuff1\": \"rgb(255, 218, 185)\",\n \"peachpuff2\": \"rgb(238, 203, 173)\",\n \"peachpuff3\": \"rgb(205, 175, 149)\",\n \"peachpuff4\": \"rgb(139, 119, 101)\",\n \"peru\": \"rgb(205, 133, 63)\",\n \"pink\": \"rgb(255, 192, 203)\",\n \"pink1\": \"rgb(255, 181, 197)\",\n \"pink2\": \"rgb(238, 169, 184)\",\n \"pink3\": \"rgb(205, 145, 158)\",\n \"pink4\": \"rgb(139, 99, 108)\",\n \"plum\": \"rgb(221, 160, 221)\",\n \"plum1\": \"rgb(255, 187, 255)\",\n \"plum2\": \"rgb(238, 174, 238)\",\n \"plum3\": \"rgb(205, 150, 205)\",\n \"plum4\": \"rgb(139, 102, 139)\",\n \"powderblue\": \"rgb(176, 224, 230)\",\n \"purple\": \"rgb(160, 32, 240)\",\n \"purple1\": \"rgb(155, 48, 255)\",\n \"purple2\": \"rgb(145, 44, 238)\",\n \"purple3\": \"rgb(125, 38, 205)\",\n \"purple4\": \"rgb(85, 26, 139)\",\n \"red\": \"rgb(255, 0, 0)\",\n \"red1\": \"rgb(255, 0, 0)\",\n \"red2\": \"rgb(238, 0, 0)\",\n \"red3\": \"rgb(205, 0, 0)\",\n \"red4\": \"rgb(139, 0, 0)\",\n \"rosybrown\": \"rgb(188, 143, 143)\",\n \"rosybrown1\": \"rgb(255, 193, 193)\",\n \"rosybrown2\": \"rgb(238, 180, 180)\",\n \"rosybrown3\": \"rgb(205, 155, 155)\",\n \"rosybrown4\": \"rgb(139, 105, 105)\",\n \"royalblue\": \"rgb(65, 105, 225)\",\n \"royalblue1\": \"rgb(72, 118, 255)\",\n \"royalblue2\": \"rgb(67, 110, 238)\",\n \"royalblue3\": \"rgb(58, 95, 205)\",\n \"royalblue4\": \"rgb(39, 64, 139)\",\n \"saddlebrown\": \"rgb(139, 69, 19)\",\n \"salmon\": \"rgb(250, 128, 114)\",\n \"salmon1\": \"rgb(255, 140, 105)\",\n \"salmon2\": \"rgb(238, 130, 98)\",\n \"salmon3\": \"rgb(205, 112, 84)\",\n \"salmon4\": \"rgb(139, 76, 57)\",\n \"sandybrown\": \"rgb(244, 164, 96)\",\n \"seagreen\": \"rgb(46, 139, 87)\",\n \"seagreen1\": \"rgb(84, 255, 159)\",\n \"seagreen2\": \"rgb(78, 238, 148)\",\n \"seagreen3\": \"rgb(67, 205, 128)\",\n \"seagreen4\": \"rgb(46, 139, 87)\",\n \"seashell\": \"rgb(255, 245, 238)\",\n \"seashell1\": \"rgb(255, 245, 238)\",\n \"seashell2\": \"rgb(238, 229, 222)\",\n \"seashell3\": \"rgb(205, 197, 191)\",\n \"seashell4\": \"rgb(139, 134, 130)\",\n \"sienna\": \"rgb(160, 82, 45)\",\n \"sienna1\": \"rgb(255, 130, 71)\",\n \"sienna2\": \"rgb(238, 121, 66)\",\n \"sienna3\": \"rgb(205, 104, 57)\",\n \"sienna4\": \"rgb(139, 71, 38)\",\n \"skyblue\": \"rgb(135, 206, 235)\",\n \"skyblue1\": \"rgb(135, 206, 255)\",\n \"skyblue2\": \"rgb(126, 192, 238)\",\n \"skyblue3\": \"rgb(108, 166, 205)\",\n \"skyblue4\": \"rgb(74, 112, 139)\",\n \"slateblue\": \"rgb(106, 90, 205)\",\n \"slateblue1\": \"rgb(131, 111, 255)\",\n \"slateblue2\": \"rgb(122, 103, 238)\",\n \"slateblue3\": \"rgb(105, 89, 205)\",\n \"slateblue4\": \"rgb(71, 60, 139)\",\n \"slategray\": \"rgb(112, 128, 144)\",\n \"slategray1\": \"rgb(198, 226, 255)\",\n \"slategray2\": \"rgb(185, 211, 238)\",\n \"slategray3\": \"rgb(159, 182, 205)\",\n \"slategray4\": \"rgb(108, 123, 139)\",\n \"slategrey\": \"rgb(112, 128, 144)\",\n \"snow\": \"rgb(255, 250, 250)\",\n \"snow1\": \"rgb(255, 250, 250)\",\n \"snow2\": \"rgb(238, 233, 233)\",\n \"snow3\": \"rgb(205, 201, 201)\",\n \"snow4\": \"rgb(139, 137, 137)\",\n \"springgreen\": \"rgb(0, 255, 127)\",\n \"springgreen1\": \"rgb(0, 255, 127)\",\n \"springgreen2\": \"rgb(0, 238, 118)\",\n \"springgreen3\": \"rgb(0, 205, 102)\",\n \"springgreen4\": \"rgb(0, 139, 69)\",\n \"steelblue\": \"rgb(70, 130, 180)\",\n \"steelblue1\": \"rgb(99, 184, 255)\",\n \"steelblue2\": \"rgb(92, 172, 238)\",\n \"steelblue3\": \"rgb(79, 148, 205)\",\n \"steelblue4\": \"rgb(54, 100, 139)\",\n \"tan\": \"rgb(210, 180, 140)\",\n \"tan1\": \"rgb(255, 165, 79)\",\n \"tan2\": \"rgb(238, 154, 73)\",\n \"tan3\": \"rgb(205, 133, 63)\",\n \"tan4\": \"rgb(139, 90, 43)\",\n \"thistle\": \"rgb(216, 191, 216)\",\n \"thistle1\": \"rgb(255, 225, 255)\",\n \"thistle2\": \"rgb(238, 210, 238)\",\n \"thistle3\": \"rgb(205, 181, 205)\",\n \"thistle4\": \"rgb(139, 123, 139)\",\n \"tomato\": \"rgb(255, 99, 71)\",\n \"tomato1\": \"rgb(255, 99, 71)\",\n \"tomato2\": \"rgb(238, 92, 66)\",\n \"tomato3\": \"rgb(205, 79, 57)\",\n \"tomato4\": \"rgb(139, 54, 38)\",\n \"turquoise\": \"rgb(64, 224, 208)\",\n \"turquoise1\": \"rgb(0, 245, 255)\",\n \"turquoise2\": \"rgb(0, 229, 238)\",\n \"turquoise3\": \"rgb(0, 197, 205)\",\n \"turquoise4\": \"rgb(0, 134, 139)\",\n \"violet\": \"rgb(238, 130, 238)\",\n \"violetred\": \"rgb(208, 32, 144)\",\n \"violetred1\": \"rgb(255, 62, 150)\",\n \"violetred2\": \"rgb(238, 58, 140)\",\n \"violetred3\": \"rgb(205, 50, 120)\",\n \"violetred4\": \"rgb(139, 34, 82)\",\n \"wheat\": \"rgb(245, 222, 179)\",\n \"wheat1\": \"rgb(255, 231, 186)\",\n \"wheat2\": \"rgb(238, 216, 174)\",\n \"wheat3\": \"rgb(205, 186, 150)\",\n \"wheat4\": \"rgb(139, 126, 102)\",\n \"white\": \"rgb(255, 255, 255)\",\n \"whitesmoke\": \"rgb(245, 245, 245)\",\n \"yellow\": \"rgb(255, 255, 0)\",\n \"yellow1\": \"rgb(255, 255, 0)\",\n \"yellow2\": \"rgb(238, 238, 0)\",\n \"yellow3\": \"rgb(205, 205, 0)\",\n \"yellow4\": \"rgb(139, 139, 0)\",\n \"yellowgreen\": \"rgb(154, 205, 50)\"\n};\n// SOURCE FILE: libdot/js/lib_f.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Grab bag of utility functions.\n */\nlib.f = {};\n\n/**\n * Create a unique enum value.\n *\n * @suppress {lintChecks}\n * @param {string} name A human friendly name for debugging.\n * @return {Object} A unique enum that won't compare equal to anything else.\n */\nlib.f.createEnum = function(name) {\n // We use a String object as nothing else should be using them -- we want to\n // use string primitives normally. But debuggers will include our name.\n return new String(name);\n};\n\n/**\n * Replace variable references in a string.\n *\n * Variables are of the form %FUNCTION(VARNAME). FUNCTION is an optional\n * escape function to apply to the value.\n *\n * For example\n * lib.f.replaceVars(\"%(greeting), %encodeURIComponent(name)\",\n * { greeting: \"Hello\",\n * name: \"Google+\" });\n *\n * Will result in \"Hello, Google%2B\".\n */\nlib.f.replaceVars = function(str, vars) {\n return str.replace(/%([a-z]*)\\(([^\\)]+)\\)/gi, function(match, fn, varname) {\n if (typeof vars[varname] == 'undefined')\n throw 'Unknown variable: ' + varname;\n\n var rv = vars[varname];\n\n if (fn in lib.f.replaceVars.functions) {\n rv = lib.f.replaceVars.functions[fn](rv);\n } else if (fn) {\n throw 'Unknown escape function: ' + fn;\n }\n\n return rv;\n });\n};\n\n/**\n * Functions that can be used with replaceVars.\n *\n * Clients can add to this list to extend lib.f.replaceVars().\n */\nlib.f.replaceVars.functions = {\n encodeURI: encodeURI,\n encodeURIComponent: encodeURIComponent,\n escapeHTML: function(str) {\n var map = {\n '<': '<',\n '>': '>',\n '&': '&',\n '\"': '"',\n \"'\": '''\n };\n\n return str.replace(/[<>&\\\"\\']/g, function(m) { return map[m] });\n }\n};\n\n/**\n * Get the list of accepted UI languages.\n *\n * @param {function(Array)} callback Function to invoke with the results. The\n * parameter is a list of locale names.\n */\nlib.f.getAcceptLanguages = function(callback) {\n if (lib.f.getAcceptLanguages.chromeSupported()) {\n chrome.i18n.getAcceptLanguages(callback);\n } else {\n setTimeout(function() {\n callback([navigator.language.replace(/-/g, '_')]);\n }, 0);\n }\n};\n\nlib.f.getAcceptLanguages.chromeSupported = function() {\n return window.chrome && chrome.i18n;\n};\n\n/**\n * Parse a query string into a hash.\n *\n * This takes a url query string in the form 'name1=value&name2=value' and\n * converts it into an object of the form { name1: 'value', name2: 'value' }.\n * If a given name appears multiple times in the query string, only the\n * last value will appear in the result.\n *\n * Names and values are passed through decodeURIComponent before being added\n * to the result object.\n *\n * @param {string} queryString The string to parse. If it starts with a\n * leading '?', the '?' will be ignored.\n */\nlib.f.parseQuery = function(queryString) {\n if (queryString.startsWith('?'))\n queryString = queryString.substr(1);\n\n var rv = {};\n\n var pairs = queryString.split('&');\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i].split('=');\n rv[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n\n return rv;\n};\n\nlib.f.getURL = function(path) {\n if (lib.f.getURL.chromeSupported())\n return chrome.runtime.getURL(path);\n\n return path;\n};\n\nlib.f.getURL.chromeSupported = function() {\n return window.chrome && chrome.runtime && chrome.runtime.getURL;\n};\n\n/**\n * Clamp a given integer to a specified range.\n *\n * @param {integer} v The value to be clamped.\n * @param {integer} min The minimum acceptable value.\n * @param {integer} max The maximum acceptable value.\n */\nlib.f.clamp = function(v, min, max) {\n if (v < min)\n return min;\n if (v > max)\n return max;\n return v;\n};\n\n/**\n * Left pad a number to a given length with leading zeros.\n *\n * @param {string|integer} number The number to pad.\n * @param {integer} length The desired length.\n * @return {string} The padded number as a string.\n */\nlib.f.zpad = function(number, length) {\n return String(number).padStart(length, '0');\n};\n\n/**\n * Return a string containing a given number of space characters.\n *\n * This method maintains a static cache of the largest amount of whitespace\n * ever requested. It shouldn't be used to generate an insanely huge amount of\n * whitespace.\n *\n * @param {integer} length The desired amount of whitespace.\n * @param {string} A string of spaces of the requested length.\n */\nlib.f.getWhitespace = function(length) {\n if (length <= 0)\n return '';\n\n var f = this.getWhitespace;\n if (!f.whitespace)\n f.whitespace = ' ';\n\n while (length > f.whitespace.length) {\n f.whitespace += f.whitespace;\n }\n\n return f.whitespace.substr(0, length);\n};\n\n /**\n * Ensure that a function is called within a certain time limit.\n *\n * Simple usage looks like this...\n *\n * lib.registerInit(lib.f.alarm(onInit));\n *\n * This will log a warning to the console if onInit() is not invoked within\n * 5 seconds.\n *\n * If you're performing some operation that may take longer than 5 seconds you\n * can pass a duration in milliseconds as the optional second parameter.\n *\n * If you pass a string identifier instead of a callback function, you'll get a\n * wrapper generator rather than a single wrapper. Each call to the\n * generator will return a wrapped version of the callback wired to\n * a shared timeout. This is for cases where you want to ensure that at least\n * one of a set of callbacks is invoked before a timeout expires.\n *\n * var alarm = lib.f.alarm('fetch object');\n * lib.foo.fetchObject(alarm(onSuccess), alarm(onFailure));\n *\n * @param {function(*)} callback The function to wrap in an alarm.\n * @param {int} opt_ms Optional number of milliseconds to wait before raising\n * an alarm. Default is 5000 (5 seconds).\n * @return {function} If callback is a function then the return value will be\n * the wrapped callback. If callback is a string then the return value will\n * be a function that generates new wrapped callbacks.\n */\nlib.f.alarm = function(callback, opt_ms) {\n var ms = opt_ms || 5 * 1000;\n var stack = lib.f.getStack(1);\n\n return (function() {\n // This outer function is called immediately. It's here to capture a new\n // scope for the timeout variable.\n\n // The 'timeout' variable is shared by this timeout function, and the\n // callback wrapper.\n var timeout = setTimeout(function() {\n var name = (typeof callback == 'string') ? name : callback.name;\n name = name ? (': ' + name) : '';\n console.warn('lib.f.alarm: timeout expired: ' + (ms / 1000) + 's' + name);\n console.log(stack);\n timeout = null;\n }, ms);\n\n var wrapperGenerator = function(callback) {\n return function() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n\n return callback.apply(null, arguments);\n }\n };\n\n if (typeof callback == 'string')\n return wrapperGenerator;\n\n return wrapperGenerator(callback);\n })();\n};\n\n/**\n * Return the current call stack after skipping a given number of frames.\n *\n * This method is intended to be used for debugging only. It returns an\n * Object instead of an Array, because the console stringifies arrays by\n * default and that's not what we want.\n *\n * A typical call might look like...\n *\n * console.log('Something wicked this way came', lib.f.getStack());\n * // Notice the comma ^\n *\n * This would print the message to the js console, followed by an object\n * which can be clicked to reveal the stack.\n *\n * @param {number} opt_ignoreFrames The optional number of stack frames to\n * ignore. The actual 'getStack' call is always ignored.\n */\nlib.f.getStack = function(opt_ignoreFrames) {\n var ignoreFrames = opt_ignoreFrames ? opt_ignoreFrames + 2 : 2;\n\n var stackArray;\n\n try {\n throw new Error();\n } catch (ex) {\n stackArray = ex.stack.split('\\n');\n }\n\n var stackObject = {};\n for (var i = ignoreFrames; i < stackArray.length; i++) {\n stackObject[i - ignoreFrames] = stackArray[i].replace(/^\\s*at\\s+/, '');\n }\n\n return stackObject;\n};\n\n/**\n * Divides the two numbers and floors the results, unless the remainder is less\n * than an incredibly small value, in which case it returns the ceiling.\n * This is useful when the number are truncated approximations of longer\n * values, and so doing division with these numbers yields a result incredibly\n * close to a whole number.\n *\n * @param {number} numerator\n * @param {number} denominator\n * @return {number}\n */\nlib.f.smartFloorDivide = function(numerator, denominator) {\n var val = numerator / denominator;\n var ceiling = Math.ceil(val);\n if (ceiling - val < .0001) {\n return ceiling;\n } else {\n return Math.floor(val);\n }\n};\n\n/**\n * Get a random integer in a range (inclusive).\n *\n * @param {number} min The lowest integer in the range.\n * @param {number} max The highest integer in the range.\n * @return {number} A random number between min & max.\n */\nlib.f.randomInt = function(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\n// SOURCE FILE: libdot/js/lib_message_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * MessageManager class handles internationalized strings.\n *\n * Note: chrome.i18n isn't sufficient because...\n * 1. There's a bug in chrome that makes it unavailable in iframes:\n * https://crbug.com/130200\n * 2. The client code may not be packaged in a Chrome extension.\n * 3. The client code may be part of a library packaged in a third-party\n * Chrome extension.\n *\n * @param {Array} languages List of languages to load, in the order they\n * should be loaded. Newer messages replace older ones. 'en' is\n * automatically added as the first language if it is not already present.\n */\nlib.MessageManager = function(languages) {\n this.languages_ = languages.map(\n function(el) { return el.replace(/-/g, '_') });\n\n if (this.languages_.indexOf('en') == -1)\n this.languages_.unshift('en');\n\n this.messages = {};\n};\n\n/**\n * Add message definitions to the message manager.\n *\n * This takes an object of the same format of a Chrome messages.json file. See\n * .\n */\nlib.MessageManager.prototype.addMessages = function(defs) {\n for (var key in defs) {\n var def = defs[key];\n\n if (!def.placeholders) {\n this.messages[key] = def.message;\n } else {\n // Replace \"$NAME$\" placeholders with \"$1\", etc.\n this.messages[key] = def.message.replace(\n /\\$([a-z][^\\s\\$]+)\\$/ig,\n function(m, name) {\n return defs[key].placeholders[name.toLowerCase()].content;\n });\n }\n }\n};\n\n/**\n * Load the first available language message bundle.\n *\n * @param {string} pattern A url pattern containing a \"$1\" where the locale\n * name should go.\n * @param {function(Array,Array)} onComplete Function to be called when loading\n * is complete. The two arrays are the list of successful and failed\n * locale names. If the first parameter is length 0, no locales were\n * loaded.\n */\nlib.MessageManager.prototype.findAndLoadMessages = function(\n pattern, onComplete) {\n var languages = this.languages_.concat();\n var loaded = [];\n var failed = [];\n\n function onLanguageComplete(state) {\n if (state) {\n loaded = languages.shift();\n } else {\n failed = languages.shift();\n }\n\n if (languages.length) {\n tryNextLanguage();\n } else {\n onComplete(loaded, failed);\n }\n }\n\n var tryNextLanguage = function() {\n this.loadMessages(this.replaceReferences(pattern, languages),\n onLanguageComplete.bind(this, true),\n onLanguageComplete.bind(this, false));\n }.bind(this);\n\n tryNextLanguage();\n};\n\n/**\n * Load messages from a messages.json file.\n */\nlib.MessageManager.prototype.loadMessages = function(\n url, onSuccess, opt_onError) {\n var xhr = new XMLHttpRequest();\n\n xhr.onloadend = function() {\n if (xhr.status != 200) {\n if (opt_onError)\n opt_onError(xhr.status);\n\n return;\n }\n\n this.addMessages(JSON.parse(xhr.responseText));\n onSuccess();\n }.bind(this);\n\n xhr.open('GET', url);\n xhr.send();\n};\n\n/**\n * Replace $1...$n references with the elements of the args array.\n *\n * @param {string} msg String containing the message and argument references.\n * @param {Array} args Array containing the argument values.\n */\nlib.MessageManager.replaceReferences = function(msg, args) {\n return msg.replace(/\\$(\\d+)/g, function (m, index) {\n return args[index - 1];\n });\n};\n\n/**\n * Per-instance copy of replaceReferences.\n */\nlib.MessageManager.prototype.replaceReferences =\n lib.MessageManager.replaceReferences;\n\n/**\n * Get a message by name, optionally replacing arguments too.\n *\n * @param {string} msgname String containing the name of the message to get.\n * @param {Array} opt_args Optional array containing the argument values.\n * @param {string} opt_default Optional value to return if the msgname is not\n * found. Returns the message name by default.\n */\nlib.MessageManager.prototype.get = function(msgname, opt_args, opt_default) {\n var message;\n\n if (msgname in this.messages) {\n message = this.messages[msgname];\n\n } else {\n if (window.chrome.i18n)\n message = chrome.i18n.getMessage(msgname);\n\n if (!message) {\n console.warn('Unknown message: ' + msgname);\n return (typeof opt_default == 'undefined') ? msgname : opt_default;\n }\n }\n\n if (!opt_args)\n return message;\n\n if (!(opt_args instanceof Array))\n opt_args = [opt_args];\n\n return this.replaceReferences(message, opt_args);\n};\n\n/**\n * Process all of the \"i18n\" html attributes found in a given dom fragment.\n *\n * The real work happens in processI18nAttribute.\n */\nlib.MessageManager.prototype.processI18nAttributes = function(dom) {\n var nodes = dom.querySelectorAll('[i18n]');\n\n for (var i = 0; i < nodes.length; i++)\n this.processI18nAttribute(nodes[i]);\n};\n\n/**\n * Process the \"i18n\" attribute in the specified node.\n *\n * The i18n attribute should contain a JSON object. The keys are taken to\n * be attribute names, and the values are message names.\n *\n * If the JSON object has a \"_\" (underscore) key, its value is used as the\n * textContent of the element.\n *\n * Message names can refer to other attributes on the same element with by\n * prefixing with a dollar sign. For example...\n *\n * \n *\n * The aria-label message name will be computed as \"SEND_BUTTON_ARIA_LABEL\".\n * Notice that the \"id\" attribute was appended to the target attribute, and\n * the result converted to UPPER_AND_UNDER style.\n */\nlib.MessageManager.prototype.processI18nAttribute = function(node) {\n // Convert the \"lower-and-dashes\" attribute names into\n // \"UPPER_AND_UNDER\" style.\n function thunk(str) { return str.replace(/-/g, '_').toUpperCase() }\n\n var i18n = node.getAttribute('i18n');\n if (!i18n)\n return;\n\n try {\n i18n = JSON.parse(i18n);\n } catch (ex) {\n console.error('Can\\'t parse ' + node.tagName + '#' + node.id + ': ' + i18n);\n throw ex;\n }\n\n // Load all the messages specified in the i18n attributes.\n for (var key in i18n) {\n // The node attribute we'll be setting.\n var attr = key;\n\n var msgname = i18n[key];\n // For \"=foo\", re-use the referenced message name.\n if (msgname.startsWith('=')) {\n key = msgname.substr(1);\n msgname = i18n[key];\n }\n\n // For \"$foo\", calculate the message name.\n if (msgname.startsWith('$'))\n msgname = thunk(node.getAttribute(msgname.substr(1)) + '_' + key);\n\n // Finally load the message.\n var msg = this.get(msgname);\n if (attr == '_')\n node.textContent = msg;\n else\n node.setAttribute(attr, msg);\n }\n};\n// SOURCE FILE: libdot/js/lib_preference_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Constructor for lib.PreferenceManager objects.\n *\n * These objects deal with persisting changes to stable storage and notifying\n * consumers when preferences change.\n *\n * It is intended that the backing store could be something other than HTML5\n * storage, but there aren't any use cases at the moment. In the future there\n * may be a chrome api to store sync-able name/value pairs, and we'd want\n * that.\n *\n * @param {lib.Storage.*} storage The storage object to use as a backing\n * store.\n * @param {string} opt_prefix The optional prefix to be used for all preference\n * names. The '/' character should be used to separate levels of hierarchy,\n * if you're going to have that kind of thing. If provided, the prefix\n * should start with a '/'. If not provided, it defaults to '/'.\n */\nlib.PreferenceManager = function(storage, opt_prefix) {\n this.storage = storage;\n this.storageObserver_ = this.onStorageChange_.bind(this);\n\n this.isActive_ = false;\n this.activate();\n\n this.trace = false;\n\n var prefix = opt_prefix || '/';\n if (!prefix.endsWith('/'))\n prefix += '/';\n\n this.prefix = prefix;\n\n this.prefRecords_ = {};\n this.globalObservers_ = [];\n\n this.childFactories_ = {};\n\n // Map of list-name to {map of child pref managers}\n // As in...\n //\n // this.childLists_ = {\n // 'profile-ids': {\n // 'one': PreferenceManager,\n // 'two': PreferenceManager,\n // ...\n // },\n //\n // 'frob-ids': {\n // ...\n // }\n // }\n this.childLists_ = {};\n};\n\n/**\n * Used internally to indicate that the current value of the preference should\n * be taken from the default value defined with the preference.\n *\n * Equality tests against this value MUST use '===' or '!==' to be accurate.\n */\nlib.PreferenceManager.prototype.DEFAULT_VALUE = lib.f.createEnum('DEFAULT');\n\n/**\n * An individual preference.\n *\n * These objects are managed by the PreferenceManager, you shouldn't need to\n * handle them directly.\n */\nlib.PreferenceManager.Record = function(name, defaultValue) {\n this.name = name;\n this.defaultValue = defaultValue;\n this.currentValue = this.DEFAULT_VALUE;\n this.observers = [];\n};\n\n/**\n * A local copy of the DEFAULT_VALUE constant to make it less verbose.\n */\nlib.PreferenceManager.Record.prototype.DEFAULT_VALUE =\n lib.PreferenceManager.prototype.DEFAULT_VALUE;\n\n/**\n * Register a callback to be invoked when this preference changes.\n *\n * @param {function(value, string, lib.PreferenceManager} observer The function\n * to invoke. It will receive the new value, the name of the preference,\n * and a reference to the PreferenceManager as parameters.\n */\nlib.PreferenceManager.Record.prototype.addObserver = function(observer) {\n this.observers.push(observer);\n};\n\n/**\n * Unregister an observer callback.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.PreferenceManager.Record.prototype.removeObserver = function(observer) {\n var i = this.observers.indexOf(observer);\n if (i >= 0)\n this.observers.splice(i, 1);\n};\n\n/**\n * Fetch the value of this preference.\n */\nlib.PreferenceManager.Record.prototype.get = function() {\n if (this.currentValue === this.DEFAULT_VALUE) {\n if (/^(string|number)$/.test(typeof this.defaultValue))\n return this.defaultValue;\n\n if (typeof this.defaultValue == 'object') {\n // We want to return a COPY of the default value so that users can\n // modify the array or object without changing the default value.\n return JSON.parse(JSON.stringify(this.defaultValue));\n }\n\n return this.defaultValue;\n }\n\n return this.currentValue;\n};\n\n/**\n * Stop this preference manager from tracking storage changes.\n *\n * Call this if you're going to swap out one preference manager for another so\n * that you don't get notified about irrelevant changes.\n */\nlib.PreferenceManager.prototype.deactivate = function() {\n if (!this.isActive_)\n throw new Error('Not activated');\n\n this.isActive_ = false;\n this.storage.removeObserver(this.storageObserver_);\n};\n\n/**\n * Start tracking storage changes.\n *\n * If you previously deactivated this preference manager, you can reactivate it\n * with this method. You don't need to call this at initialization time, as\n * it's automatically called as part of the constructor.\n */\nlib.PreferenceManager.prototype.activate = function() {\n if (this.isActive_)\n throw new Error('Already activated');\n\n this.isActive_ = true;\n this.storage.addObserver(this.storageObserver_);\n};\n\n/**\n * Read the backing storage for these preferences.\n *\n * You should do this once at initialization time to prime the local cache\n * of preference values. The preference manager will monitor the backing\n * storage for changes, so you should not need to call this more than once.\n *\n * This function recursively reads storage for all child preference managers as\n * well.\n *\n * This function is asynchronous, if you need to read preference values, you\n * *must* wait for the callback.\n *\n * @param {function()} opt_callback Optional function to invoke when the read\n * has completed.\n */\nlib.PreferenceManager.prototype.readStorage = function(opt_callback) {\n var pendingChildren = 0;\n\n function onChildComplete() {\n if (--pendingChildren == 0 && opt_callback)\n opt_callback();\n }\n\n var keys = Object.keys(this.prefRecords_).map(\n function(el) { return this.prefix + el }.bind(this));\n\n if (this.trace)\n console.log('Preferences read: ' + this.prefix);\n\n this.storage.getItems(keys, function(items) {\n var prefixLength = this.prefix.length;\n\n for (var key in items) {\n var value = items[key];\n var name = key.substr(prefixLength);\n var needSync = (name in this.childLists_ &&\n (JSON.stringify(value) !=\n JSON.stringify(this.prefRecords_[name].currentValue)));\n\n this.prefRecords_[name].currentValue = value;\n\n if (needSync) {\n pendingChildren++;\n this.syncChildList(name, onChildComplete);\n }\n }\n\n if (pendingChildren == 0 && opt_callback)\n setTimeout(opt_callback);\n }.bind(this));\n};\n\n/**\n * Define a preference.\n *\n * This registers a name, default value, and onChange handler for a preference.\n *\n * @param {string} name The name of the preference. This will be prefixed by\n * the prefix of this PreferenceManager before written to local storage.\n * @param {string|number|boolean|Object|Array|null} value The default value of\n * this preference. Anything that can be represented in JSON is a valid\n * default value.\n * @param {function(value, string, lib.PreferenceManager} opt_observer A\n * function to invoke when the preference changes. It will receive the new\n * value, the name of the preference, and a reference to the\n * PreferenceManager as parameters.\n */\nlib.PreferenceManager.prototype.definePreference = function(\n name, value, opt_onChange) {\n\n var record = this.prefRecords_[name];\n if (record) {\n this.changeDefault(name, value);\n } else {\n record = this.prefRecords_[name] =\n new lib.PreferenceManager.Record(name, value);\n }\n\n if (opt_onChange)\n record.addObserver(opt_onChange);\n};\n\n/**\n * Define multiple preferences with a single function call.\n *\n * @param {Array} defaults An array of 3-element arrays. Each three element\n * array should contain the [key, value, onChange] parameters for a\n * preference.\n */\nlib.PreferenceManager.prototype.definePreferences = function(defaults) {\n for (var i = 0; i < defaults.length; i++) {\n this.definePreference(defaults[i][0], defaults[i][1], defaults[i][2]);\n }\n};\n\n/**\n * Define an ordered list of child preferences.\n *\n * Child preferences are different from just storing an array of JSON objects\n * in that each child is an instance of a preference manager. This means you\n * can observe changes to individual child preferences, and get some validation\n * that you're not reading or writing to an undefined child preference value.\n *\n * @param {string} listName A name for the list of children. This must be\n * unique in this preference manager. The listName will become a\n * preference on this PreferenceManager used to store the ordered list of\n * child ids. It is also used in get/add/remove operations to identify the\n * list of children to operate on.\n * @param {function} childFactory A function that will be used to generate\n * instances of these children. The factory function will receive the\n * parent lib.PreferenceManager object and a unique id for the new child\n * preferences.\n */\nlib.PreferenceManager.prototype.defineChildren = function(\n listName, childFactory) {\n\n // Define a preference to hold the ordered list of child ids.\n this.definePreference(listName, [],\n this.onChildListChange_.bind(this, listName));\n this.childFactories_[listName] = childFactory;\n this.childLists_[listName] = {};\n};\n\n/**\n * Register to observe preference changes.\n *\n * @param {Function} global A callback that will happen for every preference.\n * Pass null if you don't need one.\n * @param {Object} map A map of preference specific callbacks. Pass null if\n * you don't need any.\n */\nlib.PreferenceManager.prototype.addObservers = function(global, map) {\n if (global && typeof global != 'function')\n throw new Error('Invalid param: globals');\n\n if (global)\n this.globalObservers_.push(global);\n\n if (!map)\n return;\n\n for (var name in map) {\n if (!(name in this.prefRecords_))\n throw new Error('Unknown preference: ' + name);\n\n this.prefRecords_[name].addObserver(map[name]);\n }\n};\n\n/**\n * Dispatch the change observers for all known preferences.\n *\n * It may be useful to call this after readStorage completes, in order to\n * get application state in sync with user preferences.\n *\n * This can be used if you've changed a preference manager out from under\n * a live object, for example when switching to a different prefix.\n */\nlib.PreferenceManager.prototype.notifyAll = function() {\n for (var name in this.prefRecords_) {\n this.notifyChange_(name);\n }\n};\n\n/**\n * Notify the change observers for a given preference.\n *\n * @param {string} name The name of the preference that changed.\n */\nlib.PreferenceManager.prototype.notifyChange_ = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n var currentValue = record.get();\n\n for (var i = 0; i < this.globalObservers_.length; i++)\n this.globalObservers_[i](name, currentValue);\n\n for (var i = 0; i < record.observers.length; i++) {\n record.observers[i](currentValue, name, this);\n }\n};\n\n/**\n * Create a new child PreferenceManager for the given child list.\n *\n * The optional hint parameter is an opaque prefix added to the auto-generated\n * unique id for this child. Your child factory can parse out the prefix\n * and use it.\n *\n * @param {string} listName The child list to create the new instance from.\n * @param {string} opt_hint Optional hint to include in the child id.\n * @param {string} opt_id Optional id to override the generated id.\n */\nlib.PreferenceManager.prototype.createChild = function(listName, opt_hint,\n opt_id) {\n var ids = this.get(listName);\n var id;\n\n if (opt_id) {\n id = opt_id;\n if (ids.indexOf(id) != -1)\n throw new Error('Duplicate child: ' + listName + ': ' + id);\n\n } else {\n // Pick a random, unique 4-digit hex identifier for the new profile.\n while (!id || ids.indexOf(id) != -1) {\n id = lib.f.randomInt(1, 0xffff).toString(16);\n id = lib.f.zpad(id, 4);\n if (opt_hint)\n id = opt_hint + ':' + id;\n }\n }\n\n var childManager = this.childFactories_[listName](this, id);\n childManager.trace = this.trace;\n childManager.resetAll();\n\n this.childLists_[listName][id] = childManager;\n\n ids.push(id);\n this.set(listName, ids);\n\n return childManager;\n};\n\n/**\n * Remove a child preferences instance.\n *\n * Removes a child preference manager and clears any preferences stored in it.\n *\n * @param {string} listName The name of the child list containing the child to\n * remove.\n * @param {string} id The child ID.\n */\nlib.PreferenceManager.prototype.removeChild = function(listName, id) {\n var prefs = this.getChild(listName, id);\n prefs.resetAll();\n\n var ids = this.get(listName);\n var i = ids.indexOf(id);\n if (i != -1) {\n ids.splice(i, 1);\n this.set(listName, ids);\n }\n\n delete this.childLists_[listName][id];\n};\n\n/**\n * Return a child PreferenceManager instance for a given id.\n *\n * If the child list or child id is not known this will return the specified\n * default value or throw an exception if no default value is provided.\n *\n * @param {string} listName The child list to look in.\n * @param {string} id The child ID.\n * @param {*} opt_default The optional default value to return if the child\n * is not found.\n */\nlib.PreferenceManager.prototype.getChild = function(listName, id, opt_default) {\n if (!(listName in this.childLists_))\n throw new Error('Unknown child list: ' + listName);\n\n var childList = this.childLists_[listName];\n if (!(id in childList)) {\n if (typeof opt_default == 'undefined')\n throw new Error('Unknown \"' + listName + '\" child: ' + id);\n\n return opt_default;\n }\n\n return childList[id];\n};\n\n/**\n * Calculate the difference between two lists of child ids.\n *\n * Given two arrays of child ids, this function will return an object\n * with \"added\", \"removed\", and \"common\" properties. Each property is\n * a map of child-id to `true`. For example, given...\n *\n * a = ['child-x', 'child-y']\n * b = ['child-y']\n *\n * diffChildLists(a, b) =>\n * { added: { 'child-x': true }, removed: {}, common: { 'child-y': true } }\n *\n * The added/removed properties assume that `a` is the current list.\n *\n * @param {Array[string]} a The most recent list of child ids.\n * @param {Array[string]} b An older list of child ids.\n * @return {Object} An object with added/removed/common properties.\n */\nlib.PreferenceManager.diffChildLists = function(a, b) {\n var rv = {\n added: {},\n removed: {},\n common: {},\n };\n\n for (var i = 0; i < a.length; i++) {\n if (b.indexOf(a[i]) != -1) {\n rv.common[a[i]] = true;\n } else {\n rv.added[a[i]] = true;\n }\n }\n\n for (var i = 0; i < b.length; i++) {\n if ((b[i] in rv.added) || (b[i] in rv.common))\n continue;\n\n rv.removed[b[i]] = true;\n }\n\n return rv;\n};\n\n/**\n * Synchronize a list of child PreferenceManagers instances with the current\n * list stored in prefs.\n *\n * This will instantiate any missing managers and read current preference values\n * from storage. Any active managers that no longer appear in preferences will\n * be deleted.\n *\n * @param {string} listName The child list to synchronize.\n * @param {function()} opt_callback Optional function to invoke when the sync\n * is complete.\n */\nlib.PreferenceManager.prototype.syncChildList = function(\n listName, opt_callback) {\n\n var pendingChildren = 0;\n function onChildStorage() {\n if (--pendingChildren == 0 && opt_callback)\n opt_callback();\n }\n\n // The list of child ids that we *should* have a manager for.\n var currentIds = this.get(listName);\n\n // The known managers at the start of the sync. Any manager still in this\n // list at the end should be discarded.\n var oldIds = Object.keys(this.childLists_[listName]);\n\n var rv = lib.PreferenceManager.diffChildLists(currentIds, oldIds);\n\n for (var i = 0; i < currentIds.length; i++) {\n var id = currentIds[i];\n\n var managerIndex = oldIds.indexOf(id);\n if (managerIndex >= 0)\n oldIds.splice(managerIndex, 1);\n\n if (!this.childLists_[listName][id]) {\n var childManager = this.childFactories_[listName](this, id);\n if (!childManager) {\n console.warn('Unable to restore child: ' + listName + ': ' + id);\n continue;\n }\n\n childManager.trace = this.trace;\n this.childLists_[listName][id] = childManager;\n pendingChildren++;\n childManager.readStorage(onChildStorage);\n }\n }\n\n for (var i = 0; i < oldIds.length; i++) {\n delete this.childLists_[listName][oldIds[i]];\n }\n\n if (!pendingChildren && opt_callback)\n setTimeout(opt_callback);\n};\n\n/**\n * Reset a preference to its default state.\n *\n * This will dispatch the onChange handler if the preference value actually\n * changes.\n *\n * @param {string} name The preference to reset.\n */\nlib.PreferenceManager.prototype.reset = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n this.storage.removeItem(this.prefix + name);\n\n if (record.currentValue !== this.DEFAULT_VALUE) {\n record.currentValue = this.DEFAULT_VALUE;\n this.notifyChange_(name);\n }\n};\n\n/**\n * Reset all preferences back to their default state.\n */\nlib.PreferenceManager.prototype.resetAll = function() {\n var changed = [];\n\n for (var listName in this.childLists_) {\n var childList = this.childLists_[listName];\n for (var id in childList) {\n childList[id].resetAll();\n }\n }\n\n for (var name in this.prefRecords_) {\n if (this.prefRecords_[name].currentValue !== this.DEFAULT_VALUE) {\n this.prefRecords_[name].currentValue = this.DEFAULT_VALUE;\n changed.push(name);\n }\n }\n\n var keys = Object.keys(this.prefRecords_).map(function(el) {\n return this.prefix + el;\n }.bind(this));\n\n this.storage.removeItems(keys);\n\n changed.forEach(this.notifyChange_.bind(this));\n};\n\n/**\n * Return true if two values should be considered not-equal.\n *\n * If both values are the same scalar type and compare equal this function\n * returns false (no difference), otherwise return true.\n *\n * This is used in places where we want to check if a preference has changed.\n * Rather than take the time to compare complex values we just consider them\n * to always be different.\n *\n * @param {*} a A value to compare.\n * @param {*} b A value to compare.\n */\nlib.PreferenceManager.prototype.diff = function(a, b) {\n // If the types are different, or the type is not a simple primitive one.\n if ((typeof a) !== (typeof b) ||\n !(/^(undefined|boolean|number|string)$/.test(typeof a))) {\n return true;\n }\n\n return a !== b;\n};\n\n/**\n * Change the default value of a preference.\n *\n * This is useful when subclassing preference managers.\n *\n * The function does not alter the current value of the preference, unless\n * it has the old default value. When that happens, the change observers\n * will be notified.\n *\n * @param {string} name The name of the parameter to change.\n * @param {*} newValue The new default value for the preference.\n */\nlib.PreferenceManager.prototype.changeDefault = function(name, newValue) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n if (!this.diff(record.defaultValue, newValue)) {\n // Default value hasn't changed.\n return;\n }\n\n if (record.currentValue !== this.DEFAULT_VALUE) {\n // This pref has a specific value, just change the default and we're done.\n record.defaultValue = newValue;\n return;\n }\n\n record.defaultValue = newValue;\n\n this.notifyChange_(name);\n};\n\n/**\n * Change the default value of multiple preferences.\n *\n * @param {Object} map A map of name -> value pairs specifying the new default\n * values.\n */\nlib.PreferenceManager.prototype.changeDefaults = function(map) {\n for (var key in map) {\n this.changeDefault(key, map[key]);\n }\n};\n\n/**\n * Set a preference to a specific value.\n *\n * This will dispatch the onChange handler if the preference value actually\n * changes.\n *\n * @param {string} key The preference to set.\n * @param {*} value The value to set. Anything that can be represented in\n * JSON is a valid value.\n */\nlib.PreferenceManager.prototype.set = function(name, newValue) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n var oldValue = record.get();\n\n if (!this.diff(oldValue, newValue))\n return;\n\n if (this.diff(record.defaultValue, newValue)) {\n record.currentValue = newValue;\n this.storage.setItem(this.prefix + name, newValue);\n } else {\n record.currentValue = this.DEFAULT_VALUE;\n this.storage.removeItem(this.prefix + name);\n }\n\n // We need to manually send out the notification on this instance. If we\n // The storage event won't fire a notification because we've already changed\n // the currentValue, so it won't see a difference. If we delayed changing\n // currentValue until the storage event, a pref read immediately after a write\n // would return the previous value.\n //\n // The notification is in a timeout so clients don't accidentally depend on\n // a synchronous notification.\n setTimeout(this.notifyChange_.bind(this, name), 0);\n};\n\n/**\n * Get the value of a preference.\n *\n * @param {string} key The preference to get.\n */\nlib.PreferenceManager.prototype.get = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n return record.get();\n};\n\n/**\n * Return all non-default preferences as a JSON object.\n *\n * This includes any nested preference managers as well.\n */\nlib.PreferenceManager.prototype.exportAsJson = function() {\n var rv = {};\n\n for (var name in this.prefRecords_) {\n if (name in this.childLists_) {\n rv[name] = [];\n var childIds = this.get(name);\n for (var i = 0; i < childIds.length; i++) {\n var id = childIds[i];\n rv[name].push({id: id, json: this.getChild(name, id).exportAsJson()});\n }\n\n } else {\n var record = this.prefRecords_[name];\n if (record.currentValue != this.DEFAULT_VALUE)\n rv[name] = record.currentValue;\n }\n }\n\n return rv;\n};\n\n/**\n * Import a JSON blob of preferences previously generated with exportAsJson.\n *\n * This will create nested preference managers as well.\n */\nlib.PreferenceManager.prototype.importFromJson = function(json) {\n for (var name in json) {\n if (name in this.childLists_) {\n var childList = json[name];\n for (var i = 0; i < childList.length; i++) {\n var id = childList[i].id;\n\n var childPrefManager = this.childLists_[name][id];\n if (!childPrefManager)\n childPrefManager = this.createChild(name, null, id);\n\n childPrefManager.importFromJson(childList[i].json);\n }\n\n } else {\n this.set(name, json[name]);\n }\n }\n};\n\n/**\n * Called when one of the child list preferences changes.\n */\nlib.PreferenceManager.prototype.onChildListChange_ = function(listName) {\n this.syncChildList(listName);\n};\n\n/**\n * Called when a key in the storage changes.\n */\nlib.PreferenceManager.prototype.onStorageChange_ = function(map) {\n for (var key in map) {\n if (this.prefix) {\n if (key.lastIndexOf(this.prefix, 0) != 0)\n continue;\n }\n\n var name = key.substr(this.prefix.length);\n\n if (!(name in this.prefRecords_)) {\n // Sometimes we'll get notified about prefs that are no longer defined.\n continue;\n }\n\n var record = this.prefRecords_[name];\n\n var newValue = map[key].newValue;\n var currentValue = record.currentValue;\n if (currentValue === record.DEFAULT_VALUE)\n currentValue = (void 0);\n\n if (this.diff(currentValue, newValue)) {\n if (typeof newValue == 'undefined' || newValue === null) {\n record.currentValue = record.DEFAULT_VALUE;\n } else {\n record.currentValue = newValue;\n }\n\n this.notifyChange_(name);\n }\n }\n};\n// SOURCE FILE: libdot/js/lib_resource.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Storage for canned resources.\n *\n * These are usually non-JavaScript things that are collected during a build\n * step and converted into a series of 'lib.resource.add(...)' calls. See\n * the \"@resource\" directive from libdot/bin/concat.sh for the canonical use\n * case.\n *\n * This is global storage, so you should prefix your resource names to avoid\n * collisions.\n */\nlib.resource = {\n resources_: {}\n};\n\n/**\n * Add a resource.\n *\n * @param {string} name A name for the resource. You should prefix this to\n * avoid collisions with resources from a shared library.\n * @param {string} type A mime type for the resource, or \"raw\" if not\n * applicable.\n * @param {*} data The value of the resource.\n */\nlib.resource.add = function(name, type, data) {\n lib.resource.resources_[name] = {\n type: type,\n name: name,\n data: data\n };\n};\n\n/**\n * Retrieve a resource record.\n *\n * The resource data is stored on the \"data\" property of the returned object.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {object} An object with \"type\", \"name\", and \"data\" properties.\n */\nlib.resource.get = function(name, opt_defaultValue) {\n if (!(name in lib.resource.resources_)) {\n if (typeof opt_defaultValue == 'undefined')\n throw 'Unknown resource: ' + name;\n\n return opt_defaultValue;\n }\n\n return lib.resource.resources_[name];\n};\n\n/**\n * Retrieve resource data.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {*} The resource data.\n */\nlib.resource.getData = function(name, opt_defaultValue) {\n if (!(name in lib.resource.resources_)) {\n if (typeof opt_defaultValue == 'undefined')\n throw 'Unknown resource: ' + name;\n\n return opt_defaultValue;\n }\n\n return lib.resource.resources_[name].data;\n};\n\n/**\n * Retrieve resource as a data: url.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {*} A data: url encoded version of the resource.\n */\nlib.resource.getDataUrl = function(name, opt_defaultValue) {\n var resource = lib.resource.get(name, opt_defaultValue);\n return 'data:' + resource.type + ',' + resource.data;\n};\n// SOURCE FILE: libdot/js/lib_storage.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Namespace for implementations of persistent, possibly cloud-backed\n * storage.\n */\nlib.Storage = new Object();\n// SOURCE FILE: libdot/js/lib_storage_chrome.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * chrome.storage based class with an async interface that is interchangeable\n * with other lib.Storage.* implementations.\n */\nlib.Storage.Chrome = function(storage) {\n this.storage_ = storage;\n this.observers_ = [];\n\n chrome.storage.onChanged.addListener(this.onChanged_.bind(this));\n};\n\n/**\n * Called by the storage implementation when the storage is modified.\n */\nlib.Storage.Chrome.prototype.onChanged_ = function(changes, areaname) {\n if (chrome.storage[areaname] != this.storage_)\n return;\n\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](changes);\n }\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Chrome.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Chrome.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Chrome.prototype.clear = function(opt_callback) {\n this.storage_.clear();\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Chrome.prototype.getItem = function(key, callback) {\n this.storage_.get(key, callback);\n};\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\n\nlib.Storage.Chrome.prototype.getItems = function(keys, callback) {\n this.storage_.get(keys, callback);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.setItem = function(key, value, opt_callback) {\n var obj = {};\n obj[key] = value;\n this.storage_.set(obj, opt_callback);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.setItems = function(obj, opt_callback) {\n this.storage_.set(obj, opt_callback);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.removeItem = function(key, opt_callback) {\n this.storage_.remove(key, opt_callback);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.removeItems = function(keys, opt_callback) {\n this.storage_.remove(keys, opt_callback);\n};\n// SOURCE FILE: libdot/js/lib_storage_local.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * window.localStorage based class with an async interface that is\n * interchangeable with other lib.Storage.* implementations.\n */\nlib.Storage.Local = function() {\n this.observers_ = [];\n this.storage_ = window.localStorage;\n window.addEventListener('storage', this.onStorage_.bind(this));\n};\n\n/**\n * Called by the storage implementation when the storage is modified.\n */\nlib.Storage.Local.prototype.onStorage_ = function(e) {\n if (e.storageArea != this.storage_)\n return;\n\n // JS throws an exception if JSON.parse is given an empty string. So here we\n // only parse if the value is truthy. This mean the empty string, undefined\n // and null will not be parsed.\n var prevValue = e.oldValue ? JSON.parse(e.oldValue) : e.oldValue;\n var curValue = e.newValue ? JSON.parse(e.newValue) : e.newValue;\n var o = {};\n o[e.key] = {\n oldValue: prevValue,\n newValue: curValue\n };\n\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](o);\n }\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Local.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Local.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Local.prototype.clear = function(opt_callback) {\n this.storage_.clear();\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Local.prototype.getItem = function(key, callback) {\n var value = this.storage_.getItem(key);\n\n if (typeof value == 'string') {\n try {\n value = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n }\n }\n\n setTimeout(callback.bind(null, value), 0);\n};\n\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\nlib.Storage.Local.prototype.getItems = function(keys, callback) {\n var rv = {};\n\n for (var i = keys.length - 1; i >= 0; i--) {\n var key = keys[i];\n var value = this.storage_.getItem(key);\n if (typeof value == 'string') {\n try {\n rv[key] = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n rv[key] = value;\n }\n } else {\n keys.splice(i, 1);\n }\n }\n\n setTimeout(callback.bind(null, rv), 0);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.setItem = function(key, value, opt_callback) {\n this.storage_.setItem(key, JSON.stringify(value));\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.setItems = function(obj, opt_callback) {\n for (var key in obj) {\n this.storage_.setItem(key, JSON.stringify(obj[key]));\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.removeItem = function(key, opt_callback) {\n this.storage_.removeItem(key);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.removeItems = function(ary, opt_callback) {\n for (var i = 0; i < ary.length; i++) {\n this.storage_.removeItem(ary[i]);\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n// SOURCE FILE: libdot/js/lib_storage_memory.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * In-memory storage class with an async interface that is interchangeable with\n * other lib.Storage.* implementations.\n */\nlib.Storage.Memory = function() {\n this.observers_ = [];\n this.storage_ = {};\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Memory.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Memory.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Memory.prototype.clear = function(opt_callback) {\n var e = {};\n for (var key in this.storage_) {\n e[key] = {oldValue: this.storage_[key], newValue: (void 0)};\n }\n\n this.storage_ = {};\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this), 0);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Memory.prototype.getItem = function(key, callback) {\n var value = this.storage_[key];\n\n if (typeof value == 'string') {\n try {\n value = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n }\n }\n\n setTimeout(callback.bind(null, value), 0);\n};\n\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\nlib.Storage.Memory.prototype.getItems = function(keys, callback) {\n var rv = {};\n\n for (var i = keys.length - 1; i >= 0; i--) {\n var key = keys[i];\n var value = this.storage_[key];\n if (typeof value == 'string') {\n try {\n rv[key] = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n rv[key] = value;\n }\n } else {\n keys.splice(i, 1);\n }\n }\n\n setTimeout(callback.bind(null, rv), 0);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.setItem = function(key, value, opt_callback) {\n var oldValue = this.storage_[key];\n this.storage_[key] = JSON.stringify(value);\n\n var e = {};\n e[key] = {oldValue: oldValue, newValue: value};\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this), 0);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.setItems = function(obj, opt_callback) {\n var e = {};\n\n for (var key in obj) {\n e[key] = {oldValue: this.storage_[key], newValue: obj[key]};\n this.storage_[key] = JSON.stringify(obj[key]);\n }\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this));\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.removeItem = function(key, opt_callback) {\n delete this.storage_[key];\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.removeItems = function(ary, opt_callback) {\n for (var i = 0; i < ary.length; i++) {\n delete this.storage_[ary[i]];\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n// SOURCE FILE: libdot/js/lib_test_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview JavaScript unit testing framework for synchronous and\n * asynchronous tests.\n *\n * This file contains the lib.TestManager and related classes. At the moment\n * it's all collected in a single file since it's reasonably small\n * (=~1k lines), and it's a lot easier to include one file into your test\n * harness than it is to include seven.\n *\n * The following classes are defined...\n *\n * lib.TestManager - The root class and entrypoint for creating test runs.\n * lib.TestManager.Log - Logging service.\n * lib.TestManager.Suite - A collection of tests.\n * lib.TestManager.Test - A single test.\n * lib.TestManager.TestRun - Manages the execution of a set of tests.\n * lib.TestManager.Result - A single test result.\n */\n\n/**\n * Root object in the unit test hierarchy, and keeper of the log object.\n *\n * @param {lib.TestManager.Log} opt_log Optional lib.TestManager.Log object.\n * Logs to the JavaScript console if omitted.\n */\nlib.TestManager = function(opt_log) {\n this.log = opt_log || new lib.TestManager.Log();\n}\n\n/**\n * Create a new test run object for this test manager.\n *\n * @param {Object} opt_cx An object to be passed to test suite setup(),\n * preamble(), and test cases during this test run. This object is opaque\n * to lib.TestManager.* code. It's entirely up to the test suite what it's\n * used for.\n */\nlib.TestManager.prototype.createTestRun = function(opt_cx) {\n return new lib.TestManager.TestRun(this, opt_cx);\n};\n\n/**\n * Called when a test run associated with this test manager completes.\n *\n * Clients may override this to call an appropriate function.\n */\nlib.TestManager.prototype.onTestRunComplete = function(testRun) {};\n\n/**\n * Called before a test associated with this test manager is run.\n *\n * @param {lib.TestManager.Result} result The result object for the upcoming\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.prototype.testPreamble = function(result, cx) {};\n\n/**\n * Called after a test associated with this test manager finishes.\n *\n * @param {lib.TestManager.Result} result The result object for the finished\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.prototype.testPostamble = function(result, cx) {};\n\n/**\n * Destination for test case output.\n *\n * Thw API will be the same as the console object. e.g. We support info(),\n * warn(), error(), etc... just like console.info(), etc...\n *\n * @param {Object} opt_console The console object to route all logging through.\n * Should provide saome API as the standard console API.\n */\nlib.TestManager.Log = function(opt_console=console) {\n this.save = false;\n this.data = '';\n this.prefix_ = '';\n this.prefixStack_ = 0;\n\n // Capture all the console entry points in case code at runtime calls these\n // directly. We want to be able to still see things.\n // We also expose the direct API to our callers (e.g. we provide warn()).\n this.console_ = opt_console;\n ['log', 'debug', 'info', 'warn', 'error'].forEach((level) => {\n let msgPrefix = '';\n switch (level) {\n case 'debug':\n case 'warn':\n case 'error':\n msgPrefix = level.toUpperCase() + ': ';\n break;\n }\n\n const oLog = this.console_[level];\n this[level] = this.console_[level] = (...args) => {\n if (this.save)\n this.data += this.prefix_ + msgPrefix + args.join(' ') + '\\n';\n oLog.apply(this.console_, args);\n };\n });\n\n // Wrap/bind the group functions.\n ['group', 'groupCollapsed'].forEach((group) => {\n const oGroup = this.console_[group];\n this[group] = this.console_[group] = (label='') => {\n oGroup(label);\n if (this.save)\n this.data += this.prefix_ + label + '\\n';\n this.prefix_ = ' '.repeat(++this.prefixStack_);\n };\n });\n\n const oGroupEnd = this.console_.groupEnd;\n this.groupEnd = this.console_.groupEnd = () => {\n oGroupEnd();\n this.prefix_ = ' '.repeat(--this.prefixStack_);\n };\n};\n\n/**\n * Returns a new constructor function that will inherit from\n * lib.TestManager.Suite.\n *\n * Use this function to create a new test suite subclass. It will return a\n * properly initialized constructor function for the subclass. You can then\n * override the setup() and preamble() methods if necessary and add test cases\n * to the subclass.\n *\n * var MyTests = new lib.TestManager.Suite('MyTests');\n *\n * MyTests.prototype.setup = function(cx) {\n * // Sets this.size to cx.size if it exists, or the default value of 10\n * // if not.\n * this.setDefault(cx, {size: 10});\n * };\n *\n * MyTests.prototype.preamble = function(result, cx) {\n * // Some tests (even successful ones) may side-effect this list, so\n * // recreate it before every test.\n * this.list = [];\n * for (var i = 0; i < this.size; i++) {\n * this.list[i] = i;\n * }\n * };\n *\n * // Basic synchronous test case.\n * MyTests.addTest('pop-length', function(result, cx) {\n * this.list.pop();\n *\n * // If this assertion fails, the testcase will stop here.\n * result.assertEQ(this.list.length, this.size - 1);\n *\n * // A test must indicate it has passed by calling this method.\n * result.pass();\n * });\n *\n * // Sample asynchronous test case.\n * MyTests.addTest('async-pop-length', function(result, cx) {\n * var self = this;\n *\n * var callback = function() {\n * result.assertEQ(self.list.length, self.size - 1);\n * result.pass();\n * };\n *\n * // Wait 100ms to check the array length for the sake of this example.\n * setTimeout(callback, 100);\n *\n * this.list.pop();\n *\n * // Indicate that this test needs another 200ms to complete.\n * // If the test does not report pass/fail by then, it is considered to\n * // have timed out.\n * result.requestTime(200);\n * });\n *\n * ...\n *\n * @param {string} suiteName The name of the test suite.\n */\nlib.TestManager.Suite = function(suiteName) {\n function ctor(testManager, cx) {\n this.testManager_ = testManager;\n this.suiteName = suiteName;\n\n this.setup(cx);\n }\n\n ctor.suiteName = suiteName;\n ctor.addTest = lib.TestManager.Suite.addTest;\n ctor.disableTest = lib.TestManager.Suite.disableTest;\n ctor.getTest = lib.TestManager.Suite.getTest;\n ctor.getTestList = lib.TestManager.Suite.getTestList;\n ctor.testList_ = [];\n ctor.testMap_ = {};\n ctor.prototype = Object.create(lib.TestManager.Suite.prototype);\n ctor.constructor = lib.TestManager.Suite;\n\n lib.TestManager.Suite.subclasses.push(ctor);\n\n return ctor;\n};\n\n/**\n * List of lib.TestManager.Suite subclasses, in the order they were defined.\n */\nlib.TestManager.Suite.subclasses = [];\n\n/**\n * Add a test to a lib.TestManager.Suite.\n *\n * This method is copied to new subclasses when they are created.\n */\nlib.TestManager.Suite.addTest = function(testName, testFunction) {\n if (testName in this.testMap_)\n throw 'Duplicate test name: ' + testName;\n\n var test = new lib.TestManager.Test(this, testName, testFunction);\n this.testMap_[testName] = test;\n this.testList_.push(test);\n};\n\n/**\n * Defines a disabled test.\n */\nlib.TestManager.Suite.disableTest = function(testName, testFunction) {\n if (testName in this.testMap_)\n throw 'Duplicate test name: ' + testName;\n\n var test = new lib.TestManager.Test(this, testName, testFunction);\n console.log('Disabled test: ' + test.fullName);\n};\n\n/**\n * Get a lib.TestManager.Test instance by name.\n *\n * This method is copied to new subclasses when they are created.\n *\n * @param {string} testName The name of the desired test.\n * @return {lib.TestManager.Test} The requested test, or undefined if it was not\n * found.\n */\nlib.TestManager.Suite.getTest = function(testName) {\n return this.testMap_[testName];\n};\n\n/**\n * Get an array of lib.TestManager.Tests associated with this Suite.\n *\n * This method is copied to new subclasses when they are created.\n */\nlib.TestManager.Suite.getTestList = function() {\n return this.testList_;\n};\n\n/**\n * Set properties on a test suite instance, pulling the property value from\n * the context if it exists and from the defaults dictionary if not.\n *\n * This is intended to be used in your test suite's setup() method to\n * define parameters for the test suite which may be overridden through the\n * context object. For example...\n *\n * MySuite.prototype.setup = function(cx) {\n * this.setDefaults(cx, {size: 10});\n * };\n *\n * If the context object has a 'size' property then this.size will be set to\n * the value of cx.size, otherwise this.size will get a default value of 10.\n *\n * @param {Object} cx The context object for a test run.\n * @param {Object} defaults An object containing name/value pairs to set on\n * this test suite instance. The value listed here will be used if the\n * name is not defined on the context object.\n */\nlib.TestManager.Suite.prototype.setDefaults = function(cx, defaults) {\n for (var k in defaults) {\n this[k] = (k in cx) ? cx[k] : defaults[k];\n }\n};\n\n/**\n * Subclassable method called to set up the test suite.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of suite-wide setup, this is the place to do it.\n *\n * It's fine to store state on the test suite instance, that state will be\n * accessible to all tests in the suite. If any test case fails, the entire\n * test suite object will be discarded and a new one will be created for\n * the remaining tests.\n *\n * Any side effects outside of this test suite instance must be idempotent.\n * For example, if you're adding DOM nodes to a document, make sure to first\n * test that they're not already there. If they are, remove them rather than\n * reuse them. You should not count on their state, since they were probably\n * left behind by a failed testcase.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.setup = function(cx) {};\n\n/**\n * Subclassable method called to do pre-test set up.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of pre-test setup, this is the place to do it.\n *\n * This can be used to avoid a bunch of boilerplate setup/teardown code in\n * this suite's testcases.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {lib.TestManager.Result} result The result object for the upcoming\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.preamble = function(result, cx) {};\n\n/**\n * Subclassable method called to do post-test tear-down.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of pre-test setup, this is the place to do it.\n *\n * This can be used to avoid a bunch of boilerplate setup/teardown code in\n * this suite's testcases.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {lib.TestManager.Result} result The result object for the finished\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.postamble = function(result, cx) {};\n\n/**\n * Object representing a single test in a test suite.\n *\n * These are created as part of the lib.TestManager.Suite.addTest() method.\n * You should never have to construct one by hand.\n *\n * @param {lib.TestManager.Suite} suiteClass The test suite class containing\n * this test.\n * @param {string} testName The local name of this test case, not including the\n * test suite name.\n * @param {function(lib.TestManager.Result, Object)} testFunction The function\n * to invoke for this test case. This is passed a Result instance and the\n * context object associated with the test run.\n *\n */\nlib.TestManager.Test = function(suiteClass, testName, testFunction) {\n /**\n * The test suite class containing this function.\n */\n this.suiteClass = suiteClass;\n\n /**\n * The local name of this test, not including the test suite name.\n */\n this.testName = testName;\n\n /**\n * The global name of this test, including the test suite name.\n */\n this.fullName = suiteClass.suiteName + '[' + testName + ']';\n\n // The function to call for this test.\n this.testFunction_ = testFunction;\n};\n\n/**\n * Execute this test.\n *\n * This is called by a lib.TestManager.Result instance, as part of a\n * lib.TestManager.TestRun. You should not call it by hand.\n *\n * @param {lib.TestManager.Result} result The result object for the test.\n */\nlib.TestManager.Test.prototype.run = function(result) {\n try {\n // Tests are applied to the parent lib.TestManager.Suite subclass.\n this.testFunction_.apply(result.suite,\n [result, result.testRun.cx]);\n } catch (ex) {\n if (ex instanceof lib.TestManager.Result.TestComplete)\n return;\n\n result.println('Test raised an exception: ' + ex);\n\n if (ex.stack) {\n if (ex.stack instanceof Array) {\n result.println(ex.stack.join('\\n'));\n } else {\n result.println(ex.stack);\n }\n }\n\n result.completeTest_(result.FAILED, false);\n }\n};\n\n/**\n * Used to choose a set of tests and run them.\n *\n * It's slightly more convenient to construct one of these from\n * lib.TestManager.prototype.createTestRun().\n *\n * @param {lib.TestManager} testManager The testManager associated with this\n * TestRun.\n * @param {Object} cx A context to be passed into the tests. This can be used\n * to set parameters for the test suite or individual test cases.\n */\nlib.TestManager.TestRun = function(testManager, cx) {\n /**\n * The associated lib.TestManager instance.\n */\n this.testManager = testManager;\n\n /**\n * Shortcut to the lib.TestManager's log.\n */\n this.log = testManager.log;\n\n /**\n * The test run context. It's entirely up to the test suite and test cases\n * how this is used. It is opaque to lib.TestManager.* classes.\n */\n this.cx = cx || {};\n\n /**\n * The list of test cases that encountered failures.\n */\n this.failures = [];\n\n /**\n * The list of test cases that passed.\n */\n this.passes = [];\n\n /**\n * The time the test run started, or null if it hasn't been started yet.\n */\n this.startDate = null;\n\n /**\n * The time in milliseconds that the test run took to complete, or null if\n * it hasn't completed yet.\n */\n this.duration = null;\n\n /**\n * The most recent result object, or null if the test run hasn't started\n * yet. In order to detect late failures, this is not cleared when the test\n * completes.\n */\n this.currentResult = null;\n\n /**\n * Number of maximum failures. The test run will stop when this number is\n * reached. If 0 or omitted, the entire set of selected tests is run, even\n * if some fail.\n */\n this.maxFailures = 0;\n\n /**\n * True if this test run ended early because of an unexpected condition.\n */\n this.panic = false;\n\n // List of pending test cases.\n this.testQueue_ = [];\n\n};\n\n/**\n * This value can be passed to select() to indicate that all tests should\n * be selected.\n */\nlib.TestManager.TestRun.prototype.ALL_TESTS = lib.f.createEnum('');\n\n/**\n * Add a single test to the test run.\n */\nlib.TestManager.TestRun.prototype.selectTest = function(test) {\n this.testQueue_.push(test);\n};\n\nlib.TestManager.TestRun.prototype.selectSuite = function(\n suiteClass, opt_pattern) {\n var pattern = opt_pattern || this.ALL_TESTS;\n var selectCount = 0;\n var testList = suiteClass.getTestList();\n\n for (var j = 0; j < testList.length; j++) {\n var test = testList[j];\n // Note that we're using \"!==\" rather than \"!=\" so that we're matching\n // the ALL_TESTS String object, rather than the contents of the string.\n if (pattern !== this.ALL_TESTS) {\n if (pattern instanceof RegExp) {\n if (!pattern.test(test.testName))\n continue;\n } else if (test.testName != pattern) {\n continue;\n }\n }\n\n this.selectTest(test);\n selectCount++;\n }\n\n return selectCount;\n};\n\n/**\n * Selects one or more tests to gather results for.\n *\n * Selecting the same test more than once is allowed.\n *\n * @param {string|RegExp} pattern Pattern used to select tests.\n * If TestRun.prototype.ALL_TESTS, all tests are selected.\n * If a string, only the test that exactly matches is selected.\n * If a RegExp, only tests matching the RegExp are added.\n *\n * @return {int} The number of additional tests that have been selected into\n * this TestRun.\n */\nlib.TestManager.TestRun.prototype.selectPattern = function(pattern) {\n var selectCount = 0;\n\n for (var i = 0; i < lib.TestManager.Suite.subclasses.length; i++) {\n selectCount += this.selectSuite(lib.TestManager.Suite.subclasses[i],\n pattern);\n }\n\n if (!selectCount) {\n this.log.warn('No tests matched selection criteria: ' + pattern);\n }\n\n return selectCount;\n};\n\n/**\n * Hooked up to window.onerror during a test run in order to catch exceptions\n * that would otherwise go uncaught.\n */\nlib.TestManager.TestRun.prototype.onUncaughtException_ = function(\n message, file, line) {\n\n if (message.indexOf('Uncaught lib.TestManager.Result.TestComplete') == 0 ||\n message.indexOf('status: passed') != -1) {\n // This is a result.pass() or result.fail() call from a callback. We're\n // already going to deal with it as part of the completeTest_() call\n // that raised it. We can safely squelch this error message.\n return true;\n }\n\n if (!this.currentResult)\n return;\n\n if (message == 'Uncaught ' + this.currentResult.expectedErrorMessage_) {\n // Test cases may need to raise an unhandled exception as part of the test.\n return;\n }\n\n var when = 'during';\n\n if (this.currentResult.status != this.currentResult.PENDING)\n when = 'after';\n\n this.log.error('Uncaught exception ' + when + ' test case: ' +\n this.currentResult.test.fullName);\n this.log.error(message + ', ' + file + ':' + line);\n\n this.currentResult.completeTest_(this.currentResult.FAILED, false);\n\n return false;\n};\n\n/**\n * Called to when this test run has completed.\n *\n * This method typically re-runs itself asynchronously, in order to let the\n * DOM stabilize and short-term timeouts to complete before declaring the\n * test run complete.\n *\n * @param {boolean} opt_skipTimeout If true, the timeout is skipped and the\n * test run is completed immediately. This should only be used from within\n * this function.\n */\nlib.TestManager.TestRun.prototype.onTestRunComplete_ = function(\n opt_skipTimeout) {\n if (!opt_skipTimeout) {\n // The final test may have left a lingering setTimeout(..., 0), or maybe\n // poked at the DOM in a way that will trigger a event to fire at the end\n // of this stack, so we give things a chance to settle down before our\n // final cleanup...\n setTimeout(this.onTestRunComplete_.bind(this), 0, true);\n return;\n }\n\n this.duration = (new Date()) - this.startDate;\n\n this.log.groupEnd();\n this.log.info(this.passes.length + ' passed, ' +\n this.failures.length + ' failed, ' +\n this.msToSeconds_(this.duration));\n\n this.summarize();\n\n window.onerror = null;\n\n this.testManager.onTestRunComplete(this);\n};\n\n/**\n * Called by the lib.TestManager.Result object when a test completes.\n *\n * @param {lib.TestManager.Result} result The result object which has just\n * completed.\n */\nlib.TestManager.TestRun.prototype.onResultComplete = function(result) {\n try {\n this.testManager.testPostamble(result, this.cx);\n result.suite.postamble(result, this.ctx);\n } catch (ex) {\n this.log.error('Unexpected exception in postamble: ' +\n (ex.stack ? ex.stack : ex));\n this.panic = true;\n }\n\n if (result.status != result.PASSED)\n this.log.error(result.status);\n else if (result.duration > 500)\n this.log.warn('Slow test took ' + this.msToSeconds_(result.duration));\n this.log.groupEnd();\n\n if (result.status == result.FAILED) {\n this.failures.push(result);\n this.currentSuite = null;\n } else if (result.status == result.PASSED) {\n this.passes.push(result);\n } else {\n this.log.error('Unknown result status: ' + result.test.fullName + ': ' +\n result.status);\n return this.panic = true;\n }\n\n this.runNextTest_();\n};\n\n/**\n * Called by the lib.TestManager.Result object when a test which has already\n * completed reports another completion.\n *\n * This is usually indicative of a buggy testcase. It is probably reporting a\n * result on exit and then again from an asynchronous callback.\n *\n * It may also be the case that the last act of the testcase causes a DOM change\n * which triggers some event to run after the test returns. If the event\n * handler reports a failure or raises an uncaught exception, the test will\n * fail even though it has already completed.\n *\n * In any case, re-completing a test ALWAYS moves it into the failure pile.\n *\n * @param {lib.TestManager.Result} result The result object which has just\n * completed.\n * @param {string} lateStatus The status that the test attempted to record this\n * time around.\n */\nlib.TestManager.TestRun.prototype.onResultReComplete = function(\n result, lateStatus) {\n this.log.error('Late complete for test: ' + result.test.fullName + ': ' +\n lateStatus);\n\n // Consider any late completion a failure, even if it's a double-pass, since\n // it's a misuse of the testing API.\n var index = this.passes.indexOf(result);\n if (index >= 0) {\n this.passes.splice(index, 1);\n this.failures.push(result);\n }\n};\n\n/**\n * Run the next test in the queue.\n */\nlib.TestManager.TestRun.prototype.runNextTest_ = function() {\n if (this.panic || !this.testQueue_.length)\n return this.onTestRunComplete_();\n\n if (this.maxFailures && this.failures.length >= this.maxFailures) {\n this.log.error('Maximum failure count reached, aborting test run.');\n return this.onTestRunComplete_();\n }\n\n // Peek at the top test first. We remove it later just before it's about\n // to run, so that we don't disturb the incomplete test count in the\n // event that we fail before running it.\n var test = this.testQueue_[0];\n var suite = this.currentResult ? this.currentResult.suite : null;\n\n try {\n if (!suite || !(suite instanceof test.suiteClass)) {\n if (suite)\n this.log.groupEnd();\n this.log.group(test.suiteClass.suiteName);\n suite = new test.suiteClass(this.testManager, this.cx);\n }\n } catch (ex) {\n // If test suite setup fails we're not even going to try to run the tests.\n this.log.error('Exception during setup: ' + (ex.stack ? ex.stack : ex));\n this.panic = true;\n this.onTestRunComplete_();\n return;\n }\n\n try {\n this.log.group(test.testName);\n\n this.currentResult = new lib.TestManager.Result(this, suite, test);\n this.testManager.testPreamble(this.currentResult, this.cx);\n suite.preamble(this.currentResult, this.cx);\n\n this.testQueue_.shift();\n } catch (ex) {\n this.log.error('Unexpected exception during test preamble: ' +\n (ex.stack ? ex.stack : ex));\n this.log.groupEnd();\n\n this.panic = true;\n this.onTestRunComplete_();\n return;\n }\n\n try {\n this.currentResult.run();\n } catch (ex) {\n // Result.run() should catch test exceptions and turn them into failures.\n // If we got here, it means there is trouble in the testing framework.\n this.log.error('Unexpected exception during test run: ' +\n (ex.stack ? ex.stack : ex));\n this.panic = true;\n }\n};\n\n/**\n * Run the selected list of tests.\n *\n * Some tests may need to run asynchronously, so you cannot assume the run is\n * complete when this function returns. Instead, pass in a function to be\n * called back when the run has completed.\n *\n * This function will log the results of the test run as they happen into the\n * log defined by the associated lib.TestManager. By default this is\n * console.log, which can be viewed in the JavaScript console of most browsers.\n *\n * The browser state is determined by the last test to run. We intentionally\n * don't do any cleanup so that you can inspect the state of a failed test, or\n * leave the browser ready for manual testing.\n *\n * Any failures in lib.TestManager.* code or test suite setup or test case\n * preamble will cause the test run to abort.\n */\nlib.TestManager.TestRun.prototype.run = function() {\n this.log.info('Running ' + this.testQueue_.length + ' test(s)');\n\n window.onerror = this.onUncaughtException_.bind(this);\n this.startDate = new Date();\n this.runNextTest_();\n};\n\n/**\n * Format milliseconds as fractional seconds.\n */\nlib.TestManager.TestRun.prototype.msToSeconds_ = function(ms) {\n var secs = (ms / 1000).toFixed(2);\n return secs + 's';\n};\n\n/**\n * Log the current result summary.\n */\nlib.TestManager.TestRun.prototype.summarize = function() {\n if (this.failures.length) {\n for (var i = 0; i < this.failures.length; i++) {\n this.log.error('FAILED: ' + this.failures[i].test.fullName);\n }\n }\n\n if (this.testQueue_.length) {\n this.log.warn('Test run incomplete: ' + this.testQueue_.length +\n ' test(s) were not run.');\n }\n};\n\n/**\n * Record of the result of a single test.\n *\n * These are constructed during a test run, you shouldn't have to make one\n * on your own.\n *\n * An instance of this class is passed in to each test function. It can be\n * used to add messages to the test log, to record a test pass/fail state, to\n * test assertions, or to create exception-proof wrappers for callback\n * functions.\n *\n * @param {lib.TestManager.TestRun} testRun The TestRun instance associated with\n * this result.\n * @param {lib.TestManager.Suit} suite The Suite containing the test we're\n * collecting this result for.\n * @param {lib.TestManager.Test} test The test we're collecting this result for.\n */\nlib.TestManager.Result = function(testRun, suite, test) {\n /**\n * The TestRun instance associated with this result.\n */\n this.testRun = testRun;\n\n /**\n * The Suite containing the test we're collecting this result for.\n */\n this.suite = suite;\n\n /**\n * The test we're collecting this result for.\n */\n this.test = test;\n\n /**\n * The time we started to collect this result, or null if we haven't started.\n */\n this.startDate = null;\n\n /**\n * The time in milliseconds that the test took to complete, or null if\n * it hasn't completed yet.\n */\n this.duration = null;\n\n /**\n * The current status of this test result.\n */\n this.status = this.PENDING;\n\n // An error message that the test case is expected to generate.\n this.expectedErrorMessage_ = null;\n};\n\n/**\n * Possible values for this.status.\n */\nlib.TestManager.Result.prototype.PENDING = 'pending';\nlib.TestManager.Result.prototype.FAILED = 'FAILED';\nlib.TestManager.Result.prototype.PASSED = 'passed';\n\n/**\n * Exception thrown when a test completes (pass or fail), to ensure no more of\n * the test is run.\n */\nlib.TestManager.Result.TestComplete = function(result) {\n this.result = result;\n};\n\nlib.TestManager.Result.TestComplete.prototype.toString = function() {\n return 'lib.TestManager.Result.TestComplete: ' + this.result.test.fullName +\n ', status: ' + this.result.status;\n}\n\n/**\n * Start the test associated with this result.\n */\nlib.TestManager.Result.prototype.run = function() {\n var self = this;\n\n this.startDate = new Date();\n this.test.run(this);\n\n if (this.status == this.PENDING && !this.timeout_) {\n this.println('Test did not return a value and did not request more time.');\n this.completeTest_(this.FAILED, false);\n }\n};\n\n/**\n * Unhandled error message this test expects to generate.\n *\n * This must be the exact string that would appear in the JavaScript console,\n * minus the 'Uncaught ' prefix.\n *\n * The test case does *not* automatically fail if the error message is not\n * encountered.\n */\nlib.TestManager.Result.prototype.expectErrorMessage = function(str) {\n this.expectedErrorMessage_ = str;\n};\n\n/**\n * Function called when a test times out.\n */\nlib.TestManager.Result.prototype.onTimeout_ = function() {\n this.timeout_ = null;\n\n if (this.status != this.PENDING)\n return;\n\n this.println('Test timed out.');\n this.completeTest_(this.FAILED, false);\n};\n\n/**\n * Indicate that a test case needs more time to complete.\n *\n * Before a test case returns it must report a pass/fail result, or request more\n * time to do so.\n *\n * If a test does not report pass/fail before the time expires it will\n * be reported as a timeout failure. Any late pass/fails will be noted in the\n * test log, but will not affect the final result of the test.\n *\n * Test cases may call requestTime more than once. If you have a few layers\n * of asynchronous API to go through, you should call this once per layer with\n * an estimate of how long each callback will take to complete.\n *\n * @param {int} ms Number of milliseconds requested.\n */\nlib.TestManager.Result.prototype.requestTime = function(ms) {\n if (this.timeout_)\n clearTimeout(this.timeout_);\n\n this.timeout_ = setTimeout(this.onTimeout_.bind(this), ms);\n};\n\n/**\n * Report the completion of a test.\n *\n * @param {string} status The status of the test case.\n * @param {boolean} opt_throw Optional boolean indicating whether or not\n * to throw the TestComplete exception.\n */\nlib.TestManager.Result.prototype.completeTest_ = function(status, opt_throw) {\n if (this.status == this.PENDING) {\n this.duration = (new Date()) - this.startDate;\n this.status = status;\n\n this.testRun.onResultComplete(this);\n } else {\n this.testRun.onResultReComplete(this, status);\n }\n\n if (arguments.length < 2 || opt_throw)\n throw new lib.TestManager.Result.TestComplete(this);\n};\n\n/**\n * Check that two arrays are equal.\n */\nlib.TestManager.Result.prototype.arrayEQ_ = function(actual, expected) {\n if (!actual || !expected)\n return (!actual && !expected);\n\n if (actual.length != expected.length)\n return false;\n\n for (var i = 0; i < actual.length; ++i)\n if (actual[i] != expected[i])\n return false;\n\n return true;\n};\n\n/**\n * Assert that an actual value is exactly equal to the expected value.\n *\n * This uses the JavaScript '===' operator in order to avoid type coercion.\n *\n * If the assertion fails, the test is marked as a failure and a TestCompleted\n * exception is thrown.\n *\n * @param {*} actual The actual measured value.\n * @param {*} expected The value expected.\n * @param {string} opt_name An optional name used to identify this\n * assertion in the test log. If omitted it will be the file:line\n * of the caller.\n */\nlib.TestManager.Result.prototype.assertEQ = function(\n actual, expected, opt_name) {\n // Utility function to pretty up the log.\n function format(value) {\n if (typeof value == 'number')\n return value;\n\n var str = String(value);\n var ary = str.split('\\n').map(function (e) { return JSON.stringify(e) });\n if (ary.length > 1) {\n // If the string has newlines, start it off on its own line so that\n // it's easier to compare against another string with newlines.\n return '\\n' + ary.join('\\n');\n } else {\n return ary.join('\\n');\n }\n }\n\n if (actual === expected)\n return;\n\n // Deal with common object types since JavaScript can't.\n if (expected instanceof Array)\n if (this.arrayEQ_(actual, expected))\n return;\n\n var name = opt_name ? '[' + opt_name + ']' : '';\n\n this.fail('assertEQ' + name + ': ' + this.getCallerLocation_(1) + ': ' +\n format(actual) + ' !== ' + format(expected));\n};\n\n/**\n * Assert that a value is true.\n *\n * This uses the JavaScript '===' operator in order to avoid type coercion.\n * The must be the boolean value `true`, not just some \"truish\" value.\n *\n * If the assertion fails, the test is marked as a failure and a TestCompleted\n * exception is thrown.\n *\n * @param {boolean} actual The actual measured value.\n * @param {string} opt_name An optional name used to identify this\n * assertion in the test log. If omitted it will be the file:line\n * of the caller.\n */\nlib.TestManager.Result.prototype.assert = function(actual, opt_name) {\n if (actual === true)\n return;\n\n var name = opt_name ? '[' + opt_name + ']' : '';\n\n this.fail('assert' + name + ': ' + this.getCallerLocation_(1) + ': ' +\n String(actual));\n};\n\n/**\n * Return the filename:line of a calling stack frame.\n *\n * This uses a dirty hack. It throws an exception, catches it, and examines\n * the stack property of the caught exception.\n *\n * @param {int} frameIndex The stack frame to return. 0 is the frame that\n * called this method, 1 is its caller, and so on.\n * @return {string} A string of the format \"filename:linenumber\".\n */\nlib.TestManager.Result.prototype.getCallerLocation_ = function(frameIndex) {\n try {\n throw new Error();\n } catch (ex) {\n var frame = ex.stack.split('\\n')[frameIndex + 2];\n var ary = frame.match(/([^/]+:\\d+):\\d+\\)?$/);\n return ary ? ary[1] : '???';\n }\n};\n\n/**\n * Write a message to the result log.\n */\nlib.TestManager.Result.prototype.println = function(message) {\n this.testRun.log.info(message);\n};\n\n/**\n * Mark a failed test and exit out of the rest of the test.\n *\n * This will throw a TestCompleted exception, causing the current test to stop.\n *\n * @param {string} opt_message Optional message to add to the log.\n */\nlib.TestManager.Result.prototype.fail = function(opt_message) {\n if (arguments.length)\n this.println(opt_message);\n\n this.completeTest_(this.FAILED, true);\n};\n\n/**\n * Mark a passed test and exit out of the rest of the test.\n *\n * This will throw a TestCompleted exception, causing the current test to stop.\n */\nlib.TestManager.Result.prototype.pass = function() {\n this.completeTest_(this.PASSED, true);\n};\n// SOURCE FILE: libdot/js/lib_utf8.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n// TODO(davidben): When the string encoding API is implemented,\n// replace this with the native in-browser implementation.\n//\n// https://wiki.whatwg.org/wiki/StringEncoding\n// https://encoding.spec.whatwg.org/\n\n/**\n * A stateful UTF-8 decoder.\n */\nlib.UTF8Decoder = function() {\n // The number of bytes left in the current sequence.\n this.bytesLeft = 0;\n // The in-progress code point being decoded, if bytesLeft > 0.\n this.codePoint = 0;\n // The lower bound on the final code point, if bytesLeft > 0.\n this.lowerBound = 0;\n};\n\n/**\n * Decodes a some UTF-8 data, taking into account state from previous\n * data streamed through the encoder.\n *\n * @param {String} str data to decode, represented as a JavaScript\n * String with each code unit representing a byte between 0x00 to\n * 0xFF.\n * @return {String} The data decoded into a JavaScript UTF-16 string.\n */\nlib.UTF8Decoder.prototype.decode = function(str) {\n var ret = '';\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n if (this.bytesLeft == 0) {\n if (c <= 0x7F) {\n ret += str.charAt(i);\n } else if (0xC0 <= c && c <= 0xDF) {\n this.codePoint = c - 0xC0;\n this.bytesLeft = 1;\n this.lowerBound = 0x80;\n } else if (0xE0 <= c && c <= 0xEF) {\n this.codePoint = c - 0xE0;\n this.bytesLeft = 2;\n this.lowerBound = 0x800;\n } else if (0xF0 <= c && c <= 0xF7) {\n this.codePoint = c - 0xF0;\n this.bytesLeft = 3;\n this.lowerBound = 0x10000;\n } else if (0xF8 <= c && c <= 0xFB) {\n this.codePoint = c - 0xF8;\n this.bytesLeft = 4;\n this.lowerBound = 0x200000;\n } else if (0xFC <= c && c <= 0xFD) {\n this.codePoint = c - 0xFC;\n this.bytesLeft = 5;\n this.lowerBound = 0x4000000;\n } else {\n ret += '\\ufffd';\n }\n } else {\n if (0x80 <= c && c <= 0xBF) {\n this.bytesLeft--;\n this.codePoint = (this.codePoint << 6) + (c - 0x80);\n if (this.bytesLeft == 0) {\n // Got a full sequence. Check if it's within bounds and\n // filter out surrogate pairs.\n var codePoint = this.codePoint;\n if (codePoint < this.lowerBound\n || (0xD800 <= codePoint && codePoint <= 0xDFFF)\n || codePoint > 0x10FFFF) {\n ret += '\\ufffd';\n } else {\n // Encode as UTF-16 in the output.\n if (codePoint < 0x10000) {\n ret += String.fromCharCode(codePoint);\n } else {\n // Surrogate pair.\n codePoint -= 0x10000;\n ret += String.fromCharCode(\n 0xD800 + ((codePoint >>> 10) & 0x3FF),\n 0xDC00 + (codePoint & 0x3FF));\n }\n }\n }\n } else {\n // Too few bytes in multi-byte sequence. Rewind stream so we\n // don't lose the next byte.\n ret += '\\ufffd';\n this.bytesLeft = 0;\n i--;\n }\n }\n }\n return ret;\n};\n\n/**\n * Decodes UTF-8 data. This is a convenience function for when all the\n * data is already known.\n *\n * @param {String} str data to decode, represented as a JavaScript\n * String with each code unit representing a byte between 0x00 to\n * 0xFF.\n * @return {String} The data decoded into a JavaScript UTF-16 string.\n */\nlib.decodeUTF8 = function(utf8) {\n return (new lib.UTF8Decoder()).decode(utf8);\n};\n\n/**\n * Encodes a UTF-16 string into UTF-8.\n *\n * TODO(davidben): Do we need a stateful version of this that can\n * handle a surrogate pair split in two calls? What happens if a\n * keypress event would have contained a character outside the BMP?\n *\n * @param {String} str The string to encode.\n * @return {String} The string encoded as UTF-8, as a JavaScript\n * string with bytes represented as code units from 0x00 to 0xFF.\n */\nlib.encodeUTF8 = function(str) {\n var ret = '';\n for (var i = 0; i < str.length; i++) {\n // Get a unicode code point out of str.\n var c = str.charCodeAt(i);\n if (0xDC00 <= c && c <= 0xDFFF) {\n c = 0xFFFD;\n } else if (0xD800 <= c && c <= 0xDBFF) {\n if (i+1 < str.length) {\n var d = str.charCodeAt(i+1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n // Swallow a surrogate pair.\n c = 0x10000 + ((c & 0x3FF) << 10) + (d & 0x3FF);\n i++;\n } else {\n c = 0xFFFD;\n }\n } else {\n c = 0xFFFD;\n }\n }\n\n // Encode c in UTF-8.\n var bytesLeft;\n if (c <= 0x7F) {\n ret += str.charAt(i);\n continue;\n } else if (c <= 0x7FF) {\n ret += String.fromCharCode(0xC0 | (c >>> 6));\n bytesLeft = 1;\n } else if (c <= 0xFFFF) {\n ret += String.fromCharCode(0xE0 | (c >>> 12));\n bytesLeft = 2;\n } else /* if (c <= 0x10FFFF) */ {\n ret += String.fromCharCode(0xF0 | (c >>> 18));\n bytesLeft = 3;\n }\n\n while (bytesLeft > 0) {\n bytesLeft--;\n ret += String.fromCharCode(0x80 | ((c >>> (6 * bytesLeft)) & 0x3F));\n }\n }\n return ret;\n};\n// SOURCE FILE: libdot/third_party/wcwidth/lib_wc.js\n// Copyright (c) 2014 The Chromium OS Authors. All rights reserved.\n// Use of lib.wc source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * This JavaScript library is ported from the wcwidth.js module of node.js.\n * The original implementation can be found at:\n * https://npmjs.org/package/wcwidth.js\n */\n\n/**\n * JavaScript porting of Markus Kuhn's wcwidth() implementation\n *\n * The following explanation comes from the original C implementation:\n *\n * This is an implementation of wcwidth() and wcswidth() (defined in\n * IEEE Std 1002.1-2001) for Unicode.\n *\n * http://www.opengroup.org/onlinepubs/007904975/functions/wcwidth.html\n * http://www.opengroup.org/onlinepubs/007904975/functions/wcswidth.html\n *\n * In fixed-width output devices, Latin characters all occupy a single\n * \"cell\" position of equal width, whereas ideographic CJK characters\n * occupy two such cells. Interoperability between terminal-line\n * applications and (teletype-style) character terminals using the\n * UTF-8 encoding requires agreement on which character should advance\n * the cursor by how many cell positions. No established formal\n * standards exist at present on which Unicode character shall occupy\n * how many cell positions on character terminals. These routines are\n * a first attempt of defining such behavior based on simple rules\n * applied to data provided by the Unicode Consortium.\n *\n * For some graphical characters, the Unicode standard explicitly\n * defines a character-cell width via the definition of the East Asian\n * FullWidth (F), Wide (W), Half-width (H), and Narrow (Na) classes.\n * In all these cases, there is no ambiguity about which width a\n * terminal shall use. For characters in the East Asian Ambiguous (A)\n * class, the width choice depends purely on a preference of backward\n * compatibility with either historic CJK or Western practice.\n * Choosing single-width for these characters is easy to justify as\n * the appropriate long-term solution, as the CJK practice of\n * displaying these characters as double-width comes from historic\n * implementation simplicity (8-bit encoded characters were displayed\n * single-width and 16-bit ones double-width, even for Greek,\n * Cyrillic, etc.) and not any typographic considerations.\n *\n * Much less clear is the choice of width for the Not East Asian\n * (Neutral) class. Existing practice does not dictate a width for any\n * of these characters. It would nevertheless make sense\n * typographically to allocate two character cells to characters such\n * as for instance EM SPACE or VOLUME INTEGRAL, which cannot be\n * represented adequately with a single-width glyph. The following\n * routines at present merely assign a single-cell width to all\n * neutral characters, in the interest of simplicity. This is not\n * entirely satisfactory and should be reconsidered before\n * establishing a formal standard in lib.wc area. At the moment, the\n * decision which Not East Asian (Neutral) characters should be\n * represented by double-width glyphs cannot yet be answered by\n * applying a simple rule from the Unicode database content. Setting\n * up a proper standard for the behavior of UTF-8 character terminals\n * will require a careful analysis not only of each Unicode character,\n * but also of each presentation form, something the author of these\n * routines has avoided to do so far.\n *\n * http://www.unicode.org/unicode/reports/tr11/\n *\n * Markus Kuhn -- 2007-05-26 (Unicode 5.0)\n *\n * Permission to use, copy, modify, and distribute lib.wc software\n * for any purpose and without fee is hereby granted. The author\n * disclaims all warranties with regard to lib.wc software.\n *\n * Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c\n */\n\n/**\n * The following function defines the column width of an ISO 10646 character\n * as follows:\n *\n * - The null character (U+0000) has a column width of 0.\n * - Other C0/C1 control characters and DEL will lead to a return value of -1.\n * - Non-spacing and enclosing combining characters (general category code Mn\n * or Me in the Unicode database) have a column width of 0.\n * - SOFT HYPHEN (U+00AD) has a column width of 1.\n * - Other format characters (general category code Cf in the Unicode database)\n * and ZERO WIDTH SPACE (U+200B) have a column width of 0.\n * - Hangul Jamo medial vowels and final consonants (U+1160-U+11FF) have a\n * column width of 0.\n * - Spacing characters in the East Asian Wide (W) or East Asian Full-width (F)\n * category as defined in Unicode Technical Report #11 have a column width of\n * 2.\n * - East Asian Ambiguous characters are taken into account if\n * regardCjkAmbiguous flag is enabled. They have a column width of 2.\n * - All remaining characters (including all printable ISO 8859-1 and WGL4\n * characters, Unicode control characters, etc.) have a column width of 1.\n *\n * This implementation assumes that characters are encoded in ISO 10646.\n */\n\nlib.wc = {};\n\n// Width of a nul character.\nlib.wc.nulWidth = 0;\n\n// Width of a control character.\nlib.wc.controlWidth = 0;\n\n// Flag whether to consider East Asian Ambiguous characters.\nlib.wc.regardCjkAmbiguous = false;\n\n// Width of an East Asian Ambiguous character.\nlib.wc.cjkAmbiguousWidth = 2;\n\n// Sorted list of non-overlapping intervals of non-spacing characters\n// generated by \"uniset +cat=Me +cat=Mn +cat=Cf -00AD +1160-11FF +200B c\"\nlib.wc.combining = [\n [ 0x0300, 0x036F ], [ 0x0483, 0x0486 ], [ 0x0488, 0x0489 ],\n [ 0x0591, 0x05BD ], [ 0x05BF, 0x05BF ], [ 0x05C1, 0x05C2 ],\n [ 0x05C4, 0x05C5 ], [ 0x05C7, 0x05C7 ], [ 0x0600, 0x0603 ],\n [ 0x0610, 0x0615 ], [ 0x064B, 0x065E ], [ 0x0670, 0x0670 ],\n [ 0x06D6, 0x06E4 ], [ 0x06E7, 0x06E8 ], [ 0x06EA, 0x06ED ],\n [ 0x070F, 0x070F ], [ 0x0711, 0x0711 ], [ 0x0730, 0x074A ],\n [ 0x07A6, 0x07B0 ], [ 0x07EB, 0x07F3 ], [ 0x0901, 0x0902 ],\n [ 0x093C, 0x093C ], [ 0x0941, 0x0948 ], [ 0x094D, 0x094D ],\n [ 0x0951, 0x0954 ], [ 0x0962, 0x0963 ], [ 0x0981, 0x0981 ],\n [ 0x09BC, 0x09BC ], [ 0x09C1, 0x09C4 ], [ 0x09CD, 0x09CD ],\n [ 0x09E2, 0x09E3 ], [ 0x0A01, 0x0A02 ], [ 0x0A3C, 0x0A3C ],\n [ 0x0A41, 0x0A42 ], [ 0x0A47, 0x0A48 ], [ 0x0A4B, 0x0A4D ],\n [ 0x0A70, 0x0A71 ], [ 0x0A81, 0x0A82 ], [ 0x0ABC, 0x0ABC ],\n [ 0x0AC1, 0x0AC5 ], [ 0x0AC7, 0x0AC8 ], [ 0x0ACD, 0x0ACD ],\n [ 0x0AE2, 0x0AE3 ], [ 0x0B01, 0x0B01 ], [ 0x0B3C, 0x0B3C ],\n [ 0x0B3F, 0x0B3F ], [ 0x0B41, 0x0B43 ], [ 0x0B4D, 0x0B4D ],\n [ 0x0B56, 0x0B56 ], [ 0x0B82, 0x0B82 ], [ 0x0BC0, 0x0BC0 ],\n [ 0x0BCD, 0x0BCD ], [ 0x0C3E, 0x0C40 ], [ 0x0C46, 0x0C48 ],\n [ 0x0C4A, 0x0C4D ], [ 0x0C55, 0x0C56 ], [ 0x0CBC, 0x0CBC ],\n [ 0x0CBF, 0x0CBF ], [ 0x0CC6, 0x0CC6 ], [ 0x0CCC, 0x0CCD ],\n [ 0x0CE2, 0x0CE3 ], [ 0x0D41, 0x0D43 ], [ 0x0D4D, 0x0D4D ],\n [ 0x0DCA, 0x0DCA ], [ 0x0DD2, 0x0DD4 ], [ 0x0DD6, 0x0DD6 ],\n [ 0x0E31, 0x0E31 ], [ 0x0E34, 0x0E3A ], [ 0x0E47, 0x0E4E ],\n [ 0x0EB1, 0x0EB1 ], [ 0x0EB4, 0x0EB9 ], [ 0x0EBB, 0x0EBC ],\n [ 0x0EC8, 0x0ECD ], [ 0x0F18, 0x0F19 ], [ 0x0F35, 0x0F35 ],\n [ 0x0F37, 0x0F37 ], [ 0x0F39, 0x0F39 ], [ 0x0F71, 0x0F7E ],\n [ 0x0F80, 0x0F84 ], [ 0x0F86, 0x0F87 ], [ 0x0F90, 0x0F97 ],\n [ 0x0F99, 0x0FBC ], [ 0x0FC6, 0x0FC6 ], [ 0x102D, 0x1030 ],\n [ 0x1032, 0x1032 ], [ 0x1036, 0x1037 ], [ 0x1039, 0x1039 ],\n [ 0x1058, 0x1059 ], [ 0x1160, 0x11FF ], [ 0x135F, 0x135F ],\n [ 0x1712, 0x1714 ], [ 0x1732, 0x1734 ], [ 0x1752, 0x1753 ],\n [ 0x1772, 0x1773 ], [ 0x17B4, 0x17B5 ], [ 0x17B7, 0x17BD ],\n [ 0x17C6, 0x17C6 ], [ 0x17C9, 0x17D3 ], [ 0x17DD, 0x17DD ],\n [ 0x180B, 0x180D ], [ 0x18A9, 0x18A9 ], [ 0x1920, 0x1922 ],\n [ 0x1927, 0x1928 ], [ 0x1932, 0x1932 ], [ 0x1939, 0x193B ],\n [ 0x1A17, 0x1A18 ], [ 0x1B00, 0x1B03 ], [ 0x1B34, 0x1B34 ],\n [ 0x1B36, 0x1B3A ], [ 0x1B3C, 0x1B3C ], [ 0x1B42, 0x1B42 ],\n [ 0x1B6B, 0x1B73 ], [ 0x1DC0, 0x1DCA ], [ 0x1DFE, 0x1DFF ],\n [ 0x200B, 0x200F ], [ 0x202A, 0x202E ], [ 0x2060, 0x2063 ],\n [ 0x206A, 0x206F ], [ 0x20D0, 0x20EF ], [ 0x302A, 0x302F ],\n [ 0x3099, 0x309A ], [ 0xA806, 0xA806 ], [ 0xA80B, 0xA80B ],\n [ 0xA825, 0xA826 ], [ 0xFB1E, 0xFB1E ], [ 0xFE00, 0xFE0F ],\n [ 0xFE20, 0xFE23 ], [ 0xFEFF, 0xFEFF ], [ 0xFFF9, 0xFFFB ],\n [ 0x10A01, 0x10A03 ], [ 0x10A05, 0x10A06 ], [ 0x10A0C, 0x10A0F ],\n [ 0x10A38, 0x10A3A ], [ 0x10A3F, 0x10A3F ], [ 0x1D167, 0x1D169 ],\n [ 0x1D173, 0x1D182 ], [ 0x1D185, 0x1D18B ], [ 0x1D1AA, 0x1D1AD ],\n [ 0x1D242, 0x1D244 ], [ 0xE0001, 0xE0001 ], [ 0xE0020, 0xE007F ],\n [ 0xE0100, 0xE01EF ]\n];\n\n// Sorted list of non-overlapping intervals of East Asian Ambiguous characters\n// generated by \"uniset +WIDTH-A -cat=Me -cat=Mn -cat=Cf c\"\nlib.wc.ambiguous = [\n [ 0x00A1, 0x00A1 ], [ 0x00A4, 0x00A4 ], [ 0x00A7, 0x00A8 ],\n [ 0x00AA, 0x00AA ], [ 0x00AE, 0x00AE ], [ 0x00B0, 0x00B4 ],\n [ 0x00B6, 0x00BA ], [ 0x00BC, 0x00BF ], [ 0x00C6, 0x00C6 ],\n [ 0x00D0, 0x00D0 ], [ 0x00D7, 0x00D8 ], [ 0x00DE, 0x00E1 ],\n [ 0x00E6, 0x00E6 ], [ 0x00E8, 0x00EA ], [ 0x00EC, 0x00ED ],\n [ 0x00F0, 0x00F0 ], [ 0x00F2, 0x00F3 ], [ 0x00F7, 0x00FA ],\n [ 0x00FC, 0x00FC ], [ 0x00FE, 0x00FE ], [ 0x0101, 0x0101 ],\n [ 0x0111, 0x0111 ], [ 0x0113, 0x0113 ], [ 0x011B, 0x011B ],\n [ 0x0126, 0x0127 ], [ 0x012B, 0x012B ], [ 0x0131, 0x0133 ],\n [ 0x0138, 0x0138 ], [ 0x013F, 0x0142 ], [ 0x0144, 0x0144 ],\n [ 0x0148, 0x014B ], [ 0x014D, 0x014D ], [ 0x0152, 0x0153 ],\n [ 0x0166, 0x0167 ], [ 0x016B, 0x016B ], [ 0x01CE, 0x01CE ],\n [ 0x01D0, 0x01D0 ], [ 0x01D2, 0x01D2 ], [ 0x01D4, 0x01D4 ],\n [ 0x01D6, 0x01D6 ], [ 0x01D8, 0x01D8 ], [ 0x01DA, 0x01DA ],\n [ 0x01DC, 0x01DC ], [ 0x0251, 0x0251 ], [ 0x0261, 0x0261 ],\n [ 0x02C4, 0x02C4 ], [ 0x02C7, 0x02C7 ], [ 0x02C9, 0x02CB ],\n [ 0x02CD, 0x02CD ], [ 0x02D0, 0x02D0 ], [ 0x02D8, 0x02DB ],\n [ 0x02DD, 0x02DD ], [ 0x02DF, 0x02DF ], [ 0x0391, 0x03A1 ],\n [ 0x03A3, 0x03A9 ], [ 0x03B1, 0x03C1 ], [ 0x03C3, 0x03C9 ],\n [ 0x0401, 0x0401 ], [ 0x0410, 0x044F ], [ 0x0451, 0x0451 ],\n [ 0x2010, 0x2010 ], [ 0x2013, 0x2016 ], [ 0x2018, 0x2019 ],\n [ 0x201C, 0x201D ], [ 0x2020, 0x2022 ], [ 0x2024, 0x2027 ],\n [ 0x2030, 0x2030 ], [ 0x2032, 0x2033 ], [ 0x2035, 0x2035 ],\n [ 0x203B, 0x203B ], [ 0x203E, 0x203E ], [ 0x2074, 0x2074 ],\n [ 0x207F, 0x207F ], [ 0x2081, 0x2084 ], [ 0x20AC, 0x20AC ],\n [ 0x2103, 0x2103 ], [ 0x2105, 0x2105 ], [ 0x2109, 0x2109 ],\n [ 0x2113, 0x2113 ], [ 0x2116, 0x2116 ], [ 0x2121, 0x2122 ],\n [ 0x2126, 0x2126 ], [ 0x212B, 0x212B ], [ 0x2153, 0x2154 ],\n [ 0x215B, 0x215E ], [ 0x2160, 0x216B ], [ 0x2170, 0x2179 ],\n [ 0x2190, 0x2199 ], [ 0x21B8, 0x21B9 ], [ 0x21D2, 0x21D2 ],\n [ 0x21D4, 0x21D4 ], [ 0x21E7, 0x21E7 ], [ 0x2200, 0x2200 ],\n [ 0x2202, 0x2203 ], [ 0x2207, 0x2208 ], [ 0x220B, 0x220B ],\n [ 0x220F, 0x220F ], [ 0x2211, 0x2211 ], [ 0x2215, 0x2215 ],\n [ 0x221A, 0x221A ], [ 0x221D, 0x2220 ], [ 0x2223, 0x2223 ],\n [ 0x2225, 0x2225 ], [ 0x2227, 0x222C ], [ 0x222E, 0x222E ],\n [ 0x2234, 0x2237 ], [ 0x223C, 0x223D ], [ 0x2248, 0x2248 ],\n [ 0x224C, 0x224C ], [ 0x2252, 0x2252 ], [ 0x2260, 0x2261 ],\n [ 0x2264, 0x2267 ], [ 0x226A, 0x226B ], [ 0x226E, 0x226F ],\n [ 0x2282, 0x2283 ], [ 0x2286, 0x2287 ], [ 0x2295, 0x2295 ],\n [ 0x2299, 0x2299 ], [ 0x22A5, 0x22A5 ], [ 0x22BF, 0x22BF ],\n [ 0x2312, 0x2312 ], [ 0x2460, 0x24E9 ], [ 0x24EB, 0x254B ],\n [ 0x2550, 0x2573 ], [ 0x2580, 0x258F ], [ 0x2592, 0x2595 ],\n [ 0x25A0, 0x25A1 ], [ 0x25A3, 0x25A9 ], [ 0x25B2, 0x25B3 ],\n [ 0x25B6, 0x25B7 ], [ 0x25BC, 0x25BD ], [ 0x25C0, 0x25C1 ],\n [ 0x25C6, 0x25C8 ], [ 0x25CB, 0x25CB ], [ 0x25CE, 0x25D1 ],\n [ 0x25E2, 0x25E5 ], [ 0x25EF, 0x25EF ], [ 0x2605, 0x2606 ],\n [ 0x2609, 0x2609 ], [ 0x260E, 0x260F ], [ 0x2614, 0x2615 ],\n [ 0x261C, 0x261C ], [ 0x261E, 0x261E ], [ 0x2640, 0x2640 ],\n [ 0x2642, 0x2642 ], [ 0x2660, 0x2661 ], [ 0x2663, 0x2665 ],\n [ 0x2667, 0x266A ], [ 0x266C, 0x266D ], [ 0x266F, 0x266F ],\n [ 0x273D, 0x273D ], [ 0x2776, 0x277F ], [ 0xE000, 0xF8FF ],\n [ 0xFFFD, 0xFFFD ], [ 0xF0000, 0xFFFFD ], [ 0x100000, 0x10FFFD ]\n];\n\n/**\n * Binary search to check if the given unicode character is a space character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {boolean} True if the given character is a space character; false\n * otherwise.\n */\nlib.wc.isSpace = function(ucs) {\n // Auxiliary function for binary search in interval table.\n var min = 0, max = lib.wc.combining.length - 1;\n var mid;\n\n if (ucs < lib.wc.combining[0][0] || ucs > lib.wc.combining[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > lib.wc.combining[mid][1]) {\n min = mid + 1;\n } else if (ucs < lib.wc.combining[mid][0]) {\n max = mid - 1;\n } else {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * Auxiliary function for checking if the given unicode character is a East\n * Asian Ambiguous character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {boolean} True if the given character is a East Asian Ambiguous\n * character.\n */\nlib.wc.isCjkAmbiguous = function(ucs) {\n var min = 0, max = lib.wc.ambiguous.length - 1;\n var mid;\n\n if (ucs < lib.wc.ambiguous[0][0] || ucs > lib.wc.ambiguous[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > lib.wc.ambiguous[mid][1]) {\n min = mid + 1;\n } else if (ucs < lib.wc.ambiguous[mid][0]) {\n max = mid - 1;\n } else {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * Determine the column width of the given character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidth = function(ucs) {\n if (lib.wc.regardCjkAmbiguous) {\n return lib.wc.charWidthRegardAmbiguous(ucs);\n } else {\n return lib.wc.charWidthDisregardAmbiguous(ucs);\n }\n};\n\n/**\n * Determine the column width of the given character without considering East\n * Asian Ambiguous characters.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidthDisregardAmbiguous = function(ucs) {\n // Test for 8-bit control characters.\n if (ucs === 0)\n return lib.wc.nulWidth;\n if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0))\n return lib.wc.controlWidth;\n\n // Optimize for ASCII characters.\n if (ucs < 0x7f)\n return 1;\n\n // Binary search in table of non-spacing characters.\n if (lib.wc.isSpace(ucs))\n return 0;\n\n // If we arrive here, ucs is not a combining or C0/C1 control character.\n return 1 +\n (ucs >= 0x1100 &&\n (ucs <= 0x115f || // Hangul Jamo init. consonants\n ucs == 0x2329 || ucs == 0x232a ||\n (ucs >= 0x2e80 && ucs <= 0xa4cf &&\n ucs != 0x303f) || // CJK ... Yi\n (ucs >= 0xac00 && ucs <= 0xd7a3) || // Hangul Syllables\n (ucs >= 0xf900 && ucs <= 0xfaff) || // CJK Compatibility Ideographs\n (ucs >= 0xfe10 && ucs <= 0xfe19) || // Vertical forms\n (ucs >= 0xfe30 && ucs <= 0xfe6f) || // CJK Compatibility Forms\n (ucs >= 0xff00 && ucs <= 0xff60) || // Fullwidth Forms\n (ucs >= 0xffe0 && ucs <= 0xffe6) ||\n (ucs >= 0x20000 && ucs <= 0x2fffd) ||\n (ucs >= 0x30000 && ucs <= 0x3fffd)));\n // TODO: emoji characters usually require space for wide characters although\n // East Asian width spec says nothing. Should we add special cases for them?\n};\n\n/**\n * Determine the column width of the given character considering East Asian\n * Ambiguous characters.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidthRegardAmbiguous = function(ucs) {\n if (lib.wc.isCjkAmbiguous(ucs))\n return lib.wc.cjkAmbiguousWidth;\n\n return lib.wc.charWidthDisregardAmbiguous(ucs);\n};\n\n/**\n * Determine the column width of the given string.\n *\n * @param {string} str A string.\n *\n * @return {integer} The column width of the given string.\n */\nlib.wc.strWidth = function(str) {\n var width, rv = 0;\n\n for (var i = 0; i < str.length;) {\n var codePoint = str.codePointAt(i);\n width = lib.wc.charWidth(codePoint);\n if (width < 0)\n return -1;\n rv += width;\n i += (codePoint <= 0xffff) ? 1 : 2;\n }\n\n return rv;\n};\n\n/**\n * Get the substring at the given column offset of the given column width.\n *\n * @param {string} str The string to get substring from.\n * @param {integer} start The starting column offset to get substring.\n * @param {integer} opt_width The column width of the substring.\n *\n * @return {string} The substring.\n */\nlib.wc.substr = function(str, start, opt_width) {\n var startIndex, endIndex, width;\n\n for (startIndex = 0, width = 0; startIndex < str.length; startIndex++) {\n width += lib.wc.charWidth(str.charCodeAt(startIndex));\n if (width > start)\n break;\n }\n\n if (opt_width != undefined) {\n for (endIndex = startIndex, width = 0;\n endIndex < str.length && width <= opt_width;\n width += lib.wc.charWidth(str.charCodeAt(endIndex)), endIndex++);\n if (width > opt_width)\n endIndex--;\n return str.substring(startIndex, endIndex);\n }\n\n return str.substr(startIndex);\n};\n\n/**\n * Get substring at the given start and end column offset.\n *\n * @param {string} str The string to get substring from.\n * @param {integer} start The starting column offset.\n * @param {integer} end The ending column offset.\n *\n * @return {string} The substring.\n */\nlib.wc.substring = function(str, start, end) {\n return lib.wc.substr(str, start, end - start);\n};\nlib.resource.add('libdot/changelog/version', 'text/plain',\n'1.16' +\n''\n);\n\nlib.resource.add('libdot/changelog/date', 'text/plain',\n'2017-08-16' +\n''\n);\n\n// SOURCE FILE: hterm/js/hterm.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.Storage');\n\n/**\n * @fileoverview Declares the hterm.* namespace and some basic shared utilities\n * that are too small to deserve dedicated files.\n */\nvar hterm = {};\n\n/**\n * The type of window hosting hterm.\n *\n * This is set as part of hterm.init(). The value is invalid until\n * initialization completes.\n */\nhterm.windowType = null;\n\n/**\n * Warning message to display in the terminal when browser zoom is enabled.\n *\n * You can replace it with your own localized message.\n */\nhterm.zoomWarningMessage = 'ZOOM != 100%';\n\n/**\n * Brief overlay message displayed when text is copied to the clipboard.\n *\n * By default it is the unicode BLACK SCISSORS character, but you can\n * replace it with your own localized message.\n *\n * This is only displayed when the 'enable-clipboard-notice' preference\n * is enabled.\n */\nhterm.notifyCopyMessage = '\\u2702';\n\n\n/**\n * Text shown in a desktop notification for the terminal\n * bell. \\u226a is a unicode EIGHTH NOTE, %(title) will\n * be replaced by the terminal title.\n */\nhterm.desktopNotificationTitle = '\\u266A %(title) \\u266A';\n\n/**\n * List of known hterm test suites.\n *\n * A test harness should ensure that they all exist before running.\n */\nhterm.testDeps = ['hterm.ScrollPort.Tests', 'hterm.Screen.Tests',\n 'hterm.Terminal.Tests', 'hterm.VT.Tests',\n 'hterm.VT.CannedTests'];\n\n/**\n * The hterm init function, registered with lib.registerInit().\n *\n * This is called during lib.init().\n *\n * @param {function} onInit The function lib.init() wants us to invoke when\n * initialization is complete.\n */\nlib.registerInit('hterm', function(onInit) {\n function onWindow(window) {\n hterm.windowType = window.type;\n setTimeout(onInit, 0);\n }\n\n function onTab(tab) {\n if (tab && window.chrome) {\n chrome.windows.get(tab.windowId, null, onWindow);\n } else {\n // TODO(rginda): This is where we end up for a v1 app's background page.\n // Maybe windowType = 'none' would be more appropriate, or something.\n hterm.windowType = 'normal';\n setTimeout(onInit, 0);\n }\n }\n\n if (!hterm.defaultStorage) {\n if (window.chrome && chrome.storage && chrome.storage.sync) {\n hterm.defaultStorage = new lib.Storage.Chrome(chrome.storage.sync);\n } else {\n hterm.defaultStorage = new lib.Storage.Local();\n }\n }\n\n // The chrome.tabs API is not supported in packaged apps, and detecting if\n // you're a packaged app is a little awkward.\n var isPackagedApp = false;\n if (window.chrome && chrome.runtime && chrome.runtime.getManifest) {\n var manifest = chrome.runtime.getManifest();\n isPackagedApp = manifest.app && manifest.app.background;\n }\n\n if (isPackagedApp) {\n // Packaged apps are never displayed in browser tabs.\n setTimeout(onWindow.bind(null, {type: 'popup'}), 0);\n } else {\n if (window.chrome && chrome.tabs) {\n // The getCurrent method gets the tab that is \"currently running\", not the\n // topmost or focused tab.\n chrome.tabs.getCurrent(onTab);\n } else {\n setTimeout(onWindow.bind(null, {type: 'normal'}), 0);\n }\n }\n});\n\n/**\n * Return decimal { width, height } for a given dom node.\n */\nhterm.getClientSize = function(dom) {\n return dom.getBoundingClientRect();\n};\n\n/**\n * Return decimal width for a given dom node.\n */\nhterm.getClientWidth = function(dom) {\n return dom.getBoundingClientRect().width;\n};\n\n/**\n * Return decimal height for a given dom node.\n */\nhterm.getClientHeight = function(dom) {\n return dom.getBoundingClientRect().height;\n};\n\n/**\n * Copy the current selection to the system clipboard.\n *\n * @param {HTMLDocument} The document with the selection to copy.\n */\nhterm.copySelectionToClipboard = function(document) {\n try {\n document.execCommand('copy');\n } catch (firefoxException) {\n // Ignore this. FF throws an exception if there was an error, even though\n // the spec says just return false.\n }\n};\n\n/**\n * Paste the system clipboard into the element with focus.\n *\n * Note: In Chrome/Firefox app/extension environments, you'll need the\n * \"clipboardRead\" permission. In other environments, this might always\n * fail as the browser frequently blocks access for security reasons.\n *\n * @param {HTMLDocument} The document to paste into.\n * @return {boolean} True if the paste succeeded.\n */\nhterm.pasteFromClipboard = function(document) {\n try {\n return document.execCommand('paste');\n } catch (firefoxException) {\n // Ignore this. FF 40 and older would incorrectly throw an exception if\n // there was an error instead of returning false.\n return false;\n }\n};\n\n/**\n * Create a new notification.\n *\n * @param {Object} params Various parameters for the notification.\n * @param {string} params.title The title (defaults to the window's title).\n * @param {string} params.body The message body (main text).\n */\nhterm.notify = function(params) {\n var def = (curr, fallback) => curr !== undefined ? curr : fallback;\n if (params === undefined || params === null)\n params = {};\n\n // Merge the user's choices with the default settings. We don't take it\n // directly in case it was stuffed with excess junk.\n var options = {\n 'body': params.body,\n 'icon': def(params.icon, lib.resource.getDataUrl('hterm/images/icon-96')),\n }\n\n var title = def(params.title, window.document.title);\n if (!title)\n title = 'hterm';\n title = lib.f.replaceVars(hterm.desktopNotificationTitle, {'title': title});\n\n var n = new Notification(title, options);\n n.onclick = function() {\n window.focus();\n this.close();\n };\n return n;\n};\n\n/**\n * Constructor for a hterm.Size record.\n *\n * Instances of this class have public read/write members for width and height.\n *\n * @param {integer} width The width of this record.\n * @param {integer} height The height of this record.\n */\nhterm.Size = function(width, height) {\n this.width = width;\n this.height = height;\n};\n\n/**\n * Adjust the width and height of this record.\n *\n * @param {integer} width The new width of this record.\n * @param {integer} height The new height of this record.\n */\nhterm.Size.prototype.resize = function(width, height) {\n this.width = width;\n this.height = height;\n};\n\n/**\n * Return a copy of this record.\n *\n * @return {hterm.Size} A new hterm.Size instance with the same width and\n * height.\n */\nhterm.Size.prototype.clone = function() {\n return new hterm.Size(this.width, this.height);\n};\n\n/**\n * Set the height and width of this instance based on another hterm.Size.\n *\n * @param {hterm.Size} that The object to copy from.\n */\nhterm.Size.prototype.setTo = function(that) {\n this.width = that.width;\n this.height = that.height;\n};\n\n/**\n * Test if another hterm.Size instance is equal to this one.\n *\n * @param {hterm.Size} that The other hterm.Size instance.\n * @return {boolean} True if both instances have the same width/height, false\n * otherwise.\n */\nhterm.Size.prototype.equals = function(that) {\n return this.width == that.width && this.height == that.height;\n};\n\n/**\n * Return a string representation of this instance.\n *\n * @return {string} A string that identifies the width and height of this\n * instance.\n */\nhterm.Size.prototype.toString = function() {\n return '[hterm.Size: ' + this.width + ', ' + this.height + ']';\n};\n\n/**\n * Constructor for a hterm.RowCol record.\n *\n * Instances of this class have public read/write members for row and column.\n *\n * This class includes an 'overflow' bit which is use to indicate that an\n * attempt has been made to move the cursor column passed the end of the\n * screen. When this happens we leave the cursor column set to the last column\n * of the screen but set the overflow bit. In this state cursor movement\n * happens normally, but any attempt to print new characters causes a cr/lf\n * first.\n *\n * @param {integer} row The row of this record.\n * @param {integer} column The column of this record.\n * @param {boolean} opt_overflow Optional boolean indicating that the RowCol\n * has overflowed.\n */\nhterm.RowCol = function(row, column, opt_overflow) {\n this.row = row;\n this.column = column;\n this.overflow = !!opt_overflow;\n};\n\n/**\n * Adjust the row and column of this record.\n *\n * @param {integer} row The new row of this record.\n * @param {integer} column The new column of this record.\n * @param {boolean} opt_overflow Optional boolean indicating that the RowCol\n * has overflowed.\n */\nhterm.RowCol.prototype.move = function(row, column, opt_overflow) {\n this.row = row;\n this.column = column;\n this.overflow = !!opt_overflow;\n};\n\n/**\n * Return a copy of this record.\n *\n * @return {hterm.RowCol} A new hterm.RowCol instance with the same row and\n * column.\n */\nhterm.RowCol.prototype.clone = function() {\n return new hterm.RowCol(this.row, this.column, this.overflow);\n};\n\n/**\n * Set the row and column of this instance based on another hterm.RowCol.\n *\n * @param {hterm.RowCol} that The object to copy from.\n */\nhterm.RowCol.prototype.setTo = function(that) {\n this.row = that.row;\n this.column = that.column;\n this.overflow = that.overflow;\n};\n\n/**\n * Test if another hterm.RowCol instance is equal to this one.\n *\n * @param {hterm.RowCol} that The other hterm.RowCol instance.\n * @return {boolean} True if both instances have the same row/column, false\n * otherwise.\n */\nhterm.RowCol.prototype.equals = function(that) {\n return (this.row == that.row && this.column == that.column &&\n this.overflow == that.overflow);\n};\n\n/**\n * Return a string representation of this instance.\n *\n * @return {string} A string that identifies the row and column of this\n * instance.\n */\nhterm.RowCol.prototype.toString = function() {\n return ('[hterm.RowCol: ' + this.row + ', ' + this.column + ', ' +\n this.overflow + ']');\n};\n// SOURCE FILE: hterm/js/hterm_frame.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f');\n\n/**\n * First draft of the interface between the terminal and a third party dialog.\n *\n * This is rough. It's just the terminal->dialog layer. To complete things\n * we'll also need a command->terminal layer. That will have to facilitate\n * command->terminal->dialog or direct command->dialog communication.\n *\n * I imagine this class will change significantly when that happens.\n */\n\n/**\n * Construct a new frame for the given terminal.\n *\n * @param terminal {hterm.Terminal} The parent terminal object.\n * @param url {String} The url to load in the frame.\n * @param opt_options {Object} Optional options for the frame. Not implemented.\n */\nhterm.Frame = function(terminal, url, opt_options) {\n this.terminal_ = terminal;\n this.div_ = terminal.div_;\n this.url = url;\n this.options = opt_options || {};\n this.iframe_ = null;\n this.container_ = null;\n this.messageChannel_ = null;\n};\n\n/**\n * Handle messages from the iframe.\n */\nhterm.Frame.prototype.onMessage_ = function(e) {\n switch (e.data.name) {\n case 'ipc-init-ok':\n // We get this response after we send them ipc-init and they finish.\n this.sendTerminalInfo_();\n return;\n case 'terminal-info-ok':\n // We get this response after we send them terminal-info and they finish.\n // Show the finished frame, and then rebind our message handler to the\n // callback below.\n this.container_.style.display = 'flex';\n this.messageChannel_.port1.onmessage = this.onMessage.bind(this);\n this.onLoad();\n return;\n default:\n console.log('Unknown message from frame:', e.data);\n return;\n }\n};\n\n/**\n * Clients could override this, I guess.\n *\n * It doesn't support multiple listeners, but I'm not sure that would make sense\n * here. It's probably better to speak directly to our parents.\n */\nhterm.Frame.prototype.onMessage = function() {};\n\n/**\n * Handle iframe onLoad event.\n */\nhterm.Frame.prototype.onLoad_ = function() {\n this.messageChannel_ = new MessageChannel();\n this.messageChannel_.port1.onmessage = this.onMessage_.bind(this);\n this.messageChannel_.port1.start();\n this.iframe_.contentWindow.postMessage(\n {name: 'ipc-init', argv: [{messagePort: this.messageChannel_.port2}]},\n this.url, [this.messageChannel_.port2]);\n};\n\n/**\n * Clients may override this.\n */\nhterm.Frame.prototype.onLoad = function() {};\n\n/**\n * Sends the terminal-info message to the iframe.\n */\nhterm.Frame.prototype.sendTerminalInfo_ = function() {\n lib.f.getAcceptLanguages(function(languages) {\n this.postMessage('terminal-info', [{\n acceptLanguages: languages,\n foregroundColor: this.terminal_.getForegroundColor(),\n backgroundColor: this.terminal_.getBackgroundColor(),\n cursorColor: this.terminal_.getCursorColor(),\n fontSize: this.terminal_.getFontSize(),\n fontFamily: this.terminal_.getFontFamily(),\n baseURL: lib.f.getURL('/')\n }]\n );\n }.bind(this));\n};\n\n/**\n * User clicked the close button on the frame decoration.\n */\nhterm.Frame.prototype.onCloseClicked_ = function() {\n this.close();\n};\n\n/**\n * Close this frame.\n */\nhterm.Frame.prototype.close = function() {\n if (!this.container_ || !this.container_.parentNode)\n return;\n\n this.container_.parentNode.removeChild(this.container_);\n this.onClose();\n};\n\n\n/**\n * Clients may override this.\n */\nhterm.Frame.prototype.onClose = function() {};\n\n/**\n * Send a message to the iframe.\n */\nhterm.Frame.prototype.postMessage = function(name, argv) {\n if (!this.messageChannel_)\n throw new Error('Message channel is not set up.');\n\n this.messageChannel_.port1.postMessage({name: name, argv: argv});\n};\n\n/**\n * Show the UI for this frame.\n *\n * The iframe src is not loaded until this method is called.\n */\nhterm.Frame.prototype.show = function() {\n var self = this;\n\n function opt(name, defaultValue) {\n if (name in self.options)\n return self.options[name];\n\n return defaultValue;\n }\n\n var self = this;\n\n if (this.container_ && this.container_.parentNode) {\n console.error('Frame already visible');\n return;\n }\n\n var headerHeight = '16px';\n\n var divSize = hterm.getClientSize(this.div_);\n\n var width = opt('width', 640);\n var height = opt('height', 480);\n var left = (divSize.width - width) / 2;\n var top = (divSize.height - height) / 2;\n\n var document = this.terminal_.document_;\n\n var container = this.container_ = document.createElement('div');\n container.style.cssText = (\n 'position: absolute;' +\n 'display: none;' +\n 'flex-direction: column;' +\n 'top: 10%;' +\n 'left: 4%;' +\n 'width: 90%;' +\n 'height: 80%;' +\n 'min-height: 20%;' +\n 'max-height: 80%;' +\n 'box-shadow: 0 0 2px ' + this.terminal_.getForegroundColor() + ';' +\n 'border: 2px ' + this.terminal_.getForegroundColor() + ' solid;');\n\n if (false) {\n // No use for the close button, so no use for the window header either.\n var header = document.createElement('div');\n header.style.cssText = (\n 'display: flex;' +\n 'justify-content: flex-end;' +\n 'height: ' + headerHeight + ';' +\n 'background-color: ' + this.terminal_.getForegroundColor() + ';' +\n 'color: ' + this.terminal_.getBackgroundColor() + ';' +\n 'font-size: 16px;' +\n 'font-family: ' + this.terminal_.getFontFamily());\n container.appendChild(header);\n\n var button = document.createElement('div');\n button.setAttribute('role', 'button');\n button.style.cssText = (\n 'margin-top: -3px;' +\n 'margin-right: 3px;' +\n 'cursor: pointer;');\n button.textContent = '\\u2a2f';\n button.addEventListener('click', this.onCloseClicked_.bind(this));\n header.appendChild(button);\n }\n\n var iframe = this.iframe_ = document.createElement('iframe');\n iframe.onload = this.onLoad_.bind(this);\n iframe.style.cssText = (\n 'display: flex;' +\n 'flex: 1;' +\n 'width: 100%');\n iframe.setAttribute('src', this.url);\n iframe.setAttribute('seamless', true);\n container.appendChild(iframe);\n\n this.div_.appendChild(container);\n};\n// SOURCE FILE: hterm/js/hterm_keyboard.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyMap');\n\n/**\n * Keyboard handler.\n *\n * Consumes onKey* events and invokes onVTKeystroke on the associated\n * hterm.Terminal object.\n *\n * See also: [XTERM] as referenced in vt.js.\n *\n * @param {hterm.Terminal} The Terminal object associated with this keyboard.\n */\nhterm.Keyboard = function(terminal) {\n // The parent vt interpreter.\n this.terminal = terminal;\n\n // The element we're currently capturing keyboard events for.\n this.keyboardElement_ = null;\n\n // The event handlers we are interested in, and their bound callbacks, saved\n // so they can be uninstalled with removeEventListener, when required.\n this.handlers_ = [\n ['focusout', this.onFocusOut_.bind(this)],\n ['keydown', this.onKeyDown_.bind(this)],\n ['keypress', this.onKeyPress_.bind(this)],\n ['keyup', this.onKeyUp_.bind(this)],\n ['textInput', this.onTextInput_.bind(this)]\n ];\n\n /**\n * The current key map.\n */\n this.keyMap = new hterm.Keyboard.KeyMap(this);\n\n this.bindings = new hterm.Keyboard.Bindings(this);\n\n /**\n * none: Disable any AltGr related munging.\n * ctrl-alt: Assume Ctrl+Alt means AltGr.\n * left-alt: Assume left Alt means AltGr.\n * right-alt: Assume right Alt means AltGr.\n */\n this.altGrMode = 'none';\n\n /**\n * If true, Shift-Insert will fall through to the browser as a paste.\n * If false, the keystroke will be sent to the host.\n */\n this.shiftInsertPaste = true;\n\n /**\n * If true, home/end will control the terminal scrollbar and shift home/end\n * will send the VT keycodes. If false then home/end sends VT codes and\n * shift home/end scrolls.\n */\n this.homeKeysScroll = false;\n\n /**\n * Same as above, except for page up/page down.\n */\n this.pageKeysScroll = false;\n\n /**\n * If true, Ctrl-Plus/Minus/Zero controls zoom.\n * If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_,\n * Ctrl-Plus/Zero do nothing.\n */\n this.ctrlPlusMinusZeroZoom = true;\n\n /**\n * Ctrl+C copies if true, sends ^C to host if false.\n * Ctrl+Shift+C sends ^C to host if true, copies if false.\n */\n this.ctrlCCopy = false;\n\n /**\n * Ctrl+V pastes if true, sends ^V to host if false.\n * Ctrl+Shift+V sends ^V to host if true, pastes if false.\n */\n this.ctrlVPaste = false;\n\n /**\n * Enable/disable application keypad.\n *\n * This changes the way numeric keys are sent from the keyboard.\n */\n this.applicationKeypad = false;\n\n /**\n * Enable/disable the application cursor mode.\n *\n * This changes the way cursor keys are sent from the keyboard.\n */\n this.applicationCursor = false;\n\n /**\n * If true, the backspace should send BS ('\\x08', aka ^H). Otherwise\n * the backspace key should send '\\x7f'.\n */\n this.backspaceSendsBackspace = false;\n\n /**\n * The encoding method for data sent to the host.\n */\n this.characterEncoding = 'utf-8';\n\n /**\n * Set whether the meta key sends a leading escape or not.\n */\n this.metaSendsEscape = true;\n\n /**\n * Set whether meta-V gets passed to host.\n */\n this.passMetaV = true;\n\n /**\n * Controls how the alt key is handled.\n *\n * escape....... Send an ESC prefix.\n * 8-bit........ Add 128 to the unshifted character as in xterm.\n * browser-key.. Wait for the keypress event and see what the browser says.\n * (This won't work well on platforms where the browser\n * performs a default action for some alt sequences.)\n *\n * This setting only matters when alt is distinct from meta (altIsMeta is\n * false.)\n */\n this.altSendsWhat = 'escape';\n\n /**\n * Set whether the alt key acts as a meta key, instead of producing 8-bit\n * characters.\n *\n * True to enable, false to disable, null to autodetect based on platform.\n */\n this.altIsMeta = false;\n\n /**\n * If true, tries to detect DEL key events that are from alt-backspace on\n * Chrome OS vs from a true DEL key press.\n *\n * Background: At the time of writing, on Chrome OS, alt-backspace is mapped\n * to DEL. Some users may be happy with this, but others may be frustrated\n * that it's impossible to do meta-backspace. If the user enables this pref,\n * we use a trick to tell a true DEL keypress from alt-backspace: on\n * alt-backspace, we will see the alt key go down, then get a DEL keystroke\n * that indicates that alt is not pressed. See https://crbug.com/174410 .\n */\n this.altBackspaceIsMetaBackspace = false;\n\n /**\n * Used to keep track of the current alt-key state, which is necessary for\n * the altBackspaceIsMetaBackspace preference above and for the altGrMode\n * preference. This is a bitmap with where bit positions correspond to the\n * \"location\" property of the key event.\n */\n this.altKeyPressed = 0;\n\n /**\n * If true, Chrome OS media keys will be mapped to their F-key equivalent.\n * E.g. \"Back\" will be mapped to F1. If false, Chrome will handle the keys.\n */\n this.mediaKeysAreFKeys = false;\n\n /**\n * Holds the previous setting of altSendsWhat when DECSET 1039 is used. When\n * DECRST 1039 is used, altSendsWhat is changed back to this and this is\n * nulled out.\n */\n this.previousAltSendsWhat_ = null;\n};\n\n/**\n * Special handling for keyCodes in a keyboard layout.\n */\nhterm.Keyboard.KeyActions = {\n /**\n * Call preventDefault and stopPropagation for this key event and nothing\n * else.\n */\n CANCEL: lib.f.createEnum('CANCEL'),\n\n /**\n * This performs the default terminal action for the key. If used in the\n * 'normal' action and the the keystroke represents a printable key, the\n * character will be sent to the host. If used in one of the modifier\n * actions, the terminal will perform the normal action after (possibly)\n * altering it.\n *\n * - If the normal sequence starts with CSI, the sequence will be adjusted\n * to include the modifier parameter as described in [XTERM] in the final\n * table of the \"PC-Style Function Keys\" section.\n *\n * - If the control key is down and the key represents a printable character,\n * and the uppercase version of the unshifted keycap is between\n * 64 (ASCII '@') and 95 (ASCII '_'), then the uppercase version of the\n * unshifted keycap minus 64 is sent. This makes '^@' send '\\x00' and\n * '^_' send '\\x1f'. (Note that one higher that 0x1f is 0x20, which is\n * the first printable ASCII value.)\n *\n * - If the alt key is down and the key represents a printable character then\n * the value of the character is shifted up by 128.\n *\n * - If meta is down and configured to send an escape, '\\x1b' will be sent\n * before the normal action is performed.\n */\n DEFAULT: lib.f.createEnum('DEFAULT'),\n\n /**\n * Causes the terminal to opt out of handling the key event, instead letting\n * the browser deal with it.\n */\n PASS: lib.f.createEnum('PASS'),\n\n /**\n * Insert the first or second character of the keyCap, based on e.shiftKey.\n * The key will be handled in onKeyDown, and e.preventDefault() will be\n * called.\n *\n * It is useful for a modified key action, where it essentially strips the\n * modifier while preventing the browser from reacting to the key.\n */\n STRIP: lib.f.createEnum('STRIP')\n};\n\n/**\n * Encode a string according to the 'send-encoding' preference.\n */\nhterm.Keyboard.prototype.encode = function(str) {\n if (this.characterEncoding == 'utf-8')\n return this.terminal.vt.encodeUTF8(str);\n\n return str;\n};\n\n/**\n * Capture keyboard events sent to the associated element.\n *\n * This enables the keyboard. Captured events are consumed by this class\n * and will not perform their default action or bubble to other elements.\n *\n * Passing a null element will uninstall the keyboard handlers.\n *\n * @param {HTMLElement} element The element whose events should be captured, or\n * null to disable the keyboard.\n */\nhterm.Keyboard.prototype.installKeyboard = function(element) {\n if (element == this.keyboardElement_)\n return;\n\n if (element && this.keyboardElement_)\n this.installKeyboard(null);\n\n for (var i = 0; i < this.handlers_.length; i++) {\n var handler = this.handlers_[i];\n if (element) {\n element.addEventListener(handler[0], handler[1]);\n } else {\n this.keyboardElement_.removeEventListener(handler[0], handler[1]);\n }\n }\n\n this.keyboardElement_ = element;\n};\n\n/**\n * Disable keyboard event capture.\n *\n * This will allow the browser to process key events normally.\n */\nhterm.Keyboard.prototype.uninstallKeyboard = function() {\n this.installKeyboard(null);\n};\n\n/**\n * Handle onTextInput events.\n *\n * We're not actually supposed to get these, but we do on the Mac in the case\n * where a third party app sends synthetic keystrokes to Chrome.\n */\nhterm.Keyboard.prototype.onTextInput_ = function(e) {\n if (!e.data)\n return;\n\n e.data.split('').forEach(this.terminal.onVTKeystroke.bind(this.terminal));\n};\n\n/**\n * Handle onKeyPress events.\n */\nhterm.Keyboard.prototype.onKeyPress_ = function(e) {\n var code;\n\n var key = String.fromCharCode(e.which);\n var lowerKey = key.toLowerCase();\n if ((e.ctrlKey || e.metaKey) && (lowerKey == 'c' || lowerKey == 'v')) {\n // On FF the key press (not key down) event gets fired for copy/paste.\n // Let it fall through for the default browser behavior.\n return;\n }\n\n if (e.altKey && this.altSendsWhat == 'browser-key' && e.charCode == 0) {\n // If we got here because we were expecting the browser to handle an\n // alt sequence but it didn't do it, then we might be on an OS without\n // an enabled IME system. In that case we fall back to xterm-like\n // behavior.\n //\n // This happens here only as a fallback. Typically these platforms should\n // set altSendsWhat to either 'escape' or '8-bit'.\n var ch = String.fromCharCode(e.keyCode);\n if (!e.shiftKey)\n ch = ch.toLowerCase();\n code = ch.charCodeAt(0) + 128;\n\n } else if (e.charCode >= 32) {\n ch = e.charCode;\n }\n\n if (ch)\n this.terminal.onVTKeystroke(String.fromCharCode(ch));\n\n e.preventDefault();\n e.stopPropagation();\n};\n\n/**\n * Prevent default handling for non-ctrl-shifted event.\n *\n * When combined with Chrome permission 'app.window.fullscreen.overrideEsc',\n * and called for both key down and key up events,\n * the ESC key remains usable within fullscreen Chrome app windows.\n */\nhterm.Keyboard.prototype.preventChromeAppNonCtrlShiftDefault_ = function(e) {\n if (!window.chrome || !window.chrome.app || !window.chrome.app.window)\n return;\n if (!e.ctrlKey || !e.shiftKey)\n e.preventDefault();\n};\n\nhterm.Keyboard.prototype.onFocusOut_ = function(e) {\n this.altKeyPressed = 0;\n};\n\nhterm.Keyboard.prototype.onKeyUp_ = function(e) {\n if (e.keyCode == 18)\n this.altKeyPressed = this.altKeyPressed & ~(1 << (e.location - 1));\n\n if (e.keyCode == 27)\n this.preventChromeAppNonCtrlShiftDefault_(e);\n};\n\n/**\n * Handle onKeyDown events.\n */\nhterm.Keyboard.prototype.onKeyDown_ = function(e) {\n if (e.keyCode == 18)\n this.altKeyPressed = this.altKeyPressed | (1 << (e.location - 1));\n\n if (e.keyCode == 27)\n this.preventChromeAppNonCtrlShiftDefault_(e);\n\n var keyDef = this.keyMap.keyDefs[e.keyCode];\n if (!keyDef) {\n console.warn('No definition for keyCode: ' + e.keyCode);\n return;\n }\n\n // The type of action we're going to use.\n var resolvedActionType = null;\n\n var self = this;\n function getAction(name) {\n // Get the key action for the given action name. If the action is a\n // function, dispatch it. If the action defers to the normal action,\n // resolve that instead.\n\n resolvedActionType = name;\n\n var action = keyDef[name];\n if (typeof action == 'function')\n action = action.apply(self.keyMap, [e, keyDef]);\n\n if (action === DEFAULT && name != 'normal')\n action = getAction('normal');\n\n return action;\n }\n\n // Note that we use the triple-equals ('===') operator to test equality for\n // these constants, in order to distinguish usage of the constant from usage\n // of a literal string that happens to contain the same bytes.\n var CANCEL = hterm.Keyboard.KeyActions.CANCEL;\n var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT;\n var PASS = hterm.Keyboard.KeyActions.PASS;\n var STRIP = hterm.Keyboard.KeyActions.STRIP;\n\n var control = e.ctrlKey;\n var alt = this.altIsMeta ? false : e.altKey;\n var meta = this.altIsMeta ? (e.altKey || e.metaKey) : e.metaKey;\n\n // In the key-map, we surround the keyCap for non-printables in \"[...]\"\n var isPrintable = !(/^\\[\\w+\\]$/.test(keyDef.keyCap));\n\n switch (this.altGrMode) {\n case 'ctrl-alt':\n if (isPrintable && control && alt) {\n // ctrl-alt-printable means altGr. We clear out the control and\n // alt modifiers and wait to see the charCode in the keydown event.\n control = false;\n alt = false;\n }\n break;\n\n case 'right-alt':\n if (isPrintable && (this.terminal.keyboard.altKeyPressed & 2)) {\n control = false;\n alt = false;\n }\n break;\n\n case 'left-alt':\n if (isPrintable && (this.terminal.keyboard.altKeyPressed & 1)) {\n control = false;\n alt = false;\n }\n break;\n }\n\n var action;\n\n if (control) {\n action = getAction('control');\n } else if (alt) {\n action = getAction('alt');\n } else if (meta) {\n action = getAction('meta');\n } else {\n action = getAction('normal');\n }\n\n // If e.maskShiftKey was set (during getAction) it means the shift key is\n // already accounted for in the action, and we should not act on it any\n // further. This is currently only used for Ctrl-Shift-Tab, which should send\n // \"CSI Z\", not \"CSI 1 ; 2 Z\".\n var shift = !e.maskShiftKey && e.shiftKey;\n\n var keyDown = {\n keyCode: e.keyCode,\n shift: e.shiftKey, // not `var shift` from above.\n ctrl: control,\n alt: alt,\n meta: meta\n };\n\n var binding = this.bindings.getBinding(keyDown);\n\n if (binding) {\n // Clear out the modifier bits so we don't try to munge the sequence\n // further.\n shift = control = alt = meta = false;\n resolvedActionType = 'normal';\n action = binding.action;\n\n if (typeof action == 'function')\n action = action.call(this, this.terminal, keyDown);\n }\n\n if (alt && this.altSendsWhat == 'browser-key' && action == DEFAULT) {\n // When altSendsWhat is 'browser-key', we wait for the keypress event.\n // In keypress, the browser should have set the event.charCode to the\n // appropriate character.\n // TODO(rginda): Character compositions will need some black magic.\n action = PASS;\n }\n\n if (action === PASS || (action === DEFAULT && !(control || alt || meta))) {\n // If this key is supposed to be handled by the browser, or it is an\n // unmodified key with the default action, then exit this event handler.\n // If it's an unmodified key, it'll be handled in onKeyPress where we\n // can tell for sure which ASCII code to insert.\n //\n // This block needs to come before the STRIP test, otherwise we'll strip\n // the modifier and think it's ok to let the browser handle the keypress.\n // The browser won't know we're trying to ignore the modifiers and might\n // perform some default action.\n return;\n }\n\n if (action === STRIP) {\n alt = control = false;\n action = keyDef.normal;\n if (typeof action == 'function')\n action = action.apply(this.keyMap, [e, keyDef]);\n\n if (action == DEFAULT && keyDef.keyCap.length == 2)\n action = keyDef.keyCap.substr((shift ? 1 : 0), 1);\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n if (action === CANCEL)\n return;\n\n if (action !== DEFAULT && typeof action != 'string') {\n console.warn('Invalid action: ' + JSON.stringify(action));\n return;\n }\n\n // Strip the modifier that is associated with the action, since we assume that\n // modifier has already been accounted for in the action.\n if (resolvedActionType == 'control') {\n control = false;\n } else if (resolvedActionType == 'alt') {\n alt = false;\n } else if (resolvedActionType == 'meta') {\n meta = false;\n }\n\n if (action.substr(0, 2) == '\\x1b[' && (alt || control || shift)) {\n // The action is an escape sequence that and it was triggered in the\n // presence of a keyboard modifier, we may need to alter the action to\n // include the modifier before sending it.\n\n var mod;\n\n if (shift && !(alt || control)) {\n mod = ';2';\n } else if (alt && !(shift || control)) {\n mod = ';3';\n } else if (shift && alt && !control) {\n mod = ';4';\n } else if (control && !(shift || alt)) {\n mod = ';5';\n } else if (shift && control && !alt) {\n mod = ';6';\n } else if (alt && control && !shift) {\n mod = ';7';\n } else if (shift && alt && control) {\n mod = ';8';\n }\n\n if (action.length == 3) {\n // Some of the CSI sequences have zero parameters unless modified.\n action = '\\x1b[1' + mod + action.substr(2, 1);\n } else {\n // Others always have at least one parameter.\n action = action.substr(0, action.length - 1) + mod +\n action.substr(action.length - 1);\n }\n\n } else {\n if (action === DEFAULT) {\n action = keyDef.keyCap.substr((shift ? 1 : 0), 1);\n\n if (control) {\n var unshifted = keyDef.keyCap.substr(0, 1);\n var code = unshifted.charCodeAt(0);\n if (code >= 64 && code <= 95) {\n action = String.fromCharCode(code - 64);\n }\n }\n }\n\n if (alt && this.altSendsWhat == '8-bit' && action.length == 1) {\n var code = action.charCodeAt(0) + 128;\n action = String.fromCharCode(code);\n }\n\n // We respect alt/metaSendsEscape even if the keymap action was a literal\n // string. Otherwise, every overridden alt/meta action would have to\n // check alt/metaSendsEscape.\n if ((alt && this.altSendsWhat == 'escape') ||\n (meta && this.metaSendsEscape)) {\n action = '\\x1b' + action;\n }\n }\n\n this.terminal.onVTKeystroke(action);\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_bindings.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * A mapping from hterm.Keyboard.KeyPattern to an action.\n *\n * TODO(rginda): For now this bindings code is only used for user overrides.\n * hterm.Keyboard.KeyMap still handles all of the built-in key mappings.\n * It'd be nice if we migrated that over to be hterm.Keyboard.Bindings based.\n */\nhterm.Keyboard.Bindings = function() {\n this.bindings_ = {};\n};\n\n/**\n * Remove all bindings.\n */\nhterm.Keyboard.Bindings.prototype.clear = function () {\n this.bindings_ = {};\n};\n\n/**\n * Add a new binding.\n *\n * Internal API that assumes parsed objects as inputs.\n * See the public addBinding for more details.\n *\n * @param {hterm.Keyboard.KeyPattern} keyPattern\n * @param {string|function|hterm.Keyboard.KeyAction} action\n */\nhterm.Keyboard.Bindings.prototype.addBinding_ = function(keyPattern, action) {\n var binding = null;\n var list = this.bindings_[keyPattern.keyCode];\n if (list) {\n for (var i = 0; i < list.length; i++) {\n if (list[i].keyPattern.matchKeyPattern(keyPattern)) {\n binding = list[i];\n break;\n }\n }\n }\n\n if (binding) {\n binding.action = action;\n } else {\n binding = {keyPattern: keyPattern, action: action};\n\n if (!list) {\n this.bindings_[keyPattern.keyCode] = [binding];\n } else {\n this.bindings_[keyPattern.keyCode].push(binding);\n\n list.sort(function(a, b) {\n return hterm.Keyboard.KeyPattern.sortCompare(\n a.keyPattern, b.keyPattern);\n });\n }\n }\n};\n\n/**\n * Add a new binding.\n *\n * If a binding for the keyPattern already exists it will be overridden.\n *\n * More specific keyPatterns take precedence over those with wildcards. Given\n * bindings for \"Ctrl-A\" and \"Ctrl-*-A\", and a \"Ctrl-A\" keydown, the \"Ctrl-A\"\n * binding will match even if \"Ctrl-*-A\" was created last.\n *\n * If action is a string, it will be passed through hterm.Parser.parseKeyAction.\n *\n * For example:\n * // Will replace Ctrl-P keystrokes with the string \"hiya!\".\n * addBinding('Ctrl-P', \"'hiya!'\");\n * // Will cancel the keystroke entirely (make it do nothing).\n * addBinding('Alt-D', hterm.Keyboard.KeyActions.CANCEL);\n * // Will execute the code and return the action.\n * addBinding('Ctrl-T', function() {\n * console.log('Got a T!');\n * return hterm.Keyboard.KeyActions.PASS;\n * });\n *\n * @param {string|hterm.Keyboard.KeyPattern} keyPattern\n * @param {string|function|hterm.Keyboard.KeyAction} action\n */\nhterm.Keyboard.Bindings.prototype.addBinding = function(key, action) {\n // If we're given a hterm.Keyboard.KeyPattern object, pass it down.\n if (typeof key != 'string') {\n this.addBinding_(key, action);\n return;\n }\n\n // Here we treat key as a string.\n var p = new hterm.Parser();\n\n p.reset(key);\n var sequence;\n\n try {\n sequence = p.parseKeySequence();\n } catch (ex) {\n console.error(ex);\n return;\n }\n\n if (!p.isComplete()) {\n console.error(p.error('Expected end of sequence: ' + sequence));\n return;\n }\n\n // If action is a string, parse it. Otherwise assume it's callable.\n if (typeof action == 'string') {\n p.reset(action);\n try {\n action = p.parseKeyAction();\n } catch (ex) {\n console.error(ex);\n return;\n }\n }\n\n if (!p.isComplete()) {\n console.error(p.error('Expected end of sequence: ' + sequence));\n return;\n }\n\n this.addBinding_(new hterm.Keyboard.KeyPattern(sequence), action);\n};\n\n/**\n * Add multiple bindings at a time using a map of {string: string, ...}\n *\n * This uses hterm.Parser to parse the maps key into KeyPatterns, and the\n * map values into {string|function|KeyAction}.\n *\n * For example:\n * {\n * // Will replace Ctrl-P keystrokes with the string \"hiya!\".\n * 'Ctrl-P': \"'hiya!'\",\n * // Will cancel the keystroke entirely (make it do nothing).\n * 'Alt-D': hterm.Keyboard.KeyActions.CANCEL,\n * }\n *\n * @param {Object} map\n */\nhterm.Keyboard.Bindings.prototype.addBindings = function(map) {\n for (var key in map) {\n this.addBinding(key, map[key]);\n }\n};\n\n/**\n * Return the binding that is the best match for the given keyDown record,\n * or null if there is no match.\n *\n * @param {Object} keyDown An object with a keyCode property and zero or\n * more boolean properties representing key modifiers. These property names\n * must match those defined in hterm.Keyboard.KeyPattern.modifiers.\n */\nhterm.Keyboard.Bindings.prototype.getBinding = function(keyDown) {\n var list = this.bindings_[keyDown.keyCode];\n if (!list)\n return null;\n\n for (var i = 0; i < list.length; i++) {\n var binding = list[i];\n if (binding.keyPattern.matchKeyDown(keyDown))\n return binding;\n }\n\n return null;\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_keymap.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyActions');\n\n/**\n * The default key map for hterm.\n *\n * Contains a mapping of keyCodes to keyDefs (aka key definitions). The key\n * definition tells the hterm.Keyboard class how to handle keycodes.\n *\n * This should work for most cases, as the printable characters get handled\n * in the keypress event. In that case, even if the keycap is wrong in the\n * key map, the correct character should be sent.\n *\n * Different layouts, such as Dvorak should work with this keymap, as those\n * layouts typically move keycodes around on the keyboard without disturbing\n * the actual keycaps.\n *\n * There may be issues with control keys on non-US keyboards or with keyboards\n * that very significantly from the expectations here, in which case we may\n * have to invent new key maps.\n *\n * The sequences defined in this key map come from [XTERM] as referenced in\n * vt.js, starting with the section titled \"Alt and Meta Keys\".\n */\nhterm.Keyboard.KeyMap = function(keyboard) {\n this.keyboard = keyboard;\n this.keyDefs = {};\n this.reset();\n};\n\n/**\n * Add a single key definition.\n *\n * The definition is a hash containing the following keys: 'keyCap', 'normal',\n * 'control', and 'alt'.\n *\n * - keyCap is a string identifying the key. For printable\n * keys, the key cap should be exactly two characters, starting with the\n * unshifted version. For example, 'aA', 'bB', '1!' and '=+'. For\n * non-printable the key cap should be surrounded in square braces, as in\n * '[INS]', '[LEFT]'. By convention, non-printable keycaps are in uppercase\n * but this is not a strict requirement.\n *\n * - Normal is the action that should be performed when they key is pressed\n * in the absence of any modifier. See below for the supported actions.\n *\n * - Control is the action that should be performed when they key is pressed\n * along with the control modifier. See below for the supported actions.\n *\n * - Alt is the action that should be performed when they key is pressed\n * along with the alt modifier. See below for the supported actions.\n *\n * - Meta is the action that should be performed when they key is pressed\n * along with the meta modifier. See below for the supported actions.\n *\n * Actions can be one of the hterm.Keyboard.KeyActions as documented below,\n * a literal string, or an array. If the action is a literal string then\n * the string is sent directly to the host. If the action is an array it\n * is taken to be an escape sequence that may be altered by modifier keys.\n * The second-to-last element of the array will be overwritten with the\n * state of the modifier keys, as specified in the final table of \"PC-Style\n * Function Keys\" from [XTERM].\n */\nhterm.Keyboard.KeyMap.prototype.addKeyDef = function(keyCode, def) {\n if (keyCode in this.keyDefs)\n console.warn('Duplicate keyCode: ' + keyCode);\n\n this.keyDefs[keyCode] = def;\n};\n\n/**\n * Add multiple key definitions in a single call.\n *\n * This function takes the key definitions as variable argument list. Each\n * argument is the key definition specified as an array.\n *\n * (If the function took everything as one big hash we couldn't detect\n * duplicates, and there would be a lot more typing involved.)\n *\n * Each key definition should have 6 elements: (keyCode, keyCap, normal action,\n * control action, alt action and meta action). See KeyMap.addKeyDef for the\n * meaning of these elements.\n */\nhterm.Keyboard.KeyMap.prototype.addKeyDefs = function(var_args) {\n for (var i = 0; i < arguments.length; i++) {\n this.addKeyDef(arguments[i][0],\n { keyCap: arguments[i][1],\n normal: arguments[i][2],\n control: arguments[i][3],\n alt: arguments[i][4],\n meta: arguments[i][5]\n });\n }\n};\n\n/**\n * Set up the default state for this keymap.\n */\nhterm.Keyboard.KeyMap.prototype.reset = function() {\n this.keyDefs = {};\n\n var self = this;\n\n // This function is used by the \"macro\" functions below. It makes it\n // possible to use the call() macro as an argument to any other macro.\n function resolve(action, e, k) {\n if (typeof action == 'function')\n return action.apply(self, [e, k]);\n\n return action;\n }\n\n // If not application keypad a, else b. The keys that care about\n // application keypad ignore it when the key is modified.\n function ak(a, b) {\n return function(e, k) {\n var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !self.keyboard.applicationKeypad) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If mod or not application cursor a, else b. The keys that care about\n // application cursor ignore it when the key is modified.\n function ac(a, b) {\n return function(e, k) {\n var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !self.keyboard.applicationCursor) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If not backspace-sends-backspace keypad a, else b.\n function bs(a, b) {\n return function(e, k) {\n var action = !self.keyboard.backspaceSendsBackspace ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If not e.shiftKey a, else b.\n function sh(a, b) {\n return function(e, k) {\n var action = !e.shiftKey ? a : b;\n e.maskShiftKey = true;\n return resolve(action, e, k);\n };\n }\n\n // If not e.altKey a, else b.\n function alt(a, b) {\n return function(e, k) {\n var action = !e.altKey ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If no modifiers a, else b.\n function mod(a, b) {\n return function(e, k) {\n var action = !(e.shiftKey || e.ctrlKey || e.altKey || e.metaKey) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // Compute a control character for a given character.\n function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) }\n\n // Call a method on the keymap instance.\n function c(m) { return function (e, k) { return this[m](e, k) } }\n\n // Ignore if not trapping media keys.\n function med(fn) {\n return function(e, k) {\n if (!self.keyboard.mediaKeysAreFKeys) {\n // Block Back, Forward, and Reload keys to avoid navigating away from\n // the current page.\n return (e.keyCode == 166 || e.keyCode == 167 || e.keyCode == 168) ?\n hterm.Keyboard.KeyActions.CANCEL :\n hterm.Keyboard.KeyActions.PASS;\n }\n return resolve(fn, e, k);\n };\n }\n\n var ESC = '\\x1b';\n var CSI = '\\x1b[';\n var SS3 = '\\x1bO';\n\n var CANCEL = hterm.Keyboard.KeyActions.CANCEL;\n var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT;\n var PASS = hterm.Keyboard.KeyActions.PASS;\n var STRIP = hterm.Keyboard.KeyActions.STRIP;\n\n this.addKeyDefs(\n // These fields are: [keycode, keycap, normal, control, alt, meta]\n\n // The browser sends the keycode 0 for some keys. We'll just assume it's\n // going to do the right thing by default for those keys.\n [0, '[UNKNOWN]', PASS, PASS, PASS, PASS],\n\n // First row.\n [27, '[ESC]', ESC, DEFAULT, DEFAULT, DEFAULT],\n [112, '[F1]', mod(SS3 + 'P', CSI + 'P'), DEFAULT, CSI + \"23~\", DEFAULT],\n [113, '[F2]', mod(SS3 + 'Q', CSI + 'Q'), DEFAULT, CSI + \"24~\", DEFAULT],\n [114, '[F3]', mod(SS3 + 'R', CSI + 'R'), DEFAULT, CSI + \"25~\", DEFAULT],\n [115, '[F4]', mod(SS3 + 'S', CSI + 'S'), DEFAULT, CSI + \"26~\", DEFAULT],\n [116, '[F5]', CSI + '15~', DEFAULT, CSI + \"28~\", DEFAULT],\n [117, '[F6]', CSI + '17~', DEFAULT, CSI + \"29~\", DEFAULT],\n [118, '[F7]', CSI + '18~', DEFAULT, CSI + \"31~\", DEFAULT],\n [119, '[F8]', CSI + '19~', DEFAULT, CSI + \"32~\", DEFAULT],\n [120, '[F9]', CSI + '20~', DEFAULT, CSI + \"33~\", DEFAULT],\n [121, '[F10]', CSI + '21~', DEFAULT, CSI + \"34~\", DEFAULT],\n [122, '[F11]', CSI + '23~', DEFAULT, CSI + \"42~\", DEFAULT],\n [123, '[F12]', CSI + '24~', DEFAULT, CSI + \"43~\", DEFAULT],\n\n // Second row.\n [192, '`~', DEFAULT, sh(ctl('@'), ctl('^')), DEFAULT, PASS],\n [49, '1!', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [50, '2@', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [51, '3#', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [52, '4$', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [53, '5%', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [54, '6^', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [55, '7&', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [56, '8*', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [57, '9(', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [48, '0)', DEFAULT, c('onPlusMinusZero_'),c('onAltNum_'),c('onPlusMinusZero_')],\n [189, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [187, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n // Firefox -_ and =+\n [173, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [61, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n // Firefox Italian +*\n [171, '+*', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n\n [8, '[BKSP]', bs('\\x7f', '\\b'), bs('\\b', '\\x7f'), DEFAULT, DEFAULT],\n\n // Third row.\n [9, '[TAB]', sh('\\t', CSI + 'Z'), STRIP, PASS, DEFAULT],\n [81, 'qQ', DEFAULT, ctl('Q'), DEFAULT, DEFAULT],\n [87, 'wW', DEFAULT, ctl('W'), DEFAULT, DEFAULT],\n [69, 'eE', DEFAULT, ctl('E'), DEFAULT, DEFAULT],\n [82, 'rR', DEFAULT, ctl('R'), DEFAULT, DEFAULT],\n [84, 'tT', DEFAULT, ctl('T'), DEFAULT, DEFAULT],\n [89, 'yY', DEFAULT, ctl('Y'), DEFAULT, DEFAULT],\n [85, 'uU', DEFAULT, ctl('U'), DEFAULT, DEFAULT],\n [73, 'iI', DEFAULT, ctl('I'), DEFAULT, DEFAULT],\n [79, 'oO', DEFAULT, ctl('O'), DEFAULT, DEFAULT],\n [80, 'pP', DEFAULT, ctl('P'), DEFAULT, DEFAULT],\n [219, '[{', DEFAULT, ctl('['), DEFAULT, DEFAULT],\n [221, ']}', DEFAULT, ctl(']'), DEFAULT, DEFAULT],\n [220, '\\\\|', DEFAULT, ctl('\\\\'), DEFAULT, DEFAULT],\n\n // Fourth row. (We let Ctrl-Shift-J pass for Chrome DevTools.)\n [20, '[CAPS]', PASS, PASS, PASS, DEFAULT],\n [65, 'aA', DEFAULT, ctl('A'), DEFAULT, DEFAULT],\n [83, 'sS', DEFAULT, ctl('S'), DEFAULT, DEFAULT],\n [68, 'dD', DEFAULT, ctl('D'), DEFAULT, DEFAULT],\n [70, 'fF', DEFAULT, ctl('F'), DEFAULT, DEFAULT],\n [71, 'gG', DEFAULT, ctl('G'), DEFAULT, DEFAULT],\n [72, 'hH', DEFAULT, ctl('H'), DEFAULT, DEFAULT],\n [74, 'jJ', DEFAULT, sh(ctl('J'), PASS), DEFAULT, DEFAULT],\n [75, 'kK', DEFAULT, sh(ctl('K'), c('onClear_')), DEFAULT, DEFAULT],\n [76, 'lL', DEFAULT, sh(ctl('L'), PASS), DEFAULT, DEFAULT],\n [186, ';:', DEFAULT, STRIP, DEFAULT, DEFAULT],\n [222, '\\'\"', DEFAULT, STRIP, DEFAULT, DEFAULT],\n [13, '[ENTER]', '\\r', CANCEL, CANCEL, DEFAULT],\n\n // Fifth row. This includes the copy/paste shortcuts. On some\n // platforms it's Ctrl-C/V, on others it's Meta-C/V. We assume either\n // Ctrl-C/Meta-C should pass to the browser when there is a selection,\n // and Ctrl-Shift-V/Meta-*-V should always pass to the browser (since\n // these seem to be recognized as paste too).\n [16, '[SHIFT]', PASS, PASS, PASS, DEFAULT],\n [90, 'zZ', DEFAULT, ctl('Z'), DEFAULT, DEFAULT],\n [88, 'xX', DEFAULT, ctl('X'), DEFAULT, DEFAULT],\n [67, 'cC', DEFAULT, c('onCtrlC_'), DEFAULT, c('onMetaC_')],\n [86, 'vV', DEFAULT, c('onCtrlV_'), DEFAULT, c('onMetaV_')],\n [66, 'bB', DEFAULT, sh(ctl('B'), PASS), DEFAULT, sh(DEFAULT, PASS)],\n [78, 'nN', DEFAULT, c('onCtrlN_'), DEFAULT, c('onMetaN_')],\n [77, 'mM', DEFAULT, ctl('M'), DEFAULT, DEFAULT],\n [188, ',<', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT],\n [190, '.>', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT],\n [191, '/?', DEFAULT, sh(ctl('_'), ctl('?')), DEFAULT, DEFAULT],\n\n // Sixth and final row.\n [17, '[CTRL]', PASS, PASS, PASS, PASS],\n [18, '[ALT]', PASS, PASS, PASS, PASS],\n [91, '[LAPL]', PASS, PASS, PASS, PASS],\n [32, ' ', DEFAULT, ctl('@'), DEFAULT, DEFAULT],\n [92, '[RAPL]', PASS, PASS, PASS, PASS],\n [93, '[RMENU]', PASS, PASS, PASS, PASS],\n\n // These things.\n [42, '[PRTSCR]', PASS, PASS, PASS, PASS],\n [145, '[SCRLK]', PASS, PASS, PASS, PASS],\n [19, '[BREAK]', PASS, PASS, PASS, PASS],\n\n // The block of six keys above the arrows.\n [45, '[INSERT]', c('onKeyInsert_'), DEFAULT, DEFAULT, DEFAULT],\n [36, '[HOME]', c('onKeyHome_'), DEFAULT, DEFAULT, DEFAULT],\n [33, '[PGUP]', c('onKeyPageUp_'), DEFAULT, DEFAULT, DEFAULT],\n [46, '[DEL]', c('onKeyDel_'), DEFAULT, DEFAULT, DEFAULT],\n [35, '[END]', c('onKeyEnd_'), DEFAULT, DEFAULT, DEFAULT],\n [34, '[PGDOWN]', c('onKeyPageDown_'), DEFAULT, DEFAULT, DEFAULT],\n\n // Arrow keys. When unmodified they respect the application cursor state,\n // otherwise they always send the CSI codes.\n [38, '[UP]', c('onKeyArrowUp_'), DEFAULT, DEFAULT, DEFAULT],\n [40, '[DOWN]', c('onKeyArrowDown_'), DEFAULT, DEFAULT, DEFAULT],\n [39, '[RIGHT]', ac(CSI + 'C', SS3 + 'C'), DEFAULT, DEFAULT, DEFAULT],\n [37, '[LEFT]', ac(CSI + 'D', SS3 + 'D'), DEFAULT, DEFAULT, DEFAULT],\n\n [144, '[NUMLOCK]', PASS, PASS, PASS, PASS],\n\n // With numlock off, the keypad generates the same key codes as the arrows\n // and 'block of six' for some keys, and null key codes for the rest.\n\n // Keypad with numlock on generates unique key codes...\n [96, '[KP0]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [97, '[KP1]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [98, '[KP2]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [99, '[KP3]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [100, '[KP4]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [101, '[KP5]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [102, '[KP6]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [103, '[KP7]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [104, '[KP8]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [105, '[KP9]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [107, '[KP+]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [109, '[KP-]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [106, '[KP*]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [111, '[KP/]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [110, '[KP.]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n\n // Chrome OS keyboard top row.\n [166, '[BACK]', med(mod(SS3+'P', CSI+'P')), DEFAULT, CSI+\"23~\", DEFAULT],\n [167, '[FWD]', med(mod(SS3+'Q', CSI+'Q')), DEFAULT, CSI+\"24~\", DEFAULT],\n [168, '[RELOAD]', med(mod(SS3+'R', CSI+'R')), DEFAULT, CSI+\"25~\", DEFAULT],\n [183, '[FSCR]', med(mod(SS3+'S', CSI+'S')), DEFAULT, CSI+\"26~\", DEFAULT],\n [182, '[WINS]', med(CSI + '15~'), DEFAULT, CSI+\"28~\", DEFAULT],\n [216, '[BRIT-]', med(CSI + '17~'), DEFAULT, CSI+\"29~\", DEFAULT],\n [217, '[BRIT+]', med(CSI + '18~'), DEFAULT, CSI+\"31~\", DEFAULT]\n\n // 173 [MUTE], 174 [VOL-] and 175 [VOL+] are trapped by the Chrome OS\n // window manager, so we'll never see them. Note that 173 is also\n // Firefox's -_ keycode.\n );\n};\n\n/**\n * Either allow the paste or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyInsert_ = function(e) {\n if (this.keyboard.shiftInsertPaste && e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return '\\x1b[2~';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyHome_ = function(e) {\n if (!this.keyboard.homeKeysScroll ^ e.shiftKey) {\n if ((e.altey || e.ctrlKey || e.shiftKey) ||\n !this.keyboard.applicationCursor) {\n return '\\x1b[H';\n }\n\n return '\\x1bOH';\n }\n\n this.keyboard.terminal.scrollHome();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyEnd_ = function(e) {\n if (!this.keyboard.homeKeysScroll ^ e.shiftKey) {\n if ((e.altKey || e.ctrlKey || e.shiftKey) ||\n !this.keyboard.applicationCursor) {\n return '\\x1b[F';\n }\n\n return '\\x1bOF';\n }\n\n this.keyboard.terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyPageUp_ = function(e) {\n if (!this.keyboard.pageKeysScroll ^ e.shiftKey)\n return '\\x1b[5~';\n\n this.keyboard.terminal.scrollPageUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either send a true DEL, or sub in meta-backspace.\n *\n * On Chrome OS, if we know the alt key is down, but we get a DEL event that\n * claims that the alt key is not pressed, we know the DEL was a synthetic\n * one from a user that hit alt-backspace. Based on a user pref, we can sub\n * in meta-backspace in this case.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyDel_ = function(e) {\n if (this.keyboard.altBackspaceIsMetaBackspace &&\n this.keyboard.altKeyPressed && !e.altKey)\n return '\\x1b\\x7f';\n return '\\x1b[3~';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyPageDown_ = function(e) {\n if (!this.keyboard.pageKeysScroll ^ e.shiftKey)\n return '\\x1b[6~';\n\n this.keyboard.terminal.scrollPageDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyArrowUp_ = function(e) {\n if (!this.keyboard.applicationCursor && e.shiftKey) {\n this.keyboard.terminal.scrollLineUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !this.keyboard.applicationCursor) ? '\\x1b[A' : '\\x1bOA';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyArrowDown_ = function(e) {\n if (!this.keyboard.applicationCursor && e.shiftKey) {\n this.keyboard.terminal.scrollLineDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !this.keyboard.applicationCursor) ? '\\x1b[B' : '\\x1bOB';\n};\n\n/**\n * Clear the primary/alternate screens and the scrollback buffer.\n */\nhterm.Keyboard.KeyMap.prototype.onClear_ = function(e, keyDef) {\n this.keyboard.terminal.wipeContents();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either pass Ctrl-1..9 to the browser or send them to the host.\n *\n * Note that Ctrl-1 and Ctrl-9 don't actually have special sequences mapped\n * to them in xterm or gnome-terminal. The range is really Ctrl-2..8, but\n * we handle 1..9 since Chrome treats the whole range special.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlNum_ = function(e, keyDef) {\n // Compute a control character for a given character.\n function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) }\n\n if (this.keyboard.terminal.passCtrlNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n switch (keyDef.keyCap.substr(0, 1)) {\n case '1': return '1';\n case '2': return ctl('@');\n case '3': return ctl('[');\n case '4': return ctl('\\\\');\n case '5': return ctl(']');\n case '6': return ctl('^');\n case '7': return ctl('_');\n case '8': return '\\x7f';\n case '9': return '9';\n }\n};\n\n/**\n * Either pass Alt-1..9 to the browser or send them to the host.\n */\nhterm.Keyboard.KeyMap.prototype.onAltNum_ = function(e, keyDef) {\n if (this.keyboard.terminal.passAltNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either pass Meta-1..9 to the browser or send them to the host.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaNum_ = function(e, keyDef) {\n if (this.keyboard.terminal.passMetaNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either send a ^C or interpret the keystroke as a copy command.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlC_ = function(e, keyDef) {\n var selection = this.keyboard.terminal.getDocument().getSelection();\n\n if (!selection.isCollapsed) {\n if (this.keyboard.ctrlCCopy && !e.shiftKey) {\n // Ctrl-C should copy if there is a selection, send ^C otherwise.\n // Perform the copy by letting the browser handle Ctrl-C. On most\n // browsers, this is the *only* way to place text on the clipboard from\n // the 'drive-by' web.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(selection.collapseToEnd.bind(selection), 50);\n }\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n if (!this.keyboard.ctrlCCopy && e.shiftKey) {\n // Ctrl-Shift-C should copy if there is a selection, send ^C otherwise.\n // Perform the copy manually. This only works in situations where\n // document.execCommand('copy') is allowed.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(selection.collapseToEnd.bind(selection), 50);\n }\n this.keyboard.terminal.copySelectionToClipboard();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n }\n\n return '\\x03';\n};\n\n/**\n * Either send a ^N or open a new window to the same location.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlN_ = function(e, keyDef) {\n if (e.shiftKey) {\n window.open(document.location.href, '',\n 'chrome=no,close=yes,resize=yes,scrollbars=yes,' +\n 'minimizable=yes,width=' + window.innerWidth +\n ',height=' + window.innerHeight);\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return '\\x0e';\n};\n\n/**\n * Either send a ^V or issue a paste command.\n *\n * The default behavior is to paste if the user presses Ctrl-Shift-V, and send\n * a ^V if the user presses Ctrl-V. This can be flipped with the\n * 'ctrl-v-paste' preference.\n *\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlV_ = function(e, keyDef) {\n if ((!e.shiftKey && this.keyboard.ctrlVPaste) ||\n (e.shiftKey && !this.keyboard.ctrlVPaste)) {\n // We try to do the pasting ourselves as not all browsers/OSs bind Ctrl-V to\n // pasting. Notably, on macOS, Ctrl-V/Ctrl-Shift-V do nothing.\n // However, this might run into web restrictions, so if it fails, we still\n // fallback to the letting the native behavior (hopefully) save us.\n if (this.keyboard.terminal.paste())\n return hterm.Keyboard.KeyActions.CANCEL;\n else\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n return '\\x16';\n};\n\n/**\n * Either the default action or open a new window to the same location.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaN_ = function(e, keyDef) {\n if (e.shiftKey) {\n window.open(document.location.href, '',\n 'chrome=no,close=yes,resize=yes,scrollbars=yes,' +\n 'minimizable=yes,width=' + window.outerWidth +\n ',height=' + window.outerHeight);\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either send a Meta-C or allow the browser to interpret the keystroke as a\n * copy command.\n *\n * If there is no selection, or if the user presses Meta-Shift-C, then we'll\n * transmit an '\\x1b' (if metaSendsEscape is on) followed by 'c' or 'C'.\n *\n * If there is a selection, we defer to the browser. In this case we clear out\n * the selection so the user knows we heard them, and also to give them a\n * chance to send a Meta-C by just hitting the key again.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaC_ = function(e, keyDef) {\n var document = this.keyboard.terminal.getDocument();\n if (e.shiftKey || document.getSelection().isCollapsed) {\n // If the shift key is being held, or there is no document selection, send\n // a Meta-C. The keyboard code will add the ESC if metaSendsEscape is true,\n // we just have to decide between 'c' and 'C'.\n return keyDef.keyCap.substr(e.shiftKey ? 1 : 0, 1);\n }\n\n // Otherwise let the browser handle it as a copy command.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(function() { document.getSelection().collapseToEnd() }, 50);\n }\n return hterm.Keyboard.KeyActions.PASS;\n};\n\n/**\n * Either PASS or DEFAULT Meta-V, depending on preference.\n *\n * Always PASS Meta-Shift-V to allow browser to interpret the keystroke as\n * a paste command.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaV_ = function(e, keyDef) {\n if (e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return this.keyboard.passMetaV ?\n hterm.Keyboard.KeyActions.PASS :\n hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Handle font zooming.\n *\n * The browser's built-in zoom has a bit of an issue at certain zoom levels.\n * At some magnifications, the measured height of a row of text differs from\n * the height that was explicitly set.\n *\n * We override the browser zoom keys to change the ScrollPort's font size to\n * avoid the issue.\n */\nhterm.Keyboard.KeyMap.prototype.onPlusMinusZero_ = function(e, keyDef) {\n if (!(this.keyboard.ctrlPlusMinusZeroZoom ^ e.shiftKey)) {\n // If ctrl-PMZ controls zoom and the shift key is pressed, or\n // ctrl-shift-PMZ controls zoom and this shift key is not pressed,\n // then we want to send the control code instead of affecting zoom.\n if (keyDef.keyCap == '-_')\n return '\\x1f'; // ^_\n\n // Only ^_ is valid, the other sequences have no meaning.\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n if (this.keyboard.terminal.getZoomFactor() != 1) {\n // If we're not at 1:1 zoom factor, let the Ctrl +/-/0 keys control the\n // browser zoom, so it's easier to for the user to get back to 100%.\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n var cap = keyDef.keyCap.substr(0, 1);\n if (cap == '0') {\n this.keyboard.terminal.setFontSize(0);\n } else {\n var size = this.keyboard.terminal.getFontSize();\n\n if (cap == '-' || keyDef.keyCap == '[KP-]') {\n size -= 1;\n } else {\n size += 1;\n }\n\n this.keyboard.terminal.setFontSize(size);\n }\n\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_keypattern.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * A record of modifier bits and keycode used to define a key binding.\n *\n * The modifier names are enumerated in the static KeyPattern.modifiers\n * property below. Each modifier can be true, false, or \"*\". True means\n * the modifier key must be present, false means it must not, and \"*\" means\n * it doesn't matter.\n */\nhterm.Keyboard.KeyPattern = function(spec) {\n this.wildcardCount = 0;\n this.keyCode = spec.keyCode;\n\n hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) {\n this[mod] = spec[mod] || false;\n if (this[mod] == '*')\n this.wildcardCount++;\n }.bind(this));\n};\n\n/**\n * Valid modifier names.\n */\nhterm.Keyboard.KeyPattern.modifiers = [\n 'shift', 'ctrl', 'alt', 'meta'\n];\n\n/**\n * A compare callback for Array.prototype.sort().\n *\n * The bindings code wants to be sure to search through the strictest key\n * patterns first, so that loosely defined patterns have a lower priority than\n * exact patterns.\n *\n * @param {hterm.Keyboard.KeyPattern} a\n * @param {hterm.Keyboard.KeyPattern} b\n */\nhterm.Keyboard.KeyPattern.sortCompare = function(a, b) {\n if (a.wildcardCount < b.wildcardCount)\n return -1;\n\n if (a.wildcardCount > b.wildcardCount)\n return 1;\n\n return 0;\n};\n\n/**\n * Private method used to match this key pattern against other key patterns\n * or key down events.\n *\n * @param {Object} The object to match.\n * @param {boolean} True if we should ignore wildcards. Useful when you want\n * to perform and exact match against another key pattern.\n */\nhterm.Keyboard.KeyPattern.prototype.match_ = function(obj, exactMatch) {\n if (this.keyCode != obj.keyCode)\n return false;\n\n var rv = true;\n\n hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) {\n var modValue = (mod in obj) ? obj[mod] : false;\n if (!rv || (!exactMatch && this[mod] == '*') || this[mod] == modValue)\n return;\n\n rv = false;\n }.bind(this));\n\n return rv;\n};\n\n/**\n * Return true if the given keyDown object is a match for this key pattern.\n *\n * @param {Object} keyDown An object with a keyCode property and zero or\n * more boolean properties representing key modifiers. These property names\n * must match those defined in hterm.Keyboard.KeyPattern.modifiers.\n */\nhterm.Keyboard.KeyPattern.prototype.matchKeyDown = function(keyDown) {\n return this.match_(keyDown, false);\n};\n\n/**\n * Return true if the given hterm.Keyboard.KeyPattern is exactly the same as\n * this one.\n *\n * @param {hterm.Keyboard.KeyPattern}\n */\nhterm.Keyboard.KeyPattern.prototype.matchKeyPattern = function(keyPattern) {\n return this.match_(keyPattern, true);\n};\n// SOURCE FILE: hterm/js/hterm_options.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview This file implements the hterm.Options class,\n * which stores current operating conditions for the terminal. This object is\n * used instead of a series of parameters to allow saving/restoring of cursor\n * conditions easily, and to provide an easy place for common configuration\n * options.\n *\n * Original code by Cory Maccarrone.\n */\n\n/**\n * Constructor for the hterm.Options class, optionally acting as a copy\n * constructor.\n *\n * The defaults are as defined in http://www.vt100.net/docs/vt510-rm/DECSTR\n * except that we enable autowrap (wraparound) by default since that seems to\n * be what xterm does.\n *\n * @param {hterm.Options=} opt_copy Optional instance to copy.\n * @constructor\n */\nhterm.Options = function(opt_copy) {\n // All attributes in this class are public to allow easy access by the\n // terminal.\n\n this.wraparound = opt_copy ? opt_copy.wraparound : true;\n this.reverseWraparound = opt_copy ? opt_copy.reverseWraparound : false;\n this.originMode = opt_copy ? opt_copy.originMode : false;\n this.autoCarriageReturn = opt_copy ? opt_copy.autoCarriageReturn : false;\n this.cursorVisible = opt_copy ? opt_copy.cursorVisible : false;\n this.cursorBlink = opt_copy ? opt_copy.cursorBlink : false;\n this.insertMode = opt_copy ? opt_copy.insertMode : false;\n this.reverseVideo = opt_copy ? opt_copy.reverseVideo : false;\n this.bracketedPaste = opt_copy ? opt_copy.bracketedPaste : false;\n};\n// SOURCE FILE: hterm/js/hterm_parser.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyActions');\n\n/**\n * @constructor\n * Parses the key definition syntax used for user keyboard customizations.\n */\nhterm.Parser = function() {\n /**\n * @type {string} The source string.\n */\n this.source = '';\n\n /**\n * @type {number} The current position.\n */\n this.pos = 0;\n\n /**\n * @type {string?} The character at the current position.\n */\n this.ch = null;\n};\n\nhterm.Parser.prototype.error = function(message) {\n return new Error('Parse error at ' + this.pos + ': ' + message);\n};\n\nhterm.Parser.prototype.isComplete = function() {\n return this.pos == this.source.length;\n};\n\nhterm.Parser.prototype.reset = function(source, opt_pos) {\n this.source = source;\n this.pos = opt_pos || 0;\n this.ch = source.substr(0, 1);\n};\n\n/**\n * Parse a key sequence.\n *\n * A key sequence is zero or more of the key modifiers defined in\n * hterm.Parser.identifiers.modifierKeys followed by a key code. Key\n * codes can be an integer or an identifier from\n * hterm.Parser.identifiers.keyCodes. Modifiers and keyCodes should be joined\n * by the dash character.\n *\n * An asterisk \"*\" can be used to indicate that the unspecified modifiers\n * are optional.\n *\n * For example:\n * A: Matches only an unmodified \"A\" character.\n * 65: Same as above.\n * 0x41: Same as above.\n * Ctrl-A: Matches only Ctrl-A.\n * Ctrl-65: Same as above.\n * Ctrl-0x41: Same as above.\n * Ctrl-Shift-A: Matches only Ctrl-Shift-A.\n * Ctrl-*-A: Matches Ctrl-A, as well as any other key sequence that includes\n * at least the Ctrl and A keys.\n *\n * @return {Object} An object with shift, ctrl, alt, meta, keyCode\n * properties.\n */\nhterm.Parser.prototype.parseKeySequence = function() {\n var rv = {\n keyCode: null\n };\n\n for (var k in hterm.Parser.identifiers.modifierKeys) {\n rv[hterm.Parser.identifiers.modifierKeys[k]] = false;\n }\n\n while (this.pos < this.source.length) {\n this.skipSpace();\n\n var token = this.parseToken();\n if (token.type == 'integer') {\n rv.keyCode = token.value;\n\n } else if (token.type == 'identifier') {\n var ucValue = token.value.toUpperCase();\n if (ucValue in hterm.Parser.identifiers.modifierKeys &&\n hterm.Parser.identifiers.modifierKeys.hasOwnProperty(ucValue)) {\n var mod = hterm.Parser.identifiers.modifierKeys[ucValue];\n if (rv[mod] && rv[mod] != '*')\n throw this.error('Duplicate modifier: ' + token.value);\n rv[mod] = true;\n\n } else if (ucValue in hterm.Parser.identifiers.keyCodes &&\n hterm.Parser.identifiers.keyCodes.hasOwnProperty(ucValue)) {\n rv.keyCode = hterm.Parser.identifiers.keyCodes[ucValue];\n\n } else {\n throw this.error('Unknown key: ' + token.value);\n }\n\n } else if (token.type == 'symbol') {\n if (token.value == '*') {\n for (var id in hterm.Parser.identifiers.modifierKeys) {\n var p = hterm.Parser.identifiers.modifierKeys[id];\n if (!rv[p])\n rv[p] = '*';\n }\n } else {\n throw this.error('Unexpected symbol: ' + token.value);\n }\n } else {\n throw this.error('Expected integer or identifier');\n }\n\n this.skipSpace();\n\n if (this.ch != '-')\n break;\n\n if (rv.keyCode != null)\n throw this.error('Extra definition after target key');\n\n this.advance(1);\n }\n\n if (rv.keyCode == null)\n throw this.error('Missing target key');\n\n return rv;\n};\n\nhterm.Parser.prototype.parseKeyAction = function() {\n this.skipSpace();\n\n var token = this.parseToken();\n\n if (token.type == 'string')\n return token.value;\n\n if (token.type == 'identifier') {\n if (token.value in hterm.Parser.identifiers.actions &&\n hterm.Parser.identifiers.actions.hasOwnProperty(token.value))\n return hterm.Parser.identifiers.actions[token.value];\n\n throw this.error('Unknown key action: ' + token.value);\n }\n\n throw this.error('Expected string or identifier');\n\n};\n\nhterm.Parser.prototype.peekString = function() {\n return this.ch == '\\'' || this.ch == '\"';\n};\n\nhterm.Parser.prototype.peekIdentifier = function() {\n return this.ch.match(/[a-z_]/i);\n};\n\nhterm.Parser.prototype.peekInteger = function() {\n return this.ch.match(/[0-9]/);\n};\n\nhterm.Parser.prototype.parseToken = function() {\n if (this.ch == '*') {\n var rv = {type: 'symbol', value: this.ch};\n this.advance(1);\n return rv;\n }\n\n if (this.peekIdentifier())\n return {type: 'identifier', value: this.parseIdentifier()};\n\n if (this.peekString())\n return {type: 'string', value: this.parseString()};\n\n if (this.peekInteger())\n return {type: 'integer', value: this.parseInteger()};\n\n\n throw this.error('Unexpected token');\n};\n\nhterm.Parser.prototype.parseIdentifier = function() {\n if (!this.peekIdentifier())\n throw this.error('Expected identifier');\n\n return this.parsePattern(/[a-z0-9_]+/ig);\n};\n\nhterm.Parser.prototype.parseInteger = function() {\n var base = 10;\n\n if (this.ch == '0' && this.pos < this.source.length - 1 &&\n this.source.substr(this.pos + 1, 1) == 'x') {\n return parseInt(this.parsePattern(/0x[0-9a-f]+/gi));\n }\n\n return parseInt(this.parsePattern(/\\d+/g));\n};\n\n/**\n * Parse a single or double quoted string.\n *\n * The current position should point at the initial quote character. Single\n * quoted strings will be treated literally, double quoted will process escapes.\n *\n * TODO(rginda): Variable interpolation.\n *\n * @param {ParseState} parseState\n * @param {string} quote A single or double-quote character.\n * @return {string}\n */\nhterm.Parser.prototype.parseString = function() {\n var result = '';\n\n var quote = this.ch;\n if (quote != '\"' && quote != '\\'')\n throw this.error('String expected');\n\n this.advance(1);\n\n var re = new RegExp('[\\\\\\\\' + quote + ']', 'g');\n\n while (this.pos < this.source.length) {\n re.lastIndex = this.pos;\n if (!re.exec(this.source))\n throw this.error('Unterminated string literal');\n\n result += this.source.substring(this.pos, re.lastIndex - 1);\n\n this.advance(re.lastIndex - this.pos - 1);\n\n if (quote == '\"' && this.ch == '\\\\') {\n this.advance(1);\n result += this.parseEscape();\n continue;\n }\n\n if (quote == '\\'' && this.ch == '\\\\') {\n result += this.ch;\n this.advance(1);\n continue;\n }\n\n if (this.ch == quote) {\n this.advance(1);\n return result;\n }\n }\n\n throw this.error('Unterminated string literal');\n};\n\n\n/**\n * Parse an escape code from the current position (which should point to\n * the first character AFTER the leading backslash.)\n *\n * @return {string}\n */\nhterm.Parser.prototype.parseEscape = function() {\n var map = {\n '\"': '\"',\n '\\'': '\\'',\n '\\\\': '\\\\',\n 'a': '\\x07',\n 'b': '\\x08',\n 'e': '\\x1b',\n 'f': '\\x0c',\n 'n': '\\x0a',\n 'r': '\\x0d',\n 't': '\\x09',\n 'v': '\\x0b',\n 'x': function() {\n var value = this.parsePattern(/[a-z0-9]{2}/ig);\n return String.fromCharCode(parseInt(value, 16));\n },\n 'u': function() {\n var value = this.parsePattern(/[a-z0-9]{4}/ig);\n return String.fromCharCode(parseInt(value, 16));\n }\n };\n\n if (!(this.ch in map && map.hasOwnProperty(this.ch)))\n throw this.error('Unknown escape: ' + this.ch);\n\n var value = map[this.ch];\n this.advance(1);\n\n if (typeof value == 'function')\n value = value.call(this);\n\n return value;\n};\n\n/**\n * Parse the given pattern starting from the current position.\n *\n * @param {RegExp} pattern A pattern representing the characters to span. MUST\n * include the \"global\" RegExp flag.\n * @return {string}\n */\nhterm.Parser.prototype.parsePattern = function(pattern) {\n if (!pattern.global)\n throw this.error('Internal error: Span patterns must be global');\n\n pattern.lastIndex = this.pos;\n var ary = pattern.exec(this.source);\n\n if (!ary || pattern.lastIndex - ary[0].length != this.pos)\n throw this.error('Expected match for: ' + pattern);\n\n this.pos = pattern.lastIndex - 1;\n this.advance(1);\n\n return ary[0];\n};\n\n\n/**\n * Advance the current position.\n *\n * @param {number} count\n */\nhterm.Parser.prototype.advance = function(count) {\n this.pos += count;\n this.ch = this.source.substr(this.pos, 1);\n};\n\n/**\n * @param {string=} opt_expect A list of valid non-whitespace characters to\n * terminate on.\n * @return {void}\n */\nhterm.Parser.prototype.skipSpace = function(opt_expect) {\n if (!/\\s/.test(this.ch))\n return;\n\n var re = /\\s+/gm;\n re.lastIndex = this.pos;\n\n var source = this.source;\n if (re.exec(source))\n this.pos = re.lastIndex;\n\n this.ch = this.source.substr(this.pos, 1);\n\n if (opt_expect) {\n if (this.ch.indexOf(opt_expect) == -1) {\n throw this.error('Expected one of ' + opt_expect + ', found: ' +\n this.ch);\n }\n }\n};\n// SOURCE FILE: hterm/js/hterm_parser_identifiers.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Collections of identifier for hterm.Parser.\n */\nhterm.Parser.identifiers = {};\n\n/**\n * Modifier key names used when defining key sequences.\n *\n * These are upper case so we can normalize the user input and be forgiving.\n * \"CTRL-A\" and \"Ctrl-A\" and \"ctrl-a\" are all accepted.\n *\n * Note: Names here cannot overlap with hterm.Parser.identifiers.keyCodes.\n */\nhterm.Parser.identifiers.modifierKeys = {\n SHIFT: 'shift',\n CTRL: 'ctrl',\n // Common alias.\n CONTROL: 'ctrl',\n ALT: 'alt',\n META: 'meta'\n};\n\n/**\n * Key codes useful when defining key sequences.\n *\n * Punctuation is mostly left out of this list because they can move around\n * based on keyboard locale and browser.\n *\n * In a key sequence like \"Ctrl-ESC\", the ESC comes from this list of\n * identifiers. It is equivalent to \"Ctrl-27\" and \"Ctrl-0x1b\".\n *\n * These are upper case so we can normalize the user input and be forgiving.\n * \"Ctrl-ESC\" and \"Ctrl-Esc\" an \"Ctrl-esc\" are all accepted.\n *\n * We also include common aliases for the same key. \"Esc\" and \"Escape\" are the\n * same key.\n *\n * Note: Names here cannot overlap with hterm.Parser.identifiers.modifierKeys.\n */\nhterm.Parser.identifiers.keyCodes = {\n // Top row.\n ESCAPE: 27,\n ESC: 27,\n F1: 112,\n F2: 113,\n F3: 114,\n F4: 115,\n F5: 116,\n F6: 117,\n F7: 118,\n F8: 119,\n F9: 120,\n F10: 121,\n F11: 122,\n F12: 123,\n\n // Row two.\n ONE: 49,\n TWO: 50,\n THREE: 51,\n FOUR: 52,\n FIVE: 53,\n SIX: 54,\n SEVEN: 55,\n EIGHT: 56,\n NINE: 57,\n ZERO: 48,\n BACKSPACE: 8,\n BKSP: 8,\n BS: 8,\n\n // Row three.\n TAB: 9,\n Q: 81,\n W: 87,\n E: 69,\n R: 82,\n T: 84,\n Y: 89,\n U: 85,\n I: 73,\n O: 79,\n P: 80,\n\n // Row four.\n CAPS_LOCK: 20,\n CAPSLOCK: 20,\n CAPS: 20,\n A: 65,\n S: 83,\n D: 68,\n F: 70,\n G: 71,\n H: 72,\n J: 74,\n K: 75,\n L: 76,\n // We map enter and return together even though enter should really be 10\n // because most people don't know or care about the history here. Plus,\n // most keyboards/programs map them together already. If they really want\n // to bind them differently, they can also use the numeric value.\n ENTER: 13,\n ENT: 13,\n RETURN: 13,\n RET: 13,\n\n // Row five.\n Z: 90,\n X: 88,\n C: 67,\n V: 86,\n B: 66,\n N: 78,\n M: 77,\n\n // Etc.\n SPACE: 32,\n SP: 32,\n PRINT_SCREEN: 42,\n PRTSC: 42,\n SCROLL_LOCK: 145,\n SCRLK: 145,\n BREAK: 19,\n BRK: 19,\n INSERT: 45,\n INS: 45,\n HOME: 36,\n PAGE_UP: 33,\n PGUP: 33,\n DELETE: 46,\n DEL: 46,\n END: 35,\n PAGE_DOWN: 34,\n PGDOWN: 34,\n PGDN: 34,\n UP: 38,\n DOWN: 40,\n RIGHT: 39,\n LEFT: 37,\n NUMLOCK: 144,\n\n // Keypad\n KP0: 96,\n KP1: 97,\n KP2: 98,\n KP3: 99,\n KP4: 100,\n KP5: 101,\n KP6: 102,\n KP7: 103,\n KP8: 104,\n KP9: 105,\n KP_PLUS: 107,\n KP_ADD: 107,\n KP_MINUS: 109,\n KP_SUBTRACT: 109,\n KP_STAR: 106,\n KP_MULTIPLY: 106,\n KP_DIVIDE: 111,\n KP_DECIMAL: 110,\n KP_PERIOD: 110,\n\n // Chrome OS media keys\n NAVIGATE_BACK: 166,\n NAVIGATE_FORWARD: 167,\n RELOAD: 168,\n FULL_SCREEN: 183,\n WINDOW_OVERVIEW: 182,\n BRIGHTNESS_UP: 216,\n BRIGHTNESS_DOWN: 217\n};\n\n/**\n * Identifiers for use in key actions.\n */\nhterm.Parser.identifiers.actions = {\n /**\n * Prevent the browser and operating system from handling the event.\n */\n CANCEL: hterm.Keyboard.KeyActions.CANCEL,\n\n /**\n * Wait for a \"keypress\" event, send the keypress charCode to the host.\n */\n DEFAULT: hterm.Keyboard.KeyActions.DEFAULT,\n\n /**\n * Let the browser or operating system handle the key.\n */\n PASS: hterm.Keyboard.KeyActions.PASS,\n\n /**\n * Scroll the terminal one page up.\n */\n scrollPageUp: function(terminal) {\n terminal.scrollPageUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal one page down.\n */\n scrollPageDown: function(terminal) {\n terminal.scrollPageDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal to the top.\n */\n scrollToTop: function(terminal) {\n terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal to the bottom.\n */\n scrollToBottom: function(terminal) {\n terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Clear the terminal and scrollback buffer.\n */\n clearScrollback: function(terminal) {\n terminal.wipeContents();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n};\n// SOURCE FILE: hterm/js/hterm_preference_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'lib.Storage');\n\n/**\n * PreferenceManager subclass managing global NaSSH preferences.\n *\n * This is currently just an ordered list of known connection profiles.\n */\nhterm.PreferenceManager = function(profileId) {\n lib.PreferenceManager.call(this, hterm.defaultStorage,\n '/hterm/profiles/' + profileId);\n var defs = hterm.PreferenceManager.defaultPreferences;\n Object.keys(defs).forEach(function(key) {\n this.definePreference(key, defs[key][1]);\n }.bind(this));\n};\n\nhterm.PreferenceManager.categories = {};\nhterm.PreferenceManager.categories.Keyboard = 'Keyboard';\nhterm.PreferenceManager.categories.Appearance = 'Appearance';\nhterm.PreferenceManager.categories.CopyPaste = 'CopyPaste';\nhterm.PreferenceManager.categories.Sounds = 'Sounds';\nhterm.PreferenceManager.categories.Scrolling = 'Scrolling';\nhterm.PreferenceManager.categories.Encoding = 'Encoding';\nhterm.PreferenceManager.categories.Miscellaneous = 'Miscellaneous';\n\n/**\n * List of categories, ordered by display order (top to bottom)\n */\nhterm.PreferenceManager.categoryDefinitions = [\n { id: hterm.PreferenceManager.categories.Appearance,\n text: 'Appearance (fonts, colors, images)'},\n { id: hterm.PreferenceManager.categories.CopyPaste,\n text: 'Copy & Paste'},\n { id: hterm.PreferenceManager.categories.Encoding,\n text: 'Encoding'},\n { id: hterm.PreferenceManager.categories.Keyboard,\n text: 'Keyboard'},\n { id: hterm.PreferenceManager.categories.Scrolling,\n text: 'Scrolling'},\n { id: hterm.PreferenceManager.categories.Sounds,\n text: 'Sounds'},\n { id: hterm.PreferenceManager.categories.Miscellaneous,\n text: 'Misc.'}\n];\n\n\nhterm.PreferenceManager.defaultPreferences = {\n 'alt-gr-mode':\n [hterm.PreferenceManager.categories.Keyboard, null,\n [null, 'none', 'ctrl-alt', 'left-alt', 'right-alt'],\n 'Select an AltGr detection hack^Wheuristic.\\n' +\n '\\n' +\n '\\'null\\': Autodetect based on navigator.language:\\n' +\n ' \\'en-us\\' => \\'none\\', else => \\'right-alt\\'\\n' +\n '\\'none\\': Disable any AltGr related munging.\\n' +\n '\\'ctrl-alt\\': Assume Ctrl+Alt means AltGr.\\n' +\n '\\'left-alt\\': Assume left Alt means AltGr.\\n' +\n '\\'right-alt\\': Assume right Alt means AltGr.\\n'],\n\n 'alt-backspace-is-meta-backspace':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If set, undoes the Chrome OS Alt-Backspace->DEL remap, so that ' +\n 'alt-backspace indeed is alt-backspace.'],\n\n 'alt-is-meta':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Set whether the alt key acts as a meta key or as a distinct alt key.'],\n\n 'alt-sends-what':\n [hterm.PreferenceManager.categories.Keyboard, 'escape',\n ['escape', '8-bit', 'browser-key'],\n 'Controls how the alt key is handled.\\n' +\n '\\n' +\n ' escape....... Send an ESC prefix.\\n' +\n ' 8-bit........ Add 128 to the unshifted character as in xterm.\\n' +\n ' browser-key.. Wait for the keypress event and see what the browser \\n' +\n ' says. (This won\\'t work well on platforms where the \\n' +\n ' browser performs a default action for some alt sequences.)'\n ],\n\n 'audible-bell-sound':\n [hterm.PreferenceManager.categories.Sounds, 'lib-resource:hterm/audio/bell',\n 'url',\n 'URL of the terminal bell sound. Empty string for no audible bell.'],\n\n 'desktop-notification-bell':\n [hterm.PreferenceManager.categories.Sounds, false, 'bool',\n 'If true, terminal bells in the background will create a Web ' +\n 'Notification. https://www.w3.org/TR/notifications/\\n' +\n '\\n'+\n 'Displaying notifications requires permission from the user. When this ' +\n 'option is set to true, hterm will attempt to ask the user for permission ' +\n 'if necessary. Note browsers may not show this permission request if it ' +\n 'did not originate from a user action.\\n' +\n '\\n' +\n 'Chrome extensions with the \"notifications\" permission have permission to ' +\n 'display notifications.'],\n\n 'background-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgb(16, 16, 16)', 'color',\n 'The background color for text with no other color attributes.'],\n\n 'background-image':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image. Empty string for no image.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' url(https://goo.gl/anedTK)\\n' +\n ' linear-gradient(top bottom, blue, red)'],\n\n 'background-size':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image size. Defaults to none.'],\n\n 'background-position':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image position.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' 10% 10%\\n' +\n ' center'],\n\n 'backspace-sends-backspace':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, the backspace should send BS (\\'\\\\x08\\', aka ^H). Otherwise ' +\n 'the backspace key should send \\'\\\\x7f\\'.'],\n\n 'character-map-overrides':\n [hterm.PreferenceManager.categories.Appearance, null, 'value',\n 'This is specified as an object. It is a sparse array, where each ' +\n 'property is the character set code and the value is an object that is ' +\n 'a sparse array itself. In that sparse array, each property is the ' +\n 'received character and the value is the displayed character.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' {\"0\":{\"+\":\"\\\\u2192\",\",\":\"\\\\u2190\",\"-\":\"\\\\u2191\",\".\":\"\\\\u2193\", ' +\n '\"0\":\"\\\\u2588\"}}'\n ],\n\n 'close-on-exit':\n [hterm.PreferenceManager.categories.Miscellaneous, true, 'bool',\n 'Whether or not to close the window when the command exits.'],\n\n 'cursor-blink':\n [hterm.PreferenceManager.categories.Appearance, false, 'bool',\n 'Whether or not to blink the cursor by default.'],\n\n 'cursor-blink-cycle':\n [hterm.PreferenceManager.categories.Appearance, [1000, 500], 'value',\n 'The cursor blink rate in milliseconds.\\n' +\n '\\n' +\n 'A two element array, the first of which is how long the cursor should be ' +\n 'on, second is how long it should be off.'],\n\n 'cursor-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgba(255, 0, 0, 0.5)',\n 'color',\n 'The color of the visible cursor.'],\n\n 'color-palette-overrides':\n [hterm.PreferenceManager.categories.Appearance, null, 'value',\n 'Override colors in the default palette.\\n' +\n '\\n' +\n 'This can be specified as an array or an object. If specified as an ' +\n 'object it is assumed to be a sparse array, where each property ' +\n 'is a numeric index into the color palette.\\n' +\n '\\n' +\n 'Values can be specified as almost any css color value. This ' +\n 'includes #RGB, #RRGGBB, rgb(...), rgba(...), and any color names ' +\n 'that are also part of the stock X11 rgb.txt file.\\n' +\n '\\n' +\n 'You can use \\'null\\' to specify that the default value should be not ' +\n 'be changed. This is useful for skipping a small number of indices ' +\n 'when the value is specified as an array.'],\n\n 'copy-on-select':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Automatically copy mouse selection to the clipboard.'],\n\n 'use-default-window-copy':\n [hterm.PreferenceManager.categories.CopyPaste, false, 'bool',\n 'Whether to use the default window copy behavior'],\n\n 'clear-selection-after-copy':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Whether to clear the selection after copying.'],\n\n 'ctrl-plus-minus-zero-zoom':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'If true, Ctrl-Plus/Minus/Zero controls zoom.\\n' +\n 'If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_, ' +\n 'Ctrl-Plus/Zero do nothing.'],\n\n 'ctrl-c-copy':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Ctrl+C copies if true, send ^C to host if false.\\n' +\n 'Ctrl+Shift+C sends ^C to host if true, copies if false.'],\n\n 'ctrl-v-paste':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Ctrl+V pastes if true, send ^V to host if false.\\n' +\n 'Ctrl+Shift+V sends ^V to host if true, pastes if false.'],\n\n 'east-asian-ambiguous-as-two-column':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Set whether East Asian Ambiguous characters have two column width.'],\n\n 'enable-8-bit-control':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'True to enable 8-bit control characters, false to ignore them.\\n' +\n '\\n' +\n 'We\\'ll respect the two-byte versions of these control characters ' +\n 'regardless of this setting.'],\n\n 'enable-bold':\n [hterm.PreferenceManager.categories.Appearance, null, 'tristate',\n 'True if we should use bold weight font for text with the bold/bright ' +\n 'attribute. False to use the normal weight font. Null to autodetect.'],\n\n 'enable-bold-as-bright':\n [hterm.PreferenceManager.categories.Appearance, true, 'bool',\n 'True if we should use bright colors (8-15 on a 16 color palette) ' +\n 'for any text with the bold attribute. False otherwise.'],\n\n 'enable-blink':\n [hterm.PreferenceManager.categories.Appearance, true, 'bool',\n 'True if we should respect the blink attribute. False to ignore it. '],\n\n 'enable-clipboard-notice':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Show a message in the terminal when the host writes to the clipboard.'],\n\n 'enable-clipboard-write':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Allow the host to write directly to the system clipboard.'],\n\n 'enable-dec12':\n [hterm.PreferenceManager.categories.Miscellaneous, false, 'bool',\n 'Respect the host\\'s attempt to change the cursor blink status using ' +\n 'DEC Private Mode 12.'],\n\n 'environment':\n [hterm.PreferenceManager.categories.Miscellaneous, {'TERM': 'xterm-256color'},\n 'value',\n 'The default environment variables, as an object.'],\n\n 'font-family':\n [hterm.PreferenceManager.categories.Appearance,\n '\"DejaVu Sans Mono\", \"Everson Mono\", FreeMono, \"Menlo\", \"Terminal\", ' +\n 'monospace', 'string',\n 'Default font family for the terminal text.'],\n\n 'font-size':\n [hterm.PreferenceManager.categories.Appearance, 15, 'int',\n 'The default font size in pixels.'],\n\n 'font-smoothing':\n [hterm.PreferenceManager.categories.Appearance, 'antialiased', 'string',\n 'CSS font-smoothing property.'],\n\n 'foreground-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgb(240, 240, 240)', 'color',\n 'The foreground color for text with no other color attributes.'],\n\n 'home-keys-scroll':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, home/end will control the terminal scrollbar and shift home/end ' +\n 'will send the VT keycodes. If false then home/end sends VT codes and ' +\n 'shift home/end scrolls.'],\n\n 'keybindings':\n [hterm.PreferenceManager.categories.Keyboard, null, 'value',\n 'A map of key sequence to key actions. Key sequences include zero or ' +\n 'more modifier keys followed by a key code. Key codes can be decimal or ' +\n 'hexadecimal numbers, or a key identifier. Key actions can be specified ' +\n 'a string to send to the host, or an action identifier. For a full ' +\n 'explanation of the format, see https://goo.gl/LWRndr.\\n' +\n '\\n' +\n 'Sample keybindings:\\n' +\n '{\\n' +\n ' \"Ctrl-Alt-K\": \"clearScrollback\",\\n' +\n ' \"Ctrl-Shift-L\": \"PASS\",\\n' +\n ' \"Ctrl-H\": \"\\'HELLO\\\\n\\'\"\\n' +\n '}'],\n\n 'max-string-sequence':\n [hterm.PreferenceManager.categories.Encoding, 100000, 'int',\n 'Max length of a DCS, OSC, PM, or APS sequence before we give up and ' +\n 'ignore the code.'],\n\n 'media-keys-are-fkeys':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, convert media keys to their Fkey equivalent. If false, let ' +\n 'the browser handle the keys.'],\n\n 'meta-sends-escape':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Set whether the meta key sends a leading escape or not.'],\n\n 'mouse-right-click-paste':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Paste on right mouse button clicks.\\n' +\n '\\n' +\n 'This option is activate independent of the \"mouse-paste-button\" ' +\n 'setting.\\n' +\n '\\n' +\n 'Note: This will handle left & right handed mice correctly.'],\n\n 'mouse-paste-button':\n [hterm.PreferenceManager.categories.CopyPaste, null,\n [null, 0, 1, 2, 3, 4, 5, 6],\n 'Mouse paste button, or null to autodetect.\\n' +\n '\\n' +\n 'For autodetect, we\\'ll use the middle mouse button for non-X11 ' +\n 'platforms (including Chrome OS). On X11, we\\'ll use the right mouse ' +\n 'button (since the native window manager should paste via the middle ' +\n 'mouse button).\\n' +\n '\\n' +\n '0 == left (primary) button.\\n' +\n '1 == middle (auxiliary) button.\\n' +\n '2 == right (secondary) button.\\n' +\n '\\n' +\n 'This option is activate independent of the \"mouse-right-click-paste\" ' +\n 'setting.\\n' +\n '\\n' +\n 'Note: This will handle left & right handed mice correctly.'],\n\n 'word-break-match-left':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^!@#$%&*,;:`]', 'string',\n 'Regular expression to halt matching to the left (start) of a selection.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.\\n' +\n 'We allow \"~\" and \".\" by default as paths frequently start with those.'],\n\n 'word-break-match-right':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^!@#$%&*,;:~.`]', 'string',\n 'Regular expression to halt matching to the right (end) of a selection.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.'],\n\n 'word-break-match-middle':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^]*', 'string',\n 'Regular expression to match all the characters in the middle.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.\\n' +\n '\\n' +\n 'Used to expand the selection surrounding the starting point.'],\n\n 'page-keys-scroll':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, page up/down will control the terminal scrollbar and shift ' +\n 'page up/down will send the VT keycodes. If false then page up/down ' +\n 'sends VT codes and shift page up/down scrolls.'],\n\n 'pass-alt-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Alt-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Alt-1..9 will be handled by the browser. If false, Alt-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-ctrl-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Ctrl-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Ctrl-1..9 will be handled by the browser. If false, Ctrl-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-meta-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Meta-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Meta-1..9 will be handled by the browser. If false, Meta-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-meta-v':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Set whether meta-V gets passed to host.'],\n\n 'receive-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'],\n 'Set the expected encoding for data received from the host.\\n' +\n '\\n' +\n 'Valid values are \\'utf-8\\' and \\'raw\\'.'],\n\n 'scroll-on-keystroke':\n [hterm.PreferenceManager.categories.Scrolling, true, 'bool',\n 'If true, scroll to the bottom on any keystroke.'],\n\n 'scroll-on-output':\n [hterm.PreferenceManager.categories.Scrolling, false, 'bool',\n 'If true, scroll to the bottom on terminal output.'],\n\n 'scrollbar-visible':\n [hterm.PreferenceManager.categories.Scrolling, true, 'bool',\n 'The vertical scrollbar mode.'],\n\n 'scroll-wheel-may-send-arrow-keys':\n [hterm.PreferenceManager.categories.Scrolling, false, 'bool',\n 'When using the alternative screen buffer, and DECCKM (Application Cursor ' +\n 'Keys) is active, mouse wheel scroll events will emulate arrow keys.\\n' +\n '\\n' +\n 'It can be temporarily disabled by holding the shift key.\\n' +\n '\\n' +\n 'This frequently comes up when using pagers (less) or reading man pages ' +\n 'or text editors (vi/nano) or using screen/tmux.'],\n\n 'scroll-wheel-move-multiplier':\n [hterm.PreferenceManager.categories.Scrolling, 1, 'int',\n 'The multiplier for the pixel delta in wheel events caused by the ' +\n 'scroll wheel. Alters how fast the page scrolls.'],\n\n 'send-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'],\n 'Set the encoding for data sent to host.'],\n\n 'terminal-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'iso-2022',\n ['iso-2022', 'utf-8', 'utf-8-locked'],\n 'The default terminal encoding (DOCS).\\n' +\n '\\n' +\n 'ISO-2022 enables character map translations (like graphics maps).\\n' +\n 'UTF-8 disables support for those.\\n' +\n '\\n' +\n 'The locked variant means the encoding cannot be changed at runtime ' +\n 'via terminal escape sequences.\\n' +\n '\\n' +\n 'You should stick with UTF-8 unless you notice broken rendering with ' +\n 'legacy applications.'],\n\n 'shift-insert-paste':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Shift + Insert pastes if true, sent to host if false.'],\n\n 'user-css':\n [hterm.PreferenceManager.categories.Appearance, '', 'url',\n 'URL of user stylesheet to include in the terminal document.'],\n\n 'user-css-text':\n [hterm.PreferenceManager.categories.Appearance, '', 'multiline-string',\n 'Custom CSS text for styling the terminal.'],\n};\n\nhterm.PreferenceManager.prototype =\n Object.create(lib.PreferenceManager.prototype);\nhterm.PreferenceManager.constructor = hterm.PreferenceManager;\n// SOURCE FILE: hterm/js/hterm_pubsub.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Utility class used to add publish/subscribe/unsubscribe functionality to\n * an existing object.\n */\nhterm.PubSub = function() {\n this.observers_ = {};\n};\n\n/**\n * Add publish, subscribe, and unsubscribe methods to an existing object.\n *\n * No other properties of the object are touched, so there is no need to\n * worry about clashing private properties.\n *\n * @param {Object} obj The object to add this behavior to.\n */\nhterm.PubSub.addBehavior = function(obj) {\n var pubsub = new hterm.PubSub();\n for (var m in hterm.PubSub.prototype) {\n obj[m] = hterm.PubSub.prototype[m].bind(pubsub);\n }\n};\n\n/**\n * Subscribe to be notified of messages about a subject.\n *\n * @param {string} subject The subject to subscribe to.\n * @param {function(Object)} callback The function to invoke for notifications.\n */\nhterm.PubSub.prototype.subscribe = function(subject, callback) {\n if (!(subject in this.observers_))\n this.observers_[subject] = [];\n\n this.observers_[subject].push(callback);\n};\n\n/**\n * Unsubscribe from a subject.\n *\n * @param {string} subject The subject to unsubscribe from.\n * @param {function(Object)} callback A callback previously registered via\n * subscribe().\n */\nhterm.PubSub.prototype.unsubscribe = function(subject, callback) {\n var list = this.observers_[subject];\n if (!list)\n throw 'Invalid subject: ' + subject;\n\n var i = list.indexOf(callback);\n if (i < 0)\n throw 'Not subscribed: ' + subject;\n\n list.splice(i, 1);\n};\n\n/**\n * Publish a message about a subject.\n *\n * Subscribers (and the optional final callback) are invoked asynchronously.\n * This method will return before anyone is actually notified.\n *\n * @param {string} subject The subject to publish about.\n * @param {Object} e An arbitrary object associated with this notification.\n * @param {function(Object)} opt_lastCallback An optional function to call after\n * all subscribers have been notified.\n */\nhterm.PubSub.prototype.publish = function(subject, e, opt_lastCallback) {\n function notifyList(i) {\n // Set this timeout before invoking the callback, so we don't have to\n // concern ourselves with exceptions.\n if (i < list.length - 1)\n setTimeout(notifyList, 0, i + 1);\n\n list[i](e);\n }\n\n var list = this.observers_[subject];\n if (list) {\n // Copy the list, in case it changes while we're notifying.\n list = [].concat(list);\n }\n\n if (opt_lastCallback) {\n if (list) {\n list.push(opt_lastCallback);\n } else {\n list = [opt_lastCallback];\n }\n }\n\n if (list)\n setTimeout(notifyList, 0, 0);\n};\n// SOURCE FILE: hterm/js/hterm_screen.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'lib.wc',\n 'hterm.RowCol', 'hterm.Size', 'hterm.TextAttributes');\n\n/**\n * @fileoverview This class represents a single terminal screen full of text.\n *\n * It maintains the current cursor position and has basic methods for text\n * insert and overwrite, and adding or removing rows from the screen.\n *\n * This class has no knowledge of the scrollback buffer.\n *\n * The number of rows on the screen is determined only by the number of rows\n * that the caller inserts into the screen. If a caller wants to ensure a\n * constant number of rows on the screen, it's their responsibility to remove a\n * row for each row inserted.\n *\n * The screen width, in contrast, is enforced locally.\n *\n *\n * In practice...\n * - The hterm.Terminal class holds two hterm.Screen instances. One for the\n * primary screen and one for the alternate screen.\n *\n * - The html.Screen class only cares that rows are HTMLElements. In the\n * larger context of hterm, however, the rows happen to be displayed by an\n * hterm.ScrollPort and have to follow a few rules as a result. Each\n * row must be rooted by the custom HTML tag 'x-row', and each must have a\n * rowIndex property that corresponds to the index of the row in the context\n * of the scrollback buffer. These invariants are enforced by hterm.Terminal\n * because that is the class using the hterm.Screen in the context of an\n * hterm.ScrollPort.\n */\n\n/**\n * Create a new screen instance.\n *\n * The screen initially has no rows and a maximum column count of 0.\n *\n * @param {integer} opt_columnCount The maximum number of columns for this\n * screen. See insertString() and overwriteString() for information about\n * what happens when too many characters are added too a row. Defaults to\n * 0 if not provided.\n */\nhterm.Screen = function(opt_columnCount) {\n /**\n * Public, read-only access to the rows in this screen.\n */\n this.rowsArray = [];\n\n // The max column width for this screen.\n this.columnCount_ = opt_columnCount || 80;\n\n // The current color, bold, underline and blink attributes.\n this.textAttributes = new hterm.TextAttributes(window.document);\n\n // Current zero-based cursor coordinates.\n this.cursorPosition = new hterm.RowCol(0, 0);\n\n // The node containing the row that the cursor is positioned on.\n this.cursorRowNode_ = null;\n\n // The node containing the span of text that the cursor is positioned on.\n this.cursorNode_ = null;\n\n // The offset in column width into cursorNode_ where the cursor is positioned.\n this.cursorOffset_ = null;\n\n // Regexes for expanding word selections.\n this.wordBreakMatchLeft = null;\n this.wordBreakMatchRight = null;\n this.wordBreakMatchMiddle = null;\n};\n\n/**\n * Return the screen size as an hterm.Size object.\n *\n * @return {hterm.Size} hterm.Size object representing the current number\n * of rows and columns in this screen.\n */\nhterm.Screen.prototype.getSize = function() {\n return new hterm.Size(this.columnCount_, this.rowsArray.length);\n};\n\n/**\n * Return the current number of rows in this screen.\n *\n * @return {integer} The number of rows in this screen.\n */\nhterm.Screen.prototype.getHeight = function() {\n return this.rowsArray.length;\n};\n\n/**\n * Return the current number of columns in this screen.\n *\n * @return {integer} The number of columns in this screen.\n */\nhterm.Screen.prototype.getWidth = function() {\n return this.columnCount_;\n};\n\n/**\n * Set the maximum number of columns per row.\n *\n * @param {integer} count The maximum number of columns per row.\n */\nhterm.Screen.prototype.setColumnCount = function(count) {\n this.columnCount_ = count;\n\n if (this.cursorPosition.column >= count)\n this.setCursorPosition(this.cursorPosition.row, count - 1);\n};\n\n/**\n * Remove the first row from the screen and return it.\n *\n * @return {HTMLElement} The first row in this screen.\n */\nhterm.Screen.prototype.shiftRow = function() {\n return this.shiftRows(1)[0];\n};\n\n/**\n * Remove rows from the top of the screen and return them as an array.\n *\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.shiftRows = function(count) {\n return this.rowsArray.splice(0, count);\n};\n\n/**\n * Insert a row at the top of the screen.\n *\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.unshiftRow = function(row) {\n this.rowsArray.splice(0, 0, row);\n};\n\n/**\n * Insert rows at the top of the screen.\n *\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.unshiftRows = function(rows) {\n this.rowsArray.unshift.apply(this.rowsArray, rows);\n};\n\n/**\n * Remove the last row from the screen and return it.\n *\n * @return {HTMLElement} The last row in this screen.\n */\nhterm.Screen.prototype.popRow = function() {\n return this.popRows(1)[0];\n};\n\n/**\n * Remove rows from the bottom of the screen and return them as an array.\n *\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.popRows = function(count) {\n return this.rowsArray.splice(this.rowsArray.length - count, count);\n};\n\n/**\n * Insert a row at the bottom of the screen.\n *\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.pushRow = function(row) {\n this.rowsArray.push(row);\n};\n\n/**\n * Insert rows at the bottom of the screen.\n *\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.pushRows = function(rows) {\n rows.push.apply(this.rowsArray, rows);\n};\n\n/**\n * Insert a row at the specified row of the screen.\n *\n * @param {integer} index The index to insert the row.\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.insertRow = function(index, row) {\n this.rowsArray.splice(index, 0, row);\n};\n\n/**\n * Insert rows at the specified row of the screen.\n *\n * @param {integer} index The index to insert the rows.\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.insertRows = function(index, rows) {\n for (var i = 0; i < rows.length; i++) {\n this.rowsArray.splice(index + i, 0, rows[i]);\n }\n};\n\n/**\n * Remove a row from the screen and return it.\n *\n * @param {integer} index The index of the row to remove.\n * @return {HTMLElement} The selected row.\n */\nhterm.Screen.prototype.removeRow = function(index) {\n return this.rowsArray.splice(index, 1)[0];\n};\n\n/**\n * Remove rows from the bottom of the screen and return them as an array.\n *\n * @param {integer} index The index to start removing rows.\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.removeRows = function(index, count) {\n return this.rowsArray.splice(index, count);\n};\n\n/**\n * Invalidate the current cursor position.\n *\n * This sets this.cursorPosition to (0, 0) and clears out some internal\n * data.\n *\n * Attempting to insert or overwrite text while the cursor position is invalid\n * will raise an obscure exception.\n */\nhterm.Screen.prototype.invalidateCursorPosition = function() {\n this.cursorPosition.move(0, 0);\n this.cursorRowNode_ = null;\n this.cursorNode_ = null;\n this.cursorOffset_ = null;\n};\n\n/**\n * Clear the contents of the cursor row.\n */\nhterm.Screen.prototype.clearCursorRow = function() {\n this.cursorRowNode_.innerHTML = '';\n this.cursorRowNode_.removeAttribute('line-overflow');\n this.cursorOffset_ = 0;\n this.cursorPosition.column = 0;\n this.cursorPosition.overflow = false;\n\n var text;\n if (this.textAttributes.isDefault()) {\n text = '';\n } else {\n text = lib.f.getWhitespace(this.columnCount_);\n }\n\n // We shouldn't honor inverse colors when clearing an area, to match\n // xterm's back color erase behavior.\n var inverse = this.textAttributes.inverse;\n this.textAttributes.inverse = false;\n this.textAttributes.syncColors();\n\n var node = this.textAttributes.createContainer(text);\n this.cursorRowNode_.appendChild(node);\n this.cursorNode_ = node;\n\n this.textAttributes.inverse = inverse;\n this.textAttributes.syncColors();\n};\n\n/**\n * Mark the current row as having overflowed to the next line.\n *\n * The line overflow state is used when converting a range of rows into text.\n * It makes it possible to recombine two or more overflow terminal rows into\n * a single line.\n *\n * This is distinct from the cursor being in the overflow state. Cursor\n * overflow indicates that printing at the cursor position will commit a\n * line overflow, unless it is preceded by a repositioning of the cursor\n * to a non-overflow state.\n */\nhterm.Screen.prototype.commitLineOverflow = function() {\n this.cursorRowNode_.setAttribute('line-overflow', true);\n};\n\n/**\n * Relocate the cursor to a give row and column.\n *\n * @param {integer} row The zero based row.\n * @param {integer} column The zero based column.\n */\nhterm.Screen.prototype.setCursorPosition = function(row, column) {\n if (!this.rowsArray.length) {\n console.warn('Attempt to set cursor position on empty screen.');\n return;\n }\n\n if (row >= this.rowsArray.length) {\n console.error('Row out of bounds: ' + row);\n row = this.rowsArray.length - 1;\n } else if (row < 0) {\n console.error('Row out of bounds: ' + row);\n row = 0;\n }\n\n if (column >= this.columnCount_) {\n console.error('Column out of bounds: ' + column);\n column = this.columnCount_ - 1;\n } else if (column < 0) {\n console.error('Column out of bounds: ' + column);\n column = 0;\n }\n\n this.cursorPosition.overflow = false;\n\n var rowNode = this.rowsArray[row];\n var node = rowNode.firstChild;\n\n if (!node) {\n node = rowNode.ownerDocument.createTextNode('');\n rowNode.appendChild(node);\n }\n\n var currentColumn = 0;\n\n if (rowNode == this.cursorRowNode_) {\n if (column >= this.cursorPosition.column - this.cursorOffset_) {\n node = this.cursorNode_;\n currentColumn = this.cursorPosition.column - this.cursorOffset_;\n }\n } else {\n this.cursorRowNode_ = rowNode;\n }\n\n this.cursorPosition.move(row, column);\n\n while (node) {\n var offset = column - currentColumn;\n var width = hterm.TextAttributes.nodeWidth(node);\n if (!node.nextSibling || width > offset) {\n this.cursorNode_ = node;\n this.cursorOffset_ = offset;\n return;\n }\n\n currentColumn += width;\n node = node.nextSibling;\n }\n};\n\n/**\n * Set the provided selection object to be a caret selection at the current\n * cursor position.\n */\nhterm.Screen.prototype.syncSelectionCaret = function(selection) {\n try {\n selection.collapse(this.cursorNode_, this.cursorOffset_);\n } catch (firefoxIgnoredException) {\n // FF can throw an exception if the range is off, rather than just not\n // performing the collapse.\n }\n};\n\n/**\n * Split a single node into two nodes at the given offset.\n *\n * For example:\n * Given the DOM fragment '
Hello World
', call splitNode_\n * passing the span and an offset of 6. This would modify the fragment to\n * become: '
Hello World
'. If the span\n * had any attributes they would have been copied to the new span as well.\n *\n * The to-be-split node must have a container, so that the new node can be\n * placed next to it.\n *\n * @param {HTMLNode} node The node to split.\n * @param {integer} offset The offset into the node where the split should\n * occur.\n */\nhterm.Screen.prototype.splitNode_ = function(node, offset) {\n var afterNode = node.cloneNode(false);\n\n var textContent = node.textContent;\n node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset);\n afterNode.textContent = lib.wc.substr(textContent, offset);\n\n if (afterNode.textContent)\n node.parentNode.insertBefore(afterNode, node.nextSibling);\n if (!node.textContent)\n node.parentNode.removeChild(node);\n};\n\n/**\n * Ensure that text is clipped and the cursor is clamped to the column count.\n */\nhterm.Screen.prototype.maybeClipCurrentRow = function() {\n var width = hterm.TextAttributes.nodeWidth(this.cursorRowNode_);\n\n if (width <= this.columnCount_) {\n // Current row does not need clipping, but may need clamping.\n if (this.cursorPosition.column >= this.columnCount_) {\n this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1);\n this.cursorPosition.overflow = true;\n }\n\n return;\n }\n\n // Save off the current column so we can maybe restore it later.\n var currentColumn = this.cursorPosition.column;\n\n // Move the cursor to the final column.\n this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1);\n\n // Remove any text that partially overflows.\n width = hterm.TextAttributes.nodeWidth(this.cursorNode_);\n\n if (this.cursorOffset_ < width - 1) {\n this.cursorNode_.textContent = hterm.TextAttributes.nodeSubstr(\n this.cursorNode_, 0, this.cursorOffset_ + 1);\n }\n\n // Remove all nodes after the cursor.\n var rowNode = this.cursorRowNode_;\n var node = this.cursorNode_.nextSibling;\n\n while (node) {\n rowNode.removeChild(node);\n node = this.cursorNode_.nextSibling;\n }\n\n if (currentColumn < this.columnCount_) {\n // If the cursor was within the screen before we started then restore its\n // position.\n this.setCursorPosition(this.cursorPosition.row, currentColumn);\n } else {\n // Otherwise leave it at the the last column in the overflow state.\n this.cursorPosition.overflow = true;\n }\n};\n\n/**\n * Insert a string at the current character position using the current\n * text attributes.\n *\n * You must call maybeClipCurrentRow() after in order to clip overflowed\n * text and clamp the cursor.\n *\n * It is also up to the caller to properly maintain the line overflow state\n * using hterm.Screen..commitLineOverflow().\n */\nhterm.Screen.prototype.insertString = function(str) {\n var cursorNode = this.cursorNode_;\n var cursorNodeText = cursorNode.textContent;\n\n this.cursorRowNode_.removeAttribute('line-overflow');\n\n // We may alter the width of the string by prepending some missing\n // whitespaces, so we need to record the string width ahead of time.\n var strWidth = lib.wc.strWidth(str);\n\n // No matter what, before this function exits the cursor column will have\n // moved this much.\n this.cursorPosition.column += strWidth;\n\n // Local cache of the cursor offset.\n var offset = this.cursorOffset_;\n\n // Reverse offset is the offset measured from the end of the string.\n // Zero implies that the cursor is at the end of the cursor node.\n var reverseOffset = hterm.TextAttributes.nodeWidth(cursorNode) - offset;\n\n if (reverseOffset < 0) {\n // A negative reverse offset means the cursor is positioned past the end\n // of the characters on this line. We'll need to insert the missing\n // whitespace.\n var ws = lib.f.getWhitespace(-reverseOffset);\n\n // This whitespace should be completely unstyled. Underline, background\n // color, and strikethrough would be visible on whitespace, so we can't use\n // one of those spans to hold the text.\n if (!(this.textAttributes.underline ||\n this.textAttributes.strikethrough ||\n this.textAttributes.background ||\n this.textAttributes.wcNode ||\n !this.textAttributes.asciiNode ||\n this.textAttributes.tileData != null)) {\n // Best case scenario, we can just pretend the spaces were part of the\n // original string.\n str = ws + str;\n } else if (cursorNode.nodeType == 3 ||\n !(cursorNode.wcNode ||\n !cursorNode.asciiNode ||\n cursorNode.tileNode ||\n cursorNode.style.textDecoration ||\n cursorNode.style.backgroundColor)) {\n // Second best case, the current node is able to hold the whitespace.\n cursorNode.textContent = (cursorNodeText += ws);\n } else {\n // Worst case, we have to create a new node to hold the whitespace.\n var wsNode = cursorNode.ownerDocument.createTextNode(ws);\n this.cursorRowNode_.insertBefore(wsNode, cursorNode.nextSibling);\n this.cursorNode_ = cursorNode = wsNode;\n this.cursorOffset_ = offset = -reverseOffset;\n cursorNodeText = ws;\n }\n\n // We now know for sure that we're at the last character of the cursor node.\n reverseOffset = 0;\n }\n\n if (this.textAttributes.matchesContainer(cursorNode)) {\n // The new text can be placed directly in the cursor node.\n if (reverseOffset == 0) {\n cursorNode.textContent = cursorNodeText + str;\n } else if (offset == 0) {\n cursorNode.textContent = str + cursorNodeText;\n } else {\n cursorNode.textContent =\n hterm.TextAttributes.nodeSubstr(cursorNode, 0, offset) +\n str + hterm.TextAttributes.nodeSubstr(cursorNode, offset);\n }\n\n this.cursorOffset_ += strWidth;\n return;\n }\n\n // The cursor node is the wrong style for the new text. If we're at the\n // beginning or end of the cursor node, then the adjacent node is also a\n // potential candidate.\n\n if (offset == 0) {\n // At the beginning of the cursor node, the check the previous sibling.\n var previousSibling = cursorNode.previousSibling;\n if (previousSibling &&\n this.textAttributes.matchesContainer(previousSibling)) {\n previousSibling.textContent += str;\n this.cursorNode_ = previousSibling;\n this.cursorOffset_ = lib.wc.strWidth(previousSibling.textContent);\n return;\n }\n\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, cursorNode);\n this.cursorNode_ = newNode;\n this.cursorOffset_ = strWidth;\n return;\n }\n\n if (reverseOffset == 0) {\n // At the end of the cursor node, the check the next sibling.\n var nextSibling = cursorNode.nextSibling;\n if (nextSibling &&\n this.textAttributes.matchesContainer(nextSibling)) {\n nextSibling.textContent = str + nextSibling.textContent;\n this.cursorNode_ = nextSibling;\n this.cursorOffset_ = lib.wc.strWidth(str);\n return;\n }\n\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, nextSibling);\n this.cursorNode_ = newNode;\n // We specifically need to include any missing whitespace here, since it's\n // going in a new node.\n this.cursorOffset_ = hterm.TextAttributes.nodeWidth(newNode);\n return;\n }\n\n // Worst case, we're somewhere in the middle of the cursor node. We'll\n // have to split it into two nodes and insert our new container in between.\n this.splitNode_(cursorNode, offset);\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, cursorNode.nextSibling);\n this.cursorNode_ = newNode;\n this.cursorOffset_ = strWidth;\n};\n\n/**\n * Overwrite the text at the current cursor position.\n *\n * You must call maybeClipCurrentRow() after in order to clip overflowed\n * text and clamp the cursor.\n *\n * It is also up to the caller to properly maintain the line overflow state\n * using hterm.Screen..commitLineOverflow().\n */\nhterm.Screen.prototype.overwriteString = function(str) {\n var maxLength = this.columnCount_ - this.cursorPosition.column;\n if (!maxLength)\n return [str];\n\n var width = lib.wc.strWidth(str);\n if (this.textAttributes.matchesContainer(this.cursorNode_) &&\n this.cursorNode_.textContent.substr(this.cursorOffset_) == str) {\n // This overwrite would be a no-op, just move the cursor and return.\n this.cursorOffset_ += width;\n this.cursorPosition.column += width;\n return;\n }\n\n this.deleteChars(Math.min(width, maxLength));\n this.insertString(str);\n};\n\n/**\n * Forward-delete one or more characters at the current cursor position.\n *\n * Text to the right of the deleted characters is shifted left. Only affects\n * characters on the same row as the cursor.\n *\n * @param {integer} count The column width of characters to delete. This is\n * clamped to the column width minus the cursor column.\n * @return {integer} The column width of the characters actually deleted.\n */\nhterm.Screen.prototype.deleteChars = function(count) {\n var node = this.cursorNode_;\n var offset = this.cursorOffset_;\n\n var currentCursorColumn = this.cursorPosition.column;\n count = Math.min(count, this.columnCount_ - currentCursorColumn);\n if (!count)\n return 0;\n\n var rv = count;\n var startLength, endLength;\n\n while (node && count) {\n startLength = hterm.TextAttributes.nodeWidth(node);\n node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset) +\n hterm.TextAttributes.nodeSubstr(node, offset + count);\n endLength = hterm.TextAttributes.nodeWidth(node);\n count -= startLength - endLength;\n if (offset < startLength && endLength && startLength == endLength) {\n // No characters were deleted when there should be. We're probably trying\n // to delete one column width from a wide character node. We remove the\n // wide character node here and replace it with a single space.\n var spaceNode = this.textAttributes.createContainer(' ');\n node.parentNode.insertBefore(spaceNode, node.nextSibling);\n node.textContent = '';\n endLength = 0;\n count -= 1;\n }\n\n var nextNode = node.nextSibling;\n if (endLength == 0 && node != this.cursorNode_) {\n node.parentNode.removeChild(node);\n }\n node = nextNode;\n offset = 0;\n }\n\n // Remove this.cursorNode_ if it is an empty non-text node.\n if (this.cursorNode_.nodeType != 3 && !this.cursorNode_.textContent) {\n var cursorNode = this.cursorNode_;\n if (cursorNode.previousSibling) {\n this.cursorNode_ = cursorNode.previousSibling;\n this.cursorOffset_ = hterm.TextAttributes.nodeWidth(\n cursorNode.previousSibling);\n } else if (cursorNode.nextSibling) {\n this.cursorNode_ = cursorNode.nextSibling;\n this.cursorOffset_ = 0;\n } else {\n var emptyNode = this.cursorRowNode_.ownerDocument.createTextNode('');\n this.cursorRowNode_.appendChild(emptyNode);\n this.cursorNode_ = emptyNode;\n this.cursorOffset_ = 0;\n }\n this.cursorRowNode_.removeChild(cursorNode);\n }\n\n return rv;\n};\n\n/**\n * Finds first X-ROW of a line containing specified X-ROW.\n * Used to support line overflow.\n *\n * @param {Node} row X-ROW to begin search for first row of line.\n * @return {Node} The X-ROW that is at the beginning of the line.\n **/\nhterm.Screen.prototype.getLineStartRow_ = function(row) {\n while (row.previousSibling &&\n row.previousSibling.hasAttribute('line-overflow')) {\n row = row.previousSibling;\n }\n return row;\n};\n\n/**\n * Gets text of a line beginning with row.\n * Supports line overflow.\n *\n * @param {Node} row First X-ROW of line.\n * @return {string} Text content of line.\n **/\nhterm.Screen.prototype.getLineText_ = function(row) {\n var rowText = \"\";\n while (row) {\n rowText += row.textContent;\n if (row.hasAttribute('line-overflow')) {\n row = row.nextSibling;\n } else {\n break;\n }\n }\n return rowText;\n};\n\n/**\n * Returns X-ROW that is ancestor of the node.\n *\n * @param {Node} node Node to get X-ROW ancestor for.\n * @return {Node} X-ROW ancestor of node, or null if not found.\n **/\nhterm.Screen.prototype.getXRowAncestor_ = function(node) {\n while (node) {\n if (node.nodeName === 'X-ROW')\n break;\n node = node.parentNode;\n }\n return node;\n};\n\n/**\n * Returns position within line of character at offset within node.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {Node} node Node to get position of.\n * @param {integer} offset Offset into node.\n *\n * @return {integer} Position within line of character at offset within node.\n **/\nhterm.Screen.prototype.getPositionWithOverflow_ = function(row, node, offset) {\n if (!node)\n return -1;\n var ancestorRow = this.getXRowAncestor_(node);\n if (!ancestorRow)\n return -1;\n var position = 0;\n while (ancestorRow != row) {\n position += hterm.TextAttributes.nodeWidth(row);\n if (row.hasAttribute('line-overflow') && row.nextSibling) {\n row = row.nextSibling;\n } else {\n return -1;\n }\n }\n return position + this.getPositionWithinRow_(row, node, offset);\n};\n\n/**\n * Returns position within row of character at offset within node.\n * Does not support line overflow.\n *\n * @param {Node} row X-ROW to get position within.\n * @param {Node} node Node to get position for.\n * @param {integer} offset Offset within node to get position for.\n * @return {integer} Position within row of character at offset within node.\n **/\nhterm.Screen.prototype.getPositionWithinRow_ = function(row, node, offset) {\n if (node.parentNode != row) {\n // If we traversed to the top node, then there's nothing to find here.\n if (node.parentNode == null)\n return -1;\n\n return this.getPositionWithinRow_(node.parentNode, node, offset) +\n this.getPositionWithinRow_(row, node.parentNode, 0);\n }\n var position = 0;\n for (var i = 0; i < row.childNodes.length; i++) {\n var currentNode = row.childNodes[i];\n if (currentNode == node)\n return position + offset;\n position += hterm.TextAttributes.nodeWidth(currentNode);\n }\n return -1;\n};\n\n/**\n * Returns the node and offset corresponding to position within line.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {integer} position Position within line to retrieve node and offset.\n * @return {Array} Two element array containing node and offset respectively.\n **/\nhterm.Screen.prototype.getNodeAndOffsetWithOverflow_ = function(row, position) {\n while (row && position > hterm.TextAttributes.nodeWidth(row)) {\n if (row.hasAttribute('line-overflow') && row.nextSibling) {\n position -= hterm.TextAttributes.nodeWidth(row);\n row = row.nextSibling;\n } else {\n return -1;\n }\n }\n return this.getNodeAndOffsetWithinRow_(row, position);\n};\n\n/**\n * Returns the node and offset corresponding to position within row.\n * Does not support line overflow.\n *\n * @param {Node} row X-ROW to get position within.\n * @param {integer} position Position within row to retrieve node and offset.\n * @return {Array} Two element array containing node and offset respectively.\n **/\nhterm.Screen.prototype.getNodeAndOffsetWithinRow_ = function(row, position) {\n for (var i = 0; i < row.childNodes.length; i++) {\n var node = row.childNodes[i];\n var nodeTextWidth = hterm.TextAttributes.nodeWidth(node);\n if (position <= nodeTextWidth) {\n if (node.nodeName === 'SPAN') {\n /** Drill down to node contained by SPAN. **/\n return this.getNodeAndOffsetWithinRow_(node, position);\n } else {\n return [node, position];\n }\n }\n position -= nodeTextWidth;\n }\n return null;\n};\n\n/**\n * Returns the node and offset corresponding to position within line.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {integer} start Start position of range within line.\n * @param {integer} end End position of range within line.\n * @param {Range} range Range to modify.\n **/\nhterm.Screen.prototype.setRange_ = function(row, start, end, range) {\n var startNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, start);\n if (startNodeAndOffset == null)\n return;\n var endNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, end);\n if (endNodeAndOffset == null)\n return;\n range.setStart(startNodeAndOffset[0], startNodeAndOffset[1]);\n range.setEnd(endNodeAndOffset[0], endNodeAndOffset[1]);\n};\n\n/**\n * Expands selection to surround URLs.\n *\n * @param {Selection} selection Selection to expand.\n **/\nhterm.Screen.prototype.expandSelection = function(selection) {\n if (!selection)\n return;\n\n var range = selection.getRangeAt(0);\n if (!range || range.toString().match(/\\s/))\n return;\n\n var row = this.getLineStartRow_(this.getXRowAncestor_(range.startContainer));\n if (!row)\n return;\n\n var startPosition = this.getPositionWithOverflow_(row,\n range.startContainer,\n range.startOffset);\n if (startPosition == -1)\n return;\n var endPosition = this.getPositionWithOverflow_(row,\n range.endContainer,\n range.endOffset);\n if (endPosition == -1)\n return;\n\n // Use the user configurable match settings.\n var leftMatch = this.wordBreakMatchLeft;\n var rightMatch = this.wordBreakMatchRight;\n var insideMatch = this.wordBreakMatchMiddle;\n\n //Move start to the left.\n var rowText = this.getLineText_(row);\n var lineUpToRange = lib.wc.substring(rowText, 0, endPosition);\n var leftRegularExpression = new RegExp(leftMatch + insideMatch + \"$\");\n var expandedStart = lineUpToRange.search(leftRegularExpression);\n if (expandedStart == -1 || expandedStart > startPosition)\n return;\n\n //Move end to the right.\n var lineFromRange = lib.wc.substring(rowText, startPosition,\n lib.wc.strWidth(rowText));\n var rightRegularExpression = new RegExp(\"^\" + insideMatch + rightMatch);\n var found = lineFromRange.match(rightRegularExpression);\n if (!found)\n return;\n var expandedEnd = startPosition + lib.wc.strWidth(found[0]);\n if (expandedEnd == -1 || expandedEnd < endPosition)\n return;\n\n this.setRange_(row, expandedStart, expandedEnd, range);\n selection.addRange(range);\n};\n// SOURCE FILE: hterm/js/hterm_scrollport.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'hterm.PubSub', 'hterm.Size');\n\n/**\n * A 'viewport' view of fixed-height rows with support for selection and\n * copy-to-clipboard.\n *\n * 'Viewport' in this case means that only the visible rows are in the DOM.\n * If the rowProvider has 100,000 rows, but the ScrollPort is only 25 rows\n * tall, then only 25 dom nodes are created. The ScrollPort will ask the\n * RowProvider to create new visible rows on demand as they are scrolled in\n * to the visible area.\n *\n * This viewport is designed so that select and copy-to-clipboard still works,\n * even when all or part of the selection is scrolled off screen.\n *\n * Note that the X11 mouse clipboard does not work properly when all or part\n * of the selection is off screen. It would be difficult to fix this without\n * adding significant overhead to pathologically large selection cases.\n *\n * The RowProvider should return rows rooted by the custom tag name 'x-row'.\n * This ensures that we can quickly assign the correct display height\n * to the rows with css.\n *\n * @param {RowProvider} rowProvider An object capable of providing rows as\n * raw text or row nodes.\n */\nhterm.ScrollPort = function(rowProvider) {\n hterm.PubSub.addBehavior(this);\n\n this.rowProvider_ = rowProvider;\n\n // SWAG the character size until we can measure it.\n this.characterSize = new hterm.Size(10, 10);\n\n // DOM node used for character measurement.\n this.ruler_ = null;\n\n this.selection = new hterm.ScrollPort.Selection(this);\n\n // A map of rowIndex => rowNode for each row that is drawn as part of a\n // pending redraw_() call. Null if there is no pending redraw_ call.\n this.currentRowNodeCache_ = null;\n\n // A map of rowIndex => rowNode for each row that was drawn as part of the\n // previous redraw_() call.\n this.previousRowNodeCache_ = {};\n\n // Used during scroll events to detect when the underlying cause is a resize.\n this.lastScreenWidth_ = null;\n this.lastScreenHeight_ = null;\n\n // True if the user should be allowed to select text in the terminal.\n // This is disabled when the host requests mouse drag events so that we don't\n // end up with two notions of selection.\n this.selectionEnabled_ = true;\n\n // The last row count returned by the row provider, re-populated during\n // syncScrollHeight().\n this.lastRowCount_ = 0;\n\n // The scroll wheel pixel delta multiplier to increase/decrease\n // the scroll speed of mouse wheel events. See: https://goo.gl/sXelnq\n this.scrollWheelMultiplier_ = 1;\n\n // The last touch events we saw to support touch based scrolling. Indexed\n // by touch identifier since we can have more than one touch active.\n this.lastTouch_ = {};\n\n /**\n * True if the last scroll caused the scrollport to show the final row.\n */\n this.isScrolledEnd = true;\n\n /**\n * A guess at the current scrollbar width, fixed in resize().\n */\n this.currentScrollbarWidthPx = 16;\n\n /**\n * Whether the ctrl-v key on the screen should paste.\n */\n this.ctrlVPaste = false;\n\n this.div_ = null;\n this.document_ = null;\n\n // Collection of active timeout handles.\n this.timeouts_ = {};\n\n this.observers_ = {};\n\n this.DEBUG_ = false;\n}\n\n/**\n * Proxy for the native selection object which understands how to walk up the\n * DOM to find the containing row node and sort out which comes first.\n *\n * @param {hterm.ScrollPort} scrollPort The parent hterm.ScrollPort instance.\n */\nhterm.ScrollPort.Selection = function(scrollPort) {\n this.scrollPort_ = scrollPort;\n\n /**\n * The row containing the start of the selection.\n *\n * This may be partially or fully selected. It may be the selection anchor\n * or the focus, but its rowIndex is guaranteed to be less-than-or-equal-to\n * that of the endRow.\n *\n * If only one row is selected then startRow == endRow. If there is no\n * selection or the selection is collapsed then startRow == null.\n */\n this.startRow = null;\n\n /**\n * The row containing the end of the selection.\n *\n * This may be partially or fully selected. It may be the selection anchor\n * or the focus, but its rowIndex is guaranteed to be greater-than-or-equal-to\n * that of the startRow.\n *\n * If only one row is selected then startRow == endRow. If there is no\n * selection or the selection is collapsed then startRow == null.\n */\n this.endRow = null;\n\n /**\n * True if startRow != endRow.\n */\n this.isMultiline = null;\n\n /**\n * True if the selection is just a point rather than a range.\n */\n this.isCollapsed = null;\n};\n\n/**\n * Given a list of DOM nodes and a container, return the DOM node that\n * is first according to a depth-first search.\n *\n * Returns null if none of the children are found.\n */\nhterm.ScrollPort.Selection.prototype.findFirstChild = function(\n parent, childAry) {\n var node = parent.firstChild;\n\n while (node) {\n if (childAry.indexOf(node) != -1)\n return node;\n\n if (node.childNodes.length) {\n var rv = this.findFirstChild(node, childAry);\n if (rv)\n return rv;\n }\n\n node = node.nextSibling;\n }\n\n return null;\n};\n\n/**\n * Synchronize this object with the current DOM selection.\n *\n * This is a one-way synchronization, the DOM selection is copied to this\n * object, not the other way around.\n */\nhterm.ScrollPort.Selection.prototype.sync = function() {\n var self = this;\n\n // The dom selection object has no way to tell which nodes come first in\n // the document, so we have to figure that out.\n //\n // This function is used when we detect that the \"anchor\" node is first.\n function anchorFirst() {\n self.startRow = anchorRow;\n self.startNode = selection.anchorNode;\n self.startOffset = selection.anchorOffset;\n self.endRow = focusRow;\n self.endNode = selection.focusNode;\n self.endOffset = selection.focusOffset;\n }\n\n // This function is used when we detect that the \"focus\" node is first.\n function focusFirst() {\n self.startRow = focusRow;\n self.startNode = selection.focusNode;\n self.startOffset = selection.focusOffset;\n self.endRow = anchorRow;\n self.endNode = selection.anchorNode;\n self.endOffset = selection.anchorOffset;\n }\n\n var selection = this.scrollPort_.getDocument().getSelection();\n\n this.startRow = null;\n this.endRow = null;\n this.isMultiline = null;\n this.isCollapsed = !selection || selection.isCollapsed;\n\n if (this.isCollapsed)\n return;\n\n var anchorRow = selection.anchorNode;\n while (anchorRow && !('rowIndex' in anchorRow)) {\n anchorRow = anchorRow.parentNode;\n }\n\n if (!anchorRow) {\n console.error('Selection anchor is not rooted in a row node: ' +\n selection.anchorNode.nodeName);\n return;\n }\n\n var focusRow = selection.focusNode;\n while (focusRow && !('rowIndex' in focusRow)) {\n focusRow = focusRow.parentNode;\n }\n\n if (!focusRow) {\n console.error('Selection focus is not rooted in a row node: ' +\n selection.focusNode.nodeName);\n return;\n }\n\n if (anchorRow.rowIndex < focusRow.rowIndex) {\n anchorFirst();\n\n } else if (anchorRow.rowIndex > focusRow.rowIndex) {\n focusFirst();\n\n } else if (selection.focusNode == selection.anchorNode) {\n if (selection.anchorOffset < selection.focusOffset) {\n anchorFirst();\n } else {\n focusFirst();\n }\n\n } else {\n // The selection starts and ends in the same row, but isn't contained all\n // in a single node.\n var firstNode = this.findFirstChild(\n anchorRow, [selection.anchorNode, selection.focusNode]);\n\n if (!firstNode)\n throw new Error('Unexpected error syncing selection.');\n\n if (firstNode == selection.anchorNode) {\n anchorFirst();\n } else {\n focusFirst();\n }\n }\n\n this.isMultiline = anchorRow.rowIndex != focusRow.rowIndex;\n};\n\n\n/**\n * Turn a div into this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.decorate = function(div) {\n this.div_ = div;\n\n this.iframe_ = div.ownerDocument.createElement('iframe');\n this.iframe_.style.cssText = (\n 'border: 0;' +\n 'height: 100%;' +\n 'position: absolute;' +\n 'width: 100%');\n\n // Set the iframe src to # in FF. Otherwise when the frame's\n // load event fires in FF it clears out the content of the iframe.\n if ('mozInnerScreenX' in window) // detect a FF only property\n this.iframe_.src = '#';\n\n div.appendChild(this.iframe_);\n\n this.iframe_.contentWindow.addEventListener('resize',\n this.onResize_.bind(this));\n\n var doc = this.document_ = this.iframe_.contentDocument;\n doc.body.style.cssText = (\n 'margin: 0px;' +\n 'padding: 0px;' +\n 'height: 100%;' +\n 'width: 100%;' +\n 'overflow: hidden;' +\n 'cursor: var(--hterm-mouse-cursor-style);' +\n '-webkit-user-select: none;' +\n '-moz-user-select: none;');\n\n if (this.DEBUG_) {\n // When we're debugging we add padding to the body so that the offscreen\n // elements are visible.\n this.document_.body.style.paddingTop =\n this.document_.body.style.paddingBottom =\n 'calc(var(--hterm-charsize-height) * 3)';\n }\n\n var style = doc.createElement('style');\n style.textContent = (\n 'x-row {' +\n ' display: block;' +\n ' height: var(--hterm-charsize-height);' +\n ' line-height: var(--hterm-charsize-height);' +\n '}');\n doc.head.appendChild(style);\n\n this.userCssLink_ = doc.createElement('link');\n this.userCssLink_.setAttribute('rel', 'stylesheet');\n\n this.userCssText_ = doc.createElement('style');\n doc.head.appendChild(this.userCssText_);\n\n // TODO(rginda): Sorry, this 'screen_' isn't the same thing as hterm.Screen\n // from screen.js. I need to pick a better name for one of them to avoid\n // the collision.\n // We make this field editable even though we don't actually allow anything\n // to be edited here so that Chrome will do the right thing with virtual\n // keyboards and IMEs. But make sure we turn off all the input helper logic\n // that doesn't make sense here, and might inadvertently mung or save input.\n // Some of these attributes are standard while others are browser specific,\n // but should be safely ignored by other browsers.\n this.screen_ = doc.createElement('x-screen');\n this.screen_.setAttribute('contenteditable', 'true');\n this.screen_.setAttribute('spellcheck', 'false');\n this.screen_.setAttribute('autocomplete', 'off');\n this.screen_.setAttribute('autocorrect', 'off');\n this.screen_.setAttribute('autocaptalize', 'none');\n this.screen_.setAttribute('role', 'textbox');\n this.screen_.setAttribute('tabindex', '-1');\n this.screen_.style.cssText = (\n 'caret-color: transparent;' +\n 'display: block;' +\n 'font-family: monospace;' +\n 'font-size: 15px;' +\n 'font-variant-ligatures: none;' +\n 'height: 100%;' +\n 'overflow-y: scroll; overflow-x: hidden;' +\n 'white-space: pre;' +\n 'width: 100%;' +\n 'outline: none !important');\n\n doc.body.appendChild(this.screen_);\n\n this.screen_.addEventListener('scroll', this.onScroll_.bind(this));\n this.screen_.addEventListener('wheel', this.onScrollWheel_.bind(this));\n this.screen_.addEventListener('touchstart', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchmove', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchend', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchcancel', this.onTouch_.bind(this));\n this.screen_.addEventListener('copy', this.onCopy_.bind(this));\n this.screen_.addEventListener('paste', this.onPaste_.bind(this));\n // Disable drag & drop of text/content. We don't handle it at all (yet?),\n // and the default behavior just confuses hterm.\n this.screen_.addEventListener('drop', function(e) {\n e.preventDefault();\n return false;\n });\n\n doc.body.addEventListener('keydown', this.onBodyKeyDown_.bind(this));\n\n // This is the main container for the fixed rows.\n this.rowNodes_ = doc.createElement('div');\n this.rowNodes_.id = 'hterm:row-nodes';\n this.rowNodes_.style.cssText = (\n 'display: block;' +\n 'position: fixed;' +\n 'overflow: hidden;' +\n '-webkit-user-select: text;' +\n '-moz-user-select: text;');\n this.screen_.appendChild(this.rowNodes_);\n\n // Two nodes to hold offscreen text during the copy event.\n this.topSelectBag_ = doc.createElement('x-select-bag');\n this.topSelectBag_.style.cssText = (\n 'display: block;' +\n 'overflow: hidden;' +\n 'height: var(--hterm-charsize-height);' +\n 'white-space: pre;');\n\n this.bottomSelectBag_ = this.topSelectBag_.cloneNode();\n\n // Nodes above the top fold and below the bottom fold are hidden. They are\n // only used to hold rows that are part of the selection but are currently\n // scrolled off the top or bottom of the visible range.\n this.topFold_ = doc.createElement('x-fold');\n this.topFold_.id = 'hterm:top-fold-for-row-selection';\n this.topFold_.style.cssText = 'display: block;';\n this.rowNodes_.appendChild(this.topFold_);\n\n this.bottomFold_ = this.topFold_.cloneNode();\n this.bottomFold_.id = 'hterm:bottom-fold-for-row-selection';\n this.rowNodes_.appendChild(this.bottomFold_);\n\n // This hidden div accounts for the vertical space that would be consumed by\n // all the rows in the buffer if they were visible. It's what causes the\n // scrollbar to appear on the 'x-screen', and it moves within the screen when\n // the scrollbar is moved.\n //\n // It is set 'visibility: hidden' to keep the browser from trying to include\n // it in the selection when a user 'drag selects' upwards (drag the mouse to\n // select and scroll at the same time). Without this, the selection gets\n // out of whack.\n this.scrollArea_ = doc.createElement('div');\n this.scrollArea_.id = 'hterm:scrollarea';\n this.scrollArea_.style.cssText = 'visibility: hidden';\n this.screen_.appendChild(this.scrollArea_);\n\n // This svg element is used to detect when the browser is zoomed. It must be\n // placed in the outermost document for currentScale to be correct.\n // TODO(rginda): This means that hterm nested in an iframe will not correctly\n // detect browser zoom level. We should come up with a better solution.\n // Note: This must be http:// else Chrome cannot create the element correctly.\n var xmlns = 'http://www.w3.org/2000/svg';\n this.svg_ = this.div_.ownerDocument.createElementNS(xmlns, 'svg');\n this.svg_.id = 'hterm:zoom-detector';\n this.svg_.setAttribute('xmlns', xmlns);\n this.svg_.setAttribute('version', '1.1');\n this.svg_.style.cssText = (\n 'position: absolute;' +\n 'top: 0;' +\n 'left: 0;' +\n 'visibility: hidden');\n\n\n // We send focus to this element just before a paste happens, so we can\n // capture the pasted text and forward it on to someone who cares.\n this.pasteTarget_ = doc.createElement('textarea');\n this.pasteTarget_.id = 'hterm:ctrl-v-paste-target';\n this.pasteTarget_.setAttribute('tabindex', '-1');\n this.pasteTarget_.style.cssText = (\n 'position: absolute;' +\n 'height: 1px;' +\n 'width: 1px;' +\n 'left: 0px; ' +\n 'bottom: 0px;' +\n 'opacity: 0');\n this.pasteTarget_.contentEditable = true;\n\n this.screen_.appendChild(this.pasteTarget_);\n this.pasteTarget_.addEventListener(\n 'textInput', this.handlePasteTargetTextInput_.bind(this));\n\n this.resize();\n};\n\n/**\n * Select the font-family and font-smoothing for this scrollport.\n *\n * @param {string} fontFamily Value of the CSS 'font-family' to use for this\n * scrollport. Should be a monospace font.\n * @param {string} opt_smoothing Optional value for '-webkit-font-smoothing'.\n * Defaults to an empty string if not specified.\n */\nhterm.ScrollPort.prototype.setFontFamily = function(fontFamily, opt_smoothing) {\n this.screen_.style.fontFamily = fontFamily;\n if (opt_smoothing) {\n this.screen_.style.webkitFontSmoothing = opt_smoothing;\n } else {\n this.screen_.style.webkitFontSmoothing = '';\n }\n\n this.syncCharacterSize();\n};\n\nhterm.ScrollPort.prototype.getFontFamily = function() {\n return this.screen_.style.fontFamily;\n};\n\n/**\n * Set a custom stylesheet to include in the scrollport.\n *\n * Defaults to null, meaning no custom css is loaded. Set it back to null or\n * the empty string to remove a previously applied custom css.\n */\nhterm.ScrollPort.prototype.setUserCssUrl = function(url) {\n if (url) {\n this.userCssLink_.setAttribute('href', url);\n\n if (!this.userCssLink_.parentNode)\n this.document_.head.appendChild(this.userCssLink_);\n } else if (this.userCssLink_.parentNode) {\n this.document_.head.removeChild(this.userCssLink_);\n }\n};\n\nhterm.ScrollPort.prototype.setUserCssText = function(text) {\n this.userCssText_.textContent = text;\n};\n\nhterm.ScrollPort.prototype.focus = function() {\n this.iframe_.focus();\n this.screen_.focus();\n};\n\nhterm.ScrollPort.prototype.getForegroundColor = function() {\n return this.screen_.style.color;\n};\n\nhterm.ScrollPort.prototype.setForegroundColor = function(color) {\n this.screen_.style.color = color;\n};\n\nhterm.ScrollPort.prototype.getBackgroundColor = function() {\n return this.screen_.style.backgroundColor;\n};\n\nhterm.ScrollPort.prototype.setBackgroundColor = function(color) {\n this.screen_.style.backgroundColor = color;\n};\n\nhterm.ScrollPort.prototype.setBackgroundImage = function(image) {\n this.screen_.style.backgroundImage = image;\n};\n\nhterm.ScrollPort.prototype.setBackgroundSize = function(size) {\n this.screen_.style.backgroundSize = size;\n};\n\nhterm.ScrollPort.prototype.setBackgroundPosition = function(position) {\n this.screen_.style.backgroundPosition = position;\n};\n\nhterm.ScrollPort.prototype.setCtrlVPaste = function(ctrlVPaste) {\n this.ctrlVPaste = ctrlVPaste;\n};\n\n/**\n * Get the usable size of the scrollport screen.\n *\n * The width will not include the scrollbar width.\n */\nhterm.ScrollPort.prototype.getScreenSize = function() {\n var size = hterm.getClientSize(this.screen_);\n return {\n height: size.height,\n width: size.width - this.currentScrollbarWidthPx\n };\n};\n\n/**\n * Get the usable width of the scrollport screen.\n *\n * This the widget width minus scrollbar width.\n */\nhterm.ScrollPort.prototype.getScreenWidth = function() {\n return this.getScreenSize().width ;\n};\n\n/**\n * Get the usable height of the scrollport screen.\n */\nhterm.ScrollPort.prototype.getScreenHeight = function() {\n return this.getScreenSize().height;\n};\n\n/**\n * Return the document that holds the visible rows of this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.getDocument = function() {\n return this.document_;\n};\n\n/**\n * Returns the x-screen element that holds the rows of this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.getScreenNode = function() {\n return this.screen_;\n};\n\n/**\n * Clear out any cached rowNodes.\n */\nhterm.ScrollPort.prototype.resetCache = function() {\n this.currentRowNodeCache_ = null;\n this.previousRowNodeCache_ = {};\n};\n\n/**\n * Change the current rowProvider.\n *\n * This will clear the row cache and cause a redraw.\n *\n * @param {Object} rowProvider An object capable of providing the rows\n * in this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.setRowProvider = function(rowProvider) {\n this.resetCache();\n this.rowProvider_ = rowProvider;\n this.scheduleRedraw();\n};\n\n/**\n * Inform the ScrollPort that the root DOM nodes for some or all of the visible\n * rows are no longer valid.\n *\n * Specifically, this should be called if this.rowProvider_.getRowNode() now\n * returns an entirely different node than it did before. It does not\n * need to be called if the content of a row node is the only thing that\n * changed.\n *\n * This skips some of the overhead of a full redraw, but should not be used\n * in cases where the scrollport has been scrolled, or when the row count has\n * changed.\n */\nhterm.ScrollPort.prototype.invalidate = function() {\n var node = this.topFold_.nextSibling;\n while (node != this.bottomFold_) {\n var nextSibling = node.nextSibling;\n node.parentElement.removeChild(node);\n node = nextSibling;\n }\n\n this.previousRowNodeCache_ = null;\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n this.drawVisibleRows_(topRowIndex, bottomRowIndex);\n};\n\nhterm.ScrollPort.prototype.scheduleInvalidate = function() {\n if (this.timeouts_.invalidate)\n return;\n\n var self = this;\n this.timeouts_.invalidate = setTimeout(function () {\n delete self.timeouts_.invalidate;\n self.invalidate();\n }, 0);\n};\n\n/**\n * Set the font size of the ScrollPort.\n */\nhterm.ScrollPort.prototype.setFontSize = function(px) {\n this.screen_.style.fontSize = px + 'px';\n this.syncCharacterSize();\n};\n\n/**\n * Return the current font size of the ScrollPort.\n */\nhterm.ScrollPort.prototype.getFontSize = function() {\n return parseInt(this.screen_.style.fontSize);\n};\n\n/**\n * Measure the size of a single character in pixels.\n *\n * @param {string} opt_weight The font weight to measure, or 'normal' if\n * omitted.\n * @return {hterm.Size} A new hterm.Size object.\n */\nhterm.ScrollPort.prototype.measureCharacterSize = function(opt_weight) {\n // Number of lines used to average the height of a single character.\n var numberOfLines = 100;\n // Number of chars per line used to average the width of a single character.\n var lineLength = 100;\n\n if (!this.ruler_) {\n this.ruler_ = this.document_.createElement('div');\n this.ruler_.id = 'hterm:ruler-character-size';\n this.ruler_.style.cssText = (\n 'position: absolute;' +\n 'top: 0;' +\n 'left: 0;' +\n 'visibility: hidden;' +\n 'height: auto !important;' +\n 'width: auto !important;');\n\n // We need to put the text in a span to make the size calculation\n // work properly in Firefox\n this.rulerSpan_ = this.document_.createElement('span');\n this.rulerSpan_.id = 'hterm:ruler-span-workaround';\n this.rulerSpan_.innerHTML =\n ('X'.repeat(lineLength) + '\\r').repeat(numberOfLines);\n this.ruler_.appendChild(this.rulerSpan_);\n\n this.rulerBaseline_ = this.document_.createElement('span');\n this.rulerSpan_.id = 'hterm:ruler-baseline';\n // We want to collapse it on the baseline\n this.rulerBaseline_.style.fontSize = '0px';\n this.rulerBaseline_.textContent = 'X';\n }\n\n this.rulerSpan_.style.fontWeight = opt_weight || '';\n\n this.rowNodes_.appendChild(this.ruler_);\n var rulerSize = hterm.getClientSize(this.rulerSpan_);\n\n var size = new hterm.Size(rulerSize.width / lineLength,\n rulerSize.height / numberOfLines);\n\n this.ruler_.appendChild(this.rulerBaseline_);\n size.baseline = this.rulerBaseline_.offsetTop;\n this.ruler_.removeChild(this.rulerBaseline_);\n\n this.rowNodes_.removeChild(this.ruler_);\n\n this.div_.ownerDocument.body.appendChild(this.svg_);\n size.zoomFactor = this.svg_.currentScale;\n this.div_.ownerDocument.body.removeChild(this.svg_);\n\n return size;\n};\n\n/**\n * Synchronize the character size.\n *\n * This will re-measure the current character size and adjust the height\n * of an x-row to match.\n */\nhterm.ScrollPort.prototype.syncCharacterSize = function() {\n this.characterSize = this.measureCharacterSize();\n\n this.resize();\n};\n\n/**\n * Reset dimensions and visible row count to account for a change in the\n * dimensions of the 'x-screen'.\n */\nhterm.ScrollPort.prototype.resize = function() {\n this.currentScrollbarWidthPx = hterm.getClientWidth(this.screen_) -\n this.screen_.clientWidth;\n\n this.syncScrollHeight();\n this.syncRowNodesDimensions_();\n\n var self = this;\n this.publish(\n 'resize', { scrollPort: this },\n function() {\n self.scrollRowToBottom(self.rowProvider_.getRowCount());\n self.scheduleRedraw();\n });\n};\n\n/**\n * Set the position and size of the row nodes element.\n */\nhterm.ScrollPort.prototype.syncRowNodesDimensions_ = function() {\n var screenSize = this.getScreenSize();\n\n this.lastScreenWidth_ = screenSize.width;\n this.lastScreenHeight_ = screenSize.height;\n\n // We don't want to show a partial row because it would be distracting\n // in a terminal, so we floor any fractional row count.\n this.visibleRowCount = lib.f.smartFloorDivide(\n screenSize.height, this.characterSize.height);\n\n // Then compute the height of our integral number of rows.\n var visibleRowsHeight = this.visibleRowCount * this.characterSize.height;\n\n // Then the difference between the screen height and total row height needs to\n // be made up for as top margin. We need to record this value so it\n // can be used later to determine the topRowIndex.\n this.visibleRowTopMargin = 0;\n this.visibleRowBottomMargin = screenSize.height - visibleRowsHeight;\n\n this.topFold_.style.marginBottom = this.visibleRowTopMargin + 'px';\n\n\n var topFoldOffset = 0;\n var node = this.topFold_.previousSibling;\n while (node) {\n topFoldOffset += hterm.getClientHeight(node);\n node = node.previousSibling;\n }\n\n // Set the dimensions of the visible rows container.\n this.rowNodes_.style.width = screenSize.width + 'px';\n this.rowNodes_.style.height = visibleRowsHeight + topFoldOffset + 'px';\n this.rowNodes_.style.left = this.screen_.offsetLeft + 'px';\n this.rowNodes_.style.top = this.screen_.offsetTop - topFoldOffset + 'px';\n};\n\nhterm.ScrollPort.prototype.syncScrollHeight = function() {\n // Resize the scroll area to appear as though it contains every row.\n this.lastRowCount_ = this.rowProvider_.getRowCount();\n this.scrollArea_.style.height = (this.characterSize.height *\n this.lastRowCount_ +\n this.visibleRowTopMargin +\n this.visibleRowBottomMargin +\n 'px');\n};\n\n/**\n * Schedule a redraw to happen asynchronously.\n *\n * If this method is called multiple times before the redraw has a chance to\n * run only one redraw occurs.\n */\nhterm.ScrollPort.prototype.scheduleRedraw = function() {\n if (this.timeouts_.redraw)\n return;\n\n var self = this;\n this.timeouts_.redraw = setTimeout(function () {\n delete self.timeouts_.redraw;\n self.redraw_();\n }, 0);\n};\n\n/**\n * Redraw the current hterm.ScrollPort based on the current scrollbar position.\n *\n * When redrawing, we are careful to make sure that the rows that start or end\n * the current selection are not touched in any way. Doing so would disturb\n * the selection, and cleaning up after that would cause flashes at best and\n * incorrect selection at worst. Instead, we modify the DOM around these nodes.\n * We even stash the selection start/end outside of the visible area if\n * they are not supposed to be visible in the hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.redraw_ = function() {\n this.resetSelectBags_();\n this.selection.sync();\n\n this.syncScrollHeight();\n\n this.currentRowNodeCache_ = {};\n\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n this.drawTopFold_(topRowIndex);\n this.drawBottomFold_(bottomRowIndex);\n this.drawVisibleRows_(topRowIndex, bottomRowIndex);\n\n this.syncRowNodesDimensions_();\n\n this.previousRowNodeCache_ = this.currentRowNodeCache_;\n this.currentRowNodeCache_ = null;\n\n this.isScrolledEnd = (\n this.getTopRowIndex() + this.visibleRowCount >= this.lastRowCount_);\n};\n\n/**\n * Ensure that the nodes above the top fold are as they should be.\n *\n * If the selection start and/or end nodes are above the visible range\n * of this hterm.ScrollPort then the dom will be adjusted so that they appear\n * before the top fold (the first x-fold element, aka this.topFold).\n *\n * If not, the top fold will be the first element.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawTopFold_ = function(topRowIndex) {\n if (!this.selection.startRow ||\n this.selection.startRow.rowIndex >= topRowIndex) {\n // Selection is entirely below the top fold, just make sure the fold is\n // the first child.\n if (this.rowNodes_.firstChild != this.topFold_)\n this.rowNodes_.insertBefore(this.topFold_, this.rowNodes_.firstChild);\n\n return;\n }\n\n if (!this.selection.isMultiline ||\n this.selection.endRow.rowIndex >= topRowIndex) {\n // Only the startRow is above the fold.\n if (this.selection.startRow.nextSibling != this.topFold_)\n this.rowNodes_.insertBefore(this.topFold_,\n this.selection.startRow.nextSibling);\n } else {\n // Both rows are above the fold.\n if (this.selection.endRow.nextSibling != this.topFold_) {\n this.rowNodes_.insertBefore(this.topFold_,\n this.selection.endRow.nextSibling);\n }\n\n // Trim any intermediate lines.\n while (this.selection.startRow.nextSibling !=\n this.selection.endRow) {\n this.rowNodes_.removeChild(this.selection.startRow.nextSibling);\n }\n }\n\n while(this.rowNodes_.firstChild != this.selection.startRow) {\n this.rowNodes_.removeChild(this.rowNodes_.firstChild);\n }\n};\n\n/**\n * Ensure that the nodes below the bottom fold are as they should be.\n *\n * If the selection start and/or end nodes are below the visible range\n * of this hterm.ScrollPort then the dom will be adjusted so that they appear\n * after the bottom fold (the second x-fold element, aka this.bottomFold).\n *\n * If not, the bottom fold will be the last element.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawBottomFold_ = function(bottomRowIndex) {\n if (!this.selection.endRow ||\n this.selection.endRow.rowIndex <= bottomRowIndex) {\n // Selection is entirely above the bottom fold, just make sure the fold is\n // the last child.\n if (this.rowNodes_.lastChild != this.bottomFold_)\n this.rowNodes_.appendChild(this.bottomFold_);\n\n return;\n }\n\n if (!this.selection.isMultiline ||\n this.selection.startRow.rowIndex <= bottomRowIndex) {\n // Only the endRow is below the fold.\n if (this.bottomFold_.nextSibling != this.selection.endRow)\n this.rowNodes_.insertBefore(this.bottomFold_,\n this.selection.endRow);\n } else {\n // Both rows are below the fold.\n if (this.bottomFold_.nextSibling != this.selection.startRow) {\n this.rowNodes_.insertBefore(this.bottomFold_,\n this.selection.startRow);\n }\n\n // Trim any intermediate lines.\n while (this.selection.startRow.nextSibling !=\n this.selection.endRow) {\n this.rowNodes_.removeChild(this.selection.startRow.nextSibling);\n }\n }\n\n while(this.rowNodes_.lastChild != this.selection.endRow) {\n this.rowNodes_.removeChild(this.rowNodes_.lastChild);\n }\n};\n\n/**\n * Ensure that the rows between the top and bottom folds are as they should be.\n *\n * This method assumes that drawTopFold_() and drawBottomFold_() have already\n * run, and that they have left any visible selection row (selection start\n * or selection end) between the folds.\n *\n * It recycles DOM nodes from the previous redraw where possible, but will ask\n * the rowSource to make new nodes if necessary.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawVisibleRows_ = function(\n topRowIndex, bottomRowIndex) {\n var self = this;\n\n // Keep removing nodes, starting with currentNode, until we encounter\n // targetNode. Throws on failure.\n function removeUntilNode(currentNode, targetNode) {\n while (currentNode != targetNode) {\n if (!currentNode)\n throw 'Did not encounter target node';\n\n if (currentNode == self.bottomFold_)\n throw 'Encountered bottom fold before target node';\n\n var deadNode = currentNode;\n currentNode = currentNode.nextSibling;\n deadNode.parentNode.removeChild(deadNode);\n }\n }\n\n // Shorthand for things we're going to use a lot.\n var selectionStartRow = this.selection.startRow;\n var selectionEndRow = this.selection.endRow;\n var bottomFold = this.bottomFold_;\n\n // The node we're examining during the current iteration.\n var node = this.topFold_.nextSibling;\n\n var targetDrawCount = Math.min(this.visibleRowCount,\n this.rowProvider_.getRowCount());\n\n for (var drawCount = 0; drawCount < targetDrawCount; drawCount++) {\n var rowIndex = topRowIndex + drawCount;\n\n if (node == bottomFold) {\n // We've hit the bottom fold, we need to insert a new row.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n continue;\n }\n\n if (node.rowIndex == rowIndex) {\n // This node is in the right place, move along.\n node = node.nextSibling;\n continue;\n }\n\n if (selectionStartRow && selectionStartRow.rowIndex == rowIndex) {\n // The selection start row is supposed to be here, remove nodes until\n // we find it.\n removeUntilNode(node, selectionStartRow);\n node = selectionStartRow.nextSibling;\n continue;\n }\n\n if (selectionEndRow && selectionEndRow.rowIndex == rowIndex) {\n // The selection end row is supposed to be here, remove nodes until\n // we find it.\n removeUntilNode(node, selectionEndRow);\n node = selectionEndRow.nextSibling;\n continue;\n }\n\n if (node == selectionStartRow || node == selectionEndRow) {\n // We encountered the start/end of the selection, but we don't want it\n // yet. Insert a new row instead.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n continue;\n }\n\n // There is nothing special about this node, but it's in our way. Replace\n // it with the node that should be here.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n if (node == newNode) {\n node = node.nextSibling;\n continue;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n if (!newNode.nextSibling)\n debugger;\n this.rowNodes_.removeChild(node);\n node = newNode.nextSibling;\n }\n\n if (node != this.bottomFold_)\n removeUntilNode(node, bottomFold);\n};\n\n/**\n * Empty out both select bags and remove them from the document.\n *\n * These nodes hold the text between the start and end of the selection\n * when that text is otherwise off screen. They are filled out in the\n * onCopy_ event.\n */\nhterm.ScrollPort.prototype.resetSelectBags_ = function() {\n if (this.topSelectBag_.parentNode) {\n this.topSelectBag_.textContent = '';\n this.topSelectBag_.parentNode.removeChild(this.topSelectBag_);\n }\n\n if (this.bottomSelectBag_.parentNode) {\n this.bottomSelectBag_.textContent = '';\n this.bottomSelectBag_.parentNode.removeChild(this.bottomSelectBag_);\n }\n};\n\n/**\n * Place a row node in the cache of visible nodes.\n *\n * This method may only be used during a redraw_.\n */\nhterm.ScrollPort.prototype.cacheRowNode_ = function(rowNode) {\n this.currentRowNodeCache_[rowNode.rowIndex] = rowNode;\n};\n\n/**\n * Fetch the row node for the given index.\n *\n * This will return a node from the cache if possible, or will request one\n * from the RowProvider if not.\n *\n * If a redraw_ is in progress the row will be added to the current cache.\n */\nhterm.ScrollPort.prototype.fetchRowNode_ = function(rowIndex) {\n var node;\n\n if (this.previousRowNodeCache_ && rowIndex in this.previousRowNodeCache_) {\n node = this.previousRowNodeCache_[rowIndex];\n } else {\n node = this.rowProvider_.getRowNode(rowIndex);\n }\n\n if (this.currentRowNodeCache_)\n this.cacheRowNode_(node);\n\n return node;\n};\n\n/**\n * Select all rows in the viewport.\n */\nhterm.ScrollPort.prototype.selectAll = function() {\n var firstRow;\n\n if (this.topFold_.nextSibling.rowIndex != 0) {\n while (this.topFold_.previousSibling) {\n this.rowNodes_.removeChild(this.topFold_.previousSibling);\n }\n\n firstRow = this.fetchRowNode_(0);\n this.rowNodes_.insertBefore(firstRow, this.topFold_);\n this.syncRowNodesDimensions_();\n } else {\n firstRow = this.topFold_.nextSibling;\n }\n\n var lastRowIndex = this.rowProvider_.getRowCount() - 1;\n var lastRow;\n\n if (this.bottomFold_.previousSibling.rowIndex != lastRowIndex) {\n while (this.bottomFold_.nextSibling) {\n this.rowNodes_.removeChild(this.bottomFold_.nextSibling);\n }\n\n lastRow = this.fetchRowNode_(lastRowIndex);\n this.rowNodes_.appendChild(lastRow);\n } else {\n lastRow = this.bottomFold_.previousSibling.rowIndex;\n }\n\n var selection = this.document_.getSelection();\n selection.collapse(firstRow, 0);\n selection.extend(lastRow, lastRow.childNodes.length);\n\n this.selection.sync();\n};\n\n/**\n * Return the maximum scroll position in pixels.\n */\nhterm.ScrollPort.prototype.getScrollMax_ = function(e) {\n return (hterm.getClientHeight(this.scrollArea_) +\n this.visibleRowTopMargin + this.visibleRowBottomMargin -\n hterm.getClientHeight(this.screen_));\n};\n\n/**\n * Scroll the given rowIndex to the top of the hterm.ScrollPort.\n *\n * @param {integer} rowIndex Index of the target row.\n */\nhterm.ScrollPort.prototype.scrollRowToTop = function(rowIndex) {\n this.syncScrollHeight();\n\n this.isScrolledEnd = (\n rowIndex + this.visibleRowCount >= this.lastRowCount_);\n\n var scrollTop = rowIndex * this.characterSize.height +\n this.visibleRowTopMargin;\n\n var scrollMax = this.getScrollMax_();\n if (scrollTop > scrollMax)\n scrollTop = scrollMax;\n\n if (this.screen_.scrollTop == scrollTop)\n return;\n\n this.screen_.scrollTop = scrollTop;\n this.scheduleRedraw();\n};\n\n/**\n * Scroll the given rowIndex to the bottom of the hterm.ScrollPort.\n *\n * @param {integer} rowIndex Index of the target row.\n */\nhterm.ScrollPort.prototype.scrollRowToBottom = function(rowIndex) {\n this.syncScrollHeight();\n\n this.isScrolledEnd = (\n rowIndex + this.visibleRowCount >= this.lastRowCount_);\n\n var scrollTop = rowIndex * this.characterSize.height +\n this.visibleRowTopMargin + this.visibleRowBottomMargin;\n scrollTop -= this.visibleRowCount * this.characterSize.height;\n\n if (scrollTop < 0)\n scrollTop = 0;\n\n if (this.screen_.scrollTop == scrollTop)\n return;\n\n this.screen_.scrollTop = scrollTop;\n};\n\n/**\n * Return the row index of the first visible row.\n *\n * This is based on the scroll position. If a redraw_ is in progress this\n * returns the row that *should* be at the top.\n */\nhterm.ScrollPort.prototype.getTopRowIndex = function() {\n return Math.round(this.screen_.scrollTop / this.characterSize.height);\n};\n\n/**\n * Return the row index of the last visible row.\n *\n * This is based on the scroll position. If a redraw_ is in progress this\n * returns the row that *should* be at the bottom.\n */\nhterm.ScrollPort.prototype.getBottomRowIndex = function(topRowIndex) {\n return topRowIndex + this.visibleRowCount - 1;\n};\n\n/**\n * Handler for scroll events.\n *\n * The onScroll event fires when scrollArea's scrollTop property changes. This\n * may be due to the user manually move the scrollbar, or a programmatic change.\n */\nhterm.ScrollPort.prototype.onScroll_ = function(e) {\n var screenSize = this.getScreenSize();\n if (screenSize.width != this.lastScreenWidth_ ||\n screenSize.height != this.lastScreenHeight_) {\n // This event may also fire during a resize (but before the resize event!).\n // This happens when the browser moves the scrollbar as part of the resize.\n // In these cases, we want to ignore the scroll event and let onResize\n // handle things. If we don't, then we end up scrolling to the wrong\n // position after a resize.\n this.resize();\n return;\n }\n\n this.redraw_();\n this.publish('scroll', { scrollPort: this });\n};\n\n/**\n * Clients can override this if they want to hear scrollwheel events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onScrollWheel = function(e) {};\n\n/**\n * Handler for scroll-wheel events.\n *\n * The onScrollWheel event fires when the user moves their scrollwheel over this\n * hterm.ScrollPort. Because the frontmost element in the hterm.ScrollPort is\n * a fixed position DIV, the scroll wheel does nothing by default. Instead, we\n * have to handle it manually.\n */\nhterm.ScrollPort.prototype.onScrollWheel_ = function(e) {\n this.onScrollWheel(e);\n\n if (e.defaultPrevented)\n return;\n\n // Figure out how far this event wants us to scroll.\n var delta = this.scrollWheelDelta(e);\n\n var top = this.screen_.scrollTop - delta;\n if (top < 0)\n top = 0;\n\n var scrollMax = this.getScrollMax_();\n if (top > scrollMax)\n top = scrollMax;\n\n if (top != this.screen_.scrollTop) {\n // Moving scrollTop causes a scroll event, which triggers the redraw.\n this.screen_.scrollTop = top;\n\n // Only preventDefault when we've actually scrolled. If there's nothing\n // to scroll we want to pass the event through so Chrome can detect the\n // overscroll.\n e.preventDefault();\n }\n};\n\n/**\n * Calculate how far a wheel event should scroll.\n *\n * @param {WheelEvent} e The mouse wheel event to process.\n * @return {number} How far (in pixels) to scroll.\n */\nhterm.ScrollPort.prototype.scrollWheelDelta = function(e) {\n var delta;\n\n switch (e.deltaMode) {\n case WheelEvent.DOM_DELTA_PIXEL:\n delta = e.deltaY * this.scrollWheelMultiplier_;\n break;\n case WheelEvent.DOM_DELTA_LINE:\n delta = e.deltaY * this.characterSize.height;\n break;\n case WheelEvent.DOM_DELTA_PAGE:\n delta = e.deltaY * this.characterSize.height * this.screen_.getHeight();\n break;\n }\n\n // The sign is inverted from what we would expect.\n return delta * -1;\n};\n\n\n/**\n * Clients can override this if they want to hear touch events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onTouch = function(e) {};\n\n/**\n * Handler for touch events.\n */\nhterm.ScrollPort.prototype.onTouch_ = function(e) {\n this.onTouch(e);\n\n if (e.defaultPrevented)\n return;\n\n // Extract the fields from the Touch event that we need. If we saved the\n // event directly, it has references to other objects (like x-row) that\n // might stick around for a long time. This way we only have small objects\n // in our lastTouch_ state.\n var scrubTouch = function(t) {\n return {\n id: t.identifier,\n y: t.clientY,\n x: t.clientX,\n };\n };\n\n var i, touch;\n switch (e.type) {\n case 'touchstart':\n // Save the current set of touches.\n for (i = 0; i < e.changedTouches.length; ++i) {\n touch = scrubTouch(e.changedTouches[i]);\n this.lastTouch_[touch.id] = touch;\n }\n break;\n\n case 'touchcancel':\n case 'touchend':\n // Throw away existing touches that we're finished with.\n for (i = 0; i < e.changedTouches.length; ++i)\n delete this.lastTouch_[e.changedTouches[i].identifier];\n break;\n\n case 'touchmove':\n // Walk all of the touches in this one event and merge all of their\n // changes into one delta. This lets multiple fingers scroll faster.\n var delta = 0;\n for (i = 0; i < e.changedTouches.length; ++i) {\n touch = scrubTouch(e.changedTouches[i]);\n delta += (this.lastTouch_[touch.id].y - touch.y);\n this.lastTouch_[touch.id] = touch;\n }\n\n // Invert to match the touchscreen scrolling direction of browser windows.\n delta *= -1;\n\n var top = this.screen_.scrollTop - delta;\n if (top < 0)\n top = 0;\n\n var scrollMax = this.getScrollMax_();\n if (top > scrollMax)\n top = scrollMax;\n\n if (top != this.screen_.scrollTop) {\n // Moving scrollTop causes a scroll event, which triggers the redraw.\n this.screen_.scrollTop = top;\n }\n break;\n }\n\n // To disable gestures or anything else interfering with our scrolling.\n e.preventDefault();\n};\n\n/**\n * Handler for resize events.\n *\n * The browser will resize us such that the top row stays at the top, but we\n * prefer to the bottom row to stay at the bottom.\n */\nhterm.ScrollPort.prototype.onResize_ = function(e) {\n // Re-measure, since onResize also happens for browser zoom changes.\n this.syncCharacterSize();\n this.resize();\n};\n\n/**\n * Clients can override this if they want to hear copy events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onCopy = function(e) { };\n\n/**\n * Handler for copy-to-clipboard events.\n *\n * If some or all of the selected rows are off screen we may need to fill in\n * the rows between selection start and selection end. This handler determines\n * if we're missing some of the selected text, and if so populates one or both\n * of the \"select bags\" with the missing text.\n */\nhterm.ScrollPort.prototype.onCopy_ = function(e) {\n this.onCopy(e);\n\n if (e.defaultPrevented)\n return;\n\n this.resetSelectBags_();\n this.selection.sync();\n\n if (!this.selection.startRow ||\n this.selection.endRow.rowIndex - this.selection.startRow.rowIndex < 2) {\n return;\n }\n\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n if (this.selection.startRow.rowIndex < topRowIndex) {\n // Start of selection is above the top fold.\n var endBackfillIndex;\n\n if (this.selection.endRow.rowIndex < topRowIndex) {\n // Entire selection is above the top fold.\n endBackfillIndex = this.selection.endRow.rowIndex;\n } else {\n // Selection extends below the top fold.\n endBackfillIndex = this.topFold_.nextSibling.rowIndex;\n }\n\n this.topSelectBag_.textContent = this.rowProvider_.getRowsText(\n this.selection.startRow.rowIndex + 1, endBackfillIndex);\n this.rowNodes_.insertBefore(this.topSelectBag_,\n this.selection.startRow.nextSibling);\n this.syncRowNodesDimensions_();\n }\n\n if (this.selection.endRow.rowIndex > bottomRowIndex) {\n // Selection ends below the bottom fold.\n var startBackfillIndex;\n\n if (this.selection.startRow.rowIndex > bottomRowIndex) {\n // Entire selection is below the bottom fold.\n startBackfillIndex = this.selection.startRow.rowIndex + 1;\n } else {\n // Selection starts above the bottom fold.\n startBackfillIndex = this.bottomFold_.previousSibling.rowIndex + 1;\n }\n\n this.bottomSelectBag_.textContent = this.rowProvider_.getRowsText(\n startBackfillIndex, this.selection.endRow.rowIndex);\n this.rowNodes_.insertBefore(this.bottomSelectBag_, this.selection.endRow);\n }\n};\n\n/**\n * Focuses on the paste target on a ctrl-v keydown event, as in\n * FF a content editable element must be focused before the paste event.\n */\nhterm.ScrollPort.prototype.onBodyKeyDown_ = function(e) {\n if (!this.ctrlVPaste)\n return;\n\n var key = String.fromCharCode(e.which);\n var lowerKey = key.toLowerCase();\n if ((e.ctrlKey || e.metaKey) && lowerKey == \"v\")\n this.pasteTarget_.focus();\n};\n\n/**\n * Handle a paste event on the the ScrollPort's screen element.\n */\nhterm.ScrollPort.prototype.onPaste_ = function(e) {\n this.pasteTarget_.focus();\n\n var self = this;\n setTimeout(function() {\n self.publish('paste', { text: self.pasteTarget_.value });\n self.pasteTarget_.value = '';\n self.screen_.focus();\n }, 0);\n};\n\n/**\n * Handles a textInput event on the paste target. Stops this from\n * propagating as we want this to be handled in the onPaste_ method.\n */\nhterm.ScrollPort.prototype.handlePasteTargetTextInput_ = function(e) {\n e.stopPropagation();\n};\n\n/**\n * Set the vertical scrollbar mode of the ScrollPort.\n */\nhterm.ScrollPort.prototype.setScrollbarVisible = function(state) {\n this.screen_.style.overflowY = state ? 'scroll' : 'hidden';\n};\n\n/**\n * Set scroll wheel multiplier. This alters how much the screen scrolls on\n * mouse wheel events.\n */\nhterm.ScrollPort.prototype.setScrollWheelMoveMultipler = function(multiplier) {\n this.scrollWheelMultiplier_ = multiplier;\n};\n// SOURCE FILE: hterm/js/hterm_terminal.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors', 'lib.PreferenceManager', 'lib.resource', 'lib.wc',\n 'lib.f', 'hterm.Keyboard', 'hterm.Options', 'hterm.PreferenceManager',\n 'hterm.Screen', 'hterm.ScrollPort', 'hterm.Size',\n 'hterm.TextAttributes', 'hterm.VT');\n\n/**\n * Constructor for the Terminal class.\n *\n * A Terminal pulls together the hterm.ScrollPort, hterm.Screen and hterm.VT100\n * classes to provide the complete terminal functionality.\n *\n * There are a number of lower-level Terminal methods that can be called\n * directly to manipulate the cursor, text, scroll region, and other terminal\n * attributes. However, the primary method is interpret(), which parses VT\n * escape sequences and invokes the appropriate Terminal methods.\n *\n * This class was heavily influenced by Cory Maccarrone's Framebuffer class.\n *\n * TODO(rginda): Eventually we're going to need to support characters which are\n * displayed twice as wide as standard latin characters. This is to support\n * CJK (and possibly other character sets).\n *\n * @param {string} opt_profileId Optional preference profile name. If not\n * provided, defaults to 'default'.\n */\nhterm.Terminal = function(opt_profileId) {\n this.profileId_ = null;\n\n // Two screen instances.\n this.primaryScreen_ = new hterm.Screen();\n this.alternateScreen_ = new hterm.Screen();\n\n // The \"current\" screen.\n this.screen_ = this.primaryScreen_;\n\n // The local notion of the screen size. ScreenBuffers also have a size which\n // indicates their present size. During size changes, the two may disagree.\n // Also, the inactive screen's size is not altered until it is made the active\n // screen.\n this.screenSize = new hterm.Size(0, 0);\n\n // The scroll port we'll be using to display the visible rows.\n this.scrollPort_ = new hterm.ScrollPort(this);\n this.scrollPort_.subscribe('resize', this.onResize_.bind(this));\n this.scrollPort_.subscribe('scroll', this.onScroll_.bind(this));\n this.scrollPort_.subscribe('paste', this.onPaste_.bind(this));\n this.scrollPort_.onCopy = this.onCopy_.bind(this);\n\n // The div that contains this terminal.\n this.div_ = null;\n\n // The document that contains the scrollPort. Defaulted to the global\n // document here so that the terminal is functional even if it hasn't been\n // inserted into a document yet, but re-set in decorate().\n this.document_ = window.document;\n\n // The rows that have scrolled off screen and are no longer addressable.\n this.scrollbackRows_ = [];\n\n // Saved tab stops.\n this.tabStops_ = [];\n\n // Keep track of whether default tab stops have been erased; after a TBC\n // clears all tab stops, defaults aren't restored on resize until a reset.\n this.defaultTabStops = true;\n\n // The VT's notion of the top and bottom rows. Used during some VT\n // cursor positioning and scrolling commands.\n this.vtScrollTop_ = null;\n this.vtScrollBottom_ = null;\n\n // The DIV element for the visible cursor.\n this.cursorNode_ = null;\n\n // The current cursor shape of the terminal.\n this.cursorShape_ = hterm.Terminal.cursorShape.BLOCK;\n\n // The current color of the cursor.\n this.cursorColor_ = null;\n\n // Cursor blink on/off cycle in ms, overwritten by prefs once they're loaded.\n this.cursorBlinkCycle_ = [100, 100];\n\n // Pre-bound onCursorBlink_ handler, so we don't have to do this for each\n // cursor on/off servicing.\n this.myOnCursorBlink_ = this.onCursorBlink_.bind(this);\n\n // These prefs are cached so we don't have to read from local storage with\n // each output and keystroke. They are initialized by the preference manager.\n this.backgroundColor_ = null;\n this.foregroundColor_ = null;\n this.scrollOnOutput_ = null;\n this.scrollOnKeystroke_ = null;\n this.scrollWheelArrowKeys_ = null;\n\n // True if we should override mouse event reporting to allow local selection.\n this.defeatMouseReports_ = false;\n\n // Terminal bell sound.\n this.bellAudio_ = this.document_.createElement('audio');\n this.bellAudio_.id = 'hterm:bell-audio';\n this.bellAudio_.setAttribute('preload', 'auto');\n\n // All terminal bell notifications that have been generated (not necessarily\n // shown).\n this.bellNotificationList_ = [];\n\n // Whether we have permission to display notifications.\n this.desktopNotificationBell_ = false;\n\n // Cursor position and attributes saved with DECSC.\n this.savedOptions_ = {};\n\n // The current mode bits for the terminal.\n this.options_ = new hterm.Options();\n\n // Timeouts we might need to clear.\n this.timeouts_ = {};\n\n // The VT escape sequence interpreter.\n this.vt = new hterm.VT(this);\n\n // The keyboard handler.\n this.keyboard = new hterm.Keyboard(this);\n\n // General IO interface that can be given to third parties without exposing\n // the entire terminal object.\n this.io = new hterm.Terminal.IO(this);\n\n // True if mouse-click-drag should scroll the terminal.\n this.enableMouseDragScroll = true;\n\n this.copyOnSelect = null;\n this.mouseRightClickPaste = null;\n this.mousePasteButton = null;\n\n // Whether to use the default window copy behavior.\n this.useDefaultWindowCopy = false;\n\n this.clearSelectionAfterCopy = true;\n\n this.realizeSize_(80, 24);\n this.setDefaultTabStops();\n\n this.setProfile(opt_profileId || 'default',\n function() { this.onTerminalReady(); }.bind(this));\n};\n\n/**\n * Possible cursor shapes.\n */\nhterm.Terminal.cursorShape = {\n BLOCK: 'BLOCK',\n BEAM: 'BEAM',\n UNDERLINE: 'UNDERLINE'\n};\n\n/**\n * Clients should override this to be notified when the terminal is ready\n * for use.\n *\n * The terminal initialization is asynchronous, and shouldn't be used before\n * this method is called.\n */\nhterm.Terminal.prototype.onTerminalReady = function() { };\n\n/**\n * Default tab with of 8 to match xterm.\n */\nhterm.Terminal.prototype.tabWidth = 8;\n\n/**\n * Select a preference profile.\n *\n * This will load the terminal preferences for the given profile name and\n * associate subsequent preference changes with the new preference profile.\n *\n * @param {string} profileId The name of the preference profile. Forward slash\n * characters will be removed from the name.\n * @param {function} opt_callback Optional callback to invoke when the profile\n * transition is complete.\n */\nhterm.Terminal.prototype.setProfile = function(profileId, opt_callback) {\n this.profileId_ = profileId.replace(/\\//g, '');\n\n var terminal = this;\n\n if (this.prefs_)\n this.prefs_.deactivate();\n\n this.prefs_ = new hterm.PreferenceManager(this.profileId_);\n this.prefs_.addObservers(null, {\n 'alt-gr-mode': function(v) {\n if (v == null) {\n if (navigator.language.toLowerCase() == 'en-us') {\n v = 'none';\n } else {\n v = 'right-alt';\n }\n } else if (typeof v == 'string') {\n v = v.toLowerCase();\n } else {\n v = 'none';\n }\n\n if (!/^(none|ctrl-alt|left-alt|right-alt)$/.test(v))\n v = 'none';\n\n terminal.keyboard.altGrMode = v;\n },\n\n 'alt-backspace-is-meta-backspace': function(v) {\n terminal.keyboard.altBackspaceIsMetaBackspace = v;\n },\n\n 'alt-is-meta': function(v) {\n terminal.keyboard.altIsMeta = v;\n },\n\n 'alt-sends-what': function(v) {\n if (!/^(escape|8-bit|browser-key)$/.test(v))\n v = 'escape';\n\n terminal.keyboard.altSendsWhat = v;\n },\n\n 'audible-bell-sound': function(v) {\n var ary = v.match(/^lib-resource:(\\S+)/);\n if (ary) {\n terminal.bellAudio_.setAttribute('src',\n lib.resource.getDataUrl(ary[1]));\n } else {\n terminal.bellAudio_.setAttribute('src', v);\n }\n },\n\n 'desktop-notification-bell': function(v) {\n if (v && Notification) {\n terminal.desktopNotificationBell_ =\n Notification.permission === 'granted';\n if (!terminal.desktopNotificationBell_) {\n // Note: We don't call Notification.requestPermission here because\n // Chrome requires the call be the result of a user action (such as an\n // onclick handler), and pref listeners are run asynchronously.\n //\n // A way of working around this would be to display a dialog in the\n // terminal with a \"click-to-request-permission\" button.\n console.warn('desktop-notification-bell is true but we do not have ' +\n 'permission to display notifications.');\n }\n } else {\n terminal.desktopNotificationBell_ = false;\n }\n },\n\n 'background-color': function(v) {\n terminal.setBackgroundColor(v);\n },\n\n 'background-image': function(v) {\n terminal.scrollPort_.setBackgroundImage(v);\n },\n\n 'background-size': function(v) {\n terminal.scrollPort_.setBackgroundSize(v);\n },\n\n 'background-position': function(v) {\n terminal.scrollPort_.setBackgroundPosition(v);\n },\n\n 'backspace-sends-backspace': function(v) {\n terminal.keyboard.backspaceSendsBackspace = v;\n },\n\n 'character-map-overrides': function(v) {\n if (!(v == null || v instanceof Object)) {\n console.warn('Preference character-map-modifications is not an ' +\n 'object: ' + v);\n return;\n }\n\n terminal.vt.characterMaps.reset();\n terminal.vt.characterMaps.setOverrides(v);\n },\n\n 'cursor-blink': function(v) {\n terminal.setCursorBlink(!!v);\n },\n\n 'cursor-blink-cycle': function(v) {\n if (v instanceof Array &&\n typeof v[0] == 'number' &&\n typeof v[1] == 'number') {\n terminal.cursorBlinkCycle_ = v;\n } else if (typeof v == 'number') {\n terminal.cursorBlinkCycle_ = [v, v];\n } else {\n // Fast blink indicates an error.\n terminal.cursorBlinkCycle_ = [100, 100];\n }\n },\n\n 'cursor-color': function(v) {\n terminal.setCursorColor(v);\n },\n\n 'color-palette-overrides': function(v) {\n if (!(v == null || v instanceof Object || v instanceof Array)) {\n console.warn('Preference color-palette-overrides is not an array or ' +\n 'object: ' + v);\n return;\n }\n\n lib.colors.colorPalette = lib.colors.stockColorPalette.concat();\n\n if (v) {\n for (var key in v) {\n var i = parseInt(key);\n if (isNaN(i) || i < 0 || i > 255) {\n console.log('Invalid value in palette: ' + key + ': ' + v[key]);\n continue;\n }\n\n if (v[i]) {\n var rgb = lib.colors.normalizeCSS(v[i]);\n if (rgb)\n lib.colors.colorPalette[i] = rgb;\n }\n }\n }\n\n terminal.primaryScreen_.textAttributes.resetColorPalette();\n terminal.alternateScreen_.textAttributes.resetColorPalette();\n },\n\n 'copy-on-select': function(v) {\n terminal.copyOnSelect = !!v;\n },\n\n 'use-default-window-copy': function(v) {\n terminal.useDefaultWindowCopy = !!v;\n },\n\n 'clear-selection-after-copy': function(v) {\n terminal.clearSelectionAfterCopy = !!v;\n },\n\n 'ctrl-plus-minus-zero-zoom': function(v) {\n terminal.keyboard.ctrlPlusMinusZeroZoom = v;\n },\n\n 'ctrl-c-copy': function(v) {\n terminal.keyboard.ctrlCCopy = v;\n },\n\n 'ctrl-v-paste': function(v) {\n terminal.keyboard.ctrlVPaste = v;\n terminal.scrollPort_.setCtrlVPaste(v);\n },\n\n 'east-asian-ambiguous-as-two-column': function(v) {\n lib.wc.regardCjkAmbiguous = v;\n },\n\n 'enable-8-bit-control': function(v) {\n terminal.vt.enable8BitControl = !!v;\n },\n\n 'enable-bold': function(v) {\n terminal.syncBoldSafeState();\n },\n\n 'enable-bold-as-bright': function(v) {\n terminal.primaryScreen_.textAttributes.enableBoldAsBright = !!v;\n terminal.alternateScreen_.textAttributes.enableBoldAsBright = !!v;\n },\n\n 'enable-blink': function(v) {\n terminal.syncBlinkState();\n },\n\n 'enable-clipboard-write': function(v) {\n terminal.vt.enableClipboardWrite = !!v;\n },\n\n 'enable-dec12': function(v) {\n terminal.vt.enableDec12 = !!v;\n },\n\n 'font-family': function(v) {\n terminal.syncFontFamily();\n },\n\n 'font-size': function(v) {\n terminal.setFontSize(v);\n },\n\n 'font-smoothing': function(v) {\n terminal.syncFontFamily();\n },\n\n 'foreground-color': function(v) {\n terminal.setForegroundColor(v);\n },\n\n 'home-keys-scroll': function(v) {\n terminal.keyboard.homeKeysScroll = v;\n },\n\n 'keybindings': function(v) {\n terminal.keyboard.bindings.clear();\n\n if (!v)\n return;\n\n if (!(v instanceof Object)) {\n console.error('Error in keybindings preference: Expected object');\n return;\n }\n\n try {\n terminal.keyboard.bindings.addBindings(v);\n } catch (ex) {\n console.error('Error in keybindings preference: ' + ex);\n }\n },\n\n 'max-string-sequence': function(v) {\n terminal.vt.maxStringSequence = v;\n },\n\n 'media-keys-are-fkeys': function(v) {\n terminal.keyboard.mediaKeysAreFKeys = v;\n },\n\n 'meta-sends-escape': function(v) {\n terminal.keyboard.metaSendsEscape = v;\n },\n\n 'mouse-right-click-paste': function(v) {\n terminal.mouseRightClickPaste = v;\n },\n\n 'mouse-paste-button': function(v) {\n terminal.syncMousePasteButton();\n },\n\n 'page-keys-scroll': function(v) {\n terminal.keyboard.pageKeysScroll = v;\n },\n\n 'pass-alt-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Alt-1..9 pass to the browser (to control tab switching) on\n // non-OS X systems, or if hterm is not opened in an app window.\n v = (!osx && hterm.windowType != 'popup');\n }\n\n terminal.passAltNumber = v;\n },\n\n 'pass-ctrl-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Ctrl-1..9 pass to the browser (to control tab switching) on\n // non-OS X systems, or if hterm is not opened in an app window.\n v = (!osx && hterm.windowType != 'popup');\n }\n\n terminal.passCtrlNumber = v;\n },\n\n 'pass-meta-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Meta-1..9 pass to the browser (to control tab switching) on\n // OS X systems, or if hterm is not opened in an app window.\n v = (osx && hterm.windowType != 'popup');\n }\n\n terminal.passMetaNumber = v;\n },\n\n 'pass-meta-v': function(v) {\n terminal.keyboard.passMetaV = v;\n },\n\n 'receive-encoding': function(v) {\n if (!(/^(utf-8|raw)$/).test(v)) {\n console.warn('Invalid value for \"receive-encoding\": ' + v);\n v = 'utf-8';\n }\n\n terminal.vt.characterEncoding = v;\n },\n\n 'scroll-on-keystroke': function(v) {\n terminal.scrollOnKeystroke_ = v;\n },\n\n 'scroll-on-output': function(v) {\n terminal.scrollOnOutput_ = v;\n },\n\n 'scrollbar-visible': function(v) {\n terminal.setScrollbarVisible(v);\n },\n\n 'scroll-wheel-may-send-arrow-keys': function(v) {\n terminal.scrollWheelArrowKeys_ = v;\n },\n\n 'scroll-wheel-move-multiplier': function(v) {\n terminal.setScrollWheelMoveMultipler(v);\n },\n\n 'send-encoding': function(v) {\n if (!(/^(utf-8|raw)$/).test(v)) {\n console.warn('Invalid value for \"send-encoding\": ' + v);\n v = 'utf-8';\n }\n\n terminal.keyboard.characterEncoding = v;\n },\n\n 'shift-insert-paste': function(v) {\n terminal.keyboard.shiftInsertPaste = v;\n },\n\n 'terminal-encoding': function(v) {\n terminal.vt.setEncoding(v);\n },\n\n 'user-css': function(v) {\n terminal.scrollPort_.setUserCssUrl(v);\n },\n\n 'user-css-text': function(v) {\n terminal.scrollPort_.setUserCssText(v);\n },\n\n 'word-break-match-left': function(v) {\n terminal.primaryScreen_.wordBreakMatchLeft = v;\n terminal.alternateScreen_.wordBreakMatchLeft = v;\n },\n\n 'word-break-match-right': function(v) {\n terminal.primaryScreen_.wordBreakMatchRight = v;\n terminal.alternateScreen_.wordBreakMatchRight = v;\n },\n\n 'word-break-match-middle': function(v) {\n terminal.primaryScreen_.wordBreakMatchMiddle = v;\n terminal.alternateScreen_.wordBreakMatchMiddle = v;\n },\n });\n\n this.prefs_.readStorage(function() {\n this.prefs_.notifyAll();\n\n if (opt_callback)\n opt_callback();\n }.bind(this));\n};\n\n\n/**\n * Returns the preferences manager used for configuring this terminal.\n *\n * @return {hterm.PreferenceManager}\n */\nhterm.Terminal.prototype.getPrefs = function() {\n return this.prefs_;\n};\n\n/**\n * Enable or disable bracketed paste mode.\n *\n * @param {boolean} state The value to set.\n */\nhterm.Terminal.prototype.setBracketedPaste = function(state) {\n this.options_.bracketedPaste = state;\n};\n\n/**\n * Set the color for the cursor.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setCursorColor = function(color) {\n this.cursorColor_ = color;\n this.cursorNode_.style.backgroundColor = color;\n this.cursorNode_.style.borderColor = color;\n};\n\n/**\n * Return the current cursor color as a string.\n * @return {string}\n */\nhterm.Terminal.prototype.getCursorColor = function() {\n return this.cursorColor_;\n};\n\n/**\n * Enable or disable mouse based text selection in the terminal.\n *\n * @param {boolean} state The value to set.\n */\nhterm.Terminal.prototype.setSelectionEnabled = function(state) {\n this.enableMouseDragScroll = state;\n};\n\n/**\n * Set the background color.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setBackgroundColor = function(color) {\n this.backgroundColor_ = lib.colors.normalizeCSS(color);\n this.primaryScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.alternateScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.scrollPort_.setBackgroundColor(color);\n};\n\n/**\n * Return the current terminal background color.\n *\n * Intended for use by other classes, so we don't have to expose the entire\n * prefs_ object.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getBackgroundColor = function() {\n return this.backgroundColor_;\n};\n\n/**\n * Set the foreground color.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setForegroundColor = function(color) {\n this.foregroundColor_ = lib.colors.normalizeCSS(color);\n this.primaryScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.alternateScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.scrollPort_.setForegroundColor(color);\n};\n\n/**\n * Return the current terminal foreground color.\n *\n * Intended for use by other classes, so we don't have to expose the entire\n * prefs_ object.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getForegroundColor = function() {\n return this.foregroundColor_;\n};\n\n/**\n * Create a new instance of a terminal command and run it with a given\n * argument string.\n *\n * @param {function} commandClass The constructor for a terminal command.\n * @param {string} argString The argument string to pass to the command.\n */\nhterm.Terminal.prototype.runCommandClass = function(commandClass, argString) {\n var environment = this.prefs_.get('environment');\n if (typeof environment != 'object' || environment == null)\n environment = {};\n\n var self = this;\n this.command = new commandClass(\n { argString: argString || '',\n io: this.io.push(),\n environment: environment,\n onExit: function(code) {\n self.io.pop();\n self.uninstallKeyboard();\n if (self.prefs_.get('close-on-exit'))\n window.close();\n }\n });\n\n this.installKeyboard();\n this.command.run();\n};\n\n/**\n * Returns true if the current screen is the primary screen, false otherwise.\n *\n * @return {boolean}\n */\nhterm.Terminal.prototype.isPrimaryScreen = function() {\n return this.screen_ == this.primaryScreen_;\n};\n\n/**\n * Install the keyboard handler for this terminal.\n *\n * This will prevent the browser from seeing any keystrokes sent to the\n * terminal.\n */\nhterm.Terminal.prototype.installKeyboard = function() {\n this.keyboard.installKeyboard(this.scrollPort_.getDocument().body);\n}\n\n/**\n * Uninstall the keyboard handler for this terminal.\n */\nhterm.Terminal.prototype.uninstallKeyboard = function() {\n this.keyboard.installKeyboard(null);\n}\n\n/**\n * Set a CSS variable.\n *\n * Normally this is used to set variables in the hterm namespace.\n *\n * @param {string} name The variable to set.\n * @param {string} value The value to assign to the variable.\n * @param {string?} opt_prefix The variable namespace/prefix to use.\n */\nhterm.Terminal.prototype.setCssVar = function(name, value,\n opt_prefix='--hterm-') {\n this.document_.documentElement.style.setProperty(\n `${opt_prefix}${name}`, value);\n};\n\n/**\n * Set the font size for this terminal.\n *\n * Call setFontSize(0) to reset to the default font size.\n *\n * This function does not modify the font-size preference.\n *\n * @param {number} px The desired font size, in pixels.\n */\nhterm.Terminal.prototype.setFontSize = function(px) {\n if (px === 0)\n px = this.prefs_.get('font-size');\n\n this.scrollPort_.setFontSize(px);\n this.setCssVar('charsize-width', this.scrollPort_.characterSize.width + 'px');\n this.setCssVar('charsize-height',\n this.scrollPort_.characterSize.height + 'px');\n};\n\n/**\n * Get the current font size.\n *\n * @return {number}\n */\nhterm.Terminal.prototype.getFontSize = function() {\n return this.scrollPort_.getFontSize();\n};\n\n/**\n * Get the current font family.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getFontFamily = function() {\n return this.scrollPort_.getFontFamily();\n};\n\n/**\n * Set the CSS \"font-family\" for this terminal.\n */\nhterm.Terminal.prototype.syncFontFamily = function() {\n this.scrollPort_.setFontFamily(this.prefs_.get('font-family'),\n this.prefs_.get('font-smoothing'));\n this.syncBoldSafeState();\n};\n\n/**\n * Set this.mousePasteButton based on the mouse-paste-button pref,\n * autodetecting if necessary.\n */\nhterm.Terminal.prototype.syncMousePasteButton = function() {\n var button = this.prefs_.get('mouse-paste-button');\n if (typeof button == 'number') {\n this.mousePasteButton = button;\n return;\n }\n\n var ary = navigator.userAgent.match(/\\(X11;\\s+(\\S+)/);\n if (!ary || ary[1] == 'CrOS') {\n this.mousePasteButton = 1; // Middle mouse button.\n } else {\n this.mousePasteButton = 2; // Right mouse button.\n }\n};\n\n/**\n * Enable or disable bold based on the enable-bold pref, autodetecting if\n * necessary.\n */\nhterm.Terminal.prototype.syncBoldSafeState = function() {\n var enableBold = this.prefs_.get('enable-bold');\n if (enableBold !== null) {\n this.primaryScreen_.textAttributes.enableBold = enableBold;\n this.alternateScreen_.textAttributes.enableBold = enableBold;\n return;\n }\n\n var normalSize = this.scrollPort_.measureCharacterSize();\n var boldSize = this.scrollPort_.measureCharacterSize('bold');\n\n var isBoldSafe = normalSize.equals(boldSize);\n if (!isBoldSafe) {\n console.warn('Bold characters disabled: Size of bold weight differs ' +\n 'from normal. Font family is: ' +\n this.scrollPort_.getFontFamily());\n }\n\n this.primaryScreen_.textAttributes.enableBold = isBoldSafe;\n this.alternateScreen_.textAttributes.enableBold = isBoldSafe;\n};\n\n/**\n * Enable or disable blink based on the enable-blink pref.\n */\nhterm.Terminal.prototype.syncBlinkState = function() {\n this.setCssVar('node-duration',\n this.prefs_.get('enable-blink') ? '0.7s' : '0');\n};\n\n/**\n * Set the mouse cursor style based on the current terminal mode.\n */\nhterm.Terminal.prototype.syncMouseStyle = function() {\n this.setCssVar('mouse-cursor-style',\n this.vt.mouseReport == this.vt.MOUSE_REPORT_DISABLED ?\n 'var(--hterm-mouse-cursor-text)' :\n 'var(--hterm-mouse-cursor-pointer)');\n};\n\n/**\n * Return a copy of the current cursor position.\n *\n * @return {hterm.RowCol} The RowCol object representing the current position.\n */\nhterm.Terminal.prototype.saveCursor = function() {\n return this.screen_.cursorPosition.clone();\n};\n\n/**\n * Return the current text attributes.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getTextAttributes = function() {\n return this.screen_.textAttributes;\n};\n\n/**\n * Set the text attributes.\n *\n * @param {string} textAttributes The attributes to set.\n */\nhterm.Terminal.prototype.setTextAttributes = function(textAttributes) {\n this.screen_.textAttributes = textAttributes;\n};\n\n/**\n * Return the current browser zoom factor applied to the terminal.\n *\n * @return {number} The current browser zoom factor.\n */\nhterm.Terminal.prototype.getZoomFactor = function() {\n return this.scrollPort_.characterSize.zoomFactor;\n};\n\n/**\n * Change the title of this terminal's window.\n *\n * @param {string} title The title to set.\n */\nhterm.Terminal.prototype.setWindowTitle = function(title) {\n window.document.title = title;\n};\n\n/**\n * Restore a previously saved cursor position.\n *\n * @param {hterm.RowCol} cursor The position to restore.\n */\nhterm.Terminal.prototype.restoreCursor = function(cursor) {\n var row = lib.f.clamp(cursor.row, 0, this.screenSize.height - 1);\n var column = lib.f.clamp(cursor.column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n if (cursor.column > column ||\n cursor.column == column && cursor.overflow) {\n this.screen_.cursorPosition.overflow = true;\n }\n};\n\n/**\n * Clear the cursor's overflow flag.\n */\nhterm.Terminal.prototype.clearCursorOverflow = function() {\n this.screen_.cursorPosition.overflow = false;\n};\n\n/**\n * Sets the cursor shape\n *\n * @param {string} shape The shape to set.\n */\nhterm.Terminal.prototype.setCursorShape = function(shape) {\n this.cursorShape_ = shape;\n this.restyleCursor_();\n}\n\n/**\n * Get the cursor shape\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getCursorShape = function() {\n return this.cursorShape_;\n}\n\n/**\n * Set the width of the terminal, resizing the UI to match.\n *\n * @param {number} columnCount\n */\nhterm.Terminal.prototype.setWidth = function(columnCount) {\n if (columnCount == null) {\n this.div_.style.width = '100%';\n return;\n }\n\n this.div_.style.width = Math.ceil(\n this.scrollPort_.characterSize.width *\n columnCount + this.scrollPort_.currentScrollbarWidthPx) + 'px';\n this.realizeSize_(columnCount, this.screenSize.height);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Set the height of the terminal, resizing the UI to match.\n *\n * @param {number} rowCount The height in rows.\n */\nhterm.Terminal.prototype.setHeight = function(rowCount) {\n if (rowCount == null) {\n this.div_.style.height = '100%';\n return;\n }\n\n this.div_.style.height =\n this.scrollPort_.characterSize.height * rowCount + 'px';\n this.realizeSize_(this.screenSize.width, rowCount);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Deal with terminal size changes.\n *\n * @param {number} columnCount The number of columns.\n * @param {number} rowCount The number of rows.\n */\nhterm.Terminal.prototype.realizeSize_ = function(columnCount, rowCount) {\n if (columnCount != this.screenSize.width)\n this.realizeWidth_(columnCount);\n\n if (rowCount != this.screenSize.height)\n this.realizeHeight_(rowCount);\n\n // Send new terminal size to plugin.\n this.io.onTerminalResize_(columnCount, rowCount);\n};\n\n/**\n * Deal with terminal width changes.\n *\n * This function does what needs to be done when the terminal width changes\n * out from under us. It happens here rather than in onResize_() because this\n * code may need to run synchronously to handle programmatic changes of\n * terminal width.\n *\n * Relying on the browser to send us an async resize event means we may not be\n * in the correct state yet when the next escape sequence hits.\n *\n * @param {number} columnCount The number of columns.\n */\nhterm.Terminal.prototype.realizeWidth_ = function(columnCount) {\n if (columnCount <= 0)\n throw new Error('Attempt to realize bad width: ' + columnCount);\n\n var deltaColumns = columnCount - this.screen_.getWidth();\n\n this.screenSize.width = columnCount;\n this.screen_.setColumnCount(columnCount);\n\n if (deltaColumns > 0) {\n if (this.defaultTabStops)\n this.setDefaultTabStops(this.screenSize.width - deltaColumns);\n } else {\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] < columnCount)\n break;\n\n this.tabStops_.pop();\n }\n }\n\n this.screen_.setColumnCount(this.screenSize.width);\n};\n\n/**\n * Deal with terminal height changes.\n *\n * This function does what needs to be done when the terminal height changes\n * out from under us. It happens here rather than in onResize_() because this\n * code may need to run synchronously to handle programmatic changes of\n * terminal height.\n *\n * Relying on the browser to send us an async resize event means we may not be\n * in the correct state yet when the next escape sequence hits.\n *\n * @param {number} rowCount The number of rows.\n */\nhterm.Terminal.prototype.realizeHeight_ = function(rowCount) {\n if (rowCount <= 0)\n throw new Error('Attempt to realize bad height: ' + rowCount);\n\n var deltaRows = rowCount - this.screen_.getHeight();\n\n this.screenSize.height = rowCount;\n\n var cursor = this.saveCursor();\n\n if (deltaRows < 0) {\n // Screen got smaller.\n deltaRows *= -1;\n while (deltaRows) {\n var lastRow = this.getRowCount() - 1;\n if (lastRow - this.scrollbackRows_.length == cursor.row)\n break;\n\n if (this.getRowText(lastRow))\n break;\n\n this.screen_.popRow();\n deltaRows--;\n }\n\n var ary = this.screen_.shiftRows(deltaRows);\n this.scrollbackRows_.push.apply(this.scrollbackRows_, ary);\n\n // We just removed rows from the top of the screen, we need to update\n // the cursor to match.\n cursor.row = Math.max(cursor.row - deltaRows, 0);\n } else if (deltaRows > 0) {\n // Screen got larger.\n\n if (deltaRows <= this.scrollbackRows_.length) {\n var scrollbackCount = Math.min(deltaRows, this.scrollbackRows_.length);\n var rows = this.scrollbackRows_.splice(\n this.scrollbackRows_.length - scrollbackCount, scrollbackCount);\n this.screen_.unshiftRows(rows);\n deltaRows -= scrollbackCount;\n cursor.row += scrollbackCount;\n }\n\n if (deltaRows)\n this.appendRows_(deltaRows);\n }\n\n this.setVTScrollRegion(null, null);\n this.restoreCursor(cursor);\n};\n\n/**\n * Scroll the terminal to the top of the scrollback buffer.\n */\nhterm.Terminal.prototype.scrollHome = function() {\n this.scrollPort_.scrollRowToTop(0);\n};\n\n/**\n * Scroll the terminal to the end.\n */\nhterm.Terminal.prototype.scrollEnd = function() {\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n};\n\n/**\n * Scroll the terminal one page up (minus one line) relative to the current\n * position.\n */\nhterm.Terminal.prototype.scrollPageUp = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i - this.screenSize.height + 1);\n};\n\n/**\n * Scroll the terminal one page down (minus one line) relative to the current\n * position.\n */\nhterm.Terminal.prototype.scrollPageDown = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i + this.screenSize.height - 1);\n};\n\n/**\n * Scroll the terminal one line up relative to the current position.\n */\nhterm.Terminal.prototype.scrollLineUp = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i - 1);\n};\n\n/**\n * Scroll the terminal one line down relative to the current position.\n */\nhterm.Terminal.prototype.scrollLineDown = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i + 1);\n};\n\n/**\n * Clear primary screen, secondary screen, and the scrollback buffer.\n */\nhterm.Terminal.prototype.wipeContents = function() {\n this.scrollbackRows_.length = 0;\n this.scrollPort_.resetCache();\n\n [this.primaryScreen_, this.alternateScreen_].forEach(function(screen) {\n var bottom = screen.getHeight();\n if (bottom > 0) {\n this.renumberRows_(0, bottom);\n this.clearHome(screen);\n }\n }.bind(this));\n\n this.syncCursorPosition_();\n this.scrollPort_.invalidate();\n};\n\n/**\n * Full terminal reset.\n */\nhterm.Terminal.prototype.reset = function() {\n this.clearAllTabStops();\n this.setDefaultTabStops();\n\n this.clearHome(this.primaryScreen_);\n this.primaryScreen_.textAttributes.reset();\n\n this.clearHome(this.alternateScreen_);\n this.alternateScreen_.textAttributes.reset();\n\n this.setCursorBlink(!!this.prefs_.get('cursor-blink'));\n\n this.vt.reset();\n\n this.softReset();\n};\n\n/**\n * Soft terminal reset.\n *\n * Perform a soft reset to the default values listed in\n * http://www.vt100.net/docs/vt510-rm/DECSTR#T5-9\n */\nhterm.Terminal.prototype.softReset = function() {\n // Reset terminal options to their default values.\n this.options_ = new hterm.Options();\n\n // We show the cursor on soft reset but do not alter the blink state.\n this.options_.cursorBlink = !!this.timeouts_.cursorBlink;\n\n // Xterm also resets the color palette on soft reset, even though it doesn't\n // seem to be documented anywhere.\n this.primaryScreen_.textAttributes.resetColorPalette();\n this.alternateScreen_.textAttributes.resetColorPalette();\n\n // The xterm man page explicitly says this will happen on soft reset.\n this.setVTScrollRegion(null, null);\n\n // Xterm also shows the cursor on soft reset, but does not alter the blink\n // state.\n this.setCursorVisible(true);\n};\n\n/**\n * Move the cursor forward to the next tab stop, or to the last column\n * if no more tab stops are set.\n */\nhterm.Terminal.prototype.forwardTabStop = function() {\n var column = this.screen_.cursorPosition.column;\n\n for (var i = 0; i < this.tabStops_.length; i++) {\n if (this.tabStops_[i] > column) {\n this.setCursorColumn(this.tabStops_[i]);\n return;\n }\n }\n\n // xterm does not clear the overflow flag on HT or CHT.\n var overflow = this.screen_.cursorPosition.overflow;\n this.setCursorColumn(this.screenSize.width - 1);\n this.screen_.cursorPosition.overflow = overflow;\n};\n\n/**\n * Move the cursor backward to the previous tab stop, or to the first column\n * if no previous tab stops are set.\n */\nhterm.Terminal.prototype.backwardTabStop = function() {\n var column = this.screen_.cursorPosition.column;\n\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] < column) {\n this.setCursorColumn(this.tabStops_[i]);\n return;\n }\n }\n\n this.setCursorColumn(1);\n};\n\n/**\n * Set a tab stop at the given column.\n *\n * @param {integer} column Zero based column.\n */\nhterm.Terminal.prototype.setTabStop = function(column) {\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] == column)\n return;\n\n if (this.tabStops_[i] < column) {\n this.tabStops_.splice(i + 1, 0, column);\n return;\n }\n }\n\n this.tabStops_.splice(0, 0, column);\n};\n\n/**\n * Clear the tab stop at the current cursor position.\n *\n * No effect if there is no tab stop at the current cursor position.\n */\nhterm.Terminal.prototype.clearTabStopAtCursor = function() {\n var column = this.screen_.cursorPosition.column;\n\n var i = this.tabStops_.indexOf(column);\n if (i == -1)\n return;\n\n this.tabStops_.splice(i, 1);\n};\n\n/**\n * Clear all tab stops.\n */\nhterm.Terminal.prototype.clearAllTabStops = function() {\n this.tabStops_.length = 0;\n this.defaultTabStops = false;\n};\n\n/**\n * Set up the default tab stops, starting from a given column.\n *\n * This sets a tabstop every (column % this.tabWidth) column, starting\n * from the specified column, or 0 if no column is provided. It also flags\n * future resizes to set them up.\n *\n * This does not clear the existing tab stops first, use clearAllTabStops\n * for that.\n *\n * @param {integer} opt_start Optional starting zero based starting column, useful\n * for filling out missing tab stops when the terminal is resized.\n */\nhterm.Terminal.prototype.setDefaultTabStops = function(opt_start) {\n var start = opt_start || 0;\n var w = this.tabWidth;\n // Round start up to a default tab stop.\n start = start - 1 - ((start - 1) % w) + w;\n for (var i = start; i < this.screenSize.width; i += w) {\n this.setTabStop(i);\n }\n\n this.defaultTabStops = true;\n};\n\n/**\n * Interpret a sequence of characters.\n *\n * Incomplete escape sequences are buffered until the next call.\n *\n * @param {string} str Sequence of characters to interpret or pass through.\n */\nhterm.Terminal.prototype.interpret = function(str) {\n this.vt.interpret(str);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Take over the given DIV for use as the terminal display.\n *\n * @param {HTMLDivElement} div The div to use as the terminal display.\n */\nhterm.Terminal.prototype.decorate = function(div) {\n this.div_ = div;\n\n this.scrollPort_.decorate(div);\n this.scrollPort_.setBackgroundImage(this.prefs_.get('background-image'));\n this.scrollPort_.setBackgroundSize(this.prefs_.get('background-size'));\n this.scrollPort_.setBackgroundPosition(\n this.prefs_.get('background-position'));\n this.scrollPort_.setUserCssUrl(this.prefs_.get('user-css'));\n this.scrollPort_.setUserCssText(this.prefs_.get('user-css-text'));\n\n this.div_.focus = this.focus.bind(this);\n\n this.setFontSize(this.prefs_.get('font-size'));\n this.syncFontFamily();\n\n this.setScrollbarVisible(this.prefs_.get('scrollbar-visible'));\n this.setScrollWheelMoveMultipler(\n this.prefs_.get('scroll-wheel-move-multiplier'));\n\n this.document_ = this.scrollPort_.getDocument();\n\n this.document_.body.oncontextmenu = function() { return false; };\n\n var onMouse = this.onMouse_.bind(this);\n var screenNode = this.scrollPort_.getScreenNode();\n screenNode.addEventListener('mousedown', onMouse);\n screenNode.addEventListener('mouseup', onMouse);\n screenNode.addEventListener('mousemove', onMouse);\n this.scrollPort_.onScrollWheel = onMouse;\n\n screenNode.addEventListener(\n 'focus', this.onFocusChange_.bind(this, true));\n // Listen for mousedown events on the screenNode as in FF the focus\n // events don't bubble.\n screenNode.addEventListener('mousedown', function() {\n setTimeout(this.onFocusChange_.bind(this, true));\n }.bind(this));\n\n screenNode.addEventListener(\n 'blur', this.onFocusChange_.bind(this, false));\n\n var style = this.document_.createElement('style');\n style.textContent =\n ('.cursor-node[focus=\"false\"] {' +\n ' box-sizing: border-box;' +\n ' background-color: transparent !important;' +\n ' border-width: 2px;' +\n ' border-style: solid;' +\n '}' +\n '.wc-node {' +\n ' display: inline-block;' +\n ' text-align: center;' +\n ' width: calc(var(--hterm-charsize-width) * 2);' +\n ' line-height: var(--hterm-charsize-height);' +\n '}' +\n ':root {' +\n ' --hterm-charsize-width: ' + this.scrollPort_.characterSize.width + 'px;' +\n ' --hterm-charsize-height: ' + this.scrollPort_.characterSize.height + 'px;' +\n ' --hterm-cursor-offset-col: 0;' +\n ' --hterm-cursor-offset-row: 0;' +\n ' --hterm-blink-node-duration: 0.7s;' +\n ' --hterm-mouse-cursor-text: text;' +\n ' --hterm-mouse-cursor-pointer: default;' +\n ' --hterm-mouse-cursor-style: var(--hterm-mouse-cursor-text);' +\n '}' +\n '@keyframes blink {' +\n ' from { opacity: 1.0; }' +\n ' to { opacity: 0.0; }' +\n '}' +\n '.blink-node {' +\n ' animation-name: blink;' +\n ' animation-duration: var(--hterm-blink-node-duration);' +\n ' animation-iteration-count: infinite;' +\n ' animation-timing-function: ease-in-out;' +\n ' animation-direction: alternate;' +\n '}');\n this.document_.head.appendChild(style);\n\n this.cursorNode_ = this.document_.createElement('div');\n this.cursorNode_.id = 'hterm:terminal-cursor';\n this.cursorNode_.className = 'cursor-node';\n this.cursorNode_.style.cssText =\n ('position: absolute;' +\n 'left: calc(var(--hterm-charsize-width) * var(--hterm-cursor-offset-col));' +\n 'top: calc(var(--hterm-charsize-height) * var(--hterm-cursor-offset-row));' +\n 'display: block;' +\n 'width: var(--hterm-charsize-width);' +\n 'height: var(--hterm-charsize-height);' +\n '-webkit-transition: opacity, background-color 100ms linear;' +\n '-moz-transition: opacity, background-color 100ms linear;');\n\n this.setCursorColor(this.prefs_.get('cursor-color'));\n this.setCursorBlink(!!this.prefs_.get('cursor-blink'));\n this.restyleCursor_();\n\n this.document_.body.appendChild(this.cursorNode_);\n\n // When 'enableMouseDragScroll' is off we reposition this element directly\n // under the mouse cursor after a click. This makes Chrome associate\n // subsequent mousemove events with the scroll-blocker. Since the\n // scroll-blocker is a peer (not a child) of the scrollport, the mousemove\n // events do not cause the scrollport to scroll.\n //\n // It's a hack, but it's the cleanest way I could find.\n this.scrollBlockerNode_ = this.document_.createElement('div');\n this.scrollBlockerNode_.id = 'hterm:mouse-drag-scroll-blocker';\n this.scrollBlockerNode_.style.cssText =\n ('position: absolute;' +\n 'top: -99px;' +\n 'display: block;' +\n 'width: 10px;' +\n 'height: 10px;');\n this.document_.body.appendChild(this.scrollBlockerNode_);\n\n this.scrollPort_.onScrollWheel = onMouse;\n ['mousedown', 'mouseup', 'mousemove', 'click', 'dblclick',\n ].forEach(function(event) {\n this.scrollBlockerNode_.addEventListener(event, onMouse);\n this.cursorNode_.addEventListener(event, onMouse);\n this.document_.addEventListener(event, onMouse);\n }.bind(this));\n\n this.cursorNode_.addEventListener('mousedown', function() {\n setTimeout(this.focus.bind(this));\n }.bind(this));\n\n this.setReverseVideo(false);\n\n this.scrollPort_.focus();\n this.scrollPort_.scheduleRedraw();\n};\n\n/**\n * Return the HTML document that contains the terminal DOM nodes.\n *\n * @return {HTMLDocument}\n */\nhterm.Terminal.prototype.getDocument = function() {\n return this.document_;\n};\n\n/**\n * Focus the terminal.\n */\nhterm.Terminal.prototype.focus = function() {\n this.scrollPort_.focus();\n};\n\n/**\n * Return the HTML Element for a given row index.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch rows on demand as they are scrolled into view.\n *\n * TODO(rginda): Consider saving scrollback rows as (HTML source, text content)\n * pairs to conserve memory.\n *\n * @param {integer} index The zero-based row index, measured relative to the\n * start of the scrollback buffer. On-screen rows will always have the\n * largest indices.\n * @return {HTMLElement} The 'x-row' element containing for the requested row.\n */\nhterm.Terminal.prototype.getRowNode = function(index) {\n if (index < this.scrollbackRows_.length)\n return this.scrollbackRows_[index];\n\n var screenIndex = index - this.scrollbackRows_.length;\n return this.screen_.rowsArray[screenIndex];\n};\n\n/**\n * Return the text content for a given range of rows.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch text content on demand when the user attempts to copy their\n * selection to the clipboard.\n *\n * @param {integer} start The zero-based row index to start from, measured\n * relative to the start of the scrollback buffer. On-screen rows will\n * always have the largest indices.\n * @param {integer} end The zero-based row index to end on, measured\n * relative to the start of the scrollback buffer.\n * @return {string} A single string containing the text value of the range of\n * rows. Lines will be newline delimited, with no trailing newline.\n */\nhterm.Terminal.prototype.getRowsText = function(start, end) {\n var ary = [];\n for (var i = start; i < end; i++) {\n var node = this.getRowNode(i);\n ary.push(node.textContent);\n if (i < end - 1 && !node.getAttribute('line-overflow'))\n ary.push('\\n');\n }\n\n return ary.join('');\n};\n\n/**\n * Return the text content for a given row.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch text content on demand when the user attempts to copy their\n * selection to the clipboard.\n *\n * @param {integer} index The zero-based row index to return, measured\n * relative to the start of the scrollback buffer. On-screen rows will\n * always have the largest indices.\n * @return {string} A string containing the text value of the selected row.\n */\nhterm.Terminal.prototype.getRowText = function(index) {\n var node = this.getRowNode(index);\n return node.textContent;\n};\n\n/**\n * Return the total number of rows in the addressable screen and in the\n * scrollback buffer of this terminal.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to compute the size of the scrollbar.\n *\n * @return {integer} The number of rows in this terminal.\n */\nhterm.Terminal.prototype.getRowCount = function() {\n return this.scrollbackRows_.length + this.screen_.rowsArray.length;\n};\n\n/**\n * Create DOM nodes for new rows and append them to the end of the terminal.\n *\n * This is the only correct way to add a new DOM node for a row. Notice that\n * the new row is appended to the bottom of the list of rows, and does not\n * require renumbering (of the rowIndex property) of previous rows.\n *\n * If you think you want a new blank row somewhere in the middle of the\n * terminal, look into moveRows_().\n *\n * This method does not pay attention to vtScrollTop/Bottom, since you should\n * be using moveRows() in cases where they would matter.\n *\n * The cursor will be positioned at column 0 of the first inserted line.\n *\n * @param {number} count The number of rows to created.\n */\nhterm.Terminal.prototype.appendRows_ = function(count) {\n var cursorRow = this.screen_.rowsArray.length;\n var offset = this.scrollbackRows_.length + cursorRow;\n for (var i = 0; i < count; i++) {\n var row = this.document_.createElement('x-row');\n row.appendChild(this.document_.createTextNode(''));\n row.rowIndex = offset + i;\n this.screen_.pushRow(row);\n }\n\n var extraRows = this.screen_.rowsArray.length - this.screenSize.height;\n if (extraRows > 0) {\n var ary = this.screen_.shiftRows(extraRows);\n Array.prototype.push.apply(this.scrollbackRows_, ary);\n if (this.scrollPort_.isScrolledEnd)\n this.scheduleScrollDown_();\n }\n\n if (cursorRow >= this.screen_.rowsArray.length)\n cursorRow = this.screen_.rowsArray.length - 1;\n\n this.setAbsoluteCursorPosition(cursorRow, 0);\n};\n\n/**\n * Relocate rows from one part of the addressable screen to another.\n *\n * This is used to recycle rows during VT scrolls (those which are driven\n * by VT commands, rather than by the user manipulating the scrollbar.)\n *\n * In this case, the blank lines scrolled into the scroll region are made of\n * the nodes we scrolled off. These have their rowIndex properties carefully\n * renumbered so as not to confuse the ScrollPort.\n *\n * @param {number} fromIndex The start index.\n * @param {number} count The number of rows to move.\n * @param {number} toIndex The destination index.\n */\nhterm.Terminal.prototype.moveRows_ = function(fromIndex, count, toIndex) {\n var ary = this.screen_.removeRows(fromIndex, count);\n this.screen_.insertRows(toIndex, ary);\n\n var start, end;\n if (fromIndex < toIndex) {\n start = fromIndex;\n end = toIndex + count;\n } else {\n start = toIndex;\n end = fromIndex + count;\n }\n\n this.renumberRows_(start, end);\n this.scrollPort_.scheduleInvalidate();\n};\n\n/**\n * Renumber the rowIndex property of the given range of rows.\n *\n * The start and end indices are relative to the screen, not the scrollback.\n * Rows in the scrollback buffer cannot be renumbered. Since they are not\n * addressable (you can't delete them, scroll them, etc), you should have\n * no need to renumber scrollback rows.\n *\n * @param {number} start The start index.\n * @param {number} end The end index.\n * @param {hterm.Screen} opt_screen The screen to renumber.\n */\nhterm.Terminal.prototype.renumberRows_ = function(start, end, opt_screen) {\n var screen = opt_screen || this.screen_;\n\n var offset = this.scrollbackRows_.length;\n for (var i = start; i < end; i++) {\n screen.rowsArray[i].rowIndex = offset + i;\n }\n};\n\n/**\n * Print a string to the terminal.\n *\n * This respects the current insert and wraparound modes. It will add new lines\n * to the end of the terminal, scrolling off the top into the scrollback buffer\n * if necessary.\n *\n * The string is *not* parsed for escape codes. Use the interpret() method if\n * that's what you're after.\n *\n * @param{string} str The string to print.\n */\nhterm.Terminal.prototype.print = function(str) {\n var startOffset = 0;\n\n var strWidth = lib.wc.strWidth(str);\n\n while (startOffset < strWidth) {\n if (this.options_.wraparound && this.screen_.cursorPosition.overflow) {\n this.screen_.commitLineOverflow();\n this.newLine();\n }\n\n var count = strWidth - startOffset;\n var didOverflow = false;\n var substr;\n\n if (this.screen_.cursorPosition.column + count >= this.screenSize.width) {\n didOverflow = true;\n count = this.screenSize.width - this.screen_.cursorPosition.column;\n }\n\n if (didOverflow && !this.options_.wraparound) {\n // If the string overflowed the line but wraparound is off, then the\n // last printed character should be the last of the string.\n // TODO: This will add to our problems with multibyte UTF-16 characters.\n substr = lib.wc.substr(str, startOffset, count - 1) +\n lib.wc.substr(str, strWidth - 1);\n count = strWidth;\n } else {\n substr = lib.wc.substr(str, startOffset, count);\n }\n\n var tokens = hterm.TextAttributes.splitWidecharString(substr);\n for (var i = 0; i < tokens.length; i++) {\n this.screen_.textAttributes.wcNode = tokens[i].wcNode;\n this.screen_.textAttributes.asciiNode = tokens[i].asciiNode;\n\n if (this.options_.insertMode) {\n this.screen_.insertString(tokens[i].str);\n } else {\n this.screen_.overwriteString(tokens[i].str);\n }\n this.screen_.textAttributes.wcNode = false;\n this.screen_.textAttributes.asciiNode = true;\n }\n\n this.screen_.maybeClipCurrentRow();\n startOffset += count;\n }\n\n this.scheduleSyncCursorPosition_();\n\n if (this.scrollOnOutput_)\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n};\n\n/**\n * Set the VT scroll region.\n *\n * This also resets the cursor position to the absolute (0, 0) position, since\n * that's what xterm appears to do.\n *\n * Setting the scroll region to the full height of the terminal will clear\n * the scroll region. This is *NOT* what most terminals do. We're explicitly\n * going \"off-spec\" here because it makes `screen` and `tmux` overflow into the\n * local scrollback buffer, which means the scrollbars and shift-pgup/pgdn\n * continue to work as most users would expect.\n *\n * @param {integer} scrollTop The zero-based top of the scroll region.\n * @param {integer} scrollBottom The zero-based bottom of the scroll region,\n * inclusive.\n */\nhterm.Terminal.prototype.setVTScrollRegion = function(scrollTop, scrollBottom) {\n if (scrollTop == 0 && scrollBottom == this.screenSize.height - 1) {\n this.vtScrollTop_ = null;\n this.vtScrollBottom_ = null;\n } else {\n this.vtScrollTop_ = scrollTop;\n this.vtScrollBottom_ = scrollBottom;\n }\n};\n\n/**\n * Return the top row index according to the VT.\n *\n * This will return 0 unless the terminal has been told to restrict scrolling\n * to some lower row. It is used for some VT cursor positioning and scrolling\n * commands.\n *\n * @return {integer} The topmost row in the terminal's scroll region.\n */\nhterm.Terminal.prototype.getVTScrollTop = function() {\n if (this.vtScrollTop_ != null)\n return this.vtScrollTop_;\n\n return 0;\n};\n\n/**\n * Return the bottom row index according to the VT.\n *\n * This will return the height of the terminal unless the it has been told to\n * restrict scrolling to some higher row. It is used for some VT cursor\n * positioning and scrolling commands.\n *\n * @return {integer} The bottom most row in the terminal's scroll region.\n */\nhterm.Terminal.prototype.getVTScrollBottom = function() {\n if (this.vtScrollBottom_ != null)\n return this.vtScrollBottom_;\n\n return this.screenSize.height - 1;\n}\n\n/**\n * Process a '\\n' character.\n *\n * If the cursor is on the final row of the terminal this will append a new\n * blank row to the screen and scroll the topmost row into the scrollback\n * buffer.\n *\n * Otherwise, this moves the cursor to column zero of the next row.\n */\nhterm.Terminal.prototype.newLine = function() {\n var cursorAtEndOfScreen = (this.screen_.cursorPosition.row ==\n this.screen_.rowsArray.length - 1);\n\n if (this.vtScrollBottom_ != null) {\n // A VT Scroll region is active, we never append new rows.\n if (this.screen_.cursorPosition.row == this.vtScrollBottom_) {\n // We're at the end of the VT Scroll Region, perform a VT scroll.\n this.vtScrollUp(1);\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0);\n } else if (cursorAtEndOfScreen) {\n // We're at the end of the screen, the only thing to do is put the\n // cursor to column 0.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0);\n } else {\n // Anywhere else, advance the cursor row, and reset the column.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0);\n }\n } else if (cursorAtEndOfScreen) {\n // We're at the end of the screen. Append a new row to the terminal,\n // shifting the top row into the scrollback.\n this.appendRows_(1);\n } else {\n // Anywhere else in the screen just moves the cursor.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0);\n }\n};\n\n/**\n * Like newLine(), except maintain the cursor column.\n */\nhterm.Terminal.prototype.lineFeed = function() {\n var column = this.screen_.cursorPosition.column;\n this.newLine();\n this.setCursorColumn(column);\n};\n\n/**\n * If autoCarriageReturn is set then newLine(), else lineFeed().\n */\nhterm.Terminal.prototype.formFeed = function() {\n if (this.options_.autoCarriageReturn) {\n this.newLine();\n } else {\n this.lineFeed();\n }\n};\n\n/**\n * Move the cursor up one row, possibly inserting a blank line.\n *\n * The cursor column is not changed.\n */\nhterm.Terminal.prototype.reverseLineFeed = function() {\n var scrollTop = this.getVTScrollTop();\n var currentRow = this.screen_.cursorPosition.row;\n\n if (currentRow == scrollTop) {\n this.insertLines(1);\n } else {\n this.setAbsoluteCursorRow(currentRow - 1);\n }\n};\n\n/**\n * Replace all characters to the left of the current cursor with the space\n * character.\n *\n * TODO(rginda): This should probably *remove* the characters (not just replace\n * with a space) if there are no characters at or beyond the current cursor\n * position.\n */\nhterm.Terminal.prototype.eraseToLeft = function() {\n var cursor = this.saveCursor();\n this.setCursorColumn(0);\n this.screen_.overwriteString(lib.f.getWhitespace(cursor.column + 1));\n this.restoreCursor(cursor);\n};\n\n/**\n * Erase a given number of characters to the right of the cursor.\n *\n * The cursor position is unchanged.\n *\n * If the current background color is not the default background color this\n * will insert spaces rather than delete. This is unfortunate because the\n * trailing space will affect text selection, but it's difficult to come up\n * with a way to style empty space that wouldn't trip up the hterm.Screen\n * code.\n *\n * eraseToRight is ignored in the presence of a cursor overflow. This deviates\n * from xterm, but agrees with gnome-terminal and konsole, xfce4-terminal. See\n * crbug.com/232390 for details.\n *\n * @param {number} opt_count The number of characters to erase.\n */\nhterm.Terminal.prototype.eraseToRight = function(opt_count) {\n if (this.screen_.cursorPosition.overflow)\n return;\n\n var maxCount = this.screenSize.width - this.screen_.cursorPosition.column;\n var count = opt_count ? Math.min(opt_count, maxCount) : maxCount;\n\n if (this.screen_.textAttributes.background ===\n this.screen_.textAttributes.DEFAULT_COLOR) {\n var cursorRow = this.screen_.rowsArray[this.screen_.cursorPosition.row];\n if (hterm.TextAttributes.nodeWidth(cursorRow) <=\n this.screen_.cursorPosition.column + count) {\n this.screen_.deleteChars(count);\n this.clearCursorOverflow();\n return;\n }\n }\n\n var cursor = this.saveCursor();\n this.screen_.overwriteString(lib.f.getWhitespace(count));\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase the current line.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseLine = function() {\n var cursor = this.saveCursor();\n this.screen_.clearCursorRow();\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase all characters from the start of the screen to the current cursor\n * position, regardless of scroll region.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseAbove = function() {\n var cursor = this.saveCursor();\n\n this.eraseToLeft();\n\n for (var i = 0; i < cursor.row; i++) {\n this.setAbsoluteCursorPosition(i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase all characters from the current cursor position to the end of the\n * screen, regardless of scroll region.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseBelow = function() {\n var cursor = this.saveCursor();\n\n this.eraseToRight();\n\n var bottom = this.screenSize.height - 1;\n for (var i = cursor.row + 1; i <= bottom; i++) {\n this.setAbsoluteCursorPosition(i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Fill the terminal with a given character.\n *\n * This methods does not respect the VT scroll region.\n *\n * @param {string} ch The character to use for the fill.\n */\nhterm.Terminal.prototype.fill = function(ch) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorPosition(0, 0);\n for (var row = 0; row < this.screenSize.height; row++) {\n for (var col = 0; col < this.screenSize.width; col++) {\n this.setAbsoluteCursorPosition(row, col);\n this.screen_.overwriteString(ch);\n }\n }\n\n this.restoreCursor(cursor);\n};\n\n/**\n * Erase the entire display and leave the cursor at (0, 0).\n *\n * This does not respect the scroll region.\n *\n * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults\n * to the current screen.\n */\nhterm.Terminal.prototype.clearHome = function(opt_screen) {\n var screen = opt_screen || this.screen_;\n var bottom = screen.getHeight();\n\n if (bottom == 0) {\n // Empty screen, nothing to do.\n return;\n }\n\n for (var i = 0; i < bottom; i++) {\n screen.setCursorPosition(i, 0);\n screen.clearCursorRow();\n }\n\n screen.setCursorPosition(0, 0);\n};\n\n/**\n * Erase the entire display without changing the cursor position.\n *\n * The cursor position is unchanged. This does not respect the scroll\n * region.\n *\n * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults\n * to the current screen.\n */\nhterm.Terminal.prototype.clear = function(opt_screen) {\n var screen = opt_screen || this.screen_;\n var cursor = screen.cursorPosition.clone();\n this.clearHome(screen);\n screen.setCursorPosition(cursor.row, cursor.column);\n};\n\n/**\n * VT command to insert lines at the current cursor row.\n *\n * This respects the current scroll region. Rows pushed off the bottom are\n * lost (they won't show up in the scrollback buffer).\n *\n * @param {integer} count The number of lines to insert.\n */\nhterm.Terminal.prototype.insertLines = function(count) {\n var cursorRow = this.screen_.cursorPosition.row;\n\n var bottom = this.getVTScrollBottom();\n count = Math.min(count, bottom - cursorRow);\n\n // The moveCount is the number of rows we need to relocate to make room for\n // the new row(s). The count is the distance to move them.\n var moveCount = bottom - cursorRow - count + 1;\n if (moveCount)\n this.moveRows_(cursorRow, moveCount, cursorRow + count);\n\n for (var i = count - 1; i >= 0; i--) {\n this.setAbsoluteCursorPosition(cursorRow + i, 0);\n this.screen_.clearCursorRow();\n }\n};\n\n/**\n * VT command to delete lines at the current cursor row.\n *\n * New rows are added to the bottom of scroll region to take their place. New\n * rows are strictly there to take up space and have no content or style.\n *\n * @param {number} count The number of lines to delete.\n */\nhterm.Terminal.prototype.deleteLines = function(count) {\n var cursor = this.saveCursor();\n\n var top = cursor.row;\n var bottom = this.getVTScrollBottom();\n\n var maxCount = bottom - top + 1;\n count = Math.min(count, maxCount);\n\n var moveStart = bottom - count + 1;\n if (count != maxCount)\n this.moveRows_(top, count, moveStart);\n\n for (var i = 0; i < count; i++) {\n this.setAbsoluteCursorPosition(moveStart + i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Inserts the given number of spaces at the current cursor position.\n *\n * The cursor position is not changed.\n *\n * @param {number} count The number of spaces to insert.\n */\nhterm.Terminal.prototype.insertSpace = function(count) {\n var cursor = this.saveCursor();\n\n var ws = lib.f.getWhitespace(count || 1);\n this.screen_.insertString(ws);\n this.screen_.maybeClipCurrentRow();\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Forward-delete the specified number of characters starting at the cursor\n * position.\n *\n * @param {integer} count The number of characters to delete.\n */\nhterm.Terminal.prototype.deleteChars = function(count) {\n var deleted = this.screen_.deleteChars(count);\n if (deleted && !this.screen_.textAttributes.isDefault()) {\n var cursor = this.saveCursor();\n this.setCursorColumn(this.screenSize.width - deleted);\n this.screen_.insertString(lib.f.getWhitespace(deleted));\n this.restoreCursor(cursor);\n }\n\n this.clearCursorOverflow();\n};\n\n/**\n * Shift rows in the scroll region upwards by a given number of lines.\n *\n * New rows are inserted at the bottom of the scroll region to fill the\n * vacated rows. The new rows not filled out with the current text attributes.\n *\n * This function does not affect the scrollback rows at all. Rows shifted\n * off the top are lost.\n *\n * The cursor position is not altered.\n *\n * @param {integer} count The number of rows to scroll.\n */\nhterm.Terminal.prototype.vtScrollUp = function(count) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorRow(this.getVTScrollTop());\n this.deleteLines(count);\n\n this.restoreCursor(cursor);\n};\n\n/**\n * Shift rows below the cursor down by a given number of lines.\n *\n * This function respects the current scroll region.\n *\n * New rows are inserted at the top of the scroll region to fill the\n * vacated rows. The new rows not filled out with the current text attributes.\n *\n * This function does not affect the scrollback rows at all. Rows shifted\n * off the bottom are lost.\n *\n * @param {integer} count The number of rows to scroll.\n */\nhterm.Terminal.prototype.vtScrollDown = function(opt_count) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorPosition(this.getVTScrollTop(), 0);\n this.insertLines(opt_count);\n\n this.restoreCursor(cursor);\n};\n\n\n/**\n * Set the cursor position.\n *\n * The cursor row is relative to the scroll region if the terminal has\n * 'origin mode' enabled, or relative to the addressable screen otherwise.\n *\n * @param {integer} row The new zero-based cursor row.\n * @param {integer} row The new zero-based cursor column.\n */\nhterm.Terminal.prototype.setCursorPosition = function(row, column) {\n if (this.options_.originMode) {\n this.setRelativeCursorPosition(row, column);\n } else {\n this.setAbsoluteCursorPosition(row, column);\n }\n};\n\n/**\n * Move the cursor relative to its current position.\n *\n * @param {number} row\n * @param {number} column\n */\nhterm.Terminal.prototype.setRelativeCursorPosition = function(row, column) {\n var scrollTop = this.getVTScrollTop();\n row = lib.f.clamp(row + scrollTop, scrollTop, this.getVTScrollBottom());\n column = lib.f.clamp(column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n};\n\n/**\n * Move the cursor to the specified position.\n *\n * @param {number} row\n * @param {number} column\n */\nhterm.Terminal.prototype.setAbsoluteCursorPosition = function(row, column) {\n row = lib.f.clamp(row, 0, this.screenSize.height - 1);\n column = lib.f.clamp(column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n};\n\n/**\n * Set the cursor column.\n *\n * @param {integer} column The new zero-based cursor column.\n */\nhterm.Terminal.prototype.setCursorColumn = function(column) {\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, column);\n};\n\n/**\n * Return the cursor column.\n *\n * @return {integer} The zero-based cursor column.\n */\nhterm.Terminal.prototype.getCursorColumn = function() {\n return this.screen_.cursorPosition.column;\n};\n\n/**\n * Set the cursor row.\n *\n * The cursor row is relative to the scroll region if the terminal has\n * 'origin mode' enabled, or relative to the addressable screen otherwise.\n *\n * @param {integer} row The new cursor row.\n */\nhterm.Terminal.prototype.setAbsoluteCursorRow = function(row) {\n this.setAbsoluteCursorPosition(row, this.screen_.cursorPosition.column);\n};\n\n/**\n * Return the cursor row.\n *\n * @return {integer} The zero-based cursor row.\n */\nhterm.Terminal.prototype.getCursorRow = function() {\n return this.screen_.cursorPosition.row;\n};\n\n/**\n * Request that the ScrollPort redraw itself soon.\n *\n * The redraw will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single redraw.\n */\nhterm.Terminal.prototype.scheduleRedraw_ = function() {\n if (this.timeouts_.redraw)\n return;\n\n var self = this;\n this.timeouts_.redraw = setTimeout(function() {\n delete self.timeouts_.redraw;\n self.scrollPort_.redraw_();\n }, 0);\n};\n\n/**\n * Request that the ScrollPort be scrolled to the bottom.\n *\n * The scroll will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single scroll.\n *\n * This affects the scrollbar position of the ScrollPort, and has nothing to\n * do with the VT scroll commands.\n */\nhterm.Terminal.prototype.scheduleScrollDown_ = function() {\n if (this.timeouts_.scrollDown)\n return;\n\n var self = this;\n this.timeouts_.scrollDown = setTimeout(function() {\n delete self.timeouts_.scrollDown;\n self.scrollPort_.scrollRowToBottom(self.getRowCount());\n }, 10);\n};\n\n/**\n * Move the cursor up a specified number of rows.\n *\n * @param {integer} count The number of rows to move the cursor.\n */\nhterm.Terminal.prototype.cursorUp = function(count) {\n return this.cursorDown(-(count || 1));\n};\n\n/**\n * Move the cursor down a specified number of rows.\n *\n * @param {integer} count The number of rows to move the cursor.\n */\nhterm.Terminal.prototype.cursorDown = function(count) {\n count = count || 1;\n var minHeight = (this.options_.originMode ? this.getVTScrollTop() : 0);\n var maxHeight = (this.options_.originMode ? this.getVTScrollBottom() :\n this.screenSize.height - 1);\n\n var row = lib.f.clamp(this.screen_.cursorPosition.row + count,\n minHeight, maxHeight);\n this.setAbsoluteCursorRow(row);\n};\n\n/**\n * Move the cursor left a specified number of columns.\n *\n * If reverse wraparound mode is enabled and the previous row wrapped into\n * the current row then we back up through the wraparound as well.\n *\n * @param {integer} count The number of columns to move the cursor.\n */\nhterm.Terminal.prototype.cursorLeft = function(count) {\n count = count || 1;\n\n if (count < 1)\n return;\n\n var currentColumn = this.screen_.cursorPosition.column;\n if (this.options_.reverseWraparound) {\n if (this.screen_.cursorPosition.overflow) {\n // If this cursor is in the right margin, consume one count to get it\n // back to the last column. This only applies when we're in reverse\n // wraparound mode.\n count--;\n this.clearCursorOverflow();\n\n if (!count)\n return;\n }\n\n var newRow = this.screen_.cursorPosition.row;\n var newColumn = currentColumn - count;\n if (newColumn < 0) {\n newRow = newRow - Math.floor(count / this.screenSize.width) - 1;\n if (newRow < 0) {\n // xterm also wraps from row 0 to the last row.\n newRow = this.screenSize.height + newRow % this.screenSize.height;\n }\n newColumn = this.screenSize.width + newColumn % this.screenSize.width;\n }\n\n this.setCursorPosition(Math.max(newRow, 0), newColumn);\n\n } else {\n var newColumn = Math.max(currentColumn - count, 0);\n this.setCursorColumn(newColumn);\n }\n};\n\n/**\n * Move the cursor right a specified number of columns.\n *\n * @param {integer} count The number of columns to move the cursor.\n */\nhterm.Terminal.prototype.cursorRight = function(count) {\n count = count || 1;\n\n if (count < 1)\n return;\n\n var column = lib.f.clamp(this.screen_.cursorPosition.column + count,\n 0, this.screenSize.width - 1);\n this.setCursorColumn(column);\n};\n\n/**\n * Reverse the foreground and background colors of the terminal.\n *\n * This only affects text that was drawn with no attributes.\n *\n * TODO(rginda): Test xterm to see if reverse is respected for text that has\n * been drawn with attributes that happen to coincide with the default\n * 'no-attribute' colors. My guess is probably not.\n *\n * @param {boolean} state The state to set.\n */\nhterm.Terminal.prototype.setReverseVideo = function(state) {\n this.options_.reverseVideo = state;\n if (state) {\n this.scrollPort_.setForegroundColor(this.prefs_.get('background-color'));\n this.scrollPort_.setBackgroundColor(this.prefs_.get('foreground-color'));\n } else {\n this.scrollPort_.setForegroundColor(this.prefs_.get('foreground-color'));\n this.scrollPort_.setBackgroundColor(this.prefs_.get('background-color'));\n }\n};\n\n/**\n * Ring the terminal bell.\n *\n * This will not play the bell audio more than once per second.\n */\nhterm.Terminal.prototype.ringBell = function() {\n this.cursorNode_.style.backgroundColor =\n this.scrollPort_.getForegroundColor();\n\n var self = this;\n setTimeout(function() {\n self.cursorNode_.style.backgroundColor = self.prefs_.get('cursor-color');\n }, 200);\n\n // bellSquelchTimeout_ affects both audio and notification bells.\n if (this.bellSquelchTimeout_)\n return;\n\n if (this.bellAudio_.getAttribute('src')) {\n this.bellAudio_.play();\n this.bellSequelchTimeout_ = setTimeout(function() {\n delete this.bellSquelchTimeout_;\n }.bind(this), 500);\n } else {\n delete this.bellSquelchTimeout_;\n }\n\n if (this.desktopNotificationBell_ && !this.document_.hasFocus()) {\n var n = hterm.notify();\n this.bellNotificationList_.push(n);\n // TODO: Should we try to raise the window here?\n n.onclick = function() { self.closeBellNotifications_(); };\n }\n};\n\n/**\n * Set the origin mode bit.\n *\n * If origin mode is on, certain VT cursor and scrolling commands measure their\n * row parameter relative to the VT scroll region. Otherwise, row 0 corresponds\n * to the top of the addressable screen.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set origin mode, false to unset.\n */\nhterm.Terminal.prototype.setOriginMode = function(state) {\n this.options_.originMode = state;\n this.setCursorPosition(0, 0);\n};\n\n/**\n * Set the insert mode bit.\n *\n * If insert mode is on, existing text beyond the cursor position will be\n * shifted right to make room for new text. Otherwise, new text overwrites\n * any existing text.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set insert mode, false to unset.\n */\nhterm.Terminal.prototype.setInsertMode = function(state) {\n this.options_.insertMode = state;\n};\n\n/**\n * Set the auto carriage return bit.\n *\n * If auto carriage return is on then a formfeed character is interpreted\n * as a newline, otherwise it's the same as a linefeed. The difference boils\n * down to whether or not the cursor column is reset.\n *\n * @param {boolean} state The state to set.\n */\nhterm.Terminal.prototype.setAutoCarriageReturn = function(state) {\n this.options_.autoCarriageReturn = state;\n};\n\n/**\n * Set the wraparound mode bit.\n *\n * If wraparound mode is on, certain VT commands will allow the cursor to wrap\n * to the start of the following row. Otherwise, the cursor is clamped to the\n * end of the screen and attempts to write past it are ignored.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set wraparound mode, false to unset.\n */\nhterm.Terminal.prototype.setWraparound = function(state) {\n this.options_.wraparound = state;\n};\n\n/**\n * Set the reverse-wraparound mode bit.\n *\n * If wraparound mode is off, certain VT commands will allow the cursor to wrap\n * to the end of the previous row. Otherwise, the cursor is clamped to column\n * 0.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set reverse-wraparound mode, false to unset.\n */\nhterm.Terminal.prototype.setReverseWraparound = function(state) {\n this.options_.reverseWraparound = state;\n};\n\n/**\n * Selects between the primary and alternate screens.\n *\n * If alternate mode is on, the alternate screen is active. Otherwise the\n * primary screen is active.\n *\n * Swapping screens has no effect on the scrollback buffer.\n *\n * Each screen maintains its own cursor position.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set alternate mode, false to unset.\n */\nhterm.Terminal.prototype.setAlternateMode = function(state) {\n var cursor = this.saveCursor();\n this.screen_ = state ? this.alternateScreen_ : this.primaryScreen_;\n\n if (this.screen_.rowsArray.length &&\n this.screen_.rowsArray[0].rowIndex != this.scrollbackRows_.length) {\n // If the screen changed sizes while we were away, our rowIndexes may\n // be incorrect.\n var offset = this.scrollbackRows_.length;\n var ary = this.screen_.rowsArray;\n for (var i = 0; i < ary.length; i++) {\n ary[i].rowIndex = offset + i;\n }\n }\n\n this.realizeWidth_(this.screenSize.width);\n this.realizeHeight_(this.screenSize.height);\n this.scrollPort_.syncScrollHeight();\n this.scrollPort_.invalidate();\n\n this.restoreCursor(cursor);\n this.scrollPort_.resize();\n};\n\n/**\n * Set the cursor-blink mode bit.\n *\n * If cursor-blink is on, the cursor will blink when it is visible. Otherwise\n * a visible cursor does not blink.\n *\n * You should make sure to turn blinking off if you're going to dispose of a\n * terminal, otherwise you'll leak a timeout.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set cursor-blink mode, false to unset.\n */\nhterm.Terminal.prototype.setCursorBlink = function(state) {\n this.options_.cursorBlink = state;\n\n if (!state && this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n\n if (this.options_.cursorVisible)\n this.setCursorVisible(true);\n};\n\n/**\n * Set the cursor-visible mode bit.\n *\n * If cursor-visible is on, the cursor will be visible. Otherwise it will not.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set cursor-visible mode, false to unset.\n */\nhterm.Terminal.prototype.setCursorVisible = function(state) {\n this.options_.cursorVisible = state;\n\n if (!state) {\n if (this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n this.cursorNode_.style.opacity = '0';\n return;\n }\n\n this.syncCursorPosition_();\n\n this.cursorNode_.style.opacity = '1';\n\n if (this.options_.cursorBlink) {\n if (this.timeouts_.cursorBlink)\n return;\n\n this.onCursorBlink_();\n } else {\n if (this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n }\n};\n\n/**\n * Synchronizes the visible cursor and document selection with the current\n * cursor coordinates.\n */\nhterm.Terminal.prototype.syncCursorPosition_ = function() {\n var topRowIndex = this.scrollPort_.getTopRowIndex();\n var bottomRowIndex = this.scrollPort_.getBottomRowIndex(topRowIndex);\n var cursorRowIndex = this.scrollbackRows_.length +\n this.screen_.cursorPosition.row;\n\n if (cursorRowIndex > bottomRowIndex) {\n // Cursor is scrolled off screen, move it outside of the visible area.\n this.setCssVar('cursor-offset-row', '-1');\n return;\n }\n\n if (this.options_.cursorVisible &&\n this.cursorNode_.style.display == 'none') {\n // Re-display the terminal cursor if it was hidden by the mouse cursor.\n this.cursorNode_.style.display = '';\n }\n\n // Position the cursor using CSS variable math. If we do the math in JS,\n // the float math will end up being more precise than the CSS which will\n // cause the cursor tracking to be off.\n this.setCssVar(\n 'cursor-offset-row',\n `${cursorRowIndex - topRowIndex} + ` +\n `${this.scrollPort_.visibleRowTopMargin}px`);\n this.setCssVar('cursor-offset-col', this.screen_.cursorPosition.column);\n\n this.cursorNode_.setAttribute('title',\n '(' + this.screen_.cursorPosition.column +\n ', ' + this.screen_.cursorPosition.row +\n ')');\n\n // Update the caret for a11y purposes.\n var selection = this.document_.getSelection();\n if (selection && selection.isCollapsed)\n this.screen_.syncSelectionCaret(selection);\n};\n\n/**\n * Adjusts the style of this.cursorNode_ according to the current cursor shape\n * and character cell dimensions.\n */\nhterm.Terminal.prototype.restyleCursor_ = function() {\n var shape = this.cursorShape_;\n\n if (this.cursorNode_.getAttribute('focus') == 'false') {\n // Always show a block cursor when unfocused.\n shape = hterm.Terminal.cursorShape.BLOCK;\n }\n\n var style = this.cursorNode_.style;\n\n switch (shape) {\n case hterm.Terminal.cursorShape.BEAM:\n style.height = 'var(--hterm-charsize-height)';\n style.backgroundColor = 'transparent';\n style.borderBottomStyle = null;\n style.borderLeftStyle = 'solid';\n break;\n\n case hterm.Terminal.cursorShape.UNDERLINE:\n style.height = this.scrollPort_.characterSize.baseline + 'px';\n style.backgroundColor = 'transparent';\n style.borderBottomStyle = 'solid';\n // correct the size to put it exactly at the baseline\n style.borderLeftStyle = null;\n break;\n\n default:\n style.height = 'var(--hterm-charsize-height)';\n style.backgroundColor = this.cursorColor_;\n style.borderBottomStyle = null;\n style.borderLeftStyle = null;\n break;\n }\n};\n\n/**\n * Synchronizes the visible cursor with the current cursor coordinates.\n *\n * The sync will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single sync.\n */\nhterm.Terminal.prototype.scheduleSyncCursorPosition_ = function() {\n if (this.timeouts_.syncCursor)\n return;\n\n var self = this;\n this.timeouts_.syncCursor = setTimeout(function() {\n self.syncCursorPosition_();\n delete self.timeouts_.syncCursor;\n }, 0);\n};\n\n/**\n * Show or hide the zoom warning.\n *\n * The zoom warning is a message warning the user that their browser zoom must\n * be set to 100% in order for hterm to function properly.\n *\n * @param {boolean} state True to show the message, false to hide it.\n */\nhterm.Terminal.prototype.showZoomWarning_ = function(state) {\n if (!this.zoomWarningNode_) {\n if (!state)\n return;\n\n this.zoomWarningNode_ = this.document_.createElement('div');\n this.zoomWarningNode_.id = 'hterm:zoom-warning';\n this.zoomWarningNode_.style.cssText = (\n 'color: black;' +\n 'background-color: #ff2222;' +\n 'font-size: large;' +\n 'border-radius: 8px;' +\n 'opacity: 0.75;' +\n 'padding: 0.2em 0.5em 0.2em 0.5em;' +\n 'top: 0.5em;' +\n 'right: 1.2em;' +\n 'position: absolute;' +\n '-webkit-text-size-adjust: none;' +\n '-webkit-user-select: none;' +\n '-moz-text-size-adjust: none;' +\n '-moz-user-select: none;');\n\n this.zoomWarningNode_.addEventListener('click', function(e) {\n this.parentNode.removeChild(this);\n });\n }\n\n this.zoomWarningNode_.textContent = lib.MessageManager.replaceReferences(\n hterm.zoomWarningMessage,\n [parseInt(this.scrollPort_.characterSize.zoomFactor * 100)]);\n\n this.zoomWarningNode_.style.fontFamily = this.prefs_.get('font-family');\n\n if (state) {\n if (!this.zoomWarningNode_.parentNode)\n this.div_.parentNode.appendChild(this.zoomWarningNode_);\n } else if (this.zoomWarningNode_.parentNode) {\n this.zoomWarningNode_.parentNode.removeChild(this.zoomWarningNode_);\n }\n};\n\n/**\n * Show the terminal overlay for a given amount of time.\n *\n * The terminal overlay appears in inverse video in a large font, centered\n * over the terminal. You should probably keep the overlay message brief,\n * since it's in a large font and you probably aren't going to check the size\n * of the terminal first.\n *\n * @param {string} msg The text (not HTML) message to display in the overlay.\n * @param {number} opt_timeout The amount of time to wait before fading out\n * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay\n * stay up forever (or until the next overlay).\n */\nhterm.Terminal.prototype.showOverlay = function(msg, opt_timeout) {\n if (!this.overlayNode_) {\n if (!this.div_)\n return;\n\n this.overlayNode_ = this.document_.createElement('div');\n this.overlayNode_.style.cssText = (\n 'border-radius: 15px;' +\n 'font-size: xx-large;' +\n 'opacity: 0.75;' +\n 'padding: 0.2em 0.5em 0.2em 0.5em;' +\n 'position: absolute;' +\n '-webkit-user-select: none;' +\n '-webkit-transition: opacity 180ms ease-in;' +\n '-moz-user-select: none;' +\n '-moz-transition: opacity 180ms ease-in;');\n\n this.overlayNode_.addEventListener('mousedown', function(e) {\n e.preventDefault();\n e.stopPropagation();\n }, true);\n }\n\n this.overlayNode_.style.color = this.prefs_.get('background-color');\n this.overlayNode_.style.backgroundColor = this.prefs_.get('foreground-color');\n this.overlayNode_.style.fontFamily = this.prefs_.get('font-family');\n\n this.overlayNode_.textContent = msg;\n this.overlayNode_.style.opacity = '0.75';\n\n if (!this.overlayNode_.parentNode)\n this.div_.appendChild(this.overlayNode_);\n\n var divSize = hterm.getClientSize(this.div_);\n var overlaySize = hterm.getClientSize(this.overlayNode_);\n\n this.overlayNode_.style.top =\n (divSize.height - overlaySize.height) / 2 + 'px';\n this.overlayNode_.style.left = (divSize.width - overlaySize.width -\n this.scrollPort_.currentScrollbarWidthPx) / 2 + 'px';\n\n var self = this;\n\n if (this.overlayTimeout_)\n clearTimeout(this.overlayTimeout_);\n\n if (opt_timeout === null)\n return;\n\n this.overlayTimeout_ = setTimeout(function() {\n self.overlayNode_.style.opacity = '0';\n self.overlayTimeout_ = setTimeout(function() {\n if (self.overlayNode_.parentNode)\n self.overlayNode_.parentNode.removeChild(self.overlayNode_);\n self.overlayTimeout_ = null;\n self.overlayNode_.style.opacity = '0.75';\n }, 200);\n }, opt_timeout || 1500);\n};\n\n/**\n * Paste from the system clipboard to the terminal.\n */\nhterm.Terminal.prototype.paste = function() {\n return hterm.pasteFromClipboard(this.document_);\n};\n\n/**\n * Copy a string to the system clipboard.\n *\n * Note: If there is a selected range in the terminal, it'll be cleared.\n *\n * @param {string} str The string to copy.\n */\nhterm.Terminal.prototype.copyStringToClipboard = function(str) {\n if (this.prefs_.get('enable-clipboard-notice'))\n setTimeout(this.showOverlay.bind(this, hterm.notifyCopyMessage, 500), 200);\n\n var copySource = this.document_.createElement('pre');\n copySource.id = 'hterm:copy-to-clipboard-source';\n copySource.textContent = str;\n copySource.style.cssText = (\n '-webkit-user-select: text;' +\n '-moz-user-select: text;' +\n 'position: absolute;' +\n 'top: -99px');\n\n this.document_.body.appendChild(copySource);\n\n var selection = this.document_.getSelection();\n var anchorNode = selection.anchorNode;\n var anchorOffset = selection.anchorOffset;\n var focusNode = selection.focusNode;\n var focusOffset = selection.focusOffset;\n\n selection.selectAllChildren(copySource);\n\n hterm.copySelectionToClipboard(this.document_);\n\n // IE doesn't support selection.extend. This means that the selection\n // won't return on IE.\n if (selection.extend) {\n selection.collapse(anchorNode, anchorOffset);\n selection.extend(focusNode, focusOffset);\n }\n\n copySource.parentNode.removeChild(copySource);\n};\n\n/**\n * Returns the selected text, or null if no text is selected.\n *\n * @return {string|null}\n */\nhterm.Terminal.prototype.getSelectionText = function() {\n var selection = this.scrollPort_.selection;\n selection.sync();\n\n if (selection.isCollapsed)\n return null;\n\n\n // Start offset measures from the beginning of the line.\n var startOffset = selection.startOffset;\n var node = selection.startNode;\n\n if (node.nodeName != 'X-ROW') {\n // If the selection doesn't start on an x-row node, then it must be\n // somewhere inside the x-row. Add any characters from previous siblings\n // into the start offset.\n\n if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') {\n // If node is the text node in a styled span, move up to the span node.\n node = node.parentNode;\n }\n\n while (node.previousSibling) {\n node = node.previousSibling;\n startOffset += hterm.TextAttributes.nodeWidth(node);\n }\n }\n\n // End offset measures from the end of the line.\n var endOffset = (hterm.TextAttributes.nodeWidth(selection.endNode) -\n selection.endOffset);\n node = selection.endNode;\n\n if (node.nodeName != 'X-ROW') {\n // If the selection doesn't end on an x-row node, then it must be\n // somewhere inside the x-row. Add any characters from following siblings\n // into the end offset.\n\n if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') {\n // If node is the text node in a styled span, move up to the span node.\n node = node.parentNode;\n }\n\n while (node.nextSibling) {\n node = node.nextSibling;\n endOffset += hterm.TextAttributes.nodeWidth(node);\n }\n }\n\n var rv = this.getRowsText(selection.startRow.rowIndex,\n selection.endRow.rowIndex + 1);\n return lib.wc.substring(rv, startOffset, lib.wc.strWidth(rv) - endOffset);\n};\n\n/**\n * Copy the current selection to the system clipboard, then clear it after a\n * short delay.\n */\nhterm.Terminal.prototype.copySelectionToClipboard = function() {\n var text = this.getSelectionText();\n if (text != null)\n this.copyStringToClipboard(text);\n};\n\nhterm.Terminal.prototype.overlaySize = function() {\n this.showOverlay(this.screenSize.width + 'x' + this.screenSize.height);\n};\n\n/**\n * Invoked by hterm.Terminal.Keyboard when a VT keystroke is detected.\n *\n * @param {string} string The VT string representing the keystroke, in UTF-16.\n */\nhterm.Terminal.prototype.onVTKeystroke = function(string) {\n if (this.scrollOnKeystroke_)\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n\n this.io.onVTKeystroke(this.keyboard.encode(string));\n};\n\n/**\n * Launches url in a new tab.\n *\n * @param {string} url URL to launch in a new tab.\n */\nhterm.Terminal.prototype.openUrl = function(url) {\n if (window.chrome && window.chrome.browser) {\n // For Chrome v2 apps, we need to use this API to properly open windows.\n chrome.browser.openTab({'url': url});\n } else {\n var win = window.open(url, '_blank');\n win.focus();\n }\n}\n\n/**\n * Open the selected url.\n */\nhterm.Terminal.prototype.openSelectedUrl_ = function() {\n var str = this.getSelectionText();\n\n // If there is no selection, try and expand wherever they clicked.\n if (str == null) {\n this.screen_.expandSelection(this.document_.getSelection());\n str = this.getSelectionText();\n\n // If clicking in empty space, return.\n if (str == null)\n return;\n }\n\n // Make sure URL is valid before opening.\n if (str.length > 2048 || str.search(/[\\s\\[\\](){}<>\"'\\\\^`]/) >= 0)\n return;\n\n // If the URI isn't anchored, it'll open relative to the extension.\n // We have no way of knowing the correct schema, so assume http.\n if (str.search('^[a-zA-Z][a-zA-Z0-9+.-]*://') < 0) {\n // We have to whitelist a few protocols that lack authorities and thus\n // never use the //. Like mailto.\n switch (str.split(':', 1)[0]) {\n case 'mailto':\n break;\n default:\n str = 'http://' + str;\n break;\n }\n }\n\n this.openUrl(str);\n}\n\n\n/**\n * Add the terminalRow and terminalColumn properties to mouse events and\n * then forward on to onMouse().\n *\n * The terminalRow and terminalColumn properties contain the (row, column)\n * coordinates for the mouse event.\n *\n * @param {Event} e The mouse event to handle.\n */\nhterm.Terminal.prototype.onMouse_ = function(e) {\n if (e.processedByTerminalHandler_) {\n // We register our event handlers on the document, as well as the cursor\n // and the scroll blocker. Mouse events that occur on the cursor or\n // scroll blocker will also appear on the document, but we don't want to\n // process them twice.\n //\n // We can't just prevent bubbling because that has other side effects, so\n // we decorate the event object with this property instead.\n return;\n }\n\n var reportMouseEvents = (!this.defeatMouseReports_ &&\n this.vt.mouseReport != this.vt.MOUSE_REPORT_DISABLED);\n\n e.processedByTerminalHandler_ = true;\n\n // One based row/column stored on the mouse event.\n e.terminalRow = parseInt((e.clientY - this.scrollPort_.visibleRowTopMargin) /\n this.scrollPort_.characterSize.height) + 1;\n e.terminalColumn = parseInt(e.clientX /\n this.scrollPort_.characterSize.width) + 1;\n\n if (e.type == 'mousedown' && e.terminalColumn > this.screenSize.width) {\n // Mousedown in the scrollbar area.\n return;\n }\n\n if (this.options_.cursorVisible && !reportMouseEvents) {\n // If the cursor is visible and we're not sending mouse events to the\n // host app, then we want to hide the terminal cursor when the mouse\n // cursor is over top. This keeps the terminal cursor from interfering\n // with local text selection.\n if (e.terminalRow - 1 == this.screen_.cursorPosition.row &&\n e.terminalColumn - 1 == this.screen_.cursorPosition.column) {\n this.cursorNode_.style.display = 'none';\n } else if (this.cursorNode_.style.display == 'none') {\n this.cursorNode_.style.display = '';\n }\n }\n\n if (e.type == 'mousedown') {\n if (e.altKey || !reportMouseEvents) {\n // If VT mouse reporting is disabled, or has been defeated with\n // alt-mousedown, then the mouse will act on the local selection.\n this.defeatMouseReports_ = true;\n this.setSelectionEnabled(true);\n } else {\n // Otherwise we defer ownership of the mouse to the VT.\n this.defeatMouseReports_ = false;\n this.document_.getSelection().collapseToEnd();\n this.setSelectionEnabled(false);\n e.preventDefault();\n }\n }\n\n if (!reportMouseEvents) {\n if (e.type == 'dblclick' && this.copyOnSelect) {\n this.screen_.expandSelection(this.document_.getSelection());\n this.copySelectionToClipboard(this.document_);\n }\n\n if (e.type == 'click' && !e.shiftKey && (e.ctrlKey || e.metaKey)) {\n // Debounce this event with the dblclick event. If you try to doubleclick\n // a URL to open it, Chrome will fire click then dblclick, but we won't\n // have expanded the selection text at the first click event.\n clearTimeout(this.timeouts_.openUrl);\n this.timeouts_.openUrl = setTimeout(this.openSelectedUrl_.bind(this),\n 500);\n return;\n }\n\n if (e.type == 'mousedown') {\n if ((this.mouseRightClickPaste && e.button == 2 /* right button */) ||\n e.button == this.mousePasteButton) {\n if (!this.paste())\n console.warning('Could not paste manually due to web restrictions');;\n }\n }\n\n if (e.type == 'mouseup' && e.button == 0 && this.copyOnSelect &&\n !this.document_.getSelection().isCollapsed) {\n this.copySelectionToClipboard(this.document_);\n }\n\n if ((e.type == 'mousemove' || e.type == 'mouseup') &&\n this.scrollBlockerNode_.engaged) {\n // Disengage the scroll-blocker after one of these events.\n this.scrollBlockerNode_.engaged = false;\n this.scrollBlockerNode_.style.top = '-99px';\n }\n\n // Emulate arrow key presses via scroll wheel events.\n if (this.scrollWheelArrowKeys_ && !e.shiftKey &&\n this.keyboard.applicationCursor && !this.isPrimaryScreen()) {\n if (e.type == 'wheel') {\n var delta = this.scrollPort_.scrollWheelDelta(e);\n var lines = lib.f.smartFloorDivide(\n Math.abs(delta), this.scrollPort_.characterSize.height);\n\n var data = '\\x1bO' + (delta < 0 ? 'B' : 'A');\n this.io.sendString(data.repeat(lines));\n\n e.preventDefault();\n }\n }\n } else /* if (this.reportMouseEvents) */ {\n if (!this.scrollBlockerNode_.engaged) {\n if (e.type == 'mousedown') {\n // Move the scroll-blocker into place if we want to keep the scrollport\n // from scrolling.\n this.scrollBlockerNode_.engaged = true;\n this.scrollBlockerNode_.style.top = (e.clientY - 5) + 'px';\n this.scrollBlockerNode_.style.left = (e.clientX - 5) + 'px';\n } else if (e.type == 'mousemove') {\n // Oh. This means that drag-scroll was disabled AFTER the mouse down,\n // in which case it's too late to engage the scroll-blocker.\n this.document_.getSelection().collapseToEnd();\n e.preventDefault();\n }\n }\n\n this.onMouse(e);\n }\n\n if (e.type == 'mouseup' && this.document_.getSelection().isCollapsed) {\n // Restore this on mouseup in case it was temporarily defeated with a\n // alt-mousedown. Only do this when the selection is empty so that\n // we don't immediately kill the users selection.\n this.defeatMouseReports_ = false;\n }\n};\n\n/**\n * Clients should override this if they care to know about mouse events.\n *\n * The event parameter will be a normal DOM mouse click event with additional\n * 'terminalRow' and 'terminalColumn' properties.\n *\n * @param {Event} e The mouse event to handle.\n */\nhterm.Terminal.prototype.onMouse = function(e) { };\n\n/**\n * React when focus changes.\n *\n * @param {boolean} focused True if focused, false otherwise.\n */\nhterm.Terminal.prototype.onFocusChange_ = function(focused) {\n this.cursorNode_.setAttribute('focus', focused);\n this.restyleCursor_();\n if (focused === true)\n this.closeBellNotifications_();\n};\n\n/**\n * React when the ScrollPort is scrolled.\n */\nhterm.Terminal.prototype.onScroll_ = function() {\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * React when text is pasted into the scrollPort.\n *\n * @param {Event} e The DOM paste event to handle.\n */\nhterm.Terminal.prototype.onPaste_ = function(e) {\n var data = e.text.replace(/\\n/mg, '\\r');\n data = this.keyboard.encode(data);\n if (this.options_.bracketedPaste)\n data = '\\x1b[200~' + data + '\\x1b[201~';\n\n this.io.sendString(data);\n};\n\n/**\n * React when the user tries to copy from the scrollPort.\n *\n * @param {Event} e The DOM copy event.\n */\nhterm.Terminal.prototype.onCopy_ = function(e) {\n if (!this.useDefaultWindowCopy) {\n e.preventDefault();\n setTimeout(this.copySelectionToClipboard.bind(this), 0);\n }\n};\n\n/**\n * React when the ScrollPort is resized.\n *\n * Note: This function should not directly contain code that alters the internal\n * state of the terminal. That kind of code belongs in realizeWidth or\n * realizeHeight, so that it can be executed synchronously in the case of a\n * programmatic width change.\n */\nhterm.Terminal.prototype.onResize_ = function() {\n var columnCount = Math.floor(this.scrollPort_.getScreenWidth() /\n this.scrollPort_.characterSize.width) || 0;\n var rowCount = lib.f.smartFloorDivide(this.scrollPort_.getScreenHeight(),\n this.scrollPort_.characterSize.height) || 0;\n\n if (columnCount <= 0 || rowCount <= 0) {\n // We avoid these situations since they happen sometimes when the terminal\n // gets removed from the document or during the initial load, and we can't\n // deal with that.\n // This can also happen if called before the scrollPort calculates the\n // character size, meaning we dived by 0 above and default to 0 values.\n return;\n }\n\n var isNewSize = (columnCount != this.screenSize.width ||\n rowCount != this.screenSize.height);\n\n // We do this even if the size didn't change, just to be sure everything is\n // in sync.\n this.realizeSize_(columnCount, rowCount);\n this.showZoomWarning_(this.scrollPort_.characterSize.zoomFactor != 1);\n\n if (isNewSize)\n this.overlaySize();\n\n this.restyleCursor_();\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Service the cursor blink timeout.\n */\nhterm.Terminal.prototype.onCursorBlink_ = function() {\n if (!this.options_.cursorBlink) {\n delete this.timeouts_.cursorBlink;\n return;\n }\n\n if (this.cursorNode_.getAttribute('focus') == 'false' ||\n this.cursorNode_.style.opacity == '0') {\n this.cursorNode_.style.opacity = '1';\n this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_,\n this.cursorBlinkCycle_[0]);\n } else {\n this.cursorNode_.style.opacity = '0';\n this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_,\n this.cursorBlinkCycle_[1]);\n }\n};\n\n/**\n * Set the scrollbar-visible mode bit.\n *\n * If scrollbar-visible is on, the vertical scrollbar will be visible.\n * Otherwise it will not.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set scrollbar-visible mode, false to unset.\n */\nhterm.Terminal.prototype.setScrollbarVisible = function(state) {\n this.scrollPort_.setScrollbarVisible(state);\n};\n\n/**\n * Set the scroll wheel move multiplier. This will affect how fast the page\n * scrolls on wheel events.\n *\n * Defaults to 1.\n *\n * @param {number} multiplier The multiplier to set.\n */\nhterm.Terminal.prototype.setScrollWheelMoveMultipler = function(multiplier) {\n this.scrollPort_.setScrollWheelMoveMultipler(multiplier);\n};\n\n/**\n * Close all web notifications created by terminal bells.\n */\nhterm.Terminal.prototype.closeBellNotifications_ = function() {\n this.bellNotificationList_.forEach(function(n) {\n n.close();\n });\n this.bellNotificationList_.length = 0;\n};\n// SOURCE FILE: hterm/js/hterm_terminal_io.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.encodeUTF8');\n\n/**\n * Input/Output interface used by commands to communicate with the terminal.\n *\n * Commands like `nassh` and `crosh` receive an instance of this class as\n * part of their argv object. This allows them to write to and read from the\n * terminal without exposing them to an entire hterm.Terminal instance.\n *\n * The active command must override the onVTKeystroke() and sendString() methods\n * of this class in order to receive keystrokes and send output to the correct\n * destination.\n *\n * Isolating commands from the terminal provides the following benefits:\n * - Provides a mechanism to save and restore onVTKeystroke and sendString\n * handlers when invoking subcommands (see the push() and pop() methods).\n * - The isolation makes it easier to make changes in Terminal and supporting\n * classes without affecting commands.\n * - In The Future commands may run in web workers where they would only be able\n * to talk to a Terminal instance through an IPC mechanism.\n *\n * @param {hterm.Terminal}\n */\nhterm.Terminal.IO = function(terminal) {\n this.terminal_ = terminal;\n\n // The IO object to restore on IO.pop().\n this.previousIO_ = null;\n};\n\n/**\n * Show the terminal overlay for a given amount of time.\n *\n * The terminal overlay appears in inverse video in a large font, centered\n * over the terminal. You should probably keep the overlay message brief,\n * since it's in a large font and you probably aren't going to check the size\n * of the terminal first.\n *\n * @param {string} msg The text (not HTML) message to display in the overlay.\n * @param {number} opt_timeout The amount of time to wait before fading out\n * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay\n * stay up forever (or until the next overlay).\n */\nhterm.Terminal.IO.prototype.showOverlay = function(message, opt_timeout) {\n this.terminal_.showOverlay(message, opt_timeout);\n};\n\n/**\n * Open an frame in the current terminal window, pointed to the specified\n * url.\n *\n * Eventually we'll probably need size/position/decoration options.\n * The user should also be able to move/resize the frame.\n *\n * @param {string} url The URL to load in the frame.\n * @param {Object} opt_options Optional frame options. Not implemented.\n */\nhterm.Terminal.IO.prototype.createFrame = function(url, opt_options) {\n return new hterm.Frame(this.terminal_, url, opt_options);\n};\n\n/**\n * Change the preference profile for the terminal.\n *\n * @param profileName {string} The name of the preference profile to activate.\n */\nhterm.Terminal.IO.prototype.setTerminalProfile = function(profileName) {\n this.terminal_.setProfile(profileName);\n};\n\n/**\n * Create a new hterm.Terminal.IO instance and make it active on the Terminal\n * object associated with this instance.\n *\n * This is used to pass control of the terminal IO off to a subcommand. The\n * IO.pop() method can be used to restore control when the subcommand completes.\n */\nhterm.Terminal.IO.prototype.push = function() {\n var io = new hterm.Terminal.IO(this.terminal_);\n io.keyboardCaptured_ = this.keyboardCaptured_;\n\n io.columnCount = this.columnCount;\n io.rowCount = this.rowCount;\n\n io.previousIO_ = this.terminal_.io;\n this.terminal_.io = io;\n\n return io;\n};\n\n/**\n * Restore the Terminal's previous IO object.\n */\nhterm.Terminal.IO.prototype.pop = function() {\n this.terminal_.io = this.previousIO_;\n};\n\n/**\n * Called when data needs to be sent to the current command.\n *\n * Clients should override this to receive notification of pending data.\n *\n * @param {string} string The data to send.\n */\nhterm.Terminal.IO.prototype.sendString = function(string) {\n // Override this.\n console.log('Unhandled sendString: ' + string);\n};\n\n/**\n * Called when a terminal keystroke is detected.\n *\n * Clients should override this to receive notification of keystrokes.\n *\n * The keystroke data will be encoded according to the 'send-encoding'\n * preference.\n *\n * @param {string} string The VT key sequence.\n */\nhterm.Terminal.IO.prototype.onVTKeystroke = function(string) {\n // Override this.\n console.log('Unobserverd VT keystroke: ' + JSON.stringify(string));\n};\n\nhterm.Terminal.IO.prototype.onTerminalResize_ = function(width, height) {\n var obj = this;\n while (obj) {\n obj.columnCount = width;\n obj.rowCount = height;\n obj = obj.previousIO_;\n }\n\n this.onTerminalResize(width, height);\n};\n\n/**\n * Called when terminal size is changed.\n *\n * Clients should override this to receive notification of resize.\n *\n * @param {string|integer} terminal width.\n * @param {string|integer} terminal height.\n */\nhterm.Terminal.IO.prototype.onTerminalResize = function(width, height) {\n // Override this.\n};\n\n/**\n * Write a UTF-8 encoded byte string to the terminal.\n *\n * @param {string} string The UTF-8 encoded string to print.\n */\nhterm.Terminal.IO.prototype.writeUTF8 = function(string) {\n if (this.terminal_.io != this)\n throw 'Attempt to print from inactive IO object.';\n\n this.terminal_.interpret(string);\n};\n\n/**\n * Write a UTF-8 encoded byte string to the terminal followed by crlf.\n *\n * @param {string} string The UTF-8 encoded string to print.\n */\nhterm.Terminal.IO.prototype.writelnUTF8 = function(string) {\n if (this.terminal_.io != this)\n throw 'Attempt to print from inactive IO object.';\n\n this.terminal_.interpret(string + '\\r\\n');\n};\n\n/**\n * Write a UTF-16 JavaScript string to the terminal.\n *\n * @param {string} string The string to print.\n */\nhterm.Terminal.IO.prototype.print =\nhterm.Terminal.IO.prototype.writeUTF16 = function(string) {\n this.writeUTF8(lib.encodeUTF8(string));\n};\n\n/**\n * Print a UTF-16 JavaScript string to the terminal followed by a newline.\n *\n * @param {string} string The string to print.\n */\nhterm.Terminal.IO.prototype.println =\nhterm.Terminal.IO.prototype.writelnUTF16 = function(string) {\n this.writelnUTF8(lib.encodeUTF8(string));\n};\n// SOURCE FILE: hterm/js/hterm_text_attributes.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors');\n\n/**\n * Constructor for TextAttribute objects.\n *\n * These objects manage a set of text attributes such as foreground/\n * background color, bold, faint, italic, blink, underline, and strikethrough.\n *\n * TextAttribute instances can be used to construct a DOM container implementing\n * the current attributes, or to test an existing DOM container for\n * compatibility with the current attributes.\n *\n * @constructor\n * @param {HTMLDocument} document The parent document to use when creating\n * new DOM containers.\n */\nhterm.TextAttributes = function(document) {\n this.document_ = document;\n // These variables contain the source of the color as either:\n // SRC_DEFAULT (use context default)\n // SRC_RGB (specified in 'rgb( r, g, b)' form)\n // number (representing the index from color palette to use)\n this.foregroundSource = this.SRC_DEFAULT;\n this.backgroundSource = this.SRC_DEFAULT;\n\n // These properties cache the value in the color table, but foregroundSource\n // and backgroundSource contain the canonical values.\n this.foreground = this.DEFAULT_COLOR;\n this.background = this.DEFAULT_COLOR;\n\n this.defaultForeground = 'rgb(255, 255, 255)';\n this.defaultBackground = 'rgb(0, 0, 0)';\n\n this.bold = false;\n this.faint = false;\n this.italic = false;\n this.blink = false;\n this.underline = false;\n this.strikethrough = false;\n this.inverse = false;\n this.invisible = false;\n this.wcNode = false;\n this.asciiNode = true;\n this.tileData = null;\n\n this.colorPalette = null;\n this.resetColorPalette();\n};\n\n/**\n * If false, we ignore the bold attribute.\n *\n * This is used for fonts that have a bold version that is a different size\n * than the normal weight version.\n */\nhterm.TextAttributes.prototype.enableBold = true;\n\n/**\n * If true, use bright colors (if available) for bold text.\n *\n * This setting is independent of the enableBold setting.\n */\nhterm.TextAttributes.prototype.enableBoldAsBright = true;\n\n/**\n * A sentinel constant meaning \"whatever the default color is in this context\".\n */\nhterm.TextAttributes.prototype.DEFAULT_COLOR = lib.f.createEnum('');\n\n/**\n * A constant string used to specify that source color is context default.\n */\nhterm.TextAttributes.prototype.SRC_DEFAULT = 'default';\n\n\n/**\n * A constant string used to specify that the source of a color is a valid\n * rgb( r, g, b) specifier.\n */\nhterm.TextAttributes.prototype.SRC_RGB = 'rgb';\n\n/**\n * The document object which should own the DOM nodes created by this instance.\n *\n * @param {HTMLDocument} document The parent document.\n */\nhterm.TextAttributes.prototype.setDocument = function(document) {\n this.document_ = document;\n};\n\n/**\n * Create a deep copy of this object.\n *\n * @return {hterm.TextAttributes} A deep copy of this object.\n */\nhterm.TextAttributes.prototype.clone = function() {\n var rv = new hterm.TextAttributes(null);\n\n for (var key in this) {\n rv[key] = this[key];\n }\n\n rv.colorPalette = this.colorPalette.concat();\n return rv;\n};\n\n/**\n * Reset the current set of attributes.\n *\n * This does not affect the palette. Use resetColorPalette() for that.\n * It also doesn't affect the tile data, it's not meant to.\n */\nhterm.TextAttributes.prototype.reset = function() {\n this.foregroundSource = this.SRC_DEFAULT;\n this.backgroundSource = this.SRC_DEFAULT;\n this.foreground = this.DEFAULT_COLOR;\n this.background = this.DEFAULT_COLOR;\n this.bold = false;\n this.faint = false;\n this.italic = false;\n this.blink = false;\n this.underline = false;\n this.strikethrough = false;\n this.inverse = false;\n this.invisible = false;\n this.wcNode = false;\n this.asciiNode = true;\n};\n\n/**\n * Reset the color palette to the default state.\n */\nhterm.TextAttributes.prototype.resetColorPalette = function() {\n this.colorPalette = lib.colors.colorPalette.concat();\n this.syncColors();\n};\n\n/**\n * Test if the current attributes describe unstyled text.\n *\n * @return {boolean} True if the current attributes describe unstyled text.\n */\nhterm.TextAttributes.prototype.isDefault = function() {\n return (this.foregroundSource == this.SRC_DEFAULT &&\n this.backgroundSource == this.SRC_DEFAULT &&\n !this.bold &&\n !this.faint &&\n !this.italic &&\n !this.blink &&\n !this.underline &&\n !this.strikethrough &&\n !this.inverse &&\n !this.invisible &&\n !this.wcNode &&\n this.asciiNode &&\n this.tileData == null);\n};\n\n/**\n * Create a DOM container (a span or a text node) with a style to match the\n * current set of attributes.\n *\n * This method will create a plain text node if the text is unstyled, or\n * an HTML span if the text is styled. Due to lack of monospace wide character\n * fonts on certain systems (e.g. Chrome OS), we need to put each wide character\n * in a span of CSS class '.wc-node' which has double column width.\n * Each vt_tiledata tile is also represented by a span with a single\n * character, with CSS classes '.tile' and '.tile_'.\n *\n * @param {string} opt_textContent Optional text content for the new container.\n * @return {HTMLNode} An HTML span or text nodes styled to match the current\n * attributes.\n */\nhterm.TextAttributes.prototype.createContainer = function(opt_textContent) {\n if (this.isDefault())\n return this.document_.createTextNode(opt_textContent);\n\n var span = this.document_.createElement('span');\n var style = span.style;\n var classes = [];\n\n if (this.foreground != this.DEFAULT_COLOR)\n style.color = this.foreground;\n\n if (this.background != this.DEFAULT_COLOR)\n style.backgroundColor = this.background;\n\n if (this.enableBold && this.bold)\n style.fontWeight = 'bold';\n\n if (this.faint)\n span.faint = true;\n\n if (this.italic)\n style.fontStyle = 'italic';\n\n if (this.blink) {\n classes.push('blink-node');\n span.blinkNode = true;\n }\n\n var textDecoration = '';\n if (this.underline) {\n textDecoration += ' underline';\n span.underline = true;\n }\n if (this.strikethrough) {\n textDecoration += ' line-through';\n span.strikethrough = true;\n }\n if (textDecoration) {\n style.textDecoration = textDecoration;\n }\n\n if (this.wcNode) {\n classes.push('wc-node');\n span.wcNode = true;\n span.asciiNode = false;\n }\n\n if (this.tileData != null) {\n classes.push('tile');\n classes.push('tile_' + this.tileData);\n span.tileNode = true;\n }\n\n if (opt_textContent)\n span.textContent = opt_textContent;\n\n if (classes.length)\n span.className = classes.join(' ');\n\n return span;\n};\n\n/**\n * Tests if the provided object (string, span or text node) has the same\n * style as this TextAttributes instance.\n *\n * This indicates that text with these attributes could be inserted directly\n * into the target DOM node.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj The object to test.\n * @return {boolean} True if the provided container has the same style as\n * this attributes instance.\n */\nhterm.TextAttributes.prototype.matchesContainer = function(obj) {\n if (typeof obj == 'string' || obj.nodeType == 3)\n return this.isDefault();\n\n var style = obj.style;\n\n // We don't want to put multiple characters in a wcNode or a tile.\n // See the comments in createContainer.\n return (!(this.wcNode || obj.wcNode) &&\n this.asciiNode == this.asciiNode &&\n !(this.tileData != null || obj.tileNode) &&\n this.foreground == style.color &&\n this.background == style.backgroundColor &&\n (this.enableBold && this.bold) == !!style.fontWeight &&\n this.blink == obj.blinkNode &&\n this.italic == !!style.fontStyle &&\n !!this.underline == !!obj.underline &&\n !!this.strikethrough == !!obj.strikethrough);\n};\n\nhterm.TextAttributes.prototype.setDefaults = function(foreground, background) {\n this.defaultForeground = foreground;\n this.defaultBackground = background;\n\n this.syncColors();\n};\n\n/**\n * Updates foreground and background properties based on current indices and\n * other state.\n *\n * @param {string} terminalForeground The terminal foreground color for use as\n * inverse text background.\n * @param {string} terminalBackground The terminal background color for use as\n * inverse text foreground.\n *\n */\nhterm.TextAttributes.prototype.syncColors = function() {\n function getBrightIndex(i) {\n if (i < 8) {\n // If the color is from the lower half of the ANSI 16, add 8.\n return i + 8;\n }\n\n // If it's not from the 16 color palette, ignore bold requests. This\n // matches the behavior of gnome-terminal.\n return i;\n }\n\n var foregroundSource = this.foregroundSource;\n var backgroundSource = this.backgroundSource;\n var defaultForeground = this.DEFAULT_COLOR;\n var defaultBackground = this.DEFAULT_COLOR;\n\n if (this.inverse) {\n foregroundSource = this.backgroundSource;\n backgroundSource = this.foregroundSource;\n // We can't inherit the container's color anymore.\n defaultForeground = this.defaultBackground;\n defaultBackground = this.defaultForeground;\n }\n\n if (this.enableBoldAsBright && this.bold) {\n if (foregroundSource != this.SRC_DEFAULT &&\n foregroundSource != this.SRC_RGB) {\n foregroundSource = getBrightIndex(foregroundSource);\n }\n }\n\n if (this.invisible) {\n foregroundSource = backgroundSource;\n defaultForeground = this.defaultBackground;\n }\n\n // Set fore/background colors unless already specified in rgb(r, g, b) form.\n if (foregroundSource != this.SRC_RGB) {\n this.foreground = ((foregroundSource == this.SRC_DEFAULT) ?\n defaultForeground : this.colorPalette[foregroundSource]);\n }\n\n if (this.faint && !this.invisible) {\n var colorToMakeFaint = ((this.foreground == this.DEFAULT_COLOR) ?\n this.defaultForeground : this.foreground);\n this.foreground = lib.colors.mix(colorToMakeFaint, 'rgb(0, 0, 0)', 0.3333);\n }\n\n if (backgroundSource != this.SRC_RGB) {\n this.background = ((backgroundSource == this.SRC_DEFAULT) ?\n defaultBackground : this.colorPalette[backgroundSource]);\n }\n};\n\n/**\n * Static method used to test if the provided objects (strings, spans or\n * text nodes) have the same style.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj1 An object to test.\n * @param {string|HTMLNode} obj2 Another object to test.\n * @return {boolean} True if the containers have the same style.\n */\nhterm.TextAttributes.containersMatch = function(obj1, obj2) {\n if (typeof obj1 == 'string')\n return hterm.TextAttributes.containerIsDefault(obj2);\n\n if (obj1.nodeType != obj2.nodeType)\n return false;\n\n if (obj1.nodeType == 3)\n return true;\n\n var style1 = obj1.style;\n var style2 = obj2.style;\n\n return (style1.color == style2.color &&\n style1.backgroundColor == style2.backgroundColor &&\n style1.fontWeight == style2.fontWeight &&\n style1.fontStyle == style2.fontStyle &&\n style1.textDecoration == style2.textDecoration);\n};\n\n/**\n * Static method to test if a given DOM container represents unstyled text.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj1 An object to test.\n * @return {boolean} True if the object is unstyled.\n */\nhterm.TextAttributes.containerIsDefault = function(obj) {\n return typeof obj == 'string' || obj.nodeType == 3;\n};\n\n/**\n * Static method to get the column width of a node's textContent.\n *\n * @param {HTMLElement} node The HTML element to get the width of textContent\n * from.\n * @return {integer} The column width of the node's textContent.\n */\nhterm.TextAttributes.nodeWidth = function(node) {\n if (!node.asciiNode) {\n return lib.wc.strWidth(node.textContent);\n } else {\n return node.textContent.length;\n }\n}\n\n/**\n * Static method to get the substr of a node's textContent. The start index\n * and substr width are computed in column width.\n *\n * @param {HTMLElement} node The HTML element to get the substr of textContent\n * from.\n * @param {integer} start The starting offset in column width.\n * @param {integer} width The width to capture in column width.\n * @return {integer} The extracted substr of the node's textContent.\n */\nhterm.TextAttributes.nodeSubstr = function(node, start, width) {\n if (!node.asciiNode) {\n return lib.wc.substr(node.textContent, start, width);\n } else {\n return node.textContent.substr(start, width);\n }\n}\n\n/**\n * Static method to get the substring based of a node's textContent. The\n * start index of end index are computed in column width.\n *\n * @param {HTMLElement} node The HTML element to get the substr of textContent\n * from.\n * @param {integer} start The starting offset in column width.\n * @param {integer} end The ending offset in column width.\n * @return {integer} The extracted substring of the node's textContent.\n */\nhterm.TextAttributes.nodeSubstring = function(node, start, end) {\n if (!node.asciiNode) {\n return lib.wc.substring(node.textContent, start, end);\n } else {\n return node.textContent.substring(start, end);\n }\n};\n\n/**\n * Static method to split a string into contiguous runs of single-width\n * characters and runs of double-width characters.\n *\n * @param {string} str The string to split.\n * @return {Array} An array of objects that contain substrings of str, where\n * each substring is either a contiguous runs of single-width characters\n * or a double-width character. For objects that contain a double-width\n * character, its wcNode property is set to true. For objects that contain\n * only ASCII content, its asciiNode property is set to true.\n */\nhterm.TextAttributes.splitWidecharString = function(str) {\n var rv = [];\n var base = 0, length = 0;\n var asciiNode = true;\n\n for (var i = 0; i < str.length;) {\n var c = str.codePointAt(i);\n var increment = (c <= 0xffff) ? 1 : 2;\n if (c < 128) {\n length += increment;\n } else if (lib.wc.charWidth(c) <= 1) {\n length += increment;\n asciiNode = false;\n } else {\n if (length) {\n rv.push({\n str: str.substr(base, length),\n asciiNode: asciiNode,\n });\n asciiNode = true;\n }\n rv.push({\n str: str.substr(i, increment),\n wcNode: true,\n asciiNode: false,\n });\n base = i + increment;\n length = 0;\n }\n i += increment;\n }\n\n if (length) {\n rv.push({\n str: str.substr(base, length),\n asciiNode: asciiNode,\n });\n }\n\n return rv;\n};\n// SOURCE FILE: hterm/js/hterm_vt.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors', 'lib.f', 'lib.UTF8Decoder',\n 'hterm.VT.CharacterMap');\n\n/**\n * Constructor for the VT escape sequence interpreter.\n *\n * The interpreter operates on a terminal object capable of performing cursor\n * move operations, painting characters, etc.\n *\n * This interpreter is intended to be compatible with xterm, though it\n * ignores some of the more esoteric escape sequences.\n *\n * Control sequences are documented in hterm/doc/ControlSequences.md.\n *\n * @param {hterm.Terminal} terminal Terminal to use with the interpreter.\n */\nhterm.VT = function(terminal) {\n /**\n * The display terminal object associated with this virtual terminal.\n */\n this.terminal = terminal;\n\n terminal.onMouse = this.onTerminalMouse_.bind(this);\n this.mouseReport = this.MOUSE_REPORT_DISABLED;\n\n // Parse state left over from the last parse. You should use the parseState\n // instance passed into your parse routine, rather than reading\n // this.parseState_ directly.\n this.parseState_ = new hterm.VT.ParseState(this.parseUnknown_);\n\n // Any \"leading modifiers\" for the escape sequence, such as '?', ' ', or the\n // other modifiers handled in this.parseCSI_.\n this.leadingModifier_ = '';\n\n // Any \"trailing modifiers\". Same character set as a leading modifier,\n // except these are found after the numeric arguments.\n this.trailingModifier_ = '';\n\n // Whether or not to respect the escape codes for setting terminal width.\n this.allowColumnWidthChanges_ = false;\n\n // The amount of time we're willing to wait for the end of an OSC sequence.\n this.oscTimeLimit_ = 20000;\n\n // Decoder to maintain UTF-8 decode state.\n this.utf8Decoder_ = new lib.UTF8Decoder();\n\n /**\n * Whether to accept the 8-bit control characters.\n *\n * An 8-bit control character is one with the eighth bit set. These\n * didn't work on 7-bit terminals so they all have two byte equivalents.\n * Most hosts still only use the two-byte versions.\n *\n * We ignore 8-bit control codes by default. This is in order to avoid\n * issues with \"accidental\" usage of codes that need to be terminated.\n * The \"accident\" usually involves cat'ing binary data.\n */\n this.enable8BitControl = false;\n\n /**\n * Whether to allow the OSC 52 sequence to write to the system clipboard.\n */\n this.enableClipboardWrite = true;\n\n /**\n * Respect the host's attempt to change the cursor blink status using\n * the DEC Private mode 12.\n */\n this.enableDec12 = false;\n\n /**\n * The expected encoding method for data received from the host.\n */\n this.characterEncoding = 'utf-8';\n\n /**\n * Max length of an unterminated DCS, OSC, PM or APC sequence before we give\n * up and ignore the code.\n *\n * These all end with a String Terminator (ST, '\\x9c', ESC '\\\\') or\n * (BEL, '\\x07') character, hence the \"string sequence\" moniker.\n */\n this.maxStringSequence = 1024;\n\n /**\n * If true, emit warnings when we encounter a control character or escape\n * sequence that we don't recognize or explicitly ignore.\n */\n this.warnUnimplemented = true;\n\n /**\n * The set of available character maps (used by G0...G3 below).\n */\n this.characterMaps = new hterm.VT.CharacterMaps();\n\n /**\n * The default G0...G3 character maps.\n * We default to the US/ASCII map everywhere as that aligns with other\n * terminals, and it makes it harder to accidentally switch to the graphics\n * character map (Ctrl-N). Any program that wants to use the graphics map\n * will usually select it anyways since there's no guarantee what state any\n * of the maps are in at any particular time.\n */\n this.G0 = this.G1 = this.G2 = this.G3 =\n this.characterMaps.getMap('B');\n\n /**\n * The 7-bit visible character set.\n *\n * This is a mapping from inbound data to display glyph. The GL set\n * contains the 94 bytes from 0x21 to 0x7e.\n *\n * The default GL set is 'B', US ASCII.\n */\n this.GL = 'G0';\n\n /**\n * The 8-bit visible character set.\n *\n * This is a mapping from inbound data to display glyph. The GR set\n * contains the 94 bytes from 0xa1 to 0xfe.\n */\n this.GR = 'G0';\n\n /**\n * The current encoding of the terminal.\n *\n * We only support ECMA-35 and UTF-8, so go with a boolean here.\n * The encoding can be locked too.\n */\n this.codingSystemUtf8_ = false;\n this.codingSystemLocked_ = false;\n\n // Construct a regular expression to match the known one-byte control chars.\n // This is used in parseUnknown_ to quickly scan a string for the next\n // control character.\n this.cc1Pattern_ = null;\n this.updateEncodingState_();\n\n // Saved state used in DECSC.\n //\n // This is a place to store a copy VT state, it is *not* the active state.\n this.savedState_ = new hterm.VT.CursorState(this);\n};\n\n/**\n * No mouse events.\n */\nhterm.VT.prototype.MOUSE_REPORT_DISABLED = 0;\n\n/**\n * DECSET mode 1000.\n *\n * Report mouse down/up events only.\n */\nhterm.VT.prototype.MOUSE_REPORT_CLICK = 1;\n\n/**\n * DECSET mode 1002.\n *\n * Report mouse down/up and movement while a button is down.\n */\nhterm.VT.prototype.MOUSE_REPORT_DRAG = 3;\n\n/**\n * ParseState constructor.\n *\n * This object tracks the current state of the parse. It has fields for the\n * current buffer, position in the buffer, and the parse function.\n *\n * @param {function} defaultFunc The default parser function.\n * @param {string} opt_buf Optional string to use as the current buffer.\n */\nhterm.VT.ParseState = function(defaultFunction, opt_buf) {\n this.defaultFunction = defaultFunction;\n this.buf = opt_buf || null;\n this.pos = 0;\n this.func = defaultFunction;\n this.args = [];\n};\n\n/**\n * Reset the parser function, buffer, and position.\n */\nhterm.VT.ParseState.prototype.reset = function(opt_buf) {\n this.resetParseFunction();\n this.resetBuf(opt_buf || '');\n this.resetArguments();\n};\n\n/**\n * Reset the parser function only.\n */\nhterm.VT.ParseState.prototype.resetParseFunction = function() {\n this.func = this.defaultFunction;\n};\n\n/**\n * Reset the buffer and position only.\n *\n * @param {string} buf Optional new value for buf, defaults to null.\n */\nhterm.VT.ParseState.prototype.resetBuf = function(opt_buf) {\n this.buf = (typeof opt_buf == 'string') ? opt_buf : null;\n this.pos = 0;\n};\n\n/**\n * Reset the arguments list only.\n *\n * @param {string} opt_arg_zero Optional initial value for args[0].\n */\nhterm.VT.ParseState.prototype.resetArguments = function(opt_arg_zero) {\n this.args.length = 0;\n if (typeof opt_arg_zero != 'undefined')\n this.args[0] = opt_arg_zero;\n};\n\n/**\n * Get an argument as an integer.\n *\n * @param {number} argnum The argument number to retrieve.\n */\nhterm.VT.ParseState.prototype.iarg = function(argnum, defaultValue) {\n var str = this.args[argnum];\n if (str) {\n var ret = parseInt(str, 10);\n // An argument of zero is treated as the default value.\n if (ret == 0)\n ret = defaultValue;\n return ret;\n }\n return defaultValue;\n};\n\n/**\n * Advance the parse position.\n *\n * @param {integer} count The number of bytes to advance.\n */\nhterm.VT.ParseState.prototype.advance = function(count) {\n this.pos += count;\n};\n\n/**\n * Return the remaining portion of the buffer without affecting the parse\n * position.\n *\n * @return {string} The remaining portion of the buffer.\n */\nhterm.VT.ParseState.prototype.peekRemainingBuf = function() {\n return this.buf.substr(this.pos);\n};\n\n/**\n * Return the next single character in the buffer without affecting the parse\n * position.\n *\n * @return {string} The next character in the buffer.\n */\nhterm.VT.ParseState.prototype.peekChar = function() {\n return this.buf.substr(this.pos, 1);\n};\n\n/**\n * Return the next single character in the buffer and advance the parse\n * position one byte.\n *\n * @return {string} The next character in the buffer.\n */\nhterm.VT.ParseState.prototype.consumeChar = function() {\n return this.buf.substr(this.pos++, 1);\n};\n\n/**\n * Return true if the buffer is empty, or the position is past the end.\n */\nhterm.VT.ParseState.prototype.isComplete = function() {\n return this.buf == null || this.buf.length <= this.pos;\n};\n\nhterm.VT.CursorState = function(vt) {\n this.vt_ = vt;\n this.save();\n};\n\nhterm.VT.CursorState.prototype.save = function() {\n this.cursor = this.vt_.terminal.saveCursor();\n\n this.textAttributes = this.vt_.terminal.getTextAttributes().clone();\n\n this.GL = this.vt_.GL;\n this.GR = this.vt_.GR;\n\n this.G0 = this.vt_.G0;\n this.G1 = this.vt_.G1;\n this.G2 = this.vt_.G2;\n this.G3 = this.vt_.G3;\n};\n\nhterm.VT.CursorState.prototype.restore = function() {\n this.vt_.terminal.restoreCursor(this.cursor);\n\n this.vt_.terminal.setTextAttributes(this.textAttributes.clone());\n\n this.vt_.GL = this.GL;\n this.vt_.GR = this.GR;\n\n this.vt_.G0 = this.G0;\n this.vt_.G1 = this.G1;\n this.vt_.G2 = this.G2;\n this.vt_.G3 = this.G3;\n};\n\nhterm.VT.prototype.reset = function() {\n this.G0 = this.characterMaps.getMap('B');\n this.G1 = this.characterMaps.getMap('0');\n this.G2 = this.characterMaps.getMap('B');\n this.G3 = this.characterMaps.getMap('B');\n\n this.GL = 'G0';\n this.GR = 'G0';\n\n this.savedState_ = new hterm.VT.CursorState(this);\n\n this.mouseReport = this.MOUSE_REPORT_DISABLED;\n};\n\n/**\n * Handle terminal mouse events.\n *\n * See the \"Mouse Tracking\" section of [xterm].\n */\nhterm.VT.prototype.onTerminalMouse_ = function(e) {\n if (this.mouseReport == this.MOUSE_REPORT_DISABLED)\n return;\n\n // Temporary storage for our response.\n var response;\n\n // Modifier key state.\n var mod = 0;\n if (e.shiftKey)\n mod |= 4;\n if (e.metaKey || (this.terminal.keyboard.altIsMeta && e.altKey))\n mod |= 8;\n if (e.ctrlKey)\n mod |= 16;\n\n // TODO(rginda): We should also support mode 1005 and/or 1006 to extend the\n // coordinate space. Though, after poking around just a little, I wasn't\n // able to get vi or emacs to use either of these modes.\n var x = String.fromCharCode(lib.f.clamp(e.terminalColumn + 32, 32, 255));\n var y = String.fromCharCode(lib.f.clamp(e.terminalRow + 32, 32, 255));\n\n switch (e.type) {\n case 'wheel':\n // Mouse wheel is treated as button 1 or 2 plus an additional 64.\n b = (((e.deltaY * -1) > 0) ? 0 : 1) + 96;\n b |= mod;\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n\n // Keep the terminal from scrolling.\n e.preventDefault();\n break;\n\n case 'mousedown':\n // Buttons are encoded as button number plus 32.\n var b = Math.min(e.button, 2) + 32;\n\n // And mix in the modifier keys.\n b |= mod;\n\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n break;\n\n case 'mouseup':\n // Mouse up has no indication of which button was released.\n response = '\\x1b[M\\x23' + x + y;\n break;\n\n case 'mousemove':\n if (this.mouseReport == this.MOUSE_REPORT_DRAG && e.buttons) {\n // Standard button bits. The XTerm protocol only reports the first\n // button press (e.g. if left & right are pressed, right is ignored),\n // and it only supports the first three buttons. If none of them are\n // pressed, then XTerm flags it as a release. We'll do the same.\n b = 32;\n\n // Priority here matches XTerm: left, middle, right.\n if (e.buttons & 0x1) {\n // Report left button.\n b += 0;\n } else if (e.buttons & 0x4) {\n // Report middle button.\n b += 1;\n } else if (e.buttons & 0x2) {\n // Report right button.\n b += 2;\n } else {\n // Release higher buttons.\n b += 3;\n }\n\n // Add 32 to indicate mouse motion.\n b += 32;\n\n // And mix in the modifier keys.\n b |= mod;\n\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n }\n\n break;\n\n case 'click':\n case 'dblclick':\n break;\n\n default:\n console.error('Unknown mouse event: ' + e.type, e);\n break;\n }\n\n if (response)\n this.terminal.io.sendString(response);\n};\n\n/**\n * Interpret a string of characters, displaying the results on the associated\n * terminal object.\n *\n * The buffer will be decoded according to the 'receive-encoding' preference.\n */\nhterm.VT.prototype.interpret = function(buf) {\n this.parseState_.resetBuf(this.decode(buf));\n\n while (!this.parseState_.isComplete()) {\n var func = this.parseState_.func;\n var pos = this.parseState_.pos;\n var buf = this.parseState_.buf;\n\n this.parseState_.func.call(this, this.parseState_);\n\n if (this.parseState_.func == func && this.parseState_.pos == pos &&\n this.parseState_.buf == buf) {\n throw 'Parser did not alter the state!';\n }\n }\n};\n\n/**\n * Decode a string according to the 'receive-encoding' preference.\n */\nhterm.VT.prototype.decode = function(str) {\n if (this.characterEncoding == 'utf-8')\n return this.decodeUTF8(str);\n\n return str;\n};\n\n/**\n * Encode a UTF-16 string as UTF-8.\n *\n * See also: https://en.wikipedia.org/wiki/UTF-16\n */\nhterm.VT.prototype.encodeUTF8 = function(str) {\n return lib.encodeUTF8(str);\n};\n\n/**\n * Decode a UTF-8 string into UTF-16.\n */\nhterm.VT.prototype.decodeUTF8 = function(str) {\n return this.utf8Decoder_.decode(str);\n};\n\n/**\n * Set the encoding of the terminal.\n *\n * @param {string} encoding The name of the encoding to set.\n */\nhterm.VT.prototype.setEncoding = function(encoding) {\n switch (encoding) {\n default:\n console.warn('Invalid value for \"terminal-encoding\": ' + encoding);\n // Fall through.\n case 'iso-2022':\n this.codingSystemUtf8_ = false;\n this.codingSystemLocked_ = false;\n break;\n case 'utf-8-locked':\n this.codingSystemUtf8_ = true;\n this.codingSystemLocked_ = true;\n break;\n case 'utf-8':\n this.codingSystemUtf8_ = true;\n this.codingSystemLocked_ = false;\n break;\n }\n\n this.updateEncodingState_();\n};\n\n/**\n * Refresh internal state when the encoding changes.\n */\nhterm.VT.prototype.updateEncodingState_ = function() {\n // If we're in UTF8 mode, don't suport 8-bit escape sequences as we'll never\n // see those -- everything should be UTF8!\n var cc1 = Object.keys(hterm.VT.CC1)\n .filter((e) => !this.codingSystemUtf8_ || e.charCodeAt() < 0x80)\n .map((e) => '\\\\x' + lib.f.zpad(e.charCodeAt().toString(16), 2))\n .join('');\n this.cc1Pattern_ = new RegExp(`[${cc1}]`);\n};\n\n/**\n * The default parse function.\n *\n * This will scan the string for the first 1-byte control character (C0/C1\n * characters from [CTRL]). Any plain text coming before the code will be\n * printed to the terminal, then the control character will be dispatched.\n */\nhterm.VT.prototype.parseUnknown_ = function(parseState) {\n var self = this;\n\n function print(str) {\n if (!self.codingSystemUtf8_ && self[self.GL].GL)\n str = self[self.GL].GL(str);\n\n self.terminal.print(str);\n };\n\n // Search for the next contiguous block of plain text.\n var buf = parseState.peekRemainingBuf();\n var nextControl = buf.search(this.cc1Pattern_);\n\n if (nextControl == 0) {\n // We've stumbled right into a control character.\n this.dispatch('CC1', buf.substr(0, 1), parseState);\n parseState.advance(1);\n return;\n }\n\n if (nextControl == -1) {\n // There are no control characters in this string.\n print(buf);\n parseState.reset();\n return;\n }\n\n print(buf.substr(0, nextControl));\n this.dispatch('CC1', buf.substr(nextControl, 1), parseState);\n parseState.advance(nextControl + 1);\n};\n\n/**\n * Parse a Control Sequence Introducer code and dispatch it.\n *\n * See [CSI] for some useful information about these codes.\n */\nhterm.VT.prototype.parseCSI_ = function(parseState) {\n var ch = parseState.peekChar();\n var args = parseState.args;\n\n if (ch >= '@' && ch <= '~') {\n // This is the final character.\n this.dispatch('CSI', this.leadingModifier_ + this.trailingModifier_ + ch,\n parseState);\n parseState.resetParseFunction();\n\n } else if (ch == ';') {\n // Parameter delimiter.\n if (this.trailingModifier_) {\n // Parameter delimiter after the trailing modifier. That's a paddlin'.\n parseState.resetParseFunction();\n\n } else {\n if (!args.length) {\n // They omitted the first param, we need to supply it.\n args.push('');\n }\n\n args.push('');\n }\n\n } else if (ch >= '0' && ch <= '9') {\n // Next byte in the current parameter.\n\n if (this.trailingModifier_) {\n // Numeric parameter after the trailing modifier. That's a paddlin'.\n parseState.resetParseFunction();\n } else {\n if (!args.length) {\n args[0] = ch;\n } else {\n args[args.length - 1] += ch;\n }\n }\n\n } else if (ch >= ' ' && ch <= '?' && ch != ':') {\n // Modifier character.\n if (!args.length) {\n this.leadingModifier_ += ch;\n } else {\n this.trailingModifier_ += ch;\n }\n\n } else if (this.cc1Pattern_.test(ch)) {\n // Control character.\n this.dispatch('CC1', ch, parseState);\n\n } else {\n // Unexpected character in sequence, bail out.\n parseState.resetParseFunction();\n }\n\n parseState.advance(1);\n};\n\n/**\n * Skip over the string until the next String Terminator (ST, 'ESC \\') or\n * Bell (BEL, '\\x07').\n *\n * The string is accumulated in parseState.args[0]. Make sure to reset the\n * arguments (with parseState.resetArguments) before starting the parse.\n *\n * You can detect that parsing in complete by checking that the parse\n * function has changed back to the default parse function.\n *\n * If we encounter more than maxStringSequence characters, we send back\n * the unterminated sequence to be re-parsed with the default parser function.\n *\n * @return {boolean} If true, parsing is ongoing or complete. If false, we've\n * exceeded the max string sequence.\n */\nhterm.VT.prototype.parseUntilStringTerminator_ = function(parseState) {\n var buf = parseState.peekRemainingBuf();\n var nextTerminator = buf.search(/(\\x1b\\\\|\\x07)/);\n var args = parseState.args;\n\n if (!args.length) {\n args[0] = '';\n args[1] = new Date();\n }\n\n if (nextTerminator == -1) {\n // No terminator here, have to wait for the next string.\n\n args[0] += buf;\n\n var abortReason;\n\n if (args[0].length > this.maxStringSequence)\n abortReason = 'too long: ' + args[0].length;\n\n if (args[0].indexOf('\\x1b') != -1)\n abortReason = 'embedded escape: ' + args[0].indexOf('\\x1b');\n\n if (new Date() - args[1] > this.oscTimeLimit_)\n abortReason = 'timeout expired: ' + new Date() - args[1];\n\n if (abortReason) {\n console.log('parseUntilStringTerminator_: aborting: ' + abortReason,\n args[0]);\n parseState.reset(args[0]);\n return false;\n }\n\n parseState.advance(buf.length);\n return true;\n }\n\n if (args[0].length + nextTerminator > this.maxStringSequence) {\n // We found the end of the sequence, but we still think it's too long.\n parseState.reset(args[0] + buf);\n return false;\n }\n\n args[0] += buf.substr(0, nextTerminator);\n\n parseState.resetParseFunction();\n parseState.advance(nextTerminator +\n (buf.substr(nextTerminator, 1) == '\\x1b' ? 2 : 1));\n\n return true;\n};\n\n/**\n * Dispatch to the function that handles a given CC1, ESC, or CSI or VT52 code.\n */\nhterm.VT.prototype.dispatch = function(type, code, parseState) {\n var handler = hterm.VT[type][code];\n if (!handler) {\n if (this.warnUnimplemented)\n console.warn('Unknown ' + type + ' code: ' + JSON.stringify(code));\n return;\n }\n\n if (handler == hterm.VT.ignore) {\n if (this.warnUnimplemented)\n console.warn('Ignored ' + type + ' code: ' + JSON.stringify(code));\n return;\n }\n\n if (type == 'CC1' && code > '\\x7f' && !this.enable8BitControl) {\n // It's kind of a hack to put this here, but...\n //\n // If we're dispatching a 'CC1' code, and it's got the eighth bit set,\n // but we're not supposed to handle 8-bit codes? Just ignore it.\n //\n // This prevents an errant (DCS, '\\x90'), (OSC, '\\x9d'), (PM, '\\x9e') or\n // (APC, '\\x9f') from locking up the terminal waiting for its expected\n // (ST, '\\x9c') or (BEL, '\\x07').\n console.warn('Ignoring 8-bit control code: 0x' +\n code.charCodeAt(0).toString(16));\n return;\n }\n\n handler.apply(this, [parseState, code]);\n};\n\n/**\n * Set one of the ANSI defined terminal mode bits.\n *\n * Invoked in response to SM/RM.\n *\n * Unexpected and unimplemented values are silently ignored.\n */\nhterm.VT.prototype.setANSIMode = function(code, state) {\n if (code == 4) { // Insert Mode (IRM)\n this.terminal.setInsertMode(state);\n } else if (code == 20) { // Automatic Newline (LNM)\n this.terminal.setAutoCarriageReturn(state);\n } else if (this.warnUnimplemented) {\n console.warn('Unimplemented ANSI Mode: ' + code);\n }\n};\n\n/**\n * Set or reset one of the DEC Private modes.\n *\n * Invoked in response to DECSET/DECRST.\n */\nhterm.VT.prototype.setDECMode = function(code, state) {\n switch (parseInt(code, 10)) {\n case 1: // DECCKM\n this.terminal.keyboard.applicationCursor = state;\n break;\n\n case 3: // DECCOLM\n if (this.allowColumnWidthChanges_) {\n this.terminal.setWidth(state ? 132 : 80);\n\n this.terminal.clearHome();\n this.terminal.setVTScrollRegion(null, null);\n }\n break;\n\n case 5: // DECSCNM\n this.terminal.setReverseVideo(state);\n break;\n\n case 6: // DECOM\n this.terminal.setOriginMode(state);\n break;\n\n case 7: // DECAWM\n this.terminal.setWraparound(state);\n break;\n\n case 12: // Start blinking cursor\n if (this.enableDec12)\n this.terminal.setCursorBlink(state);\n break;\n\n case 25: // DECTCEM\n this.terminal.setCursorVisible(state);\n break;\n\n case 30: // Show scrollbar\n this.terminal.setScrollbarVisible(state);\n break;\n\n case 40: // Allow 80 - 132 (DECCOLM) Mode\n this.terminal.allowColumnWidthChanges_ = state;\n break;\n\n case 45: // Reverse-wraparound Mode\n this.terminal.setReverseWraparound(state);\n break;\n\n case 67: // Backarrow key sends backspace (DECBKM)\n this.terminal.keyboard.backspaceSendsBackspace = state;\n break;\n\n case 1000: // Report on mouse clicks only.\n this.mouseReport = (\n state ? this.MOUSE_REPORT_CLICK : this.MOUSE_REPORT_DISABLED);\n this.terminal.syncMouseStyle();\n break;\n\n case 1002: // Report on mouse clicks and drags\n this.mouseReport = (\n state ? this.MOUSE_REPORT_DRAG : this.MOUSE_REPORT_DISABLED);\n this.terminal.syncMouseStyle();\n break;\n\n case 1010: // Scroll to bottom on tty output\n this.terminal.scrollOnOutput = state;\n break;\n\n case 1011: // Scroll to bottom on key press\n this.terminal.scrollOnKeystroke = state;\n break;\n\n case 1036: // Send ESC when Meta modifies a key\n this.terminal.keyboard.metaSendsEscape = state;\n break;\n\n case 1039: // Send ESC when Alt modifies a key\n if (state) {\n if (!this.terminal.keyboard.previousAltSendsWhat_) {\n this.terminal.keyboard.previousAltSendsWhat_ =\n this.terminal.keyboard.altSendsWhat;\n this.terminal.keyboard.altSendsWhat = 'escape';\n }\n } else if (this.terminal.keyboard.previousAltSendsWhat_) {\n this.terminal.keyboard.altSendsWhat =\n this.terminal.keyboard.previousAltSendsWhat_;\n this.terminal.keyboard.previousAltSendsWhat_ = null;\n }\n break;\n\n case 47: // Use Alternate Screen Buffer\n case 1047:\n this.terminal.setAlternateMode(state);\n break;\n\n case 1048: // Save cursor as in DECSC.\n this.savedState_.save();\n\n case 1049: // 1047 + 1048 + clear.\n if (state) {\n this.savedState_.save();\n this.terminal.setAlternateMode(state);\n this.terminal.clear();\n } else {\n this.terminal.setAlternateMode(state);\n this.savedState_.restore();\n }\n\n break;\n\n case 2004: // Bracketed paste mode.\n this.terminal.setBracketedPaste(state);\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unimplemented DEC Private Mode: ' + code);\n break;\n }\n};\n\n/**\n * Function shared by control characters and escape sequences that are\n * ignored.\n */\nhterm.VT.ignore = function() {};\n\n/**\n * Collection of control characters expressed in a single byte.\n *\n * This includes the characters from the C0 and C1 sets (see [CTRL]) that we\n * care about. Two byte versions of the C1 codes are defined in the\n * hterm.VT.ESC collection.\n *\n * The 'CC1' mnemonic here refers to the fact that these are one-byte Control\n * Codes. It's only used in this source file and not defined in any of the\n * referenced documents.\n */\nhterm.VT.CC1 = {};\n\n/**\n * Collection of two-byte and three-byte sequences starting with ESC.\n */\nhterm.VT.ESC = {};\n\n/**\n * Collection of CSI (Control Sequence Introducer) sequences.\n *\n * These sequences begin with 'ESC [', and may take zero or more arguments.\n */\nhterm.VT.CSI = {};\n\n/**\n * Collection of OSC (Operating System Control) sequences.\n *\n * These sequences begin with 'ESC ]', followed by a function number and a\n * string terminated by either ST or BEL.\n */\nhterm.VT.OSC = {};\n\n/**\n * Collection of VT52 sequences.\n *\n * When in VT52 mode, other sequences are disabled.\n */\nhterm.VT.VT52 = {};\n\n/**\n * Null (NUL).\n *\n * Silently ignored.\n */\nhterm.VT.CC1['\\x00'] = hterm.VT.ignore;\n\n/**\n * Enquiry (ENQ).\n *\n * Transmit answerback message.\n *\n * The default answerback message in xterm is an empty string, so we just\n * ignore this.\n */\nhterm.VT.CC1['\\x05'] = hterm.VT.ignore;\n\n/**\n * Ring Bell (BEL).\n */\nhterm.VT.CC1['\\x07'] = function() {\n this.terminal.ringBell();\n};\n\n/**\n * Backspace (BS).\n *\n * Move the cursor to the left one character position, unless it is at the\n * left margin, in which case no action occurs.\n */\nhterm.VT.CC1['\\x08'] = function() {\n this.terminal.cursorLeft(1);\n};\n\n/**\n * Horizontal Tab (HT).\n *\n * Move the cursor to the next tab stop, or to the right margin if no further\n * tab stops are present on the line.\n */\nhterm.VT.CC1['\\x09'] = function() {\n this.terminal.forwardTabStop();\n};\n\n/**\n * Line Feed (LF).\n *\n * This code causes a line feed or a new line operation. See Automatic\n * Newline (LNM).\n */\nhterm.VT.CC1['\\x0a'] = function() {\n this.terminal.formFeed();\n};\n\n/**\n * Vertical Tab (VT).\n *\n * Interpreted as LF.\n */\nhterm.VT.CC1['\\x0b'] = hterm.VT.CC1['\\x0a'];\n\n/**\n * Form Feed (FF).\n *\n * Interpreted as LF.\n */\nhterm.VT.CC1['\\x0c'] = hterm.VT.CC1['\\x0a'];\n\n/**\n * Carriage Return (CR).\n *\n * Move cursor to the left margin on the current line.\n */\nhterm.VT.CC1['\\x0d'] = function() {\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Shift Out (SO), aka Lock Shift 0 (LS1).\n *\n * Invoke G1 character set in GL.\n */\nhterm.VT.CC1['\\x0e'] = function() {\n this.GL = 'G1';\n};\n\n/**\n * Shift In (SI), aka Lock Shift 0 (LS0).\n *\n * Invoke G0 character set in GL.\n */\nhterm.VT.CC1['\\x0f'] = function() {\n this.GL = 'G0';\n};\n\n/**\n * Transmit On (XON).\n *\n * Not currently implemented.\n *\n * TODO(rginda): Implement?\n */\nhterm.VT.CC1['\\x11'] = hterm.VT.ignore;\n\n/**\n * Transmit Off (XOFF).\n *\n * Not currently implemented.\n *\n * TODO(rginda): Implement?\n */\nhterm.VT.CC1['\\x13'] = hterm.VT.ignore;\n\n/**\n * Cancel (CAN).\n *\n * If sent during a control sequence, the sequence is immediately terminated\n * and not executed.\n *\n * It also causes the error character to be displayed.\n */\nhterm.VT.CC1['\\x18'] = function(parseState) {\n // If we've shifted in the G1 character set, shift it back out to\n // the default character set.\n if (this.GL == 'G1') {\n this.GL = 'G0';\n }\n parseState.resetParseFunction();\n this.terminal.print('?');\n};\n\n/**\n * Substitute (SUB).\n *\n * Interpreted as CAN.\n */\nhterm.VT.CC1['\\x1a'] = hterm.VT.CC1['\\x18'];\n\n/**\n * Escape (ESC).\n */\nhterm.VT.CC1['\\x1b'] = function(parseState) {\n function parseESC(parseState) {\n var ch = parseState.consumeChar();\n\n if (ch == '\\x1b')\n return;\n\n this.dispatch('ESC', ch, parseState);\n\n if (parseState.func == parseESC)\n parseState.resetParseFunction();\n };\n\n parseState.func = parseESC;\n};\n\n/**\n * Delete (DEL).\n */\nhterm.VT.CC1['\\x7f'] = hterm.VT.ignore;\n\n// 8 bit control characters and their two byte equivalents, below...\n\n/**\n * Index (IND).\n *\n * Like newline, only keep the X position\n */\nhterm.VT.CC1['\\x84'] =\nhterm.VT.ESC['D'] = function() {\n this.terminal.lineFeed();\n};\n\n/**\n * Next Line (NEL).\n *\n * Like newline, but doesn't add lines.\n */\nhterm.VT.CC1['\\x85'] =\nhterm.VT.ESC['E'] = function() {\n this.terminal.setCursorColumn(0);\n this.terminal.cursorDown(1);\n};\n\n/**\n * Horizontal Tabulation Set (HTS).\n */\nhterm.VT.CC1['\\x88'] =\nhterm.VT.ESC['H'] = function() {\n this.terminal.setTabStop(this.terminal.getCursorColumn());\n};\n\n/**\n * Reverse Index (RI).\n *\n * Move up one line.\n */\nhterm.VT.CC1['\\x8d'] =\nhterm.VT.ESC['M'] = function() {\n this.terminal.reverseLineFeed();\n};\n\n/**\n * Single Shift 2 (SS2).\n *\n * Select of G2 Character Set for the next character only.\n *\n * Not currently implemented.\n */\nhterm.VT.CC1['\\x8e'] =\nhterm.VT.ESC['N'] = hterm.VT.ignore;\n\n/**\n * Single Shift 3 (SS3).\n *\n * Select of G3 Character Set for the next character only.\n *\n * Not currently implemented.\n */\nhterm.VT.CC1['\\x8f'] =\nhterm.VT.ESC['O'] = hterm.VT.ignore;\n\n/**\n * Device Control String (DCS).\n *\n * Indicate a DCS sequence. See Device-Control functions in [XTERM].\n * Not currently implemented.\n *\n * TODO(rginda): Consider implementing DECRQSS, the rest don't seem applicable.\n */\nhterm.VT.CC1['\\x90'] =\nhterm.VT.ESC['P'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * Start of Guarded Area (SPA).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x96'] =\nhterm.VT.ESC['V'] = hterm.VT.ignore;\n\n/**\n * End of Guarded Area (EPA).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x97'] =\nhterm.VT.ESC['W'] = hterm.VT.ignore;\n\n/**\n * Start of String (SOS).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x98'] =\nhterm.VT.ESC['X'] = hterm.VT.ignore;\n\n/**\n * Single Character Introducer (SCI, also DECID).\n *\n * Return Terminal ID. Obsolete form of 'ESC [ c' (DA).\n */\nhterm.VT.CC1['\\x9a'] =\nhterm.VT.ESC['Z'] = function() {\n this.terminal.io.sendString('\\x1b[?1;2c');\n};\n\n/**\n * Control Sequence Introducer (CSI).\n *\n * The lead into most escape sequences. See [CSI].\n */\nhterm.VT.CC1['\\x9b'] =\nhterm.VT.ESC['['] = function(parseState) {\n parseState.resetArguments();\n this.leadingModifier_ = '';\n this.trailingModifier_ = '';\n parseState.func = this.parseCSI_;\n};\n\n/**\n * String Terminator (ST).\n *\n * Used to terminate DCS/OSC/PM/APC commands which may take string arguments.\n *\n * We don't directly handle it here, as it's only used to terminate other\n * sequences. See the 'parseUntilStringTerminator_' method.\n */\nhterm.VT.CC1['\\x9c'] =\nhterm.VT.ESC['\\\\'] = hterm.VT.ignore;\n\n/**\n * Operating System Command (OSC).\n *\n * Commands relating to the operating system.\n */\nhterm.VT.CC1['\\x9d'] =\nhterm.VT.ESC[']'] = function(parseState) {\n parseState.resetArguments();\n\n function parseOSC(parseState) {\n if (!this.parseUntilStringTerminator_(parseState)) {\n // The string sequence was too long.\n return;\n }\n\n if (parseState.func == parseOSC) {\n // We're not done parsing the string yet.\n return;\n }\n\n // We're done.\n var ary = parseState.args[0].match(/^(\\d+);(.*)$/);\n if (ary) {\n parseState.args[0] = ary[2];\n this.dispatch('OSC', ary[1], parseState);\n } else {\n console.warn('Invalid OSC: ' + JSON.stringify(parseState.args[0]));\n }\n };\n\n parseState.func = parseOSC;\n};\n\n/**\n * Privacy Message (PM).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x9e'] =\nhterm.VT.ESC['^'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * Application Program Control (APC).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x9f'] =\nhterm.VT.ESC['_'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * ESC \\x20 - Unclear to me where these originated, possibly in xterm.\n *\n * Not currently implemented:\n * ESC \\x20 F - Select 7 bit escape codes in responses (S7C1T).\n * ESC \\x20 G - Select 8 bit escape codes in responses (S8C1T).\n * NB: We currently assume S7C1T always.\n *\n * Will not implement:\n * ESC \\x20 L - Set ANSI conformance level 1.\n * ESC \\x20 M - Set ANSI conformance level 2.\n * ESC \\x20 N - Set ANSI conformance level 3.\n */\nhterm.VT.ESC['\\x20'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (this.warnUnimplemented)\n console.warn('Unimplemented sequence: ESC 0x20 ' + ch);\n parseState.resetParseFunction();\n };\n};\n\n/**\n * DEC 'ESC #' sequences.\n */\nhterm.VT.ESC['#'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (ch == '8') // DEC Screen Alignment Test (DECALN)\n this.terminal.fill('E');\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Designate Other Coding System (DOCS).\n */\nhterm.VT.ESC['%'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n\n // If we've locked the encoding, then just eat the bytes and return.\n if (this.codingSystemLocked_) {\n if (ch == '/')\n parseState.consumeChar();\n parseState.resetParseFunction();\n return;\n }\n\n // Process the encoding requests.\n switch (ch) {\n case '@':\n // Switch to ECMA 35.\n this.setEncoding('iso-2022');\n break;\n\n case 'G':\n // Switch to UTF-8.\n this.setEncoding('utf-8');\n break;\n\n case '/':\n // One way transition to something else.\n ch = parseState.consumeChar();\n switch (ch) {\n case 'G': // UTF-8 Level 1.\n case 'H': // UTF-8 Level 2.\n case 'I': // UTF-8 Level 3.\n // We treat all UTF-8 levels the same.\n this.setEncoding('utf-8-locked');\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unknown ESC % / argument: ' + JSON.stringify(ch));\n break;\n }\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unknown ESC % argument: ' + JSON.stringify(ch));\n break;\n }\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Character Set Selection (SCS).\n *\n * ESC ( Ps - Set G0 character set (VT100).\n * ESC ) Ps - Set G1 character set (VT220).\n * ESC * Ps - Set G2 character set (VT220).\n * ESC + Ps - Set G3 character set (VT220).\n * ESC - Ps - Set G1 character set (VT300).\n * ESC . Ps - Set G2 character set (VT300).\n * ESC / Ps - Set G3 character set (VT300).\n *\n * All other sequences are echoed to the terminal.\n */\nhterm.VT.ESC['('] =\nhterm.VT.ESC[')'] =\nhterm.VT.ESC['*'] =\nhterm.VT.ESC['+'] =\nhterm.VT.ESC['-'] =\nhterm.VT.ESC['.'] =\nhterm.VT.ESC['/'] = function(parseState, code) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (ch == '\\x1b') {\n parseState.resetParseFunction();\n parseState.func();\n return;\n }\n\n var map = this.characterMaps.getMap(ch);\n if (map !== undefined) {\n if (code == '(') {\n this.G0 = map;\n } else if (code == ')' || code == '-') {\n this.G1 = map;\n } else if (code == '*' || code == '.') {\n this.G2 = map;\n } else if (code == '+' || code == '/') {\n this.G3 = map;\n }\n } else if (this.warnUnimplemented) {\n console.log('Invalid character set for \"' + code + '\": ' + ch);\n }\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Back Index (DECBI).\n *\n * VT420 and up. Not currently implemented.\n */\nhterm.VT.ESC['6'] = hterm.VT.ignore;\n\n/**\n * Save Cursor (DECSC).\n */\nhterm.VT.ESC['7'] = function() {\n this.savedState_.save();\n};\n\n/**\n * Restore Cursor (DECRC).\n */\nhterm.VT.ESC['8'] = function() {\n this.savedState_.restore();\n};\n\n/**\n * Forward Index (DECFI).\n *\n * VT210 and up. Not currently implemented.\n */\nhterm.VT.ESC['9'] = hterm.VT.ignore;\n\n/**\n * Application keypad (DECKPAM).\n */\nhterm.VT.ESC['='] = function() {\n this.terminal.keyboard.applicationKeypad = true;\n};\n\n/**\n * Normal keypad (DECKPNM).\n */\nhterm.VT.ESC['>'] = function() {\n this.terminal.keyboard.applicationKeypad = false;\n};\n\n/**\n * Cursor to lower left corner of screen.\n *\n * Will not implement.\n *\n * This is only recognized by xterm when the hpLowerleftBugCompat resource is\n * set.\n */\nhterm.VT.ESC['F'] = hterm.VT.ignore;\n\n/**\n * Full Reset (RIS).\n */\nhterm.VT.ESC['c'] = function() {\n this.reset();\n this.terminal.reset();\n};\n\n/**\n * Memory lock/unlock.\n *\n * Will not implement.\n */\nhterm.VT.ESC['l'] =\nhterm.VT.ESC['m'] = hterm.VT.ignore;\n\n/**\n * Lock Shift 2 (LS2)\n *\n * Invoke the G2 Character Set as GL.\n */\nhterm.VT.ESC['n'] = function() {\n this.GL = 'G2';\n};\n\n/**\n * Lock Shift 3 (LS3)\n *\n * Invoke the G3 Character Set as GL.\n */\nhterm.VT.ESC['o'] = function() {\n this.GL = 'G3';\n};\n\n/**\n * Lock Shift 2, Right (LS3R)\n *\n * Invoke the G3 Character Set as GR.\n */\nhterm.VT.ESC['|'] = function() {\n this.GR = 'G3';\n};\n\n/**\n * Lock Shift 2, Right (LS2R)\n *\n * Invoke the G2 Character Set as GR.\n */\nhterm.VT.ESC['}'] = function() {\n this.GR = 'G2';\n};\n\n/**\n * Lock Shift 1, Right (LS1R)\n *\n * Invoke the G1 Character Set as GR.\n */\nhterm.VT.ESC['~'] = function() {\n this.GR = 'G1';\n};\n\n/**\n * Change icon name and window title.\n *\n * We only change the window title.\n */\nhterm.VT.OSC['0'] = function(parseState) {\n this.terminal.setWindowTitle(parseState.args[0]);\n};\n\n/**\n * Change window title.\n */\nhterm.VT.OSC['2'] = hterm.VT.OSC['0'];\n\n/**\n * Set/read color palette.\n */\nhterm.VT.OSC['4'] = function(parseState) {\n // Args come in as a single 'index1;rgb1 ... ;indexN;rgbN' string.\n // We split on the semicolon and iterate through the pairs.\n var args = parseState.args[0].split(';');\n\n var pairCount = parseInt(args.length / 2);\n var colorPalette = this.terminal.getTextAttributes().colorPalette;\n var responseArray = [];\n\n for (var pairNumber = 0; pairNumber < pairCount; ++pairNumber) {\n var colorIndex = parseInt(args[pairNumber * 2]);\n var colorValue = args[pairNumber * 2 + 1];\n\n if (colorIndex >= colorPalette.length)\n continue;\n\n if (colorValue == '?') {\n // '?' means we should report back the current color value.\n colorValue = lib.colors.rgbToX11(colorPalette[colorIndex]);\n if (colorValue)\n responseArray.push(colorIndex + ';' + colorValue);\n\n continue;\n }\n\n colorValue = lib.colors.x11ToCSS(colorValue);\n if (colorValue)\n colorPalette[colorIndex] = colorValue;\n }\n\n if (responseArray.length)\n this.terminal.io.sendString('\\x1b]4;' + responseArray.join(';') + '\\x07');\n};\n\n/**\n * iTerm2 growl notifications.\n */\nhterm.VT.OSC['9'] = function(parseState) {\n // This just dumps the entire string as the message.\n hterm.notify({'body': parseState.args[0]});\n};\n\n/**\n * Change VT100 text foreground color.\n */\nhterm.VT.OSC['10'] = function(parseState) {\n // Args come in as a single string, but extra args will chain to the following\n // OSC sequences.\n var args = parseState.args[0].split(';');\n if (!args)\n return;\n\n var colorArg;\n var colorX11 = lib.colors.x11ToCSS(args.shift());\n if (colorX11)\n this.terminal.setForegroundColor(colorX11);\n\n if (args.length > 0) {\n parseState.args[0] = args.join(';');\n hterm.VT.OSC['11'].apply(this, [parseState]);\n }\n};\n\n/**\n * Change VT100 text background color.\n */\nhterm.VT.OSC['11'] = function(parseState) {\n // Args come in as a single string, but extra args will chain to the following\n // OSC sequences.\n var args = parseState.args[0].split(';');\n if (!args)\n return;\n\n var colorArg;\n var colorX11 = lib.colors.x11ToCSS(args.shift());\n if (colorX11)\n this.terminal.setBackgroundColor(colorX11);\n\n /* Note: If we support OSC 12+, we'd chain it here.\n if (args.length > 0) {\n parseState.args[0] = args.join(';');\n hterm.VT.OSC['12'].apply(this, [parseState]);\n }\n */\n};\n\n/**\n * Set the cursor shape.\n *\n * Parameter is expected to be in the form \"CursorShape=number\", where number is\n * one of:\n *\n * 0 - Block\n * 1 - I-Beam\n * 2 - Underline\n *\n * This is a bit of a de-facto standard supported by iTerm 2 and Konsole. See\n * also: DECSCUSR.\n *\n * Invalid numbers will restore the cursor to the block shape.\n */\nhterm.VT.OSC['50'] = function(parseState) {\n var args = parseState.args[0].match(/CursorShape=(.)/i);\n if (!args) {\n console.warn('Could not parse OSC 50 args: ' + parseState.args[0]);\n return;\n }\n\n switch (args[1]) {\n case '1': // CursorShape=1: I-Beam.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n break;\n\n case '2': // CursorShape=2: Underline.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n break;\n\n default: // CursorShape=0: Block.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n }\n};\n\n/**\n * Set/read system clipboard.\n *\n * Read is not implemented due to security considerations. A remote app\n * that is able to both write and read to the clipboard could essentially\n * take over your session.\n *\n * The clipboard data will be decoded according to the 'receive-encoding'\n * preference.\n */\nhterm.VT.OSC['52'] = function(parseState) {\n // Args come in as a single 'clipboard;b64-data' string. The clipboard\n // parameter is used to select which of the X clipboards to address. Since\n // we're not integrating with X, we treat them all the same.\n var args = parseState.args[0].match(/^[cps01234567]*;(.*)/);\n if (!args)\n return;\n\n var data = window.atob(args[1]);\n if (data)\n this.terminal.copyStringToClipboard(this.decode(data));\n};\n\n/**\n * URxvt perl modules.\n *\n * This is the escape system used by rxvt-unicode and its perl modules.\n * Obviously we don't support perl or custom modules, so we list a few common\n * ones that we find useful.\n *\n * Technically there is no format here, but most modules obey:\n * ;\n */\nhterm.VT.OSC['777'] = function(parseState) {\n var ary;\n var urxvtMod = parseState.args[0].split(';', 1)[0];\n\n switch (urxvtMod) {\n case 'notify':\n // Format:\n // notify;title;message\n var title, message;\n ary = parseState.args[0].match(/^[^;]+;([^;]*)(;([\\s\\S]*))?$/);\n if (ary) {\n title = ary[1];\n message = ary[3];\n }\n hterm.notify({'title': title, 'body': message});\n break;\n\n default:\n console.warn('Unknown urxvt module: ' + parseState.args[0]);\n break;\n }\n};\n\n/**\n * Insert (blank) characters (ICH).\n */\nhterm.VT.CSI['@'] = function(parseState) {\n this.terminal.insertSpace(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Up (CUU).\n */\nhterm.VT.CSI['A'] = function(parseState) {\n this.terminal.cursorUp(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Down (CUD).\n */\nhterm.VT.CSI['B'] = function(parseState) {\n this.terminal.cursorDown(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Forward (CUF).\n */\nhterm.VT.CSI['C'] = function(parseState) {\n this.terminal.cursorRight(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Backward (CUB).\n */\nhterm.VT.CSI['D'] = function(parseState) {\n this.terminal.cursorLeft(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Next Line (CNL).\n *\n * This is like Cursor Down, except the cursor moves to the beginning of the\n * line as well.\n */\nhterm.VT.CSI['E'] = function(parseState) {\n this.terminal.cursorDown(parseState.iarg(0, 1));\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Cursor Preceding Line (CPL).\n *\n * This is like Cursor Up, except the cursor moves to the beginning of the\n * line as well.\n */\nhterm.VT.CSI['F'] = function(parseState) {\n this.terminal.cursorUp(parseState.iarg(0, 1));\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Cursor Character Absolute (CHA).\n */\nhterm.VT.CSI['G'] = function(parseState) {\n this.terminal.setCursorColumn(parseState.iarg(0, 1) - 1);\n};\n\n/**\n * Cursor Position (CUP).\n */\nhterm.VT.CSI['H'] = function(parseState) {\n this.terminal.setCursorPosition(parseState.iarg(0, 1) - 1,\n parseState.iarg(1, 1) - 1);\n};\n\n/**\n * Cursor Forward Tabulation (CHT).\n */\nhterm.VT.CSI['I'] = function(parseState) {\n var count = parseState.iarg(0, 1);\n count = lib.f.clamp(count, 1, this.terminal.screenSize.width);\n for (var i = 0; i < count; i++) {\n this.terminal.forwardTabStop();\n }\n};\n\n/**\n * Erase in Display (ED, DECSED).\n */\nhterm.VT.CSI['J'] =\nhterm.VT.CSI['?J'] = function(parseState, code) {\n var arg = parseState.args[0];\n\n if (!arg || arg == 0) {\n this.terminal.eraseBelow();\n } else if (arg == 1) {\n this.terminal.eraseAbove();\n } else if (arg == 2) {\n this.terminal.clear();\n } else if (arg == 3) {\n // The xterm docs say this means \"Erase saved lines\", but we'll just clear\n // the display since killing the scrollback seems rude.\n this.terminal.clear();\n }\n};\n\n/**\n * Erase in line (EL, DECSEL).\n */\nhterm.VT.CSI['K'] =\nhterm.VT.CSI['?K'] = function(parseState, code) {\n var arg = parseState.args[0];\n\n if (!arg || arg == 0) {\n this.terminal.eraseToRight();\n } else if (arg == 1) {\n this.terminal.eraseToLeft();\n } else if (arg == 2) {\n this.terminal.eraseLine();\n }\n};\n\n/**\n * Insert Lines (IL).\n */\nhterm.VT.CSI['L'] = function(parseState) {\n this.terminal.insertLines(parseState.iarg(0, 1));\n};\n\n/**\n * Delete Lines (DL).\n */\nhterm.VT.CSI['M'] = function(parseState) {\n this.terminal.deleteLines(parseState.iarg(0, 1));\n};\n\n/**\n * Delete Characters (DCH).\n *\n * This command shifts the line contents left, starting at the cursor position.\n */\nhterm.VT.CSI['P'] = function(parseState) {\n this.terminal.deleteChars(parseState.iarg(0, 1));\n};\n\n/**\n * Scroll Up (SU).\n */\nhterm.VT.CSI['S'] = function(parseState) {\n this.terminal.vtScrollUp(parseState.iarg(0, 1));\n};\n\n/**\n * Scroll Down (SD).\n * Also 'Initiate highlight mouse tracking'. Will not implement this part.\n */\nhterm.VT.CSI['T'] = function(parseState) {\n if (parseState.args.length <= 1)\n this.terminal.vtScrollDown(parseState.iarg(0, 1));\n};\n\n/**\n * Reset one or more features of the title modes to the default value.\n *\n * ESC [ > Ps T\n *\n * Normally, \"reset\" disables the feature. It is possible to disable the\n * ability to reset features by compiling a different default for the title\n * modes into xterm.\n *\n * Ps values:\n * 0 - Do not set window/icon labels using hexadecimal.\n * 1 - Do not query window/icon labels using hexadecimal.\n * 2 - Do not set window/icon labels using UTF-8.\n * 3 - Do not query window/icon labels using UTF-8.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>T'] = hterm.VT.ignore;\n\n/**\n * Erase Characters (ECH).\n */\nhterm.VT.CSI['X'] = function(parseState) {\n this.terminal.eraseToRight(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Backward Tabulation (CBT).\n */\nhterm.VT.CSI['Z'] = function(parseState) {\n var count = parseState.iarg(0, 1);\n count = lib.f.clamp(count, 1, this.terminal.screenSize.width);\n for (var i = 0; i < count; i++) {\n this.terminal.backwardTabStop();\n }\n};\n\n/**\n * Character Position Absolute (HPA).\n *\n * Same as Cursor Character Absolute (CHA).\n */\nhterm.VT.CSI['`'] = hterm.VT.CSI['G'];\n\n/**\n * Character Position Relative (HPR).\n */\nhterm.VT.CSI['a'] = function(parseState) {\n this.terminal.setCursorColumn(this.terminal.getCursorColumn() +\n parseState.iarg(0, 1));\n};\n\n/**\n * Repeat the preceding graphic character.\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['b'] = hterm.VT.ignore;\n\n/**\n * Send Device Attributes (Primary DA).\n *\n * TODO(rginda): This is hardcoded to send back 'VT100 with Advanced Video\n * Option', but it may be more correct to send a VT220 response once\n * we fill out the 'Not currently implemented' parts.\n */\nhterm.VT.CSI['c'] = function(parseState) {\n if (!parseState.args[0] || parseState.args[0] == 0) {\n this.terminal.io.sendString('\\x1b[?1;2c');\n }\n};\n\n/**\n * Send Device Attributes (Secondary DA).\n *\n * TODO(rginda): This is hardcoded to send back 'VT100' but it may be more\n * correct to send a VT220 response once we fill out more 'Not currently\n * implemented' parts.\n */\nhterm.VT.CSI['>c'] = function(parseState) {\n this.terminal.io.sendString('\\x1b[>0;256;0c');\n};\n\n/**\n * Line Position Absolute (VPA).\n */\nhterm.VT.CSI['d'] = function(parseState) {\n this.terminal.setAbsoluteCursorRow(parseState.iarg(0, 1) - 1);\n};\n\n/**\n * Horizontal and Vertical Position (HVP).\n *\n * Same as Cursor Position (CUP).\n */\nhterm.VT.CSI['f'] = hterm.VT.CSI['H'];\n\n/**\n * Tab Clear (TBC).\n */\nhterm.VT.CSI['g'] = function(parseState) {\n if (!parseState.args[0] || parseState.args[0] == 0) {\n // Clear tab stop at cursor.\n this.terminal.clearTabStopAtCursor(false);\n } else if (parseState.args[0] == 3) {\n // Clear all tab stops.\n this.terminal.clearAllTabStops();\n }\n};\n\n/**\n * Set Mode (SM).\n */\nhterm.VT.CSI['h'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setANSIMode(parseState.args[i], true);\n }\n};\n\n/**\n * DEC Private Mode Set (DECSET).\n */\nhterm.VT.CSI['?h'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setDECMode(parseState.args[i], true);\n }\n};\n\n/**\n * Media Copy (MC).\n * Media Copy (MC, DEC Specific).\n *\n * These commands control the printer. Will not implement.\n */\nhterm.VT.CSI['i'] =\nhterm.VT.CSI['?i'] = hterm.VT.ignore;\n\n/**\n * Reset Mode (RM).\n */\nhterm.VT.CSI['l'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setANSIMode(parseState.args[i], false);\n }\n};\n\n/**\n * DEC Private Mode Reset (DECRST).\n */\nhterm.VT.CSI['?l'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setDECMode(parseState.args[i], false);\n }\n};\n\n/**\n * Character Attributes (SGR).\n *\n * Iterate through the list of arguments, applying the attribute changes based\n * on the argument value...\n */\nhterm.VT.CSI['m'] = function(parseState) {\n function get256(i) {\n if (parseState.args.length < i + 2 || parseState.args[i + 1] != 5)\n return null;\n\n return parseState.iarg(i + 2, 0);\n }\n\n function getTrueColor(i) {\n if (parseState.args.length < i + 5 || parseState.args[i + 1] != 2)\n return null;\n var r = parseState.iarg(i + 2, 0);\n var g = parseState.iarg(i + 3, 0);\n var b = parseState.iarg(i + 4, 0);\n\n return 'rgb(' + r + ' ,' + g + ' ,' + b + ')';\n }\n\n var attrs = this.terminal.getTextAttributes();\n\n if (!parseState.args.length) {\n attrs.reset();\n return;\n }\n\n for (var i = 0; i < parseState.args.length; i++) {\n var arg = parseState.iarg(i, 0);\n\n if (arg < 30) {\n if (arg == 0) { // Normal (default).\n attrs.reset();\n } else if (arg == 1) { // Bold.\n attrs.bold = true;\n } else if (arg == 2) { // Faint.\n attrs.faint = true;\n } else if (arg == 3) { // Italic.\n attrs.italic = true;\n } else if (arg == 4) { // Underline.\n attrs.underline = true;\n } else if (arg == 5) { // Blink.\n attrs.blink = true;\n } else if (arg == 7) { // Inverse.\n attrs.inverse = true;\n } else if (arg == 8) { // Invisible.\n attrs.invisible = true;\n } else if (arg == 9) { // Crossed out.\n attrs.strikethrough = true;\n } else if (arg == 22) { // Not bold & not faint.\n attrs.bold = false;\n attrs.faint = false;\n } else if (arg == 23) { // Not italic.\n attrs.italic = false;\n } else if (arg == 24) { // Not underlined.\n attrs.underline = false;\n } else if (arg == 25) { // Not blink.\n attrs.blink = false;\n } else if (arg == 27) { // Steady.\n attrs.inverse = false;\n } else if (arg == 28) { // Visible.\n attrs.invisible = false;\n } else if (arg == 29) { // Not crossed out.\n attrs.strikethrough = false;\n }\n\n } else if (arg < 50) {\n // Select fore/background color from bottom half of 16 color palette\n // or from the 256 color palette or alternative specify color in fully\n // qualified rgb(r, g, b) form.\n if (arg < 38) {\n attrs.foregroundSource = arg - 30;\n\n } else if (arg == 38) {\n // First check for true color definition\n var trueColor = getTrueColor(i);\n if (trueColor != null) {\n attrs.foregroundSource = attrs.SRC_RGB;\n attrs.foreground = trueColor;\n\n i += 5;\n } else {\n // Check for 256 color\n var c = get256(i);\n if (c == null)\n break;\n\n i += 2;\n\n if (c >= attrs.colorPalette.length)\n continue;\n\n attrs.foregroundSource = c;\n }\n\n } else if (arg == 39) {\n attrs.foregroundSource = attrs.SRC_DEFAULT;\n\n } else if (arg < 48) {\n attrs.backgroundSource = arg - 40;\n\n } else if (arg == 48) {\n // First check for true color definition\n var trueColor = getTrueColor(i);\n if (trueColor != null) {\n attrs.backgroundSource = attrs.SRC_RGB;\n attrs.background = trueColor;\n\n i += 5;\n } else {\n // Check for 256 color\n var c = get256(i);\n if (c == null)\n break;\n\n i += 2;\n\n if (c >= attrs.colorPalette.length)\n continue;\n\n attrs.backgroundSource = c;\n }\n } else {\n attrs.backgroundSource = attrs.SRC_DEFAULT;\n }\n\n } else if (arg >= 90 && arg <= 97) {\n attrs.foregroundSource = arg - 90 + 8;\n\n } else if (arg >= 100 && arg <= 107) {\n attrs.backgroundSource = arg - 100 + 8;\n }\n }\n\n attrs.setDefaults(this.terminal.getForegroundColor(),\n this.terminal.getBackgroundColor());\n};\n\n/**\n * Set xterm-specific keyboard modes.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>m'] = hterm.VT.ignore;\n\n/**\n * Device Status Report (DSR, DEC Specific).\n *\n * 5 - Status Report. Result (OK) is CSI 0 n\n * 6 - Report Cursor Position (CPR) [row;column]. Result is CSI r ; c R\n */\nhterm.VT.CSI['n'] = function(parseState) {\n if (parseState.args[0] == 5) {\n this.terminal.io.sendString('\\x1b0n');\n } else if (parseState.args[0] == 6) {\n var row = this.terminal.getCursorRow() + 1;\n var col = this.terminal.getCursorColumn() + 1;\n this.terminal.io.sendString('\\x1b[' + row + ';' + col + 'R');\n }\n};\n\n/**\n * Disable modifiers which may be enabled via CSI['>m'].\n *\n * Will not implement.\n */\nhterm.VT.CSI['>n'] = hterm.VT.ignore;\n\n/**\n * Device Status Report (DSR, DEC Specific).\n *\n * 6 - Report Cursor Position (CPR) [row;column] as CSI ? r ; c R\n * 15 - Report Printer status as CSI ? 1 0 n (ready) or\n * CSI ? 1 1 n (not ready).\n * 25 - Report UDK status as CSI ? 2 0 n (unlocked) or CSI ? 2 1 n (locked).\n * 26 - Report Keyboard status as CSI ? 2 7 ; 1 ; 0 ; 0 n (North American).\n * The last two parameters apply to VT400 & up, and denote keyboard ready\n * and LK01 respectively.\n * 53 - Report Locator status as CSI ? 5 3 n Locator available, if compiled-in,\n * or CSI ? 5 0 n No Locator, if not.\n */\nhterm.VT.CSI['?n'] = function(parseState) {\n if (parseState.args[0] == 6) {\n var row = this.terminal.getCursorRow() + 1;\n var col = this.terminal.getCursorColumn() + 1;\n this.terminal.io.sendString('\\x1b[' + row + ';' + col + 'R');\n } else if (parseState.args[0] == 15) {\n this.terminal.io.sendString('\\x1b[?11n');\n } else if (parseState.args[0] == 25) {\n this.terminal.io.sendString('\\x1b[?21n');\n } else if (parseState.args[0] == 26) {\n this.terminal.io.sendString('\\x1b[?12;1;0;0n');\n } else if (parseState.args[0] == 53) {\n this.terminal.io.sendString('\\x1b[?50n');\n }\n};\n\n/**\n * This is used by xterm to decide whether to hide the pointer cursor as the\n * user types.\n *\n * Valid values for the parameter:\n * 0 - Never hide the pointer.\n * 1 - Hide if the mouse tracking mode is not enabled.\n * 2 - Always hide the pointer.\n *\n * If no parameter is given, xterm uses the default, which is 1.\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['>p'] = hterm.VT.ignore;\n\n/**\n * Soft terminal reset (DECSTR).\n */\nhterm.VT.CSI['!p'] = function() {\n this.reset();\n this.terminal.softReset();\n};\n\n/**\n * Request ANSI Mode (DECRQM).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['$p'] = hterm.VT.ignore;\nhterm.VT.CSI['?$p'] = hterm.VT.ignore;\n\n/**\n * Set conformance level (DECSCL).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\"p'] = hterm.VT.ignore;\n\n/**\n * Load LEDs (DECLL).\n *\n * Not currently implemented. Could be implemented as virtual LEDs overlaying\n * the terminal if anyone cares.\n */\nhterm.VT.CSI['q'] = hterm.VT.ignore;\n\n/**\n * Set cursor style (DECSCUSR, VT520).\n */\nhterm.VT.CSI[' q'] = function(parseState) {\n var arg = parseState.args[0];\n\n if (arg == 0 || arg == 1) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n this.terminal.setCursorBlink(true);\n } else if (arg == 2) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n this.terminal.setCursorBlink(false);\n } else if (arg == 3) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n this.terminal.setCursorBlink(true);\n } else if (arg == 4) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n this.terminal.setCursorBlink(false);\n } else if (arg == 5) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n this.terminal.setCursorBlink(true);\n } else if (arg == 6) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n this.terminal.setCursorBlink(false);\n } else {\n console.warn('Unknown cursor style: ' + arg);\n }\n};\n\n/**\n * Select character protection attribute (DECSCA).\n *\n * Will not implement.\n */\nhterm.VT.CSI['\"q'] = hterm.VT.ignore;\n\n/**\n * Set Scrolling Region (DECSTBM).\n */\nhterm.VT.CSI['r'] = function(parseState) {\n var args = parseState.args;\n var scrollTop = args[0] ? parseInt(args[0], 10) -1 : null;\n var scrollBottom = args[1] ? parseInt(args[1], 10) - 1 : null;\n this.terminal.setVTScrollRegion(scrollTop, scrollBottom);\n this.terminal.setCursorPosition(0, 0);\n};\n\n/**\n * Restore DEC Private Mode Values.\n *\n * Will not implement.\n */\nhterm.VT.CSI['?r'] = hterm.VT.ignore;\n\n/**\n * Change Attributes in Rectangular Area (DECCARA)\n *\n * Will not implement.\n */\nhterm.VT.CSI['$r'] = hterm.VT.ignore;\n\n/**\n * Save cursor (ANSI.SYS)\n */\nhterm.VT.CSI['s'] = function() {\n this.savedState_.save();\n};\n\n/**\n * Save DEC Private Mode Values.\n *\n * Will not implement.\n */\nhterm.VT.CSI['?s'] = hterm.VT.ignore;\n\n/**\n * Window manipulation (from dtterm, as well as extensions).\n *\n * Will not implement.\n */\nhterm.VT.CSI['t'] = hterm.VT.ignore;\n\n/**\n * Reverse Attributes in Rectangular Area (DECRARA).\n *\n * Will not implement.\n */\nhterm.VT.CSI['$t'] = hterm.VT.ignore;\n\n/**\n * Set one or more features of the title modes.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>t'] = hterm.VT.ignore;\n\n/**\n * Set warning-bell volume (DECSWBV, VT520).\n *\n * Will not implement.\n */\nhterm.VT.CSI[' t'] = hterm.VT.ignore;\n\n/**\n * Restore cursor (ANSI.SYS).\n */\nhterm.VT.CSI['u'] = function() {\n this.savedState_.restore();\n};\n\n/**\n * Set margin-bell volume (DECSMBV, VT520).\n *\n * Will not implement.\n */\nhterm.VT.CSI[' u'] = hterm.VT.ignore;\n\n/**\n * Copy Rectangular Area (DECCRA, VT400 and up).\n *\n * Will not implement.\n */\nhterm.VT.CSI['$v'] = hterm.VT.ignore;\n\n/**\n * Enable Filter Rectangle (DECEFR).\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'w'] = hterm.VT.ignore;\n\n/**\n * Request Terminal Parameters (DECREQTPARM).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['x'] = hterm.VT.ignore;\n\n/**\n * Select Attribute Change Extent (DECSACE).\n *\n * Will not implement.\n */\nhterm.VT.CSI['*x'] = hterm.VT.ignore;\n\n/**\n * Fill Rectangular Area (DECFRA), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['$x'] = hterm.VT.ignore;\n\n/**\n * vt_tiledata (as used by NAOhack and UnNetHack)\n * (see https://nethackwiki.com/wiki/Vt_tiledata for more info)\n *\n * Implemented as far as we care (start a glyph and end a glyph).\n */\nhterm.VT.CSI['z'] = function(parseState) {\n if (parseState.args.length < 1)\n return;\n var arg = parseState.args[0];\n if (arg == 0) {\n // Start a glyph (one parameter, the glyph number).\n if (parseState.args.length < 2)\n return;\n this.terminal.getTextAttributes().tileData = parseState.args[1];\n } else if (arg == 1) {\n // End a glyph.\n this.terminal.getTextAttributes().tileData = null;\n }\n};\n\n/**\n * Enable Locator Reporting (DECELR).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'z'] = hterm.VT.ignore;\n\n/**\n * Erase Rectangular Area (DECERA), VT400 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['$z'] = hterm.VT.ignore;\n\n/**\n * Select Locator Events (DECSLE).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'{'] = hterm.VT.ignore;\n\n/**\n * Request Locator Position (DECRQLP).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'|'] = hterm.VT.ignore;\n\n/**\n * Insert Columns (DECIC), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'}'] = hterm.VT.ignore;\n\n/**\n * Delete P s Columns (DECDC), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'~'] = hterm.VT.ignore;\n// SOURCE FILE: hterm/js/hterm_vt_character_map.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f');\n\n/**\n * Character map object.\n *\n * Mapping from received to display character, used depending on the active\n * VT character set.\n *\n * GR maps are not currently supported.\n *\n * @param {string} description A human readable description of this map.\n * @param {Object} glmap The GL mapping from input to output characters.\n */\nhterm.VT.CharacterMap = function(description, glmap) {\n /**\n * Short description for this character set, useful for debugging.\n */\n this.description = description;\n\n /**\n * The function to call to when this map is installed in GL.\n */\n this.GL = null;\n\n // Always keep an unmodified reference to the map.\n // This allows us to sanely reset back to the original state.\n this.glmapBase_ = glmap;\n\n // Now sync the internal state as needed.\n this.sync_();\n};\n\n/**\n * Internal helper for resyncing internal state.\n *\n * Used when the mappings change.\n *\n * @param {Object?} opt_glmap Additional mappings to overlay on top of the\n * base mapping.\n */\nhterm.VT.CharacterMap.prototype.sync_ = function(opt_glmap) {\n // If there are no maps, then reset the state back.\n if (!this.glmapBase_ && !opt_glmap) {\n this.GL = null;\n delete this.glmap_;\n delete this.glre_;\n return;\n }\n\n // Set the the GL mapping. If we're given a custom mapping, then create a\n // new object to hold the merged map. This way we can cleanly reset back.\n if (opt_glmap)\n this.glmap_ = Object.assign({}, this.glmapBase_, opt_glmap);\n else\n this.glmap_ = this.glmapBase_;\n\n var glchars = Object.keys(this.glmap_).map((key) =>\n '\\\\x' + lib.f.zpad(key.charCodeAt(0).toString(16)));\n this.glre_ = new RegExp('[' + glchars.join('') + ']', 'g');\n\n this.GL = (str) => str.replace(this.glre_, (ch) => this.glmap_[ch]);\n};\n\n/**\n * Reset map back to original mappings (discarding runtime updates).\n *\n * Specifically, any calls to setOverrides will be discarded.\n */\nhterm.VT.CharacterMap.prototype.reset = function() {\n // If we haven't been given a custom mapping, then there's nothing to reset.\n if (this.glmap_ !== this.glmapBase_)\n this.sync_();\n};\n\n/**\n * Merge custom changes to this map.\n *\n * The input map need not duplicate the existing mappings as it is merged with\n * the existing base map (what was created with). Subsequent calls to this\n * will throw away previous override settings.\n *\n * @param {Object} glmap The custom map to override existing mappings.\n */\nhterm.VT.CharacterMap.prototype.setOverrides = function(glmap) {\n this.sync_(glmap);\n};\n\n/**\n * Return a copy of this mapping.\n *\n * @return {hterm.VT.CharacterMap} A new hterm.VT.CharacterMap instance.\n */\nhterm.VT.CharacterMap.prototype.clone = function() {\n var map = new hterm.VT.CharacterMap(this.description, this.glmapBase_);\n if (this.glmap_ !== this.glmapBase_)\n map.setOverrides(this.glmap_);\n return map;\n};\n\n/**\n * Table of character maps.\n */\nhterm.VT.CharacterMaps = function() {\n this.maps_ = hterm.VT.CharacterMaps.DefaultMaps;\n\n // Always keep an unmodified reference to the map.\n // This allows us to sanely reset back to the original state.\n this.mapsBase_ = this.maps_;\n};\n\n/**\n * Look up a previously registered map.\n *\n * @param {String} name The name of the map to lookup.\n * @return {hterm.VT.CharacterMap} The map, if it's been registered.\n */\nhterm.VT.CharacterMaps.prototype.getMap = function(name) {\n if (this.maps_.hasOwnProperty(name))\n return this.maps_[name];\n else\n return undefined;\n};\n\n/**\n * Register a new map.\n *\n * Any previously registered maps by this name will be discarded.\n *\n * @param {String} name The name of the map.\n * @param {hterm.VT.CharacterMap} map The map to register.\n */\nhterm.VT.CharacterMaps.prototype.addMap = function(name, map) {\n if (this.maps_ === this.mapsBase_)\n this.maps_ = Object.assign({}, this.mapsBase_);\n this.maps_[name] = map;\n};\n\n/**\n * Reset the table and all its maps back to original state.\n */\nhterm.VT.CharacterMaps.prototype.reset = function() {\n if (this.maps_ !== hterm.VT.CharacterMaps.DefaultMaps)\n this.maps_ = hterm.VT.CharacterMaps.DefaultMaps;\n};\n\n/**\n * Merge custom changes to this table.\n *\n * @param {Object} maps A set of hterm.VT.CharacterMap objects.\n */\nhterm.VT.CharacterMaps.prototype.setOverrides = function(maps) {\n if (this.maps_ === this.mapsBase_)\n this.maps_ = Object.assign({}, this.mapsBase_);\n\n for (var name in maps) {\n var map = this.getMap(name);\n if (map !== undefined) {\n this.maps_[name] = map.clone();\n this.maps_[name].setOverrides(maps[name]);\n } else\n this.addMap(name, new hterm.VT.CharacterMap('user ' + name, maps[name]));\n }\n};\n\n/**\n * The default set of supported character maps.\n */\nhterm.VT.CharacterMaps.DefaultMaps = {};\n\n/**\n * VT100 Graphic character map.\n * http://vt100.net/docs/vt220-rm/table2-4.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['0'] = new hterm.VT.CharacterMap(\n 'graphic', {\n '\\x60':'\\u25c6', // ` -> diamond\n '\\x61':'\\u2592', // a -> grey-box\n '\\x62':'\\u2409', // b -> h/t\n '\\x63':'\\u240c', // c -> f/f\n '\\x64':'\\u240d', // d -> c/r\n '\\x65':'\\u240a', // e -> l/f\n '\\x66':'\\u00b0', // f -> degree\n '\\x67':'\\u00b1', // g -> +/-\n '\\x68':'\\u2424', // h -> n/l\n '\\x69':'\\u240b', // i -> v/t\n '\\x6a':'\\u2518', // j -> bottom-right\n '\\x6b':'\\u2510', // k -> top-right\n '\\x6c':'\\u250c', // l -> top-left\n '\\x6d':'\\u2514', // m -> bottom-left\n '\\x6e':'\\u253c', // n -> line-cross\n '\\x6f':'\\u23ba', // o -> scan1\n '\\x70':'\\u23bb', // p -> scan3\n '\\x71':'\\u2500', // q -> scan5\n '\\x72':'\\u23bc', // r -> scan7\n '\\x73':'\\u23bd', // s -> scan9\n '\\x74':'\\u251c', // t -> left-tee\n '\\x75':'\\u2524', // u -> right-tee\n '\\x76':'\\u2534', // v -> bottom-tee\n '\\x77':'\\u252c', // w -> top-tee\n '\\x78':'\\u2502', // x -> vertical-line\n '\\x79':'\\u2264', // y -> less-equal\n '\\x7a':'\\u2265', // z -> greater-equal\n '\\x7b':'\\u03c0', // { -> pi\n '\\x7c':'\\u2260', // | -> not-equal\n '\\x7d':'\\u00a3', // } -> british-pound\n '\\x7e':'\\u00b7', // ~ -> dot\n });\n\n/**\n * British character map.\n * http://vt100.net/docs/vt220-rm/table2-5.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['A'] = new hterm.VT.CharacterMap(\n 'british', {\n '\\x23': '\\u00a3', // # -> british-pound\n });\n\n/**\n * US ASCII map, no changes.\n */\nhterm.VT.CharacterMaps.DefaultMaps['B'] = new hterm.VT.CharacterMap(\n 'us', null);\n\n/**\n * Dutch character map.\n * http://vt100.net/docs/vt220-rm/table2-6.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['4'] = new hterm.VT.CharacterMap(\n 'dutch', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00be', // @ -> 3/4\n\n '\\x5b': '\\u0132', // [ -> 'ij' ligature (xterm goes with \\u00ff?)\n '\\x5c': '\\u00bd', // \\ -> 1/2\n '\\x5d': '\\u007c', // ] -> vertical bar\n\n '\\x7b': '\\u00a8', // { -> two dots\n '\\x7c': '\\u0066', // | -> f\n '\\x7d': '\\u00bc', // } -> 1/4\n '\\x7e': '\\u00b4', // ~ -> acute\n });\n\n/**\n * Finnish character map.\n * http://vt100.net/docs/vt220-rm/table2-7.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['C'] =\nhterm.VT.CharacterMaps.DefaultMaps['5'] = new hterm.VT.CharacterMap(\n 'finnish', {\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ~ -> 'u' umlaut\n\n '\\x60': '\\u00e9', // ` -> 'e' acute\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * French character map.\n * http://vt100.net/docs/vt220-rm/table2-8.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['R'] = new hterm.VT.CharacterMap(\n 'french', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00b0', // [ -> ring\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00a7', // ] -> section symbol (double s)\n\n '\\x7b': '\\u00e9', // { -> 'e' acute\n '\\x7c': '\\u00f9', // | -> 'u' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00a8', // ~ -> umlaut\n });\n\n/**\n * French Canadian character map.\n * http://vt100.net/docs/vt220-rm/table2-9.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Q'] = new hterm.VT.CharacterMap(\n 'french canadian', {\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00e2', // [ -> 'a' circumflex\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00ea', // ] -> 'e' circumflex\n '\\x5e': '\\u00ee', // ^ -> 'i' circumflex\n\n '\\x60': '\\u00f4', // ` -> 'o' circumflex\n\n '\\x7b': '\\u00e9', // { -> 'e' acute\n '\\x7c': '\\u00f9', // | -> 'u' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00fb', // ~ -> 'u' circumflex\n });\n\n/**\n * German character map.\n * http://vt100.net/docs/vt220-rm/table2-10.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['K'] = new hterm.VT.CharacterMap(\n 'german', {\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00dc', // ] -> 'U' umlaut\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00fc', // } -> 'u' umlaut\n '\\x7e': '\\u00df', // ~ -> eszett\n });\n\n/**\n * Italian character map.\n * http://vt100.net/docs/vt220-rm/table2-11.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Y'] = new hterm.VT.CharacterMap(\n 'italian', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00b0', // [ -> ring\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00e9', // ] -> 'e' acute\n\n '\\x60': '\\u00f9', // ` -> 'u' grave\n\n '\\x7b': '\\u00e0', // { -> 'a' grave\n '\\x7c': '\\u00f2', // | -> 'o' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00ec', // ~ -> 'i' grave\n });\n\n/**\n * Norwegian/Danish character map.\n * http://vt100.net/docs/vt220-rm/table2-12.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['E'] =\nhterm.VT.CharacterMaps.DefaultMaps['6'] = new hterm.VT.CharacterMap(\n 'norwegian/danish', {\n '\\x40': '\\u00c4', // @ -> 'A' umlaut\n\n '\\x5b': '\\u00c6', // [ -> 'AE' ligature\n '\\x5c': '\\u00d8', // \\ -> 'O' stroke\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ^ -> 'U' umlaut\n\n '\\x60': '\\u00e4', // ` -> 'a' umlaut\n\n '\\x7b': '\\u00e6', // { -> 'ae' ligature\n '\\x7c': '\\u00f8', // | -> 'o' stroke\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * Spanish character map.\n * http://vt100.net/docs/vt220-rm/table2-13.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Z'] = new hterm.VT.CharacterMap(\n 'spanish', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00a1', // [ -> '!' inverted\n '\\x5c': '\\u00d1', // \\ -> 'N' tilde\n '\\x5d': '\\u00bf', // ] -> '?' inverted\n\n '\\x7b': '\\u00b0', // { -> ring\n '\\x7c': '\\u00f1', // | -> 'n' tilde\n '\\x7d': '\\u00e7', // } -> 'c' cedilla\n });\n\n/**\n * Swedish character map.\n * http://vt100.net/docs/vt220-rm/table2-14.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['7'] =\nhterm.VT.CharacterMaps.DefaultMaps['H'] = new hterm.VT.CharacterMap(\n 'swedish', {\n '\\x40': '\\u00c9', // @ -> 'E' acute\n\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ^ -> 'U' umlaut\n\n '\\x60': '\\u00e9', // ` -> 'e' acute\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * Swiss character map.\n * http://vt100.net/docs/vt220-rm/table2-15.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['='] = new hterm.VT.CharacterMap(\n 'swiss', {\n '\\x23': '\\u00f9', // # -> 'u' grave\n\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00e9', // [ -> 'e' acute\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00ea', // ] -> 'e' circumflex\n '\\x5e': '\\u00ee', // ^ -> 'i' circumflex\n '\\x5f': '\\u00e8', // _ -> 'e' grave\n\n '\\x60': '\\u00f4', // ` -> 'o' circumflex\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00fc', // } -> 'u' umlaut\n '\\x7e': '\\u00fb', // ~ -> 'u' circumflex\n });\nlib.resource.add('hterm/audio/bell', 'audio/ogg;base64',\n'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' +\n'zinmkFLKMeUcUko5p5xTzjkIHYTKMQadgxAppRxTzinHHITMQeWcg9BBKAAAIMABACDAQig0ZEUA' +\n'ECcA4HAkz5M0SxQlSxNFzxRl1xNN15U0zTQ1UVRVyxNV1VRV2xZNVbYlTRNNTfRUVRNFVRVV05ZN' +\n'VbVtzzRl2VRV3RZV1bZl2xZ+V5Z13zNNWRZV1dZNVbV115Z9X9ZtXZg0zTQ1UVRVTRRV1VRV2zZV' +\n'17Y1UXRVUVVlWVRVWXZlWfdVV9Z9SxRV1VNN2RVVVbZV2fVtVZZ94XRVXVdl2fdVWRZ+W9eF4fZ9' +\n'4RhV1dZN19V1VZZ9YdZlYbd13yhpmmlqoqiqmiiqqqmqtm2qrq1bouiqoqrKsmeqrqzKsq+rrmzr' +\n'miiqrqiqsiyqqiyrsqz7qizrtqiquq3KsrCbrqvrtu8LwyzrunCqrq6rsuz7qizruq3rxnHrujB8' +\n'pinLpqvquqm6um7runHMtm0co6rqvirLwrDKsu/rui+0dSFRVXXdlF3jV2VZ921fd55b94WybTu/' +\n'rfvKceu60vg5z28cubZtHLNuG7+t+8bzKz9hOI6lZ5q2baqqrZuqq+uybivDrOtCUVV9XZVl3zdd' +\n'WRdu3zeOW9eNoqrquirLvrDKsjHcxm8cuzAcXds2jlvXnbKtC31jyPcJz2vbxnH7OuP2daOvDAnH' +\n'jwAAgAEHAIAAE8pAoSErAoA4AQAGIecUUxAqxSB0EFLqIKRUMQYhc05KxRyUUEpqIZTUKsYgVI5J' +\n'yJyTEkpoKZTSUgehpVBKa6GU1lJrsabUYu0gpBZKaS2U0lpqqcbUWowRYxAy56RkzkkJpbQWSmkt' +\n'c05K56CkDkJKpaQUS0otVsxJyaCj0kFIqaQSU0mptVBKa6WkFktKMbYUW24x1hxKaS2kEltJKcYU' +\n'U20txpojxiBkzknJnJMSSmktlNJa5ZiUDkJKmYOSSkqtlZJSzJyT0kFIqYOOSkkptpJKTKGU1kpK' +\n'sYVSWmwx1pxSbDWU0lpJKcaSSmwtxlpbTLV1EFoLpbQWSmmttVZraq3GUEprJaUYS0qxtRZrbjHm' +\n'GkppraQSW0mpxRZbji3GmlNrNabWam4x5hpbbT3WmnNKrdbUUo0txppjbb3VmnvvIKQWSmktlNJi' +\n'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' +\n'm2L/kruPM6Q7oz4tvDQy+bZ3HzOi+gNHA4DZEgA=' +\n''\n);\n\nlib.resource.add('hterm/images/icon-96', 'image/png;base64',\n'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' +\n'ODoyNC0wNDowMNba8BsAAAAASUVORK5CYII=' +\n''\n);\n\nlib.resource.add('hterm/concat/date', 'text/plain',\n'Tue, 22 Aug 2017 06:42:31 +0000' +\n''\n);\n\nlib.resource.add('hterm/changelog/version', 'text/plain',\n'1.70' +\n''\n);\n\nlib.resource.add('hterm/changelog/date', 'text/plain',\n'2017-08-16' +\n''\n);\n\nlib.resource.add('hterm/git/HEAD', 'text/plain',\n'git rev-parse HEAD' +\n''\n);\n\n// SOURCE FILE: hterm/js/hterm_export.js\nmodule.exports = {\n hterm: hterm,\n lib: lib\n};\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/libapps/hterm/dist/js/hterm_module.js\n// module id = 14\n// module chunks = 0","import { Hterm } from \"./hterm\";\nimport { Xterm } from \"./xterm\";\nimport { Terminal, WebTTY, protocols } from \"./webtty\";\nimport { ConnectionFactory } from \"./websocket\";\n\n// @TODO remove these\ndeclare var gotty_auth_token: string;\ndeclare var gotty_term: string;\n\nconst elem = document.getElementById(\"terminal\")\n\nif (elem !== null) {\n var term: Terminal;\n if (gotty_term == \"hterm\") {\n term = new Hterm(elem);\n } else {\n term = new Xterm(elem);\n }\n const httpsEnabled = window.location.protocol == \"https:\";\n const url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws';\n const args = window.location.search;\n const factory = new ConnectionFactory(url, protocols);\n const wt = new WebTTY(term, factory, args, gotty_auth_token);\n const closer = wt.open();\n\n window.addEventListener(\"unload\", () => {\n closer();\n term.close();\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CompositionHelper = (function () {\n function CompositionHelper(textarea, compositionView, terminal) {\n this.textarea = textarea;\n this.compositionView = compositionView;\n this.terminal = terminal;\n this.isComposing = false;\n this.isSendingComposition = false;\n this.compositionPosition = { start: null, end: null };\n }\n CompositionHelper.prototype.compositionstart = function () {\n this.isComposing = true;\n this.compositionPosition.start = this.textarea.value.length;\n this.compositionView.textContent = '';\n this.compositionView.classList.add('active');\n };\n CompositionHelper.prototype.compositionupdate = function (ev) {\n var _this = this;\n this.compositionView.textContent = ev.data;\n this.updateCompositionElements();\n setTimeout(function () {\n _this.compositionPosition.end = _this.textarea.value.length;\n }, 0);\n };\n CompositionHelper.prototype.compositionend = function () {\n this.finalizeComposition(true);\n };\n CompositionHelper.prototype.keydown = function (ev) {\n if (this.isComposing || this.isSendingComposition) {\n if (ev.keyCode === 229) {\n return false;\n }\n else if (ev.keyCode === 16 || ev.keyCode === 17 || ev.keyCode === 18) {\n return false;\n }\n else {\n this.finalizeComposition(false);\n }\n }\n if (ev.keyCode === 229) {\n this.handleAnyTextareaChanges();\n return false;\n }\n return true;\n };\n CompositionHelper.prototype.finalizeComposition = function (waitForPropogation) {\n var _this = this;\n this.compositionView.classList.remove('active');\n this.isComposing = false;\n this.clearTextareaPosition();\n if (!waitForPropogation) {\n this.isSendingComposition = false;\n var input = this.textarea.value.substring(this.compositionPosition.start, this.compositionPosition.end);\n this.terminal.handler(input);\n }\n else {\n var currentCompositionPosition_1 = {\n start: this.compositionPosition.start,\n end: this.compositionPosition.end,\n };\n this.isSendingComposition = true;\n setTimeout(function () {\n if (_this.isSendingComposition) {\n _this.isSendingComposition = false;\n var input = void 0;\n if (_this.isComposing) {\n input = _this.textarea.value.substring(currentCompositionPosition_1.start, currentCompositionPosition_1.end);\n }\n else {\n input = _this.textarea.value.substring(currentCompositionPosition_1.start);\n }\n _this.terminal.handler(input);\n }\n }, 0);\n }\n };\n CompositionHelper.prototype.handleAnyTextareaChanges = function () {\n var _this = this;\n var oldValue = this.textarea.value;\n setTimeout(function () {\n if (!_this.isComposing) {\n var newValue = _this.textarea.value;\n var diff = newValue.replace(oldValue, '');\n if (diff.length > 0) {\n _this.terminal.handler(diff);\n }\n }\n }, 0);\n };\n CompositionHelper.prototype.updateCompositionElements = function (dontRecurse) {\n var _this = this;\n if (!this.isComposing) {\n return;\n }\n var cursor = this.terminal.element.querySelector('.terminal-cursor');\n if (cursor) {\n var xtermRows = this.terminal.element.querySelector('.xterm-rows');\n var cursorTop = xtermRows.offsetTop + cursor.offsetTop;\n this.compositionView.style.left = cursor.offsetLeft + 'px';\n this.compositionView.style.top = cursorTop + 'px';\n this.compositionView.style.height = cursor.offsetHeight + 'px';\n this.compositionView.style.lineHeight = cursor.offsetHeight + 'px';\n var compositionViewBounds = this.compositionView.getBoundingClientRect();\n this.textarea.style.left = cursor.offsetLeft + 'px';\n this.textarea.style.top = cursorTop + 'px';\n this.textarea.style.width = compositionViewBounds.width + 'px';\n this.textarea.style.height = compositionViewBounds.height + 'px';\n this.textarea.style.lineHeight = compositionViewBounds.height + 'px';\n }\n if (!dontRecurse) {\n setTimeout(function () { return _this.updateCompositionElements(true); }, 0);\n }\n };\n ;\n CompositionHelper.prototype.clearTextareaPosition = function () {\n this.textarea.style.left = '';\n this.textarea.style.top = '';\n };\n ;\n return CompositionHelper;\n}());\nexports.CompositionHelper = CompositionHelper;\n\n//# sourceMappingURL=CompositionHelper.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/CompositionHelper.js\n// module id = 16\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar Charsets_1 = require(\"./Charsets\");\nvar InputHandler = (function () {\n function InputHandler(_terminal) {\n this._terminal = _terminal;\n }\n InputHandler.prototype.addChar = function (char, code) {\n if (char >= ' ') {\n var ch_width = wcwidth(code);\n if (this._terminal.charset && this._terminal.charset[char]) {\n char = this._terminal.charset[char];\n }\n var row = this._terminal.y + this._terminal.ybase;\n if (!ch_width && this._terminal.x) {\n if (this._terminal.lines.get(row)[this._terminal.x - 1]) {\n if (!this._terminal.lines.get(row)[this._terminal.x - 1][2]) {\n if (this._terminal.lines.get(row)[this._terminal.x - 2])\n this._terminal.lines.get(row)[this._terminal.x - 2][1] += char;\n }\n else {\n this._terminal.lines.get(row)[this._terminal.x - 1][1] += char;\n }\n this._terminal.updateRange(this._terminal.y);\n }\n return;\n }\n if (this._terminal.x + ch_width - 1 >= this._terminal.cols) {\n if (this._terminal.wraparoundMode) {\n this._terminal.x = 0;\n this._terminal.y++;\n if (this._terminal.y > this._terminal.scrollBottom) {\n this._terminal.y--;\n this._terminal.scroll(true);\n }\n else {\n this._terminal.lines.get(this._terminal.y).isWrapped = true;\n }\n }\n else {\n if (ch_width === 2)\n return;\n }\n }\n row = this._terminal.y + this._terminal.ybase;\n if (this._terminal.insertMode) {\n for (var moves = 0; moves < ch_width; ++moves) {\n var removed = this._terminal.lines.get(this._terminal.y + this._terminal.ybase).pop();\n if (removed[2] === 0\n && this._terminal.lines.get(row)[this._terminal.cols - 2]\n && this._terminal.lines.get(row)[this._terminal.cols - 2][2] === 2) {\n this._terminal.lines.get(row)[this._terminal.cols - 2] = [this._terminal.curAttr, ' ', 1];\n }\n this._terminal.lines.get(row).splice(this._terminal.x, 0, [this._terminal.curAttr, ' ', 1]);\n }\n }\n this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, char, ch_width];\n this._terminal.x++;\n this._terminal.updateRange(this._terminal.y);\n if (ch_width === 2) {\n this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, '', 0];\n this._terminal.x++;\n }\n }\n };\n InputHandler.prototype.bell = function () {\n var _this = this;\n if (!this._terminal.visualBell) {\n return;\n }\n this._terminal.element.style.borderColor = 'white';\n setTimeout(function () { return _this._terminal.element.style.borderColor = ''; }, 10);\n if (this._terminal.popOnBell) {\n this._terminal.focus();\n }\n };\n InputHandler.prototype.lineFeed = function () {\n if (this._terminal.convertEol) {\n this._terminal.x = 0;\n }\n this._terminal.y++;\n if (this._terminal.y > this._terminal.scrollBottom) {\n this._terminal.y--;\n this._terminal.scroll();\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.carriageReturn = function () {\n this._terminal.x = 0;\n };\n InputHandler.prototype.backspace = function () {\n if (this._terminal.x > 0) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.tab = function () {\n this._terminal.x = this._terminal.nextStop();\n };\n InputHandler.prototype.shiftOut = function () {\n this._terminal.setgLevel(1);\n };\n InputHandler.prototype.shiftIn = function () {\n this._terminal.setgLevel(0);\n };\n InputHandler.prototype.insertChars = function (params) {\n var param, row, j, ch;\n param = params[0];\n if (param < 1)\n param = 1;\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.x;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param-- && j < this._terminal.cols) {\n this._terminal.lines.get(row).splice(j++, 0, ch);\n this._terminal.lines.get(row).pop();\n }\n };\n InputHandler.prototype.cursorUp = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y -= param;\n if (this._terminal.y < 0) {\n this._terminal.y = 0;\n }\n };\n InputHandler.prototype.cursorDown = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.cursorForward = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x += param;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.cursorBackward = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n this._terminal.x -= param;\n if (this._terminal.x < 0) {\n this._terminal.x = 0;\n }\n };\n InputHandler.prototype.cursorNextLine = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n this._terminal.x = 0;\n };\n ;\n InputHandler.prototype.cursorPrecedingLine = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y -= param;\n if (this._terminal.y < 0) {\n this._terminal.y = 0;\n }\n this._terminal.x = 0;\n };\n ;\n InputHandler.prototype.cursorCharAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x = param - 1;\n };\n InputHandler.prototype.cursorPosition = function (params) {\n var row, col;\n row = params[0] - 1;\n if (params.length >= 2) {\n col = params[1] - 1;\n }\n else {\n col = 0;\n }\n if (row < 0) {\n row = 0;\n }\n else if (row >= this._terminal.rows) {\n row = this._terminal.rows - 1;\n }\n if (col < 0) {\n col = 0;\n }\n else if (col >= this._terminal.cols) {\n col = this._terminal.cols - 1;\n }\n this._terminal.x = col;\n this._terminal.y = row;\n };\n InputHandler.prototype.cursorForwardTab = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.x = this._terminal.nextStop();\n }\n };\n InputHandler.prototype.eraseInDisplay = function (params) {\n var j;\n switch (params[0]) {\n case 0:\n this._terminal.eraseRight(this._terminal.x, this._terminal.y);\n j = this._terminal.y + 1;\n for (; j < this._terminal.rows; j++) {\n this._terminal.eraseLine(j);\n }\n break;\n case 1:\n this._terminal.eraseLeft(this._terminal.x, this._terminal.y);\n j = this._terminal.y;\n while (j--) {\n this._terminal.eraseLine(j);\n }\n break;\n case 2:\n j = this._terminal.rows;\n while (j--)\n this._terminal.eraseLine(j);\n break;\n case 3:\n var scrollBackSize = this._terminal.lines.length - this._terminal.rows;\n if (scrollBackSize > 0) {\n this._terminal.lines.trimStart(scrollBackSize);\n this._terminal.ybase = Math.max(this._terminal.ybase - scrollBackSize, 0);\n this._terminal.ydisp = Math.max(this._terminal.ydisp - scrollBackSize, 0);\n }\n break;\n }\n };\n InputHandler.prototype.eraseInLine = function (params) {\n switch (params[0]) {\n case 0:\n this._terminal.eraseRight(this._terminal.x, this._terminal.y);\n break;\n case 1:\n this._terminal.eraseLeft(this._terminal.x, this._terminal.y);\n break;\n case 2:\n this._terminal.eraseLine(this._terminal.y);\n break;\n }\n };\n InputHandler.prototype.insertLines = function (params) {\n var param, row, j;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.rows - 1 - this._terminal.scrollBottom;\n j = this._terminal.rows - 1 + this._terminal.ybase - j + 1;\n while (param--) {\n if (this._terminal.lines.length === this._terminal.lines.maxLength) {\n this._terminal.lines.trimStart(1);\n this._terminal.ybase--;\n this._terminal.ydisp--;\n row--;\n j--;\n }\n this._terminal.lines.splice(row, 0, this._terminal.blankLine(true));\n this._terminal.lines.splice(j, 1);\n }\n this._terminal.updateRange(this._terminal.y);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.deleteLines = function (params) {\n var param, row, j;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.rows - 1 - this._terminal.scrollBottom;\n j = this._terminal.rows - 1 + this._terminal.ybase - j;\n while (param--) {\n if (this._terminal.lines.length === this._terminal.lines.maxLength) {\n this._terminal.lines.trimStart(1);\n this._terminal.ybase -= 1;\n this._terminal.ydisp -= 1;\n }\n this._terminal.lines.splice(j + 1, 0, this._terminal.blankLine(true));\n this._terminal.lines.splice(row, 1);\n }\n this._terminal.updateRange(this._terminal.y);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.deleteChars = function (params) {\n var param, row, ch;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param--) {\n this._terminal.lines.get(row).splice(this._terminal.x, 1);\n this._terminal.lines.get(row).push(ch);\n }\n };\n InputHandler.prototype.scrollUp = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 1);\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 0, this._terminal.blankLine());\n }\n this._terminal.updateRange(this._terminal.scrollTop);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.scrollDown = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 1);\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 0, this._terminal.blankLine());\n }\n this._terminal.updateRange(this._terminal.scrollTop);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.eraseChars = function (params) {\n var param, row, j, ch;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.x;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param-- && j < this._terminal.cols) {\n this._terminal.lines.get(row)[j++] = ch;\n }\n };\n InputHandler.prototype.cursorBackwardTab = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.x = this._terminal.prevStop();\n }\n };\n InputHandler.prototype.charPosAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x = param - 1;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.HPositionRelative = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x += param;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.repeatPrecedingCharacter = function (params) {\n var param = params[0] || 1, line = this._terminal.lines.get(this._terminal.ybase + this._terminal.y), ch = line[this._terminal.x - 1] || [this._terminal.defAttr, ' ', 1];\n while (param--) {\n line[this._terminal.x++] = ch;\n }\n };\n InputHandler.prototype.sendDeviceAttributes = function (params) {\n if (params[0] > 0) {\n return;\n }\n if (!this._terminal.prefix) {\n if (this._terminal.is('xterm') || this._terminal.is('rxvt-unicode') || this._terminal.is('screen')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?1;2c');\n }\n else if (this._terminal.is('linux')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?6c');\n }\n }\n else if (this._terminal.prefix === '>') {\n if (this._terminal.is('xterm')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>0;276;0c');\n }\n else if (this._terminal.is('rxvt-unicode')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>85;95;0c');\n }\n else if (this._terminal.is('linux')) {\n this._terminal.send(params[0] + 'c');\n }\n else if (this._terminal.is('screen')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>83;40003;0c');\n }\n }\n };\n InputHandler.prototype.linePosAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y = param - 1;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n };\n InputHandler.prototype.VPositionRelative = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.HVPosition = function (params) {\n if (params[0] < 1)\n params[0] = 1;\n if (params[1] < 1)\n params[1] = 1;\n this._terminal.y = params[0] - 1;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n this._terminal.x = params[1] - 1;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.tabClear = function (params) {\n var param = params[0];\n if (param <= 0) {\n delete this._terminal.tabs[this._terminal.x];\n }\n else if (param === 3) {\n this._terminal.tabs = {};\n }\n };\n InputHandler.prototype.setMode = function (params) {\n if (params.length > 1) {\n for (var i = 0; i < params.length; i++) {\n this.setMode([params[i]]);\n }\n return;\n }\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 4:\n this._terminal.insertMode = true;\n break;\n case 20:\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 1:\n this._terminal.applicationCursor = true;\n break;\n case 2:\n this._terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(1, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(2, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(3, Charsets_1.DEFAULT_CHARSET);\n break;\n case 3:\n this._terminal.savedCols = this._terminal.cols;\n this._terminal.resize(132, this._terminal.rows);\n break;\n case 6:\n this._terminal.originMode = true;\n break;\n case 7:\n this._terminal.wraparoundMode = true;\n break;\n case 12:\n break;\n case 66:\n this._terminal.log('Serial port requested application keypad.');\n this._terminal.applicationKeypad = true;\n this._terminal.viewport.syncScrollArea();\n break;\n case 9:\n case 1000:\n case 1002:\n case 1003:\n this._terminal.x10Mouse = params[0] === 9;\n this._terminal.vt200Mouse = params[0] === 1000;\n this._terminal.normalMouse = params[0] > 1000;\n this._terminal.mouseEvents = true;\n this._terminal.element.classList.add('enable-mouse-events');\n this._terminal.selectionManager.disable();\n this._terminal.log('Binding to mouse events.');\n break;\n case 1004:\n this._terminal.sendFocus = true;\n break;\n case 1005:\n this._terminal.utfMouse = true;\n break;\n case 1006:\n this._terminal.sgrMouse = true;\n break;\n case 1015:\n this._terminal.urxvtMouse = true;\n break;\n case 25:\n this._terminal.cursorHidden = false;\n break;\n case 1049:\n ;\n case 47:\n case 1047:\n if (!this._terminal.normal) {\n var normal = {\n lines: this._terminal.lines,\n ybase: this._terminal.ybase,\n ydisp: this._terminal.ydisp,\n x: this._terminal.x,\n y: this._terminal.y,\n scrollTop: this._terminal.scrollTop,\n scrollBottom: this._terminal.scrollBottom,\n tabs: this._terminal.tabs\n };\n this._terminal.reset();\n this._terminal.viewport.syncScrollArea();\n this._terminal.normal = normal;\n this._terminal.showCursor();\n }\n break;\n }\n }\n };\n InputHandler.prototype.resetMode = function (params) {\n if (params.length > 1) {\n for (var i = 0; i < params.length; i++) {\n this.resetMode([params[i]]);\n }\n return;\n }\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 4:\n this._terminal.insertMode = false;\n break;\n case 20:\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 1:\n this._terminal.applicationCursor = false;\n break;\n case 3:\n if (this._terminal.cols === 132 && this._terminal.savedCols) {\n this._terminal.resize(this._terminal.savedCols, this._terminal.rows);\n }\n delete this._terminal.savedCols;\n break;\n case 6:\n this._terminal.originMode = false;\n break;\n case 7:\n this._terminal.wraparoundMode = false;\n break;\n case 12:\n break;\n case 66:\n this._terminal.log('Switching back to normal keypad.');\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n break;\n case 9:\n case 1000:\n case 1002:\n case 1003:\n this._terminal.x10Mouse = false;\n this._terminal.vt200Mouse = false;\n this._terminal.normalMouse = false;\n this._terminal.mouseEvents = false;\n this._terminal.element.classList.remove('enable-mouse-events');\n this._terminal.selectionManager.enable();\n break;\n case 1004:\n this._terminal.sendFocus = false;\n break;\n case 1005:\n this._terminal.utfMouse = false;\n break;\n case 1006:\n this._terminal.sgrMouse = false;\n break;\n case 1015:\n this._terminal.urxvtMouse = false;\n break;\n case 25:\n this._terminal.cursorHidden = true;\n break;\n case 1049:\n ;\n case 47:\n case 1047:\n if (this._terminal.normal) {\n this._terminal.lines = this._terminal.normal.lines;\n this._terminal.ybase = this._terminal.normal.ybase;\n this._terminal.ydisp = this._terminal.normal.ydisp;\n this._terminal.x = this._terminal.normal.x;\n this._terminal.y = this._terminal.normal.y;\n this._terminal.scrollTop = this._terminal.normal.scrollTop;\n this._terminal.scrollBottom = this._terminal.normal.scrollBottom;\n this._terminal.tabs = this._terminal.normal.tabs;\n this._terminal.normal = null;\n this._terminal.selectionManager.setBuffer(this._terminal.lines);\n this._terminal.refresh(0, this._terminal.rows - 1);\n this._terminal.viewport.syncScrollArea();\n this._terminal.showCursor();\n }\n break;\n }\n }\n };\n InputHandler.prototype.charAttributes = function (params) {\n if (params.length === 1 && params[0] === 0) {\n this._terminal.curAttr = this._terminal.defAttr;\n return;\n }\n var l = params.length, i = 0, flags = this._terminal.curAttr >> 18, fg = (this._terminal.curAttr >> 9) & 0x1ff, bg = this._terminal.curAttr & 0x1ff, p;\n for (; i < l; i++) {\n p = params[i];\n if (p >= 30 && p <= 37) {\n fg = p - 30;\n }\n else if (p >= 40 && p <= 47) {\n bg = p - 40;\n }\n else if (p >= 90 && p <= 97) {\n p += 8;\n fg = p - 90;\n }\n else if (p >= 100 && p <= 107) {\n p += 8;\n bg = p - 100;\n }\n else if (p === 0) {\n flags = this._terminal.defAttr >> 18;\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n bg = this._terminal.defAttr & 0x1ff;\n }\n else if (p === 1) {\n flags |= 1;\n }\n else if (p === 4) {\n flags |= 2;\n }\n else if (p === 5) {\n flags |= 4;\n }\n else if (p === 7) {\n flags |= 8;\n }\n else if (p === 8) {\n flags |= 16;\n }\n else if (p === 22) {\n flags &= ~1;\n }\n else if (p === 24) {\n flags &= ~2;\n }\n else if (p === 25) {\n flags &= ~4;\n }\n else if (p === 27) {\n flags &= ~8;\n }\n else if (p === 28) {\n flags &= ~16;\n }\n else if (p === 39) {\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n }\n else if (p === 49) {\n bg = this._terminal.defAttr & 0x1ff;\n }\n else if (p === 38) {\n if (params[i + 1] === 2) {\n i += 2;\n fg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff);\n if (fg === -1)\n fg = 0x1ff;\n i += 2;\n }\n else if (params[i + 1] === 5) {\n i += 2;\n p = params[i] & 0xff;\n fg = p;\n }\n }\n else if (p === 48) {\n if (params[i + 1] === 2) {\n i += 2;\n bg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff);\n if (bg === -1)\n bg = 0x1ff;\n i += 2;\n }\n else if (params[i + 1] === 5) {\n i += 2;\n p = params[i] & 0xff;\n bg = p;\n }\n }\n else if (p === 100) {\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n bg = this._terminal.defAttr & 0x1ff;\n }\n else {\n this._terminal.error('Unknown SGR attribute: %d.', p);\n }\n }\n this._terminal.curAttr = (flags << 18) | (fg << 9) | bg;\n };\n InputHandler.prototype.deviceStatus = function (params) {\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 5:\n this._terminal.send(EscapeSequences_1.C0.ESC + '[0n');\n break;\n case 6:\n this._terminal.send(EscapeSequences_1.C0.ESC + '['\n + (this._terminal.y + 1)\n + ';'\n + (this._terminal.x + 1)\n + 'R');\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 6:\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?'\n + (this._terminal.y + 1)\n + ';'\n + (this._terminal.x + 1)\n + 'R');\n break;\n case 15:\n break;\n case 25:\n break;\n case 26:\n break;\n case 53:\n break;\n }\n }\n };\n InputHandler.prototype.softReset = function (params) {\n this._terminal.cursorHidden = false;\n this._terminal.insertMode = false;\n this._terminal.originMode = false;\n this._terminal.wraparoundMode = true;\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n this._terminal.applicationCursor = false;\n this._terminal.scrollTop = 0;\n this._terminal.scrollBottom = this._terminal.rows - 1;\n this._terminal.curAttr = this._terminal.defAttr;\n this._terminal.x = this._terminal.y = 0;\n this._terminal.charset = null;\n this._terminal.glevel = 0;\n this._terminal.charsets = [null];\n };\n InputHandler.prototype.setCursorStyle = function (params) {\n var param = params[0] < 1 ? 1 : params[0];\n switch (param) {\n case 1:\n case 2:\n this._terminal.setOption('cursorStyle', 'block');\n break;\n case 3:\n case 4:\n this._terminal.setOption('cursorStyle', 'underline');\n break;\n case 5:\n case 6:\n this._terminal.setOption('cursorStyle', 'bar');\n break;\n }\n var isBlinking = param % 2 === 1;\n this._terminal.setOption('cursorBlink', isBlinking);\n };\n InputHandler.prototype.setScrollRegion = function (params) {\n if (this._terminal.prefix)\n return;\n this._terminal.scrollTop = (params[0] || 1) - 1;\n this._terminal.scrollBottom = (params[1] && params[1] <= this._terminal.rows ? params[1] : this._terminal.rows) - 1;\n this._terminal.x = 0;\n this._terminal.y = 0;\n };\n InputHandler.prototype.saveCursor = function (params) {\n this._terminal.savedX = this._terminal.x;\n this._terminal.savedY = this._terminal.y;\n };\n InputHandler.prototype.restoreCursor = function (params) {\n this._terminal.x = this._terminal.savedX || 0;\n this._terminal.y = this._terminal.savedY || 0;\n };\n return InputHandler;\n}());\nexports.InputHandler = InputHandler;\nvar wcwidth = (function (opts) {\n var COMBINING = [\n [0x0300, 0x036F], [0x0483, 0x0486], [0x0488, 0x0489],\n [0x0591, 0x05BD], [0x05BF, 0x05BF], [0x05C1, 0x05C2],\n [0x05C4, 0x05C5], [0x05C7, 0x05C7], [0x0600, 0x0603],\n [0x0610, 0x0615], [0x064B, 0x065E], [0x0670, 0x0670],\n [0x06D6, 0x06E4], [0x06E7, 0x06E8], [0x06EA, 0x06ED],\n [0x070F, 0x070F], [0x0711, 0x0711], [0x0730, 0x074A],\n [0x07A6, 0x07B0], [0x07EB, 0x07F3], [0x0901, 0x0902],\n [0x093C, 0x093C], [0x0941, 0x0948], [0x094D, 0x094D],\n [0x0951, 0x0954], [0x0962, 0x0963], [0x0981, 0x0981],\n [0x09BC, 0x09BC], [0x09C1, 0x09C4], [0x09CD, 0x09CD],\n [0x09E2, 0x09E3], [0x0A01, 0x0A02], [0x0A3C, 0x0A3C],\n [0x0A41, 0x0A42], [0x0A47, 0x0A48], [0x0A4B, 0x0A4D],\n [0x0A70, 0x0A71], [0x0A81, 0x0A82], [0x0ABC, 0x0ABC],\n [0x0AC1, 0x0AC5], [0x0AC7, 0x0AC8], [0x0ACD, 0x0ACD],\n [0x0AE2, 0x0AE3], [0x0B01, 0x0B01], [0x0B3C, 0x0B3C],\n [0x0B3F, 0x0B3F], [0x0B41, 0x0B43], [0x0B4D, 0x0B4D],\n [0x0B56, 0x0B56], [0x0B82, 0x0B82], [0x0BC0, 0x0BC0],\n [0x0BCD, 0x0BCD], [0x0C3E, 0x0C40], [0x0C46, 0x0C48],\n [0x0C4A, 0x0C4D], [0x0C55, 0x0C56], [0x0CBC, 0x0CBC],\n [0x0CBF, 0x0CBF], [0x0CC6, 0x0CC6], [0x0CCC, 0x0CCD],\n [0x0CE2, 0x0CE3], [0x0D41, 0x0D43], [0x0D4D, 0x0D4D],\n [0x0DCA, 0x0DCA], [0x0DD2, 0x0DD4], [0x0DD6, 0x0DD6],\n [0x0E31, 0x0E31], [0x0E34, 0x0E3A], [0x0E47, 0x0E4E],\n [0x0EB1, 0x0EB1], [0x0EB4, 0x0EB9], [0x0EBB, 0x0EBC],\n [0x0EC8, 0x0ECD], [0x0F18, 0x0F19], [0x0F35, 0x0F35],\n [0x0F37, 0x0F37], [0x0F39, 0x0F39], [0x0F71, 0x0F7E],\n [0x0F80, 0x0F84], [0x0F86, 0x0F87], [0x0F90, 0x0F97],\n [0x0F99, 0x0FBC], [0x0FC6, 0x0FC6], [0x102D, 0x1030],\n [0x1032, 0x1032], [0x1036, 0x1037], [0x1039, 0x1039],\n [0x1058, 0x1059], [0x1160, 0x11FF], [0x135F, 0x135F],\n [0x1712, 0x1714], [0x1732, 0x1734], [0x1752, 0x1753],\n [0x1772, 0x1773], [0x17B4, 0x17B5], [0x17B7, 0x17BD],\n [0x17C6, 0x17C6], [0x17C9, 0x17D3], [0x17DD, 0x17DD],\n [0x180B, 0x180D], [0x18A9, 0x18A9], [0x1920, 0x1922],\n [0x1927, 0x1928], [0x1932, 0x1932], [0x1939, 0x193B],\n [0x1A17, 0x1A18], [0x1B00, 0x1B03], [0x1B34, 0x1B34],\n [0x1B36, 0x1B3A], [0x1B3C, 0x1B3C], [0x1B42, 0x1B42],\n [0x1B6B, 0x1B73], [0x1DC0, 0x1DCA], [0x1DFE, 0x1DFF],\n [0x200B, 0x200F], [0x202A, 0x202E], [0x2060, 0x2063],\n [0x206A, 0x206F], [0x20D0, 0x20EF], [0x302A, 0x302F],\n [0x3099, 0x309A], [0xA806, 0xA806], [0xA80B, 0xA80B],\n [0xA825, 0xA826], [0xFB1E, 0xFB1E], [0xFE00, 0xFE0F],\n [0xFE20, 0xFE23], [0xFEFF, 0xFEFF], [0xFFF9, 0xFFFB],\n [0x10A01, 0x10A03], [0x10A05, 0x10A06], [0x10A0C, 0x10A0F],\n [0x10A38, 0x10A3A], [0x10A3F, 0x10A3F], [0x1D167, 0x1D169],\n [0x1D173, 0x1D182], [0x1D185, 0x1D18B], [0x1D1AA, 0x1D1AD],\n [0x1D242, 0x1D244], [0xE0001, 0xE0001], [0xE0020, 0xE007F],\n [0xE0100, 0xE01EF]\n ];\n function bisearch(ucs) {\n var min = 0;\n var max = COMBINING.length - 1;\n var mid;\n if (ucs < COMBINING[0][0] || ucs > COMBINING[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > COMBINING[mid][1])\n min = mid + 1;\n else if (ucs < COMBINING[mid][0])\n max = mid - 1;\n else\n return true;\n }\n return false;\n }\n function wcwidth(ucs) {\n if (ucs === 0)\n return opts.nul;\n if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0))\n return opts.control;\n if (bisearch(ucs))\n return 0;\n if (isWide(ucs)) {\n return 2;\n }\n return 1;\n }\n function isWide(ucs) {\n return (ucs >= 0x1100 && (ucs <= 0x115f ||\n ucs === 0x2329 ||\n ucs === 0x232a ||\n (ucs >= 0x2e80 && ucs <= 0xa4cf && ucs !== 0x303f) ||\n (ucs >= 0xac00 && ucs <= 0xd7a3) ||\n (ucs >= 0xf900 && ucs <= 0xfaff) ||\n (ucs >= 0xfe10 && ucs <= 0xfe19) ||\n (ucs >= 0xfe30 && ucs <= 0xfe6f) ||\n (ucs >= 0xff00 && ucs <= 0xff60) ||\n (ucs >= 0xffe0 && ucs <= 0xffe6) ||\n (ucs >= 0x20000 && ucs <= 0x2fffd) ||\n (ucs >= 0x30000 && ucs <= 0x3fffd)));\n }\n return wcwidth;\n})({ nul: 0, control: 0 });\n\n//# sourceMappingURL=InputHandler.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/InputHandler.js\n// module id = 17\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar INVALID_LINK_CLASS = 'xterm-invalid-link';\nvar protocolClause = '(https?:\\\\/\\\\/)';\nvar domainCharacterSet = '[\\\\da-z\\\\.-]+';\nvar negatedDomainCharacterSet = '[^\\\\da-z\\\\.-]+';\nvar domainBodyClause = '(' + domainCharacterSet + ')';\nvar tldClause = '([a-z\\\\.]{2,6})';\nvar ipClause = '((\\\\d{1,3}\\\\.){3}\\\\d{1,3})';\nvar localHostClause = '(localhost)';\nvar portClause = '(:\\\\d{1,5})';\nvar hostClause = '((' + domainBodyClause + '\\\\.' + tldClause + ')|' + ipClause + '|' + localHostClause + ')' + portClause + '?';\nvar pathClause = '(\\\\/[\\\\/\\\\w\\\\.\\\\-%~]*)*';\nvar queryStringHashFragmentCharacterSet = '[0-9\\\\w\\\\[\\\\]\\\\(\\\\)\\\\/\\\\?\\\\!#@$%&\\'*+,:;~\\\\=\\\\.\\\\-]*';\nvar queryStringClause = '(\\\\?' + queryStringHashFragmentCharacterSet + ')?';\nvar hashFragmentClause = '(#' + queryStringHashFragmentCharacterSet + ')?';\nvar negatedPathCharacterSet = '[^\\\\/\\\\w\\\\.\\\\-%]+';\nvar bodyClause = hostClause + pathClause + queryStringClause + hashFragmentClause;\nvar start = '(?:^|' + negatedDomainCharacterSet + ')(';\nvar end = ')($|' + negatedPathCharacterSet + ')';\nvar strictUrlRegex = new RegExp(start + protocolClause + bodyClause + end);\nvar HYPERTEXT_LINK_MATCHER_ID = 0;\nvar Linkifier = (function () {\n function Linkifier() {\n this._nextLinkMatcherId = HYPERTEXT_LINK_MATCHER_ID;\n this._rowTimeoutIds = [];\n this._linkMatchers = [];\n this.registerLinkMatcher(strictUrlRegex, null, { matchIndex: 1 });\n }\n Linkifier.prototype.attachToDom = function (document, rows) {\n this._document = document;\n this._rows = rows;\n };\n Linkifier.prototype.linkifyRow = function (rowIndex) {\n if (!this._document) {\n return;\n }\n var timeoutId = this._rowTimeoutIds[rowIndex];\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n this._rowTimeoutIds[rowIndex] = setTimeout(this._linkifyRow.bind(this, rowIndex), Linkifier.TIME_BEFORE_LINKIFY);\n };\n Linkifier.prototype.setHypertextLinkHandler = function (handler) {\n this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].handler = handler;\n };\n Linkifier.prototype.setHypertextValidationCallback = function (callback) {\n this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].validationCallback = callback;\n };\n Linkifier.prototype.registerLinkMatcher = function (regex, handler, options) {\n if (options === void 0) { options = {}; }\n if (this._nextLinkMatcherId !== HYPERTEXT_LINK_MATCHER_ID && !handler) {\n throw new Error('handler must be defined');\n }\n var matcher = {\n id: this._nextLinkMatcherId++,\n regex: regex,\n handler: handler,\n matchIndex: options.matchIndex,\n validationCallback: options.validationCallback,\n priority: options.priority || 0\n };\n this._addLinkMatcherToList(matcher);\n return matcher.id;\n };\n Linkifier.prototype._addLinkMatcherToList = function (matcher) {\n if (this._linkMatchers.length === 0) {\n this._linkMatchers.push(matcher);\n return;\n }\n for (var i = this._linkMatchers.length - 1; i >= 0; i--) {\n if (matcher.priority <= this._linkMatchers[i].priority) {\n this._linkMatchers.splice(i + 1, 0, matcher);\n return;\n }\n }\n this._linkMatchers.splice(0, 0, matcher);\n };\n Linkifier.prototype.deregisterLinkMatcher = function (matcherId) {\n for (var i = 1; i < this._linkMatchers.length; i++) {\n if (this._linkMatchers[i].id === matcherId) {\n this._linkMatchers.splice(i, 1);\n return true;\n }\n }\n return false;\n };\n Linkifier.prototype._linkifyRow = function (rowIndex) {\n var row = this._rows[rowIndex];\n if (!row) {\n return;\n }\n var text = row.textContent;\n for (var i = 0; i < this._linkMatchers.length; i++) {\n var matcher = this._linkMatchers[i];\n var linkElements = this._doLinkifyRow(row, matcher);\n if (linkElements.length > 0) {\n if (matcher.validationCallback) {\n var _loop_1 = function (j) {\n var element = linkElements[j];\n matcher.validationCallback(element.textContent, element, function (isValid) {\n if (!isValid) {\n element.classList.add(INVALID_LINK_CLASS);\n }\n });\n };\n for (var j = 0; j < linkElements.length; j++) {\n _loop_1(j);\n }\n }\n return;\n }\n }\n };\n Linkifier.prototype._doLinkifyRow = function (row, matcher) {\n var result = [];\n var isHttpLinkMatcher = matcher.id === HYPERTEXT_LINK_MATCHER_ID;\n var nodes = row.childNodes;\n var match = row.textContent.match(matcher.regex);\n if (!match || match.length === 0) {\n return result;\n }\n var uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];\n var rowStartIndex = match.index + uri.length;\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n var searchIndex = node.textContent.indexOf(uri);\n if (searchIndex >= 0) {\n var linkElement = this._createAnchorElement(uri, matcher.handler, isHttpLinkMatcher);\n if (node.textContent.length === uri.length) {\n if (node.nodeType === 3) {\n this._replaceNode(node, linkElement);\n }\n else {\n var element = node;\n if (element.nodeName === 'A') {\n return result;\n }\n element.innerHTML = '';\n element.appendChild(linkElement);\n }\n }\n else if (node.childNodes.length > 1) {\n for (var j = 0; j < node.childNodes.length; j++) {\n var childNode = node.childNodes[j];\n var childSearchIndex = childNode.textContent.indexOf(uri);\n if (childSearchIndex !== -1) {\n this._replaceNodeSubstringWithNode(childNode, linkElement, uri, childSearchIndex);\n break;\n }\n }\n }\n else {\n var nodesAdded = this._replaceNodeSubstringWithNode(node, linkElement, uri, searchIndex);\n i += nodesAdded;\n }\n result.push(linkElement);\n match = row.textContent.substring(rowStartIndex).match(matcher.regex);\n if (!match || match.length === 0) {\n return result;\n }\n uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];\n rowStartIndex += match.index + uri.length;\n }\n }\n return result;\n };\n Linkifier.prototype._createAnchorElement = function (uri, handler, isHypertextLinkHandler) {\n var element = this._document.createElement('a');\n element.textContent = uri;\n element.draggable = false;\n if (isHypertextLinkHandler) {\n element.href = uri;\n element.target = '_blank';\n element.addEventListener('click', function (event) {\n if (handler) {\n return handler(event, uri);\n }\n });\n }\n else {\n element.addEventListener('click', function (event) {\n if (element.classList.contains(INVALID_LINK_CLASS)) {\n return;\n }\n return handler(event, uri);\n });\n }\n return element;\n };\n Linkifier.prototype._replaceNode = function (oldNode) {\n var newNodes = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n newNodes[_i - 1] = arguments[_i];\n }\n var parent = oldNode.parentNode;\n for (var i = 0; i < newNodes.length; i++) {\n parent.insertBefore(newNodes[i], oldNode);\n }\n parent.removeChild(oldNode);\n };\n Linkifier.prototype._replaceNodeSubstringWithNode = function (targetNode, newNode, substring, substringIndex) {\n if (targetNode.childNodes.length === 1) {\n targetNode = targetNode.childNodes[0];\n }\n if (targetNode.nodeType !== 3) {\n throw new Error('targetNode must be a text node or only contain a single text node');\n }\n var fullText = targetNode.textContent;\n if (substringIndex === 0) {\n var rightText_1 = fullText.substring(substring.length);\n var rightTextNode_1 = this._document.createTextNode(rightText_1);\n this._replaceNode(targetNode, newNode, rightTextNode_1);\n return 0;\n }\n if (substringIndex === targetNode.textContent.length - substring.length) {\n var leftText_1 = fullText.substring(0, substringIndex);\n var leftTextNode_1 = this._document.createTextNode(leftText_1);\n this._replaceNode(targetNode, leftTextNode_1, newNode);\n return 0;\n }\n var leftText = fullText.substring(0, substringIndex);\n var leftTextNode = this._document.createTextNode(leftText);\n var rightText = fullText.substring(substringIndex + substring.length);\n var rightTextNode = this._document.createTextNode(rightText);\n this._replaceNode(targetNode, leftTextNode, newNode, rightTextNode);\n return 1;\n };\n return Linkifier;\n}());\nLinkifier.TIME_BEFORE_LINKIFY = 200;\nexports.Linkifier = Linkifier;\n\n//# sourceMappingURL=Linkifier.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Linkifier.js\n// module id = 18\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar Charsets_1 = require(\"./Charsets\");\nvar normalStateHandler = {};\nnormalStateHandler[EscapeSequences_1.C0.BEL] = function (parser, handler) { return handler.bell(); };\nnormalStateHandler[EscapeSequences_1.C0.LF] = function (parser, handler) { return handler.lineFeed(); };\nnormalStateHandler[EscapeSequences_1.C0.VT] = normalStateHandler[EscapeSequences_1.C0.LF];\nnormalStateHandler[EscapeSequences_1.C0.FF] = normalStateHandler[EscapeSequences_1.C0.LF];\nnormalStateHandler[EscapeSequences_1.C0.CR] = function (parser, handler) { return handler.carriageReturn(); };\nnormalStateHandler[EscapeSequences_1.C0.BS] = function (parser, handler) { return handler.backspace(); };\nnormalStateHandler[EscapeSequences_1.C0.HT] = function (parser, handler) { return handler.tab(); };\nnormalStateHandler[EscapeSequences_1.C0.SO] = function (parser, handler) { return handler.shiftOut(); };\nnormalStateHandler[EscapeSequences_1.C0.SI] = function (parser, handler) { return handler.shiftIn(); };\nnormalStateHandler[EscapeSequences_1.C0.ESC] = function (parser, handler) { return parser.setState(ParserState.ESCAPED); };\nvar escapedStateHandler = {};\nescapedStateHandler['['] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.CSI_PARAM);\n};\nescapedStateHandler[']'] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.OSC);\n};\nescapedStateHandler['P'] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.DCS);\n};\nescapedStateHandler['_'] = function (parser, terminal) {\n parser.setState(ParserState.IGNORE);\n};\nescapedStateHandler['^'] = function (parser, terminal) {\n parser.setState(ParserState.IGNORE);\n};\nescapedStateHandler['c'] = function (parser, terminal) {\n terminal.reset();\n};\nescapedStateHandler['E'] = function (parser, terminal) {\n terminal.x = 0;\n terminal.index();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['D'] = function (parser, terminal) {\n terminal.index();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['M'] = function (parser, terminal) {\n terminal.reverseIndex();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['%'] = function (parser, terminal) {\n terminal.setgLevel(0);\n terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET);\n parser.setState(ParserState.NORMAL);\n parser.skipNextChar();\n};\nescapedStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); };\nvar csiParamStateHandler = {};\ncsiParamStateHandler['?'] = function (parser) { return parser.setPrefix('?'); };\ncsiParamStateHandler['>'] = function (parser) { return parser.setPrefix('>'); };\ncsiParamStateHandler['!'] = function (parser) { return parser.setPrefix('!'); };\ncsiParamStateHandler['0'] = function (parser) { return parser.setParam(parser.getParam() * 10); };\ncsiParamStateHandler['1'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 1); };\ncsiParamStateHandler['2'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 2); };\ncsiParamStateHandler['3'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 3); };\ncsiParamStateHandler['4'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 4); };\ncsiParamStateHandler['5'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 5); };\ncsiParamStateHandler['6'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 6); };\ncsiParamStateHandler['7'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 7); };\ncsiParamStateHandler['8'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 8); };\ncsiParamStateHandler['9'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 9); };\ncsiParamStateHandler['$'] = function (parser) { return parser.setPostfix('$'); };\ncsiParamStateHandler['\"'] = function (parser) { return parser.setPostfix('\"'); };\ncsiParamStateHandler[' '] = function (parser) { return parser.setPostfix(' '); };\ncsiParamStateHandler['\\''] = function (parser) { return parser.setPostfix('\\''); };\ncsiParamStateHandler[';'] = function (parser) { return parser.finalizeParam(); };\ncsiParamStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); };\nvar csiStateHandler = {};\ncsiStateHandler['@'] = function (handler, params, prefix) { return handler.insertChars(params); };\ncsiStateHandler['A'] = function (handler, params, prefix) { return handler.cursorUp(params); };\ncsiStateHandler['B'] = function (handler, params, prefix) { return handler.cursorDown(params); };\ncsiStateHandler['C'] = function (handler, params, prefix) { return handler.cursorForward(params); };\ncsiStateHandler['D'] = function (handler, params, prefix) { return handler.cursorBackward(params); };\ncsiStateHandler['E'] = function (handler, params, prefix) { return handler.cursorNextLine(params); };\ncsiStateHandler['F'] = function (handler, params, prefix) { return handler.cursorPrecedingLine(params); };\ncsiStateHandler['G'] = function (handler, params, prefix) { return handler.cursorCharAbsolute(params); };\ncsiStateHandler['H'] = function (handler, params, prefix) { return handler.cursorPosition(params); };\ncsiStateHandler['I'] = function (handler, params, prefix) { return handler.cursorForwardTab(params); };\ncsiStateHandler['J'] = function (handler, params, prefix) { return handler.eraseInDisplay(params); };\ncsiStateHandler['K'] = function (handler, params, prefix) { return handler.eraseInLine(params); };\ncsiStateHandler['L'] = function (handler, params, prefix) { return handler.insertLines(params); };\ncsiStateHandler['M'] = function (handler, params, prefix) { return handler.deleteLines(params); };\ncsiStateHandler['P'] = function (handler, params, prefix) { return handler.deleteChars(params); };\ncsiStateHandler['S'] = function (handler, params, prefix) { return handler.scrollUp(params); };\ncsiStateHandler['T'] = function (handler, params, prefix) {\n if (params.length < 2 && !prefix) {\n handler.scrollDown(params);\n }\n};\ncsiStateHandler['X'] = function (handler, params, prefix) { return handler.eraseChars(params); };\ncsiStateHandler['Z'] = function (handler, params, prefix) { return handler.cursorBackwardTab(params); };\ncsiStateHandler['`'] = function (handler, params, prefix) { return handler.charPosAbsolute(params); };\ncsiStateHandler['a'] = function (handler, params, prefix) { return handler.HPositionRelative(params); };\ncsiStateHandler['b'] = function (handler, params, prefix) { return handler.repeatPrecedingCharacter(params); };\ncsiStateHandler['c'] = function (handler, params, prefix) { return handler.sendDeviceAttributes(params); };\ncsiStateHandler['d'] = function (handler, params, prefix) { return handler.linePosAbsolute(params); };\ncsiStateHandler['e'] = function (handler, params, prefix) { return handler.VPositionRelative(params); };\ncsiStateHandler['f'] = function (handler, params, prefix) { return handler.HVPosition(params); };\ncsiStateHandler['g'] = function (handler, params, prefix) { return handler.tabClear(params); };\ncsiStateHandler['h'] = function (handler, params, prefix) { return handler.setMode(params); };\ncsiStateHandler['l'] = function (handler, params, prefix) { return handler.resetMode(params); };\ncsiStateHandler['m'] = function (handler, params, prefix) { return handler.charAttributes(params); };\ncsiStateHandler['n'] = function (handler, params, prefix) { return handler.deviceStatus(params); };\ncsiStateHandler['p'] = function (handler, params, prefix) {\n switch (prefix) {\n case '!':\n handler.softReset(params);\n break;\n }\n};\ncsiStateHandler['q'] = function (handler, params, prefix, postfix) {\n if (postfix === ' ') {\n handler.setCursorStyle(params);\n }\n};\ncsiStateHandler['r'] = function (handler, params) { return handler.setScrollRegion(params); };\ncsiStateHandler['s'] = function (handler, params) { return handler.saveCursor(params); };\ncsiStateHandler['u'] = function (handler, params) { return handler.restoreCursor(params); };\ncsiStateHandler[EscapeSequences_1.C0.CAN] = function (handler, params, prefix, postfix, parser) { return parser.setState(ParserState.NORMAL); };\nvar ParserState;\n(function (ParserState) {\n ParserState[ParserState[\"NORMAL\"] = 0] = \"NORMAL\";\n ParserState[ParserState[\"ESCAPED\"] = 1] = \"ESCAPED\";\n ParserState[ParserState[\"CSI_PARAM\"] = 2] = \"CSI_PARAM\";\n ParserState[ParserState[\"CSI\"] = 3] = \"CSI\";\n ParserState[ParserState[\"OSC\"] = 4] = \"OSC\";\n ParserState[ParserState[\"CHARSET\"] = 5] = \"CHARSET\";\n ParserState[ParserState[\"DCS\"] = 6] = \"DCS\";\n ParserState[ParserState[\"IGNORE\"] = 7] = \"IGNORE\";\n})(ParserState || (ParserState = {}));\nvar Parser = (function () {\n function Parser(_inputHandler, _terminal) {\n this._inputHandler = _inputHandler;\n this._terminal = _terminal;\n this._state = ParserState.NORMAL;\n }\n Parser.prototype.parse = function (data) {\n var l = data.length, j, cs, ch, code, low;\n this._position = 0;\n if (this._terminal.surrogate_high) {\n data = this._terminal.surrogate_high + data;\n this._terminal.surrogate_high = '';\n }\n for (; this._position < l; this._position++) {\n ch = data[this._position];\n code = data.charCodeAt(this._position);\n if (0xD800 <= code && code <= 0xDBFF) {\n low = data.charCodeAt(this._position + 1);\n if (isNaN(low)) {\n this._terminal.surrogate_high = ch;\n continue;\n }\n code = ((code - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;\n ch += data.charAt(this._position + 1);\n }\n if (0xDC00 <= code && code <= 0xDFFF)\n continue;\n switch (this._state) {\n case ParserState.NORMAL:\n if (ch in normalStateHandler) {\n normalStateHandler[ch](this, this._inputHandler);\n }\n else {\n this._inputHandler.addChar(ch, code);\n }\n break;\n case ParserState.ESCAPED:\n if (ch in escapedStateHandler) {\n escapedStateHandler[ch](this, this._terminal);\n break;\n }\n switch (ch) {\n case '(':\n case ')':\n case '*':\n case '+':\n case '-':\n case '.':\n switch (ch) {\n case '(':\n this._terminal.gcharset = 0;\n break;\n case ')':\n this._terminal.gcharset = 1;\n break;\n case '*':\n this._terminal.gcharset = 2;\n break;\n case '+':\n this._terminal.gcharset = 3;\n break;\n case '-':\n this._terminal.gcharset = 1;\n break;\n case '.':\n this._terminal.gcharset = 2;\n break;\n }\n this._state = ParserState.CHARSET;\n break;\n case '/':\n this._terminal.gcharset = 3;\n this._state = ParserState.CHARSET;\n this._position--;\n break;\n case 'N':\n break;\n case 'O':\n break;\n case 'n':\n this._terminal.setgLevel(2);\n break;\n case 'o':\n this._terminal.setgLevel(3);\n break;\n case '|':\n this._terminal.setgLevel(3);\n break;\n case '}':\n this._terminal.setgLevel(2);\n break;\n case '~':\n this._terminal.setgLevel(1);\n break;\n case '7':\n this._inputHandler.saveCursor();\n this._state = ParserState.NORMAL;\n break;\n case '8':\n this._inputHandler.restoreCursor();\n this._state = ParserState.NORMAL;\n break;\n case '#':\n this._state = ParserState.NORMAL;\n this._position++;\n break;\n case 'H':\n this._terminal.tabSet();\n this._state = ParserState.NORMAL;\n break;\n case '=':\n this._terminal.log('Serial port requested application keypad.');\n this._terminal.applicationKeypad = true;\n this._terminal.viewport.syncScrollArea();\n this._state = ParserState.NORMAL;\n break;\n case '>':\n this._terminal.log('Switching back to normal keypad.');\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n this._state = ParserState.NORMAL;\n break;\n default:\n this._state = ParserState.NORMAL;\n this._terminal.error('Unknown ESC control: %s.', ch);\n break;\n }\n break;\n case ParserState.CHARSET:\n if (ch in Charsets_1.CHARSETS) {\n cs = Charsets_1.CHARSETS[ch];\n if (ch === '/') {\n this.skipNextChar();\n }\n }\n else {\n cs = Charsets_1.DEFAULT_CHARSET;\n }\n this._terminal.setgCharset(this._terminal.gcharset, cs);\n this._terminal.gcharset = null;\n this._state = ParserState.NORMAL;\n break;\n case ParserState.OSC:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n this._terminal.params.push(this._terminal.currentParam);\n switch (this._terminal.params[0]) {\n case 0:\n case 1:\n case 2:\n if (this._terminal.params[1]) {\n this._terminal.title = this._terminal.params[1];\n this._terminal.handleTitle(this._terminal.title);\n }\n break;\n case 3:\n break;\n case 4:\n case 5:\n break;\n case 10:\n case 11:\n case 12:\n case 13:\n case 14:\n case 15:\n case 16:\n case 17:\n case 18:\n case 19:\n break;\n case 46:\n break;\n case 50:\n break;\n case 51:\n break;\n case 52:\n break;\n case 104:\n case 105:\n case 110:\n case 111:\n case 112:\n case 113:\n case 114:\n case 115:\n case 116:\n case 117:\n case 118:\n break;\n }\n this._terminal.params = [];\n this._terminal.currentParam = 0;\n this._state = ParserState.NORMAL;\n }\n else {\n if (!this._terminal.params.length) {\n if (ch >= '0' && ch <= '9') {\n this._terminal.currentParam =\n this._terminal.currentParam * 10 + ch.charCodeAt(0) - 48;\n }\n else if (ch === ';') {\n this._terminal.params.push(this._terminal.currentParam);\n this._terminal.currentParam = '';\n }\n }\n else {\n this._terminal.currentParam += ch;\n }\n }\n break;\n case ParserState.CSI_PARAM:\n if (ch in csiParamStateHandler) {\n csiParamStateHandler[ch](this);\n break;\n }\n this.finalizeParam();\n this._state = ParserState.CSI;\n case ParserState.CSI:\n if (ch in csiStateHandler) {\n csiStateHandler[ch](this._inputHandler, this._terminal.params, this._terminal.prefix, this._terminal.postfix, this);\n }\n else {\n this._terminal.error('Unknown CSI code: %s.', ch);\n }\n this._state = ParserState.NORMAL;\n this._terminal.prefix = '';\n this._terminal.postfix = '';\n break;\n case ParserState.DCS:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n var pt = void 0;\n var valid = void 0;\n switch (this._terminal.prefix) {\n case '':\n break;\n case '$q':\n pt = this._terminal.currentParam;\n valid = false;\n switch (pt) {\n case '\"q':\n pt = '0\"q';\n break;\n case '\"p':\n pt = '61\"p';\n break;\n case 'r':\n pt = ''\n + (this._terminal.scrollTop + 1)\n + ';'\n + (this._terminal.scrollBottom + 1)\n + 'r';\n break;\n case 'm':\n pt = '0m';\n break;\n default:\n this._terminal.error('Unknown DCS Pt: %s.', pt);\n pt = '';\n break;\n }\n this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '$r' + pt + EscapeSequences_1.C0.ESC + '\\\\');\n break;\n case '+p':\n break;\n case '+q':\n pt = this._terminal.currentParam;\n valid = false;\n this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '+r' + pt + EscapeSequences_1.C0.ESC + '\\\\');\n break;\n default:\n this._terminal.error('Unknown DCS prefix: %s.', this._terminal.prefix);\n break;\n }\n this._terminal.currentParam = 0;\n this._terminal.prefix = '';\n this._state = ParserState.NORMAL;\n }\n else if (!this._terminal.currentParam) {\n if (!this._terminal.prefix && ch !== '$' && ch !== '+') {\n this._terminal.currentParam = ch;\n }\n else if (this._terminal.prefix.length === 2) {\n this._terminal.currentParam = ch;\n }\n else {\n this._terminal.prefix += ch;\n }\n }\n else {\n this._terminal.currentParam += ch;\n }\n break;\n case ParserState.IGNORE:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n this._state = ParserState.NORMAL;\n }\n break;\n }\n }\n return this._state;\n };\n Parser.prototype.setState = function (state) {\n this._state = state;\n };\n Parser.prototype.setPrefix = function (prefix) {\n this._terminal.prefix = prefix;\n };\n Parser.prototype.setPostfix = function (postfix) {\n this._terminal.postfix = postfix;\n };\n Parser.prototype.setParam = function (param) {\n this._terminal.currentParam = param;\n };\n Parser.prototype.getParam = function () {\n return this._terminal.currentParam;\n };\n Parser.prototype.finalizeParam = function () {\n this._terminal.params.push(this._terminal.currentParam);\n this._terminal.currentParam = 0;\n };\n Parser.prototype.skipNextChar = function () {\n this._position++;\n };\n return Parser;\n}());\nexports.Parser = Parser;\n\n//# sourceMappingURL=Parser.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Parser.js\n// module id = 19\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DomElementObjectPool_1 = require(\"./utils/DomElementObjectPool\");\nvar MAX_REFRESH_FRAME_SKIP = 5;\nvar FLAGS;\n(function (FLAGS) {\n FLAGS[FLAGS[\"BOLD\"] = 1] = \"BOLD\";\n FLAGS[FLAGS[\"UNDERLINE\"] = 2] = \"UNDERLINE\";\n FLAGS[FLAGS[\"BLINK\"] = 4] = \"BLINK\";\n FLAGS[FLAGS[\"INVERSE\"] = 8] = \"INVERSE\";\n FLAGS[FLAGS[\"INVISIBLE\"] = 16] = \"INVISIBLE\";\n})(FLAGS || (FLAGS = {}));\n;\nvar brokenBold = null;\nvar Renderer = (function () {\n function Renderer(_terminal) {\n this._terminal = _terminal;\n this._refreshRowsQueue = [];\n this._refreshFramesSkipped = 0;\n this._refreshAnimationFrame = null;\n this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span');\n if (brokenBold === null) {\n brokenBold = checkBoldBroken(this._terminal.element);\n }\n this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span');\n }\n Renderer.prototype.queueRefresh = function (start, end) {\n this._refreshRowsQueue.push({ start: start, end: end });\n if (!this._refreshAnimationFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this));\n }\n };\n Renderer.prototype._refreshLoop = function () {\n var skipFrame = this._terminal.writeBuffer.length > 0 && this._refreshFramesSkipped++ <= MAX_REFRESH_FRAME_SKIP;\n if (skipFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this));\n return;\n }\n this._refreshFramesSkipped = 0;\n var start;\n var end;\n if (this._refreshRowsQueue.length > 4) {\n start = 0;\n end = this._terminal.rows - 1;\n }\n else {\n start = this._refreshRowsQueue[0].start;\n end = this._refreshRowsQueue[0].end;\n for (var i = 1; i < this._refreshRowsQueue.length; i++) {\n if (this._refreshRowsQueue[i].start < start) {\n start = this._refreshRowsQueue[i].start;\n }\n if (this._refreshRowsQueue[i].end > end) {\n end = this._refreshRowsQueue[i].end;\n }\n }\n }\n this._refreshRowsQueue = [];\n this._refreshAnimationFrame = null;\n this._refresh(start, end);\n };\n Renderer.prototype._refresh = function (start, end) {\n var parent;\n if (end - start >= this._terminal.rows / 2) {\n parent = this._terminal.element.parentNode;\n if (parent) {\n this._terminal.element.removeChild(this._terminal.rowContainer);\n }\n }\n var width = this._terminal.cols;\n var y = start;\n if (end >= this._terminal.rows) {\n this._terminal.log('`end` is too large. Most likely a bad CSR.');\n end = this._terminal.rows - 1;\n }\n for (; y <= end; y++) {\n var row = y + this._terminal.ydisp;\n var line = this._terminal.lines.get(row);\n var x = void 0;\n if (this._terminal.y === y - (this._terminal.ybase - this._terminal.ydisp) &&\n this._terminal.cursorState &&\n !this._terminal.cursorHidden) {\n x = this._terminal.x;\n }\n else {\n x = -1;\n }\n var attr = this._terminal.defAttr;\n var documentFragment = document.createDocumentFragment();\n var innerHTML = '';\n var currentElement = void 0;\n while (this._terminal.children[y].children.length) {\n var child = this._terminal.children[y].children[0];\n this._terminal.children[y].removeChild(child);\n this._spanElementObjectPool.release(child);\n }\n for (var i = 0; i < width; i++) {\n var data = line[i][0];\n var ch = line[i][1];\n var ch_width = line[i][2];\n if (!ch_width) {\n continue;\n }\n if (i === x) {\n data = -1;\n }\n if (data !== attr) {\n if (attr !== this._terminal.defAttr) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n currentElement = null;\n }\n if (data !== this._terminal.defAttr) {\n if (innerHTML && !currentElement) {\n currentElement = this._spanElementObjectPool.acquire();\n }\n if (currentElement) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n }\n currentElement = this._spanElementObjectPool.acquire();\n if (data === -1) {\n currentElement.classList.add('reverse-video');\n currentElement.classList.add('terminal-cursor');\n }\n else {\n var bg = data & 0x1ff;\n var fg = (data >> 9) & 0x1ff;\n var flags = data >> 18;\n if (flags & FLAGS.BOLD) {\n if (!brokenBold) {\n currentElement.classList.add('xterm-bold');\n }\n if (fg < 8) {\n fg += 8;\n }\n }\n if (flags & FLAGS.UNDERLINE) {\n currentElement.classList.add('xterm-underline');\n }\n if (flags & FLAGS.BLINK) {\n currentElement.classList.add('xterm-blink');\n }\n if (flags & FLAGS.INVERSE) {\n var temp = bg;\n bg = fg;\n fg = temp;\n if ((flags & 1) && fg < 8) {\n fg += 8;\n }\n }\n if (flags & FLAGS.INVISIBLE) {\n currentElement.classList.add('xterm-hidden');\n }\n if (flags & FLAGS.INVERSE) {\n if (bg === 257) {\n bg = 15;\n }\n if (fg === 256) {\n fg = 0;\n }\n }\n if (bg < 256) {\n currentElement.classList.add(\"xterm-bg-color-\" + bg);\n }\n if (fg < 256) {\n currentElement.classList.add(\"xterm-color-\" + fg);\n }\n }\n }\n }\n if (ch_width === 2) {\n innerHTML += \"\" + ch + \"\";\n }\n else if (ch.charCodeAt(0) > 255) {\n innerHTML += \"\" + ch + \"\";\n }\n else {\n switch (ch) {\n case '&':\n innerHTML += '&';\n break;\n case '<':\n innerHTML += '<';\n break;\n case '>':\n innerHTML += '>';\n break;\n default:\n if (ch <= ' ') {\n innerHTML += ' ';\n }\n else {\n innerHTML += ch;\n }\n break;\n }\n }\n attr = data;\n }\n if (innerHTML && !currentElement) {\n currentElement = this._spanElementObjectPool.acquire();\n }\n if (currentElement) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n currentElement = null;\n }\n this._terminal.children[y].appendChild(documentFragment);\n }\n if (parent) {\n this._terminal.element.appendChild(this._terminal.rowContainer);\n }\n this._terminal.emit('refresh', { element: this._terminal.element, start: start, end: end });\n };\n ;\n Renderer.prototype.refreshSelection = function (start, end) {\n while (this._terminal.selectionContainer.children.length) {\n this._terminal.selectionContainer.removeChild(this._terminal.selectionContainer.children[0]);\n }\n if (!start || !end) {\n return;\n }\n var viewportStartRow = start[1] - this._terminal.ydisp;\n var viewportEndRow = end[1] - this._terminal.ydisp;\n var viewportCappedStartRow = Math.max(viewportStartRow, 0);\n var viewportCappedEndRow = Math.min(viewportEndRow, this._terminal.rows - 1);\n if (viewportCappedStartRow >= this._terminal.rows || viewportCappedEndRow < 0) {\n return;\n }\n var documentFragment = document.createDocumentFragment();\n var startCol = viewportStartRow === viewportCappedStartRow ? start[0] : 0;\n var endCol = viewportCappedStartRow === viewportCappedEndRow ? end[0] : this._terminal.cols;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow, startCol, endCol));\n var middleRowsCount = viewportCappedEndRow - viewportCappedStartRow - 1;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow + 1, 0, this._terminal.cols, middleRowsCount));\n if (viewportCappedStartRow !== viewportCappedEndRow) {\n var endCol_1 = viewportEndRow === viewportCappedEndRow ? end[0] : this._terminal.cols;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedEndRow, 0, endCol_1));\n }\n this._terminal.selectionContainer.appendChild(documentFragment);\n };\n Renderer.prototype._createSelectionElement = function (row, colStart, colEnd, rowCount) {\n if (rowCount === void 0) { rowCount = 1; }\n var element = document.createElement('div');\n element.style.height = rowCount * this._terminal.charMeasure.height + \"px\";\n element.style.top = row * this._terminal.charMeasure.height + \"px\";\n element.style.left = colStart * this._terminal.charMeasure.width + \"px\";\n element.style.width = this._terminal.charMeasure.width * (colEnd - colStart) + \"px\";\n return element;\n };\n return Renderer;\n}());\nexports.Renderer = Renderer;\nfunction checkBoldBroken(terminal) {\n var document = terminal.ownerDocument;\n var el = document.createElement('span');\n el.innerHTML = 'hello world';\n terminal.appendChild(el);\n var w1 = el.offsetWidth;\n var h1 = el.offsetHeight;\n el.style.fontWeight = 'bold';\n var w2 = el.offsetWidth;\n var h2 = el.offsetHeight;\n terminal.removeChild(el);\n return w1 !== w2 || h1 !== h2;\n}\n\n//# sourceMappingURL=Renderer.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Renderer.js\n// module id = 20\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Mouse = require(\"./utils/Mouse\");\nvar Browser = require(\"./utils/Browser\");\nvar EventEmitter_1 = require(\"./EventEmitter\");\nvar SelectionModel_1 = require(\"./SelectionModel\");\nvar DRAG_SCROLL_MAX_THRESHOLD = 50;\nvar DRAG_SCROLL_MAX_SPEED = 15;\nvar DRAG_SCROLL_INTERVAL = 50;\nvar CLEAR_MOUSE_DOWN_TIME = 400;\nvar CLEAR_MOUSE_DISTANCE = 10;\nvar WORD_SEPARATORS = ' ()[]{}\\'\"';\nvar LINE_DATA_CHAR_INDEX = 1;\nvar LINE_DATA_WIDTH_INDEX = 2;\nvar NON_BREAKING_SPACE_CHAR = String.fromCharCode(160);\nvar ALL_NON_BREAKING_SPACE_REGEX = new RegExp(NON_BREAKING_SPACE_CHAR, 'g');\nvar SelectionMode;\n(function (SelectionMode) {\n SelectionMode[SelectionMode[\"NORMAL\"] = 0] = \"NORMAL\";\n SelectionMode[SelectionMode[\"WORD\"] = 1] = \"WORD\";\n SelectionMode[SelectionMode[\"LINE\"] = 2] = \"LINE\";\n})(SelectionMode || (SelectionMode = {}));\nvar SelectionManager = (function (_super) {\n __extends(SelectionManager, _super);\n function SelectionManager(_terminal, _buffer, _rowContainer, _charMeasure) {\n var _this = _super.call(this) || this;\n _this._terminal = _terminal;\n _this._buffer = _buffer;\n _this._rowContainer = _rowContainer;\n _this._charMeasure = _charMeasure;\n _this._initListeners();\n _this.enable();\n _this._model = new SelectionModel_1.SelectionModel(_terminal);\n _this._lastMouseDownTime = 0;\n _this._activeSelectionMode = SelectionMode.NORMAL;\n return _this;\n }\n SelectionManager.prototype._initListeners = function () {\n var _this = this;\n this._bufferTrimListener = function (amount) { return _this._onTrim(amount); };\n this._mouseMoveListener = function (event) { return _this._onMouseMove(event); };\n this._mouseDownListener = function (event) { return _this._onMouseDown(event); };\n this._mouseUpListener = function (event) { return _this._onMouseUp(event); };\n };\n SelectionManager.prototype.disable = function () {\n this.clearSelection();\n this._buffer.off('trim', this._bufferTrimListener);\n this._rowContainer.removeEventListener('mousedown', this._mouseDownListener);\n };\n SelectionManager.prototype.enable = function () {\n this._buffer.on('trim', this._bufferTrimListener);\n this._rowContainer.addEventListener('mousedown', this._mouseDownListener);\n };\n SelectionManager.prototype.setBuffer = function (buffer) {\n this._buffer = buffer;\n this.clearSelection();\n };\n Object.defineProperty(SelectionManager.prototype, \"hasSelection\", {\n get: function () {\n var start = this._model.finalSelectionStart;\n var end = this._model.finalSelectionEnd;\n if (!start || !end) {\n return false;\n }\n return start[0] !== end[0] || start[1] !== end[1];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SelectionManager.prototype, \"selectionText\", {\n get: function () {\n var start = this._model.finalSelectionStart;\n var end = this._model.finalSelectionEnd;\n if (!start || !end) {\n return '';\n }\n var startRowEndCol = start[1] === end[1] ? end[0] : null;\n var result = [];\n result.push(this._translateBufferLineToString(this._buffer.get(start[1]), true, start[0], startRowEndCol));\n for (var i = start[1] + 1; i <= end[1] - 1; i++) {\n var bufferLine = this._buffer.get(i);\n var lineText = this._translateBufferLineToString(bufferLine, true);\n if (bufferLine.isWrapped) {\n result[result.length - 1] += lineText;\n }\n else {\n result.push(lineText);\n }\n }\n if (start[1] !== end[1]) {\n var bufferLine = this._buffer.get(end[1]);\n var lineText = this._translateBufferLineToString(bufferLine, true, 0, end[0]);\n if (bufferLine.isWrapped) {\n result[result.length - 1] += lineText;\n }\n else {\n result.push(lineText);\n }\n }\n var formattedResult = result.map(function (line) {\n return line.replace(ALL_NON_BREAKING_SPACE_REGEX, ' ');\n }).join(Browser.isMSWindows ? '\\r\\n' : '\\n');\n return formattedResult;\n },\n enumerable: true,\n configurable: true\n });\n SelectionManager.prototype.clearSelection = function () {\n this._model.clearSelection();\n this._removeMouseDownListeners();\n this.refresh();\n };\n SelectionManager.prototype._translateBufferLineToString = function (line, trimRight, startCol, endCol) {\n if (startCol === void 0) { startCol = 0; }\n if (endCol === void 0) { endCol = null; }\n var lineString = '';\n var widthAdjustedStartCol = startCol;\n var widthAdjustedEndCol = endCol;\n for (var i = 0; i < line.length; i++) {\n var char = line[i];\n lineString += char[LINE_DATA_CHAR_INDEX];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n if (startCol >= i) {\n widthAdjustedStartCol--;\n }\n if (endCol >= i) {\n widthAdjustedEndCol--;\n }\n }\n }\n var finalEndCol = widthAdjustedEndCol || line.length;\n if (trimRight) {\n var rightWhitespaceIndex = lineString.search(/\\s+$/);\n if (rightWhitespaceIndex !== -1) {\n finalEndCol = Math.min(finalEndCol, rightWhitespaceIndex);\n }\n if (finalEndCol <= widthAdjustedStartCol) {\n return '';\n }\n }\n return lineString.substring(widthAdjustedStartCol, finalEndCol);\n };\n SelectionManager.prototype.refresh = function (isNewSelection) {\n var _this = this;\n if (!this._refreshAnimationFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(function () { return _this._refresh(); });\n }\n if (Browser.isLinux && isNewSelection) {\n var selectionText = this.selectionText;\n if (selectionText.length) {\n this.emit('newselection', this.selectionText);\n }\n }\n };\n SelectionManager.prototype._refresh = function () {\n this._refreshAnimationFrame = null;\n this.emit('refresh', { start: this._model.finalSelectionStart, end: this._model.finalSelectionEnd });\n };\n SelectionManager.prototype.selectAll = function () {\n this._model.isSelectAllActive = true;\n this.refresh();\n };\n SelectionManager.prototype._onTrim = function (amount) {\n var needsRefresh = this._model.onTrim(amount);\n if (needsRefresh) {\n this.refresh();\n }\n };\n SelectionManager.prototype._getMouseBufferCoords = function (event) {\n var coords = Mouse.getCoords(event, this._rowContainer, this._charMeasure, this._terminal.cols, this._terminal.rows, true);\n coords[0]--;\n coords[1]--;\n coords[1] += this._terminal.ydisp;\n return coords;\n };\n SelectionManager.prototype._getMouseEventScrollAmount = function (event) {\n var offset = Mouse.getCoordsRelativeToElement(event, this._rowContainer)[1];\n var terminalHeight = this._terminal.rows * this._charMeasure.height;\n if (offset >= 0 && offset <= terminalHeight) {\n return 0;\n }\n if (offset > terminalHeight) {\n offset -= terminalHeight;\n }\n offset = Math.min(Math.max(offset, -DRAG_SCROLL_MAX_THRESHOLD), DRAG_SCROLL_MAX_THRESHOLD);\n offset /= DRAG_SCROLL_MAX_THRESHOLD;\n return (offset / Math.abs(offset)) + Math.round(offset * (DRAG_SCROLL_MAX_SPEED - 1));\n };\n SelectionManager.prototype._onMouseDown = function (event) {\n if (event.button !== 0) {\n return;\n }\n event.preventDefault();\n this._dragScrollAmount = 0;\n this._setMouseClickCount(event);\n if (event.shiftKey) {\n this._onShiftClick(event);\n }\n else {\n if (this._clickCount === 1) {\n this._onSingleClick(event);\n }\n else if (this._clickCount === 2) {\n this._onDoubleClick(event);\n }\n else if (this._clickCount === 3) {\n this._onTripleClick(event);\n }\n }\n this._addMouseDownListeners();\n this.refresh(true);\n };\n SelectionManager.prototype._addMouseDownListeners = function () {\n var _this = this;\n this._rowContainer.ownerDocument.addEventListener('mousemove', this._mouseMoveListener);\n this._rowContainer.ownerDocument.addEventListener('mouseup', this._mouseUpListener);\n this._dragScrollIntervalTimer = setInterval(function () { return _this._dragScroll(); }, DRAG_SCROLL_INTERVAL);\n };\n SelectionManager.prototype._removeMouseDownListeners = function () {\n this._rowContainer.ownerDocument.removeEventListener('mousemove', this._mouseMoveListener);\n this._rowContainer.ownerDocument.removeEventListener('mouseup', this._mouseUpListener);\n clearInterval(this._dragScrollIntervalTimer);\n this._dragScrollIntervalTimer = null;\n };\n SelectionManager.prototype._onShiftClick = function (event) {\n if (this._model.selectionStart) {\n this._model.selectionEnd = this._getMouseBufferCoords(event);\n }\n };\n SelectionManager.prototype._onSingleClick = function (event) {\n this._model.selectionStartLength = 0;\n this._model.isSelectAllActive = false;\n this._activeSelectionMode = SelectionMode.NORMAL;\n this._model.selectionStart = this._getMouseBufferCoords(event);\n if (this._model.selectionStart) {\n this._model.selectionEnd = null;\n var char = this._buffer.get(this._model.selectionStart[1])[this._model.selectionStart[0]];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n this._model.selectionStart[0]++;\n }\n }\n };\n SelectionManager.prototype._onDoubleClick = function (event) {\n var coords = this._getMouseBufferCoords(event);\n if (coords) {\n this._activeSelectionMode = SelectionMode.WORD;\n this._selectWordAt(coords);\n }\n };\n SelectionManager.prototype._onTripleClick = function (event) {\n var coords = this._getMouseBufferCoords(event);\n if (coords) {\n this._activeSelectionMode = SelectionMode.LINE;\n this._selectLineAt(coords[1]);\n }\n };\n SelectionManager.prototype._setMouseClickCount = function (event) {\n var currentTime = (new Date()).getTime();\n if (currentTime - this._lastMouseDownTime > CLEAR_MOUSE_DOWN_TIME || this._distanceFromLastMousePosition(event) > CLEAR_MOUSE_DISTANCE) {\n this._clickCount = 0;\n }\n this._lastMouseDownTime = currentTime;\n this._lastMousePosition = [event.pageX, event.pageY];\n this._clickCount++;\n };\n SelectionManager.prototype._distanceFromLastMousePosition = function (event) {\n var result = Math.max(Math.abs(this._lastMousePosition[0] - event.pageX), Math.abs(this._lastMousePosition[1] - event.pageY));\n return result;\n };\n SelectionManager.prototype._onMouseMove = function (event) {\n var previousSelectionEnd = this._model.selectionEnd ? [this._model.selectionEnd[0], this._model.selectionEnd[1]] : null;\n this._model.selectionEnd = this._getMouseBufferCoords(event);\n if (this._activeSelectionMode === SelectionMode.LINE) {\n if (this._model.selectionEnd[1] < this._model.selectionStart[1]) {\n this._model.selectionEnd[0] = 0;\n }\n else {\n this._model.selectionEnd[0] = this._terminal.cols;\n }\n }\n else if (this._activeSelectionMode === SelectionMode.WORD) {\n this._selectToWordAt(this._model.selectionEnd);\n }\n this._dragScrollAmount = this._getMouseEventScrollAmount(event);\n if (this._dragScrollAmount > 0) {\n this._model.selectionEnd[0] = this._terminal.cols - 1;\n }\n else if (this._dragScrollAmount < 0) {\n this._model.selectionEnd[0] = 0;\n }\n if (this._model.selectionEnd[1] < this._buffer.length) {\n var char = this._buffer.get(this._model.selectionEnd[1])[this._model.selectionEnd[0]];\n if (char && char[2] === 0) {\n this._model.selectionEnd[0]++;\n }\n }\n if (!previousSelectionEnd ||\n previousSelectionEnd[0] !== this._model.selectionEnd[0] ||\n previousSelectionEnd[1] !== this._model.selectionEnd[1]) {\n this.refresh(true);\n }\n };\n SelectionManager.prototype._dragScroll = function () {\n if (this._dragScrollAmount) {\n this._terminal.scrollDisp(this._dragScrollAmount, false);\n if (this._dragScrollAmount > 0) {\n this._model.selectionEnd = [this._terminal.cols - 1, this._terminal.ydisp + this._terminal.rows];\n }\n else {\n this._model.selectionEnd = [0, this._terminal.ydisp];\n }\n this.refresh();\n }\n };\n SelectionManager.prototype._onMouseUp = function (event) {\n this._removeMouseDownListeners();\n };\n SelectionManager.prototype._convertViewportColToCharacterIndex = function (bufferLine, coords) {\n var charIndex = coords[0];\n for (var i = 0; coords[0] >= i; i++) {\n var char = bufferLine[i];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n charIndex--;\n }\n }\n return charIndex;\n };\n SelectionManager.prototype._getWordAt = function (coords) {\n var bufferLine = this._buffer.get(coords[1]);\n var line = this._translateBufferLineToString(bufferLine, false);\n var endIndex = this._convertViewportColToCharacterIndex(bufferLine, coords);\n var startIndex = endIndex;\n var charOffset = coords[0] - startIndex;\n var leftWideCharCount = 0;\n var rightWideCharCount = 0;\n if (line.charAt(startIndex) === ' ') {\n while (startIndex > 0 && line.charAt(startIndex - 1) === ' ') {\n startIndex--;\n }\n while (endIndex < line.length && line.charAt(endIndex + 1) === ' ') {\n endIndex++;\n }\n }\n else {\n var startCol = coords[0];\n var endCol = coords[0];\n if (bufferLine[startCol][LINE_DATA_WIDTH_INDEX] === 0) {\n leftWideCharCount++;\n startCol--;\n }\n if (bufferLine[endCol][LINE_DATA_WIDTH_INDEX] === 2) {\n rightWideCharCount++;\n endCol++;\n }\n while (startIndex > 0 && !this._isCharWordSeparator(line.charAt(startIndex - 1))) {\n if (bufferLine[startCol - 1][LINE_DATA_WIDTH_INDEX] === 0) {\n leftWideCharCount++;\n startCol--;\n }\n startIndex--;\n startCol--;\n }\n while (endIndex + 1 < line.length && !this._isCharWordSeparator(line.charAt(endIndex + 1))) {\n if (bufferLine[endCol + 1][LINE_DATA_WIDTH_INDEX] === 2) {\n rightWideCharCount++;\n endCol++;\n }\n endIndex++;\n endCol++;\n }\n }\n var start = startIndex + charOffset - leftWideCharCount;\n var length = Math.min(endIndex - startIndex + leftWideCharCount + rightWideCharCount + 1, this._terminal.cols);\n return { start: start, length: length };\n };\n SelectionManager.prototype._selectWordAt = function (coords) {\n var wordPosition = this._getWordAt(coords);\n this._model.selectionStart = [wordPosition.start, coords[1]];\n this._model.selectionStartLength = wordPosition.length;\n };\n SelectionManager.prototype._selectToWordAt = function (coords) {\n var wordPosition = this._getWordAt(coords);\n this._model.selectionEnd = [this._model.areSelectionValuesReversed() ? wordPosition.start : (wordPosition.start + wordPosition.length), coords[1]];\n };\n SelectionManager.prototype._isCharWordSeparator = function (char) {\n return WORD_SEPARATORS.indexOf(char) >= 0;\n };\n SelectionManager.prototype._selectLineAt = function (line) {\n this._model.selectionStart = [0, line];\n this._model.selectionStartLength = this._terminal.cols;\n };\n return SelectionManager;\n}(EventEmitter_1.EventEmitter));\nexports.SelectionManager = SelectionManager;\n\n//# sourceMappingURL=SelectionManager.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/SelectionManager.js\n// module id = 21\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar SelectionModel = (function () {\n function SelectionModel(_terminal) {\n this._terminal = _terminal;\n this.clearSelection();\n }\n SelectionModel.prototype.clearSelection = function () {\n this.selectionStart = null;\n this.selectionEnd = null;\n this.isSelectAllActive = false;\n this.selectionStartLength = 0;\n };\n Object.defineProperty(SelectionModel.prototype, \"finalSelectionStart\", {\n get: function () {\n if (this.isSelectAllActive) {\n return [0, 0];\n }\n if (!this.selectionEnd || !this.selectionStart) {\n return this.selectionStart;\n }\n return this.areSelectionValuesReversed() ? this.selectionEnd : this.selectionStart;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SelectionModel.prototype, \"finalSelectionEnd\", {\n get: function () {\n if (this.isSelectAllActive) {\n return [this._terminal.cols, this._terminal.ybase + this._terminal.rows - 1];\n }\n if (!this.selectionStart) {\n return null;\n }\n if (!this.selectionEnd || this.areSelectionValuesReversed()) {\n return [this.selectionStart[0] + this.selectionStartLength, this.selectionStart[1]];\n }\n if (this.selectionStartLength) {\n if (this.selectionEnd[1] === this.selectionStart[1]) {\n return [Math.max(this.selectionStart[0] + this.selectionStartLength, this.selectionEnd[0]), this.selectionEnd[1]];\n }\n }\n return this.selectionEnd;\n },\n enumerable: true,\n configurable: true\n });\n SelectionModel.prototype.areSelectionValuesReversed = function () {\n var start = this.selectionStart;\n var end = this.selectionEnd;\n return start[1] > end[1] || (start[1] === end[1] && start[0] > end[0]);\n };\n SelectionModel.prototype.onTrim = function (amount) {\n if (this.selectionStart) {\n this.selectionStart[1] -= amount;\n }\n if (this.selectionEnd) {\n this.selectionEnd[1] -= amount;\n }\n if (this.selectionEnd && this.selectionEnd[1] < 0) {\n this.clearSelection();\n return true;\n }\n if (this.selectionStart && this.selectionStart[1] < 0) {\n this.selectionStart[1] = 0;\n }\n return false;\n };\n return SelectionModel;\n}());\nexports.SelectionModel = SelectionModel;\n\n//# sourceMappingURL=SelectionModel.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/SelectionModel.js\n// module id = 22\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Viewport = (function () {\n function Viewport(terminal, viewportElement, scrollArea, charMeasure) {\n var _this = this;\n this.terminal = terminal;\n this.viewportElement = viewportElement;\n this.scrollArea = scrollArea;\n this.charMeasure = charMeasure;\n this.currentRowHeight = 0;\n this.lastRecordedBufferLength = 0;\n this.lastRecordedViewportHeight = 0;\n this.terminal.on('scroll', this.syncScrollArea.bind(this));\n this.terminal.on('resize', this.syncScrollArea.bind(this));\n this.viewportElement.addEventListener('scroll', this.onScroll.bind(this));\n setTimeout(function () { return _this.syncScrollArea(); }, 0);\n }\n Viewport.prototype.refresh = function () {\n if (this.charMeasure.height > 0) {\n var rowHeightChanged = this.charMeasure.height !== this.currentRowHeight;\n if (rowHeightChanged) {\n this.currentRowHeight = this.charMeasure.height;\n this.viewportElement.style.lineHeight = this.charMeasure.height + 'px';\n this.terminal.rowContainer.style.lineHeight = this.charMeasure.height + 'px';\n }\n var viewportHeightChanged = this.lastRecordedViewportHeight !== this.terminal.rows;\n if (rowHeightChanged || viewportHeightChanged) {\n this.lastRecordedViewportHeight = this.terminal.rows;\n this.viewportElement.style.height = this.charMeasure.height * this.terminal.rows + 'px';\n this.terminal.selectionContainer.style.height = this.viewportElement.style.height;\n }\n this.scrollArea.style.height = (this.charMeasure.height * this.lastRecordedBufferLength) + 'px';\n }\n };\n Viewport.prototype.syncScrollArea = function () {\n if (this.lastRecordedBufferLength !== this.terminal.lines.length) {\n this.lastRecordedBufferLength = this.terminal.lines.length;\n this.refresh();\n }\n else if (this.lastRecordedViewportHeight !== this.terminal.rows) {\n this.refresh();\n }\n else {\n if (this.charMeasure.height !== this.currentRowHeight) {\n this.refresh();\n }\n }\n var scrollTop = this.terminal.ydisp * this.currentRowHeight;\n if (this.viewportElement.scrollTop !== scrollTop) {\n this.viewportElement.scrollTop = scrollTop;\n }\n };\n Viewport.prototype.onScroll = function (ev) {\n var newRow = Math.round(this.viewportElement.scrollTop / this.currentRowHeight);\n var diff = newRow - this.terminal.ydisp;\n this.terminal.scrollDisp(diff, true);\n };\n Viewport.prototype.onWheel = function (ev) {\n if (ev.deltaY === 0) {\n return;\n }\n var multiplier = 1;\n if (ev.deltaMode === WheelEvent.DOM_DELTA_LINE) {\n multiplier = this.currentRowHeight;\n }\n else if (ev.deltaMode === WheelEvent.DOM_DELTA_PAGE) {\n multiplier = this.currentRowHeight * this.terminal.rows;\n }\n this.viewportElement.scrollTop += ev.deltaY * multiplier;\n ev.preventDefault();\n };\n ;\n Viewport.prototype.onTouchStart = function (ev) {\n this.lastTouchY = ev.touches[0].pageY;\n };\n ;\n Viewport.prototype.onTouchMove = function (ev) {\n var deltaY = this.lastTouchY - ev.touches[0].pageY;\n this.lastTouchY = ev.touches[0].pageY;\n if (deltaY === 0) {\n return;\n }\n this.viewportElement.scrollTop += deltaY;\n ev.preventDefault();\n };\n ;\n return Viewport;\n}());\nexports.Viewport = Viewport;\n\n//# sourceMappingURL=Viewport.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Viewport.js\n// module id = 23\n// module chunks = 0","var map = {\n\t\"./attach/attach\": 4,\n\t\"./attach/attach.js\": 4,\n\t\"./attach/package.json\": 25,\n\t\"./fit/fit\": 5,\n\t\"./fit/fit.js\": 5,\n\t\"./fit/package.json\": 26,\n\t\"./fullscreen/fullscreen\": 6,\n\t\"./fullscreen/fullscreen.css\": 27,\n\t\"./fullscreen/fullscreen.js\": 6,\n\t\"./fullscreen/package.json\": 28,\n\t\"./terminado/package.json\": 29,\n\t\"./terminado/terminado\": 7,\n\t\"./terminado/terminado.js\": 7\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 24;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons ^\\.\\/.*$\n// module id = 24\n// module chunks = 0","module.exports = {\"name\":\"xterm.attach\",\"main\":\"attach.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/attach/package.json\n// module id = 25\n// module chunks = 0","module.exports = {\"name\":\"xterm.fit\",\"main\":\"fit.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fit/package.json\n// module id = 26\n// module chunks = 0","module.exports = {\"name\":\"xterm.fullscreen\",\"main\":\"fullscreen.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fullscreen/package.json\n// module id = 28\n// module chunks = 0","module.exports = {\"name\":\"xterm.terminado\",\"main\":\"terminado.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/terminado/package.json\n// module id = 29\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction prepareTextForTerminal(text, isMSWindows) {\n if (isMSWindows) {\n return text.replace(/\\r?\\n/g, '\\r');\n }\n return text;\n}\nexports.prepareTextForTerminal = prepareTextForTerminal;\nfunction copyHandler(ev, term, selectionManager) {\n if (term.browser.isMSIE) {\n window.clipboardData.setData('Text', selectionManager.selectionText);\n }\n else {\n ev.clipboardData.setData('text/plain', selectionManager.selectionText);\n }\n ev.preventDefault();\n}\nexports.copyHandler = copyHandler;\nfunction pasteHandler(ev, term) {\n ev.stopPropagation();\n var text;\n var dispatchPaste = function (text) {\n text = prepareTextForTerminal(text, term.browser.isMSWindows);\n term.handler(text);\n term.textarea.value = '';\n term.emit('paste', text);\n return term.cancel(ev);\n };\n if (term.browser.isMSIE) {\n if (window.clipboardData) {\n text = window.clipboardData.getData('Text');\n dispatchPaste(text);\n }\n }\n else {\n if (ev.clipboardData) {\n text = ev.clipboardData.getData('text/plain');\n dispatchPaste(text);\n }\n }\n}\nexports.pasteHandler = pasteHandler;\nfunction moveTextAreaUnderMouseCursor(ev, textarea) {\n textarea.style.position = 'fixed';\n textarea.style.width = '20px';\n textarea.style.height = '20px';\n textarea.style.left = (ev.clientX - 10) + 'px';\n textarea.style.top = (ev.clientY - 10) + 'px';\n textarea.style.zIndex = '1000';\n textarea.focus();\n setTimeout(function () {\n textarea.style.position = null;\n textarea.style.width = null;\n textarea.style.height = null;\n textarea.style.left = null;\n textarea.style.top = null;\n textarea.style.zIndex = null;\n }, 4);\n}\nexports.moveTextAreaUnderMouseCursor = moveTextAreaUnderMouseCursor;\nfunction rightClickHandler(ev, textarea, selectionManager) {\n moveTextAreaUnderMouseCursor(ev, textarea);\n textarea.value = selectionManager.selectionText;\n textarea.select();\n}\nexports.rightClickHandler = rightClickHandler;\n\n//# sourceMappingURL=Clipboard.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/handlers/Clipboard.js\n// module id = 30\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventEmitter_js_1 = require(\"../EventEmitter.js\");\nvar CharMeasure = (function (_super) {\n __extends(CharMeasure, _super);\n function CharMeasure(document, parentElement) {\n var _this = _super.call(this) || this;\n _this._document = document;\n _this._parentElement = parentElement;\n return _this;\n }\n Object.defineProperty(CharMeasure.prototype, \"width\", {\n get: function () {\n return this._width;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CharMeasure.prototype, \"height\", {\n get: function () {\n return this._height;\n },\n enumerable: true,\n configurable: true\n });\n CharMeasure.prototype.measure = function () {\n var _this = this;\n if (!this._measureElement) {\n this._measureElement = this._document.createElement('span');\n this._measureElement.style.position = 'absolute';\n this._measureElement.style.top = '0';\n this._measureElement.style.left = '-9999em';\n this._measureElement.textContent = 'W';\n this._measureElement.setAttribute('aria-hidden', 'true');\n this._parentElement.appendChild(this._measureElement);\n setTimeout(function () { return _this._doMeasure(); }, 0);\n }\n else {\n this._doMeasure();\n }\n };\n CharMeasure.prototype._doMeasure = function () {\n var geometry = this._measureElement.getBoundingClientRect();\n if (geometry.width === 0 || geometry.height === 0) {\n return;\n }\n if (this._width !== geometry.width || this._height !== geometry.height) {\n this._width = geometry.width;\n this._height = geometry.height;\n this.emit('charsizechanged');\n }\n };\n return CharMeasure;\n}(EventEmitter_js_1.EventEmitter));\nexports.CharMeasure = CharMeasure;\n\n//# sourceMappingURL=CharMeasure.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/CharMeasure.js\n// module id = 31\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventEmitter_1 = require(\"../EventEmitter\");\nvar CircularList = (function (_super) {\n __extends(CircularList, _super);\n function CircularList(maxLength) {\n var _this = _super.call(this) || this;\n _this._array = new Array(maxLength);\n _this._startIndex = 0;\n _this._length = 0;\n return _this;\n }\n Object.defineProperty(CircularList.prototype, \"maxLength\", {\n get: function () {\n return this._array.length;\n },\n set: function (newMaxLength) {\n var newArray = new Array(newMaxLength);\n for (var i = 0; i < Math.min(newMaxLength, this.length); i++) {\n newArray[i] = this._array[this._getCyclicIndex(i)];\n }\n this._array = newArray;\n this._startIndex = 0;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CircularList.prototype, \"length\", {\n get: function () {\n return this._length;\n },\n set: function (newLength) {\n if (newLength > this._length) {\n for (var i = this._length; i < newLength; i++) {\n this._array[i] = undefined;\n }\n }\n this._length = newLength;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CircularList.prototype, \"forEach\", {\n get: function () {\n var _this = this;\n return function (callbackfn) {\n var i = 0;\n var length = _this.length;\n for (var i_1 = 0; i_1 < length; i_1++) {\n callbackfn(_this.get(i_1), i_1);\n }\n };\n },\n enumerable: true,\n configurable: true\n });\n CircularList.prototype.get = function (index) {\n return this._array[this._getCyclicIndex(index)];\n };\n CircularList.prototype.set = function (index, value) {\n this._array[this._getCyclicIndex(index)] = value;\n };\n CircularList.prototype.push = function (value) {\n this._array[this._getCyclicIndex(this._length)] = value;\n if (this._length === this.maxLength) {\n this._startIndex++;\n if (this._startIndex === this.maxLength) {\n this._startIndex = 0;\n }\n this.emit('trim', 1);\n }\n else {\n this._length++;\n }\n };\n CircularList.prototype.pop = function () {\n return this._array[this._getCyclicIndex(this._length-- - 1)];\n };\n CircularList.prototype.splice = function (start, deleteCount) {\n var items = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n items[_i - 2] = arguments[_i];\n }\n if (deleteCount) {\n for (var i = start; i < this._length - deleteCount; i++) {\n this._array[this._getCyclicIndex(i)] = this._array[this._getCyclicIndex(i + deleteCount)];\n }\n this._length -= deleteCount;\n }\n if (items && items.length) {\n for (var i = this._length - 1; i >= start; i--) {\n this._array[this._getCyclicIndex(i + items.length)] = this._array[this._getCyclicIndex(i)];\n }\n for (var i = 0; i < items.length; i++) {\n this._array[this._getCyclicIndex(start + i)] = items[i];\n }\n if (this._length + items.length > this.maxLength) {\n var countToTrim = (this._length + items.length) - this.maxLength;\n this._startIndex += countToTrim;\n this._length = this.maxLength;\n this.emit('trim', countToTrim);\n }\n else {\n this._length += items.length;\n }\n }\n };\n CircularList.prototype.trimStart = function (count) {\n if (count > this._length) {\n count = this._length;\n }\n this._startIndex += count;\n this._length -= count;\n this.emit('trim', count);\n };\n CircularList.prototype.shiftElements = function (start, count, offset) {\n if (count <= 0) {\n return;\n }\n if (start < 0 || start >= this._length) {\n throw new Error('start argument out of range');\n }\n if (start + offset < 0) {\n throw new Error('Cannot shift elements in list beyond index 0');\n }\n if (offset > 0) {\n for (var i = count - 1; i >= 0; i--) {\n this.set(start + i + offset, this.get(start + i));\n }\n var expandListBy = (start + count + offset) - this._length;\n if (expandListBy > 0) {\n this._length += expandListBy;\n while (this._length > this.maxLength) {\n this._length--;\n this._startIndex++;\n this.emit('trim', 1);\n }\n }\n }\n else {\n for (var i = 0; i < count; i++) {\n this.set(start + i + offset, this.get(start + i));\n }\n }\n };\n CircularList.prototype._getCyclicIndex = function (index) {\n return (this._startIndex + index) % this.maxLength;\n };\n return CircularList;\n}(EventEmitter_1.EventEmitter));\nexports.CircularList = CircularList;\n\n//# sourceMappingURL=CircularList.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/CircularList.js\n// module id = 32\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DomElementObjectPool = (function () {\n function DomElementObjectPool(type) {\n this.type = type;\n this._type = type;\n this._pool = [];\n this._inUse = {};\n }\n DomElementObjectPool.prototype.acquire = function () {\n var element;\n if (this._pool.length === 0) {\n element = this._createNew();\n }\n else {\n element = this._pool.pop();\n }\n this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)] = element;\n return element;\n };\n DomElementObjectPool.prototype.release = function (element) {\n if (!this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)]) {\n throw new Error('Could not release an element not yet acquired');\n }\n delete this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)];\n this._cleanElement(element);\n this._pool.push(element);\n };\n DomElementObjectPool.prototype._createNew = function () {\n var element = document.createElement(this._type);\n var id = DomElementObjectPool._objectCount++;\n element.setAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE, id.toString(10));\n return element;\n };\n DomElementObjectPool.prototype._cleanElement = function (element) {\n element.className = '';\n element.innerHTML = '';\n };\n return DomElementObjectPool;\n}());\nDomElementObjectPool.OBJECT_ID_ATTRIBUTE = 'data-obj-id';\nDomElementObjectPool._objectCount = 0;\nexports.DomElementObjectPool = DomElementObjectPool;\n\n//# sourceMappingURL=DomElementObjectPool.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/DomElementObjectPool.js\n// module id = 33\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction contains(arr, el) {\n return arr.indexOf(el) >= 0;\n}\nexports.contains = contains;\n;\n\n//# sourceMappingURL=Generic.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Generic.js\n// module id = 34\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap d69371b1ba8b46cfaccb","webpack:///./~/xterm/lib/xterm.js","webpack:///./~/xterm/lib/EventEmitter.js","webpack:///./~/xterm/lib/EscapeSequences.js","webpack:///./~/xterm/lib/Charsets.js","webpack:///./~/xterm/lib/addons/attach/attach.js","webpack:///./~/xterm/lib/addons/fit/fit.js","webpack:///./~/xterm/lib/addons/fullscreen/fullscreen.js","webpack:///./~/xterm/lib/addons/terminado/terminado.js","webpack:///./~/xterm/lib/utils/Browser.js","webpack:///./~/xterm/lib/utils/Mouse.js","webpack:///./src/hterm.ts","webpack:///./src/websocket.ts","webpack:///./src/webtty.ts","webpack:///./src/xterm.ts","webpack:///./~/libapps/hterm/dist/js/hterm_module.js","webpack:///./src/main.ts","webpack:///./~/xterm/lib/CompositionHelper.js","webpack:///./~/xterm/lib/InputHandler.js","webpack:///./~/xterm/lib/Linkifier.js","webpack:///./~/xterm/lib/Parser.js","webpack:///./~/xterm/lib/Renderer.js","webpack:///./~/xterm/lib/SelectionManager.js","webpack:///./~/xterm/lib/SelectionModel.js","webpack:///./~/xterm/lib/Viewport.js","webpack:///./~/xterm/lib/addons ^\\.\\/.*$","webpack:///./~/xterm/lib/addons/attach/package.json","webpack:///./~/xterm/lib/addons/fit/package.json","webpack:///./~/xterm/lib/addons/fullscreen/package.json","webpack:///./~/xterm/lib/addons/terminado/package.json","webpack:///./~/xterm/lib/handlers/Clipboard.js","webpack:///./~/xterm/lib/utils/CharMeasure.js","webpack:///./~/xterm/lib/utils/CircularList.js","webpack:///./~/xterm/lib/utils/DomElementObjectPool.js","webpack:///./~/xterm/lib/utils/Generic.js"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AChEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA,UAAU,QAAQ;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gDAAgD,8CAA8C;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,KAAK;AACL;AACA,2BAA2B,iBAAiB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,mCAAmC,yCAAyC,EAAE;AAC9E,iEAAiE,yCAAyC,EAAE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,4CAA4C;AACtE,iCAAiC,wCAAwC;AACzE,gCAAgC,0CAA0C;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,cAAc;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,wHAAwH;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,wHAAwH;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,mCAAmC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,6BAA6B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5lDA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC1DA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,qCAAqC;AACtC;;AAEA;;;;;;;;ACzCA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;;;;;;;AChKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;AC7HD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B;AAC/B;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;;AAEA,gBAAgB;AAChB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;ACrFD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;ACjDD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;ACtID;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,mBAAmB;AAC9B,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,EAAE,WAAW,EAAE,WAAW,EAAE;;AAEjD;AACA;AACA,2BAA2B,IAAI,YAAY,IAAI;AAC/C,eAAe,IAAI;AACnB;;AAEA;AACA;AACA;AACA,iBAAiB,IAAI,YAAY,IAAI,YAAY,IAAI;AACrD;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,IAAI,YAAY,IAAI,YAAY,IAAI;AACrD;AACA;;AAEA;AACA,6BAA6B,IAAI,aAAa,IAAI,aAAa,IAAI;;AAEnE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,gBAAgB;AAChB,iBAAiB;AACjB,kBAAkB;AAClB,iBAAiB;AACjB;;AAEA,kDAAkD,gBAAgB;AAClE;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2CAA2C,iCAAiC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,IAAI;AACf;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,4BAA4B,uBAAuB;AACnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA,oBAAoB,+BAA+B;;AAEnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,sBAAsB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,kBAAkB;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,8CAA8C;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,8CAA8C;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,0BAA0B;;AAE9C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,wCAAwC;AACnD;AACA;AACA,WAAW,8CAA8C;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB,kCAAkC;AACnD;;AAEA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS,kBAAkB,aAAa,WAAW,kBAAkB;AAC9E;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,YAAY,OAAO;AACnB;AACA;AACA;AACA,aAAa;AACb,eAAe;AACf,cAAc;AACd;;AAEA,iBAAiB,cAAc;AAC/B;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,iBAAiB,cAAc;AAC/B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,iBAAiB,uBAAuB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA,uBAAuB,qDAAqD;AAC5E;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;AACA;AACA;;AAEA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;;AAEA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;AACA;AACA;;AAEA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;;AAEZ;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,SAAS;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,qBAAqB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS;AACtC;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,WAAW,OAAO;AAClB;AACA,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA,YAAY,IAAI;AAChB;AACA;AACA;AACA;;AAEA,iBAAiB,6CAA6C;AAC9D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA,WAAW,qBAAqB;AAChC;AACA,WAAW,qBAAqB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD,2BAA2B;AAC3E;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ,kDAAkD;AACtE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;;AAEA,iCAAiC,yBAAyB;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC,cAAc;AAClD,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL,sCAAsC,eAAe;AACrD;AACA;AACA,CAAC;;AAED;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6DAA6D,eAAe;;AAE5E;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC,eAAe,OAAO;AACtB,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,0BAA0B,wCAAwC,EAAE;AAC3E;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,0CAA0C,uBAAuB;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,0BAA0B;AAC1B,qBAAqB;AACrB,8BAA8B;AAC9B,gBAAgB;AAChB,gBAAgB;AAChB,kBAAkB;AAClB,mBAAmB;AACnB,uBAAuB;AACvB,uBAAuB;AACvB,uEAAuE;AACvE,qEAAqE;;AAErE;AACA;AACA;AACA;AACA,uBAAuB;AACvB,mCAAmC;AACnC,sCAAsC;AACtC,uEAAuE;AACvE,4DAA4D;AAC5D,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B,2BAA2B;AAC3B,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,eAAe;;AAEf;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,WAAW,iCAAiC;AAC5C,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,mDAAmD;AACnD;AACA;AACA,oBAAoB,0BAA0B;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;;AAEpB;AACA,iBAAiB,yBAAyB,uBAAuB;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,0CAA0C;AACrE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC,WAAW,0BAA0B;AACrC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,YAAY;;AAEZ;AACA,YAAY;;AAEZ;AACA,YAAY;;;AAGZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,EAAE;AAChD;AACA,KAAK;AACL;AACA,8CAA8C,EAAE;AAChD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,+CAA+C;AAC/C,GAAG;AACH,yBAAyB;AACzB,GAAG;AACH,qBAAqB;AACrB,GAAG;AACH,qBAAqB;AACrB,GAAG;AACH,sBAAsB;AACtB,GAAG;AACH,mBAAmB;AACnB,GAAG;AACH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,KAAK;AACb,oBAAoB;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sDAAsD,yBAAyB;AAC/E;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,oBAAoB;AAC/B;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,MAAM;AAClB;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB,oBAAoB;AACpB,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB,oBAAoB;AACpB,oBAAoB;AACpB,mBAAmB;AACnB,wBAAwB;AACxB,+CAA+C;AAC/C,iCAAiC;AACjC,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd,wBAAwB;AACxB,8CAA8C;AAC9C,mDAAmD;AACnD,QAAQ;AACR;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,sBAAsB;AACtB,8BAA8B;AAC9B,uBAAuB;AACvB,oCAAoC;AACpC,oBAAoB;AACpB,0BAA0B,oBAAoB;AAC9C,wBAAwB;AACxB,mBAAmB;AACnB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,uBAAuB;AACvB,wBAAwB;AACxB,iCAAiC;AACjC,8BAA8B;AAC9B;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB,wBAAwB;AACxB,4CAA4C;AAC5C,wBAAwB;;AAExB;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,cAAc;AACd,eAAe;AACf;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,iBAAiB;AACjB,gBAAgB;AAChB,eAAe;AACf,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,gBAAgB;AAChB,iBAAiB;AACjB,4BAA4B;AAC5B,iCAAiC;AACjC,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,yBAAyB,6BAA6B;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,mBAAmB;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B,gCAAgC;AAC7D;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,8DAA8D;AAC9D;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,8BAA8B,wBAAwB,EAAE;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA,SAAS,WAAW,EAAE,KAAK;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C;AAC7C;AACA,8BAA8B;AAC9B,GAAG;AACH,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,2CAA2C,QAAQ;AACnD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,kDAAkD,cAAc;;AAEhE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC,iCAAiC;AACjC,mDAAmD;AACnD,4BAA4B;AAC5B,8BAA8B;AAC9B,SAAS;AACT,kBAAkB;AAClB,gCAAgC;AAChC,6BAA6B;AAC7B,uDAAuD;AACvD,oDAAoD;AACpD,SAAS;AACT,eAAe;AACf,iFAAiF;AACjF,mFAAmF;AACnF,uCAAuC;AACvC,uCAAuC;AACvC,4CAA4C;AAC5C,0CAA0C;AAC1C,gDAAgD;AAChD,qEAAqE;AACrE,SAAS;AACT,0BAA0B;AAC1B,gBAAgB,cAAc,EAAE;AAChC,cAAc,cAAc,EAAE;AAC9B,SAAS;AACT,qBAAqB;AACrB,gCAAgC;AAChC,+DAA+D;AAC/D,8CAA8C;AAC9C,iDAAiD;AACjD,yCAAyC;AACzC,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,iFAAiF;AACjF,iFAAiF;AACjF,uBAAuB;AACvB,2CAA2C;AAC3C,6CAA6C;AAC7C,mEAAmE;AACnE,gEAAgE;;AAEhE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,mBAAmB;AACnB,uBAAuB;AACvB,oBAAoB;AACpB,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB;AACA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,mBAAmB,mBAAmB;AACtC;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA,mBAAmB,8BAA8B;AACjD,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B,gCAAgC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,6BAA6B;AACtC,SAAS,qCAAqC;AAC9C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB,mCAAmC;AACnC,0BAA0B;AAC1B,4BAA4B;AAC5B,uBAAuB;AACvB,0CAA0C;AAC1C,oBAAoB;AACpB,sBAAsB;AACtB,4BAA4B;AAC5B,wCAAwC;AACxC,mCAAmC;AACnC,qCAAqC;AACrC,gCAAgC;;AAEhC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B,uBAAuB;AACvB,0CAA0C;AAC1C,4BAA4B;AAC5B,mCAAmC;AACnC,mDAAmD;AACnD,gCAAgC;AAChC,gDAAgD;;AAEhD;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,8BAA8B;AAC9B,0BAA0B;AAC1B;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,4BAA4B,WAAW;AACvC,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,qBAAqB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,IAAI;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,GAAG,kBAAkB;AACrB;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,GAAG;AACH;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,GAAG,uBAAuB;AAC1B;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC,UAAU,OAAO;AACvD;AACA,wCAAwC;;AAExC;AACA;AACA;;AAEA,0BAA0B,wBAAwB;AAClD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC,yBAAyB;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,uDAAuD;AACvD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA;AACA,gBAAgB,MAAM;AACtB;AACA,0CAA0C,GAAG,IAAI,KAAK;AACtD;AACA;AACA;AACA;AACA,oBAAoB,gCAAgC;AACpD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,IAAI;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;;AAEA;AACA,qBAAqB;AACrB;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,sBAAsB;AAC7B;AACA;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,OAAO;AACP;;AAEA,OAAO;AACP;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC,0BAA0B;AACnE;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C,oBAAoB;AAC9D;AACA;AACA;AACA,6CAA6C,IAAI,IAAI;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH,0CAA0C,EAAE,EAAE;AAC9C,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,sBAAsB;AACjC;AACA;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,4BAA4B;AAC5B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;AACL,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC9jjBA,sCAAgC;AAChC,sCAAgC;AAChC,uCAAuD;AACvD,0CAAgD;AAMhD,IAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;AAEhD,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;IAChB,IAAI,IAAc,CAAC;IACnB,EAAE,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC;QACxB,IAAI,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,IAAI,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,IAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAC1D,IAAM,GAAG,GAAG,CAAC,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzG,IAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IACpC,IAAM,OAAO,GAAG,IAAI,6BAAiB,CAAC,GAAG,EAAE,kBAAS,CAAC,CAAC;IACtD,IAAM,EAAE,GAAG,IAAI,eAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC7D,IAAM,QAAM,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAEzB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAC9B,QAAM,EAAE,CAAC;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC;AAAA,CAAC;;;;;;;;AC7BF;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,8CAA8C,EAAE;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC5HA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,uDAAuD,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,yBAAyB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,IAAI;AACxE;AACA;AACA,qEAAqE,GAAG;AACxE;AACA;AACA;AACA;AACA;AACA,qEAAqE,MAAM;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,GAAG,qBAAqB;;AAEzB;;;;;;;;ACx6BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B,sBAAsB,IAAI,KAAK,EAAE,IAAI,IAAI;AACzC;AACA,wBAAwB,IAAI;AAC5B;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,gBAAgB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,mCAAmC,yBAAyB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,4BAA4B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;;;;;;;ACzOA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA,2EAA2E,uBAAuB;AAClG,0EAA0E,2BAA2B;AACrG;AACA;AACA,0EAA0E,iCAAiC;AAC3G,0EAA0E,4BAA4B;AACtG,0EAA0E,sBAAsB;AAChG,0EAA0E,2BAA2B;AACrG,0EAA0E,0BAA0B;AACpG,2EAA2E,6CAA6C;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,4CAA4C;AAC/G;AACA,+CAA+C,8BAA8B;AAC7E,+CAA+C,8BAA8B;AAC7E,+CAA+C,8BAA8B;AAC7E,+CAA+C,gDAAgD;AAC/F,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,+BAA+B;AAC9E,+CAA+C,+BAA+B;AAC9E,+CAA+C,+BAA+B;AAC9E,gDAAgD,gCAAgC;AAChF,uBAAuB,wBAAwB,+BAA+B;AAC9E,oEAAoE,4CAA4C;AAChH;AACA,2DAA2D,oCAAoC;AAC/F,2DAA2D,iCAAiC;AAC5F,2DAA2D,mCAAmC;AAC9F,2DAA2D,sCAAsC;AACjG,2DAA2D,uCAAuC;AAClG,2DAA2D,uCAAuC;AAClG,2DAA2D,4CAA4C;AACvG,2DAA2D,2CAA2C;AACtG,2DAA2D,uCAAuC;AAClG,2DAA2D,yCAAyC;AACpG,2DAA2D,uCAAuC;AAClG,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,iCAAiC;AAC5F;AACA;AACA;AACA;AACA;AACA,2DAA2D,mCAAmC;AAC9F,2DAA2D,0CAA0C;AACrG,2DAA2D,wCAAwC;AACnG,2DAA2D,0CAA0C;AACrG,2DAA2D,iDAAiD;AAC5G,2DAA2D,6CAA6C;AACxG,2DAA2D,wCAAwC;AACnG,2DAA2D,0CAA0C;AACrG,2DAA2D,mCAAmC;AAC9F,2DAA2D,iCAAiC;AAC5F,2DAA2D,gCAAgC;AAC3F,2DAA2D,kCAAkC;AAC7F,2DAA2D,uCAAuC;AAClG,2DAA2D,qCAAqC;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,wCAAwC;AAC3F,mDAAmD,mCAAmC;AACtF,mDAAmD,sCAAsC;AACzF,iGAAiG,4CAA4C;AAC7I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC7dA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sBAAsB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,yBAAyB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mCAAmC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,0DAA0D;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrRA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,8BAA8B;AACpF,oDAAoD,kCAAkC;AACtF,oDAAoD,kCAAkC;AACtF,kDAAkD,gCAAgC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,iBAAiB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAoF,yBAAyB,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6EAA6E;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,4BAA4B,EAAE;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;ACrZA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;ACxEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uB;;;;;;AC7BA,kBAAkB,wD;;;;;;ACAlB,kBAAkB,kD;;;;;;;;;;;;ACAlB,kBAAkB,gE;;;;;;ACAlB,kBAAkB,8D;;;;;;;ACAlB;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpEA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,2BAA2B,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AClEA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,2BAA2B,yCAAyC;AACpE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,0CAA0C,eAAe;AACzD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,+BAA+B,gCAAgC;AAC/D;AACA;AACA;AACA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AClKA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;;;;;;;AC5CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;;AAEA","file":"./dist/gotty-bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 15);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap d69371b1ba8b46cfaccb","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CompositionHelper_1 = require(\"./CompositionHelper\");\nvar EventEmitter_1 = require(\"./EventEmitter\");\nvar Viewport_1 = require(\"./Viewport\");\nvar Clipboard_1 = require(\"./handlers/Clipboard\");\nvar CircularList_1 = require(\"./utils/CircularList\");\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar InputHandler_1 = require(\"./InputHandler\");\nvar Parser_1 = require(\"./Parser\");\nvar Renderer_1 = require(\"./Renderer\");\nvar Linkifier_1 = require(\"./Linkifier\");\nvar SelectionManager_1 = require(\"./SelectionManager\");\nvar CharMeasure_1 = require(\"./utils/CharMeasure\");\nvar Browser = require(\"./utils/Browser\");\nvar Mouse_1 = require(\"./utils/Mouse\");\nvar document = (typeof window != 'undefined') ? window.document : null;\nvar WRITE_BUFFER_PAUSE_THRESHOLD = 5;\nvar WRITE_BATCH_SIZE = 300;\nvar CURSOR_BLINK_INTERVAL = 600;\nfunction Terminal(options) {\n var self = this;\n if (!(this instanceof Terminal)) {\n return new Terminal(arguments[0], arguments[1], arguments[2]);\n }\n self.browser = Browser;\n self.cancel = Terminal.cancel;\n EventEmitter_1.EventEmitter.call(this);\n if (typeof options === 'number') {\n options = {\n cols: arguments[0],\n rows: arguments[1],\n handler: arguments[2]\n };\n }\n options = options || {};\n Object.keys(Terminal.defaults).forEach(function (key) {\n if (options[key] == null) {\n options[key] = Terminal.options[key];\n if (Terminal[key] !== Terminal.defaults[key]) {\n options[key] = Terminal[key];\n }\n }\n self[key] = options[key];\n });\n if (options.colors.length === 8) {\n options.colors = options.colors.concat(Terminal._colors.slice(8));\n }\n else if (options.colors.length === 16) {\n options.colors = options.colors.concat(Terminal._colors.slice(16));\n }\n else if (options.colors.length === 10) {\n options.colors = options.colors.slice(0, -2).concat(Terminal._colors.slice(8, -2), options.colors.slice(-2));\n }\n else if (options.colors.length === 18) {\n options.colors = options.colors.concat(Terminal._colors.slice(16, -2), options.colors.slice(-2));\n }\n this.colors = options.colors;\n this.options = options;\n this.parent = options.body || options.parent || (document ? document.getElementsByTagName('body')[0] : null);\n this.cols = options.cols || options.geometry[0];\n this.rows = options.rows || options.geometry[1];\n this.geometry = [this.cols, this.rows];\n if (options.handler) {\n this.on('data', options.handler);\n }\n this.ybase = 0;\n this.ydisp = 0;\n this.x = 0;\n this.y = 0;\n this.cursorState = 0;\n this.cursorHidden = false;\n this.convertEol;\n this.queue = '';\n this.scrollTop = 0;\n this.scrollBottom = this.rows - 1;\n this.customKeyEventHandler = null;\n this.cursorBlinkInterval = null;\n this.applicationKeypad = false;\n this.applicationCursor = false;\n this.originMode = false;\n this.insertMode = false;\n this.wraparoundMode = true;\n this.normal = null;\n this.charset = null;\n this.gcharset = null;\n this.glevel = 0;\n this.charsets = [null];\n this.decLocator;\n this.x10Mouse;\n this.vt200Mouse;\n this.vt300Mouse;\n this.normalMouse;\n this.mouseEvents;\n this.sendFocus;\n this.utfMouse;\n this.sgrMouse;\n this.urxvtMouse;\n this.element;\n this.children;\n this.refreshStart;\n this.refreshEnd;\n this.savedX;\n this.savedY;\n this.savedCols;\n this.readable = true;\n this.writable = true;\n this.defAttr = (0 << 18) | (257 << 9) | (256 << 0);\n this.curAttr = this.defAttr;\n this.params = [];\n this.currentParam = 0;\n this.prefix = '';\n this.postfix = '';\n this.inputHandler = new InputHandler_1.InputHandler(this);\n this.parser = new Parser_1.Parser(this.inputHandler, this);\n this.renderer = this.renderer || null;\n this.selectionManager = this.selectionManager || null;\n this.linkifier = this.linkifier || new Linkifier_1.Linkifier();\n this.writeBuffer = [];\n this.writeInProgress = false;\n this.xoffSentToCatchUp = false;\n this.writeStopped = false;\n this.surrogate_high = '';\n this.lines = new CircularList_1.CircularList(this.scrollback);\n var i = this.rows;\n while (i--) {\n this.lines.push(this.blankLine());\n }\n if (this.selectionManager) {\n this.selectionManager.setBuffer(this.lines);\n }\n this.tabs;\n this.setupStops();\n this.userScrolling = false;\n}\ninherits(Terminal, EventEmitter_1.EventEmitter);\nTerminal.prototype.eraseAttr = function () {\n return (this.defAttr & ~0x1ff) | (this.curAttr & 0x1ff);\n};\nTerminal.tangoColors = [\n '#2e3436',\n '#cc0000',\n '#4e9a06',\n '#c4a000',\n '#3465a4',\n '#75507b',\n '#06989a',\n '#d3d7cf',\n '#555753',\n '#ef2929',\n '#8ae234',\n '#fce94f',\n '#729fcf',\n '#ad7fa8',\n '#34e2e2',\n '#eeeeec'\n];\nTerminal.colors = (function () {\n var colors = Terminal.tangoColors.slice(), r = [0x00, 0x5f, 0x87, 0xaf, 0xd7, 0xff], i;\n i = 0;\n for (; i < 216; i++) {\n out(r[(i / 36) % 6 | 0], r[(i / 6) % 6 | 0], r[i % 6]);\n }\n i = 0;\n for (; i < 24; i++) {\n r = 8 + i * 10;\n out(r, r, r);\n }\n function out(r, g, b) {\n colors.push('#' + hex(r) + hex(g) + hex(b));\n }\n function hex(c) {\n c = c.toString(16);\n return c.length < 2 ? '0' + c : c;\n }\n return colors;\n})();\nTerminal._colors = Terminal.colors.slice();\nTerminal.vcolors = (function () {\n var out = [], colors = Terminal.colors, i = 0, color;\n for (; i < 256; i++) {\n color = parseInt(colors[i].substring(1), 16);\n out.push([\n (color >> 16) & 0xff,\n (color >> 8) & 0xff,\n color & 0xff\n ]);\n }\n return out;\n})();\nTerminal.defaults = {\n colors: Terminal.colors,\n theme: 'default',\n convertEol: false,\n termName: 'xterm',\n geometry: [80, 24],\n cursorBlink: false,\n cursorStyle: 'block',\n visualBell: false,\n popOnBell: false,\n scrollback: 1000,\n screenKeys: false,\n debug: false,\n cancelEvents: false,\n disableStdin: false,\n useFlowControl: false,\n tabStopWidth: 8\n};\nTerminal.options = {};\nTerminal.focus = null;\neach(keys(Terminal.defaults), function (key) {\n Terminal[key] = Terminal.defaults[key];\n Terminal.options[key] = Terminal.defaults[key];\n});\nTerminal.prototype.focus = function () {\n return this.textarea.focus();\n};\nTerminal.prototype.getOption = function (key, value) {\n if (!(key in Terminal.defaults)) {\n throw new Error('No option with key \"' + key + '\"');\n }\n if (typeof this.options[key] !== 'undefined') {\n return this.options[key];\n }\n return this[key];\n};\nTerminal.prototype.setOption = function (key, value) {\n if (!(key in Terminal.defaults)) {\n throw new Error('No option with key \"' + key + '\"');\n }\n switch (key) {\n case 'scrollback':\n if (value < this.rows) {\n var msg = 'Setting the scrollback value less than the number of rows ';\n msg += \"(\" + this.rows + \") is not allowed.\";\n console.warn(msg);\n return false;\n }\n if (this.options[key] !== value) {\n if (this.lines.length > value) {\n var amountToTrim = this.lines.length - value;\n var needsRefresh = (this.ydisp - amountToTrim < 0);\n this.lines.trimStart(amountToTrim);\n this.ybase = Math.max(this.ybase - amountToTrim, 0);\n this.ydisp = Math.max(this.ydisp - amountToTrim, 0);\n if (needsRefresh) {\n this.refresh(0, this.rows - 1);\n }\n }\n this.lines.maxLength = value;\n this.viewport.syncScrollArea();\n }\n break;\n }\n this[key] = value;\n this.options[key] = value;\n switch (key) {\n case 'cursorBlink':\n this.setCursorBlinking(value);\n break;\n case 'cursorStyle':\n this.element.classList.toggle(\"xterm-cursor-style-underline\", value === 'underline');\n this.element.classList.toggle(\"xterm-cursor-style-bar\", value === 'bar');\n break;\n case 'tabStopWidth':\n this.setupStops();\n break;\n }\n};\nTerminal.prototype.restartCursorBlinking = function () {\n this.setCursorBlinking(this.options.cursorBlink);\n};\nTerminal.prototype.setCursorBlinking = function (enabled) {\n this.element.classList.toggle('xterm-cursor-blink', enabled);\n this.clearCursorBlinkingInterval();\n if (enabled) {\n var self = this;\n this.cursorBlinkInterval = setInterval(function () {\n self.element.classList.toggle('xterm-cursor-blink-on');\n }, CURSOR_BLINK_INTERVAL);\n }\n};\nTerminal.prototype.clearCursorBlinkingInterval = function () {\n this.element.classList.remove('xterm-cursor-blink-on');\n if (this.cursorBlinkInterval) {\n clearInterval(this.cursorBlinkInterval);\n this.cursorBlinkInterval = null;\n }\n};\nTerminal.bindFocus = function (term) {\n on(term.textarea, 'focus', function (ev) {\n if (term.sendFocus) {\n term.send(EscapeSequences_1.C0.ESC + '[I');\n }\n term.element.classList.add('focus');\n term.showCursor();\n term.restartCursorBlinking.apply(term);\n Terminal.focus = term;\n term.emit('focus', { terminal: term });\n });\n};\nTerminal.prototype.blur = function () {\n return this.textarea.blur();\n};\nTerminal.bindBlur = function (term) {\n on(term.textarea, 'blur', function (ev) {\n term.refresh(term.y, term.y);\n if (term.sendFocus) {\n term.send(EscapeSequences_1.C0.ESC + '[O');\n }\n term.element.classList.remove('focus');\n term.clearCursorBlinkingInterval.apply(term);\n Terminal.focus = null;\n term.emit('blur', { terminal: term });\n });\n};\nTerminal.prototype.initGlobal = function () {\n var _this = this;\n var term = this;\n Terminal.bindKeys(this);\n Terminal.bindFocus(this);\n Terminal.bindBlur(this);\n on(this.element, 'copy', function (event) {\n if (_this.mouseEvents) {\n return;\n }\n Clipboard_1.copyHandler(event, term, _this.selectionManager);\n });\n var pasteHandlerWrapper = function (event) { return Clipboard_1.pasteHandler(event, term); };\n on(this.textarea, 'paste', pasteHandlerWrapper);\n on(this.element, 'paste', pasteHandlerWrapper);\n if (term.browser.isFirefox) {\n on(this.element, 'mousedown', function (event) {\n if (event.button == 2) {\n Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager);\n }\n });\n }\n else {\n on(this.element, 'contextmenu', function (event) {\n Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager);\n });\n }\n if (term.browser.isLinux) {\n on(this.element, 'auxclick', function (event) {\n if (event.button === 1) {\n Clipboard_1.moveTextAreaUnderMouseCursor(event, _this.textarea, _this.selectionManager);\n }\n });\n }\n};\nTerminal.bindKeys = function (term) {\n on(term.element, 'keydown', function (ev) {\n if (document.activeElement != this) {\n return;\n }\n term.keyDown(ev);\n }, true);\n on(term.element, 'keypress', function (ev) {\n if (document.activeElement != this) {\n return;\n }\n term.keyPress(ev);\n }, true);\n on(term.element, 'keyup', function (ev) {\n if (!wasMondifierKeyOnlyEvent(ev)) {\n term.focus(term);\n }\n }, true);\n on(term.textarea, 'keydown', function (ev) {\n term.keyDown(ev);\n }, true);\n on(term.textarea, 'keypress', function (ev) {\n term.keyPress(ev);\n this.value = '';\n }, true);\n on(term.textarea, 'compositionstart', term.compositionHelper.compositionstart.bind(term.compositionHelper));\n on(term.textarea, 'compositionupdate', term.compositionHelper.compositionupdate.bind(term.compositionHelper));\n on(term.textarea, 'compositionend', term.compositionHelper.compositionend.bind(term.compositionHelper));\n term.on('refresh', term.compositionHelper.updateCompositionElements.bind(term.compositionHelper));\n term.on('refresh', function (data) {\n term.queueLinkification(data.start, data.end);\n });\n};\nTerminal.prototype.insertRow = function (row) {\n if (typeof row != 'object') {\n row = document.createElement('div');\n }\n this.rowContainer.appendChild(row);\n this.children.push(row);\n return row;\n};\nTerminal.prototype.open = function (parent, focus) {\n var _this = this;\n var self = this, i = 0, div;\n this.parent = parent || this.parent;\n if (!this.parent) {\n throw new Error('Terminal requires a parent element.');\n }\n this.context = this.parent.ownerDocument.defaultView;\n this.document = this.parent.ownerDocument;\n this.body = this.document.getElementsByTagName('body')[0];\n this.element = this.document.createElement('div');\n this.element.classList.add('terminal');\n this.element.classList.add('xterm');\n this.element.classList.add('xterm-theme-' + this.theme);\n this.setCursorBlinking(this.options.cursorBlink);\n this.element.setAttribute('tabindex', 0);\n this.viewportElement = document.createElement('div');\n this.viewportElement.classList.add('xterm-viewport');\n this.element.appendChild(this.viewportElement);\n this.viewportScrollArea = document.createElement('div');\n this.viewportScrollArea.classList.add('xterm-scroll-area');\n this.viewportElement.appendChild(this.viewportScrollArea);\n this.selectionContainer = document.createElement('div');\n this.selectionContainer.classList.add('xterm-selection');\n this.element.appendChild(this.selectionContainer);\n this.rowContainer = document.createElement('div');\n this.rowContainer.classList.add('xterm-rows');\n this.element.appendChild(this.rowContainer);\n this.children = [];\n this.linkifier.attachToDom(document, this.children);\n this.helperContainer = document.createElement('div');\n this.helperContainer.classList.add('xterm-helpers');\n this.element.appendChild(this.helperContainer);\n this.textarea = document.createElement('textarea');\n this.textarea.classList.add('xterm-helper-textarea');\n this.textarea.setAttribute('autocorrect', 'off');\n this.textarea.setAttribute('autocapitalize', 'off');\n this.textarea.setAttribute('spellcheck', 'false');\n this.textarea.tabIndex = 0;\n this.textarea.addEventListener('focus', function () {\n self.emit('focus', { terminal: self });\n });\n this.textarea.addEventListener('blur', function () {\n self.emit('blur', { terminal: self });\n });\n this.helperContainer.appendChild(this.textarea);\n this.compositionView = document.createElement('div');\n this.compositionView.classList.add('composition-view');\n this.compositionHelper = new CompositionHelper_1.CompositionHelper(this.textarea, this.compositionView, this);\n this.helperContainer.appendChild(this.compositionView);\n this.charSizeStyleElement = document.createElement('style');\n this.helperContainer.appendChild(this.charSizeStyleElement);\n for (; i < this.rows; i++) {\n this.insertRow();\n }\n this.parent.appendChild(this.element);\n this.charMeasure = new CharMeasure_1.CharMeasure(document, this.helperContainer);\n this.charMeasure.on('charsizechanged', function () {\n self.updateCharSizeStyles();\n });\n this.charMeasure.measure();\n this.viewport = new Viewport_1.Viewport(this, this.viewportElement, this.viewportScrollArea, this.charMeasure);\n this.renderer = new Renderer_1.Renderer(this);\n this.selectionManager = new SelectionManager_1.SelectionManager(this, this.lines, this.rowContainer, this.charMeasure);\n this.selectionManager.on('refresh', function (data) {\n _this.renderer.refreshSelection(data.start, data.end);\n });\n this.selectionManager.on('newselection', function (text) {\n _this.textarea.value = text;\n _this.textarea.focus();\n _this.textarea.select();\n });\n this.on('scroll', function () { return _this.selectionManager.refresh(); });\n this.viewportElement.addEventListener('scroll', function () { return _this.selectionManager.refresh(); });\n this.refresh(0, this.rows - 1);\n this.initGlobal();\n if (typeof focus == 'undefined') {\n var message = 'You did not pass the `focus` argument in `Terminal.prototype.open()`.\\n';\n message += 'The `focus` argument now defaults to `true` but starting with xterm.js 3.0 ';\n message += 'it will default to `false`.';\n console.warn(message);\n focus = true;\n }\n if (focus) {\n this.focus();\n }\n on(this.element, 'click', function () {\n var selection = document.getSelection(), collapsed = selection.isCollapsed, isRange = typeof collapsed == 'boolean' ? !collapsed : selection.type == 'Range';\n if (!isRange) {\n self.focus();\n }\n });\n this.bindMouse();\n this.emit('open');\n};\nTerminal.loadAddon = function (addon, callback) {\n if (typeof exports === 'object' && typeof module === 'object') {\n return require('./addons/' + addon + '/' + addon);\n }\n else if (typeof define == 'function') {\n return require(['./addons/' + addon + '/' + addon], callback);\n }\n else {\n console.error('Cannot load a module without a CommonJS or RequireJS environment.');\n return false;\n }\n};\nTerminal.prototype.updateCharSizeStyles = function () {\n this.charSizeStyleElement.textContent =\n \".xterm-wide-char{width:\" + this.charMeasure.width * 2 + \"px;}\" +\n (\".xterm-normal-char{width:\" + this.charMeasure.width + \"px;}\") +\n (\".xterm-rows > div{height:\" + this.charMeasure.height + \"px;}\");\n};\nTerminal.prototype.bindMouse = function () {\n var el = this.element, self = this, pressed = 32;\n function sendButton(ev) {\n var button, pos;\n button = getButton(ev);\n pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows);\n if (!pos)\n return;\n sendEvent(button, pos);\n switch (ev.overrideType || ev.type) {\n case 'mousedown':\n pressed = button;\n break;\n case 'mouseup':\n pressed = 32;\n break;\n case 'wheel':\n break;\n }\n }\n function sendMove(ev) {\n var button = pressed, pos;\n pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows);\n if (!pos)\n return;\n button += 32;\n sendEvent(button, pos);\n }\n function encode(data, ch) {\n if (!self.utfMouse) {\n if (ch === 255)\n return data.push(0);\n if (ch > 127)\n ch = 127;\n data.push(ch);\n }\n else {\n if (ch === 2047)\n return data.push(0);\n if (ch < 127) {\n data.push(ch);\n }\n else {\n if (ch > 2047)\n ch = 2047;\n data.push(0xC0 | (ch >> 6));\n data.push(0x80 | (ch & 0x3F));\n }\n }\n }\n function sendEvent(button, pos) {\n if (self.vt300Mouse) {\n button &= 3;\n pos.x -= 32;\n pos.y -= 32;\n var data = EscapeSequences_1.C0.ESC + '[24';\n if (button === 0)\n data += '1';\n else if (button === 1)\n data += '3';\n else if (button === 2)\n data += '5';\n else if (button === 3)\n return;\n else\n data += '0';\n data += '~[' + pos.x + ',' + pos.y + ']\\r';\n self.send(data);\n return;\n }\n if (self.decLocator) {\n button &= 3;\n pos.x -= 32;\n pos.y -= 32;\n if (button === 0)\n button = 2;\n else if (button === 1)\n button = 4;\n else if (button === 2)\n button = 6;\n else if (button === 3)\n button = 3;\n self.send(EscapeSequences_1.C0.ESC + '['\n + button\n + ';'\n + (button === 3 ? 4 : 0)\n + ';'\n + pos.y\n + ';'\n + pos.x\n + ';'\n + (pos.page || 0)\n + '&w');\n return;\n }\n if (self.urxvtMouse) {\n pos.x -= 32;\n pos.y -= 32;\n pos.x++;\n pos.y++;\n self.send(EscapeSequences_1.C0.ESC + '[' + button + ';' + pos.x + ';' + pos.y + 'M');\n return;\n }\n if (self.sgrMouse) {\n pos.x -= 32;\n pos.y -= 32;\n self.send(EscapeSequences_1.C0.ESC + '[<'\n + (((button & 3) === 3 ? button & ~3 : button) - 32)\n + ';'\n + pos.x\n + ';'\n + pos.y\n + ((button & 3) === 3 ? 'm' : 'M'));\n return;\n }\n var data = [];\n encode(data, button);\n encode(data, pos.x);\n encode(data, pos.y);\n self.send(EscapeSequences_1.C0.ESC + '[M' + String.fromCharCode.apply(String, data));\n }\n function getButton(ev) {\n var button, shift, meta, ctrl, mod;\n switch (ev.overrideType || ev.type) {\n case 'mousedown':\n button = ev.button != null\n ? +ev.button\n : ev.which != null\n ? ev.which - 1\n : null;\n if (self.browser.isMSIE) {\n button = button === 1 ? 0 : button === 4 ? 1 : button;\n }\n break;\n case 'mouseup':\n button = 3;\n break;\n case 'DOMMouseScroll':\n button = ev.detail < 0\n ? 64\n : 65;\n break;\n case 'wheel':\n button = ev.wheelDeltaY > 0\n ? 64\n : 65;\n break;\n }\n shift = ev.shiftKey ? 4 : 0;\n meta = ev.metaKey ? 8 : 0;\n ctrl = ev.ctrlKey ? 16 : 0;\n mod = shift | meta | ctrl;\n if (self.vt200Mouse) {\n mod &= ctrl;\n }\n else if (!self.normalMouse) {\n mod = 0;\n }\n button = (32 + (mod << 2)) + button;\n return button;\n }\n on(el, 'mousedown', function (ev) {\n if (!self.mouseEvents)\n return;\n sendButton(ev);\n self.focus();\n if (self.vt200Mouse) {\n ev.overrideType = 'mouseup';\n sendButton(ev);\n return self.cancel(ev);\n }\n if (self.normalMouse)\n on(self.document, 'mousemove', sendMove);\n if (!self.x10Mouse) {\n on(self.document, 'mouseup', function up(ev) {\n sendButton(ev);\n if (self.normalMouse)\n off(self.document, 'mousemove', sendMove);\n off(self.document, 'mouseup', up);\n return self.cancel(ev);\n });\n }\n return self.cancel(ev);\n });\n on(el, 'wheel', function (ev) {\n if (!self.mouseEvents)\n return;\n if (self.x10Mouse\n || self.vt300Mouse\n || self.decLocator)\n return;\n sendButton(ev);\n return self.cancel(ev);\n });\n on(el, 'wheel', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onWheel(ev);\n return self.cancel(ev);\n });\n on(el, 'touchstart', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onTouchStart(ev);\n return self.cancel(ev);\n });\n on(el, 'touchmove', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onTouchMove(ev);\n return self.cancel(ev);\n });\n};\nTerminal.prototype.destroy = function () {\n this.readable = false;\n this.writable = false;\n this._events = {};\n this.handler = function () { };\n this.write = function () { };\n if (this.element && this.element.parentNode) {\n this.element.parentNode.removeChild(this.element);\n }\n};\nTerminal.prototype.refresh = function (start, end) {\n if (this.renderer) {\n this.renderer.queueRefresh(start, end);\n }\n};\nTerminal.prototype.queueLinkification = function (start, end) {\n if (this.linkifier) {\n for (var i = start; i <= end; i++) {\n this.linkifier.linkifyRow(i);\n }\n }\n};\nTerminal.prototype.showCursor = function () {\n if (!this.cursorState) {\n this.cursorState = 1;\n this.refresh(this.y, this.y);\n }\n};\nTerminal.prototype.scroll = function (isWrapped) {\n var row;\n if (this.lines.length === this.lines.maxLength) {\n this.lines.trimStart(1);\n this.ybase--;\n if (this.ydisp !== 0) {\n this.ydisp--;\n }\n }\n this.ybase++;\n if (!this.userScrolling) {\n this.ydisp = this.ybase;\n }\n row = this.ybase + this.rows - 1;\n row -= this.rows - 1 - this.scrollBottom;\n if (row === this.lines.length) {\n this.lines.push(this.blankLine(undefined, isWrapped));\n }\n else {\n this.lines.splice(row, 0, this.blankLine(undefined, isWrapped));\n }\n if (this.scrollTop !== 0) {\n if (this.ybase !== 0) {\n this.ybase--;\n if (!this.userScrolling) {\n this.ydisp = this.ybase;\n }\n }\n this.lines.splice(this.ybase + this.scrollTop, 1);\n }\n this.updateRange(this.scrollTop);\n this.updateRange(this.scrollBottom);\n this.emit('scroll', this.ydisp);\n};\nTerminal.prototype.scrollDisp = function (disp, suppressScrollEvent) {\n if (disp < 0) {\n if (this.ydisp === 0) {\n return;\n }\n this.userScrolling = true;\n }\n else if (disp + this.ydisp >= this.ybase) {\n this.userScrolling = false;\n }\n this.ydisp += disp;\n if (this.ydisp > this.ybase) {\n this.ydisp = this.ybase;\n }\n else if (this.ydisp < 0) {\n this.ydisp = 0;\n }\n if (!suppressScrollEvent) {\n this.emit('scroll', this.ydisp);\n }\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.scrollPages = function (pageCount) {\n this.scrollDisp(pageCount * (this.rows - 1));\n};\nTerminal.prototype.scrollToTop = function () {\n this.scrollDisp(-this.ydisp);\n};\nTerminal.prototype.scrollToBottom = function () {\n this.scrollDisp(this.ybase - this.ydisp);\n};\nTerminal.prototype.write = function (data) {\n this.writeBuffer.push(data);\n if (this.options.useFlowControl && !this.xoffSentToCatchUp && this.writeBuffer.length >= WRITE_BUFFER_PAUSE_THRESHOLD) {\n this.send(EscapeSequences_1.C0.DC3);\n this.xoffSentToCatchUp = true;\n }\n if (!this.writeInProgress && this.writeBuffer.length > 0) {\n this.writeInProgress = true;\n var self = this;\n setTimeout(function () {\n self.innerWrite();\n });\n }\n};\nTerminal.prototype.innerWrite = function () {\n var writeBatch = this.writeBuffer.splice(0, WRITE_BATCH_SIZE);\n while (writeBatch.length > 0) {\n var data = writeBatch.shift();\n var l = data.length, i = 0, j, cs, ch, code, low, ch_width, row;\n if (this.xoffSentToCatchUp && writeBatch.length === 0 && this.writeBuffer.length === 0) {\n this.send(EscapeSequences_1.C0.DC1);\n this.xoffSentToCatchUp = false;\n }\n this.refreshStart = this.y;\n this.refreshEnd = this.y;\n var state = this.parser.parse(data);\n this.parser.setState(state);\n this.updateRange(this.y);\n this.refresh(this.refreshStart, this.refreshEnd);\n }\n if (this.writeBuffer.length > 0) {\n var self = this;\n setTimeout(function () {\n self.innerWrite();\n }, 0);\n }\n else {\n this.writeInProgress = false;\n }\n};\nTerminal.prototype.writeln = function (data) {\n this.write(data + '\\r\\n');\n};\nTerminal.prototype.attachCustomKeydownHandler = function (customKeydownHandler) {\n var message = 'attachCustomKeydownHandler() is DEPRECATED and will be removed soon. Please use attachCustomKeyEventHandler() instead.';\n console.warn(message);\n this.attachCustomKeyEventHandler(customKeydownHandler);\n};\nTerminal.prototype.attachCustomKeyEventHandler = function (customKeyEventHandler) {\n this.customKeyEventHandler = customKeyEventHandler;\n};\nTerminal.prototype.setHypertextLinkHandler = function (handler) {\n if (!this.linkifier) {\n throw new Error('Cannot attach a hypertext link handler before Terminal.open is called');\n }\n this.linkifier.setHypertextLinkHandler(handler);\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.setHypertextValidationCallback = function (callback) {\n if (!this.linkifier) {\n throw new Error('Cannot attach a hypertext validation callback before Terminal.open is called');\n }\n this.linkifier.setHypertextValidationCallback(callback);\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.registerLinkMatcher = function (regex, handler, options) {\n if (this.linkifier) {\n var matcherId = this.linkifier.registerLinkMatcher(regex, handler, options);\n this.refresh(0, this.rows - 1);\n return matcherId;\n }\n};\nTerminal.prototype.deregisterLinkMatcher = function (matcherId) {\n if (this.linkifier) {\n if (this.linkifier.deregisterLinkMatcher(matcherId)) {\n this.refresh(0, this.rows - 1);\n }\n }\n};\nTerminal.prototype.hasSelection = function () {\n return this.selectionManager.hasSelection;\n};\nTerminal.prototype.getSelection = function () {\n return this.selectionManager.selectionText;\n};\nTerminal.prototype.clearSelection = function () {\n this.selectionManager.clearSelection();\n};\nTerminal.prototype.selectAll = function () {\n this.selectionManager.selectAll();\n};\nTerminal.prototype.keyDown = function (ev) {\n if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) {\n return false;\n }\n this.restartCursorBlinking();\n if (!this.compositionHelper.keydown.bind(this.compositionHelper)(ev)) {\n if (this.ybase !== this.ydisp) {\n this.scrollToBottom();\n }\n return false;\n }\n var self = this;\n var result = this.evaluateKeyEscapeSequence(ev);\n if (result.key === EscapeSequences_1.C0.DC3) {\n this.writeStopped = true;\n }\n else if (result.key === EscapeSequences_1.C0.DC1) {\n this.writeStopped = false;\n }\n if (result.scrollDisp) {\n this.scrollDisp(result.scrollDisp);\n return this.cancel(ev, true);\n }\n if (isThirdLevelShift(this, ev)) {\n return true;\n }\n if (result.cancel) {\n this.cancel(ev, true);\n }\n if (!result.key) {\n return true;\n }\n this.emit('keydown', ev);\n this.emit('key', result.key, ev);\n this.showCursor();\n this.handler(result.key);\n return this.cancel(ev, true);\n};\nTerminal.prototype.evaluateKeyEscapeSequence = function (ev) {\n var result = {\n cancel: false,\n key: undefined,\n scrollDisp: undefined\n };\n var modifiers = ev.shiftKey << 0 | ev.altKey << 1 | ev.ctrlKey << 2 | ev.metaKey << 3;\n switch (ev.keyCode) {\n case 8:\n if (ev.shiftKey) {\n result.key = EscapeSequences_1.C0.BS;\n break;\n }\n result.key = EscapeSequences_1.C0.DEL;\n break;\n case 9:\n if (ev.shiftKey) {\n result.key = EscapeSequences_1.C0.ESC + '[Z';\n break;\n }\n result.key = EscapeSequences_1.C0.HT;\n result.cancel = true;\n break;\n case 13:\n result.key = EscapeSequences_1.C0.CR;\n result.cancel = true;\n break;\n case 27:\n result.key = EscapeSequences_1.C0.ESC;\n result.cancel = true;\n break;\n case 37:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'D';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3D') {\n result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'b' : EscapeSequences_1.C0.ESC + '[1;5D';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OD';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[D';\n }\n break;\n case 39:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'C';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3C') {\n result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'f' : EscapeSequences_1.C0.ESC + '[1;5C';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OC';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[C';\n }\n break;\n case 38:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'A';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3A') {\n result.key = EscapeSequences_1.C0.ESC + '[1;5A';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OA';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[A';\n }\n break;\n case 40:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'B';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3B') {\n result.key = EscapeSequences_1.C0.ESC + '[1;5B';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OB';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[B';\n }\n break;\n case 45:\n if (!ev.shiftKey && !ev.ctrlKey) {\n result.key = EscapeSequences_1.C0.ESC + '[2~';\n }\n break;\n case 46:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[3;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[3~';\n }\n break;\n case 36:\n if (modifiers)\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'H';\n else if (this.applicationCursor)\n result.key = EscapeSequences_1.C0.ESC + 'OH';\n else\n result.key = EscapeSequences_1.C0.ESC + '[H';\n break;\n case 35:\n if (modifiers)\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'F';\n else if (this.applicationCursor)\n result.key = EscapeSequences_1.C0.ESC + 'OF';\n else\n result.key = EscapeSequences_1.C0.ESC + '[F';\n break;\n case 33:\n if (ev.shiftKey) {\n result.scrollDisp = -(this.rows - 1);\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[5~';\n }\n break;\n case 34:\n if (ev.shiftKey) {\n result.scrollDisp = this.rows - 1;\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[6~';\n }\n break;\n case 112:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'P';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OP';\n }\n break;\n case 113:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'Q';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OQ';\n }\n break;\n case 114:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'R';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OR';\n }\n break;\n case 115:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'S';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OS';\n }\n break;\n case 116:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[15;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[15~';\n }\n break;\n case 117:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[17;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[17~';\n }\n break;\n case 118:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[18;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[18~';\n }\n break;\n case 119:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[19;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[19~';\n }\n break;\n case 120:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[20;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[20~';\n }\n break;\n case 121:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[21;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[21~';\n }\n break;\n case 122:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[23;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[23~';\n }\n break;\n case 123:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[24;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[24~';\n }\n break;\n default:\n if (ev.ctrlKey && !ev.shiftKey && !ev.altKey && !ev.metaKey) {\n if (ev.keyCode >= 65 && ev.keyCode <= 90) {\n result.key = String.fromCharCode(ev.keyCode - 64);\n }\n else if (ev.keyCode === 32) {\n result.key = String.fromCharCode(0);\n }\n else if (ev.keyCode >= 51 && ev.keyCode <= 55) {\n result.key = String.fromCharCode(ev.keyCode - 51 + 27);\n }\n else if (ev.keyCode === 56) {\n result.key = String.fromCharCode(127);\n }\n else if (ev.keyCode === 219) {\n result.key = String.fromCharCode(27);\n }\n else if (ev.keyCode === 220) {\n result.key = String.fromCharCode(28);\n }\n else if (ev.keyCode === 221) {\n result.key = String.fromCharCode(29);\n }\n }\n else if (!this.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) {\n if (ev.keyCode >= 65 && ev.keyCode <= 90) {\n result.key = EscapeSequences_1.C0.ESC + String.fromCharCode(ev.keyCode + 32);\n }\n else if (ev.keyCode === 192) {\n result.key = EscapeSequences_1.C0.ESC + '`';\n }\n else if (ev.keyCode >= 48 && ev.keyCode <= 57) {\n result.key = EscapeSequences_1.C0.ESC + (ev.keyCode - 48);\n }\n }\n else if (this.browser.isMac && !ev.altKey && !ev.ctrlKey && ev.metaKey) {\n if (ev.keyCode === 65) {\n this.selectAll();\n }\n }\n break;\n }\n return result;\n};\nTerminal.prototype.setgLevel = function (g) {\n this.glevel = g;\n this.charset = this.charsets[g];\n};\nTerminal.prototype.setgCharset = function (g, charset) {\n this.charsets[g] = charset;\n if (this.glevel === g) {\n this.charset = charset;\n }\n};\nTerminal.prototype.keyPress = function (ev) {\n var key;\n if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) {\n return false;\n }\n this.cancel(ev);\n if (ev.charCode) {\n key = ev.charCode;\n }\n else if (ev.which == null) {\n key = ev.keyCode;\n }\n else if (ev.which !== 0 && ev.charCode !== 0) {\n key = ev.which;\n }\n else {\n return false;\n }\n if (!key || ((ev.altKey || ev.ctrlKey || ev.metaKey) && !isThirdLevelShift(this, ev))) {\n return false;\n }\n key = String.fromCharCode(key);\n this.emit('keypress', key, ev);\n this.emit('key', key, ev);\n this.showCursor();\n this.handler(key);\n return true;\n};\nTerminal.prototype.send = function (data) {\n var self = this;\n if (!this.queue) {\n setTimeout(function () {\n self.handler(self.queue);\n self.queue = '';\n }, 1);\n }\n this.queue += data;\n};\nTerminal.prototype.bell = function () {\n if (!this.visualBell)\n return;\n var self = this;\n this.element.style.borderColor = 'white';\n setTimeout(function () {\n self.element.style.borderColor = '';\n }, 10);\n if (this.popOnBell)\n this.focus();\n};\nTerminal.prototype.log = function () {\n if (!this.debug)\n return;\n if (!this.context.console || !this.context.console.log)\n return;\n var args = Array.prototype.slice.call(arguments);\n this.context.console.log.apply(this.context.console, args);\n};\nTerminal.prototype.error = function () {\n if (!this.debug)\n return;\n if (!this.context.console || !this.context.console.error)\n return;\n var args = Array.prototype.slice.call(arguments);\n this.context.console.error.apply(this.context.console, args);\n};\nTerminal.prototype.resize = function (x, y) {\n if (isNaN(x) || isNaN(y)) {\n return;\n }\n if (y > this.getOption('scrollback')) {\n this.setOption('scrollback', y);\n }\n var line, el, i, j, ch, addToY;\n if (x === this.cols && y === this.rows) {\n return;\n }\n if (x < 1)\n x = 1;\n if (y < 1)\n y = 1;\n j = this.cols;\n if (j < x) {\n ch = [this.defAttr, ' ', 1];\n i = this.lines.length;\n while (i--) {\n while (this.lines.get(i).length < x) {\n this.lines.get(i).push(ch);\n }\n }\n }\n this.cols = x;\n this.setupStops(this.cols);\n j = this.rows;\n addToY = 0;\n if (j < y) {\n el = this.element;\n while (j++ < y) {\n if (this.lines.length < y + this.ybase) {\n if (this.ybase > 0 && this.lines.length <= this.ybase + this.y + addToY + 1) {\n this.ybase--;\n addToY++;\n if (this.ydisp > 0) {\n this.ydisp--;\n }\n }\n else {\n this.lines.push(this.blankLine());\n }\n }\n if (this.children.length < y) {\n this.insertRow();\n }\n }\n }\n else {\n while (j-- > y) {\n if (this.lines.length > y + this.ybase) {\n if (this.lines.length > this.ybase + this.y + 1) {\n this.lines.pop();\n }\n else {\n this.ybase++;\n this.ydisp++;\n }\n }\n if (this.children.length > y) {\n el = this.children.shift();\n if (!el)\n continue;\n el.parentNode.removeChild(el);\n }\n }\n }\n this.rows = y;\n if (this.y >= y) {\n this.y = y - 1;\n }\n if (addToY) {\n this.y += addToY;\n }\n if (this.x >= x) {\n this.x = x - 1;\n }\n this.scrollTop = 0;\n this.scrollBottom = y - 1;\n this.charMeasure.measure();\n this.refresh(0, this.rows - 1);\n this.normal = null;\n this.geometry = [this.cols, this.rows];\n this.emit('resize', { terminal: this, cols: x, rows: y });\n};\nTerminal.prototype.updateRange = function (y) {\n if (y < this.refreshStart)\n this.refreshStart = y;\n if (y > this.refreshEnd)\n this.refreshEnd = y;\n};\nTerminal.prototype.maxRange = function () {\n this.refreshStart = 0;\n this.refreshEnd = this.rows - 1;\n};\nTerminal.prototype.setupStops = function (i) {\n if (i != null) {\n if (!this.tabs[i]) {\n i = this.prevStop(i);\n }\n }\n else {\n this.tabs = {};\n i = 0;\n }\n for (; i < this.cols; i += this.getOption('tabStopWidth')) {\n this.tabs[i] = true;\n }\n};\nTerminal.prototype.prevStop = function (x) {\n if (x == null)\n x = this.x;\n while (!this.tabs[--x] && x > 0)\n ;\n return x >= this.cols\n ? this.cols - 1\n : x < 0 ? 0 : x;\n};\nTerminal.prototype.nextStop = function (x) {\n if (x == null)\n x = this.x;\n while (!this.tabs[++x] && x < this.cols)\n ;\n return x >= this.cols\n ? this.cols - 1\n : x < 0 ? 0 : x;\n};\nTerminal.prototype.eraseRight = function (x, y) {\n var line = this.lines.get(this.ybase + y);\n if (!line) {\n return;\n }\n var ch = [this.eraseAttr(), ' ', 1];\n for (; x < this.cols; x++) {\n line[x] = ch;\n }\n this.updateRange(y);\n};\nTerminal.prototype.eraseLeft = function (x, y) {\n var line = this.lines.get(this.ybase + y);\n if (!line) {\n return;\n }\n var ch = [this.eraseAttr(), ' ', 1];\n x++;\n while (x--) {\n line[x] = ch;\n }\n this.updateRange(y);\n};\nTerminal.prototype.clear = function () {\n if (this.ybase === 0 && this.y === 0) {\n return;\n }\n this.lines.set(0, this.lines.get(this.ybase + this.y));\n this.lines.length = 1;\n this.ydisp = 0;\n this.ybase = 0;\n this.y = 0;\n for (var i = 1; i < this.rows; i++) {\n this.lines.push(this.blankLine());\n }\n this.refresh(0, this.rows - 1);\n this.emit('scroll', this.ydisp);\n};\nTerminal.prototype.eraseLine = function (y) {\n this.eraseRight(0, y);\n};\nTerminal.prototype.blankLine = function (cur, isWrapped) {\n var attr = cur\n ? this.eraseAttr()\n : this.defAttr;\n var ch = [attr, ' ', 1], line = [], i = 0;\n if (isWrapped) {\n line.isWrapped = isWrapped;\n }\n for (; i < this.cols; i++) {\n line[i] = ch;\n }\n return line;\n};\nTerminal.prototype.ch = function (cur) {\n return cur\n ? [this.eraseAttr(), ' ', 1]\n : [this.defAttr, ' ', 1];\n};\nTerminal.prototype.is = function (term) {\n var name = this.termName;\n return (name + '').indexOf(term) === 0;\n};\nTerminal.prototype.handler = function (data) {\n if (this.options.disableStdin) {\n return;\n }\n if (this.ybase !== this.ydisp) {\n this.scrollToBottom();\n }\n this.emit('data', data);\n};\nTerminal.prototype.handleTitle = function (title) {\n this.emit('title', title);\n};\nTerminal.prototype.index = function () {\n this.y++;\n if (this.y > this.scrollBottom) {\n this.y--;\n this.scroll();\n }\n if (this.x >= this.cols) {\n this.x--;\n }\n};\nTerminal.prototype.reverseIndex = function () {\n var j;\n if (this.y === this.scrollTop) {\n this.lines.shiftElements(this.y + this.ybase, this.rows - 1, 1);\n this.lines.set(this.y + this.ybase, this.blankLine(true));\n this.updateRange(this.scrollTop);\n this.updateRange(this.scrollBottom);\n }\n else {\n this.y--;\n }\n};\nTerminal.prototype.reset = function () {\n this.options.rows = this.rows;\n this.options.cols = this.cols;\n var customKeyEventHandler = this.customKeyEventHandler;\n var cursorBlinkInterval = this.cursorBlinkInterval;\n Terminal.call(this, this.options);\n this.customKeyEventHandler = customKeyEventHandler;\n this.cursorBlinkInterval = cursorBlinkInterval;\n this.refresh(0, this.rows - 1);\n this.viewport.syncScrollArea();\n};\nTerminal.prototype.tabSet = function () {\n this.tabs[this.x] = true;\n};\nfunction on(el, type, handler, capture) {\n if (!Array.isArray(el)) {\n el = [el];\n }\n el.forEach(function (element) {\n element.addEventListener(type, handler, capture || false);\n });\n}\nfunction off(el, type, handler, capture) {\n el.removeEventListener(type, handler, capture || false);\n}\nfunction cancel(ev, force) {\n if (!this.cancelEvents && !force) {\n return;\n }\n ev.preventDefault();\n ev.stopPropagation();\n return false;\n}\nfunction inherits(child, parent) {\n function f() {\n this.constructor = child;\n }\n f.prototype = parent.prototype;\n child.prototype = new f;\n}\nfunction indexOf(obj, el) {\n var i = obj.length;\n while (i--) {\n if (obj[i] === el)\n return i;\n }\n return -1;\n}\nfunction isThirdLevelShift(term, ev) {\n var thirdLevelKey = (term.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) ||\n (term.browser.isMSWindows && ev.altKey && ev.ctrlKey && !ev.metaKey);\n if (ev.type == 'keypress') {\n return thirdLevelKey;\n }\n return thirdLevelKey && (!ev.keyCode || ev.keyCode > 47);\n}\nTerminal.prototype.matchColor = matchColor;\nfunction matchColor(r1, g1, b1) {\n var hash = (r1 << 16) | (g1 << 8) | b1;\n if (matchColor._cache[hash] != null) {\n return matchColor._cache[hash];\n }\n var ldiff = Infinity, li = -1, i = 0, c, r2, g2, b2, diff;\n for (; i < Terminal.vcolors.length; i++) {\n c = Terminal.vcolors[i];\n r2 = c[0];\n g2 = c[1];\n b2 = c[2];\n diff = matchColor.distance(r1, g1, b1, r2, g2, b2);\n if (diff === 0) {\n li = i;\n break;\n }\n if (diff < ldiff) {\n ldiff = diff;\n li = i;\n }\n }\n return matchColor._cache[hash] = li;\n}\nmatchColor._cache = {};\nmatchColor.distance = function (r1, g1, b1, r2, g2, b2) {\n return Math.pow(30 * (r1 - r2), 2)\n + Math.pow(59 * (g1 - g2), 2)\n + Math.pow(11 * (b1 - b2), 2);\n};\nfunction each(obj, iter, con) {\n if (obj.forEach)\n return obj.forEach(iter, con);\n for (var i = 0; i < obj.length; i++) {\n iter.call(con, obj[i], i, obj);\n }\n}\nfunction wasMondifierKeyOnlyEvent(ev) {\n return ev.keyCode === 16 ||\n ev.keyCode === 17 ||\n ev.keyCode === 18;\n}\nfunction keys(obj) {\n if (Object.keys)\n return Object.keys(obj);\n var key, keys = [];\n for (key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n keys.push(key);\n }\n }\n return keys;\n}\nTerminal.EventEmitter = EventEmitter_1.EventEmitter;\nTerminal.inherits = inherits;\nTerminal.on = on;\nTerminal.off = off;\nTerminal.cancel = cancel;\nmodule.exports = Terminal;\n\n//# sourceMappingURL=xterm.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/xterm.js\n// module id = 0\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n;\nvar EventEmitter = (function () {\n function EventEmitter() {\n this._events = this._events || {};\n }\n EventEmitter.prototype.on = function (type, listener) {\n this._events[type] = this._events[type] || [];\n this._events[type].push(listener);\n };\n EventEmitter.prototype.off = function (type, listener) {\n if (!this._events[type]) {\n return;\n }\n var obj = this._events[type];\n var i = obj.length;\n while (i--) {\n if (obj[i] === listener || obj[i].listener === listener) {\n obj.splice(i, 1);\n return;\n }\n }\n };\n EventEmitter.prototype.removeAllListeners = function (type) {\n if (this._events[type]) {\n delete this._events[type];\n }\n };\n EventEmitter.prototype.once = function (type, listener) {\n function on() {\n var args = Array.prototype.slice.call(arguments);\n this.off(type, on);\n return listener.apply(this, args);\n }\n on.listener = listener;\n return this.on(type, on);\n };\n EventEmitter.prototype.emit = function (type) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!this._events[type]) {\n return;\n }\n var obj = this._events[type];\n for (var i = 0; i < obj.length; i++) {\n obj[i].apply(this, args);\n }\n };\n EventEmitter.prototype.listeners = function (type) {\n return this._events[type] || [];\n };\n return EventEmitter;\n}());\nexports.EventEmitter = EventEmitter;\n\n//# sourceMappingURL=EventEmitter.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/EventEmitter.js\n// module id = 1\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar C0;\n(function (C0) {\n C0.NUL = '\\x00';\n C0.SOH = '\\x01';\n C0.STX = '\\x02';\n C0.ETX = '\\x03';\n C0.EOT = '\\x04';\n C0.ENQ = '\\x05';\n C0.ACK = '\\x06';\n C0.BEL = '\\x07';\n C0.BS = '\\x08';\n C0.HT = '\\x09';\n C0.LF = '\\x0a';\n C0.VT = '\\x0b';\n C0.FF = '\\x0c';\n C0.CR = '\\x0d';\n C0.SO = '\\x0e';\n C0.SI = '\\x0f';\n C0.DLE = '\\x10';\n C0.DC1 = '\\x11';\n C0.DC2 = '\\x12';\n C0.DC3 = '\\x13';\n C0.DC4 = '\\x14';\n C0.NAK = '\\x15';\n C0.SYN = '\\x16';\n C0.ETB = '\\x17';\n C0.CAN = '\\x18';\n C0.EM = '\\x19';\n C0.SUB = '\\x1a';\n C0.ESC = '\\x1b';\n C0.FS = '\\x1c';\n C0.GS = '\\x1d';\n C0.RS = '\\x1e';\n C0.US = '\\x1f';\n C0.SP = '\\x20';\n C0.DEL = '\\x7f';\n})(C0 = exports.C0 || (exports.C0 = {}));\n;\n\n//# sourceMappingURL=EscapeSequences.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/EscapeSequences.js\n// module id = 2\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CHARSETS = {};\nexports.DEFAULT_CHARSET = exports.CHARSETS['B'];\nexports.CHARSETS['0'] = {\n '`': '\\u25c6',\n 'a': '\\u2592',\n 'b': '\\u0009',\n 'c': '\\u000c',\n 'd': '\\u000d',\n 'e': '\\u000a',\n 'f': '\\u00b0',\n 'g': '\\u00b1',\n 'h': '\\u2424',\n 'i': '\\u000b',\n 'j': '\\u2518',\n 'k': '\\u2510',\n 'l': '\\u250c',\n 'm': '\\u2514',\n 'n': '\\u253c',\n 'o': '\\u23ba',\n 'p': '\\u23bb',\n 'q': '\\u2500',\n 'r': '\\u23bc',\n 's': '\\u23bd',\n 't': '\\u251c',\n 'u': '\\u2524',\n 'v': '\\u2534',\n 'w': '\\u252c',\n 'x': '\\u2502',\n 'y': '\\u2264',\n 'z': '\\u2265',\n '{': '\\u03c0',\n '|': '\\u2260',\n '}': '\\u00a3',\n '~': '\\u00b7'\n};\nexports.CHARSETS['A'] = {\n '#': '£'\n};\nexports.CHARSETS['B'] = null;\nexports.CHARSETS['4'] = {\n '#': '£',\n '@': '¾',\n '[': 'ij',\n '\\\\': '½',\n ']': '|',\n '{': '¨',\n '|': 'f',\n '}': '¼',\n '~': '´'\n};\nexports.CHARSETS['C'] =\n exports.CHARSETS['5'] = {\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Å',\n '^': 'Ü',\n '`': 'é',\n '{': 'ä',\n '|': 'ö',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['R'] = {\n '#': '£',\n '@': 'à',\n '[': '°',\n '\\\\': 'ç',\n ']': '§',\n '{': 'é',\n '|': 'ù',\n '}': 'è',\n '~': '¨'\n};\nexports.CHARSETS['Q'] = {\n '@': 'à',\n '[': 'â',\n '\\\\': 'ç',\n ']': 'ê',\n '^': 'î',\n '`': 'ô',\n '{': 'é',\n '|': 'ù',\n '}': 'è',\n '~': 'û'\n};\nexports.CHARSETS['K'] = {\n '@': '§',\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Ü',\n '{': 'ä',\n '|': 'ö',\n '}': 'ü',\n '~': 'ß'\n};\nexports.CHARSETS['Y'] = {\n '#': '£',\n '@': '§',\n '[': '°',\n '\\\\': 'ç',\n ']': 'é',\n '`': 'ù',\n '{': 'à',\n '|': 'ò',\n '}': 'è',\n '~': 'ì'\n};\nexports.CHARSETS['E'] =\n exports.CHARSETS['6'] = {\n '@': 'Ä',\n '[': 'Æ',\n '\\\\': 'Ø',\n ']': 'Å',\n '^': 'Ü',\n '`': 'ä',\n '{': 'æ',\n '|': 'ø',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['Z'] = {\n '#': '£',\n '@': '§',\n '[': '¡',\n '\\\\': 'Ñ',\n ']': '¿',\n '{': '°',\n '|': 'ñ',\n '}': 'ç'\n};\nexports.CHARSETS['H'] =\n exports.CHARSETS['7'] = {\n '@': 'É',\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Å',\n '^': 'Ü',\n '`': 'é',\n '{': 'ä',\n '|': 'ö',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['='] = {\n '#': 'ù',\n '@': 'à',\n '[': 'é',\n '\\\\': 'ç',\n ']': 'ê',\n '^': 'î',\n '_': 'è',\n '`': 'ô',\n '{': 'ä',\n '|': 'ö',\n '}': 'ü',\n '~': 'û'\n};\n\n//# sourceMappingURL=Charsets.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Charsets.js\n// module id = 3\n// module chunks = 0","/**\n * Implements the attach method, that attaches the terminal to a WebSocket stream.\n * @module xterm/addons/attach/attach\n * @license MIT\n */\n\n(function (attach) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = attach(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], attach);\n } else {\n /*\n * Plain browser environment\n */\n attach(window.Terminal);\n }\n})(function (Xterm) {\n 'use strict';\n\n var exports = {};\n\n /**\n * Attaches the given terminal to the given socket.\n *\n * @param {Xterm} term - The terminal to be attached to the given socket.\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n exports.attach = function (term, socket, bidirectional, buffered) {\n bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;\n term.socket = socket;\n\n term._flushBuffer = function () {\n term.write(term._attachSocketBuffer);\n term._attachSocketBuffer = null;\n clearTimeout(term._attachSocketBufferTimer);\n term._attachSocketBufferTimer = null;\n };\n\n term._pushToBuffer = function (data) {\n if (term._attachSocketBuffer) {\n term._attachSocketBuffer += data;\n } else {\n term._attachSocketBuffer = data;\n setTimeout(term._flushBuffer, 10);\n }\n };\n\n term._getMessage = function (ev) {\n if (buffered) {\n term._pushToBuffer(ev.data);\n } else {\n term.write(ev.data);\n }\n };\n\n term._sendData = function (data) {\n socket.send(data);\n };\n\n socket.addEventListener('message', term._getMessage);\n\n if (bidirectional) {\n term.on('data', term._sendData);\n }\n\n socket.addEventListener('close', term.detach.bind(term, socket));\n socket.addEventListener('error', term.detach.bind(term, socket));\n };\n\n /**\n * Detaches the given terminal from the given socket\n *\n * @param {Xterm} term - The terminal to be detached from the given socket.\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n exports.detach = function (term, socket) {\n term.off('data', term._sendData);\n\n socket = (typeof socket == 'undefined') ? term.socket : socket;\n\n if (socket) {\n socket.removeEventListener('message', term._getMessage);\n }\n\n delete term.socket;\n };\n\n /**\n * Attaches the current terminal to the given socket\n *\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n Xterm.prototype.attach = function (socket, bidirectional, buffered) {\n return exports.attach(this, socket, bidirectional, buffered);\n };\n\n /**\n * Detaches the current terminal from the given socket.\n *\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n Xterm.prototype.detach = function (socket) {\n return exports.detach(this, socket);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/attach/attach.js\n// module id = 4\n// module chunks = 0","/**\n * Fit terminal columns and rows to the dimensions of its DOM element.\n *\n * ## Approach\n * - Rows: Truncate the division of the terminal parent element height by the terminal row height.\n *\n * - Columns: Truncate the division of the terminal parent element width by the terminal character\n * width (apply display: inline at the terminal row and truncate its width with the current\n * number of columns).\n * @module xterm/addons/fit/fit\n * @license MIT\n */\n\n(function (fit) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = fit(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], fit);\n } else {\n /*\n * Plain browser environment\n */\n fit(window.Terminal);\n }\n})(function (Xterm) {\n var exports = {};\n\n exports.proposeGeometry = function (term) {\n if (!term.element.parentElement) {\n return null;\n }\n var parentElementStyle = window.getComputedStyle(term.element.parentElement),\n parentElementHeight = parseInt(parentElementStyle.getPropertyValue('height')),\n parentElementWidth = Math.max(0, parseInt(parentElementStyle.getPropertyValue('width')) - 17),\n elementStyle = window.getComputedStyle(term.element),\n elementPaddingVer = parseInt(elementStyle.getPropertyValue('padding-top')) + parseInt(elementStyle.getPropertyValue('padding-bottom')),\n elementPaddingHor = parseInt(elementStyle.getPropertyValue('padding-right')) + parseInt(elementStyle.getPropertyValue('padding-left')),\n availableHeight = parentElementHeight - elementPaddingVer,\n availableWidth = parentElementWidth - elementPaddingHor,\n container = term.rowContainer,\n subjectRow = term.rowContainer.firstElementChild,\n contentBuffer = subjectRow.innerHTML,\n characterHeight,\n rows,\n characterWidth,\n cols,\n geometry;\n\n subjectRow.style.display = 'inline';\n subjectRow.innerHTML = 'W'; // Common character for measuring width, although on monospace\n characterWidth = subjectRow.getBoundingClientRect().width;\n subjectRow.style.display = ''; // Revert style before calculating height, since they differ.\n characterHeight = subjectRow.getBoundingClientRect().height;\n subjectRow.innerHTML = contentBuffer;\n\n rows = parseInt(availableHeight / characterHeight);\n cols = parseInt(availableWidth / characterWidth);\n\n geometry = {cols: cols, rows: rows};\n return geometry;\n };\n\n exports.fit = function (term) {\n var geometry = exports.proposeGeometry(term);\n\n if (geometry) {\n term.resize(geometry.cols, geometry.rows);\n }\n };\n\n Xterm.prototype.proposeGeometry = function () {\n return exports.proposeGeometry(this);\n };\n\n Xterm.prototype.fit = function () {\n return exports.fit(this);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fit/fit.js\n// module id = 5\n// module chunks = 0","/**\n * Fullscreen addon for xterm.js\n * @module xterm/addons/fullscreen/fullscreen\n * @license MIT\n */\n(function (fullscreen) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = fullscreen(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], fullscreen);\n } else {\n /*\n * Plain browser environment\n */\n fullscreen(window.Terminal);\n }\n})(function (Xterm) {\n var exports = {};\n\n /**\n * Toggle the given terminal's fullscreen mode.\n * @param {Xterm} term - The terminal to toggle full screen mode\n * @param {boolean} fullscreen - Toggle fullscreen on (true) or off (false)\n */\n exports.toggleFullScreen = function (term, fullscreen) {\n var fn;\n\n if (typeof fullscreen == 'undefined') {\n fn = (term.element.classList.contains('fullscreen')) ? 'remove' : 'add';\n } else if (!fullscreen) {\n fn = 'remove';\n } else {\n fn = 'add';\n }\n\n term.element.classList[fn]('fullscreen');\n };\n\n Xterm.prototype.toggleFullscreen = function (fullscreen) {\n exports.toggleFullScreen(this, fullscreen);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fullscreen/fullscreen.js\n// module id = 6\n// module chunks = 0","/**\n * This module provides methods for attaching a terminal to a terminado WebSocket stream.\n *\n * @module xterm/addons/terminado/terminado\n * @license MIT\n */\n\n(function (attach) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = attach(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], attach);\n } else {\n /*\n * Plain browser environment\n */\n attach(window.Terminal);\n }\n})(function (Xterm) {\n 'use strict';\n\n var exports = {};\n\n /**\n * Attaches the given terminal to the given socket.\n *\n * @param {Xterm} term - The terminal to be attached to the given socket.\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n exports.terminadoAttach = function (term, socket, bidirectional, buffered) {\n bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;\n term.socket = socket;\n\n term._flushBuffer = function () {\n term.write(term._attachSocketBuffer);\n term._attachSocketBuffer = null;\n clearTimeout(term._attachSocketBufferTimer);\n term._attachSocketBufferTimer = null;\n };\n\n term._pushToBuffer = function (data) {\n if (term._attachSocketBuffer) {\n term._attachSocketBuffer += data;\n } else {\n term._attachSocketBuffer = data;\n setTimeout(term._flushBuffer, 10);\n }\n };\n\n term._getMessage = function (ev) {\n var data = JSON.parse(ev.data)\n if( data[0] == \"stdout\" ) {\n if (buffered) {\n term._pushToBuffer(data[1]);\n } else {\n term.write(data[1]);\n }\n }\n };\n\n term._sendData = function (data) {\n socket.send(JSON.stringify(['stdin', data]));\n };\n\n term._setSize = function (size) {\n socket.send(JSON.stringify(['set_size', size.rows, size.cols]));\n };\n\n socket.addEventListener('message', term._getMessage);\n\n if (bidirectional) {\n term.on('data', term._sendData);\n }\n term.on('resize', term._setSize);\n\n socket.addEventListener('close', term.terminadoDetach.bind(term, socket));\n socket.addEventListener('error', term.terminadoDetach.bind(term, socket));\n };\n\n /**\n * Detaches the given terminal from the given socket\n *\n * @param {Xterm} term - The terminal to be detached from the given socket.\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n exports.terminadoDetach = function (term, socket) {\n term.off('data', term._sendData);\n\n socket = (typeof socket == 'undefined') ? term.socket : socket;\n\n if (socket) {\n socket.removeEventListener('message', term._getMessage);\n }\n\n delete term.socket;\n };\n\n /**\n * Attaches the current terminal to the given socket\n *\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n Xterm.prototype.terminadoAttach = function (socket, bidirectional, buffered) {\n return exports.terminadoAttach(this, socket, bidirectional, buffered);\n };\n\n /**\n * Detaches the current terminal from the given socket.\n *\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n Xterm.prototype.terminadoDetach = function (socket) {\n return exports.terminadoDetach(this, socket);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/terminado/terminado.js\n// module id = 7\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Generic_1 = require(\"./Generic\");\nvar isNode = (typeof navigator === 'undefined') ? true : false;\nvar userAgent = (isNode) ? 'node' : navigator.userAgent;\nvar platform = (isNode) ? 'node' : navigator.platform;\nexports.isFirefox = !!~userAgent.indexOf('Firefox');\nexports.isMSIE = !!~userAgent.indexOf('MSIE') || !!~userAgent.indexOf('Trident');\nexports.isMac = Generic_1.contains(['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'], platform);\nexports.isIpad = platform === 'iPad';\nexports.isIphone = platform === 'iPhone';\nexports.isMSWindows = Generic_1.contains(['Windows', 'Win16', 'Win32', 'WinCE'], platform);\nexports.isLinux = platform.indexOf('Linux') >= 0;\n\n//# sourceMappingURL=Browser.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Browser.js\n// module id = 8\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction getCoordsRelativeToElement(event, element) {\n if (event.pageX == null) {\n return null;\n }\n var x = event.pageX;\n var y = event.pageY;\n while (element && element !== self.document.documentElement) {\n x -= element.offsetLeft;\n y -= element.offsetTop;\n element = 'offsetParent' in element ? element.offsetParent : element.parentElement;\n }\n return [x, y];\n}\nexports.getCoordsRelativeToElement = getCoordsRelativeToElement;\nfunction getCoords(event, rowContainer, charMeasure, colCount, rowCount, isSelection) {\n var coords = getCoordsRelativeToElement(event, rowContainer);\n coords[0] = Math.ceil((coords[0] + (isSelection ? charMeasure.width / 2 : 0)) / charMeasure.width);\n coords[1] = Math.ceil(coords[1] / charMeasure.height);\n coords[0] = Math.min(Math.max(coords[0], 1), colCount + 1);\n coords[1] = Math.min(Math.max(coords[1], 1), rowCount + 1);\n return coords;\n}\nexports.getCoords = getCoords;\nfunction getRawByteCoords(event, rowContainer, charMeasure, colCount, rowCount) {\n var coords = getCoords(event, rowContainer, charMeasure, colCount, rowCount);\n var x = coords[0];\n var y = coords[1];\n x += 32;\n y += 32;\n return { x: x, y: y };\n}\nexports.getRawByteCoords = getRawByteCoords;\n\n//# sourceMappingURL=Mouse.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Mouse.js\n// module id = 9\n// module chunks = 0","import * as bare from \"libapps\";\n\nexport class Hterm {\n elem: HTMLElement;\n\n term: bare.hterm.Terminal;\n io: bare.hterm.IO;\n\n columns: number;\n rows: number;\n\n // to \"show\" the current message when removeMessage() is called\n message: string;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n bare.hterm.defaultStorage = new bare.lib.Storage.Memory();\n this.term = new bare.hterm.Terminal();\n this.term.getPrefs().set(\"send-encoding\", \"raw\");\n this.term.decorate(this.elem);\n\n this.io = this.term.io.push();\n this.term.installKeyboard();\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.columns, rows: this.rows };\n };\n\n output(data: string) {\n if (this.term.io != null) {\n this.term.io.writeUTF16(data);\n }\n };\n\n showMessage(message: string, timeout: number) {\n this.message = message;\n if (timeout > 0) {\n this.term.io.showOverlay(message, timeout);\n } else {\n this.term.io.showOverlay(message, null);\n }\n };\n\n removeMessage(): void {\n // there is no hideOverlay(), so show the same message with 0 sec\n this.term.io.showOverlay(this.message, 0);\n }\n\n setWindowTitle(title: string) {\n this.term.setWindowTitle(title);\n };\n\n setPreferences(value: object) {\n Object.keys(value).forEach((key) => {\n this.term.getPrefs().set(key, value[key]);\n });\n };\n\n onInput(callback: (input: string) => void) {\n this.io.onVTKeystroke = (data) => {\n callback(data);\n };\n this.io.sendString = (data) => {\n callback(data);\n };\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.io.onTerminalResize = (columns: number, rows: number) => {\n this.columns = columns;\n this.rows = rows;\n callback(columns, rows);\n };\n };\n\n deactivate(): void {\n this.io.onVTKeystroke = null;\n this.io.sendString = null\n this.io.onTerminalResize = null;\n this.term.uninstallKeyboard();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.installKeyboard();\n }\n\n close(): void {\n this.term.uninstallKeyboard();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/hterm.ts","export class ConnectionFactory {\n url: string;\n protocols: string[];\n\n constructor(url: string, protocols: string[]) {\n this.url = url;\n this.protocols = protocols;\n };\n\n create(): Connection {\n return new Connection(this.url, this.protocols);\n };\n}\n\nexport class Connection {\n bare: WebSocket;\n\n\n constructor(url: string, protocols: string[]) {\n this.bare = new WebSocket(url, protocols);\n }\n\n open() {\n // nothing todo for websocket\n };\n\n close() {\n this.bare.close();\n };\n\n send(data: string) {\n this.bare.send(data);\n };\n\n isOpen(): boolean {\n if (this.bare.readyState == WebSocket.CONNECTING ||\n this.bare.readyState == WebSocket.OPEN) {\n return true\n }\n return false\n }\n\n onOpen(callback: () => void) {\n this.bare.onopen = (event) => {\n callback();\n }\n };\n\n onReceive(callback: (data: string) => void) {\n this.bare.onmessage = (event) => {\n callback(event.data);\n }\n };\n\n onClose(callback: () => void) {\n this.bare.onclose = (event) => {\n callback();\n };\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/websocket.ts","export const protocols = [\"webtty\"];\n\nexport const msgInputUnknown = '0';\nexport const msgInput = '1';\nexport const msgPing = '2';\nexport const msgResizeTerminal = '3';\n\nexport const msgUnknownOutput = '0';\nexport const msgOutput = '1';\nexport const msgPong = '2';\nexport const msgSetWindowTitle = '3';\nexport const msgSetPreferences = '4';\nexport const msgSetReconnect = '5';\n\n\nexport interface Terminal {\n info(): { columns: number, rows: number };\n output(data: string): void;\n showMessage(message: string, timeout: number): void;\n removeMessage(): void;\n setWindowTitle(title: string): void;\n setPreferences(value: object): void;\n onInput(callback: (input: string) => void): void;\n onResize(callback: (colmuns: number, rows: number) => void): void;\n reset(): void;\n deactivate(): void;\n close(): void;\n}\n\nexport interface Connection {\n open(): void;\n close(): void;\n send(data: string): void;\n isOpen(): boolean;\n onOpen(callback: () => void): void;\n onReceive(callback: (data: string) => void): void;\n onClose(callback: () => void): void;\n}\n\nexport interface ConnectionFactory {\n create(): Connection;\n}\n\n\nexport class WebTTY {\n term: Terminal;\n connectionFactory: ConnectionFactory;\n args: string;\n authToken: string;\n reconnect: number;\n\n constructor(term: Terminal, connectionFactory: ConnectionFactory, args: string, authToken: string) {\n this.term = term;\n this.connectionFactory = connectionFactory;\n this.args = args;\n this.authToken = authToken;\n this.reconnect = -1;\n };\n\n open() {\n let connection = this.connectionFactory.create();\n let pingTimer: number;\n let reconnectTimeout: number;\n\n const setup = () => {\n connection.onOpen(() => {\n const termInfo = this.term.info();\n\n connection.send(JSON.stringify(\n {\n Arguments: this.args,\n AuthToken: this.authToken,\n }\n ));\n\n\n const resizeHandler = (colmuns: number, rows: number) => {\n connection.send(\n msgResizeTerminal + JSON.stringify(\n {\n columns: colmuns,\n rows: rows\n }\n )\n );\n };\n\n this.term.onResize(resizeHandler);\n resizeHandler(termInfo.columns, termInfo.rows);\n\n this.term.onInput(\n (input: string) => {\n connection.send(msgInput + input);\n }\n );\n\n pingTimer = setInterval(() => {\n connection.send(msgPing)\n }, 30 * 1000);\n\n });\n\n connection.onReceive((data) => {\n const payload = data.slice(1);\n switch (data[0]) {\n case msgOutput:\n this.term.output(\n decodeURIComponent(Array.prototype.map.call(atob(payload), function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''))\n );\n break;\n case msgPong:\n break;\n case msgSetWindowTitle:\n this.term.setWindowTitle(payload);\n break;\n case msgSetPreferences:\n const preferences = JSON.parse(payload);\n this.term.setPreferences(preferences);\n break;\n case msgSetReconnect:\n const autoReconnect = JSON.parse(payload);\n console.log(\"Enabling reconnect: \" + autoReconnect + \" seconds\")\n this.reconnect = autoReconnect;\n break;\n }\n });\n\n connection.onClose(() => {\n clearInterval(pingTimer);\n this.term.deactivate();\n this.term.showMessage(\"Connection Closed\", 0);\n if (this.reconnect > 0) {\n reconnectTimeout = setTimeout(() => {\n connection = this.connectionFactory.create();\n this.term.reset();\n setup();\n }, this.reconnect * 1000);\n }\n });\n\n connection.open();\n }\n\n setup();\n return () => {\n clearTimeout(reconnectTimeout);\n connection.close();\n }\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/webtty.ts","import * as bare from \"xterm\";\n\nbare.loadAddon(\"fit\");\n\nexport class Xterm {\n elem: HTMLElement;\n\n message: HTMLElement;\n messageTimeout: number;\n messageTimer: number;\n\n term: bare;\n resizeListener: () => void;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n this.term = new bare();\n\n this.message = elem.ownerDocument.createElement(\"div\");\n this.message.className = \"xterm-overlay\";\n this.messageTimeout = 2000;\n\n\n this.resizeListener = () => {\n this.term.fit();\n this.term.scrollToBottom();\n this.showMessage(String(this.term.cols) + \"x\" + String(this.term.rows), this.messageTimeout);\n };\n\n this.term.on(\"open\", () => {\n this.resizeListener();\n window.addEventListener(\"resize\", () => { this.resizeListener(); });\n });\n\n this.term.open(elem, true);\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.term.cols, rows: this.term.rows };\n };\n\n output(data: string) {\n this.term.write(data);\n };\n\n showMessage(message: string, timeout: number) {\n this.message.textContent = message;\n this.elem.appendChild(this.message);\n\n if (this.messageTimer) {\n clearTimeout(this.messageTimer);\n }\n if (timeout > 0) {\n this.messageTimer = setTimeout(() => {\n this.elem.removeChild(this.message);\n }, timeout);\n }\n };\n\n removeMessage(): void {\n if (this.message.parentNode == this.elem) {\n this.elem.removeChild(this.message);\n }\n }\n\n setWindowTitle(title: string) {\n document.title = title;\n };\n\n setPreferences(value: object) {\n };\n\n onInput(callback: (input: string) => void) {\n this.term.on(\"data\", (data) => {\n callback(data);\n });\n\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.term.on(\"resize\", (data) => {\n callback(data.cols, data.rows);\n });\n };\n\n deactivate(): void {\n this.term.off(\"data\");\n this.term.off(\"resize\");\n this.term.blur();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.clear();\n }\n\n close(): void {\n window.removeEventListener(\"resize\", this.resizeListener);\n this.term.destroy();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/xterm.ts","// This file was generated by libdot/bin/concat.sh.\n// It has been marked read-only for your safety. Rather\n// than edit it directly, please modify one of these source\n// files...\n//\n// libdot/js/lib.js\n// libdot/js/lib_polyfill.js\n// libdot/js/lib_colors.js\n// libdot/js/lib_f.js\n// libdot/js/lib_message_manager.js\n// libdot/js/lib_preference_manager.js\n// libdot/js/lib_resource.js\n// libdot/js/lib_storage.js\n// libdot/js/lib_storage_chrome.js\n// libdot/js/lib_storage_local.js\n// libdot/js/lib_storage_memory.js\n// libdot/js/lib_test_manager.js\n// libdot/js/lib_utf8.js\n// libdot/third_party/wcwidth/lib_wc.js\n// hterm/js/hterm.js\n// hterm/js/hterm_frame.js\n// hterm/js/hterm_keyboard.js\n// hterm/js/hterm_keyboard_bindings.js\n// hterm/js/hterm_keyboard_keymap.js\n// hterm/js/hterm_keyboard_keypattern.js\n// hterm/js/hterm_options.js\n// hterm/js/hterm_parser.js\n// hterm/js/hterm_parser_identifiers.js\n// hterm/js/hterm_preference_manager.js\n// hterm/js/hterm_pubsub.js\n// hterm/js/hterm_screen.js\n// hterm/js/hterm_scrollport.js\n// hterm/js/hterm_terminal.js\n// hterm/js/hterm_terminal_io.js\n// hterm/js/hterm_text_attributes.js\n// hterm/js/hterm_vt.js\n// hterm/js/hterm_vt_character_map.js\n// hterm/js/hterm_export.js\n//\n\n// SOURCE FILE: libdot/js/lib.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nif (typeof lib != 'undefined')\n throw new Error('Global \"lib\" object already exists.');\n\nvar lib = {};\n\n/**\n * Map of \"dependency\" to [\"source\", ...].\n *\n * Each dependency is a object name, like \"lib.fs\", \"source\" is the url that\n * depends on the object.\n */\nlib.runtimeDependencies_ = {};\n\n/**\n * List of functions that need to be invoked during library initialization.\n *\n * Each element in the initCallbacks_ array is itself a two-element array.\n * Element 0 is a short string describing the owner of the init routine, useful\n * for debugging. Element 1 is the callback function.\n */\nlib.initCallbacks_ = [];\n\n/**\n * Records a runtime dependency.\n *\n * This can be useful when you want to express a run-time dependency at\n * compile time. It is not intended to be a full-fledged library system or\n * dependency tracker. It's just there to make it possible to debug the\n * deps without running all the code.\n *\n * Object names are specified as strings. For example...\n *\n * lib.rtdep('lib.colors', 'lib.PreferenceManager');\n *\n * Object names need not be rooted by 'lib'. You may use this to declare a\n * dependency on any object.\n *\n * The client program may call lib.ensureRuntimeDependencies() at startup in\n * order to ensure that all runtime dependencies have been met.\n *\n * @param {string} var_args One or more objects specified as strings.\n */\nlib.rtdep = function(var_args) {\n var source;\n\n try {\n throw new Error();\n } catch (ex) {\n var stackArray = ex.stack.split('\\n');\n // In Safari, the resulting stackArray will only have 2 elements and the\n // individual strings are formatted differently.\n if (stackArray.length >= 3) {\n source = stackArray[2].replace(/^\\s*at\\s+/, '');\n } else {\n source = stackArray[1].replace(/^\\s*global code@/, '');\n }\n }\n\n for (var i = 0; i < arguments.length; i++) {\n var path = arguments[i];\n if (path instanceof Array) {\n lib.rtdep.apply(lib, path);\n } else {\n var ary = this.runtimeDependencies_[path];\n if (!ary)\n ary = this.runtimeDependencies_[path] = [];\n ary.push(source);\n }\n }\n};\n\n/**\n * Ensures that all runtime dependencies are met, or an exception is thrown.\n *\n * Every unmet runtime dependency will be logged to the JS console. If at\n * least one dependency is unmet this will raise an exception.\n */\nlib.ensureRuntimeDependencies_ = function() {\n var passed = true;\n\n for (var path in lib.runtimeDependencies_) {\n var sourceList = lib.runtimeDependencies_[path];\n var names = path.split('.');\n\n // In a document context 'window' is the global object. In a worker it's\n // called 'self'.\n var obj = (window || self);\n for (var i = 0; i < names.length; i++) {\n if (!(names[i] in obj)) {\n console.warn('Missing \"' + path + '\" is needed by', sourceList);\n passed = false;\n break;\n }\n\n obj = obj[names[i]];\n }\n }\n\n if (!passed)\n throw new Error('Failed runtime dependency check');\n};\n\n/**\n * Register an initialization function.\n *\n * The initialization functions are invoked in registration order when\n * lib.init() is invoked. Each function will receive a single parameter, which\n * is a function to be invoked when it completes its part of the initialization.\n *\n * @param {string} name A short descriptive name of the init routine useful for\n * debugging.\n * @param {function(function)} callback The initialization function to register.\n * @return {function} The callback parameter.\n */\nlib.registerInit = function(name, callback) {\n lib.initCallbacks_.push([name, callback]);\n return callback;\n};\n\n/**\n * Initialize the library.\n *\n * This will ensure that all registered runtime dependencies are met, and\n * invoke any registered initialization functions.\n *\n * Initialization is asynchronous. The library is not ready for use until\n * the onInit function is invoked.\n *\n * @param {function()} onInit The function to invoke when initialization is\n * complete.\n * @param {function(*)} opt_logFunction An optional function to send\n * initialization related log messages to.\n */\nlib.init = function(onInit, opt_logFunction) {\n var ary = lib.initCallbacks_;\n\n var initNext = function() {\n if (ary.length) {\n var rec = ary.shift();\n if (opt_logFunction)\n opt_logFunction('init: ' + rec[0]);\n rec[1](lib.f.alarm(initNext));\n } else {\n onInit();\n }\n };\n\n if (typeof onInit != 'function')\n throw new Error('Missing or invalid argument: onInit');\n\n lib.ensureRuntimeDependencies_();\n\n setTimeout(initNext, 0);\n};\n// SOURCE FILE: libdot/js/lib_polyfill.js\n// Copyright 2017 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview Polyfills for ES2016+ features we want to use.\n */\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart\nif (!String.prototype.padStart) {\n String.prototype.padStart = function(targetLength, padString) {\n // If the string is already long enough, nothing to do!\n targetLength -= this.length;\n if (targetLength <= 0)\n return String(this);\n\n if (padString === undefined)\n padString = ' ';\n\n // In case the pad is multiple chars long.\n if (targetLength > padString.length)\n padString = padString.repeat((targetLength / padString.length) + 1);\n\n return padString.slice(0, targetLength) + String(this);\n };\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd\nif (!String.prototype.padEnd) {\n String.prototype.padEnd = function(targetLength, padString) {\n // If the string is already long enough, nothing to do!\n targetLength -= this.length;\n if (targetLength <= 0)\n return String(this);\n\n if (padString === undefined)\n padString = ' ';\n\n // In case the pad is multiple chars long.\n if (targetLength > padString.length)\n padString = padString.repeat((targetLength / padString.length) + 1);\n\n return String(this) + padString.slice(0, targetLength);\n };\n}\n// SOURCE FILE: libdot/js/lib_colors.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Namespace for color utilities.\n */\nlib.colors = {};\n\n/**\n * First, some canned regular expressions we're going to use in this file.\n *\n *\n * BRACE YOURSELF\n *\n * ,~~~~.\n * |>_< ~~\n * 3`---'-/.\n * 3:::::\\v\\\n * =o=:::::\\,\\\n * | :::::\\,,\\\n *\n * THE REGULAR EXPRESSIONS\n * ARE COMING.\n *\n * There's no way to break long RE literals in JavaScript. Fix that why don't\n * you? Oh, and also there's no way to write a string that doesn't interpret\n * escapes.\n *\n * Instead, we stoop to this .replace() trick.\n */\nlib.colors.re_ = {\n // CSS hex color, #RGB.\n hex16: /#([a-f0-9])([a-f0-9])([a-f0-9])/i,\n\n // CSS hex color, #RRGGBB.\n hex24: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/i,\n\n // CSS rgb color, rgb(rrr,ggg,bbb).\n rgb: new RegExp(\n ('^/s*rgb/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,' +\n '/s*(/d{1,3})/s*/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // CSS rgb color, rgb(rrr,ggg,bbb,aaa).\n rgba: new RegExp(\n ('^/s*rgba/s*' +\n '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' +\n '(?:,/s*(/d+(?:/./d+)?)/s*)/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // Either RGB or RGBA.\n rgbx: new RegExp(\n ('^/s*rgba?/s*' +\n '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' +\n '(?:,/s*(/d+(?:/./d+)?)/s*)?/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // An X11 \"rgb:dddd/dddd/dddd\" value.\n x11rgb: /^\\s*rgb:([a-f0-9]{1,4})\\/([a-f0-9]{1,4})\\/([a-f0-9]{1,4})\\s*$/i,\n\n // English color name.\n name: /[a-z][a-z0-9\\s]+/,\n};\n\n/**\n * Convert a CSS rgb(ddd,ddd,ddd) color value into an X11 color value.\n *\n * Other CSS color values are ignored to ensure sanitary data handling.\n *\n * Each 'ddd' component is a one byte value specified in decimal.\n *\n * @param {string} value The CSS color value to convert.\n * @return {string} The X11 color value or null if the value could not be\n * converted.\n */\nlib.colors.rgbToX11 = function(value) {\n function scale(v) {\n v = (Math.min(v, 255) * 257).toString(16);\n return lib.f.zpad(v, 4);\n }\n\n var ary = value.match(lib.colors.re_.rgbx);\n if (!ary)\n return null;\n\n return 'rgb:' + scale(ary[1]) + '/' + scale(ary[2]) + '/' + scale(ary[3]);\n};\n\n/**\n * Convert a legacy X11 colover value into an CSS rgb(...) color value.\n *\n * They take the form:\n * 12 bit: #RGB -> #R000G000B000\n * 24 bit: #RRGGBB -> #RR00GG00BB00\n * 36 bit: #RRRGGGBBB -> #RRR0GGG0BBB0\n * 48 bit: #RRRRGGGGBBBB\n * These are the most significant bits.\n *\n * Truncate values back down to 24 bit since that's all CSS supports.\n */\nlib.colors.x11HexToCSS = function(v) {\n if (!v.startsWith('#'))\n return null;\n // Strip the leading # off.\n v = v.substr(1);\n\n // Reject unknown sizes.\n if ([3, 6, 9, 12].indexOf(v.length) == -1)\n return null;\n\n // Reject non-hex values.\n if (v.match(/[^a-f0-9]/i))\n return null;\n\n // Split the colors out.\n var size = v.length / 3;\n var r = v.substr(0, size);\n var g = v.substr(size, size);\n var b = v.substr(size + size, size);\n\n // Normalize to 16 bits.\n function norm16(v) {\n v = parseInt(v, 16);\n return size == 2 ? v : // 16 bit\n size == 1 ? v << 4 : // 8 bit\n v >> (4 * (size - 2)); // 24 or 32 bit\n }\n return lib.colors.arrayToRGBA([r, g, b].map(norm16));\n};\n\n/**\n * Convert an X11 color value into an CSS rgb(...) color value.\n *\n * The X11 value may be an X11 color name, or an RGB value of the form\n * rgb:hhhh/hhhh/hhhh. If a component value is less than 4 digits it is\n * padded out to 4, then scaled down to fit in a single byte.\n *\n * @param {string} value The X11 color value to convert.\n * @return {string} The CSS color value or null if the value could not be\n * converted.\n */\nlib.colors.x11ToCSS = function(v) {\n function scale(v) {\n // Pad out values with less than four digits. This padding (probably)\n // matches xterm. It's difficult to say for sure since xterm seems to\n // arrive at a padded value and then perform some combination of\n // gamma correction, color space transformation, and quantization.\n\n if (v.length == 1) {\n // Single digits pad out to four by repeating the character. \"f\" becomes\n // \"ffff\". Scaling down a hex value of this pattern by 257 is the same\n // as cutting off one byte. We skip the middle step and just double\n // the character.\n return parseInt(v + v, 16);\n }\n\n if (v.length == 2) {\n // Similar deal here. X11 pads two digit values by repeating the\n // byte (or scale up by 257). Since we're going to scale it back\n // down anyway, we can just return the original value.\n return parseInt(v, 16);\n }\n\n if (v.length == 3) {\n // Three digit values seem to be padded by repeating the final digit.\n // e.g. 10f becomes 10ff.\n v = v + v.substr(2);\n }\n\n // Scale down the 2 byte value.\n return Math.round(parseInt(v, 16) / 257);\n }\n\n var ary = v.match(lib.colors.re_.x11rgb);\n if (!ary) {\n // Handle the legacy format.\n if (v.startsWith('#'))\n return lib.colors.x11HexToCSS(v);\n else\n return lib.colors.nameToRGB(v);\n }\n\n ary.splice(0, 1);\n return lib.colors.arrayToRGBA(ary.map(scale));\n};\n\n/**\n * Converts one or more CSS '#RRGGBB' color values into their rgb(...)\n * form.\n *\n * Arrays are converted in place. If a value cannot be converted, it is\n * replaced with null.\n *\n * @param {string|Array.} A single RGB value or array of RGB values to\n * convert.\n * @return {string|Array.} The converted value or values.\n */\nlib.colors.hexToRGB = function(arg) {\n var hex16 = lib.colors.re_.hex16;\n var hex24 = lib.colors.re_.hex24;\n\n function convert(hex) {\n if (hex.length == 4) {\n hex = hex.replace(hex16, function(h, r, g, b) {\n return \"#\" + r + r + g + g + b + b;\n });\n }\n var ary = hex.match(hex24);\n if (!ary)\n return null;\n\n return 'rgb(' + parseInt(ary[1], 16) + ', ' +\n parseInt(ary[2], 16) + ', ' +\n parseInt(ary[3], 16) + ')';\n }\n\n if (arg instanceof Array) {\n for (var i = 0; i < arg.length; i++) {\n arg[i] = convert(arg[i]);\n }\n } else {\n arg = convert(arg);\n }\n\n return arg;\n};\n\n/**\n * Converts one or more CSS rgb(...) forms into their '#RRGGBB' color values.\n *\n * If given an rgba(...) form, the alpha field is thrown away.\n *\n * Arrays are converted in place. If a value cannot be converted, it is\n * replaced with null.\n *\n * @param {string|Array.} A single rgb(...) value or array of rgb(...)\n * values to convert.\n * @return {string|Array.} The converted value or values.\n */\nlib.colors.rgbToHex = function(arg) {\n function convert(rgb) {\n var ary = lib.colors.crackRGB(rgb);\n if (!ary)\n return null;\n return '#' + lib.f.zpad(((parseInt(ary[0]) << 16) |\n (parseInt(ary[1]) << 8) |\n (parseInt(ary[2]) << 0)).toString(16), 6);\n }\n\n if (arg instanceof Array) {\n for (var i = 0; i < arg.length; i++) {\n arg[i] = convert(arg[i]);\n }\n } else {\n arg = convert(arg);\n }\n\n return arg;\n};\n\n/**\n * Take any valid css color definition and turn it into an rgb or rgba value.\n *\n * Returns null if the value could not be normalized.\n */\nlib.colors.normalizeCSS = function(def) {\n if (def.startsWith('#'))\n return lib.colors.hexToRGB(def);\n\n if (lib.colors.re_.rgbx.test(def))\n return def;\n\n return lib.colors.nameToRGB(def);\n};\n\n/**\n * Convert a 3 or 4 element array into an rgba(...) string.\n */\nlib.colors.arrayToRGBA = function(ary) {\n var alpha = (ary.length > 3) ? ary[3] : 1;\n return 'rgba(' + ary[0] + ', ' + ary[1] + ', ' + ary[2] + ', ' + alpha + ')';\n};\n\n/**\n * Overwrite the alpha channel of an rgb/rgba color.\n */\nlib.colors.setAlpha = function(rgb, alpha) {\n var ary = lib.colors.crackRGB(rgb);\n ary[3] = alpha;\n return lib.colors.arrayToRGBA(ary);\n};\n\n/**\n * Mix a percentage of a tint color into a base color.\n */\nlib.colors.mix = function(base, tint, percent) {\n var ary1 = lib.colors.crackRGB(base);\n var ary2 = lib.colors.crackRGB(tint);\n\n for (var i = 0; i < 4; ++i) {\n var diff = ary2[i] - ary1[i];\n ary1[i] = Math.round(parseInt(ary1[i]) + diff * percent);\n }\n\n return lib.colors.arrayToRGBA(ary1);\n};\n\n/**\n * Split an rgb/rgba color into an array of its components.\n *\n * On success, a 4 element array will be returned. For rgb values, the alpha\n * will be set to 1.\n */\nlib.colors.crackRGB = function(color) {\n if (color.startsWith('rgba')) {\n var ary = color.match(lib.colors.re_.rgba);\n if (ary) {\n ary.shift();\n return ary;\n }\n } else {\n var ary = color.match(lib.colors.re_.rgb);\n if (ary) {\n ary.shift();\n ary.push(1);\n return ary;\n }\n }\n\n console.error('Couldn\\'t crack: ' + color);\n return null;\n};\n\n/**\n * Convert an X11 color name into a CSS rgb(...) value.\n *\n * Names are stripped of spaces and converted to lowercase. If the name is\n * unknown, null is returned.\n *\n * This list of color name to RGB mapping is derived from the stock X11\n * rgb.txt file.\n *\n * @param {string} name The color name to convert.\n * @return {string} The corresponding CSS rgb(...) value.\n */\nlib.colors.nameToRGB = function(name) {\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n name = name.toLowerCase();\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n name = name.replace(/\\s+/g, '');\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n return null;\n};\n\n/**\n * The stock color palette.\n */\nlib.colors.stockColorPalette = lib.colors.hexToRGB\n ([// The \"ANSI 16\"...\n '#000000', '#CC0000', '#4E9A06', '#C4A000',\n '#3465A4', '#75507B', '#06989A', '#D3D7CF',\n '#555753', '#EF2929', '#00BA13', '#FCE94F',\n '#729FCF', '#F200CB', '#00B5BD', '#EEEEEC',\n\n // The 6x6 color cubes...\n '#000000', '#00005F', '#000087', '#0000AF', '#0000D7', '#0000FF',\n '#005F00', '#005F5F', '#005F87', '#005FAF', '#005FD7', '#005FFF',\n '#008700', '#00875F', '#008787', '#0087AF', '#0087D7', '#0087FF',\n '#00AF00', '#00AF5F', '#00AF87', '#00AFAF', '#00AFD7', '#00AFFF',\n '#00D700', '#00D75F', '#00D787', '#00D7AF', '#00D7D7', '#00D7FF',\n '#00FF00', '#00FF5F', '#00FF87', '#00FFAF', '#00FFD7', '#00FFFF',\n\n '#5F0000', '#5F005F', '#5F0087', '#5F00AF', '#5F00D7', '#5F00FF',\n '#5F5F00', '#5F5F5F', '#5F5F87', '#5F5FAF', '#5F5FD7', '#5F5FFF',\n '#5F8700', '#5F875F', '#5F8787', '#5F87AF', '#5F87D7', '#5F87FF',\n '#5FAF00', '#5FAF5F', '#5FAF87', '#5FAFAF', '#5FAFD7', '#5FAFFF',\n '#5FD700', '#5FD75F', '#5FD787', '#5FD7AF', '#5FD7D7', '#5FD7FF',\n '#5FFF00', '#5FFF5F', '#5FFF87', '#5FFFAF', '#5FFFD7', '#5FFFFF',\n\n '#870000', '#87005F', '#870087', '#8700AF', '#8700D7', '#8700FF',\n '#875F00', '#875F5F', '#875F87', '#875FAF', '#875FD7', '#875FFF',\n '#878700', '#87875F', '#878787', '#8787AF', '#8787D7', '#8787FF',\n '#87AF00', '#87AF5F', '#87AF87', '#87AFAF', '#87AFD7', '#87AFFF',\n '#87D700', '#87D75F', '#87D787', '#87D7AF', '#87D7D7', '#87D7FF',\n '#87FF00', '#87FF5F', '#87FF87', '#87FFAF', '#87FFD7', '#87FFFF',\n\n '#AF0000', '#AF005F', '#AF0087', '#AF00AF', '#AF00D7', '#AF00FF',\n '#AF5F00', '#AF5F5F', '#AF5F87', '#AF5FAF', '#AF5FD7', '#AF5FFF',\n '#AF8700', '#AF875F', '#AF8787', '#AF87AF', '#AF87D7', '#AF87FF',\n '#AFAF00', '#AFAF5F', '#AFAF87', '#AFAFAF', '#AFAFD7', '#AFAFFF',\n '#AFD700', '#AFD75F', '#AFD787', '#AFD7AF', '#AFD7D7', '#AFD7FF',\n '#AFFF00', '#AFFF5F', '#AFFF87', '#AFFFAF', '#AFFFD7', '#AFFFFF',\n\n '#D70000', '#D7005F', '#D70087', '#D700AF', '#D700D7', '#D700FF',\n '#D75F00', '#D75F5F', '#D75F87', '#D75FAF', '#D75FD7', '#D75FFF',\n '#D78700', '#D7875F', '#D78787', '#D787AF', '#D787D7', '#D787FF',\n '#D7AF00', '#D7AF5F', '#D7AF87', '#D7AFAF', '#D7AFD7', '#D7AFFF',\n '#D7D700', '#D7D75F', '#D7D787', '#D7D7AF', '#D7D7D7', '#D7D7FF',\n '#D7FF00', '#D7FF5F', '#D7FF87', '#D7FFAF', '#D7FFD7', '#D7FFFF',\n\n '#FF0000', '#FF005F', '#FF0087', '#FF00AF', '#FF00D7', '#FF00FF',\n '#FF5F00', '#FF5F5F', '#FF5F87', '#FF5FAF', '#FF5FD7', '#FF5FFF',\n '#FF8700', '#FF875F', '#FF8787', '#FF87AF', '#FF87D7', '#FF87FF',\n '#FFAF00', '#FFAF5F', '#FFAF87', '#FFAFAF', '#FFAFD7', '#FFAFFF',\n '#FFD700', '#FFD75F', '#FFD787', '#FFD7AF', '#FFD7D7', '#FFD7FF',\n '#FFFF00', '#FFFF5F', '#FFFF87', '#FFFFAF', '#FFFFD7', '#FFFFFF',\n\n // The greyscale ramp...\n '#080808', '#121212', '#1C1C1C', '#262626', '#303030', '#3A3A3A',\n '#444444', '#4E4E4E', '#585858', '#626262', '#6C6C6C', '#767676',\n '#808080', '#8A8A8A', '#949494', '#9E9E9E', '#A8A8A8', '#B2B2B2',\n '#BCBCBC', '#C6C6C6', '#D0D0D0', '#DADADA', '#E4E4E4', '#EEEEEE'\n ]);\n\n/**\n * The current color palette, possibly with user changes.\n */\nlib.colors.colorPalette = lib.colors.stockColorPalette;\n\n/**\n * Named colors according to the stock X11 rgb.txt file.\n */\nlib.colors.colorNames = {\n \"aliceblue\": \"rgb(240, 248, 255)\",\n \"antiquewhite\": \"rgb(250, 235, 215)\",\n \"antiquewhite1\": \"rgb(255, 239, 219)\",\n \"antiquewhite2\": \"rgb(238, 223, 204)\",\n \"antiquewhite3\": \"rgb(205, 192, 176)\",\n \"antiquewhite4\": \"rgb(139, 131, 120)\",\n \"aquamarine\": \"rgb(127, 255, 212)\",\n \"aquamarine1\": \"rgb(127, 255, 212)\",\n \"aquamarine2\": \"rgb(118, 238, 198)\",\n \"aquamarine3\": \"rgb(102, 205, 170)\",\n \"aquamarine4\": \"rgb(69, 139, 116)\",\n \"azure\": \"rgb(240, 255, 255)\",\n \"azure1\": \"rgb(240, 255, 255)\",\n \"azure2\": \"rgb(224, 238, 238)\",\n \"azure3\": \"rgb(193, 205, 205)\",\n \"azure4\": \"rgb(131, 139, 139)\",\n \"beige\": \"rgb(245, 245, 220)\",\n \"bisque\": \"rgb(255, 228, 196)\",\n \"bisque1\": \"rgb(255, 228, 196)\",\n \"bisque2\": \"rgb(238, 213, 183)\",\n \"bisque3\": \"rgb(205, 183, 158)\",\n \"bisque4\": \"rgb(139, 125, 107)\",\n \"black\": \"rgb(0, 0, 0)\",\n \"blanchedalmond\": \"rgb(255, 235, 205)\",\n \"blue\": \"rgb(0, 0, 255)\",\n \"blue1\": \"rgb(0, 0, 255)\",\n \"blue2\": \"rgb(0, 0, 238)\",\n \"blue3\": \"rgb(0, 0, 205)\",\n \"blue4\": \"rgb(0, 0, 139)\",\n \"blueviolet\": \"rgb(138, 43, 226)\",\n \"brown\": \"rgb(165, 42, 42)\",\n \"brown1\": \"rgb(255, 64, 64)\",\n \"brown2\": \"rgb(238, 59, 59)\",\n \"brown3\": \"rgb(205, 51, 51)\",\n \"brown4\": \"rgb(139, 35, 35)\",\n \"burlywood\": \"rgb(222, 184, 135)\",\n \"burlywood1\": \"rgb(255, 211, 155)\",\n \"burlywood2\": \"rgb(238, 197, 145)\",\n \"burlywood3\": \"rgb(205, 170, 125)\",\n \"burlywood4\": \"rgb(139, 115, 85)\",\n \"cadetblue\": \"rgb(95, 158, 160)\",\n \"cadetblue1\": \"rgb(152, 245, 255)\",\n \"cadetblue2\": \"rgb(142, 229, 238)\",\n \"cadetblue3\": \"rgb(122, 197, 205)\",\n \"cadetblue4\": \"rgb(83, 134, 139)\",\n \"chartreuse\": \"rgb(127, 255, 0)\",\n \"chartreuse1\": \"rgb(127, 255, 0)\",\n \"chartreuse2\": \"rgb(118, 238, 0)\",\n \"chartreuse3\": \"rgb(102, 205, 0)\",\n \"chartreuse4\": \"rgb(69, 139, 0)\",\n \"chocolate\": \"rgb(210, 105, 30)\",\n \"chocolate1\": \"rgb(255, 127, 36)\",\n \"chocolate2\": \"rgb(238, 118, 33)\",\n \"chocolate3\": \"rgb(205, 102, 29)\",\n \"chocolate4\": \"rgb(139, 69, 19)\",\n \"coral\": \"rgb(255, 127, 80)\",\n \"coral1\": \"rgb(255, 114, 86)\",\n \"coral2\": \"rgb(238, 106, 80)\",\n \"coral3\": \"rgb(205, 91, 69)\",\n \"coral4\": \"rgb(139, 62, 47)\",\n \"cornflowerblue\": \"rgb(100, 149, 237)\",\n \"cornsilk\": \"rgb(255, 248, 220)\",\n \"cornsilk1\": \"rgb(255, 248, 220)\",\n \"cornsilk2\": \"rgb(238, 232, 205)\",\n \"cornsilk3\": \"rgb(205, 200, 177)\",\n \"cornsilk4\": \"rgb(139, 136, 120)\",\n \"cyan\": \"rgb(0, 255, 255)\",\n \"cyan1\": \"rgb(0, 255, 255)\",\n \"cyan2\": \"rgb(0, 238, 238)\",\n \"cyan3\": \"rgb(0, 205, 205)\",\n \"cyan4\": \"rgb(0, 139, 139)\",\n \"darkblue\": \"rgb(0, 0, 139)\",\n \"darkcyan\": \"rgb(0, 139, 139)\",\n \"darkgoldenrod\": \"rgb(184, 134, 11)\",\n \"darkgoldenrod1\": \"rgb(255, 185, 15)\",\n \"darkgoldenrod2\": \"rgb(238, 173, 14)\",\n \"darkgoldenrod3\": \"rgb(205, 149, 12)\",\n \"darkgoldenrod4\": \"rgb(139, 101, 8)\",\n \"darkgray\": \"rgb(169, 169, 169)\",\n \"darkgreen\": \"rgb(0, 100, 0)\",\n \"darkgrey\": \"rgb(169, 169, 169)\",\n \"darkkhaki\": \"rgb(189, 183, 107)\",\n \"darkmagenta\": \"rgb(139, 0, 139)\",\n \"darkolivegreen\": \"rgb(85, 107, 47)\",\n \"darkolivegreen1\": \"rgb(202, 255, 112)\",\n \"darkolivegreen2\": \"rgb(188, 238, 104)\",\n \"darkolivegreen3\": \"rgb(162, 205, 90)\",\n \"darkolivegreen4\": \"rgb(110, 139, 61)\",\n \"darkorange\": \"rgb(255, 140, 0)\",\n \"darkorange1\": \"rgb(255, 127, 0)\",\n \"darkorange2\": \"rgb(238, 118, 0)\",\n \"darkorange3\": \"rgb(205, 102, 0)\",\n \"darkorange4\": \"rgb(139, 69, 0)\",\n \"darkorchid\": \"rgb(153, 50, 204)\",\n \"darkorchid1\": \"rgb(191, 62, 255)\",\n \"darkorchid2\": \"rgb(178, 58, 238)\",\n \"darkorchid3\": \"rgb(154, 50, 205)\",\n \"darkorchid4\": \"rgb(104, 34, 139)\",\n \"darkred\": \"rgb(139, 0, 0)\",\n \"darksalmon\": \"rgb(233, 150, 122)\",\n \"darkseagreen\": \"rgb(143, 188, 143)\",\n \"darkseagreen1\": \"rgb(193, 255, 193)\",\n \"darkseagreen2\": \"rgb(180, 238, 180)\",\n \"darkseagreen3\": \"rgb(155, 205, 155)\",\n \"darkseagreen4\": \"rgb(105, 139, 105)\",\n \"darkslateblue\": \"rgb(72, 61, 139)\",\n \"darkslategray\": \"rgb(47, 79, 79)\",\n \"darkslategray1\": \"rgb(151, 255, 255)\",\n \"darkslategray2\": \"rgb(141, 238, 238)\",\n \"darkslategray3\": \"rgb(121, 205, 205)\",\n \"darkslategray4\": \"rgb(82, 139, 139)\",\n \"darkslategrey\": \"rgb(47, 79, 79)\",\n \"darkturquoise\": \"rgb(0, 206, 209)\",\n \"darkviolet\": \"rgb(148, 0, 211)\",\n \"debianred\": \"rgb(215, 7, 81)\",\n \"deeppink\": \"rgb(255, 20, 147)\",\n \"deeppink1\": \"rgb(255, 20, 147)\",\n \"deeppink2\": \"rgb(238, 18, 137)\",\n \"deeppink3\": \"rgb(205, 16, 118)\",\n \"deeppink4\": \"rgb(139, 10, 80)\",\n \"deepskyblue\": \"rgb(0, 191, 255)\",\n \"deepskyblue1\": \"rgb(0, 191, 255)\",\n \"deepskyblue2\": \"rgb(0, 178, 238)\",\n \"deepskyblue3\": \"rgb(0, 154, 205)\",\n \"deepskyblue4\": \"rgb(0, 104, 139)\",\n \"dimgray\": \"rgb(105, 105, 105)\",\n \"dimgrey\": \"rgb(105, 105, 105)\",\n \"dodgerblue\": \"rgb(30, 144, 255)\",\n \"dodgerblue1\": \"rgb(30, 144, 255)\",\n \"dodgerblue2\": \"rgb(28, 134, 238)\",\n \"dodgerblue3\": \"rgb(24, 116, 205)\",\n \"dodgerblue4\": \"rgb(16, 78, 139)\",\n \"firebrick\": \"rgb(178, 34, 34)\",\n \"firebrick1\": \"rgb(255, 48, 48)\",\n \"firebrick2\": \"rgb(238, 44, 44)\",\n \"firebrick3\": \"rgb(205, 38, 38)\",\n \"firebrick4\": \"rgb(139, 26, 26)\",\n \"floralwhite\": \"rgb(255, 250, 240)\",\n \"forestgreen\": \"rgb(34, 139, 34)\",\n \"gainsboro\": \"rgb(220, 220, 220)\",\n \"ghostwhite\": \"rgb(248, 248, 255)\",\n \"gold\": \"rgb(255, 215, 0)\",\n \"gold1\": \"rgb(255, 215, 0)\",\n \"gold2\": \"rgb(238, 201, 0)\",\n \"gold3\": \"rgb(205, 173, 0)\",\n \"gold4\": \"rgb(139, 117, 0)\",\n \"goldenrod\": \"rgb(218, 165, 32)\",\n \"goldenrod1\": \"rgb(255, 193, 37)\",\n \"goldenrod2\": \"rgb(238, 180, 34)\",\n \"goldenrod3\": \"rgb(205, 155, 29)\",\n \"goldenrod4\": \"rgb(139, 105, 20)\",\n \"gray\": \"rgb(190, 190, 190)\",\n \"gray0\": \"rgb(0, 0, 0)\",\n \"gray1\": \"rgb(3, 3, 3)\",\n \"gray10\": \"rgb(26, 26, 26)\",\n \"gray100\": \"rgb(255, 255, 255)\",\n \"gray11\": \"rgb(28, 28, 28)\",\n \"gray12\": \"rgb(31, 31, 31)\",\n \"gray13\": \"rgb(33, 33, 33)\",\n \"gray14\": \"rgb(36, 36, 36)\",\n \"gray15\": \"rgb(38, 38, 38)\",\n \"gray16\": \"rgb(41, 41, 41)\",\n \"gray17\": \"rgb(43, 43, 43)\",\n \"gray18\": \"rgb(46, 46, 46)\",\n \"gray19\": \"rgb(48, 48, 48)\",\n \"gray2\": \"rgb(5, 5, 5)\",\n \"gray20\": \"rgb(51, 51, 51)\",\n \"gray21\": \"rgb(54, 54, 54)\",\n \"gray22\": \"rgb(56, 56, 56)\",\n \"gray23\": \"rgb(59, 59, 59)\",\n \"gray24\": \"rgb(61, 61, 61)\",\n \"gray25\": \"rgb(64, 64, 64)\",\n \"gray26\": \"rgb(66, 66, 66)\",\n \"gray27\": \"rgb(69, 69, 69)\",\n \"gray28\": \"rgb(71, 71, 71)\",\n \"gray29\": \"rgb(74, 74, 74)\",\n \"gray3\": \"rgb(8, 8, 8)\",\n \"gray30\": \"rgb(77, 77, 77)\",\n \"gray31\": \"rgb(79, 79, 79)\",\n \"gray32\": \"rgb(82, 82, 82)\",\n \"gray33\": \"rgb(84, 84, 84)\",\n \"gray34\": \"rgb(87, 87, 87)\",\n \"gray35\": \"rgb(89, 89, 89)\",\n \"gray36\": \"rgb(92, 92, 92)\",\n \"gray37\": \"rgb(94, 94, 94)\",\n \"gray38\": \"rgb(97, 97, 97)\",\n \"gray39\": \"rgb(99, 99, 99)\",\n \"gray4\": \"rgb(10, 10, 10)\",\n \"gray40\": \"rgb(102, 102, 102)\",\n \"gray41\": \"rgb(105, 105, 105)\",\n \"gray42\": \"rgb(107, 107, 107)\",\n \"gray43\": \"rgb(110, 110, 110)\",\n \"gray44\": \"rgb(112, 112, 112)\",\n \"gray45\": \"rgb(115, 115, 115)\",\n \"gray46\": \"rgb(117, 117, 117)\",\n \"gray47\": \"rgb(120, 120, 120)\",\n \"gray48\": \"rgb(122, 122, 122)\",\n \"gray49\": \"rgb(125, 125, 125)\",\n \"gray5\": \"rgb(13, 13, 13)\",\n \"gray50\": \"rgb(127, 127, 127)\",\n \"gray51\": \"rgb(130, 130, 130)\",\n \"gray52\": \"rgb(133, 133, 133)\",\n \"gray53\": \"rgb(135, 135, 135)\",\n \"gray54\": \"rgb(138, 138, 138)\",\n \"gray55\": \"rgb(140, 140, 140)\",\n \"gray56\": \"rgb(143, 143, 143)\",\n \"gray57\": \"rgb(145, 145, 145)\",\n \"gray58\": \"rgb(148, 148, 148)\",\n \"gray59\": \"rgb(150, 150, 150)\",\n \"gray6\": \"rgb(15, 15, 15)\",\n \"gray60\": \"rgb(153, 153, 153)\",\n \"gray61\": \"rgb(156, 156, 156)\",\n \"gray62\": \"rgb(158, 158, 158)\",\n \"gray63\": \"rgb(161, 161, 161)\",\n \"gray64\": \"rgb(163, 163, 163)\",\n \"gray65\": \"rgb(166, 166, 166)\",\n \"gray66\": \"rgb(168, 168, 168)\",\n \"gray67\": \"rgb(171, 171, 171)\",\n \"gray68\": \"rgb(173, 173, 173)\",\n \"gray69\": \"rgb(176, 176, 176)\",\n \"gray7\": \"rgb(18, 18, 18)\",\n \"gray70\": \"rgb(179, 179, 179)\",\n \"gray71\": \"rgb(181, 181, 181)\",\n \"gray72\": \"rgb(184, 184, 184)\",\n \"gray73\": \"rgb(186, 186, 186)\",\n \"gray74\": \"rgb(189, 189, 189)\",\n \"gray75\": \"rgb(191, 191, 191)\",\n \"gray76\": \"rgb(194, 194, 194)\",\n \"gray77\": \"rgb(196, 196, 196)\",\n \"gray78\": \"rgb(199, 199, 199)\",\n \"gray79\": \"rgb(201, 201, 201)\",\n \"gray8\": \"rgb(20, 20, 20)\",\n \"gray80\": \"rgb(204, 204, 204)\",\n \"gray81\": \"rgb(207, 207, 207)\",\n \"gray82\": \"rgb(209, 209, 209)\",\n \"gray83\": \"rgb(212, 212, 212)\",\n \"gray84\": \"rgb(214, 214, 214)\",\n \"gray85\": \"rgb(217, 217, 217)\",\n \"gray86\": \"rgb(219, 219, 219)\",\n \"gray87\": \"rgb(222, 222, 222)\",\n \"gray88\": \"rgb(224, 224, 224)\",\n \"gray89\": \"rgb(227, 227, 227)\",\n \"gray9\": \"rgb(23, 23, 23)\",\n \"gray90\": \"rgb(229, 229, 229)\",\n \"gray91\": \"rgb(232, 232, 232)\",\n \"gray92\": \"rgb(235, 235, 235)\",\n \"gray93\": \"rgb(237, 237, 237)\",\n \"gray94\": \"rgb(240, 240, 240)\",\n \"gray95\": \"rgb(242, 242, 242)\",\n \"gray96\": \"rgb(245, 245, 245)\",\n \"gray97\": \"rgb(247, 247, 247)\",\n \"gray98\": \"rgb(250, 250, 250)\",\n \"gray99\": \"rgb(252, 252, 252)\",\n \"green\": \"rgb(0, 255, 0)\",\n \"green1\": \"rgb(0, 255, 0)\",\n \"green2\": \"rgb(0, 238, 0)\",\n \"green3\": \"rgb(0, 205, 0)\",\n \"green4\": \"rgb(0, 139, 0)\",\n \"greenyellow\": \"rgb(173, 255, 47)\",\n \"grey\": \"rgb(190, 190, 190)\",\n \"grey0\": \"rgb(0, 0, 0)\",\n \"grey1\": \"rgb(3, 3, 3)\",\n \"grey10\": \"rgb(26, 26, 26)\",\n \"grey100\": \"rgb(255, 255, 255)\",\n \"grey11\": \"rgb(28, 28, 28)\",\n \"grey12\": \"rgb(31, 31, 31)\",\n \"grey13\": \"rgb(33, 33, 33)\",\n \"grey14\": \"rgb(36, 36, 36)\",\n \"grey15\": \"rgb(38, 38, 38)\",\n \"grey16\": \"rgb(41, 41, 41)\",\n \"grey17\": \"rgb(43, 43, 43)\",\n \"grey18\": \"rgb(46, 46, 46)\",\n \"grey19\": \"rgb(48, 48, 48)\",\n \"grey2\": \"rgb(5, 5, 5)\",\n \"grey20\": \"rgb(51, 51, 51)\",\n \"grey21\": \"rgb(54, 54, 54)\",\n \"grey22\": \"rgb(56, 56, 56)\",\n \"grey23\": \"rgb(59, 59, 59)\",\n \"grey24\": \"rgb(61, 61, 61)\",\n \"grey25\": \"rgb(64, 64, 64)\",\n \"grey26\": \"rgb(66, 66, 66)\",\n \"grey27\": \"rgb(69, 69, 69)\",\n \"grey28\": \"rgb(71, 71, 71)\",\n \"grey29\": \"rgb(74, 74, 74)\",\n \"grey3\": \"rgb(8, 8, 8)\",\n \"grey30\": \"rgb(77, 77, 77)\",\n \"grey31\": \"rgb(79, 79, 79)\",\n \"grey32\": \"rgb(82, 82, 82)\",\n \"grey33\": \"rgb(84, 84, 84)\",\n \"grey34\": \"rgb(87, 87, 87)\",\n \"grey35\": \"rgb(89, 89, 89)\",\n \"grey36\": \"rgb(92, 92, 92)\",\n \"grey37\": \"rgb(94, 94, 94)\",\n \"grey38\": \"rgb(97, 97, 97)\",\n \"grey39\": \"rgb(99, 99, 99)\",\n \"grey4\": \"rgb(10, 10, 10)\",\n \"grey40\": \"rgb(102, 102, 102)\",\n \"grey41\": \"rgb(105, 105, 105)\",\n \"grey42\": \"rgb(107, 107, 107)\",\n \"grey43\": \"rgb(110, 110, 110)\",\n \"grey44\": \"rgb(112, 112, 112)\",\n \"grey45\": \"rgb(115, 115, 115)\",\n \"grey46\": \"rgb(117, 117, 117)\",\n \"grey47\": \"rgb(120, 120, 120)\",\n \"grey48\": \"rgb(122, 122, 122)\",\n \"grey49\": \"rgb(125, 125, 125)\",\n \"grey5\": \"rgb(13, 13, 13)\",\n \"grey50\": \"rgb(127, 127, 127)\",\n \"grey51\": \"rgb(130, 130, 130)\",\n \"grey52\": \"rgb(133, 133, 133)\",\n \"grey53\": \"rgb(135, 135, 135)\",\n \"grey54\": \"rgb(138, 138, 138)\",\n \"grey55\": \"rgb(140, 140, 140)\",\n \"grey56\": \"rgb(143, 143, 143)\",\n \"grey57\": \"rgb(145, 145, 145)\",\n \"grey58\": \"rgb(148, 148, 148)\",\n \"grey59\": \"rgb(150, 150, 150)\",\n \"grey6\": \"rgb(15, 15, 15)\",\n \"grey60\": \"rgb(153, 153, 153)\",\n \"grey61\": \"rgb(156, 156, 156)\",\n \"grey62\": \"rgb(158, 158, 158)\",\n \"grey63\": \"rgb(161, 161, 161)\",\n \"grey64\": \"rgb(163, 163, 163)\",\n \"grey65\": \"rgb(166, 166, 166)\",\n \"grey66\": \"rgb(168, 168, 168)\",\n \"grey67\": \"rgb(171, 171, 171)\",\n \"grey68\": \"rgb(173, 173, 173)\",\n \"grey69\": \"rgb(176, 176, 176)\",\n \"grey7\": \"rgb(18, 18, 18)\",\n \"grey70\": \"rgb(179, 179, 179)\",\n \"grey71\": \"rgb(181, 181, 181)\",\n \"grey72\": \"rgb(184, 184, 184)\",\n \"grey73\": \"rgb(186, 186, 186)\",\n \"grey74\": \"rgb(189, 189, 189)\",\n \"grey75\": \"rgb(191, 191, 191)\",\n \"grey76\": \"rgb(194, 194, 194)\",\n \"grey77\": \"rgb(196, 196, 196)\",\n \"grey78\": \"rgb(199, 199, 199)\",\n \"grey79\": \"rgb(201, 201, 201)\",\n \"grey8\": \"rgb(20, 20, 20)\",\n \"grey80\": \"rgb(204, 204, 204)\",\n \"grey81\": \"rgb(207, 207, 207)\",\n \"grey82\": \"rgb(209, 209, 209)\",\n \"grey83\": \"rgb(212, 212, 212)\",\n \"grey84\": \"rgb(214, 214, 214)\",\n \"grey85\": \"rgb(217, 217, 217)\",\n \"grey86\": \"rgb(219, 219, 219)\",\n \"grey87\": \"rgb(222, 222, 222)\",\n \"grey88\": \"rgb(224, 224, 224)\",\n \"grey89\": \"rgb(227, 227, 227)\",\n \"grey9\": \"rgb(23, 23, 23)\",\n \"grey90\": \"rgb(229, 229, 229)\",\n \"grey91\": \"rgb(232, 232, 232)\",\n \"grey92\": \"rgb(235, 235, 235)\",\n \"grey93\": \"rgb(237, 237, 237)\",\n \"grey94\": \"rgb(240, 240, 240)\",\n \"grey95\": \"rgb(242, 242, 242)\",\n \"grey96\": \"rgb(245, 245, 245)\",\n \"grey97\": \"rgb(247, 247, 247)\",\n \"grey98\": \"rgb(250, 250, 250)\",\n \"grey99\": \"rgb(252, 252, 252)\",\n \"honeydew\": \"rgb(240, 255, 240)\",\n \"honeydew1\": \"rgb(240, 255, 240)\",\n \"honeydew2\": \"rgb(224, 238, 224)\",\n \"honeydew3\": \"rgb(193, 205, 193)\",\n \"honeydew4\": \"rgb(131, 139, 131)\",\n \"hotpink\": \"rgb(255, 105, 180)\",\n \"hotpink1\": \"rgb(255, 110, 180)\",\n \"hotpink2\": \"rgb(238, 106, 167)\",\n \"hotpink3\": \"rgb(205, 96, 144)\",\n \"hotpink4\": \"rgb(139, 58, 98)\",\n \"indianred\": \"rgb(205, 92, 92)\",\n \"indianred1\": \"rgb(255, 106, 106)\",\n \"indianred2\": \"rgb(238, 99, 99)\",\n \"indianred3\": \"rgb(205, 85, 85)\",\n \"indianred4\": \"rgb(139, 58, 58)\",\n \"ivory\": \"rgb(255, 255, 240)\",\n \"ivory1\": \"rgb(255, 255, 240)\",\n \"ivory2\": \"rgb(238, 238, 224)\",\n \"ivory3\": \"rgb(205, 205, 193)\",\n \"ivory4\": \"rgb(139, 139, 131)\",\n \"khaki\": \"rgb(240, 230, 140)\",\n \"khaki1\": \"rgb(255, 246, 143)\",\n \"khaki2\": \"rgb(238, 230, 133)\",\n \"khaki3\": \"rgb(205, 198, 115)\",\n \"khaki4\": \"rgb(139, 134, 78)\",\n \"lavender\": \"rgb(230, 230, 250)\",\n \"lavenderblush\": \"rgb(255, 240, 245)\",\n \"lavenderblush1\": \"rgb(255, 240, 245)\",\n \"lavenderblush2\": \"rgb(238, 224, 229)\",\n \"lavenderblush3\": \"rgb(205, 193, 197)\",\n \"lavenderblush4\": \"rgb(139, 131, 134)\",\n \"lawngreen\": \"rgb(124, 252, 0)\",\n \"lemonchiffon\": \"rgb(255, 250, 205)\",\n \"lemonchiffon1\": \"rgb(255, 250, 205)\",\n \"lemonchiffon2\": \"rgb(238, 233, 191)\",\n \"lemonchiffon3\": \"rgb(205, 201, 165)\",\n \"lemonchiffon4\": \"rgb(139, 137, 112)\",\n \"lightblue\": \"rgb(173, 216, 230)\",\n \"lightblue1\": \"rgb(191, 239, 255)\",\n \"lightblue2\": \"rgb(178, 223, 238)\",\n \"lightblue3\": \"rgb(154, 192, 205)\",\n \"lightblue4\": \"rgb(104, 131, 139)\",\n \"lightcoral\": \"rgb(240, 128, 128)\",\n \"lightcyan\": \"rgb(224, 255, 255)\",\n \"lightcyan1\": \"rgb(224, 255, 255)\",\n \"lightcyan2\": \"rgb(209, 238, 238)\",\n \"lightcyan3\": \"rgb(180, 205, 205)\",\n \"lightcyan4\": \"rgb(122, 139, 139)\",\n \"lightgoldenrod\": \"rgb(238, 221, 130)\",\n \"lightgoldenrod1\": \"rgb(255, 236, 139)\",\n \"lightgoldenrod2\": \"rgb(238, 220, 130)\",\n \"lightgoldenrod3\": \"rgb(205, 190, 112)\",\n \"lightgoldenrod4\": \"rgb(139, 129, 76)\",\n \"lightgoldenrodyellow\": \"rgb(250, 250, 210)\",\n \"lightgray\": \"rgb(211, 211, 211)\",\n \"lightgreen\": \"rgb(144, 238, 144)\",\n \"lightgrey\": \"rgb(211, 211, 211)\",\n \"lightpink\": \"rgb(255, 182, 193)\",\n \"lightpink1\": \"rgb(255, 174, 185)\",\n \"lightpink2\": \"rgb(238, 162, 173)\",\n \"lightpink3\": \"rgb(205, 140, 149)\",\n \"lightpink4\": \"rgb(139, 95, 101)\",\n \"lightsalmon\": \"rgb(255, 160, 122)\",\n \"lightsalmon1\": \"rgb(255, 160, 122)\",\n \"lightsalmon2\": \"rgb(238, 149, 114)\",\n \"lightsalmon3\": \"rgb(205, 129, 98)\",\n \"lightsalmon4\": \"rgb(139, 87, 66)\",\n \"lightseagreen\": \"rgb(32, 178, 170)\",\n \"lightskyblue\": \"rgb(135, 206, 250)\",\n \"lightskyblue1\": \"rgb(176, 226, 255)\",\n \"lightskyblue2\": \"rgb(164, 211, 238)\",\n \"lightskyblue3\": \"rgb(141, 182, 205)\",\n \"lightskyblue4\": \"rgb(96, 123, 139)\",\n \"lightslateblue\": \"rgb(132, 112, 255)\",\n \"lightslategray\": \"rgb(119, 136, 153)\",\n \"lightslategrey\": \"rgb(119, 136, 153)\",\n \"lightsteelblue\": \"rgb(176, 196, 222)\",\n \"lightsteelblue1\": \"rgb(202, 225, 255)\",\n \"lightsteelblue2\": \"rgb(188, 210, 238)\",\n \"lightsteelblue3\": \"rgb(162, 181, 205)\",\n \"lightsteelblue4\": \"rgb(110, 123, 139)\",\n \"lightyellow\": \"rgb(255, 255, 224)\",\n \"lightyellow1\": \"rgb(255, 255, 224)\",\n \"lightyellow2\": \"rgb(238, 238, 209)\",\n \"lightyellow3\": \"rgb(205, 205, 180)\",\n \"lightyellow4\": \"rgb(139, 139, 122)\",\n \"limegreen\": \"rgb(50, 205, 50)\",\n \"linen\": \"rgb(250, 240, 230)\",\n \"magenta\": \"rgb(255, 0, 255)\",\n \"magenta1\": \"rgb(255, 0, 255)\",\n \"magenta2\": \"rgb(238, 0, 238)\",\n \"magenta3\": \"rgb(205, 0, 205)\",\n \"magenta4\": \"rgb(139, 0, 139)\",\n \"maroon\": \"rgb(176, 48, 96)\",\n \"maroon1\": \"rgb(255, 52, 179)\",\n \"maroon2\": \"rgb(238, 48, 167)\",\n \"maroon3\": \"rgb(205, 41, 144)\",\n \"maroon4\": \"rgb(139, 28, 98)\",\n \"mediumaquamarine\": \"rgb(102, 205, 170)\",\n \"mediumblue\": \"rgb(0, 0, 205)\",\n \"mediumorchid\": \"rgb(186, 85, 211)\",\n \"mediumorchid1\": \"rgb(224, 102, 255)\",\n \"mediumorchid2\": \"rgb(209, 95, 238)\",\n \"mediumorchid3\": \"rgb(180, 82, 205)\",\n \"mediumorchid4\": \"rgb(122, 55, 139)\",\n \"mediumpurple\": \"rgb(147, 112, 219)\",\n \"mediumpurple1\": \"rgb(171, 130, 255)\",\n \"mediumpurple2\": \"rgb(159, 121, 238)\",\n \"mediumpurple3\": \"rgb(137, 104, 205)\",\n \"mediumpurple4\": \"rgb(93, 71, 139)\",\n \"mediumseagreen\": \"rgb(60, 179, 113)\",\n \"mediumslateblue\": \"rgb(123, 104, 238)\",\n \"mediumspringgreen\": \"rgb(0, 250, 154)\",\n \"mediumturquoise\": \"rgb(72, 209, 204)\",\n \"mediumvioletred\": \"rgb(199, 21, 133)\",\n \"midnightblue\": \"rgb(25, 25, 112)\",\n \"mintcream\": \"rgb(245, 255, 250)\",\n \"mistyrose\": \"rgb(255, 228, 225)\",\n \"mistyrose1\": \"rgb(255, 228, 225)\",\n \"mistyrose2\": \"rgb(238, 213, 210)\",\n \"mistyrose3\": \"rgb(205, 183, 181)\",\n \"mistyrose4\": \"rgb(139, 125, 123)\",\n \"moccasin\": \"rgb(255, 228, 181)\",\n \"navajowhite\": \"rgb(255, 222, 173)\",\n \"navajowhite1\": \"rgb(255, 222, 173)\",\n \"navajowhite2\": \"rgb(238, 207, 161)\",\n \"navajowhite3\": \"rgb(205, 179, 139)\",\n \"navajowhite4\": \"rgb(139, 121, 94)\",\n \"navy\": \"rgb(0, 0, 128)\",\n \"navyblue\": \"rgb(0, 0, 128)\",\n \"oldlace\": \"rgb(253, 245, 230)\",\n \"olivedrab\": \"rgb(107, 142, 35)\",\n \"olivedrab1\": \"rgb(192, 255, 62)\",\n \"olivedrab2\": \"rgb(179, 238, 58)\",\n \"olivedrab3\": \"rgb(154, 205, 50)\",\n \"olivedrab4\": \"rgb(105, 139, 34)\",\n \"orange\": \"rgb(255, 165, 0)\",\n \"orange1\": \"rgb(255, 165, 0)\",\n \"orange2\": \"rgb(238, 154, 0)\",\n \"orange3\": \"rgb(205, 133, 0)\",\n \"orange4\": \"rgb(139, 90, 0)\",\n \"orangered\": \"rgb(255, 69, 0)\",\n \"orangered1\": \"rgb(255, 69, 0)\",\n \"orangered2\": \"rgb(238, 64, 0)\",\n \"orangered3\": \"rgb(205, 55, 0)\",\n \"orangered4\": \"rgb(139, 37, 0)\",\n \"orchid\": \"rgb(218, 112, 214)\",\n \"orchid1\": \"rgb(255, 131, 250)\",\n \"orchid2\": \"rgb(238, 122, 233)\",\n \"orchid3\": \"rgb(205, 105, 201)\",\n \"orchid4\": \"rgb(139, 71, 137)\",\n \"palegoldenrod\": \"rgb(238, 232, 170)\",\n \"palegreen\": \"rgb(152, 251, 152)\",\n \"palegreen1\": \"rgb(154, 255, 154)\",\n \"palegreen2\": \"rgb(144, 238, 144)\",\n \"palegreen3\": \"rgb(124, 205, 124)\",\n \"palegreen4\": \"rgb(84, 139, 84)\",\n \"paleturquoise\": \"rgb(175, 238, 238)\",\n \"paleturquoise1\": \"rgb(187, 255, 255)\",\n \"paleturquoise2\": \"rgb(174, 238, 238)\",\n \"paleturquoise3\": \"rgb(150, 205, 205)\",\n \"paleturquoise4\": \"rgb(102, 139, 139)\",\n \"palevioletred\": \"rgb(219, 112, 147)\",\n \"palevioletred1\": \"rgb(255, 130, 171)\",\n \"palevioletred2\": \"rgb(238, 121, 159)\",\n \"palevioletred3\": \"rgb(205, 104, 137)\",\n \"palevioletred4\": \"rgb(139, 71, 93)\",\n \"papayawhip\": \"rgb(255, 239, 213)\",\n \"peachpuff\": \"rgb(255, 218, 185)\",\n \"peachpuff1\": \"rgb(255, 218, 185)\",\n \"peachpuff2\": \"rgb(238, 203, 173)\",\n \"peachpuff3\": \"rgb(205, 175, 149)\",\n \"peachpuff4\": \"rgb(139, 119, 101)\",\n \"peru\": \"rgb(205, 133, 63)\",\n \"pink\": \"rgb(255, 192, 203)\",\n \"pink1\": \"rgb(255, 181, 197)\",\n \"pink2\": \"rgb(238, 169, 184)\",\n \"pink3\": \"rgb(205, 145, 158)\",\n \"pink4\": \"rgb(139, 99, 108)\",\n \"plum\": \"rgb(221, 160, 221)\",\n \"plum1\": \"rgb(255, 187, 255)\",\n \"plum2\": \"rgb(238, 174, 238)\",\n \"plum3\": \"rgb(205, 150, 205)\",\n \"plum4\": \"rgb(139, 102, 139)\",\n \"powderblue\": \"rgb(176, 224, 230)\",\n \"purple\": \"rgb(160, 32, 240)\",\n \"purple1\": \"rgb(155, 48, 255)\",\n \"purple2\": \"rgb(145, 44, 238)\",\n \"purple3\": \"rgb(125, 38, 205)\",\n \"purple4\": \"rgb(85, 26, 139)\",\n \"red\": \"rgb(255, 0, 0)\",\n \"red1\": \"rgb(255, 0, 0)\",\n \"red2\": \"rgb(238, 0, 0)\",\n \"red3\": \"rgb(205, 0, 0)\",\n \"red4\": \"rgb(139, 0, 0)\",\n \"rosybrown\": \"rgb(188, 143, 143)\",\n \"rosybrown1\": \"rgb(255, 193, 193)\",\n \"rosybrown2\": \"rgb(238, 180, 180)\",\n \"rosybrown3\": \"rgb(205, 155, 155)\",\n \"rosybrown4\": \"rgb(139, 105, 105)\",\n \"royalblue\": \"rgb(65, 105, 225)\",\n \"royalblue1\": \"rgb(72, 118, 255)\",\n \"royalblue2\": \"rgb(67, 110, 238)\",\n \"royalblue3\": \"rgb(58, 95, 205)\",\n \"royalblue4\": \"rgb(39, 64, 139)\",\n \"saddlebrown\": \"rgb(139, 69, 19)\",\n \"salmon\": \"rgb(250, 128, 114)\",\n \"salmon1\": \"rgb(255, 140, 105)\",\n \"salmon2\": \"rgb(238, 130, 98)\",\n \"salmon3\": \"rgb(205, 112, 84)\",\n \"salmon4\": \"rgb(139, 76, 57)\",\n \"sandybrown\": \"rgb(244, 164, 96)\",\n \"seagreen\": \"rgb(46, 139, 87)\",\n \"seagreen1\": \"rgb(84, 255, 159)\",\n \"seagreen2\": \"rgb(78, 238, 148)\",\n \"seagreen3\": \"rgb(67, 205, 128)\",\n \"seagreen4\": \"rgb(46, 139, 87)\",\n \"seashell\": \"rgb(255, 245, 238)\",\n \"seashell1\": \"rgb(255, 245, 238)\",\n \"seashell2\": \"rgb(238, 229, 222)\",\n \"seashell3\": \"rgb(205, 197, 191)\",\n \"seashell4\": \"rgb(139, 134, 130)\",\n \"sienna\": \"rgb(160, 82, 45)\",\n \"sienna1\": \"rgb(255, 130, 71)\",\n \"sienna2\": \"rgb(238, 121, 66)\",\n \"sienna3\": \"rgb(205, 104, 57)\",\n \"sienna4\": \"rgb(139, 71, 38)\",\n \"skyblue\": \"rgb(135, 206, 235)\",\n \"skyblue1\": \"rgb(135, 206, 255)\",\n \"skyblue2\": \"rgb(126, 192, 238)\",\n \"skyblue3\": \"rgb(108, 166, 205)\",\n \"skyblue4\": \"rgb(74, 112, 139)\",\n \"slateblue\": \"rgb(106, 90, 205)\",\n \"slateblue1\": \"rgb(131, 111, 255)\",\n \"slateblue2\": \"rgb(122, 103, 238)\",\n \"slateblue3\": \"rgb(105, 89, 205)\",\n \"slateblue4\": \"rgb(71, 60, 139)\",\n \"slategray\": \"rgb(112, 128, 144)\",\n \"slategray1\": \"rgb(198, 226, 255)\",\n \"slategray2\": \"rgb(185, 211, 238)\",\n \"slategray3\": \"rgb(159, 182, 205)\",\n \"slategray4\": \"rgb(108, 123, 139)\",\n \"slategrey\": \"rgb(112, 128, 144)\",\n \"snow\": \"rgb(255, 250, 250)\",\n \"snow1\": \"rgb(255, 250, 250)\",\n \"snow2\": \"rgb(238, 233, 233)\",\n \"snow3\": \"rgb(205, 201, 201)\",\n \"snow4\": \"rgb(139, 137, 137)\",\n \"springgreen\": \"rgb(0, 255, 127)\",\n \"springgreen1\": \"rgb(0, 255, 127)\",\n \"springgreen2\": \"rgb(0, 238, 118)\",\n \"springgreen3\": \"rgb(0, 205, 102)\",\n \"springgreen4\": \"rgb(0, 139, 69)\",\n \"steelblue\": \"rgb(70, 130, 180)\",\n \"steelblue1\": \"rgb(99, 184, 255)\",\n \"steelblue2\": \"rgb(92, 172, 238)\",\n \"steelblue3\": \"rgb(79, 148, 205)\",\n \"steelblue4\": \"rgb(54, 100, 139)\",\n \"tan\": \"rgb(210, 180, 140)\",\n \"tan1\": \"rgb(255, 165, 79)\",\n \"tan2\": \"rgb(238, 154, 73)\",\n \"tan3\": \"rgb(205, 133, 63)\",\n \"tan4\": \"rgb(139, 90, 43)\",\n \"thistle\": \"rgb(216, 191, 216)\",\n \"thistle1\": \"rgb(255, 225, 255)\",\n \"thistle2\": \"rgb(238, 210, 238)\",\n \"thistle3\": \"rgb(205, 181, 205)\",\n \"thistle4\": \"rgb(139, 123, 139)\",\n \"tomato\": \"rgb(255, 99, 71)\",\n \"tomato1\": \"rgb(255, 99, 71)\",\n \"tomato2\": \"rgb(238, 92, 66)\",\n \"tomato3\": \"rgb(205, 79, 57)\",\n \"tomato4\": \"rgb(139, 54, 38)\",\n \"turquoise\": \"rgb(64, 224, 208)\",\n \"turquoise1\": \"rgb(0, 245, 255)\",\n \"turquoise2\": \"rgb(0, 229, 238)\",\n \"turquoise3\": \"rgb(0, 197, 205)\",\n \"turquoise4\": \"rgb(0, 134, 139)\",\n \"violet\": \"rgb(238, 130, 238)\",\n \"violetred\": \"rgb(208, 32, 144)\",\n \"violetred1\": \"rgb(255, 62, 150)\",\n \"violetred2\": \"rgb(238, 58, 140)\",\n \"violetred3\": \"rgb(205, 50, 120)\",\n \"violetred4\": \"rgb(139, 34, 82)\",\n \"wheat\": \"rgb(245, 222, 179)\",\n \"wheat1\": \"rgb(255, 231, 186)\",\n \"wheat2\": \"rgb(238, 216, 174)\",\n \"wheat3\": \"rgb(205, 186, 150)\",\n \"wheat4\": \"rgb(139, 126, 102)\",\n \"white\": \"rgb(255, 255, 255)\",\n \"whitesmoke\": \"rgb(245, 245, 245)\",\n \"yellow\": \"rgb(255, 255, 0)\",\n \"yellow1\": \"rgb(255, 255, 0)\",\n \"yellow2\": \"rgb(238, 238, 0)\",\n \"yellow3\": \"rgb(205, 205, 0)\",\n \"yellow4\": \"rgb(139, 139, 0)\",\n \"yellowgreen\": \"rgb(154, 205, 50)\"\n};\n// SOURCE FILE: libdot/js/lib_f.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Grab bag of utility functions.\n */\nlib.f = {};\n\n/**\n * Create a unique enum value.\n *\n * @suppress {lintChecks}\n * @param {string} name A human friendly name for debugging.\n * @return {Object} A unique enum that won't compare equal to anything else.\n */\nlib.f.createEnum = function(name) {\n // We use a String object as nothing else should be using them -- we want to\n // use string primitives normally. But debuggers will include our name.\n return new String(name);\n};\n\n/**\n * Replace variable references in a string.\n *\n * Variables are of the form %FUNCTION(VARNAME). FUNCTION is an optional\n * escape function to apply to the value.\n *\n * For example\n * lib.f.replaceVars(\"%(greeting), %encodeURIComponent(name)\",\n * { greeting: \"Hello\",\n * name: \"Google+\" });\n *\n * Will result in \"Hello, Google%2B\".\n */\nlib.f.replaceVars = function(str, vars) {\n return str.replace(/%([a-z]*)\\(([^\\)]+)\\)/gi, function(match, fn, varname) {\n if (typeof vars[varname] == 'undefined')\n throw 'Unknown variable: ' + varname;\n\n var rv = vars[varname];\n\n if (fn in lib.f.replaceVars.functions) {\n rv = lib.f.replaceVars.functions[fn](rv);\n } else if (fn) {\n throw 'Unknown escape function: ' + fn;\n }\n\n return rv;\n });\n};\n\n/**\n * Functions that can be used with replaceVars.\n *\n * Clients can add to this list to extend lib.f.replaceVars().\n */\nlib.f.replaceVars.functions = {\n encodeURI: encodeURI,\n encodeURIComponent: encodeURIComponent,\n escapeHTML: function(str) {\n var map = {\n '<': '<',\n '>': '>',\n '&': '&',\n '\"': '"',\n \"'\": '''\n };\n\n return str.replace(/[<>&\\\"\\']/g, function(m) { return map[m] });\n }\n};\n\n/**\n * Get the list of accepted UI languages.\n *\n * @param {function(Array)} callback Function to invoke with the results. The\n * parameter is a list of locale names.\n */\nlib.f.getAcceptLanguages = function(callback) {\n if (lib.f.getAcceptLanguages.chromeSupported()) {\n chrome.i18n.getAcceptLanguages(callback);\n } else {\n setTimeout(function() {\n callback([navigator.language.replace(/-/g, '_')]);\n }, 0);\n }\n};\n\nlib.f.getAcceptLanguages.chromeSupported = function() {\n return window.chrome && chrome.i18n;\n};\n\n/**\n * Parse a query string into a hash.\n *\n * This takes a url query string in the form 'name1=value&name2=value' and\n * converts it into an object of the form { name1: 'value', name2: 'value' }.\n * If a given name appears multiple times in the query string, only the\n * last value will appear in the result.\n *\n * Names and values are passed through decodeURIComponent before being added\n * to the result object.\n *\n * @param {string} queryString The string to parse. If it starts with a\n * leading '?', the '?' will be ignored.\n */\nlib.f.parseQuery = function(queryString) {\n if (queryString.startsWith('?'))\n queryString = queryString.substr(1);\n\n var rv = {};\n\n var pairs = queryString.split('&');\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i].split('=');\n rv[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n\n return rv;\n};\n\nlib.f.getURL = function(path) {\n if (lib.f.getURL.chromeSupported())\n return chrome.runtime.getURL(path);\n\n return path;\n};\n\nlib.f.getURL.chromeSupported = function() {\n return window.chrome && chrome.runtime && chrome.runtime.getURL;\n};\n\n/**\n * Clamp a given integer to a specified range.\n *\n * @param {integer} v The value to be clamped.\n * @param {integer} min The minimum acceptable value.\n * @param {integer} max The maximum acceptable value.\n */\nlib.f.clamp = function(v, min, max) {\n if (v < min)\n return min;\n if (v > max)\n return max;\n return v;\n};\n\n/**\n * Left pad a number to a given length with leading zeros.\n *\n * @param {string|integer} number The number to pad.\n * @param {integer} length The desired length.\n * @return {string} The padded number as a string.\n */\nlib.f.zpad = function(number, length) {\n return String(number).padStart(length, '0');\n};\n\n/**\n * Return a string containing a given number of space characters.\n *\n * This method maintains a static cache of the largest amount of whitespace\n * ever requested. It shouldn't be used to generate an insanely huge amount of\n * whitespace.\n *\n * @param {integer} length The desired amount of whitespace.\n * @param {string} A string of spaces of the requested length.\n */\nlib.f.getWhitespace = function(length) {\n if (length <= 0)\n return '';\n\n var f = this.getWhitespace;\n if (!f.whitespace)\n f.whitespace = ' ';\n\n while (length > f.whitespace.length) {\n f.whitespace += f.whitespace;\n }\n\n return f.whitespace.substr(0, length);\n};\n\n /**\n * Ensure that a function is called within a certain time limit.\n *\n * Simple usage looks like this...\n *\n * lib.registerInit(lib.f.alarm(onInit));\n *\n * This will log a warning to the console if onInit() is not invoked within\n * 5 seconds.\n *\n * If you're performing some operation that may take longer than 5 seconds you\n * can pass a duration in milliseconds as the optional second parameter.\n *\n * If you pass a string identifier instead of a callback function, you'll get a\n * wrapper generator rather than a single wrapper. Each call to the\n * generator will return a wrapped version of the callback wired to\n * a shared timeout. This is for cases where you want to ensure that at least\n * one of a set of callbacks is invoked before a timeout expires.\n *\n * var alarm = lib.f.alarm('fetch object');\n * lib.foo.fetchObject(alarm(onSuccess), alarm(onFailure));\n *\n * @param {function(*)} callback The function to wrap in an alarm.\n * @param {int} opt_ms Optional number of milliseconds to wait before raising\n * an alarm. Default is 5000 (5 seconds).\n * @return {function} If callback is a function then the return value will be\n * the wrapped callback. If callback is a string then the return value will\n * be a function that generates new wrapped callbacks.\n */\nlib.f.alarm = function(callback, opt_ms) {\n var ms = opt_ms || 5 * 1000;\n var stack = lib.f.getStack(1);\n\n return (function() {\n // This outer function is called immediately. It's here to capture a new\n // scope for the timeout variable.\n\n // The 'timeout' variable is shared by this timeout function, and the\n // callback wrapper.\n var timeout = setTimeout(function() {\n var name = (typeof callback == 'string') ? name : callback.name;\n name = name ? (': ' + name) : '';\n console.warn('lib.f.alarm: timeout expired: ' + (ms / 1000) + 's' + name);\n console.log(stack);\n timeout = null;\n }, ms);\n\n var wrapperGenerator = function(callback) {\n return function() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n\n return callback.apply(null, arguments);\n }\n };\n\n if (typeof callback == 'string')\n return wrapperGenerator;\n\n return wrapperGenerator(callback);\n })();\n};\n\n/**\n * Return the current call stack after skipping a given number of frames.\n *\n * This method is intended to be used for debugging only. It returns an\n * Object instead of an Array, because the console stringifies arrays by\n * default and that's not what we want.\n *\n * A typical call might look like...\n *\n * console.log('Something wicked this way came', lib.f.getStack());\n * // Notice the comma ^\n *\n * This would print the message to the js console, followed by an object\n * which can be clicked to reveal the stack.\n *\n * @param {number} opt_ignoreFrames The optional number of stack frames to\n * ignore. The actual 'getStack' call is always ignored.\n */\nlib.f.getStack = function(opt_ignoreFrames) {\n var ignoreFrames = opt_ignoreFrames ? opt_ignoreFrames + 2 : 2;\n\n var stackArray;\n\n try {\n throw new Error();\n } catch (ex) {\n stackArray = ex.stack.split('\\n');\n }\n\n var stackObject = {};\n for (var i = ignoreFrames; i < stackArray.length; i++) {\n stackObject[i - ignoreFrames] = stackArray[i].replace(/^\\s*at\\s+/, '');\n }\n\n return stackObject;\n};\n\n/**\n * Divides the two numbers and floors the results, unless the remainder is less\n * than an incredibly small value, in which case it returns the ceiling.\n * This is useful when the number are truncated approximations of longer\n * values, and so doing division with these numbers yields a result incredibly\n * close to a whole number.\n *\n * @param {number} numerator\n * @param {number} denominator\n * @return {number}\n */\nlib.f.smartFloorDivide = function(numerator, denominator) {\n var val = numerator / denominator;\n var ceiling = Math.ceil(val);\n if (ceiling - val < .0001) {\n return ceiling;\n } else {\n return Math.floor(val);\n }\n};\n\n/**\n * Get a random integer in a range (inclusive).\n *\n * @param {number} min The lowest integer in the range.\n * @param {number} max The highest integer in the range.\n * @return {number} A random number between min & max.\n */\nlib.f.randomInt = function(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\n// SOURCE FILE: libdot/js/lib_message_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * MessageManager class handles internationalized strings.\n *\n * Note: chrome.i18n isn't sufficient because...\n * 1. There's a bug in chrome that makes it unavailable in iframes:\n * https://crbug.com/130200\n * 2. The client code may not be packaged in a Chrome extension.\n * 3. The client code may be part of a library packaged in a third-party\n * Chrome extension.\n *\n * @param {Array} languages List of languages to load, in the order they\n * should be loaded. Newer messages replace older ones. 'en' is\n * automatically added as the first language if it is not already present.\n */\nlib.MessageManager = function(languages) {\n this.languages_ = languages.map(\n function(el) { return el.replace(/-/g, '_') });\n\n if (this.languages_.indexOf('en') == -1)\n this.languages_.unshift('en');\n\n this.messages = {};\n};\n\n/**\n * Add message definitions to the message manager.\n *\n * This takes an object of the same format of a Chrome messages.json file. See\n * .\n */\nlib.MessageManager.prototype.addMessages = function(defs) {\n for (var key in defs) {\n var def = defs[key];\n\n if (!def.placeholders) {\n this.messages[key] = def.message;\n } else {\n // Replace \"$NAME$\" placeholders with \"$1\", etc.\n this.messages[key] = def.message.replace(\n /\\$([a-z][^\\s\\$]+)\\$/ig,\n function(m, name) {\n return defs[key].placeholders[name.toLowerCase()].content;\n });\n }\n }\n};\n\n/**\n * Load the first available language message bundle.\n *\n * @param {string} pattern A url pattern containing a \"$1\" where the locale\n * name should go.\n * @param {function(Array,Array)} onComplete Function to be called when loading\n * is complete. The two arrays are the list of successful and failed\n * locale names. If the first parameter is length 0, no locales were\n * loaded.\n */\nlib.MessageManager.prototype.findAndLoadMessages = function(\n pattern, onComplete) {\n var languages = this.languages_.concat();\n var loaded = [];\n var failed = [];\n\n function onLanguageComplete(state) {\n if (state) {\n loaded = languages.shift();\n } else {\n failed = languages.shift();\n }\n\n if (languages.length) {\n tryNextLanguage();\n } else {\n onComplete(loaded, failed);\n }\n }\n\n var tryNextLanguage = function() {\n this.loadMessages(this.replaceReferences(pattern, languages),\n onLanguageComplete.bind(this, true),\n onLanguageComplete.bind(this, false));\n }.bind(this);\n\n tryNextLanguage();\n};\n\n/**\n * Load messages from a messages.json file.\n */\nlib.MessageManager.prototype.loadMessages = function(\n url, onSuccess, opt_onError) {\n var xhr = new XMLHttpRequest();\n\n xhr.onloadend = function() {\n if (xhr.status != 200) {\n if (opt_onError)\n opt_onError(xhr.status);\n\n return;\n }\n\n this.addMessages(JSON.parse(xhr.responseText));\n onSuccess();\n }.bind(this);\n\n xhr.open('GET', url);\n xhr.send();\n};\n\n/**\n * Replace $1...$n references with the elements of the args array.\n *\n * @param {string} msg String containing the message and argument references.\n * @param {Array} args Array containing the argument values.\n */\nlib.MessageManager.replaceReferences = function(msg, args) {\n return msg.replace(/\\$(\\d+)/g, function (m, index) {\n return args[index - 1];\n });\n};\n\n/**\n * Per-instance copy of replaceReferences.\n */\nlib.MessageManager.prototype.replaceReferences =\n lib.MessageManager.replaceReferences;\n\n/**\n * Get a message by name, optionally replacing arguments too.\n *\n * @param {string} msgname String containing the name of the message to get.\n * @param {Array} opt_args Optional array containing the argument values.\n * @param {string} opt_default Optional value to return if the msgname is not\n * found. Returns the message name by default.\n */\nlib.MessageManager.prototype.get = function(msgname, opt_args, opt_default) {\n var message;\n\n if (msgname in this.messages) {\n message = this.messages[msgname];\n\n } else {\n if (window.chrome.i18n)\n message = chrome.i18n.getMessage(msgname);\n\n if (!message) {\n console.warn('Unknown message: ' + msgname);\n return (typeof opt_default == 'undefined') ? msgname : opt_default;\n }\n }\n\n if (!opt_args)\n return message;\n\n if (!(opt_args instanceof Array))\n opt_args = [opt_args];\n\n return this.replaceReferences(message, opt_args);\n};\n\n/**\n * Process all of the \"i18n\" html attributes found in a given dom fragment.\n *\n * The real work happens in processI18nAttribute.\n */\nlib.MessageManager.prototype.processI18nAttributes = function(dom) {\n var nodes = dom.querySelectorAll('[i18n]');\n\n for (var i = 0; i < nodes.length; i++)\n this.processI18nAttribute(nodes[i]);\n};\n\n/**\n * Process the \"i18n\" attribute in the specified node.\n *\n * The i18n attribute should contain a JSON object. The keys are taken to\n * be attribute names, and the values are message names.\n *\n * If the JSON object has a \"_\" (underscore) key, its value is used as the\n * textContent of the element.\n *\n * Message names can refer to other attributes on the same element with by\n * prefixing with a dollar sign. For example...\n *\n * \n *\n * The aria-label message name will be computed as \"SEND_BUTTON_ARIA_LABEL\".\n * Notice that the \"id\" attribute was appended to the target attribute, and\n * the result converted to UPPER_AND_UNDER style.\n */\nlib.MessageManager.prototype.processI18nAttribute = function(node) {\n // Convert the \"lower-and-dashes\" attribute names into\n // \"UPPER_AND_UNDER\" style.\n function thunk(str) { return str.replace(/-/g, '_').toUpperCase() }\n\n var i18n = node.getAttribute('i18n');\n if (!i18n)\n return;\n\n try {\n i18n = JSON.parse(i18n);\n } catch (ex) {\n console.error('Can\\'t parse ' + node.tagName + '#' + node.id + ': ' + i18n);\n throw ex;\n }\n\n // Load all the messages specified in the i18n attributes.\n for (var key in i18n) {\n // The node attribute we'll be setting.\n var attr = key;\n\n var msgname = i18n[key];\n // For \"=foo\", re-use the referenced message name.\n if (msgname.startsWith('=')) {\n key = msgname.substr(1);\n msgname = i18n[key];\n }\n\n // For \"$foo\", calculate the message name.\n if (msgname.startsWith('$'))\n msgname = thunk(node.getAttribute(msgname.substr(1)) + '_' + key);\n\n // Finally load the message.\n var msg = this.get(msgname);\n if (attr == '_')\n node.textContent = msg;\n else\n node.setAttribute(attr, msg);\n }\n};\n// SOURCE FILE: libdot/js/lib_preference_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Constructor for lib.PreferenceManager objects.\n *\n * These objects deal with persisting changes to stable storage and notifying\n * consumers when preferences change.\n *\n * It is intended that the backing store could be something other than HTML5\n * storage, but there aren't any use cases at the moment. In the future there\n * may be a chrome api to store sync-able name/value pairs, and we'd want\n * that.\n *\n * @param {lib.Storage.*} storage The storage object to use as a backing\n * store.\n * @param {string} opt_prefix The optional prefix to be used for all preference\n * names. The '/' character should be used to separate levels of hierarchy,\n * if you're going to have that kind of thing. If provided, the prefix\n * should start with a '/'. If not provided, it defaults to '/'.\n */\nlib.PreferenceManager = function(storage, opt_prefix) {\n this.storage = storage;\n this.storageObserver_ = this.onStorageChange_.bind(this);\n\n this.isActive_ = false;\n this.activate();\n\n this.trace = false;\n\n var prefix = opt_prefix || '/';\n if (!prefix.endsWith('/'))\n prefix += '/';\n\n this.prefix = prefix;\n\n this.prefRecords_ = {};\n this.globalObservers_ = [];\n\n this.childFactories_ = {};\n\n // Map of list-name to {map of child pref managers}\n // As in...\n //\n // this.childLists_ = {\n // 'profile-ids': {\n // 'one': PreferenceManager,\n // 'two': PreferenceManager,\n // ...\n // },\n //\n // 'frob-ids': {\n // ...\n // }\n // }\n this.childLists_ = {};\n};\n\n/**\n * Used internally to indicate that the current value of the preference should\n * be taken from the default value defined with the preference.\n *\n * Equality tests against this value MUST use '===' or '!==' to be accurate.\n */\nlib.PreferenceManager.prototype.DEFAULT_VALUE = lib.f.createEnum('DEFAULT');\n\n/**\n * An individual preference.\n *\n * These objects are managed by the PreferenceManager, you shouldn't need to\n * handle them directly.\n */\nlib.PreferenceManager.Record = function(name, defaultValue) {\n this.name = name;\n this.defaultValue = defaultValue;\n this.currentValue = this.DEFAULT_VALUE;\n this.observers = [];\n};\n\n/**\n * A local copy of the DEFAULT_VALUE constant to make it less verbose.\n */\nlib.PreferenceManager.Record.prototype.DEFAULT_VALUE =\n lib.PreferenceManager.prototype.DEFAULT_VALUE;\n\n/**\n * Register a callback to be invoked when this preference changes.\n *\n * @param {function(value, string, lib.PreferenceManager} observer The function\n * to invoke. It will receive the new value, the name of the preference,\n * and a reference to the PreferenceManager as parameters.\n */\nlib.PreferenceManager.Record.prototype.addObserver = function(observer) {\n this.observers.push(observer);\n};\n\n/**\n * Unregister an observer callback.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.PreferenceManager.Record.prototype.removeObserver = function(observer) {\n var i = this.observers.indexOf(observer);\n if (i >= 0)\n this.observers.splice(i, 1);\n};\n\n/**\n * Fetch the value of this preference.\n */\nlib.PreferenceManager.Record.prototype.get = function() {\n if (this.currentValue === this.DEFAULT_VALUE) {\n if (/^(string|number)$/.test(typeof this.defaultValue))\n return this.defaultValue;\n\n if (typeof this.defaultValue == 'object') {\n // We want to return a COPY of the default value so that users can\n // modify the array or object without changing the default value.\n return JSON.parse(JSON.stringify(this.defaultValue));\n }\n\n return this.defaultValue;\n }\n\n return this.currentValue;\n};\n\n/**\n * Stop this preference manager from tracking storage changes.\n *\n * Call this if you're going to swap out one preference manager for another so\n * that you don't get notified about irrelevant changes.\n */\nlib.PreferenceManager.prototype.deactivate = function() {\n if (!this.isActive_)\n throw new Error('Not activated');\n\n this.isActive_ = false;\n this.storage.removeObserver(this.storageObserver_);\n};\n\n/**\n * Start tracking storage changes.\n *\n * If you previously deactivated this preference manager, you can reactivate it\n * with this method. You don't need to call this at initialization time, as\n * it's automatically called as part of the constructor.\n */\nlib.PreferenceManager.prototype.activate = function() {\n if (this.isActive_)\n throw new Error('Already activated');\n\n this.isActive_ = true;\n this.storage.addObserver(this.storageObserver_);\n};\n\n/**\n * Read the backing storage for these preferences.\n *\n * You should do this once at initialization time to prime the local cache\n * of preference values. The preference manager will monitor the backing\n * storage for changes, so you should not need to call this more than once.\n *\n * This function recursively reads storage for all child preference managers as\n * well.\n *\n * This function is asynchronous, if you need to read preference values, you\n * *must* wait for the callback.\n *\n * @param {function()} opt_callback Optional function to invoke when the read\n * has completed.\n */\nlib.PreferenceManager.prototype.readStorage = function(opt_callback) {\n var pendingChildren = 0;\n\n function onChildComplete() {\n if (--pendingChildren == 0 && opt_callback)\n opt_callback();\n }\n\n var keys = Object.keys(this.prefRecords_).map(\n function(el) { return this.prefix + el }.bind(this));\n\n if (this.trace)\n console.log('Preferences read: ' + this.prefix);\n\n this.storage.getItems(keys, function(items) {\n var prefixLength = this.prefix.length;\n\n for (var key in items) {\n var value = items[key];\n var name = key.substr(prefixLength);\n var needSync = (name in this.childLists_ &&\n (JSON.stringify(value) !=\n JSON.stringify(this.prefRecords_[name].currentValue)));\n\n this.prefRecords_[name].currentValue = value;\n\n if (needSync) {\n pendingChildren++;\n this.syncChildList(name, onChildComplete);\n }\n }\n\n if (pendingChildren == 0 && opt_callback)\n setTimeout(opt_callback);\n }.bind(this));\n};\n\n/**\n * Define a preference.\n *\n * This registers a name, default value, and onChange handler for a preference.\n *\n * @param {string} name The name of the preference. This will be prefixed by\n * the prefix of this PreferenceManager before written to local storage.\n * @param {string|number|boolean|Object|Array|null} value The default value of\n * this preference. Anything that can be represented in JSON is a valid\n * default value.\n * @param {function(value, string, lib.PreferenceManager} opt_observer A\n * function to invoke when the preference changes. It will receive the new\n * value, the name of the preference, and a reference to the\n * PreferenceManager as parameters.\n */\nlib.PreferenceManager.prototype.definePreference = function(\n name, value, opt_onChange) {\n\n var record = this.prefRecords_[name];\n if (record) {\n this.changeDefault(name, value);\n } else {\n record = this.prefRecords_[name] =\n new lib.PreferenceManager.Record(name, value);\n }\n\n if (opt_onChange)\n record.addObserver(opt_onChange);\n};\n\n/**\n * Define multiple preferences with a single function call.\n *\n * @param {Array} defaults An array of 3-element arrays. Each three element\n * array should contain the [key, value, onChange] parameters for a\n * preference.\n */\nlib.PreferenceManager.prototype.definePreferences = function(defaults) {\n for (var i = 0; i < defaults.length; i++) {\n this.definePreference(defaults[i][0], defaults[i][1], defaults[i][2]);\n }\n};\n\n/**\n * Define an ordered list of child preferences.\n *\n * Child preferences are different from just storing an array of JSON objects\n * in that each child is an instance of a preference manager. This means you\n * can observe changes to individual child preferences, and get some validation\n * that you're not reading or writing to an undefined child preference value.\n *\n * @param {string} listName A name for the list of children. This must be\n * unique in this preference manager. The listName will become a\n * preference on this PreferenceManager used to store the ordered list of\n * child ids. It is also used in get/add/remove operations to identify the\n * list of children to operate on.\n * @param {function} childFactory A function that will be used to generate\n * instances of these children. The factory function will receive the\n * parent lib.PreferenceManager object and a unique id for the new child\n * preferences.\n */\nlib.PreferenceManager.prototype.defineChildren = function(\n listName, childFactory) {\n\n // Define a preference to hold the ordered list of child ids.\n this.definePreference(listName, [],\n this.onChildListChange_.bind(this, listName));\n this.childFactories_[listName] = childFactory;\n this.childLists_[listName] = {};\n};\n\n/**\n * Register to observe preference changes.\n *\n * @param {Function} global A callback that will happen for every preference.\n * Pass null if you don't need one.\n * @param {Object} map A map of preference specific callbacks. Pass null if\n * you don't need any.\n */\nlib.PreferenceManager.prototype.addObservers = function(global, map) {\n if (global && typeof global != 'function')\n throw new Error('Invalid param: globals');\n\n if (global)\n this.globalObservers_.push(global);\n\n if (!map)\n return;\n\n for (var name in map) {\n if (!(name in this.prefRecords_))\n throw new Error('Unknown preference: ' + name);\n\n this.prefRecords_[name].addObserver(map[name]);\n }\n};\n\n/**\n * Dispatch the change observers for all known preferences.\n *\n * It may be useful to call this after readStorage completes, in order to\n * get application state in sync with user preferences.\n *\n * This can be used if you've changed a preference manager out from under\n * a live object, for example when switching to a different prefix.\n */\nlib.PreferenceManager.prototype.notifyAll = function() {\n for (var name in this.prefRecords_) {\n this.notifyChange_(name);\n }\n};\n\n/**\n * Notify the change observers for a given preference.\n *\n * @param {string} name The name of the preference that changed.\n */\nlib.PreferenceManager.prototype.notifyChange_ = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n var currentValue = record.get();\n\n for (var i = 0; i < this.globalObservers_.length; i++)\n this.globalObservers_[i](name, currentValue);\n\n for (var i = 0; i < record.observers.length; i++) {\n record.observers[i](currentValue, name, this);\n }\n};\n\n/**\n * Create a new child PreferenceManager for the given child list.\n *\n * The optional hint parameter is an opaque prefix added to the auto-generated\n * unique id for this child. Your child factory can parse out the prefix\n * and use it.\n *\n * @param {string} listName The child list to create the new instance from.\n * @param {string} opt_hint Optional hint to include in the child id.\n * @param {string} opt_id Optional id to override the generated id.\n */\nlib.PreferenceManager.prototype.createChild = function(listName, opt_hint,\n opt_id) {\n var ids = this.get(listName);\n var id;\n\n if (opt_id) {\n id = opt_id;\n if (ids.indexOf(id) != -1)\n throw new Error('Duplicate child: ' + listName + ': ' + id);\n\n } else {\n // Pick a random, unique 4-digit hex identifier for the new profile.\n while (!id || ids.indexOf(id) != -1) {\n id = lib.f.randomInt(1, 0xffff).toString(16);\n id = lib.f.zpad(id, 4);\n if (opt_hint)\n id = opt_hint + ':' + id;\n }\n }\n\n var childManager = this.childFactories_[listName](this, id);\n childManager.trace = this.trace;\n childManager.resetAll();\n\n this.childLists_[listName][id] = childManager;\n\n ids.push(id);\n this.set(listName, ids);\n\n return childManager;\n};\n\n/**\n * Remove a child preferences instance.\n *\n * Removes a child preference manager and clears any preferences stored in it.\n *\n * @param {string} listName The name of the child list containing the child to\n * remove.\n * @param {string} id The child ID.\n */\nlib.PreferenceManager.prototype.removeChild = function(listName, id) {\n var prefs = this.getChild(listName, id);\n prefs.resetAll();\n\n var ids = this.get(listName);\n var i = ids.indexOf(id);\n if (i != -1) {\n ids.splice(i, 1);\n this.set(listName, ids);\n }\n\n delete this.childLists_[listName][id];\n};\n\n/**\n * Return a child PreferenceManager instance for a given id.\n *\n * If the child list or child id is not known this will return the specified\n * default value or throw an exception if no default value is provided.\n *\n * @param {string} listName The child list to look in.\n * @param {string} id The child ID.\n * @param {*} opt_default The optional default value to return if the child\n * is not found.\n */\nlib.PreferenceManager.prototype.getChild = function(listName, id, opt_default) {\n if (!(listName in this.childLists_))\n throw new Error('Unknown child list: ' + listName);\n\n var childList = this.childLists_[listName];\n if (!(id in childList)) {\n if (typeof opt_default == 'undefined')\n throw new Error('Unknown \"' + listName + '\" child: ' + id);\n\n return opt_default;\n }\n\n return childList[id];\n};\n\n/**\n * Calculate the difference between two lists of child ids.\n *\n * Given two arrays of child ids, this function will return an object\n * with \"added\", \"removed\", and \"common\" properties. Each property is\n * a map of child-id to `true`. For example, given...\n *\n * a = ['child-x', 'child-y']\n * b = ['child-y']\n *\n * diffChildLists(a, b) =>\n * { added: { 'child-x': true }, removed: {}, common: { 'child-y': true } }\n *\n * The added/removed properties assume that `a` is the current list.\n *\n * @param {Array[string]} a The most recent list of child ids.\n * @param {Array[string]} b An older list of child ids.\n * @return {Object} An object with added/removed/common properties.\n */\nlib.PreferenceManager.diffChildLists = function(a, b) {\n var rv = {\n added: {},\n removed: {},\n common: {},\n };\n\n for (var i = 0; i < a.length; i++) {\n if (b.indexOf(a[i]) != -1) {\n rv.common[a[i]] = true;\n } else {\n rv.added[a[i]] = true;\n }\n }\n\n for (var i = 0; i < b.length; i++) {\n if ((b[i] in rv.added) || (b[i] in rv.common))\n continue;\n\n rv.removed[b[i]] = true;\n }\n\n return rv;\n};\n\n/**\n * Synchronize a list of child PreferenceManagers instances with the current\n * list stored in prefs.\n *\n * This will instantiate any missing managers and read current preference values\n * from storage. Any active managers that no longer appear in preferences will\n * be deleted.\n *\n * @param {string} listName The child list to synchronize.\n * @param {function()} opt_callback Optional function to invoke when the sync\n * is complete.\n */\nlib.PreferenceManager.prototype.syncChildList = function(\n listName, opt_callback) {\n\n var pendingChildren = 0;\n function onChildStorage() {\n if (--pendingChildren == 0 && opt_callback)\n opt_callback();\n }\n\n // The list of child ids that we *should* have a manager for.\n var currentIds = this.get(listName);\n\n // The known managers at the start of the sync. Any manager still in this\n // list at the end should be discarded.\n var oldIds = Object.keys(this.childLists_[listName]);\n\n var rv = lib.PreferenceManager.diffChildLists(currentIds, oldIds);\n\n for (var i = 0; i < currentIds.length; i++) {\n var id = currentIds[i];\n\n var managerIndex = oldIds.indexOf(id);\n if (managerIndex >= 0)\n oldIds.splice(managerIndex, 1);\n\n if (!this.childLists_[listName][id]) {\n var childManager = this.childFactories_[listName](this, id);\n if (!childManager) {\n console.warn('Unable to restore child: ' + listName + ': ' + id);\n continue;\n }\n\n childManager.trace = this.trace;\n this.childLists_[listName][id] = childManager;\n pendingChildren++;\n childManager.readStorage(onChildStorage);\n }\n }\n\n for (var i = 0; i < oldIds.length; i++) {\n delete this.childLists_[listName][oldIds[i]];\n }\n\n if (!pendingChildren && opt_callback)\n setTimeout(opt_callback);\n};\n\n/**\n * Reset a preference to its default state.\n *\n * This will dispatch the onChange handler if the preference value actually\n * changes.\n *\n * @param {string} name The preference to reset.\n */\nlib.PreferenceManager.prototype.reset = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n this.storage.removeItem(this.prefix + name);\n\n if (record.currentValue !== this.DEFAULT_VALUE) {\n record.currentValue = this.DEFAULT_VALUE;\n this.notifyChange_(name);\n }\n};\n\n/**\n * Reset all preferences back to their default state.\n */\nlib.PreferenceManager.prototype.resetAll = function() {\n var changed = [];\n\n for (var listName in this.childLists_) {\n var childList = this.childLists_[listName];\n for (var id in childList) {\n childList[id].resetAll();\n }\n }\n\n for (var name in this.prefRecords_) {\n if (this.prefRecords_[name].currentValue !== this.DEFAULT_VALUE) {\n this.prefRecords_[name].currentValue = this.DEFAULT_VALUE;\n changed.push(name);\n }\n }\n\n var keys = Object.keys(this.prefRecords_).map(function(el) {\n return this.prefix + el;\n }.bind(this));\n\n this.storage.removeItems(keys);\n\n changed.forEach(this.notifyChange_.bind(this));\n};\n\n/**\n * Return true if two values should be considered not-equal.\n *\n * If both values are the same scalar type and compare equal this function\n * returns false (no difference), otherwise return true.\n *\n * This is used in places where we want to check if a preference has changed.\n * Rather than take the time to compare complex values we just consider them\n * to always be different.\n *\n * @param {*} a A value to compare.\n * @param {*} b A value to compare.\n */\nlib.PreferenceManager.prototype.diff = function(a, b) {\n // If the types are different, or the type is not a simple primitive one.\n if ((typeof a) !== (typeof b) ||\n !(/^(undefined|boolean|number|string)$/.test(typeof a))) {\n return true;\n }\n\n return a !== b;\n};\n\n/**\n * Change the default value of a preference.\n *\n * This is useful when subclassing preference managers.\n *\n * The function does not alter the current value of the preference, unless\n * it has the old default value. When that happens, the change observers\n * will be notified.\n *\n * @param {string} name The name of the parameter to change.\n * @param {*} newValue The new default value for the preference.\n */\nlib.PreferenceManager.prototype.changeDefault = function(name, newValue) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n if (!this.diff(record.defaultValue, newValue)) {\n // Default value hasn't changed.\n return;\n }\n\n if (record.currentValue !== this.DEFAULT_VALUE) {\n // This pref has a specific value, just change the default and we're done.\n record.defaultValue = newValue;\n return;\n }\n\n record.defaultValue = newValue;\n\n this.notifyChange_(name);\n};\n\n/**\n * Change the default value of multiple preferences.\n *\n * @param {Object} map A map of name -> value pairs specifying the new default\n * values.\n */\nlib.PreferenceManager.prototype.changeDefaults = function(map) {\n for (var key in map) {\n this.changeDefault(key, map[key]);\n }\n};\n\n/**\n * Set a preference to a specific value.\n *\n * This will dispatch the onChange handler if the preference value actually\n * changes.\n *\n * @param {string} key The preference to set.\n * @param {*} value The value to set. Anything that can be represented in\n * JSON is a valid value.\n */\nlib.PreferenceManager.prototype.set = function(name, newValue) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n var oldValue = record.get();\n\n if (!this.diff(oldValue, newValue))\n return;\n\n if (this.diff(record.defaultValue, newValue)) {\n record.currentValue = newValue;\n this.storage.setItem(this.prefix + name, newValue);\n } else {\n record.currentValue = this.DEFAULT_VALUE;\n this.storage.removeItem(this.prefix + name);\n }\n\n // We need to manually send out the notification on this instance. If we\n // The storage event won't fire a notification because we've already changed\n // the currentValue, so it won't see a difference. If we delayed changing\n // currentValue until the storage event, a pref read immediately after a write\n // would return the previous value.\n //\n // The notification is in a timeout so clients don't accidentally depend on\n // a synchronous notification.\n setTimeout(this.notifyChange_.bind(this, name), 0);\n};\n\n/**\n * Get the value of a preference.\n *\n * @param {string} key The preference to get.\n */\nlib.PreferenceManager.prototype.get = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n return record.get();\n};\n\n/**\n * Return all non-default preferences as a JSON object.\n *\n * This includes any nested preference managers as well.\n */\nlib.PreferenceManager.prototype.exportAsJson = function() {\n var rv = {};\n\n for (var name in this.prefRecords_) {\n if (name in this.childLists_) {\n rv[name] = [];\n var childIds = this.get(name);\n for (var i = 0; i < childIds.length; i++) {\n var id = childIds[i];\n rv[name].push({id: id, json: this.getChild(name, id).exportAsJson()});\n }\n\n } else {\n var record = this.prefRecords_[name];\n if (record.currentValue != this.DEFAULT_VALUE)\n rv[name] = record.currentValue;\n }\n }\n\n return rv;\n};\n\n/**\n * Import a JSON blob of preferences previously generated with exportAsJson.\n *\n * This will create nested preference managers as well.\n */\nlib.PreferenceManager.prototype.importFromJson = function(json) {\n for (var name in json) {\n if (name in this.childLists_) {\n var childList = json[name];\n for (var i = 0; i < childList.length; i++) {\n var id = childList[i].id;\n\n var childPrefManager = this.childLists_[name][id];\n if (!childPrefManager)\n childPrefManager = this.createChild(name, null, id);\n\n childPrefManager.importFromJson(childList[i].json);\n }\n\n } else {\n this.set(name, json[name]);\n }\n }\n};\n\n/**\n * Called when one of the child list preferences changes.\n */\nlib.PreferenceManager.prototype.onChildListChange_ = function(listName) {\n this.syncChildList(listName);\n};\n\n/**\n * Called when a key in the storage changes.\n */\nlib.PreferenceManager.prototype.onStorageChange_ = function(map) {\n for (var key in map) {\n if (this.prefix) {\n if (key.lastIndexOf(this.prefix, 0) != 0)\n continue;\n }\n\n var name = key.substr(this.prefix.length);\n\n if (!(name in this.prefRecords_)) {\n // Sometimes we'll get notified about prefs that are no longer defined.\n continue;\n }\n\n var record = this.prefRecords_[name];\n\n var newValue = map[key].newValue;\n var currentValue = record.currentValue;\n if (currentValue === record.DEFAULT_VALUE)\n currentValue = (void 0);\n\n if (this.diff(currentValue, newValue)) {\n if (typeof newValue == 'undefined' || newValue === null) {\n record.currentValue = record.DEFAULT_VALUE;\n } else {\n record.currentValue = newValue;\n }\n\n this.notifyChange_(name);\n }\n }\n};\n// SOURCE FILE: libdot/js/lib_resource.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Storage for canned resources.\n *\n * These are usually non-JavaScript things that are collected during a build\n * step and converted into a series of 'lib.resource.add(...)' calls. See\n * the \"@resource\" directive from libdot/bin/concat.sh for the canonical use\n * case.\n *\n * This is global storage, so you should prefix your resource names to avoid\n * collisions.\n */\nlib.resource = {\n resources_: {}\n};\n\n/**\n * Add a resource.\n *\n * @param {string} name A name for the resource. You should prefix this to\n * avoid collisions with resources from a shared library.\n * @param {string} type A mime type for the resource, or \"raw\" if not\n * applicable.\n * @param {*} data The value of the resource.\n */\nlib.resource.add = function(name, type, data) {\n lib.resource.resources_[name] = {\n type: type,\n name: name,\n data: data\n };\n};\n\n/**\n * Retrieve a resource record.\n *\n * The resource data is stored on the \"data\" property of the returned object.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {object} An object with \"type\", \"name\", and \"data\" properties.\n */\nlib.resource.get = function(name, opt_defaultValue) {\n if (!(name in lib.resource.resources_)) {\n if (typeof opt_defaultValue == 'undefined')\n throw 'Unknown resource: ' + name;\n\n return opt_defaultValue;\n }\n\n return lib.resource.resources_[name];\n};\n\n/**\n * Retrieve resource data.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {*} The resource data.\n */\nlib.resource.getData = function(name, opt_defaultValue) {\n if (!(name in lib.resource.resources_)) {\n if (typeof opt_defaultValue == 'undefined')\n throw 'Unknown resource: ' + name;\n\n return opt_defaultValue;\n }\n\n return lib.resource.resources_[name].data;\n};\n\n/**\n * Retrieve resource as a data: url.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {*} A data: url encoded version of the resource.\n */\nlib.resource.getDataUrl = function(name, opt_defaultValue) {\n var resource = lib.resource.get(name, opt_defaultValue);\n return 'data:' + resource.type + ',' + resource.data;\n};\n// SOURCE FILE: libdot/js/lib_storage.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Namespace for implementations of persistent, possibly cloud-backed\n * storage.\n */\nlib.Storage = new Object();\n// SOURCE FILE: libdot/js/lib_storage_chrome.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * chrome.storage based class with an async interface that is interchangeable\n * with other lib.Storage.* implementations.\n */\nlib.Storage.Chrome = function(storage) {\n this.storage_ = storage;\n this.observers_ = [];\n\n chrome.storage.onChanged.addListener(this.onChanged_.bind(this));\n};\n\n/**\n * Called by the storage implementation when the storage is modified.\n */\nlib.Storage.Chrome.prototype.onChanged_ = function(changes, areaname) {\n if (chrome.storage[areaname] != this.storage_)\n return;\n\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](changes);\n }\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Chrome.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Chrome.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Chrome.prototype.clear = function(opt_callback) {\n this.storage_.clear();\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Chrome.prototype.getItem = function(key, callback) {\n this.storage_.get(key, callback);\n};\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\n\nlib.Storage.Chrome.prototype.getItems = function(keys, callback) {\n this.storage_.get(keys, callback);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.setItem = function(key, value, opt_callback) {\n var obj = {};\n obj[key] = value;\n this.storage_.set(obj, opt_callback);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.setItems = function(obj, opt_callback) {\n this.storage_.set(obj, opt_callback);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.removeItem = function(key, opt_callback) {\n this.storage_.remove(key, opt_callback);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.removeItems = function(keys, opt_callback) {\n this.storage_.remove(keys, opt_callback);\n};\n// SOURCE FILE: libdot/js/lib_storage_local.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * window.localStorage based class with an async interface that is\n * interchangeable with other lib.Storage.* implementations.\n */\nlib.Storage.Local = function() {\n this.observers_ = [];\n this.storage_ = window.localStorage;\n window.addEventListener('storage', this.onStorage_.bind(this));\n};\n\n/**\n * Called by the storage implementation when the storage is modified.\n */\nlib.Storage.Local.prototype.onStorage_ = function(e) {\n if (e.storageArea != this.storage_)\n return;\n\n // JS throws an exception if JSON.parse is given an empty string. So here we\n // only parse if the value is truthy. This mean the empty string, undefined\n // and null will not be parsed.\n var prevValue = e.oldValue ? JSON.parse(e.oldValue) : e.oldValue;\n var curValue = e.newValue ? JSON.parse(e.newValue) : e.newValue;\n var o = {};\n o[e.key] = {\n oldValue: prevValue,\n newValue: curValue\n };\n\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](o);\n }\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Local.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Local.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Local.prototype.clear = function(opt_callback) {\n this.storage_.clear();\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Local.prototype.getItem = function(key, callback) {\n var value = this.storage_.getItem(key);\n\n if (typeof value == 'string') {\n try {\n value = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n }\n }\n\n setTimeout(callback.bind(null, value), 0);\n};\n\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\nlib.Storage.Local.prototype.getItems = function(keys, callback) {\n var rv = {};\n\n for (var i = keys.length - 1; i >= 0; i--) {\n var key = keys[i];\n var value = this.storage_.getItem(key);\n if (typeof value == 'string') {\n try {\n rv[key] = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n rv[key] = value;\n }\n } else {\n keys.splice(i, 1);\n }\n }\n\n setTimeout(callback.bind(null, rv), 0);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.setItem = function(key, value, opt_callback) {\n this.storage_.setItem(key, JSON.stringify(value));\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.setItems = function(obj, opt_callback) {\n for (var key in obj) {\n this.storage_.setItem(key, JSON.stringify(obj[key]));\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.removeItem = function(key, opt_callback) {\n this.storage_.removeItem(key);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.removeItems = function(ary, opt_callback) {\n for (var i = 0; i < ary.length; i++) {\n this.storage_.removeItem(ary[i]);\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n// SOURCE FILE: libdot/js/lib_storage_memory.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * In-memory storage class with an async interface that is interchangeable with\n * other lib.Storage.* implementations.\n */\nlib.Storage.Memory = function() {\n this.observers_ = [];\n this.storage_ = {};\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Memory.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Memory.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Memory.prototype.clear = function(opt_callback) {\n var e = {};\n for (var key in this.storage_) {\n e[key] = {oldValue: this.storage_[key], newValue: (void 0)};\n }\n\n this.storage_ = {};\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this), 0);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Memory.prototype.getItem = function(key, callback) {\n var value = this.storage_[key];\n\n if (typeof value == 'string') {\n try {\n value = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n }\n }\n\n setTimeout(callback.bind(null, value), 0);\n};\n\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\nlib.Storage.Memory.prototype.getItems = function(keys, callback) {\n var rv = {};\n\n for (var i = keys.length - 1; i >= 0; i--) {\n var key = keys[i];\n var value = this.storage_[key];\n if (typeof value == 'string') {\n try {\n rv[key] = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n rv[key] = value;\n }\n } else {\n keys.splice(i, 1);\n }\n }\n\n setTimeout(callback.bind(null, rv), 0);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.setItem = function(key, value, opt_callback) {\n var oldValue = this.storage_[key];\n this.storage_[key] = JSON.stringify(value);\n\n var e = {};\n e[key] = {oldValue: oldValue, newValue: value};\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this), 0);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.setItems = function(obj, opt_callback) {\n var e = {};\n\n for (var key in obj) {\n e[key] = {oldValue: this.storage_[key], newValue: obj[key]};\n this.storage_[key] = JSON.stringify(obj[key]);\n }\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this));\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.removeItem = function(key, opt_callback) {\n delete this.storage_[key];\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.removeItems = function(ary, opt_callback) {\n for (var i = 0; i < ary.length; i++) {\n delete this.storage_[ary[i]];\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n// SOURCE FILE: libdot/js/lib_test_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview JavaScript unit testing framework for synchronous and\n * asynchronous tests.\n *\n * This file contains the lib.TestManager and related classes. At the moment\n * it's all collected in a single file since it's reasonably small\n * (=~1k lines), and it's a lot easier to include one file into your test\n * harness than it is to include seven.\n *\n * The following classes are defined...\n *\n * lib.TestManager - The root class and entrypoint for creating test runs.\n * lib.TestManager.Log - Logging service.\n * lib.TestManager.Suite - A collection of tests.\n * lib.TestManager.Test - A single test.\n * lib.TestManager.TestRun - Manages the execution of a set of tests.\n * lib.TestManager.Result - A single test result.\n */\n\n/**\n * Root object in the unit test hierarchy, and keeper of the log object.\n *\n * @param {lib.TestManager.Log} opt_log Optional lib.TestManager.Log object.\n * Logs to the JavaScript console if omitted.\n */\nlib.TestManager = function(opt_log) {\n this.log = opt_log || new lib.TestManager.Log();\n}\n\n/**\n * Create a new test run object for this test manager.\n *\n * @param {Object} opt_cx An object to be passed to test suite setup(),\n * preamble(), and test cases during this test run. This object is opaque\n * to lib.TestManager.* code. It's entirely up to the test suite what it's\n * used for.\n */\nlib.TestManager.prototype.createTestRun = function(opt_cx) {\n return new lib.TestManager.TestRun(this, opt_cx);\n};\n\n/**\n * Called when a test run associated with this test manager completes.\n *\n * Clients may override this to call an appropriate function.\n */\nlib.TestManager.prototype.onTestRunComplete = function(testRun) {};\n\n/**\n * Called before a test associated with this test manager is run.\n *\n * @param {lib.TestManager.Result} result The result object for the upcoming\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.prototype.testPreamble = function(result, cx) {};\n\n/**\n * Called after a test associated with this test manager finishes.\n *\n * @param {lib.TestManager.Result} result The result object for the finished\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.prototype.testPostamble = function(result, cx) {};\n\n/**\n * Destination for test case output.\n *\n * Thw API will be the same as the console object. e.g. We support info(),\n * warn(), error(), etc... just like console.info(), etc...\n *\n * @param {Object} opt_console The console object to route all logging through.\n * Should provide saome API as the standard console API.\n */\nlib.TestManager.Log = function(opt_console=console) {\n this.save = false;\n this.data = '';\n this.prefix_ = '';\n this.prefixStack_ = 0;\n\n // Capture all the console entry points in case code at runtime calls these\n // directly. We want to be able to still see things.\n // We also expose the direct API to our callers (e.g. we provide warn()).\n this.console_ = opt_console;\n ['log', 'debug', 'info', 'warn', 'error'].forEach((level) => {\n let msgPrefix = '';\n switch (level) {\n case 'debug':\n case 'warn':\n case 'error':\n msgPrefix = level.toUpperCase() + ': ';\n break;\n }\n\n const oLog = this.console_[level];\n this[level] = this.console_[level] = (...args) => {\n if (this.save)\n this.data += this.prefix_ + msgPrefix + args.join(' ') + '\\n';\n oLog.apply(this.console_, args);\n };\n });\n\n // Wrap/bind the group functions.\n ['group', 'groupCollapsed'].forEach((group) => {\n const oGroup = this.console_[group];\n this[group] = this.console_[group] = (label='') => {\n oGroup(label);\n if (this.save)\n this.data += this.prefix_ + label + '\\n';\n this.prefix_ = ' '.repeat(++this.prefixStack_);\n };\n });\n\n const oGroupEnd = this.console_.groupEnd;\n this.groupEnd = this.console_.groupEnd = () => {\n oGroupEnd();\n this.prefix_ = ' '.repeat(--this.prefixStack_);\n };\n};\n\n/**\n * Returns a new constructor function that will inherit from\n * lib.TestManager.Suite.\n *\n * Use this function to create a new test suite subclass. It will return a\n * properly initialized constructor function for the subclass. You can then\n * override the setup() and preamble() methods if necessary and add test cases\n * to the subclass.\n *\n * var MyTests = new lib.TestManager.Suite('MyTests');\n *\n * MyTests.prototype.setup = function(cx) {\n * // Sets this.size to cx.size if it exists, or the default value of 10\n * // if not.\n * this.setDefault(cx, {size: 10});\n * };\n *\n * MyTests.prototype.preamble = function(result, cx) {\n * // Some tests (even successful ones) may side-effect this list, so\n * // recreate it before every test.\n * this.list = [];\n * for (var i = 0; i < this.size; i++) {\n * this.list[i] = i;\n * }\n * };\n *\n * // Basic synchronous test case.\n * MyTests.addTest('pop-length', function(result, cx) {\n * this.list.pop();\n *\n * // If this assertion fails, the testcase will stop here.\n * result.assertEQ(this.list.length, this.size - 1);\n *\n * // A test must indicate it has passed by calling this method.\n * result.pass();\n * });\n *\n * // Sample asynchronous test case.\n * MyTests.addTest('async-pop-length', function(result, cx) {\n * var self = this;\n *\n * var callback = function() {\n * result.assertEQ(self.list.length, self.size - 1);\n * result.pass();\n * };\n *\n * // Wait 100ms to check the array length for the sake of this example.\n * setTimeout(callback, 100);\n *\n * this.list.pop();\n *\n * // Indicate that this test needs another 200ms to complete.\n * // If the test does not report pass/fail by then, it is considered to\n * // have timed out.\n * result.requestTime(200);\n * });\n *\n * ...\n *\n * @param {string} suiteName The name of the test suite.\n */\nlib.TestManager.Suite = function(suiteName) {\n function ctor(testManager, cx) {\n this.testManager_ = testManager;\n this.suiteName = suiteName;\n\n this.setup(cx);\n }\n\n ctor.suiteName = suiteName;\n ctor.addTest = lib.TestManager.Suite.addTest;\n ctor.disableTest = lib.TestManager.Suite.disableTest;\n ctor.getTest = lib.TestManager.Suite.getTest;\n ctor.getTestList = lib.TestManager.Suite.getTestList;\n ctor.testList_ = [];\n ctor.testMap_ = {};\n ctor.prototype = Object.create(lib.TestManager.Suite.prototype);\n ctor.constructor = lib.TestManager.Suite;\n\n lib.TestManager.Suite.subclasses.push(ctor);\n\n return ctor;\n};\n\n/**\n * List of lib.TestManager.Suite subclasses, in the order they were defined.\n */\nlib.TestManager.Suite.subclasses = [];\n\n/**\n * Add a test to a lib.TestManager.Suite.\n *\n * This method is copied to new subclasses when they are created.\n */\nlib.TestManager.Suite.addTest = function(testName, testFunction) {\n if (testName in this.testMap_)\n throw 'Duplicate test name: ' + testName;\n\n var test = new lib.TestManager.Test(this, testName, testFunction);\n this.testMap_[testName] = test;\n this.testList_.push(test);\n};\n\n/**\n * Defines a disabled test.\n */\nlib.TestManager.Suite.disableTest = function(testName, testFunction) {\n if (testName in this.testMap_)\n throw 'Duplicate test name: ' + testName;\n\n var test = new lib.TestManager.Test(this, testName, testFunction);\n console.log('Disabled test: ' + test.fullName);\n};\n\n/**\n * Get a lib.TestManager.Test instance by name.\n *\n * This method is copied to new subclasses when they are created.\n *\n * @param {string} testName The name of the desired test.\n * @return {lib.TestManager.Test} The requested test, or undefined if it was not\n * found.\n */\nlib.TestManager.Suite.getTest = function(testName) {\n return this.testMap_[testName];\n};\n\n/**\n * Get an array of lib.TestManager.Tests associated with this Suite.\n *\n * This method is copied to new subclasses when they are created.\n */\nlib.TestManager.Suite.getTestList = function() {\n return this.testList_;\n};\n\n/**\n * Set properties on a test suite instance, pulling the property value from\n * the context if it exists and from the defaults dictionary if not.\n *\n * This is intended to be used in your test suite's setup() method to\n * define parameters for the test suite which may be overridden through the\n * context object. For example...\n *\n * MySuite.prototype.setup = function(cx) {\n * this.setDefaults(cx, {size: 10});\n * };\n *\n * If the context object has a 'size' property then this.size will be set to\n * the value of cx.size, otherwise this.size will get a default value of 10.\n *\n * @param {Object} cx The context object for a test run.\n * @param {Object} defaults An object containing name/value pairs to set on\n * this test suite instance. The value listed here will be used if the\n * name is not defined on the context object.\n */\nlib.TestManager.Suite.prototype.setDefaults = function(cx, defaults) {\n for (var k in defaults) {\n this[k] = (k in cx) ? cx[k] : defaults[k];\n }\n};\n\n/**\n * Subclassable method called to set up the test suite.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of suite-wide setup, this is the place to do it.\n *\n * It's fine to store state on the test suite instance, that state will be\n * accessible to all tests in the suite. If any test case fails, the entire\n * test suite object will be discarded and a new one will be created for\n * the remaining tests.\n *\n * Any side effects outside of this test suite instance must be idempotent.\n * For example, if you're adding DOM nodes to a document, make sure to first\n * test that they're not already there. If they are, remove them rather than\n * reuse them. You should not count on their state, since they were probably\n * left behind by a failed testcase.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.setup = function(cx) {};\n\n/**\n * Subclassable method called to do pre-test set up.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of pre-test setup, this is the place to do it.\n *\n * This can be used to avoid a bunch of boilerplate setup/teardown code in\n * this suite's testcases.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {lib.TestManager.Result} result The result object for the upcoming\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.preamble = function(result, cx) {};\n\n/**\n * Subclassable method called to do post-test tear-down.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of pre-test setup, this is the place to do it.\n *\n * This can be used to avoid a bunch of boilerplate setup/teardown code in\n * this suite's testcases.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {lib.TestManager.Result} result The result object for the finished\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.postamble = function(result, cx) {};\n\n/**\n * Object representing a single test in a test suite.\n *\n * These are created as part of the lib.TestManager.Suite.addTest() method.\n * You should never have to construct one by hand.\n *\n * @param {lib.TestManager.Suite} suiteClass The test suite class containing\n * this test.\n * @param {string} testName The local name of this test case, not including the\n * test suite name.\n * @param {function(lib.TestManager.Result, Object)} testFunction The function\n * to invoke for this test case. This is passed a Result instance and the\n * context object associated with the test run.\n *\n */\nlib.TestManager.Test = function(suiteClass, testName, testFunction) {\n /**\n * The test suite class containing this function.\n */\n this.suiteClass = suiteClass;\n\n /**\n * The local name of this test, not including the test suite name.\n */\n this.testName = testName;\n\n /**\n * The global name of this test, including the test suite name.\n */\n this.fullName = suiteClass.suiteName + '[' + testName + ']';\n\n // The function to call for this test.\n this.testFunction_ = testFunction;\n};\n\n/**\n * Execute this test.\n *\n * This is called by a lib.TestManager.Result instance, as part of a\n * lib.TestManager.TestRun. You should not call it by hand.\n *\n * @param {lib.TestManager.Result} result The result object for the test.\n */\nlib.TestManager.Test.prototype.run = function(result) {\n try {\n // Tests are applied to the parent lib.TestManager.Suite subclass.\n this.testFunction_.apply(result.suite,\n [result, result.testRun.cx]);\n } catch (ex) {\n if (ex instanceof lib.TestManager.Result.TestComplete)\n return;\n\n result.println('Test raised an exception: ' + ex);\n\n if (ex.stack) {\n if (ex.stack instanceof Array) {\n result.println(ex.stack.join('\\n'));\n } else {\n result.println(ex.stack);\n }\n }\n\n result.completeTest_(result.FAILED, false);\n }\n};\n\n/**\n * Used to choose a set of tests and run them.\n *\n * It's slightly more convenient to construct one of these from\n * lib.TestManager.prototype.createTestRun().\n *\n * @param {lib.TestManager} testManager The testManager associated with this\n * TestRun.\n * @param {Object} cx A context to be passed into the tests. This can be used\n * to set parameters for the test suite or individual test cases.\n */\nlib.TestManager.TestRun = function(testManager, cx) {\n /**\n * The associated lib.TestManager instance.\n */\n this.testManager = testManager;\n\n /**\n * Shortcut to the lib.TestManager's log.\n */\n this.log = testManager.log;\n\n /**\n * The test run context. It's entirely up to the test suite and test cases\n * how this is used. It is opaque to lib.TestManager.* classes.\n */\n this.cx = cx || {};\n\n /**\n * The list of test cases that encountered failures.\n */\n this.failures = [];\n\n /**\n * The list of test cases that passed.\n */\n this.passes = [];\n\n /**\n * The time the test run started, or null if it hasn't been started yet.\n */\n this.startDate = null;\n\n /**\n * The time in milliseconds that the test run took to complete, or null if\n * it hasn't completed yet.\n */\n this.duration = null;\n\n /**\n * The most recent result object, or null if the test run hasn't started\n * yet. In order to detect late failures, this is not cleared when the test\n * completes.\n */\n this.currentResult = null;\n\n /**\n * Number of maximum failures. The test run will stop when this number is\n * reached. If 0 or omitted, the entire set of selected tests is run, even\n * if some fail.\n */\n this.maxFailures = 0;\n\n /**\n * True if this test run ended early because of an unexpected condition.\n */\n this.panic = false;\n\n // List of pending test cases.\n this.testQueue_ = [];\n\n};\n\n/**\n * This value can be passed to select() to indicate that all tests should\n * be selected.\n */\nlib.TestManager.TestRun.prototype.ALL_TESTS = lib.f.createEnum('');\n\n/**\n * Add a single test to the test run.\n */\nlib.TestManager.TestRun.prototype.selectTest = function(test) {\n this.testQueue_.push(test);\n};\n\nlib.TestManager.TestRun.prototype.selectSuite = function(\n suiteClass, opt_pattern) {\n var pattern = opt_pattern || this.ALL_TESTS;\n var selectCount = 0;\n var testList = suiteClass.getTestList();\n\n for (var j = 0; j < testList.length; j++) {\n var test = testList[j];\n // Note that we're using \"!==\" rather than \"!=\" so that we're matching\n // the ALL_TESTS String object, rather than the contents of the string.\n if (pattern !== this.ALL_TESTS) {\n if (pattern instanceof RegExp) {\n if (!pattern.test(test.testName))\n continue;\n } else if (test.testName != pattern) {\n continue;\n }\n }\n\n this.selectTest(test);\n selectCount++;\n }\n\n return selectCount;\n};\n\n/**\n * Selects one or more tests to gather results for.\n *\n * Selecting the same test more than once is allowed.\n *\n * @param {string|RegExp} pattern Pattern used to select tests.\n * If TestRun.prototype.ALL_TESTS, all tests are selected.\n * If a string, only the test that exactly matches is selected.\n * If a RegExp, only tests matching the RegExp are added.\n *\n * @return {int} The number of additional tests that have been selected into\n * this TestRun.\n */\nlib.TestManager.TestRun.prototype.selectPattern = function(pattern) {\n var selectCount = 0;\n\n for (var i = 0; i < lib.TestManager.Suite.subclasses.length; i++) {\n selectCount += this.selectSuite(lib.TestManager.Suite.subclasses[i],\n pattern);\n }\n\n if (!selectCount) {\n this.log.warn('No tests matched selection criteria: ' + pattern);\n }\n\n return selectCount;\n};\n\n/**\n * Hooked up to window.onerror during a test run in order to catch exceptions\n * that would otherwise go uncaught.\n */\nlib.TestManager.TestRun.prototype.onUncaughtException_ = function(\n message, file, line) {\n\n if (message.indexOf('Uncaught lib.TestManager.Result.TestComplete') == 0 ||\n message.indexOf('status: passed') != -1) {\n // This is a result.pass() or result.fail() call from a callback. We're\n // already going to deal with it as part of the completeTest_() call\n // that raised it. We can safely squelch this error message.\n return true;\n }\n\n if (!this.currentResult)\n return;\n\n if (message == 'Uncaught ' + this.currentResult.expectedErrorMessage_) {\n // Test cases may need to raise an unhandled exception as part of the test.\n return;\n }\n\n var when = 'during';\n\n if (this.currentResult.status != this.currentResult.PENDING)\n when = 'after';\n\n this.log.error('Uncaught exception ' + when + ' test case: ' +\n this.currentResult.test.fullName);\n this.log.error(message + ', ' + file + ':' + line);\n\n this.currentResult.completeTest_(this.currentResult.FAILED, false);\n\n return false;\n};\n\n/**\n * Called to when this test run has completed.\n *\n * This method typically re-runs itself asynchronously, in order to let the\n * DOM stabilize and short-term timeouts to complete before declaring the\n * test run complete.\n *\n * @param {boolean} opt_skipTimeout If true, the timeout is skipped and the\n * test run is completed immediately. This should only be used from within\n * this function.\n */\nlib.TestManager.TestRun.prototype.onTestRunComplete_ = function(\n opt_skipTimeout) {\n if (!opt_skipTimeout) {\n // The final test may have left a lingering setTimeout(..., 0), or maybe\n // poked at the DOM in a way that will trigger a event to fire at the end\n // of this stack, so we give things a chance to settle down before our\n // final cleanup...\n setTimeout(this.onTestRunComplete_.bind(this), 0, true);\n return;\n }\n\n this.duration = (new Date()) - this.startDate;\n\n this.log.groupEnd();\n this.log.info(this.passes.length + ' passed, ' +\n this.failures.length + ' failed, ' +\n this.msToSeconds_(this.duration));\n\n this.summarize();\n\n window.onerror = null;\n\n this.testManager.onTestRunComplete(this);\n};\n\n/**\n * Called by the lib.TestManager.Result object when a test completes.\n *\n * @param {lib.TestManager.Result} result The result object which has just\n * completed.\n */\nlib.TestManager.TestRun.prototype.onResultComplete = function(result) {\n try {\n this.testManager.testPostamble(result, this.cx);\n result.suite.postamble(result, this.ctx);\n } catch (ex) {\n this.log.error('Unexpected exception in postamble: ' +\n (ex.stack ? ex.stack : ex));\n this.panic = true;\n }\n\n if (result.status != result.PASSED)\n this.log.error(result.status);\n else if (result.duration > 500)\n this.log.warn('Slow test took ' + this.msToSeconds_(result.duration));\n this.log.groupEnd();\n\n if (result.status == result.FAILED) {\n this.failures.push(result);\n this.currentSuite = null;\n } else if (result.status == result.PASSED) {\n this.passes.push(result);\n } else {\n this.log.error('Unknown result status: ' + result.test.fullName + ': ' +\n result.status);\n return this.panic = true;\n }\n\n this.runNextTest_();\n};\n\n/**\n * Called by the lib.TestManager.Result object when a test which has already\n * completed reports another completion.\n *\n * This is usually indicative of a buggy testcase. It is probably reporting a\n * result on exit and then again from an asynchronous callback.\n *\n * It may also be the case that the last act of the testcase causes a DOM change\n * which triggers some event to run after the test returns. If the event\n * handler reports a failure or raises an uncaught exception, the test will\n * fail even though it has already completed.\n *\n * In any case, re-completing a test ALWAYS moves it into the failure pile.\n *\n * @param {lib.TestManager.Result} result The result object which has just\n * completed.\n * @param {string} lateStatus The status that the test attempted to record this\n * time around.\n */\nlib.TestManager.TestRun.prototype.onResultReComplete = function(\n result, lateStatus) {\n this.log.error('Late complete for test: ' + result.test.fullName + ': ' +\n lateStatus);\n\n // Consider any late completion a failure, even if it's a double-pass, since\n // it's a misuse of the testing API.\n var index = this.passes.indexOf(result);\n if (index >= 0) {\n this.passes.splice(index, 1);\n this.failures.push(result);\n }\n};\n\n/**\n * Run the next test in the queue.\n */\nlib.TestManager.TestRun.prototype.runNextTest_ = function() {\n if (this.panic || !this.testQueue_.length)\n return this.onTestRunComplete_();\n\n if (this.maxFailures && this.failures.length >= this.maxFailures) {\n this.log.error('Maximum failure count reached, aborting test run.');\n return this.onTestRunComplete_();\n }\n\n // Peek at the top test first. We remove it later just before it's about\n // to run, so that we don't disturb the incomplete test count in the\n // event that we fail before running it.\n var test = this.testQueue_[0];\n var suite = this.currentResult ? this.currentResult.suite : null;\n\n try {\n if (!suite || !(suite instanceof test.suiteClass)) {\n if (suite)\n this.log.groupEnd();\n this.log.group(test.suiteClass.suiteName);\n suite = new test.suiteClass(this.testManager, this.cx);\n }\n } catch (ex) {\n // If test suite setup fails we're not even going to try to run the tests.\n this.log.error('Exception during setup: ' + (ex.stack ? ex.stack : ex));\n this.panic = true;\n this.onTestRunComplete_();\n return;\n }\n\n try {\n this.log.group(test.testName);\n\n this.currentResult = new lib.TestManager.Result(this, suite, test);\n this.testManager.testPreamble(this.currentResult, this.cx);\n suite.preamble(this.currentResult, this.cx);\n\n this.testQueue_.shift();\n } catch (ex) {\n this.log.error('Unexpected exception during test preamble: ' +\n (ex.stack ? ex.stack : ex));\n this.log.groupEnd();\n\n this.panic = true;\n this.onTestRunComplete_();\n return;\n }\n\n try {\n this.currentResult.run();\n } catch (ex) {\n // Result.run() should catch test exceptions and turn them into failures.\n // If we got here, it means there is trouble in the testing framework.\n this.log.error('Unexpected exception during test run: ' +\n (ex.stack ? ex.stack : ex));\n this.panic = true;\n }\n};\n\n/**\n * Run the selected list of tests.\n *\n * Some tests may need to run asynchronously, so you cannot assume the run is\n * complete when this function returns. Instead, pass in a function to be\n * called back when the run has completed.\n *\n * This function will log the results of the test run as they happen into the\n * log defined by the associated lib.TestManager. By default this is\n * console.log, which can be viewed in the JavaScript console of most browsers.\n *\n * The browser state is determined by the last test to run. We intentionally\n * don't do any cleanup so that you can inspect the state of a failed test, or\n * leave the browser ready for manual testing.\n *\n * Any failures in lib.TestManager.* code or test suite setup or test case\n * preamble will cause the test run to abort.\n */\nlib.TestManager.TestRun.prototype.run = function() {\n this.log.info('Running ' + this.testQueue_.length + ' test(s)');\n\n window.onerror = this.onUncaughtException_.bind(this);\n this.startDate = new Date();\n this.runNextTest_();\n};\n\n/**\n * Format milliseconds as fractional seconds.\n */\nlib.TestManager.TestRun.prototype.msToSeconds_ = function(ms) {\n var secs = (ms / 1000).toFixed(2);\n return secs + 's';\n};\n\n/**\n * Log the current result summary.\n */\nlib.TestManager.TestRun.prototype.summarize = function() {\n if (this.failures.length) {\n for (var i = 0; i < this.failures.length; i++) {\n this.log.error('FAILED: ' + this.failures[i].test.fullName);\n }\n }\n\n if (this.testQueue_.length) {\n this.log.warn('Test run incomplete: ' + this.testQueue_.length +\n ' test(s) were not run.');\n }\n};\n\n/**\n * Record of the result of a single test.\n *\n * These are constructed during a test run, you shouldn't have to make one\n * on your own.\n *\n * An instance of this class is passed in to each test function. It can be\n * used to add messages to the test log, to record a test pass/fail state, to\n * test assertions, or to create exception-proof wrappers for callback\n * functions.\n *\n * @param {lib.TestManager.TestRun} testRun The TestRun instance associated with\n * this result.\n * @param {lib.TestManager.Suit} suite The Suite containing the test we're\n * collecting this result for.\n * @param {lib.TestManager.Test} test The test we're collecting this result for.\n */\nlib.TestManager.Result = function(testRun, suite, test) {\n /**\n * The TestRun instance associated with this result.\n */\n this.testRun = testRun;\n\n /**\n * The Suite containing the test we're collecting this result for.\n */\n this.suite = suite;\n\n /**\n * The test we're collecting this result for.\n */\n this.test = test;\n\n /**\n * The time we started to collect this result, or null if we haven't started.\n */\n this.startDate = null;\n\n /**\n * The time in milliseconds that the test took to complete, or null if\n * it hasn't completed yet.\n */\n this.duration = null;\n\n /**\n * The current status of this test result.\n */\n this.status = this.PENDING;\n\n // An error message that the test case is expected to generate.\n this.expectedErrorMessage_ = null;\n};\n\n/**\n * Possible values for this.status.\n */\nlib.TestManager.Result.prototype.PENDING = 'pending';\nlib.TestManager.Result.prototype.FAILED = 'FAILED';\nlib.TestManager.Result.prototype.PASSED = 'passed';\n\n/**\n * Exception thrown when a test completes (pass or fail), to ensure no more of\n * the test is run.\n */\nlib.TestManager.Result.TestComplete = function(result) {\n this.result = result;\n};\n\nlib.TestManager.Result.TestComplete.prototype.toString = function() {\n return 'lib.TestManager.Result.TestComplete: ' + this.result.test.fullName +\n ', status: ' + this.result.status;\n}\n\n/**\n * Start the test associated with this result.\n */\nlib.TestManager.Result.prototype.run = function() {\n var self = this;\n\n this.startDate = new Date();\n this.test.run(this);\n\n if (this.status == this.PENDING && !this.timeout_) {\n this.println('Test did not return a value and did not request more time.');\n this.completeTest_(this.FAILED, false);\n }\n};\n\n/**\n * Unhandled error message this test expects to generate.\n *\n * This must be the exact string that would appear in the JavaScript console,\n * minus the 'Uncaught ' prefix.\n *\n * The test case does *not* automatically fail if the error message is not\n * encountered.\n */\nlib.TestManager.Result.prototype.expectErrorMessage = function(str) {\n this.expectedErrorMessage_ = str;\n};\n\n/**\n * Function called when a test times out.\n */\nlib.TestManager.Result.prototype.onTimeout_ = function() {\n this.timeout_ = null;\n\n if (this.status != this.PENDING)\n return;\n\n this.println('Test timed out.');\n this.completeTest_(this.FAILED, false);\n};\n\n/**\n * Indicate that a test case needs more time to complete.\n *\n * Before a test case returns it must report a pass/fail result, or request more\n * time to do so.\n *\n * If a test does not report pass/fail before the time expires it will\n * be reported as a timeout failure. Any late pass/fails will be noted in the\n * test log, but will not affect the final result of the test.\n *\n * Test cases may call requestTime more than once. If you have a few layers\n * of asynchronous API to go through, you should call this once per layer with\n * an estimate of how long each callback will take to complete.\n *\n * @param {int} ms Number of milliseconds requested.\n */\nlib.TestManager.Result.prototype.requestTime = function(ms) {\n if (this.timeout_)\n clearTimeout(this.timeout_);\n\n this.timeout_ = setTimeout(this.onTimeout_.bind(this), ms);\n};\n\n/**\n * Report the completion of a test.\n *\n * @param {string} status The status of the test case.\n * @param {boolean} opt_throw Optional boolean indicating whether or not\n * to throw the TestComplete exception.\n */\nlib.TestManager.Result.prototype.completeTest_ = function(status, opt_throw) {\n if (this.status == this.PENDING) {\n this.duration = (new Date()) - this.startDate;\n this.status = status;\n\n this.testRun.onResultComplete(this);\n } else {\n this.testRun.onResultReComplete(this, status);\n }\n\n if (arguments.length < 2 || opt_throw)\n throw new lib.TestManager.Result.TestComplete(this);\n};\n\n/**\n * Check that two arrays are equal.\n */\nlib.TestManager.Result.prototype.arrayEQ_ = function(actual, expected) {\n if (!actual || !expected)\n return (!actual && !expected);\n\n if (actual.length != expected.length)\n return false;\n\n for (var i = 0; i < actual.length; ++i)\n if (actual[i] != expected[i])\n return false;\n\n return true;\n};\n\n/**\n * Assert that an actual value is exactly equal to the expected value.\n *\n * This uses the JavaScript '===' operator in order to avoid type coercion.\n *\n * If the assertion fails, the test is marked as a failure and a TestCompleted\n * exception is thrown.\n *\n * @param {*} actual The actual measured value.\n * @param {*} expected The value expected.\n * @param {string} opt_name An optional name used to identify this\n * assertion in the test log. If omitted it will be the file:line\n * of the caller.\n */\nlib.TestManager.Result.prototype.assertEQ = function(\n actual, expected, opt_name) {\n // Utility function to pretty up the log.\n function format(value) {\n if (typeof value == 'number')\n return value;\n\n var str = String(value);\n var ary = str.split('\\n').map(function (e) { return JSON.stringify(e) });\n if (ary.length > 1) {\n // If the string has newlines, start it off on its own line so that\n // it's easier to compare against another string with newlines.\n return '\\n' + ary.join('\\n');\n } else {\n return ary.join('\\n');\n }\n }\n\n if (actual === expected)\n return;\n\n // Deal with common object types since JavaScript can't.\n if (expected instanceof Array)\n if (this.arrayEQ_(actual, expected))\n return;\n\n var name = opt_name ? '[' + opt_name + ']' : '';\n\n this.fail('assertEQ' + name + ': ' + this.getCallerLocation_(1) + ': ' +\n format(actual) + ' !== ' + format(expected));\n};\n\n/**\n * Assert that a value is true.\n *\n * This uses the JavaScript '===' operator in order to avoid type coercion.\n * The must be the boolean value `true`, not just some \"truish\" value.\n *\n * If the assertion fails, the test is marked as a failure and a TestCompleted\n * exception is thrown.\n *\n * @param {boolean} actual The actual measured value.\n * @param {string} opt_name An optional name used to identify this\n * assertion in the test log. If omitted it will be the file:line\n * of the caller.\n */\nlib.TestManager.Result.prototype.assert = function(actual, opt_name) {\n if (actual === true)\n return;\n\n var name = opt_name ? '[' + opt_name + ']' : '';\n\n this.fail('assert' + name + ': ' + this.getCallerLocation_(1) + ': ' +\n String(actual));\n};\n\n/**\n * Return the filename:line of a calling stack frame.\n *\n * This uses a dirty hack. It throws an exception, catches it, and examines\n * the stack property of the caught exception.\n *\n * @param {int} frameIndex The stack frame to return. 0 is the frame that\n * called this method, 1 is its caller, and so on.\n * @return {string} A string of the format \"filename:linenumber\".\n */\nlib.TestManager.Result.prototype.getCallerLocation_ = function(frameIndex) {\n try {\n throw new Error();\n } catch (ex) {\n var frame = ex.stack.split('\\n')[frameIndex + 2];\n var ary = frame.match(/([^/]+:\\d+):\\d+\\)?$/);\n return ary ? ary[1] : '???';\n }\n};\n\n/**\n * Write a message to the result log.\n */\nlib.TestManager.Result.prototype.println = function(message) {\n this.testRun.log.info(message);\n};\n\n/**\n * Mark a failed test and exit out of the rest of the test.\n *\n * This will throw a TestCompleted exception, causing the current test to stop.\n *\n * @param {string} opt_message Optional message to add to the log.\n */\nlib.TestManager.Result.prototype.fail = function(opt_message) {\n if (arguments.length)\n this.println(opt_message);\n\n this.completeTest_(this.FAILED, true);\n};\n\n/**\n * Mark a passed test and exit out of the rest of the test.\n *\n * This will throw a TestCompleted exception, causing the current test to stop.\n */\nlib.TestManager.Result.prototype.pass = function() {\n this.completeTest_(this.PASSED, true);\n};\n// SOURCE FILE: libdot/js/lib_utf8.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n// TODO(davidben): When the string encoding API is implemented,\n// replace this with the native in-browser implementation.\n//\n// https://wiki.whatwg.org/wiki/StringEncoding\n// https://encoding.spec.whatwg.org/\n\n/**\n * A stateful UTF-8 decoder.\n */\nlib.UTF8Decoder = function() {\n // The number of bytes left in the current sequence.\n this.bytesLeft = 0;\n // The in-progress code point being decoded, if bytesLeft > 0.\n this.codePoint = 0;\n // The lower bound on the final code point, if bytesLeft > 0.\n this.lowerBound = 0;\n};\n\n/**\n * Decodes a some UTF-8 data, taking into account state from previous\n * data streamed through the encoder.\n *\n * @param {String} str data to decode, represented as a JavaScript\n * String with each code unit representing a byte between 0x00 to\n * 0xFF.\n * @return {String} The data decoded into a JavaScript UTF-16 string.\n */\nlib.UTF8Decoder.prototype.decode = function(str) {\n var ret = '';\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n if (this.bytesLeft == 0) {\n if (c <= 0x7F) {\n ret += str.charAt(i);\n } else if (0xC0 <= c && c <= 0xDF) {\n this.codePoint = c - 0xC0;\n this.bytesLeft = 1;\n this.lowerBound = 0x80;\n } else if (0xE0 <= c && c <= 0xEF) {\n this.codePoint = c - 0xE0;\n this.bytesLeft = 2;\n this.lowerBound = 0x800;\n } else if (0xF0 <= c && c <= 0xF7) {\n this.codePoint = c - 0xF0;\n this.bytesLeft = 3;\n this.lowerBound = 0x10000;\n } else if (0xF8 <= c && c <= 0xFB) {\n this.codePoint = c - 0xF8;\n this.bytesLeft = 4;\n this.lowerBound = 0x200000;\n } else if (0xFC <= c && c <= 0xFD) {\n this.codePoint = c - 0xFC;\n this.bytesLeft = 5;\n this.lowerBound = 0x4000000;\n } else {\n ret += '\\ufffd';\n }\n } else {\n if (0x80 <= c && c <= 0xBF) {\n this.bytesLeft--;\n this.codePoint = (this.codePoint << 6) + (c - 0x80);\n if (this.bytesLeft == 0) {\n // Got a full sequence. Check if it's within bounds and\n // filter out surrogate pairs.\n var codePoint = this.codePoint;\n if (codePoint < this.lowerBound\n || (0xD800 <= codePoint && codePoint <= 0xDFFF)\n || codePoint > 0x10FFFF) {\n ret += '\\ufffd';\n } else {\n // Encode as UTF-16 in the output.\n if (codePoint < 0x10000) {\n ret += String.fromCharCode(codePoint);\n } else {\n // Surrogate pair.\n codePoint -= 0x10000;\n ret += String.fromCharCode(\n 0xD800 + ((codePoint >>> 10) & 0x3FF),\n 0xDC00 + (codePoint & 0x3FF));\n }\n }\n }\n } else {\n // Too few bytes in multi-byte sequence. Rewind stream so we\n // don't lose the next byte.\n ret += '\\ufffd';\n this.bytesLeft = 0;\n i--;\n }\n }\n }\n return ret;\n};\n\n/**\n * Decodes UTF-8 data. This is a convenience function for when all the\n * data is already known.\n *\n * @param {String} str data to decode, represented as a JavaScript\n * String with each code unit representing a byte between 0x00 to\n * 0xFF.\n * @return {String} The data decoded into a JavaScript UTF-16 string.\n */\nlib.decodeUTF8 = function(utf8) {\n return (new lib.UTF8Decoder()).decode(utf8);\n};\n\n/**\n * Encodes a UTF-16 string into UTF-8.\n *\n * TODO(davidben): Do we need a stateful version of this that can\n * handle a surrogate pair split in two calls? What happens if a\n * keypress event would have contained a character outside the BMP?\n *\n * @param {String} str The string to encode.\n * @return {String} The string encoded as UTF-8, as a JavaScript\n * string with bytes represented as code units from 0x00 to 0xFF.\n */\nlib.encodeUTF8 = function(str) {\n var ret = '';\n for (var i = 0; i < str.length; i++) {\n // Get a unicode code point out of str.\n var c = str.charCodeAt(i);\n if (0xDC00 <= c && c <= 0xDFFF) {\n c = 0xFFFD;\n } else if (0xD800 <= c && c <= 0xDBFF) {\n if (i+1 < str.length) {\n var d = str.charCodeAt(i+1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n // Swallow a surrogate pair.\n c = 0x10000 + ((c & 0x3FF) << 10) + (d & 0x3FF);\n i++;\n } else {\n c = 0xFFFD;\n }\n } else {\n c = 0xFFFD;\n }\n }\n\n // Encode c in UTF-8.\n var bytesLeft;\n if (c <= 0x7F) {\n ret += str.charAt(i);\n continue;\n } else if (c <= 0x7FF) {\n ret += String.fromCharCode(0xC0 | (c >>> 6));\n bytesLeft = 1;\n } else if (c <= 0xFFFF) {\n ret += String.fromCharCode(0xE0 | (c >>> 12));\n bytesLeft = 2;\n } else /* if (c <= 0x10FFFF) */ {\n ret += String.fromCharCode(0xF0 | (c >>> 18));\n bytesLeft = 3;\n }\n\n while (bytesLeft > 0) {\n bytesLeft--;\n ret += String.fromCharCode(0x80 | ((c >>> (6 * bytesLeft)) & 0x3F));\n }\n }\n return ret;\n};\n// SOURCE FILE: libdot/third_party/wcwidth/lib_wc.js\n// Copyright (c) 2014 The Chromium OS Authors. All rights reserved.\n// Use of lib.wc source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * This JavaScript library is ported from the wcwidth.js module of node.js.\n * The original implementation can be found at:\n * https://npmjs.org/package/wcwidth.js\n */\n\n/**\n * JavaScript porting of Markus Kuhn's wcwidth() implementation\n *\n * The following explanation comes from the original C implementation:\n *\n * This is an implementation of wcwidth() and wcswidth() (defined in\n * IEEE Std 1002.1-2001) for Unicode.\n *\n * http://www.opengroup.org/onlinepubs/007904975/functions/wcwidth.html\n * http://www.opengroup.org/onlinepubs/007904975/functions/wcswidth.html\n *\n * In fixed-width output devices, Latin characters all occupy a single\n * \"cell\" position of equal width, whereas ideographic CJK characters\n * occupy two such cells. Interoperability between terminal-line\n * applications and (teletype-style) character terminals using the\n * UTF-8 encoding requires agreement on which character should advance\n * the cursor by how many cell positions. No established formal\n * standards exist at present on which Unicode character shall occupy\n * how many cell positions on character terminals. These routines are\n * a first attempt of defining such behavior based on simple rules\n * applied to data provided by the Unicode Consortium.\n *\n * For some graphical characters, the Unicode standard explicitly\n * defines a character-cell width via the definition of the East Asian\n * FullWidth (F), Wide (W), Half-width (H), and Narrow (Na) classes.\n * In all these cases, there is no ambiguity about which width a\n * terminal shall use. For characters in the East Asian Ambiguous (A)\n * class, the width choice depends purely on a preference of backward\n * compatibility with either historic CJK or Western practice.\n * Choosing single-width for these characters is easy to justify as\n * the appropriate long-term solution, as the CJK practice of\n * displaying these characters as double-width comes from historic\n * implementation simplicity (8-bit encoded characters were displayed\n * single-width and 16-bit ones double-width, even for Greek,\n * Cyrillic, etc.) and not any typographic considerations.\n *\n * Much less clear is the choice of width for the Not East Asian\n * (Neutral) class. Existing practice does not dictate a width for any\n * of these characters. It would nevertheless make sense\n * typographically to allocate two character cells to characters such\n * as for instance EM SPACE or VOLUME INTEGRAL, which cannot be\n * represented adequately with a single-width glyph. The following\n * routines at present merely assign a single-cell width to all\n * neutral characters, in the interest of simplicity. This is not\n * entirely satisfactory and should be reconsidered before\n * establishing a formal standard in lib.wc area. At the moment, the\n * decision which Not East Asian (Neutral) characters should be\n * represented by double-width glyphs cannot yet be answered by\n * applying a simple rule from the Unicode database content. Setting\n * up a proper standard for the behavior of UTF-8 character terminals\n * will require a careful analysis not only of each Unicode character,\n * but also of each presentation form, something the author of these\n * routines has avoided to do so far.\n *\n * http://www.unicode.org/unicode/reports/tr11/\n *\n * Markus Kuhn -- 2007-05-26 (Unicode 5.0)\n *\n * Permission to use, copy, modify, and distribute lib.wc software\n * for any purpose and without fee is hereby granted. The author\n * disclaims all warranties with regard to lib.wc software.\n *\n * Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c\n */\n\n/**\n * The following function defines the column width of an ISO 10646 character\n * as follows:\n *\n * - The null character (U+0000) has a column width of 0.\n * - Other C0/C1 control characters and DEL will lead to a return value of -1.\n * - Non-spacing and enclosing combining characters (general category code Mn\n * or Me in the Unicode database) have a column width of 0.\n * - SOFT HYPHEN (U+00AD) has a column width of 1.\n * - Other format characters (general category code Cf in the Unicode database)\n * and ZERO WIDTH SPACE (U+200B) have a column width of 0.\n * - Hangul Jamo medial vowels and final consonants (U+1160-U+11FF) have a\n * column width of 0.\n * - Spacing characters in the East Asian Wide (W) or East Asian Full-width (F)\n * category as defined in Unicode Technical Report #11 have a column width of\n * 2.\n * - East Asian Ambiguous characters are taken into account if\n * regardCjkAmbiguous flag is enabled. They have a column width of 2.\n * - All remaining characters (including all printable ISO 8859-1 and WGL4\n * characters, Unicode control characters, etc.) have a column width of 1.\n *\n * This implementation assumes that characters are encoded in ISO 10646.\n */\n\nlib.wc = {};\n\n// Width of a nul character.\nlib.wc.nulWidth = 0;\n\n// Width of a control character.\nlib.wc.controlWidth = 0;\n\n// Flag whether to consider East Asian Ambiguous characters.\nlib.wc.regardCjkAmbiguous = false;\n\n// Width of an East Asian Ambiguous character.\nlib.wc.cjkAmbiguousWidth = 2;\n\n// Sorted list of non-overlapping intervals of non-spacing characters\n// generated by \"uniset +cat=Me +cat=Mn +cat=Cf -00AD +1160-11FF +200B c\"\nlib.wc.combining = [\n [ 0x0300, 0x036F ], [ 0x0483, 0x0486 ], [ 0x0488, 0x0489 ],\n [ 0x0591, 0x05BD ], [ 0x05BF, 0x05BF ], [ 0x05C1, 0x05C2 ],\n [ 0x05C4, 0x05C5 ], [ 0x05C7, 0x05C7 ], [ 0x0600, 0x0603 ],\n [ 0x0610, 0x0615 ], [ 0x064B, 0x065E ], [ 0x0670, 0x0670 ],\n [ 0x06D6, 0x06E4 ], [ 0x06E7, 0x06E8 ], [ 0x06EA, 0x06ED ],\n [ 0x070F, 0x070F ], [ 0x0711, 0x0711 ], [ 0x0730, 0x074A ],\n [ 0x07A6, 0x07B0 ], [ 0x07EB, 0x07F3 ], [ 0x0901, 0x0902 ],\n [ 0x093C, 0x093C ], [ 0x0941, 0x0948 ], [ 0x094D, 0x094D ],\n [ 0x0951, 0x0954 ], [ 0x0962, 0x0963 ], [ 0x0981, 0x0981 ],\n [ 0x09BC, 0x09BC ], [ 0x09C1, 0x09C4 ], [ 0x09CD, 0x09CD ],\n [ 0x09E2, 0x09E3 ], [ 0x0A01, 0x0A02 ], [ 0x0A3C, 0x0A3C ],\n [ 0x0A41, 0x0A42 ], [ 0x0A47, 0x0A48 ], [ 0x0A4B, 0x0A4D ],\n [ 0x0A70, 0x0A71 ], [ 0x0A81, 0x0A82 ], [ 0x0ABC, 0x0ABC ],\n [ 0x0AC1, 0x0AC5 ], [ 0x0AC7, 0x0AC8 ], [ 0x0ACD, 0x0ACD ],\n [ 0x0AE2, 0x0AE3 ], [ 0x0B01, 0x0B01 ], [ 0x0B3C, 0x0B3C ],\n [ 0x0B3F, 0x0B3F ], [ 0x0B41, 0x0B43 ], [ 0x0B4D, 0x0B4D ],\n [ 0x0B56, 0x0B56 ], [ 0x0B82, 0x0B82 ], [ 0x0BC0, 0x0BC0 ],\n [ 0x0BCD, 0x0BCD ], [ 0x0C3E, 0x0C40 ], [ 0x0C46, 0x0C48 ],\n [ 0x0C4A, 0x0C4D ], [ 0x0C55, 0x0C56 ], [ 0x0CBC, 0x0CBC ],\n [ 0x0CBF, 0x0CBF ], [ 0x0CC6, 0x0CC6 ], [ 0x0CCC, 0x0CCD ],\n [ 0x0CE2, 0x0CE3 ], [ 0x0D41, 0x0D43 ], [ 0x0D4D, 0x0D4D ],\n [ 0x0DCA, 0x0DCA ], [ 0x0DD2, 0x0DD4 ], [ 0x0DD6, 0x0DD6 ],\n [ 0x0E31, 0x0E31 ], [ 0x0E34, 0x0E3A ], [ 0x0E47, 0x0E4E ],\n [ 0x0EB1, 0x0EB1 ], [ 0x0EB4, 0x0EB9 ], [ 0x0EBB, 0x0EBC ],\n [ 0x0EC8, 0x0ECD ], [ 0x0F18, 0x0F19 ], [ 0x0F35, 0x0F35 ],\n [ 0x0F37, 0x0F37 ], [ 0x0F39, 0x0F39 ], [ 0x0F71, 0x0F7E ],\n [ 0x0F80, 0x0F84 ], [ 0x0F86, 0x0F87 ], [ 0x0F90, 0x0F97 ],\n [ 0x0F99, 0x0FBC ], [ 0x0FC6, 0x0FC6 ], [ 0x102D, 0x1030 ],\n [ 0x1032, 0x1032 ], [ 0x1036, 0x1037 ], [ 0x1039, 0x1039 ],\n [ 0x1058, 0x1059 ], [ 0x1160, 0x11FF ], [ 0x135F, 0x135F ],\n [ 0x1712, 0x1714 ], [ 0x1732, 0x1734 ], [ 0x1752, 0x1753 ],\n [ 0x1772, 0x1773 ], [ 0x17B4, 0x17B5 ], [ 0x17B7, 0x17BD ],\n [ 0x17C6, 0x17C6 ], [ 0x17C9, 0x17D3 ], [ 0x17DD, 0x17DD ],\n [ 0x180B, 0x180D ], [ 0x18A9, 0x18A9 ], [ 0x1920, 0x1922 ],\n [ 0x1927, 0x1928 ], [ 0x1932, 0x1932 ], [ 0x1939, 0x193B ],\n [ 0x1A17, 0x1A18 ], [ 0x1B00, 0x1B03 ], [ 0x1B34, 0x1B34 ],\n [ 0x1B36, 0x1B3A ], [ 0x1B3C, 0x1B3C ], [ 0x1B42, 0x1B42 ],\n [ 0x1B6B, 0x1B73 ], [ 0x1DC0, 0x1DCA ], [ 0x1DFE, 0x1DFF ],\n [ 0x200B, 0x200F ], [ 0x202A, 0x202E ], [ 0x2060, 0x2063 ],\n [ 0x206A, 0x206F ], [ 0x20D0, 0x20EF ], [ 0x302A, 0x302F ],\n [ 0x3099, 0x309A ], [ 0xA806, 0xA806 ], [ 0xA80B, 0xA80B ],\n [ 0xA825, 0xA826 ], [ 0xFB1E, 0xFB1E ], [ 0xFE00, 0xFE0F ],\n [ 0xFE20, 0xFE23 ], [ 0xFEFF, 0xFEFF ], [ 0xFFF9, 0xFFFB ],\n [ 0x10A01, 0x10A03 ], [ 0x10A05, 0x10A06 ], [ 0x10A0C, 0x10A0F ],\n [ 0x10A38, 0x10A3A ], [ 0x10A3F, 0x10A3F ], [ 0x1D167, 0x1D169 ],\n [ 0x1D173, 0x1D182 ], [ 0x1D185, 0x1D18B ], [ 0x1D1AA, 0x1D1AD ],\n [ 0x1D242, 0x1D244 ], [ 0xE0001, 0xE0001 ], [ 0xE0020, 0xE007F ],\n [ 0xE0100, 0xE01EF ]\n];\n\n// Sorted list of non-overlapping intervals of East Asian Ambiguous characters\n// generated by \"uniset +WIDTH-A -cat=Me -cat=Mn -cat=Cf c\"\nlib.wc.ambiguous = [\n [ 0x00A1, 0x00A1 ], [ 0x00A4, 0x00A4 ], [ 0x00A7, 0x00A8 ],\n [ 0x00AA, 0x00AA ], [ 0x00AE, 0x00AE ], [ 0x00B0, 0x00B4 ],\n [ 0x00B6, 0x00BA ], [ 0x00BC, 0x00BF ], [ 0x00C6, 0x00C6 ],\n [ 0x00D0, 0x00D0 ], [ 0x00D7, 0x00D8 ], [ 0x00DE, 0x00E1 ],\n [ 0x00E6, 0x00E6 ], [ 0x00E8, 0x00EA ], [ 0x00EC, 0x00ED ],\n [ 0x00F0, 0x00F0 ], [ 0x00F2, 0x00F3 ], [ 0x00F7, 0x00FA ],\n [ 0x00FC, 0x00FC ], [ 0x00FE, 0x00FE ], [ 0x0101, 0x0101 ],\n [ 0x0111, 0x0111 ], [ 0x0113, 0x0113 ], [ 0x011B, 0x011B ],\n [ 0x0126, 0x0127 ], [ 0x012B, 0x012B ], [ 0x0131, 0x0133 ],\n [ 0x0138, 0x0138 ], [ 0x013F, 0x0142 ], [ 0x0144, 0x0144 ],\n [ 0x0148, 0x014B ], [ 0x014D, 0x014D ], [ 0x0152, 0x0153 ],\n [ 0x0166, 0x0167 ], [ 0x016B, 0x016B ], [ 0x01CE, 0x01CE ],\n [ 0x01D0, 0x01D0 ], [ 0x01D2, 0x01D2 ], [ 0x01D4, 0x01D4 ],\n [ 0x01D6, 0x01D6 ], [ 0x01D8, 0x01D8 ], [ 0x01DA, 0x01DA ],\n [ 0x01DC, 0x01DC ], [ 0x0251, 0x0251 ], [ 0x0261, 0x0261 ],\n [ 0x02C4, 0x02C4 ], [ 0x02C7, 0x02C7 ], [ 0x02C9, 0x02CB ],\n [ 0x02CD, 0x02CD ], [ 0x02D0, 0x02D0 ], [ 0x02D8, 0x02DB ],\n [ 0x02DD, 0x02DD ], [ 0x02DF, 0x02DF ], [ 0x0391, 0x03A1 ],\n [ 0x03A3, 0x03A9 ], [ 0x03B1, 0x03C1 ], [ 0x03C3, 0x03C9 ],\n [ 0x0401, 0x0401 ], [ 0x0410, 0x044F ], [ 0x0451, 0x0451 ],\n [ 0x2010, 0x2010 ], [ 0x2013, 0x2016 ], [ 0x2018, 0x2019 ],\n [ 0x201C, 0x201D ], [ 0x2020, 0x2022 ], [ 0x2024, 0x2027 ],\n [ 0x2030, 0x2030 ], [ 0x2032, 0x2033 ], [ 0x2035, 0x2035 ],\n [ 0x203B, 0x203B ], [ 0x203E, 0x203E ], [ 0x2074, 0x2074 ],\n [ 0x207F, 0x207F ], [ 0x2081, 0x2084 ], [ 0x20AC, 0x20AC ],\n [ 0x2103, 0x2103 ], [ 0x2105, 0x2105 ], [ 0x2109, 0x2109 ],\n [ 0x2113, 0x2113 ], [ 0x2116, 0x2116 ], [ 0x2121, 0x2122 ],\n [ 0x2126, 0x2126 ], [ 0x212B, 0x212B ], [ 0x2153, 0x2154 ],\n [ 0x215B, 0x215E ], [ 0x2160, 0x216B ], [ 0x2170, 0x2179 ],\n [ 0x2190, 0x2199 ], [ 0x21B8, 0x21B9 ], [ 0x21D2, 0x21D2 ],\n [ 0x21D4, 0x21D4 ], [ 0x21E7, 0x21E7 ], [ 0x2200, 0x2200 ],\n [ 0x2202, 0x2203 ], [ 0x2207, 0x2208 ], [ 0x220B, 0x220B ],\n [ 0x220F, 0x220F ], [ 0x2211, 0x2211 ], [ 0x2215, 0x2215 ],\n [ 0x221A, 0x221A ], [ 0x221D, 0x2220 ], [ 0x2223, 0x2223 ],\n [ 0x2225, 0x2225 ], [ 0x2227, 0x222C ], [ 0x222E, 0x222E ],\n [ 0x2234, 0x2237 ], [ 0x223C, 0x223D ], [ 0x2248, 0x2248 ],\n [ 0x224C, 0x224C ], [ 0x2252, 0x2252 ], [ 0x2260, 0x2261 ],\n [ 0x2264, 0x2267 ], [ 0x226A, 0x226B ], [ 0x226E, 0x226F ],\n [ 0x2282, 0x2283 ], [ 0x2286, 0x2287 ], [ 0x2295, 0x2295 ],\n [ 0x2299, 0x2299 ], [ 0x22A5, 0x22A5 ], [ 0x22BF, 0x22BF ],\n [ 0x2312, 0x2312 ], [ 0x2460, 0x24E9 ], [ 0x24EB, 0x254B ],\n [ 0x2550, 0x2573 ], [ 0x2580, 0x258F ], [ 0x2592, 0x2595 ],\n [ 0x25A0, 0x25A1 ], [ 0x25A3, 0x25A9 ], [ 0x25B2, 0x25B3 ],\n [ 0x25B6, 0x25B7 ], [ 0x25BC, 0x25BD ], [ 0x25C0, 0x25C1 ],\n [ 0x25C6, 0x25C8 ], [ 0x25CB, 0x25CB ], [ 0x25CE, 0x25D1 ],\n [ 0x25E2, 0x25E5 ], [ 0x25EF, 0x25EF ], [ 0x2605, 0x2606 ],\n [ 0x2609, 0x2609 ], [ 0x260E, 0x260F ], [ 0x2614, 0x2615 ],\n [ 0x261C, 0x261C ], [ 0x261E, 0x261E ], [ 0x2640, 0x2640 ],\n [ 0x2642, 0x2642 ], [ 0x2660, 0x2661 ], [ 0x2663, 0x2665 ],\n [ 0x2667, 0x266A ], [ 0x266C, 0x266D ], [ 0x266F, 0x266F ],\n [ 0x273D, 0x273D ], [ 0x2776, 0x277F ], [ 0xE000, 0xF8FF ],\n [ 0xFFFD, 0xFFFD ], [ 0xF0000, 0xFFFFD ], [ 0x100000, 0x10FFFD ]\n];\n\n/**\n * Binary search to check if the given unicode character is a space character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {boolean} True if the given character is a space character; false\n * otherwise.\n */\nlib.wc.isSpace = function(ucs) {\n // Auxiliary function for binary search in interval table.\n var min = 0, max = lib.wc.combining.length - 1;\n var mid;\n\n if (ucs < lib.wc.combining[0][0] || ucs > lib.wc.combining[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > lib.wc.combining[mid][1]) {\n min = mid + 1;\n } else if (ucs < lib.wc.combining[mid][0]) {\n max = mid - 1;\n } else {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * Auxiliary function for checking if the given unicode character is a East\n * Asian Ambiguous character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {boolean} True if the given character is a East Asian Ambiguous\n * character.\n */\nlib.wc.isCjkAmbiguous = function(ucs) {\n var min = 0, max = lib.wc.ambiguous.length - 1;\n var mid;\n\n if (ucs < lib.wc.ambiguous[0][0] || ucs > lib.wc.ambiguous[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > lib.wc.ambiguous[mid][1]) {\n min = mid + 1;\n } else if (ucs < lib.wc.ambiguous[mid][0]) {\n max = mid - 1;\n } else {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * Determine the column width of the given character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidth = function(ucs) {\n if (lib.wc.regardCjkAmbiguous) {\n return lib.wc.charWidthRegardAmbiguous(ucs);\n } else {\n return lib.wc.charWidthDisregardAmbiguous(ucs);\n }\n};\n\n/**\n * Determine the column width of the given character without considering East\n * Asian Ambiguous characters.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidthDisregardAmbiguous = function(ucs) {\n // Test for 8-bit control characters.\n if (ucs === 0)\n return lib.wc.nulWidth;\n if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0))\n return lib.wc.controlWidth;\n\n // Optimize for ASCII characters.\n if (ucs < 0x7f)\n return 1;\n\n // Binary search in table of non-spacing characters.\n if (lib.wc.isSpace(ucs))\n return 0;\n\n // If we arrive here, ucs is not a combining or C0/C1 control character.\n return 1 +\n (ucs >= 0x1100 &&\n (ucs <= 0x115f || // Hangul Jamo init. consonants\n ucs == 0x2329 || ucs == 0x232a ||\n (ucs >= 0x2e80 && ucs <= 0xa4cf &&\n ucs != 0x303f) || // CJK ... Yi\n (ucs >= 0xac00 && ucs <= 0xd7a3) || // Hangul Syllables\n (ucs >= 0xf900 && ucs <= 0xfaff) || // CJK Compatibility Ideographs\n (ucs >= 0xfe10 && ucs <= 0xfe19) || // Vertical forms\n (ucs >= 0xfe30 && ucs <= 0xfe6f) || // CJK Compatibility Forms\n (ucs >= 0xff00 && ucs <= 0xff60) || // Fullwidth Forms\n (ucs >= 0xffe0 && ucs <= 0xffe6) ||\n (ucs >= 0x20000 && ucs <= 0x2fffd) ||\n (ucs >= 0x30000 && ucs <= 0x3fffd)));\n // TODO: emoji characters usually require space for wide characters although\n // East Asian width spec says nothing. Should we add special cases for them?\n};\n\n/**\n * Determine the column width of the given character considering East Asian\n * Ambiguous characters.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidthRegardAmbiguous = function(ucs) {\n if (lib.wc.isCjkAmbiguous(ucs))\n return lib.wc.cjkAmbiguousWidth;\n\n return lib.wc.charWidthDisregardAmbiguous(ucs);\n};\n\n/**\n * Determine the column width of the given string.\n *\n * @param {string} str A string.\n *\n * @return {integer} The column width of the given string.\n */\nlib.wc.strWidth = function(str) {\n var width, rv = 0;\n\n for (var i = 0; i < str.length;) {\n var codePoint = str.codePointAt(i);\n width = lib.wc.charWidth(codePoint);\n if (width < 0)\n return -1;\n rv += width;\n i += (codePoint <= 0xffff) ? 1 : 2;\n }\n\n return rv;\n};\n\n/**\n * Get the substring at the given column offset of the given column width.\n *\n * @param {string} str The string to get substring from.\n * @param {integer} start The starting column offset to get substring.\n * @param {integer} opt_width The column width of the substring.\n *\n * @return {string} The substring.\n */\nlib.wc.substr = function(str, start, opt_width) {\n var startIndex, endIndex, width;\n\n for (startIndex = 0, width = 0; startIndex < str.length; startIndex++) {\n width += lib.wc.charWidth(str.charCodeAt(startIndex));\n if (width > start)\n break;\n }\n\n if (opt_width != undefined) {\n for (endIndex = startIndex, width = 0;\n endIndex < str.length && width <= opt_width;\n width += lib.wc.charWidth(str.charCodeAt(endIndex)), endIndex++);\n if (width > opt_width)\n endIndex--;\n return str.substring(startIndex, endIndex);\n }\n\n return str.substr(startIndex);\n};\n\n/**\n * Get substring at the given start and end column offset.\n *\n * @param {string} str The string to get substring from.\n * @param {integer} start The starting column offset.\n * @param {integer} end The ending column offset.\n *\n * @return {string} The substring.\n */\nlib.wc.substring = function(str, start, end) {\n return lib.wc.substr(str, start, end - start);\n};\nlib.resource.add('libdot/changelog/version', 'text/plain',\n'1.16' +\n''\n);\n\nlib.resource.add('libdot/changelog/date', 'text/plain',\n'2017-08-16' +\n''\n);\n\n// SOURCE FILE: hterm/js/hterm.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.Storage');\n\n/**\n * @fileoverview Declares the hterm.* namespace and some basic shared utilities\n * that are too small to deserve dedicated files.\n */\nvar hterm = {};\n\n/**\n * The type of window hosting hterm.\n *\n * This is set as part of hterm.init(). The value is invalid until\n * initialization completes.\n */\nhterm.windowType = null;\n\n/**\n * Warning message to display in the terminal when browser zoom is enabled.\n *\n * You can replace it with your own localized message.\n */\nhterm.zoomWarningMessage = 'ZOOM != 100%';\n\n/**\n * Brief overlay message displayed when text is copied to the clipboard.\n *\n * By default it is the unicode BLACK SCISSORS character, but you can\n * replace it with your own localized message.\n *\n * This is only displayed when the 'enable-clipboard-notice' preference\n * is enabled.\n */\nhterm.notifyCopyMessage = '\\u2702';\n\n\n/**\n * Text shown in a desktop notification for the terminal\n * bell. \\u226a is a unicode EIGHTH NOTE, %(title) will\n * be replaced by the terminal title.\n */\nhterm.desktopNotificationTitle = '\\u266A %(title) \\u266A';\n\n/**\n * List of known hterm test suites.\n *\n * A test harness should ensure that they all exist before running.\n */\nhterm.testDeps = ['hterm.ScrollPort.Tests', 'hterm.Screen.Tests',\n 'hterm.Terminal.Tests', 'hterm.VT.Tests',\n 'hterm.VT.CannedTests'];\n\n/**\n * The hterm init function, registered with lib.registerInit().\n *\n * This is called during lib.init().\n *\n * @param {function} onInit The function lib.init() wants us to invoke when\n * initialization is complete.\n */\nlib.registerInit('hterm', function(onInit) {\n function onWindow(window) {\n hterm.windowType = window.type;\n setTimeout(onInit, 0);\n }\n\n function onTab(tab) {\n if (tab && window.chrome) {\n chrome.windows.get(tab.windowId, null, onWindow);\n } else {\n // TODO(rginda): This is where we end up for a v1 app's background page.\n // Maybe windowType = 'none' would be more appropriate, or something.\n hterm.windowType = 'normal';\n setTimeout(onInit, 0);\n }\n }\n\n if (!hterm.defaultStorage) {\n if (window.chrome && chrome.storage && chrome.storage.sync) {\n hterm.defaultStorage = new lib.Storage.Chrome(chrome.storage.sync);\n } else {\n hterm.defaultStorage = new lib.Storage.Local();\n }\n }\n\n // The chrome.tabs API is not supported in packaged apps, and detecting if\n // you're a packaged app is a little awkward.\n var isPackagedApp = false;\n if (window.chrome && chrome.runtime && chrome.runtime.getManifest) {\n var manifest = chrome.runtime.getManifest();\n isPackagedApp = manifest.app && manifest.app.background;\n }\n\n if (isPackagedApp) {\n // Packaged apps are never displayed in browser tabs.\n setTimeout(onWindow.bind(null, {type: 'popup'}), 0);\n } else {\n if (window.chrome && chrome.tabs) {\n // The getCurrent method gets the tab that is \"currently running\", not the\n // topmost or focused tab.\n chrome.tabs.getCurrent(onTab);\n } else {\n setTimeout(onWindow.bind(null, {type: 'normal'}), 0);\n }\n }\n});\n\n/**\n * Return decimal { width, height } for a given dom node.\n */\nhterm.getClientSize = function(dom) {\n return dom.getBoundingClientRect();\n};\n\n/**\n * Return decimal width for a given dom node.\n */\nhterm.getClientWidth = function(dom) {\n return dom.getBoundingClientRect().width;\n};\n\n/**\n * Return decimal height for a given dom node.\n */\nhterm.getClientHeight = function(dom) {\n return dom.getBoundingClientRect().height;\n};\n\n/**\n * Copy the current selection to the system clipboard.\n *\n * @param {HTMLDocument} The document with the selection to copy.\n */\nhterm.copySelectionToClipboard = function(document) {\n try {\n document.execCommand('copy');\n } catch (firefoxException) {\n // Ignore this. FF throws an exception if there was an error, even though\n // the spec says just return false.\n }\n};\n\n/**\n * Paste the system clipboard into the element with focus.\n *\n * Note: In Chrome/Firefox app/extension environments, you'll need the\n * \"clipboardRead\" permission. In other environments, this might always\n * fail as the browser frequently blocks access for security reasons.\n *\n * @param {HTMLDocument} The document to paste into.\n * @return {boolean} True if the paste succeeded.\n */\nhterm.pasteFromClipboard = function(document) {\n try {\n return document.execCommand('paste');\n } catch (firefoxException) {\n // Ignore this. FF 40 and older would incorrectly throw an exception if\n // there was an error instead of returning false.\n return false;\n }\n};\n\n/**\n * Create a new notification.\n *\n * @param {Object} params Various parameters for the notification.\n * @param {string} params.title The title (defaults to the window's title).\n * @param {string} params.body The message body (main text).\n */\nhterm.notify = function(params) {\n var def = (curr, fallback) => curr !== undefined ? curr : fallback;\n if (params === undefined || params === null)\n params = {};\n\n // Merge the user's choices with the default settings. We don't take it\n // directly in case it was stuffed with excess junk.\n var options = {\n 'body': params.body,\n 'icon': def(params.icon, lib.resource.getDataUrl('hterm/images/icon-96')),\n }\n\n var title = def(params.title, window.document.title);\n if (!title)\n title = 'hterm';\n title = lib.f.replaceVars(hterm.desktopNotificationTitle, {'title': title});\n\n var n = new Notification(title, options);\n n.onclick = function() {\n window.focus();\n this.close();\n };\n return n;\n};\n\n/**\n * Constructor for a hterm.Size record.\n *\n * Instances of this class have public read/write members for width and height.\n *\n * @param {integer} width The width of this record.\n * @param {integer} height The height of this record.\n */\nhterm.Size = function(width, height) {\n this.width = width;\n this.height = height;\n};\n\n/**\n * Adjust the width and height of this record.\n *\n * @param {integer} width The new width of this record.\n * @param {integer} height The new height of this record.\n */\nhterm.Size.prototype.resize = function(width, height) {\n this.width = width;\n this.height = height;\n};\n\n/**\n * Return a copy of this record.\n *\n * @return {hterm.Size} A new hterm.Size instance with the same width and\n * height.\n */\nhterm.Size.prototype.clone = function() {\n return new hterm.Size(this.width, this.height);\n};\n\n/**\n * Set the height and width of this instance based on another hterm.Size.\n *\n * @param {hterm.Size} that The object to copy from.\n */\nhterm.Size.prototype.setTo = function(that) {\n this.width = that.width;\n this.height = that.height;\n};\n\n/**\n * Test if another hterm.Size instance is equal to this one.\n *\n * @param {hterm.Size} that The other hterm.Size instance.\n * @return {boolean} True if both instances have the same width/height, false\n * otherwise.\n */\nhterm.Size.prototype.equals = function(that) {\n return this.width == that.width && this.height == that.height;\n};\n\n/**\n * Return a string representation of this instance.\n *\n * @return {string} A string that identifies the width and height of this\n * instance.\n */\nhterm.Size.prototype.toString = function() {\n return '[hterm.Size: ' + this.width + ', ' + this.height + ']';\n};\n\n/**\n * Constructor for a hterm.RowCol record.\n *\n * Instances of this class have public read/write members for row and column.\n *\n * This class includes an 'overflow' bit which is use to indicate that an\n * attempt has been made to move the cursor column passed the end of the\n * screen. When this happens we leave the cursor column set to the last column\n * of the screen but set the overflow bit. In this state cursor movement\n * happens normally, but any attempt to print new characters causes a cr/lf\n * first.\n *\n * @param {integer} row The row of this record.\n * @param {integer} column The column of this record.\n * @param {boolean} opt_overflow Optional boolean indicating that the RowCol\n * has overflowed.\n */\nhterm.RowCol = function(row, column, opt_overflow) {\n this.row = row;\n this.column = column;\n this.overflow = !!opt_overflow;\n};\n\n/**\n * Adjust the row and column of this record.\n *\n * @param {integer} row The new row of this record.\n * @param {integer} column The new column of this record.\n * @param {boolean} opt_overflow Optional boolean indicating that the RowCol\n * has overflowed.\n */\nhterm.RowCol.prototype.move = function(row, column, opt_overflow) {\n this.row = row;\n this.column = column;\n this.overflow = !!opt_overflow;\n};\n\n/**\n * Return a copy of this record.\n *\n * @return {hterm.RowCol} A new hterm.RowCol instance with the same row and\n * column.\n */\nhterm.RowCol.prototype.clone = function() {\n return new hterm.RowCol(this.row, this.column, this.overflow);\n};\n\n/**\n * Set the row and column of this instance based on another hterm.RowCol.\n *\n * @param {hterm.RowCol} that The object to copy from.\n */\nhterm.RowCol.prototype.setTo = function(that) {\n this.row = that.row;\n this.column = that.column;\n this.overflow = that.overflow;\n};\n\n/**\n * Test if another hterm.RowCol instance is equal to this one.\n *\n * @param {hterm.RowCol} that The other hterm.RowCol instance.\n * @return {boolean} True if both instances have the same row/column, false\n * otherwise.\n */\nhterm.RowCol.prototype.equals = function(that) {\n return (this.row == that.row && this.column == that.column &&\n this.overflow == that.overflow);\n};\n\n/**\n * Return a string representation of this instance.\n *\n * @return {string} A string that identifies the row and column of this\n * instance.\n */\nhterm.RowCol.prototype.toString = function() {\n return ('[hterm.RowCol: ' + this.row + ', ' + this.column + ', ' +\n this.overflow + ']');\n};\n// SOURCE FILE: hterm/js/hterm_frame.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f');\n\n/**\n * First draft of the interface between the terminal and a third party dialog.\n *\n * This is rough. It's just the terminal->dialog layer. To complete things\n * we'll also need a command->terminal layer. That will have to facilitate\n * command->terminal->dialog or direct command->dialog communication.\n *\n * I imagine this class will change significantly when that happens.\n */\n\n/**\n * Construct a new frame for the given terminal.\n *\n * @param terminal {hterm.Terminal} The parent terminal object.\n * @param url {String} The url to load in the frame.\n * @param opt_options {Object} Optional options for the frame. Not implemented.\n */\nhterm.Frame = function(terminal, url, opt_options) {\n this.terminal_ = terminal;\n this.div_ = terminal.div_;\n this.url = url;\n this.options = opt_options || {};\n this.iframe_ = null;\n this.container_ = null;\n this.messageChannel_ = null;\n};\n\n/**\n * Handle messages from the iframe.\n */\nhterm.Frame.prototype.onMessage_ = function(e) {\n switch (e.data.name) {\n case 'ipc-init-ok':\n // We get this response after we send them ipc-init and they finish.\n this.sendTerminalInfo_();\n return;\n case 'terminal-info-ok':\n // We get this response after we send them terminal-info and they finish.\n // Show the finished frame, and then rebind our message handler to the\n // callback below.\n this.container_.style.display = 'flex';\n this.messageChannel_.port1.onmessage = this.onMessage.bind(this);\n this.onLoad();\n return;\n default:\n console.log('Unknown message from frame:', e.data);\n return;\n }\n};\n\n/**\n * Clients could override this, I guess.\n *\n * It doesn't support multiple listeners, but I'm not sure that would make sense\n * here. It's probably better to speak directly to our parents.\n */\nhterm.Frame.prototype.onMessage = function() {};\n\n/**\n * Handle iframe onLoad event.\n */\nhterm.Frame.prototype.onLoad_ = function() {\n this.messageChannel_ = new MessageChannel();\n this.messageChannel_.port1.onmessage = this.onMessage_.bind(this);\n this.messageChannel_.port1.start();\n this.iframe_.contentWindow.postMessage(\n {name: 'ipc-init', argv: [{messagePort: this.messageChannel_.port2}]},\n this.url, [this.messageChannel_.port2]);\n};\n\n/**\n * Clients may override this.\n */\nhterm.Frame.prototype.onLoad = function() {};\n\n/**\n * Sends the terminal-info message to the iframe.\n */\nhterm.Frame.prototype.sendTerminalInfo_ = function() {\n lib.f.getAcceptLanguages(function(languages) {\n this.postMessage('terminal-info', [{\n acceptLanguages: languages,\n foregroundColor: this.terminal_.getForegroundColor(),\n backgroundColor: this.terminal_.getBackgroundColor(),\n cursorColor: this.terminal_.getCursorColor(),\n fontSize: this.terminal_.getFontSize(),\n fontFamily: this.terminal_.getFontFamily(),\n baseURL: lib.f.getURL('/')\n }]\n );\n }.bind(this));\n};\n\n/**\n * User clicked the close button on the frame decoration.\n */\nhterm.Frame.prototype.onCloseClicked_ = function() {\n this.close();\n};\n\n/**\n * Close this frame.\n */\nhterm.Frame.prototype.close = function() {\n if (!this.container_ || !this.container_.parentNode)\n return;\n\n this.container_.parentNode.removeChild(this.container_);\n this.onClose();\n};\n\n\n/**\n * Clients may override this.\n */\nhterm.Frame.prototype.onClose = function() {};\n\n/**\n * Send a message to the iframe.\n */\nhterm.Frame.prototype.postMessage = function(name, argv) {\n if (!this.messageChannel_)\n throw new Error('Message channel is not set up.');\n\n this.messageChannel_.port1.postMessage({name: name, argv: argv});\n};\n\n/**\n * Show the UI for this frame.\n *\n * The iframe src is not loaded until this method is called.\n */\nhterm.Frame.prototype.show = function() {\n var self = this;\n\n function opt(name, defaultValue) {\n if (name in self.options)\n return self.options[name];\n\n return defaultValue;\n }\n\n var self = this;\n\n if (this.container_ && this.container_.parentNode) {\n console.error('Frame already visible');\n return;\n }\n\n var headerHeight = '16px';\n\n var divSize = hterm.getClientSize(this.div_);\n\n var width = opt('width', 640);\n var height = opt('height', 480);\n var left = (divSize.width - width) / 2;\n var top = (divSize.height - height) / 2;\n\n var document = this.terminal_.document_;\n\n var container = this.container_ = document.createElement('div');\n container.style.cssText = (\n 'position: absolute;' +\n 'display: none;' +\n 'flex-direction: column;' +\n 'top: 10%;' +\n 'left: 4%;' +\n 'width: 90%;' +\n 'height: 80%;' +\n 'min-height: 20%;' +\n 'max-height: 80%;' +\n 'box-shadow: 0 0 2px ' + this.terminal_.getForegroundColor() + ';' +\n 'border: 2px ' + this.terminal_.getForegroundColor() + ' solid;');\n\n if (false) {\n // No use for the close button, so no use for the window header either.\n var header = document.createElement('div');\n header.style.cssText = (\n 'display: flex;' +\n 'justify-content: flex-end;' +\n 'height: ' + headerHeight + ';' +\n 'background-color: ' + this.terminal_.getForegroundColor() + ';' +\n 'color: ' + this.terminal_.getBackgroundColor() + ';' +\n 'font-size: 16px;' +\n 'font-family: ' + this.terminal_.getFontFamily());\n container.appendChild(header);\n\n var button = document.createElement('div');\n button.setAttribute('role', 'button');\n button.style.cssText = (\n 'margin-top: -3px;' +\n 'margin-right: 3px;' +\n 'cursor: pointer;');\n button.textContent = '\\u2a2f';\n button.addEventListener('click', this.onCloseClicked_.bind(this));\n header.appendChild(button);\n }\n\n var iframe = this.iframe_ = document.createElement('iframe');\n iframe.onload = this.onLoad_.bind(this);\n iframe.style.cssText = (\n 'display: flex;' +\n 'flex: 1;' +\n 'width: 100%');\n iframe.setAttribute('src', this.url);\n iframe.setAttribute('seamless', true);\n container.appendChild(iframe);\n\n this.div_.appendChild(container);\n};\n// SOURCE FILE: hterm/js/hterm_keyboard.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyMap');\n\n/**\n * Keyboard handler.\n *\n * Consumes onKey* events and invokes onVTKeystroke on the associated\n * hterm.Terminal object.\n *\n * See also: [XTERM] as referenced in vt.js.\n *\n * @param {hterm.Terminal} The Terminal object associated with this keyboard.\n */\nhterm.Keyboard = function(terminal) {\n // The parent vt interpreter.\n this.terminal = terminal;\n\n // The element we're currently capturing keyboard events for.\n this.keyboardElement_ = null;\n\n // The event handlers we are interested in, and their bound callbacks, saved\n // so they can be uninstalled with removeEventListener, when required.\n this.handlers_ = [\n ['focusout', this.onFocusOut_.bind(this)],\n ['keydown', this.onKeyDown_.bind(this)],\n ['keypress', this.onKeyPress_.bind(this)],\n ['keyup', this.onKeyUp_.bind(this)],\n ['textInput', this.onTextInput_.bind(this)]\n ];\n\n /**\n * The current key map.\n */\n this.keyMap = new hterm.Keyboard.KeyMap(this);\n\n this.bindings = new hterm.Keyboard.Bindings(this);\n\n /**\n * none: Disable any AltGr related munging.\n * ctrl-alt: Assume Ctrl+Alt means AltGr.\n * left-alt: Assume left Alt means AltGr.\n * right-alt: Assume right Alt means AltGr.\n */\n this.altGrMode = 'none';\n\n /**\n * If true, Shift-Insert will fall through to the browser as a paste.\n * If false, the keystroke will be sent to the host.\n */\n this.shiftInsertPaste = true;\n\n /**\n * If true, home/end will control the terminal scrollbar and shift home/end\n * will send the VT keycodes. If false then home/end sends VT codes and\n * shift home/end scrolls.\n */\n this.homeKeysScroll = false;\n\n /**\n * Same as above, except for page up/page down.\n */\n this.pageKeysScroll = false;\n\n /**\n * If true, Ctrl-Plus/Minus/Zero controls zoom.\n * If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_,\n * Ctrl-Plus/Zero do nothing.\n */\n this.ctrlPlusMinusZeroZoom = true;\n\n /**\n * Ctrl+C copies if true, sends ^C to host if false.\n * Ctrl+Shift+C sends ^C to host if true, copies if false.\n */\n this.ctrlCCopy = false;\n\n /**\n * Ctrl+V pastes if true, sends ^V to host if false.\n * Ctrl+Shift+V sends ^V to host if true, pastes if false.\n */\n this.ctrlVPaste = false;\n\n /**\n * Enable/disable application keypad.\n *\n * This changes the way numeric keys are sent from the keyboard.\n */\n this.applicationKeypad = false;\n\n /**\n * Enable/disable the application cursor mode.\n *\n * This changes the way cursor keys are sent from the keyboard.\n */\n this.applicationCursor = false;\n\n /**\n * If true, the backspace should send BS ('\\x08', aka ^H). Otherwise\n * the backspace key should send '\\x7f'.\n */\n this.backspaceSendsBackspace = false;\n\n /**\n * The encoding method for data sent to the host.\n */\n this.characterEncoding = 'utf-8';\n\n /**\n * Set whether the meta key sends a leading escape or not.\n */\n this.metaSendsEscape = true;\n\n /**\n * Set whether meta-V gets passed to host.\n */\n this.passMetaV = true;\n\n /**\n * Controls how the alt key is handled.\n *\n * escape....... Send an ESC prefix.\n * 8-bit........ Add 128 to the unshifted character as in xterm.\n * browser-key.. Wait for the keypress event and see what the browser says.\n * (This won't work well on platforms where the browser\n * performs a default action for some alt sequences.)\n *\n * This setting only matters when alt is distinct from meta (altIsMeta is\n * false.)\n */\n this.altSendsWhat = 'escape';\n\n /**\n * Set whether the alt key acts as a meta key, instead of producing 8-bit\n * characters.\n *\n * True to enable, false to disable, null to autodetect based on platform.\n */\n this.altIsMeta = false;\n\n /**\n * If true, tries to detect DEL key events that are from alt-backspace on\n * Chrome OS vs from a true DEL key press.\n *\n * Background: At the time of writing, on Chrome OS, alt-backspace is mapped\n * to DEL. Some users may be happy with this, but others may be frustrated\n * that it's impossible to do meta-backspace. If the user enables this pref,\n * we use a trick to tell a true DEL keypress from alt-backspace: on\n * alt-backspace, we will see the alt key go down, then get a DEL keystroke\n * that indicates that alt is not pressed. See https://crbug.com/174410 .\n */\n this.altBackspaceIsMetaBackspace = false;\n\n /**\n * Used to keep track of the current alt-key state, which is necessary for\n * the altBackspaceIsMetaBackspace preference above and for the altGrMode\n * preference. This is a bitmap with where bit positions correspond to the\n * \"location\" property of the key event.\n */\n this.altKeyPressed = 0;\n\n /**\n * If true, Chrome OS media keys will be mapped to their F-key equivalent.\n * E.g. \"Back\" will be mapped to F1. If false, Chrome will handle the keys.\n */\n this.mediaKeysAreFKeys = false;\n\n /**\n * Holds the previous setting of altSendsWhat when DECSET 1039 is used. When\n * DECRST 1039 is used, altSendsWhat is changed back to this and this is\n * nulled out.\n */\n this.previousAltSendsWhat_ = null;\n};\n\n/**\n * Special handling for keyCodes in a keyboard layout.\n */\nhterm.Keyboard.KeyActions = {\n /**\n * Call preventDefault and stopPropagation for this key event and nothing\n * else.\n */\n CANCEL: lib.f.createEnum('CANCEL'),\n\n /**\n * This performs the default terminal action for the key. If used in the\n * 'normal' action and the the keystroke represents a printable key, the\n * character will be sent to the host. If used in one of the modifier\n * actions, the terminal will perform the normal action after (possibly)\n * altering it.\n *\n * - If the normal sequence starts with CSI, the sequence will be adjusted\n * to include the modifier parameter as described in [XTERM] in the final\n * table of the \"PC-Style Function Keys\" section.\n *\n * - If the control key is down and the key represents a printable character,\n * and the uppercase version of the unshifted keycap is between\n * 64 (ASCII '@') and 95 (ASCII '_'), then the uppercase version of the\n * unshifted keycap minus 64 is sent. This makes '^@' send '\\x00' and\n * '^_' send '\\x1f'. (Note that one higher that 0x1f is 0x20, which is\n * the first printable ASCII value.)\n *\n * - If the alt key is down and the key represents a printable character then\n * the value of the character is shifted up by 128.\n *\n * - If meta is down and configured to send an escape, '\\x1b' will be sent\n * before the normal action is performed.\n */\n DEFAULT: lib.f.createEnum('DEFAULT'),\n\n /**\n * Causes the terminal to opt out of handling the key event, instead letting\n * the browser deal with it.\n */\n PASS: lib.f.createEnum('PASS'),\n\n /**\n * Insert the first or second character of the keyCap, based on e.shiftKey.\n * The key will be handled in onKeyDown, and e.preventDefault() will be\n * called.\n *\n * It is useful for a modified key action, where it essentially strips the\n * modifier while preventing the browser from reacting to the key.\n */\n STRIP: lib.f.createEnum('STRIP')\n};\n\n/**\n * Encode a string according to the 'send-encoding' preference.\n */\nhterm.Keyboard.prototype.encode = function(str) {\n if (this.characterEncoding == 'utf-8')\n return this.terminal.vt.encodeUTF8(str);\n\n return str;\n};\n\n/**\n * Capture keyboard events sent to the associated element.\n *\n * This enables the keyboard. Captured events are consumed by this class\n * and will not perform their default action or bubble to other elements.\n *\n * Passing a null element will uninstall the keyboard handlers.\n *\n * @param {HTMLElement} element The element whose events should be captured, or\n * null to disable the keyboard.\n */\nhterm.Keyboard.prototype.installKeyboard = function(element) {\n if (element == this.keyboardElement_)\n return;\n\n if (element && this.keyboardElement_)\n this.installKeyboard(null);\n\n for (var i = 0; i < this.handlers_.length; i++) {\n var handler = this.handlers_[i];\n if (element) {\n element.addEventListener(handler[0], handler[1]);\n } else {\n this.keyboardElement_.removeEventListener(handler[0], handler[1]);\n }\n }\n\n this.keyboardElement_ = element;\n};\n\n/**\n * Disable keyboard event capture.\n *\n * This will allow the browser to process key events normally.\n */\nhterm.Keyboard.prototype.uninstallKeyboard = function() {\n this.installKeyboard(null);\n};\n\n/**\n * Handle onTextInput events.\n *\n * We're not actually supposed to get these, but we do on the Mac in the case\n * where a third party app sends synthetic keystrokes to Chrome.\n */\nhterm.Keyboard.prototype.onTextInput_ = function(e) {\n if (!e.data)\n return;\n\n e.data.split('').forEach(this.terminal.onVTKeystroke.bind(this.terminal));\n};\n\n/**\n * Handle onKeyPress events.\n */\nhterm.Keyboard.prototype.onKeyPress_ = function(e) {\n var code;\n\n var key = String.fromCharCode(e.which);\n var lowerKey = key.toLowerCase();\n if ((e.ctrlKey || e.metaKey) && (lowerKey == 'c' || lowerKey == 'v')) {\n // On FF the key press (not key down) event gets fired for copy/paste.\n // Let it fall through for the default browser behavior.\n return;\n }\n\n if (e.altKey && this.altSendsWhat == 'browser-key' && e.charCode == 0) {\n // If we got here because we were expecting the browser to handle an\n // alt sequence but it didn't do it, then we might be on an OS without\n // an enabled IME system. In that case we fall back to xterm-like\n // behavior.\n //\n // This happens here only as a fallback. Typically these platforms should\n // set altSendsWhat to either 'escape' or '8-bit'.\n var ch = String.fromCharCode(e.keyCode);\n if (!e.shiftKey)\n ch = ch.toLowerCase();\n code = ch.charCodeAt(0) + 128;\n\n } else if (e.charCode >= 32) {\n ch = e.charCode;\n }\n\n if (ch)\n this.terminal.onVTKeystroke(String.fromCharCode(ch));\n\n e.preventDefault();\n e.stopPropagation();\n};\n\n/**\n * Prevent default handling for non-ctrl-shifted event.\n *\n * When combined with Chrome permission 'app.window.fullscreen.overrideEsc',\n * and called for both key down and key up events,\n * the ESC key remains usable within fullscreen Chrome app windows.\n */\nhterm.Keyboard.prototype.preventChromeAppNonCtrlShiftDefault_ = function(e) {\n if (!window.chrome || !window.chrome.app || !window.chrome.app.window)\n return;\n if (!e.ctrlKey || !e.shiftKey)\n e.preventDefault();\n};\n\nhterm.Keyboard.prototype.onFocusOut_ = function(e) {\n this.altKeyPressed = 0;\n};\n\nhterm.Keyboard.prototype.onKeyUp_ = function(e) {\n if (e.keyCode == 18)\n this.altKeyPressed = this.altKeyPressed & ~(1 << (e.location - 1));\n\n if (e.keyCode == 27)\n this.preventChromeAppNonCtrlShiftDefault_(e);\n};\n\n/**\n * Handle onKeyDown events.\n */\nhterm.Keyboard.prototype.onKeyDown_ = function(e) {\n if (e.keyCode == 18)\n this.altKeyPressed = this.altKeyPressed | (1 << (e.location - 1));\n\n if (e.keyCode == 27)\n this.preventChromeAppNonCtrlShiftDefault_(e);\n\n var keyDef = this.keyMap.keyDefs[e.keyCode];\n if (!keyDef) {\n console.warn('No definition for keyCode: ' + e.keyCode);\n return;\n }\n\n // The type of action we're going to use.\n var resolvedActionType = null;\n\n var self = this;\n function getAction(name) {\n // Get the key action for the given action name. If the action is a\n // function, dispatch it. If the action defers to the normal action,\n // resolve that instead.\n\n resolvedActionType = name;\n\n var action = keyDef[name];\n if (typeof action == 'function')\n action = action.apply(self.keyMap, [e, keyDef]);\n\n if (action === DEFAULT && name != 'normal')\n action = getAction('normal');\n\n return action;\n }\n\n // Note that we use the triple-equals ('===') operator to test equality for\n // these constants, in order to distinguish usage of the constant from usage\n // of a literal string that happens to contain the same bytes.\n var CANCEL = hterm.Keyboard.KeyActions.CANCEL;\n var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT;\n var PASS = hterm.Keyboard.KeyActions.PASS;\n var STRIP = hterm.Keyboard.KeyActions.STRIP;\n\n var control = e.ctrlKey;\n var alt = this.altIsMeta ? false : e.altKey;\n var meta = this.altIsMeta ? (e.altKey || e.metaKey) : e.metaKey;\n\n // In the key-map, we surround the keyCap for non-printables in \"[...]\"\n var isPrintable = !(/^\\[\\w+\\]$/.test(keyDef.keyCap));\n\n switch (this.altGrMode) {\n case 'ctrl-alt':\n if (isPrintable && control && alt) {\n // ctrl-alt-printable means altGr. We clear out the control and\n // alt modifiers and wait to see the charCode in the keydown event.\n control = false;\n alt = false;\n }\n break;\n\n case 'right-alt':\n if (isPrintable && (this.terminal.keyboard.altKeyPressed & 2)) {\n control = false;\n alt = false;\n }\n break;\n\n case 'left-alt':\n if (isPrintable && (this.terminal.keyboard.altKeyPressed & 1)) {\n control = false;\n alt = false;\n }\n break;\n }\n\n var action;\n\n if (control) {\n action = getAction('control');\n } else if (alt) {\n action = getAction('alt');\n } else if (meta) {\n action = getAction('meta');\n } else {\n action = getAction('normal');\n }\n\n // If e.maskShiftKey was set (during getAction) it means the shift key is\n // already accounted for in the action, and we should not act on it any\n // further. This is currently only used for Ctrl-Shift-Tab, which should send\n // \"CSI Z\", not \"CSI 1 ; 2 Z\".\n var shift = !e.maskShiftKey && e.shiftKey;\n\n var keyDown = {\n keyCode: e.keyCode,\n shift: e.shiftKey, // not `var shift` from above.\n ctrl: control,\n alt: alt,\n meta: meta\n };\n\n var binding = this.bindings.getBinding(keyDown);\n\n if (binding) {\n // Clear out the modifier bits so we don't try to munge the sequence\n // further.\n shift = control = alt = meta = false;\n resolvedActionType = 'normal';\n action = binding.action;\n\n if (typeof action == 'function')\n action = action.call(this, this.terminal, keyDown);\n }\n\n if (alt && this.altSendsWhat == 'browser-key' && action == DEFAULT) {\n // When altSendsWhat is 'browser-key', we wait for the keypress event.\n // In keypress, the browser should have set the event.charCode to the\n // appropriate character.\n // TODO(rginda): Character compositions will need some black magic.\n action = PASS;\n }\n\n if (action === PASS || (action === DEFAULT && !(control || alt || meta))) {\n // If this key is supposed to be handled by the browser, or it is an\n // unmodified key with the default action, then exit this event handler.\n // If it's an unmodified key, it'll be handled in onKeyPress where we\n // can tell for sure which ASCII code to insert.\n //\n // This block needs to come before the STRIP test, otherwise we'll strip\n // the modifier and think it's ok to let the browser handle the keypress.\n // The browser won't know we're trying to ignore the modifiers and might\n // perform some default action.\n return;\n }\n\n if (action === STRIP) {\n alt = control = false;\n action = keyDef.normal;\n if (typeof action == 'function')\n action = action.apply(this.keyMap, [e, keyDef]);\n\n if (action == DEFAULT && keyDef.keyCap.length == 2)\n action = keyDef.keyCap.substr((shift ? 1 : 0), 1);\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n if (action === CANCEL)\n return;\n\n if (action !== DEFAULT && typeof action != 'string') {\n console.warn('Invalid action: ' + JSON.stringify(action));\n return;\n }\n\n // Strip the modifier that is associated with the action, since we assume that\n // modifier has already been accounted for in the action.\n if (resolvedActionType == 'control') {\n control = false;\n } else if (resolvedActionType == 'alt') {\n alt = false;\n } else if (resolvedActionType == 'meta') {\n meta = false;\n }\n\n if (action.substr(0, 2) == '\\x1b[' && (alt || control || shift)) {\n // The action is an escape sequence that and it was triggered in the\n // presence of a keyboard modifier, we may need to alter the action to\n // include the modifier before sending it.\n\n var mod;\n\n if (shift && !(alt || control)) {\n mod = ';2';\n } else if (alt && !(shift || control)) {\n mod = ';3';\n } else if (shift && alt && !control) {\n mod = ';4';\n } else if (control && !(shift || alt)) {\n mod = ';5';\n } else if (shift && control && !alt) {\n mod = ';6';\n } else if (alt && control && !shift) {\n mod = ';7';\n } else if (shift && alt && control) {\n mod = ';8';\n }\n\n if (action.length == 3) {\n // Some of the CSI sequences have zero parameters unless modified.\n action = '\\x1b[1' + mod + action.substr(2, 1);\n } else {\n // Others always have at least one parameter.\n action = action.substr(0, action.length - 1) + mod +\n action.substr(action.length - 1);\n }\n\n } else {\n if (action === DEFAULT) {\n action = keyDef.keyCap.substr((shift ? 1 : 0), 1);\n\n if (control) {\n var unshifted = keyDef.keyCap.substr(0, 1);\n var code = unshifted.charCodeAt(0);\n if (code >= 64 && code <= 95) {\n action = String.fromCharCode(code - 64);\n }\n }\n }\n\n if (alt && this.altSendsWhat == '8-bit' && action.length == 1) {\n var code = action.charCodeAt(0) + 128;\n action = String.fromCharCode(code);\n }\n\n // We respect alt/metaSendsEscape even if the keymap action was a literal\n // string. Otherwise, every overridden alt/meta action would have to\n // check alt/metaSendsEscape.\n if ((alt && this.altSendsWhat == 'escape') ||\n (meta && this.metaSendsEscape)) {\n action = '\\x1b' + action;\n }\n }\n\n this.terminal.onVTKeystroke(action);\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_bindings.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * A mapping from hterm.Keyboard.KeyPattern to an action.\n *\n * TODO(rginda): For now this bindings code is only used for user overrides.\n * hterm.Keyboard.KeyMap still handles all of the built-in key mappings.\n * It'd be nice if we migrated that over to be hterm.Keyboard.Bindings based.\n */\nhterm.Keyboard.Bindings = function() {\n this.bindings_ = {};\n};\n\n/**\n * Remove all bindings.\n */\nhterm.Keyboard.Bindings.prototype.clear = function () {\n this.bindings_ = {};\n};\n\n/**\n * Add a new binding.\n *\n * Internal API that assumes parsed objects as inputs.\n * See the public addBinding for more details.\n *\n * @param {hterm.Keyboard.KeyPattern} keyPattern\n * @param {string|function|hterm.Keyboard.KeyAction} action\n */\nhterm.Keyboard.Bindings.prototype.addBinding_ = function(keyPattern, action) {\n var binding = null;\n var list = this.bindings_[keyPattern.keyCode];\n if (list) {\n for (var i = 0; i < list.length; i++) {\n if (list[i].keyPattern.matchKeyPattern(keyPattern)) {\n binding = list[i];\n break;\n }\n }\n }\n\n if (binding) {\n binding.action = action;\n } else {\n binding = {keyPattern: keyPattern, action: action};\n\n if (!list) {\n this.bindings_[keyPattern.keyCode] = [binding];\n } else {\n this.bindings_[keyPattern.keyCode].push(binding);\n\n list.sort(function(a, b) {\n return hterm.Keyboard.KeyPattern.sortCompare(\n a.keyPattern, b.keyPattern);\n });\n }\n }\n};\n\n/**\n * Add a new binding.\n *\n * If a binding for the keyPattern already exists it will be overridden.\n *\n * More specific keyPatterns take precedence over those with wildcards. Given\n * bindings for \"Ctrl-A\" and \"Ctrl-*-A\", and a \"Ctrl-A\" keydown, the \"Ctrl-A\"\n * binding will match even if \"Ctrl-*-A\" was created last.\n *\n * If action is a string, it will be passed through hterm.Parser.parseKeyAction.\n *\n * For example:\n * // Will replace Ctrl-P keystrokes with the string \"hiya!\".\n * addBinding('Ctrl-P', \"'hiya!'\");\n * // Will cancel the keystroke entirely (make it do nothing).\n * addBinding('Alt-D', hterm.Keyboard.KeyActions.CANCEL);\n * // Will execute the code and return the action.\n * addBinding('Ctrl-T', function() {\n * console.log('Got a T!');\n * return hterm.Keyboard.KeyActions.PASS;\n * });\n *\n * @param {string|hterm.Keyboard.KeyPattern} keyPattern\n * @param {string|function|hterm.Keyboard.KeyAction} action\n */\nhterm.Keyboard.Bindings.prototype.addBinding = function(key, action) {\n // If we're given a hterm.Keyboard.KeyPattern object, pass it down.\n if (typeof key != 'string') {\n this.addBinding_(key, action);\n return;\n }\n\n // Here we treat key as a string.\n var p = new hterm.Parser();\n\n p.reset(key);\n var sequence;\n\n try {\n sequence = p.parseKeySequence();\n } catch (ex) {\n console.error(ex);\n return;\n }\n\n if (!p.isComplete()) {\n console.error(p.error('Expected end of sequence: ' + sequence));\n return;\n }\n\n // If action is a string, parse it. Otherwise assume it's callable.\n if (typeof action == 'string') {\n p.reset(action);\n try {\n action = p.parseKeyAction();\n } catch (ex) {\n console.error(ex);\n return;\n }\n }\n\n if (!p.isComplete()) {\n console.error(p.error('Expected end of sequence: ' + sequence));\n return;\n }\n\n this.addBinding_(new hterm.Keyboard.KeyPattern(sequence), action);\n};\n\n/**\n * Add multiple bindings at a time using a map of {string: string, ...}\n *\n * This uses hterm.Parser to parse the maps key into KeyPatterns, and the\n * map values into {string|function|KeyAction}.\n *\n * For example:\n * {\n * // Will replace Ctrl-P keystrokes with the string \"hiya!\".\n * 'Ctrl-P': \"'hiya!'\",\n * // Will cancel the keystroke entirely (make it do nothing).\n * 'Alt-D': hterm.Keyboard.KeyActions.CANCEL,\n * }\n *\n * @param {Object} map\n */\nhterm.Keyboard.Bindings.prototype.addBindings = function(map) {\n for (var key in map) {\n this.addBinding(key, map[key]);\n }\n};\n\n/**\n * Return the binding that is the best match for the given keyDown record,\n * or null if there is no match.\n *\n * @param {Object} keyDown An object with a keyCode property and zero or\n * more boolean properties representing key modifiers. These property names\n * must match those defined in hterm.Keyboard.KeyPattern.modifiers.\n */\nhterm.Keyboard.Bindings.prototype.getBinding = function(keyDown) {\n var list = this.bindings_[keyDown.keyCode];\n if (!list)\n return null;\n\n for (var i = 0; i < list.length; i++) {\n var binding = list[i];\n if (binding.keyPattern.matchKeyDown(keyDown))\n return binding;\n }\n\n return null;\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_keymap.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyActions');\n\n/**\n * The default key map for hterm.\n *\n * Contains a mapping of keyCodes to keyDefs (aka key definitions). The key\n * definition tells the hterm.Keyboard class how to handle keycodes.\n *\n * This should work for most cases, as the printable characters get handled\n * in the keypress event. In that case, even if the keycap is wrong in the\n * key map, the correct character should be sent.\n *\n * Different layouts, such as Dvorak should work with this keymap, as those\n * layouts typically move keycodes around on the keyboard without disturbing\n * the actual keycaps.\n *\n * There may be issues with control keys on non-US keyboards or with keyboards\n * that very significantly from the expectations here, in which case we may\n * have to invent new key maps.\n *\n * The sequences defined in this key map come from [XTERM] as referenced in\n * vt.js, starting with the section titled \"Alt and Meta Keys\".\n */\nhterm.Keyboard.KeyMap = function(keyboard) {\n this.keyboard = keyboard;\n this.keyDefs = {};\n this.reset();\n};\n\n/**\n * Add a single key definition.\n *\n * The definition is a hash containing the following keys: 'keyCap', 'normal',\n * 'control', and 'alt'.\n *\n * - keyCap is a string identifying the key. For printable\n * keys, the key cap should be exactly two characters, starting with the\n * unshifted version. For example, 'aA', 'bB', '1!' and '=+'. For\n * non-printable the key cap should be surrounded in square braces, as in\n * '[INS]', '[LEFT]'. By convention, non-printable keycaps are in uppercase\n * but this is not a strict requirement.\n *\n * - Normal is the action that should be performed when they key is pressed\n * in the absence of any modifier. See below for the supported actions.\n *\n * - Control is the action that should be performed when they key is pressed\n * along with the control modifier. See below for the supported actions.\n *\n * - Alt is the action that should be performed when they key is pressed\n * along with the alt modifier. See below for the supported actions.\n *\n * - Meta is the action that should be performed when they key is pressed\n * along with the meta modifier. See below for the supported actions.\n *\n * Actions can be one of the hterm.Keyboard.KeyActions as documented below,\n * a literal string, or an array. If the action is a literal string then\n * the string is sent directly to the host. If the action is an array it\n * is taken to be an escape sequence that may be altered by modifier keys.\n * The second-to-last element of the array will be overwritten with the\n * state of the modifier keys, as specified in the final table of \"PC-Style\n * Function Keys\" from [XTERM].\n */\nhterm.Keyboard.KeyMap.prototype.addKeyDef = function(keyCode, def) {\n if (keyCode in this.keyDefs)\n console.warn('Duplicate keyCode: ' + keyCode);\n\n this.keyDefs[keyCode] = def;\n};\n\n/**\n * Add multiple key definitions in a single call.\n *\n * This function takes the key definitions as variable argument list. Each\n * argument is the key definition specified as an array.\n *\n * (If the function took everything as one big hash we couldn't detect\n * duplicates, and there would be a lot more typing involved.)\n *\n * Each key definition should have 6 elements: (keyCode, keyCap, normal action,\n * control action, alt action and meta action). See KeyMap.addKeyDef for the\n * meaning of these elements.\n */\nhterm.Keyboard.KeyMap.prototype.addKeyDefs = function(var_args) {\n for (var i = 0; i < arguments.length; i++) {\n this.addKeyDef(arguments[i][0],\n { keyCap: arguments[i][1],\n normal: arguments[i][2],\n control: arguments[i][3],\n alt: arguments[i][4],\n meta: arguments[i][5]\n });\n }\n};\n\n/**\n * Set up the default state for this keymap.\n */\nhterm.Keyboard.KeyMap.prototype.reset = function() {\n this.keyDefs = {};\n\n var self = this;\n\n // This function is used by the \"macro\" functions below. It makes it\n // possible to use the call() macro as an argument to any other macro.\n function resolve(action, e, k) {\n if (typeof action == 'function')\n return action.apply(self, [e, k]);\n\n return action;\n }\n\n // If not application keypad a, else b. The keys that care about\n // application keypad ignore it when the key is modified.\n function ak(a, b) {\n return function(e, k) {\n var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !self.keyboard.applicationKeypad) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If mod or not application cursor a, else b. The keys that care about\n // application cursor ignore it when the key is modified.\n function ac(a, b) {\n return function(e, k) {\n var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !self.keyboard.applicationCursor) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If not backspace-sends-backspace keypad a, else b.\n function bs(a, b) {\n return function(e, k) {\n var action = !self.keyboard.backspaceSendsBackspace ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If not e.shiftKey a, else b.\n function sh(a, b) {\n return function(e, k) {\n var action = !e.shiftKey ? a : b;\n e.maskShiftKey = true;\n return resolve(action, e, k);\n };\n }\n\n // If not e.altKey a, else b.\n function alt(a, b) {\n return function(e, k) {\n var action = !e.altKey ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If no modifiers a, else b.\n function mod(a, b) {\n return function(e, k) {\n var action = !(e.shiftKey || e.ctrlKey || e.altKey || e.metaKey) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // Compute a control character for a given character.\n function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) }\n\n // Call a method on the keymap instance.\n function c(m) { return function (e, k) { return this[m](e, k) } }\n\n // Ignore if not trapping media keys.\n function med(fn) {\n return function(e, k) {\n if (!self.keyboard.mediaKeysAreFKeys) {\n // Block Back, Forward, and Reload keys to avoid navigating away from\n // the current page.\n return (e.keyCode == 166 || e.keyCode == 167 || e.keyCode == 168) ?\n hterm.Keyboard.KeyActions.CANCEL :\n hterm.Keyboard.KeyActions.PASS;\n }\n return resolve(fn, e, k);\n };\n }\n\n var ESC = '\\x1b';\n var CSI = '\\x1b[';\n var SS3 = '\\x1bO';\n\n var CANCEL = hterm.Keyboard.KeyActions.CANCEL;\n var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT;\n var PASS = hterm.Keyboard.KeyActions.PASS;\n var STRIP = hterm.Keyboard.KeyActions.STRIP;\n\n this.addKeyDefs(\n // These fields are: [keycode, keycap, normal, control, alt, meta]\n\n // The browser sends the keycode 0 for some keys. We'll just assume it's\n // going to do the right thing by default for those keys.\n [0, '[UNKNOWN]', PASS, PASS, PASS, PASS],\n\n // First row.\n [27, '[ESC]', ESC, DEFAULT, DEFAULT, DEFAULT],\n [112, '[F1]', mod(SS3 + 'P', CSI + 'P'), DEFAULT, CSI + \"23~\", DEFAULT],\n [113, '[F2]', mod(SS3 + 'Q', CSI + 'Q'), DEFAULT, CSI + \"24~\", DEFAULT],\n [114, '[F3]', mod(SS3 + 'R', CSI + 'R'), DEFAULT, CSI + \"25~\", DEFAULT],\n [115, '[F4]', mod(SS3 + 'S', CSI + 'S'), DEFAULT, CSI + \"26~\", DEFAULT],\n [116, '[F5]', CSI + '15~', DEFAULT, CSI + \"28~\", DEFAULT],\n [117, '[F6]', CSI + '17~', DEFAULT, CSI + \"29~\", DEFAULT],\n [118, '[F7]', CSI + '18~', DEFAULT, CSI + \"31~\", DEFAULT],\n [119, '[F8]', CSI + '19~', DEFAULT, CSI + \"32~\", DEFAULT],\n [120, '[F9]', CSI + '20~', DEFAULT, CSI + \"33~\", DEFAULT],\n [121, '[F10]', CSI + '21~', DEFAULT, CSI + \"34~\", DEFAULT],\n [122, '[F11]', CSI + '23~', DEFAULT, CSI + \"42~\", DEFAULT],\n [123, '[F12]', CSI + '24~', DEFAULT, CSI + \"43~\", DEFAULT],\n\n // Second row.\n [192, '`~', DEFAULT, sh(ctl('@'), ctl('^')), DEFAULT, PASS],\n [49, '1!', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [50, '2@', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [51, '3#', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [52, '4$', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [53, '5%', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [54, '6^', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [55, '7&', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [56, '8*', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [57, '9(', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [48, '0)', DEFAULT, c('onPlusMinusZero_'),c('onAltNum_'),c('onPlusMinusZero_')],\n [189, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [187, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n // Firefox -_ and =+\n [173, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [61, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n // Firefox Italian +*\n [171, '+*', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n\n [8, '[BKSP]', bs('\\x7f', '\\b'), bs('\\b', '\\x7f'), DEFAULT, DEFAULT],\n\n // Third row.\n [9, '[TAB]', sh('\\t', CSI + 'Z'), STRIP, PASS, DEFAULT],\n [81, 'qQ', DEFAULT, ctl('Q'), DEFAULT, DEFAULT],\n [87, 'wW', DEFAULT, ctl('W'), DEFAULT, DEFAULT],\n [69, 'eE', DEFAULT, ctl('E'), DEFAULT, DEFAULT],\n [82, 'rR', DEFAULT, ctl('R'), DEFAULT, DEFAULT],\n [84, 'tT', DEFAULT, ctl('T'), DEFAULT, DEFAULT],\n [89, 'yY', DEFAULT, ctl('Y'), DEFAULT, DEFAULT],\n [85, 'uU', DEFAULT, ctl('U'), DEFAULT, DEFAULT],\n [73, 'iI', DEFAULT, ctl('I'), DEFAULT, DEFAULT],\n [79, 'oO', DEFAULT, ctl('O'), DEFAULT, DEFAULT],\n [80, 'pP', DEFAULT, ctl('P'), DEFAULT, DEFAULT],\n [219, '[{', DEFAULT, ctl('['), DEFAULT, DEFAULT],\n [221, ']}', DEFAULT, ctl(']'), DEFAULT, DEFAULT],\n [220, '\\\\|', DEFAULT, ctl('\\\\'), DEFAULT, DEFAULT],\n\n // Fourth row. (We let Ctrl-Shift-J pass for Chrome DevTools.)\n [20, '[CAPS]', PASS, PASS, PASS, DEFAULT],\n [65, 'aA', DEFAULT, ctl('A'), DEFAULT, DEFAULT],\n [83, 'sS', DEFAULT, ctl('S'), DEFAULT, DEFAULT],\n [68, 'dD', DEFAULT, ctl('D'), DEFAULT, DEFAULT],\n [70, 'fF', DEFAULT, ctl('F'), DEFAULT, DEFAULT],\n [71, 'gG', DEFAULT, ctl('G'), DEFAULT, DEFAULT],\n [72, 'hH', DEFAULT, ctl('H'), DEFAULT, DEFAULT],\n [74, 'jJ', DEFAULT, sh(ctl('J'), PASS), DEFAULT, DEFAULT],\n [75, 'kK', DEFAULT, sh(ctl('K'), c('onClear_')), DEFAULT, DEFAULT],\n [76, 'lL', DEFAULT, sh(ctl('L'), PASS), DEFAULT, DEFAULT],\n [186, ';:', DEFAULT, STRIP, DEFAULT, DEFAULT],\n [222, '\\'\"', DEFAULT, STRIP, DEFAULT, DEFAULT],\n [13, '[ENTER]', '\\r', CANCEL, CANCEL, DEFAULT],\n\n // Fifth row. This includes the copy/paste shortcuts. On some\n // platforms it's Ctrl-C/V, on others it's Meta-C/V. We assume either\n // Ctrl-C/Meta-C should pass to the browser when there is a selection,\n // and Ctrl-Shift-V/Meta-*-V should always pass to the browser (since\n // these seem to be recognized as paste too).\n [16, '[SHIFT]', PASS, PASS, PASS, DEFAULT],\n [90, 'zZ', DEFAULT, ctl('Z'), DEFAULT, DEFAULT],\n [88, 'xX', DEFAULT, ctl('X'), DEFAULT, DEFAULT],\n [67, 'cC', DEFAULT, c('onCtrlC_'), DEFAULT, c('onMetaC_')],\n [86, 'vV', DEFAULT, c('onCtrlV_'), DEFAULT, c('onMetaV_')],\n [66, 'bB', DEFAULT, sh(ctl('B'), PASS), DEFAULT, sh(DEFAULT, PASS)],\n [78, 'nN', DEFAULT, c('onCtrlN_'), DEFAULT, c('onMetaN_')],\n [77, 'mM', DEFAULT, ctl('M'), DEFAULT, DEFAULT],\n [188, ',<', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT],\n [190, '.>', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT],\n [191, '/?', DEFAULT, sh(ctl('_'), ctl('?')), DEFAULT, DEFAULT],\n\n // Sixth and final row.\n [17, '[CTRL]', PASS, PASS, PASS, PASS],\n [18, '[ALT]', PASS, PASS, PASS, PASS],\n [91, '[LAPL]', PASS, PASS, PASS, PASS],\n [32, ' ', DEFAULT, ctl('@'), DEFAULT, DEFAULT],\n [92, '[RAPL]', PASS, PASS, PASS, PASS],\n [93, '[RMENU]', PASS, PASS, PASS, PASS],\n\n // These things.\n [42, '[PRTSCR]', PASS, PASS, PASS, PASS],\n [145, '[SCRLK]', PASS, PASS, PASS, PASS],\n [19, '[BREAK]', PASS, PASS, PASS, PASS],\n\n // The block of six keys above the arrows.\n [45, '[INSERT]', c('onKeyInsert_'), DEFAULT, DEFAULT, DEFAULT],\n [36, '[HOME]', c('onKeyHome_'), DEFAULT, DEFAULT, DEFAULT],\n [33, '[PGUP]', c('onKeyPageUp_'), DEFAULT, DEFAULT, DEFAULT],\n [46, '[DEL]', c('onKeyDel_'), DEFAULT, DEFAULT, DEFAULT],\n [35, '[END]', c('onKeyEnd_'), DEFAULT, DEFAULT, DEFAULT],\n [34, '[PGDOWN]', c('onKeyPageDown_'), DEFAULT, DEFAULT, DEFAULT],\n\n // Arrow keys. When unmodified they respect the application cursor state,\n // otherwise they always send the CSI codes.\n [38, '[UP]', c('onKeyArrowUp_'), DEFAULT, DEFAULT, DEFAULT],\n [40, '[DOWN]', c('onKeyArrowDown_'), DEFAULT, DEFAULT, DEFAULT],\n [39, '[RIGHT]', ac(CSI + 'C', SS3 + 'C'), DEFAULT, DEFAULT, DEFAULT],\n [37, '[LEFT]', ac(CSI + 'D', SS3 + 'D'), DEFAULT, DEFAULT, DEFAULT],\n\n [144, '[NUMLOCK]', PASS, PASS, PASS, PASS],\n\n // With numlock off, the keypad generates the same key codes as the arrows\n // and 'block of six' for some keys, and null key codes for the rest.\n\n // Keypad with numlock on generates unique key codes...\n [96, '[KP0]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [97, '[KP1]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [98, '[KP2]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [99, '[KP3]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [100, '[KP4]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [101, '[KP5]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [102, '[KP6]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [103, '[KP7]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [104, '[KP8]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [105, '[KP9]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [107, '[KP+]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [109, '[KP-]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [106, '[KP*]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [111, '[KP/]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [110, '[KP.]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n\n // Chrome OS keyboard top row.\n [166, '[BACK]', med(mod(SS3+'P', CSI+'P')), DEFAULT, CSI+\"23~\", DEFAULT],\n [167, '[FWD]', med(mod(SS3+'Q', CSI+'Q')), DEFAULT, CSI+\"24~\", DEFAULT],\n [168, '[RELOAD]', med(mod(SS3+'R', CSI+'R')), DEFAULT, CSI+\"25~\", DEFAULT],\n [183, '[FSCR]', med(mod(SS3+'S', CSI+'S')), DEFAULT, CSI+\"26~\", DEFAULT],\n [182, '[WINS]', med(CSI + '15~'), DEFAULT, CSI+\"28~\", DEFAULT],\n [216, '[BRIT-]', med(CSI + '17~'), DEFAULT, CSI+\"29~\", DEFAULT],\n [217, '[BRIT+]', med(CSI + '18~'), DEFAULT, CSI+\"31~\", DEFAULT]\n\n // 173 [MUTE], 174 [VOL-] and 175 [VOL+] are trapped by the Chrome OS\n // window manager, so we'll never see them. Note that 173 is also\n // Firefox's -_ keycode.\n );\n};\n\n/**\n * Either allow the paste or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyInsert_ = function(e) {\n if (this.keyboard.shiftInsertPaste && e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return '\\x1b[2~';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyHome_ = function(e) {\n if (!this.keyboard.homeKeysScroll ^ e.shiftKey) {\n if ((e.altey || e.ctrlKey || e.shiftKey) ||\n !this.keyboard.applicationCursor) {\n return '\\x1b[H';\n }\n\n return '\\x1bOH';\n }\n\n this.keyboard.terminal.scrollHome();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyEnd_ = function(e) {\n if (!this.keyboard.homeKeysScroll ^ e.shiftKey) {\n if ((e.altKey || e.ctrlKey || e.shiftKey) ||\n !this.keyboard.applicationCursor) {\n return '\\x1b[F';\n }\n\n return '\\x1bOF';\n }\n\n this.keyboard.terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyPageUp_ = function(e) {\n if (!this.keyboard.pageKeysScroll ^ e.shiftKey)\n return '\\x1b[5~';\n\n this.keyboard.terminal.scrollPageUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either send a true DEL, or sub in meta-backspace.\n *\n * On Chrome OS, if we know the alt key is down, but we get a DEL event that\n * claims that the alt key is not pressed, we know the DEL was a synthetic\n * one from a user that hit alt-backspace. Based on a user pref, we can sub\n * in meta-backspace in this case.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyDel_ = function(e) {\n if (this.keyboard.altBackspaceIsMetaBackspace &&\n this.keyboard.altKeyPressed && !e.altKey)\n return '\\x1b\\x7f';\n return '\\x1b[3~';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyPageDown_ = function(e) {\n if (!this.keyboard.pageKeysScroll ^ e.shiftKey)\n return '\\x1b[6~';\n\n this.keyboard.terminal.scrollPageDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyArrowUp_ = function(e) {\n if (!this.keyboard.applicationCursor && e.shiftKey) {\n this.keyboard.terminal.scrollLineUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !this.keyboard.applicationCursor) ? '\\x1b[A' : '\\x1bOA';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyArrowDown_ = function(e) {\n if (!this.keyboard.applicationCursor && e.shiftKey) {\n this.keyboard.terminal.scrollLineDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !this.keyboard.applicationCursor) ? '\\x1b[B' : '\\x1bOB';\n};\n\n/**\n * Clear the primary/alternate screens and the scrollback buffer.\n */\nhterm.Keyboard.KeyMap.prototype.onClear_ = function(e, keyDef) {\n this.keyboard.terminal.wipeContents();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either pass Ctrl-1..9 to the browser or send them to the host.\n *\n * Note that Ctrl-1 and Ctrl-9 don't actually have special sequences mapped\n * to them in xterm or gnome-terminal. The range is really Ctrl-2..8, but\n * we handle 1..9 since Chrome treats the whole range special.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlNum_ = function(e, keyDef) {\n // Compute a control character for a given character.\n function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) }\n\n if (this.keyboard.terminal.passCtrlNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n switch (keyDef.keyCap.substr(0, 1)) {\n case '1': return '1';\n case '2': return ctl('@');\n case '3': return ctl('[');\n case '4': return ctl('\\\\');\n case '5': return ctl(']');\n case '6': return ctl('^');\n case '7': return ctl('_');\n case '8': return '\\x7f';\n case '9': return '9';\n }\n};\n\n/**\n * Either pass Alt-1..9 to the browser or send them to the host.\n */\nhterm.Keyboard.KeyMap.prototype.onAltNum_ = function(e, keyDef) {\n if (this.keyboard.terminal.passAltNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either pass Meta-1..9 to the browser or send them to the host.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaNum_ = function(e, keyDef) {\n if (this.keyboard.terminal.passMetaNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either send a ^C or interpret the keystroke as a copy command.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlC_ = function(e, keyDef) {\n var selection = this.keyboard.terminal.getDocument().getSelection();\n\n if (!selection.isCollapsed) {\n if (this.keyboard.ctrlCCopy && !e.shiftKey) {\n // Ctrl-C should copy if there is a selection, send ^C otherwise.\n // Perform the copy by letting the browser handle Ctrl-C. On most\n // browsers, this is the *only* way to place text on the clipboard from\n // the 'drive-by' web.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(selection.collapseToEnd.bind(selection), 50);\n }\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n if (!this.keyboard.ctrlCCopy && e.shiftKey) {\n // Ctrl-Shift-C should copy if there is a selection, send ^C otherwise.\n // Perform the copy manually. This only works in situations where\n // document.execCommand('copy') is allowed.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(selection.collapseToEnd.bind(selection), 50);\n }\n this.keyboard.terminal.copySelectionToClipboard();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n }\n\n return '\\x03';\n};\n\n/**\n * Either send a ^N or open a new window to the same location.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlN_ = function(e, keyDef) {\n if (e.shiftKey) {\n window.open(document.location.href, '',\n 'chrome=no,close=yes,resize=yes,scrollbars=yes,' +\n 'minimizable=yes,width=' + window.innerWidth +\n ',height=' + window.innerHeight);\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return '\\x0e';\n};\n\n/**\n * Either send a ^V or issue a paste command.\n *\n * The default behavior is to paste if the user presses Ctrl-Shift-V, and send\n * a ^V if the user presses Ctrl-V. This can be flipped with the\n * 'ctrl-v-paste' preference.\n *\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlV_ = function(e, keyDef) {\n if ((!e.shiftKey && this.keyboard.ctrlVPaste) ||\n (e.shiftKey && !this.keyboard.ctrlVPaste)) {\n // We try to do the pasting ourselves as not all browsers/OSs bind Ctrl-V to\n // pasting. Notably, on macOS, Ctrl-V/Ctrl-Shift-V do nothing.\n // However, this might run into web restrictions, so if it fails, we still\n // fallback to the letting the native behavior (hopefully) save us.\n if (this.keyboard.terminal.paste())\n return hterm.Keyboard.KeyActions.CANCEL;\n else\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n return '\\x16';\n};\n\n/**\n * Either the default action or open a new window to the same location.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaN_ = function(e, keyDef) {\n if (e.shiftKey) {\n window.open(document.location.href, '',\n 'chrome=no,close=yes,resize=yes,scrollbars=yes,' +\n 'minimizable=yes,width=' + window.outerWidth +\n ',height=' + window.outerHeight);\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either send a Meta-C or allow the browser to interpret the keystroke as a\n * copy command.\n *\n * If there is no selection, or if the user presses Meta-Shift-C, then we'll\n * transmit an '\\x1b' (if metaSendsEscape is on) followed by 'c' or 'C'.\n *\n * If there is a selection, we defer to the browser. In this case we clear out\n * the selection so the user knows we heard them, and also to give them a\n * chance to send a Meta-C by just hitting the key again.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaC_ = function(e, keyDef) {\n var document = this.keyboard.terminal.getDocument();\n if (e.shiftKey || document.getSelection().isCollapsed) {\n // If the shift key is being held, or there is no document selection, send\n // a Meta-C. The keyboard code will add the ESC if metaSendsEscape is true,\n // we just have to decide between 'c' and 'C'.\n return keyDef.keyCap.substr(e.shiftKey ? 1 : 0, 1);\n }\n\n // Otherwise let the browser handle it as a copy command.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(function() { document.getSelection().collapseToEnd() }, 50);\n }\n return hterm.Keyboard.KeyActions.PASS;\n};\n\n/**\n * Either PASS or DEFAULT Meta-V, depending on preference.\n *\n * Always PASS Meta-Shift-V to allow browser to interpret the keystroke as\n * a paste command.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaV_ = function(e, keyDef) {\n if (e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return this.keyboard.passMetaV ?\n hterm.Keyboard.KeyActions.PASS :\n hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Handle font zooming.\n *\n * The browser's built-in zoom has a bit of an issue at certain zoom levels.\n * At some magnifications, the measured height of a row of text differs from\n * the height that was explicitly set.\n *\n * We override the browser zoom keys to change the ScrollPort's font size to\n * avoid the issue.\n */\nhterm.Keyboard.KeyMap.prototype.onPlusMinusZero_ = function(e, keyDef) {\n if (!(this.keyboard.ctrlPlusMinusZeroZoom ^ e.shiftKey)) {\n // If ctrl-PMZ controls zoom and the shift key is pressed, or\n // ctrl-shift-PMZ controls zoom and this shift key is not pressed,\n // then we want to send the control code instead of affecting zoom.\n if (keyDef.keyCap == '-_')\n return '\\x1f'; // ^_\n\n // Only ^_ is valid, the other sequences have no meaning.\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n if (this.keyboard.terminal.getZoomFactor() != 1) {\n // If we're not at 1:1 zoom factor, let the Ctrl +/-/0 keys control the\n // browser zoom, so it's easier to for the user to get back to 100%.\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n var cap = keyDef.keyCap.substr(0, 1);\n if (cap == '0') {\n this.keyboard.terminal.setFontSize(0);\n } else {\n var size = this.keyboard.terminal.getFontSize();\n\n if (cap == '-' || keyDef.keyCap == '[KP-]') {\n size -= 1;\n } else {\n size += 1;\n }\n\n this.keyboard.terminal.setFontSize(size);\n }\n\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_keypattern.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * A record of modifier bits and keycode used to define a key binding.\n *\n * The modifier names are enumerated in the static KeyPattern.modifiers\n * property below. Each modifier can be true, false, or \"*\". True means\n * the modifier key must be present, false means it must not, and \"*\" means\n * it doesn't matter.\n */\nhterm.Keyboard.KeyPattern = function(spec) {\n this.wildcardCount = 0;\n this.keyCode = spec.keyCode;\n\n hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) {\n this[mod] = spec[mod] || false;\n if (this[mod] == '*')\n this.wildcardCount++;\n }.bind(this));\n};\n\n/**\n * Valid modifier names.\n */\nhterm.Keyboard.KeyPattern.modifiers = [\n 'shift', 'ctrl', 'alt', 'meta'\n];\n\n/**\n * A compare callback for Array.prototype.sort().\n *\n * The bindings code wants to be sure to search through the strictest key\n * patterns first, so that loosely defined patterns have a lower priority than\n * exact patterns.\n *\n * @param {hterm.Keyboard.KeyPattern} a\n * @param {hterm.Keyboard.KeyPattern} b\n */\nhterm.Keyboard.KeyPattern.sortCompare = function(a, b) {\n if (a.wildcardCount < b.wildcardCount)\n return -1;\n\n if (a.wildcardCount > b.wildcardCount)\n return 1;\n\n return 0;\n};\n\n/**\n * Private method used to match this key pattern against other key patterns\n * or key down events.\n *\n * @param {Object} The object to match.\n * @param {boolean} True if we should ignore wildcards. Useful when you want\n * to perform and exact match against another key pattern.\n */\nhterm.Keyboard.KeyPattern.prototype.match_ = function(obj, exactMatch) {\n if (this.keyCode != obj.keyCode)\n return false;\n\n var rv = true;\n\n hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) {\n var modValue = (mod in obj) ? obj[mod] : false;\n if (!rv || (!exactMatch && this[mod] == '*') || this[mod] == modValue)\n return;\n\n rv = false;\n }.bind(this));\n\n return rv;\n};\n\n/**\n * Return true if the given keyDown object is a match for this key pattern.\n *\n * @param {Object} keyDown An object with a keyCode property and zero or\n * more boolean properties representing key modifiers. These property names\n * must match those defined in hterm.Keyboard.KeyPattern.modifiers.\n */\nhterm.Keyboard.KeyPattern.prototype.matchKeyDown = function(keyDown) {\n return this.match_(keyDown, false);\n};\n\n/**\n * Return true if the given hterm.Keyboard.KeyPattern is exactly the same as\n * this one.\n *\n * @param {hterm.Keyboard.KeyPattern}\n */\nhterm.Keyboard.KeyPattern.prototype.matchKeyPattern = function(keyPattern) {\n return this.match_(keyPattern, true);\n};\n// SOURCE FILE: hterm/js/hterm_options.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview This file implements the hterm.Options class,\n * which stores current operating conditions for the terminal. This object is\n * used instead of a series of parameters to allow saving/restoring of cursor\n * conditions easily, and to provide an easy place for common configuration\n * options.\n *\n * Original code by Cory Maccarrone.\n */\n\n/**\n * Constructor for the hterm.Options class, optionally acting as a copy\n * constructor.\n *\n * The defaults are as defined in http://www.vt100.net/docs/vt510-rm/DECSTR\n * except that we enable autowrap (wraparound) by default since that seems to\n * be what xterm does.\n *\n * @param {hterm.Options=} opt_copy Optional instance to copy.\n * @constructor\n */\nhterm.Options = function(opt_copy) {\n // All attributes in this class are public to allow easy access by the\n // terminal.\n\n this.wraparound = opt_copy ? opt_copy.wraparound : true;\n this.reverseWraparound = opt_copy ? opt_copy.reverseWraparound : false;\n this.originMode = opt_copy ? opt_copy.originMode : false;\n this.autoCarriageReturn = opt_copy ? opt_copy.autoCarriageReturn : false;\n this.cursorVisible = opt_copy ? opt_copy.cursorVisible : false;\n this.cursorBlink = opt_copy ? opt_copy.cursorBlink : false;\n this.insertMode = opt_copy ? opt_copy.insertMode : false;\n this.reverseVideo = opt_copy ? opt_copy.reverseVideo : false;\n this.bracketedPaste = opt_copy ? opt_copy.bracketedPaste : false;\n};\n// SOURCE FILE: hterm/js/hterm_parser.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyActions');\n\n/**\n * @constructor\n * Parses the key definition syntax used for user keyboard customizations.\n */\nhterm.Parser = function() {\n /**\n * @type {string} The source string.\n */\n this.source = '';\n\n /**\n * @type {number} The current position.\n */\n this.pos = 0;\n\n /**\n * @type {string?} The character at the current position.\n */\n this.ch = null;\n};\n\nhterm.Parser.prototype.error = function(message) {\n return new Error('Parse error at ' + this.pos + ': ' + message);\n};\n\nhterm.Parser.prototype.isComplete = function() {\n return this.pos == this.source.length;\n};\n\nhterm.Parser.prototype.reset = function(source, opt_pos) {\n this.source = source;\n this.pos = opt_pos || 0;\n this.ch = source.substr(0, 1);\n};\n\n/**\n * Parse a key sequence.\n *\n * A key sequence is zero or more of the key modifiers defined in\n * hterm.Parser.identifiers.modifierKeys followed by a key code. Key\n * codes can be an integer or an identifier from\n * hterm.Parser.identifiers.keyCodes. Modifiers and keyCodes should be joined\n * by the dash character.\n *\n * An asterisk \"*\" can be used to indicate that the unspecified modifiers\n * are optional.\n *\n * For example:\n * A: Matches only an unmodified \"A\" character.\n * 65: Same as above.\n * 0x41: Same as above.\n * Ctrl-A: Matches only Ctrl-A.\n * Ctrl-65: Same as above.\n * Ctrl-0x41: Same as above.\n * Ctrl-Shift-A: Matches only Ctrl-Shift-A.\n * Ctrl-*-A: Matches Ctrl-A, as well as any other key sequence that includes\n * at least the Ctrl and A keys.\n *\n * @return {Object} An object with shift, ctrl, alt, meta, keyCode\n * properties.\n */\nhterm.Parser.prototype.parseKeySequence = function() {\n var rv = {\n keyCode: null\n };\n\n for (var k in hterm.Parser.identifiers.modifierKeys) {\n rv[hterm.Parser.identifiers.modifierKeys[k]] = false;\n }\n\n while (this.pos < this.source.length) {\n this.skipSpace();\n\n var token = this.parseToken();\n if (token.type == 'integer') {\n rv.keyCode = token.value;\n\n } else if (token.type == 'identifier') {\n var ucValue = token.value.toUpperCase();\n if (ucValue in hterm.Parser.identifiers.modifierKeys &&\n hterm.Parser.identifiers.modifierKeys.hasOwnProperty(ucValue)) {\n var mod = hterm.Parser.identifiers.modifierKeys[ucValue];\n if (rv[mod] && rv[mod] != '*')\n throw this.error('Duplicate modifier: ' + token.value);\n rv[mod] = true;\n\n } else if (ucValue in hterm.Parser.identifiers.keyCodes &&\n hterm.Parser.identifiers.keyCodes.hasOwnProperty(ucValue)) {\n rv.keyCode = hterm.Parser.identifiers.keyCodes[ucValue];\n\n } else {\n throw this.error('Unknown key: ' + token.value);\n }\n\n } else if (token.type == 'symbol') {\n if (token.value == '*') {\n for (var id in hterm.Parser.identifiers.modifierKeys) {\n var p = hterm.Parser.identifiers.modifierKeys[id];\n if (!rv[p])\n rv[p] = '*';\n }\n } else {\n throw this.error('Unexpected symbol: ' + token.value);\n }\n } else {\n throw this.error('Expected integer or identifier');\n }\n\n this.skipSpace();\n\n if (this.ch != '-')\n break;\n\n if (rv.keyCode != null)\n throw this.error('Extra definition after target key');\n\n this.advance(1);\n }\n\n if (rv.keyCode == null)\n throw this.error('Missing target key');\n\n return rv;\n};\n\nhterm.Parser.prototype.parseKeyAction = function() {\n this.skipSpace();\n\n var token = this.parseToken();\n\n if (token.type == 'string')\n return token.value;\n\n if (token.type == 'identifier') {\n if (token.value in hterm.Parser.identifiers.actions &&\n hterm.Parser.identifiers.actions.hasOwnProperty(token.value))\n return hterm.Parser.identifiers.actions[token.value];\n\n throw this.error('Unknown key action: ' + token.value);\n }\n\n throw this.error('Expected string or identifier');\n\n};\n\nhterm.Parser.prototype.peekString = function() {\n return this.ch == '\\'' || this.ch == '\"';\n};\n\nhterm.Parser.prototype.peekIdentifier = function() {\n return this.ch.match(/[a-z_]/i);\n};\n\nhterm.Parser.prototype.peekInteger = function() {\n return this.ch.match(/[0-9]/);\n};\n\nhterm.Parser.prototype.parseToken = function() {\n if (this.ch == '*') {\n var rv = {type: 'symbol', value: this.ch};\n this.advance(1);\n return rv;\n }\n\n if (this.peekIdentifier())\n return {type: 'identifier', value: this.parseIdentifier()};\n\n if (this.peekString())\n return {type: 'string', value: this.parseString()};\n\n if (this.peekInteger())\n return {type: 'integer', value: this.parseInteger()};\n\n\n throw this.error('Unexpected token');\n};\n\nhterm.Parser.prototype.parseIdentifier = function() {\n if (!this.peekIdentifier())\n throw this.error('Expected identifier');\n\n return this.parsePattern(/[a-z0-9_]+/ig);\n};\n\nhterm.Parser.prototype.parseInteger = function() {\n var base = 10;\n\n if (this.ch == '0' && this.pos < this.source.length - 1 &&\n this.source.substr(this.pos + 1, 1) == 'x') {\n return parseInt(this.parsePattern(/0x[0-9a-f]+/gi));\n }\n\n return parseInt(this.parsePattern(/\\d+/g));\n};\n\n/**\n * Parse a single or double quoted string.\n *\n * The current position should point at the initial quote character. Single\n * quoted strings will be treated literally, double quoted will process escapes.\n *\n * TODO(rginda): Variable interpolation.\n *\n * @param {ParseState} parseState\n * @param {string} quote A single or double-quote character.\n * @return {string}\n */\nhterm.Parser.prototype.parseString = function() {\n var result = '';\n\n var quote = this.ch;\n if (quote != '\"' && quote != '\\'')\n throw this.error('String expected');\n\n this.advance(1);\n\n var re = new RegExp('[\\\\\\\\' + quote + ']', 'g');\n\n while (this.pos < this.source.length) {\n re.lastIndex = this.pos;\n if (!re.exec(this.source))\n throw this.error('Unterminated string literal');\n\n result += this.source.substring(this.pos, re.lastIndex - 1);\n\n this.advance(re.lastIndex - this.pos - 1);\n\n if (quote == '\"' && this.ch == '\\\\') {\n this.advance(1);\n result += this.parseEscape();\n continue;\n }\n\n if (quote == '\\'' && this.ch == '\\\\') {\n result += this.ch;\n this.advance(1);\n continue;\n }\n\n if (this.ch == quote) {\n this.advance(1);\n return result;\n }\n }\n\n throw this.error('Unterminated string literal');\n};\n\n\n/**\n * Parse an escape code from the current position (which should point to\n * the first character AFTER the leading backslash.)\n *\n * @return {string}\n */\nhterm.Parser.prototype.parseEscape = function() {\n var map = {\n '\"': '\"',\n '\\'': '\\'',\n '\\\\': '\\\\',\n 'a': '\\x07',\n 'b': '\\x08',\n 'e': '\\x1b',\n 'f': '\\x0c',\n 'n': '\\x0a',\n 'r': '\\x0d',\n 't': '\\x09',\n 'v': '\\x0b',\n 'x': function() {\n var value = this.parsePattern(/[a-z0-9]{2}/ig);\n return String.fromCharCode(parseInt(value, 16));\n },\n 'u': function() {\n var value = this.parsePattern(/[a-z0-9]{4}/ig);\n return String.fromCharCode(parseInt(value, 16));\n }\n };\n\n if (!(this.ch in map && map.hasOwnProperty(this.ch)))\n throw this.error('Unknown escape: ' + this.ch);\n\n var value = map[this.ch];\n this.advance(1);\n\n if (typeof value == 'function')\n value = value.call(this);\n\n return value;\n};\n\n/**\n * Parse the given pattern starting from the current position.\n *\n * @param {RegExp} pattern A pattern representing the characters to span. MUST\n * include the \"global\" RegExp flag.\n * @return {string}\n */\nhterm.Parser.prototype.parsePattern = function(pattern) {\n if (!pattern.global)\n throw this.error('Internal error: Span patterns must be global');\n\n pattern.lastIndex = this.pos;\n var ary = pattern.exec(this.source);\n\n if (!ary || pattern.lastIndex - ary[0].length != this.pos)\n throw this.error('Expected match for: ' + pattern);\n\n this.pos = pattern.lastIndex - 1;\n this.advance(1);\n\n return ary[0];\n};\n\n\n/**\n * Advance the current position.\n *\n * @param {number} count\n */\nhterm.Parser.prototype.advance = function(count) {\n this.pos += count;\n this.ch = this.source.substr(this.pos, 1);\n};\n\n/**\n * @param {string=} opt_expect A list of valid non-whitespace characters to\n * terminate on.\n * @return {void}\n */\nhterm.Parser.prototype.skipSpace = function(opt_expect) {\n if (!/\\s/.test(this.ch))\n return;\n\n var re = /\\s+/gm;\n re.lastIndex = this.pos;\n\n var source = this.source;\n if (re.exec(source))\n this.pos = re.lastIndex;\n\n this.ch = this.source.substr(this.pos, 1);\n\n if (opt_expect) {\n if (this.ch.indexOf(opt_expect) == -1) {\n throw this.error('Expected one of ' + opt_expect + ', found: ' +\n this.ch);\n }\n }\n};\n// SOURCE FILE: hterm/js/hterm_parser_identifiers.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Collections of identifier for hterm.Parser.\n */\nhterm.Parser.identifiers = {};\n\n/**\n * Modifier key names used when defining key sequences.\n *\n * These are upper case so we can normalize the user input and be forgiving.\n * \"CTRL-A\" and \"Ctrl-A\" and \"ctrl-a\" are all accepted.\n *\n * Note: Names here cannot overlap with hterm.Parser.identifiers.keyCodes.\n */\nhterm.Parser.identifiers.modifierKeys = {\n SHIFT: 'shift',\n CTRL: 'ctrl',\n // Common alias.\n CONTROL: 'ctrl',\n ALT: 'alt',\n META: 'meta'\n};\n\n/**\n * Key codes useful when defining key sequences.\n *\n * Punctuation is mostly left out of this list because they can move around\n * based on keyboard locale and browser.\n *\n * In a key sequence like \"Ctrl-ESC\", the ESC comes from this list of\n * identifiers. It is equivalent to \"Ctrl-27\" and \"Ctrl-0x1b\".\n *\n * These are upper case so we can normalize the user input and be forgiving.\n * \"Ctrl-ESC\" and \"Ctrl-Esc\" an \"Ctrl-esc\" are all accepted.\n *\n * We also include common aliases for the same key. \"Esc\" and \"Escape\" are the\n * same key.\n *\n * Note: Names here cannot overlap with hterm.Parser.identifiers.modifierKeys.\n */\nhterm.Parser.identifiers.keyCodes = {\n // Top row.\n ESCAPE: 27,\n ESC: 27,\n F1: 112,\n F2: 113,\n F3: 114,\n F4: 115,\n F5: 116,\n F6: 117,\n F7: 118,\n F8: 119,\n F9: 120,\n F10: 121,\n F11: 122,\n F12: 123,\n\n // Row two.\n ONE: 49,\n TWO: 50,\n THREE: 51,\n FOUR: 52,\n FIVE: 53,\n SIX: 54,\n SEVEN: 55,\n EIGHT: 56,\n NINE: 57,\n ZERO: 48,\n BACKSPACE: 8,\n BKSP: 8,\n BS: 8,\n\n // Row three.\n TAB: 9,\n Q: 81,\n W: 87,\n E: 69,\n R: 82,\n T: 84,\n Y: 89,\n U: 85,\n I: 73,\n O: 79,\n P: 80,\n\n // Row four.\n CAPS_LOCK: 20,\n CAPSLOCK: 20,\n CAPS: 20,\n A: 65,\n S: 83,\n D: 68,\n F: 70,\n G: 71,\n H: 72,\n J: 74,\n K: 75,\n L: 76,\n // We map enter and return together even though enter should really be 10\n // because most people don't know or care about the history here. Plus,\n // most keyboards/programs map them together already. If they really want\n // to bind them differently, they can also use the numeric value.\n ENTER: 13,\n ENT: 13,\n RETURN: 13,\n RET: 13,\n\n // Row five.\n Z: 90,\n X: 88,\n C: 67,\n V: 86,\n B: 66,\n N: 78,\n M: 77,\n\n // Etc.\n SPACE: 32,\n SP: 32,\n PRINT_SCREEN: 42,\n PRTSC: 42,\n SCROLL_LOCK: 145,\n SCRLK: 145,\n BREAK: 19,\n BRK: 19,\n INSERT: 45,\n INS: 45,\n HOME: 36,\n PAGE_UP: 33,\n PGUP: 33,\n DELETE: 46,\n DEL: 46,\n END: 35,\n PAGE_DOWN: 34,\n PGDOWN: 34,\n PGDN: 34,\n UP: 38,\n DOWN: 40,\n RIGHT: 39,\n LEFT: 37,\n NUMLOCK: 144,\n\n // Keypad\n KP0: 96,\n KP1: 97,\n KP2: 98,\n KP3: 99,\n KP4: 100,\n KP5: 101,\n KP6: 102,\n KP7: 103,\n KP8: 104,\n KP9: 105,\n KP_PLUS: 107,\n KP_ADD: 107,\n KP_MINUS: 109,\n KP_SUBTRACT: 109,\n KP_STAR: 106,\n KP_MULTIPLY: 106,\n KP_DIVIDE: 111,\n KP_DECIMAL: 110,\n KP_PERIOD: 110,\n\n // Chrome OS media keys\n NAVIGATE_BACK: 166,\n NAVIGATE_FORWARD: 167,\n RELOAD: 168,\n FULL_SCREEN: 183,\n WINDOW_OVERVIEW: 182,\n BRIGHTNESS_UP: 216,\n BRIGHTNESS_DOWN: 217\n};\n\n/**\n * Identifiers for use in key actions.\n */\nhterm.Parser.identifiers.actions = {\n /**\n * Prevent the browser and operating system from handling the event.\n */\n CANCEL: hterm.Keyboard.KeyActions.CANCEL,\n\n /**\n * Wait for a \"keypress\" event, send the keypress charCode to the host.\n */\n DEFAULT: hterm.Keyboard.KeyActions.DEFAULT,\n\n /**\n * Let the browser or operating system handle the key.\n */\n PASS: hterm.Keyboard.KeyActions.PASS,\n\n /**\n * Scroll the terminal one page up.\n */\n scrollPageUp: function(terminal) {\n terminal.scrollPageUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal one page down.\n */\n scrollPageDown: function(terminal) {\n terminal.scrollPageDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal to the top.\n */\n scrollToTop: function(terminal) {\n terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal to the bottom.\n */\n scrollToBottom: function(terminal) {\n terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Clear the terminal and scrollback buffer.\n */\n clearScrollback: function(terminal) {\n terminal.wipeContents();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n};\n// SOURCE FILE: hterm/js/hterm_preference_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'lib.Storage');\n\n/**\n * PreferenceManager subclass managing global NaSSH preferences.\n *\n * This is currently just an ordered list of known connection profiles.\n */\nhterm.PreferenceManager = function(profileId) {\n lib.PreferenceManager.call(this, hterm.defaultStorage,\n '/hterm/profiles/' + profileId);\n var defs = hterm.PreferenceManager.defaultPreferences;\n Object.keys(defs).forEach(function(key) {\n this.definePreference(key, defs[key][1]);\n }.bind(this));\n};\n\nhterm.PreferenceManager.categories = {};\nhterm.PreferenceManager.categories.Keyboard = 'Keyboard';\nhterm.PreferenceManager.categories.Appearance = 'Appearance';\nhterm.PreferenceManager.categories.CopyPaste = 'CopyPaste';\nhterm.PreferenceManager.categories.Sounds = 'Sounds';\nhterm.PreferenceManager.categories.Scrolling = 'Scrolling';\nhterm.PreferenceManager.categories.Encoding = 'Encoding';\nhterm.PreferenceManager.categories.Miscellaneous = 'Miscellaneous';\n\n/**\n * List of categories, ordered by display order (top to bottom)\n */\nhterm.PreferenceManager.categoryDefinitions = [\n { id: hterm.PreferenceManager.categories.Appearance,\n text: 'Appearance (fonts, colors, images)'},\n { id: hterm.PreferenceManager.categories.CopyPaste,\n text: 'Copy & Paste'},\n { id: hterm.PreferenceManager.categories.Encoding,\n text: 'Encoding'},\n { id: hterm.PreferenceManager.categories.Keyboard,\n text: 'Keyboard'},\n { id: hterm.PreferenceManager.categories.Scrolling,\n text: 'Scrolling'},\n { id: hterm.PreferenceManager.categories.Sounds,\n text: 'Sounds'},\n { id: hterm.PreferenceManager.categories.Miscellaneous,\n text: 'Misc.'}\n];\n\n\nhterm.PreferenceManager.defaultPreferences = {\n 'alt-gr-mode':\n [hterm.PreferenceManager.categories.Keyboard, null,\n [null, 'none', 'ctrl-alt', 'left-alt', 'right-alt'],\n 'Select an AltGr detection hack^Wheuristic.\\n' +\n '\\n' +\n '\\'null\\': Autodetect based on navigator.language:\\n' +\n ' \\'en-us\\' => \\'none\\', else => \\'right-alt\\'\\n' +\n '\\'none\\': Disable any AltGr related munging.\\n' +\n '\\'ctrl-alt\\': Assume Ctrl+Alt means AltGr.\\n' +\n '\\'left-alt\\': Assume left Alt means AltGr.\\n' +\n '\\'right-alt\\': Assume right Alt means AltGr.\\n'],\n\n 'alt-backspace-is-meta-backspace':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If set, undoes the Chrome OS Alt-Backspace->DEL remap, so that ' +\n 'alt-backspace indeed is alt-backspace.'],\n\n 'alt-is-meta':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Set whether the alt key acts as a meta key or as a distinct alt key.'],\n\n 'alt-sends-what':\n [hterm.PreferenceManager.categories.Keyboard, 'escape',\n ['escape', '8-bit', 'browser-key'],\n 'Controls how the alt key is handled.\\n' +\n '\\n' +\n ' escape....... Send an ESC prefix.\\n' +\n ' 8-bit........ Add 128 to the unshifted character as in xterm.\\n' +\n ' browser-key.. Wait for the keypress event and see what the browser \\n' +\n ' says. (This won\\'t work well on platforms where the \\n' +\n ' browser performs a default action for some alt sequences.)'\n ],\n\n 'audible-bell-sound':\n [hterm.PreferenceManager.categories.Sounds, 'lib-resource:hterm/audio/bell',\n 'url',\n 'URL of the terminal bell sound. Empty string for no audible bell.'],\n\n 'desktop-notification-bell':\n [hterm.PreferenceManager.categories.Sounds, false, 'bool',\n 'If true, terminal bells in the background will create a Web ' +\n 'Notification. https://www.w3.org/TR/notifications/\\n' +\n '\\n'+\n 'Displaying notifications requires permission from the user. When this ' +\n 'option is set to true, hterm will attempt to ask the user for permission ' +\n 'if necessary. Note browsers may not show this permission request if it ' +\n 'did not originate from a user action.\\n' +\n '\\n' +\n 'Chrome extensions with the \"notifications\" permission have permission to ' +\n 'display notifications.'],\n\n 'background-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgb(16, 16, 16)', 'color',\n 'The background color for text with no other color attributes.'],\n\n 'background-image':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image. Empty string for no image.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' url(https://goo.gl/anedTK)\\n' +\n ' linear-gradient(top bottom, blue, red)'],\n\n 'background-size':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image size. Defaults to none.'],\n\n 'background-position':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image position.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' 10% 10%\\n' +\n ' center'],\n\n 'backspace-sends-backspace':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, the backspace should send BS (\\'\\\\x08\\', aka ^H). Otherwise ' +\n 'the backspace key should send \\'\\\\x7f\\'.'],\n\n 'character-map-overrides':\n [hterm.PreferenceManager.categories.Appearance, null, 'value',\n 'This is specified as an object. It is a sparse array, where each ' +\n 'property is the character set code and the value is an object that is ' +\n 'a sparse array itself. In that sparse array, each property is the ' +\n 'received character and the value is the displayed character.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' {\"0\":{\"+\":\"\\\\u2192\",\",\":\"\\\\u2190\",\"-\":\"\\\\u2191\",\".\":\"\\\\u2193\", ' +\n '\"0\":\"\\\\u2588\"}}'\n ],\n\n 'close-on-exit':\n [hterm.PreferenceManager.categories.Miscellaneous, true, 'bool',\n 'Whether or not to close the window when the command exits.'],\n\n 'cursor-blink':\n [hterm.PreferenceManager.categories.Appearance, false, 'bool',\n 'Whether or not to blink the cursor by default.'],\n\n 'cursor-blink-cycle':\n [hterm.PreferenceManager.categories.Appearance, [1000, 500], 'value',\n 'The cursor blink rate in milliseconds.\\n' +\n '\\n' +\n 'A two element array, the first of which is how long the cursor should be ' +\n 'on, second is how long it should be off.'],\n\n 'cursor-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgba(255, 0, 0, 0.5)',\n 'color',\n 'The color of the visible cursor.'],\n\n 'color-palette-overrides':\n [hterm.PreferenceManager.categories.Appearance, null, 'value',\n 'Override colors in the default palette.\\n' +\n '\\n' +\n 'This can be specified as an array or an object. If specified as an ' +\n 'object it is assumed to be a sparse array, where each property ' +\n 'is a numeric index into the color palette.\\n' +\n '\\n' +\n 'Values can be specified as almost any css color value. This ' +\n 'includes #RGB, #RRGGBB, rgb(...), rgba(...), and any color names ' +\n 'that are also part of the stock X11 rgb.txt file.\\n' +\n '\\n' +\n 'You can use \\'null\\' to specify that the default value should be not ' +\n 'be changed. This is useful for skipping a small number of indices ' +\n 'when the value is specified as an array.'],\n\n 'copy-on-select':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Automatically copy mouse selection to the clipboard.'],\n\n 'use-default-window-copy':\n [hterm.PreferenceManager.categories.CopyPaste, false, 'bool',\n 'Whether to use the default window copy behavior'],\n\n 'clear-selection-after-copy':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Whether to clear the selection after copying.'],\n\n 'ctrl-plus-minus-zero-zoom':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'If true, Ctrl-Plus/Minus/Zero controls zoom.\\n' +\n 'If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_, ' +\n 'Ctrl-Plus/Zero do nothing.'],\n\n 'ctrl-c-copy':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Ctrl+C copies if true, send ^C to host if false.\\n' +\n 'Ctrl+Shift+C sends ^C to host if true, copies if false.'],\n\n 'ctrl-v-paste':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Ctrl+V pastes if true, send ^V to host if false.\\n' +\n 'Ctrl+Shift+V sends ^V to host if true, pastes if false.'],\n\n 'east-asian-ambiguous-as-two-column':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Set whether East Asian Ambiguous characters have two column width.'],\n\n 'enable-8-bit-control':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'True to enable 8-bit control characters, false to ignore them.\\n' +\n '\\n' +\n 'We\\'ll respect the two-byte versions of these control characters ' +\n 'regardless of this setting.'],\n\n 'enable-bold':\n [hterm.PreferenceManager.categories.Appearance, null, 'tristate',\n 'True if we should use bold weight font for text with the bold/bright ' +\n 'attribute. False to use the normal weight font. Null to autodetect.'],\n\n 'enable-bold-as-bright':\n [hterm.PreferenceManager.categories.Appearance, true, 'bool',\n 'True if we should use bright colors (8-15 on a 16 color palette) ' +\n 'for any text with the bold attribute. False otherwise.'],\n\n 'enable-blink':\n [hterm.PreferenceManager.categories.Appearance, true, 'bool',\n 'True if we should respect the blink attribute. False to ignore it. '],\n\n 'enable-clipboard-notice':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Show a message in the terminal when the host writes to the clipboard.'],\n\n 'enable-clipboard-write':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Allow the host to write directly to the system clipboard.'],\n\n 'enable-dec12':\n [hterm.PreferenceManager.categories.Miscellaneous, false, 'bool',\n 'Respect the host\\'s attempt to change the cursor blink status using ' +\n 'DEC Private Mode 12.'],\n\n 'environment':\n [hterm.PreferenceManager.categories.Miscellaneous, {'TERM': 'xterm-256color'},\n 'value',\n 'The default environment variables, as an object.'],\n\n 'font-family':\n [hterm.PreferenceManager.categories.Appearance,\n '\"DejaVu Sans Mono\", \"Everson Mono\", FreeMono, \"Menlo\", \"Terminal\", ' +\n 'monospace', 'string',\n 'Default font family for the terminal text.'],\n\n 'font-size':\n [hterm.PreferenceManager.categories.Appearance, 15, 'int',\n 'The default font size in pixels.'],\n\n 'font-smoothing':\n [hterm.PreferenceManager.categories.Appearance, 'antialiased', 'string',\n 'CSS font-smoothing property.'],\n\n 'foreground-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgb(240, 240, 240)', 'color',\n 'The foreground color for text with no other color attributes.'],\n\n 'home-keys-scroll':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, home/end will control the terminal scrollbar and shift home/end ' +\n 'will send the VT keycodes. If false then home/end sends VT codes and ' +\n 'shift home/end scrolls.'],\n\n 'keybindings':\n [hterm.PreferenceManager.categories.Keyboard, null, 'value',\n 'A map of key sequence to key actions. Key sequences include zero or ' +\n 'more modifier keys followed by a key code. Key codes can be decimal or ' +\n 'hexadecimal numbers, or a key identifier. Key actions can be specified ' +\n 'a string to send to the host, or an action identifier. For a full ' +\n 'explanation of the format, see https://goo.gl/LWRndr.\\n' +\n '\\n' +\n 'Sample keybindings:\\n' +\n '{\\n' +\n ' \"Ctrl-Alt-K\": \"clearScrollback\",\\n' +\n ' \"Ctrl-Shift-L\": \"PASS\",\\n' +\n ' \"Ctrl-H\": \"\\'HELLO\\\\n\\'\"\\n' +\n '}'],\n\n 'max-string-sequence':\n [hterm.PreferenceManager.categories.Encoding, 100000, 'int',\n 'Max length of a DCS, OSC, PM, or APS sequence before we give up and ' +\n 'ignore the code.'],\n\n 'media-keys-are-fkeys':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, convert media keys to their Fkey equivalent. If false, let ' +\n 'the browser handle the keys.'],\n\n 'meta-sends-escape':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Set whether the meta key sends a leading escape or not.'],\n\n 'mouse-right-click-paste':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Paste on right mouse button clicks.\\n' +\n '\\n' +\n 'This option is activate independent of the \"mouse-paste-button\" ' +\n 'setting.\\n' +\n '\\n' +\n 'Note: This will handle left & right handed mice correctly.'],\n\n 'mouse-paste-button':\n [hterm.PreferenceManager.categories.CopyPaste, null,\n [null, 0, 1, 2, 3, 4, 5, 6],\n 'Mouse paste button, or null to autodetect.\\n' +\n '\\n' +\n 'For autodetect, we\\'ll use the middle mouse button for non-X11 ' +\n 'platforms (including Chrome OS). On X11, we\\'ll use the right mouse ' +\n 'button (since the native window manager should paste via the middle ' +\n 'mouse button).\\n' +\n '\\n' +\n '0 == left (primary) button.\\n' +\n '1 == middle (auxiliary) button.\\n' +\n '2 == right (secondary) button.\\n' +\n '\\n' +\n 'This option is activate independent of the \"mouse-right-click-paste\" ' +\n 'setting.\\n' +\n '\\n' +\n 'Note: This will handle left & right handed mice correctly.'],\n\n 'word-break-match-left':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^!@#$%&*,;:`]', 'string',\n 'Regular expression to halt matching to the left (start) of a selection.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.\\n' +\n 'We allow \"~\" and \".\" by default as paths frequently start with those.'],\n\n 'word-break-match-right':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^!@#$%&*,;:~.`]', 'string',\n 'Regular expression to halt matching to the right (end) of a selection.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.'],\n\n 'word-break-match-middle':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^]*', 'string',\n 'Regular expression to match all the characters in the middle.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.\\n' +\n '\\n' +\n 'Used to expand the selection surrounding the starting point.'],\n\n 'page-keys-scroll':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, page up/down will control the terminal scrollbar and shift ' +\n 'page up/down will send the VT keycodes. If false then page up/down ' +\n 'sends VT codes and shift page up/down scrolls.'],\n\n 'pass-alt-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Alt-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Alt-1..9 will be handled by the browser. If false, Alt-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-ctrl-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Ctrl-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Ctrl-1..9 will be handled by the browser. If false, Ctrl-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-meta-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Meta-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Meta-1..9 will be handled by the browser. If false, Meta-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-meta-v':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Set whether meta-V gets passed to host.'],\n\n 'receive-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'],\n 'Set the expected encoding for data received from the host.\\n' +\n '\\n' +\n 'Valid values are \\'utf-8\\' and \\'raw\\'.'],\n\n 'scroll-on-keystroke':\n [hterm.PreferenceManager.categories.Scrolling, true, 'bool',\n 'If true, scroll to the bottom on any keystroke.'],\n\n 'scroll-on-output':\n [hterm.PreferenceManager.categories.Scrolling, false, 'bool',\n 'If true, scroll to the bottom on terminal output.'],\n\n 'scrollbar-visible':\n [hterm.PreferenceManager.categories.Scrolling, true, 'bool',\n 'The vertical scrollbar mode.'],\n\n 'scroll-wheel-may-send-arrow-keys':\n [hterm.PreferenceManager.categories.Scrolling, false, 'bool',\n 'When using the alternative screen buffer, and DECCKM (Application Cursor ' +\n 'Keys) is active, mouse wheel scroll events will emulate arrow keys.\\n' +\n '\\n' +\n 'It can be temporarily disabled by holding the shift key.\\n' +\n '\\n' +\n 'This frequently comes up when using pagers (less) or reading man pages ' +\n 'or text editors (vi/nano) or using screen/tmux.'],\n\n 'scroll-wheel-move-multiplier':\n [hterm.PreferenceManager.categories.Scrolling, 1, 'int',\n 'The multiplier for the pixel delta in wheel events caused by the ' +\n 'scroll wheel. Alters how fast the page scrolls.'],\n\n 'send-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'],\n 'Set the encoding for data sent to host.'],\n\n 'terminal-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'iso-2022',\n ['iso-2022', 'utf-8', 'utf-8-locked'],\n 'The default terminal encoding (DOCS).\\n' +\n '\\n' +\n 'ISO-2022 enables character map translations (like graphics maps).\\n' +\n 'UTF-8 disables support for those.\\n' +\n '\\n' +\n 'The locked variant means the encoding cannot be changed at runtime ' +\n 'via terminal escape sequences.\\n' +\n '\\n' +\n 'You should stick with UTF-8 unless you notice broken rendering with ' +\n 'legacy applications.'],\n\n 'shift-insert-paste':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Shift + Insert pastes if true, sent to host if false.'],\n\n 'user-css':\n [hterm.PreferenceManager.categories.Appearance, '', 'url',\n 'URL of user stylesheet to include in the terminal document.'],\n\n 'user-css-text':\n [hterm.PreferenceManager.categories.Appearance, '', 'multiline-string',\n 'Custom CSS text for styling the terminal.'],\n};\n\nhterm.PreferenceManager.prototype =\n Object.create(lib.PreferenceManager.prototype);\nhterm.PreferenceManager.constructor = hterm.PreferenceManager;\n// SOURCE FILE: hterm/js/hterm_pubsub.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Utility class used to add publish/subscribe/unsubscribe functionality to\n * an existing object.\n */\nhterm.PubSub = function() {\n this.observers_ = {};\n};\n\n/**\n * Add publish, subscribe, and unsubscribe methods to an existing object.\n *\n * No other properties of the object are touched, so there is no need to\n * worry about clashing private properties.\n *\n * @param {Object} obj The object to add this behavior to.\n */\nhterm.PubSub.addBehavior = function(obj) {\n var pubsub = new hterm.PubSub();\n for (var m in hterm.PubSub.prototype) {\n obj[m] = hterm.PubSub.prototype[m].bind(pubsub);\n }\n};\n\n/**\n * Subscribe to be notified of messages about a subject.\n *\n * @param {string} subject The subject to subscribe to.\n * @param {function(Object)} callback The function to invoke for notifications.\n */\nhterm.PubSub.prototype.subscribe = function(subject, callback) {\n if (!(subject in this.observers_))\n this.observers_[subject] = [];\n\n this.observers_[subject].push(callback);\n};\n\n/**\n * Unsubscribe from a subject.\n *\n * @param {string} subject The subject to unsubscribe from.\n * @param {function(Object)} callback A callback previously registered via\n * subscribe().\n */\nhterm.PubSub.prototype.unsubscribe = function(subject, callback) {\n var list = this.observers_[subject];\n if (!list)\n throw 'Invalid subject: ' + subject;\n\n var i = list.indexOf(callback);\n if (i < 0)\n throw 'Not subscribed: ' + subject;\n\n list.splice(i, 1);\n};\n\n/**\n * Publish a message about a subject.\n *\n * Subscribers (and the optional final callback) are invoked asynchronously.\n * This method will return before anyone is actually notified.\n *\n * @param {string} subject The subject to publish about.\n * @param {Object} e An arbitrary object associated with this notification.\n * @param {function(Object)} opt_lastCallback An optional function to call after\n * all subscribers have been notified.\n */\nhterm.PubSub.prototype.publish = function(subject, e, opt_lastCallback) {\n function notifyList(i) {\n // Set this timeout before invoking the callback, so we don't have to\n // concern ourselves with exceptions.\n if (i < list.length - 1)\n setTimeout(notifyList, 0, i + 1);\n\n list[i](e);\n }\n\n var list = this.observers_[subject];\n if (list) {\n // Copy the list, in case it changes while we're notifying.\n list = [].concat(list);\n }\n\n if (opt_lastCallback) {\n if (list) {\n list.push(opt_lastCallback);\n } else {\n list = [opt_lastCallback];\n }\n }\n\n if (list)\n setTimeout(notifyList, 0, 0);\n};\n// SOURCE FILE: hterm/js/hterm_screen.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'lib.wc',\n 'hterm.RowCol', 'hterm.Size', 'hterm.TextAttributes');\n\n/**\n * @fileoverview This class represents a single terminal screen full of text.\n *\n * It maintains the current cursor position and has basic methods for text\n * insert and overwrite, and adding or removing rows from the screen.\n *\n * This class has no knowledge of the scrollback buffer.\n *\n * The number of rows on the screen is determined only by the number of rows\n * that the caller inserts into the screen. If a caller wants to ensure a\n * constant number of rows on the screen, it's their responsibility to remove a\n * row for each row inserted.\n *\n * The screen width, in contrast, is enforced locally.\n *\n *\n * In practice...\n * - The hterm.Terminal class holds two hterm.Screen instances. One for the\n * primary screen and one for the alternate screen.\n *\n * - The html.Screen class only cares that rows are HTMLElements. In the\n * larger context of hterm, however, the rows happen to be displayed by an\n * hterm.ScrollPort and have to follow a few rules as a result. Each\n * row must be rooted by the custom HTML tag 'x-row', and each must have a\n * rowIndex property that corresponds to the index of the row in the context\n * of the scrollback buffer. These invariants are enforced by hterm.Terminal\n * because that is the class using the hterm.Screen in the context of an\n * hterm.ScrollPort.\n */\n\n/**\n * Create a new screen instance.\n *\n * The screen initially has no rows and a maximum column count of 0.\n *\n * @param {integer} opt_columnCount The maximum number of columns for this\n * screen. See insertString() and overwriteString() for information about\n * what happens when too many characters are added too a row. Defaults to\n * 0 if not provided.\n */\nhterm.Screen = function(opt_columnCount) {\n /**\n * Public, read-only access to the rows in this screen.\n */\n this.rowsArray = [];\n\n // The max column width for this screen.\n this.columnCount_ = opt_columnCount || 80;\n\n // The current color, bold, underline and blink attributes.\n this.textAttributes = new hterm.TextAttributes(window.document);\n\n // Current zero-based cursor coordinates.\n this.cursorPosition = new hterm.RowCol(0, 0);\n\n // The node containing the row that the cursor is positioned on.\n this.cursorRowNode_ = null;\n\n // The node containing the span of text that the cursor is positioned on.\n this.cursorNode_ = null;\n\n // The offset in column width into cursorNode_ where the cursor is positioned.\n this.cursorOffset_ = null;\n\n // Regexes for expanding word selections.\n this.wordBreakMatchLeft = null;\n this.wordBreakMatchRight = null;\n this.wordBreakMatchMiddle = null;\n};\n\n/**\n * Return the screen size as an hterm.Size object.\n *\n * @return {hterm.Size} hterm.Size object representing the current number\n * of rows and columns in this screen.\n */\nhterm.Screen.prototype.getSize = function() {\n return new hterm.Size(this.columnCount_, this.rowsArray.length);\n};\n\n/**\n * Return the current number of rows in this screen.\n *\n * @return {integer} The number of rows in this screen.\n */\nhterm.Screen.prototype.getHeight = function() {\n return this.rowsArray.length;\n};\n\n/**\n * Return the current number of columns in this screen.\n *\n * @return {integer} The number of columns in this screen.\n */\nhterm.Screen.prototype.getWidth = function() {\n return this.columnCount_;\n};\n\n/**\n * Set the maximum number of columns per row.\n *\n * @param {integer} count The maximum number of columns per row.\n */\nhterm.Screen.prototype.setColumnCount = function(count) {\n this.columnCount_ = count;\n\n if (this.cursorPosition.column >= count)\n this.setCursorPosition(this.cursorPosition.row, count - 1);\n};\n\n/**\n * Remove the first row from the screen and return it.\n *\n * @return {HTMLElement} The first row in this screen.\n */\nhterm.Screen.prototype.shiftRow = function() {\n return this.shiftRows(1)[0];\n};\n\n/**\n * Remove rows from the top of the screen and return them as an array.\n *\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.shiftRows = function(count) {\n return this.rowsArray.splice(0, count);\n};\n\n/**\n * Insert a row at the top of the screen.\n *\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.unshiftRow = function(row) {\n this.rowsArray.splice(0, 0, row);\n};\n\n/**\n * Insert rows at the top of the screen.\n *\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.unshiftRows = function(rows) {\n this.rowsArray.unshift.apply(this.rowsArray, rows);\n};\n\n/**\n * Remove the last row from the screen and return it.\n *\n * @return {HTMLElement} The last row in this screen.\n */\nhterm.Screen.prototype.popRow = function() {\n return this.popRows(1)[0];\n};\n\n/**\n * Remove rows from the bottom of the screen and return them as an array.\n *\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.popRows = function(count) {\n return this.rowsArray.splice(this.rowsArray.length - count, count);\n};\n\n/**\n * Insert a row at the bottom of the screen.\n *\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.pushRow = function(row) {\n this.rowsArray.push(row);\n};\n\n/**\n * Insert rows at the bottom of the screen.\n *\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.pushRows = function(rows) {\n rows.push.apply(this.rowsArray, rows);\n};\n\n/**\n * Insert a row at the specified row of the screen.\n *\n * @param {integer} index The index to insert the row.\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.insertRow = function(index, row) {\n this.rowsArray.splice(index, 0, row);\n};\n\n/**\n * Insert rows at the specified row of the screen.\n *\n * @param {integer} index The index to insert the rows.\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.insertRows = function(index, rows) {\n for (var i = 0; i < rows.length; i++) {\n this.rowsArray.splice(index + i, 0, rows[i]);\n }\n};\n\n/**\n * Remove a row from the screen and return it.\n *\n * @param {integer} index The index of the row to remove.\n * @return {HTMLElement} The selected row.\n */\nhterm.Screen.prototype.removeRow = function(index) {\n return this.rowsArray.splice(index, 1)[0];\n};\n\n/**\n * Remove rows from the bottom of the screen and return them as an array.\n *\n * @param {integer} index The index to start removing rows.\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.removeRows = function(index, count) {\n return this.rowsArray.splice(index, count);\n};\n\n/**\n * Invalidate the current cursor position.\n *\n * This sets this.cursorPosition to (0, 0) and clears out some internal\n * data.\n *\n * Attempting to insert or overwrite text while the cursor position is invalid\n * will raise an obscure exception.\n */\nhterm.Screen.prototype.invalidateCursorPosition = function() {\n this.cursorPosition.move(0, 0);\n this.cursorRowNode_ = null;\n this.cursorNode_ = null;\n this.cursorOffset_ = null;\n};\n\n/**\n * Clear the contents of the cursor row.\n */\nhterm.Screen.prototype.clearCursorRow = function() {\n this.cursorRowNode_.innerHTML = '';\n this.cursorRowNode_.removeAttribute('line-overflow');\n this.cursorOffset_ = 0;\n this.cursorPosition.column = 0;\n this.cursorPosition.overflow = false;\n\n var text;\n if (this.textAttributes.isDefault()) {\n text = '';\n } else {\n text = lib.f.getWhitespace(this.columnCount_);\n }\n\n // We shouldn't honor inverse colors when clearing an area, to match\n // xterm's back color erase behavior.\n var inverse = this.textAttributes.inverse;\n this.textAttributes.inverse = false;\n this.textAttributes.syncColors();\n\n var node = this.textAttributes.createContainer(text);\n this.cursorRowNode_.appendChild(node);\n this.cursorNode_ = node;\n\n this.textAttributes.inverse = inverse;\n this.textAttributes.syncColors();\n};\n\n/**\n * Mark the current row as having overflowed to the next line.\n *\n * The line overflow state is used when converting a range of rows into text.\n * It makes it possible to recombine two or more overflow terminal rows into\n * a single line.\n *\n * This is distinct from the cursor being in the overflow state. Cursor\n * overflow indicates that printing at the cursor position will commit a\n * line overflow, unless it is preceded by a repositioning of the cursor\n * to a non-overflow state.\n */\nhterm.Screen.prototype.commitLineOverflow = function() {\n this.cursorRowNode_.setAttribute('line-overflow', true);\n};\n\n/**\n * Relocate the cursor to a give row and column.\n *\n * @param {integer} row The zero based row.\n * @param {integer} column The zero based column.\n */\nhterm.Screen.prototype.setCursorPosition = function(row, column) {\n if (!this.rowsArray.length) {\n console.warn('Attempt to set cursor position on empty screen.');\n return;\n }\n\n if (row >= this.rowsArray.length) {\n console.error('Row out of bounds: ' + row);\n row = this.rowsArray.length - 1;\n } else if (row < 0) {\n console.error('Row out of bounds: ' + row);\n row = 0;\n }\n\n if (column >= this.columnCount_) {\n console.error('Column out of bounds: ' + column);\n column = this.columnCount_ - 1;\n } else if (column < 0) {\n console.error('Column out of bounds: ' + column);\n column = 0;\n }\n\n this.cursorPosition.overflow = false;\n\n var rowNode = this.rowsArray[row];\n var node = rowNode.firstChild;\n\n if (!node) {\n node = rowNode.ownerDocument.createTextNode('');\n rowNode.appendChild(node);\n }\n\n var currentColumn = 0;\n\n if (rowNode == this.cursorRowNode_) {\n if (column >= this.cursorPosition.column - this.cursorOffset_) {\n node = this.cursorNode_;\n currentColumn = this.cursorPosition.column - this.cursorOffset_;\n }\n } else {\n this.cursorRowNode_ = rowNode;\n }\n\n this.cursorPosition.move(row, column);\n\n while (node) {\n var offset = column - currentColumn;\n var width = hterm.TextAttributes.nodeWidth(node);\n if (!node.nextSibling || width > offset) {\n this.cursorNode_ = node;\n this.cursorOffset_ = offset;\n return;\n }\n\n currentColumn += width;\n node = node.nextSibling;\n }\n};\n\n/**\n * Set the provided selection object to be a caret selection at the current\n * cursor position.\n */\nhterm.Screen.prototype.syncSelectionCaret = function(selection) {\n try {\n selection.collapse(this.cursorNode_, this.cursorOffset_);\n } catch (firefoxIgnoredException) {\n // FF can throw an exception if the range is off, rather than just not\n // performing the collapse.\n }\n};\n\n/**\n * Split a single node into two nodes at the given offset.\n *\n * For example:\n * Given the DOM fragment '
Hello World
', call splitNode_\n * passing the span and an offset of 6. This would modify the fragment to\n * become: '
Hello World
'. If the span\n * had any attributes they would have been copied to the new span as well.\n *\n * The to-be-split node must have a container, so that the new node can be\n * placed next to it.\n *\n * @param {HTMLNode} node The node to split.\n * @param {integer} offset The offset into the node where the split should\n * occur.\n */\nhterm.Screen.prototype.splitNode_ = function(node, offset) {\n var afterNode = node.cloneNode(false);\n\n var textContent = node.textContent;\n node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset);\n afterNode.textContent = lib.wc.substr(textContent, offset);\n\n if (afterNode.textContent)\n node.parentNode.insertBefore(afterNode, node.nextSibling);\n if (!node.textContent)\n node.parentNode.removeChild(node);\n};\n\n/**\n * Ensure that text is clipped and the cursor is clamped to the column count.\n */\nhterm.Screen.prototype.maybeClipCurrentRow = function() {\n var width = hterm.TextAttributes.nodeWidth(this.cursorRowNode_);\n\n if (width <= this.columnCount_) {\n // Current row does not need clipping, but may need clamping.\n if (this.cursorPosition.column >= this.columnCount_) {\n this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1);\n this.cursorPosition.overflow = true;\n }\n\n return;\n }\n\n // Save off the current column so we can maybe restore it later.\n var currentColumn = this.cursorPosition.column;\n\n // Move the cursor to the final column.\n this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1);\n\n // Remove any text that partially overflows.\n width = hterm.TextAttributes.nodeWidth(this.cursorNode_);\n\n if (this.cursorOffset_ < width - 1) {\n this.cursorNode_.textContent = hterm.TextAttributes.nodeSubstr(\n this.cursorNode_, 0, this.cursorOffset_ + 1);\n }\n\n // Remove all nodes after the cursor.\n var rowNode = this.cursorRowNode_;\n var node = this.cursorNode_.nextSibling;\n\n while (node) {\n rowNode.removeChild(node);\n node = this.cursorNode_.nextSibling;\n }\n\n if (currentColumn < this.columnCount_) {\n // If the cursor was within the screen before we started then restore its\n // position.\n this.setCursorPosition(this.cursorPosition.row, currentColumn);\n } else {\n // Otherwise leave it at the the last column in the overflow state.\n this.cursorPosition.overflow = true;\n }\n};\n\n/**\n * Insert a string at the current character position using the current\n * text attributes.\n *\n * You must call maybeClipCurrentRow() after in order to clip overflowed\n * text and clamp the cursor.\n *\n * It is also up to the caller to properly maintain the line overflow state\n * using hterm.Screen..commitLineOverflow().\n */\nhterm.Screen.prototype.insertString = function(str) {\n var cursorNode = this.cursorNode_;\n var cursorNodeText = cursorNode.textContent;\n\n this.cursorRowNode_.removeAttribute('line-overflow');\n\n // We may alter the width of the string by prepending some missing\n // whitespaces, so we need to record the string width ahead of time.\n var strWidth = lib.wc.strWidth(str);\n\n // No matter what, before this function exits the cursor column will have\n // moved this much.\n this.cursorPosition.column += strWidth;\n\n // Local cache of the cursor offset.\n var offset = this.cursorOffset_;\n\n // Reverse offset is the offset measured from the end of the string.\n // Zero implies that the cursor is at the end of the cursor node.\n var reverseOffset = hterm.TextAttributes.nodeWidth(cursorNode) - offset;\n\n if (reverseOffset < 0) {\n // A negative reverse offset means the cursor is positioned past the end\n // of the characters on this line. We'll need to insert the missing\n // whitespace.\n var ws = lib.f.getWhitespace(-reverseOffset);\n\n // This whitespace should be completely unstyled. Underline, background\n // color, and strikethrough would be visible on whitespace, so we can't use\n // one of those spans to hold the text.\n if (!(this.textAttributes.underline ||\n this.textAttributes.strikethrough ||\n this.textAttributes.background ||\n this.textAttributes.wcNode ||\n !this.textAttributes.asciiNode ||\n this.textAttributes.tileData != null)) {\n // Best case scenario, we can just pretend the spaces were part of the\n // original string.\n str = ws + str;\n } else if (cursorNode.nodeType == 3 ||\n !(cursorNode.wcNode ||\n !cursorNode.asciiNode ||\n cursorNode.tileNode ||\n cursorNode.style.textDecoration ||\n cursorNode.style.backgroundColor)) {\n // Second best case, the current node is able to hold the whitespace.\n cursorNode.textContent = (cursorNodeText += ws);\n } else {\n // Worst case, we have to create a new node to hold the whitespace.\n var wsNode = cursorNode.ownerDocument.createTextNode(ws);\n this.cursorRowNode_.insertBefore(wsNode, cursorNode.nextSibling);\n this.cursorNode_ = cursorNode = wsNode;\n this.cursorOffset_ = offset = -reverseOffset;\n cursorNodeText = ws;\n }\n\n // We now know for sure that we're at the last character of the cursor node.\n reverseOffset = 0;\n }\n\n if (this.textAttributes.matchesContainer(cursorNode)) {\n // The new text can be placed directly in the cursor node.\n if (reverseOffset == 0) {\n cursorNode.textContent = cursorNodeText + str;\n } else if (offset == 0) {\n cursorNode.textContent = str + cursorNodeText;\n } else {\n cursorNode.textContent =\n hterm.TextAttributes.nodeSubstr(cursorNode, 0, offset) +\n str + hterm.TextAttributes.nodeSubstr(cursorNode, offset);\n }\n\n this.cursorOffset_ += strWidth;\n return;\n }\n\n // The cursor node is the wrong style for the new text. If we're at the\n // beginning or end of the cursor node, then the adjacent node is also a\n // potential candidate.\n\n if (offset == 0) {\n // At the beginning of the cursor node, the check the previous sibling.\n var previousSibling = cursorNode.previousSibling;\n if (previousSibling &&\n this.textAttributes.matchesContainer(previousSibling)) {\n previousSibling.textContent += str;\n this.cursorNode_ = previousSibling;\n this.cursorOffset_ = lib.wc.strWidth(previousSibling.textContent);\n return;\n }\n\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, cursorNode);\n this.cursorNode_ = newNode;\n this.cursorOffset_ = strWidth;\n return;\n }\n\n if (reverseOffset == 0) {\n // At the end of the cursor node, the check the next sibling.\n var nextSibling = cursorNode.nextSibling;\n if (nextSibling &&\n this.textAttributes.matchesContainer(nextSibling)) {\n nextSibling.textContent = str + nextSibling.textContent;\n this.cursorNode_ = nextSibling;\n this.cursorOffset_ = lib.wc.strWidth(str);\n return;\n }\n\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, nextSibling);\n this.cursorNode_ = newNode;\n // We specifically need to include any missing whitespace here, since it's\n // going in a new node.\n this.cursorOffset_ = hterm.TextAttributes.nodeWidth(newNode);\n return;\n }\n\n // Worst case, we're somewhere in the middle of the cursor node. We'll\n // have to split it into two nodes and insert our new container in between.\n this.splitNode_(cursorNode, offset);\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, cursorNode.nextSibling);\n this.cursorNode_ = newNode;\n this.cursorOffset_ = strWidth;\n};\n\n/**\n * Overwrite the text at the current cursor position.\n *\n * You must call maybeClipCurrentRow() after in order to clip overflowed\n * text and clamp the cursor.\n *\n * It is also up to the caller to properly maintain the line overflow state\n * using hterm.Screen..commitLineOverflow().\n */\nhterm.Screen.prototype.overwriteString = function(str) {\n var maxLength = this.columnCount_ - this.cursorPosition.column;\n if (!maxLength)\n return [str];\n\n var width = lib.wc.strWidth(str);\n if (this.textAttributes.matchesContainer(this.cursorNode_) &&\n this.cursorNode_.textContent.substr(this.cursorOffset_) == str) {\n // This overwrite would be a no-op, just move the cursor and return.\n this.cursorOffset_ += width;\n this.cursorPosition.column += width;\n return;\n }\n\n this.deleteChars(Math.min(width, maxLength));\n this.insertString(str);\n};\n\n/**\n * Forward-delete one or more characters at the current cursor position.\n *\n * Text to the right of the deleted characters is shifted left. Only affects\n * characters on the same row as the cursor.\n *\n * @param {integer} count The column width of characters to delete. This is\n * clamped to the column width minus the cursor column.\n * @return {integer} The column width of the characters actually deleted.\n */\nhterm.Screen.prototype.deleteChars = function(count) {\n var node = this.cursorNode_;\n var offset = this.cursorOffset_;\n\n var currentCursorColumn = this.cursorPosition.column;\n count = Math.min(count, this.columnCount_ - currentCursorColumn);\n if (!count)\n return 0;\n\n var rv = count;\n var startLength, endLength;\n\n while (node && count) {\n startLength = hterm.TextAttributes.nodeWidth(node);\n node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset) +\n hterm.TextAttributes.nodeSubstr(node, offset + count);\n endLength = hterm.TextAttributes.nodeWidth(node);\n count -= startLength - endLength;\n if (offset < startLength && endLength && startLength == endLength) {\n // No characters were deleted when there should be. We're probably trying\n // to delete one column width from a wide character node. We remove the\n // wide character node here and replace it with a single space.\n var spaceNode = this.textAttributes.createContainer(' ');\n node.parentNode.insertBefore(spaceNode, node.nextSibling);\n node.textContent = '';\n endLength = 0;\n count -= 1;\n }\n\n var nextNode = node.nextSibling;\n if (endLength == 0 && node != this.cursorNode_) {\n node.parentNode.removeChild(node);\n }\n node = nextNode;\n offset = 0;\n }\n\n // Remove this.cursorNode_ if it is an empty non-text node.\n if (this.cursorNode_.nodeType != 3 && !this.cursorNode_.textContent) {\n var cursorNode = this.cursorNode_;\n if (cursorNode.previousSibling) {\n this.cursorNode_ = cursorNode.previousSibling;\n this.cursorOffset_ = hterm.TextAttributes.nodeWidth(\n cursorNode.previousSibling);\n } else if (cursorNode.nextSibling) {\n this.cursorNode_ = cursorNode.nextSibling;\n this.cursorOffset_ = 0;\n } else {\n var emptyNode = this.cursorRowNode_.ownerDocument.createTextNode('');\n this.cursorRowNode_.appendChild(emptyNode);\n this.cursorNode_ = emptyNode;\n this.cursorOffset_ = 0;\n }\n this.cursorRowNode_.removeChild(cursorNode);\n }\n\n return rv;\n};\n\n/**\n * Finds first X-ROW of a line containing specified X-ROW.\n * Used to support line overflow.\n *\n * @param {Node} row X-ROW to begin search for first row of line.\n * @return {Node} The X-ROW that is at the beginning of the line.\n **/\nhterm.Screen.prototype.getLineStartRow_ = function(row) {\n while (row.previousSibling &&\n row.previousSibling.hasAttribute('line-overflow')) {\n row = row.previousSibling;\n }\n return row;\n};\n\n/**\n * Gets text of a line beginning with row.\n * Supports line overflow.\n *\n * @param {Node} row First X-ROW of line.\n * @return {string} Text content of line.\n **/\nhterm.Screen.prototype.getLineText_ = function(row) {\n var rowText = \"\";\n while (row) {\n rowText += row.textContent;\n if (row.hasAttribute('line-overflow')) {\n row = row.nextSibling;\n } else {\n break;\n }\n }\n return rowText;\n};\n\n/**\n * Returns X-ROW that is ancestor of the node.\n *\n * @param {Node} node Node to get X-ROW ancestor for.\n * @return {Node} X-ROW ancestor of node, or null if not found.\n **/\nhterm.Screen.prototype.getXRowAncestor_ = function(node) {\n while (node) {\n if (node.nodeName === 'X-ROW')\n break;\n node = node.parentNode;\n }\n return node;\n};\n\n/**\n * Returns position within line of character at offset within node.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {Node} node Node to get position of.\n * @param {integer} offset Offset into node.\n *\n * @return {integer} Position within line of character at offset within node.\n **/\nhterm.Screen.prototype.getPositionWithOverflow_ = function(row, node, offset) {\n if (!node)\n return -1;\n var ancestorRow = this.getXRowAncestor_(node);\n if (!ancestorRow)\n return -1;\n var position = 0;\n while (ancestorRow != row) {\n position += hterm.TextAttributes.nodeWidth(row);\n if (row.hasAttribute('line-overflow') && row.nextSibling) {\n row = row.nextSibling;\n } else {\n return -1;\n }\n }\n return position + this.getPositionWithinRow_(row, node, offset);\n};\n\n/**\n * Returns position within row of character at offset within node.\n * Does not support line overflow.\n *\n * @param {Node} row X-ROW to get position within.\n * @param {Node} node Node to get position for.\n * @param {integer} offset Offset within node to get position for.\n * @return {integer} Position within row of character at offset within node.\n **/\nhterm.Screen.prototype.getPositionWithinRow_ = function(row, node, offset) {\n if (node.parentNode != row) {\n // If we traversed to the top node, then there's nothing to find here.\n if (node.parentNode == null)\n return -1;\n\n return this.getPositionWithinRow_(node.parentNode, node, offset) +\n this.getPositionWithinRow_(row, node.parentNode, 0);\n }\n var position = 0;\n for (var i = 0; i < row.childNodes.length; i++) {\n var currentNode = row.childNodes[i];\n if (currentNode == node)\n return position + offset;\n position += hterm.TextAttributes.nodeWidth(currentNode);\n }\n return -1;\n};\n\n/**\n * Returns the node and offset corresponding to position within line.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {integer} position Position within line to retrieve node and offset.\n * @return {Array} Two element array containing node and offset respectively.\n **/\nhterm.Screen.prototype.getNodeAndOffsetWithOverflow_ = function(row, position) {\n while (row && position > hterm.TextAttributes.nodeWidth(row)) {\n if (row.hasAttribute('line-overflow') && row.nextSibling) {\n position -= hterm.TextAttributes.nodeWidth(row);\n row = row.nextSibling;\n } else {\n return -1;\n }\n }\n return this.getNodeAndOffsetWithinRow_(row, position);\n};\n\n/**\n * Returns the node and offset corresponding to position within row.\n * Does not support line overflow.\n *\n * @param {Node} row X-ROW to get position within.\n * @param {integer} position Position within row to retrieve node and offset.\n * @return {Array} Two element array containing node and offset respectively.\n **/\nhterm.Screen.prototype.getNodeAndOffsetWithinRow_ = function(row, position) {\n for (var i = 0; i < row.childNodes.length; i++) {\n var node = row.childNodes[i];\n var nodeTextWidth = hterm.TextAttributes.nodeWidth(node);\n if (position <= nodeTextWidth) {\n if (node.nodeName === 'SPAN') {\n /** Drill down to node contained by SPAN. **/\n return this.getNodeAndOffsetWithinRow_(node, position);\n } else {\n return [node, position];\n }\n }\n position -= nodeTextWidth;\n }\n return null;\n};\n\n/**\n * Returns the node and offset corresponding to position within line.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {integer} start Start position of range within line.\n * @param {integer} end End position of range within line.\n * @param {Range} range Range to modify.\n **/\nhterm.Screen.prototype.setRange_ = function(row, start, end, range) {\n var startNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, start);\n if (startNodeAndOffset == null)\n return;\n var endNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, end);\n if (endNodeAndOffset == null)\n return;\n range.setStart(startNodeAndOffset[0], startNodeAndOffset[1]);\n range.setEnd(endNodeAndOffset[0], endNodeAndOffset[1]);\n};\n\n/**\n * Expands selection to surround URLs.\n *\n * @param {Selection} selection Selection to expand.\n **/\nhterm.Screen.prototype.expandSelection = function(selection) {\n if (!selection)\n return;\n\n var range = selection.getRangeAt(0);\n if (!range || range.toString().match(/\\s/))\n return;\n\n var row = this.getLineStartRow_(this.getXRowAncestor_(range.startContainer));\n if (!row)\n return;\n\n var startPosition = this.getPositionWithOverflow_(row,\n range.startContainer,\n range.startOffset);\n if (startPosition == -1)\n return;\n var endPosition = this.getPositionWithOverflow_(row,\n range.endContainer,\n range.endOffset);\n if (endPosition == -1)\n return;\n\n // Use the user configurable match settings.\n var leftMatch = this.wordBreakMatchLeft;\n var rightMatch = this.wordBreakMatchRight;\n var insideMatch = this.wordBreakMatchMiddle;\n\n //Move start to the left.\n var rowText = this.getLineText_(row);\n var lineUpToRange = lib.wc.substring(rowText, 0, endPosition);\n var leftRegularExpression = new RegExp(leftMatch + insideMatch + \"$\");\n var expandedStart = lineUpToRange.search(leftRegularExpression);\n if (expandedStart == -1 || expandedStart > startPosition)\n return;\n\n //Move end to the right.\n var lineFromRange = lib.wc.substring(rowText, startPosition,\n lib.wc.strWidth(rowText));\n var rightRegularExpression = new RegExp(\"^\" + insideMatch + rightMatch);\n var found = lineFromRange.match(rightRegularExpression);\n if (!found)\n return;\n var expandedEnd = startPosition + lib.wc.strWidth(found[0]);\n if (expandedEnd == -1 || expandedEnd < endPosition)\n return;\n\n this.setRange_(row, expandedStart, expandedEnd, range);\n selection.addRange(range);\n};\n// SOURCE FILE: hterm/js/hterm_scrollport.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'hterm.PubSub', 'hterm.Size');\n\n/**\n * A 'viewport' view of fixed-height rows with support for selection and\n * copy-to-clipboard.\n *\n * 'Viewport' in this case means that only the visible rows are in the DOM.\n * If the rowProvider has 100,000 rows, but the ScrollPort is only 25 rows\n * tall, then only 25 dom nodes are created. The ScrollPort will ask the\n * RowProvider to create new visible rows on demand as they are scrolled in\n * to the visible area.\n *\n * This viewport is designed so that select and copy-to-clipboard still works,\n * even when all or part of the selection is scrolled off screen.\n *\n * Note that the X11 mouse clipboard does not work properly when all or part\n * of the selection is off screen. It would be difficult to fix this without\n * adding significant overhead to pathologically large selection cases.\n *\n * The RowProvider should return rows rooted by the custom tag name 'x-row'.\n * This ensures that we can quickly assign the correct display height\n * to the rows with css.\n *\n * @param {RowProvider} rowProvider An object capable of providing rows as\n * raw text or row nodes.\n */\nhterm.ScrollPort = function(rowProvider) {\n hterm.PubSub.addBehavior(this);\n\n this.rowProvider_ = rowProvider;\n\n // SWAG the character size until we can measure it.\n this.characterSize = new hterm.Size(10, 10);\n\n // DOM node used for character measurement.\n this.ruler_ = null;\n\n this.selection = new hterm.ScrollPort.Selection(this);\n\n // A map of rowIndex => rowNode for each row that is drawn as part of a\n // pending redraw_() call. Null if there is no pending redraw_ call.\n this.currentRowNodeCache_ = null;\n\n // A map of rowIndex => rowNode for each row that was drawn as part of the\n // previous redraw_() call.\n this.previousRowNodeCache_ = {};\n\n // Used during scroll events to detect when the underlying cause is a resize.\n this.lastScreenWidth_ = null;\n this.lastScreenHeight_ = null;\n\n // True if the user should be allowed to select text in the terminal.\n // This is disabled when the host requests mouse drag events so that we don't\n // end up with two notions of selection.\n this.selectionEnabled_ = true;\n\n // The last row count returned by the row provider, re-populated during\n // syncScrollHeight().\n this.lastRowCount_ = 0;\n\n // The scroll wheel pixel delta multiplier to increase/decrease\n // the scroll speed of mouse wheel events. See: https://goo.gl/sXelnq\n this.scrollWheelMultiplier_ = 1;\n\n // The last touch events we saw to support touch based scrolling. Indexed\n // by touch identifier since we can have more than one touch active.\n this.lastTouch_ = {};\n\n /**\n * True if the last scroll caused the scrollport to show the final row.\n */\n this.isScrolledEnd = true;\n\n /**\n * A guess at the current scrollbar width, fixed in resize().\n */\n this.currentScrollbarWidthPx = 16;\n\n /**\n * Whether the ctrl-v key on the screen should paste.\n */\n this.ctrlVPaste = false;\n\n this.div_ = null;\n this.document_ = null;\n\n // Collection of active timeout handles.\n this.timeouts_ = {};\n\n this.observers_ = {};\n\n this.DEBUG_ = false;\n}\n\n/**\n * Proxy for the native selection object which understands how to walk up the\n * DOM to find the containing row node and sort out which comes first.\n *\n * @param {hterm.ScrollPort} scrollPort The parent hterm.ScrollPort instance.\n */\nhterm.ScrollPort.Selection = function(scrollPort) {\n this.scrollPort_ = scrollPort;\n\n /**\n * The row containing the start of the selection.\n *\n * This may be partially or fully selected. It may be the selection anchor\n * or the focus, but its rowIndex is guaranteed to be less-than-or-equal-to\n * that of the endRow.\n *\n * If only one row is selected then startRow == endRow. If there is no\n * selection or the selection is collapsed then startRow == null.\n */\n this.startRow = null;\n\n /**\n * The row containing the end of the selection.\n *\n * This may be partially or fully selected. It may be the selection anchor\n * or the focus, but its rowIndex is guaranteed to be greater-than-or-equal-to\n * that of the startRow.\n *\n * If only one row is selected then startRow == endRow. If there is no\n * selection or the selection is collapsed then startRow == null.\n */\n this.endRow = null;\n\n /**\n * True if startRow != endRow.\n */\n this.isMultiline = null;\n\n /**\n * True if the selection is just a point rather than a range.\n */\n this.isCollapsed = null;\n};\n\n/**\n * Given a list of DOM nodes and a container, return the DOM node that\n * is first according to a depth-first search.\n *\n * Returns null if none of the children are found.\n */\nhterm.ScrollPort.Selection.prototype.findFirstChild = function(\n parent, childAry) {\n var node = parent.firstChild;\n\n while (node) {\n if (childAry.indexOf(node) != -1)\n return node;\n\n if (node.childNodes.length) {\n var rv = this.findFirstChild(node, childAry);\n if (rv)\n return rv;\n }\n\n node = node.nextSibling;\n }\n\n return null;\n};\n\n/**\n * Synchronize this object with the current DOM selection.\n *\n * This is a one-way synchronization, the DOM selection is copied to this\n * object, not the other way around.\n */\nhterm.ScrollPort.Selection.prototype.sync = function() {\n var self = this;\n\n // The dom selection object has no way to tell which nodes come first in\n // the document, so we have to figure that out.\n //\n // This function is used when we detect that the \"anchor\" node is first.\n function anchorFirst() {\n self.startRow = anchorRow;\n self.startNode = selection.anchorNode;\n self.startOffset = selection.anchorOffset;\n self.endRow = focusRow;\n self.endNode = selection.focusNode;\n self.endOffset = selection.focusOffset;\n }\n\n // This function is used when we detect that the \"focus\" node is first.\n function focusFirst() {\n self.startRow = focusRow;\n self.startNode = selection.focusNode;\n self.startOffset = selection.focusOffset;\n self.endRow = anchorRow;\n self.endNode = selection.anchorNode;\n self.endOffset = selection.anchorOffset;\n }\n\n var selection = this.scrollPort_.getDocument().getSelection();\n\n this.startRow = null;\n this.endRow = null;\n this.isMultiline = null;\n this.isCollapsed = !selection || selection.isCollapsed;\n\n if (this.isCollapsed)\n return;\n\n var anchorRow = selection.anchorNode;\n while (anchorRow && !('rowIndex' in anchorRow)) {\n anchorRow = anchorRow.parentNode;\n }\n\n if (!anchorRow) {\n console.error('Selection anchor is not rooted in a row node: ' +\n selection.anchorNode.nodeName);\n return;\n }\n\n var focusRow = selection.focusNode;\n while (focusRow && !('rowIndex' in focusRow)) {\n focusRow = focusRow.parentNode;\n }\n\n if (!focusRow) {\n console.error('Selection focus is not rooted in a row node: ' +\n selection.focusNode.nodeName);\n return;\n }\n\n if (anchorRow.rowIndex < focusRow.rowIndex) {\n anchorFirst();\n\n } else if (anchorRow.rowIndex > focusRow.rowIndex) {\n focusFirst();\n\n } else if (selection.focusNode == selection.anchorNode) {\n if (selection.anchorOffset < selection.focusOffset) {\n anchorFirst();\n } else {\n focusFirst();\n }\n\n } else {\n // The selection starts and ends in the same row, but isn't contained all\n // in a single node.\n var firstNode = this.findFirstChild(\n anchorRow, [selection.anchorNode, selection.focusNode]);\n\n if (!firstNode)\n throw new Error('Unexpected error syncing selection.');\n\n if (firstNode == selection.anchorNode) {\n anchorFirst();\n } else {\n focusFirst();\n }\n }\n\n this.isMultiline = anchorRow.rowIndex != focusRow.rowIndex;\n};\n\n\n/**\n * Turn a div into this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.decorate = function(div) {\n this.div_ = div;\n\n this.iframe_ = div.ownerDocument.createElement('iframe');\n this.iframe_.style.cssText = (\n 'border: 0;' +\n 'height: 100%;' +\n 'position: absolute;' +\n 'width: 100%');\n\n // Set the iframe src to # in FF. Otherwise when the frame's\n // load event fires in FF it clears out the content of the iframe.\n if ('mozInnerScreenX' in window) // detect a FF only property\n this.iframe_.src = '#';\n\n div.appendChild(this.iframe_);\n\n this.iframe_.contentWindow.addEventListener('resize',\n this.onResize_.bind(this));\n\n var doc = this.document_ = this.iframe_.contentDocument;\n doc.body.style.cssText = (\n 'margin: 0px;' +\n 'padding: 0px;' +\n 'height: 100%;' +\n 'width: 100%;' +\n 'overflow: hidden;' +\n 'cursor: var(--hterm-mouse-cursor-style);' +\n '-webkit-user-select: none;' +\n '-moz-user-select: none;');\n\n if (this.DEBUG_) {\n // When we're debugging we add padding to the body so that the offscreen\n // elements are visible.\n this.document_.body.style.paddingTop =\n this.document_.body.style.paddingBottom =\n 'calc(var(--hterm-charsize-height) * 3)';\n }\n\n var style = doc.createElement('style');\n style.textContent = (\n 'x-row {' +\n ' display: block;' +\n ' height: var(--hterm-charsize-height);' +\n ' line-height: var(--hterm-charsize-height);' +\n '}');\n doc.head.appendChild(style);\n\n this.userCssLink_ = doc.createElement('link');\n this.userCssLink_.setAttribute('rel', 'stylesheet');\n\n this.userCssText_ = doc.createElement('style');\n doc.head.appendChild(this.userCssText_);\n\n // TODO(rginda): Sorry, this 'screen_' isn't the same thing as hterm.Screen\n // from screen.js. I need to pick a better name for one of them to avoid\n // the collision.\n // We make this field editable even though we don't actually allow anything\n // to be edited here so that Chrome will do the right thing with virtual\n // keyboards and IMEs. But make sure we turn off all the input helper logic\n // that doesn't make sense here, and might inadvertently mung or save input.\n // Some of these attributes are standard while others are browser specific,\n // but should be safely ignored by other browsers.\n this.screen_ = doc.createElement('x-screen');\n this.screen_.setAttribute('contenteditable', 'true');\n this.screen_.setAttribute('spellcheck', 'false');\n this.screen_.setAttribute('autocomplete', 'off');\n this.screen_.setAttribute('autocorrect', 'off');\n this.screen_.setAttribute('autocaptalize', 'none');\n this.screen_.setAttribute('role', 'textbox');\n this.screen_.setAttribute('tabindex', '-1');\n this.screen_.style.cssText = (\n 'caret-color: transparent;' +\n 'display: block;' +\n 'font-family: monospace;' +\n 'font-size: 15px;' +\n 'font-variant-ligatures: none;' +\n 'height: 100%;' +\n 'overflow-y: scroll; overflow-x: hidden;' +\n 'white-space: pre;' +\n 'width: 100%;' +\n 'outline: none !important');\n\n doc.body.appendChild(this.screen_);\n\n this.screen_.addEventListener('scroll', this.onScroll_.bind(this));\n this.screen_.addEventListener('wheel', this.onScrollWheel_.bind(this));\n this.screen_.addEventListener('touchstart', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchmove', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchend', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchcancel', this.onTouch_.bind(this));\n this.screen_.addEventListener('copy', this.onCopy_.bind(this));\n this.screen_.addEventListener('paste', this.onPaste_.bind(this));\n // Disable drag & drop of text/content. We don't handle it at all (yet?),\n // and the default behavior just confuses hterm.\n this.screen_.addEventListener('drop', function(e) {\n e.preventDefault();\n return false;\n });\n\n doc.body.addEventListener('keydown', this.onBodyKeyDown_.bind(this));\n\n // This is the main container for the fixed rows.\n this.rowNodes_ = doc.createElement('div');\n this.rowNodes_.id = 'hterm:row-nodes';\n this.rowNodes_.style.cssText = (\n 'display: block;' +\n 'position: fixed;' +\n 'overflow: hidden;' +\n '-webkit-user-select: text;' +\n '-moz-user-select: text;');\n this.screen_.appendChild(this.rowNodes_);\n\n // Two nodes to hold offscreen text during the copy event.\n this.topSelectBag_ = doc.createElement('x-select-bag');\n this.topSelectBag_.style.cssText = (\n 'display: block;' +\n 'overflow: hidden;' +\n 'height: var(--hterm-charsize-height);' +\n 'white-space: pre;');\n\n this.bottomSelectBag_ = this.topSelectBag_.cloneNode();\n\n // Nodes above the top fold and below the bottom fold are hidden. They are\n // only used to hold rows that are part of the selection but are currently\n // scrolled off the top or bottom of the visible range.\n this.topFold_ = doc.createElement('x-fold');\n this.topFold_.id = 'hterm:top-fold-for-row-selection';\n this.topFold_.style.cssText = 'display: block;';\n this.rowNodes_.appendChild(this.topFold_);\n\n this.bottomFold_ = this.topFold_.cloneNode();\n this.bottomFold_.id = 'hterm:bottom-fold-for-row-selection';\n this.rowNodes_.appendChild(this.bottomFold_);\n\n // This hidden div accounts for the vertical space that would be consumed by\n // all the rows in the buffer if they were visible. It's what causes the\n // scrollbar to appear on the 'x-screen', and it moves within the screen when\n // the scrollbar is moved.\n //\n // It is set 'visibility: hidden' to keep the browser from trying to include\n // it in the selection when a user 'drag selects' upwards (drag the mouse to\n // select and scroll at the same time). Without this, the selection gets\n // out of whack.\n this.scrollArea_ = doc.createElement('div');\n this.scrollArea_.id = 'hterm:scrollarea';\n this.scrollArea_.style.cssText = 'visibility: hidden';\n this.screen_.appendChild(this.scrollArea_);\n\n // This svg element is used to detect when the browser is zoomed. It must be\n // placed in the outermost document for currentScale to be correct.\n // TODO(rginda): This means that hterm nested in an iframe will not correctly\n // detect browser zoom level. We should come up with a better solution.\n // Note: This must be http:// else Chrome cannot create the element correctly.\n var xmlns = 'http://www.w3.org/2000/svg';\n this.svg_ = this.div_.ownerDocument.createElementNS(xmlns, 'svg');\n this.svg_.id = 'hterm:zoom-detector';\n this.svg_.setAttribute('xmlns', xmlns);\n this.svg_.setAttribute('version', '1.1');\n this.svg_.style.cssText = (\n 'position: absolute;' +\n 'top: 0;' +\n 'left: 0;' +\n 'visibility: hidden');\n\n\n // We send focus to this element just before a paste happens, so we can\n // capture the pasted text and forward it on to someone who cares.\n this.pasteTarget_ = doc.createElement('textarea');\n this.pasteTarget_.id = 'hterm:ctrl-v-paste-target';\n this.pasteTarget_.setAttribute('tabindex', '-1');\n this.pasteTarget_.style.cssText = (\n 'position: absolute;' +\n 'height: 1px;' +\n 'width: 1px;' +\n 'left: 0px; ' +\n 'bottom: 0px;' +\n 'opacity: 0');\n this.pasteTarget_.contentEditable = true;\n\n this.screen_.appendChild(this.pasteTarget_);\n this.pasteTarget_.addEventListener(\n 'textInput', this.handlePasteTargetTextInput_.bind(this));\n\n this.resize();\n};\n\n/**\n * Select the font-family and font-smoothing for this scrollport.\n *\n * @param {string} fontFamily Value of the CSS 'font-family' to use for this\n * scrollport. Should be a monospace font.\n * @param {string} opt_smoothing Optional value for '-webkit-font-smoothing'.\n * Defaults to an empty string if not specified.\n */\nhterm.ScrollPort.prototype.setFontFamily = function(fontFamily, opt_smoothing) {\n this.screen_.style.fontFamily = fontFamily;\n if (opt_smoothing) {\n this.screen_.style.webkitFontSmoothing = opt_smoothing;\n } else {\n this.screen_.style.webkitFontSmoothing = '';\n }\n\n this.syncCharacterSize();\n};\n\nhterm.ScrollPort.prototype.getFontFamily = function() {\n return this.screen_.style.fontFamily;\n};\n\n/**\n * Set a custom stylesheet to include in the scrollport.\n *\n * Defaults to null, meaning no custom css is loaded. Set it back to null or\n * the empty string to remove a previously applied custom css.\n */\nhterm.ScrollPort.prototype.setUserCssUrl = function(url) {\n if (url) {\n this.userCssLink_.setAttribute('href', url);\n\n if (!this.userCssLink_.parentNode)\n this.document_.head.appendChild(this.userCssLink_);\n } else if (this.userCssLink_.parentNode) {\n this.document_.head.removeChild(this.userCssLink_);\n }\n};\n\nhterm.ScrollPort.prototype.setUserCssText = function(text) {\n this.userCssText_.textContent = text;\n};\n\nhterm.ScrollPort.prototype.focus = function() {\n this.iframe_.focus();\n this.screen_.focus();\n};\n\nhterm.ScrollPort.prototype.getForegroundColor = function() {\n return this.screen_.style.color;\n};\n\nhterm.ScrollPort.prototype.setForegroundColor = function(color) {\n this.screen_.style.color = color;\n};\n\nhterm.ScrollPort.prototype.getBackgroundColor = function() {\n return this.screen_.style.backgroundColor;\n};\n\nhterm.ScrollPort.prototype.setBackgroundColor = function(color) {\n this.screen_.style.backgroundColor = color;\n};\n\nhterm.ScrollPort.prototype.setBackgroundImage = function(image) {\n this.screen_.style.backgroundImage = image;\n};\n\nhterm.ScrollPort.prototype.setBackgroundSize = function(size) {\n this.screen_.style.backgroundSize = size;\n};\n\nhterm.ScrollPort.prototype.setBackgroundPosition = function(position) {\n this.screen_.style.backgroundPosition = position;\n};\n\nhterm.ScrollPort.prototype.setCtrlVPaste = function(ctrlVPaste) {\n this.ctrlVPaste = ctrlVPaste;\n};\n\n/**\n * Get the usable size of the scrollport screen.\n *\n * The width will not include the scrollbar width.\n */\nhterm.ScrollPort.prototype.getScreenSize = function() {\n var size = hterm.getClientSize(this.screen_);\n return {\n height: size.height,\n width: size.width - this.currentScrollbarWidthPx\n };\n};\n\n/**\n * Get the usable width of the scrollport screen.\n *\n * This the widget width minus scrollbar width.\n */\nhterm.ScrollPort.prototype.getScreenWidth = function() {\n return this.getScreenSize().width ;\n};\n\n/**\n * Get the usable height of the scrollport screen.\n */\nhterm.ScrollPort.prototype.getScreenHeight = function() {\n return this.getScreenSize().height;\n};\n\n/**\n * Return the document that holds the visible rows of this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.getDocument = function() {\n return this.document_;\n};\n\n/**\n * Returns the x-screen element that holds the rows of this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.getScreenNode = function() {\n return this.screen_;\n};\n\n/**\n * Clear out any cached rowNodes.\n */\nhterm.ScrollPort.prototype.resetCache = function() {\n this.currentRowNodeCache_ = null;\n this.previousRowNodeCache_ = {};\n};\n\n/**\n * Change the current rowProvider.\n *\n * This will clear the row cache and cause a redraw.\n *\n * @param {Object} rowProvider An object capable of providing the rows\n * in this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.setRowProvider = function(rowProvider) {\n this.resetCache();\n this.rowProvider_ = rowProvider;\n this.scheduleRedraw();\n};\n\n/**\n * Inform the ScrollPort that the root DOM nodes for some or all of the visible\n * rows are no longer valid.\n *\n * Specifically, this should be called if this.rowProvider_.getRowNode() now\n * returns an entirely different node than it did before. It does not\n * need to be called if the content of a row node is the only thing that\n * changed.\n *\n * This skips some of the overhead of a full redraw, but should not be used\n * in cases where the scrollport has been scrolled, or when the row count has\n * changed.\n */\nhterm.ScrollPort.prototype.invalidate = function() {\n var node = this.topFold_.nextSibling;\n while (node != this.bottomFold_) {\n var nextSibling = node.nextSibling;\n node.parentElement.removeChild(node);\n node = nextSibling;\n }\n\n this.previousRowNodeCache_ = null;\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n this.drawVisibleRows_(topRowIndex, bottomRowIndex);\n};\n\nhterm.ScrollPort.prototype.scheduleInvalidate = function() {\n if (this.timeouts_.invalidate)\n return;\n\n var self = this;\n this.timeouts_.invalidate = setTimeout(function () {\n delete self.timeouts_.invalidate;\n self.invalidate();\n }, 0);\n};\n\n/**\n * Set the font size of the ScrollPort.\n */\nhterm.ScrollPort.prototype.setFontSize = function(px) {\n this.screen_.style.fontSize = px + 'px';\n this.syncCharacterSize();\n};\n\n/**\n * Return the current font size of the ScrollPort.\n */\nhterm.ScrollPort.prototype.getFontSize = function() {\n return parseInt(this.screen_.style.fontSize);\n};\n\n/**\n * Measure the size of a single character in pixels.\n *\n * @param {string} opt_weight The font weight to measure, or 'normal' if\n * omitted.\n * @return {hterm.Size} A new hterm.Size object.\n */\nhterm.ScrollPort.prototype.measureCharacterSize = function(opt_weight) {\n // Number of lines used to average the height of a single character.\n var numberOfLines = 100;\n // Number of chars per line used to average the width of a single character.\n var lineLength = 100;\n\n if (!this.ruler_) {\n this.ruler_ = this.document_.createElement('div');\n this.ruler_.id = 'hterm:ruler-character-size';\n this.ruler_.style.cssText = (\n 'position: absolute;' +\n 'top: 0;' +\n 'left: 0;' +\n 'visibility: hidden;' +\n 'height: auto !important;' +\n 'width: auto !important;');\n\n // We need to put the text in a span to make the size calculation\n // work properly in Firefox\n this.rulerSpan_ = this.document_.createElement('span');\n this.rulerSpan_.id = 'hterm:ruler-span-workaround';\n this.rulerSpan_.innerHTML =\n ('X'.repeat(lineLength) + '\\r').repeat(numberOfLines);\n this.ruler_.appendChild(this.rulerSpan_);\n\n this.rulerBaseline_ = this.document_.createElement('span');\n this.rulerSpan_.id = 'hterm:ruler-baseline';\n // We want to collapse it on the baseline\n this.rulerBaseline_.style.fontSize = '0px';\n this.rulerBaseline_.textContent = 'X';\n }\n\n this.rulerSpan_.style.fontWeight = opt_weight || '';\n\n this.rowNodes_.appendChild(this.ruler_);\n var rulerSize = hterm.getClientSize(this.rulerSpan_);\n\n var size = new hterm.Size(rulerSize.width / lineLength,\n rulerSize.height / numberOfLines);\n\n this.ruler_.appendChild(this.rulerBaseline_);\n size.baseline = this.rulerBaseline_.offsetTop;\n this.ruler_.removeChild(this.rulerBaseline_);\n\n this.rowNodes_.removeChild(this.ruler_);\n\n this.div_.ownerDocument.body.appendChild(this.svg_);\n size.zoomFactor = this.svg_.currentScale;\n this.div_.ownerDocument.body.removeChild(this.svg_);\n\n return size;\n};\n\n/**\n * Synchronize the character size.\n *\n * This will re-measure the current character size and adjust the height\n * of an x-row to match.\n */\nhterm.ScrollPort.prototype.syncCharacterSize = function() {\n this.characterSize = this.measureCharacterSize();\n\n this.resize();\n};\n\n/**\n * Reset dimensions and visible row count to account for a change in the\n * dimensions of the 'x-screen'.\n */\nhterm.ScrollPort.prototype.resize = function() {\n this.currentScrollbarWidthPx = hterm.getClientWidth(this.screen_) -\n this.screen_.clientWidth;\n\n this.syncScrollHeight();\n this.syncRowNodesDimensions_();\n\n var self = this;\n this.publish(\n 'resize', { scrollPort: this },\n function() {\n self.scrollRowToBottom(self.rowProvider_.getRowCount());\n self.scheduleRedraw();\n });\n};\n\n/**\n * Set the position and size of the row nodes element.\n */\nhterm.ScrollPort.prototype.syncRowNodesDimensions_ = function() {\n var screenSize = this.getScreenSize();\n\n this.lastScreenWidth_ = screenSize.width;\n this.lastScreenHeight_ = screenSize.height;\n\n // We don't want to show a partial row because it would be distracting\n // in a terminal, so we floor any fractional row count.\n this.visibleRowCount = lib.f.smartFloorDivide(\n screenSize.height, this.characterSize.height);\n\n // Then compute the height of our integral number of rows.\n var visibleRowsHeight = this.visibleRowCount * this.characterSize.height;\n\n // Then the difference between the screen height and total row height needs to\n // be made up for as top margin. We need to record this value so it\n // can be used later to determine the topRowIndex.\n this.visibleRowTopMargin = 0;\n this.visibleRowBottomMargin = screenSize.height - visibleRowsHeight;\n\n this.topFold_.style.marginBottom = this.visibleRowTopMargin + 'px';\n\n\n var topFoldOffset = 0;\n var node = this.topFold_.previousSibling;\n while (node) {\n topFoldOffset += hterm.getClientHeight(node);\n node = node.previousSibling;\n }\n\n // Set the dimensions of the visible rows container.\n this.rowNodes_.style.width = screenSize.width + 'px';\n this.rowNodes_.style.height = visibleRowsHeight + topFoldOffset + 'px';\n this.rowNodes_.style.left = this.screen_.offsetLeft + 'px';\n this.rowNodes_.style.top = this.screen_.offsetTop - topFoldOffset + 'px';\n};\n\nhterm.ScrollPort.prototype.syncScrollHeight = function() {\n // Resize the scroll area to appear as though it contains every row.\n this.lastRowCount_ = this.rowProvider_.getRowCount();\n this.scrollArea_.style.height = (this.characterSize.height *\n this.lastRowCount_ +\n this.visibleRowTopMargin +\n this.visibleRowBottomMargin +\n 'px');\n};\n\n/**\n * Schedule a redraw to happen asynchronously.\n *\n * If this method is called multiple times before the redraw has a chance to\n * run only one redraw occurs.\n */\nhterm.ScrollPort.prototype.scheduleRedraw = function() {\n if (this.timeouts_.redraw)\n return;\n\n var self = this;\n this.timeouts_.redraw = setTimeout(function () {\n delete self.timeouts_.redraw;\n self.redraw_();\n }, 0);\n};\n\n/**\n * Redraw the current hterm.ScrollPort based on the current scrollbar position.\n *\n * When redrawing, we are careful to make sure that the rows that start or end\n * the current selection are not touched in any way. Doing so would disturb\n * the selection, and cleaning up after that would cause flashes at best and\n * incorrect selection at worst. Instead, we modify the DOM around these nodes.\n * We even stash the selection start/end outside of the visible area if\n * they are not supposed to be visible in the hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.redraw_ = function() {\n this.resetSelectBags_();\n this.selection.sync();\n\n this.syncScrollHeight();\n\n this.currentRowNodeCache_ = {};\n\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n this.drawTopFold_(topRowIndex);\n this.drawBottomFold_(bottomRowIndex);\n this.drawVisibleRows_(topRowIndex, bottomRowIndex);\n\n this.syncRowNodesDimensions_();\n\n this.previousRowNodeCache_ = this.currentRowNodeCache_;\n this.currentRowNodeCache_ = null;\n\n this.isScrolledEnd = (\n this.getTopRowIndex() + this.visibleRowCount >= this.lastRowCount_);\n};\n\n/**\n * Ensure that the nodes above the top fold are as they should be.\n *\n * If the selection start and/or end nodes are above the visible range\n * of this hterm.ScrollPort then the dom will be adjusted so that they appear\n * before the top fold (the first x-fold element, aka this.topFold).\n *\n * If not, the top fold will be the first element.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawTopFold_ = function(topRowIndex) {\n if (!this.selection.startRow ||\n this.selection.startRow.rowIndex >= topRowIndex) {\n // Selection is entirely below the top fold, just make sure the fold is\n // the first child.\n if (this.rowNodes_.firstChild != this.topFold_)\n this.rowNodes_.insertBefore(this.topFold_, this.rowNodes_.firstChild);\n\n return;\n }\n\n if (!this.selection.isMultiline ||\n this.selection.endRow.rowIndex >= topRowIndex) {\n // Only the startRow is above the fold.\n if (this.selection.startRow.nextSibling != this.topFold_)\n this.rowNodes_.insertBefore(this.topFold_,\n this.selection.startRow.nextSibling);\n } else {\n // Both rows are above the fold.\n if (this.selection.endRow.nextSibling != this.topFold_) {\n this.rowNodes_.insertBefore(this.topFold_,\n this.selection.endRow.nextSibling);\n }\n\n // Trim any intermediate lines.\n while (this.selection.startRow.nextSibling !=\n this.selection.endRow) {\n this.rowNodes_.removeChild(this.selection.startRow.nextSibling);\n }\n }\n\n while(this.rowNodes_.firstChild != this.selection.startRow) {\n this.rowNodes_.removeChild(this.rowNodes_.firstChild);\n }\n};\n\n/**\n * Ensure that the nodes below the bottom fold are as they should be.\n *\n * If the selection start and/or end nodes are below the visible range\n * of this hterm.ScrollPort then the dom will be adjusted so that they appear\n * after the bottom fold (the second x-fold element, aka this.bottomFold).\n *\n * If not, the bottom fold will be the last element.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawBottomFold_ = function(bottomRowIndex) {\n if (!this.selection.endRow ||\n this.selection.endRow.rowIndex <= bottomRowIndex) {\n // Selection is entirely above the bottom fold, just make sure the fold is\n // the last child.\n if (this.rowNodes_.lastChild != this.bottomFold_)\n this.rowNodes_.appendChild(this.bottomFold_);\n\n return;\n }\n\n if (!this.selection.isMultiline ||\n this.selection.startRow.rowIndex <= bottomRowIndex) {\n // Only the endRow is below the fold.\n if (this.bottomFold_.nextSibling != this.selection.endRow)\n this.rowNodes_.insertBefore(this.bottomFold_,\n this.selection.endRow);\n } else {\n // Both rows are below the fold.\n if (this.bottomFold_.nextSibling != this.selection.startRow) {\n this.rowNodes_.insertBefore(this.bottomFold_,\n this.selection.startRow);\n }\n\n // Trim any intermediate lines.\n while (this.selection.startRow.nextSibling !=\n this.selection.endRow) {\n this.rowNodes_.removeChild(this.selection.startRow.nextSibling);\n }\n }\n\n while(this.rowNodes_.lastChild != this.selection.endRow) {\n this.rowNodes_.removeChild(this.rowNodes_.lastChild);\n }\n};\n\n/**\n * Ensure that the rows between the top and bottom folds are as they should be.\n *\n * This method assumes that drawTopFold_() and drawBottomFold_() have already\n * run, and that they have left any visible selection row (selection start\n * or selection end) between the folds.\n *\n * It recycles DOM nodes from the previous redraw where possible, but will ask\n * the rowSource to make new nodes if necessary.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawVisibleRows_ = function(\n topRowIndex, bottomRowIndex) {\n var self = this;\n\n // Keep removing nodes, starting with currentNode, until we encounter\n // targetNode. Throws on failure.\n function removeUntilNode(currentNode, targetNode) {\n while (currentNode != targetNode) {\n if (!currentNode)\n throw 'Did not encounter target node';\n\n if (currentNode == self.bottomFold_)\n throw 'Encountered bottom fold before target node';\n\n var deadNode = currentNode;\n currentNode = currentNode.nextSibling;\n deadNode.parentNode.removeChild(deadNode);\n }\n }\n\n // Shorthand for things we're going to use a lot.\n var selectionStartRow = this.selection.startRow;\n var selectionEndRow = this.selection.endRow;\n var bottomFold = this.bottomFold_;\n\n // The node we're examining during the current iteration.\n var node = this.topFold_.nextSibling;\n\n var targetDrawCount = Math.min(this.visibleRowCount,\n this.rowProvider_.getRowCount());\n\n for (var drawCount = 0; drawCount < targetDrawCount; drawCount++) {\n var rowIndex = topRowIndex + drawCount;\n\n if (node == bottomFold) {\n // We've hit the bottom fold, we need to insert a new row.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n continue;\n }\n\n if (node.rowIndex == rowIndex) {\n // This node is in the right place, move along.\n node = node.nextSibling;\n continue;\n }\n\n if (selectionStartRow && selectionStartRow.rowIndex == rowIndex) {\n // The selection start row is supposed to be here, remove nodes until\n // we find it.\n removeUntilNode(node, selectionStartRow);\n node = selectionStartRow.nextSibling;\n continue;\n }\n\n if (selectionEndRow && selectionEndRow.rowIndex == rowIndex) {\n // The selection end row is supposed to be here, remove nodes until\n // we find it.\n removeUntilNode(node, selectionEndRow);\n node = selectionEndRow.nextSibling;\n continue;\n }\n\n if (node == selectionStartRow || node == selectionEndRow) {\n // We encountered the start/end of the selection, but we don't want it\n // yet. Insert a new row instead.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n continue;\n }\n\n // There is nothing special about this node, but it's in our way. Replace\n // it with the node that should be here.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n if (node == newNode) {\n node = node.nextSibling;\n continue;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n if (!newNode.nextSibling)\n debugger;\n this.rowNodes_.removeChild(node);\n node = newNode.nextSibling;\n }\n\n if (node != this.bottomFold_)\n removeUntilNode(node, bottomFold);\n};\n\n/**\n * Empty out both select bags and remove them from the document.\n *\n * These nodes hold the text between the start and end of the selection\n * when that text is otherwise off screen. They are filled out in the\n * onCopy_ event.\n */\nhterm.ScrollPort.prototype.resetSelectBags_ = function() {\n if (this.topSelectBag_.parentNode) {\n this.topSelectBag_.textContent = '';\n this.topSelectBag_.parentNode.removeChild(this.topSelectBag_);\n }\n\n if (this.bottomSelectBag_.parentNode) {\n this.bottomSelectBag_.textContent = '';\n this.bottomSelectBag_.parentNode.removeChild(this.bottomSelectBag_);\n }\n};\n\n/**\n * Place a row node in the cache of visible nodes.\n *\n * This method may only be used during a redraw_.\n */\nhterm.ScrollPort.prototype.cacheRowNode_ = function(rowNode) {\n this.currentRowNodeCache_[rowNode.rowIndex] = rowNode;\n};\n\n/**\n * Fetch the row node for the given index.\n *\n * This will return a node from the cache if possible, or will request one\n * from the RowProvider if not.\n *\n * If a redraw_ is in progress the row will be added to the current cache.\n */\nhterm.ScrollPort.prototype.fetchRowNode_ = function(rowIndex) {\n var node;\n\n if (this.previousRowNodeCache_ && rowIndex in this.previousRowNodeCache_) {\n node = this.previousRowNodeCache_[rowIndex];\n } else {\n node = this.rowProvider_.getRowNode(rowIndex);\n }\n\n if (this.currentRowNodeCache_)\n this.cacheRowNode_(node);\n\n return node;\n};\n\n/**\n * Select all rows in the viewport.\n */\nhterm.ScrollPort.prototype.selectAll = function() {\n var firstRow;\n\n if (this.topFold_.nextSibling.rowIndex != 0) {\n while (this.topFold_.previousSibling) {\n this.rowNodes_.removeChild(this.topFold_.previousSibling);\n }\n\n firstRow = this.fetchRowNode_(0);\n this.rowNodes_.insertBefore(firstRow, this.topFold_);\n this.syncRowNodesDimensions_();\n } else {\n firstRow = this.topFold_.nextSibling;\n }\n\n var lastRowIndex = this.rowProvider_.getRowCount() - 1;\n var lastRow;\n\n if (this.bottomFold_.previousSibling.rowIndex != lastRowIndex) {\n while (this.bottomFold_.nextSibling) {\n this.rowNodes_.removeChild(this.bottomFold_.nextSibling);\n }\n\n lastRow = this.fetchRowNode_(lastRowIndex);\n this.rowNodes_.appendChild(lastRow);\n } else {\n lastRow = this.bottomFold_.previousSibling.rowIndex;\n }\n\n var selection = this.document_.getSelection();\n selection.collapse(firstRow, 0);\n selection.extend(lastRow, lastRow.childNodes.length);\n\n this.selection.sync();\n};\n\n/**\n * Return the maximum scroll position in pixels.\n */\nhterm.ScrollPort.prototype.getScrollMax_ = function(e) {\n return (hterm.getClientHeight(this.scrollArea_) +\n this.visibleRowTopMargin + this.visibleRowBottomMargin -\n hterm.getClientHeight(this.screen_));\n};\n\n/**\n * Scroll the given rowIndex to the top of the hterm.ScrollPort.\n *\n * @param {integer} rowIndex Index of the target row.\n */\nhterm.ScrollPort.prototype.scrollRowToTop = function(rowIndex) {\n this.syncScrollHeight();\n\n this.isScrolledEnd = (\n rowIndex + this.visibleRowCount >= this.lastRowCount_);\n\n var scrollTop = rowIndex * this.characterSize.height +\n this.visibleRowTopMargin;\n\n var scrollMax = this.getScrollMax_();\n if (scrollTop > scrollMax)\n scrollTop = scrollMax;\n\n if (this.screen_.scrollTop == scrollTop)\n return;\n\n this.screen_.scrollTop = scrollTop;\n this.scheduleRedraw();\n};\n\n/**\n * Scroll the given rowIndex to the bottom of the hterm.ScrollPort.\n *\n * @param {integer} rowIndex Index of the target row.\n */\nhterm.ScrollPort.prototype.scrollRowToBottom = function(rowIndex) {\n this.syncScrollHeight();\n\n this.isScrolledEnd = (\n rowIndex + this.visibleRowCount >= this.lastRowCount_);\n\n var scrollTop = rowIndex * this.characterSize.height +\n this.visibleRowTopMargin + this.visibleRowBottomMargin;\n scrollTop -= this.visibleRowCount * this.characterSize.height;\n\n if (scrollTop < 0)\n scrollTop = 0;\n\n if (this.screen_.scrollTop == scrollTop)\n return;\n\n this.screen_.scrollTop = scrollTop;\n};\n\n/**\n * Return the row index of the first visible row.\n *\n * This is based on the scroll position. If a redraw_ is in progress this\n * returns the row that *should* be at the top.\n */\nhterm.ScrollPort.prototype.getTopRowIndex = function() {\n return Math.round(this.screen_.scrollTop / this.characterSize.height);\n};\n\n/**\n * Return the row index of the last visible row.\n *\n * This is based on the scroll position. If a redraw_ is in progress this\n * returns the row that *should* be at the bottom.\n */\nhterm.ScrollPort.prototype.getBottomRowIndex = function(topRowIndex) {\n return topRowIndex + this.visibleRowCount - 1;\n};\n\n/**\n * Handler for scroll events.\n *\n * The onScroll event fires when scrollArea's scrollTop property changes. This\n * may be due to the user manually move the scrollbar, or a programmatic change.\n */\nhterm.ScrollPort.prototype.onScroll_ = function(e) {\n var screenSize = this.getScreenSize();\n if (screenSize.width != this.lastScreenWidth_ ||\n screenSize.height != this.lastScreenHeight_) {\n // This event may also fire during a resize (but before the resize event!).\n // This happens when the browser moves the scrollbar as part of the resize.\n // In these cases, we want to ignore the scroll event and let onResize\n // handle things. If we don't, then we end up scrolling to the wrong\n // position after a resize.\n this.resize();\n return;\n }\n\n this.redraw_();\n this.publish('scroll', { scrollPort: this });\n};\n\n/**\n * Clients can override this if they want to hear scrollwheel events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onScrollWheel = function(e) {};\n\n/**\n * Handler for scroll-wheel events.\n *\n * The onScrollWheel event fires when the user moves their scrollwheel over this\n * hterm.ScrollPort. Because the frontmost element in the hterm.ScrollPort is\n * a fixed position DIV, the scroll wheel does nothing by default. Instead, we\n * have to handle it manually.\n */\nhterm.ScrollPort.prototype.onScrollWheel_ = function(e) {\n this.onScrollWheel(e);\n\n if (e.defaultPrevented)\n return;\n\n // Figure out how far this event wants us to scroll.\n var delta = this.scrollWheelDelta(e);\n\n var top = this.screen_.scrollTop - delta;\n if (top < 0)\n top = 0;\n\n var scrollMax = this.getScrollMax_();\n if (top > scrollMax)\n top = scrollMax;\n\n if (top != this.screen_.scrollTop) {\n // Moving scrollTop causes a scroll event, which triggers the redraw.\n this.screen_.scrollTop = top;\n\n // Only preventDefault when we've actually scrolled. If there's nothing\n // to scroll we want to pass the event through so Chrome can detect the\n // overscroll.\n e.preventDefault();\n }\n};\n\n/**\n * Calculate how far a wheel event should scroll.\n *\n * @param {WheelEvent} e The mouse wheel event to process.\n * @return {number} How far (in pixels) to scroll.\n */\nhterm.ScrollPort.prototype.scrollWheelDelta = function(e) {\n var delta;\n\n switch (e.deltaMode) {\n case WheelEvent.DOM_DELTA_PIXEL:\n delta = e.deltaY * this.scrollWheelMultiplier_;\n break;\n case WheelEvent.DOM_DELTA_LINE:\n delta = e.deltaY * this.characterSize.height;\n break;\n case WheelEvent.DOM_DELTA_PAGE:\n delta = e.deltaY * this.characterSize.height * this.screen_.getHeight();\n break;\n }\n\n // The sign is inverted from what we would expect.\n return delta * -1;\n};\n\n\n/**\n * Clients can override this if they want to hear touch events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onTouch = function(e) {};\n\n/**\n * Handler for touch events.\n */\nhterm.ScrollPort.prototype.onTouch_ = function(e) {\n this.onTouch(e);\n\n if (e.defaultPrevented)\n return;\n\n // Extract the fields from the Touch event that we need. If we saved the\n // event directly, it has references to other objects (like x-row) that\n // might stick around for a long time. This way we only have small objects\n // in our lastTouch_ state.\n var scrubTouch = function(t) {\n return {\n id: t.identifier,\n y: t.clientY,\n x: t.clientX,\n };\n };\n\n var i, touch;\n switch (e.type) {\n case 'touchstart':\n // Save the current set of touches.\n for (i = 0; i < e.changedTouches.length; ++i) {\n touch = scrubTouch(e.changedTouches[i]);\n this.lastTouch_[touch.id] = touch;\n }\n break;\n\n case 'touchcancel':\n case 'touchend':\n // Throw away existing touches that we're finished with.\n for (i = 0; i < e.changedTouches.length; ++i)\n delete this.lastTouch_[e.changedTouches[i].identifier];\n break;\n\n case 'touchmove':\n // Walk all of the touches in this one event and merge all of their\n // changes into one delta. This lets multiple fingers scroll faster.\n var delta = 0;\n for (i = 0; i < e.changedTouches.length; ++i) {\n touch = scrubTouch(e.changedTouches[i]);\n delta += (this.lastTouch_[touch.id].y - touch.y);\n this.lastTouch_[touch.id] = touch;\n }\n\n // Invert to match the touchscreen scrolling direction of browser windows.\n delta *= -1;\n\n var top = this.screen_.scrollTop - delta;\n if (top < 0)\n top = 0;\n\n var scrollMax = this.getScrollMax_();\n if (top > scrollMax)\n top = scrollMax;\n\n if (top != this.screen_.scrollTop) {\n // Moving scrollTop causes a scroll event, which triggers the redraw.\n this.screen_.scrollTop = top;\n }\n break;\n }\n\n // To disable gestures or anything else interfering with our scrolling.\n e.preventDefault();\n};\n\n/**\n * Handler for resize events.\n *\n * The browser will resize us such that the top row stays at the top, but we\n * prefer to the bottom row to stay at the bottom.\n */\nhterm.ScrollPort.prototype.onResize_ = function(e) {\n // Re-measure, since onResize also happens for browser zoom changes.\n this.syncCharacterSize();\n this.resize();\n};\n\n/**\n * Clients can override this if they want to hear copy events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onCopy = function(e) { };\n\n/**\n * Handler for copy-to-clipboard events.\n *\n * If some or all of the selected rows are off screen we may need to fill in\n * the rows between selection start and selection end. This handler determines\n * if we're missing some of the selected text, and if so populates one or both\n * of the \"select bags\" with the missing text.\n */\nhterm.ScrollPort.prototype.onCopy_ = function(e) {\n this.onCopy(e);\n\n if (e.defaultPrevented)\n return;\n\n this.resetSelectBags_();\n this.selection.sync();\n\n if (!this.selection.startRow ||\n this.selection.endRow.rowIndex - this.selection.startRow.rowIndex < 2) {\n return;\n }\n\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n if (this.selection.startRow.rowIndex < topRowIndex) {\n // Start of selection is above the top fold.\n var endBackfillIndex;\n\n if (this.selection.endRow.rowIndex < topRowIndex) {\n // Entire selection is above the top fold.\n endBackfillIndex = this.selection.endRow.rowIndex;\n } else {\n // Selection extends below the top fold.\n endBackfillIndex = this.topFold_.nextSibling.rowIndex;\n }\n\n this.topSelectBag_.textContent = this.rowProvider_.getRowsText(\n this.selection.startRow.rowIndex + 1, endBackfillIndex);\n this.rowNodes_.insertBefore(this.topSelectBag_,\n this.selection.startRow.nextSibling);\n this.syncRowNodesDimensions_();\n }\n\n if (this.selection.endRow.rowIndex > bottomRowIndex) {\n // Selection ends below the bottom fold.\n var startBackfillIndex;\n\n if (this.selection.startRow.rowIndex > bottomRowIndex) {\n // Entire selection is below the bottom fold.\n startBackfillIndex = this.selection.startRow.rowIndex + 1;\n } else {\n // Selection starts above the bottom fold.\n startBackfillIndex = this.bottomFold_.previousSibling.rowIndex + 1;\n }\n\n this.bottomSelectBag_.textContent = this.rowProvider_.getRowsText(\n startBackfillIndex, this.selection.endRow.rowIndex);\n this.rowNodes_.insertBefore(this.bottomSelectBag_, this.selection.endRow);\n }\n};\n\n/**\n * Focuses on the paste target on a ctrl-v keydown event, as in\n * FF a content editable element must be focused before the paste event.\n */\nhterm.ScrollPort.prototype.onBodyKeyDown_ = function(e) {\n if (!this.ctrlVPaste)\n return;\n\n var key = String.fromCharCode(e.which);\n var lowerKey = key.toLowerCase();\n if ((e.ctrlKey || e.metaKey) && lowerKey == \"v\")\n this.pasteTarget_.focus();\n};\n\n/**\n * Handle a paste event on the the ScrollPort's screen element.\n */\nhterm.ScrollPort.prototype.onPaste_ = function(e) {\n this.pasteTarget_.focus();\n\n var self = this;\n setTimeout(function() {\n self.publish('paste', { text: self.pasteTarget_.value });\n self.pasteTarget_.value = '';\n self.screen_.focus();\n }, 0);\n};\n\n/**\n * Handles a textInput event on the paste target. Stops this from\n * propagating as we want this to be handled in the onPaste_ method.\n */\nhterm.ScrollPort.prototype.handlePasteTargetTextInput_ = function(e) {\n e.stopPropagation();\n};\n\n/**\n * Set the vertical scrollbar mode of the ScrollPort.\n */\nhterm.ScrollPort.prototype.setScrollbarVisible = function(state) {\n this.screen_.style.overflowY = state ? 'scroll' : 'hidden';\n};\n\n/**\n * Set scroll wheel multiplier. This alters how much the screen scrolls on\n * mouse wheel events.\n */\nhterm.ScrollPort.prototype.setScrollWheelMoveMultipler = function(multiplier) {\n this.scrollWheelMultiplier_ = multiplier;\n};\n// SOURCE FILE: hterm/js/hterm_terminal.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors', 'lib.PreferenceManager', 'lib.resource', 'lib.wc',\n 'lib.f', 'hterm.Keyboard', 'hterm.Options', 'hterm.PreferenceManager',\n 'hterm.Screen', 'hterm.ScrollPort', 'hterm.Size',\n 'hterm.TextAttributes', 'hterm.VT');\n\n/**\n * Constructor for the Terminal class.\n *\n * A Terminal pulls together the hterm.ScrollPort, hterm.Screen and hterm.VT100\n * classes to provide the complete terminal functionality.\n *\n * There are a number of lower-level Terminal methods that can be called\n * directly to manipulate the cursor, text, scroll region, and other terminal\n * attributes. However, the primary method is interpret(), which parses VT\n * escape sequences and invokes the appropriate Terminal methods.\n *\n * This class was heavily influenced by Cory Maccarrone's Framebuffer class.\n *\n * TODO(rginda): Eventually we're going to need to support characters which are\n * displayed twice as wide as standard latin characters. This is to support\n * CJK (and possibly other character sets).\n *\n * @param {string} opt_profileId Optional preference profile name. If not\n * provided, defaults to 'default'.\n */\nhterm.Terminal = function(opt_profileId) {\n this.profileId_ = null;\n\n // Two screen instances.\n this.primaryScreen_ = new hterm.Screen();\n this.alternateScreen_ = new hterm.Screen();\n\n // The \"current\" screen.\n this.screen_ = this.primaryScreen_;\n\n // The local notion of the screen size. ScreenBuffers also have a size which\n // indicates their present size. During size changes, the two may disagree.\n // Also, the inactive screen's size is not altered until it is made the active\n // screen.\n this.screenSize = new hterm.Size(0, 0);\n\n // The scroll port we'll be using to display the visible rows.\n this.scrollPort_ = new hterm.ScrollPort(this);\n this.scrollPort_.subscribe('resize', this.onResize_.bind(this));\n this.scrollPort_.subscribe('scroll', this.onScroll_.bind(this));\n this.scrollPort_.subscribe('paste', this.onPaste_.bind(this));\n this.scrollPort_.onCopy = this.onCopy_.bind(this);\n\n // The div that contains this terminal.\n this.div_ = null;\n\n // The document that contains the scrollPort. Defaulted to the global\n // document here so that the terminal is functional even if it hasn't been\n // inserted into a document yet, but re-set in decorate().\n this.document_ = window.document;\n\n // The rows that have scrolled off screen and are no longer addressable.\n this.scrollbackRows_ = [];\n\n // Saved tab stops.\n this.tabStops_ = [];\n\n // Keep track of whether default tab stops have been erased; after a TBC\n // clears all tab stops, defaults aren't restored on resize until a reset.\n this.defaultTabStops = true;\n\n // The VT's notion of the top and bottom rows. Used during some VT\n // cursor positioning and scrolling commands.\n this.vtScrollTop_ = null;\n this.vtScrollBottom_ = null;\n\n // The DIV element for the visible cursor.\n this.cursorNode_ = null;\n\n // The current cursor shape of the terminal.\n this.cursorShape_ = hterm.Terminal.cursorShape.BLOCK;\n\n // The current color of the cursor.\n this.cursorColor_ = null;\n\n // Cursor blink on/off cycle in ms, overwritten by prefs once they're loaded.\n this.cursorBlinkCycle_ = [100, 100];\n\n // Pre-bound onCursorBlink_ handler, so we don't have to do this for each\n // cursor on/off servicing.\n this.myOnCursorBlink_ = this.onCursorBlink_.bind(this);\n\n // These prefs are cached so we don't have to read from local storage with\n // each output and keystroke. They are initialized by the preference manager.\n this.backgroundColor_ = null;\n this.foregroundColor_ = null;\n this.scrollOnOutput_ = null;\n this.scrollOnKeystroke_ = null;\n this.scrollWheelArrowKeys_ = null;\n\n // True if we should override mouse event reporting to allow local selection.\n this.defeatMouseReports_ = false;\n\n // Terminal bell sound.\n this.bellAudio_ = this.document_.createElement('audio');\n this.bellAudio_.id = 'hterm:bell-audio';\n this.bellAudio_.setAttribute('preload', 'auto');\n\n // All terminal bell notifications that have been generated (not necessarily\n // shown).\n this.bellNotificationList_ = [];\n\n // Whether we have permission to display notifications.\n this.desktopNotificationBell_ = false;\n\n // Cursor position and attributes saved with DECSC.\n this.savedOptions_ = {};\n\n // The current mode bits for the terminal.\n this.options_ = new hterm.Options();\n\n // Timeouts we might need to clear.\n this.timeouts_ = {};\n\n // The VT escape sequence interpreter.\n this.vt = new hterm.VT(this);\n\n // The keyboard handler.\n this.keyboard = new hterm.Keyboard(this);\n\n // General IO interface that can be given to third parties without exposing\n // the entire terminal object.\n this.io = new hterm.Terminal.IO(this);\n\n // True if mouse-click-drag should scroll the terminal.\n this.enableMouseDragScroll = true;\n\n this.copyOnSelect = null;\n this.mouseRightClickPaste = null;\n this.mousePasteButton = null;\n\n // Whether to use the default window copy behavior.\n this.useDefaultWindowCopy = false;\n\n this.clearSelectionAfterCopy = true;\n\n this.realizeSize_(80, 24);\n this.setDefaultTabStops();\n\n this.setProfile(opt_profileId || 'default',\n function() { this.onTerminalReady(); }.bind(this));\n};\n\n/**\n * Possible cursor shapes.\n */\nhterm.Terminal.cursorShape = {\n BLOCK: 'BLOCK',\n BEAM: 'BEAM',\n UNDERLINE: 'UNDERLINE'\n};\n\n/**\n * Clients should override this to be notified when the terminal is ready\n * for use.\n *\n * The terminal initialization is asynchronous, and shouldn't be used before\n * this method is called.\n */\nhterm.Terminal.prototype.onTerminalReady = function() { };\n\n/**\n * Default tab with of 8 to match xterm.\n */\nhterm.Terminal.prototype.tabWidth = 8;\n\n/**\n * Select a preference profile.\n *\n * This will load the terminal preferences for the given profile name and\n * associate subsequent preference changes with the new preference profile.\n *\n * @param {string} profileId The name of the preference profile. Forward slash\n * characters will be removed from the name.\n * @param {function} opt_callback Optional callback to invoke when the profile\n * transition is complete.\n */\nhterm.Terminal.prototype.setProfile = function(profileId, opt_callback) {\n this.profileId_ = profileId.replace(/\\//g, '');\n\n var terminal = this;\n\n if (this.prefs_)\n this.prefs_.deactivate();\n\n this.prefs_ = new hterm.PreferenceManager(this.profileId_);\n this.prefs_.addObservers(null, {\n 'alt-gr-mode': function(v) {\n if (v == null) {\n if (navigator.language.toLowerCase() == 'en-us') {\n v = 'none';\n } else {\n v = 'right-alt';\n }\n } else if (typeof v == 'string') {\n v = v.toLowerCase();\n } else {\n v = 'none';\n }\n\n if (!/^(none|ctrl-alt|left-alt|right-alt)$/.test(v))\n v = 'none';\n\n terminal.keyboard.altGrMode = v;\n },\n\n 'alt-backspace-is-meta-backspace': function(v) {\n terminal.keyboard.altBackspaceIsMetaBackspace = v;\n },\n\n 'alt-is-meta': function(v) {\n terminal.keyboard.altIsMeta = v;\n },\n\n 'alt-sends-what': function(v) {\n if (!/^(escape|8-bit|browser-key)$/.test(v))\n v = 'escape';\n\n terminal.keyboard.altSendsWhat = v;\n },\n\n 'audible-bell-sound': function(v) {\n var ary = v.match(/^lib-resource:(\\S+)/);\n if (ary) {\n terminal.bellAudio_.setAttribute('src',\n lib.resource.getDataUrl(ary[1]));\n } else {\n terminal.bellAudio_.setAttribute('src', v);\n }\n },\n\n 'desktop-notification-bell': function(v) {\n if (v && Notification) {\n terminal.desktopNotificationBell_ =\n Notification.permission === 'granted';\n if (!terminal.desktopNotificationBell_) {\n // Note: We don't call Notification.requestPermission here because\n // Chrome requires the call be the result of a user action (such as an\n // onclick handler), and pref listeners are run asynchronously.\n //\n // A way of working around this would be to display a dialog in the\n // terminal with a \"click-to-request-permission\" button.\n console.warn('desktop-notification-bell is true but we do not have ' +\n 'permission to display notifications.');\n }\n } else {\n terminal.desktopNotificationBell_ = false;\n }\n },\n\n 'background-color': function(v) {\n terminal.setBackgroundColor(v);\n },\n\n 'background-image': function(v) {\n terminal.scrollPort_.setBackgroundImage(v);\n },\n\n 'background-size': function(v) {\n terminal.scrollPort_.setBackgroundSize(v);\n },\n\n 'background-position': function(v) {\n terminal.scrollPort_.setBackgroundPosition(v);\n },\n\n 'backspace-sends-backspace': function(v) {\n terminal.keyboard.backspaceSendsBackspace = v;\n },\n\n 'character-map-overrides': function(v) {\n if (!(v == null || v instanceof Object)) {\n console.warn('Preference character-map-modifications is not an ' +\n 'object: ' + v);\n return;\n }\n\n terminal.vt.characterMaps.reset();\n terminal.vt.characterMaps.setOverrides(v);\n },\n\n 'cursor-blink': function(v) {\n terminal.setCursorBlink(!!v);\n },\n\n 'cursor-blink-cycle': function(v) {\n if (v instanceof Array &&\n typeof v[0] == 'number' &&\n typeof v[1] == 'number') {\n terminal.cursorBlinkCycle_ = v;\n } else if (typeof v == 'number') {\n terminal.cursorBlinkCycle_ = [v, v];\n } else {\n // Fast blink indicates an error.\n terminal.cursorBlinkCycle_ = [100, 100];\n }\n },\n\n 'cursor-color': function(v) {\n terminal.setCursorColor(v);\n },\n\n 'color-palette-overrides': function(v) {\n if (!(v == null || v instanceof Object || v instanceof Array)) {\n console.warn('Preference color-palette-overrides is not an array or ' +\n 'object: ' + v);\n return;\n }\n\n lib.colors.colorPalette = lib.colors.stockColorPalette.concat();\n\n if (v) {\n for (var key in v) {\n var i = parseInt(key);\n if (isNaN(i) || i < 0 || i > 255) {\n console.log('Invalid value in palette: ' + key + ': ' + v[key]);\n continue;\n }\n\n if (v[i]) {\n var rgb = lib.colors.normalizeCSS(v[i]);\n if (rgb)\n lib.colors.colorPalette[i] = rgb;\n }\n }\n }\n\n terminal.primaryScreen_.textAttributes.resetColorPalette();\n terminal.alternateScreen_.textAttributes.resetColorPalette();\n },\n\n 'copy-on-select': function(v) {\n terminal.copyOnSelect = !!v;\n },\n\n 'use-default-window-copy': function(v) {\n terminal.useDefaultWindowCopy = !!v;\n },\n\n 'clear-selection-after-copy': function(v) {\n terminal.clearSelectionAfterCopy = !!v;\n },\n\n 'ctrl-plus-minus-zero-zoom': function(v) {\n terminal.keyboard.ctrlPlusMinusZeroZoom = v;\n },\n\n 'ctrl-c-copy': function(v) {\n terminal.keyboard.ctrlCCopy = v;\n },\n\n 'ctrl-v-paste': function(v) {\n terminal.keyboard.ctrlVPaste = v;\n terminal.scrollPort_.setCtrlVPaste(v);\n },\n\n 'east-asian-ambiguous-as-two-column': function(v) {\n lib.wc.regardCjkAmbiguous = v;\n },\n\n 'enable-8-bit-control': function(v) {\n terminal.vt.enable8BitControl = !!v;\n },\n\n 'enable-bold': function(v) {\n terminal.syncBoldSafeState();\n },\n\n 'enable-bold-as-bright': function(v) {\n terminal.primaryScreen_.textAttributes.enableBoldAsBright = !!v;\n terminal.alternateScreen_.textAttributes.enableBoldAsBright = !!v;\n },\n\n 'enable-blink': function(v) {\n terminal.syncBlinkState();\n },\n\n 'enable-clipboard-write': function(v) {\n terminal.vt.enableClipboardWrite = !!v;\n },\n\n 'enable-dec12': function(v) {\n terminal.vt.enableDec12 = !!v;\n },\n\n 'font-family': function(v) {\n terminal.syncFontFamily();\n },\n\n 'font-size': function(v) {\n terminal.setFontSize(v);\n },\n\n 'font-smoothing': function(v) {\n terminal.syncFontFamily();\n },\n\n 'foreground-color': function(v) {\n terminal.setForegroundColor(v);\n },\n\n 'home-keys-scroll': function(v) {\n terminal.keyboard.homeKeysScroll = v;\n },\n\n 'keybindings': function(v) {\n terminal.keyboard.bindings.clear();\n\n if (!v)\n return;\n\n if (!(v instanceof Object)) {\n console.error('Error in keybindings preference: Expected object');\n return;\n }\n\n try {\n terminal.keyboard.bindings.addBindings(v);\n } catch (ex) {\n console.error('Error in keybindings preference: ' + ex);\n }\n },\n\n 'max-string-sequence': function(v) {\n terminal.vt.maxStringSequence = v;\n },\n\n 'media-keys-are-fkeys': function(v) {\n terminal.keyboard.mediaKeysAreFKeys = v;\n },\n\n 'meta-sends-escape': function(v) {\n terminal.keyboard.metaSendsEscape = v;\n },\n\n 'mouse-right-click-paste': function(v) {\n terminal.mouseRightClickPaste = v;\n },\n\n 'mouse-paste-button': function(v) {\n terminal.syncMousePasteButton();\n },\n\n 'page-keys-scroll': function(v) {\n terminal.keyboard.pageKeysScroll = v;\n },\n\n 'pass-alt-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Alt-1..9 pass to the browser (to control tab switching) on\n // non-OS X systems, or if hterm is not opened in an app window.\n v = (!osx && hterm.windowType != 'popup');\n }\n\n terminal.passAltNumber = v;\n },\n\n 'pass-ctrl-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Ctrl-1..9 pass to the browser (to control tab switching) on\n // non-OS X systems, or if hterm is not opened in an app window.\n v = (!osx && hterm.windowType != 'popup');\n }\n\n terminal.passCtrlNumber = v;\n },\n\n 'pass-meta-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Meta-1..9 pass to the browser (to control tab switching) on\n // OS X systems, or if hterm is not opened in an app window.\n v = (osx && hterm.windowType != 'popup');\n }\n\n terminal.passMetaNumber = v;\n },\n\n 'pass-meta-v': function(v) {\n terminal.keyboard.passMetaV = v;\n },\n\n 'receive-encoding': function(v) {\n if (!(/^(utf-8|raw)$/).test(v)) {\n console.warn('Invalid value for \"receive-encoding\": ' + v);\n v = 'utf-8';\n }\n\n terminal.vt.characterEncoding = v;\n },\n\n 'scroll-on-keystroke': function(v) {\n terminal.scrollOnKeystroke_ = v;\n },\n\n 'scroll-on-output': function(v) {\n terminal.scrollOnOutput_ = v;\n },\n\n 'scrollbar-visible': function(v) {\n terminal.setScrollbarVisible(v);\n },\n\n 'scroll-wheel-may-send-arrow-keys': function(v) {\n terminal.scrollWheelArrowKeys_ = v;\n },\n\n 'scroll-wheel-move-multiplier': function(v) {\n terminal.setScrollWheelMoveMultipler(v);\n },\n\n 'send-encoding': function(v) {\n if (!(/^(utf-8|raw)$/).test(v)) {\n console.warn('Invalid value for \"send-encoding\": ' + v);\n v = 'utf-8';\n }\n\n terminal.keyboard.characterEncoding = v;\n },\n\n 'shift-insert-paste': function(v) {\n terminal.keyboard.shiftInsertPaste = v;\n },\n\n 'terminal-encoding': function(v) {\n terminal.vt.setEncoding(v);\n },\n\n 'user-css': function(v) {\n terminal.scrollPort_.setUserCssUrl(v);\n },\n\n 'user-css-text': function(v) {\n terminal.scrollPort_.setUserCssText(v);\n },\n\n 'word-break-match-left': function(v) {\n terminal.primaryScreen_.wordBreakMatchLeft = v;\n terminal.alternateScreen_.wordBreakMatchLeft = v;\n },\n\n 'word-break-match-right': function(v) {\n terminal.primaryScreen_.wordBreakMatchRight = v;\n terminal.alternateScreen_.wordBreakMatchRight = v;\n },\n\n 'word-break-match-middle': function(v) {\n terminal.primaryScreen_.wordBreakMatchMiddle = v;\n terminal.alternateScreen_.wordBreakMatchMiddle = v;\n },\n });\n\n this.prefs_.readStorage(function() {\n this.prefs_.notifyAll();\n\n if (opt_callback)\n opt_callback();\n }.bind(this));\n};\n\n\n/**\n * Returns the preferences manager used for configuring this terminal.\n *\n * @return {hterm.PreferenceManager}\n */\nhterm.Terminal.prototype.getPrefs = function() {\n return this.prefs_;\n};\n\n/**\n * Enable or disable bracketed paste mode.\n *\n * @param {boolean} state The value to set.\n */\nhterm.Terminal.prototype.setBracketedPaste = function(state) {\n this.options_.bracketedPaste = state;\n};\n\n/**\n * Set the color for the cursor.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setCursorColor = function(color) {\n this.cursorColor_ = color;\n this.cursorNode_.style.backgroundColor = color;\n this.cursorNode_.style.borderColor = color;\n};\n\n/**\n * Return the current cursor color as a string.\n * @return {string}\n */\nhterm.Terminal.prototype.getCursorColor = function() {\n return this.cursorColor_;\n};\n\n/**\n * Enable or disable mouse based text selection in the terminal.\n *\n * @param {boolean} state The value to set.\n */\nhterm.Terminal.prototype.setSelectionEnabled = function(state) {\n this.enableMouseDragScroll = state;\n};\n\n/**\n * Set the background color.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setBackgroundColor = function(color) {\n this.backgroundColor_ = lib.colors.normalizeCSS(color);\n this.primaryScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.alternateScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.scrollPort_.setBackgroundColor(color);\n};\n\n/**\n * Return the current terminal background color.\n *\n * Intended for use by other classes, so we don't have to expose the entire\n * prefs_ object.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getBackgroundColor = function() {\n return this.backgroundColor_;\n};\n\n/**\n * Set the foreground color.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setForegroundColor = function(color) {\n this.foregroundColor_ = lib.colors.normalizeCSS(color);\n this.primaryScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.alternateScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.scrollPort_.setForegroundColor(color);\n};\n\n/**\n * Return the current terminal foreground color.\n *\n * Intended for use by other classes, so we don't have to expose the entire\n * prefs_ object.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getForegroundColor = function() {\n return this.foregroundColor_;\n};\n\n/**\n * Create a new instance of a terminal command and run it with a given\n * argument string.\n *\n * @param {function} commandClass The constructor for a terminal command.\n * @param {string} argString The argument string to pass to the command.\n */\nhterm.Terminal.prototype.runCommandClass = function(commandClass, argString) {\n var environment = this.prefs_.get('environment');\n if (typeof environment != 'object' || environment == null)\n environment = {};\n\n var self = this;\n this.command = new commandClass(\n { argString: argString || '',\n io: this.io.push(),\n environment: environment,\n onExit: function(code) {\n self.io.pop();\n self.uninstallKeyboard();\n if (self.prefs_.get('close-on-exit'))\n window.close();\n }\n });\n\n this.installKeyboard();\n this.command.run();\n};\n\n/**\n * Returns true if the current screen is the primary screen, false otherwise.\n *\n * @return {boolean}\n */\nhterm.Terminal.prototype.isPrimaryScreen = function() {\n return this.screen_ == this.primaryScreen_;\n};\n\n/**\n * Install the keyboard handler for this terminal.\n *\n * This will prevent the browser from seeing any keystrokes sent to the\n * terminal.\n */\nhterm.Terminal.prototype.installKeyboard = function() {\n this.keyboard.installKeyboard(this.scrollPort_.getDocument().body);\n}\n\n/**\n * Uninstall the keyboard handler for this terminal.\n */\nhterm.Terminal.prototype.uninstallKeyboard = function() {\n this.keyboard.installKeyboard(null);\n}\n\n/**\n * Set a CSS variable.\n *\n * Normally this is used to set variables in the hterm namespace.\n *\n * @param {string} name The variable to set.\n * @param {string} value The value to assign to the variable.\n * @param {string?} opt_prefix The variable namespace/prefix to use.\n */\nhterm.Terminal.prototype.setCssVar = function(name, value,\n opt_prefix='--hterm-') {\n this.document_.documentElement.style.setProperty(\n `${opt_prefix}${name}`, value);\n};\n\n/**\n * Set the font size for this terminal.\n *\n * Call setFontSize(0) to reset to the default font size.\n *\n * This function does not modify the font-size preference.\n *\n * @param {number} px The desired font size, in pixels.\n */\nhterm.Terminal.prototype.setFontSize = function(px) {\n if (px === 0)\n px = this.prefs_.get('font-size');\n\n this.scrollPort_.setFontSize(px);\n this.setCssVar('charsize-width', this.scrollPort_.characterSize.width + 'px');\n this.setCssVar('charsize-height',\n this.scrollPort_.characterSize.height + 'px');\n};\n\n/**\n * Get the current font size.\n *\n * @return {number}\n */\nhterm.Terminal.prototype.getFontSize = function() {\n return this.scrollPort_.getFontSize();\n};\n\n/**\n * Get the current font family.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getFontFamily = function() {\n return this.scrollPort_.getFontFamily();\n};\n\n/**\n * Set the CSS \"font-family\" for this terminal.\n */\nhterm.Terminal.prototype.syncFontFamily = function() {\n this.scrollPort_.setFontFamily(this.prefs_.get('font-family'),\n this.prefs_.get('font-smoothing'));\n this.syncBoldSafeState();\n};\n\n/**\n * Set this.mousePasteButton based on the mouse-paste-button pref,\n * autodetecting if necessary.\n */\nhterm.Terminal.prototype.syncMousePasteButton = function() {\n var button = this.prefs_.get('mouse-paste-button');\n if (typeof button == 'number') {\n this.mousePasteButton = button;\n return;\n }\n\n var ary = navigator.userAgent.match(/\\(X11;\\s+(\\S+)/);\n if (!ary || ary[1] == 'CrOS') {\n this.mousePasteButton = 1; // Middle mouse button.\n } else {\n this.mousePasteButton = 2; // Right mouse button.\n }\n};\n\n/**\n * Enable or disable bold based on the enable-bold pref, autodetecting if\n * necessary.\n */\nhterm.Terminal.prototype.syncBoldSafeState = function() {\n var enableBold = this.prefs_.get('enable-bold');\n if (enableBold !== null) {\n this.primaryScreen_.textAttributes.enableBold = enableBold;\n this.alternateScreen_.textAttributes.enableBold = enableBold;\n return;\n }\n\n var normalSize = this.scrollPort_.measureCharacterSize();\n var boldSize = this.scrollPort_.measureCharacterSize('bold');\n\n var isBoldSafe = normalSize.equals(boldSize);\n if (!isBoldSafe) {\n console.warn('Bold characters disabled: Size of bold weight differs ' +\n 'from normal. Font family is: ' +\n this.scrollPort_.getFontFamily());\n }\n\n this.primaryScreen_.textAttributes.enableBold = isBoldSafe;\n this.alternateScreen_.textAttributes.enableBold = isBoldSafe;\n};\n\n/**\n * Enable or disable blink based on the enable-blink pref.\n */\nhterm.Terminal.prototype.syncBlinkState = function() {\n this.setCssVar('node-duration',\n this.prefs_.get('enable-blink') ? '0.7s' : '0');\n};\n\n/**\n * Set the mouse cursor style based on the current terminal mode.\n */\nhterm.Terminal.prototype.syncMouseStyle = function() {\n this.setCssVar('mouse-cursor-style',\n this.vt.mouseReport == this.vt.MOUSE_REPORT_DISABLED ?\n 'var(--hterm-mouse-cursor-text)' :\n 'var(--hterm-mouse-cursor-pointer)');\n};\n\n/**\n * Return a copy of the current cursor position.\n *\n * @return {hterm.RowCol} The RowCol object representing the current position.\n */\nhterm.Terminal.prototype.saveCursor = function() {\n return this.screen_.cursorPosition.clone();\n};\n\n/**\n * Return the current text attributes.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getTextAttributes = function() {\n return this.screen_.textAttributes;\n};\n\n/**\n * Set the text attributes.\n *\n * @param {string} textAttributes The attributes to set.\n */\nhterm.Terminal.prototype.setTextAttributes = function(textAttributes) {\n this.screen_.textAttributes = textAttributes;\n};\n\n/**\n * Return the current browser zoom factor applied to the terminal.\n *\n * @return {number} The current browser zoom factor.\n */\nhterm.Terminal.prototype.getZoomFactor = function() {\n return this.scrollPort_.characterSize.zoomFactor;\n};\n\n/**\n * Change the title of this terminal's window.\n *\n * @param {string} title The title to set.\n */\nhterm.Terminal.prototype.setWindowTitle = function(title) {\n window.document.title = title;\n};\n\n/**\n * Restore a previously saved cursor position.\n *\n * @param {hterm.RowCol} cursor The position to restore.\n */\nhterm.Terminal.prototype.restoreCursor = function(cursor) {\n var row = lib.f.clamp(cursor.row, 0, this.screenSize.height - 1);\n var column = lib.f.clamp(cursor.column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n if (cursor.column > column ||\n cursor.column == column && cursor.overflow) {\n this.screen_.cursorPosition.overflow = true;\n }\n};\n\n/**\n * Clear the cursor's overflow flag.\n */\nhterm.Terminal.prototype.clearCursorOverflow = function() {\n this.screen_.cursorPosition.overflow = false;\n};\n\n/**\n * Sets the cursor shape\n *\n * @param {string} shape The shape to set.\n */\nhterm.Terminal.prototype.setCursorShape = function(shape) {\n this.cursorShape_ = shape;\n this.restyleCursor_();\n}\n\n/**\n * Get the cursor shape\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getCursorShape = function() {\n return this.cursorShape_;\n}\n\n/**\n * Set the width of the terminal, resizing the UI to match.\n *\n * @param {number} columnCount\n */\nhterm.Terminal.prototype.setWidth = function(columnCount) {\n if (columnCount == null) {\n this.div_.style.width = '100%';\n return;\n }\n\n this.div_.style.width = Math.ceil(\n this.scrollPort_.characterSize.width *\n columnCount + this.scrollPort_.currentScrollbarWidthPx) + 'px';\n this.realizeSize_(columnCount, this.screenSize.height);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Set the height of the terminal, resizing the UI to match.\n *\n * @param {number} rowCount The height in rows.\n */\nhterm.Terminal.prototype.setHeight = function(rowCount) {\n if (rowCount == null) {\n this.div_.style.height = '100%';\n return;\n }\n\n this.div_.style.height =\n this.scrollPort_.characterSize.height * rowCount + 'px';\n this.realizeSize_(this.screenSize.width, rowCount);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Deal with terminal size changes.\n *\n * @param {number} columnCount The number of columns.\n * @param {number} rowCount The number of rows.\n */\nhterm.Terminal.prototype.realizeSize_ = function(columnCount, rowCount) {\n if (columnCount != this.screenSize.width)\n this.realizeWidth_(columnCount);\n\n if (rowCount != this.screenSize.height)\n this.realizeHeight_(rowCount);\n\n // Send new terminal size to plugin.\n this.io.onTerminalResize_(columnCount, rowCount);\n};\n\n/**\n * Deal with terminal width changes.\n *\n * This function does what needs to be done when the terminal width changes\n * out from under us. It happens here rather than in onResize_() because this\n * code may need to run synchronously to handle programmatic changes of\n * terminal width.\n *\n * Relying on the browser to send us an async resize event means we may not be\n * in the correct state yet when the next escape sequence hits.\n *\n * @param {number} columnCount The number of columns.\n */\nhterm.Terminal.prototype.realizeWidth_ = function(columnCount) {\n if (columnCount <= 0)\n throw new Error('Attempt to realize bad width: ' + columnCount);\n\n var deltaColumns = columnCount - this.screen_.getWidth();\n\n this.screenSize.width = columnCount;\n this.screen_.setColumnCount(columnCount);\n\n if (deltaColumns > 0) {\n if (this.defaultTabStops)\n this.setDefaultTabStops(this.screenSize.width - deltaColumns);\n } else {\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] < columnCount)\n break;\n\n this.tabStops_.pop();\n }\n }\n\n this.screen_.setColumnCount(this.screenSize.width);\n};\n\n/**\n * Deal with terminal height changes.\n *\n * This function does what needs to be done when the terminal height changes\n * out from under us. It happens here rather than in onResize_() because this\n * code may need to run synchronously to handle programmatic changes of\n * terminal height.\n *\n * Relying on the browser to send us an async resize event means we may not be\n * in the correct state yet when the next escape sequence hits.\n *\n * @param {number} rowCount The number of rows.\n */\nhterm.Terminal.prototype.realizeHeight_ = function(rowCount) {\n if (rowCount <= 0)\n throw new Error('Attempt to realize bad height: ' + rowCount);\n\n var deltaRows = rowCount - this.screen_.getHeight();\n\n this.screenSize.height = rowCount;\n\n var cursor = this.saveCursor();\n\n if (deltaRows < 0) {\n // Screen got smaller.\n deltaRows *= -1;\n while (deltaRows) {\n var lastRow = this.getRowCount() - 1;\n if (lastRow - this.scrollbackRows_.length == cursor.row)\n break;\n\n if (this.getRowText(lastRow))\n break;\n\n this.screen_.popRow();\n deltaRows--;\n }\n\n var ary = this.screen_.shiftRows(deltaRows);\n this.scrollbackRows_.push.apply(this.scrollbackRows_, ary);\n\n // We just removed rows from the top of the screen, we need to update\n // the cursor to match.\n cursor.row = Math.max(cursor.row - deltaRows, 0);\n } else if (deltaRows > 0) {\n // Screen got larger.\n\n if (deltaRows <= this.scrollbackRows_.length) {\n var scrollbackCount = Math.min(deltaRows, this.scrollbackRows_.length);\n var rows = this.scrollbackRows_.splice(\n this.scrollbackRows_.length - scrollbackCount, scrollbackCount);\n this.screen_.unshiftRows(rows);\n deltaRows -= scrollbackCount;\n cursor.row += scrollbackCount;\n }\n\n if (deltaRows)\n this.appendRows_(deltaRows);\n }\n\n this.setVTScrollRegion(null, null);\n this.restoreCursor(cursor);\n};\n\n/**\n * Scroll the terminal to the top of the scrollback buffer.\n */\nhterm.Terminal.prototype.scrollHome = function() {\n this.scrollPort_.scrollRowToTop(0);\n};\n\n/**\n * Scroll the terminal to the end.\n */\nhterm.Terminal.prototype.scrollEnd = function() {\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n};\n\n/**\n * Scroll the terminal one page up (minus one line) relative to the current\n * position.\n */\nhterm.Terminal.prototype.scrollPageUp = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i - this.screenSize.height + 1);\n};\n\n/**\n * Scroll the terminal one page down (minus one line) relative to the current\n * position.\n */\nhterm.Terminal.prototype.scrollPageDown = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i + this.screenSize.height - 1);\n};\n\n/**\n * Scroll the terminal one line up relative to the current position.\n */\nhterm.Terminal.prototype.scrollLineUp = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i - 1);\n};\n\n/**\n * Scroll the terminal one line down relative to the current position.\n */\nhterm.Terminal.prototype.scrollLineDown = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i + 1);\n};\n\n/**\n * Clear primary screen, secondary screen, and the scrollback buffer.\n */\nhterm.Terminal.prototype.wipeContents = function() {\n this.scrollbackRows_.length = 0;\n this.scrollPort_.resetCache();\n\n [this.primaryScreen_, this.alternateScreen_].forEach(function(screen) {\n var bottom = screen.getHeight();\n if (bottom > 0) {\n this.renumberRows_(0, bottom);\n this.clearHome(screen);\n }\n }.bind(this));\n\n this.syncCursorPosition_();\n this.scrollPort_.invalidate();\n};\n\n/**\n * Full terminal reset.\n */\nhterm.Terminal.prototype.reset = function() {\n this.clearAllTabStops();\n this.setDefaultTabStops();\n\n this.clearHome(this.primaryScreen_);\n this.primaryScreen_.textAttributes.reset();\n\n this.clearHome(this.alternateScreen_);\n this.alternateScreen_.textAttributes.reset();\n\n this.setCursorBlink(!!this.prefs_.get('cursor-blink'));\n\n this.vt.reset();\n\n this.softReset();\n};\n\n/**\n * Soft terminal reset.\n *\n * Perform a soft reset to the default values listed in\n * http://www.vt100.net/docs/vt510-rm/DECSTR#T5-9\n */\nhterm.Terminal.prototype.softReset = function() {\n // Reset terminal options to their default values.\n this.options_ = new hterm.Options();\n\n // We show the cursor on soft reset but do not alter the blink state.\n this.options_.cursorBlink = !!this.timeouts_.cursorBlink;\n\n // Xterm also resets the color palette on soft reset, even though it doesn't\n // seem to be documented anywhere.\n this.primaryScreen_.textAttributes.resetColorPalette();\n this.alternateScreen_.textAttributes.resetColorPalette();\n\n // The xterm man page explicitly says this will happen on soft reset.\n this.setVTScrollRegion(null, null);\n\n // Xterm also shows the cursor on soft reset, but does not alter the blink\n // state.\n this.setCursorVisible(true);\n};\n\n/**\n * Move the cursor forward to the next tab stop, or to the last column\n * if no more tab stops are set.\n */\nhterm.Terminal.prototype.forwardTabStop = function() {\n var column = this.screen_.cursorPosition.column;\n\n for (var i = 0; i < this.tabStops_.length; i++) {\n if (this.tabStops_[i] > column) {\n this.setCursorColumn(this.tabStops_[i]);\n return;\n }\n }\n\n // xterm does not clear the overflow flag on HT or CHT.\n var overflow = this.screen_.cursorPosition.overflow;\n this.setCursorColumn(this.screenSize.width - 1);\n this.screen_.cursorPosition.overflow = overflow;\n};\n\n/**\n * Move the cursor backward to the previous tab stop, or to the first column\n * if no previous tab stops are set.\n */\nhterm.Terminal.prototype.backwardTabStop = function() {\n var column = this.screen_.cursorPosition.column;\n\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] < column) {\n this.setCursorColumn(this.tabStops_[i]);\n return;\n }\n }\n\n this.setCursorColumn(1);\n};\n\n/**\n * Set a tab stop at the given column.\n *\n * @param {integer} column Zero based column.\n */\nhterm.Terminal.prototype.setTabStop = function(column) {\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] == column)\n return;\n\n if (this.tabStops_[i] < column) {\n this.tabStops_.splice(i + 1, 0, column);\n return;\n }\n }\n\n this.tabStops_.splice(0, 0, column);\n};\n\n/**\n * Clear the tab stop at the current cursor position.\n *\n * No effect if there is no tab stop at the current cursor position.\n */\nhterm.Terminal.prototype.clearTabStopAtCursor = function() {\n var column = this.screen_.cursorPosition.column;\n\n var i = this.tabStops_.indexOf(column);\n if (i == -1)\n return;\n\n this.tabStops_.splice(i, 1);\n};\n\n/**\n * Clear all tab stops.\n */\nhterm.Terminal.prototype.clearAllTabStops = function() {\n this.tabStops_.length = 0;\n this.defaultTabStops = false;\n};\n\n/**\n * Set up the default tab stops, starting from a given column.\n *\n * This sets a tabstop every (column % this.tabWidth) column, starting\n * from the specified column, or 0 if no column is provided. It also flags\n * future resizes to set them up.\n *\n * This does not clear the existing tab stops first, use clearAllTabStops\n * for that.\n *\n * @param {integer} opt_start Optional starting zero based starting column, useful\n * for filling out missing tab stops when the terminal is resized.\n */\nhterm.Terminal.prototype.setDefaultTabStops = function(opt_start) {\n var start = opt_start || 0;\n var w = this.tabWidth;\n // Round start up to a default tab stop.\n start = start - 1 - ((start - 1) % w) + w;\n for (var i = start; i < this.screenSize.width; i += w) {\n this.setTabStop(i);\n }\n\n this.defaultTabStops = true;\n};\n\n/**\n * Interpret a sequence of characters.\n *\n * Incomplete escape sequences are buffered until the next call.\n *\n * @param {string} str Sequence of characters to interpret or pass through.\n */\nhterm.Terminal.prototype.interpret = function(str) {\n this.vt.interpret(str);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Take over the given DIV for use as the terminal display.\n *\n * @param {HTMLDivElement} div The div to use as the terminal display.\n */\nhterm.Terminal.prototype.decorate = function(div) {\n this.div_ = div;\n\n this.scrollPort_.decorate(div);\n this.scrollPort_.setBackgroundImage(this.prefs_.get('background-image'));\n this.scrollPort_.setBackgroundSize(this.prefs_.get('background-size'));\n this.scrollPort_.setBackgroundPosition(\n this.prefs_.get('background-position'));\n this.scrollPort_.setUserCssUrl(this.prefs_.get('user-css'));\n this.scrollPort_.setUserCssText(this.prefs_.get('user-css-text'));\n\n this.div_.focus = this.focus.bind(this);\n\n this.setFontSize(this.prefs_.get('font-size'));\n this.syncFontFamily();\n\n this.setScrollbarVisible(this.prefs_.get('scrollbar-visible'));\n this.setScrollWheelMoveMultipler(\n this.prefs_.get('scroll-wheel-move-multiplier'));\n\n this.document_ = this.scrollPort_.getDocument();\n\n this.document_.body.oncontextmenu = function() { return false; };\n\n var onMouse = this.onMouse_.bind(this);\n var screenNode = this.scrollPort_.getScreenNode();\n screenNode.addEventListener('mousedown', onMouse);\n screenNode.addEventListener('mouseup', onMouse);\n screenNode.addEventListener('mousemove', onMouse);\n this.scrollPort_.onScrollWheel = onMouse;\n\n screenNode.addEventListener(\n 'focus', this.onFocusChange_.bind(this, true));\n // Listen for mousedown events on the screenNode as in FF the focus\n // events don't bubble.\n screenNode.addEventListener('mousedown', function() {\n setTimeout(this.onFocusChange_.bind(this, true));\n }.bind(this));\n\n screenNode.addEventListener(\n 'blur', this.onFocusChange_.bind(this, false));\n\n var style = this.document_.createElement('style');\n style.textContent =\n ('.cursor-node[focus=\"false\"] {' +\n ' box-sizing: border-box;' +\n ' background-color: transparent !important;' +\n ' border-width: 2px;' +\n ' border-style: solid;' +\n '}' +\n '.wc-node {' +\n ' display: inline-block;' +\n ' text-align: center;' +\n ' width: calc(var(--hterm-charsize-width) * 2);' +\n ' line-height: var(--hterm-charsize-height);' +\n '}' +\n ':root {' +\n ' --hterm-charsize-width: ' + this.scrollPort_.characterSize.width + 'px;' +\n ' --hterm-charsize-height: ' + this.scrollPort_.characterSize.height + 'px;' +\n ' --hterm-cursor-offset-col: 0;' +\n ' --hterm-cursor-offset-row: 0;' +\n ' --hterm-blink-node-duration: 0.7s;' +\n ' --hterm-mouse-cursor-text: text;' +\n ' --hterm-mouse-cursor-pointer: default;' +\n ' --hterm-mouse-cursor-style: var(--hterm-mouse-cursor-text);' +\n '}' +\n '@keyframes blink {' +\n ' from { opacity: 1.0; }' +\n ' to { opacity: 0.0; }' +\n '}' +\n '.blink-node {' +\n ' animation-name: blink;' +\n ' animation-duration: var(--hterm-blink-node-duration);' +\n ' animation-iteration-count: infinite;' +\n ' animation-timing-function: ease-in-out;' +\n ' animation-direction: alternate;' +\n '}');\n this.document_.head.appendChild(style);\n\n this.cursorNode_ = this.document_.createElement('div');\n this.cursorNode_.id = 'hterm:terminal-cursor';\n this.cursorNode_.className = 'cursor-node';\n this.cursorNode_.style.cssText =\n ('position: absolute;' +\n 'left: calc(var(--hterm-charsize-width) * var(--hterm-cursor-offset-col));' +\n 'top: calc(var(--hterm-charsize-height) * var(--hterm-cursor-offset-row));' +\n 'display: block;' +\n 'width: var(--hterm-charsize-width);' +\n 'height: var(--hterm-charsize-height);' +\n '-webkit-transition: opacity, background-color 100ms linear;' +\n '-moz-transition: opacity, background-color 100ms linear;');\n\n this.setCursorColor(this.prefs_.get('cursor-color'));\n this.setCursorBlink(!!this.prefs_.get('cursor-blink'));\n this.restyleCursor_();\n\n this.document_.body.appendChild(this.cursorNode_);\n\n // When 'enableMouseDragScroll' is off we reposition this element directly\n // under the mouse cursor after a click. This makes Chrome associate\n // subsequent mousemove events with the scroll-blocker. Since the\n // scroll-blocker is a peer (not a child) of the scrollport, the mousemove\n // events do not cause the scrollport to scroll.\n //\n // It's a hack, but it's the cleanest way I could find.\n this.scrollBlockerNode_ = this.document_.createElement('div');\n this.scrollBlockerNode_.id = 'hterm:mouse-drag-scroll-blocker';\n this.scrollBlockerNode_.style.cssText =\n ('position: absolute;' +\n 'top: -99px;' +\n 'display: block;' +\n 'width: 10px;' +\n 'height: 10px;');\n this.document_.body.appendChild(this.scrollBlockerNode_);\n\n this.scrollPort_.onScrollWheel = onMouse;\n ['mousedown', 'mouseup', 'mousemove', 'click', 'dblclick',\n ].forEach(function(event) {\n this.scrollBlockerNode_.addEventListener(event, onMouse);\n this.cursorNode_.addEventListener(event, onMouse);\n this.document_.addEventListener(event, onMouse);\n }.bind(this));\n\n this.cursorNode_.addEventListener('mousedown', function() {\n setTimeout(this.focus.bind(this));\n }.bind(this));\n\n this.setReverseVideo(false);\n\n this.scrollPort_.focus();\n this.scrollPort_.scheduleRedraw();\n};\n\n/**\n * Return the HTML document that contains the terminal DOM nodes.\n *\n * @return {HTMLDocument}\n */\nhterm.Terminal.prototype.getDocument = function() {\n return this.document_;\n};\n\n/**\n * Focus the terminal.\n */\nhterm.Terminal.prototype.focus = function() {\n this.scrollPort_.focus();\n};\n\n/**\n * Return the HTML Element for a given row index.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch rows on demand as they are scrolled into view.\n *\n * TODO(rginda): Consider saving scrollback rows as (HTML source, text content)\n * pairs to conserve memory.\n *\n * @param {integer} index The zero-based row index, measured relative to the\n * start of the scrollback buffer. On-screen rows will always have the\n * largest indices.\n * @return {HTMLElement} The 'x-row' element containing for the requested row.\n */\nhterm.Terminal.prototype.getRowNode = function(index) {\n if (index < this.scrollbackRows_.length)\n return this.scrollbackRows_[index];\n\n var screenIndex = index - this.scrollbackRows_.length;\n return this.screen_.rowsArray[screenIndex];\n};\n\n/**\n * Return the text content for a given range of rows.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch text content on demand when the user attempts to copy their\n * selection to the clipboard.\n *\n * @param {integer} start The zero-based row index to start from, measured\n * relative to the start of the scrollback buffer. On-screen rows will\n * always have the largest indices.\n * @param {integer} end The zero-based row index to end on, measured\n * relative to the start of the scrollback buffer.\n * @return {string} A single string containing the text value of the range of\n * rows. Lines will be newline delimited, with no trailing newline.\n */\nhterm.Terminal.prototype.getRowsText = function(start, end) {\n var ary = [];\n for (var i = start; i < end; i++) {\n var node = this.getRowNode(i);\n ary.push(node.textContent);\n if (i < end - 1 && !node.getAttribute('line-overflow'))\n ary.push('\\n');\n }\n\n return ary.join('');\n};\n\n/**\n * Return the text content for a given row.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch text content on demand when the user attempts to copy their\n * selection to the clipboard.\n *\n * @param {integer} index The zero-based row index to return, measured\n * relative to the start of the scrollback buffer. On-screen rows will\n * always have the largest indices.\n * @return {string} A string containing the text value of the selected row.\n */\nhterm.Terminal.prototype.getRowText = function(index) {\n var node = this.getRowNode(index);\n return node.textContent;\n};\n\n/**\n * Return the total number of rows in the addressable screen and in the\n * scrollback buffer of this terminal.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to compute the size of the scrollbar.\n *\n * @return {integer} The number of rows in this terminal.\n */\nhterm.Terminal.prototype.getRowCount = function() {\n return this.scrollbackRows_.length + this.screen_.rowsArray.length;\n};\n\n/**\n * Create DOM nodes for new rows and append them to the end of the terminal.\n *\n * This is the only correct way to add a new DOM node for a row. Notice that\n * the new row is appended to the bottom of the list of rows, and does not\n * require renumbering (of the rowIndex property) of previous rows.\n *\n * If you think you want a new blank row somewhere in the middle of the\n * terminal, look into moveRows_().\n *\n * This method does not pay attention to vtScrollTop/Bottom, since you should\n * be using moveRows() in cases where they would matter.\n *\n * The cursor will be positioned at column 0 of the first inserted line.\n *\n * @param {number} count The number of rows to created.\n */\nhterm.Terminal.prototype.appendRows_ = function(count) {\n var cursorRow = this.screen_.rowsArray.length;\n var offset = this.scrollbackRows_.length + cursorRow;\n for (var i = 0; i < count; i++) {\n var row = this.document_.createElement('x-row');\n row.appendChild(this.document_.createTextNode(''));\n row.rowIndex = offset + i;\n this.screen_.pushRow(row);\n }\n\n var extraRows = this.screen_.rowsArray.length - this.screenSize.height;\n if (extraRows > 0) {\n var ary = this.screen_.shiftRows(extraRows);\n Array.prototype.push.apply(this.scrollbackRows_, ary);\n if (this.scrollPort_.isScrolledEnd)\n this.scheduleScrollDown_();\n }\n\n if (cursorRow >= this.screen_.rowsArray.length)\n cursorRow = this.screen_.rowsArray.length - 1;\n\n this.setAbsoluteCursorPosition(cursorRow, 0);\n};\n\n/**\n * Relocate rows from one part of the addressable screen to another.\n *\n * This is used to recycle rows during VT scrolls (those which are driven\n * by VT commands, rather than by the user manipulating the scrollbar.)\n *\n * In this case, the blank lines scrolled into the scroll region are made of\n * the nodes we scrolled off. These have their rowIndex properties carefully\n * renumbered so as not to confuse the ScrollPort.\n *\n * @param {number} fromIndex The start index.\n * @param {number} count The number of rows to move.\n * @param {number} toIndex The destination index.\n */\nhterm.Terminal.prototype.moveRows_ = function(fromIndex, count, toIndex) {\n var ary = this.screen_.removeRows(fromIndex, count);\n this.screen_.insertRows(toIndex, ary);\n\n var start, end;\n if (fromIndex < toIndex) {\n start = fromIndex;\n end = toIndex + count;\n } else {\n start = toIndex;\n end = fromIndex + count;\n }\n\n this.renumberRows_(start, end);\n this.scrollPort_.scheduleInvalidate();\n};\n\n/**\n * Renumber the rowIndex property of the given range of rows.\n *\n * The start and end indices are relative to the screen, not the scrollback.\n * Rows in the scrollback buffer cannot be renumbered. Since they are not\n * addressable (you can't delete them, scroll them, etc), you should have\n * no need to renumber scrollback rows.\n *\n * @param {number} start The start index.\n * @param {number} end The end index.\n * @param {hterm.Screen} opt_screen The screen to renumber.\n */\nhterm.Terminal.prototype.renumberRows_ = function(start, end, opt_screen) {\n var screen = opt_screen || this.screen_;\n\n var offset = this.scrollbackRows_.length;\n for (var i = start; i < end; i++) {\n screen.rowsArray[i].rowIndex = offset + i;\n }\n};\n\n/**\n * Print a string to the terminal.\n *\n * This respects the current insert and wraparound modes. It will add new lines\n * to the end of the terminal, scrolling off the top into the scrollback buffer\n * if necessary.\n *\n * The string is *not* parsed for escape codes. Use the interpret() method if\n * that's what you're after.\n *\n * @param{string} str The string to print.\n */\nhterm.Terminal.prototype.print = function(str) {\n var startOffset = 0;\n\n var strWidth = lib.wc.strWidth(str);\n\n while (startOffset < strWidth) {\n if (this.options_.wraparound && this.screen_.cursorPosition.overflow) {\n this.screen_.commitLineOverflow();\n this.newLine();\n }\n\n var count = strWidth - startOffset;\n var didOverflow = false;\n var substr;\n\n if (this.screen_.cursorPosition.column + count >= this.screenSize.width) {\n didOverflow = true;\n count = this.screenSize.width - this.screen_.cursorPosition.column;\n }\n\n if (didOverflow && !this.options_.wraparound) {\n // If the string overflowed the line but wraparound is off, then the\n // last printed character should be the last of the string.\n // TODO: This will add to our problems with multibyte UTF-16 characters.\n substr = lib.wc.substr(str, startOffset, count - 1) +\n lib.wc.substr(str, strWidth - 1);\n count = strWidth;\n } else {\n substr = lib.wc.substr(str, startOffset, count);\n }\n\n var tokens = hterm.TextAttributes.splitWidecharString(substr);\n for (var i = 0; i < tokens.length; i++) {\n this.screen_.textAttributes.wcNode = tokens[i].wcNode;\n this.screen_.textAttributes.asciiNode = tokens[i].asciiNode;\n\n if (this.options_.insertMode) {\n this.screen_.insertString(tokens[i].str);\n } else {\n this.screen_.overwriteString(tokens[i].str);\n }\n this.screen_.textAttributes.wcNode = false;\n this.screen_.textAttributes.asciiNode = true;\n }\n\n this.screen_.maybeClipCurrentRow();\n startOffset += count;\n }\n\n this.scheduleSyncCursorPosition_();\n\n if (this.scrollOnOutput_)\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n};\n\n/**\n * Set the VT scroll region.\n *\n * This also resets the cursor position to the absolute (0, 0) position, since\n * that's what xterm appears to do.\n *\n * Setting the scroll region to the full height of the terminal will clear\n * the scroll region. This is *NOT* what most terminals do. We're explicitly\n * going \"off-spec\" here because it makes `screen` and `tmux` overflow into the\n * local scrollback buffer, which means the scrollbars and shift-pgup/pgdn\n * continue to work as most users would expect.\n *\n * @param {integer} scrollTop The zero-based top of the scroll region.\n * @param {integer} scrollBottom The zero-based bottom of the scroll region,\n * inclusive.\n */\nhterm.Terminal.prototype.setVTScrollRegion = function(scrollTop, scrollBottom) {\n if (scrollTop == 0 && scrollBottom == this.screenSize.height - 1) {\n this.vtScrollTop_ = null;\n this.vtScrollBottom_ = null;\n } else {\n this.vtScrollTop_ = scrollTop;\n this.vtScrollBottom_ = scrollBottom;\n }\n};\n\n/**\n * Return the top row index according to the VT.\n *\n * This will return 0 unless the terminal has been told to restrict scrolling\n * to some lower row. It is used for some VT cursor positioning and scrolling\n * commands.\n *\n * @return {integer} The topmost row in the terminal's scroll region.\n */\nhterm.Terminal.prototype.getVTScrollTop = function() {\n if (this.vtScrollTop_ != null)\n return this.vtScrollTop_;\n\n return 0;\n};\n\n/**\n * Return the bottom row index according to the VT.\n *\n * This will return the height of the terminal unless the it has been told to\n * restrict scrolling to some higher row. It is used for some VT cursor\n * positioning and scrolling commands.\n *\n * @return {integer} The bottom most row in the terminal's scroll region.\n */\nhterm.Terminal.prototype.getVTScrollBottom = function() {\n if (this.vtScrollBottom_ != null)\n return this.vtScrollBottom_;\n\n return this.screenSize.height - 1;\n}\n\n/**\n * Process a '\\n' character.\n *\n * If the cursor is on the final row of the terminal this will append a new\n * blank row to the screen and scroll the topmost row into the scrollback\n * buffer.\n *\n * Otherwise, this moves the cursor to column zero of the next row.\n */\nhterm.Terminal.prototype.newLine = function() {\n var cursorAtEndOfScreen = (this.screen_.cursorPosition.row ==\n this.screen_.rowsArray.length - 1);\n\n if (this.vtScrollBottom_ != null) {\n // A VT Scroll region is active, we never append new rows.\n if (this.screen_.cursorPosition.row == this.vtScrollBottom_) {\n // We're at the end of the VT Scroll Region, perform a VT scroll.\n this.vtScrollUp(1);\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0);\n } else if (cursorAtEndOfScreen) {\n // We're at the end of the screen, the only thing to do is put the\n // cursor to column 0.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0);\n } else {\n // Anywhere else, advance the cursor row, and reset the column.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0);\n }\n } else if (cursorAtEndOfScreen) {\n // We're at the end of the screen. Append a new row to the terminal,\n // shifting the top row into the scrollback.\n this.appendRows_(1);\n } else {\n // Anywhere else in the screen just moves the cursor.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0);\n }\n};\n\n/**\n * Like newLine(), except maintain the cursor column.\n */\nhterm.Terminal.prototype.lineFeed = function() {\n var column = this.screen_.cursorPosition.column;\n this.newLine();\n this.setCursorColumn(column);\n};\n\n/**\n * If autoCarriageReturn is set then newLine(), else lineFeed().\n */\nhterm.Terminal.prototype.formFeed = function() {\n if (this.options_.autoCarriageReturn) {\n this.newLine();\n } else {\n this.lineFeed();\n }\n};\n\n/**\n * Move the cursor up one row, possibly inserting a blank line.\n *\n * The cursor column is not changed.\n */\nhterm.Terminal.prototype.reverseLineFeed = function() {\n var scrollTop = this.getVTScrollTop();\n var currentRow = this.screen_.cursorPosition.row;\n\n if (currentRow == scrollTop) {\n this.insertLines(1);\n } else {\n this.setAbsoluteCursorRow(currentRow - 1);\n }\n};\n\n/**\n * Replace all characters to the left of the current cursor with the space\n * character.\n *\n * TODO(rginda): This should probably *remove* the characters (not just replace\n * with a space) if there are no characters at or beyond the current cursor\n * position.\n */\nhterm.Terminal.prototype.eraseToLeft = function() {\n var cursor = this.saveCursor();\n this.setCursorColumn(0);\n this.screen_.overwriteString(lib.f.getWhitespace(cursor.column + 1));\n this.restoreCursor(cursor);\n};\n\n/**\n * Erase a given number of characters to the right of the cursor.\n *\n * The cursor position is unchanged.\n *\n * If the current background color is not the default background color this\n * will insert spaces rather than delete. This is unfortunate because the\n * trailing space will affect text selection, but it's difficult to come up\n * with a way to style empty space that wouldn't trip up the hterm.Screen\n * code.\n *\n * eraseToRight is ignored in the presence of a cursor overflow. This deviates\n * from xterm, but agrees with gnome-terminal and konsole, xfce4-terminal. See\n * crbug.com/232390 for details.\n *\n * @param {number} opt_count The number of characters to erase.\n */\nhterm.Terminal.prototype.eraseToRight = function(opt_count) {\n if (this.screen_.cursorPosition.overflow)\n return;\n\n var maxCount = this.screenSize.width - this.screen_.cursorPosition.column;\n var count = opt_count ? Math.min(opt_count, maxCount) : maxCount;\n\n if (this.screen_.textAttributes.background ===\n this.screen_.textAttributes.DEFAULT_COLOR) {\n var cursorRow = this.screen_.rowsArray[this.screen_.cursorPosition.row];\n if (hterm.TextAttributes.nodeWidth(cursorRow) <=\n this.screen_.cursorPosition.column + count) {\n this.screen_.deleteChars(count);\n this.clearCursorOverflow();\n return;\n }\n }\n\n var cursor = this.saveCursor();\n this.screen_.overwriteString(lib.f.getWhitespace(count));\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase the current line.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseLine = function() {\n var cursor = this.saveCursor();\n this.screen_.clearCursorRow();\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase all characters from the start of the screen to the current cursor\n * position, regardless of scroll region.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseAbove = function() {\n var cursor = this.saveCursor();\n\n this.eraseToLeft();\n\n for (var i = 0; i < cursor.row; i++) {\n this.setAbsoluteCursorPosition(i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase all characters from the current cursor position to the end of the\n * screen, regardless of scroll region.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseBelow = function() {\n var cursor = this.saveCursor();\n\n this.eraseToRight();\n\n var bottom = this.screenSize.height - 1;\n for (var i = cursor.row + 1; i <= bottom; i++) {\n this.setAbsoluteCursorPosition(i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Fill the terminal with a given character.\n *\n * This methods does not respect the VT scroll region.\n *\n * @param {string} ch The character to use for the fill.\n */\nhterm.Terminal.prototype.fill = function(ch) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorPosition(0, 0);\n for (var row = 0; row < this.screenSize.height; row++) {\n for (var col = 0; col < this.screenSize.width; col++) {\n this.setAbsoluteCursorPosition(row, col);\n this.screen_.overwriteString(ch);\n }\n }\n\n this.restoreCursor(cursor);\n};\n\n/**\n * Erase the entire display and leave the cursor at (0, 0).\n *\n * This does not respect the scroll region.\n *\n * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults\n * to the current screen.\n */\nhterm.Terminal.prototype.clearHome = function(opt_screen) {\n var screen = opt_screen || this.screen_;\n var bottom = screen.getHeight();\n\n if (bottom == 0) {\n // Empty screen, nothing to do.\n return;\n }\n\n for (var i = 0; i < bottom; i++) {\n screen.setCursorPosition(i, 0);\n screen.clearCursorRow();\n }\n\n screen.setCursorPosition(0, 0);\n};\n\n/**\n * Erase the entire display without changing the cursor position.\n *\n * The cursor position is unchanged. This does not respect the scroll\n * region.\n *\n * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults\n * to the current screen.\n */\nhterm.Terminal.prototype.clear = function(opt_screen) {\n var screen = opt_screen || this.screen_;\n var cursor = screen.cursorPosition.clone();\n this.clearHome(screen);\n screen.setCursorPosition(cursor.row, cursor.column);\n};\n\n/**\n * VT command to insert lines at the current cursor row.\n *\n * This respects the current scroll region. Rows pushed off the bottom are\n * lost (they won't show up in the scrollback buffer).\n *\n * @param {integer} count The number of lines to insert.\n */\nhterm.Terminal.prototype.insertLines = function(count) {\n var cursorRow = this.screen_.cursorPosition.row;\n\n var bottom = this.getVTScrollBottom();\n count = Math.min(count, bottom - cursorRow);\n\n // The moveCount is the number of rows we need to relocate to make room for\n // the new row(s). The count is the distance to move them.\n var moveCount = bottom - cursorRow - count + 1;\n if (moveCount)\n this.moveRows_(cursorRow, moveCount, cursorRow + count);\n\n for (var i = count - 1; i >= 0; i--) {\n this.setAbsoluteCursorPosition(cursorRow + i, 0);\n this.screen_.clearCursorRow();\n }\n};\n\n/**\n * VT command to delete lines at the current cursor row.\n *\n * New rows are added to the bottom of scroll region to take their place. New\n * rows are strictly there to take up space and have no content or style.\n *\n * @param {number} count The number of lines to delete.\n */\nhterm.Terminal.prototype.deleteLines = function(count) {\n var cursor = this.saveCursor();\n\n var top = cursor.row;\n var bottom = this.getVTScrollBottom();\n\n var maxCount = bottom - top + 1;\n count = Math.min(count, maxCount);\n\n var moveStart = bottom - count + 1;\n if (count != maxCount)\n this.moveRows_(top, count, moveStart);\n\n for (var i = 0; i < count; i++) {\n this.setAbsoluteCursorPosition(moveStart + i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Inserts the given number of spaces at the current cursor position.\n *\n * The cursor position is not changed.\n *\n * @param {number} count The number of spaces to insert.\n */\nhterm.Terminal.prototype.insertSpace = function(count) {\n var cursor = this.saveCursor();\n\n var ws = lib.f.getWhitespace(count || 1);\n this.screen_.insertString(ws);\n this.screen_.maybeClipCurrentRow();\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Forward-delete the specified number of characters starting at the cursor\n * position.\n *\n * @param {integer} count The number of characters to delete.\n */\nhterm.Terminal.prototype.deleteChars = function(count) {\n var deleted = this.screen_.deleteChars(count);\n if (deleted && !this.screen_.textAttributes.isDefault()) {\n var cursor = this.saveCursor();\n this.setCursorColumn(this.screenSize.width - deleted);\n this.screen_.insertString(lib.f.getWhitespace(deleted));\n this.restoreCursor(cursor);\n }\n\n this.clearCursorOverflow();\n};\n\n/**\n * Shift rows in the scroll region upwards by a given number of lines.\n *\n * New rows are inserted at the bottom of the scroll region to fill the\n * vacated rows. The new rows not filled out with the current text attributes.\n *\n * This function does not affect the scrollback rows at all. Rows shifted\n * off the top are lost.\n *\n * The cursor position is not altered.\n *\n * @param {integer} count The number of rows to scroll.\n */\nhterm.Terminal.prototype.vtScrollUp = function(count) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorRow(this.getVTScrollTop());\n this.deleteLines(count);\n\n this.restoreCursor(cursor);\n};\n\n/**\n * Shift rows below the cursor down by a given number of lines.\n *\n * This function respects the current scroll region.\n *\n * New rows are inserted at the top of the scroll region to fill the\n * vacated rows. The new rows not filled out with the current text attributes.\n *\n * This function does not affect the scrollback rows at all. Rows shifted\n * off the bottom are lost.\n *\n * @param {integer} count The number of rows to scroll.\n */\nhterm.Terminal.prototype.vtScrollDown = function(opt_count) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorPosition(this.getVTScrollTop(), 0);\n this.insertLines(opt_count);\n\n this.restoreCursor(cursor);\n};\n\n\n/**\n * Set the cursor position.\n *\n * The cursor row is relative to the scroll region if the terminal has\n * 'origin mode' enabled, or relative to the addressable screen otherwise.\n *\n * @param {integer} row The new zero-based cursor row.\n * @param {integer} row The new zero-based cursor column.\n */\nhterm.Terminal.prototype.setCursorPosition = function(row, column) {\n if (this.options_.originMode) {\n this.setRelativeCursorPosition(row, column);\n } else {\n this.setAbsoluteCursorPosition(row, column);\n }\n};\n\n/**\n * Move the cursor relative to its current position.\n *\n * @param {number} row\n * @param {number} column\n */\nhterm.Terminal.prototype.setRelativeCursorPosition = function(row, column) {\n var scrollTop = this.getVTScrollTop();\n row = lib.f.clamp(row + scrollTop, scrollTop, this.getVTScrollBottom());\n column = lib.f.clamp(column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n};\n\n/**\n * Move the cursor to the specified position.\n *\n * @param {number} row\n * @param {number} column\n */\nhterm.Terminal.prototype.setAbsoluteCursorPosition = function(row, column) {\n row = lib.f.clamp(row, 0, this.screenSize.height - 1);\n column = lib.f.clamp(column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n};\n\n/**\n * Set the cursor column.\n *\n * @param {integer} column The new zero-based cursor column.\n */\nhterm.Terminal.prototype.setCursorColumn = function(column) {\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, column);\n};\n\n/**\n * Return the cursor column.\n *\n * @return {integer} The zero-based cursor column.\n */\nhterm.Terminal.prototype.getCursorColumn = function() {\n return this.screen_.cursorPosition.column;\n};\n\n/**\n * Set the cursor row.\n *\n * The cursor row is relative to the scroll region if the terminal has\n * 'origin mode' enabled, or relative to the addressable screen otherwise.\n *\n * @param {integer} row The new cursor row.\n */\nhterm.Terminal.prototype.setAbsoluteCursorRow = function(row) {\n this.setAbsoluteCursorPosition(row, this.screen_.cursorPosition.column);\n};\n\n/**\n * Return the cursor row.\n *\n * @return {integer} The zero-based cursor row.\n */\nhterm.Terminal.prototype.getCursorRow = function() {\n return this.screen_.cursorPosition.row;\n};\n\n/**\n * Request that the ScrollPort redraw itself soon.\n *\n * The redraw will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single redraw.\n */\nhterm.Terminal.prototype.scheduleRedraw_ = function() {\n if (this.timeouts_.redraw)\n return;\n\n var self = this;\n this.timeouts_.redraw = setTimeout(function() {\n delete self.timeouts_.redraw;\n self.scrollPort_.redraw_();\n }, 0);\n};\n\n/**\n * Request that the ScrollPort be scrolled to the bottom.\n *\n * The scroll will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single scroll.\n *\n * This affects the scrollbar position of the ScrollPort, and has nothing to\n * do with the VT scroll commands.\n */\nhterm.Terminal.prototype.scheduleScrollDown_ = function() {\n if (this.timeouts_.scrollDown)\n return;\n\n var self = this;\n this.timeouts_.scrollDown = setTimeout(function() {\n delete self.timeouts_.scrollDown;\n self.scrollPort_.scrollRowToBottom(self.getRowCount());\n }, 10);\n};\n\n/**\n * Move the cursor up a specified number of rows.\n *\n * @param {integer} count The number of rows to move the cursor.\n */\nhterm.Terminal.prototype.cursorUp = function(count) {\n return this.cursorDown(-(count || 1));\n};\n\n/**\n * Move the cursor down a specified number of rows.\n *\n * @param {integer} count The number of rows to move the cursor.\n */\nhterm.Terminal.prototype.cursorDown = function(count) {\n count = count || 1;\n var minHeight = (this.options_.originMode ? this.getVTScrollTop() : 0);\n var maxHeight = (this.options_.originMode ? this.getVTScrollBottom() :\n this.screenSize.height - 1);\n\n var row = lib.f.clamp(this.screen_.cursorPosition.row + count,\n minHeight, maxHeight);\n this.setAbsoluteCursorRow(row);\n};\n\n/**\n * Move the cursor left a specified number of columns.\n *\n * If reverse wraparound mode is enabled and the previous row wrapped into\n * the current row then we back up through the wraparound as well.\n *\n * @param {integer} count The number of columns to move the cursor.\n */\nhterm.Terminal.prototype.cursorLeft = function(count) {\n count = count || 1;\n\n if (count < 1)\n return;\n\n var currentColumn = this.screen_.cursorPosition.column;\n if (this.options_.reverseWraparound) {\n if (this.screen_.cursorPosition.overflow) {\n // If this cursor is in the right margin, consume one count to get it\n // back to the last column. This only applies when we're in reverse\n // wraparound mode.\n count--;\n this.clearCursorOverflow();\n\n if (!count)\n return;\n }\n\n var newRow = this.screen_.cursorPosition.row;\n var newColumn = currentColumn - count;\n if (newColumn < 0) {\n newRow = newRow - Math.floor(count / this.screenSize.width) - 1;\n if (newRow < 0) {\n // xterm also wraps from row 0 to the last row.\n newRow = this.screenSize.height + newRow % this.screenSize.height;\n }\n newColumn = this.screenSize.width + newColumn % this.screenSize.width;\n }\n\n this.setCursorPosition(Math.max(newRow, 0), newColumn);\n\n } else {\n var newColumn = Math.max(currentColumn - count, 0);\n this.setCursorColumn(newColumn);\n }\n};\n\n/**\n * Move the cursor right a specified number of columns.\n *\n * @param {integer} count The number of columns to move the cursor.\n */\nhterm.Terminal.prototype.cursorRight = function(count) {\n count = count || 1;\n\n if (count < 1)\n return;\n\n var column = lib.f.clamp(this.screen_.cursorPosition.column + count,\n 0, this.screenSize.width - 1);\n this.setCursorColumn(column);\n};\n\n/**\n * Reverse the foreground and background colors of the terminal.\n *\n * This only affects text that was drawn with no attributes.\n *\n * TODO(rginda): Test xterm to see if reverse is respected for text that has\n * been drawn with attributes that happen to coincide with the default\n * 'no-attribute' colors. My guess is probably not.\n *\n * @param {boolean} state The state to set.\n */\nhterm.Terminal.prototype.setReverseVideo = function(state) {\n this.options_.reverseVideo = state;\n if (state) {\n this.scrollPort_.setForegroundColor(this.prefs_.get('background-color'));\n this.scrollPort_.setBackgroundColor(this.prefs_.get('foreground-color'));\n } else {\n this.scrollPort_.setForegroundColor(this.prefs_.get('foreground-color'));\n this.scrollPort_.setBackgroundColor(this.prefs_.get('background-color'));\n }\n};\n\n/**\n * Ring the terminal bell.\n *\n * This will not play the bell audio more than once per second.\n */\nhterm.Terminal.prototype.ringBell = function() {\n this.cursorNode_.style.backgroundColor =\n this.scrollPort_.getForegroundColor();\n\n var self = this;\n setTimeout(function() {\n self.cursorNode_.style.backgroundColor = self.prefs_.get('cursor-color');\n }, 200);\n\n // bellSquelchTimeout_ affects both audio and notification bells.\n if (this.bellSquelchTimeout_)\n return;\n\n if (this.bellAudio_.getAttribute('src')) {\n this.bellAudio_.play();\n this.bellSequelchTimeout_ = setTimeout(function() {\n delete this.bellSquelchTimeout_;\n }.bind(this), 500);\n } else {\n delete this.bellSquelchTimeout_;\n }\n\n if (this.desktopNotificationBell_ && !this.document_.hasFocus()) {\n var n = hterm.notify();\n this.bellNotificationList_.push(n);\n // TODO: Should we try to raise the window here?\n n.onclick = function() { self.closeBellNotifications_(); };\n }\n};\n\n/**\n * Set the origin mode bit.\n *\n * If origin mode is on, certain VT cursor and scrolling commands measure their\n * row parameter relative to the VT scroll region. Otherwise, row 0 corresponds\n * to the top of the addressable screen.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set origin mode, false to unset.\n */\nhterm.Terminal.prototype.setOriginMode = function(state) {\n this.options_.originMode = state;\n this.setCursorPosition(0, 0);\n};\n\n/**\n * Set the insert mode bit.\n *\n * If insert mode is on, existing text beyond the cursor position will be\n * shifted right to make room for new text. Otherwise, new text overwrites\n * any existing text.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set insert mode, false to unset.\n */\nhterm.Terminal.prototype.setInsertMode = function(state) {\n this.options_.insertMode = state;\n};\n\n/**\n * Set the auto carriage return bit.\n *\n * If auto carriage return is on then a formfeed character is interpreted\n * as a newline, otherwise it's the same as a linefeed. The difference boils\n * down to whether or not the cursor column is reset.\n *\n * @param {boolean} state The state to set.\n */\nhterm.Terminal.prototype.setAutoCarriageReturn = function(state) {\n this.options_.autoCarriageReturn = state;\n};\n\n/**\n * Set the wraparound mode bit.\n *\n * If wraparound mode is on, certain VT commands will allow the cursor to wrap\n * to the start of the following row. Otherwise, the cursor is clamped to the\n * end of the screen and attempts to write past it are ignored.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set wraparound mode, false to unset.\n */\nhterm.Terminal.prototype.setWraparound = function(state) {\n this.options_.wraparound = state;\n};\n\n/**\n * Set the reverse-wraparound mode bit.\n *\n * If wraparound mode is off, certain VT commands will allow the cursor to wrap\n * to the end of the previous row. Otherwise, the cursor is clamped to column\n * 0.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set reverse-wraparound mode, false to unset.\n */\nhterm.Terminal.prototype.setReverseWraparound = function(state) {\n this.options_.reverseWraparound = state;\n};\n\n/**\n * Selects between the primary and alternate screens.\n *\n * If alternate mode is on, the alternate screen is active. Otherwise the\n * primary screen is active.\n *\n * Swapping screens has no effect on the scrollback buffer.\n *\n * Each screen maintains its own cursor position.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set alternate mode, false to unset.\n */\nhterm.Terminal.prototype.setAlternateMode = function(state) {\n var cursor = this.saveCursor();\n this.screen_ = state ? this.alternateScreen_ : this.primaryScreen_;\n\n if (this.screen_.rowsArray.length &&\n this.screen_.rowsArray[0].rowIndex != this.scrollbackRows_.length) {\n // If the screen changed sizes while we were away, our rowIndexes may\n // be incorrect.\n var offset = this.scrollbackRows_.length;\n var ary = this.screen_.rowsArray;\n for (var i = 0; i < ary.length; i++) {\n ary[i].rowIndex = offset + i;\n }\n }\n\n this.realizeWidth_(this.screenSize.width);\n this.realizeHeight_(this.screenSize.height);\n this.scrollPort_.syncScrollHeight();\n this.scrollPort_.invalidate();\n\n this.restoreCursor(cursor);\n this.scrollPort_.resize();\n};\n\n/**\n * Set the cursor-blink mode bit.\n *\n * If cursor-blink is on, the cursor will blink when it is visible. Otherwise\n * a visible cursor does not blink.\n *\n * You should make sure to turn blinking off if you're going to dispose of a\n * terminal, otherwise you'll leak a timeout.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set cursor-blink mode, false to unset.\n */\nhterm.Terminal.prototype.setCursorBlink = function(state) {\n this.options_.cursorBlink = state;\n\n if (!state && this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n\n if (this.options_.cursorVisible)\n this.setCursorVisible(true);\n};\n\n/**\n * Set the cursor-visible mode bit.\n *\n * If cursor-visible is on, the cursor will be visible. Otherwise it will not.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set cursor-visible mode, false to unset.\n */\nhterm.Terminal.prototype.setCursorVisible = function(state) {\n this.options_.cursorVisible = state;\n\n if (!state) {\n if (this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n this.cursorNode_.style.opacity = '0';\n return;\n }\n\n this.syncCursorPosition_();\n\n this.cursorNode_.style.opacity = '1';\n\n if (this.options_.cursorBlink) {\n if (this.timeouts_.cursorBlink)\n return;\n\n this.onCursorBlink_();\n } else {\n if (this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n }\n};\n\n/**\n * Synchronizes the visible cursor and document selection with the current\n * cursor coordinates.\n */\nhterm.Terminal.prototype.syncCursorPosition_ = function() {\n var topRowIndex = this.scrollPort_.getTopRowIndex();\n var bottomRowIndex = this.scrollPort_.getBottomRowIndex(topRowIndex);\n var cursorRowIndex = this.scrollbackRows_.length +\n this.screen_.cursorPosition.row;\n\n if (cursorRowIndex > bottomRowIndex) {\n // Cursor is scrolled off screen, move it outside of the visible area.\n this.setCssVar('cursor-offset-row', '-1');\n return;\n }\n\n if (this.options_.cursorVisible &&\n this.cursorNode_.style.display == 'none') {\n // Re-display the terminal cursor if it was hidden by the mouse cursor.\n this.cursorNode_.style.display = '';\n }\n\n // Position the cursor using CSS variable math. If we do the math in JS,\n // the float math will end up being more precise than the CSS which will\n // cause the cursor tracking to be off.\n this.setCssVar(\n 'cursor-offset-row',\n `${cursorRowIndex - topRowIndex} + ` +\n `${this.scrollPort_.visibleRowTopMargin}px`);\n this.setCssVar('cursor-offset-col', this.screen_.cursorPosition.column);\n\n this.cursorNode_.setAttribute('title',\n '(' + this.screen_.cursorPosition.column +\n ', ' + this.screen_.cursorPosition.row +\n ')');\n\n // Update the caret for a11y purposes.\n var selection = this.document_.getSelection();\n if (selection && selection.isCollapsed)\n this.screen_.syncSelectionCaret(selection);\n};\n\n/**\n * Adjusts the style of this.cursorNode_ according to the current cursor shape\n * and character cell dimensions.\n */\nhterm.Terminal.prototype.restyleCursor_ = function() {\n var shape = this.cursorShape_;\n\n if (this.cursorNode_.getAttribute('focus') == 'false') {\n // Always show a block cursor when unfocused.\n shape = hterm.Terminal.cursorShape.BLOCK;\n }\n\n var style = this.cursorNode_.style;\n\n switch (shape) {\n case hterm.Terminal.cursorShape.BEAM:\n style.height = 'var(--hterm-charsize-height)';\n style.backgroundColor = 'transparent';\n style.borderBottomStyle = null;\n style.borderLeftStyle = 'solid';\n break;\n\n case hterm.Terminal.cursorShape.UNDERLINE:\n style.height = this.scrollPort_.characterSize.baseline + 'px';\n style.backgroundColor = 'transparent';\n style.borderBottomStyle = 'solid';\n // correct the size to put it exactly at the baseline\n style.borderLeftStyle = null;\n break;\n\n default:\n style.height = 'var(--hterm-charsize-height)';\n style.backgroundColor = this.cursorColor_;\n style.borderBottomStyle = null;\n style.borderLeftStyle = null;\n break;\n }\n};\n\n/**\n * Synchronizes the visible cursor with the current cursor coordinates.\n *\n * The sync will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single sync.\n */\nhterm.Terminal.prototype.scheduleSyncCursorPosition_ = function() {\n if (this.timeouts_.syncCursor)\n return;\n\n var self = this;\n this.timeouts_.syncCursor = setTimeout(function() {\n self.syncCursorPosition_();\n delete self.timeouts_.syncCursor;\n }, 0);\n};\n\n/**\n * Show or hide the zoom warning.\n *\n * The zoom warning is a message warning the user that their browser zoom must\n * be set to 100% in order for hterm to function properly.\n *\n * @param {boolean} state True to show the message, false to hide it.\n */\nhterm.Terminal.prototype.showZoomWarning_ = function(state) {\n if (!this.zoomWarningNode_) {\n if (!state)\n return;\n\n this.zoomWarningNode_ = this.document_.createElement('div');\n this.zoomWarningNode_.id = 'hterm:zoom-warning';\n this.zoomWarningNode_.style.cssText = (\n 'color: black;' +\n 'background-color: #ff2222;' +\n 'font-size: large;' +\n 'border-radius: 8px;' +\n 'opacity: 0.75;' +\n 'padding: 0.2em 0.5em 0.2em 0.5em;' +\n 'top: 0.5em;' +\n 'right: 1.2em;' +\n 'position: absolute;' +\n '-webkit-text-size-adjust: none;' +\n '-webkit-user-select: none;' +\n '-moz-text-size-adjust: none;' +\n '-moz-user-select: none;');\n\n this.zoomWarningNode_.addEventListener('click', function(e) {\n this.parentNode.removeChild(this);\n });\n }\n\n this.zoomWarningNode_.textContent = lib.MessageManager.replaceReferences(\n hterm.zoomWarningMessage,\n [parseInt(this.scrollPort_.characterSize.zoomFactor * 100)]);\n\n this.zoomWarningNode_.style.fontFamily = this.prefs_.get('font-family');\n\n if (state) {\n if (!this.zoomWarningNode_.parentNode)\n this.div_.parentNode.appendChild(this.zoomWarningNode_);\n } else if (this.zoomWarningNode_.parentNode) {\n this.zoomWarningNode_.parentNode.removeChild(this.zoomWarningNode_);\n }\n};\n\n/**\n * Show the terminal overlay for a given amount of time.\n *\n * The terminal overlay appears in inverse video in a large font, centered\n * over the terminal. You should probably keep the overlay message brief,\n * since it's in a large font and you probably aren't going to check the size\n * of the terminal first.\n *\n * @param {string} msg The text (not HTML) message to display in the overlay.\n * @param {number} opt_timeout The amount of time to wait before fading out\n * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay\n * stay up forever (or until the next overlay).\n */\nhterm.Terminal.prototype.showOverlay = function(msg, opt_timeout) {\n if (!this.overlayNode_) {\n if (!this.div_)\n return;\n\n this.overlayNode_ = this.document_.createElement('div');\n this.overlayNode_.style.cssText = (\n 'border-radius: 15px;' +\n 'font-size: xx-large;' +\n 'opacity: 0.75;' +\n 'padding: 0.2em 0.5em 0.2em 0.5em;' +\n 'position: absolute;' +\n '-webkit-user-select: none;' +\n '-webkit-transition: opacity 180ms ease-in;' +\n '-moz-user-select: none;' +\n '-moz-transition: opacity 180ms ease-in;');\n\n this.overlayNode_.addEventListener('mousedown', function(e) {\n e.preventDefault();\n e.stopPropagation();\n }, true);\n }\n\n this.overlayNode_.style.color = this.prefs_.get('background-color');\n this.overlayNode_.style.backgroundColor = this.prefs_.get('foreground-color');\n this.overlayNode_.style.fontFamily = this.prefs_.get('font-family');\n\n this.overlayNode_.textContent = msg;\n this.overlayNode_.style.opacity = '0.75';\n\n if (!this.overlayNode_.parentNode)\n this.div_.appendChild(this.overlayNode_);\n\n var divSize = hterm.getClientSize(this.div_);\n var overlaySize = hterm.getClientSize(this.overlayNode_);\n\n this.overlayNode_.style.top =\n (divSize.height - overlaySize.height) / 2 + 'px';\n this.overlayNode_.style.left = (divSize.width - overlaySize.width -\n this.scrollPort_.currentScrollbarWidthPx) / 2 + 'px';\n\n var self = this;\n\n if (this.overlayTimeout_)\n clearTimeout(this.overlayTimeout_);\n\n if (opt_timeout === null)\n return;\n\n this.overlayTimeout_ = setTimeout(function() {\n self.overlayNode_.style.opacity = '0';\n self.overlayTimeout_ = setTimeout(function() {\n if (self.overlayNode_.parentNode)\n self.overlayNode_.parentNode.removeChild(self.overlayNode_);\n self.overlayTimeout_ = null;\n self.overlayNode_.style.opacity = '0.75';\n }, 200);\n }, opt_timeout || 1500);\n};\n\n/**\n * Paste from the system clipboard to the terminal.\n */\nhterm.Terminal.prototype.paste = function() {\n return hterm.pasteFromClipboard(this.document_);\n};\n\n/**\n * Copy a string to the system clipboard.\n *\n * Note: If there is a selected range in the terminal, it'll be cleared.\n *\n * @param {string} str The string to copy.\n */\nhterm.Terminal.prototype.copyStringToClipboard = function(str) {\n if (this.prefs_.get('enable-clipboard-notice'))\n setTimeout(this.showOverlay.bind(this, hterm.notifyCopyMessage, 500), 200);\n\n var copySource = this.document_.createElement('pre');\n copySource.id = 'hterm:copy-to-clipboard-source';\n copySource.textContent = str;\n copySource.style.cssText = (\n '-webkit-user-select: text;' +\n '-moz-user-select: text;' +\n 'position: absolute;' +\n 'top: -99px');\n\n this.document_.body.appendChild(copySource);\n\n var selection = this.document_.getSelection();\n var anchorNode = selection.anchorNode;\n var anchorOffset = selection.anchorOffset;\n var focusNode = selection.focusNode;\n var focusOffset = selection.focusOffset;\n\n selection.selectAllChildren(copySource);\n\n hterm.copySelectionToClipboard(this.document_);\n\n // IE doesn't support selection.extend. This means that the selection\n // won't return on IE.\n if (selection.extend) {\n selection.collapse(anchorNode, anchorOffset);\n selection.extend(focusNode, focusOffset);\n }\n\n copySource.parentNode.removeChild(copySource);\n};\n\n/**\n * Returns the selected text, or null if no text is selected.\n *\n * @return {string|null}\n */\nhterm.Terminal.prototype.getSelectionText = function() {\n var selection = this.scrollPort_.selection;\n selection.sync();\n\n if (selection.isCollapsed)\n return null;\n\n\n // Start offset measures from the beginning of the line.\n var startOffset = selection.startOffset;\n var node = selection.startNode;\n\n if (node.nodeName != 'X-ROW') {\n // If the selection doesn't start on an x-row node, then it must be\n // somewhere inside the x-row. Add any characters from previous siblings\n // into the start offset.\n\n if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') {\n // If node is the text node in a styled span, move up to the span node.\n node = node.parentNode;\n }\n\n while (node.previousSibling) {\n node = node.previousSibling;\n startOffset += hterm.TextAttributes.nodeWidth(node);\n }\n }\n\n // End offset measures from the end of the line.\n var endOffset = (hterm.TextAttributes.nodeWidth(selection.endNode) -\n selection.endOffset);\n node = selection.endNode;\n\n if (node.nodeName != 'X-ROW') {\n // If the selection doesn't end on an x-row node, then it must be\n // somewhere inside the x-row. Add any characters from following siblings\n // into the end offset.\n\n if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') {\n // If node is the text node in a styled span, move up to the span node.\n node = node.parentNode;\n }\n\n while (node.nextSibling) {\n node = node.nextSibling;\n endOffset += hterm.TextAttributes.nodeWidth(node);\n }\n }\n\n var rv = this.getRowsText(selection.startRow.rowIndex,\n selection.endRow.rowIndex + 1);\n return lib.wc.substring(rv, startOffset, lib.wc.strWidth(rv) - endOffset);\n};\n\n/**\n * Copy the current selection to the system clipboard, then clear it after a\n * short delay.\n */\nhterm.Terminal.prototype.copySelectionToClipboard = function() {\n var text = this.getSelectionText();\n if (text != null)\n this.copyStringToClipboard(text);\n};\n\nhterm.Terminal.prototype.overlaySize = function() {\n this.showOverlay(this.screenSize.width + 'x' + this.screenSize.height);\n};\n\n/**\n * Invoked by hterm.Terminal.Keyboard when a VT keystroke is detected.\n *\n * @param {string} string The VT string representing the keystroke, in UTF-16.\n */\nhterm.Terminal.prototype.onVTKeystroke = function(string) {\n if (this.scrollOnKeystroke_)\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n\n this.io.onVTKeystroke(this.keyboard.encode(string));\n};\n\n/**\n * Launches url in a new tab.\n *\n * @param {string} url URL to launch in a new tab.\n */\nhterm.Terminal.prototype.openUrl = function(url) {\n if (window.chrome && window.chrome.browser) {\n // For Chrome v2 apps, we need to use this API to properly open windows.\n chrome.browser.openTab({'url': url});\n } else {\n var win = window.open(url, '_blank');\n win.focus();\n }\n}\n\n/**\n * Open the selected url.\n */\nhterm.Terminal.prototype.openSelectedUrl_ = function() {\n var str = this.getSelectionText();\n\n // If there is no selection, try and expand wherever they clicked.\n if (str == null) {\n this.screen_.expandSelection(this.document_.getSelection());\n str = this.getSelectionText();\n\n // If clicking in empty space, return.\n if (str == null)\n return;\n }\n\n // Make sure URL is valid before opening.\n if (str.length > 2048 || str.search(/[\\s\\[\\](){}<>\"'\\\\^`]/) >= 0)\n return;\n\n // If the URI isn't anchored, it'll open relative to the extension.\n // We have no way of knowing the correct schema, so assume http.\n if (str.search('^[a-zA-Z][a-zA-Z0-9+.-]*://') < 0) {\n // We have to whitelist a few protocols that lack authorities and thus\n // never use the //. Like mailto.\n switch (str.split(':', 1)[0]) {\n case 'mailto':\n break;\n default:\n str = 'http://' + str;\n break;\n }\n }\n\n this.openUrl(str);\n}\n\n\n/**\n * Add the terminalRow and terminalColumn properties to mouse events and\n * then forward on to onMouse().\n *\n * The terminalRow and terminalColumn properties contain the (row, column)\n * coordinates for the mouse event.\n *\n * @param {Event} e The mouse event to handle.\n */\nhterm.Terminal.prototype.onMouse_ = function(e) {\n if (e.processedByTerminalHandler_) {\n // We register our event handlers on the document, as well as the cursor\n // and the scroll blocker. Mouse events that occur on the cursor or\n // scroll blocker will also appear on the document, but we don't want to\n // process them twice.\n //\n // We can't just prevent bubbling because that has other side effects, so\n // we decorate the event object with this property instead.\n return;\n }\n\n var reportMouseEvents = (!this.defeatMouseReports_ &&\n this.vt.mouseReport != this.vt.MOUSE_REPORT_DISABLED);\n\n e.processedByTerminalHandler_ = true;\n\n // One based row/column stored on the mouse event.\n e.terminalRow = parseInt((e.clientY - this.scrollPort_.visibleRowTopMargin) /\n this.scrollPort_.characterSize.height) + 1;\n e.terminalColumn = parseInt(e.clientX /\n this.scrollPort_.characterSize.width) + 1;\n\n if (e.type == 'mousedown' && e.terminalColumn > this.screenSize.width) {\n // Mousedown in the scrollbar area.\n return;\n }\n\n if (this.options_.cursorVisible && !reportMouseEvents) {\n // If the cursor is visible and we're not sending mouse events to the\n // host app, then we want to hide the terminal cursor when the mouse\n // cursor is over top. This keeps the terminal cursor from interfering\n // with local text selection.\n if (e.terminalRow - 1 == this.screen_.cursorPosition.row &&\n e.terminalColumn - 1 == this.screen_.cursorPosition.column) {\n this.cursorNode_.style.display = 'none';\n } else if (this.cursorNode_.style.display == 'none') {\n this.cursorNode_.style.display = '';\n }\n }\n\n if (e.type == 'mousedown') {\n if (e.altKey || !reportMouseEvents) {\n // If VT mouse reporting is disabled, or has been defeated with\n // alt-mousedown, then the mouse will act on the local selection.\n this.defeatMouseReports_ = true;\n this.setSelectionEnabled(true);\n } else {\n // Otherwise we defer ownership of the mouse to the VT.\n this.defeatMouseReports_ = false;\n this.document_.getSelection().collapseToEnd();\n this.setSelectionEnabled(false);\n e.preventDefault();\n }\n }\n\n if (!reportMouseEvents) {\n if (e.type == 'dblclick' && this.copyOnSelect) {\n this.screen_.expandSelection(this.document_.getSelection());\n this.copySelectionToClipboard(this.document_);\n }\n\n if (e.type == 'click' && !e.shiftKey && (e.ctrlKey || e.metaKey)) {\n // Debounce this event with the dblclick event. If you try to doubleclick\n // a URL to open it, Chrome will fire click then dblclick, but we won't\n // have expanded the selection text at the first click event.\n clearTimeout(this.timeouts_.openUrl);\n this.timeouts_.openUrl = setTimeout(this.openSelectedUrl_.bind(this),\n 500);\n return;\n }\n\n if (e.type == 'mousedown') {\n if ((this.mouseRightClickPaste && e.button == 2 /* right button */) ||\n e.button == this.mousePasteButton) {\n if (!this.paste())\n console.warning('Could not paste manually due to web restrictions');;\n }\n }\n\n if (e.type == 'mouseup' && e.button == 0 && this.copyOnSelect &&\n !this.document_.getSelection().isCollapsed) {\n this.copySelectionToClipboard(this.document_);\n }\n\n if ((e.type == 'mousemove' || e.type == 'mouseup') &&\n this.scrollBlockerNode_.engaged) {\n // Disengage the scroll-blocker after one of these events.\n this.scrollBlockerNode_.engaged = false;\n this.scrollBlockerNode_.style.top = '-99px';\n }\n\n // Emulate arrow key presses via scroll wheel events.\n if (this.scrollWheelArrowKeys_ && !e.shiftKey &&\n this.keyboard.applicationCursor && !this.isPrimaryScreen()) {\n if (e.type == 'wheel') {\n var delta = this.scrollPort_.scrollWheelDelta(e);\n var lines = lib.f.smartFloorDivide(\n Math.abs(delta), this.scrollPort_.characterSize.height);\n\n var data = '\\x1bO' + (delta < 0 ? 'B' : 'A');\n this.io.sendString(data.repeat(lines));\n\n e.preventDefault();\n }\n }\n } else /* if (this.reportMouseEvents) */ {\n if (!this.scrollBlockerNode_.engaged) {\n if (e.type == 'mousedown') {\n // Move the scroll-blocker into place if we want to keep the scrollport\n // from scrolling.\n this.scrollBlockerNode_.engaged = true;\n this.scrollBlockerNode_.style.top = (e.clientY - 5) + 'px';\n this.scrollBlockerNode_.style.left = (e.clientX - 5) + 'px';\n } else if (e.type == 'mousemove') {\n // Oh. This means that drag-scroll was disabled AFTER the mouse down,\n // in which case it's too late to engage the scroll-blocker.\n this.document_.getSelection().collapseToEnd();\n e.preventDefault();\n }\n }\n\n this.onMouse(e);\n }\n\n if (e.type == 'mouseup' && this.document_.getSelection().isCollapsed) {\n // Restore this on mouseup in case it was temporarily defeated with a\n // alt-mousedown. Only do this when the selection is empty so that\n // we don't immediately kill the users selection.\n this.defeatMouseReports_ = false;\n }\n};\n\n/**\n * Clients should override this if they care to know about mouse events.\n *\n * The event parameter will be a normal DOM mouse click event with additional\n * 'terminalRow' and 'terminalColumn' properties.\n *\n * @param {Event} e The mouse event to handle.\n */\nhterm.Terminal.prototype.onMouse = function(e) { };\n\n/**\n * React when focus changes.\n *\n * @param {boolean} focused True if focused, false otherwise.\n */\nhterm.Terminal.prototype.onFocusChange_ = function(focused) {\n this.cursorNode_.setAttribute('focus', focused);\n this.restyleCursor_();\n if (focused === true)\n this.closeBellNotifications_();\n};\n\n/**\n * React when the ScrollPort is scrolled.\n */\nhterm.Terminal.prototype.onScroll_ = function() {\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * React when text is pasted into the scrollPort.\n *\n * @param {Event} e The DOM paste event to handle.\n */\nhterm.Terminal.prototype.onPaste_ = function(e) {\n var data = e.text.replace(/\\n/mg, '\\r');\n data = this.keyboard.encode(data);\n if (this.options_.bracketedPaste)\n data = '\\x1b[200~' + data + '\\x1b[201~';\n\n this.io.sendString(data);\n};\n\n/**\n * React when the user tries to copy from the scrollPort.\n *\n * @param {Event} e The DOM copy event.\n */\nhterm.Terminal.prototype.onCopy_ = function(e) {\n if (!this.useDefaultWindowCopy) {\n e.preventDefault();\n setTimeout(this.copySelectionToClipboard.bind(this), 0);\n }\n};\n\n/**\n * React when the ScrollPort is resized.\n *\n * Note: This function should not directly contain code that alters the internal\n * state of the terminal. That kind of code belongs in realizeWidth or\n * realizeHeight, so that it can be executed synchronously in the case of a\n * programmatic width change.\n */\nhterm.Terminal.prototype.onResize_ = function() {\n var columnCount = Math.floor(this.scrollPort_.getScreenWidth() /\n this.scrollPort_.characterSize.width) || 0;\n var rowCount = lib.f.smartFloorDivide(this.scrollPort_.getScreenHeight(),\n this.scrollPort_.characterSize.height) || 0;\n\n if (columnCount <= 0 || rowCount <= 0) {\n // We avoid these situations since they happen sometimes when the terminal\n // gets removed from the document or during the initial load, and we can't\n // deal with that.\n // This can also happen if called before the scrollPort calculates the\n // character size, meaning we dived by 0 above and default to 0 values.\n return;\n }\n\n var isNewSize = (columnCount != this.screenSize.width ||\n rowCount != this.screenSize.height);\n\n // We do this even if the size didn't change, just to be sure everything is\n // in sync.\n this.realizeSize_(columnCount, rowCount);\n this.showZoomWarning_(this.scrollPort_.characterSize.zoomFactor != 1);\n\n if (isNewSize)\n this.overlaySize();\n\n this.restyleCursor_();\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Service the cursor blink timeout.\n */\nhterm.Terminal.prototype.onCursorBlink_ = function() {\n if (!this.options_.cursorBlink) {\n delete this.timeouts_.cursorBlink;\n return;\n }\n\n if (this.cursorNode_.getAttribute('focus') == 'false' ||\n this.cursorNode_.style.opacity == '0') {\n this.cursorNode_.style.opacity = '1';\n this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_,\n this.cursorBlinkCycle_[0]);\n } else {\n this.cursorNode_.style.opacity = '0';\n this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_,\n this.cursorBlinkCycle_[1]);\n }\n};\n\n/**\n * Set the scrollbar-visible mode bit.\n *\n * If scrollbar-visible is on, the vertical scrollbar will be visible.\n * Otherwise it will not.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set scrollbar-visible mode, false to unset.\n */\nhterm.Terminal.prototype.setScrollbarVisible = function(state) {\n this.scrollPort_.setScrollbarVisible(state);\n};\n\n/**\n * Set the scroll wheel move multiplier. This will affect how fast the page\n * scrolls on wheel events.\n *\n * Defaults to 1.\n *\n * @param {number} multiplier The multiplier to set.\n */\nhterm.Terminal.prototype.setScrollWheelMoveMultipler = function(multiplier) {\n this.scrollPort_.setScrollWheelMoveMultipler(multiplier);\n};\n\n/**\n * Close all web notifications created by terminal bells.\n */\nhterm.Terminal.prototype.closeBellNotifications_ = function() {\n this.bellNotificationList_.forEach(function(n) {\n n.close();\n });\n this.bellNotificationList_.length = 0;\n};\n// SOURCE FILE: hterm/js/hterm_terminal_io.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.encodeUTF8');\n\n/**\n * Input/Output interface used by commands to communicate with the terminal.\n *\n * Commands like `nassh` and `crosh` receive an instance of this class as\n * part of their argv object. This allows them to write to and read from the\n * terminal without exposing them to an entire hterm.Terminal instance.\n *\n * The active command must override the onVTKeystroke() and sendString() methods\n * of this class in order to receive keystrokes and send output to the correct\n * destination.\n *\n * Isolating commands from the terminal provides the following benefits:\n * - Provides a mechanism to save and restore onVTKeystroke and sendString\n * handlers when invoking subcommands (see the push() and pop() methods).\n * - The isolation makes it easier to make changes in Terminal and supporting\n * classes without affecting commands.\n * - In The Future commands may run in web workers where they would only be able\n * to talk to a Terminal instance through an IPC mechanism.\n *\n * @param {hterm.Terminal}\n */\nhterm.Terminal.IO = function(terminal) {\n this.terminal_ = terminal;\n\n // The IO object to restore on IO.pop().\n this.previousIO_ = null;\n};\n\n/**\n * Show the terminal overlay for a given amount of time.\n *\n * The terminal overlay appears in inverse video in a large font, centered\n * over the terminal. You should probably keep the overlay message brief,\n * since it's in a large font and you probably aren't going to check the size\n * of the terminal first.\n *\n * @param {string} msg The text (not HTML) message to display in the overlay.\n * @param {number} opt_timeout The amount of time to wait before fading out\n * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay\n * stay up forever (or until the next overlay).\n */\nhterm.Terminal.IO.prototype.showOverlay = function(message, opt_timeout) {\n this.terminal_.showOverlay(message, opt_timeout);\n};\n\n/**\n * Open an frame in the current terminal window, pointed to the specified\n * url.\n *\n * Eventually we'll probably need size/position/decoration options.\n * The user should also be able to move/resize the frame.\n *\n * @param {string} url The URL to load in the frame.\n * @param {Object} opt_options Optional frame options. Not implemented.\n */\nhterm.Terminal.IO.prototype.createFrame = function(url, opt_options) {\n return new hterm.Frame(this.terminal_, url, opt_options);\n};\n\n/**\n * Change the preference profile for the terminal.\n *\n * @param profileName {string} The name of the preference profile to activate.\n */\nhterm.Terminal.IO.prototype.setTerminalProfile = function(profileName) {\n this.terminal_.setProfile(profileName);\n};\n\n/**\n * Create a new hterm.Terminal.IO instance and make it active on the Terminal\n * object associated with this instance.\n *\n * This is used to pass control of the terminal IO off to a subcommand. The\n * IO.pop() method can be used to restore control when the subcommand completes.\n */\nhterm.Terminal.IO.prototype.push = function() {\n var io = new hterm.Terminal.IO(this.terminal_);\n io.keyboardCaptured_ = this.keyboardCaptured_;\n\n io.columnCount = this.columnCount;\n io.rowCount = this.rowCount;\n\n io.previousIO_ = this.terminal_.io;\n this.terminal_.io = io;\n\n return io;\n};\n\n/**\n * Restore the Terminal's previous IO object.\n */\nhterm.Terminal.IO.prototype.pop = function() {\n this.terminal_.io = this.previousIO_;\n};\n\n/**\n * Called when data needs to be sent to the current command.\n *\n * Clients should override this to receive notification of pending data.\n *\n * @param {string} string The data to send.\n */\nhterm.Terminal.IO.prototype.sendString = function(string) {\n // Override this.\n console.log('Unhandled sendString: ' + string);\n};\n\n/**\n * Called when a terminal keystroke is detected.\n *\n * Clients should override this to receive notification of keystrokes.\n *\n * The keystroke data will be encoded according to the 'send-encoding'\n * preference.\n *\n * @param {string} string The VT key sequence.\n */\nhterm.Terminal.IO.prototype.onVTKeystroke = function(string) {\n // Override this.\n console.log('Unobserverd VT keystroke: ' + JSON.stringify(string));\n};\n\nhterm.Terminal.IO.prototype.onTerminalResize_ = function(width, height) {\n var obj = this;\n while (obj) {\n obj.columnCount = width;\n obj.rowCount = height;\n obj = obj.previousIO_;\n }\n\n this.onTerminalResize(width, height);\n};\n\n/**\n * Called when terminal size is changed.\n *\n * Clients should override this to receive notification of resize.\n *\n * @param {string|integer} terminal width.\n * @param {string|integer} terminal height.\n */\nhterm.Terminal.IO.prototype.onTerminalResize = function(width, height) {\n // Override this.\n};\n\n/**\n * Write a UTF-8 encoded byte string to the terminal.\n *\n * @param {string} string The UTF-8 encoded string to print.\n */\nhterm.Terminal.IO.prototype.writeUTF8 = function(string) {\n if (this.terminal_.io != this)\n throw 'Attempt to print from inactive IO object.';\n\n this.terminal_.interpret(string);\n};\n\n/**\n * Write a UTF-8 encoded byte string to the terminal followed by crlf.\n *\n * @param {string} string The UTF-8 encoded string to print.\n */\nhterm.Terminal.IO.prototype.writelnUTF8 = function(string) {\n if (this.terminal_.io != this)\n throw 'Attempt to print from inactive IO object.';\n\n this.terminal_.interpret(string + '\\r\\n');\n};\n\n/**\n * Write a UTF-16 JavaScript string to the terminal.\n *\n * @param {string} string The string to print.\n */\nhterm.Terminal.IO.prototype.print =\nhterm.Terminal.IO.prototype.writeUTF16 = function(string) {\n this.writeUTF8(lib.encodeUTF8(string));\n};\n\n/**\n * Print a UTF-16 JavaScript string to the terminal followed by a newline.\n *\n * @param {string} string The string to print.\n */\nhterm.Terminal.IO.prototype.println =\nhterm.Terminal.IO.prototype.writelnUTF16 = function(string) {\n this.writelnUTF8(lib.encodeUTF8(string));\n};\n// SOURCE FILE: hterm/js/hterm_text_attributes.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors');\n\n/**\n * Constructor for TextAttribute objects.\n *\n * These objects manage a set of text attributes such as foreground/\n * background color, bold, faint, italic, blink, underline, and strikethrough.\n *\n * TextAttribute instances can be used to construct a DOM container implementing\n * the current attributes, or to test an existing DOM container for\n * compatibility with the current attributes.\n *\n * @constructor\n * @param {HTMLDocument} document The parent document to use when creating\n * new DOM containers.\n */\nhterm.TextAttributes = function(document) {\n this.document_ = document;\n // These variables contain the source of the color as either:\n // SRC_DEFAULT (use context default)\n // SRC_RGB (specified in 'rgb( r, g, b)' form)\n // number (representing the index from color palette to use)\n this.foregroundSource = this.SRC_DEFAULT;\n this.backgroundSource = this.SRC_DEFAULT;\n\n // These properties cache the value in the color table, but foregroundSource\n // and backgroundSource contain the canonical values.\n this.foreground = this.DEFAULT_COLOR;\n this.background = this.DEFAULT_COLOR;\n\n this.defaultForeground = 'rgb(255, 255, 255)';\n this.defaultBackground = 'rgb(0, 0, 0)';\n\n this.bold = false;\n this.faint = false;\n this.italic = false;\n this.blink = false;\n this.underline = false;\n this.strikethrough = false;\n this.inverse = false;\n this.invisible = false;\n this.wcNode = false;\n this.asciiNode = true;\n this.tileData = null;\n\n this.colorPalette = null;\n this.resetColorPalette();\n};\n\n/**\n * If false, we ignore the bold attribute.\n *\n * This is used for fonts that have a bold version that is a different size\n * than the normal weight version.\n */\nhterm.TextAttributes.prototype.enableBold = true;\n\n/**\n * If true, use bright colors (if available) for bold text.\n *\n * This setting is independent of the enableBold setting.\n */\nhterm.TextAttributes.prototype.enableBoldAsBright = true;\n\n/**\n * A sentinel constant meaning \"whatever the default color is in this context\".\n */\nhterm.TextAttributes.prototype.DEFAULT_COLOR = lib.f.createEnum('');\n\n/**\n * A constant string used to specify that source color is context default.\n */\nhterm.TextAttributes.prototype.SRC_DEFAULT = 'default';\n\n\n/**\n * A constant string used to specify that the source of a color is a valid\n * rgb( r, g, b) specifier.\n */\nhterm.TextAttributes.prototype.SRC_RGB = 'rgb';\n\n/**\n * The document object which should own the DOM nodes created by this instance.\n *\n * @param {HTMLDocument} document The parent document.\n */\nhterm.TextAttributes.prototype.setDocument = function(document) {\n this.document_ = document;\n};\n\n/**\n * Create a deep copy of this object.\n *\n * @return {hterm.TextAttributes} A deep copy of this object.\n */\nhterm.TextAttributes.prototype.clone = function() {\n var rv = new hterm.TextAttributes(null);\n\n for (var key in this) {\n rv[key] = this[key];\n }\n\n rv.colorPalette = this.colorPalette.concat();\n return rv;\n};\n\n/**\n * Reset the current set of attributes.\n *\n * This does not affect the palette. Use resetColorPalette() for that.\n * It also doesn't affect the tile data, it's not meant to.\n */\nhterm.TextAttributes.prototype.reset = function() {\n this.foregroundSource = this.SRC_DEFAULT;\n this.backgroundSource = this.SRC_DEFAULT;\n this.foreground = this.DEFAULT_COLOR;\n this.background = this.DEFAULT_COLOR;\n this.bold = false;\n this.faint = false;\n this.italic = false;\n this.blink = false;\n this.underline = false;\n this.strikethrough = false;\n this.inverse = false;\n this.invisible = false;\n this.wcNode = false;\n this.asciiNode = true;\n};\n\n/**\n * Reset the color palette to the default state.\n */\nhterm.TextAttributes.prototype.resetColorPalette = function() {\n this.colorPalette = lib.colors.colorPalette.concat();\n this.syncColors();\n};\n\n/**\n * Test if the current attributes describe unstyled text.\n *\n * @return {boolean} True if the current attributes describe unstyled text.\n */\nhterm.TextAttributes.prototype.isDefault = function() {\n return (this.foregroundSource == this.SRC_DEFAULT &&\n this.backgroundSource == this.SRC_DEFAULT &&\n !this.bold &&\n !this.faint &&\n !this.italic &&\n !this.blink &&\n !this.underline &&\n !this.strikethrough &&\n !this.inverse &&\n !this.invisible &&\n !this.wcNode &&\n this.asciiNode &&\n this.tileData == null);\n};\n\n/**\n * Create a DOM container (a span or a text node) with a style to match the\n * current set of attributes.\n *\n * This method will create a plain text node if the text is unstyled, or\n * an HTML span if the text is styled. Due to lack of monospace wide character\n * fonts on certain systems (e.g. Chrome OS), we need to put each wide character\n * in a span of CSS class '.wc-node' which has double column width.\n * Each vt_tiledata tile is also represented by a span with a single\n * character, with CSS classes '.tile' and '.tile_'.\n *\n * @param {string} opt_textContent Optional text content for the new container.\n * @return {HTMLNode} An HTML span or text nodes styled to match the current\n * attributes.\n */\nhterm.TextAttributes.prototype.createContainer = function(opt_textContent) {\n if (this.isDefault())\n return this.document_.createTextNode(opt_textContent);\n\n var span = this.document_.createElement('span');\n var style = span.style;\n var classes = [];\n\n if (this.foreground != this.DEFAULT_COLOR)\n style.color = this.foreground;\n\n if (this.background != this.DEFAULT_COLOR)\n style.backgroundColor = this.background;\n\n if (this.enableBold && this.bold)\n style.fontWeight = 'bold';\n\n if (this.faint)\n span.faint = true;\n\n if (this.italic)\n style.fontStyle = 'italic';\n\n if (this.blink) {\n classes.push('blink-node');\n span.blinkNode = true;\n }\n\n var textDecoration = '';\n if (this.underline) {\n textDecoration += ' underline';\n span.underline = true;\n }\n if (this.strikethrough) {\n textDecoration += ' line-through';\n span.strikethrough = true;\n }\n if (textDecoration) {\n style.textDecoration = textDecoration;\n }\n\n if (this.wcNode) {\n classes.push('wc-node');\n span.wcNode = true;\n span.asciiNode = false;\n }\n\n if (this.tileData != null) {\n classes.push('tile');\n classes.push('tile_' + this.tileData);\n span.tileNode = true;\n }\n\n if (opt_textContent)\n span.textContent = opt_textContent;\n\n if (classes.length)\n span.className = classes.join(' ');\n\n return span;\n};\n\n/**\n * Tests if the provided object (string, span or text node) has the same\n * style as this TextAttributes instance.\n *\n * This indicates that text with these attributes could be inserted directly\n * into the target DOM node.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj The object to test.\n * @return {boolean} True if the provided container has the same style as\n * this attributes instance.\n */\nhterm.TextAttributes.prototype.matchesContainer = function(obj) {\n if (typeof obj == 'string' || obj.nodeType == 3)\n return this.isDefault();\n\n var style = obj.style;\n\n // We don't want to put multiple characters in a wcNode or a tile.\n // See the comments in createContainer.\n return (!(this.wcNode || obj.wcNode) &&\n this.asciiNode == this.asciiNode &&\n !(this.tileData != null || obj.tileNode) &&\n this.foreground == style.color &&\n this.background == style.backgroundColor &&\n (this.enableBold && this.bold) == !!style.fontWeight &&\n this.blink == obj.blinkNode &&\n this.italic == !!style.fontStyle &&\n !!this.underline == !!obj.underline &&\n !!this.strikethrough == !!obj.strikethrough);\n};\n\nhterm.TextAttributes.prototype.setDefaults = function(foreground, background) {\n this.defaultForeground = foreground;\n this.defaultBackground = background;\n\n this.syncColors();\n};\n\n/**\n * Updates foreground and background properties based on current indices and\n * other state.\n *\n * @param {string} terminalForeground The terminal foreground color for use as\n * inverse text background.\n * @param {string} terminalBackground The terminal background color for use as\n * inverse text foreground.\n *\n */\nhterm.TextAttributes.prototype.syncColors = function() {\n function getBrightIndex(i) {\n if (i < 8) {\n // If the color is from the lower half of the ANSI 16, add 8.\n return i + 8;\n }\n\n // If it's not from the 16 color palette, ignore bold requests. This\n // matches the behavior of gnome-terminal.\n return i;\n }\n\n var foregroundSource = this.foregroundSource;\n var backgroundSource = this.backgroundSource;\n var defaultForeground = this.DEFAULT_COLOR;\n var defaultBackground = this.DEFAULT_COLOR;\n\n if (this.inverse) {\n foregroundSource = this.backgroundSource;\n backgroundSource = this.foregroundSource;\n // We can't inherit the container's color anymore.\n defaultForeground = this.defaultBackground;\n defaultBackground = this.defaultForeground;\n }\n\n if (this.enableBoldAsBright && this.bold) {\n if (foregroundSource != this.SRC_DEFAULT &&\n foregroundSource != this.SRC_RGB) {\n foregroundSource = getBrightIndex(foregroundSource);\n }\n }\n\n if (this.invisible) {\n foregroundSource = backgroundSource;\n defaultForeground = this.defaultBackground;\n }\n\n // Set fore/background colors unless already specified in rgb(r, g, b) form.\n if (foregroundSource != this.SRC_RGB) {\n this.foreground = ((foregroundSource == this.SRC_DEFAULT) ?\n defaultForeground : this.colorPalette[foregroundSource]);\n }\n\n if (this.faint && !this.invisible) {\n var colorToMakeFaint = ((this.foreground == this.DEFAULT_COLOR) ?\n this.defaultForeground : this.foreground);\n this.foreground = lib.colors.mix(colorToMakeFaint, 'rgb(0, 0, 0)', 0.3333);\n }\n\n if (backgroundSource != this.SRC_RGB) {\n this.background = ((backgroundSource == this.SRC_DEFAULT) ?\n defaultBackground : this.colorPalette[backgroundSource]);\n }\n};\n\n/**\n * Static method used to test if the provided objects (strings, spans or\n * text nodes) have the same style.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj1 An object to test.\n * @param {string|HTMLNode} obj2 Another object to test.\n * @return {boolean} True if the containers have the same style.\n */\nhterm.TextAttributes.containersMatch = function(obj1, obj2) {\n if (typeof obj1 == 'string')\n return hterm.TextAttributes.containerIsDefault(obj2);\n\n if (obj1.nodeType != obj2.nodeType)\n return false;\n\n if (obj1.nodeType == 3)\n return true;\n\n var style1 = obj1.style;\n var style2 = obj2.style;\n\n return (style1.color == style2.color &&\n style1.backgroundColor == style2.backgroundColor &&\n style1.fontWeight == style2.fontWeight &&\n style1.fontStyle == style2.fontStyle &&\n style1.textDecoration == style2.textDecoration);\n};\n\n/**\n * Static method to test if a given DOM container represents unstyled text.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj1 An object to test.\n * @return {boolean} True if the object is unstyled.\n */\nhterm.TextAttributes.containerIsDefault = function(obj) {\n return typeof obj == 'string' || obj.nodeType == 3;\n};\n\n/**\n * Static method to get the column width of a node's textContent.\n *\n * @param {HTMLElement} node The HTML element to get the width of textContent\n * from.\n * @return {integer} The column width of the node's textContent.\n */\nhterm.TextAttributes.nodeWidth = function(node) {\n if (!node.asciiNode) {\n return lib.wc.strWidth(node.textContent);\n } else {\n return node.textContent.length;\n }\n}\n\n/**\n * Static method to get the substr of a node's textContent. The start index\n * and substr width are computed in column width.\n *\n * @param {HTMLElement} node The HTML element to get the substr of textContent\n * from.\n * @param {integer} start The starting offset in column width.\n * @param {integer} width The width to capture in column width.\n * @return {integer} The extracted substr of the node's textContent.\n */\nhterm.TextAttributes.nodeSubstr = function(node, start, width) {\n if (!node.asciiNode) {\n return lib.wc.substr(node.textContent, start, width);\n } else {\n return node.textContent.substr(start, width);\n }\n}\n\n/**\n * Static method to get the substring based of a node's textContent. The\n * start index of end index are computed in column width.\n *\n * @param {HTMLElement} node The HTML element to get the substr of textContent\n * from.\n * @param {integer} start The starting offset in column width.\n * @param {integer} end The ending offset in column width.\n * @return {integer} The extracted substring of the node's textContent.\n */\nhterm.TextAttributes.nodeSubstring = function(node, start, end) {\n if (!node.asciiNode) {\n return lib.wc.substring(node.textContent, start, end);\n } else {\n return node.textContent.substring(start, end);\n }\n};\n\n/**\n * Static method to split a string into contiguous runs of single-width\n * characters and runs of double-width characters.\n *\n * @param {string} str The string to split.\n * @return {Array} An array of objects that contain substrings of str, where\n * each substring is either a contiguous runs of single-width characters\n * or a double-width character. For objects that contain a double-width\n * character, its wcNode property is set to true. For objects that contain\n * only ASCII content, its asciiNode property is set to true.\n */\nhterm.TextAttributes.splitWidecharString = function(str) {\n var rv = [];\n var base = 0, length = 0;\n var asciiNode = true;\n\n for (var i = 0; i < str.length;) {\n var c = str.codePointAt(i);\n var increment = (c <= 0xffff) ? 1 : 2;\n if (c < 128) {\n length += increment;\n } else if (lib.wc.charWidth(c) <= 1) {\n length += increment;\n asciiNode = false;\n } else {\n if (length) {\n rv.push({\n str: str.substr(base, length),\n asciiNode: asciiNode,\n });\n asciiNode = true;\n }\n rv.push({\n str: str.substr(i, increment),\n wcNode: true,\n asciiNode: false,\n });\n base = i + increment;\n length = 0;\n }\n i += increment;\n }\n\n if (length) {\n rv.push({\n str: str.substr(base, length),\n asciiNode: asciiNode,\n });\n }\n\n return rv;\n};\n// SOURCE FILE: hterm/js/hterm_vt.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors', 'lib.f', 'lib.UTF8Decoder',\n 'hterm.VT.CharacterMap');\n\n/**\n * Constructor for the VT escape sequence interpreter.\n *\n * The interpreter operates on a terminal object capable of performing cursor\n * move operations, painting characters, etc.\n *\n * This interpreter is intended to be compatible with xterm, though it\n * ignores some of the more esoteric escape sequences.\n *\n * Control sequences are documented in hterm/doc/ControlSequences.md.\n *\n * @param {hterm.Terminal} terminal Terminal to use with the interpreter.\n */\nhterm.VT = function(terminal) {\n /**\n * The display terminal object associated with this virtual terminal.\n */\n this.terminal = terminal;\n\n terminal.onMouse = this.onTerminalMouse_.bind(this);\n this.mouseReport = this.MOUSE_REPORT_DISABLED;\n\n // Parse state left over from the last parse. You should use the parseState\n // instance passed into your parse routine, rather than reading\n // this.parseState_ directly.\n this.parseState_ = new hterm.VT.ParseState(this.parseUnknown_);\n\n // Any \"leading modifiers\" for the escape sequence, such as '?', ' ', or the\n // other modifiers handled in this.parseCSI_.\n this.leadingModifier_ = '';\n\n // Any \"trailing modifiers\". Same character set as a leading modifier,\n // except these are found after the numeric arguments.\n this.trailingModifier_ = '';\n\n // Whether or not to respect the escape codes for setting terminal width.\n this.allowColumnWidthChanges_ = false;\n\n // The amount of time we're willing to wait for the end of an OSC sequence.\n this.oscTimeLimit_ = 20000;\n\n // Decoder to maintain UTF-8 decode state.\n this.utf8Decoder_ = new lib.UTF8Decoder();\n\n /**\n * Whether to accept the 8-bit control characters.\n *\n * An 8-bit control character is one with the eighth bit set. These\n * didn't work on 7-bit terminals so they all have two byte equivalents.\n * Most hosts still only use the two-byte versions.\n *\n * We ignore 8-bit control codes by default. This is in order to avoid\n * issues with \"accidental\" usage of codes that need to be terminated.\n * The \"accident\" usually involves cat'ing binary data.\n */\n this.enable8BitControl = false;\n\n /**\n * Whether to allow the OSC 52 sequence to write to the system clipboard.\n */\n this.enableClipboardWrite = true;\n\n /**\n * Respect the host's attempt to change the cursor blink status using\n * the DEC Private mode 12.\n */\n this.enableDec12 = false;\n\n /**\n * The expected encoding method for data received from the host.\n */\n this.characterEncoding = 'utf-8';\n\n /**\n * Max length of an unterminated DCS, OSC, PM or APC sequence before we give\n * up and ignore the code.\n *\n * These all end with a String Terminator (ST, '\\x9c', ESC '\\\\') or\n * (BEL, '\\x07') character, hence the \"string sequence\" moniker.\n */\n this.maxStringSequence = 1024;\n\n /**\n * If true, emit warnings when we encounter a control character or escape\n * sequence that we don't recognize or explicitly ignore.\n */\n this.warnUnimplemented = true;\n\n /**\n * The set of available character maps (used by G0...G3 below).\n */\n this.characterMaps = new hterm.VT.CharacterMaps();\n\n /**\n * The default G0...G3 character maps.\n * We default to the US/ASCII map everywhere as that aligns with other\n * terminals, and it makes it harder to accidentally switch to the graphics\n * character map (Ctrl-N). Any program that wants to use the graphics map\n * will usually select it anyways since there's no guarantee what state any\n * of the maps are in at any particular time.\n */\n this.G0 = this.G1 = this.G2 = this.G3 =\n this.characterMaps.getMap('B');\n\n /**\n * The 7-bit visible character set.\n *\n * This is a mapping from inbound data to display glyph. The GL set\n * contains the 94 bytes from 0x21 to 0x7e.\n *\n * The default GL set is 'B', US ASCII.\n */\n this.GL = 'G0';\n\n /**\n * The 8-bit visible character set.\n *\n * This is a mapping from inbound data to display glyph. The GR set\n * contains the 94 bytes from 0xa1 to 0xfe.\n */\n this.GR = 'G0';\n\n /**\n * The current encoding of the terminal.\n *\n * We only support ECMA-35 and UTF-8, so go with a boolean here.\n * The encoding can be locked too.\n */\n this.codingSystemUtf8_ = false;\n this.codingSystemLocked_ = false;\n\n // Construct a regular expression to match the known one-byte control chars.\n // This is used in parseUnknown_ to quickly scan a string for the next\n // control character.\n this.cc1Pattern_ = null;\n this.updateEncodingState_();\n\n // Saved state used in DECSC.\n //\n // This is a place to store a copy VT state, it is *not* the active state.\n this.savedState_ = new hterm.VT.CursorState(this);\n};\n\n/**\n * No mouse events.\n */\nhterm.VT.prototype.MOUSE_REPORT_DISABLED = 0;\n\n/**\n * DECSET mode 1000.\n *\n * Report mouse down/up events only.\n */\nhterm.VT.prototype.MOUSE_REPORT_CLICK = 1;\n\n/**\n * DECSET mode 1002.\n *\n * Report mouse down/up and movement while a button is down.\n */\nhterm.VT.prototype.MOUSE_REPORT_DRAG = 3;\n\n/**\n * ParseState constructor.\n *\n * This object tracks the current state of the parse. It has fields for the\n * current buffer, position in the buffer, and the parse function.\n *\n * @param {function} defaultFunc The default parser function.\n * @param {string} opt_buf Optional string to use as the current buffer.\n */\nhterm.VT.ParseState = function(defaultFunction, opt_buf) {\n this.defaultFunction = defaultFunction;\n this.buf = opt_buf || null;\n this.pos = 0;\n this.func = defaultFunction;\n this.args = [];\n};\n\n/**\n * Reset the parser function, buffer, and position.\n */\nhterm.VT.ParseState.prototype.reset = function(opt_buf) {\n this.resetParseFunction();\n this.resetBuf(opt_buf || '');\n this.resetArguments();\n};\n\n/**\n * Reset the parser function only.\n */\nhterm.VT.ParseState.prototype.resetParseFunction = function() {\n this.func = this.defaultFunction;\n};\n\n/**\n * Reset the buffer and position only.\n *\n * @param {string} buf Optional new value for buf, defaults to null.\n */\nhterm.VT.ParseState.prototype.resetBuf = function(opt_buf) {\n this.buf = (typeof opt_buf == 'string') ? opt_buf : null;\n this.pos = 0;\n};\n\n/**\n * Reset the arguments list only.\n *\n * @param {string} opt_arg_zero Optional initial value for args[0].\n */\nhterm.VT.ParseState.prototype.resetArguments = function(opt_arg_zero) {\n this.args.length = 0;\n if (typeof opt_arg_zero != 'undefined')\n this.args[0] = opt_arg_zero;\n};\n\n/**\n * Get an argument as an integer.\n *\n * @param {number} argnum The argument number to retrieve.\n */\nhterm.VT.ParseState.prototype.iarg = function(argnum, defaultValue) {\n var str = this.args[argnum];\n if (str) {\n var ret = parseInt(str, 10);\n // An argument of zero is treated as the default value.\n if (ret == 0)\n ret = defaultValue;\n return ret;\n }\n return defaultValue;\n};\n\n/**\n * Advance the parse position.\n *\n * @param {integer} count The number of bytes to advance.\n */\nhterm.VT.ParseState.prototype.advance = function(count) {\n this.pos += count;\n};\n\n/**\n * Return the remaining portion of the buffer without affecting the parse\n * position.\n *\n * @return {string} The remaining portion of the buffer.\n */\nhterm.VT.ParseState.prototype.peekRemainingBuf = function() {\n return this.buf.substr(this.pos);\n};\n\n/**\n * Return the next single character in the buffer without affecting the parse\n * position.\n *\n * @return {string} The next character in the buffer.\n */\nhterm.VT.ParseState.prototype.peekChar = function() {\n return this.buf.substr(this.pos, 1);\n};\n\n/**\n * Return the next single character in the buffer and advance the parse\n * position one byte.\n *\n * @return {string} The next character in the buffer.\n */\nhterm.VT.ParseState.prototype.consumeChar = function() {\n return this.buf.substr(this.pos++, 1);\n};\n\n/**\n * Return true if the buffer is empty, or the position is past the end.\n */\nhterm.VT.ParseState.prototype.isComplete = function() {\n return this.buf == null || this.buf.length <= this.pos;\n};\n\nhterm.VT.CursorState = function(vt) {\n this.vt_ = vt;\n this.save();\n};\n\nhterm.VT.CursorState.prototype.save = function() {\n this.cursor = this.vt_.terminal.saveCursor();\n\n this.textAttributes = this.vt_.terminal.getTextAttributes().clone();\n\n this.GL = this.vt_.GL;\n this.GR = this.vt_.GR;\n\n this.G0 = this.vt_.G0;\n this.G1 = this.vt_.G1;\n this.G2 = this.vt_.G2;\n this.G3 = this.vt_.G3;\n};\n\nhterm.VT.CursorState.prototype.restore = function() {\n this.vt_.terminal.restoreCursor(this.cursor);\n\n this.vt_.terminal.setTextAttributes(this.textAttributes.clone());\n\n this.vt_.GL = this.GL;\n this.vt_.GR = this.GR;\n\n this.vt_.G0 = this.G0;\n this.vt_.G1 = this.G1;\n this.vt_.G2 = this.G2;\n this.vt_.G3 = this.G3;\n};\n\nhterm.VT.prototype.reset = function() {\n this.G0 = this.characterMaps.getMap('B');\n this.G1 = this.characterMaps.getMap('0');\n this.G2 = this.characterMaps.getMap('B');\n this.G3 = this.characterMaps.getMap('B');\n\n this.GL = 'G0';\n this.GR = 'G0';\n\n this.savedState_ = new hterm.VT.CursorState(this);\n\n this.mouseReport = this.MOUSE_REPORT_DISABLED;\n};\n\n/**\n * Handle terminal mouse events.\n *\n * See the \"Mouse Tracking\" section of [xterm].\n */\nhterm.VT.prototype.onTerminalMouse_ = function(e) {\n if (this.mouseReport == this.MOUSE_REPORT_DISABLED)\n return;\n\n // Temporary storage for our response.\n var response;\n\n // Modifier key state.\n var mod = 0;\n if (e.shiftKey)\n mod |= 4;\n if (e.metaKey || (this.terminal.keyboard.altIsMeta && e.altKey))\n mod |= 8;\n if (e.ctrlKey)\n mod |= 16;\n\n // TODO(rginda): We should also support mode 1005 and/or 1006 to extend the\n // coordinate space. Though, after poking around just a little, I wasn't\n // able to get vi or emacs to use either of these modes.\n var x = String.fromCharCode(lib.f.clamp(e.terminalColumn + 32, 32, 255));\n var y = String.fromCharCode(lib.f.clamp(e.terminalRow + 32, 32, 255));\n\n switch (e.type) {\n case 'wheel':\n // Mouse wheel is treated as button 1 or 2 plus an additional 64.\n b = (((e.deltaY * -1) > 0) ? 0 : 1) + 96;\n b |= mod;\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n\n // Keep the terminal from scrolling.\n e.preventDefault();\n break;\n\n case 'mousedown':\n // Buttons are encoded as button number plus 32.\n var b = Math.min(e.button, 2) + 32;\n\n // And mix in the modifier keys.\n b |= mod;\n\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n break;\n\n case 'mouseup':\n // Mouse up has no indication of which button was released.\n response = '\\x1b[M\\x23' + x + y;\n break;\n\n case 'mousemove':\n if (this.mouseReport == this.MOUSE_REPORT_DRAG && e.buttons) {\n // Standard button bits. The XTerm protocol only reports the first\n // button press (e.g. if left & right are pressed, right is ignored),\n // and it only supports the first three buttons. If none of them are\n // pressed, then XTerm flags it as a release. We'll do the same.\n b = 32;\n\n // Priority here matches XTerm: left, middle, right.\n if (e.buttons & 0x1) {\n // Report left button.\n b += 0;\n } else if (e.buttons & 0x4) {\n // Report middle button.\n b += 1;\n } else if (e.buttons & 0x2) {\n // Report right button.\n b += 2;\n } else {\n // Release higher buttons.\n b += 3;\n }\n\n // Add 32 to indicate mouse motion.\n b += 32;\n\n // And mix in the modifier keys.\n b |= mod;\n\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n }\n\n break;\n\n case 'click':\n case 'dblclick':\n break;\n\n default:\n console.error('Unknown mouse event: ' + e.type, e);\n break;\n }\n\n if (response)\n this.terminal.io.sendString(response);\n};\n\n/**\n * Interpret a string of characters, displaying the results on the associated\n * terminal object.\n *\n * The buffer will be decoded according to the 'receive-encoding' preference.\n */\nhterm.VT.prototype.interpret = function(buf) {\n this.parseState_.resetBuf(this.decode(buf));\n\n while (!this.parseState_.isComplete()) {\n var func = this.parseState_.func;\n var pos = this.parseState_.pos;\n var buf = this.parseState_.buf;\n\n this.parseState_.func.call(this, this.parseState_);\n\n if (this.parseState_.func == func && this.parseState_.pos == pos &&\n this.parseState_.buf == buf) {\n throw 'Parser did not alter the state!';\n }\n }\n};\n\n/**\n * Decode a string according to the 'receive-encoding' preference.\n */\nhterm.VT.prototype.decode = function(str) {\n if (this.characterEncoding == 'utf-8')\n return this.decodeUTF8(str);\n\n return str;\n};\n\n/**\n * Encode a UTF-16 string as UTF-8.\n *\n * See also: https://en.wikipedia.org/wiki/UTF-16\n */\nhterm.VT.prototype.encodeUTF8 = function(str) {\n return lib.encodeUTF8(str);\n};\n\n/**\n * Decode a UTF-8 string into UTF-16.\n */\nhterm.VT.prototype.decodeUTF8 = function(str) {\n return this.utf8Decoder_.decode(str);\n};\n\n/**\n * Set the encoding of the terminal.\n *\n * @param {string} encoding The name of the encoding to set.\n */\nhterm.VT.prototype.setEncoding = function(encoding) {\n switch (encoding) {\n default:\n console.warn('Invalid value for \"terminal-encoding\": ' + encoding);\n // Fall through.\n case 'iso-2022':\n this.codingSystemUtf8_ = false;\n this.codingSystemLocked_ = false;\n break;\n case 'utf-8-locked':\n this.codingSystemUtf8_ = true;\n this.codingSystemLocked_ = true;\n break;\n case 'utf-8':\n this.codingSystemUtf8_ = true;\n this.codingSystemLocked_ = false;\n break;\n }\n\n this.updateEncodingState_();\n};\n\n/**\n * Refresh internal state when the encoding changes.\n */\nhterm.VT.prototype.updateEncodingState_ = function() {\n // If we're in UTF8 mode, don't suport 8-bit escape sequences as we'll never\n // see those -- everything should be UTF8!\n var cc1 = Object.keys(hterm.VT.CC1)\n .filter((e) => !this.codingSystemUtf8_ || e.charCodeAt() < 0x80)\n .map((e) => '\\\\x' + lib.f.zpad(e.charCodeAt().toString(16), 2))\n .join('');\n this.cc1Pattern_ = new RegExp(`[${cc1}]`);\n};\n\n/**\n * The default parse function.\n *\n * This will scan the string for the first 1-byte control character (C0/C1\n * characters from [CTRL]). Any plain text coming before the code will be\n * printed to the terminal, then the control character will be dispatched.\n */\nhterm.VT.prototype.parseUnknown_ = function(parseState) {\n var self = this;\n\n function print(str) {\n if (!self.codingSystemUtf8_ && self[self.GL].GL)\n str = self[self.GL].GL(str);\n\n self.terminal.print(str);\n };\n\n // Search for the next contiguous block of plain text.\n var buf = parseState.peekRemainingBuf();\n var nextControl = buf.search(this.cc1Pattern_);\n\n if (nextControl == 0) {\n // We've stumbled right into a control character.\n this.dispatch('CC1', buf.substr(0, 1), parseState);\n parseState.advance(1);\n return;\n }\n\n if (nextControl == -1) {\n // There are no control characters in this string.\n print(buf);\n parseState.reset();\n return;\n }\n\n print(buf.substr(0, nextControl));\n this.dispatch('CC1', buf.substr(nextControl, 1), parseState);\n parseState.advance(nextControl + 1);\n};\n\n/**\n * Parse a Control Sequence Introducer code and dispatch it.\n *\n * See [CSI] for some useful information about these codes.\n */\nhterm.VT.prototype.parseCSI_ = function(parseState) {\n var ch = parseState.peekChar();\n var args = parseState.args;\n\n if (ch >= '@' && ch <= '~') {\n // This is the final character.\n this.dispatch('CSI', this.leadingModifier_ + this.trailingModifier_ + ch,\n parseState);\n parseState.resetParseFunction();\n\n } else if (ch == ';') {\n // Parameter delimiter.\n if (this.trailingModifier_) {\n // Parameter delimiter after the trailing modifier. That's a paddlin'.\n parseState.resetParseFunction();\n\n } else {\n if (!args.length) {\n // They omitted the first param, we need to supply it.\n args.push('');\n }\n\n args.push('');\n }\n\n } else if (ch >= '0' && ch <= '9') {\n // Next byte in the current parameter.\n\n if (this.trailingModifier_) {\n // Numeric parameter after the trailing modifier. That's a paddlin'.\n parseState.resetParseFunction();\n } else {\n if (!args.length) {\n args[0] = ch;\n } else {\n args[args.length - 1] += ch;\n }\n }\n\n } else if (ch >= ' ' && ch <= '?' && ch != ':') {\n // Modifier character.\n if (!args.length) {\n this.leadingModifier_ += ch;\n } else {\n this.trailingModifier_ += ch;\n }\n\n } else if (this.cc1Pattern_.test(ch)) {\n // Control character.\n this.dispatch('CC1', ch, parseState);\n\n } else {\n // Unexpected character in sequence, bail out.\n parseState.resetParseFunction();\n }\n\n parseState.advance(1);\n};\n\n/**\n * Skip over the string until the next String Terminator (ST, 'ESC \\') or\n * Bell (BEL, '\\x07').\n *\n * The string is accumulated in parseState.args[0]. Make sure to reset the\n * arguments (with parseState.resetArguments) before starting the parse.\n *\n * You can detect that parsing in complete by checking that the parse\n * function has changed back to the default parse function.\n *\n * If we encounter more than maxStringSequence characters, we send back\n * the unterminated sequence to be re-parsed with the default parser function.\n *\n * @return {boolean} If true, parsing is ongoing or complete. If false, we've\n * exceeded the max string sequence.\n */\nhterm.VT.prototype.parseUntilStringTerminator_ = function(parseState) {\n var buf = parseState.peekRemainingBuf();\n var nextTerminator = buf.search(/(\\x1b\\\\|\\x07)/);\n var args = parseState.args;\n\n if (!args.length) {\n args[0] = '';\n args[1] = new Date();\n }\n\n if (nextTerminator == -1) {\n // No terminator here, have to wait for the next string.\n\n args[0] += buf;\n\n var abortReason;\n\n if (args[0].length > this.maxStringSequence)\n abortReason = 'too long: ' + args[0].length;\n\n if (args[0].indexOf('\\x1b') != -1)\n abortReason = 'embedded escape: ' + args[0].indexOf('\\x1b');\n\n if (new Date() - args[1] > this.oscTimeLimit_)\n abortReason = 'timeout expired: ' + new Date() - args[1];\n\n if (abortReason) {\n console.log('parseUntilStringTerminator_: aborting: ' + abortReason,\n args[0]);\n parseState.reset(args[0]);\n return false;\n }\n\n parseState.advance(buf.length);\n return true;\n }\n\n if (args[0].length + nextTerminator > this.maxStringSequence) {\n // We found the end of the sequence, but we still think it's too long.\n parseState.reset(args[0] + buf);\n return false;\n }\n\n args[0] += buf.substr(0, nextTerminator);\n\n parseState.resetParseFunction();\n parseState.advance(nextTerminator +\n (buf.substr(nextTerminator, 1) == '\\x1b' ? 2 : 1));\n\n return true;\n};\n\n/**\n * Dispatch to the function that handles a given CC1, ESC, or CSI or VT52 code.\n */\nhterm.VT.prototype.dispatch = function(type, code, parseState) {\n var handler = hterm.VT[type][code];\n if (!handler) {\n if (this.warnUnimplemented)\n console.warn('Unknown ' + type + ' code: ' + JSON.stringify(code));\n return;\n }\n\n if (handler == hterm.VT.ignore) {\n if (this.warnUnimplemented)\n console.warn('Ignored ' + type + ' code: ' + JSON.stringify(code));\n return;\n }\n\n if (type == 'CC1' && code > '\\x7f' && !this.enable8BitControl) {\n // It's kind of a hack to put this here, but...\n //\n // If we're dispatching a 'CC1' code, and it's got the eighth bit set,\n // but we're not supposed to handle 8-bit codes? Just ignore it.\n //\n // This prevents an errant (DCS, '\\x90'), (OSC, '\\x9d'), (PM, '\\x9e') or\n // (APC, '\\x9f') from locking up the terminal waiting for its expected\n // (ST, '\\x9c') or (BEL, '\\x07').\n console.warn('Ignoring 8-bit control code: 0x' +\n code.charCodeAt(0).toString(16));\n return;\n }\n\n handler.apply(this, [parseState, code]);\n};\n\n/**\n * Set one of the ANSI defined terminal mode bits.\n *\n * Invoked in response to SM/RM.\n *\n * Unexpected and unimplemented values are silently ignored.\n */\nhterm.VT.prototype.setANSIMode = function(code, state) {\n if (code == 4) { // Insert Mode (IRM)\n this.terminal.setInsertMode(state);\n } else if (code == 20) { // Automatic Newline (LNM)\n this.terminal.setAutoCarriageReturn(state);\n } else if (this.warnUnimplemented) {\n console.warn('Unimplemented ANSI Mode: ' + code);\n }\n};\n\n/**\n * Set or reset one of the DEC Private modes.\n *\n * Invoked in response to DECSET/DECRST.\n */\nhterm.VT.prototype.setDECMode = function(code, state) {\n switch (parseInt(code, 10)) {\n case 1: // DECCKM\n this.terminal.keyboard.applicationCursor = state;\n break;\n\n case 3: // DECCOLM\n if (this.allowColumnWidthChanges_) {\n this.terminal.setWidth(state ? 132 : 80);\n\n this.terminal.clearHome();\n this.terminal.setVTScrollRegion(null, null);\n }\n break;\n\n case 5: // DECSCNM\n this.terminal.setReverseVideo(state);\n break;\n\n case 6: // DECOM\n this.terminal.setOriginMode(state);\n break;\n\n case 7: // DECAWM\n this.terminal.setWraparound(state);\n break;\n\n case 12: // Start blinking cursor\n if (this.enableDec12)\n this.terminal.setCursorBlink(state);\n break;\n\n case 25: // DECTCEM\n this.terminal.setCursorVisible(state);\n break;\n\n case 30: // Show scrollbar\n this.terminal.setScrollbarVisible(state);\n break;\n\n case 40: // Allow 80 - 132 (DECCOLM) Mode\n this.terminal.allowColumnWidthChanges_ = state;\n break;\n\n case 45: // Reverse-wraparound Mode\n this.terminal.setReverseWraparound(state);\n break;\n\n case 67: // Backarrow key sends backspace (DECBKM)\n this.terminal.keyboard.backspaceSendsBackspace = state;\n break;\n\n case 1000: // Report on mouse clicks only.\n this.mouseReport = (\n state ? this.MOUSE_REPORT_CLICK : this.MOUSE_REPORT_DISABLED);\n this.terminal.syncMouseStyle();\n break;\n\n case 1002: // Report on mouse clicks and drags\n this.mouseReport = (\n state ? this.MOUSE_REPORT_DRAG : this.MOUSE_REPORT_DISABLED);\n this.terminal.syncMouseStyle();\n break;\n\n case 1010: // Scroll to bottom on tty output\n this.terminal.scrollOnOutput = state;\n break;\n\n case 1011: // Scroll to bottom on key press\n this.terminal.scrollOnKeystroke = state;\n break;\n\n case 1036: // Send ESC when Meta modifies a key\n this.terminal.keyboard.metaSendsEscape = state;\n break;\n\n case 1039: // Send ESC when Alt modifies a key\n if (state) {\n if (!this.terminal.keyboard.previousAltSendsWhat_) {\n this.terminal.keyboard.previousAltSendsWhat_ =\n this.terminal.keyboard.altSendsWhat;\n this.terminal.keyboard.altSendsWhat = 'escape';\n }\n } else if (this.terminal.keyboard.previousAltSendsWhat_) {\n this.terminal.keyboard.altSendsWhat =\n this.terminal.keyboard.previousAltSendsWhat_;\n this.terminal.keyboard.previousAltSendsWhat_ = null;\n }\n break;\n\n case 47: // Use Alternate Screen Buffer\n case 1047:\n this.terminal.setAlternateMode(state);\n break;\n\n case 1048: // Save cursor as in DECSC.\n this.savedState_.save();\n\n case 1049: // 1047 + 1048 + clear.\n if (state) {\n this.savedState_.save();\n this.terminal.setAlternateMode(state);\n this.terminal.clear();\n } else {\n this.terminal.setAlternateMode(state);\n this.savedState_.restore();\n }\n\n break;\n\n case 2004: // Bracketed paste mode.\n this.terminal.setBracketedPaste(state);\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unimplemented DEC Private Mode: ' + code);\n break;\n }\n};\n\n/**\n * Function shared by control characters and escape sequences that are\n * ignored.\n */\nhterm.VT.ignore = function() {};\n\n/**\n * Collection of control characters expressed in a single byte.\n *\n * This includes the characters from the C0 and C1 sets (see [CTRL]) that we\n * care about. Two byte versions of the C1 codes are defined in the\n * hterm.VT.ESC collection.\n *\n * The 'CC1' mnemonic here refers to the fact that these are one-byte Control\n * Codes. It's only used in this source file and not defined in any of the\n * referenced documents.\n */\nhterm.VT.CC1 = {};\n\n/**\n * Collection of two-byte and three-byte sequences starting with ESC.\n */\nhterm.VT.ESC = {};\n\n/**\n * Collection of CSI (Control Sequence Introducer) sequences.\n *\n * These sequences begin with 'ESC [', and may take zero or more arguments.\n */\nhterm.VT.CSI = {};\n\n/**\n * Collection of OSC (Operating System Control) sequences.\n *\n * These sequences begin with 'ESC ]', followed by a function number and a\n * string terminated by either ST or BEL.\n */\nhterm.VT.OSC = {};\n\n/**\n * Collection of VT52 sequences.\n *\n * When in VT52 mode, other sequences are disabled.\n */\nhterm.VT.VT52 = {};\n\n/**\n * Null (NUL).\n *\n * Silently ignored.\n */\nhterm.VT.CC1['\\x00'] = hterm.VT.ignore;\n\n/**\n * Enquiry (ENQ).\n *\n * Transmit answerback message.\n *\n * The default answerback message in xterm is an empty string, so we just\n * ignore this.\n */\nhterm.VT.CC1['\\x05'] = hterm.VT.ignore;\n\n/**\n * Ring Bell (BEL).\n */\nhterm.VT.CC1['\\x07'] = function() {\n this.terminal.ringBell();\n};\n\n/**\n * Backspace (BS).\n *\n * Move the cursor to the left one character position, unless it is at the\n * left margin, in which case no action occurs.\n */\nhterm.VT.CC1['\\x08'] = function() {\n this.terminal.cursorLeft(1);\n};\n\n/**\n * Horizontal Tab (HT).\n *\n * Move the cursor to the next tab stop, or to the right margin if no further\n * tab stops are present on the line.\n */\nhterm.VT.CC1['\\x09'] = function() {\n this.terminal.forwardTabStop();\n};\n\n/**\n * Line Feed (LF).\n *\n * This code causes a line feed or a new line operation. See Automatic\n * Newline (LNM).\n */\nhterm.VT.CC1['\\x0a'] = function() {\n this.terminal.formFeed();\n};\n\n/**\n * Vertical Tab (VT).\n *\n * Interpreted as LF.\n */\nhterm.VT.CC1['\\x0b'] = hterm.VT.CC1['\\x0a'];\n\n/**\n * Form Feed (FF).\n *\n * Interpreted as LF.\n */\nhterm.VT.CC1['\\x0c'] = hterm.VT.CC1['\\x0a'];\n\n/**\n * Carriage Return (CR).\n *\n * Move cursor to the left margin on the current line.\n */\nhterm.VT.CC1['\\x0d'] = function() {\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Shift Out (SO), aka Lock Shift 0 (LS1).\n *\n * Invoke G1 character set in GL.\n */\nhterm.VT.CC1['\\x0e'] = function() {\n this.GL = 'G1';\n};\n\n/**\n * Shift In (SI), aka Lock Shift 0 (LS0).\n *\n * Invoke G0 character set in GL.\n */\nhterm.VT.CC1['\\x0f'] = function() {\n this.GL = 'G0';\n};\n\n/**\n * Transmit On (XON).\n *\n * Not currently implemented.\n *\n * TODO(rginda): Implement?\n */\nhterm.VT.CC1['\\x11'] = hterm.VT.ignore;\n\n/**\n * Transmit Off (XOFF).\n *\n * Not currently implemented.\n *\n * TODO(rginda): Implement?\n */\nhterm.VT.CC1['\\x13'] = hterm.VT.ignore;\n\n/**\n * Cancel (CAN).\n *\n * If sent during a control sequence, the sequence is immediately terminated\n * and not executed.\n *\n * It also causes the error character to be displayed.\n */\nhterm.VT.CC1['\\x18'] = function(parseState) {\n // If we've shifted in the G1 character set, shift it back out to\n // the default character set.\n if (this.GL == 'G1') {\n this.GL = 'G0';\n }\n parseState.resetParseFunction();\n this.terminal.print('?');\n};\n\n/**\n * Substitute (SUB).\n *\n * Interpreted as CAN.\n */\nhterm.VT.CC1['\\x1a'] = hterm.VT.CC1['\\x18'];\n\n/**\n * Escape (ESC).\n */\nhterm.VT.CC1['\\x1b'] = function(parseState) {\n function parseESC(parseState) {\n var ch = parseState.consumeChar();\n\n if (ch == '\\x1b')\n return;\n\n this.dispatch('ESC', ch, parseState);\n\n if (parseState.func == parseESC)\n parseState.resetParseFunction();\n };\n\n parseState.func = parseESC;\n};\n\n/**\n * Delete (DEL).\n */\nhterm.VT.CC1['\\x7f'] = hterm.VT.ignore;\n\n// 8 bit control characters and their two byte equivalents, below...\n\n/**\n * Index (IND).\n *\n * Like newline, only keep the X position\n */\nhterm.VT.CC1['\\x84'] =\nhterm.VT.ESC['D'] = function() {\n this.terminal.lineFeed();\n};\n\n/**\n * Next Line (NEL).\n *\n * Like newline, but doesn't add lines.\n */\nhterm.VT.CC1['\\x85'] =\nhterm.VT.ESC['E'] = function() {\n this.terminal.setCursorColumn(0);\n this.terminal.cursorDown(1);\n};\n\n/**\n * Horizontal Tabulation Set (HTS).\n */\nhterm.VT.CC1['\\x88'] =\nhterm.VT.ESC['H'] = function() {\n this.terminal.setTabStop(this.terminal.getCursorColumn());\n};\n\n/**\n * Reverse Index (RI).\n *\n * Move up one line.\n */\nhterm.VT.CC1['\\x8d'] =\nhterm.VT.ESC['M'] = function() {\n this.terminal.reverseLineFeed();\n};\n\n/**\n * Single Shift 2 (SS2).\n *\n * Select of G2 Character Set for the next character only.\n *\n * Not currently implemented.\n */\nhterm.VT.CC1['\\x8e'] =\nhterm.VT.ESC['N'] = hterm.VT.ignore;\n\n/**\n * Single Shift 3 (SS3).\n *\n * Select of G3 Character Set for the next character only.\n *\n * Not currently implemented.\n */\nhterm.VT.CC1['\\x8f'] =\nhterm.VT.ESC['O'] = hterm.VT.ignore;\n\n/**\n * Device Control String (DCS).\n *\n * Indicate a DCS sequence. See Device-Control functions in [XTERM].\n * Not currently implemented.\n *\n * TODO(rginda): Consider implementing DECRQSS, the rest don't seem applicable.\n */\nhterm.VT.CC1['\\x90'] =\nhterm.VT.ESC['P'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * Start of Guarded Area (SPA).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x96'] =\nhterm.VT.ESC['V'] = hterm.VT.ignore;\n\n/**\n * End of Guarded Area (EPA).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x97'] =\nhterm.VT.ESC['W'] = hterm.VT.ignore;\n\n/**\n * Start of String (SOS).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x98'] =\nhterm.VT.ESC['X'] = hterm.VT.ignore;\n\n/**\n * Single Character Introducer (SCI, also DECID).\n *\n * Return Terminal ID. Obsolete form of 'ESC [ c' (DA).\n */\nhterm.VT.CC1['\\x9a'] =\nhterm.VT.ESC['Z'] = function() {\n this.terminal.io.sendString('\\x1b[?1;2c');\n};\n\n/**\n * Control Sequence Introducer (CSI).\n *\n * The lead into most escape sequences. See [CSI].\n */\nhterm.VT.CC1['\\x9b'] =\nhterm.VT.ESC['['] = function(parseState) {\n parseState.resetArguments();\n this.leadingModifier_ = '';\n this.trailingModifier_ = '';\n parseState.func = this.parseCSI_;\n};\n\n/**\n * String Terminator (ST).\n *\n * Used to terminate DCS/OSC/PM/APC commands which may take string arguments.\n *\n * We don't directly handle it here, as it's only used to terminate other\n * sequences. See the 'parseUntilStringTerminator_' method.\n */\nhterm.VT.CC1['\\x9c'] =\nhterm.VT.ESC['\\\\'] = hterm.VT.ignore;\n\n/**\n * Operating System Command (OSC).\n *\n * Commands relating to the operating system.\n */\nhterm.VT.CC1['\\x9d'] =\nhterm.VT.ESC[']'] = function(parseState) {\n parseState.resetArguments();\n\n function parseOSC(parseState) {\n if (!this.parseUntilStringTerminator_(parseState)) {\n // The string sequence was too long.\n return;\n }\n\n if (parseState.func == parseOSC) {\n // We're not done parsing the string yet.\n return;\n }\n\n // We're done.\n var ary = parseState.args[0].match(/^(\\d+);(.*)$/);\n if (ary) {\n parseState.args[0] = ary[2];\n this.dispatch('OSC', ary[1], parseState);\n } else {\n console.warn('Invalid OSC: ' + JSON.stringify(parseState.args[0]));\n }\n };\n\n parseState.func = parseOSC;\n};\n\n/**\n * Privacy Message (PM).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x9e'] =\nhterm.VT.ESC['^'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * Application Program Control (APC).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x9f'] =\nhterm.VT.ESC['_'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * ESC \\x20 - Unclear to me where these originated, possibly in xterm.\n *\n * Not currently implemented:\n * ESC \\x20 F - Select 7 bit escape codes in responses (S7C1T).\n * ESC \\x20 G - Select 8 bit escape codes in responses (S8C1T).\n * NB: We currently assume S7C1T always.\n *\n * Will not implement:\n * ESC \\x20 L - Set ANSI conformance level 1.\n * ESC \\x20 M - Set ANSI conformance level 2.\n * ESC \\x20 N - Set ANSI conformance level 3.\n */\nhterm.VT.ESC['\\x20'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (this.warnUnimplemented)\n console.warn('Unimplemented sequence: ESC 0x20 ' + ch);\n parseState.resetParseFunction();\n };\n};\n\n/**\n * DEC 'ESC #' sequences.\n */\nhterm.VT.ESC['#'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (ch == '8') // DEC Screen Alignment Test (DECALN)\n this.terminal.fill('E');\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Designate Other Coding System (DOCS).\n */\nhterm.VT.ESC['%'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n\n // If we've locked the encoding, then just eat the bytes and return.\n if (this.codingSystemLocked_) {\n if (ch == '/')\n parseState.consumeChar();\n parseState.resetParseFunction();\n return;\n }\n\n // Process the encoding requests.\n switch (ch) {\n case '@':\n // Switch to ECMA 35.\n this.setEncoding('iso-2022');\n break;\n\n case 'G':\n // Switch to UTF-8.\n this.setEncoding('utf-8');\n break;\n\n case '/':\n // One way transition to something else.\n ch = parseState.consumeChar();\n switch (ch) {\n case 'G': // UTF-8 Level 1.\n case 'H': // UTF-8 Level 2.\n case 'I': // UTF-8 Level 3.\n // We treat all UTF-8 levels the same.\n this.setEncoding('utf-8-locked');\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unknown ESC % / argument: ' + JSON.stringify(ch));\n break;\n }\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unknown ESC % argument: ' + JSON.stringify(ch));\n break;\n }\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Character Set Selection (SCS).\n *\n * ESC ( Ps - Set G0 character set (VT100).\n * ESC ) Ps - Set G1 character set (VT220).\n * ESC * Ps - Set G2 character set (VT220).\n * ESC + Ps - Set G3 character set (VT220).\n * ESC - Ps - Set G1 character set (VT300).\n * ESC . Ps - Set G2 character set (VT300).\n * ESC / Ps - Set G3 character set (VT300).\n *\n * All other sequences are echoed to the terminal.\n */\nhterm.VT.ESC['('] =\nhterm.VT.ESC[')'] =\nhterm.VT.ESC['*'] =\nhterm.VT.ESC['+'] =\nhterm.VT.ESC['-'] =\nhterm.VT.ESC['.'] =\nhterm.VT.ESC['/'] = function(parseState, code) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (ch == '\\x1b') {\n parseState.resetParseFunction();\n parseState.func();\n return;\n }\n\n var map = this.characterMaps.getMap(ch);\n if (map !== undefined) {\n if (code == '(') {\n this.G0 = map;\n } else if (code == ')' || code == '-') {\n this.G1 = map;\n } else if (code == '*' || code == '.') {\n this.G2 = map;\n } else if (code == '+' || code == '/') {\n this.G3 = map;\n }\n } else if (this.warnUnimplemented) {\n console.log('Invalid character set for \"' + code + '\": ' + ch);\n }\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Back Index (DECBI).\n *\n * VT420 and up. Not currently implemented.\n */\nhterm.VT.ESC['6'] = hterm.VT.ignore;\n\n/**\n * Save Cursor (DECSC).\n */\nhterm.VT.ESC['7'] = function() {\n this.savedState_.save();\n};\n\n/**\n * Restore Cursor (DECRC).\n */\nhterm.VT.ESC['8'] = function() {\n this.savedState_.restore();\n};\n\n/**\n * Forward Index (DECFI).\n *\n * VT210 and up. Not currently implemented.\n */\nhterm.VT.ESC['9'] = hterm.VT.ignore;\n\n/**\n * Application keypad (DECKPAM).\n */\nhterm.VT.ESC['='] = function() {\n this.terminal.keyboard.applicationKeypad = true;\n};\n\n/**\n * Normal keypad (DECKPNM).\n */\nhterm.VT.ESC['>'] = function() {\n this.terminal.keyboard.applicationKeypad = false;\n};\n\n/**\n * Cursor to lower left corner of screen.\n *\n * Will not implement.\n *\n * This is only recognized by xterm when the hpLowerleftBugCompat resource is\n * set.\n */\nhterm.VT.ESC['F'] = hterm.VT.ignore;\n\n/**\n * Full Reset (RIS).\n */\nhterm.VT.ESC['c'] = function() {\n this.reset();\n this.terminal.reset();\n};\n\n/**\n * Memory lock/unlock.\n *\n * Will not implement.\n */\nhterm.VT.ESC['l'] =\nhterm.VT.ESC['m'] = hterm.VT.ignore;\n\n/**\n * Lock Shift 2 (LS2)\n *\n * Invoke the G2 Character Set as GL.\n */\nhterm.VT.ESC['n'] = function() {\n this.GL = 'G2';\n};\n\n/**\n * Lock Shift 3 (LS3)\n *\n * Invoke the G3 Character Set as GL.\n */\nhterm.VT.ESC['o'] = function() {\n this.GL = 'G3';\n};\n\n/**\n * Lock Shift 2, Right (LS3R)\n *\n * Invoke the G3 Character Set as GR.\n */\nhterm.VT.ESC['|'] = function() {\n this.GR = 'G3';\n};\n\n/**\n * Lock Shift 2, Right (LS2R)\n *\n * Invoke the G2 Character Set as GR.\n */\nhterm.VT.ESC['}'] = function() {\n this.GR = 'G2';\n};\n\n/**\n * Lock Shift 1, Right (LS1R)\n *\n * Invoke the G1 Character Set as GR.\n */\nhterm.VT.ESC['~'] = function() {\n this.GR = 'G1';\n};\n\n/**\n * Change icon name and window title.\n *\n * We only change the window title.\n */\nhterm.VT.OSC['0'] = function(parseState) {\n this.terminal.setWindowTitle(parseState.args[0]);\n};\n\n/**\n * Change window title.\n */\nhterm.VT.OSC['2'] = hterm.VT.OSC['0'];\n\n/**\n * Set/read color palette.\n */\nhterm.VT.OSC['4'] = function(parseState) {\n // Args come in as a single 'index1;rgb1 ... ;indexN;rgbN' string.\n // We split on the semicolon and iterate through the pairs.\n var args = parseState.args[0].split(';');\n\n var pairCount = parseInt(args.length / 2);\n var colorPalette = this.terminal.getTextAttributes().colorPalette;\n var responseArray = [];\n\n for (var pairNumber = 0; pairNumber < pairCount; ++pairNumber) {\n var colorIndex = parseInt(args[pairNumber * 2]);\n var colorValue = args[pairNumber * 2 + 1];\n\n if (colorIndex >= colorPalette.length)\n continue;\n\n if (colorValue == '?') {\n // '?' means we should report back the current color value.\n colorValue = lib.colors.rgbToX11(colorPalette[colorIndex]);\n if (colorValue)\n responseArray.push(colorIndex + ';' + colorValue);\n\n continue;\n }\n\n colorValue = lib.colors.x11ToCSS(colorValue);\n if (colorValue)\n colorPalette[colorIndex] = colorValue;\n }\n\n if (responseArray.length)\n this.terminal.io.sendString('\\x1b]4;' + responseArray.join(';') + '\\x07');\n};\n\n/**\n * iTerm2 growl notifications.\n */\nhterm.VT.OSC['9'] = function(parseState) {\n // This just dumps the entire string as the message.\n hterm.notify({'body': parseState.args[0]});\n};\n\n/**\n * Change VT100 text foreground color.\n */\nhterm.VT.OSC['10'] = function(parseState) {\n // Args come in as a single string, but extra args will chain to the following\n // OSC sequences.\n var args = parseState.args[0].split(';');\n if (!args)\n return;\n\n var colorArg;\n var colorX11 = lib.colors.x11ToCSS(args.shift());\n if (colorX11)\n this.terminal.setForegroundColor(colorX11);\n\n if (args.length > 0) {\n parseState.args[0] = args.join(';');\n hterm.VT.OSC['11'].apply(this, [parseState]);\n }\n};\n\n/**\n * Change VT100 text background color.\n */\nhterm.VT.OSC['11'] = function(parseState) {\n // Args come in as a single string, but extra args will chain to the following\n // OSC sequences.\n var args = parseState.args[0].split(';');\n if (!args)\n return;\n\n var colorArg;\n var colorX11 = lib.colors.x11ToCSS(args.shift());\n if (colorX11)\n this.terminal.setBackgroundColor(colorX11);\n\n /* Note: If we support OSC 12+, we'd chain it here.\n if (args.length > 0) {\n parseState.args[0] = args.join(';');\n hterm.VT.OSC['12'].apply(this, [parseState]);\n }\n */\n};\n\n/**\n * Set the cursor shape.\n *\n * Parameter is expected to be in the form \"CursorShape=number\", where number is\n * one of:\n *\n * 0 - Block\n * 1 - I-Beam\n * 2 - Underline\n *\n * This is a bit of a de-facto standard supported by iTerm 2 and Konsole. See\n * also: DECSCUSR.\n *\n * Invalid numbers will restore the cursor to the block shape.\n */\nhterm.VT.OSC['50'] = function(parseState) {\n var args = parseState.args[0].match(/CursorShape=(.)/i);\n if (!args) {\n console.warn('Could not parse OSC 50 args: ' + parseState.args[0]);\n return;\n }\n\n switch (args[1]) {\n case '1': // CursorShape=1: I-Beam.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n break;\n\n case '2': // CursorShape=2: Underline.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n break;\n\n default: // CursorShape=0: Block.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n }\n};\n\n/**\n * Set/read system clipboard.\n *\n * Read is not implemented due to security considerations. A remote app\n * that is able to both write and read to the clipboard could essentially\n * take over your session.\n *\n * The clipboard data will be decoded according to the 'receive-encoding'\n * preference.\n */\nhterm.VT.OSC['52'] = function(parseState) {\n // Args come in as a single 'clipboard;b64-data' string. The clipboard\n // parameter is used to select which of the X clipboards to address. Since\n // we're not integrating with X, we treat them all the same.\n var args = parseState.args[0].match(/^[cps01234567]*;(.*)/);\n if (!args)\n return;\n\n var data = window.atob(args[1]);\n if (data)\n this.terminal.copyStringToClipboard(this.decode(data));\n};\n\n/**\n * URxvt perl modules.\n *\n * This is the escape system used by rxvt-unicode and its perl modules.\n * Obviously we don't support perl or custom modules, so we list a few common\n * ones that we find useful.\n *\n * Technically there is no format here, but most modules obey:\n * ;\n */\nhterm.VT.OSC['777'] = function(parseState) {\n var ary;\n var urxvtMod = parseState.args[0].split(';', 1)[0];\n\n switch (urxvtMod) {\n case 'notify':\n // Format:\n // notify;title;message\n var title, message;\n ary = parseState.args[0].match(/^[^;]+;([^;]*)(;([\\s\\S]*))?$/);\n if (ary) {\n title = ary[1];\n message = ary[3];\n }\n hterm.notify({'title': title, 'body': message});\n break;\n\n default:\n console.warn('Unknown urxvt module: ' + parseState.args[0]);\n break;\n }\n};\n\n/**\n * Insert (blank) characters (ICH).\n */\nhterm.VT.CSI['@'] = function(parseState) {\n this.terminal.insertSpace(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Up (CUU).\n */\nhterm.VT.CSI['A'] = function(parseState) {\n this.terminal.cursorUp(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Down (CUD).\n */\nhterm.VT.CSI['B'] = function(parseState) {\n this.terminal.cursorDown(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Forward (CUF).\n */\nhterm.VT.CSI['C'] = function(parseState) {\n this.terminal.cursorRight(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Backward (CUB).\n */\nhterm.VT.CSI['D'] = function(parseState) {\n this.terminal.cursorLeft(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Next Line (CNL).\n *\n * This is like Cursor Down, except the cursor moves to the beginning of the\n * line as well.\n */\nhterm.VT.CSI['E'] = function(parseState) {\n this.terminal.cursorDown(parseState.iarg(0, 1));\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Cursor Preceding Line (CPL).\n *\n * This is like Cursor Up, except the cursor moves to the beginning of the\n * line as well.\n */\nhterm.VT.CSI['F'] = function(parseState) {\n this.terminal.cursorUp(parseState.iarg(0, 1));\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Cursor Character Absolute (CHA).\n */\nhterm.VT.CSI['G'] = function(parseState) {\n this.terminal.setCursorColumn(parseState.iarg(0, 1) - 1);\n};\n\n/**\n * Cursor Position (CUP).\n */\nhterm.VT.CSI['H'] = function(parseState) {\n this.terminal.setCursorPosition(parseState.iarg(0, 1) - 1,\n parseState.iarg(1, 1) - 1);\n};\n\n/**\n * Cursor Forward Tabulation (CHT).\n */\nhterm.VT.CSI['I'] = function(parseState) {\n var count = parseState.iarg(0, 1);\n count = lib.f.clamp(count, 1, this.terminal.screenSize.width);\n for (var i = 0; i < count; i++) {\n this.terminal.forwardTabStop();\n }\n};\n\n/**\n * Erase in Display (ED, DECSED).\n */\nhterm.VT.CSI['J'] =\nhterm.VT.CSI['?J'] = function(parseState, code) {\n var arg = parseState.args[0];\n\n if (!arg || arg == 0) {\n this.terminal.eraseBelow();\n } else if (arg == 1) {\n this.terminal.eraseAbove();\n } else if (arg == 2) {\n this.terminal.clear();\n } else if (arg == 3) {\n // The xterm docs say this means \"Erase saved lines\", but we'll just clear\n // the display since killing the scrollback seems rude.\n this.terminal.clear();\n }\n};\n\n/**\n * Erase in line (EL, DECSEL).\n */\nhterm.VT.CSI['K'] =\nhterm.VT.CSI['?K'] = function(parseState, code) {\n var arg = parseState.args[0];\n\n if (!arg || arg == 0) {\n this.terminal.eraseToRight();\n } else if (arg == 1) {\n this.terminal.eraseToLeft();\n } else if (arg == 2) {\n this.terminal.eraseLine();\n }\n};\n\n/**\n * Insert Lines (IL).\n */\nhterm.VT.CSI['L'] = function(parseState) {\n this.terminal.insertLines(parseState.iarg(0, 1));\n};\n\n/**\n * Delete Lines (DL).\n */\nhterm.VT.CSI['M'] = function(parseState) {\n this.terminal.deleteLines(parseState.iarg(0, 1));\n};\n\n/**\n * Delete Characters (DCH).\n *\n * This command shifts the line contents left, starting at the cursor position.\n */\nhterm.VT.CSI['P'] = function(parseState) {\n this.terminal.deleteChars(parseState.iarg(0, 1));\n};\n\n/**\n * Scroll Up (SU).\n */\nhterm.VT.CSI['S'] = function(parseState) {\n this.terminal.vtScrollUp(parseState.iarg(0, 1));\n};\n\n/**\n * Scroll Down (SD).\n * Also 'Initiate highlight mouse tracking'. Will not implement this part.\n */\nhterm.VT.CSI['T'] = function(parseState) {\n if (parseState.args.length <= 1)\n this.terminal.vtScrollDown(parseState.iarg(0, 1));\n};\n\n/**\n * Reset one or more features of the title modes to the default value.\n *\n * ESC [ > Ps T\n *\n * Normally, \"reset\" disables the feature. It is possible to disable the\n * ability to reset features by compiling a different default for the title\n * modes into xterm.\n *\n * Ps values:\n * 0 - Do not set window/icon labels using hexadecimal.\n * 1 - Do not query window/icon labels using hexadecimal.\n * 2 - Do not set window/icon labels using UTF-8.\n * 3 - Do not query window/icon labels using UTF-8.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>T'] = hterm.VT.ignore;\n\n/**\n * Erase Characters (ECH).\n */\nhterm.VT.CSI['X'] = function(parseState) {\n this.terminal.eraseToRight(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Backward Tabulation (CBT).\n */\nhterm.VT.CSI['Z'] = function(parseState) {\n var count = parseState.iarg(0, 1);\n count = lib.f.clamp(count, 1, this.terminal.screenSize.width);\n for (var i = 0; i < count; i++) {\n this.terminal.backwardTabStop();\n }\n};\n\n/**\n * Character Position Absolute (HPA).\n *\n * Same as Cursor Character Absolute (CHA).\n */\nhterm.VT.CSI['`'] = hterm.VT.CSI['G'];\n\n/**\n * Character Position Relative (HPR).\n */\nhterm.VT.CSI['a'] = function(parseState) {\n this.terminal.setCursorColumn(this.terminal.getCursorColumn() +\n parseState.iarg(0, 1));\n};\n\n/**\n * Repeat the preceding graphic character.\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['b'] = hterm.VT.ignore;\n\n/**\n * Send Device Attributes (Primary DA).\n *\n * TODO(rginda): This is hardcoded to send back 'VT100 with Advanced Video\n * Option', but it may be more correct to send a VT220 response once\n * we fill out the 'Not currently implemented' parts.\n */\nhterm.VT.CSI['c'] = function(parseState) {\n if (!parseState.args[0] || parseState.args[0] == 0) {\n this.terminal.io.sendString('\\x1b[?1;2c');\n }\n};\n\n/**\n * Send Device Attributes (Secondary DA).\n *\n * TODO(rginda): This is hardcoded to send back 'VT100' but it may be more\n * correct to send a VT220 response once we fill out more 'Not currently\n * implemented' parts.\n */\nhterm.VT.CSI['>c'] = function(parseState) {\n this.terminal.io.sendString('\\x1b[>0;256;0c');\n};\n\n/**\n * Line Position Absolute (VPA).\n */\nhterm.VT.CSI['d'] = function(parseState) {\n this.terminal.setAbsoluteCursorRow(parseState.iarg(0, 1) - 1);\n};\n\n/**\n * Horizontal and Vertical Position (HVP).\n *\n * Same as Cursor Position (CUP).\n */\nhterm.VT.CSI['f'] = hterm.VT.CSI['H'];\n\n/**\n * Tab Clear (TBC).\n */\nhterm.VT.CSI['g'] = function(parseState) {\n if (!parseState.args[0] || parseState.args[0] == 0) {\n // Clear tab stop at cursor.\n this.terminal.clearTabStopAtCursor(false);\n } else if (parseState.args[0] == 3) {\n // Clear all tab stops.\n this.terminal.clearAllTabStops();\n }\n};\n\n/**\n * Set Mode (SM).\n */\nhterm.VT.CSI['h'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setANSIMode(parseState.args[i], true);\n }\n};\n\n/**\n * DEC Private Mode Set (DECSET).\n */\nhterm.VT.CSI['?h'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setDECMode(parseState.args[i], true);\n }\n};\n\n/**\n * Media Copy (MC).\n * Media Copy (MC, DEC Specific).\n *\n * These commands control the printer. Will not implement.\n */\nhterm.VT.CSI['i'] =\nhterm.VT.CSI['?i'] = hterm.VT.ignore;\n\n/**\n * Reset Mode (RM).\n */\nhterm.VT.CSI['l'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setANSIMode(parseState.args[i], false);\n }\n};\n\n/**\n * DEC Private Mode Reset (DECRST).\n */\nhterm.VT.CSI['?l'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setDECMode(parseState.args[i], false);\n }\n};\n\n/**\n * Character Attributes (SGR).\n *\n * Iterate through the list of arguments, applying the attribute changes based\n * on the argument value...\n */\nhterm.VT.CSI['m'] = function(parseState) {\n function get256(i) {\n if (parseState.args.length < i + 2 || parseState.args[i + 1] != 5)\n return null;\n\n return parseState.iarg(i + 2, 0);\n }\n\n function getTrueColor(i) {\n if (parseState.args.length < i + 5 || parseState.args[i + 1] != 2)\n return null;\n var r = parseState.iarg(i + 2, 0);\n var g = parseState.iarg(i + 3, 0);\n var b = parseState.iarg(i + 4, 0);\n\n return 'rgb(' + r + ' ,' + g + ' ,' + b + ')';\n }\n\n var attrs = this.terminal.getTextAttributes();\n\n if (!parseState.args.length) {\n attrs.reset();\n return;\n }\n\n for (var i = 0; i < parseState.args.length; i++) {\n var arg = parseState.iarg(i, 0);\n\n if (arg < 30) {\n if (arg == 0) { // Normal (default).\n attrs.reset();\n } else if (arg == 1) { // Bold.\n attrs.bold = true;\n } else if (arg == 2) { // Faint.\n attrs.faint = true;\n } else if (arg == 3) { // Italic.\n attrs.italic = true;\n } else if (arg == 4) { // Underline.\n attrs.underline = true;\n } else if (arg == 5) { // Blink.\n attrs.blink = true;\n } else if (arg == 7) { // Inverse.\n attrs.inverse = true;\n } else if (arg == 8) { // Invisible.\n attrs.invisible = true;\n } else if (arg == 9) { // Crossed out.\n attrs.strikethrough = true;\n } else if (arg == 22) { // Not bold & not faint.\n attrs.bold = false;\n attrs.faint = false;\n } else if (arg == 23) { // Not italic.\n attrs.italic = false;\n } else if (arg == 24) { // Not underlined.\n attrs.underline = false;\n } else if (arg == 25) { // Not blink.\n attrs.blink = false;\n } else if (arg == 27) { // Steady.\n attrs.inverse = false;\n } else if (arg == 28) { // Visible.\n attrs.invisible = false;\n } else if (arg == 29) { // Not crossed out.\n attrs.strikethrough = false;\n }\n\n } else if (arg < 50) {\n // Select fore/background color from bottom half of 16 color palette\n // or from the 256 color palette or alternative specify color in fully\n // qualified rgb(r, g, b) form.\n if (arg < 38) {\n attrs.foregroundSource = arg - 30;\n\n } else if (arg == 38) {\n // First check for true color definition\n var trueColor = getTrueColor(i);\n if (trueColor != null) {\n attrs.foregroundSource = attrs.SRC_RGB;\n attrs.foreground = trueColor;\n\n i += 5;\n } else {\n // Check for 256 color\n var c = get256(i);\n if (c == null)\n break;\n\n i += 2;\n\n if (c >= attrs.colorPalette.length)\n continue;\n\n attrs.foregroundSource = c;\n }\n\n } else if (arg == 39) {\n attrs.foregroundSource = attrs.SRC_DEFAULT;\n\n } else if (arg < 48) {\n attrs.backgroundSource = arg - 40;\n\n } else if (arg == 48) {\n // First check for true color definition\n var trueColor = getTrueColor(i);\n if (trueColor != null) {\n attrs.backgroundSource = attrs.SRC_RGB;\n attrs.background = trueColor;\n\n i += 5;\n } else {\n // Check for 256 color\n var c = get256(i);\n if (c == null)\n break;\n\n i += 2;\n\n if (c >= attrs.colorPalette.length)\n continue;\n\n attrs.backgroundSource = c;\n }\n } else {\n attrs.backgroundSource = attrs.SRC_DEFAULT;\n }\n\n } else if (arg >= 90 && arg <= 97) {\n attrs.foregroundSource = arg - 90 + 8;\n\n } else if (arg >= 100 && arg <= 107) {\n attrs.backgroundSource = arg - 100 + 8;\n }\n }\n\n attrs.setDefaults(this.terminal.getForegroundColor(),\n this.terminal.getBackgroundColor());\n};\n\n/**\n * Set xterm-specific keyboard modes.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>m'] = hterm.VT.ignore;\n\n/**\n * Device Status Report (DSR, DEC Specific).\n *\n * 5 - Status Report. Result (OK) is CSI 0 n\n * 6 - Report Cursor Position (CPR) [row;column]. Result is CSI r ; c R\n */\nhterm.VT.CSI['n'] = function(parseState) {\n if (parseState.args[0] == 5) {\n this.terminal.io.sendString('\\x1b0n');\n } else if (parseState.args[0] == 6) {\n var row = this.terminal.getCursorRow() + 1;\n var col = this.terminal.getCursorColumn() + 1;\n this.terminal.io.sendString('\\x1b[' + row + ';' + col + 'R');\n }\n};\n\n/**\n * Disable modifiers which may be enabled via CSI['>m'].\n *\n * Will not implement.\n */\nhterm.VT.CSI['>n'] = hterm.VT.ignore;\n\n/**\n * Device Status Report (DSR, DEC Specific).\n *\n * 6 - Report Cursor Position (CPR) [row;column] as CSI ? r ; c R\n * 15 - Report Printer status as CSI ? 1 0 n (ready) or\n * CSI ? 1 1 n (not ready).\n * 25 - Report UDK status as CSI ? 2 0 n (unlocked) or CSI ? 2 1 n (locked).\n * 26 - Report Keyboard status as CSI ? 2 7 ; 1 ; 0 ; 0 n (North American).\n * The last two parameters apply to VT400 & up, and denote keyboard ready\n * and LK01 respectively.\n * 53 - Report Locator status as CSI ? 5 3 n Locator available, if compiled-in,\n * or CSI ? 5 0 n No Locator, if not.\n */\nhterm.VT.CSI['?n'] = function(parseState) {\n if (parseState.args[0] == 6) {\n var row = this.terminal.getCursorRow() + 1;\n var col = this.terminal.getCursorColumn() + 1;\n this.terminal.io.sendString('\\x1b[' + row + ';' + col + 'R');\n } else if (parseState.args[0] == 15) {\n this.terminal.io.sendString('\\x1b[?11n');\n } else if (parseState.args[0] == 25) {\n this.terminal.io.sendString('\\x1b[?21n');\n } else if (parseState.args[0] == 26) {\n this.terminal.io.sendString('\\x1b[?12;1;0;0n');\n } else if (parseState.args[0] == 53) {\n this.terminal.io.sendString('\\x1b[?50n');\n }\n};\n\n/**\n * This is used by xterm to decide whether to hide the pointer cursor as the\n * user types.\n *\n * Valid values for the parameter:\n * 0 - Never hide the pointer.\n * 1 - Hide if the mouse tracking mode is not enabled.\n * 2 - Always hide the pointer.\n *\n * If no parameter is given, xterm uses the default, which is 1.\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['>p'] = hterm.VT.ignore;\n\n/**\n * Soft terminal reset (DECSTR).\n */\nhterm.VT.CSI['!p'] = function() {\n this.reset();\n this.terminal.softReset();\n};\n\n/**\n * Request ANSI Mode (DECRQM).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['$p'] = hterm.VT.ignore;\nhterm.VT.CSI['?$p'] = hterm.VT.ignore;\n\n/**\n * Set conformance level (DECSCL).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\"p'] = hterm.VT.ignore;\n\n/**\n * Load LEDs (DECLL).\n *\n * Not currently implemented. Could be implemented as virtual LEDs overlaying\n * the terminal if anyone cares.\n */\nhterm.VT.CSI['q'] = hterm.VT.ignore;\n\n/**\n * Set cursor style (DECSCUSR, VT520).\n */\nhterm.VT.CSI[' q'] = function(parseState) {\n var arg = parseState.args[0];\n\n if (arg == 0 || arg == 1) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n this.terminal.setCursorBlink(true);\n } else if (arg == 2) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n this.terminal.setCursorBlink(false);\n } else if (arg == 3) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n this.terminal.setCursorBlink(true);\n } else if (arg == 4) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n this.terminal.setCursorBlink(false);\n } else if (arg == 5) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n this.terminal.setCursorBlink(true);\n } else if (arg == 6) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n this.terminal.setCursorBlink(false);\n } else {\n console.warn('Unknown cursor style: ' + arg);\n }\n};\n\n/**\n * Select character protection attribute (DECSCA).\n *\n * Will not implement.\n */\nhterm.VT.CSI['\"q'] = hterm.VT.ignore;\n\n/**\n * Set Scrolling Region (DECSTBM).\n */\nhterm.VT.CSI['r'] = function(parseState) {\n var args = parseState.args;\n var scrollTop = args[0] ? parseInt(args[0], 10) -1 : null;\n var scrollBottom = args[1] ? parseInt(args[1], 10) - 1 : null;\n this.terminal.setVTScrollRegion(scrollTop, scrollBottom);\n this.terminal.setCursorPosition(0, 0);\n};\n\n/**\n * Restore DEC Private Mode Values.\n *\n * Will not implement.\n */\nhterm.VT.CSI['?r'] = hterm.VT.ignore;\n\n/**\n * Change Attributes in Rectangular Area (DECCARA)\n *\n * Will not implement.\n */\nhterm.VT.CSI['$r'] = hterm.VT.ignore;\n\n/**\n * Save cursor (ANSI.SYS)\n */\nhterm.VT.CSI['s'] = function() {\n this.savedState_.save();\n};\n\n/**\n * Save DEC Private Mode Values.\n *\n * Will not implement.\n */\nhterm.VT.CSI['?s'] = hterm.VT.ignore;\n\n/**\n * Window manipulation (from dtterm, as well as extensions).\n *\n * Will not implement.\n */\nhterm.VT.CSI['t'] = hterm.VT.ignore;\n\n/**\n * Reverse Attributes in Rectangular Area (DECRARA).\n *\n * Will not implement.\n */\nhterm.VT.CSI['$t'] = hterm.VT.ignore;\n\n/**\n * Set one or more features of the title modes.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>t'] = hterm.VT.ignore;\n\n/**\n * Set warning-bell volume (DECSWBV, VT520).\n *\n * Will not implement.\n */\nhterm.VT.CSI[' t'] = hterm.VT.ignore;\n\n/**\n * Restore cursor (ANSI.SYS).\n */\nhterm.VT.CSI['u'] = function() {\n this.savedState_.restore();\n};\n\n/**\n * Set margin-bell volume (DECSMBV, VT520).\n *\n * Will not implement.\n */\nhterm.VT.CSI[' u'] = hterm.VT.ignore;\n\n/**\n * Copy Rectangular Area (DECCRA, VT400 and up).\n *\n * Will not implement.\n */\nhterm.VT.CSI['$v'] = hterm.VT.ignore;\n\n/**\n * Enable Filter Rectangle (DECEFR).\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'w'] = hterm.VT.ignore;\n\n/**\n * Request Terminal Parameters (DECREQTPARM).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['x'] = hterm.VT.ignore;\n\n/**\n * Select Attribute Change Extent (DECSACE).\n *\n * Will not implement.\n */\nhterm.VT.CSI['*x'] = hterm.VT.ignore;\n\n/**\n * Fill Rectangular Area (DECFRA), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['$x'] = hterm.VT.ignore;\n\n/**\n * vt_tiledata (as used by NAOhack and UnNetHack)\n * (see https://nethackwiki.com/wiki/Vt_tiledata for more info)\n *\n * Implemented as far as we care (start a glyph and end a glyph).\n */\nhterm.VT.CSI['z'] = function(parseState) {\n if (parseState.args.length < 1)\n return;\n var arg = parseState.args[0];\n if (arg == 0) {\n // Start a glyph (one parameter, the glyph number).\n if (parseState.args.length < 2)\n return;\n this.terminal.getTextAttributes().tileData = parseState.args[1];\n } else if (arg == 1) {\n // End a glyph.\n this.terminal.getTextAttributes().tileData = null;\n }\n};\n\n/**\n * Enable Locator Reporting (DECELR).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'z'] = hterm.VT.ignore;\n\n/**\n * Erase Rectangular Area (DECERA), VT400 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['$z'] = hterm.VT.ignore;\n\n/**\n * Select Locator Events (DECSLE).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'{'] = hterm.VT.ignore;\n\n/**\n * Request Locator Position (DECRQLP).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'|'] = hterm.VT.ignore;\n\n/**\n * Insert Columns (DECIC), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'}'] = hterm.VT.ignore;\n\n/**\n * Delete P s Columns (DECDC), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'~'] = hterm.VT.ignore;\n// SOURCE FILE: hterm/js/hterm_vt_character_map.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f');\n\n/**\n * Character map object.\n *\n * Mapping from received to display character, used depending on the active\n * VT character set.\n *\n * GR maps are not currently supported.\n *\n * @param {string} description A human readable description of this map.\n * @param {Object} glmap The GL mapping from input to output characters.\n */\nhterm.VT.CharacterMap = function(description, glmap) {\n /**\n * Short description for this character set, useful for debugging.\n */\n this.description = description;\n\n /**\n * The function to call to when this map is installed in GL.\n */\n this.GL = null;\n\n // Always keep an unmodified reference to the map.\n // This allows us to sanely reset back to the original state.\n this.glmapBase_ = glmap;\n\n // Now sync the internal state as needed.\n this.sync_();\n};\n\n/**\n * Internal helper for resyncing internal state.\n *\n * Used when the mappings change.\n *\n * @param {Object?} opt_glmap Additional mappings to overlay on top of the\n * base mapping.\n */\nhterm.VT.CharacterMap.prototype.sync_ = function(opt_glmap) {\n // If there are no maps, then reset the state back.\n if (!this.glmapBase_ && !opt_glmap) {\n this.GL = null;\n delete this.glmap_;\n delete this.glre_;\n return;\n }\n\n // Set the the GL mapping. If we're given a custom mapping, then create a\n // new object to hold the merged map. This way we can cleanly reset back.\n if (opt_glmap)\n this.glmap_ = Object.assign({}, this.glmapBase_, opt_glmap);\n else\n this.glmap_ = this.glmapBase_;\n\n var glchars = Object.keys(this.glmap_).map((key) =>\n '\\\\x' + lib.f.zpad(key.charCodeAt(0).toString(16)));\n this.glre_ = new RegExp('[' + glchars.join('') + ']', 'g');\n\n this.GL = (str) => str.replace(this.glre_, (ch) => this.glmap_[ch]);\n};\n\n/**\n * Reset map back to original mappings (discarding runtime updates).\n *\n * Specifically, any calls to setOverrides will be discarded.\n */\nhterm.VT.CharacterMap.prototype.reset = function() {\n // If we haven't been given a custom mapping, then there's nothing to reset.\n if (this.glmap_ !== this.glmapBase_)\n this.sync_();\n};\n\n/**\n * Merge custom changes to this map.\n *\n * The input map need not duplicate the existing mappings as it is merged with\n * the existing base map (what was created with). Subsequent calls to this\n * will throw away previous override settings.\n *\n * @param {Object} glmap The custom map to override existing mappings.\n */\nhterm.VT.CharacterMap.prototype.setOverrides = function(glmap) {\n this.sync_(glmap);\n};\n\n/**\n * Return a copy of this mapping.\n *\n * @return {hterm.VT.CharacterMap} A new hterm.VT.CharacterMap instance.\n */\nhterm.VT.CharacterMap.prototype.clone = function() {\n var map = new hterm.VT.CharacterMap(this.description, this.glmapBase_);\n if (this.glmap_ !== this.glmapBase_)\n map.setOverrides(this.glmap_);\n return map;\n};\n\n/**\n * Table of character maps.\n */\nhterm.VT.CharacterMaps = function() {\n this.maps_ = hterm.VT.CharacterMaps.DefaultMaps;\n\n // Always keep an unmodified reference to the map.\n // This allows us to sanely reset back to the original state.\n this.mapsBase_ = this.maps_;\n};\n\n/**\n * Look up a previously registered map.\n *\n * @param {String} name The name of the map to lookup.\n * @return {hterm.VT.CharacterMap} The map, if it's been registered.\n */\nhterm.VT.CharacterMaps.prototype.getMap = function(name) {\n if (this.maps_.hasOwnProperty(name))\n return this.maps_[name];\n else\n return undefined;\n};\n\n/**\n * Register a new map.\n *\n * Any previously registered maps by this name will be discarded.\n *\n * @param {String} name The name of the map.\n * @param {hterm.VT.CharacterMap} map The map to register.\n */\nhterm.VT.CharacterMaps.prototype.addMap = function(name, map) {\n if (this.maps_ === this.mapsBase_)\n this.maps_ = Object.assign({}, this.mapsBase_);\n this.maps_[name] = map;\n};\n\n/**\n * Reset the table and all its maps back to original state.\n */\nhterm.VT.CharacterMaps.prototype.reset = function() {\n if (this.maps_ !== hterm.VT.CharacterMaps.DefaultMaps)\n this.maps_ = hterm.VT.CharacterMaps.DefaultMaps;\n};\n\n/**\n * Merge custom changes to this table.\n *\n * @param {Object} maps A set of hterm.VT.CharacterMap objects.\n */\nhterm.VT.CharacterMaps.prototype.setOverrides = function(maps) {\n if (this.maps_ === this.mapsBase_)\n this.maps_ = Object.assign({}, this.mapsBase_);\n\n for (var name in maps) {\n var map = this.getMap(name);\n if (map !== undefined) {\n this.maps_[name] = map.clone();\n this.maps_[name].setOverrides(maps[name]);\n } else\n this.addMap(name, new hterm.VT.CharacterMap('user ' + name, maps[name]));\n }\n};\n\n/**\n * The default set of supported character maps.\n */\nhterm.VT.CharacterMaps.DefaultMaps = {};\n\n/**\n * VT100 Graphic character map.\n * http://vt100.net/docs/vt220-rm/table2-4.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['0'] = new hterm.VT.CharacterMap(\n 'graphic', {\n '\\x60':'\\u25c6', // ` -> diamond\n '\\x61':'\\u2592', // a -> grey-box\n '\\x62':'\\u2409', // b -> h/t\n '\\x63':'\\u240c', // c -> f/f\n '\\x64':'\\u240d', // d -> c/r\n '\\x65':'\\u240a', // e -> l/f\n '\\x66':'\\u00b0', // f -> degree\n '\\x67':'\\u00b1', // g -> +/-\n '\\x68':'\\u2424', // h -> n/l\n '\\x69':'\\u240b', // i -> v/t\n '\\x6a':'\\u2518', // j -> bottom-right\n '\\x6b':'\\u2510', // k -> top-right\n '\\x6c':'\\u250c', // l -> top-left\n '\\x6d':'\\u2514', // m -> bottom-left\n '\\x6e':'\\u253c', // n -> line-cross\n '\\x6f':'\\u23ba', // o -> scan1\n '\\x70':'\\u23bb', // p -> scan3\n '\\x71':'\\u2500', // q -> scan5\n '\\x72':'\\u23bc', // r -> scan7\n '\\x73':'\\u23bd', // s -> scan9\n '\\x74':'\\u251c', // t -> left-tee\n '\\x75':'\\u2524', // u -> right-tee\n '\\x76':'\\u2534', // v -> bottom-tee\n '\\x77':'\\u252c', // w -> top-tee\n '\\x78':'\\u2502', // x -> vertical-line\n '\\x79':'\\u2264', // y -> less-equal\n '\\x7a':'\\u2265', // z -> greater-equal\n '\\x7b':'\\u03c0', // { -> pi\n '\\x7c':'\\u2260', // | -> not-equal\n '\\x7d':'\\u00a3', // } -> british-pound\n '\\x7e':'\\u00b7', // ~ -> dot\n });\n\n/**\n * British character map.\n * http://vt100.net/docs/vt220-rm/table2-5.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['A'] = new hterm.VT.CharacterMap(\n 'british', {\n '\\x23': '\\u00a3', // # -> british-pound\n });\n\n/**\n * US ASCII map, no changes.\n */\nhterm.VT.CharacterMaps.DefaultMaps['B'] = new hterm.VT.CharacterMap(\n 'us', null);\n\n/**\n * Dutch character map.\n * http://vt100.net/docs/vt220-rm/table2-6.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['4'] = new hterm.VT.CharacterMap(\n 'dutch', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00be', // @ -> 3/4\n\n '\\x5b': '\\u0132', // [ -> 'ij' ligature (xterm goes with \\u00ff?)\n '\\x5c': '\\u00bd', // \\ -> 1/2\n '\\x5d': '\\u007c', // ] -> vertical bar\n\n '\\x7b': '\\u00a8', // { -> two dots\n '\\x7c': '\\u0066', // | -> f\n '\\x7d': '\\u00bc', // } -> 1/4\n '\\x7e': '\\u00b4', // ~ -> acute\n });\n\n/**\n * Finnish character map.\n * http://vt100.net/docs/vt220-rm/table2-7.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['C'] =\nhterm.VT.CharacterMaps.DefaultMaps['5'] = new hterm.VT.CharacterMap(\n 'finnish', {\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ~ -> 'u' umlaut\n\n '\\x60': '\\u00e9', // ` -> 'e' acute\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * French character map.\n * http://vt100.net/docs/vt220-rm/table2-8.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['R'] = new hterm.VT.CharacterMap(\n 'french', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00b0', // [ -> ring\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00a7', // ] -> section symbol (double s)\n\n '\\x7b': '\\u00e9', // { -> 'e' acute\n '\\x7c': '\\u00f9', // | -> 'u' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00a8', // ~ -> umlaut\n });\n\n/**\n * French Canadian character map.\n * http://vt100.net/docs/vt220-rm/table2-9.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Q'] = new hterm.VT.CharacterMap(\n 'french canadian', {\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00e2', // [ -> 'a' circumflex\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00ea', // ] -> 'e' circumflex\n '\\x5e': '\\u00ee', // ^ -> 'i' circumflex\n\n '\\x60': '\\u00f4', // ` -> 'o' circumflex\n\n '\\x7b': '\\u00e9', // { -> 'e' acute\n '\\x7c': '\\u00f9', // | -> 'u' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00fb', // ~ -> 'u' circumflex\n });\n\n/**\n * German character map.\n * http://vt100.net/docs/vt220-rm/table2-10.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['K'] = new hterm.VT.CharacterMap(\n 'german', {\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00dc', // ] -> 'U' umlaut\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00fc', // } -> 'u' umlaut\n '\\x7e': '\\u00df', // ~ -> eszett\n });\n\n/**\n * Italian character map.\n * http://vt100.net/docs/vt220-rm/table2-11.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Y'] = new hterm.VT.CharacterMap(\n 'italian', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00b0', // [ -> ring\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00e9', // ] -> 'e' acute\n\n '\\x60': '\\u00f9', // ` -> 'u' grave\n\n '\\x7b': '\\u00e0', // { -> 'a' grave\n '\\x7c': '\\u00f2', // | -> 'o' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00ec', // ~ -> 'i' grave\n });\n\n/**\n * Norwegian/Danish character map.\n * http://vt100.net/docs/vt220-rm/table2-12.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['E'] =\nhterm.VT.CharacterMaps.DefaultMaps['6'] = new hterm.VT.CharacterMap(\n 'norwegian/danish', {\n '\\x40': '\\u00c4', // @ -> 'A' umlaut\n\n '\\x5b': '\\u00c6', // [ -> 'AE' ligature\n '\\x5c': '\\u00d8', // \\ -> 'O' stroke\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ^ -> 'U' umlaut\n\n '\\x60': '\\u00e4', // ` -> 'a' umlaut\n\n '\\x7b': '\\u00e6', // { -> 'ae' ligature\n '\\x7c': '\\u00f8', // | -> 'o' stroke\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * Spanish character map.\n * http://vt100.net/docs/vt220-rm/table2-13.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Z'] = new hterm.VT.CharacterMap(\n 'spanish', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00a1', // [ -> '!' inverted\n '\\x5c': '\\u00d1', // \\ -> 'N' tilde\n '\\x5d': '\\u00bf', // ] -> '?' inverted\n\n '\\x7b': '\\u00b0', // { -> ring\n '\\x7c': '\\u00f1', // | -> 'n' tilde\n '\\x7d': '\\u00e7', // } -> 'c' cedilla\n });\n\n/**\n * Swedish character map.\n * http://vt100.net/docs/vt220-rm/table2-14.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['7'] =\nhterm.VT.CharacterMaps.DefaultMaps['H'] = new hterm.VT.CharacterMap(\n 'swedish', {\n '\\x40': '\\u00c9', // @ -> 'E' acute\n\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ^ -> 'U' umlaut\n\n '\\x60': '\\u00e9', // ` -> 'e' acute\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * Swiss character map.\n * http://vt100.net/docs/vt220-rm/table2-15.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['='] = new hterm.VT.CharacterMap(\n 'swiss', {\n '\\x23': '\\u00f9', // # -> 'u' grave\n\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00e9', // [ -> 'e' acute\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00ea', // ] -> 'e' circumflex\n '\\x5e': '\\u00ee', // ^ -> 'i' circumflex\n '\\x5f': '\\u00e8', // _ -> 'e' grave\n\n '\\x60': '\\u00f4', // ` -> 'o' circumflex\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00fc', // } -> 'u' umlaut\n '\\x7e': '\\u00fb', // ~ -> 'u' circumflex\n });\nlib.resource.add('hterm/audio/bell', 'audio/ogg;base64',\n'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' +\n'zinmkFLKMeUcUko5p5xTzjkIHYTKMQadgxAppRxTzinHHITMQeWcg9BBKAAAIMABACDAQig0ZEUA' +\n'ECcA4HAkz5M0SxQlSxNFzxRl1xNN15U0zTQ1UVRVyxNV1VRV2xZNVbYlTRNNTfRUVRNFVRVV05ZN' +\n'VbVtzzRl2VRV3RZV1bZl2xZ+V5Z13zNNWRZV1dZNVbV115Z9X9ZtXZg0zTQ1UVRVTRRV1VRV2zZV' +\n'17Y1UXRVUVVlWVRVWXZlWfdVV9Z9SxRV1VNN2RVVVbZV2fVtVZZ94XRVXVdl2fdVWRZ+W9eF4fZ9' +\n'4RhV1dZN19V1VZZ9YdZlYbd13yhpmmlqoqiqmiiqqqmqtm2qrq1bouiqoqrKsmeqrqzKsq+rrmzr' +\n'miiqrqiqsiyqqiyrsqz7qizrtqiquq3KsrCbrqvrtu8LwyzrunCqrq6rsuz7qizruq3rxnHrujB8' +\n'pinLpqvquqm6um7runHMtm0co6rqvirLwrDKsu/rui+0dSFRVXXdlF3jV2VZ921fd55b94WybTu/' +\n'rfvKceu60vg5z28cubZtHLNuG7+t+8bzKz9hOI6lZ5q2baqqrZuqq+uybivDrOtCUVV9XZVl3zdd' +\n'WRdu3zeOW9eNoqrquirLvrDKsjHcxm8cuzAcXds2jlvXnbKtC31jyPcJz2vbxnH7OuP2daOvDAnH' +\n'jwAAgAEHAIAAE8pAoSErAoA4AQAGIecUUxAqxSB0EFLqIKRUMQYhc05KxRyUUEpqIZTUKsYgVI5J' +\n'yJyTEkpoKZTSUgehpVBKa6GU1lJrsabUYu0gpBZKaS2U0lpqqcbUWowRYxAy56RkzkkJpbQWSmkt' +\n'c05K56CkDkJKpaQUS0otVsxJyaCj0kFIqaQSU0mptVBKa6WkFktKMbYUW24x1hxKaS2kEltJKcYU' +\n'U20txpojxiBkzknJnJMSSmktlNJa5ZiUDkJKmYOSSkqtlZJSzJyT0kFIqYOOSkkptpJKTKGU1kpK' +\n'sYVSWmwx1pxSbDWU0lpJKcaSSmwtxlpbTLV1EFoLpbQWSmmttVZraq3GUEprJaUYS0qxtRZrbjHm' +\n'GkppraQSW0mpxRZbji3GmlNrNabWam4x5hpbbT3WmnNKrdbUUo0txppjbb3VmnvvIKQWSmktlNJi' +\n'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' +\n'm2L/kruPM6Q7oz4tvDQy+bZ3HzOi+gNHA4DZEgA=' +\n''\n);\n\nlib.resource.add('hterm/images/icon-96', 'image/png;base64',\n'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' +\n'ODoyNC0wNDowMNba8BsAAAAASUVORK5CYII=' +\n''\n);\n\nlib.resource.add('hterm/concat/date', 'text/plain',\n'Tue, 22 Aug 2017 06:42:31 +0000' +\n''\n);\n\nlib.resource.add('hterm/changelog/version', 'text/plain',\n'1.70' +\n''\n);\n\nlib.resource.add('hterm/changelog/date', 'text/plain',\n'2017-08-16' +\n''\n);\n\nlib.resource.add('hterm/git/HEAD', 'text/plain',\n'git rev-parse HEAD' +\n''\n);\n\n// SOURCE FILE: hterm/js/hterm_export.js\nmodule.exports = {\n hterm: hterm,\n lib: lib\n};\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/libapps/hterm/dist/js/hterm_module.js\n// module id = 14\n// module chunks = 0","import { Hterm } from \"./hterm\";\nimport { Xterm } from \"./xterm\";\nimport { Terminal, WebTTY, protocols } from \"./webtty\";\nimport { ConnectionFactory } from \"./websocket\";\n\n// @TODO remove these\ndeclare var gotty_auth_token: string;\ndeclare var gotty_term: string;\n\nconst elem = document.getElementById(\"terminal\")\n\nif (elem !== null) {\n var term: Terminal;\n if (gotty_term == \"hterm\") {\n term = new Hterm(elem);\n } else {\n term = new Xterm(elem);\n }\n const httpsEnabled = window.location.protocol == \"https:\";\n const url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws';\n const args = window.location.search;\n const factory = new ConnectionFactory(url, protocols);\n const wt = new WebTTY(term, factory, args, gotty_auth_token);\n const closer = wt.open();\n\n window.addEventListener(\"unload\", () => {\n closer();\n term.close();\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CompositionHelper = (function () {\n function CompositionHelper(textarea, compositionView, terminal) {\n this.textarea = textarea;\n this.compositionView = compositionView;\n this.terminal = terminal;\n this.isComposing = false;\n this.isSendingComposition = false;\n this.compositionPosition = { start: null, end: null };\n }\n CompositionHelper.prototype.compositionstart = function () {\n this.isComposing = true;\n this.compositionPosition.start = this.textarea.value.length;\n this.compositionView.textContent = '';\n this.compositionView.classList.add('active');\n };\n CompositionHelper.prototype.compositionupdate = function (ev) {\n var _this = this;\n this.compositionView.textContent = ev.data;\n this.updateCompositionElements();\n setTimeout(function () {\n _this.compositionPosition.end = _this.textarea.value.length;\n }, 0);\n };\n CompositionHelper.prototype.compositionend = function () {\n this.finalizeComposition(true);\n };\n CompositionHelper.prototype.keydown = function (ev) {\n if (this.isComposing || this.isSendingComposition) {\n if (ev.keyCode === 229) {\n return false;\n }\n else if (ev.keyCode === 16 || ev.keyCode === 17 || ev.keyCode === 18) {\n return false;\n }\n else {\n this.finalizeComposition(false);\n }\n }\n if (ev.keyCode === 229) {\n this.handleAnyTextareaChanges();\n return false;\n }\n return true;\n };\n CompositionHelper.prototype.finalizeComposition = function (waitForPropogation) {\n var _this = this;\n this.compositionView.classList.remove('active');\n this.isComposing = false;\n this.clearTextareaPosition();\n if (!waitForPropogation) {\n this.isSendingComposition = false;\n var input = this.textarea.value.substring(this.compositionPosition.start, this.compositionPosition.end);\n this.terminal.handler(input);\n }\n else {\n var currentCompositionPosition_1 = {\n start: this.compositionPosition.start,\n end: this.compositionPosition.end,\n };\n this.isSendingComposition = true;\n setTimeout(function () {\n if (_this.isSendingComposition) {\n _this.isSendingComposition = false;\n var input = void 0;\n if (_this.isComposing) {\n input = _this.textarea.value.substring(currentCompositionPosition_1.start, currentCompositionPosition_1.end);\n }\n else {\n input = _this.textarea.value.substring(currentCompositionPosition_1.start);\n }\n _this.terminal.handler(input);\n }\n }, 0);\n }\n };\n CompositionHelper.prototype.handleAnyTextareaChanges = function () {\n var _this = this;\n var oldValue = this.textarea.value;\n setTimeout(function () {\n if (!_this.isComposing) {\n var newValue = _this.textarea.value;\n var diff = newValue.replace(oldValue, '');\n if (diff.length > 0) {\n _this.terminal.handler(diff);\n }\n }\n }, 0);\n };\n CompositionHelper.prototype.updateCompositionElements = function (dontRecurse) {\n var _this = this;\n if (!this.isComposing) {\n return;\n }\n var cursor = this.terminal.element.querySelector('.terminal-cursor');\n if (cursor) {\n var xtermRows = this.terminal.element.querySelector('.xterm-rows');\n var cursorTop = xtermRows.offsetTop + cursor.offsetTop;\n this.compositionView.style.left = cursor.offsetLeft + 'px';\n this.compositionView.style.top = cursorTop + 'px';\n this.compositionView.style.height = cursor.offsetHeight + 'px';\n this.compositionView.style.lineHeight = cursor.offsetHeight + 'px';\n var compositionViewBounds = this.compositionView.getBoundingClientRect();\n this.textarea.style.left = cursor.offsetLeft + 'px';\n this.textarea.style.top = cursorTop + 'px';\n this.textarea.style.width = compositionViewBounds.width + 'px';\n this.textarea.style.height = compositionViewBounds.height + 'px';\n this.textarea.style.lineHeight = compositionViewBounds.height + 'px';\n }\n if (!dontRecurse) {\n setTimeout(function () { return _this.updateCompositionElements(true); }, 0);\n }\n };\n ;\n CompositionHelper.prototype.clearTextareaPosition = function () {\n this.textarea.style.left = '';\n this.textarea.style.top = '';\n };\n ;\n return CompositionHelper;\n}());\nexports.CompositionHelper = CompositionHelper;\n\n//# sourceMappingURL=CompositionHelper.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/CompositionHelper.js\n// module id = 16\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar Charsets_1 = require(\"./Charsets\");\nvar InputHandler = (function () {\n function InputHandler(_terminal) {\n this._terminal = _terminal;\n }\n InputHandler.prototype.addChar = function (char, code) {\n if (char >= ' ') {\n var ch_width = wcwidth(code);\n if (this._terminal.charset && this._terminal.charset[char]) {\n char = this._terminal.charset[char];\n }\n var row = this._terminal.y + this._terminal.ybase;\n if (!ch_width && this._terminal.x) {\n if (this._terminal.lines.get(row)[this._terminal.x - 1]) {\n if (!this._terminal.lines.get(row)[this._terminal.x - 1][2]) {\n if (this._terminal.lines.get(row)[this._terminal.x - 2])\n this._terminal.lines.get(row)[this._terminal.x - 2][1] += char;\n }\n else {\n this._terminal.lines.get(row)[this._terminal.x - 1][1] += char;\n }\n this._terminal.updateRange(this._terminal.y);\n }\n return;\n }\n if (this._terminal.x + ch_width - 1 >= this._terminal.cols) {\n if (this._terminal.wraparoundMode) {\n this._terminal.x = 0;\n this._terminal.y++;\n if (this._terminal.y > this._terminal.scrollBottom) {\n this._terminal.y--;\n this._terminal.scroll(true);\n }\n else {\n this._terminal.lines.get(this._terminal.y).isWrapped = true;\n }\n }\n else {\n if (ch_width === 2)\n return;\n }\n }\n row = this._terminal.y + this._terminal.ybase;\n if (this._terminal.insertMode) {\n for (var moves = 0; moves < ch_width; ++moves) {\n var removed = this._terminal.lines.get(this._terminal.y + this._terminal.ybase).pop();\n if (removed[2] === 0\n && this._terminal.lines.get(row)[this._terminal.cols - 2]\n && this._terminal.lines.get(row)[this._terminal.cols - 2][2] === 2) {\n this._terminal.lines.get(row)[this._terminal.cols - 2] = [this._terminal.curAttr, ' ', 1];\n }\n this._terminal.lines.get(row).splice(this._terminal.x, 0, [this._terminal.curAttr, ' ', 1]);\n }\n }\n this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, char, ch_width];\n this._terminal.x++;\n this._terminal.updateRange(this._terminal.y);\n if (ch_width === 2) {\n this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, '', 0];\n this._terminal.x++;\n }\n }\n };\n InputHandler.prototype.bell = function () {\n var _this = this;\n if (!this._terminal.visualBell) {\n return;\n }\n this._terminal.element.style.borderColor = 'white';\n setTimeout(function () { return _this._terminal.element.style.borderColor = ''; }, 10);\n if (this._terminal.popOnBell) {\n this._terminal.focus();\n }\n };\n InputHandler.prototype.lineFeed = function () {\n if (this._terminal.convertEol) {\n this._terminal.x = 0;\n }\n this._terminal.y++;\n if (this._terminal.y > this._terminal.scrollBottom) {\n this._terminal.y--;\n this._terminal.scroll();\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.carriageReturn = function () {\n this._terminal.x = 0;\n };\n InputHandler.prototype.backspace = function () {\n if (this._terminal.x > 0) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.tab = function () {\n this._terminal.x = this._terminal.nextStop();\n };\n InputHandler.prototype.shiftOut = function () {\n this._terminal.setgLevel(1);\n };\n InputHandler.prototype.shiftIn = function () {\n this._terminal.setgLevel(0);\n };\n InputHandler.prototype.insertChars = function (params) {\n var param, row, j, ch;\n param = params[0];\n if (param < 1)\n param = 1;\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.x;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param-- && j < this._terminal.cols) {\n this._terminal.lines.get(row).splice(j++, 0, ch);\n this._terminal.lines.get(row).pop();\n }\n };\n InputHandler.prototype.cursorUp = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y -= param;\n if (this._terminal.y < 0) {\n this._terminal.y = 0;\n }\n };\n InputHandler.prototype.cursorDown = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.cursorForward = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x += param;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.cursorBackward = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n this._terminal.x -= param;\n if (this._terminal.x < 0) {\n this._terminal.x = 0;\n }\n };\n InputHandler.prototype.cursorNextLine = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n this._terminal.x = 0;\n };\n ;\n InputHandler.prototype.cursorPrecedingLine = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y -= param;\n if (this._terminal.y < 0) {\n this._terminal.y = 0;\n }\n this._terminal.x = 0;\n };\n ;\n InputHandler.prototype.cursorCharAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x = param - 1;\n };\n InputHandler.prototype.cursorPosition = function (params) {\n var row, col;\n row = params[0] - 1;\n if (params.length >= 2) {\n col = params[1] - 1;\n }\n else {\n col = 0;\n }\n if (row < 0) {\n row = 0;\n }\n else if (row >= this._terminal.rows) {\n row = this._terminal.rows - 1;\n }\n if (col < 0) {\n col = 0;\n }\n else if (col >= this._terminal.cols) {\n col = this._terminal.cols - 1;\n }\n this._terminal.x = col;\n this._terminal.y = row;\n };\n InputHandler.prototype.cursorForwardTab = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.x = this._terminal.nextStop();\n }\n };\n InputHandler.prototype.eraseInDisplay = function (params) {\n var j;\n switch (params[0]) {\n case 0:\n this._terminal.eraseRight(this._terminal.x, this._terminal.y);\n j = this._terminal.y + 1;\n for (; j < this._terminal.rows; j++) {\n this._terminal.eraseLine(j);\n }\n break;\n case 1:\n this._terminal.eraseLeft(this._terminal.x, this._terminal.y);\n j = this._terminal.y;\n while (j--) {\n this._terminal.eraseLine(j);\n }\n break;\n case 2:\n j = this._terminal.rows;\n while (j--)\n this._terminal.eraseLine(j);\n break;\n case 3:\n var scrollBackSize = this._terminal.lines.length - this._terminal.rows;\n if (scrollBackSize > 0) {\n this._terminal.lines.trimStart(scrollBackSize);\n this._terminal.ybase = Math.max(this._terminal.ybase - scrollBackSize, 0);\n this._terminal.ydisp = Math.max(this._terminal.ydisp - scrollBackSize, 0);\n }\n break;\n }\n };\n InputHandler.prototype.eraseInLine = function (params) {\n switch (params[0]) {\n case 0:\n this._terminal.eraseRight(this._terminal.x, this._terminal.y);\n break;\n case 1:\n this._terminal.eraseLeft(this._terminal.x, this._terminal.y);\n break;\n case 2:\n this._terminal.eraseLine(this._terminal.y);\n break;\n }\n };\n InputHandler.prototype.insertLines = function (params) {\n var param, row, j;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.rows - 1 - this._terminal.scrollBottom;\n j = this._terminal.rows - 1 + this._terminal.ybase - j + 1;\n while (param--) {\n if (this._terminal.lines.length === this._terminal.lines.maxLength) {\n this._terminal.lines.trimStart(1);\n this._terminal.ybase--;\n this._terminal.ydisp--;\n row--;\n j--;\n }\n this._terminal.lines.splice(row, 0, this._terminal.blankLine(true));\n this._terminal.lines.splice(j, 1);\n }\n this._terminal.updateRange(this._terminal.y);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.deleteLines = function (params) {\n var param, row, j;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.rows - 1 - this._terminal.scrollBottom;\n j = this._terminal.rows - 1 + this._terminal.ybase - j;\n while (param--) {\n if (this._terminal.lines.length === this._terminal.lines.maxLength) {\n this._terminal.lines.trimStart(1);\n this._terminal.ybase -= 1;\n this._terminal.ydisp -= 1;\n }\n this._terminal.lines.splice(j + 1, 0, this._terminal.blankLine(true));\n this._terminal.lines.splice(row, 1);\n }\n this._terminal.updateRange(this._terminal.y);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.deleteChars = function (params) {\n var param, row, ch;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param--) {\n this._terminal.lines.get(row).splice(this._terminal.x, 1);\n this._terminal.lines.get(row).push(ch);\n }\n };\n InputHandler.prototype.scrollUp = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 1);\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 0, this._terminal.blankLine());\n }\n this._terminal.updateRange(this._terminal.scrollTop);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.scrollDown = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 1);\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 0, this._terminal.blankLine());\n }\n this._terminal.updateRange(this._terminal.scrollTop);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.eraseChars = function (params) {\n var param, row, j, ch;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.x;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param-- && j < this._terminal.cols) {\n this._terminal.lines.get(row)[j++] = ch;\n }\n };\n InputHandler.prototype.cursorBackwardTab = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.x = this._terminal.prevStop();\n }\n };\n InputHandler.prototype.charPosAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x = param - 1;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.HPositionRelative = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x += param;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.repeatPrecedingCharacter = function (params) {\n var param = params[0] || 1, line = this._terminal.lines.get(this._terminal.ybase + this._terminal.y), ch = line[this._terminal.x - 1] || [this._terminal.defAttr, ' ', 1];\n while (param--) {\n line[this._terminal.x++] = ch;\n }\n };\n InputHandler.prototype.sendDeviceAttributes = function (params) {\n if (params[0] > 0) {\n return;\n }\n if (!this._terminal.prefix) {\n if (this._terminal.is('xterm') || this._terminal.is('rxvt-unicode') || this._terminal.is('screen')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?1;2c');\n }\n else if (this._terminal.is('linux')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?6c');\n }\n }\n else if (this._terminal.prefix === '>') {\n if (this._terminal.is('xterm')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>0;276;0c');\n }\n else if (this._terminal.is('rxvt-unicode')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>85;95;0c');\n }\n else if (this._terminal.is('linux')) {\n this._terminal.send(params[0] + 'c');\n }\n else if (this._terminal.is('screen')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>83;40003;0c');\n }\n }\n };\n InputHandler.prototype.linePosAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y = param - 1;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n };\n InputHandler.prototype.VPositionRelative = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.HVPosition = function (params) {\n if (params[0] < 1)\n params[0] = 1;\n if (params[1] < 1)\n params[1] = 1;\n this._terminal.y = params[0] - 1;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n this._terminal.x = params[1] - 1;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.tabClear = function (params) {\n var param = params[0];\n if (param <= 0) {\n delete this._terminal.tabs[this._terminal.x];\n }\n else if (param === 3) {\n this._terminal.tabs = {};\n }\n };\n InputHandler.prototype.setMode = function (params) {\n if (params.length > 1) {\n for (var i = 0; i < params.length; i++) {\n this.setMode([params[i]]);\n }\n return;\n }\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 4:\n this._terminal.insertMode = true;\n break;\n case 20:\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 1:\n this._terminal.applicationCursor = true;\n break;\n case 2:\n this._terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(1, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(2, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(3, Charsets_1.DEFAULT_CHARSET);\n break;\n case 3:\n this._terminal.savedCols = this._terminal.cols;\n this._terminal.resize(132, this._terminal.rows);\n break;\n case 6:\n this._terminal.originMode = true;\n break;\n case 7:\n this._terminal.wraparoundMode = true;\n break;\n case 12:\n break;\n case 66:\n this._terminal.log('Serial port requested application keypad.');\n this._terminal.applicationKeypad = true;\n this._terminal.viewport.syncScrollArea();\n break;\n case 9:\n case 1000:\n case 1002:\n case 1003:\n this._terminal.x10Mouse = params[0] === 9;\n this._terminal.vt200Mouse = params[0] === 1000;\n this._terminal.normalMouse = params[0] > 1000;\n this._terminal.mouseEvents = true;\n this._terminal.element.classList.add('enable-mouse-events');\n this._terminal.selectionManager.disable();\n this._terminal.log('Binding to mouse events.');\n break;\n case 1004:\n this._terminal.sendFocus = true;\n break;\n case 1005:\n this._terminal.utfMouse = true;\n break;\n case 1006:\n this._terminal.sgrMouse = true;\n break;\n case 1015:\n this._terminal.urxvtMouse = true;\n break;\n case 25:\n this._terminal.cursorHidden = false;\n break;\n case 1049:\n ;\n case 47:\n case 1047:\n if (!this._terminal.normal) {\n var normal = {\n lines: this._terminal.lines,\n ybase: this._terminal.ybase,\n ydisp: this._terminal.ydisp,\n x: this._terminal.x,\n y: this._terminal.y,\n scrollTop: this._terminal.scrollTop,\n scrollBottom: this._terminal.scrollBottom,\n tabs: this._terminal.tabs\n };\n this._terminal.reset();\n this._terminal.viewport.syncScrollArea();\n this._terminal.normal = normal;\n this._terminal.showCursor();\n }\n break;\n }\n }\n };\n InputHandler.prototype.resetMode = function (params) {\n if (params.length > 1) {\n for (var i = 0; i < params.length; i++) {\n this.resetMode([params[i]]);\n }\n return;\n }\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 4:\n this._terminal.insertMode = false;\n break;\n case 20:\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 1:\n this._terminal.applicationCursor = false;\n break;\n case 3:\n if (this._terminal.cols === 132 && this._terminal.savedCols) {\n this._terminal.resize(this._terminal.savedCols, this._terminal.rows);\n }\n delete this._terminal.savedCols;\n break;\n case 6:\n this._terminal.originMode = false;\n break;\n case 7:\n this._terminal.wraparoundMode = false;\n break;\n case 12:\n break;\n case 66:\n this._terminal.log('Switching back to normal keypad.');\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n break;\n case 9:\n case 1000:\n case 1002:\n case 1003:\n this._terminal.x10Mouse = false;\n this._terminal.vt200Mouse = false;\n this._terminal.normalMouse = false;\n this._terminal.mouseEvents = false;\n this._terminal.element.classList.remove('enable-mouse-events');\n this._terminal.selectionManager.enable();\n break;\n case 1004:\n this._terminal.sendFocus = false;\n break;\n case 1005:\n this._terminal.utfMouse = false;\n break;\n case 1006:\n this._terminal.sgrMouse = false;\n break;\n case 1015:\n this._terminal.urxvtMouse = false;\n break;\n case 25:\n this._terminal.cursorHidden = true;\n break;\n case 1049:\n ;\n case 47:\n case 1047:\n if (this._terminal.normal) {\n this._terminal.lines = this._terminal.normal.lines;\n this._terminal.ybase = this._terminal.normal.ybase;\n this._terminal.ydisp = this._terminal.normal.ydisp;\n this._terminal.x = this._terminal.normal.x;\n this._terminal.y = this._terminal.normal.y;\n this._terminal.scrollTop = this._terminal.normal.scrollTop;\n this._terminal.scrollBottom = this._terminal.normal.scrollBottom;\n this._terminal.tabs = this._terminal.normal.tabs;\n this._terminal.normal = null;\n this._terminal.selectionManager.setBuffer(this._terminal.lines);\n this._terminal.refresh(0, this._terminal.rows - 1);\n this._terminal.viewport.syncScrollArea();\n this._terminal.showCursor();\n }\n break;\n }\n }\n };\n InputHandler.prototype.charAttributes = function (params) {\n if (params.length === 1 && params[0] === 0) {\n this._terminal.curAttr = this._terminal.defAttr;\n return;\n }\n var l = params.length, i = 0, flags = this._terminal.curAttr >> 18, fg = (this._terminal.curAttr >> 9) & 0x1ff, bg = this._terminal.curAttr & 0x1ff, p;\n for (; i < l; i++) {\n p = params[i];\n if (p >= 30 && p <= 37) {\n fg = p - 30;\n }\n else if (p >= 40 && p <= 47) {\n bg = p - 40;\n }\n else if (p >= 90 && p <= 97) {\n p += 8;\n fg = p - 90;\n }\n else if (p >= 100 && p <= 107) {\n p += 8;\n bg = p - 100;\n }\n else if (p === 0) {\n flags = this._terminal.defAttr >> 18;\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n bg = this._terminal.defAttr & 0x1ff;\n }\n else if (p === 1) {\n flags |= 1;\n }\n else if (p === 4) {\n flags |= 2;\n }\n else if (p === 5) {\n flags |= 4;\n }\n else if (p === 7) {\n flags |= 8;\n }\n else if (p === 8) {\n flags |= 16;\n }\n else if (p === 22) {\n flags &= ~1;\n }\n else if (p === 24) {\n flags &= ~2;\n }\n else if (p === 25) {\n flags &= ~4;\n }\n else if (p === 27) {\n flags &= ~8;\n }\n else if (p === 28) {\n flags &= ~16;\n }\n else if (p === 39) {\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n }\n else if (p === 49) {\n bg = this._terminal.defAttr & 0x1ff;\n }\n else if (p === 38) {\n if (params[i + 1] === 2) {\n i += 2;\n fg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff);\n if (fg === -1)\n fg = 0x1ff;\n i += 2;\n }\n else if (params[i + 1] === 5) {\n i += 2;\n p = params[i] & 0xff;\n fg = p;\n }\n }\n else if (p === 48) {\n if (params[i + 1] === 2) {\n i += 2;\n bg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff);\n if (bg === -1)\n bg = 0x1ff;\n i += 2;\n }\n else if (params[i + 1] === 5) {\n i += 2;\n p = params[i] & 0xff;\n bg = p;\n }\n }\n else if (p === 100) {\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n bg = this._terminal.defAttr & 0x1ff;\n }\n else {\n this._terminal.error('Unknown SGR attribute: %d.', p);\n }\n }\n this._terminal.curAttr = (flags << 18) | (fg << 9) | bg;\n };\n InputHandler.prototype.deviceStatus = function (params) {\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 5:\n this._terminal.send(EscapeSequences_1.C0.ESC + '[0n');\n break;\n case 6:\n this._terminal.send(EscapeSequences_1.C0.ESC + '['\n + (this._terminal.y + 1)\n + ';'\n + (this._terminal.x + 1)\n + 'R');\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 6:\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?'\n + (this._terminal.y + 1)\n + ';'\n + (this._terminal.x + 1)\n + 'R');\n break;\n case 15:\n break;\n case 25:\n break;\n case 26:\n break;\n case 53:\n break;\n }\n }\n };\n InputHandler.prototype.softReset = function (params) {\n this._terminal.cursorHidden = false;\n this._terminal.insertMode = false;\n this._terminal.originMode = false;\n this._terminal.wraparoundMode = true;\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n this._terminal.applicationCursor = false;\n this._terminal.scrollTop = 0;\n this._terminal.scrollBottom = this._terminal.rows - 1;\n this._terminal.curAttr = this._terminal.defAttr;\n this._terminal.x = this._terminal.y = 0;\n this._terminal.charset = null;\n this._terminal.glevel = 0;\n this._terminal.charsets = [null];\n };\n InputHandler.prototype.setCursorStyle = function (params) {\n var param = params[0] < 1 ? 1 : params[0];\n switch (param) {\n case 1:\n case 2:\n this._terminal.setOption('cursorStyle', 'block');\n break;\n case 3:\n case 4:\n this._terminal.setOption('cursorStyle', 'underline');\n break;\n case 5:\n case 6:\n this._terminal.setOption('cursorStyle', 'bar');\n break;\n }\n var isBlinking = param % 2 === 1;\n this._terminal.setOption('cursorBlink', isBlinking);\n };\n InputHandler.prototype.setScrollRegion = function (params) {\n if (this._terminal.prefix)\n return;\n this._terminal.scrollTop = (params[0] || 1) - 1;\n this._terminal.scrollBottom = (params[1] && params[1] <= this._terminal.rows ? params[1] : this._terminal.rows) - 1;\n this._terminal.x = 0;\n this._terminal.y = 0;\n };\n InputHandler.prototype.saveCursor = function (params) {\n this._terminal.savedX = this._terminal.x;\n this._terminal.savedY = this._terminal.y;\n };\n InputHandler.prototype.restoreCursor = function (params) {\n this._terminal.x = this._terminal.savedX || 0;\n this._terminal.y = this._terminal.savedY || 0;\n };\n return InputHandler;\n}());\nexports.InputHandler = InputHandler;\nvar wcwidth = (function (opts) {\n var COMBINING = [\n [0x0300, 0x036F], [0x0483, 0x0486], [0x0488, 0x0489],\n [0x0591, 0x05BD], [0x05BF, 0x05BF], [0x05C1, 0x05C2],\n [0x05C4, 0x05C5], [0x05C7, 0x05C7], [0x0600, 0x0603],\n [0x0610, 0x0615], [0x064B, 0x065E], [0x0670, 0x0670],\n [0x06D6, 0x06E4], [0x06E7, 0x06E8], [0x06EA, 0x06ED],\n [0x070F, 0x070F], [0x0711, 0x0711], [0x0730, 0x074A],\n [0x07A6, 0x07B0], [0x07EB, 0x07F3], [0x0901, 0x0902],\n [0x093C, 0x093C], [0x0941, 0x0948], [0x094D, 0x094D],\n [0x0951, 0x0954], [0x0962, 0x0963], [0x0981, 0x0981],\n [0x09BC, 0x09BC], [0x09C1, 0x09C4], [0x09CD, 0x09CD],\n [0x09E2, 0x09E3], [0x0A01, 0x0A02], [0x0A3C, 0x0A3C],\n [0x0A41, 0x0A42], [0x0A47, 0x0A48], [0x0A4B, 0x0A4D],\n [0x0A70, 0x0A71], [0x0A81, 0x0A82], [0x0ABC, 0x0ABC],\n [0x0AC1, 0x0AC5], [0x0AC7, 0x0AC8], [0x0ACD, 0x0ACD],\n [0x0AE2, 0x0AE3], [0x0B01, 0x0B01], [0x0B3C, 0x0B3C],\n [0x0B3F, 0x0B3F], [0x0B41, 0x0B43], [0x0B4D, 0x0B4D],\n [0x0B56, 0x0B56], [0x0B82, 0x0B82], [0x0BC0, 0x0BC0],\n [0x0BCD, 0x0BCD], [0x0C3E, 0x0C40], [0x0C46, 0x0C48],\n [0x0C4A, 0x0C4D], [0x0C55, 0x0C56], [0x0CBC, 0x0CBC],\n [0x0CBF, 0x0CBF], [0x0CC6, 0x0CC6], [0x0CCC, 0x0CCD],\n [0x0CE2, 0x0CE3], [0x0D41, 0x0D43], [0x0D4D, 0x0D4D],\n [0x0DCA, 0x0DCA], [0x0DD2, 0x0DD4], [0x0DD6, 0x0DD6],\n [0x0E31, 0x0E31], [0x0E34, 0x0E3A], [0x0E47, 0x0E4E],\n [0x0EB1, 0x0EB1], [0x0EB4, 0x0EB9], [0x0EBB, 0x0EBC],\n [0x0EC8, 0x0ECD], [0x0F18, 0x0F19], [0x0F35, 0x0F35],\n [0x0F37, 0x0F37], [0x0F39, 0x0F39], [0x0F71, 0x0F7E],\n [0x0F80, 0x0F84], [0x0F86, 0x0F87], [0x0F90, 0x0F97],\n [0x0F99, 0x0FBC], [0x0FC6, 0x0FC6], [0x102D, 0x1030],\n [0x1032, 0x1032], [0x1036, 0x1037], [0x1039, 0x1039],\n [0x1058, 0x1059], [0x1160, 0x11FF], [0x135F, 0x135F],\n [0x1712, 0x1714], [0x1732, 0x1734], [0x1752, 0x1753],\n [0x1772, 0x1773], [0x17B4, 0x17B5], [0x17B7, 0x17BD],\n [0x17C6, 0x17C6], [0x17C9, 0x17D3], [0x17DD, 0x17DD],\n [0x180B, 0x180D], [0x18A9, 0x18A9], [0x1920, 0x1922],\n [0x1927, 0x1928], [0x1932, 0x1932], [0x1939, 0x193B],\n [0x1A17, 0x1A18], [0x1B00, 0x1B03], [0x1B34, 0x1B34],\n [0x1B36, 0x1B3A], [0x1B3C, 0x1B3C], [0x1B42, 0x1B42],\n [0x1B6B, 0x1B73], [0x1DC0, 0x1DCA], [0x1DFE, 0x1DFF],\n [0x200B, 0x200F], [0x202A, 0x202E], [0x2060, 0x2063],\n [0x206A, 0x206F], [0x20D0, 0x20EF], [0x302A, 0x302F],\n [0x3099, 0x309A], [0xA806, 0xA806], [0xA80B, 0xA80B],\n [0xA825, 0xA826], [0xFB1E, 0xFB1E], [0xFE00, 0xFE0F],\n [0xFE20, 0xFE23], [0xFEFF, 0xFEFF], [0xFFF9, 0xFFFB],\n [0x10A01, 0x10A03], [0x10A05, 0x10A06], [0x10A0C, 0x10A0F],\n [0x10A38, 0x10A3A], [0x10A3F, 0x10A3F], [0x1D167, 0x1D169],\n [0x1D173, 0x1D182], [0x1D185, 0x1D18B], [0x1D1AA, 0x1D1AD],\n [0x1D242, 0x1D244], [0xE0001, 0xE0001], [0xE0020, 0xE007F],\n [0xE0100, 0xE01EF]\n ];\n function bisearch(ucs) {\n var min = 0;\n var max = COMBINING.length - 1;\n var mid;\n if (ucs < COMBINING[0][0] || ucs > COMBINING[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > COMBINING[mid][1])\n min = mid + 1;\n else if (ucs < COMBINING[mid][0])\n max = mid - 1;\n else\n return true;\n }\n return false;\n }\n function wcwidth(ucs) {\n if (ucs === 0)\n return opts.nul;\n if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0))\n return opts.control;\n if (bisearch(ucs))\n return 0;\n if (isWide(ucs)) {\n return 2;\n }\n return 1;\n }\n function isWide(ucs) {\n return (ucs >= 0x1100 && (ucs <= 0x115f ||\n ucs === 0x2329 ||\n ucs === 0x232a ||\n (ucs >= 0x2e80 && ucs <= 0xa4cf && ucs !== 0x303f) ||\n (ucs >= 0xac00 && ucs <= 0xd7a3) ||\n (ucs >= 0xf900 && ucs <= 0xfaff) ||\n (ucs >= 0xfe10 && ucs <= 0xfe19) ||\n (ucs >= 0xfe30 && ucs <= 0xfe6f) ||\n (ucs >= 0xff00 && ucs <= 0xff60) ||\n (ucs >= 0xffe0 && ucs <= 0xffe6) ||\n (ucs >= 0x20000 && ucs <= 0x2fffd) ||\n (ucs >= 0x30000 && ucs <= 0x3fffd)));\n }\n return wcwidth;\n})({ nul: 0, control: 0 });\n\n//# sourceMappingURL=InputHandler.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/InputHandler.js\n// module id = 17\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar INVALID_LINK_CLASS = 'xterm-invalid-link';\nvar protocolClause = '(https?:\\\\/\\\\/)';\nvar domainCharacterSet = '[\\\\da-z\\\\.-]+';\nvar negatedDomainCharacterSet = '[^\\\\da-z\\\\.-]+';\nvar domainBodyClause = '(' + domainCharacterSet + ')';\nvar tldClause = '([a-z\\\\.]{2,6})';\nvar ipClause = '((\\\\d{1,3}\\\\.){3}\\\\d{1,3})';\nvar localHostClause = '(localhost)';\nvar portClause = '(:\\\\d{1,5})';\nvar hostClause = '((' + domainBodyClause + '\\\\.' + tldClause + ')|' + ipClause + '|' + localHostClause + ')' + portClause + '?';\nvar pathClause = '(\\\\/[\\\\/\\\\w\\\\.\\\\-%~]*)*';\nvar queryStringHashFragmentCharacterSet = '[0-9\\\\w\\\\[\\\\]\\\\(\\\\)\\\\/\\\\?\\\\!#@$%&\\'*+,:;~\\\\=\\\\.\\\\-]*';\nvar queryStringClause = '(\\\\?' + queryStringHashFragmentCharacterSet + ')?';\nvar hashFragmentClause = '(#' + queryStringHashFragmentCharacterSet + ')?';\nvar negatedPathCharacterSet = '[^\\\\/\\\\w\\\\.\\\\-%]+';\nvar bodyClause = hostClause + pathClause + queryStringClause + hashFragmentClause;\nvar start = '(?:^|' + negatedDomainCharacterSet + ')(';\nvar end = ')($|' + negatedPathCharacterSet + ')';\nvar strictUrlRegex = new RegExp(start + protocolClause + bodyClause + end);\nvar HYPERTEXT_LINK_MATCHER_ID = 0;\nvar Linkifier = (function () {\n function Linkifier() {\n this._nextLinkMatcherId = HYPERTEXT_LINK_MATCHER_ID;\n this._rowTimeoutIds = [];\n this._linkMatchers = [];\n this.registerLinkMatcher(strictUrlRegex, null, { matchIndex: 1 });\n }\n Linkifier.prototype.attachToDom = function (document, rows) {\n this._document = document;\n this._rows = rows;\n };\n Linkifier.prototype.linkifyRow = function (rowIndex) {\n if (!this._document) {\n return;\n }\n var timeoutId = this._rowTimeoutIds[rowIndex];\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n this._rowTimeoutIds[rowIndex] = setTimeout(this._linkifyRow.bind(this, rowIndex), Linkifier.TIME_BEFORE_LINKIFY);\n };\n Linkifier.prototype.setHypertextLinkHandler = function (handler) {\n this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].handler = handler;\n };\n Linkifier.prototype.setHypertextValidationCallback = function (callback) {\n this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].validationCallback = callback;\n };\n Linkifier.prototype.registerLinkMatcher = function (regex, handler, options) {\n if (options === void 0) { options = {}; }\n if (this._nextLinkMatcherId !== HYPERTEXT_LINK_MATCHER_ID && !handler) {\n throw new Error('handler must be defined');\n }\n var matcher = {\n id: this._nextLinkMatcherId++,\n regex: regex,\n handler: handler,\n matchIndex: options.matchIndex,\n validationCallback: options.validationCallback,\n priority: options.priority || 0\n };\n this._addLinkMatcherToList(matcher);\n return matcher.id;\n };\n Linkifier.prototype._addLinkMatcherToList = function (matcher) {\n if (this._linkMatchers.length === 0) {\n this._linkMatchers.push(matcher);\n return;\n }\n for (var i = this._linkMatchers.length - 1; i >= 0; i--) {\n if (matcher.priority <= this._linkMatchers[i].priority) {\n this._linkMatchers.splice(i + 1, 0, matcher);\n return;\n }\n }\n this._linkMatchers.splice(0, 0, matcher);\n };\n Linkifier.prototype.deregisterLinkMatcher = function (matcherId) {\n for (var i = 1; i < this._linkMatchers.length; i++) {\n if (this._linkMatchers[i].id === matcherId) {\n this._linkMatchers.splice(i, 1);\n return true;\n }\n }\n return false;\n };\n Linkifier.prototype._linkifyRow = function (rowIndex) {\n var row = this._rows[rowIndex];\n if (!row) {\n return;\n }\n var text = row.textContent;\n for (var i = 0; i < this._linkMatchers.length; i++) {\n var matcher = this._linkMatchers[i];\n var linkElements = this._doLinkifyRow(row, matcher);\n if (linkElements.length > 0) {\n if (matcher.validationCallback) {\n var _loop_1 = function (j) {\n var element = linkElements[j];\n matcher.validationCallback(element.textContent, element, function (isValid) {\n if (!isValid) {\n element.classList.add(INVALID_LINK_CLASS);\n }\n });\n };\n for (var j = 0; j < linkElements.length; j++) {\n _loop_1(j);\n }\n }\n return;\n }\n }\n };\n Linkifier.prototype._doLinkifyRow = function (row, matcher) {\n var result = [];\n var isHttpLinkMatcher = matcher.id === HYPERTEXT_LINK_MATCHER_ID;\n var nodes = row.childNodes;\n var match = row.textContent.match(matcher.regex);\n if (!match || match.length === 0) {\n return result;\n }\n var uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];\n var rowStartIndex = match.index + uri.length;\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n var searchIndex = node.textContent.indexOf(uri);\n if (searchIndex >= 0) {\n var linkElement = this._createAnchorElement(uri, matcher.handler, isHttpLinkMatcher);\n if (node.textContent.length === uri.length) {\n if (node.nodeType === 3) {\n this._replaceNode(node, linkElement);\n }\n else {\n var element = node;\n if (element.nodeName === 'A') {\n return result;\n }\n element.innerHTML = '';\n element.appendChild(linkElement);\n }\n }\n else if (node.childNodes.length > 1) {\n for (var j = 0; j < node.childNodes.length; j++) {\n var childNode = node.childNodes[j];\n var childSearchIndex = childNode.textContent.indexOf(uri);\n if (childSearchIndex !== -1) {\n this._replaceNodeSubstringWithNode(childNode, linkElement, uri, childSearchIndex);\n break;\n }\n }\n }\n else {\n var nodesAdded = this._replaceNodeSubstringWithNode(node, linkElement, uri, searchIndex);\n i += nodesAdded;\n }\n result.push(linkElement);\n match = row.textContent.substring(rowStartIndex).match(matcher.regex);\n if (!match || match.length === 0) {\n return result;\n }\n uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];\n rowStartIndex += match.index + uri.length;\n }\n }\n return result;\n };\n Linkifier.prototype._createAnchorElement = function (uri, handler, isHypertextLinkHandler) {\n var element = this._document.createElement('a');\n element.textContent = uri;\n element.draggable = false;\n if (isHypertextLinkHandler) {\n element.href = uri;\n element.target = '_blank';\n element.addEventListener('click', function (event) {\n if (handler) {\n return handler(event, uri);\n }\n });\n }\n else {\n element.addEventListener('click', function (event) {\n if (element.classList.contains(INVALID_LINK_CLASS)) {\n return;\n }\n return handler(event, uri);\n });\n }\n return element;\n };\n Linkifier.prototype._replaceNode = function (oldNode) {\n var newNodes = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n newNodes[_i - 1] = arguments[_i];\n }\n var parent = oldNode.parentNode;\n for (var i = 0; i < newNodes.length; i++) {\n parent.insertBefore(newNodes[i], oldNode);\n }\n parent.removeChild(oldNode);\n };\n Linkifier.prototype._replaceNodeSubstringWithNode = function (targetNode, newNode, substring, substringIndex) {\n if (targetNode.childNodes.length === 1) {\n targetNode = targetNode.childNodes[0];\n }\n if (targetNode.nodeType !== 3) {\n throw new Error('targetNode must be a text node or only contain a single text node');\n }\n var fullText = targetNode.textContent;\n if (substringIndex === 0) {\n var rightText_1 = fullText.substring(substring.length);\n var rightTextNode_1 = this._document.createTextNode(rightText_1);\n this._replaceNode(targetNode, newNode, rightTextNode_1);\n return 0;\n }\n if (substringIndex === targetNode.textContent.length - substring.length) {\n var leftText_1 = fullText.substring(0, substringIndex);\n var leftTextNode_1 = this._document.createTextNode(leftText_1);\n this._replaceNode(targetNode, leftTextNode_1, newNode);\n return 0;\n }\n var leftText = fullText.substring(0, substringIndex);\n var leftTextNode = this._document.createTextNode(leftText);\n var rightText = fullText.substring(substringIndex + substring.length);\n var rightTextNode = this._document.createTextNode(rightText);\n this._replaceNode(targetNode, leftTextNode, newNode, rightTextNode);\n return 1;\n };\n return Linkifier;\n}());\nLinkifier.TIME_BEFORE_LINKIFY = 200;\nexports.Linkifier = Linkifier;\n\n//# sourceMappingURL=Linkifier.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Linkifier.js\n// module id = 18\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar Charsets_1 = require(\"./Charsets\");\nvar normalStateHandler = {};\nnormalStateHandler[EscapeSequences_1.C0.BEL] = function (parser, handler) { return handler.bell(); };\nnormalStateHandler[EscapeSequences_1.C0.LF] = function (parser, handler) { return handler.lineFeed(); };\nnormalStateHandler[EscapeSequences_1.C0.VT] = normalStateHandler[EscapeSequences_1.C0.LF];\nnormalStateHandler[EscapeSequences_1.C0.FF] = normalStateHandler[EscapeSequences_1.C0.LF];\nnormalStateHandler[EscapeSequences_1.C0.CR] = function (parser, handler) { return handler.carriageReturn(); };\nnormalStateHandler[EscapeSequences_1.C0.BS] = function (parser, handler) { return handler.backspace(); };\nnormalStateHandler[EscapeSequences_1.C0.HT] = function (parser, handler) { return handler.tab(); };\nnormalStateHandler[EscapeSequences_1.C0.SO] = function (parser, handler) { return handler.shiftOut(); };\nnormalStateHandler[EscapeSequences_1.C0.SI] = function (parser, handler) { return handler.shiftIn(); };\nnormalStateHandler[EscapeSequences_1.C0.ESC] = function (parser, handler) { return parser.setState(ParserState.ESCAPED); };\nvar escapedStateHandler = {};\nescapedStateHandler['['] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.CSI_PARAM);\n};\nescapedStateHandler[']'] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.OSC);\n};\nescapedStateHandler['P'] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.DCS);\n};\nescapedStateHandler['_'] = function (parser, terminal) {\n parser.setState(ParserState.IGNORE);\n};\nescapedStateHandler['^'] = function (parser, terminal) {\n parser.setState(ParserState.IGNORE);\n};\nescapedStateHandler['c'] = function (parser, terminal) {\n terminal.reset();\n};\nescapedStateHandler['E'] = function (parser, terminal) {\n terminal.x = 0;\n terminal.index();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['D'] = function (parser, terminal) {\n terminal.index();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['M'] = function (parser, terminal) {\n terminal.reverseIndex();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['%'] = function (parser, terminal) {\n terminal.setgLevel(0);\n terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET);\n parser.setState(ParserState.NORMAL);\n parser.skipNextChar();\n};\nescapedStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); };\nvar csiParamStateHandler = {};\ncsiParamStateHandler['?'] = function (parser) { return parser.setPrefix('?'); };\ncsiParamStateHandler['>'] = function (parser) { return parser.setPrefix('>'); };\ncsiParamStateHandler['!'] = function (parser) { return parser.setPrefix('!'); };\ncsiParamStateHandler['0'] = function (parser) { return parser.setParam(parser.getParam() * 10); };\ncsiParamStateHandler['1'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 1); };\ncsiParamStateHandler['2'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 2); };\ncsiParamStateHandler['3'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 3); };\ncsiParamStateHandler['4'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 4); };\ncsiParamStateHandler['5'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 5); };\ncsiParamStateHandler['6'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 6); };\ncsiParamStateHandler['7'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 7); };\ncsiParamStateHandler['8'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 8); };\ncsiParamStateHandler['9'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 9); };\ncsiParamStateHandler['$'] = function (parser) { return parser.setPostfix('$'); };\ncsiParamStateHandler['\"'] = function (parser) { return parser.setPostfix('\"'); };\ncsiParamStateHandler[' '] = function (parser) { return parser.setPostfix(' '); };\ncsiParamStateHandler['\\''] = function (parser) { return parser.setPostfix('\\''); };\ncsiParamStateHandler[';'] = function (parser) { return parser.finalizeParam(); };\ncsiParamStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); };\nvar csiStateHandler = {};\ncsiStateHandler['@'] = function (handler, params, prefix) { return handler.insertChars(params); };\ncsiStateHandler['A'] = function (handler, params, prefix) { return handler.cursorUp(params); };\ncsiStateHandler['B'] = function (handler, params, prefix) { return handler.cursorDown(params); };\ncsiStateHandler['C'] = function (handler, params, prefix) { return handler.cursorForward(params); };\ncsiStateHandler['D'] = function (handler, params, prefix) { return handler.cursorBackward(params); };\ncsiStateHandler['E'] = function (handler, params, prefix) { return handler.cursorNextLine(params); };\ncsiStateHandler['F'] = function (handler, params, prefix) { return handler.cursorPrecedingLine(params); };\ncsiStateHandler['G'] = function (handler, params, prefix) { return handler.cursorCharAbsolute(params); };\ncsiStateHandler['H'] = function (handler, params, prefix) { return handler.cursorPosition(params); };\ncsiStateHandler['I'] = function (handler, params, prefix) { return handler.cursorForwardTab(params); };\ncsiStateHandler['J'] = function (handler, params, prefix) { return handler.eraseInDisplay(params); };\ncsiStateHandler['K'] = function (handler, params, prefix) { return handler.eraseInLine(params); };\ncsiStateHandler['L'] = function (handler, params, prefix) { return handler.insertLines(params); };\ncsiStateHandler['M'] = function (handler, params, prefix) { return handler.deleteLines(params); };\ncsiStateHandler['P'] = function (handler, params, prefix) { return handler.deleteChars(params); };\ncsiStateHandler['S'] = function (handler, params, prefix) { return handler.scrollUp(params); };\ncsiStateHandler['T'] = function (handler, params, prefix) {\n if (params.length < 2 && !prefix) {\n handler.scrollDown(params);\n }\n};\ncsiStateHandler['X'] = function (handler, params, prefix) { return handler.eraseChars(params); };\ncsiStateHandler['Z'] = function (handler, params, prefix) { return handler.cursorBackwardTab(params); };\ncsiStateHandler['`'] = function (handler, params, prefix) { return handler.charPosAbsolute(params); };\ncsiStateHandler['a'] = function (handler, params, prefix) { return handler.HPositionRelative(params); };\ncsiStateHandler['b'] = function (handler, params, prefix) { return handler.repeatPrecedingCharacter(params); };\ncsiStateHandler['c'] = function (handler, params, prefix) { return handler.sendDeviceAttributes(params); };\ncsiStateHandler['d'] = function (handler, params, prefix) { return handler.linePosAbsolute(params); };\ncsiStateHandler['e'] = function (handler, params, prefix) { return handler.VPositionRelative(params); };\ncsiStateHandler['f'] = function (handler, params, prefix) { return handler.HVPosition(params); };\ncsiStateHandler['g'] = function (handler, params, prefix) { return handler.tabClear(params); };\ncsiStateHandler['h'] = function (handler, params, prefix) { return handler.setMode(params); };\ncsiStateHandler['l'] = function (handler, params, prefix) { return handler.resetMode(params); };\ncsiStateHandler['m'] = function (handler, params, prefix) { return handler.charAttributes(params); };\ncsiStateHandler['n'] = function (handler, params, prefix) { return handler.deviceStatus(params); };\ncsiStateHandler['p'] = function (handler, params, prefix) {\n switch (prefix) {\n case '!':\n handler.softReset(params);\n break;\n }\n};\ncsiStateHandler['q'] = function (handler, params, prefix, postfix) {\n if (postfix === ' ') {\n handler.setCursorStyle(params);\n }\n};\ncsiStateHandler['r'] = function (handler, params) { return handler.setScrollRegion(params); };\ncsiStateHandler['s'] = function (handler, params) { return handler.saveCursor(params); };\ncsiStateHandler['u'] = function (handler, params) { return handler.restoreCursor(params); };\ncsiStateHandler[EscapeSequences_1.C0.CAN] = function (handler, params, prefix, postfix, parser) { return parser.setState(ParserState.NORMAL); };\nvar ParserState;\n(function (ParserState) {\n ParserState[ParserState[\"NORMAL\"] = 0] = \"NORMAL\";\n ParserState[ParserState[\"ESCAPED\"] = 1] = \"ESCAPED\";\n ParserState[ParserState[\"CSI_PARAM\"] = 2] = \"CSI_PARAM\";\n ParserState[ParserState[\"CSI\"] = 3] = \"CSI\";\n ParserState[ParserState[\"OSC\"] = 4] = \"OSC\";\n ParserState[ParserState[\"CHARSET\"] = 5] = \"CHARSET\";\n ParserState[ParserState[\"DCS\"] = 6] = \"DCS\";\n ParserState[ParserState[\"IGNORE\"] = 7] = \"IGNORE\";\n})(ParserState || (ParserState = {}));\nvar Parser = (function () {\n function Parser(_inputHandler, _terminal) {\n this._inputHandler = _inputHandler;\n this._terminal = _terminal;\n this._state = ParserState.NORMAL;\n }\n Parser.prototype.parse = function (data) {\n var l = data.length, j, cs, ch, code, low;\n this._position = 0;\n if (this._terminal.surrogate_high) {\n data = this._terminal.surrogate_high + data;\n this._terminal.surrogate_high = '';\n }\n for (; this._position < l; this._position++) {\n ch = data[this._position];\n code = data.charCodeAt(this._position);\n if (0xD800 <= code && code <= 0xDBFF) {\n low = data.charCodeAt(this._position + 1);\n if (isNaN(low)) {\n this._terminal.surrogate_high = ch;\n continue;\n }\n code = ((code - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;\n ch += data.charAt(this._position + 1);\n }\n if (0xDC00 <= code && code <= 0xDFFF)\n continue;\n switch (this._state) {\n case ParserState.NORMAL:\n if (ch in normalStateHandler) {\n normalStateHandler[ch](this, this._inputHandler);\n }\n else {\n this._inputHandler.addChar(ch, code);\n }\n break;\n case ParserState.ESCAPED:\n if (ch in escapedStateHandler) {\n escapedStateHandler[ch](this, this._terminal);\n break;\n }\n switch (ch) {\n case '(':\n case ')':\n case '*':\n case '+':\n case '-':\n case '.':\n switch (ch) {\n case '(':\n this._terminal.gcharset = 0;\n break;\n case ')':\n this._terminal.gcharset = 1;\n break;\n case '*':\n this._terminal.gcharset = 2;\n break;\n case '+':\n this._terminal.gcharset = 3;\n break;\n case '-':\n this._terminal.gcharset = 1;\n break;\n case '.':\n this._terminal.gcharset = 2;\n break;\n }\n this._state = ParserState.CHARSET;\n break;\n case '/':\n this._terminal.gcharset = 3;\n this._state = ParserState.CHARSET;\n this._position--;\n break;\n case 'N':\n break;\n case 'O':\n break;\n case 'n':\n this._terminal.setgLevel(2);\n break;\n case 'o':\n this._terminal.setgLevel(3);\n break;\n case '|':\n this._terminal.setgLevel(3);\n break;\n case '}':\n this._terminal.setgLevel(2);\n break;\n case '~':\n this._terminal.setgLevel(1);\n break;\n case '7':\n this._inputHandler.saveCursor();\n this._state = ParserState.NORMAL;\n break;\n case '8':\n this._inputHandler.restoreCursor();\n this._state = ParserState.NORMAL;\n break;\n case '#':\n this._state = ParserState.NORMAL;\n this._position++;\n break;\n case 'H':\n this._terminal.tabSet();\n this._state = ParserState.NORMAL;\n break;\n case '=':\n this._terminal.log('Serial port requested application keypad.');\n this._terminal.applicationKeypad = true;\n this._terminal.viewport.syncScrollArea();\n this._state = ParserState.NORMAL;\n break;\n case '>':\n this._terminal.log('Switching back to normal keypad.');\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n this._state = ParserState.NORMAL;\n break;\n default:\n this._state = ParserState.NORMAL;\n this._terminal.error('Unknown ESC control: %s.', ch);\n break;\n }\n break;\n case ParserState.CHARSET:\n if (ch in Charsets_1.CHARSETS) {\n cs = Charsets_1.CHARSETS[ch];\n if (ch === '/') {\n this.skipNextChar();\n }\n }\n else {\n cs = Charsets_1.DEFAULT_CHARSET;\n }\n this._terminal.setgCharset(this._terminal.gcharset, cs);\n this._terminal.gcharset = null;\n this._state = ParserState.NORMAL;\n break;\n case ParserState.OSC:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n this._terminal.params.push(this._terminal.currentParam);\n switch (this._terminal.params[0]) {\n case 0:\n case 1:\n case 2:\n if (this._terminal.params[1]) {\n this._terminal.title = this._terminal.params[1];\n this._terminal.handleTitle(this._terminal.title);\n }\n break;\n case 3:\n break;\n case 4:\n case 5:\n break;\n case 10:\n case 11:\n case 12:\n case 13:\n case 14:\n case 15:\n case 16:\n case 17:\n case 18:\n case 19:\n break;\n case 46:\n break;\n case 50:\n break;\n case 51:\n break;\n case 52:\n break;\n case 104:\n case 105:\n case 110:\n case 111:\n case 112:\n case 113:\n case 114:\n case 115:\n case 116:\n case 117:\n case 118:\n break;\n }\n this._terminal.params = [];\n this._terminal.currentParam = 0;\n this._state = ParserState.NORMAL;\n }\n else {\n if (!this._terminal.params.length) {\n if (ch >= '0' && ch <= '9') {\n this._terminal.currentParam =\n this._terminal.currentParam * 10 + ch.charCodeAt(0) - 48;\n }\n else if (ch === ';') {\n this._terminal.params.push(this._terminal.currentParam);\n this._terminal.currentParam = '';\n }\n }\n else {\n this._terminal.currentParam += ch;\n }\n }\n break;\n case ParserState.CSI_PARAM:\n if (ch in csiParamStateHandler) {\n csiParamStateHandler[ch](this);\n break;\n }\n this.finalizeParam();\n this._state = ParserState.CSI;\n case ParserState.CSI:\n if (ch in csiStateHandler) {\n csiStateHandler[ch](this._inputHandler, this._terminal.params, this._terminal.prefix, this._terminal.postfix, this);\n }\n else {\n this._terminal.error('Unknown CSI code: %s.', ch);\n }\n this._state = ParserState.NORMAL;\n this._terminal.prefix = '';\n this._terminal.postfix = '';\n break;\n case ParserState.DCS:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n var pt = void 0;\n var valid = void 0;\n switch (this._terminal.prefix) {\n case '':\n break;\n case '$q':\n pt = this._terminal.currentParam;\n valid = false;\n switch (pt) {\n case '\"q':\n pt = '0\"q';\n break;\n case '\"p':\n pt = '61\"p';\n break;\n case 'r':\n pt = ''\n + (this._terminal.scrollTop + 1)\n + ';'\n + (this._terminal.scrollBottom + 1)\n + 'r';\n break;\n case 'm':\n pt = '0m';\n break;\n default:\n this._terminal.error('Unknown DCS Pt: %s.', pt);\n pt = '';\n break;\n }\n this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '$r' + pt + EscapeSequences_1.C0.ESC + '\\\\');\n break;\n case '+p':\n break;\n case '+q':\n pt = this._terminal.currentParam;\n valid = false;\n this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '+r' + pt + EscapeSequences_1.C0.ESC + '\\\\');\n break;\n default:\n this._terminal.error('Unknown DCS prefix: %s.', this._terminal.prefix);\n break;\n }\n this._terminal.currentParam = 0;\n this._terminal.prefix = '';\n this._state = ParserState.NORMAL;\n }\n else if (!this._terminal.currentParam) {\n if (!this._terminal.prefix && ch !== '$' && ch !== '+') {\n this._terminal.currentParam = ch;\n }\n else if (this._terminal.prefix.length === 2) {\n this._terminal.currentParam = ch;\n }\n else {\n this._terminal.prefix += ch;\n }\n }\n else {\n this._terminal.currentParam += ch;\n }\n break;\n case ParserState.IGNORE:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n this._state = ParserState.NORMAL;\n }\n break;\n }\n }\n return this._state;\n };\n Parser.prototype.setState = function (state) {\n this._state = state;\n };\n Parser.prototype.setPrefix = function (prefix) {\n this._terminal.prefix = prefix;\n };\n Parser.prototype.setPostfix = function (postfix) {\n this._terminal.postfix = postfix;\n };\n Parser.prototype.setParam = function (param) {\n this._terminal.currentParam = param;\n };\n Parser.prototype.getParam = function () {\n return this._terminal.currentParam;\n };\n Parser.prototype.finalizeParam = function () {\n this._terminal.params.push(this._terminal.currentParam);\n this._terminal.currentParam = 0;\n };\n Parser.prototype.skipNextChar = function () {\n this._position++;\n };\n return Parser;\n}());\nexports.Parser = Parser;\n\n//# sourceMappingURL=Parser.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Parser.js\n// module id = 19\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DomElementObjectPool_1 = require(\"./utils/DomElementObjectPool\");\nvar MAX_REFRESH_FRAME_SKIP = 5;\nvar FLAGS;\n(function (FLAGS) {\n FLAGS[FLAGS[\"BOLD\"] = 1] = \"BOLD\";\n FLAGS[FLAGS[\"UNDERLINE\"] = 2] = \"UNDERLINE\";\n FLAGS[FLAGS[\"BLINK\"] = 4] = \"BLINK\";\n FLAGS[FLAGS[\"INVERSE\"] = 8] = \"INVERSE\";\n FLAGS[FLAGS[\"INVISIBLE\"] = 16] = \"INVISIBLE\";\n})(FLAGS || (FLAGS = {}));\n;\nvar brokenBold = null;\nvar Renderer = (function () {\n function Renderer(_terminal) {\n this._terminal = _terminal;\n this._refreshRowsQueue = [];\n this._refreshFramesSkipped = 0;\n this._refreshAnimationFrame = null;\n this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span');\n if (brokenBold === null) {\n brokenBold = checkBoldBroken(this._terminal.element);\n }\n this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span');\n }\n Renderer.prototype.queueRefresh = function (start, end) {\n this._refreshRowsQueue.push({ start: start, end: end });\n if (!this._refreshAnimationFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this));\n }\n };\n Renderer.prototype._refreshLoop = function () {\n var skipFrame = this._terminal.writeBuffer.length > 0 && this._refreshFramesSkipped++ <= MAX_REFRESH_FRAME_SKIP;\n if (skipFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this));\n return;\n }\n this._refreshFramesSkipped = 0;\n var start;\n var end;\n if (this._refreshRowsQueue.length > 4) {\n start = 0;\n end = this._terminal.rows - 1;\n }\n else {\n start = this._refreshRowsQueue[0].start;\n end = this._refreshRowsQueue[0].end;\n for (var i = 1; i < this._refreshRowsQueue.length; i++) {\n if (this._refreshRowsQueue[i].start < start) {\n start = this._refreshRowsQueue[i].start;\n }\n if (this._refreshRowsQueue[i].end > end) {\n end = this._refreshRowsQueue[i].end;\n }\n }\n }\n this._refreshRowsQueue = [];\n this._refreshAnimationFrame = null;\n this._refresh(start, end);\n };\n Renderer.prototype._refresh = function (start, end) {\n var parent;\n if (end - start >= this._terminal.rows / 2) {\n parent = this._terminal.element.parentNode;\n if (parent) {\n this._terminal.element.removeChild(this._terminal.rowContainer);\n }\n }\n var width = this._terminal.cols;\n var y = start;\n if (end >= this._terminal.rows) {\n this._terminal.log('`end` is too large. Most likely a bad CSR.');\n end = this._terminal.rows - 1;\n }\n for (; y <= end; y++) {\n var row = y + this._terminal.ydisp;\n var line = this._terminal.lines.get(row);\n var x = void 0;\n if (this._terminal.y === y - (this._terminal.ybase - this._terminal.ydisp) &&\n this._terminal.cursorState &&\n !this._terminal.cursorHidden) {\n x = this._terminal.x;\n }\n else {\n x = -1;\n }\n var attr = this._terminal.defAttr;\n var documentFragment = document.createDocumentFragment();\n var innerHTML = '';\n var currentElement = void 0;\n while (this._terminal.children[y].children.length) {\n var child = this._terminal.children[y].children[0];\n this._terminal.children[y].removeChild(child);\n this._spanElementObjectPool.release(child);\n }\n for (var i = 0; i < width; i++) {\n var data = line[i][0];\n var ch = line[i][1];\n var ch_width = line[i][2];\n if (!ch_width) {\n continue;\n }\n if (i === x) {\n data = -1;\n }\n if (data !== attr) {\n if (attr !== this._terminal.defAttr) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n currentElement = null;\n }\n if (data !== this._terminal.defAttr) {\n if (innerHTML && !currentElement) {\n currentElement = this._spanElementObjectPool.acquire();\n }\n if (currentElement) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n }\n currentElement = this._spanElementObjectPool.acquire();\n if (data === -1) {\n currentElement.classList.add('reverse-video');\n currentElement.classList.add('terminal-cursor');\n }\n else {\n var bg = data & 0x1ff;\n var fg = (data >> 9) & 0x1ff;\n var flags = data >> 18;\n if (flags & FLAGS.BOLD) {\n if (!brokenBold) {\n currentElement.classList.add('xterm-bold');\n }\n if (fg < 8) {\n fg += 8;\n }\n }\n if (flags & FLAGS.UNDERLINE) {\n currentElement.classList.add('xterm-underline');\n }\n if (flags & FLAGS.BLINK) {\n currentElement.classList.add('xterm-blink');\n }\n if (flags & FLAGS.INVERSE) {\n var temp = bg;\n bg = fg;\n fg = temp;\n if ((flags & 1) && fg < 8) {\n fg += 8;\n }\n }\n if (flags & FLAGS.INVISIBLE) {\n currentElement.classList.add('xterm-hidden');\n }\n if (flags & FLAGS.INVERSE) {\n if (bg === 257) {\n bg = 15;\n }\n if (fg === 256) {\n fg = 0;\n }\n }\n if (bg < 256) {\n currentElement.classList.add(\"xterm-bg-color-\" + bg);\n }\n if (fg < 256) {\n currentElement.classList.add(\"xterm-color-\" + fg);\n }\n }\n }\n }\n if (ch_width === 2) {\n innerHTML += \"\" + ch + \"\";\n }\n else if (ch.charCodeAt(0) > 255) {\n innerHTML += \"\" + ch + \"\";\n }\n else {\n switch (ch) {\n case '&':\n innerHTML += '&';\n break;\n case '<':\n innerHTML += '<';\n break;\n case '>':\n innerHTML += '>';\n break;\n default:\n if (ch <= ' ') {\n innerHTML += ' ';\n }\n else {\n innerHTML += ch;\n }\n break;\n }\n }\n attr = data;\n }\n if (innerHTML && !currentElement) {\n currentElement = this._spanElementObjectPool.acquire();\n }\n if (currentElement) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n currentElement = null;\n }\n this._terminal.children[y].appendChild(documentFragment);\n }\n if (parent) {\n this._terminal.element.appendChild(this._terminal.rowContainer);\n }\n this._terminal.emit('refresh', { element: this._terminal.element, start: start, end: end });\n };\n ;\n Renderer.prototype.refreshSelection = function (start, end) {\n while (this._terminal.selectionContainer.children.length) {\n this._terminal.selectionContainer.removeChild(this._terminal.selectionContainer.children[0]);\n }\n if (!start || !end) {\n return;\n }\n var viewportStartRow = start[1] - this._terminal.ydisp;\n var viewportEndRow = end[1] - this._terminal.ydisp;\n var viewportCappedStartRow = Math.max(viewportStartRow, 0);\n var viewportCappedEndRow = Math.min(viewportEndRow, this._terminal.rows - 1);\n if (viewportCappedStartRow >= this._terminal.rows || viewportCappedEndRow < 0) {\n return;\n }\n var documentFragment = document.createDocumentFragment();\n var startCol = viewportStartRow === viewportCappedStartRow ? start[0] : 0;\n var endCol = viewportCappedStartRow === viewportCappedEndRow ? end[0] : this._terminal.cols;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow, startCol, endCol));\n var middleRowsCount = viewportCappedEndRow - viewportCappedStartRow - 1;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow + 1, 0, this._terminal.cols, middleRowsCount));\n if (viewportCappedStartRow !== viewportCappedEndRow) {\n var endCol_1 = viewportEndRow === viewportCappedEndRow ? end[0] : this._terminal.cols;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedEndRow, 0, endCol_1));\n }\n this._terminal.selectionContainer.appendChild(documentFragment);\n };\n Renderer.prototype._createSelectionElement = function (row, colStart, colEnd, rowCount) {\n if (rowCount === void 0) { rowCount = 1; }\n var element = document.createElement('div');\n element.style.height = rowCount * this._terminal.charMeasure.height + \"px\";\n element.style.top = row * this._terminal.charMeasure.height + \"px\";\n element.style.left = colStart * this._terminal.charMeasure.width + \"px\";\n element.style.width = this._terminal.charMeasure.width * (colEnd - colStart) + \"px\";\n return element;\n };\n return Renderer;\n}());\nexports.Renderer = Renderer;\nfunction checkBoldBroken(terminal) {\n var document = terminal.ownerDocument;\n var el = document.createElement('span');\n el.innerHTML = 'hello world';\n terminal.appendChild(el);\n var w1 = el.offsetWidth;\n var h1 = el.offsetHeight;\n el.style.fontWeight = 'bold';\n var w2 = el.offsetWidth;\n var h2 = el.offsetHeight;\n terminal.removeChild(el);\n return w1 !== w2 || h1 !== h2;\n}\n\n//# sourceMappingURL=Renderer.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Renderer.js\n// module id = 20\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Mouse = require(\"./utils/Mouse\");\nvar Browser = require(\"./utils/Browser\");\nvar EventEmitter_1 = require(\"./EventEmitter\");\nvar SelectionModel_1 = require(\"./SelectionModel\");\nvar DRAG_SCROLL_MAX_THRESHOLD = 50;\nvar DRAG_SCROLL_MAX_SPEED = 15;\nvar DRAG_SCROLL_INTERVAL = 50;\nvar CLEAR_MOUSE_DOWN_TIME = 400;\nvar CLEAR_MOUSE_DISTANCE = 10;\nvar WORD_SEPARATORS = ' ()[]{}\\'\"';\nvar LINE_DATA_CHAR_INDEX = 1;\nvar LINE_DATA_WIDTH_INDEX = 2;\nvar NON_BREAKING_SPACE_CHAR = String.fromCharCode(160);\nvar ALL_NON_BREAKING_SPACE_REGEX = new RegExp(NON_BREAKING_SPACE_CHAR, 'g');\nvar SelectionMode;\n(function (SelectionMode) {\n SelectionMode[SelectionMode[\"NORMAL\"] = 0] = \"NORMAL\";\n SelectionMode[SelectionMode[\"WORD\"] = 1] = \"WORD\";\n SelectionMode[SelectionMode[\"LINE\"] = 2] = \"LINE\";\n})(SelectionMode || (SelectionMode = {}));\nvar SelectionManager = (function (_super) {\n __extends(SelectionManager, _super);\n function SelectionManager(_terminal, _buffer, _rowContainer, _charMeasure) {\n var _this = _super.call(this) || this;\n _this._terminal = _terminal;\n _this._buffer = _buffer;\n _this._rowContainer = _rowContainer;\n _this._charMeasure = _charMeasure;\n _this._initListeners();\n _this.enable();\n _this._model = new SelectionModel_1.SelectionModel(_terminal);\n _this._lastMouseDownTime = 0;\n _this._activeSelectionMode = SelectionMode.NORMAL;\n return _this;\n }\n SelectionManager.prototype._initListeners = function () {\n var _this = this;\n this._bufferTrimListener = function (amount) { return _this._onTrim(amount); };\n this._mouseMoveListener = function (event) { return _this._onMouseMove(event); };\n this._mouseDownListener = function (event) { return _this._onMouseDown(event); };\n this._mouseUpListener = function (event) { return _this._onMouseUp(event); };\n };\n SelectionManager.prototype.disable = function () {\n this.clearSelection();\n this._buffer.off('trim', this._bufferTrimListener);\n this._rowContainer.removeEventListener('mousedown', this._mouseDownListener);\n };\n SelectionManager.prototype.enable = function () {\n this._buffer.on('trim', this._bufferTrimListener);\n this._rowContainer.addEventListener('mousedown', this._mouseDownListener);\n };\n SelectionManager.prototype.setBuffer = function (buffer) {\n this._buffer = buffer;\n this.clearSelection();\n };\n Object.defineProperty(SelectionManager.prototype, \"hasSelection\", {\n get: function () {\n var start = this._model.finalSelectionStart;\n var end = this._model.finalSelectionEnd;\n if (!start || !end) {\n return false;\n }\n return start[0] !== end[0] || start[1] !== end[1];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SelectionManager.prototype, \"selectionText\", {\n get: function () {\n var start = this._model.finalSelectionStart;\n var end = this._model.finalSelectionEnd;\n if (!start || !end) {\n return '';\n }\n var startRowEndCol = start[1] === end[1] ? end[0] : null;\n var result = [];\n result.push(this._translateBufferLineToString(this._buffer.get(start[1]), true, start[0], startRowEndCol));\n for (var i = start[1] + 1; i <= end[1] - 1; i++) {\n var bufferLine = this._buffer.get(i);\n var lineText = this._translateBufferLineToString(bufferLine, true);\n if (bufferLine.isWrapped) {\n result[result.length - 1] += lineText;\n }\n else {\n result.push(lineText);\n }\n }\n if (start[1] !== end[1]) {\n var bufferLine = this._buffer.get(end[1]);\n var lineText = this._translateBufferLineToString(bufferLine, true, 0, end[0]);\n if (bufferLine.isWrapped) {\n result[result.length - 1] += lineText;\n }\n else {\n result.push(lineText);\n }\n }\n var formattedResult = result.map(function (line) {\n return line.replace(ALL_NON_BREAKING_SPACE_REGEX, ' ');\n }).join(Browser.isMSWindows ? '\\r\\n' : '\\n');\n return formattedResult;\n },\n enumerable: true,\n configurable: true\n });\n SelectionManager.prototype.clearSelection = function () {\n this._model.clearSelection();\n this._removeMouseDownListeners();\n this.refresh();\n };\n SelectionManager.prototype._translateBufferLineToString = function (line, trimRight, startCol, endCol) {\n if (startCol === void 0) { startCol = 0; }\n if (endCol === void 0) { endCol = null; }\n var lineString = '';\n var widthAdjustedStartCol = startCol;\n var widthAdjustedEndCol = endCol;\n for (var i = 0; i < line.length; i++) {\n var char = line[i];\n lineString += char[LINE_DATA_CHAR_INDEX];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n if (startCol >= i) {\n widthAdjustedStartCol--;\n }\n if (endCol >= i) {\n widthAdjustedEndCol--;\n }\n }\n }\n var finalEndCol = widthAdjustedEndCol || line.length;\n if (trimRight) {\n var rightWhitespaceIndex = lineString.search(/\\s+$/);\n if (rightWhitespaceIndex !== -1) {\n finalEndCol = Math.min(finalEndCol, rightWhitespaceIndex);\n }\n if (finalEndCol <= widthAdjustedStartCol) {\n return '';\n }\n }\n return lineString.substring(widthAdjustedStartCol, finalEndCol);\n };\n SelectionManager.prototype.refresh = function (isNewSelection) {\n var _this = this;\n if (!this._refreshAnimationFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(function () { return _this._refresh(); });\n }\n if (Browser.isLinux && isNewSelection) {\n var selectionText = this.selectionText;\n if (selectionText.length) {\n this.emit('newselection', this.selectionText);\n }\n }\n };\n SelectionManager.prototype._refresh = function () {\n this._refreshAnimationFrame = null;\n this.emit('refresh', { start: this._model.finalSelectionStart, end: this._model.finalSelectionEnd });\n };\n SelectionManager.prototype.selectAll = function () {\n this._model.isSelectAllActive = true;\n this.refresh();\n };\n SelectionManager.prototype._onTrim = function (amount) {\n var needsRefresh = this._model.onTrim(amount);\n if (needsRefresh) {\n this.refresh();\n }\n };\n SelectionManager.prototype._getMouseBufferCoords = function (event) {\n var coords = Mouse.getCoords(event, this._rowContainer, this._charMeasure, this._terminal.cols, this._terminal.rows, true);\n coords[0]--;\n coords[1]--;\n coords[1] += this._terminal.ydisp;\n return coords;\n };\n SelectionManager.prototype._getMouseEventScrollAmount = function (event) {\n var offset = Mouse.getCoordsRelativeToElement(event, this._rowContainer)[1];\n var terminalHeight = this._terminal.rows * this._charMeasure.height;\n if (offset >= 0 && offset <= terminalHeight) {\n return 0;\n }\n if (offset > terminalHeight) {\n offset -= terminalHeight;\n }\n offset = Math.min(Math.max(offset, -DRAG_SCROLL_MAX_THRESHOLD), DRAG_SCROLL_MAX_THRESHOLD);\n offset /= DRAG_SCROLL_MAX_THRESHOLD;\n return (offset / Math.abs(offset)) + Math.round(offset * (DRAG_SCROLL_MAX_SPEED - 1));\n };\n SelectionManager.prototype._onMouseDown = function (event) {\n if (event.button !== 0) {\n return;\n }\n event.preventDefault();\n this._dragScrollAmount = 0;\n this._setMouseClickCount(event);\n if (event.shiftKey) {\n this._onShiftClick(event);\n }\n else {\n if (this._clickCount === 1) {\n this._onSingleClick(event);\n }\n else if (this._clickCount === 2) {\n this._onDoubleClick(event);\n }\n else if (this._clickCount === 3) {\n this._onTripleClick(event);\n }\n }\n this._addMouseDownListeners();\n this.refresh(true);\n };\n SelectionManager.prototype._addMouseDownListeners = function () {\n var _this = this;\n this._rowContainer.ownerDocument.addEventListener('mousemove', this._mouseMoveListener);\n this._rowContainer.ownerDocument.addEventListener('mouseup', this._mouseUpListener);\n this._dragScrollIntervalTimer = setInterval(function () { return _this._dragScroll(); }, DRAG_SCROLL_INTERVAL);\n };\n SelectionManager.prototype._removeMouseDownListeners = function () {\n this._rowContainer.ownerDocument.removeEventListener('mousemove', this._mouseMoveListener);\n this._rowContainer.ownerDocument.removeEventListener('mouseup', this._mouseUpListener);\n clearInterval(this._dragScrollIntervalTimer);\n this._dragScrollIntervalTimer = null;\n };\n SelectionManager.prototype._onShiftClick = function (event) {\n if (this._model.selectionStart) {\n this._model.selectionEnd = this._getMouseBufferCoords(event);\n }\n };\n SelectionManager.prototype._onSingleClick = function (event) {\n this._model.selectionStartLength = 0;\n this._model.isSelectAllActive = false;\n this._activeSelectionMode = SelectionMode.NORMAL;\n this._model.selectionStart = this._getMouseBufferCoords(event);\n if (this._model.selectionStart) {\n this._model.selectionEnd = null;\n var char = this._buffer.get(this._model.selectionStart[1])[this._model.selectionStart[0]];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n this._model.selectionStart[0]++;\n }\n }\n };\n SelectionManager.prototype._onDoubleClick = function (event) {\n var coords = this._getMouseBufferCoords(event);\n if (coords) {\n this._activeSelectionMode = SelectionMode.WORD;\n this._selectWordAt(coords);\n }\n };\n SelectionManager.prototype._onTripleClick = function (event) {\n var coords = this._getMouseBufferCoords(event);\n if (coords) {\n this._activeSelectionMode = SelectionMode.LINE;\n this._selectLineAt(coords[1]);\n }\n };\n SelectionManager.prototype._setMouseClickCount = function (event) {\n var currentTime = (new Date()).getTime();\n if (currentTime - this._lastMouseDownTime > CLEAR_MOUSE_DOWN_TIME || this._distanceFromLastMousePosition(event) > CLEAR_MOUSE_DISTANCE) {\n this._clickCount = 0;\n }\n this._lastMouseDownTime = currentTime;\n this._lastMousePosition = [event.pageX, event.pageY];\n this._clickCount++;\n };\n SelectionManager.prototype._distanceFromLastMousePosition = function (event) {\n var result = Math.max(Math.abs(this._lastMousePosition[0] - event.pageX), Math.abs(this._lastMousePosition[1] - event.pageY));\n return result;\n };\n SelectionManager.prototype._onMouseMove = function (event) {\n var previousSelectionEnd = this._model.selectionEnd ? [this._model.selectionEnd[0], this._model.selectionEnd[1]] : null;\n this._model.selectionEnd = this._getMouseBufferCoords(event);\n if (this._activeSelectionMode === SelectionMode.LINE) {\n if (this._model.selectionEnd[1] < this._model.selectionStart[1]) {\n this._model.selectionEnd[0] = 0;\n }\n else {\n this._model.selectionEnd[0] = this._terminal.cols;\n }\n }\n else if (this._activeSelectionMode === SelectionMode.WORD) {\n this._selectToWordAt(this._model.selectionEnd);\n }\n this._dragScrollAmount = this._getMouseEventScrollAmount(event);\n if (this._dragScrollAmount > 0) {\n this._model.selectionEnd[0] = this._terminal.cols - 1;\n }\n else if (this._dragScrollAmount < 0) {\n this._model.selectionEnd[0] = 0;\n }\n if (this._model.selectionEnd[1] < this._buffer.length) {\n var char = this._buffer.get(this._model.selectionEnd[1])[this._model.selectionEnd[0]];\n if (char && char[2] === 0) {\n this._model.selectionEnd[0]++;\n }\n }\n if (!previousSelectionEnd ||\n previousSelectionEnd[0] !== this._model.selectionEnd[0] ||\n previousSelectionEnd[1] !== this._model.selectionEnd[1]) {\n this.refresh(true);\n }\n };\n SelectionManager.prototype._dragScroll = function () {\n if (this._dragScrollAmount) {\n this._terminal.scrollDisp(this._dragScrollAmount, false);\n if (this._dragScrollAmount > 0) {\n this._model.selectionEnd = [this._terminal.cols - 1, this._terminal.ydisp + this._terminal.rows];\n }\n else {\n this._model.selectionEnd = [0, this._terminal.ydisp];\n }\n this.refresh();\n }\n };\n SelectionManager.prototype._onMouseUp = function (event) {\n this._removeMouseDownListeners();\n };\n SelectionManager.prototype._convertViewportColToCharacterIndex = function (bufferLine, coords) {\n var charIndex = coords[0];\n for (var i = 0; coords[0] >= i; i++) {\n var char = bufferLine[i];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n charIndex--;\n }\n }\n return charIndex;\n };\n SelectionManager.prototype._getWordAt = function (coords) {\n var bufferLine = this._buffer.get(coords[1]);\n var line = this._translateBufferLineToString(bufferLine, false);\n var endIndex = this._convertViewportColToCharacterIndex(bufferLine, coords);\n var startIndex = endIndex;\n var charOffset = coords[0] - startIndex;\n var leftWideCharCount = 0;\n var rightWideCharCount = 0;\n if (line.charAt(startIndex) === ' ') {\n while (startIndex > 0 && line.charAt(startIndex - 1) === ' ') {\n startIndex--;\n }\n while (endIndex < line.length && line.charAt(endIndex + 1) === ' ') {\n endIndex++;\n }\n }\n else {\n var startCol = coords[0];\n var endCol = coords[0];\n if (bufferLine[startCol][LINE_DATA_WIDTH_INDEX] === 0) {\n leftWideCharCount++;\n startCol--;\n }\n if (bufferLine[endCol][LINE_DATA_WIDTH_INDEX] === 2) {\n rightWideCharCount++;\n endCol++;\n }\n while (startIndex > 0 && !this._isCharWordSeparator(line.charAt(startIndex - 1))) {\n if (bufferLine[startCol - 1][LINE_DATA_WIDTH_INDEX] === 0) {\n leftWideCharCount++;\n startCol--;\n }\n startIndex--;\n startCol--;\n }\n while (endIndex + 1 < line.length && !this._isCharWordSeparator(line.charAt(endIndex + 1))) {\n if (bufferLine[endCol + 1][LINE_DATA_WIDTH_INDEX] === 2) {\n rightWideCharCount++;\n endCol++;\n }\n endIndex++;\n endCol++;\n }\n }\n var start = startIndex + charOffset - leftWideCharCount;\n var length = Math.min(endIndex - startIndex + leftWideCharCount + rightWideCharCount + 1, this._terminal.cols);\n return { start: start, length: length };\n };\n SelectionManager.prototype._selectWordAt = function (coords) {\n var wordPosition = this._getWordAt(coords);\n this._model.selectionStart = [wordPosition.start, coords[1]];\n this._model.selectionStartLength = wordPosition.length;\n };\n SelectionManager.prototype._selectToWordAt = function (coords) {\n var wordPosition = this._getWordAt(coords);\n this._model.selectionEnd = [this._model.areSelectionValuesReversed() ? wordPosition.start : (wordPosition.start + wordPosition.length), coords[1]];\n };\n SelectionManager.prototype._isCharWordSeparator = function (char) {\n return WORD_SEPARATORS.indexOf(char) >= 0;\n };\n SelectionManager.prototype._selectLineAt = function (line) {\n this._model.selectionStart = [0, line];\n this._model.selectionStartLength = this._terminal.cols;\n };\n return SelectionManager;\n}(EventEmitter_1.EventEmitter));\nexports.SelectionManager = SelectionManager;\n\n//# sourceMappingURL=SelectionManager.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/SelectionManager.js\n// module id = 21\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar SelectionModel = (function () {\n function SelectionModel(_terminal) {\n this._terminal = _terminal;\n this.clearSelection();\n }\n SelectionModel.prototype.clearSelection = function () {\n this.selectionStart = null;\n this.selectionEnd = null;\n this.isSelectAllActive = false;\n this.selectionStartLength = 0;\n };\n Object.defineProperty(SelectionModel.prototype, \"finalSelectionStart\", {\n get: function () {\n if (this.isSelectAllActive) {\n return [0, 0];\n }\n if (!this.selectionEnd || !this.selectionStart) {\n return this.selectionStart;\n }\n return this.areSelectionValuesReversed() ? this.selectionEnd : this.selectionStart;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SelectionModel.prototype, \"finalSelectionEnd\", {\n get: function () {\n if (this.isSelectAllActive) {\n return [this._terminal.cols, this._terminal.ybase + this._terminal.rows - 1];\n }\n if (!this.selectionStart) {\n return null;\n }\n if (!this.selectionEnd || this.areSelectionValuesReversed()) {\n return [this.selectionStart[0] + this.selectionStartLength, this.selectionStart[1]];\n }\n if (this.selectionStartLength) {\n if (this.selectionEnd[1] === this.selectionStart[1]) {\n return [Math.max(this.selectionStart[0] + this.selectionStartLength, this.selectionEnd[0]), this.selectionEnd[1]];\n }\n }\n return this.selectionEnd;\n },\n enumerable: true,\n configurable: true\n });\n SelectionModel.prototype.areSelectionValuesReversed = function () {\n var start = this.selectionStart;\n var end = this.selectionEnd;\n return start[1] > end[1] || (start[1] === end[1] && start[0] > end[0]);\n };\n SelectionModel.prototype.onTrim = function (amount) {\n if (this.selectionStart) {\n this.selectionStart[1] -= amount;\n }\n if (this.selectionEnd) {\n this.selectionEnd[1] -= amount;\n }\n if (this.selectionEnd && this.selectionEnd[1] < 0) {\n this.clearSelection();\n return true;\n }\n if (this.selectionStart && this.selectionStart[1] < 0) {\n this.selectionStart[1] = 0;\n }\n return false;\n };\n return SelectionModel;\n}());\nexports.SelectionModel = SelectionModel;\n\n//# sourceMappingURL=SelectionModel.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/SelectionModel.js\n// module id = 22\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Viewport = (function () {\n function Viewport(terminal, viewportElement, scrollArea, charMeasure) {\n var _this = this;\n this.terminal = terminal;\n this.viewportElement = viewportElement;\n this.scrollArea = scrollArea;\n this.charMeasure = charMeasure;\n this.currentRowHeight = 0;\n this.lastRecordedBufferLength = 0;\n this.lastRecordedViewportHeight = 0;\n this.terminal.on('scroll', this.syncScrollArea.bind(this));\n this.terminal.on('resize', this.syncScrollArea.bind(this));\n this.viewportElement.addEventListener('scroll', this.onScroll.bind(this));\n setTimeout(function () { return _this.syncScrollArea(); }, 0);\n }\n Viewport.prototype.refresh = function () {\n if (this.charMeasure.height > 0) {\n var rowHeightChanged = this.charMeasure.height !== this.currentRowHeight;\n if (rowHeightChanged) {\n this.currentRowHeight = this.charMeasure.height;\n this.viewportElement.style.lineHeight = this.charMeasure.height + 'px';\n this.terminal.rowContainer.style.lineHeight = this.charMeasure.height + 'px';\n }\n var viewportHeightChanged = this.lastRecordedViewportHeight !== this.terminal.rows;\n if (rowHeightChanged || viewportHeightChanged) {\n this.lastRecordedViewportHeight = this.terminal.rows;\n this.viewportElement.style.height = this.charMeasure.height * this.terminal.rows + 'px';\n this.terminal.selectionContainer.style.height = this.viewportElement.style.height;\n }\n this.scrollArea.style.height = (this.charMeasure.height * this.lastRecordedBufferLength) + 'px';\n }\n };\n Viewport.prototype.syncScrollArea = function () {\n if (this.lastRecordedBufferLength !== this.terminal.lines.length) {\n this.lastRecordedBufferLength = this.terminal.lines.length;\n this.refresh();\n }\n else if (this.lastRecordedViewportHeight !== this.terminal.rows) {\n this.refresh();\n }\n else {\n if (this.charMeasure.height !== this.currentRowHeight) {\n this.refresh();\n }\n }\n var scrollTop = this.terminal.ydisp * this.currentRowHeight;\n if (this.viewportElement.scrollTop !== scrollTop) {\n this.viewportElement.scrollTop = scrollTop;\n }\n };\n Viewport.prototype.onScroll = function (ev) {\n var newRow = Math.round(this.viewportElement.scrollTop / this.currentRowHeight);\n var diff = newRow - this.terminal.ydisp;\n this.terminal.scrollDisp(diff, true);\n };\n Viewport.prototype.onWheel = function (ev) {\n if (ev.deltaY === 0) {\n return;\n }\n var multiplier = 1;\n if (ev.deltaMode === WheelEvent.DOM_DELTA_LINE) {\n multiplier = this.currentRowHeight;\n }\n else if (ev.deltaMode === WheelEvent.DOM_DELTA_PAGE) {\n multiplier = this.currentRowHeight * this.terminal.rows;\n }\n this.viewportElement.scrollTop += ev.deltaY * multiplier;\n ev.preventDefault();\n };\n ;\n Viewport.prototype.onTouchStart = function (ev) {\n this.lastTouchY = ev.touches[0].pageY;\n };\n ;\n Viewport.prototype.onTouchMove = function (ev) {\n var deltaY = this.lastTouchY - ev.touches[0].pageY;\n this.lastTouchY = ev.touches[0].pageY;\n if (deltaY === 0) {\n return;\n }\n this.viewportElement.scrollTop += deltaY;\n ev.preventDefault();\n };\n ;\n return Viewport;\n}());\nexports.Viewport = Viewport;\n\n//# sourceMappingURL=Viewport.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Viewport.js\n// module id = 23\n// module chunks = 0","var map = {\n\t\"./attach/attach\": 4,\n\t\"./attach/attach.js\": 4,\n\t\"./attach/package.json\": 25,\n\t\"./fit/fit\": 5,\n\t\"./fit/fit.js\": 5,\n\t\"./fit/package.json\": 26,\n\t\"./fullscreen/fullscreen\": 6,\n\t\"./fullscreen/fullscreen.css\": 27,\n\t\"./fullscreen/fullscreen.js\": 6,\n\t\"./fullscreen/package.json\": 28,\n\t\"./terminado/package.json\": 29,\n\t\"./terminado/terminado\": 7,\n\t\"./terminado/terminado.js\": 7\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 24;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons ^\\.\\/.*$\n// module id = 24\n// module chunks = 0","module.exports = {\"name\":\"xterm.attach\",\"main\":\"attach.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/attach/package.json\n// module id = 25\n// module chunks = 0","module.exports = {\"name\":\"xterm.fit\",\"main\":\"fit.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fit/package.json\n// module id = 26\n// module chunks = 0","module.exports = {\"name\":\"xterm.fullscreen\",\"main\":\"fullscreen.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fullscreen/package.json\n// module id = 28\n// module chunks = 0","module.exports = {\"name\":\"xterm.terminado\",\"main\":\"terminado.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/terminado/package.json\n// module id = 29\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction prepareTextForTerminal(text, isMSWindows) {\n if (isMSWindows) {\n return text.replace(/\\r?\\n/g, '\\r');\n }\n return text;\n}\nexports.prepareTextForTerminal = prepareTextForTerminal;\nfunction copyHandler(ev, term, selectionManager) {\n if (term.browser.isMSIE) {\n window.clipboardData.setData('Text', selectionManager.selectionText);\n }\n else {\n ev.clipboardData.setData('text/plain', selectionManager.selectionText);\n }\n ev.preventDefault();\n}\nexports.copyHandler = copyHandler;\nfunction pasteHandler(ev, term) {\n ev.stopPropagation();\n var text;\n var dispatchPaste = function (text) {\n text = prepareTextForTerminal(text, term.browser.isMSWindows);\n term.handler(text);\n term.textarea.value = '';\n term.emit('paste', text);\n return term.cancel(ev);\n };\n if (term.browser.isMSIE) {\n if (window.clipboardData) {\n text = window.clipboardData.getData('Text');\n dispatchPaste(text);\n }\n }\n else {\n if (ev.clipboardData) {\n text = ev.clipboardData.getData('text/plain');\n dispatchPaste(text);\n }\n }\n}\nexports.pasteHandler = pasteHandler;\nfunction moveTextAreaUnderMouseCursor(ev, textarea) {\n textarea.style.position = 'fixed';\n textarea.style.width = '20px';\n textarea.style.height = '20px';\n textarea.style.left = (ev.clientX - 10) + 'px';\n textarea.style.top = (ev.clientY - 10) + 'px';\n textarea.style.zIndex = '1000';\n textarea.focus();\n setTimeout(function () {\n textarea.style.position = null;\n textarea.style.width = null;\n textarea.style.height = null;\n textarea.style.left = null;\n textarea.style.top = null;\n textarea.style.zIndex = null;\n }, 4);\n}\nexports.moveTextAreaUnderMouseCursor = moveTextAreaUnderMouseCursor;\nfunction rightClickHandler(ev, textarea, selectionManager) {\n moveTextAreaUnderMouseCursor(ev, textarea);\n textarea.value = selectionManager.selectionText;\n textarea.select();\n}\nexports.rightClickHandler = rightClickHandler;\n\n//# sourceMappingURL=Clipboard.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/handlers/Clipboard.js\n// module id = 30\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventEmitter_js_1 = require(\"../EventEmitter.js\");\nvar CharMeasure = (function (_super) {\n __extends(CharMeasure, _super);\n function CharMeasure(document, parentElement) {\n var _this = _super.call(this) || this;\n _this._document = document;\n _this._parentElement = parentElement;\n return _this;\n }\n Object.defineProperty(CharMeasure.prototype, \"width\", {\n get: function () {\n return this._width;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CharMeasure.prototype, \"height\", {\n get: function () {\n return this._height;\n },\n enumerable: true,\n configurable: true\n });\n CharMeasure.prototype.measure = function () {\n var _this = this;\n if (!this._measureElement) {\n this._measureElement = this._document.createElement('span');\n this._measureElement.style.position = 'absolute';\n this._measureElement.style.top = '0';\n this._measureElement.style.left = '-9999em';\n this._measureElement.textContent = 'W';\n this._measureElement.setAttribute('aria-hidden', 'true');\n this._parentElement.appendChild(this._measureElement);\n setTimeout(function () { return _this._doMeasure(); }, 0);\n }\n else {\n this._doMeasure();\n }\n };\n CharMeasure.prototype._doMeasure = function () {\n var geometry = this._measureElement.getBoundingClientRect();\n if (geometry.width === 0 || geometry.height === 0) {\n return;\n }\n if (this._width !== geometry.width || this._height !== geometry.height) {\n this._width = geometry.width;\n this._height = geometry.height;\n this.emit('charsizechanged');\n }\n };\n return CharMeasure;\n}(EventEmitter_js_1.EventEmitter));\nexports.CharMeasure = CharMeasure;\n\n//# sourceMappingURL=CharMeasure.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/CharMeasure.js\n// module id = 31\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventEmitter_1 = require(\"../EventEmitter\");\nvar CircularList = (function (_super) {\n __extends(CircularList, _super);\n function CircularList(maxLength) {\n var _this = _super.call(this) || this;\n _this._array = new Array(maxLength);\n _this._startIndex = 0;\n _this._length = 0;\n return _this;\n }\n Object.defineProperty(CircularList.prototype, \"maxLength\", {\n get: function () {\n return this._array.length;\n },\n set: function (newMaxLength) {\n var newArray = new Array(newMaxLength);\n for (var i = 0; i < Math.min(newMaxLength, this.length); i++) {\n newArray[i] = this._array[this._getCyclicIndex(i)];\n }\n this._array = newArray;\n this._startIndex = 0;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CircularList.prototype, \"length\", {\n get: function () {\n return this._length;\n },\n set: function (newLength) {\n if (newLength > this._length) {\n for (var i = this._length; i < newLength; i++) {\n this._array[i] = undefined;\n }\n }\n this._length = newLength;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CircularList.prototype, \"forEach\", {\n get: function () {\n var _this = this;\n return function (callbackfn) {\n var i = 0;\n var length = _this.length;\n for (var i_1 = 0; i_1 < length; i_1++) {\n callbackfn(_this.get(i_1), i_1);\n }\n };\n },\n enumerable: true,\n configurable: true\n });\n CircularList.prototype.get = function (index) {\n return this._array[this._getCyclicIndex(index)];\n };\n CircularList.prototype.set = function (index, value) {\n this._array[this._getCyclicIndex(index)] = value;\n };\n CircularList.prototype.push = function (value) {\n this._array[this._getCyclicIndex(this._length)] = value;\n if (this._length === this.maxLength) {\n this._startIndex++;\n if (this._startIndex === this.maxLength) {\n this._startIndex = 0;\n }\n this.emit('trim', 1);\n }\n else {\n this._length++;\n }\n };\n CircularList.prototype.pop = function () {\n return this._array[this._getCyclicIndex(this._length-- - 1)];\n };\n CircularList.prototype.splice = function (start, deleteCount) {\n var items = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n items[_i - 2] = arguments[_i];\n }\n if (deleteCount) {\n for (var i = start; i < this._length - deleteCount; i++) {\n this._array[this._getCyclicIndex(i)] = this._array[this._getCyclicIndex(i + deleteCount)];\n }\n this._length -= deleteCount;\n }\n if (items && items.length) {\n for (var i = this._length - 1; i >= start; i--) {\n this._array[this._getCyclicIndex(i + items.length)] = this._array[this._getCyclicIndex(i)];\n }\n for (var i = 0; i < items.length; i++) {\n this._array[this._getCyclicIndex(start + i)] = items[i];\n }\n if (this._length + items.length > this.maxLength) {\n var countToTrim = (this._length + items.length) - this.maxLength;\n this._startIndex += countToTrim;\n this._length = this.maxLength;\n this.emit('trim', countToTrim);\n }\n else {\n this._length += items.length;\n }\n }\n };\n CircularList.prototype.trimStart = function (count) {\n if (count > this._length) {\n count = this._length;\n }\n this._startIndex += count;\n this._length -= count;\n this.emit('trim', count);\n };\n CircularList.prototype.shiftElements = function (start, count, offset) {\n if (count <= 0) {\n return;\n }\n if (start < 0 || start >= this._length) {\n throw new Error('start argument out of range');\n }\n if (start + offset < 0) {\n throw new Error('Cannot shift elements in list beyond index 0');\n }\n if (offset > 0) {\n for (var i = count - 1; i >= 0; i--) {\n this.set(start + i + offset, this.get(start + i));\n }\n var expandListBy = (start + count + offset) - this._length;\n if (expandListBy > 0) {\n this._length += expandListBy;\n while (this._length > this.maxLength) {\n this._length--;\n this._startIndex++;\n this.emit('trim', 1);\n }\n }\n }\n else {\n for (var i = 0; i < count; i++) {\n this.set(start + i + offset, this.get(start + i));\n }\n }\n };\n CircularList.prototype._getCyclicIndex = function (index) {\n return (this._startIndex + index) % this.maxLength;\n };\n return CircularList;\n}(EventEmitter_1.EventEmitter));\nexports.CircularList = CircularList;\n\n//# sourceMappingURL=CircularList.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/CircularList.js\n// module id = 32\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DomElementObjectPool = (function () {\n function DomElementObjectPool(type) {\n this.type = type;\n this._type = type;\n this._pool = [];\n this._inUse = {};\n }\n DomElementObjectPool.prototype.acquire = function () {\n var element;\n if (this._pool.length === 0) {\n element = this._createNew();\n }\n else {\n element = this._pool.pop();\n }\n this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)] = element;\n return element;\n };\n DomElementObjectPool.prototype.release = function (element) {\n if (!this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)]) {\n throw new Error('Could not release an element not yet acquired');\n }\n delete this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)];\n this._cleanElement(element);\n this._pool.push(element);\n };\n DomElementObjectPool.prototype._createNew = function () {\n var element = document.createElement(this._type);\n var id = DomElementObjectPool._objectCount++;\n element.setAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE, id.toString(10));\n return element;\n };\n DomElementObjectPool.prototype._cleanElement = function (element) {\n element.className = '';\n element.innerHTML = '';\n };\n return DomElementObjectPool;\n}());\nDomElementObjectPool.OBJECT_ID_ATTRIBUTE = 'data-obj-id';\nDomElementObjectPool._objectCount = 0;\nexports.DomElementObjectPool = DomElementObjectPool;\n\n//# sourceMappingURL=DomElementObjectPool.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/DomElementObjectPool.js\n// module id = 33\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction contains(arr, el) {\n return arr.indexOf(el) >= 0;\n}\nexports.contains = contains;\n;\n\n//# sourceMappingURL=Generic.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Generic.js\n// module id = 34\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/js/dist/hterm.d.ts b/js/dist/hterm.d.ts index 5884784..2402bda 100644 --- a/js/dist/hterm.d.ts +++ b/js/dist/hterm.d.ts @@ -1,8 +1,8 @@ import * as bare from "libapps"; export declare class Hterm { elem: HTMLElement; - term: bare.Terminal; - io: bare.IO; + term: bare.hterm.Terminal; + io: bare.hterm.IO; columns: number; rows: number; message: string; diff --git a/js/src/hterm.ts b/js/src/hterm.ts index b775c00..dc16401 100644 --- a/js/src/hterm.ts +++ b/js/src/hterm.ts @@ -3,8 +3,8 @@ import * as bare from "libapps"; export class Hterm { elem: HTMLElement; - term: bare.Terminal; - io: bare.IO; + term: bare.hterm.Terminal; + io: bare.hterm.IO; columns: number; rows: number; diff --git a/js/typings/libapps/index.d.ts b/js/typings/libapps/index.d.ts new file mode 100644 index 0000000..053ff4d --- /dev/null +++ b/js/typings/libapps/index.d.ts @@ -0,0 +1,53 @@ +export namespace hterm { + export interface Terminal { + io: IO; + onTerminalReady: () => void; + + getPrefs(): Prefs; + decorate(HTMLElement); + installKeyboard(): void; + uninstallKeyboard(): void; + setWindowTitle(title: string): void; + reset(): void; + softReset(): void; + } + + export interface TerminalConstructor { + new (): Terminal; + (): Terminal; + } + + + export interface IO { + writeUTF8: ((data: string) => void); + writeUTF16: ((data: string) => void); + onVTKeystroke: ((data: string) => void) | null; + sendString: ((data: string) => void) | null; + onTerminalResize: ((columns: number, rows: number) => void) | null; + + push(): IO; + writeUTF(data: string); + showOverlay(message: string, timeout: number | null); + } + + export interface Prefs { + set(key: string, value: string): void; + } + + export var Terminal: TerminalConstructor; + export var defaultStorage: lib.Storage; +} + +export namespace lib { + export interface Storage { + } + + export interface Memory { + new (): Storage; + Memory(): Storage + } + + export var Storage: { + Memory: Memory + } +} diff --git a/server/asset.go b/server/asset.go index fc568bf..3ad4d5e 100644 --- a/server/asset.go +++ b/server/asset.go @@ -209,7 +209,7 @@ func staticJsGottyBundleJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/js/gotty-bundle.js", size: 773299, mode: os.FileMode(436), modTime: time.Unix(1503385387, 0)} + info := bindataFileInfo{name: "static/js/gotty-bundle.js", size: 773299, mode: os.FileMode(436), modTime: time.Unix(1503386172, 0)} a := &asset{bytes: bytes, info: info} return a, nil } From 024ab8f28e249b713265aeab4565a8f212ecd1e7 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Tue, 22 Aug 2017 16:58:15 +0900 Subject: [PATCH 62/82] Minify bundled js code --- js/dist/gotty-bundle.js | 23967 +--------------------------------- js/dist/gotty-bundle.js.map | 1 - js/package-lock.json | 522 + js/package.json | 3 +- js/webpack.config.js | 7 +- server/asset.go | 4 +- 6 files changed, 537 insertions(+), 23967 deletions(-) delete mode 100644 js/dist/gotty-bundle.js.map diff --git a/js/dist/gotty-bundle.js b/js/dist/gotty-bundle.js index 78abfc0..7c8208d 100644 --- a/js/dist/gotty-bundle.js +++ b/js/dist/gotty-bundle.js @@ -1,2127 +1,9 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 15); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var CompositionHelper_1 = __webpack_require__(16); -var EventEmitter_1 = __webpack_require__(1); -var Viewport_1 = __webpack_require__(23); -var Clipboard_1 = __webpack_require__(30); -var CircularList_1 = __webpack_require__(32); -var EscapeSequences_1 = __webpack_require__(2); -var InputHandler_1 = __webpack_require__(17); -var Parser_1 = __webpack_require__(19); -var Renderer_1 = __webpack_require__(20); -var Linkifier_1 = __webpack_require__(18); -var SelectionManager_1 = __webpack_require__(21); -var CharMeasure_1 = __webpack_require__(31); -var Browser = __webpack_require__(8); -var Mouse_1 = __webpack_require__(9); -var document = (typeof window != 'undefined') ? window.document : null; -var WRITE_BUFFER_PAUSE_THRESHOLD = 5; -var WRITE_BATCH_SIZE = 300; -var CURSOR_BLINK_INTERVAL = 600; -function Terminal(options) { - var self = this; - if (!(this instanceof Terminal)) { - return new Terminal(arguments[0], arguments[1], arguments[2]); - } - self.browser = Browser; - self.cancel = Terminal.cancel; - EventEmitter_1.EventEmitter.call(this); - if (typeof options === 'number') { - options = { - cols: arguments[0], - rows: arguments[1], - handler: arguments[2] - }; - } - options = options || {}; - Object.keys(Terminal.defaults).forEach(function (key) { - if (options[key] == null) { - options[key] = Terminal.options[key]; - if (Terminal[key] !== Terminal.defaults[key]) { - options[key] = Terminal[key]; - } - } - self[key] = options[key]; - }); - if (options.colors.length === 8) { - options.colors = options.colors.concat(Terminal._colors.slice(8)); - } - else if (options.colors.length === 16) { - options.colors = options.colors.concat(Terminal._colors.slice(16)); - } - else if (options.colors.length === 10) { - options.colors = options.colors.slice(0, -2).concat(Terminal._colors.slice(8, -2), options.colors.slice(-2)); - } - else if (options.colors.length === 18) { - options.colors = options.colors.concat(Terminal._colors.slice(16, -2), options.colors.slice(-2)); - } - this.colors = options.colors; - this.options = options; - this.parent = options.body || options.parent || (document ? document.getElementsByTagName('body')[0] : null); - this.cols = options.cols || options.geometry[0]; - this.rows = options.rows || options.geometry[1]; - this.geometry = [this.cols, this.rows]; - if (options.handler) { - this.on('data', options.handler); - } - this.ybase = 0; - this.ydisp = 0; - this.x = 0; - this.y = 0; - this.cursorState = 0; - this.cursorHidden = false; - this.convertEol; - this.queue = ''; - this.scrollTop = 0; - this.scrollBottom = this.rows - 1; - this.customKeyEventHandler = null; - this.cursorBlinkInterval = null; - this.applicationKeypad = false; - this.applicationCursor = false; - this.originMode = false; - this.insertMode = false; - this.wraparoundMode = true; - this.normal = null; - this.charset = null; - this.gcharset = null; - this.glevel = 0; - this.charsets = [null]; - this.decLocator; - this.x10Mouse; - this.vt200Mouse; - this.vt300Mouse; - this.normalMouse; - this.mouseEvents; - this.sendFocus; - this.utfMouse; - this.sgrMouse; - this.urxvtMouse; - this.element; - this.children; - this.refreshStart; - this.refreshEnd; - this.savedX; - this.savedY; - this.savedCols; - this.readable = true; - this.writable = true; - this.defAttr = (0 << 18) | (257 << 9) | (256 << 0); - this.curAttr = this.defAttr; - this.params = []; - this.currentParam = 0; - this.prefix = ''; - this.postfix = ''; - this.inputHandler = new InputHandler_1.InputHandler(this); - this.parser = new Parser_1.Parser(this.inputHandler, this); - this.renderer = this.renderer || null; - this.selectionManager = this.selectionManager || null; - this.linkifier = this.linkifier || new Linkifier_1.Linkifier(); - this.writeBuffer = []; - this.writeInProgress = false; - this.xoffSentToCatchUp = false; - this.writeStopped = false; - this.surrogate_high = ''; - this.lines = new CircularList_1.CircularList(this.scrollback); - var i = this.rows; - while (i--) { - this.lines.push(this.blankLine()); - } - if (this.selectionManager) { - this.selectionManager.setBuffer(this.lines); - } - this.tabs; - this.setupStops(); - this.userScrolling = false; -} -inherits(Terminal, EventEmitter_1.EventEmitter); -Terminal.prototype.eraseAttr = function () { - return (this.defAttr & ~0x1ff) | (this.curAttr & 0x1ff); -}; -Terminal.tangoColors = [ - '#2e3436', - '#cc0000', - '#4e9a06', - '#c4a000', - '#3465a4', - '#75507b', - '#06989a', - '#d3d7cf', - '#555753', - '#ef2929', - '#8ae234', - '#fce94f', - '#729fcf', - '#ad7fa8', - '#34e2e2', - '#eeeeec' -]; -Terminal.colors = (function () { - var colors = Terminal.tangoColors.slice(), r = [0x00, 0x5f, 0x87, 0xaf, 0xd7, 0xff], i; - i = 0; - for (; i < 216; i++) { - out(r[(i / 36) % 6 | 0], r[(i / 6) % 6 | 0], r[i % 6]); - } - i = 0; - for (; i < 24; i++) { - r = 8 + i * 10; - out(r, r, r); - } - function out(r, g, b) { - colors.push('#' + hex(r) + hex(g) + hex(b)); - } - function hex(c) { - c = c.toString(16); - return c.length < 2 ? '0' + c : c; - } - return colors; -})(); -Terminal._colors = Terminal.colors.slice(); -Terminal.vcolors = (function () { - var out = [], colors = Terminal.colors, i = 0, color; - for (; i < 256; i++) { - color = parseInt(colors[i].substring(1), 16); - out.push([ - (color >> 16) & 0xff, - (color >> 8) & 0xff, - color & 0xff - ]); - } - return out; -})(); -Terminal.defaults = { - colors: Terminal.colors, - theme: 'default', - convertEol: false, - termName: 'xterm', - geometry: [80, 24], - cursorBlink: false, - cursorStyle: 'block', - visualBell: false, - popOnBell: false, - scrollback: 1000, - screenKeys: false, - debug: false, - cancelEvents: false, - disableStdin: false, - useFlowControl: false, - tabStopWidth: 8 -}; -Terminal.options = {}; -Terminal.focus = null; -each(keys(Terminal.defaults), function (key) { - Terminal[key] = Terminal.defaults[key]; - Terminal.options[key] = Terminal.defaults[key]; -}); -Terminal.prototype.focus = function () { - return this.textarea.focus(); -}; -Terminal.prototype.getOption = function (key, value) { - if (!(key in Terminal.defaults)) { - throw new Error('No option with key "' + key + '"'); - } - if (typeof this.options[key] !== 'undefined') { - return this.options[key]; - } - return this[key]; -}; -Terminal.prototype.setOption = function (key, value) { - if (!(key in Terminal.defaults)) { - throw new Error('No option with key "' + key + '"'); - } - switch (key) { - case 'scrollback': - if (value < this.rows) { - var msg = 'Setting the scrollback value less than the number of rows '; - msg += "(" + this.rows + ") is not allowed."; - console.warn(msg); - return false; - } - if (this.options[key] !== value) { - if (this.lines.length > value) { - var amountToTrim = this.lines.length - value; - var needsRefresh = (this.ydisp - amountToTrim < 0); - this.lines.trimStart(amountToTrim); - this.ybase = Math.max(this.ybase - amountToTrim, 0); - this.ydisp = Math.max(this.ydisp - amountToTrim, 0); - if (needsRefresh) { - this.refresh(0, this.rows - 1); - } - } - this.lines.maxLength = value; - this.viewport.syncScrollArea(); - } - break; - } - this[key] = value; - this.options[key] = value; - switch (key) { - case 'cursorBlink': - this.setCursorBlinking(value); - break; - case 'cursorStyle': - this.element.classList.toggle("xterm-cursor-style-underline", value === 'underline'); - this.element.classList.toggle("xterm-cursor-style-bar", value === 'bar'); - break; - case 'tabStopWidth': - this.setupStops(); - break; - } -}; -Terminal.prototype.restartCursorBlinking = function () { - this.setCursorBlinking(this.options.cursorBlink); -}; -Terminal.prototype.setCursorBlinking = function (enabled) { - this.element.classList.toggle('xterm-cursor-blink', enabled); - this.clearCursorBlinkingInterval(); - if (enabled) { - var self = this; - this.cursorBlinkInterval = setInterval(function () { - self.element.classList.toggle('xterm-cursor-blink-on'); - }, CURSOR_BLINK_INTERVAL); - } -}; -Terminal.prototype.clearCursorBlinkingInterval = function () { - this.element.classList.remove('xterm-cursor-blink-on'); - if (this.cursorBlinkInterval) { - clearInterval(this.cursorBlinkInterval); - this.cursorBlinkInterval = null; - } -}; -Terminal.bindFocus = function (term) { - on(term.textarea, 'focus', function (ev) { - if (term.sendFocus) { - term.send(EscapeSequences_1.C0.ESC + '[I'); - } - term.element.classList.add('focus'); - term.showCursor(); - term.restartCursorBlinking.apply(term); - Terminal.focus = term; - term.emit('focus', { terminal: term }); - }); -}; -Terminal.prototype.blur = function () { - return this.textarea.blur(); -}; -Terminal.bindBlur = function (term) { - on(term.textarea, 'blur', function (ev) { - term.refresh(term.y, term.y); - if (term.sendFocus) { - term.send(EscapeSequences_1.C0.ESC + '[O'); - } - term.element.classList.remove('focus'); - term.clearCursorBlinkingInterval.apply(term); - Terminal.focus = null; - term.emit('blur', { terminal: term }); - }); -}; -Terminal.prototype.initGlobal = function () { - var _this = this; - var term = this; - Terminal.bindKeys(this); - Terminal.bindFocus(this); - Terminal.bindBlur(this); - on(this.element, 'copy', function (event) { - if (_this.mouseEvents) { - return; - } - Clipboard_1.copyHandler(event, term, _this.selectionManager); - }); - var pasteHandlerWrapper = function (event) { return Clipboard_1.pasteHandler(event, term); }; - on(this.textarea, 'paste', pasteHandlerWrapper); - on(this.element, 'paste', pasteHandlerWrapper); - if (term.browser.isFirefox) { - on(this.element, 'mousedown', function (event) { - if (event.button == 2) { - Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager); - } - }); - } - else { - on(this.element, 'contextmenu', function (event) { - Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager); - }); - } - if (term.browser.isLinux) { - on(this.element, 'auxclick', function (event) { - if (event.button === 1) { - Clipboard_1.moveTextAreaUnderMouseCursor(event, _this.textarea, _this.selectionManager); - } - }); - } -}; -Terminal.bindKeys = function (term) { - on(term.element, 'keydown', function (ev) { - if (document.activeElement != this) { - return; - } - term.keyDown(ev); - }, true); - on(term.element, 'keypress', function (ev) { - if (document.activeElement != this) { - return; - } - term.keyPress(ev); - }, true); - on(term.element, 'keyup', function (ev) { - if (!wasMondifierKeyOnlyEvent(ev)) { - term.focus(term); - } - }, true); - on(term.textarea, 'keydown', function (ev) { - term.keyDown(ev); - }, true); - on(term.textarea, 'keypress', function (ev) { - term.keyPress(ev); - this.value = ''; - }, true); - on(term.textarea, 'compositionstart', term.compositionHelper.compositionstart.bind(term.compositionHelper)); - on(term.textarea, 'compositionupdate', term.compositionHelper.compositionupdate.bind(term.compositionHelper)); - on(term.textarea, 'compositionend', term.compositionHelper.compositionend.bind(term.compositionHelper)); - term.on('refresh', term.compositionHelper.updateCompositionElements.bind(term.compositionHelper)); - term.on('refresh', function (data) { - term.queueLinkification(data.start, data.end); - }); -}; -Terminal.prototype.insertRow = function (row) { - if (typeof row != 'object') { - row = document.createElement('div'); - } - this.rowContainer.appendChild(row); - this.children.push(row); - return row; -}; -Terminal.prototype.open = function (parent, focus) { - var _this = this; - var self = this, i = 0, div; - this.parent = parent || this.parent; - if (!this.parent) { - throw new Error('Terminal requires a parent element.'); - } - this.context = this.parent.ownerDocument.defaultView; - this.document = this.parent.ownerDocument; - this.body = this.document.getElementsByTagName('body')[0]; - this.element = this.document.createElement('div'); - this.element.classList.add('terminal'); - this.element.classList.add('xterm'); - this.element.classList.add('xterm-theme-' + this.theme); - this.setCursorBlinking(this.options.cursorBlink); - this.element.setAttribute('tabindex', 0); - this.viewportElement = document.createElement('div'); - this.viewportElement.classList.add('xterm-viewport'); - this.element.appendChild(this.viewportElement); - this.viewportScrollArea = document.createElement('div'); - this.viewportScrollArea.classList.add('xterm-scroll-area'); - this.viewportElement.appendChild(this.viewportScrollArea); - this.selectionContainer = document.createElement('div'); - this.selectionContainer.classList.add('xterm-selection'); - this.element.appendChild(this.selectionContainer); - this.rowContainer = document.createElement('div'); - this.rowContainer.classList.add('xterm-rows'); - this.element.appendChild(this.rowContainer); - this.children = []; - this.linkifier.attachToDom(document, this.children); - this.helperContainer = document.createElement('div'); - this.helperContainer.classList.add('xterm-helpers'); - this.element.appendChild(this.helperContainer); - this.textarea = document.createElement('textarea'); - this.textarea.classList.add('xterm-helper-textarea'); - this.textarea.setAttribute('autocorrect', 'off'); - this.textarea.setAttribute('autocapitalize', 'off'); - this.textarea.setAttribute('spellcheck', 'false'); - this.textarea.tabIndex = 0; - this.textarea.addEventListener('focus', function () { - self.emit('focus', { terminal: self }); - }); - this.textarea.addEventListener('blur', function () { - self.emit('blur', { terminal: self }); - }); - this.helperContainer.appendChild(this.textarea); - this.compositionView = document.createElement('div'); - this.compositionView.classList.add('composition-view'); - this.compositionHelper = new CompositionHelper_1.CompositionHelper(this.textarea, this.compositionView, this); - this.helperContainer.appendChild(this.compositionView); - this.charSizeStyleElement = document.createElement('style'); - this.helperContainer.appendChild(this.charSizeStyleElement); - for (; i < this.rows; i++) { - this.insertRow(); - } - this.parent.appendChild(this.element); - this.charMeasure = new CharMeasure_1.CharMeasure(document, this.helperContainer); - this.charMeasure.on('charsizechanged', function () { - self.updateCharSizeStyles(); - }); - this.charMeasure.measure(); - this.viewport = new Viewport_1.Viewport(this, this.viewportElement, this.viewportScrollArea, this.charMeasure); - this.renderer = new Renderer_1.Renderer(this); - this.selectionManager = new SelectionManager_1.SelectionManager(this, this.lines, this.rowContainer, this.charMeasure); - this.selectionManager.on('refresh', function (data) { - _this.renderer.refreshSelection(data.start, data.end); - }); - this.selectionManager.on('newselection', function (text) { - _this.textarea.value = text; - _this.textarea.focus(); - _this.textarea.select(); - }); - this.on('scroll', function () { return _this.selectionManager.refresh(); }); - this.viewportElement.addEventListener('scroll', function () { return _this.selectionManager.refresh(); }); - this.refresh(0, this.rows - 1); - this.initGlobal(); - if (typeof focus == 'undefined') { - var message = 'You did not pass the `focus` argument in `Terminal.prototype.open()`.\n'; - message += 'The `focus` argument now defaults to `true` but starting with xterm.js 3.0 '; - message += 'it will default to `false`.'; - console.warn(message); - focus = true; - } - if (focus) { - this.focus(); - } - on(this.element, 'click', function () { - var selection = document.getSelection(), collapsed = selection.isCollapsed, isRange = typeof collapsed == 'boolean' ? !collapsed : selection.type == 'Range'; - if (!isRange) { - self.focus(); - } - }); - this.bindMouse(); - this.emit('open'); -}; -Terminal.loadAddon = function (addon, callback) { - if (true) { - return __webpack_require__(24)("./" + addon + '/' + addon); - } - else if (typeof define == 'function') { - return require(['./addons/' + addon + '/' + addon], callback); - } - else { - console.error('Cannot load a module without a CommonJS or RequireJS environment.'); - return false; - } -}; -Terminal.prototype.updateCharSizeStyles = function () { - this.charSizeStyleElement.textContent = - ".xterm-wide-char{width:" + this.charMeasure.width * 2 + "px;}" + - (".xterm-normal-char{width:" + this.charMeasure.width + "px;}") + - (".xterm-rows > div{height:" + this.charMeasure.height + "px;}"); -}; -Terminal.prototype.bindMouse = function () { - var el = this.element, self = this, pressed = 32; - function sendButton(ev) { - var button, pos; - button = getButton(ev); - pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows); - if (!pos) - return; - sendEvent(button, pos); - switch (ev.overrideType || ev.type) { - case 'mousedown': - pressed = button; - break; - case 'mouseup': - pressed = 32; - break; - case 'wheel': - break; - } - } - function sendMove(ev) { - var button = pressed, pos; - pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows); - if (!pos) - return; - button += 32; - sendEvent(button, pos); - } - function encode(data, ch) { - if (!self.utfMouse) { - if (ch === 255) - return data.push(0); - if (ch > 127) - ch = 127; - data.push(ch); - } - else { - if (ch === 2047) - return data.push(0); - if (ch < 127) { - data.push(ch); - } - else { - if (ch > 2047) - ch = 2047; - data.push(0xC0 | (ch >> 6)); - data.push(0x80 | (ch & 0x3F)); - } - } - } - function sendEvent(button, pos) { - if (self.vt300Mouse) { - button &= 3; - pos.x -= 32; - pos.y -= 32; - var data = EscapeSequences_1.C0.ESC + '[24'; - if (button === 0) - data += '1'; - else if (button === 1) - data += '3'; - else if (button === 2) - data += '5'; - else if (button === 3) - return; - else - data += '0'; - data += '~[' + pos.x + ',' + pos.y + ']\r'; - self.send(data); - return; - } - if (self.decLocator) { - button &= 3; - pos.x -= 32; - pos.y -= 32; - if (button === 0) - button = 2; - else if (button === 1) - button = 4; - else if (button === 2) - button = 6; - else if (button === 3) - button = 3; - self.send(EscapeSequences_1.C0.ESC + '[' - + button - + ';' - + (button === 3 ? 4 : 0) - + ';' - + pos.y - + ';' - + pos.x - + ';' - + (pos.page || 0) - + '&w'); - return; - } - if (self.urxvtMouse) { - pos.x -= 32; - pos.y -= 32; - pos.x++; - pos.y++; - self.send(EscapeSequences_1.C0.ESC + '[' + button + ';' + pos.x + ';' + pos.y + 'M'); - return; - } - if (self.sgrMouse) { - pos.x -= 32; - pos.y -= 32; - self.send(EscapeSequences_1.C0.ESC + '[<' - + (((button & 3) === 3 ? button & ~3 : button) - 32) - + ';' - + pos.x - + ';' - + pos.y - + ((button & 3) === 3 ? 'm' : 'M')); - return; - } - var data = []; - encode(data, button); - encode(data, pos.x); - encode(data, pos.y); - self.send(EscapeSequences_1.C0.ESC + '[M' + String.fromCharCode.apply(String, data)); - } - function getButton(ev) { - var button, shift, meta, ctrl, mod; - switch (ev.overrideType || ev.type) { - case 'mousedown': - button = ev.button != null - ? +ev.button - : ev.which != null - ? ev.which - 1 - : null; - if (self.browser.isMSIE) { - button = button === 1 ? 0 : button === 4 ? 1 : button; - } - break; - case 'mouseup': - button = 3; - break; - case 'DOMMouseScroll': - button = ev.detail < 0 - ? 64 - : 65; - break; - case 'wheel': - button = ev.wheelDeltaY > 0 - ? 64 - : 65; - break; - } - shift = ev.shiftKey ? 4 : 0; - meta = ev.metaKey ? 8 : 0; - ctrl = ev.ctrlKey ? 16 : 0; - mod = shift | meta | ctrl; - if (self.vt200Mouse) { - mod &= ctrl; - } - else if (!self.normalMouse) { - mod = 0; - } - button = (32 + (mod << 2)) + button; - return button; - } - on(el, 'mousedown', function (ev) { - if (!self.mouseEvents) - return; - sendButton(ev); - self.focus(); - if (self.vt200Mouse) { - ev.overrideType = 'mouseup'; - sendButton(ev); - return self.cancel(ev); - } - if (self.normalMouse) - on(self.document, 'mousemove', sendMove); - if (!self.x10Mouse) { - on(self.document, 'mouseup', function up(ev) { - sendButton(ev); - if (self.normalMouse) - off(self.document, 'mousemove', sendMove); - off(self.document, 'mouseup', up); - return self.cancel(ev); - }); - } - return self.cancel(ev); - }); - on(el, 'wheel', function (ev) { - if (!self.mouseEvents) - return; - if (self.x10Mouse - || self.vt300Mouse - || self.decLocator) - return; - sendButton(ev); - return self.cancel(ev); - }); - on(el, 'wheel', function (ev) { - if (self.mouseEvents) - return; - self.viewport.onWheel(ev); - return self.cancel(ev); - }); - on(el, 'touchstart', function (ev) { - if (self.mouseEvents) - return; - self.viewport.onTouchStart(ev); - return self.cancel(ev); - }); - on(el, 'touchmove', function (ev) { - if (self.mouseEvents) - return; - self.viewport.onTouchMove(ev); - return self.cancel(ev); - }); -}; -Terminal.prototype.destroy = function () { - this.readable = false; - this.writable = false; - this._events = {}; - this.handler = function () { }; - this.write = function () { }; - if (this.element && this.element.parentNode) { - this.element.parentNode.removeChild(this.element); - } -}; -Terminal.prototype.refresh = function (start, end) { - if (this.renderer) { - this.renderer.queueRefresh(start, end); - } -}; -Terminal.prototype.queueLinkification = function (start, end) { - if (this.linkifier) { - for (var i = start; i <= end; i++) { - this.linkifier.linkifyRow(i); - } - } -}; -Terminal.prototype.showCursor = function () { - if (!this.cursorState) { - this.cursorState = 1; - this.refresh(this.y, this.y); - } -}; -Terminal.prototype.scroll = function (isWrapped) { - var row; - if (this.lines.length === this.lines.maxLength) { - this.lines.trimStart(1); - this.ybase--; - if (this.ydisp !== 0) { - this.ydisp--; - } - } - this.ybase++; - if (!this.userScrolling) { - this.ydisp = this.ybase; - } - row = this.ybase + this.rows - 1; - row -= this.rows - 1 - this.scrollBottom; - if (row === this.lines.length) { - this.lines.push(this.blankLine(undefined, isWrapped)); - } - else { - this.lines.splice(row, 0, this.blankLine(undefined, isWrapped)); - } - if (this.scrollTop !== 0) { - if (this.ybase !== 0) { - this.ybase--; - if (!this.userScrolling) { - this.ydisp = this.ybase; - } - } - this.lines.splice(this.ybase + this.scrollTop, 1); - } - this.updateRange(this.scrollTop); - this.updateRange(this.scrollBottom); - this.emit('scroll', this.ydisp); -}; -Terminal.prototype.scrollDisp = function (disp, suppressScrollEvent) { - if (disp < 0) { - if (this.ydisp === 0) { - return; - } - this.userScrolling = true; - } - else if (disp + this.ydisp >= this.ybase) { - this.userScrolling = false; - } - this.ydisp += disp; - if (this.ydisp > this.ybase) { - this.ydisp = this.ybase; - } - else if (this.ydisp < 0) { - this.ydisp = 0; - } - if (!suppressScrollEvent) { - this.emit('scroll', this.ydisp); - } - this.refresh(0, this.rows - 1); -}; -Terminal.prototype.scrollPages = function (pageCount) { - this.scrollDisp(pageCount * (this.rows - 1)); -}; -Terminal.prototype.scrollToTop = function () { - this.scrollDisp(-this.ydisp); -}; -Terminal.prototype.scrollToBottom = function () { - this.scrollDisp(this.ybase - this.ydisp); -}; -Terminal.prototype.write = function (data) { - this.writeBuffer.push(data); - if (this.options.useFlowControl && !this.xoffSentToCatchUp && this.writeBuffer.length >= WRITE_BUFFER_PAUSE_THRESHOLD) { - this.send(EscapeSequences_1.C0.DC3); - this.xoffSentToCatchUp = true; - } - if (!this.writeInProgress && this.writeBuffer.length > 0) { - this.writeInProgress = true; - var self = this; - setTimeout(function () { - self.innerWrite(); - }); - } -}; -Terminal.prototype.innerWrite = function () { - var writeBatch = this.writeBuffer.splice(0, WRITE_BATCH_SIZE); - while (writeBatch.length > 0) { - var data = writeBatch.shift(); - var l = data.length, i = 0, j, cs, ch, code, low, ch_width, row; - if (this.xoffSentToCatchUp && writeBatch.length === 0 && this.writeBuffer.length === 0) { - this.send(EscapeSequences_1.C0.DC1); - this.xoffSentToCatchUp = false; - } - this.refreshStart = this.y; - this.refreshEnd = this.y; - var state = this.parser.parse(data); - this.parser.setState(state); - this.updateRange(this.y); - this.refresh(this.refreshStart, this.refreshEnd); - } - if (this.writeBuffer.length > 0) { - var self = this; - setTimeout(function () { - self.innerWrite(); - }, 0); - } - else { - this.writeInProgress = false; - } -}; -Terminal.prototype.writeln = function (data) { - this.write(data + '\r\n'); -}; -Terminal.prototype.attachCustomKeydownHandler = function (customKeydownHandler) { - var message = 'attachCustomKeydownHandler() is DEPRECATED and will be removed soon. Please use attachCustomKeyEventHandler() instead.'; - console.warn(message); - this.attachCustomKeyEventHandler(customKeydownHandler); -}; -Terminal.prototype.attachCustomKeyEventHandler = function (customKeyEventHandler) { - this.customKeyEventHandler = customKeyEventHandler; -}; -Terminal.prototype.setHypertextLinkHandler = function (handler) { - if (!this.linkifier) { - throw new Error('Cannot attach a hypertext link handler before Terminal.open is called'); - } - this.linkifier.setHypertextLinkHandler(handler); - this.refresh(0, this.rows - 1); -}; -Terminal.prototype.setHypertextValidationCallback = function (callback) { - if (!this.linkifier) { - throw new Error('Cannot attach a hypertext validation callback before Terminal.open is called'); - } - this.linkifier.setHypertextValidationCallback(callback); - this.refresh(0, this.rows - 1); -}; -Terminal.prototype.registerLinkMatcher = function (regex, handler, options) { - if (this.linkifier) { - var matcherId = this.linkifier.registerLinkMatcher(regex, handler, options); - this.refresh(0, this.rows - 1); - return matcherId; - } -}; -Terminal.prototype.deregisterLinkMatcher = function (matcherId) { - if (this.linkifier) { - if (this.linkifier.deregisterLinkMatcher(matcherId)) { - this.refresh(0, this.rows - 1); - } - } -}; -Terminal.prototype.hasSelection = function () { - return this.selectionManager.hasSelection; -}; -Terminal.prototype.getSelection = function () { - return this.selectionManager.selectionText; -}; -Terminal.prototype.clearSelection = function () { - this.selectionManager.clearSelection(); -}; -Terminal.prototype.selectAll = function () { - this.selectionManager.selectAll(); -}; -Terminal.prototype.keyDown = function (ev) { - if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) { - return false; - } - this.restartCursorBlinking(); - if (!this.compositionHelper.keydown.bind(this.compositionHelper)(ev)) { - if (this.ybase !== this.ydisp) { - this.scrollToBottom(); - } - return false; - } - var self = this; - var result = this.evaluateKeyEscapeSequence(ev); - if (result.key === EscapeSequences_1.C0.DC3) { - this.writeStopped = true; - } - else if (result.key === EscapeSequences_1.C0.DC1) { - this.writeStopped = false; - } - if (result.scrollDisp) { - this.scrollDisp(result.scrollDisp); - return this.cancel(ev, true); - } - if (isThirdLevelShift(this, ev)) { - return true; - } - if (result.cancel) { - this.cancel(ev, true); - } - if (!result.key) { - return true; - } - this.emit('keydown', ev); - this.emit('key', result.key, ev); - this.showCursor(); - this.handler(result.key); - return this.cancel(ev, true); -}; -Terminal.prototype.evaluateKeyEscapeSequence = function (ev) { - var result = { - cancel: false, - key: undefined, - scrollDisp: undefined - }; - var modifiers = ev.shiftKey << 0 | ev.altKey << 1 | ev.ctrlKey << 2 | ev.metaKey << 3; - switch (ev.keyCode) { - case 8: - if (ev.shiftKey) { - result.key = EscapeSequences_1.C0.BS; - break; - } - result.key = EscapeSequences_1.C0.DEL; - break; - case 9: - if (ev.shiftKey) { - result.key = EscapeSequences_1.C0.ESC + '[Z'; - break; - } - result.key = EscapeSequences_1.C0.HT; - result.cancel = true; - break; - case 13: - result.key = EscapeSequences_1.C0.CR; - result.cancel = true; - break; - case 27: - result.key = EscapeSequences_1.C0.ESC; - result.cancel = true; - break; - case 37: - if (modifiers) { - result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'D'; - if (result.key == EscapeSequences_1.C0.ESC + '[1;3D') { - result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'b' : EscapeSequences_1.C0.ESC + '[1;5D'; - } - } - else if (this.applicationCursor) { - result.key = EscapeSequences_1.C0.ESC + 'OD'; - } - else { - result.key = EscapeSequences_1.C0.ESC + '[D'; - } - break; - case 39: - if (modifiers) { - result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'C'; - if (result.key == EscapeSequences_1.C0.ESC + '[1;3C') { - result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'f' : EscapeSequences_1.C0.ESC + '[1;5C'; - } - } - else if (this.applicationCursor) { - result.key = EscapeSequences_1.C0.ESC + 'OC'; - } - else { - result.key = EscapeSequences_1.C0.ESC + '[C'; - } - break; - case 38: - if (modifiers) { - result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'A'; - if (result.key == EscapeSequences_1.C0.ESC + '[1;3A') { - result.key = EscapeSequences_1.C0.ESC + '[1;5A'; - } - } - else if (this.applicationCursor) { - result.key = EscapeSequences_1.C0.ESC + 'OA'; - } - else { - result.key = EscapeSequences_1.C0.ESC + '[A'; - } - break; - case 40: - if (modifiers) { - result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'B'; - if (result.key == EscapeSequences_1.C0.ESC + '[1;3B') { - result.key = EscapeSequences_1.C0.ESC + '[1;5B'; - } - } - else if (this.applicationCursor) { - result.key = EscapeSequences_1.C0.ESC + 'OB'; - } - else { - result.key = EscapeSequences_1.C0.ESC + '[B'; - } - break; - case 45: - if (!ev.shiftKey && !ev.ctrlKey) { - result.key = EscapeSequences_1.C0.ESC + '[2~'; - } - break; - case 46: - if (modifiers) { - result.key = EscapeSequences_1.C0.ESC + '[3;' + (modifiers + 1) + '~'; - } - else { - result.key = EscapeSequences_1.C0.ESC + '[3~'; - } - break; - case 36: - if (modifiers) - result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'H'; - else if (this.applicationCursor) - result.key = EscapeSequences_1.C0.ESC + 'OH'; - else - result.key = EscapeSequences_1.C0.ESC + '[H'; - break; - case 35: - if (modifiers) - result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'F'; - else if (this.applicationCursor) - result.key = EscapeSequences_1.C0.ESC + 'OF'; - else - result.key = EscapeSequences_1.C0.ESC + '[F'; - break; - case 33: - if (ev.shiftKey) { - result.scrollDisp = -(this.rows - 1); - } - else { - result.key = EscapeSequences_1.C0.ESC + '[5~'; - } - break; - case 34: - if (ev.shiftKey) { - result.scrollDisp = this.rows - 1; - } - else { - result.key = EscapeSequences_1.C0.ESC + '[6~'; - } - break; - case 112: - if (modifiers) { - result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'P'; - } - else { - result.key = EscapeSequences_1.C0.ESC + 'OP'; - } - break; - case 113: - if (modifiers) { - result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'Q'; - } - else { - result.key = EscapeSequences_1.C0.ESC + 'OQ'; - } - break; - case 114: - if (modifiers) { - result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'R'; - } - else { - result.key = EscapeSequences_1.C0.ESC + 'OR'; - } - break; - case 115: - if (modifiers) { - result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'S'; - } - else { - result.key = EscapeSequences_1.C0.ESC + 'OS'; - } - break; - case 116: - if (modifiers) { - result.key = EscapeSequences_1.C0.ESC + '[15;' + (modifiers + 1) + '~'; - } - else { - result.key = EscapeSequences_1.C0.ESC + '[15~'; - } - break; - case 117: - if (modifiers) { - result.key = EscapeSequences_1.C0.ESC + '[17;' + (modifiers + 1) + '~'; - } - else { - result.key = EscapeSequences_1.C0.ESC + '[17~'; - } - break; - case 118: - if (modifiers) { - result.key = EscapeSequences_1.C0.ESC + '[18;' + (modifiers + 1) + '~'; - } - else { - result.key = EscapeSequences_1.C0.ESC + '[18~'; - } - break; - case 119: - if (modifiers) { - result.key = EscapeSequences_1.C0.ESC + '[19;' + (modifiers + 1) + '~'; - } - else { - result.key = EscapeSequences_1.C0.ESC + '[19~'; - } - break; - case 120: - if (modifiers) { - result.key = EscapeSequences_1.C0.ESC + '[20;' + (modifiers + 1) + '~'; - } - else { - result.key = EscapeSequences_1.C0.ESC + '[20~'; - } - break; - case 121: - if (modifiers) { - result.key = EscapeSequences_1.C0.ESC + '[21;' + (modifiers + 1) + '~'; - } - else { - result.key = EscapeSequences_1.C0.ESC + '[21~'; - } - break; - case 122: - if (modifiers) { - result.key = EscapeSequences_1.C0.ESC + '[23;' + (modifiers + 1) + '~'; - } - else { - result.key = EscapeSequences_1.C0.ESC + '[23~'; - } - break; - case 123: - if (modifiers) { - result.key = EscapeSequences_1.C0.ESC + '[24;' + (modifiers + 1) + '~'; - } - else { - result.key = EscapeSequences_1.C0.ESC + '[24~'; - } - break; - default: - if (ev.ctrlKey && !ev.shiftKey && !ev.altKey && !ev.metaKey) { - if (ev.keyCode >= 65 && ev.keyCode <= 90) { - result.key = String.fromCharCode(ev.keyCode - 64); - } - else if (ev.keyCode === 32) { - result.key = String.fromCharCode(0); - } - else if (ev.keyCode >= 51 && ev.keyCode <= 55) { - result.key = String.fromCharCode(ev.keyCode - 51 + 27); - } - else if (ev.keyCode === 56) { - result.key = String.fromCharCode(127); - } - else if (ev.keyCode === 219) { - result.key = String.fromCharCode(27); - } - else if (ev.keyCode === 220) { - result.key = String.fromCharCode(28); - } - else if (ev.keyCode === 221) { - result.key = String.fromCharCode(29); - } - } - else if (!this.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) { - if (ev.keyCode >= 65 && ev.keyCode <= 90) { - result.key = EscapeSequences_1.C0.ESC + String.fromCharCode(ev.keyCode + 32); - } - else if (ev.keyCode === 192) { - result.key = EscapeSequences_1.C0.ESC + '`'; - } - else if (ev.keyCode >= 48 && ev.keyCode <= 57) { - result.key = EscapeSequences_1.C0.ESC + (ev.keyCode - 48); - } - } - else if (this.browser.isMac && !ev.altKey && !ev.ctrlKey && ev.metaKey) { - if (ev.keyCode === 65) { - this.selectAll(); - } - } - break; - } - return result; -}; -Terminal.prototype.setgLevel = function (g) { - this.glevel = g; - this.charset = this.charsets[g]; -}; -Terminal.prototype.setgCharset = function (g, charset) { - this.charsets[g] = charset; - if (this.glevel === g) { - this.charset = charset; - } -}; -Terminal.prototype.keyPress = function (ev) { - var key; - if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) { - return false; - } - this.cancel(ev); - if (ev.charCode) { - key = ev.charCode; - } - else if (ev.which == null) { - key = ev.keyCode; - } - else if (ev.which !== 0 && ev.charCode !== 0) { - key = ev.which; - } - else { - return false; - } - if (!key || ((ev.altKey || ev.ctrlKey || ev.metaKey) && !isThirdLevelShift(this, ev))) { - return false; - } - key = String.fromCharCode(key); - this.emit('keypress', key, ev); - this.emit('key', key, ev); - this.showCursor(); - this.handler(key); - return true; -}; -Terminal.prototype.send = function (data) { - var self = this; - if (!this.queue) { - setTimeout(function () { - self.handler(self.queue); - self.queue = ''; - }, 1); - } - this.queue += data; -}; -Terminal.prototype.bell = function () { - if (!this.visualBell) - return; - var self = this; - this.element.style.borderColor = 'white'; - setTimeout(function () { - self.element.style.borderColor = ''; - }, 10); - if (this.popOnBell) - this.focus(); -}; -Terminal.prototype.log = function () { - if (!this.debug) - return; - if (!this.context.console || !this.context.console.log) - return; - var args = Array.prototype.slice.call(arguments); - this.context.console.log.apply(this.context.console, args); -}; -Terminal.prototype.error = function () { - if (!this.debug) - return; - if (!this.context.console || !this.context.console.error) - return; - var args = Array.prototype.slice.call(arguments); - this.context.console.error.apply(this.context.console, args); -}; -Terminal.prototype.resize = function (x, y) { - if (isNaN(x) || isNaN(y)) { - return; - } - if (y > this.getOption('scrollback')) { - this.setOption('scrollback', y); - } - var line, el, i, j, ch, addToY; - if (x === this.cols && y === this.rows) { - return; - } - if (x < 1) - x = 1; - if (y < 1) - y = 1; - j = this.cols; - if (j < x) { - ch = [this.defAttr, ' ', 1]; - i = this.lines.length; - while (i--) { - while (this.lines.get(i).length < x) { - this.lines.get(i).push(ch); - } - } - } - this.cols = x; - this.setupStops(this.cols); - j = this.rows; - addToY = 0; - if (j < y) { - el = this.element; - while (j++ < y) { - if (this.lines.length < y + this.ybase) { - if (this.ybase > 0 && this.lines.length <= this.ybase + this.y + addToY + 1) { - this.ybase--; - addToY++; - if (this.ydisp > 0) { - this.ydisp--; - } - } - else { - this.lines.push(this.blankLine()); - } - } - if (this.children.length < y) { - this.insertRow(); - } - } - } - else { - while (j-- > y) { - if (this.lines.length > y + this.ybase) { - if (this.lines.length > this.ybase + this.y + 1) { - this.lines.pop(); - } - else { - this.ybase++; - this.ydisp++; - } - } - if (this.children.length > y) { - el = this.children.shift(); - if (!el) - continue; - el.parentNode.removeChild(el); - } - } - } - this.rows = y; - if (this.y >= y) { - this.y = y - 1; - } - if (addToY) { - this.y += addToY; - } - if (this.x >= x) { - this.x = x - 1; - } - this.scrollTop = 0; - this.scrollBottom = y - 1; - this.charMeasure.measure(); - this.refresh(0, this.rows - 1); - this.normal = null; - this.geometry = [this.cols, this.rows]; - this.emit('resize', { terminal: this, cols: x, rows: y }); -}; -Terminal.prototype.updateRange = function (y) { - if (y < this.refreshStart) - this.refreshStart = y; - if (y > this.refreshEnd) - this.refreshEnd = y; -}; -Terminal.prototype.maxRange = function () { - this.refreshStart = 0; - this.refreshEnd = this.rows - 1; -}; -Terminal.prototype.setupStops = function (i) { - if (i != null) { - if (!this.tabs[i]) { - i = this.prevStop(i); - } - } - else { - this.tabs = {}; - i = 0; - } - for (; i < this.cols; i += this.getOption('tabStopWidth')) { - this.tabs[i] = true; - } -}; -Terminal.prototype.prevStop = function (x) { - if (x == null) - x = this.x; - while (!this.tabs[--x] && x > 0) - ; - return x >= this.cols - ? this.cols - 1 - : x < 0 ? 0 : x; -}; -Terminal.prototype.nextStop = function (x) { - if (x == null) - x = this.x; - while (!this.tabs[++x] && x < this.cols) - ; - return x >= this.cols - ? this.cols - 1 - : x < 0 ? 0 : x; -}; -Terminal.prototype.eraseRight = function (x, y) { - var line = this.lines.get(this.ybase + y); - if (!line) { - return; - } - var ch = [this.eraseAttr(), ' ', 1]; - for (; x < this.cols; x++) { - line[x] = ch; - } - this.updateRange(y); -}; -Terminal.prototype.eraseLeft = function (x, y) { - var line = this.lines.get(this.ybase + y); - if (!line) { - return; - } - var ch = [this.eraseAttr(), ' ', 1]; - x++; - while (x--) { - line[x] = ch; - } - this.updateRange(y); -}; -Terminal.prototype.clear = function () { - if (this.ybase === 0 && this.y === 0) { - return; - } - this.lines.set(0, this.lines.get(this.ybase + this.y)); - this.lines.length = 1; - this.ydisp = 0; - this.ybase = 0; - this.y = 0; - for (var i = 1; i < this.rows; i++) { - this.lines.push(this.blankLine()); - } - this.refresh(0, this.rows - 1); - this.emit('scroll', this.ydisp); -}; -Terminal.prototype.eraseLine = function (y) { - this.eraseRight(0, y); -}; -Terminal.prototype.blankLine = function (cur, isWrapped) { - var attr = cur - ? this.eraseAttr() - : this.defAttr; - var ch = [attr, ' ', 1], line = [], i = 0; - if (isWrapped) { - line.isWrapped = isWrapped; - } - for (; i < this.cols; i++) { - line[i] = ch; - } - return line; -}; -Terminal.prototype.ch = function (cur) { - return cur - ? [this.eraseAttr(), ' ', 1] - : [this.defAttr, ' ', 1]; -}; -Terminal.prototype.is = function (term) { - var name = this.termName; - return (name + '').indexOf(term) === 0; -}; -Terminal.prototype.handler = function (data) { - if (this.options.disableStdin) { - return; - } - if (this.ybase !== this.ydisp) { - this.scrollToBottom(); - } - this.emit('data', data); -}; -Terminal.prototype.handleTitle = function (title) { - this.emit('title', title); -}; -Terminal.prototype.index = function () { - this.y++; - if (this.y > this.scrollBottom) { - this.y--; - this.scroll(); - } - if (this.x >= this.cols) { - this.x--; - } -}; -Terminal.prototype.reverseIndex = function () { - var j; - if (this.y === this.scrollTop) { - this.lines.shiftElements(this.y + this.ybase, this.rows - 1, 1); - this.lines.set(this.y + this.ybase, this.blankLine(true)); - this.updateRange(this.scrollTop); - this.updateRange(this.scrollBottom); - } - else { - this.y--; - } -}; -Terminal.prototype.reset = function () { - this.options.rows = this.rows; - this.options.cols = this.cols; - var customKeyEventHandler = this.customKeyEventHandler; - var cursorBlinkInterval = this.cursorBlinkInterval; - Terminal.call(this, this.options); - this.customKeyEventHandler = customKeyEventHandler; - this.cursorBlinkInterval = cursorBlinkInterval; - this.refresh(0, this.rows - 1); - this.viewport.syncScrollArea(); -}; -Terminal.prototype.tabSet = function () { - this.tabs[this.x] = true; -}; -function on(el, type, handler, capture) { - if (!Array.isArray(el)) { - el = [el]; - } - el.forEach(function (element) { - element.addEventListener(type, handler, capture || false); - }); -} -function off(el, type, handler, capture) { - el.removeEventListener(type, handler, capture || false); -} -function cancel(ev, force) { - if (!this.cancelEvents && !force) { - return; - } - ev.preventDefault(); - ev.stopPropagation(); - return false; -} -function inherits(child, parent) { - function f() { - this.constructor = child; - } - f.prototype = parent.prototype; - child.prototype = new f; -} -function indexOf(obj, el) { - var i = obj.length; - while (i--) { - if (obj[i] === el) - return i; - } - return -1; -} -function isThirdLevelShift(term, ev) { - var thirdLevelKey = (term.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) || - (term.browser.isMSWindows && ev.altKey && ev.ctrlKey && !ev.metaKey); - if (ev.type == 'keypress') { - return thirdLevelKey; - } - return thirdLevelKey && (!ev.keyCode || ev.keyCode > 47); -} -Terminal.prototype.matchColor = matchColor; -function matchColor(r1, g1, b1) { - var hash = (r1 << 16) | (g1 << 8) | b1; - if (matchColor._cache[hash] != null) { - return matchColor._cache[hash]; - } - var ldiff = Infinity, li = -1, i = 0, c, r2, g2, b2, diff; - for (; i < Terminal.vcolors.length; i++) { - c = Terminal.vcolors[i]; - r2 = c[0]; - g2 = c[1]; - b2 = c[2]; - diff = matchColor.distance(r1, g1, b1, r2, g2, b2); - if (diff === 0) { - li = i; - break; - } - if (diff < ldiff) { - ldiff = diff; - li = i; - } - } - return matchColor._cache[hash] = li; -} -matchColor._cache = {}; -matchColor.distance = function (r1, g1, b1, r2, g2, b2) { - return Math.pow(30 * (r1 - r2), 2) - + Math.pow(59 * (g1 - g2), 2) - + Math.pow(11 * (b1 - b2), 2); -}; -function each(obj, iter, con) { - if (obj.forEach) - return obj.forEach(iter, con); - for (var i = 0; i < obj.length; i++) { - iter.call(con, obj[i], i, obj); - } -} -function wasMondifierKeyOnlyEvent(ev) { - return ev.keyCode === 16 || - ev.keyCode === 17 || - ev.keyCode === 18; -} -function keys(obj) { - if (Object.keys) - return Object.keys(obj); - var key, keys = []; - for (key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - keys.push(key); - } - } - return keys; -} -Terminal.EventEmitter = EventEmitter_1.EventEmitter; -Terminal.inherits = inherits; -Terminal.on = on; -Terminal.off = off; -Terminal.cancel = cancel; -module.exports = Terminal; - -//# sourceMappingURL=xterm.js.map - - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -; -var EventEmitter = (function () { - function EventEmitter() { - this._events = this._events || {}; - } - EventEmitter.prototype.on = function (type, listener) { - this._events[type] = this._events[type] || []; - this._events[type].push(listener); - }; - EventEmitter.prototype.off = function (type, listener) { - if (!this._events[type]) { - return; - } - var obj = this._events[type]; - var i = obj.length; - while (i--) { - if (obj[i] === listener || obj[i].listener === listener) { - obj.splice(i, 1); - return; - } - } - }; - EventEmitter.prototype.removeAllListeners = function (type) { - if (this._events[type]) { - delete this._events[type]; - } - }; - EventEmitter.prototype.once = function (type, listener) { - function on() { - var args = Array.prototype.slice.call(arguments); - this.off(type, on); - return listener.apply(this, args); - } - on.listener = listener; - return this.on(type, on); - }; - EventEmitter.prototype.emit = function (type) { - var args = []; - for (var _i = 1; _i < arguments.length; _i++) { - args[_i - 1] = arguments[_i]; - } - if (!this._events[type]) { - return; - } - var obj = this._events[type]; - for (var i = 0; i < obj.length; i++) { - obj[i].apply(this, args); - } - }; - EventEmitter.prototype.listeners = function (type) { - return this._events[type] || []; - }; - return EventEmitter; -}()); -exports.EventEmitter = EventEmitter; - -//# sourceMappingURL=EventEmitter.js.map - - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var C0; -(function (C0) { - C0.NUL = '\x00'; - C0.SOH = '\x01'; - C0.STX = '\x02'; - C0.ETX = '\x03'; - C0.EOT = '\x04'; - C0.ENQ = '\x05'; - C0.ACK = '\x06'; - C0.BEL = '\x07'; - C0.BS = '\x08'; - C0.HT = '\x09'; - C0.LF = '\x0a'; - C0.VT = '\x0b'; - C0.FF = '\x0c'; - C0.CR = '\x0d'; - C0.SO = '\x0e'; - C0.SI = '\x0f'; - C0.DLE = '\x10'; - C0.DC1 = '\x11'; - C0.DC2 = '\x12'; - C0.DC3 = '\x13'; - C0.DC4 = '\x14'; - C0.NAK = '\x15'; - C0.SYN = '\x16'; - C0.ETB = '\x17'; - C0.CAN = '\x18'; - C0.EM = '\x19'; - C0.SUB = '\x1a'; - C0.ESC = '\x1b'; - C0.FS = '\x1c'; - C0.GS = '\x1d'; - C0.RS = '\x1e'; - C0.US = '\x1f'; - C0.SP = '\x20'; - C0.DEL = '\x7f'; -})(C0 = exports.C0 || (exports.C0 = {})); -; - -//# sourceMappingURL=EscapeSequences.js.map - - -/***/ }), -/* 3 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CHARSETS = {}; -exports.DEFAULT_CHARSET = exports.CHARSETS['B']; -exports.CHARSETS['0'] = { - '`': '\u25c6', - 'a': '\u2592', - 'b': '\u0009', - 'c': '\u000c', - 'd': '\u000d', - 'e': '\u000a', - 'f': '\u00b0', - 'g': '\u00b1', - 'h': '\u2424', - 'i': '\u000b', - 'j': '\u2518', - 'k': '\u2510', - 'l': '\u250c', - 'm': '\u2514', - 'n': '\u253c', - 'o': '\u23ba', - 'p': '\u23bb', - 'q': '\u2500', - 'r': '\u23bc', - 's': '\u23bd', - 't': '\u251c', - 'u': '\u2524', - 'v': '\u2534', - 'w': '\u252c', - 'x': '\u2502', - 'y': '\u2264', - 'z': '\u2265', - '{': '\u03c0', - '|': '\u2260', - '}': '\u00a3', - '~': '\u00b7' -}; -exports.CHARSETS['A'] = { - '#': '£' -}; -exports.CHARSETS['B'] = null; -exports.CHARSETS['4'] = { - '#': '£', - '@': '¾', - '[': 'ij', - '\\': '½', - ']': '|', - '{': '¨', - '|': 'f', - '}': '¼', - '~': '´' -}; -exports.CHARSETS['C'] = - exports.CHARSETS['5'] = { - '[': 'Ä', - '\\': 'Ö', - ']': 'Å', - '^': 'Ü', - '`': 'é', - '{': 'ä', - '|': 'ö', - '}': 'å', - '~': 'ü' - }; -exports.CHARSETS['R'] = { - '#': '£', - '@': 'à', - '[': '°', - '\\': 'ç', - ']': '§', - '{': 'é', - '|': 'ù', - '}': 'è', - '~': '¨' -}; -exports.CHARSETS['Q'] = { - '@': 'à', - '[': 'â', - '\\': 'ç', - ']': 'ê', - '^': 'î', - '`': 'ô', - '{': 'é', - '|': 'ù', - '}': 'è', - '~': 'û' -}; -exports.CHARSETS['K'] = { - '@': '§', - '[': 'Ä', - '\\': 'Ö', - ']': 'Ü', - '{': 'ä', - '|': 'ö', - '}': 'ü', - '~': 'ß' -}; -exports.CHARSETS['Y'] = { - '#': '£', - '@': '§', - '[': '°', - '\\': 'ç', - ']': 'é', - '`': 'ù', - '{': 'à', - '|': 'ò', - '}': 'è', - '~': 'ì' -}; -exports.CHARSETS['E'] = - exports.CHARSETS['6'] = { - '@': 'Ä', - '[': 'Æ', - '\\': 'Ø', - ']': 'Å', - '^': 'Ü', - '`': 'ä', - '{': 'æ', - '|': 'ø', - '}': 'å', - '~': 'ü' - }; -exports.CHARSETS['Z'] = { - '#': '£', - '@': '§', - '[': '¡', - '\\': 'Ñ', - ']': '¿', - '{': '°', - '|': 'ñ', - '}': 'ç' -}; -exports.CHARSETS['H'] = - exports.CHARSETS['7'] = { - '@': 'É', - '[': 'Ä', - '\\': 'Ö', - ']': 'Å', - '^': 'Ü', - '`': 'é', - '{': 'ä', - '|': 'ö', - '}': 'å', - '~': 'ü' - }; -exports.CHARSETS['='] = { - '#': 'ù', - '@': 'à', - '[': 'é', - '\\': 'ç', - ']': 'ê', - '^': 'î', - '_': 'è', - '`': 'ô', - '{': 'ä', - '|': 'ö', - '}': 'ü', - '~': 'û' -}; - -//# sourceMappingURL=Charsets.js.map - - -/***/ }), -/* 4 */ -/***/ (function(module, exports, __webpack_require__) { - -/** +!function(e){function t(i){if(r[i])return r[i].exports;var o=r[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var r={};t.m=e,t.c=r,t.i=function(e){return e},t.d=function(e,r,i){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=15)}([function(e,t,r){"use strict";function i(e){var t=this;if(!(this instanceof i))return new i(arguments[0],arguments[1],arguments[2]);t.browser=S,t.cancel=i.cancel,u.EventEmitter.call(this),"number"==typeof e&&(e={cols:arguments[0],rows:arguments[1],handler:arguments[2]}),e=e||{},Object.keys(i.defaults).forEach(function(r){null==e[r]&&(e[r]=i.options[r],i[r]!==i.defaults[r]&&(e[r]=i[r])),t[r]=e[r]}),8===e.colors.length?e.colors=e.colors.concat(i._colors.slice(8)):16===e.colors.length?e.colors=e.colors.concat(i._colors.slice(16)):10===e.colors.length?e.colors=e.colors.slice(0,-2).concat(i._colors.slice(8,-2),e.colors.slice(-2)):18===e.colors.length&&(e.colors=e.colors.concat(i._colors.slice(16,-2),e.colors.slice(-2))),this.colors=e.colors,this.options=e,this.parent=e.body||e.parent||(A?A.getElementsByTagName("body")[0]:null),this.cols=e.cols||e.geometry[0],this.rows=e.rows||e.geometry[1],this.geometry=[this.cols,this.rows],e.handler&&this.on("data",e.handler),this.ybase=0,this.ydisp=0,this.x=0,this.y=0,this.cursorState=0,this.cursorHidden=!1,this.convertEol,this.queue="",this.scrollTop=0,this.scrollBottom=this.rows-1,this.customKeyEventHandler=null,this.cursorBlinkInterval=null,this.applicationKeypad=!1,this.applicationCursor=!1,this.originMode=!1,this.insertMode=!1,this.wraparoundMode=!0,this.normal=null,this.charset=null,this.gcharset=null,this.glevel=0,this.charsets=[null],this.decLocator,this.x10Mouse,this.vt200Mouse,this.vt300Mouse,this.normalMouse,this.mouseEvents,this.sendFocus,this.utfMouse,this.sgrMouse,this.urxvtMouse,this.element,this.children,this.refreshStart,this.refreshEnd,this.savedX,this.savedY,this.savedCols,this.readable=!0,this.writable=!0,this.defAttr=131840,this.curAttr=this.defAttr,this.params=[],this.currentParam=0,this.prefix="",this.postfix="",this.inputHandler=new m.InputHandler(this),this.parser=new y.Parser(this.inputHandler,this),this.renderer=this.renderer||null,this.selectionManager=this.selectionManager||null,this.linkifier=this.linkifier||new _.Linkifier,this.writeBuffer=[],this.writeInProgress=!1,this.xoffSentToCatchUp=!1,this.writeStopped=!1,this.surrogate_high="",this.lines=new f.CircularList(this.scrollback);for(var r=this.rows;r--;)this.lines.push(this.blankLine());this.selectionManager&&this.selectionManager.setBuffer(this.lines),this.tabs,this.setupStops(),this.userScrolling=!1}function o(e,t,r,i){Array.isArray(e)||(e=[e]),e.forEach(function(e){e.addEventListener(t,r,i||!1)})}function s(e,t,r,i){e.removeEventListener(t,r,i||!1)}function n(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function a(e,t){var r=e.browser.isMac&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.browser.isMSWindows&&t.altKey&&t.ctrlKey&&!t.metaKey;return"keypress"==t.type?r:r&&(!t.keyCode||t.keyCode>47)}function l(e,t,r){var o=e<<16|t<<8|r;if(null!=l._cache[o])return l._cache[o];for(var s,n,a,h,c,u=1/0,p=-1,d=0;d>16&255,e>>8&255,255&e]);return t}(),i.defaults={colors:i.colors,theme:"default",convertEol:!1,termName:"xterm",geometry:[80,24],cursorBlink:!1,cursorStyle:"block",visualBell:!1,popOnBell:!1,scrollback:1e3,screenKeys:!1,debug:!1,cancelEvents:!1,disableStdin:!1,useFlowControl:!1,tabStopWidth:8},i.options={},i.focus=null,function(e,t,r){if(e.forEach)return e.forEach(t,r);for(var i=0;it){var o=this.lines.length-t,s=this.ydisp-o<0;this.lines.trimStart(o),this.ybase=Math.max(this.ybase-o,0),this.ydisp=Math.max(this.ydisp-o,0),s&&this.refresh(0,this.rows-1)}this.lines.maxLength=t,this.viewport.syncScrollArea()}}switch(this[e]=t,this.options[e]=t,e){case"cursorBlink":this.setCursorBlinking(t);break;case"cursorStyle":this.element.classList.toggle("xterm-cursor-style-underline","underline"===t),this.element.classList.toggle("xterm-cursor-style-bar","bar"===t);break;case"tabStopWidth":this.setupStops()}},i.prototype.restartCursorBlinking=function(){this.setCursorBlinking(this.options.cursorBlink)},i.prototype.setCursorBlinking=function(e){if(this.element.classList.toggle("xterm-cursor-blink",e),this.clearCursorBlinkingInterval(),e){var t=this;this.cursorBlinkInterval=setInterval(function(){t.element.classList.toggle("xterm-cursor-blink-on")},600)}},i.prototype.clearCursorBlinkingInterval=function(){this.element.classList.remove("xterm-cursor-blink-on"),this.cursorBlinkInterval&&(clearInterval(this.cursorBlinkInterval),this.cursorBlinkInterval=null)},i.bindFocus=function(e){o(e.textarea,"focus",function(t){e.sendFocus&&e.send(g.C0.ESC+"[I"),e.element.classList.add("focus"),e.showCursor(),e.restartCursorBlinking.apply(e),i.focus=e,e.emit("focus",{terminal:e})})},i.prototype.blur=function(){return this.textarea.blur()},i.bindBlur=function(e){o(e.textarea,"blur",function(t){e.refresh(e.y,e.y),e.sendFocus&&e.send(g.C0.ESC+"[O"),e.element.classList.remove("focus"),e.clearCursorBlinkingInterval.apply(e),i.focus=null,e.emit("blur",{terminal:e})})},i.prototype.initGlobal=function(){var e=this,t=this;i.bindKeys(this),i.bindFocus(this),i.bindBlur(this),o(this.element,"copy",function(r){e.mouseEvents||d.copyHandler(r,t,e.selectionManager)});var r=function(e){return d.pasteHandler(e,t)};o(this.textarea,"paste",r),o(this.element,"paste",r),t.browser.isFirefox?o(this.element,"mousedown",function(t){2==t.button&&d.rightClickHandler(t,e.textarea,e.selectionManager)}):o(this.element,"contextmenu",function(t){d.rightClickHandler(t,e.textarea,e.selectionManager)}),t.browser.isLinux&&o(this.element,"auxclick",function(t){1===t.button&&d.moveTextAreaUnderMouseCursor(t,e.textarea,e.selectionManager)})},i.bindKeys=function(e){o(e.element,"keydown",function(t){A.activeElement==this&&e.keyDown(t)},!0),o(e.element,"keypress",function(t){A.activeElement==this&&e.keyPress(t)},!0),o(e.element,"keyup",function(t){h(t)||e.focus(e)},!0),o(e.textarea,"keydown",function(t){e.keyDown(t)},!0),o(e.textarea,"keypress",function(t){e.keyPress(t),this.value=""},!0),o(e.textarea,"compositionstart",e.compositionHelper.compositionstart.bind(e.compositionHelper)),o(e.textarea,"compositionupdate",e.compositionHelper.compositionupdate.bind(e.compositionHelper)),o(e.textarea,"compositionend",e.compositionHelper.compositionend.bind(e.compositionHelper)),e.on("refresh",e.compositionHelper.updateCompositionElements.bind(e.compositionHelper)),e.on("refresh",function(t){e.queueLinkification(t.start,t.end)})},i.prototype.insertRow=function(e){return"object"!=typeof e&&(e=A.createElement("div")),this.rowContainer.appendChild(e),this.children.push(e),e},i.prototype.open=function(e,t){var r=this,i=this,s=0;if(this.parent=e||this.parent,!this.parent)throw new Error("Terminal requires a parent element.");for(this.context=this.parent.ownerDocument.defaultView,this.document=this.parent.ownerDocument,this.body=this.document.getElementsByTagName("body")[0],this.element=this.document.createElement("div"),this.element.classList.add("terminal"),this.element.classList.add("xterm"),this.element.classList.add("xterm-theme-"+this.theme),this.setCursorBlinking(this.options.cursorBlink),this.element.setAttribute("tabindex",0),this.viewportElement=A.createElement("div"),this.viewportElement.classList.add("xterm-viewport"),this.element.appendChild(this.viewportElement),this.viewportScrollArea=A.createElement("div"),this.viewportScrollArea.classList.add("xterm-scroll-area"),this.viewportElement.appendChild(this.viewportScrollArea),this.selectionContainer=A.createElement("div"),this.selectionContainer.classList.add("xterm-selection"),this.element.appendChild(this.selectionContainer),this.rowContainer=A.createElement("div"),this.rowContainer.classList.add("xterm-rows"),this.element.appendChild(this.rowContainer),this.children=[],this.linkifier.attachToDom(A,this.children),this.helperContainer=A.createElement("div"),this.helperContainer.classList.add("xterm-helpers"),this.element.appendChild(this.helperContainer),this.textarea=A.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this.textarea.addEventListener("focus",function(){i.emit("focus",{terminal:i})}),this.textarea.addEventListener("blur",function(){i.emit("blur",{terminal:i})}),this.helperContainer.appendChild(this.textarea),this.compositionView=A.createElement("div"),this.compositionView.classList.add("composition-view"),this.compositionHelper=new c.CompositionHelper(this.textarea,this.compositionView,this),this.helperContainer.appendChild(this.compositionView),this.charSizeStyleElement=A.createElement("style"),this.helperContainer.appendChild(this.charSizeStyleElement);s div{height:"+this.charMeasure.height+"px;}"},i.prototype.bindMouse=function(){function e(e){var t,r;if(t=n(e),r=v.getRawByteCoords(e,l.rowContainer,l.charMeasure,l.cols,l.rows))switch(i(t,r),e.overrideType||e.type){case"mousedown":h=t;break;case"mouseup":h=32}}function t(e){var t,r=h;(t=v.getRawByteCoords(e,l.rowContainer,l.charMeasure,l.cols,l.rows))&&i(r+=32,t)}function r(e,t){if(l.utfMouse){if(2047===t)return e.push(0);t<127?e.push(t):(t>2047&&(t=2047),e.push(192|t>>6),e.push(128|63&t))}else{if(255===t)return e.push(0);t>127&&(t=127),e.push(t)}}function i(e,t){if(l.vt300Mouse){e&=3,t.x-=32,t.y-=32;var i=g.C0.ESC+"[24";if(0===e)i+="1";else if(1===e)i+="3";else if(2===e)i+="5";else{if(3===e)return;i+="0"}return i+="~["+t.x+","+t.y+"]\r",void l.send(i)}return l.decLocator?(e&=3,t.x-=32,t.y-=32,0===e?e=2:1===e?e=4:2===e?e=6:3===e&&(e=3),void l.send(g.C0.ESC+"["+e+";"+(3===e?4:0)+";"+t.y+";"+t.x+";"+(t.page||0)+"&w")):l.urxvtMouse?(t.x-=32,t.y-=32,t.x++,t.y++,void l.send(g.C0.ESC+"["+e+";"+t.x+";"+t.y+"M")):l.sgrMouse?(t.x-=32,t.y-=32,void l.send(g.C0.ESC+"[<"+((3==(3&e)?-4&e:e)-32)+";"+t.x+";"+t.y+(3==(3&e)?"m":"M"))):(r(i=[],e),r(i,t.x),r(i,t.y),void l.send(g.C0.ESC+"[M"+String.fromCharCode.apply(String,i)))}function n(e){var t,r,i,o,s;switch(e.overrideType||e.type){case"mousedown":t=null!=e.button?+e.button:null!=e.which?e.which-1:null,l.browser.isMSIE&&(t=1===t?0:4===t?1:t);break;case"mouseup":t=3;break;case"DOMMouseScroll":t=e.detail<0?64:65;break;case"wheel":t=e.wheelDeltaY>0?64:65}return r=e.shiftKey?4:0,i=e.metaKey?8:0,o=e.ctrlKey?16:0,s=r|i|o,l.vt200Mouse?s&=o:l.normalMouse||(s=0),t=32+(s<<2)+t}var a=this.element,l=this,h=32;o(a,"mousedown",function(r){if(l.mouseEvents)return e(r),l.focus(),l.vt200Mouse?(r.overrideType="mouseup",e(r),l.cancel(r)):(l.normalMouse&&o(l.document,"mousemove",t),l.x10Mouse||o(l.document,"mouseup",function r(i){return e(i),l.normalMouse&&s(l.document,"mousemove",t),s(l.document,"mouseup",r),l.cancel(i)}),l.cancel(r))}),o(a,"wheel",function(t){if(l.mouseEvents&&!(l.x10Mouse||l.vt300Mouse||l.decLocator))return e(t),l.cancel(t)}),o(a,"wheel",function(e){if(!l.mouseEvents)return l.viewport.onWheel(e),l.cancel(e)}),o(a,"touchstart",function(e){if(!l.mouseEvents)return l.viewport.onTouchStart(e),l.cancel(e)}),o(a,"touchmove",function(e){if(!l.mouseEvents)return l.viewport.onTouchMove(e),l.cancel(e)})},i.prototype.destroy=function(){this.readable=!1,this.writable=!1,this._events={},this.handler=function(){},this.write=function(){},this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element)},i.prototype.refresh=function(e,t){this.renderer&&this.renderer.queueRefresh(e,t)},i.prototype.queueLinkification=function(e,t){if(this.linkifier)for(var r=e;r<=t;r++)this.linkifier.linkifyRow(r)},i.prototype.showCursor=function(){this.cursorState||(this.cursorState=1,this.refresh(this.y,this.y))},i.prototype.scroll=function(e){var t;this.lines.length===this.lines.maxLength&&(this.lines.trimStart(1),this.ybase--,0!==this.ydisp&&this.ydisp--),this.ybase++,this.userScrolling||(this.ydisp=this.ybase),t=this.ybase+this.rows-1,(t-=this.rows-1-this.scrollBottom)===this.lines.length?this.lines.push(this.blankLine(void 0,e)):this.lines.splice(t,0,this.blankLine(void 0,e)),0!==this.scrollTop&&(0!==this.ybase&&(this.ybase--,this.userScrolling||(this.ydisp=this.ybase)),this.lines.splice(this.ybase+this.scrollTop,1)),this.updateRange(this.scrollTop),this.updateRange(this.scrollBottom),this.emit("scroll",this.ydisp)},i.prototype.scrollDisp=function(e,t){if(e<0){if(0===this.ydisp)return;this.userScrolling=!0}else e+this.ydisp>=this.ybase&&(this.userScrolling=!1);this.ydisp+=e,this.ydisp>this.ybase?this.ydisp=this.ybase:this.ydisp<0&&(this.ydisp=0),t||this.emit("scroll",this.ydisp),this.refresh(0,this.rows-1)},i.prototype.scrollPages=function(e){this.scrollDisp(e*(this.rows-1))},i.prototype.scrollToTop=function(){this.scrollDisp(-this.ydisp)},i.prototype.scrollToBottom=function(){this.scrollDisp(this.ybase-this.ydisp)},i.prototype.write=function(e){if(this.writeBuffer.push(e),this.options.useFlowControl&&!this.xoffSentToCatchUp&&this.writeBuffer.length>=5&&(this.send(g.C0.DC3),this.xoffSentToCatchUp=!0),!this.writeInProgress&&this.writeBuffer.length>0){this.writeInProgress=!0;var t=this;setTimeout(function(){t.innerWrite()})}},i.prototype.innerWrite=function(){for(var e=this.writeBuffer.splice(0,300);e.length>0;){var t=e.shift();t.length;this.xoffSentToCatchUp&&0===e.length&&0===this.writeBuffer.length&&(this.send(g.C0.DC1),this.xoffSentToCatchUp=!1),this.refreshStart=this.y,this.refreshEnd=this.y;var r=this.parser.parse(t);this.parser.setState(r),this.updateRange(this.y),this.refresh(this.refreshStart,this.refreshEnd)}if(this.writeBuffer.length>0){var i=this;setTimeout(function(){i.innerWrite()},0)}else this.writeInProgress=!1},i.prototype.writeln=function(e){this.write(e+"\r\n")},i.prototype.attachCustomKeydownHandler=function(e){console.warn("attachCustomKeydownHandler() is DEPRECATED and will be removed soon. Please use attachCustomKeyEventHandler() instead."),this.attachCustomKeyEventHandler(e)},i.prototype.attachCustomKeyEventHandler=function(e){this.customKeyEventHandler=e},i.prototype.setHypertextLinkHandler=function(e){if(!this.linkifier)throw new Error("Cannot attach a hypertext link handler before Terminal.open is called");this.linkifier.setHypertextLinkHandler(e),this.refresh(0,this.rows-1)},i.prototype.setHypertextValidationCallback=function(e){if(!this.linkifier)throw new Error("Cannot attach a hypertext validation callback before Terminal.open is called");this.linkifier.setHypertextValidationCallback(e),this.refresh(0,this.rows-1)},i.prototype.registerLinkMatcher=function(e,t,r){if(this.linkifier){var i=this.linkifier.registerLinkMatcher(e,t,r);return this.refresh(0,this.rows-1),i}},i.prototype.deregisterLinkMatcher=function(e){this.linkifier&&this.linkifier.deregisterLinkMatcher(e)&&this.refresh(0,this.rows-1)},i.prototype.hasSelection=function(){return this.selectionManager.hasSelection},i.prototype.getSelection=function(){return this.selectionManager.selectionText},i.prototype.clearSelection=function(){this.selectionManager.clearSelection()},i.prototype.selectAll=function(){this.selectionManager.selectAll()},i.prototype.keyDown=function(e){if(this.customKeyEventHandler&&!1===this.customKeyEventHandler(e))return!1;if(this.restartCursorBlinking(),!this.compositionHelper.keydown.bind(this.compositionHelper)(e))return this.ybase!==this.ydisp&&this.scrollToBottom(),!1;var t=this.evaluateKeyEscapeSequence(e);return t.key===g.C0.DC3?this.writeStopped=!0:t.key===g.C0.DC1&&(this.writeStopped=!1),t.scrollDisp?(this.scrollDisp(t.scrollDisp),this.cancel(e,!0)):!!a(this,e)||(t.cancel&&this.cancel(e,!0),!t.key||(this.emit("keydown",e),this.emit("key",t.key,e),this.showCursor(),this.handler(t.key),this.cancel(e,!0)))},i.prototype.evaluateKeyEscapeSequence=function(e){var t={cancel:!1,key:void 0,scrollDisp:void 0},r=e.shiftKey<<0|e.altKey<<1|e.ctrlKey<<2|e.metaKey<<3;switch(e.keyCode){case 8:if(e.shiftKey){t.key=g.C0.BS;break}t.key=g.C0.DEL;break;case 9:if(e.shiftKey){t.key=g.C0.ESC+"[Z";break}t.key=g.C0.HT,t.cancel=!0;break;case 13:t.key=g.C0.CR,t.cancel=!0;break;case 27:t.key=g.C0.ESC,t.cancel=!0;break;case 37:r?(t.key=g.C0.ESC+"[1;"+(r+1)+"D",t.key==g.C0.ESC+"[1;3D"&&(t.key=this.browser.isMac?g.C0.ESC+"b":g.C0.ESC+"[1;5D")):this.applicationCursor?t.key=g.C0.ESC+"OD":t.key=g.C0.ESC+"[D";break;case 39:r?(t.key=g.C0.ESC+"[1;"+(r+1)+"C",t.key==g.C0.ESC+"[1;3C"&&(t.key=this.browser.isMac?g.C0.ESC+"f":g.C0.ESC+"[1;5C")):this.applicationCursor?t.key=g.C0.ESC+"OC":t.key=g.C0.ESC+"[C";break;case 38:r?(t.key=g.C0.ESC+"[1;"+(r+1)+"A",t.key==g.C0.ESC+"[1;3A"&&(t.key=g.C0.ESC+"[1;5A")):this.applicationCursor?t.key=g.C0.ESC+"OA":t.key=g.C0.ESC+"[A";break;case 40:r?(t.key=g.C0.ESC+"[1;"+(r+1)+"B",t.key==g.C0.ESC+"[1;3B"&&(t.key=g.C0.ESC+"[1;5B")):this.applicationCursor?t.key=g.C0.ESC+"OB":t.key=g.C0.ESC+"[B";break;case 45:e.shiftKey||e.ctrlKey||(t.key=g.C0.ESC+"[2~");break;case 46:t.key=r?g.C0.ESC+"[3;"+(r+1)+"~":g.C0.ESC+"[3~";break;case 36:r?t.key=g.C0.ESC+"[1;"+(r+1)+"H":this.applicationCursor?t.key=g.C0.ESC+"OH":t.key=g.C0.ESC+"[H";break;case 35:r?t.key=g.C0.ESC+"[1;"+(r+1)+"F":this.applicationCursor?t.key=g.C0.ESC+"OF":t.key=g.C0.ESC+"[F";break;case 33:e.shiftKey?t.scrollDisp=-(this.rows-1):t.key=g.C0.ESC+"[5~";break;case 34:e.shiftKey?t.scrollDisp=this.rows-1:t.key=g.C0.ESC+"[6~";break;case 112:t.key=r?g.C0.ESC+"[1;"+(r+1)+"P":g.C0.ESC+"OP";break;case 113:t.key=r?g.C0.ESC+"[1;"+(r+1)+"Q":g.C0.ESC+"OQ";break;case 114:t.key=r?g.C0.ESC+"[1;"+(r+1)+"R":g.C0.ESC+"OR";break;case 115:t.key=r?g.C0.ESC+"[1;"+(r+1)+"S":g.C0.ESC+"OS";break;case 116:t.key=r?g.C0.ESC+"[15;"+(r+1)+"~":g.C0.ESC+"[15~";break;case 117:t.key=r?g.C0.ESC+"[17;"+(r+1)+"~":g.C0.ESC+"[17~";break;case 118:t.key=r?g.C0.ESC+"[18;"+(r+1)+"~":g.C0.ESC+"[18~";break;case 119:t.key=r?g.C0.ESC+"[19;"+(r+1)+"~":g.C0.ESC+"[19~";break;case 120:t.key=r?g.C0.ESC+"[20;"+(r+1)+"~":g.C0.ESC+"[20~";break;case 121:t.key=r?g.C0.ESC+"[21;"+(r+1)+"~":g.C0.ESC+"[21~";break;case 122:t.key=r?g.C0.ESC+"[23;"+(r+1)+"~":g.C0.ESC+"[23~";break;case 123:t.key=r?g.C0.ESC+"[24;"+(r+1)+"~":g.C0.ESC+"[24~";break;default:!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?this.browser.isMac||!e.altKey||e.ctrlKey||e.metaKey?this.browser.isMac&&!e.altKey&&!e.ctrlKey&&e.metaKey&&65===e.keyCode&&this.selectAll():e.keyCode>=65&&e.keyCode<=90?t.key=g.C0.ESC+String.fromCharCode(e.keyCode+32):192===e.keyCode?t.key=g.C0.ESC+"`":e.keyCode>=48&&e.keyCode<=57&&(t.key=g.C0.ESC+(e.keyCode-48)):e.keyCode>=65&&e.keyCode<=90?t.key=String.fromCharCode(e.keyCode-64):32===e.keyCode?t.key=String.fromCharCode(0):e.keyCode>=51&&e.keyCode<=55?t.key=String.fromCharCode(e.keyCode-51+27):56===e.keyCode?t.key=String.fromCharCode(127):219===e.keyCode?t.key=String.fromCharCode(27):220===e.keyCode?t.key=String.fromCharCode(28):221===e.keyCode&&(t.key=String.fromCharCode(29))}return t},i.prototype.setgLevel=function(e){this.glevel=e,this.charset=this.charsets[e]},i.prototype.setgCharset=function(e,t){this.charsets[e]=t,this.glevel===e&&(this.charset=t)},i.prototype.keyPress=function(e){var t;if(this.customKeyEventHandler&&!1===this.customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(null==e.which)t=e.keyCode;else{if(0===e.which||0===e.charCode)return!1;t=e.which}return!(!t||(e.altKey||e.ctrlKey||e.metaKey)&&!a(this,e))&&(t=String.fromCharCode(t),this.emit("keypress",t,e),this.emit("key",t,e),this.showCursor(),this.handler(t),!0)},i.prototype.send=function(e){var t=this;this.queue||setTimeout(function(){t.handler(t.queue),t.queue=""},1),this.queue+=e},i.prototype.bell=function(){if(this.visualBell){var e=this;this.element.style.borderColor="white",setTimeout(function(){e.element.style.borderColor=""},10),this.popOnBell&&this.focus()}},i.prototype.log=function(){if(this.debug&&this.context.console&&this.context.console.log){var e=Array.prototype.slice.call(arguments);this.context.console.log.apply(this.context.console,e)}},i.prototype.error=function(){if(this.debug&&this.context.console&&this.context.console.error){var e=Array.prototype.slice.call(arguments);this.context.console.error.apply(this.context.console,e)}},i.prototype.resize=function(e,t){if(!isNaN(e)&&!isNaN(t)){t>this.getOption("scrollback")&&this.setOption("scrollback",t);var r,i,o,s,n;if(e!==this.cols||t!==this.rows){if(e<1&&(e=1),t<1&&(t=1),(o=this.cols)0&&this.lines.length<=this.ybase+this.y+n+1?(this.ybase--,n++,this.ydisp>0&&this.ydisp--):this.lines.push(this.blankLine())),this.children.lengtht;)if(this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++)),this.children.length>t){if(!(r=this.children.shift()))continue;r.parentNode.removeChild(r)}this.rows=t,this.y>=t&&(this.y=t-1),n&&(this.y+=n),this.x>=e&&(this.x=e-1),this.scrollTop=0,this.scrollBottom=t-1,this.charMeasure.measure(),this.refresh(0,this.rows-1),this.normal=null,this.geometry=[this.cols,this.rows],this.emit("resize",{terminal:this,cols:e,rows:t})}}},i.prototype.updateRange=function(e){ethis.refreshEnd&&(this.refreshEnd=e)},i.prototype.maxRange=function(){this.refreshStart=0,this.refreshEnd=this.rows-1},i.prototype.setupStops=function(e){for(null!=e?this.tabs[e]||(e=this.prevStop(e)):(this.tabs={},e=0);e0;);return e>=this.cols?this.cols-1:e<0?0:e},i.prototype.nextStop=function(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e=this.cols?this.cols-1:e<0?0:e},i.prototype.eraseRight=function(e,t){var r=this.lines.get(this.ybase+t);if(r){for(var i=[this.eraseAttr()," ",1];ethis.scrollBottom&&(this.y--,this.scroll()),this.x>=this.cols&&this.x--},i.prototype.reverseIndex=function(){this.y===this.scrollTop?(this.lines.shiftElements(this.y+this.ybase,this.rows-1,1),this.lines.set(this.y+this.ybase,this.blankLine(!0)),this.updateRange(this.scrollTop),this.updateRange(this.scrollBottom)):this.y--},i.prototype.reset=function(){this.options.rows=this.rows,this.options.cols=this.cols;var e=this.customKeyEventHandler,t=this.cursorBlinkInterval;i.call(this,this.options),this.customKeyEventHandler=e,this.cursorBlinkInterval=t,this.refresh(0,this.rows-1),this.viewport.syncScrollArea()},i.prototype.tabSet=function(){this.tabs[this.x]=!0},i.prototype.matchColor=l,l._cache={},l.distance=function(e,t,r,i,o,s){return Math.pow(30*(e-i),2)+Math.pow(59*(t-o),2)+Math.pow(11*(r-s),2)},i.EventEmitter=u.EventEmitter,i.inherits=n,i.on=o,i.off=s,i.cancel=function(e,t){if(this.cancelEvents||t)return e.preventDefault(),e.stopPropagation(),!1},e.exports=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(){this._events=this._events||{}}return e.prototype.on=function(e,t){this._events[e]=this._events[e]||[],this._events[e].push(t)},e.prototype.off=function(e,t){if(this._events[e])for(var r=this._events[e],i=r.length;i--;)if(r[i]===t||r[i].listener===t)return void r.splice(i,1)},e.prototype.removeAllListeners=function(e){this._events[e]&&delete this._events[e]},e.prototype.once=function(e,t){function r(){var i=Array.prototype.slice.call(arguments);return this.off(e,r),t.apply(this,i)}return r.listener=t,this.on(e,r)},e.prototype.emit=function(e){for(var t=[],r=1;r= 0; - -//# sourceMappingURL=Browser.js.map - - -/***/ }), -/* 9 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -function getCoordsRelativeToElement(event, element) { - if (event.pageX == null) { - return null; - } - var x = event.pageX; - var y = event.pageY; - while (element && element !== self.document.documentElement) { - x -= element.offsetLeft; - y -= element.offsetTop; - element = 'offsetParent' in element ? element.offsetParent : element.parentElement; - } - return [x, y]; -} -exports.getCoordsRelativeToElement = getCoordsRelativeToElement; -function getCoords(event, rowContainer, charMeasure, colCount, rowCount, isSelection) { - var coords = getCoordsRelativeToElement(event, rowContainer); - coords[0] = Math.ceil((coords[0] + (isSelection ? charMeasure.width / 2 : 0)) / charMeasure.width); - coords[1] = Math.ceil(coords[1] / charMeasure.height); - coords[0] = Math.min(Math.max(coords[0], 1), colCount + 1); - coords[1] = Math.min(Math.max(coords[1], 1), rowCount + 1); - return coords; -} -exports.getCoords = getCoords; -function getRawByteCoords(event, rowContainer, charMeasure, colCount, rowCount) { - var coords = getCoords(event, rowContainer, charMeasure, colCount, rowCount); - var x = coords[0]; - var y = coords[1]; - x += 32; - y += 32; - return { x: x, y: y }; -} -exports.getRawByteCoords = getRawByteCoords; - -//# sourceMappingURL=Mouse.js.map - - -/***/ }), -/* 10 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var bare = __webpack_require__(14); -var Hterm = (function () { - function Hterm(elem) { - this.elem = elem; - bare.hterm.defaultStorage = new bare.lib.Storage.Memory(); - this.term = new bare.hterm.Terminal(); - this.term.getPrefs().set("send-encoding", "raw"); - this.term.decorate(this.elem); - this.io = this.term.io.push(); - this.term.installKeyboard(); - } - ; - Hterm.prototype.info = function () { - return { columns: this.columns, rows: this.rows }; - }; - ; - Hterm.prototype.output = function (data) { - if (this.term.io != null) { - this.term.io.writeUTF16(data); - } - }; - ; - Hterm.prototype.showMessage = function (message, timeout) { - this.message = message; - if (timeout > 0) { - this.term.io.showOverlay(message, timeout); - } - else { - this.term.io.showOverlay(message, null); - } - }; - ; - Hterm.prototype.removeMessage = function () { - // there is no hideOverlay(), so show the same message with 0 sec - this.term.io.showOverlay(this.message, 0); - }; - Hterm.prototype.setWindowTitle = function (title) { - this.term.setWindowTitle(title); - }; - ; - Hterm.prototype.setPreferences = function (value) { - var _this = this; - Object.keys(value).forEach(function (key) { - _this.term.getPrefs().set(key, value[key]); - }); - }; - ; - Hterm.prototype.onInput = function (callback) { - this.io.onVTKeystroke = function (data) { - callback(data); - }; - this.io.sendString = function (data) { - callback(data); - }; - }; - ; - Hterm.prototype.onResize = function (callback) { - var _this = this; - this.io.onTerminalResize = function (columns, rows) { - _this.columns = columns; - _this.rows = rows; - callback(columns, rows); - }; - }; - ; - Hterm.prototype.deactivate = function () { - this.io.onVTKeystroke = null; - this.io.sendString = null; - this.io.onTerminalResize = null; - this.term.uninstallKeyboard(); - }; - Hterm.prototype.reset = function () { - this.removeMessage(); - this.term.installKeyboard(); - }; - Hterm.prototype.close = function () { - this.term.uninstallKeyboard(); - }; - return Hterm; -}()); -exports.Hterm = Hterm; - - -/***/ }), -/* 11 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var ConnectionFactory = (function () { - function ConnectionFactory(url, protocols) { - this.url = url; - this.protocols = protocols; - } - ; - ConnectionFactory.prototype.create = function () { - return new Connection(this.url, this.protocols); - }; - ; - return ConnectionFactory; -}()); -exports.ConnectionFactory = ConnectionFactory; -var Connection = (function () { - function Connection(url, protocols) { - this.bare = new WebSocket(url, protocols); - } - Connection.prototype.open = function () { - // nothing todo for websocket - }; - ; - Connection.prototype.close = function () { - this.bare.close(); - }; - ; - Connection.prototype.send = function (data) { - this.bare.send(data); - }; - ; - Connection.prototype.isOpen = function () { - if (this.bare.readyState == WebSocket.CONNECTING || - this.bare.readyState == WebSocket.OPEN) { - return true; - } - return false; - }; - Connection.prototype.onOpen = function (callback) { - this.bare.onopen = function (event) { - callback(); - }; - }; - ; - Connection.prototype.onReceive = function (callback) { - this.bare.onmessage = function (event) { - callback(event.data); - }; - }; - ; - Connection.prototype.onClose = function (callback) { - this.bare.onclose = function (event) { - callback(); - }; - }; - ; - return Connection; -}()); -exports.Connection = Connection; - - -/***/ }), -/* 12 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -exports.protocols = ["webtty"]; -exports.msgInputUnknown = '0'; -exports.msgInput = '1'; -exports.msgPing = '2'; -exports.msgResizeTerminal = '3'; -exports.msgUnknownOutput = '0'; -exports.msgOutput = '1'; -exports.msgPong = '2'; -exports.msgSetWindowTitle = '3'; -exports.msgSetPreferences = '4'; -exports.msgSetReconnect = '5'; -var WebTTY = (function () { - function WebTTY(term, connectionFactory, args, authToken) { - this.term = term; - this.connectionFactory = connectionFactory; - this.args = args; - this.authToken = authToken; - this.reconnect = -1; - } - ; - WebTTY.prototype.open = function () { - var _this = this; - var connection = this.connectionFactory.create(); - var pingTimer; - var reconnectTimeout; - var setup = function () { - connection.onOpen(function () { - var termInfo = _this.term.info(); - connection.send(JSON.stringify({ - Arguments: _this.args, - AuthToken: _this.authToken, - })); - var resizeHandler = function (colmuns, rows) { - connection.send(exports.msgResizeTerminal + JSON.stringify({ - columns: colmuns, - rows: rows - })); - }; - _this.term.onResize(resizeHandler); - resizeHandler(termInfo.columns, termInfo.rows); - _this.term.onInput(function (input) { - connection.send(exports.msgInput + input); - }); - pingTimer = setInterval(function () { - connection.send(exports.msgPing); - }, 30 * 1000); - }); - connection.onReceive(function (data) { - var payload = data.slice(1); - switch (data[0]) { - case exports.msgOutput: - _this.term.output(decodeURIComponent(Array.prototype.map.call(atob(payload), function (c) { - return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); - }).join(''))); - break; - case exports.msgPong: - break; - case exports.msgSetWindowTitle: - _this.term.setWindowTitle(payload); - break; - case exports.msgSetPreferences: - var preferences = JSON.parse(payload); - _this.term.setPreferences(preferences); - break; - case exports.msgSetReconnect: - var autoReconnect = JSON.parse(payload); - console.log("Enabling reconnect: " + autoReconnect + " seconds"); - _this.reconnect = autoReconnect; - break; - } - }); - connection.onClose(function () { - clearInterval(pingTimer); - _this.term.deactivate(); - _this.term.showMessage("Connection Closed", 0); - if (_this.reconnect > 0) { - reconnectTimeout = setTimeout(function () { - connection = _this.connectionFactory.create(); - _this.term.reset(); - setup(); - }, _this.reconnect * 1000); - } - }); - connection.open(); - }; - setup(); - return function () { - clearTimeout(reconnectTimeout); - connection.close(); - }; - }; - ; - return WebTTY; -}()); -exports.WebTTY = WebTTY; -; - - -/***/ }), -/* 13 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var bare = __webpack_require__(0); -bare.loadAddon("fit"); -var Xterm = (function () { - function Xterm(elem) { - var _this = this; - this.elem = elem; - this.term = new bare(); - this.message = elem.ownerDocument.createElement("div"); - this.message.className = "xterm-overlay"; - this.messageTimeout = 2000; - this.resizeListener = function () { - _this.term.fit(); - _this.term.scrollToBottom(); - _this.showMessage(String(_this.term.cols) + "x" + String(_this.term.rows), _this.messageTimeout); - }; - this.term.on("open", function () { - _this.resizeListener(); - window.addEventListener("resize", function () { _this.resizeListener(); }); - }); - this.term.open(elem, true); - } - ; - Xterm.prototype.info = function () { - return { columns: this.term.cols, rows: this.term.rows }; - }; - ; - Xterm.prototype.output = function (data) { - this.term.write(data); - }; - ; - Xterm.prototype.showMessage = function (message, timeout) { - var _this = this; - this.message.textContent = message; - this.elem.appendChild(this.message); - if (this.messageTimer) { - clearTimeout(this.messageTimer); - } - if (timeout > 0) { - this.messageTimer = setTimeout(function () { - _this.elem.removeChild(_this.message); - }, timeout); - } - }; - ; - Xterm.prototype.removeMessage = function () { - if (this.message.parentNode == this.elem) { - this.elem.removeChild(this.message); - } - }; - Xterm.prototype.setWindowTitle = function (title) { - document.title = title; - }; - ; - Xterm.prototype.setPreferences = function (value) { - }; - ; - Xterm.prototype.onInput = function (callback) { - this.term.on("data", function (data) { - callback(data); - }); - }; - ; - Xterm.prototype.onResize = function (callback) { - this.term.on("resize", function (data) { - callback(data.cols, data.rows); - }); - }; - ; - Xterm.prototype.deactivate = function () { - this.term.off("data"); - this.term.off("resize"); - this.term.blur(); - }; - Xterm.prototype.reset = function () { - this.removeMessage(); - this.term.clear(); - }; - Xterm.prototype.close = function () { - window.removeEventListener("resize", this.resizeListener); - this.term.destroy(); - }; - return Xterm; -}()); -exports.Xterm = Xterm; - - -/***/ }), -/* 14 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -// This file was generated by libdot/bin/concat.sh. -// It has been marked read-only for your safety. Rather -// than edit it directly, please modify one of these source -// files... -// -// libdot/js/lib.js -// libdot/js/lib_polyfill.js -// libdot/js/lib_colors.js -// libdot/js/lib_f.js -// libdot/js/lib_message_manager.js -// libdot/js/lib_preference_manager.js -// libdot/js/lib_resource.js -// libdot/js/lib_storage.js -// libdot/js/lib_storage_chrome.js -// libdot/js/lib_storage_local.js -// libdot/js/lib_storage_memory.js -// libdot/js/lib_test_manager.js -// libdot/js/lib_utf8.js -// libdot/third_party/wcwidth/lib_wc.js -// hterm/js/hterm.js -// hterm/js/hterm_frame.js -// hterm/js/hterm_keyboard.js -// hterm/js/hterm_keyboard_bindings.js -// hterm/js/hterm_keyboard_keymap.js -// hterm/js/hterm_keyboard_keypattern.js -// hterm/js/hterm_options.js -// hterm/js/hterm_parser.js -// hterm/js/hterm_parser_identifiers.js -// hterm/js/hterm_preference_manager.js -// hterm/js/hterm_pubsub.js -// hterm/js/hterm_screen.js -// hterm/js/hterm_scrollport.js -// hterm/js/hterm_terminal.js -// hterm/js/hterm_terminal_io.js -// hterm/js/hterm_text_attributes.js -// hterm/js/hterm_vt.js -// hterm/js/hterm_vt_character_map.js -// hterm/js/hterm_export.js -// - -// SOURCE FILE: libdot/js/lib.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - - - -if (typeof lib != 'undefined') - throw new Error('Global "lib" object already exists.'); - -var lib = {}; - -/** - * Map of "dependency" to ["source", ...]. - * - * Each dependency is a object name, like "lib.fs", "source" is the url that - * depends on the object. - */ -lib.runtimeDependencies_ = {}; - -/** - * List of functions that need to be invoked during library initialization. - * - * Each element in the initCallbacks_ array is itself a two-element array. - * Element 0 is a short string describing the owner of the init routine, useful - * for debugging. Element 1 is the callback function. - */ -lib.initCallbacks_ = []; - -/** - * Records a runtime dependency. - * - * This can be useful when you want to express a run-time dependency at - * compile time. It is not intended to be a full-fledged library system or - * dependency tracker. It's just there to make it possible to debug the - * deps without running all the code. - * - * Object names are specified as strings. For example... - * - * lib.rtdep('lib.colors', 'lib.PreferenceManager'); - * - * Object names need not be rooted by 'lib'. You may use this to declare a - * dependency on any object. - * - * The client program may call lib.ensureRuntimeDependencies() at startup in - * order to ensure that all runtime dependencies have been met. - * - * @param {string} var_args One or more objects specified as strings. - */ -lib.rtdep = function(var_args) { - var source; - - try { - throw new Error(); - } catch (ex) { - var stackArray = ex.stack.split('\n'); - // In Safari, the resulting stackArray will only have 2 elements and the - // individual strings are formatted differently. - if (stackArray.length >= 3) { - source = stackArray[2].replace(/^\s*at\s+/, ''); - } else { - source = stackArray[1].replace(/^\s*global code@/, ''); - } - } - - for (var i = 0; i < arguments.length; i++) { - var path = arguments[i]; - if (path instanceof Array) { - lib.rtdep.apply(lib, path); - } else { - var ary = this.runtimeDependencies_[path]; - if (!ary) - ary = this.runtimeDependencies_[path] = []; - ary.push(source); - } - } -}; - -/** - * Ensures that all runtime dependencies are met, or an exception is thrown. - * - * Every unmet runtime dependency will be logged to the JS console. If at - * least one dependency is unmet this will raise an exception. - */ -lib.ensureRuntimeDependencies_ = function() { - var passed = true; - - for (var path in lib.runtimeDependencies_) { - var sourceList = lib.runtimeDependencies_[path]; - var names = path.split('.'); - - // In a document context 'window' is the global object. In a worker it's - // called 'self'. - var obj = (window || self); - for (var i = 0; i < names.length; i++) { - if (!(names[i] in obj)) { - console.warn('Missing "' + path + '" is needed by', sourceList); - passed = false; - break; - } - - obj = obj[names[i]]; - } - } - - if (!passed) - throw new Error('Failed runtime dependency check'); -}; - -/** - * Register an initialization function. - * - * The initialization functions are invoked in registration order when - * lib.init() is invoked. Each function will receive a single parameter, which - * is a function to be invoked when it completes its part of the initialization. - * - * @param {string} name A short descriptive name of the init routine useful for - * debugging. - * @param {function(function)} callback The initialization function to register. - * @return {function} The callback parameter. - */ -lib.registerInit = function(name, callback) { - lib.initCallbacks_.push([name, callback]); - return callback; -}; - -/** - * Initialize the library. - * - * This will ensure that all registered runtime dependencies are met, and - * invoke any registered initialization functions. - * - * Initialization is asynchronous. The library is not ready for use until - * the onInit function is invoked. - * - * @param {function()} onInit The function to invoke when initialization is - * complete. - * @param {function(*)} opt_logFunction An optional function to send - * initialization related log messages to. - */ -lib.init = function(onInit, opt_logFunction) { - var ary = lib.initCallbacks_; - - var initNext = function() { - if (ary.length) { - var rec = ary.shift(); - if (opt_logFunction) - opt_logFunction('init: ' + rec[0]); - rec[1](lib.f.alarm(initNext)); - } else { - onInit(); - } - }; - - if (typeof onInit != 'function') - throw new Error('Missing or invalid argument: onInit'); - - lib.ensureRuntimeDependencies_(); - - setTimeout(initNext, 0); -}; -// SOURCE FILE: libdot/js/lib_polyfill.js -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -/** - * @fileoverview Polyfills for ES2016+ features we want to use. - */ - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart -if (!String.prototype.padStart) { - String.prototype.padStart = function(targetLength, padString) { - // If the string is already long enough, nothing to do! - targetLength -= this.length; - if (targetLength <= 0) - return String(this); - - if (padString === undefined) - padString = ' '; - - // In case the pad is multiple chars long. - if (targetLength > padString.length) - padString = padString.repeat((targetLength / padString.length) + 1); - - return padString.slice(0, targetLength) + String(this); - }; -} - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd -if (!String.prototype.padEnd) { - String.prototype.padEnd = function(targetLength, padString) { - // If the string is already long enough, nothing to do! - targetLength -= this.length; - if (targetLength <= 0) - return String(this); - - if (padString === undefined) - padString = ' '; - - // In case the pad is multiple chars long. - if (targetLength > padString.length) - padString = padString.repeat((targetLength / padString.length) + 1); - - return String(this) + padString.slice(0, targetLength); - }; -} -// SOURCE FILE: libdot/js/lib_colors.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -/** - * Namespace for color utilities. - */ -lib.colors = {}; - -/** - * First, some canned regular expressions we're going to use in this file. - * - * - * BRACE YOURSELF - * - * ,~~~~. - * |>_< ~~ - * 3`---'-/. - * 3:::::\v\ - * =o=:::::\,\ - * | :::::\,,\ - * - * THE REGULAR EXPRESSIONS - * ARE COMING. - * - * There's no way to break long RE literals in JavaScript. Fix that why don't - * you? Oh, and also there's no way to write a string that doesn't interpret - * escapes. - * - * Instead, we stoop to this .replace() trick. - */ -lib.colors.re_ = { - // CSS hex color, #RGB. - hex16: /#([a-f0-9])([a-f0-9])([a-f0-9])/i, - - // CSS hex color, #RRGGBB. - hex24: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/i, - - // CSS rgb color, rgb(rrr,ggg,bbb). - rgb: new RegExp( - ('^/s*rgb/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,' + - '/s*(/d{1,3})/s*/)/s*$' - ).replace(/\//g, '\\'), 'i'), - - // CSS rgb color, rgb(rrr,ggg,bbb,aaa). - rgba: new RegExp( - ('^/s*rgba/s*' + - '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' + - '(?:,/s*(/d+(?:/./d+)?)/s*)/)/s*$' - ).replace(/\//g, '\\'), 'i'), - - // Either RGB or RGBA. - rgbx: new RegExp( - ('^/s*rgba?/s*' + - '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' + - '(?:,/s*(/d+(?:/./d+)?)/s*)?/)/s*$' - ).replace(/\//g, '\\'), 'i'), - - // An X11 "rgb:dddd/dddd/dddd" value. - x11rgb: /^\s*rgb:([a-f0-9]{1,4})\/([a-f0-9]{1,4})\/([a-f0-9]{1,4})\s*$/i, - - // English color name. - name: /[a-z][a-z0-9\s]+/, -}; - -/** - * Convert a CSS rgb(ddd,ddd,ddd) color value into an X11 color value. - * - * Other CSS color values are ignored to ensure sanitary data handling. - * - * Each 'ddd' component is a one byte value specified in decimal. - * - * @param {string} value The CSS color value to convert. - * @return {string} The X11 color value or null if the value could not be - * converted. - */ -lib.colors.rgbToX11 = function(value) { - function scale(v) { - v = (Math.min(v, 255) * 257).toString(16); - return lib.f.zpad(v, 4); - } - - var ary = value.match(lib.colors.re_.rgbx); - if (!ary) - return null; - - return 'rgb:' + scale(ary[1]) + '/' + scale(ary[2]) + '/' + scale(ary[3]); -}; - -/** - * Convert a legacy X11 colover value into an CSS rgb(...) color value. - * - * They take the form: - * 12 bit: #RGB -> #R000G000B000 - * 24 bit: #RRGGBB -> #RR00GG00BB00 - * 36 bit: #RRRGGGBBB -> #RRR0GGG0BBB0 - * 48 bit: #RRRRGGGGBBBB - * These are the most significant bits. - * - * Truncate values back down to 24 bit since that's all CSS supports. - */ -lib.colors.x11HexToCSS = function(v) { - if (!v.startsWith('#')) - return null; - // Strip the leading # off. - v = v.substr(1); - - // Reject unknown sizes. - if ([3, 6, 9, 12].indexOf(v.length) == -1) - return null; - - // Reject non-hex values. - if (v.match(/[^a-f0-9]/i)) - return null; - - // Split the colors out. - var size = v.length / 3; - var r = v.substr(0, size); - var g = v.substr(size, size); - var b = v.substr(size + size, size); - - // Normalize to 16 bits. - function norm16(v) { - v = parseInt(v, 16); - return size == 2 ? v : // 16 bit - size == 1 ? v << 4 : // 8 bit - v >> (4 * (size - 2)); // 24 or 32 bit - } - return lib.colors.arrayToRGBA([r, g, b].map(norm16)); -}; - -/** - * Convert an X11 color value into an CSS rgb(...) color value. - * - * The X11 value may be an X11 color name, or an RGB value of the form - * rgb:hhhh/hhhh/hhhh. If a component value is less than 4 digits it is - * padded out to 4, then scaled down to fit in a single byte. - * - * @param {string} value The X11 color value to convert. - * @return {string} The CSS color value or null if the value could not be - * converted. - */ -lib.colors.x11ToCSS = function(v) { - function scale(v) { - // Pad out values with less than four digits. This padding (probably) - // matches xterm. It's difficult to say for sure since xterm seems to - // arrive at a padded value and then perform some combination of - // gamma correction, color space transformation, and quantization. - - if (v.length == 1) { - // Single digits pad out to four by repeating the character. "f" becomes - // "ffff". Scaling down a hex value of this pattern by 257 is the same - // as cutting off one byte. We skip the middle step and just double - // the character. - return parseInt(v + v, 16); - } - - if (v.length == 2) { - // Similar deal here. X11 pads two digit values by repeating the - // byte (or scale up by 257). Since we're going to scale it back - // down anyway, we can just return the original value. - return parseInt(v, 16); - } - - if (v.length == 3) { - // Three digit values seem to be padded by repeating the final digit. - // e.g. 10f becomes 10ff. - v = v + v.substr(2); - } - - // Scale down the 2 byte value. - return Math.round(parseInt(v, 16) / 257); - } - - var ary = v.match(lib.colors.re_.x11rgb); - if (!ary) { - // Handle the legacy format. - if (v.startsWith('#')) - return lib.colors.x11HexToCSS(v); - else - return lib.colors.nameToRGB(v); - } - - ary.splice(0, 1); - return lib.colors.arrayToRGBA(ary.map(scale)); -}; - -/** - * Converts one or more CSS '#RRGGBB' color values into their rgb(...) - * form. - * - * Arrays are converted in place. If a value cannot be converted, it is - * replaced with null. - * - * @param {string|Array.} A single RGB value or array of RGB values to - * convert. - * @return {string|Array.} The converted value or values. - */ -lib.colors.hexToRGB = function(arg) { - var hex16 = lib.colors.re_.hex16; - var hex24 = lib.colors.re_.hex24; - - function convert(hex) { - if (hex.length == 4) { - hex = hex.replace(hex16, function(h, r, g, b) { - return "#" + r + r + g + g + b + b; - }); - } - var ary = hex.match(hex24); - if (!ary) - return null; - - return 'rgb(' + parseInt(ary[1], 16) + ', ' + - parseInt(ary[2], 16) + ', ' + - parseInt(ary[3], 16) + ')'; - } - - if (arg instanceof Array) { - for (var i = 0; i < arg.length; i++) { - arg[i] = convert(arg[i]); - } - } else { - arg = convert(arg); - } - - return arg; -}; - -/** - * Converts one or more CSS rgb(...) forms into their '#RRGGBB' color values. - * - * If given an rgba(...) form, the alpha field is thrown away. - * - * Arrays are converted in place. If a value cannot be converted, it is - * replaced with null. - * - * @param {string|Array.} A single rgb(...) value or array of rgb(...) - * values to convert. - * @return {string|Array.} The converted value or values. - */ -lib.colors.rgbToHex = function(arg) { - function convert(rgb) { - var ary = lib.colors.crackRGB(rgb); - if (!ary) - return null; - return '#' + lib.f.zpad(((parseInt(ary[0]) << 16) | - (parseInt(ary[1]) << 8) | - (parseInt(ary[2]) << 0)).toString(16), 6); - } - - if (arg instanceof Array) { - for (var i = 0; i < arg.length; i++) { - arg[i] = convert(arg[i]); - } - } else { - arg = convert(arg); - } - - return arg; -}; - -/** - * Take any valid css color definition and turn it into an rgb or rgba value. - * - * Returns null if the value could not be normalized. - */ -lib.colors.normalizeCSS = function(def) { - if (def.startsWith('#')) - return lib.colors.hexToRGB(def); - - if (lib.colors.re_.rgbx.test(def)) - return def; - - return lib.colors.nameToRGB(def); -}; - -/** - * Convert a 3 or 4 element array into an rgba(...) string. - */ -lib.colors.arrayToRGBA = function(ary) { - var alpha = (ary.length > 3) ? ary[3] : 1; - return 'rgba(' + ary[0] + ', ' + ary[1] + ', ' + ary[2] + ', ' + alpha + ')'; -}; - -/** - * Overwrite the alpha channel of an rgb/rgba color. - */ -lib.colors.setAlpha = function(rgb, alpha) { - var ary = lib.colors.crackRGB(rgb); - ary[3] = alpha; - return lib.colors.arrayToRGBA(ary); -}; - -/** - * Mix a percentage of a tint color into a base color. - */ -lib.colors.mix = function(base, tint, percent) { - var ary1 = lib.colors.crackRGB(base); - var ary2 = lib.colors.crackRGB(tint); - - for (var i = 0; i < 4; ++i) { - var diff = ary2[i] - ary1[i]; - ary1[i] = Math.round(parseInt(ary1[i]) + diff * percent); - } - - return lib.colors.arrayToRGBA(ary1); -}; - -/** - * Split an rgb/rgba color into an array of its components. - * - * On success, a 4 element array will be returned. For rgb values, the alpha - * will be set to 1. - */ -lib.colors.crackRGB = function(color) { - if (color.startsWith('rgba')) { - var ary = color.match(lib.colors.re_.rgba); - if (ary) { - ary.shift(); - return ary; - } - } else { - var ary = color.match(lib.colors.re_.rgb); - if (ary) { - ary.shift(); - ary.push(1); - return ary; - } - } - - console.error('Couldn\'t crack: ' + color); - return null; -}; - -/** - * Convert an X11 color name into a CSS rgb(...) value. - * - * Names are stripped of spaces and converted to lowercase. If the name is - * unknown, null is returned. - * - * This list of color name to RGB mapping is derived from the stock X11 - * rgb.txt file. - * - * @param {string} name The color name to convert. - * @return {string} The corresponding CSS rgb(...) value. - */ -lib.colors.nameToRGB = function(name) { - if (name in lib.colors.colorNames) - return lib.colors.colorNames[name]; - - name = name.toLowerCase(); - if (name in lib.colors.colorNames) - return lib.colors.colorNames[name]; - - name = name.replace(/\s+/g, ''); - if (name in lib.colors.colorNames) - return lib.colors.colorNames[name]; - - return null; -}; - -/** - * The stock color palette. - */ -lib.colors.stockColorPalette = lib.colors.hexToRGB - ([// The "ANSI 16"... - '#000000', '#CC0000', '#4E9A06', '#C4A000', - '#3465A4', '#75507B', '#06989A', '#D3D7CF', - '#555753', '#EF2929', '#00BA13', '#FCE94F', - '#729FCF', '#F200CB', '#00B5BD', '#EEEEEC', - - // The 6x6 color cubes... - '#000000', '#00005F', '#000087', '#0000AF', '#0000D7', '#0000FF', - '#005F00', '#005F5F', '#005F87', '#005FAF', '#005FD7', '#005FFF', - '#008700', '#00875F', '#008787', '#0087AF', '#0087D7', '#0087FF', - '#00AF00', '#00AF5F', '#00AF87', '#00AFAF', '#00AFD7', '#00AFFF', - '#00D700', '#00D75F', '#00D787', '#00D7AF', '#00D7D7', '#00D7FF', - '#00FF00', '#00FF5F', '#00FF87', '#00FFAF', '#00FFD7', '#00FFFF', - - '#5F0000', '#5F005F', '#5F0087', '#5F00AF', '#5F00D7', '#5F00FF', - '#5F5F00', '#5F5F5F', '#5F5F87', '#5F5FAF', '#5F5FD7', '#5F5FFF', - '#5F8700', '#5F875F', '#5F8787', '#5F87AF', '#5F87D7', '#5F87FF', - '#5FAF00', '#5FAF5F', '#5FAF87', '#5FAFAF', '#5FAFD7', '#5FAFFF', - '#5FD700', '#5FD75F', '#5FD787', '#5FD7AF', '#5FD7D7', '#5FD7FF', - '#5FFF00', '#5FFF5F', '#5FFF87', '#5FFFAF', '#5FFFD7', '#5FFFFF', - - '#870000', '#87005F', '#870087', '#8700AF', '#8700D7', '#8700FF', - '#875F00', '#875F5F', '#875F87', '#875FAF', '#875FD7', '#875FFF', - '#878700', '#87875F', '#878787', '#8787AF', '#8787D7', '#8787FF', - '#87AF00', '#87AF5F', '#87AF87', '#87AFAF', '#87AFD7', '#87AFFF', - '#87D700', '#87D75F', '#87D787', '#87D7AF', '#87D7D7', '#87D7FF', - '#87FF00', '#87FF5F', '#87FF87', '#87FFAF', '#87FFD7', '#87FFFF', - - '#AF0000', '#AF005F', '#AF0087', '#AF00AF', '#AF00D7', '#AF00FF', - '#AF5F00', '#AF5F5F', '#AF5F87', '#AF5FAF', '#AF5FD7', '#AF5FFF', - '#AF8700', '#AF875F', '#AF8787', '#AF87AF', '#AF87D7', '#AF87FF', - '#AFAF00', '#AFAF5F', '#AFAF87', '#AFAFAF', '#AFAFD7', '#AFAFFF', - '#AFD700', '#AFD75F', '#AFD787', '#AFD7AF', '#AFD7D7', '#AFD7FF', - '#AFFF00', '#AFFF5F', '#AFFF87', '#AFFFAF', '#AFFFD7', '#AFFFFF', - - '#D70000', '#D7005F', '#D70087', '#D700AF', '#D700D7', '#D700FF', - '#D75F00', '#D75F5F', '#D75F87', '#D75FAF', '#D75FD7', '#D75FFF', - '#D78700', '#D7875F', '#D78787', '#D787AF', '#D787D7', '#D787FF', - '#D7AF00', '#D7AF5F', '#D7AF87', '#D7AFAF', '#D7AFD7', '#D7AFFF', - '#D7D700', '#D7D75F', '#D7D787', '#D7D7AF', '#D7D7D7', '#D7D7FF', - '#D7FF00', '#D7FF5F', '#D7FF87', '#D7FFAF', '#D7FFD7', '#D7FFFF', - - '#FF0000', '#FF005F', '#FF0087', '#FF00AF', '#FF00D7', '#FF00FF', - '#FF5F00', '#FF5F5F', '#FF5F87', '#FF5FAF', '#FF5FD7', '#FF5FFF', - '#FF8700', '#FF875F', '#FF8787', '#FF87AF', '#FF87D7', '#FF87FF', - '#FFAF00', '#FFAF5F', '#FFAF87', '#FFAFAF', '#FFAFD7', '#FFAFFF', - '#FFD700', '#FFD75F', '#FFD787', '#FFD7AF', '#FFD7D7', '#FFD7FF', - '#FFFF00', '#FFFF5F', '#FFFF87', '#FFFFAF', '#FFFFD7', '#FFFFFF', - - // The greyscale ramp... - '#080808', '#121212', '#1C1C1C', '#262626', '#303030', '#3A3A3A', - '#444444', '#4E4E4E', '#585858', '#626262', '#6C6C6C', '#767676', - '#808080', '#8A8A8A', '#949494', '#9E9E9E', '#A8A8A8', '#B2B2B2', - '#BCBCBC', '#C6C6C6', '#D0D0D0', '#DADADA', '#E4E4E4', '#EEEEEE' - ]); - -/** - * The current color palette, possibly with user changes. - */ -lib.colors.colorPalette = lib.colors.stockColorPalette; - -/** - * Named colors according to the stock X11 rgb.txt file. - */ -lib.colors.colorNames = { - "aliceblue": "rgb(240, 248, 255)", - "antiquewhite": "rgb(250, 235, 215)", - "antiquewhite1": "rgb(255, 239, 219)", - "antiquewhite2": "rgb(238, 223, 204)", - "antiquewhite3": "rgb(205, 192, 176)", - "antiquewhite4": "rgb(139, 131, 120)", - "aquamarine": "rgb(127, 255, 212)", - "aquamarine1": "rgb(127, 255, 212)", - "aquamarine2": "rgb(118, 238, 198)", - "aquamarine3": "rgb(102, 205, 170)", - "aquamarine4": "rgb(69, 139, 116)", - "azure": "rgb(240, 255, 255)", - "azure1": "rgb(240, 255, 255)", - "azure2": "rgb(224, 238, 238)", - "azure3": "rgb(193, 205, 205)", - "azure4": "rgb(131, 139, 139)", - "beige": "rgb(245, 245, 220)", - "bisque": "rgb(255, 228, 196)", - "bisque1": "rgb(255, 228, 196)", - "bisque2": "rgb(238, 213, 183)", - "bisque3": "rgb(205, 183, 158)", - "bisque4": "rgb(139, 125, 107)", - "black": "rgb(0, 0, 0)", - "blanchedalmond": "rgb(255, 235, 205)", - "blue": "rgb(0, 0, 255)", - "blue1": "rgb(0, 0, 255)", - "blue2": "rgb(0, 0, 238)", - "blue3": "rgb(0, 0, 205)", - "blue4": "rgb(0, 0, 139)", - "blueviolet": "rgb(138, 43, 226)", - "brown": "rgb(165, 42, 42)", - "brown1": "rgb(255, 64, 64)", - "brown2": "rgb(238, 59, 59)", - "brown3": "rgb(205, 51, 51)", - "brown4": "rgb(139, 35, 35)", - "burlywood": "rgb(222, 184, 135)", - "burlywood1": "rgb(255, 211, 155)", - "burlywood2": "rgb(238, 197, 145)", - "burlywood3": "rgb(205, 170, 125)", - "burlywood4": "rgb(139, 115, 85)", - "cadetblue": "rgb(95, 158, 160)", - "cadetblue1": "rgb(152, 245, 255)", - "cadetblue2": "rgb(142, 229, 238)", - "cadetblue3": "rgb(122, 197, 205)", - "cadetblue4": "rgb(83, 134, 139)", - "chartreuse": "rgb(127, 255, 0)", - "chartreuse1": "rgb(127, 255, 0)", - "chartreuse2": "rgb(118, 238, 0)", - "chartreuse3": "rgb(102, 205, 0)", - "chartreuse4": "rgb(69, 139, 0)", - "chocolate": "rgb(210, 105, 30)", - "chocolate1": "rgb(255, 127, 36)", - "chocolate2": "rgb(238, 118, 33)", - "chocolate3": "rgb(205, 102, 29)", - "chocolate4": "rgb(139, 69, 19)", - "coral": "rgb(255, 127, 80)", - "coral1": "rgb(255, 114, 86)", - "coral2": "rgb(238, 106, 80)", - "coral3": "rgb(205, 91, 69)", - "coral4": "rgb(139, 62, 47)", - "cornflowerblue": "rgb(100, 149, 237)", - "cornsilk": "rgb(255, 248, 220)", - "cornsilk1": "rgb(255, 248, 220)", - "cornsilk2": "rgb(238, 232, 205)", - "cornsilk3": "rgb(205, 200, 177)", - "cornsilk4": "rgb(139, 136, 120)", - "cyan": "rgb(0, 255, 255)", - "cyan1": "rgb(0, 255, 255)", - "cyan2": "rgb(0, 238, 238)", - "cyan3": "rgb(0, 205, 205)", - "cyan4": "rgb(0, 139, 139)", - "darkblue": "rgb(0, 0, 139)", - "darkcyan": "rgb(0, 139, 139)", - "darkgoldenrod": "rgb(184, 134, 11)", - "darkgoldenrod1": "rgb(255, 185, 15)", - "darkgoldenrod2": "rgb(238, 173, 14)", - "darkgoldenrod3": "rgb(205, 149, 12)", - "darkgoldenrod4": "rgb(139, 101, 8)", - "darkgray": "rgb(169, 169, 169)", - "darkgreen": "rgb(0, 100, 0)", - "darkgrey": "rgb(169, 169, 169)", - "darkkhaki": "rgb(189, 183, 107)", - "darkmagenta": "rgb(139, 0, 139)", - "darkolivegreen": "rgb(85, 107, 47)", - "darkolivegreen1": "rgb(202, 255, 112)", - "darkolivegreen2": "rgb(188, 238, 104)", - "darkolivegreen3": "rgb(162, 205, 90)", - "darkolivegreen4": "rgb(110, 139, 61)", - "darkorange": "rgb(255, 140, 0)", - "darkorange1": "rgb(255, 127, 0)", - "darkorange2": "rgb(238, 118, 0)", - "darkorange3": "rgb(205, 102, 0)", - "darkorange4": "rgb(139, 69, 0)", - "darkorchid": "rgb(153, 50, 204)", - "darkorchid1": "rgb(191, 62, 255)", - "darkorchid2": "rgb(178, 58, 238)", - "darkorchid3": "rgb(154, 50, 205)", - "darkorchid4": "rgb(104, 34, 139)", - "darkred": "rgb(139, 0, 0)", - "darksalmon": "rgb(233, 150, 122)", - "darkseagreen": "rgb(143, 188, 143)", - "darkseagreen1": "rgb(193, 255, 193)", - "darkseagreen2": "rgb(180, 238, 180)", - "darkseagreen3": "rgb(155, 205, 155)", - "darkseagreen4": "rgb(105, 139, 105)", - "darkslateblue": "rgb(72, 61, 139)", - "darkslategray": "rgb(47, 79, 79)", - "darkslategray1": "rgb(151, 255, 255)", - "darkslategray2": "rgb(141, 238, 238)", - "darkslategray3": "rgb(121, 205, 205)", - "darkslategray4": "rgb(82, 139, 139)", - "darkslategrey": "rgb(47, 79, 79)", - "darkturquoise": "rgb(0, 206, 209)", - "darkviolet": "rgb(148, 0, 211)", - "debianred": "rgb(215, 7, 81)", - "deeppink": "rgb(255, 20, 147)", - "deeppink1": "rgb(255, 20, 147)", - "deeppink2": "rgb(238, 18, 137)", - "deeppink3": "rgb(205, 16, 118)", - "deeppink4": "rgb(139, 10, 80)", - "deepskyblue": "rgb(0, 191, 255)", - "deepskyblue1": "rgb(0, 191, 255)", - "deepskyblue2": "rgb(0, 178, 238)", - "deepskyblue3": "rgb(0, 154, 205)", - "deepskyblue4": "rgb(0, 104, 139)", - "dimgray": "rgb(105, 105, 105)", - "dimgrey": "rgb(105, 105, 105)", - "dodgerblue": "rgb(30, 144, 255)", - "dodgerblue1": "rgb(30, 144, 255)", - "dodgerblue2": "rgb(28, 134, 238)", - "dodgerblue3": "rgb(24, 116, 205)", - "dodgerblue4": "rgb(16, 78, 139)", - "firebrick": "rgb(178, 34, 34)", - "firebrick1": "rgb(255, 48, 48)", - "firebrick2": "rgb(238, 44, 44)", - "firebrick3": "rgb(205, 38, 38)", - "firebrick4": "rgb(139, 26, 26)", - "floralwhite": "rgb(255, 250, 240)", - "forestgreen": "rgb(34, 139, 34)", - "gainsboro": "rgb(220, 220, 220)", - "ghostwhite": "rgb(248, 248, 255)", - "gold": "rgb(255, 215, 0)", - "gold1": "rgb(255, 215, 0)", - "gold2": "rgb(238, 201, 0)", - "gold3": "rgb(205, 173, 0)", - "gold4": "rgb(139, 117, 0)", - "goldenrod": "rgb(218, 165, 32)", - "goldenrod1": "rgb(255, 193, 37)", - "goldenrod2": "rgb(238, 180, 34)", - "goldenrod3": "rgb(205, 155, 29)", - "goldenrod4": "rgb(139, 105, 20)", - "gray": "rgb(190, 190, 190)", - "gray0": "rgb(0, 0, 0)", - "gray1": "rgb(3, 3, 3)", - "gray10": "rgb(26, 26, 26)", - "gray100": "rgb(255, 255, 255)", - "gray11": "rgb(28, 28, 28)", - "gray12": "rgb(31, 31, 31)", - "gray13": "rgb(33, 33, 33)", - "gray14": "rgb(36, 36, 36)", - "gray15": "rgb(38, 38, 38)", - "gray16": "rgb(41, 41, 41)", - "gray17": "rgb(43, 43, 43)", - "gray18": "rgb(46, 46, 46)", - "gray19": "rgb(48, 48, 48)", - "gray2": "rgb(5, 5, 5)", - "gray20": "rgb(51, 51, 51)", - "gray21": "rgb(54, 54, 54)", - "gray22": "rgb(56, 56, 56)", - "gray23": "rgb(59, 59, 59)", - "gray24": "rgb(61, 61, 61)", - "gray25": "rgb(64, 64, 64)", - "gray26": "rgb(66, 66, 66)", - "gray27": "rgb(69, 69, 69)", - "gray28": "rgb(71, 71, 71)", - "gray29": "rgb(74, 74, 74)", - "gray3": "rgb(8, 8, 8)", - "gray30": "rgb(77, 77, 77)", - "gray31": "rgb(79, 79, 79)", - "gray32": "rgb(82, 82, 82)", - "gray33": "rgb(84, 84, 84)", - "gray34": "rgb(87, 87, 87)", - "gray35": "rgb(89, 89, 89)", - "gray36": "rgb(92, 92, 92)", - "gray37": "rgb(94, 94, 94)", - "gray38": "rgb(97, 97, 97)", - "gray39": "rgb(99, 99, 99)", - "gray4": "rgb(10, 10, 10)", - "gray40": "rgb(102, 102, 102)", - "gray41": "rgb(105, 105, 105)", - "gray42": "rgb(107, 107, 107)", - "gray43": "rgb(110, 110, 110)", - "gray44": "rgb(112, 112, 112)", - "gray45": "rgb(115, 115, 115)", - "gray46": "rgb(117, 117, 117)", - "gray47": "rgb(120, 120, 120)", - "gray48": "rgb(122, 122, 122)", - "gray49": "rgb(125, 125, 125)", - "gray5": "rgb(13, 13, 13)", - "gray50": "rgb(127, 127, 127)", - "gray51": "rgb(130, 130, 130)", - "gray52": "rgb(133, 133, 133)", - "gray53": "rgb(135, 135, 135)", - "gray54": "rgb(138, 138, 138)", - "gray55": "rgb(140, 140, 140)", - "gray56": "rgb(143, 143, 143)", - "gray57": "rgb(145, 145, 145)", - "gray58": "rgb(148, 148, 148)", - "gray59": "rgb(150, 150, 150)", - "gray6": "rgb(15, 15, 15)", - "gray60": "rgb(153, 153, 153)", - "gray61": "rgb(156, 156, 156)", - "gray62": "rgb(158, 158, 158)", - "gray63": "rgb(161, 161, 161)", - "gray64": "rgb(163, 163, 163)", - "gray65": "rgb(166, 166, 166)", - "gray66": "rgb(168, 168, 168)", - "gray67": "rgb(171, 171, 171)", - "gray68": "rgb(173, 173, 173)", - "gray69": "rgb(176, 176, 176)", - "gray7": "rgb(18, 18, 18)", - "gray70": "rgb(179, 179, 179)", - "gray71": "rgb(181, 181, 181)", - "gray72": "rgb(184, 184, 184)", - "gray73": "rgb(186, 186, 186)", - "gray74": "rgb(189, 189, 189)", - "gray75": "rgb(191, 191, 191)", - "gray76": "rgb(194, 194, 194)", - "gray77": "rgb(196, 196, 196)", - "gray78": "rgb(199, 199, 199)", - "gray79": "rgb(201, 201, 201)", - "gray8": "rgb(20, 20, 20)", - "gray80": "rgb(204, 204, 204)", - "gray81": "rgb(207, 207, 207)", - "gray82": "rgb(209, 209, 209)", - "gray83": "rgb(212, 212, 212)", - "gray84": "rgb(214, 214, 214)", - "gray85": "rgb(217, 217, 217)", - "gray86": "rgb(219, 219, 219)", - "gray87": "rgb(222, 222, 222)", - "gray88": "rgb(224, 224, 224)", - "gray89": "rgb(227, 227, 227)", - "gray9": "rgb(23, 23, 23)", - "gray90": "rgb(229, 229, 229)", - "gray91": "rgb(232, 232, 232)", - "gray92": "rgb(235, 235, 235)", - "gray93": "rgb(237, 237, 237)", - "gray94": "rgb(240, 240, 240)", - "gray95": "rgb(242, 242, 242)", - "gray96": "rgb(245, 245, 245)", - "gray97": "rgb(247, 247, 247)", - "gray98": "rgb(250, 250, 250)", - "gray99": "rgb(252, 252, 252)", - "green": "rgb(0, 255, 0)", - "green1": "rgb(0, 255, 0)", - "green2": "rgb(0, 238, 0)", - "green3": "rgb(0, 205, 0)", - "green4": "rgb(0, 139, 0)", - "greenyellow": "rgb(173, 255, 47)", - "grey": "rgb(190, 190, 190)", - "grey0": "rgb(0, 0, 0)", - "grey1": "rgb(3, 3, 3)", - "grey10": "rgb(26, 26, 26)", - "grey100": "rgb(255, 255, 255)", - "grey11": "rgb(28, 28, 28)", - "grey12": "rgb(31, 31, 31)", - "grey13": "rgb(33, 33, 33)", - "grey14": "rgb(36, 36, 36)", - "grey15": "rgb(38, 38, 38)", - "grey16": "rgb(41, 41, 41)", - "grey17": "rgb(43, 43, 43)", - "grey18": "rgb(46, 46, 46)", - "grey19": "rgb(48, 48, 48)", - "grey2": "rgb(5, 5, 5)", - "grey20": "rgb(51, 51, 51)", - "grey21": "rgb(54, 54, 54)", - "grey22": "rgb(56, 56, 56)", - "grey23": "rgb(59, 59, 59)", - "grey24": "rgb(61, 61, 61)", - "grey25": "rgb(64, 64, 64)", - "grey26": "rgb(66, 66, 66)", - "grey27": "rgb(69, 69, 69)", - "grey28": "rgb(71, 71, 71)", - "grey29": "rgb(74, 74, 74)", - "grey3": "rgb(8, 8, 8)", - "grey30": "rgb(77, 77, 77)", - "grey31": "rgb(79, 79, 79)", - "grey32": "rgb(82, 82, 82)", - "grey33": "rgb(84, 84, 84)", - "grey34": "rgb(87, 87, 87)", - "grey35": "rgb(89, 89, 89)", - "grey36": "rgb(92, 92, 92)", - "grey37": "rgb(94, 94, 94)", - "grey38": "rgb(97, 97, 97)", - "grey39": "rgb(99, 99, 99)", - "grey4": "rgb(10, 10, 10)", - "grey40": "rgb(102, 102, 102)", - "grey41": "rgb(105, 105, 105)", - "grey42": "rgb(107, 107, 107)", - "grey43": "rgb(110, 110, 110)", - "grey44": "rgb(112, 112, 112)", - "grey45": "rgb(115, 115, 115)", - "grey46": "rgb(117, 117, 117)", - "grey47": "rgb(120, 120, 120)", - "grey48": "rgb(122, 122, 122)", - "grey49": "rgb(125, 125, 125)", - "grey5": "rgb(13, 13, 13)", - "grey50": "rgb(127, 127, 127)", - "grey51": "rgb(130, 130, 130)", - "grey52": "rgb(133, 133, 133)", - "grey53": "rgb(135, 135, 135)", - "grey54": "rgb(138, 138, 138)", - "grey55": "rgb(140, 140, 140)", - "grey56": "rgb(143, 143, 143)", - "grey57": "rgb(145, 145, 145)", - "grey58": "rgb(148, 148, 148)", - "grey59": "rgb(150, 150, 150)", - "grey6": "rgb(15, 15, 15)", - "grey60": "rgb(153, 153, 153)", - "grey61": "rgb(156, 156, 156)", - "grey62": "rgb(158, 158, 158)", - "grey63": "rgb(161, 161, 161)", - "grey64": "rgb(163, 163, 163)", - "grey65": "rgb(166, 166, 166)", - "grey66": "rgb(168, 168, 168)", - "grey67": "rgb(171, 171, 171)", - "grey68": "rgb(173, 173, 173)", - "grey69": "rgb(176, 176, 176)", - "grey7": "rgb(18, 18, 18)", - "grey70": "rgb(179, 179, 179)", - "grey71": "rgb(181, 181, 181)", - "grey72": "rgb(184, 184, 184)", - "grey73": "rgb(186, 186, 186)", - "grey74": "rgb(189, 189, 189)", - "grey75": "rgb(191, 191, 191)", - "grey76": "rgb(194, 194, 194)", - "grey77": "rgb(196, 196, 196)", - "grey78": "rgb(199, 199, 199)", - "grey79": "rgb(201, 201, 201)", - "grey8": "rgb(20, 20, 20)", - "grey80": "rgb(204, 204, 204)", - "grey81": "rgb(207, 207, 207)", - "grey82": "rgb(209, 209, 209)", - "grey83": "rgb(212, 212, 212)", - "grey84": "rgb(214, 214, 214)", - "grey85": "rgb(217, 217, 217)", - "grey86": "rgb(219, 219, 219)", - "grey87": "rgb(222, 222, 222)", - "grey88": "rgb(224, 224, 224)", - "grey89": "rgb(227, 227, 227)", - "grey9": "rgb(23, 23, 23)", - "grey90": "rgb(229, 229, 229)", - "grey91": "rgb(232, 232, 232)", - "grey92": "rgb(235, 235, 235)", - "grey93": "rgb(237, 237, 237)", - "grey94": "rgb(240, 240, 240)", - "grey95": "rgb(242, 242, 242)", - "grey96": "rgb(245, 245, 245)", - "grey97": "rgb(247, 247, 247)", - "grey98": "rgb(250, 250, 250)", - "grey99": "rgb(252, 252, 252)", - "honeydew": "rgb(240, 255, 240)", - "honeydew1": "rgb(240, 255, 240)", - "honeydew2": "rgb(224, 238, 224)", - "honeydew3": "rgb(193, 205, 193)", - "honeydew4": "rgb(131, 139, 131)", - "hotpink": "rgb(255, 105, 180)", - "hotpink1": "rgb(255, 110, 180)", - "hotpink2": "rgb(238, 106, 167)", - "hotpink3": "rgb(205, 96, 144)", - "hotpink4": "rgb(139, 58, 98)", - "indianred": "rgb(205, 92, 92)", - "indianred1": "rgb(255, 106, 106)", - "indianred2": "rgb(238, 99, 99)", - "indianred3": "rgb(205, 85, 85)", - "indianred4": "rgb(139, 58, 58)", - "ivory": "rgb(255, 255, 240)", - "ivory1": "rgb(255, 255, 240)", - "ivory2": "rgb(238, 238, 224)", - "ivory3": "rgb(205, 205, 193)", - "ivory4": "rgb(139, 139, 131)", - "khaki": "rgb(240, 230, 140)", - "khaki1": "rgb(255, 246, 143)", - "khaki2": "rgb(238, 230, 133)", - "khaki3": "rgb(205, 198, 115)", - "khaki4": "rgb(139, 134, 78)", - "lavender": "rgb(230, 230, 250)", - "lavenderblush": "rgb(255, 240, 245)", - "lavenderblush1": "rgb(255, 240, 245)", - "lavenderblush2": "rgb(238, 224, 229)", - "lavenderblush3": "rgb(205, 193, 197)", - "lavenderblush4": "rgb(139, 131, 134)", - "lawngreen": "rgb(124, 252, 0)", - "lemonchiffon": "rgb(255, 250, 205)", - "lemonchiffon1": "rgb(255, 250, 205)", - "lemonchiffon2": "rgb(238, 233, 191)", - "lemonchiffon3": "rgb(205, 201, 165)", - "lemonchiffon4": "rgb(139, 137, 112)", - "lightblue": "rgb(173, 216, 230)", - "lightblue1": "rgb(191, 239, 255)", - "lightblue2": "rgb(178, 223, 238)", - "lightblue3": "rgb(154, 192, 205)", - "lightblue4": "rgb(104, 131, 139)", - "lightcoral": "rgb(240, 128, 128)", - "lightcyan": "rgb(224, 255, 255)", - "lightcyan1": "rgb(224, 255, 255)", - "lightcyan2": "rgb(209, 238, 238)", - "lightcyan3": "rgb(180, 205, 205)", - "lightcyan4": "rgb(122, 139, 139)", - "lightgoldenrod": "rgb(238, 221, 130)", - "lightgoldenrod1": "rgb(255, 236, 139)", - "lightgoldenrod2": "rgb(238, 220, 130)", - "lightgoldenrod3": "rgb(205, 190, 112)", - "lightgoldenrod4": "rgb(139, 129, 76)", - "lightgoldenrodyellow": "rgb(250, 250, 210)", - "lightgray": "rgb(211, 211, 211)", - "lightgreen": "rgb(144, 238, 144)", - "lightgrey": "rgb(211, 211, 211)", - "lightpink": "rgb(255, 182, 193)", - "lightpink1": "rgb(255, 174, 185)", - "lightpink2": "rgb(238, 162, 173)", - "lightpink3": "rgb(205, 140, 149)", - "lightpink4": "rgb(139, 95, 101)", - "lightsalmon": "rgb(255, 160, 122)", - "lightsalmon1": "rgb(255, 160, 122)", - "lightsalmon2": "rgb(238, 149, 114)", - "lightsalmon3": "rgb(205, 129, 98)", - "lightsalmon4": "rgb(139, 87, 66)", - "lightseagreen": "rgb(32, 178, 170)", - "lightskyblue": "rgb(135, 206, 250)", - "lightskyblue1": "rgb(176, 226, 255)", - "lightskyblue2": "rgb(164, 211, 238)", - "lightskyblue3": "rgb(141, 182, 205)", - "lightskyblue4": "rgb(96, 123, 139)", - "lightslateblue": "rgb(132, 112, 255)", - "lightslategray": "rgb(119, 136, 153)", - "lightslategrey": "rgb(119, 136, 153)", - "lightsteelblue": "rgb(176, 196, 222)", - "lightsteelblue1": "rgb(202, 225, 255)", - "lightsteelblue2": "rgb(188, 210, 238)", - "lightsteelblue3": "rgb(162, 181, 205)", - "lightsteelblue4": "rgb(110, 123, 139)", - "lightyellow": "rgb(255, 255, 224)", - "lightyellow1": "rgb(255, 255, 224)", - "lightyellow2": "rgb(238, 238, 209)", - "lightyellow3": "rgb(205, 205, 180)", - "lightyellow4": "rgb(139, 139, 122)", - "limegreen": "rgb(50, 205, 50)", - "linen": "rgb(250, 240, 230)", - "magenta": "rgb(255, 0, 255)", - "magenta1": "rgb(255, 0, 255)", - "magenta2": "rgb(238, 0, 238)", - "magenta3": "rgb(205, 0, 205)", - "magenta4": "rgb(139, 0, 139)", - "maroon": "rgb(176, 48, 96)", - "maroon1": "rgb(255, 52, 179)", - "maroon2": "rgb(238, 48, 167)", - "maroon3": "rgb(205, 41, 144)", - "maroon4": "rgb(139, 28, 98)", - "mediumaquamarine": "rgb(102, 205, 170)", - "mediumblue": "rgb(0, 0, 205)", - "mediumorchid": "rgb(186, 85, 211)", - "mediumorchid1": "rgb(224, 102, 255)", - "mediumorchid2": "rgb(209, 95, 238)", - "mediumorchid3": "rgb(180, 82, 205)", - "mediumorchid4": "rgb(122, 55, 139)", - "mediumpurple": "rgb(147, 112, 219)", - "mediumpurple1": "rgb(171, 130, 255)", - "mediumpurple2": "rgb(159, 121, 238)", - "mediumpurple3": "rgb(137, 104, 205)", - "mediumpurple4": "rgb(93, 71, 139)", - "mediumseagreen": "rgb(60, 179, 113)", - "mediumslateblue": "rgb(123, 104, 238)", - "mediumspringgreen": "rgb(0, 250, 154)", - "mediumturquoise": "rgb(72, 209, 204)", - "mediumvioletred": "rgb(199, 21, 133)", - "midnightblue": "rgb(25, 25, 112)", - "mintcream": "rgb(245, 255, 250)", - "mistyrose": "rgb(255, 228, 225)", - "mistyrose1": "rgb(255, 228, 225)", - "mistyrose2": "rgb(238, 213, 210)", - "mistyrose3": "rgb(205, 183, 181)", - "mistyrose4": "rgb(139, 125, 123)", - "moccasin": "rgb(255, 228, 181)", - "navajowhite": "rgb(255, 222, 173)", - "navajowhite1": "rgb(255, 222, 173)", - "navajowhite2": "rgb(238, 207, 161)", - "navajowhite3": "rgb(205, 179, 139)", - "navajowhite4": "rgb(139, 121, 94)", - "navy": "rgb(0, 0, 128)", - "navyblue": "rgb(0, 0, 128)", - "oldlace": "rgb(253, 245, 230)", - "olivedrab": "rgb(107, 142, 35)", - "olivedrab1": "rgb(192, 255, 62)", - "olivedrab2": "rgb(179, 238, 58)", - "olivedrab3": "rgb(154, 205, 50)", - "olivedrab4": "rgb(105, 139, 34)", - "orange": "rgb(255, 165, 0)", - "orange1": "rgb(255, 165, 0)", - "orange2": "rgb(238, 154, 0)", - "orange3": "rgb(205, 133, 0)", - "orange4": "rgb(139, 90, 0)", - "orangered": "rgb(255, 69, 0)", - "orangered1": "rgb(255, 69, 0)", - "orangered2": "rgb(238, 64, 0)", - "orangered3": "rgb(205, 55, 0)", - "orangered4": "rgb(139, 37, 0)", - "orchid": "rgb(218, 112, 214)", - "orchid1": "rgb(255, 131, 250)", - "orchid2": "rgb(238, 122, 233)", - "orchid3": "rgb(205, 105, 201)", - "orchid4": "rgb(139, 71, 137)", - "palegoldenrod": "rgb(238, 232, 170)", - "palegreen": "rgb(152, 251, 152)", - "palegreen1": "rgb(154, 255, 154)", - "palegreen2": "rgb(144, 238, 144)", - "palegreen3": "rgb(124, 205, 124)", - "palegreen4": "rgb(84, 139, 84)", - "paleturquoise": "rgb(175, 238, 238)", - "paleturquoise1": "rgb(187, 255, 255)", - "paleturquoise2": "rgb(174, 238, 238)", - "paleturquoise3": "rgb(150, 205, 205)", - "paleturquoise4": "rgb(102, 139, 139)", - "palevioletred": "rgb(219, 112, 147)", - "palevioletred1": "rgb(255, 130, 171)", - "palevioletred2": "rgb(238, 121, 159)", - "palevioletred3": "rgb(205, 104, 137)", - "palevioletred4": "rgb(139, 71, 93)", - "papayawhip": "rgb(255, 239, 213)", - "peachpuff": "rgb(255, 218, 185)", - "peachpuff1": "rgb(255, 218, 185)", - "peachpuff2": "rgb(238, 203, 173)", - "peachpuff3": "rgb(205, 175, 149)", - "peachpuff4": "rgb(139, 119, 101)", - "peru": "rgb(205, 133, 63)", - "pink": "rgb(255, 192, 203)", - "pink1": "rgb(255, 181, 197)", - "pink2": "rgb(238, 169, 184)", - "pink3": "rgb(205, 145, 158)", - "pink4": "rgb(139, 99, 108)", - "plum": "rgb(221, 160, 221)", - "plum1": "rgb(255, 187, 255)", - "plum2": "rgb(238, 174, 238)", - "plum3": "rgb(205, 150, 205)", - "plum4": "rgb(139, 102, 139)", - "powderblue": "rgb(176, 224, 230)", - "purple": "rgb(160, 32, 240)", - "purple1": "rgb(155, 48, 255)", - "purple2": "rgb(145, 44, 238)", - "purple3": "rgb(125, 38, 205)", - "purple4": "rgb(85, 26, 139)", - "red": "rgb(255, 0, 0)", - "red1": "rgb(255, 0, 0)", - "red2": "rgb(238, 0, 0)", - "red3": "rgb(205, 0, 0)", - "red4": "rgb(139, 0, 0)", - "rosybrown": "rgb(188, 143, 143)", - "rosybrown1": "rgb(255, 193, 193)", - "rosybrown2": "rgb(238, 180, 180)", - "rosybrown3": "rgb(205, 155, 155)", - "rosybrown4": "rgb(139, 105, 105)", - "royalblue": "rgb(65, 105, 225)", - "royalblue1": "rgb(72, 118, 255)", - "royalblue2": "rgb(67, 110, 238)", - "royalblue3": "rgb(58, 95, 205)", - "royalblue4": "rgb(39, 64, 139)", - "saddlebrown": "rgb(139, 69, 19)", - "salmon": "rgb(250, 128, 114)", - "salmon1": "rgb(255, 140, 105)", - "salmon2": "rgb(238, 130, 98)", - "salmon3": "rgb(205, 112, 84)", - "salmon4": "rgb(139, 76, 57)", - "sandybrown": "rgb(244, 164, 96)", - "seagreen": "rgb(46, 139, 87)", - "seagreen1": "rgb(84, 255, 159)", - "seagreen2": "rgb(78, 238, 148)", - "seagreen3": "rgb(67, 205, 128)", - "seagreen4": "rgb(46, 139, 87)", - "seashell": "rgb(255, 245, 238)", - "seashell1": "rgb(255, 245, 238)", - "seashell2": "rgb(238, 229, 222)", - "seashell3": "rgb(205, 197, 191)", - "seashell4": "rgb(139, 134, 130)", - "sienna": "rgb(160, 82, 45)", - "sienna1": "rgb(255, 130, 71)", - "sienna2": "rgb(238, 121, 66)", - "sienna3": "rgb(205, 104, 57)", - "sienna4": "rgb(139, 71, 38)", - "skyblue": "rgb(135, 206, 235)", - "skyblue1": "rgb(135, 206, 255)", - "skyblue2": "rgb(126, 192, 238)", - "skyblue3": "rgb(108, 166, 205)", - "skyblue4": "rgb(74, 112, 139)", - "slateblue": "rgb(106, 90, 205)", - "slateblue1": "rgb(131, 111, 255)", - "slateblue2": "rgb(122, 103, 238)", - "slateblue3": "rgb(105, 89, 205)", - "slateblue4": "rgb(71, 60, 139)", - "slategray": "rgb(112, 128, 144)", - "slategray1": "rgb(198, 226, 255)", - "slategray2": "rgb(185, 211, 238)", - "slategray3": "rgb(159, 182, 205)", - "slategray4": "rgb(108, 123, 139)", - "slategrey": "rgb(112, 128, 144)", - "snow": "rgb(255, 250, 250)", - "snow1": "rgb(255, 250, 250)", - "snow2": "rgb(238, 233, 233)", - "snow3": "rgb(205, 201, 201)", - "snow4": "rgb(139, 137, 137)", - "springgreen": "rgb(0, 255, 127)", - "springgreen1": "rgb(0, 255, 127)", - "springgreen2": "rgb(0, 238, 118)", - "springgreen3": "rgb(0, 205, 102)", - "springgreen4": "rgb(0, 139, 69)", - "steelblue": "rgb(70, 130, 180)", - "steelblue1": "rgb(99, 184, 255)", - "steelblue2": "rgb(92, 172, 238)", - "steelblue3": "rgb(79, 148, 205)", - "steelblue4": "rgb(54, 100, 139)", - "tan": "rgb(210, 180, 140)", - "tan1": "rgb(255, 165, 79)", - "tan2": "rgb(238, 154, 73)", - "tan3": "rgb(205, 133, 63)", - "tan4": "rgb(139, 90, 43)", - "thistle": "rgb(216, 191, 216)", - "thistle1": "rgb(255, 225, 255)", - "thistle2": "rgb(238, 210, 238)", - "thistle3": "rgb(205, 181, 205)", - "thistle4": "rgb(139, 123, 139)", - "tomato": "rgb(255, 99, 71)", - "tomato1": "rgb(255, 99, 71)", - "tomato2": "rgb(238, 92, 66)", - "tomato3": "rgb(205, 79, 57)", - "tomato4": "rgb(139, 54, 38)", - "turquoise": "rgb(64, 224, 208)", - "turquoise1": "rgb(0, 245, 255)", - "turquoise2": "rgb(0, 229, 238)", - "turquoise3": "rgb(0, 197, 205)", - "turquoise4": "rgb(0, 134, 139)", - "violet": "rgb(238, 130, 238)", - "violetred": "rgb(208, 32, 144)", - "violetred1": "rgb(255, 62, 150)", - "violetred2": "rgb(238, 58, 140)", - "violetred3": "rgb(205, 50, 120)", - "violetred4": "rgb(139, 34, 82)", - "wheat": "rgb(245, 222, 179)", - "wheat1": "rgb(255, 231, 186)", - "wheat2": "rgb(238, 216, 174)", - "wheat3": "rgb(205, 186, 150)", - "wheat4": "rgb(139, 126, 102)", - "white": "rgb(255, 255, 255)", - "whitesmoke": "rgb(245, 245, 245)", - "yellow": "rgb(255, 255, 0)", - "yellow1": "rgb(255, 255, 0)", - "yellow2": "rgb(238, 238, 0)", - "yellow3": "rgb(205, 205, 0)", - "yellow4": "rgb(139, 139, 0)", - "yellowgreen": "rgb(154, 205, 50)" -}; -// SOURCE FILE: libdot/js/lib_f.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -/** - * Grab bag of utility functions. - */ -lib.f = {}; - -/** - * Create a unique enum value. - * - * @suppress {lintChecks} - * @param {string} name A human friendly name for debugging. - * @return {Object} A unique enum that won't compare equal to anything else. - */ -lib.f.createEnum = function(name) { - // We use a String object as nothing else should be using them -- we want to - // use string primitives normally. But debuggers will include our name. - return new String(name); -}; - -/** - * Replace variable references in a string. - * - * Variables are of the form %FUNCTION(VARNAME). FUNCTION is an optional - * escape function to apply to the value. - * - * For example - * lib.f.replaceVars("%(greeting), %encodeURIComponent(name)", - * { greeting: "Hello", - * name: "Google+" }); - * - * Will result in "Hello, Google%2B". - */ -lib.f.replaceVars = function(str, vars) { - return str.replace(/%([a-z]*)\(([^\)]+)\)/gi, function(match, fn, varname) { - if (typeof vars[varname] == 'undefined') - throw 'Unknown variable: ' + varname; - - var rv = vars[varname]; - - if (fn in lib.f.replaceVars.functions) { - rv = lib.f.replaceVars.functions[fn](rv); - } else if (fn) { - throw 'Unknown escape function: ' + fn; - } - - return rv; - }); -}; - -/** - * Functions that can be used with replaceVars. - * - * Clients can add to this list to extend lib.f.replaceVars(). - */ -lib.f.replaceVars.functions = { - encodeURI: encodeURI, - encodeURIComponent: encodeURIComponent, - escapeHTML: function(str) { - var map = { - '<': '<', - '>': '>', - '&': '&', - '"': '"', - "'": ''' - }; - - return str.replace(/[<>&\"\']/g, function(m) { return map[m] }); - } -}; - -/** - * Get the list of accepted UI languages. - * - * @param {function(Array)} callback Function to invoke with the results. The - * parameter is a list of locale names. - */ -lib.f.getAcceptLanguages = function(callback) { - if (lib.f.getAcceptLanguages.chromeSupported()) { - chrome.i18n.getAcceptLanguages(callback); - } else { - setTimeout(function() { - callback([navigator.language.replace(/-/g, '_')]); - }, 0); - } -}; - -lib.f.getAcceptLanguages.chromeSupported = function() { - return window.chrome && chrome.i18n; -}; - -/** - * Parse a query string into a hash. - * - * This takes a url query string in the form 'name1=value&name2=value' and - * converts it into an object of the form { name1: 'value', name2: 'value' }. - * If a given name appears multiple times in the query string, only the - * last value will appear in the result. - * - * Names and values are passed through decodeURIComponent before being added - * to the result object. - * - * @param {string} queryString The string to parse. If it starts with a - * leading '?', the '?' will be ignored. - */ -lib.f.parseQuery = function(queryString) { - if (queryString.startsWith('?')) - queryString = queryString.substr(1); - - var rv = {}; - - var pairs = queryString.split('&'); - for (var i = 0; i < pairs.length; i++) { - var pair = pairs[i].split('='); - rv[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]); - } - - return rv; -}; - -lib.f.getURL = function(path) { - if (lib.f.getURL.chromeSupported()) - return chrome.runtime.getURL(path); - - return path; -}; - -lib.f.getURL.chromeSupported = function() { - return window.chrome && chrome.runtime && chrome.runtime.getURL; -}; - -/** - * Clamp a given integer to a specified range. - * - * @param {integer} v The value to be clamped. - * @param {integer} min The minimum acceptable value. - * @param {integer} max The maximum acceptable value. - */ -lib.f.clamp = function(v, min, max) { - if (v < min) - return min; - if (v > max) - return max; - return v; -}; - -/** - * Left pad a number to a given length with leading zeros. - * - * @param {string|integer} number The number to pad. - * @param {integer} length The desired length. - * @return {string} The padded number as a string. - */ -lib.f.zpad = function(number, length) { - return String(number).padStart(length, '0'); -}; - -/** - * Return a string containing a given number of space characters. - * - * This method maintains a static cache of the largest amount of whitespace - * ever requested. It shouldn't be used to generate an insanely huge amount of - * whitespace. - * - * @param {integer} length The desired amount of whitespace. - * @param {string} A string of spaces of the requested length. - */ -lib.f.getWhitespace = function(length) { - if (length <= 0) - return ''; - - var f = this.getWhitespace; - if (!f.whitespace) - f.whitespace = ' '; - - while (length > f.whitespace.length) { - f.whitespace += f.whitespace; - } - - return f.whitespace.substr(0, length); -}; - - /** - * Ensure that a function is called within a certain time limit. - * - * Simple usage looks like this... - * - * lib.registerInit(lib.f.alarm(onInit)); - * - * This will log a warning to the console if onInit() is not invoked within - * 5 seconds. - * - * If you're performing some operation that may take longer than 5 seconds you - * can pass a duration in milliseconds as the optional second parameter. - * - * If you pass a string identifier instead of a callback function, you'll get a - * wrapper generator rather than a single wrapper. Each call to the - * generator will return a wrapped version of the callback wired to - * a shared timeout. This is for cases where you want to ensure that at least - * one of a set of callbacks is invoked before a timeout expires. - * - * var alarm = lib.f.alarm('fetch object'); - * lib.foo.fetchObject(alarm(onSuccess), alarm(onFailure)); - * - * @param {function(*)} callback The function to wrap in an alarm. - * @param {int} opt_ms Optional number of milliseconds to wait before raising - * an alarm. Default is 5000 (5 seconds). - * @return {function} If callback is a function then the return value will be - * the wrapped callback. If callback is a string then the return value will - * be a function that generates new wrapped callbacks. - */ -lib.f.alarm = function(callback, opt_ms) { - var ms = opt_ms || 5 * 1000; - var stack = lib.f.getStack(1); - - return (function() { - // This outer function is called immediately. It's here to capture a new - // scope for the timeout variable. - - // The 'timeout' variable is shared by this timeout function, and the - // callback wrapper. - var timeout = setTimeout(function() { - var name = (typeof callback == 'string') ? name : callback.name; - name = name ? (': ' + name) : ''; - console.warn('lib.f.alarm: timeout expired: ' + (ms / 1000) + 's' + name); - console.log(stack); - timeout = null; - }, ms); - - var wrapperGenerator = function(callback) { - return function() { - if (timeout) { - clearTimeout(timeout); - timeout = null; - } - - return callback.apply(null, arguments); - } - }; - - if (typeof callback == 'string') - return wrapperGenerator; - - return wrapperGenerator(callback); - })(); -}; - -/** - * Return the current call stack after skipping a given number of frames. - * - * This method is intended to be used for debugging only. It returns an - * Object instead of an Array, because the console stringifies arrays by - * default and that's not what we want. - * - * A typical call might look like... - * - * console.log('Something wicked this way came', lib.f.getStack()); - * // Notice the comma ^ - * - * This would print the message to the js console, followed by an object - * which can be clicked to reveal the stack. - * - * @param {number} opt_ignoreFrames The optional number of stack frames to - * ignore. The actual 'getStack' call is always ignored. - */ -lib.f.getStack = function(opt_ignoreFrames) { - var ignoreFrames = opt_ignoreFrames ? opt_ignoreFrames + 2 : 2; - - var stackArray; - - try { - throw new Error(); - } catch (ex) { - stackArray = ex.stack.split('\n'); - } - - var stackObject = {}; - for (var i = ignoreFrames; i < stackArray.length; i++) { - stackObject[i - ignoreFrames] = stackArray[i].replace(/^\s*at\s+/, ''); - } - - return stackObject; -}; - -/** - * Divides the two numbers and floors the results, unless the remainder is less - * than an incredibly small value, in which case it returns the ceiling. - * This is useful when the number are truncated approximations of longer - * values, and so doing division with these numbers yields a result incredibly - * close to a whole number. - * - * @param {number} numerator - * @param {number} denominator - * @return {number} - */ -lib.f.smartFloorDivide = function(numerator, denominator) { - var val = numerator / denominator; - var ceiling = Math.ceil(val); - if (ceiling - val < .0001) { - return ceiling; - } else { - return Math.floor(val); - } -}; - -/** - * Get a random integer in a range (inclusive). - * - * @param {number} min The lowest integer in the range. - * @param {number} max The highest integer in the range. - * @return {number} A random number between min & max. - */ -lib.f.randomInt = function(min, max) { - return Math.floor(Math.random() * (max - min + 1)) + min; -}; -// SOURCE FILE: libdot/js/lib_message_manager.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -/** - * MessageManager class handles internationalized strings. - * - * Note: chrome.i18n isn't sufficient because... - * 1. There's a bug in chrome that makes it unavailable in iframes: - * https://crbug.com/130200 - * 2. The client code may not be packaged in a Chrome extension. - * 3. The client code may be part of a library packaged in a third-party - * Chrome extension. - * - * @param {Array} languages List of languages to load, in the order they - * should be loaded. Newer messages replace older ones. 'en' is - * automatically added as the first language if it is not already present. - */ -lib.MessageManager = function(languages) { - this.languages_ = languages.map( - function(el) { return el.replace(/-/g, '_') }); - - if (this.languages_.indexOf('en') == -1) - this.languages_.unshift('en'); - - this.messages = {}; -}; - -/** - * Add message definitions to the message manager. - * - * This takes an object of the same format of a Chrome messages.json file. See - * . - */ -lib.MessageManager.prototype.addMessages = function(defs) { - for (var key in defs) { - var def = defs[key]; - - if (!def.placeholders) { - this.messages[key] = def.message; - } else { - // Replace "$NAME$" placeholders with "$1", etc. - this.messages[key] = def.message.replace( - /\$([a-z][^\s\$]+)\$/ig, - function(m, name) { - return defs[key].placeholders[name.toLowerCase()].content; - }); - } - } -}; - -/** - * Load the first available language message bundle. - * - * @param {string} pattern A url pattern containing a "$1" where the locale - * name should go. - * @param {function(Array,Array)} onComplete Function to be called when loading - * is complete. The two arrays are the list of successful and failed - * locale names. If the first parameter is length 0, no locales were - * loaded. - */ -lib.MessageManager.prototype.findAndLoadMessages = function( - pattern, onComplete) { - var languages = this.languages_.concat(); - var loaded = []; - var failed = []; - - function onLanguageComplete(state) { - if (state) { - loaded = languages.shift(); - } else { - failed = languages.shift(); - } - - if (languages.length) { - tryNextLanguage(); - } else { - onComplete(loaded, failed); - } - } - - var tryNextLanguage = function() { - this.loadMessages(this.replaceReferences(pattern, languages), - onLanguageComplete.bind(this, true), - onLanguageComplete.bind(this, false)); - }.bind(this); - - tryNextLanguage(); -}; - -/** - * Load messages from a messages.json file. - */ -lib.MessageManager.prototype.loadMessages = function( - url, onSuccess, opt_onError) { - var xhr = new XMLHttpRequest(); - - xhr.onloadend = function() { - if (xhr.status != 200) { - if (opt_onError) - opt_onError(xhr.status); - - return; - } - - this.addMessages(JSON.parse(xhr.responseText)); - onSuccess(); - }.bind(this); - - xhr.open('GET', url); - xhr.send(); -}; - -/** - * Replace $1...$n references with the elements of the args array. - * - * @param {string} msg String containing the message and argument references. - * @param {Array} args Array containing the argument values. - */ -lib.MessageManager.replaceReferences = function(msg, args) { - return msg.replace(/\$(\d+)/g, function (m, index) { - return args[index - 1]; - }); -}; - -/** - * Per-instance copy of replaceReferences. - */ -lib.MessageManager.prototype.replaceReferences = - lib.MessageManager.replaceReferences; - -/** - * Get a message by name, optionally replacing arguments too. - * - * @param {string} msgname String containing the name of the message to get. - * @param {Array} opt_args Optional array containing the argument values. - * @param {string} opt_default Optional value to return if the msgname is not - * found. Returns the message name by default. - */ -lib.MessageManager.prototype.get = function(msgname, opt_args, opt_default) { - var message; - - if (msgname in this.messages) { - message = this.messages[msgname]; - - } else { - if (window.chrome.i18n) - message = chrome.i18n.getMessage(msgname); - - if (!message) { - console.warn('Unknown message: ' + msgname); - return (typeof opt_default == 'undefined') ? msgname : opt_default; - } - } - - if (!opt_args) - return message; - - if (!(opt_args instanceof Array)) - opt_args = [opt_args]; - - return this.replaceReferences(message, opt_args); -}; - -/** - * Process all of the "i18n" html attributes found in a given dom fragment. - * - * The real work happens in processI18nAttribute. - */ -lib.MessageManager.prototype.processI18nAttributes = function(dom) { - var nodes = dom.querySelectorAll('[i18n]'); - - for (var i = 0; i < nodes.length; i++) - this.processI18nAttribute(nodes[i]); -}; - -/** - * Process the "i18n" attribute in the specified node. - * - * The i18n attribute should contain a JSON object. The keys are taken to - * be attribute names, and the values are message names. - * - * If the JSON object has a "_" (underscore) key, its value is used as the - * textContent of the element. - * - * Message names can refer to other attributes on the same element with by - * prefixing with a dollar sign. For example... - * - * - * - * The aria-label message name will be computed as "SEND_BUTTON_ARIA_LABEL". - * Notice that the "id" attribute was appended to the target attribute, and - * the result converted to UPPER_AND_UNDER style. - */ -lib.MessageManager.prototype.processI18nAttribute = function(node) { - // Convert the "lower-and-dashes" attribute names into - // "UPPER_AND_UNDER" style. - function thunk(str) { return str.replace(/-/g, '_').toUpperCase() } - - var i18n = node.getAttribute('i18n'); - if (!i18n) - return; - - try { - i18n = JSON.parse(i18n); - } catch (ex) { - console.error('Can\'t parse ' + node.tagName + '#' + node.id + ': ' + i18n); - throw ex; - } - - // Load all the messages specified in the i18n attributes. - for (var key in i18n) { - // The node attribute we'll be setting. - var attr = key; - - var msgname = i18n[key]; - // For "=foo", re-use the referenced message name. - if (msgname.startsWith('=')) { - key = msgname.substr(1); - msgname = i18n[key]; - } - - // For "$foo", calculate the message name. - if (msgname.startsWith('$')) - msgname = thunk(node.getAttribute(msgname.substr(1)) + '_' + key); - - // Finally load the message. - var msg = this.get(msgname); - if (attr == '_') - node.textContent = msg; - else - node.setAttribute(attr, msg); - } -}; -// SOURCE FILE: libdot/js/lib_preference_manager.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -/** - * Constructor for lib.PreferenceManager objects. - * - * These objects deal with persisting changes to stable storage and notifying - * consumers when preferences change. - * - * It is intended that the backing store could be something other than HTML5 - * storage, but there aren't any use cases at the moment. In the future there - * may be a chrome api to store sync-able name/value pairs, and we'd want - * that. - * - * @param {lib.Storage.*} storage The storage object to use as a backing - * store. - * @param {string} opt_prefix The optional prefix to be used for all preference - * names. The '/' character should be used to separate levels of hierarchy, - * if you're going to have that kind of thing. If provided, the prefix - * should start with a '/'. If not provided, it defaults to '/'. - */ -lib.PreferenceManager = function(storage, opt_prefix) { - this.storage = storage; - this.storageObserver_ = this.onStorageChange_.bind(this); - - this.isActive_ = false; - this.activate(); - - this.trace = false; - - var prefix = opt_prefix || '/'; - if (!prefix.endsWith('/')) - prefix += '/'; - - this.prefix = prefix; - - this.prefRecords_ = {}; - this.globalObservers_ = []; - - this.childFactories_ = {}; - - // Map of list-name to {map of child pref managers} - // As in... - // - // this.childLists_ = { - // 'profile-ids': { - // 'one': PreferenceManager, - // 'two': PreferenceManager, - // ... - // }, - // - // 'frob-ids': { - // ... - // } - // } - this.childLists_ = {}; -}; - -/** - * Used internally to indicate that the current value of the preference should - * be taken from the default value defined with the preference. - * - * Equality tests against this value MUST use '===' or '!==' to be accurate. - */ -lib.PreferenceManager.prototype.DEFAULT_VALUE = lib.f.createEnum('DEFAULT'); - -/** - * An individual preference. - * - * These objects are managed by the PreferenceManager, you shouldn't need to - * handle them directly. - */ -lib.PreferenceManager.Record = function(name, defaultValue) { - this.name = name; - this.defaultValue = defaultValue; - this.currentValue = this.DEFAULT_VALUE; - this.observers = []; -}; - -/** - * A local copy of the DEFAULT_VALUE constant to make it less verbose. - */ -lib.PreferenceManager.Record.prototype.DEFAULT_VALUE = - lib.PreferenceManager.prototype.DEFAULT_VALUE; - -/** - * Register a callback to be invoked when this preference changes. - * - * @param {function(value, string, lib.PreferenceManager} observer The function - * to invoke. It will receive the new value, the name of the preference, - * and a reference to the PreferenceManager as parameters. - */ -lib.PreferenceManager.Record.prototype.addObserver = function(observer) { - this.observers.push(observer); -}; - -/** - * Unregister an observer callback. - * - * @param {function} observer A previously registered callback. - */ -lib.PreferenceManager.Record.prototype.removeObserver = function(observer) { - var i = this.observers.indexOf(observer); - if (i >= 0) - this.observers.splice(i, 1); -}; - -/** - * Fetch the value of this preference. - */ -lib.PreferenceManager.Record.prototype.get = function() { - if (this.currentValue === this.DEFAULT_VALUE) { - if (/^(string|number)$/.test(typeof this.defaultValue)) - return this.defaultValue; - - if (typeof this.defaultValue == 'object') { - // We want to return a COPY of the default value so that users can - // modify the array or object without changing the default value. - return JSON.parse(JSON.stringify(this.defaultValue)); - } - - return this.defaultValue; - } - - return this.currentValue; -}; - -/** - * Stop this preference manager from tracking storage changes. - * - * Call this if you're going to swap out one preference manager for another so - * that you don't get notified about irrelevant changes. - */ -lib.PreferenceManager.prototype.deactivate = function() { - if (!this.isActive_) - throw new Error('Not activated'); - - this.isActive_ = false; - this.storage.removeObserver(this.storageObserver_); -}; - -/** - * Start tracking storage changes. - * - * If you previously deactivated this preference manager, you can reactivate it - * with this method. You don't need to call this at initialization time, as - * it's automatically called as part of the constructor. - */ -lib.PreferenceManager.prototype.activate = function() { - if (this.isActive_) - throw new Error('Already activated'); - - this.isActive_ = true; - this.storage.addObserver(this.storageObserver_); -}; - -/** - * Read the backing storage for these preferences. - * - * You should do this once at initialization time to prime the local cache - * of preference values. The preference manager will monitor the backing - * storage for changes, so you should not need to call this more than once. - * - * This function recursively reads storage for all child preference managers as - * well. - * - * This function is asynchronous, if you need to read preference values, you - * *must* wait for the callback. - * - * @param {function()} opt_callback Optional function to invoke when the read - * has completed. - */ -lib.PreferenceManager.prototype.readStorage = function(opt_callback) { - var pendingChildren = 0; - - function onChildComplete() { - if (--pendingChildren == 0 && opt_callback) - opt_callback(); - } - - var keys = Object.keys(this.prefRecords_).map( - function(el) { return this.prefix + el }.bind(this)); - - if (this.trace) - console.log('Preferences read: ' + this.prefix); - - this.storage.getItems(keys, function(items) { - var prefixLength = this.prefix.length; - - for (var key in items) { - var value = items[key]; - var name = key.substr(prefixLength); - var needSync = (name in this.childLists_ && - (JSON.stringify(value) != - JSON.stringify(this.prefRecords_[name].currentValue))); - - this.prefRecords_[name].currentValue = value; - - if (needSync) { - pendingChildren++; - this.syncChildList(name, onChildComplete); - } - } - - if (pendingChildren == 0 && opt_callback) - setTimeout(opt_callback); - }.bind(this)); -}; - -/** - * Define a preference. - * - * This registers a name, default value, and onChange handler for a preference. - * - * @param {string} name The name of the preference. This will be prefixed by - * the prefix of this PreferenceManager before written to local storage. - * @param {string|number|boolean|Object|Array|null} value The default value of - * this preference. Anything that can be represented in JSON is a valid - * default value. - * @param {function(value, string, lib.PreferenceManager} opt_observer A - * function to invoke when the preference changes. It will receive the new - * value, the name of the preference, and a reference to the - * PreferenceManager as parameters. - */ -lib.PreferenceManager.prototype.definePreference = function( - name, value, opt_onChange) { - - var record = this.prefRecords_[name]; - if (record) { - this.changeDefault(name, value); - } else { - record = this.prefRecords_[name] = - new lib.PreferenceManager.Record(name, value); - } - - if (opt_onChange) - record.addObserver(opt_onChange); -}; - -/** - * Define multiple preferences with a single function call. - * - * @param {Array} defaults An array of 3-element arrays. Each three element - * array should contain the [key, value, onChange] parameters for a - * preference. - */ -lib.PreferenceManager.prototype.definePreferences = function(defaults) { - for (var i = 0; i < defaults.length; i++) { - this.definePreference(defaults[i][0], defaults[i][1], defaults[i][2]); - } -}; - -/** - * Define an ordered list of child preferences. - * - * Child preferences are different from just storing an array of JSON objects - * in that each child is an instance of a preference manager. This means you - * can observe changes to individual child preferences, and get some validation - * that you're not reading or writing to an undefined child preference value. - * - * @param {string} listName A name for the list of children. This must be - * unique in this preference manager. The listName will become a - * preference on this PreferenceManager used to store the ordered list of - * child ids. It is also used in get/add/remove operations to identify the - * list of children to operate on. - * @param {function} childFactory A function that will be used to generate - * instances of these children. The factory function will receive the - * parent lib.PreferenceManager object and a unique id for the new child - * preferences. - */ -lib.PreferenceManager.prototype.defineChildren = function( - listName, childFactory) { - - // Define a preference to hold the ordered list of child ids. - this.definePreference(listName, [], - this.onChildListChange_.bind(this, listName)); - this.childFactories_[listName] = childFactory; - this.childLists_[listName] = {}; -}; - -/** - * Register to observe preference changes. - * - * @param {Function} global A callback that will happen for every preference. - * Pass null if you don't need one. - * @param {Object} map A map of preference specific callbacks. Pass null if - * you don't need any. - */ -lib.PreferenceManager.prototype.addObservers = function(global, map) { - if (global && typeof global != 'function') - throw new Error('Invalid param: globals'); - - if (global) - this.globalObservers_.push(global); - - if (!map) - return; - - for (var name in map) { - if (!(name in this.prefRecords_)) - throw new Error('Unknown preference: ' + name); - - this.prefRecords_[name].addObserver(map[name]); - } -}; - -/** - * Dispatch the change observers for all known preferences. - * - * It may be useful to call this after readStorage completes, in order to - * get application state in sync with user preferences. - * - * This can be used if you've changed a preference manager out from under - * a live object, for example when switching to a different prefix. - */ -lib.PreferenceManager.prototype.notifyAll = function() { - for (var name in this.prefRecords_) { - this.notifyChange_(name); - } -}; - -/** - * Notify the change observers for a given preference. - * - * @param {string} name The name of the preference that changed. - */ -lib.PreferenceManager.prototype.notifyChange_ = function(name) { - var record = this.prefRecords_[name]; - if (!record) - throw new Error('Unknown preference: ' + name); - - var currentValue = record.get(); - - for (var i = 0; i < this.globalObservers_.length; i++) - this.globalObservers_[i](name, currentValue); - - for (var i = 0; i < record.observers.length; i++) { - record.observers[i](currentValue, name, this); - } -}; - -/** - * Create a new child PreferenceManager for the given child list. - * - * The optional hint parameter is an opaque prefix added to the auto-generated - * unique id for this child. Your child factory can parse out the prefix - * and use it. - * - * @param {string} listName The child list to create the new instance from. - * @param {string} opt_hint Optional hint to include in the child id. - * @param {string} opt_id Optional id to override the generated id. - */ -lib.PreferenceManager.prototype.createChild = function(listName, opt_hint, - opt_id) { - var ids = this.get(listName); - var id; - - if (opt_id) { - id = opt_id; - if (ids.indexOf(id) != -1) - throw new Error('Duplicate child: ' + listName + ': ' + id); - - } else { - // Pick a random, unique 4-digit hex identifier for the new profile. - while (!id || ids.indexOf(id) != -1) { - id = lib.f.randomInt(1, 0xffff).toString(16); - id = lib.f.zpad(id, 4); - if (opt_hint) - id = opt_hint + ':' + id; - } - } - - var childManager = this.childFactories_[listName](this, id); - childManager.trace = this.trace; - childManager.resetAll(); - - this.childLists_[listName][id] = childManager; - - ids.push(id); - this.set(listName, ids); - - return childManager; -}; - -/** - * Remove a child preferences instance. - * - * Removes a child preference manager and clears any preferences stored in it. - * - * @param {string} listName The name of the child list containing the child to - * remove. - * @param {string} id The child ID. - */ -lib.PreferenceManager.prototype.removeChild = function(listName, id) { - var prefs = this.getChild(listName, id); - prefs.resetAll(); - - var ids = this.get(listName); - var i = ids.indexOf(id); - if (i != -1) { - ids.splice(i, 1); - this.set(listName, ids); - } - - delete this.childLists_[listName][id]; -}; - -/** - * Return a child PreferenceManager instance for a given id. - * - * If the child list or child id is not known this will return the specified - * default value or throw an exception if no default value is provided. - * - * @param {string} listName The child list to look in. - * @param {string} id The child ID. - * @param {*} opt_default The optional default value to return if the child - * is not found. - */ -lib.PreferenceManager.prototype.getChild = function(listName, id, opt_default) { - if (!(listName in this.childLists_)) - throw new Error('Unknown child list: ' + listName); - - var childList = this.childLists_[listName]; - if (!(id in childList)) { - if (typeof opt_default == 'undefined') - throw new Error('Unknown "' + listName + '" child: ' + id); - - return opt_default; - } - - return childList[id]; -}; - -/** - * Calculate the difference between two lists of child ids. - * - * Given two arrays of child ids, this function will return an object - * with "added", "removed", and "common" properties. Each property is - * a map of child-id to `true`. For example, given... - * - * a = ['child-x', 'child-y'] - * b = ['child-y'] - * - * diffChildLists(a, b) => - * { added: { 'child-x': true }, removed: {}, common: { 'child-y': true } } - * - * The added/removed properties assume that `a` is the current list. - * - * @param {Array[string]} a The most recent list of child ids. - * @param {Array[string]} b An older list of child ids. - * @return {Object} An object with added/removed/common properties. - */ -lib.PreferenceManager.diffChildLists = function(a, b) { - var rv = { - added: {}, - removed: {}, - common: {}, - }; - - for (var i = 0; i < a.length; i++) { - if (b.indexOf(a[i]) != -1) { - rv.common[a[i]] = true; - } else { - rv.added[a[i]] = true; - } - } - - for (var i = 0; i < b.length; i++) { - if ((b[i] in rv.added) || (b[i] in rv.common)) - continue; - - rv.removed[b[i]] = true; - } - - return rv; -}; - -/** - * Synchronize a list of child PreferenceManagers instances with the current - * list stored in prefs. - * - * This will instantiate any missing managers and read current preference values - * from storage. Any active managers that no longer appear in preferences will - * be deleted. - * - * @param {string} listName The child list to synchronize. - * @param {function()} opt_callback Optional function to invoke when the sync - * is complete. - */ -lib.PreferenceManager.prototype.syncChildList = function( - listName, opt_callback) { - - var pendingChildren = 0; - function onChildStorage() { - if (--pendingChildren == 0 && opt_callback) - opt_callback(); - } - - // The list of child ids that we *should* have a manager for. - var currentIds = this.get(listName); - - // The known managers at the start of the sync. Any manager still in this - // list at the end should be discarded. - var oldIds = Object.keys(this.childLists_[listName]); - - var rv = lib.PreferenceManager.diffChildLists(currentIds, oldIds); - - for (var i = 0; i < currentIds.length; i++) { - var id = currentIds[i]; - - var managerIndex = oldIds.indexOf(id); - if (managerIndex >= 0) - oldIds.splice(managerIndex, 1); - - if (!this.childLists_[listName][id]) { - var childManager = this.childFactories_[listName](this, id); - if (!childManager) { - console.warn('Unable to restore child: ' + listName + ': ' + id); - continue; - } - - childManager.trace = this.trace; - this.childLists_[listName][id] = childManager; - pendingChildren++; - childManager.readStorage(onChildStorage); - } - } - - for (var i = 0; i < oldIds.length; i++) { - delete this.childLists_[listName][oldIds[i]]; - } - - if (!pendingChildren && opt_callback) - setTimeout(opt_callback); -}; - -/** - * Reset a preference to its default state. - * - * This will dispatch the onChange handler if the preference value actually - * changes. - * - * @param {string} name The preference to reset. - */ -lib.PreferenceManager.prototype.reset = function(name) { - var record = this.prefRecords_[name]; - if (!record) - throw new Error('Unknown preference: ' + name); - - this.storage.removeItem(this.prefix + name); - - if (record.currentValue !== this.DEFAULT_VALUE) { - record.currentValue = this.DEFAULT_VALUE; - this.notifyChange_(name); - } -}; - -/** - * Reset all preferences back to their default state. - */ -lib.PreferenceManager.prototype.resetAll = function() { - var changed = []; - - for (var listName in this.childLists_) { - var childList = this.childLists_[listName]; - for (var id in childList) { - childList[id].resetAll(); - } - } - - for (var name in this.prefRecords_) { - if (this.prefRecords_[name].currentValue !== this.DEFAULT_VALUE) { - this.prefRecords_[name].currentValue = this.DEFAULT_VALUE; - changed.push(name); - } - } - - var keys = Object.keys(this.prefRecords_).map(function(el) { - return this.prefix + el; - }.bind(this)); - - this.storage.removeItems(keys); - - changed.forEach(this.notifyChange_.bind(this)); -}; - -/** - * Return true if two values should be considered not-equal. - * - * If both values are the same scalar type and compare equal this function - * returns false (no difference), otherwise return true. - * - * This is used in places where we want to check if a preference has changed. - * Rather than take the time to compare complex values we just consider them - * to always be different. - * - * @param {*} a A value to compare. - * @param {*} b A value to compare. - */ -lib.PreferenceManager.prototype.diff = function(a, b) { - // If the types are different, or the type is not a simple primitive one. - if ((typeof a) !== (typeof b) || - !(/^(undefined|boolean|number|string)$/.test(typeof a))) { - return true; - } - - return a !== b; -}; - -/** - * Change the default value of a preference. - * - * This is useful when subclassing preference managers. - * - * The function does not alter the current value of the preference, unless - * it has the old default value. When that happens, the change observers - * will be notified. - * - * @param {string} name The name of the parameter to change. - * @param {*} newValue The new default value for the preference. - */ -lib.PreferenceManager.prototype.changeDefault = function(name, newValue) { - var record = this.prefRecords_[name]; - if (!record) - throw new Error('Unknown preference: ' + name); - - if (!this.diff(record.defaultValue, newValue)) { - // Default value hasn't changed. - return; - } - - if (record.currentValue !== this.DEFAULT_VALUE) { - // This pref has a specific value, just change the default and we're done. - record.defaultValue = newValue; - return; - } - - record.defaultValue = newValue; - - this.notifyChange_(name); -}; - -/** - * Change the default value of multiple preferences. - * - * @param {Object} map A map of name -> value pairs specifying the new default - * values. - */ -lib.PreferenceManager.prototype.changeDefaults = function(map) { - for (var key in map) { - this.changeDefault(key, map[key]); - } -}; - -/** - * Set a preference to a specific value. - * - * This will dispatch the onChange handler if the preference value actually - * changes. - * - * @param {string} key The preference to set. - * @param {*} value The value to set. Anything that can be represented in - * JSON is a valid value. - */ -lib.PreferenceManager.prototype.set = function(name, newValue) { - var record = this.prefRecords_[name]; - if (!record) - throw new Error('Unknown preference: ' + name); - - var oldValue = record.get(); - - if (!this.diff(oldValue, newValue)) - return; - - if (this.diff(record.defaultValue, newValue)) { - record.currentValue = newValue; - this.storage.setItem(this.prefix + name, newValue); - } else { - record.currentValue = this.DEFAULT_VALUE; - this.storage.removeItem(this.prefix + name); - } - - // We need to manually send out the notification on this instance. If we - // The storage event won't fire a notification because we've already changed - // the currentValue, so it won't see a difference. If we delayed changing - // currentValue until the storage event, a pref read immediately after a write - // would return the previous value. - // - // The notification is in a timeout so clients don't accidentally depend on - // a synchronous notification. - setTimeout(this.notifyChange_.bind(this, name), 0); -}; - -/** - * Get the value of a preference. - * - * @param {string} key The preference to get. - */ -lib.PreferenceManager.prototype.get = function(name) { - var record = this.prefRecords_[name]; - if (!record) - throw new Error('Unknown preference: ' + name); - - return record.get(); -}; - -/** - * Return all non-default preferences as a JSON object. - * - * This includes any nested preference managers as well. - */ -lib.PreferenceManager.prototype.exportAsJson = function() { - var rv = {}; - - for (var name in this.prefRecords_) { - if (name in this.childLists_) { - rv[name] = []; - var childIds = this.get(name); - for (var i = 0; i < childIds.length; i++) { - var id = childIds[i]; - rv[name].push({id: id, json: this.getChild(name, id).exportAsJson()}); - } - - } else { - var record = this.prefRecords_[name]; - if (record.currentValue != this.DEFAULT_VALUE) - rv[name] = record.currentValue; - } - } - - return rv; -}; - -/** - * Import a JSON blob of preferences previously generated with exportAsJson. - * - * This will create nested preference managers as well. - */ -lib.PreferenceManager.prototype.importFromJson = function(json) { - for (var name in json) { - if (name in this.childLists_) { - var childList = json[name]; - for (var i = 0; i < childList.length; i++) { - var id = childList[i].id; - - var childPrefManager = this.childLists_[name][id]; - if (!childPrefManager) - childPrefManager = this.createChild(name, null, id); - - childPrefManager.importFromJson(childList[i].json); - } - - } else { - this.set(name, json[name]); - } - } -}; - -/** - * Called when one of the child list preferences changes. - */ -lib.PreferenceManager.prototype.onChildListChange_ = function(listName) { - this.syncChildList(listName); -}; - -/** - * Called when a key in the storage changes. - */ -lib.PreferenceManager.prototype.onStorageChange_ = function(map) { - for (var key in map) { - if (this.prefix) { - if (key.lastIndexOf(this.prefix, 0) != 0) - continue; - } - - var name = key.substr(this.prefix.length); - - if (!(name in this.prefRecords_)) { - // Sometimes we'll get notified about prefs that are no longer defined. - continue; - } - - var record = this.prefRecords_[name]; - - var newValue = map[key].newValue; - var currentValue = record.currentValue; - if (currentValue === record.DEFAULT_VALUE) - currentValue = (void 0); - - if (this.diff(currentValue, newValue)) { - if (typeof newValue == 'undefined' || newValue === null) { - record.currentValue = record.DEFAULT_VALUE; - } else { - record.currentValue = newValue; - } - - this.notifyChange_(name); - } - } -}; -// SOURCE FILE: libdot/js/lib_resource.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -/** - * Storage for canned resources. - * - * These are usually non-JavaScript things that are collected during a build - * step and converted into a series of 'lib.resource.add(...)' calls. See - * the "@resource" directive from libdot/bin/concat.sh for the canonical use - * case. - * - * This is global storage, so you should prefix your resource names to avoid - * collisions. - */ -lib.resource = { - resources_: {} -}; - -/** - * Add a resource. - * - * @param {string} name A name for the resource. You should prefix this to - * avoid collisions with resources from a shared library. - * @param {string} type A mime type for the resource, or "raw" if not - * applicable. - * @param {*} data The value of the resource. - */ -lib.resource.add = function(name, type, data) { - lib.resource.resources_[name] = { - type: type, - name: name, - data: data - }; -}; - -/** - * Retrieve a resource record. - * - * The resource data is stored on the "data" property of the returned object. - * - * @param {string} name The name of the resource to get. - * @param {*} opt_defaultValue The optional value to return if the resource is - * not defined. - * @return {object} An object with "type", "name", and "data" properties. - */ -lib.resource.get = function(name, opt_defaultValue) { - if (!(name in lib.resource.resources_)) { - if (typeof opt_defaultValue == 'undefined') - throw 'Unknown resource: ' + name; - - return opt_defaultValue; - } - - return lib.resource.resources_[name]; -}; - -/** - * Retrieve resource data. - * - * @param {string} name The name of the resource to get. - * @param {*} opt_defaultValue The optional value to return if the resource is - * not defined. - * @return {*} The resource data. - */ -lib.resource.getData = function(name, opt_defaultValue) { - if (!(name in lib.resource.resources_)) { - if (typeof opt_defaultValue == 'undefined') - throw 'Unknown resource: ' + name; - - return opt_defaultValue; - } - - return lib.resource.resources_[name].data; -}; - -/** - * Retrieve resource as a data: url. - * - * @param {string} name The name of the resource to get. - * @param {*} opt_defaultValue The optional value to return if the resource is - * not defined. - * @return {*} A data: url encoded version of the resource. - */ -lib.resource.getDataUrl = function(name, opt_defaultValue) { - var resource = lib.resource.get(name, opt_defaultValue); - return 'data:' + resource.type + ',' + resource.data; -}; -// SOURCE FILE: libdot/js/lib_storage.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -/** - * Namespace for implementations of persistent, possibly cloud-backed - * storage. - */ -lib.Storage = new Object(); -// SOURCE FILE: libdot/js/lib_storage_chrome.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -/** - * chrome.storage based class with an async interface that is interchangeable - * with other lib.Storage.* implementations. - */ -lib.Storage.Chrome = function(storage) { - this.storage_ = storage; - this.observers_ = []; - - chrome.storage.onChanged.addListener(this.onChanged_.bind(this)); -}; - -/** - * Called by the storage implementation when the storage is modified. - */ -lib.Storage.Chrome.prototype.onChanged_ = function(changes, areaname) { - if (chrome.storage[areaname] != this.storage_) - return; - - for (var i = 0; i < this.observers_.length; i++) { - this.observers_[i](changes); - } -}; - -/** - * Register a function to observe storage changes. - * - * @param {function(map)} callback The function to invoke when the storage - * changes. - */ -lib.Storage.Chrome.prototype.addObserver = function(callback) { - this.observers_.push(callback); -}; - -/** - * Unregister a change observer. - * - * @param {function} observer A previously registered callback. - */ -lib.Storage.Chrome.prototype.removeObserver = function(callback) { - var i = this.observers_.indexOf(callback); - if (i != -1) - this.observers_.splice(i, 1); -}; - -/** - * Delete everything in this storage. - * - * @param {function(map)} callback The function to invoke when the delete - * has completed. - */ -lib.Storage.Chrome.prototype.clear = function(opt_callback) { - this.storage_.clear(); - - if (opt_callback) - setTimeout(opt_callback, 0); -}; - -/** - * Return the current value of a storage item. - * - * @param {string} key The key to look up. - * @param {function(value) callback The function to invoke when the value has - * been retrieved. - */ -lib.Storage.Chrome.prototype.getItem = function(key, callback) { - this.storage_.get(key, callback); -}; -/** - * Fetch the values of multiple storage items. - * - * @param {Array} keys The keys to look up. - * @param {function(map) callback The function to invoke when the values have - * been retrieved. - */ - -lib.Storage.Chrome.prototype.getItems = function(keys, callback) { - this.storage_.get(keys, callback); -}; - -/** - * Set a value in storage. - * - * @param {string} key The key for the value to be stored. - * @param {*} value The value to be stored. Anything that can be serialized - * with JSON is acceptable. - * @param {function()} opt_callback Optional function to invoke when the - * set is complete. You don't have to wait for the set to complete in order - * to read the value, since the local cache is updated synchronously. - */ -lib.Storage.Chrome.prototype.setItem = function(key, value, opt_callback) { - var obj = {}; - obj[key] = value; - this.storage_.set(obj, opt_callback); -}; - -/** - * Set multiple values in storage. - * - * @param {Object} map A map of key/values to set in storage. - * @param {function()} opt_callback Optional function to invoke when the - * set is complete. You don't have to wait for the set to complete in order - * to read the value, since the local cache is updated synchronously. - */ -lib.Storage.Chrome.prototype.setItems = function(obj, opt_callback) { - this.storage_.set(obj, opt_callback); -}; - -/** - * Remove an item from storage. - * - * @param {string} key The key to be removed. - * @param {function()} opt_callback Optional function to invoke when the - * remove is complete. You don't have to wait for the set to complete in - * order to read the value, since the local cache is updated synchronously. - */ -lib.Storage.Chrome.prototype.removeItem = function(key, opt_callback) { - this.storage_.remove(key, opt_callback); -}; - -/** - * Remove multiple items from storage. - * - * @param {Array} keys The keys to be removed. - * @param {function()} opt_callback Optional function to invoke when the - * remove is complete. You don't have to wait for the set to complete in - * order to read the value, since the local cache is updated synchronously. - */ -lib.Storage.Chrome.prototype.removeItems = function(keys, opt_callback) { - this.storage_.remove(keys, opt_callback); -}; -// SOURCE FILE: libdot/js/lib_storage_local.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -/** - * window.localStorage based class with an async interface that is - * interchangeable with other lib.Storage.* implementations. - */ -lib.Storage.Local = function() { - this.observers_ = []; - this.storage_ = window.localStorage; - window.addEventListener('storage', this.onStorage_.bind(this)); -}; - -/** - * Called by the storage implementation when the storage is modified. - */ -lib.Storage.Local.prototype.onStorage_ = function(e) { - if (e.storageArea != this.storage_) - return; - - // JS throws an exception if JSON.parse is given an empty string. So here we - // only parse if the value is truthy. This mean the empty string, undefined - // and null will not be parsed. - var prevValue = e.oldValue ? JSON.parse(e.oldValue) : e.oldValue; - var curValue = e.newValue ? JSON.parse(e.newValue) : e.newValue; - var o = {}; - o[e.key] = { - oldValue: prevValue, - newValue: curValue - }; - - for (var i = 0; i < this.observers_.length; i++) { - this.observers_[i](o); - } -}; - -/** - * Register a function to observe storage changes. - * - * @param {function(map)} callback The function to invoke when the storage - * changes. - */ -lib.Storage.Local.prototype.addObserver = function(callback) { - this.observers_.push(callback); -}; - -/** - * Unregister a change observer. - * - * @param {function} observer A previously registered callback. - */ -lib.Storage.Local.prototype.removeObserver = function(callback) { - var i = this.observers_.indexOf(callback); - if (i != -1) - this.observers_.splice(i, 1); -}; - -/** - * Delete everything in this storage. - * - * @param {function(map)} callback The function to invoke when the delete - * has completed. - */ -lib.Storage.Local.prototype.clear = function(opt_callback) { - this.storage_.clear(); - - if (opt_callback) - setTimeout(opt_callback, 0); -}; - -/** - * Return the current value of a storage item. - * - * @param {string} key The key to look up. - * @param {function(value) callback The function to invoke when the value has - * been retrieved. - */ -lib.Storage.Local.prototype.getItem = function(key, callback) { - var value = this.storage_.getItem(key); - - if (typeof value == 'string') { - try { - value = JSON.parse(value); - } catch (e) { - // If we can't parse the value, just return it unparsed. - } - } - - setTimeout(callback.bind(null, value), 0); -}; - -/** - * Fetch the values of multiple storage items. - * - * @param {Array} keys The keys to look up. - * @param {function(map) callback The function to invoke when the values have - * been retrieved. - */ -lib.Storage.Local.prototype.getItems = function(keys, callback) { - var rv = {}; - - for (var i = keys.length - 1; i >= 0; i--) { - var key = keys[i]; - var value = this.storage_.getItem(key); - if (typeof value == 'string') { - try { - rv[key] = JSON.parse(value); - } catch (e) { - // If we can't parse the value, just return it unparsed. - rv[key] = value; - } - } else { - keys.splice(i, 1); - } - } - - setTimeout(callback.bind(null, rv), 0); -}; - -/** - * Set a value in storage. - * - * @param {string} key The key for the value to be stored. - * @param {*} value The value to be stored. Anything that can be serialized - * with JSON is acceptable. - * @param {function()} opt_callback Optional function to invoke when the - * set is complete. You don't have to wait for the set to complete in order - * to read the value, since the local cache is updated synchronously. - */ -lib.Storage.Local.prototype.setItem = function(key, value, opt_callback) { - this.storage_.setItem(key, JSON.stringify(value)); - - if (opt_callback) - setTimeout(opt_callback, 0); -}; - -/** - * Set multiple values in storage. - * - * @param {Object} map A map of key/values to set in storage. - * @param {function()} opt_callback Optional function to invoke when the - * set is complete. You don't have to wait for the set to complete in order - * to read the value, since the local cache is updated synchronously. - */ -lib.Storage.Local.prototype.setItems = function(obj, opt_callback) { - for (var key in obj) { - this.storage_.setItem(key, JSON.stringify(obj[key])); - } - - if (opt_callback) - setTimeout(opt_callback, 0); -}; - -/** - * Remove an item from storage. - * - * @param {string} key The key to be removed. - * @param {function()} opt_callback Optional function to invoke when the - * remove is complete. You don't have to wait for the set to complete in - * order to read the value, since the local cache is updated synchronously. - */ -lib.Storage.Local.prototype.removeItem = function(key, opt_callback) { - this.storage_.removeItem(key); - - if (opt_callback) - setTimeout(opt_callback, 0); -}; - -/** - * Remove multiple items from storage. - * - * @param {Array} keys The keys to be removed. - * @param {function()} opt_callback Optional function to invoke when the - * remove is complete. You don't have to wait for the set to complete in - * order to read the value, since the local cache is updated synchronously. - */ -lib.Storage.Local.prototype.removeItems = function(ary, opt_callback) { - for (var i = 0; i < ary.length; i++) { - this.storage_.removeItem(ary[i]); - } - - if (opt_callback) - setTimeout(opt_callback, 0); -}; -// SOURCE FILE: libdot/js/lib_storage_memory.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -/** - * In-memory storage class with an async interface that is interchangeable with - * other lib.Storage.* implementations. - */ -lib.Storage.Memory = function() { - this.observers_ = []; - this.storage_ = {}; -}; - -/** - * Register a function to observe storage changes. - * - * @param {function(map)} callback The function to invoke when the storage - * changes. - */ -lib.Storage.Memory.prototype.addObserver = function(callback) { - this.observers_.push(callback); -}; - -/** - * Unregister a change observer. - * - * @param {function} observer A previously registered callback. - */ -lib.Storage.Memory.prototype.removeObserver = function(callback) { - var i = this.observers_.indexOf(callback); - if (i != -1) - this.observers_.splice(i, 1); -}; - -/** - * Delete everything in this storage. - * - * @param {function(map)} callback The function to invoke when the delete - * has completed. - */ -lib.Storage.Memory.prototype.clear = function(opt_callback) { - var e = {}; - for (var key in this.storage_) { - e[key] = {oldValue: this.storage_[key], newValue: (void 0)}; - } - - this.storage_ = {}; - - setTimeout(function() { - for (var i = 0; i < this.observers_.length; i++) { - this.observers_[i](e); - } - }.bind(this), 0); - - if (opt_callback) - setTimeout(opt_callback, 0); -}; - -/** - * Return the current value of a storage item. - * - * @param {string} key The key to look up. - * @param {function(value) callback The function to invoke when the value has - * been retrieved. - */ -lib.Storage.Memory.prototype.getItem = function(key, callback) { - var value = this.storage_[key]; - - if (typeof value == 'string') { - try { - value = JSON.parse(value); - } catch (e) { - // If we can't parse the value, just return it unparsed. - } - } - - setTimeout(callback.bind(null, value), 0); -}; - -/** - * Fetch the values of multiple storage items. - * - * @param {Array} keys The keys to look up. - * @param {function(map) callback The function to invoke when the values have - * been retrieved. - */ -lib.Storage.Memory.prototype.getItems = function(keys, callback) { - var rv = {}; - - for (var i = keys.length - 1; i >= 0; i--) { - var key = keys[i]; - var value = this.storage_[key]; - if (typeof value == 'string') { - try { - rv[key] = JSON.parse(value); - } catch (e) { - // If we can't parse the value, just return it unparsed. - rv[key] = value; - } - } else { - keys.splice(i, 1); - } - } - - setTimeout(callback.bind(null, rv), 0); -}; - -/** - * Set a value in storage. - * - * @param {string} key The key for the value to be stored. - * @param {*} value The value to be stored. Anything that can be serialized - * with JSON is acceptable. - * @param {function()} opt_callback Optional function to invoke when the - * set is complete. You don't have to wait for the set to complete in order - * to read the value, since the local cache is updated synchronously. - */ -lib.Storage.Memory.prototype.setItem = function(key, value, opt_callback) { - var oldValue = this.storage_[key]; - this.storage_[key] = JSON.stringify(value); - - var e = {}; - e[key] = {oldValue: oldValue, newValue: value}; - - setTimeout(function() { - for (var i = 0; i < this.observers_.length; i++) { - this.observers_[i](e); - } - }.bind(this), 0); - - if (opt_callback) - setTimeout(opt_callback, 0); -}; - -/** - * Set multiple values in storage. - * - * @param {Object} map A map of key/values to set in storage. - * @param {function()} opt_callback Optional function to invoke when the - * set is complete. You don't have to wait for the set to complete in order - * to read the value, since the local cache is updated synchronously. - */ -lib.Storage.Memory.prototype.setItems = function(obj, opt_callback) { - var e = {}; - - for (var key in obj) { - e[key] = {oldValue: this.storage_[key], newValue: obj[key]}; - this.storage_[key] = JSON.stringify(obj[key]); - } - - setTimeout(function() { - for (var i = 0; i < this.observers_.length; i++) { - this.observers_[i](e); - } - }.bind(this)); - - if (opt_callback) - setTimeout(opt_callback, 0); -}; - -/** - * Remove an item from storage. - * - * @param {string} key The key to be removed. - * @param {function()} opt_callback Optional function to invoke when the - * remove is complete. You don't have to wait for the set to complete in - * order to read the value, since the local cache is updated synchronously. - */ -lib.Storage.Memory.prototype.removeItem = function(key, opt_callback) { - delete this.storage_[key]; - - if (opt_callback) - setTimeout(opt_callback, 0); -}; - -/** - * Remove multiple items from storage. - * - * @param {Array} keys The keys to be removed. - * @param {function()} opt_callback Optional function to invoke when the - * remove is complete. You don't have to wait for the set to complete in - * order to read the value, since the local cache is updated synchronously. - */ -lib.Storage.Memory.prototype.removeItems = function(ary, opt_callback) { - for (var i = 0; i < ary.length; i++) { - delete this.storage_[ary[i]]; - } - - if (opt_callback) - setTimeout(opt_callback, 0); -}; -// SOURCE FILE: libdot/js/lib_test_manager.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -/** - * @fileoverview JavaScript unit testing framework for synchronous and - * asynchronous tests. - * - * This file contains the lib.TestManager and related classes. At the moment - * it's all collected in a single file since it's reasonably small - * (=~1k lines), and it's a lot easier to include one file into your test - * harness than it is to include seven. - * - * The following classes are defined... - * - * lib.TestManager - The root class and entrypoint for creating test runs. - * lib.TestManager.Log - Logging service. - * lib.TestManager.Suite - A collection of tests. - * lib.TestManager.Test - A single test. - * lib.TestManager.TestRun - Manages the execution of a set of tests. - * lib.TestManager.Result - A single test result. - */ - -/** - * Root object in the unit test hierarchy, and keeper of the log object. - * - * @param {lib.TestManager.Log} opt_log Optional lib.TestManager.Log object. - * Logs to the JavaScript console if omitted. - */ -lib.TestManager = function(opt_log) { - this.log = opt_log || new lib.TestManager.Log(); -} - -/** - * Create a new test run object for this test manager. - * - * @param {Object} opt_cx An object to be passed to test suite setup(), - * preamble(), and test cases during this test run. This object is opaque - * to lib.TestManager.* code. It's entirely up to the test suite what it's - * used for. - */ -lib.TestManager.prototype.createTestRun = function(opt_cx) { - return new lib.TestManager.TestRun(this, opt_cx); -}; - -/** - * Called when a test run associated with this test manager completes. - * - * Clients may override this to call an appropriate function. - */ -lib.TestManager.prototype.onTestRunComplete = function(testRun) {}; - -/** - * Called before a test associated with this test manager is run. - * - * @param {lib.TestManager.Result} result The result object for the upcoming - * test. - * @param {Object} cx The context object for a test run. - */ -lib.TestManager.prototype.testPreamble = function(result, cx) {}; - -/** - * Called after a test associated with this test manager finishes. - * - * @param {lib.TestManager.Result} result The result object for the finished - * test. - * @param {Object} cx The context object for a test run. - */ -lib.TestManager.prototype.testPostamble = function(result, cx) {}; - -/** - * Destination for test case output. - * - * Thw API will be the same as the console object. e.g. We support info(), - * warn(), error(), etc... just like console.info(), etc... - * - * @param {Object} opt_console The console object to route all logging through. - * Should provide saome API as the standard console API. - */ -lib.TestManager.Log = function(opt_console=console) { - this.save = false; - this.data = ''; - this.prefix_ = ''; - this.prefixStack_ = 0; - - // Capture all the console entry points in case code at runtime calls these - // directly. We want to be able to still see things. - // We also expose the direct API to our callers (e.g. we provide warn()). - this.console_ = opt_console; - ['log', 'debug', 'info', 'warn', 'error'].forEach((level) => { - let msgPrefix = ''; - switch (level) { - case 'debug': - case 'warn': - case 'error': - msgPrefix = level.toUpperCase() + ': '; - break; - } - - const oLog = this.console_[level]; - this[level] = this.console_[level] = (...args) => { - if (this.save) - this.data += this.prefix_ + msgPrefix + args.join(' ') + '\n'; - oLog.apply(this.console_, args); - }; - }); - - // Wrap/bind the group functions. - ['group', 'groupCollapsed'].forEach((group) => { - const oGroup = this.console_[group]; - this[group] = this.console_[group] = (label='') => { - oGroup(label); - if (this.save) - this.data += this.prefix_ + label + '\n'; - this.prefix_ = ' '.repeat(++this.prefixStack_); - }; - }); - - const oGroupEnd = this.console_.groupEnd; - this.groupEnd = this.console_.groupEnd = () => { - oGroupEnd(); - this.prefix_ = ' '.repeat(--this.prefixStack_); - }; -}; - -/** - * Returns a new constructor function that will inherit from - * lib.TestManager.Suite. - * - * Use this function to create a new test suite subclass. It will return a - * properly initialized constructor function for the subclass. You can then - * override the setup() and preamble() methods if necessary and add test cases - * to the subclass. - * - * var MyTests = new lib.TestManager.Suite('MyTests'); - * - * MyTests.prototype.setup = function(cx) { - * // Sets this.size to cx.size if it exists, or the default value of 10 - * // if not. - * this.setDefault(cx, {size: 10}); - * }; - * - * MyTests.prototype.preamble = function(result, cx) { - * // Some tests (even successful ones) may side-effect this list, so - * // recreate it before every test. - * this.list = []; - * for (var i = 0; i < this.size; i++) { - * this.list[i] = i; - * } - * }; - * - * // Basic synchronous test case. - * MyTests.addTest('pop-length', function(result, cx) { - * this.list.pop(); - * - * // If this assertion fails, the testcase will stop here. - * result.assertEQ(this.list.length, this.size - 1); - * - * // A test must indicate it has passed by calling this method. - * result.pass(); - * }); - * - * // Sample asynchronous test case. - * MyTests.addTest('async-pop-length', function(result, cx) { - * var self = this; - * - * var callback = function() { - * result.assertEQ(self.list.length, self.size - 1); - * result.pass(); - * }; - * - * // Wait 100ms to check the array length for the sake of this example. - * setTimeout(callback, 100); - * - * this.list.pop(); - * - * // Indicate that this test needs another 200ms to complete. - * // If the test does not report pass/fail by then, it is considered to - * // have timed out. - * result.requestTime(200); - * }); - * - * ... - * - * @param {string} suiteName The name of the test suite. - */ -lib.TestManager.Suite = function(suiteName) { - function ctor(testManager, cx) { - this.testManager_ = testManager; - this.suiteName = suiteName; - - this.setup(cx); - } - - ctor.suiteName = suiteName; - ctor.addTest = lib.TestManager.Suite.addTest; - ctor.disableTest = lib.TestManager.Suite.disableTest; - ctor.getTest = lib.TestManager.Suite.getTest; - ctor.getTestList = lib.TestManager.Suite.getTestList; - ctor.testList_ = []; - ctor.testMap_ = {}; - ctor.prototype = Object.create(lib.TestManager.Suite.prototype); - ctor.constructor = lib.TestManager.Suite; - - lib.TestManager.Suite.subclasses.push(ctor); - - return ctor; -}; - -/** - * List of lib.TestManager.Suite subclasses, in the order they were defined. - */ -lib.TestManager.Suite.subclasses = []; - -/** - * Add a test to a lib.TestManager.Suite. - * - * This method is copied to new subclasses when they are created. - */ -lib.TestManager.Suite.addTest = function(testName, testFunction) { - if (testName in this.testMap_) - throw 'Duplicate test name: ' + testName; - - var test = new lib.TestManager.Test(this, testName, testFunction); - this.testMap_[testName] = test; - this.testList_.push(test); -}; - -/** - * Defines a disabled test. - */ -lib.TestManager.Suite.disableTest = function(testName, testFunction) { - if (testName in this.testMap_) - throw 'Duplicate test name: ' + testName; - - var test = new lib.TestManager.Test(this, testName, testFunction); - console.log('Disabled test: ' + test.fullName); -}; - -/** - * Get a lib.TestManager.Test instance by name. - * - * This method is copied to new subclasses when they are created. - * - * @param {string} testName The name of the desired test. - * @return {lib.TestManager.Test} The requested test, or undefined if it was not - * found. - */ -lib.TestManager.Suite.getTest = function(testName) { - return this.testMap_[testName]; -}; - -/** - * Get an array of lib.TestManager.Tests associated with this Suite. - * - * This method is copied to new subclasses when they are created. - */ -lib.TestManager.Suite.getTestList = function() { - return this.testList_; -}; - -/** - * Set properties on a test suite instance, pulling the property value from - * the context if it exists and from the defaults dictionary if not. - * - * This is intended to be used in your test suite's setup() method to - * define parameters for the test suite which may be overridden through the - * context object. For example... - * - * MySuite.prototype.setup = function(cx) { - * this.setDefaults(cx, {size: 10}); - * }; - * - * If the context object has a 'size' property then this.size will be set to - * the value of cx.size, otherwise this.size will get a default value of 10. - * - * @param {Object} cx The context object for a test run. - * @param {Object} defaults An object containing name/value pairs to set on - * this test suite instance. The value listed here will be used if the - * name is not defined on the context object. - */ -lib.TestManager.Suite.prototype.setDefaults = function(cx, defaults) { - for (var k in defaults) { - this[k] = (k in cx) ? cx[k] : defaults[k]; - } -}; - -/** - * Subclassable method called to set up the test suite. - * - * The default implementation of this method is a no-op. If your test suite - * requires some kind of suite-wide setup, this is the place to do it. - * - * It's fine to store state on the test suite instance, that state will be - * accessible to all tests in the suite. If any test case fails, the entire - * test suite object will be discarded and a new one will be created for - * the remaining tests. - * - * Any side effects outside of this test suite instance must be idempotent. - * For example, if you're adding DOM nodes to a document, make sure to first - * test that they're not already there. If they are, remove them rather than - * reuse them. You should not count on their state, since they were probably - * left behind by a failed testcase. - * - * Any exception here will abort the remainder of the test run. - * - * @param {Object} cx The context object for a test run. - */ -lib.TestManager.Suite.prototype.setup = function(cx) {}; - -/** - * Subclassable method called to do pre-test set up. - * - * The default implementation of this method is a no-op. If your test suite - * requires some kind of pre-test setup, this is the place to do it. - * - * This can be used to avoid a bunch of boilerplate setup/teardown code in - * this suite's testcases. - * - * Any exception here will abort the remainder of the test run. - * - * @param {lib.TestManager.Result} result The result object for the upcoming - * test. - * @param {Object} cx The context object for a test run. - */ -lib.TestManager.Suite.prototype.preamble = function(result, cx) {}; - -/** - * Subclassable method called to do post-test tear-down. - * - * The default implementation of this method is a no-op. If your test suite - * requires some kind of pre-test setup, this is the place to do it. - * - * This can be used to avoid a bunch of boilerplate setup/teardown code in - * this suite's testcases. - * - * Any exception here will abort the remainder of the test run. - * - * @param {lib.TestManager.Result} result The result object for the finished - * test. - * @param {Object} cx The context object for a test run. - */ -lib.TestManager.Suite.prototype.postamble = function(result, cx) {}; - -/** - * Object representing a single test in a test suite. - * - * These are created as part of the lib.TestManager.Suite.addTest() method. - * You should never have to construct one by hand. - * - * @param {lib.TestManager.Suite} suiteClass The test suite class containing - * this test. - * @param {string} testName The local name of this test case, not including the - * test suite name. - * @param {function(lib.TestManager.Result, Object)} testFunction The function - * to invoke for this test case. This is passed a Result instance and the - * context object associated with the test run. - * - */ -lib.TestManager.Test = function(suiteClass, testName, testFunction) { - /** - * The test suite class containing this function. - */ - this.suiteClass = suiteClass; - - /** - * The local name of this test, not including the test suite name. - */ - this.testName = testName; - - /** - * The global name of this test, including the test suite name. - */ - this.fullName = suiteClass.suiteName + '[' + testName + ']'; - - // The function to call for this test. - this.testFunction_ = testFunction; -}; - -/** - * Execute this test. - * - * This is called by a lib.TestManager.Result instance, as part of a - * lib.TestManager.TestRun. You should not call it by hand. - * - * @param {lib.TestManager.Result} result The result object for the test. - */ -lib.TestManager.Test.prototype.run = function(result) { - try { - // Tests are applied to the parent lib.TestManager.Suite subclass. - this.testFunction_.apply(result.suite, - [result, result.testRun.cx]); - } catch (ex) { - if (ex instanceof lib.TestManager.Result.TestComplete) - return; - - result.println('Test raised an exception: ' + ex); - - if (ex.stack) { - if (ex.stack instanceof Array) { - result.println(ex.stack.join('\n')); - } else { - result.println(ex.stack); - } - } - - result.completeTest_(result.FAILED, false); - } -}; - -/** - * Used to choose a set of tests and run them. - * - * It's slightly more convenient to construct one of these from - * lib.TestManager.prototype.createTestRun(). - * - * @param {lib.TestManager} testManager The testManager associated with this - * TestRun. - * @param {Object} cx A context to be passed into the tests. This can be used - * to set parameters for the test suite or individual test cases. - */ -lib.TestManager.TestRun = function(testManager, cx) { - /** - * The associated lib.TestManager instance. - */ - this.testManager = testManager; - - /** - * Shortcut to the lib.TestManager's log. - */ - this.log = testManager.log; - - /** - * The test run context. It's entirely up to the test suite and test cases - * how this is used. It is opaque to lib.TestManager.* classes. - */ - this.cx = cx || {}; - - /** - * The list of test cases that encountered failures. - */ - this.failures = []; - - /** - * The list of test cases that passed. - */ - this.passes = []; - - /** - * The time the test run started, or null if it hasn't been started yet. - */ - this.startDate = null; - - /** - * The time in milliseconds that the test run took to complete, or null if - * it hasn't completed yet. - */ - this.duration = null; - - /** - * The most recent result object, or null if the test run hasn't started - * yet. In order to detect late failures, this is not cleared when the test - * completes. - */ - this.currentResult = null; - - /** - * Number of maximum failures. The test run will stop when this number is - * reached. If 0 or omitted, the entire set of selected tests is run, even - * if some fail. - */ - this.maxFailures = 0; - - /** - * True if this test run ended early because of an unexpected condition. - */ - this.panic = false; - - // List of pending test cases. - this.testQueue_ = []; - -}; - -/** - * This value can be passed to select() to indicate that all tests should - * be selected. - */ -lib.TestManager.TestRun.prototype.ALL_TESTS = lib.f.createEnum(''); - -/** - * Add a single test to the test run. - */ -lib.TestManager.TestRun.prototype.selectTest = function(test) { - this.testQueue_.push(test); -}; - -lib.TestManager.TestRun.prototype.selectSuite = function( - suiteClass, opt_pattern) { - var pattern = opt_pattern || this.ALL_TESTS; - var selectCount = 0; - var testList = suiteClass.getTestList(); - - for (var j = 0; j < testList.length; j++) { - var test = testList[j]; - // Note that we're using "!==" rather than "!=" so that we're matching - // the ALL_TESTS String object, rather than the contents of the string. - if (pattern !== this.ALL_TESTS) { - if (pattern instanceof RegExp) { - if (!pattern.test(test.testName)) - continue; - } else if (test.testName != pattern) { - continue; - } - } - - this.selectTest(test); - selectCount++; - } - - return selectCount; -}; - -/** - * Selects one or more tests to gather results for. - * - * Selecting the same test more than once is allowed. - * - * @param {string|RegExp} pattern Pattern used to select tests. - * If TestRun.prototype.ALL_TESTS, all tests are selected. - * If a string, only the test that exactly matches is selected. - * If a RegExp, only tests matching the RegExp are added. - * - * @return {int} The number of additional tests that have been selected into - * this TestRun. - */ -lib.TestManager.TestRun.prototype.selectPattern = function(pattern) { - var selectCount = 0; - - for (var i = 0; i < lib.TestManager.Suite.subclasses.length; i++) { - selectCount += this.selectSuite(lib.TestManager.Suite.subclasses[i], - pattern); - } - - if (!selectCount) { - this.log.warn('No tests matched selection criteria: ' + pattern); - } - - return selectCount; -}; - -/** - * Hooked up to window.onerror during a test run in order to catch exceptions - * that would otherwise go uncaught. - */ -lib.TestManager.TestRun.prototype.onUncaughtException_ = function( - message, file, line) { - - if (message.indexOf('Uncaught lib.TestManager.Result.TestComplete') == 0 || - message.indexOf('status: passed') != -1) { - // This is a result.pass() or result.fail() call from a callback. We're - // already going to deal with it as part of the completeTest_() call - // that raised it. We can safely squelch this error message. - return true; - } - - if (!this.currentResult) - return; - - if (message == 'Uncaught ' + this.currentResult.expectedErrorMessage_) { - // Test cases may need to raise an unhandled exception as part of the test. - return; - } - - var when = 'during'; - - if (this.currentResult.status != this.currentResult.PENDING) - when = 'after'; - - this.log.error('Uncaught exception ' + when + ' test case: ' + - this.currentResult.test.fullName); - this.log.error(message + ', ' + file + ':' + line); - - this.currentResult.completeTest_(this.currentResult.FAILED, false); - - return false; -}; - -/** - * Called to when this test run has completed. - * - * This method typically re-runs itself asynchronously, in order to let the - * DOM stabilize and short-term timeouts to complete before declaring the - * test run complete. - * - * @param {boolean} opt_skipTimeout If true, the timeout is skipped and the - * test run is completed immediately. This should only be used from within - * this function. - */ -lib.TestManager.TestRun.prototype.onTestRunComplete_ = function( - opt_skipTimeout) { - if (!opt_skipTimeout) { - // The final test may have left a lingering setTimeout(..., 0), or maybe - // poked at the DOM in a way that will trigger a event to fire at the end - // of this stack, so we give things a chance to settle down before our - // final cleanup... - setTimeout(this.onTestRunComplete_.bind(this), 0, true); - return; - } - - this.duration = (new Date()) - this.startDate; - - this.log.groupEnd(); - this.log.info(this.passes.length + ' passed, ' + - this.failures.length + ' failed, ' + - this.msToSeconds_(this.duration)); - - this.summarize(); - - window.onerror = null; - - this.testManager.onTestRunComplete(this); -}; - -/** - * Called by the lib.TestManager.Result object when a test completes. - * - * @param {lib.TestManager.Result} result The result object which has just - * completed. - */ -lib.TestManager.TestRun.prototype.onResultComplete = function(result) { - try { - this.testManager.testPostamble(result, this.cx); - result.suite.postamble(result, this.ctx); - } catch (ex) { - this.log.error('Unexpected exception in postamble: ' + - (ex.stack ? ex.stack : ex)); - this.panic = true; - } - - if (result.status != result.PASSED) - this.log.error(result.status); - else if (result.duration > 500) - this.log.warn('Slow test took ' + this.msToSeconds_(result.duration)); - this.log.groupEnd(); - - if (result.status == result.FAILED) { - this.failures.push(result); - this.currentSuite = null; - } else if (result.status == result.PASSED) { - this.passes.push(result); - } else { - this.log.error('Unknown result status: ' + result.test.fullName + ': ' + - result.status); - return this.panic = true; - } - - this.runNextTest_(); -}; - -/** - * Called by the lib.TestManager.Result object when a test which has already - * completed reports another completion. - * - * This is usually indicative of a buggy testcase. It is probably reporting a - * result on exit and then again from an asynchronous callback. - * - * It may also be the case that the last act of the testcase causes a DOM change - * which triggers some event to run after the test returns. If the event - * handler reports a failure or raises an uncaught exception, the test will - * fail even though it has already completed. - * - * In any case, re-completing a test ALWAYS moves it into the failure pile. - * - * @param {lib.TestManager.Result} result The result object which has just - * completed. - * @param {string} lateStatus The status that the test attempted to record this - * time around. - */ -lib.TestManager.TestRun.prototype.onResultReComplete = function( - result, lateStatus) { - this.log.error('Late complete for test: ' + result.test.fullName + ': ' + - lateStatus); - - // Consider any late completion a failure, even if it's a double-pass, since - // it's a misuse of the testing API. - var index = this.passes.indexOf(result); - if (index >= 0) { - this.passes.splice(index, 1); - this.failures.push(result); - } -}; - -/** - * Run the next test in the queue. - */ -lib.TestManager.TestRun.prototype.runNextTest_ = function() { - if (this.panic || !this.testQueue_.length) - return this.onTestRunComplete_(); - - if (this.maxFailures && this.failures.length >= this.maxFailures) { - this.log.error('Maximum failure count reached, aborting test run.'); - return this.onTestRunComplete_(); - } - - // Peek at the top test first. We remove it later just before it's about - // to run, so that we don't disturb the incomplete test count in the - // event that we fail before running it. - var test = this.testQueue_[0]; - var suite = this.currentResult ? this.currentResult.suite : null; - - try { - if (!suite || !(suite instanceof test.suiteClass)) { - if (suite) - this.log.groupEnd(); - this.log.group(test.suiteClass.suiteName); - suite = new test.suiteClass(this.testManager, this.cx); - } - } catch (ex) { - // If test suite setup fails we're not even going to try to run the tests. - this.log.error('Exception during setup: ' + (ex.stack ? ex.stack : ex)); - this.panic = true; - this.onTestRunComplete_(); - return; - } - - try { - this.log.group(test.testName); - - this.currentResult = new lib.TestManager.Result(this, suite, test); - this.testManager.testPreamble(this.currentResult, this.cx); - suite.preamble(this.currentResult, this.cx); - - this.testQueue_.shift(); - } catch (ex) { - this.log.error('Unexpected exception during test preamble: ' + - (ex.stack ? ex.stack : ex)); - this.log.groupEnd(); - - this.panic = true; - this.onTestRunComplete_(); - return; - } - - try { - this.currentResult.run(); - } catch (ex) { - // Result.run() should catch test exceptions and turn them into failures. - // If we got here, it means there is trouble in the testing framework. - this.log.error('Unexpected exception during test run: ' + - (ex.stack ? ex.stack : ex)); - this.panic = true; - } -}; - -/** - * Run the selected list of tests. - * - * Some tests may need to run asynchronously, so you cannot assume the run is - * complete when this function returns. Instead, pass in a function to be - * called back when the run has completed. - * - * This function will log the results of the test run as they happen into the - * log defined by the associated lib.TestManager. By default this is - * console.log, which can be viewed in the JavaScript console of most browsers. - * - * The browser state is determined by the last test to run. We intentionally - * don't do any cleanup so that you can inspect the state of a failed test, or - * leave the browser ready for manual testing. - * - * Any failures in lib.TestManager.* code or test suite setup or test case - * preamble will cause the test run to abort. - */ -lib.TestManager.TestRun.prototype.run = function() { - this.log.info('Running ' + this.testQueue_.length + ' test(s)'); - - window.onerror = this.onUncaughtException_.bind(this); - this.startDate = new Date(); - this.runNextTest_(); -}; - -/** - * Format milliseconds as fractional seconds. - */ -lib.TestManager.TestRun.prototype.msToSeconds_ = function(ms) { - var secs = (ms / 1000).toFixed(2); - return secs + 's'; -}; - -/** - * Log the current result summary. - */ -lib.TestManager.TestRun.prototype.summarize = function() { - if (this.failures.length) { - for (var i = 0; i < this.failures.length; i++) { - this.log.error('FAILED: ' + this.failures[i].test.fullName); - } - } - - if (this.testQueue_.length) { - this.log.warn('Test run incomplete: ' + this.testQueue_.length + - ' test(s) were not run.'); - } -}; - -/** - * Record of the result of a single test. - * - * These are constructed during a test run, you shouldn't have to make one - * on your own. - * - * An instance of this class is passed in to each test function. It can be - * used to add messages to the test log, to record a test pass/fail state, to - * test assertions, or to create exception-proof wrappers for callback - * functions. - * - * @param {lib.TestManager.TestRun} testRun The TestRun instance associated with - * this result. - * @param {lib.TestManager.Suit} suite The Suite containing the test we're - * collecting this result for. - * @param {lib.TestManager.Test} test The test we're collecting this result for. - */ -lib.TestManager.Result = function(testRun, suite, test) { - /** - * The TestRun instance associated with this result. - */ - this.testRun = testRun; - - /** - * The Suite containing the test we're collecting this result for. - */ - this.suite = suite; - - /** - * The test we're collecting this result for. - */ - this.test = test; - - /** - * The time we started to collect this result, or null if we haven't started. - */ - this.startDate = null; - - /** - * The time in milliseconds that the test took to complete, or null if - * it hasn't completed yet. - */ - this.duration = null; - - /** - * The current status of this test result. - */ - this.status = this.PENDING; - - // An error message that the test case is expected to generate. - this.expectedErrorMessage_ = null; -}; - -/** - * Possible values for this.status. - */ -lib.TestManager.Result.prototype.PENDING = 'pending'; -lib.TestManager.Result.prototype.FAILED = 'FAILED'; -lib.TestManager.Result.prototype.PASSED = 'passed'; - -/** - * Exception thrown when a test completes (pass or fail), to ensure no more of - * the test is run. - */ -lib.TestManager.Result.TestComplete = function(result) { - this.result = result; -}; - -lib.TestManager.Result.TestComplete.prototype.toString = function() { - return 'lib.TestManager.Result.TestComplete: ' + this.result.test.fullName + - ', status: ' + this.result.status; -} - -/** - * Start the test associated with this result. - */ -lib.TestManager.Result.prototype.run = function() { - var self = this; - - this.startDate = new Date(); - this.test.run(this); - - if (this.status == this.PENDING && !this.timeout_) { - this.println('Test did not return a value and did not request more time.'); - this.completeTest_(this.FAILED, false); - } -}; - -/** - * Unhandled error message this test expects to generate. - * - * This must be the exact string that would appear in the JavaScript console, - * minus the 'Uncaught ' prefix. - * - * The test case does *not* automatically fail if the error message is not - * encountered. - */ -lib.TestManager.Result.prototype.expectErrorMessage = function(str) { - this.expectedErrorMessage_ = str; -}; - -/** - * Function called when a test times out. - */ -lib.TestManager.Result.prototype.onTimeout_ = function() { - this.timeout_ = null; - - if (this.status != this.PENDING) - return; - - this.println('Test timed out.'); - this.completeTest_(this.FAILED, false); -}; - -/** - * Indicate that a test case needs more time to complete. - * - * Before a test case returns it must report a pass/fail result, or request more - * time to do so. - * - * If a test does not report pass/fail before the time expires it will - * be reported as a timeout failure. Any late pass/fails will be noted in the - * test log, but will not affect the final result of the test. - * - * Test cases may call requestTime more than once. If you have a few layers - * of asynchronous API to go through, you should call this once per layer with - * an estimate of how long each callback will take to complete. - * - * @param {int} ms Number of milliseconds requested. - */ -lib.TestManager.Result.prototype.requestTime = function(ms) { - if (this.timeout_) - clearTimeout(this.timeout_); - - this.timeout_ = setTimeout(this.onTimeout_.bind(this), ms); -}; - -/** - * Report the completion of a test. - * - * @param {string} status The status of the test case. - * @param {boolean} opt_throw Optional boolean indicating whether or not - * to throw the TestComplete exception. - */ -lib.TestManager.Result.prototype.completeTest_ = function(status, opt_throw) { - if (this.status == this.PENDING) { - this.duration = (new Date()) - this.startDate; - this.status = status; - - this.testRun.onResultComplete(this); - } else { - this.testRun.onResultReComplete(this, status); - } - - if (arguments.length < 2 || opt_throw) - throw new lib.TestManager.Result.TestComplete(this); -}; - -/** - * Check that two arrays are equal. - */ -lib.TestManager.Result.prototype.arrayEQ_ = function(actual, expected) { - if (!actual || !expected) - return (!actual && !expected); - - if (actual.length != expected.length) - return false; - - for (var i = 0; i < actual.length; ++i) - if (actual[i] != expected[i]) - return false; - - return true; -}; - -/** - * Assert that an actual value is exactly equal to the expected value. - * - * This uses the JavaScript '===' operator in order to avoid type coercion. - * - * If the assertion fails, the test is marked as a failure and a TestCompleted - * exception is thrown. - * - * @param {*} actual The actual measured value. - * @param {*} expected The value expected. - * @param {string} opt_name An optional name used to identify this - * assertion in the test log. If omitted it will be the file:line - * of the caller. - */ -lib.TestManager.Result.prototype.assertEQ = function( - actual, expected, opt_name) { - // Utility function to pretty up the log. - function format(value) { - if (typeof value == 'number') - return value; - - var str = String(value); - var ary = str.split('\n').map(function (e) { return JSON.stringify(e) }); - if (ary.length > 1) { - // If the string has newlines, start it off on its own line so that - // it's easier to compare against another string with newlines. - return '\n' + ary.join('\n'); - } else { - return ary.join('\n'); - } - } - - if (actual === expected) - return; - - // Deal with common object types since JavaScript can't. - if (expected instanceof Array) - if (this.arrayEQ_(actual, expected)) - return; - - var name = opt_name ? '[' + opt_name + ']' : ''; - - this.fail('assertEQ' + name + ': ' + this.getCallerLocation_(1) + ': ' + - format(actual) + ' !== ' + format(expected)); -}; - -/** - * Assert that a value is true. - * - * This uses the JavaScript '===' operator in order to avoid type coercion. - * The must be the boolean value `true`, not just some "truish" value. - * - * If the assertion fails, the test is marked as a failure and a TestCompleted - * exception is thrown. - * - * @param {boolean} actual The actual measured value. - * @param {string} opt_name An optional name used to identify this - * assertion in the test log. If omitted it will be the file:line - * of the caller. - */ -lib.TestManager.Result.prototype.assert = function(actual, opt_name) { - if (actual === true) - return; - - var name = opt_name ? '[' + opt_name + ']' : ''; - - this.fail('assert' + name + ': ' + this.getCallerLocation_(1) + ': ' + - String(actual)); -}; - -/** - * Return the filename:line of a calling stack frame. - * - * This uses a dirty hack. It throws an exception, catches it, and examines - * the stack property of the caught exception. - * - * @param {int} frameIndex The stack frame to return. 0 is the frame that - * called this method, 1 is its caller, and so on. - * @return {string} A string of the format "filename:linenumber". - */ -lib.TestManager.Result.prototype.getCallerLocation_ = function(frameIndex) { - try { - throw new Error(); - } catch (ex) { - var frame = ex.stack.split('\n')[frameIndex + 2]; - var ary = frame.match(/([^/]+:\d+):\d+\)?$/); - return ary ? ary[1] : '???'; - } -}; - -/** - * Write a message to the result log. - */ -lib.TestManager.Result.prototype.println = function(message) { - this.testRun.log.info(message); -}; - -/** - * Mark a failed test and exit out of the rest of the test. - * - * This will throw a TestCompleted exception, causing the current test to stop. - * - * @param {string} opt_message Optional message to add to the log. - */ -lib.TestManager.Result.prototype.fail = function(opt_message) { - if (arguments.length) - this.println(opt_message); - - this.completeTest_(this.FAILED, true); -}; - -/** - * Mark a passed test and exit out of the rest of the test. - * - * This will throw a TestCompleted exception, causing the current test to stop. - */ -lib.TestManager.Result.prototype.pass = function() { - this.completeTest_(this.PASSED, true); -}; -// SOURCE FILE: libdot/js/lib_utf8.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -// TODO(davidben): When the string encoding API is implemented, -// replace this with the native in-browser implementation. -// -// https://wiki.whatwg.org/wiki/StringEncoding -// https://encoding.spec.whatwg.org/ - -/** - * A stateful UTF-8 decoder. - */ -lib.UTF8Decoder = function() { - // The number of bytes left in the current sequence. - this.bytesLeft = 0; - // The in-progress code point being decoded, if bytesLeft > 0. - this.codePoint = 0; - // The lower bound on the final code point, if bytesLeft > 0. - this.lowerBound = 0; -}; - -/** - * Decodes a some UTF-8 data, taking into account state from previous - * data streamed through the encoder. - * - * @param {String} str data to decode, represented as a JavaScript - * String with each code unit representing a byte between 0x00 to - * 0xFF. - * @return {String} The data decoded into a JavaScript UTF-16 string. - */ -lib.UTF8Decoder.prototype.decode = function(str) { - var ret = ''; - for (var i = 0; i < str.length; i++) { - var c = str.charCodeAt(i); - if (this.bytesLeft == 0) { - if (c <= 0x7F) { - ret += str.charAt(i); - } else if (0xC0 <= c && c <= 0xDF) { - this.codePoint = c - 0xC0; - this.bytesLeft = 1; - this.lowerBound = 0x80; - } else if (0xE0 <= c && c <= 0xEF) { - this.codePoint = c - 0xE0; - this.bytesLeft = 2; - this.lowerBound = 0x800; - } else if (0xF0 <= c && c <= 0xF7) { - this.codePoint = c - 0xF0; - this.bytesLeft = 3; - this.lowerBound = 0x10000; - } else if (0xF8 <= c && c <= 0xFB) { - this.codePoint = c - 0xF8; - this.bytesLeft = 4; - this.lowerBound = 0x200000; - } else if (0xFC <= c && c <= 0xFD) { - this.codePoint = c - 0xFC; - this.bytesLeft = 5; - this.lowerBound = 0x4000000; - } else { - ret += '\ufffd'; - } - } else { - if (0x80 <= c && c <= 0xBF) { - this.bytesLeft--; - this.codePoint = (this.codePoint << 6) + (c - 0x80); - if (this.bytesLeft == 0) { - // Got a full sequence. Check if it's within bounds and - // filter out surrogate pairs. - var codePoint = this.codePoint; - if (codePoint < this.lowerBound - || (0xD800 <= codePoint && codePoint <= 0xDFFF) - || codePoint > 0x10FFFF) { - ret += '\ufffd'; - } else { - // Encode as UTF-16 in the output. - if (codePoint < 0x10000) { - ret += String.fromCharCode(codePoint); - } else { - // Surrogate pair. - codePoint -= 0x10000; - ret += String.fromCharCode( - 0xD800 + ((codePoint >>> 10) & 0x3FF), - 0xDC00 + (codePoint & 0x3FF)); - } - } - } - } else { - // Too few bytes in multi-byte sequence. Rewind stream so we - // don't lose the next byte. - ret += '\ufffd'; - this.bytesLeft = 0; - i--; - } - } - } - return ret; -}; - -/** - * Decodes UTF-8 data. This is a convenience function for when all the - * data is already known. - * - * @param {String} str data to decode, represented as a JavaScript - * String with each code unit representing a byte between 0x00 to - * 0xFF. - * @return {String} The data decoded into a JavaScript UTF-16 string. - */ -lib.decodeUTF8 = function(utf8) { - return (new lib.UTF8Decoder()).decode(utf8); -}; - -/** - * Encodes a UTF-16 string into UTF-8. - * - * TODO(davidben): Do we need a stateful version of this that can - * handle a surrogate pair split in two calls? What happens if a - * keypress event would have contained a character outside the BMP? - * - * @param {String} str The string to encode. - * @return {String} The string encoded as UTF-8, as a JavaScript - * string with bytes represented as code units from 0x00 to 0xFF. - */ -lib.encodeUTF8 = function(str) { - var ret = ''; - for (var i = 0; i < str.length; i++) { - // Get a unicode code point out of str. - var c = str.charCodeAt(i); - if (0xDC00 <= c && c <= 0xDFFF) { - c = 0xFFFD; - } else if (0xD800 <= c && c <= 0xDBFF) { - if (i+1 < str.length) { - var d = str.charCodeAt(i+1); - if (0xDC00 <= d && d <= 0xDFFF) { - // Swallow a surrogate pair. - c = 0x10000 + ((c & 0x3FF) << 10) + (d & 0x3FF); - i++; - } else { - c = 0xFFFD; - } - } else { - c = 0xFFFD; - } - } - - // Encode c in UTF-8. - var bytesLeft; - if (c <= 0x7F) { - ret += str.charAt(i); - continue; - } else if (c <= 0x7FF) { - ret += String.fromCharCode(0xC0 | (c >>> 6)); - bytesLeft = 1; - } else if (c <= 0xFFFF) { - ret += String.fromCharCode(0xE0 | (c >>> 12)); - bytesLeft = 2; - } else /* if (c <= 0x10FFFF) */ { - ret += String.fromCharCode(0xF0 | (c >>> 18)); - bytesLeft = 3; - } - - while (bytesLeft > 0) { - bytesLeft--; - ret += String.fromCharCode(0x80 | ((c >>> (6 * bytesLeft)) & 0x3F)); - } - } - return ret; -}; -// SOURCE FILE: libdot/third_party/wcwidth/lib_wc.js -// Copyright (c) 2014 The Chromium OS Authors. All rights reserved. -// Use of lib.wc source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -/** - * This JavaScript library is ported from the wcwidth.js module of node.js. - * The original implementation can be found at: - * https://npmjs.org/package/wcwidth.js - */ - -/** - * JavaScript porting of Markus Kuhn's wcwidth() implementation - * - * The following explanation comes from the original C implementation: - * - * This is an implementation of wcwidth() and wcswidth() (defined in - * IEEE Std 1002.1-2001) for Unicode. - * - * http://www.opengroup.org/onlinepubs/007904975/functions/wcwidth.html - * http://www.opengroup.org/onlinepubs/007904975/functions/wcswidth.html - * - * In fixed-width output devices, Latin characters all occupy a single - * "cell" position of equal width, whereas ideographic CJK characters - * occupy two such cells. Interoperability between terminal-line - * applications and (teletype-style) character terminals using the - * UTF-8 encoding requires agreement on which character should advance - * the cursor by how many cell positions. No established formal - * standards exist at present on which Unicode character shall occupy - * how many cell positions on character terminals. These routines are - * a first attempt of defining such behavior based on simple rules - * applied to data provided by the Unicode Consortium. - * - * For some graphical characters, the Unicode standard explicitly - * defines a character-cell width via the definition of the East Asian - * FullWidth (F), Wide (W), Half-width (H), and Narrow (Na) classes. - * In all these cases, there is no ambiguity about which width a - * terminal shall use. For characters in the East Asian Ambiguous (A) - * class, the width choice depends purely on a preference of backward - * compatibility with either historic CJK or Western practice. - * Choosing single-width for these characters is easy to justify as - * the appropriate long-term solution, as the CJK practice of - * displaying these characters as double-width comes from historic - * implementation simplicity (8-bit encoded characters were displayed - * single-width and 16-bit ones double-width, even for Greek, - * Cyrillic, etc.) and not any typographic considerations. - * - * Much less clear is the choice of width for the Not East Asian - * (Neutral) class. Existing practice does not dictate a width for any - * of these characters. It would nevertheless make sense - * typographically to allocate two character cells to characters such - * as for instance EM SPACE or VOLUME INTEGRAL, which cannot be - * represented adequately with a single-width glyph. The following - * routines at present merely assign a single-cell width to all - * neutral characters, in the interest of simplicity. This is not - * entirely satisfactory and should be reconsidered before - * establishing a formal standard in lib.wc area. At the moment, the - * decision which Not East Asian (Neutral) characters should be - * represented by double-width glyphs cannot yet be answered by - * applying a simple rule from the Unicode database content. Setting - * up a proper standard for the behavior of UTF-8 character terminals - * will require a careful analysis not only of each Unicode character, - * but also of each presentation form, something the author of these - * routines has avoided to do so far. - * - * http://www.unicode.org/unicode/reports/tr11/ - * - * Markus Kuhn -- 2007-05-26 (Unicode 5.0) - * - * Permission to use, copy, modify, and distribute lib.wc software - * for any purpose and without fee is hereby granted. The author - * disclaims all warranties with regard to lib.wc software. - * - * Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c - */ - -/** - * The following function defines the column width of an ISO 10646 character - * as follows: - * - * - The null character (U+0000) has a column width of 0. - * - Other C0/C1 control characters and DEL will lead to a return value of -1. - * - Non-spacing and enclosing combining characters (general category code Mn - * or Me in the Unicode database) have a column width of 0. - * - SOFT HYPHEN (U+00AD) has a column width of 1. - * - Other format characters (general category code Cf in the Unicode database) - * and ZERO WIDTH SPACE (U+200B) have a column width of 0. - * - Hangul Jamo medial vowels and final consonants (U+1160-U+11FF) have a - * column width of 0. - * - Spacing characters in the East Asian Wide (W) or East Asian Full-width (F) - * category as defined in Unicode Technical Report #11 have a column width of - * 2. - * - East Asian Ambiguous characters are taken into account if - * regardCjkAmbiguous flag is enabled. They have a column width of 2. - * - All remaining characters (including all printable ISO 8859-1 and WGL4 - * characters, Unicode control characters, etc.) have a column width of 1. - * - * This implementation assumes that characters are encoded in ISO 10646. - */ - -lib.wc = {}; - -// Width of a nul character. -lib.wc.nulWidth = 0; - -// Width of a control character. -lib.wc.controlWidth = 0; - -// Flag whether to consider East Asian Ambiguous characters. -lib.wc.regardCjkAmbiguous = false; - -// Width of an East Asian Ambiguous character. -lib.wc.cjkAmbiguousWidth = 2; - -// Sorted list of non-overlapping intervals of non-spacing characters -// generated by "uniset +cat=Me +cat=Mn +cat=Cf -00AD +1160-11FF +200B c" -lib.wc.combining = [ - [ 0x0300, 0x036F ], [ 0x0483, 0x0486 ], [ 0x0488, 0x0489 ], - [ 0x0591, 0x05BD ], [ 0x05BF, 0x05BF ], [ 0x05C1, 0x05C2 ], - [ 0x05C4, 0x05C5 ], [ 0x05C7, 0x05C7 ], [ 0x0600, 0x0603 ], - [ 0x0610, 0x0615 ], [ 0x064B, 0x065E ], [ 0x0670, 0x0670 ], - [ 0x06D6, 0x06E4 ], [ 0x06E7, 0x06E8 ], [ 0x06EA, 0x06ED ], - [ 0x070F, 0x070F ], [ 0x0711, 0x0711 ], [ 0x0730, 0x074A ], - [ 0x07A6, 0x07B0 ], [ 0x07EB, 0x07F3 ], [ 0x0901, 0x0902 ], - [ 0x093C, 0x093C ], [ 0x0941, 0x0948 ], [ 0x094D, 0x094D ], - [ 0x0951, 0x0954 ], [ 0x0962, 0x0963 ], [ 0x0981, 0x0981 ], - [ 0x09BC, 0x09BC ], [ 0x09C1, 0x09C4 ], [ 0x09CD, 0x09CD ], - [ 0x09E2, 0x09E3 ], [ 0x0A01, 0x0A02 ], [ 0x0A3C, 0x0A3C ], - [ 0x0A41, 0x0A42 ], [ 0x0A47, 0x0A48 ], [ 0x0A4B, 0x0A4D ], - [ 0x0A70, 0x0A71 ], [ 0x0A81, 0x0A82 ], [ 0x0ABC, 0x0ABC ], - [ 0x0AC1, 0x0AC5 ], [ 0x0AC7, 0x0AC8 ], [ 0x0ACD, 0x0ACD ], - [ 0x0AE2, 0x0AE3 ], [ 0x0B01, 0x0B01 ], [ 0x0B3C, 0x0B3C ], - [ 0x0B3F, 0x0B3F ], [ 0x0B41, 0x0B43 ], [ 0x0B4D, 0x0B4D ], - [ 0x0B56, 0x0B56 ], [ 0x0B82, 0x0B82 ], [ 0x0BC0, 0x0BC0 ], - [ 0x0BCD, 0x0BCD ], [ 0x0C3E, 0x0C40 ], [ 0x0C46, 0x0C48 ], - [ 0x0C4A, 0x0C4D ], [ 0x0C55, 0x0C56 ], [ 0x0CBC, 0x0CBC ], - [ 0x0CBF, 0x0CBF ], [ 0x0CC6, 0x0CC6 ], [ 0x0CCC, 0x0CCD ], - [ 0x0CE2, 0x0CE3 ], [ 0x0D41, 0x0D43 ], [ 0x0D4D, 0x0D4D ], - [ 0x0DCA, 0x0DCA ], [ 0x0DD2, 0x0DD4 ], [ 0x0DD6, 0x0DD6 ], - [ 0x0E31, 0x0E31 ], [ 0x0E34, 0x0E3A ], [ 0x0E47, 0x0E4E ], - [ 0x0EB1, 0x0EB1 ], [ 0x0EB4, 0x0EB9 ], [ 0x0EBB, 0x0EBC ], - [ 0x0EC8, 0x0ECD ], [ 0x0F18, 0x0F19 ], [ 0x0F35, 0x0F35 ], - [ 0x0F37, 0x0F37 ], [ 0x0F39, 0x0F39 ], [ 0x0F71, 0x0F7E ], - [ 0x0F80, 0x0F84 ], [ 0x0F86, 0x0F87 ], [ 0x0F90, 0x0F97 ], - [ 0x0F99, 0x0FBC ], [ 0x0FC6, 0x0FC6 ], [ 0x102D, 0x1030 ], - [ 0x1032, 0x1032 ], [ 0x1036, 0x1037 ], [ 0x1039, 0x1039 ], - [ 0x1058, 0x1059 ], [ 0x1160, 0x11FF ], [ 0x135F, 0x135F ], - [ 0x1712, 0x1714 ], [ 0x1732, 0x1734 ], [ 0x1752, 0x1753 ], - [ 0x1772, 0x1773 ], [ 0x17B4, 0x17B5 ], [ 0x17B7, 0x17BD ], - [ 0x17C6, 0x17C6 ], [ 0x17C9, 0x17D3 ], [ 0x17DD, 0x17DD ], - [ 0x180B, 0x180D ], [ 0x18A9, 0x18A9 ], [ 0x1920, 0x1922 ], - [ 0x1927, 0x1928 ], [ 0x1932, 0x1932 ], [ 0x1939, 0x193B ], - [ 0x1A17, 0x1A18 ], [ 0x1B00, 0x1B03 ], [ 0x1B34, 0x1B34 ], - [ 0x1B36, 0x1B3A ], [ 0x1B3C, 0x1B3C ], [ 0x1B42, 0x1B42 ], - [ 0x1B6B, 0x1B73 ], [ 0x1DC0, 0x1DCA ], [ 0x1DFE, 0x1DFF ], - [ 0x200B, 0x200F ], [ 0x202A, 0x202E ], [ 0x2060, 0x2063 ], - [ 0x206A, 0x206F ], [ 0x20D0, 0x20EF ], [ 0x302A, 0x302F ], - [ 0x3099, 0x309A ], [ 0xA806, 0xA806 ], [ 0xA80B, 0xA80B ], - [ 0xA825, 0xA826 ], [ 0xFB1E, 0xFB1E ], [ 0xFE00, 0xFE0F ], - [ 0xFE20, 0xFE23 ], [ 0xFEFF, 0xFEFF ], [ 0xFFF9, 0xFFFB ], - [ 0x10A01, 0x10A03 ], [ 0x10A05, 0x10A06 ], [ 0x10A0C, 0x10A0F ], - [ 0x10A38, 0x10A3A ], [ 0x10A3F, 0x10A3F ], [ 0x1D167, 0x1D169 ], - [ 0x1D173, 0x1D182 ], [ 0x1D185, 0x1D18B ], [ 0x1D1AA, 0x1D1AD ], - [ 0x1D242, 0x1D244 ], [ 0xE0001, 0xE0001 ], [ 0xE0020, 0xE007F ], - [ 0xE0100, 0xE01EF ] -]; - -// Sorted list of non-overlapping intervals of East Asian Ambiguous characters -// generated by "uniset +WIDTH-A -cat=Me -cat=Mn -cat=Cf c" -lib.wc.ambiguous = [ - [ 0x00A1, 0x00A1 ], [ 0x00A4, 0x00A4 ], [ 0x00A7, 0x00A8 ], - [ 0x00AA, 0x00AA ], [ 0x00AE, 0x00AE ], [ 0x00B0, 0x00B4 ], - [ 0x00B6, 0x00BA ], [ 0x00BC, 0x00BF ], [ 0x00C6, 0x00C6 ], - [ 0x00D0, 0x00D0 ], [ 0x00D7, 0x00D8 ], [ 0x00DE, 0x00E1 ], - [ 0x00E6, 0x00E6 ], [ 0x00E8, 0x00EA ], [ 0x00EC, 0x00ED ], - [ 0x00F0, 0x00F0 ], [ 0x00F2, 0x00F3 ], [ 0x00F7, 0x00FA ], - [ 0x00FC, 0x00FC ], [ 0x00FE, 0x00FE ], [ 0x0101, 0x0101 ], - [ 0x0111, 0x0111 ], [ 0x0113, 0x0113 ], [ 0x011B, 0x011B ], - [ 0x0126, 0x0127 ], [ 0x012B, 0x012B ], [ 0x0131, 0x0133 ], - [ 0x0138, 0x0138 ], [ 0x013F, 0x0142 ], [ 0x0144, 0x0144 ], - [ 0x0148, 0x014B ], [ 0x014D, 0x014D ], [ 0x0152, 0x0153 ], - [ 0x0166, 0x0167 ], [ 0x016B, 0x016B ], [ 0x01CE, 0x01CE ], - [ 0x01D0, 0x01D0 ], [ 0x01D2, 0x01D2 ], [ 0x01D4, 0x01D4 ], - [ 0x01D6, 0x01D6 ], [ 0x01D8, 0x01D8 ], [ 0x01DA, 0x01DA ], - [ 0x01DC, 0x01DC ], [ 0x0251, 0x0251 ], [ 0x0261, 0x0261 ], - [ 0x02C4, 0x02C4 ], [ 0x02C7, 0x02C7 ], [ 0x02C9, 0x02CB ], - [ 0x02CD, 0x02CD ], [ 0x02D0, 0x02D0 ], [ 0x02D8, 0x02DB ], - [ 0x02DD, 0x02DD ], [ 0x02DF, 0x02DF ], [ 0x0391, 0x03A1 ], - [ 0x03A3, 0x03A9 ], [ 0x03B1, 0x03C1 ], [ 0x03C3, 0x03C9 ], - [ 0x0401, 0x0401 ], [ 0x0410, 0x044F ], [ 0x0451, 0x0451 ], - [ 0x2010, 0x2010 ], [ 0x2013, 0x2016 ], [ 0x2018, 0x2019 ], - [ 0x201C, 0x201D ], [ 0x2020, 0x2022 ], [ 0x2024, 0x2027 ], - [ 0x2030, 0x2030 ], [ 0x2032, 0x2033 ], [ 0x2035, 0x2035 ], - [ 0x203B, 0x203B ], [ 0x203E, 0x203E ], [ 0x2074, 0x2074 ], - [ 0x207F, 0x207F ], [ 0x2081, 0x2084 ], [ 0x20AC, 0x20AC ], - [ 0x2103, 0x2103 ], [ 0x2105, 0x2105 ], [ 0x2109, 0x2109 ], - [ 0x2113, 0x2113 ], [ 0x2116, 0x2116 ], [ 0x2121, 0x2122 ], - [ 0x2126, 0x2126 ], [ 0x212B, 0x212B ], [ 0x2153, 0x2154 ], - [ 0x215B, 0x215E ], [ 0x2160, 0x216B ], [ 0x2170, 0x2179 ], - [ 0x2190, 0x2199 ], [ 0x21B8, 0x21B9 ], [ 0x21D2, 0x21D2 ], - [ 0x21D4, 0x21D4 ], [ 0x21E7, 0x21E7 ], [ 0x2200, 0x2200 ], - [ 0x2202, 0x2203 ], [ 0x2207, 0x2208 ], [ 0x220B, 0x220B ], - [ 0x220F, 0x220F ], [ 0x2211, 0x2211 ], [ 0x2215, 0x2215 ], - [ 0x221A, 0x221A ], [ 0x221D, 0x2220 ], [ 0x2223, 0x2223 ], - [ 0x2225, 0x2225 ], [ 0x2227, 0x222C ], [ 0x222E, 0x222E ], - [ 0x2234, 0x2237 ], [ 0x223C, 0x223D ], [ 0x2248, 0x2248 ], - [ 0x224C, 0x224C ], [ 0x2252, 0x2252 ], [ 0x2260, 0x2261 ], - [ 0x2264, 0x2267 ], [ 0x226A, 0x226B ], [ 0x226E, 0x226F ], - [ 0x2282, 0x2283 ], [ 0x2286, 0x2287 ], [ 0x2295, 0x2295 ], - [ 0x2299, 0x2299 ], [ 0x22A5, 0x22A5 ], [ 0x22BF, 0x22BF ], - [ 0x2312, 0x2312 ], [ 0x2460, 0x24E9 ], [ 0x24EB, 0x254B ], - [ 0x2550, 0x2573 ], [ 0x2580, 0x258F ], [ 0x2592, 0x2595 ], - [ 0x25A0, 0x25A1 ], [ 0x25A3, 0x25A9 ], [ 0x25B2, 0x25B3 ], - [ 0x25B6, 0x25B7 ], [ 0x25BC, 0x25BD ], [ 0x25C0, 0x25C1 ], - [ 0x25C6, 0x25C8 ], [ 0x25CB, 0x25CB ], [ 0x25CE, 0x25D1 ], - [ 0x25E2, 0x25E5 ], [ 0x25EF, 0x25EF ], [ 0x2605, 0x2606 ], - [ 0x2609, 0x2609 ], [ 0x260E, 0x260F ], [ 0x2614, 0x2615 ], - [ 0x261C, 0x261C ], [ 0x261E, 0x261E ], [ 0x2640, 0x2640 ], - [ 0x2642, 0x2642 ], [ 0x2660, 0x2661 ], [ 0x2663, 0x2665 ], - [ 0x2667, 0x266A ], [ 0x266C, 0x266D ], [ 0x266F, 0x266F ], - [ 0x273D, 0x273D ], [ 0x2776, 0x277F ], [ 0xE000, 0xF8FF ], - [ 0xFFFD, 0xFFFD ], [ 0xF0000, 0xFFFFD ], [ 0x100000, 0x10FFFD ] -]; - -/** - * Binary search to check if the given unicode character is a space character. - * - * @param {integer} ucs A unicode character code. - * - * @return {boolean} True if the given character is a space character; false - * otherwise. - */ -lib.wc.isSpace = function(ucs) { - // Auxiliary function for binary search in interval table. - var min = 0, max = lib.wc.combining.length - 1; - var mid; - - if (ucs < lib.wc.combining[0][0] || ucs > lib.wc.combining[max][1]) - return false; - while (max >= min) { - mid = Math.floor((min + max) / 2); - if (ucs > lib.wc.combining[mid][1]) { - min = mid + 1; - } else if (ucs < lib.wc.combining[mid][0]) { - max = mid - 1; - } else { - return true; - } - } - - return false; -}; - -/** - * Auxiliary function for checking if the given unicode character is a East - * Asian Ambiguous character. - * - * @param {integer} ucs A unicode character code. - * - * @return {boolean} True if the given character is a East Asian Ambiguous - * character. - */ -lib.wc.isCjkAmbiguous = function(ucs) { - var min = 0, max = lib.wc.ambiguous.length - 1; - var mid; - - if (ucs < lib.wc.ambiguous[0][0] || ucs > lib.wc.ambiguous[max][1]) - return false; - while (max >= min) { - mid = Math.floor((min + max) / 2); - if (ucs > lib.wc.ambiguous[mid][1]) { - min = mid + 1; - } else if (ucs < lib.wc.ambiguous[mid][0]) { - max = mid - 1; - } else { - return true; - } - } - - return false; -}; - -/** - * Determine the column width of the given character. - * - * @param {integer} ucs A unicode character code. - * - * @return {integer} The column width of the given character. - */ -lib.wc.charWidth = function(ucs) { - if (lib.wc.regardCjkAmbiguous) { - return lib.wc.charWidthRegardAmbiguous(ucs); - } else { - return lib.wc.charWidthDisregardAmbiguous(ucs); - } -}; - -/** - * Determine the column width of the given character without considering East - * Asian Ambiguous characters. - * - * @param {integer} ucs A unicode character code. - * - * @return {integer} The column width of the given character. - */ -lib.wc.charWidthDisregardAmbiguous = function(ucs) { - // Test for 8-bit control characters. - if (ucs === 0) - return lib.wc.nulWidth; - if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0)) - return lib.wc.controlWidth; - - // Optimize for ASCII characters. - if (ucs < 0x7f) - return 1; - - // Binary search in table of non-spacing characters. - if (lib.wc.isSpace(ucs)) - return 0; - - // If we arrive here, ucs is not a combining or C0/C1 control character. - return 1 + - (ucs >= 0x1100 && - (ucs <= 0x115f || // Hangul Jamo init. consonants - ucs == 0x2329 || ucs == 0x232a || - (ucs >= 0x2e80 && ucs <= 0xa4cf && - ucs != 0x303f) || // CJK ... Yi - (ucs >= 0xac00 && ucs <= 0xd7a3) || // Hangul Syllables - (ucs >= 0xf900 && ucs <= 0xfaff) || // CJK Compatibility Ideographs - (ucs >= 0xfe10 && ucs <= 0xfe19) || // Vertical forms - (ucs >= 0xfe30 && ucs <= 0xfe6f) || // CJK Compatibility Forms - (ucs >= 0xff00 && ucs <= 0xff60) || // Fullwidth Forms - (ucs >= 0xffe0 && ucs <= 0xffe6) || - (ucs >= 0x20000 && ucs <= 0x2fffd) || - (ucs >= 0x30000 && ucs <= 0x3fffd))); - // TODO: emoji characters usually require space for wide characters although - // East Asian width spec says nothing. Should we add special cases for them? -}; - -/** - * Determine the column width of the given character considering East Asian - * Ambiguous characters. - * - * @param {integer} ucs A unicode character code. - * - * @return {integer} The column width of the given character. - */ -lib.wc.charWidthRegardAmbiguous = function(ucs) { - if (lib.wc.isCjkAmbiguous(ucs)) - return lib.wc.cjkAmbiguousWidth; - - return lib.wc.charWidthDisregardAmbiguous(ucs); -}; - -/** - * Determine the column width of the given string. - * - * @param {string} str A string. - * - * @return {integer} The column width of the given string. - */ -lib.wc.strWidth = function(str) { - var width, rv = 0; - - for (var i = 0; i < str.length;) { - var codePoint = str.codePointAt(i); - width = lib.wc.charWidth(codePoint); - if (width < 0) - return -1; - rv += width; - i += (codePoint <= 0xffff) ? 1 : 2; - } - - return rv; -}; - -/** - * Get the substring at the given column offset of the given column width. - * - * @param {string} str The string to get substring from. - * @param {integer} start The starting column offset to get substring. - * @param {integer} opt_width The column width of the substring. - * - * @return {string} The substring. - */ -lib.wc.substr = function(str, start, opt_width) { - var startIndex, endIndex, width; - - for (startIndex = 0, width = 0; startIndex < str.length; startIndex++) { - width += lib.wc.charWidth(str.charCodeAt(startIndex)); - if (width > start) - break; - } - - if (opt_width != undefined) { - for (endIndex = startIndex, width = 0; - endIndex < str.length && width <= opt_width; - width += lib.wc.charWidth(str.charCodeAt(endIndex)), endIndex++); - if (width > opt_width) - endIndex--; - return str.substring(startIndex, endIndex); - } - - return str.substr(startIndex); -}; - -/** - * Get substring at the given start and end column offset. - * - * @param {string} str The string to get substring from. - * @param {integer} start The starting column offset. - * @param {integer} end The ending column offset. - * - * @return {string} The substring. - */ -lib.wc.substring = function(str, start, end) { - return lib.wc.substr(str, start, end - start); -}; -lib.resource.add('libdot/changelog/version', 'text/plain', -'1.16' + -'' -); - -lib.resource.add('libdot/changelog/date', 'text/plain', -'2017-08-16' + -'' -); - -// SOURCE FILE: hterm/js/hterm.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -lib.rtdep('lib.Storage'); - -/** - * @fileoverview Declares the hterm.* namespace and some basic shared utilities - * that are too small to deserve dedicated files. - */ -var hterm = {}; - -/** - * The type of window hosting hterm. - * - * This is set as part of hterm.init(). The value is invalid until - * initialization completes. - */ -hterm.windowType = null; - -/** - * Warning message to display in the terminal when browser zoom is enabled. - * - * You can replace it with your own localized message. - */ -hterm.zoomWarningMessage = 'ZOOM != 100%'; - -/** - * Brief overlay message displayed when text is copied to the clipboard. - * - * By default it is the unicode BLACK SCISSORS character, but you can - * replace it with your own localized message. - * - * This is only displayed when the 'enable-clipboard-notice' preference - * is enabled. - */ -hterm.notifyCopyMessage = '\u2702'; - - -/** - * Text shown in a desktop notification for the terminal - * bell. \u226a is a unicode EIGHTH NOTE, %(title) will - * be replaced by the terminal title. - */ -hterm.desktopNotificationTitle = '\u266A %(title) \u266A'; - -/** - * List of known hterm test suites. - * - * A test harness should ensure that they all exist before running. - */ -hterm.testDeps = ['hterm.ScrollPort.Tests', 'hterm.Screen.Tests', - 'hterm.Terminal.Tests', 'hterm.VT.Tests', - 'hterm.VT.CannedTests']; - -/** - * The hterm init function, registered with lib.registerInit(). - * - * This is called during lib.init(). - * - * @param {function} onInit The function lib.init() wants us to invoke when - * initialization is complete. - */ -lib.registerInit('hterm', function(onInit) { - function onWindow(window) { - hterm.windowType = window.type; - setTimeout(onInit, 0); - } - - function onTab(tab) { - if (tab && window.chrome) { - chrome.windows.get(tab.windowId, null, onWindow); - } else { - // TODO(rginda): This is where we end up for a v1 app's background page. - // Maybe windowType = 'none' would be more appropriate, or something. - hterm.windowType = 'normal'; - setTimeout(onInit, 0); - } - } - - if (!hterm.defaultStorage) { - if (window.chrome && chrome.storage && chrome.storage.sync) { - hterm.defaultStorage = new lib.Storage.Chrome(chrome.storage.sync); - } else { - hterm.defaultStorage = new lib.Storage.Local(); - } - } - - // The chrome.tabs API is not supported in packaged apps, and detecting if - // you're a packaged app is a little awkward. - var isPackagedApp = false; - if (window.chrome && chrome.runtime && chrome.runtime.getManifest) { - var manifest = chrome.runtime.getManifest(); - isPackagedApp = manifest.app && manifest.app.background; - } - - if (isPackagedApp) { - // Packaged apps are never displayed in browser tabs. - setTimeout(onWindow.bind(null, {type: 'popup'}), 0); - } else { - if (window.chrome && chrome.tabs) { - // The getCurrent method gets the tab that is "currently running", not the - // topmost or focused tab. - chrome.tabs.getCurrent(onTab); - } else { - setTimeout(onWindow.bind(null, {type: 'normal'}), 0); - } - } -}); - -/** - * Return decimal { width, height } for a given dom node. - */ -hterm.getClientSize = function(dom) { - return dom.getBoundingClientRect(); -}; - -/** - * Return decimal width for a given dom node. - */ -hterm.getClientWidth = function(dom) { - return dom.getBoundingClientRect().width; -}; - -/** - * Return decimal height for a given dom node. - */ -hterm.getClientHeight = function(dom) { - return dom.getBoundingClientRect().height; -}; - -/** - * Copy the current selection to the system clipboard. - * - * @param {HTMLDocument} The document with the selection to copy. - */ -hterm.copySelectionToClipboard = function(document) { - try { - document.execCommand('copy'); - } catch (firefoxException) { - // Ignore this. FF throws an exception if there was an error, even though - // the spec says just return false. - } -}; - -/** - * Paste the system clipboard into the element with focus. - * - * Note: In Chrome/Firefox app/extension environments, you'll need the - * "clipboardRead" permission. In other environments, this might always - * fail as the browser frequently blocks access for security reasons. - * - * @param {HTMLDocument} The document to paste into. - * @return {boolean} True if the paste succeeded. - */ -hterm.pasteFromClipboard = function(document) { - try { - return document.execCommand('paste'); - } catch (firefoxException) { - // Ignore this. FF 40 and older would incorrectly throw an exception if - // there was an error instead of returning false. - return false; - } -}; - -/** - * Create a new notification. - * - * @param {Object} params Various parameters for the notification. - * @param {string} params.title The title (defaults to the window's title). - * @param {string} params.body The message body (main text). - */ -hterm.notify = function(params) { - var def = (curr, fallback) => curr !== undefined ? curr : fallback; - if (params === undefined || params === null) - params = {}; - - // Merge the user's choices with the default settings. We don't take it - // directly in case it was stuffed with excess junk. - var options = { - 'body': params.body, - 'icon': def(params.icon, lib.resource.getDataUrl('hterm/images/icon-96')), - } - - var title = def(params.title, window.document.title); - if (!title) - title = 'hterm'; - title = lib.f.replaceVars(hterm.desktopNotificationTitle, {'title': title}); - - var n = new Notification(title, options); - n.onclick = function() { - window.focus(); - this.close(); - }; - return n; -}; - -/** - * Constructor for a hterm.Size record. - * - * Instances of this class have public read/write members for width and height. - * - * @param {integer} width The width of this record. - * @param {integer} height The height of this record. - */ -hterm.Size = function(width, height) { - this.width = width; - this.height = height; -}; - -/** - * Adjust the width and height of this record. - * - * @param {integer} width The new width of this record. - * @param {integer} height The new height of this record. - */ -hterm.Size.prototype.resize = function(width, height) { - this.width = width; - this.height = height; -}; - -/** - * Return a copy of this record. - * - * @return {hterm.Size} A new hterm.Size instance with the same width and - * height. - */ -hterm.Size.prototype.clone = function() { - return new hterm.Size(this.width, this.height); -}; - -/** - * Set the height and width of this instance based on another hterm.Size. - * - * @param {hterm.Size} that The object to copy from. - */ -hterm.Size.prototype.setTo = function(that) { - this.width = that.width; - this.height = that.height; -}; - -/** - * Test if another hterm.Size instance is equal to this one. - * - * @param {hterm.Size} that The other hterm.Size instance. - * @return {boolean} True if both instances have the same width/height, false - * otherwise. - */ -hterm.Size.prototype.equals = function(that) { - return this.width == that.width && this.height == that.height; -}; - -/** - * Return a string representation of this instance. - * - * @return {string} A string that identifies the width and height of this - * instance. - */ -hterm.Size.prototype.toString = function() { - return '[hterm.Size: ' + this.width + ', ' + this.height + ']'; -}; - -/** - * Constructor for a hterm.RowCol record. - * - * Instances of this class have public read/write members for row and column. - * - * This class includes an 'overflow' bit which is use to indicate that an - * attempt has been made to move the cursor column passed the end of the - * screen. When this happens we leave the cursor column set to the last column - * of the screen but set the overflow bit. In this state cursor movement - * happens normally, but any attempt to print new characters causes a cr/lf - * first. - * - * @param {integer} row The row of this record. - * @param {integer} column The column of this record. - * @param {boolean} opt_overflow Optional boolean indicating that the RowCol - * has overflowed. - */ -hterm.RowCol = function(row, column, opt_overflow) { - this.row = row; - this.column = column; - this.overflow = !!opt_overflow; -}; - -/** - * Adjust the row and column of this record. - * - * @param {integer} row The new row of this record. - * @param {integer} column The new column of this record. - * @param {boolean} opt_overflow Optional boolean indicating that the RowCol - * has overflowed. - */ -hterm.RowCol.prototype.move = function(row, column, opt_overflow) { - this.row = row; - this.column = column; - this.overflow = !!opt_overflow; -}; - -/** - * Return a copy of this record. - * - * @return {hterm.RowCol} A new hterm.RowCol instance with the same row and - * column. - */ -hterm.RowCol.prototype.clone = function() { - return new hterm.RowCol(this.row, this.column, this.overflow); -}; - -/** - * Set the row and column of this instance based on another hterm.RowCol. - * - * @param {hterm.RowCol} that The object to copy from. - */ -hterm.RowCol.prototype.setTo = function(that) { - this.row = that.row; - this.column = that.column; - this.overflow = that.overflow; -}; - -/** - * Test if another hterm.RowCol instance is equal to this one. - * - * @param {hterm.RowCol} that The other hterm.RowCol instance. - * @return {boolean} True if both instances have the same row/column, false - * otherwise. - */ -hterm.RowCol.prototype.equals = function(that) { - return (this.row == that.row && this.column == that.column && - this.overflow == that.overflow); -}; - -/** - * Return a string representation of this instance. - * - * @return {string} A string that identifies the row and column of this - * instance. - */ -hterm.RowCol.prototype.toString = function() { - return ('[hterm.RowCol: ' + this.row + ', ' + this.column + ', ' + - this.overflow + ']'); -}; -// SOURCE FILE: hterm/js/hterm_frame.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -lib.rtdep('lib.f'); - -/** - * First draft of the interface between the terminal and a third party dialog. - * - * This is rough. It's just the terminal->dialog layer. To complete things - * we'll also need a command->terminal layer. That will have to facilitate - * command->terminal->dialog or direct command->dialog communication. - * - * I imagine this class will change significantly when that happens. - */ - -/** - * Construct a new frame for the given terminal. - * - * @param terminal {hterm.Terminal} The parent terminal object. - * @param url {String} The url to load in the frame. - * @param opt_options {Object} Optional options for the frame. Not implemented. - */ -hterm.Frame = function(terminal, url, opt_options) { - this.terminal_ = terminal; - this.div_ = terminal.div_; - this.url = url; - this.options = opt_options || {}; - this.iframe_ = null; - this.container_ = null; - this.messageChannel_ = null; -}; - -/** - * Handle messages from the iframe. - */ -hterm.Frame.prototype.onMessage_ = function(e) { - switch (e.data.name) { - case 'ipc-init-ok': - // We get this response after we send them ipc-init and they finish. - this.sendTerminalInfo_(); - return; - case 'terminal-info-ok': - // We get this response after we send them terminal-info and they finish. - // Show the finished frame, and then rebind our message handler to the - // callback below. - this.container_.style.display = 'flex'; - this.messageChannel_.port1.onmessage = this.onMessage.bind(this); - this.onLoad(); - return; - default: - console.log('Unknown message from frame:', e.data); - return; - } -}; - -/** - * Clients could override this, I guess. - * - * It doesn't support multiple listeners, but I'm not sure that would make sense - * here. It's probably better to speak directly to our parents. - */ -hterm.Frame.prototype.onMessage = function() {}; - -/** - * Handle iframe onLoad event. - */ -hterm.Frame.prototype.onLoad_ = function() { - this.messageChannel_ = new MessageChannel(); - this.messageChannel_.port1.onmessage = this.onMessage_.bind(this); - this.messageChannel_.port1.start(); - this.iframe_.contentWindow.postMessage( - {name: 'ipc-init', argv: [{messagePort: this.messageChannel_.port2}]}, - this.url, [this.messageChannel_.port2]); -}; - -/** - * Clients may override this. - */ -hterm.Frame.prototype.onLoad = function() {}; - -/** - * Sends the terminal-info message to the iframe. - */ -hterm.Frame.prototype.sendTerminalInfo_ = function() { - lib.f.getAcceptLanguages(function(languages) { - this.postMessage('terminal-info', [{ - acceptLanguages: languages, - foregroundColor: this.terminal_.getForegroundColor(), - backgroundColor: this.terminal_.getBackgroundColor(), - cursorColor: this.terminal_.getCursorColor(), - fontSize: this.terminal_.getFontSize(), - fontFamily: this.terminal_.getFontFamily(), - baseURL: lib.f.getURL('/') - }] - ); - }.bind(this)); -}; - -/** - * User clicked the close button on the frame decoration. - */ -hterm.Frame.prototype.onCloseClicked_ = function() { - this.close(); -}; - -/** - * Close this frame. - */ -hterm.Frame.prototype.close = function() { - if (!this.container_ || !this.container_.parentNode) - return; - - this.container_.parentNode.removeChild(this.container_); - this.onClose(); -}; - - -/** - * Clients may override this. - */ -hterm.Frame.prototype.onClose = function() {}; - -/** - * Send a message to the iframe. - */ -hterm.Frame.prototype.postMessage = function(name, argv) { - if (!this.messageChannel_) - throw new Error('Message channel is not set up.'); - - this.messageChannel_.port1.postMessage({name: name, argv: argv}); -}; - -/** - * Show the UI for this frame. - * - * The iframe src is not loaded until this method is called. - */ -hterm.Frame.prototype.show = function() { - var self = this; - - function opt(name, defaultValue) { - if (name in self.options) - return self.options[name]; - - return defaultValue; - } - - var self = this; - - if (this.container_ && this.container_.parentNode) { - console.error('Frame already visible'); - return; - } - - var headerHeight = '16px'; - - var divSize = hterm.getClientSize(this.div_); - - var width = opt('width', 640); - var height = opt('height', 480); - var left = (divSize.width - width) / 2; - var top = (divSize.height - height) / 2; - - var document = this.terminal_.document_; - - var container = this.container_ = document.createElement('div'); - container.style.cssText = ( - 'position: absolute;' + - 'display: none;' + - 'flex-direction: column;' + - 'top: 10%;' + - 'left: 4%;' + - 'width: 90%;' + - 'height: 80%;' + - 'min-height: 20%;' + - 'max-height: 80%;' + - 'box-shadow: 0 0 2px ' + this.terminal_.getForegroundColor() + ';' + - 'border: 2px ' + this.terminal_.getForegroundColor() + ' solid;'); - - if (false) { - // No use for the close button, so no use for the window header either. - var header = document.createElement('div'); - header.style.cssText = ( - 'display: flex;' + - 'justify-content: flex-end;' + - 'height: ' + headerHeight + ';' + - 'background-color: ' + this.terminal_.getForegroundColor() + ';' + - 'color: ' + this.terminal_.getBackgroundColor() + ';' + - 'font-size: 16px;' + - 'font-family: ' + this.terminal_.getFontFamily()); - container.appendChild(header); - - var button = document.createElement('div'); - button.setAttribute('role', 'button'); - button.style.cssText = ( - 'margin-top: -3px;' + - 'margin-right: 3px;' + - 'cursor: pointer;'); - button.textContent = '\u2a2f'; - button.addEventListener('click', this.onCloseClicked_.bind(this)); - header.appendChild(button); - } - - var iframe = this.iframe_ = document.createElement('iframe'); - iframe.onload = this.onLoad_.bind(this); - iframe.style.cssText = ( - 'display: flex;' + - 'flex: 1;' + - 'width: 100%'); - iframe.setAttribute('src', this.url); - iframe.setAttribute('seamless', true); - container.appendChild(iframe); - - this.div_.appendChild(container); -}; -// SOURCE FILE: hterm/js/hterm_keyboard.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -lib.rtdep('hterm.Keyboard.KeyMap'); - -/** - * Keyboard handler. - * - * Consumes onKey* events and invokes onVTKeystroke on the associated - * hterm.Terminal object. - * - * See also: [XTERM] as referenced in vt.js. - * - * @param {hterm.Terminal} The Terminal object associated with this keyboard. - */ -hterm.Keyboard = function(terminal) { - // The parent vt interpreter. - this.terminal = terminal; - - // The element we're currently capturing keyboard events for. - this.keyboardElement_ = null; - - // The event handlers we are interested in, and their bound callbacks, saved - // so they can be uninstalled with removeEventListener, when required. - this.handlers_ = [ - ['focusout', this.onFocusOut_.bind(this)], - ['keydown', this.onKeyDown_.bind(this)], - ['keypress', this.onKeyPress_.bind(this)], - ['keyup', this.onKeyUp_.bind(this)], - ['textInput', this.onTextInput_.bind(this)] - ]; - - /** - * The current key map. - */ - this.keyMap = new hterm.Keyboard.KeyMap(this); - - this.bindings = new hterm.Keyboard.Bindings(this); - - /** - * none: Disable any AltGr related munging. - * ctrl-alt: Assume Ctrl+Alt means AltGr. - * left-alt: Assume left Alt means AltGr. - * right-alt: Assume right Alt means AltGr. - */ - this.altGrMode = 'none'; - - /** - * If true, Shift-Insert will fall through to the browser as a paste. - * If false, the keystroke will be sent to the host. - */ - this.shiftInsertPaste = true; - - /** - * If true, home/end will control the terminal scrollbar and shift home/end - * will send the VT keycodes. If false then home/end sends VT codes and - * shift home/end scrolls. - */ - this.homeKeysScroll = false; - - /** - * Same as above, except for page up/page down. - */ - this.pageKeysScroll = false; - - /** - * If true, Ctrl-Plus/Minus/Zero controls zoom. - * If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_, - * Ctrl-Plus/Zero do nothing. - */ - this.ctrlPlusMinusZeroZoom = true; - - /** - * Ctrl+C copies if true, sends ^C to host if false. - * Ctrl+Shift+C sends ^C to host if true, copies if false. - */ - this.ctrlCCopy = false; - - /** - * Ctrl+V pastes if true, sends ^V to host if false. - * Ctrl+Shift+V sends ^V to host if true, pastes if false. - */ - this.ctrlVPaste = false; - - /** - * Enable/disable application keypad. - * - * This changes the way numeric keys are sent from the keyboard. - */ - this.applicationKeypad = false; - - /** - * Enable/disable the application cursor mode. - * - * This changes the way cursor keys are sent from the keyboard. - */ - this.applicationCursor = false; - - /** - * If true, the backspace should send BS ('\x08', aka ^H). Otherwise - * the backspace key should send '\x7f'. - */ - this.backspaceSendsBackspace = false; - - /** - * The encoding method for data sent to the host. - */ - this.characterEncoding = 'utf-8'; - - /** - * Set whether the meta key sends a leading escape or not. - */ - this.metaSendsEscape = true; - - /** - * Set whether meta-V gets passed to host. - */ - this.passMetaV = true; - - /** - * Controls how the alt key is handled. - * - * escape....... Send an ESC prefix. - * 8-bit........ Add 128 to the unshifted character as in xterm. - * browser-key.. Wait for the keypress event and see what the browser says. - * (This won't work well on platforms where the browser - * performs a default action for some alt sequences.) - * - * This setting only matters when alt is distinct from meta (altIsMeta is - * false.) - */ - this.altSendsWhat = 'escape'; - - /** - * Set whether the alt key acts as a meta key, instead of producing 8-bit - * characters. - * - * True to enable, false to disable, null to autodetect based on platform. - */ - this.altIsMeta = false; - - /** - * If true, tries to detect DEL key events that are from alt-backspace on - * Chrome OS vs from a true DEL key press. - * - * Background: At the time of writing, on Chrome OS, alt-backspace is mapped - * to DEL. Some users may be happy with this, but others may be frustrated - * that it's impossible to do meta-backspace. If the user enables this pref, - * we use a trick to tell a true DEL keypress from alt-backspace: on - * alt-backspace, we will see the alt key go down, then get a DEL keystroke - * that indicates that alt is not pressed. See https://crbug.com/174410 . - */ - this.altBackspaceIsMetaBackspace = false; - - /** - * Used to keep track of the current alt-key state, which is necessary for - * the altBackspaceIsMetaBackspace preference above and for the altGrMode - * preference. This is a bitmap with where bit positions correspond to the - * "location" property of the key event. - */ - this.altKeyPressed = 0; - - /** - * If true, Chrome OS media keys will be mapped to their F-key equivalent. - * E.g. "Back" will be mapped to F1. If false, Chrome will handle the keys. - */ - this.mediaKeysAreFKeys = false; - - /** - * Holds the previous setting of altSendsWhat when DECSET 1039 is used. When - * DECRST 1039 is used, altSendsWhat is changed back to this and this is - * nulled out. - */ - this.previousAltSendsWhat_ = null; -}; - -/** - * Special handling for keyCodes in a keyboard layout. - */ -hterm.Keyboard.KeyActions = { - /** - * Call preventDefault and stopPropagation for this key event and nothing - * else. - */ - CANCEL: lib.f.createEnum('CANCEL'), - - /** - * This performs the default terminal action for the key. If used in the - * 'normal' action and the the keystroke represents a printable key, the - * character will be sent to the host. If used in one of the modifier - * actions, the terminal will perform the normal action after (possibly) - * altering it. - * - * - If the normal sequence starts with CSI, the sequence will be adjusted - * to include the modifier parameter as described in [XTERM] in the final - * table of the "PC-Style Function Keys" section. - * - * - If the control key is down and the key represents a printable character, - * and the uppercase version of the unshifted keycap is between - * 64 (ASCII '@') and 95 (ASCII '_'), then the uppercase version of the - * unshifted keycap minus 64 is sent. This makes '^@' send '\x00' and - * '^_' send '\x1f'. (Note that one higher that 0x1f is 0x20, which is - * the first printable ASCII value.) - * - * - If the alt key is down and the key represents a printable character then - * the value of the character is shifted up by 128. - * - * - If meta is down and configured to send an escape, '\x1b' will be sent - * before the normal action is performed. - */ - DEFAULT: lib.f.createEnum('DEFAULT'), - - /** - * Causes the terminal to opt out of handling the key event, instead letting - * the browser deal with it. - */ - PASS: lib.f.createEnum('PASS'), - - /** - * Insert the first or second character of the keyCap, based on e.shiftKey. - * The key will be handled in onKeyDown, and e.preventDefault() will be - * called. - * - * It is useful for a modified key action, where it essentially strips the - * modifier while preventing the browser from reacting to the key. - */ - STRIP: lib.f.createEnum('STRIP') -}; - -/** - * Encode a string according to the 'send-encoding' preference. - */ -hterm.Keyboard.prototype.encode = function(str) { - if (this.characterEncoding == 'utf-8') - return this.terminal.vt.encodeUTF8(str); - - return str; -}; - -/** - * Capture keyboard events sent to the associated element. - * - * This enables the keyboard. Captured events are consumed by this class - * and will not perform their default action or bubble to other elements. - * - * Passing a null element will uninstall the keyboard handlers. - * - * @param {HTMLElement} element The element whose events should be captured, or - * null to disable the keyboard. - */ -hterm.Keyboard.prototype.installKeyboard = function(element) { - if (element == this.keyboardElement_) - return; - - if (element && this.keyboardElement_) - this.installKeyboard(null); - - for (var i = 0; i < this.handlers_.length; i++) { - var handler = this.handlers_[i]; - if (element) { - element.addEventListener(handler[0], handler[1]); - } else { - this.keyboardElement_.removeEventListener(handler[0], handler[1]); - } - } - - this.keyboardElement_ = element; -}; - -/** - * Disable keyboard event capture. - * - * This will allow the browser to process key events normally. - */ -hterm.Keyboard.prototype.uninstallKeyboard = function() { - this.installKeyboard(null); -}; - -/** - * Handle onTextInput events. - * - * We're not actually supposed to get these, but we do on the Mac in the case - * where a third party app sends synthetic keystrokes to Chrome. - */ -hterm.Keyboard.prototype.onTextInput_ = function(e) { - if (!e.data) - return; - - e.data.split('').forEach(this.terminal.onVTKeystroke.bind(this.terminal)); -}; - -/** - * Handle onKeyPress events. - */ -hterm.Keyboard.prototype.onKeyPress_ = function(e) { - var code; - - var key = String.fromCharCode(e.which); - var lowerKey = key.toLowerCase(); - if ((e.ctrlKey || e.metaKey) && (lowerKey == 'c' || lowerKey == 'v')) { - // On FF the key press (not key down) event gets fired for copy/paste. - // Let it fall through for the default browser behavior. - return; - } - - if (e.altKey && this.altSendsWhat == 'browser-key' && e.charCode == 0) { - // If we got here because we were expecting the browser to handle an - // alt sequence but it didn't do it, then we might be on an OS without - // an enabled IME system. In that case we fall back to xterm-like - // behavior. - // - // This happens here only as a fallback. Typically these platforms should - // set altSendsWhat to either 'escape' or '8-bit'. - var ch = String.fromCharCode(e.keyCode); - if (!e.shiftKey) - ch = ch.toLowerCase(); - code = ch.charCodeAt(0) + 128; - - } else if (e.charCode >= 32) { - ch = e.charCode; - } - - if (ch) - this.terminal.onVTKeystroke(String.fromCharCode(ch)); - - e.preventDefault(); - e.stopPropagation(); -}; - -/** - * Prevent default handling for non-ctrl-shifted event. - * - * When combined with Chrome permission 'app.window.fullscreen.overrideEsc', - * and called for both key down and key up events, - * the ESC key remains usable within fullscreen Chrome app windows. - */ -hterm.Keyboard.prototype.preventChromeAppNonCtrlShiftDefault_ = function(e) { - if (!window.chrome || !window.chrome.app || !window.chrome.app.window) - return; - if (!e.ctrlKey || !e.shiftKey) - e.preventDefault(); -}; - -hterm.Keyboard.prototype.onFocusOut_ = function(e) { - this.altKeyPressed = 0; -}; - -hterm.Keyboard.prototype.onKeyUp_ = function(e) { - if (e.keyCode == 18) - this.altKeyPressed = this.altKeyPressed & ~(1 << (e.location - 1)); - - if (e.keyCode == 27) - this.preventChromeAppNonCtrlShiftDefault_(e); -}; - -/** - * Handle onKeyDown events. - */ -hterm.Keyboard.prototype.onKeyDown_ = function(e) { - if (e.keyCode == 18) - this.altKeyPressed = this.altKeyPressed | (1 << (e.location - 1)); - - if (e.keyCode == 27) - this.preventChromeAppNonCtrlShiftDefault_(e); - - var keyDef = this.keyMap.keyDefs[e.keyCode]; - if (!keyDef) { - console.warn('No definition for keyCode: ' + e.keyCode); - return; - } - - // The type of action we're going to use. - var resolvedActionType = null; - - var self = this; - function getAction(name) { - // Get the key action for the given action name. If the action is a - // function, dispatch it. If the action defers to the normal action, - // resolve that instead. - - resolvedActionType = name; - - var action = keyDef[name]; - if (typeof action == 'function') - action = action.apply(self.keyMap, [e, keyDef]); - - if (action === DEFAULT && name != 'normal') - action = getAction('normal'); - - return action; - } - - // Note that we use the triple-equals ('===') operator to test equality for - // these constants, in order to distinguish usage of the constant from usage - // of a literal string that happens to contain the same bytes. - var CANCEL = hterm.Keyboard.KeyActions.CANCEL; - var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT; - var PASS = hterm.Keyboard.KeyActions.PASS; - var STRIP = hterm.Keyboard.KeyActions.STRIP; - - var control = e.ctrlKey; - var alt = this.altIsMeta ? false : e.altKey; - var meta = this.altIsMeta ? (e.altKey || e.metaKey) : e.metaKey; - - // In the key-map, we surround the keyCap for non-printables in "[...]" - var isPrintable = !(/^\[\w+\]$/.test(keyDef.keyCap)); - - switch (this.altGrMode) { - case 'ctrl-alt': - if (isPrintable && control && alt) { - // ctrl-alt-printable means altGr. We clear out the control and - // alt modifiers and wait to see the charCode in the keydown event. - control = false; - alt = false; - } - break; - - case 'right-alt': - if (isPrintable && (this.terminal.keyboard.altKeyPressed & 2)) { - control = false; - alt = false; - } - break; - - case 'left-alt': - if (isPrintable && (this.terminal.keyboard.altKeyPressed & 1)) { - control = false; - alt = false; - } - break; - } - - var action; - - if (control) { - action = getAction('control'); - } else if (alt) { - action = getAction('alt'); - } else if (meta) { - action = getAction('meta'); - } else { - action = getAction('normal'); - } - - // If e.maskShiftKey was set (during getAction) it means the shift key is - // already accounted for in the action, and we should not act on it any - // further. This is currently only used for Ctrl-Shift-Tab, which should send - // "CSI Z", not "CSI 1 ; 2 Z". - var shift = !e.maskShiftKey && e.shiftKey; - - var keyDown = { - keyCode: e.keyCode, - shift: e.shiftKey, // not `var shift` from above. - ctrl: control, - alt: alt, - meta: meta - }; - - var binding = this.bindings.getBinding(keyDown); - - if (binding) { - // Clear out the modifier bits so we don't try to munge the sequence - // further. - shift = control = alt = meta = false; - resolvedActionType = 'normal'; - action = binding.action; - - if (typeof action == 'function') - action = action.call(this, this.terminal, keyDown); - } - - if (alt && this.altSendsWhat == 'browser-key' && action == DEFAULT) { - // When altSendsWhat is 'browser-key', we wait for the keypress event. - // In keypress, the browser should have set the event.charCode to the - // appropriate character. - // TODO(rginda): Character compositions will need some black magic. - action = PASS; - } - - if (action === PASS || (action === DEFAULT && !(control || alt || meta))) { - // If this key is supposed to be handled by the browser, or it is an - // unmodified key with the default action, then exit this event handler. - // If it's an unmodified key, it'll be handled in onKeyPress where we - // can tell for sure which ASCII code to insert. - // - // This block needs to come before the STRIP test, otherwise we'll strip - // the modifier and think it's ok to let the browser handle the keypress. - // The browser won't know we're trying to ignore the modifiers and might - // perform some default action. - return; - } - - if (action === STRIP) { - alt = control = false; - action = keyDef.normal; - if (typeof action == 'function') - action = action.apply(this.keyMap, [e, keyDef]); - - if (action == DEFAULT && keyDef.keyCap.length == 2) - action = keyDef.keyCap.substr((shift ? 1 : 0), 1); - } - - e.preventDefault(); - e.stopPropagation(); - - if (action === CANCEL) - return; - - if (action !== DEFAULT && typeof action != 'string') { - console.warn('Invalid action: ' + JSON.stringify(action)); - return; - } - - // Strip the modifier that is associated with the action, since we assume that - // modifier has already been accounted for in the action. - if (resolvedActionType == 'control') { - control = false; - } else if (resolvedActionType == 'alt') { - alt = false; - } else if (resolvedActionType == 'meta') { - meta = false; - } - - if (action.substr(0, 2) == '\x1b[' && (alt || control || shift)) { - // The action is an escape sequence that and it was triggered in the - // presence of a keyboard modifier, we may need to alter the action to - // include the modifier before sending it. - - var mod; - - if (shift && !(alt || control)) { - mod = ';2'; - } else if (alt && !(shift || control)) { - mod = ';3'; - } else if (shift && alt && !control) { - mod = ';4'; - } else if (control && !(shift || alt)) { - mod = ';5'; - } else if (shift && control && !alt) { - mod = ';6'; - } else if (alt && control && !shift) { - mod = ';7'; - } else if (shift && alt && control) { - mod = ';8'; - } - - if (action.length == 3) { - // Some of the CSI sequences have zero parameters unless modified. - action = '\x1b[1' + mod + action.substr(2, 1); - } else { - // Others always have at least one parameter. - action = action.substr(0, action.length - 1) + mod + - action.substr(action.length - 1); - } - - } else { - if (action === DEFAULT) { - action = keyDef.keyCap.substr((shift ? 1 : 0), 1); - - if (control) { - var unshifted = keyDef.keyCap.substr(0, 1); - var code = unshifted.charCodeAt(0); - if (code >= 64 && code <= 95) { - action = String.fromCharCode(code - 64); - } - } - } - - if (alt && this.altSendsWhat == '8-bit' && action.length == 1) { - var code = action.charCodeAt(0) + 128; - action = String.fromCharCode(code); - } - - // We respect alt/metaSendsEscape even if the keymap action was a literal - // string. Otherwise, every overridden alt/meta action would have to - // check alt/metaSendsEscape. - if ((alt && this.altSendsWhat == 'escape') || - (meta && this.metaSendsEscape)) { - action = '\x1b' + action; - } - } - - this.terminal.onVTKeystroke(action); -}; -// SOURCE FILE: hterm/js/hterm_keyboard_bindings.js -// Copyright (c) 2015 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -/** - * A mapping from hterm.Keyboard.KeyPattern to an action. - * - * TODO(rginda): For now this bindings code is only used for user overrides. - * hterm.Keyboard.KeyMap still handles all of the built-in key mappings. - * It'd be nice if we migrated that over to be hterm.Keyboard.Bindings based. - */ -hterm.Keyboard.Bindings = function() { - this.bindings_ = {}; -}; - -/** - * Remove all bindings. - */ -hterm.Keyboard.Bindings.prototype.clear = function () { - this.bindings_ = {}; -}; - -/** - * Add a new binding. - * - * Internal API that assumes parsed objects as inputs. - * See the public addBinding for more details. - * - * @param {hterm.Keyboard.KeyPattern} keyPattern - * @param {string|function|hterm.Keyboard.KeyAction} action - */ -hterm.Keyboard.Bindings.prototype.addBinding_ = function(keyPattern, action) { - var binding = null; - var list = this.bindings_[keyPattern.keyCode]; - if (list) { - for (var i = 0; i < list.length; i++) { - if (list[i].keyPattern.matchKeyPattern(keyPattern)) { - binding = list[i]; - break; - } - } - } - - if (binding) { - binding.action = action; - } else { - binding = {keyPattern: keyPattern, action: action}; - - if (!list) { - this.bindings_[keyPattern.keyCode] = [binding]; - } else { - this.bindings_[keyPattern.keyCode].push(binding); - - list.sort(function(a, b) { - return hterm.Keyboard.KeyPattern.sortCompare( - a.keyPattern, b.keyPattern); - }); - } - } -}; - -/** - * Add a new binding. - * - * If a binding for the keyPattern already exists it will be overridden. - * - * More specific keyPatterns take precedence over those with wildcards. Given - * bindings for "Ctrl-A" and "Ctrl-*-A", and a "Ctrl-A" keydown, the "Ctrl-A" - * binding will match even if "Ctrl-*-A" was created last. - * - * If action is a string, it will be passed through hterm.Parser.parseKeyAction. - * - * For example: - * // Will replace Ctrl-P keystrokes with the string "hiya!". - * addBinding('Ctrl-P', "'hiya!'"); - * // Will cancel the keystroke entirely (make it do nothing). - * addBinding('Alt-D', hterm.Keyboard.KeyActions.CANCEL); - * // Will execute the code and return the action. - * addBinding('Ctrl-T', function() { - * console.log('Got a T!'); - * return hterm.Keyboard.KeyActions.PASS; - * }); - * - * @param {string|hterm.Keyboard.KeyPattern} keyPattern - * @param {string|function|hterm.Keyboard.KeyAction} action - */ -hterm.Keyboard.Bindings.prototype.addBinding = function(key, action) { - // If we're given a hterm.Keyboard.KeyPattern object, pass it down. - if (typeof key != 'string') { - this.addBinding_(key, action); - return; - } - - // Here we treat key as a string. - var p = new hterm.Parser(); - - p.reset(key); - var sequence; - - try { - sequence = p.parseKeySequence(); - } catch (ex) { - console.error(ex); - return; - } - - if (!p.isComplete()) { - console.error(p.error('Expected end of sequence: ' + sequence)); - return; - } - - // If action is a string, parse it. Otherwise assume it's callable. - if (typeof action == 'string') { - p.reset(action); - try { - action = p.parseKeyAction(); - } catch (ex) { - console.error(ex); - return; - } - } - - if (!p.isComplete()) { - console.error(p.error('Expected end of sequence: ' + sequence)); - return; - } - - this.addBinding_(new hterm.Keyboard.KeyPattern(sequence), action); -}; - -/** - * Add multiple bindings at a time using a map of {string: string, ...} - * - * This uses hterm.Parser to parse the maps key into KeyPatterns, and the - * map values into {string|function|KeyAction}. - * - * For example: - * { - * // Will replace Ctrl-P keystrokes with the string "hiya!". - * 'Ctrl-P': "'hiya!'", - * // Will cancel the keystroke entirely (make it do nothing). - * 'Alt-D': hterm.Keyboard.KeyActions.CANCEL, - * } - * - * @param {Object} map - */ -hterm.Keyboard.Bindings.prototype.addBindings = function(map) { - for (var key in map) { - this.addBinding(key, map[key]); - } -}; - -/** - * Return the binding that is the best match for the given keyDown record, - * or null if there is no match. - * - * @param {Object} keyDown An object with a keyCode property and zero or - * more boolean properties representing key modifiers. These property names - * must match those defined in hterm.Keyboard.KeyPattern.modifiers. - */ -hterm.Keyboard.Bindings.prototype.getBinding = function(keyDown) { - var list = this.bindings_[keyDown.keyCode]; - if (!list) - return null; - - for (var i = 0; i < list.length; i++) { - var binding = list[i]; - if (binding.keyPattern.matchKeyDown(keyDown)) - return binding; - } - - return null; -}; -// SOURCE FILE: hterm/js/hterm_keyboard_keymap.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -lib.rtdep('hterm.Keyboard.KeyActions'); - -/** - * The default key map for hterm. - * - * Contains a mapping of keyCodes to keyDefs (aka key definitions). The key - * definition tells the hterm.Keyboard class how to handle keycodes. - * - * This should work for most cases, as the printable characters get handled - * in the keypress event. In that case, even if the keycap is wrong in the - * key map, the correct character should be sent. - * - * Different layouts, such as Dvorak should work with this keymap, as those - * layouts typically move keycodes around on the keyboard without disturbing - * the actual keycaps. - * - * There may be issues with control keys on non-US keyboards or with keyboards - * that very significantly from the expectations here, in which case we may - * have to invent new key maps. - * - * The sequences defined in this key map come from [XTERM] as referenced in - * vt.js, starting with the section titled "Alt and Meta Keys". - */ -hterm.Keyboard.KeyMap = function(keyboard) { - this.keyboard = keyboard; - this.keyDefs = {}; - this.reset(); -}; - -/** - * Add a single key definition. - * - * The definition is a hash containing the following keys: 'keyCap', 'normal', - * 'control', and 'alt'. - * - * - keyCap is a string identifying the key. For printable - * keys, the key cap should be exactly two characters, starting with the - * unshifted version. For example, 'aA', 'bB', '1!' and '=+'. For - * non-printable the key cap should be surrounded in square braces, as in - * '[INS]', '[LEFT]'. By convention, non-printable keycaps are in uppercase - * but this is not a strict requirement. - * - * - Normal is the action that should be performed when they key is pressed - * in the absence of any modifier. See below for the supported actions. - * - * - Control is the action that should be performed when they key is pressed - * along with the control modifier. See below for the supported actions. - * - * - Alt is the action that should be performed when they key is pressed - * along with the alt modifier. See below for the supported actions. - * - * - Meta is the action that should be performed when they key is pressed - * along with the meta modifier. See below for the supported actions. - * - * Actions can be one of the hterm.Keyboard.KeyActions as documented below, - * a literal string, or an array. If the action is a literal string then - * the string is sent directly to the host. If the action is an array it - * is taken to be an escape sequence that may be altered by modifier keys. - * The second-to-last element of the array will be overwritten with the - * state of the modifier keys, as specified in the final table of "PC-Style - * Function Keys" from [XTERM]. - */ -hterm.Keyboard.KeyMap.prototype.addKeyDef = function(keyCode, def) { - if (keyCode in this.keyDefs) - console.warn('Duplicate keyCode: ' + keyCode); - - this.keyDefs[keyCode] = def; -}; - -/** - * Add multiple key definitions in a single call. - * - * This function takes the key definitions as variable argument list. Each - * argument is the key definition specified as an array. - * - * (If the function took everything as one big hash we couldn't detect - * duplicates, and there would be a lot more typing involved.) - * - * Each key definition should have 6 elements: (keyCode, keyCap, normal action, - * control action, alt action and meta action). See KeyMap.addKeyDef for the - * meaning of these elements. - */ -hterm.Keyboard.KeyMap.prototype.addKeyDefs = function(var_args) { - for (var i = 0; i < arguments.length; i++) { - this.addKeyDef(arguments[i][0], - { keyCap: arguments[i][1], - normal: arguments[i][2], - control: arguments[i][3], - alt: arguments[i][4], - meta: arguments[i][5] - }); - } -}; - -/** - * Set up the default state for this keymap. - */ -hterm.Keyboard.KeyMap.prototype.reset = function() { - this.keyDefs = {}; - - var self = this; - - // This function is used by the "macro" functions below. It makes it - // possible to use the call() macro as an argument to any other macro. - function resolve(action, e, k) { - if (typeof action == 'function') - return action.apply(self, [e, k]); - - return action; - } - - // If not application keypad a, else b. The keys that care about - // application keypad ignore it when the key is modified. - function ak(a, b) { - return function(e, k) { - var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey || - !self.keyboard.applicationKeypad) ? a : b; - return resolve(action, e, k); - }; - } - - // If mod or not application cursor a, else b. The keys that care about - // application cursor ignore it when the key is modified. - function ac(a, b) { - return function(e, k) { - var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey || - !self.keyboard.applicationCursor) ? a : b; - return resolve(action, e, k); - }; - } - - // If not backspace-sends-backspace keypad a, else b. - function bs(a, b) { - return function(e, k) { - var action = !self.keyboard.backspaceSendsBackspace ? a : b; - return resolve(action, e, k); - }; - } - - // If not e.shiftKey a, else b. - function sh(a, b) { - return function(e, k) { - var action = !e.shiftKey ? a : b; - e.maskShiftKey = true; - return resolve(action, e, k); - }; - } - - // If not e.altKey a, else b. - function alt(a, b) { - return function(e, k) { - var action = !e.altKey ? a : b; - return resolve(action, e, k); - }; - } - - // If no modifiers a, else b. - function mod(a, b) { - return function(e, k) { - var action = !(e.shiftKey || e.ctrlKey || e.altKey || e.metaKey) ? a : b; - return resolve(action, e, k); - }; - } - - // Compute a control character for a given character. - function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) } - - // Call a method on the keymap instance. - function c(m) { return function (e, k) { return this[m](e, k) } } - - // Ignore if not trapping media keys. - function med(fn) { - return function(e, k) { - if (!self.keyboard.mediaKeysAreFKeys) { - // Block Back, Forward, and Reload keys to avoid navigating away from - // the current page. - return (e.keyCode == 166 || e.keyCode == 167 || e.keyCode == 168) ? - hterm.Keyboard.KeyActions.CANCEL : - hterm.Keyboard.KeyActions.PASS; - } - return resolve(fn, e, k); - }; - } - - var ESC = '\x1b'; - var CSI = '\x1b['; - var SS3 = '\x1bO'; - - var CANCEL = hterm.Keyboard.KeyActions.CANCEL; - var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT; - var PASS = hterm.Keyboard.KeyActions.PASS; - var STRIP = hterm.Keyboard.KeyActions.STRIP; - - this.addKeyDefs( - // These fields are: [keycode, keycap, normal, control, alt, meta] - - // The browser sends the keycode 0 for some keys. We'll just assume it's - // going to do the right thing by default for those keys. - [0, '[UNKNOWN]', PASS, PASS, PASS, PASS], - - // First row. - [27, '[ESC]', ESC, DEFAULT, DEFAULT, DEFAULT], - [112, '[F1]', mod(SS3 + 'P', CSI + 'P'), DEFAULT, CSI + "23~", DEFAULT], - [113, '[F2]', mod(SS3 + 'Q', CSI + 'Q'), DEFAULT, CSI + "24~", DEFAULT], - [114, '[F3]', mod(SS3 + 'R', CSI + 'R'), DEFAULT, CSI + "25~", DEFAULT], - [115, '[F4]', mod(SS3 + 'S', CSI + 'S'), DEFAULT, CSI + "26~", DEFAULT], - [116, '[F5]', CSI + '15~', DEFAULT, CSI + "28~", DEFAULT], - [117, '[F6]', CSI + '17~', DEFAULT, CSI + "29~", DEFAULT], - [118, '[F7]', CSI + '18~', DEFAULT, CSI + "31~", DEFAULT], - [119, '[F8]', CSI + '19~', DEFAULT, CSI + "32~", DEFAULT], - [120, '[F9]', CSI + '20~', DEFAULT, CSI + "33~", DEFAULT], - [121, '[F10]', CSI + '21~', DEFAULT, CSI + "34~", DEFAULT], - [122, '[F11]', CSI + '23~', DEFAULT, CSI + "42~", DEFAULT], - [123, '[F12]', CSI + '24~', DEFAULT, CSI + "43~", DEFAULT], - - // Second row. - [192, '`~', DEFAULT, sh(ctl('@'), ctl('^')), DEFAULT, PASS], - [49, '1!', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')], - [50, '2@', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')], - [51, '3#', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')], - [52, '4$', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')], - [53, '5%', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')], - [54, '6^', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')], - [55, '7&', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')], - [56, '8*', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')], - [57, '9(', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')], - [48, '0)', DEFAULT, c('onPlusMinusZero_'),c('onAltNum_'),c('onPlusMinusZero_')], - [189, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')], - [187, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')], - // Firefox -_ and =+ - [173, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')], - [61, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')], - // Firefox Italian +* - [171, '+*', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')], - - [8, '[BKSP]', bs('\x7f', '\b'), bs('\b', '\x7f'), DEFAULT, DEFAULT], - - // Third row. - [9, '[TAB]', sh('\t', CSI + 'Z'), STRIP, PASS, DEFAULT], - [81, 'qQ', DEFAULT, ctl('Q'), DEFAULT, DEFAULT], - [87, 'wW', DEFAULT, ctl('W'), DEFAULT, DEFAULT], - [69, 'eE', DEFAULT, ctl('E'), DEFAULT, DEFAULT], - [82, 'rR', DEFAULT, ctl('R'), DEFAULT, DEFAULT], - [84, 'tT', DEFAULT, ctl('T'), DEFAULT, DEFAULT], - [89, 'yY', DEFAULT, ctl('Y'), DEFAULT, DEFAULT], - [85, 'uU', DEFAULT, ctl('U'), DEFAULT, DEFAULT], - [73, 'iI', DEFAULT, ctl('I'), DEFAULT, DEFAULT], - [79, 'oO', DEFAULT, ctl('O'), DEFAULT, DEFAULT], - [80, 'pP', DEFAULT, ctl('P'), DEFAULT, DEFAULT], - [219, '[{', DEFAULT, ctl('['), DEFAULT, DEFAULT], - [221, ']}', DEFAULT, ctl(']'), DEFAULT, DEFAULT], - [220, '\\|', DEFAULT, ctl('\\'), DEFAULT, DEFAULT], - - // Fourth row. (We let Ctrl-Shift-J pass for Chrome DevTools.) - [20, '[CAPS]', PASS, PASS, PASS, DEFAULT], - [65, 'aA', DEFAULT, ctl('A'), DEFAULT, DEFAULT], - [83, 'sS', DEFAULT, ctl('S'), DEFAULT, DEFAULT], - [68, 'dD', DEFAULT, ctl('D'), DEFAULT, DEFAULT], - [70, 'fF', DEFAULT, ctl('F'), DEFAULT, DEFAULT], - [71, 'gG', DEFAULT, ctl('G'), DEFAULT, DEFAULT], - [72, 'hH', DEFAULT, ctl('H'), DEFAULT, DEFAULT], - [74, 'jJ', DEFAULT, sh(ctl('J'), PASS), DEFAULT, DEFAULT], - [75, 'kK', DEFAULT, sh(ctl('K'), c('onClear_')), DEFAULT, DEFAULT], - [76, 'lL', DEFAULT, sh(ctl('L'), PASS), DEFAULT, DEFAULT], - [186, ';:', DEFAULT, STRIP, DEFAULT, DEFAULT], - [222, '\'"', DEFAULT, STRIP, DEFAULT, DEFAULT], - [13, '[ENTER]', '\r', CANCEL, CANCEL, DEFAULT], - - // Fifth row. This includes the copy/paste shortcuts. On some - // platforms it's Ctrl-C/V, on others it's Meta-C/V. We assume either - // Ctrl-C/Meta-C should pass to the browser when there is a selection, - // and Ctrl-Shift-V/Meta-*-V should always pass to the browser (since - // these seem to be recognized as paste too). - [16, '[SHIFT]', PASS, PASS, PASS, DEFAULT], - [90, 'zZ', DEFAULT, ctl('Z'), DEFAULT, DEFAULT], - [88, 'xX', DEFAULT, ctl('X'), DEFAULT, DEFAULT], - [67, 'cC', DEFAULT, c('onCtrlC_'), DEFAULT, c('onMetaC_')], - [86, 'vV', DEFAULT, c('onCtrlV_'), DEFAULT, c('onMetaV_')], - [66, 'bB', DEFAULT, sh(ctl('B'), PASS), DEFAULT, sh(DEFAULT, PASS)], - [78, 'nN', DEFAULT, c('onCtrlN_'), DEFAULT, c('onMetaN_')], - [77, 'mM', DEFAULT, ctl('M'), DEFAULT, DEFAULT], - [188, ',<', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT], - [190, '.>', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT], - [191, '/?', DEFAULT, sh(ctl('_'), ctl('?')), DEFAULT, DEFAULT], - - // Sixth and final row. - [17, '[CTRL]', PASS, PASS, PASS, PASS], - [18, '[ALT]', PASS, PASS, PASS, PASS], - [91, '[LAPL]', PASS, PASS, PASS, PASS], - [32, ' ', DEFAULT, ctl('@'), DEFAULT, DEFAULT], - [92, '[RAPL]', PASS, PASS, PASS, PASS], - [93, '[RMENU]', PASS, PASS, PASS, PASS], - - // These things. - [42, '[PRTSCR]', PASS, PASS, PASS, PASS], - [145, '[SCRLK]', PASS, PASS, PASS, PASS], - [19, '[BREAK]', PASS, PASS, PASS, PASS], - - // The block of six keys above the arrows. - [45, '[INSERT]', c('onKeyInsert_'), DEFAULT, DEFAULT, DEFAULT], - [36, '[HOME]', c('onKeyHome_'), DEFAULT, DEFAULT, DEFAULT], - [33, '[PGUP]', c('onKeyPageUp_'), DEFAULT, DEFAULT, DEFAULT], - [46, '[DEL]', c('onKeyDel_'), DEFAULT, DEFAULT, DEFAULT], - [35, '[END]', c('onKeyEnd_'), DEFAULT, DEFAULT, DEFAULT], - [34, '[PGDOWN]', c('onKeyPageDown_'), DEFAULT, DEFAULT, DEFAULT], - - // Arrow keys. When unmodified they respect the application cursor state, - // otherwise they always send the CSI codes. - [38, '[UP]', c('onKeyArrowUp_'), DEFAULT, DEFAULT, DEFAULT], - [40, '[DOWN]', c('onKeyArrowDown_'), DEFAULT, DEFAULT, DEFAULT], - [39, '[RIGHT]', ac(CSI + 'C', SS3 + 'C'), DEFAULT, DEFAULT, DEFAULT], - [37, '[LEFT]', ac(CSI + 'D', SS3 + 'D'), DEFAULT, DEFAULT, DEFAULT], - - [144, '[NUMLOCK]', PASS, PASS, PASS, PASS], - - // With numlock off, the keypad generates the same key codes as the arrows - // and 'block of six' for some keys, and null key codes for the rest. - - // Keypad with numlock on generates unique key codes... - [96, '[KP0]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], - [97, '[KP1]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], - [98, '[KP2]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], - [99, '[KP3]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], - [100, '[KP4]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], - [101, '[KP5]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], - [102, '[KP6]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], - [103, '[KP7]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], - [104, '[KP8]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], - [105, '[KP9]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], - [107, '[KP+]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')], - [109, '[KP-]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')], - [106, '[KP*]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], - [111, '[KP/]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], - [110, '[KP.]', DEFAULT, DEFAULT, DEFAULT, DEFAULT], - - // Chrome OS keyboard top row. - [166, '[BACK]', med(mod(SS3+'P', CSI+'P')), DEFAULT, CSI+"23~", DEFAULT], - [167, '[FWD]', med(mod(SS3+'Q', CSI+'Q')), DEFAULT, CSI+"24~", DEFAULT], - [168, '[RELOAD]', med(mod(SS3+'R', CSI+'R')), DEFAULT, CSI+"25~", DEFAULT], - [183, '[FSCR]', med(mod(SS3+'S', CSI+'S')), DEFAULT, CSI+"26~", DEFAULT], - [182, '[WINS]', med(CSI + '15~'), DEFAULT, CSI+"28~", DEFAULT], - [216, '[BRIT-]', med(CSI + '17~'), DEFAULT, CSI+"29~", DEFAULT], - [217, '[BRIT+]', med(CSI + '18~'), DEFAULT, CSI+"31~", DEFAULT] - - // 173 [MUTE], 174 [VOL-] and 175 [VOL+] are trapped by the Chrome OS - // window manager, so we'll never see them. Note that 173 is also - // Firefox's -_ keycode. - ); -}; - -/** - * Either allow the paste or send a key sequence. - */ -hterm.Keyboard.KeyMap.prototype.onKeyInsert_ = function(e) { - if (this.keyboard.shiftInsertPaste && e.shiftKey) - return hterm.Keyboard.KeyActions.PASS; - - return '\x1b[2~'; -}; - -/** - * Either scroll the scrollback buffer or send a key sequence. - */ -hterm.Keyboard.KeyMap.prototype.onKeyHome_ = function(e) { - if (!this.keyboard.homeKeysScroll ^ e.shiftKey) { - if ((e.altey || e.ctrlKey || e.shiftKey) || - !this.keyboard.applicationCursor) { - return '\x1b[H'; - } - - return '\x1bOH'; - } - - this.keyboard.terminal.scrollHome(); - return hterm.Keyboard.KeyActions.CANCEL; -}; - -/** - * Either scroll the scrollback buffer or send a key sequence. - */ -hterm.Keyboard.KeyMap.prototype.onKeyEnd_ = function(e) { - if (!this.keyboard.homeKeysScroll ^ e.shiftKey) { - if ((e.altKey || e.ctrlKey || e.shiftKey) || - !this.keyboard.applicationCursor) { - return '\x1b[F'; - } - - return '\x1bOF'; - } - - this.keyboard.terminal.scrollEnd(); - return hterm.Keyboard.KeyActions.CANCEL; -}; - -/** - * Either scroll the scrollback buffer or send a key sequence. - */ -hterm.Keyboard.KeyMap.prototype.onKeyPageUp_ = function(e) { - if (!this.keyboard.pageKeysScroll ^ e.shiftKey) - return '\x1b[5~'; - - this.keyboard.terminal.scrollPageUp(); - return hterm.Keyboard.KeyActions.CANCEL; -}; - -/** - * Either send a true DEL, or sub in meta-backspace. - * - * On Chrome OS, if we know the alt key is down, but we get a DEL event that - * claims that the alt key is not pressed, we know the DEL was a synthetic - * one from a user that hit alt-backspace. Based on a user pref, we can sub - * in meta-backspace in this case. - */ -hterm.Keyboard.KeyMap.prototype.onKeyDel_ = function(e) { - if (this.keyboard.altBackspaceIsMetaBackspace && - this.keyboard.altKeyPressed && !e.altKey) - return '\x1b\x7f'; - return '\x1b[3~'; -}; - -/** - * Either scroll the scrollback buffer or send a key sequence. - */ -hterm.Keyboard.KeyMap.prototype.onKeyPageDown_ = function(e) { - if (!this.keyboard.pageKeysScroll ^ e.shiftKey) - return '\x1b[6~'; - - this.keyboard.terminal.scrollPageDown(); - return hterm.Keyboard.KeyActions.CANCEL; -}; - -/** - * Either scroll the scrollback buffer or send a key sequence. - */ -hterm.Keyboard.KeyMap.prototype.onKeyArrowUp_ = function(e) { - if (!this.keyboard.applicationCursor && e.shiftKey) { - this.keyboard.terminal.scrollLineUp(); - return hterm.Keyboard.KeyActions.CANCEL; - } - - return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey || - !this.keyboard.applicationCursor) ? '\x1b[A' : '\x1bOA'; -}; - -/** - * Either scroll the scrollback buffer or send a key sequence. - */ -hterm.Keyboard.KeyMap.prototype.onKeyArrowDown_ = function(e) { - if (!this.keyboard.applicationCursor && e.shiftKey) { - this.keyboard.terminal.scrollLineDown(); - return hterm.Keyboard.KeyActions.CANCEL; - } - - return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey || - !this.keyboard.applicationCursor) ? '\x1b[B' : '\x1bOB'; -}; - -/** - * Clear the primary/alternate screens and the scrollback buffer. - */ -hterm.Keyboard.KeyMap.prototype.onClear_ = function(e, keyDef) { - this.keyboard.terminal.wipeContents(); - return hterm.Keyboard.KeyActions.CANCEL; -}; - -/** - * Either pass Ctrl-1..9 to the browser or send them to the host. - * - * Note that Ctrl-1 and Ctrl-9 don't actually have special sequences mapped - * to them in xterm or gnome-terminal. The range is really Ctrl-2..8, but - * we handle 1..9 since Chrome treats the whole range special. - */ -hterm.Keyboard.KeyMap.prototype.onCtrlNum_ = function(e, keyDef) { - // Compute a control character for a given character. - function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) } - - if (this.keyboard.terminal.passCtrlNumber && !e.shiftKey) - return hterm.Keyboard.KeyActions.PASS; - - switch (keyDef.keyCap.substr(0, 1)) { - case '1': return '1'; - case '2': return ctl('@'); - case '3': return ctl('['); - case '4': return ctl('\\'); - case '5': return ctl(']'); - case '6': return ctl('^'); - case '7': return ctl('_'); - case '8': return '\x7f'; - case '9': return '9'; - } -}; - -/** - * Either pass Alt-1..9 to the browser or send them to the host. - */ -hterm.Keyboard.KeyMap.prototype.onAltNum_ = function(e, keyDef) { - if (this.keyboard.terminal.passAltNumber && !e.shiftKey) - return hterm.Keyboard.KeyActions.PASS; - - return hterm.Keyboard.KeyActions.DEFAULT; -}; - -/** - * Either pass Meta-1..9 to the browser or send them to the host. - */ -hterm.Keyboard.KeyMap.prototype.onMetaNum_ = function(e, keyDef) { - if (this.keyboard.terminal.passMetaNumber && !e.shiftKey) - return hterm.Keyboard.KeyActions.PASS; - - return hterm.Keyboard.KeyActions.DEFAULT; -}; - -/** - * Either send a ^C or interpret the keystroke as a copy command. - */ -hterm.Keyboard.KeyMap.prototype.onCtrlC_ = function(e, keyDef) { - var selection = this.keyboard.terminal.getDocument().getSelection(); - - if (!selection.isCollapsed) { - if (this.keyboard.ctrlCCopy && !e.shiftKey) { - // Ctrl-C should copy if there is a selection, send ^C otherwise. - // Perform the copy by letting the browser handle Ctrl-C. On most - // browsers, this is the *only* way to place text on the clipboard from - // the 'drive-by' web. - if (this.keyboard.terminal.clearSelectionAfterCopy) { - setTimeout(selection.collapseToEnd.bind(selection), 50); - } - return hterm.Keyboard.KeyActions.PASS; - } - - if (!this.keyboard.ctrlCCopy && e.shiftKey) { - // Ctrl-Shift-C should copy if there is a selection, send ^C otherwise. - // Perform the copy manually. This only works in situations where - // document.execCommand('copy') is allowed. - if (this.keyboard.terminal.clearSelectionAfterCopy) { - setTimeout(selection.collapseToEnd.bind(selection), 50); - } - this.keyboard.terminal.copySelectionToClipboard(); - return hterm.Keyboard.KeyActions.CANCEL; - } - } - - return '\x03'; -}; - -/** - * Either send a ^N or open a new window to the same location. - */ -hterm.Keyboard.KeyMap.prototype.onCtrlN_ = function(e, keyDef) { - if (e.shiftKey) { - window.open(document.location.href, '', - 'chrome=no,close=yes,resize=yes,scrollbars=yes,' + - 'minimizable=yes,width=' + window.innerWidth + - ',height=' + window.innerHeight); - return hterm.Keyboard.KeyActions.CANCEL; - } - - return '\x0e'; -}; - -/** - * Either send a ^V or issue a paste command. - * - * The default behavior is to paste if the user presses Ctrl-Shift-V, and send - * a ^V if the user presses Ctrl-V. This can be flipped with the - * 'ctrl-v-paste' preference. - * - */ -hterm.Keyboard.KeyMap.prototype.onCtrlV_ = function(e, keyDef) { - if ((!e.shiftKey && this.keyboard.ctrlVPaste) || - (e.shiftKey && !this.keyboard.ctrlVPaste)) { - // We try to do the pasting ourselves as not all browsers/OSs bind Ctrl-V to - // pasting. Notably, on macOS, Ctrl-V/Ctrl-Shift-V do nothing. - // However, this might run into web restrictions, so if it fails, we still - // fallback to the letting the native behavior (hopefully) save us. - if (this.keyboard.terminal.paste()) - return hterm.Keyboard.KeyActions.CANCEL; - else - return hterm.Keyboard.KeyActions.PASS; - } - - return '\x16'; -}; - -/** - * Either the default action or open a new window to the same location. - */ -hterm.Keyboard.KeyMap.prototype.onMetaN_ = function(e, keyDef) { - if (e.shiftKey) { - window.open(document.location.href, '', - 'chrome=no,close=yes,resize=yes,scrollbars=yes,' + - 'minimizable=yes,width=' + window.outerWidth + - ',height=' + window.outerHeight); - return hterm.Keyboard.KeyActions.CANCEL; - } - - return hterm.Keyboard.KeyActions.DEFAULT; -}; - -/** - * Either send a Meta-C or allow the browser to interpret the keystroke as a - * copy command. - * - * If there is no selection, or if the user presses Meta-Shift-C, then we'll - * transmit an '\x1b' (if metaSendsEscape is on) followed by 'c' or 'C'. - * - * If there is a selection, we defer to the browser. In this case we clear out - * the selection so the user knows we heard them, and also to give them a - * chance to send a Meta-C by just hitting the key again. - */ -hterm.Keyboard.KeyMap.prototype.onMetaC_ = function(e, keyDef) { - var document = this.keyboard.terminal.getDocument(); - if (e.shiftKey || document.getSelection().isCollapsed) { - // If the shift key is being held, or there is no document selection, send - // a Meta-C. The keyboard code will add the ESC if metaSendsEscape is true, - // we just have to decide between 'c' and 'C'. - return keyDef.keyCap.substr(e.shiftKey ? 1 : 0, 1); - } - - // Otherwise let the browser handle it as a copy command. - if (this.keyboard.terminal.clearSelectionAfterCopy) { - setTimeout(function() { document.getSelection().collapseToEnd() }, 50); - } - return hterm.Keyboard.KeyActions.PASS; -}; - -/** - * Either PASS or DEFAULT Meta-V, depending on preference. - * - * Always PASS Meta-Shift-V to allow browser to interpret the keystroke as - * a paste command. - */ -hterm.Keyboard.KeyMap.prototype.onMetaV_ = function(e, keyDef) { - if (e.shiftKey) - return hterm.Keyboard.KeyActions.PASS; - - return this.keyboard.passMetaV ? - hterm.Keyboard.KeyActions.PASS : - hterm.Keyboard.KeyActions.DEFAULT; -}; - -/** - * Handle font zooming. - * - * The browser's built-in zoom has a bit of an issue at certain zoom levels. - * At some magnifications, the measured height of a row of text differs from - * the height that was explicitly set. - * - * We override the browser zoom keys to change the ScrollPort's font size to - * avoid the issue. - */ -hterm.Keyboard.KeyMap.prototype.onPlusMinusZero_ = function(e, keyDef) { - if (!(this.keyboard.ctrlPlusMinusZeroZoom ^ e.shiftKey)) { - // If ctrl-PMZ controls zoom and the shift key is pressed, or - // ctrl-shift-PMZ controls zoom and this shift key is not pressed, - // then we want to send the control code instead of affecting zoom. - if (keyDef.keyCap == '-_') - return '\x1f'; // ^_ - - // Only ^_ is valid, the other sequences have no meaning. - return hterm.Keyboard.KeyActions.CANCEL; - } - - if (this.keyboard.terminal.getZoomFactor() != 1) { - // If we're not at 1:1 zoom factor, let the Ctrl +/-/0 keys control the - // browser zoom, so it's easier to for the user to get back to 100%. - return hterm.Keyboard.KeyActions.PASS; - } - - var cap = keyDef.keyCap.substr(0, 1); - if (cap == '0') { - this.keyboard.terminal.setFontSize(0); - } else { - var size = this.keyboard.terminal.getFontSize(); - - if (cap == '-' || keyDef.keyCap == '[KP-]') { - size -= 1; - } else { - size += 1; - } - - this.keyboard.terminal.setFontSize(size); - } - - return hterm.Keyboard.KeyActions.CANCEL; -}; -// SOURCE FILE: hterm/js/hterm_keyboard_keypattern.js -// Copyright (c) 2015 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -/** - * A record of modifier bits and keycode used to define a key binding. - * - * The modifier names are enumerated in the static KeyPattern.modifiers - * property below. Each modifier can be true, false, or "*". True means - * the modifier key must be present, false means it must not, and "*" means - * it doesn't matter. - */ -hterm.Keyboard.KeyPattern = function(spec) { - this.wildcardCount = 0; - this.keyCode = spec.keyCode; - - hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) { - this[mod] = spec[mod] || false; - if (this[mod] == '*') - this.wildcardCount++; - }.bind(this)); -}; - -/** - * Valid modifier names. - */ -hterm.Keyboard.KeyPattern.modifiers = [ - 'shift', 'ctrl', 'alt', 'meta' -]; - -/** - * A compare callback for Array.prototype.sort(). - * - * The bindings code wants to be sure to search through the strictest key - * patterns first, so that loosely defined patterns have a lower priority than - * exact patterns. - * - * @param {hterm.Keyboard.KeyPattern} a - * @param {hterm.Keyboard.KeyPattern} b - */ -hterm.Keyboard.KeyPattern.sortCompare = function(a, b) { - if (a.wildcardCount < b.wildcardCount) - return -1; - - if (a.wildcardCount > b.wildcardCount) - return 1; - - return 0; -}; - -/** - * Private method used to match this key pattern against other key patterns - * or key down events. - * - * @param {Object} The object to match. - * @param {boolean} True if we should ignore wildcards. Useful when you want - * to perform and exact match against another key pattern. - */ -hterm.Keyboard.KeyPattern.prototype.match_ = function(obj, exactMatch) { - if (this.keyCode != obj.keyCode) - return false; - - var rv = true; - - hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) { - var modValue = (mod in obj) ? obj[mod] : false; - if (!rv || (!exactMatch && this[mod] == '*') || this[mod] == modValue) - return; - - rv = false; - }.bind(this)); - - return rv; -}; - -/** - * Return true if the given keyDown object is a match for this key pattern. - * - * @param {Object} keyDown An object with a keyCode property and zero or - * more boolean properties representing key modifiers. These property names - * must match those defined in hterm.Keyboard.KeyPattern.modifiers. - */ -hterm.Keyboard.KeyPattern.prototype.matchKeyDown = function(keyDown) { - return this.match_(keyDown, false); -}; - -/** - * Return true if the given hterm.Keyboard.KeyPattern is exactly the same as - * this one. - * - * @param {hterm.Keyboard.KeyPattern} - */ -hterm.Keyboard.KeyPattern.prototype.matchKeyPattern = function(keyPattern) { - return this.match_(keyPattern, true); -}; -// SOURCE FILE: hterm/js/hterm_options.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -/** - * @fileoverview This file implements the hterm.Options class, - * which stores current operating conditions for the terminal. This object is - * used instead of a series of parameters to allow saving/restoring of cursor - * conditions easily, and to provide an easy place for common configuration - * options. - * - * Original code by Cory Maccarrone. - */ - -/** - * Constructor for the hterm.Options class, optionally acting as a copy - * constructor. - * - * The defaults are as defined in http://www.vt100.net/docs/vt510-rm/DECSTR - * except that we enable autowrap (wraparound) by default since that seems to - * be what xterm does. - * - * @param {hterm.Options=} opt_copy Optional instance to copy. - * @constructor - */ -hterm.Options = function(opt_copy) { - // All attributes in this class are public to allow easy access by the - // terminal. - - this.wraparound = opt_copy ? opt_copy.wraparound : true; - this.reverseWraparound = opt_copy ? opt_copy.reverseWraparound : false; - this.originMode = opt_copy ? opt_copy.originMode : false; - this.autoCarriageReturn = opt_copy ? opt_copy.autoCarriageReturn : false; - this.cursorVisible = opt_copy ? opt_copy.cursorVisible : false; - this.cursorBlink = opt_copy ? opt_copy.cursorBlink : false; - this.insertMode = opt_copy ? opt_copy.insertMode : false; - this.reverseVideo = opt_copy ? opt_copy.reverseVideo : false; - this.bracketedPaste = opt_copy ? opt_copy.bracketedPaste : false; -}; -// SOURCE FILE: hterm/js/hterm_parser.js -// Copyright (c) 2015 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -lib.rtdep('hterm.Keyboard.KeyActions'); - -/** - * @constructor - * Parses the key definition syntax used for user keyboard customizations. - */ -hterm.Parser = function() { - /** - * @type {string} The source string. - */ - this.source = ''; - - /** - * @type {number} The current position. - */ - this.pos = 0; - - /** - * @type {string?} The character at the current position. - */ - this.ch = null; -}; - -hterm.Parser.prototype.error = function(message) { - return new Error('Parse error at ' + this.pos + ': ' + message); -}; - -hterm.Parser.prototype.isComplete = function() { - return this.pos == this.source.length; -}; - -hterm.Parser.prototype.reset = function(source, opt_pos) { - this.source = source; - this.pos = opt_pos || 0; - this.ch = source.substr(0, 1); -}; - -/** - * Parse a key sequence. - * - * A key sequence is zero or more of the key modifiers defined in - * hterm.Parser.identifiers.modifierKeys followed by a key code. Key - * codes can be an integer or an identifier from - * hterm.Parser.identifiers.keyCodes. Modifiers and keyCodes should be joined - * by the dash character. - * - * An asterisk "*" can be used to indicate that the unspecified modifiers - * are optional. - * - * For example: - * A: Matches only an unmodified "A" character. - * 65: Same as above. - * 0x41: Same as above. - * Ctrl-A: Matches only Ctrl-A. - * Ctrl-65: Same as above. - * Ctrl-0x41: Same as above. - * Ctrl-Shift-A: Matches only Ctrl-Shift-A. - * Ctrl-*-A: Matches Ctrl-A, as well as any other key sequence that includes - * at least the Ctrl and A keys. - * - * @return {Object} An object with shift, ctrl, alt, meta, keyCode - * properties. - */ -hterm.Parser.prototype.parseKeySequence = function() { - var rv = { - keyCode: null - }; - - for (var k in hterm.Parser.identifiers.modifierKeys) { - rv[hterm.Parser.identifiers.modifierKeys[k]] = false; - } - - while (this.pos < this.source.length) { - this.skipSpace(); - - var token = this.parseToken(); - if (token.type == 'integer') { - rv.keyCode = token.value; - - } else if (token.type == 'identifier') { - var ucValue = token.value.toUpperCase(); - if (ucValue in hterm.Parser.identifiers.modifierKeys && - hterm.Parser.identifiers.modifierKeys.hasOwnProperty(ucValue)) { - var mod = hterm.Parser.identifiers.modifierKeys[ucValue]; - if (rv[mod] && rv[mod] != '*') - throw this.error('Duplicate modifier: ' + token.value); - rv[mod] = true; - - } else if (ucValue in hterm.Parser.identifiers.keyCodes && - hterm.Parser.identifiers.keyCodes.hasOwnProperty(ucValue)) { - rv.keyCode = hterm.Parser.identifiers.keyCodes[ucValue]; - - } else { - throw this.error('Unknown key: ' + token.value); - } - - } else if (token.type == 'symbol') { - if (token.value == '*') { - for (var id in hterm.Parser.identifiers.modifierKeys) { - var p = hterm.Parser.identifiers.modifierKeys[id]; - if (!rv[p]) - rv[p] = '*'; - } - } else { - throw this.error('Unexpected symbol: ' + token.value); - } - } else { - throw this.error('Expected integer or identifier'); - } - - this.skipSpace(); - - if (this.ch != '-') - break; - - if (rv.keyCode != null) - throw this.error('Extra definition after target key'); - - this.advance(1); - } - - if (rv.keyCode == null) - throw this.error('Missing target key'); - - return rv; -}; - -hterm.Parser.prototype.parseKeyAction = function() { - this.skipSpace(); - - var token = this.parseToken(); - - if (token.type == 'string') - return token.value; - - if (token.type == 'identifier') { - if (token.value in hterm.Parser.identifiers.actions && - hterm.Parser.identifiers.actions.hasOwnProperty(token.value)) - return hterm.Parser.identifiers.actions[token.value]; - - throw this.error('Unknown key action: ' + token.value); - } - - throw this.error('Expected string or identifier'); - -}; - -hterm.Parser.prototype.peekString = function() { - return this.ch == '\'' || this.ch == '"'; -}; - -hterm.Parser.prototype.peekIdentifier = function() { - return this.ch.match(/[a-z_]/i); -}; - -hterm.Parser.prototype.peekInteger = function() { - return this.ch.match(/[0-9]/); -}; - -hterm.Parser.prototype.parseToken = function() { - if (this.ch == '*') { - var rv = {type: 'symbol', value: this.ch}; - this.advance(1); - return rv; - } - - if (this.peekIdentifier()) - return {type: 'identifier', value: this.parseIdentifier()}; - - if (this.peekString()) - return {type: 'string', value: this.parseString()}; - - if (this.peekInteger()) - return {type: 'integer', value: this.parseInteger()}; - - - throw this.error('Unexpected token'); -}; - -hterm.Parser.prototype.parseIdentifier = function() { - if (!this.peekIdentifier()) - throw this.error('Expected identifier'); - - return this.parsePattern(/[a-z0-9_]+/ig); -}; - -hterm.Parser.prototype.parseInteger = function() { - var base = 10; - - if (this.ch == '0' && this.pos < this.source.length - 1 && - this.source.substr(this.pos + 1, 1) == 'x') { - return parseInt(this.parsePattern(/0x[0-9a-f]+/gi)); - } - - return parseInt(this.parsePattern(/\d+/g)); -}; - -/** - * Parse a single or double quoted string. - * - * The current position should point at the initial quote character. Single - * quoted strings will be treated literally, double quoted will process escapes. - * - * TODO(rginda): Variable interpolation. - * - * @param {ParseState} parseState - * @param {string} quote A single or double-quote character. - * @return {string} - */ -hterm.Parser.prototype.parseString = function() { - var result = ''; - - var quote = this.ch; - if (quote != '"' && quote != '\'') - throw this.error('String expected'); - - this.advance(1); - - var re = new RegExp('[\\\\' + quote + ']', 'g'); - - while (this.pos < this.source.length) { - re.lastIndex = this.pos; - if (!re.exec(this.source)) - throw this.error('Unterminated string literal'); - - result += this.source.substring(this.pos, re.lastIndex - 1); - - this.advance(re.lastIndex - this.pos - 1); - - if (quote == '"' && this.ch == '\\') { - this.advance(1); - result += this.parseEscape(); - continue; - } - - if (quote == '\'' && this.ch == '\\') { - result += this.ch; - this.advance(1); - continue; - } - - if (this.ch == quote) { - this.advance(1); - return result; - } - } - - throw this.error('Unterminated string literal'); -}; - - -/** - * Parse an escape code from the current position (which should point to - * the first character AFTER the leading backslash.) - * - * @return {string} - */ -hterm.Parser.prototype.parseEscape = function() { - var map = { - '"': '"', - '\'': '\'', - '\\': '\\', - 'a': '\x07', - 'b': '\x08', - 'e': '\x1b', - 'f': '\x0c', - 'n': '\x0a', - 'r': '\x0d', - 't': '\x09', - 'v': '\x0b', - 'x': function() { - var value = this.parsePattern(/[a-z0-9]{2}/ig); - return String.fromCharCode(parseInt(value, 16)); - }, - 'u': function() { - var value = this.parsePattern(/[a-z0-9]{4}/ig); - return String.fromCharCode(parseInt(value, 16)); - } - }; - - if (!(this.ch in map && map.hasOwnProperty(this.ch))) - throw this.error('Unknown escape: ' + this.ch); - - var value = map[this.ch]; - this.advance(1); - - if (typeof value == 'function') - value = value.call(this); - - return value; -}; - -/** - * Parse the given pattern starting from the current position. - * - * @param {RegExp} pattern A pattern representing the characters to span. MUST - * include the "global" RegExp flag. - * @return {string} - */ -hterm.Parser.prototype.parsePattern = function(pattern) { - if (!pattern.global) - throw this.error('Internal error: Span patterns must be global'); - - pattern.lastIndex = this.pos; - var ary = pattern.exec(this.source); - - if (!ary || pattern.lastIndex - ary[0].length != this.pos) - throw this.error('Expected match for: ' + pattern); - - this.pos = pattern.lastIndex - 1; - this.advance(1); - - return ary[0]; -}; - - -/** - * Advance the current position. - * - * @param {number} count - */ -hterm.Parser.prototype.advance = function(count) { - this.pos += count; - this.ch = this.source.substr(this.pos, 1); -}; - -/** - * @param {string=} opt_expect A list of valid non-whitespace characters to - * terminate on. - * @return {void} - */ -hterm.Parser.prototype.skipSpace = function(opt_expect) { - if (!/\s/.test(this.ch)) - return; - - var re = /\s+/gm; - re.lastIndex = this.pos; - - var source = this.source; - if (re.exec(source)) - this.pos = re.lastIndex; - - this.ch = this.source.substr(this.pos, 1); - - if (opt_expect) { - if (this.ch.indexOf(opt_expect) == -1) { - throw this.error('Expected one of ' + opt_expect + ', found: ' + - this.ch); - } - } -}; -// SOURCE FILE: hterm/js/hterm_parser_identifiers.js -// Copyright (c) 2015 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -/** - * Collections of identifier for hterm.Parser. - */ -hterm.Parser.identifiers = {}; - -/** - * Modifier key names used when defining key sequences. - * - * These are upper case so we can normalize the user input and be forgiving. - * "CTRL-A" and "Ctrl-A" and "ctrl-a" are all accepted. - * - * Note: Names here cannot overlap with hterm.Parser.identifiers.keyCodes. - */ -hterm.Parser.identifiers.modifierKeys = { - SHIFT: 'shift', - CTRL: 'ctrl', - // Common alias. - CONTROL: 'ctrl', - ALT: 'alt', - META: 'meta' -}; - -/** - * Key codes useful when defining key sequences. - * - * Punctuation is mostly left out of this list because they can move around - * based on keyboard locale and browser. - * - * In a key sequence like "Ctrl-ESC", the ESC comes from this list of - * identifiers. It is equivalent to "Ctrl-27" and "Ctrl-0x1b". - * - * These are upper case so we can normalize the user input and be forgiving. - * "Ctrl-ESC" and "Ctrl-Esc" an "Ctrl-esc" are all accepted. - * - * We also include common aliases for the same key. "Esc" and "Escape" are the - * same key. - * - * Note: Names here cannot overlap with hterm.Parser.identifiers.modifierKeys. - */ -hterm.Parser.identifiers.keyCodes = { - // Top row. - ESCAPE: 27, - ESC: 27, - F1: 112, - F2: 113, - F3: 114, - F4: 115, - F5: 116, - F6: 117, - F7: 118, - F8: 119, - F9: 120, - F10: 121, - F11: 122, - F12: 123, - - // Row two. - ONE: 49, - TWO: 50, - THREE: 51, - FOUR: 52, - FIVE: 53, - SIX: 54, - SEVEN: 55, - EIGHT: 56, - NINE: 57, - ZERO: 48, - BACKSPACE: 8, - BKSP: 8, - BS: 8, - - // Row three. - TAB: 9, - Q: 81, - W: 87, - E: 69, - R: 82, - T: 84, - Y: 89, - U: 85, - I: 73, - O: 79, - P: 80, - - // Row four. - CAPS_LOCK: 20, - CAPSLOCK: 20, - CAPS: 20, - A: 65, - S: 83, - D: 68, - F: 70, - G: 71, - H: 72, - J: 74, - K: 75, - L: 76, - // We map enter and return together even though enter should really be 10 - // because most people don't know or care about the history here. Plus, - // most keyboards/programs map them together already. If they really want - // to bind them differently, they can also use the numeric value. - ENTER: 13, - ENT: 13, - RETURN: 13, - RET: 13, - - // Row five. - Z: 90, - X: 88, - C: 67, - V: 86, - B: 66, - N: 78, - M: 77, - - // Etc. - SPACE: 32, - SP: 32, - PRINT_SCREEN: 42, - PRTSC: 42, - SCROLL_LOCK: 145, - SCRLK: 145, - BREAK: 19, - BRK: 19, - INSERT: 45, - INS: 45, - HOME: 36, - PAGE_UP: 33, - PGUP: 33, - DELETE: 46, - DEL: 46, - END: 35, - PAGE_DOWN: 34, - PGDOWN: 34, - PGDN: 34, - UP: 38, - DOWN: 40, - RIGHT: 39, - LEFT: 37, - NUMLOCK: 144, - - // Keypad - KP0: 96, - KP1: 97, - KP2: 98, - KP3: 99, - KP4: 100, - KP5: 101, - KP6: 102, - KP7: 103, - KP8: 104, - KP9: 105, - KP_PLUS: 107, - KP_ADD: 107, - KP_MINUS: 109, - KP_SUBTRACT: 109, - KP_STAR: 106, - KP_MULTIPLY: 106, - KP_DIVIDE: 111, - KP_DECIMAL: 110, - KP_PERIOD: 110, - - // Chrome OS media keys - NAVIGATE_BACK: 166, - NAVIGATE_FORWARD: 167, - RELOAD: 168, - FULL_SCREEN: 183, - WINDOW_OVERVIEW: 182, - BRIGHTNESS_UP: 216, - BRIGHTNESS_DOWN: 217 -}; - -/** - * Identifiers for use in key actions. - */ -hterm.Parser.identifiers.actions = { - /** - * Prevent the browser and operating system from handling the event. - */ - CANCEL: hterm.Keyboard.KeyActions.CANCEL, - - /** - * Wait for a "keypress" event, send the keypress charCode to the host. - */ - DEFAULT: hterm.Keyboard.KeyActions.DEFAULT, - - /** - * Let the browser or operating system handle the key. - */ - PASS: hterm.Keyboard.KeyActions.PASS, - - /** - * Scroll the terminal one page up. - */ - scrollPageUp: function(terminal) { - terminal.scrollPageUp(); - return hterm.Keyboard.KeyActions.CANCEL; - }, - - /** - * Scroll the terminal one page down. - */ - scrollPageDown: function(terminal) { - terminal.scrollPageDown(); - return hterm.Keyboard.KeyActions.CANCEL; - }, - - /** - * Scroll the terminal to the top. - */ - scrollToTop: function(terminal) { - terminal.scrollEnd(); - return hterm.Keyboard.KeyActions.CANCEL; - }, - - /** - * Scroll the terminal to the bottom. - */ - scrollToBottom: function(terminal) { - terminal.scrollEnd(); - return hterm.Keyboard.KeyActions.CANCEL; - }, - - /** - * Clear the terminal and scrollback buffer. - */ - clearScrollback: function(terminal) { - terminal.wipeContents(); - return hterm.Keyboard.KeyActions.CANCEL; - } -}; -// SOURCE FILE: hterm/js/hterm_preference_manager.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -lib.rtdep('lib.f', 'lib.Storage'); - -/** - * PreferenceManager subclass managing global NaSSH preferences. - * - * This is currently just an ordered list of known connection profiles. - */ -hterm.PreferenceManager = function(profileId) { - lib.PreferenceManager.call(this, hterm.defaultStorage, - '/hterm/profiles/' + profileId); - var defs = hterm.PreferenceManager.defaultPreferences; - Object.keys(defs).forEach(function(key) { - this.definePreference(key, defs[key][1]); - }.bind(this)); -}; - -hterm.PreferenceManager.categories = {}; -hterm.PreferenceManager.categories.Keyboard = 'Keyboard'; -hterm.PreferenceManager.categories.Appearance = 'Appearance'; -hterm.PreferenceManager.categories.CopyPaste = 'CopyPaste'; -hterm.PreferenceManager.categories.Sounds = 'Sounds'; -hterm.PreferenceManager.categories.Scrolling = 'Scrolling'; -hterm.PreferenceManager.categories.Encoding = 'Encoding'; -hterm.PreferenceManager.categories.Miscellaneous = 'Miscellaneous'; - -/** - * List of categories, ordered by display order (top to bottom) - */ -hterm.PreferenceManager.categoryDefinitions = [ - { id: hterm.PreferenceManager.categories.Appearance, - text: 'Appearance (fonts, colors, images)'}, - { id: hterm.PreferenceManager.categories.CopyPaste, - text: 'Copy & Paste'}, - { id: hterm.PreferenceManager.categories.Encoding, - text: 'Encoding'}, - { id: hterm.PreferenceManager.categories.Keyboard, - text: 'Keyboard'}, - { id: hterm.PreferenceManager.categories.Scrolling, - text: 'Scrolling'}, - { id: hterm.PreferenceManager.categories.Sounds, - text: 'Sounds'}, - { id: hterm.PreferenceManager.categories.Miscellaneous, - text: 'Misc.'} -]; - - -hterm.PreferenceManager.defaultPreferences = { - 'alt-gr-mode': - [hterm.PreferenceManager.categories.Keyboard, null, - [null, 'none', 'ctrl-alt', 'left-alt', 'right-alt'], - 'Select an AltGr detection hack^Wheuristic.\n' + - '\n' + - '\'null\': Autodetect based on navigator.language:\n' + - ' \'en-us\' => \'none\', else => \'right-alt\'\n' + - '\'none\': Disable any AltGr related munging.\n' + - '\'ctrl-alt\': Assume Ctrl+Alt means AltGr.\n' + - '\'left-alt\': Assume left Alt means AltGr.\n' + - '\'right-alt\': Assume right Alt means AltGr.\n'], - - 'alt-backspace-is-meta-backspace': - [hterm.PreferenceManager.categories.Keyboard, false, 'bool', - 'If set, undoes the Chrome OS Alt-Backspace->DEL remap, so that ' + - 'alt-backspace indeed is alt-backspace.'], - - 'alt-is-meta': - [hterm.PreferenceManager.categories.Keyboard, false, 'bool', - 'Set whether the alt key acts as a meta key or as a distinct alt key.'], - - 'alt-sends-what': - [hterm.PreferenceManager.categories.Keyboard, 'escape', - ['escape', '8-bit', 'browser-key'], - 'Controls how the alt key is handled.\n' + - '\n' + - ' escape....... Send an ESC prefix.\n' + - ' 8-bit........ Add 128 to the unshifted character as in xterm.\n' + - ' browser-key.. Wait for the keypress event and see what the browser \n' + - ' says. (This won\'t work well on platforms where the \n' + - ' browser performs a default action for some alt sequences.)' - ], - - 'audible-bell-sound': - [hterm.PreferenceManager.categories.Sounds, 'lib-resource:hterm/audio/bell', - 'url', - 'URL of the terminal bell sound. Empty string for no audible bell.'], - - 'desktop-notification-bell': - [hterm.PreferenceManager.categories.Sounds, false, 'bool', - 'If true, terminal bells in the background will create a Web ' + - 'Notification. https://www.w3.org/TR/notifications/\n' + - '\n'+ - 'Displaying notifications requires permission from the user. When this ' + - 'option is set to true, hterm will attempt to ask the user for permission ' + - 'if necessary. Note browsers may not show this permission request if it ' + - 'did not originate from a user action.\n' + - '\n' + - 'Chrome extensions with the "notifications" permission have permission to ' + - 'display notifications.'], - - 'background-color': - [hterm.PreferenceManager.categories.Appearance, 'rgb(16, 16, 16)', 'color', - 'The background color for text with no other color attributes.'], - - 'background-image': - [hterm.PreferenceManager.categories.Appearance, '', 'string', - 'CSS value of the background image. Empty string for no image.\n' + - '\n' + - 'For example:\n' + - ' url(https://goo.gl/anedTK)\n' + - ' linear-gradient(top bottom, blue, red)'], - - 'background-size': - [hterm.PreferenceManager.categories.Appearance, '', 'string', - 'CSS value of the background image size. Defaults to none.'], - - 'background-position': - [hterm.PreferenceManager.categories.Appearance, '', 'string', - 'CSS value of the background image position.\n' + - '\n' + - 'For example:\n' + - ' 10% 10%\n' + - ' center'], - - 'backspace-sends-backspace': - [hterm.PreferenceManager.categories.Keyboard, false, 'bool', - 'If true, the backspace should send BS (\'\\x08\', aka ^H). Otherwise ' + - 'the backspace key should send \'\\x7f\'.'], - - 'character-map-overrides': - [hterm.PreferenceManager.categories.Appearance, null, 'value', - 'This is specified as an object. It is a sparse array, where each ' + - 'property is the character set code and the value is an object that is ' + - 'a sparse array itself. In that sparse array, each property is the ' + - 'received character and the value is the displayed character.\n' + - '\n' + - 'For example:\n' + - ' {"0":{"+":"\\u2192",",":"\\u2190","-":"\\u2191",".":"\\u2193", ' + - '"0":"\\u2588"}}' - ], - - 'close-on-exit': - [hterm.PreferenceManager.categories.Miscellaneous, true, 'bool', - 'Whether or not to close the window when the command exits.'], - - 'cursor-blink': - [hterm.PreferenceManager.categories.Appearance, false, 'bool', - 'Whether or not to blink the cursor by default.'], - - 'cursor-blink-cycle': - [hterm.PreferenceManager.categories.Appearance, [1000, 500], 'value', - 'The cursor blink rate in milliseconds.\n' + - '\n' + - 'A two element array, the first of which is how long the cursor should be ' + - 'on, second is how long it should be off.'], - - 'cursor-color': - [hterm.PreferenceManager.categories.Appearance, 'rgba(255, 0, 0, 0.5)', - 'color', - 'The color of the visible cursor.'], - - 'color-palette-overrides': - [hterm.PreferenceManager.categories.Appearance, null, 'value', - 'Override colors in the default palette.\n' + - '\n' + - 'This can be specified as an array or an object. If specified as an ' + - 'object it is assumed to be a sparse array, where each property ' + - 'is a numeric index into the color palette.\n' + - '\n' + - 'Values can be specified as almost any css color value. This ' + - 'includes #RGB, #RRGGBB, rgb(...), rgba(...), and any color names ' + - 'that are also part of the stock X11 rgb.txt file.\n' + - '\n' + - 'You can use \'null\' to specify that the default value should be not ' + - 'be changed. This is useful for skipping a small number of indices ' + - 'when the value is specified as an array.'], - - 'copy-on-select': - [hterm.PreferenceManager.categories.CopyPaste, true, 'bool', - 'Automatically copy mouse selection to the clipboard.'], - - 'use-default-window-copy': - [hterm.PreferenceManager.categories.CopyPaste, false, 'bool', - 'Whether to use the default window copy behavior'], - - 'clear-selection-after-copy': - [hterm.PreferenceManager.categories.CopyPaste, true, 'bool', - 'Whether to clear the selection after copying.'], - - 'ctrl-plus-minus-zero-zoom': - [hterm.PreferenceManager.categories.Keyboard, true, 'bool', - 'If true, Ctrl-Plus/Minus/Zero controls zoom.\n' + - 'If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_, ' + - 'Ctrl-Plus/Zero do nothing.'], - - 'ctrl-c-copy': - [hterm.PreferenceManager.categories.Keyboard, false, 'bool', - 'Ctrl+C copies if true, send ^C to host if false.\n' + - 'Ctrl+Shift+C sends ^C to host if true, copies if false.'], - - 'ctrl-v-paste': - [hterm.PreferenceManager.categories.Keyboard, false, 'bool', - 'Ctrl+V pastes if true, send ^V to host if false.\n' + - 'Ctrl+Shift+V sends ^V to host if true, pastes if false.'], - - 'east-asian-ambiguous-as-two-column': - [hterm.PreferenceManager.categories.Keyboard, false, 'bool', - 'Set whether East Asian Ambiguous characters have two column width.'], - - 'enable-8-bit-control': - [hterm.PreferenceManager.categories.Keyboard, false, 'bool', - 'True to enable 8-bit control characters, false to ignore them.\n' + - '\n' + - 'We\'ll respect the two-byte versions of these control characters ' + - 'regardless of this setting.'], - - 'enable-bold': - [hterm.PreferenceManager.categories.Appearance, null, 'tristate', - 'True if we should use bold weight font for text with the bold/bright ' + - 'attribute. False to use the normal weight font. Null to autodetect.'], - - 'enable-bold-as-bright': - [hterm.PreferenceManager.categories.Appearance, true, 'bool', - 'True if we should use bright colors (8-15 on a 16 color palette) ' + - 'for any text with the bold attribute. False otherwise.'], - - 'enable-blink': - [hterm.PreferenceManager.categories.Appearance, true, 'bool', - 'True if we should respect the blink attribute. False to ignore it. '], - - 'enable-clipboard-notice': - [hterm.PreferenceManager.categories.CopyPaste, true, 'bool', - 'Show a message in the terminal when the host writes to the clipboard.'], - - 'enable-clipboard-write': - [hterm.PreferenceManager.categories.CopyPaste, true, 'bool', - 'Allow the host to write directly to the system clipboard.'], - - 'enable-dec12': - [hterm.PreferenceManager.categories.Miscellaneous, false, 'bool', - 'Respect the host\'s attempt to change the cursor blink status using ' + - 'DEC Private Mode 12.'], - - 'environment': - [hterm.PreferenceManager.categories.Miscellaneous, {'TERM': 'xterm-256color'}, - 'value', - 'The default environment variables, as an object.'], - - 'font-family': - [hterm.PreferenceManager.categories.Appearance, - '"DejaVu Sans Mono", "Everson Mono", FreeMono, "Menlo", "Terminal", ' + - 'monospace', 'string', - 'Default font family for the terminal text.'], - - 'font-size': - [hterm.PreferenceManager.categories.Appearance, 15, 'int', - 'The default font size in pixels.'], - - 'font-smoothing': - [hterm.PreferenceManager.categories.Appearance, 'antialiased', 'string', - 'CSS font-smoothing property.'], - - 'foreground-color': - [hterm.PreferenceManager.categories.Appearance, 'rgb(240, 240, 240)', 'color', - 'The foreground color for text with no other color attributes.'], - - 'home-keys-scroll': - [hterm.PreferenceManager.categories.Keyboard, false, 'bool', - 'If true, home/end will control the terminal scrollbar and shift home/end ' + - 'will send the VT keycodes. If false then home/end sends VT codes and ' + - 'shift home/end scrolls.'], - - 'keybindings': - [hterm.PreferenceManager.categories.Keyboard, null, 'value', - 'A map of key sequence to key actions. Key sequences include zero or ' + - 'more modifier keys followed by a key code. Key codes can be decimal or ' + - 'hexadecimal numbers, or a key identifier. Key actions can be specified ' + - 'a string to send to the host, or an action identifier. For a full ' + - 'explanation of the format, see https://goo.gl/LWRndr.\n' + - '\n' + - 'Sample keybindings:\n' + - '{\n' + - ' "Ctrl-Alt-K": "clearScrollback",\n' + - ' "Ctrl-Shift-L": "PASS",\n' + - ' "Ctrl-H": "\'HELLO\\n\'"\n' + - '}'], - - 'max-string-sequence': - [hterm.PreferenceManager.categories.Encoding, 100000, 'int', - 'Max length of a DCS, OSC, PM, or APS sequence before we give up and ' + - 'ignore the code.'], - - 'media-keys-are-fkeys': - [hterm.PreferenceManager.categories.Keyboard, false, 'bool', - 'If true, convert media keys to their Fkey equivalent. If false, let ' + - 'the browser handle the keys.'], - - 'meta-sends-escape': - [hterm.PreferenceManager.categories.Keyboard, true, 'bool', - 'Set whether the meta key sends a leading escape or not.'], - - 'mouse-right-click-paste': - [hterm.PreferenceManager.categories.CopyPaste, true, 'bool', - 'Paste on right mouse button clicks.\n' + - '\n' + - 'This option is activate independent of the "mouse-paste-button" ' + - 'setting.\n' + - '\n' + - 'Note: This will handle left & right handed mice correctly.'], - - 'mouse-paste-button': - [hterm.PreferenceManager.categories.CopyPaste, null, - [null, 0, 1, 2, 3, 4, 5, 6], - 'Mouse paste button, or null to autodetect.\n' + - '\n' + - 'For autodetect, we\'ll use the middle mouse button for non-X11 ' + - 'platforms (including Chrome OS). On X11, we\'ll use the right mouse ' + - 'button (since the native window manager should paste via the middle ' + - 'mouse button).\n' + - '\n' + - '0 == left (primary) button.\n' + - '1 == middle (auxiliary) button.\n' + - '2 == right (secondary) button.\n' + - '\n' + - 'This option is activate independent of the "mouse-right-click-paste" ' + - 'setting.\n' + - '\n' + - 'Note: This will handle left & right handed mice correctly.'], - - 'word-break-match-left': - [hterm.PreferenceManager.categories.CopyPaste, - '[^\\s\\[\\](){}<>"\'\\^!@#$%&*,;:`]', 'string', - 'Regular expression to halt matching to the left (start) of a selection.\n' + - '\n' + - 'Normally this is a character class to reject specific characters.\n' + - 'We allow "~" and "." by default as paths frequently start with those.'], - - 'word-break-match-right': - [hterm.PreferenceManager.categories.CopyPaste, - '[^\\s\\[\\](){}<>"\'\\^!@#$%&*,;:~.`]', 'string', - 'Regular expression to halt matching to the right (end) of a selection.\n' + - '\n' + - 'Normally this is a character class to reject specific characters.'], - - 'word-break-match-middle': - [hterm.PreferenceManager.categories.CopyPaste, - '[^\\s\\[\\](){}<>"\'\\^]*', 'string', - 'Regular expression to match all the characters in the middle.\n' + - '\n' + - 'Normally this is a character class to reject specific characters.\n' + - '\n' + - 'Used to expand the selection surrounding the starting point.'], - - 'page-keys-scroll': - [hterm.PreferenceManager.categories.Keyboard, false, 'bool', - 'If true, page up/down will control the terminal scrollbar and shift ' + - 'page up/down will send the VT keycodes. If false then page up/down ' + - 'sends VT codes and shift page up/down scrolls.'], - - 'pass-alt-number': - [hterm.PreferenceManager.categories.Keyboard, null, 'tristate', - 'Set whether we should pass Alt-1..9 to the browser.\n' + - '\n' + - 'This is handy when running hterm in a browser tab, so that you don\'t ' + - 'lose Chrome\'s "switch to tab" keyboard accelerators. When not running ' + - 'in a tab it\'s better to send these keys to the host so they can be ' + - 'used in vim or emacs.\n' + - '\n' + - 'If true, Alt-1..9 will be handled by the browser. If false, Alt-1..9 ' + - 'will be sent to the host. If null, autodetect based on browser platform ' + - 'and window type.'], - - 'pass-ctrl-number': - [hterm.PreferenceManager.categories.Keyboard, null, 'tristate', - 'Set whether we should pass Ctrl-1..9 to the browser.\n' + - '\n' + - 'This is handy when running hterm in a browser tab, so that you don\'t ' + - 'lose Chrome\'s "switch to tab" keyboard accelerators. When not running ' + - 'in a tab it\'s better to send these keys to the host so they can be ' + - 'used in vim or emacs.\n' + - '\n' + - 'If true, Ctrl-1..9 will be handled by the browser. If false, Ctrl-1..9 ' + - 'will be sent to the host. If null, autodetect based on browser platform ' + - 'and window type.'], - - 'pass-meta-number': - [hterm.PreferenceManager.categories.Keyboard, null, 'tristate', - 'Set whether we should pass Meta-1..9 to the browser.\n' + - '\n' + - 'This is handy when running hterm in a browser tab, so that you don\'t ' + - 'lose Chrome\'s "switch to tab" keyboard accelerators. When not running ' + - 'in a tab it\'s better to send these keys to the host so they can be ' + - 'used in vim or emacs.\n' + - '\n' + - 'If true, Meta-1..9 will be handled by the browser. If false, Meta-1..9 ' + - 'will be sent to the host. If null, autodetect based on browser platform ' + - 'and window type.'], - - 'pass-meta-v': - [hterm.PreferenceManager.categories.Keyboard, true, 'bool', - 'Set whether meta-V gets passed to host.'], - - 'receive-encoding': - [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'], - 'Set the expected encoding for data received from the host.\n' + - '\n' + - 'Valid values are \'utf-8\' and \'raw\'.'], - - 'scroll-on-keystroke': - [hterm.PreferenceManager.categories.Scrolling, true, 'bool', - 'If true, scroll to the bottom on any keystroke.'], - - 'scroll-on-output': - [hterm.PreferenceManager.categories.Scrolling, false, 'bool', - 'If true, scroll to the bottom on terminal output.'], - - 'scrollbar-visible': - [hterm.PreferenceManager.categories.Scrolling, true, 'bool', - 'The vertical scrollbar mode.'], - - 'scroll-wheel-may-send-arrow-keys': - [hterm.PreferenceManager.categories.Scrolling, false, 'bool', - 'When using the alternative screen buffer, and DECCKM (Application Cursor ' + - 'Keys) is active, mouse wheel scroll events will emulate arrow keys.\n' + - '\n' + - 'It can be temporarily disabled by holding the shift key.\n' + - '\n' + - 'This frequently comes up when using pagers (less) or reading man pages ' + - 'or text editors (vi/nano) or using screen/tmux.'], - - 'scroll-wheel-move-multiplier': - [hterm.PreferenceManager.categories.Scrolling, 1, 'int', - 'The multiplier for the pixel delta in wheel events caused by the ' + - 'scroll wheel. Alters how fast the page scrolls.'], - - 'send-encoding': - [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'], - 'Set the encoding for data sent to host.'], - - 'terminal-encoding': - [hterm.PreferenceManager.categories.Encoding, 'iso-2022', - ['iso-2022', 'utf-8', 'utf-8-locked'], - 'The default terminal encoding (DOCS).\n' + - '\n' + - 'ISO-2022 enables character map translations (like graphics maps).\n' + - 'UTF-8 disables support for those.\n' + - '\n' + - 'The locked variant means the encoding cannot be changed at runtime ' + - 'via terminal escape sequences.\n' + - '\n' + - 'You should stick with UTF-8 unless you notice broken rendering with ' + - 'legacy applications.'], - - 'shift-insert-paste': - [hterm.PreferenceManager.categories.Keyboard, true, 'bool', - 'Shift + Insert pastes if true, sent to host if false.'], - - 'user-css': - [hterm.PreferenceManager.categories.Appearance, '', 'url', - 'URL of user stylesheet to include in the terminal document.'], - - 'user-css-text': - [hterm.PreferenceManager.categories.Appearance, '', 'multiline-string', - 'Custom CSS text for styling the terminal.'], -}; - -hterm.PreferenceManager.prototype = - Object.create(lib.PreferenceManager.prototype); -hterm.PreferenceManager.constructor = hterm.PreferenceManager; -// SOURCE FILE: hterm/js/hterm_pubsub.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -/** - * Utility class used to add publish/subscribe/unsubscribe functionality to - * an existing object. - */ -hterm.PubSub = function() { - this.observers_ = {}; -}; - -/** - * Add publish, subscribe, and unsubscribe methods to an existing object. - * - * No other properties of the object are touched, so there is no need to - * worry about clashing private properties. - * - * @param {Object} obj The object to add this behavior to. - */ -hterm.PubSub.addBehavior = function(obj) { - var pubsub = new hterm.PubSub(); - for (var m in hterm.PubSub.prototype) { - obj[m] = hterm.PubSub.prototype[m].bind(pubsub); - } -}; - -/** - * Subscribe to be notified of messages about a subject. - * - * @param {string} subject The subject to subscribe to. - * @param {function(Object)} callback The function to invoke for notifications. - */ -hterm.PubSub.prototype.subscribe = function(subject, callback) { - if (!(subject in this.observers_)) - this.observers_[subject] = []; - - this.observers_[subject].push(callback); -}; - -/** - * Unsubscribe from a subject. - * - * @param {string} subject The subject to unsubscribe from. - * @param {function(Object)} callback A callback previously registered via - * subscribe(). - */ -hterm.PubSub.prototype.unsubscribe = function(subject, callback) { - var list = this.observers_[subject]; - if (!list) - throw 'Invalid subject: ' + subject; - - var i = list.indexOf(callback); - if (i < 0) - throw 'Not subscribed: ' + subject; - - list.splice(i, 1); -}; - -/** - * Publish a message about a subject. - * - * Subscribers (and the optional final callback) are invoked asynchronously. - * This method will return before anyone is actually notified. - * - * @param {string} subject The subject to publish about. - * @param {Object} e An arbitrary object associated with this notification. - * @param {function(Object)} opt_lastCallback An optional function to call after - * all subscribers have been notified. - */ -hterm.PubSub.prototype.publish = function(subject, e, opt_lastCallback) { - function notifyList(i) { - // Set this timeout before invoking the callback, so we don't have to - // concern ourselves with exceptions. - if (i < list.length - 1) - setTimeout(notifyList, 0, i + 1); - - list[i](e); - } - - var list = this.observers_[subject]; - if (list) { - // Copy the list, in case it changes while we're notifying. - list = [].concat(list); - } - - if (opt_lastCallback) { - if (list) { - list.push(opt_lastCallback); - } else { - list = [opt_lastCallback]; - } - } - - if (list) - setTimeout(notifyList, 0, 0); -}; -// SOURCE FILE: hterm/js/hterm_screen.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -lib.rtdep('lib.f', 'lib.wc', - 'hterm.RowCol', 'hterm.Size', 'hterm.TextAttributes'); - -/** - * @fileoverview This class represents a single terminal screen full of text. - * - * It maintains the current cursor position and has basic methods for text - * insert and overwrite, and adding or removing rows from the screen. - * - * This class has no knowledge of the scrollback buffer. - * - * The number of rows on the screen is determined only by the number of rows - * that the caller inserts into the screen. If a caller wants to ensure a - * constant number of rows on the screen, it's their responsibility to remove a - * row for each row inserted. - * - * The screen width, in contrast, is enforced locally. - * - * - * In practice... - * - The hterm.Terminal class holds two hterm.Screen instances. One for the - * primary screen and one for the alternate screen. - * - * - The html.Screen class only cares that rows are HTMLElements. In the - * larger context of hterm, however, the rows happen to be displayed by an - * hterm.ScrollPort and have to follow a few rules as a result. Each - * row must be rooted by the custom HTML tag 'x-row', and each must have a - * rowIndex property that corresponds to the index of the row in the context - * of the scrollback buffer. These invariants are enforced by hterm.Terminal - * because that is the class using the hterm.Screen in the context of an - * hterm.ScrollPort. - */ - -/** - * Create a new screen instance. - * - * The screen initially has no rows and a maximum column count of 0. - * - * @param {integer} opt_columnCount The maximum number of columns for this - * screen. See insertString() and overwriteString() for information about - * what happens when too many characters are added too a row. Defaults to - * 0 if not provided. - */ -hterm.Screen = function(opt_columnCount) { - /** - * Public, read-only access to the rows in this screen. - */ - this.rowsArray = []; - - // The max column width for this screen. - this.columnCount_ = opt_columnCount || 80; - - // The current color, bold, underline and blink attributes. - this.textAttributes = new hterm.TextAttributes(window.document); - - // Current zero-based cursor coordinates. - this.cursorPosition = new hterm.RowCol(0, 0); - - // The node containing the row that the cursor is positioned on. - this.cursorRowNode_ = null; - - // The node containing the span of text that the cursor is positioned on. - this.cursorNode_ = null; - - // The offset in column width into cursorNode_ where the cursor is positioned. - this.cursorOffset_ = null; - - // Regexes for expanding word selections. - this.wordBreakMatchLeft = null; - this.wordBreakMatchRight = null; - this.wordBreakMatchMiddle = null; -}; - -/** - * Return the screen size as an hterm.Size object. - * - * @return {hterm.Size} hterm.Size object representing the current number - * of rows and columns in this screen. - */ -hterm.Screen.prototype.getSize = function() { - return new hterm.Size(this.columnCount_, this.rowsArray.length); -}; - -/** - * Return the current number of rows in this screen. - * - * @return {integer} The number of rows in this screen. - */ -hterm.Screen.prototype.getHeight = function() { - return this.rowsArray.length; -}; - -/** - * Return the current number of columns in this screen. - * - * @return {integer} The number of columns in this screen. - */ -hterm.Screen.prototype.getWidth = function() { - return this.columnCount_; -}; - -/** - * Set the maximum number of columns per row. - * - * @param {integer} count The maximum number of columns per row. - */ -hterm.Screen.prototype.setColumnCount = function(count) { - this.columnCount_ = count; - - if (this.cursorPosition.column >= count) - this.setCursorPosition(this.cursorPosition.row, count - 1); -}; - -/** - * Remove the first row from the screen and return it. - * - * @return {HTMLElement} The first row in this screen. - */ -hterm.Screen.prototype.shiftRow = function() { - return this.shiftRows(1)[0]; -}; - -/** - * Remove rows from the top of the screen and return them as an array. - * - * @param {integer} count The number of rows to remove. - * @return {Array.} The selected rows. - */ -hterm.Screen.prototype.shiftRows = function(count) { - return this.rowsArray.splice(0, count); -}; - -/** - * Insert a row at the top of the screen. - * - * @param {HTMLElement} row The row to insert. - */ -hterm.Screen.prototype.unshiftRow = function(row) { - this.rowsArray.splice(0, 0, row); -}; - -/** - * Insert rows at the top of the screen. - * - * @param {Array.} rows The rows to insert. - */ -hterm.Screen.prototype.unshiftRows = function(rows) { - this.rowsArray.unshift.apply(this.rowsArray, rows); -}; - -/** - * Remove the last row from the screen and return it. - * - * @return {HTMLElement} The last row in this screen. - */ -hterm.Screen.prototype.popRow = function() { - return this.popRows(1)[0]; -}; - -/** - * Remove rows from the bottom of the screen and return them as an array. - * - * @param {integer} count The number of rows to remove. - * @return {Array.} The selected rows. - */ -hterm.Screen.prototype.popRows = function(count) { - return this.rowsArray.splice(this.rowsArray.length - count, count); -}; - -/** - * Insert a row at the bottom of the screen. - * - * @param {HTMLElement} row The row to insert. - */ -hterm.Screen.prototype.pushRow = function(row) { - this.rowsArray.push(row); -}; - -/** - * Insert rows at the bottom of the screen. - * - * @param {Array.} rows The rows to insert. - */ -hterm.Screen.prototype.pushRows = function(rows) { - rows.push.apply(this.rowsArray, rows); -}; - -/** - * Insert a row at the specified row of the screen. - * - * @param {integer} index The index to insert the row. - * @param {HTMLElement} row The row to insert. - */ -hterm.Screen.prototype.insertRow = function(index, row) { - this.rowsArray.splice(index, 0, row); -}; - -/** - * Insert rows at the specified row of the screen. - * - * @param {integer} index The index to insert the rows. - * @param {Array.} rows The rows to insert. - */ -hterm.Screen.prototype.insertRows = function(index, rows) { - for (var i = 0; i < rows.length; i++) { - this.rowsArray.splice(index + i, 0, rows[i]); - } -}; - -/** - * Remove a row from the screen and return it. - * - * @param {integer} index The index of the row to remove. - * @return {HTMLElement} The selected row. - */ -hterm.Screen.prototype.removeRow = function(index) { - return this.rowsArray.splice(index, 1)[0]; -}; - -/** - * Remove rows from the bottom of the screen and return them as an array. - * - * @param {integer} index The index to start removing rows. - * @param {integer} count The number of rows to remove. - * @return {Array.} The selected rows. - */ -hterm.Screen.prototype.removeRows = function(index, count) { - return this.rowsArray.splice(index, count); -}; - -/** - * Invalidate the current cursor position. - * - * This sets this.cursorPosition to (0, 0) and clears out some internal - * data. - * - * Attempting to insert or overwrite text while the cursor position is invalid - * will raise an obscure exception. - */ -hterm.Screen.prototype.invalidateCursorPosition = function() { - this.cursorPosition.move(0, 0); - this.cursorRowNode_ = null; - this.cursorNode_ = null; - this.cursorOffset_ = null; -}; - -/** - * Clear the contents of the cursor row. - */ -hterm.Screen.prototype.clearCursorRow = function() { - this.cursorRowNode_.innerHTML = ''; - this.cursorRowNode_.removeAttribute('line-overflow'); - this.cursorOffset_ = 0; - this.cursorPosition.column = 0; - this.cursorPosition.overflow = false; - - var text; - if (this.textAttributes.isDefault()) { - text = ''; - } else { - text = lib.f.getWhitespace(this.columnCount_); - } - - // We shouldn't honor inverse colors when clearing an area, to match - // xterm's back color erase behavior. - var inverse = this.textAttributes.inverse; - this.textAttributes.inverse = false; - this.textAttributes.syncColors(); - - var node = this.textAttributes.createContainer(text); - this.cursorRowNode_.appendChild(node); - this.cursorNode_ = node; - - this.textAttributes.inverse = inverse; - this.textAttributes.syncColors(); -}; - -/** - * Mark the current row as having overflowed to the next line. - * - * The line overflow state is used when converting a range of rows into text. - * It makes it possible to recombine two or more overflow terminal rows into - * a single line. - * - * This is distinct from the cursor being in the overflow state. Cursor - * overflow indicates that printing at the cursor position will commit a - * line overflow, unless it is preceded by a repositioning of the cursor - * to a non-overflow state. - */ -hterm.Screen.prototype.commitLineOverflow = function() { - this.cursorRowNode_.setAttribute('line-overflow', true); -}; - -/** - * Relocate the cursor to a give row and column. - * - * @param {integer} row The zero based row. - * @param {integer} column The zero based column. - */ -hterm.Screen.prototype.setCursorPosition = function(row, column) { - if (!this.rowsArray.length) { - console.warn('Attempt to set cursor position on empty screen.'); - return; - } - - if (row >= this.rowsArray.length) { - console.error('Row out of bounds: ' + row); - row = this.rowsArray.length - 1; - } else if (row < 0) { - console.error('Row out of bounds: ' + row); - row = 0; - } - - if (column >= this.columnCount_) { - console.error('Column out of bounds: ' + column); - column = this.columnCount_ - 1; - } else if (column < 0) { - console.error('Column out of bounds: ' + column); - column = 0; - } - - this.cursorPosition.overflow = false; - - var rowNode = this.rowsArray[row]; - var node = rowNode.firstChild; - - if (!node) { - node = rowNode.ownerDocument.createTextNode(''); - rowNode.appendChild(node); - } - - var currentColumn = 0; - - if (rowNode == this.cursorRowNode_) { - if (column >= this.cursorPosition.column - this.cursorOffset_) { - node = this.cursorNode_; - currentColumn = this.cursorPosition.column - this.cursorOffset_; - } - } else { - this.cursorRowNode_ = rowNode; - } - - this.cursorPosition.move(row, column); - - while (node) { - var offset = column - currentColumn; - var width = hterm.TextAttributes.nodeWidth(node); - if (!node.nextSibling || width > offset) { - this.cursorNode_ = node; - this.cursorOffset_ = offset; - return; - } - - currentColumn += width; - node = node.nextSibling; - } -}; - -/** - * Set the provided selection object to be a caret selection at the current - * cursor position. - */ -hterm.Screen.prototype.syncSelectionCaret = function(selection) { - try { - selection.collapse(this.cursorNode_, this.cursorOffset_); - } catch (firefoxIgnoredException) { - // FF can throw an exception if the range is off, rather than just not - // performing the collapse. - } -}; - -/** - * Split a single node into two nodes at the given offset. - * - * For example: - * Given the DOM fragment '
Hello World
', call splitNode_ - * passing the span and an offset of 6. This would modify the fragment to - * become: '
Hello World
'. If the span - * had any attributes they would have been copied to the new span as well. - * - * The to-be-split node must have a container, so that the new node can be - * placed next to it. - * - * @param {HTMLNode} node The node to split. - * @param {integer} offset The offset into the node where the split should - * occur. - */ -hterm.Screen.prototype.splitNode_ = function(node, offset) { - var afterNode = node.cloneNode(false); - - var textContent = node.textContent; - node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset); - afterNode.textContent = lib.wc.substr(textContent, offset); - - if (afterNode.textContent) - node.parentNode.insertBefore(afterNode, node.nextSibling); - if (!node.textContent) - node.parentNode.removeChild(node); -}; - -/** - * Ensure that text is clipped and the cursor is clamped to the column count. - */ -hterm.Screen.prototype.maybeClipCurrentRow = function() { - var width = hterm.TextAttributes.nodeWidth(this.cursorRowNode_); - - if (width <= this.columnCount_) { - // Current row does not need clipping, but may need clamping. - if (this.cursorPosition.column >= this.columnCount_) { - this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1); - this.cursorPosition.overflow = true; - } - - return; - } - - // Save off the current column so we can maybe restore it later. - var currentColumn = this.cursorPosition.column; - - // Move the cursor to the final column. - this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1); - - // Remove any text that partially overflows. - width = hterm.TextAttributes.nodeWidth(this.cursorNode_); - - if (this.cursorOffset_ < width - 1) { - this.cursorNode_.textContent = hterm.TextAttributes.nodeSubstr( - this.cursorNode_, 0, this.cursorOffset_ + 1); - } - - // Remove all nodes after the cursor. - var rowNode = this.cursorRowNode_; - var node = this.cursorNode_.nextSibling; - - while (node) { - rowNode.removeChild(node); - node = this.cursorNode_.nextSibling; - } - - if (currentColumn < this.columnCount_) { - // If the cursor was within the screen before we started then restore its - // position. - this.setCursorPosition(this.cursorPosition.row, currentColumn); - } else { - // Otherwise leave it at the the last column in the overflow state. - this.cursorPosition.overflow = true; - } -}; - -/** - * Insert a string at the current character position using the current - * text attributes. - * - * You must call maybeClipCurrentRow() after in order to clip overflowed - * text and clamp the cursor. - * - * It is also up to the caller to properly maintain the line overflow state - * using hterm.Screen..commitLineOverflow(). - */ -hterm.Screen.prototype.insertString = function(str) { - var cursorNode = this.cursorNode_; - var cursorNodeText = cursorNode.textContent; - - this.cursorRowNode_.removeAttribute('line-overflow'); - - // We may alter the width of the string by prepending some missing - // whitespaces, so we need to record the string width ahead of time. - var strWidth = lib.wc.strWidth(str); - - // No matter what, before this function exits the cursor column will have - // moved this much. - this.cursorPosition.column += strWidth; - - // Local cache of the cursor offset. - var offset = this.cursorOffset_; - - // Reverse offset is the offset measured from the end of the string. - // Zero implies that the cursor is at the end of the cursor node. - var reverseOffset = hterm.TextAttributes.nodeWidth(cursorNode) - offset; - - if (reverseOffset < 0) { - // A negative reverse offset means the cursor is positioned past the end - // of the characters on this line. We'll need to insert the missing - // whitespace. - var ws = lib.f.getWhitespace(-reverseOffset); - - // This whitespace should be completely unstyled. Underline, background - // color, and strikethrough would be visible on whitespace, so we can't use - // one of those spans to hold the text. - if (!(this.textAttributes.underline || - this.textAttributes.strikethrough || - this.textAttributes.background || - this.textAttributes.wcNode || - !this.textAttributes.asciiNode || - this.textAttributes.tileData != null)) { - // Best case scenario, we can just pretend the spaces were part of the - // original string. - str = ws + str; - } else if (cursorNode.nodeType == 3 || - !(cursorNode.wcNode || - !cursorNode.asciiNode || - cursorNode.tileNode || - cursorNode.style.textDecoration || - cursorNode.style.backgroundColor)) { - // Second best case, the current node is able to hold the whitespace. - cursorNode.textContent = (cursorNodeText += ws); - } else { - // Worst case, we have to create a new node to hold the whitespace. - var wsNode = cursorNode.ownerDocument.createTextNode(ws); - this.cursorRowNode_.insertBefore(wsNode, cursorNode.nextSibling); - this.cursorNode_ = cursorNode = wsNode; - this.cursorOffset_ = offset = -reverseOffset; - cursorNodeText = ws; - } - - // We now know for sure that we're at the last character of the cursor node. - reverseOffset = 0; - } - - if (this.textAttributes.matchesContainer(cursorNode)) { - // The new text can be placed directly in the cursor node. - if (reverseOffset == 0) { - cursorNode.textContent = cursorNodeText + str; - } else if (offset == 0) { - cursorNode.textContent = str + cursorNodeText; - } else { - cursorNode.textContent = - hterm.TextAttributes.nodeSubstr(cursorNode, 0, offset) + - str + hterm.TextAttributes.nodeSubstr(cursorNode, offset); - } - - this.cursorOffset_ += strWidth; - return; - } - - // The cursor node is the wrong style for the new text. If we're at the - // beginning or end of the cursor node, then the adjacent node is also a - // potential candidate. - - if (offset == 0) { - // At the beginning of the cursor node, the check the previous sibling. - var previousSibling = cursorNode.previousSibling; - if (previousSibling && - this.textAttributes.matchesContainer(previousSibling)) { - previousSibling.textContent += str; - this.cursorNode_ = previousSibling; - this.cursorOffset_ = lib.wc.strWidth(previousSibling.textContent); - return; - } - - var newNode = this.textAttributes.createContainer(str); - this.cursorRowNode_.insertBefore(newNode, cursorNode); - this.cursorNode_ = newNode; - this.cursorOffset_ = strWidth; - return; - } - - if (reverseOffset == 0) { - // At the end of the cursor node, the check the next sibling. - var nextSibling = cursorNode.nextSibling; - if (nextSibling && - this.textAttributes.matchesContainer(nextSibling)) { - nextSibling.textContent = str + nextSibling.textContent; - this.cursorNode_ = nextSibling; - this.cursorOffset_ = lib.wc.strWidth(str); - return; - } - - var newNode = this.textAttributes.createContainer(str); - this.cursorRowNode_.insertBefore(newNode, nextSibling); - this.cursorNode_ = newNode; - // We specifically need to include any missing whitespace here, since it's - // going in a new node. - this.cursorOffset_ = hterm.TextAttributes.nodeWidth(newNode); - return; - } - - // Worst case, we're somewhere in the middle of the cursor node. We'll - // have to split it into two nodes and insert our new container in between. - this.splitNode_(cursorNode, offset); - var newNode = this.textAttributes.createContainer(str); - this.cursorRowNode_.insertBefore(newNode, cursorNode.nextSibling); - this.cursorNode_ = newNode; - this.cursorOffset_ = strWidth; -}; - -/** - * Overwrite the text at the current cursor position. - * - * You must call maybeClipCurrentRow() after in order to clip overflowed - * text and clamp the cursor. - * - * It is also up to the caller to properly maintain the line overflow state - * using hterm.Screen..commitLineOverflow(). - */ -hterm.Screen.prototype.overwriteString = function(str) { - var maxLength = this.columnCount_ - this.cursorPosition.column; - if (!maxLength) - return [str]; - - var width = lib.wc.strWidth(str); - if (this.textAttributes.matchesContainer(this.cursorNode_) && - this.cursorNode_.textContent.substr(this.cursorOffset_) == str) { - // This overwrite would be a no-op, just move the cursor and return. - this.cursorOffset_ += width; - this.cursorPosition.column += width; - return; - } - - this.deleteChars(Math.min(width, maxLength)); - this.insertString(str); -}; - -/** - * Forward-delete one or more characters at the current cursor position. - * - * Text to the right of the deleted characters is shifted left. Only affects - * characters on the same row as the cursor. - * - * @param {integer} count The column width of characters to delete. This is - * clamped to the column width minus the cursor column. - * @return {integer} The column width of the characters actually deleted. - */ -hterm.Screen.prototype.deleteChars = function(count) { - var node = this.cursorNode_; - var offset = this.cursorOffset_; - - var currentCursorColumn = this.cursorPosition.column; - count = Math.min(count, this.columnCount_ - currentCursorColumn); - if (!count) - return 0; - - var rv = count; - var startLength, endLength; - - while (node && count) { - startLength = hterm.TextAttributes.nodeWidth(node); - node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset) + - hterm.TextAttributes.nodeSubstr(node, offset + count); - endLength = hterm.TextAttributes.nodeWidth(node); - count -= startLength - endLength; - if (offset < startLength && endLength && startLength == endLength) { - // No characters were deleted when there should be. We're probably trying - // to delete one column width from a wide character node. We remove the - // wide character node here and replace it with a single space. - var spaceNode = this.textAttributes.createContainer(' '); - node.parentNode.insertBefore(spaceNode, node.nextSibling); - node.textContent = ''; - endLength = 0; - count -= 1; - } - - var nextNode = node.nextSibling; - if (endLength == 0 && node != this.cursorNode_) { - node.parentNode.removeChild(node); - } - node = nextNode; - offset = 0; - } - - // Remove this.cursorNode_ if it is an empty non-text node. - if (this.cursorNode_.nodeType != 3 && !this.cursorNode_.textContent) { - var cursorNode = this.cursorNode_; - if (cursorNode.previousSibling) { - this.cursorNode_ = cursorNode.previousSibling; - this.cursorOffset_ = hterm.TextAttributes.nodeWidth( - cursorNode.previousSibling); - } else if (cursorNode.nextSibling) { - this.cursorNode_ = cursorNode.nextSibling; - this.cursorOffset_ = 0; - } else { - var emptyNode = this.cursorRowNode_.ownerDocument.createTextNode(''); - this.cursorRowNode_.appendChild(emptyNode); - this.cursorNode_ = emptyNode; - this.cursorOffset_ = 0; - } - this.cursorRowNode_.removeChild(cursorNode); - } - - return rv; -}; - -/** - * Finds first X-ROW of a line containing specified X-ROW. - * Used to support line overflow. - * - * @param {Node} row X-ROW to begin search for first row of line. - * @return {Node} The X-ROW that is at the beginning of the line. - **/ -hterm.Screen.prototype.getLineStartRow_ = function(row) { - while (row.previousSibling && - row.previousSibling.hasAttribute('line-overflow')) { - row = row.previousSibling; - } - return row; -}; - -/** - * Gets text of a line beginning with row. - * Supports line overflow. - * - * @param {Node} row First X-ROW of line. - * @return {string} Text content of line. - **/ -hterm.Screen.prototype.getLineText_ = function(row) { - var rowText = ""; - while (row) { - rowText += row.textContent; - if (row.hasAttribute('line-overflow')) { - row = row.nextSibling; - } else { - break; - } - } - return rowText; -}; - -/** - * Returns X-ROW that is ancestor of the node. - * - * @param {Node} node Node to get X-ROW ancestor for. - * @return {Node} X-ROW ancestor of node, or null if not found. - **/ -hterm.Screen.prototype.getXRowAncestor_ = function(node) { - while (node) { - if (node.nodeName === 'X-ROW') - break; - node = node.parentNode; - } - return node; -}; - -/** - * Returns position within line of character at offset within node. - * Supports line overflow. - * - * @param {Node} row X-ROW at beginning of line. - * @param {Node} node Node to get position of. - * @param {integer} offset Offset into node. - * - * @return {integer} Position within line of character at offset within node. - **/ -hterm.Screen.prototype.getPositionWithOverflow_ = function(row, node, offset) { - if (!node) - return -1; - var ancestorRow = this.getXRowAncestor_(node); - if (!ancestorRow) - return -1; - var position = 0; - while (ancestorRow != row) { - position += hterm.TextAttributes.nodeWidth(row); - if (row.hasAttribute('line-overflow') && row.nextSibling) { - row = row.nextSibling; - } else { - return -1; - } - } - return position + this.getPositionWithinRow_(row, node, offset); -}; - -/** - * Returns position within row of character at offset within node. - * Does not support line overflow. - * - * @param {Node} row X-ROW to get position within. - * @param {Node} node Node to get position for. - * @param {integer} offset Offset within node to get position for. - * @return {integer} Position within row of character at offset within node. - **/ -hterm.Screen.prototype.getPositionWithinRow_ = function(row, node, offset) { - if (node.parentNode != row) { - // If we traversed to the top node, then there's nothing to find here. - if (node.parentNode == null) - return -1; - - return this.getPositionWithinRow_(node.parentNode, node, offset) + - this.getPositionWithinRow_(row, node.parentNode, 0); - } - var position = 0; - for (var i = 0; i < row.childNodes.length; i++) { - var currentNode = row.childNodes[i]; - if (currentNode == node) - return position + offset; - position += hterm.TextAttributes.nodeWidth(currentNode); - } - return -1; -}; - -/** - * Returns the node and offset corresponding to position within line. - * Supports line overflow. - * - * @param {Node} row X-ROW at beginning of line. - * @param {integer} position Position within line to retrieve node and offset. - * @return {Array} Two element array containing node and offset respectively. - **/ -hterm.Screen.prototype.getNodeAndOffsetWithOverflow_ = function(row, position) { - while (row && position > hterm.TextAttributes.nodeWidth(row)) { - if (row.hasAttribute('line-overflow') && row.nextSibling) { - position -= hterm.TextAttributes.nodeWidth(row); - row = row.nextSibling; - } else { - return -1; - } - } - return this.getNodeAndOffsetWithinRow_(row, position); -}; - -/** - * Returns the node and offset corresponding to position within row. - * Does not support line overflow. - * - * @param {Node} row X-ROW to get position within. - * @param {integer} position Position within row to retrieve node and offset. - * @return {Array} Two element array containing node and offset respectively. - **/ -hterm.Screen.prototype.getNodeAndOffsetWithinRow_ = function(row, position) { - for (var i = 0; i < row.childNodes.length; i++) { - var node = row.childNodes[i]; - var nodeTextWidth = hterm.TextAttributes.nodeWidth(node); - if (position <= nodeTextWidth) { - if (node.nodeName === 'SPAN') { - /** Drill down to node contained by SPAN. **/ - return this.getNodeAndOffsetWithinRow_(node, position); - } else { - return [node, position]; - } - } - position -= nodeTextWidth; - } - return null; -}; - -/** - * Returns the node and offset corresponding to position within line. - * Supports line overflow. - * - * @param {Node} row X-ROW at beginning of line. - * @param {integer} start Start position of range within line. - * @param {integer} end End position of range within line. - * @param {Range} range Range to modify. - **/ -hterm.Screen.prototype.setRange_ = function(row, start, end, range) { - var startNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, start); - if (startNodeAndOffset == null) - return; - var endNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, end); - if (endNodeAndOffset == null) - return; - range.setStart(startNodeAndOffset[0], startNodeAndOffset[1]); - range.setEnd(endNodeAndOffset[0], endNodeAndOffset[1]); -}; - -/** - * Expands selection to surround URLs. - * - * @param {Selection} selection Selection to expand. - **/ -hterm.Screen.prototype.expandSelection = function(selection) { - if (!selection) - return; - - var range = selection.getRangeAt(0); - if (!range || range.toString().match(/\s/)) - return; - - var row = this.getLineStartRow_(this.getXRowAncestor_(range.startContainer)); - if (!row) - return; - - var startPosition = this.getPositionWithOverflow_(row, - range.startContainer, - range.startOffset); - if (startPosition == -1) - return; - var endPosition = this.getPositionWithOverflow_(row, - range.endContainer, - range.endOffset); - if (endPosition == -1) - return; - - // Use the user configurable match settings. - var leftMatch = this.wordBreakMatchLeft; - var rightMatch = this.wordBreakMatchRight; - var insideMatch = this.wordBreakMatchMiddle; - - //Move start to the left. - var rowText = this.getLineText_(row); - var lineUpToRange = lib.wc.substring(rowText, 0, endPosition); - var leftRegularExpression = new RegExp(leftMatch + insideMatch + "$"); - var expandedStart = lineUpToRange.search(leftRegularExpression); - if (expandedStart == -1 || expandedStart > startPosition) - return; - - //Move end to the right. - var lineFromRange = lib.wc.substring(rowText, startPosition, - lib.wc.strWidth(rowText)); - var rightRegularExpression = new RegExp("^" + insideMatch + rightMatch); - var found = lineFromRange.match(rightRegularExpression); - if (!found) - return; - var expandedEnd = startPosition + lib.wc.strWidth(found[0]); - if (expandedEnd == -1 || expandedEnd < endPosition) - return; - - this.setRange_(row, expandedStart, expandedEnd, range); - selection.addRange(range); -}; -// SOURCE FILE: hterm/js/hterm_scrollport.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -lib.rtdep('lib.f', 'hterm.PubSub', 'hterm.Size'); - -/** - * A 'viewport' view of fixed-height rows with support for selection and - * copy-to-clipboard. - * - * 'Viewport' in this case means that only the visible rows are in the DOM. - * If the rowProvider has 100,000 rows, but the ScrollPort is only 25 rows - * tall, then only 25 dom nodes are created. The ScrollPort will ask the - * RowProvider to create new visible rows on demand as they are scrolled in - * to the visible area. - * - * This viewport is designed so that select and copy-to-clipboard still works, - * even when all or part of the selection is scrolled off screen. - * - * Note that the X11 mouse clipboard does not work properly when all or part - * of the selection is off screen. It would be difficult to fix this without - * adding significant overhead to pathologically large selection cases. - * - * The RowProvider should return rows rooted by the custom tag name 'x-row'. - * This ensures that we can quickly assign the correct display height - * to the rows with css. - * - * @param {RowProvider} rowProvider An object capable of providing rows as - * raw text or row nodes. - */ -hterm.ScrollPort = function(rowProvider) { - hterm.PubSub.addBehavior(this); - - this.rowProvider_ = rowProvider; - - // SWAG the character size until we can measure it. - this.characterSize = new hterm.Size(10, 10); - - // DOM node used for character measurement. - this.ruler_ = null; - - this.selection = new hterm.ScrollPort.Selection(this); - - // A map of rowIndex => rowNode for each row that is drawn as part of a - // pending redraw_() call. Null if there is no pending redraw_ call. - this.currentRowNodeCache_ = null; - - // A map of rowIndex => rowNode for each row that was drawn as part of the - // previous redraw_() call. - this.previousRowNodeCache_ = {}; - - // Used during scroll events to detect when the underlying cause is a resize. - this.lastScreenWidth_ = null; - this.lastScreenHeight_ = null; - - // True if the user should be allowed to select text in the terminal. - // This is disabled when the host requests mouse drag events so that we don't - // end up with two notions of selection. - this.selectionEnabled_ = true; - - // The last row count returned by the row provider, re-populated during - // syncScrollHeight(). - this.lastRowCount_ = 0; - - // The scroll wheel pixel delta multiplier to increase/decrease - // the scroll speed of mouse wheel events. See: https://goo.gl/sXelnq - this.scrollWheelMultiplier_ = 1; - - // The last touch events we saw to support touch based scrolling. Indexed - // by touch identifier since we can have more than one touch active. - this.lastTouch_ = {}; - - /** - * True if the last scroll caused the scrollport to show the final row. - */ - this.isScrolledEnd = true; - - /** - * A guess at the current scrollbar width, fixed in resize(). - */ - this.currentScrollbarWidthPx = 16; - - /** - * Whether the ctrl-v key on the screen should paste. - */ - this.ctrlVPaste = false; - - this.div_ = null; - this.document_ = null; - - // Collection of active timeout handles. - this.timeouts_ = {}; - - this.observers_ = {}; - - this.DEBUG_ = false; -} - -/** - * Proxy for the native selection object which understands how to walk up the - * DOM to find the containing row node and sort out which comes first. - * - * @param {hterm.ScrollPort} scrollPort The parent hterm.ScrollPort instance. - */ -hterm.ScrollPort.Selection = function(scrollPort) { - this.scrollPort_ = scrollPort; - - /** - * The row containing the start of the selection. - * - * This may be partially or fully selected. It may be the selection anchor - * or the focus, but its rowIndex is guaranteed to be less-than-or-equal-to - * that of the endRow. - * - * If only one row is selected then startRow == endRow. If there is no - * selection or the selection is collapsed then startRow == null. - */ - this.startRow = null; - - /** - * The row containing the end of the selection. - * - * This may be partially or fully selected. It may be the selection anchor - * or the focus, but its rowIndex is guaranteed to be greater-than-or-equal-to - * that of the startRow. - * - * If only one row is selected then startRow == endRow. If there is no - * selection or the selection is collapsed then startRow == null. - */ - this.endRow = null; - - /** - * True if startRow != endRow. - */ - this.isMultiline = null; - - /** - * True if the selection is just a point rather than a range. - */ - this.isCollapsed = null; -}; - -/** - * Given a list of DOM nodes and a container, return the DOM node that - * is first according to a depth-first search. - * - * Returns null if none of the children are found. - */ -hterm.ScrollPort.Selection.prototype.findFirstChild = function( - parent, childAry) { - var node = parent.firstChild; - - while (node) { - if (childAry.indexOf(node) != -1) - return node; - - if (node.childNodes.length) { - var rv = this.findFirstChild(node, childAry); - if (rv) - return rv; - } - - node = node.nextSibling; - } - - return null; -}; - -/** - * Synchronize this object with the current DOM selection. - * - * This is a one-way synchronization, the DOM selection is copied to this - * object, not the other way around. - */ -hterm.ScrollPort.Selection.prototype.sync = function() { - var self = this; - - // The dom selection object has no way to tell which nodes come first in - // the document, so we have to figure that out. - // - // This function is used when we detect that the "anchor" node is first. - function anchorFirst() { - self.startRow = anchorRow; - self.startNode = selection.anchorNode; - self.startOffset = selection.anchorOffset; - self.endRow = focusRow; - self.endNode = selection.focusNode; - self.endOffset = selection.focusOffset; - } - - // This function is used when we detect that the "focus" node is first. - function focusFirst() { - self.startRow = focusRow; - self.startNode = selection.focusNode; - self.startOffset = selection.focusOffset; - self.endRow = anchorRow; - self.endNode = selection.anchorNode; - self.endOffset = selection.anchorOffset; - } - - var selection = this.scrollPort_.getDocument().getSelection(); - - this.startRow = null; - this.endRow = null; - this.isMultiline = null; - this.isCollapsed = !selection || selection.isCollapsed; - - if (this.isCollapsed) - return; - - var anchorRow = selection.anchorNode; - while (anchorRow && !('rowIndex' in anchorRow)) { - anchorRow = anchorRow.parentNode; - } - - if (!anchorRow) { - console.error('Selection anchor is not rooted in a row node: ' + - selection.anchorNode.nodeName); - return; - } - - var focusRow = selection.focusNode; - while (focusRow && !('rowIndex' in focusRow)) { - focusRow = focusRow.parentNode; - } - - if (!focusRow) { - console.error('Selection focus is not rooted in a row node: ' + - selection.focusNode.nodeName); - return; - } - - if (anchorRow.rowIndex < focusRow.rowIndex) { - anchorFirst(); - - } else if (anchorRow.rowIndex > focusRow.rowIndex) { - focusFirst(); - - } else if (selection.focusNode == selection.anchorNode) { - if (selection.anchorOffset < selection.focusOffset) { - anchorFirst(); - } else { - focusFirst(); - } - - } else { - // The selection starts and ends in the same row, but isn't contained all - // in a single node. - var firstNode = this.findFirstChild( - anchorRow, [selection.anchorNode, selection.focusNode]); - - if (!firstNode) - throw new Error('Unexpected error syncing selection.'); - - if (firstNode == selection.anchorNode) { - anchorFirst(); - } else { - focusFirst(); - } - } - - this.isMultiline = anchorRow.rowIndex != focusRow.rowIndex; -}; - - -/** - * Turn a div into this hterm.ScrollPort. - */ -hterm.ScrollPort.prototype.decorate = function(div) { - this.div_ = div; - - this.iframe_ = div.ownerDocument.createElement('iframe'); - this.iframe_.style.cssText = ( - 'border: 0;' + - 'height: 100%;' + - 'position: absolute;' + - 'width: 100%'); - - // Set the iframe src to # in FF. Otherwise when the frame's - // load event fires in FF it clears out the content of the iframe. - if ('mozInnerScreenX' in window) // detect a FF only property - this.iframe_.src = '#'; - - div.appendChild(this.iframe_); - - this.iframe_.contentWindow.addEventListener('resize', - this.onResize_.bind(this)); - - var doc = this.document_ = this.iframe_.contentDocument; - doc.body.style.cssText = ( - 'margin: 0px;' + - 'padding: 0px;' + - 'height: 100%;' + - 'width: 100%;' + - 'overflow: hidden;' + - 'cursor: var(--hterm-mouse-cursor-style);' + - '-webkit-user-select: none;' + - '-moz-user-select: none;'); - - if (this.DEBUG_) { - // When we're debugging we add padding to the body so that the offscreen - // elements are visible. - this.document_.body.style.paddingTop = - this.document_.body.style.paddingBottom = - 'calc(var(--hterm-charsize-height) * 3)'; - } - - var style = doc.createElement('style'); - style.textContent = ( - 'x-row {' + - ' display: block;' + - ' height: var(--hterm-charsize-height);' + - ' line-height: var(--hterm-charsize-height);' + - '}'); - doc.head.appendChild(style); - - this.userCssLink_ = doc.createElement('link'); - this.userCssLink_.setAttribute('rel', 'stylesheet'); - - this.userCssText_ = doc.createElement('style'); - doc.head.appendChild(this.userCssText_); - - // TODO(rginda): Sorry, this 'screen_' isn't the same thing as hterm.Screen - // from screen.js. I need to pick a better name for one of them to avoid - // the collision. - // We make this field editable even though we don't actually allow anything - // to be edited here so that Chrome will do the right thing with virtual - // keyboards and IMEs. But make sure we turn off all the input helper logic - // that doesn't make sense here, and might inadvertently mung or save input. - // Some of these attributes are standard while others are browser specific, - // but should be safely ignored by other browsers. - this.screen_ = doc.createElement('x-screen'); - this.screen_.setAttribute('contenteditable', 'true'); - this.screen_.setAttribute('spellcheck', 'false'); - this.screen_.setAttribute('autocomplete', 'off'); - this.screen_.setAttribute('autocorrect', 'off'); - this.screen_.setAttribute('autocaptalize', 'none'); - this.screen_.setAttribute('role', 'textbox'); - this.screen_.setAttribute('tabindex', '-1'); - this.screen_.style.cssText = ( - 'caret-color: transparent;' + - 'display: block;' + - 'font-family: monospace;' + - 'font-size: 15px;' + - 'font-variant-ligatures: none;' + - 'height: 100%;' + - 'overflow-y: scroll; overflow-x: hidden;' + - 'white-space: pre;' + - 'width: 100%;' + - 'outline: none !important'); - - doc.body.appendChild(this.screen_); - - this.screen_.addEventListener('scroll', this.onScroll_.bind(this)); - this.screen_.addEventListener('wheel', this.onScrollWheel_.bind(this)); - this.screen_.addEventListener('touchstart', this.onTouch_.bind(this)); - this.screen_.addEventListener('touchmove', this.onTouch_.bind(this)); - this.screen_.addEventListener('touchend', this.onTouch_.bind(this)); - this.screen_.addEventListener('touchcancel', this.onTouch_.bind(this)); - this.screen_.addEventListener('copy', this.onCopy_.bind(this)); - this.screen_.addEventListener('paste', this.onPaste_.bind(this)); - // Disable drag & drop of text/content. We don't handle it at all (yet?), - // and the default behavior just confuses hterm. - this.screen_.addEventListener('drop', function(e) { - e.preventDefault(); - return false; - }); - - doc.body.addEventListener('keydown', this.onBodyKeyDown_.bind(this)); - - // This is the main container for the fixed rows. - this.rowNodes_ = doc.createElement('div'); - this.rowNodes_.id = 'hterm:row-nodes'; - this.rowNodes_.style.cssText = ( - 'display: block;' + - 'position: fixed;' + - 'overflow: hidden;' + - '-webkit-user-select: text;' + - '-moz-user-select: text;'); - this.screen_.appendChild(this.rowNodes_); - - // Two nodes to hold offscreen text during the copy event. - this.topSelectBag_ = doc.createElement('x-select-bag'); - this.topSelectBag_.style.cssText = ( - 'display: block;' + - 'overflow: hidden;' + - 'height: var(--hterm-charsize-height);' + - 'white-space: pre;'); - - this.bottomSelectBag_ = this.topSelectBag_.cloneNode(); - - // Nodes above the top fold and below the bottom fold are hidden. They are - // only used to hold rows that are part of the selection but are currently - // scrolled off the top or bottom of the visible range. - this.topFold_ = doc.createElement('x-fold'); - this.topFold_.id = 'hterm:top-fold-for-row-selection'; - this.topFold_.style.cssText = 'display: block;'; - this.rowNodes_.appendChild(this.topFold_); - - this.bottomFold_ = this.topFold_.cloneNode(); - this.bottomFold_.id = 'hterm:bottom-fold-for-row-selection'; - this.rowNodes_.appendChild(this.bottomFold_); - - // This hidden div accounts for the vertical space that would be consumed by - // all the rows in the buffer if they were visible. It's what causes the - // scrollbar to appear on the 'x-screen', and it moves within the screen when - // the scrollbar is moved. - // - // It is set 'visibility: hidden' to keep the browser from trying to include - // it in the selection when a user 'drag selects' upwards (drag the mouse to - // select and scroll at the same time). Without this, the selection gets - // out of whack. - this.scrollArea_ = doc.createElement('div'); - this.scrollArea_.id = 'hterm:scrollarea'; - this.scrollArea_.style.cssText = 'visibility: hidden'; - this.screen_.appendChild(this.scrollArea_); - - // This svg element is used to detect when the browser is zoomed. It must be - // placed in the outermost document for currentScale to be correct. - // TODO(rginda): This means that hterm nested in an iframe will not correctly - // detect browser zoom level. We should come up with a better solution. - // Note: This must be http:// else Chrome cannot create the element correctly. - var xmlns = 'http://www.w3.org/2000/svg'; - this.svg_ = this.div_.ownerDocument.createElementNS(xmlns, 'svg'); - this.svg_.id = 'hterm:zoom-detector'; - this.svg_.setAttribute('xmlns', xmlns); - this.svg_.setAttribute('version', '1.1'); - this.svg_.style.cssText = ( - 'position: absolute;' + - 'top: 0;' + - 'left: 0;' + - 'visibility: hidden'); - - - // We send focus to this element just before a paste happens, so we can - // capture the pasted text and forward it on to someone who cares. - this.pasteTarget_ = doc.createElement('textarea'); - this.pasteTarget_.id = 'hterm:ctrl-v-paste-target'; - this.pasteTarget_.setAttribute('tabindex', '-1'); - this.pasteTarget_.style.cssText = ( - 'position: absolute;' + - 'height: 1px;' + - 'width: 1px;' + - 'left: 0px; ' + - 'bottom: 0px;' + - 'opacity: 0'); - this.pasteTarget_.contentEditable = true; - - this.screen_.appendChild(this.pasteTarget_); - this.pasteTarget_.addEventListener( - 'textInput', this.handlePasteTargetTextInput_.bind(this)); - - this.resize(); -}; - -/** - * Select the font-family and font-smoothing for this scrollport. - * - * @param {string} fontFamily Value of the CSS 'font-family' to use for this - * scrollport. Should be a monospace font. - * @param {string} opt_smoothing Optional value for '-webkit-font-smoothing'. - * Defaults to an empty string if not specified. - */ -hterm.ScrollPort.prototype.setFontFamily = function(fontFamily, opt_smoothing) { - this.screen_.style.fontFamily = fontFamily; - if (opt_smoothing) { - this.screen_.style.webkitFontSmoothing = opt_smoothing; - } else { - this.screen_.style.webkitFontSmoothing = ''; - } - - this.syncCharacterSize(); -}; - -hterm.ScrollPort.prototype.getFontFamily = function() { - return this.screen_.style.fontFamily; -}; - -/** - * Set a custom stylesheet to include in the scrollport. - * - * Defaults to null, meaning no custom css is loaded. Set it back to null or - * the empty string to remove a previously applied custom css. - */ -hterm.ScrollPort.prototype.setUserCssUrl = function(url) { - if (url) { - this.userCssLink_.setAttribute('href', url); - - if (!this.userCssLink_.parentNode) - this.document_.head.appendChild(this.userCssLink_); - } else if (this.userCssLink_.parentNode) { - this.document_.head.removeChild(this.userCssLink_); - } -}; - -hterm.ScrollPort.prototype.setUserCssText = function(text) { - this.userCssText_.textContent = text; -}; - -hterm.ScrollPort.prototype.focus = function() { - this.iframe_.focus(); - this.screen_.focus(); -}; - -hterm.ScrollPort.prototype.getForegroundColor = function() { - return this.screen_.style.color; -}; - -hterm.ScrollPort.prototype.setForegroundColor = function(color) { - this.screen_.style.color = color; -}; - -hterm.ScrollPort.prototype.getBackgroundColor = function() { - return this.screen_.style.backgroundColor; -}; - -hterm.ScrollPort.prototype.setBackgroundColor = function(color) { - this.screen_.style.backgroundColor = color; -}; - -hterm.ScrollPort.prototype.setBackgroundImage = function(image) { - this.screen_.style.backgroundImage = image; -}; - -hterm.ScrollPort.prototype.setBackgroundSize = function(size) { - this.screen_.style.backgroundSize = size; -}; - -hterm.ScrollPort.prototype.setBackgroundPosition = function(position) { - this.screen_.style.backgroundPosition = position; -}; - -hterm.ScrollPort.prototype.setCtrlVPaste = function(ctrlVPaste) { - this.ctrlVPaste = ctrlVPaste; -}; - -/** - * Get the usable size of the scrollport screen. - * - * The width will not include the scrollbar width. - */ -hterm.ScrollPort.prototype.getScreenSize = function() { - var size = hterm.getClientSize(this.screen_); - return { - height: size.height, - width: size.width - this.currentScrollbarWidthPx - }; -}; - -/** - * Get the usable width of the scrollport screen. - * - * This the widget width minus scrollbar width. - */ -hterm.ScrollPort.prototype.getScreenWidth = function() { - return this.getScreenSize().width ; -}; - -/** - * Get the usable height of the scrollport screen. - */ -hterm.ScrollPort.prototype.getScreenHeight = function() { - return this.getScreenSize().height; -}; - -/** - * Return the document that holds the visible rows of this hterm.ScrollPort. - */ -hterm.ScrollPort.prototype.getDocument = function() { - return this.document_; -}; - -/** - * Returns the x-screen element that holds the rows of this hterm.ScrollPort. - */ -hterm.ScrollPort.prototype.getScreenNode = function() { - return this.screen_; -}; - -/** - * Clear out any cached rowNodes. - */ -hterm.ScrollPort.prototype.resetCache = function() { - this.currentRowNodeCache_ = null; - this.previousRowNodeCache_ = {}; -}; - -/** - * Change the current rowProvider. - * - * This will clear the row cache and cause a redraw. - * - * @param {Object} rowProvider An object capable of providing the rows - * in this hterm.ScrollPort. - */ -hterm.ScrollPort.prototype.setRowProvider = function(rowProvider) { - this.resetCache(); - this.rowProvider_ = rowProvider; - this.scheduleRedraw(); -}; - -/** - * Inform the ScrollPort that the root DOM nodes for some or all of the visible - * rows are no longer valid. - * - * Specifically, this should be called if this.rowProvider_.getRowNode() now - * returns an entirely different node than it did before. It does not - * need to be called if the content of a row node is the only thing that - * changed. - * - * This skips some of the overhead of a full redraw, but should not be used - * in cases where the scrollport has been scrolled, or when the row count has - * changed. - */ -hterm.ScrollPort.prototype.invalidate = function() { - var node = this.topFold_.nextSibling; - while (node != this.bottomFold_) { - var nextSibling = node.nextSibling; - node.parentElement.removeChild(node); - node = nextSibling; - } - - this.previousRowNodeCache_ = null; - var topRowIndex = this.getTopRowIndex(); - var bottomRowIndex = this.getBottomRowIndex(topRowIndex); - - this.drawVisibleRows_(topRowIndex, bottomRowIndex); -}; - -hterm.ScrollPort.prototype.scheduleInvalidate = function() { - if (this.timeouts_.invalidate) - return; - - var self = this; - this.timeouts_.invalidate = setTimeout(function () { - delete self.timeouts_.invalidate; - self.invalidate(); - }, 0); -}; - -/** - * Set the font size of the ScrollPort. - */ -hterm.ScrollPort.prototype.setFontSize = function(px) { - this.screen_.style.fontSize = px + 'px'; - this.syncCharacterSize(); -}; - -/** - * Return the current font size of the ScrollPort. - */ -hterm.ScrollPort.prototype.getFontSize = function() { - return parseInt(this.screen_.style.fontSize); -}; - -/** - * Measure the size of a single character in pixels. - * - * @param {string} opt_weight The font weight to measure, or 'normal' if - * omitted. - * @return {hterm.Size} A new hterm.Size object. - */ -hterm.ScrollPort.prototype.measureCharacterSize = function(opt_weight) { - // Number of lines used to average the height of a single character. - var numberOfLines = 100; - // Number of chars per line used to average the width of a single character. - var lineLength = 100; - - if (!this.ruler_) { - this.ruler_ = this.document_.createElement('div'); - this.ruler_.id = 'hterm:ruler-character-size'; - this.ruler_.style.cssText = ( - 'position: absolute;' + - 'top: 0;' + - 'left: 0;' + - 'visibility: hidden;' + - 'height: auto !important;' + - 'width: auto !important;'); - - // We need to put the text in a span to make the size calculation - // work properly in Firefox - this.rulerSpan_ = this.document_.createElement('span'); - this.rulerSpan_.id = 'hterm:ruler-span-workaround'; - this.rulerSpan_.innerHTML = - ('X'.repeat(lineLength) + '\r').repeat(numberOfLines); - this.ruler_.appendChild(this.rulerSpan_); - - this.rulerBaseline_ = this.document_.createElement('span'); - this.rulerSpan_.id = 'hterm:ruler-baseline'; - // We want to collapse it on the baseline - this.rulerBaseline_.style.fontSize = '0px'; - this.rulerBaseline_.textContent = 'X'; - } - - this.rulerSpan_.style.fontWeight = opt_weight || ''; - - this.rowNodes_.appendChild(this.ruler_); - var rulerSize = hterm.getClientSize(this.rulerSpan_); - - var size = new hterm.Size(rulerSize.width / lineLength, - rulerSize.height / numberOfLines); - - this.ruler_.appendChild(this.rulerBaseline_); - size.baseline = this.rulerBaseline_.offsetTop; - this.ruler_.removeChild(this.rulerBaseline_); - - this.rowNodes_.removeChild(this.ruler_); - - this.div_.ownerDocument.body.appendChild(this.svg_); - size.zoomFactor = this.svg_.currentScale; - this.div_.ownerDocument.body.removeChild(this.svg_); - - return size; -}; - -/** - * Synchronize the character size. - * - * This will re-measure the current character size and adjust the height - * of an x-row to match. - */ -hterm.ScrollPort.prototype.syncCharacterSize = function() { - this.characterSize = this.measureCharacterSize(); - - this.resize(); -}; - -/** - * Reset dimensions and visible row count to account for a change in the - * dimensions of the 'x-screen'. - */ -hterm.ScrollPort.prototype.resize = function() { - this.currentScrollbarWidthPx = hterm.getClientWidth(this.screen_) - - this.screen_.clientWidth; - - this.syncScrollHeight(); - this.syncRowNodesDimensions_(); - - var self = this; - this.publish( - 'resize', { scrollPort: this }, - function() { - self.scrollRowToBottom(self.rowProvider_.getRowCount()); - self.scheduleRedraw(); - }); -}; - -/** - * Set the position and size of the row nodes element. - */ -hterm.ScrollPort.prototype.syncRowNodesDimensions_ = function() { - var screenSize = this.getScreenSize(); - - this.lastScreenWidth_ = screenSize.width; - this.lastScreenHeight_ = screenSize.height; - - // We don't want to show a partial row because it would be distracting - // in a terminal, so we floor any fractional row count. - this.visibleRowCount = lib.f.smartFloorDivide( - screenSize.height, this.characterSize.height); - - // Then compute the height of our integral number of rows. - var visibleRowsHeight = this.visibleRowCount * this.characterSize.height; - - // Then the difference between the screen height and total row height needs to - // be made up for as top margin. We need to record this value so it - // can be used later to determine the topRowIndex. - this.visibleRowTopMargin = 0; - this.visibleRowBottomMargin = screenSize.height - visibleRowsHeight; - - this.topFold_.style.marginBottom = this.visibleRowTopMargin + 'px'; - - - var topFoldOffset = 0; - var node = this.topFold_.previousSibling; - while (node) { - topFoldOffset += hterm.getClientHeight(node); - node = node.previousSibling; - } - - // Set the dimensions of the visible rows container. - this.rowNodes_.style.width = screenSize.width + 'px'; - this.rowNodes_.style.height = visibleRowsHeight + topFoldOffset + 'px'; - this.rowNodes_.style.left = this.screen_.offsetLeft + 'px'; - this.rowNodes_.style.top = this.screen_.offsetTop - topFoldOffset + 'px'; -}; - -hterm.ScrollPort.prototype.syncScrollHeight = function() { - // Resize the scroll area to appear as though it contains every row. - this.lastRowCount_ = this.rowProvider_.getRowCount(); - this.scrollArea_.style.height = (this.characterSize.height * - this.lastRowCount_ + - this.visibleRowTopMargin + - this.visibleRowBottomMargin + - 'px'); -}; - -/** - * Schedule a redraw to happen asynchronously. - * - * If this method is called multiple times before the redraw has a chance to - * run only one redraw occurs. - */ -hterm.ScrollPort.prototype.scheduleRedraw = function() { - if (this.timeouts_.redraw) - return; - - var self = this; - this.timeouts_.redraw = setTimeout(function () { - delete self.timeouts_.redraw; - self.redraw_(); - }, 0); -}; - -/** - * Redraw the current hterm.ScrollPort based on the current scrollbar position. - * - * When redrawing, we are careful to make sure that the rows that start or end - * the current selection are not touched in any way. Doing so would disturb - * the selection, and cleaning up after that would cause flashes at best and - * incorrect selection at worst. Instead, we modify the DOM around these nodes. - * We even stash the selection start/end outside of the visible area if - * they are not supposed to be visible in the hterm.ScrollPort. - */ -hterm.ScrollPort.prototype.redraw_ = function() { - this.resetSelectBags_(); - this.selection.sync(); - - this.syncScrollHeight(); - - this.currentRowNodeCache_ = {}; - - var topRowIndex = this.getTopRowIndex(); - var bottomRowIndex = this.getBottomRowIndex(topRowIndex); - - this.drawTopFold_(topRowIndex); - this.drawBottomFold_(bottomRowIndex); - this.drawVisibleRows_(topRowIndex, bottomRowIndex); - - this.syncRowNodesDimensions_(); - - this.previousRowNodeCache_ = this.currentRowNodeCache_; - this.currentRowNodeCache_ = null; - - this.isScrolledEnd = ( - this.getTopRowIndex() + this.visibleRowCount >= this.lastRowCount_); -}; - -/** - * Ensure that the nodes above the top fold are as they should be. - * - * If the selection start and/or end nodes are above the visible range - * of this hterm.ScrollPort then the dom will be adjusted so that they appear - * before the top fold (the first x-fold element, aka this.topFold). - * - * If not, the top fold will be the first element. - * - * It is critical that this method does not move the selection nodes. Doing - * so would clear the current selection. Instead, the rest of the DOM is - * adjusted around them. - */ -hterm.ScrollPort.prototype.drawTopFold_ = function(topRowIndex) { - if (!this.selection.startRow || - this.selection.startRow.rowIndex >= topRowIndex) { - // Selection is entirely below the top fold, just make sure the fold is - // the first child. - if (this.rowNodes_.firstChild != this.topFold_) - this.rowNodes_.insertBefore(this.topFold_, this.rowNodes_.firstChild); - - return; - } - - if (!this.selection.isMultiline || - this.selection.endRow.rowIndex >= topRowIndex) { - // Only the startRow is above the fold. - if (this.selection.startRow.nextSibling != this.topFold_) - this.rowNodes_.insertBefore(this.topFold_, - this.selection.startRow.nextSibling); - } else { - // Both rows are above the fold. - if (this.selection.endRow.nextSibling != this.topFold_) { - this.rowNodes_.insertBefore(this.topFold_, - this.selection.endRow.nextSibling); - } - - // Trim any intermediate lines. - while (this.selection.startRow.nextSibling != - this.selection.endRow) { - this.rowNodes_.removeChild(this.selection.startRow.nextSibling); - } - } - - while(this.rowNodes_.firstChild != this.selection.startRow) { - this.rowNodes_.removeChild(this.rowNodes_.firstChild); - } -}; - -/** - * Ensure that the nodes below the bottom fold are as they should be. - * - * If the selection start and/or end nodes are below the visible range - * of this hterm.ScrollPort then the dom will be adjusted so that they appear - * after the bottom fold (the second x-fold element, aka this.bottomFold). - * - * If not, the bottom fold will be the last element. - * - * It is critical that this method does not move the selection nodes. Doing - * so would clear the current selection. Instead, the rest of the DOM is - * adjusted around them. - */ -hterm.ScrollPort.prototype.drawBottomFold_ = function(bottomRowIndex) { - if (!this.selection.endRow || - this.selection.endRow.rowIndex <= bottomRowIndex) { - // Selection is entirely above the bottom fold, just make sure the fold is - // the last child. - if (this.rowNodes_.lastChild != this.bottomFold_) - this.rowNodes_.appendChild(this.bottomFold_); - - return; - } - - if (!this.selection.isMultiline || - this.selection.startRow.rowIndex <= bottomRowIndex) { - // Only the endRow is below the fold. - if (this.bottomFold_.nextSibling != this.selection.endRow) - this.rowNodes_.insertBefore(this.bottomFold_, - this.selection.endRow); - } else { - // Both rows are below the fold. - if (this.bottomFold_.nextSibling != this.selection.startRow) { - this.rowNodes_.insertBefore(this.bottomFold_, - this.selection.startRow); - } - - // Trim any intermediate lines. - while (this.selection.startRow.nextSibling != - this.selection.endRow) { - this.rowNodes_.removeChild(this.selection.startRow.nextSibling); - } - } - - while(this.rowNodes_.lastChild != this.selection.endRow) { - this.rowNodes_.removeChild(this.rowNodes_.lastChild); - } -}; - -/** - * Ensure that the rows between the top and bottom folds are as they should be. - * - * This method assumes that drawTopFold_() and drawBottomFold_() have already - * run, and that they have left any visible selection row (selection start - * or selection end) between the folds. - * - * It recycles DOM nodes from the previous redraw where possible, but will ask - * the rowSource to make new nodes if necessary. - * - * It is critical that this method does not move the selection nodes. Doing - * so would clear the current selection. Instead, the rest of the DOM is - * adjusted around them. - */ -hterm.ScrollPort.prototype.drawVisibleRows_ = function( - topRowIndex, bottomRowIndex) { - var self = this; - - // Keep removing nodes, starting with currentNode, until we encounter - // targetNode. Throws on failure. - function removeUntilNode(currentNode, targetNode) { - while (currentNode != targetNode) { - if (!currentNode) - throw 'Did not encounter target node'; - - if (currentNode == self.bottomFold_) - throw 'Encountered bottom fold before target node'; - - var deadNode = currentNode; - currentNode = currentNode.nextSibling; - deadNode.parentNode.removeChild(deadNode); - } - } - - // Shorthand for things we're going to use a lot. - var selectionStartRow = this.selection.startRow; - var selectionEndRow = this.selection.endRow; - var bottomFold = this.bottomFold_; - - // The node we're examining during the current iteration. - var node = this.topFold_.nextSibling; - - var targetDrawCount = Math.min(this.visibleRowCount, - this.rowProvider_.getRowCount()); - - for (var drawCount = 0; drawCount < targetDrawCount; drawCount++) { - var rowIndex = topRowIndex + drawCount; - - if (node == bottomFold) { - // We've hit the bottom fold, we need to insert a new row. - var newNode = this.fetchRowNode_(rowIndex); - if (!newNode) { - console.log("Couldn't fetch row index: " + rowIndex); - break; - } - - this.rowNodes_.insertBefore(newNode, node); - continue; - } - - if (node.rowIndex == rowIndex) { - // This node is in the right place, move along. - node = node.nextSibling; - continue; - } - - if (selectionStartRow && selectionStartRow.rowIndex == rowIndex) { - // The selection start row is supposed to be here, remove nodes until - // we find it. - removeUntilNode(node, selectionStartRow); - node = selectionStartRow.nextSibling; - continue; - } - - if (selectionEndRow && selectionEndRow.rowIndex == rowIndex) { - // The selection end row is supposed to be here, remove nodes until - // we find it. - removeUntilNode(node, selectionEndRow); - node = selectionEndRow.nextSibling; - continue; - } - - if (node == selectionStartRow || node == selectionEndRow) { - // We encountered the start/end of the selection, but we don't want it - // yet. Insert a new row instead. - var newNode = this.fetchRowNode_(rowIndex); - if (!newNode) { - console.log("Couldn't fetch row index: " + rowIndex); - break; - } - - this.rowNodes_.insertBefore(newNode, node); - continue; - } - - // There is nothing special about this node, but it's in our way. Replace - // it with the node that should be here. - var newNode = this.fetchRowNode_(rowIndex); - if (!newNode) { - console.log("Couldn't fetch row index: " + rowIndex); - break; - } - - if (node == newNode) { - node = node.nextSibling; - continue; - } - - this.rowNodes_.insertBefore(newNode, node); - if (!newNode.nextSibling) - debugger; - this.rowNodes_.removeChild(node); - node = newNode.nextSibling; - } - - if (node != this.bottomFold_) - removeUntilNode(node, bottomFold); -}; - -/** - * Empty out both select bags and remove them from the document. - * - * These nodes hold the text between the start and end of the selection - * when that text is otherwise off screen. They are filled out in the - * onCopy_ event. - */ -hterm.ScrollPort.prototype.resetSelectBags_ = function() { - if (this.topSelectBag_.parentNode) { - this.topSelectBag_.textContent = ''; - this.topSelectBag_.parentNode.removeChild(this.topSelectBag_); - } - - if (this.bottomSelectBag_.parentNode) { - this.bottomSelectBag_.textContent = ''; - this.bottomSelectBag_.parentNode.removeChild(this.bottomSelectBag_); - } -}; - -/** - * Place a row node in the cache of visible nodes. - * - * This method may only be used during a redraw_. - */ -hterm.ScrollPort.prototype.cacheRowNode_ = function(rowNode) { - this.currentRowNodeCache_[rowNode.rowIndex] = rowNode; -}; - -/** - * Fetch the row node for the given index. - * - * This will return a node from the cache if possible, or will request one - * from the RowProvider if not. - * - * If a redraw_ is in progress the row will be added to the current cache. - */ -hterm.ScrollPort.prototype.fetchRowNode_ = function(rowIndex) { - var node; - - if (this.previousRowNodeCache_ && rowIndex in this.previousRowNodeCache_) { - node = this.previousRowNodeCache_[rowIndex]; - } else { - node = this.rowProvider_.getRowNode(rowIndex); - } - - if (this.currentRowNodeCache_) - this.cacheRowNode_(node); - - return node; -}; - -/** - * Select all rows in the viewport. - */ -hterm.ScrollPort.prototype.selectAll = function() { - var firstRow; - - if (this.topFold_.nextSibling.rowIndex != 0) { - while (this.topFold_.previousSibling) { - this.rowNodes_.removeChild(this.topFold_.previousSibling); - } - - firstRow = this.fetchRowNode_(0); - this.rowNodes_.insertBefore(firstRow, this.topFold_); - this.syncRowNodesDimensions_(); - } else { - firstRow = this.topFold_.nextSibling; - } - - var lastRowIndex = this.rowProvider_.getRowCount() - 1; - var lastRow; - - if (this.bottomFold_.previousSibling.rowIndex != lastRowIndex) { - while (this.bottomFold_.nextSibling) { - this.rowNodes_.removeChild(this.bottomFold_.nextSibling); - } - - lastRow = this.fetchRowNode_(lastRowIndex); - this.rowNodes_.appendChild(lastRow); - } else { - lastRow = this.bottomFold_.previousSibling.rowIndex; - } - - var selection = this.document_.getSelection(); - selection.collapse(firstRow, 0); - selection.extend(lastRow, lastRow.childNodes.length); - - this.selection.sync(); -}; - -/** - * Return the maximum scroll position in pixels. - */ -hterm.ScrollPort.prototype.getScrollMax_ = function(e) { - return (hterm.getClientHeight(this.scrollArea_) + - this.visibleRowTopMargin + this.visibleRowBottomMargin - - hterm.getClientHeight(this.screen_)); -}; - -/** - * Scroll the given rowIndex to the top of the hterm.ScrollPort. - * - * @param {integer} rowIndex Index of the target row. - */ -hterm.ScrollPort.prototype.scrollRowToTop = function(rowIndex) { - this.syncScrollHeight(); - - this.isScrolledEnd = ( - rowIndex + this.visibleRowCount >= this.lastRowCount_); - - var scrollTop = rowIndex * this.characterSize.height + - this.visibleRowTopMargin; - - var scrollMax = this.getScrollMax_(); - if (scrollTop > scrollMax) - scrollTop = scrollMax; - - if (this.screen_.scrollTop == scrollTop) - return; - - this.screen_.scrollTop = scrollTop; - this.scheduleRedraw(); -}; - -/** - * Scroll the given rowIndex to the bottom of the hterm.ScrollPort. - * - * @param {integer} rowIndex Index of the target row. - */ -hterm.ScrollPort.prototype.scrollRowToBottom = function(rowIndex) { - this.syncScrollHeight(); - - this.isScrolledEnd = ( - rowIndex + this.visibleRowCount >= this.lastRowCount_); - - var scrollTop = rowIndex * this.characterSize.height + - this.visibleRowTopMargin + this.visibleRowBottomMargin; - scrollTop -= this.visibleRowCount * this.characterSize.height; - - if (scrollTop < 0) - scrollTop = 0; - - if (this.screen_.scrollTop == scrollTop) - return; - - this.screen_.scrollTop = scrollTop; -}; - -/** - * Return the row index of the first visible row. - * - * This is based on the scroll position. If a redraw_ is in progress this - * returns the row that *should* be at the top. - */ -hterm.ScrollPort.prototype.getTopRowIndex = function() { - return Math.round(this.screen_.scrollTop / this.characterSize.height); -}; - -/** - * Return the row index of the last visible row. - * - * This is based on the scroll position. If a redraw_ is in progress this - * returns the row that *should* be at the bottom. - */ -hterm.ScrollPort.prototype.getBottomRowIndex = function(topRowIndex) { - return topRowIndex + this.visibleRowCount - 1; -}; - -/** - * Handler for scroll events. - * - * The onScroll event fires when scrollArea's scrollTop property changes. This - * may be due to the user manually move the scrollbar, or a programmatic change. - */ -hterm.ScrollPort.prototype.onScroll_ = function(e) { - var screenSize = this.getScreenSize(); - if (screenSize.width != this.lastScreenWidth_ || - screenSize.height != this.lastScreenHeight_) { - // This event may also fire during a resize (but before the resize event!). - // This happens when the browser moves the scrollbar as part of the resize. - // In these cases, we want to ignore the scroll event and let onResize - // handle things. If we don't, then we end up scrolling to the wrong - // position after a resize. - this.resize(); - return; - } - - this.redraw_(); - this.publish('scroll', { scrollPort: this }); -}; - -/** - * Clients can override this if they want to hear scrollwheel events. - * - * Clients may call event.preventDefault() if they want to keep the scrollport - * from also handling the events. - */ -hterm.ScrollPort.prototype.onScrollWheel = function(e) {}; - -/** - * Handler for scroll-wheel events. - * - * The onScrollWheel event fires when the user moves their scrollwheel over this - * hterm.ScrollPort. Because the frontmost element in the hterm.ScrollPort is - * a fixed position DIV, the scroll wheel does nothing by default. Instead, we - * have to handle it manually. - */ -hterm.ScrollPort.prototype.onScrollWheel_ = function(e) { - this.onScrollWheel(e); - - if (e.defaultPrevented) - return; - - // Figure out how far this event wants us to scroll. - var delta = this.scrollWheelDelta(e); - - var top = this.screen_.scrollTop - delta; - if (top < 0) - top = 0; - - var scrollMax = this.getScrollMax_(); - if (top > scrollMax) - top = scrollMax; - - if (top != this.screen_.scrollTop) { - // Moving scrollTop causes a scroll event, which triggers the redraw. - this.screen_.scrollTop = top; - - // Only preventDefault when we've actually scrolled. If there's nothing - // to scroll we want to pass the event through so Chrome can detect the - // overscroll. - e.preventDefault(); - } -}; - -/** - * Calculate how far a wheel event should scroll. - * - * @param {WheelEvent} e The mouse wheel event to process. - * @return {number} How far (in pixels) to scroll. - */ -hterm.ScrollPort.prototype.scrollWheelDelta = function(e) { - var delta; - - switch (e.deltaMode) { - case WheelEvent.DOM_DELTA_PIXEL: - delta = e.deltaY * this.scrollWheelMultiplier_; - break; - case WheelEvent.DOM_DELTA_LINE: - delta = e.deltaY * this.characterSize.height; - break; - case WheelEvent.DOM_DELTA_PAGE: - delta = e.deltaY * this.characterSize.height * this.screen_.getHeight(); - break; - } - - // The sign is inverted from what we would expect. - return delta * -1; -}; - - -/** - * Clients can override this if they want to hear touch events. - * - * Clients may call event.preventDefault() if they want to keep the scrollport - * from also handling the events. - */ -hterm.ScrollPort.prototype.onTouch = function(e) {}; - -/** - * Handler for touch events. - */ -hterm.ScrollPort.prototype.onTouch_ = function(e) { - this.onTouch(e); - - if (e.defaultPrevented) - return; - - // Extract the fields from the Touch event that we need. If we saved the - // event directly, it has references to other objects (like x-row) that - // might stick around for a long time. This way we only have small objects - // in our lastTouch_ state. - var scrubTouch = function(t) { - return { - id: t.identifier, - y: t.clientY, - x: t.clientX, - }; - }; - - var i, touch; - switch (e.type) { - case 'touchstart': - // Save the current set of touches. - for (i = 0; i < e.changedTouches.length; ++i) { - touch = scrubTouch(e.changedTouches[i]); - this.lastTouch_[touch.id] = touch; - } - break; - - case 'touchcancel': - case 'touchend': - // Throw away existing touches that we're finished with. - for (i = 0; i < e.changedTouches.length; ++i) - delete this.lastTouch_[e.changedTouches[i].identifier]; - break; - - case 'touchmove': - // Walk all of the touches in this one event and merge all of their - // changes into one delta. This lets multiple fingers scroll faster. - var delta = 0; - for (i = 0; i < e.changedTouches.length; ++i) { - touch = scrubTouch(e.changedTouches[i]); - delta += (this.lastTouch_[touch.id].y - touch.y); - this.lastTouch_[touch.id] = touch; - } - - // Invert to match the touchscreen scrolling direction of browser windows. - delta *= -1; - - var top = this.screen_.scrollTop - delta; - if (top < 0) - top = 0; - - var scrollMax = this.getScrollMax_(); - if (top > scrollMax) - top = scrollMax; - - if (top != this.screen_.scrollTop) { - // Moving scrollTop causes a scroll event, which triggers the redraw. - this.screen_.scrollTop = top; - } - break; - } - - // To disable gestures or anything else interfering with our scrolling. - e.preventDefault(); -}; - -/** - * Handler for resize events. - * - * The browser will resize us such that the top row stays at the top, but we - * prefer to the bottom row to stay at the bottom. - */ -hterm.ScrollPort.prototype.onResize_ = function(e) { - // Re-measure, since onResize also happens for browser zoom changes. - this.syncCharacterSize(); - this.resize(); -}; - -/** - * Clients can override this if they want to hear copy events. - * - * Clients may call event.preventDefault() if they want to keep the scrollport - * from also handling the events. - */ -hterm.ScrollPort.prototype.onCopy = function(e) { }; - -/** - * Handler for copy-to-clipboard events. - * - * If some or all of the selected rows are off screen we may need to fill in - * the rows between selection start and selection end. This handler determines - * if we're missing some of the selected text, and if so populates one or both - * of the "select bags" with the missing text. - */ -hterm.ScrollPort.prototype.onCopy_ = function(e) { - this.onCopy(e); - - if (e.defaultPrevented) - return; - - this.resetSelectBags_(); - this.selection.sync(); - - if (!this.selection.startRow || - this.selection.endRow.rowIndex - this.selection.startRow.rowIndex < 2) { - return; - } - - var topRowIndex = this.getTopRowIndex(); - var bottomRowIndex = this.getBottomRowIndex(topRowIndex); - - if (this.selection.startRow.rowIndex < topRowIndex) { - // Start of selection is above the top fold. - var endBackfillIndex; - - if (this.selection.endRow.rowIndex < topRowIndex) { - // Entire selection is above the top fold. - endBackfillIndex = this.selection.endRow.rowIndex; - } else { - // Selection extends below the top fold. - endBackfillIndex = this.topFold_.nextSibling.rowIndex; - } - - this.topSelectBag_.textContent = this.rowProvider_.getRowsText( - this.selection.startRow.rowIndex + 1, endBackfillIndex); - this.rowNodes_.insertBefore(this.topSelectBag_, - this.selection.startRow.nextSibling); - this.syncRowNodesDimensions_(); - } - - if (this.selection.endRow.rowIndex > bottomRowIndex) { - // Selection ends below the bottom fold. - var startBackfillIndex; - - if (this.selection.startRow.rowIndex > bottomRowIndex) { - // Entire selection is below the bottom fold. - startBackfillIndex = this.selection.startRow.rowIndex + 1; - } else { - // Selection starts above the bottom fold. - startBackfillIndex = this.bottomFold_.previousSibling.rowIndex + 1; - } - - this.bottomSelectBag_.textContent = this.rowProvider_.getRowsText( - startBackfillIndex, this.selection.endRow.rowIndex); - this.rowNodes_.insertBefore(this.bottomSelectBag_, this.selection.endRow); - } -}; - -/** - * Focuses on the paste target on a ctrl-v keydown event, as in - * FF a content editable element must be focused before the paste event. - */ -hterm.ScrollPort.prototype.onBodyKeyDown_ = function(e) { - if (!this.ctrlVPaste) - return; - - var key = String.fromCharCode(e.which); - var lowerKey = key.toLowerCase(); - if ((e.ctrlKey || e.metaKey) && lowerKey == "v") - this.pasteTarget_.focus(); -}; - -/** - * Handle a paste event on the the ScrollPort's screen element. - */ -hterm.ScrollPort.prototype.onPaste_ = function(e) { - this.pasteTarget_.focus(); - - var self = this; - setTimeout(function() { - self.publish('paste', { text: self.pasteTarget_.value }); - self.pasteTarget_.value = ''; - self.screen_.focus(); - }, 0); -}; - -/** - * Handles a textInput event on the paste target. Stops this from - * propagating as we want this to be handled in the onPaste_ method. - */ -hterm.ScrollPort.prototype.handlePasteTargetTextInput_ = function(e) { - e.stopPropagation(); -}; - -/** - * Set the vertical scrollbar mode of the ScrollPort. - */ -hterm.ScrollPort.prototype.setScrollbarVisible = function(state) { - this.screen_.style.overflowY = state ? 'scroll' : 'hidden'; -}; - -/** - * Set scroll wheel multiplier. This alters how much the screen scrolls on - * mouse wheel events. - */ -hterm.ScrollPort.prototype.setScrollWheelMoveMultipler = function(multiplier) { - this.scrollWheelMultiplier_ = multiplier; -}; -// SOURCE FILE: hterm/js/hterm_terminal.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -lib.rtdep('lib.colors', 'lib.PreferenceManager', 'lib.resource', 'lib.wc', - 'lib.f', 'hterm.Keyboard', 'hterm.Options', 'hterm.PreferenceManager', - 'hterm.Screen', 'hterm.ScrollPort', 'hterm.Size', - 'hterm.TextAttributes', 'hterm.VT'); - -/** - * Constructor for the Terminal class. - * - * A Terminal pulls together the hterm.ScrollPort, hterm.Screen and hterm.VT100 - * classes to provide the complete terminal functionality. - * - * There are a number of lower-level Terminal methods that can be called - * directly to manipulate the cursor, text, scroll region, and other terminal - * attributes. However, the primary method is interpret(), which parses VT - * escape sequences and invokes the appropriate Terminal methods. - * - * This class was heavily influenced by Cory Maccarrone's Framebuffer class. - * - * TODO(rginda): Eventually we're going to need to support characters which are - * displayed twice as wide as standard latin characters. This is to support - * CJK (and possibly other character sets). - * - * @param {string} opt_profileId Optional preference profile name. If not - * provided, defaults to 'default'. - */ -hterm.Terminal = function(opt_profileId) { - this.profileId_ = null; - - // Two screen instances. - this.primaryScreen_ = new hterm.Screen(); - this.alternateScreen_ = new hterm.Screen(); - - // The "current" screen. - this.screen_ = this.primaryScreen_; - - // The local notion of the screen size. ScreenBuffers also have a size which - // indicates their present size. During size changes, the two may disagree. - // Also, the inactive screen's size is not altered until it is made the active - // screen. - this.screenSize = new hterm.Size(0, 0); - - // The scroll port we'll be using to display the visible rows. - this.scrollPort_ = new hterm.ScrollPort(this); - this.scrollPort_.subscribe('resize', this.onResize_.bind(this)); - this.scrollPort_.subscribe('scroll', this.onScroll_.bind(this)); - this.scrollPort_.subscribe('paste', this.onPaste_.bind(this)); - this.scrollPort_.onCopy = this.onCopy_.bind(this); - - // The div that contains this terminal. - this.div_ = null; - - // The document that contains the scrollPort. Defaulted to the global - // document here so that the terminal is functional even if it hasn't been - // inserted into a document yet, but re-set in decorate(). - this.document_ = window.document; - - // The rows that have scrolled off screen and are no longer addressable. - this.scrollbackRows_ = []; - - // Saved tab stops. - this.tabStops_ = []; - - // Keep track of whether default tab stops have been erased; after a TBC - // clears all tab stops, defaults aren't restored on resize until a reset. - this.defaultTabStops = true; - - // The VT's notion of the top and bottom rows. Used during some VT - // cursor positioning and scrolling commands. - this.vtScrollTop_ = null; - this.vtScrollBottom_ = null; - - // The DIV element for the visible cursor. - this.cursorNode_ = null; - - // The current cursor shape of the terminal. - this.cursorShape_ = hterm.Terminal.cursorShape.BLOCK; - - // The current color of the cursor. - this.cursorColor_ = null; - - // Cursor blink on/off cycle in ms, overwritten by prefs once they're loaded. - this.cursorBlinkCycle_ = [100, 100]; - - // Pre-bound onCursorBlink_ handler, so we don't have to do this for each - // cursor on/off servicing. - this.myOnCursorBlink_ = this.onCursorBlink_.bind(this); - - // These prefs are cached so we don't have to read from local storage with - // each output and keystroke. They are initialized by the preference manager. - this.backgroundColor_ = null; - this.foregroundColor_ = null; - this.scrollOnOutput_ = null; - this.scrollOnKeystroke_ = null; - this.scrollWheelArrowKeys_ = null; - - // True if we should override mouse event reporting to allow local selection. - this.defeatMouseReports_ = false; - - // Terminal bell sound. - this.bellAudio_ = this.document_.createElement('audio'); - this.bellAudio_.id = 'hterm:bell-audio'; - this.bellAudio_.setAttribute('preload', 'auto'); - - // All terminal bell notifications that have been generated (not necessarily - // shown). - this.bellNotificationList_ = []; - - // Whether we have permission to display notifications. - this.desktopNotificationBell_ = false; - - // Cursor position and attributes saved with DECSC. - this.savedOptions_ = {}; - - // The current mode bits for the terminal. - this.options_ = new hterm.Options(); - - // Timeouts we might need to clear. - this.timeouts_ = {}; - - // The VT escape sequence interpreter. - this.vt = new hterm.VT(this); - - // The keyboard handler. - this.keyboard = new hterm.Keyboard(this); - - // General IO interface that can be given to third parties without exposing - // the entire terminal object. - this.io = new hterm.Terminal.IO(this); - - // True if mouse-click-drag should scroll the terminal. - this.enableMouseDragScroll = true; - - this.copyOnSelect = null; - this.mouseRightClickPaste = null; - this.mousePasteButton = null; - - // Whether to use the default window copy behavior. - this.useDefaultWindowCopy = false; - - this.clearSelectionAfterCopy = true; - - this.realizeSize_(80, 24); - this.setDefaultTabStops(); - - this.setProfile(opt_profileId || 'default', - function() { this.onTerminalReady(); }.bind(this)); -}; - -/** - * Possible cursor shapes. - */ -hterm.Terminal.cursorShape = { - BLOCK: 'BLOCK', - BEAM: 'BEAM', - UNDERLINE: 'UNDERLINE' -}; - -/** - * Clients should override this to be notified when the terminal is ready - * for use. - * - * The terminal initialization is asynchronous, and shouldn't be used before - * this method is called. - */ -hterm.Terminal.prototype.onTerminalReady = function() { }; - -/** - * Default tab with of 8 to match xterm. - */ -hterm.Terminal.prototype.tabWidth = 8; - -/** - * Select a preference profile. - * - * This will load the terminal preferences for the given profile name and - * associate subsequent preference changes with the new preference profile. - * - * @param {string} profileId The name of the preference profile. Forward slash - * characters will be removed from the name. - * @param {function} opt_callback Optional callback to invoke when the profile - * transition is complete. - */ -hterm.Terminal.prototype.setProfile = function(profileId, opt_callback) { - this.profileId_ = profileId.replace(/\//g, ''); - - var terminal = this; - - if (this.prefs_) - this.prefs_.deactivate(); - - this.prefs_ = new hterm.PreferenceManager(this.profileId_); - this.prefs_.addObservers(null, { - 'alt-gr-mode': function(v) { - if (v == null) { - if (navigator.language.toLowerCase() == 'en-us') { - v = 'none'; - } else { - v = 'right-alt'; - } - } else if (typeof v == 'string') { - v = v.toLowerCase(); - } else { - v = 'none'; - } - - if (!/^(none|ctrl-alt|left-alt|right-alt)$/.test(v)) - v = 'none'; - - terminal.keyboard.altGrMode = v; - }, - - 'alt-backspace-is-meta-backspace': function(v) { - terminal.keyboard.altBackspaceIsMetaBackspace = v; - }, - - 'alt-is-meta': function(v) { - terminal.keyboard.altIsMeta = v; - }, - - 'alt-sends-what': function(v) { - if (!/^(escape|8-bit|browser-key)$/.test(v)) - v = 'escape'; - - terminal.keyboard.altSendsWhat = v; - }, - - 'audible-bell-sound': function(v) { - var ary = v.match(/^lib-resource:(\S+)/); - if (ary) { - terminal.bellAudio_.setAttribute('src', - lib.resource.getDataUrl(ary[1])); - } else { - terminal.bellAudio_.setAttribute('src', v); - } - }, - - 'desktop-notification-bell': function(v) { - if (v && Notification) { - terminal.desktopNotificationBell_ = - Notification.permission === 'granted'; - if (!terminal.desktopNotificationBell_) { - // Note: We don't call Notification.requestPermission here because - // Chrome requires the call be the result of a user action (such as an - // onclick handler), and pref listeners are run asynchronously. - // - // A way of working around this would be to display a dialog in the - // terminal with a "click-to-request-permission" button. - console.warn('desktop-notification-bell is true but we do not have ' + - 'permission to display notifications.'); - } - } else { - terminal.desktopNotificationBell_ = false; - } - }, - - 'background-color': function(v) { - terminal.setBackgroundColor(v); - }, - - 'background-image': function(v) { - terminal.scrollPort_.setBackgroundImage(v); - }, - - 'background-size': function(v) { - terminal.scrollPort_.setBackgroundSize(v); - }, - - 'background-position': function(v) { - terminal.scrollPort_.setBackgroundPosition(v); - }, - - 'backspace-sends-backspace': function(v) { - terminal.keyboard.backspaceSendsBackspace = v; - }, - - 'character-map-overrides': function(v) { - if (!(v == null || v instanceof Object)) { - console.warn('Preference character-map-modifications is not an ' + - 'object: ' + v); - return; - } - - terminal.vt.characterMaps.reset(); - terminal.vt.characterMaps.setOverrides(v); - }, - - 'cursor-blink': function(v) { - terminal.setCursorBlink(!!v); - }, - - 'cursor-blink-cycle': function(v) { - if (v instanceof Array && - typeof v[0] == 'number' && - typeof v[1] == 'number') { - terminal.cursorBlinkCycle_ = v; - } else if (typeof v == 'number') { - terminal.cursorBlinkCycle_ = [v, v]; - } else { - // Fast blink indicates an error. - terminal.cursorBlinkCycle_ = [100, 100]; - } - }, - - 'cursor-color': function(v) { - terminal.setCursorColor(v); - }, - - 'color-palette-overrides': function(v) { - if (!(v == null || v instanceof Object || v instanceof Array)) { - console.warn('Preference color-palette-overrides is not an array or ' + - 'object: ' + v); - return; - } - - lib.colors.colorPalette = lib.colors.stockColorPalette.concat(); - - if (v) { - for (var key in v) { - var i = parseInt(key); - if (isNaN(i) || i < 0 || i > 255) { - console.log('Invalid value in palette: ' + key + ': ' + v[key]); - continue; - } - - if (v[i]) { - var rgb = lib.colors.normalizeCSS(v[i]); - if (rgb) - lib.colors.colorPalette[i] = rgb; - } - } - } - - terminal.primaryScreen_.textAttributes.resetColorPalette(); - terminal.alternateScreen_.textAttributes.resetColorPalette(); - }, - - 'copy-on-select': function(v) { - terminal.copyOnSelect = !!v; - }, - - 'use-default-window-copy': function(v) { - terminal.useDefaultWindowCopy = !!v; - }, - - 'clear-selection-after-copy': function(v) { - terminal.clearSelectionAfterCopy = !!v; - }, - - 'ctrl-plus-minus-zero-zoom': function(v) { - terminal.keyboard.ctrlPlusMinusZeroZoom = v; - }, - - 'ctrl-c-copy': function(v) { - terminal.keyboard.ctrlCCopy = v; - }, - - 'ctrl-v-paste': function(v) { - terminal.keyboard.ctrlVPaste = v; - terminal.scrollPort_.setCtrlVPaste(v); - }, - - 'east-asian-ambiguous-as-two-column': function(v) { - lib.wc.regardCjkAmbiguous = v; - }, - - 'enable-8-bit-control': function(v) { - terminal.vt.enable8BitControl = !!v; - }, - - 'enable-bold': function(v) { - terminal.syncBoldSafeState(); - }, - - 'enable-bold-as-bright': function(v) { - terminal.primaryScreen_.textAttributes.enableBoldAsBright = !!v; - terminal.alternateScreen_.textAttributes.enableBoldAsBright = !!v; - }, - - 'enable-blink': function(v) { - terminal.syncBlinkState(); - }, - - 'enable-clipboard-write': function(v) { - terminal.vt.enableClipboardWrite = !!v; - }, - - 'enable-dec12': function(v) { - terminal.vt.enableDec12 = !!v; - }, - - 'font-family': function(v) { - terminal.syncFontFamily(); - }, - - 'font-size': function(v) { - terminal.setFontSize(v); - }, - - 'font-smoothing': function(v) { - terminal.syncFontFamily(); - }, - - 'foreground-color': function(v) { - terminal.setForegroundColor(v); - }, - - 'home-keys-scroll': function(v) { - terminal.keyboard.homeKeysScroll = v; - }, - - 'keybindings': function(v) { - terminal.keyboard.bindings.clear(); - - if (!v) - return; - - if (!(v instanceof Object)) { - console.error('Error in keybindings preference: Expected object'); - return; - } - - try { - terminal.keyboard.bindings.addBindings(v); - } catch (ex) { - console.error('Error in keybindings preference: ' + ex); - } - }, - - 'max-string-sequence': function(v) { - terminal.vt.maxStringSequence = v; - }, - - 'media-keys-are-fkeys': function(v) { - terminal.keyboard.mediaKeysAreFKeys = v; - }, - - 'meta-sends-escape': function(v) { - terminal.keyboard.metaSendsEscape = v; - }, - - 'mouse-right-click-paste': function(v) { - terminal.mouseRightClickPaste = v; - }, - - 'mouse-paste-button': function(v) { - terminal.syncMousePasteButton(); - }, - - 'page-keys-scroll': function(v) { - terminal.keyboard.pageKeysScroll = v; - }, - - 'pass-alt-number': function(v) { - if (v == null) { - var osx = window.navigator.userAgent.match(/Mac OS X/); - - // Let Alt-1..9 pass to the browser (to control tab switching) on - // non-OS X systems, or if hterm is not opened in an app window. - v = (!osx && hterm.windowType != 'popup'); - } - - terminal.passAltNumber = v; - }, - - 'pass-ctrl-number': function(v) { - if (v == null) { - var osx = window.navigator.userAgent.match(/Mac OS X/); - - // Let Ctrl-1..9 pass to the browser (to control tab switching) on - // non-OS X systems, or if hterm is not opened in an app window. - v = (!osx && hterm.windowType != 'popup'); - } - - terminal.passCtrlNumber = v; - }, - - 'pass-meta-number': function(v) { - if (v == null) { - var osx = window.navigator.userAgent.match(/Mac OS X/); - - // Let Meta-1..9 pass to the browser (to control tab switching) on - // OS X systems, or if hterm is not opened in an app window. - v = (osx && hterm.windowType != 'popup'); - } - - terminal.passMetaNumber = v; - }, - - 'pass-meta-v': function(v) { - terminal.keyboard.passMetaV = v; - }, - - 'receive-encoding': function(v) { - if (!(/^(utf-8|raw)$/).test(v)) { - console.warn('Invalid value for "receive-encoding": ' + v); - v = 'utf-8'; - } - - terminal.vt.characterEncoding = v; - }, - - 'scroll-on-keystroke': function(v) { - terminal.scrollOnKeystroke_ = v; - }, - - 'scroll-on-output': function(v) { - terminal.scrollOnOutput_ = v; - }, - - 'scrollbar-visible': function(v) { - terminal.setScrollbarVisible(v); - }, - - 'scroll-wheel-may-send-arrow-keys': function(v) { - terminal.scrollWheelArrowKeys_ = v; - }, - - 'scroll-wheel-move-multiplier': function(v) { - terminal.setScrollWheelMoveMultipler(v); - }, - - 'send-encoding': function(v) { - if (!(/^(utf-8|raw)$/).test(v)) { - console.warn('Invalid value for "send-encoding": ' + v); - v = 'utf-8'; - } - - terminal.keyboard.characterEncoding = v; - }, - - 'shift-insert-paste': function(v) { - terminal.keyboard.shiftInsertPaste = v; - }, - - 'terminal-encoding': function(v) { - terminal.vt.setEncoding(v); - }, - - 'user-css': function(v) { - terminal.scrollPort_.setUserCssUrl(v); - }, - - 'user-css-text': function(v) { - terminal.scrollPort_.setUserCssText(v); - }, - - 'word-break-match-left': function(v) { - terminal.primaryScreen_.wordBreakMatchLeft = v; - terminal.alternateScreen_.wordBreakMatchLeft = v; - }, - - 'word-break-match-right': function(v) { - terminal.primaryScreen_.wordBreakMatchRight = v; - terminal.alternateScreen_.wordBreakMatchRight = v; - }, - - 'word-break-match-middle': function(v) { - terminal.primaryScreen_.wordBreakMatchMiddle = v; - terminal.alternateScreen_.wordBreakMatchMiddle = v; - }, - }); - - this.prefs_.readStorage(function() { - this.prefs_.notifyAll(); - - if (opt_callback) - opt_callback(); - }.bind(this)); -}; - - -/** - * Returns the preferences manager used for configuring this terminal. - * - * @return {hterm.PreferenceManager} - */ -hterm.Terminal.prototype.getPrefs = function() { - return this.prefs_; -}; - -/** - * Enable or disable bracketed paste mode. - * - * @param {boolean} state The value to set. - */ -hterm.Terminal.prototype.setBracketedPaste = function(state) { - this.options_.bracketedPaste = state; -}; - -/** - * Set the color for the cursor. - * - * If you want this setting to persist, set it through prefs_, rather than - * with this method. - * - * @param {string} color The color to set. - */ -hterm.Terminal.prototype.setCursorColor = function(color) { - this.cursorColor_ = color; - this.cursorNode_.style.backgroundColor = color; - this.cursorNode_.style.borderColor = color; -}; - -/** - * Return the current cursor color as a string. - * @return {string} - */ -hterm.Terminal.prototype.getCursorColor = function() { - return this.cursorColor_; -}; - -/** - * Enable or disable mouse based text selection in the terminal. - * - * @param {boolean} state The value to set. - */ -hterm.Terminal.prototype.setSelectionEnabled = function(state) { - this.enableMouseDragScroll = state; -}; - -/** - * Set the background color. - * - * If you want this setting to persist, set it through prefs_, rather than - * with this method. - * - * @param {string} color The color to set. - */ -hterm.Terminal.prototype.setBackgroundColor = function(color) { - this.backgroundColor_ = lib.colors.normalizeCSS(color); - this.primaryScreen_.textAttributes.setDefaults( - this.foregroundColor_, this.backgroundColor_); - this.alternateScreen_.textAttributes.setDefaults( - this.foregroundColor_, this.backgroundColor_); - this.scrollPort_.setBackgroundColor(color); -}; - -/** - * Return the current terminal background color. - * - * Intended for use by other classes, so we don't have to expose the entire - * prefs_ object. - * - * @return {string} - */ -hterm.Terminal.prototype.getBackgroundColor = function() { - return this.backgroundColor_; -}; - -/** - * Set the foreground color. - * - * If you want this setting to persist, set it through prefs_, rather than - * with this method. - * - * @param {string} color The color to set. - */ -hterm.Terminal.prototype.setForegroundColor = function(color) { - this.foregroundColor_ = lib.colors.normalizeCSS(color); - this.primaryScreen_.textAttributes.setDefaults( - this.foregroundColor_, this.backgroundColor_); - this.alternateScreen_.textAttributes.setDefaults( - this.foregroundColor_, this.backgroundColor_); - this.scrollPort_.setForegroundColor(color); -}; - -/** - * Return the current terminal foreground color. - * - * Intended for use by other classes, so we don't have to expose the entire - * prefs_ object. - * - * @return {string} - */ -hterm.Terminal.prototype.getForegroundColor = function() { - return this.foregroundColor_; -}; - -/** - * Create a new instance of a terminal command and run it with a given - * argument string. - * - * @param {function} commandClass The constructor for a terminal command. - * @param {string} argString The argument string to pass to the command. - */ -hterm.Terminal.prototype.runCommandClass = function(commandClass, argString) { - var environment = this.prefs_.get('environment'); - if (typeof environment != 'object' || environment == null) - environment = {}; - - var self = this; - this.command = new commandClass( - { argString: argString || '', - io: this.io.push(), - environment: environment, - onExit: function(code) { - self.io.pop(); - self.uninstallKeyboard(); - if (self.prefs_.get('close-on-exit')) - window.close(); - } - }); - - this.installKeyboard(); - this.command.run(); -}; - -/** - * Returns true if the current screen is the primary screen, false otherwise. - * - * @return {boolean} - */ -hterm.Terminal.prototype.isPrimaryScreen = function() { - return this.screen_ == this.primaryScreen_; -}; - -/** - * Install the keyboard handler for this terminal. - * - * This will prevent the browser from seeing any keystrokes sent to the - * terminal. - */ -hterm.Terminal.prototype.installKeyboard = function() { - this.keyboard.installKeyboard(this.scrollPort_.getDocument().body); -} - -/** - * Uninstall the keyboard handler for this terminal. - */ -hterm.Terminal.prototype.uninstallKeyboard = function() { - this.keyboard.installKeyboard(null); -} - -/** - * Set a CSS variable. - * - * Normally this is used to set variables in the hterm namespace. - * - * @param {string} name The variable to set. - * @param {string} value The value to assign to the variable. - * @param {string?} opt_prefix The variable namespace/prefix to use. - */ -hterm.Terminal.prototype.setCssVar = function(name, value, - opt_prefix='--hterm-') { - this.document_.documentElement.style.setProperty( - `${opt_prefix}${name}`, value); -}; - -/** - * Set the font size for this terminal. - * - * Call setFontSize(0) to reset to the default font size. - * - * This function does not modify the font-size preference. - * - * @param {number} px The desired font size, in pixels. - */ -hterm.Terminal.prototype.setFontSize = function(px) { - if (px === 0) - px = this.prefs_.get('font-size'); - - this.scrollPort_.setFontSize(px); - this.setCssVar('charsize-width', this.scrollPort_.characterSize.width + 'px'); - this.setCssVar('charsize-height', - this.scrollPort_.characterSize.height + 'px'); -}; - -/** - * Get the current font size. - * - * @return {number} - */ -hterm.Terminal.prototype.getFontSize = function() { - return this.scrollPort_.getFontSize(); -}; - -/** - * Get the current font family. - * - * @return {string} - */ -hterm.Terminal.prototype.getFontFamily = function() { - return this.scrollPort_.getFontFamily(); -}; - -/** - * Set the CSS "font-family" for this terminal. - */ -hterm.Terminal.prototype.syncFontFamily = function() { - this.scrollPort_.setFontFamily(this.prefs_.get('font-family'), - this.prefs_.get('font-smoothing')); - this.syncBoldSafeState(); -}; - -/** - * Set this.mousePasteButton based on the mouse-paste-button pref, - * autodetecting if necessary. - */ -hterm.Terminal.prototype.syncMousePasteButton = function() { - var button = this.prefs_.get('mouse-paste-button'); - if (typeof button == 'number') { - this.mousePasteButton = button; - return; - } - - var ary = navigator.userAgent.match(/\(X11;\s+(\S+)/); - if (!ary || ary[1] == 'CrOS') { - this.mousePasteButton = 1; // Middle mouse button. - } else { - this.mousePasteButton = 2; // Right mouse button. - } -}; - -/** - * Enable or disable bold based on the enable-bold pref, autodetecting if - * necessary. - */ -hterm.Terminal.prototype.syncBoldSafeState = function() { - var enableBold = this.prefs_.get('enable-bold'); - if (enableBold !== null) { - this.primaryScreen_.textAttributes.enableBold = enableBold; - this.alternateScreen_.textAttributes.enableBold = enableBold; - return; - } - - var normalSize = this.scrollPort_.measureCharacterSize(); - var boldSize = this.scrollPort_.measureCharacterSize('bold'); - - var isBoldSafe = normalSize.equals(boldSize); - if (!isBoldSafe) { - console.warn('Bold characters disabled: Size of bold weight differs ' + - 'from normal. Font family is: ' + - this.scrollPort_.getFontFamily()); - } - - this.primaryScreen_.textAttributes.enableBold = isBoldSafe; - this.alternateScreen_.textAttributes.enableBold = isBoldSafe; -}; - -/** - * Enable or disable blink based on the enable-blink pref. - */ -hterm.Terminal.prototype.syncBlinkState = function() { - this.setCssVar('node-duration', - this.prefs_.get('enable-blink') ? '0.7s' : '0'); -}; - -/** - * Set the mouse cursor style based on the current terminal mode. - */ -hterm.Terminal.prototype.syncMouseStyle = function() { - this.setCssVar('mouse-cursor-style', - this.vt.mouseReport == this.vt.MOUSE_REPORT_DISABLED ? - 'var(--hterm-mouse-cursor-text)' : - 'var(--hterm-mouse-cursor-pointer)'); -}; - -/** - * Return a copy of the current cursor position. - * - * @return {hterm.RowCol} The RowCol object representing the current position. - */ -hterm.Terminal.prototype.saveCursor = function() { - return this.screen_.cursorPosition.clone(); -}; - -/** - * Return the current text attributes. - * - * @return {string} - */ -hterm.Terminal.prototype.getTextAttributes = function() { - return this.screen_.textAttributes; -}; - -/** - * Set the text attributes. - * - * @param {string} textAttributes The attributes to set. - */ -hterm.Terminal.prototype.setTextAttributes = function(textAttributes) { - this.screen_.textAttributes = textAttributes; -}; - -/** - * Return the current browser zoom factor applied to the terminal. - * - * @return {number} The current browser zoom factor. - */ -hterm.Terminal.prototype.getZoomFactor = function() { - return this.scrollPort_.characterSize.zoomFactor; -}; - -/** - * Change the title of this terminal's window. - * - * @param {string} title The title to set. - */ -hterm.Terminal.prototype.setWindowTitle = function(title) { - window.document.title = title; -}; - -/** - * Restore a previously saved cursor position. - * - * @param {hterm.RowCol} cursor The position to restore. - */ -hterm.Terminal.prototype.restoreCursor = function(cursor) { - var row = lib.f.clamp(cursor.row, 0, this.screenSize.height - 1); - var column = lib.f.clamp(cursor.column, 0, this.screenSize.width - 1); - this.screen_.setCursorPosition(row, column); - if (cursor.column > column || - cursor.column == column && cursor.overflow) { - this.screen_.cursorPosition.overflow = true; - } -}; - -/** - * Clear the cursor's overflow flag. - */ -hterm.Terminal.prototype.clearCursorOverflow = function() { - this.screen_.cursorPosition.overflow = false; -}; - -/** - * Sets the cursor shape - * - * @param {string} shape The shape to set. - */ -hterm.Terminal.prototype.setCursorShape = function(shape) { - this.cursorShape_ = shape; - this.restyleCursor_(); -} - -/** - * Get the cursor shape - * - * @return {string} - */ -hterm.Terminal.prototype.getCursorShape = function() { - return this.cursorShape_; -} - -/** - * Set the width of the terminal, resizing the UI to match. - * - * @param {number} columnCount - */ -hterm.Terminal.prototype.setWidth = function(columnCount) { - if (columnCount == null) { - this.div_.style.width = '100%'; - return; - } - - this.div_.style.width = Math.ceil( - this.scrollPort_.characterSize.width * - columnCount + this.scrollPort_.currentScrollbarWidthPx) + 'px'; - this.realizeSize_(columnCount, this.screenSize.height); - this.scheduleSyncCursorPosition_(); -}; - -/** - * Set the height of the terminal, resizing the UI to match. - * - * @param {number} rowCount The height in rows. - */ -hterm.Terminal.prototype.setHeight = function(rowCount) { - if (rowCount == null) { - this.div_.style.height = '100%'; - return; - } - - this.div_.style.height = - this.scrollPort_.characterSize.height * rowCount + 'px'; - this.realizeSize_(this.screenSize.width, rowCount); - this.scheduleSyncCursorPosition_(); -}; - -/** - * Deal with terminal size changes. - * - * @param {number} columnCount The number of columns. - * @param {number} rowCount The number of rows. - */ -hterm.Terminal.prototype.realizeSize_ = function(columnCount, rowCount) { - if (columnCount != this.screenSize.width) - this.realizeWidth_(columnCount); - - if (rowCount != this.screenSize.height) - this.realizeHeight_(rowCount); - - // Send new terminal size to plugin. - this.io.onTerminalResize_(columnCount, rowCount); -}; - -/** - * Deal with terminal width changes. - * - * This function does what needs to be done when the terminal width changes - * out from under us. It happens here rather than in onResize_() because this - * code may need to run synchronously to handle programmatic changes of - * terminal width. - * - * Relying on the browser to send us an async resize event means we may not be - * in the correct state yet when the next escape sequence hits. - * - * @param {number} columnCount The number of columns. - */ -hterm.Terminal.prototype.realizeWidth_ = function(columnCount) { - if (columnCount <= 0) - throw new Error('Attempt to realize bad width: ' + columnCount); - - var deltaColumns = columnCount - this.screen_.getWidth(); - - this.screenSize.width = columnCount; - this.screen_.setColumnCount(columnCount); - - if (deltaColumns > 0) { - if (this.defaultTabStops) - this.setDefaultTabStops(this.screenSize.width - deltaColumns); - } else { - for (var i = this.tabStops_.length - 1; i >= 0; i--) { - if (this.tabStops_[i] < columnCount) - break; - - this.tabStops_.pop(); - } - } - - this.screen_.setColumnCount(this.screenSize.width); -}; - -/** - * Deal with terminal height changes. - * - * This function does what needs to be done when the terminal height changes - * out from under us. It happens here rather than in onResize_() because this - * code may need to run synchronously to handle programmatic changes of - * terminal height. - * - * Relying on the browser to send us an async resize event means we may not be - * in the correct state yet when the next escape sequence hits. - * - * @param {number} rowCount The number of rows. - */ -hterm.Terminal.prototype.realizeHeight_ = function(rowCount) { - if (rowCount <= 0) - throw new Error('Attempt to realize bad height: ' + rowCount); - - var deltaRows = rowCount - this.screen_.getHeight(); - - this.screenSize.height = rowCount; - - var cursor = this.saveCursor(); - - if (deltaRows < 0) { - // Screen got smaller. - deltaRows *= -1; - while (deltaRows) { - var lastRow = this.getRowCount() - 1; - if (lastRow - this.scrollbackRows_.length == cursor.row) - break; - - if (this.getRowText(lastRow)) - break; - - this.screen_.popRow(); - deltaRows--; - } - - var ary = this.screen_.shiftRows(deltaRows); - this.scrollbackRows_.push.apply(this.scrollbackRows_, ary); - - // We just removed rows from the top of the screen, we need to update - // the cursor to match. - cursor.row = Math.max(cursor.row - deltaRows, 0); - } else if (deltaRows > 0) { - // Screen got larger. - - if (deltaRows <= this.scrollbackRows_.length) { - var scrollbackCount = Math.min(deltaRows, this.scrollbackRows_.length); - var rows = this.scrollbackRows_.splice( - this.scrollbackRows_.length - scrollbackCount, scrollbackCount); - this.screen_.unshiftRows(rows); - deltaRows -= scrollbackCount; - cursor.row += scrollbackCount; - } - - if (deltaRows) - this.appendRows_(deltaRows); - } - - this.setVTScrollRegion(null, null); - this.restoreCursor(cursor); -}; - -/** - * Scroll the terminal to the top of the scrollback buffer. - */ -hterm.Terminal.prototype.scrollHome = function() { - this.scrollPort_.scrollRowToTop(0); -}; - -/** - * Scroll the terminal to the end. - */ -hterm.Terminal.prototype.scrollEnd = function() { - this.scrollPort_.scrollRowToBottom(this.getRowCount()); -}; - -/** - * Scroll the terminal one page up (minus one line) relative to the current - * position. - */ -hterm.Terminal.prototype.scrollPageUp = function() { - var i = this.scrollPort_.getTopRowIndex(); - this.scrollPort_.scrollRowToTop(i - this.screenSize.height + 1); -}; - -/** - * Scroll the terminal one page down (minus one line) relative to the current - * position. - */ -hterm.Terminal.prototype.scrollPageDown = function() { - var i = this.scrollPort_.getTopRowIndex(); - this.scrollPort_.scrollRowToTop(i + this.screenSize.height - 1); -}; - -/** - * Scroll the terminal one line up relative to the current position. - */ -hterm.Terminal.prototype.scrollLineUp = function() { - var i = this.scrollPort_.getTopRowIndex(); - this.scrollPort_.scrollRowToTop(i - 1); -}; - -/** - * Scroll the terminal one line down relative to the current position. - */ -hterm.Terminal.prototype.scrollLineDown = function() { - var i = this.scrollPort_.getTopRowIndex(); - this.scrollPort_.scrollRowToTop(i + 1); -}; - -/** - * Clear primary screen, secondary screen, and the scrollback buffer. - */ -hterm.Terminal.prototype.wipeContents = function() { - this.scrollbackRows_.length = 0; - this.scrollPort_.resetCache(); - - [this.primaryScreen_, this.alternateScreen_].forEach(function(screen) { - var bottom = screen.getHeight(); - if (bottom > 0) { - this.renumberRows_(0, bottom); - this.clearHome(screen); - } - }.bind(this)); - - this.syncCursorPosition_(); - this.scrollPort_.invalidate(); -}; - -/** - * Full terminal reset. - */ -hterm.Terminal.prototype.reset = function() { - this.clearAllTabStops(); - this.setDefaultTabStops(); - - this.clearHome(this.primaryScreen_); - this.primaryScreen_.textAttributes.reset(); - - this.clearHome(this.alternateScreen_); - this.alternateScreen_.textAttributes.reset(); - - this.setCursorBlink(!!this.prefs_.get('cursor-blink')); - - this.vt.reset(); - - this.softReset(); -}; - -/** - * Soft terminal reset. - * - * Perform a soft reset to the default values listed in - * http://www.vt100.net/docs/vt510-rm/DECSTR#T5-9 - */ -hterm.Terminal.prototype.softReset = function() { - // Reset terminal options to their default values. - this.options_ = new hterm.Options(); - - // We show the cursor on soft reset but do not alter the blink state. - this.options_.cursorBlink = !!this.timeouts_.cursorBlink; - - // Xterm also resets the color palette on soft reset, even though it doesn't - // seem to be documented anywhere. - this.primaryScreen_.textAttributes.resetColorPalette(); - this.alternateScreen_.textAttributes.resetColorPalette(); - - // The xterm man page explicitly says this will happen on soft reset. - this.setVTScrollRegion(null, null); - - // Xterm also shows the cursor on soft reset, but does not alter the blink - // state. - this.setCursorVisible(true); -}; - -/** - * Move the cursor forward to the next tab stop, or to the last column - * if no more tab stops are set. - */ -hterm.Terminal.prototype.forwardTabStop = function() { - var column = this.screen_.cursorPosition.column; - - for (var i = 0; i < this.tabStops_.length; i++) { - if (this.tabStops_[i] > column) { - this.setCursorColumn(this.tabStops_[i]); - return; - } - } - - // xterm does not clear the overflow flag on HT or CHT. - var overflow = this.screen_.cursorPosition.overflow; - this.setCursorColumn(this.screenSize.width - 1); - this.screen_.cursorPosition.overflow = overflow; -}; - -/** - * Move the cursor backward to the previous tab stop, or to the first column - * if no previous tab stops are set. - */ -hterm.Terminal.prototype.backwardTabStop = function() { - var column = this.screen_.cursorPosition.column; - - for (var i = this.tabStops_.length - 1; i >= 0; i--) { - if (this.tabStops_[i] < column) { - this.setCursorColumn(this.tabStops_[i]); - return; - } - } - - this.setCursorColumn(1); -}; - -/** - * Set a tab stop at the given column. - * - * @param {integer} column Zero based column. - */ -hterm.Terminal.prototype.setTabStop = function(column) { - for (var i = this.tabStops_.length - 1; i >= 0; i--) { - if (this.tabStops_[i] == column) - return; - - if (this.tabStops_[i] < column) { - this.tabStops_.splice(i + 1, 0, column); - return; - } - } - - this.tabStops_.splice(0, 0, column); -}; - -/** - * Clear the tab stop at the current cursor position. - * - * No effect if there is no tab stop at the current cursor position. - */ -hterm.Terminal.prototype.clearTabStopAtCursor = function() { - var column = this.screen_.cursorPosition.column; - - var i = this.tabStops_.indexOf(column); - if (i == -1) - return; - - this.tabStops_.splice(i, 1); -}; - -/** - * Clear all tab stops. - */ -hterm.Terminal.prototype.clearAllTabStops = function() { - this.tabStops_.length = 0; - this.defaultTabStops = false; -}; - -/** - * Set up the default tab stops, starting from a given column. - * - * This sets a tabstop every (column % this.tabWidth) column, starting - * from the specified column, or 0 if no column is provided. It also flags - * future resizes to set them up. - * - * This does not clear the existing tab stops first, use clearAllTabStops - * for that. - * - * @param {integer} opt_start Optional starting zero based starting column, useful - * for filling out missing tab stops when the terminal is resized. - */ -hterm.Terminal.prototype.setDefaultTabStops = function(opt_start) { - var start = opt_start || 0; - var w = this.tabWidth; - // Round start up to a default tab stop. - start = start - 1 - ((start - 1) % w) + w; - for (var i = start; i < this.screenSize.width; i += w) { - this.setTabStop(i); - } - - this.defaultTabStops = true; -}; - -/** - * Interpret a sequence of characters. - * - * Incomplete escape sequences are buffered until the next call. - * - * @param {string} str Sequence of characters to interpret or pass through. - */ -hterm.Terminal.prototype.interpret = function(str) { - this.vt.interpret(str); - this.scheduleSyncCursorPosition_(); -}; - -/** - * Take over the given DIV for use as the terminal display. - * - * @param {HTMLDivElement} div The div to use as the terminal display. - */ -hterm.Terminal.prototype.decorate = function(div) { - this.div_ = div; - - this.scrollPort_.decorate(div); - this.scrollPort_.setBackgroundImage(this.prefs_.get('background-image')); - this.scrollPort_.setBackgroundSize(this.prefs_.get('background-size')); - this.scrollPort_.setBackgroundPosition( - this.prefs_.get('background-position')); - this.scrollPort_.setUserCssUrl(this.prefs_.get('user-css')); - this.scrollPort_.setUserCssText(this.prefs_.get('user-css-text')); - - this.div_.focus = this.focus.bind(this); - - this.setFontSize(this.prefs_.get('font-size')); - this.syncFontFamily(); - - this.setScrollbarVisible(this.prefs_.get('scrollbar-visible')); - this.setScrollWheelMoveMultipler( - this.prefs_.get('scroll-wheel-move-multiplier')); - - this.document_ = this.scrollPort_.getDocument(); - - this.document_.body.oncontextmenu = function() { return false; }; - - var onMouse = this.onMouse_.bind(this); - var screenNode = this.scrollPort_.getScreenNode(); - screenNode.addEventListener('mousedown', onMouse); - screenNode.addEventListener('mouseup', onMouse); - screenNode.addEventListener('mousemove', onMouse); - this.scrollPort_.onScrollWheel = onMouse; - - screenNode.addEventListener( - 'focus', this.onFocusChange_.bind(this, true)); - // Listen for mousedown events on the screenNode as in FF the focus - // events don't bubble. - screenNode.addEventListener('mousedown', function() { - setTimeout(this.onFocusChange_.bind(this, true)); - }.bind(this)); - - screenNode.addEventListener( - 'blur', this.onFocusChange_.bind(this, false)); - - var style = this.document_.createElement('style'); - style.textContent = - ('.cursor-node[focus="false"] {' + - ' box-sizing: border-box;' + - ' background-color: transparent !important;' + - ' border-width: 2px;' + - ' border-style: solid;' + - '}' + - '.wc-node {' + - ' display: inline-block;' + - ' text-align: center;' + - ' width: calc(var(--hterm-charsize-width) * 2);' + - ' line-height: var(--hterm-charsize-height);' + - '}' + - ':root {' + - ' --hterm-charsize-width: ' + this.scrollPort_.characterSize.width + 'px;' + - ' --hterm-charsize-height: ' + this.scrollPort_.characterSize.height + 'px;' + - ' --hterm-cursor-offset-col: 0;' + - ' --hterm-cursor-offset-row: 0;' + - ' --hterm-blink-node-duration: 0.7s;' + - ' --hterm-mouse-cursor-text: text;' + - ' --hterm-mouse-cursor-pointer: default;' + - ' --hterm-mouse-cursor-style: var(--hterm-mouse-cursor-text);' + - '}' + - '@keyframes blink {' + - ' from { opacity: 1.0; }' + - ' to { opacity: 0.0; }' + - '}' + - '.blink-node {' + - ' animation-name: blink;' + - ' animation-duration: var(--hterm-blink-node-duration);' + - ' animation-iteration-count: infinite;' + - ' animation-timing-function: ease-in-out;' + - ' animation-direction: alternate;' + - '}'); - this.document_.head.appendChild(style); - - this.cursorNode_ = this.document_.createElement('div'); - this.cursorNode_.id = 'hterm:terminal-cursor'; - this.cursorNode_.className = 'cursor-node'; - this.cursorNode_.style.cssText = - ('position: absolute;' + - 'left: calc(var(--hterm-charsize-width) * var(--hterm-cursor-offset-col));' + - 'top: calc(var(--hterm-charsize-height) * var(--hterm-cursor-offset-row));' + - 'display: block;' + - 'width: var(--hterm-charsize-width);' + - 'height: var(--hterm-charsize-height);' + - '-webkit-transition: opacity, background-color 100ms linear;' + - '-moz-transition: opacity, background-color 100ms linear;'); - - this.setCursorColor(this.prefs_.get('cursor-color')); - this.setCursorBlink(!!this.prefs_.get('cursor-blink')); - this.restyleCursor_(); - - this.document_.body.appendChild(this.cursorNode_); - - // When 'enableMouseDragScroll' is off we reposition this element directly - // under the mouse cursor after a click. This makes Chrome associate - // subsequent mousemove events with the scroll-blocker. Since the - // scroll-blocker is a peer (not a child) of the scrollport, the mousemove - // events do not cause the scrollport to scroll. - // - // It's a hack, but it's the cleanest way I could find. - this.scrollBlockerNode_ = this.document_.createElement('div'); - this.scrollBlockerNode_.id = 'hterm:mouse-drag-scroll-blocker'; - this.scrollBlockerNode_.style.cssText = - ('position: absolute;' + - 'top: -99px;' + - 'display: block;' + - 'width: 10px;' + - 'height: 10px;'); - this.document_.body.appendChild(this.scrollBlockerNode_); - - this.scrollPort_.onScrollWheel = onMouse; - ['mousedown', 'mouseup', 'mousemove', 'click', 'dblclick', - ].forEach(function(event) { - this.scrollBlockerNode_.addEventListener(event, onMouse); - this.cursorNode_.addEventListener(event, onMouse); - this.document_.addEventListener(event, onMouse); - }.bind(this)); - - this.cursorNode_.addEventListener('mousedown', function() { - setTimeout(this.focus.bind(this)); - }.bind(this)); - - this.setReverseVideo(false); - - this.scrollPort_.focus(); - this.scrollPort_.scheduleRedraw(); -}; - -/** - * Return the HTML document that contains the terminal DOM nodes. - * - * @return {HTMLDocument} - */ -hterm.Terminal.prototype.getDocument = function() { - return this.document_; -}; - -/** - * Focus the terminal. - */ -hterm.Terminal.prototype.focus = function() { - this.scrollPort_.focus(); -}; - -/** - * Return the HTML Element for a given row index. - * - * This is a method from the RowProvider interface. The ScrollPort uses - * it to fetch rows on demand as they are scrolled into view. - * - * TODO(rginda): Consider saving scrollback rows as (HTML source, text content) - * pairs to conserve memory. - * - * @param {integer} index The zero-based row index, measured relative to the - * start of the scrollback buffer. On-screen rows will always have the - * largest indices. - * @return {HTMLElement} The 'x-row' element containing for the requested row. - */ -hterm.Terminal.prototype.getRowNode = function(index) { - if (index < this.scrollbackRows_.length) - return this.scrollbackRows_[index]; - - var screenIndex = index - this.scrollbackRows_.length; - return this.screen_.rowsArray[screenIndex]; -}; - -/** - * Return the text content for a given range of rows. - * - * This is a method from the RowProvider interface. The ScrollPort uses - * it to fetch text content on demand when the user attempts to copy their - * selection to the clipboard. - * - * @param {integer} start The zero-based row index to start from, measured - * relative to the start of the scrollback buffer. On-screen rows will - * always have the largest indices. - * @param {integer} end The zero-based row index to end on, measured - * relative to the start of the scrollback buffer. - * @return {string} A single string containing the text value of the range of - * rows. Lines will be newline delimited, with no trailing newline. - */ -hterm.Terminal.prototype.getRowsText = function(start, end) { - var ary = []; - for (var i = start; i < end; i++) { - var node = this.getRowNode(i); - ary.push(node.textContent); - if (i < end - 1 && !node.getAttribute('line-overflow')) - ary.push('\n'); - } - - return ary.join(''); -}; - -/** - * Return the text content for a given row. - * - * This is a method from the RowProvider interface. The ScrollPort uses - * it to fetch text content on demand when the user attempts to copy their - * selection to the clipboard. - * - * @param {integer} index The zero-based row index to return, measured - * relative to the start of the scrollback buffer. On-screen rows will - * always have the largest indices. - * @return {string} A string containing the text value of the selected row. - */ -hterm.Terminal.prototype.getRowText = function(index) { - var node = this.getRowNode(index); - return node.textContent; -}; - -/** - * Return the total number of rows in the addressable screen and in the - * scrollback buffer of this terminal. - * - * This is a method from the RowProvider interface. The ScrollPort uses - * it to compute the size of the scrollbar. - * - * @return {integer} The number of rows in this terminal. - */ -hterm.Terminal.prototype.getRowCount = function() { - return this.scrollbackRows_.length + this.screen_.rowsArray.length; -}; - -/** - * Create DOM nodes for new rows and append them to the end of the terminal. - * - * This is the only correct way to add a new DOM node for a row. Notice that - * the new row is appended to the bottom of the list of rows, and does not - * require renumbering (of the rowIndex property) of previous rows. - * - * If you think you want a new blank row somewhere in the middle of the - * terminal, look into moveRows_(). - * - * This method does not pay attention to vtScrollTop/Bottom, since you should - * be using moveRows() in cases where they would matter. - * - * The cursor will be positioned at column 0 of the first inserted line. - * - * @param {number} count The number of rows to created. - */ -hterm.Terminal.prototype.appendRows_ = function(count) { - var cursorRow = this.screen_.rowsArray.length; - var offset = this.scrollbackRows_.length + cursorRow; - for (var i = 0; i < count; i++) { - var row = this.document_.createElement('x-row'); - row.appendChild(this.document_.createTextNode('')); - row.rowIndex = offset + i; - this.screen_.pushRow(row); - } - - var extraRows = this.screen_.rowsArray.length - this.screenSize.height; - if (extraRows > 0) { - var ary = this.screen_.shiftRows(extraRows); - Array.prototype.push.apply(this.scrollbackRows_, ary); - if (this.scrollPort_.isScrolledEnd) - this.scheduleScrollDown_(); - } - - if (cursorRow >= this.screen_.rowsArray.length) - cursorRow = this.screen_.rowsArray.length - 1; - - this.setAbsoluteCursorPosition(cursorRow, 0); -}; - -/** - * Relocate rows from one part of the addressable screen to another. - * - * This is used to recycle rows during VT scrolls (those which are driven - * by VT commands, rather than by the user manipulating the scrollbar.) - * - * In this case, the blank lines scrolled into the scroll region are made of - * the nodes we scrolled off. These have their rowIndex properties carefully - * renumbered so as not to confuse the ScrollPort. - * - * @param {number} fromIndex The start index. - * @param {number} count The number of rows to move. - * @param {number} toIndex The destination index. - */ -hterm.Terminal.prototype.moveRows_ = function(fromIndex, count, toIndex) { - var ary = this.screen_.removeRows(fromIndex, count); - this.screen_.insertRows(toIndex, ary); - - var start, end; - if (fromIndex < toIndex) { - start = fromIndex; - end = toIndex + count; - } else { - start = toIndex; - end = fromIndex + count; - } - - this.renumberRows_(start, end); - this.scrollPort_.scheduleInvalidate(); -}; - -/** - * Renumber the rowIndex property of the given range of rows. - * - * The start and end indices are relative to the screen, not the scrollback. - * Rows in the scrollback buffer cannot be renumbered. Since they are not - * addressable (you can't delete them, scroll them, etc), you should have - * no need to renumber scrollback rows. - * - * @param {number} start The start index. - * @param {number} end The end index. - * @param {hterm.Screen} opt_screen The screen to renumber. - */ -hterm.Terminal.prototype.renumberRows_ = function(start, end, opt_screen) { - var screen = opt_screen || this.screen_; - - var offset = this.scrollbackRows_.length; - for (var i = start; i < end; i++) { - screen.rowsArray[i].rowIndex = offset + i; - } -}; - -/** - * Print a string to the terminal. - * - * This respects the current insert and wraparound modes. It will add new lines - * to the end of the terminal, scrolling off the top into the scrollback buffer - * if necessary. - * - * The string is *not* parsed for escape codes. Use the interpret() method if - * that's what you're after. - * - * @param{string} str The string to print. - */ -hterm.Terminal.prototype.print = function(str) { - var startOffset = 0; - - var strWidth = lib.wc.strWidth(str); - - while (startOffset < strWidth) { - if (this.options_.wraparound && this.screen_.cursorPosition.overflow) { - this.screen_.commitLineOverflow(); - this.newLine(); - } - - var count = strWidth - startOffset; - var didOverflow = false; - var substr; - - if (this.screen_.cursorPosition.column + count >= this.screenSize.width) { - didOverflow = true; - count = this.screenSize.width - this.screen_.cursorPosition.column; - } - - if (didOverflow && !this.options_.wraparound) { - // If the string overflowed the line but wraparound is off, then the - // last printed character should be the last of the string. - // TODO: This will add to our problems with multibyte UTF-16 characters. - substr = lib.wc.substr(str, startOffset, count - 1) + - lib.wc.substr(str, strWidth - 1); - count = strWidth; - } else { - substr = lib.wc.substr(str, startOffset, count); - } - - var tokens = hterm.TextAttributes.splitWidecharString(substr); - for (var i = 0; i < tokens.length; i++) { - this.screen_.textAttributes.wcNode = tokens[i].wcNode; - this.screen_.textAttributes.asciiNode = tokens[i].asciiNode; - - if (this.options_.insertMode) { - this.screen_.insertString(tokens[i].str); - } else { - this.screen_.overwriteString(tokens[i].str); - } - this.screen_.textAttributes.wcNode = false; - this.screen_.textAttributes.asciiNode = true; - } - - this.screen_.maybeClipCurrentRow(); - startOffset += count; - } - - this.scheduleSyncCursorPosition_(); - - if (this.scrollOnOutput_) - this.scrollPort_.scrollRowToBottom(this.getRowCount()); -}; - -/** - * Set the VT scroll region. - * - * This also resets the cursor position to the absolute (0, 0) position, since - * that's what xterm appears to do. - * - * Setting the scroll region to the full height of the terminal will clear - * the scroll region. This is *NOT* what most terminals do. We're explicitly - * going "off-spec" here because it makes `screen` and `tmux` overflow into the - * local scrollback buffer, which means the scrollbars and shift-pgup/pgdn - * continue to work as most users would expect. - * - * @param {integer} scrollTop The zero-based top of the scroll region. - * @param {integer} scrollBottom The zero-based bottom of the scroll region, - * inclusive. - */ -hterm.Terminal.prototype.setVTScrollRegion = function(scrollTop, scrollBottom) { - if (scrollTop == 0 && scrollBottom == this.screenSize.height - 1) { - this.vtScrollTop_ = null; - this.vtScrollBottom_ = null; - } else { - this.vtScrollTop_ = scrollTop; - this.vtScrollBottom_ = scrollBottom; - } -}; - -/** - * Return the top row index according to the VT. - * - * This will return 0 unless the terminal has been told to restrict scrolling - * to some lower row. It is used for some VT cursor positioning and scrolling - * commands. - * - * @return {integer} The topmost row in the terminal's scroll region. - */ -hterm.Terminal.prototype.getVTScrollTop = function() { - if (this.vtScrollTop_ != null) - return this.vtScrollTop_; - - return 0; -}; - -/** - * Return the bottom row index according to the VT. - * - * This will return the height of the terminal unless the it has been told to - * restrict scrolling to some higher row. It is used for some VT cursor - * positioning and scrolling commands. - * - * @return {integer} The bottom most row in the terminal's scroll region. - */ -hterm.Terminal.prototype.getVTScrollBottom = function() { - if (this.vtScrollBottom_ != null) - return this.vtScrollBottom_; - - return this.screenSize.height - 1; -} - -/** - * Process a '\n' character. - * - * If the cursor is on the final row of the terminal this will append a new - * blank row to the screen and scroll the topmost row into the scrollback - * buffer. - * - * Otherwise, this moves the cursor to column zero of the next row. - */ -hterm.Terminal.prototype.newLine = function() { - var cursorAtEndOfScreen = (this.screen_.cursorPosition.row == - this.screen_.rowsArray.length - 1); - - if (this.vtScrollBottom_ != null) { - // A VT Scroll region is active, we never append new rows. - if (this.screen_.cursorPosition.row == this.vtScrollBottom_) { - // We're at the end of the VT Scroll Region, perform a VT scroll. - this.vtScrollUp(1); - this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0); - } else if (cursorAtEndOfScreen) { - // We're at the end of the screen, the only thing to do is put the - // cursor to column 0. - this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0); - } else { - // Anywhere else, advance the cursor row, and reset the column. - this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0); - } - } else if (cursorAtEndOfScreen) { - // We're at the end of the screen. Append a new row to the terminal, - // shifting the top row into the scrollback. - this.appendRows_(1); - } else { - // Anywhere else in the screen just moves the cursor. - this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0); - } -}; - -/** - * Like newLine(), except maintain the cursor column. - */ -hterm.Terminal.prototype.lineFeed = function() { - var column = this.screen_.cursorPosition.column; - this.newLine(); - this.setCursorColumn(column); -}; - -/** - * If autoCarriageReturn is set then newLine(), else lineFeed(). - */ -hterm.Terminal.prototype.formFeed = function() { - if (this.options_.autoCarriageReturn) { - this.newLine(); - } else { - this.lineFeed(); - } -}; - -/** - * Move the cursor up one row, possibly inserting a blank line. - * - * The cursor column is not changed. - */ -hterm.Terminal.prototype.reverseLineFeed = function() { - var scrollTop = this.getVTScrollTop(); - var currentRow = this.screen_.cursorPosition.row; - - if (currentRow == scrollTop) { - this.insertLines(1); - } else { - this.setAbsoluteCursorRow(currentRow - 1); - } -}; - -/** - * Replace all characters to the left of the current cursor with the space - * character. - * - * TODO(rginda): This should probably *remove* the characters (not just replace - * with a space) if there are no characters at or beyond the current cursor - * position. - */ -hterm.Terminal.prototype.eraseToLeft = function() { - var cursor = this.saveCursor(); - this.setCursorColumn(0); - this.screen_.overwriteString(lib.f.getWhitespace(cursor.column + 1)); - this.restoreCursor(cursor); -}; - -/** - * Erase a given number of characters to the right of the cursor. - * - * The cursor position is unchanged. - * - * If the current background color is not the default background color this - * will insert spaces rather than delete. This is unfortunate because the - * trailing space will affect text selection, but it's difficult to come up - * with a way to style empty space that wouldn't trip up the hterm.Screen - * code. - * - * eraseToRight is ignored in the presence of a cursor overflow. This deviates - * from xterm, but agrees with gnome-terminal and konsole, xfce4-terminal. See - * crbug.com/232390 for details. - * - * @param {number} opt_count The number of characters to erase. - */ -hterm.Terminal.prototype.eraseToRight = function(opt_count) { - if (this.screen_.cursorPosition.overflow) - return; - - var maxCount = this.screenSize.width - this.screen_.cursorPosition.column; - var count = opt_count ? Math.min(opt_count, maxCount) : maxCount; - - if (this.screen_.textAttributes.background === - this.screen_.textAttributes.DEFAULT_COLOR) { - var cursorRow = this.screen_.rowsArray[this.screen_.cursorPosition.row]; - if (hterm.TextAttributes.nodeWidth(cursorRow) <= - this.screen_.cursorPosition.column + count) { - this.screen_.deleteChars(count); - this.clearCursorOverflow(); - return; - } - } - - var cursor = this.saveCursor(); - this.screen_.overwriteString(lib.f.getWhitespace(count)); - this.restoreCursor(cursor); - this.clearCursorOverflow(); -}; - -/** - * Erase the current line. - * - * The cursor position is unchanged. - */ -hterm.Terminal.prototype.eraseLine = function() { - var cursor = this.saveCursor(); - this.screen_.clearCursorRow(); - this.restoreCursor(cursor); - this.clearCursorOverflow(); -}; - -/** - * Erase all characters from the start of the screen to the current cursor - * position, regardless of scroll region. - * - * The cursor position is unchanged. - */ -hterm.Terminal.prototype.eraseAbove = function() { - var cursor = this.saveCursor(); - - this.eraseToLeft(); - - for (var i = 0; i < cursor.row; i++) { - this.setAbsoluteCursorPosition(i, 0); - this.screen_.clearCursorRow(); - } - - this.restoreCursor(cursor); - this.clearCursorOverflow(); -}; - -/** - * Erase all characters from the current cursor position to the end of the - * screen, regardless of scroll region. - * - * The cursor position is unchanged. - */ -hterm.Terminal.prototype.eraseBelow = function() { - var cursor = this.saveCursor(); - - this.eraseToRight(); - - var bottom = this.screenSize.height - 1; - for (var i = cursor.row + 1; i <= bottom; i++) { - this.setAbsoluteCursorPosition(i, 0); - this.screen_.clearCursorRow(); - } - - this.restoreCursor(cursor); - this.clearCursorOverflow(); -}; - -/** - * Fill the terminal with a given character. - * - * This methods does not respect the VT scroll region. - * - * @param {string} ch The character to use for the fill. - */ -hterm.Terminal.prototype.fill = function(ch) { - var cursor = this.saveCursor(); - - this.setAbsoluteCursorPosition(0, 0); - for (var row = 0; row < this.screenSize.height; row++) { - for (var col = 0; col < this.screenSize.width; col++) { - this.setAbsoluteCursorPosition(row, col); - this.screen_.overwriteString(ch); - } - } - - this.restoreCursor(cursor); -}; - -/** - * Erase the entire display and leave the cursor at (0, 0). - * - * This does not respect the scroll region. - * - * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults - * to the current screen. - */ -hterm.Terminal.prototype.clearHome = function(opt_screen) { - var screen = opt_screen || this.screen_; - var bottom = screen.getHeight(); - - if (bottom == 0) { - // Empty screen, nothing to do. - return; - } - - for (var i = 0; i < bottom; i++) { - screen.setCursorPosition(i, 0); - screen.clearCursorRow(); - } - - screen.setCursorPosition(0, 0); -}; - -/** - * Erase the entire display without changing the cursor position. - * - * The cursor position is unchanged. This does not respect the scroll - * region. - * - * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults - * to the current screen. - */ -hterm.Terminal.prototype.clear = function(opt_screen) { - var screen = opt_screen || this.screen_; - var cursor = screen.cursorPosition.clone(); - this.clearHome(screen); - screen.setCursorPosition(cursor.row, cursor.column); -}; - -/** - * VT command to insert lines at the current cursor row. - * - * This respects the current scroll region. Rows pushed off the bottom are - * lost (they won't show up in the scrollback buffer). - * - * @param {integer} count The number of lines to insert. - */ -hterm.Terminal.prototype.insertLines = function(count) { - var cursorRow = this.screen_.cursorPosition.row; - - var bottom = this.getVTScrollBottom(); - count = Math.min(count, bottom - cursorRow); - - // The moveCount is the number of rows we need to relocate to make room for - // the new row(s). The count is the distance to move them. - var moveCount = bottom - cursorRow - count + 1; - if (moveCount) - this.moveRows_(cursorRow, moveCount, cursorRow + count); - - for (var i = count - 1; i >= 0; i--) { - this.setAbsoluteCursorPosition(cursorRow + i, 0); - this.screen_.clearCursorRow(); - } -}; - -/** - * VT command to delete lines at the current cursor row. - * - * New rows are added to the bottom of scroll region to take their place. New - * rows are strictly there to take up space and have no content or style. - * - * @param {number} count The number of lines to delete. - */ -hterm.Terminal.prototype.deleteLines = function(count) { - var cursor = this.saveCursor(); - - var top = cursor.row; - var bottom = this.getVTScrollBottom(); - - var maxCount = bottom - top + 1; - count = Math.min(count, maxCount); - - var moveStart = bottom - count + 1; - if (count != maxCount) - this.moveRows_(top, count, moveStart); - - for (var i = 0; i < count; i++) { - this.setAbsoluteCursorPosition(moveStart + i, 0); - this.screen_.clearCursorRow(); - } - - this.restoreCursor(cursor); - this.clearCursorOverflow(); -}; - -/** - * Inserts the given number of spaces at the current cursor position. - * - * The cursor position is not changed. - * - * @param {number} count The number of spaces to insert. - */ -hterm.Terminal.prototype.insertSpace = function(count) { - var cursor = this.saveCursor(); - - var ws = lib.f.getWhitespace(count || 1); - this.screen_.insertString(ws); - this.screen_.maybeClipCurrentRow(); - - this.restoreCursor(cursor); - this.clearCursorOverflow(); -}; - -/** - * Forward-delete the specified number of characters starting at the cursor - * position. - * - * @param {integer} count The number of characters to delete. - */ -hterm.Terminal.prototype.deleteChars = function(count) { - var deleted = this.screen_.deleteChars(count); - if (deleted && !this.screen_.textAttributes.isDefault()) { - var cursor = this.saveCursor(); - this.setCursorColumn(this.screenSize.width - deleted); - this.screen_.insertString(lib.f.getWhitespace(deleted)); - this.restoreCursor(cursor); - } - - this.clearCursorOverflow(); -}; - -/** - * Shift rows in the scroll region upwards by a given number of lines. - * - * New rows are inserted at the bottom of the scroll region to fill the - * vacated rows. The new rows not filled out with the current text attributes. - * - * This function does not affect the scrollback rows at all. Rows shifted - * off the top are lost. - * - * The cursor position is not altered. - * - * @param {integer} count The number of rows to scroll. - */ -hterm.Terminal.prototype.vtScrollUp = function(count) { - var cursor = this.saveCursor(); - - this.setAbsoluteCursorRow(this.getVTScrollTop()); - this.deleteLines(count); - - this.restoreCursor(cursor); -}; - -/** - * Shift rows below the cursor down by a given number of lines. - * - * This function respects the current scroll region. - * - * New rows are inserted at the top of the scroll region to fill the - * vacated rows. The new rows not filled out with the current text attributes. - * - * This function does not affect the scrollback rows at all. Rows shifted - * off the bottom are lost. - * - * @param {integer} count The number of rows to scroll. - */ -hterm.Terminal.prototype.vtScrollDown = function(opt_count) { - var cursor = this.saveCursor(); - - this.setAbsoluteCursorPosition(this.getVTScrollTop(), 0); - this.insertLines(opt_count); - - this.restoreCursor(cursor); -}; - - -/** - * Set the cursor position. - * - * The cursor row is relative to the scroll region if the terminal has - * 'origin mode' enabled, or relative to the addressable screen otherwise. - * - * @param {integer} row The new zero-based cursor row. - * @param {integer} row The new zero-based cursor column. - */ -hterm.Terminal.prototype.setCursorPosition = function(row, column) { - if (this.options_.originMode) { - this.setRelativeCursorPosition(row, column); - } else { - this.setAbsoluteCursorPosition(row, column); - } -}; - -/** - * Move the cursor relative to its current position. - * - * @param {number} row - * @param {number} column - */ -hterm.Terminal.prototype.setRelativeCursorPosition = function(row, column) { - var scrollTop = this.getVTScrollTop(); - row = lib.f.clamp(row + scrollTop, scrollTop, this.getVTScrollBottom()); - column = lib.f.clamp(column, 0, this.screenSize.width - 1); - this.screen_.setCursorPosition(row, column); -}; - -/** - * Move the cursor to the specified position. - * - * @param {number} row - * @param {number} column - */ -hterm.Terminal.prototype.setAbsoluteCursorPosition = function(row, column) { - row = lib.f.clamp(row, 0, this.screenSize.height - 1); - column = lib.f.clamp(column, 0, this.screenSize.width - 1); - this.screen_.setCursorPosition(row, column); -}; - -/** - * Set the cursor column. - * - * @param {integer} column The new zero-based cursor column. - */ -hterm.Terminal.prototype.setCursorColumn = function(column) { - this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, column); -}; - -/** - * Return the cursor column. - * - * @return {integer} The zero-based cursor column. - */ -hterm.Terminal.prototype.getCursorColumn = function() { - return this.screen_.cursorPosition.column; -}; - -/** - * Set the cursor row. - * - * The cursor row is relative to the scroll region if the terminal has - * 'origin mode' enabled, or relative to the addressable screen otherwise. - * - * @param {integer} row The new cursor row. - */ -hterm.Terminal.prototype.setAbsoluteCursorRow = function(row) { - this.setAbsoluteCursorPosition(row, this.screen_.cursorPosition.column); -}; - -/** - * Return the cursor row. - * - * @return {integer} The zero-based cursor row. - */ -hterm.Terminal.prototype.getCursorRow = function() { - return this.screen_.cursorPosition.row; -}; - -/** - * Request that the ScrollPort redraw itself soon. - * - * The redraw will happen asynchronously, soon after the call stack winds down. - * Multiple calls will be coalesced into a single redraw. - */ -hterm.Terminal.prototype.scheduleRedraw_ = function() { - if (this.timeouts_.redraw) - return; - - var self = this; - this.timeouts_.redraw = setTimeout(function() { - delete self.timeouts_.redraw; - self.scrollPort_.redraw_(); - }, 0); -}; - -/** - * Request that the ScrollPort be scrolled to the bottom. - * - * The scroll will happen asynchronously, soon after the call stack winds down. - * Multiple calls will be coalesced into a single scroll. - * - * This affects the scrollbar position of the ScrollPort, and has nothing to - * do with the VT scroll commands. - */ -hterm.Terminal.prototype.scheduleScrollDown_ = function() { - if (this.timeouts_.scrollDown) - return; - - var self = this; - this.timeouts_.scrollDown = setTimeout(function() { - delete self.timeouts_.scrollDown; - self.scrollPort_.scrollRowToBottom(self.getRowCount()); - }, 10); -}; - -/** - * Move the cursor up a specified number of rows. - * - * @param {integer} count The number of rows to move the cursor. - */ -hterm.Terminal.prototype.cursorUp = function(count) { - return this.cursorDown(-(count || 1)); -}; - -/** - * Move the cursor down a specified number of rows. - * - * @param {integer} count The number of rows to move the cursor. - */ -hterm.Terminal.prototype.cursorDown = function(count) { - count = count || 1; - var minHeight = (this.options_.originMode ? this.getVTScrollTop() : 0); - var maxHeight = (this.options_.originMode ? this.getVTScrollBottom() : - this.screenSize.height - 1); - - var row = lib.f.clamp(this.screen_.cursorPosition.row + count, - minHeight, maxHeight); - this.setAbsoluteCursorRow(row); -}; - -/** - * Move the cursor left a specified number of columns. - * - * If reverse wraparound mode is enabled and the previous row wrapped into - * the current row then we back up through the wraparound as well. - * - * @param {integer} count The number of columns to move the cursor. - */ -hterm.Terminal.prototype.cursorLeft = function(count) { - count = count || 1; - - if (count < 1) - return; - - var currentColumn = this.screen_.cursorPosition.column; - if (this.options_.reverseWraparound) { - if (this.screen_.cursorPosition.overflow) { - // If this cursor is in the right margin, consume one count to get it - // back to the last column. This only applies when we're in reverse - // wraparound mode. - count--; - this.clearCursorOverflow(); - - if (!count) - return; - } - - var newRow = this.screen_.cursorPosition.row; - var newColumn = currentColumn - count; - if (newColumn < 0) { - newRow = newRow - Math.floor(count / this.screenSize.width) - 1; - if (newRow < 0) { - // xterm also wraps from row 0 to the last row. - newRow = this.screenSize.height + newRow % this.screenSize.height; - } - newColumn = this.screenSize.width + newColumn % this.screenSize.width; - } - - this.setCursorPosition(Math.max(newRow, 0), newColumn); - - } else { - var newColumn = Math.max(currentColumn - count, 0); - this.setCursorColumn(newColumn); - } -}; - -/** - * Move the cursor right a specified number of columns. - * - * @param {integer} count The number of columns to move the cursor. - */ -hterm.Terminal.prototype.cursorRight = function(count) { - count = count || 1; - - if (count < 1) - return; - - var column = lib.f.clamp(this.screen_.cursorPosition.column + count, - 0, this.screenSize.width - 1); - this.setCursorColumn(column); -}; - -/** - * Reverse the foreground and background colors of the terminal. - * - * This only affects text that was drawn with no attributes. - * - * TODO(rginda): Test xterm to see if reverse is respected for text that has - * been drawn with attributes that happen to coincide with the default - * 'no-attribute' colors. My guess is probably not. - * - * @param {boolean} state The state to set. - */ -hterm.Terminal.prototype.setReverseVideo = function(state) { - this.options_.reverseVideo = state; - if (state) { - this.scrollPort_.setForegroundColor(this.prefs_.get('background-color')); - this.scrollPort_.setBackgroundColor(this.prefs_.get('foreground-color')); - } else { - this.scrollPort_.setForegroundColor(this.prefs_.get('foreground-color')); - this.scrollPort_.setBackgroundColor(this.prefs_.get('background-color')); - } -}; - -/** - * Ring the terminal bell. - * - * This will not play the bell audio more than once per second. - */ -hterm.Terminal.prototype.ringBell = function() { - this.cursorNode_.style.backgroundColor = - this.scrollPort_.getForegroundColor(); - - var self = this; - setTimeout(function() { - self.cursorNode_.style.backgroundColor = self.prefs_.get('cursor-color'); - }, 200); - - // bellSquelchTimeout_ affects both audio and notification bells. - if (this.bellSquelchTimeout_) - return; - - if (this.bellAudio_.getAttribute('src')) { - this.bellAudio_.play(); - this.bellSequelchTimeout_ = setTimeout(function() { - delete this.bellSquelchTimeout_; - }.bind(this), 500); - } else { - delete this.bellSquelchTimeout_; - } - - if (this.desktopNotificationBell_ && !this.document_.hasFocus()) { - var n = hterm.notify(); - this.bellNotificationList_.push(n); - // TODO: Should we try to raise the window here? - n.onclick = function() { self.closeBellNotifications_(); }; - } -}; - -/** - * Set the origin mode bit. - * - * If origin mode is on, certain VT cursor and scrolling commands measure their - * row parameter relative to the VT scroll region. Otherwise, row 0 corresponds - * to the top of the addressable screen. - * - * Defaults to off. - * - * @param {boolean} state True to set origin mode, false to unset. - */ -hterm.Terminal.prototype.setOriginMode = function(state) { - this.options_.originMode = state; - this.setCursorPosition(0, 0); -}; - -/** - * Set the insert mode bit. - * - * If insert mode is on, existing text beyond the cursor position will be - * shifted right to make room for new text. Otherwise, new text overwrites - * any existing text. - * - * Defaults to off. - * - * @param {boolean} state True to set insert mode, false to unset. - */ -hterm.Terminal.prototype.setInsertMode = function(state) { - this.options_.insertMode = state; -}; - -/** - * Set the auto carriage return bit. - * - * If auto carriage return is on then a formfeed character is interpreted - * as a newline, otherwise it's the same as a linefeed. The difference boils - * down to whether or not the cursor column is reset. - * - * @param {boolean} state The state to set. - */ -hterm.Terminal.prototype.setAutoCarriageReturn = function(state) { - this.options_.autoCarriageReturn = state; -}; - -/** - * Set the wraparound mode bit. - * - * If wraparound mode is on, certain VT commands will allow the cursor to wrap - * to the start of the following row. Otherwise, the cursor is clamped to the - * end of the screen and attempts to write past it are ignored. - * - * Defaults to on. - * - * @param {boolean} state True to set wraparound mode, false to unset. - */ -hterm.Terminal.prototype.setWraparound = function(state) { - this.options_.wraparound = state; -}; - -/** - * Set the reverse-wraparound mode bit. - * - * If wraparound mode is off, certain VT commands will allow the cursor to wrap - * to the end of the previous row. Otherwise, the cursor is clamped to column - * 0. - * - * Defaults to off. - * - * @param {boolean} state True to set reverse-wraparound mode, false to unset. - */ -hterm.Terminal.prototype.setReverseWraparound = function(state) { - this.options_.reverseWraparound = state; -}; - -/** - * Selects between the primary and alternate screens. - * - * If alternate mode is on, the alternate screen is active. Otherwise the - * primary screen is active. - * - * Swapping screens has no effect on the scrollback buffer. - * - * Each screen maintains its own cursor position. - * - * Defaults to off. - * - * @param {boolean} state True to set alternate mode, false to unset. - */ -hterm.Terminal.prototype.setAlternateMode = function(state) { - var cursor = this.saveCursor(); - this.screen_ = state ? this.alternateScreen_ : this.primaryScreen_; - - if (this.screen_.rowsArray.length && - this.screen_.rowsArray[0].rowIndex != this.scrollbackRows_.length) { - // If the screen changed sizes while we were away, our rowIndexes may - // be incorrect. - var offset = this.scrollbackRows_.length; - var ary = this.screen_.rowsArray; - for (var i = 0; i < ary.length; i++) { - ary[i].rowIndex = offset + i; - } - } - - this.realizeWidth_(this.screenSize.width); - this.realizeHeight_(this.screenSize.height); - this.scrollPort_.syncScrollHeight(); - this.scrollPort_.invalidate(); - - this.restoreCursor(cursor); - this.scrollPort_.resize(); -}; - -/** - * Set the cursor-blink mode bit. - * - * If cursor-blink is on, the cursor will blink when it is visible. Otherwise - * a visible cursor does not blink. - * - * You should make sure to turn blinking off if you're going to dispose of a - * terminal, otherwise you'll leak a timeout. - * - * Defaults to on. - * - * @param {boolean} state True to set cursor-blink mode, false to unset. - */ -hterm.Terminal.prototype.setCursorBlink = function(state) { - this.options_.cursorBlink = state; - - if (!state && this.timeouts_.cursorBlink) { - clearTimeout(this.timeouts_.cursorBlink); - delete this.timeouts_.cursorBlink; - } - - if (this.options_.cursorVisible) - this.setCursorVisible(true); -}; - -/** - * Set the cursor-visible mode bit. - * - * If cursor-visible is on, the cursor will be visible. Otherwise it will not. - * - * Defaults to on. - * - * @param {boolean} state True to set cursor-visible mode, false to unset. - */ -hterm.Terminal.prototype.setCursorVisible = function(state) { - this.options_.cursorVisible = state; - - if (!state) { - if (this.timeouts_.cursorBlink) { - clearTimeout(this.timeouts_.cursorBlink); - delete this.timeouts_.cursorBlink; - } - this.cursorNode_.style.opacity = '0'; - return; - } - - this.syncCursorPosition_(); - - this.cursorNode_.style.opacity = '1'; - - if (this.options_.cursorBlink) { - if (this.timeouts_.cursorBlink) - return; - - this.onCursorBlink_(); - } else { - if (this.timeouts_.cursorBlink) { - clearTimeout(this.timeouts_.cursorBlink); - delete this.timeouts_.cursorBlink; - } - } -}; - -/** - * Synchronizes the visible cursor and document selection with the current - * cursor coordinates. - */ -hterm.Terminal.prototype.syncCursorPosition_ = function() { - var topRowIndex = this.scrollPort_.getTopRowIndex(); - var bottomRowIndex = this.scrollPort_.getBottomRowIndex(topRowIndex); - var cursorRowIndex = this.scrollbackRows_.length + - this.screen_.cursorPosition.row; - - if (cursorRowIndex > bottomRowIndex) { - // Cursor is scrolled off screen, move it outside of the visible area. - this.setCssVar('cursor-offset-row', '-1'); - return; - } - - if (this.options_.cursorVisible && - this.cursorNode_.style.display == 'none') { - // Re-display the terminal cursor if it was hidden by the mouse cursor. - this.cursorNode_.style.display = ''; - } - - // Position the cursor using CSS variable math. If we do the math in JS, - // the float math will end up being more precise than the CSS which will - // cause the cursor tracking to be off. - this.setCssVar( - 'cursor-offset-row', - `${cursorRowIndex - topRowIndex} + ` + - `${this.scrollPort_.visibleRowTopMargin}px`); - this.setCssVar('cursor-offset-col', this.screen_.cursorPosition.column); - - this.cursorNode_.setAttribute('title', - '(' + this.screen_.cursorPosition.column + - ', ' + this.screen_.cursorPosition.row + - ')'); - - // Update the caret for a11y purposes. - var selection = this.document_.getSelection(); - if (selection && selection.isCollapsed) - this.screen_.syncSelectionCaret(selection); -}; - -/** - * Adjusts the style of this.cursorNode_ according to the current cursor shape - * and character cell dimensions. - */ -hterm.Terminal.prototype.restyleCursor_ = function() { - var shape = this.cursorShape_; - - if (this.cursorNode_.getAttribute('focus') == 'false') { - // Always show a block cursor when unfocused. - shape = hterm.Terminal.cursorShape.BLOCK; - } - - var style = this.cursorNode_.style; - - switch (shape) { - case hterm.Terminal.cursorShape.BEAM: - style.height = 'var(--hterm-charsize-height)'; - style.backgroundColor = 'transparent'; - style.borderBottomStyle = null; - style.borderLeftStyle = 'solid'; - break; - - case hterm.Terminal.cursorShape.UNDERLINE: - style.height = this.scrollPort_.characterSize.baseline + 'px'; - style.backgroundColor = 'transparent'; - style.borderBottomStyle = 'solid'; - // correct the size to put it exactly at the baseline - style.borderLeftStyle = null; - break; - - default: - style.height = 'var(--hterm-charsize-height)'; - style.backgroundColor = this.cursorColor_; - style.borderBottomStyle = null; - style.borderLeftStyle = null; - break; - } -}; - -/** - * Synchronizes the visible cursor with the current cursor coordinates. - * - * The sync will happen asynchronously, soon after the call stack winds down. - * Multiple calls will be coalesced into a single sync. - */ -hterm.Terminal.prototype.scheduleSyncCursorPosition_ = function() { - if (this.timeouts_.syncCursor) - return; - - var self = this; - this.timeouts_.syncCursor = setTimeout(function() { - self.syncCursorPosition_(); - delete self.timeouts_.syncCursor; - }, 0); -}; - -/** - * Show or hide the zoom warning. - * - * The zoom warning is a message warning the user that their browser zoom must - * be set to 100% in order for hterm to function properly. - * - * @param {boolean} state True to show the message, false to hide it. - */ -hterm.Terminal.prototype.showZoomWarning_ = function(state) { - if (!this.zoomWarningNode_) { - if (!state) - return; - - this.zoomWarningNode_ = this.document_.createElement('div'); - this.zoomWarningNode_.id = 'hterm:zoom-warning'; - this.zoomWarningNode_.style.cssText = ( - 'color: black;' + - 'background-color: #ff2222;' + - 'font-size: large;' + - 'border-radius: 8px;' + - 'opacity: 0.75;' + - 'padding: 0.2em 0.5em 0.2em 0.5em;' + - 'top: 0.5em;' + - 'right: 1.2em;' + - 'position: absolute;' + - '-webkit-text-size-adjust: none;' + - '-webkit-user-select: none;' + - '-moz-text-size-adjust: none;' + - '-moz-user-select: none;'); - - this.zoomWarningNode_.addEventListener('click', function(e) { - this.parentNode.removeChild(this); - }); - } - - this.zoomWarningNode_.textContent = lib.MessageManager.replaceReferences( - hterm.zoomWarningMessage, - [parseInt(this.scrollPort_.characterSize.zoomFactor * 100)]); - - this.zoomWarningNode_.style.fontFamily = this.prefs_.get('font-family'); - - if (state) { - if (!this.zoomWarningNode_.parentNode) - this.div_.parentNode.appendChild(this.zoomWarningNode_); - } else if (this.zoomWarningNode_.parentNode) { - this.zoomWarningNode_.parentNode.removeChild(this.zoomWarningNode_); - } -}; - -/** - * Show the terminal overlay for a given amount of time. - * - * The terminal overlay appears in inverse video in a large font, centered - * over the terminal. You should probably keep the overlay message brief, - * since it's in a large font and you probably aren't going to check the size - * of the terminal first. - * - * @param {string} msg The text (not HTML) message to display in the overlay. - * @param {number} opt_timeout The amount of time to wait before fading out - * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay - * stay up forever (or until the next overlay). - */ -hterm.Terminal.prototype.showOverlay = function(msg, opt_timeout) { - if (!this.overlayNode_) { - if (!this.div_) - return; - - this.overlayNode_ = this.document_.createElement('div'); - this.overlayNode_.style.cssText = ( - 'border-radius: 15px;' + - 'font-size: xx-large;' + - 'opacity: 0.75;' + - 'padding: 0.2em 0.5em 0.2em 0.5em;' + - 'position: absolute;' + - '-webkit-user-select: none;' + - '-webkit-transition: opacity 180ms ease-in;' + - '-moz-user-select: none;' + - '-moz-transition: opacity 180ms ease-in;'); - - this.overlayNode_.addEventListener('mousedown', function(e) { - e.preventDefault(); - e.stopPropagation(); - }, true); - } - - this.overlayNode_.style.color = this.prefs_.get('background-color'); - this.overlayNode_.style.backgroundColor = this.prefs_.get('foreground-color'); - this.overlayNode_.style.fontFamily = this.prefs_.get('font-family'); - - this.overlayNode_.textContent = msg; - this.overlayNode_.style.opacity = '0.75'; - - if (!this.overlayNode_.parentNode) - this.div_.appendChild(this.overlayNode_); - - var divSize = hterm.getClientSize(this.div_); - var overlaySize = hterm.getClientSize(this.overlayNode_); - - this.overlayNode_.style.top = - (divSize.height - overlaySize.height) / 2 + 'px'; - this.overlayNode_.style.left = (divSize.width - overlaySize.width - - this.scrollPort_.currentScrollbarWidthPx) / 2 + 'px'; - - var self = this; - - if (this.overlayTimeout_) - clearTimeout(this.overlayTimeout_); - - if (opt_timeout === null) - return; - - this.overlayTimeout_ = setTimeout(function() { - self.overlayNode_.style.opacity = '0'; - self.overlayTimeout_ = setTimeout(function() { - if (self.overlayNode_.parentNode) - self.overlayNode_.parentNode.removeChild(self.overlayNode_); - self.overlayTimeout_ = null; - self.overlayNode_.style.opacity = '0.75'; - }, 200); - }, opt_timeout || 1500); -}; - -/** - * Paste from the system clipboard to the terminal. - */ -hterm.Terminal.prototype.paste = function() { - return hterm.pasteFromClipboard(this.document_); -}; - -/** - * Copy a string to the system clipboard. - * - * Note: If there is a selected range in the terminal, it'll be cleared. - * - * @param {string} str The string to copy. - */ -hterm.Terminal.prototype.copyStringToClipboard = function(str) { - if (this.prefs_.get('enable-clipboard-notice')) - setTimeout(this.showOverlay.bind(this, hterm.notifyCopyMessage, 500), 200); - - var copySource = this.document_.createElement('pre'); - copySource.id = 'hterm:copy-to-clipboard-source'; - copySource.textContent = str; - copySource.style.cssText = ( - '-webkit-user-select: text;' + - '-moz-user-select: text;' + - 'position: absolute;' + - 'top: -99px'); - - this.document_.body.appendChild(copySource); - - var selection = this.document_.getSelection(); - var anchorNode = selection.anchorNode; - var anchorOffset = selection.anchorOffset; - var focusNode = selection.focusNode; - var focusOffset = selection.focusOffset; - - selection.selectAllChildren(copySource); - - hterm.copySelectionToClipboard(this.document_); - - // IE doesn't support selection.extend. This means that the selection - // won't return on IE. - if (selection.extend) { - selection.collapse(anchorNode, anchorOffset); - selection.extend(focusNode, focusOffset); - } - - copySource.parentNode.removeChild(copySource); -}; - -/** - * Returns the selected text, or null if no text is selected. - * - * @return {string|null} - */ -hterm.Terminal.prototype.getSelectionText = function() { - var selection = this.scrollPort_.selection; - selection.sync(); - - if (selection.isCollapsed) - return null; - - - // Start offset measures from the beginning of the line. - var startOffset = selection.startOffset; - var node = selection.startNode; - - if (node.nodeName != 'X-ROW') { - // If the selection doesn't start on an x-row node, then it must be - // somewhere inside the x-row. Add any characters from previous siblings - // into the start offset. - - if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') { - // If node is the text node in a styled span, move up to the span node. - node = node.parentNode; - } - - while (node.previousSibling) { - node = node.previousSibling; - startOffset += hterm.TextAttributes.nodeWidth(node); - } - } - - // End offset measures from the end of the line. - var endOffset = (hterm.TextAttributes.nodeWidth(selection.endNode) - - selection.endOffset); - node = selection.endNode; - - if (node.nodeName != 'X-ROW') { - // If the selection doesn't end on an x-row node, then it must be - // somewhere inside the x-row. Add any characters from following siblings - // into the end offset. - - if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') { - // If node is the text node in a styled span, move up to the span node. - node = node.parentNode; - } - - while (node.nextSibling) { - node = node.nextSibling; - endOffset += hterm.TextAttributes.nodeWidth(node); - } - } - - var rv = this.getRowsText(selection.startRow.rowIndex, - selection.endRow.rowIndex + 1); - return lib.wc.substring(rv, startOffset, lib.wc.strWidth(rv) - endOffset); -}; - -/** - * Copy the current selection to the system clipboard, then clear it after a - * short delay. - */ -hterm.Terminal.prototype.copySelectionToClipboard = function() { - var text = this.getSelectionText(); - if (text != null) - this.copyStringToClipboard(text); -}; - -hterm.Terminal.prototype.overlaySize = function() { - this.showOverlay(this.screenSize.width + 'x' + this.screenSize.height); -}; - -/** - * Invoked by hterm.Terminal.Keyboard when a VT keystroke is detected. - * - * @param {string} string The VT string representing the keystroke, in UTF-16. - */ -hterm.Terminal.prototype.onVTKeystroke = function(string) { - if (this.scrollOnKeystroke_) - this.scrollPort_.scrollRowToBottom(this.getRowCount()); - - this.io.onVTKeystroke(this.keyboard.encode(string)); -}; - -/** - * Launches url in a new tab. - * - * @param {string} url URL to launch in a new tab. - */ -hterm.Terminal.prototype.openUrl = function(url) { - if (window.chrome && window.chrome.browser) { - // For Chrome v2 apps, we need to use this API to properly open windows. - chrome.browser.openTab({'url': url}); - } else { - var win = window.open(url, '_blank'); - win.focus(); - } -} - -/** - * Open the selected url. - */ -hterm.Terminal.prototype.openSelectedUrl_ = function() { - var str = this.getSelectionText(); - - // If there is no selection, try and expand wherever they clicked. - if (str == null) { - this.screen_.expandSelection(this.document_.getSelection()); - str = this.getSelectionText(); - - // If clicking in empty space, return. - if (str == null) - return; - } - - // Make sure URL is valid before opening. - if (str.length > 2048 || str.search(/[\s\[\](){}<>"'\\^`]/) >= 0) - return; - - // If the URI isn't anchored, it'll open relative to the extension. - // We have no way of knowing the correct schema, so assume http. - if (str.search('^[a-zA-Z][a-zA-Z0-9+.-]*://') < 0) { - // We have to whitelist a few protocols that lack authorities and thus - // never use the //. Like mailto. - switch (str.split(':', 1)[0]) { - case 'mailto': - break; - default: - str = 'http://' + str; - break; - } - } - - this.openUrl(str); -} - - -/** - * Add the terminalRow and terminalColumn properties to mouse events and - * then forward on to onMouse(). - * - * The terminalRow and terminalColumn properties contain the (row, column) - * coordinates for the mouse event. - * - * @param {Event} e The mouse event to handle. - */ -hterm.Terminal.prototype.onMouse_ = function(e) { - if (e.processedByTerminalHandler_) { - // We register our event handlers on the document, as well as the cursor - // and the scroll blocker. Mouse events that occur on the cursor or - // scroll blocker will also appear on the document, but we don't want to - // process them twice. - // - // We can't just prevent bubbling because that has other side effects, so - // we decorate the event object with this property instead. - return; - } - - var reportMouseEvents = (!this.defeatMouseReports_ && - this.vt.mouseReport != this.vt.MOUSE_REPORT_DISABLED); - - e.processedByTerminalHandler_ = true; - - // One based row/column stored on the mouse event. - e.terminalRow = parseInt((e.clientY - this.scrollPort_.visibleRowTopMargin) / - this.scrollPort_.characterSize.height) + 1; - e.terminalColumn = parseInt(e.clientX / - this.scrollPort_.characterSize.width) + 1; - - if (e.type == 'mousedown' && e.terminalColumn > this.screenSize.width) { - // Mousedown in the scrollbar area. - return; - } - - if (this.options_.cursorVisible && !reportMouseEvents) { - // If the cursor is visible and we're not sending mouse events to the - // host app, then we want to hide the terminal cursor when the mouse - // cursor is over top. This keeps the terminal cursor from interfering - // with local text selection. - if (e.terminalRow - 1 == this.screen_.cursorPosition.row && - e.terminalColumn - 1 == this.screen_.cursorPosition.column) { - this.cursorNode_.style.display = 'none'; - } else if (this.cursorNode_.style.display == 'none') { - this.cursorNode_.style.display = ''; - } - } - - if (e.type == 'mousedown') { - if (e.altKey || !reportMouseEvents) { - // If VT mouse reporting is disabled, or has been defeated with - // alt-mousedown, then the mouse will act on the local selection. - this.defeatMouseReports_ = true; - this.setSelectionEnabled(true); - } else { - // Otherwise we defer ownership of the mouse to the VT. - this.defeatMouseReports_ = false; - this.document_.getSelection().collapseToEnd(); - this.setSelectionEnabled(false); - e.preventDefault(); - } - } - - if (!reportMouseEvents) { - if (e.type == 'dblclick' && this.copyOnSelect) { - this.screen_.expandSelection(this.document_.getSelection()); - this.copySelectionToClipboard(this.document_); - } - - if (e.type == 'click' && !e.shiftKey && (e.ctrlKey || e.metaKey)) { - // Debounce this event with the dblclick event. If you try to doubleclick - // a URL to open it, Chrome will fire click then dblclick, but we won't - // have expanded the selection text at the first click event. - clearTimeout(this.timeouts_.openUrl); - this.timeouts_.openUrl = setTimeout(this.openSelectedUrl_.bind(this), - 500); - return; - } - - if (e.type == 'mousedown') { - if ((this.mouseRightClickPaste && e.button == 2 /* right button */) || - e.button == this.mousePasteButton) { - if (!this.paste()) - console.warning('Could not paste manually due to web restrictions');; - } - } - - if (e.type == 'mouseup' && e.button == 0 && this.copyOnSelect && - !this.document_.getSelection().isCollapsed) { - this.copySelectionToClipboard(this.document_); - } - - if ((e.type == 'mousemove' || e.type == 'mouseup') && - this.scrollBlockerNode_.engaged) { - // Disengage the scroll-blocker after one of these events. - this.scrollBlockerNode_.engaged = false; - this.scrollBlockerNode_.style.top = '-99px'; - } - - // Emulate arrow key presses via scroll wheel events. - if (this.scrollWheelArrowKeys_ && !e.shiftKey && - this.keyboard.applicationCursor && !this.isPrimaryScreen()) { - if (e.type == 'wheel') { - var delta = this.scrollPort_.scrollWheelDelta(e); - var lines = lib.f.smartFloorDivide( - Math.abs(delta), this.scrollPort_.characterSize.height); - - var data = '\x1bO' + (delta < 0 ? 'B' : 'A'); - this.io.sendString(data.repeat(lines)); - - e.preventDefault(); - } - } - } else /* if (this.reportMouseEvents) */ { - if (!this.scrollBlockerNode_.engaged) { - if (e.type == 'mousedown') { - // Move the scroll-blocker into place if we want to keep the scrollport - // from scrolling. - this.scrollBlockerNode_.engaged = true; - this.scrollBlockerNode_.style.top = (e.clientY - 5) + 'px'; - this.scrollBlockerNode_.style.left = (e.clientX - 5) + 'px'; - } else if (e.type == 'mousemove') { - // Oh. This means that drag-scroll was disabled AFTER the mouse down, - // in which case it's too late to engage the scroll-blocker. - this.document_.getSelection().collapseToEnd(); - e.preventDefault(); - } - } - - this.onMouse(e); - } - - if (e.type == 'mouseup' && this.document_.getSelection().isCollapsed) { - // Restore this on mouseup in case it was temporarily defeated with a - // alt-mousedown. Only do this when the selection is empty so that - // we don't immediately kill the users selection. - this.defeatMouseReports_ = false; - } -}; - -/** - * Clients should override this if they care to know about mouse events. - * - * The event parameter will be a normal DOM mouse click event with additional - * 'terminalRow' and 'terminalColumn' properties. - * - * @param {Event} e The mouse event to handle. - */ -hterm.Terminal.prototype.onMouse = function(e) { }; - -/** - * React when focus changes. - * - * @param {boolean} focused True if focused, false otherwise. - */ -hterm.Terminal.prototype.onFocusChange_ = function(focused) { - this.cursorNode_.setAttribute('focus', focused); - this.restyleCursor_(); - if (focused === true) - this.closeBellNotifications_(); -}; - -/** - * React when the ScrollPort is scrolled. - */ -hterm.Terminal.prototype.onScroll_ = function() { - this.scheduleSyncCursorPosition_(); -}; - -/** - * React when text is pasted into the scrollPort. - * - * @param {Event} e The DOM paste event to handle. - */ -hterm.Terminal.prototype.onPaste_ = function(e) { - var data = e.text.replace(/\n/mg, '\r'); - data = this.keyboard.encode(data); - if (this.options_.bracketedPaste) - data = '\x1b[200~' + data + '\x1b[201~'; - - this.io.sendString(data); -}; - -/** - * React when the user tries to copy from the scrollPort. - * - * @param {Event} e The DOM copy event. - */ -hterm.Terminal.prototype.onCopy_ = function(e) { - if (!this.useDefaultWindowCopy) { - e.preventDefault(); - setTimeout(this.copySelectionToClipboard.bind(this), 0); - } -}; - -/** - * React when the ScrollPort is resized. - * - * Note: This function should not directly contain code that alters the internal - * state of the terminal. That kind of code belongs in realizeWidth or - * realizeHeight, so that it can be executed synchronously in the case of a - * programmatic width change. - */ -hterm.Terminal.prototype.onResize_ = function() { - var columnCount = Math.floor(this.scrollPort_.getScreenWidth() / - this.scrollPort_.characterSize.width) || 0; - var rowCount = lib.f.smartFloorDivide(this.scrollPort_.getScreenHeight(), - this.scrollPort_.characterSize.height) || 0; - - if (columnCount <= 0 || rowCount <= 0) { - // We avoid these situations since they happen sometimes when the terminal - // gets removed from the document or during the initial load, and we can't - // deal with that. - // This can also happen if called before the scrollPort calculates the - // character size, meaning we dived by 0 above and default to 0 values. - return; - } - - var isNewSize = (columnCount != this.screenSize.width || - rowCount != this.screenSize.height); - - // We do this even if the size didn't change, just to be sure everything is - // in sync. - this.realizeSize_(columnCount, rowCount); - this.showZoomWarning_(this.scrollPort_.characterSize.zoomFactor != 1); - - if (isNewSize) - this.overlaySize(); - - this.restyleCursor_(); - this.scheduleSyncCursorPosition_(); -}; - -/** - * Service the cursor blink timeout. - */ -hterm.Terminal.prototype.onCursorBlink_ = function() { - if (!this.options_.cursorBlink) { - delete this.timeouts_.cursorBlink; - return; - } - - if (this.cursorNode_.getAttribute('focus') == 'false' || - this.cursorNode_.style.opacity == '0') { - this.cursorNode_.style.opacity = '1'; - this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_, - this.cursorBlinkCycle_[0]); - } else { - this.cursorNode_.style.opacity = '0'; - this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_, - this.cursorBlinkCycle_[1]); - } -}; - -/** - * Set the scrollbar-visible mode bit. - * - * If scrollbar-visible is on, the vertical scrollbar will be visible. - * Otherwise it will not. - * - * Defaults to on. - * - * @param {boolean} state True to set scrollbar-visible mode, false to unset. - */ -hterm.Terminal.prototype.setScrollbarVisible = function(state) { - this.scrollPort_.setScrollbarVisible(state); -}; - -/** - * Set the scroll wheel move multiplier. This will affect how fast the page - * scrolls on wheel events. - * - * Defaults to 1. - * - * @param {number} multiplier The multiplier to set. - */ -hterm.Terminal.prototype.setScrollWheelMoveMultipler = function(multiplier) { - this.scrollPort_.setScrollWheelMoveMultipler(multiplier); -}; - -/** - * Close all web notifications created by terminal bells. - */ -hterm.Terminal.prototype.closeBellNotifications_ = function() { - this.bellNotificationList_.forEach(function(n) { - n.close(); - }); - this.bellNotificationList_.length = 0; -}; -// SOURCE FILE: hterm/js/hterm_terminal_io.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -lib.rtdep('lib.encodeUTF8'); - -/** - * Input/Output interface used by commands to communicate with the terminal. - * - * Commands like `nassh` and `crosh` receive an instance of this class as - * part of their argv object. This allows them to write to and read from the - * terminal without exposing them to an entire hterm.Terminal instance. - * - * The active command must override the onVTKeystroke() and sendString() methods - * of this class in order to receive keystrokes and send output to the correct - * destination. - * - * Isolating commands from the terminal provides the following benefits: - * - Provides a mechanism to save and restore onVTKeystroke and sendString - * handlers when invoking subcommands (see the push() and pop() methods). - * - The isolation makes it easier to make changes in Terminal and supporting - * classes without affecting commands. - * - In The Future commands may run in web workers where they would only be able - * to talk to a Terminal instance through an IPC mechanism. - * - * @param {hterm.Terminal} - */ -hterm.Terminal.IO = function(terminal) { - this.terminal_ = terminal; - - // The IO object to restore on IO.pop(). - this.previousIO_ = null; -}; - -/** - * Show the terminal overlay for a given amount of time. - * - * The terminal overlay appears in inverse video in a large font, centered - * over the terminal. You should probably keep the overlay message brief, - * since it's in a large font and you probably aren't going to check the size - * of the terminal first. - * - * @param {string} msg The text (not HTML) message to display in the overlay. - * @param {number} opt_timeout The amount of time to wait before fading out - * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay - * stay up forever (or until the next overlay). - */ -hterm.Terminal.IO.prototype.showOverlay = function(message, opt_timeout) { - this.terminal_.showOverlay(message, opt_timeout); -}; - -/** - * Open an frame in the current terminal window, pointed to the specified - * url. - * - * Eventually we'll probably need size/position/decoration options. - * The user should also be able to move/resize the frame. - * - * @param {string} url The URL to load in the frame. - * @param {Object} opt_options Optional frame options. Not implemented. - */ -hterm.Terminal.IO.prototype.createFrame = function(url, opt_options) { - return new hterm.Frame(this.terminal_, url, opt_options); -}; - -/** - * Change the preference profile for the terminal. - * - * @param profileName {string} The name of the preference profile to activate. - */ -hterm.Terminal.IO.prototype.setTerminalProfile = function(profileName) { - this.terminal_.setProfile(profileName); -}; - -/** - * Create a new hterm.Terminal.IO instance and make it active on the Terminal - * object associated with this instance. - * - * This is used to pass control of the terminal IO off to a subcommand. The - * IO.pop() method can be used to restore control when the subcommand completes. - */ -hterm.Terminal.IO.prototype.push = function() { - var io = new hterm.Terminal.IO(this.terminal_); - io.keyboardCaptured_ = this.keyboardCaptured_; - - io.columnCount = this.columnCount; - io.rowCount = this.rowCount; - - io.previousIO_ = this.terminal_.io; - this.terminal_.io = io; - - return io; -}; - -/** - * Restore the Terminal's previous IO object. - */ -hterm.Terminal.IO.prototype.pop = function() { - this.terminal_.io = this.previousIO_; -}; - -/** - * Called when data needs to be sent to the current command. - * - * Clients should override this to receive notification of pending data. - * - * @param {string} string The data to send. - */ -hterm.Terminal.IO.prototype.sendString = function(string) { - // Override this. - console.log('Unhandled sendString: ' + string); -}; - -/** - * Called when a terminal keystroke is detected. - * - * Clients should override this to receive notification of keystrokes. - * - * The keystroke data will be encoded according to the 'send-encoding' - * preference. - * - * @param {string} string The VT key sequence. - */ -hterm.Terminal.IO.prototype.onVTKeystroke = function(string) { - // Override this. - console.log('Unobserverd VT keystroke: ' + JSON.stringify(string)); -}; - -hterm.Terminal.IO.prototype.onTerminalResize_ = function(width, height) { - var obj = this; - while (obj) { - obj.columnCount = width; - obj.rowCount = height; - obj = obj.previousIO_; - } - - this.onTerminalResize(width, height); -}; - -/** - * Called when terminal size is changed. - * - * Clients should override this to receive notification of resize. - * - * @param {string|integer} terminal width. - * @param {string|integer} terminal height. - */ -hterm.Terminal.IO.prototype.onTerminalResize = function(width, height) { - // Override this. -}; - -/** - * Write a UTF-8 encoded byte string to the terminal. - * - * @param {string} string The UTF-8 encoded string to print. - */ -hterm.Terminal.IO.prototype.writeUTF8 = function(string) { - if (this.terminal_.io != this) - throw 'Attempt to print from inactive IO object.'; - - this.terminal_.interpret(string); -}; - -/** - * Write a UTF-8 encoded byte string to the terminal followed by crlf. - * - * @param {string} string The UTF-8 encoded string to print. - */ -hterm.Terminal.IO.prototype.writelnUTF8 = function(string) { - if (this.terminal_.io != this) - throw 'Attempt to print from inactive IO object.'; - - this.terminal_.interpret(string + '\r\n'); -}; - -/** - * Write a UTF-16 JavaScript string to the terminal. - * - * @param {string} string The string to print. - */ -hterm.Terminal.IO.prototype.print = -hterm.Terminal.IO.prototype.writeUTF16 = function(string) { - this.writeUTF8(lib.encodeUTF8(string)); -}; - -/** - * Print a UTF-16 JavaScript string to the terminal followed by a newline. - * - * @param {string} string The string to print. - */ -hterm.Terminal.IO.prototype.println = -hterm.Terminal.IO.prototype.writelnUTF16 = function(string) { - this.writelnUTF8(lib.encodeUTF8(string)); -}; -// SOURCE FILE: hterm/js/hterm_text_attributes.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -lib.rtdep('lib.colors'); - -/** - * Constructor for TextAttribute objects. - * - * These objects manage a set of text attributes such as foreground/ - * background color, bold, faint, italic, blink, underline, and strikethrough. - * - * TextAttribute instances can be used to construct a DOM container implementing - * the current attributes, or to test an existing DOM container for - * compatibility with the current attributes. - * - * @constructor - * @param {HTMLDocument} document The parent document to use when creating - * new DOM containers. - */ -hterm.TextAttributes = function(document) { - this.document_ = document; - // These variables contain the source of the color as either: - // SRC_DEFAULT (use context default) - // SRC_RGB (specified in 'rgb( r, g, b)' form) - // number (representing the index from color palette to use) - this.foregroundSource = this.SRC_DEFAULT; - this.backgroundSource = this.SRC_DEFAULT; - - // These properties cache the value in the color table, but foregroundSource - // and backgroundSource contain the canonical values. - this.foreground = this.DEFAULT_COLOR; - this.background = this.DEFAULT_COLOR; - - this.defaultForeground = 'rgb(255, 255, 255)'; - this.defaultBackground = 'rgb(0, 0, 0)'; - - this.bold = false; - this.faint = false; - this.italic = false; - this.blink = false; - this.underline = false; - this.strikethrough = false; - this.inverse = false; - this.invisible = false; - this.wcNode = false; - this.asciiNode = true; - this.tileData = null; - - this.colorPalette = null; - this.resetColorPalette(); -}; - -/** - * If false, we ignore the bold attribute. - * - * This is used for fonts that have a bold version that is a different size - * than the normal weight version. - */ -hterm.TextAttributes.prototype.enableBold = true; - -/** - * If true, use bright colors (if available) for bold text. - * - * This setting is independent of the enableBold setting. - */ -hterm.TextAttributes.prototype.enableBoldAsBright = true; - -/** - * A sentinel constant meaning "whatever the default color is in this context". - */ -hterm.TextAttributes.prototype.DEFAULT_COLOR = lib.f.createEnum(''); - -/** - * A constant string used to specify that source color is context default. - */ -hterm.TextAttributes.prototype.SRC_DEFAULT = 'default'; - - -/** - * A constant string used to specify that the source of a color is a valid - * rgb( r, g, b) specifier. - */ -hterm.TextAttributes.prototype.SRC_RGB = 'rgb'; - -/** - * The document object which should own the DOM nodes created by this instance. - * - * @param {HTMLDocument} document The parent document. - */ -hterm.TextAttributes.prototype.setDocument = function(document) { - this.document_ = document; -}; - -/** - * Create a deep copy of this object. - * - * @return {hterm.TextAttributes} A deep copy of this object. - */ -hterm.TextAttributes.prototype.clone = function() { - var rv = new hterm.TextAttributes(null); - - for (var key in this) { - rv[key] = this[key]; - } - - rv.colorPalette = this.colorPalette.concat(); - return rv; -}; - -/** - * Reset the current set of attributes. - * - * This does not affect the palette. Use resetColorPalette() for that. - * It also doesn't affect the tile data, it's not meant to. - */ -hterm.TextAttributes.prototype.reset = function() { - this.foregroundSource = this.SRC_DEFAULT; - this.backgroundSource = this.SRC_DEFAULT; - this.foreground = this.DEFAULT_COLOR; - this.background = this.DEFAULT_COLOR; - this.bold = false; - this.faint = false; - this.italic = false; - this.blink = false; - this.underline = false; - this.strikethrough = false; - this.inverse = false; - this.invisible = false; - this.wcNode = false; - this.asciiNode = true; -}; - -/** - * Reset the color palette to the default state. - */ -hterm.TextAttributes.prototype.resetColorPalette = function() { - this.colorPalette = lib.colors.colorPalette.concat(); - this.syncColors(); -}; - -/** - * Test if the current attributes describe unstyled text. - * - * @return {boolean} True if the current attributes describe unstyled text. - */ -hterm.TextAttributes.prototype.isDefault = function() { - return (this.foregroundSource == this.SRC_DEFAULT && - this.backgroundSource == this.SRC_DEFAULT && - !this.bold && - !this.faint && - !this.italic && - !this.blink && - !this.underline && - !this.strikethrough && - !this.inverse && - !this.invisible && - !this.wcNode && - this.asciiNode && - this.tileData == null); -}; - -/** - * Create a DOM container (a span or a text node) with a style to match the - * current set of attributes. - * - * This method will create a plain text node if the text is unstyled, or - * an HTML span if the text is styled. Due to lack of monospace wide character - * fonts on certain systems (e.g. Chrome OS), we need to put each wide character - * in a span of CSS class '.wc-node' which has double column width. - * Each vt_tiledata tile is also represented by a span with a single - * character, with CSS classes '.tile' and '.tile_'. - * - * @param {string} opt_textContent Optional text content for the new container. - * @return {HTMLNode} An HTML span or text nodes styled to match the current - * attributes. - */ -hterm.TextAttributes.prototype.createContainer = function(opt_textContent) { - if (this.isDefault()) - return this.document_.createTextNode(opt_textContent); - - var span = this.document_.createElement('span'); - var style = span.style; - var classes = []; - - if (this.foreground != this.DEFAULT_COLOR) - style.color = this.foreground; - - if (this.background != this.DEFAULT_COLOR) - style.backgroundColor = this.background; - - if (this.enableBold && this.bold) - style.fontWeight = 'bold'; - - if (this.faint) - span.faint = true; - - if (this.italic) - style.fontStyle = 'italic'; - - if (this.blink) { - classes.push('blink-node'); - span.blinkNode = true; - } - - var textDecoration = ''; - if (this.underline) { - textDecoration += ' underline'; - span.underline = true; - } - if (this.strikethrough) { - textDecoration += ' line-through'; - span.strikethrough = true; - } - if (textDecoration) { - style.textDecoration = textDecoration; - } - - if (this.wcNode) { - classes.push('wc-node'); - span.wcNode = true; - span.asciiNode = false; - } - - if (this.tileData != null) { - classes.push('tile'); - classes.push('tile_' + this.tileData); - span.tileNode = true; - } - - if (opt_textContent) - span.textContent = opt_textContent; - - if (classes.length) - span.className = classes.join(' '); - - return span; -}; - -/** - * Tests if the provided object (string, span or text node) has the same - * style as this TextAttributes instance. - * - * This indicates that text with these attributes could be inserted directly - * into the target DOM node. - * - * For the purposes of this method, a string is considered a text node. - * - * @param {string|HTMLNode} obj The object to test. - * @return {boolean} True if the provided container has the same style as - * this attributes instance. - */ -hterm.TextAttributes.prototype.matchesContainer = function(obj) { - if (typeof obj == 'string' || obj.nodeType == 3) - return this.isDefault(); - - var style = obj.style; - - // We don't want to put multiple characters in a wcNode or a tile. - // See the comments in createContainer. - return (!(this.wcNode || obj.wcNode) && - this.asciiNode == this.asciiNode && - !(this.tileData != null || obj.tileNode) && - this.foreground == style.color && - this.background == style.backgroundColor && - (this.enableBold && this.bold) == !!style.fontWeight && - this.blink == obj.blinkNode && - this.italic == !!style.fontStyle && - !!this.underline == !!obj.underline && - !!this.strikethrough == !!obj.strikethrough); -}; - -hterm.TextAttributes.prototype.setDefaults = function(foreground, background) { - this.defaultForeground = foreground; - this.defaultBackground = background; - - this.syncColors(); -}; - -/** - * Updates foreground and background properties based on current indices and - * other state. - * - * @param {string} terminalForeground The terminal foreground color for use as - * inverse text background. - * @param {string} terminalBackground The terminal background color for use as - * inverse text foreground. - * - */ -hterm.TextAttributes.prototype.syncColors = function() { - function getBrightIndex(i) { - if (i < 8) { - // If the color is from the lower half of the ANSI 16, add 8. - return i + 8; - } - - // If it's not from the 16 color palette, ignore bold requests. This - // matches the behavior of gnome-terminal. - return i; - } - - var foregroundSource = this.foregroundSource; - var backgroundSource = this.backgroundSource; - var defaultForeground = this.DEFAULT_COLOR; - var defaultBackground = this.DEFAULT_COLOR; - - if (this.inverse) { - foregroundSource = this.backgroundSource; - backgroundSource = this.foregroundSource; - // We can't inherit the container's color anymore. - defaultForeground = this.defaultBackground; - defaultBackground = this.defaultForeground; - } - - if (this.enableBoldAsBright && this.bold) { - if (foregroundSource != this.SRC_DEFAULT && - foregroundSource != this.SRC_RGB) { - foregroundSource = getBrightIndex(foregroundSource); - } - } - - if (this.invisible) { - foregroundSource = backgroundSource; - defaultForeground = this.defaultBackground; - } - - // Set fore/background colors unless already specified in rgb(r, g, b) form. - if (foregroundSource != this.SRC_RGB) { - this.foreground = ((foregroundSource == this.SRC_DEFAULT) ? - defaultForeground : this.colorPalette[foregroundSource]); - } - - if (this.faint && !this.invisible) { - var colorToMakeFaint = ((this.foreground == this.DEFAULT_COLOR) ? - this.defaultForeground : this.foreground); - this.foreground = lib.colors.mix(colorToMakeFaint, 'rgb(0, 0, 0)', 0.3333); - } - - if (backgroundSource != this.SRC_RGB) { - this.background = ((backgroundSource == this.SRC_DEFAULT) ? - defaultBackground : this.colorPalette[backgroundSource]); - } -}; - -/** - * Static method used to test if the provided objects (strings, spans or - * text nodes) have the same style. - * - * For the purposes of this method, a string is considered a text node. - * - * @param {string|HTMLNode} obj1 An object to test. - * @param {string|HTMLNode} obj2 Another object to test. - * @return {boolean} True if the containers have the same style. - */ -hterm.TextAttributes.containersMatch = function(obj1, obj2) { - if (typeof obj1 == 'string') - return hterm.TextAttributes.containerIsDefault(obj2); - - if (obj1.nodeType != obj2.nodeType) - return false; - - if (obj1.nodeType == 3) - return true; - - var style1 = obj1.style; - var style2 = obj2.style; - - return (style1.color == style2.color && - style1.backgroundColor == style2.backgroundColor && - style1.fontWeight == style2.fontWeight && - style1.fontStyle == style2.fontStyle && - style1.textDecoration == style2.textDecoration); -}; - -/** - * Static method to test if a given DOM container represents unstyled text. - * - * For the purposes of this method, a string is considered a text node. - * - * @param {string|HTMLNode} obj1 An object to test. - * @return {boolean} True if the object is unstyled. - */ -hterm.TextAttributes.containerIsDefault = function(obj) { - return typeof obj == 'string' || obj.nodeType == 3; -}; - -/** - * Static method to get the column width of a node's textContent. - * - * @param {HTMLElement} node The HTML element to get the width of textContent - * from. - * @return {integer} The column width of the node's textContent. - */ -hterm.TextAttributes.nodeWidth = function(node) { - if (!node.asciiNode) { - return lib.wc.strWidth(node.textContent); - } else { - return node.textContent.length; - } -} - -/** - * Static method to get the substr of a node's textContent. The start index - * and substr width are computed in column width. - * - * @param {HTMLElement} node The HTML element to get the substr of textContent - * from. - * @param {integer} start The starting offset in column width. - * @param {integer} width The width to capture in column width. - * @return {integer} The extracted substr of the node's textContent. - */ -hterm.TextAttributes.nodeSubstr = function(node, start, width) { - if (!node.asciiNode) { - return lib.wc.substr(node.textContent, start, width); - } else { - return node.textContent.substr(start, width); - } -} - -/** - * Static method to get the substring based of a node's textContent. The - * start index of end index are computed in column width. - * - * @param {HTMLElement} node The HTML element to get the substr of textContent - * from. - * @param {integer} start The starting offset in column width. - * @param {integer} end The ending offset in column width. - * @return {integer} The extracted substring of the node's textContent. - */ -hterm.TextAttributes.nodeSubstring = function(node, start, end) { - if (!node.asciiNode) { - return lib.wc.substring(node.textContent, start, end); - } else { - return node.textContent.substring(start, end); - } -}; - -/** - * Static method to split a string into contiguous runs of single-width - * characters and runs of double-width characters. - * - * @param {string} str The string to split. - * @return {Array} An array of objects that contain substrings of str, where - * each substring is either a contiguous runs of single-width characters - * or a double-width character. For objects that contain a double-width - * character, its wcNode property is set to true. For objects that contain - * only ASCII content, its asciiNode property is set to true. - */ -hterm.TextAttributes.splitWidecharString = function(str) { - var rv = []; - var base = 0, length = 0; - var asciiNode = true; - - for (var i = 0; i < str.length;) { - var c = str.codePointAt(i); - var increment = (c <= 0xffff) ? 1 : 2; - if (c < 128) { - length += increment; - } else if (lib.wc.charWidth(c) <= 1) { - length += increment; - asciiNode = false; - } else { - if (length) { - rv.push({ - str: str.substr(base, length), - asciiNode: asciiNode, - }); - asciiNode = true; - } - rv.push({ - str: str.substr(i, increment), - wcNode: true, - asciiNode: false, - }); - base = i + increment; - length = 0; - } - i += increment; - } - - if (length) { - rv.push({ - str: str.substr(base, length), - asciiNode: asciiNode, - }); - } - - return rv; -}; -// SOURCE FILE: hterm/js/hterm_vt.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -lib.rtdep('lib.colors', 'lib.f', 'lib.UTF8Decoder', - 'hterm.VT.CharacterMap'); - -/** - * Constructor for the VT escape sequence interpreter. - * - * The interpreter operates on a terminal object capable of performing cursor - * move operations, painting characters, etc. - * - * This interpreter is intended to be compatible with xterm, though it - * ignores some of the more esoteric escape sequences. - * - * Control sequences are documented in hterm/doc/ControlSequences.md. - * - * @param {hterm.Terminal} terminal Terminal to use with the interpreter. - */ -hterm.VT = function(terminal) { - /** - * The display terminal object associated with this virtual terminal. - */ - this.terminal = terminal; - - terminal.onMouse = this.onTerminalMouse_.bind(this); - this.mouseReport = this.MOUSE_REPORT_DISABLED; - - // Parse state left over from the last parse. You should use the parseState - // instance passed into your parse routine, rather than reading - // this.parseState_ directly. - this.parseState_ = new hterm.VT.ParseState(this.parseUnknown_); - - // Any "leading modifiers" for the escape sequence, such as '?', ' ', or the - // other modifiers handled in this.parseCSI_. - this.leadingModifier_ = ''; - - // Any "trailing modifiers". Same character set as a leading modifier, - // except these are found after the numeric arguments. - this.trailingModifier_ = ''; - - // Whether or not to respect the escape codes for setting terminal width. - this.allowColumnWidthChanges_ = false; - - // The amount of time we're willing to wait for the end of an OSC sequence. - this.oscTimeLimit_ = 20000; - - // Decoder to maintain UTF-8 decode state. - this.utf8Decoder_ = new lib.UTF8Decoder(); - - /** - * Whether to accept the 8-bit control characters. - * - * An 8-bit control character is one with the eighth bit set. These - * didn't work on 7-bit terminals so they all have two byte equivalents. - * Most hosts still only use the two-byte versions. - * - * We ignore 8-bit control codes by default. This is in order to avoid - * issues with "accidental" usage of codes that need to be terminated. - * The "accident" usually involves cat'ing binary data. - */ - this.enable8BitControl = false; - - /** - * Whether to allow the OSC 52 sequence to write to the system clipboard. - */ - this.enableClipboardWrite = true; - - /** - * Respect the host's attempt to change the cursor blink status using - * the DEC Private mode 12. - */ - this.enableDec12 = false; - - /** - * The expected encoding method for data received from the host. - */ - this.characterEncoding = 'utf-8'; - - /** - * Max length of an unterminated DCS, OSC, PM or APC sequence before we give - * up and ignore the code. - * - * These all end with a String Terminator (ST, '\x9c', ESC '\\') or - * (BEL, '\x07') character, hence the "string sequence" moniker. - */ - this.maxStringSequence = 1024; - - /** - * If true, emit warnings when we encounter a control character or escape - * sequence that we don't recognize or explicitly ignore. - */ - this.warnUnimplemented = true; - - /** - * The set of available character maps (used by G0...G3 below). - */ - this.characterMaps = new hterm.VT.CharacterMaps(); - - /** - * The default G0...G3 character maps. - * We default to the US/ASCII map everywhere as that aligns with other - * terminals, and it makes it harder to accidentally switch to the graphics - * character map (Ctrl-N). Any program that wants to use the graphics map - * will usually select it anyways since there's no guarantee what state any - * of the maps are in at any particular time. - */ - this.G0 = this.G1 = this.G2 = this.G3 = - this.characterMaps.getMap('B'); - - /** - * The 7-bit visible character set. - * - * This is a mapping from inbound data to display glyph. The GL set - * contains the 94 bytes from 0x21 to 0x7e. - * - * The default GL set is 'B', US ASCII. - */ - this.GL = 'G0'; - - /** - * The 8-bit visible character set. - * - * This is a mapping from inbound data to display glyph. The GR set - * contains the 94 bytes from 0xa1 to 0xfe. - */ - this.GR = 'G0'; - - /** - * The current encoding of the terminal. - * - * We only support ECMA-35 and UTF-8, so go with a boolean here. - * The encoding can be locked too. - */ - this.codingSystemUtf8_ = false; - this.codingSystemLocked_ = false; - - // Construct a regular expression to match the known one-byte control chars. - // This is used in parseUnknown_ to quickly scan a string for the next - // control character. - this.cc1Pattern_ = null; - this.updateEncodingState_(); - - // Saved state used in DECSC. - // - // This is a place to store a copy VT state, it is *not* the active state. - this.savedState_ = new hterm.VT.CursorState(this); -}; - -/** - * No mouse events. - */ -hterm.VT.prototype.MOUSE_REPORT_DISABLED = 0; - -/** - * DECSET mode 1000. - * - * Report mouse down/up events only. - */ -hterm.VT.prototype.MOUSE_REPORT_CLICK = 1; - -/** - * DECSET mode 1002. - * - * Report mouse down/up and movement while a button is down. - */ -hterm.VT.prototype.MOUSE_REPORT_DRAG = 3; - -/** - * ParseState constructor. - * - * This object tracks the current state of the parse. It has fields for the - * current buffer, position in the buffer, and the parse function. - * - * @param {function} defaultFunc The default parser function. - * @param {string} opt_buf Optional string to use as the current buffer. - */ -hterm.VT.ParseState = function(defaultFunction, opt_buf) { - this.defaultFunction = defaultFunction; - this.buf = opt_buf || null; - this.pos = 0; - this.func = defaultFunction; - this.args = []; -}; - -/** - * Reset the parser function, buffer, and position. - */ -hterm.VT.ParseState.prototype.reset = function(opt_buf) { - this.resetParseFunction(); - this.resetBuf(opt_buf || ''); - this.resetArguments(); -}; - -/** - * Reset the parser function only. - */ -hterm.VT.ParseState.prototype.resetParseFunction = function() { - this.func = this.defaultFunction; -}; - -/** - * Reset the buffer and position only. - * - * @param {string} buf Optional new value for buf, defaults to null. - */ -hterm.VT.ParseState.prototype.resetBuf = function(opt_buf) { - this.buf = (typeof opt_buf == 'string') ? opt_buf : null; - this.pos = 0; -}; - -/** - * Reset the arguments list only. - * - * @param {string} opt_arg_zero Optional initial value for args[0]. - */ -hterm.VT.ParseState.prototype.resetArguments = function(opt_arg_zero) { - this.args.length = 0; - if (typeof opt_arg_zero != 'undefined') - this.args[0] = opt_arg_zero; -}; - -/** - * Get an argument as an integer. - * - * @param {number} argnum The argument number to retrieve. - */ -hterm.VT.ParseState.prototype.iarg = function(argnum, defaultValue) { - var str = this.args[argnum]; - if (str) { - var ret = parseInt(str, 10); - // An argument of zero is treated as the default value. - if (ret == 0) - ret = defaultValue; - return ret; - } - return defaultValue; -}; - -/** - * Advance the parse position. - * - * @param {integer} count The number of bytes to advance. - */ -hterm.VT.ParseState.prototype.advance = function(count) { - this.pos += count; -}; - -/** - * Return the remaining portion of the buffer without affecting the parse - * position. - * - * @return {string} The remaining portion of the buffer. - */ -hterm.VT.ParseState.prototype.peekRemainingBuf = function() { - return this.buf.substr(this.pos); -}; - -/** - * Return the next single character in the buffer without affecting the parse - * position. - * - * @return {string} The next character in the buffer. - */ -hterm.VT.ParseState.prototype.peekChar = function() { - return this.buf.substr(this.pos, 1); -}; - -/** - * Return the next single character in the buffer and advance the parse - * position one byte. - * - * @return {string} The next character in the buffer. - */ -hterm.VT.ParseState.prototype.consumeChar = function() { - return this.buf.substr(this.pos++, 1); -}; - -/** - * Return true if the buffer is empty, or the position is past the end. - */ -hterm.VT.ParseState.prototype.isComplete = function() { - return this.buf == null || this.buf.length <= this.pos; -}; - -hterm.VT.CursorState = function(vt) { - this.vt_ = vt; - this.save(); -}; - -hterm.VT.CursorState.prototype.save = function() { - this.cursor = this.vt_.terminal.saveCursor(); - - this.textAttributes = this.vt_.terminal.getTextAttributes().clone(); - - this.GL = this.vt_.GL; - this.GR = this.vt_.GR; - - this.G0 = this.vt_.G0; - this.G1 = this.vt_.G1; - this.G2 = this.vt_.G2; - this.G3 = this.vt_.G3; -}; - -hterm.VT.CursorState.prototype.restore = function() { - this.vt_.terminal.restoreCursor(this.cursor); - - this.vt_.terminal.setTextAttributes(this.textAttributes.clone()); - - this.vt_.GL = this.GL; - this.vt_.GR = this.GR; - - this.vt_.G0 = this.G0; - this.vt_.G1 = this.G1; - this.vt_.G2 = this.G2; - this.vt_.G3 = this.G3; -}; - -hterm.VT.prototype.reset = function() { - this.G0 = this.characterMaps.getMap('B'); - this.G1 = this.characterMaps.getMap('0'); - this.G2 = this.characterMaps.getMap('B'); - this.G3 = this.characterMaps.getMap('B'); - - this.GL = 'G0'; - this.GR = 'G0'; - - this.savedState_ = new hterm.VT.CursorState(this); - - this.mouseReport = this.MOUSE_REPORT_DISABLED; -}; - -/** - * Handle terminal mouse events. - * - * See the "Mouse Tracking" section of [xterm]. - */ -hterm.VT.prototype.onTerminalMouse_ = function(e) { - if (this.mouseReport == this.MOUSE_REPORT_DISABLED) - return; - - // Temporary storage for our response. - var response; - - // Modifier key state. - var mod = 0; - if (e.shiftKey) - mod |= 4; - if (e.metaKey || (this.terminal.keyboard.altIsMeta && e.altKey)) - mod |= 8; - if (e.ctrlKey) - mod |= 16; - - // TODO(rginda): We should also support mode 1005 and/or 1006 to extend the - // coordinate space. Though, after poking around just a little, I wasn't - // able to get vi or emacs to use either of these modes. - var x = String.fromCharCode(lib.f.clamp(e.terminalColumn + 32, 32, 255)); - var y = String.fromCharCode(lib.f.clamp(e.terminalRow + 32, 32, 255)); - - switch (e.type) { - case 'wheel': - // Mouse wheel is treated as button 1 or 2 plus an additional 64. - b = (((e.deltaY * -1) > 0) ? 0 : 1) + 96; - b |= mod; - response = '\x1b[M' + String.fromCharCode(b) + x + y; - - // Keep the terminal from scrolling. - e.preventDefault(); - break; - - case 'mousedown': - // Buttons are encoded as button number plus 32. - var b = Math.min(e.button, 2) + 32; - - // And mix in the modifier keys. - b |= mod; - - response = '\x1b[M' + String.fromCharCode(b) + x + y; - break; - - case 'mouseup': - // Mouse up has no indication of which button was released. - response = '\x1b[M\x23' + x + y; - break; - - case 'mousemove': - if (this.mouseReport == this.MOUSE_REPORT_DRAG && e.buttons) { - // Standard button bits. The XTerm protocol only reports the first - // button press (e.g. if left & right are pressed, right is ignored), - // and it only supports the first three buttons. If none of them are - // pressed, then XTerm flags it as a release. We'll do the same. - b = 32; - - // Priority here matches XTerm: left, middle, right. - if (e.buttons & 0x1) { - // Report left button. - b += 0; - } else if (e.buttons & 0x4) { - // Report middle button. - b += 1; - } else if (e.buttons & 0x2) { - // Report right button. - b += 2; - } else { - // Release higher buttons. - b += 3; - } - - // Add 32 to indicate mouse motion. - b += 32; - - // And mix in the modifier keys. - b |= mod; - - response = '\x1b[M' + String.fromCharCode(b) + x + y; - } - - break; - - case 'click': - case 'dblclick': - break; - - default: - console.error('Unknown mouse event: ' + e.type, e); - break; - } - - if (response) - this.terminal.io.sendString(response); -}; - -/** - * Interpret a string of characters, displaying the results on the associated - * terminal object. - * - * The buffer will be decoded according to the 'receive-encoding' preference. - */ -hterm.VT.prototype.interpret = function(buf) { - this.parseState_.resetBuf(this.decode(buf)); - - while (!this.parseState_.isComplete()) { - var func = this.parseState_.func; - var pos = this.parseState_.pos; - var buf = this.parseState_.buf; - - this.parseState_.func.call(this, this.parseState_); - - if (this.parseState_.func == func && this.parseState_.pos == pos && - this.parseState_.buf == buf) { - throw 'Parser did not alter the state!'; - } - } -}; - -/** - * Decode a string according to the 'receive-encoding' preference. - */ -hterm.VT.prototype.decode = function(str) { - if (this.characterEncoding == 'utf-8') - return this.decodeUTF8(str); - - return str; -}; - -/** - * Encode a UTF-16 string as UTF-8. - * - * See also: https://en.wikipedia.org/wiki/UTF-16 - */ -hterm.VT.prototype.encodeUTF8 = function(str) { - return lib.encodeUTF8(str); -}; - -/** - * Decode a UTF-8 string into UTF-16. - */ -hterm.VT.prototype.decodeUTF8 = function(str) { - return this.utf8Decoder_.decode(str); -}; - -/** - * Set the encoding of the terminal. - * - * @param {string} encoding The name of the encoding to set. - */ -hterm.VT.prototype.setEncoding = function(encoding) { - switch (encoding) { - default: - console.warn('Invalid value for "terminal-encoding": ' + encoding); - // Fall through. - case 'iso-2022': - this.codingSystemUtf8_ = false; - this.codingSystemLocked_ = false; - break; - case 'utf-8-locked': - this.codingSystemUtf8_ = true; - this.codingSystemLocked_ = true; - break; - case 'utf-8': - this.codingSystemUtf8_ = true; - this.codingSystemLocked_ = false; - break; - } - - this.updateEncodingState_(); -}; - -/** - * Refresh internal state when the encoding changes. - */ -hterm.VT.prototype.updateEncodingState_ = function() { - // If we're in UTF8 mode, don't suport 8-bit escape sequences as we'll never - // see those -- everything should be UTF8! - var cc1 = Object.keys(hterm.VT.CC1) - .filter((e) => !this.codingSystemUtf8_ || e.charCodeAt() < 0x80) - .map((e) => '\\x' + lib.f.zpad(e.charCodeAt().toString(16), 2)) - .join(''); - this.cc1Pattern_ = new RegExp(`[${cc1}]`); -}; - -/** - * The default parse function. - * - * This will scan the string for the first 1-byte control character (C0/C1 - * characters from [CTRL]). Any plain text coming before the code will be - * printed to the terminal, then the control character will be dispatched. - */ -hterm.VT.prototype.parseUnknown_ = function(parseState) { - var self = this; - - function print(str) { - if (!self.codingSystemUtf8_ && self[self.GL].GL) - str = self[self.GL].GL(str); - - self.terminal.print(str); - }; - - // Search for the next contiguous block of plain text. - var buf = parseState.peekRemainingBuf(); - var nextControl = buf.search(this.cc1Pattern_); - - if (nextControl == 0) { - // We've stumbled right into a control character. - this.dispatch('CC1', buf.substr(0, 1), parseState); - parseState.advance(1); - return; - } - - if (nextControl == -1) { - // There are no control characters in this string. - print(buf); - parseState.reset(); - return; - } - - print(buf.substr(0, nextControl)); - this.dispatch('CC1', buf.substr(nextControl, 1), parseState); - parseState.advance(nextControl + 1); -}; - -/** - * Parse a Control Sequence Introducer code and dispatch it. - * - * See [CSI] for some useful information about these codes. - */ -hterm.VT.prototype.parseCSI_ = function(parseState) { - var ch = parseState.peekChar(); - var args = parseState.args; - - if (ch >= '@' && ch <= '~') { - // This is the final character. - this.dispatch('CSI', this.leadingModifier_ + this.trailingModifier_ + ch, - parseState); - parseState.resetParseFunction(); - - } else if (ch == ';') { - // Parameter delimiter. - if (this.trailingModifier_) { - // Parameter delimiter after the trailing modifier. That's a paddlin'. - parseState.resetParseFunction(); - - } else { - if (!args.length) { - // They omitted the first param, we need to supply it. - args.push(''); - } - - args.push(''); - } - - } else if (ch >= '0' && ch <= '9') { - // Next byte in the current parameter. - - if (this.trailingModifier_) { - // Numeric parameter after the trailing modifier. That's a paddlin'. - parseState.resetParseFunction(); - } else { - if (!args.length) { - args[0] = ch; - } else { - args[args.length - 1] += ch; - } - } - - } else if (ch >= ' ' && ch <= '?' && ch != ':') { - // Modifier character. - if (!args.length) { - this.leadingModifier_ += ch; - } else { - this.trailingModifier_ += ch; - } - - } else if (this.cc1Pattern_.test(ch)) { - // Control character. - this.dispatch('CC1', ch, parseState); - - } else { - // Unexpected character in sequence, bail out. - parseState.resetParseFunction(); - } - - parseState.advance(1); -}; - -/** - * Skip over the string until the next String Terminator (ST, 'ESC \') or - * Bell (BEL, '\x07'). - * - * The string is accumulated in parseState.args[0]. Make sure to reset the - * arguments (with parseState.resetArguments) before starting the parse. - * - * You can detect that parsing in complete by checking that the parse - * function has changed back to the default parse function. - * - * If we encounter more than maxStringSequence characters, we send back - * the unterminated sequence to be re-parsed with the default parser function. - * - * @return {boolean} If true, parsing is ongoing or complete. If false, we've - * exceeded the max string sequence. - */ -hterm.VT.prototype.parseUntilStringTerminator_ = function(parseState) { - var buf = parseState.peekRemainingBuf(); - var nextTerminator = buf.search(/(\x1b\\|\x07)/); - var args = parseState.args; - - if (!args.length) { - args[0] = ''; - args[1] = new Date(); - } - - if (nextTerminator == -1) { - // No terminator here, have to wait for the next string. - - args[0] += buf; - - var abortReason; - - if (args[0].length > this.maxStringSequence) - abortReason = 'too long: ' + args[0].length; - - if (args[0].indexOf('\x1b') != -1) - abortReason = 'embedded escape: ' + args[0].indexOf('\x1b'); - - if (new Date() - args[1] > this.oscTimeLimit_) - abortReason = 'timeout expired: ' + new Date() - args[1]; - - if (abortReason) { - console.log('parseUntilStringTerminator_: aborting: ' + abortReason, - args[0]); - parseState.reset(args[0]); - return false; - } - - parseState.advance(buf.length); - return true; - } - - if (args[0].length + nextTerminator > this.maxStringSequence) { - // We found the end of the sequence, but we still think it's too long. - parseState.reset(args[0] + buf); - return false; - } - - args[0] += buf.substr(0, nextTerminator); - - parseState.resetParseFunction(); - parseState.advance(nextTerminator + - (buf.substr(nextTerminator, 1) == '\x1b' ? 2 : 1)); - - return true; -}; - -/** - * Dispatch to the function that handles a given CC1, ESC, or CSI or VT52 code. - */ -hterm.VT.prototype.dispatch = function(type, code, parseState) { - var handler = hterm.VT[type][code]; - if (!handler) { - if (this.warnUnimplemented) - console.warn('Unknown ' + type + ' code: ' + JSON.stringify(code)); - return; - } - - if (handler == hterm.VT.ignore) { - if (this.warnUnimplemented) - console.warn('Ignored ' + type + ' code: ' + JSON.stringify(code)); - return; - } - - if (type == 'CC1' && code > '\x7f' && !this.enable8BitControl) { - // It's kind of a hack to put this here, but... - // - // If we're dispatching a 'CC1' code, and it's got the eighth bit set, - // but we're not supposed to handle 8-bit codes? Just ignore it. - // - // This prevents an errant (DCS, '\x90'), (OSC, '\x9d'), (PM, '\x9e') or - // (APC, '\x9f') from locking up the terminal waiting for its expected - // (ST, '\x9c') or (BEL, '\x07'). - console.warn('Ignoring 8-bit control code: 0x' + - code.charCodeAt(0).toString(16)); - return; - } - - handler.apply(this, [parseState, code]); -}; - -/** - * Set one of the ANSI defined terminal mode bits. - * - * Invoked in response to SM/RM. - * - * Unexpected and unimplemented values are silently ignored. - */ -hterm.VT.prototype.setANSIMode = function(code, state) { - if (code == 4) { // Insert Mode (IRM) - this.terminal.setInsertMode(state); - } else if (code == 20) { // Automatic Newline (LNM) - this.terminal.setAutoCarriageReturn(state); - } else if (this.warnUnimplemented) { - console.warn('Unimplemented ANSI Mode: ' + code); - } -}; - -/** - * Set or reset one of the DEC Private modes. - * - * Invoked in response to DECSET/DECRST. - */ -hterm.VT.prototype.setDECMode = function(code, state) { - switch (parseInt(code, 10)) { - case 1: // DECCKM - this.terminal.keyboard.applicationCursor = state; - break; - - case 3: // DECCOLM - if (this.allowColumnWidthChanges_) { - this.terminal.setWidth(state ? 132 : 80); - - this.terminal.clearHome(); - this.terminal.setVTScrollRegion(null, null); - } - break; - - case 5: // DECSCNM - this.terminal.setReverseVideo(state); - break; - - case 6: // DECOM - this.terminal.setOriginMode(state); - break; - - case 7: // DECAWM - this.terminal.setWraparound(state); - break; - - case 12: // Start blinking cursor - if (this.enableDec12) - this.terminal.setCursorBlink(state); - break; - - case 25: // DECTCEM - this.terminal.setCursorVisible(state); - break; - - case 30: // Show scrollbar - this.terminal.setScrollbarVisible(state); - break; - - case 40: // Allow 80 - 132 (DECCOLM) Mode - this.terminal.allowColumnWidthChanges_ = state; - break; - - case 45: // Reverse-wraparound Mode - this.terminal.setReverseWraparound(state); - break; - - case 67: // Backarrow key sends backspace (DECBKM) - this.terminal.keyboard.backspaceSendsBackspace = state; - break; - - case 1000: // Report on mouse clicks only. - this.mouseReport = ( - state ? this.MOUSE_REPORT_CLICK : this.MOUSE_REPORT_DISABLED); - this.terminal.syncMouseStyle(); - break; - - case 1002: // Report on mouse clicks and drags - this.mouseReport = ( - state ? this.MOUSE_REPORT_DRAG : this.MOUSE_REPORT_DISABLED); - this.terminal.syncMouseStyle(); - break; - - case 1010: // Scroll to bottom on tty output - this.terminal.scrollOnOutput = state; - break; - - case 1011: // Scroll to bottom on key press - this.terminal.scrollOnKeystroke = state; - break; - - case 1036: // Send ESC when Meta modifies a key - this.terminal.keyboard.metaSendsEscape = state; - break; - - case 1039: // Send ESC when Alt modifies a key - if (state) { - if (!this.terminal.keyboard.previousAltSendsWhat_) { - this.terminal.keyboard.previousAltSendsWhat_ = - this.terminal.keyboard.altSendsWhat; - this.terminal.keyboard.altSendsWhat = 'escape'; - } - } else if (this.terminal.keyboard.previousAltSendsWhat_) { - this.terminal.keyboard.altSendsWhat = - this.terminal.keyboard.previousAltSendsWhat_; - this.terminal.keyboard.previousAltSendsWhat_ = null; - } - break; - - case 47: // Use Alternate Screen Buffer - case 1047: - this.terminal.setAlternateMode(state); - break; - - case 1048: // Save cursor as in DECSC. - this.savedState_.save(); - - case 1049: // 1047 + 1048 + clear. - if (state) { - this.savedState_.save(); - this.terminal.setAlternateMode(state); - this.terminal.clear(); - } else { - this.terminal.setAlternateMode(state); - this.savedState_.restore(); - } - - break; - - case 2004: // Bracketed paste mode. - this.terminal.setBracketedPaste(state); - break; - - default: - if (this.warnUnimplemented) - console.warn('Unimplemented DEC Private Mode: ' + code); - break; - } -}; - -/** - * Function shared by control characters and escape sequences that are - * ignored. - */ -hterm.VT.ignore = function() {}; - -/** - * Collection of control characters expressed in a single byte. - * - * This includes the characters from the C0 and C1 sets (see [CTRL]) that we - * care about. Two byte versions of the C1 codes are defined in the - * hterm.VT.ESC collection. - * - * The 'CC1' mnemonic here refers to the fact that these are one-byte Control - * Codes. It's only used in this source file and not defined in any of the - * referenced documents. - */ -hterm.VT.CC1 = {}; - -/** - * Collection of two-byte and three-byte sequences starting with ESC. - */ -hterm.VT.ESC = {}; - -/** - * Collection of CSI (Control Sequence Introducer) sequences. - * - * These sequences begin with 'ESC [', and may take zero or more arguments. - */ -hterm.VT.CSI = {}; - -/** - * Collection of OSC (Operating System Control) sequences. - * - * These sequences begin with 'ESC ]', followed by a function number and a - * string terminated by either ST or BEL. - */ -hterm.VT.OSC = {}; - -/** - * Collection of VT52 sequences. - * - * When in VT52 mode, other sequences are disabled. - */ -hterm.VT.VT52 = {}; - -/** - * Null (NUL). - * - * Silently ignored. - */ -hterm.VT.CC1['\x00'] = hterm.VT.ignore; - -/** - * Enquiry (ENQ). - * - * Transmit answerback message. - * - * The default answerback message in xterm is an empty string, so we just - * ignore this. - */ -hterm.VT.CC1['\x05'] = hterm.VT.ignore; - -/** - * Ring Bell (BEL). - */ -hterm.VT.CC1['\x07'] = function() { - this.terminal.ringBell(); -}; - -/** - * Backspace (BS). - * - * Move the cursor to the left one character position, unless it is at the - * left margin, in which case no action occurs. - */ -hterm.VT.CC1['\x08'] = function() { - this.terminal.cursorLeft(1); -}; - -/** - * Horizontal Tab (HT). - * - * Move the cursor to the next tab stop, or to the right margin if no further - * tab stops are present on the line. - */ -hterm.VT.CC1['\x09'] = function() { - this.terminal.forwardTabStop(); -}; - -/** - * Line Feed (LF). - * - * This code causes a line feed or a new line operation. See Automatic - * Newline (LNM). - */ -hterm.VT.CC1['\x0a'] = function() { - this.terminal.formFeed(); -}; - -/** - * Vertical Tab (VT). - * - * Interpreted as LF. - */ -hterm.VT.CC1['\x0b'] = hterm.VT.CC1['\x0a']; - -/** - * Form Feed (FF). - * - * Interpreted as LF. - */ -hterm.VT.CC1['\x0c'] = hterm.VT.CC1['\x0a']; - -/** - * Carriage Return (CR). - * - * Move cursor to the left margin on the current line. - */ -hterm.VT.CC1['\x0d'] = function() { - this.terminal.setCursorColumn(0); -}; - -/** - * Shift Out (SO), aka Lock Shift 0 (LS1). - * - * Invoke G1 character set in GL. - */ -hterm.VT.CC1['\x0e'] = function() { - this.GL = 'G1'; -}; - -/** - * Shift In (SI), aka Lock Shift 0 (LS0). - * - * Invoke G0 character set in GL. - */ -hterm.VT.CC1['\x0f'] = function() { - this.GL = 'G0'; -}; - -/** - * Transmit On (XON). - * - * Not currently implemented. - * - * TODO(rginda): Implement? - */ -hterm.VT.CC1['\x11'] = hterm.VT.ignore; - -/** - * Transmit Off (XOFF). - * - * Not currently implemented. - * - * TODO(rginda): Implement? - */ -hterm.VT.CC1['\x13'] = hterm.VT.ignore; - -/** - * Cancel (CAN). - * - * If sent during a control sequence, the sequence is immediately terminated - * and not executed. - * - * It also causes the error character to be displayed. - */ -hterm.VT.CC1['\x18'] = function(parseState) { - // If we've shifted in the G1 character set, shift it back out to - // the default character set. - if (this.GL == 'G1') { - this.GL = 'G0'; - } - parseState.resetParseFunction(); - this.terminal.print('?'); -}; - -/** - * Substitute (SUB). - * - * Interpreted as CAN. - */ -hterm.VT.CC1['\x1a'] = hterm.VT.CC1['\x18']; - -/** - * Escape (ESC). - */ -hterm.VT.CC1['\x1b'] = function(parseState) { - function parseESC(parseState) { - var ch = parseState.consumeChar(); - - if (ch == '\x1b') - return; - - this.dispatch('ESC', ch, parseState); - - if (parseState.func == parseESC) - parseState.resetParseFunction(); - }; - - parseState.func = parseESC; -}; - -/** - * Delete (DEL). - */ -hterm.VT.CC1['\x7f'] = hterm.VT.ignore; - -// 8 bit control characters and their two byte equivalents, below... - -/** - * Index (IND). - * - * Like newline, only keep the X position - */ -hterm.VT.CC1['\x84'] = -hterm.VT.ESC['D'] = function() { - this.terminal.lineFeed(); -}; - -/** - * Next Line (NEL). - * - * Like newline, but doesn't add lines. - */ -hterm.VT.CC1['\x85'] = -hterm.VT.ESC['E'] = function() { - this.terminal.setCursorColumn(0); - this.terminal.cursorDown(1); -}; - -/** - * Horizontal Tabulation Set (HTS). - */ -hterm.VT.CC1['\x88'] = -hterm.VT.ESC['H'] = function() { - this.terminal.setTabStop(this.terminal.getCursorColumn()); -}; - -/** - * Reverse Index (RI). - * - * Move up one line. - */ -hterm.VT.CC1['\x8d'] = -hterm.VT.ESC['M'] = function() { - this.terminal.reverseLineFeed(); -}; - -/** - * Single Shift 2 (SS2). - * - * Select of G2 Character Set for the next character only. - * - * Not currently implemented. - */ -hterm.VT.CC1['\x8e'] = -hterm.VT.ESC['N'] = hterm.VT.ignore; - -/** - * Single Shift 3 (SS3). - * - * Select of G3 Character Set for the next character only. - * - * Not currently implemented. - */ -hterm.VT.CC1['\x8f'] = -hterm.VT.ESC['O'] = hterm.VT.ignore; - -/** - * Device Control String (DCS). - * - * Indicate a DCS sequence. See Device-Control functions in [XTERM]. - * Not currently implemented. - * - * TODO(rginda): Consider implementing DECRQSS, the rest don't seem applicable. - */ -hterm.VT.CC1['\x90'] = -hterm.VT.ESC['P'] = function(parseState) { - parseState.resetArguments(); - parseState.func = this.parseUntilStringTerminator_; -}; - -/** - * Start of Guarded Area (SPA). - * - * Will not implement. - */ -hterm.VT.CC1['\x96'] = -hterm.VT.ESC['V'] = hterm.VT.ignore; - -/** - * End of Guarded Area (EPA). - * - * Will not implement. - */ -hterm.VT.CC1['\x97'] = -hterm.VT.ESC['W'] = hterm.VT.ignore; - -/** - * Start of String (SOS). - * - * Will not implement. - */ -hterm.VT.CC1['\x98'] = -hterm.VT.ESC['X'] = hterm.VT.ignore; - -/** - * Single Character Introducer (SCI, also DECID). - * - * Return Terminal ID. Obsolete form of 'ESC [ c' (DA). - */ -hterm.VT.CC1['\x9a'] = -hterm.VT.ESC['Z'] = function() { - this.terminal.io.sendString('\x1b[?1;2c'); -}; - -/** - * Control Sequence Introducer (CSI). - * - * The lead into most escape sequences. See [CSI]. - */ -hterm.VT.CC1['\x9b'] = -hterm.VT.ESC['['] = function(parseState) { - parseState.resetArguments(); - this.leadingModifier_ = ''; - this.trailingModifier_ = ''; - parseState.func = this.parseCSI_; -}; - -/** - * String Terminator (ST). - * - * Used to terminate DCS/OSC/PM/APC commands which may take string arguments. - * - * We don't directly handle it here, as it's only used to terminate other - * sequences. See the 'parseUntilStringTerminator_' method. - */ -hterm.VT.CC1['\x9c'] = -hterm.VT.ESC['\\'] = hterm.VT.ignore; - -/** - * Operating System Command (OSC). - * - * Commands relating to the operating system. - */ -hterm.VT.CC1['\x9d'] = -hterm.VT.ESC[']'] = function(parseState) { - parseState.resetArguments(); - - function parseOSC(parseState) { - if (!this.parseUntilStringTerminator_(parseState)) { - // The string sequence was too long. - return; - } - - if (parseState.func == parseOSC) { - // We're not done parsing the string yet. - return; - } - - // We're done. - var ary = parseState.args[0].match(/^(\d+);(.*)$/); - if (ary) { - parseState.args[0] = ary[2]; - this.dispatch('OSC', ary[1], parseState); - } else { - console.warn('Invalid OSC: ' + JSON.stringify(parseState.args[0])); - } - }; - - parseState.func = parseOSC; -}; - -/** - * Privacy Message (PM). - * - * Will not implement. - */ -hterm.VT.CC1['\x9e'] = -hterm.VT.ESC['^'] = function(parseState) { - parseState.resetArguments(); - parseState.func = this.parseUntilStringTerminator_; -}; - -/** - * Application Program Control (APC). - * - * Will not implement. - */ -hterm.VT.CC1['\x9f'] = -hterm.VT.ESC['_'] = function(parseState) { - parseState.resetArguments(); - parseState.func = this.parseUntilStringTerminator_; -}; - -/** - * ESC \x20 - Unclear to me where these originated, possibly in xterm. - * - * Not currently implemented: - * ESC \x20 F - Select 7 bit escape codes in responses (S7C1T). - * ESC \x20 G - Select 8 bit escape codes in responses (S8C1T). - * NB: We currently assume S7C1T always. - * - * Will not implement: - * ESC \x20 L - Set ANSI conformance level 1. - * ESC \x20 M - Set ANSI conformance level 2. - * ESC \x20 N - Set ANSI conformance level 3. - */ -hterm.VT.ESC['\x20'] = function(parseState) { - parseState.func = function(parseState) { - var ch = parseState.consumeChar(); - if (this.warnUnimplemented) - console.warn('Unimplemented sequence: ESC 0x20 ' + ch); - parseState.resetParseFunction(); - }; -}; - -/** - * DEC 'ESC #' sequences. - */ -hterm.VT.ESC['#'] = function(parseState) { - parseState.func = function(parseState) { - var ch = parseState.consumeChar(); - if (ch == '8') // DEC Screen Alignment Test (DECALN) - this.terminal.fill('E'); - - parseState.resetParseFunction(); - }; -}; - -/** - * Designate Other Coding System (DOCS). - */ -hterm.VT.ESC['%'] = function(parseState) { - parseState.func = function(parseState) { - var ch = parseState.consumeChar(); - - // If we've locked the encoding, then just eat the bytes and return. - if (this.codingSystemLocked_) { - if (ch == '/') - parseState.consumeChar(); - parseState.resetParseFunction(); - return; - } - - // Process the encoding requests. - switch (ch) { - case '@': - // Switch to ECMA 35. - this.setEncoding('iso-2022'); - break; - - case 'G': - // Switch to UTF-8. - this.setEncoding('utf-8'); - break; - - case '/': - // One way transition to something else. - ch = parseState.consumeChar(); - switch (ch) { - case 'G': // UTF-8 Level 1. - case 'H': // UTF-8 Level 2. - case 'I': // UTF-8 Level 3. - // We treat all UTF-8 levels the same. - this.setEncoding('utf-8-locked'); - break; - - default: - if (this.warnUnimplemented) - console.warn('Unknown ESC % / argument: ' + JSON.stringify(ch)); - break; - } - break; - - default: - if (this.warnUnimplemented) - console.warn('Unknown ESC % argument: ' + JSON.stringify(ch)); - break; - } - - parseState.resetParseFunction(); - }; -}; - -/** - * Character Set Selection (SCS). - * - * ESC ( Ps - Set G0 character set (VT100). - * ESC ) Ps - Set G1 character set (VT220). - * ESC * Ps - Set G2 character set (VT220). - * ESC + Ps - Set G3 character set (VT220). - * ESC - Ps - Set G1 character set (VT300). - * ESC . Ps - Set G2 character set (VT300). - * ESC / Ps - Set G3 character set (VT300). - * - * All other sequences are echoed to the terminal. - */ -hterm.VT.ESC['('] = -hterm.VT.ESC[')'] = -hterm.VT.ESC['*'] = -hterm.VT.ESC['+'] = -hterm.VT.ESC['-'] = -hterm.VT.ESC['.'] = -hterm.VT.ESC['/'] = function(parseState, code) { - parseState.func = function(parseState) { - var ch = parseState.consumeChar(); - if (ch == '\x1b') { - parseState.resetParseFunction(); - parseState.func(); - return; - } - - var map = this.characterMaps.getMap(ch); - if (map !== undefined) { - if (code == '(') { - this.G0 = map; - } else if (code == ')' || code == '-') { - this.G1 = map; - } else if (code == '*' || code == '.') { - this.G2 = map; - } else if (code == '+' || code == '/') { - this.G3 = map; - } - } else if (this.warnUnimplemented) { - console.log('Invalid character set for "' + code + '": ' + ch); - } - - parseState.resetParseFunction(); - }; -}; - -/** - * Back Index (DECBI). - * - * VT420 and up. Not currently implemented. - */ -hterm.VT.ESC['6'] = hterm.VT.ignore; - -/** - * Save Cursor (DECSC). - */ -hterm.VT.ESC['7'] = function() { - this.savedState_.save(); -}; - -/** - * Restore Cursor (DECRC). - */ -hterm.VT.ESC['8'] = function() { - this.savedState_.restore(); -}; - -/** - * Forward Index (DECFI). - * - * VT210 and up. Not currently implemented. - */ -hterm.VT.ESC['9'] = hterm.VT.ignore; - -/** - * Application keypad (DECKPAM). - */ -hterm.VT.ESC['='] = function() { - this.terminal.keyboard.applicationKeypad = true; -}; - -/** - * Normal keypad (DECKPNM). - */ -hterm.VT.ESC['>'] = function() { - this.terminal.keyboard.applicationKeypad = false; -}; - -/** - * Cursor to lower left corner of screen. - * - * Will not implement. - * - * This is only recognized by xterm when the hpLowerleftBugCompat resource is - * set. - */ -hterm.VT.ESC['F'] = hterm.VT.ignore; - -/** - * Full Reset (RIS). - */ -hterm.VT.ESC['c'] = function() { - this.reset(); - this.terminal.reset(); -}; - -/** - * Memory lock/unlock. - * - * Will not implement. - */ -hterm.VT.ESC['l'] = -hterm.VT.ESC['m'] = hterm.VT.ignore; - -/** - * Lock Shift 2 (LS2) - * - * Invoke the G2 Character Set as GL. - */ -hterm.VT.ESC['n'] = function() { - this.GL = 'G2'; -}; - -/** - * Lock Shift 3 (LS3) - * - * Invoke the G3 Character Set as GL. - */ -hterm.VT.ESC['o'] = function() { - this.GL = 'G3'; -}; - -/** - * Lock Shift 2, Right (LS3R) - * - * Invoke the G3 Character Set as GR. - */ -hterm.VT.ESC['|'] = function() { - this.GR = 'G3'; -}; - -/** - * Lock Shift 2, Right (LS2R) - * - * Invoke the G2 Character Set as GR. - */ -hterm.VT.ESC['}'] = function() { - this.GR = 'G2'; -}; - -/** - * Lock Shift 1, Right (LS1R) - * - * Invoke the G1 Character Set as GR. - */ -hterm.VT.ESC['~'] = function() { - this.GR = 'G1'; -}; - -/** - * Change icon name and window title. - * - * We only change the window title. - */ -hterm.VT.OSC['0'] = function(parseState) { - this.terminal.setWindowTitle(parseState.args[0]); -}; - -/** - * Change window title. - */ -hterm.VT.OSC['2'] = hterm.VT.OSC['0']; - -/** - * Set/read color palette. - */ -hterm.VT.OSC['4'] = function(parseState) { - // Args come in as a single 'index1;rgb1 ... ;indexN;rgbN' string. - // We split on the semicolon and iterate through the pairs. - var args = parseState.args[0].split(';'); - - var pairCount = parseInt(args.length / 2); - var colorPalette = this.terminal.getTextAttributes().colorPalette; - var responseArray = []; - - for (var pairNumber = 0; pairNumber < pairCount; ++pairNumber) { - var colorIndex = parseInt(args[pairNumber * 2]); - var colorValue = args[pairNumber * 2 + 1]; - - if (colorIndex >= colorPalette.length) - continue; - - if (colorValue == '?') { - // '?' means we should report back the current color value. - colorValue = lib.colors.rgbToX11(colorPalette[colorIndex]); - if (colorValue) - responseArray.push(colorIndex + ';' + colorValue); - - continue; - } - - colorValue = lib.colors.x11ToCSS(colorValue); - if (colorValue) - colorPalette[colorIndex] = colorValue; - } - - if (responseArray.length) - this.terminal.io.sendString('\x1b]4;' + responseArray.join(';') + '\x07'); -}; - -/** - * iTerm2 growl notifications. - */ -hterm.VT.OSC['9'] = function(parseState) { - // This just dumps the entire string as the message. - hterm.notify({'body': parseState.args[0]}); -}; - -/** - * Change VT100 text foreground color. - */ -hterm.VT.OSC['10'] = function(parseState) { - // Args come in as a single string, but extra args will chain to the following - // OSC sequences. - var args = parseState.args[0].split(';'); - if (!args) - return; - - var colorArg; - var colorX11 = lib.colors.x11ToCSS(args.shift()); - if (colorX11) - this.terminal.setForegroundColor(colorX11); - - if (args.length > 0) { - parseState.args[0] = args.join(';'); - hterm.VT.OSC['11'].apply(this, [parseState]); - } -}; - -/** - * Change VT100 text background color. - */ -hterm.VT.OSC['11'] = function(parseState) { - // Args come in as a single string, but extra args will chain to the following - // OSC sequences. - var args = parseState.args[0].split(';'); - if (!args) - return; - - var colorArg; - var colorX11 = lib.colors.x11ToCSS(args.shift()); - if (colorX11) - this.terminal.setBackgroundColor(colorX11); - - /* Note: If we support OSC 12+, we'd chain it here. - if (args.length > 0) { - parseState.args[0] = args.join(';'); - hterm.VT.OSC['12'].apply(this, [parseState]); - } - */ -}; - -/** - * Set the cursor shape. - * - * Parameter is expected to be in the form "CursorShape=number", where number is - * one of: - * - * 0 - Block - * 1 - I-Beam - * 2 - Underline - * - * This is a bit of a de-facto standard supported by iTerm 2 and Konsole. See - * also: DECSCUSR. - * - * Invalid numbers will restore the cursor to the block shape. - */ -hterm.VT.OSC['50'] = function(parseState) { - var args = parseState.args[0].match(/CursorShape=(.)/i); - if (!args) { - console.warn('Could not parse OSC 50 args: ' + parseState.args[0]); - return; - } - - switch (args[1]) { - case '1': // CursorShape=1: I-Beam. - this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM); - break; - - case '2': // CursorShape=2: Underline. - this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE); - break; - - default: // CursorShape=0: Block. - this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK); - } -}; - -/** - * Set/read system clipboard. - * - * Read is not implemented due to security considerations. A remote app - * that is able to both write and read to the clipboard could essentially - * take over your session. - * - * The clipboard data will be decoded according to the 'receive-encoding' - * preference. - */ -hterm.VT.OSC['52'] = function(parseState) { - // Args come in as a single 'clipboard;b64-data' string. The clipboard - // parameter is used to select which of the X clipboards to address. Since - // we're not integrating with X, we treat them all the same. - var args = parseState.args[0].match(/^[cps01234567]*;(.*)/); - if (!args) - return; - - var data = window.atob(args[1]); - if (data) - this.terminal.copyStringToClipboard(this.decode(data)); -}; - -/** - * URxvt perl modules. - * - * This is the escape system used by rxvt-unicode and its perl modules. - * Obviously we don't support perl or custom modules, so we list a few common - * ones that we find useful. - * - * Technically there is no format here, but most modules obey: - * ; - */ -hterm.VT.OSC['777'] = function(parseState) { - var ary; - var urxvtMod = parseState.args[0].split(';', 1)[0]; - - switch (urxvtMod) { - case 'notify': - // Format: - // notify;title;message - var title, message; - ary = parseState.args[0].match(/^[^;]+;([^;]*)(;([\s\S]*))?$/); - if (ary) { - title = ary[1]; - message = ary[3]; - } - hterm.notify({'title': title, 'body': message}); - break; - - default: - console.warn('Unknown urxvt module: ' + parseState.args[0]); - break; - } -}; - -/** - * Insert (blank) characters (ICH). - */ -hterm.VT.CSI['@'] = function(parseState) { - this.terminal.insertSpace(parseState.iarg(0, 1)); -}; - -/** - * Cursor Up (CUU). - */ -hterm.VT.CSI['A'] = function(parseState) { - this.terminal.cursorUp(parseState.iarg(0, 1)); -}; - -/** - * Cursor Down (CUD). - */ -hterm.VT.CSI['B'] = function(parseState) { - this.terminal.cursorDown(parseState.iarg(0, 1)); -}; - -/** - * Cursor Forward (CUF). - */ -hterm.VT.CSI['C'] = function(parseState) { - this.terminal.cursorRight(parseState.iarg(0, 1)); -}; - -/** - * Cursor Backward (CUB). - */ -hterm.VT.CSI['D'] = function(parseState) { - this.terminal.cursorLeft(parseState.iarg(0, 1)); -}; - -/** - * Cursor Next Line (CNL). - * - * This is like Cursor Down, except the cursor moves to the beginning of the - * line as well. - */ -hterm.VT.CSI['E'] = function(parseState) { - this.terminal.cursorDown(parseState.iarg(0, 1)); - this.terminal.setCursorColumn(0); -}; - -/** - * Cursor Preceding Line (CPL). - * - * This is like Cursor Up, except the cursor moves to the beginning of the - * line as well. - */ -hterm.VT.CSI['F'] = function(parseState) { - this.terminal.cursorUp(parseState.iarg(0, 1)); - this.terminal.setCursorColumn(0); -}; - -/** - * Cursor Character Absolute (CHA). - */ -hterm.VT.CSI['G'] = function(parseState) { - this.terminal.setCursorColumn(parseState.iarg(0, 1) - 1); -}; - -/** - * Cursor Position (CUP). - */ -hterm.VT.CSI['H'] = function(parseState) { - this.terminal.setCursorPosition(parseState.iarg(0, 1) - 1, - parseState.iarg(1, 1) - 1); -}; - -/** - * Cursor Forward Tabulation (CHT). - */ -hterm.VT.CSI['I'] = function(parseState) { - var count = parseState.iarg(0, 1); - count = lib.f.clamp(count, 1, this.terminal.screenSize.width); - for (var i = 0; i < count; i++) { - this.terminal.forwardTabStop(); - } -}; - -/** - * Erase in Display (ED, DECSED). - */ -hterm.VT.CSI['J'] = -hterm.VT.CSI['?J'] = function(parseState, code) { - var arg = parseState.args[0]; - - if (!arg || arg == 0) { - this.terminal.eraseBelow(); - } else if (arg == 1) { - this.terminal.eraseAbove(); - } else if (arg == 2) { - this.terminal.clear(); - } else if (arg == 3) { - // The xterm docs say this means "Erase saved lines", but we'll just clear - // the display since killing the scrollback seems rude. - this.terminal.clear(); - } -}; - -/** - * Erase in line (EL, DECSEL). - */ -hterm.VT.CSI['K'] = -hterm.VT.CSI['?K'] = function(parseState, code) { - var arg = parseState.args[0]; - - if (!arg || arg == 0) { - this.terminal.eraseToRight(); - } else if (arg == 1) { - this.terminal.eraseToLeft(); - } else if (arg == 2) { - this.terminal.eraseLine(); - } -}; - -/** - * Insert Lines (IL). - */ -hterm.VT.CSI['L'] = function(parseState) { - this.terminal.insertLines(parseState.iarg(0, 1)); -}; - -/** - * Delete Lines (DL). - */ -hterm.VT.CSI['M'] = function(parseState) { - this.terminal.deleteLines(parseState.iarg(0, 1)); -}; - -/** - * Delete Characters (DCH). - * - * This command shifts the line contents left, starting at the cursor position. - */ -hterm.VT.CSI['P'] = function(parseState) { - this.terminal.deleteChars(parseState.iarg(0, 1)); -}; - -/** - * Scroll Up (SU). - */ -hterm.VT.CSI['S'] = function(parseState) { - this.terminal.vtScrollUp(parseState.iarg(0, 1)); -}; - -/** - * Scroll Down (SD). - * Also 'Initiate highlight mouse tracking'. Will not implement this part. - */ -hterm.VT.CSI['T'] = function(parseState) { - if (parseState.args.length <= 1) - this.terminal.vtScrollDown(parseState.iarg(0, 1)); -}; - -/** - * Reset one or more features of the title modes to the default value. - * - * ESC [ > Ps T - * - * Normally, "reset" disables the feature. It is possible to disable the - * ability to reset features by compiling a different default for the title - * modes into xterm. - * - * Ps values: - * 0 - Do not set window/icon labels using hexadecimal. - * 1 - Do not query window/icon labels using hexadecimal. - * 2 - Do not set window/icon labels using UTF-8. - * 3 - Do not query window/icon labels using UTF-8. - * - * Will not implement. - */ -hterm.VT.CSI['>T'] = hterm.VT.ignore; - -/** - * Erase Characters (ECH). - */ -hterm.VT.CSI['X'] = function(parseState) { - this.terminal.eraseToRight(parseState.iarg(0, 1)); -}; - -/** - * Cursor Backward Tabulation (CBT). - */ -hterm.VT.CSI['Z'] = function(parseState) { - var count = parseState.iarg(0, 1); - count = lib.f.clamp(count, 1, this.terminal.screenSize.width); - for (var i = 0; i < count; i++) { - this.terminal.backwardTabStop(); - } -}; - -/** - * Character Position Absolute (HPA). - * - * Same as Cursor Character Absolute (CHA). - */ -hterm.VT.CSI['`'] = hterm.VT.CSI['G']; - -/** - * Character Position Relative (HPR). - */ -hterm.VT.CSI['a'] = function(parseState) { - this.terminal.setCursorColumn(this.terminal.getCursorColumn() + - parseState.iarg(0, 1)); -}; - -/** - * Repeat the preceding graphic character. - * - * Not currently implemented. - */ -hterm.VT.CSI['b'] = hterm.VT.ignore; - -/** - * Send Device Attributes (Primary DA). - * - * TODO(rginda): This is hardcoded to send back 'VT100 with Advanced Video - * Option', but it may be more correct to send a VT220 response once - * we fill out the 'Not currently implemented' parts. - */ -hterm.VT.CSI['c'] = function(parseState) { - if (!parseState.args[0] || parseState.args[0] == 0) { - this.terminal.io.sendString('\x1b[?1;2c'); - } -}; - -/** - * Send Device Attributes (Secondary DA). - * - * TODO(rginda): This is hardcoded to send back 'VT100' but it may be more - * correct to send a VT220 response once we fill out more 'Not currently - * implemented' parts. - */ -hterm.VT.CSI['>c'] = function(parseState) { - this.terminal.io.sendString('\x1b[>0;256;0c'); -}; - -/** - * Line Position Absolute (VPA). - */ -hterm.VT.CSI['d'] = function(parseState) { - this.terminal.setAbsoluteCursorRow(parseState.iarg(0, 1) - 1); -}; - -/** - * Horizontal and Vertical Position (HVP). - * - * Same as Cursor Position (CUP). - */ -hterm.VT.CSI['f'] = hterm.VT.CSI['H']; - -/** - * Tab Clear (TBC). - */ -hterm.VT.CSI['g'] = function(parseState) { - if (!parseState.args[0] || parseState.args[0] == 0) { - // Clear tab stop at cursor. - this.terminal.clearTabStopAtCursor(false); - } else if (parseState.args[0] == 3) { - // Clear all tab stops. - this.terminal.clearAllTabStops(); - } -}; - -/** - * Set Mode (SM). - */ -hterm.VT.CSI['h'] = function(parseState) { - for (var i = 0; i < parseState.args.length; i++) { - this.setANSIMode(parseState.args[i], true); - } -}; - -/** - * DEC Private Mode Set (DECSET). - */ -hterm.VT.CSI['?h'] = function(parseState) { - for (var i = 0; i < parseState.args.length; i++) { - this.setDECMode(parseState.args[i], true); - } -}; - -/** - * Media Copy (MC). - * Media Copy (MC, DEC Specific). - * - * These commands control the printer. Will not implement. - */ -hterm.VT.CSI['i'] = -hterm.VT.CSI['?i'] = hterm.VT.ignore; - -/** - * Reset Mode (RM). - */ -hterm.VT.CSI['l'] = function(parseState) { - for (var i = 0; i < parseState.args.length; i++) { - this.setANSIMode(parseState.args[i], false); - } -}; - -/** - * DEC Private Mode Reset (DECRST). - */ -hterm.VT.CSI['?l'] = function(parseState) { - for (var i = 0; i < parseState.args.length; i++) { - this.setDECMode(parseState.args[i], false); - } -}; - -/** - * Character Attributes (SGR). - * - * Iterate through the list of arguments, applying the attribute changes based - * on the argument value... - */ -hterm.VT.CSI['m'] = function(parseState) { - function get256(i) { - if (parseState.args.length < i + 2 || parseState.args[i + 1] != 5) - return null; - - return parseState.iarg(i + 2, 0); - } - - function getTrueColor(i) { - if (parseState.args.length < i + 5 || parseState.args[i + 1] != 2) - return null; - var r = parseState.iarg(i + 2, 0); - var g = parseState.iarg(i + 3, 0); - var b = parseState.iarg(i + 4, 0); - - return 'rgb(' + r + ' ,' + g + ' ,' + b + ')'; - } - - var attrs = this.terminal.getTextAttributes(); - - if (!parseState.args.length) { - attrs.reset(); - return; - } - - for (var i = 0; i < parseState.args.length; i++) { - var arg = parseState.iarg(i, 0); - - if (arg < 30) { - if (arg == 0) { // Normal (default). - attrs.reset(); - } else if (arg == 1) { // Bold. - attrs.bold = true; - } else if (arg == 2) { // Faint. - attrs.faint = true; - } else if (arg == 3) { // Italic. - attrs.italic = true; - } else if (arg == 4) { // Underline. - attrs.underline = true; - } else if (arg == 5) { // Blink. - attrs.blink = true; - } else if (arg == 7) { // Inverse. - attrs.inverse = true; - } else if (arg == 8) { // Invisible. - attrs.invisible = true; - } else if (arg == 9) { // Crossed out. - attrs.strikethrough = true; - } else if (arg == 22) { // Not bold & not faint. - attrs.bold = false; - attrs.faint = false; - } else if (arg == 23) { // Not italic. - attrs.italic = false; - } else if (arg == 24) { // Not underlined. - attrs.underline = false; - } else if (arg == 25) { // Not blink. - attrs.blink = false; - } else if (arg == 27) { // Steady. - attrs.inverse = false; - } else if (arg == 28) { // Visible. - attrs.invisible = false; - } else if (arg == 29) { // Not crossed out. - attrs.strikethrough = false; - } - - } else if (arg < 50) { - // Select fore/background color from bottom half of 16 color palette - // or from the 256 color palette or alternative specify color in fully - // qualified rgb(r, g, b) form. - if (arg < 38) { - attrs.foregroundSource = arg - 30; - - } else if (arg == 38) { - // First check for true color definition - var trueColor = getTrueColor(i); - if (trueColor != null) { - attrs.foregroundSource = attrs.SRC_RGB; - attrs.foreground = trueColor; - - i += 5; - } else { - // Check for 256 color - var c = get256(i); - if (c == null) - break; - - i += 2; - - if (c >= attrs.colorPalette.length) - continue; - - attrs.foregroundSource = c; - } - - } else if (arg == 39) { - attrs.foregroundSource = attrs.SRC_DEFAULT; - - } else if (arg < 48) { - attrs.backgroundSource = arg - 40; - - } else if (arg == 48) { - // First check for true color definition - var trueColor = getTrueColor(i); - if (trueColor != null) { - attrs.backgroundSource = attrs.SRC_RGB; - attrs.background = trueColor; - - i += 5; - } else { - // Check for 256 color - var c = get256(i); - if (c == null) - break; - - i += 2; - - if (c >= attrs.colorPalette.length) - continue; - - attrs.backgroundSource = c; - } - } else { - attrs.backgroundSource = attrs.SRC_DEFAULT; - } - - } else if (arg >= 90 && arg <= 97) { - attrs.foregroundSource = arg - 90 + 8; - - } else if (arg >= 100 && arg <= 107) { - attrs.backgroundSource = arg - 100 + 8; - } - } - - attrs.setDefaults(this.terminal.getForegroundColor(), - this.terminal.getBackgroundColor()); -}; - -/** - * Set xterm-specific keyboard modes. - * - * Will not implement. - */ -hterm.VT.CSI['>m'] = hterm.VT.ignore; - -/** - * Device Status Report (DSR, DEC Specific). - * - * 5 - Status Report. Result (OK) is CSI 0 n - * 6 - Report Cursor Position (CPR) [row;column]. Result is CSI r ; c R - */ -hterm.VT.CSI['n'] = function(parseState) { - if (parseState.args[0] == 5) { - this.terminal.io.sendString('\x1b0n'); - } else if (parseState.args[0] == 6) { - var row = this.terminal.getCursorRow() + 1; - var col = this.terminal.getCursorColumn() + 1; - this.terminal.io.sendString('\x1b[' + row + ';' + col + 'R'); - } -}; - -/** - * Disable modifiers which may be enabled via CSI['>m']. - * - * Will not implement. - */ -hterm.VT.CSI['>n'] = hterm.VT.ignore; - -/** - * Device Status Report (DSR, DEC Specific). - * - * 6 - Report Cursor Position (CPR) [row;column] as CSI ? r ; c R - * 15 - Report Printer status as CSI ? 1 0 n (ready) or - * CSI ? 1 1 n (not ready). - * 25 - Report UDK status as CSI ? 2 0 n (unlocked) or CSI ? 2 1 n (locked). - * 26 - Report Keyboard status as CSI ? 2 7 ; 1 ; 0 ; 0 n (North American). - * The last two parameters apply to VT400 & up, and denote keyboard ready - * and LK01 respectively. - * 53 - Report Locator status as CSI ? 5 3 n Locator available, if compiled-in, - * or CSI ? 5 0 n No Locator, if not. - */ -hterm.VT.CSI['?n'] = function(parseState) { - if (parseState.args[0] == 6) { - var row = this.terminal.getCursorRow() + 1; - var col = this.terminal.getCursorColumn() + 1; - this.terminal.io.sendString('\x1b[' + row + ';' + col + 'R'); - } else if (parseState.args[0] == 15) { - this.terminal.io.sendString('\x1b[?11n'); - } else if (parseState.args[0] == 25) { - this.terminal.io.sendString('\x1b[?21n'); - } else if (parseState.args[0] == 26) { - this.terminal.io.sendString('\x1b[?12;1;0;0n'); - } else if (parseState.args[0] == 53) { - this.terminal.io.sendString('\x1b[?50n'); - } -}; - -/** - * This is used by xterm to decide whether to hide the pointer cursor as the - * user types. - * - * Valid values for the parameter: - * 0 - Never hide the pointer. - * 1 - Hide if the mouse tracking mode is not enabled. - * 2 - Always hide the pointer. - * - * If no parameter is given, xterm uses the default, which is 1. - * - * Not currently implemented. - */ -hterm.VT.CSI['>p'] = hterm.VT.ignore; - -/** - * Soft terminal reset (DECSTR). - */ -hterm.VT.CSI['!p'] = function() { - this.reset(); - this.terminal.softReset(); -}; - -/** - * Request ANSI Mode (DECRQM). - * - * Not currently implemented. - */ -hterm.VT.CSI['$p'] = hterm.VT.ignore; -hterm.VT.CSI['?$p'] = hterm.VT.ignore; - -/** - * Set conformance level (DECSCL). - * - * Not currently implemented. - */ -hterm.VT.CSI['"p'] = hterm.VT.ignore; - -/** - * Load LEDs (DECLL). - * - * Not currently implemented. Could be implemented as virtual LEDs overlaying - * the terminal if anyone cares. - */ -hterm.VT.CSI['q'] = hterm.VT.ignore; - -/** - * Set cursor style (DECSCUSR, VT520). - */ -hterm.VT.CSI[' q'] = function(parseState) { - var arg = parseState.args[0]; - - if (arg == 0 || arg == 1) { - this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK); - this.terminal.setCursorBlink(true); - } else if (arg == 2) { - this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK); - this.terminal.setCursorBlink(false); - } else if (arg == 3) { - this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE); - this.terminal.setCursorBlink(true); - } else if (arg == 4) { - this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE); - this.terminal.setCursorBlink(false); - } else if (arg == 5) { - this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM); - this.terminal.setCursorBlink(true); - } else if (arg == 6) { - this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM); - this.terminal.setCursorBlink(false); - } else { - console.warn('Unknown cursor style: ' + arg); - } -}; - -/** - * Select character protection attribute (DECSCA). - * - * Will not implement. - */ -hterm.VT.CSI['"q'] = hterm.VT.ignore; - -/** - * Set Scrolling Region (DECSTBM). - */ -hterm.VT.CSI['r'] = function(parseState) { - var args = parseState.args; - var scrollTop = args[0] ? parseInt(args[0], 10) -1 : null; - var scrollBottom = args[1] ? parseInt(args[1], 10) - 1 : null; - this.terminal.setVTScrollRegion(scrollTop, scrollBottom); - this.terminal.setCursorPosition(0, 0); -}; - -/** - * Restore DEC Private Mode Values. - * - * Will not implement. - */ -hterm.VT.CSI['?r'] = hterm.VT.ignore; - -/** - * Change Attributes in Rectangular Area (DECCARA) - * - * Will not implement. - */ -hterm.VT.CSI['$r'] = hterm.VT.ignore; - -/** - * Save cursor (ANSI.SYS) - */ -hterm.VT.CSI['s'] = function() { - this.savedState_.save(); -}; - -/** - * Save DEC Private Mode Values. - * - * Will not implement. - */ -hterm.VT.CSI['?s'] = hterm.VT.ignore; - -/** - * Window manipulation (from dtterm, as well as extensions). - * - * Will not implement. - */ -hterm.VT.CSI['t'] = hterm.VT.ignore; - -/** - * Reverse Attributes in Rectangular Area (DECRARA). - * - * Will not implement. - */ -hterm.VT.CSI['$t'] = hterm.VT.ignore; - -/** - * Set one or more features of the title modes. - * - * Will not implement. - */ -hterm.VT.CSI['>t'] = hterm.VT.ignore; - -/** - * Set warning-bell volume (DECSWBV, VT520). - * - * Will not implement. - */ -hterm.VT.CSI[' t'] = hterm.VT.ignore; - -/** - * Restore cursor (ANSI.SYS). - */ -hterm.VT.CSI['u'] = function() { - this.savedState_.restore(); -}; - -/** - * Set margin-bell volume (DECSMBV, VT520). - * - * Will not implement. - */ -hterm.VT.CSI[' u'] = hterm.VT.ignore; - -/** - * Copy Rectangular Area (DECCRA, VT400 and up). - * - * Will not implement. - */ -hterm.VT.CSI['$v'] = hterm.VT.ignore; - -/** - * Enable Filter Rectangle (DECEFR). - * - * Will not implement. - */ -hterm.VT.CSI['\'w'] = hterm.VT.ignore; - -/** - * Request Terminal Parameters (DECREQTPARM). - * - * Not currently implemented. - */ -hterm.VT.CSI['x'] = hterm.VT.ignore; - -/** - * Select Attribute Change Extent (DECSACE). - * - * Will not implement. - */ -hterm.VT.CSI['*x'] = hterm.VT.ignore; - -/** - * Fill Rectangular Area (DECFRA), VT420 and up. - * - * Will not implement. - */ -hterm.VT.CSI['$x'] = hterm.VT.ignore; - -/** - * vt_tiledata (as used by NAOhack and UnNetHack) - * (see https://nethackwiki.com/wiki/Vt_tiledata for more info) - * - * Implemented as far as we care (start a glyph and end a glyph). - */ -hterm.VT.CSI['z'] = function(parseState) { - if (parseState.args.length < 1) - return; - var arg = parseState.args[0]; - if (arg == 0) { - // Start a glyph (one parameter, the glyph number). - if (parseState.args.length < 2) - return; - this.terminal.getTextAttributes().tileData = parseState.args[1]; - } else if (arg == 1) { - // End a glyph. - this.terminal.getTextAttributes().tileData = null; - } -}; - -/** - * Enable Locator Reporting (DECELR). - * - * Not currently implemented. - */ -hterm.VT.CSI['\'z'] = hterm.VT.ignore; - -/** - * Erase Rectangular Area (DECERA), VT400 and up. - * - * Will not implement. - */ -hterm.VT.CSI['$z'] = hterm.VT.ignore; - -/** - * Select Locator Events (DECSLE). - * - * Not currently implemented. - */ -hterm.VT.CSI['\'{'] = hterm.VT.ignore; - -/** - * Request Locator Position (DECRQLP). - * - * Not currently implemented. - */ -hterm.VT.CSI['\'|'] = hterm.VT.ignore; - -/** - * Insert Columns (DECIC), VT420 and up. - * - * Will not implement. - */ -hterm.VT.CSI['\'}'] = hterm.VT.ignore; - -/** - * Delete P s Columns (DECDC), VT420 and up. - * - * Will not implement. - */ -hterm.VT.CSI['\'~'] = hterm.VT.ignore; -// SOURCE FILE: hterm/js/hterm_vt_character_map.js -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -'use strict'; - -lib.rtdep('lib.f'); - -/** - * Character map object. - * - * Mapping from received to display character, used depending on the active - * VT character set. - * - * GR maps are not currently supported. - * - * @param {string} description A human readable description of this map. - * @param {Object} glmap The GL mapping from input to output characters. - */ -hterm.VT.CharacterMap = function(description, glmap) { - /** - * Short description for this character set, useful for debugging. - */ - this.description = description; - - /** - * The function to call to when this map is installed in GL. - */ - this.GL = null; - - // Always keep an unmodified reference to the map. - // This allows us to sanely reset back to the original state. - this.glmapBase_ = glmap; - - // Now sync the internal state as needed. - this.sync_(); -}; - -/** - * Internal helper for resyncing internal state. - * - * Used when the mappings change. - * - * @param {Object?} opt_glmap Additional mappings to overlay on top of the - * base mapping. - */ -hterm.VT.CharacterMap.prototype.sync_ = function(opt_glmap) { - // If there are no maps, then reset the state back. - if (!this.glmapBase_ && !opt_glmap) { - this.GL = null; - delete this.glmap_; - delete this.glre_; - return; - } - - // Set the the GL mapping. If we're given a custom mapping, then create a - // new object to hold the merged map. This way we can cleanly reset back. - if (opt_glmap) - this.glmap_ = Object.assign({}, this.glmapBase_, opt_glmap); - else - this.glmap_ = this.glmapBase_; - - var glchars = Object.keys(this.glmap_).map((key) => - '\\x' + lib.f.zpad(key.charCodeAt(0).toString(16))); - this.glre_ = new RegExp('[' + glchars.join('') + ']', 'g'); - - this.GL = (str) => str.replace(this.glre_, (ch) => this.glmap_[ch]); -}; - -/** - * Reset map back to original mappings (discarding runtime updates). - * - * Specifically, any calls to setOverrides will be discarded. - */ -hterm.VT.CharacterMap.prototype.reset = function() { - // If we haven't been given a custom mapping, then there's nothing to reset. - if (this.glmap_ !== this.glmapBase_) - this.sync_(); -}; - -/** - * Merge custom changes to this map. - * - * The input map need not duplicate the existing mappings as it is merged with - * the existing base map (what was created with). Subsequent calls to this - * will throw away previous override settings. - * - * @param {Object} glmap The custom map to override existing mappings. - */ -hterm.VT.CharacterMap.prototype.setOverrides = function(glmap) { - this.sync_(glmap); -}; - -/** - * Return a copy of this mapping. - * - * @return {hterm.VT.CharacterMap} A new hterm.VT.CharacterMap instance. - */ -hterm.VT.CharacterMap.prototype.clone = function() { - var map = new hterm.VT.CharacterMap(this.description, this.glmapBase_); - if (this.glmap_ !== this.glmapBase_) - map.setOverrides(this.glmap_); - return map; -}; - -/** - * Table of character maps. - */ -hterm.VT.CharacterMaps = function() { - this.maps_ = hterm.VT.CharacterMaps.DefaultMaps; - - // Always keep an unmodified reference to the map. - // This allows us to sanely reset back to the original state. - this.mapsBase_ = this.maps_; -}; - -/** - * Look up a previously registered map. - * - * @param {String} name The name of the map to lookup. - * @return {hterm.VT.CharacterMap} The map, if it's been registered. - */ -hterm.VT.CharacterMaps.prototype.getMap = function(name) { - if (this.maps_.hasOwnProperty(name)) - return this.maps_[name]; - else - return undefined; -}; - -/** - * Register a new map. - * - * Any previously registered maps by this name will be discarded. - * - * @param {String} name The name of the map. - * @param {hterm.VT.CharacterMap} map The map to register. - */ -hterm.VT.CharacterMaps.prototype.addMap = function(name, map) { - if (this.maps_ === this.mapsBase_) - this.maps_ = Object.assign({}, this.mapsBase_); - this.maps_[name] = map; -}; - -/** - * Reset the table and all its maps back to original state. - */ -hterm.VT.CharacterMaps.prototype.reset = function() { - if (this.maps_ !== hterm.VT.CharacterMaps.DefaultMaps) - this.maps_ = hterm.VT.CharacterMaps.DefaultMaps; -}; - -/** - * Merge custom changes to this table. - * - * @param {Object} maps A set of hterm.VT.CharacterMap objects. - */ -hterm.VT.CharacterMaps.prototype.setOverrides = function(maps) { - if (this.maps_ === this.mapsBase_) - this.maps_ = Object.assign({}, this.mapsBase_); - - for (var name in maps) { - var map = this.getMap(name); - if (map !== undefined) { - this.maps_[name] = map.clone(); - this.maps_[name].setOverrides(maps[name]); - } else - this.addMap(name, new hterm.VT.CharacterMap('user ' + name, maps[name])); - } -}; - -/** - * The default set of supported character maps. - */ -hterm.VT.CharacterMaps.DefaultMaps = {}; - -/** - * VT100 Graphic character map. - * http://vt100.net/docs/vt220-rm/table2-4.html - */ -hterm.VT.CharacterMaps.DefaultMaps['0'] = new hterm.VT.CharacterMap( - 'graphic', { - '\x60':'\u25c6', // ` -> diamond - '\x61':'\u2592', // a -> grey-box - '\x62':'\u2409', // b -> h/t - '\x63':'\u240c', // c -> f/f - '\x64':'\u240d', // d -> c/r - '\x65':'\u240a', // e -> l/f - '\x66':'\u00b0', // f -> degree - '\x67':'\u00b1', // g -> +/- - '\x68':'\u2424', // h -> n/l - '\x69':'\u240b', // i -> v/t - '\x6a':'\u2518', // j -> bottom-right - '\x6b':'\u2510', // k -> top-right - '\x6c':'\u250c', // l -> top-left - '\x6d':'\u2514', // m -> bottom-left - '\x6e':'\u253c', // n -> line-cross - '\x6f':'\u23ba', // o -> scan1 - '\x70':'\u23bb', // p -> scan3 - '\x71':'\u2500', // q -> scan5 - '\x72':'\u23bc', // r -> scan7 - '\x73':'\u23bd', // s -> scan9 - '\x74':'\u251c', // t -> left-tee - '\x75':'\u2524', // u -> right-tee - '\x76':'\u2534', // v -> bottom-tee - '\x77':'\u252c', // w -> top-tee - '\x78':'\u2502', // x -> vertical-line - '\x79':'\u2264', // y -> less-equal - '\x7a':'\u2265', // z -> greater-equal - '\x7b':'\u03c0', // { -> pi - '\x7c':'\u2260', // | -> not-equal - '\x7d':'\u00a3', // } -> british-pound - '\x7e':'\u00b7', // ~ -> dot - }); - -/** - * British character map. - * http://vt100.net/docs/vt220-rm/table2-5.html - */ -hterm.VT.CharacterMaps.DefaultMaps['A'] = new hterm.VT.CharacterMap( - 'british', { - '\x23': '\u00a3', // # -> british-pound - }); - -/** - * US ASCII map, no changes. - */ -hterm.VT.CharacterMaps.DefaultMaps['B'] = new hterm.VT.CharacterMap( - 'us', null); - -/** - * Dutch character map. - * http://vt100.net/docs/vt220-rm/table2-6.html - */ -hterm.VT.CharacterMaps.DefaultMaps['4'] = new hterm.VT.CharacterMap( - 'dutch', { - '\x23': '\u00a3', // # -> british-pound - - '\x40': '\u00be', // @ -> 3/4 - - '\x5b': '\u0132', // [ -> 'ij' ligature (xterm goes with \u00ff?) - '\x5c': '\u00bd', // \ -> 1/2 - '\x5d': '\u007c', // ] -> vertical bar - - '\x7b': '\u00a8', // { -> two dots - '\x7c': '\u0066', // | -> f - '\x7d': '\u00bc', // } -> 1/4 - '\x7e': '\u00b4', // ~ -> acute - }); - -/** - * Finnish character map. - * http://vt100.net/docs/vt220-rm/table2-7.html - */ -hterm.VT.CharacterMaps.DefaultMaps['C'] = -hterm.VT.CharacterMaps.DefaultMaps['5'] = new hterm.VT.CharacterMap( - 'finnish', { - '\x5b': '\u00c4', // [ -> 'A' umlaut - '\x5c': '\u00d6', // \ -> 'O' umlaut - '\x5d': '\u00c5', // ] -> 'A' ring - '\x5e': '\u00dc', // ~ -> 'u' umlaut - - '\x60': '\u00e9', // ` -> 'e' acute - - '\x7b': '\u00e4', // { -> 'a' umlaut - '\x7c': '\u00f6', // | -> 'o' umlaut - '\x7d': '\u00e5', // } -> 'a' ring - '\x7e': '\u00fc', // ~ -> 'u' umlaut - }); - -/** - * French character map. - * http://vt100.net/docs/vt220-rm/table2-8.html - */ -hterm.VT.CharacterMaps.DefaultMaps['R'] = new hterm.VT.CharacterMap( - 'french', { - '\x23': '\u00a3', // # -> british-pound - - '\x40': '\u00e0', // @ -> 'a' grave - - '\x5b': '\u00b0', // [ -> ring - '\x5c': '\u00e7', // \ -> 'c' cedilla - '\x5d': '\u00a7', // ] -> section symbol (double s) - - '\x7b': '\u00e9', // { -> 'e' acute - '\x7c': '\u00f9', // | -> 'u' grave - '\x7d': '\u00e8', // } -> 'e' grave - '\x7e': '\u00a8', // ~ -> umlaut - }); - -/** - * French Canadian character map. - * http://vt100.net/docs/vt220-rm/table2-9.html - */ -hterm.VT.CharacterMaps.DefaultMaps['Q'] = new hterm.VT.CharacterMap( - 'french canadian', { - '\x40': '\u00e0', // @ -> 'a' grave - - '\x5b': '\u00e2', // [ -> 'a' circumflex - '\x5c': '\u00e7', // \ -> 'c' cedilla - '\x5d': '\u00ea', // ] -> 'e' circumflex - '\x5e': '\u00ee', // ^ -> 'i' circumflex - - '\x60': '\u00f4', // ` -> 'o' circumflex - - '\x7b': '\u00e9', // { -> 'e' acute - '\x7c': '\u00f9', // | -> 'u' grave - '\x7d': '\u00e8', // } -> 'e' grave - '\x7e': '\u00fb', // ~ -> 'u' circumflex - }); - -/** - * German character map. - * http://vt100.net/docs/vt220-rm/table2-10.html - */ -hterm.VT.CharacterMaps.DefaultMaps['K'] = new hterm.VT.CharacterMap( - 'german', { - '\x40': '\u00a7', // @ -> section symbol (double s) - - '\x5b': '\u00c4', // [ -> 'A' umlaut - '\x5c': '\u00d6', // \ -> 'O' umlaut - '\x5d': '\u00dc', // ] -> 'U' umlaut - - '\x7b': '\u00e4', // { -> 'a' umlaut - '\x7c': '\u00f6', // | -> 'o' umlaut - '\x7d': '\u00fc', // } -> 'u' umlaut - '\x7e': '\u00df', // ~ -> eszett - }); - -/** - * Italian character map. - * http://vt100.net/docs/vt220-rm/table2-11.html - */ -hterm.VT.CharacterMaps.DefaultMaps['Y'] = new hterm.VT.CharacterMap( - 'italian', { - '\x23': '\u00a3', // # -> british-pound - - '\x40': '\u00a7', // @ -> section symbol (double s) - - '\x5b': '\u00b0', // [ -> ring - '\x5c': '\u00e7', // \ -> 'c' cedilla - '\x5d': '\u00e9', // ] -> 'e' acute - - '\x60': '\u00f9', // ` -> 'u' grave - - '\x7b': '\u00e0', // { -> 'a' grave - '\x7c': '\u00f2', // | -> 'o' grave - '\x7d': '\u00e8', // } -> 'e' grave - '\x7e': '\u00ec', // ~ -> 'i' grave - }); - -/** - * Norwegian/Danish character map. - * http://vt100.net/docs/vt220-rm/table2-12.html - */ -hterm.VT.CharacterMaps.DefaultMaps['E'] = -hterm.VT.CharacterMaps.DefaultMaps['6'] = new hterm.VT.CharacterMap( - 'norwegian/danish', { - '\x40': '\u00c4', // @ -> 'A' umlaut - - '\x5b': '\u00c6', // [ -> 'AE' ligature - '\x5c': '\u00d8', // \ -> 'O' stroke - '\x5d': '\u00c5', // ] -> 'A' ring - '\x5e': '\u00dc', // ^ -> 'U' umlaut - - '\x60': '\u00e4', // ` -> 'a' umlaut - - '\x7b': '\u00e6', // { -> 'ae' ligature - '\x7c': '\u00f8', // | -> 'o' stroke - '\x7d': '\u00e5', // } -> 'a' ring - '\x7e': '\u00fc', // ~ -> 'u' umlaut - }); - -/** - * Spanish character map. - * http://vt100.net/docs/vt220-rm/table2-13.html - */ -hterm.VT.CharacterMaps.DefaultMaps['Z'] = new hterm.VT.CharacterMap( - 'spanish', { - '\x23': '\u00a3', // # -> british-pound - - '\x40': '\u00a7', // @ -> section symbol (double s) - - '\x5b': '\u00a1', // [ -> '!' inverted - '\x5c': '\u00d1', // \ -> 'N' tilde - '\x5d': '\u00bf', // ] -> '?' inverted - - '\x7b': '\u00b0', // { -> ring - '\x7c': '\u00f1', // | -> 'n' tilde - '\x7d': '\u00e7', // } -> 'c' cedilla - }); - -/** - * Swedish character map. - * http://vt100.net/docs/vt220-rm/table2-14.html - */ -hterm.VT.CharacterMaps.DefaultMaps['7'] = -hterm.VT.CharacterMaps.DefaultMaps['H'] = new hterm.VT.CharacterMap( - 'swedish', { - '\x40': '\u00c9', // @ -> 'E' acute - - '\x5b': '\u00c4', // [ -> 'A' umlaut - '\x5c': '\u00d6', // \ -> 'O' umlaut - '\x5d': '\u00c5', // ] -> 'A' ring - '\x5e': '\u00dc', // ^ -> 'U' umlaut - - '\x60': '\u00e9', // ` -> 'e' acute - - '\x7b': '\u00e4', // { -> 'a' umlaut - '\x7c': '\u00f6', // | -> 'o' umlaut - '\x7d': '\u00e5', // } -> 'a' ring - '\x7e': '\u00fc', // ~ -> 'u' umlaut - }); - -/** - * Swiss character map. - * http://vt100.net/docs/vt220-rm/table2-15.html - */ -hterm.VT.CharacterMaps.DefaultMaps['='] = new hterm.VT.CharacterMap( - 'swiss', { - '\x23': '\u00f9', // # -> 'u' grave - - '\x40': '\u00e0', // @ -> 'a' grave - - '\x5b': '\u00e9', // [ -> 'e' acute - '\x5c': '\u00e7', // \ -> 'c' cedilla - '\x5d': '\u00ea', // ] -> 'e' circumflex - '\x5e': '\u00ee', // ^ -> 'i' circumflex - '\x5f': '\u00e8', // _ -> 'e' grave - - '\x60': '\u00f4', // ` -> 'o' circumflex - - '\x7b': '\u00e4', // { -> 'a' umlaut - '\x7c': '\u00f6', // | -> 'o' umlaut - '\x7d': '\u00fc', // } -> 'u' umlaut - '\x7e': '\u00fb', // ~ -> 'u' circumflex - }); -lib.resource.add('hterm/audio/bell', 'audio/ogg;base64', -'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' + -'zinmkFLKMeUcUko5p5xTzjkIHYTKMQadgxAppRxTzinHHITMQeWcg9BBKAAAIMABACDAQig0ZEUA' + -'ECcA4HAkz5M0SxQlSxNFzxRl1xNN15U0zTQ1UVRVyxNV1VRV2xZNVbYlTRNNTfRUVRNFVRVV05ZN' + -'VbVtzzRl2VRV3RZV1bZl2xZ+V5Z13zNNWRZV1dZNVbV115Z9X9ZtXZg0zTQ1UVRVTRRV1VRV2zZV' + -'17Y1UXRVUVVlWVRVWXZlWfdVV9Z9SxRV1VNN2RVVVbZV2fVtVZZ94XRVXVdl2fdVWRZ+W9eF4fZ9' + -'4RhV1dZN19V1VZZ9YdZlYbd13yhpmmlqoqiqmiiqqqmqtm2qrq1bouiqoqrKsmeqrqzKsq+rrmzr' + -'miiqrqiqsiyqqiyrsqz7qizrtqiquq3KsrCbrqvrtu8LwyzrunCqrq6rsuz7qizruq3rxnHrujB8' + -'pinLpqvquqm6um7runHMtm0co6rqvirLwrDKsu/rui+0dSFRVXXdlF3jV2VZ921fd55b94WybTu/' + -'rfvKceu60vg5z28cubZtHLNuG7+t+8bzKz9hOI6lZ5q2baqqrZuqq+uybivDrOtCUVV9XZVl3zdd' + -'WRdu3zeOW9eNoqrquirLvrDKsjHcxm8cuzAcXds2jlvXnbKtC31jyPcJz2vbxnH7OuP2daOvDAnH' + -'jwAAgAEHAIAAE8pAoSErAoA4AQAGIecUUxAqxSB0EFLqIKRUMQYhc05KxRyUUEpqIZTUKsYgVI5J' + -'yJyTEkpoKZTSUgehpVBKa6GU1lJrsabUYu0gpBZKaS2U0lpqqcbUWowRYxAy56RkzkkJpbQWSmkt' + -'c05K56CkDkJKpaQUS0otVsxJyaCj0kFIqaQSU0mptVBKa6WkFktKMbYUW24x1hxKaS2kEltJKcYU' + -'U20txpojxiBkzknJnJMSSmktlNJa5ZiUDkJKmYOSSkqtlZJSzJyT0kFIqYOOSkkptpJKTKGU1kpK' + -'sYVSWmwx1pxSbDWU0lpJKcaSSmwtxlpbTLV1EFoLpbQWSmmttVZraq3GUEprJaUYS0qxtRZrbjHm' + -'GkppraQSW0mpxRZbji3GmlNrNabWam4x5hpbbT3WmnNKrdbUUo0txppjbb3VmnvvIKQWSmktlNJi' + -'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' + -'m2L/kruPM6Q7oz4tvDQy+bZ3HzOi+gNHA4DZEgA=' + -'' -); - -lib.resource.add('hterm/images/icon-96', 'image/png;base64', -'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' + -'ODoyNC0wNDowMNba8BsAAAAASUVORK5CYII=' + -'' -); - -lib.resource.add('hterm/concat/date', 'text/plain', -'Tue, 22 Aug 2017 06:42:31 +0000' + -'' -); - -lib.resource.add('hterm/changelog/version', 'text/plain', -'1.70' + -'' -); - -lib.resource.add('hterm/changelog/date', 'text/plain', -'2017-08-16' + -'' -); - -lib.resource.add('hterm/git/HEAD', 'text/plain', -'git rev-parse HEAD' + -'' -); - -// SOURCE FILE: hterm/js/hterm_export.js -module.exports = { - hterm: hterm, - lib: lib -}; - - - -/***/ }), -/* 15 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var hterm_1 = __webpack_require__(10); -var xterm_1 = __webpack_require__(13); -var webtty_1 = __webpack_require__(12); -var websocket_1 = __webpack_require__(11); -var elem = document.getElementById("terminal"); -if (elem !== null) { - var term; - if (gotty_term == "hterm") { - term = new hterm_1.Hterm(elem); - } - else { - term = new xterm_1.Xterm(elem); - } - var httpsEnabled = window.location.protocol == "https:"; - var url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws'; - var args = window.location.search; - var factory = new websocket_1.ConnectionFactory(url, webtty_1.protocols); - var wt = new webtty_1.WebTTY(term, factory, args, gotty_auth_token); - var closer_1 = wt.open(); - window.addEventListener("unload", function () { - closer_1(); - term.close(); - }); -} -; - - -/***/ }), -/* 16 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var CompositionHelper = (function () { - function CompositionHelper(textarea, compositionView, terminal) { - this.textarea = textarea; - this.compositionView = compositionView; - this.terminal = terminal; - this.isComposing = false; - this.isSendingComposition = false; - this.compositionPosition = { start: null, end: null }; - } - CompositionHelper.prototype.compositionstart = function () { - this.isComposing = true; - this.compositionPosition.start = this.textarea.value.length; - this.compositionView.textContent = ''; - this.compositionView.classList.add('active'); - }; - CompositionHelper.prototype.compositionupdate = function (ev) { - var _this = this; - this.compositionView.textContent = ev.data; - this.updateCompositionElements(); - setTimeout(function () { - _this.compositionPosition.end = _this.textarea.value.length; - }, 0); - }; - CompositionHelper.prototype.compositionend = function () { - this.finalizeComposition(true); - }; - CompositionHelper.prototype.keydown = function (ev) { - if (this.isComposing || this.isSendingComposition) { - if (ev.keyCode === 229) { - return false; - } - else if (ev.keyCode === 16 || ev.keyCode === 17 || ev.keyCode === 18) { - return false; - } - else { - this.finalizeComposition(false); - } - } - if (ev.keyCode === 229) { - this.handleAnyTextareaChanges(); - return false; - } - return true; - }; - CompositionHelper.prototype.finalizeComposition = function (waitForPropogation) { - var _this = this; - this.compositionView.classList.remove('active'); - this.isComposing = false; - this.clearTextareaPosition(); - if (!waitForPropogation) { - this.isSendingComposition = false; - var input = this.textarea.value.substring(this.compositionPosition.start, this.compositionPosition.end); - this.terminal.handler(input); - } - else { - var currentCompositionPosition_1 = { - start: this.compositionPosition.start, - end: this.compositionPosition.end, - }; - this.isSendingComposition = true; - setTimeout(function () { - if (_this.isSendingComposition) { - _this.isSendingComposition = false; - var input = void 0; - if (_this.isComposing) { - input = _this.textarea.value.substring(currentCompositionPosition_1.start, currentCompositionPosition_1.end); - } - else { - input = _this.textarea.value.substring(currentCompositionPosition_1.start); - } - _this.terminal.handler(input); - } - }, 0); - } - }; - CompositionHelper.prototype.handleAnyTextareaChanges = function () { - var _this = this; - var oldValue = this.textarea.value; - setTimeout(function () { - if (!_this.isComposing) { - var newValue = _this.textarea.value; - var diff = newValue.replace(oldValue, ''); - if (diff.length > 0) { - _this.terminal.handler(diff); - } - } - }, 0); - }; - CompositionHelper.prototype.updateCompositionElements = function (dontRecurse) { - var _this = this; - if (!this.isComposing) { - return; - } - var cursor = this.terminal.element.querySelector('.terminal-cursor'); - if (cursor) { - var xtermRows = this.terminal.element.querySelector('.xterm-rows'); - var cursorTop = xtermRows.offsetTop + cursor.offsetTop; - this.compositionView.style.left = cursor.offsetLeft + 'px'; - this.compositionView.style.top = cursorTop + 'px'; - this.compositionView.style.height = cursor.offsetHeight + 'px'; - this.compositionView.style.lineHeight = cursor.offsetHeight + 'px'; - var compositionViewBounds = this.compositionView.getBoundingClientRect(); - this.textarea.style.left = cursor.offsetLeft + 'px'; - this.textarea.style.top = cursorTop + 'px'; - this.textarea.style.width = compositionViewBounds.width + 'px'; - this.textarea.style.height = compositionViewBounds.height + 'px'; - this.textarea.style.lineHeight = compositionViewBounds.height + 'px'; - } - if (!dontRecurse) { - setTimeout(function () { return _this.updateCompositionElements(true); }, 0); - } - }; - ; - CompositionHelper.prototype.clearTextareaPosition = function () { - this.textarea.style.left = ''; - this.textarea.style.top = ''; - }; - ; - return CompositionHelper; -}()); -exports.CompositionHelper = CompositionHelper; - -//# sourceMappingURL=CompositionHelper.js.map - - -/***/ }), -/* 17 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var EscapeSequences_1 = __webpack_require__(2); -var Charsets_1 = __webpack_require__(3); -var InputHandler = (function () { - function InputHandler(_terminal) { - this._terminal = _terminal; - } - InputHandler.prototype.addChar = function (char, code) { - if (char >= ' ') { - var ch_width = wcwidth(code); - if (this._terminal.charset && this._terminal.charset[char]) { - char = this._terminal.charset[char]; - } - var row = this._terminal.y + this._terminal.ybase; - if (!ch_width && this._terminal.x) { - if (this._terminal.lines.get(row)[this._terminal.x - 1]) { - if (!this._terminal.lines.get(row)[this._terminal.x - 1][2]) { - if (this._terminal.lines.get(row)[this._terminal.x - 2]) - this._terminal.lines.get(row)[this._terminal.x - 2][1] += char; - } - else { - this._terminal.lines.get(row)[this._terminal.x - 1][1] += char; - } - this._terminal.updateRange(this._terminal.y); - } - return; - } - if (this._terminal.x + ch_width - 1 >= this._terminal.cols) { - if (this._terminal.wraparoundMode) { - this._terminal.x = 0; - this._terminal.y++; - if (this._terminal.y > this._terminal.scrollBottom) { - this._terminal.y--; - this._terminal.scroll(true); - } - else { - this._terminal.lines.get(this._terminal.y).isWrapped = true; - } - } - else { - if (ch_width === 2) - return; - } - } - row = this._terminal.y + this._terminal.ybase; - if (this._terminal.insertMode) { - for (var moves = 0; moves < ch_width; ++moves) { - var removed = this._terminal.lines.get(this._terminal.y + this._terminal.ybase).pop(); - if (removed[2] === 0 - && this._terminal.lines.get(row)[this._terminal.cols - 2] - && this._terminal.lines.get(row)[this._terminal.cols - 2][2] === 2) { - this._terminal.lines.get(row)[this._terminal.cols - 2] = [this._terminal.curAttr, ' ', 1]; - } - this._terminal.lines.get(row).splice(this._terminal.x, 0, [this._terminal.curAttr, ' ', 1]); - } - } - this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, char, ch_width]; - this._terminal.x++; - this._terminal.updateRange(this._terminal.y); - if (ch_width === 2) { - this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, '', 0]; - this._terminal.x++; - } - } - }; - InputHandler.prototype.bell = function () { - var _this = this; - if (!this._terminal.visualBell) { - return; - } - this._terminal.element.style.borderColor = 'white'; - setTimeout(function () { return _this._terminal.element.style.borderColor = ''; }, 10); - if (this._terminal.popOnBell) { - this._terminal.focus(); - } - }; - InputHandler.prototype.lineFeed = function () { - if (this._terminal.convertEol) { - this._terminal.x = 0; - } - this._terminal.y++; - if (this._terminal.y > this._terminal.scrollBottom) { - this._terminal.y--; - this._terminal.scroll(); - } - if (this._terminal.x >= this._terminal.cols) { - this._terminal.x--; - } - }; - InputHandler.prototype.carriageReturn = function () { - this._terminal.x = 0; - }; - InputHandler.prototype.backspace = function () { - if (this._terminal.x > 0) { - this._terminal.x--; - } - }; - InputHandler.prototype.tab = function () { - this._terminal.x = this._terminal.nextStop(); - }; - InputHandler.prototype.shiftOut = function () { - this._terminal.setgLevel(1); - }; - InputHandler.prototype.shiftIn = function () { - this._terminal.setgLevel(0); - }; - InputHandler.prototype.insertChars = function (params) { - var param, row, j, ch; - param = params[0]; - if (param < 1) - param = 1; - row = this._terminal.y + this._terminal.ybase; - j = this._terminal.x; - ch = [this._terminal.eraseAttr(), ' ', 1]; - while (param-- && j < this._terminal.cols) { - this._terminal.lines.get(row).splice(j++, 0, ch); - this._terminal.lines.get(row).pop(); - } - }; - InputHandler.prototype.cursorUp = function (params) { - var param = params[0]; - if (param < 1) { - param = 1; - } - this._terminal.y -= param; - if (this._terminal.y < 0) { - this._terminal.y = 0; - } - }; - InputHandler.prototype.cursorDown = function (params) { - var param = params[0]; - if (param < 1) { - param = 1; - } - this._terminal.y += param; - if (this._terminal.y >= this._terminal.rows) { - this._terminal.y = this._terminal.rows - 1; - } - if (this._terminal.x >= this._terminal.cols) { - this._terminal.x--; - } - }; - InputHandler.prototype.cursorForward = function (params) { - var param = params[0]; - if (param < 1) { - param = 1; - } - this._terminal.x += param; - if (this._terminal.x >= this._terminal.cols) { - this._terminal.x = this._terminal.cols - 1; - } - }; - InputHandler.prototype.cursorBackward = function (params) { - var param = params[0]; - if (param < 1) { - param = 1; - } - if (this._terminal.x >= this._terminal.cols) { - this._terminal.x--; - } - this._terminal.x -= param; - if (this._terminal.x < 0) { - this._terminal.x = 0; - } - }; - InputHandler.prototype.cursorNextLine = function (params) { - var param = params[0]; - if (param < 1) { - param = 1; - } - this._terminal.y += param; - if (this._terminal.y >= this._terminal.rows) { - this._terminal.y = this._terminal.rows - 1; - } - this._terminal.x = 0; - }; - ; - InputHandler.prototype.cursorPrecedingLine = function (params) { - var param = params[0]; - if (param < 1) { - param = 1; - } - this._terminal.y -= param; - if (this._terminal.y < 0) { - this._terminal.y = 0; - } - this._terminal.x = 0; - }; - ; - InputHandler.prototype.cursorCharAbsolute = function (params) { - var param = params[0]; - if (param < 1) { - param = 1; - } - this._terminal.x = param - 1; - }; - InputHandler.prototype.cursorPosition = function (params) { - var row, col; - row = params[0] - 1; - if (params.length >= 2) { - col = params[1] - 1; - } - else { - col = 0; - } - if (row < 0) { - row = 0; - } - else if (row >= this._terminal.rows) { - row = this._terminal.rows - 1; - } - if (col < 0) { - col = 0; - } - else if (col >= this._terminal.cols) { - col = this._terminal.cols - 1; - } - this._terminal.x = col; - this._terminal.y = row; - }; - InputHandler.prototype.cursorForwardTab = function (params) { - var param = params[0] || 1; - while (param--) { - this._terminal.x = this._terminal.nextStop(); - } - }; - InputHandler.prototype.eraseInDisplay = function (params) { - var j; - switch (params[0]) { - case 0: - this._terminal.eraseRight(this._terminal.x, this._terminal.y); - j = this._terminal.y + 1; - for (; j < this._terminal.rows; j++) { - this._terminal.eraseLine(j); - } - break; - case 1: - this._terminal.eraseLeft(this._terminal.x, this._terminal.y); - j = this._terminal.y; - while (j--) { - this._terminal.eraseLine(j); - } - break; - case 2: - j = this._terminal.rows; - while (j--) - this._terminal.eraseLine(j); - break; - case 3: - var scrollBackSize = this._terminal.lines.length - this._terminal.rows; - if (scrollBackSize > 0) { - this._terminal.lines.trimStart(scrollBackSize); - this._terminal.ybase = Math.max(this._terminal.ybase - scrollBackSize, 0); - this._terminal.ydisp = Math.max(this._terminal.ydisp - scrollBackSize, 0); - } - break; - } - }; - InputHandler.prototype.eraseInLine = function (params) { - switch (params[0]) { - case 0: - this._terminal.eraseRight(this._terminal.x, this._terminal.y); - break; - case 1: - this._terminal.eraseLeft(this._terminal.x, this._terminal.y); - break; - case 2: - this._terminal.eraseLine(this._terminal.y); - break; - } - }; - InputHandler.prototype.insertLines = function (params) { - var param, row, j; - param = params[0]; - if (param < 1) { - param = 1; - } - row = this._terminal.y + this._terminal.ybase; - j = this._terminal.rows - 1 - this._terminal.scrollBottom; - j = this._terminal.rows - 1 + this._terminal.ybase - j + 1; - while (param--) { - if (this._terminal.lines.length === this._terminal.lines.maxLength) { - this._terminal.lines.trimStart(1); - this._terminal.ybase--; - this._terminal.ydisp--; - row--; - j--; - } - this._terminal.lines.splice(row, 0, this._terminal.blankLine(true)); - this._terminal.lines.splice(j, 1); - } - this._terminal.updateRange(this._terminal.y); - this._terminal.updateRange(this._terminal.scrollBottom); - }; - InputHandler.prototype.deleteLines = function (params) { - var param, row, j; - param = params[0]; - if (param < 1) { - param = 1; - } - row = this._terminal.y + this._terminal.ybase; - j = this._terminal.rows - 1 - this._terminal.scrollBottom; - j = this._terminal.rows - 1 + this._terminal.ybase - j; - while (param--) { - if (this._terminal.lines.length === this._terminal.lines.maxLength) { - this._terminal.lines.trimStart(1); - this._terminal.ybase -= 1; - this._terminal.ydisp -= 1; - } - this._terminal.lines.splice(j + 1, 0, this._terminal.blankLine(true)); - this._terminal.lines.splice(row, 1); - } - this._terminal.updateRange(this._terminal.y); - this._terminal.updateRange(this._terminal.scrollBottom); - }; - InputHandler.prototype.deleteChars = function (params) { - var param, row, ch; - param = params[0]; - if (param < 1) { - param = 1; - } - row = this._terminal.y + this._terminal.ybase; - ch = [this._terminal.eraseAttr(), ' ', 1]; - while (param--) { - this._terminal.lines.get(row).splice(this._terminal.x, 1); - this._terminal.lines.get(row).push(ch); - } - }; - InputHandler.prototype.scrollUp = function (params) { - var param = params[0] || 1; - while (param--) { - this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 1); - this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 0, this._terminal.blankLine()); - } - this._terminal.updateRange(this._terminal.scrollTop); - this._terminal.updateRange(this._terminal.scrollBottom); - }; - InputHandler.prototype.scrollDown = function (params) { - var param = params[0] || 1; - while (param--) { - this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 1); - this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 0, this._terminal.blankLine()); - } - this._terminal.updateRange(this._terminal.scrollTop); - this._terminal.updateRange(this._terminal.scrollBottom); - }; - InputHandler.prototype.eraseChars = function (params) { - var param, row, j, ch; - param = params[0]; - if (param < 1) { - param = 1; - } - row = this._terminal.y + this._terminal.ybase; - j = this._terminal.x; - ch = [this._terminal.eraseAttr(), ' ', 1]; - while (param-- && j < this._terminal.cols) { - this._terminal.lines.get(row)[j++] = ch; - } - }; - InputHandler.prototype.cursorBackwardTab = function (params) { - var param = params[0] || 1; - while (param--) { - this._terminal.x = this._terminal.prevStop(); - } - }; - InputHandler.prototype.charPosAbsolute = function (params) { - var param = params[0]; - if (param < 1) { - param = 1; - } - this._terminal.x = param - 1; - if (this._terminal.x >= this._terminal.cols) { - this._terminal.x = this._terminal.cols - 1; - } - }; - InputHandler.prototype.HPositionRelative = function (params) { - var param = params[0]; - if (param < 1) { - param = 1; - } - this._terminal.x += param; - if (this._terminal.x >= this._terminal.cols) { - this._terminal.x = this._terminal.cols - 1; - } - }; - InputHandler.prototype.repeatPrecedingCharacter = function (params) { - var param = params[0] || 1, line = this._terminal.lines.get(this._terminal.ybase + this._terminal.y), ch = line[this._terminal.x - 1] || [this._terminal.defAttr, ' ', 1]; - while (param--) { - line[this._terminal.x++] = ch; - } - }; - InputHandler.prototype.sendDeviceAttributes = function (params) { - if (params[0] > 0) { - return; - } - if (!this._terminal.prefix) { - if (this._terminal.is('xterm') || this._terminal.is('rxvt-unicode') || this._terminal.is('screen')) { - this._terminal.send(EscapeSequences_1.C0.ESC + '[?1;2c'); - } - else if (this._terminal.is('linux')) { - this._terminal.send(EscapeSequences_1.C0.ESC + '[?6c'); - } - } - else if (this._terminal.prefix === '>') { - if (this._terminal.is('xterm')) { - this._terminal.send(EscapeSequences_1.C0.ESC + '[>0;276;0c'); - } - else if (this._terminal.is('rxvt-unicode')) { - this._terminal.send(EscapeSequences_1.C0.ESC + '[>85;95;0c'); - } - else if (this._terminal.is('linux')) { - this._terminal.send(params[0] + 'c'); - } - else if (this._terminal.is('screen')) { - this._terminal.send(EscapeSequences_1.C0.ESC + '[>83;40003;0c'); - } - } - }; - InputHandler.prototype.linePosAbsolute = function (params) { - var param = params[0]; - if (param < 1) { - param = 1; - } - this._terminal.y = param - 1; - if (this._terminal.y >= this._terminal.rows) { - this._terminal.y = this._terminal.rows - 1; - } - }; - InputHandler.prototype.VPositionRelative = function (params) { - var param = params[0]; - if (param < 1) { - param = 1; - } - this._terminal.y += param; - if (this._terminal.y >= this._terminal.rows) { - this._terminal.y = this._terminal.rows - 1; - } - if (this._terminal.x >= this._terminal.cols) { - this._terminal.x--; - } - }; - InputHandler.prototype.HVPosition = function (params) { - if (params[0] < 1) - params[0] = 1; - if (params[1] < 1) - params[1] = 1; - this._terminal.y = params[0] - 1; - if (this._terminal.y >= this._terminal.rows) { - this._terminal.y = this._terminal.rows - 1; - } - this._terminal.x = params[1] - 1; - if (this._terminal.x >= this._terminal.cols) { - this._terminal.x = this._terminal.cols - 1; - } - }; - InputHandler.prototype.tabClear = function (params) { - var param = params[0]; - if (param <= 0) { - delete this._terminal.tabs[this._terminal.x]; - } - else if (param === 3) { - this._terminal.tabs = {}; - } - }; - InputHandler.prototype.setMode = function (params) { - if (params.length > 1) { - for (var i = 0; i < params.length; i++) { - this.setMode([params[i]]); - } - return; - } - if (!this._terminal.prefix) { - switch (params[0]) { - case 4: - this._terminal.insertMode = true; - break; - case 20: - break; - } - } - else if (this._terminal.prefix === '?') { - switch (params[0]) { - case 1: - this._terminal.applicationCursor = true; - break; - case 2: - this._terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET); - this._terminal.setgCharset(1, Charsets_1.DEFAULT_CHARSET); - this._terminal.setgCharset(2, Charsets_1.DEFAULT_CHARSET); - this._terminal.setgCharset(3, Charsets_1.DEFAULT_CHARSET); - break; - case 3: - this._terminal.savedCols = this._terminal.cols; - this._terminal.resize(132, this._terminal.rows); - break; - case 6: - this._terminal.originMode = true; - break; - case 7: - this._terminal.wraparoundMode = true; - break; - case 12: - break; - case 66: - this._terminal.log('Serial port requested application keypad.'); - this._terminal.applicationKeypad = true; - this._terminal.viewport.syncScrollArea(); - break; - case 9: - case 1000: - case 1002: - case 1003: - this._terminal.x10Mouse = params[0] === 9; - this._terminal.vt200Mouse = params[0] === 1000; - this._terminal.normalMouse = params[0] > 1000; - this._terminal.mouseEvents = true; - this._terminal.element.classList.add('enable-mouse-events'); - this._terminal.selectionManager.disable(); - this._terminal.log('Binding to mouse events.'); - break; - case 1004: - this._terminal.sendFocus = true; - break; - case 1005: - this._terminal.utfMouse = true; - break; - case 1006: - this._terminal.sgrMouse = true; - break; - case 1015: - this._terminal.urxvtMouse = true; - break; - case 25: - this._terminal.cursorHidden = false; - break; - case 1049: - ; - case 47: - case 1047: - if (!this._terminal.normal) { - var normal = { - lines: this._terminal.lines, - ybase: this._terminal.ybase, - ydisp: this._terminal.ydisp, - x: this._terminal.x, - y: this._terminal.y, - scrollTop: this._terminal.scrollTop, - scrollBottom: this._terminal.scrollBottom, - tabs: this._terminal.tabs - }; - this._terminal.reset(); - this._terminal.viewport.syncScrollArea(); - this._terminal.normal = normal; - this._terminal.showCursor(); - } - break; - } - } - }; - InputHandler.prototype.resetMode = function (params) { - if (params.length > 1) { - for (var i = 0; i < params.length; i++) { - this.resetMode([params[i]]); - } - return; - } - if (!this._terminal.prefix) { - switch (params[0]) { - case 4: - this._terminal.insertMode = false; - break; - case 20: - break; - } - } - else if (this._terminal.prefix === '?') { - switch (params[0]) { - case 1: - this._terminal.applicationCursor = false; - break; - case 3: - if (this._terminal.cols === 132 && this._terminal.savedCols) { - this._terminal.resize(this._terminal.savedCols, this._terminal.rows); - } - delete this._terminal.savedCols; - break; - case 6: - this._terminal.originMode = false; - break; - case 7: - this._terminal.wraparoundMode = false; - break; - case 12: - break; - case 66: - this._terminal.log('Switching back to normal keypad.'); - this._terminal.applicationKeypad = false; - this._terminal.viewport.syncScrollArea(); - break; - case 9: - case 1000: - case 1002: - case 1003: - this._terminal.x10Mouse = false; - this._terminal.vt200Mouse = false; - this._terminal.normalMouse = false; - this._terminal.mouseEvents = false; - this._terminal.element.classList.remove('enable-mouse-events'); - this._terminal.selectionManager.enable(); - break; - case 1004: - this._terminal.sendFocus = false; - break; - case 1005: - this._terminal.utfMouse = false; - break; - case 1006: - this._terminal.sgrMouse = false; - break; - case 1015: - this._terminal.urxvtMouse = false; - break; - case 25: - this._terminal.cursorHidden = true; - break; - case 1049: - ; - case 47: - case 1047: - if (this._terminal.normal) { - this._terminal.lines = this._terminal.normal.lines; - this._terminal.ybase = this._terminal.normal.ybase; - this._terminal.ydisp = this._terminal.normal.ydisp; - this._terminal.x = this._terminal.normal.x; - this._terminal.y = this._terminal.normal.y; - this._terminal.scrollTop = this._terminal.normal.scrollTop; - this._terminal.scrollBottom = this._terminal.normal.scrollBottom; - this._terminal.tabs = this._terminal.normal.tabs; - this._terminal.normal = null; - this._terminal.selectionManager.setBuffer(this._terminal.lines); - this._terminal.refresh(0, this._terminal.rows - 1); - this._terminal.viewport.syncScrollArea(); - this._terminal.showCursor(); - } - break; - } - } - }; - InputHandler.prototype.charAttributes = function (params) { - if (params.length === 1 && params[0] === 0) { - this._terminal.curAttr = this._terminal.defAttr; - return; - } - var l = params.length, i = 0, flags = this._terminal.curAttr >> 18, fg = (this._terminal.curAttr >> 9) & 0x1ff, bg = this._terminal.curAttr & 0x1ff, p; - for (; i < l; i++) { - p = params[i]; - if (p >= 30 && p <= 37) { - fg = p - 30; - } - else if (p >= 40 && p <= 47) { - bg = p - 40; - } - else if (p >= 90 && p <= 97) { - p += 8; - fg = p - 90; - } - else if (p >= 100 && p <= 107) { - p += 8; - bg = p - 100; - } - else if (p === 0) { - flags = this._terminal.defAttr >> 18; - fg = (this._terminal.defAttr >> 9) & 0x1ff; - bg = this._terminal.defAttr & 0x1ff; - } - else if (p === 1) { - flags |= 1; - } - else if (p === 4) { - flags |= 2; - } - else if (p === 5) { - flags |= 4; - } - else if (p === 7) { - flags |= 8; - } - else if (p === 8) { - flags |= 16; - } - else if (p === 22) { - flags &= ~1; - } - else if (p === 24) { - flags &= ~2; - } - else if (p === 25) { - flags &= ~4; - } - else if (p === 27) { - flags &= ~8; - } - else if (p === 28) { - flags &= ~16; - } - else if (p === 39) { - fg = (this._terminal.defAttr >> 9) & 0x1ff; - } - else if (p === 49) { - bg = this._terminal.defAttr & 0x1ff; - } - else if (p === 38) { - if (params[i + 1] === 2) { - i += 2; - fg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff); - if (fg === -1) - fg = 0x1ff; - i += 2; - } - else if (params[i + 1] === 5) { - i += 2; - p = params[i] & 0xff; - fg = p; - } - } - else if (p === 48) { - if (params[i + 1] === 2) { - i += 2; - bg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff); - if (bg === -1) - bg = 0x1ff; - i += 2; - } - else if (params[i + 1] === 5) { - i += 2; - p = params[i] & 0xff; - bg = p; - } - } - else if (p === 100) { - fg = (this._terminal.defAttr >> 9) & 0x1ff; - bg = this._terminal.defAttr & 0x1ff; - } - else { - this._terminal.error('Unknown SGR attribute: %d.', p); - } - } - this._terminal.curAttr = (flags << 18) | (fg << 9) | bg; - }; - InputHandler.prototype.deviceStatus = function (params) { - if (!this._terminal.prefix) { - switch (params[0]) { - case 5: - this._terminal.send(EscapeSequences_1.C0.ESC + '[0n'); - break; - case 6: - this._terminal.send(EscapeSequences_1.C0.ESC + '[' - + (this._terminal.y + 1) - + ';' - + (this._terminal.x + 1) - + 'R'); - break; - } - } - else if (this._terminal.prefix === '?') { - switch (params[0]) { - case 6: - this._terminal.send(EscapeSequences_1.C0.ESC + '[?' - + (this._terminal.y + 1) - + ';' - + (this._terminal.x + 1) - + 'R'); - break; - case 15: - break; - case 25: - break; - case 26: - break; - case 53: - break; - } - } - }; - InputHandler.prototype.softReset = function (params) { - this._terminal.cursorHidden = false; - this._terminal.insertMode = false; - this._terminal.originMode = false; - this._terminal.wraparoundMode = true; - this._terminal.applicationKeypad = false; - this._terminal.viewport.syncScrollArea(); - this._terminal.applicationCursor = false; - this._terminal.scrollTop = 0; - this._terminal.scrollBottom = this._terminal.rows - 1; - this._terminal.curAttr = this._terminal.defAttr; - this._terminal.x = this._terminal.y = 0; - this._terminal.charset = null; - this._terminal.glevel = 0; - this._terminal.charsets = [null]; - }; - InputHandler.prototype.setCursorStyle = function (params) { - var param = params[0] < 1 ? 1 : params[0]; - switch (param) { - case 1: - case 2: - this._terminal.setOption('cursorStyle', 'block'); - break; - case 3: - case 4: - this._terminal.setOption('cursorStyle', 'underline'); - break; - case 5: - case 6: - this._terminal.setOption('cursorStyle', 'bar'); - break; - } - var isBlinking = param % 2 === 1; - this._terminal.setOption('cursorBlink', isBlinking); - }; - InputHandler.prototype.setScrollRegion = function (params) { - if (this._terminal.prefix) - return; - this._terminal.scrollTop = (params[0] || 1) - 1; - this._terminal.scrollBottom = (params[1] && params[1] <= this._terminal.rows ? params[1] : this._terminal.rows) - 1; - this._terminal.x = 0; - this._terminal.y = 0; - }; - InputHandler.prototype.saveCursor = function (params) { - this._terminal.savedX = this._terminal.x; - this._terminal.savedY = this._terminal.y; - }; - InputHandler.prototype.restoreCursor = function (params) { - this._terminal.x = this._terminal.savedX || 0; - this._terminal.y = this._terminal.savedY || 0; - }; - return InputHandler; -}()); -exports.InputHandler = InputHandler; -var wcwidth = (function (opts) { - var COMBINING = [ - [0x0300, 0x036F], [0x0483, 0x0486], [0x0488, 0x0489], - [0x0591, 0x05BD], [0x05BF, 0x05BF], [0x05C1, 0x05C2], - [0x05C4, 0x05C5], [0x05C7, 0x05C7], [0x0600, 0x0603], - [0x0610, 0x0615], [0x064B, 0x065E], [0x0670, 0x0670], - [0x06D6, 0x06E4], [0x06E7, 0x06E8], [0x06EA, 0x06ED], - [0x070F, 0x070F], [0x0711, 0x0711], [0x0730, 0x074A], - [0x07A6, 0x07B0], [0x07EB, 0x07F3], [0x0901, 0x0902], - [0x093C, 0x093C], [0x0941, 0x0948], [0x094D, 0x094D], - [0x0951, 0x0954], [0x0962, 0x0963], [0x0981, 0x0981], - [0x09BC, 0x09BC], [0x09C1, 0x09C4], [0x09CD, 0x09CD], - [0x09E2, 0x09E3], [0x0A01, 0x0A02], [0x0A3C, 0x0A3C], - [0x0A41, 0x0A42], [0x0A47, 0x0A48], [0x0A4B, 0x0A4D], - [0x0A70, 0x0A71], [0x0A81, 0x0A82], [0x0ABC, 0x0ABC], - [0x0AC1, 0x0AC5], [0x0AC7, 0x0AC8], [0x0ACD, 0x0ACD], - [0x0AE2, 0x0AE3], [0x0B01, 0x0B01], [0x0B3C, 0x0B3C], - [0x0B3F, 0x0B3F], [0x0B41, 0x0B43], [0x0B4D, 0x0B4D], - [0x0B56, 0x0B56], [0x0B82, 0x0B82], [0x0BC0, 0x0BC0], - [0x0BCD, 0x0BCD], [0x0C3E, 0x0C40], [0x0C46, 0x0C48], - [0x0C4A, 0x0C4D], [0x0C55, 0x0C56], [0x0CBC, 0x0CBC], - [0x0CBF, 0x0CBF], [0x0CC6, 0x0CC6], [0x0CCC, 0x0CCD], - [0x0CE2, 0x0CE3], [0x0D41, 0x0D43], [0x0D4D, 0x0D4D], - [0x0DCA, 0x0DCA], [0x0DD2, 0x0DD4], [0x0DD6, 0x0DD6], - [0x0E31, 0x0E31], [0x0E34, 0x0E3A], [0x0E47, 0x0E4E], - [0x0EB1, 0x0EB1], [0x0EB4, 0x0EB9], [0x0EBB, 0x0EBC], - [0x0EC8, 0x0ECD], [0x0F18, 0x0F19], [0x0F35, 0x0F35], - [0x0F37, 0x0F37], [0x0F39, 0x0F39], [0x0F71, 0x0F7E], - [0x0F80, 0x0F84], [0x0F86, 0x0F87], [0x0F90, 0x0F97], - [0x0F99, 0x0FBC], [0x0FC6, 0x0FC6], [0x102D, 0x1030], - [0x1032, 0x1032], [0x1036, 0x1037], [0x1039, 0x1039], - [0x1058, 0x1059], [0x1160, 0x11FF], [0x135F, 0x135F], - [0x1712, 0x1714], [0x1732, 0x1734], [0x1752, 0x1753], - [0x1772, 0x1773], [0x17B4, 0x17B5], [0x17B7, 0x17BD], - [0x17C6, 0x17C6], [0x17C9, 0x17D3], [0x17DD, 0x17DD], - [0x180B, 0x180D], [0x18A9, 0x18A9], [0x1920, 0x1922], - [0x1927, 0x1928], [0x1932, 0x1932], [0x1939, 0x193B], - [0x1A17, 0x1A18], [0x1B00, 0x1B03], [0x1B34, 0x1B34], - [0x1B36, 0x1B3A], [0x1B3C, 0x1B3C], [0x1B42, 0x1B42], - [0x1B6B, 0x1B73], [0x1DC0, 0x1DCA], [0x1DFE, 0x1DFF], - [0x200B, 0x200F], [0x202A, 0x202E], [0x2060, 0x2063], - [0x206A, 0x206F], [0x20D0, 0x20EF], [0x302A, 0x302F], - [0x3099, 0x309A], [0xA806, 0xA806], [0xA80B, 0xA80B], - [0xA825, 0xA826], [0xFB1E, 0xFB1E], [0xFE00, 0xFE0F], - [0xFE20, 0xFE23], [0xFEFF, 0xFEFF], [0xFFF9, 0xFFFB], - [0x10A01, 0x10A03], [0x10A05, 0x10A06], [0x10A0C, 0x10A0F], - [0x10A38, 0x10A3A], [0x10A3F, 0x10A3F], [0x1D167, 0x1D169], - [0x1D173, 0x1D182], [0x1D185, 0x1D18B], [0x1D1AA, 0x1D1AD], - [0x1D242, 0x1D244], [0xE0001, 0xE0001], [0xE0020, 0xE007F], - [0xE0100, 0xE01EF] - ]; - function bisearch(ucs) { - var min = 0; - var max = COMBINING.length - 1; - var mid; - if (ucs < COMBINING[0][0] || ucs > COMBINING[max][1]) - return false; - while (max >= min) { - mid = Math.floor((min + max) / 2); - if (ucs > COMBINING[mid][1]) - min = mid + 1; - else if (ucs < COMBINING[mid][0]) - max = mid - 1; - else - return true; - } - return false; - } - function wcwidth(ucs) { - if (ucs === 0) - return opts.nul; - if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0)) - return opts.control; - if (bisearch(ucs)) - return 0; - if (isWide(ucs)) { - return 2; - } - return 1; - } - function isWide(ucs) { - return (ucs >= 0x1100 && (ucs <= 0x115f || - ucs === 0x2329 || - ucs === 0x232a || - (ucs >= 0x2e80 && ucs <= 0xa4cf && ucs !== 0x303f) || - (ucs >= 0xac00 && ucs <= 0xd7a3) || - (ucs >= 0xf900 && ucs <= 0xfaff) || - (ucs >= 0xfe10 && ucs <= 0xfe19) || - (ucs >= 0xfe30 && ucs <= 0xfe6f) || - (ucs >= 0xff00 && ucs <= 0xff60) || - (ucs >= 0xffe0 && ucs <= 0xffe6) || - (ucs >= 0x20000 && ucs <= 0x2fffd) || - (ucs >= 0x30000 && ucs <= 0x3fffd))); - } - return wcwidth; -})({ nul: 0, control: 0 }); - -//# sourceMappingURL=InputHandler.js.map - - -/***/ }), -/* 18 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var INVALID_LINK_CLASS = 'xterm-invalid-link'; -var protocolClause = '(https?:\\/\\/)'; -var domainCharacterSet = '[\\da-z\\.-]+'; -var negatedDomainCharacterSet = '[^\\da-z\\.-]+'; -var domainBodyClause = '(' + domainCharacterSet + ')'; -var tldClause = '([a-z\\.]{2,6})'; -var ipClause = '((\\d{1,3}\\.){3}\\d{1,3})'; -var localHostClause = '(localhost)'; -var portClause = '(:\\d{1,5})'; -var hostClause = '((' + domainBodyClause + '\\.' + tldClause + ')|' + ipClause + '|' + localHostClause + ')' + portClause + '?'; -var pathClause = '(\\/[\\/\\w\\.\\-%~]*)*'; -var queryStringHashFragmentCharacterSet = '[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&\'*+,:;~\\=\\.\\-]*'; -var queryStringClause = '(\\?' + queryStringHashFragmentCharacterSet + ')?'; -var hashFragmentClause = '(#' + queryStringHashFragmentCharacterSet + ')?'; -var negatedPathCharacterSet = '[^\\/\\w\\.\\-%]+'; -var bodyClause = hostClause + pathClause + queryStringClause + hashFragmentClause; -var start = '(?:^|' + negatedDomainCharacterSet + ')('; -var end = ')($|' + negatedPathCharacterSet + ')'; -var strictUrlRegex = new RegExp(start + protocolClause + bodyClause + end); -var HYPERTEXT_LINK_MATCHER_ID = 0; -var Linkifier = (function () { - function Linkifier() { - this._nextLinkMatcherId = HYPERTEXT_LINK_MATCHER_ID; - this._rowTimeoutIds = []; - this._linkMatchers = []; - this.registerLinkMatcher(strictUrlRegex, null, { matchIndex: 1 }); - } - Linkifier.prototype.attachToDom = function (document, rows) { - this._document = document; - this._rows = rows; - }; - Linkifier.prototype.linkifyRow = function (rowIndex) { - if (!this._document) { - return; - } - var timeoutId = this._rowTimeoutIds[rowIndex]; - if (timeoutId) { - clearTimeout(timeoutId); - } - this._rowTimeoutIds[rowIndex] = setTimeout(this._linkifyRow.bind(this, rowIndex), Linkifier.TIME_BEFORE_LINKIFY); - }; - Linkifier.prototype.setHypertextLinkHandler = function (handler) { - this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].handler = handler; - }; - Linkifier.prototype.setHypertextValidationCallback = function (callback) { - this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].validationCallback = callback; - }; - Linkifier.prototype.registerLinkMatcher = function (regex, handler, options) { - if (options === void 0) { options = {}; } - if (this._nextLinkMatcherId !== HYPERTEXT_LINK_MATCHER_ID && !handler) { - throw new Error('handler must be defined'); - } - var matcher = { - id: this._nextLinkMatcherId++, - regex: regex, - handler: handler, - matchIndex: options.matchIndex, - validationCallback: options.validationCallback, - priority: options.priority || 0 - }; - this._addLinkMatcherToList(matcher); - return matcher.id; - }; - Linkifier.prototype._addLinkMatcherToList = function (matcher) { - if (this._linkMatchers.length === 0) { - this._linkMatchers.push(matcher); - return; - } - for (var i = this._linkMatchers.length - 1; i >= 0; i--) { - if (matcher.priority <= this._linkMatchers[i].priority) { - this._linkMatchers.splice(i + 1, 0, matcher); - return; - } - } - this._linkMatchers.splice(0, 0, matcher); - }; - Linkifier.prototype.deregisterLinkMatcher = function (matcherId) { - for (var i = 1; i < this._linkMatchers.length; i++) { - if (this._linkMatchers[i].id === matcherId) { - this._linkMatchers.splice(i, 1); - return true; - } - } - return false; - }; - Linkifier.prototype._linkifyRow = function (rowIndex) { - var row = this._rows[rowIndex]; - if (!row) { - return; - } - var text = row.textContent; - for (var i = 0; i < this._linkMatchers.length; i++) { - var matcher = this._linkMatchers[i]; - var linkElements = this._doLinkifyRow(row, matcher); - if (linkElements.length > 0) { - if (matcher.validationCallback) { - var _loop_1 = function (j) { - var element = linkElements[j]; - matcher.validationCallback(element.textContent, element, function (isValid) { - if (!isValid) { - element.classList.add(INVALID_LINK_CLASS); - } - }); - }; - for (var j = 0; j < linkElements.length; j++) { - _loop_1(j); - } - } - return; - } - } - }; - Linkifier.prototype._doLinkifyRow = function (row, matcher) { - var result = []; - var isHttpLinkMatcher = matcher.id === HYPERTEXT_LINK_MATCHER_ID; - var nodes = row.childNodes; - var match = row.textContent.match(matcher.regex); - if (!match || match.length === 0) { - return result; - } - var uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex]; - var rowStartIndex = match.index + uri.length; - for (var i = 0; i < nodes.length; i++) { - var node = nodes[i]; - var searchIndex = node.textContent.indexOf(uri); - if (searchIndex >= 0) { - var linkElement = this._createAnchorElement(uri, matcher.handler, isHttpLinkMatcher); - if (node.textContent.length === uri.length) { - if (node.nodeType === 3) { - this._replaceNode(node, linkElement); - } - else { - var element = node; - if (element.nodeName === 'A') { - return result; - } - element.innerHTML = ''; - element.appendChild(linkElement); - } - } - else if (node.childNodes.length > 1) { - for (var j = 0; j < node.childNodes.length; j++) { - var childNode = node.childNodes[j]; - var childSearchIndex = childNode.textContent.indexOf(uri); - if (childSearchIndex !== -1) { - this._replaceNodeSubstringWithNode(childNode, linkElement, uri, childSearchIndex); - break; - } - } - } - else { - var nodesAdded = this._replaceNodeSubstringWithNode(node, linkElement, uri, searchIndex); - i += nodesAdded; - } - result.push(linkElement); - match = row.textContent.substring(rowStartIndex).match(matcher.regex); - if (!match || match.length === 0) { - return result; - } - uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex]; - rowStartIndex += match.index + uri.length; - } - } - return result; - }; - Linkifier.prototype._createAnchorElement = function (uri, handler, isHypertextLinkHandler) { - var element = this._document.createElement('a'); - element.textContent = uri; - element.draggable = false; - if (isHypertextLinkHandler) { - element.href = uri; - element.target = '_blank'; - element.addEventListener('click', function (event) { - if (handler) { - return handler(event, uri); - } - }); - } - else { - element.addEventListener('click', function (event) { - if (element.classList.contains(INVALID_LINK_CLASS)) { - return; - } - return handler(event, uri); - }); - } - return element; - }; - Linkifier.prototype._replaceNode = function (oldNode) { - var newNodes = []; - for (var _i = 1; _i < arguments.length; _i++) { - newNodes[_i - 1] = arguments[_i]; - } - var parent = oldNode.parentNode; - for (var i = 0; i < newNodes.length; i++) { - parent.insertBefore(newNodes[i], oldNode); - } - parent.removeChild(oldNode); - }; - Linkifier.prototype._replaceNodeSubstringWithNode = function (targetNode, newNode, substring, substringIndex) { - if (targetNode.childNodes.length === 1) { - targetNode = targetNode.childNodes[0]; - } - if (targetNode.nodeType !== 3) { - throw new Error('targetNode must be a text node or only contain a single text node'); - } - var fullText = targetNode.textContent; - if (substringIndex === 0) { - var rightText_1 = fullText.substring(substring.length); - var rightTextNode_1 = this._document.createTextNode(rightText_1); - this._replaceNode(targetNode, newNode, rightTextNode_1); - return 0; - } - if (substringIndex === targetNode.textContent.length - substring.length) { - var leftText_1 = fullText.substring(0, substringIndex); - var leftTextNode_1 = this._document.createTextNode(leftText_1); - this._replaceNode(targetNode, leftTextNode_1, newNode); - return 0; - } - var leftText = fullText.substring(0, substringIndex); - var leftTextNode = this._document.createTextNode(leftText); - var rightText = fullText.substring(substringIndex + substring.length); - var rightTextNode = this._document.createTextNode(rightText); - this._replaceNode(targetNode, leftTextNode, newNode, rightTextNode); - return 1; - }; - return Linkifier; -}()); -Linkifier.TIME_BEFORE_LINKIFY = 200; -exports.Linkifier = Linkifier; - -//# sourceMappingURL=Linkifier.js.map - - -/***/ }), -/* 19 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var EscapeSequences_1 = __webpack_require__(2); -var Charsets_1 = __webpack_require__(3); -var normalStateHandler = {}; -normalStateHandler[EscapeSequences_1.C0.BEL] = function (parser, handler) { return handler.bell(); }; -normalStateHandler[EscapeSequences_1.C0.LF] = function (parser, handler) { return handler.lineFeed(); }; -normalStateHandler[EscapeSequences_1.C0.VT] = normalStateHandler[EscapeSequences_1.C0.LF]; -normalStateHandler[EscapeSequences_1.C0.FF] = normalStateHandler[EscapeSequences_1.C0.LF]; -normalStateHandler[EscapeSequences_1.C0.CR] = function (parser, handler) { return handler.carriageReturn(); }; -normalStateHandler[EscapeSequences_1.C0.BS] = function (parser, handler) { return handler.backspace(); }; -normalStateHandler[EscapeSequences_1.C0.HT] = function (parser, handler) { return handler.tab(); }; -normalStateHandler[EscapeSequences_1.C0.SO] = function (parser, handler) { return handler.shiftOut(); }; -normalStateHandler[EscapeSequences_1.C0.SI] = function (parser, handler) { return handler.shiftIn(); }; -normalStateHandler[EscapeSequences_1.C0.ESC] = function (parser, handler) { return parser.setState(ParserState.ESCAPED); }; -var escapedStateHandler = {}; -escapedStateHandler['['] = function (parser, terminal) { - terminal.params = []; - terminal.currentParam = 0; - parser.setState(ParserState.CSI_PARAM); -}; -escapedStateHandler[']'] = function (parser, terminal) { - terminal.params = []; - terminal.currentParam = 0; - parser.setState(ParserState.OSC); -}; -escapedStateHandler['P'] = function (parser, terminal) { - terminal.params = []; - terminal.currentParam = 0; - parser.setState(ParserState.DCS); -}; -escapedStateHandler['_'] = function (parser, terminal) { - parser.setState(ParserState.IGNORE); -}; -escapedStateHandler['^'] = function (parser, terminal) { - parser.setState(ParserState.IGNORE); -}; -escapedStateHandler['c'] = function (parser, terminal) { - terminal.reset(); -}; -escapedStateHandler['E'] = function (parser, terminal) { - terminal.x = 0; - terminal.index(); - parser.setState(ParserState.NORMAL); -}; -escapedStateHandler['D'] = function (parser, terminal) { - terminal.index(); - parser.setState(ParserState.NORMAL); -}; -escapedStateHandler['M'] = function (parser, terminal) { - terminal.reverseIndex(); - parser.setState(ParserState.NORMAL); -}; -escapedStateHandler['%'] = function (parser, terminal) { - terminal.setgLevel(0); - terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET); - parser.setState(ParserState.NORMAL); - parser.skipNextChar(); -}; -escapedStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); }; -var csiParamStateHandler = {}; -csiParamStateHandler['?'] = function (parser) { return parser.setPrefix('?'); }; -csiParamStateHandler['>'] = function (parser) { return parser.setPrefix('>'); }; -csiParamStateHandler['!'] = function (parser) { return parser.setPrefix('!'); }; -csiParamStateHandler['0'] = function (parser) { return parser.setParam(parser.getParam() * 10); }; -csiParamStateHandler['1'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 1); }; -csiParamStateHandler['2'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 2); }; -csiParamStateHandler['3'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 3); }; -csiParamStateHandler['4'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 4); }; -csiParamStateHandler['5'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 5); }; -csiParamStateHandler['6'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 6); }; -csiParamStateHandler['7'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 7); }; -csiParamStateHandler['8'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 8); }; -csiParamStateHandler['9'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 9); }; -csiParamStateHandler['$'] = function (parser) { return parser.setPostfix('$'); }; -csiParamStateHandler['"'] = function (parser) { return parser.setPostfix('"'); }; -csiParamStateHandler[' '] = function (parser) { return parser.setPostfix(' '); }; -csiParamStateHandler['\''] = function (parser) { return parser.setPostfix('\''); }; -csiParamStateHandler[';'] = function (parser) { return parser.finalizeParam(); }; -csiParamStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); }; -var csiStateHandler = {}; -csiStateHandler['@'] = function (handler, params, prefix) { return handler.insertChars(params); }; -csiStateHandler['A'] = function (handler, params, prefix) { return handler.cursorUp(params); }; -csiStateHandler['B'] = function (handler, params, prefix) { return handler.cursorDown(params); }; -csiStateHandler['C'] = function (handler, params, prefix) { return handler.cursorForward(params); }; -csiStateHandler['D'] = function (handler, params, prefix) { return handler.cursorBackward(params); }; -csiStateHandler['E'] = function (handler, params, prefix) { return handler.cursorNextLine(params); }; -csiStateHandler['F'] = function (handler, params, prefix) { return handler.cursorPrecedingLine(params); }; -csiStateHandler['G'] = function (handler, params, prefix) { return handler.cursorCharAbsolute(params); }; -csiStateHandler['H'] = function (handler, params, prefix) { return handler.cursorPosition(params); }; -csiStateHandler['I'] = function (handler, params, prefix) { return handler.cursorForwardTab(params); }; -csiStateHandler['J'] = function (handler, params, prefix) { return handler.eraseInDisplay(params); }; -csiStateHandler['K'] = function (handler, params, prefix) { return handler.eraseInLine(params); }; -csiStateHandler['L'] = function (handler, params, prefix) { return handler.insertLines(params); }; -csiStateHandler['M'] = function (handler, params, prefix) { return handler.deleteLines(params); }; -csiStateHandler['P'] = function (handler, params, prefix) { return handler.deleteChars(params); }; -csiStateHandler['S'] = function (handler, params, prefix) { return handler.scrollUp(params); }; -csiStateHandler['T'] = function (handler, params, prefix) { - if (params.length < 2 && !prefix) { - handler.scrollDown(params); - } -}; -csiStateHandler['X'] = function (handler, params, prefix) { return handler.eraseChars(params); }; -csiStateHandler['Z'] = function (handler, params, prefix) { return handler.cursorBackwardTab(params); }; -csiStateHandler['`'] = function (handler, params, prefix) { return handler.charPosAbsolute(params); }; -csiStateHandler['a'] = function (handler, params, prefix) { return handler.HPositionRelative(params); }; -csiStateHandler['b'] = function (handler, params, prefix) { return handler.repeatPrecedingCharacter(params); }; -csiStateHandler['c'] = function (handler, params, prefix) { return handler.sendDeviceAttributes(params); }; -csiStateHandler['d'] = function (handler, params, prefix) { return handler.linePosAbsolute(params); }; -csiStateHandler['e'] = function (handler, params, prefix) { return handler.VPositionRelative(params); }; -csiStateHandler['f'] = function (handler, params, prefix) { return handler.HVPosition(params); }; -csiStateHandler['g'] = function (handler, params, prefix) { return handler.tabClear(params); }; -csiStateHandler['h'] = function (handler, params, prefix) { return handler.setMode(params); }; -csiStateHandler['l'] = function (handler, params, prefix) { return handler.resetMode(params); }; -csiStateHandler['m'] = function (handler, params, prefix) { return handler.charAttributes(params); }; -csiStateHandler['n'] = function (handler, params, prefix) { return handler.deviceStatus(params); }; -csiStateHandler['p'] = function (handler, params, prefix) { - switch (prefix) { - case '!': - handler.softReset(params); - break; - } -}; -csiStateHandler['q'] = function (handler, params, prefix, postfix) { - if (postfix === ' ') { - handler.setCursorStyle(params); - } -}; -csiStateHandler['r'] = function (handler, params) { return handler.setScrollRegion(params); }; -csiStateHandler['s'] = function (handler, params) { return handler.saveCursor(params); }; -csiStateHandler['u'] = function (handler, params) { return handler.restoreCursor(params); }; -csiStateHandler[EscapeSequences_1.C0.CAN] = function (handler, params, prefix, postfix, parser) { return parser.setState(ParserState.NORMAL); }; -var ParserState; -(function (ParserState) { - ParserState[ParserState["NORMAL"] = 0] = "NORMAL"; - ParserState[ParserState["ESCAPED"] = 1] = "ESCAPED"; - ParserState[ParserState["CSI_PARAM"] = 2] = "CSI_PARAM"; - ParserState[ParserState["CSI"] = 3] = "CSI"; - ParserState[ParserState["OSC"] = 4] = "OSC"; - ParserState[ParserState["CHARSET"] = 5] = "CHARSET"; - ParserState[ParserState["DCS"] = 6] = "DCS"; - ParserState[ParserState["IGNORE"] = 7] = "IGNORE"; -})(ParserState || (ParserState = {})); -var Parser = (function () { - function Parser(_inputHandler, _terminal) { - this._inputHandler = _inputHandler; - this._terminal = _terminal; - this._state = ParserState.NORMAL; - } - Parser.prototype.parse = function (data) { - var l = data.length, j, cs, ch, code, low; - this._position = 0; - if (this._terminal.surrogate_high) { - data = this._terminal.surrogate_high + data; - this._terminal.surrogate_high = ''; - } - for (; this._position < l; this._position++) { - ch = data[this._position]; - code = data.charCodeAt(this._position); - if (0xD800 <= code && code <= 0xDBFF) { - low = data.charCodeAt(this._position + 1); - if (isNaN(low)) { - this._terminal.surrogate_high = ch; - continue; - } - code = ((code - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000; - ch += data.charAt(this._position + 1); - } - if (0xDC00 <= code && code <= 0xDFFF) - continue; - switch (this._state) { - case ParserState.NORMAL: - if (ch in normalStateHandler) { - normalStateHandler[ch](this, this._inputHandler); - } - else { - this._inputHandler.addChar(ch, code); - } - break; - case ParserState.ESCAPED: - if (ch in escapedStateHandler) { - escapedStateHandler[ch](this, this._terminal); - break; - } - switch (ch) { - case '(': - case ')': - case '*': - case '+': - case '-': - case '.': - switch (ch) { - case '(': - this._terminal.gcharset = 0; - break; - case ')': - this._terminal.gcharset = 1; - break; - case '*': - this._terminal.gcharset = 2; - break; - case '+': - this._terminal.gcharset = 3; - break; - case '-': - this._terminal.gcharset = 1; - break; - case '.': - this._terminal.gcharset = 2; - break; - } - this._state = ParserState.CHARSET; - break; - case '/': - this._terminal.gcharset = 3; - this._state = ParserState.CHARSET; - this._position--; - break; - case 'N': - break; - case 'O': - break; - case 'n': - this._terminal.setgLevel(2); - break; - case 'o': - this._terminal.setgLevel(3); - break; - case '|': - this._terminal.setgLevel(3); - break; - case '}': - this._terminal.setgLevel(2); - break; - case '~': - this._terminal.setgLevel(1); - break; - case '7': - this._inputHandler.saveCursor(); - this._state = ParserState.NORMAL; - break; - case '8': - this._inputHandler.restoreCursor(); - this._state = ParserState.NORMAL; - break; - case '#': - this._state = ParserState.NORMAL; - this._position++; - break; - case 'H': - this._terminal.tabSet(); - this._state = ParserState.NORMAL; - break; - case '=': - this._terminal.log('Serial port requested application keypad.'); - this._terminal.applicationKeypad = true; - this._terminal.viewport.syncScrollArea(); - this._state = ParserState.NORMAL; - break; - case '>': - this._terminal.log('Switching back to normal keypad.'); - this._terminal.applicationKeypad = false; - this._terminal.viewport.syncScrollArea(); - this._state = ParserState.NORMAL; - break; - default: - this._state = ParserState.NORMAL; - this._terminal.error('Unknown ESC control: %s.', ch); - break; - } - break; - case ParserState.CHARSET: - if (ch in Charsets_1.CHARSETS) { - cs = Charsets_1.CHARSETS[ch]; - if (ch === '/') { - this.skipNextChar(); - } - } - else { - cs = Charsets_1.DEFAULT_CHARSET; - } - this._terminal.setgCharset(this._terminal.gcharset, cs); - this._terminal.gcharset = null; - this._state = ParserState.NORMAL; - break; - case ParserState.OSC: - if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) { - if (ch === EscapeSequences_1.C0.ESC) - this._position++; - this._terminal.params.push(this._terminal.currentParam); - switch (this._terminal.params[0]) { - case 0: - case 1: - case 2: - if (this._terminal.params[1]) { - this._terminal.title = this._terminal.params[1]; - this._terminal.handleTitle(this._terminal.title); - } - break; - case 3: - break; - case 4: - case 5: - break; - case 10: - case 11: - case 12: - case 13: - case 14: - case 15: - case 16: - case 17: - case 18: - case 19: - break; - case 46: - break; - case 50: - break; - case 51: - break; - case 52: - break; - case 104: - case 105: - case 110: - case 111: - case 112: - case 113: - case 114: - case 115: - case 116: - case 117: - case 118: - break; - } - this._terminal.params = []; - this._terminal.currentParam = 0; - this._state = ParserState.NORMAL; - } - else { - if (!this._terminal.params.length) { - if (ch >= '0' && ch <= '9') { - this._terminal.currentParam = - this._terminal.currentParam * 10 + ch.charCodeAt(0) - 48; - } - else if (ch === ';') { - this._terminal.params.push(this._terminal.currentParam); - this._terminal.currentParam = ''; - } - } - else { - this._terminal.currentParam += ch; - } - } - break; - case ParserState.CSI_PARAM: - if (ch in csiParamStateHandler) { - csiParamStateHandler[ch](this); - break; - } - this.finalizeParam(); - this._state = ParserState.CSI; - case ParserState.CSI: - if (ch in csiStateHandler) { - csiStateHandler[ch](this._inputHandler, this._terminal.params, this._terminal.prefix, this._terminal.postfix, this); - } - else { - this._terminal.error('Unknown CSI code: %s.', ch); - } - this._state = ParserState.NORMAL; - this._terminal.prefix = ''; - this._terminal.postfix = ''; - break; - case ParserState.DCS: - if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) { - if (ch === EscapeSequences_1.C0.ESC) - this._position++; - var pt = void 0; - var valid = void 0; - switch (this._terminal.prefix) { - case '': - break; - case '$q': - pt = this._terminal.currentParam; - valid = false; - switch (pt) { - case '"q': - pt = '0"q'; - break; - case '"p': - pt = '61"p'; - break; - case 'r': - pt = '' - + (this._terminal.scrollTop + 1) - + ';' - + (this._terminal.scrollBottom + 1) - + 'r'; - break; - case 'm': - pt = '0m'; - break; - default: - this._terminal.error('Unknown DCS Pt: %s.', pt); - pt = ''; - break; - } - this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '$r' + pt + EscapeSequences_1.C0.ESC + '\\'); - break; - case '+p': - break; - case '+q': - pt = this._terminal.currentParam; - valid = false; - this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '+r' + pt + EscapeSequences_1.C0.ESC + '\\'); - break; - default: - this._terminal.error('Unknown DCS prefix: %s.', this._terminal.prefix); - break; - } - this._terminal.currentParam = 0; - this._terminal.prefix = ''; - this._state = ParserState.NORMAL; - } - else if (!this._terminal.currentParam) { - if (!this._terminal.prefix && ch !== '$' && ch !== '+') { - this._terminal.currentParam = ch; - } - else if (this._terminal.prefix.length === 2) { - this._terminal.currentParam = ch; - } - else { - this._terminal.prefix += ch; - } - } - else { - this._terminal.currentParam += ch; - } - break; - case ParserState.IGNORE: - if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) { - if (ch === EscapeSequences_1.C0.ESC) - this._position++; - this._state = ParserState.NORMAL; - } - break; - } - } - return this._state; - }; - Parser.prototype.setState = function (state) { - this._state = state; - }; - Parser.prototype.setPrefix = function (prefix) { - this._terminal.prefix = prefix; - }; - Parser.prototype.setPostfix = function (postfix) { - this._terminal.postfix = postfix; - }; - Parser.prototype.setParam = function (param) { - this._terminal.currentParam = param; - }; - Parser.prototype.getParam = function () { - return this._terminal.currentParam; - }; - Parser.prototype.finalizeParam = function () { - this._terminal.params.push(this._terminal.currentParam); - this._terminal.currentParam = 0; - }; - Parser.prototype.skipNextChar = function () { - this._position++; - }; - return Parser; -}()); -exports.Parser = Parser; - -//# sourceMappingURL=Parser.js.map - - -/***/ }), -/* 20 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var DomElementObjectPool_1 = __webpack_require__(33); -var MAX_REFRESH_FRAME_SKIP = 5; -var FLAGS; -(function (FLAGS) { - FLAGS[FLAGS["BOLD"] = 1] = "BOLD"; - FLAGS[FLAGS["UNDERLINE"] = 2] = "UNDERLINE"; - FLAGS[FLAGS["BLINK"] = 4] = "BLINK"; - FLAGS[FLAGS["INVERSE"] = 8] = "INVERSE"; - FLAGS[FLAGS["INVISIBLE"] = 16] = "INVISIBLE"; -})(FLAGS || (FLAGS = {})); -; -var brokenBold = null; -var Renderer = (function () { - function Renderer(_terminal) { - this._terminal = _terminal; - this._refreshRowsQueue = []; - this._refreshFramesSkipped = 0; - this._refreshAnimationFrame = null; - this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span'); - if (brokenBold === null) { - brokenBold = checkBoldBroken(this._terminal.element); - } - this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span'); - } - Renderer.prototype.queueRefresh = function (start, end) { - this._refreshRowsQueue.push({ start: start, end: end }); - if (!this._refreshAnimationFrame) { - this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this)); - } - }; - Renderer.prototype._refreshLoop = function () { - var skipFrame = this._terminal.writeBuffer.length > 0 && this._refreshFramesSkipped++ <= MAX_REFRESH_FRAME_SKIP; - if (skipFrame) { - this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this)); - return; - } - this._refreshFramesSkipped = 0; - var start; - var end; - if (this._refreshRowsQueue.length > 4) { - start = 0; - end = this._terminal.rows - 1; - } - else { - start = this._refreshRowsQueue[0].start; - end = this._refreshRowsQueue[0].end; - for (var i = 1; i < this._refreshRowsQueue.length; i++) { - if (this._refreshRowsQueue[i].start < start) { - start = this._refreshRowsQueue[i].start; - } - if (this._refreshRowsQueue[i].end > end) { - end = this._refreshRowsQueue[i].end; - } - } - } - this._refreshRowsQueue = []; - this._refreshAnimationFrame = null; - this._refresh(start, end); - }; - Renderer.prototype._refresh = function (start, end) { - var parent; - if (end - start >= this._terminal.rows / 2) { - parent = this._terminal.element.parentNode; - if (parent) { - this._terminal.element.removeChild(this._terminal.rowContainer); - } - } - var width = this._terminal.cols; - var y = start; - if (end >= this._terminal.rows) { - this._terminal.log('`end` is too large. Most likely a bad CSR.'); - end = this._terminal.rows - 1; - } - for (; y <= end; y++) { - var row = y + this._terminal.ydisp; - var line = this._terminal.lines.get(row); - var x = void 0; - if (this._terminal.y === y - (this._terminal.ybase - this._terminal.ydisp) && - this._terminal.cursorState && - !this._terminal.cursorHidden) { - x = this._terminal.x; - } - else { - x = -1; - } - var attr = this._terminal.defAttr; - var documentFragment = document.createDocumentFragment(); - var innerHTML = ''; - var currentElement = void 0; - while (this._terminal.children[y].children.length) { - var child = this._terminal.children[y].children[0]; - this._terminal.children[y].removeChild(child); - this._spanElementObjectPool.release(child); - } - for (var i = 0; i < width; i++) { - var data = line[i][0]; - var ch = line[i][1]; - var ch_width = line[i][2]; - if (!ch_width) { - continue; - } - if (i === x) { - data = -1; - } - if (data !== attr) { - if (attr !== this._terminal.defAttr) { - if (innerHTML) { - currentElement.innerHTML = innerHTML; - innerHTML = ''; - } - documentFragment.appendChild(currentElement); - currentElement = null; - } - if (data !== this._terminal.defAttr) { - if (innerHTML && !currentElement) { - currentElement = this._spanElementObjectPool.acquire(); - } - if (currentElement) { - if (innerHTML) { - currentElement.innerHTML = innerHTML; - innerHTML = ''; - } - documentFragment.appendChild(currentElement); - } - currentElement = this._spanElementObjectPool.acquire(); - if (data === -1) { - currentElement.classList.add('reverse-video'); - currentElement.classList.add('terminal-cursor'); - } - else { - var bg = data & 0x1ff; - var fg = (data >> 9) & 0x1ff; - var flags = data >> 18; - if (flags & FLAGS.BOLD) { - if (!brokenBold) { - currentElement.classList.add('xterm-bold'); - } - if (fg < 8) { - fg += 8; - } - } - if (flags & FLAGS.UNDERLINE) { - currentElement.classList.add('xterm-underline'); - } - if (flags & FLAGS.BLINK) { - currentElement.classList.add('xterm-blink'); - } - if (flags & FLAGS.INVERSE) { - var temp = bg; - bg = fg; - fg = temp; - if ((flags & 1) && fg < 8) { - fg += 8; - } - } - if (flags & FLAGS.INVISIBLE) { - currentElement.classList.add('xterm-hidden'); - } - if (flags & FLAGS.INVERSE) { - if (bg === 257) { - bg = 15; - } - if (fg === 256) { - fg = 0; - } - } - if (bg < 256) { - currentElement.classList.add("xterm-bg-color-" + bg); - } - if (fg < 256) { - currentElement.classList.add("xterm-color-" + fg); - } - } - } - } - if (ch_width === 2) { - innerHTML += "" + ch + ""; - } - else if (ch.charCodeAt(0) > 255) { - innerHTML += "" + ch + ""; - } - else { - switch (ch) { - case '&': - innerHTML += '&'; - break; - case '<': - innerHTML += '<'; - break; - case '>': - innerHTML += '>'; - break; - default: - if (ch <= ' ') { - innerHTML += ' '; - } - else { - innerHTML += ch; - } - break; - } - } - attr = data; - } - if (innerHTML && !currentElement) { - currentElement = this._spanElementObjectPool.acquire(); - } - if (currentElement) { - if (innerHTML) { - currentElement.innerHTML = innerHTML; - innerHTML = ''; - } - documentFragment.appendChild(currentElement); - currentElement = null; - } - this._terminal.children[y].appendChild(documentFragment); - } - if (parent) { - this._terminal.element.appendChild(this._terminal.rowContainer); - } - this._terminal.emit('refresh', { element: this._terminal.element, start: start, end: end }); - }; - ; - Renderer.prototype.refreshSelection = function (start, end) { - while (this._terminal.selectionContainer.children.length) { - this._terminal.selectionContainer.removeChild(this._terminal.selectionContainer.children[0]); - } - if (!start || !end) { - return; - } - var viewportStartRow = start[1] - this._terminal.ydisp; - var viewportEndRow = end[1] - this._terminal.ydisp; - var viewportCappedStartRow = Math.max(viewportStartRow, 0); - var viewportCappedEndRow = Math.min(viewportEndRow, this._terminal.rows - 1); - if (viewportCappedStartRow >= this._terminal.rows || viewportCappedEndRow < 0) { - return; - } - var documentFragment = document.createDocumentFragment(); - var startCol = viewportStartRow === viewportCappedStartRow ? start[0] : 0; - var endCol = viewportCappedStartRow === viewportCappedEndRow ? end[0] : this._terminal.cols; - documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow, startCol, endCol)); - var middleRowsCount = viewportCappedEndRow - viewportCappedStartRow - 1; - documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow + 1, 0, this._terminal.cols, middleRowsCount)); - if (viewportCappedStartRow !== viewportCappedEndRow) { - var endCol_1 = viewportEndRow === viewportCappedEndRow ? end[0] : this._terminal.cols; - documentFragment.appendChild(this._createSelectionElement(viewportCappedEndRow, 0, endCol_1)); - } - this._terminal.selectionContainer.appendChild(documentFragment); - }; - Renderer.prototype._createSelectionElement = function (row, colStart, colEnd, rowCount) { - if (rowCount === void 0) { rowCount = 1; } - var element = document.createElement('div'); - element.style.height = rowCount * this._terminal.charMeasure.height + "px"; - element.style.top = row * this._terminal.charMeasure.height + "px"; - element.style.left = colStart * this._terminal.charMeasure.width + "px"; - element.style.width = this._terminal.charMeasure.width * (colEnd - colStart) + "px"; - return element; - }; - return Renderer; -}()); -exports.Renderer = Renderer; -function checkBoldBroken(terminal) { - var document = terminal.ownerDocument; - var el = document.createElement('span'); - el.innerHTML = 'hello world'; - terminal.appendChild(el); - var w1 = el.offsetWidth; - var h1 = el.offsetHeight; - el.style.fontWeight = 'bold'; - var w2 = el.offsetWidth; - var h2 = el.offsetHeight; - terminal.removeChild(el); - return w1 !== w2 || h1 !== h2; -} - -//# sourceMappingURL=Renderer.js.map - - -/***/ }), -/* 21 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -var Mouse = __webpack_require__(9); -var Browser = __webpack_require__(8); -var EventEmitter_1 = __webpack_require__(1); -var SelectionModel_1 = __webpack_require__(22); -var DRAG_SCROLL_MAX_THRESHOLD = 50; -var DRAG_SCROLL_MAX_SPEED = 15; -var DRAG_SCROLL_INTERVAL = 50; -var CLEAR_MOUSE_DOWN_TIME = 400; -var CLEAR_MOUSE_DISTANCE = 10; -var WORD_SEPARATORS = ' ()[]{}\'"'; -var LINE_DATA_CHAR_INDEX = 1; -var LINE_DATA_WIDTH_INDEX = 2; -var NON_BREAKING_SPACE_CHAR = String.fromCharCode(160); -var ALL_NON_BREAKING_SPACE_REGEX = new RegExp(NON_BREAKING_SPACE_CHAR, 'g'); -var SelectionMode; -(function (SelectionMode) { - SelectionMode[SelectionMode["NORMAL"] = 0] = "NORMAL"; - SelectionMode[SelectionMode["WORD"] = 1] = "WORD"; - SelectionMode[SelectionMode["LINE"] = 2] = "LINE"; -})(SelectionMode || (SelectionMode = {})); -var SelectionManager = (function (_super) { - __extends(SelectionManager, _super); - function SelectionManager(_terminal, _buffer, _rowContainer, _charMeasure) { - var _this = _super.call(this) || this; - _this._terminal = _terminal; - _this._buffer = _buffer; - _this._rowContainer = _rowContainer; - _this._charMeasure = _charMeasure; - _this._initListeners(); - _this.enable(); - _this._model = new SelectionModel_1.SelectionModel(_terminal); - _this._lastMouseDownTime = 0; - _this._activeSelectionMode = SelectionMode.NORMAL; - return _this; - } - SelectionManager.prototype._initListeners = function () { - var _this = this; - this._bufferTrimListener = function (amount) { return _this._onTrim(amount); }; - this._mouseMoveListener = function (event) { return _this._onMouseMove(event); }; - this._mouseDownListener = function (event) { return _this._onMouseDown(event); }; - this._mouseUpListener = function (event) { return _this._onMouseUp(event); }; - }; - SelectionManager.prototype.disable = function () { - this.clearSelection(); - this._buffer.off('trim', this._bufferTrimListener); - this._rowContainer.removeEventListener('mousedown', this._mouseDownListener); - }; - SelectionManager.prototype.enable = function () { - this._buffer.on('trim', this._bufferTrimListener); - this._rowContainer.addEventListener('mousedown', this._mouseDownListener); - }; - SelectionManager.prototype.setBuffer = function (buffer) { - this._buffer = buffer; - this.clearSelection(); - }; - Object.defineProperty(SelectionManager.prototype, "hasSelection", { - get: function () { - var start = this._model.finalSelectionStart; - var end = this._model.finalSelectionEnd; - if (!start || !end) { - return false; - } - return start[0] !== end[0] || start[1] !== end[1]; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(SelectionManager.prototype, "selectionText", { - get: function () { - var start = this._model.finalSelectionStart; - var end = this._model.finalSelectionEnd; - if (!start || !end) { - return ''; - } - var startRowEndCol = start[1] === end[1] ? end[0] : null; - var result = []; - result.push(this._translateBufferLineToString(this._buffer.get(start[1]), true, start[0], startRowEndCol)); - for (var i = start[1] + 1; i <= end[1] - 1; i++) { - var bufferLine = this._buffer.get(i); - var lineText = this._translateBufferLineToString(bufferLine, true); - if (bufferLine.isWrapped) { - result[result.length - 1] += lineText; - } - else { - result.push(lineText); - } - } - if (start[1] !== end[1]) { - var bufferLine = this._buffer.get(end[1]); - var lineText = this._translateBufferLineToString(bufferLine, true, 0, end[0]); - if (bufferLine.isWrapped) { - result[result.length - 1] += lineText; - } - else { - result.push(lineText); - } - } - var formattedResult = result.map(function (line) { - return line.replace(ALL_NON_BREAKING_SPACE_REGEX, ' '); - }).join(Browser.isMSWindows ? '\r\n' : '\n'); - return formattedResult; - }, - enumerable: true, - configurable: true - }); - SelectionManager.prototype.clearSelection = function () { - this._model.clearSelection(); - this._removeMouseDownListeners(); - this.refresh(); - }; - SelectionManager.prototype._translateBufferLineToString = function (line, trimRight, startCol, endCol) { - if (startCol === void 0) { startCol = 0; } - if (endCol === void 0) { endCol = null; } - var lineString = ''; - var widthAdjustedStartCol = startCol; - var widthAdjustedEndCol = endCol; - for (var i = 0; i < line.length; i++) { - var char = line[i]; - lineString += char[LINE_DATA_CHAR_INDEX]; - if (char[LINE_DATA_WIDTH_INDEX] === 0) { - if (startCol >= i) { - widthAdjustedStartCol--; - } - if (endCol >= i) { - widthAdjustedEndCol--; - } - } - } - var finalEndCol = widthAdjustedEndCol || line.length; - if (trimRight) { - var rightWhitespaceIndex = lineString.search(/\s+$/); - if (rightWhitespaceIndex !== -1) { - finalEndCol = Math.min(finalEndCol, rightWhitespaceIndex); - } - if (finalEndCol <= widthAdjustedStartCol) { - return ''; - } - } - return lineString.substring(widthAdjustedStartCol, finalEndCol); - }; - SelectionManager.prototype.refresh = function (isNewSelection) { - var _this = this; - if (!this._refreshAnimationFrame) { - this._refreshAnimationFrame = window.requestAnimationFrame(function () { return _this._refresh(); }); - } - if (Browser.isLinux && isNewSelection) { - var selectionText = this.selectionText; - if (selectionText.length) { - this.emit('newselection', this.selectionText); - } - } - }; - SelectionManager.prototype._refresh = function () { - this._refreshAnimationFrame = null; - this.emit('refresh', { start: this._model.finalSelectionStart, end: this._model.finalSelectionEnd }); - }; - SelectionManager.prototype.selectAll = function () { - this._model.isSelectAllActive = true; - this.refresh(); - }; - SelectionManager.prototype._onTrim = function (amount) { - var needsRefresh = this._model.onTrim(amount); - if (needsRefresh) { - this.refresh(); - } - }; - SelectionManager.prototype._getMouseBufferCoords = function (event) { - var coords = Mouse.getCoords(event, this._rowContainer, this._charMeasure, this._terminal.cols, this._terminal.rows, true); - coords[0]--; - coords[1]--; - coords[1] += this._terminal.ydisp; - return coords; - }; - SelectionManager.prototype._getMouseEventScrollAmount = function (event) { - var offset = Mouse.getCoordsRelativeToElement(event, this._rowContainer)[1]; - var terminalHeight = this._terminal.rows * this._charMeasure.height; - if (offset >= 0 && offset <= terminalHeight) { - return 0; - } - if (offset > terminalHeight) { - offset -= terminalHeight; - } - offset = Math.min(Math.max(offset, -DRAG_SCROLL_MAX_THRESHOLD), DRAG_SCROLL_MAX_THRESHOLD); - offset /= DRAG_SCROLL_MAX_THRESHOLD; - return (offset / Math.abs(offset)) + Math.round(offset * (DRAG_SCROLL_MAX_SPEED - 1)); - }; - SelectionManager.prototype._onMouseDown = function (event) { - if (event.button !== 0) { - return; - } - event.preventDefault(); - this._dragScrollAmount = 0; - this._setMouseClickCount(event); - if (event.shiftKey) { - this._onShiftClick(event); - } - else { - if (this._clickCount === 1) { - this._onSingleClick(event); - } - else if (this._clickCount === 2) { - this._onDoubleClick(event); - } - else if (this._clickCount === 3) { - this._onTripleClick(event); - } - } - this._addMouseDownListeners(); - this.refresh(true); - }; - SelectionManager.prototype._addMouseDownListeners = function () { - var _this = this; - this._rowContainer.ownerDocument.addEventListener('mousemove', this._mouseMoveListener); - this._rowContainer.ownerDocument.addEventListener('mouseup', this._mouseUpListener); - this._dragScrollIntervalTimer = setInterval(function () { return _this._dragScroll(); }, DRAG_SCROLL_INTERVAL); - }; - SelectionManager.prototype._removeMouseDownListeners = function () { - this._rowContainer.ownerDocument.removeEventListener('mousemove', this._mouseMoveListener); - this._rowContainer.ownerDocument.removeEventListener('mouseup', this._mouseUpListener); - clearInterval(this._dragScrollIntervalTimer); - this._dragScrollIntervalTimer = null; - }; - SelectionManager.prototype._onShiftClick = function (event) { - if (this._model.selectionStart) { - this._model.selectionEnd = this._getMouseBufferCoords(event); - } - }; - SelectionManager.prototype._onSingleClick = function (event) { - this._model.selectionStartLength = 0; - this._model.isSelectAllActive = false; - this._activeSelectionMode = SelectionMode.NORMAL; - this._model.selectionStart = this._getMouseBufferCoords(event); - if (this._model.selectionStart) { - this._model.selectionEnd = null; - var char = this._buffer.get(this._model.selectionStart[1])[this._model.selectionStart[0]]; - if (char[LINE_DATA_WIDTH_INDEX] === 0) { - this._model.selectionStart[0]++; - } - } - }; - SelectionManager.prototype._onDoubleClick = function (event) { - var coords = this._getMouseBufferCoords(event); - if (coords) { - this._activeSelectionMode = SelectionMode.WORD; - this._selectWordAt(coords); - } - }; - SelectionManager.prototype._onTripleClick = function (event) { - var coords = this._getMouseBufferCoords(event); - if (coords) { - this._activeSelectionMode = SelectionMode.LINE; - this._selectLineAt(coords[1]); - } - }; - SelectionManager.prototype._setMouseClickCount = function (event) { - var currentTime = (new Date()).getTime(); - if (currentTime - this._lastMouseDownTime > CLEAR_MOUSE_DOWN_TIME || this._distanceFromLastMousePosition(event) > CLEAR_MOUSE_DISTANCE) { - this._clickCount = 0; - } - this._lastMouseDownTime = currentTime; - this._lastMousePosition = [event.pageX, event.pageY]; - this._clickCount++; - }; - SelectionManager.prototype._distanceFromLastMousePosition = function (event) { - var result = Math.max(Math.abs(this._lastMousePosition[0] - event.pageX), Math.abs(this._lastMousePosition[1] - event.pageY)); - return result; - }; - SelectionManager.prototype._onMouseMove = function (event) { - var previousSelectionEnd = this._model.selectionEnd ? [this._model.selectionEnd[0], this._model.selectionEnd[1]] : null; - this._model.selectionEnd = this._getMouseBufferCoords(event); - if (this._activeSelectionMode === SelectionMode.LINE) { - if (this._model.selectionEnd[1] < this._model.selectionStart[1]) { - this._model.selectionEnd[0] = 0; - } - else { - this._model.selectionEnd[0] = this._terminal.cols; - } - } - else if (this._activeSelectionMode === SelectionMode.WORD) { - this._selectToWordAt(this._model.selectionEnd); - } - this._dragScrollAmount = this._getMouseEventScrollAmount(event); - if (this._dragScrollAmount > 0) { - this._model.selectionEnd[0] = this._terminal.cols - 1; - } - else if (this._dragScrollAmount < 0) { - this._model.selectionEnd[0] = 0; - } - if (this._model.selectionEnd[1] < this._buffer.length) { - var char = this._buffer.get(this._model.selectionEnd[1])[this._model.selectionEnd[0]]; - if (char && char[2] === 0) { - this._model.selectionEnd[0]++; - } - } - if (!previousSelectionEnd || - previousSelectionEnd[0] !== this._model.selectionEnd[0] || - previousSelectionEnd[1] !== this._model.selectionEnd[1]) { - this.refresh(true); - } - }; - SelectionManager.prototype._dragScroll = function () { - if (this._dragScrollAmount) { - this._terminal.scrollDisp(this._dragScrollAmount, false); - if (this._dragScrollAmount > 0) { - this._model.selectionEnd = [this._terminal.cols - 1, this._terminal.ydisp + this._terminal.rows]; - } - else { - this._model.selectionEnd = [0, this._terminal.ydisp]; - } - this.refresh(); - } - }; - SelectionManager.prototype._onMouseUp = function (event) { - this._removeMouseDownListeners(); - }; - SelectionManager.prototype._convertViewportColToCharacterIndex = function (bufferLine, coords) { - var charIndex = coords[0]; - for (var i = 0; coords[0] >= i; i++) { - var char = bufferLine[i]; - if (char[LINE_DATA_WIDTH_INDEX] === 0) { - charIndex--; - } - } - return charIndex; - }; - SelectionManager.prototype._getWordAt = function (coords) { - var bufferLine = this._buffer.get(coords[1]); - var line = this._translateBufferLineToString(bufferLine, false); - var endIndex = this._convertViewportColToCharacterIndex(bufferLine, coords); - var startIndex = endIndex; - var charOffset = coords[0] - startIndex; - var leftWideCharCount = 0; - var rightWideCharCount = 0; - if (line.charAt(startIndex) === ' ') { - while (startIndex > 0 && line.charAt(startIndex - 1) === ' ') { - startIndex--; - } - while (endIndex < line.length && line.charAt(endIndex + 1) === ' ') { - endIndex++; - } - } - else { - var startCol = coords[0]; - var endCol = coords[0]; - if (bufferLine[startCol][LINE_DATA_WIDTH_INDEX] === 0) { - leftWideCharCount++; - startCol--; - } - if (bufferLine[endCol][LINE_DATA_WIDTH_INDEX] === 2) { - rightWideCharCount++; - endCol++; - } - while (startIndex > 0 && !this._isCharWordSeparator(line.charAt(startIndex - 1))) { - if (bufferLine[startCol - 1][LINE_DATA_WIDTH_INDEX] === 0) { - leftWideCharCount++; - startCol--; - } - startIndex--; - startCol--; - } - while (endIndex + 1 < line.length && !this._isCharWordSeparator(line.charAt(endIndex + 1))) { - if (bufferLine[endCol + 1][LINE_DATA_WIDTH_INDEX] === 2) { - rightWideCharCount++; - endCol++; - } - endIndex++; - endCol++; - } - } - var start = startIndex + charOffset - leftWideCharCount; - var length = Math.min(endIndex - startIndex + leftWideCharCount + rightWideCharCount + 1, this._terminal.cols); - return { start: start, length: length }; - }; - SelectionManager.prototype._selectWordAt = function (coords) { - var wordPosition = this._getWordAt(coords); - this._model.selectionStart = [wordPosition.start, coords[1]]; - this._model.selectionStartLength = wordPosition.length; - }; - SelectionManager.prototype._selectToWordAt = function (coords) { - var wordPosition = this._getWordAt(coords); - this._model.selectionEnd = [this._model.areSelectionValuesReversed() ? wordPosition.start : (wordPosition.start + wordPosition.length), coords[1]]; - }; - SelectionManager.prototype._isCharWordSeparator = function (char) { - return WORD_SEPARATORS.indexOf(char) >= 0; - }; - SelectionManager.prototype._selectLineAt = function (line) { - this._model.selectionStart = [0, line]; - this._model.selectionStartLength = this._terminal.cols; - }; - return SelectionManager; -}(EventEmitter_1.EventEmitter)); -exports.SelectionManager = SelectionManager; - -//# sourceMappingURL=SelectionManager.js.map - - -/***/ }), -/* 22 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var SelectionModel = (function () { - function SelectionModel(_terminal) { - this._terminal = _terminal; - this.clearSelection(); - } - SelectionModel.prototype.clearSelection = function () { - this.selectionStart = null; - this.selectionEnd = null; - this.isSelectAllActive = false; - this.selectionStartLength = 0; - }; - Object.defineProperty(SelectionModel.prototype, "finalSelectionStart", { - get: function () { - if (this.isSelectAllActive) { - return [0, 0]; - } - if (!this.selectionEnd || !this.selectionStart) { - return this.selectionStart; - } - return this.areSelectionValuesReversed() ? this.selectionEnd : this.selectionStart; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(SelectionModel.prototype, "finalSelectionEnd", { - get: function () { - if (this.isSelectAllActive) { - return [this._terminal.cols, this._terminal.ybase + this._terminal.rows - 1]; - } - if (!this.selectionStart) { - return null; - } - if (!this.selectionEnd || this.areSelectionValuesReversed()) { - return [this.selectionStart[0] + this.selectionStartLength, this.selectionStart[1]]; - } - if (this.selectionStartLength) { - if (this.selectionEnd[1] === this.selectionStart[1]) { - return [Math.max(this.selectionStart[0] + this.selectionStartLength, this.selectionEnd[0]), this.selectionEnd[1]]; - } - } - return this.selectionEnd; - }, - enumerable: true, - configurable: true - }); - SelectionModel.prototype.areSelectionValuesReversed = function () { - var start = this.selectionStart; - var end = this.selectionEnd; - return start[1] > end[1] || (start[1] === end[1] && start[0] > end[0]); - }; - SelectionModel.prototype.onTrim = function (amount) { - if (this.selectionStart) { - this.selectionStart[1] -= amount; - } - if (this.selectionEnd) { - this.selectionEnd[1] -= amount; - } - if (this.selectionEnd && this.selectionEnd[1] < 0) { - this.clearSelection(); - return true; - } - if (this.selectionStart && this.selectionStart[1] < 0) { - this.selectionStart[1] = 0; - } - return false; - }; - return SelectionModel; -}()); -exports.SelectionModel = SelectionModel; - -//# sourceMappingURL=SelectionModel.js.map - - -/***/ }), -/* 23 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var Viewport = (function () { - function Viewport(terminal, viewportElement, scrollArea, charMeasure) { - var _this = this; - this.terminal = terminal; - this.viewportElement = viewportElement; - this.scrollArea = scrollArea; - this.charMeasure = charMeasure; - this.currentRowHeight = 0; - this.lastRecordedBufferLength = 0; - this.lastRecordedViewportHeight = 0; - this.terminal.on('scroll', this.syncScrollArea.bind(this)); - this.terminal.on('resize', this.syncScrollArea.bind(this)); - this.viewportElement.addEventListener('scroll', this.onScroll.bind(this)); - setTimeout(function () { return _this.syncScrollArea(); }, 0); - } - Viewport.prototype.refresh = function () { - if (this.charMeasure.height > 0) { - var rowHeightChanged = this.charMeasure.height !== this.currentRowHeight; - if (rowHeightChanged) { - this.currentRowHeight = this.charMeasure.height; - this.viewportElement.style.lineHeight = this.charMeasure.height + 'px'; - this.terminal.rowContainer.style.lineHeight = this.charMeasure.height + 'px'; - } - var viewportHeightChanged = this.lastRecordedViewportHeight !== this.terminal.rows; - if (rowHeightChanged || viewportHeightChanged) { - this.lastRecordedViewportHeight = this.terminal.rows; - this.viewportElement.style.height = this.charMeasure.height * this.terminal.rows + 'px'; - this.terminal.selectionContainer.style.height = this.viewportElement.style.height; - } - this.scrollArea.style.height = (this.charMeasure.height * this.lastRecordedBufferLength) + 'px'; - } - }; - Viewport.prototype.syncScrollArea = function () { - if (this.lastRecordedBufferLength !== this.terminal.lines.length) { - this.lastRecordedBufferLength = this.terminal.lines.length; - this.refresh(); - } - else if (this.lastRecordedViewportHeight !== this.terminal.rows) { - this.refresh(); - } - else { - if (this.charMeasure.height !== this.currentRowHeight) { - this.refresh(); - } - } - var scrollTop = this.terminal.ydisp * this.currentRowHeight; - if (this.viewportElement.scrollTop !== scrollTop) { - this.viewportElement.scrollTop = scrollTop; - } - }; - Viewport.prototype.onScroll = function (ev) { - var newRow = Math.round(this.viewportElement.scrollTop / this.currentRowHeight); - var diff = newRow - this.terminal.ydisp; - this.terminal.scrollDisp(diff, true); - }; - Viewport.prototype.onWheel = function (ev) { - if (ev.deltaY === 0) { - return; - } - var multiplier = 1; - if (ev.deltaMode === WheelEvent.DOM_DELTA_LINE) { - multiplier = this.currentRowHeight; - } - else if (ev.deltaMode === WheelEvent.DOM_DELTA_PAGE) { - multiplier = this.currentRowHeight * this.terminal.rows; - } - this.viewportElement.scrollTop += ev.deltaY * multiplier; - ev.preventDefault(); - }; - ; - Viewport.prototype.onTouchStart = function (ev) { - this.lastTouchY = ev.touches[0].pageY; - }; - ; - Viewport.prototype.onTouchMove = function (ev) { - var deltaY = this.lastTouchY - ev.touches[0].pageY; - this.lastTouchY = ev.touches[0].pageY; - if (deltaY === 0) { - return; - } - this.viewportElement.scrollTop += deltaY; - ev.preventDefault(); - }; - ; - return Viewport; -}()); -exports.Viewport = Viewport; - -//# sourceMappingURL=Viewport.js.map - - -/***/ }), -/* 24 */ -/***/ (function(module, exports, __webpack_require__) { - -var map = { - "./attach/attach": 4, - "./attach/attach.js": 4, - "./attach/package.json": 25, - "./fit/fit": 5, - "./fit/fit.js": 5, - "./fit/package.json": 26, - "./fullscreen/fullscreen": 6, - "./fullscreen/fullscreen.css": 27, - "./fullscreen/fullscreen.js": 6, - "./fullscreen/package.json": 28, - "./terminado/package.json": 29, - "./terminado/terminado": 7, - "./terminado/terminado.js": 7 -}; -function webpackContext(req) { - return __webpack_require__(webpackContextResolve(req)); -}; -function webpackContextResolve(req) { - var id = map[req]; - if(!(id + 1)) // check for number or string - throw new Error("Cannot find module '" + req + "'."); - return id; -}; -webpackContext.keys = function webpackContextKeys() { - return Object.keys(map); -}; -webpackContext.resolve = webpackContextResolve; -module.exports = webpackContext; -webpackContext.id = 24; - -/***/ }), -/* 25 */ -/***/ (function(module, exports) { - -module.exports = {"name":"xterm.attach","main":"attach.js","private":true} - -/***/ }), -/* 26 */ -/***/ (function(module, exports) { - -module.exports = {"name":"xterm.fit","main":"fit.js","private":true} - -/***/ }), -/* 27 */ -/***/ (function(module, exports) { - -throw new Error("Module parse failed: /home/yudai/archive/products/2015/gotty/src/github.com/yudai/gotty/js/node_modules/xterm/lib/addons/fullscreen/fullscreen.css Unexpected token (1:0)\nYou may need an appropriate loader to handle this file type.\n| .xterm.fullscreen {\n| position: fixed;\n| top: 0;"); - -/***/ }), -/* 28 */ -/***/ (function(module, exports) { - -module.exports = {"name":"xterm.fullscreen","main":"fullscreen.js","private":true} - -/***/ }), -/* 29 */ -/***/ (function(module, exports) { - -module.exports = {"name":"xterm.terminado","main":"terminado.js","private":true} - -/***/ }), -/* 30 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -function prepareTextForTerminal(text, isMSWindows) { - if (isMSWindows) { - return text.replace(/\r?\n/g, '\r'); - } - return text; -} -exports.prepareTextForTerminal = prepareTextForTerminal; -function copyHandler(ev, term, selectionManager) { - if (term.browser.isMSIE) { - window.clipboardData.setData('Text', selectionManager.selectionText); - } - else { - ev.clipboardData.setData('text/plain', selectionManager.selectionText); - } - ev.preventDefault(); -} -exports.copyHandler = copyHandler; -function pasteHandler(ev, term) { - ev.stopPropagation(); - var text; - var dispatchPaste = function (text) { - text = prepareTextForTerminal(text, term.browser.isMSWindows); - term.handler(text); - term.textarea.value = ''; - term.emit('paste', text); - return term.cancel(ev); - }; - if (term.browser.isMSIE) { - if (window.clipboardData) { - text = window.clipboardData.getData('Text'); - dispatchPaste(text); - } - } - else { - if (ev.clipboardData) { - text = ev.clipboardData.getData('text/plain'); - dispatchPaste(text); - } - } -} -exports.pasteHandler = pasteHandler; -function moveTextAreaUnderMouseCursor(ev, textarea) { - textarea.style.position = 'fixed'; - textarea.style.width = '20px'; - textarea.style.height = '20px'; - textarea.style.left = (ev.clientX - 10) + 'px'; - textarea.style.top = (ev.clientY - 10) + 'px'; - textarea.style.zIndex = '1000'; - textarea.focus(); - setTimeout(function () { - textarea.style.position = null; - textarea.style.width = null; - textarea.style.height = null; - textarea.style.left = null; - textarea.style.top = null; - textarea.style.zIndex = null; - }, 4); -} -exports.moveTextAreaUnderMouseCursor = moveTextAreaUnderMouseCursor; -function rightClickHandler(ev, textarea, selectionManager) { - moveTextAreaUnderMouseCursor(ev, textarea); - textarea.value = selectionManager.selectionText; - textarea.select(); -} -exports.rightClickHandler = rightClickHandler; - -//# sourceMappingURL=Clipboard.js.map - - -/***/ }), -/* 31 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -var EventEmitter_js_1 = __webpack_require__(1); -var CharMeasure = (function (_super) { - __extends(CharMeasure, _super); - function CharMeasure(document, parentElement) { - var _this = _super.call(this) || this; - _this._document = document; - _this._parentElement = parentElement; - return _this; - } - Object.defineProperty(CharMeasure.prototype, "width", { - get: function () { - return this._width; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(CharMeasure.prototype, "height", { - get: function () { - return this._height; - }, - enumerable: true, - configurable: true - }); - CharMeasure.prototype.measure = function () { - var _this = this; - if (!this._measureElement) { - this._measureElement = this._document.createElement('span'); - this._measureElement.style.position = 'absolute'; - this._measureElement.style.top = '0'; - this._measureElement.style.left = '-9999em'; - this._measureElement.textContent = 'W'; - this._measureElement.setAttribute('aria-hidden', 'true'); - this._parentElement.appendChild(this._measureElement); - setTimeout(function () { return _this._doMeasure(); }, 0); - } - else { - this._doMeasure(); - } - }; - CharMeasure.prototype._doMeasure = function () { - var geometry = this._measureElement.getBoundingClientRect(); - if (geometry.width === 0 || geometry.height === 0) { - return; - } - if (this._width !== geometry.width || this._height !== geometry.height) { - this._width = geometry.width; - this._height = geometry.height; - this.emit('charsizechanged'); - } - }; - return CharMeasure; -}(EventEmitter_js_1.EventEmitter)); -exports.CharMeasure = CharMeasure; - -//# sourceMappingURL=CharMeasure.js.map - - -/***/ }), -/* 32 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -var EventEmitter_1 = __webpack_require__(1); -var CircularList = (function (_super) { - __extends(CircularList, _super); - function CircularList(maxLength) { - var _this = _super.call(this) || this; - _this._array = new Array(maxLength); - _this._startIndex = 0; - _this._length = 0; - return _this; - } - Object.defineProperty(CircularList.prototype, "maxLength", { - get: function () { - return this._array.length; - }, - set: function (newMaxLength) { - var newArray = new Array(newMaxLength); - for (var i = 0; i < Math.min(newMaxLength, this.length); i++) { - newArray[i] = this._array[this._getCyclicIndex(i)]; - } - this._array = newArray; - this._startIndex = 0; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(CircularList.prototype, "length", { - get: function () { - return this._length; - }, - set: function (newLength) { - if (newLength > this._length) { - for (var i = this._length; i < newLength; i++) { - this._array[i] = undefined; - } - } - this._length = newLength; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(CircularList.prototype, "forEach", { - get: function () { - var _this = this; - return function (callbackfn) { - var i = 0; - var length = _this.length; - for (var i_1 = 0; i_1 < length; i_1++) { - callbackfn(_this.get(i_1), i_1); - } - }; - }, - enumerable: true, - configurable: true - }); - CircularList.prototype.get = function (index) { - return this._array[this._getCyclicIndex(index)]; - }; - CircularList.prototype.set = function (index, value) { - this._array[this._getCyclicIndex(index)] = value; - }; - CircularList.prototype.push = function (value) { - this._array[this._getCyclicIndex(this._length)] = value; - if (this._length === this.maxLength) { - this._startIndex++; - if (this._startIndex === this.maxLength) { - this._startIndex = 0; - } - this.emit('trim', 1); - } - else { - this._length++; - } - }; - CircularList.prototype.pop = function () { - return this._array[this._getCyclicIndex(this._length-- - 1)]; - }; - CircularList.prototype.splice = function (start, deleteCount) { - var items = []; - for (var _i = 2; _i < arguments.length; _i++) { - items[_i - 2] = arguments[_i]; - } - if (deleteCount) { - for (var i = start; i < this._length - deleteCount; i++) { - this._array[this._getCyclicIndex(i)] = this._array[this._getCyclicIndex(i + deleteCount)]; - } - this._length -= deleteCount; - } - if (items && items.length) { - for (var i = this._length - 1; i >= start; i--) { - this._array[this._getCyclicIndex(i + items.length)] = this._array[this._getCyclicIndex(i)]; - } - for (var i = 0; i < items.length; i++) { - this._array[this._getCyclicIndex(start + i)] = items[i]; - } - if (this._length + items.length > this.maxLength) { - var countToTrim = (this._length + items.length) - this.maxLength; - this._startIndex += countToTrim; - this._length = this.maxLength; - this.emit('trim', countToTrim); - } - else { - this._length += items.length; - } - } - }; - CircularList.prototype.trimStart = function (count) { - if (count > this._length) { - count = this._length; - } - this._startIndex += count; - this._length -= count; - this.emit('trim', count); - }; - CircularList.prototype.shiftElements = function (start, count, offset) { - if (count <= 0) { - return; - } - if (start < 0 || start >= this._length) { - throw new Error('start argument out of range'); - } - if (start + offset < 0) { - throw new Error('Cannot shift elements in list beyond index 0'); - } - if (offset > 0) { - for (var i = count - 1; i >= 0; i--) { - this.set(start + i + offset, this.get(start + i)); - } - var expandListBy = (start + count + offset) - this._length; - if (expandListBy > 0) { - this._length += expandListBy; - while (this._length > this.maxLength) { - this._length--; - this._startIndex++; - this.emit('trim', 1); - } - } - } - else { - for (var i = 0; i < count; i++) { - this.set(start + i + offset, this.get(start + i)); - } - } - }; - CircularList.prototype._getCyclicIndex = function (index) { - return (this._startIndex + index) % this.maxLength; - }; - return CircularList; -}(EventEmitter_1.EventEmitter)); -exports.CircularList = CircularList; - -//# sourceMappingURL=CircularList.js.map - - -/***/ }), -/* 33 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var DomElementObjectPool = (function () { - function DomElementObjectPool(type) { - this.type = type; - this._type = type; - this._pool = []; - this._inUse = {}; - } - DomElementObjectPool.prototype.acquire = function () { - var element; - if (this._pool.length === 0) { - element = this._createNew(); - } - else { - element = this._pool.pop(); - } - this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)] = element; - return element; - }; - DomElementObjectPool.prototype.release = function (element) { - if (!this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)]) { - throw new Error('Could not release an element not yet acquired'); - } - delete this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)]; - this._cleanElement(element); - this._pool.push(element); - }; - DomElementObjectPool.prototype._createNew = function () { - var element = document.createElement(this._type); - var id = DomElementObjectPool._objectCount++; - element.setAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE, id.toString(10)); - return element; - }; - DomElementObjectPool.prototype._cleanElement = function (element) { - element.className = ''; - element.innerHTML = ''; - }; - return DomElementObjectPool; -}()); -DomElementObjectPool.OBJECT_ID_ATTRIBUTE = 'data-obj-id'; -DomElementObjectPool._objectCount = 0; -exports.DomElementObjectPool = DomElementObjectPool; - -//# sourceMappingURL=DomElementObjectPool.js.map - - -/***/ }), -/* 34 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -function contains(arr, el) { - return arr.indexOf(el) >= 0; -} -exports.contains = contains; -; - -//# sourceMappingURL=Generic.js.map - - -/***/ }) -/******/ ]); -//# sourceMappingURL=gotty-bundle.js.map \ No newline at end of file +!function(t){e.exports=t(r(0))}(function(e){"use strict";var t={};return t.terminadoAttach=function(e,t,r,i){r=void 0===r||r,e.socket=t,e._flushBuffer=function(){e.write(e._attachSocketBuffer),e._attachSocketBuffer=null,clearTimeout(e._attachSocketBufferTimer),e._attachSocketBufferTimer=null},e._pushToBuffer=function(t){e._attachSocketBuffer?e._attachSocketBuffer+=t:(e._attachSocketBuffer=t,setTimeout(e._flushBuffer,10))},e._getMessage=function(t){var r=JSON.parse(t.data);"stdout"==r[0]&&(i?e._pushToBuffer(r[1]):e.write(r[1]))},e._sendData=function(e){t.send(JSON.stringify(["stdin",e]))},e._setSize=function(e){t.send(JSON.stringify(["set_size",e.rows,e.cols]))},t.addEventListener("message",e._getMessage),r&&e.on("data",e._sendData),e.on("resize",e._setSize),t.addEventListener("close",e.terminadoDetach.bind(e,t)),t.addEventListener("error",e.terminadoDetach.bind(e,t))},t.terminadoDetach=function(e,t){e.off("data",e._sendData),(t=void 0===t?e.socket:t)&&t.removeEventListener("message",e._getMessage),delete e.socket},e.prototype.terminadoAttach=function(e,r,i){return t.terminadoAttach(this,e,r,i)},e.prototype.terminadoDetach=function(e){return t.terminadoDetach(this,e)},t})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(34),o="undefined"==typeof navigator,s=o?"node":navigator.userAgent,n=o?"node":navigator.platform;t.isFirefox=!!~s.indexOf("Firefox"),t.isMSIE=!!~s.indexOf("MSIE")||!!~s.indexOf("Trident"),t.isMac=i.contains(["Macintosh","MacIntel","MacPPC","Mac68K"],n),t.isIpad="iPad"===n,t.isIphone="iPhone"===n,t.isMSWindows=i.contains(["Windows","Win16","Win32","WinCE"],n),t.isLinux=n.indexOf("Linux")>=0},function(e,t,r){"use strict";function i(e,t){if(null==e.pageX)return null;for(var r=e.pageX,i=e.pageY;t&&t!==self.document.documentElement;)r-=t.offsetLeft,i-=t.offsetTop,t="offsetParent"in t?t.offsetParent:t.parentElement;return[r,i]}function o(e,t,r,o,s,n){var a=i(e,t);return a[0]=Math.ceil((a[0]+(n?r.width/2:0))/r.width),a[1]=Math.ceil(a[1]/r.height),a[0]=Math.min(Math.max(a[0],1),o+1),a[1]=Math.min(Math.max(a[1],1),s+1),a}Object.defineProperty(t,"__esModule",{value:!0}),t.getCoordsRelativeToElement=i,t.getCoords=o,t.getRawByteCoords=function(e,t,r,i,s){var n=o(e,t,r,i,s),a=n[0],l=n[1];return a+=32,l+=32,{x:a,y:l}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(14),o=function(){function e(e){this.elem=e,i.hterm.defaultStorage=new i.lib.Storage.Memory,this.term=new i.hterm.Terminal,this.term.getPrefs().set("send-encoding","raw"),this.term.decorate(this.elem),this.io=this.term.io.push(),this.term.installKeyboard()}return e.prototype.info=function(){return{columns:this.columns,rows:this.rows}},e.prototype.output=function(e){null!=this.term.io&&this.term.io.writeUTF16(e)},e.prototype.showMessage=function(e,t){this.message=e,t>0?this.term.io.showOverlay(e,t):this.term.io.showOverlay(e,null)},e.prototype.removeMessage=function(){this.term.io.showOverlay(this.message,0)},e.prototype.setWindowTitle=function(e){this.term.setWindowTitle(e)},e.prototype.setPreferences=function(e){var t=this;Object.keys(e).forEach(function(r){t.term.getPrefs().set(r,e[r])})},e.prototype.onInput=function(e){this.io.onVTKeystroke=function(t){e(t)},this.io.sendString=function(t){e(t)}},e.prototype.onResize=function(e){var t=this;this.io.onTerminalResize=function(r,i){t.columns=r,t.rows=i,e(r,i)}},e.prototype.deactivate=function(){this.io.onVTKeystroke=null,this.io.sendString=null,this.io.onTerminalResize=null,this.term.uninstallKeyboard()},e.prototype.reset=function(){this.removeMessage(),this.term.installKeyboard()},e.prototype.close=function(){this.term.uninstallKeyboard()},e}();t.Hterm=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){this.url=e,this.protocols=t}return e.prototype.create=function(){return new o(this.url,this.protocols)},e}();t.ConnectionFactory=i;var o=function(){function e(e,t){this.bare=new WebSocket(e,t)}return e.prototype.open=function(){},e.prototype.close=function(){this.bare.close()},e.prototype.send=function(e){this.bare.send(e)},e.prototype.isOpen=function(){return this.bare.readyState==WebSocket.CONNECTING||this.bare.readyState==WebSocket.OPEN},e.prototype.onOpen=function(e){this.bare.onopen=function(t){e()}},e.prototype.onReceive=function(e){this.bare.onmessage=function(t){e(t.data)}},e.prototype.onClose=function(e){this.bare.onclose=function(t){e()}},e}();t.Connection=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.protocols=["webtty"],t.msgInputUnknown="0",t.msgInput="1",t.msgPing="2",t.msgResizeTerminal="3",t.msgUnknownOutput="0",t.msgOutput="1",t.msgPong="2",t.msgSetWindowTitle="3",t.msgSetPreferences="4",t.msgSetReconnect="5";var i=function(){function e(e,t,r,i){this.term=e,this.connectionFactory=t,this.args=r,this.authToken=i,this.reconnect=-1}return e.prototype.open=function(){var e,r,i=this,o=this.connectionFactory.create(),s=function(){o.onOpen(function(){var r=i.term.info();o.send(JSON.stringify({Arguments:i.args,AuthToken:i.authToken}));var s=function(e,r){o.send(t.msgResizeTerminal+JSON.stringify({columns:e,rows:r}))};i.term.onResize(s),s(r.columns,r.rows),i.term.onInput(function(e){o.send(t.msgInput+e)}),e=setInterval(function(){o.send(t.msgPing)},3e4)}),o.onReceive(function(e){var r=e.slice(1);switch(e[0]){case t.msgOutput:i.term.output(decodeURIComponent(Array.prototype.map.call(atob(r),function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join("")));break;case t.msgPong:break;case t.msgSetWindowTitle:i.term.setWindowTitle(r);break;case t.msgSetPreferences:var o=JSON.parse(r);i.term.setPreferences(o);break;case t.msgSetReconnect:var s=JSON.parse(r);console.log("Enabling reconnect: "+s+" seconds"),i.reconnect=s}}),o.onClose(function(){clearInterval(e),i.term.deactivate(),i.term.showMessage("Connection Closed",0),i.reconnect>0&&(r=setTimeout(function(){o=i.connectionFactory.create(),i.term.reset(),s()},1e3*i.reconnect))}),o.open()};return s(),function(){clearTimeout(r),o.close()}},e}();t.WebTTY=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(0);i.loadAddon("fit");var o=function(){function e(e){var t=this;this.elem=e,this.term=new i,this.message=e.ownerDocument.createElement("div"),this.message.className="xterm-overlay",this.messageTimeout=2e3,this.resizeListener=function(){t.term.fit(),t.term.scrollToBottom(),t.showMessage(String(t.term.cols)+"x"+String(t.term.rows),t.messageTimeout)},this.term.on("open",function(){t.resizeListener(),window.addEventListener("resize",function(){t.resizeListener()})}),this.term.open(e,!0)}return e.prototype.info=function(){return{columns:this.term.cols,rows:this.term.rows}},e.prototype.output=function(e){this.term.write(e)},e.prototype.showMessage=function(e,t){var r=this;this.message.textContent=e,this.elem.appendChild(this.message),this.messageTimer&&clearTimeout(this.messageTimer),t>0&&(this.messageTimer=setTimeout(function(){r.elem.removeChild(r.message)},t))},e.prototype.removeMessage=function(){this.message.parentNode==this.elem&&this.elem.removeChild(this.message)},e.prototype.setWindowTitle=function(e){document.title=e},e.prototype.setPreferences=function(e){},e.prototype.onInput=function(e){this.term.on("data",function(t){e(t)})},e.prototype.onResize=function(e){this.term.on("resize",function(t){e(t.cols,t.rows)})},e.prototype.deactivate=function(){this.term.off("data"),this.term.off("resize"),this.term.blur()},e.prototype.reset=function(){this.removeMessage(),this.term.clear()},e.prototype.close=function(){window.removeEventListener("resize",this.resizeListener),this.term.destroy()},e}();t.Xterm=o},function(e,t,r){"use strict";if(void 0!==i)throw new Error('Global "lib" object already exists.');var i={};i.runtimeDependencies_={},i.initCallbacks_=[],i.rtdep=function(e){var t;try{throw new Error}catch(e){var r=e.stack.split("\n");t=r.length>=3?r[2].replace(/^\s*at\s+/,""):r[1].replace(/^\s*global code@/,"")}for(var o=0;ot.length&&(t=t.repeat(e/t.length+1)),t.slice(0,e)+String(this))}),String.prototype.padEnd||(String.prototype.padEnd=function(e,t){return(e-=this.length)<=0?String(this):(void 0===t&&(t=" "),e>t.length&&(t=t.repeat(e/t.length+1)),String(this)+t.slice(0,e))}),i.colors={},i.colors.re_={hex16:/#([a-f0-9])([a-f0-9])([a-f0-9])/i,hex24:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/i,rgb:new RegExp("^/s*rgb/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*/)/s*$".replace(/\//g,"\\"),"i"),rgba:new RegExp("^/s*rgba/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*(?:,/s*(/d+(?:/./d+)?)/s*)/)/s*$".replace(/\//g,"\\"),"i"),rgbx:new RegExp("^/s*rgba?/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*(?:,/s*(/d+(?:/./d+)?)/s*)?/)/s*$".replace(/\//g,"\\"),"i"),x11rgb:/^\s*rgb:([a-f0-9]{1,4})\/([a-f0-9]{1,4})\/([a-f0-9]{1,4})\s*$/i,name:/[a-z][a-z0-9\s]+/},i.colors.rgbToX11=function(e){function t(e){return e=(257*Math.min(e,255)).toString(16),i.f.zpad(e,4)}var r=e.match(i.colors.re_.rgbx);return r?"rgb:"+t(r[1])+"/"+t(r[2])+"/"+t(r[3]):null},i.colors.x11HexToCSS=function(e){if(!e.startsWith("#"))return null;if(e=e.substr(1),-1==[3,6,9,12].indexOf(e.length))return null;if(e.match(/[^a-f0-9]/i))return null;var t=e.length/3,r=e.substr(0,t),o=e.substr(t,t),s=e.substr(t+t,t);return i.colors.arrayToRGBA([r,o,s].map(function(e){return e=parseInt(e,16),2==t?e:1==t?e<<4:e>>4*(t-2)}))},i.colors.x11ToCSS=function(e){var t=e.match(i.colors.re_.x11rgb);return t?(t.splice(0,1),i.colors.arrayToRGBA(t.map(function(e){return 1==e.length?parseInt(e+e,16):2==e.length?parseInt(e,16):(3==e.length&&(e+=e.substr(2)),Math.round(parseInt(e,16)/257))}))):e.startsWith("#")?i.colors.x11HexToCSS(e):i.colors.nameToRGB(e)},i.colors.hexToRGB=function(e){function t(e){4==e.length&&(e=e.replace(r,function(e,t,r,i){return"#"+t+t+r+r+i+i}));var t=e.match(o);return t?"rgb("+parseInt(t[1],16)+", "+parseInt(t[2],16)+", "+parseInt(t[3],16)+")":null}var r=i.colors.re_.hex16,o=i.colors.re_.hex24;if(e instanceof Array)for(var s=0;s3?e[3]:1;return"rgba("+e[0]+", "+e[1]+", "+e[2]+", "+t+")"},i.colors.setAlpha=function(e,t){var r=i.colors.crackRGB(e);return r[3]=t,i.colors.arrayToRGBA(r)},i.colors.mix=function(e,t,r){for(var o=i.colors.crackRGB(e),s=i.colors.crackRGB(t),n=0;n<4;++n){var a=s[n]-o[n];o[n]=Math.round(parseInt(o[n])+a*r)}return i.colors.arrayToRGBA(o)},i.colors.crackRGB=function(e){if(e.startsWith("rgba")){if(t=e.match(i.colors.re_.rgba))return t.shift(),t}else{var t=e.match(i.colors.re_.rgb);if(t)return t.shift(),t.push(1),t}return console.error("Couldn't crack: "+e),null},i.colors.nameToRGB=function(e){return e in i.colors.colorNames?i.colors.colorNames[e]:(e=e.toLowerCase())in i.colors.colorNames?i.colors.colorNames[e]:(e=e.replace(/\s+/g,""))in i.colors.colorNames?i.colors.colorNames[e]:null},i.colors.stockColorPalette=i.colors.hexToRGB(["#000000","#CC0000","#4E9A06","#C4A000","#3465A4","#75507B","#06989A","#D3D7CF","#555753","#EF2929","#00BA13","#FCE94F","#729FCF","#F200CB","#00B5BD","#EEEEEC","#000000","#00005F","#000087","#0000AF","#0000D7","#0000FF","#005F00","#005F5F","#005F87","#005FAF","#005FD7","#005FFF","#008700","#00875F","#008787","#0087AF","#0087D7","#0087FF","#00AF00","#00AF5F","#00AF87","#00AFAF","#00AFD7","#00AFFF","#00D700","#00D75F","#00D787","#00D7AF","#00D7D7","#00D7FF","#00FF00","#00FF5F","#00FF87","#00FFAF","#00FFD7","#00FFFF","#5F0000","#5F005F","#5F0087","#5F00AF","#5F00D7","#5F00FF","#5F5F00","#5F5F5F","#5F5F87","#5F5FAF","#5F5FD7","#5F5FFF","#5F8700","#5F875F","#5F8787","#5F87AF","#5F87D7","#5F87FF","#5FAF00","#5FAF5F","#5FAF87","#5FAFAF","#5FAFD7","#5FAFFF","#5FD700","#5FD75F","#5FD787","#5FD7AF","#5FD7D7","#5FD7FF","#5FFF00","#5FFF5F","#5FFF87","#5FFFAF","#5FFFD7","#5FFFFF","#870000","#87005F","#870087","#8700AF","#8700D7","#8700FF","#875F00","#875F5F","#875F87","#875FAF","#875FD7","#875FFF","#878700","#87875F","#878787","#8787AF","#8787D7","#8787FF","#87AF00","#87AF5F","#87AF87","#87AFAF","#87AFD7","#87AFFF","#87D700","#87D75F","#87D787","#87D7AF","#87D7D7","#87D7FF","#87FF00","#87FF5F","#87FF87","#87FFAF","#87FFD7","#87FFFF","#AF0000","#AF005F","#AF0087","#AF00AF","#AF00D7","#AF00FF","#AF5F00","#AF5F5F","#AF5F87","#AF5FAF","#AF5FD7","#AF5FFF","#AF8700","#AF875F","#AF8787","#AF87AF","#AF87D7","#AF87FF","#AFAF00","#AFAF5F","#AFAF87","#AFAFAF","#AFAFD7","#AFAFFF","#AFD700","#AFD75F","#AFD787","#AFD7AF","#AFD7D7","#AFD7FF","#AFFF00","#AFFF5F","#AFFF87","#AFFFAF","#AFFFD7","#AFFFFF","#D70000","#D7005F","#D70087","#D700AF","#D700D7","#D700FF","#D75F00","#D75F5F","#D75F87","#D75FAF","#D75FD7","#D75FFF","#D78700","#D7875F","#D78787","#D787AF","#D787D7","#D787FF","#D7AF00","#D7AF5F","#D7AF87","#D7AFAF","#D7AFD7","#D7AFFF","#D7D700","#D7D75F","#D7D787","#D7D7AF","#D7D7D7","#D7D7FF","#D7FF00","#D7FF5F","#D7FF87","#D7FFAF","#D7FFD7","#D7FFFF","#FF0000","#FF005F","#FF0087","#FF00AF","#FF00D7","#FF00FF","#FF5F00","#FF5F5F","#FF5F87","#FF5FAF","#FF5FD7","#FF5FFF","#FF8700","#FF875F","#FF8787","#FF87AF","#FF87D7","#FF87FF","#FFAF00","#FFAF5F","#FFAF87","#FFAFAF","#FFAFD7","#FFAFFF","#FFD700","#FFD75F","#FFD787","#FFD7AF","#FFD7D7","#FFD7FF","#FFFF00","#FFFF5F","#FFFF87","#FFFFAF","#FFFFD7","#FFFFFF","#080808","#121212","#1C1C1C","#262626","#303030","#3A3A3A","#444444","#4E4E4E","#585858","#626262","#6C6C6C","#767676","#808080","#8A8A8A","#949494","#9E9E9E","#A8A8A8","#B2B2B2","#BCBCBC","#C6C6C6","#D0D0D0","#DADADA","#E4E4E4","#EEEEEE"]),i.colors.colorPalette=i.colors.stockColorPalette,i.colors.colorNames={aliceblue:"rgb(240, 248, 255)",antiquewhite:"rgb(250, 235, 215)",antiquewhite1:"rgb(255, 239, 219)",antiquewhite2:"rgb(238, 223, 204)",antiquewhite3:"rgb(205, 192, 176)",antiquewhite4:"rgb(139, 131, 120)",aquamarine:"rgb(127, 255, 212)",aquamarine1:"rgb(127, 255, 212)",aquamarine2:"rgb(118, 238, 198)",aquamarine3:"rgb(102, 205, 170)",aquamarine4:"rgb(69, 139, 116)",azure:"rgb(240, 255, 255)",azure1:"rgb(240, 255, 255)",azure2:"rgb(224, 238, 238)",azure3:"rgb(193, 205, 205)",azure4:"rgb(131, 139, 139)",beige:"rgb(245, 245, 220)",bisque:"rgb(255, 228, 196)",bisque1:"rgb(255, 228, 196)",bisque2:"rgb(238, 213, 183)",bisque3:"rgb(205, 183, 158)",bisque4:"rgb(139, 125, 107)",black:"rgb(0, 0, 0)",blanchedalmond:"rgb(255, 235, 205)",blue:"rgb(0, 0, 255)",blue1:"rgb(0, 0, 255)",blue2:"rgb(0, 0, 238)",blue3:"rgb(0, 0, 205)",blue4:"rgb(0, 0, 139)",blueviolet:"rgb(138, 43, 226)",brown:"rgb(165, 42, 42)",brown1:"rgb(255, 64, 64)",brown2:"rgb(238, 59, 59)",brown3:"rgb(205, 51, 51)",brown4:"rgb(139, 35, 35)",burlywood:"rgb(222, 184, 135)",burlywood1:"rgb(255, 211, 155)",burlywood2:"rgb(238, 197, 145)",burlywood3:"rgb(205, 170, 125)",burlywood4:"rgb(139, 115, 85)",cadetblue:"rgb(95, 158, 160)",cadetblue1:"rgb(152, 245, 255)",cadetblue2:"rgb(142, 229, 238)",cadetblue3:"rgb(122, 197, 205)",cadetblue4:"rgb(83, 134, 139)",chartreuse:"rgb(127, 255, 0)",chartreuse1:"rgb(127, 255, 0)",chartreuse2:"rgb(118, 238, 0)",chartreuse3:"rgb(102, 205, 0)",chartreuse4:"rgb(69, 139, 0)",chocolate:"rgb(210, 105, 30)",chocolate1:"rgb(255, 127, 36)",chocolate2:"rgb(238, 118, 33)",chocolate3:"rgb(205, 102, 29)",chocolate4:"rgb(139, 69, 19)",coral:"rgb(255, 127, 80)",coral1:"rgb(255, 114, 86)",coral2:"rgb(238, 106, 80)",coral3:"rgb(205, 91, 69)",coral4:"rgb(139, 62, 47)",cornflowerblue:"rgb(100, 149, 237)",cornsilk:"rgb(255, 248, 220)",cornsilk1:"rgb(255, 248, 220)",cornsilk2:"rgb(238, 232, 205)",cornsilk3:"rgb(205, 200, 177)",cornsilk4:"rgb(139, 136, 120)",cyan:"rgb(0, 255, 255)",cyan1:"rgb(0, 255, 255)",cyan2:"rgb(0, 238, 238)",cyan3:"rgb(0, 205, 205)",cyan4:"rgb(0, 139, 139)",darkblue:"rgb(0, 0, 139)",darkcyan:"rgb(0, 139, 139)",darkgoldenrod:"rgb(184, 134, 11)",darkgoldenrod1:"rgb(255, 185, 15)",darkgoldenrod2:"rgb(238, 173, 14)",darkgoldenrod3:"rgb(205, 149, 12)",darkgoldenrod4:"rgb(139, 101, 8)",darkgray:"rgb(169, 169, 169)",darkgreen:"rgb(0, 100, 0)",darkgrey:"rgb(169, 169, 169)",darkkhaki:"rgb(189, 183, 107)",darkmagenta:"rgb(139, 0, 139)",darkolivegreen:"rgb(85, 107, 47)",darkolivegreen1:"rgb(202, 255, 112)",darkolivegreen2:"rgb(188, 238, 104)",darkolivegreen3:"rgb(162, 205, 90)",darkolivegreen4:"rgb(110, 139, 61)",darkorange:"rgb(255, 140, 0)",darkorange1:"rgb(255, 127, 0)",darkorange2:"rgb(238, 118, 0)",darkorange3:"rgb(205, 102, 0)",darkorange4:"rgb(139, 69, 0)",darkorchid:"rgb(153, 50, 204)",darkorchid1:"rgb(191, 62, 255)",darkorchid2:"rgb(178, 58, 238)",darkorchid3:"rgb(154, 50, 205)",darkorchid4:"rgb(104, 34, 139)",darkred:"rgb(139, 0, 0)",darksalmon:"rgb(233, 150, 122)",darkseagreen:"rgb(143, 188, 143)",darkseagreen1:"rgb(193, 255, 193)",darkseagreen2:"rgb(180, 238, 180)",darkseagreen3:"rgb(155, 205, 155)",darkseagreen4:"rgb(105, 139, 105)",darkslateblue:"rgb(72, 61, 139)",darkslategray:"rgb(47, 79, 79)",darkslategray1:"rgb(151, 255, 255)",darkslategray2:"rgb(141, 238, 238)",darkslategray3:"rgb(121, 205, 205)",darkslategray4:"rgb(82, 139, 139)",darkslategrey:"rgb(47, 79, 79)",darkturquoise:"rgb(0, 206, 209)",darkviolet:"rgb(148, 0, 211)",debianred:"rgb(215, 7, 81)",deeppink:"rgb(255, 20, 147)",deeppink1:"rgb(255, 20, 147)",deeppink2:"rgb(238, 18, 137)",deeppink3:"rgb(205, 16, 118)",deeppink4:"rgb(139, 10, 80)",deepskyblue:"rgb(0, 191, 255)",deepskyblue1:"rgb(0, 191, 255)",deepskyblue2:"rgb(0, 178, 238)",deepskyblue3:"rgb(0, 154, 205)",deepskyblue4:"rgb(0, 104, 139)",dimgray:"rgb(105, 105, 105)",dimgrey:"rgb(105, 105, 105)",dodgerblue:"rgb(30, 144, 255)",dodgerblue1:"rgb(30, 144, 255)",dodgerblue2:"rgb(28, 134, 238)",dodgerblue3:"rgb(24, 116, 205)",dodgerblue4:"rgb(16, 78, 139)",firebrick:"rgb(178, 34, 34)",firebrick1:"rgb(255, 48, 48)",firebrick2:"rgb(238, 44, 44)",firebrick3:"rgb(205, 38, 38)",firebrick4:"rgb(139, 26, 26)",floralwhite:"rgb(255, 250, 240)",forestgreen:"rgb(34, 139, 34)",gainsboro:"rgb(220, 220, 220)",ghostwhite:"rgb(248, 248, 255)",gold:"rgb(255, 215, 0)",gold1:"rgb(255, 215, 0)",gold2:"rgb(238, 201, 0)",gold3:"rgb(205, 173, 0)",gold4:"rgb(139, 117, 0)",goldenrod:"rgb(218, 165, 32)",goldenrod1:"rgb(255, 193, 37)",goldenrod2:"rgb(238, 180, 34)",goldenrod3:"rgb(205, 155, 29)",goldenrod4:"rgb(139, 105, 20)",gray:"rgb(190, 190, 190)",gray0:"rgb(0, 0, 0)",gray1:"rgb(3, 3, 3)",gray10:"rgb(26, 26, 26)",gray100:"rgb(255, 255, 255)",gray11:"rgb(28, 28, 28)",gray12:"rgb(31, 31, 31)",gray13:"rgb(33, 33, 33)",gray14:"rgb(36, 36, 36)",gray15:"rgb(38, 38, 38)",gray16:"rgb(41, 41, 41)",gray17:"rgb(43, 43, 43)",gray18:"rgb(46, 46, 46)",gray19:"rgb(48, 48, 48)",gray2:"rgb(5, 5, 5)",gray20:"rgb(51, 51, 51)",gray21:"rgb(54, 54, 54)",gray22:"rgb(56, 56, 56)",gray23:"rgb(59, 59, 59)",gray24:"rgb(61, 61, 61)",gray25:"rgb(64, 64, 64)",gray26:"rgb(66, 66, 66)",gray27:"rgb(69, 69, 69)",gray28:"rgb(71, 71, 71)",gray29:"rgb(74, 74, 74)",gray3:"rgb(8, 8, 8)",gray30:"rgb(77, 77, 77)",gray31:"rgb(79, 79, 79)",gray32:"rgb(82, 82, 82)",gray33:"rgb(84, 84, 84)",gray34:"rgb(87, 87, 87)",gray35:"rgb(89, 89, 89)",gray36:"rgb(92, 92, 92)",gray37:"rgb(94, 94, 94)",gray38:"rgb(97, 97, 97)",gray39:"rgb(99, 99, 99)",gray4:"rgb(10, 10, 10)",gray40:"rgb(102, 102, 102)",gray41:"rgb(105, 105, 105)",gray42:"rgb(107, 107, 107)",gray43:"rgb(110, 110, 110)",gray44:"rgb(112, 112, 112)",gray45:"rgb(115, 115, 115)",gray46:"rgb(117, 117, 117)",gray47:"rgb(120, 120, 120)",gray48:"rgb(122, 122, 122)",gray49:"rgb(125, 125, 125)",gray5:"rgb(13, 13, 13)",gray50:"rgb(127, 127, 127)",gray51:"rgb(130, 130, 130)",gray52:"rgb(133, 133, 133)",gray53:"rgb(135, 135, 135)",gray54:"rgb(138, 138, 138)",gray55:"rgb(140, 140, 140)",gray56:"rgb(143, 143, 143)",gray57:"rgb(145, 145, 145)",gray58:"rgb(148, 148, 148)",gray59:"rgb(150, 150, 150)",gray6:"rgb(15, 15, 15)",gray60:"rgb(153, 153, 153)",gray61:"rgb(156, 156, 156)",gray62:"rgb(158, 158, 158)",gray63:"rgb(161, 161, 161)",gray64:"rgb(163, 163, 163)",gray65:"rgb(166, 166, 166)",gray66:"rgb(168, 168, 168)",gray67:"rgb(171, 171, 171)",gray68:"rgb(173, 173, 173)",gray69:"rgb(176, 176, 176)",gray7:"rgb(18, 18, 18)",gray70:"rgb(179, 179, 179)",gray71:"rgb(181, 181, 181)",gray72:"rgb(184, 184, 184)",gray73:"rgb(186, 186, 186)",gray74:"rgb(189, 189, 189)",gray75:"rgb(191, 191, 191)",gray76:"rgb(194, 194, 194)",gray77:"rgb(196, 196, 196)",gray78:"rgb(199, 199, 199)",gray79:"rgb(201, 201, 201)",gray8:"rgb(20, 20, 20)",gray80:"rgb(204, 204, 204)",gray81:"rgb(207, 207, 207)",gray82:"rgb(209, 209, 209)",gray83:"rgb(212, 212, 212)",gray84:"rgb(214, 214, 214)",gray85:"rgb(217, 217, 217)",gray86:"rgb(219, 219, 219)",gray87:"rgb(222, 222, 222)",gray88:"rgb(224, 224, 224)",gray89:"rgb(227, 227, 227)",gray9:"rgb(23, 23, 23)",gray90:"rgb(229, 229, 229)",gray91:"rgb(232, 232, 232)",gray92:"rgb(235, 235, 235)",gray93:"rgb(237, 237, 237)",gray94:"rgb(240, 240, 240)",gray95:"rgb(242, 242, 242)",gray96:"rgb(245, 245, 245)",gray97:"rgb(247, 247, 247)",gray98:"rgb(250, 250, 250)",gray99:"rgb(252, 252, 252)",green:"rgb(0, 255, 0)",green1:"rgb(0, 255, 0)",green2:"rgb(0, 238, 0)",green3:"rgb(0, 205, 0)",green4:"rgb(0, 139, 0)",greenyellow:"rgb(173, 255, 47)",grey:"rgb(190, 190, 190)",grey0:"rgb(0, 0, 0)",grey1:"rgb(3, 3, 3)",grey10:"rgb(26, 26, 26)",grey100:"rgb(255, 255, 255)",grey11:"rgb(28, 28, 28)",grey12:"rgb(31, 31, 31)",grey13:"rgb(33, 33, 33)",grey14:"rgb(36, 36, 36)",grey15:"rgb(38, 38, 38)",grey16:"rgb(41, 41, 41)",grey17:"rgb(43, 43, 43)",grey18:"rgb(46, 46, 46)",grey19:"rgb(48, 48, 48)",grey2:"rgb(5, 5, 5)",grey20:"rgb(51, 51, 51)",grey21:"rgb(54, 54, 54)",grey22:"rgb(56, 56, 56)",grey23:"rgb(59, 59, 59)",grey24:"rgb(61, 61, 61)",grey25:"rgb(64, 64, 64)",grey26:"rgb(66, 66, 66)",grey27:"rgb(69, 69, 69)",grey28:"rgb(71, 71, 71)",grey29:"rgb(74, 74, 74)",grey3:"rgb(8, 8, 8)",grey30:"rgb(77, 77, 77)",grey31:"rgb(79, 79, 79)",grey32:"rgb(82, 82, 82)",grey33:"rgb(84, 84, 84)",grey34:"rgb(87, 87, 87)",grey35:"rgb(89, 89, 89)",grey36:"rgb(92, 92, 92)",grey37:"rgb(94, 94, 94)",grey38:"rgb(97, 97, 97)",grey39:"rgb(99, 99, 99)",grey4:"rgb(10, 10, 10)",grey40:"rgb(102, 102, 102)",grey41:"rgb(105, 105, 105)",grey42:"rgb(107, 107, 107)",grey43:"rgb(110, 110, 110)",grey44:"rgb(112, 112, 112)",grey45:"rgb(115, 115, 115)",grey46:"rgb(117, 117, 117)",grey47:"rgb(120, 120, 120)",grey48:"rgb(122, 122, 122)",grey49:"rgb(125, 125, 125)",grey5:"rgb(13, 13, 13)",grey50:"rgb(127, 127, 127)",grey51:"rgb(130, 130, 130)",grey52:"rgb(133, 133, 133)",grey53:"rgb(135, 135, 135)",grey54:"rgb(138, 138, 138)",grey55:"rgb(140, 140, 140)",grey56:"rgb(143, 143, 143)",grey57:"rgb(145, 145, 145)",grey58:"rgb(148, 148, 148)",grey59:"rgb(150, 150, 150)",grey6:"rgb(15, 15, 15)",grey60:"rgb(153, 153, 153)",grey61:"rgb(156, 156, 156)",grey62:"rgb(158, 158, 158)",grey63:"rgb(161, 161, 161)",grey64:"rgb(163, 163, 163)",grey65:"rgb(166, 166, 166)",grey66:"rgb(168, 168, 168)",grey67:"rgb(171, 171, 171)",grey68:"rgb(173, 173, 173)",grey69:"rgb(176, 176, 176)",grey7:"rgb(18, 18, 18)",grey70:"rgb(179, 179, 179)",grey71:"rgb(181, 181, 181)",grey72:"rgb(184, 184, 184)",grey73:"rgb(186, 186, 186)",grey74:"rgb(189, 189, 189)",grey75:"rgb(191, 191, 191)",grey76:"rgb(194, 194, 194)",grey77:"rgb(196, 196, 196)",grey78:"rgb(199, 199, 199)",grey79:"rgb(201, 201, 201)",grey8:"rgb(20, 20, 20)",grey80:"rgb(204, 204, 204)",grey81:"rgb(207, 207, 207)",grey82:"rgb(209, 209, 209)",grey83:"rgb(212, 212, 212)",grey84:"rgb(214, 214, 214)",grey85:"rgb(217, 217, 217)",grey86:"rgb(219, 219, 219)",grey87:"rgb(222, 222, 222)",grey88:"rgb(224, 224, 224)",grey89:"rgb(227, 227, 227)",grey9:"rgb(23, 23, 23)",grey90:"rgb(229, 229, 229)",grey91:"rgb(232, 232, 232)",grey92:"rgb(235, 235, 235)",grey93:"rgb(237, 237, 237)",grey94:"rgb(240, 240, 240)",grey95:"rgb(242, 242, 242)",grey96:"rgb(245, 245, 245)",grey97:"rgb(247, 247, 247)",grey98:"rgb(250, 250, 250)",grey99:"rgb(252, 252, 252)",honeydew:"rgb(240, 255, 240)",honeydew1:"rgb(240, 255, 240)",honeydew2:"rgb(224, 238, 224)",honeydew3:"rgb(193, 205, 193)",honeydew4:"rgb(131, 139, 131)",hotpink:"rgb(255, 105, 180)",hotpink1:"rgb(255, 110, 180)",hotpink2:"rgb(238, 106, 167)",hotpink3:"rgb(205, 96, 144)",hotpink4:"rgb(139, 58, 98)",indianred:"rgb(205, 92, 92)",indianred1:"rgb(255, 106, 106)",indianred2:"rgb(238, 99, 99)",indianred3:"rgb(205, 85, 85)",indianred4:"rgb(139, 58, 58)",ivory:"rgb(255, 255, 240)",ivory1:"rgb(255, 255, 240)",ivory2:"rgb(238, 238, 224)",ivory3:"rgb(205, 205, 193)",ivory4:"rgb(139, 139, 131)",khaki:"rgb(240, 230, 140)",khaki1:"rgb(255, 246, 143)",khaki2:"rgb(238, 230, 133)",khaki3:"rgb(205, 198, 115)",khaki4:"rgb(139, 134, 78)",lavender:"rgb(230, 230, 250)",lavenderblush:"rgb(255, 240, 245)",lavenderblush1:"rgb(255, 240, 245)",lavenderblush2:"rgb(238, 224, 229)",lavenderblush3:"rgb(205, 193, 197)",lavenderblush4:"rgb(139, 131, 134)",lawngreen:"rgb(124, 252, 0)",lemonchiffon:"rgb(255, 250, 205)",lemonchiffon1:"rgb(255, 250, 205)",lemonchiffon2:"rgb(238, 233, 191)",lemonchiffon3:"rgb(205, 201, 165)",lemonchiffon4:"rgb(139, 137, 112)",lightblue:"rgb(173, 216, 230)",lightblue1:"rgb(191, 239, 255)",lightblue2:"rgb(178, 223, 238)",lightblue3:"rgb(154, 192, 205)",lightblue4:"rgb(104, 131, 139)",lightcoral:"rgb(240, 128, 128)",lightcyan:"rgb(224, 255, 255)",lightcyan1:"rgb(224, 255, 255)",lightcyan2:"rgb(209, 238, 238)",lightcyan3:"rgb(180, 205, 205)",lightcyan4:"rgb(122, 139, 139)",lightgoldenrod:"rgb(238, 221, 130)",lightgoldenrod1:"rgb(255, 236, 139)",lightgoldenrod2:"rgb(238, 220, 130)",lightgoldenrod3:"rgb(205, 190, 112)",lightgoldenrod4:"rgb(139, 129, 76)",lightgoldenrodyellow:"rgb(250, 250, 210)",lightgray:"rgb(211, 211, 211)",lightgreen:"rgb(144, 238, 144)",lightgrey:"rgb(211, 211, 211)",lightpink:"rgb(255, 182, 193)",lightpink1:"rgb(255, 174, 185)",lightpink2:"rgb(238, 162, 173)",lightpink3:"rgb(205, 140, 149)",lightpink4:"rgb(139, 95, 101)",lightsalmon:"rgb(255, 160, 122)",lightsalmon1:"rgb(255, 160, 122)",lightsalmon2:"rgb(238, 149, 114)",lightsalmon3:"rgb(205, 129, 98)",lightsalmon4:"rgb(139, 87, 66)",lightseagreen:"rgb(32, 178, 170)",lightskyblue:"rgb(135, 206, 250)",lightskyblue1:"rgb(176, 226, 255)",lightskyblue2:"rgb(164, 211, 238)",lightskyblue3:"rgb(141, 182, 205)",lightskyblue4:"rgb(96, 123, 139)",lightslateblue:"rgb(132, 112, 255)",lightslategray:"rgb(119, 136, 153)",lightslategrey:"rgb(119, 136, 153)",lightsteelblue:"rgb(176, 196, 222)",lightsteelblue1:"rgb(202, 225, 255)",lightsteelblue2:"rgb(188, 210, 238)",lightsteelblue3:"rgb(162, 181, 205)",lightsteelblue4:"rgb(110, 123, 139)",lightyellow:"rgb(255, 255, 224)",lightyellow1:"rgb(255, 255, 224)",lightyellow2:"rgb(238, 238, 209)",lightyellow3:"rgb(205, 205, 180)",lightyellow4:"rgb(139, 139, 122)",limegreen:"rgb(50, 205, 50)",linen:"rgb(250, 240, 230)",magenta:"rgb(255, 0, 255)",magenta1:"rgb(255, 0, 255)",magenta2:"rgb(238, 0, 238)",magenta3:"rgb(205, 0, 205)",magenta4:"rgb(139, 0, 139)",maroon:"rgb(176, 48, 96)",maroon1:"rgb(255, 52, 179)",maroon2:"rgb(238, 48, 167)",maroon3:"rgb(205, 41, 144)",maroon4:"rgb(139, 28, 98)",mediumaquamarine:"rgb(102, 205, 170)",mediumblue:"rgb(0, 0, 205)",mediumorchid:"rgb(186, 85, 211)",mediumorchid1:"rgb(224, 102, 255)",mediumorchid2:"rgb(209, 95, 238)",mediumorchid3:"rgb(180, 82, 205)",mediumorchid4:"rgb(122, 55, 139)",mediumpurple:"rgb(147, 112, 219)",mediumpurple1:"rgb(171, 130, 255)",mediumpurple2:"rgb(159, 121, 238)",mediumpurple3:"rgb(137, 104, 205)",mediumpurple4:"rgb(93, 71, 139)",mediumseagreen:"rgb(60, 179, 113)",mediumslateblue:"rgb(123, 104, 238)",mediumspringgreen:"rgb(0, 250, 154)",mediumturquoise:"rgb(72, 209, 204)",mediumvioletred:"rgb(199, 21, 133)",midnightblue:"rgb(25, 25, 112)",mintcream:"rgb(245, 255, 250)",mistyrose:"rgb(255, 228, 225)",mistyrose1:"rgb(255, 228, 225)",mistyrose2:"rgb(238, 213, 210)",mistyrose3:"rgb(205, 183, 181)",mistyrose4:"rgb(139, 125, 123)",moccasin:"rgb(255, 228, 181)",navajowhite:"rgb(255, 222, 173)",navajowhite1:"rgb(255, 222, 173)",navajowhite2:"rgb(238, 207, 161)",navajowhite3:"rgb(205, 179, 139)",navajowhite4:"rgb(139, 121, 94)",navy:"rgb(0, 0, 128)",navyblue:"rgb(0, 0, 128)",oldlace:"rgb(253, 245, 230)",olivedrab:"rgb(107, 142, 35)",olivedrab1:"rgb(192, 255, 62)",olivedrab2:"rgb(179, 238, 58)",olivedrab3:"rgb(154, 205, 50)",olivedrab4:"rgb(105, 139, 34)",orange:"rgb(255, 165, 0)",orange1:"rgb(255, 165, 0)",orange2:"rgb(238, 154, 0)",orange3:"rgb(205, 133, 0)",orange4:"rgb(139, 90, 0)",orangered:"rgb(255, 69, 0)",orangered1:"rgb(255, 69, 0)",orangered2:"rgb(238, 64, 0)",orangered3:"rgb(205, 55, 0)",orangered4:"rgb(139, 37, 0)",orchid:"rgb(218, 112, 214)",orchid1:"rgb(255, 131, 250)",orchid2:"rgb(238, 122, 233)",orchid3:"rgb(205, 105, 201)",orchid4:"rgb(139, 71, 137)",palegoldenrod:"rgb(238, 232, 170)",palegreen:"rgb(152, 251, 152)",palegreen1:"rgb(154, 255, 154)",palegreen2:"rgb(144, 238, 144)",palegreen3:"rgb(124, 205, 124)",palegreen4:"rgb(84, 139, 84)",paleturquoise:"rgb(175, 238, 238)",paleturquoise1:"rgb(187, 255, 255)",paleturquoise2:"rgb(174, 238, 238)",paleturquoise3:"rgb(150, 205, 205)",paleturquoise4:"rgb(102, 139, 139)",palevioletred:"rgb(219, 112, 147)",palevioletred1:"rgb(255, 130, 171)",palevioletred2:"rgb(238, 121, 159)",palevioletred3:"rgb(205, 104, 137)",palevioletred4:"rgb(139, 71, 93)",papayawhip:"rgb(255, 239, 213)",peachpuff:"rgb(255, 218, 185)",peachpuff1:"rgb(255, 218, 185)",peachpuff2:"rgb(238, 203, 173)",peachpuff3:"rgb(205, 175, 149)",peachpuff4:"rgb(139, 119, 101)",peru:"rgb(205, 133, 63)",pink:"rgb(255, 192, 203)",pink1:"rgb(255, 181, 197)",pink2:"rgb(238, 169, 184)",pink3:"rgb(205, 145, 158)",pink4:"rgb(139, 99, 108)",plum:"rgb(221, 160, 221)",plum1:"rgb(255, 187, 255)",plum2:"rgb(238, 174, 238)",plum3:"rgb(205, 150, 205)",plum4:"rgb(139, 102, 139)",powderblue:"rgb(176, 224, 230)",purple:"rgb(160, 32, 240)",purple1:"rgb(155, 48, 255)",purple2:"rgb(145, 44, 238)",purple3:"rgb(125, 38, 205)",purple4:"rgb(85, 26, 139)",red:"rgb(255, 0, 0)",red1:"rgb(255, 0, 0)",red2:"rgb(238, 0, 0)",red3:"rgb(205, 0, 0)",red4:"rgb(139, 0, 0)",rosybrown:"rgb(188, 143, 143)",rosybrown1:"rgb(255, 193, 193)",rosybrown2:"rgb(238, 180, 180)",rosybrown3:"rgb(205, 155, 155)",rosybrown4:"rgb(139, 105, 105)",royalblue:"rgb(65, 105, 225)",royalblue1:"rgb(72, 118, 255)",royalblue2:"rgb(67, 110, 238)",royalblue3:"rgb(58, 95, 205)",royalblue4:"rgb(39, 64, 139)",saddlebrown:"rgb(139, 69, 19)",salmon:"rgb(250, 128, 114)",salmon1:"rgb(255, 140, 105)",salmon2:"rgb(238, 130, 98)",salmon3:"rgb(205, 112, 84)",salmon4:"rgb(139, 76, 57)",sandybrown:"rgb(244, 164, 96)",seagreen:"rgb(46, 139, 87)",seagreen1:"rgb(84, 255, 159)",seagreen2:"rgb(78, 238, 148)",seagreen3:"rgb(67, 205, 128)",seagreen4:"rgb(46, 139, 87)",seashell:"rgb(255, 245, 238)",seashell1:"rgb(255, 245, 238)",seashell2:"rgb(238, 229, 222)",seashell3:"rgb(205, 197, 191)",seashell4:"rgb(139, 134, 130)",sienna:"rgb(160, 82, 45)",sienna1:"rgb(255, 130, 71)",sienna2:"rgb(238, 121, 66)",sienna3:"rgb(205, 104, 57)",sienna4:"rgb(139, 71, 38)",skyblue:"rgb(135, 206, 235)",skyblue1:"rgb(135, 206, 255)",skyblue2:"rgb(126, 192, 238)",skyblue3:"rgb(108, 166, 205)",skyblue4:"rgb(74, 112, 139)",slateblue:"rgb(106, 90, 205)",slateblue1:"rgb(131, 111, 255)",slateblue2:"rgb(122, 103, 238)",slateblue3:"rgb(105, 89, 205)",slateblue4:"rgb(71, 60, 139)",slategray:"rgb(112, 128, 144)",slategray1:"rgb(198, 226, 255)",slategray2:"rgb(185, 211, 238)",slategray3:"rgb(159, 182, 205)",slategray4:"rgb(108, 123, 139)",slategrey:"rgb(112, 128, 144)",snow:"rgb(255, 250, 250)",snow1:"rgb(255, 250, 250)",snow2:"rgb(238, 233, 233)",snow3:"rgb(205, 201, 201)",snow4:"rgb(139, 137, 137)",springgreen:"rgb(0, 255, 127)",springgreen1:"rgb(0, 255, 127)",springgreen2:"rgb(0, 238, 118)",springgreen3:"rgb(0, 205, 102)",springgreen4:"rgb(0, 139, 69)",steelblue:"rgb(70, 130, 180)",steelblue1:"rgb(99, 184, 255)",steelblue2:"rgb(92, 172, 238)",steelblue3:"rgb(79, 148, 205)",steelblue4:"rgb(54, 100, 139)",tan:"rgb(210, 180, 140)",tan1:"rgb(255, 165, 79)",tan2:"rgb(238, 154, 73)",tan3:"rgb(205, 133, 63)",tan4:"rgb(139, 90, 43)",thistle:"rgb(216, 191, 216)",thistle1:"rgb(255, 225, 255)",thistle2:"rgb(238, 210, 238)",thistle3:"rgb(205, 181, 205)",thistle4:"rgb(139, 123, 139)",tomato:"rgb(255, 99, 71)",tomato1:"rgb(255, 99, 71)",tomato2:"rgb(238, 92, 66)",tomato3:"rgb(205, 79, 57)",tomato4:"rgb(139, 54, 38)",turquoise:"rgb(64, 224, 208)",turquoise1:"rgb(0, 245, 255)",turquoise2:"rgb(0, 229, 238)",turquoise3:"rgb(0, 197, 205)",turquoise4:"rgb(0, 134, 139)",violet:"rgb(238, 130, 238)",violetred:"rgb(208, 32, 144)",violetred1:"rgb(255, 62, 150)",violetred2:"rgb(238, 58, 140)",violetred3:"rgb(205, 50, 120)",violetred4:"rgb(139, 34, 82)",wheat:"rgb(245, 222, 179)",wheat1:"rgb(255, 231, 186)",wheat2:"rgb(238, 216, 174)",wheat3:"rgb(205, 186, 150)",wheat4:"rgb(139, 126, 102)",white:"rgb(255, 255, 255)",whitesmoke:"rgb(245, 245, 245)",yellow:"rgb(255, 255, 0)",yellow1:"rgb(255, 255, 0)",yellow2:"rgb(238, 238, 0)",yellow3:"rgb(205, 205, 0)",yellow4:"rgb(139, 139, 0)",yellowgreen:"rgb(154, 205, 50)"},i.f={},i.f.createEnum=function(e){return new String(e)},i.f.replaceVars=function(e,t){return e.replace(/%([a-z]*)\(([^\)]+)\)/gi,function(e,r,o){if(void 0===t[o])throw"Unknown variable: "+o;var s=t[o];if(r in i.f.replaceVars.functions)s=i.f.replaceVars.functions[r](s);else if(r)throw"Unknown escape function: "+r;return s})},i.f.replaceVars.functions={encodeURI:encodeURI,encodeURIComponent:encodeURIComponent,escapeHTML:function(e){var t={"<":"<",">":">","&":"&",'"':""","'":"'"};return e.replace(/[<>&\"\']/g,function(e){return t[e]})}},i.f.getAcceptLanguages=function(e){i.f.getAcceptLanguages.chromeSupported()?chrome.i18n.getAcceptLanguages(e):setTimeout(function(){e([navigator.language.replace(/-/g,"_")])},0)},i.f.getAcceptLanguages.chromeSupported=function(){return window.chrome&&chrome.i18n},i.f.parseQuery=function(e){e.startsWith("?")&&(e=e.substr(1));for(var t={},r=e.split("&"),i=0;ir?r:e},i.f.zpad=function(e,t){return String(e).padStart(t,"0")},i.f.getWhitespace=function(e){if(e<=0)return"";var t=this.getWhitespace;for(t.whitespace||(t.whitespace=" ");e>t.whitespace.length;)t.whitespace+=t.whitespace;return t.whitespace.substr(0,e)},i.f.alarm=function(e,t){var r=t||5e3,o=i.f.getStack(1);return function(){var t=setTimeout(function(){var i="string"==typeof e?i:e.name;i=i?": "+i:"",console.warn("lib.f.alarm: timeout expired: "+r/1e3+"s"+i),console.log(o),t=null},r),i=function(e){return function(){return t&&(clearTimeout(t),t=null),e.apply(null,arguments)}};return"string"==typeof e?i:i(e)}()},i.f.getStack=function(e){var t,r=e?e+2:2;try{throw new Error}catch(e){t=e.stack.split("\n")}for(var i={},o=r;o=0&&this.observers.splice(t,1)},i.PreferenceManager.Record.prototype.get=function(){return this.currentValue===this.DEFAULT_VALUE?/^(string|number)$/.test(typeof this.defaultValue)?this.defaultValue:"object"==typeof this.defaultValue?JSON.parse(JSON.stringify(this.defaultValue)):this.defaultValue:this.currentValue},i.PreferenceManager.prototype.deactivate=function(){if(!this.isActive_)throw new Error("Not activated");this.isActive_=!1,this.storage.removeObserver(this.storageObserver_)},i.PreferenceManager.prototype.activate=function(){if(this.isActive_)throw new Error("Already activated");this.isActive_=!0,this.storage.addObserver(this.storageObserver_)},i.PreferenceManager.prototype.readStorage=function(e){function t(){0==--r&&e&&e()}var r=0,i=Object.keys(this.prefRecords_).map(function(e){return this.prefix+e}.bind(this));this.trace&&console.log("Preferences read: "+this.prefix),this.storage.getItems(i,function(i){var o=this.prefix.length;for(var s in i){var n=i[s],a=s.substr(o),l=a in this.childLists_&&JSON.stringify(n)!=JSON.stringify(this.prefRecords_[a].currentValue);this.prefRecords_[a].currentValue=n,l&&(r++,this.syncChildList(a,t))}0==r&&e&&setTimeout(e)}.bind(this))},i.PreferenceManager.prototype.definePreference=function(e,t,r){var o=this.prefRecords_[e];o?this.changeDefault(e,t):o=this.prefRecords_[e]=new i.PreferenceManager.Record(e,t),r&&o.addObserver(r)},i.PreferenceManager.prototype.definePreferences=function(e){for(var t=0;t=0&&s.splice(l,1),!this.childLists_[e][a]){var h=this.childFactories_[e](this,a);if(!h){console.warn("Unable to restore child: "+e+": "+a);continue}h.trace=this.trace,this.childLists_[e][a]=h,r++,h.readStorage(function(){0==--r&&t&&t()})}}for(n=0;n=0;i--){var o=e[i],s=this.storage_.getItem(o);if("string"==typeof s)try{r[o]=JSON.parse(s)}catch(e){r[o]=s}else e.splice(i,1)}setTimeout(t.bind(null,r),0)},i.Storage.Local.prototype.setItem=function(e,t,r){this.storage_.setItem(e,JSON.stringify(t)),r&&setTimeout(r,0)},i.Storage.Local.prototype.setItems=function(e,t){for(var r in e)this.storage_.setItem(r,JSON.stringify(e[r]));t&&setTimeout(t,0)},i.Storage.Local.prototype.removeItem=function(e,t){this.storage_.removeItem(e),t&&setTimeout(t,0)},i.Storage.Local.prototype.removeItems=function(e,t){for(var r=0;r=0;i--){var o=e[i],s=this.storage_[o];if("string"==typeof s)try{r[o]=JSON.parse(s)}catch(e){r[o]=s}else e.splice(i,1)}setTimeout(t.bind(null,r),0)},i.Storage.Memory.prototype.setItem=function(e,t,r){var i=this.storage_[e];this.storage_[e]=JSON.stringify(t);var o={};o[e]={oldValue:i,newValue:t},setTimeout(function(){for(var e=0;e{let t="";switch(e){case"debug":case"warn":case"error":t=e.toUpperCase()+": "}const r=this.console_[e];this[e]=this.console_[e]=((...e)=>{this.save&&(this.data+=this.prefix_+t+e.join(" ")+"\n"),r.apply(this.console_,e)})}),["group","groupCollapsed"].forEach(e=>{const t=this.console_[e];this[e]=this.console_[e]=((e="")=>{t(e),this.save&&(this.data+=this.prefix_+e+"\n"),this.prefix_=" ".repeat(++this.prefixStack_)})});const t=this.console_.groupEnd;this.groupEnd=this.console_.groupEnd=(()=>{t(),this.prefix_=" ".repeat(--this.prefixStack_)})},i.TestManager.Suite=function(e){function t(t,r){this.testManager_=t,this.suiteName=e,this.setup(r)}return t.suiteName=e,t.addTest=i.TestManager.Suite.addTest,t.disableTest=i.TestManager.Suite.disableTest,t.getTest=i.TestManager.Suite.getTest,t.getTestList=i.TestManager.Suite.getTestList,t.testList_=[],t.testMap_={},t.prototype=Object.create(i.TestManager.Suite.prototype),t.constructor=i.TestManager.Suite,i.TestManager.Suite.subclasses.push(t),t},i.TestManager.Suite.subclasses=[],i.TestManager.Suite.addTest=function(e,t){if(e in this.testMap_)throw"Duplicate test name: "+e;var r=new i.TestManager.Test(this,e,t);this.testMap_[e]=r,this.testList_.push(r)},i.TestManager.Suite.disableTest=function(e,t){if(e in this.testMap_)throw"Duplicate test name: "+e;var r=new i.TestManager.Test(this,e,t);console.log("Disabled test: "+r.fullName)},i.TestManager.Suite.getTest=function(e){return this.testMap_[e]},i.TestManager.Suite.getTestList=function(){return this.testList_},i.TestManager.Suite.prototype.setDefaults=function(e,t){for(var r in t)this[r]=r in e?e[r]:t[r]},i.TestManager.Suite.prototype.setup=function(e){},i.TestManager.Suite.prototype.preamble=function(e,t){},i.TestManager.Suite.prototype.postamble=function(e,t){},i.TestManager.Test=function(e,t,r){this.suiteClass=e,this.testName=t,this.fullName=e.suiteName+"["+t+"]",this.testFunction_=r},i.TestManager.Test.prototype.run=function(e){try{this.testFunction_.apply(e.suite,[e,e.testRun.cx])}catch(t){if(t instanceof i.TestManager.Result.TestComplete)return;e.println("Test raised an exception: "+t),t.stack&&(t.stack instanceof Array?e.println(t.stack.join("\n")):e.println(t.stack)),e.completeTest_(e.FAILED,!1)}},i.TestManager.TestRun=function(e,t){this.testManager=e,this.log=e.log,this.cx=t||{},this.failures=[],this.passes=[],this.startDate=null,this.duration=null,this.currentResult=null,this.maxFailures=0,this.panic=!1,this.testQueue_=[]},i.TestManager.TestRun.prototype.ALL_TESTS=i.f.createEnum(""),i.TestManager.TestRun.prototype.selectTest=function(e){this.testQueue_.push(e)},i.TestManager.TestRun.prototype.selectSuite=function(e,t){for(var r=t||this.ALL_TESTS,i=0,o=e.getTestList(),s=0;s500&&this.log.warn("Slow test took "+this.msToSeconds_(e.duration)),this.log.groupEnd(),e.status==e.FAILED)this.failures.push(e),this.currentSuite=null;else{if(e.status!=e.PASSED)return this.log.error("Unknown result status: "+e.test.fullName+": "+e.status),this.panic=!0;this.passes.push(e)}this.runNextTest_()},i.TestManager.TestRun.prototype.onResultReComplete=function(e,t){this.log.error("Late complete for test: "+e.test.fullName+": "+t);var r=this.passes.indexOf(e);r>=0&&(this.passes.splice(r,1),this.failures.push(e))},i.TestManager.TestRun.prototype.runNextTest_=function(){if(this.panic||!this.testQueue_.length)return this.onTestRunComplete_();if(this.maxFailures&&this.failures.length>=this.maxFailures)return this.log.error("Maximum failure count reached, aborting test run."),this.onTestRunComplete_();var e=this.testQueue_[0],t=this.currentResult?this.currentResult.suite:null;try{t&&t instanceof e.suiteClass||(t&&this.log.groupEnd(),this.log.group(e.suiteClass.suiteName),t=new e.suiteClass(this.testManager,this.cx))}catch(e){return this.log.error("Exception during setup: "+(e.stack?e.stack:e)),this.panic=!0,void this.onTestRunComplete_()}try{this.log.group(e.testName),this.currentResult=new i.TestManager.Result(this,t,e),this.testManager.testPreamble(this.currentResult,this.cx),t.preamble(this.currentResult,this.cx),this.testQueue_.shift()}catch(e){return this.log.error("Unexpected exception during test preamble: "+(e.stack?e.stack:e)),this.log.groupEnd(),this.panic=!0,void this.onTestRunComplete_()}try{this.currentResult.run()}catch(e){this.log.error("Unexpected exception during test run: "+(e.stack?e.stack:e)),this.panic=!0}},i.TestManager.TestRun.prototype.run=function(){this.log.info("Running "+this.testQueue_.length+" test(s)"),window.onerror=this.onUncaughtException_.bind(this),this.startDate=new Date,this.runNextTest_()},i.TestManager.TestRun.prototype.msToSeconds_=function(e){return(e/1e3).toFixed(2)+"s"},i.TestManager.TestRun.prototype.summarize=function(){if(this.failures.length)for(var e=0;e1?"\n"+t.join("\n"):t.join("\n")}if(e!==t&&!(t instanceof Array&&this.arrayEQ_(e,t))){var o=r?"["+r+"]":"";this.fail("assertEQ"+o+": "+this.getCallerLocation_(1)+": "+i(e)+" !== "+i(t))}},i.TestManager.Result.prototype.assert=function(e,t){if(!0!==e){var r=t?"["+t+"]":"";this.fail("assert"+r+": "+this.getCallerLocation_(1)+": "+String(e))}},i.TestManager.Result.prototype.getCallerLocation_=function(e){try{throw new Error}catch(r){var t=r.stack.split("\n")[e+2].match(/([^/]+:\d+):\d+\)?$/);return t?t[1]:"???"}},i.TestManager.Result.prototype.println=function(e){this.testRun.log.info(e)},i.TestManager.Result.prototype.fail=function(e){arguments.length&&this.println(e),this.completeTest_(this.FAILED,!0)},i.TestManager.Result.prototype.pass=function(){this.completeTest_(this.PASSED,!0)},i.UTF8Decoder=function(){this.bytesLeft=0,this.codePoint=0,this.lowerBound=0},i.UTF8Decoder.prototype.decode=function(e){for(var t="",r=0;r1114111?t+="�":o<65536?t+=String.fromCharCode(o):(o-=65536,t+=String.fromCharCode(55296+(o>>>10&1023),56320+(1023&o)))}}else t+="�",this.bytesLeft=0,r--}return t},i.decodeUTF8=function(e){return(new i.UTF8Decoder).decode(e)},i.encodeUTF8=function(e){for(var t="",r=0;r>>6),s=1):i<=65535?(t+=String.fromCharCode(224|i>>>12),s=2):(t+=String.fromCharCode(240|i>>>18),s=3);s>0;)s--,t+=String.fromCharCode(128|i>>>6*s&63)}return t},i.wc={},i.wc.nulWidth=0,i.wc.controlWidth=0,i.wc.regardCjkAmbiguous=!1,i.wc.cjkAmbiguousWidth=2,i.wc.combining=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],i.wc.ambiguous=[[161,161],[164,164],[167,168],[170,170],[174,174],[176,180],[182,186],[188,191],[198,198],[208,208],[215,216],[222,225],[230,230],[232,234],[236,237],[240,240],[242,243],[247,250],[252,252],[254,254],[257,257],[273,273],[275,275],[283,283],[294,295],[299,299],[305,307],[312,312],[319,322],[324,324],[328,331],[333,333],[338,339],[358,359],[363,363],[462,462],[464,464],[466,466],[468,468],[470,470],[472,472],[474,474],[476,476],[593,593],[609,609],[708,708],[711,711],[713,715],[717,717],[720,720],[728,731],[733,733],[735,735],[913,929],[931,937],[945,961],[963,969],[1025,1025],[1040,1103],[1105,1105],[8208,8208],[8211,8214],[8216,8217],[8220,8221],[8224,8226],[8228,8231],[8240,8240],[8242,8243],[8245,8245],[8251,8251],[8254,8254],[8308,8308],[8319,8319],[8321,8324],[8364,8364],[8451,8451],[8453,8453],[8457,8457],[8467,8467],[8470,8470],[8481,8482],[8486,8486],[8491,8491],[8531,8532],[8539,8542],[8544,8555],[8560,8569],[8592,8601],[8632,8633],[8658,8658],[8660,8660],[8679,8679],[8704,8704],[8706,8707],[8711,8712],[8715,8715],[8719,8719],[8721,8721],[8725,8725],[8730,8730],[8733,8736],[8739,8739],[8741,8741],[8743,8748],[8750,8750],[8756,8759],[8764,8765],[8776,8776],[8780,8780],[8786,8786],[8800,8801],[8804,8807],[8810,8811],[8814,8815],[8834,8835],[8838,8839],[8853,8853],[8857,8857],[8869,8869],[8895,8895],[8978,8978],[9312,9449],[9451,9547],[9552,9587],[9600,9615],[9618,9621],[9632,9633],[9635,9641],[9650,9651],[9654,9655],[9660,9661],[9664,9665],[9670,9672],[9675,9675],[9678,9681],[9698,9701],[9711,9711],[9733,9734],[9737,9737],[9742,9743],[9748,9749],[9756,9756],[9758,9758],[9792,9792],[9794,9794],[9824,9825],[9827,9829],[9831,9834],[9836,9837],[9839,9839],[10045,10045],[10102,10111],[57344,63743],[65533,65533],[983040,1048573],[1048576,1114109]],i.wc.isSpace=function(e){var t,r=0,o=i.wc.combining.length-1;if(ei.wc.combining[o][1])return!1;for(;o>=r;)if(t=Math.floor((r+o)/2),e>i.wc.combining[t][1])r=t+1;else{if(!(ei.wc.ambiguous[o][1])return!1;for(;o>=r;)if(t=Math.floor((r+o)/2),e>i.wc.ambiguous[t][1])r=t+1;else{if(!(e=127&&e<160?i.wc.controlWidth:e<127?1:i.wc.isSpace(e)?0:1+(e>=4352&&(e<=4447||9001==e||9002==e||e>=11904&&e<=42191&&12351!=e||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072&&e<=196605||e>=196608&&e<=262141))},i.wc.charWidthRegardAmbiguous=function(e){return i.wc.isCjkAmbiguous(e)?i.wc.cjkAmbiguousWidth:i.wc.charWidthDisregardAmbiguous(e)},i.wc.strWidth=function(e){for(var t,r=0,o=0;ot);o++);if(void 0!=r){for(s=o,n=0;sr&&s--,e.substring(o,s)}return e.substr(o)},i.wc.substring=function(e,t,r){return i.wc.substr(e,t,r-t)},i.resource.add("libdot/changelog/version","text/plain","1.16"),i.resource.add("libdot/changelog/date","text/plain","2017-08-16"),i.rtdep("lib.Storage");var o={};o.windowType=null,o.zoomWarningMessage="ZOOM != 100%",o.notifyCopyMessage="✂",o.desktopNotificationTitle="♪ %(title) ♪",o.testDeps=["hterm.ScrollPort.Tests","hterm.Screen.Tests","hterm.Terminal.Tests","hterm.VT.Tests","hterm.VT.CannedTests"],i.registerInit("hterm",function(e){function t(t){o.windowType=t.type,setTimeout(e,0)}o.defaultStorage||(window.chrome&&chrome.storage&&chrome.storage.sync?o.defaultStorage=new i.Storage.Chrome(chrome.storage.sync):o.defaultStorage=new i.Storage.Local);var r=!1;if(window.chrome&&chrome.runtime&&chrome.runtime.getManifest){var s=chrome.runtime.getManifest();r=s.app&&s.app.background}r?setTimeout(t.bind(null,{type:"popup"}),0):window.chrome&&chrome.tabs?chrome.tabs.getCurrent(function(r){r&&window.chrome?chrome.windows.get(r.windowId,null,t):(o.windowType="normal",setTimeout(e,0))}):setTimeout(t.bind(null,{type:"normal"}),0)}),o.getClientSize=function(e){return e.getBoundingClientRect()},o.getClientWidth=function(e){return e.getBoundingClientRect().width},o.getClientHeight=function(e){return e.getBoundingClientRect().height},o.copySelectionToClipboard=function(e){try{e.execCommand("copy")}catch(e){}},o.pasteFromClipboard=function(e){try{return e.execCommand("paste")}catch(e){return!1}},o.notify=function(e){var t=(e,t)=>void 0!==e?e:t;void 0!==e&&null!==e||(e={});var r={body:e.body,icon:t(e.icon,i.resource.getDataUrl("hterm/images/icon-96"))},s=t(e.title,window.document.title);s||(s="hterm"),s=i.f.replaceVars(o.desktopNotificationTitle,{title:s});var n=new Notification(s,r);return n.onclick=function(){window.focus(),this.close()},n},o.Size=function(e,t){this.width=e,this.height=t},o.Size.prototype.resize=function(e,t){this.width=e,this.height=t},o.Size.prototype.clone=function(){return new o.Size(this.width,this.height)},o.Size.prototype.setTo=function(e){this.width=e.width,this.height=e.height},o.Size.prototype.equals=function(e){return this.width==e.width&&this.height==e.height},o.Size.prototype.toString=function(){return"[hterm.Size: "+this.width+", "+this.height+"]"},o.RowCol=function(e,t,r){this.row=e,this.column=t,this.overflow=!!r},o.RowCol.prototype.move=function(e,t,r){this.row=e,this.column=t,this.overflow=!!r},o.RowCol.prototype.clone=function(){return new o.RowCol(this.row,this.column,this.overflow)},o.RowCol.prototype.setTo=function(e){this.row=e.row,this.column=e.column,this.overflow=e.overflow},o.RowCol.prototype.equals=function(e){return this.row==e.row&&this.column==e.column&&this.overflow==e.overflow},o.RowCol.prototype.toString=function(){return"[hterm.RowCol: "+this.row+", "+this.column+", "+this.overflow+"]"},i.rtdep("lib.f"),o.Frame=function(e,t,r){this.terminal_=e,this.div_=e.div_,this.url=t,this.options=r||{},this.iframe_=null,this.container_=null,this.messageChannel_=null},o.Frame.prototype.onMessage_=function(e){switch(e.data.name){case"ipc-init-ok":return void this.sendTerminalInfo_();case"terminal-info-ok":return this.container_.style.display="flex",this.messageChannel_.port1.onmessage=this.onMessage.bind(this),void this.onLoad();default:return void console.log("Unknown message from frame:",e.data)}},o.Frame.prototype.onMessage=function(){},o.Frame.prototype.onLoad_=function(){this.messageChannel_=new MessageChannel,this.messageChannel_.port1.onmessage=this.onMessage_.bind(this),this.messageChannel_.port1.start(),this.iframe_.contentWindow.postMessage({name:"ipc-init",argv:[{messagePort:this.messageChannel_.port2}]},this.url,[this.messageChannel_.port2])},o.Frame.prototype.onLoad=function(){},o.Frame.prototype.sendTerminalInfo_=function(){i.f.getAcceptLanguages(function(e){this.postMessage("terminal-info",[{acceptLanguages:e,foregroundColor:this.terminal_.getForegroundColor(),backgroundColor:this.terminal_.getBackgroundColor(),cursorColor:this.terminal_.getCursorColor(),fontSize:this.terminal_.getFontSize(),fontFamily:this.terminal_.getFontFamily(),baseURL:i.f.getURL("/")}])}.bind(this))},o.Frame.prototype.onCloseClicked_=function(){this.close()},o.Frame.prototype.close=function(){this.container_&&this.container_.parentNode&&(this.container_.parentNode.removeChild(this.container_),this.onClose())},o.Frame.prototype.onClose=function(){},o.Frame.prototype.postMessage=function(e,t){if(!this.messageChannel_)throw new Error("Message channel is not set up.");this.messageChannel_.port1.postMessage({name:e,argv:t})},o.Frame.prototype.show=function(){function e(e,r){return e in t.options?t.options[e]:r}var t=this,t=this;if(this.container_&&this.container_.parentNode)console.error("Frame already visible");else{var r=o.getClientSize(this.div_),i=e("width",640),s=e("height",480),n=(r.width,r.height,this.terminal_.document_),a=this.container_=n.createElement("div");a.style.cssText="position: absolute;display: none;flex-direction: column;top: 10%;left: 4%;width: 90%;height: 80%;min-height: 20%;max-height: 80%;box-shadow: 0 0 2px "+this.terminal_.getForegroundColor()+";border: 2px "+this.terminal_.getForegroundColor()+" solid;";var l=this.iframe_=n.createElement("iframe");l.onload=this.onLoad_.bind(this),l.style.cssText="display: flex;flex: 1;width: 100%",l.setAttribute("src",this.url),l.setAttribute("seamless",!0),a.appendChild(l),this.div_.appendChild(a)}},i.rtdep("hterm.Keyboard.KeyMap"),o.Keyboard=function(e){this.terminal=e,this.keyboardElement_=null,this.handlers_=[["focusout",this.onFocusOut_.bind(this)],["keydown",this.onKeyDown_.bind(this)],["keypress",this.onKeyPress_.bind(this)],["keyup",this.onKeyUp_.bind(this)],["textInput",this.onTextInput_.bind(this)]],this.keyMap=new o.Keyboard.KeyMap(this),this.bindings=new o.Keyboard.Bindings(this),this.altGrMode="none",this.shiftInsertPaste=!0,this.homeKeysScroll=!1,this.pageKeysScroll=!1,this.ctrlPlusMinusZeroZoom=!0,this.ctrlCCopy=!1,this.ctrlVPaste=!1,this.applicationKeypad=!1,this.applicationCursor=!1,this.backspaceSendsBackspace=!1,this.characterEncoding="utf-8",this.metaSendsEscape=!0,this.passMetaV=!0,this.altSendsWhat="escape",this.altIsMeta=!1,this.altBackspaceIsMetaBackspace=!1,this.altKeyPressed=0,this.mediaKeysAreFKeys=!1,this.previousAltSendsWhat_=null},o.Keyboard.KeyActions={CANCEL:i.f.createEnum("CANCEL"),DEFAULT:i.f.createEnum("DEFAULT"),PASS:i.f.createEnum("PASS"),STRIP:i.f.createEnum("STRIP")},o.Keyboard.prototype.encode=function(e){return"utf-8"==this.characterEncoding?this.terminal.vt.encodeUTF8(e):e},o.Keyboard.prototype.installKeyboard=function(e){if(e!=this.keyboardElement_){e&&this.keyboardElement_&&this.installKeyboard(null);for(var t=0;t=32&&(r=e.charCode);r&&this.terminal.onVTKeystroke(String.fromCharCode(r)),e.preventDefault(),e.stopPropagation()}},o.Keyboard.prototype.preventChromeAppNonCtrlShiftDefault_=function(e){window.chrome&&window.chrome.app&&window.chrome.app.window&&(e.ctrlKey&&e.shiftKey||e.preventDefault())},o.Keyboard.prototype.onFocusOut_=function(e){this.altKeyPressed=0},o.Keyboard.prototype.onKeyUp_=function(e){18==e.keyCode&&(this.altKeyPressed=this.altKeyPressed&~(1<=64&&_<=95&&(f=String.fromCharCode(_-64))),u&&"8-bit"==this.altSendsWhat&&1==f.length){var _=f.charCodeAt(0)+128;f=String.fromCharCode(_)}(u&&"escape"==this.altSendsWhat||p&&this.metaSendsEscape)&&(f=""+f)}this.terminal.onVTKeystroke(f)}else console.warn("Invalid action: "+JSON.stringify(f))}else console.warn("No definition for keyCode: "+e.keyCode)},o.Keyboard.Bindings=function(){this.bindings_={}},o.Keyboard.Bindings.prototype.clear=function(){this.bindings_={}},o.Keyboard.Bindings.prototype.addBinding_=function(e,t){var r=null,i=this.bindings_[e.keyCode];if(i)for(var s=0;s",p,s(f,d),p,p],[191,"/?",p,i(a("_"),a("?")),p,p],[17,"[CTRL]",d,d,d,d],[18,"[ALT]",d,d,d,d],[91,"[LAPL]",d,d,d,d],[32," ",p,a("@"),p,p],[92,"[RAPL]",d,d,d,d],[93,"[RMENU]",d,d,d,d],[42,"[PRTSCR]",d,d,d,d],[145,"[SCRLK]",d,d,d,d],[19,"[BREAK]",d,d,d,d],[45,"[INSERT]",l("onKeyInsert_"),p,p,p],[36,"[HOME]",l("onKeyHome_"),p,p,p],[33,"[PGUP]",l("onKeyPageUp_"),p,p,p],[46,"[DEL]",l("onKeyDel_"),p,p,p],[35,"[END]",l("onKeyEnd_"),p,p,p],[34,"[PGDOWN]",l("onKeyPageDown_"),p,p,p],[38,"[UP]",l("onKeyArrowUp_"),p,p,p],[40,"[DOWN]",l("onKeyArrowDown_"),p,p,p],[39,"[RIGHT]",t("","OC"),p,p,p],[37,"[LEFT]",t("","OD"),p,p,p],[144,"[NUMLOCK]",d,d,d,d],[96,"[KP0]",p,p,p,p],[97,"[KP1]",p,p,p,p],[98,"[KP2]",p,p,p,p],[99,"[KP3]",p,p,p,p],[100,"[KP4]",p,p,p,p],[101,"[KP5]",p,p,p,p],[102,"[KP6]",p,p,p,p],[103,"[KP7]",p,p,p,p],[104,"[KP8]",p,p,p,p],[105,"[KP9]",p,p,p,p],[107,"[KP+]",p,l("onPlusMinusZero_"),p,l("onPlusMinusZero_")],[109,"[KP-]",p,l("onPlusMinusZero_"),p,l("onPlusMinusZero_")],[106,"[KP*]",p,p,p,p],[111,"[KP/]",p,p,p,p],[110,"[KP.]",p,p,p,p],[166,"[BACK]",h(n("OP","")),p,"[23~",p],[167,"[FWD]",h(n("OQ","")),p,"[24~",p],[168,"[RELOAD]",h(n("OR","")),p,"[25~",p],[183,"[FSCR]",h(n("OS","")),p,"[26~",p],[182,"[WINS]",h("[15~"),p,"[28~",p],[216,"[BRIT-]",h("[17~"),p,"[29~",p],[217,"[BRIT+]",h("[18~"),p,"[31~",p])},o.Keyboard.KeyMap.prototype.onKeyInsert_=function(e){return this.keyboard.shiftInsertPaste&&e.shiftKey?o.Keyboard.KeyActions.PASS:"[2~"},o.Keyboard.KeyMap.prototype.onKeyHome_=function(e){return!this.keyboard.homeKeysScroll^e.shiftKey?e.altey||e.ctrlKey||e.shiftKey||!this.keyboard.applicationCursor?"":"OH":(this.keyboard.terminal.scrollHome(),o.Keyboard.KeyActions.CANCEL)},o.Keyboard.KeyMap.prototype.onKeyEnd_=function(e){return!this.keyboard.homeKeysScroll^e.shiftKey?e.altKey||e.ctrlKey||e.shiftKey||!this.keyboard.applicationCursor?"":"OF":(this.keyboard.terminal.scrollEnd(),o.Keyboard.KeyActions.CANCEL)},o.Keyboard.KeyMap.prototype.onKeyPageUp_=function(e){return!this.keyboard.pageKeysScroll^e.shiftKey?"[5~":(this.keyboard.terminal.scrollPageUp(),o.Keyboard.KeyActions.CANCEL)},o.Keyboard.KeyMap.prototype.onKeyDel_=function(e){return this.keyboard.altBackspaceIsMetaBackspace&&this.keyboard.altKeyPressed&&!e.altKey?"":"[3~"},o.Keyboard.KeyMap.prototype.onKeyPageDown_=function(e){return!this.keyboard.pageKeysScroll^e.shiftKey?"[6~":(this.keyboard.terminal.scrollPageDown(),o.Keyboard.KeyActions.CANCEL)},o.Keyboard.KeyMap.prototype.onKeyArrowUp_=function(e){return!this.keyboard.applicationCursor&&e.shiftKey?(this.keyboard.terminal.scrollLineUp(),o.Keyboard.KeyActions.CANCEL):e.shiftKey||e.ctrlKey||e.altKey||e.metaKey||!this.keyboard.applicationCursor?"":"OA"},o.Keyboard.KeyMap.prototype.onKeyArrowDown_=function(e){return!this.keyboard.applicationCursor&&e.shiftKey?(this.keyboard.terminal.scrollLineDown(),o.Keyboard.KeyActions.CANCEL):e.shiftKey||e.ctrlKey||e.altKey||e.metaKey||!this.keyboard.applicationCursor?"":"OB"},o.Keyboard.KeyMap.prototype.onClear_=function(e,t){return this.keyboard.terminal.wipeContents(),o.Keyboard.KeyActions.CANCEL},o.Keyboard.KeyMap.prototype.onCtrlNum_=function(e,t){function r(e){return String.fromCharCode(e.charCodeAt(0)-64)}if(this.keyboard.terminal.passCtrlNumber&&!e.shiftKey)return o.Keyboard.KeyActions.PASS;switch(t.keyCap.substr(0,1)){case"1":return"1";case"2":return r("@");case"3":return r("[");case"4":return r("\\");case"5":return r("]");case"6":return r("^");case"7":return r("_");case"8":return"";case"9":return"9"}},o.Keyboard.KeyMap.prototype.onAltNum_=function(e,t){return this.keyboard.terminal.passAltNumber&&!e.shiftKey?o.Keyboard.KeyActions.PASS:o.Keyboard.KeyActions.DEFAULT},o.Keyboard.KeyMap.prototype.onMetaNum_=function(e,t){return this.keyboard.terminal.passMetaNumber&&!e.shiftKey?o.Keyboard.KeyActions.PASS:o.Keyboard.KeyActions.DEFAULT},o.Keyboard.KeyMap.prototype.onCtrlC_=function(e,t){var r=this.keyboard.terminal.getDocument().getSelection();if(!r.isCollapsed){if(this.keyboard.ctrlCCopy&&!e.shiftKey)return this.keyboard.terminal.clearSelectionAfterCopy&&setTimeout(r.collapseToEnd.bind(r),50),o.Keyboard.KeyActions.PASS;if(!this.keyboard.ctrlCCopy&&e.shiftKey)return this.keyboard.terminal.clearSelectionAfterCopy&&setTimeout(r.collapseToEnd.bind(r),50),this.keyboard.terminal.copySelectionToClipboard(),o.Keyboard.KeyActions.CANCEL}return""},o.Keyboard.KeyMap.prototype.onCtrlN_=function(e,t){return e.shiftKey?(window.open(document.location.href,"","chrome=no,close=yes,resize=yes,scrollbars=yes,minimizable=yes,width="+window.innerWidth+",height="+window.innerHeight),o.Keyboard.KeyActions.CANCEL):""},o.Keyboard.KeyMap.prototype.onCtrlV_=function(e,t){return!e.shiftKey&&this.keyboard.ctrlVPaste||e.shiftKey&&!this.keyboard.ctrlVPaste?this.keyboard.terminal.paste()?o.Keyboard.KeyActions.CANCEL:o.Keyboard.KeyActions.PASS:""},o.Keyboard.KeyMap.prototype.onMetaN_=function(e,t){return e.shiftKey?(window.open(document.location.href,"","chrome=no,close=yes,resize=yes,scrollbars=yes,minimizable=yes,width="+window.outerWidth+",height="+window.outerHeight),o.Keyboard.KeyActions.CANCEL):o.Keyboard.KeyActions.DEFAULT},o.Keyboard.KeyMap.prototype.onMetaC_=function(e,t){var r=this.keyboard.terminal.getDocument();return e.shiftKey||r.getSelection().isCollapsed?t.keyCap.substr(e.shiftKey?1:0,1):(this.keyboard.terminal.clearSelectionAfterCopy&&setTimeout(function(){r.getSelection().collapseToEnd()},50),o.Keyboard.KeyActions.PASS)},o.Keyboard.KeyMap.prototype.onMetaV_=function(e,t){return e.shiftKey?o.Keyboard.KeyActions.PASS:this.keyboard.passMetaV?o.Keyboard.KeyActions.PASS:o.Keyboard.KeyActions.DEFAULT},o.Keyboard.KeyMap.prototype.onPlusMinusZero_=function(e,t){if(!(this.keyboard.ctrlPlusMinusZeroZoom^e.shiftKey))return"-_"==t.keyCap?"":o.Keyboard.KeyActions.CANCEL;if(1!=this.keyboard.terminal.getZoomFactor())return o.Keyboard.KeyActions.PASS;var r=t.keyCap.substr(0,1);if("0"==r)this.keyboard.terminal.setFontSize(0);else{var i=this.keyboard.terminal.getFontSize();"-"==r||"[KP-]"==t.keyCap?i-=1:i+=1,this.keyboard.terminal.setFontSize(i)}return o.Keyboard.KeyActions.CANCEL},o.Keyboard.KeyPattern=function(e){this.wildcardCount=0,this.keyCode=e.keyCode,o.Keyboard.KeyPattern.modifiers.forEach(function(t){this[t]=e[t]||!1,"*"==this[t]&&this.wildcardCount++}.bind(this))},o.Keyboard.KeyPattern.modifiers=["shift","ctrl","alt","meta"],o.Keyboard.KeyPattern.sortCompare=function(e,t){return e.wildcardCountt.wildcardCount?1:0},o.Keyboard.KeyPattern.prototype.match_=function(e,t){if(this.keyCode!=e.keyCode)return!1;var r=!0;return o.Keyboard.KeyPattern.modifiers.forEach(function(i){var o=i in e&&e[i];r&&(t||"*"!=this[i])&&this[i]!=o&&(r=!1)}.bind(this)),r},o.Keyboard.KeyPattern.prototype.matchKeyDown=function(e){return this.match_(e,!1)},o.Keyboard.KeyPattern.prototype.matchKeyPattern=function(e){return this.match_(e,!0)},o.Options=function(e){this.wraparound=!e||e.wraparound,this.reverseWraparound=!!e&&e.reverseWraparound,this.originMode=!!e&&e.originMode,this.autoCarriageReturn=!!e&&e.autoCarriageReturn,this.cursorVisible=!!e&&e.cursorVisible,this.cursorBlink=!!e&&e.cursorBlink,this.insertMode=!!e&&e.insertMode,this.reverseVideo=!!e&&e.reverseVideo,this.bracketedPaste=!!e&&e.bracketedPaste},i.rtdep("hterm.Keyboard.KeyActions"),o.Parser=function(){this.source="",this.pos=0,this.ch=null},o.Parser.prototype.error=function(e){return new Error("Parse error at "+this.pos+": "+e)},o.Parser.prototype.isComplete=function(){return this.pos==this.source.length},o.Parser.prototype.reset=function(e,t){this.source=e,this.pos=t||0,this.ch=e.substr(0,1)},o.Parser.prototype.parseKeySequence=function(){var e={keyCode:null};for(var t in o.Parser.identifiers.modifierKeys)e[o.Parser.identifiers.modifierKeys[t]]=!1;for(;this.pos 'none', else => 'right-alt'\n'none': Disable any AltGr related munging.\n'ctrl-alt': Assume Ctrl+Alt means AltGr.\n'left-alt': Assume left Alt means AltGr.\n'right-alt': Assume right Alt means AltGr.\n"],"alt-backspace-is-meta-backspace":[o.PreferenceManager.categories.Keyboard,!1,"bool","If set, undoes the Chrome OS Alt-Backspace->DEL remap, so that alt-backspace indeed is alt-backspace."],"alt-is-meta":[o.PreferenceManager.categories.Keyboard,!1,"bool","Set whether the alt key acts as a meta key or as a distinct alt key."],"alt-sends-what":[o.PreferenceManager.categories.Keyboard,"escape",["escape","8-bit","browser-key"],"Controls how the alt key is handled.\n\n escape....... Send an ESC prefix.\n 8-bit........ Add 128 to the unshifted character as in xterm.\n browser-key.. Wait for the keypress event and see what the browser \n says. (This won't work well on platforms where the \n browser performs a default action for some alt sequences.)"],"audible-bell-sound":[o.PreferenceManager.categories.Sounds,"lib-resource:hterm/audio/bell","url","URL of the terminal bell sound. Empty string for no audible bell."],"desktop-notification-bell":[o.PreferenceManager.categories.Sounds,!1,"bool",'If true, terminal bells in the background will create a Web Notification. https://www.w3.org/TR/notifications/\n\nDisplaying notifications requires permission from the user. When this option is set to true, hterm will attempt to ask the user for permission if necessary. Note browsers may not show this permission request if it did not originate from a user action.\n\nChrome extensions with the "notifications" permission have permission to display notifications.'],"background-color":[o.PreferenceManager.categories.Appearance,"rgb(16, 16, 16)","color","The background color for text with no other color attributes."],"background-image":[o.PreferenceManager.categories.Appearance,"","string","CSS value of the background image. Empty string for no image.\n\nFor example:\n url(https://goo.gl/anedTK)\n linear-gradient(top bottom, blue, red)"],"background-size":[o.PreferenceManager.categories.Appearance,"","string","CSS value of the background image size. Defaults to none."],"background-position":[o.PreferenceManager.categories.Appearance,"","string","CSS value of the background image position.\n\nFor example:\n 10% 10%\n center"],"backspace-sends-backspace":[o.PreferenceManager.categories.Keyboard,!1,"bool","If true, the backspace should send BS ('\\x08', aka ^H). Otherwise the backspace key should send '\\x7f'."],"character-map-overrides":[o.PreferenceManager.categories.Appearance,null,"value",'This is specified as an object. It is a sparse array, where each property is the character set code and the value is an object that is a sparse array itself. In that sparse array, each property is the received character and the value is the displayed character.\n\nFor example:\n {"0":{"+":"\\u2192",",":"\\u2190","-":"\\u2191",".":"\\u2193", "0":"\\u2588"}}'],"close-on-exit":[o.PreferenceManager.categories.Miscellaneous,!0,"bool","Whether or not to close the window when the command exits."],"cursor-blink":[o.PreferenceManager.categories.Appearance,!1,"bool","Whether or not to blink the cursor by default."],"cursor-blink-cycle":[o.PreferenceManager.categories.Appearance,[1e3,500],"value","The cursor blink rate in milliseconds.\n\nA two element array, the first of which is how long the cursor should be on, second is how long it should be off."],"cursor-color":[o.PreferenceManager.categories.Appearance,"rgba(255, 0, 0, 0.5)","color","The color of the visible cursor."],"color-palette-overrides":[o.PreferenceManager.categories.Appearance,null,"value","Override colors in the default palette.\n\nThis can be specified as an array or an object. If specified as an object it is assumed to be a sparse array, where each property is a numeric index into the color palette.\n\nValues can be specified as almost any css color value. This includes #RGB, #RRGGBB, rgb(...), rgba(...), and any color names that are also part of the stock X11 rgb.txt file.\n\nYou can use 'null' to specify that the default value should be not be changed. This is useful for skipping a small number of indices when the value is specified as an array."],"copy-on-select":[o.PreferenceManager.categories.CopyPaste,!0,"bool","Automatically copy mouse selection to the clipboard."],"use-default-window-copy":[o.PreferenceManager.categories.CopyPaste,!1,"bool","Whether to use the default window copy behavior"],"clear-selection-after-copy":[o.PreferenceManager.categories.CopyPaste,!0,"bool","Whether to clear the selection after copying."],"ctrl-plus-minus-zero-zoom":[o.PreferenceManager.categories.Keyboard,!0,"bool","If true, Ctrl-Plus/Minus/Zero controls zoom.\nIf false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_, Ctrl-Plus/Zero do nothing."],"ctrl-c-copy":[o.PreferenceManager.categories.Keyboard,!1,"bool","Ctrl+C copies if true, send ^C to host if false.\nCtrl+Shift+C sends ^C to host if true, copies if false."],"ctrl-v-paste":[o.PreferenceManager.categories.Keyboard,!1,"bool","Ctrl+V pastes if true, send ^V to host if false.\nCtrl+Shift+V sends ^V to host if true, pastes if false."],"east-asian-ambiguous-as-two-column":[o.PreferenceManager.categories.Keyboard,!1,"bool","Set whether East Asian Ambiguous characters have two column width."],"enable-8-bit-control":[o.PreferenceManager.categories.Keyboard,!1,"bool","True to enable 8-bit control characters, false to ignore them.\n\nWe'll respect the two-byte versions of these control characters regardless of this setting."],"enable-bold":[o.PreferenceManager.categories.Appearance,null,"tristate","True if we should use bold weight font for text with the bold/bright attribute. False to use the normal weight font. Null to autodetect."],"enable-bold-as-bright":[o.PreferenceManager.categories.Appearance,!0,"bool","True if we should use bright colors (8-15 on a 16 color palette) for any text with the bold attribute. False otherwise."],"enable-blink":[o.PreferenceManager.categories.Appearance,!0,"bool","True if we should respect the blink attribute. False to ignore it. "],"enable-clipboard-notice":[o.PreferenceManager.categories.CopyPaste,!0,"bool","Show a message in the terminal when the host writes to the clipboard."],"enable-clipboard-write":[o.PreferenceManager.categories.CopyPaste,!0,"bool","Allow the host to write directly to the system clipboard."],"enable-dec12":[o.PreferenceManager.categories.Miscellaneous,!1,"bool","Respect the host's attempt to change the cursor blink status using DEC Private Mode 12."],environment:[o.PreferenceManager.categories.Miscellaneous,{TERM:"xterm-256color"},"value","The default environment variables, as an object."],"font-family":[o.PreferenceManager.categories.Appearance,'"DejaVu Sans Mono", "Everson Mono", FreeMono, "Menlo", "Terminal", monospace',"string","Default font family for the terminal text."],"font-size":[o.PreferenceManager.categories.Appearance,15,"int","The default font size in pixels."],"font-smoothing":[o.PreferenceManager.categories.Appearance,"antialiased","string","CSS font-smoothing property."],"foreground-color":[o.PreferenceManager.categories.Appearance,"rgb(240, 240, 240)","color","The foreground color for text with no other color attributes."],"home-keys-scroll":[o.PreferenceManager.categories.Keyboard,!1,"bool","If true, home/end will control the terminal scrollbar and shift home/end will send the VT keycodes. If false then home/end sends VT codes and shift home/end scrolls."],keybindings:[o.PreferenceManager.categories.Keyboard,null,"value",'A map of key sequence to key actions. Key sequences include zero or more modifier keys followed by a key code. Key codes can be decimal or hexadecimal numbers, or a key identifier. Key actions can be specified a string to send to the host, or an action identifier. For a full explanation of the format, see https://goo.gl/LWRndr.\n\nSample keybindings:\n{\n "Ctrl-Alt-K": "clearScrollback",\n "Ctrl-Shift-L": "PASS",\n "Ctrl-H": "\'HELLO\\n\'"\n}'],"max-string-sequence":[o.PreferenceManager.categories.Encoding,1e5,"int","Max length of a DCS, OSC, PM, or APS sequence before we give up and ignore the code."],"media-keys-are-fkeys":[o.PreferenceManager.categories.Keyboard,!1,"bool","If true, convert media keys to their Fkey equivalent. If false, let the browser handle the keys."],"meta-sends-escape":[o.PreferenceManager.categories.Keyboard,!0,"bool","Set whether the meta key sends a leading escape or not."],"mouse-right-click-paste":[o.PreferenceManager.categories.CopyPaste,!0,"bool",'Paste on right mouse button clicks.\n\nThis option is activate independent of the "mouse-paste-button" setting.\n\nNote: This will handle left & right handed mice correctly.'],"mouse-paste-button":[o.PreferenceManager.categories.CopyPaste,null,[null,0,1,2,3,4,5,6],"Mouse paste button, or null to autodetect.\n\nFor autodetect, we'll use the middle mouse button for non-X11 platforms (including Chrome OS). On X11, we'll use the right mouse button (since the native window manager should paste via the middle mouse button).\n\n0 == left (primary) button.\n1 == middle (auxiliary) button.\n2 == right (secondary) button.\n\nThis option is activate independent of the \"mouse-right-click-paste\" setting.\n\nNote: This will handle left & right handed mice correctly."],"word-break-match-left":[o.PreferenceManager.categories.CopyPaste,"[^\\s\\[\\](){}<>\"'\\^!@#$%&*,;:`]","string",'Regular expression to halt matching to the left (start) of a selection.\n\nNormally this is a character class to reject specific characters.\nWe allow "~" and "." by default as paths frequently start with those.'],"word-break-match-right":[o.PreferenceManager.categories.CopyPaste,"[^\\s\\[\\](){}<>\"'\\^!@#$%&*,;:~.`]","string","Regular expression to halt matching to the right (end) of a selection.\n\nNormally this is a character class to reject specific characters."],"word-break-match-middle":[o.PreferenceManager.categories.CopyPaste,"[^\\s\\[\\](){}<>\"'\\^]*","string","Regular expression to match all the characters in the middle.\n\nNormally this is a character class to reject specific characters.\n\nUsed to expand the selection surrounding the starting point."],"page-keys-scroll":[o.PreferenceManager.categories.Keyboard,!1,"bool","If true, page up/down will control the terminal scrollbar and shift page up/down will send the VT keycodes. If false then page up/down sends VT codes and shift page up/down scrolls."],"pass-alt-number":[o.PreferenceManager.categories.Keyboard,null,"tristate","Set whether we should pass Alt-1..9 to the browser.\n\nThis is handy when running hterm in a browser tab, so that you don't lose Chrome's \"switch to tab\" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs.\n\nIf true, Alt-1..9 will be handled by the browser. If false, Alt-1..9 will be sent to the host. If null, autodetect based on browser platform and window type."],"pass-ctrl-number":[o.PreferenceManager.categories.Keyboard,null,"tristate","Set whether we should pass Ctrl-1..9 to the browser.\n\nThis is handy when running hterm in a browser tab, so that you don't lose Chrome's \"switch to tab\" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs.\n\nIf true, Ctrl-1..9 will be handled by the browser. If false, Ctrl-1..9 will be sent to the host. If null, autodetect based on browser platform and window type."],"pass-meta-number":[o.PreferenceManager.categories.Keyboard,null,"tristate","Set whether we should pass Meta-1..9 to the browser.\n\nThis is handy when running hterm in a browser tab, so that you don't lose Chrome's \"switch to tab\" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs.\n\nIf true, Meta-1..9 will be handled by the browser. If false, Meta-1..9 will be sent to the host. If null, autodetect based on browser platform and window type."],"pass-meta-v":[o.PreferenceManager.categories.Keyboard,!0,"bool","Set whether meta-V gets passed to host."],"receive-encoding":[o.PreferenceManager.categories.Encoding,"utf-8",["utf-8","raw"],"Set the expected encoding for data received from the host.\n\nValid values are 'utf-8' and 'raw'."],"scroll-on-keystroke":[o.PreferenceManager.categories.Scrolling,!0,"bool","If true, scroll to the bottom on any keystroke."],"scroll-on-output":[o.PreferenceManager.categories.Scrolling,!1,"bool","If true, scroll to the bottom on terminal output."],"scrollbar-visible":[o.PreferenceManager.categories.Scrolling,!0,"bool","The vertical scrollbar mode."],"scroll-wheel-may-send-arrow-keys":[o.PreferenceManager.categories.Scrolling,!1,"bool","When using the alternative screen buffer, and DECCKM (Application Cursor Keys) is active, mouse wheel scroll events will emulate arrow keys.\n\nIt can be temporarily disabled by holding the shift key.\n\nThis frequently comes up when using pagers (less) or reading man pages or text editors (vi/nano) or using screen/tmux."],"scroll-wheel-move-multiplier":[o.PreferenceManager.categories.Scrolling,1,"int","The multiplier for the pixel delta in wheel events caused by the scroll wheel. Alters how fast the page scrolls."],"send-encoding":[o.PreferenceManager.categories.Encoding,"utf-8",["utf-8","raw"],"Set the encoding for data sent to host."],"terminal-encoding":[o.PreferenceManager.categories.Encoding,"iso-2022",["iso-2022","utf-8","utf-8-locked"],"The default terminal encoding (DOCS).\n\nISO-2022 enables character map translations (like graphics maps).\nUTF-8 disables support for those.\n\nThe locked variant means the encoding cannot be changed at runtime via terminal escape sequences.\n\nYou should stick with UTF-8 unless you notice broken rendering with legacy applications."],"shift-insert-paste":[o.PreferenceManager.categories.Keyboard,!0,"bool","Shift + Insert pastes if true, sent to host if false."],"user-css":[o.PreferenceManager.categories.Appearance,"","url","URL of user stylesheet to include in the terminal document."],"user-css-text":[o.PreferenceManager.categories.Appearance,"","multiline-string","Custom CSS text for styling the terminal."]},o.PreferenceManager.prototype=Object.create(i.PreferenceManager.prototype),o.PreferenceManager.constructor=o.PreferenceManager,o.PubSub=function(){this.observers_={}},o.PubSub.addBehavior=function(e){var t=new o.PubSub;for(var r in o.PubSub.prototype)e[r]=o.PubSub.prototype[r].bind(t)},o.PubSub.prototype.subscribe=function(e,t){e in this.observers_||(this.observers_[e]=[]),this.observers_[e].push(t)},o.PubSub.prototype.unsubscribe=function(e,t){var r=this.observers_[e];if(!r)throw"Invalid subject: "+e;var i=r.indexOf(t);if(i<0)throw"Not subscribed: "+e;r.splice(i,1)},o.PubSub.prototype.publish=function(e,t,r){function i(e){e=e&&this.setCursorPosition(this.cursorPosition.row,e-1)},o.Screen.prototype.shiftRow=function(){return this.shiftRows(1)[0]},o.Screen.prototype.shiftRows=function(e){return this.rowsArray.splice(0,e)},o.Screen.prototype.unshiftRow=function(e){this.rowsArray.splice(0,0,e)},o.Screen.prototype.unshiftRows=function(e){this.rowsArray.unshift.apply(this.rowsArray,e)},o.Screen.prototype.popRow=function(){return this.popRows(1)[0]},o.Screen.prototype.popRows=function(e){return this.rowsArray.splice(this.rowsArray.length-e,e)},o.Screen.prototype.pushRow=function(e){this.rowsArray.push(e)},o.Screen.prototype.pushRows=function(e){e.push.apply(this.rowsArray,e)},o.Screen.prototype.insertRow=function(e,t){this.rowsArray.splice(e,0,t)},o.Screen.prototype.insertRows=function(e,t){for(var r=0;r=this.rowsArray.length?(console.error("Row out of bounds: "+e),e=this.rowsArray.length-1):e<0&&(console.error("Row out of bounds: "+e),e=0),t>=this.columnCount_?(console.error("Column out of bounds: "+t),t=this.columnCount_-1):t<0&&(console.error("Column out of bounds: "+t),t=0),this.cursorPosition.overflow=!1;var r=this.rowsArray[e],i=r.firstChild;i||(i=r.ownerDocument.createTextNode(""),r.appendChild(i));var s=0;for(r==this.cursorRowNode_?t>=this.cursorPosition.column-this.cursorOffset_&&(i=this.cursorNode_,s=this.cursorPosition.column-this.cursorOffset_):this.cursorRowNode_=r,this.cursorPosition.move(e,t);i;){var n=t-s,a=o.TextAttributes.nodeWidth(i);if(!i.nextSibling||a>n)return this.cursorNode_=i,void(this.cursorOffset_=n);s+=a,i=i.nextSibling}}else console.warn("Attempt to set cursor position on empty screen.")},o.Screen.prototype.syncSelectionCaret=function(e){try{e.collapse(this.cursorNode_,this.cursorOffset_)}catch(e){}},o.Screen.prototype.splitNode_=function(e,t){var r=e.cloneNode(!1),s=e.textContent;e.textContent=o.TextAttributes.nodeSubstr(e,0,t),r.textContent=i.wc.substr(s,t),r.textContent&&e.parentNode.insertBefore(r,e.nextSibling),e.textContent||e.parentNode.removeChild(e)},o.Screen.prototype.maybeClipCurrentRow=function(){var e=o.TextAttributes.nodeWidth(this.cursorRowNode_);if(e<=this.columnCount_)this.cursorPosition.column>=this.columnCount_&&(this.setCursorPosition(this.cursorPosition.row,this.columnCount_-1),this.cursorPosition.overflow=!0);else{var t=this.cursorPosition.column;this.setCursorPosition(this.cursorPosition.row,this.columnCount_-1),e=o.TextAttributes.nodeWidth(this.cursorNode_),this.cursorOffset_o.TextAttributes.nodeWidth(e);){if(!e.hasAttribute("line-overflow")||!e.nextSibling)return-1;t-=o.TextAttributes.nodeWidth(e),e=e.nextSibling}return this.getNodeAndOffsetWithinRow_(e,t)},o.Screen.prototype.getNodeAndOffsetWithinRow_=function(e,t){for(var r=0;ro)){var d=i.wc.substring(h,o,i.wc.strWidth(h)),f=new RegExp("^"+l+a),g=d.match(f);if(g){var m=o+i.wc.strWidth(g[0]);-1==m||ms.rowIndex)t();else if(i.focusNode==i.anchorNode)i.anchorOffset=this.lastRowCount_},o.ScrollPort.prototype.drawTopFold_=function(e){if(!this.selection.startRow||this.selection.startRow.rowIndex>=e)this.rowNodes_.firstChild!=this.topFold_&&this.rowNodes_.insertBefore(this.topFold_,this.rowNodes_.firstChild);else{if(!this.selection.isMultiline||this.selection.endRow.rowIndex>=e)this.selection.startRow.nextSibling!=this.topFold_&&this.rowNodes_.insertBefore(this.topFold_,this.selection.startRow.nextSibling);else for(this.selection.endRow.nextSibling!=this.topFold_&&this.rowNodes_.insertBefore(this.topFold_,this.selection.endRow.nextSibling);this.selection.startRow.nextSibling!=this.selection.endRow;)this.rowNodes_.removeChild(this.selection.startRow.nextSibling);for(;this.rowNodes_.firstChild!=this.selection.startRow;)this.rowNodes_.removeChild(this.rowNodes_.firstChild)}},o.ScrollPort.prototype.drawBottomFold_=function(e){if(!this.selection.endRow||this.selection.endRow.rowIndex<=e)this.rowNodes_.lastChild!=this.bottomFold_&&this.rowNodes_.appendChild(this.bottomFold_);else{if(!this.selection.isMultiline||this.selection.startRow.rowIndex<=e)this.bottomFold_.nextSibling!=this.selection.endRow&&this.rowNodes_.insertBefore(this.bottomFold_,this.selection.endRow);else for(this.bottomFold_.nextSibling!=this.selection.startRow&&this.rowNodes_.insertBefore(this.bottomFold_,this.selection.startRow);this.selection.startRow.nextSibling!=this.selection.endRow;)this.rowNodes_.removeChild(this.selection.startRow.nextSibling);for(;this.rowNodes_.lastChild!=this.selection.endRow;)this.rowNodes_.removeChild(this.rowNodes_.lastChild)}},o.ScrollPort.prototype.drawVisibleRows_=function(e,t){function r(e,t){for(;e!=t;){if(!e)throw"Did not encounter target node";if(e==i.bottomFold_)throw"Encountered bottom fold before target node";var r=e;e=e.nextSibling,r.parentNode.removeChild(r)}}for(var i=this,o=this.selection.startRow,s=this.selection.endRow,n=this.bottomFold_,a=this.topFold_.nextSibling,l=Math.min(this.visibleRowCount,this.rowProvider_.getRowCount()),h=0;h=this.lastRowCount_;var t=e*this.characterSize.height+this.visibleRowTopMargin,r=this.getScrollMax_();t>r&&(t=r),this.screen_.scrollTop!=t&&(this.screen_.scrollTop=t,this.scheduleRedraw())},o.ScrollPort.prototype.scrollRowToBottom=function(e){this.syncScrollHeight(),this.isScrolledEnd=e+this.visibleRowCount>=this.lastRowCount_;var t=e*this.characterSize.height+this.visibleRowTopMargin+this.visibleRowBottomMargin;(t-=this.visibleRowCount*this.characterSize.height)<0&&(t=0),this.screen_.scrollTop!=t&&(this.screen_.scrollTop=t)},o.ScrollPort.prototype.getTopRowIndex=function(){return Math.round(this.screen_.scrollTop/this.characterSize.height)},o.ScrollPort.prototype.getBottomRowIndex=function(e){return e+this.visibleRowCount-1},o.ScrollPort.prototype.onScroll_=function(e){var t=this.getScreenSize();t.width==this.lastScreenWidth_&&t.height==this.lastScreenHeight_?(this.redraw_(),this.publish("scroll",{scrollPort:this})):this.resize()},o.ScrollPort.prototype.onScrollWheel=function(e){},o.ScrollPort.prototype.onScrollWheel_=function(e){if(this.onScrollWheel(e),!e.defaultPrevented){var t=this.scrollWheelDelta(e),r=this.screen_.scrollTop-t;r<0&&(r=0);var i=this.getScrollMax_();r>i&&(r=i),r!=this.screen_.scrollTop&&(this.screen_.scrollTop=r,e.preventDefault())}},o.ScrollPort.prototype.scrollWheelDelta=function(e){var t;switch(e.deltaMode){case WheelEvent.DOM_DELTA_PIXEL:t=e.deltaY*this.scrollWheelMultiplier_;break;case WheelEvent.DOM_DELTA_LINE:t=e.deltaY*this.characterSize.height;break;case WheelEvent.DOM_DELTA_PAGE:t=e.deltaY*this.characterSize.height*this.screen_.getHeight()}return-1*t},o.ScrollPort.prototype.onTouch=function(e){},o.ScrollPort.prototype.onTouch_=function(e){if(this.onTouch(e),!e.defaultPrevented){var t,r,i=function(e){return{id:e.identifier,y:e.clientY,x:e.clientX}};switch(e.type){case"touchstart":for(t=0;tn&&(s=n),s!=this.screen_.scrollTop&&(this.screen_.scrollTop=s)}e.preventDefault()}},o.ScrollPort.prototype.onResize_=function(e){this.syncCharacterSize(),this.resize()},o.ScrollPort.prototype.onCopy=function(e){},o.ScrollPort.prototype.onCopy_=function(e){if(this.onCopy(e),!e.defaultPrevented&&(this.resetSelectBags_(),this.selection.sync(),this.selection.startRow&&!(this.selection.endRow.rowIndex-this.selection.startRow.rowIndex<2))){var t=this.getTopRowIndex(),r=this.getBottomRowIndex(t);if(this.selection.startRow.rowIndexr){var o;o=this.selection.startRow.rowIndex>r?this.selection.startRow.rowIndex+1:this.bottomFold_.previousSibling.rowIndex+1,this.bottomSelectBag_.textContent=this.rowProvider_.getRowsText(o,this.selection.endRow.rowIndex),this.rowNodes_.insertBefore(this.bottomSelectBag_,this.selection.endRow)}}},o.ScrollPort.prototype.onBodyKeyDown_=function(e){if(this.ctrlVPaste){var t=String.fromCharCode(e.which).toLowerCase();(e.ctrlKey||e.metaKey)&&"v"==t&&this.pasteTarget_.focus()}},o.ScrollPort.prototype.onPaste_=function(e){this.pasteTarget_.focus();var t=this;setTimeout(function(){t.publish("paste",{text:t.pasteTarget_.value}),t.pasteTarget_.value="",t.screen_.focus()},0)},o.ScrollPort.prototype.handlePasteTargetTextInput_=function(e){e.stopPropagation()},o.ScrollPort.prototype.setScrollbarVisible=function(e){this.screen_.style.overflowY=e?"scroll":"hidden"},o.ScrollPort.prototype.setScrollWheelMoveMultipler=function(e){this.scrollWheelMultiplier_=e},i.rtdep("lib.colors","lib.PreferenceManager","lib.resource","lib.wc","lib.f","hterm.Keyboard","hterm.Options","hterm.PreferenceManager","hterm.Screen","hterm.ScrollPort","hterm.Size","hterm.TextAttributes","hterm.VT"),o.Terminal=function(e){this.profileId_=null,this.primaryScreen_=new o.Screen,this.alternateScreen_=new o.Screen,this.screen_=this.primaryScreen_,this.screenSize=new o.Size(0,0),this.scrollPort_=new o.ScrollPort(this),this.scrollPort_.subscribe("resize",this.onResize_.bind(this)),this.scrollPort_.subscribe("scroll",this.onScroll_.bind(this)),this.scrollPort_.subscribe("paste",this.onPaste_.bind(this)),this.scrollPort_.onCopy=this.onCopy_.bind(this),this.div_=null,this.document_=window.document,this.scrollbackRows_=[],this.tabStops_=[],this.defaultTabStops=!0,this.vtScrollTop_=null,this.vtScrollBottom_=null,this.cursorNode_=null,this.cursorShape_=o.Terminal.cursorShape.BLOCK,this.cursorColor_=null,this.cursorBlinkCycle_=[100,100],this.myOnCursorBlink_=this.onCursorBlink_.bind(this),this.backgroundColor_=null,this.foregroundColor_=null,this.scrollOnOutput_=null,this.scrollOnKeystroke_=null,this.scrollWheelArrowKeys_=null,this.defeatMouseReports_=!1,this.bellAudio_=this.document_.createElement("audio"),this.bellAudio_.id="hterm:bell-audio",this.bellAudio_.setAttribute("preload","auto"),this.bellNotificationList_=[],this.desktopNotificationBell_=!1,this.savedOptions_={},this.options_=new o.Options,this.timeouts_={},this.vt=new o.VT(this),this.keyboard=new o.Keyboard(this),this.io=new o.Terminal.IO(this),this.enableMouseDragScroll=!0,this.copyOnSelect=null,this.mouseRightClickPaste=null,this.mousePasteButton=null,this.useDefaultWindowCopy=!1,this.clearSelectionAfterCopy=!0,this.realizeSize_(80,24),this.setDefaultTabStops(),this.setProfile(e||"default",function(){this.onTerminalReady()}.bind(this))},o.Terminal.cursorShape={BLOCK:"BLOCK",BEAM:"BEAM",UNDERLINE:"UNDERLINE"},o.Terminal.prototype.onTerminalReady=function(){},o.Terminal.prototype.tabWidth=8,o.Terminal.prototype.setProfile=function(e,t){this.profileId_=e.replace(/\//g,"");var r=this;this.prefs_&&this.prefs_.deactivate(),this.prefs_=new o.PreferenceManager(this.profileId_),this.prefs_.addObservers(null,{"alt-gr-mode":function(e){e=null==e?"en-us"==navigator.language.toLowerCase()?"none":"right-alt":"string"==typeof e?e.toLowerCase():"none",/^(none|ctrl-alt|left-alt|right-alt)$/.test(e)||(e="none"),r.keyboard.altGrMode=e},"alt-backspace-is-meta-backspace":function(e){r.keyboard.altBackspaceIsMetaBackspace=e},"alt-is-meta":function(e){r.keyboard.altIsMeta=e},"alt-sends-what":function(e){/^(escape|8-bit|browser-key)$/.test(e)||(e="escape"),r.keyboard.altSendsWhat=e},"audible-bell-sound":function(e){var t=e.match(/^lib-resource:(\S+)/);t?r.bellAudio_.setAttribute("src",i.resource.getDataUrl(t[1])):r.bellAudio_.setAttribute("src",e)},"desktop-notification-bell":function(e){e&&Notification?(r.desktopNotificationBell_="granted"===Notification.permission,r.desktopNotificationBell_||console.warn("desktop-notification-bell is true but we do not have permission to display notifications.")):r.desktopNotificationBell_=!1},"background-color":function(e){r.setBackgroundColor(e)},"background-image":function(e){r.scrollPort_.setBackgroundImage(e)},"background-size":function(e){r.scrollPort_.setBackgroundSize(e)},"background-position":function(e){r.scrollPort_.setBackgroundPosition(e)},"backspace-sends-backspace":function(e){r.keyboard.backspaceSendsBackspace=e},"character-map-overrides":function(e){null==e||e instanceof Object?(r.vt.characterMaps.reset(),r.vt.characterMaps.setOverrides(e)):console.warn("Preference character-map-modifications is not an object: "+e)},"cursor-blink":function(e){r.setCursorBlink(!!e)},"cursor-blink-cycle":function(e){e instanceof Array&&"number"==typeof e[0]&&"number"==typeof e[1]?r.cursorBlinkCycle_=e:r.cursorBlinkCycle_="number"==typeof e?[e,e]:[100,100]},"cursor-color":function(e){r.setCursorColor(e)},"color-palette-overrides":function(e){if(null==e||e instanceof Object||e instanceof Array){if(i.colors.colorPalette=i.colors.stockColorPalette.concat(),e)for(var t in e){var o=parseInt(t);if(isNaN(o)||o<0||o>255)console.log("Invalid value in palette: "+t+": "+e[t]);else if(e[o]){var s=i.colors.normalizeCSS(e[o]);s&&(i.colors.colorPalette[o]=s)}}r.primaryScreen_.textAttributes.resetColorPalette(),r.alternateScreen_.textAttributes.resetColorPalette()}else console.warn("Preference color-palette-overrides is not an array or object: "+e)},"copy-on-select":function(e){r.copyOnSelect=!!e},"use-default-window-copy":function(e){r.useDefaultWindowCopy=!!e},"clear-selection-after-copy":function(e){r.clearSelectionAfterCopy=!!e},"ctrl-plus-minus-zero-zoom":function(e){r.keyboard.ctrlPlusMinusZeroZoom=e},"ctrl-c-copy":function(e){r.keyboard.ctrlCCopy=e},"ctrl-v-paste":function(e){r.keyboard.ctrlVPaste=e,r.scrollPort_.setCtrlVPaste(e)},"east-asian-ambiguous-as-two-column":function(e){i.wc.regardCjkAmbiguous=e},"enable-8-bit-control":function(e){r.vt.enable8BitControl=!!e},"enable-bold":function(e){r.syncBoldSafeState()},"enable-bold-as-bright":function(e){r.primaryScreen_.textAttributes.enableBoldAsBright=!!e,r.alternateScreen_.textAttributes.enableBoldAsBright=!!e},"enable-blink":function(e){r.syncBlinkState()},"enable-clipboard-write":function(e){r.vt.enableClipboardWrite=!!e},"enable-dec12":function(e){r.vt.enableDec12=!!e},"font-family":function(e){r.syncFontFamily()},"font-size":function(e){r.setFontSize(e)},"font-smoothing":function(e){r.syncFontFamily()},"foreground-color":function(e){r.setForegroundColor(e)},"home-keys-scroll":function(e){r.keyboard.homeKeysScroll=e},keybindings:function(e){if(r.keyboard.bindings.clear(),e)if(e instanceof Object)try{r.keyboard.bindings.addBindings(e)}catch(e){console.error("Error in keybindings preference: "+e)}else console.error("Error in keybindings preference: Expected object")},"max-string-sequence":function(e){r.vt.maxStringSequence=e},"media-keys-are-fkeys":function(e){r.keyboard.mediaKeysAreFKeys=e},"meta-sends-escape":function(e){r.keyboard.metaSendsEscape=e},"mouse-right-click-paste":function(e){r.mouseRightClickPaste=e},"mouse-paste-button":function(e){r.syncMousePasteButton()},"page-keys-scroll":function(e){r.keyboard.pageKeysScroll=e},"pass-alt-number":function(e){null==e&&(e=!window.navigator.userAgent.match(/Mac OS X/)&&"popup"!=o.windowType),r.passAltNumber=e},"pass-ctrl-number":function(e){null==e&&(e=!window.navigator.userAgent.match(/Mac OS X/)&&"popup"!=o.windowType),r.passCtrlNumber=e},"pass-meta-number":function(e){null==e&&(e=window.navigator.userAgent.match(/Mac OS X/)&&"popup"!=o.windowType),r.passMetaNumber=e},"pass-meta-v":function(e){r.keyboard.passMetaV=e},"receive-encoding":function(e){/^(utf-8|raw)$/.test(e)||(console.warn('Invalid value for "receive-encoding": '+e),e="utf-8"),r.vt.characterEncoding=e},"scroll-on-keystroke":function(e){r.scrollOnKeystroke_=e},"scroll-on-output":function(e){r.scrollOnOutput_=e},"scrollbar-visible":function(e){r.setScrollbarVisible(e)},"scroll-wheel-may-send-arrow-keys":function(e){r.scrollWheelArrowKeys_=e},"scroll-wheel-move-multiplier":function(e){r.setScrollWheelMoveMultipler(e)},"send-encoding":function(e){/^(utf-8|raw)$/.test(e)||(console.warn('Invalid value for "send-encoding": '+e),e="utf-8"),r.keyboard.characterEncoding=e},"shift-insert-paste":function(e){r.keyboard.shiftInsertPaste=e},"terminal-encoding":function(e){r.vt.setEncoding(e)},"user-css":function(e){r.scrollPort_.setUserCssUrl(e)},"user-css-text":function(e){r.scrollPort_.setUserCssText(e)},"word-break-match-left":function(e){r.primaryScreen_.wordBreakMatchLeft=e,r.alternateScreen_.wordBreakMatchLeft=e},"word-break-match-right":function(e){r.primaryScreen_.wordBreakMatchRight=e,r.alternateScreen_.wordBreakMatchRight=e},"word-break-match-middle":function(e){r.primaryScreen_.wordBreakMatchMiddle=e,r.alternateScreen_.wordBreakMatchMiddle=e}}),this.prefs_.readStorage(function(){this.prefs_.notifyAll(),t&&t()}.bind(this))},o.Terminal.prototype.getPrefs=function(){return this.prefs_},o.Terminal.prototype.setBracketedPaste=function(e){this.options_.bracketedPaste=e},o.Terminal.prototype.setCursorColor=function(e){this.cursorColor_=e,this.cursorNode_.style.backgroundColor=e,this.cursorNode_.style.borderColor=e},o.Terminal.prototype.getCursorColor=function(){return this.cursorColor_},o.Terminal.prototype.setSelectionEnabled=function(e){this.enableMouseDragScroll=e},o.Terminal.prototype.setBackgroundColor=function(e){this.backgroundColor_=i.colors.normalizeCSS(e),this.primaryScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.alternateScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.scrollPort_.setBackgroundColor(e)},o.Terminal.prototype.getBackgroundColor=function(){return this.backgroundColor_},o.Terminal.prototype.setForegroundColor=function(e){this.foregroundColor_=i.colors.normalizeCSS(e),this.primaryScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.alternateScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.scrollPort_.setForegroundColor(e)},o.Terminal.prototype.getForegroundColor=function(){return this.foregroundColor_},o.Terminal.prototype.runCommandClass=function(e,t){var r=this.prefs_.get("environment");"object"==typeof r&&null!=r||(r={});var i=this;this.command=new e({argString:t||"",io:this.io.push(),environment:r,onExit:function(e){i.io.pop(),i.uninstallKeyboard(),i.prefs_.get("close-on-exit")&&window.close()}}),this.installKeyboard(),this.command.run()},o.Terminal.prototype.isPrimaryScreen=function(){return this.screen_==this.primaryScreen_},o.Terminal.prototype.installKeyboard=function(){this.keyboard.installKeyboard(this.scrollPort_.getDocument().body)},o.Terminal.prototype.uninstallKeyboard=function(){this.keyboard.installKeyboard(null)},o.Terminal.prototype.setCssVar=function(e,t,r="--hterm-"){this.document_.documentElement.style.setProperty(`${r}${e}`,t)},o.Terminal.prototype.setFontSize=function(e){0===e&&(e=this.prefs_.get("font-size")),this.scrollPort_.setFontSize(e),this.setCssVar("charsize-width",this.scrollPort_.characterSize.width+"px"),this.setCssVar("charsize-height",this.scrollPort_.characterSize.height+"px")},o.Terminal.prototype.getFontSize=function(){return this.scrollPort_.getFontSize()},o.Terminal.prototype.getFontFamily=function(){return this.scrollPort_.getFontFamily()},o.Terminal.prototype.syncFontFamily=function(){this.scrollPort_.setFontFamily(this.prefs_.get("font-family"),this.prefs_.get("font-smoothing")),this.syncBoldSafeState()},o.Terminal.prototype.syncMousePasteButton=function(){var e=this.prefs_.get("mouse-paste-button");if("number"!=typeof e){var t=navigator.userAgent.match(/\(X11;\s+(\S+)/);t&&"CrOS"!=t[1]?this.mousePasteButton=2:this.mousePasteButton=1}else this.mousePasteButton=e},o.Terminal.prototype.syncBoldSafeState=function(){var e=this.prefs_.get("enable-bold");if(null!==e)return this.primaryScreen_.textAttributes.enableBold=e,void(this.alternateScreen_.textAttributes.enableBold=e);var t=this.scrollPort_.measureCharacterSize(),r=this.scrollPort_.measureCharacterSize("bold"),i=t.equals(r);i||console.warn("Bold characters disabled: Size of bold weight differs from normal. Font family is: "+this.scrollPort_.getFontFamily()),this.primaryScreen_.textAttributes.enableBold=i,this.alternateScreen_.textAttributes.enableBold=i},o.Terminal.prototype.syncBlinkState=function(){this.setCssVar("node-duration",this.prefs_.get("enable-blink")?"0.7s":"0")},o.Terminal.prototype.syncMouseStyle=function(){this.setCssVar("mouse-cursor-style",this.vt.mouseReport==this.vt.MOUSE_REPORT_DISABLED?"var(--hterm-mouse-cursor-text)":"var(--hterm-mouse-cursor-pointer)")},o.Terminal.prototype.saveCursor=function(){return this.screen_.cursorPosition.clone()},o.Terminal.prototype.getTextAttributes=function(){return this.screen_.textAttributes},o.Terminal.prototype.setTextAttributes=function(e){this.screen_.textAttributes=e},o.Terminal.prototype.getZoomFactor=function(){return this.scrollPort_.characterSize.zoomFactor},o.Terminal.prototype.setWindowTitle=function(e){window.document.title=e},o.Terminal.prototype.restoreCursor=function(e){var t=i.f.clamp(e.row,0,this.screenSize.height-1),r=i.f.clamp(e.column,0,this.screenSize.width-1);this.screen_.setCursorPosition(t,r),(e.column>r||e.column==r&&e.overflow)&&(this.screen_.cursorPosition.overflow=!0)},o.Terminal.prototype.clearCursorOverflow=function(){this.screen_.cursorPosition.overflow=!1},o.Terminal.prototype.setCursorShape=function(e){this.cursorShape_=e,this.restyleCursor_()},o.Terminal.prototype.getCursorShape=function(){return this.cursorShape_},o.Terminal.prototype.setWidth=function(e){null!=e?(this.div_.style.width=Math.ceil(this.scrollPort_.characterSize.width*e+this.scrollPort_.currentScrollbarWidthPx)+"px",this.realizeSize_(e,this.screenSize.height),this.scheduleSyncCursorPosition_()):this.div_.style.width="100%"},o.Terminal.prototype.setHeight=function(e){null!=e?(this.div_.style.height=this.scrollPort_.characterSize.height*e+"px",this.realizeSize_(this.screenSize.width,e),this.scheduleSyncCursorPosition_()):this.div_.style.height="100%"},o.Terminal.prototype.realizeSize_=function(e,t){e!=this.screenSize.width&&this.realizeWidth_(e),t!=this.screenSize.height&&this.realizeHeight_(t),this.io.onTerminalResize_(e,t)},o.Terminal.prototype.realizeWidth_=function(e){if(e<=0)throw new Error("Attempt to realize bad width: "+e);var t=e-this.screen_.getWidth();if(this.screenSize.width=e,this.screen_.setColumnCount(e),t>0)this.defaultTabStops&&this.setDefaultTabStops(this.screenSize.width-t);else for(var r=this.tabStops_.length-1;r>=0&&!(this.tabStops_[r]0){if(t<=this.scrollbackRows_.length){var s=Math.min(t,this.scrollbackRows_.length),n=this.scrollbackRows_.splice(this.scrollbackRows_.length-s,s);this.screen_.unshiftRows(n),t-=s,r.row+=s}t&&this.appendRows_(t)}this.setVTScrollRegion(null,null),this.restoreCursor(r)},o.Terminal.prototype.scrollHome=function(){this.scrollPort_.scrollRowToTop(0)},o.Terminal.prototype.scrollEnd=function(){this.scrollPort_.scrollRowToBottom(this.getRowCount())},o.Terminal.prototype.scrollPageUp=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e-this.screenSize.height+1)},o.Terminal.prototype.scrollPageDown=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e+this.screenSize.height-1)},o.Terminal.prototype.scrollLineUp=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e-1)},o.Terminal.prototype.scrollLineDown=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e+1)},o.Terminal.prototype.wipeContents=function(){this.scrollbackRows_.length=0,this.scrollPort_.resetCache(),[this.primaryScreen_,this.alternateScreen_].forEach(function(e){var t=e.getHeight();t>0&&(this.renumberRows_(0,t),this.clearHome(e))}.bind(this)),this.syncCursorPosition_(),this.scrollPort_.invalidate()},o.Terminal.prototype.reset=function(){this.clearAllTabStops(),this.setDefaultTabStops(),this.clearHome(this.primaryScreen_),this.primaryScreen_.textAttributes.reset(),this.clearHome(this.alternateScreen_),this.alternateScreen_.textAttributes.reset(),this.setCursorBlink(!!this.prefs_.get("cursor-blink")),this.vt.reset(),this.softReset()},o.Terminal.prototype.softReset=function(){this.options_=new o.Options,this.options_.cursorBlink=!!this.timeouts_.cursorBlink,this.primaryScreen_.textAttributes.resetColorPalette(),this.alternateScreen_.textAttributes.resetColorPalette(),this.setVTScrollRegion(null,null),this.setCursorVisible(!0)},o.Terminal.prototype.forwardTabStop=function(){for(var e=this.screen_.cursorPosition.column,t=0;te)return void this.setCursorColumn(this.tabStops_[t]);var r=this.screen_.cursorPosition.overflow;this.setCursorColumn(this.screenSize.width-1),this.screen_.cursorPosition.overflow=r},o.Terminal.prototype.backwardTabStop=function(){for(var e=this.screen_.cursorPosition.column,t=this.tabStops_.length-1;t>=0;t--)if(this.tabStops_[t]=0;t--){if(this.tabStops_[t]==e)return;if(this.tabStops_[t]0){var n=this.screen_.shiftRows(s);Array.prototype.push.apply(this.scrollbackRows_,n),this.scrollPort_.isScrolledEnd&&this.scheduleScrollDown_()}t>=this.screen_.rowsArray.length&&(t=this.screen_.rowsArray.length-1),this.setAbsoluteCursorPosition(t,0)},o.Terminal.prototype.moveRows_=function(e,t,r){var i=this.screen_.removeRows(e,t);this.screen_.insertRows(r,i);var o,s;e=this.screenSize.width&&(a=!0,n=this.screenSize.width-this.screen_.cursorPosition.column),a&&!this.options_.wraparound?(s=i.wc.substr(e,t,n-1)+i.wc.substr(e,r-1),n=r):s=i.wc.substr(e,t,n);for(var l=o.TextAttributes.splitWidecharString(s),h=0;h=0;o--)this.setAbsoluteCursorPosition(t+o,0),this.screen_.clearCursorRow()},o.Terminal.prototype.deleteLines=function(e){var t=this.saveCursor(),r=t.row,i=this.getVTScrollBottom(),o=i-r+1,s=i-(e=Math.min(e,o))+1;e!=o&&this.moveRows_(r,e,s);for(var n=0;nt)this.setCssVar("cursor-offset-row","-1");else{this.options_.cursorVisible&&"none"==this.cursorNode_.style.display&&(this.cursorNode_.style.display=""),this.setCssVar("cursor-offset-row",`${r-e} + `+`${this.scrollPort_.visibleRowTopMargin}px`),this.setCssVar("cursor-offset-col",this.screen_.cursorPosition.column),this.cursorNode_.setAttribute("title","("+this.screen_.cursorPosition.column+", "+this.screen_.cursorPosition.row+")");var i=this.document_.getSelection();i&&i.isCollapsed&&this.screen_.syncSelectionCaret(i)}},o.Terminal.prototype.restyleCursor_=function(){var e=this.cursorShape_;"false"==this.cursorNode_.getAttribute("focus")&&(e=o.Terminal.cursorShape.BLOCK);var t=this.cursorNode_.style;switch(e){case o.Terminal.cursorShape.BEAM:t.height="var(--hterm-charsize-height)",t.backgroundColor="transparent",t.borderBottomStyle=null,t.borderLeftStyle="solid";break;case o.Terminal.cursorShape.UNDERLINE:t.height=this.scrollPort_.characterSize.baseline+"px",t.backgroundColor="transparent",t.borderBottomStyle="solid",t.borderLeftStyle=null;break;default:t.height="var(--hterm-charsize-height)",t.backgroundColor=this.cursorColor_,t.borderBottomStyle=null,t.borderLeftStyle=null}},o.Terminal.prototype.scheduleSyncCursorPosition_=function(){if(!this.timeouts_.syncCursor){var e=this;this.timeouts_.syncCursor=setTimeout(function(){e.syncCursorPosition_(),delete e.timeouts_.syncCursor},0)}},o.Terminal.prototype.showZoomWarning_=function(e){if(!this.zoomWarningNode_){if(!e)return;this.zoomWarningNode_=this.document_.createElement("div"),this.zoomWarningNode_.id="hterm:zoom-warning",this.zoomWarningNode_.style.cssText="color: black;background-color: #ff2222;font-size: large;border-radius: 8px;opacity: 0.75;padding: 0.2em 0.5em 0.2em 0.5em;top: 0.5em;right: 1.2em;position: absolute;-webkit-text-size-adjust: none;-webkit-user-select: none;-moz-text-size-adjust: none;-moz-user-select: none;",this.zoomWarningNode_.addEventListener("click",function(e){this.parentNode.removeChild(this)})}this.zoomWarningNode_.textContent=i.MessageManager.replaceReferences(o.zoomWarningMessage,[parseInt(100*this.scrollPort_.characterSize.zoomFactor)]),this.zoomWarningNode_.style.fontFamily=this.prefs_.get("font-family"),e?this.zoomWarningNode_.parentNode||this.div_.parentNode.appendChild(this.zoomWarningNode_):this.zoomWarningNode_.parentNode&&this.zoomWarningNode_.parentNode.removeChild(this.zoomWarningNode_)},o.Terminal.prototype.showOverlay=function(e,t){if(!this.overlayNode_){if(!this.div_)return;this.overlayNode_=this.document_.createElement("div"),this.overlayNode_.style.cssText="border-radius: 15px;font-size: xx-large;opacity: 0.75;padding: 0.2em 0.5em 0.2em 0.5em;position: absolute;-webkit-user-select: none;-webkit-transition: opacity 180ms ease-in;-moz-user-select: none;-moz-transition: opacity 180ms ease-in;",this.overlayNode_.addEventListener("mousedown",function(e){e.preventDefault(),e.stopPropagation()},!0)}this.overlayNode_.style.color=this.prefs_.get("background-color"),this.overlayNode_.style.backgroundColor=this.prefs_.get("foreground-color"),this.overlayNode_.style.fontFamily=this.prefs_.get("font-family"),this.overlayNode_.textContent=e,this.overlayNode_.style.opacity="0.75",this.overlayNode_.parentNode||this.div_.appendChild(this.overlayNode_);var r=o.getClientSize(this.div_),i=o.getClientSize(this.overlayNode_);this.overlayNode_.style.top=(r.height-i.height)/2+"px",this.overlayNode_.style.left=(r.width-i.width-this.scrollPort_.currentScrollbarWidthPx)/2+"px";var s=this;this.overlayTimeout_&&clearTimeout(this.overlayTimeout_),null!==t&&(this.overlayTimeout_=setTimeout(function(){s.overlayNode_.style.opacity="0",s.overlayTimeout_=setTimeout(function(){s.overlayNode_.parentNode&&s.overlayNode_.parentNode.removeChild(s.overlayNode_),s.overlayTimeout_=null,s.overlayNode_.style.opacity="0.75"},200)},t||1500))},o.Terminal.prototype.paste=function(){return o.pasteFromClipboard(this.document_)},o.Terminal.prototype.copyStringToClipboard=function(e){this.prefs_.get("enable-clipboard-notice")&&setTimeout(this.showOverlay.bind(this,o.notifyCopyMessage,500),200);var t=this.document_.createElement("pre");t.id="hterm:copy-to-clipboard-source",t.textContent=e,t.style.cssText="-webkit-user-select: text;-moz-user-select: text;position: absolute;top: -99px",this.document_.body.appendChild(t);var r=this.document_.getSelection(),i=r.anchorNode,s=r.anchorOffset,n=r.focusNode,a=r.focusOffset;r.selectAllChildren(t),o.copySelectionToClipboard(this.document_),r.extend&&(r.collapse(i,s),r.extend(n,a)),t.parentNode.removeChild(t)},o.Terminal.prototype.getSelectionText=function(){var e=this.scrollPort_.selection;if(e.sync(),e.isCollapsed)return null;var t=e.startOffset,r=e.startNode;if("X-ROW"!=r.nodeName)for("#text"==r.nodeName&&"SPAN"==r.parentNode.nodeName&&(r=r.parentNode);r.previousSibling;)r=r.previousSibling,t+=o.TextAttributes.nodeWidth(r);var s=o.TextAttributes.nodeWidth(e.endNode)-e.endOffset;if("X-ROW"!=(r=e.endNode).nodeName)for("#text"==r.nodeName&&"SPAN"==r.parentNode.nodeName&&(r=r.parentNode);r.nextSibling;)r=r.nextSibling,s+=o.TextAttributes.nodeWidth(r);var n=this.getRowsText(e.startRow.rowIndex,e.endRow.rowIndex+1);return i.wc.substring(n,t,i.wc.strWidth(n)-s)},o.Terminal.prototype.copySelectionToClipboard=function(){var e=this.getSelectionText();null!=e&&this.copyStringToClipboard(e)},o.Terminal.prototype.overlaySize=function(){this.showOverlay(this.screenSize.width+"x"+this.screenSize.height)},o.Terminal.prototype.onVTKeystroke=function(e){this.scrollOnKeystroke_&&this.scrollPort_.scrollRowToBottom(this.getRowCount()),this.io.onVTKeystroke(this.keyboard.encode(e))},o.Terminal.prototype.openUrl=function(e){window.chrome&&window.chrome.browser?chrome.browser.openTab({url:e}):window.open(e,"_blank").focus()},o.Terminal.prototype.openSelectedUrl_=function(){var e=this.getSelectionText();if((null!=e||(this.screen_.expandSelection(this.document_.getSelection()),null!=(e=this.getSelectionText())))&&!(e.length>2048||e.search(/[\s\[\](){}<>"'\\^`]/)>=0)){if(e.search("^[a-zA-Z][a-zA-Z0-9+.-]*://")<0)switch(e.split(":",1)[0]){case"mailto":break;default:e="http://"+e}this.openUrl(e)}},o.Terminal.prototype.onMouse_=function(e){if(!e.processedByTerminalHandler_){var t=!this.defeatMouseReports_&&this.vt.mouseReport!=this.vt.MOUSE_REPORT_DISABLED;if(e.processedByTerminalHandler_=!0,e.terminalRow=parseInt((e.clientY-this.scrollPort_.visibleRowTopMargin)/this.scrollPort_.characterSize.height)+1,e.terminalColumn=parseInt(e.clientX/this.scrollPort_.characterSize.width)+1,!("mousedown"==e.type&&e.terminalColumn>this.screenSize.width)){if(this.options_.cursorVisible&&!t&&(e.terminalRow-1==this.screen_.cursorPosition.row&&e.terminalColumn-1==this.screen_.cursorPosition.column?this.cursorNode_.style.display="none":"none"==this.cursorNode_.style.display&&(this.cursorNode_.style.display="")),"mousedown"==e.type&&(e.altKey||!t?(this.defeatMouseReports_=!0,this.setSelectionEnabled(!0)):(this.defeatMouseReports_=!1,this.document_.getSelection().collapseToEnd(),this.setSelectionEnabled(!1),e.preventDefault())),t)this.scrollBlockerNode_.engaged||("mousedown"==e.type?(this.scrollBlockerNode_.engaged=!0,this.scrollBlockerNode_.style.top=e.clientY-5+"px",this.scrollBlockerNode_.style.left=e.clientX-5+"px"):"mousemove"==e.type&&(this.document_.getSelection().collapseToEnd(),e.preventDefault())),this.onMouse(e);else{if("dblclick"==e.type&&this.copyOnSelect&&(this.screen_.expandSelection(this.document_.getSelection()),this.copySelectionToClipboard(this.document_)),"click"==e.type&&!e.shiftKey&&(e.ctrlKey||e.metaKey))return clearTimeout(this.timeouts_.openUrl),void(this.timeouts_.openUrl=setTimeout(this.openSelectedUrl_.bind(this),500));if("mousedown"==e.type&&(this.mouseRightClickPaste&&2==e.button||e.button==this.mousePasteButton)&&(this.paste()||console.warning("Could not paste manually due to web restrictions")),"mouseup"==e.type&&0==e.button&&this.copyOnSelect&&!this.document_.getSelection().isCollapsed&&this.copySelectionToClipboard(this.document_),"mousemove"!=e.type&&"mouseup"!=e.type||!this.scrollBlockerNode_.engaged||(this.scrollBlockerNode_.engaged=!1,this.scrollBlockerNode_.style.top="-99px"),this.scrollWheelArrowKeys_&&!e.shiftKey&&this.keyboard.applicationCursor&&!this.isPrimaryScreen()&&"wheel"==e.type){var r=this.scrollPort_.scrollWheelDelta(e),o=i.f.smartFloorDivide(Math.abs(r),this.scrollPort_.characterSize.height),s="O"+(r<0?"B":"A");this.io.sendString(s.repeat(o)),e.preventDefault()}}"mouseup"==e.type&&this.document_.getSelection().isCollapsed&&(this.defeatMouseReports_=!1)}}},o.Terminal.prototype.onMouse=function(e){},o.Terminal.prototype.onFocusChange_=function(e){this.cursorNode_.setAttribute("focus",e),this.restyleCursor_(),!0===e&&this.closeBellNotifications_()},o.Terminal.prototype.onScroll_=function(){this.scheduleSyncCursorPosition_()},o.Terminal.prototype.onPaste_=function(e){var t=e.text.replace(/\n/gm,"\r");t=this.keyboard.encode(t),this.options_.bracketedPaste&&(t="[200~"+t+"[201~"),this.io.sendString(t)},o.Terminal.prototype.onCopy_=function(e){this.useDefaultWindowCopy||(e.preventDefault(),setTimeout(this.copySelectionToClipboard.bind(this),0))},o.Terminal.prototype.onResize_=function(){var e=Math.floor(this.scrollPort_.getScreenWidth()/this.scrollPort_.characterSize.width)||0,t=i.f.smartFloorDivide(this.scrollPort_.getScreenHeight(),this.scrollPort_.characterSize.height)||0;if(!(e<=0||t<=0)){var r=e!=this.screenSize.width||t!=this.screenSize.height;this.realizeSize_(e,t),this.showZoomWarning_(1!=this.scrollPort_.characterSize.zoomFactor),r&&this.overlaySize(),this.restyleCursor_(),this.scheduleSyncCursorPosition_()}},o.Terminal.prototype.onCursorBlink_=function(){this.options_.cursorBlink?"false"==this.cursorNode_.getAttribute("focus")||"0"==this.cursorNode_.style.opacity?(this.cursorNode_.style.opacity="1",this.timeouts_.cursorBlink=setTimeout(this.myOnCursorBlink_,this.cursorBlinkCycle_[0])):(this.cursorNode_.style.opacity="0",this.timeouts_.cursorBlink=setTimeout(this.myOnCursorBlink_,this.cursorBlinkCycle_[1])):delete this.timeouts_.cursorBlink},o.Terminal.prototype.setScrollbarVisible=function(e){this.scrollPort_.setScrollbarVisible(e)},o.Terminal.prototype.setScrollWheelMoveMultipler=function(e){this.scrollPort_.setScrollWheelMoveMultipler(e)},o.Terminal.prototype.closeBellNotifications_=function(){this.bellNotificationList_.forEach(function(e){e.close()}),this.bellNotificationList_.length=0},i.rtdep("lib.encodeUTF8"),o.Terminal.IO=function(e){this.terminal_=e,this.previousIO_=null},o.Terminal.IO.prototype.showOverlay=function(e,t){this.terminal_.showOverlay(e,t)},o.Terminal.IO.prototype.createFrame=function(e,t){return new o.Frame(this.terminal_,e,t)},o.Terminal.IO.prototype.setTerminalProfile=function(e){this.terminal_.setProfile(e)},o.Terminal.IO.prototype.push=function(){var e=new o.Terminal.IO(this.terminal_);return e.keyboardCaptured_=this.keyboardCaptured_,e.columnCount=this.columnCount,e.rowCount=this.rowCount,e.previousIO_=this.terminal_.io,this.terminal_.io=e,e},o.Terminal.IO.prototype.pop=function(){this.terminal_.io=this.previousIO_},o.Terminal.IO.prototype.sendString=function(e){console.log("Unhandled sendString: "+e)},o.Terminal.IO.prototype.onVTKeystroke=function(e){console.log("Unobserverd VT keystroke: "+JSON.stringify(e))},o.Terminal.IO.prototype.onTerminalResize_=function(e,t){for(var r=this;r;)r.columnCount=e,r.rowCount=t,r=r.previousIO_;this.onTerminalResize(e,t)},o.Terminal.IO.prototype.onTerminalResize=function(e,t){},o.Terminal.IO.prototype.writeUTF8=function(e){if(this.terminal_.io!=this)throw"Attempt to print from inactive IO object.";this.terminal_.interpret(e)},o.Terminal.IO.prototype.writelnUTF8=function(e){if(this.terminal_.io!=this)throw"Attempt to print from inactive IO object.";this.terminal_.interpret(e+"\r\n")},o.Terminal.IO.prototype.print=o.Terminal.IO.prototype.writeUTF16=function(e){this.writeUTF8(i.encodeUTF8(e))},o.Terminal.IO.prototype.println=o.Terminal.IO.prototype.writelnUTF16=function(e){this.writelnUTF8(i.encodeUTF8(e))},i.rtdep("lib.colors"),o.TextAttributes=function(e){this.document_=e,this.foregroundSource=this.SRC_DEFAULT,this.backgroundSource=this.SRC_DEFAULT,this.foreground=this.DEFAULT_COLOR,this.background=this.DEFAULT_COLOR,this.defaultForeground="rgb(255, 255, 255)",this.defaultBackground="rgb(0, 0, 0)",this.bold=!1,this.faint=!1,this.italic=!1,this.blink=!1,this.underline=!1,this.strikethrough=!1,this.inverse=!1,this.invisible=!1,this.wcNode=!1,this.asciiNode=!0,this.tileData=null,this.colorPalette=null,this.resetColorPalette()},o.TextAttributes.prototype.enableBold=!0,o.TextAttributes.prototype.enableBoldAsBright=!0,o.TextAttributes.prototype.DEFAULT_COLOR=i.f.createEnum(""),o.TextAttributes.prototype.SRC_DEFAULT="default",o.TextAttributes.prototype.SRC_RGB="rgb",o.TextAttributes.prototype.setDocument=function(e){this.document_=e},o.TextAttributes.prototype.clone=function(){var e=new o.TextAttributes(null);for(var t in this)e[t]=this[t];return e.colorPalette=this.colorPalette.concat(),e},o.TextAttributes.prototype.reset=function(){this.foregroundSource=this.SRC_DEFAULT,this.backgroundSource=this.SRC_DEFAULT,this.foreground=this.DEFAULT_COLOR,this.background=this.DEFAULT_COLOR,this.bold=!1,this.faint=!1,this.italic=!1,this.blink=!1,this.underline=!1,this.strikethrough=!1,this.inverse=!1,this.invisible=!1,this.wcNode=!1,this.asciiNode=!0},o.TextAttributes.prototype.resetColorPalette=function(){this.colorPalette=i.colors.colorPalette.concat(),this.syncColors()},o.TextAttributes.prototype.isDefault=function(){return this.foregroundSource==this.SRC_DEFAULT&&this.backgroundSource==this.SRC_DEFAULT&&!this.bold&&!this.faint&&!this.italic&&!this.blink&&!this.underline&&!this.strikethrough&&!this.inverse&&!this.invisible&&!this.wcNode&&this.asciiNode&&null==this.tileData},o.TextAttributes.prototype.createContainer=function(e){if(this.isDefault())return this.document_.createTextNode(e);var t=this.document_.createElement("span"),r=t.style,i=[];this.foreground!=this.DEFAULT_COLOR&&(r.color=this.foreground),this.background!=this.DEFAULT_COLOR&&(r.backgroundColor=this.background),this.enableBold&&this.bold&&(r.fontWeight="bold"),this.faint&&(t.faint=!0),this.italic&&(r.fontStyle="italic"),this.blink&&(i.push("blink-node"),t.blinkNode=!0);var o="";return this.underline&&(o+=" underline",t.underline=!0),this.strikethrough&&(o+=" line-through",t.strikethrough=!0),o&&(r.textDecoration=o),this.wcNode&&(i.push("wc-node"),t.wcNode=!0,t.asciiNode=!1),null!=this.tileData&&(i.push("tile"),i.push("tile_"+this.tileData),t.tileNode=!0),e&&(t.textContent=e),i.length&&(t.className=i.join(" ")),t},o.TextAttributes.prototype.matchesContainer=function(e){if("string"==typeof e||3==e.nodeType)return this.isDefault();var t=e.style;return!(this.wcNode||e.wcNode||this.asciiNode!=this.asciiNode||null!=this.tileData||e.tileNode||this.foreground!=t.color||this.background!=t.backgroundColor||(this.enableBold&&this.bold)!=!!t.fontWeight||this.blink!=e.blinkNode||this.italic!=!!t.fontStyle||!!this.underline!=!!e.underline||!!this.strikethrough!=!!e.strikethrough)},o.TextAttributes.prototype.setDefaults=function(e,t){this.defaultForeground=e,this.defaultBackground=t,this.syncColors()},o.TextAttributes.prototype.syncColors=function(){var e=this.foregroundSource,t=this.backgroundSource,r=this.DEFAULT_COLOR,o=this.DEFAULT_COLOR;if(this.inverse&&(e=this.backgroundSource,t=this.foregroundSource,r=this.defaultBackground,o=this.defaultForeground),this.enableBoldAsBright&&this.bold&&e!=this.SRC_DEFAULT&&e!=this.SRC_RGB&&(e=function(e){return e<8?e+8:e}(e)),this.invisible&&(e=t,r=this.defaultBackground),e!=this.SRC_RGB&&(this.foreground=e==this.SRC_DEFAULT?r:this.colorPalette[e]),this.faint&&!this.invisible){var s=this.foreground==this.DEFAULT_COLOR?this.defaultForeground:this.foreground;this.foreground=i.colors.mix(s,"rgb(0, 0, 0)",.3333)}t!=this.SRC_RGB&&(this.background=t==this.SRC_DEFAULT?o:this.colorPalette[t])},o.TextAttributes.containersMatch=function(e,t){if("string"==typeof e)return o.TextAttributes.containerIsDefault(t);if(e.nodeType!=t.nodeType)return!1;if(3==e.nodeType)return!0;var r=e.style,i=t.style;return r.color==i.color&&r.backgroundColor==i.backgroundColor&&r.fontWeight==i.fontWeight&&r.fontStyle==i.fontStyle&&r.textDecoration==i.textDecoration},o.TextAttributes.containerIsDefault=function(e){return"string"==typeof e||3==e.nodeType},o.TextAttributes.nodeWidth=function(e){return e.asciiNode?e.textContent.length:i.wc.strWidth(e.textContent)},o.TextAttributes.nodeSubstr=function(e,t,r){return e.asciiNode?e.textContent.substr(t,r):i.wc.substr(e.textContent,t,r)},o.TextAttributes.nodeSubstring=function(e,t,r){return e.asciiNode?e.textContent.substring(t,r):i.wc.substring(e.textContent,t,r)},o.TextAttributes.splitWidecharString=function(e){for(var t=[],r=0,o=0,s=!0,n=0;n0?0:1),n|=r,t=""+String.fromCharCode(n)+o+s,e.preventDefault();break;case"mousedown":var n=Math.min(e.button,2)+32;n|=r,t=""+String.fromCharCode(n)+o+s;break;case"mouseup":t="#"+o+s;break;case"mousemove":this.mouseReport==this.MOUSE_REPORT_DRAG&&e.buttons&&(n=32,1&e.buttons?n+=0:4&e.buttons?n+=1:2&e.buttons?n+=2:n+=3,n+=32,n|=r,t=""+String.fromCharCode(n)+o+s);break;case"click":case"dblclick":break;default:console.error("Unknown mouse event: "+e.type,e)}t&&this.terminal.io.sendString(t)}},o.VT.prototype.interpret=function(e){for(this.parseState_.resetBuf(this.decode(e));!this.parseState_.isComplete();){var t=this.parseState_.func,r=this.parseState_.pos,e=this.parseState_.buf;if(this.parseState_.func.call(this,this.parseState_),this.parseState_.func==t&&this.parseState_.pos==r&&this.parseState_.buf==e)throw"Parser did not alter the state!"}},o.VT.prototype.decode=function(e){return"utf-8"==this.characterEncoding?this.decodeUTF8(e):e},o.VT.prototype.encodeUTF8=function(e){return i.encodeUTF8(e)},o.VT.prototype.decodeUTF8=function(e){return this.utf8Decoder_.decode(e)},o.VT.prototype.setEncoding=function(e){switch(e){default:console.warn('Invalid value for "terminal-encoding": '+e);case"iso-2022":this.codingSystemUtf8_=!1,this.codingSystemLocked_=!1;break;case"utf-8-locked":this.codingSystemUtf8_=!0,this.codingSystemLocked_=!0;break;case"utf-8":this.codingSystemUtf8_=!0,this.codingSystemLocked_=!1}this.updateEncodingState_()},o.VT.prototype.updateEncodingState_=function(){var e=Object.keys(o.VT.CC1).filter(e=>!this.codingSystemUtf8_||e.charCodeAt()<128).map(e=>"\\x"+i.f.zpad(e.charCodeAt().toString(16),2)).join("");this.cc1Pattern_=new RegExp(`[${e}]`)},o.VT.prototype.parseUnknown_=function(e){function t(e){!r.codingSystemUtf8_&&r[r.GL].GL&&(e=r[r.GL].GL(e)),r.terminal.print(e)}var r=this,i=e.peekRemainingBuf(),o=i.search(this.cc1Pattern_);return 0==o?(this.dispatch("CC1",i.substr(0,1),e),void e.advance(1)):-1==o?(t(i),void e.reset()):(t(i.substr(0,o)),this.dispatch("CC1",i.substr(o,1),e),void e.advance(o+1))},o.VT.prototype.parseCSI_=function(e){var t=e.peekChar(),r=e.args;t>="@"&&t<="~"?(this.dispatch("CSI",this.leadingModifier_+this.trailingModifier_+t,e),e.resetParseFunction()):";"==t?this.trailingModifier_?e.resetParseFunction():(r.length||r.push(""),r.push("")):t>="0"&&t<="9"?this.trailingModifier_?e.resetParseFunction():r.length?r[r.length-1]+=t:r[0]=t:t>=" "&&t<="?"&&":"!=t?r.length?this.trailingModifier_+=t:this.leadingModifier_+=t:this.cc1Pattern_.test(t)?this.dispatch("CC1",t,e):e.resetParseFunction(),e.advance(1)},o.VT.prototype.parseUntilStringTerminator_=function(e){var t=e.peekRemainingBuf(),r=t.search(/(\x1b\\|\x07)/),i=e.args;if(i.length||(i[0]="",i[1]=new Date),-1==r){i[0]+=t;var o;return i[0].length>this.maxStringSequence&&(o="too long: "+i[0].length),-1!=i[0].indexOf("")&&(o="embedded escape: "+i[0].indexOf("")),new Date-i[1]>this.oscTimeLimit_&&(o="timeout expired: "+new Date-i[1]),o?(console.log("parseUntilStringTerminator_: aborting: "+o,i[0]),e.reset(i[0]),!1):(e.advance(t.length),!0)}return i[0].length+r>this.maxStringSequence?(e.reset(i[0]+t),!1):(i[0]+=t.substr(0,r),e.resetParseFunction(),e.advance(r+(""==t.substr(r,1)?2:1)),!0)},o.VT.prototype.dispatch=function(e,t,r){var i=o.VT[e][t];i?i!=o.VT.ignore?"CC1"==e&&t>""&&!this.enable8BitControl?console.warn("Ignoring 8-bit control code: 0x"+t.charCodeAt(0).toString(16)):i.apply(this,[r,t]):this.warnUnimplemented&&console.warn("Ignored "+e+" code: "+JSON.stringify(t)):this.warnUnimplemented&&console.warn("Unknown "+e+" code: "+JSON.stringify(t))},o.VT.prototype.setANSIMode=function(e,t){4==e?this.terminal.setInsertMode(t):20==e?this.terminal.setAutoCarriageReturn(t):this.warnUnimplemented&&console.warn("Unimplemented ANSI Mode: "+e)},o.VT.prototype.setDECMode=function(e,t){switch(parseInt(e,10)){case 1:this.terminal.keyboard.applicationCursor=t;break;case 3:this.allowColumnWidthChanges_&&(this.terminal.setWidth(t?132:80),this.terminal.clearHome(),this.terminal.setVTScrollRegion(null,null));break;case 5:this.terminal.setReverseVideo(t);break;case 6:this.terminal.setOriginMode(t);break;case 7:this.terminal.setWraparound(t);break;case 12:this.enableDec12&&this.terminal.setCursorBlink(t);break;case 25:this.terminal.setCursorVisible(t);break;case 30:this.terminal.setScrollbarVisible(t);break;case 40:this.terminal.allowColumnWidthChanges_=t;break;case 45:this.terminal.setReverseWraparound(t);break;case 67:this.terminal.keyboard.backspaceSendsBackspace=t;break;case 1e3:this.mouseReport=t?this.MOUSE_REPORT_CLICK:this.MOUSE_REPORT_DISABLED,this.terminal.syncMouseStyle();break;case 1002:this.mouseReport=t?this.MOUSE_REPORT_DRAG:this.MOUSE_REPORT_DISABLED,this.terminal.syncMouseStyle();break;case 1010:this.terminal.scrollOnOutput=t;break;case 1011:this.terminal.scrollOnKeystroke=t;break;case 1036:this.terminal.keyboard.metaSendsEscape=t;break;case 1039:t?this.terminal.keyboard.previousAltSendsWhat_||(this.terminal.keyboard.previousAltSendsWhat_=this.terminal.keyboard.altSendsWhat,this.terminal.keyboard.altSendsWhat="escape"):this.terminal.keyboard.previousAltSendsWhat_&&(this.terminal.keyboard.altSendsWhat=this.terminal.keyboard.previousAltSendsWhat_,this.terminal.keyboard.previousAltSendsWhat_=null);break;case 47:case 1047:this.terminal.setAlternateMode(t);break;case 1048:this.savedState_.save();case 1049:t?(this.savedState_.save(),this.terminal.setAlternateMode(t),this.terminal.clear()):(this.terminal.setAlternateMode(t),this.savedState_.restore());break;case 2004:this.terminal.setBracketedPaste(t);break;default:this.warnUnimplemented&&console.warn("Unimplemented DEC Private Mode: "+e)}},o.VT.ignore=function(){},o.VT.CC1={},o.VT.ESC={},o.VT.CSI={},o.VT.OSC={},o.VT.VT52={},o.VT.CC1["\0"]=o.VT.ignore,o.VT.CC1[""]=o.VT.ignore,o.VT.CC1[""]=function(){this.terminal.ringBell()},o.VT.CC1["\b"]=function(){this.terminal.cursorLeft(1)},o.VT.CC1["\t"]=function(){this.terminal.forwardTabStop()},o.VT.CC1["\n"]=function(){this.terminal.formFeed()},o.VT.CC1["\v"]=o.VT.CC1["\n"],o.VT.CC1["\f"]=o.VT.CC1["\n"],o.VT.CC1["\r"]=function(){this.terminal.setCursorColumn(0)},o.VT.CC1[""]=function(){this.GL="G1"},o.VT.CC1[""]=function(){this.GL="G0"},o.VT.CC1[""]=o.VT.ignore,o.VT.CC1[""]=o.VT.ignore,o.VT.CC1[""]=function(e){"G1"==this.GL&&(this.GL="G0"),e.resetParseFunction(),this.terminal.print("?")},o.VT.CC1[""]=o.VT.CC1[""],o.VT.CC1[""]=function(e){function t(e){var r=e.consumeChar();""!=r&&(this.dispatch("ESC",r,e),e.func==t&&e.resetParseFunction())}e.func=t},o.VT.CC1[""]=o.VT.ignore,o.VT.CC1["„"]=o.VT.ESC.D=function(){this.terminal.lineFeed()},o.VT.CC1["…"]=o.VT.ESC.E=function(){this.terminal.setCursorColumn(0),this.terminal.cursorDown(1)},o.VT.CC1["ˆ"]=o.VT.ESC.H=function(){this.terminal.setTabStop(this.terminal.getCursorColumn())},o.VT.CC1[""]=o.VT.ESC.M=function(){this.terminal.reverseLineFeed()},o.VT.CC1["Ž"]=o.VT.ESC.N=o.VT.ignore,o.VT.CC1[""]=o.VT.ESC.O=o.VT.ignore,o.VT.CC1[""]=o.VT.ESC.P=function(e){e.resetArguments(),e.func=this.parseUntilStringTerminator_},o.VT.CC1["–"]=o.VT.ESC.V=o.VT.ignore,o.VT.CC1["—"]=o.VT.ESC.W=o.VT.ignore,o.VT.CC1["˜"]=o.VT.ESC.X=o.VT.ignore,o.VT.CC1["š"]=o.VT.ESC.Z=function(){this.terminal.io.sendString("[?1;2c")},o.VT.CC1["›"]=o.VT.ESC["["]=function(e){e.resetArguments(),this.leadingModifier_="",this.trailingModifier_="",e.func=this.parseCSI_},o.VT.CC1["œ"]=o.VT.ESC["\\"]=o.VT.ignore,o.VT.CC1[""]=o.VT.ESC["]"]=function(e){function t(e){if(this.parseUntilStringTerminator_(e)&&e.func!=t){var r=e.args[0].match(/^(\d+);(.*)$/);r?(e.args[0]=r[2],this.dispatch("OSC",r[1],e)):console.warn("Invalid OSC: "+JSON.stringify(e.args[0]))}}e.resetArguments(),e.func=t},o.VT.CC1["ž"]=o.VT.ESC["^"]=function(e){e.resetArguments(),e.func=this.parseUntilStringTerminator_},o.VT.CC1["Ÿ"]=o.VT.ESC._=function(e){e.resetArguments(),e.func=this.parseUntilStringTerminator_},o.VT.ESC[" "]=function(e){e.func=function(e){var t=e.consumeChar();this.warnUnimplemented&&console.warn("Unimplemented sequence: ESC 0x20 "+t),e.resetParseFunction()}},o.VT.ESC["#"]=function(e){e.func=function(e){"8"==e.consumeChar()&&this.terminal.fill("E"),e.resetParseFunction()}},o.VT.ESC["%"]=function(e){e.func=function(e){var t=e.consumeChar();if(this.codingSystemLocked_)return"/"==t&&e.consumeChar(),void e.resetParseFunction();switch(t){case"@":this.setEncoding("iso-2022");break;case"G":this.setEncoding("utf-8");break;case"/":switch(t=e.consumeChar()){case"G":case"H":case"I":this.setEncoding("utf-8-locked");break;default:this.warnUnimplemented&&console.warn("Unknown ESC % / argument: "+JSON.stringify(t))}break;default:this.warnUnimplemented&&console.warn("Unknown ESC % argument: "+JSON.stringify(t))}e.resetParseFunction()}},o.VT.ESC["("]=o.VT.ESC[")"]=o.VT.ESC["*"]=o.VT.ESC["+"]=o.VT.ESC["-"]=o.VT.ESC["."]=o.VT.ESC["/"]=function(e,t){e.func=function(e){var r=e.consumeChar();if(""==r)return e.resetParseFunction(),void e.func();var i=this.characterMaps.getMap(r);void 0!==i?"("==t?this.G0=i:")"==t||"-"==t?this.G1=i:"*"==t||"."==t?this.G2=i:"+"!=t&&"/"!=t||(this.G3=i):this.warnUnimplemented&&console.log('Invalid character set for "'+t+'": '+r),e.resetParseFunction()}},o.VT.ESC[6]=o.VT.ignore,o.VT.ESC[7]=function(){this.savedState_.save()},o.VT.ESC[8]=function(){this.savedState_.restore()},o.VT.ESC[9]=o.VT.ignore,o.VT.ESC["="]=function(){this.terminal.keyboard.applicationKeypad=!0},o.VT.ESC[">"]=function(){this.terminal.keyboard.applicationKeypad=!1},o.VT.ESC.F=o.VT.ignore,o.VT.ESC.c=function(){this.reset(),this.terminal.reset()},o.VT.ESC.l=o.VT.ESC.m=o.VT.ignore,o.VT.ESC.n=function(){this.GL="G2"},o.VT.ESC.o=function(){this.GL="G3"},o.VT.ESC["|"]=function(){this.GR="G3"},o.VT.ESC["}"]=function(){this.GR="G2"},o.VT.ESC["~"]=function(){this.GR="G1"},o.VT.OSC[0]=function(e){this.terminal.setWindowTitle(e.args[0])},o.VT.OSC[2]=o.VT.OSC[0],o.VT.OSC[4]=function(e){for(var t=e.args[0].split(";"),r=parseInt(t.length/2),o=this.terminal.getTextAttributes().colorPalette,s=[],n=0;n=o.length||("?"!=l?(l=i.colors.x11ToCSS(l))&&(o[a]=l):(l=i.colors.rgbToX11(o[a]))&&s.push(a+";"+l))}s.length&&this.terminal.io.sendString("]4;"+s.join(";")+"")},o.VT.OSC[9]=function(e){o.notify({body:e.args[0]})},o.VT.OSC[10]=function(e){var t=e.args[0].split(";");if(t){var r=i.colors.x11ToCSS(t.shift());r&&this.terminal.setForegroundColor(r),t.length>0&&(e.args[0]=t.join(";"),o.VT.OSC[11].apply(this,[e]))}},o.VT.OSC[11]=function(e){var t=e.args[0].split(";");if(t){var r=i.colors.x11ToCSS(t.shift());r&&this.terminal.setBackgroundColor(r)}},o.VT.OSC[50]=function(e){var t=e.args[0].match(/CursorShape=(.)/i);if(t)switch(t[1]){case"1":this.terminal.setCursorShape(o.Terminal.cursorShape.BEAM);break;case"2":this.terminal.setCursorShape(o.Terminal.cursorShape.UNDERLINE);break;default:this.terminal.setCursorShape(o.Terminal.cursorShape.BLOCK)}else console.warn("Could not parse OSC 50 args: "+e.args[0])},o.VT.OSC[52]=function(e){var t=e.args[0].match(/^[cps01234567]*;(.*)/);if(t){var r=window.atob(t[1]);r&&this.terminal.copyStringToClipboard(this.decode(r))}},o.VT.OSC[777]=function(e){var t;switch(e.args[0].split(";",1)[0]){case"notify":var r,i;(t=e.args[0].match(/^[^;]+;([^;]*)(;([\s\S]*))?$/))&&(r=t[1],i=t[3]),o.notify({title:r,body:i});break;default:console.warn("Unknown urxvt module: "+e.args[0])}},o.VT.CSI["@"]=function(e){this.terminal.insertSpace(e.iarg(0,1))},o.VT.CSI.A=function(e){this.terminal.cursorUp(e.iarg(0,1))},o.VT.CSI.B=function(e){this.terminal.cursorDown(e.iarg(0,1))},o.VT.CSI.C=function(e){this.terminal.cursorRight(e.iarg(0,1))},o.VT.CSI.D=function(e){this.terminal.cursorLeft(e.iarg(0,1))},o.VT.CSI.E=function(e){this.terminal.cursorDown(e.iarg(0,1)),this.terminal.setCursorColumn(0)},o.VT.CSI.F=function(e){this.terminal.cursorUp(e.iarg(0,1)),this.terminal.setCursorColumn(0)},o.VT.CSI.G=function(e){this.terminal.setCursorColumn(e.iarg(0,1)-1)},o.VT.CSI.H=function(e){this.terminal.setCursorPosition(e.iarg(0,1)-1,e.iarg(1,1)-1)},o.VT.CSI.I=function(e){var t=e.iarg(0,1);t=i.f.clamp(t,1,this.terminal.screenSize.width);for(var r=0;rT"]=o.VT.ignore,o.VT.CSI.X=function(e){this.terminal.eraseToRight(e.iarg(0,1))},o.VT.CSI.Z=function(e){var t=e.iarg(0,1);t=i.f.clamp(t,1,this.terminal.screenSize.width);for(var r=0;rc"]=function(e){this.terminal.io.sendString("[>0;256;0c")},o.VT.CSI.d=function(e){this.terminal.setAbsoluteCursorRow(e.iarg(0,1)-1)},o.VT.CSI.f=o.VT.CSI.H,o.VT.CSI.g=function(e){e.args[0]&&0!=e.args[0]?3==e.args[0]&&this.terminal.clearAllTabStops():this.terminal.clearTabStopAtCursor(!1)},o.VT.CSI.h=function(e){for(var t=0;t=i.colorPalette.length)continue;i.foregroundSource=a}else if(39==s)i.foregroundSource=i.SRC_DEFAULT;else if(s<48)i.backgroundSource=s-40;else if(48==s){var n=r(o);if(null!=n)i.backgroundSource=i.SRC_RGB,i.background=n,o+=5;else{var a=t(o);if(null==a)break;if(o+=2,a>=i.colorPalette.length)continue;i.backgroundSource=a}}else i.backgroundSource=i.SRC_DEFAULT;else s>=90&&s<=97?i.foregroundSource=s-90+8:s>=100&&s<=107&&(i.backgroundSource=s-100+8)}i.setDefaults(this.terminal.getForegroundColor(),this.terminal.getBackgroundColor())}else i.reset()},o.VT.CSI[">m"]=o.VT.ignore,o.VT.CSI.n=function(e){if(5==e.args[0])this.terminal.io.sendString("0n");else if(6==e.args[0]){var t=this.terminal.getCursorRow()+1,r=this.terminal.getCursorColumn()+1;this.terminal.io.sendString("["+t+";"+r+"R")}},o.VT.CSI[">n"]=o.VT.ignore,o.VT.CSI["?n"]=function(e){if(6==e.args[0]){var t=this.terminal.getCursorRow()+1,r=this.terminal.getCursorColumn()+1;this.terminal.io.sendString("["+t+";"+r+"R")}else 15==e.args[0]?this.terminal.io.sendString("[?11n"):25==e.args[0]?this.terminal.io.sendString("[?21n"):26==e.args[0]?this.terminal.io.sendString("[?12;1;0;0n"):53==e.args[0]&&this.terminal.io.sendString("[?50n")},o.VT.CSI[">p"]=o.VT.ignore,o.VT.CSI["!p"]=function(){this.reset(),this.terminal.softReset()},o.VT.CSI.$p=o.VT.ignore,o.VT.CSI["?$p"]=o.VT.ignore,o.VT.CSI['"p']=o.VT.ignore,o.VT.CSI.q=o.VT.ignore,o.VT.CSI[" q"]=function(e){var t=e.args[0];0==t||1==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.BLOCK),this.terminal.setCursorBlink(!0)):2==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.BLOCK),this.terminal.setCursorBlink(!1)):3==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.UNDERLINE),this.terminal.setCursorBlink(!0)):4==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.UNDERLINE),this.terminal.setCursorBlink(!1)):5==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.BEAM),this.terminal.setCursorBlink(!0)):6==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.BEAM),this.terminal.setCursorBlink(!1)):console.warn("Unknown cursor style: "+t)},o.VT.CSI['"q']=o.VT.ignore,o.VT.CSI.r=function(e){var t=e.args,r=t[0]?parseInt(t[0],10)-1:null,i=t[1]?parseInt(t[1],10)-1:null;this.terminal.setVTScrollRegion(r,i),this.terminal.setCursorPosition(0,0)},o.VT.CSI["?r"]=o.VT.ignore,o.VT.CSI.$r=o.VT.ignore,o.VT.CSI.s=function(){this.savedState_.save()},o.VT.CSI["?s"]=o.VT.ignore,o.VT.CSI.t=o.VT.ignore,o.VT.CSI.$t=o.VT.ignore,o.VT.CSI[">t"]=o.VT.ignore,o.VT.CSI[" t"]=o.VT.ignore,o.VT.CSI.u=function(){this.savedState_.restore()},o.VT.CSI[" u"]=o.VT.ignore,o.VT.CSI.$v=o.VT.ignore,o.VT.CSI["'w"]=o.VT.ignore,o.VT.CSI.x=o.VT.ignore,o.VT.CSI["*x"]=o.VT.ignore,o.VT.CSI.$x=o.VT.ignore,o.VT.CSI.z=function(e){if(!(e.args.length<1)){var t=e.args[0];if(0==t){if(e.args.length<2)return;this.terminal.getTextAttributes().tileData=e.args[1]}else 1==t&&(this.terminal.getTextAttributes().tileData=null)}},o.VT.CSI["'z"]=o.VT.ignore,o.VT.CSI.$z=o.VT.ignore,o.VT.CSI["'{"]=o.VT.ignore,o.VT.CSI["'|"]=o.VT.ignore,o.VT.CSI["'}"]=o.VT.ignore,o.VT.CSI["'~"]=o.VT.ignore,i.rtdep("lib.f"),o.VT.CharacterMap=function(e,t){this.description=e,this.GL=null,this.glmapBase_=t,this.sync_()},o.VT.CharacterMap.prototype.sync_=function(e){if(!this.glmapBase_&&!e)return this.GL=null,delete this.glmap_,void delete this.glre_;this.glmap_=e?Object.assign({},this.glmapBase_,e):this.glmapBase_;var t=Object.keys(this.glmap_).map(e=>"\\x"+i.f.zpad(e.charCodeAt(0).toString(16)));this.glre_=new RegExp("["+t.join("")+"]","g"),this.GL=(e=>e.replace(this.glre_,e=>this.glmap_[e]))},o.VT.CharacterMap.prototype.reset=function(){this.glmap_!==this.glmapBase_&&this.sync_()},o.VT.CharacterMap.prototype.setOverrides=function(e){this.sync_(e)},o.VT.CharacterMap.prototype.clone=function(){var e=new o.VT.CharacterMap(this.description,this.glmapBase_);return this.glmap_!==this.glmapBase_&&e.setOverrides(this.glmap_),e},o.VT.CharacterMaps=function(){this.maps_=o.VT.CharacterMaps.DefaultMaps,this.mapsBase_=this.maps_},o.VT.CharacterMaps.prototype.getMap=function(e){return this.maps_.hasOwnProperty(e)?this.maps_[e]:void 0},o.VT.CharacterMaps.prototype.addMap=function(e,t){this.maps_===this.mapsBase_&&(this.maps_=Object.assign({},this.mapsBase_)),this.maps_[e]=t},o.VT.CharacterMaps.prototype.reset=function(){this.maps_!==o.VT.CharacterMaps.DefaultMaps&&(this.maps_=o.VT.CharacterMaps.DefaultMaps)},o.VT.CharacterMaps.prototype.setOverrides=function(e){this.maps_===this.mapsBase_&&(this.maps_=Object.assign({},this.mapsBase_));for(var t in e){var r=this.getMap(t);void 0!==r?(this.maps_[t]=r.clone(),this.maps_[t].setOverrides(e[t])):this.addMap(t,new o.VT.CharacterMap("user "+t,e[t]))}},o.VT.CharacterMaps.DefaultMaps={},o.VT.CharacterMaps.DefaultMaps[0]=new o.VT.CharacterMap("graphic",{"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"}),o.VT.CharacterMaps.DefaultMaps.A=new o.VT.CharacterMap("british",{"#":"£"}),o.VT.CharacterMaps.DefaultMaps.B=new o.VT.CharacterMap("us",null),o.VT.CharacterMaps.DefaultMaps[4]=new o.VT.CharacterMap("dutch",{"#":"£","@":"¾","[":"IJ","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"}),o.VT.CharacterMaps.DefaultMaps.C=o.VT.CharacterMaps.DefaultMaps[5]=new o.VT.CharacterMap("finnish",{"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"}),o.VT.CharacterMaps.DefaultMaps.R=new o.VT.CharacterMap("french",{"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"}),o.VT.CharacterMaps.DefaultMaps.Q=new o.VT.CharacterMap("french canadian",{"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"}),o.VT.CharacterMaps.DefaultMaps.K=new o.VT.CharacterMap("german",{"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"}),o.VT.CharacterMaps.DefaultMaps.Y=new o.VT.CharacterMap("italian",{"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"}),o.VT.CharacterMaps.DefaultMaps.E=o.VT.CharacterMaps.DefaultMaps[6]=new o.VT.CharacterMap("norwegian/danish",{"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"}),o.VT.CharacterMaps.DefaultMaps.Z=new o.VT.CharacterMap("spanish",{"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"}),o.VT.CharacterMaps.DefaultMaps[7]=o.VT.CharacterMaps.DefaultMaps.H=new o.VT.CharacterMap("swedish",{"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"}),o.VT.CharacterMaps.DefaultMaps["="]=new o.VT.CharacterMap("swiss",{"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}),i.resource.add("hterm/audio/bell","audio/ogg;base64","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"),i.resource.add("hterm/images/icon-96","image/png;base64","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"),i.resource.add("hterm/concat/date","text/plain","Tue, 22 Aug 2017 06:42:31 +0000"),i.resource.add("hterm/changelog/version","text/plain","1.70"),i.resource.add("hterm/changelog/date","text/plain","2017-08-16"),i.resource.add("hterm/git/HEAD","text/plain","git rev-parse HEAD"),e.exports={hterm:o,lib:i}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(10),o=r(13),s=r(12),n=r(11),a=document.getElementById("terminal");if(null!==a){var l;l="hterm"==gotty_term?new i.Hterm(a):new o.Xterm(a);var h=("https:"==window.location.protocol?"wss://":"ws://")+window.location.host+window.location.pathname+"ws",c=window.location.search,u=new n.ConnectionFactory(h,s.protocols),p=new s.WebTTY(l,u,c,gotty_auth_token).open();window.addEventListener("unload",function(){p(),l.close()})}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,r){this.textarea=e,this.compositionView=t,this.terminal=r,this.isComposing=!1,this.isSendingComposition=!1,this.compositionPosition={start:null,end:null}}return e.prototype.compositionstart=function(){this.isComposing=!0,this.compositionPosition.start=this.textarea.value.length,this.compositionView.textContent="",this.compositionView.classList.add("active")},e.prototype.compositionupdate=function(e){var t=this;this.compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(function(){t.compositionPosition.end=t.textarea.value.length},0)},e.prototype.compositionend=function(){this.finalizeComposition(!0)},e.prototype.keydown=function(e){if(this.isComposing||this.isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this.finalizeComposition(!1)}return 229!==e.keyCode||(this.handleAnyTextareaChanges(),!1)},e.prototype.finalizeComposition=function(e){var t=this;if(this.compositionView.classList.remove("active"),this.isComposing=!1,this.clearTextareaPosition(),e){var r={start:this.compositionPosition.start,end:this.compositionPosition.end};this.isSendingComposition=!0,setTimeout(function(){if(t.isSendingComposition){t.isSendingComposition=!1;var e=void 0;e=t.isComposing?t.textarea.value.substring(r.start,r.end):t.textarea.value.substring(r.start),t.terminal.handler(e)}},0)}else{this.isSendingComposition=!1;var i=this.textarea.value.substring(this.compositionPosition.start,this.compositionPosition.end);this.terminal.handler(i)}},e.prototype.handleAnyTextareaChanges=function(){var e=this,t=this.textarea.value;setTimeout(function(){if(!e.isComposing){var r=e.textarea.value.replace(t,"");r.length>0&&e.terminal.handler(r)}},0)},e.prototype.updateCompositionElements=function(e){var t=this;if(this.isComposing){var r=this.terminal.element.querySelector(".terminal-cursor");if(r){var i=this.terminal.element.querySelector(".xterm-rows").offsetTop+r.offsetTop;this.compositionView.style.left=r.offsetLeft+"px",this.compositionView.style.top=i+"px",this.compositionView.style.height=r.offsetHeight+"px",this.compositionView.style.lineHeight=r.offsetHeight+"px";var o=this.compositionView.getBoundingClientRect();this.textarea.style.left=r.offsetLeft+"px",this.textarea.style.top=i+"px",this.textarea.style.width=o.width+"px",this.textarea.style.height=o.height+"px",this.textarea.style.lineHeight=o.height+"px"}e||setTimeout(function(){return t.updateCompositionElements(!0)},0)}},e.prototype.clearTextareaPosition=function(){this.textarea.style.left="",this.textarea.style.top=""},e}();t.CompositionHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(2),o=r(3),s=function(){function e(e){this._terminal=e}return e.prototype.addChar=function(e,t){if(e>=" "){var r=n(t);this._terminal.charset&&this._terminal.charset[e]&&(e=this._terminal.charset[e]);var i=this._terminal.y+this._terminal.ybase;if(!r&&this._terminal.x)return void(this._terminal.lines.get(i)[this._terminal.x-1]&&(this._terminal.lines.get(i)[this._terminal.x-1][2]?this._terminal.lines.get(i)[this._terminal.x-1][1]+=e:this._terminal.lines.get(i)[this._terminal.x-2]&&(this._terminal.lines.get(i)[this._terminal.x-2][1]+=e),this._terminal.updateRange(this._terminal.y)));if(this._terminal.x+r-1>=this._terminal.cols)if(this._terminal.wraparoundMode)this._terminal.x=0,++this._terminal.y>this._terminal.scrollBottom?(this._terminal.y--,this._terminal.scroll(!0)):this._terminal.lines.get(this._terminal.y).isWrapped=!0;else if(2===r)return;if(i=this._terminal.y+this._terminal.ybase,this._terminal.insertMode)for(var o=0;othis._terminal.scrollBottom&&(this._terminal.y--,this._terminal.scroll()),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.carriageReturn=function(){this._terminal.x=0},e.prototype.backspace=function(){this._terminal.x>0&&this._terminal.x--},e.prototype.tab=function(){this._terminal.x=this._terminal.nextStop()},e.prototype.shiftOut=function(){this._terminal.setgLevel(1)},e.prototype.shiftIn=function(){this._terminal.setgLevel(0)},e.prototype.insertChars=function(e){var t,r,i,o;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.x,o=[this._terminal.eraseAttr()," ",1];t--&&i=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.cursorForward=function(e){var t=e[0];t<1&&(t=1),this._terminal.x+=t,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.cursorBackward=function(e){var t=e[0];t<1&&(t=1),this._terminal.x>=this._terminal.cols&&this._terminal.x--,this._terminal.x-=t,this._terminal.x<0&&(this._terminal.x=0)},e.prototype.cursorNextLine=function(e){var t=e[0];t<1&&(t=1),this._terminal.y+=t,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x=0},e.prototype.cursorPrecedingLine=function(e){var t=e[0];t<1&&(t=1),this._terminal.y-=t,this._terminal.y<0&&(this._terminal.y=0),this._terminal.x=0},e.prototype.cursorCharAbsolute=function(e){var t=e[0];t<1&&(t=1),this._terminal.x=t-1},e.prototype.cursorPosition=function(e){var t,r;t=e[0]-1,r=e.length>=2?e[1]-1:0,t<0?t=0:t>=this._terminal.rows&&(t=this._terminal.rows-1),r<0?r=0:r>=this._terminal.cols&&(r=this._terminal.cols-1),this._terminal.x=r,this._terminal.y=t},e.prototype.cursorForwardTab=function(e){for(var t=e[0]||1;t--;)this._terminal.x=this._terminal.nextStop()},e.prototype.eraseInDisplay=function(e){var t;switch(e[0]){case 0:for(this._terminal.eraseRight(this._terminal.x,this._terminal.y),t=this._terminal.y+1;t0&&(this._terminal.lines.trimStart(r),this._terminal.ybase=Math.max(this._terminal.ybase-r,0),this._terminal.ydisp=Math.max(this._terminal.ydisp-r,0))}},e.prototype.eraseInLine=function(e){switch(e[0]){case 0:this._terminal.eraseRight(this._terminal.x,this._terminal.y);break;case 1:this._terminal.eraseLeft(this._terminal.x,this._terminal.y);break;case 2:this._terminal.eraseLine(this._terminal.y)}},e.prototype.insertLines=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.rows-1-this._terminal.scrollBottom,i=this._terminal.rows-1+this._terminal.ybase-i+1;t--;)this._terminal.lines.length===this._terminal.lines.maxLength&&(this._terminal.lines.trimStart(1),this._terminal.ybase--,this._terminal.ydisp--,r--,i--),this._terminal.lines.splice(r,0,this._terminal.blankLine(!0)),this._terminal.lines.splice(i,1);this._terminal.updateRange(this._terminal.y),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.deleteLines=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.rows-1-this._terminal.scrollBottom,i=this._terminal.rows-1+this._terminal.ybase-i;t--;)this._terminal.lines.length===this._terminal.lines.maxLength&&(this._terminal.lines.trimStart(1),this._terminal.ybase-=1,this._terminal.ydisp-=1),this._terminal.lines.splice(i+1,0,this._terminal.blankLine(!0)),this._terminal.lines.splice(r,1);this._terminal.updateRange(this._terminal.y),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.deleteChars=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=[this._terminal.eraseAttr()," ",1];t--;)this._terminal.lines.get(r).splice(this._terminal.x,1),this._terminal.lines.get(r).push(i)},e.prototype.scrollUp=function(e){for(var t=e[0]||1;t--;)this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollTop,1),this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollBottom,0,this._terminal.blankLine());this._terminal.updateRange(this._terminal.scrollTop),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.scrollDown=function(e){for(var t=e[0]||1;t--;)this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollBottom,1),this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollTop,0,this._terminal.blankLine());this._terminal.updateRange(this._terminal.scrollTop),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.eraseChars=function(e){var t,r,i,o;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.x,o=[this._terminal.eraseAttr()," ",1];t--&&i=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.HPositionRelative=function(e){var t=e[0];t<1&&(t=1),this._terminal.x+=t,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.repeatPrecedingCharacter=function(e){for(var t=e[0]||1,r=this._terminal.lines.get(this._terminal.ybase+this._terminal.y),i=r[this._terminal.x-1]||[this._terminal.defAttr," ",1];t--;)r[this._terminal.x++]=i},e.prototype.sendDeviceAttributes=function(e){e[0]>0||(this._terminal.prefix?">"===this._terminal.prefix&&(this._terminal.is("xterm")?this._terminal.send(i.C0.ESC+"[>0;276;0c"):this._terminal.is("rxvt-unicode")?this._terminal.send(i.C0.ESC+"[>85;95;0c"):this._terminal.is("linux")?this._terminal.send(e[0]+"c"):this._terminal.is("screen")&&this._terminal.send(i.C0.ESC+"[>83;40003;0c")):this._terminal.is("xterm")||this._terminal.is("rxvt-unicode")||this._terminal.is("screen")?this._terminal.send(i.C0.ESC+"[?1;2c"):this._terminal.is("linux")&&this._terminal.send(i.C0.ESC+"[?6c"))},e.prototype.linePosAbsolute=function(e){var t=e[0];t<1&&(t=1),this._terminal.y=t-1,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1)},e.prototype.VPositionRelative=function(e){var t=e[0];t<1&&(t=1),this._terminal.y+=t,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.HVPosition=function(e){e[0]<1&&(e[0]=1),e[1]<1&&(e[1]=1),this._terminal.y=e[0]-1,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x=e[1]-1,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.tabClear=function(e){var t=e[0];t<=0?delete this._terminal.tabs[this._terminal.x]:3===t&&(this._terminal.tabs={})},e.prototype.setMode=function(e){if(e.length>1)for(var t=0;t1e3,this._terminal.mouseEvents=!0,this._terminal.element.classList.add("enable-mouse-events"),this._terminal.selectionManager.disable(),this._terminal.log("Binding to mouse events.");break;case 1004:this._terminal.sendFocus=!0;break;case 1005:this._terminal.utfMouse=!0;break;case 1006:this._terminal.sgrMouse=!0;break;case 1015:this._terminal.urxvtMouse=!0;break;case 25:this._terminal.cursorHidden=!1;break;case 1049:case 47:case 1047:if(!this._terminal.normal){var r={lines:this._terminal.lines,ybase:this._terminal.ybase,ydisp:this._terminal.ydisp,x:this._terminal.x,y:this._terminal.y,scrollTop:this._terminal.scrollTop,scrollBottom:this._terminal.scrollBottom,tabs:this._terminal.tabs};this._terminal.reset(),this._terminal.viewport.syncScrollArea(),this._terminal.normal=r,this._terminal.showCursor()}}}else switch(e[0]){case 4:this._terminal.insertMode=!0}},e.prototype.resetMode=function(e){if(e.length>1)for(var t=0;t>18,s=this._terminal.curAttr>>9&511,n=511&this._terminal.curAttr;i=30&&t<=37?s=t-30:t>=40&&t<=47?n=t-40:t>=90&&t<=97?s=(t+=8)-90:t>=100&&t<=107?n=(t+=8)-100:0===t?(o=this._terminal.defAttr>>18,s=this._terminal.defAttr>>9&511,n=511&this._terminal.defAttr):1===t?o|=1:4===t?o|=2:5===t?o|=4:7===t?o|=8:8===t?o|=16:22===t?o&=-2:24===t?o&=-3:25===t?o&=-5:27===t?o&=-9:28===t?o&=-17:39===t?s=this._terminal.defAttr>>9&511:49===t?n=511&this._terminal.defAttr:38===t?2===e[i+1]?(i+=2,-1===(s=this._terminal.matchColor(255&e[i],255&e[i+1],255&e[i+2]))&&(s=511),i+=2):5===e[i+1]&&(s=t=255&e[i+=2]):48===t?2===e[i+1]?(i+=2,-1===(n=this._terminal.matchColor(255&e[i],255&e[i+1],255&e[i+2]))&&(n=511),i+=2):5===e[i+1]&&(n=t=255&e[i+=2]):100===t?(s=this._terminal.defAttr>>9&511,n=511&this._terminal.defAttr):this._terminal.error("Unknown SGR attribute: %d.",t);this._terminal.curAttr=o<<18|s<<9|n}else this._terminal.curAttr=this._terminal.defAttr},e.prototype.deviceStatus=function(e){if(this._terminal.prefix){if("?"===this._terminal.prefix)switch(e[0]){case 6:this._terminal.send(i.C0.ESC+"[?"+(this._terminal.y+1)+";"+(this._terminal.x+1)+"R")}}else switch(e[0]){case 5:this._terminal.send(i.C0.ESC+"[0n");break;case 6:this._terminal.send(i.C0.ESC+"["+(this._terminal.y+1)+";"+(this._terminal.x+1)+"R")}},e.prototype.softReset=function(e){this._terminal.cursorHidden=!1,this._terminal.insertMode=!1,this._terminal.originMode=!1,this._terminal.wraparoundMode=!0,this._terminal.applicationKeypad=!1,this._terminal.viewport.syncScrollArea(),this._terminal.applicationCursor=!1,this._terminal.scrollTop=0,this._terminal.scrollBottom=this._terminal.rows-1,this._terminal.curAttr=this._terminal.defAttr,this._terminal.x=this._terminal.y=0,this._terminal.charset=null,this._terminal.glevel=0,this._terminal.charsets=[null]},e.prototype.setCursorStyle=function(e){var t=e[0]<1?1:e[0];switch(t){case 1:case 2:this._terminal.setOption("cursorStyle","block");break;case 3:case 4:this._terminal.setOption("cursorStyle","underline");break;case 5:case 6:this._terminal.setOption("cursorStyle","bar")}var r=t%2==1;this._terminal.setOption("cursorBlink",r)},e.prototype.setScrollRegion=function(e){this._terminal.prefix||(this._terminal.scrollTop=(e[0]||1)-1,this._terminal.scrollBottom=(e[1]&&e[1]<=this._terminal.rows?e[1]:this._terminal.rows)-1,this._terminal.x=0,this._terminal.y=0)},e.prototype.saveCursor=function(e){this._terminal.savedX=this._terminal.x,this._terminal.savedY=this._terminal.y},e.prototype.restoreCursor=function(e){this._terminal.x=this._terminal.savedX||0,this._terminal.y=this._terminal.savedY||0},e}();t.InputHandler=s;var n=function(e){function t(e){var t,r=0,o=i.length-1;if(ei[o][1])return!1;for(;o>=r;)if(t=Math.floor((r+o)/2),e>i[t][1])r=t+1;else{if(!(e=4352&&(e<=4447||9001===e||9002===e||e>=11904&&e<=42191&&12351!==e||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072&&e<=196605||e>=196608&&e<=262141)}var i=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];return function(i){return 0===i?e.nul:i<32||i>=127&&i<160?e.control:t(i)?0:r(i)?2:1}}({nul:0,control:0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=new RegExp("(?:^|[^\\da-z\\.-]+)((https?:\\/\\/)((([\\da-z\\.-]+)\\.([a-z\\.]{2,6}))|((\\d{1,3}\\.){3}\\d{1,3})|(localhost))(:\\d{1,5})?(\\/[\\/\\w\\.\\-%~]*)*(\\?[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?(#[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?)($|[^\\/\\w\\.\\-%]+)"),o=0,s=function(){function e(){this._nextLinkMatcherId=o,this._rowTimeoutIds=[],this._linkMatchers=[],this.registerLinkMatcher(i,null,{matchIndex:1})}return e.prototype.attachToDom=function(e,t){this._document=e,this._rows=t},e.prototype.linkifyRow=function(t){if(this._document){var r=this._rowTimeoutIds[t];r&&clearTimeout(r),this._rowTimeoutIds[t]=setTimeout(this._linkifyRow.bind(this,t),e.TIME_BEFORE_LINKIFY)}},e.prototype.setHypertextLinkHandler=function(e){this._linkMatchers[o].handler=e},e.prototype.setHypertextValidationCallback=function(e){this._linkMatchers[o].validationCallback=e},e.prototype.registerLinkMatcher=function(e,t,r){if(void 0===r&&(r={}),this._nextLinkMatcherId!==o&&!t)throw new Error("handler must be defined");var i={id:this._nextLinkMatcherId++,regex:e,handler:t,matchIndex:r.matchIndex,validationCallback:r.validationCallback,priority:r.priority||0};return this._addLinkMatcherToList(i),i.id},e.prototype._addLinkMatcherToList=function(e){if(0!==this._linkMatchers.length){for(var t=this._linkMatchers.length-1;t>=0;t--)if(e.priority<=this._linkMatchers[t].priority)return void this._linkMatchers.splice(t+1,0,e);this._linkMatchers.splice(0,0,e)}else this._linkMatchers.push(e)},e.prototype.deregisterLinkMatcher=function(e){for(var t=1;t0){if(i.validationCallback)for(var s=function(e){var t=o[e];i.validationCallback(t.textContent,t,function(e){e||t.classList.add("xterm-invalid-link")})},n=0;n=0){var p=this._createAnchorElement(a,t.handler,i);if(c.textContent.length===a.length)if(3===c.nodeType)this._replaceNode(c,p);else{var d=c;if("A"===d.nodeName)return r;d.innerHTML="",d.appendChild(p)}else if(c.childNodes.length>1)for(var f=0;f"]=function(e){return e.setPrefix(">")},a["!"]=function(e){return e.setPrefix("!")},a[0]=function(e){return e.setParam(10*e.getParam())},a[1]=function(e){return e.setParam(10*e.getParam()+1)},a[2]=function(e){return e.setParam(10*e.getParam()+2)},a[3]=function(e){return e.setParam(10*e.getParam()+3)},a[4]=function(e){return e.setParam(10*e.getParam()+4)},a[5]=function(e){return e.setParam(10*e.getParam()+5)},a[6]=function(e){return e.setParam(10*e.getParam()+6)},a[7]=function(e){return e.setParam(10*e.getParam()+7)},a[8]=function(e){return e.setParam(10*e.getParam()+8)},a[9]=function(e){return e.setParam(10*e.getParam()+9)},a.$=function(e){return e.setPostfix("$")},a['"']=function(e){return e.setPostfix('"')},a[" "]=function(e){return e.setPostfix(" ")},a["'"]=function(e){return e.setPostfix("'")},a[";"]=function(e){return e.finalizeParam()},a[i.C0.CAN]=function(e){return e.setState(h.NORMAL)};var l={};l["@"]=function(e,t,r){return e.insertChars(t)},l.A=function(e,t,r){return e.cursorUp(t)},l.B=function(e,t,r){return e.cursorDown(t)},l.C=function(e,t,r){return e.cursorForward(t)},l.D=function(e,t,r){return e.cursorBackward(t)},l.E=function(e,t,r){return e.cursorNextLine(t)},l.F=function(e,t,r){return e.cursorPrecedingLine(t)},l.G=function(e,t,r){return e.cursorCharAbsolute(t)},l.H=function(e,t,r){return e.cursorPosition(t)},l.I=function(e,t,r){return e.cursorForwardTab(t)},l.J=function(e,t,r){return e.eraseInDisplay(t)},l.K=function(e,t,r){return e.eraseInLine(t)},l.L=function(e,t,r){return e.insertLines(t)},l.M=function(e,t,r){return e.deleteLines(t)},l.P=function(e,t,r){return e.deleteChars(t)},l.S=function(e,t,r){return e.scrollUp(t)},l.T=function(e,t,r){t.length<2&&!r&&e.scrollDown(t)},l.X=function(e,t,r){return e.eraseChars(t)},l.Z=function(e,t,r){return e.cursorBackwardTab(t)},l["`"]=function(e,t,r){return e.charPosAbsolute(t)},l.a=function(e,t,r){return e.HPositionRelative(t)},l.b=function(e,t,r){return e.repeatPrecedingCharacter(t)},l.c=function(e,t,r){return e.sendDeviceAttributes(t)},l.d=function(e,t,r){return e.linePosAbsolute(t)},l.e=function(e,t,r){return e.VPositionRelative(t)},l.f=function(e,t,r){return e.HVPosition(t)},l.g=function(e,t,r){return e.tabClear(t)},l.h=function(e,t,r){return e.setMode(t)},l.l=function(e,t,r){return e.resetMode(t)},l.m=function(e,t,r){return e.charAttributes(t)},l.n=function(e,t,r){return e.deviceStatus(t)},l.p=function(e,t,r){switch(r){case"!":e.softReset(t)}},l.q=function(e,t,r,i){" "===i&&e.setCursorStyle(t)},l.r=function(e,t){return e.setScrollRegion(t)},l.s=function(e,t){return e.saveCursor(t)},l.u=function(e,t){return e.restoreCursor(t)},l[i.C0.CAN]=function(e,t,r,i,o){return o.setState(h.NORMAL)};var h;!function(e){e[e.NORMAL=0]="NORMAL",e[e.ESCAPED=1]="ESCAPED",e[e.CSI_PARAM=2]="CSI_PARAM",e[e.CSI=3]="CSI",e[e.OSC=4]="OSC",e[e.CHARSET=5]="CHARSET",e[e.DCS=6]="DCS",e[e.IGNORE=7]="IGNORE"}(h||(h={}));var c=function(){function e(e,t){this._inputHandler=e,this._terminal=t,this._state=h.NORMAL}return e.prototype.parse=function(e){var t,r,c,u,p=e.length;for(this._position=0,this._terminal.surrogate_high&&(e=this._terminal.surrogate_high+e,this._terminal.surrogate_high="");this._position":this._terminal.log("Switching back to normal keypad."),this._terminal.applicationKeypad=!1,this._terminal.viewport.syncScrollArea(),this._state=h.NORMAL;break;default:this._state=h.NORMAL,this._terminal.error("Unknown ESC control: %s.",r)}break;case h.CHARSET:r in o.CHARSETS?(t=o.CHARSETS[r],"/"===r&&this.skipNextChar()):t=o.DEFAULT_CHARSET,this._terminal.setgCharset(this._terminal.gcharset,t),this._terminal.gcharset=null,this._state=h.NORMAL;break;case h.OSC:if(r===i.C0.ESC||r===i.C0.BEL){switch(r===i.C0.ESC&&this._position++,this._terminal.params.push(this._terminal.currentParam),this._terminal.params[0]){case 0:case 1:case 2:this._terminal.params[1]&&(this._terminal.title=this._terminal.params[1],this._terminal.handleTitle(this._terminal.title))}this._terminal.params=[],this._terminal.currentParam=0,this._state=h.NORMAL}else this._terminal.params.length?this._terminal.currentParam+=r:r>="0"&&r<="9"?this._terminal.currentParam=10*this._terminal.currentParam+r.charCodeAt(0)-48:";"===r&&(this._terminal.params.push(this._terminal.currentParam),this._terminal.currentParam="");break;case h.CSI_PARAM:if(r in a){a[r](this);break}this.finalizeParam(),this._state=h.CSI;case h.CSI:r in l?l[r](this._inputHandler,this._terminal.params,this._terminal.prefix,this._terminal.postfix,this):this._terminal.error("Unknown CSI code: %s.",r),this._state=h.NORMAL,this._terminal.prefix="",this._terminal.postfix="";break;case h.DCS:if(r===i.C0.ESC||r===i.C0.BEL){r===i.C0.ESC&&this._position++;var d=void 0,f=void 0;switch(this._terminal.prefix){case"":break;case"$q":switch(d=this._terminal.currentParam,f=!1,d){case'"q':d='0"q';break;case'"p':d='61"p';break;case"r":d=this._terminal.scrollTop+1+";"+(this._terminal.scrollBottom+1)+"r";break;case"m":d="0m";break;default:this._terminal.error("Unknown DCS Pt: %s.",d),d=""}this._terminal.send(i.C0.ESC+"P"+ +f+"$r"+d+i.C0.ESC+"\\");break;case"+p":break;case"+q":d=this._terminal.currentParam,f=!1,this._terminal.send(i.C0.ESC+"P"+ +f+"+r"+d+i.C0.ESC+"\\");break;default:this._terminal.error("Unknown DCS prefix: %s.",this._terminal.prefix)}this._terminal.currentParam=0,this._terminal.prefix="",this._state=h.NORMAL}else this._terminal.currentParam?this._terminal.currentParam+=r:this._terminal.prefix||"$"===r||"+"===r?2===this._terminal.prefix.length?this._terminal.currentParam=r:this._terminal.prefix+=r:this._terminal.currentParam=r;break;case h.IGNORE:r!==i.C0.ESC&&r!==i.C0.BEL||(r===i.C0.ESC&&this._position++,this._state=h.NORMAL)}}return this._state},e.prototype.setState=function(e){this._state=e},e.prototype.setPrefix=function(e){this._terminal.prefix=e},e.prototype.setPostfix=function(e){this._terminal.postfix=e},e.prototype.setParam=function(e){this._terminal.currentParam=e},e.prototype.getParam=function(){return this._terminal.currentParam},e.prototype.finalizeParam=function(){this._terminal.params.push(this._terminal.currentParam),this._terminal.currentParam=0},e.prototype.skipNextChar=function(){this._position++},e}();t.Parser=c},function(e,t,r){"use strict";function i(e){var t=e.ownerDocument.createElement("span");t.innerHTML="hello world",e.appendChild(t);var r=t.offsetWidth,i=t.offsetHeight;t.style.fontWeight="bold";var o=t.offsetWidth,s=t.offsetHeight;return e.removeChild(t),r!==o||i!==s}Object.defineProperty(t,"__esModule",{value:!0});var o,s=r(33);!function(e){e[e.BOLD=1]="BOLD",e[e.UNDERLINE=2]="UNDERLINE",e[e.BLINK=4]="BLINK",e[e.INVERSE=8]="INVERSE",e[e.INVISIBLE=16]="INVISIBLE"}(o||(o={}));var n=null,a=function(){function e(e){this._terminal=e,this._refreshRowsQueue=[],this._refreshFramesSkipped=0,this._refreshAnimationFrame=null,this._spanElementObjectPool=new s.DomElementObjectPool("span"),null===n&&(n=i(this._terminal.element)),this._spanElementObjectPool=new s.DomElementObjectPool("span")}return e.prototype.queueRefresh=function(e,t){this._refreshRowsQueue.push({start:e,end:t}),this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame(this._refreshLoop.bind(this)))},e.prototype._refreshLoop=function(){if(this._terminal.writeBuffer.length>0&&this._refreshFramesSkipped++<=5)this._refreshAnimationFrame=window.requestAnimationFrame(this._refreshLoop.bind(this));else{this._refreshFramesSkipped=0;var e,t;if(this._refreshRowsQueue.length>4)e=0,t=this._terminal.rows-1;else{e=this._refreshRowsQueue[0].start,t=this._refreshRowsQueue[0].end;for(var r=1;rt&&(t=this._refreshRowsQueue[r].end)}this._refreshRowsQueue=[],this._refreshAnimationFrame=null,this._refresh(e,t)}},e.prototype._refresh=function(e,t){var r;t-e>=this._terminal.rows/2&&(r=this._terminal.element.parentNode)&&this._terminal.element.removeChild(this._terminal.rowContainer);var i=this._terminal.cols,s=e;for(t>=this._terminal.rows&&(this._terminal.log("`end` is too large. Most likely a bad CSR."),t=this._terminal.rows-1);s<=t;s++){var a=s+this._terminal.ydisp,l=this._terminal.lines.get(a),h=void 0;h=this._terminal.y===s-(this._terminal.ybase-this._terminal.ydisp)&&this._terminal.cursorState&&!this._terminal.cursorHidden?this._terminal.x:-1;for(var c=this._terminal.defAttr,u=document.createDocumentFragment(),p="",d=void 0;this._terminal.children[s].children.length;){var f=this._terminal.children[s].children[0];this._terminal.children[s].removeChild(f),this._spanElementObjectPool.release(f)}for(var g=0;g>9&511,w=m>>18;if(w&o.BOLD&&(n||d.classList.add("xterm-bold"),C<8&&(C+=8)),w&o.UNDERLINE&&d.classList.add("xterm-underline"),w&o.BLINK&&d.classList.add("xterm-blink"),w&o.INVERSE){var S=_;_=C,C=S,1&w&&C<8&&(C+=8)}w&o.INVISIBLE&&d.classList.add("xterm-hidden"),w&o.INVERSE&&(257===_&&(_=15),256===C&&(C=0)),_<256&&d.classList.add("xterm-bg-color-"+_),C<256&&d.classList.add("xterm-color-"+C)}if(2===b)p+=''+y+"";else if(y.charCodeAt(0)>255)p+=''+y+"";else switch(y){case"&":p+="&";break;case"<":p+="<";break;case">":p+=">";break;default:p+=y<=" "?" ":y}c=m}}p&&!d&&(d=this._spanElementObjectPool.acquire()),d&&(p&&(d.innerHTML=p,p=""),u.appendChild(d),d=null),this._terminal.children[s].appendChild(u)}r&&this._terminal.element.appendChild(this._terminal.rowContainer),this._terminal.emit("refresh",{element:this._terminal.element,start:e,end:t})},e.prototype.refreshSelection=function(e,t){for(;this._terminal.selectionContainer.children.length;)this._terminal.selectionContainer.removeChild(this._terminal.selectionContainer.children[0]);if(e&&t){var r=e[1]-this._terminal.ydisp,i=t[1]-this._terminal.ydisp,o=Math.max(r,0),s=Math.min(i,this._terminal.rows-1);if(!(o>=this._terminal.rows||s<0)){var n=document.createDocumentFragment(),a=r===o?e[0]:0,l=o===s?t[0]:this._terminal.cols;n.appendChild(this._createSelectionElement(o,a,l));var h=s-o-1;if(n.appendChild(this._createSelectionElement(o+1,0,this._terminal.cols,h)),o!==s){var c=i===s?t[0]:this._terminal.cols;n.appendChild(this._createSelectionElement(s,0,c))}this._terminal.selectionContainer.appendChild(n)}}},e.prototype._createSelectionElement=function(e,t,r,i){void 0===i&&(i=1);var o=document.createElement("div");return o.style.height=i*this._terminal.charMeasure.height+"px",o.style.top=e*this._terminal.charMeasure.height+"px",o.style.left=t*this._terminal.charMeasure.width+"px",o.style.width=this._terminal.charMeasure.width*(r-t)+"px",o},e}();t.Renderer=a},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o,s=r(9),n=r(8),a=r(1),l=r(22),h=String.fromCharCode(160),c=new RegExp(h,"g");!function(e){e[e.NORMAL=0]="NORMAL",e[e.WORD=1]="WORD",e[e.LINE=2]="LINE"}(o||(o={}));var u=function(e){function t(t,r,i,s){var n=e.call(this)||this;return n._terminal=t,n._buffer=r,n._rowContainer=i,n._charMeasure=s,n._initListeners(),n.enable(),n._model=new l.SelectionModel(t),n._lastMouseDownTime=0,n._activeSelectionMode=o.NORMAL,n}return i(t,e),t.prototype._initListeners=function(){var e=this;this._bufferTrimListener=function(t){return e._onTrim(t)},this._mouseMoveListener=function(t){return e._onMouseMove(t)},this._mouseDownListener=function(t){return e._onMouseDown(t)},this._mouseUpListener=function(t){return e._onMouseUp(t)}},t.prototype.disable=function(){this.clearSelection(),this._buffer.off("trim",this._bufferTrimListener),this._rowContainer.removeEventListener("mousedown",this._mouseDownListener)},t.prototype.enable=function(){this._buffer.on("trim",this._bufferTrimListener),this._rowContainer.addEventListener("mousedown",this._mouseDownListener)},t.prototype.setBuffer=function(e){this._buffer=e,this.clearSelection()},Object.defineProperty(t.prototype,"hasSelection",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t)&&(e[0]!==t[0]||e[1]!==t[1])},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectionText",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";var r=e[1]===t[1]?t[0]:null,i=[];i.push(this._translateBufferLineToString(this._buffer.get(e[1]),!0,e[0],r));for(var o=e[1]+1;o<=t[1]-1;o++){var s=this._buffer.get(o),a=this._translateBufferLineToString(s,!0);s.isWrapped?i[i.length-1]+=a:i.push(a)}if(e[1]!==t[1]){var s=this._buffer.get(t[1]),a=this._translateBufferLineToString(s,!0,0,t[0]);s.isWrapped?i[i.length-1]+=a:i.push(a)}return i.map(function(e){return e.replace(c," ")}).join(n.isMSWindows?"\r\n":"\n")},enumerable:!0,configurable:!0}),t.prototype.clearSelection=function(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh()},t.prototype._translateBufferLineToString=function(e,t,r,i){void 0===r&&(r=0),void 0===i&&(i=null);for(var o="",s=r,n=i,a=0;a=a&&s--,i>=a&&n--)}var h=n||e.length;if(t){var c=o.search(/\s+$/);if(-1!==c&&(h=Math.min(h,c)),h<=s)return""}return o.substring(s,h)},t.prototype.refresh=function(e){var t=this;this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame(function(){return t._refresh()})),n.isLinux&&e&&this.selectionText.length&&this.emit("newselection",this.selectionText)},t.prototype._refresh=function(){this._refreshAnimationFrame=null,this.emit("refresh",{start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd})},t.prototype.selectAll=function(){this._model.isSelectAllActive=!0,this.refresh()},t.prototype._onTrim=function(e){this._model.onTrim(e)&&this.refresh()},t.prototype._getMouseBufferCoords=function(e){var t=s.getCoords(e,this._rowContainer,this._charMeasure,this._terminal.cols,this._terminal.rows,!0);return t[0]--,t[1]--,t[1]+=this._terminal.ydisp,t},t.prototype._getMouseEventScrollAmount=function(e){var t=s.getCoordsRelativeToElement(e,this._rowContainer)[1],r=this._terminal.rows*this._charMeasure.height;return t>=0&&t<=r?0:(t>r&&(t-=r),t=Math.min(Math.max(t,-50),50),(t/=50)/Math.abs(t)+Math.round(14*t))},t.prototype._onMouseDown=function(e){0===e.button&&(e.preventDefault(),this._dragScrollAmount=0,this._setMouseClickCount(e),e.shiftKey?this._onShiftClick(e):1===this._clickCount?this._onSingleClick(e):2===this._clickCount?this._onDoubleClick(e):3===this._clickCount&&this._onTripleClick(e),this._addMouseDownListeners(),this.refresh(!0))},t.prototype._addMouseDownListeners=function(){var e=this;this._rowContainer.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._rowContainer.ownerDocument.addEventListener("mouseup",this._mouseUpListener),this._dragScrollIntervalTimer=setInterval(function(){return e._dragScroll()},50)},t.prototype._removeMouseDownListeners=function(){this._rowContainer.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._rowContainer.ownerDocument.removeEventListener("mouseup",this._mouseUpListener),clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=null},t.prototype._onShiftClick=function(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))},t.prototype._onSingleClick=function(e){this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=o.NORMAL,this._model.selectionStart=this._getMouseBufferCoords(e),this._model.selectionStart&&(this._model.selectionEnd=null,0===this._buffer.get(this._model.selectionStart[1])[this._model.selectionStart[0]][2]&&this._model.selectionStart[0]++)},t.prototype._onDoubleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=o.WORD,this._selectWordAt(t))},t.prototype._onTripleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=o.LINE,this._selectLineAt(t[1]))},t.prototype._setMouseClickCount=function(e){var t=(new Date).getTime();(t-this._lastMouseDownTime>400||this._distanceFromLastMousePosition(e)>10)&&(this._clickCount=0),this._lastMouseDownTime=t,this._lastMousePosition=[e.pageX,e.pageY],this._clickCount++},t.prototype._distanceFromLastMousePosition=function(e){return Math.max(Math.abs(this._lastMousePosition[0]-e.pageX),Math.abs(this._lastMousePosition[1]-e.pageY))},t.prototype._onMouseMove=function(e){var t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),this._activeSelectionMode===o.LINE?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._terminal.cols-1:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]0?this._model.selectionEnd=[this._terminal.cols-1,this._terminal.ydisp+this._terminal.rows]:this._model.selectionEnd=[0,this._terminal.ydisp],this.refresh())},t.prototype._onMouseUp=function(e){this._removeMouseDownListeners()},t.prototype._convertViewportColToCharacterIndex=function(e,t){for(var r=t[0],i=0;t[0]>=i;i++)0===e[i][2]&&r--;return r},t.prototype._getWordAt=function(e){var t=this._buffer.get(e[1]),r=this._translateBufferLineToString(t,!1),i=this._convertViewportColToCharacterIndex(t,e),o=i,s=e[0]-o,n=0,a=0;if(" "===r.charAt(o)){for(;o>0&&" "===r.charAt(o-1);)o--;for(;i0&&!this._isCharWordSeparator(r.charAt(o-1));)0===t[l-1][2]&&(n++,l--),o--,l--;for(;i+1=0},t.prototype._selectLineAt=function(e){this._model.selectionStart=[0,e],this._model.selectionStartLength=this._terminal.cols},t}(a.EventEmitter);t.SelectionManager=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e){this._terminal=e,this.clearSelection()}return e.prototype.clearSelection=function(){this.selectionStart=null,this.selectionEnd=null,this.isSelectAllActive=!1,this.selectionStartLength=0},Object.defineProperty(e.prototype,"finalSelectionStart",{get:function(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"finalSelectionEnd",{get:function(){return this.isSelectAllActive?[this._terminal.cols,this._terminal.ybase+this._terminal.rows-1]:this.selectionStart?!this.selectionEnd||this.areSelectionValuesReversed()?[this.selectionStart[0]+this.selectionStartLength,this.selectionStart[1]]:this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]?[Math.max(this.selectionStart[0]+this.selectionStartLength,this.selectionEnd[0]),this.selectionEnd[1]]:this.selectionEnd:null},enumerable:!0,configurable:!0}),e.prototype.areSelectionValuesReversed=function(){var e=this.selectionStart,t=this.selectionEnd;return e[1]>t[1]||e[1]===t[1]&&e[0]>t[0]},e.prototype.onTrim=function(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)},e}();t.SelectionModel=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,r,i){var o=this;this.terminal=e,this.viewportElement=t,this.scrollArea=r,this.charMeasure=i,this.currentRowHeight=0,this.lastRecordedBufferLength=0,this.lastRecordedViewportHeight=0,this.terminal.on("scroll",this.syncScrollArea.bind(this)),this.terminal.on("resize",this.syncScrollArea.bind(this)),this.viewportElement.addEventListener("scroll",this.onScroll.bind(this)),setTimeout(function(){return o.syncScrollArea()},0)}return e.prototype.refresh=function(){if(this.charMeasure.height>0){var e=this.charMeasure.height!==this.currentRowHeight;e&&(this.currentRowHeight=this.charMeasure.height,this.viewportElement.style.lineHeight=this.charMeasure.height+"px",this.terminal.rowContainer.style.lineHeight=this.charMeasure.height+"px");var t=this.lastRecordedViewportHeight!==this.terminal.rows;(e||t)&&(this.lastRecordedViewportHeight=this.terminal.rows,this.viewportElement.style.height=this.charMeasure.height*this.terminal.rows+"px",this.terminal.selectionContainer.style.height=this.viewportElement.style.height),this.scrollArea.style.height=this.charMeasure.height*this.lastRecordedBufferLength+"px"}},e.prototype.syncScrollArea=function(){this.lastRecordedBufferLength!==this.terminal.lines.length?(this.lastRecordedBufferLength=this.terminal.lines.length,this.refresh()):this.lastRecordedViewportHeight!==this.terminal.rows?this.refresh():this.charMeasure.height!==this.currentRowHeight&&this.refresh();var e=this.terminal.ydisp*this.currentRowHeight;this.viewportElement.scrollTop!==e&&(this.viewportElement.scrollTop=e)},e.prototype.onScroll=function(e){var t=Math.round(this.viewportElement.scrollTop/this.currentRowHeight)-this.terminal.ydisp;this.terminal.scrollDisp(t,!0)},e.prototype.onWheel=function(e){if(0!==e.deltaY){var t=1;e.deltaMode===WheelEvent.DOM_DELTA_LINE?t=this.currentRowHeight:e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t=this.currentRowHeight*this.terminal.rows),this.viewportElement.scrollTop+=e.deltaY*t,e.preventDefault()}},e.prototype.onTouchStart=function(e){this.lastTouchY=e.touches[0].pageY},e.prototype.onTouchMove=function(e){var t=this.lastTouchY-e.touches[0].pageY;this.lastTouchY=e.touches[0].pageY,0!==t&&(this.viewportElement.scrollTop+=t,e.preventDefault())},e}();t.Viewport=i},function(e,t,r){function i(e){return r(o(e))}function o(e){var t=s[e];if(!(t+1))throw new Error("Cannot find module '"+e+"'.");return t}var s={"./attach/attach":4,"./attach/attach.js":4,"./attach/package.json":25,"./fit/fit":5,"./fit/fit.js":5,"./fit/package.json":26,"./fullscreen/fullscreen":6,"./fullscreen/fullscreen.css":27,"./fullscreen/fullscreen.js":6,"./fullscreen/package.json":28,"./terminado/package.json":29,"./terminado/terminado":7,"./terminado/terminado.js":7};i.keys=function(){return Object.keys(s)},i.resolve=o,e.exports=i,i.id=24},function(e,t){e.exports={name:"xterm.attach",main:"attach.js",private:!0}},function(e,t){e.exports={name:"xterm.fit",main:"fit.js",private:!0}},function(e,t){throw new Error("Module parse failed: /home/yudai/archive/products/2015/gotty/src/github.com/yudai/gotty/js/node_modules/xterm/lib/addons/fullscreen/fullscreen.css Unexpected token (1:0)\nYou may need an appropriate loader to handle this file type.\n| .xterm.fullscreen {\n| position: fixed;\n| top: 0;")},function(e,t){e.exports={name:"xterm.fullscreen",main:"fullscreen.js",private:!0}},function(e,t){e.exports={name:"xterm.terminado",main:"terminado.js",private:!0}},function(e,t,r){"use strict";function i(e,t){return t?e.replace(/\r?\n/g,"\r"):e}function o(e,t){t.style.position="fixed",t.style.width="20px",t.style.height="20px",t.style.left=e.clientX-10+"px",t.style.top=e.clientY-10+"px",t.style.zIndex="1000",t.focus(),setTimeout(function(){t.style.position=null,t.style.width=null,t.style.height=null,t.style.left=null,t.style.top=null,t.style.zIndex=null},4)}Object.defineProperty(t,"__esModule",{value:!0}),t.prepareTextForTerminal=i,t.copyHandler=function(e,t,r){t.browser.isMSIE?window.clipboardData.setData("Text",r.selectionText):e.clipboardData.setData("text/plain",r.selectionText),e.preventDefault()},t.pasteHandler=function(e,t){e.stopPropagation();var r=function(r){return r=i(r,t.browser.isMSWindows),t.handler(r),t.textarea.value="",t.emit("paste",r),t.cancel(e)};t.browser.isMSIE?window.clipboardData&&r(window.clipboardData.getData("Text")):e.clipboardData&&r(e.clipboardData.getData("text/plain"))},t.moveTextAreaUnderMouseCursor=o,t.rightClickHandler=function(e,t,r){o(e,t),t.value=r.selectionText,t.select()}},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t,r){var i=e.call(this)||this;return i._document=t,i._parentElement=r,i}return i(t,e),Object.defineProperty(t.prototype,"width",{get:function(){return this._width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this._height},enumerable:!0,configurable:!0}),t.prototype.measure=function(){var e=this;this._measureElement?this._doMeasure():(this._measureElement=this._document.createElement("span"),this._measureElement.style.position="absolute",this._measureElement.style.top="0",this._measureElement.style.left="-9999em",this._measureElement.textContent="W",this._measureElement.setAttribute("aria-hidden","true"),this._parentElement.appendChild(this._measureElement),setTimeout(function(){return e._doMeasure()},0))},t.prototype._doMeasure=function(){var e=this._measureElement.getBoundingClientRect();0!==e.width&&0!==e.height&&(this._width===e.width&&this._height===e.height||(this._width=e.width,this._height=e.height,this.emit("charsizechanged")))},t}(r(1).EventEmitter);t.CharMeasure=o},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var r=e.call(this)||this;return r._array=new Array(t),r._startIndex=0,r._length=0,r}return i(t,e),Object.defineProperty(t.prototype,"maxLength",{get:function(){return this._array.length},set:function(e){for(var t=new Array(e),r=0;rthis._length)for(var t=this._length;t=e;o--)this._array[this._getCyclicIndex(o+r.length)]=this._array[this._getCyclicIndex(o)];for(var o=0;othis.maxLength){var s=this._length+r.length-this.maxLength;this._startIndex+=s,this._length=this.maxLength,this.emit("trim",s)}else this._length+=r.length}},t.prototype.trimStart=function(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.emit("trim",e)},t.prototype.shiftElements=function(e,t,r){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+r<0)throw new Error("Cannot shift elements in list beyond index 0");if(r>0){for(o=t-1;o>=0;o--)this.set(e+o+r,this.get(e+o));var i=e+t+r-this._length;if(i>0)for(this._length+=i;this._length>this.maxLength;)this._length--,this._startIndex++,this.emit("trim",1)}else for(var o=0;o=0}}]); \ No newline at end of file diff --git a/js/dist/gotty-bundle.js.map b/js/dist/gotty-bundle.js.map deleted file mode 100644 index f208c91..0000000 --- a/js/dist/gotty-bundle.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap d69371b1ba8b46cfaccb","webpack:///./~/xterm/lib/xterm.js","webpack:///./~/xterm/lib/EventEmitter.js","webpack:///./~/xterm/lib/EscapeSequences.js","webpack:///./~/xterm/lib/Charsets.js","webpack:///./~/xterm/lib/addons/attach/attach.js","webpack:///./~/xterm/lib/addons/fit/fit.js","webpack:///./~/xterm/lib/addons/fullscreen/fullscreen.js","webpack:///./~/xterm/lib/addons/terminado/terminado.js","webpack:///./~/xterm/lib/utils/Browser.js","webpack:///./~/xterm/lib/utils/Mouse.js","webpack:///./src/hterm.ts","webpack:///./src/websocket.ts","webpack:///./src/webtty.ts","webpack:///./src/xterm.ts","webpack:///./~/libapps/hterm/dist/js/hterm_module.js","webpack:///./src/main.ts","webpack:///./~/xterm/lib/CompositionHelper.js","webpack:///./~/xterm/lib/InputHandler.js","webpack:///./~/xterm/lib/Linkifier.js","webpack:///./~/xterm/lib/Parser.js","webpack:///./~/xterm/lib/Renderer.js","webpack:///./~/xterm/lib/SelectionManager.js","webpack:///./~/xterm/lib/SelectionModel.js","webpack:///./~/xterm/lib/Viewport.js","webpack:///./~/xterm/lib/addons ^\\.\\/.*$","webpack:///./~/xterm/lib/addons/attach/package.json","webpack:///./~/xterm/lib/addons/fit/package.json","webpack:///./~/xterm/lib/addons/fullscreen/package.json","webpack:///./~/xterm/lib/addons/terminado/package.json","webpack:///./~/xterm/lib/handlers/Clipboard.js","webpack:///./~/xterm/lib/utils/CharMeasure.js","webpack:///./~/xterm/lib/utils/CircularList.js","webpack:///./~/xterm/lib/utils/DomElementObjectPool.js","webpack:///./~/xterm/lib/utils/Generic.js"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AChEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA,UAAU,QAAQ;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gDAAgD,8CAA8C;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,KAAK;AACL;AACA,2BAA2B,iBAAiB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,mCAAmC,yCAAyC,EAAE;AAC9E,iEAAiE,yCAAyC,EAAE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,4CAA4C;AACtE,iCAAiC,wCAAwC;AACzE,gCAAgC,0CAA0C;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,cAAc;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,wHAAwH;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,wHAAwH;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,iEAAiE;AACjE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,mCAAmC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,6BAA6B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5lDA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC1DA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,qCAAqC;AACtC;;AAEA;;;;;;;;ACzCA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;;;;;;;AChKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;AC7HD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B;AAC/B;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;;AAEA,gBAAgB;AAChB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;ACrFD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;ACjDD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,UAAU;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;ACtID;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;;;;;;;;;;ACnCA,mCAAgC;AAEhC;IAYI,eAAY,IAAiB;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;IAAA,CAAC;IAEF,oBAAI,GAAJ;QACI,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACtD,CAAC;IAAA,CAAC;IAEF,sBAAM,GAAN,UAAO,IAAY;QACf,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAAA,CAAC;IAEF,2BAAW,GAAX,UAAY,OAAe,EAAE,OAAe;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;IAAA,CAAC;IAEF,6BAAa,GAAb;QACI,iEAAiE;QACjE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,8BAAc,GAAd,UAAe,KAAa;QACxB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAAA,CAAC;IAEF,8BAAc,GAAd,UAAe,KAAa;QAA5B,iBAIC;QAHG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;YAC3B,KAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACP,CAAC;IAAA,CAAC;IAEF,uBAAO,GAAP,UAAQ,QAAiC;QACrC,IAAI,CAAC,EAAE,CAAC,aAAa,GAAG,UAAC,IAAI;YACzB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC;QACF,IAAI,CAAC,EAAE,CAAC,UAAU,GAAG,UAAC,IAAI;YACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC;IACN,CAAC;IAAA,CAAC;IAEF,wBAAQ,GAAR,UAAS,QAAiD;QAA1D,iBAMC;QALG,IAAI,CAAC,EAAE,CAAC,gBAAgB,GAAG,UAAC,OAAe,EAAE,IAAY;YACrD,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;IACN,CAAC;IAAA,CAAC;IAEF,0BAAU,GAAV;QACI,IAAI,CAAC,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,GAAG,IAAI;QACzB,IAAI,CAAC,EAAE,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAClC,CAAC;IAED,qBAAK,GAAL;QACI,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;IAED,qBAAK,GAAL;QACI,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAClC,CAAC;IACL,YAAC;AAAD,CAAC;AAzFY,sBAAK;;;;;;;;;;ACFlB;IAII,2BAAY,GAAW,EAAE,SAAmB;QACxC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAAA,CAAC;IAEF,kCAAM,GAAN;QACI,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAAA,CAAC;IACN,wBAAC;AAAD,CAAC;AAZY,8CAAiB;AAc9B;IAII,oBAAY,GAAW,EAAE,SAAmB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,yBAAI,GAAJ;QACI,6BAA6B;IACjC,CAAC;IAAA,CAAC;IAEF,0BAAK,GAAL;QACI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAAA,CAAC;IAEF,yBAAI,GAAJ,UAAK,IAAY;QACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAAA,CAAC;IAEF,2BAAM,GAAN;QACI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU;YAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI;QACf,CAAC;QACD,MAAM,CAAC,KAAK;IAChB,CAAC;IAED,2BAAM,GAAN,UAAO,QAAoB;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,UAAC,KAAK;YACrB,QAAQ,EAAE,CAAC;QACf,CAAC;IACL,CAAC;IAAA,CAAC;IAEF,8BAAS,GAAT,UAAU,QAAgC;QACtC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,UAAC,KAAK;YACxB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IAAA,CAAC;IAEF,4BAAO,GAAP,UAAQ,QAAoB;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,UAAC,KAAK;YACtB,QAAQ,EAAE,CAAC;QACf,CAAC,CAAC;IACN,CAAC;IAAA,CAAC;IACN,iBAAC;AAAD,CAAC;AA7CY,gCAAU;;;;;;;;;;ACdV,iBAAS,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEvB,uBAAe,GAAG,GAAG,CAAC;AACtB,gBAAQ,GAAG,GAAG,CAAC;AACf,eAAO,GAAG,GAAG,CAAC;AACd,yBAAiB,GAAG,GAAG,CAAC;AAExB,wBAAgB,GAAG,GAAG,CAAC;AACvB,iBAAS,GAAG,GAAG,CAAC;AAChB,eAAO,GAAG,GAAG,CAAC;AACd,yBAAiB,GAAG,GAAG,CAAC;AACxB,yBAAiB,GAAG,GAAG,CAAC;AACxB,uBAAe,GAAG,GAAG,CAAC;AAgCnC;IAOI,gBAAY,IAAc,EAAE,iBAAoC,EAAE,IAAY,EAAE,SAAiB;QAC7F,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACxB,CAAC;IAAA,CAAC;IAEF,qBAAI,GAAJ;QAAA,iBA2FC;QA1FG,IAAI,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACjD,IAAI,SAAiB,CAAC;QACtB,IAAI,gBAAwB,CAAC;QAE7B,IAAM,KAAK,GAAG;YACV,UAAU,CAAC,MAAM,CAAC;gBACd,IAAM,QAAQ,GAAG,KAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAElC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAC1B;oBACI,SAAS,EAAE,KAAI,CAAC,IAAI;oBACpB,SAAS,EAAE,KAAI,CAAC,SAAS;iBAC5B,CACJ,CAAC,CAAC;gBAGH,IAAM,aAAa,GAAG,UAAC,OAAe,EAAE,IAAY;oBAChD,UAAU,CAAC,IAAI,CACX,yBAAiB,GAAG,IAAI,CAAC,SAAS,CAC9B;wBACI,OAAO,EAAE,OAAO;wBAChB,IAAI,EAAE,IAAI;qBACb,CACJ,CACJ,CAAC;gBACN,CAAC,CAAC;gBAEF,KAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAClC,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAE/C,KAAI,CAAC,IAAI,CAAC,OAAO,CACb,UAAC,KAAa;oBACV,UAAU,CAAC,IAAI,CAAC,gBAAQ,GAAG,KAAK,CAAC,CAAC;gBACtC,CAAC,CACJ,CAAC;gBAEF,SAAS,GAAG,WAAW,CAAC;oBACpB,UAAU,CAAC,IAAI,CAAC,eAAO,CAAC;gBAC5B,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;YAElB,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,SAAS,CAAC,UAAC,IAAI;gBACtB,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9B,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACd,KAAK,iBAAS;wBACV,KAAI,CAAC,IAAI,CAAC,MAAM,CACZ,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,UAAS,CAAC;4BACjE,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACjE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CACf,CAAC;wBACF,KAAK,CAAC;oBACV,KAAK,eAAO;wBACR,KAAK,CAAC;oBACV,KAAK,yBAAiB;wBAClB,KAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;wBAClC,KAAK,CAAC;oBACV,KAAK,yBAAiB;wBAClB,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBACxC,KAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;wBACtC,KAAK,CAAC;oBACV,KAAK,uBAAe;wBAChB,IAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC1C,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,aAAa,GAAG,UAAU,CAAC;wBAChE,KAAI,CAAC,SAAS,GAAG,aAAa,CAAC;wBAC/B,KAAK,CAAC;gBACd,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,OAAO,CAAC;gBACf,aAAa,CAAC,SAAS,CAAC,CAAC;gBACzB,KAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACvB,KAAI,CAAC,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;gBAC9C,EAAE,CAAC,CAAC,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;oBACrB,gBAAgB,GAAG,UAAU,CAAC;wBAC1B,UAAU,GAAG,KAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;wBAC7C,KAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;wBAClB,KAAK,EAAE,CAAC;oBACZ,CAAC,EAAE,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;gBAC9B,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QAED,KAAK,EAAE,CAAC;QACR,MAAM,CAAC;YACH,YAAY,CAAC,gBAAgB,CAAC,CAAC;YAC/B,UAAU,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACL,CAAC;IAAA,CAAC;IACN,aAAC;AAAD,CAAC;AA3GY,wBAAM;AA2GlB,CAAC;;;;;;;;;;ACvJF,kCAA8B;AAE9B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAEtB;IAUI,eAAY,IAAiB;QAA7B,iBAqBC;QApBG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,eAAe,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAG3B,IAAI,CAAC,cAAc,GAAG;YAClB,KAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAChB,KAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC3B,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAI,CAAC,cAAc,CAAC,CAAC;QACjG,CAAC,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;YACjB,KAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAQ,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAA,CAAC;IAEF,oBAAI,GAAJ;QACI,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC7D,CAAC;IAAA,CAAC;IAEF,sBAAM,GAAN,UAAO,IAAY;QACf,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAA,CAAC;IAEF,2BAAW,GAAX,UAAY,OAAe,EAAE,OAAe;QAA5C,iBAYC;QAXG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC;QACD,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;gBAC3B,KAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC,EAAE,OAAO,CAAC,CAAC;QAChB,CAAC;IACL,CAAC;IAAA,CAAC;IAEF,6BAAa,GAAb;QACI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IAED,8BAAc,GAAd,UAAe,KAAa;QACxB,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3B,CAAC;IAAA,CAAC;IAEF,8BAAc,GAAd,UAAe,KAAa;IAC5B,CAAC;IAAA,CAAC;IAEF,uBAAO,GAAP,UAAQ,QAAiC;QACrC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,IAAI;YACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IAEP,CAAC;IAAA,CAAC;IAEF,wBAAQ,GAAR,UAAS,QAAiD;QACtD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAC,IAAI;YACxB,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;IAAA,CAAC;IAEF,0BAAU,GAAV;QACI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,qBAAK,GAAL;QACI,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,qBAAK,GAAL;QACI,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IACL,YAAC;AAAD,CAAC;AAhGY,sBAAK;;;;;;;;ACJlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,mBAAmB;AAC9B,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,EAAE,WAAW,EAAE,WAAW,EAAE;;AAEjD;AACA;AACA,2BAA2B,IAAI,YAAY,IAAI;AAC/C,eAAe,IAAI;AACnB;;AAEA;AACA;AACA;AACA,iBAAiB,IAAI,YAAY,IAAI,YAAY,IAAI;AACrD;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,IAAI,YAAY,IAAI,YAAY,IAAI;AACrD;AACA;;AAEA;AACA,6BAA6B,IAAI,aAAa,IAAI,aAAa,IAAI;;AAEnE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,gBAAgB;AAChB,iBAAiB;AACjB,kBAAkB;AAClB,iBAAiB;AACjB;;AAEA,kDAAkD,gBAAgB;AAClE;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2CAA2C,iCAAiC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,IAAI;AACf;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,4BAA4B,uBAAuB;AACnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA,oBAAoB,+BAA+B;;AAEnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,sBAAsB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,kBAAkB;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,8CAA8C;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,8CAA8C;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,0BAA0B;;AAE9C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,wCAAwC;AACnD;AACA;AACA,WAAW,8CAA8C;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB,kCAAkC;AACnD;;AAEA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS,kBAAkB,aAAa,WAAW,kBAAkB;AAC9E;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,YAAY,OAAO;AACnB;AACA;AACA;AACA,aAAa;AACb,eAAe;AACf,cAAc;AACd;;AAEA,iBAAiB,cAAc;AAC/B;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,iBAAiB,cAAc;AAC/B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,iBAAiB,uBAAuB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA,uBAAuB,qDAAqD;AAC5E;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;AACA;AACA;;AAEA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;;AAEA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW;AACX;AACA;AACA;AACA;;AAEA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;;AAEZ;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,SAAS;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,qBAAqB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS;AACtC;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,WAAW,OAAO;AAClB;AACA,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA,YAAY,IAAI;AAChB;AACA;AACA;AACA;;AAEA,iBAAiB,6CAA6C;AAC9D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA,WAAW,qBAAqB;AAChC;AACA,WAAW,qBAAqB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD,2BAA2B;AAC3E;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ,kDAAkD;AACtE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;;AAEA,iCAAiC,yBAAyB;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC,cAAc;AAClD,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL,sCAAsC,eAAe;AACrD;AACA;AACA,CAAC;;AAED;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6DAA6D,eAAe;;AAE5E;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC,eAAe,OAAO;AACtB,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,0BAA0B,wCAAwC,EAAE;AAC3E;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,0CAA0C,uBAAuB;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,0BAA0B;AAC1B,qBAAqB;AACrB,8BAA8B;AAC9B,gBAAgB;AAChB,gBAAgB;AAChB,kBAAkB;AAClB,mBAAmB;AACnB,uBAAuB;AACvB,uBAAuB;AACvB,uEAAuE;AACvE,qEAAqE;;AAErE;AACA;AACA;AACA;AACA,uBAAuB;AACvB,mCAAmC;AACnC,sCAAsC;AACtC,uEAAuE;AACvE,4DAA4D;AAC5D,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B,2BAA2B;AAC3B,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd,KAAK;AACL,cAAc;AACd;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,eAAe;;AAEf;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,WAAW,iCAAiC;AAC5C,WAAW,yCAAyC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,mDAAmD;AACnD;AACA;AACA,oBAAoB,0BAA0B;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;;AAEpB;AACA,iBAAiB,yBAAyB,uBAAuB;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,0CAA0C;AACrE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC,WAAW,0BAA0B;AACrC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,YAAY;;AAEZ;AACA,YAAY;;AAEZ;AACA,YAAY;;;AAGZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,EAAE;AAChD;AACA,KAAK;AACL;AACA,8CAA8C,EAAE;AAChD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,+CAA+C;AAC/C,GAAG;AACH,yBAAyB;AACzB,GAAG;AACH,qBAAqB;AACrB,GAAG;AACH,qBAAqB;AACrB,GAAG;AACH,sBAAsB;AACtB,GAAG;AACH,mBAAmB;AACnB,GAAG;AACH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,KAAK;AACb,oBAAoB;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sDAAsD,yBAAyB;AAC/E;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,oBAAoB;AAC/B;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,YAAY,MAAM;AAClB;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB,oBAAoB;AACpB,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB,oBAAoB;AACpB,oBAAoB;AACpB,mBAAmB;AACnB,wBAAwB;AACxB,+CAA+C;AAC/C,iCAAiC;AACjC,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd,wBAAwB;AACxB,8CAA8C;AAC9C,mDAAmD;AACnD,QAAQ;AACR;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,sBAAsB;AACtB,8BAA8B;AAC9B,uBAAuB;AACvB,oCAAoC;AACpC,oBAAoB;AACpB,0BAA0B,oBAAoB;AAC9C,wBAAwB;AACxB,mBAAmB;AACnB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,uBAAuB;AACvB,wBAAwB;AACxB,iCAAiC;AACjC,8BAA8B;AAC9B;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB,wBAAwB;AACxB,4CAA4C;AAC5C,wBAAwB;;AAExB;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,cAAc;AACd,eAAe;AACf;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,iBAAiB;AACjB,gBAAgB;AAChB,eAAe;AACf,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,gBAAgB;AAChB,iBAAiB;AACjB,4BAA4B;AAC5B,iCAAiC;AACjC,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,yBAAyB,6BAA6B;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,mBAAmB;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,6BAA6B;AAC9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B,gCAAgC;AAC7D;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,8DAA8D;AAC9D;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,8BAA8B,wBAAwB,EAAE;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA,SAAS,WAAW,EAAE,KAAK;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C;AAC7C;AACA,8BAA8B;AAC9B,GAAG;AACH,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,2CAA2C,QAAQ;AACnD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,kDAAkD,cAAc;;AAEhE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC,iCAAiC;AACjC,mDAAmD;AACnD,4BAA4B;AAC5B,8BAA8B;AAC9B,SAAS;AACT,kBAAkB;AAClB,gCAAgC;AAChC,6BAA6B;AAC7B,uDAAuD;AACvD,oDAAoD;AACpD,SAAS;AACT,eAAe;AACf,iFAAiF;AACjF,mFAAmF;AACnF,uCAAuC;AACvC,uCAAuC;AACvC,4CAA4C;AAC5C,0CAA0C;AAC1C,gDAAgD;AAChD,qEAAqE;AACrE,SAAS;AACT,0BAA0B;AAC1B,gBAAgB,cAAc,EAAE;AAChC,cAAc,cAAc,EAAE;AAC9B,SAAS;AACT,qBAAqB;AACrB,gCAAgC;AAChC,+DAA+D;AAC/D,8CAA8C;AAC9C,iDAAiD;AACjD,yCAAyC;AACzC,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,iFAAiF;AACjF,iFAAiF;AACjF,uBAAuB;AACvB,2CAA2C;AAC3C,6CAA6C;AAC7C,mEAAmE;AACnE,gEAAgE;;AAEhE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,mBAAmB;AACnB,uBAAuB;AACvB,oBAAoB;AACpB,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB;AACA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,mBAAmB,mBAAmB;AACtC;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA,mBAAmB,8BAA8B;AACjD,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B,gCAAgC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,6BAA6B;AACtC,SAAS,qCAAqC;AAC9C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB,mCAAmC;AACnC,0BAA0B;AAC1B,4BAA4B;AAC5B,uBAAuB;AACvB,0CAA0C;AAC1C,oBAAoB;AACpB,sBAAsB;AACtB,4BAA4B;AAC5B,wCAAwC;AACxC,mCAAmC;AACnC,qCAAqC;AACrC,gCAAgC;;AAEhC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B,uBAAuB;AACvB,0CAA0C;AAC1C,4BAA4B;AAC5B,mCAAmC;AACnC,mDAAmD;AACnD,gCAAgC;AAChC,gDAAgD;;AAEhD;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,8BAA8B;AAC9B,0BAA0B;AAC1B;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,4BAA4B,WAAW;AACvC,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,qBAAqB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,IAAI;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,GAAG,kBAAkB;AACrB;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,GAAG;AACH;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,GAAG,uBAAuB;AAC1B;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC,UAAU,OAAO;AACvD;AACA,wCAAwC;;AAExC;AACA;AACA;;AAEA,0BAA0B,wBAAwB;AAClD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC,yBAAyB;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,uDAAuD;AACvD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA;AACA,gBAAgB,MAAM;AACtB;AACA,0CAA0C,GAAG,IAAI,KAAK;AACtD;AACA;AACA;AACA;AACA,oBAAoB,gCAAgC;AACpD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,IAAI;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,4BAA4B;AAC7C;;AAEA;AACA,qBAAqB;AACrB;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,qBAAqB;AAC5B;AACA,OAAO,sBAAsB;AAC7B;AACA;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA,OAAO,sBAAsB;AAC7B;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,OAAO;AACP;;AAEA,OAAO;AACP;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA,KAAK;AACL;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC,0BAA0B;AACnE;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C,oBAAoB;AAC9D;AACA;AACA;AACA,6CAA6C,IAAI,IAAI;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH,0CAA0C,EAAE,EAAE;AAC9C,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,sBAAsB;AACjC;AACA;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,4BAA4B;AAC5B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA,KAAK;AACL,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC9jjBA,sCAAgC;AAChC,sCAAgC;AAChC,uCAAuD;AACvD,0CAAgD;AAMhD,IAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;AAEhD,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;IAChB,IAAI,IAAc,CAAC;IACnB,EAAE,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC;QACxB,IAAI,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,IAAI,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,IAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAC1D,IAAM,GAAG,GAAG,CAAC,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzG,IAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IACpC,IAAM,OAAO,GAAG,IAAI,6BAAiB,CAAC,GAAG,EAAE,kBAAS,CAAC,CAAC;IACtD,IAAM,EAAE,GAAG,IAAI,eAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC7D,IAAM,QAAM,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAEzB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAC9B,QAAM,EAAE,CAAC;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC;AAAA,CAAC;;;;;;;;AC7BF;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,8CAA8C,EAAE;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC5HA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,uDAAuD,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,yBAAyB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,IAAI;AACxE;AACA;AACA,qEAAqE,GAAG;AACxE;AACA;AACA;AACA;AACA;AACA,qEAAqE,MAAM;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,GAAG,qBAAqB;;AAEzB;;;;;;;;ACx6BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B,sBAAsB,IAAI,KAAK,EAAE,IAAI,IAAI;AACzC;AACA,wBAAwB,IAAI;AAC5B;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,gBAAgB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,mCAAmC,yBAAyB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,4BAA4B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;;;;;;;ACzOA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA,2EAA2E,uBAAuB;AAClG,0EAA0E,2BAA2B;AACrG;AACA;AACA,0EAA0E,iCAAiC;AAC3G,0EAA0E,4BAA4B;AACtG,0EAA0E,sBAAsB;AAChG,0EAA0E,2BAA2B;AACrG,0EAA0E,0BAA0B;AACpG,2EAA2E,6CAA6C;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,4CAA4C;AAC/G;AACA,+CAA+C,8BAA8B;AAC7E,+CAA+C,8BAA8B;AAC7E,+CAA+C,8BAA8B;AAC7E,+CAA+C,gDAAgD;AAC/F,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,oDAAoD;AACnG,+CAA+C,+BAA+B;AAC9E,+CAA+C,+BAA+B;AAC9E,+CAA+C,+BAA+B;AAC9E,gDAAgD,gCAAgC;AAChF,uBAAuB,wBAAwB,+BAA+B;AAC9E,oEAAoE,4CAA4C;AAChH;AACA,2DAA2D,oCAAoC;AAC/F,2DAA2D,iCAAiC;AAC5F,2DAA2D,mCAAmC;AAC9F,2DAA2D,sCAAsC;AACjG,2DAA2D,uCAAuC;AAClG,2DAA2D,uCAAuC;AAClG,2DAA2D,4CAA4C;AACvG,2DAA2D,2CAA2C;AACtG,2DAA2D,uCAAuC;AAClG,2DAA2D,yCAAyC;AACpG,2DAA2D,uCAAuC;AAClG,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,oCAAoC;AAC/F,2DAA2D,iCAAiC;AAC5F;AACA;AACA;AACA;AACA;AACA,2DAA2D,mCAAmC;AAC9F,2DAA2D,0CAA0C;AACrG,2DAA2D,wCAAwC;AACnG,2DAA2D,0CAA0C;AACrG,2DAA2D,iDAAiD;AAC5G,2DAA2D,6CAA6C;AACxG,2DAA2D,wCAAwC;AACnG,2DAA2D,0CAA0C;AACrG,2DAA2D,mCAAmC;AAC9F,2DAA2D,iCAAiC;AAC5F,2DAA2D,gCAAgC;AAC3F,2DAA2D,kCAAkC;AAC7F,2DAA2D,uCAAuC;AAClG,2DAA2D,qCAAqC;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,wCAAwC;AAC3F,mDAAmD,mCAAmC;AACtF,mDAAmD,sCAAsC;AACzF,iGAAiG,4CAA4C;AAC7I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AC7dA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sBAAsB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,yBAAyB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mCAAmC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,0DAA0D;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrRA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,8BAA8B;AACpF,oDAAoD,kCAAkC;AACtF,oDAAoD,kCAAkC;AACtF,kDAAkD,gCAAgC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,iBAAiB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAoF,yBAAyB,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6EAA6E;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,4BAA4B,EAAE;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;ACrZA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;ACxEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uB;;;;;;AC7BA,kBAAkB,wD;;;;;;ACAlB,kBAAkB,kD;;;;;;;;;;;;ACAlB,kBAAkB,gE;;;;;;ACAlB,kBAAkB,8D;;;;;;;ACAlB;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpEA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,2BAA2B,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AClEA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,2BAA2B,yCAAyC;AACpE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,0CAA0C,eAAe;AACzD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,+BAA+B,gCAAgC;AAC/D;AACA;AACA;AACA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;;;;;;AClKA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;;;;;;;AC5CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;;AAEA","file":"./dist/gotty-bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 15);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap d69371b1ba8b46cfaccb","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CompositionHelper_1 = require(\"./CompositionHelper\");\nvar EventEmitter_1 = require(\"./EventEmitter\");\nvar Viewport_1 = require(\"./Viewport\");\nvar Clipboard_1 = require(\"./handlers/Clipboard\");\nvar CircularList_1 = require(\"./utils/CircularList\");\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar InputHandler_1 = require(\"./InputHandler\");\nvar Parser_1 = require(\"./Parser\");\nvar Renderer_1 = require(\"./Renderer\");\nvar Linkifier_1 = require(\"./Linkifier\");\nvar SelectionManager_1 = require(\"./SelectionManager\");\nvar CharMeasure_1 = require(\"./utils/CharMeasure\");\nvar Browser = require(\"./utils/Browser\");\nvar Mouse_1 = require(\"./utils/Mouse\");\nvar document = (typeof window != 'undefined') ? window.document : null;\nvar WRITE_BUFFER_PAUSE_THRESHOLD = 5;\nvar WRITE_BATCH_SIZE = 300;\nvar CURSOR_BLINK_INTERVAL = 600;\nfunction Terminal(options) {\n var self = this;\n if (!(this instanceof Terminal)) {\n return new Terminal(arguments[0], arguments[1], arguments[2]);\n }\n self.browser = Browser;\n self.cancel = Terminal.cancel;\n EventEmitter_1.EventEmitter.call(this);\n if (typeof options === 'number') {\n options = {\n cols: arguments[0],\n rows: arguments[1],\n handler: arguments[2]\n };\n }\n options = options || {};\n Object.keys(Terminal.defaults).forEach(function (key) {\n if (options[key] == null) {\n options[key] = Terminal.options[key];\n if (Terminal[key] !== Terminal.defaults[key]) {\n options[key] = Terminal[key];\n }\n }\n self[key] = options[key];\n });\n if (options.colors.length === 8) {\n options.colors = options.colors.concat(Terminal._colors.slice(8));\n }\n else if (options.colors.length === 16) {\n options.colors = options.colors.concat(Terminal._colors.slice(16));\n }\n else if (options.colors.length === 10) {\n options.colors = options.colors.slice(0, -2).concat(Terminal._colors.slice(8, -2), options.colors.slice(-2));\n }\n else if (options.colors.length === 18) {\n options.colors = options.colors.concat(Terminal._colors.slice(16, -2), options.colors.slice(-2));\n }\n this.colors = options.colors;\n this.options = options;\n this.parent = options.body || options.parent || (document ? document.getElementsByTagName('body')[0] : null);\n this.cols = options.cols || options.geometry[0];\n this.rows = options.rows || options.geometry[1];\n this.geometry = [this.cols, this.rows];\n if (options.handler) {\n this.on('data', options.handler);\n }\n this.ybase = 0;\n this.ydisp = 0;\n this.x = 0;\n this.y = 0;\n this.cursorState = 0;\n this.cursorHidden = false;\n this.convertEol;\n this.queue = '';\n this.scrollTop = 0;\n this.scrollBottom = this.rows - 1;\n this.customKeyEventHandler = null;\n this.cursorBlinkInterval = null;\n this.applicationKeypad = false;\n this.applicationCursor = false;\n this.originMode = false;\n this.insertMode = false;\n this.wraparoundMode = true;\n this.normal = null;\n this.charset = null;\n this.gcharset = null;\n this.glevel = 0;\n this.charsets = [null];\n this.decLocator;\n this.x10Mouse;\n this.vt200Mouse;\n this.vt300Mouse;\n this.normalMouse;\n this.mouseEvents;\n this.sendFocus;\n this.utfMouse;\n this.sgrMouse;\n this.urxvtMouse;\n this.element;\n this.children;\n this.refreshStart;\n this.refreshEnd;\n this.savedX;\n this.savedY;\n this.savedCols;\n this.readable = true;\n this.writable = true;\n this.defAttr = (0 << 18) | (257 << 9) | (256 << 0);\n this.curAttr = this.defAttr;\n this.params = [];\n this.currentParam = 0;\n this.prefix = '';\n this.postfix = '';\n this.inputHandler = new InputHandler_1.InputHandler(this);\n this.parser = new Parser_1.Parser(this.inputHandler, this);\n this.renderer = this.renderer || null;\n this.selectionManager = this.selectionManager || null;\n this.linkifier = this.linkifier || new Linkifier_1.Linkifier();\n this.writeBuffer = [];\n this.writeInProgress = false;\n this.xoffSentToCatchUp = false;\n this.writeStopped = false;\n this.surrogate_high = '';\n this.lines = new CircularList_1.CircularList(this.scrollback);\n var i = this.rows;\n while (i--) {\n this.lines.push(this.blankLine());\n }\n if (this.selectionManager) {\n this.selectionManager.setBuffer(this.lines);\n }\n this.tabs;\n this.setupStops();\n this.userScrolling = false;\n}\ninherits(Terminal, EventEmitter_1.EventEmitter);\nTerminal.prototype.eraseAttr = function () {\n return (this.defAttr & ~0x1ff) | (this.curAttr & 0x1ff);\n};\nTerminal.tangoColors = [\n '#2e3436',\n '#cc0000',\n '#4e9a06',\n '#c4a000',\n '#3465a4',\n '#75507b',\n '#06989a',\n '#d3d7cf',\n '#555753',\n '#ef2929',\n '#8ae234',\n '#fce94f',\n '#729fcf',\n '#ad7fa8',\n '#34e2e2',\n '#eeeeec'\n];\nTerminal.colors = (function () {\n var colors = Terminal.tangoColors.slice(), r = [0x00, 0x5f, 0x87, 0xaf, 0xd7, 0xff], i;\n i = 0;\n for (; i < 216; i++) {\n out(r[(i / 36) % 6 | 0], r[(i / 6) % 6 | 0], r[i % 6]);\n }\n i = 0;\n for (; i < 24; i++) {\n r = 8 + i * 10;\n out(r, r, r);\n }\n function out(r, g, b) {\n colors.push('#' + hex(r) + hex(g) + hex(b));\n }\n function hex(c) {\n c = c.toString(16);\n return c.length < 2 ? '0' + c : c;\n }\n return colors;\n})();\nTerminal._colors = Terminal.colors.slice();\nTerminal.vcolors = (function () {\n var out = [], colors = Terminal.colors, i = 0, color;\n for (; i < 256; i++) {\n color = parseInt(colors[i].substring(1), 16);\n out.push([\n (color >> 16) & 0xff,\n (color >> 8) & 0xff,\n color & 0xff\n ]);\n }\n return out;\n})();\nTerminal.defaults = {\n colors: Terminal.colors,\n theme: 'default',\n convertEol: false,\n termName: 'xterm',\n geometry: [80, 24],\n cursorBlink: false,\n cursorStyle: 'block',\n visualBell: false,\n popOnBell: false,\n scrollback: 1000,\n screenKeys: false,\n debug: false,\n cancelEvents: false,\n disableStdin: false,\n useFlowControl: false,\n tabStopWidth: 8\n};\nTerminal.options = {};\nTerminal.focus = null;\neach(keys(Terminal.defaults), function (key) {\n Terminal[key] = Terminal.defaults[key];\n Terminal.options[key] = Terminal.defaults[key];\n});\nTerminal.prototype.focus = function () {\n return this.textarea.focus();\n};\nTerminal.prototype.getOption = function (key, value) {\n if (!(key in Terminal.defaults)) {\n throw new Error('No option with key \"' + key + '\"');\n }\n if (typeof this.options[key] !== 'undefined') {\n return this.options[key];\n }\n return this[key];\n};\nTerminal.prototype.setOption = function (key, value) {\n if (!(key in Terminal.defaults)) {\n throw new Error('No option with key \"' + key + '\"');\n }\n switch (key) {\n case 'scrollback':\n if (value < this.rows) {\n var msg = 'Setting the scrollback value less than the number of rows ';\n msg += \"(\" + this.rows + \") is not allowed.\";\n console.warn(msg);\n return false;\n }\n if (this.options[key] !== value) {\n if (this.lines.length > value) {\n var amountToTrim = this.lines.length - value;\n var needsRefresh = (this.ydisp - amountToTrim < 0);\n this.lines.trimStart(amountToTrim);\n this.ybase = Math.max(this.ybase - amountToTrim, 0);\n this.ydisp = Math.max(this.ydisp - amountToTrim, 0);\n if (needsRefresh) {\n this.refresh(0, this.rows - 1);\n }\n }\n this.lines.maxLength = value;\n this.viewport.syncScrollArea();\n }\n break;\n }\n this[key] = value;\n this.options[key] = value;\n switch (key) {\n case 'cursorBlink':\n this.setCursorBlinking(value);\n break;\n case 'cursorStyle':\n this.element.classList.toggle(\"xterm-cursor-style-underline\", value === 'underline');\n this.element.classList.toggle(\"xterm-cursor-style-bar\", value === 'bar');\n break;\n case 'tabStopWidth':\n this.setupStops();\n break;\n }\n};\nTerminal.prototype.restartCursorBlinking = function () {\n this.setCursorBlinking(this.options.cursorBlink);\n};\nTerminal.prototype.setCursorBlinking = function (enabled) {\n this.element.classList.toggle('xterm-cursor-blink', enabled);\n this.clearCursorBlinkingInterval();\n if (enabled) {\n var self = this;\n this.cursorBlinkInterval = setInterval(function () {\n self.element.classList.toggle('xterm-cursor-blink-on');\n }, CURSOR_BLINK_INTERVAL);\n }\n};\nTerminal.prototype.clearCursorBlinkingInterval = function () {\n this.element.classList.remove('xterm-cursor-blink-on');\n if (this.cursorBlinkInterval) {\n clearInterval(this.cursorBlinkInterval);\n this.cursorBlinkInterval = null;\n }\n};\nTerminal.bindFocus = function (term) {\n on(term.textarea, 'focus', function (ev) {\n if (term.sendFocus) {\n term.send(EscapeSequences_1.C0.ESC + '[I');\n }\n term.element.classList.add('focus');\n term.showCursor();\n term.restartCursorBlinking.apply(term);\n Terminal.focus = term;\n term.emit('focus', { terminal: term });\n });\n};\nTerminal.prototype.blur = function () {\n return this.textarea.blur();\n};\nTerminal.bindBlur = function (term) {\n on(term.textarea, 'blur', function (ev) {\n term.refresh(term.y, term.y);\n if (term.sendFocus) {\n term.send(EscapeSequences_1.C0.ESC + '[O');\n }\n term.element.classList.remove('focus');\n term.clearCursorBlinkingInterval.apply(term);\n Terminal.focus = null;\n term.emit('blur', { terminal: term });\n });\n};\nTerminal.prototype.initGlobal = function () {\n var _this = this;\n var term = this;\n Terminal.bindKeys(this);\n Terminal.bindFocus(this);\n Terminal.bindBlur(this);\n on(this.element, 'copy', function (event) {\n if (_this.mouseEvents) {\n return;\n }\n Clipboard_1.copyHandler(event, term, _this.selectionManager);\n });\n var pasteHandlerWrapper = function (event) { return Clipboard_1.pasteHandler(event, term); };\n on(this.textarea, 'paste', pasteHandlerWrapper);\n on(this.element, 'paste', pasteHandlerWrapper);\n if (term.browser.isFirefox) {\n on(this.element, 'mousedown', function (event) {\n if (event.button == 2) {\n Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager);\n }\n });\n }\n else {\n on(this.element, 'contextmenu', function (event) {\n Clipboard_1.rightClickHandler(event, _this.textarea, _this.selectionManager);\n });\n }\n if (term.browser.isLinux) {\n on(this.element, 'auxclick', function (event) {\n if (event.button === 1) {\n Clipboard_1.moveTextAreaUnderMouseCursor(event, _this.textarea, _this.selectionManager);\n }\n });\n }\n};\nTerminal.bindKeys = function (term) {\n on(term.element, 'keydown', function (ev) {\n if (document.activeElement != this) {\n return;\n }\n term.keyDown(ev);\n }, true);\n on(term.element, 'keypress', function (ev) {\n if (document.activeElement != this) {\n return;\n }\n term.keyPress(ev);\n }, true);\n on(term.element, 'keyup', function (ev) {\n if (!wasMondifierKeyOnlyEvent(ev)) {\n term.focus(term);\n }\n }, true);\n on(term.textarea, 'keydown', function (ev) {\n term.keyDown(ev);\n }, true);\n on(term.textarea, 'keypress', function (ev) {\n term.keyPress(ev);\n this.value = '';\n }, true);\n on(term.textarea, 'compositionstart', term.compositionHelper.compositionstart.bind(term.compositionHelper));\n on(term.textarea, 'compositionupdate', term.compositionHelper.compositionupdate.bind(term.compositionHelper));\n on(term.textarea, 'compositionend', term.compositionHelper.compositionend.bind(term.compositionHelper));\n term.on('refresh', term.compositionHelper.updateCompositionElements.bind(term.compositionHelper));\n term.on('refresh', function (data) {\n term.queueLinkification(data.start, data.end);\n });\n};\nTerminal.prototype.insertRow = function (row) {\n if (typeof row != 'object') {\n row = document.createElement('div');\n }\n this.rowContainer.appendChild(row);\n this.children.push(row);\n return row;\n};\nTerminal.prototype.open = function (parent, focus) {\n var _this = this;\n var self = this, i = 0, div;\n this.parent = parent || this.parent;\n if (!this.parent) {\n throw new Error('Terminal requires a parent element.');\n }\n this.context = this.parent.ownerDocument.defaultView;\n this.document = this.parent.ownerDocument;\n this.body = this.document.getElementsByTagName('body')[0];\n this.element = this.document.createElement('div');\n this.element.classList.add('terminal');\n this.element.classList.add('xterm');\n this.element.classList.add('xterm-theme-' + this.theme);\n this.setCursorBlinking(this.options.cursorBlink);\n this.element.setAttribute('tabindex', 0);\n this.viewportElement = document.createElement('div');\n this.viewportElement.classList.add('xterm-viewport');\n this.element.appendChild(this.viewportElement);\n this.viewportScrollArea = document.createElement('div');\n this.viewportScrollArea.classList.add('xterm-scroll-area');\n this.viewportElement.appendChild(this.viewportScrollArea);\n this.selectionContainer = document.createElement('div');\n this.selectionContainer.classList.add('xterm-selection');\n this.element.appendChild(this.selectionContainer);\n this.rowContainer = document.createElement('div');\n this.rowContainer.classList.add('xterm-rows');\n this.element.appendChild(this.rowContainer);\n this.children = [];\n this.linkifier.attachToDom(document, this.children);\n this.helperContainer = document.createElement('div');\n this.helperContainer.classList.add('xterm-helpers');\n this.element.appendChild(this.helperContainer);\n this.textarea = document.createElement('textarea');\n this.textarea.classList.add('xterm-helper-textarea');\n this.textarea.setAttribute('autocorrect', 'off');\n this.textarea.setAttribute('autocapitalize', 'off');\n this.textarea.setAttribute('spellcheck', 'false');\n this.textarea.tabIndex = 0;\n this.textarea.addEventListener('focus', function () {\n self.emit('focus', { terminal: self });\n });\n this.textarea.addEventListener('blur', function () {\n self.emit('blur', { terminal: self });\n });\n this.helperContainer.appendChild(this.textarea);\n this.compositionView = document.createElement('div');\n this.compositionView.classList.add('composition-view');\n this.compositionHelper = new CompositionHelper_1.CompositionHelper(this.textarea, this.compositionView, this);\n this.helperContainer.appendChild(this.compositionView);\n this.charSizeStyleElement = document.createElement('style');\n this.helperContainer.appendChild(this.charSizeStyleElement);\n for (; i < this.rows; i++) {\n this.insertRow();\n }\n this.parent.appendChild(this.element);\n this.charMeasure = new CharMeasure_1.CharMeasure(document, this.helperContainer);\n this.charMeasure.on('charsizechanged', function () {\n self.updateCharSizeStyles();\n });\n this.charMeasure.measure();\n this.viewport = new Viewport_1.Viewport(this, this.viewportElement, this.viewportScrollArea, this.charMeasure);\n this.renderer = new Renderer_1.Renderer(this);\n this.selectionManager = new SelectionManager_1.SelectionManager(this, this.lines, this.rowContainer, this.charMeasure);\n this.selectionManager.on('refresh', function (data) {\n _this.renderer.refreshSelection(data.start, data.end);\n });\n this.selectionManager.on('newselection', function (text) {\n _this.textarea.value = text;\n _this.textarea.focus();\n _this.textarea.select();\n });\n this.on('scroll', function () { return _this.selectionManager.refresh(); });\n this.viewportElement.addEventListener('scroll', function () { return _this.selectionManager.refresh(); });\n this.refresh(0, this.rows - 1);\n this.initGlobal();\n if (typeof focus == 'undefined') {\n var message = 'You did not pass the `focus` argument in `Terminal.prototype.open()`.\\n';\n message += 'The `focus` argument now defaults to `true` but starting with xterm.js 3.0 ';\n message += 'it will default to `false`.';\n console.warn(message);\n focus = true;\n }\n if (focus) {\n this.focus();\n }\n on(this.element, 'click', function () {\n var selection = document.getSelection(), collapsed = selection.isCollapsed, isRange = typeof collapsed == 'boolean' ? !collapsed : selection.type == 'Range';\n if (!isRange) {\n self.focus();\n }\n });\n this.bindMouse();\n this.emit('open');\n};\nTerminal.loadAddon = function (addon, callback) {\n if (typeof exports === 'object' && typeof module === 'object') {\n return require('./addons/' + addon + '/' + addon);\n }\n else if (typeof define == 'function') {\n return require(['./addons/' + addon + '/' + addon], callback);\n }\n else {\n console.error('Cannot load a module without a CommonJS or RequireJS environment.');\n return false;\n }\n};\nTerminal.prototype.updateCharSizeStyles = function () {\n this.charSizeStyleElement.textContent =\n \".xterm-wide-char{width:\" + this.charMeasure.width * 2 + \"px;}\" +\n (\".xterm-normal-char{width:\" + this.charMeasure.width + \"px;}\") +\n (\".xterm-rows > div{height:\" + this.charMeasure.height + \"px;}\");\n};\nTerminal.prototype.bindMouse = function () {\n var el = this.element, self = this, pressed = 32;\n function sendButton(ev) {\n var button, pos;\n button = getButton(ev);\n pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows);\n if (!pos)\n return;\n sendEvent(button, pos);\n switch (ev.overrideType || ev.type) {\n case 'mousedown':\n pressed = button;\n break;\n case 'mouseup':\n pressed = 32;\n break;\n case 'wheel':\n break;\n }\n }\n function sendMove(ev) {\n var button = pressed, pos;\n pos = Mouse_1.getRawByteCoords(ev, self.rowContainer, self.charMeasure, self.cols, self.rows);\n if (!pos)\n return;\n button += 32;\n sendEvent(button, pos);\n }\n function encode(data, ch) {\n if (!self.utfMouse) {\n if (ch === 255)\n return data.push(0);\n if (ch > 127)\n ch = 127;\n data.push(ch);\n }\n else {\n if (ch === 2047)\n return data.push(0);\n if (ch < 127) {\n data.push(ch);\n }\n else {\n if (ch > 2047)\n ch = 2047;\n data.push(0xC0 | (ch >> 6));\n data.push(0x80 | (ch & 0x3F));\n }\n }\n }\n function sendEvent(button, pos) {\n if (self.vt300Mouse) {\n button &= 3;\n pos.x -= 32;\n pos.y -= 32;\n var data = EscapeSequences_1.C0.ESC + '[24';\n if (button === 0)\n data += '1';\n else if (button === 1)\n data += '3';\n else if (button === 2)\n data += '5';\n else if (button === 3)\n return;\n else\n data += '0';\n data += '~[' + pos.x + ',' + pos.y + ']\\r';\n self.send(data);\n return;\n }\n if (self.decLocator) {\n button &= 3;\n pos.x -= 32;\n pos.y -= 32;\n if (button === 0)\n button = 2;\n else if (button === 1)\n button = 4;\n else if (button === 2)\n button = 6;\n else if (button === 3)\n button = 3;\n self.send(EscapeSequences_1.C0.ESC + '['\n + button\n + ';'\n + (button === 3 ? 4 : 0)\n + ';'\n + pos.y\n + ';'\n + pos.x\n + ';'\n + (pos.page || 0)\n + '&w');\n return;\n }\n if (self.urxvtMouse) {\n pos.x -= 32;\n pos.y -= 32;\n pos.x++;\n pos.y++;\n self.send(EscapeSequences_1.C0.ESC + '[' + button + ';' + pos.x + ';' + pos.y + 'M');\n return;\n }\n if (self.sgrMouse) {\n pos.x -= 32;\n pos.y -= 32;\n self.send(EscapeSequences_1.C0.ESC + '[<'\n + (((button & 3) === 3 ? button & ~3 : button) - 32)\n + ';'\n + pos.x\n + ';'\n + pos.y\n + ((button & 3) === 3 ? 'm' : 'M'));\n return;\n }\n var data = [];\n encode(data, button);\n encode(data, pos.x);\n encode(data, pos.y);\n self.send(EscapeSequences_1.C0.ESC + '[M' + String.fromCharCode.apply(String, data));\n }\n function getButton(ev) {\n var button, shift, meta, ctrl, mod;\n switch (ev.overrideType || ev.type) {\n case 'mousedown':\n button = ev.button != null\n ? +ev.button\n : ev.which != null\n ? ev.which - 1\n : null;\n if (self.browser.isMSIE) {\n button = button === 1 ? 0 : button === 4 ? 1 : button;\n }\n break;\n case 'mouseup':\n button = 3;\n break;\n case 'DOMMouseScroll':\n button = ev.detail < 0\n ? 64\n : 65;\n break;\n case 'wheel':\n button = ev.wheelDeltaY > 0\n ? 64\n : 65;\n break;\n }\n shift = ev.shiftKey ? 4 : 0;\n meta = ev.metaKey ? 8 : 0;\n ctrl = ev.ctrlKey ? 16 : 0;\n mod = shift | meta | ctrl;\n if (self.vt200Mouse) {\n mod &= ctrl;\n }\n else if (!self.normalMouse) {\n mod = 0;\n }\n button = (32 + (mod << 2)) + button;\n return button;\n }\n on(el, 'mousedown', function (ev) {\n if (!self.mouseEvents)\n return;\n sendButton(ev);\n self.focus();\n if (self.vt200Mouse) {\n ev.overrideType = 'mouseup';\n sendButton(ev);\n return self.cancel(ev);\n }\n if (self.normalMouse)\n on(self.document, 'mousemove', sendMove);\n if (!self.x10Mouse) {\n on(self.document, 'mouseup', function up(ev) {\n sendButton(ev);\n if (self.normalMouse)\n off(self.document, 'mousemove', sendMove);\n off(self.document, 'mouseup', up);\n return self.cancel(ev);\n });\n }\n return self.cancel(ev);\n });\n on(el, 'wheel', function (ev) {\n if (!self.mouseEvents)\n return;\n if (self.x10Mouse\n || self.vt300Mouse\n || self.decLocator)\n return;\n sendButton(ev);\n return self.cancel(ev);\n });\n on(el, 'wheel', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onWheel(ev);\n return self.cancel(ev);\n });\n on(el, 'touchstart', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onTouchStart(ev);\n return self.cancel(ev);\n });\n on(el, 'touchmove', function (ev) {\n if (self.mouseEvents)\n return;\n self.viewport.onTouchMove(ev);\n return self.cancel(ev);\n });\n};\nTerminal.prototype.destroy = function () {\n this.readable = false;\n this.writable = false;\n this._events = {};\n this.handler = function () { };\n this.write = function () { };\n if (this.element && this.element.parentNode) {\n this.element.parentNode.removeChild(this.element);\n }\n};\nTerminal.prototype.refresh = function (start, end) {\n if (this.renderer) {\n this.renderer.queueRefresh(start, end);\n }\n};\nTerminal.prototype.queueLinkification = function (start, end) {\n if (this.linkifier) {\n for (var i = start; i <= end; i++) {\n this.linkifier.linkifyRow(i);\n }\n }\n};\nTerminal.prototype.showCursor = function () {\n if (!this.cursorState) {\n this.cursorState = 1;\n this.refresh(this.y, this.y);\n }\n};\nTerminal.prototype.scroll = function (isWrapped) {\n var row;\n if (this.lines.length === this.lines.maxLength) {\n this.lines.trimStart(1);\n this.ybase--;\n if (this.ydisp !== 0) {\n this.ydisp--;\n }\n }\n this.ybase++;\n if (!this.userScrolling) {\n this.ydisp = this.ybase;\n }\n row = this.ybase + this.rows - 1;\n row -= this.rows - 1 - this.scrollBottom;\n if (row === this.lines.length) {\n this.lines.push(this.blankLine(undefined, isWrapped));\n }\n else {\n this.lines.splice(row, 0, this.blankLine(undefined, isWrapped));\n }\n if (this.scrollTop !== 0) {\n if (this.ybase !== 0) {\n this.ybase--;\n if (!this.userScrolling) {\n this.ydisp = this.ybase;\n }\n }\n this.lines.splice(this.ybase + this.scrollTop, 1);\n }\n this.updateRange(this.scrollTop);\n this.updateRange(this.scrollBottom);\n this.emit('scroll', this.ydisp);\n};\nTerminal.prototype.scrollDisp = function (disp, suppressScrollEvent) {\n if (disp < 0) {\n if (this.ydisp === 0) {\n return;\n }\n this.userScrolling = true;\n }\n else if (disp + this.ydisp >= this.ybase) {\n this.userScrolling = false;\n }\n this.ydisp += disp;\n if (this.ydisp > this.ybase) {\n this.ydisp = this.ybase;\n }\n else if (this.ydisp < 0) {\n this.ydisp = 0;\n }\n if (!suppressScrollEvent) {\n this.emit('scroll', this.ydisp);\n }\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.scrollPages = function (pageCount) {\n this.scrollDisp(pageCount * (this.rows - 1));\n};\nTerminal.prototype.scrollToTop = function () {\n this.scrollDisp(-this.ydisp);\n};\nTerminal.prototype.scrollToBottom = function () {\n this.scrollDisp(this.ybase - this.ydisp);\n};\nTerminal.prototype.write = function (data) {\n this.writeBuffer.push(data);\n if (this.options.useFlowControl && !this.xoffSentToCatchUp && this.writeBuffer.length >= WRITE_BUFFER_PAUSE_THRESHOLD) {\n this.send(EscapeSequences_1.C0.DC3);\n this.xoffSentToCatchUp = true;\n }\n if (!this.writeInProgress && this.writeBuffer.length > 0) {\n this.writeInProgress = true;\n var self = this;\n setTimeout(function () {\n self.innerWrite();\n });\n }\n};\nTerminal.prototype.innerWrite = function () {\n var writeBatch = this.writeBuffer.splice(0, WRITE_BATCH_SIZE);\n while (writeBatch.length > 0) {\n var data = writeBatch.shift();\n var l = data.length, i = 0, j, cs, ch, code, low, ch_width, row;\n if (this.xoffSentToCatchUp && writeBatch.length === 0 && this.writeBuffer.length === 0) {\n this.send(EscapeSequences_1.C0.DC1);\n this.xoffSentToCatchUp = false;\n }\n this.refreshStart = this.y;\n this.refreshEnd = this.y;\n var state = this.parser.parse(data);\n this.parser.setState(state);\n this.updateRange(this.y);\n this.refresh(this.refreshStart, this.refreshEnd);\n }\n if (this.writeBuffer.length > 0) {\n var self = this;\n setTimeout(function () {\n self.innerWrite();\n }, 0);\n }\n else {\n this.writeInProgress = false;\n }\n};\nTerminal.prototype.writeln = function (data) {\n this.write(data + '\\r\\n');\n};\nTerminal.prototype.attachCustomKeydownHandler = function (customKeydownHandler) {\n var message = 'attachCustomKeydownHandler() is DEPRECATED and will be removed soon. Please use attachCustomKeyEventHandler() instead.';\n console.warn(message);\n this.attachCustomKeyEventHandler(customKeydownHandler);\n};\nTerminal.prototype.attachCustomKeyEventHandler = function (customKeyEventHandler) {\n this.customKeyEventHandler = customKeyEventHandler;\n};\nTerminal.prototype.setHypertextLinkHandler = function (handler) {\n if (!this.linkifier) {\n throw new Error('Cannot attach a hypertext link handler before Terminal.open is called');\n }\n this.linkifier.setHypertextLinkHandler(handler);\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.setHypertextValidationCallback = function (callback) {\n if (!this.linkifier) {\n throw new Error('Cannot attach a hypertext validation callback before Terminal.open is called');\n }\n this.linkifier.setHypertextValidationCallback(callback);\n this.refresh(0, this.rows - 1);\n};\nTerminal.prototype.registerLinkMatcher = function (regex, handler, options) {\n if (this.linkifier) {\n var matcherId = this.linkifier.registerLinkMatcher(regex, handler, options);\n this.refresh(0, this.rows - 1);\n return matcherId;\n }\n};\nTerminal.prototype.deregisterLinkMatcher = function (matcherId) {\n if (this.linkifier) {\n if (this.linkifier.deregisterLinkMatcher(matcherId)) {\n this.refresh(0, this.rows - 1);\n }\n }\n};\nTerminal.prototype.hasSelection = function () {\n return this.selectionManager.hasSelection;\n};\nTerminal.prototype.getSelection = function () {\n return this.selectionManager.selectionText;\n};\nTerminal.prototype.clearSelection = function () {\n this.selectionManager.clearSelection();\n};\nTerminal.prototype.selectAll = function () {\n this.selectionManager.selectAll();\n};\nTerminal.prototype.keyDown = function (ev) {\n if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) {\n return false;\n }\n this.restartCursorBlinking();\n if (!this.compositionHelper.keydown.bind(this.compositionHelper)(ev)) {\n if (this.ybase !== this.ydisp) {\n this.scrollToBottom();\n }\n return false;\n }\n var self = this;\n var result = this.evaluateKeyEscapeSequence(ev);\n if (result.key === EscapeSequences_1.C0.DC3) {\n this.writeStopped = true;\n }\n else if (result.key === EscapeSequences_1.C0.DC1) {\n this.writeStopped = false;\n }\n if (result.scrollDisp) {\n this.scrollDisp(result.scrollDisp);\n return this.cancel(ev, true);\n }\n if (isThirdLevelShift(this, ev)) {\n return true;\n }\n if (result.cancel) {\n this.cancel(ev, true);\n }\n if (!result.key) {\n return true;\n }\n this.emit('keydown', ev);\n this.emit('key', result.key, ev);\n this.showCursor();\n this.handler(result.key);\n return this.cancel(ev, true);\n};\nTerminal.prototype.evaluateKeyEscapeSequence = function (ev) {\n var result = {\n cancel: false,\n key: undefined,\n scrollDisp: undefined\n };\n var modifiers = ev.shiftKey << 0 | ev.altKey << 1 | ev.ctrlKey << 2 | ev.metaKey << 3;\n switch (ev.keyCode) {\n case 8:\n if (ev.shiftKey) {\n result.key = EscapeSequences_1.C0.BS;\n break;\n }\n result.key = EscapeSequences_1.C0.DEL;\n break;\n case 9:\n if (ev.shiftKey) {\n result.key = EscapeSequences_1.C0.ESC + '[Z';\n break;\n }\n result.key = EscapeSequences_1.C0.HT;\n result.cancel = true;\n break;\n case 13:\n result.key = EscapeSequences_1.C0.CR;\n result.cancel = true;\n break;\n case 27:\n result.key = EscapeSequences_1.C0.ESC;\n result.cancel = true;\n break;\n case 37:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'D';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3D') {\n result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'b' : EscapeSequences_1.C0.ESC + '[1;5D';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OD';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[D';\n }\n break;\n case 39:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'C';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3C') {\n result.key = (this.browser.isMac) ? EscapeSequences_1.C0.ESC + 'f' : EscapeSequences_1.C0.ESC + '[1;5C';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OC';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[C';\n }\n break;\n case 38:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'A';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3A') {\n result.key = EscapeSequences_1.C0.ESC + '[1;5A';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OA';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[A';\n }\n break;\n case 40:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'B';\n if (result.key == EscapeSequences_1.C0.ESC + '[1;3B') {\n result.key = EscapeSequences_1.C0.ESC + '[1;5B';\n }\n }\n else if (this.applicationCursor) {\n result.key = EscapeSequences_1.C0.ESC + 'OB';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[B';\n }\n break;\n case 45:\n if (!ev.shiftKey && !ev.ctrlKey) {\n result.key = EscapeSequences_1.C0.ESC + '[2~';\n }\n break;\n case 46:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[3;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[3~';\n }\n break;\n case 36:\n if (modifiers)\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'H';\n else if (this.applicationCursor)\n result.key = EscapeSequences_1.C0.ESC + 'OH';\n else\n result.key = EscapeSequences_1.C0.ESC + '[H';\n break;\n case 35:\n if (modifiers)\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'F';\n else if (this.applicationCursor)\n result.key = EscapeSequences_1.C0.ESC + 'OF';\n else\n result.key = EscapeSequences_1.C0.ESC + '[F';\n break;\n case 33:\n if (ev.shiftKey) {\n result.scrollDisp = -(this.rows - 1);\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[5~';\n }\n break;\n case 34:\n if (ev.shiftKey) {\n result.scrollDisp = this.rows - 1;\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[6~';\n }\n break;\n case 112:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'P';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OP';\n }\n break;\n case 113:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'Q';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OQ';\n }\n break;\n case 114:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'R';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OR';\n }\n break;\n case 115:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[1;' + (modifiers + 1) + 'S';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + 'OS';\n }\n break;\n case 116:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[15;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[15~';\n }\n break;\n case 117:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[17;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[17~';\n }\n break;\n case 118:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[18;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[18~';\n }\n break;\n case 119:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[19;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[19~';\n }\n break;\n case 120:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[20;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[20~';\n }\n break;\n case 121:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[21;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[21~';\n }\n break;\n case 122:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[23;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[23~';\n }\n break;\n case 123:\n if (modifiers) {\n result.key = EscapeSequences_1.C0.ESC + '[24;' + (modifiers + 1) + '~';\n }\n else {\n result.key = EscapeSequences_1.C0.ESC + '[24~';\n }\n break;\n default:\n if (ev.ctrlKey && !ev.shiftKey && !ev.altKey && !ev.metaKey) {\n if (ev.keyCode >= 65 && ev.keyCode <= 90) {\n result.key = String.fromCharCode(ev.keyCode - 64);\n }\n else if (ev.keyCode === 32) {\n result.key = String.fromCharCode(0);\n }\n else if (ev.keyCode >= 51 && ev.keyCode <= 55) {\n result.key = String.fromCharCode(ev.keyCode - 51 + 27);\n }\n else if (ev.keyCode === 56) {\n result.key = String.fromCharCode(127);\n }\n else if (ev.keyCode === 219) {\n result.key = String.fromCharCode(27);\n }\n else if (ev.keyCode === 220) {\n result.key = String.fromCharCode(28);\n }\n else if (ev.keyCode === 221) {\n result.key = String.fromCharCode(29);\n }\n }\n else if (!this.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) {\n if (ev.keyCode >= 65 && ev.keyCode <= 90) {\n result.key = EscapeSequences_1.C0.ESC + String.fromCharCode(ev.keyCode + 32);\n }\n else if (ev.keyCode === 192) {\n result.key = EscapeSequences_1.C0.ESC + '`';\n }\n else if (ev.keyCode >= 48 && ev.keyCode <= 57) {\n result.key = EscapeSequences_1.C0.ESC + (ev.keyCode - 48);\n }\n }\n else if (this.browser.isMac && !ev.altKey && !ev.ctrlKey && ev.metaKey) {\n if (ev.keyCode === 65) {\n this.selectAll();\n }\n }\n break;\n }\n return result;\n};\nTerminal.prototype.setgLevel = function (g) {\n this.glevel = g;\n this.charset = this.charsets[g];\n};\nTerminal.prototype.setgCharset = function (g, charset) {\n this.charsets[g] = charset;\n if (this.glevel === g) {\n this.charset = charset;\n }\n};\nTerminal.prototype.keyPress = function (ev) {\n var key;\n if (this.customKeyEventHandler && this.customKeyEventHandler(ev) === false) {\n return false;\n }\n this.cancel(ev);\n if (ev.charCode) {\n key = ev.charCode;\n }\n else if (ev.which == null) {\n key = ev.keyCode;\n }\n else if (ev.which !== 0 && ev.charCode !== 0) {\n key = ev.which;\n }\n else {\n return false;\n }\n if (!key || ((ev.altKey || ev.ctrlKey || ev.metaKey) && !isThirdLevelShift(this, ev))) {\n return false;\n }\n key = String.fromCharCode(key);\n this.emit('keypress', key, ev);\n this.emit('key', key, ev);\n this.showCursor();\n this.handler(key);\n return true;\n};\nTerminal.prototype.send = function (data) {\n var self = this;\n if (!this.queue) {\n setTimeout(function () {\n self.handler(self.queue);\n self.queue = '';\n }, 1);\n }\n this.queue += data;\n};\nTerminal.prototype.bell = function () {\n if (!this.visualBell)\n return;\n var self = this;\n this.element.style.borderColor = 'white';\n setTimeout(function () {\n self.element.style.borderColor = '';\n }, 10);\n if (this.popOnBell)\n this.focus();\n};\nTerminal.prototype.log = function () {\n if (!this.debug)\n return;\n if (!this.context.console || !this.context.console.log)\n return;\n var args = Array.prototype.slice.call(arguments);\n this.context.console.log.apply(this.context.console, args);\n};\nTerminal.prototype.error = function () {\n if (!this.debug)\n return;\n if (!this.context.console || !this.context.console.error)\n return;\n var args = Array.prototype.slice.call(arguments);\n this.context.console.error.apply(this.context.console, args);\n};\nTerminal.prototype.resize = function (x, y) {\n if (isNaN(x) || isNaN(y)) {\n return;\n }\n if (y > this.getOption('scrollback')) {\n this.setOption('scrollback', y);\n }\n var line, el, i, j, ch, addToY;\n if (x === this.cols && y === this.rows) {\n return;\n }\n if (x < 1)\n x = 1;\n if (y < 1)\n y = 1;\n j = this.cols;\n if (j < x) {\n ch = [this.defAttr, ' ', 1];\n i = this.lines.length;\n while (i--) {\n while (this.lines.get(i).length < x) {\n this.lines.get(i).push(ch);\n }\n }\n }\n this.cols = x;\n this.setupStops(this.cols);\n j = this.rows;\n addToY = 0;\n if (j < y) {\n el = this.element;\n while (j++ < y) {\n if (this.lines.length < y + this.ybase) {\n if (this.ybase > 0 && this.lines.length <= this.ybase + this.y + addToY + 1) {\n this.ybase--;\n addToY++;\n if (this.ydisp > 0) {\n this.ydisp--;\n }\n }\n else {\n this.lines.push(this.blankLine());\n }\n }\n if (this.children.length < y) {\n this.insertRow();\n }\n }\n }\n else {\n while (j-- > y) {\n if (this.lines.length > y + this.ybase) {\n if (this.lines.length > this.ybase + this.y + 1) {\n this.lines.pop();\n }\n else {\n this.ybase++;\n this.ydisp++;\n }\n }\n if (this.children.length > y) {\n el = this.children.shift();\n if (!el)\n continue;\n el.parentNode.removeChild(el);\n }\n }\n }\n this.rows = y;\n if (this.y >= y) {\n this.y = y - 1;\n }\n if (addToY) {\n this.y += addToY;\n }\n if (this.x >= x) {\n this.x = x - 1;\n }\n this.scrollTop = 0;\n this.scrollBottom = y - 1;\n this.charMeasure.measure();\n this.refresh(0, this.rows - 1);\n this.normal = null;\n this.geometry = [this.cols, this.rows];\n this.emit('resize', { terminal: this, cols: x, rows: y });\n};\nTerminal.prototype.updateRange = function (y) {\n if (y < this.refreshStart)\n this.refreshStart = y;\n if (y > this.refreshEnd)\n this.refreshEnd = y;\n};\nTerminal.prototype.maxRange = function () {\n this.refreshStart = 0;\n this.refreshEnd = this.rows - 1;\n};\nTerminal.prototype.setupStops = function (i) {\n if (i != null) {\n if (!this.tabs[i]) {\n i = this.prevStop(i);\n }\n }\n else {\n this.tabs = {};\n i = 0;\n }\n for (; i < this.cols; i += this.getOption('tabStopWidth')) {\n this.tabs[i] = true;\n }\n};\nTerminal.prototype.prevStop = function (x) {\n if (x == null)\n x = this.x;\n while (!this.tabs[--x] && x > 0)\n ;\n return x >= this.cols\n ? this.cols - 1\n : x < 0 ? 0 : x;\n};\nTerminal.prototype.nextStop = function (x) {\n if (x == null)\n x = this.x;\n while (!this.tabs[++x] && x < this.cols)\n ;\n return x >= this.cols\n ? this.cols - 1\n : x < 0 ? 0 : x;\n};\nTerminal.prototype.eraseRight = function (x, y) {\n var line = this.lines.get(this.ybase + y);\n if (!line) {\n return;\n }\n var ch = [this.eraseAttr(), ' ', 1];\n for (; x < this.cols; x++) {\n line[x] = ch;\n }\n this.updateRange(y);\n};\nTerminal.prototype.eraseLeft = function (x, y) {\n var line = this.lines.get(this.ybase + y);\n if (!line) {\n return;\n }\n var ch = [this.eraseAttr(), ' ', 1];\n x++;\n while (x--) {\n line[x] = ch;\n }\n this.updateRange(y);\n};\nTerminal.prototype.clear = function () {\n if (this.ybase === 0 && this.y === 0) {\n return;\n }\n this.lines.set(0, this.lines.get(this.ybase + this.y));\n this.lines.length = 1;\n this.ydisp = 0;\n this.ybase = 0;\n this.y = 0;\n for (var i = 1; i < this.rows; i++) {\n this.lines.push(this.blankLine());\n }\n this.refresh(0, this.rows - 1);\n this.emit('scroll', this.ydisp);\n};\nTerminal.prototype.eraseLine = function (y) {\n this.eraseRight(0, y);\n};\nTerminal.prototype.blankLine = function (cur, isWrapped) {\n var attr = cur\n ? this.eraseAttr()\n : this.defAttr;\n var ch = [attr, ' ', 1], line = [], i = 0;\n if (isWrapped) {\n line.isWrapped = isWrapped;\n }\n for (; i < this.cols; i++) {\n line[i] = ch;\n }\n return line;\n};\nTerminal.prototype.ch = function (cur) {\n return cur\n ? [this.eraseAttr(), ' ', 1]\n : [this.defAttr, ' ', 1];\n};\nTerminal.prototype.is = function (term) {\n var name = this.termName;\n return (name + '').indexOf(term) === 0;\n};\nTerminal.prototype.handler = function (data) {\n if (this.options.disableStdin) {\n return;\n }\n if (this.ybase !== this.ydisp) {\n this.scrollToBottom();\n }\n this.emit('data', data);\n};\nTerminal.prototype.handleTitle = function (title) {\n this.emit('title', title);\n};\nTerminal.prototype.index = function () {\n this.y++;\n if (this.y > this.scrollBottom) {\n this.y--;\n this.scroll();\n }\n if (this.x >= this.cols) {\n this.x--;\n }\n};\nTerminal.prototype.reverseIndex = function () {\n var j;\n if (this.y === this.scrollTop) {\n this.lines.shiftElements(this.y + this.ybase, this.rows - 1, 1);\n this.lines.set(this.y + this.ybase, this.blankLine(true));\n this.updateRange(this.scrollTop);\n this.updateRange(this.scrollBottom);\n }\n else {\n this.y--;\n }\n};\nTerminal.prototype.reset = function () {\n this.options.rows = this.rows;\n this.options.cols = this.cols;\n var customKeyEventHandler = this.customKeyEventHandler;\n var cursorBlinkInterval = this.cursorBlinkInterval;\n Terminal.call(this, this.options);\n this.customKeyEventHandler = customKeyEventHandler;\n this.cursorBlinkInterval = cursorBlinkInterval;\n this.refresh(0, this.rows - 1);\n this.viewport.syncScrollArea();\n};\nTerminal.prototype.tabSet = function () {\n this.tabs[this.x] = true;\n};\nfunction on(el, type, handler, capture) {\n if (!Array.isArray(el)) {\n el = [el];\n }\n el.forEach(function (element) {\n element.addEventListener(type, handler, capture || false);\n });\n}\nfunction off(el, type, handler, capture) {\n el.removeEventListener(type, handler, capture || false);\n}\nfunction cancel(ev, force) {\n if (!this.cancelEvents && !force) {\n return;\n }\n ev.preventDefault();\n ev.stopPropagation();\n return false;\n}\nfunction inherits(child, parent) {\n function f() {\n this.constructor = child;\n }\n f.prototype = parent.prototype;\n child.prototype = new f;\n}\nfunction indexOf(obj, el) {\n var i = obj.length;\n while (i--) {\n if (obj[i] === el)\n return i;\n }\n return -1;\n}\nfunction isThirdLevelShift(term, ev) {\n var thirdLevelKey = (term.browser.isMac && ev.altKey && !ev.ctrlKey && !ev.metaKey) ||\n (term.browser.isMSWindows && ev.altKey && ev.ctrlKey && !ev.metaKey);\n if (ev.type == 'keypress') {\n return thirdLevelKey;\n }\n return thirdLevelKey && (!ev.keyCode || ev.keyCode > 47);\n}\nTerminal.prototype.matchColor = matchColor;\nfunction matchColor(r1, g1, b1) {\n var hash = (r1 << 16) | (g1 << 8) | b1;\n if (matchColor._cache[hash] != null) {\n return matchColor._cache[hash];\n }\n var ldiff = Infinity, li = -1, i = 0, c, r2, g2, b2, diff;\n for (; i < Terminal.vcolors.length; i++) {\n c = Terminal.vcolors[i];\n r2 = c[0];\n g2 = c[1];\n b2 = c[2];\n diff = matchColor.distance(r1, g1, b1, r2, g2, b2);\n if (diff === 0) {\n li = i;\n break;\n }\n if (diff < ldiff) {\n ldiff = diff;\n li = i;\n }\n }\n return matchColor._cache[hash] = li;\n}\nmatchColor._cache = {};\nmatchColor.distance = function (r1, g1, b1, r2, g2, b2) {\n return Math.pow(30 * (r1 - r2), 2)\n + Math.pow(59 * (g1 - g2), 2)\n + Math.pow(11 * (b1 - b2), 2);\n};\nfunction each(obj, iter, con) {\n if (obj.forEach)\n return obj.forEach(iter, con);\n for (var i = 0; i < obj.length; i++) {\n iter.call(con, obj[i], i, obj);\n }\n}\nfunction wasMondifierKeyOnlyEvent(ev) {\n return ev.keyCode === 16 ||\n ev.keyCode === 17 ||\n ev.keyCode === 18;\n}\nfunction keys(obj) {\n if (Object.keys)\n return Object.keys(obj);\n var key, keys = [];\n for (key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n keys.push(key);\n }\n }\n return keys;\n}\nTerminal.EventEmitter = EventEmitter_1.EventEmitter;\nTerminal.inherits = inherits;\nTerminal.on = on;\nTerminal.off = off;\nTerminal.cancel = cancel;\nmodule.exports = Terminal;\n\n//# sourceMappingURL=xterm.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/xterm.js\n// module id = 0\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n;\nvar EventEmitter = (function () {\n function EventEmitter() {\n this._events = this._events || {};\n }\n EventEmitter.prototype.on = function (type, listener) {\n this._events[type] = this._events[type] || [];\n this._events[type].push(listener);\n };\n EventEmitter.prototype.off = function (type, listener) {\n if (!this._events[type]) {\n return;\n }\n var obj = this._events[type];\n var i = obj.length;\n while (i--) {\n if (obj[i] === listener || obj[i].listener === listener) {\n obj.splice(i, 1);\n return;\n }\n }\n };\n EventEmitter.prototype.removeAllListeners = function (type) {\n if (this._events[type]) {\n delete this._events[type];\n }\n };\n EventEmitter.prototype.once = function (type, listener) {\n function on() {\n var args = Array.prototype.slice.call(arguments);\n this.off(type, on);\n return listener.apply(this, args);\n }\n on.listener = listener;\n return this.on(type, on);\n };\n EventEmitter.prototype.emit = function (type) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!this._events[type]) {\n return;\n }\n var obj = this._events[type];\n for (var i = 0; i < obj.length; i++) {\n obj[i].apply(this, args);\n }\n };\n EventEmitter.prototype.listeners = function (type) {\n return this._events[type] || [];\n };\n return EventEmitter;\n}());\nexports.EventEmitter = EventEmitter;\n\n//# sourceMappingURL=EventEmitter.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/EventEmitter.js\n// module id = 1\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar C0;\n(function (C0) {\n C0.NUL = '\\x00';\n C0.SOH = '\\x01';\n C0.STX = '\\x02';\n C0.ETX = '\\x03';\n C0.EOT = '\\x04';\n C0.ENQ = '\\x05';\n C0.ACK = '\\x06';\n C0.BEL = '\\x07';\n C0.BS = '\\x08';\n C0.HT = '\\x09';\n C0.LF = '\\x0a';\n C0.VT = '\\x0b';\n C0.FF = '\\x0c';\n C0.CR = '\\x0d';\n C0.SO = '\\x0e';\n C0.SI = '\\x0f';\n C0.DLE = '\\x10';\n C0.DC1 = '\\x11';\n C0.DC2 = '\\x12';\n C0.DC3 = '\\x13';\n C0.DC4 = '\\x14';\n C0.NAK = '\\x15';\n C0.SYN = '\\x16';\n C0.ETB = '\\x17';\n C0.CAN = '\\x18';\n C0.EM = '\\x19';\n C0.SUB = '\\x1a';\n C0.ESC = '\\x1b';\n C0.FS = '\\x1c';\n C0.GS = '\\x1d';\n C0.RS = '\\x1e';\n C0.US = '\\x1f';\n C0.SP = '\\x20';\n C0.DEL = '\\x7f';\n})(C0 = exports.C0 || (exports.C0 = {}));\n;\n\n//# sourceMappingURL=EscapeSequences.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/EscapeSequences.js\n// module id = 2\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CHARSETS = {};\nexports.DEFAULT_CHARSET = exports.CHARSETS['B'];\nexports.CHARSETS['0'] = {\n '`': '\\u25c6',\n 'a': '\\u2592',\n 'b': '\\u0009',\n 'c': '\\u000c',\n 'd': '\\u000d',\n 'e': '\\u000a',\n 'f': '\\u00b0',\n 'g': '\\u00b1',\n 'h': '\\u2424',\n 'i': '\\u000b',\n 'j': '\\u2518',\n 'k': '\\u2510',\n 'l': '\\u250c',\n 'm': '\\u2514',\n 'n': '\\u253c',\n 'o': '\\u23ba',\n 'p': '\\u23bb',\n 'q': '\\u2500',\n 'r': '\\u23bc',\n 's': '\\u23bd',\n 't': '\\u251c',\n 'u': '\\u2524',\n 'v': '\\u2534',\n 'w': '\\u252c',\n 'x': '\\u2502',\n 'y': '\\u2264',\n 'z': '\\u2265',\n '{': '\\u03c0',\n '|': '\\u2260',\n '}': '\\u00a3',\n '~': '\\u00b7'\n};\nexports.CHARSETS['A'] = {\n '#': '£'\n};\nexports.CHARSETS['B'] = null;\nexports.CHARSETS['4'] = {\n '#': '£',\n '@': '¾',\n '[': 'ij',\n '\\\\': '½',\n ']': '|',\n '{': '¨',\n '|': 'f',\n '}': '¼',\n '~': '´'\n};\nexports.CHARSETS['C'] =\n exports.CHARSETS['5'] = {\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Å',\n '^': 'Ü',\n '`': 'é',\n '{': 'ä',\n '|': 'ö',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['R'] = {\n '#': '£',\n '@': 'à',\n '[': '°',\n '\\\\': 'ç',\n ']': '§',\n '{': 'é',\n '|': 'ù',\n '}': 'è',\n '~': '¨'\n};\nexports.CHARSETS['Q'] = {\n '@': 'à',\n '[': 'â',\n '\\\\': 'ç',\n ']': 'ê',\n '^': 'î',\n '`': 'ô',\n '{': 'é',\n '|': 'ù',\n '}': 'è',\n '~': 'û'\n};\nexports.CHARSETS['K'] = {\n '@': '§',\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Ü',\n '{': 'ä',\n '|': 'ö',\n '}': 'ü',\n '~': 'ß'\n};\nexports.CHARSETS['Y'] = {\n '#': '£',\n '@': '§',\n '[': '°',\n '\\\\': 'ç',\n ']': 'é',\n '`': 'ù',\n '{': 'à',\n '|': 'ò',\n '}': 'è',\n '~': 'ì'\n};\nexports.CHARSETS['E'] =\n exports.CHARSETS['6'] = {\n '@': 'Ä',\n '[': 'Æ',\n '\\\\': 'Ø',\n ']': 'Å',\n '^': 'Ü',\n '`': 'ä',\n '{': 'æ',\n '|': 'ø',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['Z'] = {\n '#': '£',\n '@': '§',\n '[': '¡',\n '\\\\': 'Ñ',\n ']': '¿',\n '{': '°',\n '|': 'ñ',\n '}': 'ç'\n};\nexports.CHARSETS['H'] =\n exports.CHARSETS['7'] = {\n '@': 'É',\n '[': 'Ä',\n '\\\\': 'Ö',\n ']': 'Å',\n '^': 'Ü',\n '`': 'é',\n '{': 'ä',\n '|': 'ö',\n '}': 'å',\n '~': 'ü'\n };\nexports.CHARSETS['='] = {\n '#': 'ù',\n '@': 'à',\n '[': 'é',\n '\\\\': 'ç',\n ']': 'ê',\n '^': 'î',\n '_': 'è',\n '`': 'ô',\n '{': 'ä',\n '|': 'ö',\n '}': 'ü',\n '~': 'û'\n};\n\n//# sourceMappingURL=Charsets.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Charsets.js\n// module id = 3\n// module chunks = 0","/**\n * Implements the attach method, that attaches the terminal to a WebSocket stream.\n * @module xterm/addons/attach/attach\n * @license MIT\n */\n\n(function (attach) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = attach(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], attach);\n } else {\n /*\n * Plain browser environment\n */\n attach(window.Terminal);\n }\n})(function (Xterm) {\n 'use strict';\n\n var exports = {};\n\n /**\n * Attaches the given terminal to the given socket.\n *\n * @param {Xterm} term - The terminal to be attached to the given socket.\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n exports.attach = function (term, socket, bidirectional, buffered) {\n bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;\n term.socket = socket;\n\n term._flushBuffer = function () {\n term.write(term._attachSocketBuffer);\n term._attachSocketBuffer = null;\n clearTimeout(term._attachSocketBufferTimer);\n term._attachSocketBufferTimer = null;\n };\n\n term._pushToBuffer = function (data) {\n if (term._attachSocketBuffer) {\n term._attachSocketBuffer += data;\n } else {\n term._attachSocketBuffer = data;\n setTimeout(term._flushBuffer, 10);\n }\n };\n\n term._getMessage = function (ev) {\n if (buffered) {\n term._pushToBuffer(ev.data);\n } else {\n term.write(ev.data);\n }\n };\n\n term._sendData = function (data) {\n socket.send(data);\n };\n\n socket.addEventListener('message', term._getMessage);\n\n if (bidirectional) {\n term.on('data', term._sendData);\n }\n\n socket.addEventListener('close', term.detach.bind(term, socket));\n socket.addEventListener('error', term.detach.bind(term, socket));\n };\n\n /**\n * Detaches the given terminal from the given socket\n *\n * @param {Xterm} term - The terminal to be detached from the given socket.\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n exports.detach = function (term, socket) {\n term.off('data', term._sendData);\n\n socket = (typeof socket == 'undefined') ? term.socket : socket;\n\n if (socket) {\n socket.removeEventListener('message', term._getMessage);\n }\n\n delete term.socket;\n };\n\n /**\n * Attaches the current terminal to the given socket\n *\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n Xterm.prototype.attach = function (socket, bidirectional, buffered) {\n return exports.attach(this, socket, bidirectional, buffered);\n };\n\n /**\n * Detaches the current terminal from the given socket.\n *\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n Xterm.prototype.detach = function (socket) {\n return exports.detach(this, socket);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/attach/attach.js\n// module id = 4\n// module chunks = 0","/**\n * Fit terminal columns and rows to the dimensions of its DOM element.\n *\n * ## Approach\n * - Rows: Truncate the division of the terminal parent element height by the terminal row height.\n *\n * - Columns: Truncate the division of the terminal parent element width by the terminal character\n * width (apply display: inline at the terminal row and truncate its width with the current\n * number of columns).\n * @module xterm/addons/fit/fit\n * @license MIT\n */\n\n(function (fit) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = fit(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], fit);\n } else {\n /*\n * Plain browser environment\n */\n fit(window.Terminal);\n }\n})(function (Xterm) {\n var exports = {};\n\n exports.proposeGeometry = function (term) {\n if (!term.element.parentElement) {\n return null;\n }\n var parentElementStyle = window.getComputedStyle(term.element.parentElement),\n parentElementHeight = parseInt(parentElementStyle.getPropertyValue('height')),\n parentElementWidth = Math.max(0, parseInt(parentElementStyle.getPropertyValue('width')) - 17),\n elementStyle = window.getComputedStyle(term.element),\n elementPaddingVer = parseInt(elementStyle.getPropertyValue('padding-top')) + parseInt(elementStyle.getPropertyValue('padding-bottom')),\n elementPaddingHor = parseInt(elementStyle.getPropertyValue('padding-right')) + parseInt(elementStyle.getPropertyValue('padding-left')),\n availableHeight = parentElementHeight - elementPaddingVer,\n availableWidth = parentElementWidth - elementPaddingHor,\n container = term.rowContainer,\n subjectRow = term.rowContainer.firstElementChild,\n contentBuffer = subjectRow.innerHTML,\n characterHeight,\n rows,\n characterWidth,\n cols,\n geometry;\n\n subjectRow.style.display = 'inline';\n subjectRow.innerHTML = 'W'; // Common character for measuring width, although on monospace\n characterWidth = subjectRow.getBoundingClientRect().width;\n subjectRow.style.display = ''; // Revert style before calculating height, since they differ.\n characterHeight = subjectRow.getBoundingClientRect().height;\n subjectRow.innerHTML = contentBuffer;\n\n rows = parseInt(availableHeight / characterHeight);\n cols = parseInt(availableWidth / characterWidth);\n\n geometry = {cols: cols, rows: rows};\n return geometry;\n };\n\n exports.fit = function (term) {\n var geometry = exports.proposeGeometry(term);\n\n if (geometry) {\n term.resize(geometry.cols, geometry.rows);\n }\n };\n\n Xterm.prototype.proposeGeometry = function () {\n return exports.proposeGeometry(this);\n };\n\n Xterm.prototype.fit = function () {\n return exports.fit(this);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fit/fit.js\n// module id = 5\n// module chunks = 0","/**\n * Fullscreen addon for xterm.js\n * @module xterm/addons/fullscreen/fullscreen\n * @license MIT\n */\n(function (fullscreen) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = fullscreen(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], fullscreen);\n } else {\n /*\n * Plain browser environment\n */\n fullscreen(window.Terminal);\n }\n})(function (Xterm) {\n var exports = {};\n\n /**\n * Toggle the given terminal's fullscreen mode.\n * @param {Xterm} term - The terminal to toggle full screen mode\n * @param {boolean} fullscreen - Toggle fullscreen on (true) or off (false)\n */\n exports.toggleFullScreen = function (term, fullscreen) {\n var fn;\n\n if (typeof fullscreen == 'undefined') {\n fn = (term.element.classList.contains('fullscreen')) ? 'remove' : 'add';\n } else if (!fullscreen) {\n fn = 'remove';\n } else {\n fn = 'add';\n }\n\n term.element.classList[fn]('fullscreen');\n };\n\n Xterm.prototype.toggleFullscreen = function (fullscreen) {\n exports.toggleFullScreen(this, fullscreen);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fullscreen/fullscreen.js\n// module id = 6\n// module chunks = 0","/**\n * This module provides methods for attaching a terminal to a terminado WebSocket stream.\n *\n * @module xterm/addons/terminado/terminado\n * @license MIT\n */\n\n(function (attach) {\n if (typeof exports === 'object' && typeof module === 'object') {\n /*\n * CommonJS environment\n */\n module.exports = attach(require('../../xterm'));\n } else if (typeof define == 'function') {\n /*\n * Require.js is available\n */\n define(['../../xterm'], attach);\n } else {\n /*\n * Plain browser environment\n */\n attach(window.Terminal);\n }\n})(function (Xterm) {\n 'use strict';\n\n var exports = {};\n\n /**\n * Attaches the given terminal to the given socket.\n *\n * @param {Xterm} term - The terminal to be attached to the given socket.\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n exports.terminadoAttach = function (term, socket, bidirectional, buffered) {\n bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;\n term.socket = socket;\n\n term._flushBuffer = function () {\n term.write(term._attachSocketBuffer);\n term._attachSocketBuffer = null;\n clearTimeout(term._attachSocketBufferTimer);\n term._attachSocketBufferTimer = null;\n };\n\n term._pushToBuffer = function (data) {\n if (term._attachSocketBuffer) {\n term._attachSocketBuffer += data;\n } else {\n term._attachSocketBuffer = data;\n setTimeout(term._flushBuffer, 10);\n }\n };\n\n term._getMessage = function (ev) {\n var data = JSON.parse(ev.data)\n if( data[0] == \"stdout\" ) {\n if (buffered) {\n term._pushToBuffer(data[1]);\n } else {\n term.write(data[1]);\n }\n }\n };\n\n term._sendData = function (data) {\n socket.send(JSON.stringify(['stdin', data]));\n };\n\n term._setSize = function (size) {\n socket.send(JSON.stringify(['set_size', size.rows, size.cols]));\n };\n\n socket.addEventListener('message', term._getMessage);\n\n if (bidirectional) {\n term.on('data', term._sendData);\n }\n term.on('resize', term._setSize);\n\n socket.addEventListener('close', term.terminadoDetach.bind(term, socket));\n socket.addEventListener('error', term.terminadoDetach.bind(term, socket));\n };\n\n /**\n * Detaches the given terminal from the given socket\n *\n * @param {Xterm} term - The terminal to be detached from the given socket.\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n exports.terminadoDetach = function (term, socket) {\n term.off('data', term._sendData);\n\n socket = (typeof socket == 'undefined') ? term.socket : socket;\n\n if (socket) {\n socket.removeEventListener('message', term._getMessage);\n }\n\n delete term.socket;\n };\n\n /**\n * Attaches the current terminal to the given socket\n *\n * @param {WebSocket} socket - The socket to attach the current terminal.\n * @param {boolean} bidirectional - Whether the terminal should send data\n * to the socket as well.\n * @param {boolean} buffered - Whether the rendering of incoming data\n * should happen instantly or at a maximum\n * frequency of 1 rendering per 10ms.\n */\n Xterm.prototype.terminadoAttach = function (socket, bidirectional, buffered) {\n return exports.terminadoAttach(this, socket, bidirectional, buffered);\n };\n\n /**\n * Detaches the current terminal from the given socket.\n *\n * @param {WebSocket} socket - The socket from which to detach the current\n * terminal.\n */\n Xterm.prototype.terminadoDetach = function (socket) {\n return exports.terminadoDetach(this, socket);\n };\n\n return exports;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/terminado/terminado.js\n// module id = 7\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Generic_1 = require(\"./Generic\");\nvar isNode = (typeof navigator === 'undefined') ? true : false;\nvar userAgent = (isNode) ? 'node' : navigator.userAgent;\nvar platform = (isNode) ? 'node' : navigator.platform;\nexports.isFirefox = !!~userAgent.indexOf('Firefox');\nexports.isMSIE = !!~userAgent.indexOf('MSIE') || !!~userAgent.indexOf('Trident');\nexports.isMac = Generic_1.contains(['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'], platform);\nexports.isIpad = platform === 'iPad';\nexports.isIphone = platform === 'iPhone';\nexports.isMSWindows = Generic_1.contains(['Windows', 'Win16', 'Win32', 'WinCE'], platform);\nexports.isLinux = platform.indexOf('Linux') >= 0;\n\n//# sourceMappingURL=Browser.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Browser.js\n// module id = 8\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction getCoordsRelativeToElement(event, element) {\n if (event.pageX == null) {\n return null;\n }\n var x = event.pageX;\n var y = event.pageY;\n while (element && element !== self.document.documentElement) {\n x -= element.offsetLeft;\n y -= element.offsetTop;\n element = 'offsetParent' in element ? element.offsetParent : element.parentElement;\n }\n return [x, y];\n}\nexports.getCoordsRelativeToElement = getCoordsRelativeToElement;\nfunction getCoords(event, rowContainer, charMeasure, colCount, rowCount, isSelection) {\n var coords = getCoordsRelativeToElement(event, rowContainer);\n coords[0] = Math.ceil((coords[0] + (isSelection ? charMeasure.width / 2 : 0)) / charMeasure.width);\n coords[1] = Math.ceil(coords[1] / charMeasure.height);\n coords[0] = Math.min(Math.max(coords[0], 1), colCount + 1);\n coords[1] = Math.min(Math.max(coords[1], 1), rowCount + 1);\n return coords;\n}\nexports.getCoords = getCoords;\nfunction getRawByteCoords(event, rowContainer, charMeasure, colCount, rowCount) {\n var coords = getCoords(event, rowContainer, charMeasure, colCount, rowCount);\n var x = coords[0];\n var y = coords[1];\n x += 32;\n y += 32;\n return { x: x, y: y };\n}\nexports.getRawByteCoords = getRawByteCoords;\n\n//# sourceMappingURL=Mouse.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Mouse.js\n// module id = 9\n// module chunks = 0","import * as bare from \"libapps\";\n\nexport class Hterm {\n elem: HTMLElement;\n\n term: bare.hterm.Terminal;\n io: bare.hterm.IO;\n\n columns: number;\n rows: number;\n\n // to \"show\" the current message when removeMessage() is called\n message: string;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n bare.hterm.defaultStorage = new bare.lib.Storage.Memory();\n this.term = new bare.hterm.Terminal();\n this.term.getPrefs().set(\"send-encoding\", \"raw\");\n this.term.decorate(this.elem);\n\n this.io = this.term.io.push();\n this.term.installKeyboard();\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.columns, rows: this.rows };\n };\n\n output(data: string) {\n if (this.term.io != null) {\n this.term.io.writeUTF16(data);\n }\n };\n\n showMessage(message: string, timeout: number) {\n this.message = message;\n if (timeout > 0) {\n this.term.io.showOverlay(message, timeout);\n } else {\n this.term.io.showOverlay(message, null);\n }\n };\n\n removeMessage(): void {\n // there is no hideOverlay(), so show the same message with 0 sec\n this.term.io.showOverlay(this.message, 0);\n }\n\n setWindowTitle(title: string) {\n this.term.setWindowTitle(title);\n };\n\n setPreferences(value: object) {\n Object.keys(value).forEach((key) => {\n this.term.getPrefs().set(key, value[key]);\n });\n };\n\n onInput(callback: (input: string) => void) {\n this.io.onVTKeystroke = (data) => {\n callback(data);\n };\n this.io.sendString = (data) => {\n callback(data);\n };\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.io.onTerminalResize = (columns: number, rows: number) => {\n this.columns = columns;\n this.rows = rows;\n callback(columns, rows);\n };\n };\n\n deactivate(): void {\n this.io.onVTKeystroke = null;\n this.io.sendString = null\n this.io.onTerminalResize = null;\n this.term.uninstallKeyboard();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.installKeyboard();\n }\n\n close(): void {\n this.term.uninstallKeyboard();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/hterm.ts","export class ConnectionFactory {\n url: string;\n protocols: string[];\n\n constructor(url: string, protocols: string[]) {\n this.url = url;\n this.protocols = protocols;\n };\n\n create(): Connection {\n return new Connection(this.url, this.protocols);\n };\n}\n\nexport class Connection {\n bare: WebSocket;\n\n\n constructor(url: string, protocols: string[]) {\n this.bare = new WebSocket(url, protocols);\n }\n\n open() {\n // nothing todo for websocket\n };\n\n close() {\n this.bare.close();\n };\n\n send(data: string) {\n this.bare.send(data);\n };\n\n isOpen(): boolean {\n if (this.bare.readyState == WebSocket.CONNECTING ||\n this.bare.readyState == WebSocket.OPEN) {\n return true\n }\n return false\n }\n\n onOpen(callback: () => void) {\n this.bare.onopen = (event) => {\n callback();\n }\n };\n\n onReceive(callback: (data: string) => void) {\n this.bare.onmessage = (event) => {\n callback(event.data);\n }\n };\n\n onClose(callback: () => void) {\n this.bare.onclose = (event) => {\n callback();\n };\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/websocket.ts","export const protocols = [\"webtty\"];\n\nexport const msgInputUnknown = '0';\nexport const msgInput = '1';\nexport const msgPing = '2';\nexport const msgResizeTerminal = '3';\n\nexport const msgUnknownOutput = '0';\nexport const msgOutput = '1';\nexport const msgPong = '2';\nexport const msgSetWindowTitle = '3';\nexport const msgSetPreferences = '4';\nexport const msgSetReconnect = '5';\n\n\nexport interface Terminal {\n info(): { columns: number, rows: number };\n output(data: string): void;\n showMessage(message: string, timeout: number): void;\n removeMessage(): void;\n setWindowTitle(title: string): void;\n setPreferences(value: object): void;\n onInput(callback: (input: string) => void): void;\n onResize(callback: (colmuns: number, rows: number) => void): void;\n reset(): void;\n deactivate(): void;\n close(): void;\n}\n\nexport interface Connection {\n open(): void;\n close(): void;\n send(data: string): void;\n isOpen(): boolean;\n onOpen(callback: () => void): void;\n onReceive(callback: (data: string) => void): void;\n onClose(callback: () => void): void;\n}\n\nexport interface ConnectionFactory {\n create(): Connection;\n}\n\n\nexport class WebTTY {\n term: Terminal;\n connectionFactory: ConnectionFactory;\n args: string;\n authToken: string;\n reconnect: number;\n\n constructor(term: Terminal, connectionFactory: ConnectionFactory, args: string, authToken: string) {\n this.term = term;\n this.connectionFactory = connectionFactory;\n this.args = args;\n this.authToken = authToken;\n this.reconnect = -1;\n };\n\n open() {\n let connection = this.connectionFactory.create();\n let pingTimer: number;\n let reconnectTimeout: number;\n\n const setup = () => {\n connection.onOpen(() => {\n const termInfo = this.term.info();\n\n connection.send(JSON.stringify(\n {\n Arguments: this.args,\n AuthToken: this.authToken,\n }\n ));\n\n\n const resizeHandler = (colmuns: number, rows: number) => {\n connection.send(\n msgResizeTerminal + JSON.stringify(\n {\n columns: colmuns,\n rows: rows\n }\n )\n );\n };\n\n this.term.onResize(resizeHandler);\n resizeHandler(termInfo.columns, termInfo.rows);\n\n this.term.onInput(\n (input: string) => {\n connection.send(msgInput + input);\n }\n );\n\n pingTimer = setInterval(() => {\n connection.send(msgPing)\n }, 30 * 1000);\n\n });\n\n connection.onReceive((data) => {\n const payload = data.slice(1);\n switch (data[0]) {\n case msgOutput:\n this.term.output(\n decodeURIComponent(Array.prototype.map.call(atob(payload), function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''))\n );\n break;\n case msgPong:\n break;\n case msgSetWindowTitle:\n this.term.setWindowTitle(payload);\n break;\n case msgSetPreferences:\n const preferences = JSON.parse(payload);\n this.term.setPreferences(preferences);\n break;\n case msgSetReconnect:\n const autoReconnect = JSON.parse(payload);\n console.log(\"Enabling reconnect: \" + autoReconnect + \" seconds\")\n this.reconnect = autoReconnect;\n break;\n }\n });\n\n connection.onClose(() => {\n clearInterval(pingTimer);\n this.term.deactivate();\n this.term.showMessage(\"Connection Closed\", 0);\n if (this.reconnect > 0) {\n reconnectTimeout = setTimeout(() => {\n connection = this.connectionFactory.create();\n this.term.reset();\n setup();\n }, this.reconnect * 1000);\n }\n });\n\n connection.open();\n }\n\n setup();\n return () => {\n clearTimeout(reconnectTimeout);\n connection.close();\n }\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/webtty.ts","import * as bare from \"xterm\";\n\nbare.loadAddon(\"fit\");\n\nexport class Xterm {\n elem: HTMLElement;\n\n message: HTMLElement;\n messageTimeout: number;\n messageTimer: number;\n\n term: bare;\n resizeListener: () => void;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n this.term = new bare();\n\n this.message = elem.ownerDocument.createElement(\"div\");\n this.message.className = \"xterm-overlay\";\n this.messageTimeout = 2000;\n\n\n this.resizeListener = () => {\n this.term.fit();\n this.term.scrollToBottom();\n this.showMessage(String(this.term.cols) + \"x\" + String(this.term.rows), this.messageTimeout);\n };\n\n this.term.on(\"open\", () => {\n this.resizeListener();\n window.addEventListener(\"resize\", () => { this.resizeListener(); });\n });\n\n this.term.open(elem, true);\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.term.cols, rows: this.term.rows };\n };\n\n output(data: string) {\n this.term.write(data);\n };\n\n showMessage(message: string, timeout: number) {\n this.message.textContent = message;\n this.elem.appendChild(this.message);\n\n if (this.messageTimer) {\n clearTimeout(this.messageTimer);\n }\n if (timeout > 0) {\n this.messageTimer = setTimeout(() => {\n this.elem.removeChild(this.message);\n }, timeout);\n }\n };\n\n removeMessage(): void {\n if (this.message.parentNode == this.elem) {\n this.elem.removeChild(this.message);\n }\n }\n\n setWindowTitle(title: string) {\n document.title = title;\n };\n\n setPreferences(value: object) {\n };\n\n onInput(callback: (input: string) => void) {\n this.term.on(\"data\", (data) => {\n callback(data);\n });\n\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.term.on(\"resize\", (data) => {\n callback(data.cols, data.rows);\n });\n };\n\n deactivate(): void {\n this.term.off(\"data\");\n this.term.off(\"resize\");\n this.term.blur();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.clear();\n }\n\n close(): void {\n window.removeEventListener(\"resize\", this.resizeListener);\n this.term.destroy();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/xterm.ts","// This file was generated by libdot/bin/concat.sh.\n// It has been marked read-only for your safety. Rather\n// than edit it directly, please modify one of these source\n// files...\n//\n// libdot/js/lib.js\n// libdot/js/lib_polyfill.js\n// libdot/js/lib_colors.js\n// libdot/js/lib_f.js\n// libdot/js/lib_message_manager.js\n// libdot/js/lib_preference_manager.js\n// libdot/js/lib_resource.js\n// libdot/js/lib_storage.js\n// libdot/js/lib_storage_chrome.js\n// libdot/js/lib_storage_local.js\n// libdot/js/lib_storage_memory.js\n// libdot/js/lib_test_manager.js\n// libdot/js/lib_utf8.js\n// libdot/third_party/wcwidth/lib_wc.js\n// hterm/js/hterm.js\n// hterm/js/hterm_frame.js\n// hterm/js/hterm_keyboard.js\n// hterm/js/hterm_keyboard_bindings.js\n// hterm/js/hterm_keyboard_keymap.js\n// hterm/js/hterm_keyboard_keypattern.js\n// hterm/js/hterm_options.js\n// hterm/js/hterm_parser.js\n// hterm/js/hterm_parser_identifiers.js\n// hterm/js/hterm_preference_manager.js\n// hterm/js/hterm_pubsub.js\n// hterm/js/hterm_screen.js\n// hterm/js/hterm_scrollport.js\n// hterm/js/hterm_terminal.js\n// hterm/js/hterm_terminal_io.js\n// hterm/js/hterm_text_attributes.js\n// hterm/js/hterm_vt.js\n// hterm/js/hterm_vt_character_map.js\n// hterm/js/hterm_export.js\n//\n\n// SOURCE FILE: libdot/js/lib.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nif (typeof lib != 'undefined')\n throw new Error('Global \"lib\" object already exists.');\n\nvar lib = {};\n\n/**\n * Map of \"dependency\" to [\"source\", ...].\n *\n * Each dependency is a object name, like \"lib.fs\", \"source\" is the url that\n * depends on the object.\n */\nlib.runtimeDependencies_ = {};\n\n/**\n * List of functions that need to be invoked during library initialization.\n *\n * Each element in the initCallbacks_ array is itself a two-element array.\n * Element 0 is a short string describing the owner of the init routine, useful\n * for debugging. Element 1 is the callback function.\n */\nlib.initCallbacks_ = [];\n\n/**\n * Records a runtime dependency.\n *\n * This can be useful when you want to express a run-time dependency at\n * compile time. It is not intended to be a full-fledged library system or\n * dependency tracker. It's just there to make it possible to debug the\n * deps without running all the code.\n *\n * Object names are specified as strings. For example...\n *\n * lib.rtdep('lib.colors', 'lib.PreferenceManager');\n *\n * Object names need not be rooted by 'lib'. You may use this to declare a\n * dependency on any object.\n *\n * The client program may call lib.ensureRuntimeDependencies() at startup in\n * order to ensure that all runtime dependencies have been met.\n *\n * @param {string} var_args One or more objects specified as strings.\n */\nlib.rtdep = function(var_args) {\n var source;\n\n try {\n throw new Error();\n } catch (ex) {\n var stackArray = ex.stack.split('\\n');\n // In Safari, the resulting stackArray will only have 2 elements and the\n // individual strings are formatted differently.\n if (stackArray.length >= 3) {\n source = stackArray[2].replace(/^\\s*at\\s+/, '');\n } else {\n source = stackArray[1].replace(/^\\s*global code@/, '');\n }\n }\n\n for (var i = 0; i < arguments.length; i++) {\n var path = arguments[i];\n if (path instanceof Array) {\n lib.rtdep.apply(lib, path);\n } else {\n var ary = this.runtimeDependencies_[path];\n if (!ary)\n ary = this.runtimeDependencies_[path] = [];\n ary.push(source);\n }\n }\n};\n\n/**\n * Ensures that all runtime dependencies are met, or an exception is thrown.\n *\n * Every unmet runtime dependency will be logged to the JS console. If at\n * least one dependency is unmet this will raise an exception.\n */\nlib.ensureRuntimeDependencies_ = function() {\n var passed = true;\n\n for (var path in lib.runtimeDependencies_) {\n var sourceList = lib.runtimeDependencies_[path];\n var names = path.split('.');\n\n // In a document context 'window' is the global object. In a worker it's\n // called 'self'.\n var obj = (window || self);\n for (var i = 0; i < names.length; i++) {\n if (!(names[i] in obj)) {\n console.warn('Missing \"' + path + '\" is needed by', sourceList);\n passed = false;\n break;\n }\n\n obj = obj[names[i]];\n }\n }\n\n if (!passed)\n throw new Error('Failed runtime dependency check');\n};\n\n/**\n * Register an initialization function.\n *\n * The initialization functions are invoked in registration order when\n * lib.init() is invoked. Each function will receive a single parameter, which\n * is a function to be invoked when it completes its part of the initialization.\n *\n * @param {string} name A short descriptive name of the init routine useful for\n * debugging.\n * @param {function(function)} callback The initialization function to register.\n * @return {function} The callback parameter.\n */\nlib.registerInit = function(name, callback) {\n lib.initCallbacks_.push([name, callback]);\n return callback;\n};\n\n/**\n * Initialize the library.\n *\n * This will ensure that all registered runtime dependencies are met, and\n * invoke any registered initialization functions.\n *\n * Initialization is asynchronous. The library is not ready for use until\n * the onInit function is invoked.\n *\n * @param {function()} onInit The function to invoke when initialization is\n * complete.\n * @param {function(*)} opt_logFunction An optional function to send\n * initialization related log messages to.\n */\nlib.init = function(onInit, opt_logFunction) {\n var ary = lib.initCallbacks_;\n\n var initNext = function() {\n if (ary.length) {\n var rec = ary.shift();\n if (opt_logFunction)\n opt_logFunction('init: ' + rec[0]);\n rec[1](lib.f.alarm(initNext));\n } else {\n onInit();\n }\n };\n\n if (typeof onInit != 'function')\n throw new Error('Missing or invalid argument: onInit');\n\n lib.ensureRuntimeDependencies_();\n\n setTimeout(initNext, 0);\n};\n// SOURCE FILE: libdot/js/lib_polyfill.js\n// Copyright 2017 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview Polyfills for ES2016+ features we want to use.\n */\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart\nif (!String.prototype.padStart) {\n String.prototype.padStart = function(targetLength, padString) {\n // If the string is already long enough, nothing to do!\n targetLength -= this.length;\n if (targetLength <= 0)\n return String(this);\n\n if (padString === undefined)\n padString = ' ';\n\n // In case the pad is multiple chars long.\n if (targetLength > padString.length)\n padString = padString.repeat((targetLength / padString.length) + 1);\n\n return padString.slice(0, targetLength) + String(this);\n };\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd\nif (!String.prototype.padEnd) {\n String.prototype.padEnd = function(targetLength, padString) {\n // If the string is already long enough, nothing to do!\n targetLength -= this.length;\n if (targetLength <= 0)\n return String(this);\n\n if (padString === undefined)\n padString = ' ';\n\n // In case the pad is multiple chars long.\n if (targetLength > padString.length)\n padString = padString.repeat((targetLength / padString.length) + 1);\n\n return String(this) + padString.slice(0, targetLength);\n };\n}\n// SOURCE FILE: libdot/js/lib_colors.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Namespace for color utilities.\n */\nlib.colors = {};\n\n/**\n * First, some canned regular expressions we're going to use in this file.\n *\n *\n * BRACE YOURSELF\n *\n * ,~~~~.\n * |>_< ~~\n * 3`---'-/.\n * 3:::::\\v\\\n * =o=:::::\\,\\\n * | :::::\\,,\\\n *\n * THE REGULAR EXPRESSIONS\n * ARE COMING.\n *\n * There's no way to break long RE literals in JavaScript. Fix that why don't\n * you? Oh, and also there's no way to write a string that doesn't interpret\n * escapes.\n *\n * Instead, we stoop to this .replace() trick.\n */\nlib.colors.re_ = {\n // CSS hex color, #RGB.\n hex16: /#([a-f0-9])([a-f0-9])([a-f0-9])/i,\n\n // CSS hex color, #RRGGBB.\n hex24: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/i,\n\n // CSS rgb color, rgb(rrr,ggg,bbb).\n rgb: new RegExp(\n ('^/s*rgb/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,' +\n '/s*(/d{1,3})/s*/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // CSS rgb color, rgb(rrr,ggg,bbb,aaa).\n rgba: new RegExp(\n ('^/s*rgba/s*' +\n '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' +\n '(?:,/s*(/d+(?:/./d+)?)/s*)/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // Either RGB or RGBA.\n rgbx: new RegExp(\n ('^/s*rgba?/s*' +\n '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' +\n '(?:,/s*(/d+(?:/./d+)?)/s*)?/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // An X11 \"rgb:dddd/dddd/dddd\" value.\n x11rgb: /^\\s*rgb:([a-f0-9]{1,4})\\/([a-f0-9]{1,4})\\/([a-f0-9]{1,4})\\s*$/i,\n\n // English color name.\n name: /[a-z][a-z0-9\\s]+/,\n};\n\n/**\n * Convert a CSS rgb(ddd,ddd,ddd) color value into an X11 color value.\n *\n * Other CSS color values are ignored to ensure sanitary data handling.\n *\n * Each 'ddd' component is a one byte value specified in decimal.\n *\n * @param {string} value The CSS color value to convert.\n * @return {string} The X11 color value or null if the value could not be\n * converted.\n */\nlib.colors.rgbToX11 = function(value) {\n function scale(v) {\n v = (Math.min(v, 255) * 257).toString(16);\n return lib.f.zpad(v, 4);\n }\n\n var ary = value.match(lib.colors.re_.rgbx);\n if (!ary)\n return null;\n\n return 'rgb:' + scale(ary[1]) + '/' + scale(ary[2]) + '/' + scale(ary[3]);\n};\n\n/**\n * Convert a legacy X11 colover value into an CSS rgb(...) color value.\n *\n * They take the form:\n * 12 bit: #RGB -> #R000G000B000\n * 24 bit: #RRGGBB -> #RR00GG00BB00\n * 36 bit: #RRRGGGBBB -> #RRR0GGG0BBB0\n * 48 bit: #RRRRGGGGBBBB\n * These are the most significant bits.\n *\n * Truncate values back down to 24 bit since that's all CSS supports.\n */\nlib.colors.x11HexToCSS = function(v) {\n if (!v.startsWith('#'))\n return null;\n // Strip the leading # off.\n v = v.substr(1);\n\n // Reject unknown sizes.\n if ([3, 6, 9, 12].indexOf(v.length) == -1)\n return null;\n\n // Reject non-hex values.\n if (v.match(/[^a-f0-9]/i))\n return null;\n\n // Split the colors out.\n var size = v.length / 3;\n var r = v.substr(0, size);\n var g = v.substr(size, size);\n var b = v.substr(size + size, size);\n\n // Normalize to 16 bits.\n function norm16(v) {\n v = parseInt(v, 16);\n return size == 2 ? v : // 16 bit\n size == 1 ? v << 4 : // 8 bit\n v >> (4 * (size - 2)); // 24 or 32 bit\n }\n return lib.colors.arrayToRGBA([r, g, b].map(norm16));\n};\n\n/**\n * Convert an X11 color value into an CSS rgb(...) color value.\n *\n * The X11 value may be an X11 color name, or an RGB value of the form\n * rgb:hhhh/hhhh/hhhh. If a component value is less than 4 digits it is\n * padded out to 4, then scaled down to fit in a single byte.\n *\n * @param {string} value The X11 color value to convert.\n * @return {string} The CSS color value or null if the value could not be\n * converted.\n */\nlib.colors.x11ToCSS = function(v) {\n function scale(v) {\n // Pad out values with less than four digits. This padding (probably)\n // matches xterm. It's difficult to say for sure since xterm seems to\n // arrive at a padded value and then perform some combination of\n // gamma correction, color space transformation, and quantization.\n\n if (v.length == 1) {\n // Single digits pad out to four by repeating the character. \"f\" becomes\n // \"ffff\". Scaling down a hex value of this pattern by 257 is the same\n // as cutting off one byte. We skip the middle step and just double\n // the character.\n return parseInt(v + v, 16);\n }\n\n if (v.length == 2) {\n // Similar deal here. X11 pads two digit values by repeating the\n // byte (or scale up by 257). Since we're going to scale it back\n // down anyway, we can just return the original value.\n return parseInt(v, 16);\n }\n\n if (v.length == 3) {\n // Three digit values seem to be padded by repeating the final digit.\n // e.g. 10f becomes 10ff.\n v = v + v.substr(2);\n }\n\n // Scale down the 2 byte value.\n return Math.round(parseInt(v, 16) / 257);\n }\n\n var ary = v.match(lib.colors.re_.x11rgb);\n if (!ary) {\n // Handle the legacy format.\n if (v.startsWith('#'))\n return lib.colors.x11HexToCSS(v);\n else\n return lib.colors.nameToRGB(v);\n }\n\n ary.splice(0, 1);\n return lib.colors.arrayToRGBA(ary.map(scale));\n};\n\n/**\n * Converts one or more CSS '#RRGGBB' color values into their rgb(...)\n * form.\n *\n * Arrays are converted in place. If a value cannot be converted, it is\n * replaced with null.\n *\n * @param {string|Array.} A single RGB value or array of RGB values to\n * convert.\n * @return {string|Array.} The converted value or values.\n */\nlib.colors.hexToRGB = function(arg) {\n var hex16 = lib.colors.re_.hex16;\n var hex24 = lib.colors.re_.hex24;\n\n function convert(hex) {\n if (hex.length == 4) {\n hex = hex.replace(hex16, function(h, r, g, b) {\n return \"#\" + r + r + g + g + b + b;\n });\n }\n var ary = hex.match(hex24);\n if (!ary)\n return null;\n\n return 'rgb(' + parseInt(ary[1], 16) + ', ' +\n parseInt(ary[2], 16) + ', ' +\n parseInt(ary[3], 16) + ')';\n }\n\n if (arg instanceof Array) {\n for (var i = 0; i < arg.length; i++) {\n arg[i] = convert(arg[i]);\n }\n } else {\n arg = convert(arg);\n }\n\n return arg;\n};\n\n/**\n * Converts one or more CSS rgb(...) forms into their '#RRGGBB' color values.\n *\n * If given an rgba(...) form, the alpha field is thrown away.\n *\n * Arrays are converted in place. If a value cannot be converted, it is\n * replaced with null.\n *\n * @param {string|Array.} A single rgb(...) value or array of rgb(...)\n * values to convert.\n * @return {string|Array.} The converted value or values.\n */\nlib.colors.rgbToHex = function(arg) {\n function convert(rgb) {\n var ary = lib.colors.crackRGB(rgb);\n if (!ary)\n return null;\n return '#' + lib.f.zpad(((parseInt(ary[0]) << 16) |\n (parseInt(ary[1]) << 8) |\n (parseInt(ary[2]) << 0)).toString(16), 6);\n }\n\n if (arg instanceof Array) {\n for (var i = 0; i < arg.length; i++) {\n arg[i] = convert(arg[i]);\n }\n } else {\n arg = convert(arg);\n }\n\n return arg;\n};\n\n/**\n * Take any valid css color definition and turn it into an rgb or rgba value.\n *\n * Returns null if the value could not be normalized.\n */\nlib.colors.normalizeCSS = function(def) {\n if (def.startsWith('#'))\n return lib.colors.hexToRGB(def);\n\n if (lib.colors.re_.rgbx.test(def))\n return def;\n\n return lib.colors.nameToRGB(def);\n};\n\n/**\n * Convert a 3 or 4 element array into an rgba(...) string.\n */\nlib.colors.arrayToRGBA = function(ary) {\n var alpha = (ary.length > 3) ? ary[3] : 1;\n return 'rgba(' + ary[0] + ', ' + ary[1] + ', ' + ary[2] + ', ' + alpha + ')';\n};\n\n/**\n * Overwrite the alpha channel of an rgb/rgba color.\n */\nlib.colors.setAlpha = function(rgb, alpha) {\n var ary = lib.colors.crackRGB(rgb);\n ary[3] = alpha;\n return lib.colors.arrayToRGBA(ary);\n};\n\n/**\n * Mix a percentage of a tint color into a base color.\n */\nlib.colors.mix = function(base, tint, percent) {\n var ary1 = lib.colors.crackRGB(base);\n var ary2 = lib.colors.crackRGB(tint);\n\n for (var i = 0; i < 4; ++i) {\n var diff = ary2[i] - ary1[i];\n ary1[i] = Math.round(parseInt(ary1[i]) + diff * percent);\n }\n\n return lib.colors.arrayToRGBA(ary1);\n};\n\n/**\n * Split an rgb/rgba color into an array of its components.\n *\n * On success, a 4 element array will be returned. For rgb values, the alpha\n * will be set to 1.\n */\nlib.colors.crackRGB = function(color) {\n if (color.startsWith('rgba')) {\n var ary = color.match(lib.colors.re_.rgba);\n if (ary) {\n ary.shift();\n return ary;\n }\n } else {\n var ary = color.match(lib.colors.re_.rgb);\n if (ary) {\n ary.shift();\n ary.push(1);\n return ary;\n }\n }\n\n console.error('Couldn\\'t crack: ' + color);\n return null;\n};\n\n/**\n * Convert an X11 color name into a CSS rgb(...) value.\n *\n * Names are stripped of spaces and converted to lowercase. If the name is\n * unknown, null is returned.\n *\n * This list of color name to RGB mapping is derived from the stock X11\n * rgb.txt file.\n *\n * @param {string} name The color name to convert.\n * @return {string} The corresponding CSS rgb(...) value.\n */\nlib.colors.nameToRGB = function(name) {\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n name = name.toLowerCase();\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n name = name.replace(/\\s+/g, '');\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n return null;\n};\n\n/**\n * The stock color palette.\n */\nlib.colors.stockColorPalette = lib.colors.hexToRGB\n ([// The \"ANSI 16\"...\n '#000000', '#CC0000', '#4E9A06', '#C4A000',\n '#3465A4', '#75507B', '#06989A', '#D3D7CF',\n '#555753', '#EF2929', '#00BA13', '#FCE94F',\n '#729FCF', '#F200CB', '#00B5BD', '#EEEEEC',\n\n // The 6x6 color cubes...\n '#000000', '#00005F', '#000087', '#0000AF', '#0000D7', '#0000FF',\n '#005F00', '#005F5F', '#005F87', '#005FAF', '#005FD7', '#005FFF',\n '#008700', '#00875F', '#008787', '#0087AF', '#0087D7', '#0087FF',\n '#00AF00', '#00AF5F', '#00AF87', '#00AFAF', '#00AFD7', '#00AFFF',\n '#00D700', '#00D75F', '#00D787', '#00D7AF', '#00D7D7', '#00D7FF',\n '#00FF00', '#00FF5F', '#00FF87', '#00FFAF', '#00FFD7', '#00FFFF',\n\n '#5F0000', '#5F005F', '#5F0087', '#5F00AF', '#5F00D7', '#5F00FF',\n '#5F5F00', '#5F5F5F', '#5F5F87', '#5F5FAF', '#5F5FD7', '#5F5FFF',\n '#5F8700', '#5F875F', '#5F8787', '#5F87AF', '#5F87D7', '#5F87FF',\n '#5FAF00', '#5FAF5F', '#5FAF87', '#5FAFAF', '#5FAFD7', '#5FAFFF',\n '#5FD700', '#5FD75F', '#5FD787', '#5FD7AF', '#5FD7D7', '#5FD7FF',\n '#5FFF00', '#5FFF5F', '#5FFF87', '#5FFFAF', '#5FFFD7', '#5FFFFF',\n\n '#870000', '#87005F', '#870087', '#8700AF', '#8700D7', '#8700FF',\n '#875F00', '#875F5F', '#875F87', '#875FAF', '#875FD7', '#875FFF',\n '#878700', '#87875F', '#878787', '#8787AF', '#8787D7', '#8787FF',\n '#87AF00', '#87AF5F', '#87AF87', '#87AFAF', '#87AFD7', '#87AFFF',\n '#87D700', '#87D75F', '#87D787', '#87D7AF', '#87D7D7', '#87D7FF',\n '#87FF00', '#87FF5F', '#87FF87', '#87FFAF', '#87FFD7', '#87FFFF',\n\n '#AF0000', '#AF005F', '#AF0087', '#AF00AF', '#AF00D7', '#AF00FF',\n '#AF5F00', '#AF5F5F', '#AF5F87', '#AF5FAF', '#AF5FD7', '#AF5FFF',\n '#AF8700', '#AF875F', '#AF8787', '#AF87AF', '#AF87D7', '#AF87FF',\n '#AFAF00', '#AFAF5F', '#AFAF87', '#AFAFAF', '#AFAFD7', '#AFAFFF',\n '#AFD700', '#AFD75F', '#AFD787', '#AFD7AF', '#AFD7D7', '#AFD7FF',\n '#AFFF00', '#AFFF5F', '#AFFF87', '#AFFFAF', '#AFFFD7', '#AFFFFF',\n\n '#D70000', '#D7005F', '#D70087', '#D700AF', '#D700D7', '#D700FF',\n '#D75F00', '#D75F5F', '#D75F87', '#D75FAF', '#D75FD7', '#D75FFF',\n '#D78700', '#D7875F', '#D78787', '#D787AF', '#D787D7', '#D787FF',\n '#D7AF00', '#D7AF5F', '#D7AF87', '#D7AFAF', '#D7AFD7', '#D7AFFF',\n '#D7D700', '#D7D75F', '#D7D787', '#D7D7AF', '#D7D7D7', '#D7D7FF',\n '#D7FF00', '#D7FF5F', '#D7FF87', '#D7FFAF', '#D7FFD7', '#D7FFFF',\n\n '#FF0000', '#FF005F', '#FF0087', '#FF00AF', '#FF00D7', '#FF00FF',\n '#FF5F00', '#FF5F5F', '#FF5F87', '#FF5FAF', '#FF5FD7', '#FF5FFF',\n '#FF8700', '#FF875F', '#FF8787', '#FF87AF', '#FF87D7', '#FF87FF',\n '#FFAF00', '#FFAF5F', '#FFAF87', '#FFAFAF', '#FFAFD7', '#FFAFFF',\n '#FFD700', '#FFD75F', '#FFD787', '#FFD7AF', '#FFD7D7', '#FFD7FF',\n '#FFFF00', '#FFFF5F', '#FFFF87', '#FFFFAF', '#FFFFD7', '#FFFFFF',\n\n // The greyscale ramp...\n '#080808', '#121212', '#1C1C1C', '#262626', '#303030', '#3A3A3A',\n '#444444', '#4E4E4E', '#585858', '#626262', '#6C6C6C', '#767676',\n '#808080', '#8A8A8A', '#949494', '#9E9E9E', '#A8A8A8', '#B2B2B2',\n '#BCBCBC', '#C6C6C6', '#D0D0D0', '#DADADA', '#E4E4E4', '#EEEEEE'\n ]);\n\n/**\n * The current color palette, possibly with user changes.\n */\nlib.colors.colorPalette = lib.colors.stockColorPalette;\n\n/**\n * Named colors according to the stock X11 rgb.txt file.\n */\nlib.colors.colorNames = {\n \"aliceblue\": \"rgb(240, 248, 255)\",\n \"antiquewhite\": \"rgb(250, 235, 215)\",\n \"antiquewhite1\": \"rgb(255, 239, 219)\",\n \"antiquewhite2\": \"rgb(238, 223, 204)\",\n \"antiquewhite3\": \"rgb(205, 192, 176)\",\n \"antiquewhite4\": \"rgb(139, 131, 120)\",\n \"aquamarine\": \"rgb(127, 255, 212)\",\n \"aquamarine1\": \"rgb(127, 255, 212)\",\n \"aquamarine2\": \"rgb(118, 238, 198)\",\n \"aquamarine3\": \"rgb(102, 205, 170)\",\n \"aquamarine4\": \"rgb(69, 139, 116)\",\n \"azure\": \"rgb(240, 255, 255)\",\n \"azure1\": \"rgb(240, 255, 255)\",\n \"azure2\": \"rgb(224, 238, 238)\",\n \"azure3\": \"rgb(193, 205, 205)\",\n \"azure4\": \"rgb(131, 139, 139)\",\n \"beige\": \"rgb(245, 245, 220)\",\n \"bisque\": \"rgb(255, 228, 196)\",\n \"bisque1\": \"rgb(255, 228, 196)\",\n \"bisque2\": \"rgb(238, 213, 183)\",\n \"bisque3\": \"rgb(205, 183, 158)\",\n \"bisque4\": \"rgb(139, 125, 107)\",\n \"black\": \"rgb(0, 0, 0)\",\n \"blanchedalmond\": \"rgb(255, 235, 205)\",\n \"blue\": \"rgb(0, 0, 255)\",\n \"blue1\": \"rgb(0, 0, 255)\",\n \"blue2\": \"rgb(0, 0, 238)\",\n \"blue3\": \"rgb(0, 0, 205)\",\n \"blue4\": \"rgb(0, 0, 139)\",\n \"blueviolet\": \"rgb(138, 43, 226)\",\n \"brown\": \"rgb(165, 42, 42)\",\n \"brown1\": \"rgb(255, 64, 64)\",\n \"brown2\": \"rgb(238, 59, 59)\",\n \"brown3\": \"rgb(205, 51, 51)\",\n \"brown4\": \"rgb(139, 35, 35)\",\n \"burlywood\": \"rgb(222, 184, 135)\",\n \"burlywood1\": \"rgb(255, 211, 155)\",\n \"burlywood2\": \"rgb(238, 197, 145)\",\n \"burlywood3\": \"rgb(205, 170, 125)\",\n \"burlywood4\": \"rgb(139, 115, 85)\",\n \"cadetblue\": \"rgb(95, 158, 160)\",\n \"cadetblue1\": \"rgb(152, 245, 255)\",\n \"cadetblue2\": \"rgb(142, 229, 238)\",\n \"cadetblue3\": \"rgb(122, 197, 205)\",\n \"cadetblue4\": \"rgb(83, 134, 139)\",\n \"chartreuse\": \"rgb(127, 255, 0)\",\n \"chartreuse1\": \"rgb(127, 255, 0)\",\n \"chartreuse2\": \"rgb(118, 238, 0)\",\n \"chartreuse3\": \"rgb(102, 205, 0)\",\n \"chartreuse4\": \"rgb(69, 139, 0)\",\n \"chocolate\": \"rgb(210, 105, 30)\",\n \"chocolate1\": \"rgb(255, 127, 36)\",\n \"chocolate2\": \"rgb(238, 118, 33)\",\n \"chocolate3\": \"rgb(205, 102, 29)\",\n \"chocolate4\": \"rgb(139, 69, 19)\",\n \"coral\": \"rgb(255, 127, 80)\",\n \"coral1\": \"rgb(255, 114, 86)\",\n \"coral2\": \"rgb(238, 106, 80)\",\n \"coral3\": \"rgb(205, 91, 69)\",\n \"coral4\": \"rgb(139, 62, 47)\",\n \"cornflowerblue\": \"rgb(100, 149, 237)\",\n \"cornsilk\": \"rgb(255, 248, 220)\",\n \"cornsilk1\": \"rgb(255, 248, 220)\",\n \"cornsilk2\": \"rgb(238, 232, 205)\",\n \"cornsilk3\": \"rgb(205, 200, 177)\",\n \"cornsilk4\": \"rgb(139, 136, 120)\",\n \"cyan\": \"rgb(0, 255, 255)\",\n \"cyan1\": \"rgb(0, 255, 255)\",\n \"cyan2\": \"rgb(0, 238, 238)\",\n \"cyan3\": \"rgb(0, 205, 205)\",\n \"cyan4\": \"rgb(0, 139, 139)\",\n \"darkblue\": \"rgb(0, 0, 139)\",\n \"darkcyan\": \"rgb(0, 139, 139)\",\n \"darkgoldenrod\": \"rgb(184, 134, 11)\",\n \"darkgoldenrod1\": \"rgb(255, 185, 15)\",\n \"darkgoldenrod2\": \"rgb(238, 173, 14)\",\n \"darkgoldenrod3\": \"rgb(205, 149, 12)\",\n \"darkgoldenrod4\": \"rgb(139, 101, 8)\",\n \"darkgray\": \"rgb(169, 169, 169)\",\n \"darkgreen\": \"rgb(0, 100, 0)\",\n \"darkgrey\": \"rgb(169, 169, 169)\",\n \"darkkhaki\": \"rgb(189, 183, 107)\",\n \"darkmagenta\": \"rgb(139, 0, 139)\",\n \"darkolivegreen\": \"rgb(85, 107, 47)\",\n \"darkolivegreen1\": \"rgb(202, 255, 112)\",\n \"darkolivegreen2\": \"rgb(188, 238, 104)\",\n \"darkolivegreen3\": \"rgb(162, 205, 90)\",\n \"darkolivegreen4\": \"rgb(110, 139, 61)\",\n \"darkorange\": \"rgb(255, 140, 0)\",\n \"darkorange1\": \"rgb(255, 127, 0)\",\n \"darkorange2\": \"rgb(238, 118, 0)\",\n \"darkorange3\": \"rgb(205, 102, 0)\",\n \"darkorange4\": \"rgb(139, 69, 0)\",\n \"darkorchid\": \"rgb(153, 50, 204)\",\n \"darkorchid1\": \"rgb(191, 62, 255)\",\n \"darkorchid2\": \"rgb(178, 58, 238)\",\n \"darkorchid3\": \"rgb(154, 50, 205)\",\n \"darkorchid4\": \"rgb(104, 34, 139)\",\n \"darkred\": \"rgb(139, 0, 0)\",\n \"darksalmon\": \"rgb(233, 150, 122)\",\n \"darkseagreen\": \"rgb(143, 188, 143)\",\n \"darkseagreen1\": \"rgb(193, 255, 193)\",\n \"darkseagreen2\": \"rgb(180, 238, 180)\",\n \"darkseagreen3\": \"rgb(155, 205, 155)\",\n \"darkseagreen4\": \"rgb(105, 139, 105)\",\n \"darkslateblue\": \"rgb(72, 61, 139)\",\n \"darkslategray\": \"rgb(47, 79, 79)\",\n \"darkslategray1\": \"rgb(151, 255, 255)\",\n \"darkslategray2\": \"rgb(141, 238, 238)\",\n \"darkslategray3\": \"rgb(121, 205, 205)\",\n \"darkslategray4\": \"rgb(82, 139, 139)\",\n \"darkslategrey\": \"rgb(47, 79, 79)\",\n \"darkturquoise\": \"rgb(0, 206, 209)\",\n \"darkviolet\": \"rgb(148, 0, 211)\",\n \"debianred\": \"rgb(215, 7, 81)\",\n \"deeppink\": \"rgb(255, 20, 147)\",\n \"deeppink1\": \"rgb(255, 20, 147)\",\n \"deeppink2\": \"rgb(238, 18, 137)\",\n \"deeppink3\": \"rgb(205, 16, 118)\",\n \"deeppink4\": \"rgb(139, 10, 80)\",\n \"deepskyblue\": \"rgb(0, 191, 255)\",\n \"deepskyblue1\": \"rgb(0, 191, 255)\",\n \"deepskyblue2\": \"rgb(0, 178, 238)\",\n \"deepskyblue3\": \"rgb(0, 154, 205)\",\n \"deepskyblue4\": \"rgb(0, 104, 139)\",\n \"dimgray\": \"rgb(105, 105, 105)\",\n \"dimgrey\": \"rgb(105, 105, 105)\",\n \"dodgerblue\": \"rgb(30, 144, 255)\",\n \"dodgerblue1\": \"rgb(30, 144, 255)\",\n \"dodgerblue2\": \"rgb(28, 134, 238)\",\n \"dodgerblue3\": \"rgb(24, 116, 205)\",\n \"dodgerblue4\": \"rgb(16, 78, 139)\",\n \"firebrick\": \"rgb(178, 34, 34)\",\n \"firebrick1\": \"rgb(255, 48, 48)\",\n \"firebrick2\": \"rgb(238, 44, 44)\",\n \"firebrick3\": \"rgb(205, 38, 38)\",\n \"firebrick4\": \"rgb(139, 26, 26)\",\n \"floralwhite\": \"rgb(255, 250, 240)\",\n \"forestgreen\": \"rgb(34, 139, 34)\",\n \"gainsboro\": \"rgb(220, 220, 220)\",\n \"ghostwhite\": \"rgb(248, 248, 255)\",\n \"gold\": \"rgb(255, 215, 0)\",\n \"gold1\": \"rgb(255, 215, 0)\",\n \"gold2\": \"rgb(238, 201, 0)\",\n \"gold3\": \"rgb(205, 173, 0)\",\n \"gold4\": \"rgb(139, 117, 0)\",\n \"goldenrod\": \"rgb(218, 165, 32)\",\n \"goldenrod1\": \"rgb(255, 193, 37)\",\n \"goldenrod2\": \"rgb(238, 180, 34)\",\n \"goldenrod3\": \"rgb(205, 155, 29)\",\n \"goldenrod4\": \"rgb(139, 105, 20)\",\n \"gray\": \"rgb(190, 190, 190)\",\n \"gray0\": \"rgb(0, 0, 0)\",\n \"gray1\": \"rgb(3, 3, 3)\",\n \"gray10\": \"rgb(26, 26, 26)\",\n \"gray100\": \"rgb(255, 255, 255)\",\n \"gray11\": \"rgb(28, 28, 28)\",\n \"gray12\": \"rgb(31, 31, 31)\",\n \"gray13\": \"rgb(33, 33, 33)\",\n \"gray14\": \"rgb(36, 36, 36)\",\n \"gray15\": \"rgb(38, 38, 38)\",\n \"gray16\": \"rgb(41, 41, 41)\",\n \"gray17\": \"rgb(43, 43, 43)\",\n \"gray18\": \"rgb(46, 46, 46)\",\n \"gray19\": \"rgb(48, 48, 48)\",\n \"gray2\": \"rgb(5, 5, 5)\",\n \"gray20\": \"rgb(51, 51, 51)\",\n \"gray21\": \"rgb(54, 54, 54)\",\n \"gray22\": \"rgb(56, 56, 56)\",\n \"gray23\": \"rgb(59, 59, 59)\",\n \"gray24\": \"rgb(61, 61, 61)\",\n \"gray25\": \"rgb(64, 64, 64)\",\n \"gray26\": \"rgb(66, 66, 66)\",\n \"gray27\": \"rgb(69, 69, 69)\",\n \"gray28\": \"rgb(71, 71, 71)\",\n \"gray29\": \"rgb(74, 74, 74)\",\n \"gray3\": \"rgb(8, 8, 8)\",\n \"gray30\": \"rgb(77, 77, 77)\",\n \"gray31\": \"rgb(79, 79, 79)\",\n \"gray32\": \"rgb(82, 82, 82)\",\n \"gray33\": \"rgb(84, 84, 84)\",\n \"gray34\": \"rgb(87, 87, 87)\",\n \"gray35\": \"rgb(89, 89, 89)\",\n \"gray36\": \"rgb(92, 92, 92)\",\n \"gray37\": \"rgb(94, 94, 94)\",\n \"gray38\": \"rgb(97, 97, 97)\",\n \"gray39\": \"rgb(99, 99, 99)\",\n \"gray4\": \"rgb(10, 10, 10)\",\n \"gray40\": \"rgb(102, 102, 102)\",\n \"gray41\": \"rgb(105, 105, 105)\",\n \"gray42\": \"rgb(107, 107, 107)\",\n \"gray43\": \"rgb(110, 110, 110)\",\n \"gray44\": \"rgb(112, 112, 112)\",\n \"gray45\": \"rgb(115, 115, 115)\",\n \"gray46\": \"rgb(117, 117, 117)\",\n \"gray47\": \"rgb(120, 120, 120)\",\n \"gray48\": \"rgb(122, 122, 122)\",\n \"gray49\": \"rgb(125, 125, 125)\",\n \"gray5\": \"rgb(13, 13, 13)\",\n \"gray50\": \"rgb(127, 127, 127)\",\n \"gray51\": \"rgb(130, 130, 130)\",\n \"gray52\": \"rgb(133, 133, 133)\",\n \"gray53\": \"rgb(135, 135, 135)\",\n \"gray54\": \"rgb(138, 138, 138)\",\n \"gray55\": \"rgb(140, 140, 140)\",\n \"gray56\": \"rgb(143, 143, 143)\",\n \"gray57\": \"rgb(145, 145, 145)\",\n \"gray58\": \"rgb(148, 148, 148)\",\n \"gray59\": \"rgb(150, 150, 150)\",\n \"gray6\": \"rgb(15, 15, 15)\",\n \"gray60\": \"rgb(153, 153, 153)\",\n \"gray61\": \"rgb(156, 156, 156)\",\n \"gray62\": \"rgb(158, 158, 158)\",\n \"gray63\": \"rgb(161, 161, 161)\",\n \"gray64\": \"rgb(163, 163, 163)\",\n \"gray65\": \"rgb(166, 166, 166)\",\n \"gray66\": \"rgb(168, 168, 168)\",\n \"gray67\": \"rgb(171, 171, 171)\",\n \"gray68\": \"rgb(173, 173, 173)\",\n \"gray69\": \"rgb(176, 176, 176)\",\n \"gray7\": \"rgb(18, 18, 18)\",\n \"gray70\": \"rgb(179, 179, 179)\",\n \"gray71\": \"rgb(181, 181, 181)\",\n \"gray72\": \"rgb(184, 184, 184)\",\n \"gray73\": \"rgb(186, 186, 186)\",\n \"gray74\": \"rgb(189, 189, 189)\",\n \"gray75\": \"rgb(191, 191, 191)\",\n \"gray76\": \"rgb(194, 194, 194)\",\n \"gray77\": \"rgb(196, 196, 196)\",\n \"gray78\": \"rgb(199, 199, 199)\",\n \"gray79\": \"rgb(201, 201, 201)\",\n \"gray8\": \"rgb(20, 20, 20)\",\n \"gray80\": \"rgb(204, 204, 204)\",\n \"gray81\": \"rgb(207, 207, 207)\",\n \"gray82\": \"rgb(209, 209, 209)\",\n \"gray83\": \"rgb(212, 212, 212)\",\n \"gray84\": \"rgb(214, 214, 214)\",\n \"gray85\": \"rgb(217, 217, 217)\",\n \"gray86\": \"rgb(219, 219, 219)\",\n \"gray87\": \"rgb(222, 222, 222)\",\n \"gray88\": \"rgb(224, 224, 224)\",\n \"gray89\": \"rgb(227, 227, 227)\",\n \"gray9\": \"rgb(23, 23, 23)\",\n \"gray90\": \"rgb(229, 229, 229)\",\n \"gray91\": \"rgb(232, 232, 232)\",\n \"gray92\": \"rgb(235, 235, 235)\",\n \"gray93\": \"rgb(237, 237, 237)\",\n \"gray94\": \"rgb(240, 240, 240)\",\n \"gray95\": \"rgb(242, 242, 242)\",\n \"gray96\": \"rgb(245, 245, 245)\",\n \"gray97\": \"rgb(247, 247, 247)\",\n \"gray98\": \"rgb(250, 250, 250)\",\n \"gray99\": \"rgb(252, 252, 252)\",\n \"green\": \"rgb(0, 255, 0)\",\n \"green1\": \"rgb(0, 255, 0)\",\n \"green2\": \"rgb(0, 238, 0)\",\n \"green3\": \"rgb(0, 205, 0)\",\n \"green4\": \"rgb(0, 139, 0)\",\n \"greenyellow\": \"rgb(173, 255, 47)\",\n \"grey\": \"rgb(190, 190, 190)\",\n \"grey0\": \"rgb(0, 0, 0)\",\n \"grey1\": \"rgb(3, 3, 3)\",\n \"grey10\": \"rgb(26, 26, 26)\",\n \"grey100\": \"rgb(255, 255, 255)\",\n \"grey11\": \"rgb(28, 28, 28)\",\n \"grey12\": \"rgb(31, 31, 31)\",\n \"grey13\": \"rgb(33, 33, 33)\",\n \"grey14\": \"rgb(36, 36, 36)\",\n \"grey15\": \"rgb(38, 38, 38)\",\n \"grey16\": \"rgb(41, 41, 41)\",\n \"grey17\": \"rgb(43, 43, 43)\",\n \"grey18\": \"rgb(46, 46, 46)\",\n \"grey19\": \"rgb(48, 48, 48)\",\n \"grey2\": \"rgb(5, 5, 5)\",\n \"grey20\": \"rgb(51, 51, 51)\",\n \"grey21\": \"rgb(54, 54, 54)\",\n \"grey22\": \"rgb(56, 56, 56)\",\n \"grey23\": \"rgb(59, 59, 59)\",\n \"grey24\": \"rgb(61, 61, 61)\",\n \"grey25\": \"rgb(64, 64, 64)\",\n \"grey26\": \"rgb(66, 66, 66)\",\n \"grey27\": \"rgb(69, 69, 69)\",\n \"grey28\": \"rgb(71, 71, 71)\",\n \"grey29\": \"rgb(74, 74, 74)\",\n \"grey3\": \"rgb(8, 8, 8)\",\n \"grey30\": \"rgb(77, 77, 77)\",\n \"grey31\": \"rgb(79, 79, 79)\",\n \"grey32\": \"rgb(82, 82, 82)\",\n \"grey33\": \"rgb(84, 84, 84)\",\n \"grey34\": \"rgb(87, 87, 87)\",\n \"grey35\": \"rgb(89, 89, 89)\",\n \"grey36\": \"rgb(92, 92, 92)\",\n \"grey37\": \"rgb(94, 94, 94)\",\n \"grey38\": \"rgb(97, 97, 97)\",\n \"grey39\": \"rgb(99, 99, 99)\",\n \"grey4\": \"rgb(10, 10, 10)\",\n \"grey40\": \"rgb(102, 102, 102)\",\n \"grey41\": \"rgb(105, 105, 105)\",\n \"grey42\": \"rgb(107, 107, 107)\",\n \"grey43\": \"rgb(110, 110, 110)\",\n \"grey44\": \"rgb(112, 112, 112)\",\n \"grey45\": \"rgb(115, 115, 115)\",\n \"grey46\": \"rgb(117, 117, 117)\",\n \"grey47\": \"rgb(120, 120, 120)\",\n \"grey48\": \"rgb(122, 122, 122)\",\n \"grey49\": \"rgb(125, 125, 125)\",\n \"grey5\": \"rgb(13, 13, 13)\",\n \"grey50\": \"rgb(127, 127, 127)\",\n \"grey51\": \"rgb(130, 130, 130)\",\n \"grey52\": \"rgb(133, 133, 133)\",\n \"grey53\": \"rgb(135, 135, 135)\",\n \"grey54\": \"rgb(138, 138, 138)\",\n \"grey55\": \"rgb(140, 140, 140)\",\n \"grey56\": \"rgb(143, 143, 143)\",\n \"grey57\": \"rgb(145, 145, 145)\",\n \"grey58\": \"rgb(148, 148, 148)\",\n \"grey59\": \"rgb(150, 150, 150)\",\n \"grey6\": \"rgb(15, 15, 15)\",\n \"grey60\": \"rgb(153, 153, 153)\",\n \"grey61\": \"rgb(156, 156, 156)\",\n \"grey62\": \"rgb(158, 158, 158)\",\n \"grey63\": \"rgb(161, 161, 161)\",\n \"grey64\": \"rgb(163, 163, 163)\",\n \"grey65\": \"rgb(166, 166, 166)\",\n \"grey66\": \"rgb(168, 168, 168)\",\n \"grey67\": \"rgb(171, 171, 171)\",\n \"grey68\": \"rgb(173, 173, 173)\",\n \"grey69\": \"rgb(176, 176, 176)\",\n \"grey7\": \"rgb(18, 18, 18)\",\n \"grey70\": \"rgb(179, 179, 179)\",\n \"grey71\": \"rgb(181, 181, 181)\",\n \"grey72\": \"rgb(184, 184, 184)\",\n \"grey73\": \"rgb(186, 186, 186)\",\n \"grey74\": \"rgb(189, 189, 189)\",\n \"grey75\": \"rgb(191, 191, 191)\",\n \"grey76\": \"rgb(194, 194, 194)\",\n \"grey77\": \"rgb(196, 196, 196)\",\n \"grey78\": \"rgb(199, 199, 199)\",\n \"grey79\": \"rgb(201, 201, 201)\",\n \"grey8\": \"rgb(20, 20, 20)\",\n \"grey80\": \"rgb(204, 204, 204)\",\n \"grey81\": \"rgb(207, 207, 207)\",\n \"grey82\": \"rgb(209, 209, 209)\",\n \"grey83\": \"rgb(212, 212, 212)\",\n \"grey84\": \"rgb(214, 214, 214)\",\n \"grey85\": \"rgb(217, 217, 217)\",\n \"grey86\": \"rgb(219, 219, 219)\",\n \"grey87\": \"rgb(222, 222, 222)\",\n \"grey88\": \"rgb(224, 224, 224)\",\n \"grey89\": \"rgb(227, 227, 227)\",\n \"grey9\": \"rgb(23, 23, 23)\",\n \"grey90\": \"rgb(229, 229, 229)\",\n \"grey91\": \"rgb(232, 232, 232)\",\n \"grey92\": \"rgb(235, 235, 235)\",\n \"grey93\": \"rgb(237, 237, 237)\",\n \"grey94\": \"rgb(240, 240, 240)\",\n \"grey95\": \"rgb(242, 242, 242)\",\n \"grey96\": \"rgb(245, 245, 245)\",\n \"grey97\": \"rgb(247, 247, 247)\",\n \"grey98\": \"rgb(250, 250, 250)\",\n \"grey99\": \"rgb(252, 252, 252)\",\n \"honeydew\": \"rgb(240, 255, 240)\",\n \"honeydew1\": \"rgb(240, 255, 240)\",\n \"honeydew2\": \"rgb(224, 238, 224)\",\n \"honeydew3\": \"rgb(193, 205, 193)\",\n \"honeydew4\": \"rgb(131, 139, 131)\",\n \"hotpink\": \"rgb(255, 105, 180)\",\n \"hotpink1\": \"rgb(255, 110, 180)\",\n \"hotpink2\": \"rgb(238, 106, 167)\",\n \"hotpink3\": \"rgb(205, 96, 144)\",\n \"hotpink4\": \"rgb(139, 58, 98)\",\n \"indianred\": \"rgb(205, 92, 92)\",\n \"indianred1\": \"rgb(255, 106, 106)\",\n \"indianred2\": \"rgb(238, 99, 99)\",\n \"indianred3\": \"rgb(205, 85, 85)\",\n \"indianred4\": \"rgb(139, 58, 58)\",\n \"ivory\": \"rgb(255, 255, 240)\",\n \"ivory1\": \"rgb(255, 255, 240)\",\n \"ivory2\": \"rgb(238, 238, 224)\",\n \"ivory3\": \"rgb(205, 205, 193)\",\n \"ivory4\": \"rgb(139, 139, 131)\",\n \"khaki\": \"rgb(240, 230, 140)\",\n \"khaki1\": \"rgb(255, 246, 143)\",\n \"khaki2\": \"rgb(238, 230, 133)\",\n \"khaki3\": \"rgb(205, 198, 115)\",\n \"khaki4\": \"rgb(139, 134, 78)\",\n \"lavender\": \"rgb(230, 230, 250)\",\n \"lavenderblush\": \"rgb(255, 240, 245)\",\n \"lavenderblush1\": \"rgb(255, 240, 245)\",\n \"lavenderblush2\": \"rgb(238, 224, 229)\",\n \"lavenderblush3\": \"rgb(205, 193, 197)\",\n \"lavenderblush4\": \"rgb(139, 131, 134)\",\n \"lawngreen\": \"rgb(124, 252, 0)\",\n \"lemonchiffon\": \"rgb(255, 250, 205)\",\n \"lemonchiffon1\": \"rgb(255, 250, 205)\",\n \"lemonchiffon2\": \"rgb(238, 233, 191)\",\n \"lemonchiffon3\": \"rgb(205, 201, 165)\",\n \"lemonchiffon4\": \"rgb(139, 137, 112)\",\n \"lightblue\": \"rgb(173, 216, 230)\",\n \"lightblue1\": \"rgb(191, 239, 255)\",\n \"lightblue2\": \"rgb(178, 223, 238)\",\n \"lightblue3\": \"rgb(154, 192, 205)\",\n \"lightblue4\": \"rgb(104, 131, 139)\",\n \"lightcoral\": \"rgb(240, 128, 128)\",\n \"lightcyan\": \"rgb(224, 255, 255)\",\n \"lightcyan1\": \"rgb(224, 255, 255)\",\n \"lightcyan2\": \"rgb(209, 238, 238)\",\n \"lightcyan3\": \"rgb(180, 205, 205)\",\n \"lightcyan4\": \"rgb(122, 139, 139)\",\n \"lightgoldenrod\": \"rgb(238, 221, 130)\",\n \"lightgoldenrod1\": \"rgb(255, 236, 139)\",\n \"lightgoldenrod2\": \"rgb(238, 220, 130)\",\n \"lightgoldenrod3\": \"rgb(205, 190, 112)\",\n \"lightgoldenrod4\": \"rgb(139, 129, 76)\",\n \"lightgoldenrodyellow\": \"rgb(250, 250, 210)\",\n \"lightgray\": \"rgb(211, 211, 211)\",\n \"lightgreen\": \"rgb(144, 238, 144)\",\n \"lightgrey\": \"rgb(211, 211, 211)\",\n \"lightpink\": \"rgb(255, 182, 193)\",\n \"lightpink1\": \"rgb(255, 174, 185)\",\n \"lightpink2\": \"rgb(238, 162, 173)\",\n \"lightpink3\": \"rgb(205, 140, 149)\",\n \"lightpink4\": \"rgb(139, 95, 101)\",\n \"lightsalmon\": \"rgb(255, 160, 122)\",\n \"lightsalmon1\": \"rgb(255, 160, 122)\",\n \"lightsalmon2\": \"rgb(238, 149, 114)\",\n \"lightsalmon3\": \"rgb(205, 129, 98)\",\n \"lightsalmon4\": \"rgb(139, 87, 66)\",\n \"lightseagreen\": \"rgb(32, 178, 170)\",\n \"lightskyblue\": \"rgb(135, 206, 250)\",\n \"lightskyblue1\": \"rgb(176, 226, 255)\",\n \"lightskyblue2\": \"rgb(164, 211, 238)\",\n \"lightskyblue3\": \"rgb(141, 182, 205)\",\n \"lightskyblue4\": \"rgb(96, 123, 139)\",\n \"lightslateblue\": \"rgb(132, 112, 255)\",\n \"lightslategray\": \"rgb(119, 136, 153)\",\n \"lightslategrey\": \"rgb(119, 136, 153)\",\n \"lightsteelblue\": \"rgb(176, 196, 222)\",\n \"lightsteelblue1\": \"rgb(202, 225, 255)\",\n \"lightsteelblue2\": \"rgb(188, 210, 238)\",\n \"lightsteelblue3\": \"rgb(162, 181, 205)\",\n \"lightsteelblue4\": \"rgb(110, 123, 139)\",\n \"lightyellow\": \"rgb(255, 255, 224)\",\n \"lightyellow1\": \"rgb(255, 255, 224)\",\n \"lightyellow2\": \"rgb(238, 238, 209)\",\n \"lightyellow3\": \"rgb(205, 205, 180)\",\n \"lightyellow4\": \"rgb(139, 139, 122)\",\n \"limegreen\": \"rgb(50, 205, 50)\",\n \"linen\": \"rgb(250, 240, 230)\",\n \"magenta\": \"rgb(255, 0, 255)\",\n \"magenta1\": \"rgb(255, 0, 255)\",\n \"magenta2\": \"rgb(238, 0, 238)\",\n \"magenta3\": \"rgb(205, 0, 205)\",\n \"magenta4\": \"rgb(139, 0, 139)\",\n \"maroon\": \"rgb(176, 48, 96)\",\n \"maroon1\": \"rgb(255, 52, 179)\",\n \"maroon2\": \"rgb(238, 48, 167)\",\n \"maroon3\": \"rgb(205, 41, 144)\",\n \"maroon4\": \"rgb(139, 28, 98)\",\n \"mediumaquamarine\": \"rgb(102, 205, 170)\",\n \"mediumblue\": \"rgb(0, 0, 205)\",\n \"mediumorchid\": \"rgb(186, 85, 211)\",\n \"mediumorchid1\": \"rgb(224, 102, 255)\",\n \"mediumorchid2\": \"rgb(209, 95, 238)\",\n \"mediumorchid3\": \"rgb(180, 82, 205)\",\n \"mediumorchid4\": \"rgb(122, 55, 139)\",\n \"mediumpurple\": \"rgb(147, 112, 219)\",\n \"mediumpurple1\": \"rgb(171, 130, 255)\",\n \"mediumpurple2\": \"rgb(159, 121, 238)\",\n \"mediumpurple3\": \"rgb(137, 104, 205)\",\n \"mediumpurple4\": \"rgb(93, 71, 139)\",\n \"mediumseagreen\": \"rgb(60, 179, 113)\",\n \"mediumslateblue\": \"rgb(123, 104, 238)\",\n \"mediumspringgreen\": \"rgb(0, 250, 154)\",\n \"mediumturquoise\": \"rgb(72, 209, 204)\",\n \"mediumvioletred\": \"rgb(199, 21, 133)\",\n \"midnightblue\": \"rgb(25, 25, 112)\",\n \"mintcream\": \"rgb(245, 255, 250)\",\n \"mistyrose\": \"rgb(255, 228, 225)\",\n \"mistyrose1\": \"rgb(255, 228, 225)\",\n \"mistyrose2\": \"rgb(238, 213, 210)\",\n \"mistyrose3\": \"rgb(205, 183, 181)\",\n \"mistyrose4\": \"rgb(139, 125, 123)\",\n \"moccasin\": \"rgb(255, 228, 181)\",\n \"navajowhite\": \"rgb(255, 222, 173)\",\n \"navajowhite1\": \"rgb(255, 222, 173)\",\n \"navajowhite2\": \"rgb(238, 207, 161)\",\n \"navajowhite3\": \"rgb(205, 179, 139)\",\n \"navajowhite4\": \"rgb(139, 121, 94)\",\n \"navy\": \"rgb(0, 0, 128)\",\n \"navyblue\": \"rgb(0, 0, 128)\",\n \"oldlace\": \"rgb(253, 245, 230)\",\n \"olivedrab\": \"rgb(107, 142, 35)\",\n \"olivedrab1\": \"rgb(192, 255, 62)\",\n \"olivedrab2\": \"rgb(179, 238, 58)\",\n \"olivedrab3\": \"rgb(154, 205, 50)\",\n \"olivedrab4\": \"rgb(105, 139, 34)\",\n \"orange\": \"rgb(255, 165, 0)\",\n \"orange1\": \"rgb(255, 165, 0)\",\n \"orange2\": \"rgb(238, 154, 0)\",\n \"orange3\": \"rgb(205, 133, 0)\",\n \"orange4\": \"rgb(139, 90, 0)\",\n \"orangered\": \"rgb(255, 69, 0)\",\n \"orangered1\": \"rgb(255, 69, 0)\",\n \"orangered2\": \"rgb(238, 64, 0)\",\n \"orangered3\": \"rgb(205, 55, 0)\",\n \"orangered4\": \"rgb(139, 37, 0)\",\n \"orchid\": \"rgb(218, 112, 214)\",\n \"orchid1\": \"rgb(255, 131, 250)\",\n \"orchid2\": \"rgb(238, 122, 233)\",\n \"orchid3\": \"rgb(205, 105, 201)\",\n \"orchid4\": \"rgb(139, 71, 137)\",\n \"palegoldenrod\": \"rgb(238, 232, 170)\",\n \"palegreen\": \"rgb(152, 251, 152)\",\n \"palegreen1\": \"rgb(154, 255, 154)\",\n \"palegreen2\": \"rgb(144, 238, 144)\",\n \"palegreen3\": \"rgb(124, 205, 124)\",\n \"palegreen4\": \"rgb(84, 139, 84)\",\n \"paleturquoise\": \"rgb(175, 238, 238)\",\n \"paleturquoise1\": \"rgb(187, 255, 255)\",\n \"paleturquoise2\": \"rgb(174, 238, 238)\",\n \"paleturquoise3\": \"rgb(150, 205, 205)\",\n \"paleturquoise4\": \"rgb(102, 139, 139)\",\n \"palevioletred\": \"rgb(219, 112, 147)\",\n \"palevioletred1\": \"rgb(255, 130, 171)\",\n \"palevioletred2\": \"rgb(238, 121, 159)\",\n \"palevioletred3\": \"rgb(205, 104, 137)\",\n \"palevioletred4\": \"rgb(139, 71, 93)\",\n \"papayawhip\": \"rgb(255, 239, 213)\",\n \"peachpuff\": \"rgb(255, 218, 185)\",\n \"peachpuff1\": \"rgb(255, 218, 185)\",\n \"peachpuff2\": \"rgb(238, 203, 173)\",\n \"peachpuff3\": \"rgb(205, 175, 149)\",\n \"peachpuff4\": \"rgb(139, 119, 101)\",\n \"peru\": \"rgb(205, 133, 63)\",\n \"pink\": \"rgb(255, 192, 203)\",\n \"pink1\": \"rgb(255, 181, 197)\",\n \"pink2\": \"rgb(238, 169, 184)\",\n \"pink3\": \"rgb(205, 145, 158)\",\n \"pink4\": \"rgb(139, 99, 108)\",\n \"plum\": \"rgb(221, 160, 221)\",\n \"plum1\": \"rgb(255, 187, 255)\",\n \"plum2\": \"rgb(238, 174, 238)\",\n \"plum3\": \"rgb(205, 150, 205)\",\n \"plum4\": \"rgb(139, 102, 139)\",\n \"powderblue\": \"rgb(176, 224, 230)\",\n \"purple\": \"rgb(160, 32, 240)\",\n \"purple1\": \"rgb(155, 48, 255)\",\n \"purple2\": \"rgb(145, 44, 238)\",\n \"purple3\": \"rgb(125, 38, 205)\",\n \"purple4\": \"rgb(85, 26, 139)\",\n \"red\": \"rgb(255, 0, 0)\",\n \"red1\": \"rgb(255, 0, 0)\",\n \"red2\": \"rgb(238, 0, 0)\",\n \"red3\": \"rgb(205, 0, 0)\",\n \"red4\": \"rgb(139, 0, 0)\",\n \"rosybrown\": \"rgb(188, 143, 143)\",\n \"rosybrown1\": \"rgb(255, 193, 193)\",\n \"rosybrown2\": \"rgb(238, 180, 180)\",\n \"rosybrown3\": \"rgb(205, 155, 155)\",\n \"rosybrown4\": \"rgb(139, 105, 105)\",\n \"royalblue\": \"rgb(65, 105, 225)\",\n \"royalblue1\": \"rgb(72, 118, 255)\",\n \"royalblue2\": \"rgb(67, 110, 238)\",\n \"royalblue3\": \"rgb(58, 95, 205)\",\n \"royalblue4\": \"rgb(39, 64, 139)\",\n \"saddlebrown\": \"rgb(139, 69, 19)\",\n \"salmon\": \"rgb(250, 128, 114)\",\n \"salmon1\": \"rgb(255, 140, 105)\",\n \"salmon2\": \"rgb(238, 130, 98)\",\n \"salmon3\": \"rgb(205, 112, 84)\",\n \"salmon4\": \"rgb(139, 76, 57)\",\n \"sandybrown\": \"rgb(244, 164, 96)\",\n \"seagreen\": \"rgb(46, 139, 87)\",\n \"seagreen1\": \"rgb(84, 255, 159)\",\n \"seagreen2\": \"rgb(78, 238, 148)\",\n \"seagreen3\": \"rgb(67, 205, 128)\",\n \"seagreen4\": \"rgb(46, 139, 87)\",\n \"seashell\": \"rgb(255, 245, 238)\",\n \"seashell1\": \"rgb(255, 245, 238)\",\n \"seashell2\": \"rgb(238, 229, 222)\",\n \"seashell3\": \"rgb(205, 197, 191)\",\n \"seashell4\": \"rgb(139, 134, 130)\",\n \"sienna\": \"rgb(160, 82, 45)\",\n \"sienna1\": \"rgb(255, 130, 71)\",\n \"sienna2\": \"rgb(238, 121, 66)\",\n \"sienna3\": \"rgb(205, 104, 57)\",\n \"sienna4\": \"rgb(139, 71, 38)\",\n \"skyblue\": \"rgb(135, 206, 235)\",\n \"skyblue1\": \"rgb(135, 206, 255)\",\n \"skyblue2\": \"rgb(126, 192, 238)\",\n \"skyblue3\": \"rgb(108, 166, 205)\",\n \"skyblue4\": \"rgb(74, 112, 139)\",\n \"slateblue\": \"rgb(106, 90, 205)\",\n \"slateblue1\": \"rgb(131, 111, 255)\",\n \"slateblue2\": \"rgb(122, 103, 238)\",\n \"slateblue3\": \"rgb(105, 89, 205)\",\n \"slateblue4\": \"rgb(71, 60, 139)\",\n \"slategray\": \"rgb(112, 128, 144)\",\n \"slategray1\": \"rgb(198, 226, 255)\",\n \"slategray2\": \"rgb(185, 211, 238)\",\n \"slategray3\": \"rgb(159, 182, 205)\",\n \"slategray4\": \"rgb(108, 123, 139)\",\n \"slategrey\": \"rgb(112, 128, 144)\",\n \"snow\": \"rgb(255, 250, 250)\",\n \"snow1\": \"rgb(255, 250, 250)\",\n \"snow2\": \"rgb(238, 233, 233)\",\n \"snow3\": \"rgb(205, 201, 201)\",\n \"snow4\": \"rgb(139, 137, 137)\",\n \"springgreen\": \"rgb(0, 255, 127)\",\n \"springgreen1\": \"rgb(0, 255, 127)\",\n \"springgreen2\": \"rgb(0, 238, 118)\",\n \"springgreen3\": \"rgb(0, 205, 102)\",\n \"springgreen4\": \"rgb(0, 139, 69)\",\n \"steelblue\": \"rgb(70, 130, 180)\",\n \"steelblue1\": \"rgb(99, 184, 255)\",\n \"steelblue2\": \"rgb(92, 172, 238)\",\n \"steelblue3\": \"rgb(79, 148, 205)\",\n \"steelblue4\": \"rgb(54, 100, 139)\",\n \"tan\": \"rgb(210, 180, 140)\",\n \"tan1\": \"rgb(255, 165, 79)\",\n \"tan2\": \"rgb(238, 154, 73)\",\n \"tan3\": \"rgb(205, 133, 63)\",\n \"tan4\": \"rgb(139, 90, 43)\",\n \"thistle\": \"rgb(216, 191, 216)\",\n \"thistle1\": \"rgb(255, 225, 255)\",\n \"thistle2\": \"rgb(238, 210, 238)\",\n \"thistle3\": \"rgb(205, 181, 205)\",\n \"thistle4\": \"rgb(139, 123, 139)\",\n \"tomato\": \"rgb(255, 99, 71)\",\n \"tomato1\": \"rgb(255, 99, 71)\",\n \"tomato2\": \"rgb(238, 92, 66)\",\n \"tomato3\": \"rgb(205, 79, 57)\",\n \"tomato4\": \"rgb(139, 54, 38)\",\n \"turquoise\": \"rgb(64, 224, 208)\",\n \"turquoise1\": \"rgb(0, 245, 255)\",\n \"turquoise2\": \"rgb(0, 229, 238)\",\n \"turquoise3\": \"rgb(0, 197, 205)\",\n \"turquoise4\": \"rgb(0, 134, 139)\",\n \"violet\": \"rgb(238, 130, 238)\",\n \"violetred\": \"rgb(208, 32, 144)\",\n \"violetred1\": \"rgb(255, 62, 150)\",\n \"violetred2\": \"rgb(238, 58, 140)\",\n \"violetred3\": \"rgb(205, 50, 120)\",\n \"violetred4\": \"rgb(139, 34, 82)\",\n \"wheat\": \"rgb(245, 222, 179)\",\n \"wheat1\": \"rgb(255, 231, 186)\",\n \"wheat2\": \"rgb(238, 216, 174)\",\n \"wheat3\": \"rgb(205, 186, 150)\",\n \"wheat4\": \"rgb(139, 126, 102)\",\n \"white\": \"rgb(255, 255, 255)\",\n \"whitesmoke\": \"rgb(245, 245, 245)\",\n \"yellow\": \"rgb(255, 255, 0)\",\n \"yellow1\": \"rgb(255, 255, 0)\",\n \"yellow2\": \"rgb(238, 238, 0)\",\n \"yellow3\": \"rgb(205, 205, 0)\",\n \"yellow4\": \"rgb(139, 139, 0)\",\n \"yellowgreen\": \"rgb(154, 205, 50)\"\n};\n// SOURCE FILE: libdot/js/lib_f.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Grab bag of utility functions.\n */\nlib.f = {};\n\n/**\n * Create a unique enum value.\n *\n * @suppress {lintChecks}\n * @param {string} name A human friendly name for debugging.\n * @return {Object} A unique enum that won't compare equal to anything else.\n */\nlib.f.createEnum = function(name) {\n // We use a String object as nothing else should be using them -- we want to\n // use string primitives normally. But debuggers will include our name.\n return new String(name);\n};\n\n/**\n * Replace variable references in a string.\n *\n * Variables are of the form %FUNCTION(VARNAME). FUNCTION is an optional\n * escape function to apply to the value.\n *\n * For example\n * lib.f.replaceVars(\"%(greeting), %encodeURIComponent(name)\",\n * { greeting: \"Hello\",\n * name: \"Google+\" });\n *\n * Will result in \"Hello, Google%2B\".\n */\nlib.f.replaceVars = function(str, vars) {\n return str.replace(/%([a-z]*)\\(([^\\)]+)\\)/gi, function(match, fn, varname) {\n if (typeof vars[varname] == 'undefined')\n throw 'Unknown variable: ' + varname;\n\n var rv = vars[varname];\n\n if (fn in lib.f.replaceVars.functions) {\n rv = lib.f.replaceVars.functions[fn](rv);\n } else if (fn) {\n throw 'Unknown escape function: ' + fn;\n }\n\n return rv;\n });\n};\n\n/**\n * Functions that can be used with replaceVars.\n *\n * Clients can add to this list to extend lib.f.replaceVars().\n */\nlib.f.replaceVars.functions = {\n encodeURI: encodeURI,\n encodeURIComponent: encodeURIComponent,\n escapeHTML: function(str) {\n var map = {\n '<': '<',\n '>': '>',\n '&': '&',\n '\"': '"',\n \"'\": '''\n };\n\n return str.replace(/[<>&\\\"\\']/g, function(m) { return map[m] });\n }\n};\n\n/**\n * Get the list of accepted UI languages.\n *\n * @param {function(Array)} callback Function to invoke with the results. The\n * parameter is a list of locale names.\n */\nlib.f.getAcceptLanguages = function(callback) {\n if (lib.f.getAcceptLanguages.chromeSupported()) {\n chrome.i18n.getAcceptLanguages(callback);\n } else {\n setTimeout(function() {\n callback([navigator.language.replace(/-/g, '_')]);\n }, 0);\n }\n};\n\nlib.f.getAcceptLanguages.chromeSupported = function() {\n return window.chrome && chrome.i18n;\n};\n\n/**\n * Parse a query string into a hash.\n *\n * This takes a url query string in the form 'name1=value&name2=value' and\n * converts it into an object of the form { name1: 'value', name2: 'value' }.\n * If a given name appears multiple times in the query string, only the\n * last value will appear in the result.\n *\n * Names and values are passed through decodeURIComponent before being added\n * to the result object.\n *\n * @param {string} queryString The string to parse. If it starts with a\n * leading '?', the '?' will be ignored.\n */\nlib.f.parseQuery = function(queryString) {\n if (queryString.startsWith('?'))\n queryString = queryString.substr(1);\n\n var rv = {};\n\n var pairs = queryString.split('&');\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i].split('=');\n rv[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n\n return rv;\n};\n\nlib.f.getURL = function(path) {\n if (lib.f.getURL.chromeSupported())\n return chrome.runtime.getURL(path);\n\n return path;\n};\n\nlib.f.getURL.chromeSupported = function() {\n return window.chrome && chrome.runtime && chrome.runtime.getURL;\n};\n\n/**\n * Clamp a given integer to a specified range.\n *\n * @param {integer} v The value to be clamped.\n * @param {integer} min The minimum acceptable value.\n * @param {integer} max The maximum acceptable value.\n */\nlib.f.clamp = function(v, min, max) {\n if (v < min)\n return min;\n if (v > max)\n return max;\n return v;\n};\n\n/**\n * Left pad a number to a given length with leading zeros.\n *\n * @param {string|integer} number The number to pad.\n * @param {integer} length The desired length.\n * @return {string} The padded number as a string.\n */\nlib.f.zpad = function(number, length) {\n return String(number).padStart(length, '0');\n};\n\n/**\n * Return a string containing a given number of space characters.\n *\n * This method maintains a static cache of the largest amount of whitespace\n * ever requested. It shouldn't be used to generate an insanely huge amount of\n * whitespace.\n *\n * @param {integer} length The desired amount of whitespace.\n * @param {string} A string of spaces of the requested length.\n */\nlib.f.getWhitespace = function(length) {\n if (length <= 0)\n return '';\n\n var f = this.getWhitespace;\n if (!f.whitespace)\n f.whitespace = ' ';\n\n while (length > f.whitespace.length) {\n f.whitespace += f.whitespace;\n }\n\n return f.whitespace.substr(0, length);\n};\n\n /**\n * Ensure that a function is called within a certain time limit.\n *\n * Simple usage looks like this...\n *\n * lib.registerInit(lib.f.alarm(onInit));\n *\n * This will log a warning to the console if onInit() is not invoked within\n * 5 seconds.\n *\n * If you're performing some operation that may take longer than 5 seconds you\n * can pass a duration in milliseconds as the optional second parameter.\n *\n * If you pass a string identifier instead of a callback function, you'll get a\n * wrapper generator rather than a single wrapper. Each call to the\n * generator will return a wrapped version of the callback wired to\n * a shared timeout. This is for cases where you want to ensure that at least\n * one of a set of callbacks is invoked before a timeout expires.\n *\n * var alarm = lib.f.alarm('fetch object');\n * lib.foo.fetchObject(alarm(onSuccess), alarm(onFailure));\n *\n * @param {function(*)} callback The function to wrap in an alarm.\n * @param {int} opt_ms Optional number of milliseconds to wait before raising\n * an alarm. Default is 5000 (5 seconds).\n * @return {function} If callback is a function then the return value will be\n * the wrapped callback. If callback is a string then the return value will\n * be a function that generates new wrapped callbacks.\n */\nlib.f.alarm = function(callback, opt_ms) {\n var ms = opt_ms || 5 * 1000;\n var stack = lib.f.getStack(1);\n\n return (function() {\n // This outer function is called immediately. It's here to capture a new\n // scope for the timeout variable.\n\n // The 'timeout' variable is shared by this timeout function, and the\n // callback wrapper.\n var timeout = setTimeout(function() {\n var name = (typeof callback == 'string') ? name : callback.name;\n name = name ? (': ' + name) : '';\n console.warn('lib.f.alarm: timeout expired: ' + (ms / 1000) + 's' + name);\n console.log(stack);\n timeout = null;\n }, ms);\n\n var wrapperGenerator = function(callback) {\n return function() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n\n return callback.apply(null, arguments);\n }\n };\n\n if (typeof callback == 'string')\n return wrapperGenerator;\n\n return wrapperGenerator(callback);\n })();\n};\n\n/**\n * Return the current call stack after skipping a given number of frames.\n *\n * This method is intended to be used for debugging only. It returns an\n * Object instead of an Array, because the console stringifies arrays by\n * default and that's not what we want.\n *\n * A typical call might look like...\n *\n * console.log('Something wicked this way came', lib.f.getStack());\n * // Notice the comma ^\n *\n * This would print the message to the js console, followed by an object\n * which can be clicked to reveal the stack.\n *\n * @param {number} opt_ignoreFrames The optional number of stack frames to\n * ignore. The actual 'getStack' call is always ignored.\n */\nlib.f.getStack = function(opt_ignoreFrames) {\n var ignoreFrames = opt_ignoreFrames ? opt_ignoreFrames + 2 : 2;\n\n var stackArray;\n\n try {\n throw new Error();\n } catch (ex) {\n stackArray = ex.stack.split('\\n');\n }\n\n var stackObject = {};\n for (var i = ignoreFrames; i < stackArray.length; i++) {\n stackObject[i - ignoreFrames] = stackArray[i].replace(/^\\s*at\\s+/, '');\n }\n\n return stackObject;\n};\n\n/**\n * Divides the two numbers and floors the results, unless the remainder is less\n * than an incredibly small value, in which case it returns the ceiling.\n * This is useful when the number are truncated approximations of longer\n * values, and so doing division with these numbers yields a result incredibly\n * close to a whole number.\n *\n * @param {number} numerator\n * @param {number} denominator\n * @return {number}\n */\nlib.f.smartFloorDivide = function(numerator, denominator) {\n var val = numerator / denominator;\n var ceiling = Math.ceil(val);\n if (ceiling - val < .0001) {\n return ceiling;\n } else {\n return Math.floor(val);\n }\n};\n\n/**\n * Get a random integer in a range (inclusive).\n *\n * @param {number} min The lowest integer in the range.\n * @param {number} max The highest integer in the range.\n * @return {number} A random number between min & max.\n */\nlib.f.randomInt = function(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\n// SOURCE FILE: libdot/js/lib_message_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * MessageManager class handles internationalized strings.\n *\n * Note: chrome.i18n isn't sufficient because...\n * 1. There's a bug in chrome that makes it unavailable in iframes:\n * https://crbug.com/130200\n * 2. The client code may not be packaged in a Chrome extension.\n * 3. The client code may be part of a library packaged in a third-party\n * Chrome extension.\n *\n * @param {Array} languages List of languages to load, in the order they\n * should be loaded. Newer messages replace older ones. 'en' is\n * automatically added as the first language if it is not already present.\n */\nlib.MessageManager = function(languages) {\n this.languages_ = languages.map(\n function(el) { return el.replace(/-/g, '_') });\n\n if (this.languages_.indexOf('en') == -1)\n this.languages_.unshift('en');\n\n this.messages = {};\n};\n\n/**\n * Add message definitions to the message manager.\n *\n * This takes an object of the same format of a Chrome messages.json file. See\n * .\n */\nlib.MessageManager.prototype.addMessages = function(defs) {\n for (var key in defs) {\n var def = defs[key];\n\n if (!def.placeholders) {\n this.messages[key] = def.message;\n } else {\n // Replace \"$NAME$\" placeholders with \"$1\", etc.\n this.messages[key] = def.message.replace(\n /\\$([a-z][^\\s\\$]+)\\$/ig,\n function(m, name) {\n return defs[key].placeholders[name.toLowerCase()].content;\n });\n }\n }\n};\n\n/**\n * Load the first available language message bundle.\n *\n * @param {string} pattern A url pattern containing a \"$1\" where the locale\n * name should go.\n * @param {function(Array,Array)} onComplete Function to be called when loading\n * is complete. The two arrays are the list of successful and failed\n * locale names. If the first parameter is length 0, no locales were\n * loaded.\n */\nlib.MessageManager.prototype.findAndLoadMessages = function(\n pattern, onComplete) {\n var languages = this.languages_.concat();\n var loaded = [];\n var failed = [];\n\n function onLanguageComplete(state) {\n if (state) {\n loaded = languages.shift();\n } else {\n failed = languages.shift();\n }\n\n if (languages.length) {\n tryNextLanguage();\n } else {\n onComplete(loaded, failed);\n }\n }\n\n var tryNextLanguage = function() {\n this.loadMessages(this.replaceReferences(pattern, languages),\n onLanguageComplete.bind(this, true),\n onLanguageComplete.bind(this, false));\n }.bind(this);\n\n tryNextLanguage();\n};\n\n/**\n * Load messages from a messages.json file.\n */\nlib.MessageManager.prototype.loadMessages = function(\n url, onSuccess, opt_onError) {\n var xhr = new XMLHttpRequest();\n\n xhr.onloadend = function() {\n if (xhr.status != 200) {\n if (opt_onError)\n opt_onError(xhr.status);\n\n return;\n }\n\n this.addMessages(JSON.parse(xhr.responseText));\n onSuccess();\n }.bind(this);\n\n xhr.open('GET', url);\n xhr.send();\n};\n\n/**\n * Replace $1...$n references with the elements of the args array.\n *\n * @param {string} msg String containing the message and argument references.\n * @param {Array} args Array containing the argument values.\n */\nlib.MessageManager.replaceReferences = function(msg, args) {\n return msg.replace(/\\$(\\d+)/g, function (m, index) {\n return args[index - 1];\n });\n};\n\n/**\n * Per-instance copy of replaceReferences.\n */\nlib.MessageManager.prototype.replaceReferences =\n lib.MessageManager.replaceReferences;\n\n/**\n * Get a message by name, optionally replacing arguments too.\n *\n * @param {string} msgname String containing the name of the message to get.\n * @param {Array} opt_args Optional array containing the argument values.\n * @param {string} opt_default Optional value to return if the msgname is not\n * found. Returns the message name by default.\n */\nlib.MessageManager.prototype.get = function(msgname, opt_args, opt_default) {\n var message;\n\n if (msgname in this.messages) {\n message = this.messages[msgname];\n\n } else {\n if (window.chrome.i18n)\n message = chrome.i18n.getMessage(msgname);\n\n if (!message) {\n console.warn('Unknown message: ' + msgname);\n return (typeof opt_default == 'undefined') ? msgname : opt_default;\n }\n }\n\n if (!opt_args)\n return message;\n\n if (!(opt_args instanceof Array))\n opt_args = [opt_args];\n\n return this.replaceReferences(message, opt_args);\n};\n\n/**\n * Process all of the \"i18n\" html attributes found in a given dom fragment.\n *\n * The real work happens in processI18nAttribute.\n */\nlib.MessageManager.prototype.processI18nAttributes = function(dom) {\n var nodes = dom.querySelectorAll('[i18n]');\n\n for (var i = 0; i < nodes.length; i++)\n this.processI18nAttribute(nodes[i]);\n};\n\n/**\n * Process the \"i18n\" attribute in the specified node.\n *\n * The i18n attribute should contain a JSON object. The keys are taken to\n * be attribute names, and the values are message names.\n *\n * If the JSON object has a \"_\" (underscore) key, its value is used as the\n * textContent of the element.\n *\n * Message names can refer to other attributes on the same element with by\n * prefixing with a dollar sign. For example...\n *\n * \n *\n * The aria-label message name will be computed as \"SEND_BUTTON_ARIA_LABEL\".\n * Notice that the \"id\" attribute was appended to the target attribute, and\n * the result converted to UPPER_AND_UNDER style.\n */\nlib.MessageManager.prototype.processI18nAttribute = function(node) {\n // Convert the \"lower-and-dashes\" attribute names into\n // \"UPPER_AND_UNDER\" style.\n function thunk(str) { return str.replace(/-/g, '_').toUpperCase() }\n\n var i18n = node.getAttribute('i18n');\n if (!i18n)\n return;\n\n try {\n i18n = JSON.parse(i18n);\n } catch (ex) {\n console.error('Can\\'t parse ' + node.tagName + '#' + node.id + ': ' + i18n);\n throw ex;\n }\n\n // Load all the messages specified in the i18n attributes.\n for (var key in i18n) {\n // The node attribute we'll be setting.\n var attr = key;\n\n var msgname = i18n[key];\n // For \"=foo\", re-use the referenced message name.\n if (msgname.startsWith('=')) {\n key = msgname.substr(1);\n msgname = i18n[key];\n }\n\n // For \"$foo\", calculate the message name.\n if (msgname.startsWith('$'))\n msgname = thunk(node.getAttribute(msgname.substr(1)) + '_' + key);\n\n // Finally load the message.\n var msg = this.get(msgname);\n if (attr == '_')\n node.textContent = msg;\n else\n node.setAttribute(attr, msg);\n }\n};\n// SOURCE FILE: libdot/js/lib_preference_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Constructor for lib.PreferenceManager objects.\n *\n * These objects deal with persisting changes to stable storage and notifying\n * consumers when preferences change.\n *\n * It is intended that the backing store could be something other than HTML5\n * storage, but there aren't any use cases at the moment. In the future there\n * may be a chrome api to store sync-able name/value pairs, and we'd want\n * that.\n *\n * @param {lib.Storage.*} storage The storage object to use as a backing\n * store.\n * @param {string} opt_prefix The optional prefix to be used for all preference\n * names. The '/' character should be used to separate levels of hierarchy,\n * if you're going to have that kind of thing. If provided, the prefix\n * should start with a '/'. If not provided, it defaults to '/'.\n */\nlib.PreferenceManager = function(storage, opt_prefix) {\n this.storage = storage;\n this.storageObserver_ = this.onStorageChange_.bind(this);\n\n this.isActive_ = false;\n this.activate();\n\n this.trace = false;\n\n var prefix = opt_prefix || '/';\n if (!prefix.endsWith('/'))\n prefix += '/';\n\n this.prefix = prefix;\n\n this.prefRecords_ = {};\n this.globalObservers_ = [];\n\n this.childFactories_ = {};\n\n // Map of list-name to {map of child pref managers}\n // As in...\n //\n // this.childLists_ = {\n // 'profile-ids': {\n // 'one': PreferenceManager,\n // 'two': PreferenceManager,\n // ...\n // },\n //\n // 'frob-ids': {\n // ...\n // }\n // }\n this.childLists_ = {};\n};\n\n/**\n * Used internally to indicate that the current value of the preference should\n * be taken from the default value defined with the preference.\n *\n * Equality tests against this value MUST use '===' or '!==' to be accurate.\n */\nlib.PreferenceManager.prototype.DEFAULT_VALUE = lib.f.createEnum('DEFAULT');\n\n/**\n * An individual preference.\n *\n * These objects are managed by the PreferenceManager, you shouldn't need to\n * handle them directly.\n */\nlib.PreferenceManager.Record = function(name, defaultValue) {\n this.name = name;\n this.defaultValue = defaultValue;\n this.currentValue = this.DEFAULT_VALUE;\n this.observers = [];\n};\n\n/**\n * A local copy of the DEFAULT_VALUE constant to make it less verbose.\n */\nlib.PreferenceManager.Record.prototype.DEFAULT_VALUE =\n lib.PreferenceManager.prototype.DEFAULT_VALUE;\n\n/**\n * Register a callback to be invoked when this preference changes.\n *\n * @param {function(value, string, lib.PreferenceManager} observer The function\n * to invoke. It will receive the new value, the name of the preference,\n * and a reference to the PreferenceManager as parameters.\n */\nlib.PreferenceManager.Record.prototype.addObserver = function(observer) {\n this.observers.push(observer);\n};\n\n/**\n * Unregister an observer callback.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.PreferenceManager.Record.prototype.removeObserver = function(observer) {\n var i = this.observers.indexOf(observer);\n if (i >= 0)\n this.observers.splice(i, 1);\n};\n\n/**\n * Fetch the value of this preference.\n */\nlib.PreferenceManager.Record.prototype.get = function() {\n if (this.currentValue === this.DEFAULT_VALUE) {\n if (/^(string|number)$/.test(typeof this.defaultValue))\n return this.defaultValue;\n\n if (typeof this.defaultValue == 'object') {\n // We want to return a COPY of the default value so that users can\n // modify the array or object without changing the default value.\n return JSON.parse(JSON.stringify(this.defaultValue));\n }\n\n return this.defaultValue;\n }\n\n return this.currentValue;\n};\n\n/**\n * Stop this preference manager from tracking storage changes.\n *\n * Call this if you're going to swap out one preference manager for another so\n * that you don't get notified about irrelevant changes.\n */\nlib.PreferenceManager.prototype.deactivate = function() {\n if (!this.isActive_)\n throw new Error('Not activated');\n\n this.isActive_ = false;\n this.storage.removeObserver(this.storageObserver_);\n};\n\n/**\n * Start tracking storage changes.\n *\n * If you previously deactivated this preference manager, you can reactivate it\n * with this method. You don't need to call this at initialization time, as\n * it's automatically called as part of the constructor.\n */\nlib.PreferenceManager.prototype.activate = function() {\n if (this.isActive_)\n throw new Error('Already activated');\n\n this.isActive_ = true;\n this.storage.addObserver(this.storageObserver_);\n};\n\n/**\n * Read the backing storage for these preferences.\n *\n * You should do this once at initialization time to prime the local cache\n * of preference values. The preference manager will monitor the backing\n * storage for changes, so you should not need to call this more than once.\n *\n * This function recursively reads storage for all child preference managers as\n * well.\n *\n * This function is asynchronous, if you need to read preference values, you\n * *must* wait for the callback.\n *\n * @param {function()} opt_callback Optional function to invoke when the read\n * has completed.\n */\nlib.PreferenceManager.prototype.readStorage = function(opt_callback) {\n var pendingChildren = 0;\n\n function onChildComplete() {\n if (--pendingChildren == 0 && opt_callback)\n opt_callback();\n }\n\n var keys = Object.keys(this.prefRecords_).map(\n function(el) { return this.prefix + el }.bind(this));\n\n if (this.trace)\n console.log('Preferences read: ' + this.prefix);\n\n this.storage.getItems(keys, function(items) {\n var prefixLength = this.prefix.length;\n\n for (var key in items) {\n var value = items[key];\n var name = key.substr(prefixLength);\n var needSync = (name in this.childLists_ &&\n (JSON.stringify(value) !=\n JSON.stringify(this.prefRecords_[name].currentValue)));\n\n this.prefRecords_[name].currentValue = value;\n\n if (needSync) {\n pendingChildren++;\n this.syncChildList(name, onChildComplete);\n }\n }\n\n if (pendingChildren == 0 && opt_callback)\n setTimeout(opt_callback);\n }.bind(this));\n};\n\n/**\n * Define a preference.\n *\n * This registers a name, default value, and onChange handler for a preference.\n *\n * @param {string} name The name of the preference. This will be prefixed by\n * the prefix of this PreferenceManager before written to local storage.\n * @param {string|number|boolean|Object|Array|null} value The default value of\n * this preference. Anything that can be represented in JSON is a valid\n * default value.\n * @param {function(value, string, lib.PreferenceManager} opt_observer A\n * function to invoke when the preference changes. It will receive the new\n * value, the name of the preference, and a reference to the\n * PreferenceManager as parameters.\n */\nlib.PreferenceManager.prototype.definePreference = function(\n name, value, opt_onChange) {\n\n var record = this.prefRecords_[name];\n if (record) {\n this.changeDefault(name, value);\n } else {\n record = this.prefRecords_[name] =\n new lib.PreferenceManager.Record(name, value);\n }\n\n if (opt_onChange)\n record.addObserver(opt_onChange);\n};\n\n/**\n * Define multiple preferences with a single function call.\n *\n * @param {Array} defaults An array of 3-element arrays. Each three element\n * array should contain the [key, value, onChange] parameters for a\n * preference.\n */\nlib.PreferenceManager.prototype.definePreferences = function(defaults) {\n for (var i = 0; i < defaults.length; i++) {\n this.definePreference(defaults[i][0], defaults[i][1], defaults[i][2]);\n }\n};\n\n/**\n * Define an ordered list of child preferences.\n *\n * Child preferences are different from just storing an array of JSON objects\n * in that each child is an instance of a preference manager. This means you\n * can observe changes to individual child preferences, and get some validation\n * that you're not reading or writing to an undefined child preference value.\n *\n * @param {string} listName A name for the list of children. This must be\n * unique in this preference manager. The listName will become a\n * preference on this PreferenceManager used to store the ordered list of\n * child ids. It is also used in get/add/remove operations to identify the\n * list of children to operate on.\n * @param {function} childFactory A function that will be used to generate\n * instances of these children. The factory function will receive the\n * parent lib.PreferenceManager object and a unique id for the new child\n * preferences.\n */\nlib.PreferenceManager.prototype.defineChildren = function(\n listName, childFactory) {\n\n // Define a preference to hold the ordered list of child ids.\n this.definePreference(listName, [],\n this.onChildListChange_.bind(this, listName));\n this.childFactories_[listName] = childFactory;\n this.childLists_[listName] = {};\n};\n\n/**\n * Register to observe preference changes.\n *\n * @param {Function} global A callback that will happen for every preference.\n * Pass null if you don't need one.\n * @param {Object} map A map of preference specific callbacks. Pass null if\n * you don't need any.\n */\nlib.PreferenceManager.prototype.addObservers = function(global, map) {\n if (global && typeof global != 'function')\n throw new Error('Invalid param: globals');\n\n if (global)\n this.globalObservers_.push(global);\n\n if (!map)\n return;\n\n for (var name in map) {\n if (!(name in this.prefRecords_))\n throw new Error('Unknown preference: ' + name);\n\n this.prefRecords_[name].addObserver(map[name]);\n }\n};\n\n/**\n * Dispatch the change observers for all known preferences.\n *\n * It may be useful to call this after readStorage completes, in order to\n * get application state in sync with user preferences.\n *\n * This can be used if you've changed a preference manager out from under\n * a live object, for example when switching to a different prefix.\n */\nlib.PreferenceManager.prototype.notifyAll = function() {\n for (var name in this.prefRecords_) {\n this.notifyChange_(name);\n }\n};\n\n/**\n * Notify the change observers for a given preference.\n *\n * @param {string} name The name of the preference that changed.\n */\nlib.PreferenceManager.prototype.notifyChange_ = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n var currentValue = record.get();\n\n for (var i = 0; i < this.globalObservers_.length; i++)\n this.globalObservers_[i](name, currentValue);\n\n for (var i = 0; i < record.observers.length; i++) {\n record.observers[i](currentValue, name, this);\n }\n};\n\n/**\n * Create a new child PreferenceManager for the given child list.\n *\n * The optional hint parameter is an opaque prefix added to the auto-generated\n * unique id for this child. Your child factory can parse out the prefix\n * and use it.\n *\n * @param {string} listName The child list to create the new instance from.\n * @param {string} opt_hint Optional hint to include in the child id.\n * @param {string} opt_id Optional id to override the generated id.\n */\nlib.PreferenceManager.prototype.createChild = function(listName, opt_hint,\n opt_id) {\n var ids = this.get(listName);\n var id;\n\n if (opt_id) {\n id = opt_id;\n if (ids.indexOf(id) != -1)\n throw new Error('Duplicate child: ' + listName + ': ' + id);\n\n } else {\n // Pick a random, unique 4-digit hex identifier for the new profile.\n while (!id || ids.indexOf(id) != -1) {\n id = lib.f.randomInt(1, 0xffff).toString(16);\n id = lib.f.zpad(id, 4);\n if (opt_hint)\n id = opt_hint + ':' + id;\n }\n }\n\n var childManager = this.childFactories_[listName](this, id);\n childManager.trace = this.trace;\n childManager.resetAll();\n\n this.childLists_[listName][id] = childManager;\n\n ids.push(id);\n this.set(listName, ids);\n\n return childManager;\n};\n\n/**\n * Remove a child preferences instance.\n *\n * Removes a child preference manager and clears any preferences stored in it.\n *\n * @param {string} listName The name of the child list containing the child to\n * remove.\n * @param {string} id The child ID.\n */\nlib.PreferenceManager.prototype.removeChild = function(listName, id) {\n var prefs = this.getChild(listName, id);\n prefs.resetAll();\n\n var ids = this.get(listName);\n var i = ids.indexOf(id);\n if (i != -1) {\n ids.splice(i, 1);\n this.set(listName, ids);\n }\n\n delete this.childLists_[listName][id];\n};\n\n/**\n * Return a child PreferenceManager instance for a given id.\n *\n * If the child list or child id is not known this will return the specified\n * default value or throw an exception if no default value is provided.\n *\n * @param {string} listName The child list to look in.\n * @param {string} id The child ID.\n * @param {*} opt_default The optional default value to return if the child\n * is not found.\n */\nlib.PreferenceManager.prototype.getChild = function(listName, id, opt_default) {\n if (!(listName in this.childLists_))\n throw new Error('Unknown child list: ' + listName);\n\n var childList = this.childLists_[listName];\n if (!(id in childList)) {\n if (typeof opt_default == 'undefined')\n throw new Error('Unknown \"' + listName + '\" child: ' + id);\n\n return opt_default;\n }\n\n return childList[id];\n};\n\n/**\n * Calculate the difference between two lists of child ids.\n *\n * Given two arrays of child ids, this function will return an object\n * with \"added\", \"removed\", and \"common\" properties. Each property is\n * a map of child-id to `true`. For example, given...\n *\n * a = ['child-x', 'child-y']\n * b = ['child-y']\n *\n * diffChildLists(a, b) =>\n * { added: { 'child-x': true }, removed: {}, common: { 'child-y': true } }\n *\n * The added/removed properties assume that `a` is the current list.\n *\n * @param {Array[string]} a The most recent list of child ids.\n * @param {Array[string]} b An older list of child ids.\n * @return {Object} An object with added/removed/common properties.\n */\nlib.PreferenceManager.diffChildLists = function(a, b) {\n var rv = {\n added: {},\n removed: {},\n common: {},\n };\n\n for (var i = 0; i < a.length; i++) {\n if (b.indexOf(a[i]) != -1) {\n rv.common[a[i]] = true;\n } else {\n rv.added[a[i]] = true;\n }\n }\n\n for (var i = 0; i < b.length; i++) {\n if ((b[i] in rv.added) || (b[i] in rv.common))\n continue;\n\n rv.removed[b[i]] = true;\n }\n\n return rv;\n};\n\n/**\n * Synchronize a list of child PreferenceManagers instances with the current\n * list stored in prefs.\n *\n * This will instantiate any missing managers and read current preference values\n * from storage. Any active managers that no longer appear in preferences will\n * be deleted.\n *\n * @param {string} listName The child list to synchronize.\n * @param {function()} opt_callback Optional function to invoke when the sync\n * is complete.\n */\nlib.PreferenceManager.prototype.syncChildList = function(\n listName, opt_callback) {\n\n var pendingChildren = 0;\n function onChildStorage() {\n if (--pendingChildren == 0 && opt_callback)\n opt_callback();\n }\n\n // The list of child ids that we *should* have a manager for.\n var currentIds = this.get(listName);\n\n // The known managers at the start of the sync. Any manager still in this\n // list at the end should be discarded.\n var oldIds = Object.keys(this.childLists_[listName]);\n\n var rv = lib.PreferenceManager.diffChildLists(currentIds, oldIds);\n\n for (var i = 0; i < currentIds.length; i++) {\n var id = currentIds[i];\n\n var managerIndex = oldIds.indexOf(id);\n if (managerIndex >= 0)\n oldIds.splice(managerIndex, 1);\n\n if (!this.childLists_[listName][id]) {\n var childManager = this.childFactories_[listName](this, id);\n if (!childManager) {\n console.warn('Unable to restore child: ' + listName + ': ' + id);\n continue;\n }\n\n childManager.trace = this.trace;\n this.childLists_[listName][id] = childManager;\n pendingChildren++;\n childManager.readStorage(onChildStorage);\n }\n }\n\n for (var i = 0; i < oldIds.length; i++) {\n delete this.childLists_[listName][oldIds[i]];\n }\n\n if (!pendingChildren && opt_callback)\n setTimeout(opt_callback);\n};\n\n/**\n * Reset a preference to its default state.\n *\n * This will dispatch the onChange handler if the preference value actually\n * changes.\n *\n * @param {string} name The preference to reset.\n */\nlib.PreferenceManager.prototype.reset = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n this.storage.removeItem(this.prefix + name);\n\n if (record.currentValue !== this.DEFAULT_VALUE) {\n record.currentValue = this.DEFAULT_VALUE;\n this.notifyChange_(name);\n }\n};\n\n/**\n * Reset all preferences back to their default state.\n */\nlib.PreferenceManager.prototype.resetAll = function() {\n var changed = [];\n\n for (var listName in this.childLists_) {\n var childList = this.childLists_[listName];\n for (var id in childList) {\n childList[id].resetAll();\n }\n }\n\n for (var name in this.prefRecords_) {\n if (this.prefRecords_[name].currentValue !== this.DEFAULT_VALUE) {\n this.prefRecords_[name].currentValue = this.DEFAULT_VALUE;\n changed.push(name);\n }\n }\n\n var keys = Object.keys(this.prefRecords_).map(function(el) {\n return this.prefix + el;\n }.bind(this));\n\n this.storage.removeItems(keys);\n\n changed.forEach(this.notifyChange_.bind(this));\n};\n\n/**\n * Return true if two values should be considered not-equal.\n *\n * If both values are the same scalar type and compare equal this function\n * returns false (no difference), otherwise return true.\n *\n * This is used in places where we want to check if a preference has changed.\n * Rather than take the time to compare complex values we just consider them\n * to always be different.\n *\n * @param {*} a A value to compare.\n * @param {*} b A value to compare.\n */\nlib.PreferenceManager.prototype.diff = function(a, b) {\n // If the types are different, or the type is not a simple primitive one.\n if ((typeof a) !== (typeof b) ||\n !(/^(undefined|boolean|number|string)$/.test(typeof a))) {\n return true;\n }\n\n return a !== b;\n};\n\n/**\n * Change the default value of a preference.\n *\n * This is useful when subclassing preference managers.\n *\n * The function does not alter the current value of the preference, unless\n * it has the old default value. When that happens, the change observers\n * will be notified.\n *\n * @param {string} name The name of the parameter to change.\n * @param {*} newValue The new default value for the preference.\n */\nlib.PreferenceManager.prototype.changeDefault = function(name, newValue) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n if (!this.diff(record.defaultValue, newValue)) {\n // Default value hasn't changed.\n return;\n }\n\n if (record.currentValue !== this.DEFAULT_VALUE) {\n // This pref has a specific value, just change the default and we're done.\n record.defaultValue = newValue;\n return;\n }\n\n record.defaultValue = newValue;\n\n this.notifyChange_(name);\n};\n\n/**\n * Change the default value of multiple preferences.\n *\n * @param {Object} map A map of name -> value pairs specifying the new default\n * values.\n */\nlib.PreferenceManager.prototype.changeDefaults = function(map) {\n for (var key in map) {\n this.changeDefault(key, map[key]);\n }\n};\n\n/**\n * Set a preference to a specific value.\n *\n * This will dispatch the onChange handler if the preference value actually\n * changes.\n *\n * @param {string} key The preference to set.\n * @param {*} value The value to set. Anything that can be represented in\n * JSON is a valid value.\n */\nlib.PreferenceManager.prototype.set = function(name, newValue) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n var oldValue = record.get();\n\n if (!this.diff(oldValue, newValue))\n return;\n\n if (this.diff(record.defaultValue, newValue)) {\n record.currentValue = newValue;\n this.storage.setItem(this.prefix + name, newValue);\n } else {\n record.currentValue = this.DEFAULT_VALUE;\n this.storage.removeItem(this.prefix + name);\n }\n\n // We need to manually send out the notification on this instance. If we\n // The storage event won't fire a notification because we've already changed\n // the currentValue, so it won't see a difference. If we delayed changing\n // currentValue until the storage event, a pref read immediately after a write\n // would return the previous value.\n //\n // The notification is in a timeout so clients don't accidentally depend on\n // a synchronous notification.\n setTimeout(this.notifyChange_.bind(this, name), 0);\n};\n\n/**\n * Get the value of a preference.\n *\n * @param {string} key The preference to get.\n */\nlib.PreferenceManager.prototype.get = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n return record.get();\n};\n\n/**\n * Return all non-default preferences as a JSON object.\n *\n * This includes any nested preference managers as well.\n */\nlib.PreferenceManager.prototype.exportAsJson = function() {\n var rv = {};\n\n for (var name in this.prefRecords_) {\n if (name in this.childLists_) {\n rv[name] = [];\n var childIds = this.get(name);\n for (var i = 0; i < childIds.length; i++) {\n var id = childIds[i];\n rv[name].push({id: id, json: this.getChild(name, id).exportAsJson()});\n }\n\n } else {\n var record = this.prefRecords_[name];\n if (record.currentValue != this.DEFAULT_VALUE)\n rv[name] = record.currentValue;\n }\n }\n\n return rv;\n};\n\n/**\n * Import a JSON blob of preferences previously generated with exportAsJson.\n *\n * This will create nested preference managers as well.\n */\nlib.PreferenceManager.prototype.importFromJson = function(json) {\n for (var name in json) {\n if (name in this.childLists_) {\n var childList = json[name];\n for (var i = 0; i < childList.length; i++) {\n var id = childList[i].id;\n\n var childPrefManager = this.childLists_[name][id];\n if (!childPrefManager)\n childPrefManager = this.createChild(name, null, id);\n\n childPrefManager.importFromJson(childList[i].json);\n }\n\n } else {\n this.set(name, json[name]);\n }\n }\n};\n\n/**\n * Called when one of the child list preferences changes.\n */\nlib.PreferenceManager.prototype.onChildListChange_ = function(listName) {\n this.syncChildList(listName);\n};\n\n/**\n * Called when a key in the storage changes.\n */\nlib.PreferenceManager.prototype.onStorageChange_ = function(map) {\n for (var key in map) {\n if (this.prefix) {\n if (key.lastIndexOf(this.prefix, 0) != 0)\n continue;\n }\n\n var name = key.substr(this.prefix.length);\n\n if (!(name in this.prefRecords_)) {\n // Sometimes we'll get notified about prefs that are no longer defined.\n continue;\n }\n\n var record = this.prefRecords_[name];\n\n var newValue = map[key].newValue;\n var currentValue = record.currentValue;\n if (currentValue === record.DEFAULT_VALUE)\n currentValue = (void 0);\n\n if (this.diff(currentValue, newValue)) {\n if (typeof newValue == 'undefined' || newValue === null) {\n record.currentValue = record.DEFAULT_VALUE;\n } else {\n record.currentValue = newValue;\n }\n\n this.notifyChange_(name);\n }\n }\n};\n// SOURCE FILE: libdot/js/lib_resource.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Storage for canned resources.\n *\n * These are usually non-JavaScript things that are collected during a build\n * step and converted into a series of 'lib.resource.add(...)' calls. See\n * the \"@resource\" directive from libdot/bin/concat.sh for the canonical use\n * case.\n *\n * This is global storage, so you should prefix your resource names to avoid\n * collisions.\n */\nlib.resource = {\n resources_: {}\n};\n\n/**\n * Add a resource.\n *\n * @param {string} name A name for the resource. You should prefix this to\n * avoid collisions with resources from a shared library.\n * @param {string} type A mime type for the resource, or \"raw\" if not\n * applicable.\n * @param {*} data The value of the resource.\n */\nlib.resource.add = function(name, type, data) {\n lib.resource.resources_[name] = {\n type: type,\n name: name,\n data: data\n };\n};\n\n/**\n * Retrieve a resource record.\n *\n * The resource data is stored on the \"data\" property of the returned object.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {object} An object with \"type\", \"name\", and \"data\" properties.\n */\nlib.resource.get = function(name, opt_defaultValue) {\n if (!(name in lib.resource.resources_)) {\n if (typeof opt_defaultValue == 'undefined')\n throw 'Unknown resource: ' + name;\n\n return opt_defaultValue;\n }\n\n return lib.resource.resources_[name];\n};\n\n/**\n * Retrieve resource data.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {*} The resource data.\n */\nlib.resource.getData = function(name, opt_defaultValue) {\n if (!(name in lib.resource.resources_)) {\n if (typeof opt_defaultValue == 'undefined')\n throw 'Unknown resource: ' + name;\n\n return opt_defaultValue;\n }\n\n return lib.resource.resources_[name].data;\n};\n\n/**\n * Retrieve resource as a data: url.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {*} A data: url encoded version of the resource.\n */\nlib.resource.getDataUrl = function(name, opt_defaultValue) {\n var resource = lib.resource.get(name, opt_defaultValue);\n return 'data:' + resource.type + ',' + resource.data;\n};\n// SOURCE FILE: libdot/js/lib_storage.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Namespace for implementations of persistent, possibly cloud-backed\n * storage.\n */\nlib.Storage = new Object();\n// SOURCE FILE: libdot/js/lib_storage_chrome.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * chrome.storage based class with an async interface that is interchangeable\n * with other lib.Storage.* implementations.\n */\nlib.Storage.Chrome = function(storage) {\n this.storage_ = storage;\n this.observers_ = [];\n\n chrome.storage.onChanged.addListener(this.onChanged_.bind(this));\n};\n\n/**\n * Called by the storage implementation when the storage is modified.\n */\nlib.Storage.Chrome.prototype.onChanged_ = function(changes, areaname) {\n if (chrome.storage[areaname] != this.storage_)\n return;\n\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](changes);\n }\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Chrome.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Chrome.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Chrome.prototype.clear = function(opt_callback) {\n this.storage_.clear();\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Chrome.prototype.getItem = function(key, callback) {\n this.storage_.get(key, callback);\n};\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\n\nlib.Storage.Chrome.prototype.getItems = function(keys, callback) {\n this.storage_.get(keys, callback);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.setItem = function(key, value, opt_callback) {\n var obj = {};\n obj[key] = value;\n this.storage_.set(obj, opt_callback);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.setItems = function(obj, opt_callback) {\n this.storage_.set(obj, opt_callback);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.removeItem = function(key, opt_callback) {\n this.storage_.remove(key, opt_callback);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.removeItems = function(keys, opt_callback) {\n this.storage_.remove(keys, opt_callback);\n};\n// SOURCE FILE: libdot/js/lib_storage_local.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * window.localStorage based class with an async interface that is\n * interchangeable with other lib.Storage.* implementations.\n */\nlib.Storage.Local = function() {\n this.observers_ = [];\n this.storage_ = window.localStorage;\n window.addEventListener('storage', this.onStorage_.bind(this));\n};\n\n/**\n * Called by the storage implementation when the storage is modified.\n */\nlib.Storage.Local.prototype.onStorage_ = function(e) {\n if (e.storageArea != this.storage_)\n return;\n\n // JS throws an exception if JSON.parse is given an empty string. So here we\n // only parse if the value is truthy. This mean the empty string, undefined\n // and null will not be parsed.\n var prevValue = e.oldValue ? JSON.parse(e.oldValue) : e.oldValue;\n var curValue = e.newValue ? JSON.parse(e.newValue) : e.newValue;\n var o = {};\n o[e.key] = {\n oldValue: prevValue,\n newValue: curValue\n };\n\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](o);\n }\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Local.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Local.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Local.prototype.clear = function(opt_callback) {\n this.storage_.clear();\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Local.prototype.getItem = function(key, callback) {\n var value = this.storage_.getItem(key);\n\n if (typeof value == 'string') {\n try {\n value = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n }\n }\n\n setTimeout(callback.bind(null, value), 0);\n};\n\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\nlib.Storage.Local.prototype.getItems = function(keys, callback) {\n var rv = {};\n\n for (var i = keys.length - 1; i >= 0; i--) {\n var key = keys[i];\n var value = this.storage_.getItem(key);\n if (typeof value == 'string') {\n try {\n rv[key] = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n rv[key] = value;\n }\n } else {\n keys.splice(i, 1);\n }\n }\n\n setTimeout(callback.bind(null, rv), 0);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.setItem = function(key, value, opt_callback) {\n this.storage_.setItem(key, JSON.stringify(value));\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.setItems = function(obj, opt_callback) {\n for (var key in obj) {\n this.storage_.setItem(key, JSON.stringify(obj[key]));\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.removeItem = function(key, opt_callback) {\n this.storage_.removeItem(key);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.removeItems = function(ary, opt_callback) {\n for (var i = 0; i < ary.length; i++) {\n this.storage_.removeItem(ary[i]);\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n// SOURCE FILE: libdot/js/lib_storage_memory.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * In-memory storage class with an async interface that is interchangeable with\n * other lib.Storage.* implementations.\n */\nlib.Storage.Memory = function() {\n this.observers_ = [];\n this.storage_ = {};\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Memory.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Memory.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Memory.prototype.clear = function(opt_callback) {\n var e = {};\n for (var key in this.storage_) {\n e[key] = {oldValue: this.storage_[key], newValue: (void 0)};\n }\n\n this.storage_ = {};\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this), 0);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Memory.prototype.getItem = function(key, callback) {\n var value = this.storage_[key];\n\n if (typeof value == 'string') {\n try {\n value = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n }\n }\n\n setTimeout(callback.bind(null, value), 0);\n};\n\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\nlib.Storage.Memory.prototype.getItems = function(keys, callback) {\n var rv = {};\n\n for (var i = keys.length - 1; i >= 0; i--) {\n var key = keys[i];\n var value = this.storage_[key];\n if (typeof value == 'string') {\n try {\n rv[key] = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n rv[key] = value;\n }\n } else {\n keys.splice(i, 1);\n }\n }\n\n setTimeout(callback.bind(null, rv), 0);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.setItem = function(key, value, opt_callback) {\n var oldValue = this.storage_[key];\n this.storage_[key] = JSON.stringify(value);\n\n var e = {};\n e[key] = {oldValue: oldValue, newValue: value};\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this), 0);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.setItems = function(obj, opt_callback) {\n var e = {};\n\n for (var key in obj) {\n e[key] = {oldValue: this.storage_[key], newValue: obj[key]};\n this.storage_[key] = JSON.stringify(obj[key]);\n }\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this));\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.removeItem = function(key, opt_callback) {\n delete this.storage_[key];\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.removeItems = function(ary, opt_callback) {\n for (var i = 0; i < ary.length; i++) {\n delete this.storage_[ary[i]];\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n// SOURCE FILE: libdot/js/lib_test_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview JavaScript unit testing framework for synchronous and\n * asynchronous tests.\n *\n * This file contains the lib.TestManager and related classes. At the moment\n * it's all collected in a single file since it's reasonably small\n * (=~1k lines), and it's a lot easier to include one file into your test\n * harness than it is to include seven.\n *\n * The following classes are defined...\n *\n * lib.TestManager - The root class and entrypoint for creating test runs.\n * lib.TestManager.Log - Logging service.\n * lib.TestManager.Suite - A collection of tests.\n * lib.TestManager.Test - A single test.\n * lib.TestManager.TestRun - Manages the execution of a set of tests.\n * lib.TestManager.Result - A single test result.\n */\n\n/**\n * Root object in the unit test hierarchy, and keeper of the log object.\n *\n * @param {lib.TestManager.Log} opt_log Optional lib.TestManager.Log object.\n * Logs to the JavaScript console if omitted.\n */\nlib.TestManager = function(opt_log) {\n this.log = opt_log || new lib.TestManager.Log();\n}\n\n/**\n * Create a new test run object for this test manager.\n *\n * @param {Object} opt_cx An object to be passed to test suite setup(),\n * preamble(), and test cases during this test run. This object is opaque\n * to lib.TestManager.* code. It's entirely up to the test suite what it's\n * used for.\n */\nlib.TestManager.prototype.createTestRun = function(opt_cx) {\n return new lib.TestManager.TestRun(this, opt_cx);\n};\n\n/**\n * Called when a test run associated with this test manager completes.\n *\n * Clients may override this to call an appropriate function.\n */\nlib.TestManager.prototype.onTestRunComplete = function(testRun) {};\n\n/**\n * Called before a test associated with this test manager is run.\n *\n * @param {lib.TestManager.Result} result The result object for the upcoming\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.prototype.testPreamble = function(result, cx) {};\n\n/**\n * Called after a test associated with this test manager finishes.\n *\n * @param {lib.TestManager.Result} result The result object for the finished\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.prototype.testPostamble = function(result, cx) {};\n\n/**\n * Destination for test case output.\n *\n * Thw API will be the same as the console object. e.g. We support info(),\n * warn(), error(), etc... just like console.info(), etc...\n *\n * @param {Object} opt_console The console object to route all logging through.\n * Should provide saome API as the standard console API.\n */\nlib.TestManager.Log = function(opt_console=console) {\n this.save = false;\n this.data = '';\n this.prefix_ = '';\n this.prefixStack_ = 0;\n\n // Capture all the console entry points in case code at runtime calls these\n // directly. We want to be able to still see things.\n // We also expose the direct API to our callers (e.g. we provide warn()).\n this.console_ = opt_console;\n ['log', 'debug', 'info', 'warn', 'error'].forEach((level) => {\n let msgPrefix = '';\n switch (level) {\n case 'debug':\n case 'warn':\n case 'error':\n msgPrefix = level.toUpperCase() + ': ';\n break;\n }\n\n const oLog = this.console_[level];\n this[level] = this.console_[level] = (...args) => {\n if (this.save)\n this.data += this.prefix_ + msgPrefix + args.join(' ') + '\\n';\n oLog.apply(this.console_, args);\n };\n });\n\n // Wrap/bind the group functions.\n ['group', 'groupCollapsed'].forEach((group) => {\n const oGroup = this.console_[group];\n this[group] = this.console_[group] = (label='') => {\n oGroup(label);\n if (this.save)\n this.data += this.prefix_ + label + '\\n';\n this.prefix_ = ' '.repeat(++this.prefixStack_);\n };\n });\n\n const oGroupEnd = this.console_.groupEnd;\n this.groupEnd = this.console_.groupEnd = () => {\n oGroupEnd();\n this.prefix_ = ' '.repeat(--this.prefixStack_);\n };\n};\n\n/**\n * Returns a new constructor function that will inherit from\n * lib.TestManager.Suite.\n *\n * Use this function to create a new test suite subclass. It will return a\n * properly initialized constructor function for the subclass. You can then\n * override the setup() and preamble() methods if necessary and add test cases\n * to the subclass.\n *\n * var MyTests = new lib.TestManager.Suite('MyTests');\n *\n * MyTests.prototype.setup = function(cx) {\n * // Sets this.size to cx.size if it exists, or the default value of 10\n * // if not.\n * this.setDefault(cx, {size: 10});\n * };\n *\n * MyTests.prototype.preamble = function(result, cx) {\n * // Some tests (even successful ones) may side-effect this list, so\n * // recreate it before every test.\n * this.list = [];\n * for (var i = 0; i < this.size; i++) {\n * this.list[i] = i;\n * }\n * };\n *\n * // Basic synchronous test case.\n * MyTests.addTest('pop-length', function(result, cx) {\n * this.list.pop();\n *\n * // If this assertion fails, the testcase will stop here.\n * result.assertEQ(this.list.length, this.size - 1);\n *\n * // A test must indicate it has passed by calling this method.\n * result.pass();\n * });\n *\n * // Sample asynchronous test case.\n * MyTests.addTest('async-pop-length', function(result, cx) {\n * var self = this;\n *\n * var callback = function() {\n * result.assertEQ(self.list.length, self.size - 1);\n * result.pass();\n * };\n *\n * // Wait 100ms to check the array length for the sake of this example.\n * setTimeout(callback, 100);\n *\n * this.list.pop();\n *\n * // Indicate that this test needs another 200ms to complete.\n * // If the test does not report pass/fail by then, it is considered to\n * // have timed out.\n * result.requestTime(200);\n * });\n *\n * ...\n *\n * @param {string} suiteName The name of the test suite.\n */\nlib.TestManager.Suite = function(suiteName) {\n function ctor(testManager, cx) {\n this.testManager_ = testManager;\n this.suiteName = suiteName;\n\n this.setup(cx);\n }\n\n ctor.suiteName = suiteName;\n ctor.addTest = lib.TestManager.Suite.addTest;\n ctor.disableTest = lib.TestManager.Suite.disableTest;\n ctor.getTest = lib.TestManager.Suite.getTest;\n ctor.getTestList = lib.TestManager.Suite.getTestList;\n ctor.testList_ = [];\n ctor.testMap_ = {};\n ctor.prototype = Object.create(lib.TestManager.Suite.prototype);\n ctor.constructor = lib.TestManager.Suite;\n\n lib.TestManager.Suite.subclasses.push(ctor);\n\n return ctor;\n};\n\n/**\n * List of lib.TestManager.Suite subclasses, in the order they were defined.\n */\nlib.TestManager.Suite.subclasses = [];\n\n/**\n * Add a test to a lib.TestManager.Suite.\n *\n * This method is copied to new subclasses when they are created.\n */\nlib.TestManager.Suite.addTest = function(testName, testFunction) {\n if (testName in this.testMap_)\n throw 'Duplicate test name: ' + testName;\n\n var test = new lib.TestManager.Test(this, testName, testFunction);\n this.testMap_[testName] = test;\n this.testList_.push(test);\n};\n\n/**\n * Defines a disabled test.\n */\nlib.TestManager.Suite.disableTest = function(testName, testFunction) {\n if (testName in this.testMap_)\n throw 'Duplicate test name: ' + testName;\n\n var test = new lib.TestManager.Test(this, testName, testFunction);\n console.log('Disabled test: ' + test.fullName);\n};\n\n/**\n * Get a lib.TestManager.Test instance by name.\n *\n * This method is copied to new subclasses when they are created.\n *\n * @param {string} testName The name of the desired test.\n * @return {lib.TestManager.Test} The requested test, or undefined if it was not\n * found.\n */\nlib.TestManager.Suite.getTest = function(testName) {\n return this.testMap_[testName];\n};\n\n/**\n * Get an array of lib.TestManager.Tests associated with this Suite.\n *\n * This method is copied to new subclasses when they are created.\n */\nlib.TestManager.Suite.getTestList = function() {\n return this.testList_;\n};\n\n/**\n * Set properties on a test suite instance, pulling the property value from\n * the context if it exists and from the defaults dictionary if not.\n *\n * This is intended to be used in your test suite's setup() method to\n * define parameters for the test suite which may be overridden through the\n * context object. For example...\n *\n * MySuite.prototype.setup = function(cx) {\n * this.setDefaults(cx, {size: 10});\n * };\n *\n * If the context object has a 'size' property then this.size will be set to\n * the value of cx.size, otherwise this.size will get a default value of 10.\n *\n * @param {Object} cx The context object for a test run.\n * @param {Object} defaults An object containing name/value pairs to set on\n * this test suite instance. The value listed here will be used if the\n * name is not defined on the context object.\n */\nlib.TestManager.Suite.prototype.setDefaults = function(cx, defaults) {\n for (var k in defaults) {\n this[k] = (k in cx) ? cx[k] : defaults[k];\n }\n};\n\n/**\n * Subclassable method called to set up the test suite.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of suite-wide setup, this is the place to do it.\n *\n * It's fine to store state on the test suite instance, that state will be\n * accessible to all tests in the suite. If any test case fails, the entire\n * test suite object will be discarded and a new one will be created for\n * the remaining tests.\n *\n * Any side effects outside of this test suite instance must be idempotent.\n * For example, if you're adding DOM nodes to a document, make sure to first\n * test that they're not already there. If they are, remove them rather than\n * reuse them. You should not count on their state, since they were probably\n * left behind by a failed testcase.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.setup = function(cx) {};\n\n/**\n * Subclassable method called to do pre-test set up.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of pre-test setup, this is the place to do it.\n *\n * This can be used to avoid a bunch of boilerplate setup/teardown code in\n * this suite's testcases.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {lib.TestManager.Result} result The result object for the upcoming\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.preamble = function(result, cx) {};\n\n/**\n * Subclassable method called to do post-test tear-down.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of pre-test setup, this is the place to do it.\n *\n * This can be used to avoid a bunch of boilerplate setup/teardown code in\n * this suite's testcases.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {lib.TestManager.Result} result The result object for the finished\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.postamble = function(result, cx) {};\n\n/**\n * Object representing a single test in a test suite.\n *\n * These are created as part of the lib.TestManager.Suite.addTest() method.\n * You should never have to construct one by hand.\n *\n * @param {lib.TestManager.Suite} suiteClass The test suite class containing\n * this test.\n * @param {string} testName The local name of this test case, not including the\n * test suite name.\n * @param {function(lib.TestManager.Result, Object)} testFunction The function\n * to invoke for this test case. This is passed a Result instance and the\n * context object associated with the test run.\n *\n */\nlib.TestManager.Test = function(suiteClass, testName, testFunction) {\n /**\n * The test suite class containing this function.\n */\n this.suiteClass = suiteClass;\n\n /**\n * The local name of this test, not including the test suite name.\n */\n this.testName = testName;\n\n /**\n * The global name of this test, including the test suite name.\n */\n this.fullName = suiteClass.suiteName + '[' + testName + ']';\n\n // The function to call for this test.\n this.testFunction_ = testFunction;\n};\n\n/**\n * Execute this test.\n *\n * This is called by a lib.TestManager.Result instance, as part of a\n * lib.TestManager.TestRun. You should not call it by hand.\n *\n * @param {lib.TestManager.Result} result The result object for the test.\n */\nlib.TestManager.Test.prototype.run = function(result) {\n try {\n // Tests are applied to the parent lib.TestManager.Suite subclass.\n this.testFunction_.apply(result.suite,\n [result, result.testRun.cx]);\n } catch (ex) {\n if (ex instanceof lib.TestManager.Result.TestComplete)\n return;\n\n result.println('Test raised an exception: ' + ex);\n\n if (ex.stack) {\n if (ex.stack instanceof Array) {\n result.println(ex.stack.join('\\n'));\n } else {\n result.println(ex.stack);\n }\n }\n\n result.completeTest_(result.FAILED, false);\n }\n};\n\n/**\n * Used to choose a set of tests and run them.\n *\n * It's slightly more convenient to construct one of these from\n * lib.TestManager.prototype.createTestRun().\n *\n * @param {lib.TestManager} testManager The testManager associated with this\n * TestRun.\n * @param {Object} cx A context to be passed into the tests. This can be used\n * to set parameters for the test suite or individual test cases.\n */\nlib.TestManager.TestRun = function(testManager, cx) {\n /**\n * The associated lib.TestManager instance.\n */\n this.testManager = testManager;\n\n /**\n * Shortcut to the lib.TestManager's log.\n */\n this.log = testManager.log;\n\n /**\n * The test run context. It's entirely up to the test suite and test cases\n * how this is used. It is opaque to lib.TestManager.* classes.\n */\n this.cx = cx || {};\n\n /**\n * The list of test cases that encountered failures.\n */\n this.failures = [];\n\n /**\n * The list of test cases that passed.\n */\n this.passes = [];\n\n /**\n * The time the test run started, or null if it hasn't been started yet.\n */\n this.startDate = null;\n\n /**\n * The time in milliseconds that the test run took to complete, or null if\n * it hasn't completed yet.\n */\n this.duration = null;\n\n /**\n * The most recent result object, or null if the test run hasn't started\n * yet. In order to detect late failures, this is not cleared when the test\n * completes.\n */\n this.currentResult = null;\n\n /**\n * Number of maximum failures. The test run will stop when this number is\n * reached. If 0 or omitted, the entire set of selected tests is run, even\n * if some fail.\n */\n this.maxFailures = 0;\n\n /**\n * True if this test run ended early because of an unexpected condition.\n */\n this.panic = false;\n\n // List of pending test cases.\n this.testQueue_ = [];\n\n};\n\n/**\n * This value can be passed to select() to indicate that all tests should\n * be selected.\n */\nlib.TestManager.TestRun.prototype.ALL_TESTS = lib.f.createEnum('');\n\n/**\n * Add a single test to the test run.\n */\nlib.TestManager.TestRun.prototype.selectTest = function(test) {\n this.testQueue_.push(test);\n};\n\nlib.TestManager.TestRun.prototype.selectSuite = function(\n suiteClass, opt_pattern) {\n var pattern = opt_pattern || this.ALL_TESTS;\n var selectCount = 0;\n var testList = suiteClass.getTestList();\n\n for (var j = 0; j < testList.length; j++) {\n var test = testList[j];\n // Note that we're using \"!==\" rather than \"!=\" so that we're matching\n // the ALL_TESTS String object, rather than the contents of the string.\n if (pattern !== this.ALL_TESTS) {\n if (pattern instanceof RegExp) {\n if (!pattern.test(test.testName))\n continue;\n } else if (test.testName != pattern) {\n continue;\n }\n }\n\n this.selectTest(test);\n selectCount++;\n }\n\n return selectCount;\n};\n\n/**\n * Selects one or more tests to gather results for.\n *\n * Selecting the same test more than once is allowed.\n *\n * @param {string|RegExp} pattern Pattern used to select tests.\n * If TestRun.prototype.ALL_TESTS, all tests are selected.\n * If a string, only the test that exactly matches is selected.\n * If a RegExp, only tests matching the RegExp are added.\n *\n * @return {int} The number of additional tests that have been selected into\n * this TestRun.\n */\nlib.TestManager.TestRun.prototype.selectPattern = function(pattern) {\n var selectCount = 0;\n\n for (var i = 0; i < lib.TestManager.Suite.subclasses.length; i++) {\n selectCount += this.selectSuite(lib.TestManager.Suite.subclasses[i],\n pattern);\n }\n\n if (!selectCount) {\n this.log.warn('No tests matched selection criteria: ' + pattern);\n }\n\n return selectCount;\n};\n\n/**\n * Hooked up to window.onerror during a test run in order to catch exceptions\n * that would otherwise go uncaught.\n */\nlib.TestManager.TestRun.prototype.onUncaughtException_ = function(\n message, file, line) {\n\n if (message.indexOf('Uncaught lib.TestManager.Result.TestComplete') == 0 ||\n message.indexOf('status: passed') != -1) {\n // This is a result.pass() or result.fail() call from a callback. We're\n // already going to deal with it as part of the completeTest_() call\n // that raised it. We can safely squelch this error message.\n return true;\n }\n\n if (!this.currentResult)\n return;\n\n if (message == 'Uncaught ' + this.currentResult.expectedErrorMessage_) {\n // Test cases may need to raise an unhandled exception as part of the test.\n return;\n }\n\n var when = 'during';\n\n if (this.currentResult.status != this.currentResult.PENDING)\n when = 'after';\n\n this.log.error('Uncaught exception ' + when + ' test case: ' +\n this.currentResult.test.fullName);\n this.log.error(message + ', ' + file + ':' + line);\n\n this.currentResult.completeTest_(this.currentResult.FAILED, false);\n\n return false;\n};\n\n/**\n * Called to when this test run has completed.\n *\n * This method typically re-runs itself asynchronously, in order to let the\n * DOM stabilize and short-term timeouts to complete before declaring the\n * test run complete.\n *\n * @param {boolean} opt_skipTimeout If true, the timeout is skipped and the\n * test run is completed immediately. This should only be used from within\n * this function.\n */\nlib.TestManager.TestRun.prototype.onTestRunComplete_ = function(\n opt_skipTimeout) {\n if (!opt_skipTimeout) {\n // The final test may have left a lingering setTimeout(..., 0), or maybe\n // poked at the DOM in a way that will trigger a event to fire at the end\n // of this stack, so we give things a chance to settle down before our\n // final cleanup...\n setTimeout(this.onTestRunComplete_.bind(this), 0, true);\n return;\n }\n\n this.duration = (new Date()) - this.startDate;\n\n this.log.groupEnd();\n this.log.info(this.passes.length + ' passed, ' +\n this.failures.length + ' failed, ' +\n this.msToSeconds_(this.duration));\n\n this.summarize();\n\n window.onerror = null;\n\n this.testManager.onTestRunComplete(this);\n};\n\n/**\n * Called by the lib.TestManager.Result object when a test completes.\n *\n * @param {lib.TestManager.Result} result The result object which has just\n * completed.\n */\nlib.TestManager.TestRun.prototype.onResultComplete = function(result) {\n try {\n this.testManager.testPostamble(result, this.cx);\n result.suite.postamble(result, this.ctx);\n } catch (ex) {\n this.log.error('Unexpected exception in postamble: ' +\n (ex.stack ? ex.stack : ex));\n this.panic = true;\n }\n\n if (result.status != result.PASSED)\n this.log.error(result.status);\n else if (result.duration > 500)\n this.log.warn('Slow test took ' + this.msToSeconds_(result.duration));\n this.log.groupEnd();\n\n if (result.status == result.FAILED) {\n this.failures.push(result);\n this.currentSuite = null;\n } else if (result.status == result.PASSED) {\n this.passes.push(result);\n } else {\n this.log.error('Unknown result status: ' + result.test.fullName + ': ' +\n result.status);\n return this.panic = true;\n }\n\n this.runNextTest_();\n};\n\n/**\n * Called by the lib.TestManager.Result object when a test which has already\n * completed reports another completion.\n *\n * This is usually indicative of a buggy testcase. It is probably reporting a\n * result on exit and then again from an asynchronous callback.\n *\n * It may also be the case that the last act of the testcase causes a DOM change\n * which triggers some event to run after the test returns. If the event\n * handler reports a failure or raises an uncaught exception, the test will\n * fail even though it has already completed.\n *\n * In any case, re-completing a test ALWAYS moves it into the failure pile.\n *\n * @param {lib.TestManager.Result} result The result object which has just\n * completed.\n * @param {string} lateStatus The status that the test attempted to record this\n * time around.\n */\nlib.TestManager.TestRun.prototype.onResultReComplete = function(\n result, lateStatus) {\n this.log.error('Late complete for test: ' + result.test.fullName + ': ' +\n lateStatus);\n\n // Consider any late completion a failure, even if it's a double-pass, since\n // it's a misuse of the testing API.\n var index = this.passes.indexOf(result);\n if (index >= 0) {\n this.passes.splice(index, 1);\n this.failures.push(result);\n }\n};\n\n/**\n * Run the next test in the queue.\n */\nlib.TestManager.TestRun.prototype.runNextTest_ = function() {\n if (this.panic || !this.testQueue_.length)\n return this.onTestRunComplete_();\n\n if (this.maxFailures && this.failures.length >= this.maxFailures) {\n this.log.error('Maximum failure count reached, aborting test run.');\n return this.onTestRunComplete_();\n }\n\n // Peek at the top test first. We remove it later just before it's about\n // to run, so that we don't disturb the incomplete test count in the\n // event that we fail before running it.\n var test = this.testQueue_[0];\n var suite = this.currentResult ? this.currentResult.suite : null;\n\n try {\n if (!suite || !(suite instanceof test.suiteClass)) {\n if (suite)\n this.log.groupEnd();\n this.log.group(test.suiteClass.suiteName);\n suite = new test.suiteClass(this.testManager, this.cx);\n }\n } catch (ex) {\n // If test suite setup fails we're not even going to try to run the tests.\n this.log.error('Exception during setup: ' + (ex.stack ? ex.stack : ex));\n this.panic = true;\n this.onTestRunComplete_();\n return;\n }\n\n try {\n this.log.group(test.testName);\n\n this.currentResult = new lib.TestManager.Result(this, suite, test);\n this.testManager.testPreamble(this.currentResult, this.cx);\n suite.preamble(this.currentResult, this.cx);\n\n this.testQueue_.shift();\n } catch (ex) {\n this.log.error('Unexpected exception during test preamble: ' +\n (ex.stack ? ex.stack : ex));\n this.log.groupEnd();\n\n this.panic = true;\n this.onTestRunComplete_();\n return;\n }\n\n try {\n this.currentResult.run();\n } catch (ex) {\n // Result.run() should catch test exceptions and turn them into failures.\n // If we got here, it means there is trouble in the testing framework.\n this.log.error('Unexpected exception during test run: ' +\n (ex.stack ? ex.stack : ex));\n this.panic = true;\n }\n};\n\n/**\n * Run the selected list of tests.\n *\n * Some tests may need to run asynchronously, so you cannot assume the run is\n * complete when this function returns. Instead, pass in a function to be\n * called back when the run has completed.\n *\n * This function will log the results of the test run as they happen into the\n * log defined by the associated lib.TestManager. By default this is\n * console.log, which can be viewed in the JavaScript console of most browsers.\n *\n * The browser state is determined by the last test to run. We intentionally\n * don't do any cleanup so that you can inspect the state of a failed test, or\n * leave the browser ready for manual testing.\n *\n * Any failures in lib.TestManager.* code or test suite setup or test case\n * preamble will cause the test run to abort.\n */\nlib.TestManager.TestRun.prototype.run = function() {\n this.log.info('Running ' + this.testQueue_.length + ' test(s)');\n\n window.onerror = this.onUncaughtException_.bind(this);\n this.startDate = new Date();\n this.runNextTest_();\n};\n\n/**\n * Format milliseconds as fractional seconds.\n */\nlib.TestManager.TestRun.prototype.msToSeconds_ = function(ms) {\n var secs = (ms / 1000).toFixed(2);\n return secs + 's';\n};\n\n/**\n * Log the current result summary.\n */\nlib.TestManager.TestRun.prototype.summarize = function() {\n if (this.failures.length) {\n for (var i = 0; i < this.failures.length; i++) {\n this.log.error('FAILED: ' + this.failures[i].test.fullName);\n }\n }\n\n if (this.testQueue_.length) {\n this.log.warn('Test run incomplete: ' + this.testQueue_.length +\n ' test(s) were not run.');\n }\n};\n\n/**\n * Record of the result of a single test.\n *\n * These are constructed during a test run, you shouldn't have to make one\n * on your own.\n *\n * An instance of this class is passed in to each test function. It can be\n * used to add messages to the test log, to record a test pass/fail state, to\n * test assertions, or to create exception-proof wrappers for callback\n * functions.\n *\n * @param {lib.TestManager.TestRun} testRun The TestRun instance associated with\n * this result.\n * @param {lib.TestManager.Suit} suite The Suite containing the test we're\n * collecting this result for.\n * @param {lib.TestManager.Test} test The test we're collecting this result for.\n */\nlib.TestManager.Result = function(testRun, suite, test) {\n /**\n * The TestRun instance associated with this result.\n */\n this.testRun = testRun;\n\n /**\n * The Suite containing the test we're collecting this result for.\n */\n this.suite = suite;\n\n /**\n * The test we're collecting this result for.\n */\n this.test = test;\n\n /**\n * The time we started to collect this result, or null if we haven't started.\n */\n this.startDate = null;\n\n /**\n * The time in milliseconds that the test took to complete, or null if\n * it hasn't completed yet.\n */\n this.duration = null;\n\n /**\n * The current status of this test result.\n */\n this.status = this.PENDING;\n\n // An error message that the test case is expected to generate.\n this.expectedErrorMessage_ = null;\n};\n\n/**\n * Possible values for this.status.\n */\nlib.TestManager.Result.prototype.PENDING = 'pending';\nlib.TestManager.Result.prototype.FAILED = 'FAILED';\nlib.TestManager.Result.prototype.PASSED = 'passed';\n\n/**\n * Exception thrown when a test completes (pass or fail), to ensure no more of\n * the test is run.\n */\nlib.TestManager.Result.TestComplete = function(result) {\n this.result = result;\n};\n\nlib.TestManager.Result.TestComplete.prototype.toString = function() {\n return 'lib.TestManager.Result.TestComplete: ' + this.result.test.fullName +\n ', status: ' + this.result.status;\n}\n\n/**\n * Start the test associated with this result.\n */\nlib.TestManager.Result.prototype.run = function() {\n var self = this;\n\n this.startDate = new Date();\n this.test.run(this);\n\n if (this.status == this.PENDING && !this.timeout_) {\n this.println('Test did not return a value and did not request more time.');\n this.completeTest_(this.FAILED, false);\n }\n};\n\n/**\n * Unhandled error message this test expects to generate.\n *\n * This must be the exact string that would appear in the JavaScript console,\n * minus the 'Uncaught ' prefix.\n *\n * The test case does *not* automatically fail if the error message is not\n * encountered.\n */\nlib.TestManager.Result.prototype.expectErrorMessage = function(str) {\n this.expectedErrorMessage_ = str;\n};\n\n/**\n * Function called when a test times out.\n */\nlib.TestManager.Result.prototype.onTimeout_ = function() {\n this.timeout_ = null;\n\n if (this.status != this.PENDING)\n return;\n\n this.println('Test timed out.');\n this.completeTest_(this.FAILED, false);\n};\n\n/**\n * Indicate that a test case needs more time to complete.\n *\n * Before a test case returns it must report a pass/fail result, or request more\n * time to do so.\n *\n * If a test does not report pass/fail before the time expires it will\n * be reported as a timeout failure. Any late pass/fails will be noted in the\n * test log, but will not affect the final result of the test.\n *\n * Test cases may call requestTime more than once. If you have a few layers\n * of asynchronous API to go through, you should call this once per layer with\n * an estimate of how long each callback will take to complete.\n *\n * @param {int} ms Number of milliseconds requested.\n */\nlib.TestManager.Result.prototype.requestTime = function(ms) {\n if (this.timeout_)\n clearTimeout(this.timeout_);\n\n this.timeout_ = setTimeout(this.onTimeout_.bind(this), ms);\n};\n\n/**\n * Report the completion of a test.\n *\n * @param {string} status The status of the test case.\n * @param {boolean} opt_throw Optional boolean indicating whether or not\n * to throw the TestComplete exception.\n */\nlib.TestManager.Result.prototype.completeTest_ = function(status, opt_throw) {\n if (this.status == this.PENDING) {\n this.duration = (new Date()) - this.startDate;\n this.status = status;\n\n this.testRun.onResultComplete(this);\n } else {\n this.testRun.onResultReComplete(this, status);\n }\n\n if (arguments.length < 2 || opt_throw)\n throw new lib.TestManager.Result.TestComplete(this);\n};\n\n/**\n * Check that two arrays are equal.\n */\nlib.TestManager.Result.prototype.arrayEQ_ = function(actual, expected) {\n if (!actual || !expected)\n return (!actual && !expected);\n\n if (actual.length != expected.length)\n return false;\n\n for (var i = 0; i < actual.length; ++i)\n if (actual[i] != expected[i])\n return false;\n\n return true;\n};\n\n/**\n * Assert that an actual value is exactly equal to the expected value.\n *\n * This uses the JavaScript '===' operator in order to avoid type coercion.\n *\n * If the assertion fails, the test is marked as a failure and a TestCompleted\n * exception is thrown.\n *\n * @param {*} actual The actual measured value.\n * @param {*} expected The value expected.\n * @param {string} opt_name An optional name used to identify this\n * assertion in the test log. If omitted it will be the file:line\n * of the caller.\n */\nlib.TestManager.Result.prototype.assertEQ = function(\n actual, expected, opt_name) {\n // Utility function to pretty up the log.\n function format(value) {\n if (typeof value == 'number')\n return value;\n\n var str = String(value);\n var ary = str.split('\\n').map(function (e) { return JSON.stringify(e) });\n if (ary.length > 1) {\n // If the string has newlines, start it off on its own line so that\n // it's easier to compare against another string with newlines.\n return '\\n' + ary.join('\\n');\n } else {\n return ary.join('\\n');\n }\n }\n\n if (actual === expected)\n return;\n\n // Deal with common object types since JavaScript can't.\n if (expected instanceof Array)\n if (this.arrayEQ_(actual, expected))\n return;\n\n var name = opt_name ? '[' + opt_name + ']' : '';\n\n this.fail('assertEQ' + name + ': ' + this.getCallerLocation_(1) + ': ' +\n format(actual) + ' !== ' + format(expected));\n};\n\n/**\n * Assert that a value is true.\n *\n * This uses the JavaScript '===' operator in order to avoid type coercion.\n * The must be the boolean value `true`, not just some \"truish\" value.\n *\n * If the assertion fails, the test is marked as a failure and a TestCompleted\n * exception is thrown.\n *\n * @param {boolean} actual The actual measured value.\n * @param {string} opt_name An optional name used to identify this\n * assertion in the test log. If omitted it will be the file:line\n * of the caller.\n */\nlib.TestManager.Result.prototype.assert = function(actual, opt_name) {\n if (actual === true)\n return;\n\n var name = opt_name ? '[' + opt_name + ']' : '';\n\n this.fail('assert' + name + ': ' + this.getCallerLocation_(1) + ': ' +\n String(actual));\n};\n\n/**\n * Return the filename:line of a calling stack frame.\n *\n * This uses a dirty hack. It throws an exception, catches it, and examines\n * the stack property of the caught exception.\n *\n * @param {int} frameIndex The stack frame to return. 0 is the frame that\n * called this method, 1 is its caller, and so on.\n * @return {string} A string of the format \"filename:linenumber\".\n */\nlib.TestManager.Result.prototype.getCallerLocation_ = function(frameIndex) {\n try {\n throw new Error();\n } catch (ex) {\n var frame = ex.stack.split('\\n')[frameIndex + 2];\n var ary = frame.match(/([^/]+:\\d+):\\d+\\)?$/);\n return ary ? ary[1] : '???';\n }\n};\n\n/**\n * Write a message to the result log.\n */\nlib.TestManager.Result.prototype.println = function(message) {\n this.testRun.log.info(message);\n};\n\n/**\n * Mark a failed test and exit out of the rest of the test.\n *\n * This will throw a TestCompleted exception, causing the current test to stop.\n *\n * @param {string} opt_message Optional message to add to the log.\n */\nlib.TestManager.Result.prototype.fail = function(opt_message) {\n if (arguments.length)\n this.println(opt_message);\n\n this.completeTest_(this.FAILED, true);\n};\n\n/**\n * Mark a passed test and exit out of the rest of the test.\n *\n * This will throw a TestCompleted exception, causing the current test to stop.\n */\nlib.TestManager.Result.prototype.pass = function() {\n this.completeTest_(this.PASSED, true);\n};\n// SOURCE FILE: libdot/js/lib_utf8.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n// TODO(davidben): When the string encoding API is implemented,\n// replace this with the native in-browser implementation.\n//\n// https://wiki.whatwg.org/wiki/StringEncoding\n// https://encoding.spec.whatwg.org/\n\n/**\n * A stateful UTF-8 decoder.\n */\nlib.UTF8Decoder = function() {\n // The number of bytes left in the current sequence.\n this.bytesLeft = 0;\n // The in-progress code point being decoded, if bytesLeft > 0.\n this.codePoint = 0;\n // The lower bound on the final code point, if bytesLeft > 0.\n this.lowerBound = 0;\n};\n\n/**\n * Decodes a some UTF-8 data, taking into account state from previous\n * data streamed through the encoder.\n *\n * @param {String} str data to decode, represented as a JavaScript\n * String with each code unit representing a byte between 0x00 to\n * 0xFF.\n * @return {String} The data decoded into a JavaScript UTF-16 string.\n */\nlib.UTF8Decoder.prototype.decode = function(str) {\n var ret = '';\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n if (this.bytesLeft == 0) {\n if (c <= 0x7F) {\n ret += str.charAt(i);\n } else if (0xC0 <= c && c <= 0xDF) {\n this.codePoint = c - 0xC0;\n this.bytesLeft = 1;\n this.lowerBound = 0x80;\n } else if (0xE0 <= c && c <= 0xEF) {\n this.codePoint = c - 0xE0;\n this.bytesLeft = 2;\n this.lowerBound = 0x800;\n } else if (0xF0 <= c && c <= 0xF7) {\n this.codePoint = c - 0xF0;\n this.bytesLeft = 3;\n this.lowerBound = 0x10000;\n } else if (0xF8 <= c && c <= 0xFB) {\n this.codePoint = c - 0xF8;\n this.bytesLeft = 4;\n this.lowerBound = 0x200000;\n } else if (0xFC <= c && c <= 0xFD) {\n this.codePoint = c - 0xFC;\n this.bytesLeft = 5;\n this.lowerBound = 0x4000000;\n } else {\n ret += '\\ufffd';\n }\n } else {\n if (0x80 <= c && c <= 0xBF) {\n this.bytesLeft--;\n this.codePoint = (this.codePoint << 6) + (c - 0x80);\n if (this.bytesLeft == 0) {\n // Got a full sequence. Check if it's within bounds and\n // filter out surrogate pairs.\n var codePoint = this.codePoint;\n if (codePoint < this.lowerBound\n || (0xD800 <= codePoint && codePoint <= 0xDFFF)\n || codePoint > 0x10FFFF) {\n ret += '\\ufffd';\n } else {\n // Encode as UTF-16 in the output.\n if (codePoint < 0x10000) {\n ret += String.fromCharCode(codePoint);\n } else {\n // Surrogate pair.\n codePoint -= 0x10000;\n ret += String.fromCharCode(\n 0xD800 + ((codePoint >>> 10) & 0x3FF),\n 0xDC00 + (codePoint & 0x3FF));\n }\n }\n }\n } else {\n // Too few bytes in multi-byte sequence. Rewind stream so we\n // don't lose the next byte.\n ret += '\\ufffd';\n this.bytesLeft = 0;\n i--;\n }\n }\n }\n return ret;\n};\n\n/**\n * Decodes UTF-8 data. This is a convenience function for when all the\n * data is already known.\n *\n * @param {String} str data to decode, represented as a JavaScript\n * String with each code unit representing a byte between 0x00 to\n * 0xFF.\n * @return {String} The data decoded into a JavaScript UTF-16 string.\n */\nlib.decodeUTF8 = function(utf8) {\n return (new lib.UTF8Decoder()).decode(utf8);\n};\n\n/**\n * Encodes a UTF-16 string into UTF-8.\n *\n * TODO(davidben): Do we need a stateful version of this that can\n * handle a surrogate pair split in two calls? What happens if a\n * keypress event would have contained a character outside the BMP?\n *\n * @param {String} str The string to encode.\n * @return {String} The string encoded as UTF-8, as a JavaScript\n * string with bytes represented as code units from 0x00 to 0xFF.\n */\nlib.encodeUTF8 = function(str) {\n var ret = '';\n for (var i = 0; i < str.length; i++) {\n // Get a unicode code point out of str.\n var c = str.charCodeAt(i);\n if (0xDC00 <= c && c <= 0xDFFF) {\n c = 0xFFFD;\n } else if (0xD800 <= c && c <= 0xDBFF) {\n if (i+1 < str.length) {\n var d = str.charCodeAt(i+1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n // Swallow a surrogate pair.\n c = 0x10000 + ((c & 0x3FF) << 10) + (d & 0x3FF);\n i++;\n } else {\n c = 0xFFFD;\n }\n } else {\n c = 0xFFFD;\n }\n }\n\n // Encode c in UTF-8.\n var bytesLeft;\n if (c <= 0x7F) {\n ret += str.charAt(i);\n continue;\n } else if (c <= 0x7FF) {\n ret += String.fromCharCode(0xC0 | (c >>> 6));\n bytesLeft = 1;\n } else if (c <= 0xFFFF) {\n ret += String.fromCharCode(0xE0 | (c >>> 12));\n bytesLeft = 2;\n } else /* if (c <= 0x10FFFF) */ {\n ret += String.fromCharCode(0xF0 | (c >>> 18));\n bytesLeft = 3;\n }\n\n while (bytesLeft > 0) {\n bytesLeft--;\n ret += String.fromCharCode(0x80 | ((c >>> (6 * bytesLeft)) & 0x3F));\n }\n }\n return ret;\n};\n// SOURCE FILE: libdot/third_party/wcwidth/lib_wc.js\n// Copyright (c) 2014 The Chromium OS Authors. All rights reserved.\n// Use of lib.wc source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * This JavaScript library is ported from the wcwidth.js module of node.js.\n * The original implementation can be found at:\n * https://npmjs.org/package/wcwidth.js\n */\n\n/**\n * JavaScript porting of Markus Kuhn's wcwidth() implementation\n *\n * The following explanation comes from the original C implementation:\n *\n * This is an implementation of wcwidth() and wcswidth() (defined in\n * IEEE Std 1002.1-2001) for Unicode.\n *\n * http://www.opengroup.org/onlinepubs/007904975/functions/wcwidth.html\n * http://www.opengroup.org/onlinepubs/007904975/functions/wcswidth.html\n *\n * In fixed-width output devices, Latin characters all occupy a single\n * \"cell\" position of equal width, whereas ideographic CJK characters\n * occupy two such cells. Interoperability between terminal-line\n * applications and (teletype-style) character terminals using the\n * UTF-8 encoding requires agreement on which character should advance\n * the cursor by how many cell positions. No established formal\n * standards exist at present on which Unicode character shall occupy\n * how many cell positions on character terminals. These routines are\n * a first attempt of defining such behavior based on simple rules\n * applied to data provided by the Unicode Consortium.\n *\n * For some graphical characters, the Unicode standard explicitly\n * defines a character-cell width via the definition of the East Asian\n * FullWidth (F), Wide (W), Half-width (H), and Narrow (Na) classes.\n * In all these cases, there is no ambiguity about which width a\n * terminal shall use. For characters in the East Asian Ambiguous (A)\n * class, the width choice depends purely on a preference of backward\n * compatibility with either historic CJK or Western practice.\n * Choosing single-width for these characters is easy to justify as\n * the appropriate long-term solution, as the CJK practice of\n * displaying these characters as double-width comes from historic\n * implementation simplicity (8-bit encoded characters were displayed\n * single-width and 16-bit ones double-width, even for Greek,\n * Cyrillic, etc.) and not any typographic considerations.\n *\n * Much less clear is the choice of width for the Not East Asian\n * (Neutral) class. Existing practice does not dictate a width for any\n * of these characters. It would nevertheless make sense\n * typographically to allocate two character cells to characters such\n * as for instance EM SPACE or VOLUME INTEGRAL, which cannot be\n * represented adequately with a single-width glyph. The following\n * routines at present merely assign a single-cell width to all\n * neutral characters, in the interest of simplicity. This is not\n * entirely satisfactory and should be reconsidered before\n * establishing a formal standard in lib.wc area. At the moment, the\n * decision which Not East Asian (Neutral) characters should be\n * represented by double-width glyphs cannot yet be answered by\n * applying a simple rule from the Unicode database content. Setting\n * up a proper standard for the behavior of UTF-8 character terminals\n * will require a careful analysis not only of each Unicode character,\n * but also of each presentation form, something the author of these\n * routines has avoided to do so far.\n *\n * http://www.unicode.org/unicode/reports/tr11/\n *\n * Markus Kuhn -- 2007-05-26 (Unicode 5.0)\n *\n * Permission to use, copy, modify, and distribute lib.wc software\n * for any purpose and without fee is hereby granted. The author\n * disclaims all warranties with regard to lib.wc software.\n *\n * Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c\n */\n\n/**\n * The following function defines the column width of an ISO 10646 character\n * as follows:\n *\n * - The null character (U+0000) has a column width of 0.\n * - Other C0/C1 control characters and DEL will lead to a return value of -1.\n * - Non-spacing and enclosing combining characters (general category code Mn\n * or Me in the Unicode database) have a column width of 0.\n * - SOFT HYPHEN (U+00AD) has a column width of 1.\n * - Other format characters (general category code Cf in the Unicode database)\n * and ZERO WIDTH SPACE (U+200B) have a column width of 0.\n * - Hangul Jamo medial vowels and final consonants (U+1160-U+11FF) have a\n * column width of 0.\n * - Spacing characters in the East Asian Wide (W) or East Asian Full-width (F)\n * category as defined in Unicode Technical Report #11 have a column width of\n * 2.\n * - East Asian Ambiguous characters are taken into account if\n * regardCjkAmbiguous flag is enabled. They have a column width of 2.\n * - All remaining characters (including all printable ISO 8859-1 and WGL4\n * characters, Unicode control characters, etc.) have a column width of 1.\n *\n * This implementation assumes that characters are encoded in ISO 10646.\n */\n\nlib.wc = {};\n\n// Width of a nul character.\nlib.wc.nulWidth = 0;\n\n// Width of a control character.\nlib.wc.controlWidth = 0;\n\n// Flag whether to consider East Asian Ambiguous characters.\nlib.wc.regardCjkAmbiguous = false;\n\n// Width of an East Asian Ambiguous character.\nlib.wc.cjkAmbiguousWidth = 2;\n\n// Sorted list of non-overlapping intervals of non-spacing characters\n// generated by \"uniset +cat=Me +cat=Mn +cat=Cf -00AD +1160-11FF +200B c\"\nlib.wc.combining = [\n [ 0x0300, 0x036F ], [ 0x0483, 0x0486 ], [ 0x0488, 0x0489 ],\n [ 0x0591, 0x05BD ], [ 0x05BF, 0x05BF ], [ 0x05C1, 0x05C2 ],\n [ 0x05C4, 0x05C5 ], [ 0x05C7, 0x05C7 ], [ 0x0600, 0x0603 ],\n [ 0x0610, 0x0615 ], [ 0x064B, 0x065E ], [ 0x0670, 0x0670 ],\n [ 0x06D6, 0x06E4 ], [ 0x06E7, 0x06E8 ], [ 0x06EA, 0x06ED ],\n [ 0x070F, 0x070F ], [ 0x0711, 0x0711 ], [ 0x0730, 0x074A ],\n [ 0x07A6, 0x07B0 ], [ 0x07EB, 0x07F3 ], [ 0x0901, 0x0902 ],\n [ 0x093C, 0x093C ], [ 0x0941, 0x0948 ], [ 0x094D, 0x094D ],\n [ 0x0951, 0x0954 ], [ 0x0962, 0x0963 ], [ 0x0981, 0x0981 ],\n [ 0x09BC, 0x09BC ], [ 0x09C1, 0x09C4 ], [ 0x09CD, 0x09CD ],\n [ 0x09E2, 0x09E3 ], [ 0x0A01, 0x0A02 ], [ 0x0A3C, 0x0A3C ],\n [ 0x0A41, 0x0A42 ], [ 0x0A47, 0x0A48 ], [ 0x0A4B, 0x0A4D ],\n [ 0x0A70, 0x0A71 ], [ 0x0A81, 0x0A82 ], [ 0x0ABC, 0x0ABC ],\n [ 0x0AC1, 0x0AC5 ], [ 0x0AC7, 0x0AC8 ], [ 0x0ACD, 0x0ACD ],\n [ 0x0AE2, 0x0AE3 ], [ 0x0B01, 0x0B01 ], [ 0x0B3C, 0x0B3C ],\n [ 0x0B3F, 0x0B3F ], [ 0x0B41, 0x0B43 ], [ 0x0B4D, 0x0B4D ],\n [ 0x0B56, 0x0B56 ], [ 0x0B82, 0x0B82 ], [ 0x0BC0, 0x0BC0 ],\n [ 0x0BCD, 0x0BCD ], [ 0x0C3E, 0x0C40 ], [ 0x0C46, 0x0C48 ],\n [ 0x0C4A, 0x0C4D ], [ 0x0C55, 0x0C56 ], [ 0x0CBC, 0x0CBC ],\n [ 0x0CBF, 0x0CBF ], [ 0x0CC6, 0x0CC6 ], [ 0x0CCC, 0x0CCD ],\n [ 0x0CE2, 0x0CE3 ], [ 0x0D41, 0x0D43 ], [ 0x0D4D, 0x0D4D ],\n [ 0x0DCA, 0x0DCA ], [ 0x0DD2, 0x0DD4 ], [ 0x0DD6, 0x0DD6 ],\n [ 0x0E31, 0x0E31 ], [ 0x0E34, 0x0E3A ], [ 0x0E47, 0x0E4E ],\n [ 0x0EB1, 0x0EB1 ], [ 0x0EB4, 0x0EB9 ], [ 0x0EBB, 0x0EBC ],\n [ 0x0EC8, 0x0ECD ], [ 0x0F18, 0x0F19 ], [ 0x0F35, 0x0F35 ],\n [ 0x0F37, 0x0F37 ], [ 0x0F39, 0x0F39 ], [ 0x0F71, 0x0F7E ],\n [ 0x0F80, 0x0F84 ], [ 0x0F86, 0x0F87 ], [ 0x0F90, 0x0F97 ],\n [ 0x0F99, 0x0FBC ], [ 0x0FC6, 0x0FC6 ], [ 0x102D, 0x1030 ],\n [ 0x1032, 0x1032 ], [ 0x1036, 0x1037 ], [ 0x1039, 0x1039 ],\n [ 0x1058, 0x1059 ], [ 0x1160, 0x11FF ], [ 0x135F, 0x135F ],\n [ 0x1712, 0x1714 ], [ 0x1732, 0x1734 ], [ 0x1752, 0x1753 ],\n [ 0x1772, 0x1773 ], [ 0x17B4, 0x17B5 ], [ 0x17B7, 0x17BD ],\n [ 0x17C6, 0x17C6 ], [ 0x17C9, 0x17D3 ], [ 0x17DD, 0x17DD ],\n [ 0x180B, 0x180D ], [ 0x18A9, 0x18A9 ], [ 0x1920, 0x1922 ],\n [ 0x1927, 0x1928 ], [ 0x1932, 0x1932 ], [ 0x1939, 0x193B ],\n [ 0x1A17, 0x1A18 ], [ 0x1B00, 0x1B03 ], [ 0x1B34, 0x1B34 ],\n [ 0x1B36, 0x1B3A ], [ 0x1B3C, 0x1B3C ], [ 0x1B42, 0x1B42 ],\n [ 0x1B6B, 0x1B73 ], [ 0x1DC0, 0x1DCA ], [ 0x1DFE, 0x1DFF ],\n [ 0x200B, 0x200F ], [ 0x202A, 0x202E ], [ 0x2060, 0x2063 ],\n [ 0x206A, 0x206F ], [ 0x20D0, 0x20EF ], [ 0x302A, 0x302F ],\n [ 0x3099, 0x309A ], [ 0xA806, 0xA806 ], [ 0xA80B, 0xA80B ],\n [ 0xA825, 0xA826 ], [ 0xFB1E, 0xFB1E ], [ 0xFE00, 0xFE0F ],\n [ 0xFE20, 0xFE23 ], [ 0xFEFF, 0xFEFF ], [ 0xFFF9, 0xFFFB ],\n [ 0x10A01, 0x10A03 ], [ 0x10A05, 0x10A06 ], [ 0x10A0C, 0x10A0F ],\n [ 0x10A38, 0x10A3A ], [ 0x10A3F, 0x10A3F ], [ 0x1D167, 0x1D169 ],\n [ 0x1D173, 0x1D182 ], [ 0x1D185, 0x1D18B ], [ 0x1D1AA, 0x1D1AD ],\n [ 0x1D242, 0x1D244 ], [ 0xE0001, 0xE0001 ], [ 0xE0020, 0xE007F ],\n [ 0xE0100, 0xE01EF ]\n];\n\n// Sorted list of non-overlapping intervals of East Asian Ambiguous characters\n// generated by \"uniset +WIDTH-A -cat=Me -cat=Mn -cat=Cf c\"\nlib.wc.ambiguous = [\n [ 0x00A1, 0x00A1 ], [ 0x00A4, 0x00A4 ], [ 0x00A7, 0x00A8 ],\n [ 0x00AA, 0x00AA ], [ 0x00AE, 0x00AE ], [ 0x00B0, 0x00B4 ],\n [ 0x00B6, 0x00BA ], [ 0x00BC, 0x00BF ], [ 0x00C6, 0x00C6 ],\n [ 0x00D0, 0x00D0 ], [ 0x00D7, 0x00D8 ], [ 0x00DE, 0x00E1 ],\n [ 0x00E6, 0x00E6 ], [ 0x00E8, 0x00EA ], [ 0x00EC, 0x00ED ],\n [ 0x00F0, 0x00F0 ], [ 0x00F2, 0x00F3 ], [ 0x00F7, 0x00FA ],\n [ 0x00FC, 0x00FC ], [ 0x00FE, 0x00FE ], [ 0x0101, 0x0101 ],\n [ 0x0111, 0x0111 ], [ 0x0113, 0x0113 ], [ 0x011B, 0x011B ],\n [ 0x0126, 0x0127 ], [ 0x012B, 0x012B ], [ 0x0131, 0x0133 ],\n [ 0x0138, 0x0138 ], [ 0x013F, 0x0142 ], [ 0x0144, 0x0144 ],\n [ 0x0148, 0x014B ], [ 0x014D, 0x014D ], [ 0x0152, 0x0153 ],\n [ 0x0166, 0x0167 ], [ 0x016B, 0x016B ], [ 0x01CE, 0x01CE ],\n [ 0x01D0, 0x01D0 ], [ 0x01D2, 0x01D2 ], [ 0x01D4, 0x01D4 ],\n [ 0x01D6, 0x01D6 ], [ 0x01D8, 0x01D8 ], [ 0x01DA, 0x01DA ],\n [ 0x01DC, 0x01DC ], [ 0x0251, 0x0251 ], [ 0x0261, 0x0261 ],\n [ 0x02C4, 0x02C4 ], [ 0x02C7, 0x02C7 ], [ 0x02C9, 0x02CB ],\n [ 0x02CD, 0x02CD ], [ 0x02D0, 0x02D0 ], [ 0x02D8, 0x02DB ],\n [ 0x02DD, 0x02DD ], [ 0x02DF, 0x02DF ], [ 0x0391, 0x03A1 ],\n [ 0x03A3, 0x03A9 ], [ 0x03B1, 0x03C1 ], [ 0x03C3, 0x03C9 ],\n [ 0x0401, 0x0401 ], [ 0x0410, 0x044F ], [ 0x0451, 0x0451 ],\n [ 0x2010, 0x2010 ], [ 0x2013, 0x2016 ], [ 0x2018, 0x2019 ],\n [ 0x201C, 0x201D ], [ 0x2020, 0x2022 ], [ 0x2024, 0x2027 ],\n [ 0x2030, 0x2030 ], [ 0x2032, 0x2033 ], [ 0x2035, 0x2035 ],\n [ 0x203B, 0x203B ], [ 0x203E, 0x203E ], [ 0x2074, 0x2074 ],\n [ 0x207F, 0x207F ], [ 0x2081, 0x2084 ], [ 0x20AC, 0x20AC ],\n [ 0x2103, 0x2103 ], [ 0x2105, 0x2105 ], [ 0x2109, 0x2109 ],\n [ 0x2113, 0x2113 ], [ 0x2116, 0x2116 ], [ 0x2121, 0x2122 ],\n [ 0x2126, 0x2126 ], [ 0x212B, 0x212B ], [ 0x2153, 0x2154 ],\n [ 0x215B, 0x215E ], [ 0x2160, 0x216B ], [ 0x2170, 0x2179 ],\n [ 0x2190, 0x2199 ], [ 0x21B8, 0x21B9 ], [ 0x21D2, 0x21D2 ],\n [ 0x21D4, 0x21D4 ], [ 0x21E7, 0x21E7 ], [ 0x2200, 0x2200 ],\n [ 0x2202, 0x2203 ], [ 0x2207, 0x2208 ], [ 0x220B, 0x220B ],\n [ 0x220F, 0x220F ], [ 0x2211, 0x2211 ], [ 0x2215, 0x2215 ],\n [ 0x221A, 0x221A ], [ 0x221D, 0x2220 ], [ 0x2223, 0x2223 ],\n [ 0x2225, 0x2225 ], [ 0x2227, 0x222C ], [ 0x222E, 0x222E ],\n [ 0x2234, 0x2237 ], [ 0x223C, 0x223D ], [ 0x2248, 0x2248 ],\n [ 0x224C, 0x224C ], [ 0x2252, 0x2252 ], [ 0x2260, 0x2261 ],\n [ 0x2264, 0x2267 ], [ 0x226A, 0x226B ], [ 0x226E, 0x226F ],\n [ 0x2282, 0x2283 ], [ 0x2286, 0x2287 ], [ 0x2295, 0x2295 ],\n [ 0x2299, 0x2299 ], [ 0x22A5, 0x22A5 ], [ 0x22BF, 0x22BF ],\n [ 0x2312, 0x2312 ], [ 0x2460, 0x24E9 ], [ 0x24EB, 0x254B ],\n [ 0x2550, 0x2573 ], [ 0x2580, 0x258F ], [ 0x2592, 0x2595 ],\n [ 0x25A0, 0x25A1 ], [ 0x25A3, 0x25A9 ], [ 0x25B2, 0x25B3 ],\n [ 0x25B6, 0x25B7 ], [ 0x25BC, 0x25BD ], [ 0x25C0, 0x25C1 ],\n [ 0x25C6, 0x25C8 ], [ 0x25CB, 0x25CB ], [ 0x25CE, 0x25D1 ],\n [ 0x25E2, 0x25E5 ], [ 0x25EF, 0x25EF ], [ 0x2605, 0x2606 ],\n [ 0x2609, 0x2609 ], [ 0x260E, 0x260F ], [ 0x2614, 0x2615 ],\n [ 0x261C, 0x261C ], [ 0x261E, 0x261E ], [ 0x2640, 0x2640 ],\n [ 0x2642, 0x2642 ], [ 0x2660, 0x2661 ], [ 0x2663, 0x2665 ],\n [ 0x2667, 0x266A ], [ 0x266C, 0x266D ], [ 0x266F, 0x266F ],\n [ 0x273D, 0x273D ], [ 0x2776, 0x277F ], [ 0xE000, 0xF8FF ],\n [ 0xFFFD, 0xFFFD ], [ 0xF0000, 0xFFFFD ], [ 0x100000, 0x10FFFD ]\n];\n\n/**\n * Binary search to check if the given unicode character is a space character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {boolean} True if the given character is a space character; false\n * otherwise.\n */\nlib.wc.isSpace = function(ucs) {\n // Auxiliary function for binary search in interval table.\n var min = 0, max = lib.wc.combining.length - 1;\n var mid;\n\n if (ucs < lib.wc.combining[0][0] || ucs > lib.wc.combining[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > lib.wc.combining[mid][1]) {\n min = mid + 1;\n } else if (ucs < lib.wc.combining[mid][0]) {\n max = mid - 1;\n } else {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * Auxiliary function for checking if the given unicode character is a East\n * Asian Ambiguous character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {boolean} True if the given character is a East Asian Ambiguous\n * character.\n */\nlib.wc.isCjkAmbiguous = function(ucs) {\n var min = 0, max = lib.wc.ambiguous.length - 1;\n var mid;\n\n if (ucs < lib.wc.ambiguous[0][0] || ucs > lib.wc.ambiguous[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > lib.wc.ambiguous[mid][1]) {\n min = mid + 1;\n } else if (ucs < lib.wc.ambiguous[mid][0]) {\n max = mid - 1;\n } else {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * Determine the column width of the given character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidth = function(ucs) {\n if (lib.wc.regardCjkAmbiguous) {\n return lib.wc.charWidthRegardAmbiguous(ucs);\n } else {\n return lib.wc.charWidthDisregardAmbiguous(ucs);\n }\n};\n\n/**\n * Determine the column width of the given character without considering East\n * Asian Ambiguous characters.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidthDisregardAmbiguous = function(ucs) {\n // Test for 8-bit control characters.\n if (ucs === 0)\n return lib.wc.nulWidth;\n if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0))\n return lib.wc.controlWidth;\n\n // Optimize for ASCII characters.\n if (ucs < 0x7f)\n return 1;\n\n // Binary search in table of non-spacing characters.\n if (lib.wc.isSpace(ucs))\n return 0;\n\n // If we arrive here, ucs is not a combining or C0/C1 control character.\n return 1 +\n (ucs >= 0x1100 &&\n (ucs <= 0x115f || // Hangul Jamo init. consonants\n ucs == 0x2329 || ucs == 0x232a ||\n (ucs >= 0x2e80 && ucs <= 0xa4cf &&\n ucs != 0x303f) || // CJK ... Yi\n (ucs >= 0xac00 && ucs <= 0xd7a3) || // Hangul Syllables\n (ucs >= 0xf900 && ucs <= 0xfaff) || // CJK Compatibility Ideographs\n (ucs >= 0xfe10 && ucs <= 0xfe19) || // Vertical forms\n (ucs >= 0xfe30 && ucs <= 0xfe6f) || // CJK Compatibility Forms\n (ucs >= 0xff00 && ucs <= 0xff60) || // Fullwidth Forms\n (ucs >= 0xffe0 && ucs <= 0xffe6) ||\n (ucs >= 0x20000 && ucs <= 0x2fffd) ||\n (ucs >= 0x30000 && ucs <= 0x3fffd)));\n // TODO: emoji characters usually require space for wide characters although\n // East Asian width spec says nothing. Should we add special cases for them?\n};\n\n/**\n * Determine the column width of the given character considering East Asian\n * Ambiguous characters.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidthRegardAmbiguous = function(ucs) {\n if (lib.wc.isCjkAmbiguous(ucs))\n return lib.wc.cjkAmbiguousWidth;\n\n return lib.wc.charWidthDisregardAmbiguous(ucs);\n};\n\n/**\n * Determine the column width of the given string.\n *\n * @param {string} str A string.\n *\n * @return {integer} The column width of the given string.\n */\nlib.wc.strWidth = function(str) {\n var width, rv = 0;\n\n for (var i = 0; i < str.length;) {\n var codePoint = str.codePointAt(i);\n width = lib.wc.charWidth(codePoint);\n if (width < 0)\n return -1;\n rv += width;\n i += (codePoint <= 0xffff) ? 1 : 2;\n }\n\n return rv;\n};\n\n/**\n * Get the substring at the given column offset of the given column width.\n *\n * @param {string} str The string to get substring from.\n * @param {integer} start The starting column offset to get substring.\n * @param {integer} opt_width The column width of the substring.\n *\n * @return {string} The substring.\n */\nlib.wc.substr = function(str, start, opt_width) {\n var startIndex, endIndex, width;\n\n for (startIndex = 0, width = 0; startIndex < str.length; startIndex++) {\n width += lib.wc.charWidth(str.charCodeAt(startIndex));\n if (width > start)\n break;\n }\n\n if (opt_width != undefined) {\n for (endIndex = startIndex, width = 0;\n endIndex < str.length && width <= opt_width;\n width += lib.wc.charWidth(str.charCodeAt(endIndex)), endIndex++);\n if (width > opt_width)\n endIndex--;\n return str.substring(startIndex, endIndex);\n }\n\n return str.substr(startIndex);\n};\n\n/**\n * Get substring at the given start and end column offset.\n *\n * @param {string} str The string to get substring from.\n * @param {integer} start The starting column offset.\n * @param {integer} end The ending column offset.\n *\n * @return {string} The substring.\n */\nlib.wc.substring = function(str, start, end) {\n return lib.wc.substr(str, start, end - start);\n};\nlib.resource.add('libdot/changelog/version', 'text/plain',\n'1.16' +\n''\n);\n\nlib.resource.add('libdot/changelog/date', 'text/plain',\n'2017-08-16' +\n''\n);\n\n// SOURCE FILE: hterm/js/hterm.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.Storage');\n\n/**\n * @fileoverview Declares the hterm.* namespace and some basic shared utilities\n * that are too small to deserve dedicated files.\n */\nvar hterm = {};\n\n/**\n * The type of window hosting hterm.\n *\n * This is set as part of hterm.init(). The value is invalid until\n * initialization completes.\n */\nhterm.windowType = null;\n\n/**\n * Warning message to display in the terminal when browser zoom is enabled.\n *\n * You can replace it with your own localized message.\n */\nhterm.zoomWarningMessage = 'ZOOM != 100%';\n\n/**\n * Brief overlay message displayed when text is copied to the clipboard.\n *\n * By default it is the unicode BLACK SCISSORS character, but you can\n * replace it with your own localized message.\n *\n * This is only displayed when the 'enable-clipboard-notice' preference\n * is enabled.\n */\nhterm.notifyCopyMessage = '\\u2702';\n\n\n/**\n * Text shown in a desktop notification for the terminal\n * bell. \\u226a is a unicode EIGHTH NOTE, %(title) will\n * be replaced by the terminal title.\n */\nhterm.desktopNotificationTitle = '\\u266A %(title) \\u266A';\n\n/**\n * List of known hterm test suites.\n *\n * A test harness should ensure that they all exist before running.\n */\nhterm.testDeps = ['hterm.ScrollPort.Tests', 'hterm.Screen.Tests',\n 'hterm.Terminal.Tests', 'hterm.VT.Tests',\n 'hterm.VT.CannedTests'];\n\n/**\n * The hterm init function, registered with lib.registerInit().\n *\n * This is called during lib.init().\n *\n * @param {function} onInit The function lib.init() wants us to invoke when\n * initialization is complete.\n */\nlib.registerInit('hterm', function(onInit) {\n function onWindow(window) {\n hterm.windowType = window.type;\n setTimeout(onInit, 0);\n }\n\n function onTab(tab) {\n if (tab && window.chrome) {\n chrome.windows.get(tab.windowId, null, onWindow);\n } else {\n // TODO(rginda): This is where we end up for a v1 app's background page.\n // Maybe windowType = 'none' would be more appropriate, or something.\n hterm.windowType = 'normal';\n setTimeout(onInit, 0);\n }\n }\n\n if (!hterm.defaultStorage) {\n if (window.chrome && chrome.storage && chrome.storage.sync) {\n hterm.defaultStorage = new lib.Storage.Chrome(chrome.storage.sync);\n } else {\n hterm.defaultStorage = new lib.Storage.Local();\n }\n }\n\n // The chrome.tabs API is not supported in packaged apps, and detecting if\n // you're a packaged app is a little awkward.\n var isPackagedApp = false;\n if (window.chrome && chrome.runtime && chrome.runtime.getManifest) {\n var manifest = chrome.runtime.getManifest();\n isPackagedApp = manifest.app && manifest.app.background;\n }\n\n if (isPackagedApp) {\n // Packaged apps are never displayed in browser tabs.\n setTimeout(onWindow.bind(null, {type: 'popup'}), 0);\n } else {\n if (window.chrome && chrome.tabs) {\n // The getCurrent method gets the tab that is \"currently running\", not the\n // topmost or focused tab.\n chrome.tabs.getCurrent(onTab);\n } else {\n setTimeout(onWindow.bind(null, {type: 'normal'}), 0);\n }\n }\n});\n\n/**\n * Return decimal { width, height } for a given dom node.\n */\nhterm.getClientSize = function(dom) {\n return dom.getBoundingClientRect();\n};\n\n/**\n * Return decimal width for a given dom node.\n */\nhterm.getClientWidth = function(dom) {\n return dom.getBoundingClientRect().width;\n};\n\n/**\n * Return decimal height for a given dom node.\n */\nhterm.getClientHeight = function(dom) {\n return dom.getBoundingClientRect().height;\n};\n\n/**\n * Copy the current selection to the system clipboard.\n *\n * @param {HTMLDocument} The document with the selection to copy.\n */\nhterm.copySelectionToClipboard = function(document) {\n try {\n document.execCommand('copy');\n } catch (firefoxException) {\n // Ignore this. FF throws an exception if there was an error, even though\n // the spec says just return false.\n }\n};\n\n/**\n * Paste the system clipboard into the element with focus.\n *\n * Note: In Chrome/Firefox app/extension environments, you'll need the\n * \"clipboardRead\" permission. In other environments, this might always\n * fail as the browser frequently blocks access for security reasons.\n *\n * @param {HTMLDocument} The document to paste into.\n * @return {boolean} True if the paste succeeded.\n */\nhterm.pasteFromClipboard = function(document) {\n try {\n return document.execCommand('paste');\n } catch (firefoxException) {\n // Ignore this. FF 40 and older would incorrectly throw an exception if\n // there was an error instead of returning false.\n return false;\n }\n};\n\n/**\n * Create a new notification.\n *\n * @param {Object} params Various parameters for the notification.\n * @param {string} params.title The title (defaults to the window's title).\n * @param {string} params.body The message body (main text).\n */\nhterm.notify = function(params) {\n var def = (curr, fallback) => curr !== undefined ? curr : fallback;\n if (params === undefined || params === null)\n params = {};\n\n // Merge the user's choices with the default settings. We don't take it\n // directly in case it was stuffed with excess junk.\n var options = {\n 'body': params.body,\n 'icon': def(params.icon, lib.resource.getDataUrl('hterm/images/icon-96')),\n }\n\n var title = def(params.title, window.document.title);\n if (!title)\n title = 'hterm';\n title = lib.f.replaceVars(hterm.desktopNotificationTitle, {'title': title});\n\n var n = new Notification(title, options);\n n.onclick = function() {\n window.focus();\n this.close();\n };\n return n;\n};\n\n/**\n * Constructor for a hterm.Size record.\n *\n * Instances of this class have public read/write members for width and height.\n *\n * @param {integer} width The width of this record.\n * @param {integer} height The height of this record.\n */\nhterm.Size = function(width, height) {\n this.width = width;\n this.height = height;\n};\n\n/**\n * Adjust the width and height of this record.\n *\n * @param {integer} width The new width of this record.\n * @param {integer} height The new height of this record.\n */\nhterm.Size.prototype.resize = function(width, height) {\n this.width = width;\n this.height = height;\n};\n\n/**\n * Return a copy of this record.\n *\n * @return {hterm.Size} A new hterm.Size instance with the same width and\n * height.\n */\nhterm.Size.prototype.clone = function() {\n return new hterm.Size(this.width, this.height);\n};\n\n/**\n * Set the height and width of this instance based on another hterm.Size.\n *\n * @param {hterm.Size} that The object to copy from.\n */\nhterm.Size.prototype.setTo = function(that) {\n this.width = that.width;\n this.height = that.height;\n};\n\n/**\n * Test if another hterm.Size instance is equal to this one.\n *\n * @param {hterm.Size} that The other hterm.Size instance.\n * @return {boolean} True if both instances have the same width/height, false\n * otherwise.\n */\nhterm.Size.prototype.equals = function(that) {\n return this.width == that.width && this.height == that.height;\n};\n\n/**\n * Return a string representation of this instance.\n *\n * @return {string} A string that identifies the width and height of this\n * instance.\n */\nhterm.Size.prototype.toString = function() {\n return '[hterm.Size: ' + this.width + ', ' + this.height + ']';\n};\n\n/**\n * Constructor for a hterm.RowCol record.\n *\n * Instances of this class have public read/write members for row and column.\n *\n * This class includes an 'overflow' bit which is use to indicate that an\n * attempt has been made to move the cursor column passed the end of the\n * screen. When this happens we leave the cursor column set to the last column\n * of the screen but set the overflow bit. In this state cursor movement\n * happens normally, but any attempt to print new characters causes a cr/lf\n * first.\n *\n * @param {integer} row The row of this record.\n * @param {integer} column The column of this record.\n * @param {boolean} opt_overflow Optional boolean indicating that the RowCol\n * has overflowed.\n */\nhterm.RowCol = function(row, column, opt_overflow) {\n this.row = row;\n this.column = column;\n this.overflow = !!opt_overflow;\n};\n\n/**\n * Adjust the row and column of this record.\n *\n * @param {integer} row The new row of this record.\n * @param {integer} column The new column of this record.\n * @param {boolean} opt_overflow Optional boolean indicating that the RowCol\n * has overflowed.\n */\nhterm.RowCol.prototype.move = function(row, column, opt_overflow) {\n this.row = row;\n this.column = column;\n this.overflow = !!opt_overflow;\n};\n\n/**\n * Return a copy of this record.\n *\n * @return {hterm.RowCol} A new hterm.RowCol instance with the same row and\n * column.\n */\nhterm.RowCol.prototype.clone = function() {\n return new hterm.RowCol(this.row, this.column, this.overflow);\n};\n\n/**\n * Set the row and column of this instance based on another hterm.RowCol.\n *\n * @param {hterm.RowCol} that The object to copy from.\n */\nhterm.RowCol.prototype.setTo = function(that) {\n this.row = that.row;\n this.column = that.column;\n this.overflow = that.overflow;\n};\n\n/**\n * Test if another hterm.RowCol instance is equal to this one.\n *\n * @param {hterm.RowCol} that The other hterm.RowCol instance.\n * @return {boolean} True if both instances have the same row/column, false\n * otherwise.\n */\nhterm.RowCol.prototype.equals = function(that) {\n return (this.row == that.row && this.column == that.column &&\n this.overflow == that.overflow);\n};\n\n/**\n * Return a string representation of this instance.\n *\n * @return {string} A string that identifies the row and column of this\n * instance.\n */\nhterm.RowCol.prototype.toString = function() {\n return ('[hterm.RowCol: ' + this.row + ', ' + this.column + ', ' +\n this.overflow + ']');\n};\n// SOURCE FILE: hterm/js/hterm_frame.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f');\n\n/**\n * First draft of the interface between the terminal and a third party dialog.\n *\n * This is rough. It's just the terminal->dialog layer. To complete things\n * we'll also need a command->terminal layer. That will have to facilitate\n * command->terminal->dialog or direct command->dialog communication.\n *\n * I imagine this class will change significantly when that happens.\n */\n\n/**\n * Construct a new frame for the given terminal.\n *\n * @param terminal {hterm.Terminal} The parent terminal object.\n * @param url {String} The url to load in the frame.\n * @param opt_options {Object} Optional options for the frame. Not implemented.\n */\nhterm.Frame = function(terminal, url, opt_options) {\n this.terminal_ = terminal;\n this.div_ = terminal.div_;\n this.url = url;\n this.options = opt_options || {};\n this.iframe_ = null;\n this.container_ = null;\n this.messageChannel_ = null;\n};\n\n/**\n * Handle messages from the iframe.\n */\nhterm.Frame.prototype.onMessage_ = function(e) {\n switch (e.data.name) {\n case 'ipc-init-ok':\n // We get this response after we send them ipc-init and they finish.\n this.sendTerminalInfo_();\n return;\n case 'terminal-info-ok':\n // We get this response after we send them terminal-info and they finish.\n // Show the finished frame, and then rebind our message handler to the\n // callback below.\n this.container_.style.display = 'flex';\n this.messageChannel_.port1.onmessage = this.onMessage.bind(this);\n this.onLoad();\n return;\n default:\n console.log('Unknown message from frame:', e.data);\n return;\n }\n};\n\n/**\n * Clients could override this, I guess.\n *\n * It doesn't support multiple listeners, but I'm not sure that would make sense\n * here. It's probably better to speak directly to our parents.\n */\nhterm.Frame.prototype.onMessage = function() {};\n\n/**\n * Handle iframe onLoad event.\n */\nhterm.Frame.prototype.onLoad_ = function() {\n this.messageChannel_ = new MessageChannel();\n this.messageChannel_.port1.onmessage = this.onMessage_.bind(this);\n this.messageChannel_.port1.start();\n this.iframe_.contentWindow.postMessage(\n {name: 'ipc-init', argv: [{messagePort: this.messageChannel_.port2}]},\n this.url, [this.messageChannel_.port2]);\n};\n\n/**\n * Clients may override this.\n */\nhterm.Frame.prototype.onLoad = function() {};\n\n/**\n * Sends the terminal-info message to the iframe.\n */\nhterm.Frame.prototype.sendTerminalInfo_ = function() {\n lib.f.getAcceptLanguages(function(languages) {\n this.postMessage('terminal-info', [{\n acceptLanguages: languages,\n foregroundColor: this.terminal_.getForegroundColor(),\n backgroundColor: this.terminal_.getBackgroundColor(),\n cursorColor: this.terminal_.getCursorColor(),\n fontSize: this.terminal_.getFontSize(),\n fontFamily: this.terminal_.getFontFamily(),\n baseURL: lib.f.getURL('/')\n }]\n );\n }.bind(this));\n};\n\n/**\n * User clicked the close button on the frame decoration.\n */\nhterm.Frame.prototype.onCloseClicked_ = function() {\n this.close();\n};\n\n/**\n * Close this frame.\n */\nhterm.Frame.prototype.close = function() {\n if (!this.container_ || !this.container_.parentNode)\n return;\n\n this.container_.parentNode.removeChild(this.container_);\n this.onClose();\n};\n\n\n/**\n * Clients may override this.\n */\nhterm.Frame.prototype.onClose = function() {};\n\n/**\n * Send a message to the iframe.\n */\nhterm.Frame.prototype.postMessage = function(name, argv) {\n if (!this.messageChannel_)\n throw new Error('Message channel is not set up.');\n\n this.messageChannel_.port1.postMessage({name: name, argv: argv});\n};\n\n/**\n * Show the UI for this frame.\n *\n * The iframe src is not loaded until this method is called.\n */\nhterm.Frame.prototype.show = function() {\n var self = this;\n\n function opt(name, defaultValue) {\n if (name in self.options)\n return self.options[name];\n\n return defaultValue;\n }\n\n var self = this;\n\n if (this.container_ && this.container_.parentNode) {\n console.error('Frame already visible');\n return;\n }\n\n var headerHeight = '16px';\n\n var divSize = hterm.getClientSize(this.div_);\n\n var width = opt('width', 640);\n var height = opt('height', 480);\n var left = (divSize.width - width) / 2;\n var top = (divSize.height - height) / 2;\n\n var document = this.terminal_.document_;\n\n var container = this.container_ = document.createElement('div');\n container.style.cssText = (\n 'position: absolute;' +\n 'display: none;' +\n 'flex-direction: column;' +\n 'top: 10%;' +\n 'left: 4%;' +\n 'width: 90%;' +\n 'height: 80%;' +\n 'min-height: 20%;' +\n 'max-height: 80%;' +\n 'box-shadow: 0 0 2px ' + this.terminal_.getForegroundColor() + ';' +\n 'border: 2px ' + this.terminal_.getForegroundColor() + ' solid;');\n\n if (false) {\n // No use for the close button, so no use for the window header either.\n var header = document.createElement('div');\n header.style.cssText = (\n 'display: flex;' +\n 'justify-content: flex-end;' +\n 'height: ' + headerHeight + ';' +\n 'background-color: ' + this.terminal_.getForegroundColor() + ';' +\n 'color: ' + this.terminal_.getBackgroundColor() + ';' +\n 'font-size: 16px;' +\n 'font-family: ' + this.terminal_.getFontFamily());\n container.appendChild(header);\n\n var button = document.createElement('div');\n button.setAttribute('role', 'button');\n button.style.cssText = (\n 'margin-top: -3px;' +\n 'margin-right: 3px;' +\n 'cursor: pointer;');\n button.textContent = '\\u2a2f';\n button.addEventListener('click', this.onCloseClicked_.bind(this));\n header.appendChild(button);\n }\n\n var iframe = this.iframe_ = document.createElement('iframe');\n iframe.onload = this.onLoad_.bind(this);\n iframe.style.cssText = (\n 'display: flex;' +\n 'flex: 1;' +\n 'width: 100%');\n iframe.setAttribute('src', this.url);\n iframe.setAttribute('seamless', true);\n container.appendChild(iframe);\n\n this.div_.appendChild(container);\n};\n// SOURCE FILE: hterm/js/hterm_keyboard.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyMap');\n\n/**\n * Keyboard handler.\n *\n * Consumes onKey* events and invokes onVTKeystroke on the associated\n * hterm.Terminal object.\n *\n * See also: [XTERM] as referenced in vt.js.\n *\n * @param {hterm.Terminal} The Terminal object associated with this keyboard.\n */\nhterm.Keyboard = function(terminal) {\n // The parent vt interpreter.\n this.terminal = terminal;\n\n // The element we're currently capturing keyboard events for.\n this.keyboardElement_ = null;\n\n // The event handlers we are interested in, and their bound callbacks, saved\n // so they can be uninstalled with removeEventListener, when required.\n this.handlers_ = [\n ['focusout', this.onFocusOut_.bind(this)],\n ['keydown', this.onKeyDown_.bind(this)],\n ['keypress', this.onKeyPress_.bind(this)],\n ['keyup', this.onKeyUp_.bind(this)],\n ['textInput', this.onTextInput_.bind(this)]\n ];\n\n /**\n * The current key map.\n */\n this.keyMap = new hterm.Keyboard.KeyMap(this);\n\n this.bindings = new hterm.Keyboard.Bindings(this);\n\n /**\n * none: Disable any AltGr related munging.\n * ctrl-alt: Assume Ctrl+Alt means AltGr.\n * left-alt: Assume left Alt means AltGr.\n * right-alt: Assume right Alt means AltGr.\n */\n this.altGrMode = 'none';\n\n /**\n * If true, Shift-Insert will fall through to the browser as a paste.\n * If false, the keystroke will be sent to the host.\n */\n this.shiftInsertPaste = true;\n\n /**\n * If true, home/end will control the terminal scrollbar and shift home/end\n * will send the VT keycodes. If false then home/end sends VT codes and\n * shift home/end scrolls.\n */\n this.homeKeysScroll = false;\n\n /**\n * Same as above, except for page up/page down.\n */\n this.pageKeysScroll = false;\n\n /**\n * If true, Ctrl-Plus/Minus/Zero controls zoom.\n * If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_,\n * Ctrl-Plus/Zero do nothing.\n */\n this.ctrlPlusMinusZeroZoom = true;\n\n /**\n * Ctrl+C copies if true, sends ^C to host if false.\n * Ctrl+Shift+C sends ^C to host if true, copies if false.\n */\n this.ctrlCCopy = false;\n\n /**\n * Ctrl+V pastes if true, sends ^V to host if false.\n * Ctrl+Shift+V sends ^V to host if true, pastes if false.\n */\n this.ctrlVPaste = false;\n\n /**\n * Enable/disable application keypad.\n *\n * This changes the way numeric keys are sent from the keyboard.\n */\n this.applicationKeypad = false;\n\n /**\n * Enable/disable the application cursor mode.\n *\n * This changes the way cursor keys are sent from the keyboard.\n */\n this.applicationCursor = false;\n\n /**\n * If true, the backspace should send BS ('\\x08', aka ^H). Otherwise\n * the backspace key should send '\\x7f'.\n */\n this.backspaceSendsBackspace = false;\n\n /**\n * The encoding method for data sent to the host.\n */\n this.characterEncoding = 'utf-8';\n\n /**\n * Set whether the meta key sends a leading escape or not.\n */\n this.metaSendsEscape = true;\n\n /**\n * Set whether meta-V gets passed to host.\n */\n this.passMetaV = true;\n\n /**\n * Controls how the alt key is handled.\n *\n * escape....... Send an ESC prefix.\n * 8-bit........ Add 128 to the unshifted character as in xterm.\n * browser-key.. Wait for the keypress event and see what the browser says.\n * (This won't work well on platforms where the browser\n * performs a default action for some alt sequences.)\n *\n * This setting only matters when alt is distinct from meta (altIsMeta is\n * false.)\n */\n this.altSendsWhat = 'escape';\n\n /**\n * Set whether the alt key acts as a meta key, instead of producing 8-bit\n * characters.\n *\n * True to enable, false to disable, null to autodetect based on platform.\n */\n this.altIsMeta = false;\n\n /**\n * If true, tries to detect DEL key events that are from alt-backspace on\n * Chrome OS vs from a true DEL key press.\n *\n * Background: At the time of writing, on Chrome OS, alt-backspace is mapped\n * to DEL. Some users may be happy with this, but others may be frustrated\n * that it's impossible to do meta-backspace. If the user enables this pref,\n * we use a trick to tell a true DEL keypress from alt-backspace: on\n * alt-backspace, we will see the alt key go down, then get a DEL keystroke\n * that indicates that alt is not pressed. See https://crbug.com/174410 .\n */\n this.altBackspaceIsMetaBackspace = false;\n\n /**\n * Used to keep track of the current alt-key state, which is necessary for\n * the altBackspaceIsMetaBackspace preference above and for the altGrMode\n * preference. This is a bitmap with where bit positions correspond to the\n * \"location\" property of the key event.\n */\n this.altKeyPressed = 0;\n\n /**\n * If true, Chrome OS media keys will be mapped to their F-key equivalent.\n * E.g. \"Back\" will be mapped to F1. If false, Chrome will handle the keys.\n */\n this.mediaKeysAreFKeys = false;\n\n /**\n * Holds the previous setting of altSendsWhat when DECSET 1039 is used. When\n * DECRST 1039 is used, altSendsWhat is changed back to this and this is\n * nulled out.\n */\n this.previousAltSendsWhat_ = null;\n};\n\n/**\n * Special handling for keyCodes in a keyboard layout.\n */\nhterm.Keyboard.KeyActions = {\n /**\n * Call preventDefault and stopPropagation for this key event and nothing\n * else.\n */\n CANCEL: lib.f.createEnum('CANCEL'),\n\n /**\n * This performs the default terminal action for the key. If used in the\n * 'normal' action and the the keystroke represents a printable key, the\n * character will be sent to the host. If used in one of the modifier\n * actions, the terminal will perform the normal action after (possibly)\n * altering it.\n *\n * - If the normal sequence starts with CSI, the sequence will be adjusted\n * to include the modifier parameter as described in [XTERM] in the final\n * table of the \"PC-Style Function Keys\" section.\n *\n * - If the control key is down and the key represents a printable character,\n * and the uppercase version of the unshifted keycap is between\n * 64 (ASCII '@') and 95 (ASCII '_'), then the uppercase version of the\n * unshifted keycap minus 64 is sent. This makes '^@' send '\\x00' and\n * '^_' send '\\x1f'. (Note that one higher that 0x1f is 0x20, which is\n * the first printable ASCII value.)\n *\n * - If the alt key is down and the key represents a printable character then\n * the value of the character is shifted up by 128.\n *\n * - If meta is down and configured to send an escape, '\\x1b' will be sent\n * before the normal action is performed.\n */\n DEFAULT: lib.f.createEnum('DEFAULT'),\n\n /**\n * Causes the terminal to opt out of handling the key event, instead letting\n * the browser deal with it.\n */\n PASS: lib.f.createEnum('PASS'),\n\n /**\n * Insert the first or second character of the keyCap, based on e.shiftKey.\n * The key will be handled in onKeyDown, and e.preventDefault() will be\n * called.\n *\n * It is useful for a modified key action, where it essentially strips the\n * modifier while preventing the browser from reacting to the key.\n */\n STRIP: lib.f.createEnum('STRIP')\n};\n\n/**\n * Encode a string according to the 'send-encoding' preference.\n */\nhterm.Keyboard.prototype.encode = function(str) {\n if (this.characterEncoding == 'utf-8')\n return this.terminal.vt.encodeUTF8(str);\n\n return str;\n};\n\n/**\n * Capture keyboard events sent to the associated element.\n *\n * This enables the keyboard. Captured events are consumed by this class\n * and will not perform their default action or bubble to other elements.\n *\n * Passing a null element will uninstall the keyboard handlers.\n *\n * @param {HTMLElement} element The element whose events should be captured, or\n * null to disable the keyboard.\n */\nhterm.Keyboard.prototype.installKeyboard = function(element) {\n if (element == this.keyboardElement_)\n return;\n\n if (element && this.keyboardElement_)\n this.installKeyboard(null);\n\n for (var i = 0; i < this.handlers_.length; i++) {\n var handler = this.handlers_[i];\n if (element) {\n element.addEventListener(handler[0], handler[1]);\n } else {\n this.keyboardElement_.removeEventListener(handler[0], handler[1]);\n }\n }\n\n this.keyboardElement_ = element;\n};\n\n/**\n * Disable keyboard event capture.\n *\n * This will allow the browser to process key events normally.\n */\nhterm.Keyboard.prototype.uninstallKeyboard = function() {\n this.installKeyboard(null);\n};\n\n/**\n * Handle onTextInput events.\n *\n * We're not actually supposed to get these, but we do on the Mac in the case\n * where a third party app sends synthetic keystrokes to Chrome.\n */\nhterm.Keyboard.prototype.onTextInput_ = function(e) {\n if (!e.data)\n return;\n\n e.data.split('').forEach(this.terminal.onVTKeystroke.bind(this.terminal));\n};\n\n/**\n * Handle onKeyPress events.\n */\nhterm.Keyboard.prototype.onKeyPress_ = function(e) {\n var code;\n\n var key = String.fromCharCode(e.which);\n var lowerKey = key.toLowerCase();\n if ((e.ctrlKey || e.metaKey) && (lowerKey == 'c' || lowerKey == 'v')) {\n // On FF the key press (not key down) event gets fired for copy/paste.\n // Let it fall through for the default browser behavior.\n return;\n }\n\n if (e.altKey && this.altSendsWhat == 'browser-key' && e.charCode == 0) {\n // If we got here because we were expecting the browser to handle an\n // alt sequence but it didn't do it, then we might be on an OS without\n // an enabled IME system. In that case we fall back to xterm-like\n // behavior.\n //\n // This happens here only as a fallback. Typically these platforms should\n // set altSendsWhat to either 'escape' or '8-bit'.\n var ch = String.fromCharCode(e.keyCode);\n if (!e.shiftKey)\n ch = ch.toLowerCase();\n code = ch.charCodeAt(0) + 128;\n\n } else if (e.charCode >= 32) {\n ch = e.charCode;\n }\n\n if (ch)\n this.terminal.onVTKeystroke(String.fromCharCode(ch));\n\n e.preventDefault();\n e.stopPropagation();\n};\n\n/**\n * Prevent default handling for non-ctrl-shifted event.\n *\n * When combined with Chrome permission 'app.window.fullscreen.overrideEsc',\n * and called for both key down and key up events,\n * the ESC key remains usable within fullscreen Chrome app windows.\n */\nhterm.Keyboard.prototype.preventChromeAppNonCtrlShiftDefault_ = function(e) {\n if (!window.chrome || !window.chrome.app || !window.chrome.app.window)\n return;\n if (!e.ctrlKey || !e.shiftKey)\n e.preventDefault();\n};\n\nhterm.Keyboard.prototype.onFocusOut_ = function(e) {\n this.altKeyPressed = 0;\n};\n\nhterm.Keyboard.prototype.onKeyUp_ = function(e) {\n if (e.keyCode == 18)\n this.altKeyPressed = this.altKeyPressed & ~(1 << (e.location - 1));\n\n if (e.keyCode == 27)\n this.preventChromeAppNonCtrlShiftDefault_(e);\n};\n\n/**\n * Handle onKeyDown events.\n */\nhterm.Keyboard.prototype.onKeyDown_ = function(e) {\n if (e.keyCode == 18)\n this.altKeyPressed = this.altKeyPressed | (1 << (e.location - 1));\n\n if (e.keyCode == 27)\n this.preventChromeAppNonCtrlShiftDefault_(e);\n\n var keyDef = this.keyMap.keyDefs[e.keyCode];\n if (!keyDef) {\n console.warn('No definition for keyCode: ' + e.keyCode);\n return;\n }\n\n // The type of action we're going to use.\n var resolvedActionType = null;\n\n var self = this;\n function getAction(name) {\n // Get the key action for the given action name. If the action is a\n // function, dispatch it. If the action defers to the normal action,\n // resolve that instead.\n\n resolvedActionType = name;\n\n var action = keyDef[name];\n if (typeof action == 'function')\n action = action.apply(self.keyMap, [e, keyDef]);\n\n if (action === DEFAULT && name != 'normal')\n action = getAction('normal');\n\n return action;\n }\n\n // Note that we use the triple-equals ('===') operator to test equality for\n // these constants, in order to distinguish usage of the constant from usage\n // of a literal string that happens to contain the same bytes.\n var CANCEL = hterm.Keyboard.KeyActions.CANCEL;\n var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT;\n var PASS = hterm.Keyboard.KeyActions.PASS;\n var STRIP = hterm.Keyboard.KeyActions.STRIP;\n\n var control = e.ctrlKey;\n var alt = this.altIsMeta ? false : e.altKey;\n var meta = this.altIsMeta ? (e.altKey || e.metaKey) : e.metaKey;\n\n // In the key-map, we surround the keyCap for non-printables in \"[...]\"\n var isPrintable = !(/^\\[\\w+\\]$/.test(keyDef.keyCap));\n\n switch (this.altGrMode) {\n case 'ctrl-alt':\n if (isPrintable && control && alt) {\n // ctrl-alt-printable means altGr. We clear out the control and\n // alt modifiers and wait to see the charCode in the keydown event.\n control = false;\n alt = false;\n }\n break;\n\n case 'right-alt':\n if (isPrintable && (this.terminal.keyboard.altKeyPressed & 2)) {\n control = false;\n alt = false;\n }\n break;\n\n case 'left-alt':\n if (isPrintable && (this.terminal.keyboard.altKeyPressed & 1)) {\n control = false;\n alt = false;\n }\n break;\n }\n\n var action;\n\n if (control) {\n action = getAction('control');\n } else if (alt) {\n action = getAction('alt');\n } else if (meta) {\n action = getAction('meta');\n } else {\n action = getAction('normal');\n }\n\n // If e.maskShiftKey was set (during getAction) it means the shift key is\n // already accounted for in the action, and we should not act on it any\n // further. This is currently only used for Ctrl-Shift-Tab, which should send\n // \"CSI Z\", not \"CSI 1 ; 2 Z\".\n var shift = !e.maskShiftKey && e.shiftKey;\n\n var keyDown = {\n keyCode: e.keyCode,\n shift: e.shiftKey, // not `var shift` from above.\n ctrl: control,\n alt: alt,\n meta: meta\n };\n\n var binding = this.bindings.getBinding(keyDown);\n\n if (binding) {\n // Clear out the modifier bits so we don't try to munge the sequence\n // further.\n shift = control = alt = meta = false;\n resolvedActionType = 'normal';\n action = binding.action;\n\n if (typeof action == 'function')\n action = action.call(this, this.terminal, keyDown);\n }\n\n if (alt && this.altSendsWhat == 'browser-key' && action == DEFAULT) {\n // When altSendsWhat is 'browser-key', we wait for the keypress event.\n // In keypress, the browser should have set the event.charCode to the\n // appropriate character.\n // TODO(rginda): Character compositions will need some black magic.\n action = PASS;\n }\n\n if (action === PASS || (action === DEFAULT && !(control || alt || meta))) {\n // If this key is supposed to be handled by the browser, or it is an\n // unmodified key with the default action, then exit this event handler.\n // If it's an unmodified key, it'll be handled in onKeyPress where we\n // can tell for sure which ASCII code to insert.\n //\n // This block needs to come before the STRIP test, otherwise we'll strip\n // the modifier and think it's ok to let the browser handle the keypress.\n // The browser won't know we're trying to ignore the modifiers and might\n // perform some default action.\n return;\n }\n\n if (action === STRIP) {\n alt = control = false;\n action = keyDef.normal;\n if (typeof action == 'function')\n action = action.apply(this.keyMap, [e, keyDef]);\n\n if (action == DEFAULT && keyDef.keyCap.length == 2)\n action = keyDef.keyCap.substr((shift ? 1 : 0), 1);\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n if (action === CANCEL)\n return;\n\n if (action !== DEFAULT && typeof action != 'string') {\n console.warn('Invalid action: ' + JSON.stringify(action));\n return;\n }\n\n // Strip the modifier that is associated with the action, since we assume that\n // modifier has already been accounted for in the action.\n if (resolvedActionType == 'control') {\n control = false;\n } else if (resolvedActionType == 'alt') {\n alt = false;\n } else if (resolvedActionType == 'meta') {\n meta = false;\n }\n\n if (action.substr(0, 2) == '\\x1b[' && (alt || control || shift)) {\n // The action is an escape sequence that and it was triggered in the\n // presence of a keyboard modifier, we may need to alter the action to\n // include the modifier before sending it.\n\n var mod;\n\n if (shift && !(alt || control)) {\n mod = ';2';\n } else if (alt && !(shift || control)) {\n mod = ';3';\n } else if (shift && alt && !control) {\n mod = ';4';\n } else if (control && !(shift || alt)) {\n mod = ';5';\n } else if (shift && control && !alt) {\n mod = ';6';\n } else if (alt && control && !shift) {\n mod = ';7';\n } else if (shift && alt && control) {\n mod = ';8';\n }\n\n if (action.length == 3) {\n // Some of the CSI sequences have zero parameters unless modified.\n action = '\\x1b[1' + mod + action.substr(2, 1);\n } else {\n // Others always have at least one parameter.\n action = action.substr(0, action.length - 1) + mod +\n action.substr(action.length - 1);\n }\n\n } else {\n if (action === DEFAULT) {\n action = keyDef.keyCap.substr((shift ? 1 : 0), 1);\n\n if (control) {\n var unshifted = keyDef.keyCap.substr(0, 1);\n var code = unshifted.charCodeAt(0);\n if (code >= 64 && code <= 95) {\n action = String.fromCharCode(code - 64);\n }\n }\n }\n\n if (alt && this.altSendsWhat == '8-bit' && action.length == 1) {\n var code = action.charCodeAt(0) + 128;\n action = String.fromCharCode(code);\n }\n\n // We respect alt/metaSendsEscape even if the keymap action was a literal\n // string. Otherwise, every overridden alt/meta action would have to\n // check alt/metaSendsEscape.\n if ((alt && this.altSendsWhat == 'escape') ||\n (meta && this.metaSendsEscape)) {\n action = '\\x1b' + action;\n }\n }\n\n this.terminal.onVTKeystroke(action);\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_bindings.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * A mapping from hterm.Keyboard.KeyPattern to an action.\n *\n * TODO(rginda): For now this bindings code is only used for user overrides.\n * hterm.Keyboard.KeyMap still handles all of the built-in key mappings.\n * It'd be nice if we migrated that over to be hterm.Keyboard.Bindings based.\n */\nhterm.Keyboard.Bindings = function() {\n this.bindings_ = {};\n};\n\n/**\n * Remove all bindings.\n */\nhterm.Keyboard.Bindings.prototype.clear = function () {\n this.bindings_ = {};\n};\n\n/**\n * Add a new binding.\n *\n * Internal API that assumes parsed objects as inputs.\n * See the public addBinding for more details.\n *\n * @param {hterm.Keyboard.KeyPattern} keyPattern\n * @param {string|function|hterm.Keyboard.KeyAction} action\n */\nhterm.Keyboard.Bindings.prototype.addBinding_ = function(keyPattern, action) {\n var binding = null;\n var list = this.bindings_[keyPattern.keyCode];\n if (list) {\n for (var i = 0; i < list.length; i++) {\n if (list[i].keyPattern.matchKeyPattern(keyPattern)) {\n binding = list[i];\n break;\n }\n }\n }\n\n if (binding) {\n binding.action = action;\n } else {\n binding = {keyPattern: keyPattern, action: action};\n\n if (!list) {\n this.bindings_[keyPattern.keyCode] = [binding];\n } else {\n this.bindings_[keyPattern.keyCode].push(binding);\n\n list.sort(function(a, b) {\n return hterm.Keyboard.KeyPattern.sortCompare(\n a.keyPattern, b.keyPattern);\n });\n }\n }\n};\n\n/**\n * Add a new binding.\n *\n * If a binding for the keyPattern already exists it will be overridden.\n *\n * More specific keyPatterns take precedence over those with wildcards. Given\n * bindings for \"Ctrl-A\" and \"Ctrl-*-A\", and a \"Ctrl-A\" keydown, the \"Ctrl-A\"\n * binding will match even if \"Ctrl-*-A\" was created last.\n *\n * If action is a string, it will be passed through hterm.Parser.parseKeyAction.\n *\n * For example:\n * // Will replace Ctrl-P keystrokes with the string \"hiya!\".\n * addBinding('Ctrl-P', \"'hiya!'\");\n * // Will cancel the keystroke entirely (make it do nothing).\n * addBinding('Alt-D', hterm.Keyboard.KeyActions.CANCEL);\n * // Will execute the code and return the action.\n * addBinding('Ctrl-T', function() {\n * console.log('Got a T!');\n * return hterm.Keyboard.KeyActions.PASS;\n * });\n *\n * @param {string|hterm.Keyboard.KeyPattern} keyPattern\n * @param {string|function|hterm.Keyboard.KeyAction} action\n */\nhterm.Keyboard.Bindings.prototype.addBinding = function(key, action) {\n // If we're given a hterm.Keyboard.KeyPattern object, pass it down.\n if (typeof key != 'string') {\n this.addBinding_(key, action);\n return;\n }\n\n // Here we treat key as a string.\n var p = new hterm.Parser();\n\n p.reset(key);\n var sequence;\n\n try {\n sequence = p.parseKeySequence();\n } catch (ex) {\n console.error(ex);\n return;\n }\n\n if (!p.isComplete()) {\n console.error(p.error('Expected end of sequence: ' + sequence));\n return;\n }\n\n // If action is a string, parse it. Otherwise assume it's callable.\n if (typeof action == 'string') {\n p.reset(action);\n try {\n action = p.parseKeyAction();\n } catch (ex) {\n console.error(ex);\n return;\n }\n }\n\n if (!p.isComplete()) {\n console.error(p.error('Expected end of sequence: ' + sequence));\n return;\n }\n\n this.addBinding_(new hterm.Keyboard.KeyPattern(sequence), action);\n};\n\n/**\n * Add multiple bindings at a time using a map of {string: string, ...}\n *\n * This uses hterm.Parser to parse the maps key into KeyPatterns, and the\n * map values into {string|function|KeyAction}.\n *\n * For example:\n * {\n * // Will replace Ctrl-P keystrokes with the string \"hiya!\".\n * 'Ctrl-P': \"'hiya!'\",\n * // Will cancel the keystroke entirely (make it do nothing).\n * 'Alt-D': hterm.Keyboard.KeyActions.CANCEL,\n * }\n *\n * @param {Object} map\n */\nhterm.Keyboard.Bindings.prototype.addBindings = function(map) {\n for (var key in map) {\n this.addBinding(key, map[key]);\n }\n};\n\n/**\n * Return the binding that is the best match for the given keyDown record,\n * or null if there is no match.\n *\n * @param {Object} keyDown An object with a keyCode property and zero or\n * more boolean properties representing key modifiers. These property names\n * must match those defined in hterm.Keyboard.KeyPattern.modifiers.\n */\nhterm.Keyboard.Bindings.prototype.getBinding = function(keyDown) {\n var list = this.bindings_[keyDown.keyCode];\n if (!list)\n return null;\n\n for (var i = 0; i < list.length; i++) {\n var binding = list[i];\n if (binding.keyPattern.matchKeyDown(keyDown))\n return binding;\n }\n\n return null;\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_keymap.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyActions');\n\n/**\n * The default key map for hterm.\n *\n * Contains a mapping of keyCodes to keyDefs (aka key definitions). The key\n * definition tells the hterm.Keyboard class how to handle keycodes.\n *\n * This should work for most cases, as the printable characters get handled\n * in the keypress event. In that case, even if the keycap is wrong in the\n * key map, the correct character should be sent.\n *\n * Different layouts, such as Dvorak should work with this keymap, as those\n * layouts typically move keycodes around on the keyboard without disturbing\n * the actual keycaps.\n *\n * There may be issues with control keys on non-US keyboards or with keyboards\n * that very significantly from the expectations here, in which case we may\n * have to invent new key maps.\n *\n * The sequences defined in this key map come from [XTERM] as referenced in\n * vt.js, starting with the section titled \"Alt and Meta Keys\".\n */\nhterm.Keyboard.KeyMap = function(keyboard) {\n this.keyboard = keyboard;\n this.keyDefs = {};\n this.reset();\n};\n\n/**\n * Add a single key definition.\n *\n * The definition is a hash containing the following keys: 'keyCap', 'normal',\n * 'control', and 'alt'.\n *\n * - keyCap is a string identifying the key. For printable\n * keys, the key cap should be exactly two characters, starting with the\n * unshifted version. For example, 'aA', 'bB', '1!' and '=+'. For\n * non-printable the key cap should be surrounded in square braces, as in\n * '[INS]', '[LEFT]'. By convention, non-printable keycaps are in uppercase\n * but this is not a strict requirement.\n *\n * - Normal is the action that should be performed when they key is pressed\n * in the absence of any modifier. See below for the supported actions.\n *\n * - Control is the action that should be performed when they key is pressed\n * along with the control modifier. See below for the supported actions.\n *\n * - Alt is the action that should be performed when they key is pressed\n * along with the alt modifier. See below for the supported actions.\n *\n * - Meta is the action that should be performed when they key is pressed\n * along with the meta modifier. See below for the supported actions.\n *\n * Actions can be one of the hterm.Keyboard.KeyActions as documented below,\n * a literal string, or an array. If the action is a literal string then\n * the string is sent directly to the host. If the action is an array it\n * is taken to be an escape sequence that may be altered by modifier keys.\n * The second-to-last element of the array will be overwritten with the\n * state of the modifier keys, as specified in the final table of \"PC-Style\n * Function Keys\" from [XTERM].\n */\nhterm.Keyboard.KeyMap.prototype.addKeyDef = function(keyCode, def) {\n if (keyCode in this.keyDefs)\n console.warn('Duplicate keyCode: ' + keyCode);\n\n this.keyDefs[keyCode] = def;\n};\n\n/**\n * Add multiple key definitions in a single call.\n *\n * This function takes the key definitions as variable argument list. Each\n * argument is the key definition specified as an array.\n *\n * (If the function took everything as one big hash we couldn't detect\n * duplicates, and there would be a lot more typing involved.)\n *\n * Each key definition should have 6 elements: (keyCode, keyCap, normal action,\n * control action, alt action and meta action). See KeyMap.addKeyDef for the\n * meaning of these elements.\n */\nhterm.Keyboard.KeyMap.prototype.addKeyDefs = function(var_args) {\n for (var i = 0; i < arguments.length; i++) {\n this.addKeyDef(arguments[i][0],\n { keyCap: arguments[i][1],\n normal: arguments[i][2],\n control: arguments[i][3],\n alt: arguments[i][4],\n meta: arguments[i][5]\n });\n }\n};\n\n/**\n * Set up the default state for this keymap.\n */\nhterm.Keyboard.KeyMap.prototype.reset = function() {\n this.keyDefs = {};\n\n var self = this;\n\n // This function is used by the \"macro\" functions below. It makes it\n // possible to use the call() macro as an argument to any other macro.\n function resolve(action, e, k) {\n if (typeof action == 'function')\n return action.apply(self, [e, k]);\n\n return action;\n }\n\n // If not application keypad a, else b. The keys that care about\n // application keypad ignore it when the key is modified.\n function ak(a, b) {\n return function(e, k) {\n var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !self.keyboard.applicationKeypad) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If mod or not application cursor a, else b. The keys that care about\n // application cursor ignore it when the key is modified.\n function ac(a, b) {\n return function(e, k) {\n var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !self.keyboard.applicationCursor) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If not backspace-sends-backspace keypad a, else b.\n function bs(a, b) {\n return function(e, k) {\n var action = !self.keyboard.backspaceSendsBackspace ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If not e.shiftKey a, else b.\n function sh(a, b) {\n return function(e, k) {\n var action = !e.shiftKey ? a : b;\n e.maskShiftKey = true;\n return resolve(action, e, k);\n };\n }\n\n // If not e.altKey a, else b.\n function alt(a, b) {\n return function(e, k) {\n var action = !e.altKey ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If no modifiers a, else b.\n function mod(a, b) {\n return function(e, k) {\n var action = !(e.shiftKey || e.ctrlKey || e.altKey || e.metaKey) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // Compute a control character for a given character.\n function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) }\n\n // Call a method on the keymap instance.\n function c(m) { return function (e, k) { return this[m](e, k) } }\n\n // Ignore if not trapping media keys.\n function med(fn) {\n return function(e, k) {\n if (!self.keyboard.mediaKeysAreFKeys) {\n // Block Back, Forward, and Reload keys to avoid navigating away from\n // the current page.\n return (e.keyCode == 166 || e.keyCode == 167 || e.keyCode == 168) ?\n hterm.Keyboard.KeyActions.CANCEL :\n hterm.Keyboard.KeyActions.PASS;\n }\n return resolve(fn, e, k);\n };\n }\n\n var ESC = '\\x1b';\n var CSI = '\\x1b[';\n var SS3 = '\\x1bO';\n\n var CANCEL = hterm.Keyboard.KeyActions.CANCEL;\n var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT;\n var PASS = hterm.Keyboard.KeyActions.PASS;\n var STRIP = hterm.Keyboard.KeyActions.STRIP;\n\n this.addKeyDefs(\n // These fields are: [keycode, keycap, normal, control, alt, meta]\n\n // The browser sends the keycode 0 for some keys. We'll just assume it's\n // going to do the right thing by default for those keys.\n [0, '[UNKNOWN]', PASS, PASS, PASS, PASS],\n\n // First row.\n [27, '[ESC]', ESC, DEFAULT, DEFAULT, DEFAULT],\n [112, '[F1]', mod(SS3 + 'P', CSI + 'P'), DEFAULT, CSI + \"23~\", DEFAULT],\n [113, '[F2]', mod(SS3 + 'Q', CSI + 'Q'), DEFAULT, CSI + \"24~\", DEFAULT],\n [114, '[F3]', mod(SS3 + 'R', CSI + 'R'), DEFAULT, CSI + \"25~\", DEFAULT],\n [115, '[F4]', mod(SS3 + 'S', CSI + 'S'), DEFAULT, CSI + \"26~\", DEFAULT],\n [116, '[F5]', CSI + '15~', DEFAULT, CSI + \"28~\", DEFAULT],\n [117, '[F6]', CSI + '17~', DEFAULT, CSI + \"29~\", DEFAULT],\n [118, '[F7]', CSI + '18~', DEFAULT, CSI + \"31~\", DEFAULT],\n [119, '[F8]', CSI + '19~', DEFAULT, CSI + \"32~\", DEFAULT],\n [120, '[F9]', CSI + '20~', DEFAULT, CSI + \"33~\", DEFAULT],\n [121, '[F10]', CSI + '21~', DEFAULT, CSI + \"34~\", DEFAULT],\n [122, '[F11]', CSI + '23~', DEFAULT, CSI + \"42~\", DEFAULT],\n [123, '[F12]', CSI + '24~', DEFAULT, CSI + \"43~\", DEFAULT],\n\n // Second row.\n [192, '`~', DEFAULT, sh(ctl('@'), ctl('^')), DEFAULT, PASS],\n [49, '1!', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [50, '2@', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [51, '3#', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [52, '4$', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [53, '5%', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [54, '6^', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [55, '7&', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [56, '8*', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [57, '9(', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [48, '0)', DEFAULT, c('onPlusMinusZero_'),c('onAltNum_'),c('onPlusMinusZero_')],\n [189, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [187, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n // Firefox -_ and =+\n [173, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [61, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n // Firefox Italian +*\n [171, '+*', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n\n [8, '[BKSP]', bs('\\x7f', '\\b'), bs('\\b', '\\x7f'), DEFAULT, DEFAULT],\n\n // Third row.\n [9, '[TAB]', sh('\\t', CSI + 'Z'), STRIP, PASS, DEFAULT],\n [81, 'qQ', DEFAULT, ctl('Q'), DEFAULT, DEFAULT],\n [87, 'wW', DEFAULT, ctl('W'), DEFAULT, DEFAULT],\n [69, 'eE', DEFAULT, ctl('E'), DEFAULT, DEFAULT],\n [82, 'rR', DEFAULT, ctl('R'), DEFAULT, DEFAULT],\n [84, 'tT', DEFAULT, ctl('T'), DEFAULT, DEFAULT],\n [89, 'yY', DEFAULT, ctl('Y'), DEFAULT, DEFAULT],\n [85, 'uU', DEFAULT, ctl('U'), DEFAULT, DEFAULT],\n [73, 'iI', DEFAULT, ctl('I'), DEFAULT, DEFAULT],\n [79, 'oO', DEFAULT, ctl('O'), DEFAULT, DEFAULT],\n [80, 'pP', DEFAULT, ctl('P'), DEFAULT, DEFAULT],\n [219, '[{', DEFAULT, ctl('['), DEFAULT, DEFAULT],\n [221, ']}', DEFAULT, ctl(']'), DEFAULT, DEFAULT],\n [220, '\\\\|', DEFAULT, ctl('\\\\'), DEFAULT, DEFAULT],\n\n // Fourth row. (We let Ctrl-Shift-J pass for Chrome DevTools.)\n [20, '[CAPS]', PASS, PASS, PASS, DEFAULT],\n [65, 'aA', DEFAULT, ctl('A'), DEFAULT, DEFAULT],\n [83, 'sS', DEFAULT, ctl('S'), DEFAULT, DEFAULT],\n [68, 'dD', DEFAULT, ctl('D'), DEFAULT, DEFAULT],\n [70, 'fF', DEFAULT, ctl('F'), DEFAULT, DEFAULT],\n [71, 'gG', DEFAULT, ctl('G'), DEFAULT, DEFAULT],\n [72, 'hH', DEFAULT, ctl('H'), DEFAULT, DEFAULT],\n [74, 'jJ', DEFAULT, sh(ctl('J'), PASS), DEFAULT, DEFAULT],\n [75, 'kK', DEFAULT, sh(ctl('K'), c('onClear_')), DEFAULT, DEFAULT],\n [76, 'lL', DEFAULT, sh(ctl('L'), PASS), DEFAULT, DEFAULT],\n [186, ';:', DEFAULT, STRIP, DEFAULT, DEFAULT],\n [222, '\\'\"', DEFAULT, STRIP, DEFAULT, DEFAULT],\n [13, '[ENTER]', '\\r', CANCEL, CANCEL, DEFAULT],\n\n // Fifth row. This includes the copy/paste shortcuts. On some\n // platforms it's Ctrl-C/V, on others it's Meta-C/V. We assume either\n // Ctrl-C/Meta-C should pass to the browser when there is a selection,\n // and Ctrl-Shift-V/Meta-*-V should always pass to the browser (since\n // these seem to be recognized as paste too).\n [16, '[SHIFT]', PASS, PASS, PASS, DEFAULT],\n [90, 'zZ', DEFAULT, ctl('Z'), DEFAULT, DEFAULT],\n [88, 'xX', DEFAULT, ctl('X'), DEFAULT, DEFAULT],\n [67, 'cC', DEFAULT, c('onCtrlC_'), DEFAULT, c('onMetaC_')],\n [86, 'vV', DEFAULT, c('onCtrlV_'), DEFAULT, c('onMetaV_')],\n [66, 'bB', DEFAULT, sh(ctl('B'), PASS), DEFAULT, sh(DEFAULT, PASS)],\n [78, 'nN', DEFAULT, c('onCtrlN_'), DEFAULT, c('onMetaN_')],\n [77, 'mM', DEFAULT, ctl('M'), DEFAULT, DEFAULT],\n [188, ',<', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT],\n [190, '.>', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT],\n [191, '/?', DEFAULT, sh(ctl('_'), ctl('?')), DEFAULT, DEFAULT],\n\n // Sixth and final row.\n [17, '[CTRL]', PASS, PASS, PASS, PASS],\n [18, '[ALT]', PASS, PASS, PASS, PASS],\n [91, '[LAPL]', PASS, PASS, PASS, PASS],\n [32, ' ', DEFAULT, ctl('@'), DEFAULT, DEFAULT],\n [92, '[RAPL]', PASS, PASS, PASS, PASS],\n [93, '[RMENU]', PASS, PASS, PASS, PASS],\n\n // These things.\n [42, '[PRTSCR]', PASS, PASS, PASS, PASS],\n [145, '[SCRLK]', PASS, PASS, PASS, PASS],\n [19, '[BREAK]', PASS, PASS, PASS, PASS],\n\n // The block of six keys above the arrows.\n [45, '[INSERT]', c('onKeyInsert_'), DEFAULT, DEFAULT, DEFAULT],\n [36, '[HOME]', c('onKeyHome_'), DEFAULT, DEFAULT, DEFAULT],\n [33, '[PGUP]', c('onKeyPageUp_'), DEFAULT, DEFAULT, DEFAULT],\n [46, '[DEL]', c('onKeyDel_'), DEFAULT, DEFAULT, DEFAULT],\n [35, '[END]', c('onKeyEnd_'), DEFAULT, DEFAULT, DEFAULT],\n [34, '[PGDOWN]', c('onKeyPageDown_'), DEFAULT, DEFAULT, DEFAULT],\n\n // Arrow keys. When unmodified they respect the application cursor state,\n // otherwise they always send the CSI codes.\n [38, '[UP]', c('onKeyArrowUp_'), DEFAULT, DEFAULT, DEFAULT],\n [40, '[DOWN]', c('onKeyArrowDown_'), DEFAULT, DEFAULT, DEFAULT],\n [39, '[RIGHT]', ac(CSI + 'C', SS3 + 'C'), DEFAULT, DEFAULT, DEFAULT],\n [37, '[LEFT]', ac(CSI + 'D', SS3 + 'D'), DEFAULT, DEFAULT, DEFAULT],\n\n [144, '[NUMLOCK]', PASS, PASS, PASS, PASS],\n\n // With numlock off, the keypad generates the same key codes as the arrows\n // and 'block of six' for some keys, and null key codes for the rest.\n\n // Keypad with numlock on generates unique key codes...\n [96, '[KP0]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [97, '[KP1]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [98, '[KP2]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [99, '[KP3]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [100, '[KP4]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [101, '[KP5]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [102, '[KP6]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [103, '[KP7]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [104, '[KP8]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [105, '[KP9]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [107, '[KP+]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [109, '[KP-]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [106, '[KP*]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [111, '[KP/]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [110, '[KP.]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n\n // Chrome OS keyboard top row.\n [166, '[BACK]', med(mod(SS3+'P', CSI+'P')), DEFAULT, CSI+\"23~\", DEFAULT],\n [167, '[FWD]', med(mod(SS3+'Q', CSI+'Q')), DEFAULT, CSI+\"24~\", DEFAULT],\n [168, '[RELOAD]', med(mod(SS3+'R', CSI+'R')), DEFAULT, CSI+\"25~\", DEFAULT],\n [183, '[FSCR]', med(mod(SS3+'S', CSI+'S')), DEFAULT, CSI+\"26~\", DEFAULT],\n [182, '[WINS]', med(CSI + '15~'), DEFAULT, CSI+\"28~\", DEFAULT],\n [216, '[BRIT-]', med(CSI + '17~'), DEFAULT, CSI+\"29~\", DEFAULT],\n [217, '[BRIT+]', med(CSI + '18~'), DEFAULT, CSI+\"31~\", DEFAULT]\n\n // 173 [MUTE], 174 [VOL-] and 175 [VOL+] are trapped by the Chrome OS\n // window manager, so we'll never see them. Note that 173 is also\n // Firefox's -_ keycode.\n );\n};\n\n/**\n * Either allow the paste or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyInsert_ = function(e) {\n if (this.keyboard.shiftInsertPaste && e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return '\\x1b[2~';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyHome_ = function(e) {\n if (!this.keyboard.homeKeysScroll ^ e.shiftKey) {\n if ((e.altey || e.ctrlKey || e.shiftKey) ||\n !this.keyboard.applicationCursor) {\n return '\\x1b[H';\n }\n\n return '\\x1bOH';\n }\n\n this.keyboard.terminal.scrollHome();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyEnd_ = function(e) {\n if (!this.keyboard.homeKeysScroll ^ e.shiftKey) {\n if ((e.altKey || e.ctrlKey || e.shiftKey) ||\n !this.keyboard.applicationCursor) {\n return '\\x1b[F';\n }\n\n return '\\x1bOF';\n }\n\n this.keyboard.terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyPageUp_ = function(e) {\n if (!this.keyboard.pageKeysScroll ^ e.shiftKey)\n return '\\x1b[5~';\n\n this.keyboard.terminal.scrollPageUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either send a true DEL, or sub in meta-backspace.\n *\n * On Chrome OS, if we know the alt key is down, but we get a DEL event that\n * claims that the alt key is not pressed, we know the DEL was a synthetic\n * one from a user that hit alt-backspace. Based on a user pref, we can sub\n * in meta-backspace in this case.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyDel_ = function(e) {\n if (this.keyboard.altBackspaceIsMetaBackspace &&\n this.keyboard.altKeyPressed && !e.altKey)\n return '\\x1b\\x7f';\n return '\\x1b[3~';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyPageDown_ = function(e) {\n if (!this.keyboard.pageKeysScroll ^ e.shiftKey)\n return '\\x1b[6~';\n\n this.keyboard.terminal.scrollPageDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyArrowUp_ = function(e) {\n if (!this.keyboard.applicationCursor && e.shiftKey) {\n this.keyboard.terminal.scrollLineUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !this.keyboard.applicationCursor) ? '\\x1b[A' : '\\x1bOA';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyArrowDown_ = function(e) {\n if (!this.keyboard.applicationCursor && e.shiftKey) {\n this.keyboard.terminal.scrollLineDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !this.keyboard.applicationCursor) ? '\\x1b[B' : '\\x1bOB';\n};\n\n/**\n * Clear the primary/alternate screens and the scrollback buffer.\n */\nhterm.Keyboard.KeyMap.prototype.onClear_ = function(e, keyDef) {\n this.keyboard.terminal.wipeContents();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either pass Ctrl-1..9 to the browser or send them to the host.\n *\n * Note that Ctrl-1 and Ctrl-9 don't actually have special sequences mapped\n * to them in xterm or gnome-terminal. The range is really Ctrl-2..8, but\n * we handle 1..9 since Chrome treats the whole range special.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlNum_ = function(e, keyDef) {\n // Compute a control character for a given character.\n function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) }\n\n if (this.keyboard.terminal.passCtrlNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n switch (keyDef.keyCap.substr(0, 1)) {\n case '1': return '1';\n case '2': return ctl('@');\n case '3': return ctl('[');\n case '4': return ctl('\\\\');\n case '5': return ctl(']');\n case '6': return ctl('^');\n case '7': return ctl('_');\n case '8': return '\\x7f';\n case '9': return '9';\n }\n};\n\n/**\n * Either pass Alt-1..9 to the browser or send them to the host.\n */\nhterm.Keyboard.KeyMap.prototype.onAltNum_ = function(e, keyDef) {\n if (this.keyboard.terminal.passAltNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either pass Meta-1..9 to the browser or send them to the host.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaNum_ = function(e, keyDef) {\n if (this.keyboard.terminal.passMetaNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either send a ^C or interpret the keystroke as a copy command.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlC_ = function(e, keyDef) {\n var selection = this.keyboard.terminal.getDocument().getSelection();\n\n if (!selection.isCollapsed) {\n if (this.keyboard.ctrlCCopy && !e.shiftKey) {\n // Ctrl-C should copy if there is a selection, send ^C otherwise.\n // Perform the copy by letting the browser handle Ctrl-C. On most\n // browsers, this is the *only* way to place text on the clipboard from\n // the 'drive-by' web.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(selection.collapseToEnd.bind(selection), 50);\n }\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n if (!this.keyboard.ctrlCCopy && e.shiftKey) {\n // Ctrl-Shift-C should copy if there is a selection, send ^C otherwise.\n // Perform the copy manually. This only works in situations where\n // document.execCommand('copy') is allowed.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(selection.collapseToEnd.bind(selection), 50);\n }\n this.keyboard.terminal.copySelectionToClipboard();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n }\n\n return '\\x03';\n};\n\n/**\n * Either send a ^N or open a new window to the same location.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlN_ = function(e, keyDef) {\n if (e.shiftKey) {\n window.open(document.location.href, '',\n 'chrome=no,close=yes,resize=yes,scrollbars=yes,' +\n 'minimizable=yes,width=' + window.innerWidth +\n ',height=' + window.innerHeight);\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return '\\x0e';\n};\n\n/**\n * Either send a ^V or issue a paste command.\n *\n * The default behavior is to paste if the user presses Ctrl-Shift-V, and send\n * a ^V if the user presses Ctrl-V. This can be flipped with the\n * 'ctrl-v-paste' preference.\n *\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlV_ = function(e, keyDef) {\n if ((!e.shiftKey && this.keyboard.ctrlVPaste) ||\n (e.shiftKey && !this.keyboard.ctrlVPaste)) {\n // We try to do the pasting ourselves as not all browsers/OSs bind Ctrl-V to\n // pasting. Notably, on macOS, Ctrl-V/Ctrl-Shift-V do nothing.\n // However, this might run into web restrictions, so if it fails, we still\n // fallback to the letting the native behavior (hopefully) save us.\n if (this.keyboard.terminal.paste())\n return hterm.Keyboard.KeyActions.CANCEL;\n else\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n return '\\x16';\n};\n\n/**\n * Either the default action or open a new window to the same location.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaN_ = function(e, keyDef) {\n if (e.shiftKey) {\n window.open(document.location.href, '',\n 'chrome=no,close=yes,resize=yes,scrollbars=yes,' +\n 'minimizable=yes,width=' + window.outerWidth +\n ',height=' + window.outerHeight);\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either send a Meta-C or allow the browser to interpret the keystroke as a\n * copy command.\n *\n * If there is no selection, or if the user presses Meta-Shift-C, then we'll\n * transmit an '\\x1b' (if metaSendsEscape is on) followed by 'c' or 'C'.\n *\n * If there is a selection, we defer to the browser. In this case we clear out\n * the selection so the user knows we heard them, and also to give them a\n * chance to send a Meta-C by just hitting the key again.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaC_ = function(e, keyDef) {\n var document = this.keyboard.terminal.getDocument();\n if (e.shiftKey || document.getSelection().isCollapsed) {\n // If the shift key is being held, or there is no document selection, send\n // a Meta-C. The keyboard code will add the ESC if metaSendsEscape is true,\n // we just have to decide between 'c' and 'C'.\n return keyDef.keyCap.substr(e.shiftKey ? 1 : 0, 1);\n }\n\n // Otherwise let the browser handle it as a copy command.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(function() { document.getSelection().collapseToEnd() }, 50);\n }\n return hterm.Keyboard.KeyActions.PASS;\n};\n\n/**\n * Either PASS or DEFAULT Meta-V, depending on preference.\n *\n * Always PASS Meta-Shift-V to allow browser to interpret the keystroke as\n * a paste command.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaV_ = function(e, keyDef) {\n if (e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return this.keyboard.passMetaV ?\n hterm.Keyboard.KeyActions.PASS :\n hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Handle font zooming.\n *\n * The browser's built-in zoom has a bit of an issue at certain zoom levels.\n * At some magnifications, the measured height of a row of text differs from\n * the height that was explicitly set.\n *\n * We override the browser zoom keys to change the ScrollPort's font size to\n * avoid the issue.\n */\nhterm.Keyboard.KeyMap.prototype.onPlusMinusZero_ = function(e, keyDef) {\n if (!(this.keyboard.ctrlPlusMinusZeroZoom ^ e.shiftKey)) {\n // If ctrl-PMZ controls zoom and the shift key is pressed, or\n // ctrl-shift-PMZ controls zoom and this shift key is not pressed,\n // then we want to send the control code instead of affecting zoom.\n if (keyDef.keyCap == '-_')\n return '\\x1f'; // ^_\n\n // Only ^_ is valid, the other sequences have no meaning.\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n if (this.keyboard.terminal.getZoomFactor() != 1) {\n // If we're not at 1:1 zoom factor, let the Ctrl +/-/0 keys control the\n // browser zoom, so it's easier to for the user to get back to 100%.\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n var cap = keyDef.keyCap.substr(0, 1);\n if (cap == '0') {\n this.keyboard.terminal.setFontSize(0);\n } else {\n var size = this.keyboard.terminal.getFontSize();\n\n if (cap == '-' || keyDef.keyCap == '[KP-]') {\n size -= 1;\n } else {\n size += 1;\n }\n\n this.keyboard.terminal.setFontSize(size);\n }\n\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_keypattern.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * A record of modifier bits and keycode used to define a key binding.\n *\n * The modifier names are enumerated in the static KeyPattern.modifiers\n * property below. Each modifier can be true, false, or \"*\". True means\n * the modifier key must be present, false means it must not, and \"*\" means\n * it doesn't matter.\n */\nhterm.Keyboard.KeyPattern = function(spec) {\n this.wildcardCount = 0;\n this.keyCode = spec.keyCode;\n\n hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) {\n this[mod] = spec[mod] || false;\n if (this[mod] == '*')\n this.wildcardCount++;\n }.bind(this));\n};\n\n/**\n * Valid modifier names.\n */\nhterm.Keyboard.KeyPattern.modifiers = [\n 'shift', 'ctrl', 'alt', 'meta'\n];\n\n/**\n * A compare callback for Array.prototype.sort().\n *\n * The bindings code wants to be sure to search through the strictest key\n * patterns first, so that loosely defined patterns have a lower priority than\n * exact patterns.\n *\n * @param {hterm.Keyboard.KeyPattern} a\n * @param {hterm.Keyboard.KeyPattern} b\n */\nhterm.Keyboard.KeyPattern.sortCompare = function(a, b) {\n if (a.wildcardCount < b.wildcardCount)\n return -1;\n\n if (a.wildcardCount > b.wildcardCount)\n return 1;\n\n return 0;\n};\n\n/**\n * Private method used to match this key pattern against other key patterns\n * or key down events.\n *\n * @param {Object} The object to match.\n * @param {boolean} True if we should ignore wildcards. Useful when you want\n * to perform and exact match against another key pattern.\n */\nhterm.Keyboard.KeyPattern.prototype.match_ = function(obj, exactMatch) {\n if (this.keyCode != obj.keyCode)\n return false;\n\n var rv = true;\n\n hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) {\n var modValue = (mod in obj) ? obj[mod] : false;\n if (!rv || (!exactMatch && this[mod] == '*') || this[mod] == modValue)\n return;\n\n rv = false;\n }.bind(this));\n\n return rv;\n};\n\n/**\n * Return true if the given keyDown object is a match for this key pattern.\n *\n * @param {Object} keyDown An object with a keyCode property and zero or\n * more boolean properties representing key modifiers. These property names\n * must match those defined in hterm.Keyboard.KeyPattern.modifiers.\n */\nhterm.Keyboard.KeyPattern.prototype.matchKeyDown = function(keyDown) {\n return this.match_(keyDown, false);\n};\n\n/**\n * Return true if the given hterm.Keyboard.KeyPattern is exactly the same as\n * this one.\n *\n * @param {hterm.Keyboard.KeyPattern}\n */\nhterm.Keyboard.KeyPattern.prototype.matchKeyPattern = function(keyPattern) {\n return this.match_(keyPattern, true);\n};\n// SOURCE FILE: hterm/js/hterm_options.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview This file implements the hterm.Options class,\n * which stores current operating conditions for the terminal. This object is\n * used instead of a series of parameters to allow saving/restoring of cursor\n * conditions easily, and to provide an easy place for common configuration\n * options.\n *\n * Original code by Cory Maccarrone.\n */\n\n/**\n * Constructor for the hterm.Options class, optionally acting as a copy\n * constructor.\n *\n * The defaults are as defined in http://www.vt100.net/docs/vt510-rm/DECSTR\n * except that we enable autowrap (wraparound) by default since that seems to\n * be what xterm does.\n *\n * @param {hterm.Options=} opt_copy Optional instance to copy.\n * @constructor\n */\nhterm.Options = function(opt_copy) {\n // All attributes in this class are public to allow easy access by the\n // terminal.\n\n this.wraparound = opt_copy ? opt_copy.wraparound : true;\n this.reverseWraparound = opt_copy ? opt_copy.reverseWraparound : false;\n this.originMode = opt_copy ? opt_copy.originMode : false;\n this.autoCarriageReturn = opt_copy ? opt_copy.autoCarriageReturn : false;\n this.cursorVisible = opt_copy ? opt_copy.cursorVisible : false;\n this.cursorBlink = opt_copy ? opt_copy.cursorBlink : false;\n this.insertMode = opt_copy ? opt_copy.insertMode : false;\n this.reverseVideo = opt_copy ? opt_copy.reverseVideo : false;\n this.bracketedPaste = opt_copy ? opt_copy.bracketedPaste : false;\n};\n// SOURCE FILE: hterm/js/hterm_parser.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyActions');\n\n/**\n * @constructor\n * Parses the key definition syntax used for user keyboard customizations.\n */\nhterm.Parser = function() {\n /**\n * @type {string} The source string.\n */\n this.source = '';\n\n /**\n * @type {number} The current position.\n */\n this.pos = 0;\n\n /**\n * @type {string?} The character at the current position.\n */\n this.ch = null;\n};\n\nhterm.Parser.prototype.error = function(message) {\n return new Error('Parse error at ' + this.pos + ': ' + message);\n};\n\nhterm.Parser.prototype.isComplete = function() {\n return this.pos == this.source.length;\n};\n\nhterm.Parser.prototype.reset = function(source, opt_pos) {\n this.source = source;\n this.pos = opt_pos || 0;\n this.ch = source.substr(0, 1);\n};\n\n/**\n * Parse a key sequence.\n *\n * A key sequence is zero or more of the key modifiers defined in\n * hterm.Parser.identifiers.modifierKeys followed by a key code. Key\n * codes can be an integer or an identifier from\n * hterm.Parser.identifiers.keyCodes. Modifiers and keyCodes should be joined\n * by the dash character.\n *\n * An asterisk \"*\" can be used to indicate that the unspecified modifiers\n * are optional.\n *\n * For example:\n * A: Matches only an unmodified \"A\" character.\n * 65: Same as above.\n * 0x41: Same as above.\n * Ctrl-A: Matches only Ctrl-A.\n * Ctrl-65: Same as above.\n * Ctrl-0x41: Same as above.\n * Ctrl-Shift-A: Matches only Ctrl-Shift-A.\n * Ctrl-*-A: Matches Ctrl-A, as well as any other key sequence that includes\n * at least the Ctrl and A keys.\n *\n * @return {Object} An object with shift, ctrl, alt, meta, keyCode\n * properties.\n */\nhterm.Parser.prototype.parseKeySequence = function() {\n var rv = {\n keyCode: null\n };\n\n for (var k in hterm.Parser.identifiers.modifierKeys) {\n rv[hterm.Parser.identifiers.modifierKeys[k]] = false;\n }\n\n while (this.pos < this.source.length) {\n this.skipSpace();\n\n var token = this.parseToken();\n if (token.type == 'integer') {\n rv.keyCode = token.value;\n\n } else if (token.type == 'identifier') {\n var ucValue = token.value.toUpperCase();\n if (ucValue in hterm.Parser.identifiers.modifierKeys &&\n hterm.Parser.identifiers.modifierKeys.hasOwnProperty(ucValue)) {\n var mod = hterm.Parser.identifiers.modifierKeys[ucValue];\n if (rv[mod] && rv[mod] != '*')\n throw this.error('Duplicate modifier: ' + token.value);\n rv[mod] = true;\n\n } else if (ucValue in hterm.Parser.identifiers.keyCodes &&\n hterm.Parser.identifiers.keyCodes.hasOwnProperty(ucValue)) {\n rv.keyCode = hterm.Parser.identifiers.keyCodes[ucValue];\n\n } else {\n throw this.error('Unknown key: ' + token.value);\n }\n\n } else if (token.type == 'symbol') {\n if (token.value == '*') {\n for (var id in hterm.Parser.identifiers.modifierKeys) {\n var p = hterm.Parser.identifiers.modifierKeys[id];\n if (!rv[p])\n rv[p] = '*';\n }\n } else {\n throw this.error('Unexpected symbol: ' + token.value);\n }\n } else {\n throw this.error('Expected integer or identifier');\n }\n\n this.skipSpace();\n\n if (this.ch != '-')\n break;\n\n if (rv.keyCode != null)\n throw this.error('Extra definition after target key');\n\n this.advance(1);\n }\n\n if (rv.keyCode == null)\n throw this.error('Missing target key');\n\n return rv;\n};\n\nhterm.Parser.prototype.parseKeyAction = function() {\n this.skipSpace();\n\n var token = this.parseToken();\n\n if (token.type == 'string')\n return token.value;\n\n if (token.type == 'identifier') {\n if (token.value in hterm.Parser.identifiers.actions &&\n hterm.Parser.identifiers.actions.hasOwnProperty(token.value))\n return hterm.Parser.identifiers.actions[token.value];\n\n throw this.error('Unknown key action: ' + token.value);\n }\n\n throw this.error('Expected string or identifier');\n\n};\n\nhterm.Parser.prototype.peekString = function() {\n return this.ch == '\\'' || this.ch == '\"';\n};\n\nhterm.Parser.prototype.peekIdentifier = function() {\n return this.ch.match(/[a-z_]/i);\n};\n\nhterm.Parser.prototype.peekInteger = function() {\n return this.ch.match(/[0-9]/);\n};\n\nhterm.Parser.prototype.parseToken = function() {\n if (this.ch == '*') {\n var rv = {type: 'symbol', value: this.ch};\n this.advance(1);\n return rv;\n }\n\n if (this.peekIdentifier())\n return {type: 'identifier', value: this.parseIdentifier()};\n\n if (this.peekString())\n return {type: 'string', value: this.parseString()};\n\n if (this.peekInteger())\n return {type: 'integer', value: this.parseInteger()};\n\n\n throw this.error('Unexpected token');\n};\n\nhterm.Parser.prototype.parseIdentifier = function() {\n if (!this.peekIdentifier())\n throw this.error('Expected identifier');\n\n return this.parsePattern(/[a-z0-9_]+/ig);\n};\n\nhterm.Parser.prototype.parseInteger = function() {\n var base = 10;\n\n if (this.ch == '0' && this.pos < this.source.length - 1 &&\n this.source.substr(this.pos + 1, 1) == 'x') {\n return parseInt(this.parsePattern(/0x[0-9a-f]+/gi));\n }\n\n return parseInt(this.parsePattern(/\\d+/g));\n};\n\n/**\n * Parse a single or double quoted string.\n *\n * The current position should point at the initial quote character. Single\n * quoted strings will be treated literally, double quoted will process escapes.\n *\n * TODO(rginda): Variable interpolation.\n *\n * @param {ParseState} parseState\n * @param {string} quote A single or double-quote character.\n * @return {string}\n */\nhterm.Parser.prototype.parseString = function() {\n var result = '';\n\n var quote = this.ch;\n if (quote != '\"' && quote != '\\'')\n throw this.error('String expected');\n\n this.advance(1);\n\n var re = new RegExp('[\\\\\\\\' + quote + ']', 'g');\n\n while (this.pos < this.source.length) {\n re.lastIndex = this.pos;\n if (!re.exec(this.source))\n throw this.error('Unterminated string literal');\n\n result += this.source.substring(this.pos, re.lastIndex - 1);\n\n this.advance(re.lastIndex - this.pos - 1);\n\n if (quote == '\"' && this.ch == '\\\\') {\n this.advance(1);\n result += this.parseEscape();\n continue;\n }\n\n if (quote == '\\'' && this.ch == '\\\\') {\n result += this.ch;\n this.advance(1);\n continue;\n }\n\n if (this.ch == quote) {\n this.advance(1);\n return result;\n }\n }\n\n throw this.error('Unterminated string literal');\n};\n\n\n/**\n * Parse an escape code from the current position (which should point to\n * the first character AFTER the leading backslash.)\n *\n * @return {string}\n */\nhterm.Parser.prototype.parseEscape = function() {\n var map = {\n '\"': '\"',\n '\\'': '\\'',\n '\\\\': '\\\\',\n 'a': '\\x07',\n 'b': '\\x08',\n 'e': '\\x1b',\n 'f': '\\x0c',\n 'n': '\\x0a',\n 'r': '\\x0d',\n 't': '\\x09',\n 'v': '\\x0b',\n 'x': function() {\n var value = this.parsePattern(/[a-z0-9]{2}/ig);\n return String.fromCharCode(parseInt(value, 16));\n },\n 'u': function() {\n var value = this.parsePattern(/[a-z0-9]{4}/ig);\n return String.fromCharCode(parseInt(value, 16));\n }\n };\n\n if (!(this.ch in map && map.hasOwnProperty(this.ch)))\n throw this.error('Unknown escape: ' + this.ch);\n\n var value = map[this.ch];\n this.advance(1);\n\n if (typeof value == 'function')\n value = value.call(this);\n\n return value;\n};\n\n/**\n * Parse the given pattern starting from the current position.\n *\n * @param {RegExp} pattern A pattern representing the characters to span. MUST\n * include the \"global\" RegExp flag.\n * @return {string}\n */\nhterm.Parser.prototype.parsePattern = function(pattern) {\n if (!pattern.global)\n throw this.error('Internal error: Span patterns must be global');\n\n pattern.lastIndex = this.pos;\n var ary = pattern.exec(this.source);\n\n if (!ary || pattern.lastIndex - ary[0].length != this.pos)\n throw this.error('Expected match for: ' + pattern);\n\n this.pos = pattern.lastIndex - 1;\n this.advance(1);\n\n return ary[0];\n};\n\n\n/**\n * Advance the current position.\n *\n * @param {number} count\n */\nhterm.Parser.prototype.advance = function(count) {\n this.pos += count;\n this.ch = this.source.substr(this.pos, 1);\n};\n\n/**\n * @param {string=} opt_expect A list of valid non-whitespace characters to\n * terminate on.\n * @return {void}\n */\nhterm.Parser.prototype.skipSpace = function(opt_expect) {\n if (!/\\s/.test(this.ch))\n return;\n\n var re = /\\s+/gm;\n re.lastIndex = this.pos;\n\n var source = this.source;\n if (re.exec(source))\n this.pos = re.lastIndex;\n\n this.ch = this.source.substr(this.pos, 1);\n\n if (opt_expect) {\n if (this.ch.indexOf(opt_expect) == -1) {\n throw this.error('Expected one of ' + opt_expect + ', found: ' +\n this.ch);\n }\n }\n};\n// SOURCE FILE: hterm/js/hterm_parser_identifiers.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Collections of identifier for hterm.Parser.\n */\nhterm.Parser.identifiers = {};\n\n/**\n * Modifier key names used when defining key sequences.\n *\n * These are upper case so we can normalize the user input and be forgiving.\n * \"CTRL-A\" and \"Ctrl-A\" and \"ctrl-a\" are all accepted.\n *\n * Note: Names here cannot overlap with hterm.Parser.identifiers.keyCodes.\n */\nhterm.Parser.identifiers.modifierKeys = {\n SHIFT: 'shift',\n CTRL: 'ctrl',\n // Common alias.\n CONTROL: 'ctrl',\n ALT: 'alt',\n META: 'meta'\n};\n\n/**\n * Key codes useful when defining key sequences.\n *\n * Punctuation is mostly left out of this list because they can move around\n * based on keyboard locale and browser.\n *\n * In a key sequence like \"Ctrl-ESC\", the ESC comes from this list of\n * identifiers. It is equivalent to \"Ctrl-27\" and \"Ctrl-0x1b\".\n *\n * These are upper case so we can normalize the user input and be forgiving.\n * \"Ctrl-ESC\" and \"Ctrl-Esc\" an \"Ctrl-esc\" are all accepted.\n *\n * We also include common aliases for the same key. \"Esc\" and \"Escape\" are the\n * same key.\n *\n * Note: Names here cannot overlap with hterm.Parser.identifiers.modifierKeys.\n */\nhterm.Parser.identifiers.keyCodes = {\n // Top row.\n ESCAPE: 27,\n ESC: 27,\n F1: 112,\n F2: 113,\n F3: 114,\n F4: 115,\n F5: 116,\n F6: 117,\n F7: 118,\n F8: 119,\n F9: 120,\n F10: 121,\n F11: 122,\n F12: 123,\n\n // Row two.\n ONE: 49,\n TWO: 50,\n THREE: 51,\n FOUR: 52,\n FIVE: 53,\n SIX: 54,\n SEVEN: 55,\n EIGHT: 56,\n NINE: 57,\n ZERO: 48,\n BACKSPACE: 8,\n BKSP: 8,\n BS: 8,\n\n // Row three.\n TAB: 9,\n Q: 81,\n W: 87,\n E: 69,\n R: 82,\n T: 84,\n Y: 89,\n U: 85,\n I: 73,\n O: 79,\n P: 80,\n\n // Row four.\n CAPS_LOCK: 20,\n CAPSLOCK: 20,\n CAPS: 20,\n A: 65,\n S: 83,\n D: 68,\n F: 70,\n G: 71,\n H: 72,\n J: 74,\n K: 75,\n L: 76,\n // We map enter and return together even though enter should really be 10\n // because most people don't know or care about the history here. Plus,\n // most keyboards/programs map them together already. If they really want\n // to bind them differently, they can also use the numeric value.\n ENTER: 13,\n ENT: 13,\n RETURN: 13,\n RET: 13,\n\n // Row five.\n Z: 90,\n X: 88,\n C: 67,\n V: 86,\n B: 66,\n N: 78,\n M: 77,\n\n // Etc.\n SPACE: 32,\n SP: 32,\n PRINT_SCREEN: 42,\n PRTSC: 42,\n SCROLL_LOCK: 145,\n SCRLK: 145,\n BREAK: 19,\n BRK: 19,\n INSERT: 45,\n INS: 45,\n HOME: 36,\n PAGE_UP: 33,\n PGUP: 33,\n DELETE: 46,\n DEL: 46,\n END: 35,\n PAGE_DOWN: 34,\n PGDOWN: 34,\n PGDN: 34,\n UP: 38,\n DOWN: 40,\n RIGHT: 39,\n LEFT: 37,\n NUMLOCK: 144,\n\n // Keypad\n KP0: 96,\n KP1: 97,\n KP2: 98,\n KP3: 99,\n KP4: 100,\n KP5: 101,\n KP6: 102,\n KP7: 103,\n KP8: 104,\n KP9: 105,\n KP_PLUS: 107,\n KP_ADD: 107,\n KP_MINUS: 109,\n KP_SUBTRACT: 109,\n KP_STAR: 106,\n KP_MULTIPLY: 106,\n KP_DIVIDE: 111,\n KP_DECIMAL: 110,\n KP_PERIOD: 110,\n\n // Chrome OS media keys\n NAVIGATE_BACK: 166,\n NAVIGATE_FORWARD: 167,\n RELOAD: 168,\n FULL_SCREEN: 183,\n WINDOW_OVERVIEW: 182,\n BRIGHTNESS_UP: 216,\n BRIGHTNESS_DOWN: 217\n};\n\n/**\n * Identifiers for use in key actions.\n */\nhterm.Parser.identifiers.actions = {\n /**\n * Prevent the browser and operating system from handling the event.\n */\n CANCEL: hterm.Keyboard.KeyActions.CANCEL,\n\n /**\n * Wait for a \"keypress\" event, send the keypress charCode to the host.\n */\n DEFAULT: hterm.Keyboard.KeyActions.DEFAULT,\n\n /**\n * Let the browser or operating system handle the key.\n */\n PASS: hterm.Keyboard.KeyActions.PASS,\n\n /**\n * Scroll the terminal one page up.\n */\n scrollPageUp: function(terminal) {\n terminal.scrollPageUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal one page down.\n */\n scrollPageDown: function(terminal) {\n terminal.scrollPageDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal to the top.\n */\n scrollToTop: function(terminal) {\n terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal to the bottom.\n */\n scrollToBottom: function(terminal) {\n terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Clear the terminal and scrollback buffer.\n */\n clearScrollback: function(terminal) {\n terminal.wipeContents();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n};\n// SOURCE FILE: hterm/js/hterm_preference_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'lib.Storage');\n\n/**\n * PreferenceManager subclass managing global NaSSH preferences.\n *\n * This is currently just an ordered list of known connection profiles.\n */\nhterm.PreferenceManager = function(profileId) {\n lib.PreferenceManager.call(this, hterm.defaultStorage,\n '/hterm/profiles/' + profileId);\n var defs = hterm.PreferenceManager.defaultPreferences;\n Object.keys(defs).forEach(function(key) {\n this.definePreference(key, defs[key][1]);\n }.bind(this));\n};\n\nhterm.PreferenceManager.categories = {};\nhterm.PreferenceManager.categories.Keyboard = 'Keyboard';\nhterm.PreferenceManager.categories.Appearance = 'Appearance';\nhterm.PreferenceManager.categories.CopyPaste = 'CopyPaste';\nhterm.PreferenceManager.categories.Sounds = 'Sounds';\nhterm.PreferenceManager.categories.Scrolling = 'Scrolling';\nhterm.PreferenceManager.categories.Encoding = 'Encoding';\nhterm.PreferenceManager.categories.Miscellaneous = 'Miscellaneous';\n\n/**\n * List of categories, ordered by display order (top to bottom)\n */\nhterm.PreferenceManager.categoryDefinitions = [\n { id: hterm.PreferenceManager.categories.Appearance,\n text: 'Appearance (fonts, colors, images)'},\n { id: hterm.PreferenceManager.categories.CopyPaste,\n text: 'Copy & Paste'},\n { id: hterm.PreferenceManager.categories.Encoding,\n text: 'Encoding'},\n { id: hterm.PreferenceManager.categories.Keyboard,\n text: 'Keyboard'},\n { id: hterm.PreferenceManager.categories.Scrolling,\n text: 'Scrolling'},\n { id: hterm.PreferenceManager.categories.Sounds,\n text: 'Sounds'},\n { id: hterm.PreferenceManager.categories.Miscellaneous,\n text: 'Misc.'}\n];\n\n\nhterm.PreferenceManager.defaultPreferences = {\n 'alt-gr-mode':\n [hterm.PreferenceManager.categories.Keyboard, null,\n [null, 'none', 'ctrl-alt', 'left-alt', 'right-alt'],\n 'Select an AltGr detection hack^Wheuristic.\\n' +\n '\\n' +\n '\\'null\\': Autodetect based on navigator.language:\\n' +\n ' \\'en-us\\' => \\'none\\', else => \\'right-alt\\'\\n' +\n '\\'none\\': Disable any AltGr related munging.\\n' +\n '\\'ctrl-alt\\': Assume Ctrl+Alt means AltGr.\\n' +\n '\\'left-alt\\': Assume left Alt means AltGr.\\n' +\n '\\'right-alt\\': Assume right Alt means AltGr.\\n'],\n\n 'alt-backspace-is-meta-backspace':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If set, undoes the Chrome OS Alt-Backspace->DEL remap, so that ' +\n 'alt-backspace indeed is alt-backspace.'],\n\n 'alt-is-meta':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Set whether the alt key acts as a meta key or as a distinct alt key.'],\n\n 'alt-sends-what':\n [hterm.PreferenceManager.categories.Keyboard, 'escape',\n ['escape', '8-bit', 'browser-key'],\n 'Controls how the alt key is handled.\\n' +\n '\\n' +\n ' escape....... Send an ESC prefix.\\n' +\n ' 8-bit........ Add 128 to the unshifted character as in xterm.\\n' +\n ' browser-key.. Wait for the keypress event and see what the browser \\n' +\n ' says. (This won\\'t work well on platforms where the \\n' +\n ' browser performs a default action for some alt sequences.)'\n ],\n\n 'audible-bell-sound':\n [hterm.PreferenceManager.categories.Sounds, 'lib-resource:hterm/audio/bell',\n 'url',\n 'URL of the terminal bell sound. Empty string for no audible bell.'],\n\n 'desktop-notification-bell':\n [hterm.PreferenceManager.categories.Sounds, false, 'bool',\n 'If true, terminal bells in the background will create a Web ' +\n 'Notification. https://www.w3.org/TR/notifications/\\n' +\n '\\n'+\n 'Displaying notifications requires permission from the user. When this ' +\n 'option is set to true, hterm will attempt to ask the user for permission ' +\n 'if necessary. Note browsers may not show this permission request if it ' +\n 'did not originate from a user action.\\n' +\n '\\n' +\n 'Chrome extensions with the \"notifications\" permission have permission to ' +\n 'display notifications.'],\n\n 'background-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgb(16, 16, 16)', 'color',\n 'The background color for text with no other color attributes.'],\n\n 'background-image':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image. Empty string for no image.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' url(https://goo.gl/anedTK)\\n' +\n ' linear-gradient(top bottom, blue, red)'],\n\n 'background-size':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image size. Defaults to none.'],\n\n 'background-position':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image position.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' 10% 10%\\n' +\n ' center'],\n\n 'backspace-sends-backspace':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, the backspace should send BS (\\'\\\\x08\\', aka ^H). Otherwise ' +\n 'the backspace key should send \\'\\\\x7f\\'.'],\n\n 'character-map-overrides':\n [hterm.PreferenceManager.categories.Appearance, null, 'value',\n 'This is specified as an object. It is a sparse array, where each ' +\n 'property is the character set code and the value is an object that is ' +\n 'a sparse array itself. In that sparse array, each property is the ' +\n 'received character and the value is the displayed character.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' {\"0\":{\"+\":\"\\\\u2192\",\",\":\"\\\\u2190\",\"-\":\"\\\\u2191\",\".\":\"\\\\u2193\", ' +\n '\"0\":\"\\\\u2588\"}}'\n ],\n\n 'close-on-exit':\n [hterm.PreferenceManager.categories.Miscellaneous, true, 'bool',\n 'Whether or not to close the window when the command exits.'],\n\n 'cursor-blink':\n [hterm.PreferenceManager.categories.Appearance, false, 'bool',\n 'Whether or not to blink the cursor by default.'],\n\n 'cursor-blink-cycle':\n [hterm.PreferenceManager.categories.Appearance, [1000, 500], 'value',\n 'The cursor blink rate in milliseconds.\\n' +\n '\\n' +\n 'A two element array, the first of which is how long the cursor should be ' +\n 'on, second is how long it should be off.'],\n\n 'cursor-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgba(255, 0, 0, 0.5)',\n 'color',\n 'The color of the visible cursor.'],\n\n 'color-palette-overrides':\n [hterm.PreferenceManager.categories.Appearance, null, 'value',\n 'Override colors in the default palette.\\n' +\n '\\n' +\n 'This can be specified as an array or an object. If specified as an ' +\n 'object it is assumed to be a sparse array, where each property ' +\n 'is a numeric index into the color palette.\\n' +\n '\\n' +\n 'Values can be specified as almost any css color value. This ' +\n 'includes #RGB, #RRGGBB, rgb(...), rgba(...), and any color names ' +\n 'that are also part of the stock X11 rgb.txt file.\\n' +\n '\\n' +\n 'You can use \\'null\\' to specify that the default value should be not ' +\n 'be changed. This is useful for skipping a small number of indices ' +\n 'when the value is specified as an array.'],\n\n 'copy-on-select':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Automatically copy mouse selection to the clipboard.'],\n\n 'use-default-window-copy':\n [hterm.PreferenceManager.categories.CopyPaste, false, 'bool',\n 'Whether to use the default window copy behavior'],\n\n 'clear-selection-after-copy':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Whether to clear the selection after copying.'],\n\n 'ctrl-plus-minus-zero-zoom':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'If true, Ctrl-Plus/Minus/Zero controls zoom.\\n' +\n 'If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_, ' +\n 'Ctrl-Plus/Zero do nothing.'],\n\n 'ctrl-c-copy':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Ctrl+C copies if true, send ^C to host if false.\\n' +\n 'Ctrl+Shift+C sends ^C to host if true, copies if false.'],\n\n 'ctrl-v-paste':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Ctrl+V pastes if true, send ^V to host if false.\\n' +\n 'Ctrl+Shift+V sends ^V to host if true, pastes if false.'],\n\n 'east-asian-ambiguous-as-two-column':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Set whether East Asian Ambiguous characters have two column width.'],\n\n 'enable-8-bit-control':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'True to enable 8-bit control characters, false to ignore them.\\n' +\n '\\n' +\n 'We\\'ll respect the two-byte versions of these control characters ' +\n 'regardless of this setting.'],\n\n 'enable-bold':\n [hterm.PreferenceManager.categories.Appearance, null, 'tristate',\n 'True if we should use bold weight font for text with the bold/bright ' +\n 'attribute. False to use the normal weight font. Null to autodetect.'],\n\n 'enable-bold-as-bright':\n [hterm.PreferenceManager.categories.Appearance, true, 'bool',\n 'True if we should use bright colors (8-15 on a 16 color palette) ' +\n 'for any text with the bold attribute. False otherwise.'],\n\n 'enable-blink':\n [hterm.PreferenceManager.categories.Appearance, true, 'bool',\n 'True if we should respect the blink attribute. False to ignore it. '],\n\n 'enable-clipboard-notice':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Show a message in the terminal when the host writes to the clipboard.'],\n\n 'enable-clipboard-write':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Allow the host to write directly to the system clipboard.'],\n\n 'enable-dec12':\n [hterm.PreferenceManager.categories.Miscellaneous, false, 'bool',\n 'Respect the host\\'s attempt to change the cursor blink status using ' +\n 'DEC Private Mode 12.'],\n\n 'environment':\n [hterm.PreferenceManager.categories.Miscellaneous, {'TERM': 'xterm-256color'},\n 'value',\n 'The default environment variables, as an object.'],\n\n 'font-family':\n [hterm.PreferenceManager.categories.Appearance,\n '\"DejaVu Sans Mono\", \"Everson Mono\", FreeMono, \"Menlo\", \"Terminal\", ' +\n 'monospace', 'string',\n 'Default font family for the terminal text.'],\n\n 'font-size':\n [hterm.PreferenceManager.categories.Appearance, 15, 'int',\n 'The default font size in pixels.'],\n\n 'font-smoothing':\n [hterm.PreferenceManager.categories.Appearance, 'antialiased', 'string',\n 'CSS font-smoothing property.'],\n\n 'foreground-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgb(240, 240, 240)', 'color',\n 'The foreground color for text with no other color attributes.'],\n\n 'home-keys-scroll':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, home/end will control the terminal scrollbar and shift home/end ' +\n 'will send the VT keycodes. If false then home/end sends VT codes and ' +\n 'shift home/end scrolls.'],\n\n 'keybindings':\n [hterm.PreferenceManager.categories.Keyboard, null, 'value',\n 'A map of key sequence to key actions. Key sequences include zero or ' +\n 'more modifier keys followed by a key code. Key codes can be decimal or ' +\n 'hexadecimal numbers, or a key identifier. Key actions can be specified ' +\n 'a string to send to the host, or an action identifier. For a full ' +\n 'explanation of the format, see https://goo.gl/LWRndr.\\n' +\n '\\n' +\n 'Sample keybindings:\\n' +\n '{\\n' +\n ' \"Ctrl-Alt-K\": \"clearScrollback\",\\n' +\n ' \"Ctrl-Shift-L\": \"PASS\",\\n' +\n ' \"Ctrl-H\": \"\\'HELLO\\\\n\\'\"\\n' +\n '}'],\n\n 'max-string-sequence':\n [hterm.PreferenceManager.categories.Encoding, 100000, 'int',\n 'Max length of a DCS, OSC, PM, or APS sequence before we give up and ' +\n 'ignore the code.'],\n\n 'media-keys-are-fkeys':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, convert media keys to their Fkey equivalent. If false, let ' +\n 'the browser handle the keys.'],\n\n 'meta-sends-escape':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Set whether the meta key sends a leading escape or not.'],\n\n 'mouse-right-click-paste':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Paste on right mouse button clicks.\\n' +\n '\\n' +\n 'This option is activate independent of the \"mouse-paste-button\" ' +\n 'setting.\\n' +\n '\\n' +\n 'Note: This will handle left & right handed mice correctly.'],\n\n 'mouse-paste-button':\n [hterm.PreferenceManager.categories.CopyPaste, null,\n [null, 0, 1, 2, 3, 4, 5, 6],\n 'Mouse paste button, or null to autodetect.\\n' +\n '\\n' +\n 'For autodetect, we\\'ll use the middle mouse button for non-X11 ' +\n 'platforms (including Chrome OS). On X11, we\\'ll use the right mouse ' +\n 'button (since the native window manager should paste via the middle ' +\n 'mouse button).\\n' +\n '\\n' +\n '0 == left (primary) button.\\n' +\n '1 == middle (auxiliary) button.\\n' +\n '2 == right (secondary) button.\\n' +\n '\\n' +\n 'This option is activate independent of the \"mouse-right-click-paste\" ' +\n 'setting.\\n' +\n '\\n' +\n 'Note: This will handle left & right handed mice correctly.'],\n\n 'word-break-match-left':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^!@#$%&*,;:`]', 'string',\n 'Regular expression to halt matching to the left (start) of a selection.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.\\n' +\n 'We allow \"~\" and \".\" by default as paths frequently start with those.'],\n\n 'word-break-match-right':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^!@#$%&*,;:~.`]', 'string',\n 'Regular expression to halt matching to the right (end) of a selection.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.'],\n\n 'word-break-match-middle':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^]*', 'string',\n 'Regular expression to match all the characters in the middle.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.\\n' +\n '\\n' +\n 'Used to expand the selection surrounding the starting point.'],\n\n 'page-keys-scroll':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, page up/down will control the terminal scrollbar and shift ' +\n 'page up/down will send the VT keycodes. If false then page up/down ' +\n 'sends VT codes and shift page up/down scrolls.'],\n\n 'pass-alt-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Alt-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Alt-1..9 will be handled by the browser. If false, Alt-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-ctrl-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Ctrl-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Ctrl-1..9 will be handled by the browser. If false, Ctrl-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-meta-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Meta-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Meta-1..9 will be handled by the browser. If false, Meta-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-meta-v':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Set whether meta-V gets passed to host.'],\n\n 'receive-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'],\n 'Set the expected encoding for data received from the host.\\n' +\n '\\n' +\n 'Valid values are \\'utf-8\\' and \\'raw\\'.'],\n\n 'scroll-on-keystroke':\n [hterm.PreferenceManager.categories.Scrolling, true, 'bool',\n 'If true, scroll to the bottom on any keystroke.'],\n\n 'scroll-on-output':\n [hterm.PreferenceManager.categories.Scrolling, false, 'bool',\n 'If true, scroll to the bottom on terminal output.'],\n\n 'scrollbar-visible':\n [hterm.PreferenceManager.categories.Scrolling, true, 'bool',\n 'The vertical scrollbar mode.'],\n\n 'scroll-wheel-may-send-arrow-keys':\n [hterm.PreferenceManager.categories.Scrolling, false, 'bool',\n 'When using the alternative screen buffer, and DECCKM (Application Cursor ' +\n 'Keys) is active, mouse wheel scroll events will emulate arrow keys.\\n' +\n '\\n' +\n 'It can be temporarily disabled by holding the shift key.\\n' +\n '\\n' +\n 'This frequently comes up when using pagers (less) or reading man pages ' +\n 'or text editors (vi/nano) or using screen/tmux.'],\n\n 'scroll-wheel-move-multiplier':\n [hterm.PreferenceManager.categories.Scrolling, 1, 'int',\n 'The multiplier for the pixel delta in wheel events caused by the ' +\n 'scroll wheel. Alters how fast the page scrolls.'],\n\n 'send-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'],\n 'Set the encoding for data sent to host.'],\n\n 'terminal-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'iso-2022',\n ['iso-2022', 'utf-8', 'utf-8-locked'],\n 'The default terminal encoding (DOCS).\\n' +\n '\\n' +\n 'ISO-2022 enables character map translations (like graphics maps).\\n' +\n 'UTF-8 disables support for those.\\n' +\n '\\n' +\n 'The locked variant means the encoding cannot be changed at runtime ' +\n 'via terminal escape sequences.\\n' +\n '\\n' +\n 'You should stick with UTF-8 unless you notice broken rendering with ' +\n 'legacy applications.'],\n\n 'shift-insert-paste':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Shift + Insert pastes if true, sent to host if false.'],\n\n 'user-css':\n [hterm.PreferenceManager.categories.Appearance, '', 'url',\n 'URL of user stylesheet to include in the terminal document.'],\n\n 'user-css-text':\n [hterm.PreferenceManager.categories.Appearance, '', 'multiline-string',\n 'Custom CSS text for styling the terminal.'],\n};\n\nhterm.PreferenceManager.prototype =\n Object.create(lib.PreferenceManager.prototype);\nhterm.PreferenceManager.constructor = hterm.PreferenceManager;\n// SOURCE FILE: hterm/js/hterm_pubsub.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Utility class used to add publish/subscribe/unsubscribe functionality to\n * an existing object.\n */\nhterm.PubSub = function() {\n this.observers_ = {};\n};\n\n/**\n * Add publish, subscribe, and unsubscribe methods to an existing object.\n *\n * No other properties of the object are touched, so there is no need to\n * worry about clashing private properties.\n *\n * @param {Object} obj The object to add this behavior to.\n */\nhterm.PubSub.addBehavior = function(obj) {\n var pubsub = new hterm.PubSub();\n for (var m in hterm.PubSub.prototype) {\n obj[m] = hterm.PubSub.prototype[m].bind(pubsub);\n }\n};\n\n/**\n * Subscribe to be notified of messages about a subject.\n *\n * @param {string} subject The subject to subscribe to.\n * @param {function(Object)} callback The function to invoke for notifications.\n */\nhterm.PubSub.prototype.subscribe = function(subject, callback) {\n if (!(subject in this.observers_))\n this.observers_[subject] = [];\n\n this.observers_[subject].push(callback);\n};\n\n/**\n * Unsubscribe from a subject.\n *\n * @param {string} subject The subject to unsubscribe from.\n * @param {function(Object)} callback A callback previously registered via\n * subscribe().\n */\nhterm.PubSub.prototype.unsubscribe = function(subject, callback) {\n var list = this.observers_[subject];\n if (!list)\n throw 'Invalid subject: ' + subject;\n\n var i = list.indexOf(callback);\n if (i < 0)\n throw 'Not subscribed: ' + subject;\n\n list.splice(i, 1);\n};\n\n/**\n * Publish a message about a subject.\n *\n * Subscribers (and the optional final callback) are invoked asynchronously.\n * This method will return before anyone is actually notified.\n *\n * @param {string} subject The subject to publish about.\n * @param {Object} e An arbitrary object associated with this notification.\n * @param {function(Object)} opt_lastCallback An optional function to call after\n * all subscribers have been notified.\n */\nhterm.PubSub.prototype.publish = function(subject, e, opt_lastCallback) {\n function notifyList(i) {\n // Set this timeout before invoking the callback, so we don't have to\n // concern ourselves with exceptions.\n if (i < list.length - 1)\n setTimeout(notifyList, 0, i + 1);\n\n list[i](e);\n }\n\n var list = this.observers_[subject];\n if (list) {\n // Copy the list, in case it changes while we're notifying.\n list = [].concat(list);\n }\n\n if (opt_lastCallback) {\n if (list) {\n list.push(opt_lastCallback);\n } else {\n list = [opt_lastCallback];\n }\n }\n\n if (list)\n setTimeout(notifyList, 0, 0);\n};\n// SOURCE FILE: hterm/js/hterm_screen.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'lib.wc',\n 'hterm.RowCol', 'hterm.Size', 'hterm.TextAttributes');\n\n/**\n * @fileoverview This class represents a single terminal screen full of text.\n *\n * It maintains the current cursor position and has basic methods for text\n * insert and overwrite, and adding or removing rows from the screen.\n *\n * This class has no knowledge of the scrollback buffer.\n *\n * The number of rows on the screen is determined only by the number of rows\n * that the caller inserts into the screen. If a caller wants to ensure a\n * constant number of rows on the screen, it's their responsibility to remove a\n * row for each row inserted.\n *\n * The screen width, in contrast, is enforced locally.\n *\n *\n * In practice...\n * - The hterm.Terminal class holds two hterm.Screen instances. One for the\n * primary screen and one for the alternate screen.\n *\n * - The html.Screen class only cares that rows are HTMLElements. In the\n * larger context of hterm, however, the rows happen to be displayed by an\n * hterm.ScrollPort and have to follow a few rules as a result. Each\n * row must be rooted by the custom HTML tag 'x-row', and each must have a\n * rowIndex property that corresponds to the index of the row in the context\n * of the scrollback buffer. These invariants are enforced by hterm.Terminal\n * because that is the class using the hterm.Screen in the context of an\n * hterm.ScrollPort.\n */\n\n/**\n * Create a new screen instance.\n *\n * The screen initially has no rows and a maximum column count of 0.\n *\n * @param {integer} opt_columnCount The maximum number of columns for this\n * screen. See insertString() and overwriteString() for information about\n * what happens when too many characters are added too a row. Defaults to\n * 0 if not provided.\n */\nhterm.Screen = function(opt_columnCount) {\n /**\n * Public, read-only access to the rows in this screen.\n */\n this.rowsArray = [];\n\n // The max column width for this screen.\n this.columnCount_ = opt_columnCount || 80;\n\n // The current color, bold, underline and blink attributes.\n this.textAttributes = new hterm.TextAttributes(window.document);\n\n // Current zero-based cursor coordinates.\n this.cursorPosition = new hterm.RowCol(0, 0);\n\n // The node containing the row that the cursor is positioned on.\n this.cursorRowNode_ = null;\n\n // The node containing the span of text that the cursor is positioned on.\n this.cursorNode_ = null;\n\n // The offset in column width into cursorNode_ where the cursor is positioned.\n this.cursorOffset_ = null;\n\n // Regexes for expanding word selections.\n this.wordBreakMatchLeft = null;\n this.wordBreakMatchRight = null;\n this.wordBreakMatchMiddle = null;\n};\n\n/**\n * Return the screen size as an hterm.Size object.\n *\n * @return {hterm.Size} hterm.Size object representing the current number\n * of rows and columns in this screen.\n */\nhterm.Screen.prototype.getSize = function() {\n return new hterm.Size(this.columnCount_, this.rowsArray.length);\n};\n\n/**\n * Return the current number of rows in this screen.\n *\n * @return {integer} The number of rows in this screen.\n */\nhterm.Screen.prototype.getHeight = function() {\n return this.rowsArray.length;\n};\n\n/**\n * Return the current number of columns in this screen.\n *\n * @return {integer} The number of columns in this screen.\n */\nhterm.Screen.prototype.getWidth = function() {\n return this.columnCount_;\n};\n\n/**\n * Set the maximum number of columns per row.\n *\n * @param {integer} count The maximum number of columns per row.\n */\nhterm.Screen.prototype.setColumnCount = function(count) {\n this.columnCount_ = count;\n\n if (this.cursorPosition.column >= count)\n this.setCursorPosition(this.cursorPosition.row, count - 1);\n};\n\n/**\n * Remove the first row from the screen and return it.\n *\n * @return {HTMLElement} The first row in this screen.\n */\nhterm.Screen.prototype.shiftRow = function() {\n return this.shiftRows(1)[0];\n};\n\n/**\n * Remove rows from the top of the screen and return them as an array.\n *\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.shiftRows = function(count) {\n return this.rowsArray.splice(0, count);\n};\n\n/**\n * Insert a row at the top of the screen.\n *\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.unshiftRow = function(row) {\n this.rowsArray.splice(0, 0, row);\n};\n\n/**\n * Insert rows at the top of the screen.\n *\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.unshiftRows = function(rows) {\n this.rowsArray.unshift.apply(this.rowsArray, rows);\n};\n\n/**\n * Remove the last row from the screen and return it.\n *\n * @return {HTMLElement} The last row in this screen.\n */\nhterm.Screen.prototype.popRow = function() {\n return this.popRows(1)[0];\n};\n\n/**\n * Remove rows from the bottom of the screen and return them as an array.\n *\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.popRows = function(count) {\n return this.rowsArray.splice(this.rowsArray.length - count, count);\n};\n\n/**\n * Insert a row at the bottom of the screen.\n *\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.pushRow = function(row) {\n this.rowsArray.push(row);\n};\n\n/**\n * Insert rows at the bottom of the screen.\n *\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.pushRows = function(rows) {\n rows.push.apply(this.rowsArray, rows);\n};\n\n/**\n * Insert a row at the specified row of the screen.\n *\n * @param {integer} index The index to insert the row.\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.insertRow = function(index, row) {\n this.rowsArray.splice(index, 0, row);\n};\n\n/**\n * Insert rows at the specified row of the screen.\n *\n * @param {integer} index The index to insert the rows.\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.insertRows = function(index, rows) {\n for (var i = 0; i < rows.length; i++) {\n this.rowsArray.splice(index + i, 0, rows[i]);\n }\n};\n\n/**\n * Remove a row from the screen and return it.\n *\n * @param {integer} index The index of the row to remove.\n * @return {HTMLElement} The selected row.\n */\nhterm.Screen.prototype.removeRow = function(index) {\n return this.rowsArray.splice(index, 1)[0];\n};\n\n/**\n * Remove rows from the bottom of the screen and return them as an array.\n *\n * @param {integer} index The index to start removing rows.\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.removeRows = function(index, count) {\n return this.rowsArray.splice(index, count);\n};\n\n/**\n * Invalidate the current cursor position.\n *\n * This sets this.cursorPosition to (0, 0) and clears out some internal\n * data.\n *\n * Attempting to insert or overwrite text while the cursor position is invalid\n * will raise an obscure exception.\n */\nhterm.Screen.prototype.invalidateCursorPosition = function() {\n this.cursorPosition.move(0, 0);\n this.cursorRowNode_ = null;\n this.cursorNode_ = null;\n this.cursorOffset_ = null;\n};\n\n/**\n * Clear the contents of the cursor row.\n */\nhterm.Screen.prototype.clearCursorRow = function() {\n this.cursorRowNode_.innerHTML = '';\n this.cursorRowNode_.removeAttribute('line-overflow');\n this.cursorOffset_ = 0;\n this.cursorPosition.column = 0;\n this.cursorPosition.overflow = false;\n\n var text;\n if (this.textAttributes.isDefault()) {\n text = '';\n } else {\n text = lib.f.getWhitespace(this.columnCount_);\n }\n\n // We shouldn't honor inverse colors when clearing an area, to match\n // xterm's back color erase behavior.\n var inverse = this.textAttributes.inverse;\n this.textAttributes.inverse = false;\n this.textAttributes.syncColors();\n\n var node = this.textAttributes.createContainer(text);\n this.cursorRowNode_.appendChild(node);\n this.cursorNode_ = node;\n\n this.textAttributes.inverse = inverse;\n this.textAttributes.syncColors();\n};\n\n/**\n * Mark the current row as having overflowed to the next line.\n *\n * The line overflow state is used when converting a range of rows into text.\n * It makes it possible to recombine two or more overflow terminal rows into\n * a single line.\n *\n * This is distinct from the cursor being in the overflow state. Cursor\n * overflow indicates that printing at the cursor position will commit a\n * line overflow, unless it is preceded by a repositioning of the cursor\n * to a non-overflow state.\n */\nhterm.Screen.prototype.commitLineOverflow = function() {\n this.cursorRowNode_.setAttribute('line-overflow', true);\n};\n\n/**\n * Relocate the cursor to a give row and column.\n *\n * @param {integer} row The zero based row.\n * @param {integer} column The zero based column.\n */\nhterm.Screen.prototype.setCursorPosition = function(row, column) {\n if (!this.rowsArray.length) {\n console.warn('Attempt to set cursor position on empty screen.');\n return;\n }\n\n if (row >= this.rowsArray.length) {\n console.error('Row out of bounds: ' + row);\n row = this.rowsArray.length - 1;\n } else if (row < 0) {\n console.error('Row out of bounds: ' + row);\n row = 0;\n }\n\n if (column >= this.columnCount_) {\n console.error('Column out of bounds: ' + column);\n column = this.columnCount_ - 1;\n } else if (column < 0) {\n console.error('Column out of bounds: ' + column);\n column = 0;\n }\n\n this.cursorPosition.overflow = false;\n\n var rowNode = this.rowsArray[row];\n var node = rowNode.firstChild;\n\n if (!node) {\n node = rowNode.ownerDocument.createTextNode('');\n rowNode.appendChild(node);\n }\n\n var currentColumn = 0;\n\n if (rowNode == this.cursorRowNode_) {\n if (column >= this.cursorPosition.column - this.cursorOffset_) {\n node = this.cursorNode_;\n currentColumn = this.cursorPosition.column - this.cursorOffset_;\n }\n } else {\n this.cursorRowNode_ = rowNode;\n }\n\n this.cursorPosition.move(row, column);\n\n while (node) {\n var offset = column - currentColumn;\n var width = hterm.TextAttributes.nodeWidth(node);\n if (!node.nextSibling || width > offset) {\n this.cursorNode_ = node;\n this.cursorOffset_ = offset;\n return;\n }\n\n currentColumn += width;\n node = node.nextSibling;\n }\n};\n\n/**\n * Set the provided selection object to be a caret selection at the current\n * cursor position.\n */\nhterm.Screen.prototype.syncSelectionCaret = function(selection) {\n try {\n selection.collapse(this.cursorNode_, this.cursorOffset_);\n } catch (firefoxIgnoredException) {\n // FF can throw an exception if the range is off, rather than just not\n // performing the collapse.\n }\n};\n\n/**\n * Split a single node into two nodes at the given offset.\n *\n * For example:\n * Given the DOM fragment '
Hello World
', call splitNode_\n * passing the span and an offset of 6. This would modify the fragment to\n * become: '
Hello World
'. If the span\n * had any attributes they would have been copied to the new span as well.\n *\n * The to-be-split node must have a container, so that the new node can be\n * placed next to it.\n *\n * @param {HTMLNode} node The node to split.\n * @param {integer} offset The offset into the node where the split should\n * occur.\n */\nhterm.Screen.prototype.splitNode_ = function(node, offset) {\n var afterNode = node.cloneNode(false);\n\n var textContent = node.textContent;\n node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset);\n afterNode.textContent = lib.wc.substr(textContent, offset);\n\n if (afterNode.textContent)\n node.parentNode.insertBefore(afterNode, node.nextSibling);\n if (!node.textContent)\n node.parentNode.removeChild(node);\n};\n\n/**\n * Ensure that text is clipped and the cursor is clamped to the column count.\n */\nhterm.Screen.prototype.maybeClipCurrentRow = function() {\n var width = hterm.TextAttributes.nodeWidth(this.cursorRowNode_);\n\n if (width <= this.columnCount_) {\n // Current row does not need clipping, but may need clamping.\n if (this.cursorPosition.column >= this.columnCount_) {\n this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1);\n this.cursorPosition.overflow = true;\n }\n\n return;\n }\n\n // Save off the current column so we can maybe restore it later.\n var currentColumn = this.cursorPosition.column;\n\n // Move the cursor to the final column.\n this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1);\n\n // Remove any text that partially overflows.\n width = hterm.TextAttributes.nodeWidth(this.cursorNode_);\n\n if (this.cursorOffset_ < width - 1) {\n this.cursorNode_.textContent = hterm.TextAttributes.nodeSubstr(\n this.cursorNode_, 0, this.cursorOffset_ + 1);\n }\n\n // Remove all nodes after the cursor.\n var rowNode = this.cursorRowNode_;\n var node = this.cursorNode_.nextSibling;\n\n while (node) {\n rowNode.removeChild(node);\n node = this.cursorNode_.nextSibling;\n }\n\n if (currentColumn < this.columnCount_) {\n // If the cursor was within the screen before we started then restore its\n // position.\n this.setCursorPosition(this.cursorPosition.row, currentColumn);\n } else {\n // Otherwise leave it at the the last column in the overflow state.\n this.cursorPosition.overflow = true;\n }\n};\n\n/**\n * Insert a string at the current character position using the current\n * text attributes.\n *\n * You must call maybeClipCurrentRow() after in order to clip overflowed\n * text and clamp the cursor.\n *\n * It is also up to the caller to properly maintain the line overflow state\n * using hterm.Screen..commitLineOverflow().\n */\nhterm.Screen.prototype.insertString = function(str) {\n var cursorNode = this.cursorNode_;\n var cursorNodeText = cursorNode.textContent;\n\n this.cursorRowNode_.removeAttribute('line-overflow');\n\n // We may alter the width of the string by prepending some missing\n // whitespaces, so we need to record the string width ahead of time.\n var strWidth = lib.wc.strWidth(str);\n\n // No matter what, before this function exits the cursor column will have\n // moved this much.\n this.cursorPosition.column += strWidth;\n\n // Local cache of the cursor offset.\n var offset = this.cursorOffset_;\n\n // Reverse offset is the offset measured from the end of the string.\n // Zero implies that the cursor is at the end of the cursor node.\n var reverseOffset = hterm.TextAttributes.nodeWidth(cursorNode) - offset;\n\n if (reverseOffset < 0) {\n // A negative reverse offset means the cursor is positioned past the end\n // of the characters on this line. We'll need to insert the missing\n // whitespace.\n var ws = lib.f.getWhitespace(-reverseOffset);\n\n // This whitespace should be completely unstyled. Underline, background\n // color, and strikethrough would be visible on whitespace, so we can't use\n // one of those spans to hold the text.\n if (!(this.textAttributes.underline ||\n this.textAttributes.strikethrough ||\n this.textAttributes.background ||\n this.textAttributes.wcNode ||\n !this.textAttributes.asciiNode ||\n this.textAttributes.tileData != null)) {\n // Best case scenario, we can just pretend the spaces were part of the\n // original string.\n str = ws + str;\n } else if (cursorNode.nodeType == 3 ||\n !(cursorNode.wcNode ||\n !cursorNode.asciiNode ||\n cursorNode.tileNode ||\n cursorNode.style.textDecoration ||\n cursorNode.style.backgroundColor)) {\n // Second best case, the current node is able to hold the whitespace.\n cursorNode.textContent = (cursorNodeText += ws);\n } else {\n // Worst case, we have to create a new node to hold the whitespace.\n var wsNode = cursorNode.ownerDocument.createTextNode(ws);\n this.cursorRowNode_.insertBefore(wsNode, cursorNode.nextSibling);\n this.cursorNode_ = cursorNode = wsNode;\n this.cursorOffset_ = offset = -reverseOffset;\n cursorNodeText = ws;\n }\n\n // We now know for sure that we're at the last character of the cursor node.\n reverseOffset = 0;\n }\n\n if (this.textAttributes.matchesContainer(cursorNode)) {\n // The new text can be placed directly in the cursor node.\n if (reverseOffset == 0) {\n cursorNode.textContent = cursorNodeText + str;\n } else if (offset == 0) {\n cursorNode.textContent = str + cursorNodeText;\n } else {\n cursorNode.textContent =\n hterm.TextAttributes.nodeSubstr(cursorNode, 0, offset) +\n str + hterm.TextAttributes.nodeSubstr(cursorNode, offset);\n }\n\n this.cursorOffset_ += strWidth;\n return;\n }\n\n // The cursor node is the wrong style for the new text. If we're at the\n // beginning or end of the cursor node, then the adjacent node is also a\n // potential candidate.\n\n if (offset == 0) {\n // At the beginning of the cursor node, the check the previous sibling.\n var previousSibling = cursorNode.previousSibling;\n if (previousSibling &&\n this.textAttributes.matchesContainer(previousSibling)) {\n previousSibling.textContent += str;\n this.cursorNode_ = previousSibling;\n this.cursorOffset_ = lib.wc.strWidth(previousSibling.textContent);\n return;\n }\n\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, cursorNode);\n this.cursorNode_ = newNode;\n this.cursorOffset_ = strWidth;\n return;\n }\n\n if (reverseOffset == 0) {\n // At the end of the cursor node, the check the next sibling.\n var nextSibling = cursorNode.nextSibling;\n if (nextSibling &&\n this.textAttributes.matchesContainer(nextSibling)) {\n nextSibling.textContent = str + nextSibling.textContent;\n this.cursorNode_ = nextSibling;\n this.cursorOffset_ = lib.wc.strWidth(str);\n return;\n }\n\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, nextSibling);\n this.cursorNode_ = newNode;\n // We specifically need to include any missing whitespace here, since it's\n // going in a new node.\n this.cursorOffset_ = hterm.TextAttributes.nodeWidth(newNode);\n return;\n }\n\n // Worst case, we're somewhere in the middle of the cursor node. We'll\n // have to split it into two nodes and insert our new container in between.\n this.splitNode_(cursorNode, offset);\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, cursorNode.nextSibling);\n this.cursorNode_ = newNode;\n this.cursorOffset_ = strWidth;\n};\n\n/**\n * Overwrite the text at the current cursor position.\n *\n * You must call maybeClipCurrentRow() after in order to clip overflowed\n * text and clamp the cursor.\n *\n * It is also up to the caller to properly maintain the line overflow state\n * using hterm.Screen..commitLineOverflow().\n */\nhterm.Screen.prototype.overwriteString = function(str) {\n var maxLength = this.columnCount_ - this.cursorPosition.column;\n if (!maxLength)\n return [str];\n\n var width = lib.wc.strWidth(str);\n if (this.textAttributes.matchesContainer(this.cursorNode_) &&\n this.cursorNode_.textContent.substr(this.cursorOffset_) == str) {\n // This overwrite would be a no-op, just move the cursor and return.\n this.cursorOffset_ += width;\n this.cursorPosition.column += width;\n return;\n }\n\n this.deleteChars(Math.min(width, maxLength));\n this.insertString(str);\n};\n\n/**\n * Forward-delete one or more characters at the current cursor position.\n *\n * Text to the right of the deleted characters is shifted left. Only affects\n * characters on the same row as the cursor.\n *\n * @param {integer} count The column width of characters to delete. This is\n * clamped to the column width minus the cursor column.\n * @return {integer} The column width of the characters actually deleted.\n */\nhterm.Screen.prototype.deleteChars = function(count) {\n var node = this.cursorNode_;\n var offset = this.cursorOffset_;\n\n var currentCursorColumn = this.cursorPosition.column;\n count = Math.min(count, this.columnCount_ - currentCursorColumn);\n if (!count)\n return 0;\n\n var rv = count;\n var startLength, endLength;\n\n while (node && count) {\n startLength = hterm.TextAttributes.nodeWidth(node);\n node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset) +\n hterm.TextAttributes.nodeSubstr(node, offset + count);\n endLength = hterm.TextAttributes.nodeWidth(node);\n count -= startLength - endLength;\n if (offset < startLength && endLength && startLength == endLength) {\n // No characters were deleted when there should be. We're probably trying\n // to delete one column width from a wide character node. We remove the\n // wide character node here and replace it with a single space.\n var spaceNode = this.textAttributes.createContainer(' ');\n node.parentNode.insertBefore(spaceNode, node.nextSibling);\n node.textContent = '';\n endLength = 0;\n count -= 1;\n }\n\n var nextNode = node.nextSibling;\n if (endLength == 0 && node != this.cursorNode_) {\n node.parentNode.removeChild(node);\n }\n node = nextNode;\n offset = 0;\n }\n\n // Remove this.cursorNode_ if it is an empty non-text node.\n if (this.cursorNode_.nodeType != 3 && !this.cursorNode_.textContent) {\n var cursorNode = this.cursorNode_;\n if (cursorNode.previousSibling) {\n this.cursorNode_ = cursorNode.previousSibling;\n this.cursorOffset_ = hterm.TextAttributes.nodeWidth(\n cursorNode.previousSibling);\n } else if (cursorNode.nextSibling) {\n this.cursorNode_ = cursorNode.nextSibling;\n this.cursorOffset_ = 0;\n } else {\n var emptyNode = this.cursorRowNode_.ownerDocument.createTextNode('');\n this.cursorRowNode_.appendChild(emptyNode);\n this.cursorNode_ = emptyNode;\n this.cursorOffset_ = 0;\n }\n this.cursorRowNode_.removeChild(cursorNode);\n }\n\n return rv;\n};\n\n/**\n * Finds first X-ROW of a line containing specified X-ROW.\n * Used to support line overflow.\n *\n * @param {Node} row X-ROW to begin search for first row of line.\n * @return {Node} The X-ROW that is at the beginning of the line.\n **/\nhterm.Screen.prototype.getLineStartRow_ = function(row) {\n while (row.previousSibling &&\n row.previousSibling.hasAttribute('line-overflow')) {\n row = row.previousSibling;\n }\n return row;\n};\n\n/**\n * Gets text of a line beginning with row.\n * Supports line overflow.\n *\n * @param {Node} row First X-ROW of line.\n * @return {string} Text content of line.\n **/\nhterm.Screen.prototype.getLineText_ = function(row) {\n var rowText = \"\";\n while (row) {\n rowText += row.textContent;\n if (row.hasAttribute('line-overflow')) {\n row = row.nextSibling;\n } else {\n break;\n }\n }\n return rowText;\n};\n\n/**\n * Returns X-ROW that is ancestor of the node.\n *\n * @param {Node} node Node to get X-ROW ancestor for.\n * @return {Node} X-ROW ancestor of node, or null if not found.\n **/\nhterm.Screen.prototype.getXRowAncestor_ = function(node) {\n while (node) {\n if (node.nodeName === 'X-ROW')\n break;\n node = node.parentNode;\n }\n return node;\n};\n\n/**\n * Returns position within line of character at offset within node.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {Node} node Node to get position of.\n * @param {integer} offset Offset into node.\n *\n * @return {integer} Position within line of character at offset within node.\n **/\nhterm.Screen.prototype.getPositionWithOverflow_ = function(row, node, offset) {\n if (!node)\n return -1;\n var ancestorRow = this.getXRowAncestor_(node);\n if (!ancestorRow)\n return -1;\n var position = 0;\n while (ancestorRow != row) {\n position += hterm.TextAttributes.nodeWidth(row);\n if (row.hasAttribute('line-overflow') && row.nextSibling) {\n row = row.nextSibling;\n } else {\n return -1;\n }\n }\n return position + this.getPositionWithinRow_(row, node, offset);\n};\n\n/**\n * Returns position within row of character at offset within node.\n * Does not support line overflow.\n *\n * @param {Node} row X-ROW to get position within.\n * @param {Node} node Node to get position for.\n * @param {integer} offset Offset within node to get position for.\n * @return {integer} Position within row of character at offset within node.\n **/\nhterm.Screen.prototype.getPositionWithinRow_ = function(row, node, offset) {\n if (node.parentNode != row) {\n // If we traversed to the top node, then there's nothing to find here.\n if (node.parentNode == null)\n return -1;\n\n return this.getPositionWithinRow_(node.parentNode, node, offset) +\n this.getPositionWithinRow_(row, node.parentNode, 0);\n }\n var position = 0;\n for (var i = 0; i < row.childNodes.length; i++) {\n var currentNode = row.childNodes[i];\n if (currentNode == node)\n return position + offset;\n position += hterm.TextAttributes.nodeWidth(currentNode);\n }\n return -1;\n};\n\n/**\n * Returns the node and offset corresponding to position within line.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {integer} position Position within line to retrieve node and offset.\n * @return {Array} Two element array containing node and offset respectively.\n **/\nhterm.Screen.prototype.getNodeAndOffsetWithOverflow_ = function(row, position) {\n while (row && position > hterm.TextAttributes.nodeWidth(row)) {\n if (row.hasAttribute('line-overflow') && row.nextSibling) {\n position -= hterm.TextAttributes.nodeWidth(row);\n row = row.nextSibling;\n } else {\n return -1;\n }\n }\n return this.getNodeAndOffsetWithinRow_(row, position);\n};\n\n/**\n * Returns the node and offset corresponding to position within row.\n * Does not support line overflow.\n *\n * @param {Node} row X-ROW to get position within.\n * @param {integer} position Position within row to retrieve node and offset.\n * @return {Array} Two element array containing node and offset respectively.\n **/\nhterm.Screen.prototype.getNodeAndOffsetWithinRow_ = function(row, position) {\n for (var i = 0; i < row.childNodes.length; i++) {\n var node = row.childNodes[i];\n var nodeTextWidth = hterm.TextAttributes.nodeWidth(node);\n if (position <= nodeTextWidth) {\n if (node.nodeName === 'SPAN') {\n /** Drill down to node contained by SPAN. **/\n return this.getNodeAndOffsetWithinRow_(node, position);\n } else {\n return [node, position];\n }\n }\n position -= nodeTextWidth;\n }\n return null;\n};\n\n/**\n * Returns the node and offset corresponding to position within line.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {integer} start Start position of range within line.\n * @param {integer} end End position of range within line.\n * @param {Range} range Range to modify.\n **/\nhterm.Screen.prototype.setRange_ = function(row, start, end, range) {\n var startNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, start);\n if (startNodeAndOffset == null)\n return;\n var endNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, end);\n if (endNodeAndOffset == null)\n return;\n range.setStart(startNodeAndOffset[0], startNodeAndOffset[1]);\n range.setEnd(endNodeAndOffset[0], endNodeAndOffset[1]);\n};\n\n/**\n * Expands selection to surround URLs.\n *\n * @param {Selection} selection Selection to expand.\n **/\nhterm.Screen.prototype.expandSelection = function(selection) {\n if (!selection)\n return;\n\n var range = selection.getRangeAt(0);\n if (!range || range.toString().match(/\\s/))\n return;\n\n var row = this.getLineStartRow_(this.getXRowAncestor_(range.startContainer));\n if (!row)\n return;\n\n var startPosition = this.getPositionWithOverflow_(row,\n range.startContainer,\n range.startOffset);\n if (startPosition == -1)\n return;\n var endPosition = this.getPositionWithOverflow_(row,\n range.endContainer,\n range.endOffset);\n if (endPosition == -1)\n return;\n\n // Use the user configurable match settings.\n var leftMatch = this.wordBreakMatchLeft;\n var rightMatch = this.wordBreakMatchRight;\n var insideMatch = this.wordBreakMatchMiddle;\n\n //Move start to the left.\n var rowText = this.getLineText_(row);\n var lineUpToRange = lib.wc.substring(rowText, 0, endPosition);\n var leftRegularExpression = new RegExp(leftMatch + insideMatch + \"$\");\n var expandedStart = lineUpToRange.search(leftRegularExpression);\n if (expandedStart == -1 || expandedStart > startPosition)\n return;\n\n //Move end to the right.\n var lineFromRange = lib.wc.substring(rowText, startPosition,\n lib.wc.strWidth(rowText));\n var rightRegularExpression = new RegExp(\"^\" + insideMatch + rightMatch);\n var found = lineFromRange.match(rightRegularExpression);\n if (!found)\n return;\n var expandedEnd = startPosition + lib.wc.strWidth(found[0]);\n if (expandedEnd == -1 || expandedEnd < endPosition)\n return;\n\n this.setRange_(row, expandedStart, expandedEnd, range);\n selection.addRange(range);\n};\n// SOURCE FILE: hterm/js/hterm_scrollport.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'hterm.PubSub', 'hterm.Size');\n\n/**\n * A 'viewport' view of fixed-height rows with support for selection and\n * copy-to-clipboard.\n *\n * 'Viewport' in this case means that only the visible rows are in the DOM.\n * If the rowProvider has 100,000 rows, but the ScrollPort is only 25 rows\n * tall, then only 25 dom nodes are created. The ScrollPort will ask the\n * RowProvider to create new visible rows on demand as they are scrolled in\n * to the visible area.\n *\n * This viewport is designed so that select and copy-to-clipboard still works,\n * even when all or part of the selection is scrolled off screen.\n *\n * Note that the X11 mouse clipboard does not work properly when all or part\n * of the selection is off screen. It would be difficult to fix this without\n * adding significant overhead to pathologically large selection cases.\n *\n * The RowProvider should return rows rooted by the custom tag name 'x-row'.\n * This ensures that we can quickly assign the correct display height\n * to the rows with css.\n *\n * @param {RowProvider} rowProvider An object capable of providing rows as\n * raw text or row nodes.\n */\nhterm.ScrollPort = function(rowProvider) {\n hterm.PubSub.addBehavior(this);\n\n this.rowProvider_ = rowProvider;\n\n // SWAG the character size until we can measure it.\n this.characterSize = new hterm.Size(10, 10);\n\n // DOM node used for character measurement.\n this.ruler_ = null;\n\n this.selection = new hterm.ScrollPort.Selection(this);\n\n // A map of rowIndex => rowNode for each row that is drawn as part of a\n // pending redraw_() call. Null if there is no pending redraw_ call.\n this.currentRowNodeCache_ = null;\n\n // A map of rowIndex => rowNode for each row that was drawn as part of the\n // previous redraw_() call.\n this.previousRowNodeCache_ = {};\n\n // Used during scroll events to detect when the underlying cause is a resize.\n this.lastScreenWidth_ = null;\n this.lastScreenHeight_ = null;\n\n // True if the user should be allowed to select text in the terminal.\n // This is disabled when the host requests mouse drag events so that we don't\n // end up with two notions of selection.\n this.selectionEnabled_ = true;\n\n // The last row count returned by the row provider, re-populated during\n // syncScrollHeight().\n this.lastRowCount_ = 0;\n\n // The scroll wheel pixel delta multiplier to increase/decrease\n // the scroll speed of mouse wheel events. See: https://goo.gl/sXelnq\n this.scrollWheelMultiplier_ = 1;\n\n // The last touch events we saw to support touch based scrolling. Indexed\n // by touch identifier since we can have more than one touch active.\n this.lastTouch_ = {};\n\n /**\n * True if the last scroll caused the scrollport to show the final row.\n */\n this.isScrolledEnd = true;\n\n /**\n * A guess at the current scrollbar width, fixed in resize().\n */\n this.currentScrollbarWidthPx = 16;\n\n /**\n * Whether the ctrl-v key on the screen should paste.\n */\n this.ctrlVPaste = false;\n\n this.div_ = null;\n this.document_ = null;\n\n // Collection of active timeout handles.\n this.timeouts_ = {};\n\n this.observers_ = {};\n\n this.DEBUG_ = false;\n}\n\n/**\n * Proxy for the native selection object which understands how to walk up the\n * DOM to find the containing row node and sort out which comes first.\n *\n * @param {hterm.ScrollPort} scrollPort The parent hterm.ScrollPort instance.\n */\nhterm.ScrollPort.Selection = function(scrollPort) {\n this.scrollPort_ = scrollPort;\n\n /**\n * The row containing the start of the selection.\n *\n * This may be partially or fully selected. It may be the selection anchor\n * or the focus, but its rowIndex is guaranteed to be less-than-or-equal-to\n * that of the endRow.\n *\n * If only one row is selected then startRow == endRow. If there is no\n * selection or the selection is collapsed then startRow == null.\n */\n this.startRow = null;\n\n /**\n * The row containing the end of the selection.\n *\n * This may be partially or fully selected. It may be the selection anchor\n * or the focus, but its rowIndex is guaranteed to be greater-than-or-equal-to\n * that of the startRow.\n *\n * If only one row is selected then startRow == endRow. If there is no\n * selection or the selection is collapsed then startRow == null.\n */\n this.endRow = null;\n\n /**\n * True if startRow != endRow.\n */\n this.isMultiline = null;\n\n /**\n * True if the selection is just a point rather than a range.\n */\n this.isCollapsed = null;\n};\n\n/**\n * Given a list of DOM nodes and a container, return the DOM node that\n * is first according to a depth-first search.\n *\n * Returns null if none of the children are found.\n */\nhterm.ScrollPort.Selection.prototype.findFirstChild = function(\n parent, childAry) {\n var node = parent.firstChild;\n\n while (node) {\n if (childAry.indexOf(node) != -1)\n return node;\n\n if (node.childNodes.length) {\n var rv = this.findFirstChild(node, childAry);\n if (rv)\n return rv;\n }\n\n node = node.nextSibling;\n }\n\n return null;\n};\n\n/**\n * Synchronize this object with the current DOM selection.\n *\n * This is a one-way synchronization, the DOM selection is copied to this\n * object, not the other way around.\n */\nhterm.ScrollPort.Selection.prototype.sync = function() {\n var self = this;\n\n // The dom selection object has no way to tell which nodes come first in\n // the document, so we have to figure that out.\n //\n // This function is used when we detect that the \"anchor\" node is first.\n function anchorFirst() {\n self.startRow = anchorRow;\n self.startNode = selection.anchorNode;\n self.startOffset = selection.anchorOffset;\n self.endRow = focusRow;\n self.endNode = selection.focusNode;\n self.endOffset = selection.focusOffset;\n }\n\n // This function is used when we detect that the \"focus\" node is first.\n function focusFirst() {\n self.startRow = focusRow;\n self.startNode = selection.focusNode;\n self.startOffset = selection.focusOffset;\n self.endRow = anchorRow;\n self.endNode = selection.anchorNode;\n self.endOffset = selection.anchorOffset;\n }\n\n var selection = this.scrollPort_.getDocument().getSelection();\n\n this.startRow = null;\n this.endRow = null;\n this.isMultiline = null;\n this.isCollapsed = !selection || selection.isCollapsed;\n\n if (this.isCollapsed)\n return;\n\n var anchorRow = selection.anchorNode;\n while (anchorRow && !('rowIndex' in anchorRow)) {\n anchorRow = anchorRow.parentNode;\n }\n\n if (!anchorRow) {\n console.error('Selection anchor is not rooted in a row node: ' +\n selection.anchorNode.nodeName);\n return;\n }\n\n var focusRow = selection.focusNode;\n while (focusRow && !('rowIndex' in focusRow)) {\n focusRow = focusRow.parentNode;\n }\n\n if (!focusRow) {\n console.error('Selection focus is not rooted in a row node: ' +\n selection.focusNode.nodeName);\n return;\n }\n\n if (anchorRow.rowIndex < focusRow.rowIndex) {\n anchorFirst();\n\n } else if (anchorRow.rowIndex > focusRow.rowIndex) {\n focusFirst();\n\n } else if (selection.focusNode == selection.anchorNode) {\n if (selection.anchorOffset < selection.focusOffset) {\n anchorFirst();\n } else {\n focusFirst();\n }\n\n } else {\n // The selection starts and ends in the same row, but isn't contained all\n // in a single node.\n var firstNode = this.findFirstChild(\n anchorRow, [selection.anchorNode, selection.focusNode]);\n\n if (!firstNode)\n throw new Error('Unexpected error syncing selection.');\n\n if (firstNode == selection.anchorNode) {\n anchorFirst();\n } else {\n focusFirst();\n }\n }\n\n this.isMultiline = anchorRow.rowIndex != focusRow.rowIndex;\n};\n\n\n/**\n * Turn a div into this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.decorate = function(div) {\n this.div_ = div;\n\n this.iframe_ = div.ownerDocument.createElement('iframe');\n this.iframe_.style.cssText = (\n 'border: 0;' +\n 'height: 100%;' +\n 'position: absolute;' +\n 'width: 100%');\n\n // Set the iframe src to # in FF. Otherwise when the frame's\n // load event fires in FF it clears out the content of the iframe.\n if ('mozInnerScreenX' in window) // detect a FF only property\n this.iframe_.src = '#';\n\n div.appendChild(this.iframe_);\n\n this.iframe_.contentWindow.addEventListener('resize',\n this.onResize_.bind(this));\n\n var doc = this.document_ = this.iframe_.contentDocument;\n doc.body.style.cssText = (\n 'margin: 0px;' +\n 'padding: 0px;' +\n 'height: 100%;' +\n 'width: 100%;' +\n 'overflow: hidden;' +\n 'cursor: var(--hterm-mouse-cursor-style);' +\n '-webkit-user-select: none;' +\n '-moz-user-select: none;');\n\n if (this.DEBUG_) {\n // When we're debugging we add padding to the body so that the offscreen\n // elements are visible.\n this.document_.body.style.paddingTop =\n this.document_.body.style.paddingBottom =\n 'calc(var(--hterm-charsize-height) * 3)';\n }\n\n var style = doc.createElement('style');\n style.textContent = (\n 'x-row {' +\n ' display: block;' +\n ' height: var(--hterm-charsize-height);' +\n ' line-height: var(--hterm-charsize-height);' +\n '}');\n doc.head.appendChild(style);\n\n this.userCssLink_ = doc.createElement('link');\n this.userCssLink_.setAttribute('rel', 'stylesheet');\n\n this.userCssText_ = doc.createElement('style');\n doc.head.appendChild(this.userCssText_);\n\n // TODO(rginda): Sorry, this 'screen_' isn't the same thing as hterm.Screen\n // from screen.js. I need to pick a better name for one of them to avoid\n // the collision.\n // We make this field editable even though we don't actually allow anything\n // to be edited here so that Chrome will do the right thing with virtual\n // keyboards and IMEs. But make sure we turn off all the input helper logic\n // that doesn't make sense here, and might inadvertently mung or save input.\n // Some of these attributes are standard while others are browser specific,\n // but should be safely ignored by other browsers.\n this.screen_ = doc.createElement('x-screen');\n this.screen_.setAttribute('contenteditable', 'true');\n this.screen_.setAttribute('spellcheck', 'false');\n this.screen_.setAttribute('autocomplete', 'off');\n this.screen_.setAttribute('autocorrect', 'off');\n this.screen_.setAttribute('autocaptalize', 'none');\n this.screen_.setAttribute('role', 'textbox');\n this.screen_.setAttribute('tabindex', '-1');\n this.screen_.style.cssText = (\n 'caret-color: transparent;' +\n 'display: block;' +\n 'font-family: monospace;' +\n 'font-size: 15px;' +\n 'font-variant-ligatures: none;' +\n 'height: 100%;' +\n 'overflow-y: scroll; overflow-x: hidden;' +\n 'white-space: pre;' +\n 'width: 100%;' +\n 'outline: none !important');\n\n doc.body.appendChild(this.screen_);\n\n this.screen_.addEventListener('scroll', this.onScroll_.bind(this));\n this.screen_.addEventListener('wheel', this.onScrollWheel_.bind(this));\n this.screen_.addEventListener('touchstart', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchmove', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchend', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchcancel', this.onTouch_.bind(this));\n this.screen_.addEventListener('copy', this.onCopy_.bind(this));\n this.screen_.addEventListener('paste', this.onPaste_.bind(this));\n // Disable drag & drop of text/content. We don't handle it at all (yet?),\n // and the default behavior just confuses hterm.\n this.screen_.addEventListener('drop', function(e) {\n e.preventDefault();\n return false;\n });\n\n doc.body.addEventListener('keydown', this.onBodyKeyDown_.bind(this));\n\n // This is the main container for the fixed rows.\n this.rowNodes_ = doc.createElement('div');\n this.rowNodes_.id = 'hterm:row-nodes';\n this.rowNodes_.style.cssText = (\n 'display: block;' +\n 'position: fixed;' +\n 'overflow: hidden;' +\n '-webkit-user-select: text;' +\n '-moz-user-select: text;');\n this.screen_.appendChild(this.rowNodes_);\n\n // Two nodes to hold offscreen text during the copy event.\n this.topSelectBag_ = doc.createElement('x-select-bag');\n this.topSelectBag_.style.cssText = (\n 'display: block;' +\n 'overflow: hidden;' +\n 'height: var(--hterm-charsize-height);' +\n 'white-space: pre;');\n\n this.bottomSelectBag_ = this.topSelectBag_.cloneNode();\n\n // Nodes above the top fold and below the bottom fold are hidden. They are\n // only used to hold rows that are part of the selection but are currently\n // scrolled off the top or bottom of the visible range.\n this.topFold_ = doc.createElement('x-fold');\n this.topFold_.id = 'hterm:top-fold-for-row-selection';\n this.topFold_.style.cssText = 'display: block;';\n this.rowNodes_.appendChild(this.topFold_);\n\n this.bottomFold_ = this.topFold_.cloneNode();\n this.bottomFold_.id = 'hterm:bottom-fold-for-row-selection';\n this.rowNodes_.appendChild(this.bottomFold_);\n\n // This hidden div accounts for the vertical space that would be consumed by\n // all the rows in the buffer if they were visible. It's what causes the\n // scrollbar to appear on the 'x-screen', and it moves within the screen when\n // the scrollbar is moved.\n //\n // It is set 'visibility: hidden' to keep the browser from trying to include\n // it in the selection when a user 'drag selects' upwards (drag the mouse to\n // select and scroll at the same time). Without this, the selection gets\n // out of whack.\n this.scrollArea_ = doc.createElement('div');\n this.scrollArea_.id = 'hterm:scrollarea';\n this.scrollArea_.style.cssText = 'visibility: hidden';\n this.screen_.appendChild(this.scrollArea_);\n\n // This svg element is used to detect when the browser is zoomed. It must be\n // placed in the outermost document for currentScale to be correct.\n // TODO(rginda): This means that hterm nested in an iframe will not correctly\n // detect browser zoom level. We should come up with a better solution.\n // Note: This must be http:// else Chrome cannot create the element correctly.\n var xmlns = 'http://www.w3.org/2000/svg';\n this.svg_ = this.div_.ownerDocument.createElementNS(xmlns, 'svg');\n this.svg_.id = 'hterm:zoom-detector';\n this.svg_.setAttribute('xmlns', xmlns);\n this.svg_.setAttribute('version', '1.1');\n this.svg_.style.cssText = (\n 'position: absolute;' +\n 'top: 0;' +\n 'left: 0;' +\n 'visibility: hidden');\n\n\n // We send focus to this element just before a paste happens, so we can\n // capture the pasted text and forward it on to someone who cares.\n this.pasteTarget_ = doc.createElement('textarea');\n this.pasteTarget_.id = 'hterm:ctrl-v-paste-target';\n this.pasteTarget_.setAttribute('tabindex', '-1');\n this.pasteTarget_.style.cssText = (\n 'position: absolute;' +\n 'height: 1px;' +\n 'width: 1px;' +\n 'left: 0px; ' +\n 'bottom: 0px;' +\n 'opacity: 0');\n this.pasteTarget_.contentEditable = true;\n\n this.screen_.appendChild(this.pasteTarget_);\n this.pasteTarget_.addEventListener(\n 'textInput', this.handlePasteTargetTextInput_.bind(this));\n\n this.resize();\n};\n\n/**\n * Select the font-family and font-smoothing for this scrollport.\n *\n * @param {string} fontFamily Value of the CSS 'font-family' to use for this\n * scrollport. Should be a monospace font.\n * @param {string} opt_smoothing Optional value for '-webkit-font-smoothing'.\n * Defaults to an empty string if not specified.\n */\nhterm.ScrollPort.prototype.setFontFamily = function(fontFamily, opt_smoothing) {\n this.screen_.style.fontFamily = fontFamily;\n if (opt_smoothing) {\n this.screen_.style.webkitFontSmoothing = opt_smoothing;\n } else {\n this.screen_.style.webkitFontSmoothing = '';\n }\n\n this.syncCharacterSize();\n};\n\nhterm.ScrollPort.prototype.getFontFamily = function() {\n return this.screen_.style.fontFamily;\n};\n\n/**\n * Set a custom stylesheet to include in the scrollport.\n *\n * Defaults to null, meaning no custom css is loaded. Set it back to null or\n * the empty string to remove a previously applied custom css.\n */\nhterm.ScrollPort.prototype.setUserCssUrl = function(url) {\n if (url) {\n this.userCssLink_.setAttribute('href', url);\n\n if (!this.userCssLink_.parentNode)\n this.document_.head.appendChild(this.userCssLink_);\n } else if (this.userCssLink_.parentNode) {\n this.document_.head.removeChild(this.userCssLink_);\n }\n};\n\nhterm.ScrollPort.prototype.setUserCssText = function(text) {\n this.userCssText_.textContent = text;\n};\n\nhterm.ScrollPort.prototype.focus = function() {\n this.iframe_.focus();\n this.screen_.focus();\n};\n\nhterm.ScrollPort.prototype.getForegroundColor = function() {\n return this.screen_.style.color;\n};\n\nhterm.ScrollPort.prototype.setForegroundColor = function(color) {\n this.screen_.style.color = color;\n};\n\nhterm.ScrollPort.prototype.getBackgroundColor = function() {\n return this.screen_.style.backgroundColor;\n};\n\nhterm.ScrollPort.prototype.setBackgroundColor = function(color) {\n this.screen_.style.backgroundColor = color;\n};\n\nhterm.ScrollPort.prototype.setBackgroundImage = function(image) {\n this.screen_.style.backgroundImage = image;\n};\n\nhterm.ScrollPort.prototype.setBackgroundSize = function(size) {\n this.screen_.style.backgroundSize = size;\n};\n\nhterm.ScrollPort.prototype.setBackgroundPosition = function(position) {\n this.screen_.style.backgroundPosition = position;\n};\n\nhterm.ScrollPort.prototype.setCtrlVPaste = function(ctrlVPaste) {\n this.ctrlVPaste = ctrlVPaste;\n};\n\n/**\n * Get the usable size of the scrollport screen.\n *\n * The width will not include the scrollbar width.\n */\nhterm.ScrollPort.prototype.getScreenSize = function() {\n var size = hterm.getClientSize(this.screen_);\n return {\n height: size.height,\n width: size.width - this.currentScrollbarWidthPx\n };\n};\n\n/**\n * Get the usable width of the scrollport screen.\n *\n * This the widget width minus scrollbar width.\n */\nhterm.ScrollPort.prototype.getScreenWidth = function() {\n return this.getScreenSize().width ;\n};\n\n/**\n * Get the usable height of the scrollport screen.\n */\nhterm.ScrollPort.prototype.getScreenHeight = function() {\n return this.getScreenSize().height;\n};\n\n/**\n * Return the document that holds the visible rows of this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.getDocument = function() {\n return this.document_;\n};\n\n/**\n * Returns the x-screen element that holds the rows of this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.getScreenNode = function() {\n return this.screen_;\n};\n\n/**\n * Clear out any cached rowNodes.\n */\nhterm.ScrollPort.prototype.resetCache = function() {\n this.currentRowNodeCache_ = null;\n this.previousRowNodeCache_ = {};\n};\n\n/**\n * Change the current rowProvider.\n *\n * This will clear the row cache and cause a redraw.\n *\n * @param {Object} rowProvider An object capable of providing the rows\n * in this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.setRowProvider = function(rowProvider) {\n this.resetCache();\n this.rowProvider_ = rowProvider;\n this.scheduleRedraw();\n};\n\n/**\n * Inform the ScrollPort that the root DOM nodes for some or all of the visible\n * rows are no longer valid.\n *\n * Specifically, this should be called if this.rowProvider_.getRowNode() now\n * returns an entirely different node than it did before. It does not\n * need to be called if the content of a row node is the only thing that\n * changed.\n *\n * This skips some of the overhead of a full redraw, but should not be used\n * in cases where the scrollport has been scrolled, or when the row count has\n * changed.\n */\nhterm.ScrollPort.prototype.invalidate = function() {\n var node = this.topFold_.nextSibling;\n while (node != this.bottomFold_) {\n var nextSibling = node.nextSibling;\n node.parentElement.removeChild(node);\n node = nextSibling;\n }\n\n this.previousRowNodeCache_ = null;\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n this.drawVisibleRows_(topRowIndex, bottomRowIndex);\n};\n\nhterm.ScrollPort.prototype.scheduleInvalidate = function() {\n if (this.timeouts_.invalidate)\n return;\n\n var self = this;\n this.timeouts_.invalidate = setTimeout(function () {\n delete self.timeouts_.invalidate;\n self.invalidate();\n }, 0);\n};\n\n/**\n * Set the font size of the ScrollPort.\n */\nhterm.ScrollPort.prototype.setFontSize = function(px) {\n this.screen_.style.fontSize = px + 'px';\n this.syncCharacterSize();\n};\n\n/**\n * Return the current font size of the ScrollPort.\n */\nhterm.ScrollPort.prototype.getFontSize = function() {\n return parseInt(this.screen_.style.fontSize);\n};\n\n/**\n * Measure the size of a single character in pixels.\n *\n * @param {string} opt_weight The font weight to measure, or 'normal' if\n * omitted.\n * @return {hterm.Size} A new hterm.Size object.\n */\nhterm.ScrollPort.prototype.measureCharacterSize = function(opt_weight) {\n // Number of lines used to average the height of a single character.\n var numberOfLines = 100;\n // Number of chars per line used to average the width of a single character.\n var lineLength = 100;\n\n if (!this.ruler_) {\n this.ruler_ = this.document_.createElement('div');\n this.ruler_.id = 'hterm:ruler-character-size';\n this.ruler_.style.cssText = (\n 'position: absolute;' +\n 'top: 0;' +\n 'left: 0;' +\n 'visibility: hidden;' +\n 'height: auto !important;' +\n 'width: auto !important;');\n\n // We need to put the text in a span to make the size calculation\n // work properly in Firefox\n this.rulerSpan_ = this.document_.createElement('span');\n this.rulerSpan_.id = 'hterm:ruler-span-workaround';\n this.rulerSpan_.innerHTML =\n ('X'.repeat(lineLength) + '\\r').repeat(numberOfLines);\n this.ruler_.appendChild(this.rulerSpan_);\n\n this.rulerBaseline_ = this.document_.createElement('span');\n this.rulerSpan_.id = 'hterm:ruler-baseline';\n // We want to collapse it on the baseline\n this.rulerBaseline_.style.fontSize = '0px';\n this.rulerBaseline_.textContent = 'X';\n }\n\n this.rulerSpan_.style.fontWeight = opt_weight || '';\n\n this.rowNodes_.appendChild(this.ruler_);\n var rulerSize = hterm.getClientSize(this.rulerSpan_);\n\n var size = new hterm.Size(rulerSize.width / lineLength,\n rulerSize.height / numberOfLines);\n\n this.ruler_.appendChild(this.rulerBaseline_);\n size.baseline = this.rulerBaseline_.offsetTop;\n this.ruler_.removeChild(this.rulerBaseline_);\n\n this.rowNodes_.removeChild(this.ruler_);\n\n this.div_.ownerDocument.body.appendChild(this.svg_);\n size.zoomFactor = this.svg_.currentScale;\n this.div_.ownerDocument.body.removeChild(this.svg_);\n\n return size;\n};\n\n/**\n * Synchronize the character size.\n *\n * This will re-measure the current character size and adjust the height\n * of an x-row to match.\n */\nhterm.ScrollPort.prototype.syncCharacterSize = function() {\n this.characterSize = this.measureCharacterSize();\n\n this.resize();\n};\n\n/**\n * Reset dimensions and visible row count to account for a change in the\n * dimensions of the 'x-screen'.\n */\nhterm.ScrollPort.prototype.resize = function() {\n this.currentScrollbarWidthPx = hterm.getClientWidth(this.screen_) -\n this.screen_.clientWidth;\n\n this.syncScrollHeight();\n this.syncRowNodesDimensions_();\n\n var self = this;\n this.publish(\n 'resize', { scrollPort: this },\n function() {\n self.scrollRowToBottom(self.rowProvider_.getRowCount());\n self.scheduleRedraw();\n });\n};\n\n/**\n * Set the position and size of the row nodes element.\n */\nhterm.ScrollPort.prototype.syncRowNodesDimensions_ = function() {\n var screenSize = this.getScreenSize();\n\n this.lastScreenWidth_ = screenSize.width;\n this.lastScreenHeight_ = screenSize.height;\n\n // We don't want to show a partial row because it would be distracting\n // in a terminal, so we floor any fractional row count.\n this.visibleRowCount = lib.f.smartFloorDivide(\n screenSize.height, this.characterSize.height);\n\n // Then compute the height of our integral number of rows.\n var visibleRowsHeight = this.visibleRowCount * this.characterSize.height;\n\n // Then the difference between the screen height and total row height needs to\n // be made up for as top margin. We need to record this value so it\n // can be used later to determine the topRowIndex.\n this.visibleRowTopMargin = 0;\n this.visibleRowBottomMargin = screenSize.height - visibleRowsHeight;\n\n this.topFold_.style.marginBottom = this.visibleRowTopMargin + 'px';\n\n\n var topFoldOffset = 0;\n var node = this.topFold_.previousSibling;\n while (node) {\n topFoldOffset += hterm.getClientHeight(node);\n node = node.previousSibling;\n }\n\n // Set the dimensions of the visible rows container.\n this.rowNodes_.style.width = screenSize.width + 'px';\n this.rowNodes_.style.height = visibleRowsHeight + topFoldOffset + 'px';\n this.rowNodes_.style.left = this.screen_.offsetLeft + 'px';\n this.rowNodes_.style.top = this.screen_.offsetTop - topFoldOffset + 'px';\n};\n\nhterm.ScrollPort.prototype.syncScrollHeight = function() {\n // Resize the scroll area to appear as though it contains every row.\n this.lastRowCount_ = this.rowProvider_.getRowCount();\n this.scrollArea_.style.height = (this.characterSize.height *\n this.lastRowCount_ +\n this.visibleRowTopMargin +\n this.visibleRowBottomMargin +\n 'px');\n};\n\n/**\n * Schedule a redraw to happen asynchronously.\n *\n * If this method is called multiple times before the redraw has a chance to\n * run only one redraw occurs.\n */\nhterm.ScrollPort.prototype.scheduleRedraw = function() {\n if (this.timeouts_.redraw)\n return;\n\n var self = this;\n this.timeouts_.redraw = setTimeout(function () {\n delete self.timeouts_.redraw;\n self.redraw_();\n }, 0);\n};\n\n/**\n * Redraw the current hterm.ScrollPort based on the current scrollbar position.\n *\n * When redrawing, we are careful to make sure that the rows that start or end\n * the current selection are not touched in any way. Doing so would disturb\n * the selection, and cleaning up after that would cause flashes at best and\n * incorrect selection at worst. Instead, we modify the DOM around these nodes.\n * We even stash the selection start/end outside of the visible area if\n * they are not supposed to be visible in the hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.redraw_ = function() {\n this.resetSelectBags_();\n this.selection.sync();\n\n this.syncScrollHeight();\n\n this.currentRowNodeCache_ = {};\n\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n this.drawTopFold_(topRowIndex);\n this.drawBottomFold_(bottomRowIndex);\n this.drawVisibleRows_(topRowIndex, bottomRowIndex);\n\n this.syncRowNodesDimensions_();\n\n this.previousRowNodeCache_ = this.currentRowNodeCache_;\n this.currentRowNodeCache_ = null;\n\n this.isScrolledEnd = (\n this.getTopRowIndex() + this.visibleRowCount >= this.lastRowCount_);\n};\n\n/**\n * Ensure that the nodes above the top fold are as they should be.\n *\n * If the selection start and/or end nodes are above the visible range\n * of this hterm.ScrollPort then the dom will be adjusted so that they appear\n * before the top fold (the first x-fold element, aka this.topFold).\n *\n * If not, the top fold will be the first element.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawTopFold_ = function(topRowIndex) {\n if (!this.selection.startRow ||\n this.selection.startRow.rowIndex >= topRowIndex) {\n // Selection is entirely below the top fold, just make sure the fold is\n // the first child.\n if (this.rowNodes_.firstChild != this.topFold_)\n this.rowNodes_.insertBefore(this.topFold_, this.rowNodes_.firstChild);\n\n return;\n }\n\n if (!this.selection.isMultiline ||\n this.selection.endRow.rowIndex >= topRowIndex) {\n // Only the startRow is above the fold.\n if (this.selection.startRow.nextSibling != this.topFold_)\n this.rowNodes_.insertBefore(this.topFold_,\n this.selection.startRow.nextSibling);\n } else {\n // Both rows are above the fold.\n if (this.selection.endRow.nextSibling != this.topFold_) {\n this.rowNodes_.insertBefore(this.topFold_,\n this.selection.endRow.nextSibling);\n }\n\n // Trim any intermediate lines.\n while (this.selection.startRow.nextSibling !=\n this.selection.endRow) {\n this.rowNodes_.removeChild(this.selection.startRow.nextSibling);\n }\n }\n\n while(this.rowNodes_.firstChild != this.selection.startRow) {\n this.rowNodes_.removeChild(this.rowNodes_.firstChild);\n }\n};\n\n/**\n * Ensure that the nodes below the bottom fold are as they should be.\n *\n * If the selection start and/or end nodes are below the visible range\n * of this hterm.ScrollPort then the dom will be adjusted so that they appear\n * after the bottom fold (the second x-fold element, aka this.bottomFold).\n *\n * If not, the bottom fold will be the last element.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawBottomFold_ = function(bottomRowIndex) {\n if (!this.selection.endRow ||\n this.selection.endRow.rowIndex <= bottomRowIndex) {\n // Selection is entirely above the bottom fold, just make sure the fold is\n // the last child.\n if (this.rowNodes_.lastChild != this.bottomFold_)\n this.rowNodes_.appendChild(this.bottomFold_);\n\n return;\n }\n\n if (!this.selection.isMultiline ||\n this.selection.startRow.rowIndex <= bottomRowIndex) {\n // Only the endRow is below the fold.\n if (this.bottomFold_.nextSibling != this.selection.endRow)\n this.rowNodes_.insertBefore(this.bottomFold_,\n this.selection.endRow);\n } else {\n // Both rows are below the fold.\n if (this.bottomFold_.nextSibling != this.selection.startRow) {\n this.rowNodes_.insertBefore(this.bottomFold_,\n this.selection.startRow);\n }\n\n // Trim any intermediate lines.\n while (this.selection.startRow.nextSibling !=\n this.selection.endRow) {\n this.rowNodes_.removeChild(this.selection.startRow.nextSibling);\n }\n }\n\n while(this.rowNodes_.lastChild != this.selection.endRow) {\n this.rowNodes_.removeChild(this.rowNodes_.lastChild);\n }\n};\n\n/**\n * Ensure that the rows between the top and bottom folds are as they should be.\n *\n * This method assumes that drawTopFold_() and drawBottomFold_() have already\n * run, and that they have left any visible selection row (selection start\n * or selection end) between the folds.\n *\n * It recycles DOM nodes from the previous redraw where possible, but will ask\n * the rowSource to make new nodes if necessary.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawVisibleRows_ = function(\n topRowIndex, bottomRowIndex) {\n var self = this;\n\n // Keep removing nodes, starting with currentNode, until we encounter\n // targetNode. Throws on failure.\n function removeUntilNode(currentNode, targetNode) {\n while (currentNode != targetNode) {\n if (!currentNode)\n throw 'Did not encounter target node';\n\n if (currentNode == self.bottomFold_)\n throw 'Encountered bottom fold before target node';\n\n var deadNode = currentNode;\n currentNode = currentNode.nextSibling;\n deadNode.parentNode.removeChild(deadNode);\n }\n }\n\n // Shorthand for things we're going to use a lot.\n var selectionStartRow = this.selection.startRow;\n var selectionEndRow = this.selection.endRow;\n var bottomFold = this.bottomFold_;\n\n // The node we're examining during the current iteration.\n var node = this.topFold_.nextSibling;\n\n var targetDrawCount = Math.min(this.visibleRowCount,\n this.rowProvider_.getRowCount());\n\n for (var drawCount = 0; drawCount < targetDrawCount; drawCount++) {\n var rowIndex = topRowIndex + drawCount;\n\n if (node == bottomFold) {\n // We've hit the bottom fold, we need to insert a new row.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n continue;\n }\n\n if (node.rowIndex == rowIndex) {\n // This node is in the right place, move along.\n node = node.nextSibling;\n continue;\n }\n\n if (selectionStartRow && selectionStartRow.rowIndex == rowIndex) {\n // The selection start row is supposed to be here, remove nodes until\n // we find it.\n removeUntilNode(node, selectionStartRow);\n node = selectionStartRow.nextSibling;\n continue;\n }\n\n if (selectionEndRow && selectionEndRow.rowIndex == rowIndex) {\n // The selection end row is supposed to be here, remove nodes until\n // we find it.\n removeUntilNode(node, selectionEndRow);\n node = selectionEndRow.nextSibling;\n continue;\n }\n\n if (node == selectionStartRow || node == selectionEndRow) {\n // We encountered the start/end of the selection, but we don't want it\n // yet. Insert a new row instead.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n continue;\n }\n\n // There is nothing special about this node, but it's in our way. Replace\n // it with the node that should be here.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n if (node == newNode) {\n node = node.nextSibling;\n continue;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n if (!newNode.nextSibling)\n debugger;\n this.rowNodes_.removeChild(node);\n node = newNode.nextSibling;\n }\n\n if (node != this.bottomFold_)\n removeUntilNode(node, bottomFold);\n};\n\n/**\n * Empty out both select bags and remove them from the document.\n *\n * These nodes hold the text between the start and end of the selection\n * when that text is otherwise off screen. They are filled out in the\n * onCopy_ event.\n */\nhterm.ScrollPort.prototype.resetSelectBags_ = function() {\n if (this.topSelectBag_.parentNode) {\n this.topSelectBag_.textContent = '';\n this.topSelectBag_.parentNode.removeChild(this.topSelectBag_);\n }\n\n if (this.bottomSelectBag_.parentNode) {\n this.bottomSelectBag_.textContent = '';\n this.bottomSelectBag_.parentNode.removeChild(this.bottomSelectBag_);\n }\n};\n\n/**\n * Place a row node in the cache of visible nodes.\n *\n * This method may only be used during a redraw_.\n */\nhterm.ScrollPort.prototype.cacheRowNode_ = function(rowNode) {\n this.currentRowNodeCache_[rowNode.rowIndex] = rowNode;\n};\n\n/**\n * Fetch the row node for the given index.\n *\n * This will return a node from the cache if possible, or will request one\n * from the RowProvider if not.\n *\n * If a redraw_ is in progress the row will be added to the current cache.\n */\nhterm.ScrollPort.prototype.fetchRowNode_ = function(rowIndex) {\n var node;\n\n if (this.previousRowNodeCache_ && rowIndex in this.previousRowNodeCache_) {\n node = this.previousRowNodeCache_[rowIndex];\n } else {\n node = this.rowProvider_.getRowNode(rowIndex);\n }\n\n if (this.currentRowNodeCache_)\n this.cacheRowNode_(node);\n\n return node;\n};\n\n/**\n * Select all rows in the viewport.\n */\nhterm.ScrollPort.prototype.selectAll = function() {\n var firstRow;\n\n if (this.topFold_.nextSibling.rowIndex != 0) {\n while (this.topFold_.previousSibling) {\n this.rowNodes_.removeChild(this.topFold_.previousSibling);\n }\n\n firstRow = this.fetchRowNode_(0);\n this.rowNodes_.insertBefore(firstRow, this.topFold_);\n this.syncRowNodesDimensions_();\n } else {\n firstRow = this.topFold_.nextSibling;\n }\n\n var lastRowIndex = this.rowProvider_.getRowCount() - 1;\n var lastRow;\n\n if (this.bottomFold_.previousSibling.rowIndex != lastRowIndex) {\n while (this.bottomFold_.nextSibling) {\n this.rowNodes_.removeChild(this.bottomFold_.nextSibling);\n }\n\n lastRow = this.fetchRowNode_(lastRowIndex);\n this.rowNodes_.appendChild(lastRow);\n } else {\n lastRow = this.bottomFold_.previousSibling.rowIndex;\n }\n\n var selection = this.document_.getSelection();\n selection.collapse(firstRow, 0);\n selection.extend(lastRow, lastRow.childNodes.length);\n\n this.selection.sync();\n};\n\n/**\n * Return the maximum scroll position in pixels.\n */\nhterm.ScrollPort.prototype.getScrollMax_ = function(e) {\n return (hterm.getClientHeight(this.scrollArea_) +\n this.visibleRowTopMargin + this.visibleRowBottomMargin -\n hterm.getClientHeight(this.screen_));\n};\n\n/**\n * Scroll the given rowIndex to the top of the hterm.ScrollPort.\n *\n * @param {integer} rowIndex Index of the target row.\n */\nhterm.ScrollPort.prototype.scrollRowToTop = function(rowIndex) {\n this.syncScrollHeight();\n\n this.isScrolledEnd = (\n rowIndex + this.visibleRowCount >= this.lastRowCount_);\n\n var scrollTop = rowIndex * this.characterSize.height +\n this.visibleRowTopMargin;\n\n var scrollMax = this.getScrollMax_();\n if (scrollTop > scrollMax)\n scrollTop = scrollMax;\n\n if (this.screen_.scrollTop == scrollTop)\n return;\n\n this.screen_.scrollTop = scrollTop;\n this.scheduleRedraw();\n};\n\n/**\n * Scroll the given rowIndex to the bottom of the hterm.ScrollPort.\n *\n * @param {integer} rowIndex Index of the target row.\n */\nhterm.ScrollPort.prototype.scrollRowToBottom = function(rowIndex) {\n this.syncScrollHeight();\n\n this.isScrolledEnd = (\n rowIndex + this.visibleRowCount >= this.lastRowCount_);\n\n var scrollTop = rowIndex * this.characterSize.height +\n this.visibleRowTopMargin + this.visibleRowBottomMargin;\n scrollTop -= this.visibleRowCount * this.characterSize.height;\n\n if (scrollTop < 0)\n scrollTop = 0;\n\n if (this.screen_.scrollTop == scrollTop)\n return;\n\n this.screen_.scrollTop = scrollTop;\n};\n\n/**\n * Return the row index of the first visible row.\n *\n * This is based on the scroll position. If a redraw_ is in progress this\n * returns the row that *should* be at the top.\n */\nhterm.ScrollPort.prototype.getTopRowIndex = function() {\n return Math.round(this.screen_.scrollTop / this.characterSize.height);\n};\n\n/**\n * Return the row index of the last visible row.\n *\n * This is based on the scroll position. If a redraw_ is in progress this\n * returns the row that *should* be at the bottom.\n */\nhterm.ScrollPort.prototype.getBottomRowIndex = function(topRowIndex) {\n return topRowIndex + this.visibleRowCount - 1;\n};\n\n/**\n * Handler for scroll events.\n *\n * The onScroll event fires when scrollArea's scrollTop property changes. This\n * may be due to the user manually move the scrollbar, or a programmatic change.\n */\nhterm.ScrollPort.prototype.onScroll_ = function(e) {\n var screenSize = this.getScreenSize();\n if (screenSize.width != this.lastScreenWidth_ ||\n screenSize.height != this.lastScreenHeight_) {\n // This event may also fire during a resize (but before the resize event!).\n // This happens when the browser moves the scrollbar as part of the resize.\n // In these cases, we want to ignore the scroll event and let onResize\n // handle things. If we don't, then we end up scrolling to the wrong\n // position after a resize.\n this.resize();\n return;\n }\n\n this.redraw_();\n this.publish('scroll', { scrollPort: this });\n};\n\n/**\n * Clients can override this if they want to hear scrollwheel events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onScrollWheel = function(e) {};\n\n/**\n * Handler for scroll-wheel events.\n *\n * The onScrollWheel event fires when the user moves their scrollwheel over this\n * hterm.ScrollPort. Because the frontmost element in the hterm.ScrollPort is\n * a fixed position DIV, the scroll wheel does nothing by default. Instead, we\n * have to handle it manually.\n */\nhterm.ScrollPort.prototype.onScrollWheel_ = function(e) {\n this.onScrollWheel(e);\n\n if (e.defaultPrevented)\n return;\n\n // Figure out how far this event wants us to scroll.\n var delta = this.scrollWheelDelta(e);\n\n var top = this.screen_.scrollTop - delta;\n if (top < 0)\n top = 0;\n\n var scrollMax = this.getScrollMax_();\n if (top > scrollMax)\n top = scrollMax;\n\n if (top != this.screen_.scrollTop) {\n // Moving scrollTop causes a scroll event, which triggers the redraw.\n this.screen_.scrollTop = top;\n\n // Only preventDefault when we've actually scrolled. If there's nothing\n // to scroll we want to pass the event through so Chrome can detect the\n // overscroll.\n e.preventDefault();\n }\n};\n\n/**\n * Calculate how far a wheel event should scroll.\n *\n * @param {WheelEvent} e The mouse wheel event to process.\n * @return {number} How far (in pixels) to scroll.\n */\nhterm.ScrollPort.prototype.scrollWheelDelta = function(e) {\n var delta;\n\n switch (e.deltaMode) {\n case WheelEvent.DOM_DELTA_PIXEL:\n delta = e.deltaY * this.scrollWheelMultiplier_;\n break;\n case WheelEvent.DOM_DELTA_LINE:\n delta = e.deltaY * this.characterSize.height;\n break;\n case WheelEvent.DOM_DELTA_PAGE:\n delta = e.deltaY * this.characterSize.height * this.screen_.getHeight();\n break;\n }\n\n // The sign is inverted from what we would expect.\n return delta * -1;\n};\n\n\n/**\n * Clients can override this if they want to hear touch events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onTouch = function(e) {};\n\n/**\n * Handler for touch events.\n */\nhterm.ScrollPort.prototype.onTouch_ = function(e) {\n this.onTouch(e);\n\n if (e.defaultPrevented)\n return;\n\n // Extract the fields from the Touch event that we need. If we saved the\n // event directly, it has references to other objects (like x-row) that\n // might stick around for a long time. This way we only have small objects\n // in our lastTouch_ state.\n var scrubTouch = function(t) {\n return {\n id: t.identifier,\n y: t.clientY,\n x: t.clientX,\n };\n };\n\n var i, touch;\n switch (e.type) {\n case 'touchstart':\n // Save the current set of touches.\n for (i = 0; i < e.changedTouches.length; ++i) {\n touch = scrubTouch(e.changedTouches[i]);\n this.lastTouch_[touch.id] = touch;\n }\n break;\n\n case 'touchcancel':\n case 'touchend':\n // Throw away existing touches that we're finished with.\n for (i = 0; i < e.changedTouches.length; ++i)\n delete this.lastTouch_[e.changedTouches[i].identifier];\n break;\n\n case 'touchmove':\n // Walk all of the touches in this one event and merge all of their\n // changes into one delta. This lets multiple fingers scroll faster.\n var delta = 0;\n for (i = 0; i < e.changedTouches.length; ++i) {\n touch = scrubTouch(e.changedTouches[i]);\n delta += (this.lastTouch_[touch.id].y - touch.y);\n this.lastTouch_[touch.id] = touch;\n }\n\n // Invert to match the touchscreen scrolling direction of browser windows.\n delta *= -1;\n\n var top = this.screen_.scrollTop - delta;\n if (top < 0)\n top = 0;\n\n var scrollMax = this.getScrollMax_();\n if (top > scrollMax)\n top = scrollMax;\n\n if (top != this.screen_.scrollTop) {\n // Moving scrollTop causes a scroll event, which triggers the redraw.\n this.screen_.scrollTop = top;\n }\n break;\n }\n\n // To disable gestures or anything else interfering with our scrolling.\n e.preventDefault();\n};\n\n/**\n * Handler for resize events.\n *\n * The browser will resize us such that the top row stays at the top, but we\n * prefer to the bottom row to stay at the bottom.\n */\nhterm.ScrollPort.prototype.onResize_ = function(e) {\n // Re-measure, since onResize also happens for browser zoom changes.\n this.syncCharacterSize();\n this.resize();\n};\n\n/**\n * Clients can override this if they want to hear copy events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onCopy = function(e) { };\n\n/**\n * Handler for copy-to-clipboard events.\n *\n * If some or all of the selected rows are off screen we may need to fill in\n * the rows between selection start and selection end. This handler determines\n * if we're missing some of the selected text, and if so populates one or both\n * of the \"select bags\" with the missing text.\n */\nhterm.ScrollPort.prototype.onCopy_ = function(e) {\n this.onCopy(e);\n\n if (e.defaultPrevented)\n return;\n\n this.resetSelectBags_();\n this.selection.sync();\n\n if (!this.selection.startRow ||\n this.selection.endRow.rowIndex - this.selection.startRow.rowIndex < 2) {\n return;\n }\n\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n if (this.selection.startRow.rowIndex < topRowIndex) {\n // Start of selection is above the top fold.\n var endBackfillIndex;\n\n if (this.selection.endRow.rowIndex < topRowIndex) {\n // Entire selection is above the top fold.\n endBackfillIndex = this.selection.endRow.rowIndex;\n } else {\n // Selection extends below the top fold.\n endBackfillIndex = this.topFold_.nextSibling.rowIndex;\n }\n\n this.topSelectBag_.textContent = this.rowProvider_.getRowsText(\n this.selection.startRow.rowIndex + 1, endBackfillIndex);\n this.rowNodes_.insertBefore(this.topSelectBag_,\n this.selection.startRow.nextSibling);\n this.syncRowNodesDimensions_();\n }\n\n if (this.selection.endRow.rowIndex > bottomRowIndex) {\n // Selection ends below the bottom fold.\n var startBackfillIndex;\n\n if (this.selection.startRow.rowIndex > bottomRowIndex) {\n // Entire selection is below the bottom fold.\n startBackfillIndex = this.selection.startRow.rowIndex + 1;\n } else {\n // Selection starts above the bottom fold.\n startBackfillIndex = this.bottomFold_.previousSibling.rowIndex + 1;\n }\n\n this.bottomSelectBag_.textContent = this.rowProvider_.getRowsText(\n startBackfillIndex, this.selection.endRow.rowIndex);\n this.rowNodes_.insertBefore(this.bottomSelectBag_, this.selection.endRow);\n }\n};\n\n/**\n * Focuses on the paste target on a ctrl-v keydown event, as in\n * FF a content editable element must be focused before the paste event.\n */\nhterm.ScrollPort.prototype.onBodyKeyDown_ = function(e) {\n if (!this.ctrlVPaste)\n return;\n\n var key = String.fromCharCode(e.which);\n var lowerKey = key.toLowerCase();\n if ((e.ctrlKey || e.metaKey) && lowerKey == \"v\")\n this.pasteTarget_.focus();\n};\n\n/**\n * Handle a paste event on the the ScrollPort's screen element.\n */\nhterm.ScrollPort.prototype.onPaste_ = function(e) {\n this.pasteTarget_.focus();\n\n var self = this;\n setTimeout(function() {\n self.publish('paste', { text: self.pasteTarget_.value });\n self.pasteTarget_.value = '';\n self.screen_.focus();\n }, 0);\n};\n\n/**\n * Handles a textInput event on the paste target. Stops this from\n * propagating as we want this to be handled in the onPaste_ method.\n */\nhterm.ScrollPort.prototype.handlePasteTargetTextInput_ = function(e) {\n e.stopPropagation();\n};\n\n/**\n * Set the vertical scrollbar mode of the ScrollPort.\n */\nhterm.ScrollPort.prototype.setScrollbarVisible = function(state) {\n this.screen_.style.overflowY = state ? 'scroll' : 'hidden';\n};\n\n/**\n * Set scroll wheel multiplier. This alters how much the screen scrolls on\n * mouse wheel events.\n */\nhterm.ScrollPort.prototype.setScrollWheelMoveMultipler = function(multiplier) {\n this.scrollWheelMultiplier_ = multiplier;\n};\n// SOURCE FILE: hterm/js/hterm_terminal.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors', 'lib.PreferenceManager', 'lib.resource', 'lib.wc',\n 'lib.f', 'hterm.Keyboard', 'hterm.Options', 'hterm.PreferenceManager',\n 'hterm.Screen', 'hterm.ScrollPort', 'hterm.Size',\n 'hterm.TextAttributes', 'hterm.VT');\n\n/**\n * Constructor for the Terminal class.\n *\n * A Terminal pulls together the hterm.ScrollPort, hterm.Screen and hterm.VT100\n * classes to provide the complete terminal functionality.\n *\n * There are a number of lower-level Terminal methods that can be called\n * directly to manipulate the cursor, text, scroll region, and other terminal\n * attributes. However, the primary method is interpret(), which parses VT\n * escape sequences and invokes the appropriate Terminal methods.\n *\n * This class was heavily influenced by Cory Maccarrone's Framebuffer class.\n *\n * TODO(rginda): Eventually we're going to need to support characters which are\n * displayed twice as wide as standard latin characters. This is to support\n * CJK (and possibly other character sets).\n *\n * @param {string} opt_profileId Optional preference profile name. If not\n * provided, defaults to 'default'.\n */\nhterm.Terminal = function(opt_profileId) {\n this.profileId_ = null;\n\n // Two screen instances.\n this.primaryScreen_ = new hterm.Screen();\n this.alternateScreen_ = new hterm.Screen();\n\n // The \"current\" screen.\n this.screen_ = this.primaryScreen_;\n\n // The local notion of the screen size. ScreenBuffers also have a size which\n // indicates their present size. During size changes, the two may disagree.\n // Also, the inactive screen's size is not altered until it is made the active\n // screen.\n this.screenSize = new hterm.Size(0, 0);\n\n // The scroll port we'll be using to display the visible rows.\n this.scrollPort_ = new hterm.ScrollPort(this);\n this.scrollPort_.subscribe('resize', this.onResize_.bind(this));\n this.scrollPort_.subscribe('scroll', this.onScroll_.bind(this));\n this.scrollPort_.subscribe('paste', this.onPaste_.bind(this));\n this.scrollPort_.onCopy = this.onCopy_.bind(this);\n\n // The div that contains this terminal.\n this.div_ = null;\n\n // The document that contains the scrollPort. Defaulted to the global\n // document here so that the terminal is functional even if it hasn't been\n // inserted into a document yet, but re-set in decorate().\n this.document_ = window.document;\n\n // The rows that have scrolled off screen and are no longer addressable.\n this.scrollbackRows_ = [];\n\n // Saved tab stops.\n this.tabStops_ = [];\n\n // Keep track of whether default tab stops have been erased; after a TBC\n // clears all tab stops, defaults aren't restored on resize until a reset.\n this.defaultTabStops = true;\n\n // The VT's notion of the top and bottom rows. Used during some VT\n // cursor positioning and scrolling commands.\n this.vtScrollTop_ = null;\n this.vtScrollBottom_ = null;\n\n // The DIV element for the visible cursor.\n this.cursorNode_ = null;\n\n // The current cursor shape of the terminal.\n this.cursorShape_ = hterm.Terminal.cursorShape.BLOCK;\n\n // The current color of the cursor.\n this.cursorColor_ = null;\n\n // Cursor blink on/off cycle in ms, overwritten by prefs once they're loaded.\n this.cursorBlinkCycle_ = [100, 100];\n\n // Pre-bound onCursorBlink_ handler, so we don't have to do this for each\n // cursor on/off servicing.\n this.myOnCursorBlink_ = this.onCursorBlink_.bind(this);\n\n // These prefs are cached so we don't have to read from local storage with\n // each output and keystroke. They are initialized by the preference manager.\n this.backgroundColor_ = null;\n this.foregroundColor_ = null;\n this.scrollOnOutput_ = null;\n this.scrollOnKeystroke_ = null;\n this.scrollWheelArrowKeys_ = null;\n\n // True if we should override mouse event reporting to allow local selection.\n this.defeatMouseReports_ = false;\n\n // Terminal bell sound.\n this.bellAudio_ = this.document_.createElement('audio');\n this.bellAudio_.id = 'hterm:bell-audio';\n this.bellAudio_.setAttribute('preload', 'auto');\n\n // All terminal bell notifications that have been generated (not necessarily\n // shown).\n this.bellNotificationList_ = [];\n\n // Whether we have permission to display notifications.\n this.desktopNotificationBell_ = false;\n\n // Cursor position and attributes saved with DECSC.\n this.savedOptions_ = {};\n\n // The current mode bits for the terminal.\n this.options_ = new hterm.Options();\n\n // Timeouts we might need to clear.\n this.timeouts_ = {};\n\n // The VT escape sequence interpreter.\n this.vt = new hterm.VT(this);\n\n // The keyboard handler.\n this.keyboard = new hterm.Keyboard(this);\n\n // General IO interface that can be given to third parties without exposing\n // the entire terminal object.\n this.io = new hterm.Terminal.IO(this);\n\n // True if mouse-click-drag should scroll the terminal.\n this.enableMouseDragScroll = true;\n\n this.copyOnSelect = null;\n this.mouseRightClickPaste = null;\n this.mousePasteButton = null;\n\n // Whether to use the default window copy behavior.\n this.useDefaultWindowCopy = false;\n\n this.clearSelectionAfterCopy = true;\n\n this.realizeSize_(80, 24);\n this.setDefaultTabStops();\n\n this.setProfile(opt_profileId || 'default',\n function() { this.onTerminalReady(); }.bind(this));\n};\n\n/**\n * Possible cursor shapes.\n */\nhterm.Terminal.cursorShape = {\n BLOCK: 'BLOCK',\n BEAM: 'BEAM',\n UNDERLINE: 'UNDERLINE'\n};\n\n/**\n * Clients should override this to be notified when the terminal is ready\n * for use.\n *\n * The terminal initialization is asynchronous, and shouldn't be used before\n * this method is called.\n */\nhterm.Terminal.prototype.onTerminalReady = function() { };\n\n/**\n * Default tab with of 8 to match xterm.\n */\nhterm.Terminal.prototype.tabWidth = 8;\n\n/**\n * Select a preference profile.\n *\n * This will load the terminal preferences for the given profile name and\n * associate subsequent preference changes with the new preference profile.\n *\n * @param {string} profileId The name of the preference profile. Forward slash\n * characters will be removed from the name.\n * @param {function} opt_callback Optional callback to invoke when the profile\n * transition is complete.\n */\nhterm.Terminal.prototype.setProfile = function(profileId, opt_callback) {\n this.profileId_ = profileId.replace(/\\//g, '');\n\n var terminal = this;\n\n if (this.prefs_)\n this.prefs_.deactivate();\n\n this.prefs_ = new hterm.PreferenceManager(this.profileId_);\n this.prefs_.addObservers(null, {\n 'alt-gr-mode': function(v) {\n if (v == null) {\n if (navigator.language.toLowerCase() == 'en-us') {\n v = 'none';\n } else {\n v = 'right-alt';\n }\n } else if (typeof v == 'string') {\n v = v.toLowerCase();\n } else {\n v = 'none';\n }\n\n if (!/^(none|ctrl-alt|left-alt|right-alt)$/.test(v))\n v = 'none';\n\n terminal.keyboard.altGrMode = v;\n },\n\n 'alt-backspace-is-meta-backspace': function(v) {\n terminal.keyboard.altBackspaceIsMetaBackspace = v;\n },\n\n 'alt-is-meta': function(v) {\n terminal.keyboard.altIsMeta = v;\n },\n\n 'alt-sends-what': function(v) {\n if (!/^(escape|8-bit|browser-key)$/.test(v))\n v = 'escape';\n\n terminal.keyboard.altSendsWhat = v;\n },\n\n 'audible-bell-sound': function(v) {\n var ary = v.match(/^lib-resource:(\\S+)/);\n if (ary) {\n terminal.bellAudio_.setAttribute('src',\n lib.resource.getDataUrl(ary[1]));\n } else {\n terminal.bellAudio_.setAttribute('src', v);\n }\n },\n\n 'desktop-notification-bell': function(v) {\n if (v && Notification) {\n terminal.desktopNotificationBell_ =\n Notification.permission === 'granted';\n if (!terminal.desktopNotificationBell_) {\n // Note: We don't call Notification.requestPermission here because\n // Chrome requires the call be the result of a user action (such as an\n // onclick handler), and pref listeners are run asynchronously.\n //\n // A way of working around this would be to display a dialog in the\n // terminal with a \"click-to-request-permission\" button.\n console.warn('desktop-notification-bell is true but we do not have ' +\n 'permission to display notifications.');\n }\n } else {\n terminal.desktopNotificationBell_ = false;\n }\n },\n\n 'background-color': function(v) {\n terminal.setBackgroundColor(v);\n },\n\n 'background-image': function(v) {\n terminal.scrollPort_.setBackgroundImage(v);\n },\n\n 'background-size': function(v) {\n terminal.scrollPort_.setBackgroundSize(v);\n },\n\n 'background-position': function(v) {\n terminal.scrollPort_.setBackgroundPosition(v);\n },\n\n 'backspace-sends-backspace': function(v) {\n terminal.keyboard.backspaceSendsBackspace = v;\n },\n\n 'character-map-overrides': function(v) {\n if (!(v == null || v instanceof Object)) {\n console.warn('Preference character-map-modifications is not an ' +\n 'object: ' + v);\n return;\n }\n\n terminal.vt.characterMaps.reset();\n terminal.vt.characterMaps.setOverrides(v);\n },\n\n 'cursor-blink': function(v) {\n terminal.setCursorBlink(!!v);\n },\n\n 'cursor-blink-cycle': function(v) {\n if (v instanceof Array &&\n typeof v[0] == 'number' &&\n typeof v[1] == 'number') {\n terminal.cursorBlinkCycle_ = v;\n } else if (typeof v == 'number') {\n terminal.cursorBlinkCycle_ = [v, v];\n } else {\n // Fast blink indicates an error.\n terminal.cursorBlinkCycle_ = [100, 100];\n }\n },\n\n 'cursor-color': function(v) {\n terminal.setCursorColor(v);\n },\n\n 'color-palette-overrides': function(v) {\n if (!(v == null || v instanceof Object || v instanceof Array)) {\n console.warn('Preference color-palette-overrides is not an array or ' +\n 'object: ' + v);\n return;\n }\n\n lib.colors.colorPalette = lib.colors.stockColorPalette.concat();\n\n if (v) {\n for (var key in v) {\n var i = parseInt(key);\n if (isNaN(i) || i < 0 || i > 255) {\n console.log('Invalid value in palette: ' + key + ': ' + v[key]);\n continue;\n }\n\n if (v[i]) {\n var rgb = lib.colors.normalizeCSS(v[i]);\n if (rgb)\n lib.colors.colorPalette[i] = rgb;\n }\n }\n }\n\n terminal.primaryScreen_.textAttributes.resetColorPalette();\n terminal.alternateScreen_.textAttributes.resetColorPalette();\n },\n\n 'copy-on-select': function(v) {\n terminal.copyOnSelect = !!v;\n },\n\n 'use-default-window-copy': function(v) {\n terminal.useDefaultWindowCopy = !!v;\n },\n\n 'clear-selection-after-copy': function(v) {\n terminal.clearSelectionAfterCopy = !!v;\n },\n\n 'ctrl-plus-minus-zero-zoom': function(v) {\n terminal.keyboard.ctrlPlusMinusZeroZoom = v;\n },\n\n 'ctrl-c-copy': function(v) {\n terminal.keyboard.ctrlCCopy = v;\n },\n\n 'ctrl-v-paste': function(v) {\n terminal.keyboard.ctrlVPaste = v;\n terminal.scrollPort_.setCtrlVPaste(v);\n },\n\n 'east-asian-ambiguous-as-two-column': function(v) {\n lib.wc.regardCjkAmbiguous = v;\n },\n\n 'enable-8-bit-control': function(v) {\n terminal.vt.enable8BitControl = !!v;\n },\n\n 'enable-bold': function(v) {\n terminal.syncBoldSafeState();\n },\n\n 'enable-bold-as-bright': function(v) {\n terminal.primaryScreen_.textAttributes.enableBoldAsBright = !!v;\n terminal.alternateScreen_.textAttributes.enableBoldAsBright = !!v;\n },\n\n 'enable-blink': function(v) {\n terminal.syncBlinkState();\n },\n\n 'enable-clipboard-write': function(v) {\n terminal.vt.enableClipboardWrite = !!v;\n },\n\n 'enable-dec12': function(v) {\n terminal.vt.enableDec12 = !!v;\n },\n\n 'font-family': function(v) {\n terminal.syncFontFamily();\n },\n\n 'font-size': function(v) {\n terminal.setFontSize(v);\n },\n\n 'font-smoothing': function(v) {\n terminal.syncFontFamily();\n },\n\n 'foreground-color': function(v) {\n terminal.setForegroundColor(v);\n },\n\n 'home-keys-scroll': function(v) {\n terminal.keyboard.homeKeysScroll = v;\n },\n\n 'keybindings': function(v) {\n terminal.keyboard.bindings.clear();\n\n if (!v)\n return;\n\n if (!(v instanceof Object)) {\n console.error('Error in keybindings preference: Expected object');\n return;\n }\n\n try {\n terminal.keyboard.bindings.addBindings(v);\n } catch (ex) {\n console.error('Error in keybindings preference: ' + ex);\n }\n },\n\n 'max-string-sequence': function(v) {\n terminal.vt.maxStringSequence = v;\n },\n\n 'media-keys-are-fkeys': function(v) {\n terminal.keyboard.mediaKeysAreFKeys = v;\n },\n\n 'meta-sends-escape': function(v) {\n terminal.keyboard.metaSendsEscape = v;\n },\n\n 'mouse-right-click-paste': function(v) {\n terminal.mouseRightClickPaste = v;\n },\n\n 'mouse-paste-button': function(v) {\n terminal.syncMousePasteButton();\n },\n\n 'page-keys-scroll': function(v) {\n terminal.keyboard.pageKeysScroll = v;\n },\n\n 'pass-alt-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Alt-1..9 pass to the browser (to control tab switching) on\n // non-OS X systems, or if hterm is not opened in an app window.\n v = (!osx && hterm.windowType != 'popup');\n }\n\n terminal.passAltNumber = v;\n },\n\n 'pass-ctrl-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Ctrl-1..9 pass to the browser (to control tab switching) on\n // non-OS X systems, or if hterm is not opened in an app window.\n v = (!osx && hterm.windowType != 'popup');\n }\n\n terminal.passCtrlNumber = v;\n },\n\n 'pass-meta-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Meta-1..9 pass to the browser (to control tab switching) on\n // OS X systems, or if hterm is not opened in an app window.\n v = (osx && hterm.windowType != 'popup');\n }\n\n terminal.passMetaNumber = v;\n },\n\n 'pass-meta-v': function(v) {\n terminal.keyboard.passMetaV = v;\n },\n\n 'receive-encoding': function(v) {\n if (!(/^(utf-8|raw)$/).test(v)) {\n console.warn('Invalid value for \"receive-encoding\": ' + v);\n v = 'utf-8';\n }\n\n terminal.vt.characterEncoding = v;\n },\n\n 'scroll-on-keystroke': function(v) {\n terminal.scrollOnKeystroke_ = v;\n },\n\n 'scroll-on-output': function(v) {\n terminal.scrollOnOutput_ = v;\n },\n\n 'scrollbar-visible': function(v) {\n terminal.setScrollbarVisible(v);\n },\n\n 'scroll-wheel-may-send-arrow-keys': function(v) {\n terminal.scrollWheelArrowKeys_ = v;\n },\n\n 'scroll-wheel-move-multiplier': function(v) {\n terminal.setScrollWheelMoveMultipler(v);\n },\n\n 'send-encoding': function(v) {\n if (!(/^(utf-8|raw)$/).test(v)) {\n console.warn('Invalid value for \"send-encoding\": ' + v);\n v = 'utf-8';\n }\n\n terminal.keyboard.characterEncoding = v;\n },\n\n 'shift-insert-paste': function(v) {\n terminal.keyboard.shiftInsertPaste = v;\n },\n\n 'terminal-encoding': function(v) {\n terminal.vt.setEncoding(v);\n },\n\n 'user-css': function(v) {\n terminal.scrollPort_.setUserCssUrl(v);\n },\n\n 'user-css-text': function(v) {\n terminal.scrollPort_.setUserCssText(v);\n },\n\n 'word-break-match-left': function(v) {\n terminal.primaryScreen_.wordBreakMatchLeft = v;\n terminal.alternateScreen_.wordBreakMatchLeft = v;\n },\n\n 'word-break-match-right': function(v) {\n terminal.primaryScreen_.wordBreakMatchRight = v;\n terminal.alternateScreen_.wordBreakMatchRight = v;\n },\n\n 'word-break-match-middle': function(v) {\n terminal.primaryScreen_.wordBreakMatchMiddle = v;\n terminal.alternateScreen_.wordBreakMatchMiddle = v;\n },\n });\n\n this.prefs_.readStorage(function() {\n this.prefs_.notifyAll();\n\n if (opt_callback)\n opt_callback();\n }.bind(this));\n};\n\n\n/**\n * Returns the preferences manager used for configuring this terminal.\n *\n * @return {hterm.PreferenceManager}\n */\nhterm.Terminal.prototype.getPrefs = function() {\n return this.prefs_;\n};\n\n/**\n * Enable or disable bracketed paste mode.\n *\n * @param {boolean} state The value to set.\n */\nhterm.Terminal.prototype.setBracketedPaste = function(state) {\n this.options_.bracketedPaste = state;\n};\n\n/**\n * Set the color for the cursor.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setCursorColor = function(color) {\n this.cursorColor_ = color;\n this.cursorNode_.style.backgroundColor = color;\n this.cursorNode_.style.borderColor = color;\n};\n\n/**\n * Return the current cursor color as a string.\n * @return {string}\n */\nhterm.Terminal.prototype.getCursorColor = function() {\n return this.cursorColor_;\n};\n\n/**\n * Enable or disable mouse based text selection in the terminal.\n *\n * @param {boolean} state The value to set.\n */\nhterm.Terminal.prototype.setSelectionEnabled = function(state) {\n this.enableMouseDragScroll = state;\n};\n\n/**\n * Set the background color.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setBackgroundColor = function(color) {\n this.backgroundColor_ = lib.colors.normalizeCSS(color);\n this.primaryScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.alternateScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.scrollPort_.setBackgroundColor(color);\n};\n\n/**\n * Return the current terminal background color.\n *\n * Intended for use by other classes, so we don't have to expose the entire\n * prefs_ object.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getBackgroundColor = function() {\n return this.backgroundColor_;\n};\n\n/**\n * Set the foreground color.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setForegroundColor = function(color) {\n this.foregroundColor_ = lib.colors.normalizeCSS(color);\n this.primaryScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.alternateScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.scrollPort_.setForegroundColor(color);\n};\n\n/**\n * Return the current terminal foreground color.\n *\n * Intended for use by other classes, so we don't have to expose the entire\n * prefs_ object.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getForegroundColor = function() {\n return this.foregroundColor_;\n};\n\n/**\n * Create a new instance of a terminal command and run it with a given\n * argument string.\n *\n * @param {function} commandClass The constructor for a terminal command.\n * @param {string} argString The argument string to pass to the command.\n */\nhterm.Terminal.prototype.runCommandClass = function(commandClass, argString) {\n var environment = this.prefs_.get('environment');\n if (typeof environment != 'object' || environment == null)\n environment = {};\n\n var self = this;\n this.command = new commandClass(\n { argString: argString || '',\n io: this.io.push(),\n environment: environment,\n onExit: function(code) {\n self.io.pop();\n self.uninstallKeyboard();\n if (self.prefs_.get('close-on-exit'))\n window.close();\n }\n });\n\n this.installKeyboard();\n this.command.run();\n};\n\n/**\n * Returns true if the current screen is the primary screen, false otherwise.\n *\n * @return {boolean}\n */\nhterm.Terminal.prototype.isPrimaryScreen = function() {\n return this.screen_ == this.primaryScreen_;\n};\n\n/**\n * Install the keyboard handler for this terminal.\n *\n * This will prevent the browser from seeing any keystrokes sent to the\n * terminal.\n */\nhterm.Terminal.prototype.installKeyboard = function() {\n this.keyboard.installKeyboard(this.scrollPort_.getDocument().body);\n}\n\n/**\n * Uninstall the keyboard handler for this terminal.\n */\nhterm.Terminal.prototype.uninstallKeyboard = function() {\n this.keyboard.installKeyboard(null);\n}\n\n/**\n * Set a CSS variable.\n *\n * Normally this is used to set variables in the hterm namespace.\n *\n * @param {string} name The variable to set.\n * @param {string} value The value to assign to the variable.\n * @param {string?} opt_prefix The variable namespace/prefix to use.\n */\nhterm.Terminal.prototype.setCssVar = function(name, value,\n opt_prefix='--hterm-') {\n this.document_.documentElement.style.setProperty(\n `${opt_prefix}${name}`, value);\n};\n\n/**\n * Set the font size for this terminal.\n *\n * Call setFontSize(0) to reset to the default font size.\n *\n * This function does not modify the font-size preference.\n *\n * @param {number} px The desired font size, in pixels.\n */\nhterm.Terminal.prototype.setFontSize = function(px) {\n if (px === 0)\n px = this.prefs_.get('font-size');\n\n this.scrollPort_.setFontSize(px);\n this.setCssVar('charsize-width', this.scrollPort_.characterSize.width + 'px');\n this.setCssVar('charsize-height',\n this.scrollPort_.characterSize.height + 'px');\n};\n\n/**\n * Get the current font size.\n *\n * @return {number}\n */\nhterm.Terminal.prototype.getFontSize = function() {\n return this.scrollPort_.getFontSize();\n};\n\n/**\n * Get the current font family.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getFontFamily = function() {\n return this.scrollPort_.getFontFamily();\n};\n\n/**\n * Set the CSS \"font-family\" for this terminal.\n */\nhterm.Terminal.prototype.syncFontFamily = function() {\n this.scrollPort_.setFontFamily(this.prefs_.get('font-family'),\n this.prefs_.get('font-smoothing'));\n this.syncBoldSafeState();\n};\n\n/**\n * Set this.mousePasteButton based on the mouse-paste-button pref,\n * autodetecting if necessary.\n */\nhterm.Terminal.prototype.syncMousePasteButton = function() {\n var button = this.prefs_.get('mouse-paste-button');\n if (typeof button == 'number') {\n this.mousePasteButton = button;\n return;\n }\n\n var ary = navigator.userAgent.match(/\\(X11;\\s+(\\S+)/);\n if (!ary || ary[1] == 'CrOS') {\n this.mousePasteButton = 1; // Middle mouse button.\n } else {\n this.mousePasteButton = 2; // Right mouse button.\n }\n};\n\n/**\n * Enable or disable bold based on the enable-bold pref, autodetecting if\n * necessary.\n */\nhterm.Terminal.prototype.syncBoldSafeState = function() {\n var enableBold = this.prefs_.get('enable-bold');\n if (enableBold !== null) {\n this.primaryScreen_.textAttributes.enableBold = enableBold;\n this.alternateScreen_.textAttributes.enableBold = enableBold;\n return;\n }\n\n var normalSize = this.scrollPort_.measureCharacterSize();\n var boldSize = this.scrollPort_.measureCharacterSize('bold');\n\n var isBoldSafe = normalSize.equals(boldSize);\n if (!isBoldSafe) {\n console.warn('Bold characters disabled: Size of bold weight differs ' +\n 'from normal. Font family is: ' +\n this.scrollPort_.getFontFamily());\n }\n\n this.primaryScreen_.textAttributes.enableBold = isBoldSafe;\n this.alternateScreen_.textAttributes.enableBold = isBoldSafe;\n};\n\n/**\n * Enable or disable blink based on the enable-blink pref.\n */\nhterm.Terminal.prototype.syncBlinkState = function() {\n this.setCssVar('node-duration',\n this.prefs_.get('enable-blink') ? '0.7s' : '0');\n};\n\n/**\n * Set the mouse cursor style based on the current terminal mode.\n */\nhterm.Terminal.prototype.syncMouseStyle = function() {\n this.setCssVar('mouse-cursor-style',\n this.vt.mouseReport == this.vt.MOUSE_REPORT_DISABLED ?\n 'var(--hterm-mouse-cursor-text)' :\n 'var(--hterm-mouse-cursor-pointer)');\n};\n\n/**\n * Return a copy of the current cursor position.\n *\n * @return {hterm.RowCol} The RowCol object representing the current position.\n */\nhterm.Terminal.prototype.saveCursor = function() {\n return this.screen_.cursorPosition.clone();\n};\n\n/**\n * Return the current text attributes.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getTextAttributes = function() {\n return this.screen_.textAttributes;\n};\n\n/**\n * Set the text attributes.\n *\n * @param {string} textAttributes The attributes to set.\n */\nhterm.Terminal.prototype.setTextAttributes = function(textAttributes) {\n this.screen_.textAttributes = textAttributes;\n};\n\n/**\n * Return the current browser zoom factor applied to the terminal.\n *\n * @return {number} The current browser zoom factor.\n */\nhterm.Terminal.prototype.getZoomFactor = function() {\n return this.scrollPort_.characterSize.zoomFactor;\n};\n\n/**\n * Change the title of this terminal's window.\n *\n * @param {string} title The title to set.\n */\nhterm.Terminal.prototype.setWindowTitle = function(title) {\n window.document.title = title;\n};\n\n/**\n * Restore a previously saved cursor position.\n *\n * @param {hterm.RowCol} cursor The position to restore.\n */\nhterm.Terminal.prototype.restoreCursor = function(cursor) {\n var row = lib.f.clamp(cursor.row, 0, this.screenSize.height - 1);\n var column = lib.f.clamp(cursor.column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n if (cursor.column > column ||\n cursor.column == column && cursor.overflow) {\n this.screen_.cursorPosition.overflow = true;\n }\n};\n\n/**\n * Clear the cursor's overflow flag.\n */\nhterm.Terminal.prototype.clearCursorOverflow = function() {\n this.screen_.cursorPosition.overflow = false;\n};\n\n/**\n * Sets the cursor shape\n *\n * @param {string} shape The shape to set.\n */\nhterm.Terminal.prototype.setCursorShape = function(shape) {\n this.cursorShape_ = shape;\n this.restyleCursor_();\n}\n\n/**\n * Get the cursor shape\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getCursorShape = function() {\n return this.cursorShape_;\n}\n\n/**\n * Set the width of the terminal, resizing the UI to match.\n *\n * @param {number} columnCount\n */\nhterm.Terminal.prototype.setWidth = function(columnCount) {\n if (columnCount == null) {\n this.div_.style.width = '100%';\n return;\n }\n\n this.div_.style.width = Math.ceil(\n this.scrollPort_.characterSize.width *\n columnCount + this.scrollPort_.currentScrollbarWidthPx) + 'px';\n this.realizeSize_(columnCount, this.screenSize.height);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Set the height of the terminal, resizing the UI to match.\n *\n * @param {number} rowCount The height in rows.\n */\nhterm.Terminal.prototype.setHeight = function(rowCount) {\n if (rowCount == null) {\n this.div_.style.height = '100%';\n return;\n }\n\n this.div_.style.height =\n this.scrollPort_.characterSize.height * rowCount + 'px';\n this.realizeSize_(this.screenSize.width, rowCount);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Deal with terminal size changes.\n *\n * @param {number} columnCount The number of columns.\n * @param {number} rowCount The number of rows.\n */\nhterm.Terminal.prototype.realizeSize_ = function(columnCount, rowCount) {\n if (columnCount != this.screenSize.width)\n this.realizeWidth_(columnCount);\n\n if (rowCount != this.screenSize.height)\n this.realizeHeight_(rowCount);\n\n // Send new terminal size to plugin.\n this.io.onTerminalResize_(columnCount, rowCount);\n};\n\n/**\n * Deal with terminal width changes.\n *\n * This function does what needs to be done when the terminal width changes\n * out from under us. It happens here rather than in onResize_() because this\n * code may need to run synchronously to handle programmatic changes of\n * terminal width.\n *\n * Relying on the browser to send us an async resize event means we may not be\n * in the correct state yet when the next escape sequence hits.\n *\n * @param {number} columnCount The number of columns.\n */\nhterm.Terminal.prototype.realizeWidth_ = function(columnCount) {\n if (columnCount <= 0)\n throw new Error('Attempt to realize bad width: ' + columnCount);\n\n var deltaColumns = columnCount - this.screen_.getWidth();\n\n this.screenSize.width = columnCount;\n this.screen_.setColumnCount(columnCount);\n\n if (deltaColumns > 0) {\n if (this.defaultTabStops)\n this.setDefaultTabStops(this.screenSize.width - deltaColumns);\n } else {\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] < columnCount)\n break;\n\n this.tabStops_.pop();\n }\n }\n\n this.screen_.setColumnCount(this.screenSize.width);\n};\n\n/**\n * Deal with terminal height changes.\n *\n * This function does what needs to be done when the terminal height changes\n * out from under us. It happens here rather than in onResize_() because this\n * code may need to run synchronously to handle programmatic changes of\n * terminal height.\n *\n * Relying on the browser to send us an async resize event means we may not be\n * in the correct state yet when the next escape sequence hits.\n *\n * @param {number} rowCount The number of rows.\n */\nhterm.Terminal.prototype.realizeHeight_ = function(rowCount) {\n if (rowCount <= 0)\n throw new Error('Attempt to realize bad height: ' + rowCount);\n\n var deltaRows = rowCount - this.screen_.getHeight();\n\n this.screenSize.height = rowCount;\n\n var cursor = this.saveCursor();\n\n if (deltaRows < 0) {\n // Screen got smaller.\n deltaRows *= -1;\n while (deltaRows) {\n var lastRow = this.getRowCount() - 1;\n if (lastRow - this.scrollbackRows_.length == cursor.row)\n break;\n\n if (this.getRowText(lastRow))\n break;\n\n this.screen_.popRow();\n deltaRows--;\n }\n\n var ary = this.screen_.shiftRows(deltaRows);\n this.scrollbackRows_.push.apply(this.scrollbackRows_, ary);\n\n // We just removed rows from the top of the screen, we need to update\n // the cursor to match.\n cursor.row = Math.max(cursor.row - deltaRows, 0);\n } else if (deltaRows > 0) {\n // Screen got larger.\n\n if (deltaRows <= this.scrollbackRows_.length) {\n var scrollbackCount = Math.min(deltaRows, this.scrollbackRows_.length);\n var rows = this.scrollbackRows_.splice(\n this.scrollbackRows_.length - scrollbackCount, scrollbackCount);\n this.screen_.unshiftRows(rows);\n deltaRows -= scrollbackCount;\n cursor.row += scrollbackCount;\n }\n\n if (deltaRows)\n this.appendRows_(deltaRows);\n }\n\n this.setVTScrollRegion(null, null);\n this.restoreCursor(cursor);\n};\n\n/**\n * Scroll the terminal to the top of the scrollback buffer.\n */\nhterm.Terminal.prototype.scrollHome = function() {\n this.scrollPort_.scrollRowToTop(0);\n};\n\n/**\n * Scroll the terminal to the end.\n */\nhterm.Terminal.prototype.scrollEnd = function() {\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n};\n\n/**\n * Scroll the terminal one page up (minus one line) relative to the current\n * position.\n */\nhterm.Terminal.prototype.scrollPageUp = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i - this.screenSize.height + 1);\n};\n\n/**\n * Scroll the terminal one page down (minus one line) relative to the current\n * position.\n */\nhterm.Terminal.prototype.scrollPageDown = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i + this.screenSize.height - 1);\n};\n\n/**\n * Scroll the terminal one line up relative to the current position.\n */\nhterm.Terminal.prototype.scrollLineUp = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i - 1);\n};\n\n/**\n * Scroll the terminal one line down relative to the current position.\n */\nhterm.Terminal.prototype.scrollLineDown = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i + 1);\n};\n\n/**\n * Clear primary screen, secondary screen, and the scrollback buffer.\n */\nhterm.Terminal.prototype.wipeContents = function() {\n this.scrollbackRows_.length = 0;\n this.scrollPort_.resetCache();\n\n [this.primaryScreen_, this.alternateScreen_].forEach(function(screen) {\n var bottom = screen.getHeight();\n if (bottom > 0) {\n this.renumberRows_(0, bottom);\n this.clearHome(screen);\n }\n }.bind(this));\n\n this.syncCursorPosition_();\n this.scrollPort_.invalidate();\n};\n\n/**\n * Full terminal reset.\n */\nhterm.Terminal.prototype.reset = function() {\n this.clearAllTabStops();\n this.setDefaultTabStops();\n\n this.clearHome(this.primaryScreen_);\n this.primaryScreen_.textAttributes.reset();\n\n this.clearHome(this.alternateScreen_);\n this.alternateScreen_.textAttributes.reset();\n\n this.setCursorBlink(!!this.prefs_.get('cursor-blink'));\n\n this.vt.reset();\n\n this.softReset();\n};\n\n/**\n * Soft terminal reset.\n *\n * Perform a soft reset to the default values listed in\n * http://www.vt100.net/docs/vt510-rm/DECSTR#T5-9\n */\nhterm.Terminal.prototype.softReset = function() {\n // Reset terminal options to their default values.\n this.options_ = new hterm.Options();\n\n // We show the cursor on soft reset but do not alter the blink state.\n this.options_.cursorBlink = !!this.timeouts_.cursorBlink;\n\n // Xterm also resets the color palette on soft reset, even though it doesn't\n // seem to be documented anywhere.\n this.primaryScreen_.textAttributes.resetColorPalette();\n this.alternateScreen_.textAttributes.resetColorPalette();\n\n // The xterm man page explicitly says this will happen on soft reset.\n this.setVTScrollRegion(null, null);\n\n // Xterm also shows the cursor on soft reset, but does not alter the blink\n // state.\n this.setCursorVisible(true);\n};\n\n/**\n * Move the cursor forward to the next tab stop, or to the last column\n * if no more tab stops are set.\n */\nhterm.Terminal.prototype.forwardTabStop = function() {\n var column = this.screen_.cursorPosition.column;\n\n for (var i = 0; i < this.tabStops_.length; i++) {\n if (this.tabStops_[i] > column) {\n this.setCursorColumn(this.tabStops_[i]);\n return;\n }\n }\n\n // xterm does not clear the overflow flag on HT or CHT.\n var overflow = this.screen_.cursorPosition.overflow;\n this.setCursorColumn(this.screenSize.width - 1);\n this.screen_.cursorPosition.overflow = overflow;\n};\n\n/**\n * Move the cursor backward to the previous tab stop, or to the first column\n * if no previous tab stops are set.\n */\nhterm.Terminal.prototype.backwardTabStop = function() {\n var column = this.screen_.cursorPosition.column;\n\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] < column) {\n this.setCursorColumn(this.tabStops_[i]);\n return;\n }\n }\n\n this.setCursorColumn(1);\n};\n\n/**\n * Set a tab stop at the given column.\n *\n * @param {integer} column Zero based column.\n */\nhterm.Terminal.prototype.setTabStop = function(column) {\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] == column)\n return;\n\n if (this.tabStops_[i] < column) {\n this.tabStops_.splice(i + 1, 0, column);\n return;\n }\n }\n\n this.tabStops_.splice(0, 0, column);\n};\n\n/**\n * Clear the tab stop at the current cursor position.\n *\n * No effect if there is no tab stop at the current cursor position.\n */\nhterm.Terminal.prototype.clearTabStopAtCursor = function() {\n var column = this.screen_.cursorPosition.column;\n\n var i = this.tabStops_.indexOf(column);\n if (i == -1)\n return;\n\n this.tabStops_.splice(i, 1);\n};\n\n/**\n * Clear all tab stops.\n */\nhterm.Terminal.prototype.clearAllTabStops = function() {\n this.tabStops_.length = 0;\n this.defaultTabStops = false;\n};\n\n/**\n * Set up the default tab stops, starting from a given column.\n *\n * This sets a tabstop every (column % this.tabWidth) column, starting\n * from the specified column, or 0 if no column is provided. It also flags\n * future resizes to set them up.\n *\n * This does not clear the existing tab stops first, use clearAllTabStops\n * for that.\n *\n * @param {integer} opt_start Optional starting zero based starting column, useful\n * for filling out missing tab stops when the terminal is resized.\n */\nhterm.Terminal.prototype.setDefaultTabStops = function(opt_start) {\n var start = opt_start || 0;\n var w = this.tabWidth;\n // Round start up to a default tab stop.\n start = start - 1 - ((start - 1) % w) + w;\n for (var i = start; i < this.screenSize.width; i += w) {\n this.setTabStop(i);\n }\n\n this.defaultTabStops = true;\n};\n\n/**\n * Interpret a sequence of characters.\n *\n * Incomplete escape sequences are buffered until the next call.\n *\n * @param {string} str Sequence of characters to interpret or pass through.\n */\nhterm.Terminal.prototype.interpret = function(str) {\n this.vt.interpret(str);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Take over the given DIV for use as the terminal display.\n *\n * @param {HTMLDivElement} div The div to use as the terminal display.\n */\nhterm.Terminal.prototype.decorate = function(div) {\n this.div_ = div;\n\n this.scrollPort_.decorate(div);\n this.scrollPort_.setBackgroundImage(this.prefs_.get('background-image'));\n this.scrollPort_.setBackgroundSize(this.prefs_.get('background-size'));\n this.scrollPort_.setBackgroundPosition(\n this.prefs_.get('background-position'));\n this.scrollPort_.setUserCssUrl(this.prefs_.get('user-css'));\n this.scrollPort_.setUserCssText(this.prefs_.get('user-css-text'));\n\n this.div_.focus = this.focus.bind(this);\n\n this.setFontSize(this.prefs_.get('font-size'));\n this.syncFontFamily();\n\n this.setScrollbarVisible(this.prefs_.get('scrollbar-visible'));\n this.setScrollWheelMoveMultipler(\n this.prefs_.get('scroll-wheel-move-multiplier'));\n\n this.document_ = this.scrollPort_.getDocument();\n\n this.document_.body.oncontextmenu = function() { return false; };\n\n var onMouse = this.onMouse_.bind(this);\n var screenNode = this.scrollPort_.getScreenNode();\n screenNode.addEventListener('mousedown', onMouse);\n screenNode.addEventListener('mouseup', onMouse);\n screenNode.addEventListener('mousemove', onMouse);\n this.scrollPort_.onScrollWheel = onMouse;\n\n screenNode.addEventListener(\n 'focus', this.onFocusChange_.bind(this, true));\n // Listen for mousedown events on the screenNode as in FF the focus\n // events don't bubble.\n screenNode.addEventListener('mousedown', function() {\n setTimeout(this.onFocusChange_.bind(this, true));\n }.bind(this));\n\n screenNode.addEventListener(\n 'blur', this.onFocusChange_.bind(this, false));\n\n var style = this.document_.createElement('style');\n style.textContent =\n ('.cursor-node[focus=\"false\"] {' +\n ' box-sizing: border-box;' +\n ' background-color: transparent !important;' +\n ' border-width: 2px;' +\n ' border-style: solid;' +\n '}' +\n '.wc-node {' +\n ' display: inline-block;' +\n ' text-align: center;' +\n ' width: calc(var(--hterm-charsize-width) * 2);' +\n ' line-height: var(--hterm-charsize-height);' +\n '}' +\n ':root {' +\n ' --hterm-charsize-width: ' + this.scrollPort_.characterSize.width + 'px;' +\n ' --hterm-charsize-height: ' + this.scrollPort_.characterSize.height + 'px;' +\n ' --hterm-cursor-offset-col: 0;' +\n ' --hterm-cursor-offset-row: 0;' +\n ' --hterm-blink-node-duration: 0.7s;' +\n ' --hterm-mouse-cursor-text: text;' +\n ' --hterm-mouse-cursor-pointer: default;' +\n ' --hterm-mouse-cursor-style: var(--hterm-mouse-cursor-text);' +\n '}' +\n '@keyframes blink {' +\n ' from { opacity: 1.0; }' +\n ' to { opacity: 0.0; }' +\n '}' +\n '.blink-node {' +\n ' animation-name: blink;' +\n ' animation-duration: var(--hterm-blink-node-duration);' +\n ' animation-iteration-count: infinite;' +\n ' animation-timing-function: ease-in-out;' +\n ' animation-direction: alternate;' +\n '}');\n this.document_.head.appendChild(style);\n\n this.cursorNode_ = this.document_.createElement('div');\n this.cursorNode_.id = 'hterm:terminal-cursor';\n this.cursorNode_.className = 'cursor-node';\n this.cursorNode_.style.cssText =\n ('position: absolute;' +\n 'left: calc(var(--hterm-charsize-width) * var(--hterm-cursor-offset-col));' +\n 'top: calc(var(--hterm-charsize-height) * var(--hterm-cursor-offset-row));' +\n 'display: block;' +\n 'width: var(--hterm-charsize-width);' +\n 'height: var(--hterm-charsize-height);' +\n '-webkit-transition: opacity, background-color 100ms linear;' +\n '-moz-transition: opacity, background-color 100ms linear;');\n\n this.setCursorColor(this.prefs_.get('cursor-color'));\n this.setCursorBlink(!!this.prefs_.get('cursor-blink'));\n this.restyleCursor_();\n\n this.document_.body.appendChild(this.cursorNode_);\n\n // When 'enableMouseDragScroll' is off we reposition this element directly\n // under the mouse cursor after a click. This makes Chrome associate\n // subsequent mousemove events with the scroll-blocker. Since the\n // scroll-blocker is a peer (not a child) of the scrollport, the mousemove\n // events do not cause the scrollport to scroll.\n //\n // It's a hack, but it's the cleanest way I could find.\n this.scrollBlockerNode_ = this.document_.createElement('div');\n this.scrollBlockerNode_.id = 'hterm:mouse-drag-scroll-blocker';\n this.scrollBlockerNode_.style.cssText =\n ('position: absolute;' +\n 'top: -99px;' +\n 'display: block;' +\n 'width: 10px;' +\n 'height: 10px;');\n this.document_.body.appendChild(this.scrollBlockerNode_);\n\n this.scrollPort_.onScrollWheel = onMouse;\n ['mousedown', 'mouseup', 'mousemove', 'click', 'dblclick',\n ].forEach(function(event) {\n this.scrollBlockerNode_.addEventListener(event, onMouse);\n this.cursorNode_.addEventListener(event, onMouse);\n this.document_.addEventListener(event, onMouse);\n }.bind(this));\n\n this.cursorNode_.addEventListener('mousedown', function() {\n setTimeout(this.focus.bind(this));\n }.bind(this));\n\n this.setReverseVideo(false);\n\n this.scrollPort_.focus();\n this.scrollPort_.scheduleRedraw();\n};\n\n/**\n * Return the HTML document that contains the terminal DOM nodes.\n *\n * @return {HTMLDocument}\n */\nhterm.Terminal.prototype.getDocument = function() {\n return this.document_;\n};\n\n/**\n * Focus the terminal.\n */\nhterm.Terminal.prototype.focus = function() {\n this.scrollPort_.focus();\n};\n\n/**\n * Return the HTML Element for a given row index.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch rows on demand as they are scrolled into view.\n *\n * TODO(rginda): Consider saving scrollback rows as (HTML source, text content)\n * pairs to conserve memory.\n *\n * @param {integer} index The zero-based row index, measured relative to the\n * start of the scrollback buffer. On-screen rows will always have the\n * largest indices.\n * @return {HTMLElement} The 'x-row' element containing for the requested row.\n */\nhterm.Terminal.prototype.getRowNode = function(index) {\n if (index < this.scrollbackRows_.length)\n return this.scrollbackRows_[index];\n\n var screenIndex = index - this.scrollbackRows_.length;\n return this.screen_.rowsArray[screenIndex];\n};\n\n/**\n * Return the text content for a given range of rows.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch text content on demand when the user attempts to copy their\n * selection to the clipboard.\n *\n * @param {integer} start The zero-based row index to start from, measured\n * relative to the start of the scrollback buffer. On-screen rows will\n * always have the largest indices.\n * @param {integer} end The zero-based row index to end on, measured\n * relative to the start of the scrollback buffer.\n * @return {string} A single string containing the text value of the range of\n * rows. Lines will be newline delimited, with no trailing newline.\n */\nhterm.Terminal.prototype.getRowsText = function(start, end) {\n var ary = [];\n for (var i = start; i < end; i++) {\n var node = this.getRowNode(i);\n ary.push(node.textContent);\n if (i < end - 1 && !node.getAttribute('line-overflow'))\n ary.push('\\n');\n }\n\n return ary.join('');\n};\n\n/**\n * Return the text content for a given row.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch text content on demand when the user attempts to copy their\n * selection to the clipboard.\n *\n * @param {integer} index The zero-based row index to return, measured\n * relative to the start of the scrollback buffer. On-screen rows will\n * always have the largest indices.\n * @return {string} A string containing the text value of the selected row.\n */\nhterm.Terminal.prototype.getRowText = function(index) {\n var node = this.getRowNode(index);\n return node.textContent;\n};\n\n/**\n * Return the total number of rows in the addressable screen and in the\n * scrollback buffer of this terminal.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to compute the size of the scrollbar.\n *\n * @return {integer} The number of rows in this terminal.\n */\nhterm.Terminal.prototype.getRowCount = function() {\n return this.scrollbackRows_.length + this.screen_.rowsArray.length;\n};\n\n/**\n * Create DOM nodes for new rows and append them to the end of the terminal.\n *\n * This is the only correct way to add a new DOM node for a row. Notice that\n * the new row is appended to the bottom of the list of rows, and does not\n * require renumbering (of the rowIndex property) of previous rows.\n *\n * If you think you want a new blank row somewhere in the middle of the\n * terminal, look into moveRows_().\n *\n * This method does not pay attention to vtScrollTop/Bottom, since you should\n * be using moveRows() in cases where they would matter.\n *\n * The cursor will be positioned at column 0 of the first inserted line.\n *\n * @param {number} count The number of rows to created.\n */\nhterm.Terminal.prototype.appendRows_ = function(count) {\n var cursorRow = this.screen_.rowsArray.length;\n var offset = this.scrollbackRows_.length + cursorRow;\n for (var i = 0; i < count; i++) {\n var row = this.document_.createElement('x-row');\n row.appendChild(this.document_.createTextNode(''));\n row.rowIndex = offset + i;\n this.screen_.pushRow(row);\n }\n\n var extraRows = this.screen_.rowsArray.length - this.screenSize.height;\n if (extraRows > 0) {\n var ary = this.screen_.shiftRows(extraRows);\n Array.prototype.push.apply(this.scrollbackRows_, ary);\n if (this.scrollPort_.isScrolledEnd)\n this.scheduleScrollDown_();\n }\n\n if (cursorRow >= this.screen_.rowsArray.length)\n cursorRow = this.screen_.rowsArray.length - 1;\n\n this.setAbsoluteCursorPosition(cursorRow, 0);\n};\n\n/**\n * Relocate rows from one part of the addressable screen to another.\n *\n * This is used to recycle rows during VT scrolls (those which are driven\n * by VT commands, rather than by the user manipulating the scrollbar.)\n *\n * In this case, the blank lines scrolled into the scroll region are made of\n * the nodes we scrolled off. These have their rowIndex properties carefully\n * renumbered so as not to confuse the ScrollPort.\n *\n * @param {number} fromIndex The start index.\n * @param {number} count The number of rows to move.\n * @param {number} toIndex The destination index.\n */\nhterm.Terminal.prototype.moveRows_ = function(fromIndex, count, toIndex) {\n var ary = this.screen_.removeRows(fromIndex, count);\n this.screen_.insertRows(toIndex, ary);\n\n var start, end;\n if (fromIndex < toIndex) {\n start = fromIndex;\n end = toIndex + count;\n } else {\n start = toIndex;\n end = fromIndex + count;\n }\n\n this.renumberRows_(start, end);\n this.scrollPort_.scheduleInvalidate();\n};\n\n/**\n * Renumber the rowIndex property of the given range of rows.\n *\n * The start and end indices are relative to the screen, not the scrollback.\n * Rows in the scrollback buffer cannot be renumbered. Since they are not\n * addressable (you can't delete them, scroll them, etc), you should have\n * no need to renumber scrollback rows.\n *\n * @param {number} start The start index.\n * @param {number} end The end index.\n * @param {hterm.Screen} opt_screen The screen to renumber.\n */\nhterm.Terminal.prototype.renumberRows_ = function(start, end, opt_screen) {\n var screen = opt_screen || this.screen_;\n\n var offset = this.scrollbackRows_.length;\n for (var i = start; i < end; i++) {\n screen.rowsArray[i].rowIndex = offset + i;\n }\n};\n\n/**\n * Print a string to the terminal.\n *\n * This respects the current insert and wraparound modes. It will add new lines\n * to the end of the terminal, scrolling off the top into the scrollback buffer\n * if necessary.\n *\n * The string is *not* parsed for escape codes. Use the interpret() method if\n * that's what you're after.\n *\n * @param{string} str The string to print.\n */\nhterm.Terminal.prototype.print = function(str) {\n var startOffset = 0;\n\n var strWidth = lib.wc.strWidth(str);\n\n while (startOffset < strWidth) {\n if (this.options_.wraparound && this.screen_.cursorPosition.overflow) {\n this.screen_.commitLineOverflow();\n this.newLine();\n }\n\n var count = strWidth - startOffset;\n var didOverflow = false;\n var substr;\n\n if (this.screen_.cursorPosition.column + count >= this.screenSize.width) {\n didOverflow = true;\n count = this.screenSize.width - this.screen_.cursorPosition.column;\n }\n\n if (didOverflow && !this.options_.wraparound) {\n // If the string overflowed the line but wraparound is off, then the\n // last printed character should be the last of the string.\n // TODO: This will add to our problems with multibyte UTF-16 characters.\n substr = lib.wc.substr(str, startOffset, count - 1) +\n lib.wc.substr(str, strWidth - 1);\n count = strWidth;\n } else {\n substr = lib.wc.substr(str, startOffset, count);\n }\n\n var tokens = hterm.TextAttributes.splitWidecharString(substr);\n for (var i = 0; i < tokens.length; i++) {\n this.screen_.textAttributes.wcNode = tokens[i].wcNode;\n this.screen_.textAttributes.asciiNode = tokens[i].asciiNode;\n\n if (this.options_.insertMode) {\n this.screen_.insertString(tokens[i].str);\n } else {\n this.screen_.overwriteString(tokens[i].str);\n }\n this.screen_.textAttributes.wcNode = false;\n this.screen_.textAttributes.asciiNode = true;\n }\n\n this.screen_.maybeClipCurrentRow();\n startOffset += count;\n }\n\n this.scheduleSyncCursorPosition_();\n\n if (this.scrollOnOutput_)\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n};\n\n/**\n * Set the VT scroll region.\n *\n * This also resets the cursor position to the absolute (0, 0) position, since\n * that's what xterm appears to do.\n *\n * Setting the scroll region to the full height of the terminal will clear\n * the scroll region. This is *NOT* what most terminals do. We're explicitly\n * going \"off-spec\" here because it makes `screen` and `tmux` overflow into the\n * local scrollback buffer, which means the scrollbars and shift-pgup/pgdn\n * continue to work as most users would expect.\n *\n * @param {integer} scrollTop The zero-based top of the scroll region.\n * @param {integer} scrollBottom The zero-based bottom of the scroll region,\n * inclusive.\n */\nhterm.Terminal.prototype.setVTScrollRegion = function(scrollTop, scrollBottom) {\n if (scrollTop == 0 && scrollBottom == this.screenSize.height - 1) {\n this.vtScrollTop_ = null;\n this.vtScrollBottom_ = null;\n } else {\n this.vtScrollTop_ = scrollTop;\n this.vtScrollBottom_ = scrollBottom;\n }\n};\n\n/**\n * Return the top row index according to the VT.\n *\n * This will return 0 unless the terminal has been told to restrict scrolling\n * to some lower row. It is used for some VT cursor positioning and scrolling\n * commands.\n *\n * @return {integer} The topmost row in the terminal's scroll region.\n */\nhterm.Terminal.prototype.getVTScrollTop = function() {\n if (this.vtScrollTop_ != null)\n return this.vtScrollTop_;\n\n return 0;\n};\n\n/**\n * Return the bottom row index according to the VT.\n *\n * This will return the height of the terminal unless the it has been told to\n * restrict scrolling to some higher row. It is used for some VT cursor\n * positioning and scrolling commands.\n *\n * @return {integer} The bottom most row in the terminal's scroll region.\n */\nhterm.Terminal.prototype.getVTScrollBottom = function() {\n if (this.vtScrollBottom_ != null)\n return this.vtScrollBottom_;\n\n return this.screenSize.height - 1;\n}\n\n/**\n * Process a '\\n' character.\n *\n * If the cursor is on the final row of the terminal this will append a new\n * blank row to the screen and scroll the topmost row into the scrollback\n * buffer.\n *\n * Otherwise, this moves the cursor to column zero of the next row.\n */\nhterm.Terminal.prototype.newLine = function() {\n var cursorAtEndOfScreen = (this.screen_.cursorPosition.row ==\n this.screen_.rowsArray.length - 1);\n\n if (this.vtScrollBottom_ != null) {\n // A VT Scroll region is active, we never append new rows.\n if (this.screen_.cursorPosition.row == this.vtScrollBottom_) {\n // We're at the end of the VT Scroll Region, perform a VT scroll.\n this.vtScrollUp(1);\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0);\n } else if (cursorAtEndOfScreen) {\n // We're at the end of the screen, the only thing to do is put the\n // cursor to column 0.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0);\n } else {\n // Anywhere else, advance the cursor row, and reset the column.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0);\n }\n } else if (cursorAtEndOfScreen) {\n // We're at the end of the screen. Append a new row to the terminal,\n // shifting the top row into the scrollback.\n this.appendRows_(1);\n } else {\n // Anywhere else in the screen just moves the cursor.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0);\n }\n};\n\n/**\n * Like newLine(), except maintain the cursor column.\n */\nhterm.Terminal.prototype.lineFeed = function() {\n var column = this.screen_.cursorPosition.column;\n this.newLine();\n this.setCursorColumn(column);\n};\n\n/**\n * If autoCarriageReturn is set then newLine(), else lineFeed().\n */\nhterm.Terminal.prototype.formFeed = function() {\n if (this.options_.autoCarriageReturn) {\n this.newLine();\n } else {\n this.lineFeed();\n }\n};\n\n/**\n * Move the cursor up one row, possibly inserting a blank line.\n *\n * The cursor column is not changed.\n */\nhterm.Terminal.prototype.reverseLineFeed = function() {\n var scrollTop = this.getVTScrollTop();\n var currentRow = this.screen_.cursorPosition.row;\n\n if (currentRow == scrollTop) {\n this.insertLines(1);\n } else {\n this.setAbsoluteCursorRow(currentRow - 1);\n }\n};\n\n/**\n * Replace all characters to the left of the current cursor with the space\n * character.\n *\n * TODO(rginda): This should probably *remove* the characters (not just replace\n * with a space) if there are no characters at or beyond the current cursor\n * position.\n */\nhterm.Terminal.prototype.eraseToLeft = function() {\n var cursor = this.saveCursor();\n this.setCursorColumn(0);\n this.screen_.overwriteString(lib.f.getWhitespace(cursor.column + 1));\n this.restoreCursor(cursor);\n};\n\n/**\n * Erase a given number of characters to the right of the cursor.\n *\n * The cursor position is unchanged.\n *\n * If the current background color is not the default background color this\n * will insert spaces rather than delete. This is unfortunate because the\n * trailing space will affect text selection, but it's difficult to come up\n * with a way to style empty space that wouldn't trip up the hterm.Screen\n * code.\n *\n * eraseToRight is ignored in the presence of a cursor overflow. This deviates\n * from xterm, but agrees with gnome-terminal and konsole, xfce4-terminal. See\n * crbug.com/232390 for details.\n *\n * @param {number} opt_count The number of characters to erase.\n */\nhterm.Terminal.prototype.eraseToRight = function(opt_count) {\n if (this.screen_.cursorPosition.overflow)\n return;\n\n var maxCount = this.screenSize.width - this.screen_.cursorPosition.column;\n var count = opt_count ? Math.min(opt_count, maxCount) : maxCount;\n\n if (this.screen_.textAttributes.background ===\n this.screen_.textAttributes.DEFAULT_COLOR) {\n var cursorRow = this.screen_.rowsArray[this.screen_.cursorPosition.row];\n if (hterm.TextAttributes.nodeWidth(cursorRow) <=\n this.screen_.cursorPosition.column + count) {\n this.screen_.deleteChars(count);\n this.clearCursorOverflow();\n return;\n }\n }\n\n var cursor = this.saveCursor();\n this.screen_.overwriteString(lib.f.getWhitespace(count));\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase the current line.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseLine = function() {\n var cursor = this.saveCursor();\n this.screen_.clearCursorRow();\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase all characters from the start of the screen to the current cursor\n * position, regardless of scroll region.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseAbove = function() {\n var cursor = this.saveCursor();\n\n this.eraseToLeft();\n\n for (var i = 0; i < cursor.row; i++) {\n this.setAbsoluteCursorPosition(i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase all characters from the current cursor position to the end of the\n * screen, regardless of scroll region.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseBelow = function() {\n var cursor = this.saveCursor();\n\n this.eraseToRight();\n\n var bottom = this.screenSize.height - 1;\n for (var i = cursor.row + 1; i <= bottom; i++) {\n this.setAbsoluteCursorPosition(i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Fill the terminal with a given character.\n *\n * This methods does not respect the VT scroll region.\n *\n * @param {string} ch The character to use for the fill.\n */\nhterm.Terminal.prototype.fill = function(ch) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorPosition(0, 0);\n for (var row = 0; row < this.screenSize.height; row++) {\n for (var col = 0; col < this.screenSize.width; col++) {\n this.setAbsoluteCursorPosition(row, col);\n this.screen_.overwriteString(ch);\n }\n }\n\n this.restoreCursor(cursor);\n};\n\n/**\n * Erase the entire display and leave the cursor at (0, 0).\n *\n * This does not respect the scroll region.\n *\n * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults\n * to the current screen.\n */\nhterm.Terminal.prototype.clearHome = function(opt_screen) {\n var screen = opt_screen || this.screen_;\n var bottom = screen.getHeight();\n\n if (bottom == 0) {\n // Empty screen, nothing to do.\n return;\n }\n\n for (var i = 0; i < bottom; i++) {\n screen.setCursorPosition(i, 0);\n screen.clearCursorRow();\n }\n\n screen.setCursorPosition(0, 0);\n};\n\n/**\n * Erase the entire display without changing the cursor position.\n *\n * The cursor position is unchanged. This does not respect the scroll\n * region.\n *\n * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults\n * to the current screen.\n */\nhterm.Terminal.prototype.clear = function(opt_screen) {\n var screen = opt_screen || this.screen_;\n var cursor = screen.cursorPosition.clone();\n this.clearHome(screen);\n screen.setCursorPosition(cursor.row, cursor.column);\n};\n\n/**\n * VT command to insert lines at the current cursor row.\n *\n * This respects the current scroll region. Rows pushed off the bottom are\n * lost (they won't show up in the scrollback buffer).\n *\n * @param {integer} count The number of lines to insert.\n */\nhterm.Terminal.prototype.insertLines = function(count) {\n var cursorRow = this.screen_.cursorPosition.row;\n\n var bottom = this.getVTScrollBottom();\n count = Math.min(count, bottom - cursorRow);\n\n // The moveCount is the number of rows we need to relocate to make room for\n // the new row(s). The count is the distance to move them.\n var moveCount = bottom - cursorRow - count + 1;\n if (moveCount)\n this.moveRows_(cursorRow, moveCount, cursorRow + count);\n\n for (var i = count - 1; i >= 0; i--) {\n this.setAbsoluteCursorPosition(cursorRow + i, 0);\n this.screen_.clearCursorRow();\n }\n};\n\n/**\n * VT command to delete lines at the current cursor row.\n *\n * New rows are added to the bottom of scroll region to take their place. New\n * rows are strictly there to take up space and have no content or style.\n *\n * @param {number} count The number of lines to delete.\n */\nhterm.Terminal.prototype.deleteLines = function(count) {\n var cursor = this.saveCursor();\n\n var top = cursor.row;\n var bottom = this.getVTScrollBottom();\n\n var maxCount = bottom - top + 1;\n count = Math.min(count, maxCount);\n\n var moveStart = bottom - count + 1;\n if (count != maxCount)\n this.moveRows_(top, count, moveStart);\n\n for (var i = 0; i < count; i++) {\n this.setAbsoluteCursorPosition(moveStart + i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Inserts the given number of spaces at the current cursor position.\n *\n * The cursor position is not changed.\n *\n * @param {number} count The number of spaces to insert.\n */\nhterm.Terminal.prototype.insertSpace = function(count) {\n var cursor = this.saveCursor();\n\n var ws = lib.f.getWhitespace(count || 1);\n this.screen_.insertString(ws);\n this.screen_.maybeClipCurrentRow();\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Forward-delete the specified number of characters starting at the cursor\n * position.\n *\n * @param {integer} count The number of characters to delete.\n */\nhterm.Terminal.prototype.deleteChars = function(count) {\n var deleted = this.screen_.deleteChars(count);\n if (deleted && !this.screen_.textAttributes.isDefault()) {\n var cursor = this.saveCursor();\n this.setCursorColumn(this.screenSize.width - deleted);\n this.screen_.insertString(lib.f.getWhitespace(deleted));\n this.restoreCursor(cursor);\n }\n\n this.clearCursorOverflow();\n};\n\n/**\n * Shift rows in the scroll region upwards by a given number of lines.\n *\n * New rows are inserted at the bottom of the scroll region to fill the\n * vacated rows. The new rows not filled out with the current text attributes.\n *\n * This function does not affect the scrollback rows at all. Rows shifted\n * off the top are lost.\n *\n * The cursor position is not altered.\n *\n * @param {integer} count The number of rows to scroll.\n */\nhterm.Terminal.prototype.vtScrollUp = function(count) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorRow(this.getVTScrollTop());\n this.deleteLines(count);\n\n this.restoreCursor(cursor);\n};\n\n/**\n * Shift rows below the cursor down by a given number of lines.\n *\n * This function respects the current scroll region.\n *\n * New rows are inserted at the top of the scroll region to fill the\n * vacated rows. The new rows not filled out with the current text attributes.\n *\n * This function does not affect the scrollback rows at all. Rows shifted\n * off the bottom are lost.\n *\n * @param {integer} count The number of rows to scroll.\n */\nhterm.Terminal.prototype.vtScrollDown = function(opt_count) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorPosition(this.getVTScrollTop(), 0);\n this.insertLines(opt_count);\n\n this.restoreCursor(cursor);\n};\n\n\n/**\n * Set the cursor position.\n *\n * The cursor row is relative to the scroll region if the terminal has\n * 'origin mode' enabled, or relative to the addressable screen otherwise.\n *\n * @param {integer} row The new zero-based cursor row.\n * @param {integer} row The new zero-based cursor column.\n */\nhterm.Terminal.prototype.setCursorPosition = function(row, column) {\n if (this.options_.originMode) {\n this.setRelativeCursorPosition(row, column);\n } else {\n this.setAbsoluteCursorPosition(row, column);\n }\n};\n\n/**\n * Move the cursor relative to its current position.\n *\n * @param {number} row\n * @param {number} column\n */\nhterm.Terminal.prototype.setRelativeCursorPosition = function(row, column) {\n var scrollTop = this.getVTScrollTop();\n row = lib.f.clamp(row + scrollTop, scrollTop, this.getVTScrollBottom());\n column = lib.f.clamp(column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n};\n\n/**\n * Move the cursor to the specified position.\n *\n * @param {number} row\n * @param {number} column\n */\nhterm.Terminal.prototype.setAbsoluteCursorPosition = function(row, column) {\n row = lib.f.clamp(row, 0, this.screenSize.height - 1);\n column = lib.f.clamp(column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n};\n\n/**\n * Set the cursor column.\n *\n * @param {integer} column The new zero-based cursor column.\n */\nhterm.Terminal.prototype.setCursorColumn = function(column) {\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, column);\n};\n\n/**\n * Return the cursor column.\n *\n * @return {integer} The zero-based cursor column.\n */\nhterm.Terminal.prototype.getCursorColumn = function() {\n return this.screen_.cursorPosition.column;\n};\n\n/**\n * Set the cursor row.\n *\n * The cursor row is relative to the scroll region if the terminal has\n * 'origin mode' enabled, or relative to the addressable screen otherwise.\n *\n * @param {integer} row The new cursor row.\n */\nhterm.Terminal.prototype.setAbsoluteCursorRow = function(row) {\n this.setAbsoluteCursorPosition(row, this.screen_.cursorPosition.column);\n};\n\n/**\n * Return the cursor row.\n *\n * @return {integer} The zero-based cursor row.\n */\nhterm.Terminal.prototype.getCursorRow = function() {\n return this.screen_.cursorPosition.row;\n};\n\n/**\n * Request that the ScrollPort redraw itself soon.\n *\n * The redraw will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single redraw.\n */\nhterm.Terminal.prototype.scheduleRedraw_ = function() {\n if (this.timeouts_.redraw)\n return;\n\n var self = this;\n this.timeouts_.redraw = setTimeout(function() {\n delete self.timeouts_.redraw;\n self.scrollPort_.redraw_();\n }, 0);\n};\n\n/**\n * Request that the ScrollPort be scrolled to the bottom.\n *\n * The scroll will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single scroll.\n *\n * This affects the scrollbar position of the ScrollPort, and has nothing to\n * do with the VT scroll commands.\n */\nhterm.Terminal.prototype.scheduleScrollDown_ = function() {\n if (this.timeouts_.scrollDown)\n return;\n\n var self = this;\n this.timeouts_.scrollDown = setTimeout(function() {\n delete self.timeouts_.scrollDown;\n self.scrollPort_.scrollRowToBottom(self.getRowCount());\n }, 10);\n};\n\n/**\n * Move the cursor up a specified number of rows.\n *\n * @param {integer} count The number of rows to move the cursor.\n */\nhterm.Terminal.prototype.cursorUp = function(count) {\n return this.cursorDown(-(count || 1));\n};\n\n/**\n * Move the cursor down a specified number of rows.\n *\n * @param {integer} count The number of rows to move the cursor.\n */\nhterm.Terminal.prototype.cursorDown = function(count) {\n count = count || 1;\n var minHeight = (this.options_.originMode ? this.getVTScrollTop() : 0);\n var maxHeight = (this.options_.originMode ? this.getVTScrollBottom() :\n this.screenSize.height - 1);\n\n var row = lib.f.clamp(this.screen_.cursorPosition.row + count,\n minHeight, maxHeight);\n this.setAbsoluteCursorRow(row);\n};\n\n/**\n * Move the cursor left a specified number of columns.\n *\n * If reverse wraparound mode is enabled and the previous row wrapped into\n * the current row then we back up through the wraparound as well.\n *\n * @param {integer} count The number of columns to move the cursor.\n */\nhterm.Terminal.prototype.cursorLeft = function(count) {\n count = count || 1;\n\n if (count < 1)\n return;\n\n var currentColumn = this.screen_.cursorPosition.column;\n if (this.options_.reverseWraparound) {\n if (this.screen_.cursorPosition.overflow) {\n // If this cursor is in the right margin, consume one count to get it\n // back to the last column. This only applies when we're in reverse\n // wraparound mode.\n count--;\n this.clearCursorOverflow();\n\n if (!count)\n return;\n }\n\n var newRow = this.screen_.cursorPosition.row;\n var newColumn = currentColumn - count;\n if (newColumn < 0) {\n newRow = newRow - Math.floor(count / this.screenSize.width) - 1;\n if (newRow < 0) {\n // xterm also wraps from row 0 to the last row.\n newRow = this.screenSize.height + newRow % this.screenSize.height;\n }\n newColumn = this.screenSize.width + newColumn % this.screenSize.width;\n }\n\n this.setCursorPosition(Math.max(newRow, 0), newColumn);\n\n } else {\n var newColumn = Math.max(currentColumn - count, 0);\n this.setCursorColumn(newColumn);\n }\n};\n\n/**\n * Move the cursor right a specified number of columns.\n *\n * @param {integer} count The number of columns to move the cursor.\n */\nhterm.Terminal.prototype.cursorRight = function(count) {\n count = count || 1;\n\n if (count < 1)\n return;\n\n var column = lib.f.clamp(this.screen_.cursorPosition.column + count,\n 0, this.screenSize.width - 1);\n this.setCursorColumn(column);\n};\n\n/**\n * Reverse the foreground and background colors of the terminal.\n *\n * This only affects text that was drawn with no attributes.\n *\n * TODO(rginda): Test xterm to see if reverse is respected for text that has\n * been drawn with attributes that happen to coincide with the default\n * 'no-attribute' colors. My guess is probably not.\n *\n * @param {boolean} state The state to set.\n */\nhterm.Terminal.prototype.setReverseVideo = function(state) {\n this.options_.reverseVideo = state;\n if (state) {\n this.scrollPort_.setForegroundColor(this.prefs_.get('background-color'));\n this.scrollPort_.setBackgroundColor(this.prefs_.get('foreground-color'));\n } else {\n this.scrollPort_.setForegroundColor(this.prefs_.get('foreground-color'));\n this.scrollPort_.setBackgroundColor(this.prefs_.get('background-color'));\n }\n};\n\n/**\n * Ring the terminal bell.\n *\n * This will not play the bell audio more than once per second.\n */\nhterm.Terminal.prototype.ringBell = function() {\n this.cursorNode_.style.backgroundColor =\n this.scrollPort_.getForegroundColor();\n\n var self = this;\n setTimeout(function() {\n self.cursorNode_.style.backgroundColor = self.prefs_.get('cursor-color');\n }, 200);\n\n // bellSquelchTimeout_ affects both audio and notification bells.\n if (this.bellSquelchTimeout_)\n return;\n\n if (this.bellAudio_.getAttribute('src')) {\n this.bellAudio_.play();\n this.bellSequelchTimeout_ = setTimeout(function() {\n delete this.bellSquelchTimeout_;\n }.bind(this), 500);\n } else {\n delete this.bellSquelchTimeout_;\n }\n\n if (this.desktopNotificationBell_ && !this.document_.hasFocus()) {\n var n = hterm.notify();\n this.bellNotificationList_.push(n);\n // TODO: Should we try to raise the window here?\n n.onclick = function() { self.closeBellNotifications_(); };\n }\n};\n\n/**\n * Set the origin mode bit.\n *\n * If origin mode is on, certain VT cursor and scrolling commands measure their\n * row parameter relative to the VT scroll region. Otherwise, row 0 corresponds\n * to the top of the addressable screen.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set origin mode, false to unset.\n */\nhterm.Terminal.prototype.setOriginMode = function(state) {\n this.options_.originMode = state;\n this.setCursorPosition(0, 0);\n};\n\n/**\n * Set the insert mode bit.\n *\n * If insert mode is on, existing text beyond the cursor position will be\n * shifted right to make room for new text. Otherwise, new text overwrites\n * any existing text.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set insert mode, false to unset.\n */\nhterm.Terminal.prototype.setInsertMode = function(state) {\n this.options_.insertMode = state;\n};\n\n/**\n * Set the auto carriage return bit.\n *\n * If auto carriage return is on then a formfeed character is interpreted\n * as a newline, otherwise it's the same as a linefeed. The difference boils\n * down to whether or not the cursor column is reset.\n *\n * @param {boolean} state The state to set.\n */\nhterm.Terminal.prototype.setAutoCarriageReturn = function(state) {\n this.options_.autoCarriageReturn = state;\n};\n\n/**\n * Set the wraparound mode bit.\n *\n * If wraparound mode is on, certain VT commands will allow the cursor to wrap\n * to the start of the following row. Otherwise, the cursor is clamped to the\n * end of the screen and attempts to write past it are ignored.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set wraparound mode, false to unset.\n */\nhterm.Terminal.prototype.setWraparound = function(state) {\n this.options_.wraparound = state;\n};\n\n/**\n * Set the reverse-wraparound mode bit.\n *\n * If wraparound mode is off, certain VT commands will allow the cursor to wrap\n * to the end of the previous row. Otherwise, the cursor is clamped to column\n * 0.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set reverse-wraparound mode, false to unset.\n */\nhterm.Terminal.prototype.setReverseWraparound = function(state) {\n this.options_.reverseWraparound = state;\n};\n\n/**\n * Selects between the primary and alternate screens.\n *\n * If alternate mode is on, the alternate screen is active. Otherwise the\n * primary screen is active.\n *\n * Swapping screens has no effect on the scrollback buffer.\n *\n * Each screen maintains its own cursor position.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set alternate mode, false to unset.\n */\nhterm.Terminal.prototype.setAlternateMode = function(state) {\n var cursor = this.saveCursor();\n this.screen_ = state ? this.alternateScreen_ : this.primaryScreen_;\n\n if (this.screen_.rowsArray.length &&\n this.screen_.rowsArray[0].rowIndex != this.scrollbackRows_.length) {\n // If the screen changed sizes while we were away, our rowIndexes may\n // be incorrect.\n var offset = this.scrollbackRows_.length;\n var ary = this.screen_.rowsArray;\n for (var i = 0; i < ary.length; i++) {\n ary[i].rowIndex = offset + i;\n }\n }\n\n this.realizeWidth_(this.screenSize.width);\n this.realizeHeight_(this.screenSize.height);\n this.scrollPort_.syncScrollHeight();\n this.scrollPort_.invalidate();\n\n this.restoreCursor(cursor);\n this.scrollPort_.resize();\n};\n\n/**\n * Set the cursor-blink mode bit.\n *\n * If cursor-blink is on, the cursor will blink when it is visible. Otherwise\n * a visible cursor does not blink.\n *\n * You should make sure to turn blinking off if you're going to dispose of a\n * terminal, otherwise you'll leak a timeout.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set cursor-blink mode, false to unset.\n */\nhterm.Terminal.prototype.setCursorBlink = function(state) {\n this.options_.cursorBlink = state;\n\n if (!state && this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n\n if (this.options_.cursorVisible)\n this.setCursorVisible(true);\n};\n\n/**\n * Set the cursor-visible mode bit.\n *\n * If cursor-visible is on, the cursor will be visible. Otherwise it will not.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set cursor-visible mode, false to unset.\n */\nhterm.Terminal.prototype.setCursorVisible = function(state) {\n this.options_.cursorVisible = state;\n\n if (!state) {\n if (this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n this.cursorNode_.style.opacity = '0';\n return;\n }\n\n this.syncCursorPosition_();\n\n this.cursorNode_.style.opacity = '1';\n\n if (this.options_.cursorBlink) {\n if (this.timeouts_.cursorBlink)\n return;\n\n this.onCursorBlink_();\n } else {\n if (this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n }\n};\n\n/**\n * Synchronizes the visible cursor and document selection with the current\n * cursor coordinates.\n */\nhterm.Terminal.prototype.syncCursorPosition_ = function() {\n var topRowIndex = this.scrollPort_.getTopRowIndex();\n var bottomRowIndex = this.scrollPort_.getBottomRowIndex(topRowIndex);\n var cursorRowIndex = this.scrollbackRows_.length +\n this.screen_.cursorPosition.row;\n\n if (cursorRowIndex > bottomRowIndex) {\n // Cursor is scrolled off screen, move it outside of the visible area.\n this.setCssVar('cursor-offset-row', '-1');\n return;\n }\n\n if (this.options_.cursorVisible &&\n this.cursorNode_.style.display == 'none') {\n // Re-display the terminal cursor if it was hidden by the mouse cursor.\n this.cursorNode_.style.display = '';\n }\n\n // Position the cursor using CSS variable math. If we do the math in JS,\n // the float math will end up being more precise than the CSS which will\n // cause the cursor tracking to be off.\n this.setCssVar(\n 'cursor-offset-row',\n `${cursorRowIndex - topRowIndex} + ` +\n `${this.scrollPort_.visibleRowTopMargin}px`);\n this.setCssVar('cursor-offset-col', this.screen_.cursorPosition.column);\n\n this.cursorNode_.setAttribute('title',\n '(' + this.screen_.cursorPosition.column +\n ', ' + this.screen_.cursorPosition.row +\n ')');\n\n // Update the caret for a11y purposes.\n var selection = this.document_.getSelection();\n if (selection && selection.isCollapsed)\n this.screen_.syncSelectionCaret(selection);\n};\n\n/**\n * Adjusts the style of this.cursorNode_ according to the current cursor shape\n * and character cell dimensions.\n */\nhterm.Terminal.prototype.restyleCursor_ = function() {\n var shape = this.cursorShape_;\n\n if (this.cursorNode_.getAttribute('focus') == 'false') {\n // Always show a block cursor when unfocused.\n shape = hterm.Terminal.cursorShape.BLOCK;\n }\n\n var style = this.cursorNode_.style;\n\n switch (shape) {\n case hterm.Terminal.cursorShape.BEAM:\n style.height = 'var(--hterm-charsize-height)';\n style.backgroundColor = 'transparent';\n style.borderBottomStyle = null;\n style.borderLeftStyle = 'solid';\n break;\n\n case hterm.Terminal.cursorShape.UNDERLINE:\n style.height = this.scrollPort_.characterSize.baseline + 'px';\n style.backgroundColor = 'transparent';\n style.borderBottomStyle = 'solid';\n // correct the size to put it exactly at the baseline\n style.borderLeftStyle = null;\n break;\n\n default:\n style.height = 'var(--hterm-charsize-height)';\n style.backgroundColor = this.cursorColor_;\n style.borderBottomStyle = null;\n style.borderLeftStyle = null;\n break;\n }\n};\n\n/**\n * Synchronizes the visible cursor with the current cursor coordinates.\n *\n * The sync will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single sync.\n */\nhterm.Terminal.prototype.scheduleSyncCursorPosition_ = function() {\n if (this.timeouts_.syncCursor)\n return;\n\n var self = this;\n this.timeouts_.syncCursor = setTimeout(function() {\n self.syncCursorPosition_();\n delete self.timeouts_.syncCursor;\n }, 0);\n};\n\n/**\n * Show or hide the zoom warning.\n *\n * The zoom warning is a message warning the user that their browser zoom must\n * be set to 100% in order for hterm to function properly.\n *\n * @param {boolean} state True to show the message, false to hide it.\n */\nhterm.Terminal.prototype.showZoomWarning_ = function(state) {\n if (!this.zoomWarningNode_) {\n if (!state)\n return;\n\n this.zoomWarningNode_ = this.document_.createElement('div');\n this.zoomWarningNode_.id = 'hterm:zoom-warning';\n this.zoomWarningNode_.style.cssText = (\n 'color: black;' +\n 'background-color: #ff2222;' +\n 'font-size: large;' +\n 'border-radius: 8px;' +\n 'opacity: 0.75;' +\n 'padding: 0.2em 0.5em 0.2em 0.5em;' +\n 'top: 0.5em;' +\n 'right: 1.2em;' +\n 'position: absolute;' +\n '-webkit-text-size-adjust: none;' +\n '-webkit-user-select: none;' +\n '-moz-text-size-adjust: none;' +\n '-moz-user-select: none;');\n\n this.zoomWarningNode_.addEventListener('click', function(e) {\n this.parentNode.removeChild(this);\n });\n }\n\n this.zoomWarningNode_.textContent = lib.MessageManager.replaceReferences(\n hterm.zoomWarningMessage,\n [parseInt(this.scrollPort_.characterSize.zoomFactor * 100)]);\n\n this.zoomWarningNode_.style.fontFamily = this.prefs_.get('font-family');\n\n if (state) {\n if (!this.zoomWarningNode_.parentNode)\n this.div_.parentNode.appendChild(this.zoomWarningNode_);\n } else if (this.zoomWarningNode_.parentNode) {\n this.zoomWarningNode_.parentNode.removeChild(this.zoomWarningNode_);\n }\n};\n\n/**\n * Show the terminal overlay for a given amount of time.\n *\n * The terminal overlay appears in inverse video in a large font, centered\n * over the terminal. You should probably keep the overlay message brief,\n * since it's in a large font and you probably aren't going to check the size\n * of the terminal first.\n *\n * @param {string} msg The text (not HTML) message to display in the overlay.\n * @param {number} opt_timeout The amount of time to wait before fading out\n * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay\n * stay up forever (or until the next overlay).\n */\nhterm.Terminal.prototype.showOverlay = function(msg, opt_timeout) {\n if (!this.overlayNode_) {\n if (!this.div_)\n return;\n\n this.overlayNode_ = this.document_.createElement('div');\n this.overlayNode_.style.cssText = (\n 'border-radius: 15px;' +\n 'font-size: xx-large;' +\n 'opacity: 0.75;' +\n 'padding: 0.2em 0.5em 0.2em 0.5em;' +\n 'position: absolute;' +\n '-webkit-user-select: none;' +\n '-webkit-transition: opacity 180ms ease-in;' +\n '-moz-user-select: none;' +\n '-moz-transition: opacity 180ms ease-in;');\n\n this.overlayNode_.addEventListener('mousedown', function(e) {\n e.preventDefault();\n e.stopPropagation();\n }, true);\n }\n\n this.overlayNode_.style.color = this.prefs_.get('background-color');\n this.overlayNode_.style.backgroundColor = this.prefs_.get('foreground-color');\n this.overlayNode_.style.fontFamily = this.prefs_.get('font-family');\n\n this.overlayNode_.textContent = msg;\n this.overlayNode_.style.opacity = '0.75';\n\n if (!this.overlayNode_.parentNode)\n this.div_.appendChild(this.overlayNode_);\n\n var divSize = hterm.getClientSize(this.div_);\n var overlaySize = hterm.getClientSize(this.overlayNode_);\n\n this.overlayNode_.style.top =\n (divSize.height - overlaySize.height) / 2 + 'px';\n this.overlayNode_.style.left = (divSize.width - overlaySize.width -\n this.scrollPort_.currentScrollbarWidthPx) / 2 + 'px';\n\n var self = this;\n\n if (this.overlayTimeout_)\n clearTimeout(this.overlayTimeout_);\n\n if (opt_timeout === null)\n return;\n\n this.overlayTimeout_ = setTimeout(function() {\n self.overlayNode_.style.opacity = '0';\n self.overlayTimeout_ = setTimeout(function() {\n if (self.overlayNode_.parentNode)\n self.overlayNode_.parentNode.removeChild(self.overlayNode_);\n self.overlayTimeout_ = null;\n self.overlayNode_.style.opacity = '0.75';\n }, 200);\n }, opt_timeout || 1500);\n};\n\n/**\n * Paste from the system clipboard to the terminal.\n */\nhterm.Terminal.prototype.paste = function() {\n return hterm.pasteFromClipboard(this.document_);\n};\n\n/**\n * Copy a string to the system clipboard.\n *\n * Note: If there is a selected range in the terminal, it'll be cleared.\n *\n * @param {string} str The string to copy.\n */\nhterm.Terminal.prototype.copyStringToClipboard = function(str) {\n if (this.prefs_.get('enable-clipboard-notice'))\n setTimeout(this.showOverlay.bind(this, hterm.notifyCopyMessage, 500), 200);\n\n var copySource = this.document_.createElement('pre');\n copySource.id = 'hterm:copy-to-clipboard-source';\n copySource.textContent = str;\n copySource.style.cssText = (\n '-webkit-user-select: text;' +\n '-moz-user-select: text;' +\n 'position: absolute;' +\n 'top: -99px');\n\n this.document_.body.appendChild(copySource);\n\n var selection = this.document_.getSelection();\n var anchorNode = selection.anchorNode;\n var anchorOffset = selection.anchorOffset;\n var focusNode = selection.focusNode;\n var focusOffset = selection.focusOffset;\n\n selection.selectAllChildren(copySource);\n\n hterm.copySelectionToClipboard(this.document_);\n\n // IE doesn't support selection.extend. This means that the selection\n // won't return on IE.\n if (selection.extend) {\n selection.collapse(anchorNode, anchorOffset);\n selection.extend(focusNode, focusOffset);\n }\n\n copySource.parentNode.removeChild(copySource);\n};\n\n/**\n * Returns the selected text, or null if no text is selected.\n *\n * @return {string|null}\n */\nhterm.Terminal.prototype.getSelectionText = function() {\n var selection = this.scrollPort_.selection;\n selection.sync();\n\n if (selection.isCollapsed)\n return null;\n\n\n // Start offset measures from the beginning of the line.\n var startOffset = selection.startOffset;\n var node = selection.startNode;\n\n if (node.nodeName != 'X-ROW') {\n // If the selection doesn't start on an x-row node, then it must be\n // somewhere inside the x-row. Add any characters from previous siblings\n // into the start offset.\n\n if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') {\n // If node is the text node in a styled span, move up to the span node.\n node = node.parentNode;\n }\n\n while (node.previousSibling) {\n node = node.previousSibling;\n startOffset += hterm.TextAttributes.nodeWidth(node);\n }\n }\n\n // End offset measures from the end of the line.\n var endOffset = (hterm.TextAttributes.nodeWidth(selection.endNode) -\n selection.endOffset);\n node = selection.endNode;\n\n if (node.nodeName != 'X-ROW') {\n // If the selection doesn't end on an x-row node, then it must be\n // somewhere inside the x-row. Add any characters from following siblings\n // into the end offset.\n\n if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') {\n // If node is the text node in a styled span, move up to the span node.\n node = node.parentNode;\n }\n\n while (node.nextSibling) {\n node = node.nextSibling;\n endOffset += hterm.TextAttributes.nodeWidth(node);\n }\n }\n\n var rv = this.getRowsText(selection.startRow.rowIndex,\n selection.endRow.rowIndex + 1);\n return lib.wc.substring(rv, startOffset, lib.wc.strWidth(rv) - endOffset);\n};\n\n/**\n * Copy the current selection to the system clipboard, then clear it after a\n * short delay.\n */\nhterm.Terminal.prototype.copySelectionToClipboard = function() {\n var text = this.getSelectionText();\n if (text != null)\n this.copyStringToClipboard(text);\n};\n\nhterm.Terminal.prototype.overlaySize = function() {\n this.showOverlay(this.screenSize.width + 'x' + this.screenSize.height);\n};\n\n/**\n * Invoked by hterm.Terminal.Keyboard when a VT keystroke is detected.\n *\n * @param {string} string The VT string representing the keystroke, in UTF-16.\n */\nhterm.Terminal.prototype.onVTKeystroke = function(string) {\n if (this.scrollOnKeystroke_)\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n\n this.io.onVTKeystroke(this.keyboard.encode(string));\n};\n\n/**\n * Launches url in a new tab.\n *\n * @param {string} url URL to launch in a new tab.\n */\nhterm.Terminal.prototype.openUrl = function(url) {\n if (window.chrome && window.chrome.browser) {\n // For Chrome v2 apps, we need to use this API to properly open windows.\n chrome.browser.openTab({'url': url});\n } else {\n var win = window.open(url, '_blank');\n win.focus();\n }\n}\n\n/**\n * Open the selected url.\n */\nhterm.Terminal.prototype.openSelectedUrl_ = function() {\n var str = this.getSelectionText();\n\n // If there is no selection, try and expand wherever they clicked.\n if (str == null) {\n this.screen_.expandSelection(this.document_.getSelection());\n str = this.getSelectionText();\n\n // If clicking in empty space, return.\n if (str == null)\n return;\n }\n\n // Make sure URL is valid before opening.\n if (str.length > 2048 || str.search(/[\\s\\[\\](){}<>\"'\\\\^`]/) >= 0)\n return;\n\n // If the URI isn't anchored, it'll open relative to the extension.\n // We have no way of knowing the correct schema, so assume http.\n if (str.search('^[a-zA-Z][a-zA-Z0-9+.-]*://') < 0) {\n // We have to whitelist a few protocols that lack authorities and thus\n // never use the //. Like mailto.\n switch (str.split(':', 1)[0]) {\n case 'mailto':\n break;\n default:\n str = 'http://' + str;\n break;\n }\n }\n\n this.openUrl(str);\n}\n\n\n/**\n * Add the terminalRow and terminalColumn properties to mouse events and\n * then forward on to onMouse().\n *\n * The terminalRow and terminalColumn properties contain the (row, column)\n * coordinates for the mouse event.\n *\n * @param {Event} e The mouse event to handle.\n */\nhterm.Terminal.prototype.onMouse_ = function(e) {\n if (e.processedByTerminalHandler_) {\n // We register our event handlers on the document, as well as the cursor\n // and the scroll blocker. Mouse events that occur on the cursor or\n // scroll blocker will also appear on the document, but we don't want to\n // process them twice.\n //\n // We can't just prevent bubbling because that has other side effects, so\n // we decorate the event object with this property instead.\n return;\n }\n\n var reportMouseEvents = (!this.defeatMouseReports_ &&\n this.vt.mouseReport != this.vt.MOUSE_REPORT_DISABLED);\n\n e.processedByTerminalHandler_ = true;\n\n // One based row/column stored on the mouse event.\n e.terminalRow = parseInt((e.clientY - this.scrollPort_.visibleRowTopMargin) /\n this.scrollPort_.characterSize.height) + 1;\n e.terminalColumn = parseInt(e.clientX /\n this.scrollPort_.characterSize.width) + 1;\n\n if (e.type == 'mousedown' && e.terminalColumn > this.screenSize.width) {\n // Mousedown in the scrollbar area.\n return;\n }\n\n if (this.options_.cursorVisible && !reportMouseEvents) {\n // If the cursor is visible and we're not sending mouse events to the\n // host app, then we want to hide the terminal cursor when the mouse\n // cursor is over top. This keeps the terminal cursor from interfering\n // with local text selection.\n if (e.terminalRow - 1 == this.screen_.cursorPosition.row &&\n e.terminalColumn - 1 == this.screen_.cursorPosition.column) {\n this.cursorNode_.style.display = 'none';\n } else if (this.cursorNode_.style.display == 'none') {\n this.cursorNode_.style.display = '';\n }\n }\n\n if (e.type == 'mousedown') {\n if (e.altKey || !reportMouseEvents) {\n // If VT mouse reporting is disabled, or has been defeated with\n // alt-mousedown, then the mouse will act on the local selection.\n this.defeatMouseReports_ = true;\n this.setSelectionEnabled(true);\n } else {\n // Otherwise we defer ownership of the mouse to the VT.\n this.defeatMouseReports_ = false;\n this.document_.getSelection().collapseToEnd();\n this.setSelectionEnabled(false);\n e.preventDefault();\n }\n }\n\n if (!reportMouseEvents) {\n if (e.type == 'dblclick' && this.copyOnSelect) {\n this.screen_.expandSelection(this.document_.getSelection());\n this.copySelectionToClipboard(this.document_);\n }\n\n if (e.type == 'click' && !e.shiftKey && (e.ctrlKey || e.metaKey)) {\n // Debounce this event with the dblclick event. If you try to doubleclick\n // a URL to open it, Chrome will fire click then dblclick, but we won't\n // have expanded the selection text at the first click event.\n clearTimeout(this.timeouts_.openUrl);\n this.timeouts_.openUrl = setTimeout(this.openSelectedUrl_.bind(this),\n 500);\n return;\n }\n\n if (e.type == 'mousedown') {\n if ((this.mouseRightClickPaste && e.button == 2 /* right button */) ||\n e.button == this.mousePasteButton) {\n if (!this.paste())\n console.warning('Could not paste manually due to web restrictions');;\n }\n }\n\n if (e.type == 'mouseup' && e.button == 0 && this.copyOnSelect &&\n !this.document_.getSelection().isCollapsed) {\n this.copySelectionToClipboard(this.document_);\n }\n\n if ((e.type == 'mousemove' || e.type == 'mouseup') &&\n this.scrollBlockerNode_.engaged) {\n // Disengage the scroll-blocker after one of these events.\n this.scrollBlockerNode_.engaged = false;\n this.scrollBlockerNode_.style.top = '-99px';\n }\n\n // Emulate arrow key presses via scroll wheel events.\n if (this.scrollWheelArrowKeys_ && !e.shiftKey &&\n this.keyboard.applicationCursor && !this.isPrimaryScreen()) {\n if (e.type == 'wheel') {\n var delta = this.scrollPort_.scrollWheelDelta(e);\n var lines = lib.f.smartFloorDivide(\n Math.abs(delta), this.scrollPort_.characterSize.height);\n\n var data = '\\x1bO' + (delta < 0 ? 'B' : 'A');\n this.io.sendString(data.repeat(lines));\n\n e.preventDefault();\n }\n }\n } else /* if (this.reportMouseEvents) */ {\n if (!this.scrollBlockerNode_.engaged) {\n if (e.type == 'mousedown') {\n // Move the scroll-blocker into place if we want to keep the scrollport\n // from scrolling.\n this.scrollBlockerNode_.engaged = true;\n this.scrollBlockerNode_.style.top = (e.clientY - 5) + 'px';\n this.scrollBlockerNode_.style.left = (e.clientX - 5) + 'px';\n } else if (e.type == 'mousemove') {\n // Oh. This means that drag-scroll was disabled AFTER the mouse down,\n // in which case it's too late to engage the scroll-blocker.\n this.document_.getSelection().collapseToEnd();\n e.preventDefault();\n }\n }\n\n this.onMouse(e);\n }\n\n if (e.type == 'mouseup' && this.document_.getSelection().isCollapsed) {\n // Restore this on mouseup in case it was temporarily defeated with a\n // alt-mousedown. Only do this when the selection is empty so that\n // we don't immediately kill the users selection.\n this.defeatMouseReports_ = false;\n }\n};\n\n/**\n * Clients should override this if they care to know about mouse events.\n *\n * The event parameter will be a normal DOM mouse click event with additional\n * 'terminalRow' and 'terminalColumn' properties.\n *\n * @param {Event} e The mouse event to handle.\n */\nhterm.Terminal.prototype.onMouse = function(e) { };\n\n/**\n * React when focus changes.\n *\n * @param {boolean} focused True if focused, false otherwise.\n */\nhterm.Terminal.prototype.onFocusChange_ = function(focused) {\n this.cursorNode_.setAttribute('focus', focused);\n this.restyleCursor_();\n if (focused === true)\n this.closeBellNotifications_();\n};\n\n/**\n * React when the ScrollPort is scrolled.\n */\nhterm.Terminal.prototype.onScroll_ = function() {\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * React when text is pasted into the scrollPort.\n *\n * @param {Event} e The DOM paste event to handle.\n */\nhterm.Terminal.prototype.onPaste_ = function(e) {\n var data = e.text.replace(/\\n/mg, '\\r');\n data = this.keyboard.encode(data);\n if (this.options_.bracketedPaste)\n data = '\\x1b[200~' + data + '\\x1b[201~';\n\n this.io.sendString(data);\n};\n\n/**\n * React when the user tries to copy from the scrollPort.\n *\n * @param {Event} e The DOM copy event.\n */\nhterm.Terminal.prototype.onCopy_ = function(e) {\n if (!this.useDefaultWindowCopy) {\n e.preventDefault();\n setTimeout(this.copySelectionToClipboard.bind(this), 0);\n }\n};\n\n/**\n * React when the ScrollPort is resized.\n *\n * Note: This function should not directly contain code that alters the internal\n * state of the terminal. That kind of code belongs in realizeWidth or\n * realizeHeight, so that it can be executed synchronously in the case of a\n * programmatic width change.\n */\nhterm.Terminal.prototype.onResize_ = function() {\n var columnCount = Math.floor(this.scrollPort_.getScreenWidth() /\n this.scrollPort_.characterSize.width) || 0;\n var rowCount = lib.f.smartFloorDivide(this.scrollPort_.getScreenHeight(),\n this.scrollPort_.characterSize.height) || 0;\n\n if (columnCount <= 0 || rowCount <= 0) {\n // We avoid these situations since they happen sometimes when the terminal\n // gets removed from the document or during the initial load, and we can't\n // deal with that.\n // This can also happen if called before the scrollPort calculates the\n // character size, meaning we dived by 0 above and default to 0 values.\n return;\n }\n\n var isNewSize = (columnCount != this.screenSize.width ||\n rowCount != this.screenSize.height);\n\n // We do this even if the size didn't change, just to be sure everything is\n // in sync.\n this.realizeSize_(columnCount, rowCount);\n this.showZoomWarning_(this.scrollPort_.characterSize.zoomFactor != 1);\n\n if (isNewSize)\n this.overlaySize();\n\n this.restyleCursor_();\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Service the cursor blink timeout.\n */\nhterm.Terminal.prototype.onCursorBlink_ = function() {\n if (!this.options_.cursorBlink) {\n delete this.timeouts_.cursorBlink;\n return;\n }\n\n if (this.cursorNode_.getAttribute('focus') == 'false' ||\n this.cursorNode_.style.opacity == '0') {\n this.cursorNode_.style.opacity = '1';\n this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_,\n this.cursorBlinkCycle_[0]);\n } else {\n this.cursorNode_.style.opacity = '0';\n this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_,\n this.cursorBlinkCycle_[1]);\n }\n};\n\n/**\n * Set the scrollbar-visible mode bit.\n *\n * If scrollbar-visible is on, the vertical scrollbar will be visible.\n * Otherwise it will not.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set scrollbar-visible mode, false to unset.\n */\nhterm.Terminal.prototype.setScrollbarVisible = function(state) {\n this.scrollPort_.setScrollbarVisible(state);\n};\n\n/**\n * Set the scroll wheel move multiplier. This will affect how fast the page\n * scrolls on wheel events.\n *\n * Defaults to 1.\n *\n * @param {number} multiplier The multiplier to set.\n */\nhterm.Terminal.prototype.setScrollWheelMoveMultipler = function(multiplier) {\n this.scrollPort_.setScrollWheelMoveMultipler(multiplier);\n};\n\n/**\n * Close all web notifications created by terminal bells.\n */\nhterm.Terminal.prototype.closeBellNotifications_ = function() {\n this.bellNotificationList_.forEach(function(n) {\n n.close();\n });\n this.bellNotificationList_.length = 0;\n};\n// SOURCE FILE: hterm/js/hterm_terminal_io.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.encodeUTF8');\n\n/**\n * Input/Output interface used by commands to communicate with the terminal.\n *\n * Commands like `nassh` and `crosh` receive an instance of this class as\n * part of their argv object. This allows them to write to and read from the\n * terminal without exposing them to an entire hterm.Terminal instance.\n *\n * The active command must override the onVTKeystroke() and sendString() methods\n * of this class in order to receive keystrokes and send output to the correct\n * destination.\n *\n * Isolating commands from the terminal provides the following benefits:\n * - Provides a mechanism to save and restore onVTKeystroke and sendString\n * handlers when invoking subcommands (see the push() and pop() methods).\n * - The isolation makes it easier to make changes in Terminal and supporting\n * classes without affecting commands.\n * - In The Future commands may run in web workers where they would only be able\n * to talk to a Terminal instance through an IPC mechanism.\n *\n * @param {hterm.Terminal}\n */\nhterm.Terminal.IO = function(terminal) {\n this.terminal_ = terminal;\n\n // The IO object to restore on IO.pop().\n this.previousIO_ = null;\n};\n\n/**\n * Show the terminal overlay for a given amount of time.\n *\n * The terminal overlay appears in inverse video in a large font, centered\n * over the terminal. You should probably keep the overlay message brief,\n * since it's in a large font and you probably aren't going to check the size\n * of the terminal first.\n *\n * @param {string} msg The text (not HTML) message to display in the overlay.\n * @param {number} opt_timeout The amount of time to wait before fading out\n * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay\n * stay up forever (or until the next overlay).\n */\nhterm.Terminal.IO.prototype.showOverlay = function(message, opt_timeout) {\n this.terminal_.showOverlay(message, opt_timeout);\n};\n\n/**\n * Open an frame in the current terminal window, pointed to the specified\n * url.\n *\n * Eventually we'll probably need size/position/decoration options.\n * The user should also be able to move/resize the frame.\n *\n * @param {string} url The URL to load in the frame.\n * @param {Object} opt_options Optional frame options. Not implemented.\n */\nhterm.Terminal.IO.prototype.createFrame = function(url, opt_options) {\n return new hterm.Frame(this.terminal_, url, opt_options);\n};\n\n/**\n * Change the preference profile for the terminal.\n *\n * @param profileName {string} The name of the preference profile to activate.\n */\nhterm.Terminal.IO.prototype.setTerminalProfile = function(profileName) {\n this.terminal_.setProfile(profileName);\n};\n\n/**\n * Create a new hterm.Terminal.IO instance and make it active on the Terminal\n * object associated with this instance.\n *\n * This is used to pass control of the terminal IO off to a subcommand. The\n * IO.pop() method can be used to restore control when the subcommand completes.\n */\nhterm.Terminal.IO.prototype.push = function() {\n var io = new hterm.Terminal.IO(this.terminal_);\n io.keyboardCaptured_ = this.keyboardCaptured_;\n\n io.columnCount = this.columnCount;\n io.rowCount = this.rowCount;\n\n io.previousIO_ = this.terminal_.io;\n this.terminal_.io = io;\n\n return io;\n};\n\n/**\n * Restore the Terminal's previous IO object.\n */\nhterm.Terminal.IO.prototype.pop = function() {\n this.terminal_.io = this.previousIO_;\n};\n\n/**\n * Called when data needs to be sent to the current command.\n *\n * Clients should override this to receive notification of pending data.\n *\n * @param {string} string The data to send.\n */\nhterm.Terminal.IO.prototype.sendString = function(string) {\n // Override this.\n console.log('Unhandled sendString: ' + string);\n};\n\n/**\n * Called when a terminal keystroke is detected.\n *\n * Clients should override this to receive notification of keystrokes.\n *\n * The keystroke data will be encoded according to the 'send-encoding'\n * preference.\n *\n * @param {string} string The VT key sequence.\n */\nhterm.Terminal.IO.prototype.onVTKeystroke = function(string) {\n // Override this.\n console.log('Unobserverd VT keystroke: ' + JSON.stringify(string));\n};\n\nhterm.Terminal.IO.prototype.onTerminalResize_ = function(width, height) {\n var obj = this;\n while (obj) {\n obj.columnCount = width;\n obj.rowCount = height;\n obj = obj.previousIO_;\n }\n\n this.onTerminalResize(width, height);\n};\n\n/**\n * Called when terminal size is changed.\n *\n * Clients should override this to receive notification of resize.\n *\n * @param {string|integer} terminal width.\n * @param {string|integer} terminal height.\n */\nhterm.Terminal.IO.prototype.onTerminalResize = function(width, height) {\n // Override this.\n};\n\n/**\n * Write a UTF-8 encoded byte string to the terminal.\n *\n * @param {string} string The UTF-8 encoded string to print.\n */\nhterm.Terminal.IO.prototype.writeUTF8 = function(string) {\n if (this.terminal_.io != this)\n throw 'Attempt to print from inactive IO object.';\n\n this.terminal_.interpret(string);\n};\n\n/**\n * Write a UTF-8 encoded byte string to the terminal followed by crlf.\n *\n * @param {string} string The UTF-8 encoded string to print.\n */\nhterm.Terminal.IO.prototype.writelnUTF8 = function(string) {\n if (this.terminal_.io != this)\n throw 'Attempt to print from inactive IO object.';\n\n this.terminal_.interpret(string + '\\r\\n');\n};\n\n/**\n * Write a UTF-16 JavaScript string to the terminal.\n *\n * @param {string} string The string to print.\n */\nhterm.Terminal.IO.prototype.print =\nhterm.Terminal.IO.prototype.writeUTF16 = function(string) {\n this.writeUTF8(lib.encodeUTF8(string));\n};\n\n/**\n * Print a UTF-16 JavaScript string to the terminal followed by a newline.\n *\n * @param {string} string The string to print.\n */\nhterm.Terminal.IO.prototype.println =\nhterm.Terminal.IO.prototype.writelnUTF16 = function(string) {\n this.writelnUTF8(lib.encodeUTF8(string));\n};\n// SOURCE FILE: hterm/js/hterm_text_attributes.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors');\n\n/**\n * Constructor for TextAttribute objects.\n *\n * These objects manage a set of text attributes such as foreground/\n * background color, bold, faint, italic, blink, underline, and strikethrough.\n *\n * TextAttribute instances can be used to construct a DOM container implementing\n * the current attributes, or to test an existing DOM container for\n * compatibility with the current attributes.\n *\n * @constructor\n * @param {HTMLDocument} document The parent document to use when creating\n * new DOM containers.\n */\nhterm.TextAttributes = function(document) {\n this.document_ = document;\n // These variables contain the source of the color as either:\n // SRC_DEFAULT (use context default)\n // SRC_RGB (specified in 'rgb( r, g, b)' form)\n // number (representing the index from color palette to use)\n this.foregroundSource = this.SRC_DEFAULT;\n this.backgroundSource = this.SRC_DEFAULT;\n\n // These properties cache the value in the color table, but foregroundSource\n // and backgroundSource contain the canonical values.\n this.foreground = this.DEFAULT_COLOR;\n this.background = this.DEFAULT_COLOR;\n\n this.defaultForeground = 'rgb(255, 255, 255)';\n this.defaultBackground = 'rgb(0, 0, 0)';\n\n this.bold = false;\n this.faint = false;\n this.italic = false;\n this.blink = false;\n this.underline = false;\n this.strikethrough = false;\n this.inverse = false;\n this.invisible = false;\n this.wcNode = false;\n this.asciiNode = true;\n this.tileData = null;\n\n this.colorPalette = null;\n this.resetColorPalette();\n};\n\n/**\n * If false, we ignore the bold attribute.\n *\n * This is used for fonts that have a bold version that is a different size\n * than the normal weight version.\n */\nhterm.TextAttributes.prototype.enableBold = true;\n\n/**\n * If true, use bright colors (if available) for bold text.\n *\n * This setting is independent of the enableBold setting.\n */\nhterm.TextAttributes.prototype.enableBoldAsBright = true;\n\n/**\n * A sentinel constant meaning \"whatever the default color is in this context\".\n */\nhterm.TextAttributes.prototype.DEFAULT_COLOR = lib.f.createEnum('');\n\n/**\n * A constant string used to specify that source color is context default.\n */\nhterm.TextAttributes.prototype.SRC_DEFAULT = 'default';\n\n\n/**\n * A constant string used to specify that the source of a color is a valid\n * rgb( r, g, b) specifier.\n */\nhterm.TextAttributes.prototype.SRC_RGB = 'rgb';\n\n/**\n * The document object which should own the DOM nodes created by this instance.\n *\n * @param {HTMLDocument} document The parent document.\n */\nhterm.TextAttributes.prototype.setDocument = function(document) {\n this.document_ = document;\n};\n\n/**\n * Create a deep copy of this object.\n *\n * @return {hterm.TextAttributes} A deep copy of this object.\n */\nhterm.TextAttributes.prototype.clone = function() {\n var rv = new hterm.TextAttributes(null);\n\n for (var key in this) {\n rv[key] = this[key];\n }\n\n rv.colorPalette = this.colorPalette.concat();\n return rv;\n};\n\n/**\n * Reset the current set of attributes.\n *\n * This does not affect the palette. Use resetColorPalette() for that.\n * It also doesn't affect the tile data, it's not meant to.\n */\nhterm.TextAttributes.prototype.reset = function() {\n this.foregroundSource = this.SRC_DEFAULT;\n this.backgroundSource = this.SRC_DEFAULT;\n this.foreground = this.DEFAULT_COLOR;\n this.background = this.DEFAULT_COLOR;\n this.bold = false;\n this.faint = false;\n this.italic = false;\n this.blink = false;\n this.underline = false;\n this.strikethrough = false;\n this.inverse = false;\n this.invisible = false;\n this.wcNode = false;\n this.asciiNode = true;\n};\n\n/**\n * Reset the color palette to the default state.\n */\nhterm.TextAttributes.prototype.resetColorPalette = function() {\n this.colorPalette = lib.colors.colorPalette.concat();\n this.syncColors();\n};\n\n/**\n * Test if the current attributes describe unstyled text.\n *\n * @return {boolean} True if the current attributes describe unstyled text.\n */\nhterm.TextAttributes.prototype.isDefault = function() {\n return (this.foregroundSource == this.SRC_DEFAULT &&\n this.backgroundSource == this.SRC_DEFAULT &&\n !this.bold &&\n !this.faint &&\n !this.italic &&\n !this.blink &&\n !this.underline &&\n !this.strikethrough &&\n !this.inverse &&\n !this.invisible &&\n !this.wcNode &&\n this.asciiNode &&\n this.tileData == null);\n};\n\n/**\n * Create a DOM container (a span or a text node) with a style to match the\n * current set of attributes.\n *\n * This method will create a plain text node if the text is unstyled, or\n * an HTML span if the text is styled. Due to lack of monospace wide character\n * fonts on certain systems (e.g. Chrome OS), we need to put each wide character\n * in a span of CSS class '.wc-node' which has double column width.\n * Each vt_tiledata tile is also represented by a span with a single\n * character, with CSS classes '.tile' and '.tile_'.\n *\n * @param {string} opt_textContent Optional text content for the new container.\n * @return {HTMLNode} An HTML span or text nodes styled to match the current\n * attributes.\n */\nhterm.TextAttributes.prototype.createContainer = function(opt_textContent) {\n if (this.isDefault())\n return this.document_.createTextNode(opt_textContent);\n\n var span = this.document_.createElement('span');\n var style = span.style;\n var classes = [];\n\n if (this.foreground != this.DEFAULT_COLOR)\n style.color = this.foreground;\n\n if (this.background != this.DEFAULT_COLOR)\n style.backgroundColor = this.background;\n\n if (this.enableBold && this.bold)\n style.fontWeight = 'bold';\n\n if (this.faint)\n span.faint = true;\n\n if (this.italic)\n style.fontStyle = 'italic';\n\n if (this.blink) {\n classes.push('blink-node');\n span.blinkNode = true;\n }\n\n var textDecoration = '';\n if (this.underline) {\n textDecoration += ' underline';\n span.underline = true;\n }\n if (this.strikethrough) {\n textDecoration += ' line-through';\n span.strikethrough = true;\n }\n if (textDecoration) {\n style.textDecoration = textDecoration;\n }\n\n if (this.wcNode) {\n classes.push('wc-node');\n span.wcNode = true;\n span.asciiNode = false;\n }\n\n if (this.tileData != null) {\n classes.push('tile');\n classes.push('tile_' + this.tileData);\n span.tileNode = true;\n }\n\n if (opt_textContent)\n span.textContent = opt_textContent;\n\n if (classes.length)\n span.className = classes.join(' ');\n\n return span;\n};\n\n/**\n * Tests if the provided object (string, span or text node) has the same\n * style as this TextAttributes instance.\n *\n * This indicates that text with these attributes could be inserted directly\n * into the target DOM node.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj The object to test.\n * @return {boolean} True if the provided container has the same style as\n * this attributes instance.\n */\nhterm.TextAttributes.prototype.matchesContainer = function(obj) {\n if (typeof obj == 'string' || obj.nodeType == 3)\n return this.isDefault();\n\n var style = obj.style;\n\n // We don't want to put multiple characters in a wcNode or a tile.\n // See the comments in createContainer.\n return (!(this.wcNode || obj.wcNode) &&\n this.asciiNode == this.asciiNode &&\n !(this.tileData != null || obj.tileNode) &&\n this.foreground == style.color &&\n this.background == style.backgroundColor &&\n (this.enableBold && this.bold) == !!style.fontWeight &&\n this.blink == obj.blinkNode &&\n this.italic == !!style.fontStyle &&\n !!this.underline == !!obj.underline &&\n !!this.strikethrough == !!obj.strikethrough);\n};\n\nhterm.TextAttributes.prototype.setDefaults = function(foreground, background) {\n this.defaultForeground = foreground;\n this.defaultBackground = background;\n\n this.syncColors();\n};\n\n/**\n * Updates foreground and background properties based on current indices and\n * other state.\n *\n * @param {string} terminalForeground The terminal foreground color for use as\n * inverse text background.\n * @param {string} terminalBackground The terminal background color for use as\n * inverse text foreground.\n *\n */\nhterm.TextAttributes.prototype.syncColors = function() {\n function getBrightIndex(i) {\n if (i < 8) {\n // If the color is from the lower half of the ANSI 16, add 8.\n return i + 8;\n }\n\n // If it's not from the 16 color palette, ignore bold requests. This\n // matches the behavior of gnome-terminal.\n return i;\n }\n\n var foregroundSource = this.foregroundSource;\n var backgroundSource = this.backgroundSource;\n var defaultForeground = this.DEFAULT_COLOR;\n var defaultBackground = this.DEFAULT_COLOR;\n\n if (this.inverse) {\n foregroundSource = this.backgroundSource;\n backgroundSource = this.foregroundSource;\n // We can't inherit the container's color anymore.\n defaultForeground = this.defaultBackground;\n defaultBackground = this.defaultForeground;\n }\n\n if (this.enableBoldAsBright && this.bold) {\n if (foregroundSource != this.SRC_DEFAULT &&\n foregroundSource != this.SRC_RGB) {\n foregroundSource = getBrightIndex(foregroundSource);\n }\n }\n\n if (this.invisible) {\n foregroundSource = backgroundSource;\n defaultForeground = this.defaultBackground;\n }\n\n // Set fore/background colors unless already specified in rgb(r, g, b) form.\n if (foregroundSource != this.SRC_RGB) {\n this.foreground = ((foregroundSource == this.SRC_DEFAULT) ?\n defaultForeground : this.colorPalette[foregroundSource]);\n }\n\n if (this.faint && !this.invisible) {\n var colorToMakeFaint = ((this.foreground == this.DEFAULT_COLOR) ?\n this.defaultForeground : this.foreground);\n this.foreground = lib.colors.mix(colorToMakeFaint, 'rgb(0, 0, 0)', 0.3333);\n }\n\n if (backgroundSource != this.SRC_RGB) {\n this.background = ((backgroundSource == this.SRC_DEFAULT) ?\n defaultBackground : this.colorPalette[backgroundSource]);\n }\n};\n\n/**\n * Static method used to test if the provided objects (strings, spans or\n * text nodes) have the same style.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj1 An object to test.\n * @param {string|HTMLNode} obj2 Another object to test.\n * @return {boolean} True if the containers have the same style.\n */\nhterm.TextAttributes.containersMatch = function(obj1, obj2) {\n if (typeof obj1 == 'string')\n return hterm.TextAttributes.containerIsDefault(obj2);\n\n if (obj1.nodeType != obj2.nodeType)\n return false;\n\n if (obj1.nodeType == 3)\n return true;\n\n var style1 = obj1.style;\n var style2 = obj2.style;\n\n return (style1.color == style2.color &&\n style1.backgroundColor == style2.backgroundColor &&\n style1.fontWeight == style2.fontWeight &&\n style1.fontStyle == style2.fontStyle &&\n style1.textDecoration == style2.textDecoration);\n};\n\n/**\n * Static method to test if a given DOM container represents unstyled text.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj1 An object to test.\n * @return {boolean} True if the object is unstyled.\n */\nhterm.TextAttributes.containerIsDefault = function(obj) {\n return typeof obj == 'string' || obj.nodeType == 3;\n};\n\n/**\n * Static method to get the column width of a node's textContent.\n *\n * @param {HTMLElement} node The HTML element to get the width of textContent\n * from.\n * @return {integer} The column width of the node's textContent.\n */\nhterm.TextAttributes.nodeWidth = function(node) {\n if (!node.asciiNode) {\n return lib.wc.strWidth(node.textContent);\n } else {\n return node.textContent.length;\n }\n}\n\n/**\n * Static method to get the substr of a node's textContent. The start index\n * and substr width are computed in column width.\n *\n * @param {HTMLElement} node The HTML element to get the substr of textContent\n * from.\n * @param {integer} start The starting offset in column width.\n * @param {integer} width The width to capture in column width.\n * @return {integer} The extracted substr of the node's textContent.\n */\nhterm.TextAttributes.nodeSubstr = function(node, start, width) {\n if (!node.asciiNode) {\n return lib.wc.substr(node.textContent, start, width);\n } else {\n return node.textContent.substr(start, width);\n }\n}\n\n/**\n * Static method to get the substring based of a node's textContent. The\n * start index of end index are computed in column width.\n *\n * @param {HTMLElement} node The HTML element to get the substr of textContent\n * from.\n * @param {integer} start The starting offset in column width.\n * @param {integer} end The ending offset in column width.\n * @return {integer} The extracted substring of the node's textContent.\n */\nhterm.TextAttributes.nodeSubstring = function(node, start, end) {\n if (!node.asciiNode) {\n return lib.wc.substring(node.textContent, start, end);\n } else {\n return node.textContent.substring(start, end);\n }\n};\n\n/**\n * Static method to split a string into contiguous runs of single-width\n * characters and runs of double-width characters.\n *\n * @param {string} str The string to split.\n * @return {Array} An array of objects that contain substrings of str, where\n * each substring is either a contiguous runs of single-width characters\n * or a double-width character. For objects that contain a double-width\n * character, its wcNode property is set to true. For objects that contain\n * only ASCII content, its asciiNode property is set to true.\n */\nhterm.TextAttributes.splitWidecharString = function(str) {\n var rv = [];\n var base = 0, length = 0;\n var asciiNode = true;\n\n for (var i = 0; i < str.length;) {\n var c = str.codePointAt(i);\n var increment = (c <= 0xffff) ? 1 : 2;\n if (c < 128) {\n length += increment;\n } else if (lib.wc.charWidth(c) <= 1) {\n length += increment;\n asciiNode = false;\n } else {\n if (length) {\n rv.push({\n str: str.substr(base, length),\n asciiNode: asciiNode,\n });\n asciiNode = true;\n }\n rv.push({\n str: str.substr(i, increment),\n wcNode: true,\n asciiNode: false,\n });\n base = i + increment;\n length = 0;\n }\n i += increment;\n }\n\n if (length) {\n rv.push({\n str: str.substr(base, length),\n asciiNode: asciiNode,\n });\n }\n\n return rv;\n};\n// SOURCE FILE: hterm/js/hterm_vt.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors', 'lib.f', 'lib.UTF8Decoder',\n 'hterm.VT.CharacterMap');\n\n/**\n * Constructor for the VT escape sequence interpreter.\n *\n * The interpreter operates on a terminal object capable of performing cursor\n * move operations, painting characters, etc.\n *\n * This interpreter is intended to be compatible with xterm, though it\n * ignores some of the more esoteric escape sequences.\n *\n * Control sequences are documented in hterm/doc/ControlSequences.md.\n *\n * @param {hterm.Terminal} terminal Terminal to use with the interpreter.\n */\nhterm.VT = function(terminal) {\n /**\n * The display terminal object associated with this virtual terminal.\n */\n this.terminal = terminal;\n\n terminal.onMouse = this.onTerminalMouse_.bind(this);\n this.mouseReport = this.MOUSE_REPORT_DISABLED;\n\n // Parse state left over from the last parse. You should use the parseState\n // instance passed into your parse routine, rather than reading\n // this.parseState_ directly.\n this.parseState_ = new hterm.VT.ParseState(this.parseUnknown_);\n\n // Any \"leading modifiers\" for the escape sequence, such as '?', ' ', or the\n // other modifiers handled in this.parseCSI_.\n this.leadingModifier_ = '';\n\n // Any \"trailing modifiers\". Same character set as a leading modifier,\n // except these are found after the numeric arguments.\n this.trailingModifier_ = '';\n\n // Whether or not to respect the escape codes for setting terminal width.\n this.allowColumnWidthChanges_ = false;\n\n // The amount of time we're willing to wait for the end of an OSC sequence.\n this.oscTimeLimit_ = 20000;\n\n // Decoder to maintain UTF-8 decode state.\n this.utf8Decoder_ = new lib.UTF8Decoder();\n\n /**\n * Whether to accept the 8-bit control characters.\n *\n * An 8-bit control character is one with the eighth bit set. These\n * didn't work on 7-bit terminals so they all have two byte equivalents.\n * Most hosts still only use the two-byte versions.\n *\n * We ignore 8-bit control codes by default. This is in order to avoid\n * issues with \"accidental\" usage of codes that need to be terminated.\n * The \"accident\" usually involves cat'ing binary data.\n */\n this.enable8BitControl = false;\n\n /**\n * Whether to allow the OSC 52 sequence to write to the system clipboard.\n */\n this.enableClipboardWrite = true;\n\n /**\n * Respect the host's attempt to change the cursor blink status using\n * the DEC Private mode 12.\n */\n this.enableDec12 = false;\n\n /**\n * The expected encoding method for data received from the host.\n */\n this.characterEncoding = 'utf-8';\n\n /**\n * Max length of an unterminated DCS, OSC, PM or APC sequence before we give\n * up and ignore the code.\n *\n * These all end with a String Terminator (ST, '\\x9c', ESC '\\\\') or\n * (BEL, '\\x07') character, hence the \"string sequence\" moniker.\n */\n this.maxStringSequence = 1024;\n\n /**\n * If true, emit warnings when we encounter a control character or escape\n * sequence that we don't recognize or explicitly ignore.\n */\n this.warnUnimplemented = true;\n\n /**\n * The set of available character maps (used by G0...G3 below).\n */\n this.characterMaps = new hterm.VT.CharacterMaps();\n\n /**\n * The default G0...G3 character maps.\n * We default to the US/ASCII map everywhere as that aligns with other\n * terminals, and it makes it harder to accidentally switch to the graphics\n * character map (Ctrl-N). Any program that wants to use the graphics map\n * will usually select it anyways since there's no guarantee what state any\n * of the maps are in at any particular time.\n */\n this.G0 = this.G1 = this.G2 = this.G3 =\n this.characterMaps.getMap('B');\n\n /**\n * The 7-bit visible character set.\n *\n * This is a mapping from inbound data to display glyph. The GL set\n * contains the 94 bytes from 0x21 to 0x7e.\n *\n * The default GL set is 'B', US ASCII.\n */\n this.GL = 'G0';\n\n /**\n * The 8-bit visible character set.\n *\n * This is a mapping from inbound data to display glyph. The GR set\n * contains the 94 bytes from 0xa1 to 0xfe.\n */\n this.GR = 'G0';\n\n /**\n * The current encoding of the terminal.\n *\n * We only support ECMA-35 and UTF-8, so go with a boolean here.\n * The encoding can be locked too.\n */\n this.codingSystemUtf8_ = false;\n this.codingSystemLocked_ = false;\n\n // Construct a regular expression to match the known one-byte control chars.\n // This is used in parseUnknown_ to quickly scan a string for the next\n // control character.\n this.cc1Pattern_ = null;\n this.updateEncodingState_();\n\n // Saved state used in DECSC.\n //\n // This is a place to store a copy VT state, it is *not* the active state.\n this.savedState_ = new hterm.VT.CursorState(this);\n};\n\n/**\n * No mouse events.\n */\nhterm.VT.prototype.MOUSE_REPORT_DISABLED = 0;\n\n/**\n * DECSET mode 1000.\n *\n * Report mouse down/up events only.\n */\nhterm.VT.prototype.MOUSE_REPORT_CLICK = 1;\n\n/**\n * DECSET mode 1002.\n *\n * Report mouse down/up and movement while a button is down.\n */\nhterm.VT.prototype.MOUSE_REPORT_DRAG = 3;\n\n/**\n * ParseState constructor.\n *\n * This object tracks the current state of the parse. It has fields for the\n * current buffer, position in the buffer, and the parse function.\n *\n * @param {function} defaultFunc The default parser function.\n * @param {string} opt_buf Optional string to use as the current buffer.\n */\nhterm.VT.ParseState = function(defaultFunction, opt_buf) {\n this.defaultFunction = defaultFunction;\n this.buf = opt_buf || null;\n this.pos = 0;\n this.func = defaultFunction;\n this.args = [];\n};\n\n/**\n * Reset the parser function, buffer, and position.\n */\nhterm.VT.ParseState.prototype.reset = function(opt_buf) {\n this.resetParseFunction();\n this.resetBuf(opt_buf || '');\n this.resetArguments();\n};\n\n/**\n * Reset the parser function only.\n */\nhterm.VT.ParseState.prototype.resetParseFunction = function() {\n this.func = this.defaultFunction;\n};\n\n/**\n * Reset the buffer and position only.\n *\n * @param {string} buf Optional new value for buf, defaults to null.\n */\nhterm.VT.ParseState.prototype.resetBuf = function(opt_buf) {\n this.buf = (typeof opt_buf == 'string') ? opt_buf : null;\n this.pos = 0;\n};\n\n/**\n * Reset the arguments list only.\n *\n * @param {string} opt_arg_zero Optional initial value for args[0].\n */\nhterm.VT.ParseState.prototype.resetArguments = function(opt_arg_zero) {\n this.args.length = 0;\n if (typeof opt_arg_zero != 'undefined')\n this.args[0] = opt_arg_zero;\n};\n\n/**\n * Get an argument as an integer.\n *\n * @param {number} argnum The argument number to retrieve.\n */\nhterm.VT.ParseState.prototype.iarg = function(argnum, defaultValue) {\n var str = this.args[argnum];\n if (str) {\n var ret = parseInt(str, 10);\n // An argument of zero is treated as the default value.\n if (ret == 0)\n ret = defaultValue;\n return ret;\n }\n return defaultValue;\n};\n\n/**\n * Advance the parse position.\n *\n * @param {integer} count The number of bytes to advance.\n */\nhterm.VT.ParseState.prototype.advance = function(count) {\n this.pos += count;\n};\n\n/**\n * Return the remaining portion of the buffer without affecting the parse\n * position.\n *\n * @return {string} The remaining portion of the buffer.\n */\nhterm.VT.ParseState.prototype.peekRemainingBuf = function() {\n return this.buf.substr(this.pos);\n};\n\n/**\n * Return the next single character in the buffer without affecting the parse\n * position.\n *\n * @return {string} The next character in the buffer.\n */\nhterm.VT.ParseState.prototype.peekChar = function() {\n return this.buf.substr(this.pos, 1);\n};\n\n/**\n * Return the next single character in the buffer and advance the parse\n * position one byte.\n *\n * @return {string} The next character in the buffer.\n */\nhterm.VT.ParseState.prototype.consumeChar = function() {\n return this.buf.substr(this.pos++, 1);\n};\n\n/**\n * Return true if the buffer is empty, or the position is past the end.\n */\nhterm.VT.ParseState.prototype.isComplete = function() {\n return this.buf == null || this.buf.length <= this.pos;\n};\n\nhterm.VT.CursorState = function(vt) {\n this.vt_ = vt;\n this.save();\n};\n\nhterm.VT.CursorState.prototype.save = function() {\n this.cursor = this.vt_.terminal.saveCursor();\n\n this.textAttributes = this.vt_.terminal.getTextAttributes().clone();\n\n this.GL = this.vt_.GL;\n this.GR = this.vt_.GR;\n\n this.G0 = this.vt_.G0;\n this.G1 = this.vt_.G1;\n this.G2 = this.vt_.G2;\n this.G3 = this.vt_.G3;\n};\n\nhterm.VT.CursorState.prototype.restore = function() {\n this.vt_.terminal.restoreCursor(this.cursor);\n\n this.vt_.terminal.setTextAttributes(this.textAttributes.clone());\n\n this.vt_.GL = this.GL;\n this.vt_.GR = this.GR;\n\n this.vt_.G0 = this.G0;\n this.vt_.G1 = this.G1;\n this.vt_.G2 = this.G2;\n this.vt_.G3 = this.G3;\n};\n\nhterm.VT.prototype.reset = function() {\n this.G0 = this.characterMaps.getMap('B');\n this.G1 = this.characterMaps.getMap('0');\n this.G2 = this.characterMaps.getMap('B');\n this.G3 = this.characterMaps.getMap('B');\n\n this.GL = 'G0';\n this.GR = 'G0';\n\n this.savedState_ = new hterm.VT.CursorState(this);\n\n this.mouseReport = this.MOUSE_REPORT_DISABLED;\n};\n\n/**\n * Handle terminal mouse events.\n *\n * See the \"Mouse Tracking\" section of [xterm].\n */\nhterm.VT.prototype.onTerminalMouse_ = function(e) {\n if (this.mouseReport == this.MOUSE_REPORT_DISABLED)\n return;\n\n // Temporary storage for our response.\n var response;\n\n // Modifier key state.\n var mod = 0;\n if (e.shiftKey)\n mod |= 4;\n if (e.metaKey || (this.terminal.keyboard.altIsMeta && e.altKey))\n mod |= 8;\n if (e.ctrlKey)\n mod |= 16;\n\n // TODO(rginda): We should also support mode 1005 and/or 1006 to extend the\n // coordinate space. Though, after poking around just a little, I wasn't\n // able to get vi or emacs to use either of these modes.\n var x = String.fromCharCode(lib.f.clamp(e.terminalColumn + 32, 32, 255));\n var y = String.fromCharCode(lib.f.clamp(e.terminalRow + 32, 32, 255));\n\n switch (e.type) {\n case 'wheel':\n // Mouse wheel is treated as button 1 or 2 plus an additional 64.\n b = (((e.deltaY * -1) > 0) ? 0 : 1) + 96;\n b |= mod;\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n\n // Keep the terminal from scrolling.\n e.preventDefault();\n break;\n\n case 'mousedown':\n // Buttons are encoded as button number plus 32.\n var b = Math.min(e.button, 2) + 32;\n\n // And mix in the modifier keys.\n b |= mod;\n\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n break;\n\n case 'mouseup':\n // Mouse up has no indication of which button was released.\n response = '\\x1b[M\\x23' + x + y;\n break;\n\n case 'mousemove':\n if (this.mouseReport == this.MOUSE_REPORT_DRAG && e.buttons) {\n // Standard button bits. The XTerm protocol only reports the first\n // button press (e.g. if left & right are pressed, right is ignored),\n // and it only supports the first three buttons. If none of them are\n // pressed, then XTerm flags it as a release. We'll do the same.\n b = 32;\n\n // Priority here matches XTerm: left, middle, right.\n if (e.buttons & 0x1) {\n // Report left button.\n b += 0;\n } else if (e.buttons & 0x4) {\n // Report middle button.\n b += 1;\n } else if (e.buttons & 0x2) {\n // Report right button.\n b += 2;\n } else {\n // Release higher buttons.\n b += 3;\n }\n\n // Add 32 to indicate mouse motion.\n b += 32;\n\n // And mix in the modifier keys.\n b |= mod;\n\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n }\n\n break;\n\n case 'click':\n case 'dblclick':\n break;\n\n default:\n console.error('Unknown mouse event: ' + e.type, e);\n break;\n }\n\n if (response)\n this.terminal.io.sendString(response);\n};\n\n/**\n * Interpret a string of characters, displaying the results on the associated\n * terminal object.\n *\n * The buffer will be decoded according to the 'receive-encoding' preference.\n */\nhterm.VT.prototype.interpret = function(buf) {\n this.parseState_.resetBuf(this.decode(buf));\n\n while (!this.parseState_.isComplete()) {\n var func = this.parseState_.func;\n var pos = this.parseState_.pos;\n var buf = this.parseState_.buf;\n\n this.parseState_.func.call(this, this.parseState_);\n\n if (this.parseState_.func == func && this.parseState_.pos == pos &&\n this.parseState_.buf == buf) {\n throw 'Parser did not alter the state!';\n }\n }\n};\n\n/**\n * Decode a string according to the 'receive-encoding' preference.\n */\nhterm.VT.prototype.decode = function(str) {\n if (this.characterEncoding == 'utf-8')\n return this.decodeUTF8(str);\n\n return str;\n};\n\n/**\n * Encode a UTF-16 string as UTF-8.\n *\n * See also: https://en.wikipedia.org/wiki/UTF-16\n */\nhterm.VT.prototype.encodeUTF8 = function(str) {\n return lib.encodeUTF8(str);\n};\n\n/**\n * Decode a UTF-8 string into UTF-16.\n */\nhterm.VT.prototype.decodeUTF8 = function(str) {\n return this.utf8Decoder_.decode(str);\n};\n\n/**\n * Set the encoding of the terminal.\n *\n * @param {string} encoding The name of the encoding to set.\n */\nhterm.VT.prototype.setEncoding = function(encoding) {\n switch (encoding) {\n default:\n console.warn('Invalid value for \"terminal-encoding\": ' + encoding);\n // Fall through.\n case 'iso-2022':\n this.codingSystemUtf8_ = false;\n this.codingSystemLocked_ = false;\n break;\n case 'utf-8-locked':\n this.codingSystemUtf8_ = true;\n this.codingSystemLocked_ = true;\n break;\n case 'utf-8':\n this.codingSystemUtf8_ = true;\n this.codingSystemLocked_ = false;\n break;\n }\n\n this.updateEncodingState_();\n};\n\n/**\n * Refresh internal state when the encoding changes.\n */\nhterm.VT.prototype.updateEncodingState_ = function() {\n // If we're in UTF8 mode, don't suport 8-bit escape sequences as we'll never\n // see those -- everything should be UTF8!\n var cc1 = Object.keys(hterm.VT.CC1)\n .filter((e) => !this.codingSystemUtf8_ || e.charCodeAt() < 0x80)\n .map((e) => '\\\\x' + lib.f.zpad(e.charCodeAt().toString(16), 2))\n .join('');\n this.cc1Pattern_ = new RegExp(`[${cc1}]`);\n};\n\n/**\n * The default parse function.\n *\n * This will scan the string for the first 1-byte control character (C0/C1\n * characters from [CTRL]). Any plain text coming before the code will be\n * printed to the terminal, then the control character will be dispatched.\n */\nhterm.VT.prototype.parseUnknown_ = function(parseState) {\n var self = this;\n\n function print(str) {\n if (!self.codingSystemUtf8_ && self[self.GL].GL)\n str = self[self.GL].GL(str);\n\n self.terminal.print(str);\n };\n\n // Search for the next contiguous block of plain text.\n var buf = parseState.peekRemainingBuf();\n var nextControl = buf.search(this.cc1Pattern_);\n\n if (nextControl == 0) {\n // We've stumbled right into a control character.\n this.dispatch('CC1', buf.substr(0, 1), parseState);\n parseState.advance(1);\n return;\n }\n\n if (nextControl == -1) {\n // There are no control characters in this string.\n print(buf);\n parseState.reset();\n return;\n }\n\n print(buf.substr(0, nextControl));\n this.dispatch('CC1', buf.substr(nextControl, 1), parseState);\n parseState.advance(nextControl + 1);\n};\n\n/**\n * Parse a Control Sequence Introducer code and dispatch it.\n *\n * See [CSI] for some useful information about these codes.\n */\nhterm.VT.prototype.parseCSI_ = function(parseState) {\n var ch = parseState.peekChar();\n var args = parseState.args;\n\n if (ch >= '@' && ch <= '~') {\n // This is the final character.\n this.dispatch('CSI', this.leadingModifier_ + this.trailingModifier_ + ch,\n parseState);\n parseState.resetParseFunction();\n\n } else if (ch == ';') {\n // Parameter delimiter.\n if (this.trailingModifier_) {\n // Parameter delimiter after the trailing modifier. That's a paddlin'.\n parseState.resetParseFunction();\n\n } else {\n if (!args.length) {\n // They omitted the first param, we need to supply it.\n args.push('');\n }\n\n args.push('');\n }\n\n } else if (ch >= '0' && ch <= '9') {\n // Next byte in the current parameter.\n\n if (this.trailingModifier_) {\n // Numeric parameter after the trailing modifier. That's a paddlin'.\n parseState.resetParseFunction();\n } else {\n if (!args.length) {\n args[0] = ch;\n } else {\n args[args.length - 1] += ch;\n }\n }\n\n } else if (ch >= ' ' && ch <= '?' && ch != ':') {\n // Modifier character.\n if (!args.length) {\n this.leadingModifier_ += ch;\n } else {\n this.trailingModifier_ += ch;\n }\n\n } else if (this.cc1Pattern_.test(ch)) {\n // Control character.\n this.dispatch('CC1', ch, parseState);\n\n } else {\n // Unexpected character in sequence, bail out.\n parseState.resetParseFunction();\n }\n\n parseState.advance(1);\n};\n\n/**\n * Skip over the string until the next String Terminator (ST, 'ESC \\') or\n * Bell (BEL, '\\x07').\n *\n * The string is accumulated in parseState.args[0]. Make sure to reset the\n * arguments (with parseState.resetArguments) before starting the parse.\n *\n * You can detect that parsing in complete by checking that the parse\n * function has changed back to the default parse function.\n *\n * If we encounter more than maxStringSequence characters, we send back\n * the unterminated sequence to be re-parsed with the default parser function.\n *\n * @return {boolean} If true, parsing is ongoing or complete. If false, we've\n * exceeded the max string sequence.\n */\nhterm.VT.prototype.parseUntilStringTerminator_ = function(parseState) {\n var buf = parseState.peekRemainingBuf();\n var nextTerminator = buf.search(/(\\x1b\\\\|\\x07)/);\n var args = parseState.args;\n\n if (!args.length) {\n args[0] = '';\n args[1] = new Date();\n }\n\n if (nextTerminator == -1) {\n // No terminator here, have to wait for the next string.\n\n args[0] += buf;\n\n var abortReason;\n\n if (args[0].length > this.maxStringSequence)\n abortReason = 'too long: ' + args[0].length;\n\n if (args[0].indexOf('\\x1b') != -1)\n abortReason = 'embedded escape: ' + args[0].indexOf('\\x1b');\n\n if (new Date() - args[1] > this.oscTimeLimit_)\n abortReason = 'timeout expired: ' + new Date() - args[1];\n\n if (abortReason) {\n console.log('parseUntilStringTerminator_: aborting: ' + abortReason,\n args[0]);\n parseState.reset(args[0]);\n return false;\n }\n\n parseState.advance(buf.length);\n return true;\n }\n\n if (args[0].length + nextTerminator > this.maxStringSequence) {\n // We found the end of the sequence, but we still think it's too long.\n parseState.reset(args[0] + buf);\n return false;\n }\n\n args[0] += buf.substr(0, nextTerminator);\n\n parseState.resetParseFunction();\n parseState.advance(nextTerminator +\n (buf.substr(nextTerminator, 1) == '\\x1b' ? 2 : 1));\n\n return true;\n};\n\n/**\n * Dispatch to the function that handles a given CC1, ESC, or CSI or VT52 code.\n */\nhterm.VT.prototype.dispatch = function(type, code, parseState) {\n var handler = hterm.VT[type][code];\n if (!handler) {\n if (this.warnUnimplemented)\n console.warn('Unknown ' + type + ' code: ' + JSON.stringify(code));\n return;\n }\n\n if (handler == hterm.VT.ignore) {\n if (this.warnUnimplemented)\n console.warn('Ignored ' + type + ' code: ' + JSON.stringify(code));\n return;\n }\n\n if (type == 'CC1' && code > '\\x7f' && !this.enable8BitControl) {\n // It's kind of a hack to put this here, but...\n //\n // If we're dispatching a 'CC1' code, and it's got the eighth bit set,\n // but we're not supposed to handle 8-bit codes? Just ignore it.\n //\n // This prevents an errant (DCS, '\\x90'), (OSC, '\\x9d'), (PM, '\\x9e') or\n // (APC, '\\x9f') from locking up the terminal waiting for its expected\n // (ST, '\\x9c') or (BEL, '\\x07').\n console.warn('Ignoring 8-bit control code: 0x' +\n code.charCodeAt(0).toString(16));\n return;\n }\n\n handler.apply(this, [parseState, code]);\n};\n\n/**\n * Set one of the ANSI defined terminal mode bits.\n *\n * Invoked in response to SM/RM.\n *\n * Unexpected and unimplemented values are silently ignored.\n */\nhterm.VT.prototype.setANSIMode = function(code, state) {\n if (code == 4) { // Insert Mode (IRM)\n this.terminal.setInsertMode(state);\n } else if (code == 20) { // Automatic Newline (LNM)\n this.terminal.setAutoCarriageReturn(state);\n } else if (this.warnUnimplemented) {\n console.warn('Unimplemented ANSI Mode: ' + code);\n }\n};\n\n/**\n * Set or reset one of the DEC Private modes.\n *\n * Invoked in response to DECSET/DECRST.\n */\nhterm.VT.prototype.setDECMode = function(code, state) {\n switch (parseInt(code, 10)) {\n case 1: // DECCKM\n this.terminal.keyboard.applicationCursor = state;\n break;\n\n case 3: // DECCOLM\n if (this.allowColumnWidthChanges_) {\n this.terminal.setWidth(state ? 132 : 80);\n\n this.terminal.clearHome();\n this.terminal.setVTScrollRegion(null, null);\n }\n break;\n\n case 5: // DECSCNM\n this.terminal.setReverseVideo(state);\n break;\n\n case 6: // DECOM\n this.terminal.setOriginMode(state);\n break;\n\n case 7: // DECAWM\n this.terminal.setWraparound(state);\n break;\n\n case 12: // Start blinking cursor\n if (this.enableDec12)\n this.terminal.setCursorBlink(state);\n break;\n\n case 25: // DECTCEM\n this.terminal.setCursorVisible(state);\n break;\n\n case 30: // Show scrollbar\n this.terminal.setScrollbarVisible(state);\n break;\n\n case 40: // Allow 80 - 132 (DECCOLM) Mode\n this.terminal.allowColumnWidthChanges_ = state;\n break;\n\n case 45: // Reverse-wraparound Mode\n this.terminal.setReverseWraparound(state);\n break;\n\n case 67: // Backarrow key sends backspace (DECBKM)\n this.terminal.keyboard.backspaceSendsBackspace = state;\n break;\n\n case 1000: // Report on mouse clicks only.\n this.mouseReport = (\n state ? this.MOUSE_REPORT_CLICK : this.MOUSE_REPORT_DISABLED);\n this.terminal.syncMouseStyle();\n break;\n\n case 1002: // Report on mouse clicks and drags\n this.mouseReport = (\n state ? this.MOUSE_REPORT_DRAG : this.MOUSE_REPORT_DISABLED);\n this.terminal.syncMouseStyle();\n break;\n\n case 1010: // Scroll to bottom on tty output\n this.terminal.scrollOnOutput = state;\n break;\n\n case 1011: // Scroll to bottom on key press\n this.terminal.scrollOnKeystroke = state;\n break;\n\n case 1036: // Send ESC when Meta modifies a key\n this.terminal.keyboard.metaSendsEscape = state;\n break;\n\n case 1039: // Send ESC when Alt modifies a key\n if (state) {\n if (!this.terminal.keyboard.previousAltSendsWhat_) {\n this.terminal.keyboard.previousAltSendsWhat_ =\n this.terminal.keyboard.altSendsWhat;\n this.terminal.keyboard.altSendsWhat = 'escape';\n }\n } else if (this.terminal.keyboard.previousAltSendsWhat_) {\n this.terminal.keyboard.altSendsWhat =\n this.terminal.keyboard.previousAltSendsWhat_;\n this.terminal.keyboard.previousAltSendsWhat_ = null;\n }\n break;\n\n case 47: // Use Alternate Screen Buffer\n case 1047:\n this.terminal.setAlternateMode(state);\n break;\n\n case 1048: // Save cursor as in DECSC.\n this.savedState_.save();\n\n case 1049: // 1047 + 1048 + clear.\n if (state) {\n this.savedState_.save();\n this.terminal.setAlternateMode(state);\n this.terminal.clear();\n } else {\n this.terminal.setAlternateMode(state);\n this.savedState_.restore();\n }\n\n break;\n\n case 2004: // Bracketed paste mode.\n this.terminal.setBracketedPaste(state);\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unimplemented DEC Private Mode: ' + code);\n break;\n }\n};\n\n/**\n * Function shared by control characters and escape sequences that are\n * ignored.\n */\nhterm.VT.ignore = function() {};\n\n/**\n * Collection of control characters expressed in a single byte.\n *\n * This includes the characters from the C0 and C1 sets (see [CTRL]) that we\n * care about. Two byte versions of the C1 codes are defined in the\n * hterm.VT.ESC collection.\n *\n * The 'CC1' mnemonic here refers to the fact that these are one-byte Control\n * Codes. It's only used in this source file and not defined in any of the\n * referenced documents.\n */\nhterm.VT.CC1 = {};\n\n/**\n * Collection of two-byte and three-byte sequences starting with ESC.\n */\nhterm.VT.ESC = {};\n\n/**\n * Collection of CSI (Control Sequence Introducer) sequences.\n *\n * These sequences begin with 'ESC [', and may take zero or more arguments.\n */\nhterm.VT.CSI = {};\n\n/**\n * Collection of OSC (Operating System Control) sequences.\n *\n * These sequences begin with 'ESC ]', followed by a function number and a\n * string terminated by either ST or BEL.\n */\nhterm.VT.OSC = {};\n\n/**\n * Collection of VT52 sequences.\n *\n * When in VT52 mode, other sequences are disabled.\n */\nhterm.VT.VT52 = {};\n\n/**\n * Null (NUL).\n *\n * Silently ignored.\n */\nhterm.VT.CC1['\\x00'] = hterm.VT.ignore;\n\n/**\n * Enquiry (ENQ).\n *\n * Transmit answerback message.\n *\n * The default answerback message in xterm is an empty string, so we just\n * ignore this.\n */\nhterm.VT.CC1['\\x05'] = hterm.VT.ignore;\n\n/**\n * Ring Bell (BEL).\n */\nhterm.VT.CC1['\\x07'] = function() {\n this.terminal.ringBell();\n};\n\n/**\n * Backspace (BS).\n *\n * Move the cursor to the left one character position, unless it is at the\n * left margin, in which case no action occurs.\n */\nhterm.VT.CC1['\\x08'] = function() {\n this.terminal.cursorLeft(1);\n};\n\n/**\n * Horizontal Tab (HT).\n *\n * Move the cursor to the next tab stop, or to the right margin if no further\n * tab stops are present on the line.\n */\nhterm.VT.CC1['\\x09'] = function() {\n this.terminal.forwardTabStop();\n};\n\n/**\n * Line Feed (LF).\n *\n * This code causes a line feed or a new line operation. See Automatic\n * Newline (LNM).\n */\nhterm.VT.CC1['\\x0a'] = function() {\n this.terminal.formFeed();\n};\n\n/**\n * Vertical Tab (VT).\n *\n * Interpreted as LF.\n */\nhterm.VT.CC1['\\x0b'] = hterm.VT.CC1['\\x0a'];\n\n/**\n * Form Feed (FF).\n *\n * Interpreted as LF.\n */\nhterm.VT.CC1['\\x0c'] = hterm.VT.CC1['\\x0a'];\n\n/**\n * Carriage Return (CR).\n *\n * Move cursor to the left margin on the current line.\n */\nhterm.VT.CC1['\\x0d'] = function() {\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Shift Out (SO), aka Lock Shift 0 (LS1).\n *\n * Invoke G1 character set in GL.\n */\nhterm.VT.CC1['\\x0e'] = function() {\n this.GL = 'G1';\n};\n\n/**\n * Shift In (SI), aka Lock Shift 0 (LS0).\n *\n * Invoke G0 character set in GL.\n */\nhterm.VT.CC1['\\x0f'] = function() {\n this.GL = 'G0';\n};\n\n/**\n * Transmit On (XON).\n *\n * Not currently implemented.\n *\n * TODO(rginda): Implement?\n */\nhterm.VT.CC1['\\x11'] = hterm.VT.ignore;\n\n/**\n * Transmit Off (XOFF).\n *\n * Not currently implemented.\n *\n * TODO(rginda): Implement?\n */\nhterm.VT.CC1['\\x13'] = hterm.VT.ignore;\n\n/**\n * Cancel (CAN).\n *\n * If sent during a control sequence, the sequence is immediately terminated\n * and not executed.\n *\n * It also causes the error character to be displayed.\n */\nhterm.VT.CC1['\\x18'] = function(parseState) {\n // If we've shifted in the G1 character set, shift it back out to\n // the default character set.\n if (this.GL == 'G1') {\n this.GL = 'G0';\n }\n parseState.resetParseFunction();\n this.terminal.print('?');\n};\n\n/**\n * Substitute (SUB).\n *\n * Interpreted as CAN.\n */\nhterm.VT.CC1['\\x1a'] = hterm.VT.CC1['\\x18'];\n\n/**\n * Escape (ESC).\n */\nhterm.VT.CC1['\\x1b'] = function(parseState) {\n function parseESC(parseState) {\n var ch = parseState.consumeChar();\n\n if (ch == '\\x1b')\n return;\n\n this.dispatch('ESC', ch, parseState);\n\n if (parseState.func == parseESC)\n parseState.resetParseFunction();\n };\n\n parseState.func = parseESC;\n};\n\n/**\n * Delete (DEL).\n */\nhterm.VT.CC1['\\x7f'] = hterm.VT.ignore;\n\n// 8 bit control characters and their two byte equivalents, below...\n\n/**\n * Index (IND).\n *\n * Like newline, only keep the X position\n */\nhterm.VT.CC1['\\x84'] =\nhterm.VT.ESC['D'] = function() {\n this.terminal.lineFeed();\n};\n\n/**\n * Next Line (NEL).\n *\n * Like newline, but doesn't add lines.\n */\nhterm.VT.CC1['\\x85'] =\nhterm.VT.ESC['E'] = function() {\n this.terminal.setCursorColumn(0);\n this.terminal.cursorDown(1);\n};\n\n/**\n * Horizontal Tabulation Set (HTS).\n */\nhterm.VT.CC1['\\x88'] =\nhterm.VT.ESC['H'] = function() {\n this.terminal.setTabStop(this.terminal.getCursorColumn());\n};\n\n/**\n * Reverse Index (RI).\n *\n * Move up one line.\n */\nhterm.VT.CC1['\\x8d'] =\nhterm.VT.ESC['M'] = function() {\n this.terminal.reverseLineFeed();\n};\n\n/**\n * Single Shift 2 (SS2).\n *\n * Select of G2 Character Set for the next character only.\n *\n * Not currently implemented.\n */\nhterm.VT.CC1['\\x8e'] =\nhterm.VT.ESC['N'] = hterm.VT.ignore;\n\n/**\n * Single Shift 3 (SS3).\n *\n * Select of G3 Character Set for the next character only.\n *\n * Not currently implemented.\n */\nhterm.VT.CC1['\\x8f'] =\nhterm.VT.ESC['O'] = hterm.VT.ignore;\n\n/**\n * Device Control String (DCS).\n *\n * Indicate a DCS sequence. See Device-Control functions in [XTERM].\n * Not currently implemented.\n *\n * TODO(rginda): Consider implementing DECRQSS, the rest don't seem applicable.\n */\nhterm.VT.CC1['\\x90'] =\nhterm.VT.ESC['P'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * Start of Guarded Area (SPA).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x96'] =\nhterm.VT.ESC['V'] = hterm.VT.ignore;\n\n/**\n * End of Guarded Area (EPA).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x97'] =\nhterm.VT.ESC['W'] = hterm.VT.ignore;\n\n/**\n * Start of String (SOS).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x98'] =\nhterm.VT.ESC['X'] = hterm.VT.ignore;\n\n/**\n * Single Character Introducer (SCI, also DECID).\n *\n * Return Terminal ID. Obsolete form of 'ESC [ c' (DA).\n */\nhterm.VT.CC1['\\x9a'] =\nhterm.VT.ESC['Z'] = function() {\n this.terminal.io.sendString('\\x1b[?1;2c');\n};\n\n/**\n * Control Sequence Introducer (CSI).\n *\n * The lead into most escape sequences. See [CSI].\n */\nhterm.VT.CC1['\\x9b'] =\nhterm.VT.ESC['['] = function(parseState) {\n parseState.resetArguments();\n this.leadingModifier_ = '';\n this.trailingModifier_ = '';\n parseState.func = this.parseCSI_;\n};\n\n/**\n * String Terminator (ST).\n *\n * Used to terminate DCS/OSC/PM/APC commands which may take string arguments.\n *\n * We don't directly handle it here, as it's only used to terminate other\n * sequences. See the 'parseUntilStringTerminator_' method.\n */\nhterm.VT.CC1['\\x9c'] =\nhterm.VT.ESC['\\\\'] = hterm.VT.ignore;\n\n/**\n * Operating System Command (OSC).\n *\n * Commands relating to the operating system.\n */\nhterm.VT.CC1['\\x9d'] =\nhterm.VT.ESC[']'] = function(parseState) {\n parseState.resetArguments();\n\n function parseOSC(parseState) {\n if (!this.parseUntilStringTerminator_(parseState)) {\n // The string sequence was too long.\n return;\n }\n\n if (parseState.func == parseOSC) {\n // We're not done parsing the string yet.\n return;\n }\n\n // We're done.\n var ary = parseState.args[0].match(/^(\\d+);(.*)$/);\n if (ary) {\n parseState.args[0] = ary[2];\n this.dispatch('OSC', ary[1], parseState);\n } else {\n console.warn('Invalid OSC: ' + JSON.stringify(parseState.args[0]));\n }\n };\n\n parseState.func = parseOSC;\n};\n\n/**\n * Privacy Message (PM).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x9e'] =\nhterm.VT.ESC['^'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * Application Program Control (APC).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x9f'] =\nhterm.VT.ESC['_'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * ESC \\x20 - Unclear to me where these originated, possibly in xterm.\n *\n * Not currently implemented:\n * ESC \\x20 F - Select 7 bit escape codes in responses (S7C1T).\n * ESC \\x20 G - Select 8 bit escape codes in responses (S8C1T).\n * NB: We currently assume S7C1T always.\n *\n * Will not implement:\n * ESC \\x20 L - Set ANSI conformance level 1.\n * ESC \\x20 M - Set ANSI conformance level 2.\n * ESC \\x20 N - Set ANSI conformance level 3.\n */\nhterm.VT.ESC['\\x20'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (this.warnUnimplemented)\n console.warn('Unimplemented sequence: ESC 0x20 ' + ch);\n parseState.resetParseFunction();\n };\n};\n\n/**\n * DEC 'ESC #' sequences.\n */\nhterm.VT.ESC['#'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (ch == '8') // DEC Screen Alignment Test (DECALN)\n this.terminal.fill('E');\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Designate Other Coding System (DOCS).\n */\nhterm.VT.ESC['%'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n\n // If we've locked the encoding, then just eat the bytes and return.\n if (this.codingSystemLocked_) {\n if (ch == '/')\n parseState.consumeChar();\n parseState.resetParseFunction();\n return;\n }\n\n // Process the encoding requests.\n switch (ch) {\n case '@':\n // Switch to ECMA 35.\n this.setEncoding('iso-2022');\n break;\n\n case 'G':\n // Switch to UTF-8.\n this.setEncoding('utf-8');\n break;\n\n case '/':\n // One way transition to something else.\n ch = parseState.consumeChar();\n switch (ch) {\n case 'G': // UTF-8 Level 1.\n case 'H': // UTF-8 Level 2.\n case 'I': // UTF-8 Level 3.\n // We treat all UTF-8 levels the same.\n this.setEncoding('utf-8-locked');\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unknown ESC % / argument: ' + JSON.stringify(ch));\n break;\n }\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unknown ESC % argument: ' + JSON.stringify(ch));\n break;\n }\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Character Set Selection (SCS).\n *\n * ESC ( Ps - Set G0 character set (VT100).\n * ESC ) Ps - Set G1 character set (VT220).\n * ESC * Ps - Set G2 character set (VT220).\n * ESC + Ps - Set G3 character set (VT220).\n * ESC - Ps - Set G1 character set (VT300).\n * ESC . Ps - Set G2 character set (VT300).\n * ESC / Ps - Set G3 character set (VT300).\n *\n * All other sequences are echoed to the terminal.\n */\nhterm.VT.ESC['('] =\nhterm.VT.ESC[')'] =\nhterm.VT.ESC['*'] =\nhterm.VT.ESC['+'] =\nhterm.VT.ESC['-'] =\nhterm.VT.ESC['.'] =\nhterm.VT.ESC['/'] = function(parseState, code) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (ch == '\\x1b') {\n parseState.resetParseFunction();\n parseState.func();\n return;\n }\n\n var map = this.characterMaps.getMap(ch);\n if (map !== undefined) {\n if (code == '(') {\n this.G0 = map;\n } else if (code == ')' || code == '-') {\n this.G1 = map;\n } else if (code == '*' || code == '.') {\n this.G2 = map;\n } else if (code == '+' || code == '/') {\n this.G3 = map;\n }\n } else if (this.warnUnimplemented) {\n console.log('Invalid character set for \"' + code + '\": ' + ch);\n }\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Back Index (DECBI).\n *\n * VT420 and up. Not currently implemented.\n */\nhterm.VT.ESC['6'] = hterm.VT.ignore;\n\n/**\n * Save Cursor (DECSC).\n */\nhterm.VT.ESC['7'] = function() {\n this.savedState_.save();\n};\n\n/**\n * Restore Cursor (DECRC).\n */\nhterm.VT.ESC['8'] = function() {\n this.savedState_.restore();\n};\n\n/**\n * Forward Index (DECFI).\n *\n * VT210 and up. Not currently implemented.\n */\nhterm.VT.ESC['9'] = hterm.VT.ignore;\n\n/**\n * Application keypad (DECKPAM).\n */\nhterm.VT.ESC['='] = function() {\n this.terminal.keyboard.applicationKeypad = true;\n};\n\n/**\n * Normal keypad (DECKPNM).\n */\nhterm.VT.ESC['>'] = function() {\n this.terminal.keyboard.applicationKeypad = false;\n};\n\n/**\n * Cursor to lower left corner of screen.\n *\n * Will not implement.\n *\n * This is only recognized by xterm when the hpLowerleftBugCompat resource is\n * set.\n */\nhterm.VT.ESC['F'] = hterm.VT.ignore;\n\n/**\n * Full Reset (RIS).\n */\nhterm.VT.ESC['c'] = function() {\n this.reset();\n this.terminal.reset();\n};\n\n/**\n * Memory lock/unlock.\n *\n * Will not implement.\n */\nhterm.VT.ESC['l'] =\nhterm.VT.ESC['m'] = hterm.VT.ignore;\n\n/**\n * Lock Shift 2 (LS2)\n *\n * Invoke the G2 Character Set as GL.\n */\nhterm.VT.ESC['n'] = function() {\n this.GL = 'G2';\n};\n\n/**\n * Lock Shift 3 (LS3)\n *\n * Invoke the G3 Character Set as GL.\n */\nhterm.VT.ESC['o'] = function() {\n this.GL = 'G3';\n};\n\n/**\n * Lock Shift 2, Right (LS3R)\n *\n * Invoke the G3 Character Set as GR.\n */\nhterm.VT.ESC['|'] = function() {\n this.GR = 'G3';\n};\n\n/**\n * Lock Shift 2, Right (LS2R)\n *\n * Invoke the G2 Character Set as GR.\n */\nhterm.VT.ESC['}'] = function() {\n this.GR = 'G2';\n};\n\n/**\n * Lock Shift 1, Right (LS1R)\n *\n * Invoke the G1 Character Set as GR.\n */\nhterm.VT.ESC['~'] = function() {\n this.GR = 'G1';\n};\n\n/**\n * Change icon name and window title.\n *\n * We only change the window title.\n */\nhterm.VT.OSC['0'] = function(parseState) {\n this.terminal.setWindowTitle(parseState.args[0]);\n};\n\n/**\n * Change window title.\n */\nhterm.VT.OSC['2'] = hterm.VT.OSC['0'];\n\n/**\n * Set/read color palette.\n */\nhterm.VT.OSC['4'] = function(parseState) {\n // Args come in as a single 'index1;rgb1 ... ;indexN;rgbN' string.\n // We split on the semicolon and iterate through the pairs.\n var args = parseState.args[0].split(';');\n\n var pairCount = parseInt(args.length / 2);\n var colorPalette = this.terminal.getTextAttributes().colorPalette;\n var responseArray = [];\n\n for (var pairNumber = 0; pairNumber < pairCount; ++pairNumber) {\n var colorIndex = parseInt(args[pairNumber * 2]);\n var colorValue = args[pairNumber * 2 + 1];\n\n if (colorIndex >= colorPalette.length)\n continue;\n\n if (colorValue == '?') {\n // '?' means we should report back the current color value.\n colorValue = lib.colors.rgbToX11(colorPalette[colorIndex]);\n if (colorValue)\n responseArray.push(colorIndex + ';' + colorValue);\n\n continue;\n }\n\n colorValue = lib.colors.x11ToCSS(colorValue);\n if (colorValue)\n colorPalette[colorIndex] = colorValue;\n }\n\n if (responseArray.length)\n this.terminal.io.sendString('\\x1b]4;' + responseArray.join(';') + '\\x07');\n};\n\n/**\n * iTerm2 growl notifications.\n */\nhterm.VT.OSC['9'] = function(parseState) {\n // This just dumps the entire string as the message.\n hterm.notify({'body': parseState.args[0]});\n};\n\n/**\n * Change VT100 text foreground color.\n */\nhterm.VT.OSC['10'] = function(parseState) {\n // Args come in as a single string, but extra args will chain to the following\n // OSC sequences.\n var args = parseState.args[0].split(';');\n if (!args)\n return;\n\n var colorArg;\n var colorX11 = lib.colors.x11ToCSS(args.shift());\n if (colorX11)\n this.terminal.setForegroundColor(colorX11);\n\n if (args.length > 0) {\n parseState.args[0] = args.join(';');\n hterm.VT.OSC['11'].apply(this, [parseState]);\n }\n};\n\n/**\n * Change VT100 text background color.\n */\nhterm.VT.OSC['11'] = function(parseState) {\n // Args come in as a single string, but extra args will chain to the following\n // OSC sequences.\n var args = parseState.args[0].split(';');\n if (!args)\n return;\n\n var colorArg;\n var colorX11 = lib.colors.x11ToCSS(args.shift());\n if (colorX11)\n this.terminal.setBackgroundColor(colorX11);\n\n /* Note: If we support OSC 12+, we'd chain it here.\n if (args.length > 0) {\n parseState.args[0] = args.join(';');\n hterm.VT.OSC['12'].apply(this, [parseState]);\n }\n */\n};\n\n/**\n * Set the cursor shape.\n *\n * Parameter is expected to be in the form \"CursorShape=number\", where number is\n * one of:\n *\n * 0 - Block\n * 1 - I-Beam\n * 2 - Underline\n *\n * This is a bit of a de-facto standard supported by iTerm 2 and Konsole. See\n * also: DECSCUSR.\n *\n * Invalid numbers will restore the cursor to the block shape.\n */\nhterm.VT.OSC['50'] = function(parseState) {\n var args = parseState.args[0].match(/CursorShape=(.)/i);\n if (!args) {\n console.warn('Could not parse OSC 50 args: ' + parseState.args[0]);\n return;\n }\n\n switch (args[1]) {\n case '1': // CursorShape=1: I-Beam.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n break;\n\n case '2': // CursorShape=2: Underline.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n break;\n\n default: // CursorShape=0: Block.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n }\n};\n\n/**\n * Set/read system clipboard.\n *\n * Read is not implemented due to security considerations. A remote app\n * that is able to both write and read to the clipboard could essentially\n * take over your session.\n *\n * The clipboard data will be decoded according to the 'receive-encoding'\n * preference.\n */\nhterm.VT.OSC['52'] = function(parseState) {\n // Args come in as a single 'clipboard;b64-data' string. The clipboard\n // parameter is used to select which of the X clipboards to address. Since\n // we're not integrating with X, we treat them all the same.\n var args = parseState.args[0].match(/^[cps01234567]*;(.*)/);\n if (!args)\n return;\n\n var data = window.atob(args[1]);\n if (data)\n this.terminal.copyStringToClipboard(this.decode(data));\n};\n\n/**\n * URxvt perl modules.\n *\n * This is the escape system used by rxvt-unicode and its perl modules.\n * Obviously we don't support perl or custom modules, so we list a few common\n * ones that we find useful.\n *\n * Technically there is no format here, but most modules obey:\n * ;\n */\nhterm.VT.OSC['777'] = function(parseState) {\n var ary;\n var urxvtMod = parseState.args[0].split(';', 1)[0];\n\n switch (urxvtMod) {\n case 'notify':\n // Format:\n // notify;title;message\n var title, message;\n ary = parseState.args[0].match(/^[^;]+;([^;]*)(;([\\s\\S]*))?$/);\n if (ary) {\n title = ary[1];\n message = ary[3];\n }\n hterm.notify({'title': title, 'body': message});\n break;\n\n default:\n console.warn('Unknown urxvt module: ' + parseState.args[0]);\n break;\n }\n};\n\n/**\n * Insert (blank) characters (ICH).\n */\nhterm.VT.CSI['@'] = function(parseState) {\n this.terminal.insertSpace(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Up (CUU).\n */\nhterm.VT.CSI['A'] = function(parseState) {\n this.terminal.cursorUp(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Down (CUD).\n */\nhterm.VT.CSI['B'] = function(parseState) {\n this.terminal.cursorDown(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Forward (CUF).\n */\nhterm.VT.CSI['C'] = function(parseState) {\n this.terminal.cursorRight(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Backward (CUB).\n */\nhterm.VT.CSI['D'] = function(parseState) {\n this.terminal.cursorLeft(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Next Line (CNL).\n *\n * This is like Cursor Down, except the cursor moves to the beginning of the\n * line as well.\n */\nhterm.VT.CSI['E'] = function(parseState) {\n this.terminal.cursorDown(parseState.iarg(0, 1));\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Cursor Preceding Line (CPL).\n *\n * This is like Cursor Up, except the cursor moves to the beginning of the\n * line as well.\n */\nhterm.VT.CSI['F'] = function(parseState) {\n this.terminal.cursorUp(parseState.iarg(0, 1));\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Cursor Character Absolute (CHA).\n */\nhterm.VT.CSI['G'] = function(parseState) {\n this.terminal.setCursorColumn(parseState.iarg(0, 1) - 1);\n};\n\n/**\n * Cursor Position (CUP).\n */\nhterm.VT.CSI['H'] = function(parseState) {\n this.terminal.setCursorPosition(parseState.iarg(0, 1) - 1,\n parseState.iarg(1, 1) - 1);\n};\n\n/**\n * Cursor Forward Tabulation (CHT).\n */\nhterm.VT.CSI['I'] = function(parseState) {\n var count = parseState.iarg(0, 1);\n count = lib.f.clamp(count, 1, this.terminal.screenSize.width);\n for (var i = 0; i < count; i++) {\n this.terminal.forwardTabStop();\n }\n};\n\n/**\n * Erase in Display (ED, DECSED).\n */\nhterm.VT.CSI['J'] =\nhterm.VT.CSI['?J'] = function(parseState, code) {\n var arg = parseState.args[0];\n\n if (!arg || arg == 0) {\n this.terminal.eraseBelow();\n } else if (arg == 1) {\n this.terminal.eraseAbove();\n } else if (arg == 2) {\n this.terminal.clear();\n } else if (arg == 3) {\n // The xterm docs say this means \"Erase saved lines\", but we'll just clear\n // the display since killing the scrollback seems rude.\n this.terminal.clear();\n }\n};\n\n/**\n * Erase in line (EL, DECSEL).\n */\nhterm.VT.CSI['K'] =\nhterm.VT.CSI['?K'] = function(parseState, code) {\n var arg = parseState.args[0];\n\n if (!arg || arg == 0) {\n this.terminal.eraseToRight();\n } else if (arg == 1) {\n this.terminal.eraseToLeft();\n } else if (arg == 2) {\n this.terminal.eraseLine();\n }\n};\n\n/**\n * Insert Lines (IL).\n */\nhterm.VT.CSI['L'] = function(parseState) {\n this.terminal.insertLines(parseState.iarg(0, 1));\n};\n\n/**\n * Delete Lines (DL).\n */\nhterm.VT.CSI['M'] = function(parseState) {\n this.terminal.deleteLines(parseState.iarg(0, 1));\n};\n\n/**\n * Delete Characters (DCH).\n *\n * This command shifts the line contents left, starting at the cursor position.\n */\nhterm.VT.CSI['P'] = function(parseState) {\n this.terminal.deleteChars(parseState.iarg(0, 1));\n};\n\n/**\n * Scroll Up (SU).\n */\nhterm.VT.CSI['S'] = function(parseState) {\n this.terminal.vtScrollUp(parseState.iarg(0, 1));\n};\n\n/**\n * Scroll Down (SD).\n * Also 'Initiate highlight mouse tracking'. Will not implement this part.\n */\nhterm.VT.CSI['T'] = function(parseState) {\n if (parseState.args.length <= 1)\n this.terminal.vtScrollDown(parseState.iarg(0, 1));\n};\n\n/**\n * Reset one or more features of the title modes to the default value.\n *\n * ESC [ > Ps T\n *\n * Normally, \"reset\" disables the feature. It is possible to disable the\n * ability to reset features by compiling a different default for the title\n * modes into xterm.\n *\n * Ps values:\n * 0 - Do not set window/icon labels using hexadecimal.\n * 1 - Do not query window/icon labels using hexadecimal.\n * 2 - Do not set window/icon labels using UTF-8.\n * 3 - Do not query window/icon labels using UTF-8.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>T'] = hterm.VT.ignore;\n\n/**\n * Erase Characters (ECH).\n */\nhterm.VT.CSI['X'] = function(parseState) {\n this.terminal.eraseToRight(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Backward Tabulation (CBT).\n */\nhterm.VT.CSI['Z'] = function(parseState) {\n var count = parseState.iarg(0, 1);\n count = lib.f.clamp(count, 1, this.terminal.screenSize.width);\n for (var i = 0; i < count; i++) {\n this.terminal.backwardTabStop();\n }\n};\n\n/**\n * Character Position Absolute (HPA).\n *\n * Same as Cursor Character Absolute (CHA).\n */\nhterm.VT.CSI['`'] = hterm.VT.CSI['G'];\n\n/**\n * Character Position Relative (HPR).\n */\nhterm.VT.CSI['a'] = function(parseState) {\n this.terminal.setCursorColumn(this.terminal.getCursorColumn() +\n parseState.iarg(0, 1));\n};\n\n/**\n * Repeat the preceding graphic character.\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['b'] = hterm.VT.ignore;\n\n/**\n * Send Device Attributes (Primary DA).\n *\n * TODO(rginda): This is hardcoded to send back 'VT100 with Advanced Video\n * Option', but it may be more correct to send a VT220 response once\n * we fill out the 'Not currently implemented' parts.\n */\nhterm.VT.CSI['c'] = function(parseState) {\n if (!parseState.args[0] || parseState.args[0] == 0) {\n this.terminal.io.sendString('\\x1b[?1;2c');\n }\n};\n\n/**\n * Send Device Attributes (Secondary DA).\n *\n * TODO(rginda): This is hardcoded to send back 'VT100' but it may be more\n * correct to send a VT220 response once we fill out more 'Not currently\n * implemented' parts.\n */\nhterm.VT.CSI['>c'] = function(parseState) {\n this.terminal.io.sendString('\\x1b[>0;256;0c');\n};\n\n/**\n * Line Position Absolute (VPA).\n */\nhterm.VT.CSI['d'] = function(parseState) {\n this.terminal.setAbsoluteCursorRow(parseState.iarg(0, 1) - 1);\n};\n\n/**\n * Horizontal and Vertical Position (HVP).\n *\n * Same as Cursor Position (CUP).\n */\nhterm.VT.CSI['f'] = hterm.VT.CSI['H'];\n\n/**\n * Tab Clear (TBC).\n */\nhterm.VT.CSI['g'] = function(parseState) {\n if (!parseState.args[0] || parseState.args[0] == 0) {\n // Clear tab stop at cursor.\n this.terminal.clearTabStopAtCursor(false);\n } else if (parseState.args[0] == 3) {\n // Clear all tab stops.\n this.terminal.clearAllTabStops();\n }\n};\n\n/**\n * Set Mode (SM).\n */\nhterm.VT.CSI['h'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setANSIMode(parseState.args[i], true);\n }\n};\n\n/**\n * DEC Private Mode Set (DECSET).\n */\nhterm.VT.CSI['?h'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setDECMode(parseState.args[i], true);\n }\n};\n\n/**\n * Media Copy (MC).\n * Media Copy (MC, DEC Specific).\n *\n * These commands control the printer. Will not implement.\n */\nhterm.VT.CSI['i'] =\nhterm.VT.CSI['?i'] = hterm.VT.ignore;\n\n/**\n * Reset Mode (RM).\n */\nhterm.VT.CSI['l'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setANSIMode(parseState.args[i], false);\n }\n};\n\n/**\n * DEC Private Mode Reset (DECRST).\n */\nhterm.VT.CSI['?l'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setDECMode(parseState.args[i], false);\n }\n};\n\n/**\n * Character Attributes (SGR).\n *\n * Iterate through the list of arguments, applying the attribute changes based\n * on the argument value...\n */\nhterm.VT.CSI['m'] = function(parseState) {\n function get256(i) {\n if (parseState.args.length < i + 2 || parseState.args[i + 1] != 5)\n return null;\n\n return parseState.iarg(i + 2, 0);\n }\n\n function getTrueColor(i) {\n if (parseState.args.length < i + 5 || parseState.args[i + 1] != 2)\n return null;\n var r = parseState.iarg(i + 2, 0);\n var g = parseState.iarg(i + 3, 0);\n var b = parseState.iarg(i + 4, 0);\n\n return 'rgb(' + r + ' ,' + g + ' ,' + b + ')';\n }\n\n var attrs = this.terminal.getTextAttributes();\n\n if (!parseState.args.length) {\n attrs.reset();\n return;\n }\n\n for (var i = 0; i < parseState.args.length; i++) {\n var arg = parseState.iarg(i, 0);\n\n if (arg < 30) {\n if (arg == 0) { // Normal (default).\n attrs.reset();\n } else if (arg == 1) { // Bold.\n attrs.bold = true;\n } else if (arg == 2) { // Faint.\n attrs.faint = true;\n } else if (arg == 3) { // Italic.\n attrs.italic = true;\n } else if (arg == 4) { // Underline.\n attrs.underline = true;\n } else if (arg == 5) { // Blink.\n attrs.blink = true;\n } else if (arg == 7) { // Inverse.\n attrs.inverse = true;\n } else if (arg == 8) { // Invisible.\n attrs.invisible = true;\n } else if (arg == 9) { // Crossed out.\n attrs.strikethrough = true;\n } else if (arg == 22) { // Not bold & not faint.\n attrs.bold = false;\n attrs.faint = false;\n } else if (arg == 23) { // Not italic.\n attrs.italic = false;\n } else if (arg == 24) { // Not underlined.\n attrs.underline = false;\n } else if (arg == 25) { // Not blink.\n attrs.blink = false;\n } else if (arg == 27) { // Steady.\n attrs.inverse = false;\n } else if (arg == 28) { // Visible.\n attrs.invisible = false;\n } else if (arg == 29) { // Not crossed out.\n attrs.strikethrough = false;\n }\n\n } else if (arg < 50) {\n // Select fore/background color from bottom half of 16 color palette\n // or from the 256 color palette or alternative specify color in fully\n // qualified rgb(r, g, b) form.\n if (arg < 38) {\n attrs.foregroundSource = arg - 30;\n\n } else if (arg == 38) {\n // First check for true color definition\n var trueColor = getTrueColor(i);\n if (trueColor != null) {\n attrs.foregroundSource = attrs.SRC_RGB;\n attrs.foreground = trueColor;\n\n i += 5;\n } else {\n // Check for 256 color\n var c = get256(i);\n if (c == null)\n break;\n\n i += 2;\n\n if (c >= attrs.colorPalette.length)\n continue;\n\n attrs.foregroundSource = c;\n }\n\n } else if (arg == 39) {\n attrs.foregroundSource = attrs.SRC_DEFAULT;\n\n } else if (arg < 48) {\n attrs.backgroundSource = arg - 40;\n\n } else if (arg == 48) {\n // First check for true color definition\n var trueColor = getTrueColor(i);\n if (trueColor != null) {\n attrs.backgroundSource = attrs.SRC_RGB;\n attrs.background = trueColor;\n\n i += 5;\n } else {\n // Check for 256 color\n var c = get256(i);\n if (c == null)\n break;\n\n i += 2;\n\n if (c >= attrs.colorPalette.length)\n continue;\n\n attrs.backgroundSource = c;\n }\n } else {\n attrs.backgroundSource = attrs.SRC_DEFAULT;\n }\n\n } else if (arg >= 90 && arg <= 97) {\n attrs.foregroundSource = arg - 90 + 8;\n\n } else if (arg >= 100 && arg <= 107) {\n attrs.backgroundSource = arg - 100 + 8;\n }\n }\n\n attrs.setDefaults(this.terminal.getForegroundColor(),\n this.terminal.getBackgroundColor());\n};\n\n/**\n * Set xterm-specific keyboard modes.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>m'] = hterm.VT.ignore;\n\n/**\n * Device Status Report (DSR, DEC Specific).\n *\n * 5 - Status Report. Result (OK) is CSI 0 n\n * 6 - Report Cursor Position (CPR) [row;column]. Result is CSI r ; c R\n */\nhterm.VT.CSI['n'] = function(parseState) {\n if (parseState.args[0] == 5) {\n this.terminal.io.sendString('\\x1b0n');\n } else if (parseState.args[0] == 6) {\n var row = this.terminal.getCursorRow() + 1;\n var col = this.terminal.getCursorColumn() + 1;\n this.terminal.io.sendString('\\x1b[' + row + ';' + col + 'R');\n }\n};\n\n/**\n * Disable modifiers which may be enabled via CSI['>m'].\n *\n * Will not implement.\n */\nhterm.VT.CSI['>n'] = hterm.VT.ignore;\n\n/**\n * Device Status Report (DSR, DEC Specific).\n *\n * 6 - Report Cursor Position (CPR) [row;column] as CSI ? r ; c R\n * 15 - Report Printer status as CSI ? 1 0 n (ready) or\n * CSI ? 1 1 n (not ready).\n * 25 - Report UDK status as CSI ? 2 0 n (unlocked) or CSI ? 2 1 n (locked).\n * 26 - Report Keyboard status as CSI ? 2 7 ; 1 ; 0 ; 0 n (North American).\n * The last two parameters apply to VT400 & up, and denote keyboard ready\n * and LK01 respectively.\n * 53 - Report Locator status as CSI ? 5 3 n Locator available, if compiled-in,\n * or CSI ? 5 0 n No Locator, if not.\n */\nhterm.VT.CSI['?n'] = function(parseState) {\n if (parseState.args[0] == 6) {\n var row = this.terminal.getCursorRow() + 1;\n var col = this.terminal.getCursorColumn() + 1;\n this.terminal.io.sendString('\\x1b[' + row + ';' + col + 'R');\n } else if (parseState.args[0] == 15) {\n this.terminal.io.sendString('\\x1b[?11n');\n } else if (parseState.args[0] == 25) {\n this.terminal.io.sendString('\\x1b[?21n');\n } else if (parseState.args[0] == 26) {\n this.terminal.io.sendString('\\x1b[?12;1;0;0n');\n } else if (parseState.args[0] == 53) {\n this.terminal.io.sendString('\\x1b[?50n');\n }\n};\n\n/**\n * This is used by xterm to decide whether to hide the pointer cursor as the\n * user types.\n *\n * Valid values for the parameter:\n * 0 - Never hide the pointer.\n * 1 - Hide if the mouse tracking mode is not enabled.\n * 2 - Always hide the pointer.\n *\n * If no parameter is given, xterm uses the default, which is 1.\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['>p'] = hterm.VT.ignore;\n\n/**\n * Soft terminal reset (DECSTR).\n */\nhterm.VT.CSI['!p'] = function() {\n this.reset();\n this.terminal.softReset();\n};\n\n/**\n * Request ANSI Mode (DECRQM).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['$p'] = hterm.VT.ignore;\nhterm.VT.CSI['?$p'] = hterm.VT.ignore;\n\n/**\n * Set conformance level (DECSCL).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\"p'] = hterm.VT.ignore;\n\n/**\n * Load LEDs (DECLL).\n *\n * Not currently implemented. Could be implemented as virtual LEDs overlaying\n * the terminal if anyone cares.\n */\nhterm.VT.CSI['q'] = hterm.VT.ignore;\n\n/**\n * Set cursor style (DECSCUSR, VT520).\n */\nhterm.VT.CSI[' q'] = function(parseState) {\n var arg = parseState.args[0];\n\n if (arg == 0 || arg == 1) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n this.terminal.setCursorBlink(true);\n } else if (arg == 2) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n this.terminal.setCursorBlink(false);\n } else if (arg == 3) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n this.terminal.setCursorBlink(true);\n } else if (arg == 4) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n this.terminal.setCursorBlink(false);\n } else if (arg == 5) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n this.terminal.setCursorBlink(true);\n } else if (arg == 6) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n this.terminal.setCursorBlink(false);\n } else {\n console.warn('Unknown cursor style: ' + arg);\n }\n};\n\n/**\n * Select character protection attribute (DECSCA).\n *\n * Will not implement.\n */\nhterm.VT.CSI['\"q'] = hterm.VT.ignore;\n\n/**\n * Set Scrolling Region (DECSTBM).\n */\nhterm.VT.CSI['r'] = function(parseState) {\n var args = parseState.args;\n var scrollTop = args[0] ? parseInt(args[0], 10) -1 : null;\n var scrollBottom = args[1] ? parseInt(args[1], 10) - 1 : null;\n this.terminal.setVTScrollRegion(scrollTop, scrollBottom);\n this.terminal.setCursorPosition(0, 0);\n};\n\n/**\n * Restore DEC Private Mode Values.\n *\n * Will not implement.\n */\nhterm.VT.CSI['?r'] = hterm.VT.ignore;\n\n/**\n * Change Attributes in Rectangular Area (DECCARA)\n *\n * Will not implement.\n */\nhterm.VT.CSI['$r'] = hterm.VT.ignore;\n\n/**\n * Save cursor (ANSI.SYS)\n */\nhterm.VT.CSI['s'] = function() {\n this.savedState_.save();\n};\n\n/**\n * Save DEC Private Mode Values.\n *\n * Will not implement.\n */\nhterm.VT.CSI['?s'] = hterm.VT.ignore;\n\n/**\n * Window manipulation (from dtterm, as well as extensions).\n *\n * Will not implement.\n */\nhterm.VT.CSI['t'] = hterm.VT.ignore;\n\n/**\n * Reverse Attributes in Rectangular Area (DECRARA).\n *\n * Will not implement.\n */\nhterm.VT.CSI['$t'] = hterm.VT.ignore;\n\n/**\n * Set one or more features of the title modes.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>t'] = hterm.VT.ignore;\n\n/**\n * Set warning-bell volume (DECSWBV, VT520).\n *\n * Will not implement.\n */\nhterm.VT.CSI[' t'] = hterm.VT.ignore;\n\n/**\n * Restore cursor (ANSI.SYS).\n */\nhterm.VT.CSI['u'] = function() {\n this.savedState_.restore();\n};\n\n/**\n * Set margin-bell volume (DECSMBV, VT520).\n *\n * Will not implement.\n */\nhterm.VT.CSI[' u'] = hterm.VT.ignore;\n\n/**\n * Copy Rectangular Area (DECCRA, VT400 and up).\n *\n * Will not implement.\n */\nhterm.VT.CSI['$v'] = hterm.VT.ignore;\n\n/**\n * Enable Filter Rectangle (DECEFR).\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'w'] = hterm.VT.ignore;\n\n/**\n * Request Terminal Parameters (DECREQTPARM).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['x'] = hterm.VT.ignore;\n\n/**\n * Select Attribute Change Extent (DECSACE).\n *\n * Will not implement.\n */\nhterm.VT.CSI['*x'] = hterm.VT.ignore;\n\n/**\n * Fill Rectangular Area (DECFRA), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['$x'] = hterm.VT.ignore;\n\n/**\n * vt_tiledata (as used by NAOhack and UnNetHack)\n * (see https://nethackwiki.com/wiki/Vt_tiledata for more info)\n *\n * Implemented as far as we care (start a glyph and end a glyph).\n */\nhterm.VT.CSI['z'] = function(parseState) {\n if (parseState.args.length < 1)\n return;\n var arg = parseState.args[0];\n if (arg == 0) {\n // Start a glyph (one parameter, the glyph number).\n if (parseState.args.length < 2)\n return;\n this.terminal.getTextAttributes().tileData = parseState.args[1];\n } else if (arg == 1) {\n // End a glyph.\n this.terminal.getTextAttributes().tileData = null;\n }\n};\n\n/**\n * Enable Locator Reporting (DECELR).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'z'] = hterm.VT.ignore;\n\n/**\n * Erase Rectangular Area (DECERA), VT400 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['$z'] = hterm.VT.ignore;\n\n/**\n * Select Locator Events (DECSLE).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'{'] = hterm.VT.ignore;\n\n/**\n * Request Locator Position (DECRQLP).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'|'] = hterm.VT.ignore;\n\n/**\n * Insert Columns (DECIC), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'}'] = hterm.VT.ignore;\n\n/**\n * Delete P s Columns (DECDC), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'~'] = hterm.VT.ignore;\n// SOURCE FILE: hterm/js/hterm_vt_character_map.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f');\n\n/**\n * Character map object.\n *\n * Mapping from received to display character, used depending on the active\n * VT character set.\n *\n * GR maps are not currently supported.\n *\n * @param {string} description A human readable description of this map.\n * @param {Object} glmap The GL mapping from input to output characters.\n */\nhterm.VT.CharacterMap = function(description, glmap) {\n /**\n * Short description for this character set, useful for debugging.\n */\n this.description = description;\n\n /**\n * The function to call to when this map is installed in GL.\n */\n this.GL = null;\n\n // Always keep an unmodified reference to the map.\n // This allows us to sanely reset back to the original state.\n this.glmapBase_ = glmap;\n\n // Now sync the internal state as needed.\n this.sync_();\n};\n\n/**\n * Internal helper for resyncing internal state.\n *\n * Used when the mappings change.\n *\n * @param {Object?} opt_glmap Additional mappings to overlay on top of the\n * base mapping.\n */\nhterm.VT.CharacterMap.prototype.sync_ = function(opt_glmap) {\n // If there are no maps, then reset the state back.\n if (!this.glmapBase_ && !opt_glmap) {\n this.GL = null;\n delete this.glmap_;\n delete this.glre_;\n return;\n }\n\n // Set the the GL mapping. If we're given a custom mapping, then create a\n // new object to hold the merged map. This way we can cleanly reset back.\n if (opt_glmap)\n this.glmap_ = Object.assign({}, this.glmapBase_, opt_glmap);\n else\n this.glmap_ = this.glmapBase_;\n\n var glchars = Object.keys(this.glmap_).map((key) =>\n '\\\\x' + lib.f.zpad(key.charCodeAt(0).toString(16)));\n this.glre_ = new RegExp('[' + glchars.join('') + ']', 'g');\n\n this.GL = (str) => str.replace(this.glre_, (ch) => this.glmap_[ch]);\n};\n\n/**\n * Reset map back to original mappings (discarding runtime updates).\n *\n * Specifically, any calls to setOverrides will be discarded.\n */\nhterm.VT.CharacterMap.prototype.reset = function() {\n // If we haven't been given a custom mapping, then there's nothing to reset.\n if (this.glmap_ !== this.glmapBase_)\n this.sync_();\n};\n\n/**\n * Merge custom changes to this map.\n *\n * The input map need not duplicate the existing mappings as it is merged with\n * the existing base map (what was created with). Subsequent calls to this\n * will throw away previous override settings.\n *\n * @param {Object} glmap The custom map to override existing mappings.\n */\nhterm.VT.CharacterMap.prototype.setOverrides = function(glmap) {\n this.sync_(glmap);\n};\n\n/**\n * Return a copy of this mapping.\n *\n * @return {hterm.VT.CharacterMap} A new hterm.VT.CharacterMap instance.\n */\nhterm.VT.CharacterMap.prototype.clone = function() {\n var map = new hterm.VT.CharacterMap(this.description, this.glmapBase_);\n if (this.glmap_ !== this.glmapBase_)\n map.setOverrides(this.glmap_);\n return map;\n};\n\n/**\n * Table of character maps.\n */\nhterm.VT.CharacterMaps = function() {\n this.maps_ = hterm.VT.CharacterMaps.DefaultMaps;\n\n // Always keep an unmodified reference to the map.\n // This allows us to sanely reset back to the original state.\n this.mapsBase_ = this.maps_;\n};\n\n/**\n * Look up a previously registered map.\n *\n * @param {String} name The name of the map to lookup.\n * @return {hterm.VT.CharacterMap} The map, if it's been registered.\n */\nhterm.VT.CharacterMaps.prototype.getMap = function(name) {\n if (this.maps_.hasOwnProperty(name))\n return this.maps_[name];\n else\n return undefined;\n};\n\n/**\n * Register a new map.\n *\n * Any previously registered maps by this name will be discarded.\n *\n * @param {String} name The name of the map.\n * @param {hterm.VT.CharacterMap} map The map to register.\n */\nhterm.VT.CharacterMaps.prototype.addMap = function(name, map) {\n if (this.maps_ === this.mapsBase_)\n this.maps_ = Object.assign({}, this.mapsBase_);\n this.maps_[name] = map;\n};\n\n/**\n * Reset the table and all its maps back to original state.\n */\nhterm.VT.CharacterMaps.prototype.reset = function() {\n if (this.maps_ !== hterm.VT.CharacterMaps.DefaultMaps)\n this.maps_ = hterm.VT.CharacterMaps.DefaultMaps;\n};\n\n/**\n * Merge custom changes to this table.\n *\n * @param {Object} maps A set of hterm.VT.CharacterMap objects.\n */\nhterm.VT.CharacterMaps.prototype.setOverrides = function(maps) {\n if (this.maps_ === this.mapsBase_)\n this.maps_ = Object.assign({}, this.mapsBase_);\n\n for (var name in maps) {\n var map = this.getMap(name);\n if (map !== undefined) {\n this.maps_[name] = map.clone();\n this.maps_[name].setOverrides(maps[name]);\n } else\n this.addMap(name, new hterm.VT.CharacterMap('user ' + name, maps[name]));\n }\n};\n\n/**\n * The default set of supported character maps.\n */\nhterm.VT.CharacterMaps.DefaultMaps = {};\n\n/**\n * VT100 Graphic character map.\n * http://vt100.net/docs/vt220-rm/table2-4.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['0'] = new hterm.VT.CharacterMap(\n 'graphic', {\n '\\x60':'\\u25c6', // ` -> diamond\n '\\x61':'\\u2592', // a -> grey-box\n '\\x62':'\\u2409', // b -> h/t\n '\\x63':'\\u240c', // c -> f/f\n '\\x64':'\\u240d', // d -> c/r\n '\\x65':'\\u240a', // e -> l/f\n '\\x66':'\\u00b0', // f -> degree\n '\\x67':'\\u00b1', // g -> +/-\n '\\x68':'\\u2424', // h -> n/l\n '\\x69':'\\u240b', // i -> v/t\n '\\x6a':'\\u2518', // j -> bottom-right\n '\\x6b':'\\u2510', // k -> top-right\n '\\x6c':'\\u250c', // l -> top-left\n '\\x6d':'\\u2514', // m -> bottom-left\n '\\x6e':'\\u253c', // n -> line-cross\n '\\x6f':'\\u23ba', // o -> scan1\n '\\x70':'\\u23bb', // p -> scan3\n '\\x71':'\\u2500', // q -> scan5\n '\\x72':'\\u23bc', // r -> scan7\n '\\x73':'\\u23bd', // s -> scan9\n '\\x74':'\\u251c', // t -> left-tee\n '\\x75':'\\u2524', // u -> right-tee\n '\\x76':'\\u2534', // v -> bottom-tee\n '\\x77':'\\u252c', // w -> top-tee\n '\\x78':'\\u2502', // x -> vertical-line\n '\\x79':'\\u2264', // y -> less-equal\n '\\x7a':'\\u2265', // z -> greater-equal\n '\\x7b':'\\u03c0', // { -> pi\n '\\x7c':'\\u2260', // | -> not-equal\n '\\x7d':'\\u00a3', // } -> british-pound\n '\\x7e':'\\u00b7', // ~ -> dot\n });\n\n/**\n * British character map.\n * http://vt100.net/docs/vt220-rm/table2-5.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['A'] = new hterm.VT.CharacterMap(\n 'british', {\n '\\x23': '\\u00a3', // # -> british-pound\n });\n\n/**\n * US ASCII map, no changes.\n */\nhterm.VT.CharacterMaps.DefaultMaps['B'] = new hterm.VT.CharacterMap(\n 'us', null);\n\n/**\n * Dutch character map.\n * http://vt100.net/docs/vt220-rm/table2-6.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['4'] = new hterm.VT.CharacterMap(\n 'dutch', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00be', // @ -> 3/4\n\n '\\x5b': '\\u0132', // [ -> 'ij' ligature (xterm goes with \\u00ff?)\n '\\x5c': '\\u00bd', // \\ -> 1/2\n '\\x5d': '\\u007c', // ] -> vertical bar\n\n '\\x7b': '\\u00a8', // { -> two dots\n '\\x7c': '\\u0066', // | -> f\n '\\x7d': '\\u00bc', // } -> 1/4\n '\\x7e': '\\u00b4', // ~ -> acute\n });\n\n/**\n * Finnish character map.\n * http://vt100.net/docs/vt220-rm/table2-7.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['C'] =\nhterm.VT.CharacterMaps.DefaultMaps['5'] = new hterm.VT.CharacterMap(\n 'finnish', {\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ~ -> 'u' umlaut\n\n '\\x60': '\\u00e9', // ` -> 'e' acute\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * French character map.\n * http://vt100.net/docs/vt220-rm/table2-8.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['R'] = new hterm.VT.CharacterMap(\n 'french', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00b0', // [ -> ring\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00a7', // ] -> section symbol (double s)\n\n '\\x7b': '\\u00e9', // { -> 'e' acute\n '\\x7c': '\\u00f9', // | -> 'u' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00a8', // ~ -> umlaut\n });\n\n/**\n * French Canadian character map.\n * http://vt100.net/docs/vt220-rm/table2-9.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Q'] = new hterm.VT.CharacterMap(\n 'french canadian', {\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00e2', // [ -> 'a' circumflex\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00ea', // ] -> 'e' circumflex\n '\\x5e': '\\u00ee', // ^ -> 'i' circumflex\n\n '\\x60': '\\u00f4', // ` -> 'o' circumflex\n\n '\\x7b': '\\u00e9', // { -> 'e' acute\n '\\x7c': '\\u00f9', // | -> 'u' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00fb', // ~ -> 'u' circumflex\n });\n\n/**\n * German character map.\n * http://vt100.net/docs/vt220-rm/table2-10.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['K'] = new hterm.VT.CharacterMap(\n 'german', {\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00dc', // ] -> 'U' umlaut\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00fc', // } -> 'u' umlaut\n '\\x7e': '\\u00df', // ~ -> eszett\n });\n\n/**\n * Italian character map.\n * http://vt100.net/docs/vt220-rm/table2-11.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Y'] = new hterm.VT.CharacterMap(\n 'italian', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00b0', // [ -> ring\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00e9', // ] -> 'e' acute\n\n '\\x60': '\\u00f9', // ` -> 'u' grave\n\n '\\x7b': '\\u00e0', // { -> 'a' grave\n '\\x7c': '\\u00f2', // | -> 'o' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00ec', // ~ -> 'i' grave\n });\n\n/**\n * Norwegian/Danish character map.\n * http://vt100.net/docs/vt220-rm/table2-12.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['E'] =\nhterm.VT.CharacterMaps.DefaultMaps['6'] = new hterm.VT.CharacterMap(\n 'norwegian/danish', {\n '\\x40': '\\u00c4', // @ -> 'A' umlaut\n\n '\\x5b': '\\u00c6', // [ -> 'AE' ligature\n '\\x5c': '\\u00d8', // \\ -> 'O' stroke\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ^ -> 'U' umlaut\n\n '\\x60': '\\u00e4', // ` -> 'a' umlaut\n\n '\\x7b': '\\u00e6', // { -> 'ae' ligature\n '\\x7c': '\\u00f8', // | -> 'o' stroke\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * Spanish character map.\n * http://vt100.net/docs/vt220-rm/table2-13.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Z'] = new hterm.VT.CharacterMap(\n 'spanish', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00a1', // [ -> '!' inverted\n '\\x5c': '\\u00d1', // \\ -> 'N' tilde\n '\\x5d': '\\u00bf', // ] -> '?' inverted\n\n '\\x7b': '\\u00b0', // { -> ring\n '\\x7c': '\\u00f1', // | -> 'n' tilde\n '\\x7d': '\\u00e7', // } -> 'c' cedilla\n });\n\n/**\n * Swedish character map.\n * http://vt100.net/docs/vt220-rm/table2-14.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['7'] =\nhterm.VT.CharacterMaps.DefaultMaps['H'] = new hterm.VT.CharacterMap(\n 'swedish', {\n '\\x40': '\\u00c9', // @ -> 'E' acute\n\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ^ -> 'U' umlaut\n\n '\\x60': '\\u00e9', // ` -> 'e' acute\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * Swiss character map.\n * http://vt100.net/docs/vt220-rm/table2-15.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['='] = new hterm.VT.CharacterMap(\n 'swiss', {\n '\\x23': '\\u00f9', // # -> 'u' grave\n\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00e9', // [ -> 'e' acute\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00ea', // ] -> 'e' circumflex\n '\\x5e': '\\u00ee', // ^ -> 'i' circumflex\n '\\x5f': '\\u00e8', // _ -> 'e' grave\n\n '\\x60': '\\u00f4', // ` -> 'o' circumflex\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00fc', // } -> 'u' umlaut\n '\\x7e': '\\u00fb', // ~ -> 'u' circumflex\n });\nlib.resource.add('hterm/audio/bell', 'audio/ogg;base64',\n'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' +\n'zinmkFLKMeUcUko5p5xTzjkIHYTKMQadgxAppRxTzinHHITMQeWcg9BBKAAAIMABACDAQig0ZEUA' +\n'ECcA4HAkz5M0SxQlSxNFzxRl1xNN15U0zTQ1UVRVyxNV1VRV2xZNVbYlTRNNTfRUVRNFVRVV05ZN' +\n'VbVtzzRl2VRV3RZV1bZl2xZ+V5Z13zNNWRZV1dZNVbV115Z9X9ZtXZg0zTQ1UVRVTRRV1VRV2zZV' +\n'17Y1UXRVUVVlWVRVWXZlWfdVV9Z9SxRV1VNN2RVVVbZV2fVtVZZ94XRVXVdl2fdVWRZ+W9eF4fZ9' +\n'4RhV1dZN19V1VZZ9YdZlYbd13yhpmmlqoqiqmiiqqqmqtm2qrq1bouiqoqrKsmeqrqzKsq+rrmzr' +\n'miiqrqiqsiyqqiyrsqz7qizrtqiquq3KsrCbrqvrtu8LwyzrunCqrq6rsuz7qizruq3rxnHrujB8' +\n'pinLpqvquqm6um7runHMtm0co6rqvirLwrDKsu/rui+0dSFRVXXdlF3jV2VZ921fd55b94WybTu/' +\n'rfvKceu60vg5z28cubZtHLNuG7+t+8bzKz9hOI6lZ5q2baqqrZuqq+uybivDrOtCUVV9XZVl3zdd' +\n'WRdu3zeOW9eNoqrquirLvrDKsjHcxm8cuzAcXds2jlvXnbKtC31jyPcJz2vbxnH7OuP2daOvDAnH' +\n'jwAAgAEHAIAAE8pAoSErAoA4AQAGIecUUxAqxSB0EFLqIKRUMQYhc05KxRyUUEpqIZTUKsYgVI5J' +\n'yJyTEkpoKZTSUgehpVBKa6GU1lJrsabUYu0gpBZKaS2U0lpqqcbUWowRYxAy56RkzkkJpbQWSmkt' +\n'c05K56CkDkJKpaQUS0otVsxJyaCj0kFIqaQSU0mptVBKa6WkFktKMbYUW24x1hxKaS2kEltJKcYU' +\n'U20txpojxiBkzknJnJMSSmktlNJa5ZiUDkJKmYOSSkqtlZJSzJyT0kFIqYOOSkkptpJKTKGU1kpK' +\n'sYVSWmwx1pxSbDWU0lpJKcaSSmwtxlpbTLV1EFoLpbQWSmmttVZraq3GUEprJaUYS0qxtRZrbjHm' +\n'GkppraQSW0mpxRZbji3GmlNrNabWam4x5hpbbT3WmnNKrdbUUo0txppjbb3VmnvvIKQWSmktlNJi' +\n'ai3G1mKtoZTWSiqxlZJabDHm2lqMOZTSYkmpxZJSjC3GmltsuaaWamwx5ppSi7Xm2nNsNfbUWqwt' +\n'xppTS7XWWnOPufVWAADAgAMAQIAJZaDQkJUAQBQAAEGIUs5JaRByzDkqCULMOSepckxCKSlVzEEI' +\n'JbXOOSkpxdY5CCWlFksqLcVWaykptRZrLQAAoMABACDABk2JxQEKDVkJAEQBACDGIMQYhAYZpRiD' +\n'0BikFGMQIqUYc05KpRRjzknJGHMOQioZY85BKCmEUEoqKYUQSkklpQIAAAocAAACbNCUWByg0JAV' +\n'AUAUAABgDGIMMYYgdFQyKhGETEonqYEQWgutddZSa6XFzFpqrbTYQAithdYySyXG1FpmrcSYWisA' +\n'AOzAAQDswEIoNGQlAJAHAEAYoxRjzjlnEGLMOegcNAgx5hyEDirGnIMOQggVY85BCCGEzDkIIYQQ' +\n'QuYchBBCCKGDEEIIpZTSQQghhFJK6SCEEEIppXQQQgihlFIKAAAqcAAACLBRZHOCkaBCQ1YCAHkA' +\n'AIAxSjkHoZRGKcYglJJSoxRjEEpJqXIMQikpxVY5B6GUlFrsIJTSWmw1dhBKaS3GWkNKrcVYa64h' +\n'pdZirDXX1FqMteaaa0otxlprzbkAANwFBwCwAxtFNicYCSo0ZCUAkAcAgCCkFGOMMYYUYoox55xD' +\n'CCnFmHPOKaYYc84555RijDnnnHOMMeecc845xphzzjnnHHPOOeecc44555xzzjnnnHPOOeecc845' +\n'55xzzgkAACpwAAAIsFFkc4KRoEJDVgIAqQAAABFWYowxxhgbCDHGGGOMMUYSYowxxhhjbDHGGGOM' +\n'McaYYowxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHG' +\n'GFtrrbXWWmuttdZaa6211lprrQBAvwoHAP8HG1ZHOCkaCyw0ZCUAEA4AABjDmHOOOQYdhIYp6KSE' +\n'DkIIoUNKOSglhFBKKSlzTkpKpaSUWkqZc1JSKiWlllLqIKTUWkottdZaByWl1lJqrbXWOgiltNRa' +\n'a6212EFIKaXWWostxlBKSq212GKMNYZSUmqtxdhirDGk0lJsLcYYY6yhlNZaazHGGGstKbXWYoy1' +\n'xlprSam11mKLNdZaCwDgbnAAgEiwcYaVpLPC0eBCQ1YCACEBAARCjDnnnHMQQgghUoox56CDEEII' +\n'IURKMeYcdBBCCCGEjDHnoIMQQgghhJAx5hx0EEIIIYQQOucchBBCCKGEUkrnHHQQQgghlFBC6SCE' +\n'EEIIoYRSSikdhBBCKKGEUkopJYQQQgmllFJKKaWEEEIIoYQSSimllBBCCKWUUkoppZQSQgghlFJK' +\n'KaWUUkIIoZRQSimllFJKCCGEUkoppZRSSgkhhFBKKaWUUkopIYQSSimllFJKKaUAAIADBwCAACPo' +\n'JKPKImw04cIDUGjISgCADAAAcdhq6ynWyCDFnISWS4SQchBiLhFSijlHsWVIGcUY1ZQxpRRTUmvo' +\n'nGKMUU+dY0oxw6yUVkookYLScqy1dswBAAAgCAAwECEzgUABFBjIAIADhAQpAKCwwNAxXAQE5BIy' +\n'CgwKx4Rz0mkDABCEyAyRiFgMEhOqgaJiOgBYXGDIB4AMjY20iwvoMsAFXdx1IIQgBCGIxQEUkICD' +\n'E2544g1PuMEJOkWlDgIAAAAA4AAAHgAAkg0gIiKaOY4Ojw+QEJERkhKTE5QAAAAAALABgA8AgCQF' +\n'iIiIZo6jw+MDJERkhKTE5AQlAAAAAAAAAAAACAgIAAAAAAAEAAAACAhPZ2dTAAQYOwAAAAAAAOGp' +\n'bkoCAAAAmc74DRgyNjM69TAzOTk74dnLubewsbagmZiNp4d0KbsExSY/I3XUTwJgkeZdn1HY4zoj' +\n'33/q9DFtv3Ui1/jmx7lCUtPt18/sYf9MkgAsAGRBd3gMGP4sU+qCPYBy9VrA3YqJosW3W2/ef1iO' +\n'/u3cg8ZG/57jU+pPmbGEJUgkfnaI39DbPqxddZphbMRmCc5rKlkUMkyx8iIoug5dJv1OYH9a59c+' +\n'3Gevqc7Z2XFdDjL/qHztRfjWEWxJ/aiGezjohu9HsCZdQBKbiH0VtU/3m85lDG2T/+xkZcYnX+E+' +\n'aqzv/xTgOoTFG+x7SNqQ4N+oAABSxuVXw77Jd5bmmTmuJakX7509HH0kGYKvARPpwfOSAPySPAc2' +\n'EkneDwB2HwAAJlQDYK5586N79GJCjx4+p6aDUd27XSvRyXLJkIC5YZ1jLv5lpOhZTz0s+DmnF1di' +\n'ptrnM6UDgIW11Xh8cHTd0/SmbgOAdxcyWwMAAGIrZ3fNSfZbzKiYrK4+tPqtnMVLOeWOG2kVvUY+' +\n'p2PJ/hkCl5aFRO4TLGYPZcIU3vYM1hohS4jHFlnyW/2T5J7kGsShXWT8N05V+3C/GPqJ1QdWisGP' +\n'xEzHqXISBPIinWDUt7IeJv/f5OtzBxpTzZZQ+CYEhHXfqG4aABQli72GJhN4oJv+hXcApAJSErAW' +\n'8G2raAX4NUcABnVt77CzZAB+LsHcVe+Q4h+QB1wh/ZrJTPxSBdI8mgTeAdTsQOoFUEng9BHcVPhx' +\n'SRRYkKWZJXOFYP6V4AEripJoEjXgA2wJRZHSExmJDm8F0A6gEXsg5a4ZsALItrMB7+fh7UKLvYWS' +\n'dtsDwFf1mzYzS1F82N1h2Oyt2e76B1QdS0SAsQigLPMOgJS9JRC7hFXA6kUsLFNKD5cA5cTRvgSq' +\n'Pc3Fl99xW3QTi/MHR8DEm6WnvaVQATwRqRKjywQ9BrrhugR2AKTsPQeQckrAOgDOhbTESyrXQ50C' +\n'kNpXdtWjW7W2/3UjeX3U95gIdalfRAoAmqUEiwp53hCdcCwlg47fcbfzlmQMAgaBkh7c+fcDgF+i' +\n'fwDXfzegLPcLYJsAAJQArTXjnh/uXGy3v1Hk3pV6/3t5ruW81f6prfbM2Q3WNVy98BwUtbCwhFhA' +\n'WuPev6Oe/4ZaFQUcgKrVs4defzh1TADA1DEh5b3VlDaECw5b+bPfkKos3tIAue3vJZOih3ga3l6O' +\n'3PSfIkrLv0PAS86PPdL7g8oc2KteNFKKzKRehOv2gJoFLBPXmaXvPBQILgJon0bbWBszrYZYYwE7' +\n'jl2j+vTdU7Vpk21LiU0QajPkywAAHqbUC0/YsYOdb4e6BOp7E0cCi04Ao/TgD8ZVAMid6h/A8IeB' +\n'Nkp6/xsAACZELEYIk+yvI6Qz1NN6lIftB/6IMWjWJNOqPTMedAmyaj6Es0QBklJpiSWWHnQ2CoYb' +\n'GWAmt+0gLQBFKCBnp2QUUQZ/1thtZDBJUpFWY82z34ocorB62oX7qB5y0oPAv/foxH25wVmgIHf2' +\n'xFOr8leZcBq1Kx3ZvCq9Bga639AxuHuPNL/71YCF4EywJpqHFAX6XF0sjVbuANnvvdLcrufYwOM/' +\n'iDa6iA468AYAAB6mNBMXcgTD8HSRqJ4vw8CjAlCEPACASlX/APwPOJKl9xQAAAPmnev2eWp33Xgy' +\n'w3Dvfz6myGk3oyP8YTKsCOvzAgALQi0o1c6Nzs2O2Pg2h4ACIJAgAGP0aNn5x0BDgVfH7u2TtyfD' +\n'cRIuYAyQhBF/lvSRAttgA6TPbWZA9gaUrZWAUEAA+Dx47Q3/r87HxUUqZmB0BmUuMlojFjHt1gDu' +\n'nnvuX8MImsjSq5WkzSzGS62OEIlOufWWezxWpv6FBgDgJVltfXFYtNAAnqU0xQoD0YLiXo5cF5QV' +\n'4CnY1tBLAkZCOABAhbk/AM+/AwSCCdlWAAAMcFjS7owb8GVDzveDiZvznbt2tF4bL5odN1YKl88T' +\n'AEABCZvufq9YCTBtMwVAQUEAwGtNltzSaHvADYC3TxLVjqiRA+OZAMhzcqEgRcAOwoCgvdTxsTHL' +\n'QEF6+oOb2+PAI8ciPQcXg7pOY+LjxQSv2fjmFuj34gGwz310/bGK6z3xgT887eomWULEaDd04wHe' +\n'tYxdjcgV2SxvSwn0VoZXJRqkRC5ASQ/muVoAUsX7AgAQMBNaVwAAlABRxT/1PmfqLqSRNDbhXb07' +\n'berpB3b94jpuWEZjBCD2OcdXFpCKEgCDfcFPMw8AAADUwT4lnUm50lmwrpMMhPQIKj6u0E8fr2vG' +\n'BngMNdIlrZsigjahljud6AFVg+tzXwUnXL3TJLpajaWKA4VAAAAMiFfqJgKAZ08XrtS3dxtQNYcp' +\n'PvYEG8ClvrQRJgBephwnNWJjtGqmp6VEPSvBe7EBiU3qgJbQAwD4Le8LAMDMhHbNAAAlgK+tFs5O' +\n'+YyJc9yCnJa3rxLPulGnxwsXV9Fsk2k4PisCAHC8FkwbGE9gJQAAoMnyksj0CdFMZLLgoz8M+Fxz' +\n'iwYBgIx+zHiCBAKAlBKNpF1sO9JpVcyEi9ar15YlHgrut5fPJnkdJ6vEwZPyAHQBIEDUrlMcBAAd' +\n'2KAS0Qq+JwRsE4AJZtMnAD6GnOYwYlOIZvtzUNdjreB7fiMkWI0CmBB6AIAKc38A9osEFlTSGECB' +\n'+cbeRDC0aRpLHqNPplcK/76Lxn2rpmqyXsYJWRi/FQAAAKBQk9MCAOibrQBQADCDsqpooPutd+05' +\n'Ce9g6iEdiYXgVmQAI4+4wskEBEiBloNQ6Ki0/KTQ0QjWfjxzi+AeuXKoMjEVfQOZzr0y941qLgM2' +\n'AExvbZOqcxZ6J6krlrj4y2j9AdgKDx6GnJsVLhbc42uq584+ouSdNBpoCiCVHrz+WzUA/DDtD8AT' +\n'gA3h0lMCAAzcFv+S+fSSNkeYWlTpb34mf2RfmqqJeMeklhHAfu7VoAEACgAApKRktL+KkQDWMwYC' +\n'UAAAAHCKsp80xhp91UjqQBw3x45cetqkjQEyu3G9B6N+R650Uq8OVig7wOm6Wun0ea4lKDPoabJs' +\n'6aLqgbhPzpv4KR4iODilw88ZpY7q1IOMcbASAOAVtmcCnobcrkG4KGS7/ZnskVWRNF9J0RUHKOnB' +\n'yy9WA8Dv6L4AAARMCQUA4GritfVM2lcZfH3Q3T/vZ47J2YHhcmBazjfdyuV25gLAzrc0cwAAAAAY' +\n'Ch6PdwAAAGyWjFW4yScjaWa2mGcofHxWxewKALglWBpLUvwwk+UOh5eNGyUOs1/EF+pZr+ud5Ozo' +\n'GwYdAABg2p52LiSgAY/ZVlOmilEgHn6G3OcwYjzI7vOj1t6xsx4S3lBY96EUQBF6AIBAmPYH4PoG' +\n'YCoJAADWe+OZJZi7/x76/yH7Lzf9M5XzRKnFPmveMsilQHwVAAAAAKB3LQD8PCIAAADga0QujBLy' +\n'wzeJ4a6Z/ERVBAUlAEDqvoM7BQBAuAguzFqILtmjH3Kd4wfKobnOhA3z85qWoRPm9hwoOHoDAAlC' +\n'bwDAA56FHAuXflHo3fe2ttG9XUDeA9YmYCBQ0oPr/1QC8IvuCwAAApbUAQCK22MmE3O78VAbHQT9' +\n'PIPNoT9zNc3l2Oe7TAVLANBufT8MAQAAAGzT4PS8AQAAoELGHb2uaCwwEv1EWhFriUkbAaAZ27/f' +\n'VZnTZXbWz3BwWpjUaMZKRj7dZ0J//gUeTdpVEwAAZOFsNxKAjQSgA+ABPoY8Jj5y2wje81jsXc/1' +\n'TOQWTDYZBmAkNDiqVwuA2NJ9AQAAEBKAt9Vrsfs/2N19MO91S9rd8EHTZHnzC5MYmfQEACy/FBcA' +\n'AADA5c4gi4z8RANs/m6FNXVo9DV46JG1BBDukqlw/Va5G7QbuGVSI+2aZaoLXJrdVj2zlC9Z5QEA' +\n'EFz/5QzgVZwAAAAA/oXcxyC6WfTu+09Ve/c766J4VTAGUFmA51+VANKi/QPoPwYgYAkA715OH4S0' +\n's5KDHvj99MMq8TPFc3roKZnGOoT1bmIhVgc7XAMBAAAAAMAW1VbQw3gapzOpJd+Kd2fc4iSO62fJ' +\n'v9+movui1wUNPAj059N3OVxzk4gV73PmE8FIA2F5mRq37Evc76vLXfF4rD5UJJAw46hW6LZCb5sN' +\n'Ldx+kzMCAAB+hfy95+965ZCLP7B3/VlTHCvDEKtQhTm4KiCgAEAbrfbWTPssAAAAXpee1tVrozYY' +\n'n41wD1aeYtkKfswN5/SXPO0JDnhO/4laUortv/s412fybe/nONdncoCHnBVliu0CQGBWlPY/5Kwo' +\n'm2L/kruPM6Q7oz4tvDQy+bZ3HzOi+gNHA4DZEgA=' +\n''\n);\n\nlib.resource.add('hterm/images/icon-96', 'image/png;base64',\n'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' +\n'ODoyNC0wNDowMNba8BsAAAAASUVORK5CYII=' +\n''\n);\n\nlib.resource.add('hterm/concat/date', 'text/plain',\n'Tue, 22 Aug 2017 06:42:31 +0000' +\n''\n);\n\nlib.resource.add('hterm/changelog/version', 'text/plain',\n'1.70' +\n''\n);\n\nlib.resource.add('hterm/changelog/date', 'text/plain',\n'2017-08-16' +\n''\n);\n\nlib.resource.add('hterm/git/HEAD', 'text/plain',\n'git rev-parse HEAD' +\n''\n);\n\n// SOURCE FILE: hterm/js/hterm_export.js\nmodule.exports = {\n hterm: hterm,\n lib: lib\n};\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/libapps/hterm/dist/js/hterm_module.js\n// module id = 14\n// module chunks = 0","import { Hterm } from \"./hterm\";\nimport { Xterm } from \"./xterm\";\nimport { Terminal, WebTTY, protocols } from \"./webtty\";\nimport { ConnectionFactory } from \"./websocket\";\n\n// @TODO remove these\ndeclare var gotty_auth_token: string;\ndeclare var gotty_term: string;\n\nconst elem = document.getElementById(\"terminal\")\n\nif (elem !== null) {\n var term: Terminal;\n if (gotty_term == \"hterm\") {\n term = new Hterm(elem);\n } else {\n term = new Xterm(elem);\n }\n const httpsEnabled = window.location.protocol == \"https:\";\n const url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws';\n const args = window.location.search;\n const factory = new ConnectionFactory(url, protocols);\n const wt = new WebTTY(term, factory, args, gotty_auth_token);\n const closer = wt.open();\n\n window.addEventListener(\"unload\", () => {\n closer();\n term.close();\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CompositionHelper = (function () {\n function CompositionHelper(textarea, compositionView, terminal) {\n this.textarea = textarea;\n this.compositionView = compositionView;\n this.terminal = terminal;\n this.isComposing = false;\n this.isSendingComposition = false;\n this.compositionPosition = { start: null, end: null };\n }\n CompositionHelper.prototype.compositionstart = function () {\n this.isComposing = true;\n this.compositionPosition.start = this.textarea.value.length;\n this.compositionView.textContent = '';\n this.compositionView.classList.add('active');\n };\n CompositionHelper.prototype.compositionupdate = function (ev) {\n var _this = this;\n this.compositionView.textContent = ev.data;\n this.updateCompositionElements();\n setTimeout(function () {\n _this.compositionPosition.end = _this.textarea.value.length;\n }, 0);\n };\n CompositionHelper.prototype.compositionend = function () {\n this.finalizeComposition(true);\n };\n CompositionHelper.prototype.keydown = function (ev) {\n if (this.isComposing || this.isSendingComposition) {\n if (ev.keyCode === 229) {\n return false;\n }\n else if (ev.keyCode === 16 || ev.keyCode === 17 || ev.keyCode === 18) {\n return false;\n }\n else {\n this.finalizeComposition(false);\n }\n }\n if (ev.keyCode === 229) {\n this.handleAnyTextareaChanges();\n return false;\n }\n return true;\n };\n CompositionHelper.prototype.finalizeComposition = function (waitForPropogation) {\n var _this = this;\n this.compositionView.classList.remove('active');\n this.isComposing = false;\n this.clearTextareaPosition();\n if (!waitForPropogation) {\n this.isSendingComposition = false;\n var input = this.textarea.value.substring(this.compositionPosition.start, this.compositionPosition.end);\n this.terminal.handler(input);\n }\n else {\n var currentCompositionPosition_1 = {\n start: this.compositionPosition.start,\n end: this.compositionPosition.end,\n };\n this.isSendingComposition = true;\n setTimeout(function () {\n if (_this.isSendingComposition) {\n _this.isSendingComposition = false;\n var input = void 0;\n if (_this.isComposing) {\n input = _this.textarea.value.substring(currentCompositionPosition_1.start, currentCompositionPosition_1.end);\n }\n else {\n input = _this.textarea.value.substring(currentCompositionPosition_1.start);\n }\n _this.terminal.handler(input);\n }\n }, 0);\n }\n };\n CompositionHelper.prototype.handleAnyTextareaChanges = function () {\n var _this = this;\n var oldValue = this.textarea.value;\n setTimeout(function () {\n if (!_this.isComposing) {\n var newValue = _this.textarea.value;\n var diff = newValue.replace(oldValue, '');\n if (diff.length > 0) {\n _this.terminal.handler(diff);\n }\n }\n }, 0);\n };\n CompositionHelper.prototype.updateCompositionElements = function (dontRecurse) {\n var _this = this;\n if (!this.isComposing) {\n return;\n }\n var cursor = this.terminal.element.querySelector('.terminal-cursor');\n if (cursor) {\n var xtermRows = this.terminal.element.querySelector('.xterm-rows');\n var cursorTop = xtermRows.offsetTop + cursor.offsetTop;\n this.compositionView.style.left = cursor.offsetLeft + 'px';\n this.compositionView.style.top = cursorTop + 'px';\n this.compositionView.style.height = cursor.offsetHeight + 'px';\n this.compositionView.style.lineHeight = cursor.offsetHeight + 'px';\n var compositionViewBounds = this.compositionView.getBoundingClientRect();\n this.textarea.style.left = cursor.offsetLeft + 'px';\n this.textarea.style.top = cursorTop + 'px';\n this.textarea.style.width = compositionViewBounds.width + 'px';\n this.textarea.style.height = compositionViewBounds.height + 'px';\n this.textarea.style.lineHeight = compositionViewBounds.height + 'px';\n }\n if (!dontRecurse) {\n setTimeout(function () { return _this.updateCompositionElements(true); }, 0);\n }\n };\n ;\n CompositionHelper.prototype.clearTextareaPosition = function () {\n this.textarea.style.left = '';\n this.textarea.style.top = '';\n };\n ;\n return CompositionHelper;\n}());\nexports.CompositionHelper = CompositionHelper;\n\n//# sourceMappingURL=CompositionHelper.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/CompositionHelper.js\n// module id = 16\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar Charsets_1 = require(\"./Charsets\");\nvar InputHandler = (function () {\n function InputHandler(_terminal) {\n this._terminal = _terminal;\n }\n InputHandler.prototype.addChar = function (char, code) {\n if (char >= ' ') {\n var ch_width = wcwidth(code);\n if (this._terminal.charset && this._terminal.charset[char]) {\n char = this._terminal.charset[char];\n }\n var row = this._terminal.y + this._terminal.ybase;\n if (!ch_width && this._terminal.x) {\n if (this._terminal.lines.get(row)[this._terminal.x - 1]) {\n if (!this._terminal.lines.get(row)[this._terminal.x - 1][2]) {\n if (this._terminal.lines.get(row)[this._terminal.x - 2])\n this._terminal.lines.get(row)[this._terminal.x - 2][1] += char;\n }\n else {\n this._terminal.lines.get(row)[this._terminal.x - 1][1] += char;\n }\n this._terminal.updateRange(this._terminal.y);\n }\n return;\n }\n if (this._terminal.x + ch_width - 1 >= this._terminal.cols) {\n if (this._terminal.wraparoundMode) {\n this._terminal.x = 0;\n this._terminal.y++;\n if (this._terminal.y > this._terminal.scrollBottom) {\n this._terminal.y--;\n this._terminal.scroll(true);\n }\n else {\n this._terminal.lines.get(this._terminal.y).isWrapped = true;\n }\n }\n else {\n if (ch_width === 2)\n return;\n }\n }\n row = this._terminal.y + this._terminal.ybase;\n if (this._terminal.insertMode) {\n for (var moves = 0; moves < ch_width; ++moves) {\n var removed = this._terminal.lines.get(this._terminal.y + this._terminal.ybase).pop();\n if (removed[2] === 0\n && this._terminal.lines.get(row)[this._terminal.cols - 2]\n && this._terminal.lines.get(row)[this._terminal.cols - 2][2] === 2) {\n this._terminal.lines.get(row)[this._terminal.cols - 2] = [this._terminal.curAttr, ' ', 1];\n }\n this._terminal.lines.get(row).splice(this._terminal.x, 0, [this._terminal.curAttr, ' ', 1]);\n }\n }\n this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, char, ch_width];\n this._terminal.x++;\n this._terminal.updateRange(this._terminal.y);\n if (ch_width === 2) {\n this._terminal.lines.get(row)[this._terminal.x] = [this._terminal.curAttr, '', 0];\n this._terminal.x++;\n }\n }\n };\n InputHandler.prototype.bell = function () {\n var _this = this;\n if (!this._terminal.visualBell) {\n return;\n }\n this._terminal.element.style.borderColor = 'white';\n setTimeout(function () { return _this._terminal.element.style.borderColor = ''; }, 10);\n if (this._terminal.popOnBell) {\n this._terminal.focus();\n }\n };\n InputHandler.prototype.lineFeed = function () {\n if (this._terminal.convertEol) {\n this._terminal.x = 0;\n }\n this._terminal.y++;\n if (this._terminal.y > this._terminal.scrollBottom) {\n this._terminal.y--;\n this._terminal.scroll();\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.carriageReturn = function () {\n this._terminal.x = 0;\n };\n InputHandler.prototype.backspace = function () {\n if (this._terminal.x > 0) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.tab = function () {\n this._terminal.x = this._terminal.nextStop();\n };\n InputHandler.prototype.shiftOut = function () {\n this._terminal.setgLevel(1);\n };\n InputHandler.prototype.shiftIn = function () {\n this._terminal.setgLevel(0);\n };\n InputHandler.prototype.insertChars = function (params) {\n var param, row, j, ch;\n param = params[0];\n if (param < 1)\n param = 1;\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.x;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param-- && j < this._terminal.cols) {\n this._terminal.lines.get(row).splice(j++, 0, ch);\n this._terminal.lines.get(row).pop();\n }\n };\n InputHandler.prototype.cursorUp = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y -= param;\n if (this._terminal.y < 0) {\n this._terminal.y = 0;\n }\n };\n InputHandler.prototype.cursorDown = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.cursorForward = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x += param;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.cursorBackward = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n this._terminal.x -= param;\n if (this._terminal.x < 0) {\n this._terminal.x = 0;\n }\n };\n InputHandler.prototype.cursorNextLine = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n this._terminal.x = 0;\n };\n ;\n InputHandler.prototype.cursorPrecedingLine = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y -= param;\n if (this._terminal.y < 0) {\n this._terminal.y = 0;\n }\n this._terminal.x = 0;\n };\n ;\n InputHandler.prototype.cursorCharAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x = param - 1;\n };\n InputHandler.prototype.cursorPosition = function (params) {\n var row, col;\n row = params[0] - 1;\n if (params.length >= 2) {\n col = params[1] - 1;\n }\n else {\n col = 0;\n }\n if (row < 0) {\n row = 0;\n }\n else if (row >= this._terminal.rows) {\n row = this._terminal.rows - 1;\n }\n if (col < 0) {\n col = 0;\n }\n else if (col >= this._terminal.cols) {\n col = this._terminal.cols - 1;\n }\n this._terminal.x = col;\n this._terminal.y = row;\n };\n InputHandler.prototype.cursorForwardTab = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.x = this._terminal.nextStop();\n }\n };\n InputHandler.prototype.eraseInDisplay = function (params) {\n var j;\n switch (params[0]) {\n case 0:\n this._terminal.eraseRight(this._terminal.x, this._terminal.y);\n j = this._terminal.y + 1;\n for (; j < this._terminal.rows; j++) {\n this._terminal.eraseLine(j);\n }\n break;\n case 1:\n this._terminal.eraseLeft(this._terminal.x, this._terminal.y);\n j = this._terminal.y;\n while (j--) {\n this._terminal.eraseLine(j);\n }\n break;\n case 2:\n j = this._terminal.rows;\n while (j--)\n this._terminal.eraseLine(j);\n break;\n case 3:\n var scrollBackSize = this._terminal.lines.length - this._terminal.rows;\n if (scrollBackSize > 0) {\n this._terminal.lines.trimStart(scrollBackSize);\n this._terminal.ybase = Math.max(this._terminal.ybase - scrollBackSize, 0);\n this._terminal.ydisp = Math.max(this._terminal.ydisp - scrollBackSize, 0);\n }\n break;\n }\n };\n InputHandler.prototype.eraseInLine = function (params) {\n switch (params[0]) {\n case 0:\n this._terminal.eraseRight(this._terminal.x, this._terminal.y);\n break;\n case 1:\n this._terminal.eraseLeft(this._terminal.x, this._terminal.y);\n break;\n case 2:\n this._terminal.eraseLine(this._terminal.y);\n break;\n }\n };\n InputHandler.prototype.insertLines = function (params) {\n var param, row, j;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.rows - 1 - this._terminal.scrollBottom;\n j = this._terminal.rows - 1 + this._terminal.ybase - j + 1;\n while (param--) {\n if (this._terminal.lines.length === this._terminal.lines.maxLength) {\n this._terminal.lines.trimStart(1);\n this._terminal.ybase--;\n this._terminal.ydisp--;\n row--;\n j--;\n }\n this._terminal.lines.splice(row, 0, this._terminal.blankLine(true));\n this._terminal.lines.splice(j, 1);\n }\n this._terminal.updateRange(this._terminal.y);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.deleteLines = function (params) {\n var param, row, j;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.rows - 1 - this._terminal.scrollBottom;\n j = this._terminal.rows - 1 + this._terminal.ybase - j;\n while (param--) {\n if (this._terminal.lines.length === this._terminal.lines.maxLength) {\n this._terminal.lines.trimStart(1);\n this._terminal.ybase -= 1;\n this._terminal.ydisp -= 1;\n }\n this._terminal.lines.splice(j + 1, 0, this._terminal.blankLine(true));\n this._terminal.lines.splice(row, 1);\n }\n this._terminal.updateRange(this._terminal.y);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.deleteChars = function (params) {\n var param, row, ch;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param--) {\n this._terminal.lines.get(row).splice(this._terminal.x, 1);\n this._terminal.lines.get(row).push(ch);\n }\n };\n InputHandler.prototype.scrollUp = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 1);\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 0, this._terminal.blankLine());\n }\n this._terminal.updateRange(this._terminal.scrollTop);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.scrollDown = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollBottom, 1);\n this._terminal.lines.splice(this._terminal.ybase + this._terminal.scrollTop, 0, this._terminal.blankLine());\n }\n this._terminal.updateRange(this._terminal.scrollTop);\n this._terminal.updateRange(this._terminal.scrollBottom);\n };\n InputHandler.prototype.eraseChars = function (params) {\n var param, row, j, ch;\n param = params[0];\n if (param < 1) {\n param = 1;\n }\n row = this._terminal.y + this._terminal.ybase;\n j = this._terminal.x;\n ch = [this._terminal.eraseAttr(), ' ', 1];\n while (param-- && j < this._terminal.cols) {\n this._terminal.lines.get(row)[j++] = ch;\n }\n };\n InputHandler.prototype.cursorBackwardTab = function (params) {\n var param = params[0] || 1;\n while (param--) {\n this._terminal.x = this._terminal.prevStop();\n }\n };\n InputHandler.prototype.charPosAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x = param - 1;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.HPositionRelative = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.x += param;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.repeatPrecedingCharacter = function (params) {\n var param = params[0] || 1, line = this._terminal.lines.get(this._terminal.ybase + this._terminal.y), ch = line[this._terminal.x - 1] || [this._terminal.defAttr, ' ', 1];\n while (param--) {\n line[this._terminal.x++] = ch;\n }\n };\n InputHandler.prototype.sendDeviceAttributes = function (params) {\n if (params[0] > 0) {\n return;\n }\n if (!this._terminal.prefix) {\n if (this._terminal.is('xterm') || this._terminal.is('rxvt-unicode') || this._terminal.is('screen')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?1;2c');\n }\n else if (this._terminal.is('linux')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?6c');\n }\n }\n else if (this._terminal.prefix === '>') {\n if (this._terminal.is('xterm')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>0;276;0c');\n }\n else if (this._terminal.is('rxvt-unicode')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>85;95;0c');\n }\n else if (this._terminal.is('linux')) {\n this._terminal.send(params[0] + 'c');\n }\n else if (this._terminal.is('screen')) {\n this._terminal.send(EscapeSequences_1.C0.ESC + '[>83;40003;0c');\n }\n }\n };\n InputHandler.prototype.linePosAbsolute = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y = param - 1;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n };\n InputHandler.prototype.VPositionRelative = function (params) {\n var param = params[0];\n if (param < 1) {\n param = 1;\n }\n this._terminal.y += param;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x--;\n }\n };\n InputHandler.prototype.HVPosition = function (params) {\n if (params[0] < 1)\n params[0] = 1;\n if (params[1] < 1)\n params[1] = 1;\n this._terminal.y = params[0] - 1;\n if (this._terminal.y >= this._terminal.rows) {\n this._terminal.y = this._terminal.rows - 1;\n }\n this._terminal.x = params[1] - 1;\n if (this._terminal.x >= this._terminal.cols) {\n this._terminal.x = this._terminal.cols - 1;\n }\n };\n InputHandler.prototype.tabClear = function (params) {\n var param = params[0];\n if (param <= 0) {\n delete this._terminal.tabs[this._terminal.x];\n }\n else if (param === 3) {\n this._terminal.tabs = {};\n }\n };\n InputHandler.prototype.setMode = function (params) {\n if (params.length > 1) {\n for (var i = 0; i < params.length; i++) {\n this.setMode([params[i]]);\n }\n return;\n }\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 4:\n this._terminal.insertMode = true;\n break;\n case 20:\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 1:\n this._terminal.applicationCursor = true;\n break;\n case 2:\n this._terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(1, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(2, Charsets_1.DEFAULT_CHARSET);\n this._terminal.setgCharset(3, Charsets_1.DEFAULT_CHARSET);\n break;\n case 3:\n this._terminal.savedCols = this._terminal.cols;\n this._terminal.resize(132, this._terminal.rows);\n break;\n case 6:\n this._terminal.originMode = true;\n break;\n case 7:\n this._terminal.wraparoundMode = true;\n break;\n case 12:\n break;\n case 66:\n this._terminal.log('Serial port requested application keypad.');\n this._terminal.applicationKeypad = true;\n this._terminal.viewport.syncScrollArea();\n break;\n case 9:\n case 1000:\n case 1002:\n case 1003:\n this._terminal.x10Mouse = params[0] === 9;\n this._terminal.vt200Mouse = params[0] === 1000;\n this._terminal.normalMouse = params[0] > 1000;\n this._terminal.mouseEvents = true;\n this._terminal.element.classList.add('enable-mouse-events');\n this._terminal.selectionManager.disable();\n this._terminal.log('Binding to mouse events.');\n break;\n case 1004:\n this._terminal.sendFocus = true;\n break;\n case 1005:\n this._terminal.utfMouse = true;\n break;\n case 1006:\n this._terminal.sgrMouse = true;\n break;\n case 1015:\n this._terminal.urxvtMouse = true;\n break;\n case 25:\n this._terminal.cursorHidden = false;\n break;\n case 1049:\n ;\n case 47:\n case 1047:\n if (!this._terminal.normal) {\n var normal = {\n lines: this._terminal.lines,\n ybase: this._terminal.ybase,\n ydisp: this._terminal.ydisp,\n x: this._terminal.x,\n y: this._terminal.y,\n scrollTop: this._terminal.scrollTop,\n scrollBottom: this._terminal.scrollBottom,\n tabs: this._terminal.tabs\n };\n this._terminal.reset();\n this._terminal.viewport.syncScrollArea();\n this._terminal.normal = normal;\n this._terminal.showCursor();\n }\n break;\n }\n }\n };\n InputHandler.prototype.resetMode = function (params) {\n if (params.length > 1) {\n for (var i = 0; i < params.length; i++) {\n this.resetMode([params[i]]);\n }\n return;\n }\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 4:\n this._terminal.insertMode = false;\n break;\n case 20:\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 1:\n this._terminal.applicationCursor = false;\n break;\n case 3:\n if (this._terminal.cols === 132 && this._terminal.savedCols) {\n this._terminal.resize(this._terminal.savedCols, this._terminal.rows);\n }\n delete this._terminal.savedCols;\n break;\n case 6:\n this._terminal.originMode = false;\n break;\n case 7:\n this._terminal.wraparoundMode = false;\n break;\n case 12:\n break;\n case 66:\n this._terminal.log('Switching back to normal keypad.');\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n break;\n case 9:\n case 1000:\n case 1002:\n case 1003:\n this._terminal.x10Mouse = false;\n this._terminal.vt200Mouse = false;\n this._terminal.normalMouse = false;\n this._terminal.mouseEvents = false;\n this._terminal.element.classList.remove('enable-mouse-events');\n this._terminal.selectionManager.enable();\n break;\n case 1004:\n this._terminal.sendFocus = false;\n break;\n case 1005:\n this._terminal.utfMouse = false;\n break;\n case 1006:\n this._terminal.sgrMouse = false;\n break;\n case 1015:\n this._terminal.urxvtMouse = false;\n break;\n case 25:\n this._terminal.cursorHidden = true;\n break;\n case 1049:\n ;\n case 47:\n case 1047:\n if (this._terminal.normal) {\n this._terminal.lines = this._terminal.normal.lines;\n this._terminal.ybase = this._terminal.normal.ybase;\n this._terminal.ydisp = this._terminal.normal.ydisp;\n this._terminal.x = this._terminal.normal.x;\n this._terminal.y = this._terminal.normal.y;\n this._terminal.scrollTop = this._terminal.normal.scrollTop;\n this._terminal.scrollBottom = this._terminal.normal.scrollBottom;\n this._terminal.tabs = this._terminal.normal.tabs;\n this._terminal.normal = null;\n this._terminal.selectionManager.setBuffer(this._terminal.lines);\n this._terminal.refresh(0, this._terminal.rows - 1);\n this._terminal.viewport.syncScrollArea();\n this._terminal.showCursor();\n }\n break;\n }\n }\n };\n InputHandler.prototype.charAttributes = function (params) {\n if (params.length === 1 && params[0] === 0) {\n this._terminal.curAttr = this._terminal.defAttr;\n return;\n }\n var l = params.length, i = 0, flags = this._terminal.curAttr >> 18, fg = (this._terminal.curAttr >> 9) & 0x1ff, bg = this._terminal.curAttr & 0x1ff, p;\n for (; i < l; i++) {\n p = params[i];\n if (p >= 30 && p <= 37) {\n fg = p - 30;\n }\n else if (p >= 40 && p <= 47) {\n bg = p - 40;\n }\n else if (p >= 90 && p <= 97) {\n p += 8;\n fg = p - 90;\n }\n else if (p >= 100 && p <= 107) {\n p += 8;\n bg = p - 100;\n }\n else if (p === 0) {\n flags = this._terminal.defAttr >> 18;\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n bg = this._terminal.defAttr & 0x1ff;\n }\n else if (p === 1) {\n flags |= 1;\n }\n else if (p === 4) {\n flags |= 2;\n }\n else if (p === 5) {\n flags |= 4;\n }\n else if (p === 7) {\n flags |= 8;\n }\n else if (p === 8) {\n flags |= 16;\n }\n else if (p === 22) {\n flags &= ~1;\n }\n else if (p === 24) {\n flags &= ~2;\n }\n else if (p === 25) {\n flags &= ~4;\n }\n else if (p === 27) {\n flags &= ~8;\n }\n else if (p === 28) {\n flags &= ~16;\n }\n else if (p === 39) {\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n }\n else if (p === 49) {\n bg = this._terminal.defAttr & 0x1ff;\n }\n else if (p === 38) {\n if (params[i + 1] === 2) {\n i += 2;\n fg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff);\n if (fg === -1)\n fg = 0x1ff;\n i += 2;\n }\n else if (params[i + 1] === 5) {\n i += 2;\n p = params[i] & 0xff;\n fg = p;\n }\n }\n else if (p === 48) {\n if (params[i + 1] === 2) {\n i += 2;\n bg = this._terminal.matchColor(params[i] & 0xff, params[i + 1] & 0xff, params[i + 2] & 0xff);\n if (bg === -1)\n bg = 0x1ff;\n i += 2;\n }\n else if (params[i + 1] === 5) {\n i += 2;\n p = params[i] & 0xff;\n bg = p;\n }\n }\n else if (p === 100) {\n fg = (this._terminal.defAttr >> 9) & 0x1ff;\n bg = this._terminal.defAttr & 0x1ff;\n }\n else {\n this._terminal.error('Unknown SGR attribute: %d.', p);\n }\n }\n this._terminal.curAttr = (flags << 18) | (fg << 9) | bg;\n };\n InputHandler.prototype.deviceStatus = function (params) {\n if (!this._terminal.prefix) {\n switch (params[0]) {\n case 5:\n this._terminal.send(EscapeSequences_1.C0.ESC + '[0n');\n break;\n case 6:\n this._terminal.send(EscapeSequences_1.C0.ESC + '['\n + (this._terminal.y + 1)\n + ';'\n + (this._terminal.x + 1)\n + 'R');\n break;\n }\n }\n else if (this._terminal.prefix === '?') {\n switch (params[0]) {\n case 6:\n this._terminal.send(EscapeSequences_1.C0.ESC + '[?'\n + (this._terminal.y + 1)\n + ';'\n + (this._terminal.x + 1)\n + 'R');\n break;\n case 15:\n break;\n case 25:\n break;\n case 26:\n break;\n case 53:\n break;\n }\n }\n };\n InputHandler.prototype.softReset = function (params) {\n this._terminal.cursorHidden = false;\n this._terminal.insertMode = false;\n this._terminal.originMode = false;\n this._terminal.wraparoundMode = true;\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n this._terminal.applicationCursor = false;\n this._terminal.scrollTop = 0;\n this._terminal.scrollBottom = this._terminal.rows - 1;\n this._terminal.curAttr = this._terminal.defAttr;\n this._terminal.x = this._terminal.y = 0;\n this._terminal.charset = null;\n this._terminal.glevel = 0;\n this._terminal.charsets = [null];\n };\n InputHandler.prototype.setCursorStyle = function (params) {\n var param = params[0] < 1 ? 1 : params[0];\n switch (param) {\n case 1:\n case 2:\n this._terminal.setOption('cursorStyle', 'block');\n break;\n case 3:\n case 4:\n this._terminal.setOption('cursorStyle', 'underline');\n break;\n case 5:\n case 6:\n this._terminal.setOption('cursorStyle', 'bar');\n break;\n }\n var isBlinking = param % 2 === 1;\n this._terminal.setOption('cursorBlink', isBlinking);\n };\n InputHandler.prototype.setScrollRegion = function (params) {\n if (this._terminal.prefix)\n return;\n this._terminal.scrollTop = (params[0] || 1) - 1;\n this._terminal.scrollBottom = (params[1] && params[1] <= this._terminal.rows ? params[1] : this._terminal.rows) - 1;\n this._terminal.x = 0;\n this._terminal.y = 0;\n };\n InputHandler.prototype.saveCursor = function (params) {\n this._terminal.savedX = this._terminal.x;\n this._terminal.savedY = this._terminal.y;\n };\n InputHandler.prototype.restoreCursor = function (params) {\n this._terminal.x = this._terminal.savedX || 0;\n this._terminal.y = this._terminal.savedY || 0;\n };\n return InputHandler;\n}());\nexports.InputHandler = InputHandler;\nvar wcwidth = (function (opts) {\n var COMBINING = [\n [0x0300, 0x036F], [0x0483, 0x0486], [0x0488, 0x0489],\n [0x0591, 0x05BD], [0x05BF, 0x05BF], [0x05C1, 0x05C2],\n [0x05C4, 0x05C5], [0x05C7, 0x05C7], [0x0600, 0x0603],\n [0x0610, 0x0615], [0x064B, 0x065E], [0x0670, 0x0670],\n [0x06D6, 0x06E4], [0x06E7, 0x06E8], [0x06EA, 0x06ED],\n [0x070F, 0x070F], [0x0711, 0x0711], [0x0730, 0x074A],\n [0x07A6, 0x07B0], [0x07EB, 0x07F3], [0x0901, 0x0902],\n [0x093C, 0x093C], [0x0941, 0x0948], [0x094D, 0x094D],\n [0x0951, 0x0954], [0x0962, 0x0963], [0x0981, 0x0981],\n [0x09BC, 0x09BC], [0x09C1, 0x09C4], [0x09CD, 0x09CD],\n [0x09E2, 0x09E3], [0x0A01, 0x0A02], [0x0A3C, 0x0A3C],\n [0x0A41, 0x0A42], [0x0A47, 0x0A48], [0x0A4B, 0x0A4D],\n [0x0A70, 0x0A71], [0x0A81, 0x0A82], [0x0ABC, 0x0ABC],\n [0x0AC1, 0x0AC5], [0x0AC7, 0x0AC8], [0x0ACD, 0x0ACD],\n [0x0AE2, 0x0AE3], [0x0B01, 0x0B01], [0x0B3C, 0x0B3C],\n [0x0B3F, 0x0B3F], [0x0B41, 0x0B43], [0x0B4D, 0x0B4D],\n [0x0B56, 0x0B56], [0x0B82, 0x0B82], [0x0BC0, 0x0BC0],\n [0x0BCD, 0x0BCD], [0x0C3E, 0x0C40], [0x0C46, 0x0C48],\n [0x0C4A, 0x0C4D], [0x0C55, 0x0C56], [0x0CBC, 0x0CBC],\n [0x0CBF, 0x0CBF], [0x0CC6, 0x0CC6], [0x0CCC, 0x0CCD],\n [0x0CE2, 0x0CE3], [0x0D41, 0x0D43], [0x0D4D, 0x0D4D],\n [0x0DCA, 0x0DCA], [0x0DD2, 0x0DD4], [0x0DD6, 0x0DD6],\n [0x0E31, 0x0E31], [0x0E34, 0x0E3A], [0x0E47, 0x0E4E],\n [0x0EB1, 0x0EB1], [0x0EB4, 0x0EB9], [0x0EBB, 0x0EBC],\n [0x0EC8, 0x0ECD], [0x0F18, 0x0F19], [0x0F35, 0x0F35],\n [0x0F37, 0x0F37], [0x0F39, 0x0F39], [0x0F71, 0x0F7E],\n [0x0F80, 0x0F84], [0x0F86, 0x0F87], [0x0F90, 0x0F97],\n [0x0F99, 0x0FBC], [0x0FC6, 0x0FC6], [0x102D, 0x1030],\n [0x1032, 0x1032], [0x1036, 0x1037], [0x1039, 0x1039],\n [0x1058, 0x1059], [0x1160, 0x11FF], [0x135F, 0x135F],\n [0x1712, 0x1714], [0x1732, 0x1734], [0x1752, 0x1753],\n [0x1772, 0x1773], [0x17B4, 0x17B5], [0x17B7, 0x17BD],\n [0x17C6, 0x17C6], [0x17C9, 0x17D3], [0x17DD, 0x17DD],\n [0x180B, 0x180D], [0x18A9, 0x18A9], [0x1920, 0x1922],\n [0x1927, 0x1928], [0x1932, 0x1932], [0x1939, 0x193B],\n [0x1A17, 0x1A18], [0x1B00, 0x1B03], [0x1B34, 0x1B34],\n [0x1B36, 0x1B3A], [0x1B3C, 0x1B3C], [0x1B42, 0x1B42],\n [0x1B6B, 0x1B73], [0x1DC0, 0x1DCA], [0x1DFE, 0x1DFF],\n [0x200B, 0x200F], [0x202A, 0x202E], [0x2060, 0x2063],\n [0x206A, 0x206F], [0x20D0, 0x20EF], [0x302A, 0x302F],\n [0x3099, 0x309A], [0xA806, 0xA806], [0xA80B, 0xA80B],\n [0xA825, 0xA826], [0xFB1E, 0xFB1E], [0xFE00, 0xFE0F],\n [0xFE20, 0xFE23], [0xFEFF, 0xFEFF], [0xFFF9, 0xFFFB],\n [0x10A01, 0x10A03], [0x10A05, 0x10A06], [0x10A0C, 0x10A0F],\n [0x10A38, 0x10A3A], [0x10A3F, 0x10A3F], [0x1D167, 0x1D169],\n [0x1D173, 0x1D182], [0x1D185, 0x1D18B], [0x1D1AA, 0x1D1AD],\n [0x1D242, 0x1D244], [0xE0001, 0xE0001], [0xE0020, 0xE007F],\n [0xE0100, 0xE01EF]\n ];\n function bisearch(ucs) {\n var min = 0;\n var max = COMBINING.length - 1;\n var mid;\n if (ucs < COMBINING[0][0] || ucs > COMBINING[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > COMBINING[mid][1])\n min = mid + 1;\n else if (ucs < COMBINING[mid][0])\n max = mid - 1;\n else\n return true;\n }\n return false;\n }\n function wcwidth(ucs) {\n if (ucs === 0)\n return opts.nul;\n if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0))\n return opts.control;\n if (bisearch(ucs))\n return 0;\n if (isWide(ucs)) {\n return 2;\n }\n return 1;\n }\n function isWide(ucs) {\n return (ucs >= 0x1100 && (ucs <= 0x115f ||\n ucs === 0x2329 ||\n ucs === 0x232a ||\n (ucs >= 0x2e80 && ucs <= 0xa4cf && ucs !== 0x303f) ||\n (ucs >= 0xac00 && ucs <= 0xd7a3) ||\n (ucs >= 0xf900 && ucs <= 0xfaff) ||\n (ucs >= 0xfe10 && ucs <= 0xfe19) ||\n (ucs >= 0xfe30 && ucs <= 0xfe6f) ||\n (ucs >= 0xff00 && ucs <= 0xff60) ||\n (ucs >= 0xffe0 && ucs <= 0xffe6) ||\n (ucs >= 0x20000 && ucs <= 0x2fffd) ||\n (ucs >= 0x30000 && ucs <= 0x3fffd)));\n }\n return wcwidth;\n})({ nul: 0, control: 0 });\n\n//# sourceMappingURL=InputHandler.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/InputHandler.js\n// module id = 17\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar INVALID_LINK_CLASS = 'xterm-invalid-link';\nvar protocolClause = '(https?:\\\\/\\\\/)';\nvar domainCharacterSet = '[\\\\da-z\\\\.-]+';\nvar negatedDomainCharacterSet = '[^\\\\da-z\\\\.-]+';\nvar domainBodyClause = '(' + domainCharacterSet + ')';\nvar tldClause = '([a-z\\\\.]{2,6})';\nvar ipClause = '((\\\\d{1,3}\\\\.){3}\\\\d{1,3})';\nvar localHostClause = '(localhost)';\nvar portClause = '(:\\\\d{1,5})';\nvar hostClause = '((' + domainBodyClause + '\\\\.' + tldClause + ')|' + ipClause + '|' + localHostClause + ')' + portClause + '?';\nvar pathClause = '(\\\\/[\\\\/\\\\w\\\\.\\\\-%~]*)*';\nvar queryStringHashFragmentCharacterSet = '[0-9\\\\w\\\\[\\\\]\\\\(\\\\)\\\\/\\\\?\\\\!#@$%&\\'*+,:;~\\\\=\\\\.\\\\-]*';\nvar queryStringClause = '(\\\\?' + queryStringHashFragmentCharacterSet + ')?';\nvar hashFragmentClause = '(#' + queryStringHashFragmentCharacterSet + ')?';\nvar negatedPathCharacterSet = '[^\\\\/\\\\w\\\\.\\\\-%]+';\nvar bodyClause = hostClause + pathClause + queryStringClause + hashFragmentClause;\nvar start = '(?:^|' + negatedDomainCharacterSet + ')(';\nvar end = ')($|' + negatedPathCharacterSet + ')';\nvar strictUrlRegex = new RegExp(start + protocolClause + bodyClause + end);\nvar HYPERTEXT_LINK_MATCHER_ID = 0;\nvar Linkifier = (function () {\n function Linkifier() {\n this._nextLinkMatcherId = HYPERTEXT_LINK_MATCHER_ID;\n this._rowTimeoutIds = [];\n this._linkMatchers = [];\n this.registerLinkMatcher(strictUrlRegex, null, { matchIndex: 1 });\n }\n Linkifier.prototype.attachToDom = function (document, rows) {\n this._document = document;\n this._rows = rows;\n };\n Linkifier.prototype.linkifyRow = function (rowIndex) {\n if (!this._document) {\n return;\n }\n var timeoutId = this._rowTimeoutIds[rowIndex];\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n this._rowTimeoutIds[rowIndex] = setTimeout(this._linkifyRow.bind(this, rowIndex), Linkifier.TIME_BEFORE_LINKIFY);\n };\n Linkifier.prototype.setHypertextLinkHandler = function (handler) {\n this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].handler = handler;\n };\n Linkifier.prototype.setHypertextValidationCallback = function (callback) {\n this._linkMatchers[HYPERTEXT_LINK_MATCHER_ID].validationCallback = callback;\n };\n Linkifier.prototype.registerLinkMatcher = function (regex, handler, options) {\n if (options === void 0) { options = {}; }\n if (this._nextLinkMatcherId !== HYPERTEXT_LINK_MATCHER_ID && !handler) {\n throw new Error('handler must be defined');\n }\n var matcher = {\n id: this._nextLinkMatcherId++,\n regex: regex,\n handler: handler,\n matchIndex: options.matchIndex,\n validationCallback: options.validationCallback,\n priority: options.priority || 0\n };\n this._addLinkMatcherToList(matcher);\n return matcher.id;\n };\n Linkifier.prototype._addLinkMatcherToList = function (matcher) {\n if (this._linkMatchers.length === 0) {\n this._linkMatchers.push(matcher);\n return;\n }\n for (var i = this._linkMatchers.length - 1; i >= 0; i--) {\n if (matcher.priority <= this._linkMatchers[i].priority) {\n this._linkMatchers.splice(i + 1, 0, matcher);\n return;\n }\n }\n this._linkMatchers.splice(0, 0, matcher);\n };\n Linkifier.prototype.deregisterLinkMatcher = function (matcherId) {\n for (var i = 1; i < this._linkMatchers.length; i++) {\n if (this._linkMatchers[i].id === matcherId) {\n this._linkMatchers.splice(i, 1);\n return true;\n }\n }\n return false;\n };\n Linkifier.prototype._linkifyRow = function (rowIndex) {\n var row = this._rows[rowIndex];\n if (!row) {\n return;\n }\n var text = row.textContent;\n for (var i = 0; i < this._linkMatchers.length; i++) {\n var matcher = this._linkMatchers[i];\n var linkElements = this._doLinkifyRow(row, matcher);\n if (linkElements.length > 0) {\n if (matcher.validationCallback) {\n var _loop_1 = function (j) {\n var element = linkElements[j];\n matcher.validationCallback(element.textContent, element, function (isValid) {\n if (!isValid) {\n element.classList.add(INVALID_LINK_CLASS);\n }\n });\n };\n for (var j = 0; j < linkElements.length; j++) {\n _loop_1(j);\n }\n }\n return;\n }\n }\n };\n Linkifier.prototype._doLinkifyRow = function (row, matcher) {\n var result = [];\n var isHttpLinkMatcher = matcher.id === HYPERTEXT_LINK_MATCHER_ID;\n var nodes = row.childNodes;\n var match = row.textContent.match(matcher.regex);\n if (!match || match.length === 0) {\n return result;\n }\n var uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];\n var rowStartIndex = match.index + uri.length;\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n var searchIndex = node.textContent.indexOf(uri);\n if (searchIndex >= 0) {\n var linkElement = this._createAnchorElement(uri, matcher.handler, isHttpLinkMatcher);\n if (node.textContent.length === uri.length) {\n if (node.nodeType === 3) {\n this._replaceNode(node, linkElement);\n }\n else {\n var element = node;\n if (element.nodeName === 'A') {\n return result;\n }\n element.innerHTML = '';\n element.appendChild(linkElement);\n }\n }\n else if (node.childNodes.length > 1) {\n for (var j = 0; j < node.childNodes.length; j++) {\n var childNode = node.childNodes[j];\n var childSearchIndex = childNode.textContent.indexOf(uri);\n if (childSearchIndex !== -1) {\n this._replaceNodeSubstringWithNode(childNode, linkElement, uri, childSearchIndex);\n break;\n }\n }\n }\n else {\n var nodesAdded = this._replaceNodeSubstringWithNode(node, linkElement, uri, searchIndex);\n i += nodesAdded;\n }\n result.push(linkElement);\n match = row.textContent.substring(rowStartIndex).match(matcher.regex);\n if (!match || match.length === 0) {\n return result;\n }\n uri = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];\n rowStartIndex += match.index + uri.length;\n }\n }\n return result;\n };\n Linkifier.prototype._createAnchorElement = function (uri, handler, isHypertextLinkHandler) {\n var element = this._document.createElement('a');\n element.textContent = uri;\n element.draggable = false;\n if (isHypertextLinkHandler) {\n element.href = uri;\n element.target = '_blank';\n element.addEventListener('click', function (event) {\n if (handler) {\n return handler(event, uri);\n }\n });\n }\n else {\n element.addEventListener('click', function (event) {\n if (element.classList.contains(INVALID_LINK_CLASS)) {\n return;\n }\n return handler(event, uri);\n });\n }\n return element;\n };\n Linkifier.prototype._replaceNode = function (oldNode) {\n var newNodes = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n newNodes[_i - 1] = arguments[_i];\n }\n var parent = oldNode.parentNode;\n for (var i = 0; i < newNodes.length; i++) {\n parent.insertBefore(newNodes[i], oldNode);\n }\n parent.removeChild(oldNode);\n };\n Linkifier.prototype._replaceNodeSubstringWithNode = function (targetNode, newNode, substring, substringIndex) {\n if (targetNode.childNodes.length === 1) {\n targetNode = targetNode.childNodes[0];\n }\n if (targetNode.nodeType !== 3) {\n throw new Error('targetNode must be a text node or only contain a single text node');\n }\n var fullText = targetNode.textContent;\n if (substringIndex === 0) {\n var rightText_1 = fullText.substring(substring.length);\n var rightTextNode_1 = this._document.createTextNode(rightText_1);\n this._replaceNode(targetNode, newNode, rightTextNode_1);\n return 0;\n }\n if (substringIndex === targetNode.textContent.length - substring.length) {\n var leftText_1 = fullText.substring(0, substringIndex);\n var leftTextNode_1 = this._document.createTextNode(leftText_1);\n this._replaceNode(targetNode, leftTextNode_1, newNode);\n return 0;\n }\n var leftText = fullText.substring(0, substringIndex);\n var leftTextNode = this._document.createTextNode(leftText);\n var rightText = fullText.substring(substringIndex + substring.length);\n var rightTextNode = this._document.createTextNode(rightText);\n this._replaceNode(targetNode, leftTextNode, newNode, rightTextNode);\n return 1;\n };\n return Linkifier;\n}());\nLinkifier.TIME_BEFORE_LINKIFY = 200;\nexports.Linkifier = Linkifier;\n\n//# sourceMappingURL=Linkifier.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Linkifier.js\n// module id = 18\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EscapeSequences_1 = require(\"./EscapeSequences\");\nvar Charsets_1 = require(\"./Charsets\");\nvar normalStateHandler = {};\nnormalStateHandler[EscapeSequences_1.C0.BEL] = function (parser, handler) { return handler.bell(); };\nnormalStateHandler[EscapeSequences_1.C0.LF] = function (parser, handler) { return handler.lineFeed(); };\nnormalStateHandler[EscapeSequences_1.C0.VT] = normalStateHandler[EscapeSequences_1.C0.LF];\nnormalStateHandler[EscapeSequences_1.C0.FF] = normalStateHandler[EscapeSequences_1.C0.LF];\nnormalStateHandler[EscapeSequences_1.C0.CR] = function (parser, handler) { return handler.carriageReturn(); };\nnormalStateHandler[EscapeSequences_1.C0.BS] = function (parser, handler) { return handler.backspace(); };\nnormalStateHandler[EscapeSequences_1.C0.HT] = function (parser, handler) { return handler.tab(); };\nnormalStateHandler[EscapeSequences_1.C0.SO] = function (parser, handler) { return handler.shiftOut(); };\nnormalStateHandler[EscapeSequences_1.C0.SI] = function (parser, handler) { return handler.shiftIn(); };\nnormalStateHandler[EscapeSequences_1.C0.ESC] = function (parser, handler) { return parser.setState(ParserState.ESCAPED); };\nvar escapedStateHandler = {};\nescapedStateHandler['['] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.CSI_PARAM);\n};\nescapedStateHandler[']'] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.OSC);\n};\nescapedStateHandler['P'] = function (parser, terminal) {\n terminal.params = [];\n terminal.currentParam = 0;\n parser.setState(ParserState.DCS);\n};\nescapedStateHandler['_'] = function (parser, terminal) {\n parser.setState(ParserState.IGNORE);\n};\nescapedStateHandler['^'] = function (parser, terminal) {\n parser.setState(ParserState.IGNORE);\n};\nescapedStateHandler['c'] = function (parser, terminal) {\n terminal.reset();\n};\nescapedStateHandler['E'] = function (parser, terminal) {\n terminal.x = 0;\n terminal.index();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['D'] = function (parser, terminal) {\n terminal.index();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['M'] = function (parser, terminal) {\n terminal.reverseIndex();\n parser.setState(ParserState.NORMAL);\n};\nescapedStateHandler['%'] = function (parser, terminal) {\n terminal.setgLevel(0);\n terminal.setgCharset(0, Charsets_1.DEFAULT_CHARSET);\n parser.setState(ParserState.NORMAL);\n parser.skipNextChar();\n};\nescapedStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); };\nvar csiParamStateHandler = {};\ncsiParamStateHandler['?'] = function (parser) { return parser.setPrefix('?'); };\ncsiParamStateHandler['>'] = function (parser) { return parser.setPrefix('>'); };\ncsiParamStateHandler['!'] = function (parser) { return parser.setPrefix('!'); };\ncsiParamStateHandler['0'] = function (parser) { return parser.setParam(parser.getParam() * 10); };\ncsiParamStateHandler['1'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 1); };\ncsiParamStateHandler['2'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 2); };\ncsiParamStateHandler['3'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 3); };\ncsiParamStateHandler['4'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 4); };\ncsiParamStateHandler['5'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 5); };\ncsiParamStateHandler['6'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 6); };\ncsiParamStateHandler['7'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 7); };\ncsiParamStateHandler['8'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 8); };\ncsiParamStateHandler['9'] = function (parser) { return parser.setParam(parser.getParam() * 10 + 9); };\ncsiParamStateHandler['$'] = function (parser) { return parser.setPostfix('$'); };\ncsiParamStateHandler['\"'] = function (parser) { return parser.setPostfix('\"'); };\ncsiParamStateHandler[' '] = function (parser) { return parser.setPostfix(' '); };\ncsiParamStateHandler['\\''] = function (parser) { return parser.setPostfix('\\''); };\ncsiParamStateHandler[';'] = function (parser) { return parser.finalizeParam(); };\ncsiParamStateHandler[EscapeSequences_1.C0.CAN] = function (parser) { return parser.setState(ParserState.NORMAL); };\nvar csiStateHandler = {};\ncsiStateHandler['@'] = function (handler, params, prefix) { return handler.insertChars(params); };\ncsiStateHandler['A'] = function (handler, params, prefix) { return handler.cursorUp(params); };\ncsiStateHandler['B'] = function (handler, params, prefix) { return handler.cursorDown(params); };\ncsiStateHandler['C'] = function (handler, params, prefix) { return handler.cursorForward(params); };\ncsiStateHandler['D'] = function (handler, params, prefix) { return handler.cursorBackward(params); };\ncsiStateHandler['E'] = function (handler, params, prefix) { return handler.cursorNextLine(params); };\ncsiStateHandler['F'] = function (handler, params, prefix) { return handler.cursorPrecedingLine(params); };\ncsiStateHandler['G'] = function (handler, params, prefix) { return handler.cursorCharAbsolute(params); };\ncsiStateHandler['H'] = function (handler, params, prefix) { return handler.cursorPosition(params); };\ncsiStateHandler['I'] = function (handler, params, prefix) { return handler.cursorForwardTab(params); };\ncsiStateHandler['J'] = function (handler, params, prefix) { return handler.eraseInDisplay(params); };\ncsiStateHandler['K'] = function (handler, params, prefix) { return handler.eraseInLine(params); };\ncsiStateHandler['L'] = function (handler, params, prefix) { return handler.insertLines(params); };\ncsiStateHandler['M'] = function (handler, params, prefix) { return handler.deleteLines(params); };\ncsiStateHandler['P'] = function (handler, params, prefix) { return handler.deleteChars(params); };\ncsiStateHandler['S'] = function (handler, params, prefix) { return handler.scrollUp(params); };\ncsiStateHandler['T'] = function (handler, params, prefix) {\n if (params.length < 2 && !prefix) {\n handler.scrollDown(params);\n }\n};\ncsiStateHandler['X'] = function (handler, params, prefix) { return handler.eraseChars(params); };\ncsiStateHandler['Z'] = function (handler, params, prefix) { return handler.cursorBackwardTab(params); };\ncsiStateHandler['`'] = function (handler, params, prefix) { return handler.charPosAbsolute(params); };\ncsiStateHandler['a'] = function (handler, params, prefix) { return handler.HPositionRelative(params); };\ncsiStateHandler['b'] = function (handler, params, prefix) { return handler.repeatPrecedingCharacter(params); };\ncsiStateHandler['c'] = function (handler, params, prefix) { return handler.sendDeviceAttributes(params); };\ncsiStateHandler['d'] = function (handler, params, prefix) { return handler.linePosAbsolute(params); };\ncsiStateHandler['e'] = function (handler, params, prefix) { return handler.VPositionRelative(params); };\ncsiStateHandler['f'] = function (handler, params, prefix) { return handler.HVPosition(params); };\ncsiStateHandler['g'] = function (handler, params, prefix) { return handler.tabClear(params); };\ncsiStateHandler['h'] = function (handler, params, prefix) { return handler.setMode(params); };\ncsiStateHandler['l'] = function (handler, params, prefix) { return handler.resetMode(params); };\ncsiStateHandler['m'] = function (handler, params, prefix) { return handler.charAttributes(params); };\ncsiStateHandler['n'] = function (handler, params, prefix) { return handler.deviceStatus(params); };\ncsiStateHandler['p'] = function (handler, params, prefix) {\n switch (prefix) {\n case '!':\n handler.softReset(params);\n break;\n }\n};\ncsiStateHandler['q'] = function (handler, params, prefix, postfix) {\n if (postfix === ' ') {\n handler.setCursorStyle(params);\n }\n};\ncsiStateHandler['r'] = function (handler, params) { return handler.setScrollRegion(params); };\ncsiStateHandler['s'] = function (handler, params) { return handler.saveCursor(params); };\ncsiStateHandler['u'] = function (handler, params) { return handler.restoreCursor(params); };\ncsiStateHandler[EscapeSequences_1.C0.CAN] = function (handler, params, prefix, postfix, parser) { return parser.setState(ParserState.NORMAL); };\nvar ParserState;\n(function (ParserState) {\n ParserState[ParserState[\"NORMAL\"] = 0] = \"NORMAL\";\n ParserState[ParserState[\"ESCAPED\"] = 1] = \"ESCAPED\";\n ParserState[ParserState[\"CSI_PARAM\"] = 2] = \"CSI_PARAM\";\n ParserState[ParserState[\"CSI\"] = 3] = \"CSI\";\n ParserState[ParserState[\"OSC\"] = 4] = \"OSC\";\n ParserState[ParserState[\"CHARSET\"] = 5] = \"CHARSET\";\n ParserState[ParserState[\"DCS\"] = 6] = \"DCS\";\n ParserState[ParserState[\"IGNORE\"] = 7] = \"IGNORE\";\n})(ParserState || (ParserState = {}));\nvar Parser = (function () {\n function Parser(_inputHandler, _terminal) {\n this._inputHandler = _inputHandler;\n this._terminal = _terminal;\n this._state = ParserState.NORMAL;\n }\n Parser.prototype.parse = function (data) {\n var l = data.length, j, cs, ch, code, low;\n this._position = 0;\n if (this._terminal.surrogate_high) {\n data = this._terminal.surrogate_high + data;\n this._terminal.surrogate_high = '';\n }\n for (; this._position < l; this._position++) {\n ch = data[this._position];\n code = data.charCodeAt(this._position);\n if (0xD800 <= code && code <= 0xDBFF) {\n low = data.charCodeAt(this._position + 1);\n if (isNaN(low)) {\n this._terminal.surrogate_high = ch;\n continue;\n }\n code = ((code - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;\n ch += data.charAt(this._position + 1);\n }\n if (0xDC00 <= code && code <= 0xDFFF)\n continue;\n switch (this._state) {\n case ParserState.NORMAL:\n if (ch in normalStateHandler) {\n normalStateHandler[ch](this, this._inputHandler);\n }\n else {\n this._inputHandler.addChar(ch, code);\n }\n break;\n case ParserState.ESCAPED:\n if (ch in escapedStateHandler) {\n escapedStateHandler[ch](this, this._terminal);\n break;\n }\n switch (ch) {\n case '(':\n case ')':\n case '*':\n case '+':\n case '-':\n case '.':\n switch (ch) {\n case '(':\n this._terminal.gcharset = 0;\n break;\n case ')':\n this._terminal.gcharset = 1;\n break;\n case '*':\n this._terminal.gcharset = 2;\n break;\n case '+':\n this._terminal.gcharset = 3;\n break;\n case '-':\n this._terminal.gcharset = 1;\n break;\n case '.':\n this._terminal.gcharset = 2;\n break;\n }\n this._state = ParserState.CHARSET;\n break;\n case '/':\n this._terminal.gcharset = 3;\n this._state = ParserState.CHARSET;\n this._position--;\n break;\n case 'N':\n break;\n case 'O':\n break;\n case 'n':\n this._terminal.setgLevel(2);\n break;\n case 'o':\n this._terminal.setgLevel(3);\n break;\n case '|':\n this._terminal.setgLevel(3);\n break;\n case '}':\n this._terminal.setgLevel(2);\n break;\n case '~':\n this._terminal.setgLevel(1);\n break;\n case '7':\n this._inputHandler.saveCursor();\n this._state = ParserState.NORMAL;\n break;\n case '8':\n this._inputHandler.restoreCursor();\n this._state = ParserState.NORMAL;\n break;\n case '#':\n this._state = ParserState.NORMAL;\n this._position++;\n break;\n case 'H':\n this._terminal.tabSet();\n this._state = ParserState.NORMAL;\n break;\n case '=':\n this._terminal.log('Serial port requested application keypad.');\n this._terminal.applicationKeypad = true;\n this._terminal.viewport.syncScrollArea();\n this._state = ParserState.NORMAL;\n break;\n case '>':\n this._terminal.log('Switching back to normal keypad.');\n this._terminal.applicationKeypad = false;\n this._terminal.viewport.syncScrollArea();\n this._state = ParserState.NORMAL;\n break;\n default:\n this._state = ParserState.NORMAL;\n this._terminal.error('Unknown ESC control: %s.', ch);\n break;\n }\n break;\n case ParserState.CHARSET:\n if (ch in Charsets_1.CHARSETS) {\n cs = Charsets_1.CHARSETS[ch];\n if (ch === '/') {\n this.skipNextChar();\n }\n }\n else {\n cs = Charsets_1.DEFAULT_CHARSET;\n }\n this._terminal.setgCharset(this._terminal.gcharset, cs);\n this._terminal.gcharset = null;\n this._state = ParserState.NORMAL;\n break;\n case ParserState.OSC:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n this._terminal.params.push(this._terminal.currentParam);\n switch (this._terminal.params[0]) {\n case 0:\n case 1:\n case 2:\n if (this._terminal.params[1]) {\n this._terminal.title = this._terminal.params[1];\n this._terminal.handleTitle(this._terminal.title);\n }\n break;\n case 3:\n break;\n case 4:\n case 5:\n break;\n case 10:\n case 11:\n case 12:\n case 13:\n case 14:\n case 15:\n case 16:\n case 17:\n case 18:\n case 19:\n break;\n case 46:\n break;\n case 50:\n break;\n case 51:\n break;\n case 52:\n break;\n case 104:\n case 105:\n case 110:\n case 111:\n case 112:\n case 113:\n case 114:\n case 115:\n case 116:\n case 117:\n case 118:\n break;\n }\n this._terminal.params = [];\n this._terminal.currentParam = 0;\n this._state = ParserState.NORMAL;\n }\n else {\n if (!this._terminal.params.length) {\n if (ch >= '0' && ch <= '9') {\n this._terminal.currentParam =\n this._terminal.currentParam * 10 + ch.charCodeAt(0) - 48;\n }\n else if (ch === ';') {\n this._terminal.params.push(this._terminal.currentParam);\n this._terminal.currentParam = '';\n }\n }\n else {\n this._terminal.currentParam += ch;\n }\n }\n break;\n case ParserState.CSI_PARAM:\n if (ch in csiParamStateHandler) {\n csiParamStateHandler[ch](this);\n break;\n }\n this.finalizeParam();\n this._state = ParserState.CSI;\n case ParserState.CSI:\n if (ch in csiStateHandler) {\n csiStateHandler[ch](this._inputHandler, this._terminal.params, this._terminal.prefix, this._terminal.postfix, this);\n }\n else {\n this._terminal.error('Unknown CSI code: %s.', ch);\n }\n this._state = ParserState.NORMAL;\n this._terminal.prefix = '';\n this._terminal.postfix = '';\n break;\n case ParserState.DCS:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n var pt = void 0;\n var valid = void 0;\n switch (this._terminal.prefix) {\n case '':\n break;\n case '$q':\n pt = this._terminal.currentParam;\n valid = false;\n switch (pt) {\n case '\"q':\n pt = '0\"q';\n break;\n case '\"p':\n pt = '61\"p';\n break;\n case 'r':\n pt = ''\n + (this._terminal.scrollTop + 1)\n + ';'\n + (this._terminal.scrollBottom + 1)\n + 'r';\n break;\n case 'm':\n pt = '0m';\n break;\n default:\n this._terminal.error('Unknown DCS Pt: %s.', pt);\n pt = '';\n break;\n }\n this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '$r' + pt + EscapeSequences_1.C0.ESC + '\\\\');\n break;\n case '+p':\n break;\n case '+q':\n pt = this._terminal.currentParam;\n valid = false;\n this._terminal.send(EscapeSequences_1.C0.ESC + 'P' + +valid + '+r' + pt + EscapeSequences_1.C0.ESC + '\\\\');\n break;\n default:\n this._terminal.error('Unknown DCS prefix: %s.', this._terminal.prefix);\n break;\n }\n this._terminal.currentParam = 0;\n this._terminal.prefix = '';\n this._state = ParserState.NORMAL;\n }\n else if (!this._terminal.currentParam) {\n if (!this._terminal.prefix && ch !== '$' && ch !== '+') {\n this._terminal.currentParam = ch;\n }\n else if (this._terminal.prefix.length === 2) {\n this._terminal.currentParam = ch;\n }\n else {\n this._terminal.prefix += ch;\n }\n }\n else {\n this._terminal.currentParam += ch;\n }\n break;\n case ParserState.IGNORE:\n if (ch === EscapeSequences_1.C0.ESC || ch === EscapeSequences_1.C0.BEL) {\n if (ch === EscapeSequences_1.C0.ESC)\n this._position++;\n this._state = ParserState.NORMAL;\n }\n break;\n }\n }\n return this._state;\n };\n Parser.prototype.setState = function (state) {\n this._state = state;\n };\n Parser.prototype.setPrefix = function (prefix) {\n this._terminal.prefix = prefix;\n };\n Parser.prototype.setPostfix = function (postfix) {\n this._terminal.postfix = postfix;\n };\n Parser.prototype.setParam = function (param) {\n this._terminal.currentParam = param;\n };\n Parser.prototype.getParam = function () {\n return this._terminal.currentParam;\n };\n Parser.prototype.finalizeParam = function () {\n this._terminal.params.push(this._terminal.currentParam);\n this._terminal.currentParam = 0;\n };\n Parser.prototype.skipNextChar = function () {\n this._position++;\n };\n return Parser;\n}());\nexports.Parser = Parser;\n\n//# sourceMappingURL=Parser.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Parser.js\n// module id = 19\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DomElementObjectPool_1 = require(\"./utils/DomElementObjectPool\");\nvar MAX_REFRESH_FRAME_SKIP = 5;\nvar FLAGS;\n(function (FLAGS) {\n FLAGS[FLAGS[\"BOLD\"] = 1] = \"BOLD\";\n FLAGS[FLAGS[\"UNDERLINE\"] = 2] = \"UNDERLINE\";\n FLAGS[FLAGS[\"BLINK\"] = 4] = \"BLINK\";\n FLAGS[FLAGS[\"INVERSE\"] = 8] = \"INVERSE\";\n FLAGS[FLAGS[\"INVISIBLE\"] = 16] = \"INVISIBLE\";\n})(FLAGS || (FLAGS = {}));\n;\nvar brokenBold = null;\nvar Renderer = (function () {\n function Renderer(_terminal) {\n this._terminal = _terminal;\n this._refreshRowsQueue = [];\n this._refreshFramesSkipped = 0;\n this._refreshAnimationFrame = null;\n this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span');\n if (brokenBold === null) {\n brokenBold = checkBoldBroken(this._terminal.element);\n }\n this._spanElementObjectPool = new DomElementObjectPool_1.DomElementObjectPool('span');\n }\n Renderer.prototype.queueRefresh = function (start, end) {\n this._refreshRowsQueue.push({ start: start, end: end });\n if (!this._refreshAnimationFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this));\n }\n };\n Renderer.prototype._refreshLoop = function () {\n var skipFrame = this._terminal.writeBuffer.length > 0 && this._refreshFramesSkipped++ <= MAX_REFRESH_FRAME_SKIP;\n if (skipFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(this._refreshLoop.bind(this));\n return;\n }\n this._refreshFramesSkipped = 0;\n var start;\n var end;\n if (this._refreshRowsQueue.length > 4) {\n start = 0;\n end = this._terminal.rows - 1;\n }\n else {\n start = this._refreshRowsQueue[0].start;\n end = this._refreshRowsQueue[0].end;\n for (var i = 1; i < this._refreshRowsQueue.length; i++) {\n if (this._refreshRowsQueue[i].start < start) {\n start = this._refreshRowsQueue[i].start;\n }\n if (this._refreshRowsQueue[i].end > end) {\n end = this._refreshRowsQueue[i].end;\n }\n }\n }\n this._refreshRowsQueue = [];\n this._refreshAnimationFrame = null;\n this._refresh(start, end);\n };\n Renderer.prototype._refresh = function (start, end) {\n var parent;\n if (end - start >= this._terminal.rows / 2) {\n parent = this._terminal.element.parentNode;\n if (parent) {\n this._terminal.element.removeChild(this._terminal.rowContainer);\n }\n }\n var width = this._terminal.cols;\n var y = start;\n if (end >= this._terminal.rows) {\n this._terminal.log('`end` is too large. Most likely a bad CSR.');\n end = this._terminal.rows - 1;\n }\n for (; y <= end; y++) {\n var row = y + this._terminal.ydisp;\n var line = this._terminal.lines.get(row);\n var x = void 0;\n if (this._terminal.y === y - (this._terminal.ybase - this._terminal.ydisp) &&\n this._terminal.cursorState &&\n !this._terminal.cursorHidden) {\n x = this._terminal.x;\n }\n else {\n x = -1;\n }\n var attr = this._terminal.defAttr;\n var documentFragment = document.createDocumentFragment();\n var innerHTML = '';\n var currentElement = void 0;\n while (this._terminal.children[y].children.length) {\n var child = this._terminal.children[y].children[0];\n this._terminal.children[y].removeChild(child);\n this._spanElementObjectPool.release(child);\n }\n for (var i = 0; i < width; i++) {\n var data = line[i][0];\n var ch = line[i][1];\n var ch_width = line[i][2];\n if (!ch_width) {\n continue;\n }\n if (i === x) {\n data = -1;\n }\n if (data !== attr) {\n if (attr !== this._terminal.defAttr) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n currentElement = null;\n }\n if (data !== this._terminal.defAttr) {\n if (innerHTML && !currentElement) {\n currentElement = this._spanElementObjectPool.acquire();\n }\n if (currentElement) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n }\n currentElement = this._spanElementObjectPool.acquire();\n if (data === -1) {\n currentElement.classList.add('reverse-video');\n currentElement.classList.add('terminal-cursor');\n }\n else {\n var bg = data & 0x1ff;\n var fg = (data >> 9) & 0x1ff;\n var flags = data >> 18;\n if (flags & FLAGS.BOLD) {\n if (!brokenBold) {\n currentElement.classList.add('xterm-bold');\n }\n if (fg < 8) {\n fg += 8;\n }\n }\n if (flags & FLAGS.UNDERLINE) {\n currentElement.classList.add('xterm-underline');\n }\n if (flags & FLAGS.BLINK) {\n currentElement.classList.add('xterm-blink');\n }\n if (flags & FLAGS.INVERSE) {\n var temp = bg;\n bg = fg;\n fg = temp;\n if ((flags & 1) && fg < 8) {\n fg += 8;\n }\n }\n if (flags & FLAGS.INVISIBLE) {\n currentElement.classList.add('xterm-hidden');\n }\n if (flags & FLAGS.INVERSE) {\n if (bg === 257) {\n bg = 15;\n }\n if (fg === 256) {\n fg = 0;\n }\n }\n if (bg < 256) {\n currentElement.classList.add(\"xterm-bg-color-\" + bg);\n }\n if (fg < 256) {\n currentElement.classList.add(\"xterm-color-\" + fg);\n }\n }\n }\n }\n if (ch_width === 2) {\n innerHTML += \"\" + ch + \"\";\n }\n else if (ch.charCodeAt(0) > 255) {\n innerHTML += \"\" + ch + \"\";\n }\n else {\n switch (ch) {\n case '&':\n innerHTML += '&';\n break;\n case '<':\n innerHTML += '<';\n break;\n case '>':\n innerHTML += '>';\n break;\n default:\n if (ch <= ' ') {\n innerHTML += ' ';\n }\n else {\n innerHTML += ch;\n }\n break;\n }\n }\n attr = data;\n }\n if (innerHTML && !currentElement) {\n currentElement = this._spanElementObjectPool.acquire();\n }\n if (currentElement) {\n if (innerHTML) {\n currentElement.innerHTML = innerHTML;\n innerHTML = '';\n }\n documentFragment.appendChild(currentElement);\n currentElement = null;\n }\n this._terminal.children[y].appendChild(documentFragment);\n }\n if (parent) {\n this._terminal.element.appendChild(this._terminal.rowContainer);\n }\n this._terminal.emit('refresh', { element: this._terminal.element, start: start, end: end });\n };\n ;\n Renderer.prototype.refreshSelection = function (start, end) {\n while (this._terminal.selectionContainer.children.length) {\n this._terminal.selectionContainer.removeChild(this._terminal.selectionContainer.children[0]);\n }\n if (!start || !end) {\n return;\n }\n var viewportStartRow = start[1] - this._terminal.ydisp;\n var viewportEndRow = end[1] - this._terminal.ydisp;\n var viewportCappedStartRow = Math.max(viewportStartRow, 0);\n var viewportCappedEndRow = Math.min(viewportEndRow, this._terminal.rows - 1);\n if (viewportCappedStartRow >= this._terminal.rows || viewportCappedEndRow < 0) {\n return;\n }\n var documentFragment = document.createDocumentFragment();\n var startCol = viewportStartRow === viewportCappedStartRow ? start[0] : 0;\n var endCol = viewportCappedStartRow === viewportCappedEndRow ? end[0] : this._terminal.cols;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow, startCol, endCol));\n var middleRowsCount = viewportCappedEndRow - viewportCappedStartRow - 1;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedStartRow + 1, 0, this._terminal.cols, middleRowsCount));\n if (viewportCappedStartRow !== viewportCappedEndRow) {\n var endCol_1 = viewportEndRow === viewportCappedEndRow ? end[0] : this._terminal.cols;\n documentFragment.appendChild(this._createSelectionElement(viewportCappedEndRow, 0, endCol_1));\n }\n this._terminal.selectionContainer.appendChild(documentFragment);\n };\n Renderer.prototype._createSelectionElement = function (row, colStart, colEnd, rowCount) {\n if (rowCount === void 0) { rowCount = 1; }\n var element = document.createElement('div');\n element.style.height = rowCount * this._terminal.charMeasure.height + \"px\";\n element.style.top = row * this._terminal.charMeasure.height + \"px\";\n element.style.left = colStart * this._terminal.charMeasure.width + \"px\";\n element.style.width = this._terminal.charMeasure.width * (colEnd - colStart) + \"px\";\n return element;\n };\n return Renderer;\n}());\nexports.Renderer = Renderer;\nfunction checkBoldBroken(terminal) {\n var document = terminal.ownerDocument;\n var el = document.createElement('span');\n el.innerHTML = 'hello world';\n terminal.appendChild(el);\n var w1 = el.offsetWidth;\n var h1 = el.offsetHeight;\n el.style.fontWeight = 'bold';\n var w2 = el.offsetWidth;\n var h2 = el.offsetHeight;\n terminal.removeChild(el);\n return w1 !== w2 || h1 !== h2;\n}\n\n//# sourceMappingURL=Renderer.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Renderer.js\n// module id = 20\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Mouse = require(\"./utils/Mouse\");\nvar Browser = require(\"./utils/Browser\");\nvar EventEmitter_1 = require(\"./EventEmitter\");\nvar SelectionModel_1 = require(\"./SelectionModel\");\nvar DRAG_SCROLL_MAX_THRESHOLD = 50;\nvar DRAG_SCROLL_MAX_SPEED = 15;\nvar DRAG_SCROLL_INTERVAL = 50;\nvar CLEAR_MOUSE_DOWN_TIME = 400;\nvar CLEAR_MOUSE_DISTANCE = 10;\nvar WORD_SEPARATORS = ' ()[]{}\\'\"';\nvar LINE_DATA_CHAR_INDEX = 1;\nvar LINE_DATA_WIDTH_INDEX = 2;\nvar NON_BREAKING_SPACE_CHAR = String.fromCharCode(160);\nvar ALL_NON_BREAKING_SPACE_REGEX = new RegExp(NON_BREAKING_SPACE_CHAR, 'g');\nvar SelectionMode;\n(function (SelectionMode) {\n SelectionMode[SelectionMode[\"NORMAL\"] = 0] = \"NORMAL\";\n SelectionMode[SelectionMode[\"WORD\"] = 1] = \"WORD\";\n SelectionMode[SelectionMode[\"LINE\"] = 2] = \"LINE\";\n})(SelectionMode || (SelectionMode = {}));\nvar SelectionManager = (function (_super) {\n __extends(SelectionManager, _super);\n function SelectionManager(_terminal, _buffer, _rowContainer, _charMeasure) {\n var _this = _super.call(this) || this;\n _this._terminal = _terminal;\n _this._buffer = _buffer;\n _this._rowContainer = _rowContainer;\n _this._charMeasure = _charMeasure;\n _this._initListeners();\n _this.enable();\n _this._model = new SelectionModel_1.SelectionModel(_terminal);\n _this._lastMouseDownTime = 0;\n _this._activeSelectionMode = SelectionMode.NORMAL;\n return _this;\n }\n SelectionManager.prototype._initListeners = function () {\n var _this = this;\n this._bufferTrimListener = function (amount) { return _this._onTrim(amount); };\n this._mouseMoveListener = function (event) { return _this._onMouseMove(event); };\n this._mouseDownListener = function (event) { return _this._onMouseDown(event); };\n this._mouseUpListener = function (event) { return _this._onMouseUp(event); };\n };\n SelectionManager.prototype.disable = function () {\n this.clearSelection();\n this._buffer.off('trim', this._bufferTrimListener);\n this._rowContainer.removeEventListener('mousedown', this._mouseDownListener);\n };\n SelectionManager.prototype.enable = function () {\n this._buffer.on('trim', this._bufferTrimListener);\n this._rowContainer.addEventListener('mousedown', this._mouseDownListener);\n };\n SelectionManager.prototype.setBuffer = function (buffer) {\n this._buffer = buffer;\n this.clearSelection();\n };\n Object.defineProperty(SelectionManager.prototype, \"hasSelection\", {\n get: function () {\n var start = this._model.finalSelectionStart;\n var end = this._model.finalSelectionEnd;\n if (!start || !end) {\n return false;\n }\n return start[0] !== end[0] || start[1] !== end[1];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SelectionManager.prototype, \"selectionText\", {\n get: function () {\n var start = this._model.finalSelectionStart;\n var end = this._model.finalSelectionEnd;\n if (!start || !end) {\n return '';\n }\n var startRowEndCol = start[1] === end[1] ? end[0] : null;\n var result = [];\n result.push(this._translateBufferLineToString(this._buffer.get(start[1]), true, start[0], startRowEndCol));\n for (var i = start[1] + 1; i <= end[1] - 1; i++) {\n var bufferLine = this._buffer.get(i);\n var lineText = this._translateBufferLineToString(bufferLine, true);\n if (bufferLine.isWrapped) {\n result[result.length - 1] += lineText;\n }\n else {\n result.push(lineText);\n }\n }\n if (start[1] !== end[1]) {\n var bufferLine = this._buffer.get(end[1]);\n var lineText = this._translateBufferLineToString(bufferLine, true, 0, end[0]);\n if (bufferLine.isWrapped) {\n result[result.length - 1] += lineText;\n }\n else {\n result.push(lineText);\n }\n }\n var formattedResult = result.map(function (line) {\n return line.replace(ALL_NON_BREAKING_SPACE_REGEX, ' ');\n }).join(Browser.isMSWindows ? '\\r\\n' : '\\n');\n return formattedResult;\n },\n enumerable: true,\n configurable: true\n });\n SelectionManager.prototype.clearSelection = function () {\n this._model.clearSelection();\n this._removeMouseDownListeners();\n this.refresh();\n };\n SelectionManager.prototype._translateBufferLineToString = function (line, trimRight, startCol, endCol) {\n if (startCol === void 0) { startCol = 0; }\n if (endCol === void 0) { endCol = null; }\n var lineString = '';\n var widthAdjustedStartCol = startCol;\n var widthAdjustedEndCol = endCol;\n for (var i = 0; i < line.length; i++) {\n var char = line[i];\n lineString += char[LINE_DATA_CHAR_INDEX];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n if (startCol >= i) {\n widthAdjustedStartCol--;\n }\n if (endCol >= i) {\n widthAdjustedEndCol--;\n }\n }\n }\n var finalEndCol = widthAdjustedEndCol || line.length;\n if (trimRight) {\n var rightWhitespaceIndex = lineString.search(/\\s+$/);\n if (rightWhitespaceIndex !== -1) {\n finalEndCol = Math.min(finalEndCol, rightWhitespaceIndex);\n }\n if (finalEndCol <= widthAdjustedStartCol) {\n return '';\n }\n }\n return lineString.substring(widthAdjustedStartCol, finalEndCol);\n };\n SelectionManager.prototype.refresh = function (isNewSelection) {\n var _this = this;\n if (!this._refreshAnimationFrame) {\n this._refreshAnimationFrame = window.requestAnimationFrame(function () { return _this._refresh(); });\n }\n if (Browser.isLinux && isNewSelection) {\n var selectionText = this.selectionText;\n if (selectionText.length) {\n this.emit('newselection', this.selectionText);\n }\n }\n };\n SelectionManager.prototype._refresh = function () {\n this._refreshAnimationFrame = null;\n this.emit('refresh', { start: this._model.finalSelectionStart, end: this._model.finalSelectionEnd });\n };\n SelectionManager.prototype.selectAll = function () {\n this._model.isSelectAllActive = true;\n this.refresh();\n };\n SelectionManager.prototype._onTrim = function (amount) {\n var needsRefresh = this._model.onTrim(amount);\n if (needsRefresh) {\n this.refresh();\n }\n };\n SelectionManager.prototype._getMouseBufferCoords = function (event) {\n var coords = Mouse.getCoords(event, this._rowContainer, this._charMeasure, this._terminal.cols, this._terminal.rows, true);\n coords[0]--;\n coords[1]--;\n coords[1] += this._terminal.ydisp;\n return coords;\n };\n SelectionManager.prototype._getMouseEventScrollAmount = function (event) {\n var offset = Mouse.getCoordsRelativeToElement(event, this._rowContainer)[1];\n var terminalHeight = this._terminal.rows * this._charMeasure.height;\n if (offset >= 0 && offset <= terminalHeight) {\n return 0;\n }\n if (offset > terminalHeight) {\n offset -= terminalHeight;\n }\n offset = Math.min(Math.max(offset, -DRAG_SCROLL_MAX_THRESHOLD), DRAG_SCROLL_MAX_THRESHOLD);\n offset /= DRAG_SCROLL_MAX_THRESHOLD;\n return (offset / Math.abs(offset)) + Math.round(offset * (DRAG_SCROLL_MAX_SPEED - 1));\n };\n SelectionManager.prototype._onMouseDown = function (event) {\n if (event.button !== 0) {\n return;\n }\n event.preventDefault();\n this._dragScrollAmount = 0;\n this._setMouseClickCount(event);\n if (event.shiftKey) {\n this._onShiftClick(event);\n }\n else {\n if (this._clickCount === 1) {\n this._onSingleClick(event);\n }\n else if (this._clickCount === 2) {\n this._onDoubleClick(event);\n }\n else if (this._clickCount === 3) {\n this._onTripleClick(event);\n }\n }\n this._addMouseDownListeners();\n this.refresh(true);\n };\n SelectionManager.prototype._addMouseDownListeners = function () {\n var _this = this;\n this._rowContainer.ownerDocument.addEventListener('mousemove', this._mouseMoveListener);\n this._rowContainer.ownerDocument.addEventListener('mouseup', this._mouseUpListener);\n this._dragScrollIntervalTimer = setInterval(function () { return _this._dragScroll(); }, DRAG_SCROLL_INTERVAL);\n };\n SelectionManager.prototype._removeMouseDownListeners = function () {\n this._rowContainer.ownerDocument.removeEventListener('mousemove', this._mouseMoveListener);\n this._rowContainer.ownerDocument.removeEventListener('mouseup', this._mouseUpListener);\n clearInterval(this._dragScrollIntervalTimer);\n this._dragScrollIntervalTimer = null;\n };\n SelectionManager.prototype._onShiftClick = function (event) {\n if (this._model.selectionStart) {\n this._model.selectionEnd = this._getMouseBufferCoords(event);\n }\n };\n SelectionManager.prototype._onSingleClick = function (event) {\n this._model.selectionStartLength = 0;\n this._model.isSelectAllActive = false;\n this._activeSelectionMode = SelectionMode.NORMAL;\n this._model.selectionStart = this._getMouseBufferCoords(event);\n if (this._model.selectionStart) {\n this._model.selectionEnd = null;\n var char = this._buffer.get(this._model.selectionStart[1])[this._model.selectionStart[0]];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n this._model.selectionStart[0]++;\n }\n }\n };\n SelectionManager.prototype._onDoubleClick = function (event) {\n var coords = this._getMouseBufferCoords(event);\n if (coords) {\n this._activeSelectionMode = SelectionMode.WORD;\n this._selectWordAt(coords);\n }\n };\n SelectionManager.prototype._onTripleClick = function (event) {\n var coords = this._getMouseBufferCoords(event);\n if (coords) {\n this._activeSelectionMode = SelectionMode.LINE;\n this._selectLineAt(coords[1]);\n }\n };\n SelectionManager.prototype._setMouseClickCount = function (event) {\n var currentTime = (new Date()).getTime();\n if (currentTime - this._lastMouseDownTime > CLEAR_MOUSE_DOWN_TIME || this._distanceFromLastMousePosition(event) > CLEAR_MOUSE_DISTANCE) {\n this._clickCount = 0;\n }\n this._lastMouseDownTime = currentTime;\n this._lastMousePosition = [event.pageX, event.pageY];\n this._clickCount++;\n };\n SelectionManager.prototype._distanceFromLastMousePosition = function (event) {\n var result = Math.max(Math.abs(this._lastMousePosition[0] - event.pageX), Math.abs(this._lastMousePosition[1] - event.pageY));\n return result;\n };\n SelectionManager.prototype._onMouseMove = function (event) {\n var previousSelectionEnd = this._model.selectionEnd ? [this._model.selectionEnd[0], this._model.selectionEnd[1]] : null;\n this._model.selectionEnd = this._getMouseBufferCoords(event);\n if (this._activeSelectionMode === SelectionMode.LINE) {\n if (this._model.selectionEnd[1] < this._model.selectionStart[1]) {\n this._model.selectionEnd[0] = 0;\n }\n else {\n this._model.selectionEnd[0] = this._terminal.cols;\n }\n }\n else if (this._activeSelectionMode === SelectionMode.WORD) {\n this._selectToWordAt(this._model.selectionEnd);\n }\n this._dragScrollAmount = this._getMouseEventScrollAmount(event);\n if (this._dragScrollAmount > 0) {\n this._model.selectionEnd[0] = this._terminal.cols - 1;\n }\n else if (this._dragScrollAmount < 0) {\n this._model.selectionEnd[0] = 0;\n }\n if (this._model.selectionEnd[1] < this._buffer.length) {\n var char = this._buffer.get(this._model.selectionEnd[1])[this._model.selectionEnd[0]];\n if (char && char[2] === 0) {\n this._model.selectionEnd[0]++;\n }\n }\n if (!previousSelectionEnd ||\n previousSelectionEnd[0] !== this._model.selectionEnd[0] ||\n previousSelectionEnd[1] !== this._model.selectionEnd[1]) {\n this.refresh(true);\n }\n };\n SelectionManager.prototype._dragScroll = function () {\n if (this._dragScrollAmount) {\n this._terminal.scrollDisp(this._dragScrollAmount, false);\n if (this._dragScrollAmount > 0) {\n this._model.selectionEnd = [this._terminal.cols - 1, this._terminal.ydisp + this._terminal.rows];\n }\n else {\n this._model.selectionEnd = [0, this._terminal.ydisp];\n }\n this.refresh();\n }\n };\n SelectionManager.prototype._onMouseUp = function (event) {\n this._removeMouseDownListeners();\n };\n SelectionManager.prototype._convertViewportColToCharacterIndex = function (bufferLine, coords) {\n var charIndex = coords[0];\n for (var i = 0; coords[0] >= i; i++) {\n var char = bufferLine[i];\n if (char[LINE_DATA_WIDTH_INDEX] === 0) {\n charIndex--;\n }\n }\n return charIndex;\n };\n SelectionManager.prototype._getWordAt = function (coords) {\n var bufferLine = this._buffer.get(coords[1]);\n var line = this._translateBufferLineToString(bufferLine, false);\n var endIndex = this._convertViewportColToCharacterIndex(bufferLine, coords);\n var startIndex = endIndex;\n var charOffset = coords[0] - startIndex;\n var leftWideCharCount = 0;\n var rightWideCharCount = 0;\n if (line.charAt(startIndex) === ' ') {\n while (startIndex > 0 && line.charAt(startIndex - 1) === ' ') {\n startIndex--;\n }\n while (endIndex < line.length && line.charAt(endIndex + 1) === ' ') {\n endIndex++;\n }\n }\n else {\n var startCol = coords[0];\n var endCol = coords[0];\n if (bufferLine[startCol][LINE_DATA_WIDTH_INDEX] === 0) {\n leftWideCharCount++;\n startCol--;\n }\n if (bufferLine[endCol][LINE_DATA_WIDTH_INDEX] === 2) {\n rightWideCharCount++;\n endCol++;\n }\n while (startIndex > 0 && !this._isCharWordSeparator(line.charAt(startIndex - 1))) {\n if (bufferLine[startCol - 1][LINE_DATA_WIDTH_INDEX] === 0) {\n leftWideCharCount++;\n startCol--;\n }\n startIndex--;\n startCol--;\n }\n while (endIndex + 1 < line.length && !this._isCharWordSeparator(line.charAt(endIndex + 1))) {\n if (bufferLine[endCol + 1][LINE_DATA_WIDTH_INDEX] === 2) {\n rightWideCharCount++;\n endCol++;\n }\n endIndex++;\n endCol++;\n }\n }\n var start = startIndex + charOffset - leftWideCharCount;\n var length = Math.min(endIndex - startIndex + leftWideCharCount + rightWideCharCount + 1, this._terminal.cols);\n return { start: start, length: length };\n };\n SelectionManager.prototype._selectWordAt = function (coords) {\n var wordPosition = this._getWordAt(coords);\n this._model.selectionStart = [wordPosition.start, coords[1]];\n this._model.selectionStartLength = wordPosition.length;\n };\n SelectionManager.prototype._selectToWordAt = function (coords) {\n var wordPosition = this._getWordAt(coords);\n this._model.selectionEnd = [this._model.areSelectionValuesReversed() ? wordPosition.start : (wordPosition.start + wordPosition.length), coords[1]];\n };\n SelectionManager.prototype._isCharWordSeparator = function (char) {\n return WORD_SEPARATORS.indexOf(char) >= 0;\n };\n SelectionManager.prototype._selectLineAt = function (line) {\n this._model.selectionStart = [0, line];\n this._model.selectionStartLength = this._terminal.cols;\n };\n return SelectionManager;\n}(EventEmitter_1.EventEmitter));\nexports.SelectionManager = SelectionManager;\n\n//# sourceMappingURL=SelectionManager.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/SelectionManager.js\n// module id = 21\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar SelectionModel = (function () {\n function SelectionModel(_terminal) {\n this._terminal = _terminal;\n this.clearSelection();\n }\n SelectionModel.prototype.clearSelection = function () {\n this.selectionStart = null;\n this.selectionEnd = null;\n this.isSelectAllActive = false;\n this.selectionStartLength = 0;\n };\n Object.defineProperty(SelectionModel.prototype, \"finalSelectionStart\", {\n get: function () {\n if (this.isSelectAllActive) {\n return [0, 0];\n }\n if (!this.selectionEnd || !this.selectionStart) {\n return this.selectionStart;\n }\n return this.areSelectionValuesReversed() ? this.selectionEnd : this.selectionStart;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SelectionModel.prototype, \"finalSelectionEnd\", {\n get: function () {\n if (this.isSelectAllActive) {\n return [this._terminal.cols, this._terminal.ybase + this._terminal.rows - 1];\n }\n if (!this.selectionStart) {\n return null;\n }\n if (!this.selectionEnd || this.areSelectionValuesReversed()) {\n return [this.selectionStart[0] + this.selectionStartLength, this.selectionStart[1]];\n }\n if (this.selectionStartLength) {\n if (this.selectionEnd[1] === this.selectionStart[1]) {\n return [Math.max(this.selectionStart[0] + this.selectionStartLength, this.selectionEnd[0]), this.selectionEnd[1]];\n }\n }\n return this.selectionEnd;\n },\n enumerable: true,\n configurable: true\n });\n SelectionModel.prototype.areSelectionValuesReversed = function () {\n var start = this.selectionStart;\n var end = this.selectionEnd;\n return start[1] > end[1] || (start[1] === end[1] && start[0] > end[0]);\n };\n SelectionModel.prototype.onTrim = function (amount) {\n if (this.selectionStart) {\n this.selectionStart[1] -= amount;\n }\n if (this.selectionEnd) {\n this.selectionEnd[1] -= amount;\n }\n if (this.selectionEnd && this.selectionEnd[1] < 0) {\n this.clearSelection();\n return true;\n }\n if (this.selectionStart && this.selectionStart[1] < 0) {\n this.selectionStart[1] = 0;\n }\n return false;\n };\n return SelectionModel;\n}());\nexports.SelectionModel = SelectionModel;\n\n//# sourceMappingURL=SelectionModel.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/SelectionModel.js\n// module id = 22\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Viewport = (function () {\n function Viewport(terminal, viewportElement, scrollArea, charMeasure) {\n var _this = this;\n this.terminal = terminal;\n this.viewportElement = viewportElement;\n this.scrollArea = scrollArea;\n this.charMeasure = charMeasure;\n this.currentRowHeight = 0;\n this.lastRecordedBufferLength = 0;\n this.lastRecordedViewportHeight = 0;\n this.terminal.on('scroll', this.syncScrollArea.bind(this));\n this.terminal.on('resize', this.syncScrollArea.bind(this));\n this.viewportElement.addEventListener('scroll', this.onScroll.bind(this));\n setTimeout(function () { return _this.syncScrollArea(); }, 0);\n }\n Viewport.prototype.refresh = function () {\n if (this.charMeasure.height > 0) {\n var rowHeightChanged = this.charMeasure.height !== this.currentRowHeight;\n if (rowHeightChanged) {\n this.currentRowHeight = this.charMeasure.height;\n this.viewportElement.style.lineHeight = this.charMeasure.height + 'px';\n this.terminal.rowContainer.style.lineHeight = this.charMeasure.height + 'px';\n }\n var viewportHeightChanged = this.lastRecordedViewportHeight !== this.terminal.rows;\n if (rowHeightChanged || viewportHeightChanged) {\n this.lastRecordedViewportHeight = this.terminal.rows;\n this.viewportElement.style.height = this.charMeasure.height * this.terminal.rows + 'px';\n this.terminal.selectionContainer.style.height = this.viewportElement.style.height;\n }\n this.scrollArea.style.height = (this.charMeasure.height * this.lastRecordedBufferLength) + 'px';\n }\n };\n Viewport.prototype.syncScrollArea = function () {\n if (this.lastRecordedBufferLength !== this.terminal.lines.length) {\n this.lastRecordedBufferLength = this.terminal.lines.length;\n this.refresh();\n }\n else if (this.lastRecordedViewportHeight !== this.terminal.rows) {\n this.refresh();\n }\n else {\n if (this.charMeasure.height !== this.currentRowHeight) {\n this.refresh();\n }\n }\n var scrollTop = this.terminal.ydisp * this.currentRowHeight;\n if (this.viewportElement.scrollTop !== scrollTop) {\n this.viewportElement.scrollTop = scrollTop;\n }\n };\n Viewport.prototype.onScroll = function (ev) {\n var newRow = Math.round(this.viewportElement.scrollTop / this.currentRowHeight);\n var diff = newRow - this.terminal.ydisp;\n this.terminal.scrollDisp(diff, true);\n };\n Viewport.prototype.onWheel = function (ev) {\n if (ev.deltaY === 0) {\n return;\n }\n var multiplier = 1;\n if (ev.deltaMode === WheelEvent.DOM_DELTA_LINE) {\n multiplier = this.currentRowHeight;\n }\n else if (ev.deltaMode === WheelEvent.DOM_DELTA_PAGE) {\n multiplier = this.currentRowHeight * this.terminal.rows;\n }\n this.viewportElement.scrollTop += ev.deltaY * multiplier;\n ev.preventDefault();\n };\n ;\n Viewport.prototype.onTouchStart = function (ev) {\n this.lastTouchY = ev.touches[0].pageY;\n };\n ;\n Viewport.prototype.onTouchMove = function (ev) {\n var deltaY = this.lastTouchY - ev.touches[0].pageY;\n this.lastTouchY = ev.touches[0].pageY;\n if (deltaY === 0) {\n return;\n }\n this.viewportElement.scrollTop += deltaY;\n ev.preventDefault();\n };\n ;\n return Viewport;\n}());\nexports.Viewport = Viewport;\n\n//# sourceMappingURL=Viewport.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/Viewport.js\n// module id = 23\n// module chunks = 0","var map = {\n\t\"./attach/attach\": 4,\n\t\"./attach/attach.js\": 4,\n\t\"./attach/package.json\": 25,\n\t\"./fit/fit\": 5,\n\t\"./fit/fit.js\": 5,\n\t\"./fit/package.json\": 26,\n\t\"./fullscreen/fullscreen\": 6,\n\t\"./fullscreen/fullscreen.css\": 27,\n\t\"./fullscreen/fullscreen.js\": 6,\n\t\"./fullscreen/package.json\": 28,\n\t\"./terminado/package.json\": 29,\n\t\"./terminado/terminado\": 7,\n\t\"./terminado/terminado.js\": 7\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 24;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons ^\\.\\/.*$\n// module id = 24\n// module chunks = 0","module.exports = {\"name\":\"xterm.attach\",\"main\":\"attach.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/attach/package.json\n// module id = 25\n// module chunks = 0","module.exports = {\"name\":\"xterm.fit\",\"main\":\"fit.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fit/package.json\n// module id = 26\n// module chunks = 0","module.exports = {\"name\":\"xterm.fullscreen\",\"main\":\"fullscreen.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/fullscreen/package.json\n// module id = 28\n// module chunks = 0","module.exports = {\"name\":\"xterm.terminado\",\"main\":\"terminado.js\",\"private\":true}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/addons/terminado/package.json\n// module id = 29\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction prepareTextForTerminal(text, isMSWindows) {\n if (isMSWindows) {\n return text.replace(/\\r?\\n/g, '\\r');\n }\n return text;\n}\nexports.prepareTextForTerminal = prepareTextForTerminal;\nfunction copyHandler(ev, term, selectionManager) {\n if (term.browser.isMSIE) {\n window.clipboardData.setData('Text', selectionManager.selectionText);\n }\n else {\n ev.clipboardData.setData('text/plain', selectionManager.selectionText);\n }\n ev.preventDefault();\n}\nexports.copyHandler = copyHandler;\nfunction pasteHandler(ev, term) {\n ev.stopPropagation();\n var text;\n var dispatchPaste = function (text) {\n text = prepareTextForTerminal(text, term.browser.isMSWindows);\n term.handler(text);\n term.textarea.value = '';\n term.emit('paste', text);\n return term.cancel(ev);\n };\n if (term.browser.isMSIE) {\n if (window.clipboardData) {\n text = window.clipboardData.getData('Text');\n dispatchPaste(text);\n }\n }\n else {\n if (ev.clipboardData) {\n text = ev.clipboardData.getData('text/plain');\n dispatchPaste(text);\n }\n }\n}\nexports.pasteHandler = pasteHandler;\nfunction moveTextAreaUnderMouseCursor(ev, textarea) {\n textarea.style.position = 'fixed';\n textarea.style.width = '20px';\n textarea.style.height = '20px';\n textarea.style.left = (ev.clientX - 10) + 'px';\n textarea.style.top = (ev.clientY - 10) + 'px';\n textarea.style.zIndex = '1000';\n textarea.focus();\n setTimeout(function () {\n textarea.style.position = null;\n textarea.style.width = null;\n textarea.style.height = null;\n textarea.style.left = null;\n textarea.style.top = null;\n textarea.style.zIndex = null;\n }, 4);\n}\nexports.moveTextAreaUnderMouseCursor = moveTextAreaUnderMouseCursor;\nfunction rightClickHandler(ev, textarea, selectionManager) {\n moveTextAreaUnderMouseCursor(ev, textarea);\n textarea.value = selectionManager.selectionText;\n textarea.select();\n}\nexports.rightClickHandler = rightClickHandler;\n\n//# sourceMappingURL=Clipboard.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/handlers/Clipboard.js\n// module id = 30\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventEmitter_js_1 = require(\"../EventEmitter.js\");\nvar CharMeasure = (function (_super) {\n __extends(CharMeasure, _super);\n function CharMeasure(document, parentElement) {\n var _this = _super.call(this) || this;\n _this._document = document;\n _this._parentElement = parentElement;\n return _this;\n }\n Object.defineProperty(CharMeasure.prototype, \"width\", {\n get: function () {\n return this._width;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CharMeasure.prototype, \"height\", {\n get: function () {\n return this._height;\n },\n enumerable: true,\n configurable: true\n });\n CharMeasure.prototype.measure = function () {\n var _this = this;\n if (!this._measureElement) {\n this._measureElement = this._document.createElement('span');\n this._measureElement.style.position = 'absolute';\n this._measureElement.style.top = '0';\n this._measureElement.style.left = '-9999em';\n this._measureElement.textContent = 'W';\n this._measureElement.setAttribute('aria-hidden', 'true');\n this._parentElement.appendChild(this._measureElement);\n setTimeout(function () { return _this._doMeasure(); }, 0);\n }\n else {\n this._doMeasure();\n }\n };\n CharMeasure.prototype._doMeasure = function () {\n var geometry = this._measureElement.getBoundingClientRect();\n if (geometry.width === 0 || geometry.height === 0) {\n return;\n }\n if (this._width !== geometry.width || this._height !== geometry.height) {\n this._width = geometry.width;\n this._height = geometry.height;\n this.emit('charsizechanged');\n }\n };\n return CharMeasure;\n}(EventEmitter_js_1.EventEmitter));\nexports.CharMeasure = CharMeasure;\n\n//# sourceMappingURL=CharMeasure.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/CharMeasure.js\n// module id = 31\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventEmitter_1 = require(\"../EventEmitter\");\nvar CircularList = (function (_super) {\n __extends(CircularList, _super);\n function CircularList(maxLength) {\n var _this = _super.call(this) || this;\n _this._array = new Array(maxLength);\n _this._startIndex = 0;\n _this._length = 0;\n return _this;\n }\n Object.defineProperty(CircularList.prototype, \"maxLength\", {\n get: function () {\n return this._array.length;\n },\n set: function (newMaxLength) {\n var newArray = new Array(newMaxLength);\n for (var i = 0; i < Math.min(newMaxLength, this.length); i++) {\n newArray[i] = this._array[this._getCyclicIndex(i)];\n }\n this._array = newArray;\n this._startIndex = 0;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CircularList.prototype, \"length\", {\n get: function () {\n return this._length;\n },\n set: function (newLength) {\n if (newLength > this._length) {\n for (var i = this._length; i < newLength; i++) {\n this._array[i] = undefined;\n }\n }\n this._length = newLength;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CircularList.prototype, \"forEach\", {\n get: function () {\n var _this = this;\n return function (callbackfn) {\n var i = 0;\n var length = _this.length;\n for (var i_1 = 0; i_1 < length; i_1++) {\n callbackfn(_this.get(i_1), i_1);\n }\n };\n },\n enumerable: true,\n configurable: true\n });\n CircularList.prototype.get = function (index) {\n return this._array[this._getCyclicIndex(index)];\n };\n CircularList.prototype.set = function (index, value) {\n this._array[this._getCyclicIndex(index)] = value;\n };\n CircularList.prototype.push = function (value) {\n this._array[this._getCyclicIndex(this._length)] = value;\n if (this._length === this.maxLength) {\n this._startIndex++;\n if (this._startIndex === this.maxLength) {\n this._startIndex = 0;\n }\n this.emit('trim', 1);\n }\n else {\n this._length++;\n }\n };\n CircularList.prototype.pop = function () {\n return this._array[this._getCyclicIndex(this._length-- - 1)];\n };\n CircularList.prototype.splice = function (start, deleteCount) {\n var items = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n items[_i - 2] = arguments[_i];\n }\n if (deleteCount) {\n for (var i = start; i < this._length - deleteCount; i++) {\n this._array[this._getCyclicIndex(i)] = this._array[this._getCyclicIndex(i + deleteCount)];\n }\n this._length -= deleteCount;\n }\n if (items && items.length) {\n for (var i = this._length - 1; i >= start; i--) {\n this._array[this._getCyclicIndex(i + items.length)] = this._array[this._getCyclicIndex(i)];\n }\n for (var i = 0; i < items.length; i++) {\n this._array[this._getCyclicIndex(start + i)] = items[i];\n }\n if (this._length + items.length > this.maxLength) {\n var countToTrim = (this._length + items.length) - this.maxLength;\n this._startIndex += countToTrim;\n this._length = this.maxLength;\n this.emit('trim', countToTrim);\n }\n else {\n this._length += items.length;\n }\n }\n };\n CircularList.prototype.trimStart = function (count) {\n if (count > this._length) {\n count = this._length;\n }\n this._startIndex += count;\n this._length -= count;\n this.emit('trim', count);\n };\n CircularList.prototype.shiftElements = function (start, count, offset) {\n if (count <= 0) {\n return;\n }\n if (start < 0 || start >= this._length) {\n throw new Error('start argument out of range');\n }\n if (start + offset < 0) {\n throw new Error('Cannot shift elements in list beyond index 0');\n }\n if (offset > 0) {\n for (var i = count - 1; i >= 0; i--) {\n this.set(start + i + offset, this.get(start + i));\n }\n var expandListBy = (start + count + offset) - this._length;\n if (expandListBy > 0) {\n this._length += expandListBy;\n while (this._length > this.maxLength) {\n this._length--;\n this._startIndex++;\n this.emit('trim', 1);\n }\n }\n }\n else {\n for (var i = 0; i < count; i++) {\n this.set(start + i + offset, this.get(start + i));\n }\n }\n };\n CircularList.prototype._getCyclicIndex = function (index) {\n return (this._startIndex + index) % this.maxLength;\n };\n return CircularList;\n}(EventEmitter_1.EventEmitter));\nexports.CircularList = CircularList;\n\n//# sourceMappingURL=CircularList.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/CircularList.js\n// module id = 32\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DomElementObjectPool = (function () {\n function DomElementObjectPool(type) {\n this.type = type;\n this._type = type;\n this._pool = [];\n this._inUse = {};\n }\n DomElementObjectPool.prototype.acquire = function () {\n var element;\n if (this._pool.length === 0) {\n element = this._createNew();\n }\n else {\n element = this._pool.pop();\n }\n this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)] = element;\n return element;\n };\n DomElementObjectPool.prototype.release = function (element) {\n if (!this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)]) {\n throw new Error('Could not release an element not yet acquired');\n }\n delete this._inUse[element.getAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE)];\n this._cleanElement(element);\n this._pool.push(element);\n };\n DomElementObjectPool.prototype._createNew = function () {\n var element = document.createElement(this._type);\n var id = DomElementObjectPool._objectCount++;\n element.setAttribute(DomElementObjectPool.OBJECT_ID_ATTRIBUTE, id.toString(10));\n return element;\n };\n DomElementObjectPool.prototype._cleanElement = function (element) {\n element.className = '';\n element.innerHTML = '';\n };\n return DomElementObjectPool;\n}());\nDomElementObjectPool.OBJECT_ID_ATTRIBUTE = 'data-obj-id';\nDomElementObjectPool._objectCount = 0;\nexports.DomElementObjectPool = DomElementObjectPool;\n\n//# sourceMappingURL=DomElementObjectPool.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/DomElementObjectPool.js\n// module id = 33\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction contains(arr, el) {\n return arr.indexOf(el) >= 0;\n}\nexports.contains = contains;\n;\n\n//# sourceMappingURL=Generic.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/xterm/lib/utils/Generic.js\n// module id = 34\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/js/package-lock.json b/js/package-lock.json index a87f78b..f9d5036 100644 --- a/js/package-lock.json +++ b/js/package-lock.json @@ -68,6 +68,12 @@ "micromatch": "2.3.11" } }, + "aproba": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.2.tgz", + "integrity": "sha512-ZpYajIfO0j2cOFTO955KUMIKNmj6zhX8kVztMAxFsDaMwz+9Z9SV0uou2pC9HJqcfpffOsjnbrDMvkNy+9RXPw==", + "dev": true + }, "arr-diff": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", @@ -154,6 +160,12 @@ "integrity": "sha1-ZlBsFs5vTWkopbPNajPKQelB43s=", "dev": true }, + "bluebird": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", + "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=", + "dev": true + }, "bn.js": { "version": "4.11.7", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.7.tgz", @@ -285,6 +297,27 @@ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", "dev": true }, + "cacache": { + "version": "9.2.9", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-9.2.9.tgz", + "integrity": "sha512-ghg1j5OyTJ6qsrqU++dN23QiTDxb5AZCFGsF3oB+v9v/gY+F4X8L/0gdQMEjd+8Ot3D29M2etX5PKozHRn2JQw==", + "dev": true, + "requires": { + "bluebird": "3.5.0", + "chownr": "1.0.1", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "lru-cache": "4.1.1", + "mississippi": "1.3.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.1", + "ssri": "4.1.6", + "unique-filename": "1.1.0", + "y18n": "3.2.1" + } + }, "camelcase": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", @@ -317,6 +350,12 @@ "readdirp": "2.1.0" } }, + "chownr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "dev": true + }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -356,12 +395,35 @@ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", "dev": true }, + "commander": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, + "concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3", + "typedarray": "0.0.6" + } + }, "console-browserify": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", @@ -377,6 +439,20 @@ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", "dev": true }, + "copy-concurrently": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.3.tgz", + "integrity": "sha1-Rft4ZiSaHKiJqlcI5svSc+dbslA=", + "dev": true, + "requires": { + "aproba": "1.1.2", + "fs-write-stream-atomic": "1.0.10", + "iferr": "0.1.5", + "mkdirp": "0.5.1", + "rimraf": "2.6.1", + "run-queue": "1.0.3" + } + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -437,6 +513,12 @@ "randombytes": "2.0.5" } }, + "cyclist": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "dev": true + }, "date-now": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", @@ -476,6 +558,18 @@ "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=", "dev": true }, + "duplexify": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz", + "integrity": "sha512-j5goxHTwVED1Fpe5hh3q9R93Kip0Bg2KVAt4f8CEYM3UEwYcPSvWbXaUQOzdX/HtiNomipv+gU7ASQPDbV7pGQ==", + "dev": true, + "requires": { + "end-of-stream": "1.4.0", + "inherits": "2.0.3", + "readable-stream": "2.3.3", + "stream-shift": "1.0.0" + } + }, "elliptic": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", @@ -497,6 +591,15 @@ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", "dev": true }, + "end-of-stream": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", + "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", + "dev": true, + "requires": { + "once": "1.4.0" + } + }, "enhanced-resolve": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.3.0.tgz", @@ -569,6 +672,12 @@ "is-extglob": "1.0.0" } }, + "fast-deep-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", + "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", + "dev": true + }, "filename-regex": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", @@ -588,6 +697,17 @@ "repeat-string": "1.6.1" } }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "1.0.1", + "make-dir": "1.0.0", + "pkg-dir": "2.0.0" + } + }, "find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", @@ -598,6 +718,16 @@ "pinkie-promise": "2.0.1" } }, + "flush-write-stream": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz", + "integrity": "sha1-yBuQ2HRnZvGmCaRoCZRsRd2K5Bc=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -613,12 +743,54 @@ "for-in": "1.0.2" } }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "iferr": "0.1.5", + "imurmurhash": "0.1.4", + "readable-stream": "2.3.3" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, "get-caller-file": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", "dev": true }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, "glob-base": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", @@ -698,12 +870,34 @@ "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", "dev": true }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, "indexof": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", "dev": true }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -845,6 +1039,12 @@ "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", "dev": true }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, "json-stable-stringify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", @@ -923,6 +1123,24 @@ "json5": "0.5.1" } }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, "lodash": { "version": "4.17.4", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", @@ -935,6 +1153,25 @@ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", "dev": true }, + "lru-cache": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "make-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.0.0.tgz", + "integrity": "sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg=", + "dev": true, + "requires": { + "pify": "2.3.0" + } + }, "memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", @@ -1003,6 +1240,24 @@ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, + "mississippi": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-1.3.0.tgz", + "integrity": "sha1-0gFYPrEjJ+PFwWQqQEqcrPlONPU=", + "dev": true, + "requires": { + "concat-stream": "1.6.0", + "duplexify": "3.5.1", + "end-of-stream": "1.4.0", + "flush-write-stream": "1.0.2", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "1.0.2", + "pumpify": "1.3.5", + "stream-each": "1.2.0", + "through2": "2.0.3" + } + }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", @@ -1012,6 +1267,20 @@ "minimist": "0.0.8" } }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "1.1.2", + "copy-concurrently": "1.0.3", + "fs-write-stream-atomic": "1.0.10", + "mkdirp": "0.5.1", + "rimraf": "2.6.1", + "run-queue": "1.0.3" + } + }, "node-libs-browser": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.0.0.tgz", @@ -1094,6 +1363,15 @@ "is-extendable": "0.1.1" } }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, "os-browserify": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", @@ -1109,12 +1387,38 @@ "lcid": "1.0.0" } }, + "p-limit": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", + "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", + "dev": true + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "1.1.0" + } + }, "pako": { "version": "0.2.9", "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", "dev": true }, + "parallel-transform": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "dev": true, + "requires": { + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, "parse-asn1": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", @@ -1215,6 +1519,26 @@ "pinkie": "2.0.4" } }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + } + } + }, "preserve": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", @@ -1233,12 +1557,24 @@ "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", "dev": true }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, "prr": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", "dev": true }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, "public-encrypt": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", @@ -1252,6 +1588,27 @@ "randombytes": "2.0.5" } }, + "pump": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.2.tgz", + "integrity": "sha1-Oz7mUS+U8OV1U4wXmV+fFpkKXVE=", + "dev": true, + "requires": { + "end-of-stream": "1.4.0", + "once": "1.4.0" + } + }, + "pumpify": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.3.5.tgz", + "integrity": "sha1-G2ccYZlAq8rqwK0OOjwWS+dgmTs=", + "dev": true, + "requires": { + "duplexify": "3.5.1", + "inherits": "2.0.3", + "pump": "1.0.2" + } + }, "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", @@ -1417,6 +1774,15 @@ "align-text": "0.1.4" } }, + "rimraf": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, "ripemd160": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", @@ -1427,12 +1793,44 @@ "inherits": "2.0.3" } }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "1.1.2" + } + }, "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", "dev": true }, + "schema-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", + "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "dev": true, + "requires": { + "ajv": "5.2.2" + }, + "dependencies": { + "ajv": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.2.tgz", + "integrity": "sha1-R8aNaehvXZUxA7AHSpQw3GPaXjk=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.0.0", + "json-schema-traverse": "0.3.1", + "json-stable-stringify": "1.0.1" + } + } + } + }, "semver": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", @@ -1499,6 +1897,15 @@ "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", "dev": true }, + "ssri": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-4.1.6.tgz", + "integrity": "sha512-WUbCdgSAMQjTFZRWvSPpauryvREEA+Krn19rx67UlJEJx/M192ZHxMmJXjZ4tkdFm+Sb0SXGlENeQVlA5wY7kA==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, "stream-browserify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", @@ -1509,6 +1916,16 @@ "readable-stream": "2.3.3" } }, + "stream-each": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.0.tgz", + "integrity": "sha1-HpXUdXP1gNgU3A/4zQ9m8c5TyZE=", + "dev": true, + "requires": { + "end-of-stream": "1.4.0", + "stream-shift": "1.0.0" + } + }, "stream-http": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", @@ -1522,6 +1939,12 @@ "xtend": "4.0.1" } }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, "string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", @@ -1575,6 +1998,16 @@ "integrity": "sha1-5GwNqsuyuKmLmwzqD0BSEFgX7Vw=", "dev": true }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "2.3.3", + "xtend": "4.0.1" + } + }, "timers-browserify": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.2.tgz", @@ -1608,6 +2041,12 @@ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", "dev": true }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, "typescript": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.3.2.tgz", @@ -1646,6 +2085,67 @@ "dev": true, "optional": true }, + "uglifyjs-webpack-plugin": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.0.0-beta.2.tgz", + "integrity": "sha512-vTt+xUdBbjfIAmaSm3li3y/9k0m35GXV5AZWAUrSDMOAtI0mmhQ4FAQFtqEkmgEGS+A3S+qFaA0dk1lKheYQSw==", + "dev": true, + "requires": { + "cacache": "9.2.9", + "find-cache-dir": "1.0.0", + "schema-utils": "0.3.0", + "source-map": "0.5.6", + "uglify-es": "3.0.28", + "webpack-sources": "1.0.1", + "worker-farm": "1.5.0" + }, + "dependencies": { + "source-list-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", + "dev": true + }, + "uglify-es": { + "version": "3.0.28", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.0.28.tgz", + "integrity": "sha512-xw1hJsSp361OO0Sq0XvNyTI2wfQ4eKNljfSYyeYX/dz9lKEDj+DK+A8CzB0NmoCwWX1MnEx9f16HlkKXyG65CQ==", + "dev": true, + "requires": { + "commander": "2.11.0", + "source-map": "0.5.6" + } + }, + "webpack-sources": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.1.tgz", + "integrity": "sha512-05tMxipUCwHqYaVS8xc7sYPTly8PzXayRCB4dTxLhWTqlKUiwH6ezmEe0OSreL1c30LAuA3Zqmc+uEBUGFJDjw==", + "dev": true, + "requires": { + "source-list-map": "2.0.0", + "source-map": "0.5.6" + } + } + } + }, + "unique-filename": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", + "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", + "dev": true, + "requires": { + "unique-slug": "2.0.0" + } + }, + "unique-slug": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", + "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", + "dev": true, + "requires": { + "imurmurhash": "0.1.4" + } + }, "url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", @@ -1788,6 +2288,16 @@ "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", "dev": true }, + "worker-farm": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.0.tgz", + "integrity": "sha512-DHRiUggxtbruaTwnLDm2/BRDKZIoOYvrgYUj5Bam4fU6Gtvc0FaEyoswFPBjMXAweGW2H4BDNIpy//1yXXuaqQ==", + "dev": true, + "requires": { + "errno": "0.1.4", + "xtend": "4.0.1" + } + }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", @@ -1798,6 +2308,12 @@ "strip-ansi": "3.0.1" } }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", @@ -1815,6 +2331,12 @@ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, "yargs": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", diff --git a/js/package.json b/js/package.json index 3d65712..7aad9cb 100644 --- a/js/package.json +++ b/js/package.json @@ -2,10 +2,11 @@ "devDependencies": { "ts-loader": "^2.0.3", "typescript": "^2.3.2", + "uglifyjs-webpack-plugin": "^1.0.0-beta.2", "webpack": "^2.5.1" }, "dependencies": { - "libapps": "github:yudai/libapps#hterm-1.70", + "libapps": "github:yudai/libapps#release-hterm-1.70", "xterm": "^2.7.0" } } diff --git a/js/webpack.config.js b/js/webpack.config.js index 238547e..c502ee7 100644 --- a/js/webpack.config.js +++ b/js/webpack.config.js @@ -1,3 +1,5 @@ +const UglifyJSPlugin = require('uglifyjs-webpack-plugin'); + module.exports = { entry: "./src/main.ts", output: { @@ -15,5 +17,8 @@ module.exports = { exclude: [/node_modules/], } ] - } + }, + plugins: [ + new UglifyJSPlugin() + ] }; diff --git a/server/asset.go b/server/asset.go index 3ad4d5e..b0da774 100644 --- a/server/asset.go +++ b/server/asset.go @@ -194,7 +194,7 @@ func staticJsBundleJs() (*asset, error) { return a, nil } -var _staticJsGottyBundleJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\xeb\x73\x1b\x49\xf2\x20\xf6\x79\xf9\x57\xa4\x38\x77\x83\x86\x08\x82\x00\xf8\x90\x44\x0a\xd2\x42\x04\x39\xd2\x8e\x5e\x47\x72\x76\x76\x8f\xc3\x1f\xb7\xd0\x5d\x00\x5a\x6a\x74\x63\xbb\x1b\x24\xb1\x23\xce\x27\xdb\x11\xfe\xe8\x2f\x0e\x7f\xb8\x08\xbf\xce\xfe\xdd\x39\x1c\x8e\xb3\xe3\xe2\xc2\x0e\x9f\xed\x88\x9d\x7f\xcc\x51\x59\xef\xee\x6a\x00\xd4\x63\x67\x7e\x71\x0b\xcd\x48\x40\x3d\xb2\xb2\xb2\x32\xb3\xb2\xaa\xb2\xb2\xb6\xee\xe3\x67\x0b\xbc\xe1\x2c\xf6\xf3\x30\x89\xbd\x49\x12\xcc\x22\x9a\xd5\xe1\x47\xd8\xda\x82\x6b\x3a\x98\x12\xff\xfd\xb3\x24\xc9\xb3\x3c\x25\xd3\x35\x55\xe3\x37\x5b\x5b\x70\x36\xa6\xc0\xcb\x83\x4f\xfc\x31\x35\x72\xaf\x48\x0a\x61\x9c\xe5\x24\x8a\x68\xf0\x8a\xc3\x84\x2e\xfc\x78\x7b\xa0\x0a\x95\x61\xa5\xf4\xcf\xb3\x30\xa5\x20\x91\x31\x4a\xc8\x24\xb8\xbc\x14\x38\x5d\x8a\xd2\x97\x97\x02\xe7\x17\x41\x1d\x7e\x74\x41\x67\xe0\x0f\xc7\xd4\x7f\x0f\xe1\x50\xe2\x1b\x66\x10\xc6\x25\xac\x7f\x13\x0e\xbd\x22\xd6\xe7\x12\xfa\x85\x09\x1e\x7e\xf3\x9b\xdf\xa4\x34\x9f\xa5\x71\xa9\x9b\xba\x42\x93\xde\x4c\x93\x34\xcf\x0e\xcc\x6a\xb7\x45\xcc\x52\x4a\x72\x0a\x04\x62\x7a\x2d\xb1\xf3\x48\x1c\xc0\x74\x96\x43\x98\x43\x18\xe7\x09\xe4\x63\x41\xe2\xba\x59\x9b\x11\x59\xd4\xe8\x2e\x40\x83\xd1\xdd\x42\x3c\xdc\x07\x99\xd9\xb0\x32\xa2\x7d\x18\x92\x28\xa3\x76\xaa\xe8\xc5\x3e\xfc\x68\xe1\xee\x1e\x4a\xd6\xa5\xa3\x1b\xea\xcf\x72\x8a\x58\x0b\xfc\x1c\x43\xfa\x9b\x49\x89\x5e\x3e\x89\x22\x31\x9a\x92\x76\x0d\x01\x41\xfe\xab\xd3\x1d\x9c\x50\xaf\x44\xe9\x38\x22\x23\x13\x1f\x92\x41\x94\x90\x80\x06\x65\x84\x9a\x11\x74\x21\x4f\x67\xb4\x12\xd8\x09\x1f\x78\x06\x4e\x60\x03\xc9\xd0\x80\x6e\x16\x17\x4c\x62\x23\x6f\x32\xc4\x6d\xb9\x15\x5b\x32\x58\x9d\xcc\x24\x66\x06\xc9\xe0\x1d\xf5\x73\xf0\x34\x09\x44\xce\xe5\xa5\xc9\x20\x0e\x0a\x35\x27\xd0\x95\x60\xaa\x44\xb1\xd4\x60\x49\x4e\x5c\x80\x7d\x07\x0f\x56\xb5\x10\x06\x34\xce\xc3\x7c\xae\xd8\x02\x86\x49\x0a\x6c\xf4\xc3\x78\x04\x63\x92\x4e\x92\x78\x0e\xe1\x84\xd3\xf6\x3a\xcc\xc7\x5c\x02\x92\x34\x65\xfd\xf6\x93\x38\xa7\x37\xf9\x12\x84\x42\xe8\x2a\xf8\xde\x15\x89\x66\x94\x29\x35\x31\x1e\xf8\xfb\x00\x2a\xd5\x51\x40\x87\x61\x4c\x61\x44\xf3\x9c\xa6\x36\x9a\x12\x3d\x31\x96\x4b\xb0\x08\x4c\x2c\x14\xef\xc6\x64\x42\x1b\x02\x7a\x41\xad\x84\x43\xef\x9e\x0b\x50\x62\xd7\xae\x17\xb5\xd1\x1b\xe4\x89\x26\x47\xfc\x6d\x9a\x4c\x69\x9a\xcf\x8b\x2d\xda\x55\x7e\xe3\x27\xf1\x30\x1c\xcd\x52\x32\x88\xa8\x53\xf4\x7f\x43\xe3\xd9\x84\x8a\x7c\x26\x13\x85\xec\x11\xcd\xf7\x45\x37\xac\x8c\xdb\x7a\xa5\xce\xab\x24\xf9\x88\xe6\x7d\x3a\x24\xb3\x28\x3f\x42\xa4\x0b\xcc\x91\x4c\xa6\x24\x0f\x07\x61\xc4\xf8\x06\x59\x22\x4e\xe2\x4d\x39\x18\x82\xa5\x97\x0c\x46\x6c\x0e\x06\xaf\x52\x20\x23\x53\xa9\x62\xd0\xa5\x9c\xc0\xd7\x5f\x4b\xf1\xbd\xbc\xa4\x19\x67\x6d\x78\x6a\xf5\x57\xa1\xaa\x3b\xe1\x19\xdc\xc6\xab\x9f\xd7\x02\x9e\x55\xbb\x38\x80\x5b\xd8\xaf\x84\xc0\x9b\xe0\x54\xc8\xca\x70\x2c\xb6\x85\xdf\xb8\xd9\xce\xe3\xbd\x68\x40\x8d\xd4\x14\xa7\x1d\x38\x34\x13\xcf\x3a\x58\x65\x84\x04\x8b\x4d\xd3\x24\x4f\xf2\xf9\x94\x36\xc7\x24\x7b\x73\x1d\x4b\x66\x43\xf5\xbd\x64\x04\x12\x73\x04\xb8\x1a\x6b\xc0\x54\x00\x30\x7a\xba\x4a\x53\xe5\xfa\x0b\x04\x5a\x23\x33\x9d\x0d\xa2\xd0\xbf\x9c\x92\x7c\x7c\x79\xb9\x04\xdd\x29\x74\x61\x7d\xbd\x0a\xe6\xcb\x84\x04\x40\xe3\x3c\x9d\xab\x69\x25\x0e\x64\x0f\xca\xea\x41\x64\xb8\x2c\x18\x57\xdb\xcc\x5e\x6a\xef\x9a\x63\x76\xab\x94\xfb\xa7\x7f\x8c\xae\x78\xe7\x6b\x5b\xf7\xa1\x05\x22\xad\x6c\x0d\x36\x60\xe1\xa4\x0b\x3f\xae\xad\xad\xcf\x32\x0a\x59\x9e\x86\x7e\xbe\x7e\xb0\xb6\xb6\x44\x19\xad\x6b\x41\x5a\x6f\xc0\x8f\x5c\x1b\x73\x05\x03\x4c\x75\x30\x29\x3c\x4c\x26\xd3\x24\x0b\x19\x1a\xcf\x69\x34\xa5\xe9\x65\x1b\xba\x4e\xe2\xb5\xf7\x44\x95\xa3\x2b\x1a\xe7\x47\x93\x90\x31\x74\x75\x69\x51\xf8\xf7\x21\xbd\x66\xe8\x54\x16\xec\x6c\x4b\x4c\xa2\x70\x3a\x48\x48\x1a\x54\x16\xdd\x6e\xc9\xa2\x61\xea\xcf\x22\x92\xbe\x0c\xb3\x6a\xc0\xdb\x1d\x89\x6f\xe6\x93\x29\x3d\xa5\x7f\x9e\xd1\xd8\xa7\x59\x35\x26\xa2\xfc\x8b\x78\x3a\xcb\x9f\x93\x38\x88\x16\xf5\xef\x81\x28\xfd\x96\xa4\xd9\xa2\x72\x8f\x44\xb9\x13\x1a\x07\x34\x5d\x50\xb2\x23\x7b\xf7\x32\x8c\xdf\x87\xc3\x70\x11\xd0\x87\xa2\xe8\x29\x8d\x28\xb2\xd0\x2b\x12\x93\xd1\x22\xe0\x72\x3c\x0e\xc7\x24\x7d\x45\x49\x36\x4b\x69\x35\xe5\x64\xe1\x67\x69\x72\x9d\xa1\x8e\x76\x15\x93\x48\xbc\x4a\x66\x59\x35\x30\xd9\xff\x20\xf1\x67\x13\x1a\xe7\xd0\x05\x8f\xa9\x9a\x64\x08\xd7\x61\x1c\x24\xd7\x70\xaf\x0b\xb5\x59\xcc\x99\x38\xa8\xd5\xe1\xa9\xc8\x68\xaa\x2a\xfb\x10\xcf\xa2\x88\xc3\xf9\xfe\xe4\xc5\xd9\xd1\xe5\xb3\xef\x8e\x8f\x8f\x4e\x2e\xdf\xf6\xbe\x3b\x3d\xba\x3c\x7b\x7e\x72\x74\xfa\xfc\xcd\xcb\x3e\x74\x61\xd7\x2a\xd5\x3b\x3b\x7c\x7e\x79\xfa\xe2\x5f\x1e\x41\x17\xb6\x5b\x2d\x41\x82\xef\x4e\x4e\xdf\x9c\x5c\x3e\x7b\xf9\xe2\xf5\xb7\x97\x2f\x5e\x9f\x1d\x9d\xfc\xbe\xf7\x12\xba\xb0\xc7\x0a\xa8\x09\xe2\x8c\xa6\x93\x30\x26\x91\x97\x4c\xd9\x6f\xb6\x54\x5b\x03\x00\x60\x10\x32\x1a\x0d\x99\xf5\x3a\x0e\xb3\x03\x4c\x0c\x87\xe0\xdd\xf3\xd8\x6f\x6e\x9c\xc5\x3e\xeb\x9f\x04\x51\x97\x75\xd9\x47\xa8\x27\xb6\x0c\x51\x4d\x90\x74\x84\x1d\xcd\xce\x5b\x17\x0d\xd0\xbf\xda\xd6\xaf\xce\x45\x9d\xb7\x76\x8b\x7f\x33\x24\x9a\x03\x35\x42\x62\xac\x0e\x74\x9e\xcf\xd0\x60\x56\xb6\x6c\x47\xa4\xf0\x22\xb6\x14\x37\xcd\x9f\x5c\xed\xb3\xde\xd4\x75\xf7\xc4\x98\x09\x6a\x40\xb7\xdb\x85\x5a\x3c\x9b\x0c\x68\x5a\x33\xbb\xa7\xf2\x8d\x34\xf6\xf1\x93\x28\xdb\x07\xab\xa3\x56\x3e\xc3\x7e\xdf\xee\xba\x95\x3f\xe6\xf2\xb8\x6f\xd1\x43\x95\xb8\x35\x09\xa3\x51\x90\xdf\x3e\x7c\xc0\x25\x31\xcb\x14\x2a\xf3\x3d\x9d\x67\x9e\xa2\x8b\x30\x18\xb2\x7a\x73\x98\xa4\x47\xc4\x1f\x2b\xd5\x0c\xde\x7b\x3a\x37\xfb\xc7\x48\x21\xc0\x9e\xbf\xa7\xf3\x0b\xe8\x76\x91\x39\xeb\x85\xfe\xda\x65\xf4\x10\x98\xe9\x07\x56\x0d\x06\x59\x16\xe3\xd5\xee\x75\x8d\x8a\x12\x47\xcc\x2a\xb6\xb6\xa0\x45\x47\x4b\xb7\x6b\xe5\x6f\x8c\x63\x64\xd5\x32\x8e\xb7\x06\x23\x88\xdc\xa6\x9f\x44\x49\x9a\x35\x23\x1a\x8f\xf2\x31\xf2\xc3\x43\x07\x23\x88\x62\x1a\xaa\xac\xe7\x27\xb1\x4f\x72\x3d\x06\x97\x22\x3d\x8b\x42\x9f\x7a\x0f\xeb\x16\xaf\xd3\x28\xa3\x4b\x1a\x6f\xef\x7d\xbe\xd6\xdb\x7b\x77\x6f\xbe\x75\x97\xe6\x79\x33\xad\x06\x6c\x76\xea\xcb\x28\x81\x85\x1a\x6e\x08\x9b\x9d\xbb\x23\xfa\x19\x47\xa9\xbd\x77\x17\xe4\x98\x42\xa9\x6a\xe8\x40\x97\x28\x89\xaf\x91\x37\x25\x29\x9f\x42\x64\xed\x41\x12\xcc\x99\x78\xcb\xdf\xa2\xc0\x87\x0f\xe0\xa9\xd9\xe3\xa9\x9a\x7b\x9a\x23\x9a\x1f\x45\x14\xd5\xc7\xb3\xf9\x19\x19\xbd\x26\x13\xea\xd5\x18\x90\x5a\xfd\xbc\x75\x21\x26\x9a\xfa\x81\x85\x6f\x01\xdb\xcc\x6c\x6f\x44\x93\x09\xcd\xd3\xf9\x79\xeb\xc2\xa8\xc4\x94\x99\x51\x09\x7f\xba\x2a\xb5\xcd\x4a\x32\x15\xba\x70\xae\x9a\x6e\x68\x80\x17\x65\x11\x14\x4a\xd1\x1c\x50\x4e\xc2\xd8\xab\x05\x24\x67\x4b\x92\x62\xd1\xd2\x80\xcc\x07\x24\xa3\xd0\x85\x96\x81\xca\x3c\x08\xb3\x69\x21\xed\xa6\x58\xa6\xf0\xdb\x9f\xa5\x59\x92\x9e\xe6\x24\x2f\x42\xe3\x39\xcf\xc3\x20\xa0\xb8\x32\x64\xeb\x5f\x8b\xc2\xf1\x15\x4d\xf3\xa3\x24\x32\x12\xff\x3c\xa3\x33\x06\xa7\x56\x33\x12\x33\x3f\x4d\xa2\xe8\x2c\x29\xa2\xc6\xd3\x9f\x25\x79\x9e\x4c\xc4\xb4\xcc\x69\xbe\x09\x6d\x0b\x8f\x2c\x4f\x26\xdf\xd2\x39\xce\x75\xc2\xc0\x83\xae\xb0\x2d\x0a\xe8\x3e\x8b\xc2\xf8\xfd\x8b\x38\xa7\xe9\x15\x89\xca\x85\xc8\x74\x1a\x85\x3e\x61\xb4\xfd\x96\xce\xa7\x24\x70\x74\xcc\x28\x73\x88\x30\x1d\x65\x92\x34\x1c\x85\xf1\xab\x24\xa0\x8e\xcc\x30\xce\x68\x9a\x57\x64\x5e\xa7\x64\x4a\xd2\x64\x16\x07\xa2\x00\xdf\x4b\x53\xf9\x71\x92\x4e\x5c\x98\xfb\x63\x66\xb0\xe6\xe5\x8c\x51\x75\x4e\x44\xaf\xd0\x90\x68\x95\xe1\x30\x3e\x3f\x67\xe5\x4d\x56\x0e\xa8\xff\x32\xf1\x49\x9e\xa4\x26\x03\xb5\x5b\x68\x29\x1a\x49\x57\x79\xa7\xe5\x48\xdc\x2e\x27\xf2\xde\x14\x53\x27\xec\x37\x8e\xa6\xa9\x24\x32\x1a\x07\xc7\x89\x3f\x33\xd3\x66\xf9\xb0\x58\x39\x1b\xa5\xc5\xa4\x59\x7a\x73\x95\x17\x13\x29\x57\x18\x56\xd7\xc3\x28\x48\x69\x6c\x4a\x3c\x1d\xa6\x34\x1b\x9f\xe6\x24\xcd\xcb\xc9\x47\x71\x60\x36\x4c\xae\x68\xf0\x87\x62\xc2\x1f\x8b\x09\x87\x49\x94\x59\xa0\x48\x40\x06\x91\x63\xa4\xaf\xd3\x30\x77\xe7\x04\x74\xd8\xcb\x73\xc6\x77\x5e\x0b\x1e\x3f\x46\xdd\xff\x01\xbc\xce\xee\x03\xf6\xeb\x91\xf8\xb1\xc7\x7e\xb4\xea\xb6\x08\x88\x7a\x26\x18\x5b\x0f\x93\x09\x0e\xfd\x85\x5d\x8d\x69\xdf\xb7\x2c\xb3\xc0\x2d\xd3\x94\x0e\xc3\x9b\xa2\x40\x4f\x93\x2c\x77\x24\x87\xc6\x02\x8c\x71\x23\xbd\x2e\xac\xc9\x9a\xe6\x4f\xd3\x50\x95\xc8\x65\xaa\xa2\x5c\x9e\x35\xf9\x17\xaf\xd4\x00\xd7\xb0\x75\x8b\xd2\x7c\xa5\xa6\x54\x89\xfc\xfd\xe1\x43\x51\x32\xb2\xc2\xfa\x4b\x56\x29\xa5\x97\xab\x46\x72\x95\x27\xeb\xe8\x04\x56\x98\x5e\x9b\xeb\xc0\xa6\xfa\xee\xd5\x0b\x23\x4f\x9f\xcd\x86\x43\x84\x62\x8d\x05\x66\xbd\x88\xdf\xa6\xc9\x28\xa5\x59\xe6\x50\x20\x37\xc9\x70\x78\x4a\xe3\xfc\x2c\x39\x24\xb9\x3f\xfe\x6e\xea\x54\x32\x61\x4e\x4f\xf3\x64\x3a\xa5\x2e\x0d\x97\xcd\xd2\x34\x19\x91\x9c\x5e\x8e\xc3\xd1\xb8\x38\x8c\x51\x18\xe3\x69\x14\xeb\x8b\xbd\x62\x6f\x9a\x3f\x3d\x43\x87\x0f\x88\xff\x5e\x74\x10\x8f\xb6\x4c\x6d\xce\x93\xaf\xc7\x61\x44\xc1\x0b\x37\x37\x4b\xb3\x1e\xb6\xd7\x9c\xce\xb2\x31\x07\x39\x88\x48\xfc\xfe\x65\x18\x53\xcf\xb6\x43\x70\x35\xe3\x1a\xa5\x12\xc4\x62\x81\x66\x46\x73\x4e\x6e\x4f\xb7\x58\x9e\x52\x73\x32\xb0\xf5\x51\x3e\x9b\x32\x22\x66\xd6\xe0\xcd\x32\x9a\x9e\x62\xaf\xc3\x78\xa4\x89\x7b\xbb\x16\xc6\x63\x9a\x86\xb9\x5e\x9f\x34\x16\x2d\xd6\xea\x07\x6b\xca\x3a\xd3\xfb\x78\x34\x25\x19\x15\x32\xac\xd7\x32\xb2\x83\x62\x0d\xea\x59\x4a\xe2\x6b\xf8\xa9\x75\xd3\x1e\x0e\x51\x2b\x58\x6a\xe0\x6b\xe0\x19\x07\x6b\xb7\x46\x63\x39\x89\x47\xc9\xa1\x34\xe7\xce\x11\x70\xed\xab\x0e\xdd\xde\xd9\xde\xab\x35\xc4\x4f\xdf\x6f\xb5\x5a\x2d\xf5\x73\x87\x3e\x22\x2d\x23\x77\x87\x98\xb9\xdb\x3b\x7b\xbb\x64\x47\xfd\x7c\xb0\xbb\xdb\x7a\x30\x50\x3f\x5b\x7b\x8f\x1e\x3e\x22\xea\x67\xb0\x1d\x3c\xf0\x87\xea\xe7\xee\xee\xee\x83\xdd\x6d\xf5\x93\x0e\x3b\x8f\x3a\x8f\xd4\xcf\x87\x84\x76\xb6\x35\xe4\xa1\x4f\x1f\xed\xe8\xba\x0f\x3a\x8f\x86\x06\x28\x12\x3c\x18\x92\x87\x06\x56\xb4\x43\x3b\x1a\x32\xfb\xf8\xb5\xb5\x0b\x83\x14\xca\xa8\xf5\xca\xb4\x66\x7c\xac\xf2\x5d\xc4\x13\xd6\x72\xbd\x01\x28\xc4\xad\x9b\x56\xab\x01\xad\x9b\xdd\x21\xfb\xfb\xe1\x03\xf6\x37\xc1\xef\x01\x7e\x1f\x0e\x2f\x1a\x10\x0a\x5b\x50\x6b\xd9\x61\x92\x82\x77\x00\x21\x3c\x86\x4e\x7b\xef\x00\xc2\x8d\x0d\xcb\xce\x9f\xe5\x5e\x7a\xee\x85\xb0\x05\xdb\x7b\x75\xf8\xe7\xb0\x07\x1f\xa0\x75\xd1\x00\x91\x58\x48\x0b\xd9\x2f\x7b\xbb\xa1\xa2\xad\x9d\x52\x53\xac\x17\x0f\x61\x03\x42\xb8\x0f\xed\xd6\x81\x8d\x42\x03\xd8\x7f\x16\x60\x45\x32\x51\x60\xd4\x80\x81\x09\x4f\xac\x29\x50\xae\x6b\x5f\xd5\x60\x03\xc6\xf4\xc6\x4b\xeb\xe2\xcb\x48\x7e\x19\xd4\xdd\x60\x59\x9e\x6f\x01\x84\x2e\xf8\xcd\x3c\x39\xcd\xd3\x30\x1e\xf1\x7d\x4d\x85\x3c\x97\x0c\x5f\xae\x98\x1e\x43\x07\x9e\x42\xad\xc5\x9a\xf5\x61\x1f\x7c\xb3\x09\x59\x58\xac\x60\x6e\xeb\x9e\x29\x8c\x97\xe5\x51\xb7\x96\x47\x66\xd9\xab\x65\x1c\x94\xcc\x72\xd4\xf0\x0d\x07\x2f\xf1\x94\x06\x1f\x21\x51\xa0\x3c\x50\xbb\x65\xa6\xc0\x92\xd0\x05\x9c\x30\x5f\xc4\xb9\xc7\x21\x9d\x87\x17\xcd\x6c\x36\xc8\x04\x79\xea\x0d\xb0\x48\x94\xcc\x72\x3e\x18\xe7\x2a\x89\x7d\x78\x65\x78\xf2\x04\x57\xe2\x5f\x23\xa7\x36\x2a\x4a\x3c\x74\x17\xe0\xf9\x3c\x47\x65\xd8\x5c\x28\x48\x9e\xcc\xf2\x12\xbd\xe5\x06\x89\xda\x7a\xe2\xbd\xd9\x2f\x11\x4a\xa8\x60\x3a\xa1\xfb\xa0\xce\x8a\x1a\xa2\x8a\x5c\x8b\xa8\x73\x3a\x2c\x4c\xd3\x09\x5b\x2a\xee\x43\xed\x86\x7d\x17\xa5\xe5\x8a\x6d\x1f\xce\x1f\xb6\x1a\xd0\xd9\x11\x7b\x56\xc6\x0a\xc2\x02\x23\x97\x48\xf3\x88\x41\x1a\x44\x89\xff\x5e\x40\xba\x0a\xb3\x19\x89\x9e\xd1\xc8\x6e\x77\x9a\x4c\xdf\xc4\xa5\x54\x3d\x55\xee\x43\xbb\xd5\x6a\xa9\x54\x4a\xd9\x62\x24\xb3\x0a\x07\x74\x30\x1b\xd9\x58\xe0\x26\x20\xb7\x9a\xed\xa2\x61\xc6\xcc\xc8\xd3\x3c\x08\x63\x2b\x63\x96\xd1\xe3\x28\xb9\x3e\x4c\xe2\x3c\x2d\x52\x86\x0c\xd8\xcc\xf6\x7d\x18\xe4\xe3\x7d\x78\x68\x4d\x10\xc6\x56\xa0\x99\x3c\x64\xa6\xb9\x5a\x64\x50\xe2\x8f\xbd\x8a\xdd\xb8\x06\x38\xb7\xe1\xec\x4d\xb2\xaa\x2d\xb2\x03\xab\x6c\xb3\x6a\x3f\xae\x50\xe7\xd6\x3d\x9d\x4a\x9c\x2b\xa7\x52\x3e\xef\xd3\x9b\x9c\xa4\x94\xf0\xe2\x5e\x61\xbe\xd4\xd0\x46\x34\x7f\x83\xe8\x58\x10\xdf\xd3\x79\x03\xe4\x01\xba\x32\x54\xee\xb1\x74\x08\xe3\x32\xc6\x75\xdb\x5c\x49\x93\x6b\xb4\xb4\x8e\xd2\x34\x49\xbd\xda\xeb\x44\x2c\xfd\xf9\x21\x2e\x03\xb2\xce\x94\x18\xfb\xb2\x01\xb5\xf5\x5a\xd9\x24\xe2\x1b\xbc\xe6\x1e\x8c\xde\x86\xb4\x36\xe8\x4b\x9b\xd9\xa5\x3a\x0e\x91\x65\x65\x24\x91\x9d\x54\xc9\x7e\x75\x54\xc9\xae\xc3\xdc\x1f\x97\xb6\x80\x7d\x92\x51\xa8\x69\x29\xac\xed\x5b\x5a\x8c\xe1\x87\x08\xc3\x63\x6d\xbc\xba\x36\x6c\xd1\xaf\x28\x63\xa6\x5f\xed\x94\xe6\x39\xb3\x02\xf3\x31\x35\xc4\x9b\xf7\x1b\x22\x66\xbf\xe7\x63\xc2\x5d\x61\xf8\x9e\x3b\x24\x43\xdc\x32\x87\xda\x41\x09\x2e\x83\xb9\xd1\x85\x75\x6f\x1d\x36\x8c\xcd\x90\x0d\x58\xaf\x43\x98\x41\x9c\xe4\x40\xa2\x28\xb9\xa6\x41\x73\xbd\x5c\xdb\x4f\xe2\x2c\x89\x68\xf3\x9a\xa4\xb1\x37\xc9\x46\xf5\x72\x11\x31\xa2\xc6\x6a\x40\x7e\x6e\x4b\x94\x70\xb3\x93\x35\xa0\xce\x2a\xdc\x98\x17\xb3\xf0\x93\xea\x0a\x92\x90\x64\x92\xcc\xd8\x5a\xe6\x2c\x0d\x27\xc6\x8a\x4a\xc3\xd8\x14\xce\x28\x95\x10\x62\x4a\x83\xec\x84\x2f\xd8\xf1\x90\x4a\xef\x84\x6d\xda\xe0\xf5\x6a\xb9\xf8\x31\x9a\xcd\xd3\x70\x82\xdb\x01\x9e\x59\x77\x51\x3d\xb9\x13\xf7\x8a\xe4\xe3\xe6\x84\xdc\x78\x46\xaa\x8d\x41\x63\x31\x02\x72\xfb\xae\x00\xc8\xd1\x95\x6a\x40\x6c\x20\x4c\x8a\x54\xd1\x1e\x0a\x5b\x1d\x5e\xab\x61\x6f\xc0\x55\xc0\xbf\x2d\xa5\x96\x53\x0c\x6a\x4e\xc8\xcd\x4b\xb1\x87\x5d\x35\x8e\x7c\xf3\x48\x1c\x37\x37\xb3\x79\xec\xf3\xd5\x55\x2f\xa5\xc4\xab\x2f\xe2\xd3\x41\x4a\xc9\xfb\xe2\x2a\x4e\xce\x14\x46\x6b\x65\x5e\xb6\xb2\x17\xaa\x0b\xc3\x26\x28\xe8\x0b\xb9\x46\x3c\xd4\x25\x98\xdd\xc5\x39\xfe\xa0\x0a\xd1\x22\x64\xb4\x2a\x5c\x90\xc5\xf6\x55\xd3\x8f\x48\x96\xb1\xf5\x76\x33\x4f\x46\xa3\x88\x7a\xeb\x68\xca\x6c\xf2\xea\x9b\x19\xab\xbf\xc9\xb4\x7c\xca\x28\xbe\x2e\x94\x2e\x3f\xe7\x53\xc9\xb5\x02\x42\x77\x6f\x61\x40\x52\x1b\xf6\x80\xa4\x45\xa8\xce\x6e\x9a\x96\x46\x05\x05\x0b\xab\x6c\xe7\xf0\xba\xe7\x9e\x94\x66\x4c\x54\xed\x21\x70\xce\xf7\x15\xa3\x65\xb2\x86\xb9\x83\x5c\x69\x03\x94\x40\x58\xad\xd1\x98\x59\x62\x81\xd5\x68\x25\x99\x6b\x16\x99\x07\xc8\x62\x0d\x90\x20\xcc\xfd\xb9\x88\x92\xd4\x6e\x55\xee\x70\x7b\xc6\x01\x5f\xa1\x71\xa8\x3a\xf4\x86\xc5\x3b\xe6\x19\xcd\x15\xf4\x32\x1d\xe5\x07\x4f\xaa\xef\xd2\xb5\xcd\x24\x36\xf9\xe5\xb6\xe1\x3e\xcf\xaf\x2f\x1e\xf0\x05\xa4\xa8\x1e\xf6\x32\x9a\x29\x9d\x24\x57\xcb\xd0\x54\x73\x9a\x83\x4e\x96\xa2\x60\x38\x29\x92\x55\xd6\x58\x89\xf8\x7a\xb3\xd1\xa6\xc0\x20\x14\x7b\xe3\x56\x2f\x19\xf6\x12\x93\x24\xc6\x9f\xca\x98\x6d\x40\x0d\xcd\xd9\x9a\x69\x8d\xd3\xab\xe2\x99\x38\xd6\x51\x3b\xef\xc5\x51\x56\xb9\x5e\xc9\x19\xa7\x79\xd8\x6a\x1e\x9d\x1e\x32\xf3\xeb\xfc\x85\x35\xb2\x6b\x56\xed\x32\xf1\x49\x10\x78\x02\x37\x93\x28\xd8\xd4\x38\xb9\xe6\xa3\xeb\x15\xb3\x9c\xa2\x8e\x67\x35\x73\x4e\x07\x5d\xbe\xb4\x64\x61\xf9\x05\x70\x74\x12\xe6\x9e\xa2\xd0\x8f\x98\xc8\xea\xec\xe3\x37\x75\x70\x7e\x5b\xa9\x08\x06\xd1\x6c\xe1\x26\x9d\xbd\xb2\x60\xa5\x8b\x0b\x0b\x36\xa6\xcf\x8a\x50\x96\x0c\x29\x83\xb3\x60\x44\x05\xa5\xf8\x8c\x8e\x3f\xe6\x0d\x9e\x38\x37\xe8\xf3\xd9\xc6\xfd\xcd\x9d\xc6\x5d\x0a\x9d\x7b\xe8\x17\x48\xf6\x8a\xa3\xac\x65\xa7\x30\xca\x82\x68\x1f\x31\xc8\x61\x1c\xe6\xdf\x44\xc9\xa0\x42\xbb\x30\xf5\x7a\x89\xde\x43\xa6\x7e\x65\xa9\x08\xdf\x4c\xb4\x46\x9d\xad\xf6\xcd\xe3\x8f\xb2\x98\x57\xe6\x32\x86\x31\x33\x19\x8f\x18\x3a\xae\x01\x35\x3f\x99\xce\x0b\x2c\x42\xe3\xbc\x28\xf7\x97\xc5\x83\xb8\x22\x0b\x70\x36\x76\x0d\xaf\xe1\xf0\xd7\x64\x8d\xc9\xf3\x1c\x6c\x87\xb3\x5b\x83\x93\xa5\xbc\x53\xaf\x09\x2e\x29\x35\x25\x59\x4e\x05\x88\xef\x53\x32\x9d\x52\x5b\x20\x24\xf6\x52\xae\xcc\xd6\xcd\xba\x66\xf3\xdc\xd3\xd5\x24\x8f\x21\x42\x58\xa9\xd6\x70\x35\x5c\x49\xd3\xe5\x75\x94\x4c\x09\xcf\xae\x66\x98\x1d\x87\x29\x1d\x26\x37\xd6\x76\x6e\x09\x32\x8e\x40\x90\x5c\xc7\x8b\x87\x4c\x36\x81\x19\xcd\xc1\x2c\xcf\xd9\x7a\xbb\x0b\x1d\x97\x7d\x6f\x92\x28\x0d\x47\xe3\xfc\x30\x0a\xfd\xf7\x05\x3a\x5d\x16\xe8\xb2\x70\xc0\xca\x4c\x70\x5b\xf6\x5f\x59\xd4\x4d\x71\x27\x61\x42\xe3\xd9\xf2\x8e\x7e\x19\xfc\x6f\xcb\x3b\x27\xf6\x78\xbd\x0c\xe3\xd9\x92\xd1\x22\xb3\x1b\x9f\xe1\xf2\x51\x83\xd5\x85\xf6\xb2\xd1\x62\x0a\xf2\x8c\xde\xe4\x6c\xed\xf3\x1d\x33\xde\xf1\x50\x5b\xcc\x88\x9f\x7b\xe0\x8a\x73\x11\xd3\x4a\x4b\xe7\x22\x4d\x8b\xf7\x74\xee\xe0\xdb\xa2\x9e\x51\x2e\x3c\xc4\xcf\xc3\x2b\x2a\xbc\x78\xe0\x1e\xd7\x8d\xab\x2b\x1d\x6c\xfc\x3d\x9d\xf7\x93\xeb\x98\x35\x23\x3a\xd1\xc0\xa3\x73\x43\x6e\x4b\x38\x4e\x53\x9a\x2d\x33\x82\x3e\x37\x92\x6f\x59\x9b\x77\xc2\x72\x36\x5d\x82\xe2\xbd\x6b\x92\xbd\x4a\xe2\x00\x0f\x93\xbf\xa5\xf3\x37\x71\xc4\xfd\x61\x58\x59\xe7\xf4\xcd\x37\x33\x0b\x93\xe6\xed\x02\x84\x0c\x1d\xb9\x7c\x6c\xef\x32\x1e\x36\xe0\x65\x03\x52\x41\x44\x50\x5b\x05\x7c\x0d\xaa\xce\xac\x97\xb6\xe9\x6b\x57\x79\x34\x21\x6b\xc2\x24\xf2\x8b\x2e\xf4\xcd\x62\x49\x14\x0b\xcf\x5d\xb8\xbe\x52\x83\xb3\x69\x40\x70\xe6\x58\xde\x22\x2f\xfa\xe9\x4d\xd2\x38\x58\xa9\x3d\x1a\x07\xab\x34\x86\xb9\x49\xec\xd5\x84\x59\x59\x0d\x9b\x77\xc0\xb8\x98\x20\x5d\xf6\x3e\xb2\x19\xcd\x20\x01\xc9\x49\x89\x45\xd0\xd5\x4c\xf8\x57\x70\x6f\x2d\x2c\xd7\xc4\x91\x6b\x00\x7e\xa7\x71\xb0\x82\x8d\x97\xd1\x34\x3f\x49\xae\x2d\xdd\x97\x26\xd7\xe6\xc6\xb5\xd8\x64\x4f\x85\xdb\x3b\xbf\x5a\x63\x6f\xa9\x23\x00\xa5\x49\x7c\xbc\xb7\x2a\x28\xe0\xd5\x82\xf0\xaa\x56\x76\x38\x48\xf9\xe1\x0c\x09\x63\x9a\x32\x23\x97\xc6\xc1\xe1\x38\x8c\x02\x6c\xdd\xe1\xb8\xc4\xcf\xef\x74\xa6\x30\x89\xd2\xe4\xba\xaa\x73\xc9\x94\xda\xfb\xf2\xdc\xd1\xb2\x01\x43\xd3\xec\xaf\xb6\x63\x8d\xcd\x03\x75\x50\x19\x84\x57\xb6\xd7\x0e\x77\xed\xd4\x2e\x9c\x46\xba\x36\x8e\xee\x19\xa9\x0b\xf7\xfa\x65\x2f\xe4\x7d\xe7\x0c\x88\x84\x2d\xd7\x14\x0e\x52\x0a\x03\x43\x6e\x21\xf3\x0a\xcd\xe4\x3a\xa6\x69\x5f\x8e\x89\x38\x6b\xf8\x7d\x48\xaf\x4d\x67\x2b\x7d\xc1\xa1\xb2\xaa\x51\x1c\x3d\x57\xbb\x76\xd5\x65\xfe\xa9\x07\xa5\xbd\x88\x12\x84\x6a\x7e\xa9\xd8\xc2\xc0\x55\xb4\x5c\xd0\xac\x52\x96\x9f\x80\xae\x5a\x70\x13\x0f\x5a\x37\x6b\xf2\x28\x02\x7f\xd6\x0f\x3e\x72\x2f\xad\xd4\x64\x46\xf3\x5e\x9e\xa7\xe1\x60\x96\x53\xaf\x96\x13\xa6\x21\xe8\x4d\xad\x61\xfb\xb3\xc9\x5d\xe1\x23\x45\xb4\x55\xe9\x55\xa8\xe9\xee\xa2\x2c\xe4\x24\x8a\x29\x8e\x2e\x90\xae\xd6\xf4\xc6\xf5\x47\xa0\xaa\x2b\xbb\xb1\xe5\xe7\x4b\x9b\x4c\xe1\x2f\xec\x6a\x25\xe2\xba\x81\xba\xcb\x15\x4e\x69\xa2\x3b\xe0\x5e\xae\x5c\x81\xbb\x2c\xb7\x1a\xa9\xcb\x60\x2d\x3f\x3f\x43\x6b\xde\x01\x57\x4b\xd9\x3a\xb1\x64\x2b\x81\xd5\x10\x34\x61\xb9\x14\x75\xd1\xab\x4f\xf9\x08\x36\x49\x9e\x13\x7f\x7c\x96\xf4\x93\x89\x32\x3b\x1b\x76\x65\x13\xe0\x18\x27\xc9\x8f\xe9\x6e\xa1\xa6\xbb\xc7\xbc\xd0\x8a\x9d\x2e\x40\x34\xeb\x48\x4b\x64\x01\x7e\xb2\x48\xcd\x55\x6f\x11\x76\x9b\x8b\x6b\xda\x9a\x84\xcc\xf2\x44\xdc\x83\xaf\x35\xa0\x96\x0c\x87\x2b\xd7\x22\xd3\x30\x27\x51\xf8\x17\x7a\x87\x8a\xd9\x94\x46\x91\x3f\xa6\xb8\x22\xac\xe1\xc1\xaa\xbb\x5a\x4e\x06\x2f\x98\x86\x2b\xb8\xd7\xaa\x7c\x12\x04\x68\xcd\x33\x12\xd0\x98\xa6\x9e\x63\xf3\xd6\x9c\x35\xf9\xf6\x7b\xe5\x1e\x26\x4e\xdb\xb7\x85\xdd\x96\x65\x2d\x96\xf6\x16\x2b\x1a\x74\x6c\xa7\x55\xb7\x57\x64\xc3\x12\x57\x49\x84\xec\xcb\x1b\xca\x4a\x64\x93\xf5\x1d\xb8\xbe\x50\xb3\xc8\x57\x46\x36\x6a\xff\xaa\xba\xdc\x36\x95\x3e\xb0\xe5\xab\xb6\xcd\x52\x5a\x71\x9b\xc9\x85\x4d\xd9\x65\x79\x29\x75\x0a\x10\x6c\x5d\x43\xd2\xd3\xf0\x2f\x14\x4f\x10\x97\xcf\x90\x78\x8c\xb7\x50\x43\x94\x1b\x77\xb4\x20\x00\x18\x1e\x6a\xea\xd4\xb8\xe4\xa7\x86\x39\xca\xbc\xf6\xca\x46\x9b\x30\xb5\x4a\x0d\xd3\xf2\x14\xeb\xeb\xfb\xaf\x72\x58\xcc\x1b\xb1\x4d\xe3\x57\x51\xaf\x2e\xd0\x5b\x06\x54\x5c\x7c\xe0\xe5\x88\xf0\x2f\xd4\x1f\x93\x78\x44\x83\xc5\xd2\x20\xd6\x3b\x26\x91\xd4\x19\xe6\x6d\x55\x2b\x13\x81\xa3\x6b\x06\x17\x1d\xd3\x57\xaf\x9b\xf2\xab\xc7\x0d\x70\xd7\x7c\xdf\xa8\xb2\x22\x1a\xa5\xc6\x2b\x9c\xe5\x59\x9b\xfa\x96\x73\x53\x7e\x2d\xf9\xe7\x3b\x9c\xe6\x59\xd5\xf2\x5d\xe6\x66\x31\xc9\x44\x1f\xfd\x02\x1a\xe5\x29\x79\x31\xba\x25\x8f\xee\x55\x97\x8a\x97\x56\x6f\xd5\x7d\x0f\x09\x6e\xd9\x92\x71\x31\x02\x31\xbd\xd6\x96\x4d\xc3\xda\x39\xbb\xc9\xcb\x58\x28\xdd\x2b\xb7\x30\x58\xc2\x41\x55\x21\xe5\x8c\x56\x91\xcf\x5b\x76\x32\x1c\xc3\x8d\x9b\x8b\x45\x0e\x96\x4b\x46\xf7\xa6\xa1\x3a\x3a\xaa\x1f\xd8\x00\x4b\x36\x66\x69\xf2\xf8\xac\xcd\x2d\xf1\x49\x11\x7a\x45\x1e\xcd\x98\x67\xe0\x62\x9d\x2e\x8e\x84\x2a\xfd\xdf\xd0\x85\x8b\x66\x19\x19\xe1\x4e\xd2\x1f\x93\x19\x04\x61\x80\x2e\x56\x53\x82\x5e\x5b\x14\xfe\x84\x40\xfe\xa4\x2e\x2e\x43\x18\xc3\x9f\x2a\x96\xd8\x5e\xfd\x4f\xcd\x1f\x62\xc3\xa7\x4b\x02\xdf\xe8\x42\xed\xcc\x05\x2c\x4e\xae\x41\x79\xbe\xe6\x09\xfc\x29\x4f\x67\xf4\x4f\x30\x98\xe5\x80\xdc\x18\xc6\x23\xee\xeb\x86\xa6\x50\xf3\x5d\x06\xdb\xcd\x16\x54\xb4\x10\xe6\x70\x1d\x46\x91\x04\x88\xf0\xd0\x18\xf9\x53\xd3\xa8\x61\x7b\x88\xf1\xea\x06\x7b\xa9\xc3\x52\x75\x17\x49\xef\x94\x0f\x8b\x87\x84\x38\x04\x16\x87\xde\xaa\xad\xa9\xc2\xce\x7f\x69\xbf\xdc\xe1\xa0\xc0\xd9\xc2\x9c\xbd\x46\x34\xd7\x42\x5a\x47\xef\xe8\x88\x4c\x33\xbc\xce\xa2\x2a\x34\xc3\xec\x50\xa6\x37\x20\xcc\x4e\x98\xd6\x66\x5d\xe0\x5c\x60\xd4\xe9\x42\x6d\x90\x24\x11\x25\x71\x0d\x9e\xc2\x3d\x9d\xb3\x6f\x40\x63\xd5\xb0\x28\xc2\xa9\xd9\x07\xa6\xf7\x04\x78\xa7\x23\x44\x49\x56\x6f\xcb\x42\xc9\x96\xb8\xb8\x9d\x6f\xe9\x7e\x6e\x52\x31\x1e\xaa\x15\x76\xa8\xa2\x84\x04\xbd\x20\x28\xf8\x55\x12\x96\xd2\xc0\x60\x50\x78\xe9\xc6\xdc\xa3\x4a\x6d\x57\xbb\x05\x01\x55\x3a\x3b\x75\x6f\xbd\xb9\xb5\x0e\x1b\x80\x00\x61\x03\x6a\x5b\x35\xf9\xab\x7c\xb4\x63\x88\x96\x08\xfd\xc4\xc8\x24\xb1\x72\xb9\x96\x8a\xb6\xbc\xf3\x5a\x73\x0b\x81\x66\x1a\xbe\xdd\xda\x85\xd1\x9b\x05\x67\x4a\x92\x7b\x29\xdf\x25\x3a\x24\x31\x93\x56\x46\x24\x20\x32\xbe\x0c\x13\x98\x64\x96\x03\x61\x36\xdb\x24\x89\x7f\x77\x0a\x49\x0a\x27\x1c\x95\xdf\x9d\x02\x8d\xaf\xc2\x34\x89\xad\x3d\x24\x70\x3a\x46\x56\xf9\x9f\xb8\xe6\xfc\x6a\xc7\x13\x97\x01\x85\x0a\x9c\xcd\x7a\x68\xae\x29\x14\xd6\x9b\x7c\xcd\x73\x1d\x06\x74\x93\xd5\xfb\xf1\x1a\x7d\xb3\x95\x2f\xa8\x69\x44\x60\x16\xdc\x87\x0e\x6c\xc0\xfa\xf4\xe6\xe0\x76\x1d\x36\x2c\xa6\xf4\x24\x38\x7e\xff\x72\x45\x80\x12\x58\xbd\x0a\x1a\xea\xe1\x27\x10\x84\x57\x3f\x8e\x69\x38\x1a\xe7\x6e\x68\x3c\x4f\x83\xab\x74\xa1\x90\x12\x51\x79\xb8\x8e\xb7\x57\x6d\x85\x62\xed\x48\xe2\x59\x02\xea\x84\xed\x8e\x30\x4c\x25\x9c\x8c\xc6\xc1\x33\x3c\x7a\x2b\x9c\x2f\x30\xb8\xfc\x4c\xae\x01\xd3\xc4\xf0\x89\x92\x07\x75\x30\xa2\xb9\xae\xa9\xf3\xa7\x09\x1b\x6a\x11\x35\x85\x29\xa8\x13\x72\xfd\x6c\x9e\xd3\xc3\x24\x49\x83\xcc\xa3\x57\x1c\xb9\x82\x55\xc3\x43\x7a\x68\xea\xc8\x14\xbc\x24\x2e\xcb\x67\x05\xef\x8c\x7b\xd3\x24\xab\x5b\x63\x50\x3c\x74\x62\xdd\xe3\xe7\x3f\x46\x5f\x0c\x28\xd2\xa9\x91\x5e\x35\x93\x2b\x9a\xa6\x61\x40\xcf\x98\x7a\xfb\xf0\x01\xe8\x15\x6a\xba\xa2\x22\xe3\xee\x7a\xfa\x3c\xda\xf6\xd5\x43\x02\x28\x6a\xf3\x36\x0f\x4a\x25\x0a\x1e\x80\x05\xb0\xb3\xe9\x42\xa0\x72\x08\x57\x02\x78\x3d\xa6\x34\x72\x80\x2b\x54\xb8\x35\x14\x8a\xc5\x1a\xaf\x92\x2b\x5a\xc9\x18\xd0\x95\x68\x15\x58\xe4\x57\xc5\x02\x02\xd7\x0d\x9b\x72\x8b\x18\xa3\x40\x07\x1a\xfb\x49\x40\xd1\x04\x6e\x80\x3f\x2e\x1d\x39\xf2\x55\x8e\xb8\x81\xed\x3a\xe0\xf6\x79\x68\x8a\xce\xee\x6e\xbd\x34\x10\x42\xa7\xa2\x4d\x8d\xc7\x16\x45\x8f\x65\x01\xe0\x09\xb4\x3b\x0f\xca\xd5\x19\x68\x96\x63\xd7\xd1\xd0\xfc\xb1\xd3\xf5\xa8\x30\x69\x14\x11\x6d\xed\x38\x9a\x5a\x15\xd3\xc7\x88\xa9\xe3\x04\xbf\x02\x2b\x28\x39\x2c\x3b\xb0\xb3\x28\xe1\xc6\x4f\x91\x83\x65\x97\x45\xc4\xc0\xfb\xe6\xb0\x05\x1f\x38\xac\x27\xa0\x62\xa1\x54\x15\x7e\x28\x0b\x7f\x0d\xad\x9b\xed\xe3\x62\xf1\x62\xb4\x19\x87\x10\x95\xf9\xac\xc0\x42\xc8\x41\x3a\x30\x40\x91\x78\x82\x83\xbf\xee\xc2\xb6\xdd\xf6\x34\xc9\x9a\x37\xb0\x59\xd6\x09\x2c\x63\xee\xca\xc0\x50\x55\x24\x27\xd0\x2d\xc7\x0d\x33\x5d\xd6\x3a\x3b\xb5\xf2\xe0\x1a\x2e\x1a\xad\x32\xfd\x11\x2c\x33\xb3\xdb\x85\xaa\xca\x34\xb2\x5c\x3c\xaa\xeb\x6f\xaf\x50\xbf\xb3\xa0\xfe\xee\x0a\xf5\xb7\xab\xf8\xbb\x5c\xb5\xba\xa1\x56\xad\x2c\x76\x98\xf1\xd3\x39\x33\xdb\xf8\xe8\x6c\x40\xad\x21\x7f\xe1\x2d\x9c\x8b\x1f\xd2\x42\x3d\x1c\x7e\x74\x23\xc4\x65\xf9\xc1\x42\x75\x76\x5b\xe6\x1c\x1d\x8f\xe2\x0b\x72\xce\x72\x06\x50\x93\x42\xe7\xa3\xc6\x5f\x55\xdf\xf9\xa8\xe1\x57\xd5\xf7\x3e\x6a\xf4\x55\xf5\xed\xaa\xb1\x59\x28\x2f\xb5\x12\xc0\x0d\x01\xd2\x91\x51\x3b\x70\x15\xb7\x10\x84\xa7\xb0\x03\xfb\x2e\x2a\x57\x55\xc7\x81\xbb\x53\xe9\x9b\xd5\x51\x63\xc5\xa7\x6c\x19\xfd\xe1\x43\x05\x4e\x5f\x5f\x17\xaf\x39\xac\xc0\xb8\x3a\x20\x49\x91\x71\xef\xce\x9f\x58\x63\x63\xc3\x51\xba\x98\xb8\xea\x90\xaa\x21\xe4\x74\x31\x25\xfa\xc0\x92\xe8\x57\x1f\xd1\x75\x19\x9e\xe5\xd3\x3b\xbe\x62\x77\x1e\x3b\x07\xd6\x93\x5c\xf7\x35\x6c\xd7\x15\xeb\xa9\xb4\x9f\xb6\x61\x5f\xfc\xaa\xc3\x26\x6c\x3b\xe4\xee\xf3\x70\x58\x15\xf7\xba\xf1\xab\x4d\x6a\xb0\x8f\x74\x5f\x99\xf0\xc6\xc4\x77\x6e\xc4\x8b\xb3\x6c\x3b\xd1\xd1\x8a\x5c\xec\xd0\xa2\x4c\xd3\x77\x7c\xc5\x41\x79\xc5\xf8\x88\x5f\xd4\x6f\x0e\xd3\x64\xc2\x56\xcc\x87\x49\x40\x85\x2b\x37\xcf\xe1\x3b\xae\x15\xd7\xff\xad\x45\x58\xc5\xf2\x2d\x1b\x87\xc3\xbc\x01\x13\x8a\x06\x6c\x9e\x46\x18\x06\xfd\xcb\x2e\x82\x94\x3e\xa5\x57\xd2\xb5\xf3\x1e\xf7\x3d\x77\x1a\x6e\x4f\x61\x43\x15\x74\x16\xd8\x67\x80\xae\xc7\xa1\x3f\x5e\x08\x87\xc3\x52\x45\x37\xa1\x5d\x59\x6c\xbf\xe0\x09\x2f\x3f\x4a\x44\xb5\xcb\xeb\xab\xd3\x17\x47\x55\x37\x04\x55\x47\xcd\xd9\x0d\x9e\x42\x4b\x49\x0e\x26\xed\xc0\x53\x68\xab\xa4\x72\xab\xe5\xeb\x81\x1f\xb1\x48\xac\x9a\xc4\x16\x82\xeb\xbf\x79\x85\x9a\x88\x1f\x89\x2c\x19\xca\x80\xe6\x24\x8c\xe0\x31\xb4\x2a\x86\x71\x6f\xa7\x62\xf8\xf6\x76\x3f\xc7\xb2\xd5\x40\x05\xcb\xf4\x69\x94\x93\x3f\xc2\x93\x2f\x82\x8f\x11\x3e\x92\x49\x10\x6f\x16\xbf\x7e\x4b\xe7\x72\x86\x36\xb7\x9a\x51\xbd\xd0\xab\x26\xfb\xc6\x8b\x3c\xb4\x8b\x30\xe1\xe3\x45\xd8\x37\x5e\xa4\xbd\x57\x00\x93\xe0\xe6\x2d\xb6\xf8\x81\x03\xfd\x80\x15\x0f\x5c\x6b\x86\x4e\xc5\x9a\x81\x41\xf9\xba\x5b\xa8\x57\x58\x00\xea\xd5\xab\x11\x7f\xcc\x05\xa8\x6b\xe2\xa7\x81\xa8\xd1\xf0\xb6\x3b\x4c\x57\xb3\xa2\x8f\x1f\x43\xa7\x5e\x57\x53\x67\x69\xf3\xd0\x4c\x56\x7b\xe1\x34\x5a\xe0\xe2\xef\x5e\x6f\x9b\x57\x32\x16\x4e\x01\xf6\x06\x57\x41\x43\x97\x36\xa4\x57\xa0\x6c\x51\x4b\x76\xb5\x44\x16\x27\x66\x77\xcb\x06\x35\x8c\x40\xb6\x76\x19\x87\xc5\x60\x8e\x91\x05\x2b\x89\xc5\x32\x40\x9d\xe7\x72\x84\x26\xc9\x15\xad\x35\xd4\x36\x4e\x71\xe3\x04\xeb\xc8\xa8\x75\xa5\xf8\xae\x15\x30\x6d\x07\xec\xd9\xb4\x30\x3e\xab\x74\x7d\xb5\x4e\x29\x44\x86\xc3\xbb\xf6\x6e\x69\x55\xec\xc4\x6c\xea\xa8\xb2\x6c\x58\xc0\x38\xad\xb0\x87\x69\x51\xcd\x5b\xed\x90\x8c\x9c\xce\xb5\xdb\x67\xe5\x72\x45\x50\x39\xa0\x56\xe9\x0f\x1f\xa0\xb0\xc5\xe0\xcc\x36\xd6\x91\x1f\x25\x52\x9f\x9b\x06\x77\x15\x74\xd6\x43\x79\x41\x3e\x89\xbf\x67\x2d\x7c\x3c\x82\x79\x32\xf3\xc7\xd2\x11\xfe\xcb\x61\x79\xc6\x9a\xe1\x81\x14\x3e\x0d\x55\x21\x0f\x5f\x18\x53\xb9\x1f\xbc\x3a\xa2\xee\x33\x8d\x80\x66\x79\x9a\xcc\xab\xcf\x84\x8c\x78\x90\xae\xa8\x7d\x15\x59\x97\x78\xf9\x47\xc6\xe4\x51\xc9\x63\x15\x6c\xd1\x3e\x76\xbf\x2d\x40\x2d\x9d\xb0\xc8\x12\xea\x8e\xb3\xf4\x4b\xfe\xfa\x6b\xdb\x0b\x90\xbb\xe8\xbc\x4e\x02\x5a\x3a\xfe\x2d\x17\x11\x57\x3c\x2b\x3d\x79\xaa\xaf\xf1\xcb\xe8\x1d\x1a\x49\xe1\x93\x41\xe3\xc0\x3a\xe3\x34\xbd\x39\x4a\x18\x29\x37\x0f\xbc\x1b\x20\x22\x60\x98\x90\x16\xa3\x51\xbe\x51\xb0\x2a\x46\xca\xbf\xd3\x44\x09\x7d\xa4\x64\x38\x44\xac\x8c\x0e\x53\x5d\x06\xa1\xe4\x2b\x05\x65\x57\x51\xfe\x6d\x7e\x92\x5c\x7b\x61\xf9\x68\xb9\x2a\x3e\x81\xba\x41\xed\x64\x41\xed\x89\x6f\xc4\xfd\x2d\xd1\xd1\x8e\x09\xdc\x3e\x28\x52\x59\xdc\x2f\x66\x3f\xe6\xc2\x45\x63\xbe\x84\xb6\xdc\x3f\xc4\xc2\x29\xcc\xf8\x15\xca\xc0\x3c\xf1\xc3\xbb\x0c\x45\xda\x52\x2b\x12\xb6\x91\xaa\xc2\x8b\x54\x04\x95\xd4\xc1\x5c\xda\xc5\x6b\x44\x18\x9f\x65\x73\xd3\x9e\x69\x78\x0e\x06\x5c\xb9\x87\x7b\x81\xae\x11\xc2\x7c\xb3\xa6\xb9\x3f\xae\x61\xcb\xdd\x19\x4d\x72\x2b\x72\x64\x09\x63\x19\xfd\x45\x43\x30\x8d\x49\x7e\xbd\x44\xe7\x59\x21\x82\x54\xbc\x64\x56\x6a\xb3\x10\x49\x19\x36\x85\x07\x93\x11\x6d\x59\x63\x86\x70\xbb\x8e\xc0\x3b\x77\x08\xd3\xa9\x7c\x6c\x1a\xa0\xc7\x74\xd1\x59\xbe\x01\x2f\x9b\x62\x50\xbd\x34\xb9\x6e\x80\x74\xf7\xb9\x0b\x64\x1d\x14\x54\x05\x99\x2e\x8d\x9c\x1e\x59\xa4\xdc\x82\x91\x2d\xf2\xc4\x8a\xe3\xb7\xd2\x38\xda\xdc\x62\x7f\x2b\x13\xa4\x3c\xd2\xaa\x83\x0d\xe5\x08\x65\xb0\x1c\x77\x4c\x40\x0f\x95\x02\x3d\x4c\x6f\x93\x8a\x52\x9c\x29\xca\x6e\x29\xca\xa9\x4b\x77\xac\x3a\x30\x0a\x96\xed\xf3\xbe\x1b\xfe\x78\x61\x36\x6d\x40\x36\x9b\xe2\x81\x2a\xa7\xde\x91\x79\x61\x16\xef\x5f\xb2\x5a\x8f\xab\x06\x8d\xd3\xd3\x35\x68\x0b\x6e\x62\x96\xc6\xcb\xe1\xd9\xa4\xd6\x8a\xd8\xc2\x86\x39\x7c\x4f\xcc\xf1\x2b\x89\x42\x45\x08\xd8\xa2\x16\xe0\x60\xbb\xc0\xfe\x2d\x28\x35\xd1\xca\xa2\x46\x16\xeb\x03\xed\x96\xa3\xcb\x16\x28\x68\x41\x69\x15\x85\xe6\xde\x82\x31\x59\x89\x0d\x0a\xbd\x5d\xe0\xb3\xb7\x88\x61\xde\x92\x51\xc1\x83\x66\x4a\x46\xf4\x30\x99\x69\x6c\x0c\x46\x65\xec\xa5\x0b\xc0\x7d\xf0\xec\xb6\x96\x34\x76\x96\xf0\x20\xf4\x55\xe1\x81\x74\x1b\x9b\x2b\x73\xfc\x59\xa2\x02\xd8\x2f\x07\x6b\x48\xf5\xe6\x2a\x42\x55\xb6\xdd\x4c\xff\x56\x6d\xde\xf1\xe0\xc6\x5c\x39\x1b\x47\x6d\xc5\x40\x6e\x4d\x3b\x22\x24\x33\xf6\xb8\x66\x2b\xc7\x94\x96\x76\xa0\x09\x5e\x46\x75\xeb\x2e\x7c\xcc\xc7\x11\x8d\xb9\x6a\xb7\xb8\x7f\xb8\x5d\x9c\x96\x5d\xd1\xad\x5d\x1e\x89\xf7\x34\x76\x46\xb4\xec\x45\x58\x3b\x84\xa3\x1c\x6c\x5b\x37\x05\x8b\xc2\x27\x65\x34\x3f\x0b\x27\x34\x99\xe5\xcb\x42\x24\x85\x71\x4c\xd3\xef\x59\x3b\x96\x7b\xe0\x12\x6b\x49\xd7\xaa\x74\x8d\xe2\x5d\x64\x34\x92\x3a\xc2\xec\xb4\x98\x45\x5a\x8d\xd2\x8b\x4a\xa2\x65\x11\x8f\x5b\x43\xa9\xa0\x93\x71\xbc\x60\x94\xc5\x4d\x3c\xb3\x43\xac\x18\xb3\xee\xd0\xbf\x80\x43\x52\xf7\x45\xdf\x35\xc0\xcf\x1a\xe0\x8f\x1b\xe0\x27\x01\x6d\x40\xc4\x26\x7b\x7f\x7c\x89\x5e\x67\x0d\x6d\xf2\x59\x2c\xeb\x64\xc9\x32\xba\x38\x2f\x2c\x1a\x77\xe7\xc4\xb1\x94\x2f\x8b\xe1\xef\x2a\x79\xb3\x10\x4c\xf1\xd6\x69\x2a\xa3\x09\xaa\x54\xb9\xdb\x9c\x3e\x8a\x03\x47\x09\xe4\x40\x61\x87\x63\x1e\x0f\x92\xcf\xff\x29\x9e\xaa\x9b\x05\x32\x9a\xa3\xfd\xee\x61\xed\x62\xa1\x92\x1d\x30\x2f\x96\xb0\x8c\x7c\xb3\x1b\x8d\x22\xd6\x6e\x73\x6c\xb9\x04\x7e\x39\xe1\xd2\xb7\x48\xab\xad\xcf\x85\x71\xf6\xab\xc4\x12\x2b\x45\xf1\x0a\x0a\xd9\xe3\x2e\x13\x50\xfb\x21\xfd\xa1\xe4\xd9\xab\x01\xf2\xdb\x80\x87\xf2\x81\x93\x20\xb9\x8e\x9f\x3b\x96\xf4\xbe\xa3\x80\xa9\x0b\x0c\x57\xf6\x6a\x88\x1e\x46\x11\xed\x1f\xbd\x3d\x39\x3a\xec\x9d\x1d\xf5\xf1\x35\x46\x74\x1b\x1f\x50\xe0\x0b\xf7\x00\xb2\x24\x89\x9b\xf0\x36\xa2\x6c\x8a\x9a\x65\x14\x0a\xf0\xcc\x27\x58\x18\xc0\x38\xcb\x29\x09\xa4\x97\xf9\x02\x0f\x73\x24\xcd\x22\x60\xce\x3e\xae\x48\xb7\xc2\xc3\x30\x0e\xc2\x99\x25\x6c\x17\xdd\x0a\x18\xce\xf4\x05\x41\x01\x9f\xcf\xa7\x34\xcd\xe9\x4d\xfe\x32\x8c\xdf\xbb\x50\x29\xbc\xf9\xa3\xe7\x30\xe7\xde\x41\xe9\x56\xbc\xf0\x77\xe6\x1d\x07\x02\x63\xd9\x1e\xb0\xfa\xf2\x99\x35\x18\xd0\x61\x92\x52\x33\x7c\x32\x8d\xd9\xb0\xfb\xf8\xee\xb0\xe3\xde\xbc\xde\x6e\xa8\xe8\x84\x67\xbf\x40\xf4\x91\xb6\x9e\x01\xfb\xf7\x24\x0a\x03\xfe\xba\x8e\x70\xfb\xb6\x87\xcc\xe1\xd9\xfe\x79\x08\x75\xa5\x1a\x56\x0e\xe7\x9f\x8b\x5e\xe5\x3e\x79\x05\x9f\xf6\x8f\xa3\x5b\x4a\x47\x61\x96\xd3\x94\x8d\xc7\x2b\x36\xe7\x14\x98\x2a\xa5\x23\x7a\xd3\x90\xa3\xaf\x5e\x8d\x5a\x6d\x7f\x0a\x35\x07\x07\xfa\x22\x28\xbd\x66\xe2\x6a\xbb\xb2\xbd\x8a\xc9\x63\x41\x4c\x59\xf9\x64\xaf\x6c\x7f\xb1\xe2\x0d\xe8\x32\x4a\x28\x40\xab\xf5\xbd\x9c\xeb\x6e\xc3\x80\xeb\xb4\x21\x56\xe8\xe9\xe2\xfd\xba\x31\xc9\x4e\x8d\xfb\x2f\x8b\xc3\x09\x96\x2e\x50\x99\xb5\x17\x44\x2d\xff\x84\x16\x54\xc2\x19\xde\x55\x5b\x10\x95\x73\x71\x23\x6e\xe8\x76\xc5\xea\xc8\xeb\xbc\x62\x2f\x5a\x10\xe4\xb3\x02\xf3\x5e\x14\x55\x83\x15\xf1\x8b\x0a\xf1\xe6\x4a\x1c\xe4\x9e\x23\xa4\xcd\xe9\xcc\x45\x30\xcc\xf4\x44\xab\xc2\x71\x3f\xc6\xbd\x65\xe0\x0c\x72\x69\xde\x6f\x13\x7b\xb7\xa5\xd8\x3b\x22\x60\x93\x88\xb4\xe3\x2c\x53\x2f\x46\x8a\x72\x6c\x8b\x19\x4b\x52\xa7\xc5\x6c\xad\x78\xcb\xf7\x9d\x16\xf5\xcf\x69\xee\xe1\x8e\x2f\xcd\x66\x91\xb2\x8e\xe9\x15\x89\x66\x24\xa7\x8c\x9e\x96\x69\xae\x0f\x5f\x70\xdb\x12\x2b\xb1\x6e\x23\x95\x2b\x57\x97\x4e\xb3\x4f\x3f\x8c\x54\xb9\x23\xb4\x1a\xfc\xf6\x32\xf8\x25\x2a\x18\xb0\xf5\xb6\x40\x79\xc5\xac\x77\x0c\xca\x85\x4b\x3a\x94\x0f\xb7\x3c\xa1\xb2\xa2\x61\xe9\x46\xc3\xec\x6c\x1c\xa6\xc1\x4b\x7a\x45\xa3\x53\x5c\xbd\xe5\x78\x83\xa6\xc0\x13\x12\xa4\x63\xc5\x2d\x30\xe1\x0d\x95\x8f\x0c\x96\xb4\x7f\x4f\x53\x74\x85\xf6\x8c\xcd\x27\x1d\x8a\x4c\x31\x80\x9d\x5b\x6b\x80\x86\x5d\x2c\x55\x0e\x28\x8b\xc9\x62\x02\x33\x86\x59\xe4\x2e\x26\xa9\x5b\x8b\x54\xb2\x6c\x85\x5e\xb1\x98\xde\xb8\xe0\x86\xcd\x59\xaf\x74\xb0\xcf\x7b\x3a\xdf\x07\xbd\x0f\xae\x57\x49\x8a\x23\x8c\x6c\x4e\x42\x2d\x5b\x93\x84\x07\x8c\xcb\x0a\x2e\x3e\x8f\x1f\x43\x0b\xd0\x09\x8e\x44\x32\xa1\xcd\x13\xa4\xff\xce\xe3\xc7\xd0\xe1\x29\xd2\xe9\xe7\xf1\x63\xe9\x7e\x65\xf8\xd5\xbd\xa7\xf3\xc3\xc2\xe1\x20\x7a\x3a\x3d\x2c\x3f\xae\x60\x20\xe0\xda\x3c\x37\x45\xce\x2d\x70\xcf\x4e\x57\xf2\xb4\xb2\x3d\xce\x96\x83\xed\x1f\xbd\xb4\x01\xb8\xe2\x98\x3f\xfa\x02\xfd\x91\xce\x92\xff\xd2\xf1\x18\xc4\x67\xe8\xd7\xf3\xb3\xa2\x6b\x8e\x21\xc0\xa5\xbd\xae\xaa\x8e\xb7\xb7\xf7\xef\xd8\xee\xe1\xc9\xe7\x68\xb7\xf3\xe0\xae\xed\x1e\x9d\x1e\x7e\x8e\x86\xb7\x1f\x94\x87\x5a\xc9\xd1\xa7\x0d\x74\x1b\xdd\xab\x35\x34\xd8\x80\x76\x9d\xe5\xf4\x1d\x1c\x50\x9a\x86\x96\xc1\xde\xee\xd7\xaa\x7c\x39\x2d\x14\xc5\xf1\x9d\x76\x02\x25\x7e\x1d\x9e\x2e\x84\x3e\xa8\xc1\xfe\xb2\xe6\x77\x5d\x9d\xb8\x5d\xc0\xc1\xf6\x11\x46\xe9\xd5\xd5\x4f\x22\xf5\x9b\x22\x32\x2b\x5d\xc4\x5a\x7d\x24\x17\x83\x77\xb2\x95\x43\x83\x7c\x69\xb6\x3a\xfc\x2c\x6c\x75\xf8\xc5\xd8\x6a\xb8\x0a\x5b\xb9\x3a\xf1\x8b\xb1\x55\x11\x99\xcf\xcc\x56\x8b\xc1\x3b\xd9\xca\x31\xd1\x7e\x69\xb6\xea\x7d\x16\xb6\xea\xad\xc6\x56\xcb\xd8\xc3\x85\xcc\x2f\xc6\x1e\x45\x64\x3e\x33\x7b\x2c\x06\xef\x62\x8f\x9d\xd6\xdf\x9e\x3d\x9e\x7d\x16\xf6\x78\xf6\x79\xd8\xc3\x85\xcc\x2f\xc6\x1e\x45\x64\x3e\x33\x7b\x2c\x06\xef\x64\x8f\xdd\x32\x7b\xdc\x33\x17\x0a\x5f\x7f\x0d\xf7\xf4\xa2\xe0\xd3\x18\xa6\xf3\xd3\xdd\xf1\xdb\xfb\x62\xec\xbb\x5d\xc5\xbe\x8b\xb1\xfc\xe4\x41\xda\xbe\x3b\x15\xb6\x17\x52\xe1\x4b\x88\xf0\xf3\xaa\x9b\xc6\x15\x52\xf1\x09\x32\xe1\x6a\xea\x13\xba\x54\x04\xe7\xa4\xa7\x83\xeb\xbf\x2c\x3d\x8f\xff\x76\xf4\x74\x35\xf5\x09\x5d\x2a\x82\x73\xd2\x73\xfb\x63\x17\xc7\x96\xd3\xd8\xa6\x57\xb5\x85\x0e\x9f\x5f\x0c\x77\x3f\x42\x0c\x77\x3e\x4b\x37\x1d\x6e\x9b\x5f\xa8\x8f\x7b\x77\xef\x63\xbb\xdd\xf9\xdb\x1b\x0c\x6f\xbf\xa8\xc6\x7d\xb3\x18\xbc\x9b\x0a\x0e\x8e\xfe\xd2\x54\xf8\x17\x5f\x96\x0a\x8b\xc1\xbb\xa9\xe0\x60\xf8\x2f\x4d\x85\x93\x2f\x4b\x85\xc5\xe0\xdd\x54\x58\x38\x5b\x7c\x19\x2a\x9c\x7e\x59\x2a\x2c\x06\xef\xa6\xc2\x97\xb3\xc4\xda\xbb\xbf\x90\x29\xd6\xfe\x88\x49\xa0\xdd\xfe\x82\xdb\x83\x0f\x7e\x29\x42\x3c\xf8\x18\x42\x7c\xc1\x9d\x87\x87\xbf\x14\x21\x1e\x7e\x0c\x21\xbe\xe0\xce\xde\xa3\x5f\x8a\x10\x8f\x3e\x82\x10\x9d\x2f\xb7\xd9\xd0\x69\xfd\x42\x84\xe8\xb4\x3e\x86\x10\xed\x2f\x47\x88\xca\x39\xe3\x4b\x13\xa2\xfd\x31\x84\xf8\x72\xd6\x64\xe7\x97\x5a\xc0\x77\x3e\x62\x05\xdf\xee\x7c\x39\x83\xb2\xb3\xf3\x4b\x11\x62\xe7\x4e\x84\x10\xc1\x89\x9d\x6b\x28\x79\xe8\x2c\xb6\x9b\x8a\xdb\x4f\xe2\x90\x5a\xfc\x12\xe7\xd1\x2e\xaa\x09\x70\xe2\x50\x1a\x9e\x74\x61\x6f\x97\x55\x33\xd2\x1e\x77\xe1\x51\xc9\x1f\xdc\xd9\x79\x47\xf8\x1a\x13\xf8\x26\xec\xed\x38\x6e\xda\x97\xe3\x9d\xa8\xc5\xbe\x51\x19\x03\xfe\x38\x1f\x6f\x5c\x09\x0d\xd7\xeb\xef\xab\x35\xfc\xa4\x0b\xbb\xed\x32\x49\x76\x77\x3f\x0f\x49\x76\xdb\xb0\x01\x9d\x07\x9f\x44\x97\xdd\xbd\x8f\xc6\xa5\xfd\x89\x4d\x77\xda\x8f\x3e\xba\xed\x4f\x6d\xba\xf3\xf1\x5c\xd9\x79\xf8\x89\x4d\x3b\x1f\xa6\x5c\xad\xe9\x47\x4b\x9b\xae\xd8\x60\xbf\x57\x3e\x2f\x14\x7c\x69\x8b\x7b\x41\x37\xfc\xad\xa4\x7f\x81\xea\x5b\x22\x05\x1b\x4c\xb2\x3f\x65\x3c\xda\x8f\x56\xd3\x0c\x8b\xb4\xf3\x9f\x96\x9e\x7b\x54\x61\xf0\xa4\x0b\x3b\x0f\x1d\x1a\xc2\x19\xfa\xf4\x2e\x38\xd9\x9a\x62\x67\x39\xcf\x2e\x3a\x99\x29\xf1\x4d\x79\x9e\x30\x18\xe7\x4e\x7c\xc3\x86\x60\xaf\x52\x1f\x1a\xce\xa6\xc2\xb7\xf4\x2e\x9d\x30\xe6\x44\x71\xaf\x5b\x86\x4b\x67\x34\x5c\xe0\x3e\x3f\x42\xcf\x3d\xcb\xa3\x6c\x64\xf9\xbf\x8e\x22\x51\x60\x64\xf8\xb9\xe1\x7b\x26\x54\x39\x57\x8a\x9f\xd9\xf9\xe8\x62\x51\x53\x87\xaa\x96\xd1\x58\x03\x44\x6d\xfb\xfa\x84\x86\x08\x5d\x59\x42\xbb\x69\x5a\x98\x75\xbb\x50\xbe\xf5\xae\x31\xb4\x2a\x57\xb9\x4b\xcb\x77\x41\x17\xb8\xd6\xbd\xa7\xf3\x02\x02\x7f\x3b\xff\xdd\x62\x9c\x10\x69\xde\x08\x2d\x61\xc2\xe1\xe2\x62\x64\x3a\xfd\x50\x55\xc0\xb7\x2e\x8f\x0d\xe7\x84\x20\x18\x77\x31\x80\x7b\xf2\xa2\x9c\xd1\x64\xf9\x2a\xbc\x82\x89\x95\x4a\x10\x97\x93\x01\x35\x3b\x83\xf2\xe1\x03\x78\x9e\x96\xc9\x0f\x96\x73\xe1\x87\x0f\x96\x48\x32\x81\x5d\xe4\xa0\xba\x0a\xfd\xab\xa7\x28\xed\xdd\x69\x3b\x8e\xca\x87\x68\x1d\x6e\xa3\xa6\x73\xe9\xdd\xbd\x4a\xcb\xee\xa4\xe8\x78\x56\x25\x70\x78\xf1\xcf\x7d\xa1\xcc\xe9\x34\xad\x27\x4f\x0c\x58\x62\x12\x67\xf5\xab\x73\x12\x57\xfc\xc1\xe1\x1c\x94\x4b\x61\x86\xf1\xd6\x2e\xf0\xeb\x75\x8e\xf8\x03\xbc\xe4\x06\xbf\x01\x5a\x19\xf0\x9f\x56\x78\xf0\xeb\x2e\x5d\x85\xd9\x8c\x44\xcf\x68\x14\xd5\x0b\x43\x7e\x50\x4d\x11\x3e\x66\xf2\x69\xc9\x7c\x1e\xd1\xe6\x20\x49\x03\x9a\x1e\x26\x11\x06\x42\xa9\x5d\x8f\xc3\x5c\xbe\xe8\xb1\x94\x48\xfc\xad\xb3\x45\xe0\xf4\xd3\xc3\xed\x56\xf1\xae\xf5\x34\x99\xbe\x89\xed\x0e\x60\xba\x0a\xc9\xe6\xa6\x4d\x94\x8c\x96\x90\x26\xa0\x83\xd9\xc8\x4d\x15\xf3\x6a\x00\xbe\x83\xda\x14\x57\xf1\x98\xa4\x39\x33\x58\x7b\xd5\x14\x26\xe9\x88\xa9\xd8\x5e\x9a\x92\xb9\xc9\xab\x51\xe8\xd3\xa6\x4f\xa2\xc8\x93\x0f\xd9\x58\x2f\x44\x39\xda\x10\x01\x3f\x5d\xd9\x0d\x6c\xa6\xda\xad\x3a\x4d\x97\x06\xb1\xf9\xbc\x24\xc1\x16\xbf\x38\x51\xb0\x95\x8f\x27\x4b\x4a\xb3\xf0\x2f\xb6\x6b\xf9\x4d\x03\xe6\x26\x6d\xc2\xec\x35\x79\xed\xdd\xd4\x59\x4f\xf9\xf7\xb9\x43\x85\x16\xb5\xf6\x5c\x86\xa3\x18\xd1\xfc\x0d\xde\xeb\x92\x91\x1f\x06\xc4\x7f\x5f\xab\x3b\xee\xf5\xbb\xca\x31\x5c\x4c\xd0\x78\x33\x3c\x8c\x69\x03\x68\xd4\x80\x90\x5f\x07\x1f\x37\x80\x04\xc1\x59\xf2\x47\x3d\x56\x37\x3a\x0c\x8d\x9f\x44\x78\x95\x7f\xae\x93\xf0\x81\x84\xa5\x5d\xb8\x81\xc7\x66\x00\xee\x1b\x1d\xbc\x88\x77\xd0\xca\x9d\xeb\xdc\x77\x60\xb4\xac\x2b\xbc\x83\xc7\x70\x63\x79\xb6\x8f\xa1\x0b\xe7\x82\xf3\x86\xbd\x3c\x4f\x1b\x50\x83\x5a\x03\xda\x46\xe4\xdd\x10\x1c\xd1\x74\x74\xb6\xb8\x78\x1f\x6e\x6e\x16\xf5\xb2\xc8\x31\xea\x8e\x68\xee\x85\x75\x79\x7f\xba\x80\x8c\x35\x16\x56\xf9\x65\x4f\x11\x94\xe2\x15\x21\xc1\xbb\x70\x63\x4e\x71\x34\x9f\x4d\x4f\xf3\x64\x9a\x79\xaa\x48\xbd\x40\x2d\x7c\xf4\x0f\x93\xf8\x60\xea\x30\x23\x92\x7a\x96\xb9\x5d\x7a\xcc\xa5\x44\x94\x77\x1b\x1b\xc5\x4a\x50\x19\x0a\xea\x31\xcc\x55\xcc\x96\x62\x00\x95\x52\x4d\x7e\xc5\xe9\x89\x11\x2a\xc0\x86\xe5\x0a\xad\x34\xe7\x2f\x14\xb1\x8e\xe1\x8e\xda\x82\xf5\x80\x33\x70\x90\xfc\x70\x18\xc5\x60\xdd\x65\x14\x45\x48\x98\xca\xe5\x29\x54\x06\xa0\x32\x3f\xe5\x45\x5e\xc5\xb2\x6f\x41\x77\xaa\x43\x3d\xb9\xde\x94\x58\xb4\xde\xd1\x36\xb8\x7c\xc2\x5c\x8f\x5e\x25\x33\x97\x9e\x8c\x2c\xc3\xbe\xad\xb6\x4c\x25\x2f\x6d\x6e\xc2\x93\x55\x79\xe9\xc9\x5d\x78\xa9\x50\xd3\xcd\x38\x8b\xf9\x45\x10\x38\x99\x2e\x5f\x3f\x3a\x7a\x58\x02\x67\xc5\x1b\x73\x97\x60\x2c\xe3\x2a\xf1\x51\x83\xe7\xa0\x2b\x58\x02\xae\x2a\x94\x02\x85\x98\xb0\xef\xd1\xa8\xe2\xb5\x93\x24\xce\xc3\xb8\x78\x59\x83\x37\x51\x15\x6e\x90\x46\xab\xeb\x3b\xf4\xbe\xe9\x42\x71\x9d\x38\x87\x27\x5d\xbb\x67\x22\xb9\x0b\x73\xed\xac\xa3\xa7\x1b\x2e\xd8\x8e\xf2\x1b\x5d\x6b\x7a\x2b\x84\xc6\xb8\x61\xcd\xdc\x94\xaa\xb1\xd9\xea\xa6\xd8\x8c\x75\xed\x72\x5a\x78\x3d\xd8\x0c\xde\x65\xe3\xa8\x96\xd6\x8b\x9e\x1d\x5d\xe5\x95\x45\x1e\xc6\x16\xba\x46\x48\x71\x61\x23\x24\x13\x9a\xa7\x73\x35\x1f\xf2\xc7\x8c\x14\x9c\x8b\xd2\x62\x8a\xdb\x2d\x85\x77\x83\xf9\x12\x8f\xd5\xdd\x87\x1b\x8c\x04\x93\xed\xc3\x7c\x41\x78\x4d\x23\x70\x89\x65\x02\x59\xf6\xcf\x5c\xbd\x4a\x6b\xc4\x2d\x29\x58\xe3\x85\xc8\x2c\xf3\x83\xb2\x1d\x64\x84\x38\x71\xd6\xe5\x11\x5b\xe6\x55\xa8\x4e\xc8\x4d\x19\x4f\x6b\xf3\xa4\x80\x43\xab\x3c\x36\x46\x50\x18\xed\x31\x56\xb9\x71\x23\x26\x6c\x3b\xc8\xa2\x65\x18\xca\x10\xf3\xc5\x6b\xc0\xdc\x1e\xce\xc9\x20\x3b\x0f\x2f\x4a\x2a\x53\xc5\x9e\x49\xe9\x15\x6b\xc1\x19\x8e\x12\x2a\x02\xad\x30\xa0\x46\xd8\x52\x09\xd0\x8a\x47\x56\x7c\x4d\x18\xcd\x30\x08\x99\x1c\x15\x2d\xd2\x9c\x0c\x18\x0a\xdf\x87\x41\x3e\x76\xd8\xa4\xa2\x0b\x85\xab\xbd\x6e\x8a\xc9\xee\xd8\xb6\xb4\x49\xaf\x1b\xb5\xed\x62\xd9\x94\x5c\x5c\x39\x70\x31\xdb\x18\x04\xdc\xdc\xbc\xb9\x60\x56\xc6\x0d\xce\xe5\xaa\xa2\xb5\x21\x70\xa3\x02\xcc\xb1\xae\xaa\x32\x4f\x0d\x73\xcc\x8c\xf0\xbf\x0f\xcc\xb2\x6d\x89\xe0\xfb\x37\x55\x2c\x10\xd3\x9b\xfc\x0b\x74\x68\x63\x43\x76\xc8\x18\x9e\xbf\x69\xc7\x68\x4a\x32\x7a\x82\x8f\x0a\x56\xad\x7b\xe4\x32\xc3\x36\xbe\x99\x41\x6c\xcd\xcf\x73\xf3\x2e\x3d\x2b\xb3\x78\x51\xc1\xa0\x1a\x46\x3f\xe2\xc1\xcc\x7e\xaf\x5e\x30\xfc\x05\x07\xdf\xd8\x1c\x7c\x63\xc7\x78\x65\xed\x9d\xdf\xf0\x8d\xd2\x92\x92\x37\x43\x32\xcd\x17\x2c\x8a\x49\x46\x5f\xd2\xe1\xaf\x96\x10\xea\xa5\x1a\xc1\x47\x37\xf6\x3a\xe7\x33\x90\x00\x63\x46\x54\xee\x0b\x18\x9d\xb4\x43\x83\xcd\xcb\x91\xc0\xca\xdd\x34\x28\x96\xd1\x5c\xcd\x8c\x15\x34\xe4\x3f\xea\xe6\x7c\x69\x07\xab\xb5\xa6\xe3\x42\x24\x46\x13\x51\x3b\x4d\xff\xb6\x22\x08\xb7\x57\x7a\x6e\x7d\xb9\xe9\xbe\x5a\xcc\x46\xf8\xf8\x48\xa0\x9c\x47\x39\x0b\x3a\x66\x68\xcd\x40\x28\xd1\xac\xf1\xea\xc1\x56\xe8\x17\xc2\x3a\xa5\x66\x40\x58\x83\xf3\x49\x9e\xf3\xe8\x4d\x69\x51\xf7\x18\x2c\x6b\xa8\x1f\x73\x2d\x7f\x50\xe0\x74\x62\xae\xef\x1b\x52\xa8\xce\x2f\x1a\xe6\x04\xc6\xf7\x5b\x0a\x98\x48\x4e\x6f\xaa\x1c\xe8\x6a\x7c\x57\x98\xf9\x1c\x7a\x23\x2c\x0b\x8d\xd0\xb9\x2c\xbb\x52\x58\xc6\x45\xc2\x15\xa2\xbe\xd8\x94\xaa\x96\x6e\x83\x66\x55\x1b\x20\x15\xa1\x0c\x6d\x7b\x84\xd9\x7e\xe6\x80\xc5\x64\xa2\x54\x15\xcb\x7b\x4d\x26\xd4\x9a\x51\x3c\x2c\xb1\x01\xb5\x5a\xbd\x19\xc6\x01\xbd\x79\x33\x14\x40\x50\x9e\xab\x9a\x75\x45\x46\x37\x77\xd6\x4b\xa1\x31\x83\x30\x23\x83\x88\x9e\xe6\x41\x18\x2f\xdf\x69\x32\xa4\xb7\x3a\x6e\x8a\x65\xbc\xdb\x31\x53\x4a\x61\x2e\x18\x6e\x35\xf1\x20\xd2\xe2\x3e\x9d\x85\x79\x64\x8b\x43\xce\x52\x6c\xf1\x42\x98\x98\xce\x64\x16\xf3\x2b\x07\x88\x11\xb5\xda\x48\x9d\x9b\x71\xac\xe5\x32\xa9\xbc\xfe\x28\xaf\x82\xcc\x0d\x0a\xa3\xb8\xe7\x8e\x17\x68\x1b\x0e\xe5\xc5\x91\x84\x56\x1d\x42\xfe\x8a\xa6\x19\x7d\x51\xd9\x19\xc6\x6c\xef\x4a\x3d\x51\x1b\x8c\x3a\x5c\xb2\x5b\xa3\xe2\x42\x56\x3c\xe1\x9c\x79\x6a\x99\xaf\xf9\xa0\xa0\x42\x1b\x50\x8a\x38\xae\xe7\x95\xea\xea\x5a\x5d\x63\xc8\x91\xa5\x71\x1b\x8b\x51\x9e\x97\x95\xb4\x22\x3d\x57\x1b\xed\xf3\xe5\xe4\x2e\x1e\x10\x5b\x4c\x23\x85\x4a\x2c\xb4\x0b\xbb\x85\x56\x11\xb1\xf7\xa8\xb5\x9f\xd6\xc2\x15\xa1\xf9\x78\x51\x77\x7c\x3e\x5d\x57\x45\x50\x7a\x11\xe7\x34\xbd\x22\x7a\x6f\xa2\x9c\xc5\xeb\xa9\x6e\xe2\x5e\x3e\x5f\x9a\x9a\xa8\x5a\x9b\xfa\x77\x0b\x1b\x68\xd4\x73\xe1\x55\x89\xd2\xca\xb3\xb4\x7a\xce\x22\x9b\xc7\x3e\x8f\xe8\xdc\x4b\x29\xa9\x3e\x6e\x62\xeb\xa8\x45\x23\x88\x96\x3f\x17\x3d\xbd\x9a\xba\x3d\x58\x53\xc5\xc5\x1b\x1d\x0c\x98\x11\x10\xce\x27\xd3\x7c\x96\x52\xeb\xa4\x86\x1f\x98\x84\x19\xfe\xeb\xd1\xa8\x5e\xda\x14\x3e\xa7\xd1\x85\xcd\x92\xcd\x61\x92\x1e\x11\x7f\x6c\x9c\xd0\xc9\xa7\x24\xac\xca\xfc\x8c\x8e\x04\xfc\x29\xda\x97\x61\x96\xd3\x98\xa6\x9e\x1b\x2b\xf8\xf0\x41\x9c\xe7\x8b\xc6\x18\x75\x8c\x1e\x0d\x87\x2b\x74\x89\x46\x62\xdb\xe9\xae\x2d\x1a\x2d\x19\x91\x85\x86\x49\xea\xd3\xf2\xc1\x16\x2f\xc1\x5f\x33\xc1\xe3\x71\xab\x9c\x7b\x5e\xa2\x57\xb8\xa4\xa5\x71\xde\xe7\xae\x96\x52\xd5\xd2\xab\x66\x96\x27\xd3\xb7\x69\x32\x25\x23\x22\x23\xad\x41\xe9\x30\xdd\xc0\x30\x8c\xc7\x34\x0d\xf3\xcc\xc3\x9d\xbc\x06\xf0\x4d\x37\xd9\xbe\x2a\x36\xf4\xca\x0e\x1d\x49\x9c\xe5\xe9\xcc\xcf\xf1\xf0\x0e\xab\x5b\x06\x8f\xe6\x41\xe8\x0a\xb0\x3a\x89\x97\xc4\x4a\x56\xb9\x98\x5e\xc3\xb0\x80\x20\x37\x05\x92\xc1\xbb\x06\xe8\x78\x54\xd2\x58\x4e\x06\xef\xac\x93\x17\xf7\xa9\x0b\xa3\x77\x32\x78\x87\xb6\x55\xb7\x0b\xc5\xed\x48\x41\x9d\xd0\x61\x73\x6d\xb6\x6d\x6c\xca\xce\x0b\x34\x9d\xa0\xdb\x80\x81\x58\xae\xca\x7c\x2b\x22\x66\xd0\x74\xf2\x09\x1e\x70\x1f\x3e\x28\x74\x4b\xa0\x4e\xbf\x0f\xe3\x80\x29\x8a\x22\xc0\x6a\x78\x96\xcb\x0a\x27\x7c\x17\xb4\xa3\x84\x2b\x6c\x97\xd9\x21\x07\x95\xec\x0e\x7f\xfd\x35\xbf\x5c\x2e\xfd\xac\xb8\x13\x88\x72\x3b\x83\x9d\x07\x28\x25\xce\xad\xb4\xdc\x1f\xcb\xc3\x77\xfd\xc3\xd0\x46\x3a\xd1\x4b\xdb\x0d\x18\xb5\x1b\x30\x68\x9b\xb4\x1f\x13\x7c\x5f\xc6\x4b\xdb\x18\xeb\x6a\xaf\x0e\x1f\xc0\x1b\xe1\x8f\x87\xec\xfb\xc0\x38\x28\xd4\xc0\x9a\x97\x3e\xf1\xc7\xf4\x9c\xd5\xbe\x70\x6d\x9e\x99\x61\x2c\xcb\x35\x4a\xe7\xa0\x41\x38\x1c\x42\x17\x5e\xc4\xc3\x30\x0e\xf3\x39\x5b\x54\x40\x17\x36\xdb\x2a\x56\xb6\xdf\x80\xb4\xd3\x80\x51\xa7\x01\x83\x4e\x03\x58\xf9\x83\xe2\x42\x41\x11\xe8\xca\x67\x2d\xaa\x23\xc6\xe2\xb2\xc1\x87\x6e\xa9\xec\x79\x68\x9c\x54\xa6\x1d\x26\xa1\xe7\x2d\x23\x69\xc4\x93\xcc\xf3\xcc\x01\x4f\xea\x18\x49\xa2\x1b\x46\xaf\x83\x30\xcb\x99\xca\x32\xa8\x6f\xf6\xa4\xf0\x44\x1b\xaf\xef\x0a\xcc\x8d\xf4\x08\xed\x8d\xfc\xca\xc7\x0b\x15\xa8\xc7\x9c\xb2\x25\x60\x02\x4f\x4d\xc5\xaa\x66\x6e\xcb\xbc\x5b\xc5\x04\x5d\x88\x42\xc6\xa6\xa5\x7c\xb1\xc9\xe9\x20\x8a\x1d\xb2\xd5\x4d\x20\x7b\x55\xf6\x8a\xe4\xe3\xe6\x34\xb9\xf6\xb6\x5b\x70\x1f\x99\x76\x13\xd2\x4e\xbd\x61\xbe\x0f\xbd\xa1\x4b\xed\x3e\x62\xa5\x46\xac\xd4\xa8\xba\x54\xbb\xcd\x4a\x0d\x58\xa9\x01\x2f\x65\xcf\xe8\x94\xcd\xb7\xa8\x4f\xc3\x1c\xe7\xb0\x24\x36\x27\x26\xa6\x52\xc5\xac\x5c\xf4\x91\x00\x23\xcf\xd3\x95\x1d\x9b\x18\x2d\xce\xc2\x86\x7a\x2e\x72\x2d\xab\xce\x2d\x30\x3f\x89\x1b\xc0\xd5\x33\x3a\x0e\x24\x83\x77\x3a\x6c\xbe\x46\xfb\x9a\x64\xaf\x92\x98\xdf\x7d\xf8\x96\xce\xdf\xc4\x11\x37\xbe\x0c\xb7\x40\x81\x65\xd1\xcd\x76\xcf\xd4\xa0\xc5\xcc\x07\x8b\x32\x1f\x5a\xda\xff\x3d\x9d\x67\x8c\x3c\x26\xb5\xde\x0c\xde\x51\x1f\x9d\x62\xb3\x12\xb5\x8c\x3c\x4f\x77\x4a\xf8\x2e\xa2\xc3\x59\x66\xbc\xe6\x8b\xf4\x7b\x4f\xe7\x10\x22\x9d\x8b\xf3\x97\x00\x66\x45\x94\x7d\x73\x1d\xb3\xc9\x9e\xa6\xf9\x9c\x93\x12\x47\xf5\x3d\x9d\x97\x82\xd8\xb2\xb6\xf8\x6e\x91\x76\x5a\xab\x10\x08\x56\xd4\xd2\xcf\x48\xe5\xa3\x49\x98\xe7\x68\xfa\x9a\x3f\x2f\xdb\x56\xae\x61\x81\x4a\xc3\x82\xc9\x9f\xf8\x6a\xe4\x62\xf0\xd8\x24\x36\x53\x50\x82\x13\x26\xc0\x86\x7d\x2e\x02\xba\xf1\x2f\x07\x6b\x93\x24\x98\x45\xb4\x49\x6f\x98\x09\x9c\x19\x6a\xef\x60\x6d\x6d\x6b\xeb\x2b\xc8\x92\x59\xea\xd3\x57\x64\x3a\x0d\xe3\xd1\x77\x27\x2f\xbb\x37\x38\x5d\xbe\xcb\x9a\x13\x32\x5d\x5b\x5b\xdb\xba\x7f\xff\xfe\x16\xdc\xd6\x1b\x6b\x5b\xf7\xa1\x0d\xf7\xb7\x44\x8a\xb2\x3e\x3d\xde\x42\x03\x44\x13\x0d\xb8\xbc\xbc\xa6\x83\x29\xf1\xdf\x5f\xa6\xf4\xcf\xb3\x30\xa5\x97\x97\x8c\xb6\x6b\xeb\xb3\x8c\x42\x96\xa7\xa1\x9f\xaf\x1f\xac\xad\x89\xd1\xe1\xe1\x19\xe5\x98\x78\x0a\xca\xfa\xe5\x25\xcd\x5e\x21\xec\xf5\x06\xfc\x08\x57\x24\x9a\xd1\x7d\xb4\xb6\xd1\x3a\x3d\x58\x63\x5c\x51\x20\xb4\xc3\x6b\x4d\xa5\x98\x45\xcb\xb6\x99\x7e\x45\xce\xfa\xf9\xe1\x83\x3a\x9e\xe1\x23\x6e\x42\x31\x38\xab\x10\xda\x97\x9b\xbc\x91\xb0\x80\xab\x1a\x3b\x67\xc5\x2e\x0a\x4d\x8a\xc4\x0f\x1f\xac\x37\xab\xcb\x25\x38\x6b\xaa\x26\x04\x8e\x07\x0b\x91\x44\x86\x59\x05\x4b\x6d\x6d\x5b\x6d\x16\x45\x64\xf1\xd3\xdb\xc9\xe0\x9d\xb3\x6f\x07\x56\x29\x97\x49\x0a\x0b\x9d\x81\x0a\xa6\xa9\xc4\x9f\x91\x8c\x27\x37\x55\x92\x99\xef\x3a\x96\x67\x0d\x8b\xf7\x40\xc2\x46\x29\xae\x86\xab\x8b\xe0\x3a\x3e\x5f\x48\x75\xbe\x24\xea\x45\x91\x5c\x10\x65\xa5\x41\x28\x92\x7e\x39\xe5\x03\x1a\xd1\x9c\x2e\x24\xee\x2a\xb8\x25\xc5\x29\xb8\x9a\x25\xcc\xd5\x6d\x11\x9b\x8f\x73\x01\x94\x1f\xbe\x91\x30\x1c\x8a\xc6\xad\xd7\xd8\xc1\xdc\xcb\xe5\x48\x19\xfe\x81\xca\x1f\xb0\x3c\x32\x49\x6c\x70\x81\xaa\x7b\xe0\x30\xd3\xb3\x66\x12\x17\x9b\x5e\x4c\x35\x3a\x09\xf3\x85\x63\x68\xd0\xc3\x14\x62\x35\xdd\x5f\x8a\x43\x8b\x4b\x36\xe1\x2b\xb2\xa8\x69\xff\xd2\xf1\x00\x22\x03\x77\x7e\x19\xc2\x26\xb4\x99\xc6\x50\x95\xce\x2f\xc3\xd2\x98\xc3\xdf\x4e\x82\xef\x68\xc1\x00\x97\x39\x26\xa3\x4b\x47\x71\xf1\x18\x44\x2b\x09\x93\x39\xca\x95\xfa\xf5\xd6\x5a\xf0\xdb\x93\xf3\x2d\x9e\x0d\x89\x49\x69\xd1\xb4\x5e\x35\x9d\x5a\xe8\xbb\x67\xd5\xce\xaf\x68\x56\x65\x43\x79\xd8\x3a\x58\x33\x26\xd2\x43\xb5\x12\x39\x6c\x35\x5f\x7f\xf7\x12\xba\x50\xfb\xe1\xa6\xd5\x12\x8e\xde\x87\xad\xe6\xe9\x9b\xe7\x22\xb1\x6d\x24\x9e\xfd\x41\x24\x76\x74\xe2\x91\x4a\xdc\x36\x12\xdf\x9c\x89\xc4\x1d\x23\xf1\xf5\xbf\x10\x89\xbb\x3a\xb1\x77\xf8\xad\x48\xdc\xd3\x89\xcf\x8e\x24\x4a\x0f\x8c\xc4\x53\x91\xf6\x50\xa7\x3d\x97\xcd\x3c\xd2\x69\x2f\x8f\x45\x1a\xd1\x69\xbf\x97\xe5\x06\x3a\xed\x58\x96\xf3\x75\xda\xe1\x89\x48\x0b\x4c\x52\x88\x34\x6a\xa4\xbd\x10\x69\x43\x9d\xd6\x7f\x79\xc4\x13\xdb\x06\x1d\xfb\x87\x6d\x91\xd8\x36\x13\x3b\x22\xb1\x63\x26\x6e\x8b\xc4\x6d\x33\x71\x47\x24\x1a\x74\x7c\xdd\x13\x24\x6b\x1b\x74\x3c\xfd\xe3\x6b\x91\xb8\x67\x8e\xcd\x33\x91\x68\xd0\xf1\xb0\x27\x4b\x1a\x84\x3c\x7a\x25\xd2\x0c\x42\x9e\x7e\x27\x6b\x1b\x94\x3c\x3a\x3d\x14\x89\x26\x29\xc5\xd0\xb4\x0d\x52\x7e\x23\xd3\x0c\x52\x9e\xc8\x34\x83\x94\xdf\xc9\x34\x83\x94\xa7\x6f\x79\x5a\xc7\xa4\xa4\xe4\x89\x07\xac\xe0\x6d\xdd\x3b\x6c\x41\x57\xca\x52\xf3\xb0\x85\x57\x70\x8c\x9f\x6c\x7d\x5a\x47\xa3\xb2\x42\x8a\xed\xab\x7b\x15\x82\xbc\xfd\x2b\x12\x64\xd5\xb9\xe7\xbd\x93\xd3\xa3\xb3\x53\xb1\x04\x97\xc9\xfd\xa3\xe3\xde\x77\x2f\xcf\x2e\x45\xb6\x49\x1c\x51\xe1\xbc\xf6\xac\x76\x51\x86\x73\x5e\x6b\xd5\x2e\x54\x70\xf6\xda\x9f\x6a\xfb\x50\xfb\x61\xd6\xd9\xf5\xf7\x6a\x3c\x00\x7b\x8d\xc8\xa4\x47\x1d\x99\x34\xe0\x49\xad\x56\xeb\x91\x4c\xf2\x55\x92\x2f\x93\x02\x95\x14\xc8\x24\xaa\x92\x88\x4c\x1a\xca\xa4\x41\x4b\x26\x8d\x54\x52\x5b\x26\x8d\x05\x12\x3b\x9d\x1d\x99\x14\x2a\x58\x03\x99\xf4\x4e\xa2\xda\x7e\x28\x93\xde\xab\x24\x05\x3e\x92\x49\x1a\xd5\x89\x2a\xa5\xc0\xc7\x32\x69\x5b\x95\x4a\x44\xd2\xf6\x40\x61\x3f\x55\x49\x0a\x89\x3f\x2b\xf0\xaa\xc5\x54\x95\x52\xb0\x32\x95\xa4\x88\x93\x2b\x24\x54\xa9\x99\x4c\xd2\xdd\xbe\x52\x78\xa9\xa4\x6b\x55\x4a\x55\xbc\x51\x48\xa8\x41\x9b\x8b\xa4\xce\x9e\xaa\xf8\x17\x95\xb4\x2b\x93\x7e\x14\x54\xdd\xf6\x15\xf6\x1f\x54\x29\x95\x74\x2b\x69\x4f\xb6\x65\xd2\x4f\x6a\xd0\x1e\xd4\xd6\x6e\x5d\x8c\xd6\x33\x19\xed\x2b\x56\xfc\xaf\xff\x63\x45\xd1\x67\x58\x94\x3b\x62\x96\x73\x77\x5c\x80\x04\x1a\xbf\xc5\x9f\xff\xaf\xfc\x79\xce\x7e\x86\xef\xe4\xcf\x1f\x7e\xc0\xec\xff\x47\xfe\xbe\x60\x3f\x3f\x58\x7d\xff\xeb\xbf\xb1\xfa\x3d\xb4\xba\xfc\xd7\xff\x68\x75\xf7\xaf\xff\xbe\x02\xff\x43\x86\x21\x16\x2c\xe7\xed\x1a\xd8\x6b\x1c\x7f\xfe\xcf\x6a\xfa\xc1\x03\x81\xe7\xcf\xff\xb5\x99\x86\xb8\xfe\xfc\x9f\x9b\x49\xff\x80\x49\xff\xca\x4c\x42\x01\xfe\xf9\xdf\x9a\x49\xd8\xad\x9f\xff\xb5\x99\x84\x5d\xfb\xf9\x3f\x98\x49\xd8\xbf\x9f\xff\x27\x33\x09\xfb\xf8\xf3\x7f\xac\x49\xab\xaa\xdc\x97\x93\x65\x23\xf1\xf3\x7f\x67\x8d\xc4\x5f\xff\x9d\x3d\x12\x3f\xff\xa3\x35\x12\x7f\xfd\x47\x6b\x28\x54\x37\x04\xbe\xff\x97\x35\x16\x3f\xff\x1b\x7b\x2c\xfe\x4d\xc5\x58\xfc\x0b\x13\x47\x17\x52\x3f\xff\x0f\x0b\x91\xfa\xf9\x7f\x91\x3f\x39\xb9\xff\x37\xf9\x93\x93\xfa\xdf\x7f\x3c\xca\x3f\xff\xdf\x15\x28\x7f\x5b\x42\x59\x53\xc6\xe6\x96\x22\xa7\x08\x94\xff\x95\x8d\xd4\xbf\xb6\x91\xfa\x0f\x36\x52\x36\x4f\xff\xfc\xdf\x56\x20\xf5\xc7\xa5\x52\xf7\x8f\x77\x19\x6b\x4d\xa9\x3f\xd9\x94\xfa\xd1\x1e\x22\x8e\xf2\xff\xb1\x90\x8e\xff\x6b\x05\xca\x47\x0b\xc4\x70\xaf\x28\x86\xbf\x2d\x8b\x21\xa7\xf5\x7f\xe1\x90\xcc\xff\xe6\x63\x25\xf3\x5f\x97\x25\xf3\x7f\x2e\x4b\xe6\xff\xf9\xc9\x92\xf9\x2f\xef\x3a\x5a\xff\x7d\x61\xb4\xfe\x2b\x5b\x32\xff\x3f\x5b\x49\xfe\x3b\x7b\x78\xfe\x77\x7b\x78\xfe\xb1\x62\x3c\x9e\x2f\x18\x8f\x07\xee\xf1\xf8\x2f\xcb\xe3\xf1\x4f\x52\x53\x76\x4b\xe3\xa1\x39\xde\xa9\x94\xfe\xed\xc7\x29\xa5\x4b\x5b\x3e\x9c\x3a\xea\x4e\xea\x80\xeb\x28\xb7\x19\x2d\xa2\x27\x54\xd9\xcf\x3b\x9f\x64\x3f\x6f\xdd\xbf\xbf\x06\xf7\xe1\xc5\x64\x2a\x5c\x91\x20\x1f\xcb\x47\x3a\x61\x42\xf3\x71\x12\x34\x20\x1f\x13\xf9\x00\x22\xe5\x05\xe4\x8d\x0b\xc8\x13\x20\xf0\x3d\x1d\x9c\x26\xfe\x7b\x9a\x33\x4b\x9c\x92\x49\x93\x81\xfc\x2d\xc7\x01\x70\x6b\x7c\x8b\x04\x41\x12\x67\x5b\x1c\x88\xf8\x07\x4b\x45\xa1\x4f\xe3\x8c\xc2\xab\x17\x67\x6b\xac\x27\xe6\x22\x9a\x17\xe3\x0b\x69\xdc\xe1\x4b\xf5\xed\xf4\xad\xfb\x9c\x31\xee\xc3\x61\x32\x99\x24\xf1\xef\x4e\x81\xc6\x57\x61\x9a\xc4\xac\x1b\x22\x6f\x0b\xff\x2d\xed\xe6\x73\xb8\x9e\x83\x26\x5e\x8b\xbb\x48\xdd\x1a\xd1\x41\xe6\x53\x9a\x0c\x81\x2f\x29\xf0\x04\x5b\x22\x58\x2b\xe3\x72\xc2\x01\x35\xdf\x65\x10\x66\x40\xae\x48\x18\x91\x41\x44\x2d\x74\x38\x24\xef\xbc\xd6\x6c\x6e\x35\x9b\x5b\x48\x9f\xda\x45\x43\x60\x65\x36\x5f\x84\xfe\x36\x22\x61\x0c\xe2\x50\xbe\xb2\xbb\xa2\x77\xd7\x78\x5e\xdf\x94\x27\x17\x1c\x2e\x5b\xd5\x69\xfa\xfe\x41\x3b\x4f\xd6\xf4\x3a\xaa\x76\xb0\xb6\xc6\x77\xb2\x34\xc5\xd8\x2a\x68\x8d\xa1\x82\xb8\xdc\x87\x9e\xc9\x0c\xa3\xf0\x8a\xc6\x16\x4b\xe8\xd4\x0c\xf9\xa2\x89\xb5\x78\xd5\xdf\x4e\x49\x4a\x26\xf0\x23\x36\x7e\x8b\xd5\x60\x13\xce\x0a\x4c\x35\x90\x4c\x48\x83\x6a\x80\x0a\x96\x62\xc0\x5b\x91\x2f\x20\x8a\x1f\x8c\x49\x39\x47\x33\x38\xfe\x2c\x4d\x69\x9c\xab\xe6\x0a\xb0\x06\x49\x12\x51\x12\xdf\xc2\x20\x0c\xc2\x94\x3f\x01\x48\x22\xd8\x84\xef\xc7\x34\x1f\xd3\xd4\xe6\xff\x6c\x9c\xcc\xa2\x00\x30\xe8\x42\x40\x72\xc2\x61\x2d\xfd\x88\x2e\x09\xfc\x48\x06\xd7\x34\xaa\x46\x04\x5f\x3d\xa6\x41\x01\x87\x94\xc6\x01\x4d\xc3\x78\x04\xc9\x10\xc2\xd8\x4f\x26\xec\xfb\x6a\x48\x08\xb4\xc7\x64\x8a\xef\x93\xc6\x59\x4e\xe2\x3c\x9a\x43\x92\x02\x13\x75\x98\x90\x9b\x70\x32\x9b\x2c\x07\x34\x4c\xf9\xf2\x7e\xce\x90\x68\x1b\x38\x4d\x69\x0a\xed\xd6\x24\xe3\x9d\x62\x9c\x29\xd5\xb5\x18\x8a\xa2\x13\x6f\x43\x50\xa3\x61\x13\xbe\xa1\xba\x2f\xa5\xcd\x1e\x97\xae\x92\xd0\x42\x7a\x17\x6a\xea\x19\xb3\x5a\x1d\x9e\xf2\x55\xfe\xbe\x5d\x4c\x78\xbc\xd1\x74\xd2\x14\x63\xd1\x15\x68\x20\xbf\x8b\xac\xcb\x61\x34\xcb\xc6\xfc\xf1\x69\xa7\x87\x9b\x28\xc7\x5f\x6a\xe6\x55\x78\x2f\x39\x57\xf2\x9a\x6a\xaf\xb6\xaa\x80\x75\x2b\x0e\x00\xef\x25\xc8\xc0\x12\x55\x75\x58\xfe\x72\xc8\x58\xca\x02\x7f\x6b\xf5\x6f\x3a\xcb\xc6\x67\x89\xa3\x83\xa6\x87\xb3\xd0\xc1\x55\xbd\x33\x8f\xeb\xaa\x3a\xa8\xc2\x79\xf0\x72\xb7\x25\x5f\xd1\x6a\xca\x98\xf5\xac\x90\x1b\xa5\x11\x32\x62\x68\x18\xbb\xe2\x46\x6f\x47\x34\x7f\xa5\x1e\xb8\x76\x45\xfd\xe1\x3d\x2d\xf2\x9d\x9b\x5c\x1e\xbd\x6a\x5a\xcf\xa6\xbb\x3b\xc5\x59\xa3\x54\xd6\x81\x1d\x53\x25\x7d\xfe\x40\x7e\xd5\x38\x08\x1d\x88\xef\xcd\x1b\xf0\x24\x1c\x91\x5d\x72\x62\xac\x89\x17\xb4\x6b\x8d\x12\x21\xea\xa2\x2a\xf6\xdb\x14\x90\x02\x87\x27\xb1\xf2\x2c\xb7\xb1\x55\x8e\x14\x8b\x31\xf0\xa3\x24\x53\xed\x07\x94\x8d\xb3\x78\x62\xd4\xd0\x00\xd2\x4b\xb9\x12\x0a\x46\xbc\x58\x0d\x4a\x61\xde\xea\xd3\xea\x79\x6b\x98\x26\x93\xd2\x44\xf3\x31\x13\x17\xc7\x88\x06\x6e\x88\x77\x9b\xba\x10\x04\x0f\xb8\x94\x27\x02\xb2\x39\x8b\x2d\xd7\xd0\xf6\x34\x67\x2a\x62\x01\xad\x4a\x11\x2b\xf7\x5d\x1c\xf8\xe1\xb0\x7a\xe4\x8d\xd1\x32\xf4\xb1\x4c\x28\x2b\x62\x43\xdd\xee\xdb\xea\x96\xf1\x9f\xdd\xba\x62\x03\x97\x93\xec\x62\x8e\x36\x18\x52\x9e\xfc\xea\x96\x1d\xcc\x61\x19\x35\x45\x2b\xc1\x65\x85\x38\x98\xe3\xef\x96\xc8\x3f\x01\x4b\x04\x25\xb8\xf4\xfa\xbf\x25\x08\x2b\xda\x22\xd2\x11\xcc\x32\x6d\xc4\xf9\xec\x32\x10\xcb\xd4\x53\x89\x03\x17\xa8\x93\x5f\x5c\xa7\x14\x49\xea\xd0\x2d\xb6\x5c\x17\x28\xc7\xcb\x5b\x94\x33\x08\x64\x17\x3e\x58\xbb\x65\x4a\xc7\x5e\x06\xef\x7e\x8e\x65\xf0\x71\x68\x90\xdb\x4f\xa2\xd9\x24\xce\x80\xc4\x01\x06\x12\x90\xa2\x12\x84\x13\x1a\x67\x61\x12\x67\xc8\xee\x79\x06\xfd\x37\xaf\xd4\xd5\x81\x35\x40\x48\x5f\x7d\x05\xbd\xe9\x34\x4d\xc4\x32\x77\x13\x4e\x30\x14\xc1\x59\x3a\x8b\x7d\x82\x3e\x28\x0c\xd0\x55\x98\xf1\x8b\x02\xb6\x28\x73\x2f\x76\x09\x12\xc6\x14\x6f\x2a\x0f\xe6\x76\xa9\x34\xb9\x16\x59\xb2\xd1\x4d\x38\xe4\x38\x7f\x64\x43\xd7\x61\x90\x8f\x4b\xed\xf8\x63\x92\x12\x3f\xa7\x29\x6b\x82\x17\xf1\xd0\x0f\x01\x82\x30\x9b\x46\x64\xbe\x0f\x61\x8c\x97\x19\x49\x5e\xc6\x90\x51\x2f\x97\xc8\x30\x62\x71\x08\xd7\x61\x5e\xe0\xb9\xfb\x10\xcf\x26\x03\x9a\x32\x24\x05\xe9\xeb\xd5\x1b\x09\xc3\x30\x67\xff\x2f\xdd\x42\x18\x86\xf9\xe7\xdf\x3f\x18\x86\xf9\xaf\x6d\xf3\x80\xf5\xf3\x93\x77\x0e\x58\xbf\xee\xb6\x6d\xe0\xdc\x25\x90\x32\x3d\x4d\x93\x69\x92\xd1\x6f\x74\x68\x0f\xf7\xb5\x4d\xee\x75\xc3\xf4\x87\x14\x22\xce\x97\x47\xc5\x0b\x3a\x42\x0d\x18\xab\x18\xfc\x9b\x21\x61\xd5\x38\xcd\xe7\x78\xa3\x51\xf4\x65\x44\xf3\xc3\x64\x32\x9d\xe5\x34\xc0\x1c\x6f\x41\x5b\x7a\xbb\xd1\x4a\x7f\x4e\x45\xb0\x80\x29\xc1\x4b\x81\xb9\x57\x6e\x90\xb5\x23\x8f\x9c\x7f\x4f\xa2\x19\xf5\x6a\x5c\x3c\x6b\xf5\x2a\xb0\x18\x75\x02\xba\xdc\xa5\x7a\x42\x6e\xbc\x56\xe3\x8e\x2d\x5c\xcb\xb8\x15\x9b\xd0\x7e\x60\x34\x43\xef\x4e\x89\x72\xed\xb7\x24\x08\xc2\x78\xf4\x7b\x5c\x80\x29\xbc\xe8\x62\x8c\xa6\xbc\xd2\x66\x9e\x4c\x19\x5e\x1b\x77\xae\x38\xc0\x2b\x85\x16\xd1\x6c\x7c\x9e\x27\x1f\x83\x4f\x2a\x86\xe2\x23\x30\x8a\xe8\xd0\x1e\x44\x25\x9b\x26\x5f\x94\xb8\x65\xb3\x4c\x47\x07\x08\xc9\x03\x0e\xc6\x28\x02\x78\x9e\x18\x00\xfc\x24\xce\x49\xc8\x3d\xf5\x70\x18\xd3\xe4\xfa\x50\xa6\x19\xcf\xba\xcf\xd0\x25\xe2\x24\xb9\x76\x95\x6b\x0e\xc3\x34\x93\x8d\x62\xdc\x23\xbb\x01\x1a\xeb\x15\xb8\x86\xd4\x0c\xe3\x98\xa6\xcf\xcf\x5e\xbd\x34\x4a\xcb\x59\x82\x77\x5e\x67\x30\x9d\xe3\x28\x86\x3d\x34\x1b\x8b\x8c\x52\x32\x1a\x90\x5c\x5a\xe8\x96\x79\xf4\x4c\x31\xf1\x40\x17\x6a\x7c\xea\x91\x91\x38\x1d\x28\xb2\x42\xdf\xd7\x0e\x60\x6b\x4b\x68\x7a\x8d\x03\x3a\xe2\xf1\x48\x46\xcc\x50\x44\x59\x6a\x00\x89\xf2\x71\x32\x1b\x8d\x21\x89\x61\x92\xc4\x49\x36\x25\x3e\x57\xc2\x36\xf2\x36\x49\x46\x34\x7f\x96\xcc\x62\x36\x4c\x87\x51\x48\xe3\xfc\x84\xfa\xb9\x57\x6f\x22\xd0\x12\x76\xa5\x6e\x70\x04\x4f\xe8\x15\x4d\x73\xc0\x5c\x18\xd0\x61\x92\x52\xf0\x49\xe4\xcf\x22\x92\x33\x0c\xb9\x3e\x69\x40\x16\xc6\x3e\x4e\xed\x73\xbc\x8b\x42\xd3\xe6\x9a\x63\x0c\x56\x43\x90\xc3\x5c\x48\x3f\x8b\x13\xc4\x98\x88\x9b\xb8\x4a\x94\x8a\x22\xb1\x55\xc4\x46\x2c\xc8\xc4\xf5\xdc\x72\x3d\x4e\xd3\xad\x02\x91\xe5\xea\xd2\x88\x0f\xf5\x23\x0f\xef\xc4\x03\x44\xf1\x08\x4f\xec\x6f\xdb\x21\x51\x73\x90\xb4\x21\xe5\xac\x34\x2c\xba\xa1\x16\x02\x08\x18\x2d\x55\x4c\x64\xbc\x8a\xb1\x62\x95\x55\x0a\x9b\x25\x3c\x42\x95\xca\x15\x21\xad\xd4\x4f\x0c\x41\xa9\xe7\x31\x8e\x65\xd1\x8e\x5e\x34\x87\x56\x98\xd2\x25\x6c\xc7\x61\x66\xd8\xd2\xc5\x16\x8a\xf4\xa8\x80\xca\x6c\x83\x02\xa4\x15\xac\xf2\xbd\xcf\x62\x95\xcf\xa2\x28\xf3\x53\x4a\x63\x40\xeb\x0f\xc5\x56\xde\xb8\xa8\xb6\x10\x55\x2d\xe3\xab\xd3\x5e\x34\xcd\x45\x55\xf2\x0b\x58\x8d\x0a\xf6\xaf\xce\x78\xd4\xbd\xfe\x74\x1b\x52\xf7\xf2\x33\x98\x92\x6a\x65\x7c\x96\x8c\x46\x11\x75\x6c\xdb\xd5\x32\xa3\x49\x46\x74\xda\xbc\xcb\x76\x5d\xce\xe1\x32\x10\x60\xc0\xa8\xd8\xff\x30\x5a\xda\x94\x28\x19\x69\xa8\x4e\x90\x5b\x12\xb6\x8c\x19\x82\xc7\xef\x6a\x97\x76\xde\x78\xab\x8c\xaf\x4f\x79\xcd\xf2\x1e\x5c\x91\x13\x39\x81\x86\xb1\xa1\x76\x04\x7f\x18\x08\x14\xf7\xda\xa4\x3a\x1a\xc6\xea\x76\xb0\x34\x7b\xfd\x88\x64\xd9\xcb\x30\xc3\x30\xc1\xcc\x18\xc8\xbc\x9a\x86\xc4\xec\xa4\xa7\x50\xe3\x7b\x6e\x35\xd8\x87\x1a\x09\xa4\x97\xa9\xc1\xa1\xf7\xca\x58\x8a\xc6\x64\x55\xab\x8a\x5d\xc2\x80\x68\xec\x7f\x97\xf0\x3b\x1f\xc6\x17\x36\x6a\xd5\xba\x4c\xd3\x35\x2b\xd3\xb5\x8c\x6b\xd5\x70\x88\x6d\x88\xa2\x58\xac\xaa\xf4\x1e\x7c\x0e\xa5\x77\x36\x0e\x33\xa1\x43\x60\x9a\x26\x57\x61\x40\x33\x71\x20\x9f\xa1\x02\xe4\x7b\x4d\xcc\x2a\x20\x85\xe3\x78\xf1\x2b\x48\x9c\x07\xf3\x95\x0a\x53\x55\xd3\xdf\xfe\x7e\x42\xff\xf7\x13\xfa\xbf\x9f\xd0\xff\x27\xb3\x2f\xae\xf4\xa1\x94\xff\xde\xdf\x8f\xea\xff\x7e\x54\x8f\x9f\x5f\xef\x51\x3d\x53\x83\x01\x3f\x2f\xff\xdd\xe9\x9b\xd7\x4d\x5c\x59\xaa\x93\x76\x45\x0e\x0f\x0b\x9d\xb7\x2e\x18\xbb\xad\x67\x79\x90\xcc\xf2\x75\x28\xde\x21\x75\x9d\xf9\x3b\x4f\xfd\x11\x58\xfb\xc2\xbc\x7f\x57\x8e\xaa\x6d\x70\x9a\xa3\xfc\x82\x6e\xdf\xd1\x07\x00\xfb\x9d\xe1\x4b\x35\xe1\x70\xee\x9d\xd7\xb2\x3c\x08\x63\x11\xfd\xed\xa2\x5e\x77\xf1\x51\x46\xf3\xd3\xe2\xbb\x0f\x6c\xb9\xba\x6a\x0b\x34\xbf\x14\xf1\x97\xd9\x3f\xb8\x98\x15\x5f\xd9\x32\xb7\xd4\xe8\x2f\xea\x93\x60\x15\x55\x71\xa3\x2d\x3a\xd4\x97\xe1\x69\x79\x2e\x28\x05\xd9\xff\x2c\x2e\x0c\x2b\x82\xfb\xbb\x2f\x43\xb5\x2f\x43\x81\x84\x7f\x77\x6a\xf8\xbb\x53\xc3\x7f\x62\xc6\x5b\x69\x2d\xbc\xc0\x88\xfb\x38\xef\x86\x02\xc4\xbf\xbb\x39\xd0\x85\x6a\x67\xa1\xbf\x43\xa1\xe2\x27\x38\x3e\x3c\xfc\x15\xdd\x9f\x65\xb6\xd8\x37\x4c\x89\x85\xfe\x65\x1b\xba\xae\x56\xbd\xed\x1d\x51\x30\xcc\x5e\x63\xfc\x23\xa5\x5b\x63\x72\x15\x8e\x08\xc6\xf9\xab\x5c\x12\x88\xc8\x82\xac\xfe\x2c\xa3\x69\x6f\xc4\x58\xa7\x8b\x4f\x54\xe1\x7b\x88\x4f\xa1\x16\x27\x01\x6e\x59\x29\x70\x4d\x55\x92\x57\x9c\x46\x24\x1f\x26\xe9\x64\x69\x3d\x59\x50\x5f\x35\x09\xb3\xe3\x30\xa5\xc3\xe4\x06\xba\x70\xef\xde\x4f\x0a\xb0\x8a\x24\x5c\x13\xf9\xb5\xba\x59\xe9\xd5\xe9\x8b\xa3\xca\x1a\x2c\xb3\x86\x6f\x6b\xb9\xf3\xcf\xd2\x30\xa0\x71\x5e\x80\x48\x7c\xe8\x6a\x5a\xeb\x4d\xbc\xf3\xda\x2b\xe2\x87\x71\x9e\x64\xe3\x5a\x03\xd8\x8f\x17\x71\x4e\x23\xf1\xfd\xed\xdb\x43\xf1\x6d\xef\xe1\xb7\xb5\x8b\x86\xa2\x85\x05\xfc\xc5\x94\x04\xd0\x35\xe8\xc4\x86\x23\x7c\x4b\x82\x9a\x5d\x6a\x9c\x60\x04\xeb\x62\x39\x96\x5c\xb3\xbb\x2f\x83\x07\x56\xa0\x2c\xb2\x19\x6a\xdf\x87\x71\x7b\x4f\x7c\xd9\xee\x88\x2f\x87\x47\x95\xb8\xbe\x0c\xe3\xd9\x8d\x81\x84\xa6\x1b\xe6\xd4\xea\xf0\x04\xa3\x3a\xbb\xef\xd6\x3c\x13\x01\x0e\xdd\x57\x6b\x1e\xfd\x8a\x44\x4b\xe9\x15\x3c\xc3\x4f\xd2\x20\x3b\xa1\x11\xc9\xc3\x2b\x7a\x96\x88\xf3\x5b\x0f\x63\x75\x34\xa0\x10\xd8\x94\x07\x60\xe4\xae\x0e\x23\xfa\x07\xd7\xcb\x9f\x0b\x1c\x2b\x6e\xf0\xf9\x4e\x55\x5b\x87\x16\x9b\x5b\x19\xe2\x65\x1a\x11\x7f\x48\x3a\x14\x7d\xfd\xb5\xf2\x2d\xba\xd7\xed\xf2\x77\x10\x83\xc4\xc7\x20\x2c\xea\x4b\xc9\xcd\x03\xe0\x06\x36\xbb\xca\xa3\x2a\x19\x0e\x33\x9a\xbf\xa4\x43\xe3\x7d\xaf\x79\xb9\xc0\x59\x32\xd5\xf9\xb2\xd5\x2e\xd4\x78\xee\x5b\x3c\x5d\xaf\x41\x18\xab\xbc\xa7\x05\x00\xbc\x08\xec\x83\xd3\x33\xc4\xa4\x8b\x20\xd7\xf9\x4d\x03\xe6\x17\x07\x6b\xb7\x8a\x1d\xab\xc7\x06\xba\x0b\x06\xce\x35\xba\x72\x30\xad\x53\x7d\x30\x9e\xe0\xc1\x67\x6e\x0e\x93\x99\x2a\x84\xdf\xc2\xec\x14\x9f\x12\x0e\x13\xeb\xdc\xc0\x47\x98\x0b\x91\x70\x35\xa8\xce\x6c\x59\x0d\x5c\x3b\x73\x57\x15\x9f\x86\x91\xe7\xe9\xe4\x0d\xa6\x48\x55\xc3\xf0\xd4\xc4\x93\x9f\x80\xc3\x16\x74\x60\x1f\x5a\xf5\xba\x38\xe2\xb5\x72\xed\x76\xda\x76\x3b\x3a\xd5\xae\x39\xb6\x8f\x95\x0b\x28\x4e\xc2\xd8\x53\x6e\x35\x2a\xb7\x01\xed\xba\x26\x1c\x3e\xab\x55\xd1\xb4\xab\x7e\x5b\xd4\x97\xe4\x36\xea\xcb\xe8\xf7\x58\xd0\xc9\x12\x26\xf1\xed\x01\x3f\x21\xd7\xcf\xe6\x39\xfd\x84\x71\x5f\x3c\xd4\x1f\x07\xf2\xc0\x52\x01\x8a\x82\xb6\x02\x50\x84\xe1\xc9\x37\xb0\xd1\x85\xed\x0e\xff\x31\x37\x7f\x08\xfa\xfc\x08\x37\xf8\x30\xd3\x1c\x5f\x65\x2a\xd0\xc9\xa2\x03\xef\x80\x95\x54\xa5\xc4\x5f\x25\xb3\x8c\x56\x05\xdf\x6b\xfd\x8a\x74\x38\xa3\xda\x80\xa4\xb4\xc2\x32\x6a\x4b\xcb\xe8\x39\xae\xc7\x17\x07\xe6\xc3\x32\xa8\x68\x4b\x81\xf2\x58\x22\x70\xf5\xa8\x35\x22\x6b\xb7\x39\x16\x37\x26\x30\x9a\xf3\x69\x9e\xa4\x7c\x63\x2d\xa6\xd7\x3c\x3f\x0a\x07\x4d\x91\xdc\x7c\x45\x27\x49\x3a\xf7\x8a\x71\xe0\x05\x6a\xaa\x0a\x07\x29\xcf\x30\x9c\xc5\xb9\x67\x15\x1d\x66\x5e\x1d\xa3\xd5\xaf\xb3\xe5\xdc\x26\x8d\xfd\x24\x08\xe3\xd1\x7a\x03\xd6\x53\x72\xbd\xee\xac\x19\x50\x3f\x49\x49\x2e\x42\xce\x63\x6f\x0b\xc5\xc2\xc4\x7c\xed\xa1\x19\x26\x3c\xc4\x9f\x13\x1a\x2e\xc4\xa2\xe8\x5b\x3a\x1f\x24\x24\x0d\xec\x97\x03\xf8\xf7\xe7\x05\x03\x3f\x8c\x87\x49\xc5\x3e\xb2\xc1\xd4\xbe\x74\xbb\x95\x51\xe7\xd9\x2f\xe9\x9c\xa2\x63\xac\xdf\x5a\xa1\xb3\xdc\x0d\x26\xb3\x7c\x3a\xcb\x17\x6c\xfc\x19\xc1\xee\x44\x8f\x5d\x71\x84\x0b\x1d\x4f\xf8\x36\xe4\x77\x67\xc7\xed\x3d\xcf\xba\x82\x54\x08\x1c\xe6\x46\x2a\x1b\x27\xd7\xae\x7d\x58\xb1\x53\xd1\x80\x9c\xef\xf0\x96\x58\x71\xa2\x2a\x89\x6f\x07\x76\x2f\x78\x35\xd7\x23\x95\x16\xf2\xac\xfd\x37\x57\x34\x8d\xc8\xbc\xdc\x66\x79\x4b\xd5\xf9\xc0\xe1\x72\x80\x48\xc3\x3b\xd1\x85\x6f\xdf\xb8\x28\x63\x76\x67\x6b\x8b\x2d\x3b\x53\x0a\x61\x06\x71\x02\xe3\x30\xa0\xb2\xed\x3a\x5b\xf3\x01\xc3\x86\x6f\x58\x90\x09\x95\x94\xe2\x2e\xd2\x2d\xc8\xa8\xef\x62\x65\xbb\x0f\x26\xb1\x1b\xd0\xb2\x03\xf2\x95\x46\x93\xe6\xdc\xe0\x5e\xf2\xf2\x87\xdd\xa2\x5d\xcb\x93\x6f\x80\x2c\xe7\x1d\x2e\xfc\x34\xc5\x20\x50\x56\x6b\xa8\x1f\x8b\x21\x00\x2f\x59\x93\xd6\x6b\xdc\xec\x63\x86\xb8\xe5\xd5\x1c\x11\xfd\xdf\xd3\xd2\x33\x92\x97\x95\x5a\x08\x43\xe3\x22\xa8\xf3\xf7\x74\x6e\xed\xcc\xaf\xd2\xad\x24\x7e\x11\x17\x05\xd5\x27\xfc\xcd\xe2\x12\x01\xc3\xa4\x99\xc4\xbf\x3f\xfb\x96\xce\xb3\x3c\x4d\xde\xd3\x85\xe2\xcd\x3e\x12\x52\x49\x56\x4b\xda\x0f\xf7\xe7\xf9\x2b\xf5\x9f\x0a\x75\x49\x7f\x4f\xca\x0f\x45\xbb\x3a\x5c\x3d\x86\x9a\x14\x72\xba\x70\x81\x34\x95\xa7\x7b\x34\xe5\xc5\x8c\xae\xd4\xbb\x07\x8e\x42\xc2\x3f\x51\x3f\x12\x52\x22\x82\xdd\xd2\xdd\xa8\x11\x50\xe2\xe7\xe1\x15\xc9\xab\xa5\xbe\x6a\xe0\xcd\x73\xc3\x8a\x51\x74\x17\x71\x90\xcd\x51\x10\x11\x9d\xc5\x55\x53\x5d\x95\x1e\xab\x7a\x7d\x05\xf4\xa3\x21\x86\xaa\xbb\xdb\xf4\xea\x6e\x13\x0f\x54\x16\xb7\xb9\x52\x5f\xc4\x24\x8c\xe0\x8b\xa1\x27\xa5\x21\x25\x32\x8b\xb6\xe1\xaf\x29\x32\x33\xc6\x90\x4c\xe2\x98\x2f\xa1\x8e\x89\x9f\x27\xe8\xee\xb9\xc8\x06\x2c\x95\xf7\x66\x69\xd4\x00\xa4\xb1\xf3\xd5\xa3\x59\x1a\x41\x17\x66\x69\x91\x69\x54\x0d\xe8\xea\xda\x65\xe3\xa8\xd4\x9e\x39\x9c\x29\x5d\x24\x0d\x72\x87\x81\x5e\x1b\x50\x3c\x89\x54\xa3\x80\x86\x4b\x01\x0b\x08\x25\x1c\x8a\x63\xee\x22\xa2\xa3\x92\x4d\xef\x95\x09\xbd\x8c\xc2\xc2\xbc\x67\xfd\x54\xdb\xd3\xc5\x3a\x26\x61\x35\x64\x53\xd7\x4e\x0b\xae\x6b\x05\x6b\x22\x4e\x72\x74\xfc\xca\x93\x20\x41\x5f\xb0\x6b\x3a\xd0\x87\x37\x36\xd9\x9c\x0d\xac\x20\x7b\x68\xdc\x63\x39\xcf\x35\x1a\x4e\xb0\x78\x4c\xb3\x68\x12\xd2\x90\x1d\x77\xd7\x97\x00\x0f\xb3\x37\x8b\xc8\xa2\x8c\x62\x04\x9f\x52\x12\xcc\x4f\x73\xe4\xc8\xae\x1e\x89\xe6\xe1\x9b\xd7\xaf\x8f\x0e\xcf\x5e\xbc\xfe\xc6\x8c\xc6\x6f\xa3\x56\x55\xf7\xcd\xdb\xa3\xd7\xee\x48\xc0\xc6\xdb\xb0\x60\x99\xa1\xf6\x73\x38\x46\x3f\xdd\xc3\x1e\x97\x7a\x58\x69\x51\x20\xa6\x49\x5c\xe2\x14\x5c\xea\x57\xce\xfb\x4b\x66\xb9\x0a\xac\x4e\xa8\x4f\xc3\xab\xe5\x33\xbf\x89\xd8\xc4\xe9\xb5\xb1\x08\x37\xbe\x97\xb8\x82\x65\x52\x81\xe5\x61\x89\xa7\x97\xe1\x58\x96\x82\x4f\xa2\x5e\x49\x41\x55\x6b\x26\x4b\x25\x95\xe7\xa5\x5f\x53\x6c\x63\xe3\x56\x81\x9a\x22\xce\xd7\xaf\xe9\x20\xcf\xe7\xeb\x46\xa8\xd3\x49\x36\x42\x83\xf8\xbb\xf8\x7d\x9c\x5c\xa3\x83\x6f\xab\x56\xce\x66\xe9\x6d\x3b\xfd\x2d\x37\x7a\x6a\x1d\x3b\x99\x1b\x39\xd2\xe4\x61\x05\xb6\xed\x02\xa2\xa5\x37\x72\xc1\x5c\x6c\x4f\x67\x14\x1b\x4c\x9c\x0d\x9e\x16\x97\x45\xc5\x06\x4f\x8b\x2b\x99\xda\x4e\xa9\xc0\x09\xf5\xf9\xc0\xb2\xec\xdd\x1a\x9f\x67\xbe\xa7\x83\xb3\xb3\x3f\x2e\x99\x63\x78\x21\xe1\xac\xe0\x17\x27\x2c\x1e\xee\xbb\x01\x64\x96\x8f\xcf\x92\xf7\x34\x76\x1a\x4b\xe2\x8a\x57\x61\x76\x2f\x01\xe3\x57\x7a\x8a\x33\xa2\x55\x47\x04\x62\x67\xff\x14\x73\x24\x06\x2c\x5b\x7e\x3f\x28\x1a\x8b\x9a\x0a\x9b\xed\xb2\x21\xc1\xfb\xba\xea\x8c\x57\xbd\xa2\xe0\xfb\x9d\x86\x54\xb9\xfb\x2b\x8c\x13\x53\x80\xf1\x1c\x30\x8c\x47\xe8\x6e\x67\x27\x2b\xe4\x85\xdb\x9a\x9d\x8b\xcf\xa2\x57\xa2\x0a\xfc\xde\x9c\xd4\x4f\x5c\xa3\x3b\x46\xdd\xfc\xe0\x4b\x5e\x34\x9d\xbc\xe0\x5b\x4d\x97\xa6\x41\x3d\x4c\x3c\xc7\xf3\x0a\x46\x0b\x2e\xef\xac\x72\x13\xec\xd3\x93\xc1\xef\xf7\x45\x13\xc8\x50\xee\xa2\x72\x58\x55\x51\x99\x50\x2e\x7f\x5b\x77\x20\xc8\xc9\xc8\xe4\xf7\xb9\xe3\xd9\x54\x3f\x89\x26\xb3\xaa\x25\x5e\x55\x1f\xab\x35\xc3\x06\xac\xd4\x7f\x0e\x54\xec\xd3\x49\x14\x2a\x4b\xea\x7b\x65\xce\x22\xce\x5e\xdf\x96\x93\x8c\xc1\x94\x0b\x68\xcf\x22\x8c\xf3\xf1\x0c\x23\xdf\x93\x9c\xa1\x77\x15\x55\x4a\x61\xdd\xea\x6c\x13\x95\xae\xc1\x80\x21\xfb\xfd\x11\x34\xe7\xca\x7b\x03\x78\x7d\x47\xdf\x1d\x69\x4a\xbe\xa0\xcb\xc4\x46\xbe\x44\xb9\x44\x1c\x96\x20\xc2\x66\x0b\x57\xfb\x0d\xc0\xa7\xad\xda\xad\x56\xab\x90\x5d\x44\xcd\x92\x4f\x61\xdb\x78\x8b\x37\x4e\x40\xdd\x32\x9f\x47\x09\x9e\x8d\xb3\x52\xfc\x99\x0e\xcf\xf5\x00\x4a\x76\x1d\xe6\xfe\x98\x03\x3b\x6f\x95\x1e\x90\x50\xa8\x90\x8c\x42\x69\xca\xda\xaf\xe4\x4a\x73\x68\xb1\xa8\x17\x50\x3f\x09\xe8\x77\x27\x2f\x0e\x93\xc9\x34\x89\x69\x9c\x7b\xc5\xc7\x44\x26\x64\x2a\x9e\x12\xc9\x93\x81\x27\xba\x50\x6f\x98\x02\x59\x85\x9f\xfc\x08\xd3\xa6\xf6\xcf\x6b\xb0\x01\x5e\xad\xd5\x62\xff\xfa\x4d\x7f\x4c\xd2\xc3\x24\xa0\xbd\xdc\x6b\xd5\x9b\x79\xc2\x37\x30\xbc\xf6\x5e\xbd\x2e\x68\xb3\xd9\x71\x10\x47\x0f\x4c\xf3\x5d\x12\xc6\x5e\xad\x56\x77\x89\x93\xfc\x14\x9e\x6b\x5b\x44\x3f\x36\xb3\x57\x53\xef\x0e\x80\x6c\x5b\x60\xa5\x01\x29\xec\x8f\x4a\x3a\x7f\x96\x7e\xd9\x96\x47\x35\x3a\xc8\xa3\x96\x89\x62\xb8\x44\x2f\xc7\xc8\xee\x8d\xd1\xa2\x67\x00\xfd\x6c\x3d\x52\xa6\xd2\xe2\xfe\x90\x59\x9e\x98\x56\xd5\x9d\x7a\xe4\x27\x71\x96\x44\xb4\x19\x25\x23\x6f\xfd\x28\x26\x83\x88\x19\x9b\x6a\x86\xdf\x87\x75\xd8\x28\xb4\xb0\x01\xeb\x90\xb1\x5f\x41\xb6\xbe\x94\x56\xa6\xa1\x63\x81\xb9\x33\x91\x6e\x57\xd7\x59\xb8\xd2\x59\xa2\x45\xf1\x46\x82\xd2\xb8\x4a\x13\x2f\x9e\x2e\xf4\xae\xa6\xcb\xea\x30\xb9\x43\x9f\x07\x79\xeb\xc6\xb2\x06\x31\x0b\xd6\xf5\x09\x84\xf9\x61\x2b\xf4\x22\xd5\x1c\x07\x3f\xf2\x53\x34\xc3\xf8\x24\x22\xaf\x12\x2c\x9f\x43\x6c\xb2\x29\xc3\x6a\x15\xe3\x70\x41\xcf\x71\xa7\x74\x51\x59\xb4\x0f\xab\x0a\xdc\x36\x4a\x7c\xe3\x9c\xb2\xe0\x4e\x0c\xc1\x4c\x4c\xf7\x19\x41\x09\x19\xb9\x21\x51\x6d\xbc\x9a\x37\x59\x8a\x43\x50\x8d\x83\xb5\x51\x04\x8b\x17\xc8\xdc\xf8\x2f\x2e\x8e\xd5\x1a\x49\x66\x97\x97\xc5\xbf\xa6\x97\x42\x96\x1c\xe5\xb3\x01\xe5\x27\xea\x09\x09\x7a\x41\x90\xc4\xde\xfa\x30\xcc\xd7\x45\xcd\x3f\xac\x70\xc0\xff\x07\xe7\x01\xff\x92\xd3\x15\xe7\xd1\xbf\xeb\xdc\xbe\xb4\x83\xaf\x37\x6c\x58\xe5\x66\x72\x1d\xd3\xb4\x2f\x5d\xb5\xb8\x88\x48\x47\xa1\xf5\x20\xbc\x2a\x1d\xd7\x8b\xfa\xfc\xde\xee\x6b\x32\x61\x90\xd6\xf1\xe6\xe4\x66\xc2\x0f\x29\xd7\xdd\x35\xb4\x78\x77\x5a\xad\x56\x69\x21\xc9\x6c\xe1\x97\xfa\x4d\xb2\x6a\xce\x35\x84\x74\x18\x96\x44\xd4\x54\x5e\xe2\x89\x7b\xfe\x74\xbd\xbb\xa0\xa9\xe0\x84\x55\x63\x40\xe0\x3b\xbf\x1b\xb0\x7e\xc3\xa6\x8f\x72\x3e\x1a\xe6\x52\xd4\xed\x6e\x2e\x38\xcb\x93\x37\x54\xd6\x99\x40\xaf\x37\x96\x76\xd5\xa6\x4d\xb1\x1f\xe2\x72\x69\xe9\xe6\xc9\x3a\xaf\x56\x84\x5f\x05\xd3\x52\x3c\xb7\xce\x63\x1f\xd4\x3f\x8c\x69\x1a\x28\x1e\x0e\xa7\x8a\xa2\xd7\xf4\xc7\x38\x55\x28\xc2\x5b\x6e\x15\x8a\xdc\x4e\x85\x53\x6c\x77\x05\xdf\x0a\x0d\x55\xdf\xdb\x72\x6d\x51\x17\x41\x7f\x8c\x87\xc4\x12\x59\x96\x12\x95\xd3\x9b\xfc\x90\x47\x60\x71\xf9\x51\x28\xb9\x6f\xe2\x6d\x83\x00\xa3\xf8\x58\x0e\x01\xc6\xa8\xa9\x5d\x72\x83\x2b\x4b\x6f\x3c\xda\xb7\x19\x4b\xa5\x5d\x1b\xdd\xab\x38\x73\x98\x40\xee\x32\x99\x5f\xea\x1e\xf2\x43\x48\xde\xc3\xcb\x8a\x2e\x02\x9f\x67\xab\xbc\x43\x16\x8e\xe2\x6a\xfe\x1c\x45\x22\x0a\x47\x51\xee\xcd\xde\xd5\x03\xe2\xa4\x42\xa9\x1f\x15\xdd\xb0\xb0\x2d\x71\xdb\x1d\x3c\x38\x94\xbf\x6d\x2e\xca\xe2\xbf\xab\xb0\xf4\x8a\x8e\x1b\x8b\x45\xee\x2e\x6e\x12\x4a\x03\x32\xa9\xb3\x34\xd4\x9d\xbc\x19\x56\x91\xd7\x95\xdd\x19\x6c\xc4\x1c\xca\x73\x29\x6a\x42\x6b\xe1\xd7\xa2\xab\xc1\x2a\xa8\xae\xea\x6b\xa0\xae\xb4\x71\xf2\xb9\x75\x35\xcb\x16\x9d\x70\x16\x18\x44\xb3\xb4\x70\xe0\x57\x16\x92\xcf\xe1\x2c\x80\x4a\x66\x49\x4b\x8b\x8f\x29\xc5\x0c\xe7\xba\x42\xa7\xc7\xc9\x31\xab\x55\x38\x1a\x66\x79\x9a\xcc\xdd\xbe\x05\x7f\x70\xf9\x16\x48\x1b\xee\x0f\x6e\xdf\x82\x4f\x7b\x96\xc3\x36\x56\xb7\xb6\x78\x38\x90\x61\x18\x51\xb8\x26\x19\x8c\x58\x3f\x48\x4e\x03\x18\xcc\x21\x0a\x07\x41\x92\x6f\x0d\xc2\x78\xcb\x4f\x62\x9f\xe4\xcd\x6c\xdc\x64\x75\x5e\xe4\x30\x26\x19\x0c\x30\xa8\x0d\x49\xdf\xd3\x00\x52\x4a\x82\xcd\x24\x8e\xe6\x78\x6c\x3c\x4f\x66\x29\x64\x64\x48\xf3\x79\x13\xe0\x84\xe4\x63\x9a\xae\xa1\xb7\x1a\x89\x81\x06\x61\x0e\x61\x0e\xfc\x56\x57\x34\x6f\xc0\x34\xa2\x6c\x15\x3f\x49\x82\x70\x38\x87\x24\xa6\x22\x9e\x28\x43\x15\x7d\x72\x59\x5d\x86\x63\xd6\x6c\x32\x04\xd8\x4f\x81\xdc\xbb\x6c\x2b\x0a\x07\xcd\x77\x59\x29\xed\x72\x9a\x44\xf3\x61\x18\x45\xce\x4c\x3f\x89\x92\x34\x73\x66\x0d\x9d\xa9\x42\x91\x5e\x4e\x48\x4c\x46\x78\xb1\xc3\xd1\xa2\xd2\x6a\x0b\x8b\xa5\x94\xf7\xca\x99\x99\x09\x2f\xd9\x05\x79\x97\xfe\x38\x4d\x26\x8b\x8b\x44\x89\x4f\xdc\x3d\x97\x25\x26\xe8\x86\xeb\x2c\x92\xd3\x2c\x5f\xd8\x83\x59\x3e\x7c\x68\x67\xe4\xe3\x30\x0d\x2e\xa7\x24\xcd\xe7\x5b\xd7\x3e\xfa\xde\x63\xc9\x6b\x5f\x94\x43\x77\x5e\x56\x9f\xfb\xf5\xba\x12\x2f\x87\x29\x51\xdd\x2a\x64\xbd\x17\x3e\x3a\x8b\x73\x2f\x07\x21\xc6\xa1\xcb\x96\x14\x7b\x4f\xe7\x13\x32\x5d\x5e\x68\x4a\xf2\x9c\xa6\xb1\xbb\x60\x32\x65\xa2\x57\xd1\x14\xee\x23\xa5\x8b\xf2\x2e\xf1\xf2\x55\x38\x0c\x69\x5a\x05\xa3\x8a\x9d\x8a\xe5\x66\x83\x6c\x36\x70\xe7\xf1\x30\x43\x95\x79\x49\x14\x31\x85\xe1\xce\x57\xb7\x14\x17\xe6\x5e\x86\x49\x55\x81\x9b\xfc\x92\xe4\x79\x1a\x0e\x66\x39\xad\xe8\xe3\x55\x45\xdb\x57\xf9\xa5\x8a\xd7\x77\x59\x39\x56\x5c\xdd\xf1\xbc\x35\x96\x7f\xfa\xe6\xbb\x93\xc3\x23\x38\x7e\xf1\xf2\x68\xdf\xa9\x22\x0e\x93\xe9\x1c\x03\x76\xe2\xe6\x74\xa7\xd5\xee\xe0\xcd\xce\x43\x26\x51\xe1\x6c\x02\x6f\x4e\xf1\x90\x8a\xe9\x06\xe8\x45\x11\x60\xd9\x0c\xd8\xd4\x94\x5e\xd1\x00\xd5\xdf\x77\x99\x50\x50\x61\x26\xf4\x13\xf8\xcc\x44\x0b\x33\x18\xb1\x25\x69\xcc\xd5\x27\x81\x67\xa7\xfd\x4d\x1e\x72\x51\x86\x3a\xc2\x07\x8f\x7c\x12\xc3\x80\xeb\xb4\x64\x16\x07\x10\xc6\xe8\xa3\xfb\xf2\xc5\xe1\xd1\xeb\xd3\x23\x54\x74\xcd\xb5\xb5\xb5\x35\x23\x04\x51\x14\x0e\xe0\x9e\x7d\x75\x71\x8d\xcd\x32\x69\x72\x8d\x2b\xef\xa3\x34\x4d\x52\xaf\xf6\x4d\x94\x0c\x48\x04\xeb\x51\x38\x58\x87\x04\x37\x22\x80\x44\xe8\x77\x02\xf4\x26\xcc\xf2\xac\x59\xab\x1f\xac\xe1\x56\x01\x03\x29\xa2\xfb\x88\xc8\x50\xaf\xc8\x94\xf5\x6b\x3d\xa0\xcc\xdc\xa7\xb1\x3f\x5f\x87\x3c\x81\xf3\x75\xde\xc9\xf5\x06\x34\x9b\xcd\x0b\x19\xea\xe9\x88\xf8\x63\xd0\x45\x31\xe8\x91\x6c\x33\x26\x13\x7c\xb7\xfc\x3d\x45\x5c\x9a\xc3\x6c\xbd\x01\x12\x0c\x2b\xc9\xfa\x3b\x4b\x23\xa4\x07\x03\xc6\xe1\x64\x90\x70\x52\x70\x30\x4d\x8c\x0a\xc5\xea\xa7\xb3\x98\x99\xdd\x7d\xd9\x5a\x48\xb3\xcb\x02\xf2\x6c\x12\x06\x0c\x5a\xc6\xa7\xc4\x8c\xd3\x3a\xa6\x3c\x8a\xd0\x80\x42\x18\x5f\x25\x6c\xaa\x0a\x78\x50\xce\x28\x1c\xa4\x24\x9d\x43\x18\x87\x79\x48\xa2\xf0\x2f\x04\x37\x9c\xcc\xde\xc9\x0b\x5d\x62\x80\x58\xc9\x43\x61\x80\x65\x97\x40\xd2\x94\x60\xb7\xc3\x3c\xa3\xd1\x10\x08\xe4\xd7\xc9\xa6\xac\x83\xb9\x18\x66\x5a\x5e\xd4\x6a\x71\x12\x65\xe3\x04\x23\x71\x22\x12\x01\xcd\xfc\x34\x1c\xa0\xcf\x15\xeb\xf7\x75\xcc\xe3\x54\xcb\xe6\x20\x4d\x66\x79\x18\xd3\x06\xcc\x32\x3a\x9c\x45\x0c\x1e\x9b\x60\x03\x3a\x98\x8d\x46\x61\x3c\x6a\x82\x82\xdf\x96\x84\x95\x46\xa2\xa2\x85\x26\x64\xa1\x0b\xfc\x41\x74\x49\xc2\x13\xea\xe3\x05\x19\x02\x82\xde\xc6\xf0\x4a\xba\xa0\xb9\xc0\x19\x58\xa0\x04\xd7\x63\x1a\xb3\x19\x1f\xae\x49\x8c\x77\xf6\xe9\xcd\x34\xa5\x99\x80\xb3\x59\x00\x04\x7c\xc0\xfd\x64\x32\x65\x46\x07\xcb\x6d\x02\xb3\x28\xd0\x87\x9d\xd1\x3a\x67\x25\xe5\xa0\x11\x0c\x96\xb6\x39\x8c\x68\x30\xa2\x81\x1a\xb4\x6c\x9e\xe5\x74\x02\x49\xaa\x99\x07\x81\xe7\x29\xf1\xdf\xd3\x14\x21\xd6\x32\x78\x37\xcb\x72\xe1\x22\x9f\x27\x30\x21\xef\x29\x33\x3c\xa6\x49\x96\x85\x83\x88\xf2\xdb\xdb\x83\x19\xd2\x5e\x00\xca\xd0\x3b\x9e\xad\x36\xd3\x59\x1c\x63\x10\xb4\x28\xe2\x54\xe5\x11\x00\x91\x0a\x6f\x34\x9b\x67\x40\x52\x0a\xd9\x94\xfa\x4c\x95\x07\x40\x32\x31\xb6\x59\x13\xe0\x38\x49\x81\xde\x90\xc9\x34\xa2\xcc\x72\xe1\x95\xd9\x07\x99\x3a\x0f\xe8\xd4\xab\xb1\xaf\xdc\x1a\xa9\x35\x00\x7f\xe9\xc5\xd1\x2b\xae\xf6\x31\x32\x5d\xb9\x61\xe4\x6d\x46\xb3\x01\x85\x34\x49\x84\xd5\xc6\x40\xd4\x9a\x00\x7f\x4c\x66\x30\x21\x73\x36\x4a\x5c\x55\x61\x6f\xfd\x88\xa1\x4b\x0a\x64\x4b\x62\x20\xf1\xdc\x10\x3b\x3e\xd4\x14\x7c\x0c\xe8\x0a\xd3\x34\x19\xa5\x64\x82\xf0\x18\x77\x21\xfe\x34\xce\x66\x29\x3d\x29\x8b\xa6\x57\x07\xc2\x38\x9c\xa4\xf9\x6c\x0a\x21\xc6\xc6\x4c\xd2\x80\xa6\xc8\x1c\x58\x4b\xbc\xfc\xc6\x14\x6c\x91\xd5\x42\x9a\xc1\x98\x5c\x51\x61\x5e\x52\x85\x8f\xbc\x9d\xcf\xc9\x7b\x0b\x57\x24\xbd\x44\x6f\x92\x37\xcc\x60\x4c\x61\x92\xa4\x52\x73\x64\xee\x01\xd1\xfa\x84\x91\xde\xb0\xff\x3d\x09\x4b\x47\x8c\xe4\xca\x0a\xef\xca\xe7\xe9\x5c\x06\xf7\x28\x28\x5c\x11\xb1\xcd\x27\x78\x26\x4b\x6f\xcc\xeb\x72\x59\x4e\xfc\xf7\x78\x64\x8a\x01\x5f\x9b\xf8\xbb\x99\x4d\xa3\x30\xf7\x6a\x3f\x88\x68\x83\xe8\x75\xf9\x22\x86\x53\x32\x24\x69\xd8\x10\xf1\x21\xb2\x59\x84\x51\x79\x0d\x10\xd7\x61\x14\x01\xda\xd7\x48\x9b\x8e\xd4\x4d\xfc\x15\x01\xe4\x5f\x0e\x8c\x19\x40\x57\x61\x30\x23\x91\xec\x36\x32\xe8\x30\x49\x27\xcc\x98\x09\x44\x5c\x5f\x1a\xe7\xd1\x9c\x07\xf7\xc5\x28\x22\xaa\xa5\x66\x44\xe3\x51\x3e\x86\x27\x5d\xd8\x36\xa3\x8a\xe0\x34\xd7\x35\x50\x3a\xef\x5c\x34\x53\x3a\x8d\x88\x4f\xbd\xad\x7f\xf8\x21\xbb\x4f\xf2\x1f\xb2\x8d\xad\x06\xd4\x64\xd7\x0a\x81\x8b\x5c\x30\xda\x05\x18\x23\x3e\x81\x31\x59\xfb\xad\x05\x6a\x4d\x04\x27\x61\xca\xcf\xc3\x4b\xfe\xd0\x85\xd6\x01\x84\xf0\x18\x88\x74\x40\x11\xb8\x1f\x40\xb8\xb1\x61\x0e\xc5\x94\x60\x50\x65\x55\xee\x3c\x14\xd7\x0a\x59\xd7\x31\x93\x47\xd2\xf0\xd9\x54\x8b\x88\xe9\x9e\x2b\x76\x69\xe2\xd3\x04\x5e\x14\x0e\x1a\x08\xd0\xdd\x49\x3c\x58\x44\x47\x28\xbe\x40\x74\x4c\x5c\xe7\xac\xf6\x85\x5c\x2b\x62\xb4\x4b\x92\xce\xeb\x6a\xed\xb8\x52\x75\xa1\xba\x55\x0d\x7e\x39\x8d\x93\xd8\xa2\x99\x31\x45\x1e\xa1\xe8\x65\x4b\x64\x8f\x71\xcb\x84\xe6\x0d\x8c\x29\x12\x03\xbd\xf1\x29\x1a\xba\x7c\x76\x49\x93\x6b\x3d\x47\x5e\xd1\x74\x0e\xb3\x78\x42\x73\xc7\x8c\xc1\x59\x76\x40\x21\x4a\x46\x23\x1d\xca\xef\x77\xa7\xea\xec\x14\xe0\xc5\x50\x4c\x07\x6c\x01\x98\xe3\xca\xcf\xb6\x28\x38\x70\x54\x5f\x08\x2e\x25\x61\x46\x2d\xb4\xb4\x50\x57\xea\xa3\x4b\x53\xd2\xb5\x84\x4f\x49\x96\xd1\x80\x91\x1a\x9d\x6c\x4d\xe6\x12\x3c\x01\x55\xb6\x87\x25\xe7\x48\x73\x34\x3f\xba\x95\x15\xcc\x31\x67\x95\xb8\x02\xef\x62\x43\x52\x27\x70\xd3\x4c\xeb\x04\xa2\x76\xd8\x78\x9c\xec\x9b\x1c\x6a\x7c\x6b\xa2\x26\x67\x7a\x21\x2e\x42\x6f\x03\xaf\x75\x9d\xa4\xef\x69\x0a\x61\x5e\xcb\x24\x34\xa6\xb3\x69\x00\x35\x66\xa7\xd4\x9a\x0a\x8b\x64\xf0\x0e\xba\x20\xc2\x45\xc2\x87\x0f\x78\x8f\x5e\x70\x8f\x4b\xd0\x10\x6b\x97\x90\x09\x36\xf6\xb0\xc0\x79\x78\xc1\x68\x97\x0c\xde\xd5\xcd\x5d\x15\x39\xea\xd7\x24\x8d\xbd\xda\xab\x30\xcb\x98\x8a\x5b\xaf\x61\xd8\xfc\x7c\x0c\x1b\x50\x43\xd3\x90\xcd\x6a\x38\x93\xd5\x1a\x06\x6d\x8d\xbd\x15\x35\x6e\x86\xf7\x33\x14\xcf\xbf\x45\x24\x23\x10\x7d\x4c\x06\xef\xce\x25\x72\x17\x05\x95\x82\xa8\x73\xa0\x75\xa7\x96\xaf\x1d\x93\x90\x91\xcf\xc1\xe3\xfe\x98\xfa\xef\xd9\xb8\xdd\x9a\x66\xd4\x28\xcc\x72\x8a\xd2\x63\x1b\x97\x96\x41\x26\xa7\xd8\x8a\x22\x5c\x10\xa5\xcd\x1a\xc6\x90\x22\xd8\x94\x97\xe2\xd3\x29\xb3\xbc\x50\x7a\x84\x65\xe7\xd5\xd1\x1c\xe5\x75\x98\x65\xc8\x8c\x58\xb5\xc7\xc5\x05\x48\xb8\x5c\x13\x60\xe4\x8f\x28\xe0\xa4\x4a\x73\x9a\x36\x78\x48\x1b\x06\x0f\xed\x54\x55\xcf\xb6\x9e\xd1\xda\x0b\x73\x34\xe0\x22\x9a\x53\x34\x7f\x19\x94\xdc\xb4\x5b\xcb\x06\x75\x71\xf6\x66\xa3\x01\x3d\x61\x0d\x73\x33\x78\x9a\x33\xcc\x30\xc3\x61\x02\x4b\x73\x73\xc8\x8d\x3e\xc0\x38\x55\xd2\x0a\x36\x5b\x50\xa2\x2e\xbf\xd4\x6f\xb5\x49\xbc\x80\xe2\xac\xa3\xa9\x18\x3b\x0e\x50\x9e\x18\xc9\x12\xb7\xdc\x26\x92\xb0\x14\xe9\x0c\xc3\x42\xd4\x7f\x11\x5b\xc1\xcf\x3d\xbe\x20\xb2\xb7\x81\xcb\xf6\x38\x57\xe2\xe7\x76\x61\x7e\x81\x50\x86\x01\x10\x89\x16\xc3\xbd\x90\xfd\xe1\x61\xac\x85\x8d\x6c\x59\xec\x38\xf6\x25\xd3\x4b\x20\xeb\x62\x6d\x6b\x26\x20\x71\x80\x6c\x81\x2c\x80\x96\xa2\x51\xb5\x8a\x7f\x65\xfb\x2f\xec\x7c\xc6\x5b\xd9\x3c\xf6\xc7\x69\x12\x27\x33\x66\x24\x9f\x69\x9c\xe5\x22\x80\xaf\x58\x99\x0a\x62\xd6\x2b\xc3\x0d\x57\x3e\xb8\x44\x8a\x91\xb6\x6a\xd0\x0c\x86\x2f\x70\x9a\x56\xf9\xb7\xb2\x16\x6b\xca\x1c\x6e\xd1\x23\xce\xd3\x45\x3c\x25\x97\x49\x4e\x77\x33\xd9\x7d\x06\x7d\x9a\x5f\x46\xc9\xe8\x58\x42\xee\xc5\xc0\x37\x87\x48\x64\x35\x97\x51\x4e\x48\x54\x98\x76\x73\x29\x8d\x70\xdb\x35\x4a\x46\xf2\x24\x8e\x59\xec\xf6\xca\xcd\xe4\x28\xde\xa3\x46\xb1\x6d\x3d\xbd\x71\x33\xa2\xcc\x64\x2a\xc4\x2f\x4b\x7e\xcd\x66\x95\xd2\xec\xc8\x75\x22\xe3\x21\xae\xeb\xed\x98\x98\x29\xf5\xd1\x98\x9a\x37\xb3\x71\x38\x34\x0e\xc4\x59\xa5\x22\x3a\x4a\x3b\x17\x32\xbc\x1a\x6b\x7e\x1f\x98\xfa\x4f\xa9\x7f\xde\xd2\xf7\x64\xd9\xcf\xf6\x85\x87\xfb\x06\x4d\x12\x91\x74\xe2\x49\x54\xeb\x6e\xa3\x8b\xd3\xc2\x2b\xbd\x79\x60\x6c\xa0\x08\x06\xb8\x67\xc5\x70\x76\x6b\x7b\x39\x35\x25\x8c\x44\x57\x24\x0a\x03\x65\x39\xee\x0b\x38\x62\xa6\x5e\x6c\x75\x78\xbc\x90\x71\x1c\x29\xbb\xc1\xdd\x98\x6e\x0f\x16\xef\x58\x15\x37\xb0\xf5\xd6\x55\xa7\xd5\x7e\xf0\x6b\xdd\xb6\x2a\x44\x93\x16\x2a\xea\xb7\x2c\x97\x35\x72\x15\xd2\x6b\x78\x2b\x3a\xc6\xe3\x8d\x1f\x9d\x76\x5a\xed\xbd\x0d\x18\x52\x92\xa3\x7d\x7a\x4d\xd5\x56\xc2\x2c\xa3\x5c\x04\xf8\xe6\x5f\x3e\xcd\xf6\xb7\xb6\x02\x7a\x45\xa3\x64\x4a\xd3\xe6\x24\xf9\x4b\x18\x45\xa4\x99\xa4\xa3\x2d\x1a\x6f\x7e\x77\xba\x15\x24\x7e\xb6\xf5\x3d\x1d\x6c\xfd\x8e\x5c\x91\x53\x9c\x54\xb6\x4e\xe4\x72\x7a\x8b\xef\x8f\x5d\xf2\x55\x74\xb6\xc5\x1d\x2c\xb6\xa6\x24\x38\x65\x8b\x55\xdc\x70\xbb\xc7\x13\xcd\x97\x32\x44\x36\x97\x82\xca\x6c\x53\x8c\x72\x92\x8e\x68\xfe\x12\x85\x87\xad\x16\xc4\x0d\x5c\x15\x34\x7c\x8b\x59\xbe\x78\x2f\x9f\x6f\x03\x31\xa5\x28\xb6\xe9\xa2\x24\x1e\x01\x8d\x93\xd9\x68\xdc\x30\xee\xe3\x41\x90\xdc\xe3\xec\x6a\x80\x86\x4d\xb1\x4e\x10\x26\x99\x12\x5d\xab\xd0\xe3\x2e\xb4\xea\x4a\xb6\x70\x1a\x11\x9e\x25\xe2\xd9\x0d\x63\x29\xa4\xae\x0a\x77\xbb\xa0\xf6\x1a\x65\x65\x23\x1b\x6a\x50\xb3\x8c\x55\x74\xc3\x64\x3d\x9a\x92\x80\x75\x67\xc2\x96\xb0\xd3\x88\x62\x34\x98\x0c\x7b\xd5\x74\xa3\xf7\x44\xc3\x95\xea\xc6\xd1\x9e\x2e\x93\xd2\x29\x25\xb9\x67\x03\xd9\x2a\x03\x11\x31\x74\xcc\xe3\x36\x5d\x86\x3b\x11\xb7\x1a\x16\x39\xeb\xda\xe7\xc6\x7c\x90\xe4\xf6\x4b\x33\xdf\x51\x1c\x54\xb3\xde\x51\x1c\x54\x33\xde\x91\x75\x2d\xf2\xef\x6c\xf7\xeb\x64\x3b\xb3\xdb\xb8\xda\x59\xcc\x85\x8a\xed\x16\xcf\x0e\xd6\x09\xe6\x3f\x9d\x63\x0d\xf7\xfc\xf0\x9a\xad\xcd\xa6\xc4\xc7\x8d\x2a\xc0\xae\xc1\x2c\x0f\xa3\x30\x0f\xa9\xb1\x6f\xc7\xfb\x5c\xd8\xf9\x3f\x0e\xd3\x2c\x67\x6b\xc5\x09\xb3\xcd\xe3\x18\x4f\xa3\x47\xb3\x88\xbf\x62\x90\xd2\x8c\x3f\xa9\x79\x4d\x6b\x29\x85\x51\x22\x18\x9b\xa1\x81\x18\x8a\xe3\x6f\x61\x3d\xae\x2d\x8b\x02\xfb\xec\xa4\x77\x78\x04\x7f\x7c\xf3\xdd\xc9\xe9\xd1\xcb\xe3\x55\x6a\x00\x40\xe3\xa7\x9f\x7e\xfa\xa9\xb9\x4a\xc9\x0f\x4f\x2e\x1f\xc3\x4f\x3f\xad\x50\x74\xfb\x4f\x9b\x9b\x9b\xb5\xcd\xad\x55\xc0\x6e\xef\xb3\xcf\x0f\x57\x3f\x2c\x2f\xdb\x4d\xba\xbc\x70\x63\x85\xc2\xf0\x01\x44\x61\x2c\xbd\xa0\xc2\xd9\xf3\x23\x38\x39\xfa\xe6\xbb\x97\xbd\x13\x38\xfa\xc3\xdb\x93\xa3\xd3\xd3\x17\x6f\x5e\x9f\x2e\x6f\xa2\x77\x72\x04\x87\x6f\x5e\xbd\x78\xfd\x8d\xb1\x68\x4e\x69\x0d\x23\xde\x5c\x93\x39\x2e\x4f\xd9\xca\x9f\xab\xb0\x93\x23\x88\xc2\x9c\xa6\x24\x62\xeb\x02\xd0\x8a\xb8\x09\x70\x1c\xde\x70\x4e\xbd\x1e\xcf\x21\x48\xe2\x1a\x6e\x3d\xcd\x93\xd9\x53\x80\x37\x63\x5c\xe6\x00\x89\xb2\x84\x9f\x18\x58\x2d\xa0\xcf\x1e\x5b\x34\x73\xc5\x80\x50\x82\x84\x66\x71\x8d\x9f\x58\xa4\xd3\x94\x22\x34\x9a\xf9\x64\x4a\x8d\xc5\x4f\x96\x53\x12\x34\x98\x4d\x93\xe5\x49\x32\xe5\xdb\x60\x61\x06\x6a\xdf\xb3\x0e\x4c\x18\xde\x17\x99\xbc\x99\x52\x3c\xe2\x5a\x43\x55\x77\x78\x7a\x0a\x63\x7a\xc3\x25\xa3\x01\x5f\x9d\x7c\xf3\x8c\xe9\xb5\x31\xbd\x69\xef\xed\xc3\xd6\x57\xde\x39\xd9\x1c\xb6\x36\x1f\x5d\xd4\x5d\xdf\xb6\xc2\xc6\x5a\x05\x9c\x93\x6f\xbe\x79\x26\x41\x75\x76\x2c\x50\x3f\x76\x6e\xeb\xd5\x3f\x6c\x98\xe9\x68\x20\x61\xa6\xa3\x81\x97\xa6\x69\x63\x34\x1a\x35\x06\x83\x41\x9d\x01\x4f\x47\x83\x7d\x34\xb1\x4f\xe8\xe8\xe8\x66\xea\x09\x4d\xeb\xd5\xfe\x61\x2b\xbb\x9f\x8e\x06\x5b\xd9\xfd\x2d\x6f\x2b\xbb\xef\x6d\x05\x3f\xb6\x1b\xdb\xb7\xf5\xad\xec\x7e\xa3\xf8\xbb\x06\x1b\x72\x35\x51\x2b\xe4\x6d\xb1\xbf\xfe\x59\x4d\x66\xd7\xf5\xa6\xf2\x0f\x5b\x5b\xa3\x06\xd4\x7e\xf8\xa1\x56\x6f\x40\x2d\xac\xd5\x57\xc3\xba\x41\x08\x91\x98\x93\x85\xa8\x93\xad\xec\xbe\x85\xd9\xd2\x7e\x14\x7e\x9b\x95\xbd\xa7\xfb\x22\x7b\xc3\x7b\xba\xbf\xd5\xdc\x0a\x36\xea\x4f\x59\xa1\xfa\x47\xf4\xf0\x28\xc4\x90\xd3\x27\xdf\x3c\x63\x4b\x99\x93\x6f\x9e\xf5\x44\x87\x6e\x16\x77\xe8\xe9\xdf\xa6\x47\x4f\x3f\xa2\x4b\xbd\x18\xfe\xd0\x6e\xc3\x3a\xe3\xa7\x20\x08\x82\x2d\xf5\xd7\x3a\x77\xa4\x67\x3d\xbc\x69\xb7\x91\xdf\xf0\x40\x81\x7d\xd3\x7c\xdb\x6e\xec\xdc\xd6\x7f\xd8\x5a\x9a\x90\xdd\xff\x67\x9a\xbf\x8f\xe2\x51\x14\x66\x63\x31\x2b\xc5\x64\x82\xad\xb0\x7f\xf7\x61\xeb\x9c\x6c\xfe\xe5\x82\xfd\xd5\xda\x7c\xf4\x43\x76\xb1\xb1\xd5\x30\x77\x66\x0e\x93\x18\xdf\x5d\x24\x92\xdd\xbc\x20\x08\x1a\xe2\xff\xba\x80\x88\x88\x33\x2d\x92\x00\xe1\xfd\x33\xd2\xd5\x89\x23\x8e\x25\x83\x62\x64\x8a\x3d\xc2\x51\x9c\xa4\x7c\x83\x5d\xec\xf0\x64\x24\x0e\x73\xb6\xfe\xc7\xe7\x2b\xc6\x24\x0e\x22\xb1\x49\xa6\x8e\xb6\x6b\x41\x10\xd4\x70\x6b\x03\xef\xf6\x89\xd3\xfb\x98\xc2\x60\x9e\x53\x81\x92\x3e\x43\x0b\x63\x08\xa8\x1f\x4e\x30\x62\x75\xc5\x61\x1c\xab\x81\x36\x87\x8d\x23\x43\xcb\xe7\x64\xb0\x37\xd5\x64\x4d\x56\xa7\xd0\x69\xc6\xaf\xf1\x2c\x8a\x98\xd5\xc6\x4c\x08\x9e\xe8\x63\xe8\x73\x7e\xde\xa9\xf7\x66\x10\x32\xdf\xfc\xb1\xd5\xe7\x68\x70\x96\x30\xb8\xd6\x29\x9f\xf2\x2e\x55\xdb\x32\x99\x4f\x22\xea\xa9\x67\x3f\xae\xa0\x0b\x9e\x8a\xd3\x79\xd5\x80\xce\xee\x6e\x1d\xee\x43\x67\xf7\x81\x7d\x11\xd1\xf2\xe3\xe3\x7b\x15\x7f\x99\x92\x80\x55\xd9\x11\x0f\x2e\x59\x1b\x31\x7c\x34\x27\x24\xf7\xc7\x9e\xad\xe5\x19\xaa\x37\x58\xc5\x3e\x0b\xb2\x62\xe7\xea\x2d\xc0\x1a\x63\xe9\x1a\x6c\x08\xcc\x49\x3a\x3f\x6f\x5f\x30\xbb\xb2\xb6\x65\xa7\x76\x9c\xa9\xdb\x17\xf6\x6e\xb5\x66\xd1\x88\x8e\x88\x3f\x57\x63\x71\x45\x8b\xac\x29\x79\xb8\xd9\x6c\xd6\x5d\x3c\x7a\x36\xa6\x73\xc8\xc9\x7b\x6e\x91\x0f\x93\x74\xb2\xcf\x92\xdb\x1d\x18\x84\xf9\x3e\x4e\x5a\x7a\x5e\xdf\x7c\x02\x5f\x9d\xb4\x5a\xad\x6f\x5a\xad\xd6\xb3\x56\xab\xc5\x4a\x76\x76\x64\x49\x9c\x96\xcc\x92\x27\xad\xd6\x37\xdf\xb4\x5a\xcf\x9e\xf1\x92\xdb\x7b\xaa\xe4\xc9\x37\xac\xec\x33\x5d\xf2\xa4\xf5\xcd\x37\xdf\xb4\x9e\x3d\x7b\x86\x25\x77\x1e\xea\x92\xac\x28\x2b\xfb\x4c\x60\x9b\x51\x14\x20\x86\xed\x24\xc9\x72\xc8\xc2\x51\x1c\x0e\x43\x9f\xc4\x39\xab\xa4\x66\x71\xf5\xe6\xb9\x90\x3a\xdc\xfd\x0d\x92\x6b\xdc\xd4\xe3\x48\xab\x97\x53\x49\x5e\xcb\x70\x77\x95\x51\x2b\x9b\x4d\xb9\x4f\x67\x91\x3b\x6f\xda\xed\xe7\xf4\xe6\x2c\x61\x85\x4c\x06\xd5\x0f\x9e\xdd\xbb\x6a\xe2\x09\x7a\xf6\x7d\x98\x8f\xbd\xda\x57\xb5\xba\x83\x2b\x50\x3f\x31\x9e\x9c\xf2\x9d\x5f\x4a\x02\x66\x9e\x7c\x05\xc9\x70\xc8\x94\x14\xe3\xe6\xab\x66\x36\x1b\x64\x79\xea\x89\x65\x09\xbe\x06\x8b\x5e\x04\x33\x11\x51\x23\x0b\xff\x82\x16\x0b\xb6\x7b\xbe\xdd\x80\xbd\x06\x3c\x6a\x40\xbb\x73\xa1\x62\x5e\x5f\xa9\xe5\x4d\xb7\x0b\x9b\x6d\x37\x83\x6a\xc8\x71\x12\x6f\x32\x33\x83\xd3\x4b\x82\xbe\x12\xec\xbf\x75\xfe\x0f\x42\xdd\x6e\x85\xae\x5e\x89\x6e\x4d\xa3\x30\x17\x9e\x17\x68\xf5\x27\x33\x0c\xd6\x8f\x67\x6e\xdc\xc1\x5a\x62\x05\x5b\xb0\x7d\x20\xb2\x52\xb3\xcb\x2d\xfe\x72\x4c\x5d\x66\x8e\xcc\x4c\x96\x53\xc8\x1f\x14\xf3\x99\xe8\x98\xc5\x38\x6a\xaf\x93\x74\x22\xf6\xdb\x13\x68\xef\x49\x5e\xd1\x4a\x25\x4e\xd2\x49\x7b\xcf\xd6\x2a\xea\x61\xda\xab\x06\x14\xf5\x07\xef\x4f\x17\x3a\xf0\x14\xae\x60\x5f\x09\xc9\xd6\x96\x00\x6f\x3a\x81\xcb\xc2\x6d\x2c\xfc\xf8\x31\xec\xf0\x1a\x5b\x5b\xf0\xb0\x58\xf6\x0a\x9e\x3c\x01\x6f\x07\xee\xf3\x37\x78\x60\x13\x3a\xf5\xfa\x01\x96\xed\xec\x30\x35\xbb\xdd\x11\x55\x6e\xd7\x2c\x6d\x26\xf8\x14\xbd\x98\xce\x12\x66\x3c\x78\xe7\x69\x03\x46\x0d\x18\x5c\x34\x27\x64\xea\xf1\x2e\xd6\x2b\x94\x49\x69\x1e\xbb\x8b\x12\xc1\xba\xbc\xd6\x84\xcc\xd1\x0b\xc8\x84\xc7\x8f\x47\xf8\xe9\x34\x53\x29\x62\xca\x18\x2a\xad\xc3\xc0\x30\x25\x39\x1e\x8f\xc7\x5b\xea\x2f\x71\xdc\x6c\xcc\x79\x02\xb1\x0c\x22\x9a\x65\xdc\x37\x79\x07\x82\x70\x14\xe6\x19\x84\xb9\x38\x01\x98\x92\x20\xa0\x01\x63\x3e\x36\xd8\x3b\xe8\xa2\x21\x66\x8d\x40\xe9\x80\x61\x88\x4e\x62\xea\x50\x8d\x4d\xa2\xcb\x67\xca\x22\x89\x56\x99\x29\x8b\xb3\xeb\x67\x98\x29\x6f\xda\xed\x2a\x45\x54\x35\x4b\x6e\x6d\xc1\x5b\xc2\x89\x22\x54\x22\xc6\x14\xd5\x74\x1c\x26\xb3\x54\x90\x12\x4f\x78\xc2\x0c\xc4\x9b\xe7\xe0\x4d\xd3\x64\x40\x06\x91\x98\xe5\xb6\xb6\x00\xb5\x02\xcd\xc4\xcb\xbb\xc2\x75\x2b\x08\x87\xc3\xd0\x9f\x45\x48\xf6\x8c\xf0\xd3\x20\x6e\xdd\xa0\xa6\xc5\xc2\x90\x51\x3a\xc9\x20\x4f\x24\x28\x92\xa6\x78\xba\xc9\xe6\x33\x31\x72\x9c\x24\xc2\x4b\x26\x86\x29\x4d\xf1\x49\x01\xbe\x5d\x90\x4c\x06\x61\x2c\x8e\x54\x87\x12\xc8\x88\x4c\x26\x8c\x4f\x52\xf1\xea\x48\x43\x50\x9c\x6f\x50\xe4\x29\x89\x33\xee\x4e\x83\x79\x0c\xf2\x9f\x67\x24\xce\xd5\x81\xa7\xda\x70\x52\xfa\x89\x49\xab\x3e\x44\x61\xca\x8d\xf3\x89\x60\xb6\x29\x51\x0c\x86\x84\x1b\xcc\x81\x6f\x37\x49\xbf\x40\xe5\x0a\xdb\x04\x58\x1f\xae\xc3\x80\xfa\xc9\x84\x66\x1a\xde\xfa\x70\x38\x1c\xae\x37\x01\x4e\x7d\x82\x37\xd1\x91\x33\x09\x28\x25\xac\x76\x76\x84\x4b\x33\x6b\xa3\xb3\xfb\x40\x3a\x12\x64\x64\x42\x35\x34\x92\x81\x3f\xcb\x73\xfe\x44\xcd\x50\x99\x85\x4d\x80\xef\x29\x64\xef\xc5\x6c\x33\x09\x83\x20\x62\xcb\x5a\x3a\x45\x22\xa0\xb3\x5d\x90\xcc\xd4\xa3\x97\x22\x3e\xad\x81\xbd\xbd\x1d\xa8\x35\x22\x6c\x80\xa9\x15\x6f\xdd\x24\xec\x14\x48\x38\x09\x23\x92\x42\x40\x49\x04\x6c\xc1\xde\x04\x94\xa8\x29\x09\x32\xc8\xaf\x13\x4e\x5c\x35\x65\x17\x48\xaa\xe1\xa0\xc1\xeb\xb1\xe1\x65\x3c\x0e\xb3\xa9\x20\x4d\x9d\x51\x13\x59\xad\xb0\x73\xc4\xcb\x85\x39\x9a\x01\x1a\x0e\xa7\x78\x3c\xbf\x26\x73\x5c\xee\xfb\x24\xe6\x24\x91\xa1\xdc\xc6\x4c\x5a\xc3\x11\x86\x96\x51\x8b\x15\x27\x39\x96\x93\x62\xdb\x22\xc5\xd9\x38\xa5\xd4\xee\x2f\x13\x0c\x71\x72\x2f\xe4\xa0\xc4\x54\x43\xc4\x04\x6b\x35\x35\x2c\xda\x1c\x35\xa1\xdd\x1a\x4a\x1e\x63\xdf\x87\x32\x1f\xed\x09\x36\x58\x72\x8e\xec\xd8\x68\xb2\x61\x41\xea\x70\xc5\x38\xa6\xd0\x31\x16\x14\x4d\x73\xca\x43\x1b\x3b\x4d\x66\x71\xe0\x15\x3a\x0e\x5b\x48\x7e\x97\x0d\xed\xb6\x9f\xf9\x82\xcf\xb6\xa0\xb5\xa2\xe2\xf1\x6e\x84\x7d\x84\x16\x2e\x17\xde\xa6\x41\x58\xa7\xa5\xe5\x9a\x0f\x0d\xbb\xcd\xbb\x12\x7d\xa7\x51\x46\x2b\x2b\xb0\xc9\x0a\xe7\x4f\x51\x1c\x7b\x84\x67\xa7\x53\xb9\xf9\xdb\x36\x0f\xf8\x2b\xe6\x5e\x56\x83\xcd\xba\xc8\x7b\xee\x49\x37\xe3\x17\x67\x84\x1f\x24\xd3\xe7\x35\x61\x47\xd7\xec\x35\x23\xce\xc4\xf9\x98\x86\xa9\x9a\x88\x85\x5b\xb1\x7a\xc6\x17\x7d\xe0\xf8\xea\x52\xcd\x1b\x6c\x82\xc3\xf5\x79\x93\xcf\xa3\x62\xaa\x21\xb1\xf0\x40\x55\x05\x1b\x7a\xf2\x14\x2b\xfa\x80\x4f\x0f\x6c\xa2\x72\xcf\x8a\x1f\xb8\xeb\xe1\x63\xfe\xeb\xc9\x2d\xf4\xe4\x4c\x6a\x4c\xf0\xa9\xf0\xb8\x4e\x86\x3a\x95\xeb\x7e\x6b\x86\x73\xcd\x9d\x25\xf8\xe8\xc7\xa1\x7a\xa6\x1a\x50\xf6\xaa\x3d\x43\x8e\xd9\x90\xb3\x36\x8d\x19\x92\xa4\x23\x7d\xd6\x8e\xfb\x70\xe2\xb4\xdd\x60\x4c\x4c\x3e\xd0\x65\x3a\x3b\xce\x32\x9d\x1d\xee\x7d\x26\x27\x5b\x81\x98\x37\xd6\x0e\xa5\x8c\x4d\xc7\xf4\xc6\xd0\x00\x3b\x5a\x03\x30\x25\xdf\x65\x7f\xab\x1d\x14\x6c\x58\xdf\x25\xf4\xc6\x0d\x10\xc6\x9b\xe3\x42\xf4\xfa\x57\xeb\xb0\x01\xa9\xf8\x7f\x24\xfe\x1f\xb0\xff\x95\x37\x95\x75\xf7\x5a\x0b\x24\x6b\x93\x8b\x24\x76\xa3\xae\x8f\x82\x4c\x97\xc6\xa2\x71\x6f\x2d\x65\x3d\xee\x00\x26\x34\x00\x5f\xcd\x72\x35\xb0\x01\xb5\x06\x18\x7b\x49\x76\xa9\xce\x4a\xa5\xb6\x75\xa9\x7a\xed\xc0\xf4\xf8\x22\xe9\xa8\xd2\xeb\xb3\xc2\xc9\xd4\xed\xf9\x46\xd2\xd1\x79\x78\xc1\x23\xdf\xe1\xb0\xf1\x04\xd3\x19\xc1\xf4\x56\x60\xed\x5a\x65\xb5\x5a\x10\x54\x21\xe9\x68\x35\xf9\x56\x66\x34\x13\x5d\x4b\xae\xdd\x92\xaf\x36\xa5\x87\xe2\x05\x34\x12\xe3\xfe\xa6\x06\xc2\x1d\x90\x49\x34\x1d\x13\x18\x86\x34\x0a\xb4\xd3\x27\x90\x6b\x32\xff\xf5\xe9\x07\x45\x83\xb2\x92\x30\x95\x1b\x67\x5b\xa1\x30\xbe\xa0\xa6\xc0\x5d\xa7\xe7\x28\x8f\x65\x4d\x51\x12\x70\x36\x6b\x19\x9e\xa4\xda\x63\x47\x40\xf3\x53\xe2\xbf\x67\x73\x87\x9c\xde\x96\xc8\x96\x29\x5a\x5f\x31\xb9\x32\xf6\xa5\x3c\xcf\x12\x8c\xd6\x45\x9d\x2d\x1d\x99\x6c\xd8\xe1\x6a\x4b\x1f\xaf\x20\x9c\x58\x0f\x1e\xde\xb1\x5e\x47\xd4\x6b\xd5\xed\x6d\xb4\x06\xec\xd5\xff\x89\xca\xe5\x19\x11\xce\x70\xdc\x47\xc8\xcf\x32\x21\x6d\x78\x7e\x1d\xe2\x48\xe3\xb2\x83\x55\xc6\x05\x22\x5f\x01\xa7\xa3\x01\xe3\x20\x26\x79\xf6\xd2\xf7\x04\xdb\xc9\x96\x2c\xe8\x70\x73\x01\x77\x1f\xca\x4b\x39\x95\x55\x58\xce\x05\x74\xa8\x77\x96\x02\x3a\x5c\xb8\xb5\xe4\x98\xf8\x10\x80\x72\xa9\x72\x6c\x5f\x36\x73\x9a\xe5\x58\xca\x02\x15\xd0\xa1\xb9\x75\xe9\xb4\x8b\x38\x68\xe7\x8e\xe4\x36\xa3\xd3\x0e\x58\x57\xaa\x4c\x32\x0a\xcd\xc5\x65\xb5\x44\x0c\xc3\x7e\xb2\xc5\x71\x6e\x38\xc9\xa1\xaa\xeb\x9a\xce\x6e\xf0\x84\x59\xd7\x4f\x81\x4f\x1f\xb0\x0f\xed\x03\x7b\xf3\x95\xe0\x94\xc5\x85\x48\x4d\x3f\xc0\x85\xc3\xfe\xdd\x31\x7f\x63\x4b\x62\x1e\x32\x7a\xfb\xe6\x8a\xa6\xfc\x74\x51\xab\x5e\x7f\x4c\xe2\x98\x46\x4c\x89\xf1\x8e\x6e\x21\xb3\x60\xbf\x4a\xdd\xcc\x68\xde\x13\xbd\x50\x7d\x4c\x47\x83\x06\x87\xe5\xf2\x07\xac\xd2\x2e\xa2\xc7\x5d\x5e\x73\x25\xa3\xd4\x1e\xb9\x57\xe1\x0d\x5b\x77\xd3\xd4\xa7\x71\x4e\x46\xb8\xe8\x24\x90\x87\xe8\xc1\x1e\xa1\x3f\x1d\x1b\x3b\x18\x90\x8c\x56\xf4\x66\x12\x5a\xba\x93\x95\x6c\x20\x84\x86\x84\x6b\xf5\xa8\x5d\xd1\x25\x56\x4f\xed\xea\x91\x74\xde\xa9\x28\xc7\x20\xd7\x0f\xaa\x2e\x96\xec\x1c\xc0\xc6\x46\x68\xaa\xe8\x20\x1c\x0e\xb9\xf3\x63\x87\x29\x97\x4d\xc4\x41\x5d\x27\x11\x3f\xe4\x4b\x5f\x85\xd5\x8d\xc8\x65\xc6\x08\x82\xb9\xaf\x7a\x54\xd4\x34\xd5\xf4\x6e\xdb\x04\xe7\x7b\xa4\x25\x1e\x51\x32\xa2\xe6\xc2\x30\xcf\xf4\xc6\x97\x32\x04\xde\xc4\x90\xcd\x7c\x9f\x66\x59\x03\x48\x49\xd0\xe4\xfd\x0d\x8e\x14\x3a\x94\x1f\x73\xbd\x25\x66\x3f\xc3\x5a\x60\xd0\x64\xf9\x8c\xbf\xdc\xdb\x2e\x8d\xad\xa4\xba\x39\xc0\x98\xa5\x75\x13\x67\x0a\x53\x3b\xb1\x5e\xd5\xea\xe5\x69\x92\x97\xac\x3a\x4f\x21\xc6\x74\x69\x2c\x07\xc1\xe5\xb6\xaa\xd4\xfb\xbc\x62\x6a\x58\xb5\xd1\x3b\xb4\xa9\x6e\xec\xb4\x17\xa3\xc1\x98\x42\x5e\x9c\xa0\xdc\x3d\xf5\x90\xcd\x05\xf1\x0f\xb5\x1c\x90\x9e\xdc\x85\x96\x93\xd1\x10\x59\x6e\x10\x2c\xdb\x9a\x45\x5f\x7b\x21\x94\x96\x45\x69\xcd\x4b\xaf\xf5\x35\xc7\x3c\x0d\xa7\x53\x1a\x30\x96\xc2\xdd\x30\x7e\xfd\x4c\xdb\x47\x79\x02\x51\x72\x4d\x53\x9f\x64\xe2\x7e\x0f\x63\x11\xde\x0c\x5a\x7c\xe2\xcc\xa1\x21\x26\xb9\x4c\x73\x97\xe9\xae\x1e\x89\xcb\xbc\x06\x96\x79\x82\xab\xbe\x09\x7f\x9d\x8d\xd5\x0c\x68\x1a\x5e\x99\x0f\x88\x67\x79\xe2\xbf\x67\xbd\x13\x1b\xc0\xcd\xfc\x26\x37\x7d\x7b\xdc\x77\x10\xce\xe4\x09\x83\x6a\x67\xe9\x26\x2c\x6e\x0d\x66\xd3\x04\x63\x0d\x54\x10\xce\x9e\x97\xe5\x6c\x57\xbc\x13\xa0\x39\x5f\x0c\x85\xa5\xa5\xd8\x3f\x48\xfc\xaa\xf9\x59\x97\xc0\x4b\x03\x17\xa8\xc9\x62\x1e\x23\x0d\x0f\xaa\xf3\xe4\x25\x1b\x8e\x43\x22\x83\xe8\x7d\xb9\xa6\xf4\xe9\x7d\xb6\x81\xc7\xf7\xb5\x2f\xd0\x60\x15\x77\x9f\xa9\xe1\xe7\x43\x39\x25\x11\xcd\xf3\xf2\x40\x60\x99\x43\xf6\xfd\x2d\x2f\x61\xcf\x0b\xd2\xde\x59\x03\xf0\xce\x71\x63\x8d\xc2\x7a\xef\xf5\xe9\x0b\x68\xef\xad\xe3\x0d\x5e\x00\xa8\x7d\xd5\xc2\x0f\x9b\xd8\xbf\x3a\x3c\x54\x5f\x77\x8e\x1e\xf5\x5a\x7b\x3c\x75\xa7\x87\xa9\xa2\xfc\xf6\xce\xde\x6e\x6f\x07\x73\x1e\xec\xee\xb6\x1e\x3c\xc3\xaf\xad\xbd\x47\x0f\x1f\xf5\xf0\x6b\x7f\xbb\xff\xe0\xf0\x58\x95\xdf\xdd\xdd\x7d\xb0\xbb\x8d\x39\x47\xc7\x9d\x47\x9d\x47\xbc\x7c\xeb\x59\xaf\xcd\x53\x8f\x0f\x8f\x1e\xed\xe8\xf2\x0f\x3a\x8f\x8e\x59\x75\x96\xd3\x69\xb5\x0e\x9f\xc9\xf2\xbb\xcf\xfa\x1c\x0a\xfb\x1c\xd6\x1a\x6a\x97\x8e\x75\x6c\xef\x66\x4f\x50\xcb\x9f\x0d\x78\x68\x95\x52\xf7\xd8\x97\xdd\x63\xf5\xf5\xe1\x03\xf5\xb5\xa7\x53\xfb\x3a\xf5\x58\x23\xc5\x2a\x2a\x28\xbb\xc7\x0a\xca\xee\xb1\x82\xb2\x7b\xdc\xd3\xa9\x7d\x9d\x6a\x41\x79\xf8\x40\x41\x79\xf8\x40\x41\x79\xf8\x40\x41\x79\xf8\xa0\xa7\x53\xfb\x3a\xd5\x82\xd2\xd3\xb8\xf4\x34\x2e\x3d\x8d\x4b\x4f\xe3\xd2\xd3\xb8\xf4\x6c\x5c\xfa\x1a\x97\xbe\xc6\xa5\xaf\x71\xe9\x6b\x5c\xfa\x1a\x97\xbe\x8d\xcb\xb1\xc6\xe5\x58\xe3\x72\xac\x71\x39\xd6\xb8\x1c\x6b\x5c\x8e\x39\x2e\x92\x47\x8e\xd5\x20\xb1\xaf\x02\x0c\xfb\x2a\xc0\xb0\xaf\x3d\x9d\xda\xd7\xa9\x06\x32\x6c\x5c\x14\x14\x35\x48\xec\x8b\x82\xa2\x06\x89\x7d\xed\xeb\x54\x0b\x8a\x1a\x24\xf6\x55\x41\x51\x83\xc4\xbe\xf6\x74\x6a\x5f\xa7\x5a\x50\x7a\x1a\x97\x9e\xc6\xa5\xa7\x71\xe9\x69\x5c\x7a\x1a\x97\x9e\x8d\x4b\x5f\xe3\xd2\xd7\xb8\xf4\x35\x2e\x7d\x8d\x4b\x5f\xe3\xd2\xb7\x71\x39\xd6\xb8\x1c\x6b\x5c\x8e\x35\x2e\xc7\x1a\x97\x63\x8d\x8b\x3d\x48\x8c\x2c\x02\x0c\xfb\x2a\xc0\xb0\xaf\x02\x0c\xfb\xda\xd3\xa9\x7d\x9d\x6a\x20\xc3\x28\xaa\xa0\xa8\x41\x62\x5f\x15\x14\x35\x48\xec\x6b\x5f\xa7\x5a\x50\xd4\x20\xb1\xaf\x0a\x8a\x1a\x24\xf6\xa5\xa7\x53\xfb\x3a\xd5\x82\xd2\xd3\xb8\xf4\x34\x2e\x3d\x8d\x4b\x4f\xe3\xd2\xd3\xb8\xf4\x6c\x5c\xfa\x1a\x97\xbe\xc6\xa5\xaf\x71\xe9\x6b\x5c\xfa\x1a\x97\xbe\x8d\xcb\xb1\xc6\xe5\x58\xe3\x72\xac\x71\x39\xd6\xb8\x1c\x6b\x5c\xec\x41\xea\x69\x49\xea\x69\x49\xea\x69\x49\xea\x69\x49\xea\x69\x49\xea\xd9\x92\xd4\xd3\x92\xd4\xd3\x92\xd4\xd3\x92\xd4\xd3\x92\xd4\xd3\x92\xd4\xb3\x25\xa9\xa7\x25\xa9\xa7\x25\xa9\xa7\x25\xa9\xa7\x25\xa9\xa7\x25\xa9\x67\x4b\x52\x4f\x4b\x52\x4f\x4b\x52\x4f\x4b\x52\x4f\x4b\x52\x4f\x4b\x52\xcf\x96\xa4\x9e\x96\xa4\x9e\x96\xa4\x9e\x96\xa4\x9e\x96\xa4\x9e\x96\xa4\x9e\x2d\x49\x3d\x2d\x49\x3d\x2d\x49\x3d\x2d\x49\x3d\x2d\x49\x3d\x2d\x49\xbd\x82\x24\xf5\xb5\x24\xf5\xb5\x24\xf5\xb5\x24\xf5\xb5\x24\xf5\xb5\x24\xf5\x6d\x49\xea\x6b\x49\xea\x6b\x49\xea\x6b\x49\xea\x6b\x49\xea\x6b\x49\xea\xdb\x92\xd4\xd7\x92\xd4\xd7\x92\xd4\xd7\x92\xd4\xd7\x92\xd4\xd7\x92\xd4\xb7\x25\xa9\xaf\x25\xa9\xaf\x25\xa9\xaf\x25\xa9\xaf\x25\xa9\xaf\x25\xa9\x6f\x4b\x52\x5f\x4b\x52\x5f\x4b\x52\x5f\x4b\x52\x5f\x4b\x52\x5f\x4b\x52\xdf\x96\xa4\xbe\x96\xa4\xbe\x96\xa4\xbe\x96\xa4\xbe\x96\xa4\xbe\x96\xa4\x7e\x41\x92\x8e\xb5\x24\x1d\x6b\x49\x3a\xd6\x92\x74\xac\x25\xe9\x58\x4b\xd2\xb1\x2d\x49\xc7\x5a\x92\x8e\xb5\x24\x1d\x6b\x49\x3a\xd6\x92\x74\xac\x25\xe9\xd8\x96\xa4\x63\x2d\x49\xc7\x5a\x92\x8e\xb5\x24\x1d\x6b\x49\x3a\xd6\x92\x74\x6c\x4b\xd2\xb1\x96\xa4\x63\x2d\x49\xc7\x5a\x92\x8e\xb5\x24\x1d\x6b\x49\x3a\xb6\x25\xe9\x58\x4b\xd2\xb1\x96\xa4\x63\x2d\x49\xc7\x5a\x92\x8e\xb5\x24\x1d\xdb\x92\x74\xac\x25\xe9\x58\x4b\xd2\xb1\x96\xa4\x63\x2d\x49\xc7\x5a\x92\x8e\x2d\x49\x12\xb6\xdf\x28\xa5\x73\x7e\x8e\x9d\x92\xc9\xd4\x30\xfd\x1e\xb2\x3f\x58\xaf\xdd\x61\x7f\xf8\xd7\x43\xf6\x07\xbf\x76\xf6\xd8\x1f\xfc\xba\xdd\x62\x7f\xf8\xd7\x1e\xfb\xa3\x30\xdd\xc1\x0f\xe6\xec\x1c\xb1\x3f\x7c\x72\x7c\xc8\xfe\xe0\x57\x04\xc2\x61\xef\x1d\xb2\x3f\xf8\xf5\xc1\x1e\xfb\xa3\xd5\x3b\x22\xc3\x55\x76\x8f\xfd\xc1\xaf\x8f\x76\xd8\x1f\xfe\xf5\x88\xfd\xe1\xea\x02\x4b\xe0\xd7\x67\x1d\xf6\x47\x41\x79\x76\xc8\xfe\x60\x0e\xb6\xc4\x71\xef\xb7\xd8\x1f\xfe\xb5\xc7\xfe\xe0\x57\xc4\x95\xc3\x46\x8b\xf9\x08\x9d\x93\x2f\xea\xf6\x3a\xc3\x9f\xa5\x29\x55\x5b\x5a\x62\xa5\xd1\x90\x51\x85\xe6\xfc\x2c\x63\x96\xd1\x14\xf7\xf1\x46\x8e\x53\x02\xbf\x72\x01\x52\x5a\x9f\xd8\x57\x64\x02\xe9\x0b\x47\x7c\x3f\x49\x03\xe1\x90\x60\xad\x7d\x4b\x0b\xdf\x72\xcb\xaf\x45\xf0\x09\xb6\xf4\x5c\x27\x51\xe8\xd3\x41\x34\xa3\xeb\xfb\xe8\x57\xed\x75\x76\x5a\x0d\xe8\xec\x3c\xe4\xae\xaf\xeb\x0d\x2c\x14\xe7\xe1\x9f\x67\xf4\x7a\x1c\xe6\xba\xdc\x2e\x2b\xb7\xbd\xdb\x80\x4e\xdb\x55\xae\xad\x0b\xb2\x32\xdb\x8f\x58\xc1\x47\x8e\x82\x1d\x55\x70\x9b\x35\xda\xd9\x6e\x40\xa7\xb5\xe3\x28\xb8\xad\x0a\xb6\x76\x1b\xd0\x7e\xd4\x69\x40\xfb\xc1\x9e\xa3\xe0\x8e\x2c\xd8\x66\xad\xb6\xb7\xdb\x0d\x68\x77\x5a\xb2\xe0\x9f\x67\x64\x42\xd2\x30\x56\x3d\x69\x77\x1e\x60\x67\x19\x82\x9d\x52\xa9\xf6\x6a\xc5\x54\x2f\xda\x6d\xd6\x0b\xd6\x95\xf6\xa3\x87\xa5\x62\xaa\x0f\xed\x56\x87\xf5\x93\x75\xe4\x41\x19\x35\xd5\x83\x3d\xec\x00\xfb\xab\xad\x7a\xfa\x97\x59\x5a\x18\x2d\x44\x4a\x8f\x16\x2b\xd0\x5e\x5a\x42\xd3\xbd\xb3\x23\x30\xee\x6c\x3f\x34\x4b\x68\x64\x1f\x6d\x0b\x64\x3b\x2d\x0b\x86\x41\xe9\xb6\x44\x74\x5b\x0e\xf2\x80\x86\x23\x03\x51\x56\x1b\xff\x52\x43\x31\x08\xb3\x3f\x1b\x8c\x87\x38\x76\x90\x70\x7b\x56\x89\xf6\xf2\x22\x05\x26\x6a\x6f\x37\xa0\xfd\x70\xdb\x2a\x52\x60\x9f\x87\xac\xc8\xee\x43\xab\x48\x81\x71\x3a\xac\x5c\xeb\x81\x2c\x12\x11\xff\xbd\x2c\xd0\x6a\x00\xfb\x4f\x67\xc5\xfe\x98\x06\x24\x9a\x24\x71\x50\x60\x7c\x8b\x6a\xa6\xa4\x71\x18\x7a\x54\x58\x5e\x7b\x51\x66\xa7\x90\xa9\x46\x8b\x65\x6e\x17\x32\xad\x26\x77\xec\x4c\x63\x8c\xa2\x19\xbd\x0a\x93\x88\xe6\xba\xeb\x0f\x1b\xb0\xc3\xc6\xbb\xa3\x48\x9c\x26\xd7\xb1\xca\xdf\xdb\x6d\xc0\x4e\x87\xfd\x6f\x66\xdb\x63\xb4\xb7\xc3\xfe\x37\xf3\xed\x01\xda\x7d\xc4\xfe\x37\xf3\xed\xd1\xd9\x6d\xb3\xff\xcd\x7c\x7b\x68\x18\x51\xb7\x55\x07\x67\x69\x34\xbf\x4e\x12\x4d\xf8\x0e\x53\x0d\x0f\x77\x58\x47\x4b\x85\x0a\xcc\xd4\x66\x7c\xbb\x5b\x2a\x65\xa3\xdb\x7e\xf4\xe0\xff\x67\xef\xdf\xbb\xdb\xb8\x91\x84\x71\xf8\x7f\x7f\x0a\xd8\x4f\x36\x24\x6d\x8a\x12\x65\x59\xbe\x64\x94\x79\x34\x8e\x33\xeb\x3d\x8e\x93\x8d\x9d\xcd\xbb\x47\xd1\x78\x41\x36\x48\x76\xd4\x6c\x30\x8d\x6e\x49\x9c\xd8\xef\x67\xff\x1d\x54\x15\x80\x02\xba\x79\x71\x92\x99\x9d\x99\x27\x73\xc6\x8a\xd4\x5d\x8d\x46\x17\x0a\x85\xba\xd7\x50\x8c\x4f\x5a\x50\x09\x49\x3d\x3e\x02\xa2\x49\xa1\x12\xaa\x1a\x3f\x1a\x8a\x27\x0e\x68\x2a\x33\x55\x73\xa2\x78\xfa\x08\xc8\x72\x28\xc6\xa7\x47\x29\x4c\x60\x45\x8f\x8e\xdd\x66\x7a\xd4\x1a\x29\x70\x22\xbb\x4a\xc7\xc7\x4f\x39\xa5\x78\xa8\xb0\xb7\x01\x59\xf6\x03\x03\xc9\x78\x28\x3f\x75\xd8\x2d\x0f\x4f\x38\xe9\x4c\x17\xb2\xaa\x2b\xd5\x98\x0e\x46\x7a\xd4\x82\xe9\x60\xa3\x6d\xa0\x0e\x26\xda\x06\xea\x60\xa1\x6d\xa0\x36\x03\x0d\x30\x7a\xaa\x0b\xc9\x0e\xb2\xb1\x5d\x36\x3b\xcc\xc3\x16\x4c\x4c\x2c\x30\xf5\x87\xa7\x29\x50\x42\x2b\x76\xea\x0f\x1f\xa6\x40\x09\xa9\xc0\xd4\x9f\xa6\x40\x31\xa5\xc0\xd4\x3d\x8c\xae\x64\xd1\x9e\xcd\x93\x23\x7e\x3f\x99\xee\xf8\x64\x28\x9e\x9c\x72\x80\x64\xaa\x47\xa7\xe9\x08\xf1\x34\x9f\x8e\xed\x2c\xf8\xfd\x64\x86\x96\x0d\x3c\x0e\xf7\xcb\x19\x58\xff\x39\x3d\x8f\x8f\x2c\x76\x4f\x80\x08\x39\xa4\xc9\x8b\xab\x78\x27\x82\xc8\x71\x7c\x94\xc0\x8c\xf7\x01\x4a\xb8\xff\xc3\xe3\x88\x98\x09\x28\xfe\xb4\x63\x98\xd7\xe3\x74\x4a\xa9\xe8\x70\xca\x45\x87\xe9\x5a\x96\x8c\x91\x26\x87\xaa\xbd\x3b\xde\x7e\x9b\x33\xf0\xe4\xc0\xb5\xb7\x39\x0b\x4f\x4e\x5b\x7b\x9b\x33\xf1\xe4\xa8\xcd\x64\x75\xd5\x3e\x5a\xe2\xfb\xc9\xec\x3b\x46\x98\xeb\x22\x53\x65\x15\x18\x29\xf1\x50\xfb\x63\xdc\x05\x97\xd0\xdb\x13\xe0\x5d\x5d\x80\x09\xdd\x3d\xb6\xdc\xe4\xa4\x0b\x30\xd9\x26\x27\x70\x0c\x77\x01\x26\x0b\x75\x34\x1e\x8a\x27\x1c\xae\x92\xeb\x70\x62\x59\x08\xfa\x11\xc1\x28\x15\x61\xe4\x88\x1d\xe9\x04\xb0\x73\x90\xab\x85\xbc\xca\x03\xbe\x9e\x3a\xc9\xc2\x8b\x0d\x16\x68\x29\xe7\xaa\xac\x65\x34\xe5\xd6\xfa\xe8\x22\xbf\x56\xd1\x9c\x9e\xa0\xfc\xc1\xf6\x58\x0c\x17\xd0\x0f\xec\x04\xf7\xfc\x71\x27\x68\xe0\xac\x4f\xbc\x78\x7a\x74\xd2\x09\x1a\xf8\xeb\xa9\xe3\xaf\x4f\x8f\x3a\x21\xc3\x1a\x8c\x1d\x41\x9d\x72\x3a\xd1\x95\xd5\x7f\x62\x1a\x39\x49\x70\x8c\x30\x1d\x7c\xb6\x0d\xd4\xc1\x67\xdb\x40\x1d\x7c\xb6\x0d\xd4\xe6\xb3\x31\xcc\x74\x91\x87\x3d\xf0\xe8\xe1\x50\x80\xae\x13\xe3\x0b\x80\xc2\xa9\x06\xac\xf2\x98\x6f\xf8\x00\x15\x90\xff\xd8\xca\x3e\xd1\xbe\x0f\x50\x01\xef\x8f\x4e\xdc\x1b\xdb\x63\x85\xa9\x1f\x9d\x0c\x45\x7c\x22\x5b\xa8\x4a\x65\x29\x99\xf1\x6f\x33\x20\xa2\x06\x44\x82\x10\x0c\x62\x0b\xa7\x1b\xa3\x64\x44\x88\xe3\x13\x90\xa7\x2d\xd6\x4f\x1e\x76\xc0\x8d\x63\x45\x01\xd6\xf0\x69\x17\x20\x23\x43\xc7\x02\xc7\x4f\x8e\x3a\x00\x19\x32\x1e\x39\x3d\x29\xc2\xac\x03\x64\xf8\x78\xe4\x98\x5a\x84\x36\x63\x0f\x56\xce\x1b\x1f\x1f\x5b\x32\x4d\xf1\x06\x60\x9c\x6b\x9c\x3c\x1e\x8a\xc7\x4f\xed\xbf\x2e\x28\x26\x8a\x8d\x5b\xac\x3e\x82\x64\xe2\xd8\xb8\xc5\xf5\x23\x48\x26\x92\x8d\x5b\x07\x40\x04\x19\xc4\xb2\xe3\x4e\x46\x4e\x80\x6a\xfb\xc7\xd4\x4d\xf5\x53\xa3\x73\xa3\xa2\x63\xe7\xd4\xfe\xe0\x60\x89\x7a\x60\x4f\xe0\x23\x10\x9c\x1d\x8c\x9a\xe4\xb2\x64\x74\x77\x6c\x25\x5c\x2b\x9b\x04\x08\xb5\x5a\xe5\x65\x72\xde\x83\x5c\xf0\x38\x01\x19\xef\x01\x93\xf0\x01\xfb\xef\x61\x0a\x93\xb0\x81\x53\xe0\x17\x09\x4c\x7a\x84\x30\x59\xc8\x82\x98\xab\x75\x72\xa4\xc2\x26\x67\xcb\x1c\x80\xc6\x7b\x41\xf1\xe3\x1f\x58\x01\x23\x84\x00\xc5\xa5\x00\x60\x05\x8c\x08\x02\x54\x24\x0c\x1c\xc5\x6c\x20\x5f\x46\xc7\x1f\x32\xc2\x47\xd1\xc6\xb0\x20\x6a\x3b\x88\xce\xe6\xb1\x28\xf7\x10\x56\xe3\x24\xfa\x38\x0f\x34\xde\x0b\x2a\x2c\xdd\x13\x12\x2c\x18\x0a\x3c\x54\x58\x3c\x90\x3c\x4e\x23\x14\x78\xa8\xb0\x7c\xa7\x43\xf1\xf8\x09\xc7\xc0\x2c\xaf\xd4\xa4\xca\x83\xba\x0e\xd8\x7e\x08\x0c\x33\x05\x89\x29\xce\x52\xf7\xc9\x93\x14\x26\xa6\x38\xfb\x71\x27\xad\x71\x62\x8a\xb3\x70\x0f\x5b\xe3\xc4\x14\x77\x6c\x3f\xcc\x89\xe7\xb3\xc2\x8a\xd7\x89\x85\x0d\xb8\x0a\x98\xe3\x1c\x61\xce\x74\xa5\x4c\x1d\x31\x67\x3a\x03\xd8\xb7\xcd\x65\x5e\x9a\x89\xae\x74\x50\x88\x8f\x40\x6c\xe6\xb2\xf3\x7c\xa1\x4d\x1d\xbf\x0f\x84\xeb\xd8\xf2\x67\xe5\xad\x44\x61\x66\xfa\x96\xbd\x9b\xea\xd3\xc9\xed\x44\x34\xb7\x72\x1a\xbf\x9d\x6a\xd0\x0f\xe3\xdb\xa9\xea\xfc\x38\xbe\x1d\x09\xab\xc7\xc0\x09\x4e\x2d\xf2\x8f\x53\x98\x44\xbe\xb0\xa7\x94\x67\x19\x9b\x84\x54\x7b\x42\x05\x94\x6e\x10\x50\xe1\x9b\x9f\xa6\x40\x29\x67\x01\x56\xe6\x80\xf8\xd6\x7c\x0a\xfc\x02\x7f\xb0\xfb\x47\xb1\x1c\xcf\x6f\x85\x7d\x36\x14\xf6\xff\xfc\x96\x7f\x0c\x29\x8b\x51\x17\xde\x3e\x4a\x28\x2b\x3a\xb4\x00\x64\xcc\xf7\x27\xfe\xe3\xb7\x3d\x86\x1e\x8e\x87\x02\xff\xf1\xdb\x1e\x37\x56\xac\xc0\x7f\xfc\xb6\xc7\x8a\xd5\xaa\xf0\x1f\xbf\xfd\xc8\xdf\x7e\x92\xec\x1f\xb8\x7d\xea\xcf\xb2\xf1\x50\xe0\x3f\x7e\xfb\xb1\xbf\xfd\x10\xcd\x57\x27\xd1\xbb\x9f\xf8\xdb\xa7\x43\x81\xff\xf8\xed\xa7\xfe\xf6\x93\x84\x07\x44\x47\xf8\xa3\xa1\xb0\xff\xe7\xb7\x3c\x4e\xd1\x64\xc5\xcc\x56\x70\xdb\x23\x14\x64\x3a\xf8\xc7\x6f\x87\x91\x4f\x87\x02\xff\xf1\xdb\x1e\xa1\x68\x2f\x63\x36\x33\xb8\x1d\x8c\x1c\x63\x14\x69\x4e\xa3\x77\x7b\x84\xa2\x35\x8e\x59\xe4\xe0\xb6\x47\xe8\xe9\xe9\x50\xe0\x3f\x7e\xfb\x31\xb7\xa0\xe0\x3f\x7e\xdb\x23\xf4\xf1\x78\x28\xf0\x1f\xbf\xed\x11\xfa\xf8\x64\x28\xf0\x1f\xbb\xed\xbf\xeb\xc9\x50\x3c\x09\x8a\x1b\xdc\xf2\x08\x7d\x6c\x65\x16\xf8\xc7\x6f\x7b\x84\xa2\x38\xc3\x44\x1a\xb8\x7d\xcc\x25\x23\xfc\xc7\x6f\x87\x17\x9f\x0c\x05\xfe\xe3\xb7\x83\x5c\x65\xc5\x17\xf8\xc7\x6f\x7b\x84\x5a\x35\x0f\xff\xf1\xdb\x1e\xa1\x4f\x8f\x87\x02\xff\xf1\xdb\x1e\xa1\x4f\x4f\x86\x02\xff\xf1\xdb\x1e\xa1\x4f\x1f\x0f\x05\xfe\xe3\xb7\x3d\x42\x9f\x3e\x1d\x0a\xfc\xc7\x6e\x33\x29\x18\x25\x99\x31\xe7\x19\x27\x47\xe1\xf6\x31\x29\x45\xe3\x23\x3e\xb9\x93\xf1\x36\x51\x00\x20\x82\x1c\x6b\x35\x52\xf7\x83\x43\x3c\x8c\xd5\x41\xfa\xc1\x21\x98\xc2\x78\x0c\xba\x2a\x57\x58\x01\xe2\x51\x80\x78\x44\xb6\xd2\xf1\x38\x9a\xc7\x69\x80\x78\x4c\x47\xc2\x78\x1c\xcd\xe3\x71\x90\xa3\x41\xb3\x39\xe2\x36\x1c\x80\x78\x12\x20\x8e\x41\xf7\xe1\x0a\x10\x40\x3c\x0d\x10\x8f\x9c\x27\xe0\x98\xcf\x23\x4c\x14\x2c\xa3\xf6\x1f\xbf\x1b\x30\x6e\x75\x59\xf7\x83\x43\x04\x8c\x83\xc4\x44\x3f\x38\x44\xc0\x38\xa8\x69\xf4\x83\x43\x04\x8c\x3f\x04\xe5\xe7\x11\xb7\x78\x03\x04\x3b\x89\x40\x42\xc2\x1f\x1c\x22\x7c\xc8\xc9\x11\xe9\xe7\xe3\x93\x68\x1e\xa7\xb1\x1a\x48\x3f\x38\x44\xc0\xf8\x09\xe8\xf8\x8f\xb8\xb5\x1c\x20\x9e\x44\xfa\x83\xfb\xc1\x21\x02\xc6\x41\x1f\xa5\x1f\x0c\x22\x4c\x03\x0e\x5e\x66\x6a\x82\xbb\x47\x91\xc2\xee\x7e\x70\x08\xa6\xb3\x59\x7d\x80\x7e\x70\x88\x80\x71\xb0\xc0\xd3\x0f\x0e\xc1\x8c\x23\x56\x85\xa4\x1f\x1c\x82\x89\xa5\x76\x0a\xf4\x83\x43\x04\x8c\x5b\xae\xeb\x7e\x70\x88\xf0\xa9\xa7\x20\xd3\xe0\x0f\x0e\x11\x30\x6e\x79\xaf\xfb\xc1\x21\x02\xc6\xc1\xda\x46\x3f\x38\x44\xc0\xf8\xe3\x53\x70\xa5\x72\x7f\xaa\x85\x08\x2f\x71\x7a\x16\x9f\xc3\xe3\x80\x71\xcb\x87\xdd\x0f\x0e\x11\x30\xfe\xc4\x4e\x90\x7e\x70\x08\x66\x10\x38\x71\x3e\x9b\x88\x27\x3f\x0e\x18\x7f\x62\x27\x48\x3f\x38\x44\xc0\x38\x9a\xdf\xf0\x07\x87\x08\x18\xb7\xba\x99\xfb\xc1\x21\x02\xc6\x2d\x67\x76\x3f\x38\x44\x40\xc6\xd3\x53\xf0\x3f\x72\x27\x24\x40\x04\x8c\x3f\x05\xcb\x3d\xfe\xe0\x10\x4f\x83\xf0\x38\x26\x61\xf8\xf8\x88\xcf\xe3\x49\x00\x40\xed\x37\xe2\x5b\x4f\x82\x00\x77\x04\x7a\xe1\x09\xb7\x4a\x01\x04\x33\x09\x82\x47\x07\x7f\x70\x88\x20\xe5\x1e\x3d\x05\x55\x9f\xeb\xfb\x00\x11\x44\x5c\xcb\xa0\xdd\x0f\x0e\x71\x12\x20\xec\x14\xe8\x07\x87\x78\x14\x20\xec\x14\xe8\x07\x87\x38\x0d\x10\x18\x1a\xc0\xe3\x03\x00\xe2\x71\x50\x5f\xc0\x91\x85\x3f\x38\x44\x40\x17\xb8\xb0\xe9\x07\x87\x08\x18\x07\xb7\x13\xfd\x60\x10\x01\xe0\xa1\x55\x46\xed\x3f\x7e\x37\x60\x1c\xfc\x68\xf4\x83\x43\x04\x8c\x83\xdb\x81\x7e\x70\x08\xa6\x57\x78\x87\x70\xc4\xa5\x9f\x06\x8c\x3f\x7c\x0c\x8e\x12\xee\x2d\x01\x88\x80\x71\x0c\xcf\x88\x94\x42\x80\x08\x18\x07\xb7\x1f\xfd\xe0\x10\x01\xe3\xc1\x17\x1f\x71\xe9\xa7\x01\xe3\x27\x76\x0a\xf4\x83\x43\x04\x8c\x83\x5e\x4a\x3f\x38\x44\x40\x28\x38\x29\xe9\x87\x87\x88\x4d\xee\x91\x1f\x30\x36\x25\x76\xde\x6d\x39\x50\xa2\xbb\x2d\xff\x49\x74\xb7\xe5\x3e\x89\xee\xae\x55\x51\xe8\x9b\x88\x67\xa2\x41\x20\x7c\xbe\xda\xa1\xb7\xa9\xcd\x7a\x9b\xda\xac\xb7\xa9\xed\x7a\x9b\xda\xad\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xac\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xcd\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xae\xb7\xa9\xed\x7a\x9b\xda\xaa\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\xad\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xaa\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\xad\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xaa\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\xad\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x9d\x7a\x9b\xda\xa9\xb7\xa9\x1d\x7a\xdb\x42\x97\x6a\x9d\xa9\x9b\xf8\x6b\x30\x22\xef\x28\x81\xe9\x8a\x3c\x6f\x01\x75\x05\x9f\x7b\x0a\x70\x40\x1d\xf1\xe7\x21\xac\xc4\x01\x75\x86\xa0\x8f\x3d\x50\xdd\x0a\x3c\x40\x21\xe9\xc9\x51\x0c\x92\x86\x4e\x1e\x75\xc0\x74\x44\x4f\x8e\x4f\x1f\xc7\x30\x49\x00\xe5\x29\x38\xc3\x63\x90\xd8\x3b\x68\x0f\x2b\x9f\x28\x90\x97\x59\x12\x4b\x01\xa3\x70\x99\xd4\x83\x24\x33\x86\xd9\x1c\x9d\xa6\x50\xf1\x9c\x23\x01\xd4\xc3\xc4\x73\x7e\xc2\xe3\x93\x3d\x4c\x7b\xd2\xfe\x80\xcd\xaf\x75\xb5\xee\x50\x51\xfd\xa2\x03\xc0\x78\x27\x44\x1a\xc5\x19\xd1\x04\x40\xa4\x21\x9c\x11\x41\x00\x44\x1a\xbf\x19\x51\x43\x14\xab\x87\xd4\xf9\x30\x12\x9b\x00\x20\x8d\x38\x3d\xe5\x62\x13\x40\xa4\x13\x3d\xe2\x02\x1e\x40\xa4\xa9\x2a\x4f\xb8\x38\x0c\x10\xe9\x44\xad\xaa\xe5\x10\x5a\xc8\x6b\x55\x66\xaa\x0a\xaf\x71\x53\x0d\x7b\xd6\xc1\x4c\x8a\xc6\x2c\x92\x19\x1f\x71\x06\x11\x01\xa6\xdf\xb6\x19\x32\xcd\xca\x39\xe1\x0c\x34\x82\x4c\xbf\xf5\x21\x84\x93\x77\x41\x76\xe5\xe5\x78\x0f\x7b\x21\x6f\xca\x38\xe8\x0c\xde\xf9\x88\x05\xf0\x15\x6a\xa9\xcb\xe9\x22\x9f\xcd\x58\x08\x5b\x08\x92\xf0\x7a\x0f\x87\x4b\xc9\x6e\x23\x60\xba\xa8\x0f\xb9\xac\xc1\x01\x53\x22\x04\x51\xb2\x6b\xc4\xf4\x73\x1f\x73\xad\xa9\xc8\xe7\x8b\x28\xf0\x1f\x4d\x4e\x10\xec\xe2\xd5\x09\x0f\x14\xc7\x19\x62\x32\x95\xb7\x00\x79\xa8\x38\xce\x10\x33\xa9\xbc\xd2\xe0\xa1\xe2\x38\x43\x48\xa3\x62\x18\x71\x50\x71\x9c\xa1\xe3\xad\x1c\x2a\x8e\x48\x07\xfd\x03\xa2\x7a\x8e\xa3\x37\xf2\xa8\x63\xa4\xa2\xd8\x7c\xe5\x81\xc6\x7b\x41\x25\x52\x50\x1c\x4d\xe7\xa1\x98\xec\xd9\x0e\xa5\xf6\x50\x27\xb1\x36\x19\x87\xd1\x01\x54\x3b\xc6\x04\x37\xc3\x98\xeb\x7c\x31\x64\x9a\xf6\x76\xba\x79\xd0\x74\x8b\x1d\x6d\x1e\x35\xdd\x63\x47\x2d\x52\xda\x14\x7b\x62\x25\x1f\xaf\x1c\xc4\x90\xb1\xc9\x93\x09\x06\xe3\x78\x12\x2c\x60\x05\xd2\x65\xdc\x8f\x18\x28\x0a\x17\x75\x67\x7a\x38\xfb\x1c\xd4\xee\xa1\xda\x07\x36\x44\x39\x7a\x3e\xef\x81\x92\x03\xf0\x31\xe8\x20\x8f\x52\xa8\xe4\xd0\x3e\x3d\xe6\xfa\x94\x87\x4a\xe3\xce\x31\x69\x21\x85\x8a\x71\x0b\xa9\x3a\x47\xd1\xdc\x93\xf0\x5a\x98\xd7\x69\x14\x5e\xcb\xc0\xc6\x7b\xc2\x25\x5f\x00\x31\xf1\xe3\x93\x36\x5c\xf2\x0d\x76\xe5\x9f\x3e\x69\x83\xc5\x1f\xf1\xe4\x31\x33\x20\x22\x54\x12\xfc\xfb\xf0\x98\xa2\x15\x43\xa2\x22\xc2\xc5\xf1\x91\x63\x4c\x74\x3b\x8d\x0e\x29\x06\x37\x8e\xb4\xd6\x63\x30\x73\xc7\xfb\x3b\x8d\x92\x1c\x9f\x9e\x38\x0a\x89\xb7\x78\x1a\x28\x09\x91\xb5\x40\x25\xc9\x2e\x4f\x63\x25\x41\x1c\x3b\x7e\xd8\xda\x92\xad\x18\xe1\xf1\x43\x67\xe7\x4a\xe7\x98\x86\x09\x8f\xc7\x3e\x4f\xe4\xd1\xc3\x0e\x48\xb5\x07\x64\xad\x54\x11\x1f\x05\x4e\x53\x3d\x4e\xe8\xc1\x41\x26\x91\xff\xc7\x6d\x66\xe9\x41\x93\xc8\xff\xf1\x51\x1b\x9d\x0e\x34\x8e\xfc\x07\xb5\x3f\x45\xa8\x03\x4d\x42\xff\x3b\x70\x9a\x72\x17\x2f\xf4\x1d\x9f\xb4\xc1\xba\x84\xc3\x2e\xb8\x2e\x11\xf1\xa8\xe3\xb5\x5d\x82\xe2\x93\xa3\x36\x5c\x97\xb8\xc8\x50\xbe\x8c\xf3\x31\x1e\xb9\xc3\x84\x11\x78\xa9\xca\x98\x83\x92\x58\x49\x00\x49\xe6\x07\x7a\xb4\xf8\x62\x11\xc0\x78\x27\x44\xfc\xe9\xd1\x2a\x12\x44\xfc\xd1\x91\xa0\x43\x10\xf1\xe7\x46\x19\x28\x4b\x59\xe9\xc0\xb9\x80\x02\x4f\xac\xc2\x70\x1a\xdd\x8f\xa7\xf9\xe8\x98\x5b\x8e\x10\x22\x09\x95\x7d\xc2\x55\x24\x84\x88\xa7\x09\x5b\xd7\x9f\x12\x08\x91\x84\xc9\x72\x05\x69\xa9\xb2\xbc\x59\x76\xe4\x70\x77\xa4\x53\x23\x6c\x47\xc6\x6d\x40\x0b\x40\x24\xf9\x1e\x4f\x4e\x51\x07\x0a\xc7\x12\x07\x8b\xc5\x94\xf1\x51\xc4\x22\x38\x60\x2c\xa9\x3c\x7d\x14\x2d\x18\x83\x8b\x65\x95\x98\x89\x71\xb8\x58\x5a\x79\xf4\x28\x5a\x3c\x80\x5b\x35\xd5\xaa\x08\x18\x39\x79\xec\x58\xd8\xb8\x0b\x8e\xf1\xe3\x31\xd9\xb1\xd3\x0f\x41\x40\x66\x5c\x85\xed\x31\x6e\x7f\x09\x02\x32\xab\xf6\x63\x0a\x4a\x4f\x3f\x05\x01\x03\x3f\x7e\x88\x3e\xa8\xf4\x4b\xd2\x23\x08\x8e\x46\xb0\x53\x7a\x6b\x3d\x01\xb6\x18\x37\x70\xa2\xa3\x93\xf6\x1c\xcd\xaa\xca\xcb\x79\xdb\x01\x8d\x51\xf6\x11\x68\x2b\x31\xe2\xf1\xb1\xb7\xb8\xc5\x90\x98\x1b\xc1\x73\x6e\x9e\x82\x3d\x8c\x2b\x84\xcb\x3c\x2b\x53\x61\x1f\x19\x36\x17\xe2\x96\x79\x59\x4f\x2b\x25\x97\xb1\xb1\x87\x94\x16\x0f\x64\xea\x75\xa5\x4d\x47\xce\xfc\xb1\xf7\x72\x78\xa0\x8e\xb4\xf9\x0e\xa8\x8e\xcc\xf9\x20\x00\x7a\xa8\xae\xe4\x79\x6f\x11\xf6\x50\x5d\xf9\xf3\xde\x2e\xb7\xd4\xd3\xa9\x34\x79\xd9\x9e\x55\x18\xa9\x94\xd7\xf2\x47\xdd\x11\x05\x7f\x1c\x89\x6d\x0c\x2c\xfd\xc8\x4d\x70\x69\x1c\xfa\x63\xee\x00\x60\x70\x69\x40\x7a\xa4\x14\x30\xb8\xf4\x53\xc7\xcc\x2f\x58\xca\xeb\x75\xcc\x72\x82\x52\x64\xef\x75\x64\x6a\xfa\xfb\xba\xc8\x0a\x39\x65\x5f\xff\xd0\x99\xfc\xfc\x99\x02\x09\x78\x59\x25\x27\x81\xf9\x41\x7a\xfa\x31\xcb\x89\xf7\x30\x4c\x73\x74\x39\x82\xa7\xc7\x29\x10\x53\x1c\x9d\x56\xf5\xe8\x49\x0a\x14\xeb\x8d\xf1\x39\xe8\x81\x3a\xd2\xb1\xbc\x86\xdf\x95\x0e\x78\xca\xa2\x34\x3a\x53\x01\xdb\x00\x89\x38\x6c\x27\x13\x03\x24\x4b\xf8\xf0\x61\x0a\x90\x88\xf1\x47\xe9\x7d\x6e\x7f\x03\x84\x3d\xed\x80\x18\xef\x06\x89\x67\x7a\xda\x9a\x68\xcb\xf4\xf6\xa8\xf5\xb1\x2d\xcb\xdb\xc3\xc7\x1c\x84\x1f\x5c\x98\xff\x80\x0c\xff\x24\x82\x48\x50\xfa\x70\xcc\x79\x4a\x7a\x5a\x01\x52\xc1\x66\xef\x39\x58\x72\x50\x1d\x7b\x57\x73\x70\x82\xa4\x67\x94\x9d\x2a\x72\x76\x77\xf8\xaf\x64\xa1\x36\xe8\xd3\xa8\x61\x1c\x71\xc0\x48\x9d\x44\x5b\x34\x14\x6a\x38\x4e\x81\xc6\x31\x55\xc2\x07\x7a\x76\xee\xa1\x8e\xb7\xa9\xa6\x1e\xea\x61\x6c\x7a\x42\x2d\xaa\x05\x15\x82\x0d\x5c\xe2\xcd\x13\x0e\xd3\x3a\x3c\xc6\x8f\x1f\xb5\x2c\x15\x11\x20\xf3\xb6\x3d\x6e\x59\x3e\x22\x48\xb6\x4f\xdb\x25\x5b\x22\x48\xb6\x59\xdb\x16\x90\x08\xf2\x24\x12\xa1\x12\x2b\x88\x85\x6c\x9d\x71\xe0\xf3\xc1\x20\x80\x93\xc7\x5d\x80\x29\xbd\x1d\x71\x27\x67\x04\x99\x92\x1d\xac\x71\xe7\xcb\x53\xea\x3b\x49\x69\xcb\x43\xb6\x89\xd0\x9b\x0e\x56\x72\x25\xd7\xf2\x66\x91\xaf\x12\x2b\x0d\x1c\xda\x1e\x4a\xc9\xe9\x62\xd5\xcc\x66\x31\x10\x3a\x52\x1f\xa5\x40\x69\xfe\x53\x37\x54\x7a\xfc\x44\x5e\x5d\x0f\x95\x1e\x3e\x8f\xb8\x15\xc2\x43\xa5\x49\x51\x4f\xb9\x19\x62\xa5\xaa\xa6\xcd\xff\xbc\x23\xbb\x6d\x5c\x41\xfb\x1f\xbf\x9f\x66\xf5\x8f\xb9\x41\xb7\xcb\xa4\xf2\x94\x3b\x7f\xbb\xac\x29\x8f\xb8\x3f\xbe\xc3\x90\x02\x5f\xe0\xef\x17\x4d\x10\x82\x80\x22\x4e\x21\x71\x6d\xcc\xee\xa7\x53\x7c\x1c\x6d\x99\xa2\x59\xa6\x05\x07\x22\x81\xd0\x02\xa4\x79\x5c\x91\x5e\x60\x01\xd2\x1c\xae\xe3\x68\x5f\xe8\x9b\x2c\xa9\x73\x81\x56\x8d\x13\x7e\x50\x27\x02\xb9\xfd\x0c\x70\x33\x9e\xc4\x00\x8c\x85\x51\x06\x22\xfb\x96\x44\x04\xb7\xa8\x3c\x89\x3f\x26\x91\xbd\x8f\x29\xfb\x90\x7d\x4d\x2c\x74\x83\x6e\x13\x99\x25\xd3\xf3\x8e\x1d\x88\xad\xdd\x1c\xdf\x6b\x29\xa5\xec\x5e\x4b\x1d\x65\xf7\x5a\x8a\xa8\xbf\xa7\xcd\x3a\x2e\x37\x44\x59\xe7\xdc\x09\xe3\x81\x3a\xd2\xfa\x82\x9d\xd0\x43\x75\xe4\xf5\x05\x63\x80\x87\xea\x48\xec\x0b\x19\xe7\x1e\xaa\x23\xb3\x2f\xc4\x5b\x55\x7a\x2d\x23\x43\xce\xa9\x3f\x28\x8f\x5b\x30\x63\xae\x5c\x60\xbd\x9b\x47\x2d\x20\x3f\xf5\xd3\xc7\xe4\x94\x0c\x0b\xef\x81\x42\xb4\xe1\x13\x52\x34\xdb\x33\x0a\x31\x9c\x4f\x51\x12\x09\xab\x6f\x64\x96\x15\x2a\x46\x7a\xab\xfc\x4c\x6a\xd8\xf4\xd6\x7e\x2f\x6a\x74\xda\x34\x4f\x8e\x38\x7e\x3a\xcd\x99\xf6\x74\xf0\xea\x7d\xa7\x21\xd3\x9e\x34\x4f\xe2\xd7\x24\x3c\xfe\x74\x28\x1e\x3d\xf6\x00\x65\x16\x93\xd0\xb1\xdd\x30\x60\x4c\xf4\xd6\x8c\x54\xc1\x3c\x39\x75\x47\xf9\xe3\x04\x62\xcc\x4f\x7b\x12\x2f\x9e\x26\x30\xfe\x8b\x1e\xfb\xda\x1a\x3e\x46\xaa\x55\xd0\xe0\xf4\xb1\x17\x2d\x52\x98\x93\xad\xd3\x31\x0b\x55\xc4\x15\x80\x48\x2f\x78\x92\xc0\xa4\x4e\xbe\x4e\xa0\xd4\xf9\xf0\x94\x1b\x1b\x1d\x50\xea\x76\x78\xcc\x7d\x62\x0e\xa8\xc3\x93\x19\xdc\x18\x26\x57\x65\x29\x23\x16\xf8\xe4\x78\x28\xbc\xcf\x11\xef\x77\x08\x0c\x5e\x5e\x40\x88\x0e\x41\xc1\x5b\xad\x11\xa2\x43\x40\x08\x34\x01\x10\x6d\xc1\x20\x60\x65\xa3\x2d\xdb\x6b\x54\x2d\x33\x36\xb3\x77\x27\x30\x81\x5d\x03\x9f\x85\x13\x36\x7d\x15\xab\x62\xf5\x84\x82\xc9\xc2\xb6\x4d\xed\xd6\xe0\xda\x18\x47\x27\x50\xdb\xf2\x61\xa7\xf2\x34\x3a\xc6\x3c\x0c\x9b\xb4\x3d\x4f\xc7\x51\x81\x02\x0f\xc5\xa6\x0d\x81\xa6\x91\xfb\xd0\x43\x3d\x8c\x34\xbc\x27\x4f\x3b\x5f\x18\x66\x6e\x17\xea\xa8\x35\xf1\xd8\x82\x7e\xec\x98\x89\x17\xc9\x3b\xea\x6c\x3c\x7d\xd2\xf2\x1a\x74\xd4\xd8\x78\xf2\xa8\xe5\x32\xe8\xa8\xaf\x01\x86\xac\xd8\xd4\xd6\xae\xad\x81\x0b\x13\x5b\xb6\x3b\x8c\xfa\x1d\x93\x2f\x5b\x76\xef\xc8\x75\x6f\xef\x77\xb9\xa5\x23\x80\x0e\x77\x74\x50\xc8\x2c\x40\x87\x1b\x3a\xa8\x63\x16\xa0\xcb\xfd\xec\x25\xe6\x4d\xd6\xb0\x47\x3c\xde\x95\x01\xb5\xd2\x32\x3a\xa1\x5a\xe9\x19\xa1\xe8\x06\x83\x6a\xa5\x69\x84\x98\x66\x06\xd5\x4a\xd7\xf0\x71\xec\x2d\x7f\xc9\x63\x1f\x88\xeb\x8f\xf5\xb6\xa7\xe4\xe9\x53\x8a\x53\x64\xf4\xd3\xf2\x91\x60\x4d\xd1\x78\xbf\xb6\xbc\x23\x60\x13\x3a\x89\x44\xac\xb6\x5f\x04\x7c\xeb\x47\x11\xe5\xd7\xcc\x13\x4e\xf1\x45\x3c\xf8\xa4\x96\x2d\x8f\xe0\x23\x16\x26\x5f\xcb\xf4\xe4\xb4\xaf\xf0\x3a\x44\x2d\xd3\x63\x33\x92\xfb\x6b\x59\xb6\xad\x1e\x5e\xa0\xaa\x17\xb9\xa9\x0b\x56\x11\xef\xd4\x95\x31\xf1\x55\x47\x09\x24\x35\xb7\x45\xba\x2a\xc1\xa4\x16\xc5\x48\x6a\x21\x98\xd4\x9e\x18\xb9\x9a\x08\x26\x35\xb1\x45\x3b\xb1\xd6\x4b\x59\xeb\x68\x36\x4f\x9f\xb2\x63\x03\xef\x8f\x77\x01\x24\xe1\x51\xc7\xec\x58\x41\x80\x78\xa2\x76\xe9\xfd\xa9\x82\x00\x49\x60\xd4\x09\x3b\x55\x5a\xa6\x80\x53\x1f\xed\x78\xd4\x82\x89\x76\x58\x5c\xda\xb1\xad\xff\x1f\xb5\x0a\x3b\xb6\x35\xff\xa3\x56\x59\xc7\xb6\xce\x7f\xd4\xaa\xea\x18\x57\xfb\x09\x22\x5a\x78\x53\xdb\x1e\x60\x19\x25\xd8\x70\x3c\x0b\xdc\x60\x0a\x00\xb7\xa2\x67\x73\x1b\xac\x00\x10\xbd\x7d\xd2\x02\x4a\x2c\x65\x51\x72\xc0\x06\xdd\xdf\x7e\x99\xcf\x23\xb9\x59\x28\x19\xbe\xeb\x24\x18\x8b\x9f\x72\x80\x34\x7c\x63\xcc\xa3\x96\x01\x22\xa5\x6e\x88\xbe\x3e\xe1\x10\x29\x6d\x9f\xf2\x8f\x06\x88\x94\xb2\x4f\x39\x0f\xec\xaa\x01\x13\x91\x03\x00\x98\xa5\xbe\xea\x2a\xae\xeb\x25\xab\x4d\xfe\xd7\xa3\xe8\x7e\x87\xe3\x35\x06\xe8\xf0\xb8\xc6\x00\x1d\xae\xd6\x18\xa0\xc3\xc7\x1a\x03\x24\xc6\x3e\x6e\x5c\xbe\xf3\xe1\xb3\x3b\x87\x87\xe2\xcd\xd7\xdf\x7d\xfb\xfc\x85\xf8\xf2\xe5\xab\x17\xcf\x44\x91\x4f\x32\x5d\x1f\xfe\x68\x0e\x8b\x7c\xf2\x6e\x36\xfa\xd1\x58\x90\xe7\x7a\xb5\xae\xf2\xf9\xa2\x16\xfd\xe9\xc0\x9e\x84\xc7\x50\xac\xfb\xf9\xa2\xd2\xcb\xbc\x59\x8a\xaf\xdf\x88\xf3\xa6\x5e\xe8\xca\x8c\xc4\x79\x51\x08\x80\x35\xa2\x52\x46\x55\xd7\x2a\x1b\xd9\x31\xbe\x33\xa1\x4f\xba\xd1\x4d\x35\x55\x62\xaa\x33\x25\x72\x23\xe6\xfa\x5a\x55\x25\xb6\xd1\x96\xe2\x4f\x6f\xbe\x38\x30\xf5\xba\x50\xa2\xc8\xa7\xaa\x34\x4a\xd4\x0b\x59\x43\xcb\xef\x89\xb2\x23\xcd\x74\x53\x42\x47\xd4\x7a\xa1\xc4\xab\x97\xcf\x5f\xbc\x7e\xf3\x82\x2a\x72\xdf\xe9\x35\x06\x3b\x69\x4d\xeb\x5e\x28\xef\xfd\xe7\x4a\x4e\xc4\x44\xce\xed\x04\x9a\x3a\x2f\xf2\x7a\xed\x5b\x45\xb1\x0a\xe2\x33\x71\x26\x7e\xe6\x6d\xbd\x2a\x25\x6b\x25\xa4\x68\xca\xfc\xa7\x46\x09\x55\x36\xcb\xb8\x7b\xd7\xff\x35\xcd\x6a\x55\x29\x63\xc4\xcf\x45\x5e\xd6\xcf\x17\x6a\x7a\x65\x3e\x6c\x6c\x87\x75\x2e\x16\xcd\x52\x96\x62\x56\xe5\xaa\xcc\x8a\x35\x5e\x9d\x41\x5b\xcb\x49\x33\x9f\x53\xa7\xc5\xd0\x18\xeb\xeb\xc9\x8f\x6a\x5a\x7f\x10\xe7\xd1\x14\x00\x1f\x37\xba\xec\xd5\xd0\x77\x4e\x56\x4a\xa8\x9f\x1a\x59\x08\x68\x4c\xb7\xae\x17\x79\x39\x87\x1e\x6b\xec\xd3\x46\x53\xf8\x98\x17\xf6\xf9\xce\x3e\x59\x87\x87\xe2\x7b\x25\x2c\xfa\xa4\xc0\x16\xa2\x42\xc3\xdb\x85\x34\xa2\xd4\x61\x50\x61\x16\xd0\x31\x73\x62\xa1\xa9\xdf\xf9\x52\x1c\x1c\x88\x1b\x25\x6e\x64\x59\x43\xd7\x68\x3b\x9c\x5b\x8a\x72\x2e\x56\x55\xbe\xcc\xeb\xfc\x5a\x19\xea\xb0\x59\xac\x47\x42\xfc\xa9\xa9\xe9\xc3\x55\x65\xb0\xc5\x5d\x5e\x4e\x8b\x26\x53\x42\x37\xd8\x32\x6c\xc4\xfa\x52\xa9\x1b\x9a\x18\xce\x3a\xea\x51\xf5\x2d\x36\xc8\x12\xd7\xb2\xca\xe5\xa4\x50\xa2\x52\x33\x55\xa9\x72\x0a\x3d\xb9\x85\x64\x7d\x2c\x2d\xf8\x7f\x11\x18\x76\x5e\xd3\xd8\x49\x6d\xa6\xab\xa5\xf8\xb7\x2f\xbf\x7b\xfd\xfc\xed\xcb\xaf\x5f\xf7\xff\xeb\xfc\xdb\xd7\xe7\x5f\xbd\x18\x8c\x84\x70\xd7\x2c\xb1\xca\x52\xe8\x95\xc5\x9d\x2c\xec\x48\xca\x4c\xe5\x4a\x85\xf6\xb3\x76\x09\x56\xab\x62\xed\x6a\xc7\x47\xe4\xf2\xa5\xae\x84\xba\x95\xcb\x55\xa1\xb0\x71\x2e\x2e\x0d\x75\xf7\xfa\x2f\x59\x99\xfe\xbd\x7f\xeb\xdb\x2d\x5b\xe7\xe5\x7c\x30\x14\xff\xa6\x4a\xbb\x49\xbe\xfb\xf6\xe5\x73\xd7\x60\x10\x3f\xde\x6e\xf1\xfb\x9d\xad\x61\x7f\x16\xee\xf9\x67\xe2\xde\xbf\x5b\x1e\xb0\x19\x16\x9b\x8c\x3d\x13\xf7\xfe\xac\xf5\xbc\x50\x0f\xee\x61\x33\x6a\x98\xeb\xf7\x76\x39\x2a\x65\x9a\xa2\xb6\x18\xc4\xa1\x86\x02\x21\xff\xed\xf8\x4f\xf7\x38\x71\xb1\x2f\xe0\xd4\x65\xea\x6a\x68\x97\xc4\x20\x89\xd1\x42\x9a\xba\x0a\x0d\xcd\xfe\xad\x7f\x21\x0f\xfe\x7a\x79\x7f\xf0\x43\xbf\x7f\xf1\x97\x1f\x06\x97\x0f\x06\x3f\x0c\x0e\xe7\x39\x6b\xb0\x0d\x2d\x01\x87\x62\x56\xc2\x58\x81\x62\x5d\x3f\xc0\x7a\xbd\x52\x7a\x06\xef\xb9\x20\x80\x4b\x71\x76\x26\x7a\x4d\x09\xdd\x62\x55\xd6\x1b\xf8\x76\xba\xd0\x70\x59\xf4\xbe\xc3\x56\x79\x9e\x5e\xb0\xd3\x1f\x3d\x4d\x8d\xb4\xb1\x39\x61\x05\x7d\xf9\xf9\xd8\xfe\xb6\x7d\xf9\xac\x74\xcd\xd7\x22\x2c\x8c\x3c\x7b\x89\x9a\x82\x5f\x53\x47\x82\x0d\xb0\x17\xb3\xf2\xb2\x5f\x5d\xfb\xb6\x85\xd4\x29\x11\xdf\xc3\x07\x4a\xbe\x22\x21\x42\xfc\x98\x59\xe9\x87\xb9\x13\xb7\x41\xac\xae\xa9\x0b\x62\xbc\x87\xbe\x74\xd3\xe0\x0c\xd7\xee\x62\x6a\x21\xcd\xa7\x4c\x44\xf2\xbc\xc8\x55\x59\x1b\x80\x95\x59\x86\x44\xef\x7a\x0c\xd6\x5a\xa8\xdb\x5a\x95\x59\x07\x99\x0f\x36\x50\x4f\xc0\x05\xf5\x50\xf0\x1b\xe0\x59\xf8\x75\xc8\xaf\xfb\x8d\xf1\xac\xe3\x1a\x40\x02\x72\xfe\xfd\xed\x57\xaf\x9e\x45\x94\xc9\xdb\x5e\x2e\xe5\x8a\xde\x07\x8d\x2d\xfe\xd0\x7b\x26\x7a\x9f\x16\xf5\x67\xd4\xe9\x42\x88\xde\xe7\x70\x69\xce\x2f\x7d\x0a\x97\xe4\x72\xc5\xae\xdd\x83\x6b\x3f\x35\x9a\x01\xde\xeb\xdd\xb3\x17\xff\xcf\xc3\xa7\x9f\xf5\x10\xef\x71\xa7\xf6\x68\x3f\x5c\xfc\xe1\xf3\x4f\x7f\xb8\xf7\x43\xef\xf2\x70\xce\xb7\xc0\x40\xfc\xec\xc0\x97\x72\x75\xb1\xbc\xa4\xb6\xf1\x1f\xf8\x02\xfe\x59\xd5\xc0\x73\x5c\x87\x47\x39\x9d\xaa\x55\xad\x32\xf1\xdd\x4b\x51\xc8\x72\xde\xc8\x79\x68\x54\xee\x0e\x28\xff\x0e\xec\x06\xfd\x41\x4c\x65\x51\x4c\xe4\xf4\xca\xd3\x83\x5d\xc8\xbc\xbc\xd6\x57\x0a\xe9\xc0\xbe\x02\x19\x83\x19\x09\x2b\x08\x38\xf6\x02\x23\xaa\x5a\x55\xc0\x27\xfd\x34\x0a\x0d\xcd\x50\xec\xde\xe1\x87\xed\x68\xae\xea\x73\x98\xe1\x2b\x37\xb7\xa8\x79\x29\x4d\x23\x74\x71\xdc\xf4\xd4\x68\x6a\xe5\x10\xf5\xa6\x59\xad\x74\x55\xab\xac\xef\x3b\x9a\xe2\x8d\x51\x3e\x7e\x52\x76\x3c\x17\x5e\xf1\x59\xda\x95\xd4\xa8\xfa\x6d\xbe\x54\xba\xa9\xfb\x7e\x42\x7c\xff\xb9\x27\xfb\x17\xa5\xbc\xce\xe7\xb2\xd6\xd5\xc8\x61\x38\xac\xe5\x01\xb4\x6a\x7c\xd7\x1b\x5c\x86\x1d\x6d\xe5\xb3\xb0\x70\xfb\x7e\x12\x47\x4c\xc4\x4b\x6f\xf2\x32\xd3\x37\x04\x2e\x3e\xfd\x94\x7f\x72\xb4\xb9\xbf\x91\x15\x1c\xed\x3f\x35\xaa\x5a\xbb\x63\x99\xba\x93\x2e\xa4\x59\x44\x2d\x42\x6b\x79\x65\x8f\x46\xd1\x54\x45\xfa\x40\x38\x29\x7b\x76\x41\xc7\x67\x70\xc0\x7d\x6a\x7f\x3f\xc6\xdf\x7b\x42\x96\x99\x1d\x6a\xea\x7a\xeb\xb3\xfe\xdc\x24\x52\xf0\x13\xf7\x67\xa0\x8c\xf1\x33\xd1\xc3\xc7\x87\xf0\xf7\xb1\xff\x5b\x7c\x18\x51\x63\x7d\x49\xad\xf5\x41\x6a\x92\xab\x95\xb2\xc7\xcd\xb2\x29\xea\x7c\x55\x28\x51\xe7\x4b\x3c\xec\xed\xc8\x7c\xd6\x43\xa1\x4b\x7b\x20\x23\xa1\x16\xd2\xd4\xd4\xf9\x1b\x24\x0e\x1c\xc7\x3d\x87\x74\x9d\x34\x67\x2d\x33\xd7\xdf\xde\x4a\x0b\x2b\x69\x2c\x4b\xb4\x2c\xb8\x99\x2f\x44\xa6\x52\xa6\x23\x26\x6a\xa6\x2b\x25\x26\xca\xa2\x4c\x66\x99\x02\x74\x90\x40\x40\x47\x2a\x22\x62\x53\xf3\x54\x98\x3e\x49\x61\xd8\x7e\xb3\xa2\x7e\x34\xd0\xf1\x18\xbb\xbf\xe6\xb5\xc0\x66\xbe\xb8\x2d\xa5\xdb\x86\x85\x92\xd0\xbd\xa6\xf7\xc7\x1e\x76\x11\xee\xfd\xb1\xe7\x1b\x08\xe7\xf3\x52\x57\xbc\xbb\xf9\x6c\x04\x43\xfe\x27\x20\x8c\x91\x19\x9b\x42\xd8\x82\xec\x62\xd4\x48\xf8\x8f\xae\xcd\x39\x9f\xf8\x99\x88\xc0\x9b\x89\xa9\x2b\xe8\xc9\x7b\x87\x9d\xac\x3f\x7f\xf0\x7f\xaf\x64\x0e\xe2\x43\xf4\xd4\xaa\xc8\xeb\x7e\xef\x53\xec\x77\xda\xd5\x47\x1a\x9e\xea\xea\x52\xef\x86\x14\x67\x08\x73\x91\x5f\xba\xe1\xce\x7a\xb4\x21\xab\xeb\x8b\xf6\xfa\xf5\x2d\xf8\xc5\xd1\xe5\xe0\x52\x9c\x75\x2c\x2f\xde\x1e\x5f\xb6\x3a\x4b\xdb\x63\x35\xda\xd4\xdf\x7d\xfb\x8a\x63\x74\x25\xeb\x45\x07\x37\xfb\xee\xdb\x57\x1d\x1c\x8c\x1f\x10\xb4\xa7\xab\xa6\xb4\x34\x4e\xcf\xe0\x70\xbc\x71\xab\xbd\xd0\x9e\xc1\xaf\x66\x25\xf4\xda\xf6\x15\x7a\x41\xdc\x09\xb9\x90\xcb\x95\xdf\xa8\x79\x59\xab\xb9\xaa\x40\x28\x16\x66\xa5\xa6\xf9\x2c\x57\x99\x80\xe0\x9b\x94\xf4\x09\xf6\x83\xb8\x06\x8a\xc7\x1d\x5a\x6b\x4b\xb3\x53\x3b\x28\xd2\x6c\x1b\x7c\x99\x97\xf0\xc0\x32\x2f\xf3\x65\xb3\xa4\x43\x0f\x74\x00\x2f\x7b\x77\x3c\x25\x6f\xf1\x29\x79\xbb\xf1\x29\xaf\x39\xc1\x37\x31\xb4\x5d\x0f\xed\xdb\x86\xf6\xe1\xb0\x9e\xd7\xe2\x0f\xf6\x6a\xb4\x70\xcb\xbc\xfc\xcc\xdf\xfe\x1c\xe0\xa3\xdb\xf2\x96\x75\x95\xbe\x8e\x10\xf9\x4a\xcd\x6a\xb1\x92\x99\x90\xa2\x6c\x96\x13\x87\x44\xc4\x2b\x35\xd3\x87\x6d\xef\x76\xfb\x5f\x55\xa5\x5b\x87\x3b\xf2\x8d\xf7\xfe\xb3\x69\x28\xfb\xe5\x61\xd4\x95\xdc\x80\x5a\x7a\x8d\x85\xce\x94\xc9\x2b\x95\xd1\xa5\xcd\xdd\x9b\x57\xc0\xee\xdc\xe0\xd2\x44\x9a\x97\x43\xe8\x5f\xed\x77\x71\x25\x14\xa0\x87\x34\x78\x44\x94\x4e\xe1\x03\x88\xc1\x68\x25\xb3\x37\x96\xed\xf4\x11\x74\x28\x7a\x47\xbd\x54\x11\xc4\x4e\xdf\x8e\x65\x4e\x75\x59\xcb\xbc\x04\x4e\xec\x8e\x0f\x9c\x9c\x6b\xb3\x2d\xa6\x0b\x59\xc9\x69\xad\x82\x58\x0b\x87\xe0\x52\xd5\x0b\x9d\x89\xa5\xcc\x61\x04\xfc\x14\x59\xe7\x53\x31\x95\xd3\x85\xd7\x1a\x0b\x59\xcd\x95\xa9\x85\x5c\xea\xa6\x84\x93\x0d\x4d\x48\x76\x68\x50\x10\xaf\x55\x25\x2a\xf5\x53\xa3\x4c\x0d\x7d\xde\x5f\xd6\xa4\x41\x5b\xfd\xdd\x09\xd8\xb5\x16\x73\x55\xaa\x0a\xec\x0d\x76\xe3\x18\x59\xaa\x62\x2d\x16\xcd\x5c\x85\xa1\xa1\x13\xbc\x1f\x7d\xe3\x0e\xea\x58\xb7\xae\xd9\x8d\xba\x4e\x9e\x73\x87\xb8\xd0\x85\x9c\x3e\xd4\x7f\x03\x23\x02\x26\xca\x7d\xef\xc7\xe5\x4b\xcb\x97\x14\xb8\x1e\x4e\xed\x0f\x67\xe2\x28\xda\x0a\xbd\x9e\x3f\x06\x66\xe2\x0c\x94\x88\x78\x50\xb7\x8f\xee\xce\x46\xe1\x0b\x70\x08\x7e\x45\x9c\x89\x5e\xd0\x6e\x71\xd0\x9b\x45\x5e\x28\xff\xea\xcf\x23\xf8\x11\x9f\x60\x32\xd4\x83\xb3\xe8\xef\x94\xdd\x47\xc3\xd0\xe9\x76\xe4\x89\x18\x89\x52\x10\x55\xbe\x28\x4d\x53\x91\x21\x4b\x06\x63\x41\x6e\x40\x92\x24\x05\x0b\xec\x14\x53\x55\x59\x6a\x03\x69\x46\x14\xf9\x32\xf7\x32\xc2\x9b\x7c\x69\xc5\x9c\xc6\xc8\xb9\x12\x85\xd6\x57\x56\xcd\xba\x52\x88\xab\x91\x83\x02\x5d\xab\x52\xf3\xdc\xd4\xaa\x7a\x59\xe6\x35\x1d\x34\xb2\x90\xd5\xb2\xaf\x4b\x7b\x69\xe0\x95\x7c\x20\x74\x10\x0d\x0a\x6d\x37\xc8\x8d\xac\x4a\xd6\xf8\x8e\xba\xe3\x5b\xc4\xe3\x93\xfd\x81\x9d\x73\xa9\x6b\x52\x08\xdc\xc4\xed\x58\x8f\x84\x51\x53\x5d\x66\x7e\x17\xbd\x9c\x89\xb5\x6e\x7a\x56\x64\x52\x95\x15\xf5\xec\xc8\xc6\x1e\x2e\x7a\x65\x29\x1d\x54\x0b\x8b\x91\xa5\x5c\x83\xc8\x29\x0a\x5d\xc2\x71\xb1\x90\x65\x18\xce\x0e\x02\xe2\xa4\x2c\x41\xf6\x12\x52\x64\x0d\x3d\x9e\x5b\x1e\x5b\x14\xb9\x03\x95\x06\xe6\xed\x0c\x34\x34\x44\x50\x4c\xe2\xa9\xb9\xe1\x9c\x70\x9b\xa9\xb2\xb6\x27\x94\x95\x06\x4d\xad\x24\xb4\xe2\x97\x41\x21\x72\xeb\x36\x84\xef\x2a\x0a\x31\x57\x35\x8a\x5d\x37\x95\x15\x23\x2b\xb7\x87\x75\x25\x2a\x59\x2f\xdc\xa7\x48\x61\xf2\x72\x5e\x28\x07\x36\x12\xe2\x85\x9c\x2e\x60\x60\x42\xb5\x1d\x24\x3c\x7c\x83\xb6\x17\xe2\x64\xf8\x54\x26\xae\x55\x65\xec\x47\xd3\x7e\xf4\xd3\xba\x81\x1d\x5e\x6b\x3b\x86\x14\x66\x21\xe1\x4f\x54\x5f\x40\x41\xcb\x8d\x5d\x35\x2b\x3c\x4d\xa5\x51\x46\xdc\x2c\x54\xa5\x00\x01\x64\xaf\x13\x8a\xd3\x67\x6d\xcf\x14\x53\xdb\xe1\x74\xa9\x10\x07\x46\x01\xf3\x70\xef\x84\x01\x1d\x09\x90\xb8\x2b\xdd\x3b\x85\xba\x5d\xe5\x55\xd0\x34\x71\x5b\x03\x01\x7a\xf3\x07\x92\x63\x6f\xa6\xea\xe9\x82\x64\x61\x90\xc9\xbc\x51\x4c\xeb\x11\xdc\x44\x0b\x68\xdf\x91\xef\x9b\x66\x3a\x55\xc6\x0c\x86\xc2\x5d\xf9\x52\xe6\x45\x53\xa9\x40\xd3\x2d\xc5\xf6\x3e\x57\x6a\x2d\x53\xe4\xc6\x3a\x8b\x5c\xb0\x10\x96\x38\x62\x7a\x12\x7e\xb0\xc4\xf4\x6e\x69\xc4\xd7\x8e\xa6\xc2\xf1\x11\x91\x9e\x1d\x4b\xe6\x5e\xf8\xaf\x64\x6e\x17\xdd\xc9\xe4\x7e\x78\x21\xbe\x50\x33\x09\x46\x35\x23\x1e\x1d\x1d\x1d\x89\xbe\xa7\xf4\x41\x7c\xae\xba\x69\x7e\xb0\xe4\xea\x3f\x00\x54\xeb\xf0\x05\x0b\xe5\x14\x17\x14\x22\x82\x62\x33\xf1\x7a\xb9\xbd\xef\x88\xc8\x8d\x83\x2a\x44\x3c\xaa\xd3\x32\x36\x8e\xe9\x06\x9c\xa8\x78\x0e\xb2\xf6\xa7\x97\x01\x3b\x6d\xfa\xb6\x48\xef\x77\x94\xd0\x52\xf5\x87\x84\x6b\xe4\xc6\x60\x97\xb1\xfa\x00\x2d\xc0\xfb\xf7\xe2\x91\xb8\x2f\xc6\x47\x47\x47\x9f\xd1\x6d\x53\xdb\xb9\x3b\x9a\x9a\xab\xfa\x8d\xbd\xe0\x74\x0c\x9a\x7e\x5b\x83\x87\x3e\xad\xb9\x11\xba\xa9\x55\xd5\xc5\x8d\xf3\xe5\x52\x65\xb9\xac\x15\x98\xa9\x5f\xd6\x3d\x23\x60\xcb\xd4\x5a\x4c\xe5\xaa\x6e\x80\xda\x4b\x75\xe3\x46\x33\x53\xbd\x42\x3b\xbe\x45\x9b\xdb\x06\xce\xb6\x38\x8a\xba\xc3\xf6\xe8\x76\x2f\xd8\xaa\x73\xe3\x76\xed\x64\x8d\xf6\x33\x37\x44\xe0\x38\x56\x09\x05\x3e\x81\x23\x85\xcd\x4f\x2c\xc5\xab\x3c\xee\xd1\xb3\x1d\x46\x0c\x0b\x0b\x8a\xf4\x99\xb7\xa0\xfa\x41\xcf\xce\x44\x0f\x89\xa1\x37\x10\x7f\x44\xb0\x67\x81\x74\xd0\x46\x1a\x0c\xc8\xe2\x0c\xff\xf3\x47\xd1\xef\xa1\xed\x11\x8d\xb4\xcf\xe0\x58\x27\x8b\x09\x1e\x25\x23\x7b\xc2\xf4\x7b\x8c\x10\x9e\x25\x6c\x23\xc3\x11\xfa\x4b\x23\x0e\x61\xb1\x07\xe2\x81\xe8\x19\x3f\x6a\x3a\x60\xa1\xe7\x7d\xa0\x03\x7f\x27\x60\xa0\x6c\x8a\x82\x4c\x9d\x43\xb1\x34\x03\xb2\xbb\xd9\x4f\x27\xbc\xfd\xd9\xf3\xdc\x8d\xa6\x27\x26\xa5\x74\xda\x82\xc0\x04\x8d\xaf\xe4\x97\x85\x98\x16\x4a\x56\x6e\x05\x1c\xc4\x67\x0c\xa0\x6b\xa2\x91\xbd\x36\x68\x80\x0e\xf5\xe0\x5b\xe8\x5b\xf0\xa1\x90\xd5\xbc\x59\xaa\xb2\x36\xc1\xba\x14\x99\x17\x99\x6d\xbc\x73\x65\xe3\x6f\x4b\x11\x12\xdb\x28\xd3\xbb\x89\xed\x6c\xd0\xef\x94\xc2\x6b\xde\xd1\xd7\x1e\x76\xb8\x61\xe5\xcc\xee\x3b\x73\x95\xaf\x56\xdd\x72\xf9\xac\x72\xb6\xc2\x54\x1a\x87\x63\xa7\x56\x65\x86\x32\xb3\x13\x9f\x23\x17\x1a\x98\x7b\x50\xd0\xc6\xd9\x1b\x21\x41\x42\xc1\xb3\x24\x3a\xdc\x4b\x01\x66\xcf\xa1\x98\xa8\xa9\x6c\xc0\xd7\x18\xc4\x1e\x44\x94\x95\x08\x8c\x90\x16\xcc\x88\xc9\xda\x0e\x94\x11\x0b\xc7\x4d\x29\x2d\x7f\xb0\x32\xd1\x0d\xf8\xe5\xd0\x0b\xe6\x26\x7f\x2e\xea\xf5\x2a\x9f\xca\x02\x11\xb0\x04\x2f\xaa\x95\xde\x40\x78\x63\x72\x5b\x4c\xd1\xbd\x37\xda\x7e\xb1\xfd\x9a\x9b\x7c\x7a\x05\xf6\x26\x2b\xaa\xc9\xb5\x98\xca\xa5\xea\x0d\x53\x9e\x37\x70\xa7\xa7\xe5\x0e\x9b\xfe\xf7\x5a\xd7\xf9\xd4\x7d\xe3\x72\x29\xc5\x5f\x22\x39\x10\xdc\x7a\xab\x2a\x2f\xd1\x8c\xbc\x54\x06\x64\x4d\x12\x06\x7f\x34\x6e\x86\x43\x31\xd3\x45\xa1\x6f\xc8\x63\xeb\xac\x7a\xa4\x9d\x80\x60\x53\xa2\xde\x4e\x53\xd7\xa2\x52\xd7\x4a\x16\xd4\x4d\xd9\x12\x72\x72\x58\xe3\xda\xe3\x61\x8b\x26\xaa\x2f\x81\x06\x80\x65\xea\xf6\xd1\x8b\x84\x84\x74\x42\xa2\x0f\x90\x3c\x3c\x8a\x56\x69\x21\xa7\x75\x23\x0b\xd1\x73\x38\xea\xe1\x12\xd8\xa3\xae\xb8\xb1\x8b\xd9\x61\x0b\x73\xb0\x9c\x1d\xa4\x73\x0a\xc7\x53\x34\xd3\xb3\xf6\xe4\xff\xd8\xbe\xf4\x40\x1c\x8b\x67\xe2\xd8\x6b\x3b\xf0\x21\x40\x83\x70\xa9\xae\xd6\xc4\x43\xd0\xc5\x63\x0f\xd3\x17\x55\xa5\xab\x3e\x19\xa9\xa7\xd2\x4a\x4c\x7d\x75\xeb\x78\x4d\x18\x40\x9c\x09\x75\x3b\x42\xf4\x92\xa1\xeb\x87\xb2\x17\xcc\x54\xfe\x75\xb4\x0f\xd0\xf8\x96\x58\xd5\xf8\x64\xd1\xc0\x16\x5e\xd0\x65\x65\x63\x03\x5e\xe4\xe2\x20\x7a\xfe\xd2\x1e\x42\xfe\xe9\x8b\xfc\x32\x98\xc6\xff\xf2\x83\xb9\x2f\xeb\x1f\xcc\x83\xc3\xa1\xe8\xf5\x5a\xa6\x34\x36\x6a\xc4\x57\xbe\xc8\xaf\xf3\x4c\xa1\x90\x5f\xdf\x68\x22\x08\x34\xd1\xce\x0a\xad\x2b\xc3\xbd\x13\x43\xd1\x94\x85\x32\xee\x9a\xd5\xe4\x33\x74\x4e\xd8\xab\x60\x93\x05\xf1\xdc\xea\x11\xd3\x4a\x65\xd0\x61\xdc\x2c\x2d\x91\x80\xcc\x33\xb4\x82\xa1\xa3\x68\xa3\x44\x1e\x18\x0a\x6c\x21\x95\x17\xce\x63\xef\x84\xec\xc6\xa8\x59\x53\x58\x09\x1b\xb9\x9f\x33\x84\x58\xe1\xa1\x6a\xca\xa9\xb4\xfa\xb3\x5c\xad\x2a\x7d\x9b\x2f\x25\x3a\xba\xc0\x45\x62\x15\x1f\x3b\x10\x1a\x9a\xf1\xbc\x37\x5a\x64\xda\xb2\x80\x2c\xbf\xce\x41\xf4\x77\xfe\x17\xa3\xfc\xa7\xaf\x73\x55\x58\xcd\x27\xf8\x6a\xdd\xa7\x80\xd2\x54\x68\xa3\xd0\x74\x74\xb3\xb0\x3c\x0d\x1f\xdb\xb4\xfd\xca\x66\x89\xfc\xbd\xeb\x66\xa6\x4a\xbd\xcc\x4b\x7f\xdb\xc9\xa9\x74\x9f\xed\x22\xb3\x94\x55\xfd\xa5\x5d\x0f\x5c\xb0\xc4\xd8\x83\xaf\x18\x0a\x3e\x62\xd8\x54\xd7\xb2\x80\x13\x91\xc0\xc4\x21\x07\x73\x92\x1f\xe1\x5e\x9c\x89\xaf\x64\xbd\x18\xd9\x3f\xfb\xd7\xb2\x18\x38\x33\x81\xbb\x7f\x00\xc3\xfd\x41\x8c\x8e\x8e\x8e\xc6\x8e\x66\xdd\xa1\x8a\x30\x2d\xe7\x0f\xdd\x86\x81\x81\xa8\xfc\xc8\x2d\x6f\x9b\x14\x95\x2c\x33\xbd\xf4\x96\x4e\xd0\xe1\xc1\xbe\x29\xfa\x10\xcb\x60\xf2\x6b\x35\xd8\x84\x6e\x67\xbb\xb4\xbc\xd4\xd4\x7c\x10\xa0\x58\x67\x26\x6d\x3f\x47\xd6\xcb\x45\x3e\x5f\x6c\x7f\x30\x59\x23\x71\xee\x26\x4c\x84\x39\x51\xf5\x8d\x52\x60\xa9\x14\x9f\xda\x71\x23\xbf\x2c\x80\xbe\x2c\x6b\xbe\x7e\xb1\xe5\xb3\x8d\x2b\xf8\x15\x9f\xec\x0f\xc4\x7d\xd1\xb7\x93\x3d\x80\x17\x3c\x10\xe3\x81\x95\xe6\xc0\x2c\xba\x33\xf8\x88\x8e\x9f\x77\x4b\x59\xca\xb9\xaa\xfe\x45\x42\x91\xbe\xc2\xaf\xfa\x0a\x3f\x4a\x4c\x0b\x69\x8c\x58\xc8\x32\x2b\x14\x8a\x36\x55\x29\xf1\xb4\xcb\xff\xaa\x32\x12\x41\xbc\x28\xf4\x5a\xd7\xea\x19\xf7\xf1\x89\xdc\x94\xbd\x5a\x98\x66\x36\xcb\xa7\x39\x3a\x9f\x40\x90\x41\xc9\x02\x0e\xc5\xf1\xc8\xa2\xa8\x52\x3d\xcb\x25\x26\x0d\x78\xf1\xc8\xca\x4f\xe6\x97\x2b\x05\x4e\xba\xa6\x94\xd7\x32\x2f\x50\x27\x29\x45\x8e\xc7\xeb\x33\x16\x3d\xb2\xa8\xeb\x95\x79\x76\x78\x38\xad\x26\xcd\x7c\x34\xd5\xcb\xc3\xf1\xc3\xa3\xe3\xa3\x23\x07\x72\x0c\xaf\xb2\x07\x3f\x88\x7c\x16\xa9\x4b\xb9\x06\xe1\x68\xa2\xc4\x4a\x4e\xaf\xe4\x5c\x65\xb8\x4b\x9e\xe3\x14\x20\x44\xc0\x32\x37\x3f\xdf\x87\xdd\x83\xc0\x00\x15\x3a\xb6\x2d\xa9\x54\xb2\x5a\x27\x43\xd6\x8b\xbc\xca\x0e\x2c\xd4\x9a\x4d\xba\xeb\x45\x7c\x57\xc1\xe9\xf4\x21\x78\xc8\xc5\x2b\xe7\xb8\xf6\x57\x6a\x2d\x0a\x2d\xb3\xa1\x5b\x6a\x5d\x65\x60\xdc\x51\xfe\x3d\x21\x28\xca\x02\x82\xa1\xf7\xb5\xba\x51\x95\x93\xa2\x8c\x0b\x9f\x10\xba\xb0\xcf\xea\x52\x99\x91\x10\x3d\x55\xf6\x44\x6e\xbc\x99\xa0\x81\xb8\x57\x2b\x2f\x16\x6b\x74\x1d\x3a\x9b\xd6\x2c\xaf\x4c\xed\xa7\x64\x99\x5c\x5e\x3b\x63\x9c\x2c\x2a\x25\xb3\xb5\x58\x59\x32\x47\xd9\x13\xf7\x70\x42\x6d\xdc\x30\xeb\xbe\x0d\xf7\x31\x18\x11\xfd\xb5\x77\x56\xa7\xf6\xbe\xe8\xa5\x5c\xf5\x49\x57\xf0\x8f\xab\x82\x45\x24\xa8\xa2\xc3\xe7\x0d\x01\x0a\xc4\x8d\x93\xd1\x47\xf6\x1c\xbe\xfd\x7a\xd6\xb7\x5f\x3f\xb0\x3a\xc9\xc1\x78\x40\x42\x4f\x0c\xd8\x94\x66\x91\xcf\x6a\x04\x44\x01\xc9\x42\x78\x9c\xa2\x08\xc3\x98\xf2\x79\x96\x79\xb9\x15\x82\x7f\x72\x8a\x68\xd1\x91\x48\xeb\x78\x4a\x87\xd3\x3b\xf5\x51\x1b\x0a\xd1\x5b\x4a\x22\x3d\x22\x27\x37\x87\xd1\x8f\x46\x97\xb8\xe7\x85\x78\xa3\xc0\xe8\xf2\x07\xb7\x4f\x32\x75\xad\x0a\x6d\xf5\x73\xda\xb3\x76\xcb\x78\x42\x34\x87\x76\x0b\x1f\xb8\x91\x3e\xdf\xb4\x6e\xa3\x55\xa5\x6b\x6d\x55\xb9\x91\xcc\xb2\xaf\xc2\xc7\xfb\xe5\xc8\xd4\x8c\x16\xd2\x0b\x73\x57\x6a\x6d\xa9\x35\xdc\xc1\x83\x33\x53\x33\xf0\x6a\xce\xcc\xc5\x95\x5a\x5f\x32\x55\xf1\x6e\xa6\x66\x23\x58\xc5\x05\x90\x28\x8b\x5c\x8a\x90\x0e\xcf\xe1\x18\xee\x1a\xe9\xd8\xfc\x10\x05\x3d\xc4\x45\xe5\xdd\xfb\xe4\xf5\xf9\x57\x2f\x3e\xb9\x27\xf8\xf0\x28\xcc\xdc\xfb\x64\x7c\x6f\x28\x54\x3d\x1d\xed\xf9\x2e\x4f\x6a\x4c\x91\x3e\xfc\xe1\x13\x0c\x23\xbb\xf8\xcb\x0f\xe6\x87\x4f\x2e\x1f\x0c\x7e\xf8\xe4\x30\x9f\x0f\x19\x48\x38\xbf\x86\x22\x0e\x21\x8b\xb4\x60\x8f\x98\x08\x13\x17\x10\x8a\x58\xeb\x57\xfa\x46\x55\xcf\xa5\x51\xfd\xc1\xe5\x68\xaa\xad\x22\x5a\x73\x85\xfe\x03\x69\xe2\x1f\x52\x59\xe1\x95\x96\x19\xdb\xc5\x81\xcd\xfa\xfd\xec\x28\x73\xd2\xd8\xa3\x60\x53\x5c\xc0\x4a\xd6\xf6\x84\x10\xe7\x10\x9a\xe1\xfe\x8a\x7c\x5c\x16\xa1\x64\xe1\x05\xf7\x14\x04\xdf\x38\xfe\x02\x66\x1a\x62\x55\x73\x3d\xda\x1c\x07\x34\x74\xd1\x40\xba\x7c\xae\x97\xab\x42\xd5\x2a\x8a\x07\x9a\x28\xef\xb9\xb0\xa2\xae\xe5\x79\xcc\xda\x99\x1b\x08\x4c\xb5\x4f\x91\x2e\x66\x85\x75\x52\xa1\xa5\x9b\x19\x71\x59\x83\x26\x5d\x2b\x36\x83\x18\x2f\xf3\x02\x03\x26\xec\xff\xa2\xd8\x21\x30\x59\x06\x2c\x46\xe1\x46\xe4\xdd\x39\x1a\x8a\x52\xd3\x53\x46\xdc\xa8\x4a\x85\x91\x80\x2d\xef\xde\x62\xb3\xbc\xcc\xce\xcb\xcc\x2e\x59\xd7\x56\x83\x05\x26\xcc\x0f\x19\x7a\x82\x00\x5b\xb0\x70\xa6\x94\xa1\x4d\xb5\xd5\x01\x50\x99\x03\x58\x98\x95\x38\x13\x17\x97\xee\x12\x22\x80\x2e\xdd\x09\x94\x2b\x74\xe9\xe2\x83\xdc\x3b\xfb\xa6\x96\xb5\x27\x65\xbb\x89\xa3\x0b\x22\x0c\x1f\xb8\x39\x32\xd4\x41\xe7\x96\xf5\xaf\xde\x04\x1e\xb8\x45\x80\x88\x3d\x68\xa0\xc2\xbe\x56\xb7\x3e\x96\x69\xc3\xab\x02\xe2\xfa\x38\xc9\x21\xbd\x3d\xda\x42\x84\x92\x64\xc8\x76\x08\x83\x3b\x39\xd8\x9a\xe1\xa1\x43\xcc\xe2\x5b\x1f\x0d\xdc\xf7\x4b\x17\x4e\xc0\xe1\x9d\x6e\x73\x49\x1b\xe1\xa3\x49\x5e\x66\x30\xf2\xd0\xea\x73\xea\x17\x3e\x3a\x93\x85\x41\x8f\x85\xf8\x10\xae\x0f\x9c\x05\x20\x45\x5f\xca\x48\xfc\xf1\x37\xab\xf4\x52\xc8\xae\xa3\x68\x37\x99\x17\xdb\xe8\xbb\xa9\x0a\x4b\xdb\xe4\x6d\x41\xbb\xbc\x2e\xc1\x10\x11\xe8\xfc\x76\x61\x25\x8a\x52\xdd\x88\xff\xdf\x57\xaf\xfe\xbd\xae\x57\xdf\xa2\x87\xb8\x8f\x1f\x72\xbb\xa8\x46\xba\x84\xc5\x2d\x3b\xa2\x4e\x90\x8c\x2c\x90\xa5\xd9\xc6\x88\xbb\x67\xe2\xf8\xe8\x28\x0e\xed\xe5\xef\xf5\x98\x66\x17\xd9\xf3\x83\xcf\xe2\x28\xd7\x88\x62\x81\x16\xd8\xd9\xd9\xff\x8f\x37\x5f\xbf\xc6\xc0\x27\x18\xa2\x52\x66\xa5\x4b\xa3\xde\xaa\x5b\xf4\x8e\xc2\x12\xd2\xe7\xf7\xbb\x17\x0a\xbe\x6f\xa5\xca\x7e\xef\xcf\x2f\xde\xf6\x86\x16\x67\x00\x08\x53\x52\x65\xd6\x32\x89\xe2\x59\xf8\xc9\x78\x34\x1a\x7d\x52\xf2\x00\x75\x1f\x55\xa9\x0a\x05\x06\x5d\x27\x7b\xc8\x6a\x4e\x96\xc7\x4d\x07\xc2\xd2\xcc\x5d\xb4\x3e\x3b\x05\xb8\xa8\x63\x79\xaa\xb3\x14\xb3\x97\x8e\x3a\x24\x60\x78\x1d\x9a\x92\x92\xc1\xfc\x00\x68\x9e\xd8\x48\x5e\xad\xed\x16\x69\x8e\x66\x0e\x46\xeb\x38\x1a\x7c\x69\xe6\x41\x7a\xfc\xe1\x93\xfe\x0f\xd9\x83\x01\x8f\x7d\x15\xf6\xc4\x06\x81\xb1\x65\x8e\xb7\x63\x5d\xc0\x2d\x71\x20\xc6\x97\x9d\x41\xcd\xdf\xa8\xea\x20\x2f\x4d\x2d\x4b\xd0\xf2\x56\x6b\x8b\xdb\xd6\x34\xf7\xd8\x2f\x1d\x9f\x06\xef\xdb\x07\x0b\xa9\xd1\xc0\x1f\xf6\x98\x01\x32\xf4\x16\xce\x62\x4d\x73\x83\xb3\xdc\xd9\xf7\x45\xad\xf5\x16\x02\x80\x43\xbd\x9b\x08\xe0\x16\x11\x13\x33\xe7\xce\x55\xdd\xb5\xfe\x76\x63\x01\x0d\x78\x5f\xa7\xdc\x93\x18\x5a\xd3\xb2\x43\x39\x2b\xb9\x1f\xcd\xc7\x74\xd1\xfa\xe5\x34\x31\xfa\x04\x54\x66\xdc\x79\x0d\xaa\xf5\x48\x90\x2b\xc1\x44\x9f\x00\xe0\x93\xb5\xb3\xc3\xef\xb1\x7a\x73\x55\x27\xa4\xe8\x11\x0f\x9f\x3c\xe4\x33\x66\xfe\x47\x27\xdf\x92\x22\xe3\xa7\x5a\xc6\x72\xaa\x23\x4d\x37\xc1\xb3\x44\x8c\xa5\xe7\xf0\x40\x8f\x4e\x42\x3b\x6a\x14\x79\x07\x6a\xbd\x63\x76\x61\xbc\x24\x94\x99\x3e\xd4\x4d\x68\xc0\xe5\x78\x7a\x28\x6c\x97\xd8\xf7\xe6\x92\x06\x08\x0c\xdd\x6d\x61\x9c\x68\x87\x39\xff\x11\x5f\xce\x24\xb3\x42\xfc\xd1\x2f\xe0\x33\x0e\x97\x1c\xe3\x30\x33\x87\xed\x38\x0a\x2e\xc1\xf1\xdd\xbe\xa7\x43\xb7\x71\xf5\x0c\xd9\x12\x85\x45\xfa\xfb\x67\xe2\xc2\xfd\x7e\xc9\x5d\xbe\x1b\x8e\x7e\x7a\x53\x58\xf5\x84\x55\x54\xda\xb2\x7b\x21\x8b\xc2\xed\x99\x7b\x16\xdf\xf7\xc4\xa2\x5e\x16\x42\xd6\x75\x95\x4f\x9a\xda\x9e\xbb\xce\xec\xe3\x5c\x57\x99\x5e\x8a\x59\x25\xe7\x4b\x15\x3c\x3f\x6f\xc1\xe8\x2c\x0b\x71\xa3\xab\x2b\xb1\x90\xab\x95\x2a\x21\x3e\x79\x85\xef\x79\x39\x7e\x52\x9e\xbb\x31\xf7\x20\xe1\xae\xc7\x62\x25\x50\x2f\x03\xe5\x96\x3a\x83\xbb\x99\x5e\x8e\x30\xa0\x56\x15\x6a\x5a\xeb\xea\xbc\x28\xfa\xbd\x0b\xfb\x5d\x97\xa4\x52\x77\x45\xd5\xc2\xe3\x91\xbd\x3f\x9c\xa3\x5d\x13\xe9\xc3\x03\x17\xf9\x65\x37\x4a\x19\x2e\x3d\x1a\x9d\x2d\x25\xc4\x85\xda\x31\x38\xf6\xc0\xc0\x15\xe0\x49\x6f\x21\x6e\x24\xa4\xb0\x87\xb8\x0b\xa4\x46\x35\xe3\x4a\x39\x05\x43\x5e\xa9\x92\x1c\x43\x13\xc5\x06\x01\x4d\xc2\xbb\xd3\x79\x5c\x37\x67\x2e\x3c\x86\xc9\x82\xb1\x37\x89\x05\x44\x35\xde\x7b\x77\x4f\xf4\xed\x36\xa8\xcc\x54\x57\x6a\x60\x5f\x3d\x14\x79\x6d\x88\xcb\xa1\x2f\xc0\x59\x6f\xc0\xd7\xa0\x6e\xeb\xe7\xa8\x33\x3a\xf2\xa2\xf3\xde\xbd\xec\x2b\x3e\x03\xb0\x32\xc2\x79\x6d\x39\xa6\x86\x68\x22\x46\x82\xba\x0c\xd6\x09\x1a\x06\xe5\x08\xf4\x50\xae\x2a\x35\xcb\x6f\xd1\x7d\x58\x2f\x84\x14\x99\x2e\x0a\x59\x09\x93\xcf\xcb\x91\xe0\x89\x68\xdc\x05\xf9\x87\x49\x53\xd7\xba\x14\x79\x76\xd6\xb3\x22\xcc\x01\xfe\xdd\x8b\xf3\xc7\xec\xb2\x9c\xf5\x7e\xbe\x27\xab\x5c\x1e\x14\x72\xa2\xa0\x70\xca\x27\x79\x76\x6f\x68\xd1\xf2\x4c\xdc\x7b\xf3\xe2\xf5\x17\xef\xfe\xf4\xdd\xdb\xb7\x5f\xbf\x7e\xf7\xea\xfc\x4f\x2f\x5e\xdd\xfb\x90\x8c\xf1\xf9\x1f\x0e\x71\xec\xcf\xd9\x7a\x87\x01\x63\x4e\xef\x62\xd7\xad\x4e\xd9\xd4\x88\xd4\xe8\x1d\xe7\xdf\xbe\x3c\xa7\x17\x8d\xc8\x4c\x8a\x7e\x4e\x59\x13\xe9\x65\x9c\xf0\x6e\xec\x0a\xda\xed\x48\x5e\x64\xf0\x26\xc9\x0a\xa2\xb9\x1c\xd0\xd0\x65\x31\xb0\x98\x7d\x4a\x68\xc0\x87\xbe\xfb\xe6\x9b\x17\xdf\xbe\x3b\x7f\xfd\xc5\xbb\xef\x5e\x7f\xf1\xe2\x5b\x01\x76\xe2\x5f\xb8\x8d\x23\xff\x88\xce\x42\x46\xe6\x73\x7c\x23\x7e\x44\xa1\x6f\x54\x75\x20\xcb\xec\x20\x93\x66\xa1\xcc\xbd\x94\xac\x21\xcb\x02\x1f\xbc\x97\x4c\xef\x9e\x9f\x1f\x8f\xdb\x69\xca\x2b\xca\x84\xea\xcc\x45\xf2\xb6\xbc\x51\xad\xbf\x5b\xad\x9c\xe9\x23\xe8\x65\xb0\x41\xcf\x70\xdf\xce\x55\x1d\xb8\x41\xcf\xde\xe9\x79\x6f\xcc\xdd\x70\xa6\x39\xe1\x3c\xf2\x75\xd2\x38\x4c\x28\x87\x07\x36\x78\x3c\xdd\x71\xa6\x40\x03\xe8\x3d\x97\xe5\x0f\xbd\x1a\x13\x23\x30\xf8\xc4\x4e\xa7\x96\xf3\xd7\x96\x76\x1e\x88\xde\xff\xf1\x17\xf3\xcc\xfe\x8d\x27\x9e\x7f\x83\x73\xb5\xaa\x5b\xef\x85\x3c\x3c\x44\x45\x0b\xe2\xf3\x82\xdc\x61\x18\xaf\x22\xe6\x15\xb3\x28\x33\xea\xb0\xc0\xc1\x8b\x78\xe4\x91\x82\xc9\x70\x7a\x54\x3d\x24\x70\xa3\xea\x1a\x3d\x8a\x2e\x68\xae\xae\xad\x8e\x75\xa5\xd6\x2c\x74\xc5\x1d\xb7\x67\x30\x34\x99\xf1\x68\x74\xbb\xb1\xef\x9d\xcd\xb4\xbe\x37\x14\x95\x3a\x70\x11\x0d\x5e\xee\xcf\xa2\x9d\x35\xf2\x42\x03\x8d\x19\x25\x75\x9c\xf5\x06\x41\x86\xb0\x1f\x73\x26\x3c\x58\x48\xe6\x20\x41\x65\xd3\x9c\x3e\xdc\x89\xa6\xf6\x09\x4e\x6d\x2a\x8b\x69\x53\xc8\x5a\xb5\xc4\xba\xed\x53\xfa\xc4\xe5\x99\xf0\x37\x22\x1d\xb7\x89\xb0\x35\x59\x88\x24\x7a\x67\x17\xff\x4a\xad\x9d\xc8\x64\x67\x96\xa3\xe8\x5d\x38\x2b\x9d\x33\x35\x72\x94\xb3\xa8\xe4\x7e\x2c\x2d\xd9\xc9\xe2\x42\x9d\xc1\x6e\x71\x91\x51\x40\x86\x8c\xe9\x03\xfa\xf0\x11\x2b\x00\x72\x30\xc3\xe7\x6d\xc7\x1a\x5a\xd8\xe0\x73\xdc\xee\x29\x5b\xf9\xe5\xfd\x17\x73\x96\x3d\xd7\xa5\xa9\xab\xc6\x8a\x2d\xb0\xad\x2c\x63\xfd\xc6\x7f\xac\xf3\x6a\xe0\xb9\xcc\xc2\x85\x94\x9d\x32\x5e\x14\x19\x48\x60\xf6\x0c\x5c\xa9\xca\xe4\xa6\x06\x2d\x69\x21\x4b\x72\xeb\x18\x4c\xfa\x30\xb5\xae\x9c\xb6\x5c\xea\x3a\x9f\xad\xc9\x9c\x69\x99\x4d\xb3\x04\x73\xf5\x42\x95\x62\xc5\xd4\x76\x1c\xc5\x4b\x0a\x75\x1c\x9c\xe4\xce\x9e\x89\x9c\x5e\x41\xe0\x73\xad\x2b\x8b\x3a\xf2\x12\x19\x1f\xdf\xa3\x43\xa0\xf0\xbf\xbf\xfd\xea\xd5\x23\x3b\x18\x4d\x67\x28\x26\x0d\x8c\x52\xd9\xc3\x51\x95\xbd\x5a\xc8\x72\x0d\x89\xf5\x18\xc9\x4b\xef\x58\x6a\x10\x23\x84\x78\x49\xf9\x79\x4d\x8d\xe1\xbc\x64\xff\x24\xf7\x99\x74\x6e\x3f\xb9\xca\xf1\xdb\xed\x94\xcc\xba\x9c\x1e\x00\x12\x2c\x4d\x1f\xa2\xf8\x02\x19\x53\x28\x26\xdd\xa8\x5e\x06\x21\x4d\x14\x30\xd1\x4a\x5a\xb3\xab\xf2\x06\x27\x3c\xba\xff\xc1\xa3\x12\xf3\xd6\xf0\x77\x12\x9d\x6a\x8d\x05\x06\xc0\x11\x89\x78\xf1\xfe\x33\x3b\x97\x8d\xaa\x24\x8a\x33\x71\x30\x10\x5d\x4b\xa2\xc0\x2c\xcb\x0e\x8b\xc4\xed\xde\x94\xac\x2a\x7a\x87\xbd\x90\xf2\x11\x15\x33\xc0\x83\xdd\x28\x3b\x81\x5a\x89\x42\x5d\xab\x02\x6c\x31\x8b\x5c\x55\xb2\x9a\x2e\xd6\x3e\x93\x3e\xf7\xb1\xed\x73\x4d\x01\xf3\x0b\x79\x4d\x24\x7f\x95\x97\x19\xed\x99\x72\x8e\x56\xeb\x55\xa5\xaf\x73\xb0\x72\xda\xf5\xc1\xa9\x27\xae\x43\xe0\x73\x4e\x5c\xeb\x1d\xf6\xf0\xc1\x52\xd7\xec\xe1\xbc\x76\x3a\x2f\x10\xaf\x85\xf2\x12\x47\x7b\x63\x44\x99\xf8\x44\x50\x01\x9b\xcc\xf1\xe7\x96\xe9\xcc\x2d\xd8\x67\xc9\x9d\xaf\x27\xc0\x11\xaa\x77\x8e\x0b\xea\x92\x56\xfc\x39\x6c\x82\x77\x2d\x2b\xa6\x05\xca\xcd\xf9\xb4\xce\xaf\x95\x7d\x0a\x4c\x9e\x7e\x58\x69\xaf\xcb\x5a\xf5\x19\x74\x5d\x51\xee\x08\x42\xba\xa4\x40\x5c\xe5\x33\x4e\x06\xef\xdf\xdb\x2f\xf7\xc2\x05\x5e\x1d\xa9\x32\xa3\x53\xe2\xd0\x9d\x12\x04\xff\xe0\x0c\xe1\xef\x78\x05\x86\xc6\xc4\x5f\xe2\x1b\xdf\xaa\xa9\xae\x32\x70\x81\x62\x78\x14\x72\xfd\x42\x4f\x64\xe1\xd0\x00\x77\xc9\x3c\x0f\xb7\xa7\x8b\xbc\xc8\xbe\x94\x96\x51\xe5\xca\x3f\x8b\x92\xc4\x57\x72\x05\xce\xe4\xdc\xd4\x07\x70\x62\xd5\x5a\xfc\xbc\xc4\x8b\xf0\x1c\x4c\xc3\xb9\x24\xcd\x07\x7c\xea\xdc\xf2\x12\x90\xcd\xc5\xe1\x21\x5e\x62\xaf\x7a\x95\x9b\x1a\x5f\x73\xc7\x05\xfc\xf5\x56\x95\xb6\xcc\xf4\x20\xcf\x4c\xef\x19\xbb\x21\x44\x4f\x97\xaa\xf7\x4c\xb4\x08\x64\xc8\x61\xea\x1b\xbd\x0b\xc6\x4d\x07\xce\xf5\x21\x9f\x99\x10\xbd\x59\xa5\x27\x1d\xef\x8e\x9e\xa1\xdf\x3e\xdc\xe9\xfe\x96\xd8\x95\xfb\x9d\x01\x31\x0b\x22\x22\x0a\x2c\xa8\x91\x97\x59\x3e\x45\xa9\x81\x38\x9f\x8b\x2e\x45\xae\x45\x6a\x55\xd8\xff\xb4\xb7\x48\x0b\x44\xa5\x10\x8c\xe6\x35\xe4\x46\xa1\x41\x03\x9f\x25\x83\x46\x30\xc6\x86\x51\x1c\xc3\x7b\xf1\x53\x23\xa1\x76\x4c\xad\x4c\x6d\x84\x9c\xcb\xbc\x34\x35\x1e\x8d\x38\xc8\x57\xdf\xbd\x79\x0b\x2c\xae\x77\x76\x76\xd6\x13\xba\x12\xbd\xbb\xf6\x17\x64\x52\x72\x3a\x6d\x2c\x67\xd9\xb2\x67\x99\xa2\xf0\xc5\x8b\x2f\xcf\xbf\x7b\xf5\xf6\xdd\x7f\x9d\xbf\xfa\xee\x85\x0f\x72\x0f\x65\x5c\xfa\x3d\x82\x00\x35\xde\xf9\xbf\x4b\x40\xd2\x75\x9e\x35\xb2\xe8\xf8\x84\xf8\x70\x04\xb5\x17\x5e\x4c\xa1\xe7\xaa\x83\x00\x20\x51\x24\x64\xac\x95\xca\x27\x9b\x60\xd8\x0a\xd6\x7f\xc9\xf2\x4a\x4d\xeb\x62\xbd\xed\xdb\x70\x6b\xa5\xe5\x67\x86\x6e\x21\xfe\xcb\xa2\x90\x71\x25\x16\x5a\xee\xf7\x21\x07\x45\xbf\xb0\xff\xd3\xc3\x10\x4d\x38\x18\xb8\x16\x21\xd3\x43\x6a\xb7\x9f\x69\x3b\xf3\x40\x02\x74\x22\x7a\x93\xb1\xc5\x4d\xbc\x22\x56\x32\xa8\x29\x7f\x66\x29\xaf\x20\x3c\x10\xa2\x0d\xaf\x55\x35\xd1\x66\xeb\x2a\x23\x26\x36\x2f\xb6\xb7\x2c\xef\x4d\x20\xdc\xd1\x80\xc9\x5f\x3c\x73\x09\xe9\xcf\xe7\x6c\x61\x74\x62\x6e\xf8\x4e\x21\x99\x68\x63\x79\x08\x8a\x88\x74\x29\xf5\x9d\x93\xfb\x20\x1c\x46\xa3\x3c\x1b\x9f\x87\xe2\xea\x48\x60\x70\x36\x65\x39\x4d\x55\x7e\x8d\x7a\x40\xa9\x6e\x5c\xe0\x65\x6a\xbc\x0e\x13\x1d\x86\x94\x9a\x0c\xa2\x1e\xdd\x07\x90\x22\xdf\x3e\x06\xa5\x09\xae\x62\xf3\x51\xab\x22\xb3\xcc\xb1\xfc\x28\x20\x98\xae\x31\x5a\xf5\x94\x34\x5a\x35\x66\x11\x20\x62\x8e\x56\x56\x7e\x6d\xca\x80\x2a\x1f\xdc\xbf\x01\xf5\x0c\xab\xe7\x16\x11\xd7\xb9\x6e\x0c\x78\x0a\x70\x30\x9e\xd5\xf3\x31\x5f\x57\xa9\xa5\xbe\x56\xbb\x3f\xd0\x99\x06\x93\x0f\x75\x41\x3c\xec\x5b\xf1\x40\xce\xc5\xe7\x3e\xbd\x33\x79\xc6\xac\xac\x6e\xd0\xcf\x87\x62\x9c\xd4\x9e\x81\x44\x30\x6f\x91\xf3\x1a\x47\xcc\xc1\xf6\xfe\xb4\xc4\xdc\x1f\xf2\x4f\x3b\x18\xc4\x59\x17\x8b\xe0\x3e\xca\xc3\xbf\xf4\x29\x8f\x9a\xd2\x90\x3f\x39\x1c\xd9\x13\xc0\x19\xc7\x5b\x8c\x69\x90\xa4\x56\xb4\x00\xda\x09\x1a\x1d\xcc\xed\x4c\xf4\x5c\x62\x1c\x8f\xa9\xf9\xde\x57\xd9\x0a\x19\x82\xcf\xbf\xfe\xe6\xbf\xdd\x4e\x89\x4f\x35\xa3\xf1\xac\x6c\x8c\xe5\x72\x53\x59\x86\x81\x96\x3a\xcb\x67\x6b\xf2\xe8\x54\x72\x6d\x4f\x2b\x92\xd3\xed\x19\xa8\x9b\x1a\x79\x82\x73\xfb\x44\x03\x8f\xe2\x2f\x64\x96\x1b\xf8\xd5\x65\x4e\xac\xfb\x1d\xc8\x89\x0c\x03\x9b\x51\x14\x47\x84\xb7\x16\x2e\x22\x9f\x37\xb5\x5e\xb5\x38\x1a\x49\x54\x74\xe0\x57\x4c\x0f\xb3\xb2\x6e\xc2\xef\x9e\xa3\xad\xc7\xaa\x70\x6d\xd1\xde\xdc\x58\x71\xad\xa9\x21\x1f\xb2\xeb\x0d\x56\xf1\x28\x51\x91\x33\xda\xe9\x49\x70\x70\x66\x50\xa6\xcd\xd2\x23\xa8\x95\xb9\xca\x84\x9c\xd8\xa1\xf2\xaa\x52\x85\xba\xb6\x4b\xc9\xa6\xb2\x5b\x2c\xc8\x94\x13\x9e\xbb\x29\xfc\x6e\x2c\x7a\x0f\x3a\x93\x09\x7a\xaf\x75\x2d\xdc\x38\x59\x6f\x2f\x99\x9d\x10\x97\xb0\x8d\x7e\xa7\x9a\x30\x48\x56\xc7\x6a\x36\xbb\x56\xc0\xe5\xe4\x06\x06\x17\x3e\x35\xdb\xb4\xb8\x28\x9d\xa0\xa9\xdc\xe3\x25\xc7\x54\x14\x14\xe4\x7c\xee\xd0\x48\x88\xff\xf6\x0b\x42\x52\x0c\xa5\xe0\x5a\x20\x59\x0b\x88\x16\x94\x45\xfe\x57\xca\x4d\xce\xad\x70\x22\x21\x38\x33\xaf\x7b\x26\x89\xce\xa4\xf8\x27\x3c\x5d\xbc\x49\x7f\x1a\x4c\x16\xfb\xad\xe7\xf6\xd5\xdc\x6b\x31\xcf\x29\xfc\x73\xe7\x82\xd6\x55\xd3\x5e\x4f\x76\xc8\xed\xb3\x98\xdf\x2a\x32\x92\x4d\x92\xe5\xa4\xf4\x47\xc3\x77\x88\x5f\xdc\xff\xf6\x32\xa4\xc8\xa8\x46\x98\xb6\xcb\xd8\x8d\x75\xa8\x4a\x51\xc1\x2f\x2e\x84\x0d\x8b\x2e\x40\x4e\xf2\x8c\xd3\x01\xf9\xa0\x51\xb5\xef\xd8\x9a\x20\x64\x2c\x75\x99\xd7\x94\x9d\xc9\xec\x0e\x7c\xe6\x44\x8c\x43\xcb\x31\x83\xc0\x0b\xea\x77\x9b\x56\x96\x1a\x93\xa5\x4b\xf8\x88\x28\x8a\xd4\x5b\xd7\x2b\x35\x6d\x2a\x93\x5f\x2b\x38\xa9\x65\x66\xa2\xd7\xd9\xa1\x82\xf2\x17\xcf\xd9\x10\xcd\xdd\xa8\xa2\xe8\x1e\xdb\x92\xab\x59\x97\xd3\x45\xa5\x4b\xdd\x98\x21\xf1\x2c\x3f\x53\xfb\xbe\x36\x92\x86\x2e\x93\xfe\xfe\xb2\x31\xf5\x7d\x4c\x57\x76\x49\xab\xbb\x84\x90\xfe\x00\x2d\x31\x5e\xa4\xf4\x5e\xfd\x59\x47\x99\xb0\x90\x41\x2c\x7d\x28\xdf\x42\x86\xa8\xc0\x6c\xbf\xbd\x61\x1f\x7f\xe3\x6d\x13\x51\x42\x56\x9c\xa3\x09\x96\x02\x55\x66\x79\x39\x7f\x6e\xb1\x5a\xa9\x12\x7c\x99\x49\xfc\x1c\xdc\xf3\x71\x67\xfc\x8c\x3f\x38\x68\x3d\x7e\x26\x8e\xc4\xa7\x9f\x46\x1f\xed\xce\x75\x7e\xad\x1f\x27\x58\x81\x07\xf2\x8c\x52\x0d\x47\xf6\xaf\x7e\xcb\xb4\x30\xd8\x1d\x52\xcd\xed\x14\x0f\x84\x2a\xa2\xf0\xa3\x24\xb0\x1a\x0c\x27\x83\xc8\x35\x02\x29\x84\xdf\x30\x5b\xa5\xc5\x24\xfa\x3d\xd8\xc8\x8c\x4b\x38\x66\x30\x57\xf5\xcb\x5a\x2d\x4d\xdf\xce\x9c\x15\xa0\xcb\xed\xc5\x38\x79\x18\xc7\x78\x85\x71\x97\x67\x7c\x5c\xe7\x37\x76\x01\x59\x2d\x8f\x48\x3c\x98\x4f\xfb\x01\x75\x0d\x6e\x32\x07\x82\x88\x73\x95\xaf\xd4\xda\x19\xf4\xf9\x04\x06\x09\xb0\x52\xd9\x9b\x75\x39\x15\x67\xa2\x1f\x05\x6c\x70\x8b\xc3\xa7\x9f\x6e\x08\xde\x13\x22\x95\x62\xae\x51\x35\xbd\x7b\xb6\xf1\x09\xd1\x25\xf7\xf0\x45\x87\x18\xe2\xcb\x48\x84\x19\x0c\x42\xd0\x5a\x87\x05\xaa\xe3\x09\x28\x45\x19\x04\x48\x47\xbd\xee\x73\xe3\xa0\xe6\x84\xa2\x1f\x3c\x88\x72\x8f\x61\xd5\xd7\xe5\xf4\xb9\xc3\x08\x29\xe3\xc9\x2e\x19\xf0\xb4\x64\xf7\x5f\x16\xa1\xf7\x31\xdb\x26\xaa\xab\x17\x01\x90\x48\x18\xd3\x38\xcf\xfb\x03\xe3\x8c\x90\x9d\x16\x8d\xdc\x78\x55\xc8\x08\x29\x22\x9b\x82\xd3\x27\xad\xb2\x68\xbf\x0c\x32\xb3\xd0\x6e\x41\x62\x5b\xc7\x90\x9d\xb5\x7b\xdf\x6e\xd4\x48\x5d\x8d\x0d\xe7\xa6\x46\xba\x04\x93\x0a\xaf\xc0\x40\xbb\xd9\x69\x36\x6d\x3d\x95\x2a\x47\xdc\x54\x79\x5d\x43\xf0\x02\x9d\x7c\x6e\x6f\xb6\xa7\x46\x0a\xc9\xfb\x89\xd6\x85\x92\xe5\x7b\xe4\x3a\xef\x21\x56\xe6\x7d\xd9\x14\xc5\x07\xda\x56\x6f\x5b\x8a\x01\x16\x13\x72\x94\x10\x7f\xcd\xb9\xab\x21\xcc\xeb\x80\x56\x8a\xb2\x4b\xd0\xf9\x09\x11\x11\x50\x35\xe2\x5a\x16\xb9\x67\xf2\xa9\x92\xf0\xcb\x0d\x09\xab\xfa\x5d\x50\x7b\x7d\x50\xd8\x96\xb3\xa6\xc3\x96\xb1\xd1\xcc\xe0\xc6\xdb\x6d\x6d\xd8\x60\x66\x70\x03\xfc\x0a\x6b\x03\x17\xe9\x2d\x75\x07\x88\x56\x38\x2e\x92\x34\x4d\x16\xc3\x5f\x91\x94\xed\x86\x77\xd5\xf4\x9c\x71\x6d\x03\x1f\x71\xda\x39\xc2\x45\x61\xd3\x88\x2e\xaa\x4b\xd2\x67\x2f\x6b\x17\xc6\xdc\xf5\x16\x11\x38\xa4\x15\x50\xb7\xa9\xeb\xed\x17\xb9\x53\x2d\xfa\x42\xf6\xda\x48\x54\x8d\x80\xba\x98\x85\x2f\x0c\xb9\x4a\x43\x6d\x7d\x3d\x1e\x4f\x4e\x96\x11\x6d\x48\x0b\xf3\xfe\x96\xf3\xd2\xe9\xc9\x33\xf1\xf0\xc0\xc5\xdc\x60\x52\x83\xab\xe8\x53\x2f\x2a\xe5\xe3\x71\xbc\xa1\x0a\x9e\x4a\xa2\x97\x2c\x99\x5d\x40\xcc\x90\x5b\x56\xfa\x96\x4b\x46\x3e\xc8\xa1\xdc\x38\xfb\xd9\x42\x36\x93\x55\x9a\x31\x04\x9f\x95\x64\x0d\xb1\x10\x30\x07\xd1\x95\xf5\xed\xd4\xf5\x68\x7c\x3f\xe6\x45\x7e\x79\x71\x74\xe9\x79\x30\xfc\x3d\x4e\xfe\x3e\xbe\x6c\x67\xd4\x3a\x2e\x5f\x62\x7e\x9d\xca\x7c\x8e\x48\x2a\x2a\x07\xb5\x3d\xbd\x01\x36\xed\x2c\x9f\xc1\xdf\x35\xea\xfe\x3f\x36\xa6\x06\x2e\x0a\x51\xb5\x6c\x19\x59\x58\x17\x6a\x79\x54\xcc\x46\x41\x75\x26\x18\x1a\x2b\x7e\xfb\x08\x62\xc8\x00\x6b\x8b\xec\xee\x08\x58\x2a\x59\x46\x05\xab\x88\x85\x71\x8f\x33\xb3\xcf\xb7\x3e\x0b\xd9\xcd\x5c\xd5\x58\x27\x0b\x58\xab\x74\x26\x54\x67\x53\xe8\x55\x0a\xf4\x92\x8a\x2a\xff\xe9\x0a\xce\x0c\xb2\x55\xc8\x52\xf8\xe8\xcc\xb6\x8a\x11\x57\xaf\x4f\xce\x39\x8b\xed\xd7\x58\xa7\xde\x17\xa6\xe7\x99\x3a\x53\x3a\xe4\xfd\xd7\x5a\xbc\x86\x32\x43\x54\xa2\x3e\x6f\xdb\x96\x39\x96\x54\x78\x0d\x1d\x98\x53\x70\x49\xb7\xa9\x1c\x63\xdc\x3a\x8f\x4a\xef\xab\xad\x35\x65\x13\x25\x14\xe3\x46\xa3\x45\xcc\xe8\x2c\x80\xda\x0f\x46\xe3\xf3\x79\x69\x31\x7d\x28\xb3\xec\x10\x6d\x1a\xa1\x2e\x19\x2e\x14\xd6\x03\x5b\x73\x7e\x9f\xa2\x02\x62\xf3\x56\x58\xb7\x8f\x52\x58\xdb\xe6\x5b\xe6\x1d\x5c\x8b\xf3\xa4\x70\x92\x93\x1a\xd2\x32\x80\xde\xd3\x4c\xa4\xe7\x92\x02\x8c\x8a\xd7\x41\x89\x19\x8d\xec\xc7\x4d\x4f\xbc\x3b\xa1\x3e\xb3\xdd\x13\xdb\xa2\x28\xe8\xb8\x73\x4b\x99\x79\x1a\xb0\xdc\x1c\xde\xdb\x5e\xa7\x8f\x3a\xe5\x98\x7a\x16\x9f\x71\x8e\x2a\x86\x11\xba\xe8\x80\x3b\x3c\xec\x12\x01\xc1\xeb\xae\x8b\xac\x8b\x00\xd8\xca\xdf\xd9\xc4\xaf\xc2\x2b\x2f\x2e\x37\x25\xf2\x38\x13\x76\xe9\xe5\xe4\x96\xc7\x7b\xe8\xe7\x8e\xb6\xcd\x2e\x8f\xf0\x85\x03\xb9\x84\x58\xee\xf0\x81\x9f\x75\xf8\x42\x23\xe0\xc4\x2b\xea\xbd\x3b\x96\xf0\x88\xb9\xec\xf6\xe2\x7c\xe9\x69\x11\x1d\xd9\xe2\x9c\xf9\x86\x3c\x15\x62\x8c\x32\x2c\xb9\xba\x56\xd5\x3a\x39\x71\x50\xe0\x91\xc6\x40\xb9\x22\x67\x73\x60\xf6\x34\x5d\xc6\x22\x9f\xeb\x5e\xb1\x94\x2b\x71\x2e\xc8\xe5\xcd\x9d\xb3\x18\x4d\x37\x65\x65\xc2\xe2\x17\xb8\x97\x26\xef\x91\xe5\x56\x37\x63\xa7\xff\x26\x3a\xfc\x10\x09\x43\x3b\xa5\x60\x6a\x23\xcc\x7c\xfa\xa9\x20\x9b\x3c\x5d\xb8\x7b\x26\x7a\xee\xc9\xde\x06\x0b\xdc\xcb\x12\x58\x35\x1e\xdd\xcf\xe8\x49\xd3\x0b\x8a\x3a\x5e\x61\x3e\x91\x34\xa0\x00\xfd\x46\x04\x16\x62\xe1\xed\x0c\xd3\xb8\x49\x7f\x58\x3b\xcd\xd6\x7f\x86\x0b\xa0\x8f\x54\xde\xc8\xf2\x30\xf0\x59\xb6\xc9\x17\xb8\xac\x80\xb0\x3c\xac\x92\xd7\x67\x77\xee\x6c\xd3\x50\xb9\x58\xb6\x94\x2b\xbc\xda\x71\xbc\xe7\x66\x25\x9d\x9b\x07\x09\x55\x04\x0f\xac\xb3\x8a\xa5\xd3\x30\x2c\xc0\x8a\xe2\x98\xa8\xc8\x4a\x6c\xbe\x85\x9a\x52\xdc\x60\xe4\x6c\x4d\x06\xb2\xf6\x29\x63\x1f\x8c\xf3\x10\xe8\xbb\x5a\x15\xf9\x14\x4d\x8e\x90\x34\x69\x81\xac\x3e\x8c\x22\x62\x63\x54\xd5\x35\x09\x38\xf7\x78\x67\x04\xf2\x16\xf8\x23\x3e\xeb\x94\x0f\xc0\x79\x00\xb2\x08\x84\x8c\xdf\x81\x4a\x8d\x85\x65\xcf\xc8\x76\x87\xb8\xe9\x30\x22\x1b\x55\x1a\x73\x93\xd7\xd3\x85\x3b\xd4\x99\x48\x43\x36\x96\xbd\x36\x00\x86\xb2\x9d\x17\x45\xdb\xba\xdc\xa2\xa2\x36\xb1\x70\x61\x0f\x47\x22\xde\xd7\xf7\xd1\x8f\xd1\x02\xbf\xd6\xee\xb8\xdc\xb0\xbc\x94\x2d\xf1\xab\x35\x6e\x52\x4c\x11\xe1\x1f\x83\x09\x9a\x7f\x77\x07\x9c\x8f\xd1\xa2\xee\x92\x1a\xd5\xcd\x0e\x76\x6f\x26\xa8\x61\x13\x1b\x76\x48\xc7\x99\x2b\x97\x40\xd9\x25\x94\x77\xf3\x8e\xee\x3c\x8d\x14\xec\x22\xbf\x24\x9d\x2b\x32\x42\x6d\x7c\x17\x4d\x28\x78\x6f\x3b\x14\x81\x14\xc6\xbe\x83\x8f\x3e\x24\xdd\x95\x22\xc3\x12\x82\xf1\x0d\x96\xbc\x74\xd1\x21\xeb\x39\x09\x04\x69\x07\xa1\xec\x01\xc9\x33\x45\x7c\x50\xe0\x22\x2f\x93\xc4\x70\xe8\xd7\x23\xad\x34\x43\x06\x18\xac\xaa\x41\xd1\x02\xb2\xa9\xf5\x81\x13\xb9\x40\xb6\x49\x45\x1f\xbb\xdf\xed\x3b\xd1\x7d\x54\xd1\x04\x9c\xcc\x85\x45\x69\x2b\xa3\x60\x87\xc7\xb1\x7d\x56\x94\x6a\xa0\x6c\xd4\x4e\x81\x1b\xea\x9d\xf8\x2f\x03\xce\x86\xa8\x71\xa2\x97\x57\x40\x2c\x13\xd9\x18\x26\x09\x5f\xff\x75\x84\x0b\x50\x38\xb0\xa7\x12\x69\x9d\x4e\x30\xda\x38\x4a\x9e\x85\x31\x72\xc0\x94\xbe\x56\x55\x95\x67\x38\x1d\x8f\x2d\x1a\x63\xf7\xde\xc3\x6f\x41\x55\x8d\x97\x20\xf1\xe2\x97\x9b\xfb\x66\x21\x6c\xc7\xff\x70\xda\x2c\x5c\x21\x33\x3c\x5e\xdb\xcb\x67\x9f\xf9\xfb\x9f\x71\x63\x43\xee\xed\x21\x79\xe6\xea\xb8\x65\x21\xb8\xdb\x0a\x91\x2e\xda\xc1\x82\xde\x0d\x05\x4b\x3a\x36\xff\x17\x0d\x9e\x2c\x84\x69\xdc\xf9\x7e\xa5\x43\xfe\x41\x36\x68\x67\x03\x1e\x1e\x8a\x6f\xf2\xe9\x95\xaf\x2b\x35\x74\xe4\x78\x72\x90\xe5\xf3\xbc\x16\x0b\x75\xcb\xeb\x14\x73\xe9\x9c\xe2\xff\xd0\x33\x4f\x35\xaf\xef\xe6\x99\x78\xff\x5e\x74\x7f\x40\xc8\xb4\xce\x42\x5b\x22\x57\xf2\xa9\x3f\x1e\x8a\xa3\xdb\xd9\x6c\x36\x1b\x8c\x6a\x4d\x65\xd8\xc7\xa7\xde\x1c\xcc\x9e\xf9\xeb\x4a\x66\xfd\x3c\x1b\x8a\x93\x70\x97\x10\x6b\x17\x35\x58\x7f\x3d\x72\x81\x32\x2d\x26\x10\x11\x1d\x19\xff\x80\xba\x10\xc7\xba\x5d\xa4\x26\x29\x3c\xc7\xda\x01\xfc\x51\x1f\x54\x1a\x1c\x25\x2d\x90\x4a\x19\x55\x9f\x17\x05\x8f\x45\xed\x14\xc6\x2f\xf2\xcc\x4b\xef\xf4\x30\x52\x51\x46\x51\x3f\x34\x01\x34\xad\x33\xb2\xb3\x53\x33\x51\x4d\xda\x78\x8c\x48\xbc\x07\x45\x54\xb6\x4d\x03\x9e\x05\x38\x66\x82\xa0\xa6\x03\xd6\x4b\x1d\x96\x03\x41\x15\x52\x03\x71\xe3\x7c\x34\xd0\x9c\x33\xf4\xc6\xec\xc5\x9e\xf8\x49\xcc\x58\x55\x92\x1b\x8c\x77\x42\x41\x46\x54\xac\x3b\x59\x4d\x9e\x31\xb6\xf7\xf2\x8b\x7d\x3d\x82\x76\xbc\x2d\xac\x84\x73\x01\xfb\xbd\x9c\x0f\xc0\x63\x31\xac\x5d\x2f\x00\x4b\xc9\x60\x2f\x2e\x22\xce\xd2\xad\x15\x62\xa0\xa2\x3d\x66\xa1\xe2\xd8\x27\x7f\x4a\x77\x11\x0a\x6d\x84\x4c\x41\xdd\x95\xed\x14\xd9\xdd\xfd\x60\xd3\x61\x1a\xce\x11\x26\x8f\x21\x1f\x67\xe9\x8e\x6c\x7d\x75\xe5\x0f\x0c\x57\x6d\x0a\x65\x9b\xda\xbb\x3c\xaa\x50\xec\xd5\xe7\x47\xdd\x61\x55\x52\xc9\xe1\x50\x11\xab\x94\xa5\x50\xb7\x53\xb5\x42\x4f\xf6\x4c\x94\x3a\x81\x04\xdb\x11\x46\xbc\xff\x82\x83\x13\x6a\xab\xe6\xe5\xbe\x24\xe7\x61\xee\xc7\x49\xeb\x91\x54\x11\xcf\xaf\x95\xc0\x1e\xd9\x45\x08\x49\x98\xbe\xbe\x17\x4d\x3b\xca\xdc\x44\xd0\x1d\xb9\xe9\xa8\xe6\x79\x2c\x74\x78\x37\x07\x3b\x44\xd3\x80\xb4\xf8\x80\x62\xe2\xa9\x1b\x2c\xe2\xbf\x29\x09\x7a\x81\xb8\x9f\x67\x58\x58\x8e\x80\x06\x5c\x25\xdd\x9d\x46\xbe\x4b\x2f\xbd\x97\x9e\xa2\xf7\xf8\xf1\xea\x0e\x53\xcf\x60\x93\x44\xf4\x0f\x29\xef\xb5\x33\x6c\xed\x9e\xe7\x51\x56\x9a\xd3\xb8\xa6\xca\x57\x49\xac\x6f\x34\xcc\xc1\xa4\x06\x26\xac\xed\x00\x9b\x89\x55\x3a\xe2\x40\x28\x02\xb7\x6c\x74\xb8\x5d\xa3\x0a\xba\x50\x15\x0b\x84\xd4\x7b\x43\x71\x0f\x19\x9e\xfd\xd5\x32\xf3\x7b\x53\xbd\x5c\xea\xf2\x9e\xdd\x20\x2b\x55\xd5\xb9\xf2\xae\x07\xba\xb2\xa6\x6a\x72\x52\xf0\x14\x83\x03\x94\xe3\xfe\xa7\xae\x1a\xf5\x3f\x71\xfe\xef\x10\x99\x40\x54\x89\x58\x8a\x33\x71\xd1\xc3\x27\x6f\x7b\x43\x41\xbf\xae\x7b\x97\x04\x30\x61\x00\x78\x95\x6e\x58\xa4\x79\x4b\x99\xe9\xcb\xa1\x98\x0c\xc4\xd9\xe7\x3e\xf9\xf7\x67\x14\xbf\x9f\x89\x9f\x85\x1f\xff\x19\xc4\x25\x89\x0f\x43\x3a\x2d\xec\xdd\x0f\x43\x81\x9f\xca\x20\xd7\x1e\xd2\xca\x0a\x21\x6b\xd8\x0e\x48\x16\xdc\x8c\x21\x46\x48\x63\x1a\x57\xe3\xf0\x7f\xe4\xff\xd8\x9d\xc9\x53\x06\xb8\x0e\x11\xf9\x7c\x2e\x90\x5d\x5c\x7e\x10\x12\x7b\x04\x69\x53\x83\x39\x95\x1e\x6a\x2d\xfe\xa6\xc7\x27\xe2\xbc\xa4\x72\x7f\x1b\x9e\x6b\xf5\x79\x2d\x79\x08\x66\xfc\x69\x87\x88\x10\xbe\xf4\x5b\xd8\x4b\xbc\x10\x9c\xb5\xe0\x9a\xfc\x1c\x35\xe1\x82\xad\xe3\x56\xe6\xc3\xf0\x4e\x38\xba\xd9\x05\xbf\x20\xf0\xf7\x87\x8d\x7a\xa3\xec\x52\x14\x2d\x17\x98\xf8\x93\x52\x5e\xe4\x97\x2d\x31\xb4\xba\x1e\xe1\x2b\x2e\xec\xed\x4b\x16\xaf\xd6\xaa\x1e\x55\x5d\x8f\x60\xb6\x5d\x90\x6e\xbb\x77\x4d\x6d\xb2\x69\x6a\xfd\xc9\x45\x7e\x69\xf9\x97\x1b\x79\x60\xe5\x66\x7e\x15\xa7\xe6\x0d\x68\x56\xee\xc9\x4b\x1f\x89\x51\x5d\x93\x68\x92\x5d\x4c\x92\x29\x75\xb5\x08\x73\x81\x91\x14\xc3\x95\xff\x55\xb1\x7e\x89\x1b\xce\x6e\xc3\x5c\x01\x3e\x49\x85\x88\xd9\x0e\x06\x8f\x07\xb1\x0e\xa5\x9a\x56\x9f\x17\x1c\xa3\xce\xb1\xd1\xd0\x5a\x2c\x73\x03\x4d\x7c\x43\xec\x59\x99\x61\xfc\x98\xdb\x27\xad\x38\x32\x3b\x20\xd8\xb2\x5c\x60\x02\x44\x0c\x60\xf4\x21\x0b\x62\x83\x7d\x07\xc5\xd8\xa0\xa9\x4b\xe8\xb3\x17\xfb\x63\xb1\xab\xc4\x44\x91\xb4\xf3\x4b\x8e\x7c\x13\xd0\xd8\x1d\x72\xf0\x8b\x62\xd7\xec\xa8\x77\x3a\x0a\xda\xed\x75\xa6\x47\x91\x35\x5b\x7c\x1d\x69\x28\xdb\xb6\x58\xb6\x76\x28\x1b\x99\x3a\x7f\xfb\x48\x36\xca\x53\x6f\x71\x2d\x72\x16\x28\x71\x1f\xdd\xd9\xf7\x31\xeb\x51\xf2\x48\xe8\x51\x6c\xde\x7a\xb9\x51\x88\x0e\xef\xa1\x82\x34\x9e\x04\x6b\x57\x28\x3e\xc4\xd5\x5a\x84\x12\xa1\xb9\x77\x99\x1a\x09\x1a\x06\xc7\xc1\x60\xc2\xf4\xb8\x2a\x33\x96\xdd\x99\xe5\x66\x2a\x2b\x14\x29\x61\x7a\xba\xc8\x70\x6a\xad\x50\xbd\x4e\x39\x27\x69\x5b\xb8\x0f\xd3\xed\x07\x0c\x0c\xe9\x75\x9b\x8d\x6d\x01\x76\x53\x2f\x43\xd0\x9e\x03\xd8\x45\x7e\xc9\x6b\x02\xe0\x0c\x5e\x42\x31\xac\x33\x7a\x5b\xaa\x98\x50\x5e\x3d\x07\x0d\x99\x1a\xc2\x3d\x44\x7a\x0a\x07\x43\x95\x25\x38\x18\xb6\x6b\x24\x71\x98\xe0\xaf\xd0\xe4\xfd\xfb\xf8\x18\x51\x1b\xd6\xa4\xb0\x11\x64\x31\x83\x78\x4e\xd9\xd6\x3b\x0d\x30\x6c\x24\x62\xe7\xf8\xb7\x8f\x71\xdb\xc3\x9a\x20\xc4\x47\x5b\x0d\xf0\xa1\x8d\x01\x7a\x89\x7d\xc2\xfb\x34\xfa\xf1\xbe\x4f\x4b\x25\x76\xd1\x15\x2d\x6a\x07\x4d\xed\xd6\x2e\xf1\x59\x7b\x9c\x45\xe1\x39\x77\x53\x06\xd3\xc9\x5b\x36\x87\xfa\x45\xfa\xaa\x81\x82\x68\xb1\x4f\x37\x87\xbc\x7d\x54\x13\xc0\x37\xd3\x3e\xc6\x32\xee\x4b\x6a\x05\xf6\xe5\x2d\x87\x01\x6a\x6e\xd8\x11\x82\x2a\xe3\x77\x7b\x4a\x5b\x1e\x88\x78\x6a\x60\x25\xd8\xd7\x54\x61\xe2\x2c\xa4\xff\x1d\x4f\x43\x47\xee\xc6\xcb\x5a\x2d\xfb\x71\x84\x71\x80\x0f\x31\x62\x71\xe4\xe9\xdd\xad\x79\x52\x5d\x4f\x6c\x4a\xbd\xfc\x08\x8f\x12\xd1\x47\x94\xd3\x6f\x84\x4b\x69\xac\x17\x2a\xaf\xda\x94\xb2\xe7\xd2\x74\x7a\xc5\x90\x63\xa1\x23\x2f\x54\x60\x75\xfb\x6a\xab\xc2\xcd\x58\xf5\xfe\xaa\x33\xdf\xb4\x89\xfe\x1c\xca\xb7\x71\x85\x35\xb2\x53\x75\xef\xfe\x9d\x0e\x3d\x1f\x39\xbe\x2b\xda\x78\xfb\x9a\xef\x1d\xb2\xbc\x89\x0c\x84\x77\xe1\x81\xf9\x94\x95\x54\xf9\xf0\xcb\x42\xea\xe3\x58\xfa\x8e\x24\x3c\x16\x51\x9f\xd6\xf4\xdc\xba\x5b\x30\x1e\x1e\x41\xdc\x9c\x67\xba\xb2\x8a\x77\xbf\x4d\xcc\x1b\xc3\x98\x5d\x5b\x24\xab\xc4\x5a\x1e\x75\xa3\x5d\x01\xb2\x20\xa8\xd8\x33\x2d\xc7\x50\x96\x52\xd7\x07\xea\xa7\x46\x16\xcc\x3c\x37\xd1\xf5\x82\x57\x2d\xf3\x45\xc0\xcc\x54\x16\xb2\x82\xd8\x05\xb4\xfb\xea\xe5\xca\x02\xc0\x00\xb1\xf1\xc1\x0e\xe5\x1a\x99\x40\x8e\x97\xe8\x97\x9a\xd9\x3b\x06\x43\x2c\x4a\x72\x93\x1b\xdf\x04\xce\xce\x39\x62\xc3\xae\xc0\x99\x15\xe8\x0b\xe8\x13\x8a\x45\xa7\x6f\x42\x7e\xe2\x74\xa1\xa6\x57\xf6\x43\x23\x06\x0f\x79\x20\xc1\x75\x2b\xbe\x65\x9d\x12\xa1\x0b\xa4\xeb\xa1\x06\x43\xd0\x57\xa0\xf4\x7d\xeb\xbe\xfc\x46\x61\x50\x9f\x43\x16\xe4\xa0\xdf\xc1\x26\xdb\xd4\xdc\x67\xc2\xc2\x00\x53\x26\x7f\xdf\xaa\xf6\xe7\xc1\x9c\x47\x6f\x49\xed\x81\x93\x0d\x30\x7b\xc4\x3a\xe5\xb3\x59\xb7\xce\x7d\x78\xe8\x8c\xac\x16\x30\x09\x57\x1c\x0a\xd7\x42\xce\xae\xa2\x2b\xee\x2f\x0c\x76\xfe\x5c\x55\xf9\x32\x07\x1d\x0b\x03\x6d\x50\x71\x25\xd3\x9a\x1c\xc0\x6e\x75\x7f\x4e\xac\xfe\x4a\x1b\xe0\x6e\xff\xf0\x2f\x7d\x6f\x6a\xf3\xc1\xe2\x14\x3b\x8e\x07\x5e\x9a\xd3\x2a\x07\x83\xa4\x5b\x4a\x97\x3a\x2b\xe1\x9d\x93\xd8\x88\x86\x47\x71\x3b\x15\x35\x09\x9d\xec\x20\x26\xdf\x39\xc7\x34\x13\x68\x8c\x61\x15\xd3\x8e\xfc\x28\xee\xf9\xf5\x2a\x51\xa6\x95\x6b\x86\x50\xab\x6a\x9f\xe2\x10\xae\x3d\x10\xe6\xf7\x01\x5d\x82\x34\x51\x64\x49\x18\xbb\x10\xdf\xa3\x52\x28\x6b\x57\xc7\x71\xd8\x19\xe5\x80\xf6\x3b\x8c\xe7\x73\xe9\x9e\x1f\x17\xe2\xe0\x3d\xd7\xb0\x7d\x5a\x0d\x60\xee\x7f\xb0\x87\xff\x7f\xf9\x98\x7e\x2b\x09\xc4\x58\x76\x1e\xc1\x8f\x0d\x16\x8e\x62\xc0\xdb\x25\x1a\xdc\x5b\xff\xfe\xf2\x4b\x50\x38\xec\x36\x71\xa2\x09\x4f\x15\x66\xb3\x63\x75\xd6\xbe\x88\xd0\xb2\x90\xd0\x27\x25\xf0\x9d\xa8\x4e\xf4\x87\x5f\x2e\xf8\xb8\x5e\x92\x50\xc3\x05\x4b\x43\xfa\xb0\x36\x8a\xec\x46\x4e\xd5\xde\x16\x54\x5c\xc9\x32\x00\xda\xd0\x5e\x8e\x4a\xca\x5c\xb8\xef\xfb\xac\x6b\xde\xbb\x1e\xb9\xb3\x4d\xde\xda\x73\xe3\x76\xc5\xd2\xa7\x84\xdd\x19\xed\x07\xc4\x7d\xf0\xb9\x60\x55\xa5\x08\x3f\x6b\x5f\xa3\x38\xd0\x70\x94\x96\xb1\x67\x58\x69\x44\xb8\x71\xbd\x69\x17\x16\x97\xe6\x9f\xb1\x78\xb9\x8e\xfc\x07\x08\xca\x5f\xca\x15\xe4\xa0\xb5\x45\xd2\x37\x1d\x0a\x4b\xba\xe6\xff\x0b\xfa\x8a\xfd\xb4\xb6\xba\x62\x92\x42\xcf\xf7\x79\x42\x90\x3f\xda\x2c\xd4\x5e\x59\x3f\x6e\x7d\x92\xe4\x9f\xb4\x65\xfe\x56\xc3\x58\x5b\x27\xfa\xdf\xe4\x2e\x64\x09\xda\x18\x83\x95\x70\x1f\x07\xca\x59\x4e\x1a\x9e\xe9\xa5\xeb\x8f\xe0\x57\xdd\xea\x53\xbc\xed\x23\xd1\xd4\x60\x9e\x66\x87\x16\xc7\x46\xdf\x90\xbd\xf3\x51\x5a\xda\xbe\x9a\x63\x30\x1c\x7e\xaf\x7c\x1e\xf2\x52\x96\x40\xbf\xc2\xa8\x32\xf3\x11\x52\x78\x32\x52\xec\xa5\x8b\xf1\xf7\xd1\x0d\x50\xf5\xec\x46\x05\xe3\xa0\x4b\x9b\x56\xd7\x50\xe3\x16\xc2\x80\x67\x39\xb6\xe0\xe5\x23\xb9\x0e\x9e\x37\xaa\x77\xad\x7c\x4b\x24\xe2\xf8\x38\x1c\x13\x0a\x68\x25\x8c\xb6\x47\x3f\x0e\x6a\x94\x62\x81\x96\x61\x2a\x22\x53\x85\x5c\x43\x36\x05\x96\xc3\xc0\xc1\x22\x2c\x36\x65\x9d\xbb\xf6\x96\x6c\xba\x43\x62\x15\x68\x51\x67\x6d\x85\x29\x5e\x55\x42\xe6\x06\x7d\x2c\xf6\xdf\x64\xde\x74\x57\x0a\x21\x94\xdc\x70\x05\xb7\xde\xa6\x68\x04\x0c\xb2\x16\xdc\x46\x53\xff\x2c\x43\x81\xd3\x72\x3a\x85\xb8\x21\x58\x8e\x4c\xad\x60\x41\x4a\x1c\x4d\x0a\x96\x4c\x1e\x8d\x6b\xdf\xc9\x0c\x39\xdb\x54\x1d\x6a\xab\x33\x14\x47\xf1\xb1\xf2\x67\x55\xc7\x75\x5d\xf6\xc9\xb8\xec\xe6\x66\xf3\x7d\x4d\x2f\xf3\x7f\x04\xc3\x8b\x73\xf9\x44\x2c\xa5\x23\x56\xa3\x28\x44\xa9\xcb\x03\x77\xe6\x46\xb9\x4c\x26\xa9\x72\x1d\xc9\xcc\x18\xd6\x87\xa1\x3d\xa5\x32\xb5\xda\x54\x4c\xc0\x57\x12\xd8\x8d\x39\x75\xbb\xd2\x55\x7d\x6e\xfe\xc3\xe8\xb2\xdb\x3a\x82\x0e\xc3\x0f\xdd\x91\xe8\x5b\x4d\x0e\x9b\x12\xb1\xb9\x07\xd0\x65\x11\x52\x3f\x9c\xc8\xa0\x92\x78\x12\xa2\x7a\xf5\x9d\x26\x75\x7a\xa8\xcb\xf8\x19\x1b\xd5\x09\x10\x4c\xea\xee\xae\x9b\x0b\xda\x26\x7e\xce\xb3\x67\x10\x8a\xf1\xa3\xd1\xe5\xb3\x24\xa2\xa8\x74\xd1\x44\x11\xfa\xfa\x83\x0f\x83\xc4\x9c\x9c\x78\x31\xf7\xa5\x46\x87\xc0\x6e\xe9\xb4\x4b\x38\x6d\x7d\x45\x38\xdb\xe2\x1a\x3a\x91\xb1\xa5\xdb\x49\xf9\x72\x69\xbf\xc9\x11\xe2\xa4\xd0\x93\x38\x8d\xc3\xf0\x92\x2d\x21\x38\x14\x5c\x94\x1c\x1f\x6d\xa1\x88\x62\x5c\x7f\x2b\xda\xcd\x61\xa2\x5f\x56\x7a\x99\x52\xaf\x5d\xb4\x0d\x51\xef\xe1\xd6\xbe\x44\x9a\x1a\xf8\xec\x08\xf1\x5a\x6d\x24\x46\xfb\xc4\x7e\xd4\x88\xe6\xbe\xcb\x11\x05\xaa\x26\x6f\xb6\x58\xe8\x72\xa9\x90\x85\xb1\x0c\xb1\x61\xee\xd1\xe0\x46\x61\xcf\x0e\x58\xb8\xed\xc6\x71\x43\xec\xae\x13\xd6\xa0\xf9\x78\x88\xb8\xe9\x7a\x3a\x59\x8b\x7e\xf4\x4d\x80\xf2\xed\x3b\xc3\x47\xc6\xe1\x2b\x03\x8a\x37\x35\x58\x7b\xce\x9a\x91\xe9\xb2\x2b\x50\xb1\x5d\xb9\x77\x4f\x05\xa3\x9d\xfa\xd5\x15\xa8\xc5\xab\xa9\x46\x55\x15\x98\xc3\x73\xc3\x7c\xa5\xd3\x4b\xb8\xf8\xf0\x91\x53\x8c\xab\xb1\x7e\xac\x16\x14\x19\x84\xf3\xdb\xb8\x07\xd3\x95\x5a\x8f\x0a\x69\xea\x97\xe4\x4c\x64\x80\xf6\xb0\xb7\x1c\xe8\x68\xb0\xc1\x91\xf6\x21\x78\x28\xdb\xf5\x3b\xda\x15\x43\x22\x27\xe3\xb6\x2c\x26\x5e\x10\x0d\x3a\xa5\xe7\x4b\xb0\x0a\xf6\x8a\xa2\xab\xd6\x16\x06\x82\x82\x5e\x23\x21\x79\xd6\x05\x25\x90\x4d\x6c\xd4\x0a\xea\x48\x26\xbf\x9b\x4b\x87\xef\x74\xf6\x99\x33\xaf\x44\x8e\x62\x41\x7e\x73\xee\x47\x9b\x37\x43\x2f\xe3\xb4\x5c\x1d\x41\x77\xb2\xfc\x64\xe0\xfe\xb5\xce\x33\x10\xc9\xe2\x85\x06\xdd\x24\x49\xd4\x48\x95\x92\x28\x74\x2f\x7c\x56\x14\xb7\x27\xde\xbf\xe7\xb7\xce\x80\x3b\x70\xb6\xd6\xad\x72\x74\x7d\x81\xe7\x08\x31\x2b\xd8\x4f\x39\x62\x1e\xdb\x6d\xce\x25\xc6\x39\xb6\x97\x54\xaf\x14\xd6\x3a\xff\x17\x29\xa4\xfe\x86\x57\xba\x92\xa5\x7d\x95\xfb\xc2\xa4\x6e\xba\xdd\x1f\x8d\x41\xad\xcd\x8a\xa5\xff\x21\xaf\xe5\x9b\x69\x95\xaf\xa0\xce\x6d\x39\x67\xdb\x68\xaa\x8b\x42\x4d\xed\xd1\x9d\x35\x98\x5a\x2f\x26\x0d\x45\xc2\x9a\x5a\xad\xc8\x0d\xe1\x7a\x66\xe4\x25\x5a\x4a\x54\x95\x63\x32\x73\xcf\xb2\x35\x8f\x68\x99\x65\xfd\xd1\x68\x34\xc0\x2e\xfd\x26\x34\x53\x85\xde\x17\xff\xd7\xc1\xdd\xa3\x4a\xb3\xf9\x35\xe6\xc2\xb8\x75\x9b\xe4\xe5\x21\x36\x57\x1c\x99\x05\xab\x6a\x55\xea\x32\x9f\xca\x42\x34\x46\x61\x4e\xbe\x69\x59\x9e\x29\xcf\xd3\x97\xc8\x8e\x2b\x80\x91\xa2\xbb\xd6\x4d\xe5\x71\x46\xed\x36\xec\xf7\xd8\xfd\x05\x03\xeb\xa2\x80\x1e\xed\x8c\x65\x7b\xf0\x33\x6a\x78\x46\x18\x7f\xf7\x4c\xfc\xfc\x21\xed\x5a\x2b\xfd\xfd\xad\x16\xe3\x24\x35\xdf\x3f\x23\x78\x89\x35\x57\x1a\x1d\xda\xda\x52\x2c\x3e\xcc\x94\x4d\x13\x05\x34\x3f\x27\xd7\x4b\xd0\x2c\x24\x66\x51\x43\x7f\xe5\xce\x28\x6a\x70\x4e\x9c\x8b\x25\xb8\x68\xec\xef\xe9\x64\xc0\x8d\x71\xaf\x92\x37\xf7\x30\xbe\x9b\xec\x7a\x94\x72\x39\x29\x5a\x36\xed\x4c\xd6\x92\x99\xa4\xe8\xf0\xe6\xf8\x88\x11\x6a\x89\xa5\x6d\x45\xb2\x73\x19\xc2\x58\xc8\x80\xa2\x27\x02\xf2\xbd\x40\x4c\x16\xc0\xf5\x4a\x3d\xc3\x67\xe1\x6f\x7b\xf7\x19\x5a\x52\x30\x4c\x42\xd6\xf2\x19\xfc\xc4\xa0\xc7\x58\x83\xab\x72\x05\xf1\x4f\x7e\xa9\x89\x59\x45\x3d\xa0\xe8\x16\x7c\x65\xee\x53\x2f\xa8\x83\xcf\x3d\x7b\xf9\x5e\x08\xdf\xf5\x1f\x6f\x65\x71\x0b\x16\x69\x7e\x7b\x79\x11\xfc\x1b\x3b\x5a\xbd\xc5\x61\xee\xc1\x93\xa0\x77\x34\x69\xf3\x63\xba\x66\xd5\xa5\xae\xd9\xf1\xc9\x62\x59\x75\x77\x2c\xeb\x3d\x8b\xe2\x7b\x43\x71\xcf\xce\xd4\x85\x33\x47\xdf\x1e\x45\xb4\xfa\x85\xeb\xd0\xe5\x87\xad\x4f\xe0\x51\xf1\x4e\x6c\xd8\xb0\xfc\x3b\xe2\xd2\xbb\x0e\xb9\x38\x38\xdd\xab\xfe\x6e\xcc\xa0\xf8\x6f\x8c\x41\xef\x2c\x69\xba\x95\x3e\xbb\x09\x2d\xa2\xa5\x7f\x22\x9a\xb8\xff\xa1\xbd\x15\xba\xd7\xfa\x0b\xbb\x49\xfe\x1f\x5c\xef\x91\x45\xc9\x8e\x45\x07\x73\x10\xf2\xa3\xa6\x6a\xd5\x2b\xfa\xc7\x5e\xfe\xf3\x30\x71\xa1\x4a\x2b\xf8\x64\xe2\x5a\x55\x06\x6c\xc0\x3b\xf9\x3d\x11\xc6\x77\x55\xb1\x2f\x6d\xa0\xd4\xee\xcf\xdf\x74\xb4\x4d\xcf\x7e\x16\x96\xab\x07\x13\xb6\x4b\xed\x1f\x84\xd3\xee\x81\xe8\x0d\xa3\xab\x7e\xe5\xb6\x8b\x94\xce\x92\xfe\xaf\x21\x51\x5a\x95\xd6\xac\x24\x65\x92\x41\x80\xc2\x52\x95\x35\x55\xcf\xd1\x33\xd7\x6e\x07\x8c\xe0\x2b\x6d\x4c\x3e\x29\xd6\x62\x5a\xe8\x26\x3b\x98\xc8\xe9\x95\x22\x31\xd1\x97\xb6\xc3\x15\x0f\xd5\x3e\x4b\x75\x43\x21\x3f\xfd\xc1\x9e\xa8\x7d\x47\x4d\x32\xff\x35\x30\x4c\x1f\xe3\x0c\x02\x13\x69\x54\x26\x20\x2c\x82\x92\x43\x4a\x2c\x02\x8b\x3d\x32\x66\xd2\x95\x45\xa0\x2e\x44\x15\x5a\x10\xac\xb8\xe5\xd3\x8a\xb0\x42\x75\xd4\xaf\x27\x5d\xba\xd6\x52\x8c\x9e\x63\xcf\xa0\x76\x33\x99\x76\x03\x99\x77\x1d\x1d\x64\x74\x47\xcf\x94\xf8\xd3\x46\xce\x1f\x0a\x05\xde\x5e\x01\xd1\xb8\x5a\xc4\xfe\xd6\xe6\xa0\x2a\x32\xa5\x50\xff\x0a\x87\xae\xf8\xb3\x58\x54\xbf\xbb\x6f\xb0\x00\x7a\xce\x0b\x48\xc4\x9f\x9c\xd8\x80\x70\x1a\x1c\x0f\xbe\x66\xb0\xac\x94\x0c\x4e\x06\xd0\xd9\xa3\x2f\xbc\x70\x00\x97\xde\x5e\xeb\x30\xb6\xb9\xba\x4b\x5a\xf5\x41\x77\xd7\x7b\xe0\x8e\x6c\x1d\xd5\x7a\xa0\xe9\x75\x45\x55\xfa\x0e\x11\x3c\x01\xc2\x95\x13\xda\x50\x9f\xbb\x95\x55\xb1\x94\xab\xc1\x87\x50\x47\x28\x8a\xc6\xe9\xca\xa7\xc0\x61\xef\xf8\xca\x5c\x89\x81\x6b\x23\xf2\x37\x74\x61\x88\x2b\x00\xa7\x28\x02\xab\x7d\x77\xd0\x31\x6f\xc3\x90\x86\xf0\xfc\xa6\x3d\x18\x36\x7e\xd1\xe6\xce\x0b\xed\xb2\xc6\xed\xce\x0b\xef\x7c\x5c\x7f\x54\x3f\x95\xa7\x1d\x77\x91\xc4\xe6\xe6\x0b\x5f\x60\x24\x38\xd4\x7c\xc2\x10\x00\x57\xc3\x8d\xf1\xe7\xdf\x82\x04\x30\xe4\xfc\xce\xf6\x82\xd0\x1b\xb1\x06\x99\xec\xdb\xeb\x40\x47\x5b\x0b\x1f\x60\x8e\xfc\xbd\x83\xd4\x5b\x4e\xcc\x6f\x83\x53\xb6\x15\x54\x26\x03\x4f\xa9\xd5\x72\x97\x47\xd3\xfe\xd7\x65\x29\x37\xab\x2d\x15\x52\x07\xfb\xa3\xd5\x87\x38\x39\xcc\x4e\x94\xb2\xe2\x2a\xca\x8f\xfb\xa0\x96\xca\x3e\x73\xe4\x42\x18\xcc\x36\xec\x5a\x29\x2a\x06\x42\x21\xa8\xb3\xa1\x87\x89\xa2\x88\x38\xc2\x5a\xfc\x85\xea\x6e\x42\xd4\xaf\xef\xe9\xbb\x0b\x65\x60\xcc\xfe\x38\x84\x19\xc8\x5d\xda\x86\xb2\xbd\x70\x66\x12\xa4\x99\xbd\xb0\x66\x52\xb4\xc5\xe1\x45\x94\x08\x5f\x6e\xda\x80\x5d\x54\xe5\xac\x30\x5e\x5a\x9f\x28\x32\x35\xec\x11\x02\x14\x60\x37\x04\x02\x19\x55\x41\x91\x7e\xe5\x13\xdd\x41\xa2\xf0\x91\x40\xd3\xa9\x5a\xd5\x2d\xdb\xce\xaf\xca\xc0\x73\x2f\x32\xaa\x8e\x12\xf0\x78\x1f\x07\x6c\xba\xa7\xe3\x5a\xf6\xf6\x01\x8a\xd8\x05\xc6\xe6\xca\x7f\xdd\x09\x7d\x88\x2a\xd7\xc5\xc0\x55\x23\xce\xb1\xac\x54\xd4\x6d\x00\xc2\x52\x57\x19\xb8\x33\x59\x84\x04\x6f\x72\xb5\x91\x3a\xcc\x86\x1d\xc5\x8a\xf8\xb6\x79\xbd\x9e\xfc\xe8\xdb\xce\xe9\xc9\x8f\xe0\x3c\x08\x25\xbf\x53\x52\x32\xaa\xee\xeb\xc9\x8f\xc9\x60\x2d\x6a\xf2\xbb\x8e\xa8\x7e\x33\x55\x75\x46\xf0\x5d\xa9\xf5\x21\x3d\x89\xa1\x62\xc9\x00\xbf\xaf\xb5\x5b\x6b\x13\xb7\x50\x4a\x17\xa6\x83\x19\xec\xb1\x82\xae\x20\x0c\x56\xcd\x8f\xf3\x6e\xf7\x3b\x6a\x20\x8a\x0f\x52\x93\x7f\xfb\xe5\xa2\xba\xa9\xbf\x72\xc5\xdc\x68\xae\x46\xdf\xdf\x7e\xc5\x42\x34\x5b\x6b\x83\xee\x5a\x33\x7c\xb4\x03\xb6\x6b\xd9\xfc\xde\x83\x93\x6e\xeb\xea\x6d\x3a\xf6\x7e\x5f\xbe\x6d\xcb\xd7\x71\xfa\xee\xbf\x80\x29\xf0\xfe\x46\x9c\x77\xf0\x21\xff\x22\x86\x86\x9b\xbc\xcc\xf4\xcd\x08\x3e\xe9\xcd\xc7\x5b\x1b\x20\x7d\x22\x36\x38\xfc\x0a\x6b\xc3\x2b\xa0\x90\x56\xe4\x59\xb7\x29\xa1\x6d\x7d\xe8\xf8\x16\x0b\x46\x97\x65\x96\xbd\xb8\x56\x65\xed\x6d\x0c\x3d\x7a\xb4\x37\x74\x65\x7e\xdf\x38\x32\xf9\x3b\x9a\x1b\xe0\x9b\xbb\xc2\x39\x22\x6b\x03\xb3\x2e\x78\xc3\xc2\x79\xa5\xe4\x6e\x93\xc2\xe1\xa1\xf8\x8f\x37\x68\xcd\x36\xad\xf2\x4b\xa1\x75\x1b\x10\x1b\xd4\xb0\xb1\x30\xcb\x55\xbd\xa6\x26\x0d\x23\xf1\x46\x0b\x4a\xee\xc2\xe1\x74\x59\xac\xa9\xee\x21\x19\x83\x7d\xe9\xa6\xba\x6a\xea\xc5\x7a\x14\xea\xa1\x63\x32\x3e\x1b\x6e\x18\x0a\x94\x53\xfc\x69\x99\x61\xc5\x5f\x88\x0a\x2b\x75\x0d\x5d\x34\xec\xe8\x3e\x5b\xdf\xaa\xdc\xce\xf3\xaf\x46\x3e\x62\xfb\x8f\xbc\xf3\x5c\xb8\x3e\x10\xcf\x18\xd4\x67\xa1\x20\x41\x18\xc2\x07\x2d\x24\x43\x84\x50\xf4\x67\x0c\xca\x0d\xa1\x83\x78\x76\xa1\x46\x24\x9e\xa1\x01\xc6\xbd\xed\x59\x98\x2b\x39\x14\x69\x8c\x67\x7e\x02\x5b\xab\xa7\xfc\x32\x5b\x8f\xfe\x67\xb3\xf2\xa4\x34\xff\x4f\x6f\xe4\x49\x3f\xe8\x77\x1b\xcf\x1e\x36\x9e\x14\x69\xbf\x9b\x78\x7e\x2b\x13\x4f\x8a\xd9\xfd\x2c\x3c\xbc\x11\x57\xcb\x6e\x01\xc9\x1f\x57\x6a\xcd\xda\x8f\xa1\x3b\xf5\xda\xfb\x50\x11\x15\xbe\x61\x69\x5d\xad\x59\xd8\x2c\x0e\xcb\xb8\x6d\x68\xfd\x22\x84\xa5\xb0\x7a\xba\x10\xee\x98\xa3\xe0\x3e\x4c\xc0\x98\x4a\x2b\x8e\xe2\x79\xc3\xe4\x4a\x48\xac\x73\x3e\xc9\x5a\x34\x65\x38\x33\x58\x54\x33\x23\x00\xbf\x7b\xe1\x70\xc7\x40\x56\x9c\x44\x8b\x1c\xfe\x15\xec\x57\x7b\xd0\xc3\x4e\xeb\xd5\xc6\x90\xff\x1c\x83\x39\x5d\x74\xbd\x38\x10\x63\x7b\x80\x7d\x8e\x07\xd9\xc1\x01\xaf\x87\x60\x77\x04\x42\xfb\x10\xfb\x7d\x29\x2d\xf1\xdc\x6f\x24\xb5\x98\xd8\x20\xf0\x9d\x8e\xe7\x0d\x04\xd7\x4d\x72\xbf\x92\xe8\xe2\x37\x5f\xc7\xf1\x89\x1d\xc1\x8d\x80\xc0\x76\x61\xd0\x7d\x69\xb7\xba\x6e\x13\xee\xef\x06\xc4\x7f\x4a\xa3\x52\xba\x3f\x3f\xda\x7e\xd8\xb2\x2c\xb9\x4d\x34\x4c\x5b\x13\xe2\x2e\xd8\x7c\x66\xee\x7b\x62\xfe\x6e\x5c\xfc\xfb\xd1\xc1\x3e\xb6\xc5\x34\xc0\x5f\x4f\x7e\x8c\x34\x86\xbd\x88\xc3\x99\x9d\x07\xed\x96\x6c\xbf\x84\x46\x7e\x37\x5f\xfe\x0d\x68\xe2\x57\x5b\x2f\xdb\x92\xdc\xaf\x5c\xdf\xdf\xed\x9c\x7f\xdb\x75\x8e\x0b\xb8\x56\x9d\x0b\xdd\x59\x8a\xb5\x5a\x6f\x34\x20\x74\xd1\x84\xac\xd6\x17\xf9\xe5\xaf\xdb\xfa\xfb\x19\x50\x97\x6a\xa9\xab\xf5\xbf\x88\x05\xf5\x65\x79\x80\xdf\x13\xac\x2a\xbf\x24\x4e\x0b\xe0\xed\x78\xbf\xc8\x72\xfa\x15\xce\xe0\x17\x9b\x4e\x37\x35\x1a\xfb\x87\x34\x1f\xe1\xc7\xfe\x2b\xd9\x8f\x5a\x5f\xf4\xbb\x01\x69\x0f\x03\x52\x0b\x6b\x7b\x58\x90\x2c\xc2\x94\x37\xe4\xa6\x52\x53\x6c\x4a\x27\x86\xa9\x9c\x4a\xf7\x73\x30\xf3\x46\x80\x70\x7f\xc8\x6c\xbd\x2e\xf1\xee\x83\xe7\xa5\x5d\xfb\x2d\x66\xa7\xc9\xc6\xfd\xc5\xf6\xe1\x4e\x0b\x71\x94\x00\xc7\xbc\x1b\x43\x97\x1d\xf8\xbb\xf9\x6c\x1b\x5d\xfd\x4a\xfb\x19\x35\xb4\xff\xdd\x6e\xf6\xcf\x66\x37\xdb\x44\x08\xff\x78\x86\x33\x22\xb1\xdf\x0d\x66\xbf\x1b\xcc\xfe\x5f\x30\x94\xb4\x36\xe6\x2f\x8b\xb8\x0b\xb5\xbf\xba\x37\x53\xfb\xaa\xdb\x21\xa9\x41\xcd\xd7\x13\x0b\xb2\x45\x97\xd8\xd0\x2e\x21\xf6\x0c\xa7\xf8\x4f\x20\x0e\xfc\x6e\x19\xfc\x07\x24\xf8\x7d\x4c\x83\x9c\x2c\xb7\x5b\x0a\x3f\x5e\xd2\x75\x16\xc3\x0f\xed\xaa\x71\x9b\x36\x8c\x37\x32\x7e\xd6\xc1\xb7\xff\x57\xc8\xfe\x37\xb3\x84\xfd\x6e\xe9\xfc\x4d\x69\xfc\xa3\x4c\x9d\xbc\xa3\x41\xb7\xe0\xfd\xbb\x99\xf3\x1f\x7b\x91\x7f\x63\x3b\x67\x27\x41\xa0\x8d\xf3\xf2\x6f\x68\xe3\xac\x95\xa9\xdf\x51\x0d\xb3\x7f\x11\x0b\xe7\xff\xb5\x77\xed\x4b\xae\x73\x75\x23\x58\x51\x98\xa6\xcc\x6b\x61\x3f\xd8\x8a\xaf\xb3\x4a\x2e\xd5\x8d\xae\xae\x60\x91\x78\x51\x49\x59\x7a\x29\x56\xf2\xeb\xf6\xc9\xb8\x4b\x95\x7d\x91\xeb\x2a\x8a\x05\xb9\x2d\xed\xbc\x55\xa6\xfe\x8a\x75\x35\xad\x54\x01\xa4\x06\x76\x56\x68\x82\x77\x8e\x65\x26\x97\x7a\x49\xfd\xb0\xf2\xba\x67\xa0\xba\x62\xa8\x53\x03\x25\x32\x4d\x5e\xce\x0b\x85\xef\x41\x52\x06\xc8\x4a\x49\xa3\x4b\x39\x29\xd6\xc2\x2c\x25\x76\xa5\xea\x9f\xfd\xff\xc7\x57\xa2\xc8\x4b\x65\x05\x23\xfb\x5e\x1c\x54\x14\xba\x16\x4a\x9a\x1c\x37\x88\x6b\xb0\xac\x4b\x1a\x16\x4a\xdd\x40\xc5\x18\xfb\x7d\x76\xa4\x85\xac\x4a\x65\x0c\x56\xb9\xcf\x41\xd8\x60\x0f\x1a\x75\xad\xca\xa8\xaa\xb9\x2e\x0a\x7d\x63\x51\x4a\x1f\x88\x75\xe2\x29\xb7\x9e\xb5\xea\x4b\x71\x73\x80\x75\x16\xb4\xae\xc9\x04\x6d\x27\xad\xca\xba\x5a\xaf\x74\x5e\xe2\xb6\x87\x92\x6e\xa0\x6d\x28\xab\x99\x35\x68\x4c\x6e\x0f\x36\x7a\xa5\xe7\xe2\x40\xbc\xd2\xf3\xb9\x85\xb6\x94\x98\x63\x76\x7e\x07\xec\x9b\x26\xaf\x95\x38\x10\xe7\x0e\xdd\x2e\xb1\xdf\x2d\x70\xc7\x33\xf6\x77\x78\x84\x96\xc4\xc2\x6e\x01\xfd\xb6\x29\xc5\x81\xc0\x2b\x48\x19\xea\x56\x4d\x1b\xf7\x26\x09\xbc\x6c\xc7\x2b\xbf\x55\xa6\x29\x5a\x2f\xb5\xfb\xac\x29\xa8\xb8\xa8\xe7\xf9\x16\x89\x54\xc1\x84\xb6\x8a\x27\x76\xb1\xc8\x55\x25\xab\xe9\x62\x8d\x64\x71\xa5\xd4\x4a\x55\xae\x90\x41\xa1\xe7\x1b\xca\xb6\x74\x60\x18\xf9\xbd\x7d\xc4\xb3\xfa\xae\x75\x08\xe3\xc1\x26\x7a\xa5\xe7\xc6\xf5\x30\x67\xbb\x91\x1a\x22\x59\x9e\xa6\x97\x79\x1d\x99\x4c\x39\x99\x24\xf6\xd1\x42\xcf\x99\x81\xdc\xce\xe5\xcc\xcf\x0a\x0b\x7c\x75\xcd\x09\xea\x99\x76\xf7\x72\x77\x94\xe5\xf0\xe7\x5b\xa9\xc3\x0d\xc7\x1a\x37\xe8\x01\xc0\x71\x6f\x59\xfd\x18\x3c\x36\x57\x76\x23\x60\xe3\x76\x3b\x88\x01\x82\x33\xaa\x6e\x56\xfd\xc1\xd0\xe1\x65\x55\x29\xb9\x9c\x14\xaa\x4f\xfb\x15\x40\xa7\xd2\xee\x20\x2a\x52\x15\xa6\x51\x35\xe5\x48\x20\xd3\x71\xcb\x6c\xa8\x57\x3c\x13\xe3\xd3\x0f\xbf\x0f\x4c\x77\x24\xc4\x4b\xcb\x0a\x54\x59\xe7\x95\x2a\xd6\xa2\x59\xb9\xe5\x60\xb3\xbb\x01\x3f\x4f\xdd\xf3\x66\x47\xe8\x98\x81\x3d\xd2\xda\xab\xd2\xea\x98\xee\x88\x3e\xb5\x66\x53\x81\x3e\xb2\xa9\x74\xad\x0e\x3d\x49\x85\x79\xe9\xa1\x2d\x05\x08\xfd\x7a\x49\x63\xf4\x34\x0f\x05\x3c\x5b\x8b\xe6\x25\x05\xcf\xb5\x9f\x53\x9d\xe1\xa5\x5c\xf3\x46\xf1\xc8\xe1\xec\xc9\x09\x1e\xb0\xd5\xaa\xd2\xab\x0a\xda\x0e\xba\x8f\xd9\x85\x04\x5d\xd2\x67\x3c\x77\xc2\x09\x43\x44\x8d\xb7\x06\xa8\xd2\x24\xb1\xf9\x6a\xa6\xa1\x3e\x34\x4c\x7c\xf7\x27\xe5\x06\x68\x61\xc7\x5e\x45\xd6\xf1\x81\x78\x85\xab\x67\x63\x7f\x8d\x88\x5c\x89\x66\x35\xd5\x4b\x28\x13\x4d\x44\xe4\xd8\x5a\x4a\xe8\xd3\x5b\x6c\x66\xa8\xcb\x5a\xdd\x46\xc3\x84\x15\xd9\x85\x24\x0b\xf7\x0d\x11\x3d\xc7\x0f\x4e\x6d\x28\x80\x58\xda\x28\x72\xe5\xa7\xf7\xc4\xd0\x2c\x2f\x73\xb3\x68\xbb\xf9\x7e\x31\x8e\x68\xc0\xec\xef\x87\x23\x6d\xea\xbd\x91\xf4\x05\xc8\x33\x98\xca\x01\x33\x76\x5c\x44\xe8\xa6\x5e\x35\xac\x0e\xf3\x8d\x38\xff\xe6\xa5\xef\xf9\xe1\x9b\xf1\x50\x2b\x11\xc7\x8e\x89\x79\x0b\xa1\x46\xf3\x91\xf8\x5e\x09\xd3\xac\xa0\xa8\x6e\x5e\xce\x34\x71\x2f\xe8\x61\x37\x18\x0a\x05\xf5\xa5\xed\x2f\xf5\x74\x34\x1a\xa1\xf9\xb4\xc8\xaf\xfc\x68\x23\x7a\x88\x00\xb6\x31\x51\x7a\xfd\xdb\xd6\x54\x40\xac\xd7\x8d\xe5\xd7\x45\x61\xcf\xab\x39\xb2\xc6\x4a\x37\xf3\x85\x3f\x64\xde\xb8\x6a\x72\xd0\x8c\x5b\x18\xa9\x97\x0a\xbe\x97\x3e\xcf\xd4\xb2\xcc\x64\x95\xf9\xc1\xcf\xbf\x79\xd9\xbd\x16\xaf\xe0\x48\x89\xb9\x18\x3e\x73\x46\xff\xe5\xc1\x2a\x56\x4f\x39\xc3\xce\x44\xde\x04\x97\x61\x5d\xa8\x5e\xcf\x5f\xc1\x22\x77\xef\xba\x2e\xbe\xa9\xe5\xf4\xea\x1d\x76\xcd\xc4\x14\x93\xe7\x72\x55\x37\x15\x7e\x2e\x5f\x19\x10\x8d\x04\xc8\x46\x60\xa2\x82\x45\x06\xa9\x5a\x02\x69\x41\x1f\x22\x28\x48\x68\x1f\x33\x94\xfe\x82\x25\x08\x8b\xf5\x48\xd8\xc5\x74\xed\x8e\x26\x4a\xb8\x06\x84\xd8\x9a\xd2\x28\x45\x45\x13\x47\xbe\x34\xbe\x2c\x8c\x86\xb2\xc8\xc6\x75\x99\xb6\x43\x01\x56\x6b\x2d\xac\xc8\x68\xdf\xa6\x2a\x23\xfa\x40\x2c\x37\xca\xe3\x1f\x29\x64\x30\x72\xdf\x4a\xdf\xf0\x8e\x0e\x6b\xfa\xd3\xa2\xe2\xa2\x57\xe8\x79\x6f\x28\x7a\x99\x9a\x34\xf0\x8b\xa5\x19\xfb\x5f\x3b\x86\xfd\x2f\x50\x59\xef\xd2\x37\xb1\xea\x17\xea\x5a\x15\x03\x71\xf6\x39\xa9\x4e\x85\xaa\xc5\xd2\xcc\xbf\xc1\x4a\x82\x0e\xc7\x42\x98\x9b\x1c\x5c\x00\x04\xef\x7b\x94\x59\xbc\xd1\xeb\x9e\x45\xd7\xe0\x8d\xf1\x25\x7c\xf9\x33\xef\x00\xe0\xef\x81\x71\x47\xb5\xfe\x6e\xb5\x52\xd5\x73\x69\x54\x7f\x40\x2d\x1b\x43\x31\xe3\x49\xa5\xe4\x55\x54\xa3\xd5\x7e\x7b\x2d\x34\x92\x59\x84\x9c\x0b\x18\xf0\x32\xd8\xa6\xe8\xc2\x06\x38\x71\x26\xfa\xa3\xd1\x48\x56\x73\xc3\x90\xc1\x0a\xa7\x5a\xe2\x0c\xd5\x6e\x03\x69\x3e\x38\x8b\xa9\xf2\x01\xfb\xaa\x07\xc2\x8e\x37\xfa\x51\xe7\x65\xbf\x27\x7a\xf0\x41\x3f\x94\xfe\x83\xec\xb4\x47\x72\xb5\x2a\xd6\xfd\x68\x4a\x43\x78\xcc\x19\xac\x40\x5f\xf5\x5d\x53\xbf\xaf\xe4\xea\x70\x92\x97\xa8\x98\xcf\x2b\xdd\xac\xfc\xf6\x02\x6a\xbb\xe8\xc1\x45\xbb\xd6\xf0\xcb\x73\x5d\x14\x72\x65\x54\xc6\x17\x1d\xee\xb0\xef\x24\x34\xfe\x19\x86\x4b\x11\x04\xc0\x1c\x91\x78\x61\x03\x9c\x45\x64\x21\x27\xaa\x38\xeb\xf5\x22\x4c\xe2\xe8\x78\x2f\xea\xf2\xf9\x91\xe8\x85\x01\x12\x4c\xa6\x7c\x41\x88\xde\xa8\x52\x2b\x25\xeb\xfe\x83\x07\x2d\xfe\xd0\x81\x59\x8e\x80\x17\x65\x96\x7e\xdb\x68\x4e\x37\x3c\xbf\x99\xef\x82\xb4\x78\x60\xdf\xef\x87\x76\xed\xfb\xb6\x4c\xf9\xe0\xa0\x7b\xca\xad\x22\x94\xd0\xc8\x0d\x05\x6f\xf8\x80\xaa\x99\xd6\xba\x62\x16\x23\x68\xda\x8b\xcd\x72\x17\xaa\xca\x6b\xb0\x5c\xdd\x81\x9e\xd1\x1d\x5a\x9c\x3b\x52\xbe\x33\x2a\xee\x1b\x07\x02\x5d\x4b\xcc\x27\x41\x9c\x5a\x76\x81\x60\x1c\x77\xb7\xb7\x63\x61\x89\xc7\x62\x2d\xf2\x32\xaf\xc9\xad\xd5\x3d\x59\x6f\x98\x0a\x03\xfe\xb7\x6e\xc0\x78\x51\x2f\x14\x58\xa7\x98\x94\xe9\x35\x00\x90\xf6\x83\xf4\x2f\x96\xaa\x5e\xe8\xcc\x40\x01\x52\x35\x55\xc6\xc8\x6a\x0d\x30\x32\xe3\x5a\xc1\x1d\xec\x19\x17\xbd\xd0\x2b\xd7\xd7\xb2\x12\x5f\xad\x2d\x7e\x0c\x15\x24\xeb\xc4\x57\xbf\x47\x40\x3d\xbb\x3c\xf4\x2c\x5d\x8a\xcd\xf5\xb0\xab\x42\x18\x0f\xca\xf1\xf7\x9d\x17\xf5\x8d\xaa\x0d\x9d\x80\xf9\x5f\xb1\xe7\xdc\x2d\xfe\x9a\xcf\x44\x5e\x0b\x75\x9b\x9b\xda\xf8\x1e\x71\xad\x26\x4d\xe3\x23\x36\x18\x16\x5e\xf5\x47\xb9\x2b\xa8\xee\x9a\x1c\x4d\x6f\x87\xe2\x67\x3b\xf6\x33\x31\x3e\x82\x3e\x05\xf7\x69\x2b\x6c\x9c\xff\x6a\x97\x94\xc9\x3f\xc5\x4a\x0a\xa0\x87\x8b\xbe\xba\x86\x8e\x6e\x53\xbb\x08\xb3\xa6\x10\xba\x54\x66\x00\xda\x82\xc9\x33\x75\xa0\x66\x33\x10\x48\x2c\xa1\x15\xb9\xa9\x87\xc2\x68\x36\x52\xa5\x88\xe2\xf2\xda\xc9\xf5\x10\x82\xc4\x8d\x05\x4e\x6f\xc5\x7a\xfc\x10\xdd\x86\x97\x37\x7a\x0e\xec\x97\x07\x4b\xe1\x7d\xce\x6e\x0a\xac\x52\x2f\xce\x44\xee\xc7\xf9\xd0\x42\xcf\xe1\xa1\xf8\x93\x34\xf9\x54\xa4\xc6\x2c\x5f\x61\x98\xe1\x50\x66\x99\xfd\xa5\xdf\x5b\xe9\xd5\x01\x9a\x29\x7b\xc3\x1d\x48\x64\xb3\x19\xad\xf4\xaa\xcf\x48\x4b\x88\xd0\x46\x30\x37\x56\x7a\x57\x15\x6e\x1d\x99\x17\xd4\x99\xce\x4e\x05\x0e\x5b\xd8\x89\xa6\xd6\x2b\x48\xe0\x1d\x85\x11\xc8\xe4\x81\x4f\xbf\xf8\xcf\x7e\x78\x1d\xce\x70\xc8\x48\xf1\x00\x1d\xed\xf1\xfb\xcf\x49\x45\xb0\xf2\x69\x5e\x66\xf9\x94\x56\x69\x21\x8d\xd3\xd5\x27\x6b\x90\x66\xbc\xda\x8d\x9b\xb2\x3d\x09\x0b\xde\x1f\x04\x74\x0f\x22\x44\xbf\x91\xd0\xfe\xb0\x65\x37\xdc\x8a\x6a\x80\x3e\xf8\x28\x84\x5b\x42\x31\xaa\x98\x11\x2f\x8f\x3f\x18\x12\x88\x9d\x51\x3e\x8d\xb1\x74\x40\x5d\x78\xb5\x23\xc6\x78\x85\x2b\x11\x5e\xdb\x8f\x27\x18\x89\x68\x8f\xf0\xff\xbd\xcc\x6b\x31\x3e\x3a\x5a\x9a\xd0\x6b\xd3\x2e\xbd\xac\x2a\xb9\x16\x14\x5c\xe2\xb9\xa9\xbc\x0a\xc6\x63\x75\x0b\x18\x65\xeb\xd0\x11\x36\x31\xb4\x63\x27\xab\xbe\x93\x24\x1d\x19\xc0\x89\x13\xd4\xc8\x52\xa9\xcc\x08\x59\x62\x5c\xeb\xb1\x9f\x33\x6b\xa9\x9f\xd0\x35\x99\x51\x7c\x53\xc7\x4a\x81\xbe\x64\xd1\x72\x68\xc9\x9c\xf2\xef\xcb\x21\x19\x53\x59\xd7\xd4\x5a\x47\xc3\xa1\xd7\x23\x5f\x2a\x68\x40\xd5\xa6\xbd\x4a\xfd\xd4\x28\x03\x9f\xdf\x3f\xa6\x2f\x6e\x51\x61\x5b\xcf\x72\x3e\x3c\x38\xfd\x5e\x77\x95\x5c\x0d\x87\x63\xb7\x4e\x84\x16\x53\x5e\x56\xd1\x0d\x45\x7e\x0e\x77\x22\xda\xf3\x11\xec\x1d\xf4\xa4\x27\x5c\xb7\x22\xec\x9e\x95\x21\xd8\x9f\xdc\x25\xeb\x27\x7a\x16\x26\x4d\x05\x6c\xdd\xe9\xd0\xac\xfa\x60\x27\x22\xb9\xda\xbe\x78\xd3\x73\x74\x97\xf6\x1b\x55\x58\x6d\x8b\x12\x74\xdf\xc3\x67\xb9\xb1\x3a\xd2\xd6\x67\x18\x8c\x7f\x6e\xae\xea\xad\xcf\xd0\xfd\x14\x9e\x5a\xb4\x6c\x7d\xc6\xc2\xf8\xe7\x6a\xba\x10\xc2\xa4\xfd\xe5\xaf\xe4\xea\x9d\x8f\xec\x80\xab\xfe\x6c\x0c\xdd\x89\xf1\xb0\xea\x77\xbf\xd0\xc3\x0f\xfc\x10\x5c\x04\xda\x30\x4f\x58\xa3\xee\x01\x9d\xc8\xa2\x0c\x85\x32\xd7\xba\x8a\x9a\x4f\xd9\x0b\x91\xb4\x08\x08\xd1\xb3\x0d\xe6\xfb\x30\xde\xd0\x99\xbc\xc9\x0b\xb8\x50\x6b\x71\xa3\x98\x0f\x62\x33\x49\xb3\x59\xb9\x8a\x9f\x51\x99\x7b\xd8\x17\xd0\x0a\x60\xab\xf4\xf9\x36\x1c\x18\xb8\xc1\x57\x39\x5a\x7f\xad\x1c\xc6\x5e\xe1\x9c\xa0\x6b\xec\x49\x00\xf8\xdf\x3a\xbd\x40\xb2\x91\x31\xf1\x35\xd6\x90\x57\xa6\xfe\x92\x2e\x87\x7a\x1b\xee\xbe\x8f\x0f\x76\xf4\xc0\x9b\x83\xf5\xbe\x68\xa0\xbe\x7d\x4d\x5b\x1f\x0b\xc9\xf7\xc4\x03\xe1\x1e\xf7\x11\x42\x35\xbe\x7f\x93\xe5\x96\xcc\xb6\x1b\x66\xe5\x75\x0f\x37\x89\x0b\x07\x78\x49\x9b\x3f\x82\x00\x6a\x46\xf2\xb0\x7f\xa6\x41\xdd\x76\x35\xa1\xac\x34\x6e\xba\xcc\xcb\x55\x9b\xd0\x17\xef\xe0\x7f\x5e\x14\x3a\x6b\x5a\xa1\xe7\xfd\xde\x17\xfc\xeb\xc3\x1b\x47\xb3\xa6\x28\xda\xcd\x7b\xfe\x0c\x11\x83\x9d\xde\x2c\xd7\xc6\xd0\x9e\x4f\x76\xf6\xbf\x19\x35\x77\x9d\x3d\x1e\xa7\xe9\xd1\x93\x29\x93\x57\x6c\x2d\x43\x25\xee\xae\x49\xbb\xda\xec\x70\x0e\xd2\x53\xa0\x65\xf8\x32\x2d\xa4\x80\xdc\x48\x13\xba\x39\x08\xf4\x22\x6f\x23\x95\xc0\xb4\x5b\x64\x12\x79\x30\x36\x50\x73\x1b\xe7\x25\x09\x37\x1d\x0c\x0c\xb5\xb4\x4e\x4b\xf6\xdf\x87\xad\xc4\x27\x4e\x12\xc4\x94\x7e\x28\x6c\xca\x56\xc8\x5c\xe8\x83\x20\xb4\xf7\xca\xa0\x7a\xed\xe8\x6a\x28\x56\x8d\x13\xa8\x55\x68\x1a\x41\xbd\x9f\x49\xab\xaf\x99\xc1\x9c\xab\x8e\xa0\xff\x42\xd0\x0a\xd3\x1f\x8d\xc8\x72\x98\xaa\x55\x90\x83\xd6\x78\x87\x35\x48\xc9\xcb\x5a\x95\x19\xa2\x69\xa2\x7c\xdb\x77\xef\xe0\xc6\x39\xf6\x8c\xd7\xc5\x09\xbf\x28\x89\x21\x0d\x85\xd6\xd6\xc6\x0b\xa5\x91\xa7\x2c\x9f\x2e\x40\x29\x9c\x28\xa7\xdf\x67\xb0\x02\x60\x92\x76\x51\x2e\xb1\x1b\x60\x24\xc4\x97\xba\xf2\xe2\x2c\x73\x8b\x7f\xb5\x4e\x4e\xdc\x1d\xda\x77\xa2\x1e\x9b\x5d\xfa\x31\xc9\xa8\x89\x57\x02\xdb\x3f\xf7\xec\x63\xbd\xb0\x36\x35\x52\x92\xd3\xa5\x9c\xaf\x00\x03\x6f\xdc\x72\x79\x25\x9e\x54\x7e\xde\x81\x3f\x79\x76\x0e\xdc\xa7\x43\xfb\xdf\xe4\x0a\xd8\xd7\x85\xd2\x7a\xd0\x53\x48\x70\xc5\x52\x60\x86\x25\x40\xcb\x70\x0e\x79\x5f\x67\x8a\xd3\xd4\x25\xc7\x6a\x17\x11\x83\xd7\xd5\x7d\xb3\x55\x27\x54\x46\xe5\xa5\x08\x37\x48\x61\x33\x1e\xdb\x84\x5d\x1e\x0c\xef\x31\xe0\x3a\xa8\x24\x44\xb1\x65\x8f\x46\xe4\xd0\xd5\x32\xda\x2e\xbb\xfb\xea\x34\xa9\xda\x92\x7c\x7c\x8f\xec\xa0\x57\x60\xec\x84\xfb\x96\xa8\xfe\x28\xa6\xb7\xf6\xda\x33\x0f\x7d\x71\x75\xd9\x6e\x23\x4d\xac\x06\x3c\x06\xb4\x5f\xa6\xe8\x9b\x23\x3c\x36\xab\x0e\x35\xc2\x05\x88\xb8\xe5\x4f\xea\x8e\x39\x0d\x2f\x30\x38\x29\x4a\x7d\xa0\x57\xd8\xcb\x36\xd9\xb1\x76\x30\xcb\xf6\xf3\x4a\x19\x61\xf4\x52\x89\xab\xbc\xcc\xec\x20\x70\xfb\xe0\x06\xbc\x3e\x76\xe3\xa0\x31\x00\xa2\x56\x2c\xdb\x29\x24\x76\x92\xc8\xb4\xc8\x3d\xb7\x00\x7f\x38\x6c\x75\x70\x80\xe8\x0a\x1c\x44\xb5\x72\xcb\xd4\xc9\xcd\x40\x51\x44\x30\x5a\x7c\x3b\x94\x04\x63\x51\x4e\xce\x14\xf0\xd9\x00\x7b\x77\x3d\xf2\x00\x1b\xf0\x45\xb2\x5c\x33\xef\x1c\x33\x80\xa0\x63\x1e\xb6\x57\x78\xaf\xef\x47\x83\x64\x96\xe5\x66\x2a\x2b\xcb\xd8\xc0\x30\x08\x47\x80\x2e\x03\x19\x12\xd7\xb7\x34\xe0\xf6\x69\xa5\x96\x44\xfe\x51\xe4\xd2\x79\x89\xd6\x2c\x81\xd6\x2c\x63\x55\x4d\xf8\xdb\x2d\x48\xc7\xc7\xa3\xe5\x64\xa2\x44\x9e\xa9\xe5\x4a\xd7\xaa\xc4\xb3\x9a\xb1\xb4\xa1\xdd\x04\x6b\xdd\xf4\x2a\x25\x64\x96\xd9\xd7\x7e\xf1\xf5\x57\xa2\xd4\x19\x75\x9f\x12\x99\x9e\x36\x4b\xe8\xb1\xb0\xb4\x1a\xbe\x69\x2a\x40\xd9\x2c\xaf\x30\xee\x08\x85\x6d\xd4\xc6\xd5\xba\x07\xcd\xef\x6a\xdf\x1c\xb9\x06\x9b\x90\x20\x76\x06\x47\xdd\xd0\x45\x11\xd6\x0b\xb5\x14\x95\x04\x8d\xbd\x5e\xc8\x12\x89\xa5\x41\xb7\xd5\x32\xee\x37\x65\xc7\x9c\xea\xa6\xac\x69\xad\xf3\x0a\xd7\x94\xc5\x0a\x92\xfa\xb0\xaa\xf4\x44\x4e\xb0\xa3\x79\xa1\x66\xf6\xfb\x17\x96\xe6\x20\x6e\xcd\x2e\x1f\xc9\x1f\xbc\x4f\x97\x45\x6e\x28\x59\x17\x18\x85\x9c\xe8\xaa\x66\xab\x92\x85\x08\x1c\xce\xd6\x7e\x5b\xaf\xf2\x7e\xe7\xca\xde\x1b\x3d\xd3\x62\x55\xa9\x03\x24\x0f\xd8\xf4\x7f\xc7\x5d\xce\xdf\xbc\xdf\x1e\x07\x89\x80\xf2\x53\x1a\x8a\xc6\xc1\xc6\x62\x52\x4c\x9a\x72\xba\xb0\xc3\x4e\x74\x5e\xa8\x6a\x55\x48\x17\x9f\x73\x58\x2b\x59\x65\xfa\xa6\xa4\x78\xc5\x12\x77\x53\x6e\xbc\xe0\xe0\x96\xdc\xfc\x0d\xd6\xfc\x1f\x39\x8e\x23\xa5\xa6\x9d\x36\xf6\x8f\x22\x2c\x6d\x6a\x5c\x5f\x8b\xff\x03\xbb\x00\xbf\x13\xd7\x3f\x0a\x71\xfd\x1d\x02\x60\x5a\xc4\xf5\x31\x21\x30\xf8\x7a\x51\xa9\x55\xa5\x8c\x3d\x4c\xa1\xbf\x23\x8f\x99\xcc\x63\x15\x65\xd4\x6a\x23\xe9\x8e\x4f\xf0\x07\x54\xb5\x8f\x8e\xdc\x66\x95\xf1\xca\x03\xe0\x82\x1f\x31\xea\x5a\x55\x3e\x84\xdd\x9b\xcd\xe0\xbc\x9e\xac\xc5\x42\x96\x2d\x35\xb9\xf3\x45\x64\xb1\x7d\x0e\xc1\xb1\x6f\x63\xb1\x04\x23\x66\x83\x88\xdb\x92\x63\x47\x3b\xb5\x70\x8c\x88\x0f\xba\x78\xce\x5c\x15\x43\x38\x27\x31\xe6\x97\x34\x38\xbe\xfa\x34\x09\x67\x35\x68\xa7\x06\x74\xd3\xda\x90\x96\x6a\xf0\x21\xb2\x71\x44\xb9\xb0\x2c\x9c\x91\x52\x07\xe2\x80\x4c\x38\x6d\x85\xd7\xf7\xc8\x7b\x23\x05\x45\xcb\x7a\x89\x45\x62\xbc\x81\x1b\x2e\xa1\xc9\xb6\xf2\xdd\xda\x37\x6d\x22\x4d\x0d\x04\x61\x75\x36\x5a\x6f\x40\xf6\x06\x32\x15\xc4\xca\xb6\xac\x61\xec\xc1\x86\xa4\xd3\xfb\x87\x77\xb8\x4d\x1c\x49\xe1\x8c\xd1\x05\x06\x59\xf0\x17\x6c\x58\xd6\x8e\x15\xed\x58\x4a\xfe\x46\x4f\x2c\x67\xb1\x49\x2b\x7a\x1b\x35\x24\xed\x78\xdd\xc7\xbc\xca\xd9\xae\xa2\x4f\x63\xe6\xfc\x07\xa2\x77\xc1\x4d\x6b\xf6\xc2\x65\xcf\x05\x98\xa4\xa9\xd4\x10\xc8\x19\x51\xcd\x88\x7f\x93\x5b\x1c\xe7\x7f\x70\x7f\x47\x36\x8e\x17\x10\xae\xad\xe2\xfd\xc4\x0d\x0d\x53\x5f\x5b\xb9\x6d\x5e\x4b\x68\x71\xc8\xd9\x8a\xec\x8a\x65\xa0\xe0\xd1\x0e\x49\xd5\x7e\x4a\x5e\xef\xcb\x36\xf6\x66\xe9\x9b\x2d\xa7\xf6\x77\x9e\xef\x12\xc7\xf4\xe2\x68\x14\x00\xe7\x73\xb2\xed\x1a\xa0\x4d\xcb\x0a\xff\xab\x55\x41\x76\x2a\x38\x3f\x25\x14\x58\xd8\x6e\xc4\x1f\xc5\x0e\x22\xbf\x42\x14\x6a\x44\xee\x2f\xa0\x87\xe1\x1d\xb1\xed\x7f\x17\xee\x90\xa0\x67\x28\xf6\x76\x34\xbd\xa5\x0c\x3e\x9f\x17\x7e\xcb\x9b\x2d\xaa\x5b\xbf\x5a\x1d\x06\x3b\x44\x2b\x5c\x72\xf1\xbd\x2e\xf0\x87\x95\xae\x0e\x0e\xd1\x2a\x2f\xeb\xa2\xec\xf7\x80\x61\x54\x32\x07\x0e\xc5\x6a\x59\xa3\xd5\x56\xdd\xf2\x56\xd7\xea\x76\x64\x6a\x9f\x38\x94\x5e\xe5\xb3\x83\x74\xad\xb8\x6f\x75\xf4\x5a\xf7\x0c\x05\x71\xfd\x50\xf6\x06\x83\x2d\x0d\xab\x3b\x9f\x1d\x24\x99\xed\xd1\xf7\x39\x5f\xa8\xfd\xbc\x77\x6e\x71\xbe\x3c\x7f\xf9\xea\xc5\x17\x43\x0c\x85\x6c\x57\x78\xfe\x8e\x84\xa4\xe9\x42\x6b\x7b\xe6\x46\x09\x10\x98\x26\xd3\x94\xa8\xae\x71\x1d\xdd\x14\xf9\x7c\x51\x17\x6b\xb1\xd4\xd0\xc5\xb9\xbc\x56\x65\xae\xca\xba\x7d\xb0\xe2\x89\x6d\xd4\xc6\x78\xa1\x0d\x11\xeb\xfd\xc1\x8e\x4d\xf5\x81\x3b\x29\x3d\x0b\xf7\x09\x3e\x1d\x56\x5c\x77\xe6\xb8\x5d\xbd\x41\x54\x3a\xf7\x87\x52\x94\x34\x00\x09\x39\x6e\x8f\x1a\x77\xd4\x31\x59\x93\x9d\x90\x16\x89\xdb\x8d\x95\xba\x82\x80\x87\xeb\x3c\x6b\x64\xc1\x82\x89\x36\x6f\xfe\x24\x8a\xbf\xd3\x99\x1b\x1d\x01\x0c\x05\x69\xee\x86\xb7\xa2\xb5\x4f\x96\x90\xde\x11\xf9\x80\xf9\xe0\x6f\x16\xba\xaa\xa7\x4d\xed\x58\x49\x32\x7a\xcf\x88\x42\xcf\x93\xa1\x31\x21\x84\x0d\x69\xaf\xb4\x8f\x2d\x77\xd6\xbb\x25\xd8\x2f\x47\x22\xce\xd2\xc0\xd1\x16\xfa\xc6\xeb\x0b\x76\x75\x30\xa8\xcc\x67\x67\x6c\x48\xcb\x20\x4f\x68\x3c\xf7\xe9\xad\x38\xb3\x84\xf1\xfe\xbd\x4b\x7e\x8e\x0f\x76\xf2\x87\x86\x19\xa0\xb5\x44\x95\x60\xcf\x80\x80\x82\x99\xcc\x8b\xa6\x6a\x8d\xec\x2e\x87\xb6\x86\x7b\x8d\x8c\x14\x99\x8c\xb5\x8a\xdc\xa5\x29\x5e\xa1\xd1\x36\x47\xb0\xa9\x65\x55\xab\x0c\x9c\x34\x50\x38\x1f\xad\xfc\x0b\x69\xca\x5e\x8d\x25\x4d\x08\x44\xac\xa1\xd9\x6b\x24\xf4\xd8\x3b\x5f\x48\x88\x3d\xb0\x0f\x6f\x78\x61\x5e\x8a\x65\x5e\x14\xb9\x51\x53\x5d\x66\xc6\x1b\x91\xc2\x2c\x6a\xad\xaf\x78\x18\x07\x9f\x0e\x0e\x16\xe6\xe4\x4b\x38\x75\x4c\x28\x6b\x2a\x54\x3d\x37\xcd\x67\xa9\x21\x45\x6b\x6a\x79\x54\x74\xf4\x46\x08\x88\xe6\x46\xaf\x25\x2c\xe0\x50\xf6\xcd\x42\xbc\x2c\x43\x66\x6b\xa6\x6a\x7b\x80\x83\x32\xe9\x96\x33\x68\xaa\x20\x2b\x14\x0a\xfa\xa1\xfb\x12\x32\x35\x24\xf4\x09\xf0\x45\x84\x44\x98\x88\xe2\xb0\xfc\x11\xc9\x2b\x5d\xdf\xf4\xba\x59\x4e\x50\xb5\x5c\xca\xdb\x7c\xd9\x2c\x03\x89\x89\x78\x27\x85\xe8\xad\x1b\xe7\x45\x10\x25\x3e\x9d\xd3\x5e\xa9\x94\x9c\x2e\x70\x8b\xcc\xc4\x91\x45\x08\x65\x7e\x71\x3b\xa8\x3b\x19\x8c\xa2\x4c\x48\xb2\xa7\x42\xe2\xcb\x50\xa8\x6b\x55\xd2\x8a\xcd\x50\x8b\xb7\x13\x4a\xbe\x6b\x29\x6f\xbf\x0c\x24\x7f\x94\x2c\x53\xd5\x50\x2b\x08\x96\x5d\x25\xd0\x6b\xa4\x64\x55\xac\xc5\x44\x4d\x65\x83\x19\xac\xb2\x14\x4d\xa9\x6e\x57\x38\x15\x4b\x5e\x79\x87\x70\xbe\x92\x65\x3e\x0d\x79\x00\x28\x96\xba\xf8\x85\x95\x2a\x33\x9f\xc2\xe8\x98\x6f\x60\x84\xff\xd9\xa8\x46\xf9\x86\xa3\xec\xc8\x04\xbe\x8f\x8e\x07\xe2\xfe\x21\xad\x0c\x91\xd3\x1f\xa0\x9a\xc4\x23\x99\x82\x05\x1a\xc5\x48\x3b\x12\xb8\x70\x10\x9b\x5b\xf9\x3e\x3b\x23\xcf\x5f\xbd\x7a\xf7\xf6\xc5\x9b\xb7\x6f\x28\xd4\x63\x46\xa7\xe6\x8b\xb2\x59\xf6\x7b\x7f\x90\x45\x01\x16\x13\xf3\x79\x6f\x90\x06\x4d\x70\xc5\x9b\xf3\xd0\x8d\xca\x7f\xfb\xed\x38\xdb\x2e\x87\x2c\xcb\xbd\x08\xc8\x6b\x85\x0c\xec\xfb\x86\x56\x5c\x13\xe6\x0d\x30\xbd\x4e\xaf\xea\x77\x2b\x59\xd7\xaa\x2a\x43\x79\x0a\xba\x40\xc9\x0c\xee\xaf\xf7\xef\x71\x5e\x1e\x75\xae\x13\x07\xbe\xeb\x39\x18\x9d\x81\x1a\x43\x58\x00\xb9\x60\x99\xd2\xc3\x7c\xb3\xd4\x2b\xc0\xbb\x75\x7e\xc4\xc8\xd0\x1f\xc5\x1f\xfc\xb3\x3e\x93\xfc\xc7\x90\x49\xce\x42\x0e\x1c\xd8\xc5\x8f\x14\x0c\x7f\x78\x28\x5e\x6b\x47\x2a\x37\xaa\x57\x59\x91\xc2\x12\xe7\xbd\xbb\x67\x67\xf7\xb8\x0d\xdd\x5e\xb9\x27\x8c\xe6\xa0\x4b\x2b\x3a\x83\xb1\x01\x87\xb2\x4b\x1b\x08\xe5\x0d\x18\x19\x3c\xbb\xe3\x63\x79\xd7\x57\x59\x1b\x67\x5b\xa1\x7e\x2d\x5e\x00\x76\x68\xbc\x7b\x76\x96\xe0\x31\x16\x89\x1d\x1c\x93\x88\xbf\x55\xf3\x17\xb7\x2b\x2e\x12\x43\xbb\x75\x82\x04\x42\x01\xea\xf0\x2a\xed\x60\xc0\xb4\x08\x3b\xb1\xbc\x64\xc5\x9c\x50\x46\x76\x91\x20\x41\x0f\xbe\x7b\x26\x22\x52\xd8\xf0\x38\x97\x98\xc9\x59\xeb\xa8\xd9\xd1\x28\x50\x59\xa0\x8a\x07\x0f\xd2\xfe\xeb\xec\x66\xe2\x7a\x2f\xd0\x67\x53\x82\x68\x07\x52\x31\xee\xf6\x5a\x8b\x39\x62\x1c\x8f\x1d\xe3\x72\x37\xc3\x63\x4e\x17\x87\xb4\x2f\xa0\x10\x7c\xde\xae\x90\x86\xe4\x72\x48\x42\xd7\x37\x9b\xc2\x38\xde\x23\xa2\x3f\xf8\x0d\xf0\x0d\xfd\xb7\x89\xd8\x52\xf0\x37\x01\x42\x5e\xce\xc4\x16\xfe\x32\x64\x1c\x4b\x56\x31\xa3\x72\x8f\x4b\xdf\x8d\x07\x9a\xf9\x78\x8e\x82\xe2\xcf\xad\x9c\x82\x86\x60\x89\x53\xc1\x41\xd1\x3d\x06\x4e\xde\x8d\x01\x2f\x74\x04\x0d\x43\xe2\x7d\xd4\x61\xb3\x8c\xe1\xc0\x05\xa4\xe4\x25\xc5\x9f\x94\xfe\x50\x94\x19\x9e\x07\xd2\x7d\x02\x4c\x09\x4c\x7f\x28\xda\x28\x9f\xce\x1f\x62\x3d\xe1\xe0\x61\xca\xc1\xfe\x1c\xf1\x1b\xcf\x78\x3c\xc7\x6a\x31\xa7\x16\xb7\xd9\x50\x87\x62\x67\x98\x5e\x47\x91\x0a\x3e\xb6\x4b\x73\x61\x9c\x74\x43\x2c\x61\x18\xf3\x22\xbf\xdc\xa1\xbf\xd3\xff\xdc\x57\x45\x95\x2f\xee\xb2\xd7\x47\x41\xa5\x56\x0d\x80\x8c\xb3\xde\x6b\xcd\x57\x56\x65\x34\x63\x08\x4d\xad\xf2\x5a\x55\xb9\x44\xe5\xbb\xf5\x82\x1d\x1b\xef\xdf\xb5\xbe\x52\x19\xa9\x05\xd4\xa2\x4b\x97\x90\x1d\xe6\xb2\xb5\x59\x6a\x72\xce\x04\x37\xb4\x37\x78\xdd\x1f\xd3\x38\x80\xa7\x82\x95\x27\xc4\x4e\xcc\xb5\x68\xca\xa9\x6c\xe6\x8b\x2d\xa6\x99\x98\x2a\x74\xf9\x1d\x3d\xf1\xc2\x8d\xff\xae\x75\x9c\x2d\x95\x31\x72\xae\x86\x50\xef\x61\x08\x25\x22\x2c\xf6\x08\xa9\x74\xd7\x97\x60\xed\xb9\x11\xf7\xb1\x82\xf4\x06\xe2\xec\x4c\x1c\x89\xf7\xef\x69\x55\x5b\xa3\x99\x5a\xd6\x8d\x79\x46\xa2\x4b\x6f\x40\xf5\x5c\x99\xe1\x88\x24\x58\x19\x87\x93\x5b\xee\x46\x17\xac\x7c\xd7\x1f\x90\x55\xaf\xd2\x4b\x21\x43\x69\x5a\x21\xbe\xb7\x27\x93\x1b\xcc\x39\x8b\xe7\x1a\x36\xb5\x95\x9a\x65\x81\x8a\x79\x5e\xa7\xc6\xfd\xd8\x8c\x81\x2f\x08\x27\x9b\xf4\x96\x9b\xbc\xc6\xdc\x49\x2b\x84\x19\x39\xb3\xda\xa1\xf9\xa9\x51\xc5\x94\x62\xb6\x90\x08\xdc\x97\xdf\x09\x56\x21\x51\x57\x78\x2c\x04\x0a\x6e\x4b\xdd\xad\x0e\x68\x6c\x51\xa0\x16\xa2\x5f\x0f\x30\x80\xb6\x9e\x1f\x39\xe1\xf4\x85\x9d\xc6\x57\xf8\xe0\xbb\x41\x6c\x99\x23\xa5\x6e\x29\xd7\x10\xdf\x0e\x29\xb5\xf6\xe3\x50\xbc\x5d\xc8\x32\x2b\xac\xf0\xeb\xfd\x4c\x09\xa6\x9c\x09\x35\xcc\x93\xbe\xc9\xb2\x14\x90\xf6\xcf\x44\x0f\x77\x41\x2f\x14\x0e\x6d\x4f\x15\x89\xc1\x37\x81\x8b\x6f\x7e\xf3\xe2\xf5\x17\x2f\x5f\xff\x19\xf1\xe1\x06\x85\xdc\x6f\x1c\xd3\xef\x74\xcc\x3a\x0e\x78\x09\xd3\xb6\x18\x82\x27\x1f\x88\x5e\x10\xb7\x61\xc3\xb7\xb9\x4e\xc7\x14\xd2\x38\xca\xd6\x4b\xdd\xba\x3c\x10\xbd\x21\xbc\x0d\x4a\xa8\x3c\x10\xbd\x67\xf6\x0f\xd8\x59\x61\xae\xf1\xd8\x31\xb5\x75\x00\xa4\x06\xb4\xc0\x93\x48\xab\x68\x67\xc6\x5b\x56\xe4\x75\x2d\xae\x4f\xc6\x65\x88\xd3\x58\xc2\x7a\xbd\xca\x2d\xb1\xaf\x45\xa5\x0e\xaa\xa6\x34\x22\xaf\x21\x99\x44\x46\xd5\x90\x86\x11\x1b\x2b\x54\xed\xfc\x29\x5f\x7c\xfd\x95\xd5\x56\x27\x79\x91\xff\x15\x8d\x22\x66\xa1\xab\xfa\xa0\x56\xd5\x12\x14\x72\xdd\xd4\x51\xd2\x84\xcb\x86\xca\xd4\xb4\x90\x15\xf3\x27\x31\x33\x4c\x48\xaf\xe0\x72\xc7\x44\xeb\x42\xc9\x12\x73\xc4\xcd\x55\xbe\xa2\xd4\x0f\x08\x03\xa9\x1a\x45\x19\x44\x74\xd1\x1e\xfd\x57\xf9\x6a\x45\x51\x32\xa9\xd3\x0a\x38\x33\xc3\x8d\xc8\x97\x4b\x95\xe5\xb2\x56\x90\x1e\x0d\x28\x22\xdb\x3b\xc8\x08\xce\xb7\x0b\x4c\xc7\x32\x91\x3c\x0e\x17\xdb\x5e\x1c\xa2\x8b\x5b\x27\x45\x22\xda\xbc\x3a\xf9\xcc\x10\x93\x7c\xb7\xf3\x4e\x70\x7f\xe4\x4e\x04\x81\x4d\x0e\x02\x08\xc4\xac\x48\x4b\x95\x73\x55\x61\x55\x1c\x9f\x39\x33\x1a\x8d\x86\xe2\x68\x00\x46\x89\xa5\x5c\x4f\x3c\x07\x5d\xc1\x31\x47\xe6\x13\xbb\xd0\xe0\x3a\xbd\x91\x6b\x96\x99\x59\x57\xf9\x1c\x6c\x9f\xa0\x8c\xd7\x14\xc4\xa3\xdc\x53\xaa\xcc\xdc\x68\xbe\x04\x54\x0d\x59\x3a\x46\x8b\x1b\x05\x7d\x1b\x29\xd7\x9c\xea\x95\xa3\x83\xdd\xa8\xba\x2e\x94\x00\xff\x38\x11\x8c\x6e\x2a\x37\x14\x7e\xe1\xd4\x52\x43\xb3\x82\xf8\xc9\x38\x17\xa8\xc6\x9e\x98\x29\x86\xe3\x72\x91\x43\x20\x1a\x12\xc0\x13\x5e\x96\xda\x77\xfa\xa5\xba\x11\x5f\xc8\x5a\xf5\x07\x03\x71\x90\xd8\xa3\x62\x8e\x34\x8f\x12\x65\xfd\x65\x28\x7e\xc0\x6c\x66\xae\x8a\xae\xe5\x4e\x78\x1e\x0e\x3b\x59\x53\x64\xb2\xe3\x0f\x61\xd0\x91\x7d\x68\xd3\x53\x4b\xf3\x56\xbf\x41\x2b\x18\x31\x19\xf7\x45\x03\xc6\x99\x4c\xb3\x5c\xca\x2a\xff\xab\x22\x0d\x33\x91\x67\x98\x1d\x28\x35\xd7\xb6\x31\x8c\xb8\xdd\xd2\x76\x74\x83\x73\xcc\xc5\xb7\xb1\xa2\x2e\xad\x72\x2d\xbf\xd8\xcd\x85\x21\xba\x96\x11\xfe\xd8\x98\x3a\xf8\x80\x5b\xb5\xd9\x77\x6d\x58\x7c\x53\x57\x51\x97\x6e\x4f\x58\x0b\x5f\x35\xaf\xe7\xe1\x23\x18\xc8\xdc\xeb\x09\x31\xb8\xb7\x42\xe4\x43\x02\x5c\xdf\x6e\xf2\x5f\xb5\x0f\x46\x6f\xaf\x62\xdd\x53\x4b\xe1\x47\xde\x70\x20\x0a\xe6\x6e\xfa\xa3\xf0\xbf\x3e\x13\xea\x76\x10\x65\x80\x93\xb1\xab\x25\xdd\x54\xe9\x29\x4f\x17\xbe\x39\x7f\xf3\xe6\xc5\x17\x83\xae\xc9\x46\x8f\xc0\x4b\xbc\xee\x4d\xb7\xfc\x8e\xfc\x5c\x3c\x3a\x3a\x1a\x74\x09\xfd\x6f\x0a\x7d\xe3\xcc\x4d\xfa\x2a\xc8\x49\xd1\x66\x48\x86\x1b\xc4\x5b\x95\xef\xe0\xce\xaf\x39\xf3\x5f\x83\xe7\x74\x84\x7c\xbf\x57\xc1\x0e\x45\x94\xc1\x30\x46\x07\xbd\xb3\x36\xe1\xee\x8a\x0c\x0d\x9b\x5e\x46\xa8\xe3\x2f\x5b\xb1\x24\x2a\xf6\xaa\xc8\xb3\xd7\x26\x89\xab\xd2\xb2\x55\xda\x25\x4e\x28\xb7\x98\xaa\x3a\x44\x1f\xaa\x62\xd1\x4d\x24\xed\x25\x8b\x73\x06\x3a\xc9\x03\xee\x54\x4d\xf9\x5a\xdd\xd6\x24\x6f\xff\x26\x2c\x23\x6c\x74\x12\xfd\xef\x30\x6b\x77\x46\xa9\x98\x21\x9d\x93\xee\xd0\x99\xcd\xdd\xf9\x8d\x69\x40\x22\x22\x63\xaa\x3d\xa2\xa0\x4e\xdb\xa4\x99\xcf\xd7\x21\xcc\xd3\x39\x77\x5c\x6c\x28\xbd\x01\xd4\x3f\x8c\x2f\xc3\x99\x96\x42\xdd\x5a\x8d\x03\xa5\x90\x52\xc8\xb9\xcc\x4b\xd2\x5e\xca\x38\x3d\x98\xb7\xd9\x40\xbf\x27\x1c\xe1\x50\x7c\x85\xea\xf4\x40\xc0\xb0\x77\x6a\x14\xd2\xd4\x42\x4e\x23\xe9\x1c\x6b\xc1\xc8\x06\xca\xef\xc1\xb9\x8d\x7d\x40\xec\x80\x88\x23\x3a\xb4\x29\xf2\xcd\x1f\xdc\x50\x48\x0b\x0a\x2c\x05\x3b\x2d\x56\x69\xf0\xb1\xb6\x08\x7c\x07\x2a\x03\x5a\x45\xa1\x0a\x68\x75\xce\x00\xd0\xd6\xac\x42\x61\x50\xa3\x48\x25\xf3\x90\xe8\x0d\x12\x84\x1d\x0b\x32\x63\x21\xdf\xbe\x5e\x40\xda\x04\xa5\x63\x3b\x15\xae\x25\xc1\xbe\x2c\x21\x82\x1a\xa3\x93\x2a\x75\xe0\xd6\x32\x68\xde\xe7\xaf\xbe\x3f\xff\xef\x37\x62\xa9\xaf\x95\x81\x5c\x5b\xe7\x49\x75\xb3\x5c\xe5\x45\x4b\xc2\xfc\x5b\x9c\x2d\xad\xb8\xab\x42\xd6\xea\x0d\xee\xed\xb7\x58\x8c\xc8\xfe\x1a\xbb\xa9\x64\x5d\xab\xe5\xaa\x26\xed\x4c\x4d\x75\x95\x45\xde\x64\xf0\x74\xc9\x6a\x73\x22\xd3\xe6\xf3\xeb\x5b\xd5\x75\x82\xb1\xb3\x67\xc8\x66\x18\x57\xd7\x73\x1c\xe4\x95\xac\x83\xc6\xec\x0b\x4d\xfd\x22\x16\xc2\x5e\xe5\x4b\x1e\x51\x4a\x34\xac\x70\xc1\x5e\x05\xca\xa8\x5b\x3f\x74\xfe\xa0\x03\x11\x4a\x5b\x66\xba\x99\x14\xea\x60\x05\x96\x7a\x08\xdf\xc6\xe1\xe8\xf6\x32\x37\x8d\x89\x72\x9c\x2d\xb1\x60\xe1\x27\x6c\x45\x53\x66\xea\xd6\x95\x43\x21\xbe\xea\x2c\x17\x8c\xb5\x42\x23\x1a\x00\xfd\xfc\x4c\x1c\x75\x31\x63\x57\xe5\xdf\x02\x85\x4a\xff\xdb\xcf\x86\xb8\x01\x36\x06\x3f\x88\x12\xc2\x01\x28\x64\xd1\x5e\xf8\xa9\x51\xcd\x86\xa4\xec\xf6\x7a\x73\x06\xdb\x4e\xec\xf2\x4a\x39\x72\xe8\xf7\xef\xc5\xdd\xd4\x8f\x82\xb2\xe6\xa0\xc5\xd3\xdb\x72\x35\x3b\x28\x5b\x1e\xb7\x4f\x3f\xed\x16\x61\x3f\x3f\x6b\x79\xe7\x36\xc9\x30\x5f\xc5\xce\x46\x8a\xd8\x27\xff\xe1\x10\xa3\x5f\x79\x59\xd0\x51\xaf\xe3\x24\xea\x9e\x35\x9d\x48\x87\x87\xe2\x1b\xa5\xae\x9c\xd2\x52\xeb\x15\x0e\x06\xe9\x08\x68\xf0\x71\x35\x8a\xd1\xeb\x5a\x61\x79\x33\xd2\x4c\x90\xc4\x26\xba\xa9\x71\x2c\x64\xa5\x43\xe6\x30\xa1\x4a\xc6\x59\x6e\xea\xa6\x9a\xc0\x4b\xf2\xd2\xef\x20\x12\x78\xed\x57\xe5\x54\x18\xd9\x0e\x43\x7c\x99\x46\xc0\xea\x01\xf8\xc2\xaa\x29\x21\x46\x10\x62\x90\x23\x1f\x4f\xbc\x86\x17\x47\x97\xde\xef\x44\xf2\x46\x87\xab\xf7\x8f\x5d\x26\x0a\x84\x7f\xc6\xa4\x7f\x2f\xd7\xa2\xf9\x15\xee\x5b\xba\xe9\xc7\xe9\x21\x14\x3a\xc0\x62\x14\x07\xb1\xcf\x06\x6e\x24\xb5\x92\xda\x8a\x53\xfb\x56\x3f\x19\x36\x84\x04\xfa\x07\xdc\x47\xba\x1a\x3f\x0c\xba\x9f\x4a\xe3\xa9\xe0\xfd\xa1\x5b\xa0\xa6\xc2\x0e\x49\xe5\x4e\xcc\xd8\x21\x4f\x58\xa9\x6b\x64\x46\xde\xd2\x68\x71\x45\xe7\x69\x08\xde\xe9\xa4\x6d\x6f\xaa\x75\x86\x63\x18\x1e\x59\xe9\x2f\x93\xc0\xc5\x76\x7a\x6f\xab\xba\xb1\xbe\x92\xa0\xdb\x3b\xc9\x78\xc5\x85\x56\xa4\x40\x47\x32\x33\xde\xa4\x74\x66\x0c\xd6\x13\xcc\xe1\xd5\xad\x1b\xb9\x32\x48\xed\xb7\xa4\xab\x45\xfa\xd1\x7e\x0f\xc4\x6f\x24\xf6\x66\x16\xf9\xac\xee\xff\x2a\x3d\xca\x55\x66\xb5\xc4\xe1\xa6\xf2\x2b\xf5\xa9\x0e\xfd\xe3\x6f\xb3\xce\xf1\x6e\xaf\x9a\x72\x23\x2a\x0e\x0f\x05\x87\x72\x56\x31\x84\x83\x6f\x0f\xfe\x0c\x14\x72\xa9\xa1\xd6\x12\x85\xae\x28\x0c\x29\x74\xdd\x99\xeb\x1a\x52\x18\xa0\x12\xca\x52\x49\x2c\x9a\x5d\x81\xe3\xb1\xae\xe0\x30\x77\xe7\x5e\x9d\x96\xe9\xee\xde\x4b\x3b\xd7\xa8\x6a\xca\xdf\x5c\xdd\xed\x38\xb7\xbd\x9f\x8f\x87\x52\x79\x3b\x06\x2b\x31\x15\x99\xe0\x9b\xb2\x65\x72\x35\x50\x8c\x5b\x4c\x65\x09\xc9\x6f\xc6\x34\x14\x50\x85\xc6\x4b\xae\xde\x30\xdb\xaf\x8f\x7e\x66\xb2\x7b\x69\x6a\x25\xb3\x21\x58\x9a\xd0\x8a\xc7\x63\xa4\x31\x79\xd1\x05\x31\xdb\x0f\xf7\x61\x43\xdb\x6d\xc8\x7e\x10\x30\x05\x16\x7a\x4e\x49\x28\xe8\x73\x4e\x52\x50\xa8\xfa\xe6\x5a\x2c\xe4\x6a\x65\x45\x37\x92\xc8\x21\x3e\x53\xcf\x7d\x76\x2c\xe9\x7d\x9b\x23\x09\x47\x42\xfc\x69\xed\xd3\x80\x28\xea\x89\xb2\xac\x5d\x69\x84\x21\x89\xe6\x14\x2c\x73\x9d\xab\x1b\xe5\x2b\xc7\x77\x14\x9e\xd6\x33\x8c\xd6\x9a\x54\xfa\xc6\xa8\xca\xf0\x84\x23\xba\x46\xe9\x9e\xb9\x81\xf0\xab\x6a\xc9\x27\x0b\x6a\x98\x0b\x72\xc1\xfa\xcc\xdf\x2b\xcc\x3f\x47\x8f\x30\x66\x0e\x92\x14\xa0\x51\x79\x41\xf3\xa5\x97\x12\x68\xa9\xed\x41\xba\xc2\xca\x62\x3e\x11\x75\x16\x27\x19\x0e\x05\x26\x76\x16\x4a\x62\xc2\xa3\x9f\x22\xaa\x4b\x33\x30\xe4\x96\x2e\xc8\x13\x23\x2b\x7c\x06\x91\x8f\xff\xcb\xcb\x0d\x45\xa2\x85\xae\xda\x27\x1e\x2f\x27\x7b\x07\x2a\xe3\x51\xca\x17\xac\x3d\xc6\x48\x25\x61\x76\x28\x9a\x7d\x84\xc0\xba\xa1\x09\xa8\xb7\x9f\xf6\xbe\x25\xc1\xc7\x9b\x75\x5a\xf2\xaa\x77\xf7\xf4\xcd\xa0\xb7\xc1\xa2\x49\x8c\xb3\xed\x2e\x65\x06\xe2\xcf\x3a\xc3\x0e\xbd\x15\xf8\xb3\x3d\xec\x18\x5f\xea\x6a\x29\xeb\x38\x1a\x51\x1a\xcb\xc5\xa6\x14\x26\x40\x57\xf7\xc5\x10\xb7\x61\x71\x54\x2d\x0d\xf7\xf8\x4f\x8d\x38\x13\xfd\xa5\x11\x87\x62\x7c\x74\x74\x34\x18\xd5\xfa\xcb\xfc\x56\x65\xfd\x63\x98\xb5\xf7\x6d\x4f\x8d\xc5\x95\xe9\xc5\x75\x76\x68\x0f\xbb\x5e\x88\xce\x48\x04\x46\xe2\xf5\xde\x01\x0a\xce\xa6\xbc\x45\xf1\x48\x14\x82\x9d\x4d\x73\x12\xf8\xae\x96\x39\xec\x2c\x40\xc3\xdc\xb3\x40\x28\xee\xf1\x8b\xfc\xb2\xc3\xb5\xc7\x3a\xb1\xf9\x09\xb6\x55\xa1\xee\x30\x83\xb7\xc1\xd1\xef\xb8\xe4\xb3\xad\x04\xda\x71\xfc\x78\x92\xc5\x6c\x63\xa8\x1c\xe6\x15\x99\xf8\x90\x41\x63\x00\xf1\x56\x67\x8d\x98\xc5\xa1\x76\x1d\x39\x6d\x2e\x3e\x5e\x65\xed\x10\x85\x21\xf0\x1e\x3c\xd7\x79\xc3\x15\x48\xcd\xd6\x25\x6c\x77\x4d\x75\x33\x58\x32\xe6\x79\x88\xbb\xf2\xce\x1d\x4c\x63\x0a\xb9\x58\x39\xf0\x01\xab\xaa\x91\x46\xe5\xdc\x64\x60\x3c\xa3\xce\x1e\xe2\x7e\xc8\x9b\xcc\x32\xe7\x3d\x37\x51\xc0\x20\xf0\xf4\x60\x0c\xa1\xc9\x87\xba\x6a\x94\xb7\x4d\x95\x29\xa8\x3a\x38\xd6\x17\xa4\xd2\x93\xbe\x06\xa8\x17\x0e\x0e\x56\x95\xd6\x33\x71\x53\xd9\x03\x89\x42\xe6\x9d\x05\x0e\xcc\x52\xac\x30\xed\x56\x3b\x11\xed\x00\xcc\x0e\xb0\x62\x80\x3d\x36\x5c\xfc\x7c\xc8\x42\x8b\xd3\x03\x22\xf7\x61\x68\xe4\xb0\x35\x0d\x90\xb2\x00\x61\x7c\xb4\x20\x47\x19\x63\xce\xac\x86\x61\x10\xce\x18\x55\x84\x78\x2f\xff\x26\x17\x10\xb6\xf5\x93\xf0\x7b\x42\x64\x2f\xaa\x3b\xdb\x07\x6c\xb3\x07\xaf\x26\xa4\x35\xf0\x63\xbd\xa0\x9d\x4b\xb0\x0b\x81\x09\xe6\xd2\xa4\x02\xcc\x5d\xa0\xdf\xda\xc1\xd9\x3b\xd0\xb7\xfd\x33\x5b\xc9\x78\x2e\x6e\x73\x43\x76\xc1\x47\x0e\xc9\x22\x36\x37\x44\xb9\xdf\x28\x1f\x29\x0f\xbe\xf5\xa2\xf0\xc5\x48\x9d\x15\x8f\x85\x98\xdf\x28\xd8\xd3\x2c\xb2\xfc\x6f\x11\x5b\xff\x77\x8b\xab\x77\x87\x13\x99\x4e\xa3\x84\xd5\x4e\x72\x70\xae\x14\xfc\x8b\x82\x4b\x9c\xbd\xf1\xbc\x8c\xa3\x76\x92\xaf\x02\x6b\x3a\x14\x9f\x24\xdd\xa2\xd6\x62\xae\x4a\x55\x49\x88\x50\xc0\x21\x3b\xe3\x6e\xfc\xfc\x19\xfb\xfe\x46\x53\x7d\x10\xea\x11\xe8\x32\x13\x69\x8a\xdb\x76\x10\x3b\x5f\xe9\x0b\xc4\x99\xe8\x51\x40\x79\xef\xb3\xdd\x4f\xe1\x99\x28\xec\x53\xf8\xeb\x3e\x0f\xa1\xd3\x09\x1e\xa2\xb0\x2d\x9e\x17\xe9\xb4\x2c\x28\x83\x56\x76\x3b\x70\x45\x1f\xb4\x0e\x5d\x81\xe4\x39\x00\x2e\xae\x4a\xa8\xf8\x51\x6a\x8c\x3a\xd5\x33\x57\xa7\x04\xcd\x9d\x66\x73\x7c\x78\x47\xe0\xd9\x46\x4f\x2c\xc8\x67\x8e\xfb\xe0\x2f\xdd\x21\xe1\x1d\x83\xf2\x36\x0c\x9a\xa2\x99\x37\x95\xc7\xea\xed\x31\x1e\x13\x09\xba\x4d\xe4\x24\x15\xf4\x86\x91\x47\x8e\x3f\x80\xd7\x79\xef\x9a\x37\x76\xdb\x32\xaf\xc1\x56\xfe\xb8\x0f\x61\x75\xca\xe0\xad\xfa\xb2\x7b\x8a\xc6\xf0\x81\x15\x75\x73\x49\x4c\xc4\xc1\xb9\xc9\xb7\xa4\xf8\xf4\x53\x67\x87\xc6\x48\x8e\x77\xb1\x81\x3d\xca\xa5\xcc\xf2\x8c\x4a\xac\x62\xb9\x6e\x4a\x8f\x90\x65\xc6\x6e\x41\x6d\x38\x0a\x6d\xce\x97\xca\x9b\x86\xd1\x06\xd2\x0e\xc3\xda\x95\xb9\x18\xe2\xe3\x12\x96\xe1\xf8\x0f\x72\x02\x93\x70\x09\x16\x76\x45\xc5\x73\xb0\x0d\x94\x9c\xd6\x14\xce\xcc\xc3\x40\xad\x38\x02\x1e\x89\x0d\xda\x2a\xf4\xdd\x58\xe6\x65\x83\x55\x29\x78\x54\x20\x16\x5d\xe7\xda\x6b\x60\x62\x50\x94\xf6\x7e\xa9\xeb\xfb\x42\x36\xb5\x5e\xca\x9a\x22\xbf\x40\x80\xa2\x4c\xa4\xf8\xbb\x72\x5f\x38\x8f\x25\x96\xed\x49\x4b\x88\x09\xce\x11\xa3\x7c\xf9\xba\x62\xbb\x74\x13\xff\x34\x75\x5c\x06\xd4\x57\x09\x98\xb6\xdb\x00\xd9\xf5\x35\xae\x56\xee\x1e\xf3\xd3\x25\x85\x0b\x75\xb8\x47\x22\x1a\xe4\xe7\x50\x4a\xc0\x77\x63\x02\x6e\x05\x70\x76\xd0\x6d\xa8\xe9\xdb\x0b\x7b\x65\x0f\x52\x64\x68\x88\xeb\x15\x4b\xb6\xc6\x58\xb1\xd8\xd3\x7b\x5a\xad\xd8\x3e\xfc\xa7\xa8\xcb\x10\x3c\x45\x96\x22\xb0\xc4\x61\xd7\x6b\xa8\x5a\x2c\x99\x7c\xcd\xa4\x0a\xbe\xab\x80\x6f\xd3\x8b\x32\x2d\x8c\x1e\x85\x4a\x73\xf4\x86\x2d\xb5\x90\x71\x26\x2e\x6a\xcf\xee\x1d\xa8\xc7\x92\x07\xcf\x30\xb4\x9d\xb4\x8f\x61\x3d\x0e\xe9\xc3\xfb\x48\x9f\xc3\x26\xd4\xe8\x26\xf4\x03\x1b\x5f\x09\xab\xd4\xb5\x37\xfb\x78\xc5\x00\x54\x89\x49\x43\x01\x6c\x60\x5a\x73\xb5\xdc\x5d\xf0\x5c\xd0\xab\x78\x82\x3c\x6c\xa9\x38\x82\x16\x02\x91\x59\x29\xe6\x24\x8b\xc2\xd7\x9e\x41\x9d\x4a\x8a\x99\xba\x11\x85\x5c\xab\x0a\x0c\x56\x3a\x0e\xb3\x74\xdd\x54\xe6\xda\xd5\x0f\xe4\x9a\x19\xbe\x0b\x38\x0d\x24\x68\xac\x54\x85\x43\x79\x6d\x42\x96\x42\x99\x3a\x5f\x92\xcd\x68\xa1\x6f\x44\xa1\xcb\x39\xaa\x5f\xbe\x08\x38\x86\xed\x59\xd5\xae\x83\x38\x9c\x3a\x00\xe9\x0d\x4b\xc3\x53\xfe\xb8\xe0\xe7\x8b\x6e\xee\x7b\xae\x30\x0c\x75\x18\x2e\x82\xce\xed\xd8\x3e\xec\x23\x48\x62\x8c\x62\xfa\xfc\x7d\x16\x90\x16\x76\x69\x47\x04\x20\xdd\x8c\x22\xff\x96\x26\x6d\x92\xba\x72\xf5\x73\x98\xa7\x59\x3b\x02\xde\x58\x41\xbb\xe5\xc3\xe7\x06\x4f\x5f\xe3\xbd\x33\x7a\x15\xcb\xc6\xfa\xc6\x79\x74\xcf\x07\x9c\x94\x73\xcb\xd9\x20\x4a\xc5\x8a\xd0\xa1\x74\x69\xad\xa9\xe2\x6c\x4d\xfa\x91\x97\x81\xbc\x52\xbb\xe7\x8a\x44\x0c\x27\x66\xcc\xf6\x5b\x86\x61\x9a\xc9\x12\x75\x9f\xdc\xd1\x39\xbd\x7f\xe0\xa4\x10\xa9\x84\xee\x84\x9c\xd8\x67\xf3\x6d\x53\xb6\x02\xf0\x82\x9d\xae\x1d\xee\x94\x3e\x13\x82\x1e\x9c\x47\x2a\x44\x2c\x79\xab\x8f\xac\xe6\x50\x93\xce\xfb\xa8\xff\x20\x8e\xc5\xfb\xf7\x0c\x13\xf4\x02\xbb\x00\x9b\x7d\x5e\x91\xd8\xd7\x15\x11\x49\x15\xef\xad\x92\x71\xa3\xb1\x32\x2c\xa6\x3b\xa9\x9f\x1a\x59\xec\xb9\x7e\xf0\xd8\x8b\xff\x8c\x96\x4e\x4e\xeb\x46\x16\x43\xaf\xaa\xb0\x88\x61\xbc\x05\xfe\x5a\x7f\x97\xfb\xc8\x3d\x84\x95\xc0\x3c\x84\x3f\xf2\xf0\xa6\xc3\xcb\xdd\x33\xff\x8a\xae\x28\x81\x90\xf8\xda\xd9\xf2\x96\x0f\xf5\x99\x78\xf0\x20\x1f\x78\xaf\x32\xde\xbb\xc8\x2f\xf9\x2b\x2e\xf2\xcb\xb8\xc0\x06\x7b\x41\x94\x5b\xc1\x70\x7c\x0e\xb6\x1f\x3a\x1e\x4b\x7a\x27\x09\x88\xd8\x48\x00\xd2\xc4\x00\xe1\xce\xcc\xe4\x15\x3c\x00\x8b\x84\xb6\xc6\x50\xe3\x4e\x26\x8b\xf5\xce\xce\xce\x7a\x42\xaf\xac\x88\x07\x85\x15\x42\x78\x3c\x16\xff\x82\x02\xeb\x53\xad\xaa\x29\x0b\x31\xa3\x28\xaa\x8d\xbd\x2f\xec\xec\x96\xb2\xba\x72\xc7\x9d\x8b\x79\xc0\x42\x8f\x9c\xb2\x20\x99\x97\xc5\x74\x1a\x52\xc2\x52\x76\x75\xff\x83\xfb\x7c\xa8\xcf\x80\xbf\xfe\x7f\xe4\xbd\x69\x7f\xdb\x38\x92\x38\xfc\x3e\x9f\x02\xc9\x7f\xb7\x29\x25\x92\x2c\xca\xb6\x7c\x64\xdc\xbd\x92\x2c\x75\x3c\x39\x37\x76\x92\xdd\x71\xa7\xb3\x10\x05\x59\x6c\x53\xa4\x86\xa4\x2c\xab\x27\x99\xcf\xfe\xfc\x50\x55\xb8\x48\xca\x47\x92\x9e\x99\xdd\x27\x2f\x62\x1b\x04\x0a\x40\xa1\x50\x28\x14\xea\x98\x0b\x2e\x2f\x60\xd6\x5c\xed\xfa\x1a\x13\x26\xda\xa9\x5e\xef\x2a\x4e\x28\x37\x08\x04\xfd\xe9\xc5\xf2\x77\xe4\x69\x50\xa0\xd4\x7a\xe1\x44\xc4\x79\x38\x5d\x3b\x46\x4c\x06\x09\xd6\x3b\x1f\x84\x71\x80\x53\x93\xdc\xc1\x95\x34\xa0\x84\xe6\x69\x18\x89\xc3\x28\x8c\xb5\x82\x4b\x79\xf0\x40\xfa\xb1\xbb\xee\x1e\xca\x72\x51\x32\x81\x2a\x6e\xa1\x86\x9e\x1c\x29\xa8\xb6\xd8\xbb\x3c\x8c\xc2\x7c\xed\xbc\xa0\x2d\x52\x91\xe7\x6b\x15\xfa\x94\x22\x51\xd8\xa9\x81\xe6\x3c\xaf\x01\x26\xed\x40\x33\x72\x28\xc9\x94\x30\x7c\x74\xc4\x3c\xf4\x25\xf4\x0a\xe4\x0e\xdf\x89\x23\xc2\x5d\x2c\x4f\xd9\x11\x79\xd8\x12\xd0\xa7\xfa\x23\x4f\xd7\x28\x37\x83\x1d\x52\x8e\x21\x5f\x5a\x73\xbe\xd0\xf9\xe9\x59\x4d\x0e\x42\x01\x2f\x64\xb8\x17\x75\xcc\x1f\xa1\x36\xa4\xce\x4f\xcd\x7e\x64\xbe\x51\xb7\x9b\x74\x17\x74\x7b\x99\xf1\x4c\xb2\x44\x48\x39\xdc\x40\x25\x93\x5c\xb8\x64\x3a\x65\x72\x7d\xf3\x8c\x25\xab\x18\x9c\x62\xd4\x7b\x97\x81\x04\xe6\x33\x26\x2b\xb1\x3c\x99\xc0\xef\xf2\x82\x87\xb1\xbc\xd5\x92\xbd\x26\xf5\x04\x37\x5b\xd5\x55\xcb\xc5\x94\x9c\x2c\x64\x2d\x5b\x5b\xf1\x6e\x48\xbf\xef\x06\xbb\x51\x97\xc6\xaa\x9a\xce\x99\x80\xfb\xe5\xe8\xc8\xf0\xa3\x92\x8c\xbf\xb5\xc5\x8e\xb5\x6b\x59\x90\xcc\xe7\x89\xc9\x00\xbb\x5e\x88\x8c\x82\x89\xda\xf7\x38\x1e\x7b\xa0\xa3\xc2\xb0\x3e\x0b\xe5\x16\x5a\x08\xeb\x63\x08\x45\x9e\x69\x8a\xe3\x97\xd9\x7c\x45\xfc\x21\x49\x0a\x31\x06\xd1\xd2\xbb\xf3\x27\x0a\x9c\xa5\x0b\x20\x70\x16\x3b\x84\x1c\x79\x76\x74\x90\x9a\xa7\xf6\x87\xac\x1e\xdb\x16\x7c\x58\xe9\x42\xe4\x60\xa4\x9b\xbe\x48\x02\x38\xe9\x3f\xd5\xfc\x7a\xb5\x95\x1f\xd1\x3e\x8e\x19\xea\x80\x53\x37\xf8\x4b\xe1\x27\x33\x8d\xcd\x2c\xdc\xb0\x6e\xc9\xea\xff\x00\xde\x8c\xf1\x3a\xac\xbb\xb9\x12\xc9\xb0\xe3\xff\x91\xdd\xfe\x0f\x86\x4d\x03\xcb\x2f\x30\x9c\x7d\x94\xa7\xcb\x30\x9b\x3d\x72\x4f\x8c\x7f\x3c\x8b\xd7\xa2\xe5\xbd\x18\xfd\xff\x76\xee\x5d\x25\xf9\xb8\xcc\xba\xb0\x81\xc1\xdd\xa7\xb8\x79\xbf\xcb\x46\xf9\xf6\x6d\x42\xdc\x9c\xb6\x49\xf1\x7e\xa2\x2c\x6a\x00\x7d\x90\x5c\x02\x38\x29\x5c\x51\x54\xa2\x2a\xb4\x58\x01\x13\x99\xf2\xfe\xe0\x6c\x12\xa6\xf9\x9a\xcd\xd0\x4f\xf6\x24\x47\x4a\xca\x9c\x48\x64\x0d\xb4\xe9\x81\x0b\x38\x66\xa1\x16\xd7\x7c\x2e\xd9\xac\xd2\xce\x62\x1f\x3a\x42\xbc\x5e\x3b\xd7\xc0\xbb\xf2\x2e\x09\x03\x3b\x01\xc3\xd9\x33\x0d\x09\x0a\xf1\x55\x4f\x4e\xb1\xc5\x58\x5b\x85\x5a\xa5\x4f\x70\x50\xd0\x43\x16\xf9\x39\x1a\xe7\xc5\x06\xf3\x21\xcc\x7f\x4e\x11\xf8\x52\x1c\x75\x96\x30\xda\xd4\xda\x5b\x5f\xd1\x7a\x4f\x9d\x22\x34\x74\x64\x41\xec\x91\x83\x57\x3c\x85\x1f\xdd\x91\x18\xcb\x8b\x6c\x13\xa6\x99\x76\xd9\x3b\x48\x5d\x23\x86\x98\x39\x77\x83\xf9\x95\x24\x50\x44\xc6\x91\x36\x4c\xb2\xcf\xf6\x73\x0b\xb3\x4f\x58\xe7\x63\x51\x14\x40\x8a\x00\x17\xf8\xda\x56\xed\xfc\xd7\xad\x8f\x4f\x0e\x7f\x99\x3c\xa9\xcb\xff\x7e\xa9\xff\xf4\x6f\x5b\xae\xb1\xac\x6c\xf4\x93\xfc\xff\xdc\xff\x28\x29\xfe\xa7\x9f\x7e\xf2\x4a\x6a\xd0\x0f\x29\x44\xc0\x32\xea\xcf\xc4\x7e\x8d\x46\xf1\xe7\x2e\xb8\x23\xc5\x98\xa3\x12\x40\x90\x85\xd0\x2e\xf2\x2e\xa7\xad\x40\x54\x15\x67\x93\xbc\xe4\xe9\xa5\x6b\x25\x43\x14\x2c\xa5\x90\x65\x6e\x3d\x98\x57\xab\x75\x24\x55\xa1\x66\x04\xd6\xa5\xc0\x88\xdd\x4d\x82\x51\x52\x6c\x33\x09\x65\xfa\x93\xe5\xc9\x62\x93\xbe\x40\x72\x13\x85\x30\x7d\xf3\xb7\x30\x08\x09\x1e\x13\x4b\x80\xbc\x0b\x06\x41\x8f\x56\xc8\x50\xec\xa0\xb0\xea\x62\x5b\x2f\xab\xd4\xed\x76\x96\xd7\xf2\x66\xad\x24\xf9\x4e\x96\x57\x40\xc5\x25\xfa\x27\xaf\xc0\x5d\xa8\x0f\xe3\xa7\x56\xa9\x7e\x2b\x26\x8e\x0f\x61\xf6\xc4\xb7\xb6\xd8\xe9\xeb\x77\x6f\x07\x43\x36\x3a\x79\x31\x3c\x64\x51\x38\x9e\x24\xf9\xd6\x6f\xd9\x56\x14\x8e\x3f\x2d\xf3\xe9\x7e\xeb\xb7\xec\x01\x78\x34\x2c\xd6\x69\x28\x79\x64\x2d\xa8\xb3\x4e\xdb\xef\x00\x0f\x1c\xcc\xd2\x64\x1e\x2e\xe7\xec\xf5\x29\xeb\x2d\xf3\x59\x92\x66\x2d\xd6\x8b\x22\x06\x75\xe1\xe5\x46\xa4\x57\xf2\xce\x25\x6f\x1d\x99\x31\xb2\xc8\x92\x65\x1a\x50\xba\xe7\x30\x63\x17\xc9\x95\x48\x63\x15\x7f\xb4\x7f\x7a\xdc\xcc\xf2\x75\x24\x58\x14\x06\x22\x56\xce\x42\x64\x6a\xb1\xb5\x85\xe9\x6f\xd4\xa1\xfd\xe2\x64\x30\x7c\x75\x3a\x84\x83\xa5\xf5\xe0\x81\xb7\xcc\x50\xa4\x0f\x72\x78\xe7\xdb\x62\x67\xaf\x8f\x5f\xd7\x26\xfc\x2a\x9c\x8c\x45\x5c\x3f\x64\x1f\x94\x65\x20\x31\x52\x11\x07\xc9\x84\x5c\x29\x80\x19\xab\xa8\xdc\x62\xd2\x78\x00\x79\x30\x29\x68\x36\x2e\x2f\x85\xd7\x8d\xd1\xab\x2a\x8c\x9b\xca\x72\xcd\x8d\xe6\x2d\xa7\x2c\x5b\xcf\xf2\x7c\x91\x1d\x6e\x6d\xad\xc2\xcb\xb0\xb5\x9a\xf1\x7c\x75\xd1\x4a\xd2\x0b\xf8\x7b\x0b\xcf\xcc\x21\x0d\xc0\xae\xae\x06\xd5\xca\x16\x22\xb0\xdb\x19\xe9\x12\x0d\x46\xa6\xcb\x88\xbd\x3b\x1b\x35\xf7\xd9\x44\x48\x74\x5a\x12\xc8\xbb\xb3\xd1\xfe\x31\x16\x96\x89\x84\x3c\xad\x4d\xec\x97\xf1\x3a\x17\x19\x7a\x59\x13\x66\xf5\x23\xb5\xf8\xeb\x52\x50\xd8\x43\x20\x24\xa8\xfa\x42\xd6\xa4\xf8\x4f\x04\x2c\x04\x7b\x94\x8b\x54\x40\x1c\xe0\x89\xc0\xec\xde\x6c\x2c\x24\x76\x71\x78\x13\x48\xac\x60\x00\xfc\xc8\xda\x56\x56\xed\x89\x78\x03\x2d\x5c\xb0\x51\xb2\x12\x29\x1b\xc3\xa2\x27\xb1\xa5\xe3\x36\x7d\xdc\x00\x15\x5a\xf7\xa1\x31\x80\x75\x72\x70\x05\x90\xcf\x81\xa3\x30\x4c\x68\xe4\x39\x6f\xb0\x9c\x5f\x82\x7b\x42\x2c\xd9\x5a\x80\x9e\x0d\x68\xca\x08\x5e\x6f\x8b\x54\x5c\x85\xc9\x12\xc4\x0a\xc8\x92\x9c\xe5\xa9\xe0\x73\x38\xdc\x75\xda\x1c\xa4\x2c\x91\x16\xd9\xe9\xa9\x56\xbf\xa6\xd8\x18\x22\x7b\xc8\xaa\x0d\x13\xf5\x5b\xc9\xd6\xe6\x4e\xa0\xa4\x88\x53\xeb\x16\x89\x7a\x71\x89\x86\x65\x1c\x96\x62\x86\x4b\x84\xb0\xb1\xc8\x57\x42\xc4\xac\x7d\xdd\x6e\x5b\x19\x1a\xdb\xd7\xa3\x91\x2b\x61\xa8\x61\x41\x84\x7a\x39\x2c\x5a\x31\x42\x82\x7d\x3b\x91\x98\xf2\xbb\x26\xe6\x55\x99\xe0\x2c\x26\x85\x60\x2a\x5f\xce\xe4\x19\x9f\x8a\x5c\x27\x39\xaf\xd2\xb6\x65\x79\x5a\x65\x30\x07\x59\x41\x49\x4f\x10\xcc\x78\x3a\x48\x26\xa2\x97\xd7\x42\xeb\xea\x5f\xa4\x55\xcb\xdb\x09\x2b\x04\xec\x4f\x47\xac\x7d\xbd\x37\x72\xc3\xcf\x42\x30\x20\x05\xd7\x82\xe9\xb8\xb8\xb6\xaf\x07\x6d\xd9\x3c\x60\x3f\xfc\xc0\x08\xd0\xb1\x03\xa8\x44\xd3\x01\x6b\x32\xd9\xec\xa9\x5b\xc5\xde\x4d\xfe\xd3\xa2\x57\x89\x4d\xbc\xd7\xfb\xed\xca\x91\x0c\x4b\x23\x19\xde\x65\x24\xc3\x9b\x46\xd2\xb9\x6d\x24\xd5\x43\x19\x95\x86\x32\xda\xbb\xc3\x50\x46\x37\x0d\x65\xfb\xe6\xa1\xf8\xed\xf6\xa6\xc1\xec\x97\x06\xd3\xbf\xcb\x60\xf6\x6f\x18\xcc\xce\xcd\x83\xe9\xb4\x37\x8f\x66\x50\x1a\xcd\xf1\x5d\x46\x33\xb8\x61\x34\xbb\x37\x8f\x66\xa7\x5d\x35\x9c\x12\xad\x7b\xbf\x2c\xa7\xd3\xe9\xc4\x2b\xc4\x7c\x73\x6b\xe3\x24\xf6\x4b\xeb\xdb\x2f\x93\x9a\x1e\x61\xb3\xf9\x74\xf3\xf4\x6a\x85\x92\x3f\xfd\x89\x75\xe5\xdd\xb2\x86\xf3\xde\x6f\xd7\x4d\xe3\x5b\xb7\x33\x43\x45\xdc\xcf\x49\x0e\x9e\x01\x51\x64\x4e\x2d\x7a\xae\x50\x7e\x96\x18\xf9\x04\x8f\x13\xf0\xf6\x70\x21\x4c\xc3\x28\x97\x07\xe2\x32\x67\xd9\x32\x4d\x93\x0b\x7c\x97\x0d\x53\xad\xa9\x63\x8a\xfb\x58\x73\x71\xa7\xf2\xd4\xaa\x09\x7c\xc6\xcc\xb1\xb8\x4c\x05\x4b\xda\xcf\x9f\x25\x92\x8f\xf7\xdb\x88\x66\xdd\x4e\xa2\xdb\x00\x41\x5e\x33\x1a\xd5\xcb\xad\x4d\xad\x1f\x61\x6b\x8c\x64\x35\x07\x4b\x1b\x57\xbd\x92\x42\x08\x2b\x20\xa2\x08\x79\x22\x11\xeb\x57\x39\x4a\x97\xf9\x62\x99\xb7\x9c\xea\xc5\x19\xd3\x0e\x2d\x8e\x42\x8f\x03\xcf\x9d\x96\x3c\x57\x07\xc4\xc8\x4d\xfb\xfa\x53\xa7\x51\xe5\xf8\x30\x55\xb5\xb3\x58\xad\x42\x05\x33\x9e\x66\x89\x65\xdc\x61\x38\x25\x7b\x67\x5a\xa3\x27\xac\x66\x4d\xf5\xc7\x1f\x7f\x64\x7e\xbb\xce\x7e\x60\xed\xeb\xed\xd1\xa8\x5e\x8e\x0d\xd7\xbe\x3e\x1e\x60\x33\x6b\x69\xa9\x76\x71\xa6\x0f\xaa\x7e\xff\xb2\x69\x27\x4b\x51\x29\x49\xe0\x71\x1e\x05\xb9\x30\x66\xf3\x65\x94\x87\x4d\x10\x02\xcc\x66\x78\x2b\x56\x61\x3c\x21\x79\x05\x43\xd8\xd8\x40\xd0\xbf\x23\x4a\xc8\x15\x02\x1c\x78\x25\x84\xd6\x6d\x3c\x63\x93\x68\x48\x34\x61\x38\xc1\x17\x4b\x45\xad\xef\xec\xa9\xc8\x2b\x25\x33\x23\x92\xb5\xac\xd0\x6a\x3a\x70\x7a\x20\x9c\x27\x0a\x32\xa6\x81\x0b\x98\xd0\xa2\x59\x68\xbc\xf0\x21\x6c\xc4\xff\x6f\xc4\x31\x6c\x20\x85\x32\x5b\xf8\x92\xb7\x3a\xc7\xf6\xaf\xa6\x1e\x82\x2d\xf1\xad\x56\xaf\x53\x73\xac\xef\x26\x93\x88\x95\xd8\xec\x74\x8c\x03\x83\x15\xd3\x37\xe2\xc2\xd5\xeb\x18\x22\x26\x81\xc3\x18\x37\xd7\x97\x2b\x91\x66\x76\xfe\x23\x75\xdb\x33\x31\x1a\x64\x6d\x67\x7f\x33\x50\x1f\x01\x17\x5a\x61\x86\x8c\xec\x27\xf6\x01\x83\x55\x2e\x16\x22\xce\x24\x17\x82\x10\x16\x97\x62\xbd\x80\x0b\x09\xfa\x22\xa3\x79\x1a\x98\xb2\x90\xe1\x34\x8c\x45\x4a\x7a\x3c\x20\xc6\x0f\xe9\xe3\x24\xf5\xf7\x5f\xbe\xf9\xe9\x06\x62\x39\x33\x77\x48\x30\x08\x95\x58\xd9\xbc\x86\xf6\x6d\x13\xa9\x09\x50\xd5\xd8\x44\x57\xf6\x63\x11\x6e\xe9\x02\x31\x6a\x3a\xcb\xf0\x4e\x42\x14\xa5\x49\x09\x89\x00\xfb\x2b\x12\xc1\xf7\x90\xc0\xe5\x71\x0b\x09\x31\x97\x71\x08\x63\xb1\xae\x7c\xa4\x2d\x91\x2d\xef\x2a\xad\x13\x6f\x2c\x89\xd4\xf6\xf9\x15\x80\x54\x33\x1a\x8d\x8e\x9d\x27\x31\x6a\xbe\x5f\xd1\xbc\x6f\x37\x87\xc8\x07\x4f\x7c\x67\x4a\xf6\xb1\x24\x47\x39\xa9\x18\xe5\x13\xbf\x20\x8a\x98\xb1\x4e\x64\x67\x93\xaa\xb1\x12\x8a\x4e\x57\x10\x83\xb6\x44\xc1\xf6\x09\x15\x18\x39\x16\x8f\x14\x7d\x28\x48\xa1\x48\x1e\x29\x4f\x58\x6d\xa2\x0b\x1d\xf1\x02\x83\xed\x6e\x38\x15\xca\x18\xbb\xf1\x10\x29\x57\x76\xa2\xff\x1a\x39\x20\x90\x3b\x4f\xed\x74\x42\x9c\xe6\xfc\x66\x49\x2b\xee\x57\x37\xdd\xae\xdc\xd0\xc3\xd6\xda\x6a\x38\x65\x40\x55\xa7\x35\x5c\xcd\x3e\xcb\x66\xf2\x44\xee\x9a\x93\xb5\xe2\xa6\x55\xee\xc5\x95\x98\x6e\xec\x66\x68\x75\xe3\x77\xaa\xfb\xe9\x38\xfd\x6c\x3d\xb6\xbb\x52\xe2\xd9\xe3\xad\xbb\xf5\x37\xb2\xfb\xdb\xaf\xee\x6f\xfb\xa9\xbd\x64\xab\x59\x18\x09\x56\x73\x34\x23\x66\x72\x15\x72\xfa\x8d\xfd\xef\x43\xff\x34\x80\x5a\x97\x3d\x36\x10\xea\x4a\xec\xa9\x3b\x6f\xd0\xa5\x03\x7e\x83\xc6\x31\x9f\x85\xe9\xe4\xd3\x82\xa7\xf9\x7a\x6b\x15\xac\xc2\x49\x3e\x03\x15\xe4\x2a\xd8\xa4\x80\xdc\xf9\x6a\x05\xa4\xe4\x8a\xab\xe0\x1f\xa8\x82\xb4\xe2\xdf\x5b\x87\x76\x14\x8e\x53\x48\xfc\x9c\x31\xb2\x0e\xd5\xf9\xa1\x09\x03\xad\xdf\x32\x36\x4f\x26\x4b\x74\xee\x8d\xe5\xe9\xf2\x5b\xa6\x9f\x7a\x93\x34\xbc\x00\x2d\x58\x21\x8b\x20\xf9\x0b\xe3\x00\x79\x7e\x08\xa7\x28\x69\x15\xe3\xc5\xfc\xb7\x0c\xd4\x88\x0b\x1e\x5c\xf2\x0b\xb1\x65\xba\x82\x13\x43\x0d\xd6\x1a\xa7\x0a\x08\x95\x4c\x41\x3f\xbe\xcc\xd8\xf3\xe5\x2c\x96\x17\x29\x6c\x5a\xab\x17\x46\x60\x59\x6e\x4f\x13\xc9\xfb\xe0\xd8\xbb\x5e\x44\x3c\xa6\x11\x26\x73\x91\x99\xd9\xea\x89\x0c\x0a\x80\x0e\x0b\x41\xad\x78\x5c\x91\x31\xd1\x8c\x82\xc7\x13\xb6\x0a\x32\xf5\x67\x4d\x67\x50\x07\x41\xe2\x64\x38\x1c\xb2\xd3\x7c\xc2\xfc\x76\xbb\xd3\xf2\x9b\x9d\x76\xdb\xaf\xc3\x71\xf7\x0e\x8f\x2f\x25\xb3\x48\x5c\x1d\x6e\x6d\xad\x56\xab\x56\xb2\x10\x31\x84\x32\x00\x94\x25\x71\x14\xc6\x62\xb1\x1c\x67\x5b\xed\xf6\xde\x41\x7b\xe7\x60\x6f\x77\x4b\x3b\xd8\x69\x4c\xce\xf2\x79\xf4\x6d\x70\x32\x07\x10\x05\x8b\x9a\x86\xd7\x62\xd2\x84\x2f\x74\xeb\x62\x13\x71\x15\x06\x22\x6b\xb0\x17\x3c\x0f\x63\x23\xc3\x40\xd8\x73\x96\x04\xc1\x72\xb1\xd6\x5e\x95\x12\xcc\xa3\x40\x44\xd1\x23\xb6\x48\xb2\x50\xa1\x0f\xed\xc7\x00\x6c\x43\x8a\xcf\xa9\xe0\x19\x0b\x27\x22\xb9\x48\xf9\x62\x16\x06\x6c\xf0\xe7\xe7\x16\x64\x30\xf9\x45\xc0\x52\xf0\xca\x96\x52\xde\x15\x51\x94\xb5\xd8\x49\x9c\x0b\x78\x56\x85\x48\xaa\xf9\x5a\x4b\xba\xe8\x69\xce\xa3\xa6\x7a\x34\x87\x94\x5a\xf8\xd2\x88\xe1\x16\x6a\xb9\x88\x44\xbe\x5e\x08\xdc\x73\x75\x4b\x1c\x53\x8d\x33\xa6\x1f\x4c\xc0\x8b\x01\xee\x05\x5a\x73\xaf\xf3\x60\xf2\x8b\x54\x00\x7d\xb0\x24\x56\xfe\xf3\x1a\x16\x19\x21\xf3\xc9\x15\x87\xd8\x4a\x8f\x95\x96\x3b\x4b\x52\x48\x49\x96\xac\xd8\x1c\xfc\xda\x45\x14\x69\x2c\x65\x2d\xf6\x2a\x61\x22\xcb\xf9\x38\x82\xbc\x91\xf8\xe4\x0a\x6b\x9c\xe5\x3c\x9e\xf0\x74\x92\x61\x9a\x77\xc6\x21\x8a\x46\xe6\xf4\xff\x4e\x49\x47\xd6\x38\xcc\xfa\x3c\xa0\x9c\x3b\x15\xfd\x4a\x10\x15\x88\x68\x91\x4f\x6c\x9a\x2c\xf3\x30\x16\x60\x77\x09\x58\xc5\x58\x3f\x2a\xf0\x96\x5c\x5c\xd8\x01\xf0\xb2\x2e\xd7\x69\x2c\x66\xfc\x2a\x94\x53\xe5\x19\xa6\xf0\xce\x60\x3b\xb1\x74\x19\xe1\x03\xb9\x95\xeb\x0c\x6e\x1c\x8b\x34\xb9\x0a\x27\x26\x46\x80\x9a\xca\x20\x89\x33\xc9\x15\x96\x3a\xbb\xd5\x28\x49\x51\x87\x4e\x64\xc3\x23\x8b\x68\x1a\x4e\x63\x85\x33\x60\x09\x61\x10\xe6\x14\x58\x00\x76\x6b\x66\xcb\xe2\x4d\xc0\x07\x92\xfc\x55\xc8\x01\x0a\x4e\xc9\xa4\x4b\x15\x6c\xc8\xb3\x9c\xf5\xb2\x10\xef\x0b\xa3\x65\x14\x7d\x80\x16\xb5\x51\xbd\xc1\x3e\x48\x51\xbe\xf6\xa1\xde\x60\xcf\x78\x34\xa5\xed\x53\x7b\x56\xc7\x67\xf6\x57\x3c\x4d\x93\x15\xab\xbd\xe2\x75\x2b\x87\x11\xc6\x66\xc3\x4b\x64\x86\xd1\xea\x70\x0a\x29\x79\x93\x30\x3e\x1f\x87\x17\x4b\x49\xe3\x10\x32\x89\x16\x1a\x81\x73\x34\xd2\xc7\xc5\xa2\xa5\x5e\x66\xa2\x05\x28\xb2\xb6\x28\x1d\x1d\x66\xf4\xac\x07\x50\x93\x65\xc6\x6a\xbd\x3a\x04\x83\xa0\x5c\x8c\xf2\x44\x00\xd8\xc1\x2c\x09\x03\x89\x83\x85\x88\x27\x19\x5b\x2c\x21\xb7\x13\xc4\x14\x5b\xa4\x62\x2a\x52\x41\x8e\xcc\x63\x1e\x5c\xae\x78\x3a\x51\xf1\x35\x78\x1e\xd2\xa6\xc4\x6b\x6a\x08\xe6\x68\xb3\x30\xcb\x93\x94\xf6\x78\x92\xb2\x0f\x22\x83\x70\xfc\x0b\x70\xef\x0f\xf0\x2e\x33\x98\x25\x09\xec\x3c\x64\x23\x84\x42\x4a\xcd\x95\x09\x67\x4a\x60\x03\x07\x71\x83\x7e\x5b\x66\x60\x6e\xc3\xb5\xe1\x05\x5f\x2c\xd2\x64\x91\x86\x52\xfe\x8d\x92\xf8\x02\xc3\x2b\x67\x49\xb4\xc4\x17\x51\x0c\xad\x01\x43\x51\xfd\x93\x53\xdd\x24\xcc\x16\x11\x5f\xd3\xee\x77\xbb\xe4\x99\x8a\x9a\x46\x18\x32\x47\x8b\x9a\x9d\x04\x51\x38\x36\x80\xee\x25\xe9\xad\x59\x6d\xbf\x39\x0e\x73\x7d\x2b\xb3\x40\x83\x1b\x3b\xf5\x8d\x76\x4c\x0e\x06\x24\xfd\xf8\x5d\x68\x9c\x48\xba\xb5\x87\x41\x91\xdd\x24\x92\x7e\x4e\x85\xb8\x04\x6f\xa7\xc1\x3a\x0d\xa3\x28\x0c\x1a\x4c\xe4\x41\x0b\x8f\x2b\xf0\xdc\x88\xd7\x2c\x5f\x2f\x34\xc3\x0d\x28\x78\x1c\x77\xfc\xb6\x5f\xca\x1d\x1c\xc1\xc3\x5a\x04\x9e\x55\x88\x2e\xa2\x08\x79\x0e\xda\xeb\xc2\x5e\x25\x79\x61\x63\xd4\x5e\x89\x65\x9e\xf2\x88\x28\xbd\xc5\x86\x92\x63\x49\xa4\x6a\x74\x6b\x37\x97\x49\x18\xc0\x53\x17\xb7\xa0\xf2\x78\x4d\xfe\x1e\xc5\x45\x68\xb1\x13\x75\xaf\x86\x54\xb1\xf9\x4c\xc0\x40\x31\x2d\xba\x14\x9e\x80\x06\xcc\x14\xc1\x63\x0b\xb3\xcb\x27\xe8\x03\x24\xef\xf0\x9a\xd3\xc1\x79\x82\xc9\xf5\xf4\x62\x48\x06\x06\x1c\x0a\xfd\x4d\xb5\x3f\xf5\xf0\x25\x3b\x7d\xd3\x1b\x0c\x25\xf9\xbe\x7f\xfd\xe2\xdd\xcb\x21\x3b\x79\x75\x36\xfc\xf9\x6d\xef\x85\x15\x3f\x45\xce\x69\x4c\x09\x93\xad\x2b\xf4\x44\x1e\x7e\xb9\xdc\x42\xb0\x2b\xb8\xbb\xc0\x17\xd1\x7a\x31\x6b\xb9\x62\x0c\x80\xd0\x7c\xd7\x30\xfb\xb9\x80\x9d\xc8\xb3\x2c\xbc\x88\x0d\x20\x8b\x7f\xe1\x74\x65\xfb\x18\xd7\xc1\xe1\x8f\xc4\x0c\x42\xf0\x4e\x43\xe3\x02\x43\xa3\x46\xf3\xa5\x1d\xd9\x28\xab\x5b\xc6\xf3\x30\x9b\xf2\x20\x4f\xd2\xb5\x0a\x5c\x2e\x97\x01\x5c\x8e\x14\x1d\x49\xf6\x0d\x5e\x4a\xd0\x54\x1d\x63\xa8\x91\xc2\x93\xcc\xb0\x64\x8a\xa7\xb2\x0a\xe4\xa1\xc2\x5b\xac\x87\x3e\x25\xf3\x04\x13\xdd\x2b\xad\x9a\x08\x42\x50\xd8\x20\x82\x5d\x5a\xb3\x09\xcd\x5a\x3f\x35\xb0\xe2\x22\x8c\xd7\xee\x06\x06\xac\x67\x6a\xd1\xd6\x02\xac\x19\x79\x9c\xad\x70\x22\x6b\x75\x4c\xad\x55\x56\x64\x7d\x82\x19\x81\x52\x9d\x34\xf2\x0c\x1b\x43\x24\x51\xcc\xd5\xd3\x62\xa7\x22\xcf\x69\x19\x97\x0b\xe0\x9a\x52\x60\x31\xf3\x57\xdb\x47\x1f\x95\xc9\x94\x44\x8d\x8a\x83\x58\x42\x01\x6b\x0f\x92\x3e\xc0\x92\x2d\x05\x8d\x16\x8f\x79\xb4\xce\x28\x91\x19\x04\x5f\x97\xa2\x16\xaf\x92\x06\x80\x37\x8c\x97\x39\x46\x48\x55\xd5\x08\x41\x5c\x1b\x5f\x37\xe0\x78\xcd\x75\x76\x17\x0e\x97\x1d\xbd\x1d\x1d\xc2\x84\xb8\xa3\x57\x09\x9c\xdc\xca\xa9\x8d\x4d\x79\x5a\x21\xe1\x92\xea\x06\xe4\x52\xfa\x7d\x8b\xc2\xa1\x6e\xe5\xa9\xef\x6f\x29\xf6\x63\x24\x7f\xd6\x6c\xb2\x4e\xbb\xbd\xd7\x6c\xef\x36\x3b\x5d\x56\x53\x33\xda\x6d\xb5\xeb\x54\xfb\x8d\x44\x51\x96\x91\x65\xf9\x32\x13\x0d\x16\x24\x8b\x75\x43\xde\x66\xc2\xe9\xba\x41\x1e\xae\xf2\x8a\x34\x5e\xe6\xc2\xdc\xc8\xa6\xf9\x8a\xa4\x19\x62\x39\xf2\x8c\x5b\x40\x86\xcd\x18\x3d\x82\xc1\x71\x4e\xc0\x41\x2c\x0f\xe4\xf1\x5a\x4a\x1c\x92\x92\x70\xa7\x22\x5a\xe8\xd4\x08\x22\x1e\xce\x51\x18\x5e\xf1\x54\x56\x0b\x05\x59\x70\xa4\xe2\x42\xae\x37\x65\x33\xb4\xfa\x56\x38\x7a\xc1\xc1\x1c\x87\x54\x93\x87\x36\xce\x82\xa8\x15\xf0\x79\x8b\x07\xad\xe5\xe5\xd6\xdf\xe7\x17\x97\x9d\xdd\xad\x65\x60\x2e\x00\x81\x73\x93\x72\xaf\x41\x5a\x5b\xad\xc4\x1d\x74\xd9\x8a\x96\xf3\x98\x18\x05\x26\x69\x3b\x39\x7d\xcd\xfc\x76\x77\xa7\x6b\x08\x45\xb3\x3f\x09\x2b\x53\x77\x23\xd6\x24\x33\x8e\xc8\xe2\x28\xac\xf6\xee\x09\x3e\xb9\x00\x29\x94\x3a\x68\xb7\xa8\xe9\x6b\x90\x03\x06\xed\xad\x81\x0f\x9b\x24\x4d\x22\xe7\x74\x8d\x27\xec\x78\xf8\x82\x62\x63\x09\x8e\xf1\x4d\x1c\xa3\x7e\x09\xae\xe9\x2b\x78\xaf\x92\xb8\x99\x2d\x78\x00\x9b\x33\x9e\xc8\x63\x35\x42\xe9\x21\x48\xe6\x63\x94\x45\x2d\xf8\x35\xf4\x2f\x8e\x98\x3c\x05\x2e\x24\x13\x03\x4a\x7a\xa9\xf2\x12\x24\x29\x7b\xa9\x43\xa8\x15\x77\x75\x5d\x39\x24\x6e\x9c\xdd\xe9\xeb\xd1\x19\x7b\xf6\xdf\x6f\x9e\x0d\x5f\x21\x46\x7a\xc7\x9b\x30\xe2\xbb\x18\x21\xa3\xca\xdb\x87\x3a\x98\x6e\x1c\x1e\xcd\x41\xa2\xe1\x2f\xc3\xb7\xaf\xd9\x87\x93\xe3\xb3\x67\x74\x5a\xd5\xde\x3d\xe9\xb4\xdb\xfd\xdb\xa7\xf0\x8c\xc7\x17\xcb\x88\xfd\x99\xcf\x13\x06\xc9\x1d\x22\x76\x95\xac\x44\x84\x6b\xa3\xac\x60\xe2\x2c\x89\x79\x9c\x67\x12\xae\xef\x77\xdb\x4d\xf9\x63\x34\x52\xe0\x69\x24\x9b\xf1\x44\x2b\x76\xa3\x74\xaa\x24\x69\xb9\x28\x56\xb1\x94\xb7\x95\x58\x3d\x52\x73\xd6\x38\x92\xe2\x99\xbe\x85\x6b\x14\x9d\x89\x60\x16\xc3\x1d\x81\xfc\x16\xff\x9f\xef\x6f\xc0\x04\x01\xec\xa8\xa1\x56\x8a\xcb\x36\xc5\xa6\x02\x1c\x43\x63\xd7\x72\x27\x54\x80\x70\xdf\x0f\x7e\xbb\x34\xad\xa7\x11\xbf\x00\xd1\x35\xe6\xe3\x88\xf8\xc8\x7a\xd3\xc2\xe8\x81\x80\x8e\x49\xcc\x79\x99\xa6\x4d\xa2\x70\xc9\x78\xc0\x3a\x51\x02\x86\x2d\xbd\xbf\xbf\x7b\xd0\xf4\x61\xed\x3e\xfc\xfc\x62\x47\xa1\xcb\x92\x04\xf4\xf9\x50\xda\x8d\x4a\x6e\xdc\x30\x32\xdf\x0d\x01\xee\x0a\xbc\x18\x78\x4f\xbd\xac\xb8\xe8\x52\xa2\x6f\x68\x71\x1d\x7c\x3e\x78\x40\xbc\xf1\x08\xf3\xb7\x6e\x6d\xb1\x0f\x9a\x45\x49\x8e\x63\x20\xb5\xa8\x6a\x2b\x5e\xd2\xed\x0b\x53\x75\xb9\x4d\x4a\x73\xd2\xcd\xe8\x4b\xa1\xe9\x48\xae\x8c\xf2\x22\xa5\x0c\xc9\x10\x56\xf9\x16\x2a\xd0\x60\x2b\x56\xdb\x24\xb5\x74\xc6\x16\xdf\x02\xd3\x8c\xd4\x02\xa6\x86\xdb\x41\x68\xa7\xa8\xc5\x53\x21\x13\xe3\x24\x6e\x26\x57\x22\x8d\xf8\x62\x41\xaf\x63\x22\xbd\xe2\x51\xa6\x3e\x66\xa5\x6d\x27\xa1\xa8\x90\x0b\x20\x1a\x3d\x5a\xc6\x61\x26\x72\xf6\x24\xe0\xf9\xd1\x4b\x41\x3f\x63\xfc\x39\x98\xb2\xa6\xe4\x69\x0c\xf7\xbc\xdc\xf1\x0c\xd8\x0a\x0b\x1e\x19\xc4\x2a\xb6\x7b\xc4\xce\x41\x2f\x7b\xce\xda\xd7\xed\xed\x76\xbb\x01\x3f\xbb\x23\xf6\xb1\x81\x65\x3b\xfb\xdb\x0d\xfc\xd9\xb5\xca\xf6\xa9\xec\x80\x51\xaa\x33\x28\xdf\x3d\xf0\xa1\x7c\xb7\x7f\xac\xeb\xee\xf6\x47\x54\x66\x60\xee\x0e\xa8\xde\xa0\xe3\xb6\x1f\xec\x50\xf9\xae\x55\x77\x8f\xca\xf6\x74\x59\x97\xc6\xd9\x6d\x6f\x3b\xed\xbb\x3e\x95\xfb\xa6\x7d\x77\xa7\x8f\x65\xbb\x43\x53\xb6\x47\xf5\xf6\xda\x6e\xfb\xe3\x2e\x96\x0f\x77\x4c\xdd\xe1\x1e\x95\xed\x5b\x65\x3d\x2a\x3b\x76\xda\xef\xb5\x71\xae\x7b\x6d\x33\xd7\x3d\x1f\xe7\xba\xe7\xfb\xa6\x6c\x1b\xfb\xdf\xdb\xe9\xb9\xed\x7b\xd8\xff\x5e\xbf\x6d\xea\x0e\x71\xfc\x7b\xa3\x6d\x5d\x76\xd0\x46\x98\x07\x6d\x17\x7f\x07\xdb\x83\x06\xfd\x34\x75\x77\xa8\xee\xce\xbe\x55\x76\x4c\x65\xee\xf8\x0f\x76\xa9\xee\xae\x99\xff\x41\xb7\x83\x65\x5d\xab\xff\x7d\xaa\xb7\xef\xbb\xed\xfb\xd4\x7f\xdf\xea\x9f\xd6\xfa\x60\x60\xc1\x1c\x50\xff\x83\x42\xff\x43\xea\x6b\x68\xfa\xea\xd1\x5c\x7b\x30\x57\x2a\xa3\x79\xf6\x60\x9e\xa6\x7d\x8f\xe6\xda\xdb\xb1\xea\xee\xec\x51\xd9\xbe\x55\xd6\xa7\x32\xb7\xff\x1e\xd1\x45\x6f\xcf\xac\x55\x8f\xe6\xda\xdb\xb7\x60\xd2\x3c\x7b\xfd\x42\xff\x34\xd7\x9e\x45\xbf\x3d\xa2\xdf\xde\xc0\xea\x9f\xe6\xdf\x2b\xcc\xbf\x47\xf3\xef\x59\xf3\xef\xd3\xfc\xfb\x6d\x33\xa6\x3e\xcd\xbf\x5f\x98\x7f\x7f\x7b\x44\xe5\x86\xfe\xfa\x84\x93\xfe\x8e\x05\x93\xd6\xbf\x5f\x98\x7f\x7f\x17\xe9\xaf\xbf\x6b\xf6\x7a\x7f\x1f\xc7\xd4\xb7\xe6\xdf\x1f\x20\x9e\xfa\x03\x77\xff\xf4\x69\x5e\xfd\x81\xd9\xff\x83\xed\x21\x94\x0d\x76\x0c\x4d\x0f\x76\xba\x54\xb6\xef\xb4\x1f\xec\xf4\xa8\xdc\x6a\xbf\xbb\x8b\x65\xd6\x98\x06\x84\xff\x41\x01\xff\x03\xe2\x35\x03\x8b\xd7\x0c\x06\xd4\xd7\xc0\x6a\x3f\xa0\xf6\x05\xfc\x0f\x08\xff\x03\x0b\xff\xc7\x84\xbf\xe3\x1d\xbb\xec\x98\xca\xdc\xf6\xc7\x03\x1c\xff\xf1\xa0\x67\xea\x1e\x23\xcc\xe3\xe3\x1d\xab\xac\x4b\x65\x5d\xa7\xfd\x70\x1b\xfb\x1a\x6e\x9b\xb5\x1e\x6e\xef\x50\x99\x81\x39\x24\x9a\x1e\xee\x0c\xdd\xf6\x7d\x6a\xdf\xb7\xda\xf7\xa9\x7d\xff\xc0\x2a\xeb\x53\x99\x8b\xbf\xe1\x00\xf9\xfa\xd0\x5a\xbf\x91\x8f\x65\x23\xdf\xb4\x1f\x6d\xe3\x9a\x8c\xb6\x77\x9d\xf6\xa3\xed\x3d\x2a\xdf\xb3\xea\x1e\x50\x99\xd5\x7e\x0f\xc7\x39\xda\x73\xc7\x3f\xda\x47\xba\x1a\xed\x1b\x5c\x8d\xf6\xbb\x54\x66\xc1\x3c\xa0\x7a\x07\x7b\x6e\xfb\x03\xea\xcb\xe2\x3f\x23\x5a\xff\x91\x59\x7f\xbf\xdd\x81\xf5\xf3\xdb\xdb\x0e\xfd\xfa\xed\xed\x0e\x95\x77\x4c\xdd\xed\x2e\x95\xed\x59\x65\x07\x54\x76\xe0\xb6\xdf\xdd\xc7\xf2\x5d\x3d\x57\x79\x06\x43\x99\x3c\x86\x55\xd9\xf6\x2e\xd0\xa9\xfc\xe9\xb4\xdf\xf3\xb1\xff\x3d\x5f\xcf\xdf\xdf\xa3\x31\xed\x6d\x5b\x65\xbb\x54\xb6\xbb\xed\xb6\xdf\xa3\xf2\xbd\x6d\x53\x17\xd7\xdf\xdf\xeb\xef\x5a\x65\x7b\x54\x76\xec\xb6\x47\x5c\xc9\x9f\xa6\xee\x00\xe7\xba\x77\x6c\xc1\x3c\x3e\xa6\x32\xb7\xfd\x7e\x1b\xe8\xca\xdf\x6f\x6b\xfa\xf1\xf7\x7b\xd8\x7e\xbf\x67\x70\x72\xd0\x41\x9c\x1c\x74\x9c\xf3\xcb\x3f\xe8\xec\x51\xf9\xbe\xa9\x4b\xf3\x3f\xb0\xd6\xe4\x80\xf0\x7f\xb0\xdd\x77\xda\xf7\x7c\x6c\xdf\xf3\x4d\xfb\x3e\xca\x0a\x7e\xbf\x6d\xc6\xdf\xc7\x3d\x25\x7f\x3a\xed\xfb\xb4\xd6\x7d\xb3\xd7\x7c\xe2\xb5\x7e\xdf\x9c\xa9\x7e\x7f\x07\xc7\xd4\xdf\x71\xc7\xdf\xef\xe2\xfc\xfb\x16\xfe\x8f\x91\x57\xfa\x16\x4f\xf0\x8f\x47\x43\x2c\x1b\x39\xeb\x2f\x85\xb4\x06\xfe\xd4\xb4\xd2\x69\x77\x7a\x58\xd6\x19\x9a\x32\xa4\xa9\x4e\xbb\xbb\xed\xb6\xef\x52\xdd\xae\xd5\xfe\x98\xea\x0e\x75\xd9\x36\xc1\xdc\x6e\x77\x9c\xfe\xb7\xdb\xb8\x7f\xb6\xdb\x07\x7a\xac\xbd\xfd\x36\xe0\x44\xfe\xb4\xca\xfa\x54\xe6\xe0\xbf\xb7\xdf\xd9\xc5\xf2\x8e\xae\x3b\xea\xfb\x30\x57\xf9\x53\x97\x0d\x71\x4d\x46\xc3\xb6\xd3\xff\x68\xd8\xa1\xf2\xce\xb6\xa9\x3b\x1a\x35\xe8\xa7\x2e\x1b\x8d\x60\x9c\xa3\xd1\xc8\x5d\x7f\x25\x2c\xc8\x5f\xcc\x0a\xb4\x7b\xed\x5d\x55\xda\xb5\x4b\x07\xaa\x74\x54\x80\xb2\x4d\xdb\xb8\x67\xd1\x41\xbb\x87\x87\x2b\xfc\x62\x56\xd2\xef\x22\xc9\x1d\xfb\x5d\x97\x17\x1c\xfb\x7b\xdb\xf4\xc5\x9c\x9c\xf2\x8f\x5d\x55\xda\xb7\x4a\x7b\x3d\x2a\xed\xb9\x3b\xea\xb8\x43\xa4\x76\xdc\xd9\xd1\xfb\x7f\xd8\x6e\xe3\x3c\xe1\x17\xab\x14\xd1\x37\x6c\xb7\xf7\x9c\x19\x0d\xdb\x7e\x9b\xbe\xf8\x92\x0a\x1e\x7c\xbc\xff\xcd\xe4\x96\xbb\xd5\xe6\x2b\x0a\xe8\x37\x9a\x3d\xd6\xa4\xbb\x4a\x93\xee\x2a\x4d\xba\xab\x98\x4b\x09\xb7\x6e\x63\xd6\xa5\xa4\xdd\xc3\xc3\xa2\xdd\x33\x87\x5a\xbb\xb7\x43\x65\x3b\x56\xd9\x1e\x95\xb9\x42\x45\x1b\x71\x2b\x7f\x5a\x75\x87\x54\x66\x2e\x05\xed\x3e\x1e\x2a\xed\xfe\x8e\xdb\xbe\xdf\xa5\x72\xab\x3d\x09\x20\x6d\x4b\xd0\x68\xd3\x41\xd3\x1e\xb8\x87\x3a\x6d\x40\xf9\xd3\xd4\x3d\xa6\xb1\x1e\xef\x5b\x65\x34\xa6\xa1\x2b\x54\xb7\x87\x04\x77\x68\x04\x98\xf6\x70\x9f\xca\xac\x31\x0d\x69\x4c\x85\x4b\x49\x7b\x44\xfd\x8f\xac\xfe\x47\x1d\x2a\xdb\xb6\xca\x68\x4c\xa3\x5e\xa1\x3d\xc1\x1d\x0d\xac\xba\x34\xd6\x91\xc1\x9f\x4f\x82\xaa\xdf\x76\xc7\xef\xd3\x05\xc8\xb7\x2e\x40\xbe\xbf\x4d\x65\xdb\x56\x59\x9f\xca\xfa\x6e\xfb\x0e\xce\xdf\xef\x18\x01\xc0\xef\x50\xdd\x4e\xdf\x94\x91\xf0\xe4\x6f\xbb\x97\x42\x1f\x77\xb3\xfc\x69\xd5\x45\x41\xd1\xb7\x2e\x0a\xfe\xce\x0e\x95\xb9\xeb\xef\xef\x50\xfb\x1d\xab\x2f\x12\x00\x7d\x4b\x50\xf5\xf1\x50\x6e\xfb\xbb\x85\xfe\xbb\x34\xfe\xae\x35\xfe\x2e\x8d\xbf\x6b\xc1\x1c\x20\x4e\xfd\x81\x2b\x14\xf9\x44\x3f\xbe\x45\x3f\x3e\x09\x95\xfe\xb1\x35\xfe\x63\x1a\xff\x71\x61\xfc\x24\x6c\xfa\xc7\x5d\xab\x2e\xcd\xc9\xa2\x3f\xff\xb8\x47\x65\xbd\x42\xfb\x01\x95\x9b\xf5\xef\xd0\x45\xb1\xb3\x6b\xd6\xb4\xd3\xa5\xb2\xae\xbb\xfe\x1d\xba\xd4\x77\xac\x0b\x60\x87\x2e\x45\x1d\xeb\x52\xdf\x41\x41\xa3\xdd\x19\xf4\x0b\xed\x8f\xa9\xdc\xe0\xba\x43\x38\xe9\x58\x38\xe9\xd0\x9c\x3a\xc7\x85\xf6\xc7\xd4\xfe\xd8\x6e\x3f\xa2\x32\xb3\x7f\xb7\x49\x79\xb1\xdd\x73\xc7\xbf\xdd\xdb\xa6\x72\x23\xc0\x6e\x93\xa0\xbd\x3d\x30\xf3\xdf\x1e\x50\xbd\x81\xab\x14\xd9\xa1\x7d\xb1\x63\x5d\xe0\x76\x48\x51\xb1\xb3\x63\x29\x5a\x08\xa7\x3b\xbb\xbe\x7b\xa8\xfb\x74\x80\xfb\x6d\x73\xa8\xe3\xfe\xe9\xb4\xfd\xae\x55\xb6\x4f\x65\x07\x85\xf6\x03\x2a\x3f\xb6\x84\x0a\x82\xd9\xe9\x58\x65\x3b\x54\xb6\xe7\xb6\xdf\xa6\xba\xdb\x56\xff\x28\x94\x75\xda\xdb\xdb\x56\xd9\x2e\x95\xed\x16\xda\x93\x50\xb3\xdd\xb7\xea\x0e\xa9\xcc\x12\x6a\xf6\xa8\xff\xbd\x1d\xb7\xfd\xde\x88\xca\x2d\xa1\x06\x2f\xe5\x9d\xb6\xb9\x28\x74\xda\x3d\x9a\x67\xcf\xb9\xd4\x74\xfc\x36\xe2\xca\x37\x22\x41\xc7\x47\x89\x40\xfe\xb4\xca\x0e\xa8\xcc\xc5\x1f\xf1\xaa\x8e\xc5\xab\x3a\xbe\xdf\xa5\x32\x83\x7f\xbf\x83\x63\xf2\x5d\xa1\xb6\x43\xfc\x4b\xfe\xb4\xea\xf6\xa9\xcc\xe0\xc4\xdf\xa5\x7e\x76\xdd\xf9\xfb\xbb\x54\xd7\x28\xb0\x3a\x74\xa9\xe8\x58\xfc\xa3\xe3\xef\x51\xd9\x5e\x61\xfc\x07\x54\x7e\x70\x60\xea\xf6\x91\x56\xfc\xbe\x55\x86\x3c\xa5\x83\x3c\xc5\x6a\x8f\x7c\xa5\xe3\x9b\x0b\x6c\xc7\x47\xa5\x98\xfc\xa9\xcb\x3a\x28\x63\xc8\x9f\x4e\xfb\x4e\xbb\x43\xe5\xdb\x56\xdd\x3d\x2a\xdb\xb7\xca\xfa\x54\xd6\x2f\xb4\x1f\x51\xb9\x59\xff\x0e\x9e\x29\xf2\xa7\x55\xb6\x4b\x65\x2e\xfd\x75\xfc\x1e\x95\xf7\xac\xba\xc7\x58\xd6\x31\x34\xdd\xe9\x6c\x53\x99\x2b\x54\x77\x3a\x04\xb7\xb3\x6b\xd5\xa5\xf1\x77\x06\x56\xd9\x90\xca\x86\x6e\x7b\xbc\x6c\x74\x3a\xdb\x16\xae\xf0\x52\xd1\xe9\x6c\x9b\x3d\xd9\xc1\x73\x46\xfe\x74\xdb\xef\x50\xdd\x1d\xab\xaf\x5d\xc2\xe9\xae\xd9\xbf\x1d\xa2\x89\x02\xff\xed\x74\xba\xd4\x7f\xd7\xea\x9f\x2e\x0a\x1d\x8b\x7e\x3a\x5d\x1a\x7f\xd7\xbd\x94\x74\xf6\xa9\xaf\x7d\x6b\xfd\xf0\x52\xde\xe9\xec\x5b\x30\x0f\x08\x4f\x07\x05\xfc\xe3\xa5\x42\xfe\x34\x75\x7b\x54\xb7\x67\xe1\xb4\x4f\xeb\xdc\x77\xfb\xdf\xc6\x4b\xb1\xfc\xa9\xeb\xee\xd0\x5c\x77\x86\x06\xe6\x0e\x2a\x4a\x3b\xbb\x3b\x2e\xfd\xec\xee\x62\xdd\x5d\x73\x29\xeb\xec\xee\x53\xd9\xbe\xa1\xa9\xdd\x03\xec\x67\xb7\x30\xfe\xdd\x1e\xd5\x35\xf2\x67\x67\x17\xcf\x84\xce\xae\x39\x13\x3a\xbb\x7d\x6a\xdf\x77\xe9\x67\x17\xe5\xc7\xce\x6e\x7f\xcf\xaa\x3b\xa0\x32\xb3\xfe\xbb\x03\xea\x67\xe0\xae\xdf\xee\x80\xda\x1b\x05\x62\x67\x77\x40\x73\x1d\xf4\xad\x32\x5c\xbf\xdd\xe3\x42\xfb\x21\x8d\x6b\x68\x70\xbd\x3b\x1c\x51\x99\x99\x7f\x97\x78\x62\xb7\xed\xc8\xaf\x9d\x2e\xf1\xc5\x6e\xfb\xc0\xaa\x3b\xa4\x32\xab\xbd\x8f\x74\xd6\x2d\xec\xbf\x2e\x9d\x3f\x5d\x7f\x60\xd5\xa5\xf6\xe6\x52\xd8\xe9\xee\xe0\xfc\xbb\x3b\x2e\xff\xe8\xe2\x0d\x48\xfe\x34\x75\x69\xfd\xbb\x5d\xdf\x2a\xdb\xa6\xb2\x42\xff\x78\x43\xeb\x74\xbb\x3d\xab\x2e\x8d\xa9\x7b\x6c\x95\x8d\xa8\xcc\xa5\xbf\xbd\x6d\xe4\x15\x7b\xd6\x5e\xdd\xdb\xc3\x35\xd9\x33\x67\x92\xbc\x8b\x35\xc0\x4b\xd8\xbd\xd4\x8f\x46\x23\x68\x2f\x7f\xea\x0b\x6c\x5b\x55\xb6\x4b\xc1\xd1\x03\x95\x05\x6d\x2c\xc7\x8b\x1a\x1a\x0c\xf4\xc3\x98\xa7\x6b\x96\x09\x9e\x06\x33\x34\x83\x22\xf7\xd5\x7c\x86\xd9\xe6\x63\xe3\x71\xa3\x5f\xfc\xc1\x2f\x2e\x5b\xf0\x40\xd8\x8f\x56\xa5\x28\x46\xe2\x42\xa4\x5f\xd8\x32\xc8\x58\xaf\x02\x88\x6d\x06\xad\x7d\x98\x74\x68\xae\xb3\x74\x29\xdc\x61\xdc\xdc\xfd\x53\x7c\x6a\xd3\x61\xb2\xf2\x99\x48\x57\x61\x66\xa5\xff\x5c\x05\xad\x30\x3b\x85\x56\xb6\x83\x5a\x90\xe9\x10\x15\xbd\xe5\x75\x18\x85\x12\x1f\x8e\x9f\xdf\xd8\xc1\x51\x18\xeb\x2b\x2c\x83\xb7\x56\x95\x52\x72\x1e\xc6\xec\x88\xb5\x1b\x6c\xce\xaf\xd9\x11\x2b\xbe\x89\xa9\xb8\x80\x4d\x74\x06\xc1\x16\x13\x1d\x31\x54\x62\xe9\x4f\xa5\x46\xe7\xed\x8f\xe7\xed\x8f\xec\xf3\x67\xc0\xe2\x8f\xe5\xef\x73\x7e\xfd\xf1\xdc\xff\x58\x15\x4f\x54\xfb\x63\xc8\xf1\xfc\x78\x24\xc7\xa7\x9c\x31\xe6\xe1\x84\x1d\xb1\x97\x3c\x9f\xb5\xa6\x51\x92\xa4\xb5\x9a\x1c\xfc\x13\x39\xf2\x3a\xdb\x62\x1d\xcb\x51\x6a\x53\xbf\xe1\x04\xfa\xd5\xde\x1d\x38\x7b\x09\xf8\x49\x85\xb7\xcb\x86\xd9\x01\x94\xb6\x0d\x05\x50\x27\xa1\x34\x0b\x50\x0a\x81\x08\x4d\x56\x3f\x1d\x7e\xd0\x9d\xbd\x1d\x19\xaf\x7a\x59\x81\xd2\x41\x23\x71\x07\x62\x1f\x72\x4c\x57\x7c\xc3\x9b\xed\x3f\x96\xfc\xab\x34\x27\x60\x80\x6b\x0f\xc8\x22\xfc\xe2\xbb\x74\x89\xfe\x37\x93\xb0\xd6\xa0\xdc\x87\x84\x75\xa3\x0d\x24\x6c\xbe\xff\x63\x49\xd8\xea\xf7\x1b\x48\xb8\x00\xe5\x0f\x27\xe1\x63\x95\x41\xaf\xd2\x84\xab\x82\x48\xbe\x0f\x39\xea\x56\x67\x77\xef\x55\xd3\x9c\x2c\x55\x46\x0b\x65\x72\x93\x28\xdd\x68\x38\xa1\xb0\x49\xe3\x28\x02\x7c\x0b\x0d\x74\x6d\x00\x5a\x8a\x6b\xbd\xa1\xed\x71\x98\xa5\x9b\x9a\x7f\x13\xc6\xb5\xc1\xa0\x32\x1c\x91\xac\xe5\x56\xb6\x51\x4a\x95\xf5\xcf\x5c\xa8\x32\x6e\x36\x9d\x94\x10\xd5\x5f\x32\x51\x34\x68\x2f\xdb\x0f\xb5\x2c\x9e\x70\x04\xc1\x33\x2a\x16\x45\xd9\xef\x3c\x75\x18\xc8\x36\x04\x11\xc7\x5d\x0b\x8e\x98\x53\xf6\xc3\x0f\x0c\xbf\xb5\xaf\x79\xbb\x5e\x05\xca\xb6\xe9\x51\x41\x66\x5f\x2f\xf2\x70\x1e\xfe\x8e\x19\xd7\x7b\xa7\x83\x93\x93\x0d\x03\xfc\x13\xf4\xe2\x80\xf5\x15\x90\x7e\xf1\xf0\x47\xfb\xaa\x8d\x56\x35\x2d\x97\xb6\x49\xe2\x00\xe4\x39\x1d\xb4\x55\x07\x98\xdd\x95\xa7\x69\x78\x25\x28\xc1\xab\x1c\x13\x99\xf3\x72\xcb\x96\x31\xd9\x68\x3c\xd9\x32\xbc\xc3\xa7\x40\x99\x06\x7f\xbe\xdf\x6e\xb3\x1f\x7e\x40\xe6\x83\xf3\xc5\xe2\xdd\xa9\x44\xb4\xfd\x6f\x6b\xcb\xb1\x01\x0c\xe3\x30\x6f\x59\x16\x7f\xc4\xbf\x70\x4d\xe1\xf2\xd4\x39\x50\x8c\x5d\x15\x70\xf6\xf9\x33\xd5\x33\x43\xe8\x88\xfd\xb6\x5e\x44\x59\xc0\x77\x82\xa9\x1e\x13\x42\x7c\x78\x04\x6f\x44\xdb\xd3\xba\x3b\xaa\xad\x2d\x70\xd3\x68\xb5\x5a\xec\xbf\xc3\x12\x64\x1e\xb4\x5d\xc8\x93\x3d\xbe\x8d\x10\xcc\x64\x4e\xd7\x51\x24\x57\x2d\x2b\x35\x9f\x1e\x14\x9a\x4f\xf9\x74\xaa\x9b\xcb\x7e\x07\x8e\x43\xcb\x89\xf2\x55\xab\x00\x25\xfc\x02\x28\xe1\x1f\x68\x50\xef\x45\x0a\xd9\x63\xc0\xd8\xb3\xaa\xf1\x76\xb1\x71\xf7\xa6\x71\x8c\xaa\xa1\x4c\x8b\xb3\x99\x76\xdb\x1a\xca\x68\x19\x45\xc8\x13\x36\xb5\x16\xc5\xd6\xa2\x5b\xaf\x5c\x4e\xf0\x1d\xb7\xab\x76\xa6\xd3\xe9\xa4\xb2\xee\x76\xa9\xee\x36\xd4\x45\xcf\x5d\x0a\x98\x77\xc8\xc4\x3c\xf9\x2d\xb4\x8d\x05\x97\xd9\x12\x3c\x37\x94\xb9\x3b\x8a\xfb\x10\x76\x23\x9c\xb8\x5e\x39\x91\xe4\xbb\x17\x33\x04\x67\xc9\x45\x38\xd9\x6c\x21\x02\x96\xf1\x35\xec\xa7\x99\x14\xc4\xd9\x29\xfa\x07\xc8\x6d\x37\x99\x40\x85\x10\x6c\x6d\x33\x9d\x60\x4c\xcc\x7f\xfa\xb6\xc3\xa0\x78\x08\x18\xd7\x98\x7f\xf5\x43\xe0\xed\x1d\x4e\x00\x87\xc1\xd9\x07\x77\x99\xcf\x6d\xb2\x64\xb4\xd3\x11\xdc\xf9\x8c\xfe\x8a\x25\x31\x61\x4a\xaa\x62\x8c\x66\x79\xaa\x63\xdc\x7e\x2d\x3e\x8b\x81\x50\x56\x41\x2b\xcb\xcb\x92\x8f\x13\x04\x83\x1c\xb7\xd2\x2b\xb2\x3f\xbd\x35\x14\x86\x13\x88\xce\x0a\x05\x05\xa1\x0d\xd4\xdf\x56\x7c\x83\x15\x75\x5f\x44\x6d\x29\xd6\x91\x5c\x4a\xac\xfc\x27\x75\x48\xeb\x75\x69\x92\xfc\x9a\x5e\xb1\x27\x47\x08\x92\x1a\xc9\xbf\x6b\x85\x18\x51\xd3\xa9\x64\x9d\x3f\x31\x9f\x1d\x62\x1c\x02\x5b\xa4\x4d\xaf\x9c\xd5\xfb\x59\x50\xbe\xe6\xe5\x98\x22\x8f\x50\x0a\x41\x22\x51\x44\x76\x32\x9d\x66\x22\x2f\x50\xaf\xb5\x0e\x37\xad\xaa\x1b\x2e\xe5\x42\xe4\x56\x5f\xd3\x34\x99\xb7\x2a\xf7\x1b\x06\xe2\xa7\x80\xcb\xe8\x89\xee\x8e\xa5\x08\xab\x1a\x4c\xb2\xc8\x3f\x21\x52\x37\x91\x8e\x03\xe0\x41\x55\xe8\xe5\xb3\x62\x2d\x43\x5d\x50\x5a\xa0\x2d\x4a\x22\xd0\x30\x7d\x5b\xc9\xe8\xe4\x17\x88\x78\xdc\x60\x22\x9e\xd0\x6f\x2b\xbd\x0d\x81\xf6\x4c\x25\xbc\x02\xae\xb4\x79\xb4\xd5\xbe\x10\x9f\xc5\x7c\x30\x81\x5a\xb0\xdd\x93\x0a\xd2\x2b\x04\x3a\x31\x8d\xeb\x25\x5a\xfc\x11\x41\x2b\x7a\x1c\xa7\x82\x5f\x3a\xb9\x67\x0c\x86\x1f\x1e\xb1\x65\x4c\x76\xff\x4e\x52\x64\x35\x53\x4c\x92\xa3\x11\x60\xe6\xf5\x40\xcb\x18\xba\xaa\x3d\x3d\x79\x68\xd1\xce\x38\x32\x58\xb5\x5a\xdd\x79\xa6\x0a\x7c\xbd\x6e\xf0\xff\xe4\x49\xc5\xa4\xcd\xda\x3d\x70\x07\xa6\x42\x66\xa8\x64\xd4\x79\xda\xd2\xb4\x51\xab\x5a\xde\x7a\x71\x03\x9a\x26\x36\xe2\x4b\x9b\x72\xc3\x86\xc4\x7d\x81\x4e\x36\x13\x77\x4b\xfc\xe3\x37\x61\x75\x2b\x39\xb0\x33\x08\x83\x3a\xa9\x6c\xf1\x55\x9b\xac\x90\xc5\xd2\xde\x67\x22\x9e\x38\x81\xad\x9c\x76\xc5\x9a\xac\x49\x04\x0d\x08\x97\x55\x53\x81\x21\x41\x5a\x7c\x32\xa9\x79\x14\x98\x24\x98\xf1\xf8\x42\x44\xc9\xc5\x16\xb9\x82\x79\x0d\xe6\xe5\xe2\x3a\xdf\x5a\x44\x3c\x8c\xbd\xc6\x03\xcf\x6f\xf9\x5d\x8f\x3d\x79\xe0\x79\x0f\xea\x94\x99\xf3\x16\x50\x13\x9e\x8b\x32\x9c\x4e\xdb\xdf\x6b\xb6\xf7\x9b\x0e\xb4\x62\xbc\x94\x99\x3c\x63\xb7\x7e\xcb\xb6\xe0\x97\xff\xed\xd1\x99\x01\x57\xf9\x44\x2c\x00\x49\xad\xd3\x3c\x49\xf9\x85\x80\xa4\xf7\xb4\x03\xfe\x43\x36\x94\xfd\x5f\x85\x62\xc5\x8e\x45\x10\xf1\x94\xdc\xe6\x10\x03\x8f\x21\x6d\x01\xca\xa2\x18\x3a\x7f\x2e\xd8\x98\x67\x61\xc0\xb2\x19\x4f\xc5\x84\x2d\x21\xdb\x4d\xa8\x72\x00\xf0\x1c\xbd\x84\x92\x84\x65\x73\x70\xf3\x4f\xd8\x04\x31\xc1\x26\x02\xb3\x12\x4e\x60\xbc\x94\xcb\x56\xf2\x6b\xe8\x4b\x3b\xc2\x18\xcf\x3e\xc8\xc2\x01\xde\xd7\xf1\x24\x59\xb1\x59\x82\x2e\xd5\x38\xb4\x42\xf8\x12\x79\x58\xf1\x8c\x2d\xe4\x56\x4a\xa6\x54\x47\x5e\xe8\x6a\xf5\x16\xb3\x12\x15\xc9\xda\xf1\x15\x8f\xc2\x09\x5b\xc6\x79\x08\x4e\xc3\x10\xf3\x80\x47\xe1\xef\x3a\x82\x0a\x66\xa6\xc5\x11\x22\x28\x1c\xc3\x99\x1c\x91\x4e\xf7\xa8\xa2\xdd\xf3\x14\xee\xab\x56\xac\x76\xf2\x6c\x37\xa9\x2f\x28\x62\x01\x84\xd0\x53\x21\xad\x7f\x4f\x92\xb9\xed\x1b\x45\x33\xfa\xef\x64\x09\xeb\xad\x22\x63\x43\x86\x8c\x7c\xa6\xd3\xab\xb3\x28\x09\xe4\x60\x85\xce\x84\x6e\x8f\x53\x02\xa5\x01\x99\xac\x9a\xde\x5f\x5e\xbf\x7e\x29\x4f\x0e\xbf\xdd\xfe\x77\x2b\x6a\x4e\x3f\x0d\xc5\x94\xa1\xb5\xda\x5a\x8f\x5f\xbb\xe5\xe3\x70\xe5\x3e\x92\xc3\x0c\x92\x05\x85\xaf\x00\x09\x34\x0a\x17\xe3\x84\xa7\x7a\xd8\xfd\x35\x9b\x88\x29\x5f\x46\x90\xd8\x87\x3c\xe8\x95\x24\xdf\x7f\xd1\x1b\x3c\x67\xa7\x83\x93\xd3\xd3\xd7\x6f\x4f\x2d\xff\x5c\x70\xce\x5d\xe3\x8c\xc9\x7b\xf9\x1e\x93\xb6\x09\x00\x1c\x81\x8b\x43\x9f\x09\xe6\x21\x7a\x9b\x7a\xc0\xcd\x38\xc9\xc3\x40\x78\x56\x54\x07\x20\x02\x67\x21\x14\x3a\x65\xdd\xe9\x5a\xb2\x00\x0b\x9b\xbf\x2c\x3b\x7b\xed\x8e\xc4\xa3\xa6\x56\x89\xa3\x6c\x26\x07\x1a\xc6\x8c\x4b\x92\xbf\xcc\x93\x05\x83\xe6\x14\x8d\x45\xfb\x3f\x2b\x6a\x00\xdf\x64\x11\x45\x2d\xc6\x7e\x59\x76\x3a\x5d\x0c\xa6\xa8\x71\x36\x3c\xf9\xf9\xd9\xd9\x33\xf6\xea\xf5\xd9\xb0\xc1\xfe\xbd\x96\x87\x79\x24\xea\x85\xc4\x97\x12\x57\x3a\x80\x88\xa6\x32\xa8\x6a\xcf\x82\x86\xf3\xca\x1a\xcd\x99\xac\x43\x93\xe9\x76\x7b\xa6\x03\xfc\xdb\x22\x92\x17\x64\xd8\x08\xe1\x1d\x69\xaf\x82\xfb\x2e\x24\x34\xd7\x77\xb9\x1e\x16\xce\x78\x1a\x8b\x4c\xfb\xa4\x53\x22\x67\x95\x32\x7b\x0d\x6e\x7b\x18\xce\x85\xb2\x7b\xa6\xcb\x38\xd6\x87\x11\x0e\x57\x02\x3a\x16\x0b\xb0\x60\xf4\xb0\xe8\x34\x48\x93\x28\x7a\x93\xa4\x98\x3e\x2f\x93\x0c\x5e\x7f\x11\x22\x56\xa5\x0f\x58\xe9\x1f\xd5\x3b\x23\xec\x14\xdb\xbf\x3f\xbb\xbd\xed\xfb\xb3\xd6\x80\xc7\xb1\x98\x60\xcd\x8f\x2e\x9b\x42\x94\x48\x26\xa2\x4f\xce\x06\x4b\xc5\x45\x98\x41\x3a\x5c\x24\x64\x3c\xb8\xb0\xec\x04\xd9\x52\x81\x80\x29\x7f\xc9\x64\x09\xa7\xb0\xac\x1f\x3a\xf5\x94\x04\xa0\xfa\xf8\xc2\x92\x58\x42\x42\x27\x68\xf5\xd2\x63\xda\xb1\x15\x78\xad\x2e\x21\xda\x43\x18\x5f\x25\x97\x02\x76\x85\x7a\x32\x2c\x70\x3d\xd8\xe1\x26\xd9\xe7\xd6\x83\xd2\x88\x11\x19\x5e\xc3\xca\x26\x01\x03\x40\xb1\x40\x8f\x20\x89\x3f\x00\xaf\xac\x21\xcb\x54\x32\x6a\x05\x1b\xc5\x3f\x5a\x92\xcd\xa3\xb8\x67\x25\xe8\x44\xd0\x0d\xd6\x36\x92\x9d\xd5\xc3\x19\x1f\xd7\x72\x3e\x76\x92\xa5\xf1\x31\x4a\xb0\x00\x33\x90\xa7\xb3\xb0\x62\x1b\xc2\xdf\xd4\x3d\x64\xde\x91\x0d\xe8\xef\x93\x49\x03\x58\x7a\x43\x8f\xbd\x3a\x29\x98\x4a\x77\x90\x5e\x84\xf1\x84\xd7\x0f\xf5\xd2\x41\x68\x27\xb6\x02\x61\x8c\x2d\x17\xe8\x5f\xcf\xae\x7c\xc6\x17\x0b\x2f\x83\x80\x31\x17\x29\x1c\xdc\x0b\xe4\x5c\x0a\xdc\x4b\xbe\x1e\x0b\xe6\x20\xc5\x8b\x93\x58\x78\x14\xf2\x63\x4c\x09\x63\xad\xf8\x2e\x90\x62\x57\x87\x2b\x50\xb0\x2a\xb0\xeb\xc5\x10\x7f\x42\xc7\x90\xdd\x88\xdc\x42\x4a\xb3\x87\x8a\x67\x00\x33\x27\xa9\xc1\xc6\xb4\x83\x62\x08\x07\x89\xc8\xcd\xb0\x6a\xb9\xa4\x95\xad\xe3\xc0\xac\x45\x15\x7c\xca\x10\x6e\xc9\x29\x2d\x10\xb0\x44\xad\x0a\x54\xe5\xea\xdc\x11\xec\x0b\x79\x90\xd4\x8a\x13\xa7\x64\x08\xd4\x59\xce\xc7\x99\x4a\x58\x11\x27\x92\xd3\x2d\x28\x8a\x5c\x18\x33\x0a\xee\x06\x69\xb8\x33\x8a\xb6\x20\x72\x11\xe4\xf8\xb6\x8a\xc0\xd6\xc9\xd2\x83\xa0\x15\x76\x6d\xe4\xef\x51\x98\x4b\xd6\xcb\x57\x10\x44\x48\xbd\xa6\x87\xd9\x1b\xaa\xd9\x5b\x2c\x8c\x23\xed\xcd\x18\x4f\xa5\x08\x53\x55\x22\x09\xfc\x25\x8f\xc3\xa9\xc8\x72\x5b\x95\x32\xa7\x32\x76\x74\x43\x03\x85\x9c\xe2\x90\x54\xe3\x96\x9c\xca\x0f\x3f\x38\x7f\xb7\x0c\x8d\x3b\xf7\x56\x07\x86\x15\xdb\xf4\x8d\x8d\x44\x10\x19\x21\xba\x8d\x75\x80\x87\x46\x50\x92\xcb\xd1\x2a\x33\x08\xdc\xaa\x98\xba\x17\xb7\xef\xdf\x24\x2b\x39\x64\xde\x22\x59\x2c\x17\xde\x97\xba\x66\x1f\x36\xa5\xdc\x84\x50\xd9\x93\x93\xc5\x50\x12\xc5\x85\xc8\x07\x94\xac\x03\xf3\x4a\xc9\x12\x94\x6f\x24\xd3\x81\xb3\x2d\xcc\xd8\x23\xca\xe8\x11\xad\xd5\x99\xf6\x08\x13\xc2\x41\x60\x17\x05\x30\x4f\x16\xf3\x44\x1e\xa8\x29\x9b\x26\x01\x66\x50\xe3\xe3\x96\xcb\xa6\x60\xc2\xa6\xdb\x1a\x30\xbc\x6a\xaa\xbf\x23\x46\x88\x17\x18\x94\x28\xda\xff\x52\x2f\x25\x12\x9b\x88\x20\x9c\xf3\x88\xfd\x4d\xa9\xed\x66\x02\xae\x3f\x5f\x88\xaf\xe1\x15\x79\x92\xcc\x31\x6a\xa2\x75\x70\xcb\x21\x47\xa1\x88\xf3\xd3\xf0\x77\xc7\xea\x64\x92\xcc\x9d\xcb\xe3\x24\x81\xca\x10\xa4\x3d\x8c\x2f\xb0\xd1\x5b\x11\x00\xed\x95\x53\x9b\xa9\x11\x59\x01\x93\xee\x32\x8a\x92\x4e\xf2\x1e\xc3\x68\x91\xf6\x63\xf3\x60\x08\x2b\x77\x1e\xcd\x33\xac\xff\x95\xc3\xc1\xde\xdc\x44\xc1\xc9\x62\x5d\x48\x25\x13\x09\x9d\x72\x14\xb4\x6e\xeb\x2c\x17\xf3\xb2\xac\xae\x44\x89\x67\x67\x2f\x5f\x1c\x27\x01\x24\x7f\xa2\x58\xd8\xf4\x97\x49\xc5\xe3\x00\x0d\x92\xc5\xda\x9e\x9c\xfc\xfb\x54\x55\x38\x4b\x06\xaa\x23\x77\x96\x08\xb2\x98\xe0\x4c\x95\xb7\xc4\xb5\x08\x06\xc9\x7c\xce\xe3\x49\xcd\x93\x10\x3d\x37\xd7\xd9\x34\x4c\xc5\x34\xb9\x1e\xaa\x04\x4f\x16\x1b\x39\xb9\x88\x31\x9f\x7a\x98\xb5\xd8\x68\x54\x95\xb5\x8e\xac\x4a\xe4\xf9\xcc\xf1\x4b\x9a\x26\x29\x05\x11\xd3\x2f\x29\xb8\x37\xe5\x74\xf5\xf3\xc9\x6f\x98\xe9\xde\x58\x28\xb4\x8a\x6f\xe6\x6f\x78\x96\x8b\x4a\x44\x63\x80\x0c\xc8\x52\x83\x91\x22\x10\x9f\xb0\xe3\xd5\x22\xbc\x4a\x72\x71\xc8\x4e\x62\xd4\x24\x88\xad\x11\x4e\x53\x72\xc4\x2d\x71\x9d\x8b\x18\x42\xfc\x88\xf8\x2a\x4c\x93\x18\xd2\x73\x41\xb6\x77\x2f\x8a\x30\xc6\x37\xc5\x8b\x7a\xa4\x3b\x7d\x2b\xf8\xe4\x11\x5b\xe8\xf0\x40\x2d\x26\xa1\x63\x72\x54\x17\x0c\xe6\xc8\x03\x72\xe4\xd1\x8a\xaf\xe1\xf2\x0e\xa9\xc2\x28\x50\x9c\xe2\xbc\x53\x48\xcc\x0e\x3c\x6d\x1c\x25\xc1\x65\xc6\x78\x10\x48\xf1\x5e\x52\x7d\x26\x82\x65\x1a\xe6\x6b\x96\x0a\x9e\x59\xd1\xd4\xee\x40\x5d\x79\xc2\x16\x80\x3c\x89\xa7\xd6\xed\x26\x41\x58\x39\x5b\x06\x81\x10\x13\xf7\x86\x06\x9f\x46\x69\x32\xbf\x17\xf1\xe9\x1d\x57\x45\x83\x00\xf2\x2b\x89\x50\x52\xe1\x4e\x1b\xa4\x82\x24\x9a\x88\x94\x04\xb9\x30\x0e\x92\x34\x15\x90\x55\x9a\xf2\x97\xb9\x34\x6a\xd1\x60\x81\x54\x21\x1e\x9b\xe0\x13\x79\x07\xc3\x61\x83\x3a\x51\x51\x64\xd9\x86\xc8\xa1\xd1\x41\x2a\x30\xd8\x9c\x94\x83\xec\xeb\x68\x71\xb5\x5e\x43\x46\xda\x2f\x0c\xfe\xcc\xd8\x7b\x9e\x86\xc9\x32\xc3\x3f\x05\x3c\x3c\xaa\xfb\x6b\x11\x4a\x49\x15\x8a\x20\x5a\x70\xa1\x44\x45\x0e\xfc\x56\x23\xd9\x2c\x53\xec\x09\x4f\x61\x2f\xc3\xef\xf5\x9b\x60\x8d\x93\xc9\x1a\x73\xb0\xd2\x35\x1c\x0a\x6a\x73\x1e\xa2\x82\xa2\x5e\xbe\xb4\xdb\x64\x80\x50\xcc\x0b\xc1\x44\x4c\xd9\x11\xab\x49\xc6\xd9\x90\x88\x8b\xa4\xf8\x52\x67\x47\x3f\x02\x2f\x85\x0c\xb4\x5a\xc9\xce\x7e\xc2\xc2\x43\x5d\x51\x89\x65\x84\xaa\x23\xa7\xf6\xe7\xcf\xcc\x2a\x97\xa7\x30\x2a\xb7\x55\x21\x6a\xb9\x50\xfa\x17\xe9\x05\xf2\x8f\x65\x26\x52\x2f\xa3\x80\x83\x56\x1e\x34\xa5\x51\xc9\x30\xb4\x9a\xa4\xaf\x0f\x82\xd2\x48\xe4\xfc\x52\xb0\x30\x47\x50\x93\x90\x88\x2b\x8c\xe1\x61\x17\x14\x28\x3c\x63\x59\xbe\x9c\x4e\xd5\x1d\x54\xd2\x5b\x26\x19\x5b\x7c\xa9\xc4\x4e\x4c\xe8\x0a\xc3\x22\x81\xc2\x93\x98\xf5\x0e\x6d\xc4\xab\x9b\xb1\x17\x06\x49\xec\x1d\xca\x51\xd1\xdc\x5b\xb2\xa4\xc1\x1c\xad\xec\x85\xc8\x8f\x79\xce\xdf\xa5\x11\xdd\x18\xb7\xc2\x39\xbf\x10\xd9\x96\xac\xdb\x3c\xe8\x7a\x75\xc8\xdd\xf1\x45\x65\x57\xcd\x49\x13\x61\x41\x85\xa2\x86\xba\xcb\xe9\x4d\x8a\x64\xa2\xb0\xff\x10\xff\x84\xb1\x29\x18\x74\x45\x95\x55\x54\x91\x1c\xdb\xb4\x45\xba\x92\xf7\x3c\xcd\x6a\x37\xeb\x44\x1a\xec\x6f\x1e\xb4\xf5\x0e\x11\xc6\x97\xba\x49\x04\x4b\xf7\x09\xbb\x51\x8d\x06\x4b\x98\x84\xe1\xc5\xad\x24\x0e\xa2\x30\xb8\x2c\x67\x86\x63\x6a\x56\x70\x16\x28\x51\x1b\x33\xdc\x44\x49\x26\x28\xcf\xe7\x53\x23\x15\xc4\x85\x43\x3f\xce\xf2\x74\x19\xe4\x20\x40\x4a\xd1\x83\xd4\x20\x52\xe2\x4a\x45\x90\x98\x53\xfe\x84\xe2\x38\x66\x5a\xf5\x0c\xc1\x29\x31\xc6\xd1\x62\x39\x8e\xc2\x40\xb2\xee\xc9\xd6\x0a\xd2\x75\xce\xc5\x7c\xac\xb6\xb9\x89\xc2\x89\x72\xc7\xc6\x07\x7b\xf3\xea\x67\x3d\xf7\x85\x99\x35\x92\x72\x1b\x12\x9c\x40\x75\x82\xbf\x96\x5b\xa9\xad\x5c\x14\x24\x1d\x89\xd4\x4a\xc8\xa8\x5e\xb9\xf4\x9b\x15\x94\xce\x94\xc8\x55\x21\x3d\xf5\x26\x70\xc0\x9b\xf8\xaf\x66\xb6\x15\xe3\xb9\x65\xf2\x92\x28\xbe\x0a\x01\xb2\xe1\x9d\x90\x60\xa5\x7c\x4b\x45\xf6\x87\x61\x85\x64\x5c\x0e\x92\xde\x26\x3c\xa8\xa3\xda\x8c\xee\x0b\xeb\xe1\x54\xcc\xa2\xe9\x28\xa2\x46\x92\xe4\x73\x0b\xd7\x10\x2b\x51\x13\xd7\x86\xa9\x06\x51\x12\x8b\xf2\x26\x52\x3b\xc3\xe9\xb1\x66\xa6\xdc\xb0\x27\xea\xde\x28\x4e\xe9\x25\x9e\x90\x80\x91\x0f\xed\x85\xd3\xe3\xd6\x81\x9c\x55\x82\x79\x6b\x84\x05\x8a\xb0\x11\x01\xd7\x41\x08\x21\x4f\x29\xde\x51\x6a\xd6\xef\x7f\x1b\x66\x2a\xef\x71\x89\x3d\x53\x09\xa7\x62\x29\x65\x71\x6b\xc3\x7a\xc2\xb7\x8a\x45\x05\xeb\xc5\x70\x5a\x31\x11\x33\xdb\x30\xa3\x68\xe5\x70\x36\x83\x3e\xfd\x8e\xd3\xdc\x04\xf2\x16\xb1\x6e\x9c\xe4\x33\x5d\x97\x98\x92\x4b\x25\x5b\x38\x95\xc6\x8d\x9e\x0e\x95\xc8\x84\x99\x64\xd5\xd8\x54\xd6\xc8\x16\x52\x6d\xac\xb2\x1f\x7e\x70\xb1\xba\x19\xad\x7a\xaf\xd0\xc3\xa9\x8e\xbc\xca\x73\x3b\xe1\x8e\x8d\x8f\xca\x47\x59\x9d\x74\x1a\x35\x09\x98\x4c\x3d\xa4\x77\xb8\x4d\xbc\xc9\x68\x71\x0d\xf4\x0d\xd8\xc8\x93\xd3\xd2\xcb\xae\x83\x0b\xef\xdc\xb4\xb3\xd2\x93\xd3\x7b\x3f\xf3\x1a\xa6\x8c\x06\x01\x09\xcf\xef\x74\x2e\xbd\x4d\x56\x83\x24\xfa\x7e\x27\x13\x8a\xce\xea\x4d\xde\xd1\xa1\x23\x0c\x8c\x10\x28\x40\x7e\xf6\x92\x2b\x91\x4e\xa3\x64\xe5\xb1\x71\xa8\x22\x89\x63\xce\x73\x54\x8a\xe3\x83\x24\xbd\x5b\x82\x66\x5c\x05\x78\x9f\xf1\x8c\x8d\x85\x88\xd9\x9c\x4f\xa0\xf2\x3c\x21\x02\xa5\x90\xf6\xf4\xe0\xae\xd2\x19\xe3\x4b\x3c\x99\xbb\x48\x40\x19\xbe\x4b\x30\x95\x11\x37\xcc\x74\xf6\xa4\x95\x60\x91\xe0\x95\xe0\xc8\xe6\x06\x92\x3c\xf3\x2c\xa7\xe2\x07\x3a\x36\x34\x81\x85\x67\xb3\x8c\x58\x99\x9a\xa4\x9c\x23\xde\xf9\xf0\x9d\x19\xa2\x4c\x13\x78\x39\x7a\x29\x43\x01\xd7\xa5\x61\xa0\x4e\x28\x5a\xe3\x23\x1c\x8f\xd7\x7a\xf2\xf2\x7a\x96\x86\x71\x0e\x1c\xd6\x32\x3d\x0c\x38\x65\x8b\x0f\xd2\xad\x08\xa2\x3e\x42\x54\xfc\x8d\x07\xa4\x5c\x2c\xc9\x23\xe4\xcf\xbb\x1c\x8c\x84\x04\xcb\x88\xe8\x86\x56\x9a\xa3\x24\x8b\xfc\x93\xc6\x81\xce\x9c\x4d\x9f\xd5\x22\xeb\xfd\x25\x31\x86\x44\xa9\xb6\x90\x5c\x6a\xd5\xde\xbd\x5b\x12\xf1\x5a\xfb\x26\x4d\x56\x0d\x1a\x5b\xc3\xe9\xd8\x62\xd5\x72\xb6\x47\x72\xce\x4f\x4d\xee\x5d\x98\xcc\x11\xb5\xd4\xe5\x7a\xd4\x47\xec\xe1\x43\x1b\xda\x26\x49\xc5\xa5\xfe\xbb\xca\x29\x6a\x19\xe4\x6a\x7e\xc5\x52\x00\x11\xfc\xeb\x2c\x87\xc5\xd9\x60\x4f\xfe\x93\x57\xe7\x2b\x24\x26\x9c\x87\x2b\x33\x11\xa9\x6d\x90\x9a\x68\xdd\xc1\xe1\x49\x33\xbe\x8d\x68\xb9\xab\xd4\x84\x0d\x6b\x0a\x2d\x0d\x1b\x1d\x0d\x17\x07\xd5\x42\xd4\x06\x72\xbc\x4d\x84\xa2\x01\x57\x4a\x17\x0a\x37\x77\x15\xa3\x4a\x93\xbf\x4d\x90\xc2\xf5\x87\x33\xbd\x92\x08\xe0\xcb\x66\x4a\x80\xcf\x95\x84\x50\x2d\x65\x15\xd7\xf5\xee\x72\x56\x19\x13\x9b\xc1\x7e\x8b\xac\x95\x26\xab\x2d\xb5\xe6\xb7\x4b\x5a\x25\x7c\xdf\x41\xd6\xaa\x19\xc4\x1b\xcc\x6b\x41\x4b\x61\xde\x41\xbd\xe5\x2c\xc1\x4a\x8b\x50\x58\x85\xca\x27\x83\x3f\x56\x2a\xab\x26\xfc\x9b\x64\xb2\x12\xde\x6e\x95\xca\x6a\x4a\x2c\xc3\xa6\x96\x60\x26\x7b\x77\xc5\x32\x1a\x87\x2a\xdc\x88\x3a\x90\xdb\xea\x95\xb9\xc2\x5c\xdb\xb7\x4f\xd3\x94\xcf\xc5\xff\x31\x0b\xb8\xa9\x6d\xfb\x36\x82\x7c\x3e\x93\x94\x4f\xb5\xc5\x35\xf8\x39\x4f\x79\x60\xf2\x88\x3a\x66\x35\x72\xc1\x39\x83\x64\x6a\x60\x67\xb6\x66\x93\x90\x47\xc9\x45\xd1\x90\x03\x52\xd4\x4b\x41\x2c\xf7\xe8\x15\xc1\x06\xd3\xfc\x11\x5b\xb1\x88\xaf\x45\xda\x62\xec\x2c\xd1\x86\x17\x0c\xde\xf4\x31\xf7\x81\xf0\xa2\x08\xd3\x16\x50\x46\xcf\x00\xd5\xd3\xcd\x1f\xf5\x80\x34\x04\x89\x20\x08\x23\x8f\x3b\x3b\x61\x53\x1e\x84\x51\x28\x05\x40\x3c\x32\x0a\x2d\xf5\x18\x92\x94\x34\x87\xa6\x0e\x7d\x91\x7f\x2f\xe3\x82\xae\xf8\x84\x85\x73\x7e\x81\x4e\x08\x5a\xe0\x86\x8e\xd1\xfc\x92\x65\xe1\x45\x0c\x9a\x31\x78\x32\x20\x1b\x2c\x93\x37\xb4\xe5\x04\xef\xd7\x57\x06\xd2\x4e\x03\xc9\x69\x2d\x33\xbe\xa8\xa9\x11\x17\x58\xa4\x46\xc1\xdf\x5c\xe3\x1e\x7c\x66\x58\x70\x78\x0e\xd3\x95\xf0\x08\xb1\xa5\x95\x65\x1a\xb9\xf9\x43\x65\x41\x9e\xb0\x28\xe1\x9a\xb4\x70\x07\x58\x8d\x40\x04\x20\x7d\xa9\x56\x97\x6b\x01\x47\x7d\x51\xe3\xc7\xe6\x0c\x12\x78\xe8\x80\xe1\xae\x3c\x33\x82\x09\xdb\x9c\x93\x46\xdc\x90\xe3\x69\xd8\x1d\x5a\x07\x98\xaa\xf4\x49\x9e\x46\xf4\xbb\x3e\xa9\x26\xe1\x95\x5d\x0e\x7f\xeb\x8f\x72\x92\x47\x12\xb4\x39\xd8\xb4\xfa\xd7\x9e\xdc\xe7\xcf\xa0\xa4\xa6\x3a\x21\xcc\xe4\x93\x36\x7b\xd4\x07\x26\x26\x78\x4d\x4b\x5f\x48\x45\x3f\x98\xf1\x38\x16\x91\xf9\x6c\x31\xe9\x67\x98\x78\x96\x6a\x5a\xe9\xea\x42\x8d\x75\x07\x49\x16\xdf\x4c\x62\xb2\xc4\xfb\x64\x63\x8e\x0c\x54\xb2\x55\x08\xaf\x35\xa2\x05\x59\x8d\x63\x6e\x6c\x80\x40\x2b\xee\x85\x8b\xa0\x19\xc6\x61\xde\x4c\x2e\xbd\x43\xf3\x2a\xff\x01\x5e\xf9\x95\xe8\x96\x2d\x12\xc9\x77\xf8\x14\xdc\x5c\x21\xcd\x0e\xdc\xf0\xe6\x4c\x35\x07\x5e\x00\xf6\x6c\xd3\x30\x0e\xb3\x99\x7a\xbf\x87\xf9\xcb\xea\x8a\x20\x4f\xe2\x69\xf2\xa9\x56\x7f\xea\x38\x9a\x3c\xb5\x06\xa4\xb7\x64\x18\x4f\x93\xaf\x1c\x95\x03\x63\xd3\xd0\x24\xbf\x9f\x25\x2b\xa4\x4d\xf8\x02\x49\x11\xf9\x5c\x34\x54\x93\x98\xa5\x62\x1c\xca\x5b\xec\x32\xd5\x0f\x2d\x98\x23\x38\xa5\x5b\xa9\x01\x16\xd0\x63\x08\x1b\x8b\x28\x59\x39\x08\x30\xa4\xd1\x02\x4e\xde\x52\xe6\xb0\x47\xcc\x9b\x46\xe2\x5a\x9b\x24\x55\x91\x4b\x6b\x91\xa4\xb9\xdf\x4a\xe2\xb9\x36\xb8\x44\x52\x55\xeb\x8e\xe6\x0d\xb2\xac\xee\xc0\x49\xe2\x17\x09\x9f\x54\xe3\x9a\xde\x51\x14\x6e\xc1\xc5\x33\x12\xad\x28\xb9\xa8\x79\xef\x62\xb4\x6c\x54\xfd\x01\x2d\x02\x62\x0e\xbd\x06\x43\x4a\xaa\x00\xea\xbe\xb2\xc1\x53\x7d\xc6\x02\x78\xec\x93\xe7\x59\x8a\x69\x8e\xc3\xac\xc1\x4e\xd8\xc5\x52\x64\xfa\x79\xf4\x24\x87\x5c\x50\xb1\xa7\xed\x8a\x30\x97\xf8\x02\x8e\xbc\x2c\x17\x31\xe4\x23\x90\x77\xf2\x13\x6f\x4e\xf6\x47\xca\x86\x12\x5f\x13\xdd\xe4\x4f\x33\x91\x0a\x75\xdc\x2c\xd2\x64\xcc\xc7\x11\xe4\x07\xcc\x71\xd5\xb2\x85\xe0\x97\xe6\x81\x28\x4f\x60\x79\x91\x47\x66\x77\xda\x69\x05\x11\xa5\xbc\x8f\x71\xd7\x32\x5c\x01\xcc\x05\x7d\x33\x60\x59\xef\x53\x59\xf2\xd9\xc4\x3e\xc4\x8a\xbd\x74\x4a\x71\x95\xbf\x8a\x7c\x3e\x15\xe8\xe7\x06\x20\xe0\xc2\x60\x75\x45\x9c\xb0\x45\x19\x8f\xc8\xda\x66\x91\x64\x39\xc1\x56\xa9\xec\xff\x26\x19\xcf\xa1\xe1\x36\x5e\x83\xf1\xf4\xe2\xea\x90\x9d\xff\x8d\x7a\x7a\x93\xa4\xf9\xe1\xe6\xbe\x3b\x5f\x3e\x7e\x69\xd8\xc4\x0d\xe7\xc1\xf9\xe6\xfa\x1f\x5d\x21\x58\xd1\xe3\x9c\xaf\x5d\x6a\xbc\x7d\x59\x36\x2f\xf6\x29\xe4\xc5\x73\x64\x19\x60\x38\x96\xdd\xfb\xdd\x58\x78\x89\x41\x96\x29\x01\x5f\xed\x2e\x44\xde\x0b\x02\xb1\xc8\x5f\xf0\xf8\x62\x29\x4f\x8a\x9a\xae\x17\xa9\x22\x63\xaf\x05\x13\xb4\x97\xc3\xe5\xae\x5e\x83\x9d\x5b\xd9\x9b\xb9\x0b\xf9\x90\x69\x88\x96\x25\xf0\x34\x49\x05\x9a\xb5\x0d\x92\x28\x49\x0f\x0b\x47\xb0\x1c\xe1\xc8\xad\x52\xab\x5b\xcd\x8d\x55\xdc\xc6\xe6\x7d\xb7\x8a\xd3\x1c\x95\x77\x1b\x9b\x0e\xcc\x67\xa7\xd9\x34\x41\x0b\xac\xea\xd1\xe2\xb7\x52\x83\x11\x9f\x87\xd1\x7a\x53\x13\xfc\x5a\x98\x5b\x26\xde\xbd\x7d\x71\x68\xd6\xea\xdd\xdb\x17\x35\x6f\xcb\xab\x5b\xd7\x8f\x2f\x1f\xf5\x1f\xca\xec\xcc\xda\x7f\x2e\xd1\xbe\xcb\x44\xca\xe0\xd9\x94\x14\xaa\xf0\x20\x2a\x19\x61\x0e\x46\xbf\x46\xac\x82\x6c\xfd\xa9\x16\x4d\x37\x13\xf4\x40\x42\x18\x20\xc8\x4d\xfc\x46\x3f\xbb\x3a\xfb\x27\xc9\x48\xc8\xbd\x95\x9a\x71\x94\x25\xd8\xf8\x44\x5d\x90\x94\x3e\x7f\x66\xc5\xb2\x16\x72\xe2\x57\xc9\x44\xd4\x0b\x87\x4c\x59\xd4\xb2\x2a\xb7\x52\x31\x4f\xae\xc4\x60\x16\x46\x88\x4d\xab\x9a\x61\x59\x84\x02\x35\xbd\x6f\xe4\x0f\x83\x8a\xa9\x16\x18\x04\xe3\xf7\xe7\x07\xd6\x96\xb5\x81\xc7\x28\x9b\xa4\x17\x57\x45\x8c\x16\x58\x20\xd9\x00\x80\x59\x8d\x3c\x2b\x86\x69\x9a\xa4\x35\x4f\x81\x0c\xb0\x9a\x36\xe6\x15\x39\x5b\x2e\x5a\x5e\xdd\x20\xb8\x9a\xfd\xdb\x9c\x84\x38\xba\x19\xd2\x21\xfc\xff\xa5\xa0\x17\x53\x02\xd6\xbb\x13\xba\x07\xd8\x04\xa4\xfc\x05\xe8\xb4\xcc\xd2\x40\x0d\x49\x5e\x3b\x04\x39\x24\x91\x71\x16\x1a\x9a\x6a\xb7\x80\x1b\xd9\xe9\x0c\x34\x53\x05\xfa\x03\x47\x58\x11\x4d\xe9\x00\x7c\xea\x5a\xd0\x2f\x72\x42\x2f\x49\x46\xef\x79\xb4\x74\x8c\xbc\xe5\x57\x79\x13\x92\x20\xd4\x35\xa1\xe0\x2e\x6d\x7f\x3a\x97\xf5\x3f\x3e\x7d\xe0\x18\x57\x59\xa0\x9f\xda\x16\x1f\xc5\x61\x81\xf9\x7e\x61\xa7\x18\xed\x50\xd5\x46\x51\x32\x3d\xc9\x71\x02\x17\x1c\xef\x53\x3c\x4a\x05\x9f\xac\xd9\x55\x98\x85\xe3\x88\xec\xb8\x5c\xc9\x8d\xc6\x31\x13\x7c\x22\x52\x6d\x97\xe9\xf9\xdd\x85\x94\x4d\x95\x8d\x50\x78\x45\xd6\x07\x15\xc6\xad\x35\x7d\xdb\x32\xd6\x21\xea\x89\x56\x22\xd7\x83\x3f\xbc\x06\xeb\xee\xa0\xbd\x2d\xf6\x47\x3d\x41\x0d\xfc\xcb\x6b\xb0\x9d\x7d\x53\x25\xc2\x3c\xf3\x35\xea\x9c\xde\xe0\x9a\x8c\x3c\x9c\xb7\xd0\xd3\x1c\xcc\x66\x92\x85\x5d\x91\x60\x37\xb5\x11\x00\x54\x55\x53\x51\x76\x77\x47\x45\xf6\xae\xbe\x7c\xd2\x75\x35\xc2\x55\x65\xe7\xa2\xa7\x6d\x71\x02\xb0\x2b\x1b\xe2\xb5\xb6\xe6\x4d\xc2\x2b\x44\xb4\xae\x4d\xa2\x7f\x90\x65\xe0\x1c\x75\xc4\x94\x70\xe4\xa9\x1c\xcc\x87\x8c\x8f\x21\x45\xad\x78\x6a\x74\x56\x1e\xdd\x15\x0e\x59\x9c\xc4\xce\x07\x79\x73\x68\xa2\x18\x0b\x8d\x49\x47\x6b\xd5\xc8\x93\xc5\x21\xf3\xdb\xff\x6e\x97\x49\x84\x1e\xb2\x1d\xa7\x0c\x90\x79\xc8\x0e\xdc\x9a\x88\xb8\x43\xb6\xef\x16\xcf\xc3\xb8\xa9\x3e\x75\x0a\x9f\xf8\x75\x73\x43\xab\x71\x72\xdd\xcc\x66\x7c\x92\xac\x0e\x59\x9b\xb5\x59\x67\x71\x6d\xb4\x75\x37\x8b\x0f\xec\x09\xf3\x5c\x50\xe9\x44\xa4\x87\xf7\x05\xc1\xb2\x24\x0a\x27\x4f\x89\xcd\xc9\x2d\x06\xca\x5d\xcb\x6e\xf1\x15\x64\x8f\xd4\x0a\x0b\xfb\xb4\x6d\xb0\x2c\x61\xb1\xfb\x5d\x79\x61\xc2\xa6\xa1\x2c\xc7\x2d\xed\x59\x40\xc5\x77\xa0\x10\x46\x75\x37\x12\x88\x4d\x04\x72\xd1\x9f\xda\x1a\x4d\x8f\x92\x1f\x37\x49\x08\xc7\x2a\x4d\x11\x4f\xdc\x6a\x6a\x5d\x24\xc6\x9c\x7d\xee\x62\x57\xe2\x57\x0b\x60\xcd\x00\x25\xad\xaf\x5b\x28\xc6\xbc\x1b\xdb\x97\x04\xbd\x72\x7b\x29\x87\x35\x33\x90\xdc\x24\x2f\xaa\xf8\x38\x25\x29\x6d\xd3\x10\x8d\xa4\x46\xb8\x36\xfb\x11\x54\x70\x13\x94\x17\x10\x23\x75\xe2\xd7\x72\xfd\x48\xca\xba\xd3\xfa\x61\xdd\x56\x26\xf2\x5e\x4e\x59\x46\x6b\x5e\x9a\x44\xe0\x76\x8d\x1f\x8b\x55\x37\x2f\xf5\x9c\xa7\x17\x61\xdc\x84\xbd\xdb\xdc\x2e\x4e\x9a\xbe\xa6\xb8\x98\xa5\xcf\x28\x20\x1f\xb2\x45\x02\xba\xdb\xa7\x85\x6e\x73\x71\x9d\x0f\x90\x4e\xc8\xd5\x91\x77\xa6\x9e\x53\x85\x4f\x26\x43\x79\x5f\x7d\x41\x37\xef\x9a\x07\x12\xa8\xd7\x70\xe4\x27\x25\x42\xba\xb2\xab\x45\xcb\x36\x72\x11\x72\xdd\x39\x6a\xe8\xcc\x3f\x2a\xaa\xd4\x36\x61\x1b\x6b\x78\x64\xec\x08\x07\x7e\x12\x47\x78\x3d\xb3\xb4\x1d\xc5\xcb\x2c\x55\xdd\xc8\x7a\x37\xed\x2b\x60\xae\x87\xcc\xaf\xe0\x92\xe0\x32\xec\x00\x77\x96\x3d\x4b\x03\x85\xab\x65\x1a\xdd\x50\x4f\xf0\x79\x24\xb2\x4c\x56\x4e\x97\xa2\x70\x56\xd8\xe8\xc3\xe6\x96\x74\x26\x4f\x59\xa7\x86\x6e\x77\xa7\x97\x8c\x4b\xb1\x46\xe7\x87\xff\x3b\x8f\x19\x28\x90\x3c\x57\x13\x7b\x2e\xd6\x2f\xf9\xc2\x7e\xdc\x50\x9f\x94\xf6\x4e\x89\x9f\x83\x24\xc6\x5c\x95\x49\xfc\x5c\xac\x1f\xa3\xaa\x06\xd3\x9d\xa2\x87\xa8\xfc\xf2\xfe\xec\xb9\x58\x67\x79\x9a\x5c\x0a\x75\xeb\xe2\x59\x96\x04\x21\xcf\x31\x55\xbb\xab\x73\xb7\xd4\xeb\x78\x09\x10\xf0\x6c\x71\xc8\xce\xff\xeb\x6c\xf8\xf6\xe5\x47\xc6\x25\xf6\xc8\xd3\x1a\xe6\x7a\x95\xb7\x7e\x2b\x79\x0b\x54\x29\xf2\x0b\x5d\x58\xc3\x50\xef\xe3\x61\xc6\xf4\xfa\x5a\x22\xb2\x9e\x7f\x85\x72\xdd\x04\xf5\x33\x4f\x05\x57\x39\x3e\xfe\x2c\x52\x41\xe1\xe5\x1c\xe6\xea\x68\xda\x4d\x63\xed\xdb\x21\xbc\x54\x7b\xe1\x44\x6b\x16\xf0\x45\x8e\x5e\xbc\x6a\x6c\x0a\xd1\xd3\xc4\x00\x57\xdf\x68\xcf\x1b\x3d\xb9\xd5\x81\x6c\xa5\xd6\x30\xc3\xb8\x79\x26\x91\x39\x20\x53\x2b\x6f\xc3\x94\x8d\x81\x98\x94\x62\x36\x6b\xb0\x8c\x5f\xc9\x15\x93\xe0\xb2\x04\x95\xc2\x48\x7a\x6c\x19\xc3\x23\x25\x78\x1c\x53\xce\x66\x79\x9b\x74\x58\x61\x03\x1f\x70\x28\x22\xd9\x44\x0f\x5c\x8d\xe7\x93\xce\x30\xc3\xd8\xb9\x07\xf6\xcc\xc9\x32\x37\x9c\x73\x24\x4b\x5e\x2f\x73\x9b\x49\x7d\x6c\xe8\x06\x97\x62\x3d\x49\x56\xb1\xa9\xff\x5c\xac\x8f\x93\x55\xbc\xb9\xfa\x22\x25\x06\xa2\xeb\xbf\x91\x25\x9b\x1b\x2c\x17\x4e\xed\x77\x8b\x0d\x55\xe5\x39\x71\x12\x2f\xec\xc1\x9f\xa9\x22\xa7\xc9\x03\xc6\xf0\x92\x03\xfb\x8c\xd1\x85\x4e\xf9\x5f\x5d\x8a\x35\x9b\xf3\x05\x08\x45\x8f\xb7\xac\x75\x7e\xc9\x17\xa4\xc6\xac\xdc\xb9\x8a\x7f\xab\x16\xb2\xc3\x30\xbe\xc8\xaa\xdb\xf4\xe9\xab\xd5\x4a\x8f\x46\xca\xcc\x87\xec\x38\xcc\x20\x68\x23\x8f\xd7\xac\x17\xe5\x3f\xa7\x2c\x15\x11\xec\x9a\xf9\x32\xbe\x50\x5e\xc3\x8f\x59\x90\xa7\x51\x93\x47\xf9\x21\xeb\x41\x0a\x5b\x36\xc8\xd3\xe8\x49\x2f\xca\xd9\x5c\xf0\x38\xc3\xb6\x54\x57\xca\xd1\x4e\x5d\xb8\xa9\x54\xd7\x05\x96\xe9\x54\x46\x86\x5b\x59\x5b\xe3\x89\xcb\xb2\x97\x92\x8d\x2a\x27\x68\x77\x6e\x27\x53\x38\x39\x1a\xec\x74\x16\x4e\xf3\xe6\x49\x9c\x89\x94\x9e\x3d\xa7\x10\x69\x64\x06\x0f\xaf\x4a\xed\xa0\x5c\x98\x20\x23\x35\x78\xf4\xb4\x34\x1c\x90\x84\x21\xe3\xbe\x5c\x33\x62\x75\x00\x69\x0c\x7a\x75\x6d\x83\x37\x4b\xc0\xba\xcd\x1e\x66\x26\x7b\xc7\xce\xd1\xff\xeb\x88\x22\xdb\x56\x8e\x75\x96\xcc\xc5\x96\x00\x23\xe3\x28\xd2\x81\x2c\x9d\x67\xe5\x0c\x42\x1b\x8c\x79\x8a\x11\x56\x24\x78\xdd\x0c\xa1\x41\x5b\xf5\xdc\xc3\xde\x9f\xc9\x41\xcb\xf3\x26\x6b\x31\x3d\x1b\x7c\xbf\xd1\xdd\x65\xa0\xab\x7d\x7f\x06\xe7\x52\x86\xb6\x43\x12\x94\x0b\x9e\xfa\xce\x0a\x53\x94\x9f\xe5\x11\x80\x41\x17\xac\xac\xbe\xd6\x0c\x4f\xe1\xaa\x9d\x31\x3e\x4e\xae\x44\x83\x5c\x99\xe0\xae\xb0\xe0\x17\x82\x2d\x17\x5b\xf0\x53\xee\xf0\x02\x74\x59\x7e\x1b\x74\x8d\x3f\x49\x91\xcd\x37\xd1\x32\xdb\x7a\x19\xc6\xcb\x6c\xeb\x2f\x22\x4d\x14\x1a\x33\x88\xa0\x52\x5a\x55\x68\x82\x34\x72\x63\x43\xaa\x09\x9f\x09\x5f\xbf\x7e\x6a\x20\x34\xd3\x2d\xb4\x9b\x24\x3a\x98\xa2\x3b\x17\xb9\x83\x64\x35\x00\x22\xab\xfe\x25\x49\xe6\x95\x14\x01\x5b\x6b\x80\x41\x54\x32\x70\x6b\x83\xf9\x51\xbf\x03\x49\x70\x92\xd8\xe4\x17\xe3\xda\x45\xcd\x60\x32\x4f\x06\x95\x95\x11\x8c\x01\x6b\x35\x76\x46\x39\x00\x6f\xd1\x4a\x64\x43\x1f\xef\x71\x8f\x94\x87\xf6\xfe\x0e\x43\x7b\x5f\x59\x19\xc1\x18\xb0\x9b\x86\xf6\x5e\xed\xa3\x8a\xb1\x0d\x21\x24\xcb\xd6\x44\x71\xb4\xc5\x22\x52\xe1\x54\xe4\x81\xc0\x27\x08\x4f\xf1\xe2\x30\x23\x4b\x04\x32\x9e\xe6\x6b\x16\x2f\xe7\x22\x0d\x03\xd8\xe8\x70\x7c\xc2\xfe\xd6\x0f\xce\x96\xf4\xe0\x30\x23\xd3\xd1\x73\xe8\xe7\x4e\xc3\x03\x51\xc9\x1a\xa2\x36\xbe\x9d\x88\x5b\xc7\x49\x75\xbf\x7a\x98\xf8\x18\x70\xcb\x76\x02\xc6\x28\x65\x03\x88\xe8\x44\x31\x5a\x80\xb3\xf4\x4f\x59\xcd\xfb\xe5\xba\xbd\xef\x35\x18\xbf\xe4\xec\xd7\x67\xf5\x16\xc3\x84\xfd\xab\x30\x13\x08\xc7\x6d\x2e\x8f\x3b\x1b\x84\xf7\xcb\xf5\xde\xd4\x2b\x8c\x50\x57\x87\xd7\xa3\xbe\x6e\x5c\x39\x4e\x8c\x67\x16\x24\x13\x0c\xa7\x04\x2a\x50\xc9\x52\x26\x3c\xe7\xb7\xf1\x65\x6d\xa6\x3c\x54\x00\x8e\x98\xb7\xcc\xa7\xcd\xfd\xc2\x39\x72\x2a\x72\x93\xf7\x1c\x3c\x0a\x73\x8e\x73\x01\x1a\xe6\x2c\x12\x1c\xda\x8b\x2c\xe0\x0b\xc1\x92\x54\x6e\xfe\x42\x6f\xb2\x11\xcc\x68\x88\x95\xaa\xb6\xbc\xdd\x91\xac\xdf\x7c\x8f\x81\x03\x94\xc9\x78\x52\x35\x0d\xf9\xf1\xa5\xc8\xf9\xfb\x6a\x2e\xa2\x18\x98\x52\x34\xf3\x08\xc5\x0e\xb0\x2e\x97\x62\x99\xb3\x21\x68\x0a\x2d\xfc\x47\xfa\xf9\x98\x0d\x4f\x07\x10\xfc\x28\xbc\xa6\xad\x8c\x61\xad\x5b\xaa\x5e\x6f\x32\x61\x7e\x67\x5f\x21\x7b\x19\xc3\xa9\x21\x26\x56\x40\x56\x9e\x49\x41\xfe\x9a\x22\x71\x01\x0c\x3a\x70\x9b\x97\x62\xdd\x6a\xb1\x0f\x3c\xcc\xb5\xea\x48\xc9\x6e\x24\xd0\xc2\x39\x27\x04\x5b\x29\x03\x60\x75\x56\x67\x7c\x9d\x29\x70\xee\xbf\x1a\xec\x99\x15\x38\x3e\xae\x92\xf4\x92\xad\x44\x14\xc9\xdb\xc9\x22\xe2\x39\xc4\x18\xa6\x20\x2c\x16\xb8\x4a\x40\x6c\x21\x52\xac\xcf\xb5\x77\x25\x37\x49\x12\x20\xc0\x19\x07\x8f\xcb\xbf\x2e\xe5\x85\x25\x6b\xd5\x8b\x3b\x97\x9c\x31\x31\xe2\xd4\x9c\xe7\x60\x1a\x0f\xa2\xb2\x6c\x18\x66\x6c\x12\x66\x79\x18\x07\xb4\x7d\x81\xbe\x6a\x3c\xca\x4f\x60\x61\x59\x98\x21\x2c\x64\x87\xf5\x92\x10\x04\x64\xf5\x41\xa2\xe6\x88\x79\xb8\x80\xb7\x50\xb0\x22\x02\x1e\xc8\xbb\x5c\x06\x4f\x30\x48\xd3\x0d\xdb\x79\x78\x91\x26\x93\x25\x84\xef\x86\xe5\x26\x19\xd0\x89\xe4\xad\xe7\x99\x2e\xe1\xfd\x06\x23\x62\x35\x94\x88\x01\x81\xcd\xb0\x44\x5e\x55\x64\x01\x5f\xe6\x09\x86\x3f\x31\xd6\xbe\x6a\x4d\xca\x02\x1e\xa1\xe0\x16\x26\x95\x82\x99\x65\x42\x61\x55\xd8\xf1\xf0\x05\x4c\x8f\xee\x50\x3a\xc8\x1c\x60\x97\x47\x79\xd3\xb0\xa4\x24\xa6\x7d\x82\x81\x3d\x5e\x9f\xb2\x2b\x32\x2e\xe2\x00\x5c\xc3\x02\x72\xb4\x67\x6c\xb4\x73\x87\xac\x47\x16\x7b\xe1\x1c\xc3\xcf\xa5\xa1\x5c\xef\x86\x9c\x9a\x06\xdc\x28\xf4\x1c\x66\x52\xf4\x5f\x08\x92\xb3\xf2\x44\x76\xd5\x62\xa7\xb2\xf6\x32\x93\x14\x32\xe7\x6b\x29\x5e\xce\xf8\x62\xb1\x36\xd7\x57\x34\xf4\x00\x53\x5b\x5d\x65\x9a\x2e\xb3\x3c\xc5\xdb\x36\x53\x61\xf5\xc2\xdc\xcb\x58\x38\x5f\x24\x19\x3c\x6b\x00\x7e\x12\xe4\x2b\x7a\x14\x2d\x40\x22\xf9\x13\xd3\xe2\x65\x78\x4b\x96\xfb\x9d\x84\x9b\x15\x7c\x07\x8c\x84\xc1\x25\xec\x72\xb9\x99\x5c\x0c\xe1\x7e\x2d\xa3\xf8\x50\xe3\xd8\x29\x6e\x48\xa8\x24\xa7\x0a\x87\x28\x2f\x12\x10\x02\x1b\x28\xa0\x5e\x88\x9c\x71\xd5\x07\x0a\xde\xf6\x1c\xc9\x21\x47\x2d\x32\x6e\xa7\x38\xc9\x71\xbd\xc4\xa4\x05\xea\x85\x59\x9e\x2f\xb2\xc3\xad\xad\x20\x1d\x2f\x2f\x5a\x41\x32\xdf\xf2\xf7\x76\x76\xfc\x36\x2b\x13\x9c\x3e\x70\x90\xf2\x6e\x39\x7f\xde\x11\x5f\xbe\x14\x62\xc1\xf2\x94\x07\x97\xca\x34\x54\x5d\xf1\xe4\xa4\xe1\xac\xc8\x21\x14\x93\xf6\x28\x8a\x45\x20\xb2\x0c\x72\xae\x24\xa9\x39\x2c\x6f\x1a\x81\x09\x3f\x87\x42\x34\xb0\x45\xc5\x31\xf5\x65\x08\x61\x99\xba\x60\xee\x89\x76\xa6\x9c\x8d\xc3\x7c\xce\x17\x48\x4c\xc8\xfe\xc6\x61\xce\xd4\xfb\x4a\xc6\x20\xe6\x40\xb6\x48\xe2\x89\x65\xbe\xf5\x98\x3d\x8a\x12\x94\x19\x1e\x49\x9e\xb0\x10\x69\xbe\x56\xf3\xd4\xfb\xac\x8c\x4a\x75\xdd\x16\x13\x1d\xc4\xb9\x42\x5e\xd7\x1b\x6f\x2e\x26\x21\x47\x71\x46\xdd\xac\x70\x83\xd0\x50\xc2\x94\x8d\x00\x95\xe2\xaf\xcb\xf0\x8a\x47\xba\x4f\x36\x6c\x5d\xb4\xd8\x23\x89\xa8\x47\x15\x4d\x47\x7e\xcb\x16\xf6\xb1\x3f\x32\x7e\x05\x63\x24\x75\xab\x2b\x9d\xd8\x93\x90\xcb\x7b\x47\x2f\x15\x23\xf9\xb3\x9a\x04\x9e\x25\x11\x19\xb9\x2c\x52\x71\x05\x21\x10\x34\xbf\x9f\x32\x87\x3d\x03\xcb\x3f\x1e\x0e\x4e\x87\x67\x0c\x92\x98\xa3\x67\xd9\xa4\x05\x2e\x5f\x08\xee\x78\x38\x78\x7b\xea\x7e\x6e\xb8\x50\xb4\x28\x38\x01\xd1\x4a\xfb\x05\xa0\x5a\x07\x56\x9a\xee\xf6\x4b\xd0\xd6\x24\xcb\x92\xc8\x40\x03\xed\x59\x60\x2b\xad\x2e\x4f\x29\xf2\x3b\x20\x0a\x82\x48\xa0\xc0\x39\x80\x3b\x22\x04\x2e\xd4\x0a\xab\x88\xaf\xb1\xa7\x92\x4e\x4d\xfe\xd2\x0b\xec\xb0\x01\x46\x3c\x91\xf7\x70\x39\x1c\x11\xe7\xc7\xea\x70\x95\x87\x7d\x9e\x2c\xde\xa4\xc9\x82\x5f\xd8\x91\x10\x51\x77\x67\xc9\x04\x74\xc7\x42\x58\xc2\xb9\x2c\x0c\x7a\xaf\x06\x43\x6d\x6b\x42\xca\xf2\x78\x39\xaf\x79\xf8\xc5\xab\x37\x0a\x92\xa4\xe4\x79\xea\xa8\xb7\x43\x29\x18\x73\xee\xc0\x89\xca\x28\xc5\x16\xb8\x4e\x43\x4c\x26\xd4\xc8\x22\x2c\x15\x3c\x49\xb5\x20\x85\x5b\x41\x7d\xa0\xfd\x0c\x40\xdf\x90\x86\x31\x26\xce\x80\x43\x58\x83\xb2\xb3\xa7\x6c\xd0\x36\x38\x63\x48\x62\xa1\x76\xe6\x3c\x99\x84\xd3\x50\x49\x35\x38\x94\xac\x51\x08\x2f\x2a\x81\xd2\xac\x29\x54\x87\x1c\xb9\x1e\x38\x98\x8e\xd6\xe8\x08\x59\xd7\x35\x1f\xc7\xb8\xfd\x61\xee\xc8\x8e\x4d\x75\x98\x10\x10\x25\x11\x61\x64\x5f\x0a\x52\x31\x38\x3d\x69\x50\x98\x20\xfa\xaa\x26\xc6\xc1\x6b\x4d\x1d\x61\x8c\xa1\xc3\x25\xf8\x66\x3a\xf3\x31\x11\x46\xa4\xe8\x32\x11\x59\x90\x86\x63\x9c\xbd\x52\x20\x2b\x83\x6c\x0c\x9a\xa9\xc0\xa9\xbc\x24\xf2\xd3\xa3\x37\x83\xe6\x29\xe8\xd9\x47\xca\xc4\x41\x6e\xf1\x47\x2c\xc3\xd7\xe2\xea\x89\x29\x75\x0c\x09\xd0\xf2\x98\xd2\x8b\x2b\xcb\x36\x2c\xa9\x89\x5e\xaa\x07\xa3\x5a\x2d\x17\x0b\x91\x82\x61\x2f\x05\x34\x56\x03\x34\x32\xf4\xa5\x58\x07\x1c\x42\xc1\x91\x93\x81\x06\xd2\xdd\x61\x35\x4c\xdb\xe2\xfd\x87\x57\x07\x98\x07\xbb\xba\xe8\x93\x57\xa7\x33\xf4\xa6\x8e\x34\xb0\x52\x87\x73\xd0\x73\x74\x77\x30\x58\x6e\x9c\xab\x83\x64\xce\x2f\x45\xc6\xbc\x5f\xff\xc3\xd3\xb7\xb8\x76\xdb\x33\x1a\x23\xc6\x98\xf7\xeb\x27\xf3\xd1\x9f\x7a\x2d\xc6\x6a\xaf\x12\xe5\x37\x2b\x69\x74\x16\x5e\xa0\x30\xca\x73\xd6\xbe\xf6\xa7\xb2\x93\xf6\x75\xa7\x6d\x4e\x48\xb3\x6e\xb0\x92\x69\x96\x5b\x18\xc5\x29\x42\x80\x5e\x47\xdc\x36\x4b\x65\xdd\x73\xee\xbd\x4c\x80\x35\xa7\x7f\x0c\x05\xac\x8e\x76\x3b\xd1\x98\x42\xda\x72\xc1\xc6\x6b\x79\x09\x2a\x53\xce\x1c\x85\x78\x33\x8e\x20\x89\xa7\xe1\xc5\x32\xc5\xf3\x29\xa3\x4b\x16\x4a\xee\x0d\x40\xd9\xd8\x73\xf6\xbb\x1e\x0b\x85\x40\x2d\xef\x54\xc3\xbc\x84\x75\xe5\x3f\x1e\x8e\x7a\xef\x5e\x9c\x55\x71\x41\xfa\x54\x64\x83\x03\x74\xd8\x75\xa3\xc3\x26\x2c\x59\xe4\xf2\x1c\x81\x40\xc9\xea\x2c\x70\x4e\x7f\x73\x6f\x88\xf0\xf0\xb3\xee\xff\x74\x57\x9b\x08\x60\x38\xf9\x4c\xf3\x0d\x39\xc4\x37\xbd\xd3\xd3\xaa\xf1\xc9\xf2\xe2\xe0\x48\x83\x6b\x08\x02\x63\x4a\x49\x69\xc5\xac\x89\x91\x4b\x06\x7c\xd1\x30\x77\x0c\x81\x8a\xd8\xe7\x62\xdd\x32\xba\x03\x39\x7e\x85\x68\xba\x0e\x23\x17\xa5\xa7\x05\x7c\x2c\x11\x2d\xf7\x88\xaa\xd5\x55\x23\x62\xd2\xca\xe2\x4a\x2f\xfc\x49\x4e\x87\xf7\x74\x19\x91\x77\x3b\xb1\xaf\x89\xba\x78\x41\xd0\x57\x94\xc1\xc2\x9c\x49\x31\x29\xce\x43\xc8\xe8\x92\xe5\x69\xb8\xc8\xcc\xe6\xd4\x8c\x0f\x73\xbd\xd1\x58\xd4\x12\x98\xc8\x5b\xc9\x9c\xa5\x82\x63\x58\x49\x3a\x20\x2e\xd5\x6c\x25\xaa\x4f\xcf\xde\x9e\xbc\xa9\xc2\x35\x7c\xf0\xea\xf6\xc9\x0f\x3a\x11\x61\x9c\xe2\x78\x10\x24\xe9\xc4\x82\xec\x49\xb2\x6d\x2a\xdd\x8b\x1d\x1b\xb9\x52\x04\xb0\xdc\xff\x10\x72\x55\xe2\x0f\x63\xd6\x55\x56\xcd\x68\xdd\x8c\x93\x3c\xc5\x79\x74\x6b\x5d\xe5\x04\xfd\xdd\xd9\x68\x1f\xc0\x3e\x75\x03\xfc\xbb\x26\x9b\xf0\xe8\x26\x4a\x4f\x6e\xf6\x01\x6b\xbd\x1f\xd2\xdb\x9d\xe3\xbb\x65\x2e\x4c\x96\xc2\x8d\x29\xc8\x1a\xa2\xbc\x7b\x06\xf8\x90\x4a\xb1\x97\x95\x2f\x14\x04\x10\x50\xca\x7e\xb8\xb6\x98\xb3\x38\x4c\x8b\xfa\x86\x24\x65\xe3\xe5\x98\xee\x72\x14\xa6\x0d\x47\xa5\x1f\x47\xdf\xf0\x2c\x83\xf5\xc2\xfb\xb6\x09\x26\x17\x45\xe6\x09\xcf\x19\xaf\x7e\x2d\xac\x8a\xc6\x46\x4f\x8d\x5f\x34\x20\xe7\x15\x73\x96\x64\x42\x63\x6d\xa6\xe2\xcf\x06\x34\xfb\x06\x93\x17\x1b\xd4\xa7\xa8\xcb\xbf\xad\xf7\xbc\xe9\x19\xd6\xa2\x17\x1a\x73\xd5\x03\x2d\x0d\xc4\x10\x8f\x1a\xd9\xd1\x51\xf5\x8b\xa9\x4d\x3b\xda\xca\x49\x35\x52\x06\x84\xd5\x8d\xd0\x0c\xc3\x1d\x0b\x84\xcc\xac\x6f\xcc\x4e\xe3\xbe\x7d\xea\x9c\x20\xa1\x49\x05\x02\x76\x50\xe4\x2e\x73\x54\xa8\x7f\x1e\x7e\x34\xf9\x2f\x9c\x99\xca\x7f\x8a\x1a\x4b\xd6\x28\xd4\xfe\xbc\xfd\xb1\xa1\x40\x9f\xfb\x1f\xab\x43\x81\x56\x4e\xb7\x55\xf1\xb0\x7b\x0b\x54\x65\xb7\xb2\xe9\x95\x9a\x06\xeb\xa6\x27\x22\x4a\x70\x77\x9f\x22\x1e\x67\x97\x01\xf1\xf2\x28\x22\x0d\xa6\x0e\xf2\x9a\xc8\xcb\x28\x04\x28\xb3\x94\x3d\x2a\x46\xc5\x2d\x54\xa5\xf7\x42\x15\x5d\x59\xb6\xde\x1b\x56\xbc\xec\xd1\x62\x3d\x00\xd3\x50\xd4\x1c\x3e\xc0\x63\x3f\xe4\xaa\x0b\x72\xcc\xd9\x05\x6e\x3c\xa4\x3a\x40\x87\x2d\x21\xef\xa6\xe3\x65\xce\x56\x82\x4d\x12\x65\x45\xf1\x92\x07\x4a\x96\x95\xa2\x1b\xb8\x79\xc2\x89\xe1\x7a\x95\xf2\xc5\x82\x74\xd1\xd9\x3a\xce\x67\x22\xa7\xd7\x0b\xb8\x67\x80\x62\x0c\x6f\xbd\xb7\xe0\xc4\x7e\xc3\xae\x70\x95\x03\x6b\x6a\xf2\x6e\x2a\xee\x23\x72\x9f\xcb\x16\x51\x98\xd7\x3c\xaf\xde\x9a\x26\xe9\x90\x07\xb3\x9a\xcb\xa0\x1d\x53\x11\xf3\x4c\xae\x2b\xd4\x37\xa0\x56\x69\x12\x2c\xcc\xde\x38\x0f\xfd\xd0\x5f\x31\x0d\x95\x20\x4a\xdb\xaf\x4a\xe2\x39\x62\xe8\xdb\xd9\x92\xa7\xe8\x80\x12\xd3\xd4\x44\x0b\x84\x51\x63\x6b\x9b\xac\x44\xfa\x1c\xaa\xcb\x83\x35\x4f\x5e\xc8\x82\x01\x57\x41\xd8\x24\x86\x6a\x02\x9e\xa8\x64\xad\xcf\x9f\x99\x00\xbd\xff\x73\xb1\xae\x4b\xf6\x52\x33\x00\x8e\x98\x17\x78\xb2\x86\x53\x74\xe5\xd5\x2d\x73\xcb\xd7\x31\x46\x28\x15\x46\x01\xc9\x6a\x92\x8e\xe4\x9f\x52\x98\xac\xd3\xa6\x81\x47\x82\x69\x28\x4f\x1c\xc8\xdb\x9b\x2c\xd6\x5b\xe6\x01\x5b\x82\x7a\x21\x20\xc9\x82\xf3\xec\xad\xee\xb1\xea\x90\x51\xfb\x6a\x2c\x66\xfc\x2a\x4c\xd2\x96\xb3\xc8\x56\x88\x66\x41\xca\x1d\xcd\x31\x5d\x1d\xf4\x11\xf3\x2c\xcd\xbe\x27\x6b\x09\x9d\xec\x07\xd2\x20\xda\xa1\x30\x21\xb9\xe3\x45\x92\x33\xd4\x46\x09\x88\x18\x03\xba\x41\xf9\xb7\xb8\x5e\x50\x9c\xec\xc2\xce\x27\xd5\x0d\x8f\x15\x20\x5b\x05\x0f\x1b\x29\xcc\xd9\x24\x9c\xc4\x5e\x2e\xf7\x53\x98\xd3\x55\x68\x25\x28\x8c\xe9\x58\x60\x98\x09\xf6\xfa\x54\x25\x26\xd5\xa0\x62\x95\xd8\x81\x9d\xbc\x1c\x52\xa8\x56\x15\x27\x07\x8c\xb1\x70\x84\x80\x4d\xa5\x82\x81\x97\x8d\x66\x14\xa2\x7a\x52\x82\x71\xf1\xb8\xb5\xa5\xca\xcf\xec\xc8\x3e\x30\x6b\x78\x17\x00\x35\xbc\x0a\x18\x29\xef\x5a\xeb\x45\x18\x00\xb7\x00\xee\x60\xbd\x5b\xe0\x51\xab\xc0\x41\x1e\x13\x7b\x01\xf2\x84\x6c\x6d\xf5\x63\x80\x14\x1c\x3c\x50\xe1\x7b\xc6\xfe\x36\x98\x6d\xa4\x7a\xd2\xf0\x58\xf9\x97\x1e\x1a\xe9\x59\xd9\xf4\x43\xfb\x60\x56\xde\x05\x8c\x91\x80\x17\xcc\xec\x1c\x4f\xed\x3a\x7b\x22\xef\x47\xb0\xef\xac\xb4\xc1\x16\x6d\xfc\x78\xc4\xb6\x3b\xda\x54\x5f\xc2\x37\x1f\x1d\x0a\x0c\x66\xd6\xa1\x5c\xcd\x5d\x6a\x55\x53\x0b\x66\xf5\x3a\xf1\xab\xa2\x44\xff\x14\x4a\x0b\x7a\xa7\x82\x93\xcf\x1b\x6c\xa3\x77\x8c\xa3\x16\x8b\x93\xb8\x09\xf6\x31\xea\x46\xa8\xbd\x1a\xe1\x10\x98\x41\x6a\xb6\xf9\x18\x42\x7e\xa2\x26\x04\x35\x91\x26\xfc\x2e\xf3\xf8\x62\xd1\x52\xd1\x1e\x97\x51\x44\x11\xa1\x94\xbf\xcd\x30\x0b\xbc\x86\x92\x18\x29\xf9\x03\xa4\x5f\x4f\xf2\x99\xe6\x09\xf0\x51\xfe\xb1\x5c\x10\xb7\x6c\x3c\xa0\x8b\xd8\xf0\x74\x40\xd7\xdf\x39\x0f\x63\x79\x3d\x81\x13\x58\x0e\x26\x8c\x99\xe9\x50\x8d\x4c\x1e\x2b\x2a\xff\xc1\xcd\x1c\x97\x90\x89\xed\x7a\x8b\xc5\xab\x24\x1e\xe4\x69\x04\x6f\xfd\x84\xe1\x8d\x27\x8a\x1b\x59\xfd\xf3\x67\xe6\x96\x40\xec\xf8\xca\x52\xc2\x54\xbd\xc0\xa6\x88\x5c\x2d\x26\x5c\x22\xde\xaa\xd5\x97\xcb\x7c\xc3\x89\xa2\x4d\xd3\x2a\xa6\xb1\x49\xdf\x7d\x0b\x48\xb4\x2f\xdb\x80\x16\xbd\x09\x25\xc3\xf4\xf7\x2d\x72\x2f\x76\x54\x51\xf8\x03\xfb\x7b\xcd\x67\x7f\xfa\x93\x04\xa3\x34\xf7\xac\xc9\xfc\xba\x31\xed\x77\xe0\x77\xf6\x2c\xf8\x77\x59\xcb\x9a\xd8\x7c\x50\xcb\x6b\xf3\x3d\xce\x69\x30\xe0\xfb\x23\x90\xf0\x99\xfd\x03\x70\x60\x44\x88\x63\xa1\x3c\x94\xc8\x7e\xaf\x85\x85\xd9\xb9\xee\xe6\xa3\x26\x4f\xfc\x54\x74\x4a\x5a\xf1\x34\xae\x79\xaf\x12\x06\x91\x81\x43\xad\x6c\xa6\xe6\x68\xc3\x5f\xe4\xce\x85\xf3\x99\xec\x40\x55\x22\x2c\xba\x38\xa2\xbd\xe9\x45\x42\xf7\xf7\x25\x2a\xca\xe5\xc8\x53\x91\x25\xd1\x95\x98\xa0\x7e\xde\xcd\x56\x55\xe1\x7b\x65\x79\x84\x81\xab\xad\x76\xbb\xb3\x8e\x74\x95\xba\xd2\xe8\x39\x0a\x21\x3a\xa8\x30\xc6\x70\x17\x4a\x5f\xa7\xf5\x58\x5c\x01\x32\xb9\x71\x26\x61\xb6\x80\xa8\xda\x61\x5e\x6a\x31\x11\x53\x91\xea\x08\xd1\x8e\x56\xac\xa1\x20\xd1\x2c\xd5\x9b\x21\x28\xaa\x5a\xca\xf5\xac\x0a\x01\x7c\x2e\x2c\x57\x07\xea\xe9\x88\xd6\x59\xb9\xae\xa9\xc3\x51\x22\xdb\xe0\x5a\xca\x3f\x6a\xe4\xda\xb3\x55\x43\xc0\x5f\xc0\x0c\x67\x5d\x03\x7f\x38\xa4\x96\x06\x3b\x17\x0d\x82\xff\x51\xb9\x59\x48\xe0\x1a\xea\x91\xd2\xe6\x49\x81\x0a\x9c\xed\x1e\x9a\x94\x2d\xa5\x7e\xcc\xea\xe8\x2a\xae\xaf\x1d\xd6\xb4\xe9\xc6\x28\x68\xe9\xbd\x17\x94\x80\x69\xb8\x88\x44\x93\x62\x36\xd5\xbc\xa3\xa3\x23\xaf\xce\x92\x85\x48\x79\x9e\x60\x8c\x07\x91\xe5\x18\xa1\x2a\xcc\xd5\x63\x26\x86\x25\xcf\x50\xeb\x91\x73\x08\x21\x1f\xc6\x0c\xfc\x92\x48\x0d\x20\x85\xba\x65\x98\xcd\xe4\x29\x74\x61\x54\xab\x54\x1f\xb5\x59\xf0\x09\xc1\x49\xfc\xb2\x28\xcc\x45\xca\x23\x27\xce\x92\x12\xa4\xf2\x44\x79\x07\x98\x40\x55\xe3\x35\xa6\x9b\x82\x45\xc4\x67\x1f\xed\x9c\x57\xf1\x38\xd5\xc2\x2a\x4a\xda\x57\xe8\xbe\xa9\x05\xd5\x51\x4d\xde\xf4\x4e\x4f\x6f\xac\x2f\x2b\xa8\xca\xa0\x75\xbb\xb1\x36\xd4\x70\xfc\xec\x52\x08\x2e\xa8\x4f\x37\x05\x4a\x0a\xbf\x47\x45\x9b\x89\x9f\xc8\x08\xe3\x90\x29\x81\x5d\x55\x9f\xa3\x49\x45\xa9\xbe\x91\xec\xdd\xab\xcb\xa1\xf9\x43\x27\x65\x8f\xd5\x1e\x6f\xce\x25\xf5\xae\x04\xcb\x96\x29\xa6\x2c\x32\xea\x57\x2d\x18\x69\x25\x3b\xbc\x1a\x3e\x3a\x6f\xb5\x5a\x1f\x1f\x99\x44\x36\x5a\x05\x7f\xc4\x1e\xd6\xb6\x7e\xfd\xe5\xfc\x97\xd5\x93\x5f\x3e\xfe\xdb\x16\x24\xf6\xaa\xe1\xae\x68\x21\x48\xe2\xdf\x2a\x6e\x8b\x6b\x08\xec\x86\x6e\x51\xd6\xca\x14\x21\x85\xb2\xcb\xe8\xbe\x7e\xf8\x41\xa3\xf4\x87\x1f\x24\x0a\x9d\x3c\x2e\xaa\xb1\x19\x3a\x59\x22\x43\x67\x18\x56\x3d\x88\x04\x4f\x41\x2f\x6e\x3f\x0e\xd1\x43\x88\xb9\x96\x28\xfd\x2d\x3e\xd1\xae\x78\x98\xa3\xda\x5f\xe8\xd7\x04\x38\x84\x42\x8d\xd2\x89\x3e\x42\x75\x9a\x17\xbd\xf6\x3a\x68\x3f\x6c\x77\x58\x77\xab\xe8\x0b\xfc\x4f\xd9\x60\x2d\x54\x68\x03\xeb\xcd\xb8\x28\x5c\xd5\xb5\x76\xae\x28\x5a\x74\xea\x56\x92\xac\x6f\x1c\x96\xb2\x11\xff\xf6\x51\xf9\xdf\x3a\x2a\xcb\xf5\x4a\xb1\x46\x75\xd9\x40\x70\x0a\x7e\x15\x8b\xa5\x2a\x9e\x9d\x3b\x08\x98\xb7\x21\xaa\xaa\x66\x72\xe6\xc5\x26\x72\x9f\xdd\xd4\x46\x7e\xf7\xca\x39\x8a\x6e\x66\xfc\x86\xc9\x9f\x4c\xe5\x5e\xe6\xd9\xe5\x29\x49\xc4\x18\xf4\x5f\xe4\xac\x46\x79\xe4\x34\x80\xba\xbc\x42\x23\xcd\x03\x47\x05\x43\x70\x7c\x52\x7b\x40\xb4\x8d\x7e\xd3\x3c\x08\x92\x65\x9c\xd3\x6d\x84\xc8\x58\xbd\x70\x00\xc9\x6b\xcb\x51\xd2\x82\xc9\xab\x37\xc4\x44\x5a\x3f\xa0\x93\x3e\x05\xe7\x50\x93\xda\x4e\xbb\xc6\xc0\xdd\x18\x5e\xb7\x25\x70\xcb\x54\xfb\x8c\x8f\xd5\x63\xa1\x65\x53\x8a\xf0\x1e\x0d\x4e\x4f\xd8\x5f\x28\x9b\x12\xfc\xe1\xb3\xa7\xac\xc3\xfe\xf2\x48\x9d\x06\x38\x9b\x23\x79\x37\x70\xb0\x01\xca\x0a\x75\x5b\x70\xe4\x3b\xb9\x27\x55\xd2\x03\x2d\x91\x69\x69\x0c\x45\x0d\x68\x78\x68\x41\x68\xc8\xd1\xc8\x41\xfc\x8f\xee\xf4\x7f\xc8\x46\x6a\x9c\x5c\x91\x7e\x46\xb2\x9a\x43\x45\xb5\x08\x08\x5c\x21\x78\x94\xe3\x5f\x72\xcd\x0f\xe1\x7f\x8c\xf4\x4f\xa3\x22\xaf\x0f\xc5\xc9\x95\x13\x08\xb8\x8e\xe2\xef\x35\x1a\xb8\x91\x79\xa9\x92\x25\xae\x0d\x1c\x26\xa6\xdf\x9a\xc6\x61\x9e\xb1\x2c\x41\x7d\x24\x64\x8f\x48\x21\x14\xd0\x7c\x19\x53\x0a\x0a\xa5\x6d\x31\xe2\x5a\x6a\x3c\x7c\x15\x7e\xcd\x5e\xc4\xed\x37\x77\xac\xf9\x36\x0a\x60\x6e\x2a\x3a\x4d\xdc\x34\xfa\x96\xb5\x43\xbf\x5a\x04\x93\x17\xe8\x1a\x1a\xd4\x39\x3c\xa6\xc1\x0c\xd2\x2c\x95\x83\x1c\xfe\x9d\xf5\x5d\x66\x1c\x24\x20\x58\xf8\xfe\x40\x76\x9f\x8e\x41\x8f\x03\x01\x4d\xe3\x36\x9b\xc3\x6a\xad\xde\x49\xac\xbf\x34\x5c\xb3\x58\xdc\x10\x10\xdc\x4f\x05\x7d\xc6\xa6\xfa\xb4\xb1\xa2\x73\xc9\xad\x6c\xd2\x05\x9a\xa7\x54\xdd\x8f\x9b\xc3\x70\xa0\x9f\x5a\x83\x64\x6e\x4c\xc7\xf0\x09\x4b\x08\x95\xf3\x37\xe2\xc1\x25\x9b\xf3\x8b\x30\x68\xb9\x8b\xa8\x64\x20\x83\x5a\x23\xe2\x82\x00\xf5\xf9\xf3\x26\xb1\xf7\xa1\x62\xc6\xb2\x8e\x5c\x91\xcf\x9f\x81\xa2\xea\x75\x57\xa5\xa8\x4d\x85\xc2\xcc\xd1\xb5\x5b\xaf\xbc\x94\x02\x95\x30\x06\x39\x12\x31\x0b\xad\x51\x29\x2e\x63\xe7\xcd\xb6\x94\x63\x45\xb1\x38\x50\x2c\x8a\xeb\x90\x02\xaf\x39\x3e\x78\x2d\x6b\x54\x60\x90\xc9\xe3\x02\xdc\x86\x2c\xaf\x7e\x81\x46\x9d\xb7\xca\x15\xa9\x20\x05\x3c\x46\xfb\x4b\x30\x3f\x5e\xca\x6f\xc0\x05\xd1\x26\x22\xa0\xc5\x0d\xe1\xad\xbc\x52\xf7\x08\x89\x99\x60\xa9\x48\x6c\x96\xcb\x65\x0c\x0b\x50\x2e\x95\x92\x57\xc3\x44\x74\xa5\xf0\x92\xf0\x34\xad\x80\x39\xfc\x82\xac\xcf\xe2\x4b\x9c\x66\x02\x4a\xd1\x48\xb8\xe6\xda\xae\xc1\x9d\x31\xa9\x55\xd7\x56\x55\x0f\xcd\xb6\x2f\xe3\x64\x45\x57\xd7\x3c\x5d\xd3\xdd\x35\x54\xb9\x93\x44\x41\xae\x02\xb5\xae\x02\xa6\x9e\x51\x81\x14\xdd\xf5\xda\xa8\xd6\xb6\x48\x0e\x50\xa0\x4f\xe1\xc8\x65\x64\x16\xef\x2a\x5c\x0c\x5b\xc8\xb5\xbe\xc3\xcd\xd0\xd2\x23\xdc\x7e\x33\xb4\x77\x88\x23\x2b\xab\x3c\xfd\x47\x47\xac\x53\xea\xcf\xad\x49\x59\xd9\x6b\xc8\xb7\x7f\x62\x3e\x3b\x64\xed\x7a\x83\xf9\x86\x0b\xde\x43\x67\x5a\xc6\x28\x5e\xad\x2a\xdf\x5f\xa9\xd6\x43\x77\x22\x2e\xea\xe4\x55\x17\x6f\x7d\x5e\xb5\xd6\xe4\x84\x52\x74\x73\x8a\xf5\xe1\xb1\x27\xec\xcf\xa7\xaf\x5f\xb5\xb0\x55\x38\x5d\x53\x3f\xf5\x8d\x7a\x93\x53\x49\xdb\x2e\x51\xab\x4c\x8d\x65\x37\x62\x23\xe0\x64\x21\x18\xb1\x81\xad\xc0\x72\x8e\x37\x68\x04\xa8\xc1\xcc\x78\xa6\x85\x25\x48\x11\x70\x83\xc4\xd4\x22\xac\x54\x1d\x8b\x47\xcc\x48\x9a\x06\x0b\x45\xb2\xb4\x84\xc9\x0d\x40\x40\xee\x74\xa8\xfb\x1e\x8d\x51\x00\xa5\xd6\xc5\xe3\xbc\xb0\x99\x14\x59\xb5\x1b\xac\x53\x87\xd6\xbf\x5c\xfb\xe3\x73\x38\x23\x6b\xc4\xbf\x2d\x8e\x0e\xc4\x67\xb3\xf2\x33\x57\x31\xa4\x6c\xa4\xcc\x43\x0f\xe5\x61\x98\xa8\xec\x55\x79\x1a\x5e\x5c\x40\x0e\x65\x63\x8f\x09\xfc\x00\xec\xbd\x02\xd4\x89\x99\x37\x67\xb5\x42\x70\xe2\xce\xf9\x9a\xf2\xe4\x25\x68\xe2\x68\x6b\x99\xf2\x44\x81\xaa\x34\x49\x24\xf6\x29\x25\x50\x65\x18\xa9\xb5\x47\xf3\x64\x62\xed\x5a\xdc\x60\x70\x96\xb9\x08\xb0\x2e\x30\xf3\x64\x22\x65\xa0\xa7\x1d\xcf\x79\xb6\xb7\xc4\x90\x87\x04\xe7\xc6\xe6\xdb\xe5\xe6\xba\x77\x05\xa7\x70\xb9\x31\x8d\x77\xca\x8d\xad\xdb\xb2\xd5\xbf\xbc\xe3\x94\x9b\xef\xde\xd0\xb7\x0d\xc7\xb9\x76\xab\xc6\xdd\x8d\xf3\xb6\x9b\x22\xb5\x94\x1a\xef\xdd\x3e\xeb\x8d\x93\xde\x57\x6d\x8b\x5c\xd6\xe2\xa4\xdb\x8e\x9a\x00\xdc\x35\x48\x79\x25\xef\x19\xda\x0b\x08\x85\xaf\xdf\x45\x9a\xd8\x19\xf1\x96\x71\x24\x8f\x74\x75\xfe\xb7\x8a\x4c\x19\xf7\x87\x2f\xb9\x97\x1c\xd3\x13\xe6\xee\xa3\x8e\x62\xc8\x55\x99\xa6\x5f\xa3\x4b\x08\xe6\x67\xc4\xee\x79\xce\x22\xc1\x33\x34\xb9\xd4\xc3\x28\xf5\x5a\xda\xac\xee\xa4\x9b\xcc\xaf\xab\x01\x51\x53\xd3\x5c\xb5\x2a\x37\xb1\x50\x59\x4a\xa7\x5b\x16\xef\x0c\x56\xbf\xe2\x84\xa2\x96\x15\xb7\x75\xb5\x09\x8d\x75\xeb\x06\xb8\x6d\x83\x5a\xd5\x86\x9e\x31\x75\x53\xf7\x35\xd3\xd4\xc5\x6e\xf1\xfd\xb2\xbb\x83\x04\x36\x11\xec\x4f\x47\xec\x60\xd7\x1e\x87\x35\xb5\xca\xc7\x49\xd9\xa8\xc9\xba\x3b\x16\xe8\x2f\x0f\xec\x9f\x36\x59\xde\x74\x1d\xc1\xa7\x5e\x73\x11\xb1\xa8\xd7\x37\x03\xb2\xa6\xa8\xae\x44\x55\xaf\xb5\x77\x1c\x79\xdd\xd9\x39\x18\x8b\x38\x15\xd9\x02\xa2\x70\x44\xf9\x56\xd1\xff\x11\xb2\xa9\x86\xda\x56\x73\xce\x17\xfa\xb1\x82\x67\x46\xd7\xab\xa0\xe1\x31\x6e\x3b\x98\x42\x42\xd6\x54\x47\x23\x9c\xe0\xad\x0a\xfa\xd1\x90\xcc\x2d\xc8\xf0\xef\x60\x26\x82\xcb\xaa\x21\xb5\x34\x72\x6f\xc6\x2e\x3d\xaa\xd7\xd9\xe7\xcf\x7a\x9d\x40\x6d\xa3\x9b\x14\x00\xd7\x2b\x68\x9b\x8c\x7c\x9f\x58\x7a\xf8\xa2\x21\xd5\x86\x77\x6d\x12\x63\xee\x13\xc8\xe6\x93\x56\x0d\x6c\x88\x68\xb3\xfb\xbf\x24\xa2\x8d\xca\x6f\x03\xde\x3d\xf0\xf0\x9e\x26\xf3\x0a\x05\xfa\x1b\xf0\xb1\x84\x04\xc4\x3c\x36\x82\x15\x9a\x94\x39\x97\xd9\x11\x28\xa8\x57\x38\x0f\x1d\x46\x43\xcd\xc4\x55\x3e\x81\x8f\x9c\x7a\x8c\x87\xc7\xcd\xea\xe8\x1c\x2c\xcb\x8d\x77\x91\x64\xc8\x91\x3a\x21\xc6\xcb\x30\xca\x9b\x61\xac\x02\x7f\x2c\x60\x51\x30\xc6\xb3\x07\xc6\x93\x71\x18\xc0\x99\x85\x76\x2a\xe0\xd2\x47\x46\xf3\x57\xf8\x74\x22\xaf\x89\xd5\xe1\x3d\xd0\xd4\xb9\xf2\xcd\xb5\x6f\xe2\x83\x54\x19\xb9\xa9\x79\x7f\xa2\x64\xa3\x4e\x72\x0c\x48\x99\x03\x96\x2e\x8a\x88\x6e\xea\xc1\x09\x73\x2a\x78\x6a\xf5\xc8\xee\xd8\x65\x6f\x32\xa1\xf8\xfe\x4a\xdd\xa3\x93\x80\xc9\x45\xe5\x11\x24\xda\x47\xc9\x2f\xc3\xe0\x44\x0b\x9e\x82\x95\x37\x04\xfd\xc9\xd0\xd7\x78\xb1\xc4\x07\x68\x70\x00\x04\xf7\x2c\x4c\x13\xc6\x27\x13\x1a\x2c\x2c\xea\x5c\xca\x6d\x13\x91\xf3\x30\xda\x10\x61\xa8\x82\xb0\xbe\xc8\x05\xa4\xdf\xcb\x39\x68\x3f\xab\x19\x7f\xde\xf4\xb4\xf3\x85\x68\xf2\x8e\x98\x34\x43\x76\x5e\xca\xcd\x18\xd4\x89\x6d\x2c\xdc\x8c\x6e\x50\x45\xda\x07\x03\xb6\x30\xcb\x8b\xea\xc2\x4f\xe7\x06\x4e\xe9\xa5\x5a\x36\x50\xdc\xab\xca\xc4\x55\x7e\xaf\x32\x6c\x35\xad\xcf\xc3\x8f\x2d\xab\x83\x39\xcf\x83\x99\x41\xa4\x35\x87\xba\x7d\x54\x9a\xe1\x13\x0c\x73\x24\x6a\x7d\xbd\x7d\x2e\x5a\x37\x8f\x82\x86\xd3\x55\x19\xea\xb3\xae\xa4\x40\x37\x3d\xfe\xcd\x8c\xe9\x90\x95\x71\x7c\x48\x3f\xbf\x58\x42\xfd\x43\x1b\x4f\x45\x0a\xaf\xc2\x2f\x3b\x62\xe7\x54\xe1\xe3\x66\xd3\xdc\x1b\x41\xb4\x16\xcb\x6c\xa6\x67\xab\x65\x20\x58\x91\x2c\x49\x73\x13\xf8\x9a\x37\xd8\xd8\x46\x2e\xbd\x00\x6f\xa4\x6e\x68\x3e\x48\xe6\x0b\x9e\x8a\x9a\x25\xbd\x30\xc6\x5b\x36\x3e\xc6\xd6\x5f\x5a\x66\xf9\xe2\x18\x05\xdf\x69\x5b\x4f\xc1\x31\xd5\x6c\x49\x12\x09\x14\x13\x57\x37\x67\x71\x1d\x66\x79\x06\x37\x3d\xf2\xd8\x30\x47\xbf\x82\xf5\x12\x6e\x61\x0b\x11\x84\x53\xb4\x81\x25\x20\x19\x26\x3f\x5e\xa4\x22\x10\x13\xbc\x08\x02\x3f\x05\x0b\x76\xf4\x86\x0d\xa3\x49\xc0\xd3\x49\xd6\x62\xec\xe7\xf0\x4a\xc0\xbe\xd6\x07\x82\x1c\xd6\x23\x78\x7c\xe8\x3d\x82\xfb\x26\xfe\xf1\xb8\xd9\x7b\xd4\xa0\x34\x2f\xfa\x33\x3d\xe0\xa1\x46\x56\x95\x5a\xd0\x70\xf8\xb0\x11\xb4\x14\x64\xc0\x81\xf8\x83\xce\x19\x13\xc8\xe8\x67\xa3\xc9\x5c\x85\x49\x20\x6a\xd8\xe8\xd0\x99\x05\xd1\xbe\x13\xd7\xf7\x8d\x64\x8d\x69\x0b\x38\xa4\xe6\x3f\x0a\xa6\x3c\xfd\xc4\x35\x9f\x2f\x22\x71\x88\xa6\xfa\x52\x70\x93\xe0\x28\xfd\x31\xc5\xb5\xb1\xad\x89\x4d\x9e\x31\x7c\x85\x7f\x34\x0b\xd7\xfc\xe1\xa3\x16\xb6\x37\xac\xaa\xe6\x61\x5b\xaf\xc1\x1e\x79\x50\xc7\x7b\x24\x69\xc3\xee\x25\xe0\x71\x20\xa2\x82\x5f\xa4\x88\xf3\x30\x15\x11\x24\xeb\x86\x84\xd5\x56\x34\x9d\x7a\x45\x37\xbd\x28\x6f\x1e\x7b\x8d\x5b\xdf\xf5\x8b\x9d\x8b\x6b\x11\x2c\x29\x1d\x3f\x3a\xbb\xc4\x13\xe3\x57\x62\xe9\x63\x2a\xe7\x75\xe6\x35\x0a\x67\x29\x7a\x3a\x38\x99\x22\x7e\x4e\x72\xc6\xd9\xd9\x43\x4f\xf5\x7d\xc3\xe6\x2b\x98\x08\x3c\x56\x7b\xe9\x71\xc5\x01\xf3\xaf\x77\x30\x15\xce\x25\xf7\x40\x52\x76\xbe\x60\x84\x84\x26\x40\x37\x08\x6d\x78\x8a\x43\x1c\xa0\x0c\x57\x7f\xa5\xb5\x62\xa4\x15\x94\xe2\x53\x85\x4a\x10\xe5\x75\x73\x58\x3a\x23\xd9\xa4\xf6\x7b\x86\xda\x75\x96\xcb\x3d\x87\x46\x4b\x66\x7f\xa9\xe7\x42\x37\x1a\x1b\xee\x29\x52\x74\x2e\x5a\x52\x2e\x06\x2b\x05\x6d\x28\xae\xb4\x00\x18\xa1\x2d\x5d\xd3\xf8\xb4\xda\xea\x88\x2d\xf4\x8e\x3c\xa5\x42\xca\xe3\xcd\x02\x8e\x09\x69\xae\xab\x63\x56\x8b\xeb\xea\x99\xc0\x31\xb4\x68\x85\xd9\x80\x52\x43\xd5\xea\xd5\x00\x16\x2a\xf8\xf5\x10\x6c\xab\xc5\x44\xa5\x21\x55\xa3\x43\xe5\xa9\xfa\x6b\xb3\xbe\x74\x03\x43\x82\x79\xa1\xa1\x96\xbe\xab\x29\xdd\x28\x3c\x0d\x04\x3c\x8a\xf8\x38\x12\x85\x35\xb5\x94\xe4\x85\x65\x55\x18\x76\x16\xd2\x60\xd5\xba\x55\x2d\x0a\x7c\xae\xa6\x95\x25\x25\xac\x6e\xc4\xab\x9b\x07\xe6\xcb\x3f\x09\xbf\x25\x52\xae\x8e\x05\xa8\xc4\x28\x0d\xcd\x22\xf7\xc2\xd9\xab\x53\xc6\xe8\x43\x4d\x0a\xd0\x18\xb3\x64\x49\x3e\x63\xf2\x16\x9e\x4c\x15\xbb\x38\xd4\x6b\xda\x6a\xb5\xbe\xd8\x1e\x39\xe0\x23\x6a\xef\x05\x70\xc6\x81\x85\x07\xb5\x28\x5f\xd0\xf3\x5b\x9c\x27\xcc\x0c\x33\xd3\xb1\x27\x25\x24\xd9\x19\xf8\xd5\x66\x58\xaf\xc4\xa4\x0c\x57\xda\x78\x5e\x29\xb6\xfb\xad\xc7\x16\x53\x87\xd5\xa1\x39\xac\x1a\x05\xd8\x5f\x7d\x58\x31\x3a\xa2\x0e\x6f\x3d\xa2\xb0\xcb\x2f\x05\xa6\xaf\x32\x87\xcd\xf9\xe2\xde\x7c\xd9\xb9\xf2\xcd\xf9\x02\x69\x56\x8b\xf2\xb8\x48\x4c\x7f\x28\x11\x1e\xb2\xd0\x39\x5f\x48\x11\xf4\x63\xbd\x94\xc7\xe8\xad\x39\x2f\x95\x78\xa3\x1e\x4d\xa0\x4c\x64\x39\x89\x3a\xae\x0d\xa8\xb2\xa8\xc0\xb4\xa7\x30\x6f\x79\x13\x5f\x46\x11\x29\x85\x52\x81\x91\x5c\xb0\x75\xf1\x66\xa6\x50\xa2\xc0\xf4\xd4\xb1\x81\xeb\xcc\x95\x85\x86\x09\x57\x22\x09\x0f\xb4\xb1\xca\x29\x11\x2e\x7e\x2a\xc9\x2c\x55\x0b\x45\x66\x9c\xc3\x29\x1c\xab\x79\x66\x04\x07\x78\x70\xc5\x50\x40\x63\x3e\x17\x94\xc4\x71\xbe\xd4\x33\x45\xa9\x12\x8c\x78\xf1\x21\x62\xb3\xa4\x6d\x60\xdf\x71\x65\x8d\x6d\x47\xe1\xc4\x05\x8b\x05\x7d\xfd\xdb\x78\xd1\x93\xd5\xca\xf6\xc8\x70\x7d\xb1\xd8\x90\xb1\x00\xbe\xcf\xa5\xcf\xbd\x77\x3a\x17\x37\xeb\x62\x56\x75\x1b\x94\xa3\xd2\x93\x28\x24\x8d\xa0\x66\x9a\x33\x3a\x23\xbc\x87\x0e\x0c\x95\x8c\xff\xa7\x63\x3a\x13\x33\xb1\xe3\x3a\x9f\x59\xf6\x0a\xa4\x74\x82\x35\x9d\x51\x20\x36\x15\xe4\x39\x07\x8f\x10\xae\x15\x6b\x28\x64\x61\x9c\x17\x88\x6f\x04\xb6\xec\xac\xc6\x2f\x31\xf4\x9d\x31\x51\xcf\xea\xb8\x2f\x64\xb1\x04\x66\x19\xaf\xe7\x22\x8a\x90\x0f\x14\x82\x2c\x53\xf2\xf6\x64\x65\xb9\x72\xe9\x10\xa5\xf6\x41\x43\x86\x2c\x10\xc0\x0d\xb5\x35\x19\xfa\x5f\xc9\xa3\x44\x45\xdd\x29\xc5\x6f\xc8\xc0\xa9\x92\xac\x29\x24\x2c\x63\x5a\x69\x9b\xd1\xb8\x1e\x5d\x8d\xa2\x4a\x9a\x82\x6e\xac\xd2\x24\xbe\xd0\xcf\x89\x8f\x15\x16\x1b\x74\x6f\x48\x31\x19\xa6\xb6\x89\x31\x7e\xd0\x99\xe5\xfe\x73\x1c\x4e\xc1\x3b\x3e\xa7\x30\x39\x59\x83\x65\xcb\x60\x26\xe7\x70\x7c\x95\xa4\xfc\xd2\x99\xa9\x13\xaa\x1a\xfa\x82\xb9\x26\xe8\x01\x4a\x10\x58\xae\x1d\xc4\x40\x45\xa7\xf0\xc7\x38\x5a\xe1\x26\xb1\xeb\xe6\x4d\x4e\x6e\x60\x7b\xbd\x4c\xc7\x10\xa2\xe1\xb1\xba\xe8\x2c\x79\x44\x53\xb6\xf0\x2f\x79\x30\x05\x18\x0b\xb3\x6c\xa9\x0e\x51\x2b\x08\x4a\x26\x7b\x89\x93\xb8\xf9\xee\x54\x77\x94\x49\x46\x0e\x15\x75\xc9\x03\x15\xae\x0b\x14\xf6\x6e\xca\x4f\x1d\xb0\x12\x5d\xfd\x38\x1a\x13\xc9\xbe\xc1\x64\x1c\x4d\x5b\x94\xc7\xdd\x9c\xaf\x31\x1f\xfd\x15\xd9\xb8\x80\xa9\x8d\x14\x8d\x68\x55\xec\xd1\x5b\x6f\x71\x16\x2f\xd6\xa6\x41\x72\x27\x80\xe9\x0b\x8c\x60\x53\xe8\x71\x09\x0b\xa2\x8f\x37\x30\x8a\x0d\xde\xdf\x95\x28\x21\xe8\x71\x38\xcc\x23\x31\x61\x8f\x7a\x14\xbd\x08\xcc\xa9\x21\x9c\xcc\xa6\x70\x48\x18\xdf\xd9\xe6\xdf\xf0\xc9\x52\x90\x5e\x1a\xbf\x64\xf5\xeb\x53\xeb\x1b\xec\xc6\x23\x3b\xeb\x26\xca\xc8\x65\xb9\x8f\x33\x29\xdc\xe1\x06\xb3\x36\xa7\x8d\x28\x6b\xcb\x82\x28\x3f\xe3\xd9\x4c\x59\xd3\x2b\xdf\xcb\x69\x12\x45\xc9\x8a\xce\xc4\xec\x90\x79\xf8\x7c\xe6\x35\xb4\xad\x1e\x1c\xe2\xda\x40\x01\x45\x3d\x30\x35\x50\x5d\xb1\xa6\x32\x0b\xb7\x2e\x0c\x2a\x51\xf2\xda\x0a\x29\xd2\x62\x20\xe9\xe9\x9d\x4d\x62\x94\xec\x58\xc7\x60\x66\x72\x7b\x9a\xcd\x26\xae\x39\x26\x2b\x5c\x25\x16\x1f\xa8\x58\xb4\x07\xc5\x68\x37\x14\x0e\x87\xfa\x24\xe9\xb2\xc1\x3c\xde\x83\xe4\x14\x7d\xf9\xbf\xff\xd0\xc3\xe9\x1c\x3d\xf1\xb0\x22\x81\x71\x6c\xdb\x37\x0c\x4d\xd9\xc5\x23\xfd\x65\x7f\x5d\x72\x29\x78\xa4\x3c\x20\x26\x86\x44\x26\xc5\xc4\xf3\x93\x57\xa7\x1f\x65\x7f\xe7\x2f\x86\xa3\xb3\x8f\xb2\xab\xfe\x5a\x2e\x04\xc4\xfb\x48\xe2\x46\xa1\x3f\xda\xb1\x14\xe3\xdd\x84\xf8\x21\x78\xe3\x65\xae\x02\x82\xa1\xe1\x2d\x9d\x23\x2a\x40\xbb\x1d\xce\x82\x35\xd9\x2b\x74\x9d\x21\xc9\x4d\xd9\x3d\xc8\x6d\x6b\xe6\xa2\x63\xcc\xa8\x54\xbd\x62\xad\xec\xec\x28\xe0\x1e\xf5\xad\x6c\x5a\xc6\xc6\xec\x22\x36\xa2\x54\x8b\x81\x56\x1e\x12\x81\x6a\xc1\x90\x72\x5b\x0a\x65\xc4\x93\x59\x63\xa3\x30\xa6\xdf\x69\x70\x3c\x4a\xec\x6d\xac\x18\xda\x57\x8f\xae\x17\xe5\x7f\xcc\xc8\x6c\xef\x81\x7b\x8f\x8a\x62\x87\xfe\x01\xc3\x82\xc7\xce\xaf\x1b\x97\x8a\x03\x47\x59\x05\xac\x70\x65\x9b\x63\xc6\xf1\x4c\x67\x3d\x91\x22\x95\xec\x08\xdd\x60\x0b\x0e\x41\x60\xc4\xc9\x63\xc6\xd3\x94\xaf\x2b\x3d\xcb\xca\x1e\x44\xa8\xe7\xb5\xee\x85\x14\xec\xca\x49\x7f\xea\x86\x5a\xcb\x8b\x46\x49\xd0\x1f\x0b\x73\x90\x34\x50\xd3\x1c\xd3\x53\xdd\x26\x93\x25\x3a\x56\xc1\xcc\x08\xc5\x44\x6d\x4a\x44\x91\x08\xd5\x11\x16\x24\xf1\xa4\x99\x27\xcd\x88\x67\xb9\x8e\xbc\x42\x28\xc3\x8e\x6d\x6d\xf8\x2a\x0d\xf3\x5c\xc4\x0e\xb7\x83\xc8\x93\xc5\xa0\x70\xc4\x4c\x79\xa6\xb4\xe5\x62\xe2\x44\x4d\x33\xd1\xd2\x74\xa4\x34\xb8\x80\xbb\xc1\xd2\xec\xa3\xf3\x86\xa3\xce\xbd\x99\x3e\x57\xce\x92\xf6\xf1\x07\x36\xf4\xf2\x20\x32\xde\x9f\xea\x0a\x47\x87\xb6\x3a\xf5\xea\x15\xd6\x7f\xc7\x4b\x8c\x6a\x2d\x5c\x5f\x49\xe3\x29\x59\x38\x39\xcf\xad\x77\x98\x89\x98\x6e\xd6\x95\x14\x44\x5d\x0c\x79\x48\xe7\xa9\x94\xbd\x1c\x61\x55\x3f\x74\xe6\x10\x21\x4d\x9d\x06\x76\x7b\x9e\xc9\x5b\x52\x88\xa1\xc9\xd3\x0b\xcc\xb1\x06\xf7\x29\xc6\x86\x3c\x98\x01\x59\xab\xf2\xb0\x0a\x86\xb5\x5e\xdc\x50\x9f\x1a\x47\x8d\xe8\xd3\x0c\x25\x49\x2e\xd1\x50\x02\x54\x12\xb2\x8d\xdc\x73\xe3\xf0\x02\x4f\xf9\x95\xc0\x14\xc4\x10\x27\x01\xa2\xe7\x82\x0c\xaf\xf0\x69\x34\x36\xa9\x20\x73\x0a\x49\xb6\x2c\x4a\x72\xbc\x40\x4b\x21\x14\xc4\xe3\x2b\xb0\x15\x6c\xd5\x69\x20\x72\x32\xa5\x91\x5b\x56\xe9\x5d\x1d\xb9\xe8\x90\x99\xf5\x57\x41\xbb\x8a\x5e\x9c\x8f\x8d\x73\x95\x72\x2b\x31\x51\x91\xc0\xf8\xd7\x58\x7d\xd4\x89\x21\x11\xe9\x19\x82\x23\xde\x04\xaa\x27\xc1\x63\xba\xe5\xa0\x9f\xa2\x1d\x46\xe9\x1e\x44\xec\x68\x57\xae\x78\xfa\x89\xa7\x17\x59\x41\xc5\x62\x5d\x9c\xd5\xca\x66\x55\xb7\x67\xa5\x78\x41\xc8\x35\x5d\xf7\x3c\xfc\x78\xde\xfe\xd8\x70\xde\xe1\xe8\xdf\xdf\x08\x61\x87\xcc\xa9\xed\x57\xd7\x66\x84\xd6\x42\xed\xce\xa6\xda\x84\xf2\x42\xf5\xed\x4d\xd5\xd1\x65\xc5\xae\xba\xb3\xa9\x2a\xfa\xb3\x38\x75\x77\x3f\x56\x55\xfd\x52\x56\x38\x9d\x42\x32\x4e\xc7\x0e\x1f\x19\x9c\x1d\x22\x14\x73\xaa\xdc\x61\x25\x41\x68\xde\x60\x15\xe1\x4a\xd9\x1b\x32\x51\x2a\x9b\x7a\xbd\xe1\x28\x66\xab\xf2\x2f\x78\x34\xe7\x41\x9a\x3c\xd2\xdf\x33\xca\x7e\xce\xd8\x49\x4e\x91\x14\x43\x32\x17\xb6\x03\x35\x2b\xf7\x5b\x70\x52\xa9\x33\x00\xa2\xf7\x3b\xb1\x07\x30\x6e\x59\x53\x1c\x30\xa8\xd1\xb2\xfd\xb3\xc9\x7c\xb7\xa6\x76\x8c\xdc\x5e\x76\xbe\xce\x3b\xd8\xa6\x3b\xae\xc2\x96\xcf\x32\x99\xa4\x7f\xbc\xd5\xa5\xf8\x64\x8a\x82\x67\x29\x09\x03\xe3\x0d\x7c\xef\x1e\x1b\xe5\x41\xa6\xee\xe2\x29\xc4\x37\x5e\x12\x5a\x2a\x1a\x93\x0f\x40\x98\x6b\xb9\x45\x89\x2d\xb6\x61\xa5\xc6\x04\xbf\x74\x9e\xc0\x69\xb4\x26\xe0\x80\x85\x98\x82\xbf\x77\xcd\x78\x72\xa1\x4b\xac\x13\xda\xa7\xc2\x57\xd6\xb6\x09\xb3\xff\x3d\x54\xae\xde\xe4\xbd\x58\x4c\x16\x51\x67\x3f\x31\xce\x0e\xd9\xd8\x7d\x83\xa8\x5e\x44\x7a\x99\x28\x20\x7a\x9e\x4c\x28\xf3\x40\x55\x46\x89\xaf\xc3\x37\x35\xbe\x2f\xbe\x83\x7f\x61\x7c\x63\xd6\x8b\xef\x80\x6f\x89\x68\x1d\xcd\xbc\x09\xe1\xb7\x9a\x4e\xaa\x0b\x97\xcc\x6d\x04\x8d\xb3\xaf\x45\x50\x61\x5e\x9b\x72\x65\x7c\x97\xc9\x59\x6b\x51\x3d\x8d\x6c\xf6\xd5\xd3\xb0\x60\x17\xc6\x5a\xf0\xc7\x54\x39\x2d\xbe\x6d\x22\x44\x39\xd5\xd3\xe0\x51\xfe\x0d\xf3\x20\xd0\xdf\x01\xe3\xb6\x3f\x53\xe5\x40\xe7\xc9\xe4\xab\x07\x7a\xef\x9d\xf5\xad\x3b\x64\x90\xcc\x17\xcb\x5c\xca\x8a\x4a\x74\x33\x3a\x52\x0c\x88\x8a\x0f\x41\x8e\xb7\xa1\x9e\x6a\x90\x47\xb5\x60\x56\x67\x7f\x53\xdd\x56\x47\x73\x2a\x58\x2c\x83\xf1\xb4\x19\x01\x87\x1c\x05\x94\x15\xc6\xa8\x43\xe7\x7c\x01\x31\x40\x38\xc6\x2a\xb5\x3a\xad\xcd\xad\x1e\x8d\xd9\x22\xe1\xd5\x8e\x39\x7a\x3e\xff\x48\xc5\x5f\xcc\x22\x12\x97\x44\xa2\xcb\x53\xd2\xa4\x9b\xb0\xf6\xee\x62\x8a\x49\x6d\x1a\xdf\x6d\x29\xe1\x8d\xc6\xdd\xf9\xa5\xe0\xf4\xb6\x81\xd7\xd6\x16\xeb\x83\x8f\x9f\xe4\x08\x0d\x36\x4a\xd2\x15\x4f\x27\x28\xca\xbf\x15\x90\x14\x14\xf9\x7f\xc2\xf8\x55\x12\x4e\x58\xcc\xaf\xc2\x0b\x0e\x7a\x32\xbe\xe2\xa8\x94\xb5\xa1\xe5\x56\x42\x83\x05\xbf\x10\xad\xa2\x2d\x59\x21\x54\x4f\xb7\x8b\xb4\xe4\x94\xed\x55\x94\xed\xd7\xd9\x4f\x0e\x03\xbf\xed\x85\x94\x1d\xde\xb1\xba\xf2\x32\x65\x96\x15\x7d\x81\x84\xa7\x9b\xc8\x57\x6e\x9d\xe1\xe9\x40\x9b\x69\x2b\xb3\x8e\xc1\xe9\x89\xf6\xd1\xd0\x85\xa7\xa7\xdb\xaa\xf0\xb5\xc9\x05\xfe\xbf\x3a\xda\x88\x7b\x15\xc9\x6a\xca\x74\x1e\x5f\x3f\xa7\xa1\x88\x26\xa0\x74\x3c\x64\xe7\xf4\xea\xd0\x20\x5d\xa4\xba\xba\x35\xb4\x3b\x3b\x78\xb1\x83\xc4\xff\xf1\x81\x05\xc7\xb8\x2a\x43\xdc\x4a\xf5\xe4\x22\x09\xa3\x6d\xf2\xea\xc0\xae\x61\xec\x03\xf8\x9e\xfe\xb6\xcc\x72\xdb\x90\x44\x41\xd3\x61\x8d\x26\xa8\xa9\xc1\x77\x3d\xbc\xee\x8e\xd7\xfa\x96\x80\xf7\x83\x24\xb3\x72\x3d\xb0\xf3\x76\x03\xf4\xae\xef\x5e\x3d\x7f\xf5\xfa\xc3\xab\x8f\x5e\x03\x90\x5a\xfe\xff\x63\x43\x0f\x7e\x04\x91\xa7\xd3\x64\x45\x20\x3a\x7b\x0d\x09\x62\x78\x3a\x90\xcd\x87\xa7\x83\x46\x95\x40\xc2\x74\x30\xee\x86\xf9\xc5\x2a\xa5\xab\xd2\xb9\xef\x77\x1a\xcc\x3b\x1f\xf9\x12\x18\x70\x7c\x49\x5f\x4f\x98\xf7\xc6\x6b\x00\xfd\xc1\xaf\x75\x0b\x08\x16\x3e\xea\x6c\xff\xfd\x51\xa3\x0c\x6d\x1b\xa0\x75\x8a\xd0\xfe\xd3\x40\xfb\xcf\x4a\x68\x3b\x95\xd0\x76\x00\xda\x76\x11\xda\x5b\x03\xed\x6d\x25\xb4\xdd\x4a\x68\xbb\x00\x6d\xa7\x08\xed\xd4\x40\x3b\xad\x84\xd6\xad\x84\xd6\x05\x68\xbb\x00\x8d\x9a\xfb\xbb\x7f\xf7\x8a\xab\x51\x82\xb6\x5f\x09\x6d\x0f\xa0\x75\x1d\x68\x7b\x77\x80\x76\x50\x09\x6d\x1f\xa0\xed\x39\xd0\xf6\x6f\x87\xb6\xed\x57\x42\x3b\x00\x68\xfb\x0e\xb4\x83\x3b\x40\xeb\x54\x41\xeb\xb4\x01\xda\x81\x0d\xad\xd3\xbe\x03\xb4\x4a\x7a\xeb\xf8\x48\xbd\xed\x8f\x66\x11\x3b\xfe\x1d\xa0\x55\xd2\x5b\x87\xf6\x82\x6f\x43\xdb\xbe\x1d\xda\x4e\xf5\x4c\x71\x2f\xf8\x1d\x1b\xda\xce\x1d\xa0\x15\x66\xaa\x18\xc1\x29\x46\x9e\x37\x9c\xc0\x3f\x90\xe3\xfd\x1f\x09\x51\xc3\xc8\x66\x35\x29\xcb\x78\xff\x21\x29\x19\x7e\xfb\xd5\xab\xd7\x1b\x6e\x47\xe6\x1f\xf1\x1a\x00\xb7\x73\x20\x19\x8b\xff\xd0\x06\x17\xd4\x3c\x0c\x45\xf7\x6a\x39\x87\xfc\x0e\x8c\x61\x59\x2f\xca\x55\x11\xfc\xfd\x52\xe4\x1c\x0b\x14\xb8\x5d\xc9\xeb\xbc\xce\x7f\x7c\x2f\x70\xbe\x04\xb7\xfd\xff\xbe\x17\xb8\x8e\x04\xb7\xf3\x6f\xdf\x0b\xdc\xb6\x04\xb7\xfb\xef\xdf\x0b\xdc\x8e\x04\xd7\xfd\xf5\x7b\x81\xdb\x95\xe0\xf6\x7e\xf8\x5e\xe0\xba\x12\xdc\xfe\xe3\xef\x05\x0e\x0e\xb4\x83\xda\x77\x02\xb7\xb3\x2f\xc1\xb5\xeb\x25\x70\x4e\x1a\x54\x09\xa1\x00\xb0\xb2\x92\xde\xcd\xfb\x92\x0b\x36\x3f\xdd\x0e\xf5\x96\xef\x06\xa0\x64\xf9\x47\x4f\xbe\x17\x40\x94\x14\xc4\x34\xb9\x66\xcd\x4f\x20\x79\x1f\x3d\xa1\x9e\xf6\xb6\xbf\xef\xd0\xbb\xfe\x1f\x35\xf2\x93\x9c\x47\x21\x8f\xd9\x93\xc7\x6a\xe8\xb2\xab\x27\x65\x4a\xfb\x8a\xae\x10\xe2\x3e\x0a\x60\xfd\xe7\xa7\x6f\x24\x5b\x1e\x67\x35\x4c\x0a\xda\x60\xde\x2f\x63\x09\x07\x4a\xc6\xf0\xb7\x2c\xaf\x6f\x14\x9f\x8c\x70\x19\xa6\x36\x57\x3e\xc0\x1e\xce\x7a\x7d\xd9\x41\x36\xab\x79\xbf\xe4\xe6\x00\xf8\x8b\x84\x08\x92\x6f\x43\x33\xe0\x06\x2b\xcb\x65\xfb\xc0\xee\xfe\xfa\x9f\x5e\x63\x03\xe7\x66\xc8\xdd\x41\x9a\x2a\x89\x7a\x1a\x0a\x6c\xad\xd5\x87\xdb\xa0\x7c\xb8\x11\x4a\x17\x0e\x06\x31\xbc\x0d\xca\xf0\xe6\xb1\x00\xc7\x4d\xdf\xde\x06\xe5\xed\xcd\x50\x80\x33\xe6\x67\xb7\x41\x39\xbb\x19\x0a\xcc\x68\xfd\xdf\xb7\x41\xf9\xef\x9b\xa1\x00\x5b\x5d\xbe\xbb\x0d\xca\xbb\x1b\xa1\xec\xc1\xd1\x11\x9e\xdc\x06\xe5\xe4\x66\x28\x30\xa3\xe4\xf5\x6d\x50\x5e\xdf\x3c\x23\x38\xb3\x17\x6f\x6e\x83\xf2\xe6\x46\x28\x1d\x94\x18\xff\x76\x1b\x94\xf3\x9b\xa1\x80\x6c\xf7\xf1\xcb\x6d\x50\x3e\xde\x02\x45\xca\x9b\xbf\xfc\xf2\x19\xc0\x6c\x86\xf2\xcb\x2f\xce\x56\x2f\x6f\xf3\x51\xb2\x4c\xf3\x19\xec\x73\x56\xfb\x20\x20\xd4\x90\x15\x1d\xee\xcf\xe8\x3e\x02\x31\xe3\x30\xb2\xf4\xb1\xb8\x3a\x4b\x92\x88\xd2\xb3\xb2\xf3\x0e\xe0\xf6\x7c\xd0\x7b\x03\x36\x37\x66\xe7\xeb\x5f\x36\xfc\xdb\xc4\x22\xba\x40\x7e\x60\x36\xc4\x1c\x14\xc1\x84\x7a\x74\x6a\x56\xfc\xdb\xb8\xfa\x40\x89\xd9\x69\x35\xc0\xd3\xfb\x03\xec\xc2\x51\x3c\x39\xae\x06\x78\x7c\x7f\x80\x7b\x80\xc3\xe9\xa8\x1a\xe0\xe8\x2b\x00\x02\x9b\xbd\xf8\xb9\x1a\xe0\xcf\x5f\x01\x10\xb8\xdc\xec\x59\x35\xc0\x67\x5f\x01\x10\x18\xde\x6f\x7f\x2e\x01\x54\x92\xfe\x9f\x25\x4c\x49\x23\x05\xd0\x1b\x01\x02\xd9\x5c\x3e\xdf\x08\xf0\xb9\x16\xae\x20\x54\xdf\x27\x75\x7f\xd8\x08\x10\xc4\xc1\xe8\xc5\x46\x80\x2f\xee\x39\x42\x7f\x5f\xde\xad\x9f\x1e\x96\x00\x5a\xe7\xe6\xbd\x70\xd8\x81\x8b\xdd\x2f\xde\x23\xaf\xf1\x7d\x00\xfa\xdb\xa8\x83\x79\x75\x36\x7c\x0b\x06\x74\xbf\xa4\x08\x9a\xdc\x2a\x36\x02\xd4\xdf\x2b\x18\x4c\x38\x55\xfc\x85\xc2\x52\x62\xe0\x9f\x8c\x6c\xc6\x54\x8e\x0d\x96\xcd\x92\x34\x0f\x96\x79\xd6\x62\xec\x75\x0c\x8a\x2b\x05\xc3\xe4\x6c\x00\xcf\x27\xe0\x4f\x83\xad\xf7\x90\x18\x98\x32\xf8\xc2\x07\x29\x35\xcb\x0f\x18\x56\x96\x74\x5c\x98\xc4\x41\x81\xa2\xb6\x58\x53\x99\x52\x00\x8f\x23\x03\x25\x1d\x3b\x8d\x9e\xe8\xd0\x81\x82\xb3\x4c\x44\x42\xd9\x51\xa8\xfc\x16\x13\x9b\x55\xbe\x47\xa0\x8f\x9b\xef\x15\x58\x0a\x21\x53\x05\xbd\x06\xe1\xae\x14\x24\x34\x9e\xc8\x84\x98\x93\xbd\x53\x2a\x82\xe4\x22\x0e\x7f\x47\xeb\x14\xc4\x4f\x9e\x24\x75\x75\x43\x06\xd2\x3c\x3f\x7d\x76\x32\x3a\x2b\x2a\xdb\xca\xff\x36\x31\xda\x03\xe0\x3a\xbf\xff\xc5\x3d\x42\x80\xb4\xff\x52\xde\xd0\x1b\xb9\x2b\x30\xc3\xeb\xff\xaa\x80\xf2\x5f\x77\x87\xd2\x05\x89\x2e\x18\x14\xa0\xa8\xeb\xd2\xe0\x93\x03\xca\xad\x20\xd1\x3e\xb0\xe4\xf8\x7d\xc0\xce\xd5\xfb\x0d\xb0\xde\xdf\x06\xeb\xbd\x7d\x27\x00\x58\x60\xbd\x5a\xc1\x01\xfa\x05\x0e\x60\x57\xd0\xbf\xc3\x77\xcd\x54\x00\x5b\xf1\xab\x0d\x63\x7b\x75\xdb\xd8\x5e\x59\x63\xdb\x03\x9c\xcd\x5f\x56\x60\xfe\xe5\xdd\x31\xef\xcb\x05\xf4\x1a\x7f\x72\xa1\xf0\x28\xaf\x11\x17\x71\x38\xdc\x46\x28\x92\x98\xbc\xd6\x8f\xdf\x0a\x45\xca\x46\x5b\x3f\x55\x63\xfb\x93\xd6\xfd\xfc\x04\xbc\xfb\x06\xa9\xe6\x34\xbc\xce\x67\x98\xd7\x19\xac\xf0\x2c\xe5\x12\xaa\x99\x07\x67\x6f\x5f\x6c\x12\x57\x9c\x22\x83\x26\x68\xd7\x7b\x01\x1b\xee\xee\xed\x0e\xe0\x24\x3e\x7f\xd1\x7b\x73\xbf\xfe\xb6\xe1\xc0\x65\x5e\x09\x65\x46\x0d\xb6\x09\x8b\x07\xd0\xf4\xfc\xed\x7d\xbb\x3c\x40\xee\xff\xf6\xe5\xf0\xd5\x3b\xc3\x55\x6e\x6c\xe7\xbe\x68\xc0\x5b\x81\x7a\x12\xd8\xc1\x51\xbc\x79\x7b\x76\x3a\x78\x7b\xe3\x8b\x00\xe2\x77\x07\xd4\xd8\xa7\x83\xb7\x2f\x9e\x5b\xa3\xde\x58\x1d\xee\x05\xe7\xfd\xb7\xc3\xde\x2d\xd5\x9d\xc7\x12\x78\xcd\x4b\xa6\x2c\x0b\xaf\xf1\xe9\x0e\x13\x80\x93\x11\x28\x26\x68\x81\xc1\x83\x30\x71\x7e\xf2\xea\x74\xf8\x16\x16\x1c\x36\xe0\x73\xb1\xc6\xd4\x99\xb4\x4b\x8b\x0b\x50\x5a\x89\x6d\xe4\xd3\xcf\x5e\xbf\x1c\x22\xd5\x28\x30\xcf\x92\xb9\xd0\x5b\xfd\x76\x30\xb8\x30\x6f\x7e\x7e\xf7\xc6\x05\xf3\x86\x5f\x88\x77\x8b\xbb\x8e\x66\x07\x47\x73\x3c\x44\xb2\x30\x60\x8e\x45\x64\xf8\xce\xed\xa3\xd9\x25\x21\xe1\xb8\x00\x66\x18\x4f\xee\x03\x66\x87\x26\x75\x4c\x2f\x46\xf6\xa4\x20\x9b\x49\x15\x8d\x57\x6d\xf6\x9e\x5c\x39\xfd\xc6\x25\x8f\x6d\x2b\x32\x2c\x18\x63\xab\x00\x5a\xb0\xce\x65\xbb\x1c\xcc\x29\xaf\xc0\x99\x58\xad\xd0\x96\x0e\x71\xc8\x2e\xab\xa2\xd3\x29\x07\x2b\x98\x07\x3c\x4a\xa8\x95\xd1\xb3\x80\x41\xd1\xda\xdc\xbe\x32\xf0\x78\xa0\x10\xe1\xc2\xb8\x13\x2a\x70\x24\x70\x3d\x7d\x7b\xf2\xf3\x33\x20\x59\x1e\xd4\x48\x39\x23\x4f\x55\x7a\x14\x1a\xdc\x0d\xd2\x9e\x71\x9e\x68\x30\x0b\xd2\xb1\x81\x74\x7c\xa7\xe5\x39\xf7\x77\xe0\xb1\xeb\xd5\xbb\x97\x2f\x5e\x0f\x9e\xdf\xe9\x65\xf0\x43\x98\xcf\x58\xbc\x9c\xd3\x66\x9d\x6a\x5f\x95\x05\x9f\xb0\x0b\x11\x8b\x94\xe7\x24\x3e\x42\x7a\x0a\x70\x15\x41\x97\xad\xcc\xda\xca\xb6\x98\xe6\xd9\x3b\xdf\x73\x1f\x46\xf1\x3d\x1f\x5c\x66\x0d\x24\x65\x80\x9f\x8a\x4c\xc5\xa0\xdc\xda\x62\x68\x64\x86\x56\xe1\x7a\x80\xb1\x35\xa6\x65\x1c\xfe\x75\x69\x8d\xa8\xd5\x52\xda\x33\xdc\x7b\xcf\xdf\xc0\x8b\xce\x46\xb4\x95\x79\xf9\x1e\xb5\xf3\xef\xd9\x6e\x9f\xda\x75\xee\xd9\xee\x80\xda\x6d\xdf\xaf\x9d\xdf\x06\x12\x7e\xfe\x66\xe7\xbe\xed\x7c\x6c\xb7\x7b\xdf\x76\x1d\x6c\xd7\xbd\x6f\xbb\x6d\x6c\xb7\x77\xdf\x76\x3b\xd8\x6e\xff\xbe\xed\x76\xb1\xdd\xc1\x7d\xdb\xed\x61\xbb\x27\x1f\xbf\x9f\x6a\xbe\x7d\x80\x30\x9b\xdf\x13\x66\x17\x61\x3e\xbe\xe7\xfc\x7c\x5a\xf7\xad\xfb\xb6\x23\x3a\x6b\xdd\xb9\x9d\xbe\xf9\xa1\xfe\xea\xb5\x71\xb1\x64\x79\xb2\xb0\x45\xc3\x2e\xcc\xa5\xdf\x43\x3e\xc5\xc0\xb6\x88\x1e\xd4\x9f\x28\xc3\x01\xf9\x4b\xbd\xf0\x9a\xfe\x64\x83\xd5\x40\x17\x5f\xbf\x3f\xa8\x83\xd2\x81\xf7\x9f\x0a\xde\x7f\x56\xc1\xab\x7c\xc7\xed\xc2\x51\xf3\x76\xf8\xe2\x75\x0f\x40\x3a\xf0\xde\x2a\x78\x6f\xab\xe0\x55\x5a\x0e\xec\xe3\x4b\x2e\xc9\x67\x85\xf1\x9d\x2a\x78\xa7\x55\xf0\x2a\x6d\x07\xf6\x61\x4f\x7e\x20\xef\x3b\x84\x67\x99\x10\x38\x57\x92\x02\xbc\x2a\xeb\x81\x0e\xda\x22\xf4\xdf\x9e\x9c\x35\xd1\xb8\xc1\x82\xb7\x77\x33\xbc\x2a\xfb\x81\x0e\x5a\x23\x48\x78\x4f\x4a\xf0\xf6\x6f\x84\xe7\x5a\x10\x68\x92\xf2\xf7\xb6\xd9\xf9\xcb\x77\x67\xc3\x8f\x0d\xe6\xef\xed\xb0\xf3\xf7\xaf\x5f\x34\x3f\xc2\x79\xe2\xef\xed\xc2\x9f\x4f\x3e\x82\x5b\x21\x98\xb1\x19\x73\x76\x4d\x8b\x0a\x12\xe6\xe0\x63\x73\x1e\xf3\x0b\x91\x36\x30\x63\x84\x07\x99\x00\xae\xc0\xba\x07\xa4\x91\x79\xcb\xca\x2e\x25\x3b\x0f\x33\xc6\xa3\x2c\x29\xbc\x37\x79\x19\x6b\x7e\x52\x76\x40\x92\xb8\x5d\x6f\xd6\x21\x66\xb5\x34\x99\x80\x51\xbf\x90\xa4\x94\x42\x1f\x8e\x2f\xe5\x67\x75\x37\xfb\x7f\x5b\x36\xde\x90\x84\xce\xf1\xc6\x45\x23\x4a\x6c\xf0\x06\x7a\x77\x12\x86\x38\x31\x14\x6e\xb3\xcb\x32\xb1\x0c\xd0\xa2\xac\xf3\x77\xaf\x6a\xba\x59\x90\x26\x94\xb2\x1b\x7f\x85\x8c\xa3\xe3\xe5\x74\x2a\xd2\x6f\x9f\x3b\x08\xf4\x9b\x52\x33\xba\x53\x9f\x25\x73\xf1\x5c\xac\xb3\x53\x1c\xd0\xaf\xf6\xbc\x2d\xbf\x02\x4c\x22\x55\x69\x66\x6a\xaa\x5b\x66\xdb\x85\x5e\x2a\x4c\xb5\x95\x61\xa3\x83\xad\x67\x6e\xa8\x66\xfb\xdb\x6b\xfc\x56\x4e\x49\x6d\x42\xaa\x22\x26\xe5\xe4\x31\x44\xd0\xad\x4b\xa6\x8c\xf5\xfe\xd1\xeb\x23\xef\x26\x7f\xc0\xf2\x54\x9b\x01\x7f\xcf\xf5\x19\xdd\xb0\x3e\xa3\x3b\xae\xcf\x30\x9e\xfc\x8b\x2f\x0f\x5d\x64\xef\xb6\x42\x0b\x7e\xb1\x71\x85\x4a\x48\x3a\xdf\xfd\xbb\xf7\xf4\x56\x0c\x61\xff\xdf\x8e\x24\x44\x42\x9e\x2e\x05\x3b\x1e\xbe\x00\x47\xda\x6c\x39\x86\xd0\x40\x22\xe7\xc6\xaf\x41\xf9\x19\xbe\x8e\xcd\x51\xd0\xa0\x78\xb5\x97\x31\xb1\x65\x1e\xa9\x3c\x51\x0c\x03\x21\x52\x5e\xf3\x0b\x91\x33\x2e\xe1\x53\x8a\x14\xcc\x94\xf0\x98\x05\x11\x0f\xe7\xe4\x8d\x52\x68\x1f\x27\xb9\x72\x45\x6e\x38\x7d\x48\x28\x18\x28\x5a\xa7\x3c\x87\x18\x42\x31\xc5\x73\xe0\x18\xad\x17\x53\x04\x86\x10\x82\xda\x9a\x05\xeb\x73\x88\x17\x1b\xab\x7a\x8b\x54\x4c\xa1\x83\x80\xc7\x72\xe6\x14\x34\xc4\x9d\xbc\x0e\x1f\x11\xf0\xec\x3e\x44\x72\x2c\xa2\xbb\x1d\x2e\x3c\xca\xb5\x0f\x07\x26\xe5\x33\x2e\x1d\x3f\xfc\x40\xbb\xac\xd4\xc4\xce\x83\xf6\x83\x71\x49\x28\x93\x14\x18\x50\x3c\x2d\x1e\x3b\xdb\xff\x8c\x63\x47\xeb\x4a\xfe\x88\x9d\xd3\xbd\xeb\xce\x81\xb0\x43\xff\xda\x0c\x46\xa9\x63\xee\x86\xa7\x12\x73\x2e\x88\x27\xb6\xab\xe9\x26\xc4\xbc\x08\x63\xcd\x52\xee\x81\x18\x37\x3a\xd3\x37\x3a\x72\xdd\x7e\xe6\xfc\x44\x6b\xdd\xf3\xd8\x21\x9d\x2a\xbd\x7f\x02\x1d\x1b\x4d\xd7\x3f\x76\x81\x0c\xe5\xfe\xeb\x2f\x51\xdf\x2c\x51\xdf\x5d\x22\x4c\x3d\x47\x41\x9c\xe6\x3c\x5d\x6f\x41\x40\x84\x98\xe7\xb0\x58\x42\xc4\x99\x72\x3f\x2f\x2f\xde\x5d\x57\x09\x1f\xcd\x9d\xe5\x51\xe9\x94\x2a\xc2\xed\x18\x64\xaf\xc2\x85\x18\x24\x71\x2e\xe2\x3c\xfb\x66\x26\x01\x4f\xa9\xf0\xe6\xea\xb7\x5a\x07\xc5\x47\x55\x45\x86\xf2\xa6\xe4\xc4\x9b\xa0\xd3\xd6\xdc\x9d\x10\x84\x79\xc1\x3d\xa0\xe4\x7c\x18\xc2\x29\x5a\x53\xca\xb7\x85\x08\x42\x1e\x59\x01\x90\xe6\x70\x8b\x83\x50\x17\x09\x76\x13\xc6\xec\x5a\x4e\x44\x76\x7e\x11\x27\x73\xd1\xd4\x33\x47\x0f\xd1\x94\xc7\x17\xf0\x84\x9c\x0a\x80\x0c\xfd\x75\x5a\xad\x7d\x38\xcf\x25\xa8\x95\xca\x58\xc6\x60\x52\x98\x08\x89\xc4\x02\x88\xa6\x8a\x5a\xcd\xd5\x2c\x89\x14\x38\x1a\xd9\x9d\xd7\x8e\x2c\x4e\x6f\x58\xbd\x7f\xbe\xab\x59\xf9\x1c\xd7\x98\x94\xcb\x4e\x73\x18\x8b\x94\x8e\xe7\xaf\xbd\x2c\xaa\x94\xb7\x9b\xd3\x97\xb8\xe9\x6f\x7d\xef\x50\x9f\x8b\x3e\x49\xe3\xf8\xa5\x63\xbe\xa8\x57\x39\xfb\xf3\x76\xe1\xf3\xb9\xfb\x79\xa7\xf0\xf9\x97\x5f\xdc\xef\xbb\x85\xef\x1f\xdd\xcf\xdd\xc2\xe7\x5f\xdd\xcf\x7b\x85\xcf\x9f\xdc\xcf\xfb\xd6\xa4\xb4\x3c\xa3\x3e\x1e\x58\x1f\x0f\xbc\x52\xe8\x00\x7b\x2f\xf6\xa2\xfc\xde\x5b\xf1\x2e\x14\x4b\xe6\xcb\x37\x10\xec\x2d\xe4\x82\x00\xbe\x9d\x5a\x6e\xad\x49\x4a\xa1\x8d\xdc\x0a\x8c\x42\xfe\x08\x14\x29\x13\xf1\xaf\xc7\x11\x41\xf8\xe7\x22\x89\x04\x87\x5f\x07\x90\x3a\x32\xce\x45\xba\x48\x4d\xe6\x7b\x0a\x0f\x0b\x37\x94\x20\x59\xac\x59\x90\xcc\xe7\x3c\xae\x4e\xcf\xb1\x81\xf3\x0d\x6e\x42\x11\x05\xa3\x10\xca\xc3\x77\x03\xba\x2e\x44\x7e\x4c\xb1\x93\x6a\x75\xf9\xd7\xa9\x6a\x63\xe5\xe9\x7b\xa8\x01\x41\x7c\xe3\x28\xe2\x8b\x4c\x4c\x9c\x60\x11\x0e\x74\x29\x29\x0c\x06\x72\x56\x05\xf4\xdb\xe9\xa8\xd0\x60\x49\x99\x14\x01\x0e\xec\xc8\xae\xb6\x61\x12\xe2\x52\x62\x52\x3d\x61\xb6\x0c\x9c\x37\x94\xca\x51\x59\x5d\xb1\xf1\x9a\x45\x22\xcf\x55\xbc\xb8\x42\x6e\x49\xec\x16\x4d\xb1\xe6\x49\x96\x1b\x40\x54\x91\xf2\xbd\xaa\xe8\x3a\x8f\x93\x38\x5a\x3f\x66\x2b\x0e\x91\x9e\x30\x7a\x70\x2e\xae\x73\xe5\x30\x1c\x44\xe1\x02\x95\xee\x96\x53\x2c\xb9\xc4\x7a\x93\x34\xbc\x12\xcd\xf1\xda\x63\x2b\x31\x56\x63\xbe\x81\x78\x21\x25\x8a\x5e\x81\xde\x34\x17\xa9\x44\xa3\xed\xbb\x9b\x89\xfc\x2c\x9c\x8b\x64\x99\xd7\xcc\xaa\x04\xb4\x26\x67\xc9\x30\x9e\x40\x40\x57\xf3\xb1\xde\x60\xbb\x26\x1b\x55\xc1\xd5\xf5\x2e\xfe\xb1\x56\x56\xa9\x87\x37\xac\xf3\x4d\xcb\x8c\x86\x64\x7f\xc4\x62\xcf\x79\x0c\x82\x8d\x32\xc2\x83\x8c\x3c\xab\x24\xbd\x84\x58\x4c\x59\x98\x2f\x29\x62\x24\x64\x49\x35\x80\x54\xc0\xb0\x96\xb8\x16\xc1\x00\xf7\x5e\xcd\x93\x20\xbd\x3a\x6a\x9f\xa3\x64\x65\x12\xb0\xfd\x4b\xac\xd9\xa6\x01\x24\x8b\xb5\xee\xff\x2c\x19\x28\x82\xac\x15\x02\x96\xdf\xe9\x06\x60\x45\x34\x37\xc7\x68\x7b\xbb\xfa\xea\x44\x1c\xee\x95\xe4\x70\xc9\x02\xc2\xf6\xc7\x62\xa5\x74\xfe\xc4\xfa\xe1\x29\x3b\x4a\x50\xf6\xbf\x97\x60\x77\xdb\x09\x50\xa6\x38\xec\xb9\x25\xc7\x52\xd3\x2b\xac\xfb\x9e\x81\x12\xc7\xf3\xca\x51\x87\xbc\x00\xa4\xd2\xa3\x38\x69\x04\x51\x92\x89\xa3\xb5\xc8\x1a\xa9\xc8\xc2\xdf\xf1\x57\x75\xb9\x48\x33\xf8\xd3\x73\xf2\xdc\x11\x88\x79\x18\x87\xf3\xf0\x77\x3e\x8e\xb0\xcd\x2a\x9c\xe4\xb3\x23\x8f\x3d\x51\xa3\x0a\xe3\x58\xa4\x1f\x64\x69\x55\xf3\xc6\x4c\x84\x17\xb3\xbc\xd4\xe0\x19\x14\x7f\xdb\x55\x4e\x2e\xa1\xb8\x71\x09\xdf\xc3\x21\x95\x65\x4b\x29\x25\xe3\xb3\x89\x75\x20\x15\x03\x05\x8f\xc5\x8c\x5f\x85\xd0\x02\x03\xbb\xcb\xfa\x14\x18\x57\xa9\xcb\xb2\x4c\x64\x8e\x15\x29\x9a\x23\x60\x0e\xf6\xc7\xd8\xe7\xc6\x26\xef\x29\xd3\x3b\x45\x01\x9c\x46\x21\x3c\x32\xd9\x51\xeb\x3c\xc9\x7c\x9a\x57\x4d\xe8\xdc\x03\x05\x1d\x46\x65\xa5\x01\xdf\x95\xca\xde\xdf\x46\x65\x35\x3b\x18\x89\xca\xe0\xe6\xb0\xc0\xf7\xf0\xd2\x63\x29\xc5\x6b\x6e\x8b\x0a\xae\x49\x4d\xec\xb4\xdf\x42\x65\x50\x27\x37\x75\x39\x31\x88\x41\xb6\x4c\x33\x11\x5d\xa1\x15\x08\x44\xef\x89\x22\x7d\x56\x6d\xbd\x3e\xc5\xb4\x64\x84\x37\x2b\x8f\x1d\xb5\x6f\x31\x79\x3d\xe4\xe3\x68\x0d\x56\xc5\x73\x1e\xbc\x3e\x6d\x50\xed\x2d\x7b\x7d\xac\xc0\xf4\x3a\xe7\xf2\xb3\x64\x25\xae\x44\x4a\x27\x22\x64\x50\x66\xe9\x32\xc6\x78\xfc\x2b\x31\x06\x33\x92\x34\x44\xe2\x83\xc7\xbd\x70\xca\xc2\x9c\x4d\x79\x18\x65\xa0\x2f\x85\x54\x67\x0a\xdc\x94\xd3\x0d\x9d\x58\x83\x7d\x4c\xc7\x3c\x0f\xaf\x84\x21\xad\xda\x2c\x59\x88\xe9\x32\x8a\xd6\x75\x96\xc9\x4b\xeb\x32\x6b\x6d\x10\x37\x6c\xd9\x0f\xf2\x2e\x7c\x0d\xdb\x13\x51\x26\xee\x7b\x36\x16\xf6\x98\xdf\xad\xdc\x63\xe5\x94\xe0\xdf\x9f\x5f\xa2\x09\xed\xff\x2d\x7e\x99\x2c\xf3\xfb\xf1\x4b\x68\xf0\x3d\xf8\xe5\xb7\xc8\xfb\x64\x80\x9f\xd8\xef\xd0\x4a\x04\x85\x90\xd4\x9b\x2f\x02\x18\xc7\xd0\xbd\x0b\x50\x66\x27\x3b\xe1\x81\x25\x2a\x49\x16\x5c\xc1\x43\x61\x0c\x24\x73\x51\xfa\x79\x78\x74\x07\xfd\x4e\xca\xe3\x6c\x1e\xe6\x8c\xc7\x2a\xc9\x64\x2d\x9c\xb2\x62\xfa\x4d\x10\xa5\xea\x14\xd5\x19\xdf\xf7\xbd\xc0\x93\x1d\x7a\x03\xaf\x6a\x60\x8e\x08\xb7\x02\x8a\xc7\x19\x5b\x08\x50\x11\xd5\xe9\x89\x04\xde\x53\x40\xc5\x97\xa0\xc2\x08\x63\x66\xab\x3b\x4b\x96\x98\x99\x5d\xc6\xc9\x2a\x03\x85\x92\x00\xfb\x96\x99\x98\x53\x5e\xad\x48\x56\x4b\x40\x83\x83\x37\x4e\x44\xe3\x8c\x43\x2c\xd5\xa4\xb0\x2c\xe3\x35\x86\x09\x99\x85\x86\xf3\x40\x4a\x9f\x0b\x1e\xde\x6b\xb3\xdd\x7a\xf7\x52\xdb\xe9\x8e\x57\xaf\xa7\xa5\x3d\xca\x3e\x7f\x36\x52\xaa\x7b\x31\xab\xba\x85\x61\x94\x28\xc0\x20\x24\xc0\xa5\x07\xb2\xb1\x90\xd3\x9c\x89\x68\x02\xd4\x62\xd3\x91\x1e\x61\x41\xf6\xd6\xf6\x85\x84\x34\x13\x11\x8e\x82\xf3\x27\x13\x81\x41\x65\xf9\x04\x75\xaf\xc3\xd3\x01\xab\xa6\xa1\x3c\x5d\x1a\x03\xd4\x95\x20\xe4\x53\x78\xf6\x89\x08\xc2\x89\x64\xf9\xf9\x4a\x88\x18\xe8\x0b\x6c\x1a\x81\xc0\xcc\xee\xad\xd4\x67\x39\x01\xc2\x20\xd5\xaf\x93\x8b\x5e\xa5\x3b\x06\x73\xd7\x88\x76\x5b\xe1\x26\x28\xf7\x40\xc5\xf5\xfb\x1b\x64\x7d\x4b\xce\xb7\x03\x46\x6e\x5c\x46\xe7\x0a\x50\xab\xb3\x2f\x5a\xec\xff\x72\x17\x66\x84\xc7\x50\x99\x13\x41\xdc\x9f\xc4\x84\x0c\x82\x65\x7c\xdf\x60\x13\xb1\xa0\xfc\xe3\x49\x5c\x16\x98\x58\x0f\x0d\x82\xa1\xb5\xc5\x41\xde\x63\xbe\x73\xc9\xcb\xee\xc4\xc7\x50\xba\x2b\xc9\x90\x77\xdd\x58\xb7\xca\x63\xdf\xac\xcd\x29\x3e\x1d\xa2\xbe\xe8\xbd\x0e\x34\x75\x33\x24\x1d\x60\xea\x7e\x87\xc4\x33\xa4\xb9\x69\x12\xe7\xec\xf7\x24\x99\x5b\xf9\x0d\xad\x68\x47\x5e\x66\x52\xc0\xca\x5a\x6c\x06\x14\x3a\x0e\x73\x8c\x90\xae\x44\xf4\x9c\x05\x22\xcd\xb9\xaa\x15\x89\x2b\x81\xd9\x49\x59\x2f\x47\x03\xe0\x39\xa7\x24\x0a\x24\x9a\x61\x58\x6e\x9e\x2d\x53\x31\x61\x78\x74\x62\xae\xfb\x34\x59\x41\x98\x5b\x71\x9d\xb3\x09\x64\xa1\xc8\x48\x93\x81\xfc\x98\xea\xc2\xeb\xc2\x8a\x67\x4c\x5c\x2f\xa2\x30\x08\xf3\x68\x2d\xc9\x5d\xcd\xe1\x83\x4e\xb6\x28\x9c\xad\x06\xc3\x53\xb1\xc4\x24\x53\xbe\xc0\xef\xf8\x50\xfb\x26\x49\x73\x2f\x43\xa4\x48\xd9\x01\xa4\xd7\xc7\x14\x73\x4c\x56\x83\xe9\xde\x95\x7a\x5c\x53\xce\x5b\xa8\xe8\x61\x85\xca\xca\x01\xf0\x17\x39\x72\xe7\x21\xd9\xe5\xb4\x70\xfd\x78\xf3\xf2\x2f\xea\x4d\x21\xc3\xb9\xea\xe7\x28\x9b\x09\x6b\x0b\x85\x44\xbb\xeb\x41\x73\xa8\xb4\x11\x08\xa4\x37\xb1\xa0\xd8\xb6\x0e\x0a\x0c\x9d\xed\x6c\xc5\x31\xe0\xab\xb6\xe6\xd7\x2f\x1d\x18\x21\x3b\xcb\x05\x87\x24\x63\x7c\x3a\x95\xec\x27\xbe\x80\x9e\x8c\x44\xed\x30\x59\x88\xf6\xda\xfc\x54\x8c\xf3\x2a\xc5\x85\xa9\xf7\x14\x3a\xfe\xf5\x93\x36\x16\x7c\x1d\x47\x6b\xf6\xeb\x27\x39\xc4\x2b\x1e\x85\x13\x24\xb6\x84\x84\x22\x27\xdd\x7d\x9c\xa8\xd0\xca\xad\xaf\x92\xcf\x6e\x60\xcd\x17\x22\x97\x4b\x36\xe2\x41\x9e\xa4\xb5\x3a\x7b\x68\xe5\x32\xb7\xf3\x0b\xc2\x0d\x2a\x67\xfe\xa1\x8f\xb8\x9e\x42\x83\x86\x3e\x24\xe4\x95\x88\x3d\xd9\x6a\x6e\xb5\x91\x6e\x15\x22\xe1\xda\xe9\x28\x0a\xa1\x3d\x5e\x7a\x24\x15\x0b\x9e\x85\xc8\x1b\x95\x8d\xfd\x92\x78\xe5\x85\xc0\x48\xa0\xf2\x77\xbf\xdd\xfe\xf7\x3b\xce\xdd\xb9\x65\x40\x32\x76\x48\x0a\x72\x73\x76\x7a\xc8\x35\x4f\x2b\xd8\xf6\x0a\x29\x67\x2b\x5e\x8c\x45\x3e\x4a\xe2\xfc\x34\xfc\x5d\x50\xca\x7a\x27\xcf\x2c\x28\x91\xe5\xc6\xbc\x49\x88\xd1\x00\xea\x56\xc6\x5b\x35\x86\xa6\x27\xe5\x98\x32\x75\xa1\xb5\xb6\x19\x1f\xf4\xd2\x3c\x62\x7e\x65\xb6\x5b\xf8\xfa\xc4\x7c\x7d\x70\xe3\x2b\xb8\x35\x24\xd9\xb0\x7e\x77\xf1\xde\x7a\xa0\xbd\x47\xda\xa8\x05\x65\xab\xfa\xbf\x92\x3c\x1d\x73\xae\xc9\x01\xe8\x6c\x00\xe3\x30\xc7\xa7\x76\x15\x84\x0f\x62\x58\x83\x0c\x37\x0d\x63\x41\x06\x12\x85\xc4\xbd\x67\x76\x3e\x01\x48\x85\x06\x26\xc3\x22\x5e\xce\x05\x66\x2e\xa7\x71\x65\x39\xcf\xc3\x80\x55\xe5\x3d\x93\x70\x74\x3a\x35\x15\x1a\x1b\x82\xc7\x6b\xc8\xa4\x24\x02\x51\x93\xfd\x7f\xec\xbd\x7b\x7f\x1b\x37\x92\x28\xfa\xbf\x3f\x05\xa2\x3d\x1b\x92\x63\x92\x92\x9c\x38\x0f\x3a\xca\xae\x2c\x2b\x89\x6f\xfc\xba\x92\x6c\x67\xd7\xf2\xf8\x82\xdd\x20\xd9\xa3\x66\x83\xd3\x00\x45\x31\x13\x9f\xcf\x7e\x7f\xa8\x2a\xbc\xfa\x41\x52\x8a\x93\xb3\xb3\x7b\xfc\xdb\xcd\x50\x24\x50\x00\x0a\x85\x42\xa1\x9e\x13\x9e\x2b\x01\xa2\xee\xde\x5f\xf6\x8c\xe4\x5a\x2e\xe1\xe2\x2b\x94\xbd\xd0\xc2\x0a\x07\x58\x95\x6d\x0c\x85\x7f\x95\x28\x34\xf5\xc7\x0e\x46\x40\x84\xdf\x0b\xa9\xf1\xb1\xb1\xf7\x97\x3d\x0f\x0b\x4a\xf9\x09\x55\x74\xa0\xac\x9b\x6e\x77\x38\xb0\x75\x4b\x83\x0b\x49\x2d\x44\x12\x38\x17\xd8\xda\xc2\x27\x72\x09\x0f\x86\x83\xb0\x92\x0f\x26\xc3\x04\xcb\xb8\xfd\x13\xce\xd9\x2e\x45\xe3\x26\xb2\x34\xb8\xf2\xd2\xe8\x5c\xa6\xa1\x0f\xc9\xbb\xb9\x4c\xdf\x13\x70\xfc\xfc\xdb\x6f\x88\x82\x47\x91\xae\x85\xda\x1d\xb1\xce\x5f\xdc\xa5\x50\x9f\xf9\xfd\xfb\x70\xd2\x50\x97\x6d\x7e\xee\xc5\xfe\xd9\x6f\xcc\xed\x50\xa1\x88\x2d\x48\xf3\x6b\x61\x47\xec\xdd\x3d\xc6\x3a\x70\x25\x76\xfa\xa8\xff\x33\xff\xcb\x73\xf8\xd3\x3c\x3e\x3a\xf7\xde\x87\x74\x9c\x60\x89\x6a\x48\x92\x0e\xfc\xd7\x30\xe6\x63\x28\x87\xe0\xe5\x06\x28\x85\xdd\x8b\x64\xb1\xa8\xca\xbf\xb9\x59\x15\x45\xaf\x1b\xe9\x09\x6f\x59\x5e\x42\x1d\x3f\x2c\xa4\x6c\xab\x83\x24\x5a\x28\x6d\xcb\x9c\x2d\x6c\x61\xe9\x49\x56\x2a\xdd\xc7\xd7\x2c\xd7\x2c\x97\x52\x89\x7c\xed\x4a\x4e\xb9\x76\x70\x41\x72\x66\x9e\xdb\x50\xda\x48\x96\x99\x5e\x9b\x3e\x50\x81\x04\xea\x17\xb9\xc6\xb7\x28\x44\xcf\x77\x6c\x37\xde\xb2\x11\x41\xcd\xef\x90\x92\x7d\xbe\x61\x43\x2b\xbc\x42\xca\xdf\xb1\x71\xfc\x4d\x24\xb2\x0f\x0e\x9d\x85\xb1\xda\xf1\xfb\x8d\x1d\x0f\x43\x71\xfe\x20\xa2\xb1\x57\x65\x76\xcd\xb5\xb0\x59\x7d\x2d\x9b\xb2\x85\x17\xa9\xb6\xd7\xc2\x96\x0e\x37\xcf\x7e\xa5\x49\x58\x09\x7e\x51\x54\x70\x12\x2a\x54\xc8\x55\x81\x1e\xa9\x35\xbc\xdb\x32\x93\x86\x6c\xa8\xbe\xa4\x0e\x2a\x52\xba\x76\x54\x46\xf2\x23\xb2\x23\x74\x87\x25\x5b\x18\xe5\x4e\x0f\xcb\x8b\xbf\x56\x62\xb2\xcc\x31\x51\xc3\x5a\x2e\x81\x04\xb1\xd0\x8e\x96\xb6\x26\x0f\xf0\x23\x24\x0a\x5c\x9b\x5d\x0a\x2f\x6a\x8b\xd9\x76\xc6\xfc\x61\x00\x50\x91\xe8\x2c\xc7\x7f\xeb\xe3\x38\xcf\xcd\x6f\x75\xf3\x3b\xb0\xa7\xcf\x8e\xcc\xf2\xed\x9f\xd1\x5e\x11\x37\x21\x11\xa6\xbc\x76\x19\xbb\x3f\x01\x0b\x33\x10\xe7\x32\x7d\xc3\xf3\xa5\x21\x4a\xf3\x93\xb9\x52\xe4\xf8\x6f\x3d\xf6\x6f\xe6\x7f\x90\x6f\x8d\xaa\x2c\xed\xb3\xf2\xda\x30\xba\xee\x67\x7e\x61\x56\xb3\x1f\x71\x3a\xd3\x28\xfa\xd2\x0e\x16\x0b\xc6\xb6\xca\x81\x59\x9b\x1b\xa9\xc2\x06\x3d\xbd\x96\xd7\x8f\x9a\x0a\xa4\x12\x61\xd4\x2b\xa0\x12\x5d\x65\x58\x7d\xd1\x57\x4a\x8d\x49\xf9\x7f\x66\x01\xd4\x76\x22\xa6\xa2\xa1\xad\x45\x50\x43\x5d\x00\x52\xbd\xfd\x9d\x64\x80\xde\x6e\xbb\xd4\x7e\xdd\x67\xca\x17\x9d\xb3\x6a\x7d\x4e\x52\x08\x68\x57\xc5\xee\x5c\xfc\xd6\x6b\x6f\x90\x39\x7c\x59\xd5\x4d\x18\xa0\x26\x7d\x58\x6a\x6f\x17\x49\x58\x2e\x50\x76\xfe\x27\x2f\x9c\x4a\x1b\xfd\xef\xe6\x57\x33\xc8\x75\x26\x56\x54\xba\x25\xcb\x05\xcb\xe6\x0b\x2a\x01\x14\x14\x23\x7b\x89\x4b\xc7\x72\xa5\x50\x86\x08\xcb\x51\x2a\x2d\x4b\xa1\x5c\x46\x74\x73\x16\x30\x79\x7a\x22\x8b\x94\x2a\x3d\xd9\x47\x62\xe4\x55\x69\xe8\xc2\x1e\x77\x03\x0e\xae\xaf\xf0\xf5\xce\x94\x28\xcd\x19\x94\x13\x06\x44\x23\xa0\x9a\xa9\x53\xd0\x29\x7e\x9d\x15\xd3\xfd\x52\x98\x19\x50\x01\x23\xcc\x05\x40\x35\x92\xec\xe8\xe6\xb1\x9a\xaf\xa9\x78\x93\x34\xe7\xf5\x3a\x4b\xb1\x1c\x19\x57\x6b\x72\x73\x31\x53\x4c\xe4\x7c\x2e\x0b\xd3\x75\x92\x4d\x97\x25\xa8\x93\xe0\x6e\xa4\x5d\xb7\xf1\x1e\x65\x36\x85\x84\x24\xb0\x51\xe3\x35\x3b\x91\xe5\x9a\x3d\xe7\x49\xc2\xcb\x92\x48\x7d\xdf\xfb\xf5\xca\x42\xe9\x72\x69\x1e\xde\x0e\x0f\x4d\x18\xa5\x51\xc0\xbd\x94\xa3\xd6\xc2\x69\x6c\x69\x41\x16\x4e\x83\x99\x1a\x5f\x1b\x5c\xc5\x8c\x46\x2f\x46\xfb\xfb\xab\xd5\x6a\x78\xad\x0f\x0f\x0e\x86\x85\xd0\xfb\xa9\x4c\xd4\xfe\xb5\x7e\x78\x78\x30\x28\xe7\xfb\x4f\x4e\x4f\xce\x2f\xce\x50\xe6\x4a\xc4\xc2\xaa\xbe\xcc\xbb\x05\xcb\x72\x2d\xb5\x5c\x95\x7c\xc1\xba\xe6\xbf\x58\x4c\xb5\x17\x26\x12\x47\x3f\x57\x2c\xa5\x27\xc4\x5c\x91\x56\x6b\x2c\xd8\xca\x7c\x87\x5e\xb5\xe6\xe9\xd0\x7c\xfe\x09\x05\x47\x1f\xcd\xea\x3f\x80\x72\xfa\x25\xa1\xc1\x95\x25\x00\x6d\x9a\x5c\xac\x51\xc8\x08\xd0\x10\x30\x0a\x8b\xca\xf0\x32\x27\x80\xce\x33\xd6\x9c\x40\xae\x75\x99\x8d\x97\x1a\xca\xac\x93\x71\x06\xca\xef\x1a\xec\x2d\x96\xe3\x3c\x4b\x3c\x81\x01\x75\xf0\x24\x11\x4a\x51\xc8\x27\x02\x72\x54\xec\xe2\x2a\x3c\x72\xd8\x91\x5f\xc9\xbf\xb9\x8f\x61\x83\x91\x2b\xe2\x41\x95\x4a\xaf\x45\xa9\xc4\xdb\x6d\x10\xea\xed\x82\x9b\x1e\x20\x49\x20\xcb\xe7\xf8\x82\x6a\x02\x11\x34\xa8\xf6\x35\xfb\x7c\xc2\xcb\x32\xe3\x53\x41\xec\xbf\x19\x46\x43\xc3\x2a\x2c\x3c\x83\x6f\x32\xac\xdf\xd4\x0c\x26\x6e\xd3\x0c\xe1\x71\x9e\x15\x57\x1b\xfb\x63\x8b\x6a\xef\x0c\x02\x52\x37\xe0\x21\x68\x50\xed\x4b\x58\x7e\x93\xa5\x42\x6e\xde\x08\x6c\x52\xed\x3f\x2e\x79\x72\x25\xb4\x48\x31\x1e\xb6\x19\x42\xa5\x91\x83\xb1\xfd\xfa\x59\xf0\x52\x89\xf2\x9f\x5d\xf7\x72\xdb\xb2\xdd\x95\x33\xcf\x5e\x19\x2c\x34\x97\x03\x5c\x17\x9a\xdf\xe0\x4d\x62\x78\x2d\x9a\x53\x9d\x2d\x6f\xa9\xb4\x9c\x67\xbf\x72\xc7\xcd\x2d\xfb\x00\x88\x65\xbd\xf4\x19\x4c\x80\x99\x29\x18\x81\x83\xfd\x03\xcb\x62\xe2\x13\x88\xd0\x85\x5f\x81\x96\xf3\x2f\xfb\x96\x0c\xe8\xb7\x23\xd6\xc1\xe0\xab\x2a\x9c\x02\xfc\x75\x11\x8e\x2b\x25\x22\x95\xad\x45\x1c\x82\x5a\x48\x85\x4a\x92\xd6\xe9\xfc\x1b\xc1\x71\x6e\xfe\x14\x39\xb8\x05\x70\x32\x63\x47\xbe\x70\x7c\x84\x88\x40\xc6\x12\x65\x29\x23\xc4\xcc\x85\x52\x7c\x2a\x22\xb1\xaa\x10\x2b\x76\x6a\x1a\x76\x3b\x00\x80\x61\x2f\xae\xa1\xf0\xa4\x5b\xc6\x7d\xd6\xc1\x52\x94\x16\xc6\xc6\x91\x33\x65\x5e\xe0\xb9\xd0\xa2\xbe\x2f\xa1\x38\x07\x08\x3a\x0a\xf1\x6e\x0b\x0a\x6e\x82\x5e\xab\x75\x87\x5d\xe1\x16\xfe\xb0\x90\x2a\x50\x58\xb9\xcd\xc4\x0f\x8f\xe2\x9d\xa1\xf6\xe6\xf5\xe4\x35\x59\x80\x5b\x9a\x4c\xac\xb4\x0e\x5f\xef\x80\xaa\x7a\xb4\x15\xea\x73\xc2\x6f\xcd\x71\xa4\xd7\x0a\x3e\x54\xa4\xab\xcb\x1e\xd4\x49\xf2\x37\x3f\x94\x05\x0f\xd7\x4d\x65\xa5\xe1\x69\x61\x3b\xfc\x2c\xd6\x2a\x72\x79\xe0\x2e\xe3\xcd\x90\xb1\x9f\x05\x09\x1d\xa9\x70\x9e\x69\x1c\x7c\xa1\xc4\x14\xdd\xde\xcd\x5f\x0e\xac\xb3\xa2\xb5\x0e\x6b\x0b\xe8\x0f\x19\x7b\xee\x4b\x3b\xa1\x92\x15\x2b\xeb\xfb\x52\xbc\x7f\x93\x66\x21\x20\x47\xe0\x7b\x22\x85\x1a\xdc\x41\xc4\x0a\x22\xa9\x60\x86\x81\x96\x99\xba\x02\x6d\x25\x4d\xd3\xaa\x41\xb2\x22\xc5\x32\xa8\x2e\x96\x76\x59\xf8\x7a\xa1\x91\xd2\xd5\xdc\xfe\x56\xfc\xb2\xd0\x83\x02\xd8\x23\x7c\xd4\x1d\x8f\x18\x3c\x9f\x05\x79\xde\xf2\x28\x47\xd5\xde\xf1\x5e\x3c\x45\xc6\xd8\x57\x0f\x47\xec\x1c\xdf\x42\x98\xa4\x8c\xbe\x3f\xb8\xf9\xf2\xb0\xf9\x17\x70\x52\xab\x0e\x84\x5f\x86\x2d\xda\x00\xc3\x8f\x5b\xa0\xa3\xa5\xbb\x71\x0c\xfa\x29\x6c\xfd\x97\xb0\x25\x4e\x04\x2a\xe5\xae\x84\x11\xa7\x54\x50\x75\x31\xa2\x58\xc0\xb9\x4d\x12\x4a\x85\x93\x0d\x43\xc8\x05\x57\x81\xed\xc9\x10\xc0\xb1\xab\xf2\x0b\xcc\x9e\xce\xb6\x7b\xd4\x57\x1e\xf3\xa0\x12\xed\x83\x49\x31\x28\xa7\xd3\xb7\x64\x84\x43\xf9\x07\x7c\x9d\xcb\x07\x4c\x00\xae\xd3\x9f\xc5\xfa\xdc\xce\xba\xc6\x68\x9c\x1a\x07\x75\x30\xae\xa0\xae\xe1\x9b\xf7\xa0\x4a\x52\x58\xdd\xf4\xca\x3f\xef\xb7\x1c\x3c\x57\xea\xea\xfa\xdd\x4e\xed\xdf\x5d\xbd\x7f\x1f\x29\x5c\xcc\xb8\xab\x99\x79\xac\x75\x1d\x33\xfa\xae\x81\x09\x46\x41\x94\xea\x2a\x5b\x9c\x2f\x78\xe2\xad\x57\x66\xd6\x5a\x5e\x09\x17\x34\x01\x28\xb9\x30\xdf\x58\x8f\x6a\xd0\x7f\x99\x2f\x86\x70\xe9\x1c\x1d\xb1\x0e\x71\x81\xc0\xa2\x55\x5e\x07\xda\x7b\x6c\x7d\xcd\x73\xd2\x7c\x39\x0b\x57\x13\x28\xb7\xe0\x4e\x5c\xad\x6d\x99\x58\x4d\x57\x00\x6e\xa8\xe5\xeb\xc5\x42\x94\x27\x5c\x09\xef\xf1\x6d\xc0\xda\xe6\xbb\x6e\x80\x0f\x21\xf7\xee\x0d\x5b\xba\x0c\x67\x5c\xbd\x5c\x15\xaf\x48\xdd\x63\x87\xec\x85\xce\xef\xa4\xa4\x73\xa5\xa5\xb6\x6d\x2b\xc1\x78\xff\xc8\x41\x30\x8b\x29\xaf\x51\x09\xf7\xf9\xe7\xcc\x7e\xfc\x2c\x32\x47\xe0\x8e\x96\xe0\x71\x97\x29\xbc\xa4\xc3\xc2\xcf\x76\x0c\xbc\x6e\x03\x04\xf6\xfc\x40\x16\x72\xa0\xa2\xac\x6c\xd5\x2e\x38\x75\xdc\x3b\xc2\xe7\x36\xb4\xba\xcb\x60\x07\x94\x46\xa4\xb5\x15\x62\x80\xd1\x78\x41\x1e\x60\x1d\x71\xaf\x8b\xab\x42\xae\x40\x0b\xd9\x8e\xb1\x8f\xdb\x48\x59\xad\xe7\x63\x99\x77\xe2\x4a\x75\x01\x24\xa7\x68\xf5\x53\xf1\x75\x91\xd3\x5b\xb3\x0e\x4f\x70\x8b\x9d\xc9\x2d\x4b\x03\x4a\x73\xea\xe1\x77\x8b\xf7\xbd\x68\xf3\xe0\x2b\x76\xc4\xcc\x74\x7d\xfb\x8f\xb7\x41\xa8\xb8\x59\x88\x44\x8b\x94\x21\x56\x36\xa1\xb5\x01\x66\x1d\xe2\xa9\x85\x17\x48\x20\x21\xef\xa8\xdb\xca\xeb\xcc\xce\x69\xf2\x93\x19\x9c\xa7\x81\x3b\x4f\xe3\x52\xf0\xab\xa0\x55\x40\x73\x9f\xa1\x90\xdc\xdb\x30\x33\x5d\xf2\xf0\x11\xc2\x27\x46\x08\xd7\xbc\x9c\x0a\x30\x90\x75\xec\xf8\x54\x49\xee\x9a\x17\x89\xe8\x06\xfe\x7b\x95\x11\x8f\xc2\x11\xeb\xe3\x3d\xcf\x94\x02\x6f\xce\xea\x00\x15\x95\xfb\x96\x3b\xef\xd8\xc6\xca\x35\x55\x7b\xae\xe2\x6e\xcb\x35\x71\xaf\xf1\x96\xc0\xd7\x49\x27\x32\x90\x54\xaf\x86\xdd\x6e\x84\xea\x41\xda\x74\x54\x38\x55\x96\x0e\xf8\xd1\xb6\xb6\x55\x2e\x14\x92\x69\xa3\x7b\x7d\x3b\xa8\x77\x41\xdf\xf7\x6e\xdb\x37\xf0\x1b\x72\x92\x6f\x3e\x1f\x94\x14\xa8\xf5\x2c\x20\x86\xeb\x47\x61\xe3\xfe\x0b\x71\x85\x41\xdd\x9b\x9f\x55\xe6\x09\x73\xc4\x3a\x97\x9d\x8e\x35\x0c\xd9\xaf\xf6\x3a\x9b\x09\x4c\x88\xab\xa7\xfe\x61\xb0\x65\x10\xd4\xc6\x77\xf7\xdf\xf1\xc1\xaf\x1f\xde\xef\x67\x9b\xdf\x84\x00\x9b\x18\xc0\xae\x80\x0f\x06\xdf\xbe\xdf\xdf\x02\xd6\x51\x73\x1d\x6a\xc8\x34\x62\x06\xee\x65\x43\x03\x64\xe4\x2e\x80\x3e\x83\x1d\x1c\xd9\x99\x7c\x7c\xd4\x76\xfa\xa3\x33\x5b\xf5\xfa\x8a\xf1\x68\x03\x3d\xac\x74\x4c\x43\x06\xfb\x1e\x0f\x0b\x4b\x0a\xbb\x7f\x7c\x54\x83\x8e\x64\xd0\x02\x99\x4e\x6f\x03\x54\xdb\xad\x01\x22\xed\x4d\xdb\x64\x49\x6c\x6c\x9a\xa9\xed\x68\x80\x36\x12\x7d\x70\xa5\xc0\x31\xe9\xec\xb0\xa5\x9b\xc8\xd0\x47\x78\x36\x23\x7a\xd3\x15\x14\x1f\xb6\x8a\x3a\xc2\x0c\x4c\x86\x25\x24\xeb\x83\xc1\xb7\x1f\xde\xdf\xdf\xcf\xa6\xbb\xcc\xb8\x8d\xb8\x0d\xb1\x8d\xb9\x32\x32\xd0\xe1\x41\x8c\x78\x22\xcc\x83\x8e\x0b\xd8\x6a\x7b\x0c\xb0\x01\x3b\xac\xe4\x4e\x8a\x95\x14\x81\xaa\xe6\xb0\xcf\x0e\x7b\x00\xf8\xa6\x53\x29\xcc\x6b\x67\xda\x6d\x58\xf0\xc1\x8d\x39\x70\x7c\x30\x79\x7f\x7f\x7f\x9a\xf5\x6a\xee\x68\x9b\xfa\x5e\xa6\xf7\xf7\xa7\xbd\x66\x25\x89\xb9\xf2\x72\x48\x6f\x98\xca\xe5\x38\x17\xec\xef\x4b\xe9\x59\x60\x68\x10\xa9\xaa\xbd\x5c\x79\x08\x99\x15\xda\xea\xc6\xe0\xae\xe6\x39\x42\x09\x9e\xed\x8c\x9d\xc3\x40\x06\x58\x34\x82\xc2\x20\x80\x31\x25\xf3\x10\x29\xcb\x33\x2d\x4a\x9e\xe7\xeb\x7e\x65\x4a\xd0\x70\x51\x4a\xb0\x1b\x08\x88\x0e\x70\xaf\xdb\x8b\x97\x4f\x5e\x76\xcb\x69\x56\xa4\xbc\x37\x62\x6f\x78\x99\x81\x99\x05\x1d\xcc\x65\xee\xc2\xa0\x42\x4b\xc9\x2b\x3c\x74\x5c\x8b\x8f\x6c\xe1\x3e\x87\x2d\xac\x5a\x12\x57\x73\x5c\x43\xd6\xa0\xba\xcc\xe8\xa1\x4d\xbd\xb7\x3e\x94\xdb\x6e\x0d\xe0\x83\x42\x2d\x73\xed\x15\x9e\xe6\x3b\x1c\xf4\xc8\xb2\x41\xeb\xb0\x89\x5f\x7f\x06\x17\x89\xa1\x58\xff\xf7\x65\xa7\xd3\x76\xf6\x68\x6c\xcb\x02\xe8\xdc\xd5\x58\xaa\x9b\x0d\x3b\x02\xa5\xe4\x99\x98\x9e\xde\x2c\xba\x9d\x77\x97\x97\x97\x97\xe6\x86\xc5\xc1\xee\xb3\x0e\x14\x46\x99\x12\x9c\xdb\x3c\xa4\x4b\x31\xcc\xb9\xd2\x4f\x8b\x54\xdc\x38\x69\x48\xaa\xd0\xdf\x42\x40\x9c\x75\x37\x80\xd1\x6b\x17\x1f\x5f\x17\x64\x4e\x0a\x2e\x74\x22\x2d\x27\x38\x12\x76\xef\x1f\x35\x9c\x59\xc3\x8a\xed\x24\xfa\xf1\xec\x06\xec\xb0\x51\xf4\xac\x34\x72\xcb\x0e\xda\xfb\x8d\x3a\x72\x1b\x15\x89\x05\x97\x55\x77\xdb\xea\xcd\x56\x9b\x35\xd0\x10\x06\xcb\xf8\xa7\x7b\x22\x0b\x9d\x15\xb6\xa6\xfd\xc7\xa6\xc1\x8d\x04\xb2\x69\xf4\xca\x30\x48\x68\x1b\xa6\xd5\x3a\x64\x30\x02\x8c\xbe\xc3\x02\x6d\x05\xed\x65\xae\x2b\xf1\xe4\xb7\xde\x68\xb8\xf8\x62\xa6\x57\x10\xf7\x40\x93\x0c\x64\xf2\x6b\xd2\xeb\xb3\x2e\x19\xe2\x43\x3e\x87\x66\x58\xd3\x1c\x5c\xf2\x02\xeb\xc0\xf1\x0f\x17\xa7\x67\x14\x91\xca\x21\x40\x06\x72\xfa\xe5\x5c\xcd\x86\xbd\xaa\x12\x6e\x57\xde\x40\x41\x50\x8d\xbc\x61\x0e\x9e\xdc\x88\xcb\xce\x5e\x67\x64\xfe\x83\x3e\xfd\x66\x6f\x47\xf0\x5f\xfb\xf7\x25\xfc\x7d\x69\xff\xe6\xf0\xe7\xcd\xc1\xd7\xf6\x8b\x31\x7d\xf1\x8d\xfd\x42\x74\x28\x9d\x96\xfd\x62\x42\x2d\x12\xfb\x45\x41\x5f\x70\xfb\x45\x49\x5f\xa4\xf6\x0b\x4d\x5f\x7c\x6b\xbf\xb8\xa6\x2f\x1c\xd0\x9b\xce\xa8\xba\x32\x2b\x01\x5e\x5b\x2d\x55\xeb\xe5\xff\xfe\x1f\x0f\x3e\xe2\xed\x1f\x91\x4d\x53\x66\x25\x77\x3b\x02\xd4\x3e\x3b\xfc\xaa\x67\x5f\xb6\x34\x93\xe5\xef\x9b\xc9\x97\x9f\x60\x26\x4e\xef\x19\x84\x96\x24\x33\xc8\x10\xc9\x17\xe6\xa8\xce\xf9\xa2\xf6\xa4\xc2\x46\xbd\x56\xe1\xca\x3e\x89\x90\xe2\x47\xde\x70\x94\xcc\x3c\x5f\xb7\x2b\x9c\xf3\xc5\x3b\xfa\xf1\xfd\xa3\x96\x7b\x00\x4e\xf4\x7a\x21\xe4\x84\x79\xed\x8b\xc5\x1c\xdd\x33\x16\x1e\xea\x16\x13\x9e\xe7\xe8\xc2\x16\x0a\x75\xf4\x56\xad\x89\x24\xde\x2b\xca\xfa\x57\x2a\xcd\x4b\x70\xdb\x68\x3d\xa9\xd5\x9b\x1d\xaf\xa7\x8f\x0e\xc2\xb1\xfb\x14\xb9\x9d\xe9\xd0\xba\x07\x0e\x30\x6a\xc1\x8b\x21\x63\xcf\x5f\x9f\x5f\xa0\xc2\x9b\x34\xed\xd0\x74\x6f\x9a\xcb\x31\xcf\xf7\xe8\xf6\x63\x93\x9c\x4f\xef\x76\xe3\x37\x38\x56\x2d\x42\xaf\x2a\x20\x00\xeb\x93\x87\xa3\xb6\xed\xaf\x11\x6c\xcb\x82\xe7\x68\x1a\x1c\xb1\xf3\x05\x2f\xbc\x3b\xb0\xf5\x4c\x47\x18\x74\xef\x59\xc0\x6d\xd7\xad\xa1\x08\x5e\xae\xd9\x91\x6b\x59\xbb\x76\x3d\x99\x9a\x86\xbf\xfd\xd6\x00\x73\x60\x60\xbc\x3b\x78\x6f\x45\xe4\xcf\xfc\x20\x5b\x1f\x02\xce\x43\x11\xe9\xd5\xe2\xc6\xcb\x26\x68\x22\x6c\x1a\xf4\xb0\x8d\x6e\x69\x8f\x70\x52\xf1\xb5\x70\x8c\x2d\x77\x22\x2d\x6b\x61\x4e\xe4\x12\xfc\x69\x5b\x37\x9a\x86\x0f\xf7\x18\xfa\x04\xda\x20\x78\x10\x1c\x21\xa8\xd8\xc4\xb9\xe1\x09\x51\x33\x77\xc6\xc2\x2a\x79\xfc\xa0\x40\xc7\x8e\x59\x9e\x29\x88\xd1\x83\xa0\x2a\x56\xc8\x62\xb0\x9a\x65\x5a\x60\xba\xd7\x88\xf8\xc9\x39\xd8\xde\xa5\x0c\xd7\xee\x89\xfb\x5a\x66\xe9\x46\xd2\x76\xca\xad\xaa\xb7\x10\x4e\x26\x20\xed\xfd\x4b\xb5\x3f\xd4\x42\x69\xcf\xbf\x82\x77\x50\x2c\x6e\xee\x5f\xaa\xfb\xfb\xd3\x39\xa6\x46\x6c\xa1\x59\x9b\xa9\xca\x1a\x94\x03\xf4\x59\xe9\xd8\x0a\x8f\x91\xdc\x18\xd0\x52\x08\xdb\xd3\xd9\x6e\x9b\x41\x43\x54\x97\x1a\x49\x3f\xc3\xcc\x40\x7e\x39\x89\x5a\x1d\x1d\xb1\xc1\x61\x6f\x17\xed\xac\x2c\xc0\x38\x6d\x4e\x43\xb0\xbd\xf7\x59\xa7\x8f\x0e\x22\x70\x50\x22\x23\x86\x65\xf1\x5e\x7a\xda\xd5\x0d\xe6\x43\xa8\x7f\xfb\x27\x77\x89\x71\xbe\x82\x39\x05\x4c\x83\xd7\x63\x68\x5f\x97\x65\xac\x7c\xac\x53\x78\x80\x0e\x23\x6f\x05\x47\xef\x79\x18\x05\x84\xb1\x49\x60\x24\x07\xa7\x7b\xd4\x5c\x93\x77\xb3\x0b\x61\x0c\x5e\xd4\x46\x14\x2d\x05\x5b\x2e\x16\x10\x7f\x64\xe6\x2d\x6d\x76\xe8\x42\x96\x73\x9e\x43\x34\xab\x8d\x01\xcc\x8a\xc5\x52\x83\x61\x77\x0c\x5e\x95\xd3\xec\x9a\x5e\xe8\x6c\xef\xe4\xe2\xec\xd9\xe0\x78\x0f\xe3\x8b\xd0\x98\x4c\x7f\x40\x88\x28\xdf\x43\x2f\xc6\x3c\x07\xb7\xbb\x85\x16\x69\x98\xf5\x73\xc4\x5e\xc0\xdc\x21\xac\x3f\xe1\x45\x21\x35\x04\xe2\xe6\x7c\x81\xb6\xe1\xed\xf6\xa6\x8d\x58\x8b\x0d\x84\x28\xb2\x42\x75\xc6\x91\x8b\xc4\xb9\xc7\x98\x59\xc3\xc8\x46\xe4\xb8\x9c\x9b\x73\x59\x30\x9e\x67\x1c\xf2\xb6\x9c\xbc\x7c\x71\x71\xf6\x32\x6a\x75\xfc\xcc\x40\x81\xf0\x9d\x7b\x8c\x3d\x3f\xbd\x38\x1e\xd9\x30\x9e\x60\xa3\x7e\x76\xa5\x8b\x96\x41\x58\xc4\xe6\x1d\x7a\x65\x58\x18\x26\xfe\x32\x34\x3a\x97\x4a\xe7\x6b\x96\x8b\x89\x66\x72\xa9\x1d\x29\x03\x83\x1d\x8b\x84\x2f\x6d\x4d\x2c\xb3\x7f\x73\x79\x6d\x76\xd7\x10\x2a\xb8\x5b\xd8\x4c\xe0\xce\x67\x2a\x97\x09\xcf\x05\x6e\x27\xe5\xb5\xb0\xf9\x30\x8a\x8a\xef\x0a\xcb\xb3\x2b\x41\xdb\x7a\x7a\x7e\xb2\xd7\x77\xe9\x12\x12\x69\xb6\x8d\xc4\x22\x3b\x17\x39\x81\xc0\xb2\x00\xfd\x8c\x3d\x05\xd7\x7f\xf1\xf7\x65\x76\xcd\x73\x81\x51\xbe\x08\xf0\xc1\xd7\x21\xd5\x1c\xdc\x1c\x8e\xf7\xfe\x20\x12\xb5\xd3\x0f\x86\x3b\x55\x89\xf9\x93\xfe\x12\xf0\x57\x0b\x9d\xbe\x15\x98\xa5\xc3\x0a\x64\x49\x40\x1a\x41\x45\x2a\x5b\xf2\x6a\xc8\xd8\x1e\x41\x4f\xe1\x13\x5f\x08\x04\x4e\x99\x9f\x5c\xc3\x4f\x72\x0e\x22\x73\xf6\xe6\xb3\xe0\x0c\xbb\x47\xd6\x7f\xf6\xc2\xd7\xd9\x39\x3d\x3f\x39\x7e\x75\x3a\x62\x0f\xbe\xee\xe3\x5f\xf6\xe3\x0f\x87\x23\x76\x78\xf8\x00\x3e\x3e\x30\x1f\xbf\x80\x8f\x5f\x98\x8f\x5f\xc2\xc7\x2f\xcd\xc7\x87\xf0\xf1\xa1\xf9\xf8\x15\x7c\xfc\xca\x7c\x44\x08\x5f\x9b\x8f\xdf\xc0\xc7\x6f\xcc\xc7\x6f\xe1\xe3\xb7\x23\x76\xf8\xe0\x00\x87\x38\x30\x9f\x0f\xf1\xb3\x19\xef\x01\x8e\x77\x68\x06\x7c\xf0\x45\x9f\x52\x62\x9c\x99\x3b\x6a\x25\xcd\x74\x5f\xbe\x38\x1d\xb1\x2f\x01\xd0\xc5\xdb\x97\x23\xf6\x10\x00\x5d\xfc\x74\x76\x7a\x3a\x62\x0f\x11\xd2\xcb\xd7\x67\x23\xf6\x10\x21\x3d\x7d\x63\xbe\x87\xa9\x9f\x3f\xfd\x65\xc4\x1e\xc2\xd4\xcf\x4f\xdf\x9c\xbe\x18\xb1\x87\x30\xf9\xd3\xa7\x3f\xfe\x74\x31\x62\x0f\x61\xfa\x2f\x9e\x9a\x01\x1e\xc2\xfc\xff\xf3\xf4\xec\xe5\x88\x7d\x09\x0b\x78\x7c\x7c\xf2\xf3\xf9\xab\xe3\x93\xd3\x11\xc3\xbf\x7f\x3e\x7f\x65\x3f\x9e\xc3\x87\x60\xaa\xb3\x52\x40\xf2\xbf\x8b\xe3\xc7\x23\x06\x73\xfd\x7f\x47\xec\x1b\x98\xdc\xdb\x11\xfb\x06\x31\x3d\x62\x5f\xc1\x4f\x67\x23\xf6\x0d\xcc\xf5\x62\xc4\xbe\x81\xd9\xfd\xc7\x88\x7d\x03\x3f\xbd\x1e\xb1\x6f\x60\x8a\x4f\x47\xec\x6b\x58\xc3\xcb\x11\xfb\x1a\x7e\x32\x83\x1f\x84\x83\x4e\xe4\x12\xf2\xff\x9e\x1c\xbf\x3a\xff\xf0\xec\xe5\xc9\xcf\x23\x86\x48\x36\x5f\x54\xff\xb6\x9f\x8f\x47\xec\x2b\x18\xc0\x2c\x01\x06\x78\x32\x62\x5f\xe1\x8e\x8d\xd8\xd7\xd0\xe6\xc7\x11\xfb\x1a\xa6\xfe\xd3\x88\x7d\x0d\x13\xfd\x7f\x46\xec\x6b\x98\xe8\xcf\x23\xf6\x35\x74\x7f\x36\x62\x5f\x7f\x45\x1c\xf4\xad\x80\xc7\xa3\x28\xc0\x7f\xb1\x48\xbd\xbd\x70\x2a\xc0\xb9\x48\x5c\x43\x21\x5f\x08\x41\xc4\x56\xa4\xee\xa0\x84\xcc\x63\xc1\x0e\x0f\x10\x96\x65\x72\x86\x13\xb2\x85\x90\x8b\x5c\x50\x62\x68\x28\x98\x20\x0d\x87\x30\xa7\x77\x6c\xd8\x23\x78\xe3\x67\x4a\xcb\x72\x0d\xe7\x69\xc8\xd8\xab\x7c\xa9\x68\x5a\x00\xc2\xf2\x42\xb5\xbf\x28\xe5\xb4\xe4\x73\xc8\x20\x6d\x33\xbe\xd2\xfc\x78\x5e\x0a\x9e\x9a\xf3\x8c\x89\x69\xd6\x76\x62\x18\xcf\x06\x6e\xe3\x12\x93\x97\x41\x47\xcc\x3e\x21\x0a\x9d\xaf\xfb\x9e\x1d\x03\xeb\x20\x06\xcd\x20\x72\x38\x4b\xe8\x75\x6a\x76\xff\xc5\xc5\xe9\xd9\x88\xe1\x99\x3a\x7d\x71\x61\x3f\x9e\x9d\x5e\xbc\x3e\x7b\x11\xfc\x85\x1f\x83\x6d\xce\xc0\x03\x8c\xfd\xe7\x88\x7d\x0b\xdb\xf3\xcb\x88\x7d\x03\x1b\x76\x32\x62\x5f\x01\x65\xbd\x19\xb1\x6f\x60\x33\x1e\x8f\xd8\x57\x48\xd4\x23\xf6\x35\xb4\x79\x3e\x62\x5f\x7f\x6d\xc1\x9d\xea\xc4\x40\x22\xaa\xfe\x02\xb6\xd6\x10\x35\x7e\x7a\x75\xf6\xf4\xc5\xc5\x87\xf3\x93\xb3\x53\x73\x52\xbe\xa4\xef\x2e\x0c\x7f\xc0\x3f\xce\x4f\xce\x5e\x3e\x7b\x46\xa4\x76\xf8\xe5\x43\xfa\xee\x99\xff\x0b\x8a\x81\x8e\x18\x1e\xfb\xc7\x67\xee\x23\x56\xf1\x1c\x31\x6c\xf5\xf4\xc5\xb9\xfd\xf8\xd3\xcb\xe7\x66\x26\x30\xe7\x57\xc7\x3f\x9e\x7e\x78\x6d\xa6\x03\xa8\x78\xf5\xa3\xff\xfc\xe4\xf4\xd9\xe9\x85\x61\x03\x5f\xd1\x5f\xf6\xe3\xe9\x8b\x27\x23\xf6\xc5\x43\xd7\xfd\xc9\xcb\xb7\x2f\x46\xec\x8b\x2f\x11\x40\xe5\x2f\xf7\x19\x00\x03\x7a\xb0\xc5\x97\x80\xd7\x33\xe4\x0a\x5f\xc0\x8c\x9f\x9d\x1a\xc9\xe1\x0b\x40\x2f\x55\x4e\x34\xab\xfc\xd2\xa2\x12\xeb\x10\x9a\x13\xf1\xea\x60\xc4\xbe\x85\xc9\xfc\xfc\xea\x70\xc4\xbe\xfd\x1a\x3f\x3e\x18\xb1\x6f\xbf\xc1\x8f\x5f\x8c\xd8\xb7\xdf\xe2\x47\xc3\x40\x0f\x0e\xf0\xb3\xe1\xa0\x07\x87\xf8\xd9\xb0\xd0\x83\x07\xf8\xd9\xf0\xd0\x83\x2f\xf0\xb3\x61\xa2\x07\x78\xf2\x5e\x19\x2e\x7a\xf0\x10\x3f\x7f\x78\xf5\xec\xf5\xb9\xf9\x9b\x46\xfb\x70\xfc\xe4\x49\xf8\xe7\xf3\xa7\x2f\xf0\x77\x1a\xf7\xc3\xf9\xeb\xc7\x17\x67\xc7\x27\x17\xd1\x77\x17\xc7\x86\x22\x0f\xbe\xb2\x9d\x5e\x3f\xbb\x78\xfa\xea\xd9\x7f\x84\xdf\x3d\x79\xfa\xe6\xe9\x93\x53\xc3\xca\x0f\xed\x37\xa7\x27\x4f\x9f\x1f\x3f\x33\x5f\x1d\xd8\xc9\x9c\x9e\x3d\x7d\xf9\x84\xbe\xb9\x57\x29\xf5\x36\x17\x69\x06\xb2\x86\x32\xa8\x3c\x7e\xf3\xf4\xc7\xe3\x8b\xd3\x0f\x86\xbb\x8e\xd8\x21\x51\xab\xfd\xf6\x87\x97\x67\x6f\x8f\xcf\x0c\x24\x24\x6c\x2c\xb4\x66\xfe\x44\x0e\xf5\xfa\xd9\x33\x47\xa0\x87\xc8\xbe\xde\x3e\x7d\xf1\xe4\xe5\xdb\x0f\x2f\xdf\x9c\x9e\xbd\x79\x7a\xfa\xd6\x7c\xff\x00\xa9\xcf\x6c\xe7\x8b\xd3\xf3\x73\xa0\xa9\x07\x78\x57\x05\xdf\xe2\xd6\x3f\x38\xfc\x3a\x94\xe1\x9e\x06\x62\x38\xf9\xa0\x9b\x37\x80\xb7\xf5\x6f\xbb\x79\xad\x07\xc3\x51\xec\x82\xfe\xaa\xb4\x85\x62\x7c\xc6\x19\xc3\x29\x7d\xc0\x95\x5a\x2b\x2d\xe6\x28\x67\x41\xda\x27\xab\x3c\x82\x8e\xde\xfd\x1b\x13\x3f\x8c\xb6\xa6\x86\xe8\x47\x3e\xe7\x6f\x79\xa6\x29\x83\xfc\xde\x95\x58\x43\x72\x96\x3d\x04\xdd\xf7\xa9\x58\xec\x2f\xcc\x66\x88\xaf\x24\xc5\xa6\x29\x50\xd6\xa0\x4d\x73\xb0\xb5\xdb\xa2\x49\x3c\xab\x64\xb7\xc2\xdc\x82\xf1\xfa\x29\xe3\x15\xcd\xc6\x8f\xf9\xea\xf8\xfc\x7c\xd3\x80\x50\xc6\x34\x1a\xed\xdc\x97\xcb\xb0\x31\x3f\xf0\xc2\x5d\xf0\xa9\x11\x36\x3d\xe8\xb0\xfe\x50\xa0\x9f\xb5\x9d\x9c\x13\x66\x7b\xbd\xa2\xdb\xa5\x87\xb9\xc5\x34\x53\xb9\x2a\x9a\x26\xfa\x44\xae\x8a\xdb\x4d\xf5\xae\x65\x36\xb6\x4f\x96\x48\x44\xcb\x1a\x4a\x2f\xe4\x85\xbc\x05\x46\x5d\x8d\xac\x3f\x68\x86\x63\xa9\x35\x25\x12\x8a\x26\xf9\x18\xbe\xff\x93\xe7\xe9\x0b\x86\xb8\x69\x42\xd2\xd9\x86\xda\x20\x34\x5d\xcc\xe8\xe6\x7e\xdf\x65\xbe\xf5\xc2\x1f\xb7\x4c\x64\xb4\x83\x36\xc7\x25\x67\xfb\x40\x95\x13\xff\xd9\xc3\x6b\x83\x00\x27\xf3\x71\xd2\xe9\x33\xf8\x70\xae\x65\xc9\xa7\x22\x8c\x6d\x7a\xe5\x16\xff\x1c\xd7\xce\xd4\x72\x8c\x21\x89\x80\x0c\xc3\xd7\x50\x2b\xce\x5e\xf0\xf3\xf3\x9f\x82\x54\x76\x81\x8e\x06\x33\xb8\x93\x4e\x38\xa7\xb4\x8f\xbc\x60\xb2\x4c\x45\x09\xbe\x0a\xa8\x5d\x45\x1b\x4b\x22\x8b\x82\xd2\x4e\x2e\x4a\x69\x96\x10\x5f\x49\xb5\x29\x85\xfa\x7f\xec\xf0\x94\xd2\x12\x98\x55\xd5\xda\x7b\x4b\x4a\x9f\x88\x84\xa2\x45\x69\xfd\xf5\x14\xab\xd1\xbf\x0e\xd2\xc5\xbe\x9d\xdb\x3e\xe8\xd6\xdd\xb8\x56\xf5\x9f\x8a\x89\xf2\x8e\xaf\xb5\x39\xd0\x90\xfe\x07\xb0\x19\x60\x50\x81\x79\xdc\xaa\xae\x01\xd0\xab\xa7\x5c\xb8\xaa\x54\x1e\xc2\xb0\x1a\x0f\xc7\x34\xe8\xc3\xe8\xef\xae\xc4\xfa\xfd\xbb\xc3\xf7\xbd\x96\x4c\x30\x6d\x53\x4b\xb8\x16\x53\x09\xa1\xcd\xa8\xa7\xdb\xde\xd0\x1d\x33\x76\xc4\x3a\xf6\x73\x67\xa7\x9e\xc7\x8b\x85\xe0\x25\xe9\xf8\x3b\xfe\xaf\xdd\x7a\x9b\x33\x68\x63\x19\x3b\xee\x8f\xdd\xfa\x9e\x9b\x13\x63\xd6\xd8\xc1\x4f\x3b\xf6\x02\xfe\x84\x9e\x26\x1d\xf7\xc7\x6e\x7d\x4f\x8b\x44\xa6\xd4\xd5\x7e\xde\xad\xe7\xf3\x4c\x25\x22\xcf\x79\x21\xe4\x12\xa6\x1c\x7d\x11\xa8\x68\x9f\xd1\x51\xf2\x7d\xfb\xee\x98\x8d\xd7\x2c\xcd\xd4\x22\xe7\x6b\xfc\x8a\x75\xb5\x5c\xc0\xbb\x0f\xee\x87\xde\xa6\x43\x66\x27\xb3\x7e\xe2\x3c\x89\x6d\x1a\xa0\x7f\xb0\x2c\x1d\xb5\x12\x7a\xe3\x56\xf7\x89\x8b\xdf\xe8\x51\xb8\xe7\xac\x3b\x91\x85\x56\x7d\x96\xc8\x5c\x96\xaa\xcf\xb2\x39\x9f\x0a\xd5\xeb\x80\x79\x79\xe7\x71\x1c\x1d\x44\xc3\x60\x6d\x04\x86\x04\x72\x3b\x80\x76\xaf\x22\x78\x6e\x03\x6f\x07\xcb\x9e\x8e\x08\x96\x3b\x32\xb7\x83\xe5\xc8\x2f\x02\xe6\x89\xf2\x96\xd0\xe0\x14\xc4\xa0\xf0\x60\xdc\x0e\x4e\x44\x9a\x11\x38\xf3\xcb\xb0\xf3\x11\x32\x43\xb5\x12\x5a\x9d\x33\xd2\x53\xa3\xc3\x73\x3d\x98\x96\x83\xb9\x4c\x45\x67\x74\x8f\xb1\x77\xb7\x41\x37\x38\xad\xc3\x6c\xde\xc1\x27\xd6\x29\x64\x21\x6c\xf2\xaa\x01\x65\xae\xca\xc5\x44\xdb\xcf\x70\x5f\xc3\x1f\x58\xdc\xb9\x83\xe9\x62\xcd\xc5\x75\x9c\xeb\x1f\x0d\x8b\xd7\x74\x4f\xcd\x78\x72\xf5\xd7\xb7\x33\xb1\x2c\x33\xa5\xb3\x64\x78\x59\x90\x1d\xa9\x13\x7c\xea\x98\x71\x2f\x3b\x23\x23\x15\x48\xec\xeb\x35\xda\x05\xbf\xce\xa6\x5c\xcb\x72\x98\xf3\x62\xba\xe4\x53\x31\xf2\x5d\xf1\xe2\xb9\xec\x88\x62\xb0\x54\x97\x1d\x76\xf4\x3d\xbb\x84\xe9\x5f\x76\xfa\x18\x99\x00\xdf\xb8\x09\x5f\xc6\xc3\x42\xc3\x11\x7b\x92\x29\x4c\x9a\x50\xac\x69\x01\xa5\xc8\xc1\xdd\x67\xbe\x2c\xcc\x4d\x1e\x4e\xdb\x61\x05\x26\xac\xd4\x72\x8e\x21\x71\xf7\x8f\x73\x4d\x29\xd9\x00\x46\xd4\xc7\x62\x2f\xe8\x03\x8a\xfe\x4d\x7d\x82\x49\xbb\x4e\x28\x55\x35\xf4\xc2\x4a\xeb\x9d\xa8\x40\xe8\x20\x53\x83\xb8\xf6\xe7\x1d\x88\x83\x52\xd5\x75\xc6\x52\xa2\x41\x84\x75\x9e\x4e\x98\x12\xba\xcf\x96\x45\x2a\x29\x9c\xdb\x3f\xf9\x8f\x73\x3d\x70\xf5\x3e\x07\xdf\x3f\x39\x7d\xc6\x4a\x31\xe7\x0b\x9f\x5b\xcc\xae\x30\x9a\x2b\xcb\x8a\x54\x88\x14\x8b\x9a\x84\x45\x4e\xc3\x95\xd1\x7a\x3e\xcd\x2a\xce\x85\x66\xab\x99\x70\xc9\xef\x6d\xbd\x56\x9e\x68\x85\x09\x3c\xcc\x58\xf0\x95\x79\x3b\x9b\x2f\x52\x43\xc3\x45\xa2\x6d\xdb\x68\x72\xe6\x25\xad\x06\xab\x19\xd7\x77\x98\x5f\x07\xdd\x67\x70\x6a\xef\xdc\x5f\xac\xf3\xcd\x60\x9c\xc1\x99\xa3\x87\xf3\xe0\x4a\xac\xed\xa9\x3b\xb1\xe9\x58\x67\xf5\x92\xb5\xf8\x96\x4e\x1b\xcf\x1b\x23\x67\x9d\x21\xfe\x63\xe7\x90\x7c\xbc\x00\x8b\x8f\x91\x52\xb3\x9b\x61\xd8\x18\xa6\x30\xb4\x8d\x8f\xd3\x94\x1d\x3e\xf8\xc6\x3e\xac\x96\x05\x18\xd8\x44\x1a\x86\xb1\x2b\x57\x97\x2f\x02\x14\x2c\x61\x38\xf4\x6a\x89\x48\xfb\x80\xaa\x12\xac\xc1\x41\xa9\x48\x42\xb5\x41\xf5\xe4\xfb\x7f\x8a\xaf\xd5\x90\xb1\x2e\xc8\xd4\x2b\x59\x5c\x76\x34\x54\xd8\xc1\x78\x57\x23\x31\xe7\x5c\x4f\x64\x39\xa7\x22\x3b\x00\xb6\x1d\x9c\x1d\x90\x12\x99\xc1\xee\xc7\xd5\x11\xcc\xd4\x21\x89\xb1\xc1\xba\x37\xee\xf5\x3a\xf7\x18\xb3\x64\xb1\x4c\xb3\x71\x2e\x06\x63\x91\xe7\x03\x65\x6e\x8c\x9d\x49\x83\xae\x1c\x78\x7e\x0c\x4a\x81\x2f\xa0\x11\xca\xd7\x06\xac\xdc\x37\x40\x89\x94\x97\xa5\xfd\xf4\xfa\xec\x99\x8d\x31\x77\x6f\x4b\xd3\x90\xc1\xe8\x43\xc6\x4e\xe7\x0b\xbd\xb6\x5e\x8c\x66\x09\x85\x64\x34\x4d\x68\xe8\x48\x3a\x15\xea\x4a\xcb\xc5\xa0\x90\xda\x65\x68\x86\x85\xdc\x7a\x09\xcd\x1c\x04\x13\x61\x46\x93\x54\xf6\x91\x66\x4e\xff\x14\x73\xa5\x80\x4f\x76\x02\x9e\xdb\x8c\xb3\xb7\x62\xec\xd8\xc7\x8b\x60\x62\x43\x48\x99\xa3\x28\x67\xce\xea\x8b\xa1\x2c\xa7\xfb\x17\x67\xfb\xe1\xe4\xd5\x7e\x74\x16\xf0\xc3\x13\x94\xfa\x0c\x32\xa2\xb6\xac\x14\x7f\x5f\x66\xa5\x50\x86\x00\xe6\x99\x52\xb0\xe3\xd6\x3d\x6c\x09\x55\x02\xde\xce\x04\x65\xa2\xb1\x60\x31\x12\xdd\x1c\x3f\x25\xc0\x04\x8a\x8b\x04\x5c\x51\x2e\x7a\xad\xc5\x7c\x01\xbf\x71\x75\xe5\x0d\x9b\x66\x27\x82\x91\x2c\xc0\x6c\xc2\x0a\x91\x08\xa5\x78\xb9\x1e\x62\x01\x4d\x5b\x53\x85\xcd\xf9\x1a\xd2\x04\xab\x19\xf9\x74\x84\x00\xcc\xf4\x85\xd2\x54\xe8\xc4\x82\x4b\xc1\x43\x47\x33\xcc\x27\x63\x50\x1a\x56\x99\x46\xba\x6e\xe4\x18\xc4\xde\xc5\x8d\x16\x85\xc2\x42\x55\x54\xe4\x86\xed\x45\x78\xdb\x0b\x27\x01\xb9\x22\x83\xbf\xb5\x0c\x66\x82\xd2\x76\xd4\xd9\xd1\x9e\xdf\xff\x01\xc8\xbb\x3b\x93\x5c\x20\x47\xb3\x4e\x39\x1d\x77\x0f\xbf\xea\x33\xfc\xff\x1e\x08\x34\x00\x0d\x69\xf0\x22\x26\x34\xf8\x09\xf9\x91\xb8\xa1\x90\xf5\x42\x52\x84\x3c\xfe\xe8\x73\x10\x35\xcd\x14\x24\xf2\xbb\xcd\xd4\x4c\xcd\x86\xed\x20\xbe\xcf\xcf\xc9\xc7\x91\x0e\x73\x30\x51\x18\xa7\xe5\x24\xe3\x6f\x4d\x3b\x18\x26\x45\x08\xb9\xde\xb2\xcc\xbb\xf6\xec\x4c\xa5\x1c\x4e\xf3\x7d\x5e\x88\xf4\xe2\xe7\x5e\xd8\x2a\xcf\x0a\xc1\xcb\xc1\xb4\xe4\x69\x26\x0a\x0d\xaf\x23\x7c\x1a\xf5\xd9\x18\xdc\x4c\x4b\x91\xf6\x1a\x90\xa2\xb2\x5f\xff\x34\x9c\x40\xfe\xe5\x21\x63\x4f\x6c\x62\x2d\x2d\x99\x91\xf0\x9a\x36\xcb\x7a\xdf\xfd\x69\x73\x73\xee\x7e\xb7\xd9\x9c\xc3\x83\x7f\x35\xff\x1f\x7e\x95\x80\x0d\x35\x5c\x11\x0a\x5a\x28\x7d\x7c\x7a\x41\x8f\xd8\x34\x2d\x09\x45\x35\x32\xe0\x82\xe9\xe0\xf1\x39\xeb\x5e\x76\x2e\x2f\x6f\x0e\xbe\x31\x22\x37\xbf\xe2\xec\xaf\x3f\xf5\x86\x2c\x28\x6c\x61\x27\x1f\x03\x01\x07\x94\x00\x10\x00\xf9\x7a\x72\xd9\x71\xdb\xe5\x04\x8a\xc1\x9c\x2f\x06\x36\x71\xbf\xba\xd3\x96\xd1\xc3\x06\xf6\xc8\xfa\x86\x5b\xed\x9b\x4f\x2d\x02\x59\x31\x28\x69\xc5\x90\x7c\x5a\x38\x53\x0b\xf4\xea\x2f\x4b\xbe\xee\x93\xf0\x20\x78\x32\x33\xdb\x81\x2e\x71\x1d\x97\x49\x92\xca\x31\x7a\x59\xc8\x5c\x04\xa0\xb7\xb4\x29\xf7\x29\x10\x36\x18\x89\x52\x6e\xb8\x6b\x84\x75\xe2\x31\x59\xa6\x95\xc8\x27\x43\xac\x4a\xc3\x75\x65\x42\x30\x95\xea\x04\x1c\xa8\x52\x24\x22\xbb\x8e\xc5\xb3\xea\x4c\x20\x51\x0b\x32\xe4\xb0\xa1\x27\xd5\x80\x56\x5b\x88\xd5\xe0\xe2\x1f\x7b\x07\x7b\xa3\x7f\xec\xdd\xdf\x1b\xed\x5d\x5e\x2e\x1f\x1c\x7e\xfb\x60\xaf\xbf\xd7\x77\x7f\x1d\xec\xf5\xf7\x06\xee\xaf\xc3\xbd\xfe\xde\xd0\xfd\xf5\xc5\x5e\xdf\x4f\xd9\x80\x81\xef\x1f\x7e\xf3\xcd\xde\xc7\x8f\x81\x3c\x05\x55\x9c\x06\xb2\x18\x88\x9b\x6c\x77\x29\x3b\x7e\x75\x13\x45\x87\x64\xfe\x96\x5e\x01\xc0\x43\xe1\x6e\x86\x81\x00\x2f\x54\xf5\x6a\x85\x77\xbd\xab\x15\xc2\xcc\x0c\xfc\x35\x80\x59\xcd\x06\xe3\x3c\x2b\xae\xee\x44\x9f\x0d\x87\xaf\x3e\x2b\x00\x6f\x9d\x88\x95\x2c\x83\x74\x7e\x8d\x33\x19\x24\xeb\x24\xbf\x1b\xfb\x7d\x77\x78\x70\x70\xd0\x67\x0f\x0f\x0e\xde\xc7\xc7\xa6\x73\x11\x0c\x0f\xf3\x29\x8d\x1c\x91\x15\x6c\x9e\xe5\x79\xa6\x44\x22\x8b\x54\x35\x72\xb9\x63\xa6\x57\x92\x09\x4c\x50\x69\xa9\xd7\x07\xba\xc8\x09\xe5\xa5\xcc\xf0\x41\x93\x4b\xeb\x41\x8f\xa3\xf9\x2c\x43\x4e\xdc\x82\x52\x40\x66\xc0\xa8\x4f\xa6\x83\xb6\x72\x32\xa9\xe2\xe6\xf7\x89\x14\xbc\xfb\xe0\xe1\xc3\x3e\x3b\xc0\xff\x1b\x3e\xec\x11\x5e\xaa\xa2\x05\x8a\x0c\x74\x1d\x5c\x53\xbe\x3c\x9c\x81\x9f\x90\x69\x33\x58\xf0\x5c\x68\x2d\x3e\x39\x87\xeb\xbc\xb4\xb5\x4e\x50\x69\x68\xa5\x6b\xfb\x8e\xa1\x71\x1b\xf7\x2a\xac\x6b\x58\xe5\x8f\xc8\x94\x30\x91\x94\xe5\x95\xec\xe9\xa4\xd6\xce\x6d\x13\xe5\x0a\x45\x76\x0a\x7a\x8c\x94\x52\x95\x6f\x60\xae\x8e\xa3\x39\x59\xd8\xf0\x62\xeb\x5a\x03\xce\xce\x58\xe0\x4f\x3b\x64\x6f\x5a\x10\xe4\x16\x69\x59\x52\x0e\xde\x42\xbc\x58\xb3\x44\x29\x82\x85\xbe\x3b\x94\xed\xd4\x4d\x81\xd2\x22\xb1\x7f\x39\xfb\xf1\x71\x9f\xfd\xcb\xd9\xd9\x8f\x3f\x3e\x7e\xdc\x67\x46\xd2\x1c\x0e\x87\x3d\xf8\xc4\xe9\x23\xd4\xfd\x32\x30\x01\x1e\x3a\xef\xfa\xab\x90\x6b\xf2\x44\x54\x92\x2d\x78\xa9\x2d\xa5\x28\x2d\x93\x2b\xf6\xcb\xe1\xa1\x01\x35\xd4\x37\x1a\x2d\x55\x4d\x4b\xfa\x0f\xb9\x84\xf5\x2c\x95\x60\x56\x85\x86\x31\x26\x66\x71\x6b\x9f\x3d\xcb\x6e\x38\x32\x7c\x7f\x36\x0c\x5b\xb1\xc0\xc6\x82\x0a\xdf\xa4\x76\xd1\x99\xf3\x65\x85\x97\xee\x55\xb6\x58\x40\x6a\x53\xa6\xe6\x3c\xcf\x19\xc6\x29\x80\xb3\x73\x91\x66\x49\xb0\x38\xc7\x2b\xdd\x05\xd3\x48\x41\xc1\x29\x58\xac\x0d\x53\xc7\x02\x5f\x3b\x13\xbf\xd7\x65\x37\xb0\xf4\xe3\xa5\x96\x73\xae\xb3\x04\x5c\xb9\xb0\x06\xaf\x04\x5b\x9f\x2b\xdc\x66\x49\xc7\x16\xa2\x75\xf3\x59\x2a\x31\x20\x94\x0d\x90\xfd\x0f\xa0\xe2\xee\x1d\x26\xb6\x81\xad\x6b\xef\x2f\x66\xf7\x87\xee\x1a\x2c\x0f\x4d\x15\x26\x1d\x92\x72\x23\x80\xbb\xd9\x0f\x20\x57\xc9\x9d\xe7\xd5\x7e\x07\xc2\xe5\x67\xcd\xd3\x1e\x59\x98\x1a\xc5\x0c\x97\x15\x53\xbf\x73\xba\xcc\x07\x8b\x7c\xa9\x06\xf3\xac\x58\xaa\xc1\xaf\xa2\x94\x83\x5f\xa5\x9c\xdf\x41\xfc\xac\x4f\xc9\x49\x9f\xe0\xbc\xfb\x2a\x5f\xaa\x7d\xa8\x7b\xb4\xff\x9f\xa2\x94\x71\x2d\xa2\xe0\x7c\x3c\x9d\x58\xac\x07\x89\xd1\x36\x76\xa6\x96\xf0\x33\xc8\xa2\x8a\xfd\xf5\x83\x93\x47\x3a\x7e\x74\xe8\x1a\xd4\x1f\x8d\xd0\x90\xdc\x6e\x33\x36\xca\xdd\xa0\x4e\x3e\x31\xe8\xce\x84\x82\x4c\xde\x80\x07\x5b\x72\x5a\x4b\x70\xca\x31\x3f\x40\xe7\x60\xf5\xd0\x13\xd6\x7c\xff\xc4\xae\x25\xea\x80\x90\x3c\x64\x04\x10\xad\xc4\x56\xab\xfd\x74\x4b\x79\x83\x85\xd6\x6a\x4b\x79\xb3\xe3\x52\xde\xd8\xa5\xbc\xa9\x2f\xc5\x43\x8e\x97\x22\xb8\xd2\x03\xae\x32\x5e\x0c\xf8\x7c\x9c\x4d\x97\x72\xa9\x06\x5c\x0d\xf4\x4a\x1a\x09\x60\x39\xdf\xfd\xed\xb7\xb3\x1a\xf9\x94\x2b\xcd\x8e\xcd\x98\xec\xd8\x8e\x19\xc6\x40\x61\x49\xc1\x95\xa1\x3f\x33\x01\x06\xc5\x44\xfd\x8c\x21\x73\xf3\x00\xd4\xad\x03\xa2\xd0\x4f\x33\x47\xa8\xe7\xa0\xa5\xcd\x0d\x0d\x23\xf8\xda\x5b\x6e\x7e\xb6\xae\x8c\x96\xb6\xde\x83\x9e\x89\x79\xe3\xdd\xf3\x56\x5c\x76\xf2\x9c\x95\x42\x2d\xf0\x05\x03\xeb\x1a\x8c\xd7\x5a\xb0\x6b\x51\x2a\x1b\x08\xa3\xc1\xc5\xbf\x3e\x94\x3b\x5d\xa5\x98\xf2\x32\xcd\x85\x52\xde\xdb\x03\xeb\xed\x56\xf1\x32\x96\xf9\xee\xea\xd3\x06\xc9\x48\x97\x99\xd2\x5c\x8b\x10\x27\x51\x8d\x0b\xc3\x8e\xcd\x20\x6c\x85\xc5\xe4\xa0\xe0\x5b\xac\x10\x42\x57\xa2\x3c\xdd\x1f\xa3\x21\xc6\x99\x32\xac\x66\x68\xc8\xd8\x0f\x16\x87\xce\x1d\x18\xe2\x18\x42\xa8\x43\xc6\x5e\x2c\x73\x70\x4e\xe2\xce\xe2\xd5\xb4\x5e\x43\xb0\x38\xd4\x9d\x56\x5e\xe7\xa9\x2d\xab\xc6\xd5\x90\x98\xd8\xfd\x66\x70\xf8\x90\x19\xa6\xcf\x0e\xbf\x8a\x45\xab\x9e\x5b\x31\xf8\x13\x16\xeb\x06\xdc\xb0\x3a\x32\x7c\x8d\xfc\xea\x1a\xef\xfc\x60\xda\x65\x69\x21\x75\xe2\x5b\xa5\x71\x9f\x88\xd6\x33\xb3\x2d\x95\xf9\x39\xe1\x00\xd4\xe0\xb7\x50\xab\x6c\xbc\x6b\xcf\xcd\x53\x85\xdb\x64\xba\x56\x2c\x77\xaa\x70\x27\x3f\x01\xa3\x5b\x95\x99\xe1\x6f\xad\xd2\x4a\x6d\xa6\xd0\xe1\x13\x49\x51\xae\x36\x30\x4c\x45\x4b\x9c\x0d\x4b\xb3\x52\x60\xc9\x08\x2a\x06\x8d\xfe\x9b\xad\x93\x4b\x45\x72\xf8\xe0\xae\xef\xf5\x06\x7e\x76\x16\x6c\xac\x99\xd9\x65\x47\x85\x9a\xf5\xa0\x82\x63\xf4\x52\x35\xc7\x7f\x69\xa4\x5a\x23\xc7\x5a\x42\x7e\x72\x7a\xe2\xca\xf1\x40\x66\xf1\xc3\x07\xc1\xf4\xaf\xb3\x52\x16\xe6\xbd\x7a\xd7\xd9\xff\xa3\x73\x71\x7a\xf6\xbc\x33\x62\x1d\xb0\x87\x0d\x1e\x3c\xfc\x0a\x5f\x8a\x98\x17\xa0\xf6\xb4\xb6\xb2\x60\x30\x34\xbb\xa6\x6c\x33\xaa\x1f\x6b\xa8\xec\x34\x0d\x4b\x19\x4c\xf8\x3c\xcb\x77\x97\x3f\x2a\x1e\x27\x9d\xbd\x27\xe2\x6f\xfc\xcd\x92\x9d\xf3\x42\xb1\xe7\xb2\x90\x7b\x7d\xb6\x77\x6a\x58\xb9\x2c\xec\xdf\x3f\x94\x42\x98\x8f\x7d\xb6\xf7\x5c\x14\x39\x34\xb9\x20\xaa\xf5\x0a\x9c\xce\x5c\x16\x12\x95\x90\x55\x35\x29\x69\x66\x89\xb3\xc2\x84\x6b\x15\x26\x80\xa3\xc4\x4b\xbb\xb3\x12\xf9\xf0\x61\x1f\x92\x57\x35\xe0\xd7\x57\xf3\xcc\x0a\xb6\xc8\x6e\x44\xae\x2a\x83\xce\x25\x8a\x79\x77\xd3\x14\xf0\x42\x67\x18\x3b\x96\x36\x6a\x8b\xe3\x31\xdc\x6b\x37\x98\x43\x29\x3e\x8d\x09\xe4\xc1\x97\x07\x7d\x66\xff\xd3\x68\x05\xf1\x63\xdd\xd1\x0a\x32\x93\x73\x31\xb8\x12\x6b\x35\x40\x1f\xd6\x4f\xac\x7d\x36\xe0\xf7\x85\x33\x06\xfa\x52\x97\x9e\x68\x5c\x29\x77\x34\x1d\x43\x41\x52\xd7\xcd\x3d\x4c\x4d\x77\xe7\xf0\xfe\xe6\xc2\x96\x09\x54\xa8\xbf\x20\xe1\xc7\x70\x5f\xd7\x15\xe5\xce\x37\x17\x14\xdc\xc9\x03\x68\x95\x41\x70\x06\x1e\x27\x57\x62\x6d\x4b\xb4\xdd\xd5\x25\x27\xe6\x0e\xc7\x10\xbc\x24\x27\x95\x74\xcd\x32\x0a\x50\x80\xfc\xdf\x41\x3d\x53\x1b\xcd\x68\x93\x90\xfb\x33\x5a\xc6\x35\x06\x37\x67\x14\x8f\xd3\x89\xa7\x22\xc9\x8c\x44\x13\xc0\x9b\x89\x1b\x6e\xbf\x46\xcd\x00\x78\xd7\x11\x20\x1f\x24\x41\xe0\x6c\xa4\x44\x4d\x1d\xe3\x04\x2a\x6b\xd8\x72\xd5\x62\x7d\x30\x42\x9f\x74\x4f\x64\x87\x8f\x80\xff\x00\x63\x4e\x8c\x70\x65\x41\x89\x9b\x45\xce\x0b\x0c\xb3\x25\x25\xcb\xc4\x48\x64\x10\xfc\x20\x58\xc5\xf8\xf5\xec\xed\x59\x91\x96\x8d\x32\xef\x39\xe8\xbc\x59\xb0\xb1\x81\xb1\xe6\x1f\xa1\x91\x86\x22\xa4\x73\x3d\xf8\x79\x6f\xc4\xf6\x2a\xde\xdb\x7b\xfd\x7a\x5b\x7c\xa6\x3e\x33\xad\x5f\x1d\x9f\x9f\x37\x35\xf9\xc9\xfc\x78\xd9\xf9\xe9\xf4\xd9\xb3\x97\x97\x97\xc5\x65\x67\xcf\xb7\xf9\x68\xa9\x6e\xce\x6f\x06\x88\xb9\x81\x25\x82\x9d\xa9\xcf\xf9\xf2\xb1\xc3\x83\x03\x50\xff\x06\xbc\xf3\x39\xbf\x61\x94\x68\x03\x2a\xfc\x3c\x39\x39\xef\xb3\x97\xe7\x27\x7d\xf6\xea\x39\x6c\xc8\xf1\xab\x73\x4f\x95\x63\x31\x81\x72\x71\x98\x69\x85\x2d\x17\xd1\xc9\xf1\x8f\x0b\x24\x31\x37\x79\x91\x66\x1c\xf9\x08\x2f\xc5\x60\x62\x3e\x7d\x62\x56\x92\xc8\xe2\x5a\x94\x3a\x08\x4c\x22\xca\xca\x4a\xf6\x83\x21\x55\x1f\xc2\x3c\x64\x5e\x95\x90\x0b\x1d\x9b\xb1\xe2\x1a\xed\xb6\xb8\x78\xb0\x12\xcd\xc9\x24\x47\xae\x3c\x9f\x42\x21\x52\xf5\x58\x72\xfe\x49\xc8\xa5\xb8\xcb\x0b\x45\xd9\xa7\xd0\x72\xe0\x27\x25\x97\x4a\x0c\xd0\xab\x2c\xc9\xb3\xe4\xea\x96\xef\xfc\x8d\xa2\x22\xba\x1a\xcb\x82\x3c\xd4\x50\xd9\x36\x5e\x6a\x2d\x0b\x06\x83\x35\xdb\x04\xb0\x98\x94\x73\x9b\x30\x47\xfa\x1a\xed\x09\x58\x06\x1e\x0a\x53\xe1\xa1\xdd\xc3\xf9\xc3\x9c\x07\x08\x79\xcf\x33\x63\x7a\x33\x36\x8d\x81\x91\xd7\xe8\x17\x64\x6e\x00\xda\x34\xf0\xbf\xfb\x9c\xe6\x6b\xbe\x13\x29\x9b\x67\x10\x66\x50\xa2\x78\x5b\xc1\x5c\x38\xf2\x5d\x90\x56\x75\xb3\x3c\xe8\xb3\xc3\x3e\x7b\xd0\x67\x5f\xf4\xd9\x97\x7d\xf6\xb0\xcf\xbe\x22\xc7\xae\xe7\x80\x3d\x2c\x4e\x8f\xe3\xc1\x11\x2b\xea\x6f\xc6\x36\x6b\xb2\x6f\xd2\x67\x2b\x7c\xab\xdb\xe7\xe8\x3c\x4b\xcd\xf2\xa3\x1d\x42\xf7\x81\x62\xf0\xcb\xe1\xa1\x43\xa9\xf7\x97\xea\xe2\x2d\x62\x28\xcb\xf9\xf9\x81\x89\xb7\x60\xbf\x1c\x1e\xd6\x06\x08\x29\xc0\xa9\x97\x71\x9c\xae\xad\x3a\x25\x98\xe1\xc8\xd7\xce\xbe\x36\xb7\x31\x14\x94\x0a\x0d\x96\x7e\x9d\xf1\x70\xc6\xfe\xee\xf2\x33\xef\x35\x62\xe0\x80\x1d\x1d\xe1\xfe\x76\x17\x65\x36\xe7\xe5\xba\x47\xed\x83\xe6\x87\x50\x2a\x11\x41\x77\xf9\xf2\x26\xcb\xb3\xe6\x86\x0f\x4c\x43\x0a\x67\x41\x73\x53\x73\xbb\xdf\x43\xd5\xb5\x53\xf9\x67\x91\xf6\x4a\x96\xe9\x00\xb2\x68\x0f\x20\x29\xd2\xc0\xf4\xbd\x03\x75\xc3\x74\xde\xfd\xf5\xf2\x52\x5d\x5e\xbe\xbb\xbc\x7c\xdf\xed\xfd\xe3\xe3\x77\xdf\xef\x5d\x76\x2e\x2f\xff\xfa\xd9\xbf\xff\xcb\xff\xfa\xd7\xcf\xff\xd2\x7f\x34\xfa\xff\xde\xd7\x84\xe1\x33\x31\x5d\xe6\xbc\x64\xe2\x06\x1c\x00\x49\x33\x3f\xe3\x39\x95\x61\x24\x21\x00\xd3\xde\x99\x1d\x85\x6c\x5d\x3d\x5b\x67\x8e\x14\xd4\x2d\xd8\x29\xe7\xa0\xff\xd7\x64\xcf\xe0\x81\x15\x1c\x43\x75\xb4\x64\xa5\x00\xf3\x14\xc9\x20\x49\xa0\xa4\x1a\x86\xfa\x2e\x2a\x2d\xb6\xf7\xbf\x29\xe5\xc3\x70\x2f\xac\xa6\xc6\x15\x5b\x70\x3d\x53\x6c\x02\x9e\x57\x10\xcb\x03\x13\xb5\xba\x11\x19\x28\x3f\x6a\x38\xbf\x9d\x86\xe7\xb6\x48\xff\xdf\xc3\xdf\x87\x76\x22\x7d\x51\xa4\x7f\x0e\xd6\x5b\xd1\x84\x87\xf5\x13\xe3\xe9\xfd\x5f\x76\xc4\x0d\x15\xb0\xa5\x00\xc3\x40\x95\x49\xfa\x1b\x9c\xdd\x1f\x4d\x88\xfe\xd3\x6b\xaa\x96\x23\x6e\x16\xd6\xa3\xc3\xdb\x6b\xd4\xb2\x84\x07\x9d\x0d\x24\x76\x29\xee\x20\xc9\xa4\x43\xf1\x82\x4f\xff\xc8\x87\x1b\x85\xdb\xee\x43\x6d\xe2\xdb\x3d\xde\xdc\x2d\x54\x03\xb1\xd3\x03\x2e\xea\xe6\x39\x69\xed\x31\x87\x83\x45\xad\xab\x0f\xb9\x05\x57\x6a\xc0\x73\x3d\xc0\x77\xcd\xdd\x1f\x73\x15\x05\x74\x28\xcd\x79\x9d\xa5\x19\x0d\x7c\xe8\x0f\x87\xc3\x6f\x5d\xf4\x2a\x25\xf0\x69\xbd\x6b\xc8\xe1\x7b\x8d\xba\xc3\x72\x59\x40\xd6\x21\xf4\x3b\xcd\x0a\xc6\x9d\xc0\xaa\xf9\xd8\x3b\xe2\xaf\xe5\x92\xa5\xe8\x29\x6d\xa1\x81\xdf\x0b\x5e\xf2\x97\x1d\xc5\xf6\xd4\x2a\x83\x52\xb8\xd2\xf4\xdc\xf3\xd9\x85\x78\x92\x88\x5c\x94\x5c\x43\x0c\x27\xba\xc2\x16\x52\xbb\xa1\xbd\xc5\x9c\x71\xd3\x95\x65\xa0\xa4\x1b\x0b\xad\xd1\xc8\x68\x77\x51\x89\x50\x0a\x47\x3d\x23\xcc\x8f\x12\x6b\x04\xee\x1e\x54\x66\x94\x5d\x67\x73\x23\x0d\x89\x39\x4f\x9a\x4f\x86\xa3\x3f\x87\x47\x9b\x02\x9a\xbc\xe2\x6d\x75\x2a\x8b\x57\x16\x88\xfa\xae\x4f\xa4\x35\x30\x8f\x54\x4a\x6b\xe4\x62\xe2\xa1\x17\xee\x2d\x6f\x88\x5b\x71\x1e\xe4\x24\x47\xf9\xb7\x2d\x68\x32\x40\xec\x81\xb4\x76\x11\xa1\x81\x05\xee\xcf\xa3\x34\x78\x59\xfe\x5f\x52\xfb\xfd\xa4\xe6\x11\x79\x0b\x5a\xf3\x9d\xfe\x6c\x62\x23\x6a\x83\x77\xea\x9f\x47\x6d\xcf\xcd\x70\xff\x97\xda\x7e\x3f\xb5\x79\x44\xde\x82\xda\x7c\xa7\xff\x33\xac\x0d\x88\xed\xfa\x93\x6b\x42\x00\xec\x1b\x36\x15\x5a\x01\x95\xa1\x54\x04\xcb\xb0\xc3\x93\x13\xec\x40\xd8\xc0\xd4\xdb\xab\xc4\x3a\x4b\x3d\x19\x7c\xd3\xe9\xb3\x77\xee\x53\xa7\xe4\x2b\x1f\x00\x89\xd6\x28\x57\xea\xc2\x0e\x05\x4f\xeb\x94\x6b\xce\x9c\x27\xae\x0b\x23\x81\x39\xb6\x38\xab\x65\x29\xba\x4f\x61\x81\xe3\x4b\x1c\xf4\xb2\x03\x42\xcb\xa5\x19\x39\x70\x94\x46\x89\x65\x20\x0b\x10\xe5\x74\x29\xaf\x76\x17\x92\x7d\xa0\xec\x26\x0f\x1c\x45\x99\x35\xc2\x64\x1a\x60\x21\x2e\xd6\xcc\x8d\xd9\x30\x1f\xb9\xd4\x8b\xe5\xee\x2f\x9b\x60\x32\x9b\xc4\xca\xb6\xd9\xf8\x1c\x2a\x30\x6c\x65\x3e\x63\x5e\x0e\xc8\x0f\xf3\xd3\x60\xe7\x62\x06\xbe\x0e\xe0\x64\x16\xc8\xb0\xf3\x50\xa5\x49\xa8\x58\xcd\x84\xc8\x07\x73\xbe\x06\xa5\xe0\x80\x97\xa5\x5c\x0d\x6e\xa5\xde\xdc\x8c\x1a\x60\x53\x68\xd7\xa4\x38\x40\x51\x92\x82\x45\x25\xa5\x10\x05\x65\x14\x41\xaf\xc4\x27\xa7\x27\x27\x3f\x3f\x67\xdd\xe3\x05\x96\x9d\x33\x0f\x86\x13\x34\x94\x5a\x0a\xc4\x7a\x65\x56\x77\x21\xfa\xa4\xce\x81\x75\x58\xfc\x43\xa8\x1e\x29\x1e\xc4\x7c\x99\x43\x88\x96\x59\x19\xea\x42\x1b\x19\x98\xcd\xcb\xc1\xb4\x98\x2f\x64\xc9\xcb\x2c\x87\xd0\x7b\x3e\x26\xe6\x35\x93\xb9\x7f\xb4\x80\x70\x7e\x25\xd6\xed\xf7\x43\xf0\xdc\xc6\x5c\x95\xcb\x05\x5e\x15\x88\x0c\x23\xd8\x97\x8a\x75\x73\xa1\x54\xcf\xf0\xd6\x92\x34\xa4\x73\x8e\x6f\x84\x20\x76\x8b\x4c\x5e\x22\xcd\x34\x78\x41\x5c\x67\xfb\x05\x2f\x24\x74\x43\x68\x88\xca\x7d\x3d\x5f\xde\xb4\x6c\xb0\xbc\x16\x83\xf9\x32\xd7\xd9\x22\xcf\x6e\x71\xa5\x06\x9b\x7b\x58\xb3\x58\x7a\x78\xce\x56\x0a\xf6\x4a\x96\x8a\x5c\x73\x73\x6f\xe0\xae\xd0\x76\x40\x0a\x3d\x77\x0f\xb8\xa7\x0f\x6e\x19\xb4\x1c\x1a\x19\x17\xdc\x91\xe4\x8a\x4d\x6c\x55\x4f\x78\x03\x55\xdf\x3e\x40\xad\x7f\x02\xd7\xac\x31\x4b\x7b\x23\x45\x6c\xdc\x9e\xef\xdf\x35\xa3\x4c\xc9\xc1\x83\x83\x07\x0f\x6c\xa8\xad\xff\xdb\xcf\x16\x3f\x0c\x72\x99\x5c\x89\xd4\x4e\x36\xb4\x1e\x3b\x4e\xe3\x66\xde\x7d\xf2\xf2\xe4\xbc\x59\x1b\xf9\xf4\xfc\x25\x8c\x40\xee\x57\x81\x47\x18\xa6\x23\x2c\x79\xa1\x72\x0a\x3b\xec\x42\x2a\xd6\x69\xc9\x17\xb3\x2c\x81\x74\x85\x2a\x04\xfa\xfa\xe2\x87\xc1\x37\xf6\xbc\x28\xa6\x96\x8b\x85\x2c\x6d\x14\xad\x54\x6d\xbe\xdc\x82\xe1\x52\xd0\x93\xa0\xb0\xc1\xe3\x11\xea\x29\x1d\xa9\xf7\x03\x66\x1c\xa4\x1e\x9d\xcd\x3d\x19\x81\x46\xd6\xad\x1d\xad\x0c\x3e\xf4\xb5\xcd\x49\xd9\x86\xf9\xe8\x2c\xb9\x42\x7d\x18\xae\x63\x59\x80\xdf\x97\x91\xd6\xd0\xbd\xc6\x08\x16\x57\x46\xce\x13\x45\x2a\xc0\xfc\x07\xad\x9d\x0c\x27\xa6\x3c\x59\x33\xee\xd9\x56\x40\xa9\x60\x40\xc3\x02\xf1\x77\xf6\x5f\x6c\x72\xd5\x31\x2c\xe8\x3e\x7b\x0a\x80\x9b\xdc\x18\x75\xdd\x87\x31\x70\x24\x2e\x07\x89\xba\x9b\x3f\x3f\x04\x99\xd5\x02\x7b\x21\x50\x13\xb2\x1d\xa9\x99\xc0\x18\x53\x6b\xe2\xad\xba\x11\xa5\x32\x59\xce\x45\xa0\xec\xb1\xd3\x19\x18\x3e\x77\xf7\x39\x01\x3f\xca\xb3\x42\x0c\x62\xa7\x06\xa8\xd1\xce\x4e\xce\xcf\x91\x8f\x82\xd3\xb8\x5e\xbb\x54\x76\x2e\x31\x95\x99\xce\xa6\x24\x3b\x2e\xdf\x3b\x3b\x32\x80\x6d\xe6\x1f\x8c\x01\xee\x36\xe7\x2d\x72\x7d\x7a\x1b\x72\xc6\xf8\x5a\xf4\xed\xd9\x87\xb6\xe7\xbc\x5a\x8e\xd5\x72\xfc\xcf\x9e\xe7\x8a\x52\xe2\xbc\x36\x1b\xa9\xd7\xa4\x82\xb4\xe5\xb7\x79\x9a\xb2\xc5\x72\x9c\x67\x6a\xb6\xaf\x96\x63\x95\x94\xd9\x58\xec\x2f\x0b\xf7\xd9\x25\x95\xe2\xd0\x1b\x33\xfb\xf3\x82\x89\x1b\xc8\x8f\x30\xb5\xfe\x49\x61\xd6\x9c\xe5\xf8\x7c\x39\x6e\x29\x5a\x29\xc7\x80\x8f\x52\x7d\xa0\xb4\x4a\x41\x52\xc6\x63\x3f\x99\x3e\x73\x33\x40\x39\x26\x9c\xd2\x5c\xe8\x99\x4c\xe1\xb9\xd5\x3c\x13\xcc\xc1\x4c\x9e\x2c\xbe\xcc\xb4\xb5\xc3\x50\x90\x0a\x24\x70\x96\xcb\x64\x26\x52\x7a\x4e\x8a\x12\xf6\xa2\x90\xac\x10\x80\x1f\x03\x68\x25\xcb\x72\x4d\x89\x68\x0d\xf2\xc8\x87\x07\xad\x3c\x71\x0d\xeb\xb0\x82\x82\xad\x8c\x2d\xc7\x7f\x03\x42\xb1\xf1\x7f\x88\x73\x20\x01\xeb\xf7\xcf\xb4\xac\xe3\x6f\xc8\xd3\xf4\xb1\x6d\x10\xd6\x40\x18\xff\xcd\x57\xed\x41\x0a\xa5\x3a\x5a\x61\x6f\xcc\x02\xe7\x2a\xd7\xce\x83\x6a\x9c\x08\xdd\x9f\x22\x4a\xa3\x25\xc7\x7f\x7b\x37\x7f\xef\x4f\x4b\xa5\xd9\xbb\xf9\x7b\xcc\x9d\x85\x43\xf6\x5c\xde\x38\xbb\x79\xe7\x6e\x7b\x30\xdc\x07\xa3\xbd\xcd\x1b\x72\x62\xbd\x1f\x15\x61\x91\x9b\xcd\x0d\xf7\xaa\x5a\x22\x8d\x7e\x06\xbc\xd9\xcf\xe6\xb9\x1d\x0c\x31\x0c\xfb\x39\xe4\x20\xd2\x7b\x1f\x59\xc2\x29\xbb\x1e\xf8\x3c\xd1\xcf\xc8\x41\xaf\xe5\x95\x20\x23\x68\x18\x8f\x5e\xdf\x80\xa0\x18\x85\x1b\x38\xd8\x08\x9a\x58\xdf\x8d\x15\xd4\xa4\xb0\x3f\xe2\x09\x8d\xc8\x3e\xac\x16\xe1\xbf\x7d\x47\x1d\xcc\x06\xbc\x7b\xef\x6b\x46\x34\xb4\x18\x2e\x96\x6a\xd6\x75\x83\x46\x27\xe8\x75\x78\x70\x31\xdc\xff\x6e\xa8\x5e\x56\x00\xed\x8a\xee\x63\xff\x71\x51\x8a\xeb\x4c\x2e\x55\xbe\x66\xa5\x98\x66\x4a\x43\xf6\xad\xeb\x8c\xdb\x42\xf3\x6e\x84\x6e\x6f\x23\xf6\xc3\xb9\x6c\xc7\xbf\x21\x77\xc8\xa4\x77\xd4\x8a\x41\x5b\xc6\xe3\x33\xd3\x2e\xac\x1f\xd3\x79\x5a\x60\x69\x13\x6a\x89\x15\x63\xe8\x0f\x57\x19\x24\x63\x47\x30\x82\xab\xc2\x11\xec\x05\x02\xce\xd8\x77\xec\x20\x02\xfc\x42\x6a\xbf\xde\xb4\x0e\x17\xe0\x29\x23\xeb\x88\x6e\x56\xab\xca\xf2\x0a\x99\x62\xe0\x47\xdc\x72\x90\xdc\x21\x34\x8f\x1a\x6b\x29\x42\xe3\x34\xcf\xd9\x04\x64\x05\x8f\x2e\xc3\x00\xf1\x3c\xa4\x8c\xab\x75\x91\xcc\x4a\x59\xc0\x8e\x0d\x5d\xc6\x42\xe4\xb5\xf8\xf0\xa3\x94\x92\xe4\xf0\xc3\x8b\xb5\x2c\x04\xbd\x1b\x97\x60\xf2\xb2\x67\xfe\x96\xc4\xb6\xb0\xcb\x33\x8b\x1a\x36\x31\x51\xc1\x8e\x0b\xc6\xcb\x71\xa6\x4b\x5e\xae\x1d\x03\x57\x4a\x26\x19\xc7\x72\x8e\x60\x79\x05\xe6\x1d\xa4\x0a\xd9\x4c\xb5\x72\xa1\x3f\xe4\x5c\xe9\x13\x47\xbd\x45\x80\xac\x80\x69\x24\x50\x44\x60\xa2\x45\x69\x69\xd7\x7c\xa1\x02\x64\x43\xb4\xc7\x58\xa0\x02\xd1\xe1\xa0\x95\xa4\xed\x8a\x9b\xc8\x59\xf4\x6b\x13\x43\xca\x76\x33\x82\x21\xd6\xcf\x32\xa5\xbb\x99\x65\xdf\x46\x94\x81\x17\x56\xa6\x98\x11\xe3\x0d\x79\xd0\x46\xc1\x16\xbb\x12\x55\x04\xb2\x4f\xc5\x17\x30\xe7\x3a\x06\xab\x48\x0b\x29\x91\x45\x22\xca\x82\xc9\x65\xa9\x44\x7e\x2d\x28\x05\x88\xb8\x49\xc4\xc2\x72\x4b\xe6\x49\x1d\x88\xd7\x17\x2f\xb5\x65\x14\x95\xd0\x17\x38\x93\xae\x9f\x31\xb8\xc2\x64\xec\xbe\xaf\x62\x68\x7a\xbf\xcb\xde\x77\x83\x6a\xca\xb7\x38\xc3\x70\x84\x3d\x0e\x20\xbd\x1d\xf8\x0f\xc0\x58\x59\x81\x85\x26\x32\x4d\x2f\x1d\x45\x65\x24\x57\xa2\x53\xd2\x1d\xb5\xc6\xaa\x12\x34\x13\xe0\xbf\x46\x7e\x4c\xb8\x46\xe0\x51\xd1\xdf\xe6\x9d\xa9\x4f\x85\x4e\x34\xb0\xea\x5a\x1f\xaa\xa3\x13\x57\x53\xb7\x83\x57\x5b\xbf\xaf\xd4\x2c\x74\x23\xdd\xdb\x8c\xe3\x03\x64\x21\x5b\x44\x5c\x54\x73\xfc\xb3\x8b\xb8\x6d\xa9\x5c\x57\xb6\xbe\x20\xe5\x2c\xc5\xd3\x78\x26\x57\x27\x50\x01\x9a\xfe\x3e\xcf\x7e\x15\xfe\xaf\x0b\x71\xa3\x8f\x9d\xdb\x73\x98\x05\xf6\xdf\xcd\xe0\x66\x0d\xd7\x99\x58\x21\x77\x44\x61\xda\xd5\x81\x53\xbe\x06\x6e\x68\xf0\x36\x6c\x01\xdc\x54\x0d\x62\xc4\x8d\xe3\xd6\x4f\x35\x9b\xf3\xac\xd0\x3c\xa3\x07\xba\xad\x17\x46\x91\x0c\xae\x76\xa4\xe1\xe4\x33\xae\xd8\x98\xab\x2c\x71\xe2\xaf\xf5\xdc\x86\x0a\x2d\xf8\x66\x85\x54\xe3\xd7\xa2\x84\xd0\x0d\x0a\x4b\x4e\x53\x2a\x3f\x5e\x8a\xb9\xbc\x36\x9f\x4b\xb9\x52\x5e\x33\x4d\x24\x10\xa6\xa9\xc5\x65\x99\x11\x0b\x09\xe9\x68\x73\x91\x4e\x5d\xbe\x93\xa6\xdc\xc5\xae\xb0\xaf\x0f\x15\x86\x51\x64\x11\x8c\x61\x88\x20\x15\x88\x19\x30\x2e\xe4\x6b\xab\xbb\x8a\xbb\x61\x55\x4c\x8a\x68\x36\x1c\x0b\xca\xc1\x98\x15\x2a\x1f\x07\x4e\xf3\x06\xf3\x05\xb7\xad\x56\xbc\xc0\x64\x30\xa2\x50\x4b\x73\x49\x19\x50\xf0\x1a\xe4\x85\xde\x38\xb9\x3e\xcb\x74\x47\x91\x7b\x68\x29\xd4\x42\x16\x2a\x1b\x67\xf4\xea\x41\xe4\x11\xbc\x12\x8a\x72\x94\x18\xbb\x6e\xfe\xc0\xb9\xf9\x7b\xef\xc2\x2f\x19\xc2\xfe\x90\x11\xc9\x42\x97\x1c\xb8\x92\x62\xa2\x98\xc8\x32\x11\x54\xba\x27\xb7\x95\x63\xa8\x64\xcf\xa2\xe4\x89\xce\x12\x31\x1c\xc2\x0d\x36\x00\x80\x96\x3c\x89\xae\x68\x8f\x64\x6e\x1e\x42\x2b\x49\x3f\x9f\x13\xa2\x61\xc1\x09\x38\x4b\xbc\x2c\x84\x55\x26\x1a\x60\xe4\x24\x67\xe7\x07\x14\xe3\x5b\x38\x75\x72\x95\x2e\xec\x1c\xe6\xb9\x1d\x03\x27\x00\x9b\x98\xf0\x12\x72\x03\x72\x8d\x88\x35\x82\xc5\x4f\x17\xcf\x9f\x9d\x62\xfe\x07\x70\xd9\x28\xec\x04\x72\x5e\x4e\x21\xc0\xa0\x00\xdd\x81\x9c\xe0\xd4\xfb\x6c\x26\x57\xe2\x5a\x94\x98\x27\x02\xe0\xcc\xf8\x62\x21\x0a\x7a\x50\xf8\xac\x25\x86\x7f\x14\x06\x94\x5b\xb3\xcc\xf3\x57\x92\xe8\x9f\xee\x32\xf2\x71\x67\x9c\x4d\xc4\x8a\x95\xcb\x5c\x50\xa6\x3f\xac\x04\x3b\x64\xec\x94\x27\x33\xbb\x9d\xb6\xb6\x61\x29\xa1\x3a\x34\x51\x65\x82\x7a\x0e\xb3\x14\xa6\xf9\x94\x75\x6e\x06\xa5\x5c\x75\xf0\x60\xc1\xee\x43\x3f\x18\xd1\x52\x06\x16\x94\x73\x19\x0d\x90\xa9\xc9\x12\x29\x2a\x75\x36\x42\x4c\x6a\x40\x27\x0a\x69\x88\x9c\xa4\x0b\x7b\xa6\x5b\x8f\x1b\xa3\x6a\x4a\x59\x41\x3a\x3e\xc4\xb8\xa3\xa9\xf1\xba\x42\x2c\x50\x35\xca\x55\x95\xc2\x04\x34\x18\x61\x86\xba\x00\x2b\x1c\x54\x68\x28\x9c\x10\x78\x83\x35\x22\x1d\x05\x1d\x57\x1c\xcd\xa6\x6f\x33\x2f\x52\x15\x53\x63\xc3\xf1\xa0\x12\xdf\xf9\xda\x72\x1b\xa4\x1f\xc3\xb7\xd8\x9c\xdf\x64\xf3\xe5\xdc\x06\xd0\x42\x65\x43\x33\x8d\x83\xaa\x78\x49\x25\xeb\x51\xa0\xc3\xd6\x27\xd0\x18\x54\xea\x04\xc5\x9f\x7d\x6c\x61\xcb\x3c\x65\x8a\x64\x3a\xc7\x4f\xce\x85\xa0\x13\x6d\x8b\xe8\xc7\x7c\xd5\x7d\x6b\x00\x64\x05\x06\x18\x00\x9b\x36\xf2\x2b\x41\x83\x6c\x86\x48\xbf\x8a\xa2\xfc\xa4\x64\x73\x48\x12\xe1\xdd\xc9\x20\x2d\x44\x9a\x82\xae\x41\x1a\xda\x94\xab\x38\xa9\x15\x41\x3b\x30\xd7\x7e\x21\xb5\xa1\xab\xeb\x2c\x8d\xa5\x4b\xda\xaf\x4a\x9d\xc4\x00\x0f\xbd\x4a\x8d\x0a\x23\x7c\x26\x7d\xb0\x8f\x0c\xe0\xfc\xf2\x04\xca\xa0\x5b\x1f\x40\xb3\x05\xf4\x70\xf5\x5c\x80\xb2\xd3\x83\x3c\x66\x5a\x1c\x43\x66\x10\xf7\x5a\xdd\xdf\xb7\xd8\x8e\x02\x9e\x1d\x92\x03\x40\x58\x4e\xd0\x4f\xef\x03\x3b\xaa\xed\xdc\x6f\xbf\xb1\x6f\x0e\x42\xc0\xee\x6a\x94\xb9\x2c\xfb\x10\x7c\x0a\x49\x49\x45\x99\x67\x05\x95\x3e\x8b\xc3\x3e\x95\x1b\x4b\x47\x57\x7a\xa4\x2d\x89\x6f\xfb\x2e\xda\xb3\x87\x56\x9d\xda\xb3\x33\x38\xa1\xd1\x21\xe9\x01\x9a\xc6\xe9\x8e\x4e\xa4\x2c\x53\xc8\xaf\xe7\xc7\xc3\x9f\x5e\xd9\xdb\x3b\x1c\x0f\x65\x8f\x2e\xc9\x67\x7e\x79\x85\x4c\xf1\xa8\x71\x2c\x22\x67\xb9\x82\xbf\x05\x71\xb8\x4c\x39\xa9\x00\x6e\xd0\xca\x98\x67\x72\xf5\x42\xa6\xc2\x60\xb4\x58\xe6\xf9\xb6\x11\xd4\x82\x17\x56\x28\xb9\xed\x50\x6d\xe3\xc8\xc9\x44\x09\x8d\x17\x5e\x40\x07\x70\x6d\x87\x3d\x7d\x62\xce\xa6\xf1\x2a\x83\xbd\x04\xa0\xd5\xe1\xce\xc4\x54\xdc\x50\xbd\x36\xf4\x8c\x04\x33\x82\x2c\x53\xef\x1d\xe9\x77\xc5\x7c\xff\xb8\x14\xfc\xea\x39\xd7\xc9\xec\x99\x98\x68\x07\xae\xb1\xc5\x19\x48\xc2\x1b\x9b\x3c\x47\x8f\x72\xdb\x26\x78\xb1\x9f\x51\x65\x2c\xcf\xe9\x20\xfe\x10\x43\x3a\xbd\xd8\x59\xd1\x59\xba\xf2\xa8\xbe\xc5\xc7\x7a\xeb\x86\xba\xc3\x44\x9e\xc8\xe3\xec\x1b\xd5\x8a\x39\x1c\x63\xfd\x80\xe7\xd5\x8e\x75\x85\x8b\x04\x6f\xd4\xa9\xd0\x30\x68\x4d\x8f\x4b\x93\xf4\x44\x6d\x9a\x75\x6b\xa7\xba\x5f\xe1\x15\xb6\x44\x7f\x1b\x9e\xe2\x45\xb8\xd9\xd7\x67\x1c\x61\xca\xf1\xfe\x06\xe1\xf3\x76\x8b\xfd\x49\xd0\x86\x37\x2f\xb7\x71\x31\xbb\xaf\xa5\x7d\x03\x76\x59\xce\xdd\xb6\xef\x2d\x9c\xbc\x8d\x0b\x0a\x37\x2c\x5a\x8c\x35\xd7\xb6\x5f\x9f\x0b\x51\x52\xa5\xc1\xe6\xcb\x38\xd9\xe1\x0a\x0e\x60\xb4\x2e\x44\x09\x7d\x12\xdc\x0c\x1b\x4a\x20\x57\xee\x14\x2a\x85\x7c\x2f\x2c\x9d\x1b\x71\x66\xea\xc0\xbe\xa7\xb6\x81\x66\xd6\x0c\x1a\xb5\x6d\xec\x5f\xca\x55\x9f\xd6\x39\xa8\xea\xec\xce\xf0\xc1\xe0\x73\x9e\xc1\xab\x21\x7e\x74\x85\x45\xf4\xb2\x3a\x17\x08\x44\x68\x24\x08\x0f\xe8\x16\x84\x00\xd6\xd2\x33\xb9\xda\x4c\x08\xb6\x95\xea\x1e\xf6\x5c\x4d\xeb\x78\x29\xf1\xb3\x51\xcb\x45\x20\xa1\x56\x16\x03\xd5\xf3\xc2\xfc\x4f\xdb\x89\xa4\x72\x76\xdd\x93\x2b\xae\x1b\x8d\x87\xef\xbb\x00\x33\xdf\x23\x6a\x90\xe1\x8b\x14\x7a\xef\x84\x0f\xd5\x42\x4a\xcd\xe7\x9d\x74\xb3\x07\xb4\xdf\xf1\x5e\x93\xc5\x18\xe4\x37\x46\xb7\x68\x0d\x3f\x55\x1c\x44\xbb\x6b\x3a\x5e\xd8\x3b\x5f\x92\xf8\xb9\x71\x19\x94\x8c\xbb\xb2\xb1\xa5\x5c\x05\x07\xa2\x69\xfa\x07\x7d\x33\x48\xe3\xfc\xf1\xb6\xd8\x71\xfa\x8d\x3b\x01\x10\x2e\xac\x0c\x79\xdb\x85\xa8\xca\x4a\x54\xe3\x52\xa8\xfd\x90\x2f\x16\xf9\xba\x1b\xff\x08\x6b\x53\xad\x07\x31\xe7\x9f\xe6\x1c\x3a\x38\xb7\x38\x86\x0b\xb9\xd8\x7a\x08\xb1\xcd\xce\x47\xd0\x7a\xc3\xfd\x33\x9e\x42\x5a\xea\x5d\xce\x60\xe3\x4d\xcc\x06\xb8\x8a\x9d\xcf\x67\x13\xf2\x3e\xf1\x11\x5d\x2c\xd5\x6c\xc7\xf3\x09\x8a\xe2\x5d\xce\xe5\x2e\xd3\xfe\x64\x47\x93\x16\xd0\x72\x2e\x61\x8f\x4d\x93\x9d\x8f\x62\xd3\x3e\xf8\x7c\x00\xe6\xcb\x8d\xeb\x72\xf4\x8a\xca\x93\x0b\xa7\x46\x71\xab\xb1\xef\xa6\xe1\x27\xdc\x45\x6c\x52\xd9\x47\x18\x17\x39\xe9\x06\x76\x4b\xad\x76\x64\xb9\x7f\x08\x26\xd4\xf0\x0f\xa1\x0c\x87\x14\xd5\x8c\x15\x22\x11\xe7\x80\x90\xb1\x23\x76\xf0\x88\x65\xec\x3b\x9c\x14\x89\xcf\x2c\xbb\x7f\x3f\xaa\xe3\xd5\x8c\x42\x76\x9f\x65\x16\x8d\xea\x5d\xf6\xbe\xee\x7d\x40\xfc\x91\xdf\x82\xbb\x6f\x43\x65\xa0\x9b\x6b\x61\x83\xb5\x7b\x21\x64\x7f\x1b\xd1\x87\xd0\x9a\x68\x6a\x07\xfe\x47\x58\xfe\xb3\x2f\x89\x06\x52\xc3\xa8\xd7\xc8\xae\x30\xfc\xaf\x72\xc1\x38\x14\x37\x51\xe8\xae\x57\x4d\xd4\xbc\x72\x7e\xc1\x53\x80\x6b\xb1\xc9\x72\x13\x59\x55\x94\xd0\xaa\x51\x41\xa4\x25\x43\x8d\x10\x3e\xd5\x73\xc1\x4b\xc5\xe4\x52\x63\xc9\x11\x83\xc4\x92\x94\xb8\x29\xd7\xdc\xc2\x3c\xc6\x24\x58\x14\xbc\x4b\xa7\x5e\x96\x5e\x4f\x49\x69\x7d\xc0\xde\x19\xe8\x59\x9c\x55\x29\x53\xa0\x41\xce\xb3\x14\xdc\x9c\xc0\xc2\xcf\x33\x25\x30\xeb\x94\x4a\x96\xa5\xf0\x26\xdf\x2d\xdc\xc0\x22\xe3\xa4\xaa\xfa\x6a\xf2\x01\xab\xbc\xa2\xcc\x3e\x59\x8d\xd8\x66\x6d\xd6\x06\x05\xd4\x46\x75\x51\xb0\x6f\xbe\x1e\x67\x42\x05\x33\xed\xd1\x20\xf4\x6c\x3b\xba\xb0\x3d\x27\x76\x7e\x1b\x57\x68\xe7\x3f\xcc\x8a\x42\x94\x60\x45\x38\x62\x9d\x4e\xcb\x2a\x89\x62\x9d\x36\xb2\xdb\x01\xc7\x4b\xb3\x9d\x93\x5c\xae\x3a\x55\xec\xf8\x45\x1e\x3c\x6a\xc1\x2c\xbd\x6f\x37\xb4\xb0\xd0\xcd\x3a\x78\xae\x84\x73\x72\x31\xb4\xf3\x28\x7c\x3a\xc7\x4a\xd4\x61\xa6\x48\x4b\xdd\xed\xf9\x72\xa4\x37\xda\x2d\x30\xb2\x6e\xd3\x2f\x60\x9b\x05\xc5\xc4\x2c\xd3\x02\xd2\x86\xd5\xd5\x46\xde\xde\x8e\x15\xe7\xd1\xa1\x18\x9c\x14\x64\x01\x0a\xf7\x6b\x51\x2a\x97\xe7\x1a\x54\xeb\xb0\x27\x90\xb0\xd8\x30\x31\xc1\xfb\x2e\x86\x1b\xc1\x40\x3a\xb6\x8e\x82\x8a\x04\x94\xd9\x4a\x94\x5c\x09\xe7\x81\x37\xb4\xae\x3d\x04\xfc\xa8\x49\x71\x3c\xa4\x5f\x1f\x35\xeb\x95\x87\xbe\x33\xa1\xb2\xb9\x99\x5a\x17\xc9\x09\x4c\xbe\xdb\x73\xe8\x06\xed\x6c\xf3\xa8\xe8\x0c\x7b\x82\x9a\x5b\x51\x76\xcd\xcf\x6d\x27\x65\x08\x06\x87\xf4\x64\x96\xe5\x69\xd7\xc0\xac\x36\x74\x87\x46\xa6\xc2\x7b\x99\xb5\x2e\x64\xcb\x8a\xe3\xa5\x04\xa7\xec\x39\x2f\xaf\x22\xbe\x08\x02\x1f\xb8\xc9\x80\x31\x9a\xa8\x4e\xb8\x5c\x4f\x85\xa1\x10\x43\xef\xa1\x8d\x08\x34\xfb\x8e\x42\x21\xee\x90\x32\x55\xa7\xb4\xef\x98\xe1\x07\x53\x55\x97\x90\x08\xd0\xeb\xfe\x0c\x64\x32\xb6\xa3\xa5\xfd\x4a\x28\x96\x69\xc3\xff\x30\x41\x3b\xdc\x3d\x89\x9c\x8f\xcd\x30\x7a\x05\x39\xb3\x20\x57\x96\x1b\xd2\x19\xf1\x1d\x48\xf0\x7e\xb5\x36\xfe\x78\xbe\x18\xc1\xe8\xca\x86\xb9\x0b\xd8\xa6\x25\x14\x66\x9a\x64\x54\x8b\x17\x35\x64\x14\x92\x03\x56\x3f\xfb\x13\xa4\xda\xe6\xda\x1a\x56\x17\x65\x86\x0a\xdf\x58\x4b\xef\xb8\x39\x85\xdc\xcf\xe7\x99\x46\x5b\x64\x84\xbd\xbe\x75\xc0\xc7\xcc\xec\x8b\x52\x24\x22\xb5\xae\x18\xa5\xb0\x50\x60\x73\x42\x76\x08\x96\x78\xc9\x38\x64\x8c\xa9\xcc\x7a\x23\x97\x84\x89\x3c\xcb\x0a\xf1\x32\xe0\x30\xdb\x39\xa5\x12\xba\x95\x01\xa2\xcf\x7e\xf5\x71\x9f\xcb\x24\xb8\x84\x15\x78\xd3\x32\x8e\xb9\xa8\x80\xea\x9c\xf6\xbb\x55\xb2\xb1\x6f\x02\x48\x9c\x86\xd6\x9d\xea\x1b\x22\x90\x64\x80\xa5\x56\x9a\xfb\x01\x36\xaa\x31\x5b\x2f\x47\x52\x24\x1a\x20\x81\x17\x69\xb3\xfe\x9c\x78\x6a\x22\x0b\x25\x73\x31\x5c\xf1\xb2\xe8\x76\x8e\x7d\x46\x4c\xa8\x42\x52\x21\x0e\x59\x30\x81\x25\x84\x70\x5a\x9d\xa8\x48\x74\xe4\xe1\x64\x90\xf1\xfd\x51\x8b\xee\xbe\x32\xb6\x28\x4b\x59\x76\x3b\xe6\x1e\x34\xe2\x8a\x9c\xb0\x31\xd4\x01\x43\xff\x46\x7c\xf3\xc0\x30\xb0\xfd\x6d\xef\xf6\xc3\xe0\xbe\xb0\x33\xf8\xce\x48\x43\xbf\x67\xb0\x83\x68\x51\x5e\xd1\x5b\xbf\x6f\x9a\x87\x41\x95\x73\xd3\x48\xb4\x4d\x8f\xa8\x17\xdd\xb0\x75\x05\x74\x7d\x61\xd4\xb8\x7d\x6d\xb7\x1d\xd4\x2f\xf2\x56\x77\x7b\x89\xa7\xad\xb6\x25\xef\x4a\xb9\x7a\xff\x28\xbe\x91\xa8\xed\x10\x54\xcf\x70\xaf\x38\x8d\xfa\x67\x70\xc1\xd0\x4a\x2a\xcd\xe5\xaa\x10\xe5\x13\x1b\x95\x82\x57\xd8\x85\xb8\xd1\xe6\xc7\x6e\xa7\xe3\xb7\x0a\x5a\x37\xde\x5a\xce\x13\x90\xee\x90\x93\x60\xd5\x9e\x56\x71\x21\x47\x4d\xcc\x24\xf4\xcd\xab\x12\x40\xa3\x9c\x34\x68\x10\xaf\xbc\x43\x5f\x78\x45\x07\x97\xe9\x23\xfa\xb9\x3a\xcb\x5b\x8e\x13\x78\xf9\x45\x92\x53\xa3\x34\x4c\xeb\xde\xb8\xfb\x20\x55\x87\x7c\x05\xb0\x86\xaf\x81\x6e\xb8\x73\x06\xc5\x64\xb4\x3d\x62\x6e\x86\xd1\x72\x1e\xb9\x86\x2b\x32\x29\x35\x59\xcf\x87\x06\x2a\xd8\x9c\xfc\x26\x06\x94\x32\x34\x77\xfc\x79\x36\x86\x28\xa1\xdf\x7e\x23\x50\xdf\xd3\xd8\x1e\xcf\xad\xd2\x4a\xed\x67\x2f\x01\x23\x0c\xdb\xc4\x73\x35\xc2\x4f\x75\x77\xee\x1f\xe1\xe8\x8f\x42\xd2\xad\xce\xb1\x1e\xe1\x40\x26\x31\xeb\x83\x11\xa4\xe0\xf1\xc1\x1d\x50\xe8\x24\xe1\xa5\xd0\x61\x45\x05\x1d\x0a\x43\xe0\x92\x56\x7f\x27\xb6\xdf\x1c\xeb\x22\x39\xb7\xb0\x4e\x00\x74\xe8\x37\x6c\x7f\xa1\x4b\xb5\x5c\x13\x26\x7d\xe6\xa6\x44\xe6\x39\x5f\x28\xd1\xad\xa2\xb6\xdf\x44\xf0\xc8\xb4\x12\xc8\x80\xd4\x9d\x64\xa5\x98\xc8\x9b\xa7\x90\xc5\x31\x3d\xb5\xaf\xc1\xc0\xe3\xf6\x87\x1f\xc0\x67\x13\xfd\xdc\x21\x1c\x87\xda\x40\xe4\xdc\x4c\x90\x5c\x96\x99\x77\xd6\xa4\xcf\x4a\x4e\x29\x0d\x79\x81\x05\xf0\x0b\xa9\x2d\x28\xaa\xbf\xe9\xac\xda\x34\xed\x61\x6d\x23\x16\x79\xa6\xbd\x18\x06\xfb\x87\xf2\xde\x4a\xc2\x5f\x4e\xa5\x66\xa4\x80\x82\xa8\xc3\x5e\xff\x61\x4d\x2b\xf3\xf7\x8f\xd0\xc6\xb4\x7e\xf2\xf2\x39\x9b\x94\x7c\x0a\x89\x98\x3b\xdf\xa5\xd9\xf5\xf7\xdf\xa9\x05\x2f\xbe\xff\x49\xe4\xb9\x64\x6f\x65\x99\xa7\xdf\xed\xc3\x37\xdf\xed\x9b\x5f\x3b\x18\x7c\xc0\x94\x99\x10\x60\x14\x3c\xec\xb8\x52\x91\x87\x05\x56\x87\xb1\x87\x4c\x4e\xd8\x57\xb6\xee\xca\x0a\x82\x25\x21\x37\x2b\x7a\x9c\xb9\xe1\x51\xd4\x1c\x1b\xf9\x54\x8c\x1a\x26\x63\xe7\x01\xff\x6d\x98\x19\xfa\x45\xda\x29\x80\xdf\x16\xc7\x1a\x35\xde\x41\x06\x13\x54\xe0\x1c\xbc\x03\x3b\xd4\x8b\x08\x04\xf3\x15\x2d\x42\x41\x75\xd5\x50\x3e\xd7\x72\x30\x16\x03\x58\x3c\x6e\x42\xe0\x0d\x67\x5d\x4d\x44\xe9\x53\x75\x58\x78\xe8\x8a\x82\x8e\xbe\x06\x5f\x39\x4f\x44\x8a\x4f\x00\x2d\x1b\x54\x74\xe6\xe5\x6c\xb0\xfb\x11\x7b\x3a\x6f\x16\xa8\x7f\x93\x67\xba\x59\x52\x23\x74\x47\x3e\x29\x76\x51\xa6\xb7\x77\x40\xc1\x15\xe0\x43\xd3\x39\x4f\x24\xc9\xb2\xdc\x7c\x2c\xdd\xa6\x87\xc7\xd1\x80\xee\x47\x3c\xcd\xb0\x4d\x88\x1d\x78\x11\xf0\x99\x24\x97\x85\x80\xcb\x10\xae\xe6\x5e\xf4\xee\x3e\x41\xcd\x84\x6d\x1b\x7c\x65\xce\x66\xf5\xbb\x4d\xdc\xf8\x7c\x39\x56\xba\xa4\x49\x1d\xb8\x79\x19\x30\x6e\x4a\x15\x58\xe8\x37\x0d\x21\x4f\x1a\x1f\x9b\xf4\x5b\xd0\x9b\xae\xdf\x46\x10\x3d\xc7\x53\x87\x0b\x6e\xd8\x1d\x34\x40\xf5\xd4\x63\x08\x48\xf0\xfd\xfa\x35\xa6\xeb\x42\x68\x3e\xab\x2e\xb3\x19\x2e\xea\x4c\x22\xc9\x21\x60\x14\xa7\xe8\x04\x8c\xc4\x67\xc8\x0b\x7c\x9b\xb3\xc5\x42\xa4\xae\x32\x9e\xf7\x3e\x4a\x72\x3e\x5f\x78\xca\x0f\xdd\x0e\x37\x12\xc2\x9c\xaf\xc7\xe2\x24\xcf\x16\xe4\x25\xd6\xa8\x16\xba\xc5\xe5\xd9\x24\xca\x38\x9c\x23\x8c\xef\x36\x08\xb2\x81\xbb\x9a\x61\xc9\x50\xb6\xbb\x90\x1a\x43\x1a\x61\xf5\x10\x1c\x3f\x5e\x6a\x2c\x2b\x8b\x5f\xf3\xf9\xc2\xc5\x41\x6c\x77\x97\x68\x1d\xfc\xf6\xee\x13\x8d\x82\x73\xaf\xe1\xb6\x6f\x92\x6b\xcd\x83\x30\xba\xe7\x2b\x0f\x9a\xfd\x7d\x76\x6e\xd8\x91\x9c\x4c\x62\x35\x2d\xae\x04\x43\x60\x0c\x27\x82\x3d\x64\xa5\x50\x1a\xcb\x43\xb0\x9c\x6b\xe1\xd4\x42\xbb\xcb\x76\xd6\x35\xed\xb9\x35\x39\xfb\x37\x29\x7a\x82\x80\xeb\xb6\x7d\x2d\x7e\x32\x64\x59\x7f\x38\x34\x82\xd8\x52\x1d\xa8\x37\xe0\x25\x79\xd8\x5a\xbc\x81\x4b\xdc\xed\x69\xb1\x42\x88\x0d\x72\xd8\x77\x04\xd5\xcc\xa9\x2e\xbf\xe2\x03\xff\x76\x8c\xcb\x05\x6f\xd4\x25\x97\x83\x26\xe1\x85\xe2\x8a\xfc\xee\x5b\x94\xe4\xb9\x15\x0c\xa0\xb8\x95\xdf\x99\x61\xf3\x9b\x28\x3e\x7e\x8f\x1a\xb4\x74\xe1\xa2\x22\xa9\xb1\x59\xca\xb6\x4f\x9d\x06\x86\xb5\xe1\x71\x51\x97\x47\xed\x83\x36\xa2\xc8\xef\x36\x72\x83\xa7\x91\x7e\x7b\xc5\x31\x9a\x2b\x8b\xbc\x13\x7d\x12\x6f\xb0\xe9\x08\xe0\x8d\x45\x70\x20\x94\x13\xd2\xbc\xc8\x7a\x17\x67\xa9\x70\xde\xbd\x9a\xa2\x78\x7f\x3f\xa8\x25\x9b\x0b\x73\x74\x8d\xa4\x47\x2e\x29\xd6\xf3\x82\x4e\x6f\xb3\x2e\xad\x4a\x76\x9b\xd8\xc6\xc7\x46\xe3\x34\x65\xa3\x8f\x85\xf6\x20\x91\x87\xd3\xaa\x78\xc7\xf9\x40\xb2\x87\x93\x17\x39\x21\x03\xf4\xff\x90\x4b\x14\x8f\x40\x60\x6c\xb8\x32\xba\x3d\xa2\xcd\xac\x60\xb2\x4c\x6d\x79\xb6\x6c\x11\x68\x4b\x3d\xfc\x82\x78\x76\x4c\xc9\x36\xaa\x28\x53\x58\x6c\x70\xb9\x70\x97\x19\x86\xc7\x68\x49\x91\x09\xf9\xda\x85\x1e\x51\xb8\x5c\x4d\xd5\x6a\x60\xe1\x0a\xa3\x7b\xaf\x41\xb5\x17\xc7\xef\xb6\xd8\x8a\xd1\x6b\x3e\x7a\xb9\xe8\xd2\xdf\x8d\x9e\xe8\x5b\xde\xd8\x71\xa3\x0b\xb4\x28\xf8\x2f\x62\x29\xe9\xce\x16\x16\x67\x76\x30\x57\x23\xc4\xc2\x00\x7a\x90\xaf\xb9\xb2\x8d\xb0\x92\xf1\x9a\x2d\x4a\x48\xf1\x0c\xf9\x82\xe4\x5c\x30\x28\x7e\x5e\x4c\x11\xc8\xca\x19\x39\x94\x0d\xb6\xa4\xac\x02\xa0\x76\x2e\xd3\x10\x18\x0e\xc0\x67\x82\x43\xc0\xbc\xce\xe6\xc2\x72\x26\xa5\x4b\xeb\xc8\x69\x65\x33\xfa\x06\x30\x68\xe7\xfc\x02\x2c\x1e\x66\xc2\xab\x19\xd7\x7d\x7b\xa2\xc1\x3d\xc9\x45\x8e\x42\x25\xdb\x90\x1b\x38\x1f\x6d\x48\x28\x7d\x2d\x10\x96\xc1\x12\xe5\x28\x98\x2f\x93\x59\x8b\x63\xbb\x95\x07\xee\x1f\xb9\x39\xda\xc9\x3c\x93\x09\x44\x1a\x27\x33\x51\x31\xaf\xb9\xb7\x58\xac\x77\x68\x52\x88\x58\x0e\x8e\xc6\x08\x2b\xc3\xe3\xf4\xe9\xaf\xb9\xe0\x46\xc2\x0b\xf2\xac\x89\x22\x8d\xf7\x69\x88\x60\xa0\x9e\x5f\x36\x5f\xe4\x99\x55\xa8\xc7\xc2\x1f\xd7\xd5\xee\xf4\x1b\x48\x9c\xf6\x92\xc0\xb9\xbc\xb4\xb3\xde\x72\x79\x7a\xea\xec\xb1\x81\xd3\x51\x58\xdd\x55\x04\x2b\xd0\x09\xee\xef\xb3\x63\x56\x88\x29\xa6\xf4\x2a\xe3\xe5\xfb\x64\x3e\x8d\x5e\xfa\x0b\x9b\xe1\x49\x14\xa9\x05\x66\x97\xe3\xa3\x4e\x24\x79\xad\x81\xfd\x82\xb1\xb7\xa2\x63\xae\x47\xa2\xcd\xc0\x7d\xc4\x93\x73\x85\xa0\x87\x5e\x1f\xa4\x5a\xec\x7a\x83\x68\x7d\x36\xd6\x17\x62\x04\x32\x15\x80\x0a\x4a\x94\x26\xd2\xbc\xc9\xb5\xc8\xd7\x6c\x59\x40\x68\x68\x3a\x64\xec\xb5\x8d\xf1\xe8\x07\x85\xd6\x7d\xa0\x32\x44\x83\x40\x76\x5f\x5d\x66\x57\x42\xcf\x4a\xb9\x9c\xce\xe8\x51\x3b\xf6\xd5\x78\x65\x11\x0c\xda\xf7\x92\x5f\x47\xb3\xa5\x12\x0e\x57\x05\xd1\xab\x54\xf8\x70\x56\x98\xf1\x27\x4f\x29\xaf\x0d\xd8\x93\xac\x56\xab\xd1\x30\xea\x63\x52\x7e\xfb\x2d\x88\x3d\x6d\x34\x9f\x45\x53\xde\xda\x3c\xa8\x33\xbf\xb5\xed\x2a\x01\x56\x1a\xb5\xfb\xac\xa9\x21\x57\x49\x96\xd5\xdb\x36\x35\xd5\x59\x2e\x9e\x70\xcd\xd9\x67\x68\x57\xef\x79\xa1\x7f\x7f\x9f\x3d\x16\x70\xb9\x19\xbc\x25\xa2\xe0\x65\x26\xfb\x56\xb8\x06\x3d\xcf\xa2\x14\xda\x66\x73\x46\xae\xc8\x56\xe6\x01\x1e\x14\xc4\xf5\xc0\x64\x99\x4d\x31\x7a\xd6\x9d\x61\x50\x69\xe9\x92\x1d\x19\x9a\xbb\x6f\x3e\x46\x61\xd4\x24\x14\xd9\xdb\xc0\x1c\xc2\x0b\xc8\x2b\x74\xc4\xbe\x88\x97\x86\xb8\x08\x1b\x37\x21\xcb\xb6\x0b\x9a\xb5\xa0\x8a\xfe\x85\x57\x51\x96\x8b\x5d\xda\x01\x8d\x03\x96\x9f\x98\x0b\x01\x83\xc8\x76\xea\xe3\x49\x01\xcc\xaf\xf1\x4e\x9c\x63\x99\xec\xb1\xdd\x90\x7e\x1c\x92\x40\xd1\xd8\x9c\x4c\xa0\x8e\xb8\xab\xc7\x9b\xb5\xdc\xae\xec\x28\xc4\x34\x5c\xc4\xf7\xcd\xa6\x34\x87\xb5\x9b\xdb\x54\x96\x6e\x26\x2b\xe1\xe2\x33\x93\x30\x52\xd0\xea\x73\x36\xcc\x06\xd9\x0d\x49\x08\xc1\xd4\x36\x9a\x1a\xdc\xb4\xda\x1c\x33\x02\xb5\x04\x02\xef\x87\xb0\xab\x9a\x09\xd6\xac\x9f\x8e\x84\x17\x04\xb3\x83\xba\x9a\x1d\xb1\x98\x4b\x3e\xaa\xe1\x9d\xc4\x9c\x95\x8a\x1e\xb9\x28\xa1\x14\x72\x05\xb1\xd9\x98\x7d\xcb\xe9\x39\x30\xb3\x01\x5d\x67\x28\x2e\x3b\xc9\xb5\xf9\x66\x63\xb5\x7b\x2d\x36\x9e\x35\xf1\x02\x70\xae\x10\xca\x7b\x25\x04\x77\x5d\x70\x91\x5d\x90\xc6\x0f\x84\x56\xca\x06\x49\xea\x3e\x57\x57\x30\x2b\x9a\x27\x55\xbf\x24\x8f\x8e\xfc\x2d\xb9\x81\x3a\xab\xc4\xd9\xc8\x2b\xe4\xad\x40\x1a\xc6\x73\xbf\x02\xb8\x91\xdc\xdb\x20\x04\x67\x7a\xdb\x9b\xd7\x83\x08\x55\x76\x98\x16\x8f\x79\x3e\x78\xff\x56\x80\x02\xc5\x9f\x23\xa3\xa6\xe7\x73\x28\xca\xb1\x46\x7d\xca\x45\xbc\x57\x56\x20\x5b\x95\xd2\x48\xc1\x90\xd0\xc1\xc6\x92\xdb\x9d\x47\x5d\x74\x48\x98\x08\x6a\x2c\xa6\x19\x66\x5a\x96\x65\x8b\xe4\xd5\xc7\x77\x28\x44\xa6\xa7\x7f\xe3\x49\xc4\xc1\xcc\x13\x87\xdf\xa3\x57\xa9\xc1\x73\x06\x42\x67\x91\x82\x2b\xda\xd0\xe5\xec\xa8\x6f\xb5\x91\xb1\xc8\x9f\xda\xcf\xa1\x79\x70\x96\xcc\x44\x72\x45\x86\x1f\xcc\x68\xc4\x14\xb2\x04\x2f\x06\xd9\x5f\xac\x79\x2b\x62\x50\x95\x1f\xbd\x59\xac\xda\xeb\xf3\xcf\x63\x7d\xc7\xb6\x33\x57\xe9\x1f\xdc\x02\x95\x5f\x22\x5a\xc4\x3d\xde\xc0\xcd\x1a\xe7\xdb\xc2\xc9\xaa\x2f\x92\x0d\x03\xf7\x36\x98\xe7\x40\xb9\x22\x22\x0d\xcc\x16\x2f\x28\x7c\xfa\xec\xc4\xd7\x09\x70\xc8\xd8\xeb\x5d\x9d\xa9\x51\xac\x3c\xfb\x6e\x5c\xf2\xc6\x03\xb2\x99\x69\x79\xb2\xdb\x40\xed\x01\xc1\x81\x49\xa4\x46\x6c\xa1\x1d\xf5\xa8\xe5\xb6\xf2\x44\x16\xb6\xbe\x2d\x81\x85\xd7\x5f\x60\x08\xf7\xdf\x36\xb2\xc9\x96\xdf\x37\x50\x5c\x6d\xe2\x3b\x52\x9b\x27\x82\xff\x83\x54\x55\x97\x11\xb6\x91\x15\x39\x36\x52\xed\x17\xcc\x9c\xe5\x5e\x5f\x98\xe0\x93\x17\x6b\xfb\xfc\x0a\x1f\x4b\x33\x51\x9a\xc7\x0b\x14\xd6\xca\x74\xc7\x29\xe5\xa6\x92\x9c\xcb\xbc\x34\x55\x53\x84\x79\x34\x6e\x33\xde\xe3\x5c\x9b\x5d\x84\x6a\xf2\x9c\x61\xea\x4a\xce\x05\x9a\xd3\xa2\xfa\x38\x4d\xf2\x06\x3d\x37\x11\x92\x15\x05\xd1\x00\x97\xe9\x9a\x15\x17\x12\x00\xa1\x63\xf3\x12\xf6\xd2\x9b\x15\xcd\x50\x63\xa1\x57\x61\x52\x01\x6f\x92\x6b\xbb\xfc\xee\x4e\x12\x77\x61\x33\x35\xf9\x71\x33\x65\x6c\x61\x37\x81\xae\xf2\xa5\xf7\xf1\xa6\x67\x69\x4d\x5d\xd9\xec\x88\xfe\x3f\x58\x0d\x59\xc9\xdf\xd1\xaa\x89\x9c\xf3\x9b\x67\xe8\x9a\xd6\xec\xd5\xb5\xc9\xf8\x43\x8a\x01\x07\xa2\x17\x1c\x21\xf6\x4e\xe9\xf2\xbd\x33\xf4\xae\x36\xea\xf4\x6e\x21\x79\xd7\x4c\x34\x9e\xcd\x6f\xb2\xbe\x38\x0b\x6f\x83\xcb\xd3\x11\x90\x5d\x24\xc7\x67\x2a\x08\x2c\x70\xda\x15\xce\x0a\x39\x90\x8b\x3e\x3e\xf1\xe7\x15\xa3\x97\x8f\x32\x69\x65\x46\xb1\x27\xce\x66\x25\xe3\xaa\xf5\xd6\x85\x7e\xa9\xc8\x85\x16\x27\x33\x5e\xaa\xee\x73\xae\x67\xc3\x79\x56\x74\x29\xfd\x92\xdf\x10\x7f\x0c\xa3\x14\x2f\x88\xf5\xe0\x84\xfd\x20\xcb\x15\x2f\xd3\x01\x42\x45\xc5\x10\xb9\x07\x87\xf9\x5b\x76\x3a\x74\x17\xe4\xd9\xa0\x5d\x81\x35\x62\x8c\x08\x3c\x8d\x0a\x8c\x29\x4c\x85\x2f\x52\x28\x81\x07\xf9\x9b\xf2\x35\xe3\x93\x89\x48\x34\xa4\xaa\xa9\x2a\xf2\x04\x53\x7c\x2e\xac\x87\x75\xfd\x20\x6e\x08\xc6\x89\x32\x74\xc8\x49\x08\x5a\x4b\x9a\x9d\x75\x55\x71\x79\x72\x5a\xec\xe4\x08\x64\x9e\x15\xcb\x06\x05\xf3\xb0\x3d\xc9\x41\x75\x0e\x15\x5d\xa5\xcb\x2d\x49\xb8\xda\x78\xc4\x03\x12\x68\x09\x2c\xdd\x60\xc5\x7b\xb4\xa3\x4e\x3a\x34\x08\xc3\x8f\x3b\x99\x85\x19\xa1\xfd\x88\x39\xda\xa4\x78\xd5\x26\x1e\xd3\x00\xdf\x7b\x46\x04\xb9\x0a\x08\xa3\x07\xde\xb5\xf3\xda\x27\x3e\xb0\xe6\x03\x5e\x6a\x24\xfe\xbe\x11\x3b\x9f\x51\xe2\x8a\xd8\x4c\xc9\x3e\xff\x3c\x0c\x8a\x62\x61\xb7\x5b\xb9\xfb\x7d\x02\xef\x94\xe0\xa9\xbb\x5b\x57\xda\xb1\xfb\x2e\x4e\xcb\x74\x75\x4b\xbd\xd5\xf4\x29\x99\xc3\x51\xb4\xfe\x41\x88\x37\x2b\x57\x4b\xab\xb8\x0f\x5b\x7e\xfe\x79\x30\xee\xe7\x9f\xc7\x58\x3c\xf2\xbf\x45\xfa\xba\x17\x32\x24\x78\x50\x8a\x5a\xc6\xb0\xa2\xc7\x6f\x19\xe8\xc9\x51\x84\x2a\xc1\x0f\x71\xcc\xc7\xf9\x9a\xe9\x72\x6d\xd5\xf4\x00\xd0\x9d\x5d\x60\x5b\x71\x3a\x26\x4c\x0a\xbc\xca\xd2\xe0\x94\x79\xc9\xcc\xa6\xb9\x8b\x94\xb1\x0d\x8d\x41\x10\x25\xfe\x0e\xfa\x1c\x23\xbc\x41\x8e\x50\xe7\x95\x57\xd3\xdd\xc1\x17\xb7\x10\xbc\x3a\xac\xe3\x84\xfb\x8d\xee\x44\x0e\x70\x8b\x3b\x51\x0b\x59\x62\x9c\x52\x95\x54\x0e\x9c\x12\xce\x52\xc2\x61\xc3\x9b\x02\xb5\x8b\x2d\x4e\xa3\x48\x1f\x01\xd0\x23\x76\x60\x88\x01\x10\xf7\x59\x9d\xf1\xc4\x2e\xc6\x5b\xbc\x9b\x18\x79\x09\x7b\xb7\x55\x9a\x0c\xfe\x24\xeb\x2a\x3c\xef\x05\x51\x93\x3e\xb3\x09\xc5\x83\x70\x1b\x1f\x50\xc8\x02\x4a\x06\xb8\x27\x44\xc5\xd5\x83\xbc\x12\xac\x76\xfd\xb3\x23\xf6\x85\x59\xda\x67\x9b\x24\x8d\xd0\xd1\x78\xab\x99\x97\x55\x35\xf9\x55\x25\xc7\x26\x3f\xe1\x6d\x4a\x97\xbb\xbd\x87\x02\xc5\xdb\x86\x79\x6d\xb4\x46\x04\x14\xb9\xe3\xfc\x77\x7d\x12\x1f\x34\xaa\x21\x0d\xaa\x61\x43\xdb\x7d\x5a\x76\x74\xd1\xdf\x1e\x66\xe6\xc6\xd9\xa4\x21\x77\x8d\x76\x5a\x4c\xeb\x0b\x3c\x3c\x10\x15\x6d\x0e\xd0\x3a\xdd\x87\xe5\x75\x2c\xcb\x65\x45\xaa\x28\x79\xce\x2f\x83\xb3\x97\x6f\xb1\xb4\x2d\x3c\x36\x82\x8c\x68\x3e\xfe\x1e\x1a\x81\xcc\x62\x0b\xaf\xda\xea\x2b\xd1\x03\xa5\x2a\x61\xa1\x8f\xaa\x11\xc4\x70\x14\x70\x07\x9f\x66\x05\x53\x82\x97\x09\xe6\xc2\xf3\x29\x7c\xe4\xc4\x05\x90\x79\xd1\x08\x41\x18\xb9\x88\x40\x50\xb6\x46\xde\xa2\xad\xb4\x10\x36\xe6\x81\x32\x8f\xa4\x73\x73\x13\x9d\xc9\xd5\x87\xc6\x6c\x14\x24\x09\x94\x72\x55\xa5\xeb\x50\x67\xc4\x1a\x7e\x1f\xce\xb8\x6a\x77\xa8\x08\xbc\x9f\x30\x6c\xa1\xe9\x5c\x7e\x0c\x36\x4e\xae\xa2\x9d\xfb\x11\x42\xa6\x6d\xfa\x49\xc4\xbe\xc7\x01\x5c\x38\x36\x52\xeb\x1c\x77\x48\xed\xba\x45\x3f\xc4\xe4\x50\xdf\x0a\x9b\xb4\x1c\xa4\x77\x0a\x16\x0e\x5b\x6e\x45\xb9\xe9\xd8\x8c\x6e\x72\x38\x23\xeb\xce\xde\xde\xa3\x68\x0b\x02\xa4\x59\xeb\x9a\x59\x64\x4d\x95\x46\x11\x30\xbb\xed\x40\xb8\x07\x35\xde\x52\xe1\x1e\x50\x87\x39\x08\x48\x89\xf6\x07\x4d\x1f\xb5\xb4\x67\xaa\x4a\xb0\x45\x02\xbe\x63\x96\x50\xe9\x3e\x69\xd8\x0c\xb8\xc7\x5e\x90\xfd\x6f\x2a\xec\x9e\x38\x00\x13\x7c\xca\x54\xcf\x48\xa5\x95\x9c\x90\x06\xd5\xd6\xce\xa7\x84\x99\x90\x45\x7a\xeb\x76\xfd\x72\x26\x57\xc7\x04\xaa\xe6\xce\x1d\x1d\x91\xd0\xa7\x0f\xd4\xab\xd6\xda\xfc\xc2\x3c\xc2\x8e\x8e\x8e\x58\x07\x66\xd6\xe9\xd5\x91\x19\x06\x9a\xf8\x5b\xbe\x72\x04\x30\xd6\xa5\x01\xbf\x41\xa4\x27\x78\xef\x21\x9d\x07\x8f\x36\xc3\x24\xe8\xfe\xa7\x26\x16\xe9\xb7\x3e\x1c\x84\x5c\x1d\x33\x1c\x7f\x46\x36\x6f\xa0\x0f\x3b\x9c\x6c\x74\xcd\x7f\x19\xb8\xe5\x47\xf4\x51\x7b\x28\xbe\xba\xfb\xda\x37\xee\xbb\x85\xfb\x36\xd3\x33\xab\x46\xaa\x1e\xd9\x3e\xab\xfb\xf4\xfb\xf0\xb7\xf0\x19\x36\x38\xb4\x8f\x2e\x4b\x96\x67\x3e\xf0\xb1\x4a\x65\x5e\xa0\x03\x60\x41\x8f\x16\x98\x0b\x1f\x37\x7a\x10\x30\x8c\x70\xa8\xcf\x8e\x58\xc0\x3f\x5c\x87\xfb\x5b\x45\x1c\x1f\x3d\xb9\x13\x53\x31\x22\x5f\x85\x91\xdc\x85\xcf\x44\x4b\xac\xf1\x1a\x3f\x7d\x87\xc0\x70\xbb\xb2\xc2\xdc\x66\x0d\x1b\xb4\xd3\xe1\xa1\x0b\x78\x97\xb3\xf3\xc4\x3a\xd0\xdf\x55\x06\x88\x8e\x04\x42\xbf\xd5\x29\x72\x0c\x70\xf3\x31\x0a\xe6\xdd\x0e\x62\xeb\xc9\xda\x1d\x31\x3b\x1f\x2c\xdc\xa9\x1d\x4f\x55\x85\x39\x56\x48\x1a\xbd\x99\x57\x82\xe9\x92\x83\x91\xcd\x69\xa1\xb4\x5c\x54\x0c\xc6\xa5\xe8\xc0\xbe\xcd\x28\x43\xca\x24\x2b\x52\x78\xb7\x0e\x63\xe6\x1d\x0c\x76\x44\x8e\x4d\x75\xfa\x0c\x8f\xe4\x06\x6a\xac\x00\xac\x2e\x32\xb4\xe1\xef\x44\xd4\x11\xac\x83\x9e\xbd\x2a\x9a\xd8\x41\x4b\xaa\xa5\x61\x62\x84\xe5\x17\x50\x38\xbf\x21\xe9\x52\xa0\xcc\x7a\xe1\x22\x78\x83\x3e\xef\xb2\xf7\xd1\xab\x2c\x42\x95\xe3\x7f\x4d\x67\x36\x0c\xc9\xbc\x05\x27\x0a\xc6\xe8\x55\x6e\x46\xb3\x0f\x0d\x47\xdb\x05\x74\x41\x92\x6e\x24\x55\x9f\x70\x9d\x36\xbf\xe9\xf2\xfc\x23\x6f\x46\x77\xbe\xdc\xc0\x8d\x57\x18\xf8\x02\xeb\x32\x13\xd7\xb5\x35\x34\x24\x44\xfa\xc8\x2e\x56\x92\x09\x4c\x88\x84\xd9\x9a\xc2\xf7\x4b\x15\x09\x06\x03\x02\x4a\xba\x62\x7d\x81\x8d\x07\xd6\xac\xf0\xb8\x48\x91\x97\x6c\xbe\x0e\xed\x92\xaa\x4f\x07\x73\x2b\xb8\xe5\x7e\xbf\xcb\x95\x13\x0a\x52\xbf\xef\xd2\x71\xe3\x0e\x6e\x71\xd7\x7d\xba\xbb\xca\x9e\xe5\x1a\x16\xc3\x03\xed\xf0\xf6\xe9\xc8\xd8\x3e\x7e\xfe\xf0\x3b\x6a\x3b\x3d\xbb\x3c\x69\xff\x35\xc9\xb9\xe5\x12\x8a\x69\xf9\xee\x3c\xb4\xd8\xc8\x3c\x6d\x0b\x43\x93\x6f\xef\x14\x41\xef\xd0\xfe\xdd\x51\x0c\xc9\x1f\x81\x96\xd7\xc8\xf9\xab\xe3\x17\x1d\xdf\x0a\xea\x00\xb0\x27\x65\x96\xe7\x2c\x95\x2b\x48\x3e\x56\x04\xa9\xe1\x31\x27\x8c\xe9\x34\x04\x14\xbb\xa7\xff\x6e\x84\x8e\xf7\x5d\x40\xe9\xd8\xbb\x72\x98\xbc\x49\x34\x6e\xff\xde\xb5\x0f\xf4\x40\xe1\xd1\x8e\x96\x5e\x7d\x38\x35\xe7\x60\xff\xaf\x7e\x41\x60\x0e\x3d\x50\xcf\x84\x0f\x27\x0a\x9b\xaf\xce\xa6\xd6\x5d\x14\x29\x3b\x2d\xd2\x5b\x74\x3d\x33\xbf\x7e\xa4\x46\xf0\x07\x64\xcb\x82\x18\xf4\xcd\xe7\x4a\x09\x0d\xed\xeb\xc7\x08\x16\x01\xe6\xa5\x3e\x02\xf6\x7a\x0e\xf8\x29\x22\x97\xe0\x45\xd4\x7e\xeb\x04\x70\xdd\x23\xa9\x09\x54\x28\xb1\x79\xab\x30\xe8\x3f\x8b\xf4\xae\xc3\x8a\x22\x75\x83\xd6\xc1\x34\x0f\x09\xcb\x36\x28\x82\xad\x6c\x98\xeb\xbb\x83\xf7\xfd\x06\x6c\xbc\x3b\xc4\x74\x96\xae\xff\x69\x91\xd6\x06\x85\xbe\xb5\x2f\xa1\x67\x18\xee\x0c\x35\x10\x54\x90\x78\x02\x34\x97\x25\xc6\x0c\xbc\x3e\x7b\x56\x2b\x52\xea\xd2\x4a\x7c\x0c\x3a\x9d\x87\xdd\xb1\xae\xc2\x66\xba\xc0\x36\xbe\x5b\x7b\x76\x0a\x78\xea\xfa\xef\x22\x14\x5a\xbd\x18\x50\xe4\x51\x90\xbe\x62\x4a\x64\x77\xac\xbb\x07\xfe\xc1\x8c\xed\x7e\xfb\x8d\x10\xa7\xa5\x2d\xcb\x82\x1e\x12\xdd\xfd\x4b\xb5\xdf\x6b\x1e\x21\x7a\x94\x47\xca\xd1\x6e\xf3\x53\x9d\xf6\xc6\xb4\x72\xf6\xa9\x5e\x30\x95\xf8\xcd\xee\x06\x82\x0e\x41\xba\xa7\x26\x89\x3f\xa6\xbc\xf0\x7d\xb0\xf3\xbf\xa6\xd9\xfd\x6e\x48\x2f\xbd\xcf\x94\x3b\x7a\x7e\x29\x47\x6c\x70\xd8\x72\xe6\xfe\xe8\xf5\xe2\x1c\x45\x91\xfe\xae\xb5\x3a\x28\x95\x75\x46\x0b\xa8\xaf\x12\xcd\x69\xaf\x15\xba\xb9\x40\x81\xee\x44\x16\x93\x6c\xba\x2c\x21\x9e\x02\x48\x8f\x29\xa1\x75\x56\x4c\x95\x0d\x1b\xcb\xc5\x44\x43\xbd\x10\xc6\x2c\x56\xea\xc5\x48\x2c\x0a\xc1\x41\x84\x5a\x37\x36\x86\xba\x24\x8f\x5c\xc2\x42\x95\xa5\x02\x9b\x37\xb6\xc6\x12\x25\x34\x73\x88\x4a\xc7\x0b\x87\x9e\xcd\xe0\x63\x52\xd3\x48\x87\x67\x03\xb4\xd8\x4e\x68\xc6\xca\x8c\x85\x78\xbd\xb8\x90\x67\x74\x52\xa3\x8c\x11\xe6\x08\x12\x20\xb0\xe9\x07\x08\xf5\x00\xc4\x44\x9f\x89\xe9\x32\xe7\xe5\xe9\xcd\xa2\x14\x4a\xf9\x32\x39\x67\x62\x7a\x7a\xb3\xe8\x7a\x94\xdd\x8f\xd6\x78\x9f\xed\xfd\xaf\x3d\x07\x08\x19\x8f\x48\xf1\xf6\x3c\x8a\x67\x36\x44\xab\x4b\xb7\x71\x34\xbf\xe1\x31\x08\xb3\xe5\x86\xa9\xc4\x5f\x7f\x1f\x1f\xe5\x06\x9a\x00\xcc\x42\x78\x53\xe0\xe6\x33\x0c\x10\xf6\x43\x29\xe7\xdb\x11\x16\x0d\xb3\x33\x5d\x57\x5d\xc8\x08\x5c\xaf\x17\xd1\xd4\x16\x8c\xef\xfd\x75\xaf\x86\x6b\x4f\x8b\x0e\x14\x56\x65\x3c\x8a\xd7\x44\x2c\xb7\x79\x18\xcf\x27\xa1\x6f\x23\xdb\x20\x6c\x9f\x02\xe8\x98\xd7\xdc\xaf\x2d\x0f\xc0\xbc\x3b\x78\x5f\xdb\x43\xe8\x5e\xdd\x41\xf3\xe5\x77\x11\x19\x56\x77\xcf\xc6\xb0\xa3\x6c\x43\x12\x40\xb8\xff\xfd\x10\x98\x15\x70\xcc\xe0\xfe\x8e\xe2\x69\x0a\xdd\xbb\xf6\xc7\x9d\x4a\x6f\xca\x3c\x37\xb2\xe5\x7f\xc7\xf2\x9b\x61\xe1\xdb\x4a\xa9\xcd\xa0\xa4\xe6\x31\xeb\x5c\x67\x62\x65\x90\xd0\x61\x50\x56\x53\x4e\xd8\x24\xbb\x11\xe9\x60\x86\xe5\x78\x20\xf3\x26\x18\xfa\xec\xd3\x16\xc2\x9d\x7c\x6a\xad\x02\xdc\x51\x13\xb9\x58\x0f\xb4\x1c\x24\x79\xb6\x18\x4b\x5e\xba\x52\x8c\x9d\x37\x0e\xbe\x2d\xd6\x00\x41\x8a\x36\x90\x96\x6b\x2c\x61\x68\x56\x69\x63\x45\x5d\x0d\xc3\xcc\xe5\x85\xc2\x2c\xa2\x2e\x23\xf8\x2b\x4c\x01\x56\x42\xd5\xba\xc3\x83\x83\xfe\xc1\xc1\x01\x74\xc3\xbc\x2a\xa6\x55\x50\x95\x30\xa3\x32\x89\x0f\x1e\xfa\xea\x96\x3c\xcf\x49\x55\x69\x7f\x4a\xe5\xdc\xba\x3d\x97\x82\xa2\xe3\x52\xac\xf5\x17\x02\x83\x50\x6d\xae\xae\x18\x95\x53\x3c\x0b\x66\xe3\xa3\xea\xcc\xc1\x8e\x96\x23\x0b\x96\x8a\x39\x64\xa2\xa2\xbc\x4f\x66\x14\xa4\x41\x61\xf6\x99\x32\x7d\x86\x78\xe0\xa5\xe0\x51\x7e\x53\xbb\x57\x58\xc8\x53\x65\x53\x43\x4e\x36\xbb\x13\xee\x09\xe5\xdb\xac\xec\x06\x53\xda\x4c\x7b\x25\xcb\x2b\xd5\x37\xe0\xc4\xb5\x28\xd0\xbb\x89\xe7\x39\x93\x65\x18\x06\x1a\xec\x2e\x96\xd6\xc0\x29\xca\xc9\xa4\x92\x0d\xff\x85\xd4\xc2\xc7\x72\xff\x72\x78\xc8\xe6\xd2\x50\xa6\x1f\xd6\x25\xbf\x31\x23\x7b\x9f\xe3\xea\xc0\xf7\x82\x6a\x8b\xe1\xd8\xc1\x90\x8c\x3d\xd5\xde\xef\x35\xcd\x26\x93\x2c\x59\xe6\x1a\x15\xcb\x37\x48\x58\x86\x4c\xa9\x02\x20\x55\x5d\x35\x28\x02\x1f\xff\x42\xc3\xd3\x11\xe2\xfb\xcd\x6b\x93\xeb\x99\xcc\xe5\x94\xbc\xff\xa1\x24\x66\x30\xb4\xa1\x50\x15\x66\xda\x0a\x37\x99\x1c\xc1\xbc\x45\x56\x35\x57\xad\xd4\x7c\xca\x0a\x3e\x17\xb6\x6a\xe5\xd0\x6d\x23\xd6\x46\x55\x36\x5e\x10\x0e\xfd\xdf\x97\x59\x72\x95\xaf\x19\x57\x66\xce\xe4\xd8\x59\x96\x66\x47\xa9\xf0\x26\xc3\x13\x19\xd0\x89\x3f\x9b\x89\xaa\x3d\x2d\x82\x29\x7f\x8c\x8e\xcc\xb1\x4b\x97\x97\xf0\x05\x48\x4d\x72\x42\x39\xf5\x5c\x71\x5a\xee\x9c\x4d\x4b\x4e\xd1\x83\x98\x9a\x1b\x4f\x48\xc5\x09\xd4\x1e\x8d\xf8\x55\x6a\x07\xc4\x97\x47\x54\x88\x9b\xa7\xe9\x63\xca\xfc\x0c\x12\x7f\xcf\xdf\x03\x41\x47\xca\xb4\x68\xff\xb4\xd2\xdf\xf9\xdb\xe3\x1f\x63\x2f\x55\xac\xed\xb6\x2c\x74\x96\xbb\x7c\x42\x98\x98\x00\x93\x99\x91\x2b\x8b\x6d\x4e\x55\xd5\x2a\xf5\xd3\x0e\x0f\xfa\xec\xd0\x17\x05\x7c\xf2\xf2\x39\x2a\x2d\x20\xdb\xb1\xe1\x79\x7e\x38\x02\x0e\x7e\x3b\x6e\xde\xcb\x1c\x67\xec\x0a\xe4\xd1\xb5\xe6\x1f\x65\xc1\x80\xbe\x78\xa7\x7b\xb5\x05\x88\x80\x0c\x04\x73\xbe\xa0\x64\xca\x58\xd1\xf4\xe8\x7b\x97\x23\x27\xaa\x7d\x6b\x0d\xfe\x69\xc9\x57\x90\x25\xce\x9e\x64\x1b\x99\x47\x09\x32\x4a\x61\x5a\x7c\xe8\xf6\x20\x08\x60\xc8\xd8\x0b\xb2\xd2\xa3\x7b\x23\x54\x6e\xaf\x36\xc6\xa6\x41\x64\x04\x05\x29\x98\x59\x9c\xf0\x64\x56\x2b\x40\x78\xcb\x69\xaf\x78\xc3\xbc\x5d\x78\xa2\x0b\xf7\xab\x4c\xdd\xce\xc7\xfe\x5e\x9d\xd0\x3f\x3e\x06\x0f\x85\x94\xa5\x4b\x08\x37\x40\x3e\x06\x8c\x4f\x93\x7b\xb5\x36\x87\xc0\xba\x78\x52\x31\xcb\xb5\x69\x8b\x95\x5a\x33\xaa\x56\x9b\xfd\x2a\xdc\x98\x39\x57\x1a\xdf\xdf\x20\x0b\xd5\xf2\xdf\xfb\xdf\xb1\x9c\x5d\xad\x42\x63\xb9\x14\x36\x31\x23\x3c\x5f\x7c\xfa\x05\x9e\xbb\x8c\xdc\xc4\xca\x31\x65\x5a\x41\x31\x26\x98\x0a\x7b\x78\xcf\x07\x04\x60\xba\x6b\x73\x84\xbd\xa7\x2a\x9b\x49\xa5\x59\x29\xfe\xbe\x14\x4a\x2b\x62\xc8\x69\xc9\xa7\x76\xe5\xf6\xba\xb0\xb5\xe7\x11\x9e\x11\x9d\x97\x0b\x2a\xe3\x0f\xf1\x3f\x86\x26\x21\x37\xbf\x17\xb2\x6a\x44\x7d\x5a\xc0\xe0\x1f\x5c\x4a\x1f\x1f\xa2\xea\x4a\x34\xa1\x1f\x27\x72\x4b\xcf\x23\xcd\x2f\x94\xc7\xb3\xec\xb3\x52\x0c\x16\x72\xb1\xcc\xcd\x8d\x4b\xfb\x85\x90\x20\xf5\x26\x6c\x1c\xa2\x13\x42\x4c\x3c\xa6\xa1\x9a\x27\x55\x9b\x8b\xaa\x95\xd2\x66\xaf\x66\x42\xe4\x6c\x91\xdd\x88\x9c\xa5\x22\xd7\x9c\xcd\x97\xb9\xce\x16\x79\x86\x97\x75\x56\x98\xeb\x5a\x89\xfd\x54\xe0\x07\x84\xa0\x3d\x04\xb5\x10\x70\xf5\x11\x22\x11\x20\x62\x72\xc8\xce\x85\x30\x52\xa5\x5e\xa8\xd1\xfe\xfe\x54\xca\xe1\x34\xdf\x57\xbf\x88\xbc\xf8\xbb\xc3\x14\x40\x79\x6b\x7a\x3d\x77\x23\x9b\xd9\x1e\xd6\x70\xa5\xe5\x32\x99\xd9\x4d\x5a\x09\xa6\xf8\x2a\x74\x7c\xc3\x9f\x31\xdb\x35\x42\xcd\x8a\x29\xd4\x75\x4e\xc5\x8d\x48\x29\xa0\x77\x4d\xed\xb2\x54\x14\x3a\x9b\x64\xc0\x1b\x8b\x44\x58\xb6\x08\x01\x5f\x73\xcc\x4b\xc3\x0b\x70\x4f\xc6\x0e\x1c\x14\xfb\x11\x72\x2f\xcc\x0f\xe1\x79\xb2\xf5\x6b\x43\x1a\x86\xa9\x13\xae\xe0\xd4\xa4\x01\xf6\x68\xe2\x86\xc6\x57\x41\xfa\x35\x34\x9a\x84\xf5\x6c\x33\x75\x4e\x52\x06\xbe\x40\x3c\x31\xd9\x31\x8f\xd9\x74\x29\x54\x2d\xe0\xc3\xd6\x66\x2e\x6d\x9d\x6f\x90\x5d\xcd\x99\xc1\x73\x8b\xf4\x12\x8c\x44\x1d\xcf\x6d\x3f\x38\xc5\xaf\x6e\xcc\x8e\x7c\x15\x8f\xf8\x76\x26\x28\x53\xaa\x60\x89\x2e\xf3\xc1\x35\xbb\x12\xeb\x4a\x41\x75\x3a\xbd\x0b\xae\x28\xf3\x55\x30\x92\x2e\xf3\x37\xaf\xcc\x0f\x51\xfe\x67\x0c\x95\xc9\xae\x6b\x9c\xc3\xd6\xbc\xad\x72\x8c\x13\x83\x97\xc4\xaa\x96\x71\x9f\x20\x3f\x91\x5c\x6a\x36\xe3\x45\x9a\x87\x95\x76\xf1\x7b\x15\x6c\x1b\x7c\x2f\xc7\xf0\x46\x29\x6b\x3f\x3c\x39\x7d\xfc\xfa\xc7\x0f\x7e\x86\x1f\xdd\xd3\xe0\x55\x29\x6f\xd6\x3e\x94\x1c\xb3\xe1\xd4\x32\xee\xae\x66\x59\x32\x43\xd6\xa9\x34\x28\x3f\x67\x68\x87\x5a\xf1\xfc\x0a\x02\xcf\x50\x4a\x36\xd7\xa9\xf5\x01\xb0\xc5\x3f\xc8\xce\x64\xa5\x0a\xcc\x22\x23\x21\xd6\xd0\x02\x4e\xe4\x5c\x90\xe7\x68\x55\xbe\xa9\xde\xa4\x1f\x89\x18\x40\x12\x31\xa7\x0a\x4d\xf7\xf5\x1a\xe5\x61\x35\xec\xba\x10\x33\x6c\x56\xa3\xba\xdf\x83\xd4\xf9\xfe\x4b\x88\x13\x74\x7f\x55\x4e\x0b\x71\xbb\x6a\xe9\x5f\xdd\x24\x70\x23\x0d\xd9\x8e\x99\x82\x34\x58\x63\x11\x26\x11\x2c\xd9\x64\x69\x3e\xd8\x4a\x3c\x28\x19\x53\xbb\x58\x82\xe6\x45\x32\x93\x25\x42\xa3\x7d\x9c\xc8\x64\x49\x8f\xa4\xcc\xbc\x5d\xed\x35\x6d\xde\xa7\x4b\x5e\xf2\x42\x53\x20\xec\x58\xb0\x5c\x28\x35\x30\x7c\x62\x20\xcb\x81\xf8\xfb\x92\xe7\x03\x2d\x11\x1a\xbe\xdb\x26\x36\x94\xfa\xcc\x9e\x68\xfc\xf5\xe9\x04\x1f\x55\x86\xbd\x40\x95\x3e\xe5\xeb\x06\xc1\x93\x4b\x91\xbe\x97\x62\x32\xce\xa0\xea\xf6\xd3\x48\x14\x41\x48\x01\xbd\x95\xf5\xe7\x81\x4d\x50\xdc\x00\xd5\x9c\xa0\xca\x81\xf4\x3f\x07\xe7\x6b\xcb\x2e\x85\xd9\xac\xfe\x4b\xee\xd1\x14\x9e\x9b\xe5\x0e\xdb\x64\x97\xff\x5f\x7f\xa3\x70\xa0\xe6\x6d\xa2\xab\xc7\x41\xf8\xec\x28\xa2\xbf\xe0\x46\x81\xfb\x16\x6c\x86\x9b\x00\xd5\xa6\x0a\x81\x94\x9c\x2d\x64\x66\xa4\x96\x20\x59\x36\x15\x38\xa9\x8d\x73\xe2\xd6\xd6\x50\xed\x08\x73\x5b\x73\x96\x67\x0a\x36\xc2\xbe\x2a\x6c\x89\xfd\x20\x49\xb3\x2f\x07\xe6\xdf\x1e\x66\xff\x0c\x98\xcc\x7a\xcf\xf3\x24\x81\x72\xe7\x53\x2c\xb2\x91\x8a\x85\x9e\x0d\xf0\x27\xd4\xb6\x5a\x2e\x69\x6d\xaf\xde\x15\xb7\xf0\xe1\xe0\xb3\x2c\x4f\x4b\x01\xa5\x7a\xbc\x7f\xee\x26\x56\x18\xd8\x9a\x0c\x07\xff\xc1\xd5\x22\x08\x79\x24\x1a\x8b\x81\xe9\xf6\x71\x8c\xe3\x72\x5d\x8b\xfa\xc3\x06\xd5\x72\x06\x2d\xce\xbd\x16\xca\x10\xea\x80\xbd\x9c\x50\x83\xcf\xbc\x61\xa0\xe2\xb6\x1b\x7b\x96\xd5\xdc\x06\x7a\x51\x80\x06\xc4\xea\xc1\x2e\xc6\x8b\x22\x23\xba\x5b\xc2\xa3\xc0\xc0\x5f\x5e\xf7\xaa\x36\xf4\xf2\x3a\x0a\x50\x2a\x36\x65\xb3\xdf\x60\x2d\x3f\x5f\x17\xc9\xac\x94\x85\x79\x9c\x82\x36\xc3\xde\xb0\x20\x92\x07\x32\x8f\xa1\x8e\x90\x19\x45\xe5\x6f\xb8\x39\xcb\x83\x15\x5f\x83\xe8\x8c\xf0\x20\xaf\x55\xdf\x51\x56\xe5\x64\xfa\x64\xe3\x18\x61\x8a\xc3\xf6\x41\x6b\x03\x99\xfe\xe0\x08\x18\x88\xbc\xbc\x25\xad\x98\x29\x34\x67\x62\x56\x22\x9f\x10\xf2\x43\x41\x38\x95\xf3\xba\x88\x31\xe3\xf0\x34\x35\x33\x80\x92\x42\x20\xd7\x1b\xe1\x00\x0f\x92\x11\x11\xe8\x74\x64\x85\x97\xdf\xad\x38\x65\x53\xcd\xd9\x54\x07\x60\x2b\x22\xad\x95\x5c\x6a\x7c\x4e\x05\x6f\x2a\x97\xaa\x31\x2a\x74\x64\x1e\x4b\xf8\x5c\x74\xea\xae\x3d\xe4\xdc\x7b\x2e\x1d\x8e\x95\x52\x3c\x08\x6c\x01\x84\xd5\xed\xf9\xaa\x00\x93\xf0\x2a\xc2\x36\x67\x72\xf5\xa8\xf2\x33\xb9\x03\x06\x2a\x6e\x68\xe9\x63\x78\x7c\x53\x67\x5f\xaf\x36\x0e\xd3\x5a\x41\x73\xc7\x5a\xe1\x8e\x89\x47\x25\xf3\x76\x04\x06\x9a\x55\x86\x14\x81\x41\xbf\xd2\xd2\x8f\xe7\xb3\x15\xdd\x0a\xa7\x00\x65\x13\x4a\xa1\xc1\x66\x8c\x36\x2c\xad\x19\xa1\x4d\x8b\x6b\xc3\x67\x65\x79\x55\x74\x36\xed\x62\x13\x3e\x1b\xf7\xb0\x19\xa1\xd5\x1d\x74\xe5\x58\x42\x95\x52\x55\x0e\x1d\x4e\x85\xb6\x21\x65\xdd\x9e\xf9\xcb\xeb\x97\x02\x25\x5b\x4d\x14\x6a\xbe\x79\x37\xdc\xa5\x8d\xd7\x9f\xf7\x2c\x60\xbf\xfd\x16\x2c\x25\x68\x15\xa7\xaf\x0e\x7e\x68\x34\xe0\x3b\xb4\x6e\x40\xa2\x77\xc3\xa7\xa6\x9f\x7f\xce\x3e\xeb\x76\xac\xd4\x04\x66\x07\xf7\xa3\xf3\x78\x0c\x21\xbb\xcf\xb5\xa0\x90\x20\x38\x80\xfa\x37\xd7\x0d\x3a\xaf\x88\x73\x28\x19\x69\xab\x17\x86\xbc\x30\xf6\x99\x03\xf5\x84\x1a\x2c\x8b\x4d\xeb\x73\xae\x64\xcd\xb9\x60\xd0\x1e\x88\xd4\xde\x4e\xd9\x84\x20\xd7\xb0\x01\x3f\xf6\x37\x87\x9e\x00\xaa\xfd\xd8\x8a\x1c\xd7\x79\x1b\x6e\xa0\xe1\xef\x43\x8d\x5b\xd8\x16\xcc\x40\x75\x04\xb7\xad\x4e\x82\xfe\xce\xaf\xc6\x7e\x17\x13\x04\x71\x16\x20\xc0\x20\x94\xb4\x01\xd4\xf7\xed\xa0\x42\x1e\x55\x85\xd4\xb0\x14\xc8\xf6\xd1\xb0\xf9\xa1\x20\xd4\xcc\x16\xd8\x77\xcd\x1c\xca\x8b\x39\x95\x55\xb1\xba\x2b\x60\x3c\x59\x27\xc7\x54\xb3\x82\x5f\x44\x72\x32\xf0\x0f\x94\x61\x85\x79\xf3\x67\x71\x1e\x0c\x7a\xbb\xa8\xa2\xa3\x03\xb7\x46\x0e\x59\x87\x00\x1a\xec\x7a\x50\x3d\xc6\xe7\xd6\x02\x8e\x1f\x06\xcd\x56\x44\x33\x47\x1d\x6e\x4b\xfa\xec\x5d\x13\xf6\xfa\x4d\x54\xf3\xbe\x17\x88\x88\x9f\xb9\xb1\xac\x48\x87\x35\x74\x0a\xb1\x62\xa7\x48\xbb\xaf\x0b\x71\xb3\xc0\xe7\x10\x50\x33\x08\x55\xa0\x4c\x76\xb0\x3b\x21\xc8\x60\xf6\x9b\xf7\xf4\xae\x3b\x13\xe6\x5b\x89\xd9\x72\x03\x89\x7e\x76\x54\xa7\x51\x14\x39\xad\xcc\x79\x61\x24\x51\xce\xd2\xec\xda\xd6\x66\xc9\x54\xdd\x44\xd1\x2c\xf0\x85\x59\x3f\x20\x79\xaa\x08\x45\xbd\x34\xbb\x0e\x34\x25\xa4\xef\x4a\xb3\x6b\x7f\x07\x65\x93\x92\xcf\x05\x7d\xdd\x18\x0c\x4d\x95\x87\xbb\x1d\x6c\x1a\x14\x60\xa5\xbe\x94\x8c\x35\x51\x8a\xfc\x66\x2c\x79\x74\xc6\x90\x3a\x69\xc4\x0e\x1e\x79\x8e\xd2\x41\xfb\xd9\x88\x1d\x1e\x1c\xfc\x6b\xf8\xbd\x75\xdd\x1c\x31\x3e\x56\x32\x5f\x6a\x11\xfe\x0a\x8a\x45\xec\xe4\x13\x94\xdb\x52\x54\x38\x11\xa6\xca\xc4\xc8\x96\xff\x62\x08\xfb\x87\x1f\x86\x2c\x48\xa2\xef\xf4\xf2\xb8\x06\x85\xfd\x73\xc9\x53\xd4\xf5\x1a\x8a\x17\x0a\x3b\xb2\x4c\x87\xd5\x87\xb5\x2f\x92\x6b\x9f\x6e\x38\x9e\xcd\x0b\xd0\x99\xcb\x5f\x9f\x16\x85\x28\xd1\xe2\xf0\x0b\xf0\xf2\x55\x56\xa4\x86\x19\x9b\x61\x48\xbe\xe2\x06\x36\x3c\xf4\xd1\x02\xab\xd7\xf7\x18\xab\xa2\xb2\x34\xa2\x7a\xe7\x5f\x3a\xb0\x44\xb3\x25\x61\x8c\x79\xd8\xb4\x57\xdb\xc3\x21\xcd\xf2\x2d\x0c\x3d\xe4\x69\x7a\x6a\x96\xf6\x2c\x53\x5a\x40\x26\x09\x54\xc6\x76\x6e\xeb\x28\x86\xaa\xcb\xe2\x0c\x7a\x7f\x18\x8e\xb3\x02\x67\xd2\xf3\xe5\x7a\x52\x99\x58\x4e\x11\x2a\x50\x9b\x66\x67\xa9\xcb\x50\x51\x2a\x93\xe1\x58\xa6\xeb\x76\x0a\x9a\xf3\x72\x9a\x15\x23\x76\xb0\xb8\x89\x68\x05\x0d\xcb\xb5\xef\xdb\x68\x2b\xa0\x9e\xf0\x6b\xeb\xc6\x3c\x62\xb3\x2c\x4d\x45\x11\xfe\x86\x71\xf5\x23\xb3\xbc\xee\x60\x00\xe7\x6e\x00\xd6\x87\x01\xfe\x82\x6e\x23\xbd\xb0\xcb\x60\x25\xc6\x57\x99\x1e\x2c\x95\x28\x07\xc8\x77\x46\xf0\xe4\x8f\x1a\xcd\xe5\xaf\x4d\x2d\x2a\x25\x45\x50\x23\x1c\x04\x7c\xbd\x45\x61\xbd\x03\x69\x51\xc6\xcb\xe9\x14\x42\xbf\x05\xe3\x69\xca\x08\x1d\xd6\x20\x6d\x50\x1a\x55\x9b\x92\x93\x09\x6a\xca\x2d\x30\x8a\x36\x40\x1f\x0b\xf2\x73\x08\x92\x53\xb9\x3d\x0c\x77\x87\x06\xb9\x90\x8b\x20\x8f\xeb\xd6\xe6\x8f\xb1\xee\xba\xef\xd1\x49\x78\x9e\x74\x43\xac\x26\x33\x5e\x1a\xd2\x22\x5f\x97\x1e\xfb\x0b\xfb\xa2\xd7\x89\x85\x6d\x70\xd1\x39\x02\x82\xa9\x70\x25\xf8\x09\x99\x92\x4f\x24\x1d\xe4\x68\xb6\x78\x07\xeb\x3f\xfb\x47\xb0\x13\xcc\x9a\xf4\x47\x6c\x9c\xcb\xe4\xea\x51\xf4\x9b\x25\xa5\x4d\x33\x8d\x7b\x40\xa0\xce\x6d\xbb\x7d\xc4\xa9\x9b\x85\xcd\x04\x4f\xa3\xe3\x4e\x14\xe6\xce\xb9\xa1\x9a\x13\xa5\x9e\x65\xc5\xd5\x87\x66\x64\xe4\x59\x71\x15\x30\xe8\xb0\x43\xa5\xa6\x6c\x29\xf2\x4e\x9f\x21\xf6\xd4\x4c\x08\xdd\xa9\x0f\x64\x23\xf7\x37\x63\xbd\x71\xea\x35\x30\x8e\x67\x5f\xbc\x7c\xf2\xb2\x6b\x0e\x75\xca\x7b\x23\x76\x2e\xcb\x72\x8d\xc9\x9f\x58\x07\x69\xf4\x43\x87\x64\x16\x27\xcb\x60\xec\x22\x57\x51\xea\x3b\x84\x06\x89\x7c\xc8\x37\xe5\x6f\x6a\xc8\xd8\x53\x97\x43\x72\x91\x25\x57\x8c\xb3\xb1\x80\x6a\x10\xe0\x02\x32\x91\xa5\xcf\x6d\x2f\xe6\xa0\xbd\xbb\x96\x59\xea\xf5\x15\x89\xcc\xf3\x4c\x91\x7a\xd9\x96\xc0\xb8\xb2\xf5\x23\x32\x91\xa7\x4c\xa4\x99\x06\x7f\x0d\x81\x05\xf3\x30\xd1\x3e\x99\x71\x7d\xa2\x2e\xb0\x23\x33\x5e\xac\x61\xf6\xf7\x6c\x46\xa2\xb1\x00\x00\x02\x63\x30\xdd\x29\x05\xef\x36\x81\x5e\x4d\x69\x98\x22\x0d\xd7\x0e\xda\xa7\xeb\xac\x34\xb0\x11\xd4\x95\x58\x83\x6f\x0f\x8a\x7f\x4f\x9f\x9f\x9a\xc5\x3f\x5e\x62\x81\x67\xcc\x83\xbd\x12\x0c\x74\x5c\x72\x32\x01\x2f\x1f\xb8\xb9\x8a\xc5\x52\xb3\x99\xc8\x17\xa2\x64\xe0\x79\x63\xd7\xce\x35\xb8\x09\x99\x35\x20\x08\xf0\x86\xc3\x4c\x9b\x66\x88\x39\x4c\x27\x2b\x78\x7a\x2d\x4a\x73\xb8\xf2\x35\x9b\x2f\x31\x69\xb1\x82\x0a\x35\x06\x34\xa1\xed\xdc\x2c\x06\xb1\xac\x44\x58\x6a\x0f\xbc\xad\x34\x2f\x52\x5e\xa6\xf4\x24\x02\xcd\x16\xfe\x32\x2e\xe5\x0a\xac\xf1\x94\x13\xb4\x4f\xf6\xd4\xa5\x0e\x0c\xf4\x8a\x4f\x44\xbe\x66\x19\xd6\x62\x64\xe3\x35\xe9\xc6\xa8\xb3\xb7\xc2\x11\x39\x35\x13\xf0\xcd\x00\x7f\x0e\x4e\x0b\xb5\xaf\x1c\x14\xba\xb6\xec\xae\x9b\x43\xa3\xcb\xa5\xd8\xda\x4f\x2d\x44\x9e\x43\x0e\x5b\xd3\x05\xec\x7a\x5b\xfb\xf0\xa5\x96\xb6\xfc\x83\xe9\x25\x27\x93\x1d\xfb\x80\x8b\xd2\xad\xba\xf0\x85\xe6\x39\x88\x03\xac\x63\x6e\xa0\xad\xbd\x4a\x49\xab\x17\x37\x7a\x2c\x6f\xb6\xb6\xd7\x7c\x0c\xfa\x62\xd3\x67\x70\xd8\xd4\xbc\xed\xd2\x87\xba\xa1\x03\x28\x6a\x31\x62\xba\xe4\x85\xc2\x47\x6f\xc8\x37\xdb\x59\xf7\x44\x16\x7a\x30\xe1\xf3\x2c\x5f\x8f\xd8\x5c\x16\x12\x12\x63\xd5\x5a\x18\x86\x3c\x62\x87\x0f\x63\x01\x02\x7e\xba\xe6\x65\xc6\x0b\x3d\xc8\xb3\x29\xd7\xcb\x52\xa8\xfa\x2d\xde\x26\x68\x58\x89\x62\xb0\x1e\x91\x29\xf2\x91\x0b\x96\x1a\xdc\x34\xc9\x19\x90\xd6\x76\x00\x73\x1c\xb1\x45\xd9\x26\xf4\x46\x83\x2c\xb5\xb9\x6b\x70\x56\xec\xb3\x6c\xbe\x90\xa5\xe6\x85\x65\xe1\x4e\xaa\xaa\x31\x64\xc2\x7c\xa8\x82\xa2\xbd\xa8\x0b\x8b\x38\xfb\x4e\xdf\x8a\x7f\xf8\xe6\xa8\x88\x7f\x5b\xa1\x80\xa7\x46\x15\x08\x38\x62\xdc\x16\x12\x38\x48\xc0\x8b\xd7\x83\x43\xdf\x88\xbb\x00\x9a\xcb\x6b\xf1\x29\xe0\x88\x22\xfd\x14\x60\x12\x5e\x24\x21\x9e\xee\x04\x29\x91\x8b\xb5\x07\x71\x22\x17\xeb\xdb\x42\x00\x07\x0a\x0f\x02\xdc\x26\x6a\x30\xf6\xf7\xd9\x13\x74\x77\x42\x87\xa6\xcf\x59\x5a\x4a\xf0\x36\x33\x9c\x61\x9f\xf8\x25\xe6\xd1\xc3\x3b\x11\xdd\x23\xa8\x84\x99\xb9\x89\xba\x6b\xa1\xff\xad\x47\xdc\xdd\x56\xa0\x4c\xc5\x84\x2f\x73\xcd\xc6\xe4\x92\x88\x36\xc0\x44\x16\x93\xa5\x12\xf6\xee\xdf\xbe\x06\x33\x99\x4e\xdf\x3f\x81\xdd\x63\x1f\x73\x95\x99\x17\x08\x0e\xd4\x8d\x74\x56\xd6\xf3\x82\xb1\x8f\xd5\x53\x54\x1b\xe2\x4a\xac\x53\xb9\x2a\x3c\xa2\x1e\xcb\x74\xfd\xb3\x58\x3f\x91\xab\xa2\xfe\x3e\x0a\xdc\xc4\x20\x27\x34\xcf\x8a\x20\x7d\xb3\xf5\xec\x40\x8f\x99\x92\xca\x12\x5a\x1f\x4c\xb0\x9a\xb5\xdc\x60\x69\x76\x1d\x30\x55\xd7\x78\x98\xa5\xe6\x05\x09\xe8\x1a\x95\x72\x35\x00\xfb\x4c\xa7\xa1\x61\x2b\xff\x6d\xe7\xad\xfe\x8d\x0e\xf3\xdd\xf5\x2d\xd5\xf8\x30\x32\xd4\xb2\xf9\x61\x84\x2d\x1a\x08\xb7\xca\xd7\xdc\x9a\x3c\xc6\x5d\xf2\x6c\x5b\x4d\xc5\xbd\x81\xd0\x9f\x8f\xdc\x11\x51\xe6\x5b\xac\x51\x0b\xe0\x1d\x78\xe4\x02\x15\xa6\x8f\xf9\xb4\x5d\x80\x80\x16\x83\x31\x9f\x06\x73\x8c\x7a\xde\x05\xc5\x9b\xf0\x78\xdb\xc7\x45\xfd\x6e\x09\x58\xff\x18\x5e\x66\xd1\x32\x1b\x56\xe0\x2b\xf4\x06\x25\xd6\xc0\x72\x3e\xb6\x69\x8e\xb5\x5c\xb0\x89\x41\x31\x87\x72\x3b\x39\x79\x99\x21\x7c\xfa\xa5\x14\xb4\x1c\xf4\xe4\x07\xb7\xfb\x7b\x54\x6b\x2a\x5f\xa3\x39\xca\xee\x14\xb8\x3e\x83\x40\xca\xe3\xc2\x48\x81\xea\xd3\x88\x84\x10\x1f\x80\xd6\xd8\x7c\x4d\x8e\x8a\xa1\x97\xbc\x9d\x9b\x2c\xed\x5c\x08\x8c\x8b\x08\xb0\x9e\x04\x76\xdd\x3f\xc8\x3c\x6d\xdd\x6e\xb3\x90\x78\xa3\xa1\x79\x74\xde\xb4\x5c\x40\xbb\xc1\x44\x96\xe6\xbd\x39\x70\x33\xee\xd4\x3b\x56\x89\xa3\x46\x14\x0d\x67\xb6\x46\xfa\x16\x5a\x6d\x63\xed\x5a\xe2\x31\xa3\xed\xac\xb7\x8f\x16\x83\xdf\x6f\x5d\xcf\x86\xc9\x05\x90\x63\x5e\x88\xb4\x00\x1a\x4f\x9e\x80\x6b\xaa\x72\x9c\xd0\x3c\x2f\xb2\x84\xe7\x98\x29\x95\xbc\x64\x7d\x71\xb4\x42\x2d\xe7\x20\xf6\xd3\xed\x41\x0f\x1b\x20\x1a\x52\x80\x8f\x97\x93\x89\x28\xc9\xaf\x64\x8d\xa9\x64\xad\x92\x83\xb1\xa7\xba\xa3\xa0\x38\x20\x7a\x4a\x2a\xef\xe9\xec\xdd\x18\xcd\xc3\x70\xb1\x10\xbc\xb4\x8e\x86\xfe\xbd\x80\xaf\xa1\x0c\xd3\x7c\x37\xd5\x10\x5d\xcd\x44\x51\x75\x60\x35\x30\x33\x85\x05\x05\x43\x5b\x37\x66\x87\x57\x42\xb3\x0e\x4c\x30\xcb\x33\xbd\xb6\x27\xbf\x63\xa6\x71\x25\x04\xa6\x95\xb7\x6f\x23\x2c\xf1\x07\xa9\x6e\x83\x4a\x09\x08\x2e\x73\x7e\xca\xfe\xa4\x60\x90\x07\x7a\x39\x77\xe0\xc2\xc6\xdf\x54\x87\x2d\x17\x2b\x78\x41\x76\xe1\x6b\xb8\x9c\xc0\xbd\x16\xfc\x96\x0c\x3e\x7c\x28\x0b\xf9\x96\xf2\xf0\x55\x9e\xcd\x45\xcf\x5c\xf3\x18\xee\x01\xc4\xd0\xaf\x0c\x3e\x15\x9a\x54\xad\xa6\x85\x9c\x18\xbc\x27\x57\xc3\xd8\x75\xef\xb8\x14\x7c\xa7\x3b\x2e\x68\x1e\x11\x2a\x7e\xcf\x4b\xc1\x3b\x8d\x6d\x6b\x07\xad\x01\xd7\xdb\x2f\x99\x00\x62\x4c\xcc\xea\x7a\xea\xd2\x77\x58\xd3\x7a\x83\x63\xbb\xdd\xc0\x4c\xb1\x5f\xa5\x9c\x3b\x77\x34\x23\xe5\x8c\xad\xaf\x3d\x16\x85\xb2\x25\x5d\x97\x66\x79\x52\x69\xe7\x46\x81\x11\x10\xd6\x79\x96\x63\xe9\xb2\xb1\x8b\x51\x19\x36\xa9\x58\xd0\x39\xce\xc7\x79\x01\xce\x58\x21\x94\x35\xfc\x15\x56\x7f\x0e\xda\x87\x42\x6a\x0b\xce\x72\x55\x5a\x89\x5d\x80\x99\x3d\xcb\xc5\xb5\xc8\x51\xc8\xa3\xa7\x39\x78\x80\x58\xe7\x75\xa7\x77\x01\x4d\xbe\xd7\xa7\xbc\x90\x5a\xd8\x29\xe1\xc2\xc1\x73\x7b\x04\x3a\x49\x25\xac\x1e\x24\xe1\x05\xcc\x03\xa3\xb8\xc0\x05\x90\x10\xec\xa6\x66\xa3\x4a\x6f\xe6\x79\xa1\x90\x16\x00\xce\x6a\xb5\x1a\xae\xbe\x18\xca\x72\xba\xff\xe0\xe0\xe0\x60\x5f\x5d\x4f\x83\xcd\xbd\xf6\xf7\x5c\x9a\x5d\x37\x67\x7f\x25\xea\x7b\x71\xde\x05\xd8\x7d\xd6\x31\x30\x7a\x11\x90\x88\xfe\x0c\x42\x06\x88\x24\x59\xc6\x83\x55\xde\xc4\x00\xb0\xd3\xc7\x49\xf7\x36\xb5\xbc\x16\xa5\x32\x6c\xb6\xcf\x3a\x87\xc3\xc3\xea\xe8\xad\x72\xc5\x66\x23\x8a\x96\x8b\x8a\x31\x26\x17\x13\x5d\xf9\xaa\xe1\x70\x18\x7a\x77\xfa\x30\x25\x8a\x94\x8c\xc8\xd6\x56\x65\x37\xe7\x6f\xb8\xa5\x50\x71\x95\xa3\x3b\x36\x9b\xc1\x41\x52\x41\xad\x49\x84\x94\xf0\x85\x46\x17\x20\x81\x2d\x53\x5f\x4c\x63\x82\x55\x07\x0c\x3f\xa3\xec\x0d\x72\x2e\xcc\x5b\x77\x35\x93\x2c\xe1\x65\xe0\x6a\x0d\x5d\x2f\x78\x39\x15\x6d\xaa\x4a\x03\x15\x78\x83\xc7\x61\xd8\x29\xda\x49\xf4\x30\x1f\xc0\xef\x03\x0d\x0d\x3a\xcd\xbd\x76\xd4\x75\xc4\x7d\x1a\x77\x6d\xd3\x9e\x79\x3d\x43\xa0\xa6\x70\x6a\x81\xf0\x3b\xda\xc8\xc5\xcd\x23\x67\xbd\xef\xe0\xf5\x1b\x1b\x49\x3a\x72\xc1\x13\xd8\xdb\x83\xb6\x69\xd2\x0b\xee\xd4\xea\x39\x83\x40\x80\xcd\x1c\x32\x84\xd2\x02\xbb\xf6\x98\x72\xa4\x29\x6e\xf4\xd3\x62\xb1\x74\xaf\x7b\x7c\x34\xbe\xf2\x9d\x2f\x6c\x8b\xfa\x13\x0b\xe5\x10\x0a\x35\x88\xdd\xf9\x28\x84\x07\xfc\x79\x9d\x5e\x88\x88\xac\xd0\x03\x35\x97\x94\x1a\x0f\xc5\x0f\x17\x69\xb9\x20\x93\x6b\xe8\xeb\x6e\x53\xe1\x9a\x9e\x3f\x20\xa0\x37\x3c\x5f\x3a\x8f\xce\x93\xf3\xf3\x48\xfd\x04\x17\xb8\xb9\x50\x2d\x6c\x1b\xcd\x17\x0c\xc1\xd8\xb9\x0f\x3d\xf2\xea\x2a\x18\x63\xd8\x34\xb8\x5c\xe8\x0f\x7e\xd6\x2f\x17\x86\x72\x78\xce\xae\x61\x22\x66\x20\xf7\xda\x8a\x17\x88\x81\x8f\xe6\x1f\xbd\x7f\xe1\xf8\xba\x8c\xe7\x54\x80\x99\xd2\xc5\xba\x1c\xd0\x5b\xad\xce\x4a\xe8\x1f\x3c\x3a\x02\xd3\xb3\x47\x52\x3f\x9e\x73\xec\xba\x1f\x68\x02\x27\x11\x1c\xf7\x87\x0d\x6f\x6f\x00\xd2\x08\x06\x57\x6f\x26\x75\xee\xd0\x74\x14\x4f\xe1\x51\xd5\xb5\x62\x67\x30\x1d\x6f\x97\xc2\x3e\xeb\x22\x39\x09\x23\x1a\x2d\xfd\x6d\x40\xd9\xb4\x0d\x65\xb8\xa8\x30\xc5\x54\x1b\x82\x2a\x34\xae\x19\xb7\xe1\xae\xde\xa0\x13\xd6\xd1\xf2\x12\x6a\x85\xb4\x43\x5a\x28\x96\x79\xde\x07\x49\x01\xf3\x8e\x59\x90\x89\x02\xe5\x45\x2e\x79\x0a\x42\x8b\x19\x2f\xd3\x50\x86\xd8\x76\x63\xb2\x84\x80\x58\x73\x51\x87\xe4\x04\x99\xd0\x20\xe9\x3e\x77\x71\x84\xe6\xf8\x2d\x16\x79\x26\xd2\x60\x80\x5d\xe8\xec\x35\x9a\x93\x5e\x97\x79\x88\xb4\x65\x99\xfb\xa4\x3a\xee\x8f\xed\x06\xb0\x59\x29\x26\x9d\x3e\x33\x3d\x42\x6f\x94\x7a\x37\xef\x70\xe5\x1d\x54\x22\xa3\xe7\x46\xe3\x17\xc0\x08\x2b\xfc\x3b\x0b\x6f\xdb\x20\xe1\xfc\x2b\x83\x84\x79\xdf\x5b\x06\xd9\x46\x7c\x1e\x8f\x74\x09\x39\x44\x1a\x0e\x1c\x9c\xcd\xd0\x78\x57\xb1\xa9\x6a\x97\xfb\x7a\xc3\x40\x28\x21\xd4\xa8\x3b\x72\x09\x80\x36\xdd\xba\x82\xc7\x7d\xbf\xcb\x49\x2a\x45\x50\x02\xf8\x36\xc7\x09\x0c\x0c\x5b\xc7\x50\x1b\xc7\x00\x18\xad\x1c\x2d\xa1\xe6\xbb\x8d\x34\x15\xfa\x71\x5c\xd0\xf8\x36\xab\xa9\xd4\x42\xde\x65\x5d\x1b\x46\xdb\xbc\xae\x71\xad\xe3\xce\xb8\xf4\x63\x3e\x9d\xf3\x69\xe4\xac\x94\x99\x2f\x76\x18\xd3\x76\x84\xf6\xb7\x1b\x93\x62\xce\x7d\x40\x59\xf6\xeb\x2e\x23\x52\x37\xd3\xfa\x76\xe3\x05\x59\xa0\xdc\x98\x71\xae\xc5\x8d\xe3\x06\xdd\x6d\xaf\x5d\xc6\x3f\x89\x62\x1e\xdd\x96\xba\x6f\x83\x91\xa3\xf0\x48\xff\x47\xb5\xfa\x00\x05\x4a\x83\x38\x08\x51\xfe\x56\x21\xe7\x03\x4c\xe3\x9c\x14\x17\x33\x41\xa5\x76\xdc\xa3\xd2\xde\x45\xb1\x56\x04\x1a\x6d\xe5\xfe\x53\x41\xe1\xdc\xd5\x0d\x0c\x62\x19\xf0\x17\x04\x32\x15\xfa\x24\xcf\xcc\x23\xd9\x5c\xc9\x15\xdb\x97\x3b\x45\xc8\x68\xad\x88\x0d\x01\xe6\xf8\x07\x7a\x48\x91\x98\x0d\xdf\xe3\x5a\x06\x1b\xa3\x57\x0d\xfb\xdd\x84\xb8\xa8\xb6\xd7\x06\xcc\xd9\x52\xc2\x59\x3a\x85\x74\xd3\xbe\xa0\xd8\x9d\xd1\x66\xb3\x6d\x6e\xe0\x26\x11\x8a\xbb\x3d\x5a\xf1\xa6\xf5\x50\x6a\x9a\x4d\x0b\xda\x6d\x76\x18\x54\x7e\xbb\xe9\xe1\xe0\x0d\x89\x2e\xa3\xb0\x13\xd2\x78\xc8\x3c\x55\xf5\xd4\x36\x36\x41\xd0\xad\x3d\x2d\x03\xef\xfe\xcd\x93\x76\xd7\x77\x6b\x42\x4e\xab\x56\x74\x4f\xe8\xca\x84\x7f\xf7\x44\x11\x69\xe4\xca\xbb\xfd\x32\x89\x26\x7a\x92\x83\x06\x74\xa9\xa1\x0e\x6b\xc2\x93\x19\x9a\xa8\x5e\xb4\x27\x1f\x09\x06\x2f\x85\x61\x45\xa6\x53\x8b\x14\xb0\x31\x91\xc5\x0e\xc9\x25\xc2\x99\xce\x30\x81\x67\x10\x9f\x15\xa4\x2c\x89\x8e\x16\xf0\x23\x70\xef\x74\x19\x10\x60\x65\x98\xb1\x07\x32\x4e\x70\x4a\x75\x51\x7d\xff\xbd\x84\x48\xa8\x5b\xa5\x71\xb1\x7b\x68\xdf\x5e\x36\xf9\xd2\xad\xb7\x52\x09\x1d\x66\xbf\xd9\x94\xe3\xc5\xbe\x86\x09\xfb\xdd\xc8\x48\xd8\x9a\xd5\xc5\x5d\x45\x33\x91\x2e\x73\x71\x06\x18\xa8\xbc\xa6\x9f\x16\x13\x59\xce\xab\x79\x9d\x9c\x9b\x61\x29\xa5\x0e\x62\x2b\x21\x43\x15\x38\x02\x95\x98\x65\x28\xb2\xbe\x18\x78\x2e\xc3\x54\x21\x59\x2e\x8b\xa9\x28\xcd\x3b\x36\x73\x59\xab\xce\x83\xda\xc0\xe4\x24\xe6\xfd\x80\xa0\x88\x6a\x8a\x5a\xfe\xca\xda\x20\x57\x26\x52\x4c\xb7\xc7\x0a\xb9\x82\xc1\xe8\xd8\x99\x27\x6f\xa1\xb3\x52\xe4\x6b\x48\x60\x24\x4a\x57\x4d\x1d\x22\x4c\x33\xcd\xd2\x2c\x25\x35\x16\xea\x68\x6d\xfe\x24\x03\xa6\xf0\x51\xbf\xe1\x0c\x22\x1f\x61\x1f\x4b\x61\xad\xbe\x94\x5c\x0b\x49\x02\xa3\x49\x13\xa0\xd9\x34\x22\x4e\x75\x95\x2d\x14\x21\x0d\xa1\xba\x74\x49\x00\x76\x62\xde\x5a\x48\x9c\xfd\xd0\x2d\xca\xdc\xaf\x63\x4c\x92\x03\x81\xaa\x94\x3b\x89\x61\x35\xe2\x0a\x7b\x9e\x71\xc5\xc6\x90\x36\x81\xac\x65\x50\x2d\xc6\xe9\xa9\x7d\xb6\x90\x19\x57\x95\x89\x6e\x24\xd1\xac\x80\xcd\xab\xb8\xa0\x37\x17\x9c\x74\x06\xa9\x4a\x6c\x66\x58\x8b\xd1\xd6\x88\x0b\xad\x48\x61\xae\xe9\xa8\xfe\x77\x73\x05\xba\xa0\x78\x00\xe9\x03\xdb\x8a\xc9\x05\x65\xe4\xaa\xa1\xa2\x1b\x19\x91\xe5\x56\xd7\x60\x35\x5a\x9c\xb9\x84\x3b\xee\xda\xba\xf0\xdf\x76\x5d\xfe\x40\x5c\x53\x43\xeb\xc7\xd1\x0f\xdd\x00\x64\xa0\xea\x32\xfb\xff\x06\x8f\xd1\x99\x5c\xa9\x0f\x61\xb3\x7e\x05\xf6\xf6\x57\x94\x3d\xf2\x4f\x37\xec\x9f\x2f\xc3\x6b\x53\x5b\x04\xdb\xdd\x9c\xf5\x35\x8c\x2d\xad\xe6\xc5\x88\x69\x45\x09\x7d\x81\xbf\x74\x5d\x84\x61\xd7\xc7\x68\x50\x11\x47\x08\xd2\x6b\x82\x60\x03\x83\xa1\x81\xff\xda\x85\x6b\x60\xc9\x88\x8a\xc2\xc4\x6a\x04\x23\x71\xf6\x76\xfc\x18\x74\x43\x15\x79\x74\x71\xb3\x51\xbd\x45\xcd\x17\x37\xec\x3e\xeb\x2c\x6e\x02\x5b\x41\x9b\x1e\xa9\x2e\xdb\xd8\x0b\xee\xf7\xcc\x7e\xda\x3c\xfb\x48\x2c\x58\xf0\x52\x89\xa7\x85\xee\x6e\x58\x4b\x3c\xc9\xe7\x94\xed\x0b\xf8\x0d\x4d\xcc\x05\x18\xf9\xbc\x5d\x59\x81\xb9\x80\x6a\xb9\xd2\x42\x15\xe7\x0a\x65\xc2\x0b\xbb\x4d\xf4\xb7\x96\x36\xed\x17\x30\xad\x4e\x21\xcb\x39\xcf\x3b\x2c\x9b\xd8\x1b\x56\xce\x33\x4d\x05\x72\x7d\xa2\x7d\x9f\x60\xec\x23\x3b\xae\xa4\x1c\xa3\xfb\x7b\x2b\xce\x68\xdc\x93\x4a\xfe\x32\x87\x3c\x3f\x6b\x44\xe3\xfe\x3e\x7b\xb1\x9c\x8f\x45\x69\x13\x9f\x7b\xd3\x20\xbf\x16\x25\x27\x79\xc5\x4b\xd1\x75\x54\x59\x1b\x57\x01\x70\x5e\x4e\x9e\x01\x94\x23\x76\x78\x70\xf0\xa8\x3a\x02\xf8\x81\x30\x70\xeb\xcd\x0a\xd1\x38\x94\x7b\x80\xb4\x8f\x64\xfa\xba\x22\xa0\x30\xcc\xbd\x50\x31\x86\xe9\xd5\x22\x15\x95\xcb\xb8\x56\x51\x58\xb5\x59\x72\xa3\x6e\xb1\xb3\x92\xf9\x6a\xe0\xa6\x04\x1e\x9a\x9d\x7a\x97\x36\xdb\xd7\x36\xeb\x57\x93\xfd\xab\xd1\x02\xd6\x68\x03\x8b\x7f\xb7\x6f\x46\xbe\xd4\x32\x70\xc0\x8c\x1b\xd1\xfb\xb1\xd6\xc6\xea\x1b\xd1\x9c\xe6\xdc\xd5\x29\xd4\xc8\x66\x1b\xe3\x4c\x2d\x38\x18\xbf\xc8\x01\x9d\xce\x54\xc2\xf3\x64\x99\x43\x32\x01\x0b\x25\xce\xea\x98\x15\xec\x87\xac\x14\x13\x79\x53\x41\xdd\xf9\x82\x17\xdb\x37\xca\x8c\x5a\xdf\x29\xe8\xdb\xb0\x5b\xa6\xf5\xc0\x8c\x8f\x59\x09\x6a\xdb\x45\xfd\x8a\x42\x94\x3f\x5d\x3c\x7f\x16\xc4\x81\x74\x3b\xbf\x74\x86\xa5\x58\x08\xae\xbb\x9e\xea\x7a\x86\x31\x5e\x96\x9d\x9e\xfd\x29\x22\xfd\x06\x02\xaa\xfb\x82\xb9\x61\x2d\x9e\xfd\xd7\x8f\xb9\x12\x66\xac\x4f\x8d\x85\x31\xc1\xa5\xe5\xe3\xc6\xae\x78\x01\xfc\xca\x66\x5d\xb1\xd6\xcc\x99\x60\xb6\x7d\xdb\xf4\xea\x37\x46\xe7\x80\x6e\x8b\xe6\xf6\x95\x92\xbe\xbf\x54\xac\x14\xc1\xe4\x3d\xe4\xb7\xf6\xd5\x1d\xb0\xdb\xdf\x7e\x03\x0b\xc7\x0e\xae\x3d\xc4\x09\x5c\x6a\x65\x18\x61\x8b\x0a\xa6\xba\x35\x81\xda\xa6\x92\x05\xd2\x81\x23\x35\xc4\x7e\xc0\x98\x36\x87\xaf\xf9\x9e\xc4\x58\xf7\x59\x95\x84\xee\xed\x42\x41\x0e\xb7\x18\x59\x64\x00\xda\x5d\xb3\xc4\x53\xd9\x03\x2c\xa9\x71\x21\x17\x8f\x2a\x03\xd4\xb4\xf6\xb5\x01\xea\xf8\x6e\xee\x13\xb6\x6d\x70\x5f\x68\x71\xfa\xbe\x9e\x06\x8b\xf8\x55\xca\xf9\x0f\x3c\xd1\xa0\xb5\xf5\x0e\x05\xa1\x4f\xc9\xa3\x6d\x43\xd4\x26\x47\x43\x78\xd9\xc1\x6b\x4a\x1b\xd3\xaa\x54\x93\x86\xd6\x1f\xe8\xa5\x18\xcc\x03\x69\xc2\xca\x3c\x95\x5c\xa3\x90\xbd\x27\x05\xaf\x03\x7f\x95\x52\x16\x5b\x5e\x30\x0c\xf9\x02\x0e\xaa\x93\xed\xda\xb2\x9a\x0c\xd6\xa6\xb7\xa8\xb4\x81\x2f\x9b\xa4\x83\xee\x36\xeb\xf4\x99\x79\xa4\xb3\x34\x9b\x8b\x42\x41\x9e\x47\xb3\xa0\x40\x47\x45\xef\x30\x73\x8d\xa3\x97\x1c\xbc\xa9\x39\xbd\xc8\xc8\xaa\x67\x00\x05\x20\x48\x18\xf4\x0e\x6b\xbb\x28\x6a\x36\x2c\xb6\x35\x53\x5f\xe5\x98\x63\x52\xf2\x48\xd5\xca\x06\x75\xe3\x6a\xe2\x1b\x3f\x8a\xac\xa8\x71\x7e\xc9\x48\x30\xa6\x37\x97\x7a\xe2\x56\xf9\xa1\xdb\xdb\xf8\xd0\x58\x2c\xc7\x79\xa6\x5c\xcd\x6a\x17\xf9\xca\xfe\x11\x24\x88\x1b\xa1\x46\xe1\xa3\x65\x28\x95\xe5\x07\x8f\x0a\xec\x73\x26\x57\x17\x12\xdf\x67\x5d\xf8\xba\x41\xe5\x00\x79\x30\xbb\x3d\x97\xac\xc8\x01\xa8\x6a\x55\xf0\xc7\x8f\xcd\x0f\x13\x57\xc5\x06\x5c\xef\x02\x11\xdf\xa5\xfe\xb5\xfa\xc2\x9d\x88\xba\x01\x7f\x2d\x3a\xf4\x50\xc7\xde\xa4\x76\xf5\x5b\xd6\x90\x81\xd5\xf7\x46\xae\xbd\x31\x1b\x6b\xd0\xd8\xaa\x72\x9d\x87\x11\x46\x0d\xd8\xfb\x13\xd2\x56\x72\x9b\xd7\x0d\x50\x30\x16\x94\x1a\x36\xca\x45\xad\xb4\x39\x7a\x2e\xd8\x0e\x64\x28\x9b\xaf\xd5\xba\x1f\x4d\x72\x69\x4e\x50\xb1\x66\x13\x68\x2c\x29\x13\x26\x9e\x34\xe7\x55\x74\xed\x1e\xd7\xb0\xa1\x54\xac\x60\x32\x54\x73\x5e\xea\x1f\x0c\x8c\x27\x99\xd9\x77\x4b\x60\xb5\xd5\xf4\x1b\x58\xc5\xd0\x7a\x68\xfb\x54\x4b\x05\x4b\xe4\x7c\xb1\xd4\xd5\xa7\x80\x5c\x9a\x67\x92\x16\xd3\x92\xe7\x74\x7f\x51\x3a\x5f\x57\x4d\xc3\x4f\x51\x39\xfd\x79\xe3\xdc\xff\xd2\x3e\x95\x68\x26\xa0\x37\x27\x7d\x58\x22\xd8\x58\xe8\x95\x10\x91\x67\x2b\xcd\x0f\x02\x36\xa4\x26\xc4\xd1\x97\x46\x8c\x55\xce\x73\x74\x2c\xd8\x9c\xa7\xe0\x0e\x08\x1c\x4b\x81\x23\x36\x06\x73\xa3\xd3\xa0\x15\x7b\x4b\x91\xc8\x32\xc5\x93\x88\x3e\x2c\x4a\xb2\x4c\x5b\x1f\xb1\xc2\xaa\xb5\x58\xce\x35\x66\x8b\x4d\x05\x6e\xaa\x73\x3e\xb7\x9a\x8e\x86\xdd\xbb\x90\x8b\xe7\x30\xa8\x2d\x0f\x59\xf9\x1d\x4f\xb3\x6b\x52\xdb\x46\x36\xa8\xe3\xd9\x9f\x81\x8a\x27\x37\x2e\xcf\x06\x3c\xb7\x4f\xc5\x3e\xfd\xef\x79\xb5\x91\x01\xe3\x92\x0f\x1d\x3c\xda\xa4\x30\x6b\xa8\x1c\xde\x90\xb6\x2d\x86\x79\xbf\xc6\xad\x89\xcf\x36\x28\xc0\x1a\x8a\xfa\x87\x99\xa4\x2c\x8b\xaa\xdf\x38\x91\x6d\xc5\x05\xb8\xd4\xa3\x59\xac\x7f\x0d\x99\xa4\xaa\x5c\xa3\xaa\x19\xa9\xf6\x9b\x59\x62\xaf\x1f\x80\xfb\xd5\x65\x6f\x86\x64\x5e\x7e\x41\xf2\x26\xb8\x9e\x50\x88\x7b\x66\x7e\xd9\xd2\xdb\x10\x74\x63\xe7\x0b\xb9\x60\x83\x96\x99\x6c\xd3\xc4\x55\xee\xc1\x3a\x97\xde\xdf\x67\x98\x87\x21\xcc\x8e\xcc\x4b\xc1\x03\x97\x75\xa8\x6c\x00\x51\xc9\x99\x4b\xfc\xa2\x98\xb8\x16\xe5\xda\x26\xfd\x75\x6c\x39\x4c\xdd\xdc\xa6\x46\xa7\x3b\x6d\x83\x6b\xb5\xdb\x93\x6e\x2b\xab\xc1\x5c\x97\xdb\xfe\x35\xcc\xab\x29\x13\x51\x73\xbf\xc6\xb3\x76\x87\xde\x11\x53\xd8\x09\x80\xd9\xdc\xca\x4d\x4e\x17\xbe\xb3\x25\x41\x74\x0b\xc8\xe6\x8c\xdb\x9c\x80\xe0\x0c\x65\x65\xdf\xa7\x64\xe4\x9b\x0b\x3d\x93\x29\x24\x05\x44\xf3\x02\xe5\xca\x46\x87\x7b\x65\xdd\x6b\x41\x1a\x40\xc8\x33\xae\x48\x26\x4c\xd0\x77\xff\x2f\xac\x5c\x16\x41\x4a\x51\x6c\x26\x93\x64\x59\xee\xe0\x68\x15\x89\x2a\x3b\x69\x82\x71\x80\x3b\x68\x81\x4b\x3b\xc6\x9d\x34\xc0\xd8\x3b\xd2\xfe\xba\x14\xf5\x6d\xaa\x5f\x5a\x55\xf8\xa6\xa8\x65\x26\xc6\xec\xde\xb2\x68\x49\x71\x6d\x85\x33\xbb\x71\x90\x98\x03\x07\xce\x8a\x69\x1f\x72\x72\x94\x02\xdc\x94\x27\xcb\xdc\x29\x70\x94\xcb\x77\xe8\xec\xba\x58\x2f\x04\x33\x10\x43\xd1\x30\xeb\x43\xe7\x06\xf5\x09\xcd\xc0\x48\x46\xf9\xc7\xad\xdf\xfe\x9a\xad\xf8\x7a\xc8\xd8\x13\x09\xc9\x90\x24\x09\x43\x46\x12\x5a\x96\x63\x0b\xcc\x01\xc1\xc8\x95\x24\x27\x07\xbf\xe5\x82\xf1\x89\xc6\xbc\xaa\x56\x8e\x42\xb1\x6a\x92\x73\x35\x13\x0a\xab\x37\x2a\x6d\x8b\xcb\x64\x85\x2d\x85\x11\xcc\x0b\x6a\x8a\x28\x0d\x29\xd0\x95\x16\x3c\x05\x04\x60\x19\x45\x97\xeb\x12\x95\x43\x94\x0d\xc0\x95\xae\x30\x62\x00\xe4\x50\x50\x9a\xab\x59\x25\x72\x04\xd0\xb2\x0f\x89\x7f\x97\x5a\x65\xa9\xa8\x5e\x33\xc0\xf4\x50\xed\xeb\xea\xb8\xb8\xd2\xaf\xca\xd9\xe8\x6c\x73\xf2\x80\xbc\xb5\xdd\xd5\x96\x60\x68\x7e\x1d\x81\x95\xd5\x45\xcb\xa9\x0f\x21\x97\x74\x79\xa7\xcc\x71\x8f\xd2\xfe\x35\xbc\x76\xb6\xd8\xc4\x29\x57\xf8\x9f\x6e\x64\xba\x20\xa9\xa3\xd2\x24\x68\xf1\xd8\x1b\xe7\xba\x35\xc3\xd3\xdd\xcc\x55\xbb\x3d\xfd\x36\x5a\xe5\x5a\x71\xf9\x68\x27\xe7\x03\x9f\xdb\x2b\x4e\x88\xdf\xf5\xef\xd9\x2a\xce\x6d\x79\xfe\xaa\xf4\xfd\xfd\x51\xc3\xa5\x56\xa9\x57\x59\xc4\xbc\xa1\x68\x8d\xaf\x2c\x85\x2b\x5b\xe4\xec\xe0\xd1\xfd\x51\x3b\x41\xe6\xec\xee\x23\x73\x09\xaa\x2a\x79\xd8\x51\x28\xa4\xab\xff\xd3\xe0\xa0\xc0\xb4\x7b\x23\xc8\x39\xea\x68\xc6\x82\x94\x2f\x41\xf5\x23\x3c\x8a\x20\x87\x18\x68\xc1\x65\xe5\x56\xd1\xc5\x70\xe7\x52\x69\x86\x41\x95\xf6\x2d\xdb\x67\xfc\x8a\x47\xd2\x6e\x2f\x58\x5c\x21\x75\x3f\x06\x64\x27\xe1\xe1\x05\x8f\x62\xe8\x05\xf1\x58\x49\x99\x61\x3c\x21\x4d\xd0\xdf\xb1\xae\x2c\xd2\xdc\xa2\xc3\x63\x0f\xb9\x14\xf1\x56\x03\xcc\xb1\x57\xef\x3b\x52\x63\xd3\x21\x17\xc4\x0b\x5a\x39\xff\x28\xc3\x07\x31\x02\xc0\x21\xcd\xb3\xc5\xf9\xf6\xec\x6e\xc1\x69\x8c\xbc\x76\x83\x83\xe9\x6b\x8b\x56\x39\x90\x4d\x34\xfa\xdb\x6f\xa1\x0b\x73\xbd\x41\x90\x58\xf1\x88\xd5\x40\xd3\x03\x20\xc8\x5b\xec\x1c\x29\x7c\xd8\xaf\xdd\x9e\x3e\x46\x03\x85\x77\x9f\xc0\x7d\x33\x58\x60\x2e\x40\x12\x77\x0e\xb2\x3c\x0f\x9d\x1b\x76\x45\xe2\xf6\x69\xaa\x9d\x53\x80\x8b\x7b\x0d\x17\x14\x04\xc1\x17\x4a\x94\xfa\x31\x90\x5f\x1c\x28\xdb\xaf\x36\xf5\xc0\xad\xc1\xa0\x21\x8b\x65\x15\xa3\x61\xd6\xbf\x36\xa4\x52\x46\xf4\xed\x28\x7d\x69\x2b\xaf\xb9\x7d\xca\xc2\xf3\x6f\x90\x56\x41\x4d\xc3\xce\x85\xee\x10\xbf\x1f\x49\x3b\x48\xbd\x3b\x4c\xa4\x57\x0b\xb4\xd8\xdf\x67\x8f\xa5\x9e\x79\xcf\x9f\x1d\x97\x49\xb8\xdc\xb8\x48\x27\x2e\xfe\x91\xcb\xac\x4f\x24\xcc\xd7\x49\xc5\x85\xb2\x39\x48\x67\x59\x61\xce\xb3\x48\x33\xae\x05\x5a\x80\x71\x7d\xf4\x5e\xdf\x6d\x27\xef\x6d\x9b\x4b\xeb\xba\xeb\x6a\xfa\xed\x9b\x15\x64\xb7\x84\x59\xee\x70\x12\xeb\x50\x63\xfb\xf0\x06\x9b\x46\xf3\x19\xb4\x51\x0c\x1b\xaf\xc7\xf6\x3c\x03\x9f\xe4\x86\xf4\xe0\xff\xe0\x1b\xd2\x8a\xe0\xf1\x3a\xba\x38\xd1\x44\x16\x69\xfb\x25\xe9\xfd\xa2\x1a\xef\xc9\x10\x5e\x78\x55\x42\xad\xa0\xff\xe6\x37\xe5\xe3\x28\x05\x82\xbb\x2c\x2b\xa2\x66\xeb\x7d\x49\x09\xb8\x77\x65\xec\xdf\x1d\x55\x85\xd8\x6d\xd7\xa5\xe7\x7a\xc1\x2e\xed\x7a\x63\xc2\x06\x6e\xbe\x30\x4d\x93\xf8\x94\x86\x4e\x74\xcd\xec\x62\x7b\xf6\x86\x4f\x76\x33\xd6\xc5\x8d\x4d\x28\x74\xd7\x23\x6d\x4b\x16\x9e\xfe\x86\x5b\x23\xcc\x67\xd1\x74\x61\xd4\x18\xe8\xae\xd7\x46\x00\xf8\xce\x37\xc7\x0e\x57\xe2\x27\x5a\x5c\x95\x1b\xff\xe1\x0b\x74\x03\xfe\x4f\xba\x10\xeb\x27\xad\x6d\x3a\xbb\xdf\x86\x0e\xe6\xf6\xcb\x10\x88\x26\x34\xd5\x18\xf1\x1b\xf2\xf0\x78\xbe\xa2\x36\x5f\x8b\x17\x01\x9f\xe7\x4a\x2d\xe7\xb6\x24\x6a\xa4\x00\xe8\x01\xd4\xea\x8b\xbf\x87\x05\x3d\x78\x5e\x0a\x9e\xae\x49\xf3\xd8\xa7\x94\x5e\xf6\xb2\x83\x26\xa0\x6c\x37\x34\x60\xef\x53\x7f\x81\x94\x72\x15\xa4\x56\xc7\x5b\xf9\x1e\xd6\x61\xf2\xdf\x8a\x22\xed\x45\x0b\x85\x95\x05\xf7\x57\x29\x92\x75\x92\x0b\x15\x3a\xa0\x43\xaa\x94\x99\xa8\x96\xb0\x24\xb7\xe8\x85\x54\x30\x15\xf4\xa4\xb6\x05\x85\xad\xda\xac\x94\xab\x73\xac\x1c\x6d\x35\x78\x85\xb0\xc6\xd7\x6c\xc2\x0a\x91\x08\xa5\x78\xb9\xfe\xef\x7a\x85\x86\x0a\x9b\x5a\x7d\xa1\x4d\x0a\x9c\x4d\xd5\x65\x7e\x16\x62\x81\x11\xc1\x18\x62\x9c\x0a\x45\xd5\xde\x5d\x96\x53\x5a\x27\x26\x8f\x77\xc5\x64\x45\x01\x06\x5a\x51\x52\x66\x1d\xc8\x08\x00\x15\x08\x18\xbb\x98\xd9\xd2\xce\x13\x9e\xe5\xcb\x52\x44\xa5\x4a\xf0\x9c\xbd\x36\x80\x20\x1e\x20\x82\xef\xe1\xd8\x53\x4a\xac\x28\x68\x05\x07\xbb\xd6\x8e\x2e\xbf\xa0\x9d\xaf\x48\x84\x09\xec\x3b\x4f\x32\x74\xcc\x77\x73\x27\x30\xb0\xee\x0e\xdd\xa8\x54\x61\x29\x18\x0e\x73\xd6\x4f\x9a\x6e\x6c\x07\xfa\xd4\x82\x14\xd1\x49\x77\xfa\x96\xa6\x71\x20\x4f\xb7\xe0\xb6\x1a\x4a\x30\xa4\x55\xa1\x47\xb3\x08\xff\xaa\x3b\xd6\x33\x07\x2a\x08\x5d\x8e\x78\x9a\xfd\xbd\xca\x45\x8d\x4c\x34\x93\xa5\x9e\x51\xa2\x0f\x8c\x8a\x50\x94\xda\x7a\x2a\x29\x6c\x1c\xe3\x70\x72\xa9\x87\xd5\x7a\x2b\xe7\xbe\x6a\x4a\x0b\x13\x7f\x54\xed\x72\x6a\x0b\xaa\x34\x32\xe8\x58\x5d\x6a\x10\xce\xea\x42\x53\x58\x1f\x09\x4c\xa5\x38\x5f\x71\xc3\xe7\x58\xa7\x2e\x4c\x28\x47\x47\x35\xd3\xa2\xe4\x36\xf9\xcd\x6e\x11\x10\x56\xc9\x0b\x1b\xf8\xa4\xe4\xce\xff\xe0\x39\xd7\xb3\xe1\x3c\xc3\xfa\xc4\x55\x2d\xe3\x0e\x97\xf5\x16\xe3\x1e\x0a\x78\x66\x3b\xba\x40\x27\xc1\xc8\x07\x8f\x82\x3f\xbf\xab\x4e\x2d\xf8\xf1\xfe\xfd\x30\x3c\xa3\x0c\xd4\xce\x81\xca\xfa\xbe\x6f\x5f\xa9\x13\x66\x08\x3f\x78\xd2\xb8\x73\x06\x3e\x21\x9d\x6b\xc1\x66\x99\xae\x8b\xcc\x2b\xef\x4a\x80\xf2\x0c\xe3\xc0\xa8\x6d\x75\x53\x17\x2c\xb2\x8a\xca\x59\x08\x9d\xcc\x48\xf7\xfb\xa1\x5b\x86\x1a\x6b\x77\xb4\xa9\x4b\xe8\x0c\x64\x6b\xaa\xe4\x72\xda\xdd\x3b\x31\x0c\xba\xe8\x68\x06\xc0\xb0\x70\x9f\x81\x32\x62\x7b\xec\x3e\xab\xc1\x64\x6c\x5c\x0a\x7e\xe5\x3c\x7f\xee\xed\x20\x94\xd1\x14\xfa\x2c\xb0\xd3\xc3\x2c\x74\x56\x2c\x45\x24\x66\xb9\x6a\x6b\x1e\xef\x47\xac\x5a\x12\xc5\xe7\xac\xb2\xb1\x49\x64\x16\xc1\x5c\xd3\x90\x7d\xaa\x8f\x17\x14\xcf\x65\x31\xb5\x18\xdc\x50\x4c\x6d\xe3\x84\xea\x67\xf6\xf3\xcf\xeb\x07\x79\x97\x29\xd7\x9f\xed\xb6\x50\x62\x6c\xee\xc1\x7c\xd5\x94\x73\x02\x2f\x6b\xb8\x43\x3c\xac\x95\xc0\xf2\xa7\x58\x92\x9c\xc1\xa3\x26\xbe\x21\x8a\xb8\x6e\xc9\x79\x2c\xd6\x3a\x6c\xd4\xd7\x71\x27\xd4\x10\x6f\x0a\x11\x73\x5a\x79\x5f\xee\x86\x16\x51\xa4\x7f\x1e\x52\x4e\xfd\x63\xa6\x09\x25\xa7\x35\x2d\xd9\x4e\xc4\x1b\xd5\x6b\x39\xf7\x4a\x6b\x56\xfb\xf1\xb4\x22\xe9\xa3\xe3\x98\x08\xae\x45\xa7\x4f\xdd\x6f\xaa\x1e\x4a\x32\x5f\xe4\x6b\x06\x5e\x47\x04\x6c\x2d\xc8\xa4\x19\x71\x14\x28\x5a\x2b\x78\xfa\x3f\x8a\xb3\x20\xa1\xd9\x3a\xa3\x18\xc3\x08\xf9\x81\x78\xce\xf8\xd8\x66\xfe\x63\x48\x20\x58\x2d\xb5\x03\x8c\x45\x2e\x4b\x32\x50\x9f\x09\x60\x2d\x16\x5c\x16\x94\x53\x74\x05\x36\x83\xc8\x4e\x33\x9a\xaf\x45\x74\x1b\x04\x37\xa3\xf7\xf7\x20\x37\x40\x6d\x03\xb1\xd6\x86\xba\x0b\xa7\xbc\xed\x3e\x85\x8b\x8c\xde\xab\x4e\x32\x1b\x2f\xa7\x53\x8c\xe9\xdd\xf8\xec\x6c\x0a\x7f\xac\x41\x8d\x94\x3d\xad\x71\x99\xf7\xda\x79\x46\x70\xa7\xc7\x66\x4f\x48\x14\x64\xe8\x67\x2c\xf5\xcc\x26\x9b\x1c\xf3\x29\xba\x41\x13\xbb\x82\x3a\x0d\xee\x21\x67\xe3\x35\x82\x34\x13\xd6\xa3\x00\x73\xc7\xba\x08\x9a\xc8\x7d\xd1\xea\x79\x1b\x0b\x09\x1b\x38\x14\xfc\xca\x6d\xb1\x7f\x85\x35\x05\xa0\x74\x90\x9c\x4c\x6c\x46\x03\x9f\xbb\x96\x4d\x32\xcc\x33\xbb\xd4\x81\x1b\x36\x65\xdd\x76\xc9\x84\x77\x08\x90\x0f\x9c\x07\x36\xf9\xda\x44\x39\x79\x5b\x92\x05\xc5\x8d\x2a\x21\x21\x61\xf0\x48\x1b\xb4\xba\x4e\x22\x6a\xd9\x8b\x48\x21\x20\x81\xed\x53\xab\xb5\xdb\x30\xbb\x0d\x30\xeb\x13\xac\x36\xae\x6b\x4c\x5e\x19\xce\x13\x45\x64\x93\x63\x0f\x04\xfd\xcb\x89\x53\x48\x38\xbf\x94\xaa\x52\x64\xce\xd7\xe8\x4c\x65\x5d\x51\x49\xd4\xb7\xae\x5d\x1f\xb6\xee\x34\x8c\x65\x79\x56\x25\x76\xdf\xe3\xaa\xd5\x2f\xe1\x1d\x35\x73\x12\xc1\x7b\x0c\xde\xc7\xb7\x5b\xb0\xd6\x1f\x80\xa5\x85\x8e\xe2\x2e\xab\xee\x14\x4a\x20\x67\xe4\x27\x5b\x8b\xb6\xd0\x58\x82\x0c\xbb\xd8\xd3\x86\x28\xca\x26\x81\xa6\x44\x96\xb6\xc7\xdf\x97\xa0\x6f\x28\x80\xf0\x5d\x97\x30\x47\x01\xe6\x92\x0b\x4c\x13\x0e\x61\x24\x79\x2e\x4a\x39\x2d\x85\x72\x99\x2e\x02\xa3\x49\x6a\xab\xe1\x06\xb1\x1f\x66\x36\x5b\x51\x1d\x5d\x0f\x15\x54\x57\xf4\x13\xae\x56\xb1\x23\xe7\x66\x77\x92\xcf\x3f\x0f\x8a\x7f\x17\x1b\x1c\x4f\x2c\xc9\x87\xcf\xbc\xc6\x86\xef\xdc\x46\xd6\xb4\xc1\x61\xdf\xb6\x94\x06\xd1\x25\x15\x1f\xc8\x26\xf2\xe9\xf9\xb3\x15\x11\xa2\xe5\xff\xf7\x2a\xd5\x9b\xeb\xe9\x13\x79\x9e\x47\x09\x96\xaf\x33\xb1\x5a\xec\x16\x25\x6d\xfa\x1f\xe7\x79\x73\xbc\x01\x98\xfd\xe0\x05\x5e\x61\x76\xb5\x97\x71\x54\x4e\xef\xa0\xa2\xac\xd9\xe8\x20\xbd\xbb\x36\xb8\x15\x42\x74\x5b\xdb\x39\x37\xcb\x23\x07\xbd\xc6\x5b\x37\xba\xd3\x2d\x84\x7e\xc5\x7e\x1d\xf4\xdc\xe0\xfa\x54\xa1\x97\xea\x74\xda\x12\x2b\xb8\x52\x5a\xe4\x88\x14\xb9\x84\xb5\xeb\x05\xd8\x80\x1d\x3e\x8a\x7b\x3e\x6a\xb8\x01\x1a\xf1\x16\xed\x59\x38\xec\xff\xcf\xde\xdf\x77\xb7\x71\x63\x79\xe2\xf8\xff\x7e\x15\x70\x76\xc6\x24\x63\x92\x92\xbd\x9b\x9d\x6e\x29\xea\xfe\xc9\xb2\x3c\xed\x8d\x1d\xf9\x48\x72\xd2\x33\x8e\xc7\x01\xab\x40\x0a\xad\x62\xa1\xb6\x00\x92\x62\xda\xde\xd7\xfe\x3b\xb8\x17\x8f\x55\x28\xb2\xe4\x38\xfd\x30\xe7\xdb\x67\xce\xc4\x62\xe1\x19\x17\xc0\x7d\xfc\xdc\xd4\xf6\x75\xd8\x35\xfa\xef\x5e\x57\x03\xd1\xe6\x99\x51\xa4\xf7\x2e\x1a\x62\x72\x1b\x43\x13\x99\x29\xdd\xde\x91\x46\x1f\x7d\x16\xe8\x78\x67\x62\x61\x1f\xa4\xda\x4c\x24\x1c\xe6\x64\xb5\x61\xa6\x01\x79\x1d\x36\x8a\xb0\x3b\xc5\x4a\x37\xf2\xb1\x1d\x69\x22\x41\x7b\xe0\x84\xd7\x72\x63\x4c\xa3\x12\x2c\xe9\x1d\x5f\xae\x96\xd6\x25\xdd\x45\x30\x45\xc1\xfe\x3d\xc0\x8a\x44\x51\xbc\xa6\x77\xd1\xcd\xcd\x22\x58\x82\x61\x3a\x92\x41\x35\x3c\xd3\x47\x91\xe7\xb6\xea\xf4\x0f\xdf\xe9\xfc\x3d\x09\x9a\xd8\xdd\x2d\xc4\xbb\x35\x5d\xc0\x61\x25\xfc\xe3\xeb\x8e\x83\x79\xd8\x94\xc9\x9a\xd2\xe1\x96\x1a\x22\x23\x40\x2c\x10\xab\x3f\xf9\x36\xf0\xff\x9b\xea\x46\xdf\x8b\x3a\xaf\x7d\xee\xdd\x2e\x94\x0d\x32\xf9\x75\x3d\x90\x6a\x9f\xa7\x6a\xda\x37\xb2\xf6\x7a\xbe\x7b\xb9\x43\xfa\x00\x34\x51\x14\x38\x30\xd7\xd4\x8e\x00\x26\xb7\xc9\x5d\x1b\xdc\x68\xf9\x35\xbd\x8b\x23\xdb\x0c\xb9\xe1\x61\x02\xbd\x8c\x1b\xc1\x1f\x7c\x1d\x7c\x41\xc3\xc1\xb9\x4f\xf1\x6d\xe8\x50\x32\x7c\xd1\x13\x5f\xaf\xe5\x21\xdf\x55\xc7\x57\xe9\x87\xcb\xb4\x97\xd4\xe2\xfc\x17\x7f\x17\x6a\x73\x71\x51\xff\xbd\x09\x6e\xf7\x8d\x02\xf7\xb1\xeb\x72\xf2\x99\x11\x7b\x31\x9d\x7e\x4b\x0e\xdb\xf4\x79\xf8\x9b\xd3\x65\xfa\x19\x70\xea\x14\x4b\x2c\xe8\xde\x19\xc4\x86\x45\xd2\x07\x97\x71\xb4\x45\xe3\xf5\x98\x92\x3d\x62\x03\xda\x38\xeb\x00\x50\x0f\x22\xbe\xb5\x20\xff\x35\xea\x93\xbe\x06\x79\x42\xd9\x0b\xb7\xcf\x2b\x74\x1d\x79\xd8\xa7\xc1\x71\xc0\x1c\x03\x16\xd5\xae\x05\x3e\xe8\xde\xc4\xce\x47\xb4\xb5\x7a\xe0\xea\xf3\x8f\xb1\x78\x78\x85\xf4\x59\xbf\x67\xcd\xb0\x83\x6e\x67\x65\x8b\x40\x18\x19\x88\x92\x67\x02\xf8\xd0\x60\xd5\xfe\x04\xf0\xf0\x98\x3f\xcb\x4c\x1c\xb4\x2e\x32\x44\x20\xb5\x09\xe7\xa2\x1c\xcf\xa0\xeb\xf1\x9c\xc2\x40\x06\x07\xc7\x26\x66\x36\x11\xf6\x12\x34\x3e\xb8\x4e\x4b\x0a\x0a\x80\x7c\xc5\xec\xa5\x0a\x29\x55\x96\xb4\xc4\x7c\x9f\xde\xac\x6f\x23\x85\x40\x5a\xa6\xb8\xe2\x74\xb9\xa4\x8a\x67\xa6\xdd\xbd\xab\xe8\xd2\xed\x25\xf8\xa0\x9e\x81\xda\xee\x9a\x88\xa3\x2b\x1f\x06\xf7\x61\x14\xbf\xed\x7c\xb5\xda\x41\xb0\xed\x3a\x26\x8e\x7b\x14\x66\xa6\xe7\xd2\x2c\xb3\x5e\x29\x5a\x48\x01\xeb\x1d\x2a\x4b\x20\x6e\x71\x38\x5b\xa9\x38\x88\x0d\x7e\x86\xaa\x0f\x47\xd3\xa8\x3d\x93\x3b\xa2\x9d\x43\x05\x73\xef\x44\xab\x4d\xa8\x8c\x72\x45\x61\xbb\xae\xbd\x97\xa5\x09\x3f\x02\x60\x3c\xb0\x1b\xda\x00\x73\xcc\x24\x1a\x1e\x21\x9c\x07\x2d\x73\x52\x30\x45\x6c\xea\x6b\xdb\x94\x49\x67\x87\x76\x6b\x3c\x65\xd6\x90\x30\x46\x27\x50\x70\x58\xc8\xc9\xaa\x32\x0d\x06\xb9\x99\x37\xb5\x80\x00\x75\x4c\xf7\xe2\xe2\xfc\xc1\x0b\x94\x46\x83\x46\xd9\xc3\xc1\x46\x90\xb6\xfb\x9d\x29\x11\x84\xbc\xa1\xca\xc1\x80\x1f\xf8\x14\x8e\x29\xd4\x83\x51\x03\xea\x93\x43\x3e\xe8\x8c\x96\x00\x39\x58\xf3\xdc\x24\xbd\x75\x59\x94\xcc\x6a\xdd\x30\xf7\x6c\x42\x72\xc7\xc6\xb1\xb3\x0d\x69\x22\xc8\xa8\x5d\xcb\x56\xea\xbd\x56\xb3\x2e\xcf\x91\x07\x2a\x74\x8a\x25\x20\x26\x58\x75\x6b\x61\xf7\x7d\xf6\x3a\x46\x90\x70\xb2\x79\x94\x76\x5e\x26\x93\xd4\xdc\xc2\x2b\xe5\x47\xff\x3d\xbc\x57\xfc\xbd\x60\x29\x94\xc7\xab\xa5\x17\xd7\xdd\xbd\xad\xa1\x13\xf2\xcc\x40\x1b\xc0\xdb\x59\x8b\x52\x41\xfe\x1f\x97\x5e\x28\x1d\xc5\x66\x7d\x7d\x4c\x16\x41\x47\x56\xcf\x5f\xfe\x30\x0e\xe9\x1a\x87\x60\x3d\x91\xc0\x92\x33\xdb\xda\xc4\x8b\x71\x08\x1f\x0c\x8f\xae\x19\xc6\xad\xda\xfc\x8d\xf6\xb6\xbb\xdf\xca\xa7\x6e\x31\xa0\xd4\xa8\xd4\x90\xf9\x14\xe8\x6c\x6a\x06\xf5\x06\xe9\x86\xe5\x2d\x1e\xe5\xe0\x80\xbc\xe0\x8b\x55\x0d\x69\x92\xc8\x8d\xd8\x90\x39\x35\x19\x3c\x70\x57\x34\x65\x49\x82\x59\x6a\x70\xfe\xd6\x0d\x23\x67\x85\xa2\x41\xf0\xb6\x1d\xc1\x73\xfd\xbb\x1d\x86\x89\xb5\x6b\xc6\x78\x07\xdc\x1b\xb6\x63\x6f\x5a\x15\xb2\x62\x2a\x60\xc2\xee\x23\x7d\xa8\x94\xdc\xa1\xba\x24\x0e\x51\x79\xa7\xc3\xe6\xf0\x82\xab\xf9\x35\x7a\x5b\xf9\x91\x9b\xbc\x67\x34\xba\xee\xc6\x64\x73\xc3\xb3\x1b\xa2\x6a\xbe\x58\xb0\x5a\x06\x11\xc6\xc1\x7d\x94\x62\x0a\x95\x66\x07\x23\x67\xdd\xf8\xb4\xe3\xc9\xd8\x80\x0f\x87\x4b\x8f\x6d\xb1\x47\xf1\xfe\x54\x37\xac\x66\x03\x47\x95\xb6\x31\xb7\x73\xe1\x75\x5d\x51\xa3\x31\xc6\x6d\x56\x37\x35\xc4\xba\x4b\x11\x24\x8f\xb2\x29\xab\x30\xb5\x1b\x26\x20\x5b\xb3\xda\x93\x41\x57\x3a\xd0\xc8\x74\x70\x66\xa0\xd6\x98\x23\x2f\x4a\x82\x7b\xc1\x5a\x2c\x5d\xab\x91\x10\x05\x14\x05\xb9\x6e\x3e\x11\x06\x57\x07\x26\x57\x0b\x1b\xd0\xb3\xa9\x45\xc6\x30\xff\x85\x87\x2b\x44\xc4\x8f\x4f\xe4\x4f\xa6\xdb\xa1\xd3\xa2\x8c\x22\x6a\xee\x23\x7c\x79\xca\xee\xe0\x25\x0c\x15\x6b\xc9\x64\xc3\x55\x76\x83\xa7\xaf\x50\xf4\x75\x60\xc5\xd1\xaf\x26\xf1\x53\x9a\x3e\xbf\x78\xfd\xe1\xf9\xf9\xab\xeb\xd3\x0f\x6f\x5e\xfe\xf9\xfc\xd5\x91\x33\x3d\x62\x3f\xa6\x85\xff\xb0\xa2\x4c\x30\x94\xd7\x18\xce\xce\x59\xfd\x21\x61\x63\xed\xee\xe7\xd5\xcb\xef\xcf\xf7\x75\x93\x96\x98\xee\xd1\xc9\x9b\xd3\x7f\xff\xac\x4e\x82\x79\xc2\xf1\x58\x30\x15\x22\x19\x45\xfd\x7f\x0a\x3c\xc9\x24\x5f\x94\xc8\x98\x43\x52\xf5\x1c\xdf\x3b\x48\x4e\xa8\x29\x1e\xc8\x8b\xdd\x55\x26\xb5\x9b\x21\x0f\x1c\xd8\xd7\x64\x62\x38\xe2\xcf\x7c\xc3\x21\x94\xfc\x1f\xfb\xf5\x86\x34\xc8\x3d\xdf\xed\xe6\x74\xfa\x34\xbd\xe3\x61\x82\xef\xf7\x7f\x92\xce\xef\x00\x84\xc8\x88\xbe\xac\xc8\x03\x2f\xe4\x6b\x3f\x42\x13\x73\x8f\xbe\x6b\x8e\x85\x94\x74\x8d\x8e\x2b\xd8\x16\x96\xcc\x39\xe6\xbb\x1b\xeb\xf7\xf7\x86\x4a\x52\x33\x03\xd1\x03\x2f\x1b\xe6\xbe\x47\x08\x53\x49\x86\x05\xbf\x65\x88\x7b\x36\x32\x40\xd3\xba\x25\xcc\xdd\x2f\x15\xcf\x6e\xad\x1f\x30\x02\x89\x15\x42\x6f\x09\x5f\x32\x23\xe8\x90\x0d\xdd\xea\x91\x80\xb9\x13\x9e\x7f\xb9\x04\xe8\x6e\x6c\xdf\x01\x2b\x89\x15\x9a\x03\xcc\x2a\x4a\x45\x15\x9b\xfa\xb7\x6e\x35\x6b\xed\x9c\xb2\x37\x49\x94\x7b\x81\x10\x9e\x1f\x11\x35\xe5\x39\x2b\x15\x9f\x73\x56\x5b\x57\xc6\xad\xfe\x19\xc1\xc2\xfe\xc3\xfe\x76\xe7\x7f\xfb\x33\xfe\xf6\xe9\x18\x93\x2e\x98\xae\xf9\x18\xc9\xe0\x38\xba\xcc\xf4\x8e\x47\xf7\x58\x98\x4b\xfc\xc8\xfb\xfc\x5c\xd1\x35\x6b\xb8\x5a\xa3\x34\x01\x98\x0b\xd2\x3a\xfd\x80\x93\x24\x47\xc7\x48\x4e\xbe\x25\x6c\x6a\x00\xb2\xaf\x4d\x39\xd4\xa1\x1f\x93\xc7\x8f\x79\xe8\xe2\xa3\xcc\x92\xf8\xf5\x19\x36\xab\xbe\xe3\xef\x03\xaf\x1e\x27\x73\xe1\x2a\xbf\x83\x06\xa6\x3c\x7f\x0f\x6f\xae\x99\x26\x31\xbe\xb5\xc1\x15\xd3\x9c\xa8\x49\x2e\x7e\xd4\xfc\x9d\x95\x79\x38\x7d\x70\xa3\x26\x54\x53\x00\xbb\xe3\x52\xa1\xd0\x02\xe3\xb2\xe4\x3a\x00\xc7\x87\x92\xcb\x1b\x96\x83\x0b\xcf\x67\xad\x89\x9b\xa0\x81\xf5\x68\xce\x33\xb1\x2a\x01\x81\xbc\x3f\xde\x3d\x5b\xc8\xec\x1e\x4c\xeb\x47\x5a\xdc\x86\xf0\xf3\x76\x4a\x16\x89\x5f\x94\x2c\x90\xf7\x96\xac\x5e\xb0\xa0\x38\xaf\x7d\x4b\x46\x27\x40\x78\xa9\xcf\x5d\xc9\xf0\x22\xb6\x27\xa7\x60\xfa\xde\xb4\x58\x2d\x73\x5e\x02\x13\x65\xd8\x97\x39\x95\x06\x64\x97\x90\x98\x07\x3d\x3c\xfe\x5b\x93\x15\xf6\xfc\xd8\x82\xf5\xa4\x08\x6c\xba\x05\x04\x23\xfd\xd7\xf6\xf3\x08\xd2\xaf\xda\x4b\x78\xda\x1c\x0a\xa3\xdf\x03\x03\x2a\xe6\x25\x64\xbc\xe9\xb4\xdc\x22\xe6\x4e\xd2\xdf\xf0\x32\x37\xa8\x67\x7e\xf0\x5f\x9f\xc0\xe3\x17\x2c\x67\x5f\x4e\x9d\x90\x04\xb7\xde\xe4\xd8\x6d\xa3\x7d\xb8\xf6\xb0\xc1\x16\xe7\x4e\x3a\xb8\xf7\xb0\xd2\x5e\x0e\x9e\x7c\x51\x2e\x9e\xec\xe5\xe4\x93\x77\x4a\xc0\xb6\x08\x92\x9b\xf4\xff\x0b\x26\xd5\x4a\x8b\xbe\x08\xa9\x87\x02\x25\x26\x39\x2b\x15\xab\xe7\xac\x76\x51\x1d\xfa\xc1\x70\x3b\xad\x47\x92\x62\xbf\x3b\x5e\xf6\x50\x43\x14\xc9\xe2\x9e\x46\xc0\x23\x05\x4a\xad\x24\x91\x2b\x20\x33\xaf\xf4\x05\xbd\xa6\x54\x74\x2b\x03\x4d\xb0\xf5\x00\xd5\x8d\x55\xf0\xa6\x36\x8c\x25\x06\x3b\x54\xd7\xbb\xa7\x0e\xd4\x2a\x8c\x52\xec\x05\x00\x78\x4d\x1c\x86\xb9\xe4\x65\xc6\x9c\x86\xc9\xf2\x4a\xa8\xf5\xd2\x73\x8f\x72\xee\x5a\xa5\xe4\x4e\xd0\xf8\x5d\x78\xa3\xf7\xe4\x10\x7d\x62\xfc\x7f\x54\x06\xf1\x4c\x8f\xb0\xb1\xc8\xa4\x83\x8c\xf4\x6c\x26\x4a\x4c\xb2\x82\x57\x33\x41\xeb\xbc\x31\xb5\x97\xf3\x54\xb6\x12\xb4\x7f\xb3\xdc\x87\x67\x7a\x7f\x40\x40\x3a\xa2\x5b\x17\x80\x30\xd7\x74\xc8\xcb\x20\x82\xcc\xc7\xe6\x25\xa2\xce\x63\xdf\x6d\xfb\x8e\xdc\x98\x21\x3b\x98\x43\x50\xed\xf0\xb9\x79\x7e\x97\x5c\x4a\x44\x7b\xf2\x39\x42\xdc\x18\x15\xbb\x53\x26\x3f\xb9\x9e\x0c\xa9\x44\x05\xf2\x2b\xbe\x72\x98\x07\xff\xc6\xc5\xb0\x33\xf2\x55\xe0\x74\xf9\x95\xf7\xc9\xb5\x7d\xe8\xe6\x7a\x6e\xc2\x0e\x4e\x5a\x7f\xbe\x27\x23\x6d\x29\xf8\x5e\xd8\x4a\x9f\x05\x7c\xd2\x0c\xe5\x9e\xf4\x08\x55\x26\x4f\x63\x5e\x36\xf2\xde\xf8\x5b\xc0\x33\xed\x82\x01\x09\x86\xd9\x81\xdf\xa2\x8c\x92\x5c\x86\x91\xe9\x6d\xb4\x21\xef\x80\xcd\xca\xfc\x19\xcd\x6e\x35\x75\x1b\x6f\x15\xe7\x86\xbc\x67\x35\x93\x63\x40\x39\x09\x22\xe1\xfb\x8d\x81\xb4\x46\xd0\x15\xc9\x15\x39\xd4\x34\xdc\x72\x1a\xd1\xf8\xe8\x0b\x23\x13\xc0\x35\xfb\x3a\xdd\xe9\x9e\xd6\x76\xec\xde\xe5\x95\xdb\xe5\x7c\x05\xa9\x0d\x86\x8d\xf7\x7a\xc7\x5e\x3f\x26\x4f\xc6\xad\xf1\xf6\xf0\x44\x6b\x0f\x70\x7f\x24\x59\xd7\x60\xda\x3e\x57\x3d\x3c\xd9\x3a\xa8\xb9\x85\x9c\xd3\x07\x5f\xa1\xb1\x9d\x41\x94\x98\x27\x65\x18\x6d\x4f\x62\x4e\x60\x22\x75\x0c\xa3\x93\xa2\x77\x8c\x86\x24\xc6\xd2\x1d\xd1\x18\x6d\xf5\x7e\xe2\x86\x6a\x32\x8d\x32\xb1\xbf\xfb\x5e\x2e\x7d\x7e\x1c\x0f\x7a\xbb\x79\xf7\x24\xf7\xf6\xc8\xc6\x7b\x8e\x7b\x5f\x52\x6f\x8e\xaf\xa3\xdd\xb6\x26\xf8\x85\xc8\x80\xd9\x36\x96\x76\xcc\x6c\x6f\xfc\x60\x44\x49\x28\xc1\xc4\xf1\xe4\x96\x6d\x73\xb1\x29\x2d\x2f\x4e\xa5\x61\x07\x5e\xbc\xd0\x65\xcc\x42\x30\x9b\x58\xdd\x5a\x75\x96\x98\x36\x1f\x93\xea\xb3\x3c\xb4\x8e\x62\x4f\xfd\xe2\x09\x44\xf9\x4c\xe4\xdb\xef\xd8\xf6\xb9\xd8\x94\xa9\x07\xd9\xbf\x90\x41\x2e\xd0\xe6\xdb\xab\x8f\xc9\x2d\xd3\x5c\xd5\x15\xa4\xe3\x99\x6a\x1e\x4d\x73\x99\x67\x22\x67\x43\x36\x05\xf9\xc2\xbd\x61\x85\xd8\xb0\xfa\x3b\x28\x7e\xcb\xb6\x53\x25\x5e\xe9\x1f\xce\xa8\x0c\x6c\xd0\x5a\x1e\x55\x75\xa1\x4b\x7d\xfc\x48\xd8\x74\xc9\x14\xfd\x8e\x6d\x47\xe4\xd1\xa3\xa0\xfe\x09\xf9\x6a\xfd\x55\xe0\xaa\x1c\xa5\x8d\x8f\x12\x02\x47\xbc\x1d\x20\x83\xbb\x35\xb2\x1b\xa4\xa2\x74\x48\x68\xe2\x0f\xb2\x2c\xf6\x58\x4a\x58\x9c\x4e\xae\x26\x3d\xb8\x34\xe6\x69\x02\xdb\x34\x80\x36\x85\x50\x6f\x67\xb1\x85\x76\xc1\x60\xab\x4f\xce\x91\xf9\x1a\x76\x86\x18\xd9\x9f\x46\x11\xec\x69\xa2\x84\x0f\xaa\xf0\x18\xf6\x71\x6e\x65\x92\x04\x48\xc5\x55\x95\x00\x9d\x6e\xf2\xed\xc7\x4b\x1b\xd2\xfe\x94\x5c\x29\x51\xa1\x2f\x09\xf0\xf2\x28\x4c\x89\x8a\x2e\x28\xe8\x8f\xa8\xf4\x96\x1b\xc8\x6b\x8a\xf1\x88\xd0\x47\x6e\xad\x99\x6e\xb1\x31\xde\x62\xef\xe6\x60\xf5\x37\x7e\xce\xd7\x76\xa4\xa9\xfd\x62\x53\xa9\x44\xf5\xc6\x0e\x0a\x1d\x67\x13\x98\xfb\x6b\x56\x23\x72\x83\xf7\x28\x58\x8a\xfc\x33\x53\x83\xb9\x74\x09\x06\x45\x21\xca\x39\xac\xa8\xea\x4e\x3a\xac\xc5\xb2\x79\x21\x36\xff\x41\x4e\x50\xad\x4a\xfe\x48\xac\x21\x9f\x1c\x91\x01\x66\x23\x1a\xb4\xa6\x10\x59\x78\x97\xce\xc6\x32\x45\xa1\x82\x16\x8a\xd5\x12\xcc\x58\xcb\x95\x51\xc2\x44\xfa\x17\x7d\xb5\x81\x97\x4b\xd3\x46\xd5\x2b\x33\x7b\x60\xc5\x7d\x2d\xd6\xcc\x98\x78\xe2\x34\x95\x7e\x4c\xf1\xdc\x13\x76\x21\x72\x12\xcc\x00\x66\xaa\x5f\xb7\x8b\xb7\x97\x67\xe7\xe4\xc5\xcb\x57\xe7\x47\x68\x00\x3f\xf8\x8b\x3c\x80\x7f\x7c\xb0\x28\xff\xd3\xbf\x48\x5d\x54\x4b\x1c\x18\xd1\x3c\xcc\x46\xe4\xe9\xe1\x93\xa7\xa0\x2e\x00\xf3\x20\x5f\x2d\xc9\xc5\x15\x39\x5d\xa9\x1b\x51\xcb\x29\x39\x2d\x0a\x8c\x7e\x96\x44\x0b\x1c\xf5\x9a\xe5\x53\xdd\xc6\x5b\xc9\x1c\xd2\x97\x44\x1c\x90\xcc\xc4\x4c\x2f\xf4\x1e\x95\xfa\x9e\xde\x12\x4a\x9e\x5d\x3d\x9f\xc0\xd6\x91\x82\x67\xac\x94\x26\x9a\x11\xa1\xeb\x75\x4b\x73\xd0\xb7\x1b\x5a\x7f\xf5\xf2\xec\xfc\xfb\xab\x73\x2d\x2a\xb2\xe9\x83\x07\x03\xbd\xda\x52\xd5\x3c\x53\x83\xe3\x07\x0f\x0a\x3e\x9b\xd6\x2a\x67\xd5\x70\xa0\xff\x09\x49\xb5\xe5\x60\x4c\xe0\xaf\x37\x4e\xf1\xff\x9a\x96\x74\xc1\x6a\xfb\xa1\x66\x38\x40\xfb\xf7\x26\x1b\x84\x6c\x1c\xfc\x36\xd7\x1f\x71\x13\xbf\x63\x5b\x10\x7f\xfd\x2f\x17\x95\xde\x21\xe9\x7f\x48\x74\x15\x36\xe8\x88\x81\xb1\xd2\x57\x0a\xee\x5b\xff\x1b\x64\xdd\x68\xd7\xd5\x27\xd6\xe5\xe2\x0f\x3a\xfe\xe1\x1a\xb2\x63\x59\x75\x85\x28\xa5\xaa\x57\x90\xac\xc6\xc6\x31\x5d\x9b\xad\x26\x59\x41\xa5\x93\xdd\x4f\xfd\xef\xd5\x4a\x53\xb3\x12\x0b\x06\x96\x91\x94\xbb\xc4\x98\x84\x33\x00\x79\xd9\x76\xff\xe4\xf0\x10\x52\x5e\xea\xc6\xd1\xc0\x82\xb9\x5c\x8d\x61\x40\x2c\x2b\x54\x59\xdb\xde\x2c\x79\xd3\x82\xab\x6d\xa0\x9b\xaa\x11\x04\x9a\x06\xc9\x1b\xe0\xa9\x9b\x14\x6c\xcd\x0a\x3f\x5a\xbc\xf2\x64\x48\x33\x06\xf7\x1b\xd3\xba\xa0\xed\x07\xb5\xa7\x25\x47\x69\xde\xda\x28\xa4\xa8\xc7\x46\xe4\x37\xa7\xbf\x66\x0b\x87\xf3\x8c\x86\x21\x3b\x50\x70\x0f\x71\x0b\x3e\x25\xe4\x4f\x62\xc3\xd6\xac\x1e\x1b\x7c\x1c\xbe\xa4\xf5\x36\xc0\x1e\x07\x05\x5e\x55\x33\x35\x1c\x59\x95\x22\xe4\x03\x94\xe4\x87\x6b\xdd\x16\x93\x19\xad\x34\xb7\xfb\x7f\x57\x68\x8a\x02\xa5\x43\xb9\x16\xb7\xc6\x2f\x8b\x56\xfa\x1d\xa8\x01\xe9\xa9\x39\xdb\xc8\x8b\x11\x96\x9a\x6c\xa8\x24\x37\x8c\xae\x39\x24\x30\x9b\x17\xd0\x2a\x9c\xb0\x33\x51\x6f\xc9\x6b\x9a\x65\xb4\xae\x45\xc9\x06\x92\xbc\xa8\xe9\x92\xcd\x56\xf3\x39\xab\x63\x2a\xb8\xbe\x78\x7e\x31\xac\x17\xbc\xcc\xe9\xe8\x88\x80\x6d\x17\x9d\x0d\x1a\xd8\x22\x56\x5f\x03\x61\xf2\x75\x90\x55\x48\x9a\xa9\xd2\xda\x64\xd5\x91\x55\x41\xb7\xba\xf0\x86\x67\x00\xa1\xb4\xd1\xa4\x40\xa5\xbe\x9a\xcb\x9c\xd6\x90\x96\x82\x97\x41\x0b\x56\x8d\x83\x8f\x9d\xe9\x01\x88\xf9\xff\x7c\x47\x86\x7a\x95\x4c\x30\xdd\xd6\xec\x50\x90\xd2\x88\x29\x39\xda\x95\x13\xb1\xaa\x85\xbe\x37\x5e\xe6\x04\x4f\xac\xa6\x76\x77\x52\x89\xf9\x4a\x4a\x0a\xe6\x3c\x84\x02\xb4\x59\x11\x0d\x15\xe7\x63\xeb\xed\x03\xc3\x1b\x98\x3f\xa2\x1c\x41\x6e\xb7\x1a\xb9\x0d\x5d\xef\x21\x1f\x64\x7f\x8b\xb0\x93\x0f\x0e\xc8\xf5\x46\xd8\x07\x86\x97\x7a\xb1\xb2\x40\x6f\x69\xc8\x0d\x8f\xdf\x87\x38\xfb\x17\xfc\x16\xa8\x7a\xe0\xe5\x2a\xa9\x62\xbb\x4b\x7b\x93\xfa\x57\xc6\x7a\xf7\x95\x4f\x43\x1e\xbd\xb3\x3e\x30\x2f\x1c\x44\xd8\x42\x21\x34\x1b\x50\x0a\x6b\x8a\x08\x1f\x4b\xfe\x8b\x5e\x5b\xac\xf4\x0c\x48\x50\x5a\xfd\xe5\x9a\x41\x5e\xc5\x5f\x18\x12\x91\xb5\x95\xe6\x3c\x03\x0d\x1c\xba\x82\x55\xfa\x91\x31\x79\x3b\xa7\x84\x3c\x47\xe7\x48\x4c\xec\x87\xda\x5d\x03\x72\xbc\x11\xa0\x5a\xcc\xb9\xa4\x8b\x9a\x81\x71\xf5\xe0\x80\x9c\x16\x52\x60\x01\x5e\xd2\x4c\xf1\xb5\x1d\x99\x66\x71\x75\x23\x18\xa3\x8f\xef\x3d\xcb\x0d\x7e\x12\x87\x88\x66\x48\xc8\x02\x47\x13\x2a\x62\x83\xc9\x35\xba\x4a\xe6\x64\x3b\x44\x5e\x31\x70\x5e\xb0\xfe\xc6\x35\xd8\x06\x31\x74\x73\x25\xcd\x21\x33\x87\x87\xa8\x46\x6a\x90\x69\xfc\xf6\xeb\xfb\xb8\xb5\xa9\xe6\x77\x10\xda\x9a\x79\x27\xa0\xc2\x54\xae\x66\x32\xab\xf9\x8c\x0d\x7d\x6e\x27\xa3\x6f\x34\xba\xf7\xe9\x8c\x1b\xe7\xec\xd1\xde\x26\x9c\xa3\x64\xe4\x95\x76\xaf\x26\x2c\xe7\x6e\x5a\x40\x8e\x76\x6f\x03\x4e\x83\x1d\xe8\x4a\xc3\x5a\xe1\x72\xe7\x7c\x6d\x9e\x09\x9b\xd2\x03\x59\x6a\xcb\xfb\x84\x59\xdb\x9a\xa7\xb1\x95\x12\x3f\x68\x83\x05\xce\xa1\x9a\x24\xf1\x4a\xf0\xf1\xb7\x8b\x42\xcc\xf4\x03\xa2\x1b\x72\x8d\xc0\x0b\x17\x40\x9a\xfa\x17\x51\x4b\x02\xee\x51\x44\x7c\x7f\x3e\x37\xbe\x0b\xe5\x40\x41\xe6\x69\x7b\x36\x24\x3a\xbd\x80\x41\x95\xfa\xc6\xb7\x4c\xa1\x75\xa6\x66\x13\xc9\xc0\xeb\x31\x67\x99\xa8\x21\xa9\xaf\x9f\xa7\x0d\x8b\x23\x27\xc6\x4a\xe8\x7e\x0a\xe7\xed\x33\x2d\xa0\x3f\x83\xf1\x3b\x0b\xd5\xf8\x90\x46\x2e\xca\x42\x4e\xf3\xbc\x66\x12\xac\x5c\x0d\x7a\x9d\xd1\xec\xd6\x62\xa2\xbd\x7b\x6f\x3b\xba\x42\xcf\x0d\x3a\x23\x5a\xd8\xf0\x34\xae\xe8\x0c\x24\xa4\xb8\x34\xa0\xa0\xa9\x9a\x66\xb7\xfa\x7a\xd9\xdc\x20\xa7\x62\xee\x62\xdf\x0a\x0e\x18\x32\x75\xb3\x9a\x4a\x96\x1f\x3b\x3f\xe1\xeb\x67\x67\x26\x43\x52\xc1\x28\x5c\x41\x85\xaf\x17\xdc\xf1\xb4\x66\x7a\xcd\x6b\x26\x95\xa8\x31\x52\xc0\xda\xc9\xe0\x66\x00\x8f\x63\xe6\xf3\x5e\x99\x8a\xd7\x66\xd8\x9a\x30\xeb\x15\x0b\x97\xf3\x87\x6b\x74\xd3\x0b\xee\xc6\x06\xe4\x20\x1c\x72\xa2\x19\x68\x17\x29\x0f\xc6\x0a\xcd\x38\xc0\x90\x81\x73\x71\x4e\xaa\x20\x26\x96\x79\x60\x07\xce\xc4\x72\x49\xcb\xdc\xaf\xe2\xda\x08\x18\xd7\xa2\x0a\x53\x6e\x47\xdf\x50\x67\x9e\x22\xfc\xe7\x2f\x7f\x70\x9a\x16\xcb\x45\xda\x0b\x09\xc7\x32\x0d\x82\xef\xa5\xa8\x6d\xe8\x78\xb3\x21\x17\x88\x8e\x13\x90\x37\x9a\x03\xb2\x6b\xd0\x3c\x85\x58\xe8\x4a\x97\xf9\xe0\x92\xe5\xd9\xa7\x35\xfc\x3a\x7d\xf6\xea\xe2\xec\xbb\x64\x3f\x9a\xfd\xb7\x1d\x24\x47\x7a\xa6\x4b\x34\x87\x7a\x86\xc3\x9b\x15\xbc\xbc\x25\xa2\x3c\xd0\x84\x0e\xd0\x88\xfa\x1c\x2d\xe5\x18\x2c\x7f\x9b\x9a\x2b\xc5\x4a\xcd\x60\x69\x16\x42\x8b\x7f\x19\xbc\x0e\x5b\xcd\x29\x15\x82\xe6\x90\x42\x39\xec\xec\x99\x6e\xf0\x4c\x37\x04\xd4\xfc\xe4\xf0\x70\x4c\x9e\x1c\x1e\x3a\xaa\x7e\x53\xb3\xc9\x0c\x64\x1d\x51\x9e\xf9\x1a\x1f\xac\x45\xcb\xa6\x60\x43\xc4\x1d\xeb\x5b\x9c\x0b\xa3\x3d\x10\x35\x61\xd4\x3e\x9b\x66\x89\xcd\xe8\xb5\x58\xc6\x33\x63\x38\x86\x11\x2d\xb7\x17\x71\x1f\xfe\x06\x0d\x7e\x4d\x5f\xa4\x92\x99\x29\x63\x96\x16\x48\xa7\x92\x1a\x59\xcd\xa8\xf1\xc7\x43\x86\x40\x1f\x21\xba\x60\x60\x26\x33\x0e\x5a\x34\xbb\x21\x62\xa5\xaa\x15\xda\xf3\x6e\xd9\x56\xaa\x5a\xdc\xb2\x10\x28\x84\x97\x5c\x71\x5a\xf0\x5f\x90\x9d\x35\x70\x94\x96\x69\x5b\xa2\x7c\xe5\x26\xa6\xaf\x97\x05\x78\x68\x35\xf6\xd6\x7c\x9f\x8b\x9a\xed\xfa\x8e\xa7\xe8\xa2\xbc\x80\x51\x75\x7e\xfe\xce\x8e\xb4\xa3\x04\x48\xe4\xa7\x75\x2d\x36\xba\x64\xeb\x30\xd4\x2b\x86\x16\x49\xeb\x02\xeb\x8c\xc9\xa8\x3f\x40\x85\x51\xcd\x34\x6b\x60\xd8\x01\x5a\x14\x62\x63\x57\xd2\xe9\x5b\x83\x7b\x87\x51\xf5\x5a\x57\xbe\x84\x5a\x88\x86\x42\x0b\xe9\x2f\x1f\xfb\xc0\xcc\x58\x51\x68\x91\xbc\xf4\x04\xaa\x7f\x3a\x5d\xe5\x5c\xec\x4f\xec\x4b\x75\xb1\x81\x7f\x8d\x7d\xd5\x28\xaf\xaf\xfe\x79\x82\x65\x53\x45\x25\xf3\xe2\xeb\x70\x50\xd5\x4c\x9f\x18\x2d\xc6\xd2\x95\x12\x03\x47\x6d\xa7\xfa\x5a\x8e\xc6\xad\x6f\xce\xb9\xe6\x08\x21\x73\x9a\x7f\x96\xe0\x96\x5f\xb0\x92\xe9\x47\x2e\x27\x43\xcd\xc4\x59\x88\x51\x5e\x6c\x0d\xb3\x76\x23\x36\xe5\x28\x9a\xf5\xf7\x41\x7b\xaf\xb8\x54\xf1\x43\xf3\xa3\x79\x5a\x36\x0c\x7b\xa9\xf4\x58\xa4\xd4\x77\x77\xc0\xa1\x45\x63\x0a\xb6\x44\xde\x2a\x51\x85\x1d\x3c\x63\x26\x22\x29\xdc\x97\xb3\xf8\x3a\xc7\xc7\xd4\x49\x9a\xc6\xa7\x11\x4c\xcb\xcf\xcf\xcf\xae\xce\xfc\x73\xaa\x3f\x18\xcd\x43\x90\xe2\xa6\x71\x07\x82\x0a\x6e\xc6\x95\x74\x57\x77\xeb\xa6\x15\xbe\x0d\xcf\x44\x9a\x86\x03\xd1\xc0\xa4\x8d\x02\x9b\xbd\xcb\x58\x08\xf9\x99\xf5\x13\x3a\x6d\x25\xa7\x6a\x0d\xe9\x87\xeb\xa6\xd4\xeb\xa5\xe4\xe0\x04\xaf\x55\x34\x90\x1f\xae\xdb\x9c\xdc\xad\xd1\xc0\xd8\x9b\xd1\xd5\x75\x1f\xc2\x16\xac\xbe\x26\x6e\xe7\xdf\x81\x56\x0a\xf2\xf2\xc2\x38\xdb\xd0\x2c\xd2\x3c\x99\x40\x60\xe0\xe1\x78\x9d\x63\xfa\x4c\x26\x61\x27\xc4\x4a\x11\x76\xa7\x77\xcc\xe6\xca\x44\x74\x6d\x30\x60\x39\x7a\x75\x69\xf1\x4d\xf8\xad\x88\x46\xe5\x9e\xb2\x97\x17\x8d\x09\x9a\xcb\x01\x6e\x82\x49\x56\xf0\xec\x76\x92\xd7\x74\x11\x7b\xcb\xa7\xb7\x92\x95\x9a\xe3\x82\x6b\xe0\x79\x4d\x17\x26\x78\x2f\x60\x42\xf0\x39\x12\xd5\xf6\xa2\x34\xd0\x24\x8d\xeb\x0b\x7a\xbd\xd4\xfb\x7b\xa6\x7b\x06\x36\x3c\x59\x06\xbe\x3c\x5b\x29\x05\x38\x0b\xe1\xed\x66\x0f\x8d\x01\x21\x05\xd8\x29\x1b\xc8\x00\x6c\x26\xfa\xc5\xcc\xd8\x0d\x5d\xf3\xe0\x49\xd6\x83\xc6\x72\x3f\x42\x31\xeb\x9b\xe2\x0e\x0b\x0e\x5e\x53\x9b\xb3\xd4\x9d\x6a\x7e\xce\x8a\x00\xd1\x24\x6b\x06\x6f\x86\x96\xbc\x3e\x0c\x7f\x77\x38\x26\x4f\xff\x57\xe8\xff\x60\x5d\x6d\x2c\xa7\x16\xe5\x97\x62\xea\x0d\xca\xe5\xb1\xdc\x0e\xd9\xbd\xad\xc4\x9f\x32\xf4\x86\xe6\x09\xe7\x07\x6d\xf6\xe8\x92\xd1\x7c\x3b\x1c\x1d\x93\x4f\xb1\x50\x13\x22\x2d\x19\x94\xa0\x88\x41\x92\x29\xd5\x42\xc8\xff\xe8\x73\xf6\x80\x10\xe0\x82\x8e\xc8\x00\xfe\x0b\xa3\x7b\x76\x7e\xfa\x5a\xff\x70\x7e\xfa\x1a\xfe\x7e\xfb\xfd\xf3\xf3\x4b\x88\x02\x20\x03\xf7\xef\x41\xca\xbd\xa9\xf9\x28\x05\xa6\x07\xbc\xeb\xf4\x8d\x64\xa3\xb5\x42\xc1\xc5\xa1\x58\xeb\xcb\x66\x25\x59\xe8\x6c\xe6\xcb\xd9\x07\x9d\x3a\xc7\x85\x20\xa1\x1f\x2a\xdf\x70\x04\x28\xee\x90\xc0\xa6\xf7\xc0\x04\x0a\xb4\xb2\xfc\x25\x57\x29\xf2\x57\x0f\xf7\xa1\x11\x96\x1c\x7a\x3c\x3d\x0f\xa4\x08\xf4\xbc\x9b\x93\xdf\x79\xef\xcb\x3b\xe8\x61\x77\x67\x8a\xce\x7e\x34\xc9\x39\x7f\xd7\x86\x02\x4a\xa8\x9c\xda\x80\x52\xfa\x39\x8c\x57\xb7\x0a\xdc\xd6\x63\x4c\xaa\x50\x6f\x65\x53\xcd\x51\x29\x45\x06\xba\x43\x2d\x62\xc3\x75\xab\xc2\x8e\xad\x2b\xae\x87\x11\x64\x9b\x1d\x03\x6b\x2a\xd3\xfc\x91\x00\x38\x5f\xea\x5d\xa9\x12\x6d\x10\xf2\x42\xd4\x1b\x7d\x2b\xcb\x82\xca\x1b\xab\x51\x0b\x95\x86\x06\xb6\x0a\x31\x69\x72\xef\xf1\x0f\xaa\xb8\x70\x00\x76\xd7\x50\x9f\xa7\xb7\x5e\x33\x7c\x5e\x9d\xe7\x7e\x01\x38\xdb\xb5\xb8\x65\x9e\x50\xcd\x78\x6c\xff\xaa\xa6\xa5\xc5\x58\x91\x4e\x33\xbd\x67\x6b\xfd\xd5\x10\x92\x90\x5b\x8e\x71\x34\xac\x2e\x3d\x9f\xfb\x63\x5a\x23\xae\xe3\xf0\xe0\xa7\x83\x83\xc5\x98\x0c\x06\x41\xe8\x9c\xd7\x22\x2a\x0b\x00\x1e\xe2\x6c\xcd\x65\x88\x4b\x85\x3f\x4c\x73\x06\xba\x29\x90\xf3\xa3\x24\x6f\xf3\xc6\xf3\xde\x32\x50\x0c\x1b\xc3\x0c\xa2\x61\xb1\x69\x9a\xe7\x17\x33\xb0\xef\xd4\x72\xa8\xaf\xfb\xb1\x31\xc1\x0e\x68\xa1\x26\x8b\x7a\xa2\x39\x8d\xc1\x91\x5f\x94\x75\x8c\xf4\xbd\x06\xb8\xc7\x55\x51\x84\x6e\xb9\x00\x89\x48\xd7\x7c\x41\x95\xa8\xa7\x05\x2d\x17\x2b\xba\x60\xb1\x15\x5c\xd7\x1b\xb0\x72\xb2\x92\x83\xb0\x2a\x21\x6b\xcd\x6d\x96\xa2\x64\x03\xef\x61\xdd\x70\xea\x70\xc5\xc0\x42\x35\xa1\x85\x0a\xcb\x3e\x88\xea\xc0\xe2\x6e\x2b\x26\xe6\x04\xc6\x3a\x40\x62\x8f\x3a\xd5\x6d\xad\xdb\x46\xfa\x64\xcf\xed\xe1\x7d\x0a\x5d\x97\x1f\x1e\xfc\xd7\x50\x7f\xfd\x08\x9e\x0f\xb4\x50\x1f\x0b\x36\x87\x21\x7e\x74\x83\x1d\xfd\xcb\xc1\x54\x31\xa9\x86\xeb\xd1\x28\xd9\xae\xf5\xc9\xb3\x84\x6a\xf9\x9f\x29\x2d\xd4\xbf\xd7\xaf\x11\x0a\x6d\x6d\x4d\xd5\x0f\xfc\x7e\x69\xf2\x94\x15\xcd\xd8\x84\xcb\xc9\x92\x29\xea\x7f\xe9\xd8\xc3\x64\x1f\xcf\x6c\xa5\x97\xf2\x35\x53\xd4\xfd\xd9\xd1\xab\xe9\xeb\x3e\x3d\x60\xc3\x1d\xed\x49\x56\xe6\x72\xb2\xb9\xa1\x6a\x07\xe1\xe9\x85\x46\xbe\xf3\xe3\xef\x26\x33\xae\x3e\x1a\x97\xe0\xc9\x2d\xdb\x76\x2f\x30\xd6\xd8\xb3\xc4\x57\xba\xff\x1f\x35\xcf\x98\x18\xdf\x2a\xd7\x6f\xf9\x04\x04\x21\x90\xb6\x3a\xc6\xa8\x0f\x3b\xad\xb7\x40\x59\xf0\xc6\x0c\x0f\xfe\xab\xe0\xb3\x89\xb5\x4a\x1e\x0d\x7f\xba\x7a\x3c\x3a\x88\x9c\xe5\x69\xbd\x8d\x42\x18\xec\xe0\x3a\x25\x2c\x59\x67\x49\x8e\xa5\xe3\x7f\xa1\x55\x74\xba\x60\xea\x39\x55\xf4\x6d\x5d\xe8\x7e\xdf\x3d\x79\x3f\xea\x26\xfa\x9e\x23\x21\xeb\x51\xec\x27\xef\x96\xcd\x48\x4d\x93\x50\xa6\x82\x35\xdc\x79\xb5\x3c\x7a\x44\x42\x39\x2b\xb9\x36\xdd\xf2\x58\xb4\x2e\xe1\xf7\x69\x20\xef\x9d\xe8\x2b\x61\x51\xd3\x52\xb1\x3c\xb8\x44\xd0\x25\x68\x5f\x1f\xf1\xc5\x75\x70\xa0\x7b\x61\x47\x3e\x55\x3f\x78\x82\x47\x3d\x1b\x7c\xc8\x37\x7e\x00\xa0\x31\x36\x89\xfb\xe3\xc6\x4c\xd8\xae\xae\x02\x81\xf4\x08\x3d\xe9\x13\x56\xd5\x4c\x6a\x8e\x46\xcc\x09\xc5\xd8\x7a\x4c\xdc\x4f\x86\xe0\xe8\x4f\x25\xa1\x65\xdc\xa0\x28\x41\xec\xb0\xe2\xd5\x08\x79\x32\xfd\x10\x90\x82\x4b\xa5\x25\x27\xd4\xfe\xd4\xab\x44\x36\xe6\xa0\xa5\xb8\xd9\x53\x88\x8e\x13\x73\xb2\x11\xf5\x2d\xa8\x2d\x6d\x4a\x0d\xcd\xf6\x58\xf0\xe2\x40\xb0\xa6\x24\xe7\xb4\x10\x0b\x87\x10\x1b\xb6\xe6\x1e\x48\xe0\x61\x28\xf9\x0a\x45\x25\x25\x26\x66\xed\x26\x7e\xf7\xbe\x22\x33\x90\x54\xc2\xd1\x59\x50\xe3\x0d\xad\xcb\x61\x37\xdd\x81\x21\x52\x8b\x64\x0e\xef\x1a\x0c\x44\xa0\x0e\x18\x74\x67\xb7\x1e\xf4\x51\x15\x0c\x46\x9d\xaf\xd1\xbd\x08\xd8\xca\x48\xc9\x13\xe5\x35\x62\x13\x50\x88\xee\xbb\x7d\x25\x83\x6b\x3d\x50\x92\x0d\xd7\xa3\xe3\xce\x36\xf9\x92\x2e\xf6\xbe\x19\x91\xcd\x27\x6c\xff\xa5\xae\xbd\xb3\x7d\xb0\x4d\x7d\x6e\xf3\x60\x77\xdb\xd5\xba\xd5\xba\x7c\x76\x0f\x6f\x4c\x03\xe9\x5e\xf0\x89\xc5\x67\xea\xfe\x0f\xac\xab\x01\xef\xcc\xae\xc7\xd5\xf1\xd2\x93\x25\xad\x26\x56\x6e\x93\xbb\x5e\x45\xcf\x90\x69\xb1\x76\xed\xac\xcc\x62\x4e\x2e\x40\x71\x31\x4a\xc1\xab\xe3\x61\x79\x13\x09\x12\x41\xcf\x90\xb6\xda\x69\xe7\xac\x2d\xb5\xec\x3e\x28\x03\x54\x92\x1c\xe9\x12\xc1\xa3\x10\x46\x06\x90\x08\x92\xdd\x2e\xd2\x5a\xf9\x38\xf2\xd7\xb4\x32\xd1\x0e\x9e\x1d\xeb\x2e\x28\x99\xba\xb0\x0b\xd4\xde\x35\x14\xac\x27\xa0\xfc\xef\x71\x52\x02\x6d\xf9\xf0\xe1\xc3\x9d\xad\x4d\xc0\x86\xd0\xd1\xa6\x7d\xc8\x82\x5d\x38\xad\x6b\xba\x25\x8f\x1e\x45\x0b\x67\x19\xd4\x77\x87\xef\x81\x47\x45\xef\x98\x41\x67\xb1\x27\x51\xb1\xf8\x19\x52\xb1\x32\x21\x36\x4f\xac\x5b\x3c\x75\x8b\x3f\xbe\x7f\xa3\xef\xd6\x63\xb2\x7e\xbf\x93\x5b\x3f\x38\x20\x2f\xa8\x54\xc6\xfa\xe2\xad\xff\xb4\x24\xac\xae\x45\x3d\xed\xdd\x57\x60\x5f\x71\xfd\x25\x77\xa7\xef\xad\x78\xe6\x4d\x46\x09\xba\xd1\x3f\x4f\x2a\x5a\x30\xa5\xd8\x17\x3a\x81\xad\x9f\x81\x24\x7a\x9e\xcb\xf4\x78\x82\x33\x49\x81\xbe\x44\xfd\xe5\x0e\xa7\x77\xb9\xc3\xff\xbc\xc1\xde\xc9\x49\xf8\x45\x2a\x91\xdd\x9e\x05\x9f\xa7\x99\x28\x33\x6a\x91\x0a\xdd\x51\x08\x67\xe9\xd2\xea\xdc\xb2\xad\xe6\x05\xd6\x0d\x41\x90\xd6\x84\x6b\xb9\x9a\xd6\x92\xbd\x2c\xd5\x50\x73\xf6\xc7\x41\x01\xdd\x20\x97\xdf\xd3\xef\x87\x7c\xa4\x17\x95\x93\x6f\xc9\x21\xfe\xe3\x0f\xe4\xe9\x37\xdf\xc4\xcd\xc5\xf9\x0e\x06\x2f\xcb\x35\x2d\x78\x4e\xd0\x2d\x98\x97\xc4\x2c\x2a\x2e\x8b\x1e\xd1\x63\x32\x30\x6b\xf4\xee\x96\x6d\xdf\x47\x5d\x37\x53\x16\x34\x96\xcc\x4d\xf7\x1d\x7f\xdf\x1c\x05\x24\x01\x5a\xcc\xe2\xe5\x2b\x45\xbd\x04\xc5\xe6\xd9\xd5\x15\xd6\x8a\x7b\xd3\x8d\xd5\x8b\xd9\xa8\xb1\xa3\x1d\x5b\xf3\x8e\x03\x12\xfa\x62\x16\x0f\xae\xf9\xaf\xf6\xf5\x1b\x3b\xff\x40\x98\x82\x77\x47\xc4\xbb\x38\xdc\xe3\xc4\xbd\xdc\xf4\x4b\xea\xdd\x46\x70\xe4\xaa\xed\x44\x94\x13\xb4\x86\xed\x3b\xc0\x0d\xa5\xf7\xc3\x87\xcd\x37\x74\x25\xd9\xc4\x28\x77\x27\xa8\xa7\x9e\xe8\x3a\xfb\xda\xed\xd0\x5a\xb7\xdb\x07\xc5\xf5\xc4\x99\xee\x26\xe0\x8a\xd0\xab\x8b\x6e\x95\x77\xa2\x17\x55\x17\x93\xaa\x58\xc9\xc9\x92\x97\x2b\x39\xf9\x85\xd5\x62\xf2\x8b\x10\xcb\xde\x5c\x87\x6e\xe1\x4d\xb1\x92\xaf\x75\xfd\xff\x64\xb5\xf8\x4f\x01\xb0\xa3\xc9\x9e\xb2\x5e\x13\x88\xda\x3e\x33\x63\x4f\xb6\xb7\x9e\xa0\x1f\xd0\x7d\x1a\xfc\xc1\x1a\x29\xd6\x2d\x22\x6b\xb0\x6d\x67\xae\x74\xfb\x02\x67\x54\xaa\x09\x95\x9c\x96\x13\xba\x9c\xf1\xc5\x4a\xac\xe4\x84\xca\x89\xda\x08\xfd\x42\xac\x96\x5d\x3c\x22\x7a\x0c\x4f\x6b\xb6\xa0\x75\x7e\xf6\x97\xdb\x53\x5b\x3b\x31\x47\xb4\xcf\x4c\x40\x0f\x31\xd1\x17\x43\x2d\xba\x04\xdb\x90\x81\xc1\x6a\xbf\x7b\xc6\x21\x16\xa8\x16\x45\x72\xeb\x4d\xe3\x33\x51\x74\xa9\x1a\xfc\xba\x6c\xcb\xec\x99\x28\xf2\x2b\x3a\x67\x57\x8a\x26\x0e\x57\xd0\x98\x5e\x85\x19\xe8\xa4\xf6\x35\xbb\xfb\x56\xc0\x26\x75\xb7\xa7\xf2\x19\xba\x97\x07\xd3\xb8\xc7\xd5\xb0\xbb\xa1\xd6\x14\x7a\xb1\x72\x7a\x41\x74\xc1\x9d\xab\xe1\x22\x9f\x27\x9b\x9a\xef\xa7\x52\xb7\x73\x67\xb6\xde\x8f\xba\xda\xae\xc1\xe6\x2c\x7b\xf2\xb4\x77\xbb\xcf\x75\xe9\x64\x73\x73\x51\xaa\xc9\x9c\x2e\x79\xb1\xf7\x70\xea\xa9\xbf\x10\xa5\x7a\x01\xa5\x5b\x53\x87\x96\x7a\x09\x61\x4c\xe9\x66\xd2\x22\x17\xb6\xb2\x14\x08\x4f\xf6\xab\x87\x64\x7d\x38\x7a\xf3\x6e\x2f\x62\xb7\x8f\xf6\x00\x6f\xc4\x92\x4d\x6e\xd9\x56\x4e\x8c\x2f\x63\xdf\x1b\x48\x57\xfc\x8e\x6d\xa5\xb3\xb5\x36\xb7\x42\x97\xd4\x7c\x6c\xb9\xe8\xe2\x06\x13\x92\x9f\xa9\x80\x57\x7f\x83\x35\x7a\xb8\x1e\xb5\x38\xb1\x06\x5f\xd9\x4f\x98\x03\x86\x7a\x38\x38\xd7\xff\xd1\x8c\x4d\x30\xd2\xc0\x8e\x73\x44\xce\x01\x40\x8b\xe5\xc6\xa2\x3d\xe8\x21\xa6\xd5\xdb\x94\x06\xa3\x3d\x3f\x9a\xe7\xcf\xcc\xbf\x87\x81\x4e\x90\x64\x14\xb1\x87\xee\x7e\xcd\xb8\x35\x4b\x16\x64\xa2\x6a\x70\xff\x4b\x7a\x37\x41\x15\xff\xc4\xfa\x23\xf4\x38\x78\x4b\x7a\x87\x61\x7d\x57\xd6\x87\xa1\xbd\xe3\x90\xa0\x19\x89\x89\xd6\x6c\x32\xd7\xff\xea\xbd\xf5\x50\x59\x13\xd4\x69\xcd\x5e\xe8\xff\x26\x3b\x50\xd4\x68\x15\x8c\x9e\xba\x7f\xeb\x8a\x82\x36\xe1\x1c\x3d\x31\x12\x6d\x83\xdb\x01\x9a\x20\x50\xa3\xd6\xeb\x45\xee\xf0\x1b\x48\xb7\x0e\x2d\x4e\x50\x25\xd7\xe7\x2e\x78\xdd\x70\x38\x68\xdd\x08\x15\x5d\x7c\xde\xe9\xd5\x15\x77\x9e\xde\x8a\x4a\x39\xa1\x85\x9a\x18\x69\xf7\x9e\x06\x2e\xcd\xc3\x0b\x79\xe7\x3d\x6c\xbd\xb5\x6b\x25\x59\x7d\xba\x60\xa5\xb2\x5a\xff\xd7\x34\x23\x17\x57\xe4\xcf\x07\xfe\xb8\x83\x3c\xfc\x8a\x29\x72\x5a\xa8\xc9\x93\xe9\xf4\xf7\x06\xbc\x51\x44\x60\xbe\x43\x25\x88\x61\x26\xd0\x89\x15\x90\xbb\x20\xf9\x87\x28\xc3\x96\x4a\x51\x4e\x74\x0f\x44\x6e\xa5\x62\xe0\xca\x08\x59\x86\xc0\x26\x68\x45\x43\x51\xb1\x12\x63\x0b\xb5\x90\x58\x55\x76\xe4\x7e\x4e\xe4\x84\x0c\x1f\xea\x59\x3d\x7a\x64\xcc\x89\x58\xe4\x7a\x5b\x41\x72\xb3\x41\x25\xaa\x55\x35\x18\x75\x6b\x6f\xf4\x2c\x4e\x0b\xf5\x3d\xc6\xf6\x74\xac\x3a\x30\x84\x7f\xdf\x65\xd7\x0c\xe3\x7f\xb7\x75\xd7\x73\xda\xbd\xf0\x70\xbd\xfc\x7d\x17\xfe\xb5\x1e\xc2\xaf\x5f\xf8\x2f\xb4\xe8\xbf\x7a\xcd\xf5\x74\x7a\xac\xf9\xfa\x1e\xf7\x16\x36\xfa\x43\xa2\xbd\x9a\x65\x8c\xaf\xd9\x84\x95\x99\xc8\xbb\xb9\x2d\xc3\x2c\x1c\xfc\xd7\x70\xa5\xe6\x93\xdf\x7d\xac\xe9\x66\xf4\x2f\x07\x23\x67\x0f\x0d\xb5\x11\xb1\x9a\x29\xd6\x88\xcc\x45\x4d\xbe\x6a\xf6\xf9\x55\x5b\x69\x84\x76\x55\xe8\xcb\xdb\xcf\xbc\x22\x24\xa9\xb0\x3d\x37\xcd\x25\x66\x69\x60\xa6\x45\x39\x71\x5e\xc3\xfd\x94\xf8\x0d\xe7\xdd\xee\x76\xd1\x31\xb9\x6f\xa3\xde\x61\x38\xdd\xe2\x8c\xd6\x13\xe3\x35\xdf\x83\x5f\x6d\xc6\x3f\xb7\x19\xd6\x10\x66\x7b\xb2\xa4\x5b\xe0\x07\x26\xb4\xae\xc5\x66\xd2\x87\xe1\xe8\xf2\x53\xee\x58\x0f\xd3\x8f\x58\xb3\x89\x0f\x2d\xee\x3d\x91\x76\x64\x73\x62\x42\x7a\xfc\x7f\x4b\x9a\x8d\x3a\xfc\x15\x04\xeb\x95\x11\x7d\xc8\xf6\x86\xcf\xd5\x04\x23\x77\xee\xa9\xeb\x80\xaa\x98\x51\xb7\x8b\xbd\xb2\x95\xf6\xad\x63\x78\xd8\x24\x53\x76\xbc\xed\x4d\xd1\x97\xf6\x24\x93\x3d\xa9\xc9\x29\x5a\xde\x4a\x56\x9f\x49\xf9\xb6\x2e\xba\x9b\x9c\x68\xa9\xfe\xf3\xda\x05\xb8\x93\x56\xc3\x1b\x51\xe7\x13\x80\xdb\x9b\xc0\x0b\x33\x29\xd8\xfc\xbe\x2a\x0b\xdd\xc6\x33\xdd\xc4\x6b\xdd\xc2\x2b\x36\x57\x49\xbd\x52\x4b\x43\xb1\xab\x5e\xf7\x00\x3f\x47\xa9\x12\xf7\x74\x69\xb4\x1f\xf7\x1e\x62\xa3\x62\xf7\x18\x97\x3c\xcf\xf7\x5f\x59\x3b\x07\xf9\x1a\x9a\xf8\x9c\x51\x36\x6b\x7e\x1a\x3f\x20\x80\xdd\xd1\x70\x4e\xab\x19\xcd\xaf\x30\xbc\xa4\x8d\x11\x12\x16\x04\xfb\xfb\xf6\xb4\x28\x9c\x4c\xad\x6f\x94\xc8\x69\xcf\x0c\x31\xfc\xcd\x80\x2d\xb5\x1d\x77\xe3\x14\x34\xb2\xe1\x01\x29\x6d\x74\x0a\x7a\xb0\x22\x86\x5e\x39\xe7\x0b\x0c\xea\x6a\x46\x1f\x7e\x1d\x41\x98\x77\xf8\xe9\x7d\xda\xed\x9f\xb8\x60\xea\x0d\xc4\xe6\x74\xe5\xdd\x09\x16\x23\x4e\x26\x0c\x0a\x25\xcd\x22\x59\x70\xca\x59\x4d\xb3\x5b\xa6\xc5\x7e\x44\x2c\x59\x8a\xbc\xe5\x0f\x3a\x13\xa2\x60\xb4\xfc\x64\x90\x36\xae\x6f\x98\xb9\x60\x95\x20\x18\x16\xb7\xc7\x99\xf2\x99\xed\xc4\xde\x68\x9d\x28\x1f\x36\x4a\x61\x3a\x6b\x56\x81\x92\x49\x48\x12\x0c\x00\xb3\xde\xb2\x2e\x02\xcc\xa2\x15\x6e\xc5\x2a\x80\x56\x91\x4c\xd9\x58\x9b\x8a\xd5\x92\x4b\x35\x06\x00\x63\xee\x21\xf2\x71\xdd\xc6\xa4\xa6\x06\x1a\x81\x62\xf2\x63\x74\xa2\x75\x5e\xc9\x5d\x5e\xb3\x38\x9c\x6b\x37\xb0\xbe\x8b\x14\x18\x1e\xc3\x15\x82\x46\xe2\xcc\xb7\x61\x48\x1b\x7c\x3e\x4e\x44\xe6\x19\xa0\x94\x46\xa4\x54\x9f\x1a\xa2\xce\x59\xdd\x28\x9d\x4e\xc4\xd4\x08\xf5\xc3\xf9\x52\x00\x5b\x45\x50\xa4\x88\xd6\xcd\x02\xed\x25\xed\x8e\x85\x68\x13\x78\xb8\x14\x7b\xc8\x1c\x03\xae\x30\x0f\x14\xe4\xae\x0e\x00\xc8\xca\x66\x94\xc5\x97\x25\xfe\x2b\x9f\x8c\x5f\x0f\x25\xdf\x45\xfe\x5d\x91\x1d\xdd\xc4\xef\xf7\x17\x97\xff\x9f\x90\xf0\x9f\xb5\x48\xb4\x93\xf8\x13\x71\x7f\x5d\x56\x53\xac\x7a\x9c\x06\x53\x68\xda\x1a\x7c\xa4\x88\xb4\x00\x6b\xc9\x38\xc2\x71\x7a\x18\xdd\x38\x0c\xbf\x59\x47\x9d\xae\x4a\xa8\xf9\xb6\xb3\xdf\x7d\x6e\x7d\xd0\x5d\x17\x15\x95\x8a\x95\xb9\x79\xd5\xe0\x04\x39\x3c\x0e\x84\x7e\x49\x47\xab\x42\xd4\x14\x0b\xc2\xa5\x2c\x7a\xb0\xfc\xe0\xe3\xa5\xbe\xfe\xac\xcb\x61\x07\xb1\xb4\x2f\x88\xe6\xf2\x25\x4f\x90\x5f\xfa\x7f\xda\x13\xd4\xb0\x7b\xec\x3a\x41\x89\xc8\xd8\xff\xef\x04\xa5\x6c\x47\xf7\x3c\x41\x9d\x54\xf4\x0f\x77\x82\x76\x10\x4b\xfb\x04\x35\x57\x35\xc6\xc9\x86\x98\x61\x42\x21\xe2\xc4\x1a\xa3\xd0\x01\xd9\xad\x8b\x41\x29\x00\xd7\xe2\x7a\x55\xea\xc3\x62\x3c\x79\x21\xac\x09\xa2\x98\xea\x05\x02\x5a\x78\xa6\x21\x1d\x0c\x64\xda\x3a\x03\x28\x24\x3c\x25\x31\xf2\x55\xbb\xdf\x69\xea\x98\xd1\x7a\x81\xd6\x1d\x68\xa4\xd1\xbd\xcf\x9d\x24\x2c\x98\x95\x6d\x68\xc7\xba\xd6\xab\xf2\x2c\x1c\x5d\x74\x02\xfd\xef\x63\xdf\xb7\xcf\x2c\xc4\xca\x35\xaf\x45\xb9\x0c\xd0\x3f\x8d\x1c\xb3\x60\x6a\x38\x08\x3e\x0f\x7c\x06\x2c\x74\xd1\x0b\xab\x3e\x3c\xb1\xae\x5c\x03\x00\x90\x0c\x5b\x35\x2a\x5c\x38\x2f\x71\x77\x7f\xfd\xd4\x05\xc8\x68\x82\x48\x71\xfb\x30\xaa\x28\x9c\x8a\x3d\x7c\x7f\xf5\x53\x3a\x0a\x56\xf6\xe3\x47\x32\x08\x62\x11\xb8\x38\xb2\xf1\xb1\xd3\x6a\x25\x6f\x86\x23\xff\x2d\x18\xd0\x51\xf8\x87\x2f\x21\xca\xf3\x3b\xae\x8e\xc2\x35\xf5\x39\x97\xf0\x7f\x00\xde\xa8\x1b\x17\xd5\x30\x72\x96\x82\x0f\xab\x12\xc8\xb3\x28\x5c\x94\x70\xcb\x73\x0c\x11\x22\x83\x75\xcf\x0a\x21\xd9\x44\x94\x13\x76\xc7\xd5\x60\xd4\xf4\xb5\x32\x2a\x64\x28\x35\x4c\x79\x78\x87\x39\x79\x53\x9d\x87\xeb\xab\xe9\x27\x99\x34\xdc\x78\xa5\xf3\x79\x9c\x71\xc5\x40\x46\xc9\x08\x96\x0c\x7f\x1d\xa3\x9b\x38\x5e\x32\x1b\xee\xa3\x33\xdd\x45\x61\x39\xda\xdd\x14\xcd\xe5\x9b\xf0\xc2\xdf\x7d\x4d\x38\xd0\xa8\x0e\xd4\xa8\x60\x5e\x2f\x71\x2d\x60\xe4\xcd\x08\x6f\x23\xc4\x25\x04\x66\x1f\x33\x69\x30\xf4\x23\x4b\x01\x44\x12\x4a\xc6\x10\x24\x65\xeb\x11\x26\xf4\xa3\x8d\xc8\xfa\x10\x58\xf0\x75\xd4\xee\xae\xc9\xc7\x1b\xd6\x9e\x7c\x14\x87\xde\xda\xdf\xd6\xfb\xb2\x60\xea\xb9\x81\x5a\x18\x8e\xa6\x33\x91\x6f\xf5\x66\xbb\x35\x79\x6b\xc9\xf3\x1e\xab\xb2\x63\xf4\x2d\x6a\xbf\xef\xf8\xe1\xb2\x08\x07\xa8\x79\x25\x4a\xce\xae\xae\xf4\x45\xc1\x0d\xde\x0f\x7c\xf9\x1e\x38\x86\x62\x8b\x03\xe4\x12\x95\x20\xc8\xb8\xb8\xc2\x32\xca\xc8\x08\xf1\x9e\xe0\xe3\xde\xc5\x07\x41\xa8\x29\x4a\x5a\xd8\x40\xc0\x09\xb5\x0a\xa3\x34\x16\xc9\x65\x54\x42\xc6\x30\x73\x83\x87\x43\x6e\xd4\xfe\xa3\x45\x8c\x63\x73\x7e\x17\xf7\xe8\x06\x79\x60\xbe\x62\xa0\x7b\x0f\x39\x5e\xca\x1f\x68\xf4\xac\xea\xa6\xc6\x38\xba\x7b\x44\x67\x39\xfd\x14\xf6\x7f\x32\x98\x4c\xa0\xdb\xc9\x20\xd8\x42\x0f\xe0\x61\xff\x65\x20\x3c\x8c\x30\x8f\x91\xac\x90\xac\xd7\x5e\xd8\x3f\xff\xcb\x5f\x7d\xab\x9f\xfe\xe5\xaf\x7a\x74\x9f\x7e\x36\xe3\x4b\x83\xbe\xce\x85\xc1\x62\xeb\x3e\xa0\x67\x9a\x7a\x43\xe7\xa0\xc3\x11\xa2\xc3\x68\x3a\x30\x1b\x61\xf1\x01\x5c\x73\xd1\xe9\xb6\xcb\xe5\x12\x6f\x12\x88\x33\xd8\xba\x11\x80\x7f\x52\xa0\x78\x6b\x52\x8f\x4d\x07\x58\xe1\x4e\xe6\x4c\xf2\x1a\x18\x2f\xd3\xdb\x98\xb8\xfc\x80\x7d\x58\x6a\x9c\x47\x14\x00\x7c\xe7\x01\xa2\xab\x3b\x88\x15\x33\xa9\x71\xaa\xbb\xd4\xcb\xed\x9d\xaa\x46\x51\xbe\xf0\x98\xed\x34\xeb\x55\xdd\x45\xc0\x05\x48\x45\x43\x88\xf9\xd0\x4d\x4c\x20\x2f\xb1\x45\x4e\x0b\x1b\x89\x13\xed\x61\xfa\xe2\xc7\x64\x50\xdd\x0d\x76\x37\x88\x29\xf9\x52\xf1\x82\x7b\xba\xb0\x29\xde\x6d\x1f\x01\xc1\xfc\xbb\x55\xc9\x99\x87\xaa\xb5\xd3\xcd\xdc\x8d\x3d\xb8\xd5\xf6\x3e\x24\xdf\x9f\xf0\xae\x75\x8b\xda\x63\x74\xe8\x3e\xf7\x2b\xb8\x69\xeb\xc0\x76\xef\x11\x7a\xbf\xb7\xc4\x91\xd3\x77\xed\x57\x81\x7f\xdf\x57\xf7\x7e\x05\x62\xf7\xba\x8e\x27\x20\x41\x8d\x66\x58\x69\x6a\x36\xce\x86\xa3\x1e\xf7\x58\xc7\x71\x70\xde\x81\x21\xd6\x5f\xca\x51\xb5\xb5\x28\x29\x4c\x92\x28\xb3\x7b\xdb\xed\x08\x6e\x8b\x31\x08\x19\x2b\x25\x30\xdb\xa9\x66\x12\xf8\xdc\xc1\x06\x6d\x7b\x2c\x63\xd3\x33\xa9\xbd\x98\x90\xa8\xc4\x7e\x6b\xcd\x3c\xe1\x0f\xd5\xe4\xe4\x6d\xe5\x76\xc4\x4d\x17\x18\x0b\xd6\x40\xc6\x33\x91\x61\x05\x83\x8d\x77\x38\x66\xfc\x34\xfc\xf3\x93\x27\xc7\x3f\xc9\xc7\x41\xe4\x31\x18\x5e\x75\xcd\x8f\x1f\x09\x46\x01\xc3\x88\xce\xea\x8b\xab\xbd\xe3\x79\x72\x8c\x09\xb8\xd0\x98\x63\x14\xae\x2e\x1e\x33\x0a\x02\xea\x6a\xe2\x29\x36\x81\x56\xab\x56\x0b\x7b\x0c\x19\xa2\xc8\x63\x72\x08\x9c\x9b\x91\x0e\x5a\x44\xa0\x5b\xba\x0f\x1d\x44\x34\x9a\x26\x02\xef\xb5\x9c\x96\xe5\xbc\xf3\xb6\x5b\xf0\xa0\xca\xc3\x86\xb3\x4d\x0f\xc5\x4b\xd4\xa1\xff\xe3\xd8\xd7\xef\xef\x68\x9d\x68\x21\x41\x59\xa8\x24\x0a\xb3\xea\x87\xb7\x88\xc9\xd9\x95\x48\xb8\x85\xc9\x7c\x8a\xfc\x5e\x35\x07\x76\xad\x6c\xee\x4a\x69\x37\x41\x53\xb7\x1b\xc9\x94\xfd\xdf\x15\x2d\xe4\xd0\xb6\xef\xa9\xd9\x57\x70\xc9\x2d\x23\x97\x01\x98\x77\x80\x52\x62\xe8\x29\x3f\x22\x30\x4e\x7d\x34\x75\x89\x0d\x3e\x7a\x39\x47\x30\xdb\x64\x34\xd5\x00\xe4\x10\x1c\x14\xe0\xa1\xb8\xe7\x85\x70\x79\x94\xae\xb3\xef\x71\xf0\x09\x60\xee\x4b\x0b\x7e\xe2\xbd\x75\x6b\x9d\xf5\x77\x9f\x3c\x08\xe2\x4b\x1e\x3d\xf8\xa2\x0f\x40\x9f\xc3\xe5\x1c\xf3\xbb\xde\x2a\xcf\xc4\x94\x22\x67\x93\x7c\x55\x43\x08\x6a\x27\x0b\x93\x3a\x79\x10\x26\x30\x22\x7f\x24\x83\xc3\xe9\xbf\x49\xc8\x15\x70\x38\x48\x3f\xc1\x78\x01\x59\x94\x26\xc0\xae\x8f\x26\xd9\xd2\x01\x5a\xdb\x69\x9f\xd7\xe4\x0a\xda\xdb\x3b\x51\x03\x0f\x86\x21\x8c\x30\x86\xce\xd9\xae\x95\x71\xcf\x05\x64\x40\x27\x8a\xaf\xd5\xf4\xf5\xc5\xdb\xab\xf3\x0f\x97\xe7\x6f\x2e\x2e\xaf\x3f\x3c\x7f\x79\x75\xfa\xec\xd5\xf9\x73\xf2\xc7\xf4\x13\x3e\x58\xd3\x7a\x68\x45\x8d\xa8\x7b\x4d\x2c\xa3\x01\x39\xba\x6f\xbd\x4a\x00\xf4\xda\x68\x90\xd4\xa6\x52\xc4\x09\x13\xf3\x94\x45\xd1\x06\x6e\x77\xd8\xcd\x2f\xc5\xe6\x4c\x14\x9f\x80\xdd\xc7\x7f\x1b\xe5\x28\xa9\x99\x81\x90\xb6\xb9\xf2\x6c\xc3\x61\x8b\xbb\xf6\x89\xae\x99\x81\xec\xeb\xa3\xf8\x30\xa6\x48\x1b\x26\x3e\xcd\x0a\x51\x36\x99\x98\xa4\xf6\xf8\x4e\x85\x78\xf3\x9f\xcb\x84\xc6\x79\x02\xfa\x8d\x38\x3e\xfa\xc9\x03\xd0\x35\xbc\x86\x00\x1e\xb7\x84\x3a\x55\xff\x67\x5f\x1b\x46\xf7\x1c\xe2\xf6\x13\x29\x41\x54\xb3\xea\x8e\xb9\x25\x76\x21\x4a\x1e\x39\xa7\xa0\x4d\xa6\x55\x55\x70\x0f\xee\xdc\xe9\xbf\x61\x65\xce\xeb\xdd\xed\xed\x99\xfe\x82\xa9\xff\x14\x62\xf9\x02\xfb\xee\x2d\x47\xc4\x62\xd9\x2f\xae\x85\x58\x49\x0f\x18\x60\x38\x0b\xae\x0a\x9f\xae\xc3\xce\x69\x20\xbd\x3b\x6c\x7a\x7f\xa1\xda\xb5\x6b\xa0\xef\x8e\x62\xa4\xe4\x35\xd4\x09\xb7\x53\xff\x80\x13\x6b\xe0\x51\x4f\x95\x29\x0b\xff\x6d\x6c\x1b\x40\x33\x23\xae\x1a\xa4\xda\x2a\xb6\x06\x34\xb3\xeb\xaa\x30\xb3\x88\x6f\x0a\x53\x58\x4f\xc6\x41\x71\xa2\x9a\x42\x37\xbf\x4f\xc9\x8f\xa5\xda\xf7\x02\xb6\xea\x99\xc0\x5a\x6c\x8c\x5d\x6d\x3e\xcd\x0a\xba\xac\x4c\x89\x69\x2d\x36\x63\x72\x38\x0e\xc9\x37\x14\xa9\x27\xe4\x89\xe3\x94\x30\x1a\x31\xdd\x0c\x7e\x4b\xb6\x84\xf2\xbf\x6d\x28\x3a\x26\xce\xc7\xc4\xa1\x59\xc0\x70\xb0\x31\xc7\x30\x45\x5d\x90\x3f\xd8\x71\xb8\xcc\x90\xf1\xf7\x93\x13\x5b\xe0\xd1\x23\xfb\xc9\xe6\xe6\x89\x98\xd8\x8e\x8b\xd2\x96\x75\xc0\x8e\x0d\x3e\xff\xac\x80\x1c\xfc\xce\xaf\x67\x20\x89\xab\x32\x2f\xe8\x62\xcf\x8e\x41\x60\x15\x4e\xfa\xc2\xf7\xd4\x21\x08\xef\x19\x9f\x41\x5f\x89\xef\x49\x19\x8c\x0d\x91\x1c\x3b\x0e\x11\xc2\x60\x43\x3e\x00\xf8\xd7\xfd\xbc\x82\x2c\x04\xa4\x77\x1c\xd1\x3f\xb4\xbc\x82\x1c\x8e\x36\x7c\x3e\x0e\x52\x84\x6a\xce\x01\x9b\x82\x9c\x82\x9f\x52\x3a\x91\xd6\x14\x3e\xcf\x71\xa7\x35\xd6\x2e\xc7\x1d\x1c\x6d\x53\xcd\xac\x07\x83\x44\xdc\xc0\x0c\x1f\x23\x26\xbb\x7d\xd0\xdf\xbe\x74\x70\x8d\x5d\x8a\x40\xa4\xcc\x33\xb1\x2a\x55\x8f\xcb\x0a\xa1\x1c\x43\xc3\xb9\xad\xec\xb5\x7e\xc1\x8f\xcd\xb8\x08\x65\x93\x0a\x18\xcd\xeb\xc6\x34\x38\x78\x72\x78\xf8\xaf\x83\xa4\x30\xd5\x55\xe5\x35\x55\x37\xd3\x8c\xf1\x22\x32\x70\xef\xd3\xf9\x7d\x6d\x0f\x68\x30\xc6\xc7\x89\xaa\xf8\x4a\x39\xd7\x73\x98\xf8\x9b\xbb\x91\xd1\xe7\x1d\x27\x91\x55\x83\x36\xbb\x2e\xaf\xf0\xbe\xb9\x61\xf9\xaa\x60\x57\xdb\x32\x8b\x2f\x9c\x0f\x1d\xca\x2e\x73\xfd\xfd\xea\x0d\xaf\xf5\x2d\xaf\xe7\x7d\xed\x1b\xe5\xa5\xcd\xa7\xb1\x87\x02\xfe\xc4\x8c\xb3\xac\x23\x01\xdb\x9c\xdf\x7f\xd7\xc1\x9e\xcd\xbf\xb1\x6d\xdd\x63\xf7\x6d\x9d\x7e\x7b\x6e\x4a\x7f\xed\xe7\xbc\x6b\xff\x92\xaf\xc4\xd8\xd5\xfd\x9c\xbd\x7b\xce\x2c\x28\x97\x93\x7f\xc2\xfc\x2c\x3d\xce\x24\xa2\x8a\xba\xc4\x4f\xf8\x45\x4e\xf7\x6e\xac\xaf\xd2\x63\x63\xc3\x65\xe8\x38\xde\xc1\x3a\x24\x0f\x7a\x9c\x7a\xde\xaf\x5f\x00\xcc\x69\x7a\x81\xb3\x14\x9d\x16\x9f\x89\xd8\x4d\x21\xd1\x9c\x39\x41\xad\xf6\x90\x24\x3f\x0c\x83\x7d\x32\x89\x34\x58\x99\x83\x45\x3e\x5e\x7b\x25\x48\x55\xac\x16\xbc\x0c\xe0\xa8\x23\x50\x5c\xd9\x3e\xcd\x41\xdb\xbb\x77\x17\x6f\x99\xc6\xf6\x26\x2c\x37\x9b\x1b\x8a\xa8\xe1\x16\x4c\x38\x17\x25\x4b\x00\x09\x47\xed\x41\xb6\xed\x95\x42\x4b\xee\xaa\xcc\xc1\x9b\x7a\x4a\xc8\x4b\xe5\xf2\xbc\x03\x32\x5e\xe0\x58\xa5\x4f\xb6\x4b\x63\x33\x1c\x59\xd0\x3c\x98\x37\x24\x27\x13\x79\x9c\x77\xbc\x5e\x95\x24\x42\xb1\x83\x0c\xee\x98\x1e\xb3\xaa\xc5\xa2\xa6\xcb\x25\x55\x3c\x73\xb0\xb9\x62\x1e\x9a\x8c\x71\xc0\x76\xe2\x97\xac\xd8\xea\x9b\xc9\xe8\x02\x2c\xcf\x0f\xcf\x7a\x99\x93\x15\x60\x19\x01\x68\x5e\x94\x98\x9f\x2c\x19\x2d\xa5\xcb\x88\x2e\x14\x99\x81\x5d\xda\xd8\x47\x33\x51\xd7\x5a\x7c\x45\x5f\xd3\x2d\x53\x7e\xdd\x4a\x2d\x8c\x35\x91\xd5\x6f\xb8\xfa\x75\x27\x6d\xff\xc9\x41\x9a\xbe\xd7\xcb\xf8\xad\xb3\x8b\xa9\x1b\xcd\x0a\x6b\x42\x3d\xc7\x68\xee\x53\xa5\xd8\xb2\x52\x26\x71\x84\x6e\x9f\xcc\x68\x8e\x4b\x8b\xb1\x39\xad\xc3\xa3\x99\xe1\x9c\x15\x8a\x9e\xe1\xb0\xc9\x49\x34\xb5\x49\xcc\xbf\x2d\xcc\x53\x3e\x8c\x4d\x6e\x31\x7b\x1c\xb5\x90\xe4\x93\xfd\xe7\xf4\x69\x8e\x06\xf4\x07\x72\x68\x1f\x02\x87\xdd\xdb\x48\x11\x33\x8a\x6e\xf5\x36\x2e\x79\x17\x1b\x1f\xf6\x83\xaa\xc0\x50\x8f\xee\x10\x93\xb8\xcb\xba\x6d\x33\xe9\x4c\x0b\x56\x2e\x50\x12\x38\x26\x9c\xfc\xe1\x84\x1c\x1e\x13\x3e\x99\xc4\xd1\x9d\x71\x9d\x77\xfc\x3d\xf9\x36\xda\x00\xa7\xea\x81\x58\x11\x0f\x93\x1a\x77\x15\xf8\xdc\x7c\x8a\x5e\xb7\x8e\x15\x4d\xdf\xa6\xfb\xee\x1f\xf3\xe2\x7d\xb9\x0b\x28\x6e\xf0\x9f\xe1\x06\xc2\x11\xff\xf3\x5c\x41\xbf\xfa\xd9\x36\x0f\x60\x4f\xa6\xec\xfe\xf7\x0e\x2e\x28\x5e\x3c\xf1\x23\xeb\x6e\x9d\x4b\xb1\xd1\x57\x8e\xeb\xa4\x7d\xdf\xe0\x20\x3b\x2e\x1c\xc7\x09\xda\x06\x5c\xeb\x99\x55\x23\x60\x15\xa7\x70\x1c\x36\x6e\x19\x18\xc0\xb7\xfe\x8a\xd1\xcf\x3f\xba\x64\x2d\x84\x22\x72\x49\x0b\x93\x1b\x83\x04\x03\xfe\xfa\x84\x4c\x4c\xe6\xf1\xcd\x0d\x2f\x58\xd0\x56\x8c\x49\x5c\x50\xa9\x2e\x51\xfe\xd6\xc3\xc0\x4c\xe3\x78\x4c\x47\x70\x79\x04\xb7\x85\x2d\x3b\x09\x99\x53\x97\xe9\xcb\xde\x38\x27\x27\xc4\x6b\x3b\xba\x6e\x10\x77\xf9\x60\x87\x10\xea\x67\x9a\x1f\xed\xbc\x75\xec\xba\x57\xa2\xba\x14\x1b\xef\x78\xe7\xa6\x37\x99\xd8\x9b\xe8\x01\x89\x70\x97\xe3\x1b\xe9\x86\xcf\x21\xa7\x7a\xb0\x2e\xc7\x0f\x1a\x7c\xb7\x9f\x5a\xb5\x92\x37\x53\x5a\x55\xd6\x2e\xde\xf8\x3e\xd6\x5d\xd8\x50\xb3\x83\x03\xf2\x23\x23\x7f\x59\x49\xe5\x90\xee\x21\xb9\x9a\x83\xbb\x57\xa2\x8a\xf3\x25\x8e\xf5\x61\xb4\x77\xc4\xaa\xca\xa9\x62\xb6\xa5\x40\x34\x0f\x84\x1f\xaf\x86\x41\x4d\x13\x08\x8c\x4b\x7a\x17\xa8\x99\xec\xdb\xa1\xc7\x87\x19\x09\x23\x88\x47\x4f\x29\x7f\xe8\xa2\xac\x82\xd6\x90\x72\xc9\xbd\x6b\x01\x35\x9e\xec\xa2\x80\x98\xc0\x7c\x19\x23\x39\x99\xd1\xf2\x72\x18\x0c\x70\x57\x73\xc7\x41\x6b\x35\x9e\xc6\x64\x71\x59\x15\x3c\x63\xc3\x07\x0d\xbb\x48\x07\x99\x4e\x9a\x23\x1b\x37\x7f\xf0\x68\x76\x21\xe5\xac\x4a\x4f\x3b\xb5\x27\x9b\xf0\xf0\x4d\x4e\x9a\x4d\x1d\xc7\xca\x33\xbd\x3f\x8f\x3b\x0a\x7d\x4a\x2c\x78\xc4\x3d\xc0\x63\x94\xc3\x5c\x1a\xc4\xfb\x29\xcc\x6d\xf2\xc3\x35\x8a\xf8\x97\x90\xec\xd6\x60\xf9\x1b\xc7\xbe\x40\x2f\xe4\xf4\x99\x56\x89\x19\x0b\xe8\xed\x2c\x34\x4e\x25\x1e\x51\xb1\x99\x07\xc1\x7c\xb3\xfb\x84\x6d\x28\xff\x27\xb1\xec\x34\x80\x85\x5e\x29\x38\x0b\xb1\xb9\x16\xd7\xa2\x1a\x1e\xf6\x1e\x20\xdb\xeb\xb4\x8d\x4d\x9f\x97\x5d\xfe\x91\x1d\xc3\xc0\x1c\x7a\xc3\xf6\x7d\xb9\x7f\x68\x9a\x11\xa9\xe8\x82\x91\x55\x45\x86\x00\xdd\x07\x3f\x15\xbc\x64\x23\x52\xb3\x82\x42\xae\x52\xeb\x79\x8e\x9a\x1a\xf0\xfc\xef\x69\xb5\xc2\x01\xd3\x05\x7b\x5b\xa5\xdd\x13\x78\xca\xf0\xbe\x60\xea\x1a\xae\xd3\x97\x65\xce\xee\x86\x1d\x21\x12\xf1\x3e\xf0\xf8\x21\x8c\x1d\xc3\x9e\xdc\x63\x25\x72\xb1\x29\x7f\xdb\xb5\x78\xae\x7b\xf8\xad\x57\xe3\xf1\x6e\x9d\x7e\x8f\xd5\xd0\x13\xd7\x74\xd1\x31\xf5\xfb\xcd\xfb\x15\x2f\xff\x36\x34\x70\x9f\xc9\xc1\x56\x7f\xb1\xe9\xfd\x8d\xb6\xb5\x31\x41\x34\x48\x34\x5d\xee\x25\xcb\x44\x99\x87\xbf\xd0\x32\xff\xac\xbb\x71\xc3\x2b\x76\x26\x4a\x05\x19\x9a\x76\x5d\x4b\x6d\xbe\x8b\x1c\x26\xe7\x84\x10\xab\x34\xbb\xb1\xd9\x62\xde\x25\x3c\x49\xc6\x69\x07\x91\xf7\xd3\xb9\xa8\xcf\x69\x76\xe3\xe3\xed\x71\x82\xf6\x8d\x47\x9f\x1e\x48\x68\x7a\x62\xb3\x24\x47\x2c\xb1\x7d\xcb\x4c\xa1\x80\xdb\x70\x8f\x10\x0a\x06\xf8\xa0\x1d\x8e\x4d\x73\xf1\xe3\x0b\x76\x1c\xfd\x60\xd8\xee\x03\x69\x33\x8e\xd7\x0f\x5d\x0a\x13\x0a\xcc\xc4\xfa\x70\xc4\x0c\x69\x7b\x1d\xbe\x58\x85\x79\x09\x6d\x06\xd8\x3d\x06\x42\xa6\x3a\x76\x0d\xa6\x70\x5a\x14\x61\x2a\xb2\x5e\x79\xca\xfc\xdc\x13\xfb\xd6\x37\x3c\xcf\xe1\xa6\x77\xb4\xda\xdc\xf8\xfe\xf1\x78\xad\x96\x5b\x78\xe9\x2d\x5f\x9c\x08\x7d\x3d\xdc\xb4\xb5\x4a\x34\x27\xe6\xea\xd2\xfe\x18\xde\x34\x62\xae\x12\xbb\x03\x19\xd6\x58\x3d\x17\xf5\x92\x50\xa2\x2b\xa7\x7d\xd0\xc1\xdb\x5d\x62\xa2\x8b\x9c\x70\x08\x44\xbb\x51\xaa\x3a\x3a\x38\xd8\x6c\x36\xd3\xb5\x7a\x72\x78\x38\x2d\x99\x3a\xc8\x45\x26\x0f\xd6\xea\x9b\x27\x87\x93\x7a\x79\xf0\xfc\xfc\xec\xea\xfa\xf2\x7f\x5c\x7f\x33\xf9\xfd\x9e\x7b\xca\x0e\xbb\x4d\x0e\x07\x07\x04\xbf\xf8\x1b\x12\x51\x0f\xcc\x18\x79\xdd\x18\xe5\x3d\x73\x38\xfe\x08\xf9\x46\x37\xa1\xec\x20\xca\x70\x29\x66\x2b\x65\x13\x5c\xc0\xee\xa2\xfa\x00\x7c\xb5\x40\xea\x6f\xf5\x17\x42\xaf\x03\x10\x29\x2a\x80\x6c\x0e\xc8\xf0\xb3\x1d\xc4\x9f\x21\xd2\x03\x72\xbe\x43\xa7\x32\x80\x6a\x30\xd0\xda\xf1\xa8\xc6\x98\x04\x5b\xdd\x40\x20\x2d\x57\xa0\xcb\x29\x07\xca\xe4\xf4\x64\x6c\xe9\xb4\x39\xe8\x2d\xc0\x72\x42\xcb\xed\xe6\x86\xd5\xac\x23\x65\x7e\x4f\xb0\xe9\xfe\x64\xde\xac\xeb\x73\x55\x42\xc2\x38\xb2\xa4\x25\x32\x35\xec\x4e\xcb\x22\x5c\x81\x93\xc2\xd6\xa4\x20\x87\xf0\x25\xd4\x25\xc5\x53\x9f\xf6\x64\xdb\x5b\x2b\xab\xb7\x59\x76\xee\xf3\xd8\x6c\x34\x93\xa9\xad\x36\xeb\x1a\xed\xb7\x3b\xba\x16\x8f\x4a\xd5\xcd\x90\x90\xd7\x62\xcd\xc2\x1e\xe7\x26\xe9\x9b\x39\x5e\xa0\x22\xb2\x29\xb6\x01\x8b\xcd\x7c\xd0\xc2\xbd\x51\x2d\x82\xb2\x69\x4e\x4a\x41\x96\xa2\x66\x41\x22\x6f\x5a\xb3\x1e\x46\x71\xd3\xa3\xb9\x2a\xd3\x1c\x80\x73\x9e\xd8\xe9\xa4\x05\x85\x60\x59\x23\x45\xea\xe1\x31\x40\xc7\x27\xf5\xa9\xc7\x84\x3f\x7e\xdc\x52\xf6\x46\x1a\x54\xeb\x32\xd1\x78\xe7\x42\x84\x8f\xd5\xb2\x6c\x57\x74\x2f\x5e\x88\xb6\xea\xf4\xa9\x07\x07\x86\xc6\xdc\x7e\x66\xce\x35\x22\xf2\x88\xd0\x34\xf0\xa7\x6b\xbd\xf2\x67\x7f\xba\x9e\x9a\xf5\x08\xdd\x2c\x7a\x78\x3b\x1c\xb7\x08\x22\x1c\x74\x3f\x6f\x93\x6e\x47\x0a\xdf\xcb\x0e\xba\xd2\xec\x4d\x48\x58\xd6\xed\x27\x49\x5c\x73\x5e\x27\xa8\xab\x55\xa5\x2f\x85\xd9\xbe\x7f\x3b\x12\xbb\x9f\xae\x7e\xb7\xa6\xfe\xcb\xd2\x59\xb2\x8d\x26\x93\x0f\xd1\x80\x76\x55\x09\x55\x41\x9a\x4a\x1c\x53\x53\x21\xcc\x4b\xc5\x16\xde\x28\x45\xfe\x93\xd5\xc2\x38\xd3\xfa\x0a\x7b\xfc\x03\xdb\x9b\x11\xce\xff\x8b\x2f\xaf\xf3\x6c\x1a\x35\x96\xeb\xfe\x5b\xe2\x47\x62\x54\x54\x20\x57\x80\xfb\x56\xe0\x7c\xb5\x7b\x4b\x5a\x6d\x1c\xc6\xf5\x93\x3e\x53\xcd\x2d\xda\xe3\x5d\xfb\xbd\x20\x6c\x3e\x67\x99\x32\xf1\xc6\x35\x43\x00\xcd\xfb\xb4\xb3\xcf\x19\xcb\x6c\xe3\xa9\xea\xf2\xae\xfd\x9c\xb3\xd5\xb1\xef\x5c\x4b\x7a\x17\xf3\x61\xc3\xc3\x8d\xeb\xbd\x9d\x3c\x19\x3d\x68\xec\x6a\xc7\x5e\x8d\xd3\x22\x20\x44\xeb\xda\x8b\xa5\xcf\xcc\x03\xde\xbf\x43\x44\x68\x51\x6c\x28\xd2\x35\x0c\x8a\x5d\x0e\x69\x64\x55\x45\x7c\xae\x1b\xe2\x58\xbf\xf5\x98\x67\x1e\x34\xd1\x34\x79\x60\xaf\x0d\xd0\x89\xc4\x03\x0e\x9b\xce\xd6\xac\xde\x5a\x0b\x2f\xf9\x57\x37\x56\xb0\xb3\x8e\x88\x75\x46\xb4\xcd\xeb\x66\x9c\xae\x5b\x56\x2c\xc3\x4c\xc2\xb6\x98\xa8\xc9\xa1\xb9\xa0\x4d\x8b\x5c\x92\xaa\x16\x6b\x9e\xb3\x1c\xed\x6d\xc0\xdb\xe8\xb7\x0c\xac\x68\xf3\x95\x5a\xd5\xcc\x98\xb0\xac\x3f\xb1\x6e\x7c\x49\x56\x55\x34\xee\xc4\xd3\xc8\xee\xb8\x44\x1f\x70\xf7\x06\xc0\x63\x31\x06\x2c\x8e\xe6\xbe\x3c\x30\x39\x8d\xd5\x0d\x55\x9d\x57\x98\xa8\xd4\x07\x98\xab\xcf\x47\xeb\x56\xf6\x17\x7f\xaf\xb9\xdf\xec\xc4\x57\x92\xcd\x57\x85\xcd\x4b\xab\xbb\x99\xf3\xa2\x00\x03\xde\x4a\x11\xc8\x22\x17\x8d\xb3\x23\xf5\xb2\x5e\x85\xbd\x8a\xcd\x96\x40\x19\x52\x9c\x9b\x80\x3f\x70\x38\x9f\x93\x60\x6e\x1f\x3f\x22\xed\xe9\xaf\x9b\xe0\x68\xc1\xa6\x1f\x1b\x29\x06\xe0\x4e\xb0\xbc\x26\x3b\x41\x68\x8b\xee\x34\x07\x62\x5b\xc7\xff\x4e\xc8\x13\x32\x21\xc3\xa1\xfb\x6b\x44\xfe\x95\x6c\x46\xe4\x31\x01\xbe\x23\xba\xc8\xa1\x4c\xc0\x8e\x35\x59\x0f\xfd\xe9\xf1\x09\x69\xb8\x9a\xba\xc7\x62\xc8\x1b\x7a\xf1\xf6\x21\x42\xaf\xd3\x08\x9f\xc0\x24\xab\xd7\xe2\xa3\x35\x72\x8a\x79\x10\x22\xe4\xa1\x5d\x6c\x3a\xe1\xa6\x51\x14\x19\x0d\xd4\xf7\xb0\x9c\xac\x4a\xc5\x0b\xcf\x1e\x67\xb4\x68\xa1\x8c\x39\x37\x51\x55\x93\xab\x64\xaf\x98\xeb\xd8\x8e\x0d\xa4\x28\x29\x2d\xf0\xd0\x5e\x38\x03\x5b\x2f\xc2\x1e\x0b\x71\x81\xd6\xca\x97\x82\x4f\x9f\xe1\x12\x76\x4d\x6f\x91\x19\x0d\xf8\x81\xe7\x2f\x7f\x70\xd0\x37\x54\xc6\xf4\x6c\xd2\x25\x36\xd7\xe2\x4f\xd7\xaf\x5f\x3d\xe7\x6b\x13\xc8\xfe\x89\xe4\x7c\x8d\x01\xdd\x7c\x6d\xb3\xcd\xef\x68\x69\xc7\x32\xe4\x2c\x13\x75\x23\xbe\x28\xe7\xeb\x30\x9c\x9e\xaf\xb5\x70\x9d\xf3\x75\x3a\x60\xdb\xb6\x00\xd5\xf6\x63\x71\x61\xde\xc3\x96\xfe\xa3\x95\x57\x71\xd4\xa3\x2d\x88\x86\xdb\xd5\x14\x06\x9a\xf7\x68\xc9\xb9\x7f\x87\x3c\x4a\x47\xa3\x2e\x73\x62\x77\xc3\x01\x0a\x6c\xab\x25\x07\x2c\xbb\xb7\x3a\x58\x80\x3b\xeb\x23\x8a\x6c\xa8\x2a\x02\xc7\xc9\xb9\xc8\x56\xce\x1c\x08\x7f\x04\xca\xc0\x48\x23\xe5\x22\xc2\x5b\x5d\x04\x41\xfa\x71\x40\x72\x1c\xa2\x1d\xb4\xd5\x42\x6d\x6e\xb5\xd9\xc6\x82\x1e\x45\xda\xbe\x4e\xb8\xe4\xae\x1d\xd9\x09\xcf\x1c\x2d\x8b\xc5\x83\xe8\x50\x81\x7b\x14\x92\x44\x1d\x00\x26\x99\x8a\x32\x13\xa5\x5e\xef\x25\x2b\x57\xcd\x14\xfa\xc6\x8b\x1b\x59\x0f\xe2\xb1\x83\x44\x09\x51\x6d\xb6\x57\xf3\xe7\x87\x68\x3b\x9c\x3d\x98\xb1\xf2\x7b\x4c\x5a\x9d\x1a\xe2\x95\x2b\x80\xea\x19\x5f\x61\x4a\xf3\xfc\x7c\xcd\x4a\xf5\xca\xa4\xa7\x35\xf1\x71\xb9\xd8\x94\x83\xb1\x1d\x43\xcf\x4a\xab\xea\xde\x55\xf4\xc2\x37\x2a\xb5\x26\x20\xca\x60\x73\xf5\x8b\x8a\x85\x61\xa1\x76\xf5\x60\x76\x7e\x00\x54\x6c\x61\x1e\x44\xf9\x42\xff\x89\x21\x3c\xc1\x62\x8e\xe1\xd9\x42\x9a\x3a\x38\x20\xd8\x08\x5c\xb3\x6e\x3d\xd0\xd7\x47\x5a\xe7\xa0\x60\xd5\x29\xa0\xb1\xbc\x78\x61\x70\x35\xb2\x95\xc4\x56\x4c\x05\xc4\x21\x9b\xad\x66\x88\x98\xd2\x7f\xf9\x5b\x88\xbc\xfa\x1d\x46\x15\xe1\xb0\xf7\x6c\xda\xda\xfc\x3e\x8b\x36\x2b\x56\xf5\xfe\x35\x03\xa2\x1d\x79\xf7\x1e\x69\x42\x30\x1b\x87\x20\x03\x54\x33\xf3\xfa\x0c\x07\x18\x74\x89\x14\x02\x7e\xda\xfa\x68\x18\x0b\x8d\x73\xd6\x1e\x0e\x8c\x74\x32\x29\x45\xce\xde\xc1\xaa\x9e\x7c\x05\x1d\x7e\xf5\x9e\xfc\x35\x88\xfc\x1d\x10\x32\x13\x77\x13\xf4\x6b\x3f\x22\x08\xb6\x3a\x99\x89\xbb\xe3\x46\xa1\x46\x3e\xdf\x23\xa2\x6a\x5a\xca\x8a\x82\xe0\xf5\x90\x2f\x2b\x51\x2b\x5a\xaa\x66\x35\x6c\xcf\xf8\x53\x3e\xad\x5a\xcd\xe2\x77\x98\xc9\x11\x91\xa2\xe0\x79\x54\xe2\x53\xf8\xc7\x74\x93\xc1\x7c\x9a\x13\x30\xaf\xed\x11\xe1\x65\xc1\x4b\x36\x99\x15\x22\xbb\x6d\x74\xa4\x57\x69\x42\x0b\xbe\x28\x8f\x48\xc6\x34\x67\xd1\x28\x60\x86\x98\xd1\x22\x1b\x86\xa1\xa3\x31\xe0\xc9\x88\x7c\x4d\x9e\x8e\x1a\x55\xa1\x53\xeb\xba\x95\xac\x6b\x43\x12\x3a\xa7\x76\x54\x0b\xa1\x9a\xf3\x4a\x0f\x01\xbd\xc3\x5a\x07\xbd\x13\x76\xe5\x78\x4f\xa3\xa1\xcf\xd9\x9e\x56\x43\xa4\x95\xae\x66\x91\xec\xc4\x7c\x2e\x99\xd2\xa4\x72\x44\x0e\x7b\x15\xad\xc5\xa6\xbb\x28\xa6\xb2\x8d\xa2\xac\x8f\xc8\xe1\xf4\xdf\x64\x47\xf9\x56\x9c\xf0\x11\x10\x40\x9f\xd2\x26\x3a\xf8\xc8\x4a\x0e\x7d\xea\x18\xf2\xdd\x1d\xa9\xdc\xbd\xf9\xff\xbf\x5b\xb6\x9d\xd7\x74\xc9\xa4\xb1\x7a\x34\xe8\x00\xa4\xd7\xbf\x12\x51\xd1\x8c\xab\xed\x11\x79\x32\x3d\x3c\x26\x9f\x1a\xf4\x2d\xc2\x12\x87\xad\x12\xf1\x41\xf2\xeb\xd9\xec\x8b\x96\x7c\x89\x69\xc8\x4b\xba\x64\x47\x38\xa0\xe3\xae\x32\x7e\x33\xc2\xb9\x27\x76\xab\x79\x64\x7c\x13\x5c\x31\x2c\x32\xc9\xc4\xaa\x54\xfa\x10\xcf\x79\xc9\x15\xeb\xac\xa1\xf8\x92\x97\x8b\x89\xbd\xdf\x8f\x08\xa3\x92\x4d\x38\xa4\xce\xe8\x1e\x29\xaf\x99\x29\xee\x4c\x2b\x8d\x1d\xf1\x0f\xa8\xbf\x7c\x6f\x18\xcd\x8d\x87\xd3\xd9\x0d\x2f\xf2\x21\x6c\x75\x68\xb7\xf4\x78\xd5\x7b\xaf\xee\x9c\xaf\x83\x4e\x42\xa4\x6b\x9e\x93\x13\x32\x80\xd5\x3b\x72\xd9\x14\x4c\x84\x61\xb2\x02\x80\x75\x7e\x4f\xc1\x63\x69\x10\x5c\xf5\xe9\xd2\xf8\x50\x64\xc8\xd5\x06\x8f\x84\xe5\xa6\x8f\x08\x9d\x49\x51\xac\x1a\x4b\x52\xb0\xb9\xea\x75\x23\x46\x5f\x9b\x17\xc0\x28\xde\x7b\x25\xaa\x5d\x6d\x9a\x9b\x72\x67\xa3\xb5\xd8\x34\x1a\x75\x2f\x40\xfb\xea\x37\x77\xe6\x8e\x09\x44\xc5\xef\x7d\x8d\x4f\x36\x6c\x76\xcb\xd5\x04\x9e\x43\xb3\x9a\xe6\x1c\x8e\x5b\xaf\x26\x79\x72\x78\xb8\x94\xf0\x60\xd0\xf8\x01\x9a\x2c\xc5\x2f\x9f\xd5\x46\xca\xd2\x8d\x88\xb1\x5d\x76\x6e\xcc\x5e\x18\x4b\x00\xf7\xb5\x90\x77\x46\x72\x76\x30\xf1\xe1\x11\x6a\x92\xa7\x37\x14\xdf\xb0\xd2\xe6\xa4\x6c\x60\x8e\x0f\x08\x97\x44\xcc\xe7\x64\xc3\x48\xcd\x7c\xa8\xf4\x0d\x97\x84\xe1\xf9\x22\x78\xc4\x8b\x2d\x36\x86\x2e\xf3\x2d\xdc\x0c\xc8\x7f\x4b\x28\x81\x24\x73\x53\x82\x8a\xba\x25\xbd\x65\x92\x9c\xdd\xd4\x62\xa9\xf9\x51\x29\x32\x8e\x3e\xaf\x07\x07\x44\xae\x66\xa8\x46\x31\x08\x40\x9a\xe9\xb6\xbc\xa9\xc1\x51\xb6\x5e\x35\xc8\x78\xb0\x7a\x4a\xc8\x15\x2f\x33\x86\x20\x8f\xd0\x48\xf4\x5d\xcf\x85\x92\x8a\xb1\x9a\x0c\xc1\x12\x4a\x32\xbd\x30\xa3\xd8\x7f\x51\x33\x54\x63\x3f\x01\xdd\x6f\x83\x31\x46\xdd\xa2\x71\xf1\x0f\xab\x81\x52\x12\xfe\x9a\x42\x15\xac\xf7\x52\x0d\x74\xbf\x37\x34\xbb\x45\x53\x2c\xd7\x3f\x80\xfe\xbc\x60\xb4\x64\x52\x91\x0d\xdd\x92\x97\x24\x13\xab\x22\x27\x73\x0e\x0e\x8b\x21\x4f\xf0\x0c\xc7\xff\x39\xb7\x5d\xbb\x81\xe8\xd2\xc3\xe7\x32\xaf\xe9\x62\x12\xaf\xd5\x60\x57\x0b\x9f\x79\xaf\xc1\x15\x34\xf9\xfd\xef\x1b\x4c\xcc\xfe\x4b\xe4\xc9\x61\xa3\x8a\xbd\x2d\xf0\x43\xea\x01\x49\x53\x7f\x7b\x2e\x1d\x88\x7c\x9d\xe2\x1b\x21\xef\x22\x69\x27\x10\x22\x23\xe1\x70\x00\x84\xae\xff\x91\xcf\x0a\xf3\x6f\x3d\xfc\x84\x27\x15\xd0\x55\x80\x62\xdb\xb5\xea\x2d\xb1\x07\x2a\xc6\x72\xa8\x6f\x20\x7c\x87\xee\x57\xd3\x2f\x62\xcf\x7a\x1d\xae\x57\x3b\x47\xb0\x5b\x64\x6c\x0b\x8d\x4d\xad\x8e\xf5\xfc\xea\xf0\xfa\x62\xea\x92\xad\x59\x2d\xd9\x0f\x3c\x67\x62\x88\x22\x5f\x7a\xab\xa1\xe5\x4e\x3f\x40\xd4\x79\x5e\xb2\xbc\xa6\x9b\x6e\x20\x97\x3f\x5d\xbf\x7e\xe5\x1c\x52\xc0\x6c\x00\x19\xeb\x28\x2f\x1b\x0a\xca\xe7\x17\xaf\x89\xe6\x17\xda\x18\x2f\xa0\xed\x34\x2d\xec\x0f\xb1\xb7\x25\x77\xc7\xd7\xbb\x9d\x8c\xfd\xd9\x40\x5b\xd6\x84\x33\xd9\xe9\x69\x81\xea\xb5\x7d\xbe\xd1\x6e\x25\x77\x2c\x92\xb9\xa6\x0c\x4c\x37\xea\x86\x6b\xb1\x21\x60\xa3\x8b\xac\x38\x70\x59\x23\x4e\xbe\xb7\x23\x5d\x8a\xcd\x1b\xb4\x11\xd5\xa8\x05\x9f\xd3\x8c\xc1\x73\xc2\x8c\xcf\xa9\x1e\x0a\x59\x49\x0c\xe4\xe2\x70\x25\xcf\x99\xca\x6e\x30\x64\x40\x94\x24\x67\x08\x44\x0e\x4b\xb0\x45\x57\x00\xa8\x09\xfe\x5f\x4a\x90\x35\x67\x0e\x03\xe5\xfa\xe2\xf9\xc5\xb0\x5e\xf0\x32\xa7\xa3\x23\x72\x26\x4a\x09\x5d\x4b\xba\xe6\xe5\x22\x74\xea\x84\xd6\xa9\x24\x43\x98\xa5\x14\xab\x3a\x63\x63\x44\xce\xc9\x50\x49\x30\x02\xa7\x65\xca\x51\x85\x9f\x89\x52\xb2\x7a\xcd\xc8\x92\x2d\x45\xdd\xd2\x7d\x3b\x2b\x13\xac\x0b\x4c\x0f\x72\xbb\xa3\x4d\xc9\x2d\xd8\x98\x18\xb0\xb4\xbc\xe9\x4f\x6b\xed\x4b\x68\x5d\xe9\x74\xd0\x27\xe4\xa2\x9c\x18\x18\x69\x98\x02\x38\x27\xd1\x62\x43\xb7\xd2\x80\xd0\xfb\xb6\x20\x12\x44\x2a\xdd\x35\xcf\x98\x9c\xb6\xe8\xd7\xa9\xea\xf5\x78\x07\x77\x9a\x61\x1c\x38\x36\xc1\x1c\x08\x30\x3c\x9a\x1c\x3d\xb5\x7e\xe0\xc1\xf1\xae\x46\xd8\x99\xdd\x44\x7f\x29\x36\x46\x5f\xe8\x28\x11\x56\xc1\x87\x80\xe1\x6a\x7d\xbb\x33\x8c\x24\x30\xf7\x26\xcb\xbd\x83\x46\xde\x7b\xf5\x10\xac\x0e\x78\x0b\x93\x13\xb3\x1f\x3b\x23\x9f\x8e\x3b\x90\x96\xf4\xfa\x9e\xd6\x35\xdd\xbe\x0b\x9a\x7c\xdf\x75\x5a\x42\xd2\x89\x4f\x0b\xe0\xf8\x04\xe1\x73\xbf\xd9\x89\x89\x86\xe0\x4f\x8e\x33\x48\xae\xa4\x66\xe9\x30\xa2\xce\x10\x75\xb5\x45\xcf\x45\xdd\x94\x4f\xad\x63\x5d\xbc\x6d\x62\xf4\x4e\x6a\x47\x6a\xed\xa2\x76\x60\xaf\xa0\x84\x9e\x9d\xa7\x7d\x4b\x9f\x4d\x97\xf2\xcf\xa1\x7d\xdb\x56\xe3\x08\xa4\x69\xbf\x39\x7c\x56\xe6\x3b\x07\xaf\xbf\x8b\xf2\x57\x0f\x3c\x05\xca\x42\x4e\x89\xe4\xe5\xa2\x60\x36\x7d\x41\x70\xdc\x1c\x39\x21\x30\xb6\x69\xd7\xd2\x91\x1b\x84\x26\x27\x42\x5e\xf1\x92\x99\x6b\x60\xc6\x48\xc9\x36\xe8\xb2\xcf\x0a\xbe\xe4\x8a\xe5\x63\x64\xbe\x4b\x41\x54\x4d\x39\x98\xad\x4d\x99\x5e\xe7\xd7\x70\x8c\x51\xe6\x23\xcd\x6e\xb3\x32\xf7\x56\x68\x8c\xd3\x7b\xf7\x7e\x97\x19\x98\x95\x79\xe4\x83\x87\x80\x94\xde\x98\xe0\xaf\x0b\x63\xfc\x25\xba\x59\xcc\x39\xa0\xcb\x85\xea\xdb\xc0\x3d\xdd\x34\x0d\xc6\xe9\x47\x8f\xc8\x43\x28\xba\x60\xde\x03\x74\x38\x00\xad\xa3\xf5\x5d\xf3\xf9\x00\x5c\xeb\x83\x9f\x0c\xaa\x2b\x98\x9b\xcd\x36\xe9\xaf\x7f\x11\xbc\x1c\x0e\xd2\xe8\x77\xbb\x4f\xbc\xc7\xe4\xfa\x6f\x72\xce\x77\xbf\x6a\x18\x9d\xab\xd7\xe5\x1f\xe0\x8c\x27\xce\x59\xcf\x03\x86\xeb\x72\x8f\xc7\xad\x79\x36\x82\xc7\x6d\x17\x79\x43\xa9\xe0\xd1\x69\x92\x77\x27\xbd\x09\x45\x8b\x46\x38\xb6\x8d\xfe\xa6\x79\x5e\x33\x89\xb8\x9e\x66\xf9\x34\x49\xe0\x57\xd8\xf4\xe6\x52\xb7\xf0\xe4\x7e\x23\x92\xcd\xc4\xb2\x5a\x29\x23\x79\x1b\x64\xd6\x70\xef\xeb\x16\x67\xed\xa8\xae\x1d\x7d\x8e\x13\xea\x8f\xa5\x1d\x84\xf9\xf5\x81\xe7\x6b\xc5\xe6\x3c\xee\xe0\x08\x1c\xe7\xd0\xce\xaa\xe3\x24\x06\xb8\x12\x4a\xb6\x31\xac\xa6\x66\x61\x41\xbc\x45\x17\x28\x1f\xec\xd8\x84\x4f\x6a\xee\x03\x78\x0a\x97\xc5\xd6\x45\xf8\x6f\x28\xe0\x0f\xd0\x3c\x37\x29\x7c\x6c\x97\xe6\x12\xd2\xe4\x4b\xc8\xf7\x42\x71\x50\xad\x50\x88\xbe\x43\x2f\x96\x0d\x1e\x5a\x69\x86\xe2\x81\x12\x4d\x98\x8f\x19\x4a\xc1\xa5\xb2\x4b\x8e\x21\x51\xd6\x45\x4b\x37\xa5\xb9\x40\x0e\x9e\x5d\xb8\x39\xfa\x44\x0d\xed\x23\x65\xe2\xb4\x48\x65\xb2\x17\x80\xb2\xc6\x79\xf4\x86\x2c\x90\xc9\xd3\xa5\x6e\x78\x79\xeb\x33\x76\xe1\x8c\x66\x05\x2d\x81\x47\x27\x52\x2c\xd9\x06\x5d\x1a\x0d\x58\x38\xe2\x54\x63\x7f\x21\xca\xc2\x98\x14\x42\xdc\xa2\x48\xa0\x85\x7a\x0c\x4c\x1a\x45\xcb\x69\x28\xda\x39\x9c\x55\x74\x0b\x17\x65\x69\xaf\xc3\xb5\xb1\xf1\x5f\x8b\xea\x00\xe3\x45\xc7\xfa\x9d\xce\x18\x8c\x50\xde\x88\x55\x01\x57\xdb\x4c\xdf\xb2\x7a\xe2\xb6\xa7\xe1\x48\x0f\x30\xa3\x12\x80\x2c\xf4\x78\x41\x5a\xd9\x80\x8a\x68\xa9\xfb\xa8\xfd\x48\x9c\x96\xcd\x3e\xdb\x56\x11\xc3\x72\x42\xad\x43\x34\x39\xb4\xdb\x81\x6e\xd2\x98\x95\x98\xe5\xc4\x3e\xde\x69\xf0\x98\x34\x6c\x03\x9c\x44\x20\xd0\x7d\x3e\x68\x41\x98\x72\xec\xb3\xeb\xb0\x1b\x3c\x08\xc2\x65\xdb\x33\xbd\x7d\x44\x8c\xa3\x01\xa8\xa4\xbb\x42\xc0\xdd\x71\x73\xed\xb6\x78\x09\xe3\xdd\x0f\xe3\x68\x71\x12\xb5\x1f\x48\xa7\x9e\x0d\xc5\x1b\xc3\x3b\xe8\x33\xd2\xd2\x36\x35\xab\xea\xfb\x1d\xae\xec\xc1\x60\x14\xd4\x73\x34\x7e\x62\x67\xf5\x98\xf0\x18\x84\x00\xa1\x0e\x56\xf2\xe6\x52\x6c\x86\xb5\xd8\x8c\x22\x20\x6e\x76\xa7\x6a\x8b\x4f\xb1\x73\xf1\x3a\x63\x75\x1d\x04\xb9\x6b\x29\x08\xd0\xdb\x0b\x9d\xe0\x6a\x99\x49\x61\x97\x9e\x04\x7a\xa2\x26\x90\xd0\x9f\x3a\x8a\xcc\x93\x57\x46\x40\x3f\x2f\xf3\x18\x41\xc7\xfa\xa4\xc1\xf7\xe7\x62\x63\xa3\xfb\x3e\x3d\x88\x60\x2c\x35\x61\xfd\x61\xcf\xe2\x8c\x02\x3c\x85\x1e\x84\x88\xa0\x18\x81\xc2\xe9\xd4\xa8\x3c\x1b\xd8\x9a\xae\x41\x44\x5f\x88\x9e\xe2\x42\x64\xfa\x8a\xf7\xb0\x10\x18\x0d\xed\x19\x9a\xc4\x33\xac\x6f\xea\x12\x92\x3a\x35\x2f\x76\x9b\x71\xa7\x66\xd9\x36\x2b\x4c\xb3\x39\x66\x1f\xfe\xe1\xda\x3c\x90\x52\xaf\xaf\x90\x8c\x6c\x6e\x78\x76\x03\xda\x8f\xbc\xb6\x19\xd8\x66\x5b\x5d\xd0\xe4\xa2\x92\x51\xfa\x42\xfd\xcd\xf1\x82\x4b\x5a\xf2\x6a\xa5\x19\x31\xc3\xfc\xf8\xc7\x77\xe4\x9c\x22\xf1\x61\xd5\x37\xd8\xd8\x44\x1b\xe9\x3b\xb8\x00\xf1\x22\x56\xb8\xf8\x16\x48\x0d\xe1\x4e\x30\xac\x25\xcd\xad\x78\x02\x8f\x0d\xbc\x81\x9b\x40\x59\x23\xe6\x73\x64\x16\x24\x73\x3c\x1c\xaf\x5b\x4f\x06\x67\x7a\x14\x35\x9b\xaf\x8a\x62\x8b\xef\x0d\xde\x65\x2c\x27\x52\x10\x8a\x37\x37\xaa\x64\xe6\x56\xa7\xef\xd9\x8f\xae\x9b\x51\xef\xd7\x4b\xc7\xc6\x22\x1b\xea\x94\x58\xf7\xba\x47\xf5\x95\x9f\xac\xa4\x84\xef\x20\x67\x52\xf1\x92\x9a\x4c\xb5\xa6\x9b\x1d\xd7\xae\x7b\xb1\xc2\x4b\xd7\x8d\x79\x8c\x03\x1a\xdb\x2e\x9a\xb2\x57\x4c\xf9\xcc\x3d\x4a\xcd\x06\xda\xe1\x3e\xf8\xaa\x40\x61\xd3\x76\x00\x8a\xe2\x5c\x8c\x41\xe0\xb3\x97\x8e\x5f\xc9\x6f\xe3\xf1\x78\x8f\x61\x57\x04\x6f\x09\x06\x50\x0d\x76\x79\x1e\x9b\x4b\xbc\x89\x8a\x65\x2b\x9b\x72\x61\x55\xdf\x65\x58\xf9\xc1\x83\x64\x2c\x72\x20\xa2\xee\x54\x12\xbf\xec\x0a\x20\xbe\x34\xcd\xa5\x39\x1a\x7b\xd6\x77\x6a\x77\x2c\x85\x69\xde\x89\x01\x23\x0e\x22\x0a\x1c\x94\x96\x48\x64\x42\xcf\x81\xac\x23\xa9\x08\xa8\xec\x32\x60\xf3\xdb\x5c\x7c\x46\x4b\x84\x82\x0a\x8e\x49\x68\x57\x43\x85\xa9\xe1\xdc\xc2\xeb\x69\xa8\x19\x9a\x8c\x96\x03\x45\x72\x06\xce\xd0\x9a\x2f\xb5\x60\x2a\xe6\x0f\xa6\xb2\xd1\x38\x60\x7d\xe0\xdc\xea\x96\x4a\xe1\xc1\xb1\xec\x6a\x35\xb4\xab\x5d\x07\xd1\xeb\x8c\xf6\x1d\x42\xab\x9e\x31\x0b\xd8\x28\x85\x47\x09\xbd\x0e\x8d\x77\x3f\xde\xb8\xd7\x37\xe1\xe5\x6b\x87\xb7\x37\x04\x3c\x20\xa1\xb4\xc2\x63\x1c\x74\x12\xb8\xe0\xdb\x34\x7b\xc1\x08\x3e\x7e\x8c\x0e\x99\xf7\xb6\xec\xc1\x04\xdd\x47\x89\x62\x02\xf7\xbd\xa2\x92\xbf\xef\xe6\x4e\x22\x7c\xe6\x37\x35\x07\x66\xdb\xe7\xce\xec\x14\x41\x6a\x26\x2b\x96\x79\xc4\x64\x70\x64\xc3\x6b\x03\xc8\x7b\x53\xd3\x8a\x62\x06\xd5\x25\x58\x4a\x20\x16\x04\xf5\xd2\x39\xa2\x5d\xc2\x23\x02\x0f\x43\xa7\xd4\x63\x09\x0f\xe2\x2a\xe6\x73\x07\x55\xd3\x78\x70\x02\xd2\xb7\x01\x83\x61\x1e\x18\x7f\xf8\x60\x5a\x5c\x92\xaf\x4b\xa1\xbe\xd6\x6f\xb4\xcd\xf1\x6f\x5c\xfe\x33\x33\xd4\xb7\xe6\x01\xf1\x4e\xf4\x23\x2b\x25\x70\xf3\x96\x51\x35\x30\xe0\x74\x5b\xb1\x1a\xd4\x0c\x6d\xe3\x31\x79\x47\x81\x00\xc1\x08\x94\x20\x95\x5e\xea\x3d\xd4\x07\x65\x92\x4e\xfe\xee\x0a\xbe\xb0\xb4\x73\x18\x5c\xcd\xb5\x85\x3f\x2e\xf8\x6c\xba\xc9\xa6\xf6\x17\x13\x09\xf0\xc0\xa1\x88\x85\x4d\x7c\xeb\x2a\xb6\x22\xe9\x5c\xe0\x78\xb0\xa9\x8f\x1e\xf5\x0a\x10\x6d\x86\x33\xda\xd2\x62\xb9\xe4\xea\x15\x2f\x99\x05\xf2\x1e\xc6\x10\x11\x25\xdb\xe8\xaf\x1e\x88\xd0\xf1\xb0\x99\x11\xdb\xdd\x34\x27\xe1\x4a\x1c\xbb\x72\x39\xcf\x2f\x5a\x70\xdf\xf6\xa3\x5c\xcd\xa4\xaa\x9b\xd1\x7f\x3b\x43\xd3\xec\x1b\xd3\xe0\x40\x03\xc8\x43\x37\xd5\xb8\x6b\x8b\x84\x0e\x7c\xa9\x19\x7c\xb2\x81\x26\x18\x5d\x47\x84\x1c\x69\xc0\x4a\x05\x9d\x3d\x7a\x44\x1e\x76\xed\x98\x1f\xde\xc1\x81\x96\xb2\x95\x27\x47\xbb\x59\x2c\x37\x72\x7e\x09\x99\x9a\xc2\x33\x8c\xfe\x23\xc0\x02\x1a\xe5\x91\x6d\x0a\x42\xc1\x81\x52\x59\x90\x79\xc7\xbe\x0c\x33\xe6\xe3\xc5\x45\xd8\xe9\xd4\xb7\x70\x7d\xf1\xfc\xe2\x28\xc8\x09\xaa\xef\x07\x25\x88\x58\xd5\xfa\x75\x9d\x15\x6c\x69\x7c\x45\xc0\x4b\x7e\xb6\x55\x8c\xbc\xbd\x7e\x31\x79\xf2\xbf\xe3\x28\x1e\x34\x94\xc1\xc6\x06\xa4\x0f\x7f\x6b\xc2\x1f\x87\x64\x62\x18\x1f\x8c\x57\x0a\xf3\xf8\x24\xab\x39\x42\x7b\x32\x6a\x6e\xa4\xfd\x68\xb6\x25\x64\x5c\xee\x3b\x98\x36\xa9\x2b\x71\xcb\x00\x21\xd5\xde\x10\x71\xea\xec\xaa\xe0\xea\x47\x9e\x33\xbd\x0a\x98\xa7\x77\x88\x3d\x98\x96\x92\x61\xf0\xd0\x64\x2a\xfc\x7d\x67\x16\x8e\xe9\x26\xb3\x3e\xfe\xd0\x80\x7e\x52\xf0\xa7\x24\xaa\x5a\xa3\x32\x95\x19\xe7\xad\xfa\xee\xd7\x36\x8c\xa0\x23\x5f\x7c\x50\x5e\xb7\xf2\x03\x27\x98\x55\xb3\x02\xbe\x7d\xbf\x10\xad\x8d\x69\x34\xa0\xe9\x7f\x53\x73\xc5\x76\xb7\x71\x9f\x65\x0a\xee\x9b\x7b\xac\x8d\xbb\x29\x0c\x11\x44\x15\x97\x74\x3b\x63\x67\x05\xaf\xce\xf0\xb5\x0d\x00\x13\xc3\x7b\xfc\xf1\x49\x8a\x17\xde\x13\xf6\xf5\xa0\x25\xb3\x5f\x94\x17\x2b\x55\xad\xd4\x87\x51\x34\x92\x5f\x83\xa0\x66\xe0\xe1\x9d\x10\x6b\xc4\xc4\x88\xad\x68\x41\x8c\xc4\x31\xc9\x96\x55\xb0\x8e\x49\x04\x02\xa7\x47\xee\xbb\x51\xcb\x35\x5f\x68\xc4\x5a\xa0\x55\xc5\x28\xda\xed\x73\x61\x7b\xbd\x62\xaa\x21\xff\x5a\xe9\xd5\xa2\x11\xac\x8a\xa2\x03\xd2\x1e\xaf\x2b\x08\x3b\xb5\xf2\x6d\x3c\x33\xe2\xa4\xfa\xaf\xbf\xbf\xb8\xfe\x1a\x07\xb3\x14\xd2\x83\xc5\x48\x3d\x14\x42\x7e\x64\x9a\x83\xf0\x38\x23\xba\xb9\x85\xd0\xe3\xfa\x4a\xcc\xe7\x13\xcd\x6a\x7d\x85\x80\xb5\x16\x95\x96\x2b\xe3\x77\xf7\x33\xd2\xc7\xcf\xc0\x75\xfd\xac\x96\xab\xbb\x9f\x3d\x40\x84\xe5\x93\x74\x7b\x85\xc8\x68\xd1\x66\x98\xc6\x46\x87\x80\x38\xb2\x91\x1a\x00\xf5\xd3\xa0\x21\x9a\x54\x8b\x55\x75\x50\x2d\xf2\x12\xa1\x70\x4b\xc5\x4b\xcc\xce\xbb\x11\xf5\xad\x16\xbf\x61\x5a\x2b\xc9\x6a\x69\xd4\x9b\xec\xae\x0a\x13\xdb\xb7\x8c\xc4\x56\xa3\xda\x34\x20\xb5\xa0\x08\x03\x3a\xe9\x6a\x06\x49\xb0\xd9\x52\xac\xbe\x8e\x1a\x1b\x5b\xeb\x11\x2f\xb3\x62\x25\xf9\xba\x47\x2a\xe0\x18\xcc\x25\xe2\xcb\xec\x5c\xc6\xd1\x78\xbc\x47\x83\x9f\xec\xc9\x09\x39\xd4\xef\x74\x34\xee\x93\x2e\x10\x79\x7c\xa0\x82\x68\xd8\x40\x13\x0d\xb8\x41\xab\xa2\x38\x6e\x7f\xc5\x66\xc3\x02\xed\x84\x8d\x8d\x96\xdc\x08\x77\x36\x17\x8e\xba\x25\x3d\x44\x46\xa9\x2a\x30\x04\xd2\x2c\x13\x75\x1e\x48\x14\x3f\x5c\xb7\x33\x81\x1b\xbb\xcb\x21\x59\x95\x05\x93\x0d\x87\xab\x1b\x2a\xc9\x0c\x45\xb7\x22\xb7\x29\x7e\x6a\x9e\x29\x2f\x1f\x18\x41\x42\x8a\x25\x23\x9a\x97\xa9\x8d\xc5\xe3\xa5\x72\x5a\x35\xfd\x20\xc2\xf7\x1f\xae\x9b\x17\x0b\xe6\x1a\xcf\xe3\xe6\xac\x0a\x6d\xb7\x2d\x4a\x89\x0a\x68\x1f\xe7\x1b\x8d\x7b\x20\xdb\x24\xbc\xdb\x2e\x65\x69\xec\x3a\x05\x54\xe2\xae\xe8\x68\xef\x1e\x9a\xe4\x15\x2d\x8f\x98\xb0\xd4\x71\x60\xc5\x3e\xec\x32\x25\x9a\xf3\xf2\x79\x1b\xa7\x3a\x33\x7f\x84\x3b\xca\x55\x6b\x2f\x51\x99\xd7\xdc\x4e\xb7\x97\x37\x7c\x71\xd3\x6f\x33\x43\x38\xc9\xd6\x7e\xf6\xdc\x4c\xb3\x04\x5f\x7e\x43\xed\x49\xdf\xbb\xa7\xf6\xb0\xed\xdd\x56\x53\x30\xdc\xd9\xee\x4b\x24\xcc\xcb\xf3\xa6\x16\x5a\x38\x26\x94\x0c\x7e\x2a\x07\x9e\x89\x0e\x4c\x70\xc1\xd3\xcb\x5d\xd4\xe1\x1c\xb1\xd9\xc4\xa6\xb5\xc1\xca\xf3\xee\x68\xcc\x04\x7b\x1d\xe8\xa2\x9d\xc9\x2e\x52\x6b\x05\x7b\x63\xef\x8b\x60\xc9\x5b\xb2\x3d\xb4\xe4\xbc\x66\xf4\x5f\x17\xea\x86\xd5\x1b\x8e\x5a\x69\x2e\x41\xfb\x1a\x71\x0c\xca\x01\x52\x00\x8a\x83\x19\x31\x44\xec\xef\x37\xe4\x1b\xe9\xb3\x03\xce\x04\x3a\x38\x55\xe7\x65\x7e\x31\xbf\xb2\x7a\x9e\x9d\x12\x24\x18\xa2\x4e\x02\xfe\x35\xf1\xbf\xbd\x66\x8a\x06\x9b\xd6\x45\x2f\x1e\xfd\xf9\x54\x1f\x8d\xab\x88\xa7\xd1\x1c\x56\xa6\xf8\x9a\x19\x90\xea\x35\xab\xed\x96\x59\x9b\xf4\xb4\x97\x4c\x8c\x33\x4a\x12\x64\x24\x68\x22\x63\x63\x80\x66\x02\x05\x8f\x1f\x19\xbe\xa6\x63\x52\x39\x98\x3f\xc7\x20\x4e\x43\xfe\xd9\xf6\xf2\xb6\x1a\x3e\x69\x60\x39\x77\x5a\x6d\xf6\xcc\xc0\x22\x69\x47\x58\xda\x89\xed\xed\x35\x23\xab\xaf\x75\x86\x79\xc8\x8b\x8d\xcc\x26\x80\xa2\xac\x54\x2c\x38\xb7\x08\xf5\x70\xfa\xdb\xcc\x2a\x18\xfc\xa9\x81\xd8\x83\x0f\x63\x42\xf3\x35\x35\x1a\x61\x3b\x1c\x68\x40\x9f\x4e\x83\xb3\x88\x30\x7f\x88\x29\xf3\x05\x06\x67\xa0\x92\x42\xc4\xcf\x5e\x4b\xbf\x77\xe1\xa7\x84\x9c\x06\x77\x4f\x78\xe5\x38\x65\xa2\x6d\x09\x38\x5a\xe7\xf1\xe3\x58\x95\xd6\xb5\x33\xf5\xac\x50\x08\xd3\xfd\xa4\x9d\xba\xa3\xb9\xb4\x81\x66\x5e\x5f\x0f\x00\x1f\xdf\xbc\xa2\x82\xd6\xbf\xc8\x72\x46\xbc\xd8\x2b\x7e\x0b\x9e\x1d\xa8\x44\x1b\x13\x76\x97\xb1\x4a\x8b\x0c\x1c\xdc\x9d\xc2\x1d\xef\x05\xd9\x55\xf0\x92\xbd\x60\x2c\x81\xad\x7d\x6f\x84\xa7\x94\x86\xaf\x15\x80\xb5\x5a\x96\xc3\x14\x1a\xd6\xcb\x39\xa4\xfd\x3e\xa3\x75\xcd\xe9\x82\x19\xe6\x05\x51\x8e\x50\x39\x15\x4e\x5a\xef\x84\x1d\x39\xfa\x7c\xec\x46\x22\x5c\xa6\xa7\xd8\xd6\x4b\xb4\xc7\x10\x71\xe9\xd1\xdc\xda\xac\xb7\x1f\x52\x6b\xdf\x9a\xc0\x79\xab\x0a\xac\xc9\x70\x2a\x2b\x21\x25\x9f\x15\x5b\xa3\x66\x07\x16\x27\xb0\xc7\x26\x1c\x49\x3c\x24\x13\xc4\x3a\x41\x10\xfd\x3e\x4f\x8f\x1a\x23\x2e\x5e\xed\xdc\xf0\x40\x9e\x71\x9e\x6c\x01\xeb\xea\x33\x84\x67\x4e\x57\xb1\x87\x3a\x6a\xb1\x39\x0e\xac\xfd\xae\x52\x20\x99\x44\x4b\x8c\x6b\x00\x6e\xae\xa9\x03\x99\x3e\x56\x97\x62\x13\x36\x6e\x15\x7a\x0d\x29\xa6\x2a\x68\xc6\x00\x11\x2c\xc6\xeb\x01\x45\x26\x9b\xab\x8e\xec\xc6\x3e\x9c\xad\xa2\xa8\x82\x68\x71\x56\x71\x1c\x02\xa2\x73\xa1\x9e\xb4\xaa\xc5\x8c\xea\xbd\xfd\x1a\xed\xb4\xa8\x4d\x08\xfa\x87\x50\x37\x93\x86\x02\x06\xa8\xdb\x83\x2e\x29\x76\x38\xf2\x30\x6f\x68\xdb\x0b\x6b\x53\xc0\x18\x9a\xb1\xad\x30\x40\xd6\xf1\xd8\x1f\xf4\x07\x62\x67\x35\x95\xec\x5a\xbc\xd2\xeb\xb0\x83\x3d\x4a\x27\x42\xe9\x38\xe8\x87\x6d\x03\x74\x53\x25\x87\x69\x53\x17\x4c\xfd\x78\xc3\x15\x83\x09\x37\x72\x9b\x3e\x26\x4f\x46\xf7\x49\x86\x70\xae\x27\xe2\x9c\x73\x83\x74\x5a\xad\x3d\xaf\x43\xa1\xc6\xdd\xdd\xcd\xb3\xe6\x54\x54\x5a\x40\x29\x83\xb3\x16\xb3\xd4\x98\x53\xd8\x05\xa5\x1a\x0c\x5d\x73\x42\x55\x00\xf5\xd6\x2a\xa3\x4c\x1e\x22\xe0\xb3\x8d\xa5\x0d\x16\x42\x46\x1e\x1e\x68\xb6\x0d\x54\x4f\xab\x72\x2e\x6a\xb5\x2a\xa9\x62\x41\x4e\x23\xd4\x91\x59\xe7\x6f\x68\xc7\x70\xf0\x88\x19\x08\x8e\xb0\xce\x27\x38\x88\x78\xcc\xf9\x7c\xce\x33\x00\x05\x03\x37\x4e\x46\x56\x55\x40\x8b\xc6\x0d\x11\xd1\x38\xd8\xb2\x52\x5b\xd3\x38\x84\x53\x81\x66\xa8\x1c\x28\xa2\x6a\x5e\x59\x70\xbb\xd0\x64\xfb\xc0\x24\x5a\xb2\x0b\x67\xc8\xed\x12\x93\x3f\x4a\xc2\x17\xa5\xa8\x99\x75\x61\x25\x98\x16\x1c\xc1\xb5\xa8\x83\xcd\x35\xda\x2f\xbb\x06\x39\x5b\x73\xaa\xd0\xd4\x08\xfe\x39\xa0\x0e\xc4\x29\xd1\x45\xcd\x98\x31\x2f\x2c\x4a\xb1\x64\x13\x27\xd4\x68\x26\xe8\x56\x94\x52\x14\x6c\x4c\xee\xe6\x19\xfb\x5f\xee\xdb\x94\x90\x2b\x86\x47\xbc\x9e\xad\x16\xd3\x4c\x2c\x0f\x9e\xfe\xcf\xa7\xff\xf3\xf7\x87\x20\x96\xe6\x4c\x51\x5e\x74\x9a\xba\x45\xa5\x3e\xa4\x3c\x49\x62\xca\x83\x99\xf7\x3b\x8c\x97\xcd\x54\x97\xae\x87\xc6\xfb\xb5\xcf\x58\x17\xc8\x9a\xce\x9c\xb8\xa4\x77\x67\x5f\xc4\x6a\x15\x1a\xef\xfc\x12\xfc\xd1\x27\x90\x71\x3f\x8e\x5d\xa7\x23\x72\xe4\xfe\xdd\xd2\x52\xa7\xd4\xe9\xc1\xa9\x39\x39\x69\x26\xdf\x4c\x55\x78\x7e\xfe\xe2\xf4\xed\xab\xeb\x0f\x67\x17\xaf\x2e\x2e\x43\x5f\xb9\xfd\x2e\x64\xef\xf6\xbc\x67\xef\xbd\x33\x5c\xd2\x80\x53\x8a\x1c\xf3\xf1\x79\xef\xb2\x11\xf9\xf6\x24\x6d\xa3\xd8\x69\x93\xec\xb0\xe1\xe0\x55\x70\x76\x43\x6b\x39\xcc\xda\x39\x70\x12\xe9\x94\x87\xbb\xb1\x4b\xfb\xde\xef\xf7\xb9\xc4\x61\x5c\x7b\x2f\xee\xdd\x43\x6e\x5d\xeb\xe1\x65\xdb\xc1\x1b\x75\xde\xd7\xfb\xce\xdb\x3e\xcd\x40\xaf\xa5\x09\x26\xe2\xec\x38\x5f\x70\xfe\x0d\xe6\xc5\x03\x78\x36\xe2\x2c\x8c\x37\xcc\x6e\x8e\x60\x4c\x6a\xb6\xa0\x75\x0e\x4a\x3c\x31\xef\xb2\xde\xfc\xfa\x95\x3d\x9d\x69\xee\xf7\xde\x4b\x6b\x17\x27\x60\x4d\xcc\xcf\x49\x57\x61\x97\xb4\x29\x32\x7f\xee\x91\xc3\xb8\x17\x5a\xf7\xee\x63\xe8\x81\xf6\x5b\x6e\x66\x07\x6e\x6f\xdb\x9d\xc6\x44\x7a\x80\x7a\xe2\x6f\xb4\x95\xcf\x58\x32\x39\xfb\x3d\xb7\xf2\x32\x48\xc5\x17\xe5\x26\xd9\xa5\xe8\x6c\x6c\x7b\x98\xa4\x0b\x21\xa3\xbf\x3d\x31\x0d\xfd\xe3\x13\xc0\x0b\xde\x4c\xbf\x63\xd8\x2c\x83\xf6\xdb\x12\x30\x7c\x38\x43\x00\xa0\x6b\x7c\xb5\x76\x5a\x5f\x9b\xd0\xa5\xd9\x0d\xd2\x81\x73\xe8\x30\x58\x9d\x36\xe8\x77\xce\x8b\xbd\x01\xe7\x7a\xf0\x61\xb0\xc0\xcd\xfd\x88\xa0\x7b\x33\x0e\xed\x66\xb8\x9d\x46\x57\xff\xc3\x63\xf8\x47\x1b\x5e\xd6\xf8\xc7\xeb\xaf\x7e\xc7\x5d\xe5\x4c\x14\x58\x59\xff\xa3\x13\x9b\x36\x13\x45\xdb\x5b\xa2\x73\x88\x20\xb1\x67\xa2\x48\xa7\x9d\x6b\xbe\x8c\xd9\x4d\x32\xe3\x6a\x5f\x29\x06\x8f\xbb\xe2\x35\xb3\x68\x6e\xc0\xbd\x16\x8c\xc6\xda\x04\xaa\x8c\xc1\x3c\x0d\xb4\x1c\xd2\xc9\x4e\x22\xe9\x74\xb2\xf4\x18\xca\xee\x6d\x11\x15\x03\x94\x56\x30\x87\x1b\x1c\x63\x69\xad\xaf\x8d\xb7\xc7\xa8\xf2\x7a\xc0\x6f\x37\xd3\xcd\x7d\xb6\x0f\x66\x8f\xa4\x47\x0f\xa2\x9c\x47\x27\x27\x51\x8a\xc5\x73\x14\x71\xbc\xb3\xae\xd7\xfa\x4e\x1f\x90\x76\x9e\xf8\xd4\x93\x94\xb8\x8d\xcc\x38\x9c\xa4\x9c\xba\x87\x4c\x99\xce\x1b\xa8\xb3\x8d\xc3\x56\x10\x43\x27\x19\xe9\xeb\x46\xac\x8c\xee\xc8\xaa\x4c\x3b\x00\xe7\xf7\xbe\x1b\x64\x2f\xbd\xa1\x2d\xf0\x1f\x93\xe4\xbe\x20\xb9\xb9\xdb\xcf\x6e\x61\x83\xb9\x2f\x44\xa4\x18\x4d\xe6\xcb\xea\xdc\x5d\xff\xe0\x8d\x49\xa4\x22\x89\xb7\xdc\x87\x88\x20\x16\x35\xe8\x13\x30\xae\x23\x9d\x17\xa0\x19\xbf\x9c\xf4\x00\x6e\xfa\xbf\x80\x9b\x7a\xb5\x92\x37\x18\xe9\x11\x9a\x99\x69\x6d\xdc\x52\xa4\xd2\x32\x1d\x84\xc5\x95\x03\x85\xd9\x8e\x56\x55\xa7\x73\xfb\x68\x47\x3a\x8a\xb6\x50\x8d\x33\x72\x33\xdc\x0b\xad\xed\xb4\x8a\x9f\x13\xe6\xd6\xa1\xd3\x6c\xb3\x2e\x2d\xc3\x30\xee\x76\xd6\xcc\xa9\x6a\xc4\x61\x53\x79\xe2\x7b\x8e\xd2\x15\x2d\xc5\x9a\xa1\x8c\x6e\x02\x43\x1b\xd1\x29\x41\x3e\xda\xda\x46\x2b\x41\xfe\xd9\x5b\x46\x6a\x21\x96\xfa\x52\x7a\xe0\x12\xd4\x1a\xeb\xc9\x50\x8e\x4c\x10\x6f\x16\x36\x9d\x73\xa9\xd0\x66\x84\x21\x2f\x10\x12\x60\x13\xd3\xf8\x81\x9c\x24\xc6\xac\xff\x0d\x1f\x1f\x23\x9b\xa6\x2f\x55\x57\x23\x70\x33\xf3\x61\x9a\x41\xd4\x95\x2b\x38\x0e\x1a\x7c\xec\x3c\x27\x5b\x5c\x9f\x75\xef\x4c\xe6\x08\xe9\x1b\xec\x45\x1e\x93\xfb\xf1\x7d\x9d\xe7\xcb\x04\x53\xf4\x3c\x5f\xdf\xbb\xf8\xe0\x1a\xa2\xc7\x52\x11\xb9\x6d\x67\x35\xbd\x9d\x18\x3c\x05\x0a\xe2\x29\xd1\xed\xc0\x8d\x6a\x9b\x42\x27\x0b\xb0\x4d\x42\x2c\xaa\xa9\xb4\xaa\x8c\x8e\x4e\x0f\x16\x62\xb0\x20\x9d\x83\x41\x12\x30\xd0\xba\xf7\x89\x2d\x75\x87\xce\x28\x23\xf7\x01\xb9\xeb\x42\xfd\x0e\x5d\x27\xc7\x88\xfe\xb2\x55\xc4\xf0\xb7\x5e\xf7\xee\xb3\xd7\x56\x76\x39\xfa\xd5\xad\x1a\x8a\xed\x3a\x9f\x4e\x5d\xe5\x1b\x12\x6b\x76\x65\x22\x97\xfc\x49\x68\x52\x3f\xfe\xf0\xf0\xc4\x37\x90\x3a\x05\x90\x1e\xc9\xf6\x64\xdb\xdd\x21\xe0\xb6\x62\x61\xf7\x90\xbb\x1f\xeb\x7d\xc9\xfd\x4b\x89\x39\x2f\xe1\xda\x95\x41\x00\x95\xa7\x25\xa3\xe2\xee\x97\xf3\xa6\x83\x05\x69\x58\xbf\xfa\x92\xb1\xe9\xfa\x7e\x8f\xc7\x15\x9c\xa4\x5f\x45\xc7\x10\x02\xdc\xa9\x2c\xd3\x4c\x45\x22\x43\x57\xe4\x05\x6d\x82\x78\xfb\xf8\x0f\x7f\x31\x51\x15\x13\xb9\x4d\x7c\xd8\x58\x90\x2e\x26\xa9\xe4\x76\x39\x55\xfc\xde\x26\x6c\x51\xbd\x5f\xfa\x58\x7d\x7e\x8f\x9b\x07\x14\xa4\x3b\x76\x0c\x4b\xe5\xcd\xc7\x3e\xad\x5d\x35\x99\xbe\xa1\x82\x0b\xc7\xe8\xd0\x3d\x73\x69\x98\xd3\xe1\xa8\xad\x79\xee\x52\x23\xde\x33\x97\x9b\x19\x4b\xea\x4c\x47\x14\x93\x22\x37\x5b\x37\xac\xdc\x49\x26\x9f\x1e\xf4\xa7\x95\xab\x1b\x3e\x57\x11\x52\x49\xfc\x9a\xad\x2a\x4d\x4a\x92\xcc\xb6\x09\x03\x1d\x3c\x2e\xc9\x97\xd2\x61\x21\x18\x82\xda\xe1\xff\x0b\xb0\x39\x46\xb9\xf2\x00\xe0\x72\x35\x57\x94\x5b\xf8\xa4\x6b\xcf\x07\xe1\xed\xa1\xcb\x6a\x16\x76\xa5\xbc\x9d\xd7\xde\x45\x60\x2a\xa3\x7e\x5b\x43\x26\xd9\xd2\x54\x90\xb8\xd1\xd8\xd7\x62\xd6\x16\xe7\xa0\x08\x2d\x0a\xcb\x35\x83\x97\x0a\x42\xe6\x84\xa1\x6f\x7a\xa2\x9a\x67\xee\x71\xe5\x01\x54\x73\xfb\xca\xdb\x79\x8a\x6c\x38\xb3\xf3\xc0\xda\x75\x7e\xbc\x4f\xd6\xe7\x5f\x78\xdd\x96\xfa\xa4\x63\x41\x80\x12\xea\xd9\x86\x61\xc0\x06\xf6\x54\x9c\x04\x24\x38\x03\x5d\x65\x20\xd8\x42\xc6\x85\xfd\xb4\x17\x6f\x70\x0f\x71\xa8\x0f\xcd\x76\x79\xbf\xff\x73\x12\xac\x17\xf5\x22\x9a\xfd\xed\x28\xb1\x99\x46\xbc\x61\x09\xfd\xf5\xaa\xc7\x24\x51\x5a\xa6\xa9\xe5\x99\xe2\xbb\xef\x45\x9b\xcd\x50\x99\xfd\x5c\x8e\x01\xee\x49\x04\x8f\x87\x5e\x9f\xf3\x96\x37\xbd\x6e\x66\x20\x6a\xbe\xe0\x25\xc4\xe7\x0e\x08\x02\x47\xe7\x90\xd2\xad\xd9\x5c\x02\xc0\x42\x58\x07\xdc\xce\x3d\xd5\x43\xb3\x64\x19\x04\x65\xc4\xd2\xce\x7d\xab\xf5\xcd\x2f\x19\xef\x5a\x48\x11\x56\x31\xeb\x12\x3b\xb6\xbd\xbb\x70\x5d\xc2\xa8\x33\x4b\x14\x97\x66\x61\x3a\x94\xbd\x36\x2f\x61\x0f\x57\xa4\xee\xba\xbb\xdc\xc1\xc2\x8d\xe1\x4a\x26\xd3\xed\xa7\xb8\xdb\x5a\x6c\xd2\x4c\xaf\xc9\xb1\xba\x7b\x31\xd3\xb3\xde\xb9\xa8\xbd\x9d\xc4\x50\x71\x8f\xdc\x47\x56\xd0\x65\x35\x44\x4b\x4d\x2b\xa4\x06\xfe\xd9\x25\xc0\x19\xed\x89\xf1\x42\x0c\x5b\xb3\xf9\xfa\x0e\xc7\x9d\xee\x0b\x09\x66\xba\xad\x55\x8b\xb7\x69\xc7\x16\xd9\x13\xe8\x78\xdf\xdf\x76\x6f\xd2\x54\xb5\x73\x6f\x92\x4b\x9e\x5c\xa1\x20\x08\xe9\xef\xb7\xc0\x8d\xcb\xb0\x5f\x4a\xda\x2f\x75\x83\x9c\xd9\x29\x27\xd3\xd4\xfe\x5a\x47\xed\xd4\x74\x83\x78\x9c\xf4\x8c\x93\x71\x2b\x9f\x39\xcf\x45\xf7\x3c\x93\x68\x78\xbb\x3c\x7c\xba\xb7\x2c\xd2\x1c\xff\xb3\x3d\x5d\xf1\x1c\xee\x73\x18\x2f\x63\x0b\x78\x6d\xd1\x10\xfa\x3c\x08\xfb\x17\x7c\x1f\xd5\x04\x8b\xde\x97\x64\x7a\x21\x5c\x26\xe7\xd6\x9b\x58\xea\x46\xa2\xf0\x4b\xc4\x8e\x46\xef\x40\x15\x23\x46\xd6\x00\xd7\xae\xdf\x39\x56\xcc\x89\x14\x31\x03\x64\xbe\x86\x69\xf8\xa9\xdc\x96\xd9\x4d\x2d\x4a\xb1\x92\xc5\x76\x0c\x55\x4c\xca\x0a\x58\x18\x5a\x40\x72\xd7\xec\x96\x6c\x78\x09\x06\xf2\x0d\x46\x95\xda\x94\x7d\x50\xc4\xc3\xe6\x66\x82\x16\x4c\x66\x16\xe0\x8a\x5a\x6c\x5e\xec\x7a\x1f\x39\x44\xa0\xf3\x1f\x76\x78\x95\x2b\x44\xc8\x97\x1f\xa6\xd8\x70\xd2\x0d\x0f\xd6\x00\xdf\x51\x77\x99\x36\x2b\x92\x93\x10\x70\x3f\x01\xc7\x6f\x74\x33\xba\xad\x56\xe5\x63\x07\xd9\x5f\xcc\xa3\x48\x6f\xfc\xfc\xc1\x41\x71\x24\x10\xd0\xba\xf7\x70\x16\x20\x7d\x45\x2a\xec\x08\x97\x05\x8f\xfc\xdf\x63\x2b\xbd\x70\xe1\x43\xd0\x41\xde\x69\x84\x42\x7b\xd9\xda\x08\x67\x7e\x8e\x63\xa3\x36\x97\x81\xf5\x57\x37\x96\x0b\x2f\x79\x79\xaf\x8b\x30\x0c\xb1\x07\xf5\x04\x90\x78\xbd\x28\x48\xba\xf2\x9f\x41\x45\x32\x14\xa1\x3e\x87\x92\x7c\x03\x9d\xd4\xd4\xc6\x0d\x80\x22\x4d\xdc\x00\x43\x69\x4f\x0e\x77\x33\x5b\xab\x0a\xdc\xdf\xdb\x6a\xc6\x14\xd4\x54\x2f\x69\x73\x19\xf7\xb0\xcf\x30\x0c\x85\x3a\xd5\x1f\xe1\x85\x88\x45\xf5\xda\x0c\x27\xa1\x22\x77\xf7\x04\x41\x15\xf1\x0f\x30\xc5\xa6\x5c\x1d\x4c\xd2\x1a\x45\xfc\x9c\xac\xdd\x65\xc9\x4b\xf4\xa2\x70\xf1\x91\x09\x11\x8b\xfc\x31\x2d\x1c\x90\x23\x23\x54\x1b\xbb\xcc\x67\xb5\x64\xe5\x03\x72\x94\x0a\xbe\xdc\xc9\xee\x3e\x08\x31\x44\x43\x86\x77\x7f\x48\x16\xda\x6a\x3a\xc3\x3d\xdd\xb2\x8c\xfd\xbc\xa2\xe0\x88\xb6\x2a\x0c\xc1\x42\x77\xd0\x09\xc4\xa5\xa4\xe9\x04\xd9\x85\x10\x60\xd7\x84\xf8\x34\x31\xba\x34\x37\x66\x58\x29\xb8\xd2\x8c\x83\xbd\xc3\xe8\x85\xf2\x95\xb9\x42\x2d\xe0\x85\x95\x40\x6b\x54\xa1\x95\x64\xc3\x20\x74\x01\x9d\xfb\x21\x9d\x35\x94\x0b\xfa\xa2\x92\x6c\x58\x3b\x69\xf6\x6e\xe5\x3e\x4e\xe2\x73\xc9\xb7\x19\xae\xb2\x87\x7c\x23\xf3\xdc\xb7\xe4\x49\xf2\x2e\x35\x33\x3f\xbb\x5f\xec\x5b\x5b\xdb\x60\x76\xe3\xc7\x16\x52\x53\x6f\xb7\xfd\x16\xb2\x13\x97\x41\xf4\xb6\xd1\xb0\x63\x14\xcb\x92\xd6\x0b\x5e\x8e\x21\x71\xc9\x6a\xc9\x20\xb8\x0c\xa7\xa9\x04\x59\x30\x45\xb8\xf2\x6d\xc1\x3e\xda\xc0\x27\x2a\x2d\x04\xb1\xf5\xe3\x81\x28\x57\x5a\x55\x05\x67\x26\xbf\xfd\x06\x42\x34\x79\x69\x29\xcc\x37\xd5\x20\xb5\x69\x08\xa3\x34\x99\xf4\x71\x4b\x0f\x30\x82\x1e\x66\xde\x56\xda\xf6\x55\x77\x76\x94\x92\x6d\x7a\xfa\x68\x04\x35\xdc\x76\xc6\xdb\x3b\xf1\xa0\x3a\x38\x06\x5f\xf4\x5b\xef\x0f\x46\x7c\x9f\xe6\x1f\x13\xb4\x15\xcf\x0b\x21\x6a\x43\x4f\x07\x69\x39\x79\x64\xbd\x57\x83\x1e\x2e\xc1\x99\xf1\x30\xc4\x3e\x3a\x38\xb0\x68\x36\x85\x14\xb0\xac\xc6\x23\x58\x1f\xc0\xc3\x68\xb7\x90\x9d\x27\x8d\x81\x75\x5c\x7a\x8f\x6d\x89\x7f\xed\x72\x9e\x6c\xc0\x20\x85\x6b\x95\x16\xfc\x1f\x07\x65\xda\xad\x6e\x02\xd8\xac\x07\x09\xbb\x96\x93\x87\xd0\xd8\x4e\xef\xcc\x82\x68\xf6\x73\xec\x5b\x46\xca\x88\x14\x6e\xcd\x9d\x74\x0d\x24\xb7\xb4\x69\xf0\x6e\xd8\xd5\xc2\x8e\xf6\x29\xe7\x60\x21\x7b\x5d\xc2\x7f\x8b\x3b\xaf\x15\x15\xf4\x45\x2e\xbd\x94\x0a\xa8\x7f\xa0\x4a\xf7\xa3\x48\x48\x5f\x0d\x52\x8f\x28\x61\x93\x35\x0c\x1d\x95\x45\xcd\x4c\x44\x90\x7e\xd4\x9a\x61\x75\x72\x27\xd0\x3e\x5e\x71\x56\x20\x60\x77\x46\xc8\xd9\x50\x49\xb4\x50\x54\xba\x34\x2a\x09\x6b\x4a\x1c\xeb\xa9\x05\x24\x3c\xb8\x4a\x10\xc9\x20\xe0\xdd\xbe\xc3\xde\x99\xce\xe0\x9a\xf8\x9e\x8c\xbe\x03\xf0\x52\x82\x1e\x7d\x77\xb6\x18\x48\x4d\x10\x91\xc7\xcb\x8c\xe7\xcc\xcb\x1e\x26\xa0\x10\xd4\x26\xa5\x98\xb8\xaa\x03\xb3\x00\x53\x42\x5e\x6f\xc9\x62\xc5\x24\x84\x0b\xba\x48\xd4\x52\xb4\xec\x35\x33\x21\x0a\x46\x4b\x40\x6b\x55\xcc\xa2\xb5\xa2\x37\x99\x64\xfb\xfc\x23\x1a\xe9\xdc\x1a\x70\xaa\x8a\x05\xda\x91\xe6\xe3\x68\x2b\x40\x39\xfb\x8c\x06\x95\x52\x00\x65\x4c\xbd\x70\x5b\xdf\x91\xd2\xb3\x99\x1c\x74\x30\x6a\xd8\xc9\xc3\xd6\x9e\xb9\xc2\x1d\xad\x79\x4a\x8b\x5a\x4b\x18\x03\xee\x39\xcc\x8e\x86\x3f\x73\x98\x1d\x93\x8e\x83\xa0\x7d\x3e\x14\xa3\x78\x9b\xb1\x86\x98\x0c\x92\x35\x64\x4b\x28\x28\x82\x8a\xeb\x22\x84\xae\x72\xae\xef\x2b\x48\x75\x40\x4b\x22\xca\x8c\x91\x8a\x69\xd1\x33\x13\xe5\xde\xe0\x73\x5e\x2e\x9e\xb1\x38\x6c\x20\x20\x0b\xbc\x5b\xc2\xec\x95\xb3\x78\xb6\xa4\x19\xf2\xe7\x56\x66\xd1\x5e\xe7\x51\x97\x58\xbc\x5b\xf4\x05\x79\xb5\xc7\x48\xb0\x60\x77\x06\x59\x27\xe4\x3e\x3d\x3c\x74\xee\x9c\x7a\x0d\xaf\xfe\xef\x8a\x15\xd9\x8d\x19\xc2\x07\x77\xff\xcc\x84\x3e\xf9\xb0\xbe\xfa\x26\x2b\x85\xe2\x73\x9e\x21\x98\xb8\xae\x07\xd0\x2d\x8e\x69\x4c\xb4\xd4\xba\xd1\xa3\xc2\xa7\xba\xe5\x0f\x8d\x34\x49\xb2\xce\x06\xa3\xe8\x8c\x05\x45\xf5\xce\x47\x4e\x29\xd0\x27\x6b\x0c\x7f\x9f\x2a\x81\x78\xa4\xe9\xf4\xb0\x1d\xe7\x11\x64\x89\x1c\x93\x6f\x0e\x0f\xdb\xc7\xab\x47\x4b\x9f\xa2\x89\xe7\x4c\xde\x2a\x51\x7d\x1f\xac\xa5\xa6\xbf\x0f\xde\x77\x27\xc8\x66\x4d\xe5\x0b\xcc\x8d\x18\xa5\xab\x72\xf8\x9c\xb0\x21\xed\x05\x09\xdb\x7e\xc5\xa5\xfa\x60\xd2\x57\x99\x72\x0e\x00\xf5\x0a\x91\x00\x36\x8c\xa8\x1a\x62\xa8\x6b\xca\xcd\x1b\xb6\xe1\x65\x2e\x36\x00\x00\xf8\x47\xa8\x54\x4e\x45\x09\xe9\x48\x1b\x07\xc5\x10\x67\x21\x20\x02\x2b\xea\x5a\x7e\x18\x8e\x8e\xc9\xa7\xd6\x51\xb7\xba\xfa\x40\xa3\x4e\x66\x5c\x05\xe2\x62\xf8\x05\xde\xc4\x31\xc9\x58\x0d\x30\x22\x1e\x48\x2d\x0d\xb6\x65\x13\x3f\x11\x97\x66\x4a\xb3\xa9\xf0\x9a\x30\xc5\xda\xda\xfa\x56\x74\x12\x09\x91\x9e\x90\xc5\x85\x84\x37\xb2\x12\x65\x1e\x82\x47\x07\x7e\x13\x6d\x95\xbf\x9d\x8c\x8d\x05\x80\x20\x81\xf9\x7c\xdf\xf3\x56\xaf\xec\xcb\x16\xae\xc1\x18\xc1\x3d\x21\x20\xaa\xec\xf5\xea\x5d\x78\x15\x45\x9f\x37\x4f\x84\xc5\xdd\x8b\xd7\xc1\x1d\xb7\x63\x39\xec\x86\x1a\x97\xfe\xc4\x86\x86\x5f\xcc\x86\xb2\x3b\x2e\x11\x12\x47\xb3\x1e\x31\x50\x44\xe4\x5a\x64\x14\xaa\x10\x52\x88\xfe\x1e\x86\xef\x6d\x3a\x94\x83\xf1\x44\xb7\x16\xef\xa1\xfd\x95\xb8\x10\x28\xd8\x45\x5a\x6e\xe3\x31\xfc\xfa\x2d\x0b\x66\x79\xff\x2d\x7b\xe9\x80\x67\x7b\x6d\x19\x0f\x8b\x9b\x2d\x4b\x6c\x09\x5d\x69\x0e\xcd\xe0\xc6\x58\xed\x60\xbc\x37\xc9\x22\x0e\x83\xad\x24\x54\xaf\xed\x72\xce\x22\xb0\x65\x90\xf2\x0d\x52\x39\x3a\xe0\x50\x89\x38\x48\x05\x2f\xd9\xd8\x5b\xbc\x7c\xd2\x6a\x49\x21\x59\x37\xa1\xe0\xd3\xa4\xdb\x33\x5e\x44\x39\x9f\xcf\x59\x0d\xa0\x0a\x33\xc1\x0b\x89\xaa\xec\x0d\x30\x97\x9b\x1b\x06\x40\x13\x7a\x77\x45\xc2\x2a\x6b\x38\x59\xf6\xe5\x19\xc7\xd3\x36\xe8\x4f\x9f\x7d\x49\x60\x05\xed\xda\x9f\xa6\x42\x2c\xde\x9a\x84\xba\xac\x79\x17\xda\x6b\xcf\xe4\x5f\x6d\xf8\x95\x29\x14\xd8\x83\x5b\x2b\x8a\xc7\x9e\x0b\x5d\x41\x1f\x00\x04\x3b\x8c\x30\xee\x42\x3c\x3e\x90\xba\x9c\x41\x05\x60\x32\x9a\x70\x58\x98\x59\x2c\x48\xf6\x07\x47\x8d\x54\x54\x2a\xc2\x15\x7a\x9e\x21\x94\x46\xf2\xa0\xb5\xec\xeb\x3b\xce\x59\x63\x59\xee\x7f\xd6\xbc\xe6\xab\xd7\x9e\x6e\xc2\xe2\xdd\x7b\x69\x24\x87\xc9\xfd\xf7\x74\x3e\xff\x75\x9b\x1a\x6c\x46\xa8\x3e\xed\xb9\xa3\xce\xef\x03\xf0\xe0\x7e\xe5\x1d\xd8\xb1\x08\xf7\xdf\xa3\xcb\xa6\x92\xf2\x3e\xd2\xdb\x8f\xfb\x76\xac\x40\xfe\x96\xa9\x0d\x63\x16\xd8\x85\x2f\x69\x8d\x61\xac\xe0\xc6\x0a\xf0\x35\x48\xdb\xa1\x2a\xdb\x7f\x0b\x8f\x24\xdc\xb5\x8d\x5a\x1e\xfb\x30\xdc\x08\x7b\x80\x6c\x7f\xad\xb2\x16\x26\x7a\x43\xab\xca\x24\x8b\xd6\x43\x30\xf6\x3e\xc2\xd0\x39\x52\x74\xc4\xaa\xd9\xea\xe7\x34\xbb\xb1\x6d\x5b\x0c\x36\x09\x1e\x5c\xfa\x66\xed\x70\xf3\xfb\xfc\x6d\x8f\x57\xe5\xfe\xbb\x7d\x6a\xeb\xef\x78\x00\xef\x07\x78\x61\x37\xde\xda\x68\xdc\x08\xaf\xcc\xf7\x23\x62\x04\x55\xd8\x87\xab\x20\x45\x4a\x4b\x0d\xde\x02\xc7\x7c\xf4\x28\x15\x63\xed\x71\x5a\x0e\x83\xfc\x27\x0f\x77\xa6\x59\x09\x02\x7b\x5f\x46\xd7\xa9\x89\x1e\x81\x5c\x95\xd2\xa4\xcf\xd8\xe8\xff\xab\x19\xa1\x1b\xba\x1d\x43\xba\x02\xdb\x0b\x93\x64\x49\xb7\xb6\xa5\x99\xe6\xc5\x4c\x9a\xc6\xa9\x93\x1b\xfa\x66\x7d\xe9\x4e\xe8\x64\xe7\xd7\x8d\xf6\x4f\xeb\x6d\x1a\xea\x9f\xd6\xbb\xb3\xc2\xb4\x03\xd1\x69\xc1\x7f\x41\xb4\x9a\x0f\xe9\x58\x83\x10\xc2\x04\x0a\xa3\x61\xab\x5d\xfa\xa6\x69\xf0\x0a\xf5\x17\xdb\x32\x43\xcb\x9d\x0f\xbf\x4e\x14\xe3\x51\x8e\xa6\x7e\x11\x2c\xb1\x4b\x83\xde\xc7\x66\x50\x42\xe4\xb4\x34\x99\x15\xbc\xbc\x4d\x3d\x19\xd1\xf7\xe0\xc2\x71\x30\x70\x9a\x41\x86\x8f\x60\x13\xe1\x10\x3a\xb9\xe6\x92\xcf\x8a\xe8\xea\x01\x36\xcd\x7e\xf0\xf6\x5e\xe3\x75\x0d\x2d\xd8\x5e\xff\xc3\xa7\x5a\x02\x1e\x1b\x45\x2a\x41\x90\x7f\xd4\x25\x6d\x82\x1c\x3e\xb7\xe9\x68\x10\x3e\x5e\x09\x08\xe5\x16\x12\x21\xb2\x1e\x44\x99\x31\x3d\x5b\xa8\xeb\x14\x05\x29\x18\xbd\x25\x94\x18\x83\xfe\xaf\xe6\x0c\x5a\x2b\x79\xff\x9b\x08\x37\xf3\x19\xb4\xd0\xe7\xc5\xc9\xa2\xf2\xe6\xad\x31\x97\xc8\x43\x1c\xa1\xcd\x5c\xe3\xdd\x16\x82\x4a\xf6\x88\x80\x11\xca\x2a\x2d\x76\x14\x3f\x6e\xa9\x1d\x92\xe5\xda\x8a\x87\xc6\x88\x7f\x40\x32\x18\x25\x0c\x11\xe6\xd3\x50\xd5\x2b\xb6\x93\x62\x2d\x29\x75\xd3\xac\x2d\xd1\x45\xb5\x2c\x45\xa7\x9a\x82\xad\xb2\xef\x4b\x91\x44\x38\xd4\xcf\x25\x0a\xb3\x2e\xf7\x20\x0b\x5f\x23\x45\x18\x2d\xb3\xeb\x4e\x02\xb9\x2f\x89\xf4\x24\x12\x6b\x5f\xeb\x50\x77\x8a\x8a\x66\x5c\xe9\xa7\x60\x70\x38\x38\x4e\xe1\x4b\x20\xed\x74\x66\xf9\xd8\xdf\xee\x93\xc1\xf1\x2e\x42\x8d\x16\x61\xcf\x52\x35\xa0\xc4\xfc\xc4\x44\x19\x9c\xeb\x0f\x09\x98\xd4\x7f\x80\x3d\x88\x95\x64\xc6\x1b\x0d\x5e\x7f\x7d\x6c\x1a\xd7\x36\x26\x43\x46\x45\x61\x90\x49\xbd\x19\x79\xa3\x9b\x72\x02\x33\x20\xeb\x53\x63\x31\xda\x45\xf0\xed\xcd\x4c\x03\x2b\x29\x51\x5d\xfa\x07\x3d\xa5\x01\xbf\xf6\x25\x3c\x44\x2b\xfa\xe3\xed\xa9\xf9\x2c\x2a\x34\x0c\xba\x1a\x1d\x37\x51\x11\x12\xed\xb4\x73\xfa\xa6\x38\xb6\x0e\xf8\x84\x28\x01\x2c\x36\xfe\x87\xc6\xa8\x03\xbe\xed\xcc\x09\x55\x61\x8a\x51\x87\xd0\x02\x96\x54\xae\x88\xde\x79\x9e\xbb\xbc\xe3\x76\x3f\x69\xcd\x68\x0c\xcc\x7c\x26\xe5\x0f\xb4\x76\xca\x7b\xe4\x93\x20\x69\xf0\x98\x0c\x26\x4f\x5c\xea\xe0\xf8\x18\xee\xb9\xe7\x1b\x2c\x6b\xfb\x40\x5a\xfc\x95\x93\x13\x32\x28\x45\xc9\x06\xc1\x0c\x2f\xd9\xc4\x7e\x8e\x4c\x34\x56\x9c\x9c\xc3\x8d\x4d\x25\xb9\xe1\x79\xce\x5c\xce\xd7\xa5\x58\xc9\x04\xf6\xf4\x8e\xbe\xc9\x60\xe0\x26\x74\x70\x40\x5c\x70\x41\xe8\x80\x07\xe9\xae\xcf\xae\xae\x34\x09\x70\x50\xb9\x2e\xa9\xba\x99\x12\x10\xae\x19\xc9\x51\x24\xd6\xbf\x11\x5e\x92\xff\x73\x35\xf6\x40\x13\xf3\x42\x50\x85\x9f\xe0\x7d\xd1\x72\xf3\xaa\x22\x33\x86\x19\xb4\x6b\x10\x9f\x33\x14\xd2\x28\xf6\xaa\x3b\xc2\x74\x35\xba\x06\x36\xe5\x10\x4d\x9d\x44\x5e\xd3\xec\xd6\x30\x3f\x33\x66\x44\xa7\xe6\x7e\x9a\xe5\x4f\x6d\xab\xf9\xf4\xf3\xbf\xfc\xb5\x41\x75\x93\xf0\x88\x7d\x22\x8f\xc9\xcf\x8e\x8e\x7f\xfe\x97\xbf\xb6\x8e\x8d\xa1\x29\xf0\x75\xac\x5e\x83\xe3\xcd\xa7\xea\xee\xe7\xd8\x94\x9d\xa4\xae\x4c\x14\x83\x9e\x3e\xe0\xc9\x3b\x3d\x32\xe1\x28\xae\x0a\x36\xd8\x69\x79\xc7\xa5\x18\x0e\x9a\x99\xed\x3b\x6c\xf9\xfb\x9b\x1a\x93\x7d\x6d\x81\xa7\xdc\xfe\x86\x46\x03\x67\x1a\x7b\x5b\xe5\xd4\x04\x96\x67\xb4\x66\x0a\xf3\xda\x3f\x79\xb2\x25\xd5\xaa\xd6\x1c\xae\x9c\x7a\x73\x9e\xb9\x80\x5b\xd9\xbf\x17\x4c\x5d\xd9\xaf\x43\x17\xb0\xed\x2b\x3c\x7a\xe4\x6b\x4f\xb9\x3c\x13\x45\x41\x2b\xc9\xf2\x51\x3b\x7c\x1a\x64\x15\x5b\xf6\x4c\x8f\xc8\xb7\x13\xf3\x69\xa7\xf9\x5f\x56\xd2\x7a\x14\x03\x30\xae\x98\xb7\x76\xad\x9d\x6c\xa5\x81\x75\x20\x6f\x68\x85\x42\x43\x19\xea\x7e\x33\x56\x14\x24\xe7\x4b\x56\x4a\x7d\xd1\xec\x45\xf7\x86\x01\xe0\x25\xd9\xf1\x8e\x40\x47\x76\xe9\xb0\xf3\x2b\xfd\x53\x43\x1c\x0f\x29\x2e\x36\x1a\xce\x45\xb6\x92\x83\x11\x5c\x5e\xc0\xdb\x85\xb7\xd7\x69\xb1\xa1\x5b\x89\x28\x3f\x94\xcc\x0a\x91\xdd\x3a\x26\x54\xcb\x4b\xab\x12\xaa\x83\x62\x92\x10\x37\x98\xc6\x8c\x82\x61\x4d\x9f\xbd\xba\x38\xfb\xee\x38\xc4\x28\xc5\x45\x3e\xe9\xb8\xe0\x60\x1a\x72\xc3\x55\x76\x43\x86\xd0\xbe\xe3\xfa\xa9\x64\x3b\x7b\x3a\x3f\x7d\x6d\x3d\x49\xf1\xae\xbc\xb1\x5e\xa9\x83\x35\xad\x87\x93\x09\x54\x9e\xe8\xdd\xd1\x12\xe6\xc4\xc8\xba\x83\xe3\xa8\x52\xdb\x54\x3c\x50\x35\x2d\x65\x45\xf5\x7e\x37\x0b\x8b\x3a\x67\x35\xbe\xbf\x57\x66\x5e\x3e\xed\x53\x5c\xea\x15\x9b\x2b\x5b\x66\x20\x45\xc1\x73\xd7\xd8\xac\x66\xf4\xd6\xf0\x60\xfb\xa6\xf9\xf6\xfb\xe7\xe7\x97\xaf\x5e\x7e\x7f\xde\x31\xd7\xd6\x4d\xe7\xa8\x11\x04\xfc\x19\x95\x0c\x72\x48\x3e\x26\x83\xea\xee\x4b\xcf\xbd\x31\x2f\xfd\x00\xa0\x6a\x05\x8f\x17\xff\x05\x24\x89\x0a\xe0\xaa\x09\xbb\xa3\x80\x77\x63\x01\x01\xcc\xc8\xf6\x2c\x5d\xb8\xbc\xe1\xba\x19\x4f\x9a\xdf\x84\x02\x02\x52\x85\x9f\x3e\x7c\x19\x2a\x48\x4c\xe5\x9e\xac\x6d\x2b\x7a\x3c\xcd\xc0\xba\x58\x8e\x6d\x99\xfd\x7d\x22\x39\xb6\x65\xd6\x37\xa8\xa2\x0f\x47\x9d\x0a\xae\x70\xf5\x3e\x27\xb8\xc2\x55\xde\xeb\x11\x81\x41\x13\x69\x19\x0e\x4b\x74\x84\x5f\xb8\x2a\x5d\xa1\x3a\x57\xfa\xd6\x15\xb5\xe6\x0c\xf1\x25\xfd\x45\x88\x25\xd9\xd0\xba\xc4\x94\xac\x6e\x1b\xc3\xdf\x41\x1b\x4e\x96\x4c\x4a\xba\x60\xee\x47\x5d\x7b\x25\x11\x75\x5e\x19\xdc\xa9\x59\x2d\x36\xfa\x27\xa8\xbd\x5c\x49\x85\xbe\x6b\x98\x9c\x43\x90\x27\x87\x87\xff\xaa\xb9\x40\xa0\x52\x78\xbe\x6f\xac\x47\x9c\x83\x1d\xc0\x7c\xea\xc5\xb6\xaf\x4e\xe1\xc6\x58\x63\xcc\xf0\x02\x65\x02\xcc\x91\xef\x55\x27\xdc\x88\xcd\x7f\x0a\xb1\xfc\x11\xa7\xd5\x4c\xf2\x6d\xd5\x02\xa0\x26\x80\x1d\xfd\xc5\x17\x86\x37\x25\x94\x85\x8d\x22\xa1\x53\xee\x6d\xd6\x6d\xf3\x27\x59\xcd\xa8\x62\xe7\x05\xd3\x7f\x0e\x07\x39\x5f\x0f\x42\x7f\x92\x66\x03\x53\x9e\xeb\x9b\x07\x66\x77\xa4\x3f\x4e\xcc\xf6\x0c\x76\x55\xc2\xcb\x22\x93\xf2\x9a\xdd\x41\x44\x85\xe3\xc3\x06\xe0\x9b\x74\x44\x66\x05\xcd\x6e\x8f\x07\x01\x87\xd6\x72\x1b\x3b\x22\xff\x63\x3e\x7f\xfa\xf4\xe9\xd3\xb8\xd8\x5c\x94\x6a\xa2\x6f\xbe\x23\x52\xd0\x7a\xc1\x1a\x8d\xc0\xd6\x4f\x6a\x9a\xf3\x95\x3c\x22\xbf\xab\xee\xe2\xef\x46\x0f\x71\x44\x0e\xa7\xff\xf6\x4d\xfc\xa9\xa2\xb9\x66\x8e\xf4\xa7\xa7\x6c\x49\x0e\xa7\xdf\xc0\xff\x77\xff\x8e\x4b\x2b\x51\x1d\xa5\x7e\x07\x5f\x85\x23\xf2\x44\xd7\x6b\xb4\x6f\x4e\xd9\x91\x4b\x2e\x1a\x7f\x9f\x6c\xd8\xec\x96\xab\x89\x62\x77\x38\xc1\x09\x05\xb6\xee\x88\x68\xf9\x2c\x5d\x56\x9f\x8f\x09\x32\x85\xc9\x62\x4b\xf1\x4b\xbf\xf6\x74\xc1\x44\x63\xa3\x5d\xc4\x35\xa5\x79\x7e\xbe\x66\xa5\x7a\xc5\xa5\x62\x25\xd3\x52\x46\xc1\xb3\xdb\xc1\xd8\x53\x38\x6b\xe0\xd9\xe2\x2b\xac\xab\x4f\x31\x0f\xc9\xd9\x0d\x2f\x8c\xcb\x95\xb9\x53\x1a\x60\x3f\xad\x5e\xf5\x7c\xce\x0c\x76\x1c\xba\x09\xbf\xc6\xa3\xf9\x9a\x96\x74\xc1\xea\xa9\xc9\x5f\x72\xc9\x8c\x9b\x81\xb4\xe4\x87\x67\x34\x68\xd0\x54\xb4\xa2\xcb\x3b\xc8\xd7\xfe\xb2\x54\xc3\x3d\x0c\x88\x6e\xe2\x05\xcd\x94\xa8\xc9\xd7\xfa\xd2\x19\xbd\x0f\x04\xa5\x8e\xd3\xa0\xe9\xf6\x05\x5d\xf2\xc2\xd9\x59\x62\x0f\xcc\x52\x4d\xe6\xf0\x79\xe0\x11\x61\x5b\x6a\xc3\xf4\x0d\x11\xac\xea\x28\x5c\xec\x9c\xaf\xc3\x6f\x26\xc7\x94\x5f\xf1\xf6\x55\x73\x1c\xe7\xcb\xda\xdb\x5b\xe8\xb7\xb7\xa3\x5c\x6b\xaf\x3b\x7a\x6e\xbd\x24\x91\xfa\x41\xac\x59\x5d\xd0\x2d\x8a\x65\x06\x39\x87\x2e\xc1\x9b\x5c\x8b\x3b\x7c\x19\xa1\xf0\xb7\xaa\xd9\xec\xbc\xbc\x24\xbc\x44\xbf\xe8\x35\x78\xfd\xf2\x92\x50\xbc\x4b\x88\xde\x86\x31\xc9\x58\x09\xb8\x46\x00\x34\xb3\x36\x7c\x44\x90\x9a\x23\xb0\x96\x38\x67\xe6\x5b\xc6\x30\xd9\x88\xed\xce\x3e\x67\xb3\x9a\xb3\x39\x64\x83\x85\xcc\xc1\xe8\x20\xd3\xe8\x12\x24\xae\xad\x58\xf9\xe6\xf4\xd2\x0d\x94\xb7\xb1\x64\x37\x2c\xbb\x75\x0c\x28\x22\xe0\xc4\xab\x33\xe7\x75\x1b\xff\xc6\x82\x6d\x2f\xe5\xc2\x2c\xca\x9d\xc2\x4c\x3f\x7f\xba\x7e\xfd\x6a\xe4\x06\x69\xac\x38\x7a\xdc\x26\x9a\xc7\x4c\x63\x9a\x42\x8e\x10\x95\xfa\x60\x98\x02\x68\x35\xde\x04\x70\x58\xa0\x5c\x91\x19\x9b\x8b\x9a\x91\x39\x05\x99\x53\xac\xe0\xb1\x46\x72\xf1\xed\x93\x48\xd5\xff\x64\xfa\x8d\xf1\xe3\x95\x53\x42\xde\x50\x29\x81\xc1\x84\xd7\xd6\x42\x4d\x9b\x9a\xb6\x31\xa9\xe8\x96\xac\x2a\x70\xc3\xd7\x7b\x35\x14\x35\x59\x95\x8a\x23\xac\x79\x69\x3d\xc1\x0a\xba\xdd\x97\x9f\x4b\xbf\xd4\x17\x66\xf7\x82\x47\x7a\x29\x17\xe3\x70\xca\xcd\xf7\xda\xb4\xde\x7e\xab\xdd\x19\xdc\xa1\xa7\x0e\xea\xde\xfb\xad\x0e\x2b\xef\x7a\x72\x1b\x6f\xe2\x93\x6f\x9a\x8f\x62\xf0\xa4\xde\xdd\x4d\x12\xaf\xea\x17\x7b\x35\xfb\xbe\x81\xfb\xde\x35\xfb\x54\x6a\xc1\xce\x34\x68\x2d\x0c\x4f\x7e\x77\xb8\x94\x84\x51\xc9\x26\xbc\xec\xf7\xca\xb5\x9f\xcc\xfd\xed\x8e\xba\xb6\x31\xf1\x2a\x82\x62\x54\x8b\x1d\x1d\x2f\x23\xd3\x4f\x81\xae\xe2\xd0\xfa\x8e\xdd\x17\xa9\x44\xf5\xa6\x16\x15\x5d\x50\xaf\x52\x02\xce\xdb\x98\xeb\xc2\xb7\x32\x45\x11\xa1\xf8\xb7\xdb\x4b\xff\x78\x47\x33\x1d\xf2\xe4\xee\x20\x82\x5d\x0d\xde\xf7\x39\x6c\xb7\x13\xf3\x01\x4b\xb9\xd8\xd5\x5d\x68\xd7\x9a\xfe\xdb\x37\xde\x04\xd5\x3e\xc3\xad\xd7\xd4\xbf\xa5\xad\x07\x34\x3a\xfb\x4e\x4e\xcb\xf9\x5a\xb3\x09\x4e\xa9\xb4\x60\xea\xac\xe0\xac\x54\xfa\xd7\xa1\xbf\x16\xac\x61\xc3\xb4\xb2\xaf\x4e\xbb\xb3\xae\xd9\x02\x4e\xad\x21\xa1\xa1\x19\x8d\x0f\x3e\x0e\xba\xb3\xbe\x12\xe4\x80\x3c\x0d\xb4\x29\x5d\xed\x16\x18\xe5\xea\x9a\xb4\xd1\x53\x61\x8b\xe6\xb7\xae\x30\x09\x23\xe4\x5f\x59\xdc\x03\xf0\xf8\x78\x73\x17\x8f\x20\x25\xef\x46\x36\x0f\xec\x2f\x0e\x3b\x68\x9b\xea\x9a\xc5\x5c\x23\xe1\x03\x76\x72\xd2\xce\x83\xdc\x5a\xdc\xde\xb1\x06\x20\x30\xef\xa1\xbf\xc1\x71\xa2\xf0\x3d\xa2\x19\x9c\x4a\x79\xbe\x9b\x6e\xed\xff\x76\x95\x8c\x38\xb3\x56\x41\x77\x0f\xed\x18\x6d\xa8\x00\xea\xbb\x02\x78\x02\x6d\x0d\x17\xa1\x62\xfe\x08\x77\xe7\xe3\x47\xf2\x04\x03\x31\x02\xd6\xf0\x0d\x95\x8a\x05\x39\x87\xb6\x52\xb1\x25\xc9\x0a\x5e\xcd\x04\xad\xf3\x66\x5a\xd6\x3d\xcf\x7e\x05\xad\x75\x61\xcd\x60\x35\x28\xf3\xa2\x16\xcb\x33\xdb\xc9\x30\x7e\xab\xe3\x01\x9e\x89\x6a\x4b\x28\x41\xee\xcb\xb9\xe2\x36\x86\xe9\xd0\x1a\x85\x62\x47\xc6\x1b\xac\x66\xa8\x0b\xc1\xf7\x89\xe5\xa4\xa6\xe5\x82\x35\x93\x84\x8f\x35\x13\x69\x94\x55\x9a\xe8\xdb\x08\x9c\x96\xef\x93\xaa\x36\xbe\xd0\x76\x24\x99\xa8\xb6\xfb\xa2\x3b\x45\xb5\x45\xd0\xd6\x6b\xe1\xe6\x1b\xab\x2d\xea\x86\x0a\x2b\xbc\xbb\x31\xc2\x7f\xe2\xe6\x39\x29\x85\xe2\x19\x1b\x8c\x90\x2a\x03\xea\xc6\xcb\xc1\x73\x5d\x3e\xfc\x66\x1c\x45\xbc\xe8\xe5\xb4\xa2\x1a\x84\xe5\x04\x21\x4d\x18\x33\x5a\x6d\xaf\xc4\xaa\xce\xd8\x5e\x1e\xaa\xaa\xd9\xc0\x40\x8d\xd9\x3a\x91\x8a\x43\xff\x3c\x51\x22\x18\xbd\x84\x42\x83\x46\x9d\xf8\xf1\x91\xaa\x6e\x7c\xef\x62\xc7\xd2\x1c\x8e\x6e\x2d\x60\x43\x12\x8c\x4a\xb3\xc4\x4e\x46\x0a\x95\x13\x93\xdf\xff\xbe\xba\x0b\x5f\x4f\xbf\x28\x33\x91\x6f\xa3\xc7\xcc\x8f\x3c\x8a\x59\xeb\x6f\xe4\x02\x17\xc2\x32\xbb\x41\x3b\x08\xc6\xa6\x19\x23\x97\xff\x39\x2e\x78\x61\xfd\x13\x9b\x45\xf1\x83\x2d\x0c\xc6\x9a\x56\xa3\xee\xd7\xa8\x58\xa2\xc9\xe0\x77\x34\xcb\xb8\x2f\xf8\xaf\xd3\xa2\x80\x25\xa8\x59\xd9\x5a\x05\xa4\x41\xf8\xd5\xd6\x0a\x4e\x44\xfb\x06\x40\x33\xe2\xcb\x73\x70\xb2\x83\x4c\x13\xab\xaa\x12\x75\xe0\xb0\x31\x65\x77\x8a\x95\xf9\xd4\xe6\x51\xa2\xa5\xf4\xa8\x46\xae\x14\xb6\x83\xc9\x2a\xcc\x35\x24\x4a\xf2\xf2\x7c\xda\xb4\x26\x9a\xe6\x5c\x4e\x17\xf7\x7b\x66\xcc\x8a\x43\xbf\xf8\xe3\x68\xd9\x6d\x86\x97\x46\x4b\x43\xb7\xae\xe3\x70\x45\x3d\x9b\x19\x90\x78\xc7\x23\x12\x2d\x62\x0b\x40\x4c\x06\x33\x65\x39\x90\x35\xa0\xaa\x81\x94\xc7\xe7\xa4\x14\x28\xa3\x42\xc2\x65\x2c\xd4\x02\x19\xc3\xcb\xec\xa3\xae\xf2\x69\x2f\x9a\x98\xdf\x39\x3c\x88\x29\x73\x64\x93\xd0\xe3\x80\x57\xf3\xf1\x38\x26\x9e\x6d\x99\x05\xa9\x7b\x76\x98\x74\xcd\xa8\xf1\x99\x34\x24\x72\x65\xa2\x32\x80\x5a\x4d\x04\x5b\x90\x77\x6d\xc6\x16\xbc\x2c\xd1\xe3\x12\xd1\x16\x30\xc3\xa0\x31\x3d\xd2\x5a\x25\x08\x3d\xf8\xdd\x9e\x89\xb2\x79\x6a\xa0\x0c\x9e\x1a\x33\x70\x5d\x04\xf2\x44\x7e\x4f\x97\x8c\x3c\x3c\x21\x83\x3f\x4f\x2e\x2f\x7e\x1c\x24\xfc\x94\xdd\x2a\x39\xea\xc6\x59\x94\x84\x96\xe4\x6e\x52\x8b\x0d\x74\x38\xc6\x30\x22\xae\x40\x3f\x0f\x91\x5c\x26\x29\xba\x58\x32\x4c\x60\xce\x4b\x69\xcd\x03\x50\x6f\x4a\xc8\x69\x9e\x43\x88\x56\x33\x0d\x9d\x8b\x6f\x90\x7c\x56\xf0\x72\x21\x6d\x6b\x3e\x9b\x7a\xb0\x96\xd3\x07\x4e\xfa\x8e\x27\x76\x72\x42\x06\xff\x43\x13\xd6\x80\x3c\x7a\x04\xc3\x0c\xc9\x37\x2a\x76\xf5\xe6\xf4\xfb\x41\x13\xf1\xa4\x34\xbe\xff\xca\xea\x50\xf0\x07\x40\x4e\xd2\x37\x7d\x4e\x64\x45\xad\xf3\xcf\xaa\xf2\x18\x9d\xb4\xc4\xde\x4c\x6b\x66\x47\x1a\x03\x88\x40\x2a\xd0\xf5\x1b\xc7\x6f\x67\x7f\x85\x93\x0f\x50\x40\xc2\x76\xe2\x42\xde\x60\xe7\xe9\xe4\xb1\x37\x6f\x77\x24\x08\xd5\xff\x6a\x66\x08\x3b\x38\x20\xe7\x10\x69\xd2\x41\xa6\x41\x18\x4a\x48\xa0\xac\xcc\x1d\x79\xee\xcb\x4b\x1a\xdc\x3f\x65\x8e\x1a\xc5\x49\xca\x67\x23\x2a\x17\xdc\x49\x2d\x0a\x37\xcd\x7c\x11\xfa\x86\xf9\xfd\xa6\xd4\xed\x03\xb2\x3a\xc9\x9b\xb9\x1d\xf8\xef\x46\xdc\x25\xbb\x53\x3b\x09\x3b\x28\xe0\xf4\x21\x8e\xb6\x3e\x8f\xa4\x01\x70\x6b\x1d\xc0\x05\x5f\x8a\x0d\xb0\x68\xc3\xc6\x25\x79\x29\x36\x2e\x78\x61\xb7\x67\x53\x44\x7b\x61\x35\x48\x18\x7e\xec\x25\x89\x82\xcf\xa6\x9b\x6c\x2a\x57\x33\x7c\xc0\x86\xf5\x7a\x1c\x9e\xd2\xb1\x2b\xa1\x50\x2a\x1e\xd6\xeb\x11\x99\x90\x90\xe2\x9b\x32\x46\x04\x05\xef\x08\xb8\x43\xe0\x30\xb4\x8b\xb9\xc6\xb8\x32\x36\x72\x8a\x91\xb6\x9a\x4d\xc9\x99\xd1\xf8\xee\x13\x0e\x12\xdc\x50\x87\xc7\x28\x3e\xba\x76\xb5\xa3\xc7\xd8\x7b\x47\x41\xa9\x87\xa1\x18\x8e\xce\x0a\x29\x39\x04\x0a\x9b\x95\xe8\x1c\x64\xac\x50\x49\x01\x3d\x04\x52\x47\x47\x66\x8b\xc7\x64\x70\xd7\xf0\x31\x8b\xa3\x4b\xa2\xf4\x32\x6b\x71\xcb\x72\x32\xdb\x36\xbd\x5e\xbe\x63\x5b\x5c\x9e\x0d\xc6\xd6\xfe\x70\x4d\x6e\xd9\x56\xaa\x5a\xdc\xc2\x99\xcb\x99\x8a\x99\x9c\xb6\x00\xa7\xaf\x87\x6b\x13\xba\x8e\x7f\xd5\x0c\xd3\x92\x2b\x6b\x26\x77\x4d\x8e\xf5\xb1\x7d\x7b\xfd\x62\xf2\xe4\x7f\xef\xd9\x47\x51\xfe\x70\xfd\x9d\x1b\x49\x2c\xdc\xb9\x13\x19\x46\x46\x89\xa2\xb8\x28\x5d\x8d\x0f\xb1\xbf\xda\x0e\xf4\xc5\xe0\xa4\x79\xf4\x45\x07\x65\x2f\xe2\x81\x60\xe9\x5b\xb3\x68\x53\x56\x66\x22\x67\x76\x48\xf1\x9a\xbf\xa2\xab\x32\xbb\x61\x92\xac\xea\x02\x2f\x2b\x88\xfc\xa6\xb3\xae\xa5\xd4\xe5\xde\x5e\xbe\xd2\xa7\xa3\x80\xba\xad\x5a\xbb\x96\xab\x62\xe5\xdb\x3a\x82\x0d\x59\xd5\x85\x5f\x25\x04\x50\x98\x66\x37\xb5\x58\x42\x04\x48\xf4\xc3\xd4\xf8\x2d\x04\xaf\xce\x0b\x51\x93\x33\x2c\xbd\x7e\x4a\x68\x55\xc9\x71\x98\x46\x0d\x3d\x4e\xb9\x24\xa7\x6f\x5e\x82\xbb\x91\xf1\x5a\x20\x7a\x20\xa6\x71\x89\x17\x6f\xdc\x05\x8c\xf4\x9a\xce\x86\x7f\x1d\xac\xea\x62\x70\xa4\xa7\xfd\xa9\xed\xff\x0e\x59\x80\xb8\xe6\x78\xcd\x40\x75\x35\x3d\xa5\x31\x19\x7c\x98\x15\xb4\xbc\xb5\xa6\x86\x0d\x37\x42\x94\x4b\x41\xe6\xb6\xe0\xa2\x32\xc1\x94\x8e\x9f\x5f\xd5\xfb\xb4\x2d\xba\x9f\x2b\x53\xfc\x6d\x5d\x74\x79\x08\xaa\x7a\xd7\xb5\xf1\x20\x78\xb8\x51\x65\x52\x0a\x7f\xff\x8d\x01\xdf\x82\x96\x39\x61\x77\x95\xfe\x0f\xbc\xcb\xc6\x8e\xb7\x25\x60\xa3\x46\xef\x3f\xb4\xb1\xd6\xc4\xaa\x00\x1b\x18\x3a\xe0\x85\x89\x6d\x78\x71\x77\xa7\x28\x6c\xc5\xaa\xbd\xc3\xb7\x13\x80\xc1\x80\x0b\x4c\x49\x18\x66\xfa\xac\x68\xc6\xc6\xe6\xd1\x98\xba\x27\x3f\x1c\x66\xc3\x9c\xe4\xd9\xb5\xd7\x2e\x76\x4b\x13\x3a\x97\x04\xa2\xd8\xac\x21\x4e\x2f\x3d\x7a\xe1\xd8\x16\xad\xb3\xfc\x1f\xc8\xd3\xc3\xff\xf5\x3b\xf2\xf1\xa3\x1e\xf9\x54\x32\x5a\x67\x37\xc3\x83\x77\x3f\xc9\x9f\xde\xfd\xf4\x7e\x38\xfa\xeb\xa7\x6f\xff\xf0\xd5\xe0\xa7\x9f\xfe\xeb\xe7\xf7\x07\x23\x48\x76\xd7\x52\x96\x7a\x3e\xea\xed\xe5\x4b\xc2\x81\x7f\x42\x79\x93\xe5\x56\x5d\x05\xa4\xdb\x04\xe4\x00\xb9\x53\x62\x50\xaa\x6e\xe5\x47\xe6\x12\xc4\x6d\xe8\x56\xf3\x97\xb7\x25\xb2\x48\xf0\xd6\x19\x4f\x3c\x99\xdd\xb0\x25\x1d\x13\x29\x08\x95\x80\x33\x78\xa3\x54\x15\xce\xcc\x4c\x62\xf0\x5f\xef\xe8\xe4\x97\xd3\xc9\x7f\xbe\x37\xff\x3d\x9c\xfc\xfe\xf1\x74\xf2\xfe\xeb\xa3\x83\x83\xc1\x28\xc4\xbe\x0b\xfa\x06\x20\x02\xae\x58\xc1\xa5\x22\x94\xcc\xd9\x86\x00\x01\x67\xa2\x30\xe2\x7a\x41\xb3\x5b\x42\x57\xea\x46\xd4\x5c\x71\x26\x0d\x9c\xe5\xca\xf1\x6f\x25\xd0\x9b\xf5\x1b\x3f\x38\x98\x12\xf2\x8a\xdf\x32\xb2\xa4\xbc\x50\x26\x71\xab\xf3\x10\xd5\xc3\xad\x0a\xae\x86\x83\xa3\xc1\x98\x3c\x19\xbd\x3b\x7c\x1f\x44\xa0\x50\xc9\xc8\x00\xeb\x0d\x3c\xca\xa8\xf3\xb5\x23\x6d\xbf\x41\x4b\x80\x03\xbd\x28\x7a\xa2\xe4\xb1\x55\x51\xb5\x2a\xc7\x61\x98\xe6\x9a\x03\x0d\xdf\xb1\x3e\xe9\xde\xc3\x38\x8f\x54\x90\x97\x62\x83\x73\x36\x7f\x1b\xc8\x3b\xbc\xa6\x60\x45\x00\x54\x4e\x2f\x00\x58\xb6\x60\x85\x0c\xa4\x67\x49\xe6\x98\xca\x8b\x20\xaf\x22\xca\xd7\xba\xe0\x70\x94\x32\xdf\xef\xef\x28\x13\x10\xed\x0c\xc3\x8b\x40\xfe\x21\x18\xc6\x3b\x11\xba\xcc\xd2\xc1\xb0\x9a\x6f\x05\x18\xee\x3e\x11\x66\xb2\x5e\xba\x72\x68\x80\x2e\xf3\x62\x5f\xc2\x2f\x33\x97\xe8\x5a\x0b\x3c\xbc\xb4\xb4\x26\x32\x26\x25\xcb\x9f\x6d\x6d\xf5\x3f\x41\xc3\xf5\x87\x98\x12\x6b\xb6\xe0\x52\x33\x68\x62\x55\x9b\x41\xe0\x08\x6a\x8b\xd5\xe1\x02\x82\xc6\x16\xf1\x54\xff\x57\x05\x89\xce\xb0\x31\x0b\xb5\x6a\x80\x6f\xc0\x23\x9a\xd5\x53\x42\x5e\x87\xfb\x03\x74\x2d\xb2\x6c\x55\x93\x38\x02\xc3\x37\x14\x37\x60\xe1\x0a\xf4\x19\x04\xd7\x8a\xf6\xb0\x66\x2b\x85\x31\x1a\xfa\x3a\xd8\x50\x58\x47\xdb\x98\x59\x08\x5d\x63\x49\xd4\x86\x67\x46\x8e\x38\x38\x08\x16\x21\xa3\xba\xe6\x5f\xb4\xa8\x65\x4c\xa4\x64\xb6\x9a\x81\x48\x40\x66\xcc\x06\x66\x20\x8c\x1d\x46\x9b\x12\x10\xbe\x30\x6a\x5e\xea\x0b\xc2\xb6\xa6\xc7\xc1\x32\x51\x5b\x17\x7f\x6c\x4d\xcc\xfe\xa2\xef\x13\xe3\x83\x8a\xe8\x74\x9a\xb0\xb6\x5a\x8c\x53\x8c\xe6\xc9\x1c\xcb\x20\x46\xb0\x4a\xd4\x0a\x96\xf0\x1c\x57\xf0\xc4\xd9\xfc\xd9\x9c\x51\xfc\x74\x09\xa5\xe4\x87\x46\x3c\xce\x5a\x4d\x97\xfe\xb3\x8b\x19\x5f\xab\xe9\xeb\x8b\xb7\x57\xe7\x1f\x2e\xcf\xdf\x5c\x5c\x5e\x7f\x78\xfe\xf2\xea\xf4\xd9\xab\xf3\xe7\xf8\x66\xec\x24\x1e\xfd\xde\xd4\x2b\x66\x2f\xe3\x8b\x12\x9d\x91\x21\x7f\xd3\x81\x89\xab\x80\xe8\xe5\xdc\x6e\x53\x7c\x0c\x08\x9b\x86\x47\xee\x84\x38\x5f\xa8\x21\x9b\x66\x60\x89\xfc\x0f\x32\x69\x33\x7c\x89\x18\x94\x11\x39\xd8\x25\x31\xed\xf1\xad\xb2\x16\x49\x93\xc5\xd2\x0f\xcb\xc1\x6d\xba\x91\xd9\x81\xfd\x79\x77\x87\xfb\xfb\x34\xf8\xa8\x8f\x03\x94\x4a\x36\xd5\xe7\x19\x84\x66\x6f\xbe\xd7\x8c\x5d\x6b\x40\x7f\xe8\x82\x5b\x75\xa7\xf9\xb5\x6d\xa0\x99\x72\xb8\x0e\xc2\xc1\xee\x1d\xdf\x45\x1e\xb6\x48\xb0\xad\xd5\xf0\x08\x20\x2e\x00\x4d\x33\x44\x00\xa3\x5b\x0a\x2d\x34\x96\x39\x46\x43\x85\x57\x81\x81\x7d\xc1\x96\x6e\x84\x7e\x05\xab\x6a\xec\xe0\x97\xcd\x49\xf6\x4e\xbe\xcd\x08\x31\x10\x76\x1c\x8d\xd9\x86\xfc\x58\xd0\xa9\x4a\x54\x16\xe8\xf7\x96\xb1\x4a\x26\x5b\x02\x35\x09\x40\x0f\xcd\x99\x66\xe3\xdd\x69\xd6\x07\xb6\x10\x19\x2d\x50\xc6\xf4\x52\xb8\xe3\x98\x62\x82\x9e\x90\x27\x7a\x33\xf7\x45\x0c\xb9\x63\x9a\xa0\xbc\x1e\x4d\x84\xb9\x5b\x48\xaf\x00\x38\x88\xbd\x33\x4f\x71\xc3\xf1\xee\x1e\x41\x7b\xbd\x43\xed\x82\x07\xbf\x93\xca\x43\x27\x26\x36\xa5\x85\xfa\x8e\x6d\x35\x6f\xd8\x4d\x6f\x96\xe2\x7e\xb8\x36\x84\x84\x25\x8d\x6b\x77\xce\xa5\x4f\x9f\xa2\x2f\x6a\x04\x1b\x85\x4b\x92\xe5\xb0\x95\xbe\x15\x5a\xa8\x89\x1b\x8a\x21\x39\x7f\x5b\xe1\x93\xe3\xf1\x50\x90\x02\x1a\x9b\xef\xd2\xf7\xb5\x6f\x61\x7b\x49\x86\xb7\x42\xc0\xa0\x9f\x23\x38\xf9\xd0\xb9\xd6\x34\xa4\x26\xbc\x5a\x5d\xdc\x3a\x3c\x29\x73\xfd\x44\x6f\x4a\x56\xcb\x1b\xee\x10\xe2\x70\xb4\x0e\x73\xae\xc7\xb8\xc0\xab\x3c\x1a\x58\x97\x8c\xe1\x8c\x3b\xd7\xe2\xbc\xcc\xbd\xaf\x50\xe7\x6c\xa0\xe9\xc0\xa5\x28\xed\x6c\x14\xd1\x45\xf7\x56\x37\xa8\x26\x9f\x15\xe8\xf3\xeb\x50\x0f\x32\x51\x6d\x2f\x8c\x88\xd7\x20\xcf\x5f\x23\x52\x85\x3a\xa1\x5e\xc6\x38\xe2\xb5\x8e\x8d\x31\xfb\x01\x3f\x64\x53\xc0\x98\xd3\x04\xfe\xe8\x91\x2e\x94\xa9\xba\x30\xe4\xce\xa6\x4b\xa6\xe8\x77\x6c\x3b\x8a\xc8\xfc\x39\x9b\x89\x15\xe4\x27\xd7\x37\x17\x72\x11\x1e\x0a\xd7\x2c\x87\x79\x56\x21\x48\x75\x2b\x56\x16\x70\x31\x17\xab\x59\xc1\xa0\x44\x40\xf1\x56\x2b\x01\xf2\x11\x57\x63\xab\x17\x00\x62\x9f\xf3\x9a\xa1\x94\x88\x67\xc1\xf6\xe0\x98\x2b\x30\x13\xfa\xd6\x40\x80\xc1\x05\x66\x79\x43\xb1\x6d\xd2\x32\x62\x6c\x2c\xaf\xa5\x22\xe1\x60\xad\xbc\xb1\x23\xe2\xdd\x88\x07\xf1\x96\xb4\x3e\xc7\x2e\x2c\x4e\xae\x08\xa5\xfe\x10\x68\x73\xcf\xd3\x1d\xfe\xef\x1b\xe7\x26\x92\xc4\x64\xdf\x7b\xa3\x61\x11\x1c\x12\xf2\x5f\x9a\xd7\x38\xd3\x8b\x80\x3e\x25\xf0\xbe\xcf\x56\x4a\x89\x52\x37\xf1\x94\x1c\x7c\x6d\xd0\x07\xcd\x8f\x5f\x1f\x8c\xc8\xc7\x8f\xc1\x90\xc3\xe2\xbe\x5d\x68\xed\x19\x7c\x08\x3d\x77\xbc\xc3\x19\x38\x94\x0c\x47\xa1\xa3\x4e\x26\x4a\x29\x0a\x36\x35\x01\x16\xc3\xc1\x19\x78\x18\x03\x02\x2e\x0c\x6e\x49\xcb\x15\x2d\x8a\x2d\xc9\x31\x34\x65\xc3\x66\xa4\x66\x98\x72\x5d\xb3\x08\x83\xd1\x71\x8c\xa1\xbe\x63\x59\x56\xd5\xa0\x39\xd9\xc3\xe4\x11\x0e\x5f\xc4\x26\x5e\x69\xe3\x5e\x0a\x4d\x9f\x8d\x77\xe9\x73\x4f\x6d\x6b\xdc\x4b\xb1\x66\x03\x3c\x9d\xad\x09\x8d\xc2\xb1\x06\x1c\xdf\x33\x94\x57\xf0\x59\x64\xe5\x82\x2e\xc2\x01\xea\x23\xcd\x25\xfe\x1c\x30\x67\x13\x2b\xe5\xa0\x96\x5c\x94\x36\x92\xdf\xb1\x49\xd3\xb6\x8b\x5b\xaa\xa7\xe4\xdd\x9e\x28\x1e\x78\xee\x91\x01\xfa\x6e\x44\xcb\x71\x70\x40\xce\x97\xab\x42\x8b\x2f\xb4\xd6\xac\xca\x2d\xdb\x6a\xa1\x48\x4a\xa6\x99\x3b\xea\x92\x1c\xdd\x30\x56\x44\x43\x6c\x68\x71\x7f\xd4\x05\x4e\x75\x13\xdf\xb1\xad\xfc\xd0\xbe\x07\xe3\x35\x74\xca\x58\x48\xc4\x80\x50\xaf\x26\xcc\xcc\x41\xd8\x72\xf9\x26\x84\xd5\x1a\x8e\xe2\x03\x17\xec\x15\x8c\x6e\x10\x9e\x09\x93\x00\x5b\xd1\xa4\xf5\xdd\x8f\xf8\xb9\x2e\x33\x64\x81\x4b\x9a\xae\x59\x98\xa4\xfe\x88\x16\x2f\x97\xb4\x56\x2f\x0a\x21\xea\xe7\x7c\xcd\x73\x36\x8c\xee\x16\x80\xe9\xa7\x33\x39\x84\xee\x46\xe3\x9e\x92\x88\xcb\x0c\x61\xc6\x4a\x61\xa8\x83\x9f\xee\x9e\xcc\x2e\x06\xe4\x31\xc1\xe6\xc8\xb7\xe4\x90\xfc\x91\x0c\x9e\x0d\xc8\x11\x19\x9c\x0e\x82\x71\x5a\x4d\xb7\xe6\xb5\x4d\x32\x6c\xdd\xc8\xb4\x66\x15\xa3\x6a\x08\x53\x18\x85\xdd\x74\xfb\x03\x7f\xf2\x4f\x35\xf2\x25\x07\x5f\xfb\xed\x4d\xbc\xd9\x5f\x1f\xb4\x1c\xd2\xfb\x9c\x89\x1e\x17\xa9\x11\x6c\xd6\xc9\x33\x03\xd6\x4b\x08\xc2\xd1\x4d\x05\x12\x83\x8b\x92\xc0\x0a\x7a\xbc\x61\x7b\xc0\xed\x3b\x90\xdf\x69\xdf\xc3\xdc\x60\xeb\xfa\x9d\xb1\x48\xac\xfd\x66\xd4\x88\x25\xde\xd7\x86\xf5\x84\xf5\x22\x68\xa2\x91\x80\xa1\x4f\xde\x63\x8d\xd5\xbc\xb8\xb1\xf2\x50\xe0\x18\x94\xd7\x74\x31\xb1\x47\x9b\x7a\x66\x9a\x9c\xbe\xb8\x3e\xbf\x0c\x98\x4d\xe0\x97\xc3\xe6\x78\x69\x90\x2c\x40\x83\x88\xb8\xac\x42\x90\xc2\xa0\xa2\x76\xde\x78\x8d\x65\xbf\x2f\x1b\xda\x87\x7c\xbd\x96\xdd\xea\xfe\x02\x4f\xf6\x1d\xcf\xd5\xbd\xdf\x1f\x00\x33\x01\xb5\x07\xb2\x6b\xa2\x24\xa6\x3d\xbd\x3c\x66\x61\x60\x5d\x15\x5b\x56\xa2\xa6\x35\xd7\xef\x6b\x28\x9a\x10\xea\xf4\x68\xa1\x68\x32\x25\xe4\xa2\xd4\x65\x05\xb6\xec\x44\x5e\xcf\x6e\x69\xf6\x10\x55\xfa\x02\xf6\x32\xd4\x44\x81\x46\x8c\x2f\x97\x2c\xe7\x54\xb1\x62\x4b\x6e\x4d\xea\x6d\x08\x79\x95\x4d\x91\xa6\x8f\xe0\x10\x45\x4f\xa1\xef\xb8\xb4\x61\x4a\x5a\xe0\xae\x51\x5a\xe7\xd2\xe4\xbc\xdc\x02\xca\x05\x9c\xca\x52\x6c\x08\x9d\x89\x95\x8a\xf4\x00\xa1\x3a\x16\xf9\x5c\x8f\xab\x6d\x83\xa5\x29\x29\x45\xbd\xa4\x05\x79\x7e\xf1\xda\x02\xc0\x78\x9e\xd2\x2c\x60\x9e\x83\x74\x4c\x0b\x48\x11\x11\x48\xe5\x03\xd0\x46\x0c\x62\x39\x7b\x10\x28\x77\x7f\x2b\xfd\x6c\x53\x3d\x4b\x22\x47\x35\x2d\x60\x6e\x50\x4f\x9d\xad\xa4\x81\x66\x6c\x8d\xc5\x05\x0c\x1b\x38\x09\x0c\x19\xe6\x73\xfb\xb7\x8d\x14\x8e\xb2\x81\xee\x1c\x1a\x80\xbf\x9f\x41\x6f\x91\x02\xd9\x34\xd8\x95\xa7\x20\x01\x8d\x31\xb6\x83\x08\x41\x13\x43\x60\x0e\x6f\x7c\xb7\xa3\x3f\x39\xc1\x5b\x34\x34\xc0\x77\xc2\xbc\x3f\x48\xaf\x97\x8a\x73\x33\x06\x10\x49\x7b\xe7\x8e\xd5\x12\xe6\x40\x73\x0f\x77\x06\xd6\xef\x18\x8d\x71\x24\x04\xee\x39\x0f\x3c\xc6\xdc\x08\x77\x92\x97\xa6\x68\x64\xbc\xef\x4b\x62\xc0\xfd\xa7\x4c\x00\x01\xff\x80\x2e\xc4\x36\x56\x75\x78\xf0\x53\x79\xb0\x5c\x8c\xc9\xe0\x27\x13\x37\x63\x8a\x25\xed\xe1\xfa\x9b\x77\x9e\x88\x94\x84\xb3\x9a\x66\xb7\x4c\xb1\x1c\xc6\x80\x7b\x19\x72\x2c\xef\x9e\x1e\x1e\xfe\x3f\xcd\xb5\xc0\x8f\x8f\xdd\x8f\x4f\xfe\xdf\x20\xb2\xca\x37\x78\x95\x9d\x3b\x8e\x41\xfa\xb5\x31\xfa\x68\x5e\x3f\xf0\xcd\xef\xbf\xd6\x50\xd1\x59\x65\x76\x2e\xf0\x99\xa8\xb6\x5d\x26\x16\xe4\x72\x56\x92\x99\xd7\xe7\x47\xb0\x6f\xeb\x1a\xf6\x51\xe8\x7a\x9f\x9a\x42\x6b\x97\xd4\x12\x65\x89\x38\x4c\xe4\x36\xd9\x75\x20\x10\x19\xb4\xe1\xfc\x0f\x8f\xbe\x43\x28\x30\x77\xb6\x16\xfc\x72\x5e\x33\xc0\x17\xb1\x46\x2e\xbd\xff\xc8\x18\x00\xc0\x2d\x2a\x4d\x41\x3f\x6a\xae\x57\x44\x2f\x68\xa6\x1c\xd2\x7c\x05\x55\xe4\x96\xa3\xcb\x1e\xb4\x32\x63\x85\x28\x17\x12\xb3\xa9\x79\xf4\x55\xb0\xf7\x7c\x4d\x22\x8c\xd5\xb1\x7d\xc2\xf4\x6b\x99\xd1\x52\xdf\xfc\xec\x8e\x65\x2b\x7d\xae\x22\xf8\x0d\xab\xe1\x86\xa7\xd5\x02\x82\x56\xb5\x58\xd4\x74\xb9\xa4\x8a\x67\x04\xbd\x6b\xf0\x4e\xdd\xbb\xd1\x97\xb0\x5a\x1d\x4e\x02\xa8\x6c\x3d\x33\x99\xa6\x82\x34\x68\x2d\xbe\x5e\x33\x0a\x20\x99\xa0\x5f\xd5\x1e\x03\x05\xe9\x6d\x30\xf8\xf8\x91\x1c\x1e\xfb\x3c\x8e\x76\x28\x1d\xc2\x48\xf7\xb0\x2c\x16\xed\x6e\x5d\x48\x4f\xc3\x09\x0e\xca\x25\xdb\xf2\x6b\xf4\xad\x96\xf1\x3f\x7e\xf4\x23\xd5\x3f\xc4\x46\x47\xba\x16\x3c\x37\x52\xae\xe4\x6a\x85\x37\xbe\x89\x5c\x06\x9e\xc1\x80\xae\x48\xb1\x64\x8a\x2f\x59\xc0\xf8\x58\x62\xb3\xcd\x2d\x98\xd2\xe4\xae\x39\xdd\xdc\x5f\x08\x0e\xc4\x50\xd4\x24\x5f\xd5\xd6\xb0\xcf\x4b\xae\x38\x2d\x48\x21\x68\x3e\x36\x36\x0a\xb4\xfe\xd9\xe6\x72\x46\x0b\xab\x68\xa3\xca\xda\x0a\xf1\xe8\x68\x92\x04\x43\xa4\x19\x1d\x9f\x03\xa6\x0b\x73\xae\x0f\xf1\x55\xa4\x3f\x66\x20\x4a\xcb\xd0\xd0\xe1\x21\xaf\x34\xd1\x8d\x81\x0b\xd7\xe3\xd3\xfc\x1a\x5f\xa3\x7b\xd7\xa1\xe6\x93\xd6\x68\x45\x31\x56\x77\x7d\xe9\x1d\x92\x35\x2d\x56\x4c\x76\x5a\x0b\xb9\xfc\x9e\x6d\x8c\x3f\x5a\xb4\x29\x0f\xbb\x92\xdb\x45\x5a\x26\xf7\x3f\xb7\x77\x89\x7a\xa1\xbc\x8a\xdb\x69\x99\x53\x7d\xdb\xd9\x4c\xe7\x00\x60\x94\xf3\x5c\x33\xa0\x78\x0a\xc7\x68\x60\x45\x30\x3b\xf0\x1e\x61\x6b\x56\x6f\x31\xd5\x30\x97\x0f\xac\x34\x61\x00\x70\x2c\x3b\x01\xf7\x83\xee\xf8\x43\x38\xa1\xb1\x1b\x62\x00\x43\xd7\x80\x40\xb9\x07\xbc\xc2\xc3\x13\x9b\x2b\x55\x53\xb3\x5b\xc5\x80\x49\x09\x7c\xfd\x9a\x58\xcd\x4d\x76\xe7\x9e\xac\xc4\x15\xab\xd7\x3c\x8b\x90\xff\x10\x69\x38\x80\x2f\xde\xfd\x4c\x05\x18\xa4\x69\xfc\x9f\x87\x29\x13\x5f\x04\x41\xda\x13\x50\xb4\xcb\x7a\x78\x1f\x0c\x35\x4f\x72\x1d\xc6\x24\x17\xc2\x07\x51\x8c\x91\xb7\xd4\x5e\xc4\x57\xd2\x56\x17\x37\xa0\x94\x1b\xaf\xef\x72\x7b\x11\x2d\xe0\x7d\xf4\xc4\xd1\xa0\xa0\xfa\xd9\x36\x2b\xd8\x87\x77\x87\xef\x3b\x32\xa6\xf5\x42\xc2\xfd\xfb\x8f\xff\xc9\xfb\x04\x50\x86\x01\x69\x76\x46\xe5\x5d\x38\xcd\xed\x42\x01\x54\xf3\x5a\x0b\x5d\x60\x50\x73\xf6\xe9\x26\x6c\x33\xb8\xfd\xfd\x26\xc0\xcd\xe9\xe1\xdf\x1f\xbb\xd9\x45\x16\xf7\x80\x6f\x6e\x64\xb6\x6b\x56\x35\xe5\x93\x90\xd8\x91\xb6\x15\x3c\xe3\x97\x08\x27\xc6\xc1\xb5\xc6\x67\xb0\xc3\xe4\x6a\xe4\x46\x6c\xc8\x9c\x4a\xac\x5c\xd1\x05\x26\x38\x82\x46\x40\x2d\xd1\x50\xdb\xb6\xd6\xf2\x49\x73\x29\x2d\x18\x87\xef\x16\x85\x62\xff\x67\xdf\xd4\x37\x57\x5e\xc9\xfa\x5a\xac\x99\x85\x45\xab\x23\x10\x0c\xd7\xec\xbe\xe5\x6b\xb7\x13\x56\x8e\x5d\xd8\xb5\x7c\x49\xa8\x5e\x46\x36\x8b\xd2\xcd\x49\x82\x71\x9b\xf0\xe6\x46\x29\x02\xf7\xe1\x4f\x76\xc8\xac\x1d\x72\x65\x3a\x7d\xda\x5c\xd4\xe7\x34\xbb\xf1\xd1\xd7\x81\x11\xa7\xc4\x1e\x86\x11\x5a\xd1\x8e\xb6\x8c\x87\xe5\x89\xe6\xc9\x3e\x1d\x3f\x38\x38\x20\x57\x17\x6f\x2f\xcf\xce\xc9\x8b\x97\xaf\xce\x8f\xd0\x5d\xfc\xe0\x2f\xf2\x00\xfe\xf1\xc1\x4e\xf5\x03\x17\xd3\xbf\x48\x5d\x5a\x0b\x2e\x68\x81\x1a\x66\x23\xf2\xf4\xf0\xc9\x53\xd8\x66\x30\x11\xf2\xd5\x92\x5c\x5c\x91\x53\xf0\x43\x94\x53\x72\x5a\x14\x68\xad\xc2\x24\x49\xf5\x5a\xcb\x19\x07\x07\xe4\xad\x74\x80\xa0\x04\xc3\x59\x51\x02\xe0\x92\x2c\xf4\xf3\x59\xe2\x3a\x53\xf2\xec\xea\xf9\x04\xa1\x2d\x0b\x9e\xb1\xd2\x3a\x57\x21\xc7\xaf\x5b\x9a\x43\x8e\x15\xc3\xe3\xbf\x7a\x79\x76\xfe\xfd\xd5\x39\x99\x73\x7d\x31\x3c\x18\xac\x24\x06\x1a\x67\x4a\xcb\x92\x9a\x09\xae\x55\xce\xaa\xe1\x40\xff\x13\x45\xd7\xb7\xd7\x2f\x7e\x07\x21\xa9\xce\x71\xbe\x5a\xa9\x83\x8b\x95\x02\x38\x45\x70\xf3\xa0\x19\x48\x94\x30\x22\x97\x19\x07\xe4\xca\xe5\x72\x55\xea\xb5\x0d\x52\x8f\x36\x73\xaa\x9e\xd9\x0a\x05\xbf\x65\xe4\xe7\x92\x4a\x79\xf3\x33\x30\x6b\x3f\x67\xb5\xd0\xff\xae\x59\xc6\x38\x30\x70\xe0\xe1\x45\x35\x63\x6b\xd7\x26\x2b\xa8\x94\x04\x13\xa2\x56\x3e\x6f\x12\xaf\x09\xad\x17\x6b\xe3\x2b\x66\x0f\x37\xe4\xe9\xb1\xee\x6b\x36\xfd\x91\xc2\xcc\x89\x35\xa3\x9e\xe5\x0d\x53\x22\xc0\xc8\xc5\x4a\x11\x76\x57\x09\x69\x98\xdf\x25\x56\x23\xac\x54\xbc\x6e\xe2\x66\xba\x51\x86\xda\x38\x4c\x1d\xf3\xff\x67\xef\xef\xdb\xd3\xc8\x91\xfd\x71\xf8\xff\xbc\x0a\x65\xce\xf9\x2d\x30\xc1\x18\xf0\x43\x9c\x78\x3c\x59\x8c\xb1\x83\x9f\x03\xd8\x49\x9c\x64\x73\x9a\x6e\x01\x1d\x37\xdd\xa4\xbb\x31\xc6\x3b\x39\xaf\xfd\xbe\x54\x25\xa9\xa5\x6e\x35\x60\x67\xe6\xec\x7e\xcf\x7d\x7c\x6d\x76\x6c\x90\x4a\x52\xa9\x24\x95\x4a\x55\x9f\x12\xec\xc1\x50\x24\xc5\xc4\x47\x89\xee\x54\x5f\xc2\xe4\x79\xc9\x95\xbe\x44\xc6\x34\x1e\x05\x98\xdf\x4e\x1f\xbd\x44\xcf\x8b\x03\xc9\x2b\x19\x5e\x10\x49\x42\x24\xc0\x39\x13\x48\xb2\xe8\x97\x0b\xa9\xbc\x68\x14\xbb\xbe\x15\x2b\x79\x66\xda\x51\xe0\x59\xb1\x96\xb6\x4f\xde\x07\x24\x67\x26\x61\xc0\x6e\x49\x78\xa3\x4d\x02\xa3\xfa\xd4\xa7\x03\x37\x8e\x5e\x33\x42\x6b\xe4\x52\x94\xb2\xc8\x98\x32\xf5\xd5\x8d\x30\xe1\xad\xc5\x95\x72\x9e\xa3\x43\xe7\x40\x6a\xfc\x08\x1d\x24\xbd\x29\x31\x8b\x86\x7f\x17\x80\x23\x76\x34\xed\xcb\x5e\x16\x23\x8a\xfc\x84\x84\x8a\xc8\xc6\x49\x30\x49\xf8\x07\x2e\xab\x64\x0d\x26\xc5\xc5\x51\x06\x3e\xa4\xd0\x88\x00\x1d\xd4\x8a\xf8\x46\x0c\x59\x35\xb8\x21\x91\xf1\x58\x4e\x2f\xf4\x0c\xc3\x84\x65\xcf\x60\x26\xd8\xd5\x8a\x0b\x0b\x1e\x21\x2a\xff\x78\xb3\x6d\x1f\x5a\x3e\x9c\xc6\x4c\x6b\x4f\x72\x22\x5a\x73\x12\x4e\xc1\xdb\x8c\x6d\xac\xb3\x20\xbc\xe5\xe3\x0c\xf9\x2d\x6e\x86\x56\x61\xdf\x9b\x83\x11\xb7\xef\x51\x6c\x99\x4d\xa7\xe5\x41\x4e\x76\x8b\x64\x44\x50\xe6\xdb\xb7\x7c\xd2\xbe\x6c\x26\x33\x90\x3e\x9b\x74\x11\x36\x06\xe9\xb6\x2f\xd4\x2d\x59\x48\x81\xb2\x35\xcb\xad\x90\xec\x49\x21\x11\x57\x1b\x36\xe8\xf6\x85\x70\xde\x04\x49\x15\xb3\x4e\xda\x17\x15\x98\x22\x79\x53\x11\xf1\x91\xed\x8b\x04\xae\xe2\xff\x70\xc6\xfe\x0f\x67\xec\x7f\x18\x67\x8c\xc9\xe5\x52\xa8\x31\x01\x72\x91\x81\x1b\xd3\x97\x84\x16\xbe\x66\xac\xa4\x89\x38\xc4\xe9\x58\x3e\x19\x84\xd6\x58\x82\x89\x88\xb0\x41\xe5\x68\xf2\x9d\x60\x56\x26\x93\x80\x1d\xc4\x4e\x12\xe6\xc9\x93\xcd\x33\x4a\x3c\xbe\x07\x32\x8e\x31\x55\x15\xfd\x51\x66\xb4\xe0\x79\x4a\x5e\x6f\xca\xf3\x58\xad\x0b\x94\x8a\x75\xee\x79\xcd\x36\x47\x7e\xd9\xad\x88\xf5\x03\xd6\x63\x2e\xe5\x60\xc3\xe1\x1b\x92\xc8\x4a\xbf\x8e\x16\x53\x3c\x16\xd8\x00\x16\xc5\x77\xf5\x46\x54\xc6\x78\x05\x96\xd4\x54\x64\x3d\x59\xe9\x02\xb6\x0e\x14\x31\xde\x23\x72\x31\xc1\x57\x2a\xce\x27\xd1\x51\x42\xce\x83\x98\xb8\xe3\x09\x62\x88\xe4\xbc\x65\x68\xd3\x8b\xca\xeb\x21\x90\xd1\x23\xc6\xca\x6a\x8b\x1a\xd0\x8c\x4f\x67\xfc\xe8\x87\x7a\x45\x7d\xc6\xcb\x24\x53\x59\x57\xa5\xe1\x68\xc1\xb3\x2a\x14\xc0\x97\x6c\x4a\x98\x72\x26\x23\x1f\xd2\xea\x12\xe7\x06\x2f\x06\x51\xc2\x92\x9d\x8c\x95\x3e\xf0\x61\x90\x47\x96\x9d\x12\x4c\x13\xb1\x62\xb3\x25\x57\x17\x79\x1a\x8b\x2f\x2e\x79\x7d\x85\x35\x4a\x17\xcc\x02\x4f\x63\x5e\x4b\x2b\xaa\xf3\x00\xb8\xce\x43\xfa\xb2\xc7\x8d\x3c\xc5\x40\x65\x62\xe7\xb1\x1b\x0b\x4d\x8a\xbb\x93\xf6\xa4\x09\xf3\x57\x71\xb8\x58\x51\x14\xd8\x6e\xf2\x1a\x8c\x0f\xa8\x19\x9d\xcc\x85\xd4\xf6\xa0\xb7\xc6\x01\x99\xb0\x0d\xc5\x0e\xfc\x38\x0c\xbc\xcc\x06\xca\x0e\xae\xc1\x00\x8f\xd8\x44\xd9\xc0\xe4\xa8\xa0\x2d\xf1\x03\x8c\xeb\x18\xc2\xde\x2e\x68\x8b\xa3\x4e\x90\x4f\x1e\x9e\x25\x2d\xa6\x09\x4c\x3c\x9a\x97\xf9\x45\x9b\x16\xa6\xd9\x98\xcd\xeb\x6e\xc0\x8e\x4b\x13\x2b\x53\xb2\x89\x4f\x51\x81\x7c\xa6\x6a\x5a\x13\xa6\x8f\x38\x5f\xd3\xef\x57\xf2\x0b\x34\xe8\x05\x15\xdd\x82\xcf\x1f\x5d\xe4\x47\x9c\xac\x62\x58\x47\xcb\x1e\xff\x5b\x10\xd1\xcf\xf7\x94\xdc\xb8\xc1\x6e\x56\x98\x60\x64\xec\x9b\x64\xf5\xb1\xbf\xb4\x27\x1c\xe1\x34\x90\x08\x45\x21\x4a\xd0\x28\xa4\xf2\xb1\x02\x83\xc1\xdb\xc4\x74\xf9\x4c\x75\x28\xad\xac\xe8\xb2\x8d\xe6\x6c\x98\x6c\x78\xba\x63\x9b\x6c\x24\x6c\xb6\xfc\x79\x52\x03\x51\xe7\x62\x25\x2e\x46\x8b\xfc\x01\x14\x55\x5f\xcb\xf9\x1e\x0c\xc8\x84\xc7\x07\x80\xc3\xd2\xf2\x18\x65\xe8\x1a\xd8\x1d\x72\x32\xf1\xa7\xb6\x04\xa1\x91\xe7\x05\x20\xaf\xaf\x93\x0b\xb5\xab\x95\x67\x89\x9f\xa4\x17\x0c\x8b\x85\x2b\x1f\xd5\x78\x55\xbd\x7f\x4d\x78\xc0\x1b\x23\x93\xcb\x45\x2b\x59\x91\x0b\x23\xb2\x9f\xca\xb9\xe4\xd2\xa4\x6a\x8b\x49\x53\xc0\x2a\x61\x5e\xc3\xdb\xb1\x93\x4d\xd1\x51\x60\xc3\x5a\x83\xaf\x5d\x7f\x58\xc0\xd7\x34\xb1\x11\xaf\x16\x34\x7e\x4b\xe7\x24\xa2\xdf\xa7\xa2\xc6\xe2\x39\x59\x29\x2e\x7c\x85\x69\x09\xfa\x60\x80\x08\x1d\x2d\xe4\x1d\xa7\xe6\xb8\x7b\x71\x5e\x41\x7a\xee\x60\x9e\x0a\xef\x5e\xdc\x39\xf1\xb9\xe1\x61\x10\x9e\x4d\xca\x44\x3c\x83\x89\x6d\x2c\xe8\x7f\x53\x30\xf3\x39\x00\x45\xd0\xff\x26\x4c\x3a\x41\xff\x5b\x6a\x1f\x02\x42\xbb\xf2\x4b\x65\xff\x41\xda\xf2\x2b\xb2\x07\x05\xb4\x35\xab\x45\x53\xa6\xba\x9b\xea\x62\xae\x68\x4a\xc1\x04\xc5\xc7\x15\x1e\x28\x3f\x2d\x92\xa8\x49\x99\xa5\xe6\x0f\xa6\xf4\x0d\x99\xd6\xad\x28\x84\x4e\x3c\xaa\xac\x54\x14\x47\xb4\x8a\x74\xe9\x1c\x59\x32\x7f\x59\x39\x53\x38\xf6\x1e\x2c\x2e\x16\xc0\x1d\xec\xc8\x15\xd4\x9f\xc7\x34\x05\xbc\x97\xa3\xf5\x98\x96\x8b\x4e\x2b\x21\x33\x09\xdd\x1c\xb7\x04\x6d\x78\x60\x04\xba\xea\x1d\xee\x2c\x05\x54\xd0\xf6\x7e\xfe\x96\x27\x1e\xb5\xc2\x60\x46\x0a\x0d\x4c\xad\x2d\x1b\x17\x91\x50\x5c\x61\x49\x0e\x20\xc5\x6f\x43\x21\x2a\x92\xb5\x17\x4d\xdb\xe0\xa3\x39\xc7\xed\x31\xdc\x28\x17\x7a\x99\x54\xc1\x7f\x11\x2b\x3d\xff\xdf\x91\x99\xe0\x36\x13\x7e\xf6\x0b\xf9\x5c\xad\x6d\x93\x63\xeb\xce\xea\xda\xa1\x3b\x89\x9f\x2e\x8e\x8f\xe6\x1a\x8e\x6e\x6f\x25\x21\xad\x6d\xe7\x31\x16\xc6\x2f\x65\xb9\xa8\x9b\x6f\xcd\x68\x1c\x97\xd0\xf0\xea\x83\xd7\x24\x0a\x34\x76\x0e\x21\xf5\xd7\xb0\xc4\xf3\x57\x61\x0a\x88\xdb\x2a\x6c\x41\xb9\x5c\xc8\x98\xa5\x86\xfe\xfb\xf8\xab\x95\xc0\x16\xfd\xef\x32\xf6\x03\xfe\x73\xa4\x1a\xfa\x9b\x81\x1f\xc5\xe1\x14\xde\xf4\xd9\x6d\x54\x43\x6d\xe2\xab\x4f\x55\x94\x22\xf9\x21\x19\x43\x5a\x07\x00\x45\x45\xdb\x0f\x46\x31\x09\xd6\x91\x68\x6a\x8f\x88\x05\xe1\xfd\x1c\x7f\x7a\x1d\xb2\xc2\x48\xc4\x6a\x02\xdd\x29\x93\x7e\xe0\x81\x53\xa6\xeb\xc7\x65\xe2\xc6\x96\xe7\xda\x65\x7c\xd1\x2f\x93\xa9\xef\xd0\x90\x89\x20\x3a\x9f\xb0\x91\xdd\x52\x6e\xee\x94\xdd\xd2\xfa\x2c\xee\x80\x51\xfa\x82\x66\x8b\xa1\x12\x8b\xfb\xb5\x81\xeb\x16\x0d\x13\x1b\x02\xb7\xf4\xaa\xfa\x7a\x32\x20\x08\x93\x64\xcb\x85\x46\x31\x3c\x0b\xdc\xbb\x11\x18\x7f\x75\x62\x03\xf4\xd3\x62\x57\x3d\x2b\x76\xfb\xae\xe7\xc6\xf3\x6c\x2e\x25\x45\xc4\xc4\xda\xb2\x93\xa9\x50\xd7\xda\xdb\xde\xd9\xe9\x01\x77\xce\xf9\x91\xb8\xe9\xf4\xe0\xb9\x12\x68\xc9\xcf\x38\x3e\x0d\xe8\x2a\x60\xea\x90\x96\x6b\x02\x17\x46\xad\xa3\xa9\x3b\xa8\x0a\xd6\xa5\x2e\x34\x41\x5c\x59\x6a\xd2\xd1\x9b\xec\xc9\xb6\x77\xa5\x01\x38\xa2\x32\x23\xa4\x8e\x01\xc1\x85\x9e\x5f\xbb\x11\xff\xdc\x8a\x08\x75\xe3\x11\x0d\x5f\x73\x00\xc6\x4e\xf3\xeb\x41\xeb\xb0\x71\x75\xda\x23\xa4\x08\x5e\xcb\x81\x0f\x82\xc5\x9d\x7a\x4a\x49\xb9\xce\xd1\x3e\x3e\xfd\x15\xa5\x29\x8c\x2d\x8a\x42\x38\xec\x17\x49\x58\x26\xc3\x32\xe9\x97\x0a\x6c\x3e\xc6\xbc\x16\xda\x2f\xf9\x4b\x7e\x31\x83\xd6\xe4\x02\x3a\x18\x1c\x41\xd8\xbb\x89\xe5\xd1\x18\x5f\x8f\xa6\x11\xf8\xb6\xc0\xf8\x13\x81\xd6\xc1\x6d\x95\xce\x27\x8f\x8f\x52\xda\x17\x94\x55\x79\xa7\x02\x68\x58\xf6\x08\xaf\xba\xe0\xc4\x24\x0d\x84\xd0\xb7\x98\x31\x18\x83\x0d\xd3\xfd\x79\x26\xd1\x25\x32\xad\xab\xf3\x61\x5b\x7e\xe0\x83\x5b\x41\xe2\x23\x95\x1a\x9f\xe8\x2d\xef\xe9\xd7\xe6\xc5\xe9\x45\xc7\x30\xb6\x9c\x72\xcf\x12\x07\x79\x36\x77\x87\x2a\x5d\x98\xa6\xfa\xd6\x56\x99\x88\xff\x2b\x25\x10\xe7\xbc\xc2\xbe\xda\x00\x54\xa8\x96\x09\xfb\x5f\x49\xd1\x07\xd8\xee\xa1\xba\xdb\xe3\x10\x2c\x38\x6f\x53\x9f\xe2\xde\x92\xf9\xb8\x2f\x92\x8c\x6b\x9f\xca\x9d\x27\xf3\x8d\xb6\x09\x65\x1b\xe1\x6f\x0b\x86\xcf\x13\xc7\x07\xed\x9b\x99\xcd\x61\x74\xf5\x8f\xad\xc8\x76\x5d\xfe\x8d\x08\xa3\xe1\x9e\x2e\x1e\x3d\x40\xdf\x61\x8e\x5e\x2a\xc3\xf9\xbc\x20\xbc\xe4\x42\x9b\x20\x80\x0b\xbf\x2b\x1a\x37\x95\x02\x29\xa7\xaa\xf6\x00\x9b\x07\xb4\x2b\x77\xe8\x0b\x2b\x0b\xb0\x57\xee\x56\x46\xc3\xda\x00\xce\x0e\x89\x55\x02\x86\x7a\x0b\x2b\x32\x56\x60\xe2\x58\x2b\x46\x04\x6d\xc7\x1d\xc0\x2d\x39\x96\x0f\x19\x32\xc7\x2b\x8f\x58\x98\x21\x1e\x3e\xaf\x9a\xbf\x4b\x29\x5a\x02\x42\x5b\xef\xa3\x24\x70\xb8\x8d\x64\x5c\xec\x83\x32\xec\x8c\x7d\x3c\xc4\xf1\x18\x24\x45\x77\x40\xac\x3b\xcb\xf5\x58\xe5\x12\x0c\x03\x3a\x0d\x0e\xe0\xea\x40\x23\x1a\x8b\x98\x79\xb6\x47\x4c\xa8\xef\x50\x5f\xbc\x42\x13\xa5\x71\x5e\xf0\x91\x7d\x6e\x44\xfb\xa1\x48\xb0\xa8\xf5\xbd\x41\x70\x7b\xa2\x1e\x1e\x5e\x96\x1f\x4b\xe7\xc7\x5f\x66\x23\x2b\x16\xe0\x59\xd2\xe5\x11\xf7\x06\xe8\x27\x7f\x3c\xc6\xed\xf3\x97\x95\xba\xa4\x2d\x5f\xe9\x2f\xcb\x91\xba\xfd\xe9\xb8\x58\x50\x55\x87\x46\xd2\x29\xae\xfc\x89\x93\x16\xf7\xe3\x39\xce\xba\xd4\x75\x78\xcf\x52\x1b\xfa\x4a\x1d\x53\x8f\x85\x3d\x52\xe0\x55\xd9\x26\xf0\xc8\xce\xe8\xe7\x90\x95\xf4\xca\x42\x48\x2e\xf0\xb0\x56\xcf\x0f\xf9\xcc\x12\xae\xdc\x51\x76\x2e\xe1\x76\x55\x48\x98\xd5\xd3\x5c\x6c\x39\xb8\x0d\x44\x81\x09\x63\xc1\x0c\x17\x01\x3b\xa3\xfd\xc0\xa1\xba\xa7\x8d\xc9\xb8\xfd\x78\x05\x61\xa5\x21\x44\x34\x16\xd4\x9e\xa4\x07\x98\x0c\xff\x0e\xa5\x13\x8c\x23\x10\x1a\x70\x62\xa5\xd5\x20\xa4\x4d\x7d\xfb\x41\x1a\x0b\x09\x2c\x1d\x91\xed\x05\xbe\x01\x6f\x52\x62\x8e\xaa\xb6\x74\x95\x44\x11\x40\xdd\x60\x7b\x65\x7b\x43\x91\x55\xb8\xa5\x73\xb1\xb6\x84\xa1\x2a\xbc\xfb\x74\x4b\xe7\x5f\xf8\x19\x08\xbf\x4b\x73\x53\x78\x97\xde\x94\x33\x1b\x75\xc5\x0e\x7c\xdb\xe2\xc1\x0e\x9c\x0f\xe1\x5d\xda\xea\xcd\xbd\xdb\x12\x4c\x51\xd8\x7e\xb2\x5a\x24\xec\x57\x4e\x40\x23\x08\x53\xe0\x3e\x6e\xe8\xda\x86\xad\x11\xb8\x88\x18\x4e\x03\xfe\x18\x05\x2e\xdc\xbf\x92\x76\x8c\x8f\x7e\x02\x73\x57\xa1\xc4\x8e\x1f\xb0\x92\x96\xf1\x2d\x9b\x35\xc4\x76\x25\xa6\x7f\xae\x34\x1f\xd0\x78\x8e\xed\xfd\x4f\xd7\xad\xfe\x6c\x9d\xe6\xff\xff\xb4\x0e\xb3\x20\xa6\x15\x64\xf5\x14\x02\xf7\xcc\xd5\x45\xa1\xa9\xaf\x10\x93\x58\xa4\x16\x51\x72\x97\xcd\x5f\x4a\xc8\xb4\xb9\x6f\x03\xf9\x28\xa5\xee\xf4\xd8\x25\xce\x1d\xe4\xdc\xc9\x88\x43\x23\x3b\x74\xd9\xe5\xd1\xe7\x50\xcb\xaa\x52\x20\xb7\x2b\xe9\x36\x2b\x42\x0c\x1f\x4d\x6e\x29\x87\xdc\x88\xfb\x47\xe4\x66\x42\x29\xe6\x2c\x9c\xec\x6a\x50\x31\x04\x72\xd7\xd0\xb2\x6a\xcf\x13\xf9\x37\x7c\x8e\x4b\xc0\xf0\x05\x5f\x05\x26\x52\xb0\x10\x0c\x5f\x24\x6b\xc1\xf0\xa5\xbe\x1c\x4c\x0d\xf2\x15\x61\xfe\x4a\xa2\x75\x65\xbe\xe4\xeb\x22\xcb\xaa\x64\x65\x64\xbf\x4b\x54\x72\x0e\x05\x6a\x3e\x07\x75\x4b\x41\xd1\x42\xac\x6e\x70\x67\x92\x00\xdf\x25\x1e\x9c\xcb\x73\x99\x83\x8f\x5a\x6c\x8f\x84\xc7\xe2\x6a\x27\x00\x7f\xa2\x86\x67\x2c\x5b\xb4\x3e\xf1\xe0\xea\x97\x20\x89\x8b\x07\x70\x0c\xc7\x14\xb2\x59\xe6\x91\x66\x96\x0f\x4e\x42\xd8\xc7\x54\x59\x2c\x59\x21\xe4\x00\x1d\xc5\x01\x77\x33\x18\x90\x71\xe0\x07\x00\x94\x4a\x66\xae\x43\x93\xc8\x1d\x46\x0f\xaf\x08\x81\x4f\x6c\x1a\xc2\x25\x14\x71\xb0\x23\x52\xa4\x95\x61\x45\x80\xeb\x5c\x74\x4b\x1a\xe0\xee\x64\x1a\x13\x6a\xd9\x23\x03\x41\x44\x42\x07\x0e\x0e\x48\xb3\xdb\xe5\x9e\x92\x85\xca\xcc\x5e\x63\x03\x2c\x70\x0d\x6b\x64\x45\x1c\xe1\x87\x87\xa6\x29\x2f\x28\x2d\x46\xfa\x2e\xfe\xca\x26\x10\x1f\x49\x5d\xf4\xbd\x87\xd3\x4f\x9a\x08\x84\x6d\x0e\x5a\x13\xf3\x03\xe9\xa7\x61\x4e\x44\xaf\xca\xf8\x9d\xec\x0b\x65\xbd\x61\x14\x79\x40\x35\xfc\xfe\xf5\xb7\xa1\x37\x9f\x8c\xb8\x35\xe2\xf7\x42\x9e\x71\x15\xdc\x86\x94\x74\x36\xd2\x0d\x06\x26\xc1\xe6\x9f\x0a\x17\x12\xa6\xc4\x48\xd1\xaa\x68\xbb\x14\x9b\x45\x26\xb7\x3f\x48\x43\x9d\xd2\x20\x4c\x64\x41\xcc\xa8\x26\x6e\x42\xd6\x84\x09\x49\x97\xb5\xe5\x6a\x17\xc8\x5d\x53\x8a\xbb\xb2\x7f\xa5\x86\x96\x7a\x36\x90\x5b\x9e\xc0\xe1\xe1\x03\xd1\x95\x4e\x4e\x9f\x35\xcf\x06\x97\xa1\x99\xe4\xcb\x61\x83\x5d\x96\x7f\x88\x15\x2a\xc8\x8c\x39\x11\x4f\xa2\xce\x3e\xc5\xb0\x13\xf1\x8d\x98\xd6\x3d\xf2\xe9\x8b\x9e\xfb\x4c\xd1\x30\x9e\x9b\x54\x07\x9e\x65\x29\x9b\xfc\x2f\xa9\xa8\x13\x54\x54\x91\xa5\x04\x73\xd2\x00\x26\x1f\xeb\xa4\x95\x2b\xab\x40\x6f\x60\x1b\xba\x4a\x91\xad\xd6\xf7\x32\xc3\x3d\xfb\xb6\x90\x1a\x2f\xdb\xe9\x79\x0d\xc6\x26\xa1\xfc\x48\xb4\xcb\x64\x3e\x61\xeb\x4f\x13\x97\x69\xfd\xf1\xeb\x14\xf5\xbe\x1a\x6b\xc5\x99\x0e\x3e\x31\xc5\x02\x7c\x85\x0b\x5c\x04\x08\xb3\xf6\xe1\xe3\x94\xb9\x44\x86\xf9\x31\xc1\x38\x48\x7c\xdd\x04\xea\x9e\x6c\x4e\x1e\x35\x32\x78\x4a\xaf\xf0\x62\x8f\x14\x12\x5b\x74\x41\x69\x56\x55\xd8\x92\x66\x55\x70\x1f\xf5\xa0\x5a\x44\x9e\x11\x59\xe3\xe5\xd4\x16\xd2\x8a\x5f\xa6\x15\x8d\x96\xcc\x39\x84\x90\x2a\xe9\x71\xeb\x1f\x64\xe3\xd2\xf0\xf4\x33\x33\x5e\x6c\xab\x2a\xd7\xa5\x16\x99\x00\xbd\xc0\xe7\xaa\x1a\xa9\x20\x61\xe8\xe9\xf5\xf9\x99\xf9\x5c\x47\xf9\xd6\x1b\x85\xdd\x93\xb7\x98\xfd\xe6\xab\xcc\x04\x20\xa8\xa9\x9d\x63\x9f\x99\x24\x42\xa6\x1a\x54\xb6\x0b\xa5\x96\x96\x42\x2c\x55\x2e\x09\xe0\xe5\x7d\xc1\x38\x12\xa5\x3a\x7c\x81\x89\x3d\x64\x87\xbf\x05\xae\x5f\x2c\x10\x9e\xf4\x8b\x6f\x67\xac\x74\x46\x27\x15\x20\x20\xc2\xed\xde\x11\xc6\x02\xfe\x8a\x55\xce\xee\xdd\x25\x38\xe0\xc0\xb2\x61\x8d\x31\x7c\x09\x96\x16\x7c\xe8\x46\x24\x65\xdb\x37\xfb\xc8\xf9\x0e\x44\x70\x88\xac\x57\x8c\xb6\x78\xb3\x88\xa8\xaa\xca\xda\x60\xad\xe8\xc3\x3b\x0b\x0d\xd9\xc1\x28\x62\xe1\xf1\x48\x16\xef\x89\x56\x38\xa4\xb1\xb4\x66\x88\xc6\x0e\xf9\x69\x35\x99\x86\x93\x80\xed\xa3\xe2\x3a\x8f\x0a\x4b\x39\x49\xce\x87\x96\xa2\xc8\x75\x68\x48\x1d\x55\x3f\xca\x71\x93\x48\x0e\xb9\xa0\xff\x0d\x8c\x1f\x89\x17\x7a\x4c\xd1\x33\x7a\x89\xe2\x2e\x59\x9e\xa8\x68\x2a\x67\x25\x5b\x13\x37\x66\xa6\x27\x98\x39\xbb\xf4\x74\x84\x53\x96\x46\xe6\xe3\x51\x78\xc1\xc0\x5a\x99\x4f\x68\x30\x40\xb7\x96\x3d\x52\xc0\xe1\x02\xd4\x5a\xd0\xff\x06\x69\x55\x7a\x1c\x92\x67\x23\x7b\x5a\x2a\x47\x69\x72\x1e\xf2\x8d\x97\x55\xe7\x67\x9b\x12\x98\xac\x20\x42\x83\xee\xc5\x63\xc4\xa8\x9a\x23\x07\x14\x2f\xbe\xf2\x51\x79\x85\xc7\x47\x7c\x99\xe1\x91\x19\x76\x30\x1e\x83\x33\x8c\xcb\xdf\xa2\x12\x4d\xa0\xa2\xdc\x5d\x9e\xab\xdb\x8e\x18\x94\xd8\x84\x16\xe9\xe0\xe2\x9e\x92\xa3\x95\x3f\x37\xef\x31\xa2\x05\xb1\x33\x98\xda\x50\x4d\x05\x7b\xda\x81\xbd\xe8\xfa\x94\x94\x4d\x9f\xc5\x5a\xad\xc5\xe7\x2f\x23\xf2\xfc\x79\xe6\x00\x36\xb4\x8b\xc6\x03\x9c\xc4\xe4\xe4\xcb\x16\x14\xc6\x07\x9d\x2e\x9e\xbd\x3a\xc3\xd2\x77\x2e\xa8\xc2\xc8\xe7\x5d\xc3\x4c\xf7\x30\x59\x49\x3f\xf5\x74\x0f\xb2\x05\x86\x47\x11\x0a\xa0\x81\xec\x88\xe9\x28\x2b\xef\x59\xaa\x19\xd2\xf0\xba\xa4\xea\x54\x0b\xde\x94\x52\xfa\xd1\x62\x93\xc1\xd5\xc4\x11\x70\xf5\xa2\x21\xfd\x8d\x4d\x7d\xbb\x43\x8c\x6f\x76\xd9\xe1\xf7\x35\xd8\x61\xa9\x84\xdb\xe7\x98\xe8\xc2\x50\x62\xd2\xff\x85\x4b\x86\x32\xb0\x9e\xee\xa9\x21\x3f\x47\xf1\x64\x57\x81\x69\xa4\xee\x50\xe2\x0e\x0c\x9b\x67\xd2\x51\x83\xef\x58\xd2\x9c\xc2\x20\xad\xb9\xf4\xbb\xfd\xb2\xe6\x92\xee\xf1\x01\x2e\xb7\x3c\x4b\xce\x67\x6d\x1d\x12\x84\x65\x48\x63\x7c\x2d\x81\x5c\x4e\x45\x57\xc5\xbf\x75\xc9\x6f\x64\x27\x8d\x7d\x9c\x58\xab\x5c\x25\xbc\xcd\x0b\x66\xb0\xbd\x7b\x03\xf1\x8c\xd3\x38\xef\xb6\x49\x6d\xbb\x4c\x2c\xc7\x21\x3b\x15\x0d\xcd\x94\xb8\xe4\x05\xd9\x49\xc3\x3e\xb6\x07\x89\x01\x54\x12\xae\x6d\xeb\xb6\xb1\xb2\x78\x4c\x03\x8b\x49\x48\xbf\x4f\xd9\x29\xcf\x83\x15\x05\x25\x7e\x18\xe0\x83\x1b\x1d\x59\x77\x6e\x10\xb2\x7e\x0d\xfd\x60\x4c\xd7\x14\xc7\x24\xa5\x47\x9a\x7e\x9b\x67\x36\x4d\x7f\x2e\xae\x31\x79\xa6\xd3\xf4\xe7\xa2\xbc\x69\x8d\x99\xad\xa3\x4a\xe9\xfd\x15\xde\x87\x93\x4b\x02\xca\x8e\x98\xbd\xbc\x01\x99\x3a\x48\x72\x87\x63\x1a\xbe\x9e\xc2\xc0\xf5\x47\x34\x74\x85\x4d\x93\x1f\x50\x85\x48\xb8\x27\xf8\xf3\x71\x10\xf2\x04\x08\xb9\x3c\xc8\x0c\x77\x57\x2d\x9f\xe5\x42\x86\x50\x56\x37\x36\x3c\x0e\xea\x07\x45\x22\xf4\x19\x4e\x3d\x5f\x6c\xc1\x5b\x58\xbe\x73\xb4\x9f\xac\x1f\xc3\x1c\xa4\x56\x5f\xba\x84\x09\xb2\x5a\xb7\xb8\x2d\x98\x5f\xf3\xd4\x3e\x8e\xeb\x22\xe1\x4e\x97\xe2\x06\xb4\x9e\xde\xb5\x22\x32\xf5\x3d\x1a\x45\xc4\xf2\x42\x6a\x39\x73\xa2\xf9\x8e\x84\xc3\x7e\x51\xbe\xfc\x0d\x82\x70\x5c\x79\xb6\x02\x93\x15\xa6\x65\xdf\x1a\x8a\xd9\xba\x06\x13\x6b\x89\xbc\xc9\x83\xa1\xc8\x32\xe0\x75\xd6\x26\xfe\x29\xdd\xc8\x97\x52\x56\xa8\x84\x6d\x36\x6d\x05\x2d\x29\xb9\xa7\x80\x68\x2f\x38\xb3\x6e\xe9\x21\xbf\xd0\x17\x33\xf6\x8d\x3d\xa3\x39\x22\x7f\x08\x89\x3a\x92\x3b\x98\x84\x7a\x69\x37\x87\x93\x8a\xd1\x7f\xec\xde\x17\xd3\x3d\x2d\xa7\x3c\x44\xca\xa4\x5a\xd9\xd8\xd8\xd8\xd0\x19\x91\xd9\x29\x16\x4d\xa4\xf6\x18\x54\xcc\xd6\x7d\xd2\x44\x2a\xfb\x81\x69\x22\xd3\x8d\x98\x80\x45\x62\x00\xec\xe2\x36\x5e\xf1\xce\x1d\x2b\x2f\x1a\xa9\xcb\x63\x24\x6e\x8f\x11\x5e\x1f\x23\x6e\xe1\x4d\xcc\x7f\xa5\x24\xbc\x32\xb9\xea\xfc\x0f\x5f\xda\x6a\xa4\xe1\x1b\x2f\x6d\x0b\xea\xd4\x49\xc3\x47\x55\xea\xd1\xb7\xbd\xc4\x11\x2e\x6f\xec\x39\x0a\x4b\x52\xf1\x0c\x2c\xa5\xfa\xc5\xad\x56\x86\x7e\x99\xee\x6f\x35\xf5\x02\xa7\xdd\xd5\x16\xb7\xd3\x96\x97\x38\xa0\x2c\xcf\x4d\x46\x32\xb9\x00\x3e\x87\xcb\x40\x5d\x7e\xa0\x35\xc0\x4d\x30\xc6\x8a\xd9\x9b\xa3\xb0\xe0\xc9\xdb\x62\x0d\xaf\x8b\x35\xdd\x16\x0a\x7f\xd4\x09\x6f\x37\xb9\x4a\x8a\xbb\x1d\x56\x15\xc6\x4e\x7e\x3d\xaa\x9b\xee\x52\xbc\x64\xc6\x8a\x29\xeb\x2c\xbc\x53\xf1\xda\xaa\xc5\x52\x56\xcc\xbb\x45\x29\x75\xb8\x21\x52\xab\x62\xb8\x20\xf1\x1a\x69\x8b\x9a\xac\x96\x32\xc3\xed\xe6\xaf\x58\x65\xb1\x8a\x30\x76\xfd\x61\x48\x3e\x3b\x44\xe6\xf7\xc7\x7f\xf5\x82\x5c\xb8\xae\x78\x05\xe5\x41\x69\x95\xb5\xd4\x36\x3d\x73\x4a\x3b\x88\x10\x4c\xb3\x29\xc4\x68\x0b\x59\xcc\xff\x61\xf2\x8c\x2d\xdf\x83\xd0\x23\x08\x2c\x9c\x11\x51\x4c\x7e\x26\x7f\x1b\xfe\x6e\xf0\x03\x1f\xd2\xd8\x3d\x09\xde\x55\x28\x7e\xac\xb6\x20\x49\x2b\x14\xc5\x7d\x89\x5d\x1a\x74\x8e\xca\x08\x9e\x9e\xa1\x73\xe8\x23\x67\xea\x5e\x0e\x77\x65\xce\x5d\x95\xa9\xbe\xb4\xef\x02\xd0\x19\x08\x83\x34\xa2\x48\x9f\x16\x3d\x35\xae\x48\x7c\x0b\x85\xf5\x47\x96\x14\x68\x97\x08\x9a\x4e\x15\xe4\x66\xd2\x74\xa2\xca\xdc\x79\xc1\x64\xbc\xb9\x33\x42\x78\xc8\x81\x15\xc6\xe8\xb5\x8b\xef\x95\x8e\xa8\x87\x2c\xb3\x10\x7b\x63\x32\x45\x94\xd9\xcc\xe3\xdf\xd3\x27\x35\xe9\xde\xc2\x59\xe5\xb4\xe5\xa4\x62\x87\x65\xd7\x31\x91\x3c\x64\x4d\x36\xf4\x2e\x5b\x1d\x47\xd5\x93\x42\x15\x07\xc4\xc6\xc8\x5d\x73\x7d\xa3\x50\xd1\xfb\x18\xcc\x78\x8e\x3a\x88\xa7\x08\x56\x17\xab\xa7\x24\x8b\x67\x4e\x2e\x13\x25\xd7\xd6\xea\x72\x06\x24\x33\x52\x96\xa2\xb9\xb2\xcc\x71\x72\xd9\xca\xab\x4b\x20\x20\xdd\xa0\x29\x67\x91\x28\xa2\xd1\x5d\x4a\x23\x2b\x4c\x21\x44\x83\xfd\xf1\xbf\x4d\x0c\x29\xb7\x0c\xf1\x08\xe4\x45\x55\x57\x92\x40\x24\xf2\x33\x42\x98\x0a\x54\xd6\xe4\x90\x0a\x5b\xe1\x23\xa5\xd0\xf5\x87\xf9\x82\x48\xf9\x35\xe5\x11\x62\xc8\xe8\xa5\x6b\x2f\x3c\xa2\x20\xf3\xa8\x72\x92\xfb\x18\xc2\x12\xbb\xc3\x69\x30\x8d\x48\x38\xf5\xe1\xdc\x47\x2f\x84\x35\x60\xba\xe6\x8b\x80\x98\x50\xa2\x18\xfa\x3f\xac\x49\x90\x5f\x5e\x66\x41\x60\x57\x2a\xaa\x0b\xba\xa3\xcf\x6a\x23\x0c\xad\x39\x38\x15\x58\xec\x37\x82\x47\x33\xdc\x37\x30\x62\x89\x07\x1b\x48\x06\x60\x87\xe3\xb0\x8c\x90\x47\x42\x52\xc1\xbd\x23\x91\x05\x57\xc4\x84\x80\x7f\xee\xc2\x01\x2b\x23\x11\xc4\xe0\x3d\xc2\x3c\xda\x0a\x01\xcd\xc9\xd8\x47\xbd\x8e\x20\xa6\x38\x76\xb8\x71\x24\x9e\x3c\x92\x54\x94\xe0\x1a\x0e\xba\x51\x38\xa5\x0b\xc8\xcb\xce\xf9\xde\x9c\x34\xba\xcd\x76\x5b\xf8\x6f\x20\xe1\xe4\x11\x23\x8f\x76\xfe\x32\x80\x89\x79\xef\x3a\x94\x75\xd6\x18\xb5\x9f\x72\x77\xfd\xf4\x25\xb1\x02\x82\xc7\x60\xb5\x4c\x54\x34\x3c\xfc\x2e\xeb\x07\xa8\xba\xc1\xba\x50\x94\xb8\xe4\x37\x92\xa4\x2b\xde\xd5\x0c\x09\x64\x0f\xbe\xb2\x03\x87\x5e\x06\xae\x1f\x37\xe2\xa2\xcb\xef\xf6\x40\xc1\xb7\x43\xca\x9d\x8c\x8b\x36\x40\x1e\xdf\x0f\x06\x83\x41\x89\xbc\x21\x35\xf2\x9a\xd4\x77\xa5\x85\xcb\x26\xbf\x91\x5a\x5d\x31\xec\xf2\xde\xbe\xd8\x4b\xa8\x64\x32\xf5\xf1\xc5\xcc\x98\x82\xba\x8b\x5d\x62\x8d\xd4\x56\xa0\x42\x88\xf1\xf5\x3a\x93\x73\x0e\x9a\xc1\xe7\x5f\x25\x61\x48\x78\x87\xef\xd3\xff\xd4\xee\x0e\xe1\x6b\x4c\xe1\x8c\x47\x12\x63\xbc\x60\xba\x06\x2e\x2d\x1b\x7e\x9d\xfc\x9a\x7c\xff\x43\x49\xe6\x61\x8a\x0e\x21\x32\x95\x87\xa9\x1b\xe9\x4e\xb8\xe5\x64\xe0\x4a\x27\x50\xc8\x5f\x63\xd4\x44\xb6\xb9\xd7\x3c\x4c\xe4\x59\xba\x4b\x5c\x98\x5c\xf2\x22\xcb\x4f\x5d\xbc\x44\x27\xdd\x0c\xef\xa5\x99\x46\x67\x6b\x7a\x2c\x2b\xb1\x33\x9f\x95\x3f\x12\x93\x90\xee\x6f\xbd\x24\x36\xf4\x2e\xfe\xdf\x19\x0e\x5a\x26\xf0\xd7\x40\xfc\x72\xd5\x3b\xdc\x61\x37\x59\x87\x86\x05\x55\x38\x0b\xb8\xff\x5c\xf7\x2a\x4d\xb1\x2f\x9e\x59\x93\x45\xd1\xa4\x98\x65\x91\xd0\xc8\xb6\x26\x54\x82\x5d\x10\x19\xb8\x8d\x9e\x6a\x22\x3e\x42\xf9\x98\xb0\x5d\x10\x5e\xdb\x02\x0d\x11\x84\x5f\x2e\x6d\x6b\x02\x50\x54\x00\x84\x12\x0e\x02\xf6\xed\x50\x66\x57\xfe\x15\x71\x5f\x91\x84\x1b\xf8\x51\x99\x4c\x2c\x17\xe3\xfc\x92\x03\xa3\x4c\x68\x6c\xa7\x9c\x20\x92\xf6\xf9\x9f\x98\xac\x0f\xc0\x5c\x44\x40\xa7\xc7\x61\x2e\xef\x59\xa7\xca\x24\x1e\xc1\xc3\xa7\x0b\x7a\x17\x3e\xf5\x44\x80\xc2\x9e\xa4\x9c\x0c\x29\xa1\x51\x10\xd3\xd0\xb5\xd3\xac\x88\x12\x80\x4c\x44\x0d\x92\x5f\x80\xda\x28\xdc\xd5\x50\x71\x44\x71\x74\x02\x7b\x9d\x97\xee\x4a\x2a\x63\x67\x09\xd4\x5f\xc2\x42\x89\x1e\x28\xa2\x45\x45\x68\x6a\x6a\x56\xc4\x71\x73\xdd\xcb\x07\x04\x84\x69\x27\x22\xbc\x85\x03\xc8\xa5\x27\xcb\x88\xd4\x74\xe7\x86\xf1\x14\x7c\x19\x95\xb7\xad\x5f\xd7\xd3\x41\xfe\x69\x8c\x41\x59\x3c\xc9\x17\x03\xe5\x13\xfc\x0a\x4c\xf3\xad\xa4\x82\x90\x0f\xc0\x6a\x62\x67\x5e\xcd\x98\xd4\x59\xb8\x43\x5c\x5a\x21\x2c\x1e\x2b\xa6\x04\xd2\x4a\x01\x14\x60\xf2\x82\x68\x45\x31\xa6\x3c\xd6\x11\x01\x45\x6e\x79\xf8\x8a\x69\x75\x54\x00\xb5\x73\x98\xab\x89\x15\x45\x22\xed\xc9\x3c\x98\x86\x58\x92\x84\xc1\x34\x86\x38\xe7\xd0\x02\xe5\x07\xc2\xe2\x42\x0a\xe0\x79\x48\x01\xba\x9c\x90\xfd\x2a\x3d\x6f\x12\x48\x45\xe5\x4b\x35\xae\xe5\xba\x57\xb9\x94\x5f\x15\x93\xa2\x57\xfe\xad\x1f\xcc\xfc\xaf\x12\x9b\xbe\xe1\xcf\xc9\x2f\x1e\x36\x4a\xc6\x81\x03\x91\x4f\xd1\x2f\x72\x31\xa7\xc4\xb7\x2c\x83\xbc\x0b\x6f\xd8\xee\x41\x0a\x18\x24\x3d\xe2\x63\x46\xd3\xac\xa4\x43\x04\x26\x10\x8f\xa0\xc1\x4e\x34\xbb\xed\xaf\x72\x04\xbc\xed\x33\x5e\xe5\x2b\x77\xd5\x53\x7a\x17\x87\x96\xeb\xe9\xdd\xab\x10\xd2\xb5\xc6\x54\x4d\x14\x40\x99\xdc\x11\x8b\xa4\xc7\x52\x46\x4a\xf4\xde\xa6\x93\x58\x78\x37\x85\x94\x6f\xa2\x98\x53\x10\x6e\x22\xd3\x31\xac\x57\x2b\x1c\xc2\x0a\x4c\xa2\x63\x45\xfb\xe6\x2e\xbe\x1f\x51\x34\x47\x87\xf0\x2c\x8c\xb8\x60\x13\x11\x3a\xc3\xd9\x67\x83\xc7\x2d\xe3\xa9\x88\x2c\xcc\x60\xbb\x70\xe7\x16\xcf\x0b\x66\x98\x7d\x09\x94\x18\x44\x93\x53\xd3\x4b\x25\xb8\x9b\x29\x10\x46\x4c\x25\x3d\x73\x21\x63\x9b\x84\x64\x94\xf3\x88\xf9\x46\x2c\x9f\x5c\x74\x9b\x2a\x0a\x11\x5f\x4e\x91\xdd\x73\xc7\xf4\xd4\x1d\xbb\x10\xdd\x55\xaf\x56\xab\x55\xd1\x18\x3f\x1a\xd0\x55\xd8\x45\xf5\x19\x41\x45\x1c\xf8\x46\x7a\x35\xf0\x88\x96\x78\x20\x4e\x13\x21\x94\xa9\x43\x86\xfb\x26\xc9\xcd\x44\xf0\x10\x60\xec\xc4\x3c\x91\x9d\xb5\xbe\x1b\x4b\x74\x35\xed\x0a\x43\x08\xaf\xd9\xf0\xf3\x8a\x21\x9c\xba\xb2\xdb\x81\x4d\x78\x44\x58\xe1\x88\xf2\x6b\x3c\xa6\xc4\xfe\x55\x64\x61\x98\x05\xe1\x2d\x3b\x7f\x5e\x02\x49\x31\x45\x11\xe6\x5c\xa1\x73\x00\xc8\xc6\xa7\x83\x59\x80\x28\x2d\xf4\xfb\xd4\xbd\xb3\x3c\x99\xe2\xf1\x57\x72\x16\x44\x31\x64\xea\x8e\x48\x14\xbb\x9e\x87\x57\x00\xb1\x47\xc4\xb3\x60\x0d\x2a\xf2\x60\x57\x6d\x30\xef\x65\x1c\x6e\x6a\x4c\x20\x3d\xfd\xb9\x8c\xa0\x24\x32\x1c\x57\x05\x09\x86\x94\x21\x48\xc9\x8d\xa2\x29\x87\xad\x25\xbf\x58\xb6\xed\x3a\xd4\x8f\x2d\xef\x17\x32\x05\xf0\x4f\x9e\x78\x86\x5f\x59\x84\xe3\x7d\x5f\xfa\x7e\x20\xe8\x96\xd8\xe6\x25\x01\x56\x1d\x71\x26\x5d\xff\x2e\xf0\xee\x20\x62\x3d\x2e\x80\xc9\xc4\xf5\xad\x70\x2e\xc0\xc9\xd4\x8d\x1d\x1f\xb6\x77\xf6\xdd\x58\x9c\x78\x9a\x28\x9b\x44\x80\xad\x01\xe0\x16\x13\xd5\xad\x7a\xa2\x46\xa8\xe8\xce\x60\x0e\x81\x78\x02\x62\xcb\x7c\x40\xa6\xa6\x65\xb6\x20\x84\x85\x51\xb3\xf3\x8b\xc6\x3b\xca\x8a\x65\x53\x57\x00\x2f\x3f\x01\x54\x63\x27\x88\x8e\x5a\xf2\x09\x26\xf5\xd3\x88\x4c\x23\x9e\x0d\x1d\x61\x24\x0e\x5a\x4d\x72\x19\x02\x14\x23\xc2\xfe\xd7\xea\xc6\x6e\x1d\x50\xbb\x56\x37\xf3\x02\x6d\x26\x13\x00\x3f\x23\x02\x71\x4c\x18\x0a\xd8\x82\x86\xb8\x05\x8e\x2d\xa5\x64\x74\x61\x5d\x4f\xb5\x25\x97\x43\x4b\x90\xd9\x23\x85\x69\x3c\x58\xdb\x29\xe8\x6d\x9e\x59\xf7\x42\x69\xc7\x6d\x62\xea\x27\xc2\x40\x0e\x9a\xdd\x32\x9b\x8d\x32\xb9\x3c\x63\x3b\x5d\xe3\x32\xd9\x43\x04\xea\xeb\x8c\xc2\xd3\x06\x92\x9b\x4e\xc0\x18\xa1\x84\x95\xdb\xf8\x06\x21\x85\x1d\xc1\x0f\xd8\x8a\x62\x5b\x13\x8f\xb0\xe0\xb7\x59\x7e\xb4\x33\xa5\xb2\xd8\xed\x95\x49\xe1\xf3\xfd\x2b\xbb\x50\x26\xad\x6e\x93\x14\x3e\x7f\x2e\x94\xe0\x39\x93\x51\x29\xee\xb7\x4e\xe1\xfb\xea\xcb\x42\x49\xbd\xbd\x8f\x28\x4f\x94\x43\x7e\xe1\x56\x06\xd1\xdf\x5f\xc8\x38\xf0\x5d\x91\x5e\x31\x61\xd5\xd8\xba\xc7\xe6\x85\x92\x45\xf6\x48\xad\x5a\xdf\xd4\xf9\x24\xa3\xcb\xe9\x18\xf2\x15\x42\x1e\x15\x8e\x5c\x3d\x43\xf8\x38\xe0\x1c\x37\x65\xe8\x5b\x52\x10\xf2\x03\x01\x69\x25\x72\xcd\x96\xa1\x4c\x46\x18\x52\x3b\x18\xfa\xee\x03\xb8\x5a\xd2\xfb\x89\xe7\xda\x6e\xcc\x16\x1d\x30\x33\xd5\x6b\xd6\x83\x2b\x5f\xc1\x44\x35\x0a\x38\x58\x76\x78\xfc\x90\x88\x7f\x57\xfa\x35\xb6\x26\x11\x80\x6f\xc0\x0d\xe4\xa8\x5a\xa9\x54\x8e\x36\x20\x2d\xd5\xac\x94\x27\x50\x67\xac\x4e\x4a\xe5\x50\x6f\x09\x51\x7a\x93\xef\x29\xf1\x82\xa2\x09\xbd\x0b\x15\xb9\x0d\x2a\x09\x7d\xd8\x14\x5e\x75\xd7\xd1\x86\x32\xb6\x26\x98\x12\x07\x11\xb4\xad\x48\x64\xe0\x72\x87\x3e\xdf\xee\x40\x03\xe1\xcb\x51\x6c\xe0\x08\x25\xe3\xc6\x09\x1e\xf8\xc8\x92\xbb\xa6\xdc\x1d\xbd\x39\x89\x66\x2e\x84\xc2\x60\xb3\xc3\xd0\x9a\x8c\x5c\x3b\x42\x6a\x5a\x5f\x49\xb1\x19\x87\xde\xda\x79\xa9\x42\x40\x49\xe1\x89\xb5\xf8\x4c\x5a\x3e\x82\x1b\x8b\x5d\x5f\x10\x62\x35\x91\x18\xc4\x69\x89\xdd\x14\x53\x4c\x02\x08\xaa\x3f\x9f\x59\x73\x25\xcd\x53\x48\xc1\xdd\x8c\x0c\xa7\x56\x68\xf9\x31\xa5\x64\x06\x21\xf6\xa0\xa3\x5a\xfe\x1c\xa9\x89\x8b\x07\x9b\x12\x0b\x1f\x07\x2c\x20\x06\xe0\xf9\xae\x3d\xf5\xac\x50\xc0\x65\xab\x93\x79\x54\x15\x7a\xf1\x51\x4d\xfe\x56\x97\xbf\x6d\x90\x3d\x7e\x19\xcc\x4e\x7d\x65\x48\xe3\x33\x6b\x52\x2c\xec\x17\x0c\xf3\x8c\x07\xa8\x88\xb9\xd3\xb4\x34\x7d\x0f\xc0\x53\xcc\x62\x5d\x9f\xb0\x45\xca\xe1\xc0\xfa\xa0\x9c\x09\x0c\x4b\x71\xcf\x80\x28\x2a\xfe\x14\x74\x74\xca\x88\xf1\x99\x41\x9b\x1b\x7a\xd3\xbd\xda\x84\x93\x99\x7b\xfe\x55\xef\xeb\x35\x48\x0b\x75\xff\x32\xbd\xfb\x24\xc2\x08\xa4\x58\x3f\x0a\xfb\x85\x32\xb9\xea\xa2\xc1\x2e\xcd\xab\x53\xb6\x75\x1e\x55\x0b\xd9\xd1\xee\xfc\xf5\xa3\xed\xac\x38\x5a\x8b\x8f\x76\x90\x99\xea\x4e\x6e\xf7\x85\xc3\xaa\x3c\x69\xd2\x39\xeb\x74\x15\x05\xf4\x19\x0e\x94\x4f\x5a\xcd\xb3\xc6\xda\xc6\x16\xac\x2f\x50\x09\x21\x41\xdd\x30\x10\x1b\x3a\x7f\x30\x26\x4c\x92\x15\x95\x42\x36\xc5\x11\x9b\x20\xdf\x2d\x53\x42\x82\xf4\x76\x03\xc5\xba\x70\xce\x5f\xc5\x83\x9d\xaf\x99\xf0\x65\xb5\xc4\x29\x90\xc9\x28\xcb\x4d\x05\x07\x2a\xa4\x43\x58\x0d\xf4\x1e\x32\x76\x03\x54\x89\x1a\x01\x07\xd7\x23\xa6\x38\xa2\x9a\xa6\xee\xe1\x51\xe5\x59\x92\xe8\x4c\x40\xa1\xb8\x3e\xd1\x2e\x56\x8c\xda\xf7\xa9\x6b\xdf\x32\x26\x41\x36\x34\x61\x52\x4f\xe2\xf6\xee\x63\x24\x94\x39\x20\xa4\x0a\x6d\xdb\xb5\x4b\xa6\x81\x84\xfe\xd7\x34\xac\xcb\x14\x9c\x92\xc5\x71\x8e\x57\xbf\xa2\xbc\xce\x75\xad\x3b\xc0\xf8\x63\xdb\x83\xe8\xdf\x41\xab\xd9\x6d\x62\xdf\xf5\x01\x58\x3c\x33\x74\x1c\x10\x04\xd9\xb5\x10\x71\xe1\xba\x87\x14\xca\x6c\x4b\x72\x23\xf2\xab\x1f\xc4\xa8\xdc\x70\x98\x3e\x5d\xdf\x8f\x58\x9b\xe6\x3b\x28\xa6\x5d\x4a\x2e\xa1\xba\x93\xc4\x79\x90\xc9\x72\x9b\xd8\x20\x14\x37\x61\xe3\xa5\x1d\x6d\x8b\x82\x14\x1b\x63\xab\xc7\x15\xae\x6a\xb5\x2a\x8c\x23\xfc\xf6\x9f\x24\x66\x5e\x9f\x4e\x78\x73\x20\xc8\xab\xb5\xd9\x3c\x6d\x37\x4f\x98\x3a\x90\xdb\x60\x7d\x61\x83\x80\x73\x1d\xdc\xa1\xf5\x1b\x81\x4f\x2d\xc2\xf3\xfd\x03\x7a\xc3\xcc\x5f\x71\xf0\x9d\xc6\x11\x01\x5f\x07\x09\xf7\x27\x6f\xf9\x44\x81\x13\xd3\xac\x5c\xc2\xa1\x23\xb4\xec\xdb\x48\x07\x95\x50\x53\x54\x0a\xcb\x46\x3b\x86\x20\x98\x81\x4b\x3d\x27\x12\x52\xab\x06\x22\xf7\xa7\x83\x01\x53\xb1\x04\xa6\xbc\xb0\x44\x8a\xcf\xd9\x68\x25\x41\x69\x48\x4a\x9b\xab\xc4\xe7\x3f\xa4\xbf\xe3\xd4\xb7\xb5\x7d\x19\xea\x87\x1a\x01\x63\xc8\x6c\x7f\x3a\x48\x42\x65\x93\xf7\x2b\xf4\x54\xd7\xc6\x8b\x3d\x4c\xb1\x5a\xe1\xa0\x8a\x7e\x92\x74\x8a\xfd\x5d\x16\x2d\x19\xc2\x10\x84\xa3\xfa\x1e\x49\x7d\x92\x20\x3f\x4c\x07\x3c\xb0\x8c\xfd\xf6\xc7\x1f\xfa\x8a\x9e\x04\x91\x30\x94\xa3\x0f\x24\x63\x44\x3e\x31\x2b\x1c\x8a\x68\x54\x23\x50\x43\x8a\x6d\x65\x6d\x5e\xc4\x9c\xe5\xf2\x60\x11\x6a\x47\x96\x05\x50\x04\x2a\x1f\x4a\xef\x7d\x1d\x80\x6a\x7f\x3a\x28\x2a\x03\x2f\x14\x52\xdf\x37\x84\xb9\x25\x93\x3d\x38\x67\x3c\xa6\x65\x9b\xdf\x7d\xad\x6f\x79\x08\x24\xc8\x6f\xd3\x9c\xe6\x74\x09\x39\xaa\x31\x54\x76\xcb\x24\xa5\x9a\x84\xb2\x0d\x12\xe1\xdd\x00\x7f\x6a\x3a\x28\x8b\xa9\x06\x9d\x91\x89\xc6\xca\xc3\xdb\x07\xc1\x5a\x30\x41\x28\x79\xd2\x25\x91\x4f\x84\xea\x95\x48\xde\xc8\x8f\x5f\xe7\xc8\xa5\x91\x07\xd2\x4e\x46\x3c\x37\x8a\x17\x0e\x9f\xd1\xb7\xc2\xe1\xd7\x07\x1a\x06\x09\x1f\x44\xa2\xd1\x84\x17\x4c\xb2\x3f\x55\xbf\xac\x3c\x7a\x29\x3b\x69\x1e\x88\xc6\x14\x46\x30\xda\x15\xfd\x55\x4a\xf5\xd5\x54\x7b\xf8\x9c\x5d\x91\x7d\x87\x0e\x5c\x9f\x3a\x05\x25\xc1\x25\xef\x1f\x5f\xca\xa2\xbc\xc6\x9f\x23\x0a\x48\x91\x82\x39\x60\x92\xf4\x09\xf7\x86\xc8\x4b\x1c\x67\x85\x43\x7f\x3a\x46\x9b\x9e\xa8\xc8\x91\x0b\xc1\x9c\x18\x87\x2e\xbd\xa3\xab\xb0\xc5\xb5\x42\xed\x2d\x18\x29\x4b\x01\xbb\x66\xac\x4e\x1e\x87\xd1\x9b\x27\x19\x1a\x96\xfe\x22\x78\x23\x1f\x92\xf9\x53\x32\x6c\x06\xb0\x1a\xdb\x3e\x20\xf0\x96\x49\xad\x5a\x92\x11\x16\x0d\x65\xd8\xc1\x80\x00\x2b\xdd\x88\xc4\x1c\xd4\x8a\x6f\xc5\x62\x73\x87\x59\xaf\xc8\x17\x5f\x20\xbe\x47\xaa\xa5\x24\x0a\x27\xd9\x02\xa1\xdb\x6a\x76\x4d\xf6\x1f\x11\x10\xcd\x3f\xd1\x8b\x2a\x33\xd2\x70\xee\x2c\x61\x0a\xc0\x13\x49\xdd\x03\x8d\xfe\x2e\x70\x85\xc7\xb4\x1b\x38\x0b\xc1\x80\x6b\xd9\xec\xbe\x88\xf4\x56\x99\x0d\x5e\x54\x9d\x10\x20\xad\x88\x25\x5b\x63\x2f\xf6\xb0\xc5\xd4\x42\xe3\x31\x9d\x94\x84\x74\x6c\xb9\x00\x01\x07\xb9\xa9\x10\x41\x5c\xd9\x86\xb2\xc9\xa9\xe4\x58\x19\xa5\xcc\x70\x85\x37\x87\x9a\x5f\x64\x49\x1b\xab\x8c\x76\x42\xe9\x6d\x47\x90\x49\x6d\x4c\xba\x53\x27\xdf\x98\xc4\x63\xae\x60\x44\xfa\x00\x90\x0c\x80\x94\x3e\xe8\x05\xa2\xda\x77\xfd\x3f\x9b\x09\xd0\x4e\x4e\x03\xab\x72\xa0\x39\xb2\xc2\x47\x8f\xbc\x0c\xa9\x75\x9f\x3e\x78\x76\x10\x59\x69\x39\x57\x87\x0d\x96\x70\x26\xc2\x7f\xe9\xf8\x99\x02\x3a\x1d\xd3\x27\xb1\xe0\xc5\x8b\x5c\x26\x28\xae\xc6\x7c\xbc\x6e\x44\xe8\x78\x12\xcf\xc5\xdb\x93\xa2\x8a\x46\x64\x22\x72\x7b\xa6\x32\x5f\xe4\xee\x99\x51\x93\x27\x69\x59\xda\x69\x01\xf6\xc3\x34\x19\x39\x10\x7e\xa8\xfc\xb6\x27\x57\xb4\x1a\xfc\xaa\x5f\x82\xd4\x16\xee\xd4\x7d\xe0\x0e\x5e\x5d\xee\xe2\x5d\xf5\x52\x55\x2c\xe5\x53\x52\xa3\x28\xad\xbb\x5c\x14\x2d\xb4\x57\xef\xc9\x46\xe4\x3b\x2b\xd4\x42\x7a\x6a\xb2\xe6\x38\x0d\x0b\x9c\xad\x38\xa4\x71\x0a\x35\xaf\x84\x80\x7b\x2a\x1d\xb0\x96\xc8\xba\x47\xa7\xbb\x9a\x1d\x22\xf9\x42\xc1\x8c\x4d\x8c\x51\xf0\x4d\xa2\x0f\x27\xb6\x29\xf8\xa2\x96\x7c\x51\xd7\xbe\xa8\x27\x5f\x6c\x68\x5f\x6c\xac\xc4\x46\x91\xce\xc7\xcc\x49\x8d\x05\xbc\x28\x67\x9f\xc2\x69\x85\x03\x3a\xb3\x33\x3c\x33\x70\x5b\x70\x31\x45\x24\x61\xa5\xc2\x46\x64\x9e\xfc\xa2\x93\xaa\x92\xd8\xf5\xaa\x7a\x95\xc4\xcc\x57\xd3\xbf\x48\xac\x7e\x75\xfd\x8b\x8d\xc4\x1c\x98\x62\xe3\x6a\xf8\x7e\x49\x5f\x16\xd8\x0f\x33\x33\x6d\x2e\x5b\x55\xcb\xd6\x1f\x41\x77\x63\x85\xb2\x06\x43\x9f\xd1\x76\xf6\x04\x9b\xc7\xe3\x1d\x12\x94\x6d\xf0\x2d\x3c\xa1\x27\x0f\xc6\x69\x93\x09\xf8\x92\x72\x0c\x86\x5f\xd0\x47\xa2\xc7\xae\xfa\xae\x3f\xfc\x85\x44\xd4\x16\xa7\xf9\x27\xf0\x5f\x49\x6b\xd7\xa6\x8c\x20\xe8\x51\xa1\xce\x27\x4d\x01\x36\x69\x03\x59\x34\x12\x35\xcc\x48\xbe\x5d\xd3\xf1\x24\x08\xad\x70\x0e\x56\x27\x6b\x88\xca\x7f\x30\x0d\xe1\xe5\x3c\xf0\x23\xd0\x0b\x51\xe5\xc4\xbf\x45\x4d\xf1\x02\x8f\x99\x74\x84\x11\x8a\x95\x1c\x07\x8e\xaa\xd6\xd3\x4a\x34\x72\x07\xf1\x09\x9d\x63\x07\xd8\xd7\x7f\xec\x91\xcd\xe4\xfb\x31\x8d\xad\x13\x3a\x67\x3b\xb9\x9e\xba\x42\xe6\xc8\xaa\x58\x5e\xdc\x8e\xce\x68\x6c\x91\xbf\xfd\x8d\x50\xf6\x27\xa3\xa7\x11\xdc\x49\x08\xda\x71\xe8\xa5\xdb\xab\x6d\xcb\x31\x5f\x1c\x5c\x14\xc3\xa1\xeb\x3b\x56\xe9\x35\x79\x4f\xb5\x3c\x7b\xc2\x98\x2a\x8c\x49\x60\x4e\x5d\x0f\x42\xf6\xfb\x36\xd3\x39\xe9\x7d\x4c\xd1\xa8\x22\x0c\x87\x90\x9b\x88\x1d\x28\x80\xbd\x06\x56\xe2\x60\x3a\x1c\x95\xb9\x43\xc3\x04\x33\xa8\x5a\x18\x75\xf8\x6d\x1a\xc5\xc4\x22\x9e\x1b\xc7\x1e\x2d\x93\x36\x99\x59\x91\x5f\xe0\x46\x48\x91\xe1\x6f\x48\x63\x72\xe7\xc2\x93\xd3\xd8\xb2\xe5\xf3\x05\x77\xcc\x45\x6d\x30\xc2\x27\xcd\x48\x70\xfd\x9e\xec\xf1\x27\xbb\xca\x20\x0c\xc6\xec\xe0\x6f\x06\x0e\x2d\x72\x18\x61\xcf\x1a\x4f\x8a\x54\x72\x16\xdd\x1a\xc8\x0b\xb2\x51\x2f\xc3\xbf\xfa\xd6\x56\x49\x22\x70\xcd\x1f\x45\xab\x13\xcc\xb2\x84\x9e\x11\xf1\x80\xc3\x4a\xce\x27\x09\xaa\x91\x15\x51\x52\x80\xc4\xde\x85\xd7\xfc\x86\x01\xe2\xc4\xc1\xf3\xa9\x97\xba\xa9\x70\xdb\x5c\x8d\xb1\xa3\x4e\x26\xde\x14\xae\x71\x96\xe3\xb8\xfc\xf2\xba\xbd\x29\xf0\x02\xfa\x10\x29\x5a\xa4\x15\x87\x7a\xb1\xf5\x91\xfc\x4a\xd6\x6a\x25\xf2\x3b\xa9\xb2\x9b\x75\x95\xbc\x26\xb5\x12\x79\x41\x5e\x6d\x4b\xaf\x49\x26\x18\xe3\xc0\xd9\x95\x37\x1d\x94\x71\xb6\xc5\x7c\xbe\xaf\xf5\x3f\x9d\x15\xc8\x0b\x23\x27\xfa\x8c\xd0\x3d\x79\x41\xe6\xbb\xcf\x92\x41\x9c\x88\x34\xa4\x09\x4c\x44\x18\x8c\x79\x42\x73\x84\xa6\x86\x1f\x0a\xd9\x91\xa8\x1f\x2b\xf8\x30\xbc\x47\x21\xb5\x6e\x39\x49\xe4\x14\x2c\x6f\x27\x98\xf9\x2a\xb7\xf6\x81\x27\xf8\xc0\x24\xb3\x64\x49\x56\xf1\x9b\x12\xb0\x6a\xa3\x2e\x1a\x05\x9f\x63\xb2\x47\xce\xac\x78\x54\x19\xbb\x7e\x91\x56\xb0\x7c\x99\xd4\x4b\x30\x81\xea\x50\x1a\xbe\x43\xc6\xee\xbd\x50\x3c\xc7\xca\x6a\x8f\x2a\x19\xf6\xfd\x14\xff\x16\x8e\x7c\x3a\xc9\x4a\xc9\x74\x02\x56\x51\x3f\x10\xc8\x49\x7c\x57\x45\xc0\x41\xce\x84\x99\x15\x91\x90\x7a\xd4\x8a\xb8\x03\x85\xb1\x7f\x9f\xef\xeb\x1b\x85\x15\xbb\x32\x0e\xee\xa8\xec\xcc\x23\xb6\xdf\x4e\xe3\x08\x77\x2d\xec\x59\xa4\xfa\x2b\xaf\xaf\x93\x6e\x6c\xf9\x8e\x15\x3a\xa2\xe3\x7d\x97\x23\x54\x50\xf2\x81\x9d\x02\x04\x8e\x05\x3b\xe0\xde\x2b\x21\x34\xc5\x13\x42\xbb\x61\x14\xab\xb4\x38\x09\x78\x4e\xe1\xc8\x8e\xee\x00\xfd\xe7\xfe\x86\x8e\xb0\x20\x32\xf0\x3d\x75\xca\xfc\x23\x37\xe2\xef\xd9\x8e\xe2\x89\xcc\x93\x18\xb8\xb1\xf6\xc8\xa4\xb4\x4b\xe2\x51\x48\x29\x6f\x92\xf5\xb8\x3d\x20\x3e\xbb\xdb\xe0\xfe\x34\x66\x2d\xa9\xd4\x64\xa3\xf1\x88\xfa\x7c\x68\x03\xcf\x1a\xc2\x1b\x30\xb8\x8b\xf1\xe9\xaa\x10\xf2\x1e\x72\xa7\x3a\x81\x8c\x0b\xae\x48\x4a\x4c\x84\x15\x51\x45\x67\xc1\xd0\x0d\x42\x37\x9e\xc3\xd3\x96\xc4\xf3\x80\x26\x5e\xc3\xe8\xcb\x64\xec\x3a\x0e\xdb\x70\x43\x9e\x92\x8b\x24\xd3\x28\x27\x86\xfc\x8d\x54\xef\x6b\xea\xf4\x00\x75\x3e\xb9\xc0\x45\x2c\x59\x51\x0a\xf4\xc9\x0b\xe9\x59\x4d\x74\x2f\x78\x9d\xf0\x66\x1e\x61\xec\x5a\x1e\xe9\xda\x0a\xa4\xeb\x79\xa4\x71\x7e\x73\x28\xd7\x33\x94\x33\x44\x60\x3e\xc8\xc8\x1d\xb2\x73\x47\xcc\x74\x9a\xce\x86\x42\x47\x9b\x96\x86\xe3\x90\x8d\x3a\x3b\xbd\x04\xc2\x19\x57\x98\xc6\x01\xbf\xff\x6b\x64\x52\x93\xba\xca\x0e\x64\xd8\x83\x7e\x6e\x17\x92\x03\xc8\xee\x01\xb6\xe7\xda\xb7\x7c\xfd\xe3\x27\x4e\xdf\x53\x3f\xd4\x2b\x71\x23\x98\xf8\x4a\x24\x02\xa4\x61\x18\x84\xc5\x02\x7f\xa2\x54\x15\x48\xcc\x02\x88\x87\x65\x99\xd0\xf4\x91\xa0\xf8\xe7\x8b\x01\x2a\xe6\x50\xa9\x31\xb9\x81\x92\x40\x32\x29\xa9\x67\x9b\x10\xbe\xc6\xc9\x83\x68\x30\xd0\x9c\xb3\xf9\xbb\xb7\x30\xdd\x84\x34\x02\x93\x38\x4f\x08\x9b\xf8\x14\x3f\x53\xb3\xf8\xeb\xa8\xf2\x3d\xd5\x1e\x84\xf9\x1c\xd1\x43\xd1\x94\xcf\x91\xfb\x4f\x25\x29\x1d\x53\xf9\x1c\x8d\x4a\xb2\x74\x99\x56\xb5\x63\xdd\xe4\xae\xb8\xe4\x26\x4f\x20\xfc\x71\xc1\x06\x09\x98\x0e\xb8\xb6\xc2\x73\x20\x3e\xcf\xd4\x4b\x6c\x12\xc5\x92\x6a\x83\x55\x9f\x2a\xd4\xf2\xec\xf3\x24\xd2\x06\x0d\xf7\x99\x42\x60\x99\x10\x65\xf0\x61\x20\x53\xa6\x3f\x1d\x70\x59\x32\xb6\x51\xb1\x2d\xcf\x83\xc1\x94\x33\x05\x4a\xbc\xa2\x3c\xa5\xd2\x95\xd9\x51\x05\xff\x15\xc0\x36\xa9\xce\xb1\xef\xd9\x7f\x94\x20\x7c\x53\xff\x58\x31\xc9\x71\x92\xa4\x96\xbb\xc4\x77\x22\xc7\x75\x10\x09\xdf\x13\x9e\xbd\x70\x51\x78\x5e\x50\x91\x6a\x14\xc1\x44\x97\xd4\x44\x2a\xff\x24\x41\xe1\x9e\xb1\xa6\xb8\x2c\xc9\x20\x83\x73\x9e\xf4\xce\x33\xe0\xe0\x52\x35\xbf\x99\x0e\x2c\x19\x87\xda\x62\x03\x7a\x4a\x06\x3c\x31\xb4\x08\x7d\x34\xd4\x5b\x23\xbb\x80\xbc\x26\xa3\x38\x9e\x44\xaf\xd7\xd7\xa9\x5f\x99\xb9\xb7\xee\x84\x3a\xae\x55\x09\xc2\xe1\x3a\xfb\x6b\x1d\xa9\xe4\x8d\x34\xc9\xbb\x66\x1c\xad\x12\x6a\xa9\x67\x68\xd3\xf7\x07\x39\x0d\xe8\x58\xac\xc6\x40\x62\xf3\x4b\x38\xbd\xac\xfd\x8c\x67\xb2\x58\x8d\x99\x9e\x74\xa9\x30\x1f\xe6\xba\xc3\x18\x5f\xb9\x64\xf9\x74\xbe\x6e\xf9\x05\xa4\xe3\x8d\x73\x07\x12\xd1\x58\xf1\xd2\x4c\xee\xde\xfc\x33\x1c\x8e\xbc\xe0\x68\x9f\xe6\x6e\xfd\x33\x2b\xf4\x8b\x85\xb6\x0f\xb9\x4e\x94\xa7\xb6\x5f\xc4\x68\xa4\x54\xff\xc2\xcf\x02\x41\x77\x37\xd1\x80\x0f\x2d\xcf\x23\x49\x0a\x36\x79\x16\xb9\x51\xb0\x56\xaf\xd6\xeb\xf2\x2c\x5a\xee\xb2\x63\x2c\x95\x71\xdb\x49\x1d\x42\xa2\x3d\x58\x19\x6b\xe8\x2b\xb4\xbc\x4d\x35\x46\x6e\x41\x93\x6a\x31\x73\x8b\x7f\x5a\x53\xe6\xd1\x25\x59\x6a\xf3\x5c\x7b\x34\x9b\xf8\x20\xa4\xd1\x08\x43\x77\xd0\xdf\x81\xa9\x38\x32\xf5\x78\xe2\x58\x85\x81\x03\xb9\xc2\x66\x6a\x2b\x6b\xc1\x43\xcc\x3b\x8c\x2c\x40\xa7\xff\x1d\xb0\x00\x94\xb9\xab\x6a\x34\x05\x95\x0f\x1d\xe0\xd2\x91\x4e\x6c\xbf\x99\x81\x52\xed\xd3\x3b\xf0\xc9\x5c\x5f\x27\x11\x58\xaa\x82\x88\x92\xb5\x35\x74\xe5\x8c\x47\xe0\x9d\x3b\x12\x30\xb3\xac\x91\xe7\x02\x7c\xdb\xae\x91\x3d\x72\x81\x87\x3c\x53\xc2\x8a\x89\x99\xad\x59\x13\x8f\x85\x95\x81\xcb\x36\xfb\x62\x91\x96\xc8\xde\xef\x1c\xec\x2a\x3b\x4f\x7f\xfc\x41\x28\xec\xb9\x4c\x0f\x6b\xc4\xc5\x12\xf9\x8d\x54\xef\x77\xe4\x9b\x63\x65\x6c\x4d\x04\x8d\xc2\xe7\xcf\xf7\x6c\x39\xa0\xf5\xe1\x61\x62\x39\x45\xbd\x6e\x25\x0e\xb8\xbe\x53\xdb\x2e\xb1\xdb\xac\xa4\x82\xd0\xbf\x8a\xf5\x31\xe5\xcc\x45\x67\xa4\x43\x87\xad\xfb\x49\xf1\xbf\x3e\xfd\xe7\x3f\x6d\xbb\xf6\xe3\xcb\x7f\xa5\x52\x55\xa4\x9d\x60\x32\x4e\x34\xe0\xd7\x03\x2a\x0e\xf8\x98\xc5\x49\xe0\xb6\xf0\x32\xc3\xeb\x52\x2d\xeb\xc5\x86\x6f\x3b\xc5\x66\x75\xbd\x59\x4b\x85\x8f\x83\xe1\xe0\x53\xb3\xd7\x39\xfd\x22\xfd\x5a\x93\x0c\x02\x76\x00\x31\x77\xdc\xdb\x5b\xb8\x74\x0b\x45\x0b\x5e\x9b\x42\x17\x3c\x90\x53\x19\x46\xf9\xed\x4b\x40\x30\xe9\x1d\x91\x7a\x9a\x1b\x4d\xe0\x0e\x95\x7e\xb3\x51\x9e\xd7\x34\x3f\x3b\x45\x56\x13\x05\x41\x79\xdb\xa6\xde\x40\x66\x9b\x56\xe1\x24\xa1\x93\xea\xdb\x36\xc0\x04\xb0\xe2\x06\x91\xf9\xdb\xdf\x80\xd0\x27\xf8\xfa\xe8\xf4\x4b\xe5\xe8\x54\xcc\x33\x3e\x9e\xa7\xbf\x4d\x8e\x66\x02\xdf\x25\x4a\x72\xd2\x2e\x2c\x7a\xe9\xb0\x47\xad\xd0\x1e\x69\xce\x81\x6a\x0c\x7c\x9f\xed\x76\x10\xf5\x28\x27\x42\x18\xdf\x50\x83\x9b\x28\x4f\x5a\xa9\x07\xd8\xa2\xb4\xad\xf9\x1c\x9c\x00\xa3\x2f\xe0\xf5\x0d\x9a\x2d\xa6\xe5\x33\x81\x9a\xd2\xaa\xec\x91\xaa\xe0\x16\x40\x29\x16\xc0\x07\x70\x3a\xee\x7b\xd4\x11\xf7\x79\x76\x52\x1b\x7c\xde\x2b\x89\x32\x29\xa6\xb8\x58\x68\x36\x6b\x85\x32\x51\x5e\x01\xab\x65\x52\x2b\x95\x95\xc1\xf0\xe3\x47\x19\x1d\x7f\xdf\x2c\xd6\x4a\xbb\x9a\x4d\x59\xb9\xa3\xa4\xfa\xbc\x56\x53\x3a\xdd\x43\x87\xf1\x90\x12\x3f\x30\xc4\x14\xc9\xf4\x69\xb8\x8c\xb0\xd7\x38\x65\x4c\xd7\xcc\xf4\x06\x14\xfb\xa2\xb9\x2b\xb2\x9a\x32\x3a\xa5\x6b\xa5\x64\x67\x58\xc0\x11\xa5\x82\x91\x37\x06\xce\xa8\xc3\x7f\x91\x7e\x4c\xc5\xd8\x46\x4b\x86\x9d\xca\x20\x87\x36\xfb\xdb\x99\xda\x34\xc4\xf5\x6c\xf9\x8e\x5c\x8c\xc4\x8d\x55\x5d\xf1\x53\xb3\xdb\xfe\x82\x51\x6c\xc1\x18\xfc\x4b\x07\x53\x8f\xb8\xfe\x20\x08\xc7\x68\x10\xb3\xfa\xc1\x54\x04\xd9\xd9\xdc\x52\xbc\x60\x31\x37\xbb\xed\xa5\x0b\x19\xf0\xd6\x52\x52\xce\x2e\xd3\x89\x74\x73\x87\x38\x95\x23\xe1\x30\x4a\x70\xdb\x47\xe4\xf7\x3d\x52\xf8\x7b\x81\xad\x66\x1b\x1e\x6a\x0b\xff\x5d\xd0\x44\x03\xdd\x61\x71\xdb\x64\x87\xea\x12\xe9\xed\xb6\x0b\xe5\x9c\xe0\xc5\x17\x79\x21\x83\x2f\x88\x3d\x52\x43\xab\xc5\xcf\x22\x91\x37\x7b\xd7\x3d\xd3\x8c\x32\x36\x40\x30\x17\x76\xd5\x01\x5d\x32\xc5\x14\x82\x9a\x1d\xea\xb9\x63\x57\x0e\x24\x41\xe2\x4f\xf7\x4f\xc3\xd0\x35\xd4\x57\x02\x25\x33\xe1\x98\x60\x38\xb4\x20\x68\x8a\x4c\x2c\xc7\xf1\x5c\xbf\x20\x8c\x25\xab\x8c\xc6\x08\xb3\xf0\x5c\x71\xd8\x4a\x19\x2f\x7b\x23\x3a\x27\xc1\xd8\x8d\xe1\xac\x91\x67\x1d\xa8\xe3\x5a\x26\x99\x68\x3a\x99\x78\x73\x14\x62\xfe\x03\x54\x31\x9b\x40\xa1\x94\x31\xc0\x18\xbe\xfd\x91\xe5\x37\x93\xa6\xaa\x2a\x4d\xaf\x54\xe6\x9f\x03\xf2\xf2\x3c\x4e\xb2\xb7\x72\xe7\xd3\x89\xe0\x6a\xe5\xd9\x63\x26\xe3\x9c\xc7\xa5\xca\xea\x7f\xd9\x54\x3c\x72\x26\x12\x6f\x38\x7b\x24\x39\x99\xb6\xe9\x09\xbf\x32\xe9\x7b\xb7\x46\x6a\x5f\xc0\xe3\x69\xa4\xe3\x57\xe4\xf0\x99\xa8\x7c\x7e\x23\xfe\x78\xbe\x47\x0a\xaf\x55\xa6\xcb\x87\xc1\xd4\xca\xcd\xef\x7f\xce\xf2\x4d\x3a\x96\x1a\x4a\xde\xb2\x56\x2a\xa4\x46\x90\x3e\x5b\x2b\x31\x8d\xe2\xa2\x3d\x2a\x29\xfd\x6e\x3e\xe2\xb8\xb4\x47\xa9\x43\x20\x0d\x47\xb4\xbe\x4e\xae\x7c\x19\x37\xa8\xf9\xf1\x24\xe1\xdb\x7d\xcb\xf5\x48\x30\xe5\x4b\x62\x05\x99\xc0\x23\xcd\x7c\x0e\xab\xb7\xe6\x5b\x77\x82\xf1\xf2\x8a\x32\x3a\xf5\x63\xd7\x4b\xf4\x9a\xbc\xe8\xbe\x56\xb7\x49\x44\x50\xdf\xaf\x64\x9f\x7a\x9e\x1e\xd7\xa7\x9a\xf7\x12\xc8\x20\xcb\xb6\xa7\xe3\xa9\x67\xc5\x4a\x14\x46\xb2\xfd\x7f\xaa\x7e\xa9\x10\x72\x66\xdd\x52\x12\x4d\x43\xca\xe3\xb2\xf1\x6a\x0f\xd8\x71\xd2\x77\xb4\x08\xa1\x2a\x69\x4e\x48\xdf\xd2\x92\xd0\x78\x25\x74\x56\xe2\x2c\xcf\xfb\xf5\x31\x98\x42\x20\x8b\x43\x63\x8c\x22\xb5\x50\x6f\x47\x0b\x06\xe0\x48\x80\x7b\x51\x7f\x4e\xec\x11\x85\x97\xf9\x24\x39\xa9\xf4\xd5\x92\x1a\xea\xc8\x8a\xf8\xf5\x0d\xb1\xe6\xd3\xc9\xf6\xcc\x57\x02\xb8\xa7\x29\xf1\x87\x63\xd4\xd2\x2d\x9f\x64\x03\x1b\x55\xb3\xeb\x8c\xdd\xd8\x38\xaa\xfd\x33\x1e\xc3\xaa\xc5\x7e\xaa\xd1\xb7\x7d\x4a\x42\xba\x06\x1d\x70\x92\xc8\xea\x05\x0e\xfb\x66\xf4\x48\x19\x44\x29\xb9\x14\x91\xc0\x1f\x06\x60\x6d\x09\x25\xc3\xf0\x7d\x47\x26\x29\x2e\xdc\x25\x00\x52\xf7\x36\xa5\x0e\xdf\xfe\xc7\xd6\x3d\x49\xc5\x78\x2e\xbb\x43\xc4\xae\x87\x2c\x49\x64\x71\xa9\x22\xf2\x48\x7d\x5b\x91\x72\x4d\xe5\x5e\x2f\x7e\xbe\xaf\xf5\x3f\x7f\xfe\x83\xc9\x76\x69\x7d\x55\x2d\xc6\xb4\x8b\x25\x3b\x70\x81\x5b\x37\xe1\x93\xda\x17\x7e\xcd\x3c\xb0\x30\xe9\x73\x4a\x45\x56\x7b\x96\xd2\x92\xcf\x03\x19\x02\x1e\x84\xf0\xb2\x55\xe6\x01\xef\x29\x38\x01\xf4\x4a\xe4\xba\xb2\xd6\x99\x17\x30\x5a\x7e\xb0\xc3\xc0\xfa\x41\x18\x77\xa8\x15\x05\xbe\x62\x21\x16\x6b\x94\x1f\x0b\xbf\xe7\xc4\xe0\x8a\xdb\x96\x42\x84\x0d\x37\x0e\x02\xe2\x05\xfe\x10\x6d\x56\x3a\x2d\x43\x23\x00\xcb\x77\x31\x28\xc2\xd3\x4c\xa1\xc4\xce\x8f\xb5\x5a\x0e\x69\x3a\xee\x53\x87\x89\x16\x9a\x33\xf4\x16\x52\x84\x94\xa6\x12\x7e\x93\x35\x39\x0d\xbf\x1b\xc0\x15\xf2\x46\xe4\x8e\x29\xd3\x9d\xe9\xfd\xc4\x0d\xa9\x83\xcd\x9a\x88\xaa\xc3\x4b\x48\x24\x07\x9b\xb0\xfc\x79\xc1\xb0\x58\x58\x20\xee\xaf\xb1\x07\xae\x64\x62\x42\xcc\xa4\xa7\x72\x0e\x48\x9d\x29\x73\x17\x4a\x17\xd0\x71\x88\x15\x35\xcb\x70\x96\x24\x6e\x94\xda\x8d\x2a\x9b\xc3\x29\x25\x35\x2f\xd2\x2b\x2d\x57\x8c\xd4\xdb\x2b\x87\xfe\x50\x50\x31\xe0\xc8\x4a\x8e\xc8\x29\x04\x63\x23\x7a\x43\x3c\x72\xfd\x5b\xcc\xfa\x20\x84\xce\x7c\x74\x16\xe5\x02\x20\xc9\x8d\x31\xcd\x04\x18\x88\xbe\x52\x52\x97\xc4\x64\x30\x28\x5d\x2b\x9c\xd0\x39\x57\x41\x85\x2d\x2f\x0c\x13\x4a\x08\x29\xa6\xee\x9b\x49\x0d\x76\xe5\x84\x7b\x05\xc8\x39\x79\x43\xea\xe0\xc8\xa2\x3d\x3a\x64\x72\xc5\x1e\x88\x5b\x23\x3f\xaf\xe4\x81\xc6\x93\xc4\xfb\x8e\x47\x23\x09\x80\xdc\x6c\xd6\x20\xa0\x1f\x7c\x78\x9b\xdd\x36\xfb\xcf\x75\x6f\xab\x2e\x80\x02\x72\x8c\xfd\xa2\x0d\x15\xa1\x08\x1e\x2f\x6d\x30\x4b\x9a\x36\x6e\x6c\x99\x6d\xc3\x82\xe0\x27\x56\xe5\xcb\x27\x56\x45\x46\x3b\x3c\xe7\xc5\x54\xb3\x10\x08\x53\x26\xc2\xbe\x64\xb4\xb1\x8b\xd7\x55\xc8\x4f\x36\x9f\x50\xf2\x82\x14\xa0\x53\xb8\xbc\x8e\xbb\x17\xe7\x15\xdc\x30\xdd\xc1\xbc\xc8\xbe\x28\xe5\x5b\x32\x64\x97\x93\x3e\x57\xd0\x5d\xe2\xa9\xdd\x6b\xa3\xb3\xc5\x9f\xd3\xbd\x98\x63\x2e\x83\x66\x0a\x3a\x79\xe0\x50\xf2\x3b\x13\x97\x97\x83\x42\x92\x70\x20\x83\xfd\xa1\xac\xc3\x36\x5b\x52\xb7\x2e\x87\xa5\x21\x23\xae\xe8\x4c\xc0\x7e\xe0\x46\xfc\xf0\xe9\x4f\xe3\x4a\xa5\xc2\xeb\xc8\xaa\xc2\x24\x2d\xa4\x01\x1e\xb7\x78\x6f\x50\x0e\xd0\x8d\xa4\x10\x91\x61\x10\x1b\xd0\x5f\xca\x82\x14\xae\xf5\x02\x98\x85\x62\x74\x38\xe1\xe8\xfa\x38\x05\x12\x89\xc5\xa1\xd1\x1b\x42\x8e\xa7\x51\x2c\x40\x2d\xc4\xb5\x32\xe9\x17\x18\x12\xb8\x97\x15\x38\x8c\xd1\x30\xb4\xfc\x98\x14\x01\x3e\xa3\xf0\xf9\xfe\x55\xb5\x50\x2a\x93\x22\x00\x69\xb0\x3f\x1d\xf8\xf3\xf2\x0c\xff\xa2\x12\xd7\x82\x11\x2b\x36\x2e\x79\xa9\x41\xa1\x84\xa6\x59\x2f\x40\xdd\x71\x9a\x72\xf8\x62\x27\xb3\xb0\xfd\xba\x71\x24\xb1\x43\x24\xa9\x04\x43\x83\xb5\x90\x51\xae\xcd\xc2\xc2\x28\x66\x71\x68\x5e\x93\xea\x7d\xc1\xb4\xa1\xc0\xb2\x55\x2c\xe4\x55\xdd\x44\x6e\x16\x26\x2e\xe7\x15\x8b\x5d\xd4\xf9\xbb\xf2\xa7\x64\x0d\xe3\xaa\xfe\x92\x7d\x9f\x4b\x5c\x7e\x30\x8b\x0f\x0f\xd6\x52\x9d\x64\x1d\x8a\x5e\x4d\x42\x3d\xf6\xef\x82\x5b\x9e\xf3\x43\xf8\x6a\xc4\x01\xe9\x9e\xad\x77\xce\x44\x19\xe5\xf6\xc4\xe4\x67\xaa\xc1\x6a\xc0\xdb\x19\x7a\xbf\x45\xae\x47\xfd\x04\x91\x23\xdf\x62\xcd\xee\x11\xe7\xdd\xf6\x59\xea\x25\xd8\x16\x70\xb5\xb1\xe2\x57\x6b\xf3\x1c\x67\x9b\x25\xf2\x4f\x94\x72\x48\xb7\x47\xa0\x72\xb1\xdd\x39\x33\x79\x5e\x44\x34\xc6\x62\x67\xf8\x94\x29\xcc\x48\xea\x45\x9a\xd3\xad\x57\x05\xe1\xc6\x34\x0e\xc6\x80\x3d\x7b\x4e\x67\x90\xe6\xab\x78\x7a\x9e\x47\x9e\x15\x6e\x5a\x61\xe8\x5a\x43\x8a\x01\x19\xe6\x66\x72\xf6\x22\xe1\x80\x99\xda\x2a\x55\xc6\xc2\x04\x9e\xc9\x9d\x08\xb6\x9e\x2c\x58\x2e\x9b\xf4\x90\x5f\xe1\x94\xd9\x4f\xa3\xed\x2c\x9b\x6f\x0c\xdb\x5e\x3f\x68\x35\x3b\xdd\xde\xa2\x79\x3b\x68\x35\x97\x4e\x9b\x78\x8b\x95\x31\x71\x58\xa2\x56\x2d\x69\x8e\xa7\xb5\xd7\x88\xa2\xd5\x6a\x36\x4f\xce\x34\x73\x42\xd6\xe5\x78\x32\xf1\xb8\x73\x61\x53\x84\x6e\x40\x83\xb9\x6e\x82\x1b\x09\xf1\x8b\xd3\x33\xc5\x6c\x83\x61\x7d\x39\x70\x62\xaa\x1d\x27\x33\xe5\x88\x9e\x8a\x0f\x8b\x6f\x48\x6d\x83\x9d\xfd\x3b\xd5\x92\xe2\xed\xa4\x57\xb1\x3d\x6a\x85\x6f\x83\x31\x2d\x2a\x68\xa5\x19\xaa\xd7\xbd\x2e\xb8\xa4\x76\xe8\x10\x20\x9b\xa7\x9e\x57\x16\x99\xb3\xb1\xca\x8f\xbc\x31\x6e\xc9\x31\x76\x9b\xe7\x66\x0e\x46\x34\xee\x50\xc8\x27\x75\xed\x3a\x34\x50\x64\xd4\x48\x71\x5b\x52\xbc\xc8\xa5\x77\x11\xba\x43\xd7\x4f\x2d\x2c\x23\xb5\x97\x92\x5a\xe3\x7d\x2e\xb9\xf7\xa1\x35\x41\x7f\xec\x65\xe4\x6a\xf5\xd7\xc2\x49\x33\x8c\x11\x6b\x4a\x05\xbb\xd4\x67\x58\x01\x93\x2a\xe5\x33\x1f\x85\x69\x9f\x91\x5a\xd6\x7a\x3d\xe1\x76\xaf\xd9\xca\x1d\x0e\x52\xbc\x46\xcc\x93\x65\x34\x37\xaa\x7c\x44\xa3\x60\xc6\x3d\x93\xfb\x56\x98\x47\xba\x2b\x0a\xac\x48\x7d\x93\x53\x6f\x00\x6e\xd8\x4e\x95\xac\x81\xd0\x16\xf9\x9a\x28\xc1\xe6\x62\x6c\x6c\x01\xda\xde\xe2\x55\xb7\xc9\x99\xc4\x65\x6e\x6d\x26\x27\x37\xbf\xb1\x44\x44\x57\x17\x85\x6d\x2e\x5a\xfb\x96\x7d\x6b\x85\x61\x30\xc3\xc8\x07\xea\x3b\x11\x18\x6c\x30\xf3\x3a\x1b\xe9\xfe\xc9\x59\x69\xf1\xde\x22\xcb\x77\x59\xf5\x7d\x59\x7b\xd9\x58\x6b\xd5\x6a\xf5\xb5\xea\xe0\x19\x08\x17\x42\x70\x44\x94\x38\x1a\x49\xdb\x7a\x98\x4b\x51\xd1\x15\xc4\xa6\x92\xf5\x58\x46\x88\x8d\xd7\x8b\x42\x49\x76\xcd\x6c\x9d\xfb\x36\xb8\x68\x43\x06\x97\x05\x5e\xed\xb5\x6a\xb5\xbe\x70\x1c\xf0\xf2\x15\x5a\xc3\xe8\x67\xc7\x02\xde\xd7\x7f\xed\x50\x6a\x62\x45\xc1\x5a\x01\xd3\x5c\x10\xc7\xc1\x18\xdc\x25\xe3\x39\x09\xa6\xf1\x64\x1a\x9b\x5b\x81\x2a\x17\xfe\x05\x14\x59\x61\xfa\x6b\xb5\xfc\xb6\x98\x38\x82\x93\xf5\xc2\xa6\x4e\xe8\x3c\x8a\xc3\xe0\x76\x15\x61\xdb\xe0\x7b\x33\x93\x52\x00\x7c\x03\xdf\x16\x08\xc3\xe1\xaf\x1c\xec\x0e\x79\x4b\xe7\x8b\xa5\x7d\x4c\x63\x0b\x04\xbd\x85\x5e\x29\x2b\x34\xfc\xca\xd4\x70\xc3\x8b\xcd\xed\x62\x84\xbc\xd4\x05\x92\x0f\x9f\xe7\xf4\x88\x5d\x0c\xdc\x60\x1a\x35\xbc\x18\x3a\xf6\x7e\x64\xc5\x5f\x75\x27\xea\xc7\xd4\x94\xd8\x5c\x4b\x2a\x5b\x4a\xa5\xdd\xe5\x6d\xa9\xc5\xc1\x1c\x06\xec\x2b\xa8\xee\xd6\xfc\xbf\x29\xdd\xef\x09\x03\x5e\xa9\x0b\xcf\x56\x18\xa3\xb1\xa5\x3c\x5d\x64\x19\x5b\x25\x08\x06\x59\xa4\x93\x6c\xf2\x9d\xf9\x2a\xa2\x4c\x46\x68\x08\xd1\x58\x5d\x3b\xa4\xd4\x27\xfb\xe0\x83\xac\x0a\xd7\xe6\xcb\xd7\x79\x87\x82\xac\xbd\x8a\xaa\x51\xab\x6e\xee\xbc\x96\x48\x4f\x02\x8f\xd2\x8a\x34\x9c\x27\xd9\x8c\x12\xa5\x28\x03\x8a\x35\x5a\x5c\xe4\x59\xff\xc8\x0b\x20\xce\x34\x70\xa6\xcf\x55\x16\x89\x79\x2e\x71\x33\xc7\x97\x0c\xd2\xa8\x4f\x26\xd4\x32\x6f\x8a\x4f\x21\xae\x76\x96\x47\xef\x16\xb3\xef\xbf\x59\x65\xa8\x5a\xdd\xe4\x27\x70\x68\xd9\xb7\x94\xdd\x57\x26\x56\xc4\x2f\x1b\x95\xbc\x29\x95\x85\x2f\x59\xd9\x05\x73\x9a\xf2\xda\x5c\x6e\xd4\x59\x7c\x95\x52\x6f\x43\x86\x1b\x15\xd1\xdd\x0e\x95\xeb\x95\x44\xc8\x89\x46\x56\x88\x28\x90\x06\x1f\x19\x76\x40\x66\x9c\xfc\x10\x80\x11\x73\x7b\x98\xef\xc3\xdc\x5e\xa2\x3b\x17\xfe\x50\x31\xe4\x3d\x2f\x09\x53\x35\xb4\xcb\xb1\xda\xf0\x36\x67\x09\x30\x04\x15\xce\x80\xa3\xb9\xdb\xde\xd4\xe1\x49\x75\xd3\x6e\x6d\xec\xb3\x66\x15\x86\xd0\xac\x91\x88\x42\x8a\x44\xf0\x69\x01\x77\x37\x01\xc1\x09\x1e\x71\xec\x8e\x0f\x9e\x2c\x15\x42\x7a\x02\xe9\x57\x00\xf6\x8a\x9b\x67\xb3\xc6\x31\x74\x01\xb6\x9d\xdb\x1f\xf0\xc9\x9f\x11\x91\xa3\x67\x27\x89\x2d\x47\xa8\x3e\x65\xa2\xbd\x6a\xec\xd3\x71\xe0\xbb\x36\xc6\x11\x81\x63\x79\x24\x2d\xa8\x96\x78\x4e\x4c\x70\xab\x25\x34\x1d\x37\xa9\x21\x07\xd9\xcd\x97\xa0\x4d\x4d\xe0\x0d\x3b\x89\x4f\x13\x66\x1b\x18\x00\xee\x98\x8f\xee\xf1\x4a\x8f\x2d\x7f\xce\x07\xc5\x68\x49\xd7\x76\x47\x82\xd1\xa7\xbd\x78\x9a\xcd\x1a\xd9\x5b\x30\x85\x12\xe4\x18\x91\xc0\x42\xca\x7b\x9c\x08\x8d\x7c\x4b\x85\x37\xc4\x16\x6c\x5b\x6a\x0b\x8c\x69\x8b\x5a\x68\x76\xdb\xa4\xb8\xc0\x95\xa9\x94\xc5\xdb\x47\xbc\xd9\xa4\x0b\x7d\x3a\x74\x7d\x6c\x1f\x1e\xa0\x3f\x15\xd0\x6a\x38\xb6\xe6\x24\xb6\x6e\x29\x02\xd8\x04\xfc\x21\x55\x45\x05\xd7\x58\xd1\x6d\x2f\xec\xe8\x45\xb7\x49\x8a\x17\x98\x97\xc0\x1f\x12\xf4\x2d\x24\xd2\x1a\xfa\xe8\x5e\x7e\x29\x94\xc9\x20\x60\xd7\x16\x91\x2d\x42\x5a\xd9\x79\x04\x26\x60\x81\x60\x7a\xaa\x50\x01\x1a\x8f\xb1\x3c\x0f\xe7\xed\xf6\xd8\xc8\xf6\x5b\xa7\xa9\xe1\x5c\x2c\xe1\x3b\x18\xe8\x33\x9d\x7e\xcf\x14\x25\xd7\xc7\x6f\xd1\x3d\x98\x67\x3b\xd7\x73\x1b\xb8\x11\xbb\xab\xa6\xb7\x07\xa8\xa5\x37\x7a\x3e\xf5\x3c\x52\x3c\xbf\x3a\x95\x4f\xff\xdd\xc5\x26\xb7\x66\xb3\xf6\xa9\xf0\xf9\xbe\x5a\x2d\x7c\x21\x19\x93\xb9\x1a\x17\xf1\x7d\xea\x86\x73\x52\x6c\x9d\xbf\x4b\xbc\x0a\x42\xcb\x8f\xc6\x00\xbe\x1a\xcd\x68\x08\x2f\xee\x63\x1a\x45\xd6\x90\xaa\xab\x55\x3c\x72\x67\x4b\xb1\xa1\x43\x6c\x3d\x78\x25\xf8\x08\x4d\xc2\xd9\x0f\x70\x98\x33\x0a\x21\xd8\xc9\x0e\x89\x27\x86\x79\x08\x5b\x8b\x87\xd0\x61\x73\x2a\x5d\x24\x4a\x39\x44\x5e\x02\x11\x13\x1c\x43\x82\x61\xe1\xfa\x43\x46\x27\xe5\x60\x9e\xdc\x0b\x8b\xfb\x5d\xc9\xa3\xb3\xe0\x4e\x03\xc0\xe6\xfb\x13\x26\x49\xf0\x55\x60\x1a\x81\xc4\x52\x16\x69\x97\x11\x42\xd2\x92\x8e\x17\x50\x67\x6c\x85\x43\xd7\x2f\x33\xce\x61\x00\x2d\x9c\xb6\x7e\x00\x00\x93\x4c\xd4\x6c\xd6\x50\xce\xe0\x76\x96\x0f\x0e\xbb\x79\x4a\x07\x71\xda\x4f\xe5\x6d\x10\xba\x0f\x81\x1f\x5b\x1e\xe9\x59\x7d\x52\x7c\xdb\x5b\x36\x48\x78\xea\x8e\xad\x3e\x89\xe2\x60\x82\x88\x33\xf8\x05\x3a\xbe\xe2\x50\xd8\xd1\xed\x07\x64\x30\x0d\x11\x7e\xf8\x57\x59\x23\x92\xd1\xaf\x00\x8c\x85\x3e\x61\x9e\xeb\xa7\xdf\xb8\xc4\xe8\x5e\x2d\x1f\xdd\x20\x08\x67\x56\xe8\xf4\xac\x7e\x37\x0e\x26\xa9\x09\x3c\x75\x7d\x4a\x0e\x29\x75\x48\xf1\xf4\xb0\xa4\x1d\x90\x60\x0a\xb6\xad\x69\x04\x57\x19\xb0\xfc\x0e\x58\x41\xc8\xa0\x85\x30\xfd\xbe\x92\x45\xa5\x42\xc0\xeb\x53\x9a\x8b\x61\x65\xaa\x16\xe3\x9c\x11\x58\x2b\x8d\x60\xcc\xfa\x98\xea\xfb\x35\x0d\x63\xd7\x16\x53\x73\x9d\x4c\x8d\x8c\x1e\xc4\x98\xf3\xd3\xc3\x9c\xa6\xfb\xfa\xe2\x51\x7a\xa4\xe8\x3a\x41\x38\xe6\x0c\x3a\x3c\x7c\x74\x0b\xf6\x0a\x2d\x08\x7b\xb9\x40\x30\x2a\x36\x3b\xba\x90\x19\x56\x11\x17\xa3\x40\xf7\x19\x5c\x20\x27\xce\x72\x2e\x4b\x33\x1d\x9a\xb8\x8a\xd5\xd4\x43\xca\xc8\x1d\xc4\xe4\x62\x1a\x93\x62\xf7\xa2\x54\x26\xd6\xad\x45\x4e\x03\xfb\x96\x7f\x51\x25\xc5\xd3\x6e\xad\xa4\x1b\xd4\xc9\x51\x2d\x95\x74\xc3\xf5\xc9\x51\xfa\x18\x11\x7d\xa4\xb9\x7d\xe4\x20\x2b\xb5\x82\xa1\x47\x6d\x9f\x14\xbb\xed\x9c\x0e\x55\x33\x1d\xaa\x3e\xa2\x43\x83\x65\x1d\xaa\xea\x1d\x92\x67\xc3\x85\x4f\x8a\x1f\x2e\xce\x65\xe3\xe7\x41\x2c\x26\x89\x1d\x4a\x89\x0e\x2e\x17\x9c\x06\xf8\xd1\x16\x05\xde\x18\xfb\x55\xab\x2d\xde\xf4\x93\x6e\x0c\x06\xac\x1f\x8a\xdc\xfe\xc9\x1d\xd9\x58\xdc\x91\xa6\xe5\xdb\xd4\x23\xc5\x66\x23\x61\x45\x7b\x40\x60\x6b\x73\xa6\x18\x64\x28\x35\xf8\xc4\xa3\x42\xf5\xaf\x80\xc8\xff\xf1\x98\x3a\xae\x15\x53\x6f\xae\xe8\x27\xcf\x78\x4a\x57\xa6\x9e\xd2\x7b\x6a\x4f\x95\x51\xb4\x63\x84\x4a\xe1\xbb\x17\xbc\xe8\x86\x61\xa0\x38\x7c\x72\xf7\x34\x1e\x45\x9c\xa7\x21\xd4\x52\x87\x47\xda\x5f\x40\xbe\x2e\xdf\x51\x02\x10\x32\x52\xa9\xcf\x48\x7e\x19\x0b\xb0\x03\x0e\xb4\x01\xf0\x7c\x0f\x44\xe2\x9e\x44\x61\xc8\xe0\x81\xcb\x5b\x1e\x93\x39\x5c\x05\x5a\x12\x7a\x0d\x80\xe8\xc7\x6a\x3e\x20\xfa\xc2\xc7\x08\x84\xc2\x9b\x42\x6a\xc1\x4f\xfb\x51\xec\xc6\xd3\x98\x92\x62\xf7\x6a\x3f\x6f\xef\x6b\x36\xce\x73\x98\x67\x19\x37\x3f\xc6\x53\x45\xc7\xc2\x0b\x62\xb1\xd5\x6d\xe6\x1c\x10\xb5\xfe\xe2\x39\x48\x42\x75\xd8\x17\xad\x6e\x33\x53\xc2\x1c\x19\xa0\xc0\xcf\x15\x55\xd7\x2c\xee\x22\x8f\x2e\x5b\x9a\x77\x92\x1a\xea\x9c\xb8\xdb\xb6\xba\xcd\x1c\x77\x5b\xa4\xa7\x34\x29\xc2\x9a\x45\x4f\x4b\x39\xde\x51\x26\xbf\xda\xb4\x7b\x0f\x8f\xed\x16\xa4\x52\xd1\xb1\xe0\x40\x5a\x3c\xc8\x55\xf9\x5e\x0e\xf2\x56\xee\x3a\xd9\x21\xe6\x44\x3a\x02\xa9\xd9\x0d\x8d\x09\x6d\xca\x98\x01\xa2\x52\xa9\x28\x51\xfc\x0e\xbd\x27\xc5\xf6\xf9\x81\x14\x9e\x53\xf7\x96\xe9\x48\xa0\x16\x94\xf1\xf2\x79\x2b\x20\x69\x3e\x48\x75\xd0\xd8\xe7\x9d\x4d\xd6\x67\xed\xd6\xf7\xa9\x70\xb0\xfc\x5c\x63\x4d\x19\xb4\x07\xf0\xbc\x07\xf5\xa7\x78\xde\x3a\xcd\xe9\x60\x7f\x1a\x13\x27\xa0\x91\x5f\x88\x89\xe5\x38\x70\xc2\xe6\x28\x9a\x3b\x5b\x86\xee\xb5\x9e\x76\xec\x9a\x15\xd4\x83\x60\xe6\x2f\x56\x50\xa7\x1e\x06\xd6\x74\x69\xcc\x74\xd5\x6e\xce\xec\xef\xec\x18\xba\xfa\x76\xa5\xae\x0a\x2d\x52\xff\x62\x98\x1a\x43\x29\x1d\x86\x0a\x0f\x59\x42\x1e\x3a\x6d\x5d\xbf\x99\x4e\xe0\x56\x90\xaf\xbd\xec\x38\x86\xfe\x9e\xad\x70\x69\xc1\x76\x4f\xcd\x02\xd0\x45\xc3\x10\x6a\x0b\x75\x52\xec\x76\xeb\xc9\x05\x12\x73\x6c\x04\x03\x72\x54\x27\x32\x4f\x09\xf0\x55\x8f\xbd\x4b\x92\xb5\x28\x88\xc6\x0b\x4f\x59\xc3\xf0\xa8\x61\x78\xe7\x8b\x8f\x56\xad\xf3\x1b\xac\xf3\x1b\xa6\xce\x6f\xfc\xf5\x9d\x1f\x18\x3a\x7f\xb1\xb8\xf3\x07\xf4\xce\xb5\x69\x12\x5c\x86\xa6\x87\xe2\x41\xb3\xab\x1c\x32\x1c\x8e\xc5\x22\x07\xcd\x6e\xe2\xa9\x8d\x97\x0c\x24\xb0\x26\x08\x08\x21\x00\xbb\xf6\xa7\x0f\xbd\x56\xe7\x0c\x80\xeb\x1e\xab\xee\x34\x03\x3f\x72\x1d\x1a\x26\x25\x59\xbf\x0e\x5a\xcd\xce\xbb\x6e\xb7\x2c\x70\x46\x62\x11\xcd\x4c\xe9\x98\x70\x17\x8c\xbe\x97\x23\xba\xaf\xaa\x06\xf6\x5c\x2e\x3e\xd1\x72\x83\x0b\x32\x0e\x9c\x19\x80\x0f\xb3\xf3\xee\x6e\x2a\x91\x74\x88\xc2\x31\xb5\x42\x87\x3a\xa4\x11\x52\x8b\x14\xbb\x97\x0d\xc9\xfc\xf7\xae\xe7\x81\x5e\x25\xf9\x90\x33\xb8\x6d\xc3\xe0\xae\x97\x19\x55\x9c\x6c\xe3\xad\xa7\x34\xfe\xd2\xd0\xf8\xfb\x25\xab\x46\x8c\x5d\x88\x5c\xf7\xa2\xfb\xf8\x86\x4d\xbb\xe7\x87\x95\x96\x6b\xb2\x18\x95\x38\xca\x62\xb7\xd9\x2e\xa3\xbe\x7a\xd0\x6a\xb6\x93\xb3\x92\xdf\x07\x65\x42\xce\xf6\x41\x85\x90\x8b\x7e\x14\xc0\xe9\xce\x2e\xc5\x6c\x28\x68\x8e\x24\x76\x81\x14\x0f\x1a\x39\x1b\xfe\x2b\xcb\xd0\xe5\x9b\xe5\x1b\xa8\x0e\xd5\x83\x50\x45\x6f\x6a\xbb\x75\x3b\xa5\x2a\x2e\x0a\x13\x2d\x36\xbb\x6d\x2d\x26\xc7\xa3\x16\xcf\x6e\x39\x0e\xa2\x2c\x0e\x00\x5f\xe2\x10\x3d\x9a\x33\x9a\xbe\x61\x34\x9f\x7e\x6a\x4d\x99\xe3\xbb\x44\xa4\x44\x4e\x34\x97\xf8\x7a\xd1\x82\x6c\x76\xdb\xe9\xe5\x67\x88\x6a\x92\xfc\xb9\xe2\xee\xa4\xf2\x9a\xc3\x76\xbf\xf5\x8b\x6e\x73\xfd\xf2\x6c\xbd\x71\xd9\x24\x76\x30\x1e\x5b\xbe\x13\x71\x43\x98\x34\x3f\x0b\xcc\x16\xd5\xf0\xfc\x8c\x67\xc7\x82\xdd\x4a\xe4\x02\x15\x9e\xaa\x6e\xcc\x7d\x66\xad\x08\x5d\x5f\x93\x87\x00\xad\xfd\x40\x58\xa8\xd2\x13\x04\x60\x37\x0b\x36\x9d\x02\x4f\x41\x97\x33\x87\xb6\x61\x0e\x3f\x7f\x5e\xbc\x8a\x0c\x96\x71\xe0\x06\xf8\xc8\x96\x92\x54\xb9\x9c\x45\x21\xf5\xb0\x34\xb7\x9c\x04\xb2\x3a\x66\x02\xcc\xe9\x99\x49\xd9\xf8\xf2\x13\xd2\x95\xb9\xa3\x5c\x18\xef\x28\x89\x33\xc0\x02\xa6\xaa\xf5\xb4\xb8\x4f\x25\xd8\x4d\x5e\x9d\x67\x56\x3a\x0a\x41\xf5\xa8\x95\x0f\x99\x8b\x2e\x29\x8c\xaf\x6a\x33\xef\xa5\xf3\xb3\xc3\x54\x36\x11\x90\xa5\x04\xf1\xcd\x69\xbc\xa0\x2d\x49\x82\x55\xaf\xc8\xbb\x99\x15\xce\xb3\xc1\x4c\x9f\xaa\x5f\x2a\x00\x94\x57\x5c\xff\x47\xf1\xb3\xf3\xa2\xb4\x5b\xac\xfc\x5a\xfa\xcf\x75\xfe\x38\x89\x01\x1e\xf3\xa4\x7b\xd9\xea\x64\x8f\x51\xfe\x54\xff\xa2\x39\xd0\x24\x57\xb7\x0b\xb8\xba\xb1\x22\xb5\x2f\x06\x38\x81\xd4\x53\xb2\x19\x24\xe7\xa2\xdb\x34\xfa\xc4\x67\x7b\x53\x2a\x29\x98\x52\x8b\xae\x73\x17\xa9\xeb\x1c\xbc\xd1\xda\x73\x72\xc6\x1f\x10\x8a\x97\x67\x8f\x3f\xb4\x4c\x3a\xe6\x3f\xfe\x95\x7a\x48\x23\x71\x5e\x25\x97\x3c\x1f\x9e\x38\x47\x8a\x8d\xcb\xe6\xe3\x87\x68\xd2\x44\xbf\xfe\x2b\x87\x08\x91\xaa\xf7\xf5\x2a\x59\x23\x57\x3e\xf8\x29\x40\xf6\x30\x00\xe0\x41\x50\x94\x88\x92\x00\x1c\x47\xad\x98\x3a\x90\x23\x29\x72\xfb\x90\x31\x15\xdf\x88\x96\x2a\xe5\xaf\x31\xc6\x51\xb6\x74\x48\xd6\x84\xfe\xff\x92\x28\x30\x3b\xf8\xf8\xac\xb8\x37\x47\xa4\xd8\x7d\xd9\xac\xe1\xd1\xa3\x52\x38\x4a\x28\xec\x2c\xa5\xb0\xa3\x50\xd0\x7e\xce\xf7\x01\xb7\x38\xe9\xb3\x15\x45\xd3\x31\x25\xd0\x26\xb1\xbc\x99\x35\x8f\xf2\x27\x38\x3d\xaa\x53\xe8\x53\x8c\xce\xdf\x76\x80\x10\x12\x6c\x8b\xf3\xe8\x1d\xf5\x48\x2d\x3d\x86\xb3\xc5\xe5\xeb\xe9\xf2\xe7\x8b\xcb\x6f\x64\xdf\x9b\x99\xc0\xd5\xab\x2b\x0b\x17\x97\x9e\xdc\xa2\x2b\x99\xa8\x56\xf3\xf9\x58\xe4\xf1\x21\x8e\x86\xd7\x30\xf4\x2a\x1b\x3a\xb8\x7c\x8c\x56\x45\x93\x80\x9d\xeb\x87\x96\xd7\x0c\x15\xd0\xff\x28\xe8\x0f\xbd\x69\x6e\xfd\xc7\xbf\x86\x55\xdc\x98\xb7\x53\x28\x09\x2f\x65\xe1\x74\xd5\xf0\xdc\xa1\x0f\xd9\x67\x7a\xec\x4a\x57\x3c\x68\x35\x1b\xa7\xe7\x66\xa7\xd8\x81\xeb\x79\xc5\x42\x4b\x46\x70\x3e\x9e\x4d\x34\x72\x87\xa0\x4e\x5d\xc0\x4b\x77\x13\x51\xb7\xb8\x16\x53\x3c\xb8\x68\x66\x4c\x35\xc0\xb5\xff\xef\x7f\x96\x6b\xe2\x88\x96\x36\x6d\x91\x68\x51\x81\x0a\xe3\xf0\x4c\x00\x12\x4e\x79\x50\x3a\x66\xbb\x61\x8a\x18\x1e\xf9\x29\xf8\x10\x03\xbc\x59\x49\xc3\x8c\xe0\xb3\xb4\x5e\x48\xfc\x96\x16\x4f\xed\x8a\xf0\x14\x79\x2a\xc8\x65\x18\xd8\x34\x8a\x74\x08\xb4\x90\x89\x6f\xc4\x13\x73\xcb\x60\x0d\x5b\x01\x81\x40\x90\xb7\xbf\x4b\x80\x37\x74\xac\x93\x39\x60\x5b\xcd\xb3\x06\xd9\xd8\xaa\xa4\x5c\xc9\x12\x98\xbe\x62\x02\x81\xa7\x38\x9c\xa9\x0e\x5e\xa2\x8d\xa3\xbc\x36\x04\x20\x63\x6e\x0b\x1c\x0e\x72\x31\xf9\x75\x9d\xfc\x85\xcf\x74\xc5\x39\x89\x43\xcb\xe7\x89\x51\xe2\x00\x40\x7b\x10\x6c\x8d\x69\x41\x49\x9b\x2b\xac\xbc\x3c\x06\x6a\x03\x44\x7f\x48\x80\x6f\x3c\x95\xbb\x78\xaa\xd8\x5b\x43\xb1\x7a\xb6\x58\xdb\x50\x6c\xa3\xa2\xb9\x82\x62\x28\x2f\x60\xb6\x43\x16\x69\x2c\x0a\xdb\x7b\x64\x80\x70\x5e\xc0\x5c\x81\x28\x58\xda\xd5\x4a\xeb\x7c\x26\x59\x6f\x3d\xfc\x59\xc5\x67\x8f\x0f\xcd\x18\x2f\xca\xf6\xda\xff\x8f\xac\xcb\x8b\x9e\x39\x1e\x73\x54\x32\xf7\x4e\xfc\xf9\x23\x47\x3c\x32\x5d\x5e\xad\xbb\x8b\xba\xfa\x88\x8e\x2a\x9d\xcc\x06\x7f\xaf\xb6\xd1\xea\xd6\x4e\x54\x63\x98\x3c\x17\xbb\x8a\x6d\x11\x0f\xfe\x22\xb9\x8c\xf8\xb1\x9f\x79\x14\x2e\x5e\xf7\x6a\xd5\xaa\xaa\x1a\x95\x94\xd2\xe9\x37\xed\xe2\x75\xaf\x5e\xd7\x4a\xff\xaa\x94\xae\x2f\x2d\xfd\x42\x29\xbd\xb1\xb4\xf4\xda\xe2\x9e\x6c\xe8\xfd\xae\x2c\xee\x49\xaa\xf4\xfa\xe2\x9e\x88\xd2\xa0\xbe\x7b\x9e\xd1\x6d\x8b\xda\xa3\x20\x0b\xea\x67\x3a\xdc\x8a\x06\x75\xbd\x64\xf8\xec\x57\xc3\x67\x2f\x0c\x9f\xad\x19\x3e\xab\x18\x3e\x5b\xcf\x3b\x54\x31\x7e\xf4\x7f\x44\x21\xe1\xc8\x12\x86\xab\xeb\xa2\xd3\x2c\xd5\xa9\x85\xc7\x1c\xa4\x39\xb1\x26\x0b\x33\xd9\x48\xbd\x8f\xf5\x8c\x15\x7e\xbe\xb7\x47\x64\x2e\xc3\xd4\x19\xcd\x03\x43\x0b\xc5\x42\xc6\xb7\x1b\x92\xf6\x8c\xad\xc9\x6e\xd6\xd9\x5f\x56\x2b\x15\xc8\x1f\x7f\x10\xf9\xe7\x9a\x81\x4a\x6d\x39\x95\x5f\x75\x2a\x15\x03\x95\xfa\x72\x2a\x2f\x74\x2a\xeb\x06\x2a\x1b\x29\x2a\xcf\x88\x21\x88\x21\x37\x80\x35\x85\xab\x21\x6c\x05\xfa\x82\x02\x60\x5d\xe1\x71\x4d\x5e\x90\x02\xc7\xd4\x95\xb3\xf2\xd4\x4d\x70\xdf\xb2\x6f\xc5\x5b\xdb\x41\xab\xb9\x9f\x98\x5f\xaf\x7b\x9b\x75\xf4\x6a\x9e\x4e\x2a\x64\xe5\xa7\x1e\x58\x36\xdb\x4b\x2c\xdc\xd6\x1d\x25\x3c\x0a\xb5\x08\xb1\x05\x46\x8d\x36\xdf\xd5\xd0\x14\x20\xa0\xa7\x12\x85\x7c\x5b\x4a\x13\x1d\x73\x13\xf9\x0e\x7f\x39\x6e\xfd\x3f\x34\x6f\xaf\x99\x15\x3a\x0a\xf7\x0e\x55\xee\xd5\x6b\x4f\xe5\xde\xab\xc5\xdc\x53\x8d\x21\xb7\x74\x3e\xb1\x1c\x68\xfc\xe4\xb2\x91\xf1\x9b\x03\x72\x7b\xcb\x6d\xf7\xa6\x28\xe1\x13\x24\xbd\x97\x45\xe3\x38\x67\x37\x5e\x4f\x6f\x3b\xeb\xb3\x07\x6d\xff\xfe\x93\x6d\x73\x78\x13\xf5\xd4\x96\x0e\x6e\x5e\x30\xa3\x21\xba\xb8\xd9\x41\xe8\x63\x2a\xa1\x08\x6e\x6c\x8b\xcd\x41\xcf\x94\x8c\xf9\x3c\x09\x89\x1d\x0c\x7d\xf7\x01\x1d\x99\xd1\xe1\x56\xe2\x1e\x8f\x26\xa7\xac\x21\xd6\xce\xfe\x74\xd8\x0c\xc6\x13\x2b\x26\x21\xe5\x9e\xef\x6e\x84\xf6\xee\xb4\x9d\x09\x46\x7f\xb8\x78\x22\x0f\xa7\x9e\xc7\xd3\xde\x16\x3b\x6d\xf3\xad\xce\xce\x65\xa0\x82\x13\x9a\x7e\xc9\xe6\x5f\x28\x5c\x3b\xa3\xe3\x20\x9c\xc3\x1d\x6d\x7d\xea\xb3\xff\xac\x6c\x31\x83\x6e\x78\x86\xb3\x71\xbc\x78\x74\x8a\x7b\x5d\x9d\x14\x4f\xbb\xf5\x92\xee\x5d\x07\x8e\x4f\xe9\x07\x73\x2b\xca\x7a\xd8\x41\x63\xfe\x32\xf7\xba\xba\xee\x5e\xa7\xb4\xbe\xc1\x5a\xdf\x30\xb5\x9e\x7e\xf1\xce\x6d\x3d\x58\xd6\xfa\x46\x6e\xeb\xf5\x32\xe9\x80\x37\x2f\xeb\x44\x67\xd5\x5e\x74\x4c\xbd\xf8\x23\xbf\x17\x9d\x47\xf4\xa2\x6e\xec\x85\x69\x26\x8c\xbd\xf8\xb1\xac\x17\xf9\x33\x51\x53\x7a\x51\x33\xf6\xa2\xb6\x6a\x2f\xfe\x7b\x59\x2f\x52\xfe\x9f\x18\x7f\x4d\x5c\x3b\xf0\x11\x41\x9f\x6d\xcd\x33\xd7\x77\x82\x19\x89\xdd\xd8\xa3\xca\x23\x18\xec\x09\x08\x93\x07\xbd\x4a\x17\xd3\xa3\x1a\x3e\x15\x96\x98\xf6\x0c\x28\x08\x8c\x5e\x8f\x91\x33\x99\xfe\x4d\xfd\x5e\xd6\x85\xba\xbe\x16\x45\xb7\x34\x94\x8b\xf5\x90\x5a\x0e\xb1\x03\x2f\x08\xc9\xc4\xf2\x68\x1c\x1b\x49\x6d\x2e\x75\x63\x6c\x84\xc3\x88\xd8\xc1\x18\xc2\x13\x20\xd5\x11\x8f\x9b\x2a\x00\x88\x59\x6d\x37\x1c\xf6\x6b\xa4\x52\xa9\x90\x5d\xf8\xe0\x9c\x7d\x70\x5e\x50\x00\x90\xf1\x86\x1d\x4d\x3c\x57\xfa\xad\x47\x74\xec\xb2\xbe\xf9\x1c\x60\x87\x86\x56\x4c\x45\x6a\x00\x0e\x67\xe8\x86\x32\x3f\x9c\x19\xd3\xee\x53\xf5\x4b\x05\xa8\x16\x0b\xbb\xdc\x02\x07\x59\x4b\x2c\x37\x6c\x42\xe6\x65\x25\xcb\xb4\x0a\x1d\xba\x4e\xea\x12\x2d\x0f\x18\x74\x89\xfc\x11\x1a\x71\xbc\x30\x43\xa9\x52\x61\x37\x95\x5e\xb0\x11\x86\xd6\x9c\xa7\xd4\x7f\x46\x40\x8d\x2b\x8a\x1e\x9d\x63\x54\xcd\x1e\xa9\xee\xaa\x7f\xff\x96\x74\x77\x97\xbc\x78\x91\x7c\xa3\xdd\x20\x58\x9b\xa8\x78\xa4\x86\xf4\x49\x21\xf5\x2b\xa9\x0b\xd4\x34\x59\x09\xd2\x58\xc3\x63\x57\xa6\x2c\x79\x41\x34\x10\x38\xa5\x91\xdf\xf7\x34\xbe\x08\x48\xb5\x44\x81\x8d\x5d\x7f\x4a\xd3\x75\x79\x5b\x80\xaf\xaa\x3d\x0d\x16\xde\x14\xc8\x98\x5a\x7e\x04\x68\x68\x88\xcf\x8f\x99\xc0\x38\x2c\xa5\xe2\xa8\x8e\x02\xab\x24\xf5\x26\xfa\x40\x3c\xb7\x8f\x53\x10\x55\xc2\x61\xbf\x17\x7c\xa8\xd5\x8a\x6a\x5f\x3f\x25\xc3\x48\x20\xe4\xf4\x2e\x26\xf6\x09\x6d\xde\x10\xaf\x57\xe1\xc2\x0b\x52\xd8\x45\x25\x5c\xd6\x4c\xac\x65\x92\x07\x8a\x3a\x9e\xd7\xd1\xfb\x5a\xad\x17\x34\xbb\xdd\xa2\x46\x29\xbf\x63\x79\xe3\x21\x7b\x4a\x13\xbb\xa6\xa4\x4a\x38\x10\x75\xba\x96\x7a\x6d\x7c\xd9\x84\x41\xea\x14\x30\xf5\xc0\x6e\xa1\xc4\x98\x80\xf0\x4e\xda\x3e\xe5\xf6\x68\x38\xae\x93\x61\x18\xcc\x40\x9d\x70\x07\x5c\x95\x4b\x5b\xf8\x2f\x12\x0d\x77\xd1\x1e\x03\xfa\x19\x18\x8e\x9d\xe9\x78\x22\xcc\xaf\xb1\x1b\x52\x25\xe5\x0c\x40\x74\xca\x78\x2a\xbe\xfd\x41\xe3\xf3\xe2\x3f\x0b\xfd\xc0\x99\x17\x5e\x1b\xb6\x88\x1f\xc6\x2d\x16\xcc\x38\x98\x8f\x60\x10\x84\x74\x88\x98\x1b\xc0\x5e\xd3\x10\x6a\x4b\x76\xfd\x45\xfb\xa4\x08\xe0\xea\x03\x2a\x63\x1c\x5a\xb8\x9d\x41\xc2\x02\x7b\x04\x68\xfc\x3c\x4a\x13\xe2\xf1\x5c\x7f\x88\x04\x2f\xba\x4d\xed\xe5\xe4\x11\x3b\xa1\x02\xf5\x99\x49\x9c\x2a\xf7\x86\x46\x38\xd4\x76\xc1\x0f\xb5\x5a\x8e\xdc\xc2\xe6\x09\x4e\xea\xc5\x92\xa4\x2e\xea\xe4\xe0\x3d\x1d\x4a\xae\x36\x59\xc1\xa4\xf8\xae\x8a\xc1\x98\xc0\x76\xca\xc4\x00\x39\x8f\xf5\xc3\x28\x91\x4a\x5c\x3c\xa9\x19\xaa\x15\xbe\xe4\xc1\x7f\x7d\xc9\xe2\x40\x65\xc5\x80\x6d\x45\x4b\xc5\xa0\xf6\x7f\x62\xf0\x38\x31\xd8\x97\x5c\x35\x89\xc1\x3a\xbc\x5f\xd3\xd7\x1c\x74\x58\xe4\xaf\x65\x43\xae\xd5\x5f\x00\x56\xaf\xc3\x99\xc3\xbd\x92\x2a\x7f\x8d\xf0\xd4\x97\x0b\x0f\x61\xe2\x60\x48\xef\xc4\x63\xb0\xa2\x91\x35\x91\x6a\x65\x02\x7c\xef\x26\x28\x7a\x3c\xb0\x84\x47\x81\x80\x93\xde\x2f\x3c\xc7\x33\xab\xbb\x87\x71\xb7\xbf\x94\xb9\x0f\x00\x0f\xc3\xc5\x2b\x27\x22\x95\xbd\x96\x66\xea\x2a\x59\x23\xfb\xec\x62\x87\x7f\xd6\xc8\x1a\x69\xaf\xed\x53\x6b\x8c\x7f\xd7\xc1\xaf\xc0\xa1\xa1\xe7\xfa\x34\x75\x07\xb6\xe0\xe9\x1e\xb0\x12\x1d\xba\x36\xb0\xec\x38\x20\x91\x48\xe3\xc9\x67\x00\xaf\xc6\xb0\xcb\x93\x3a\xa8\x68\x27\xdc\x6a\x05\x1e\x5e\x10\x60\x03\xf9\xbe\xc0\x9c\x73\xd5\xed\x28\xb1\x54\x60\xcf\xc2\xce\x73\xe9\x16\x09\xd1\xb3\x21\x91\x98\x95\x44\xb2\x2e\xbd\xdc\xb6\x96\xec\xba\x8b\x57\x02\xf7\x10\x52\x59\x5c\xac\x94\xd6\xdd\xd4\xc2\x30\x22\xcb\x35\x41\x49\x61\x17\x65\x04\xc9\x66\x12\xb9\x55\x85\xc6\xd0\x14\x67\xd4\xe4\x49\x16\x98\x50\x3c\x76\x71\xd0\x5d\x3d\x91\x70\x8d\xbf\x4e\xa9\x5d\xac\xbd\xe6\x33\x99\x0b\x0a\xa1\x94\xe6\x59\x8c\x7a\x7a\x34\x00\x7c\x55\xd9\x6f\x35\xce\x16\xa4\xe6\xad\x1b\xda\xae\xbf\x4e\xa4\xe6\x67\x9b\xbf\x3a\x3f\x68\x75\x4e\xdb\xe7\xad\x85\x78\x15\x99\x2e\x54\x5f\xa3\x5c\xff\xf4\xe8\x4f\x2f\x9a\x27\x46\xf8\x3f\xbc\x18\xa1\x9f\x1f\xb1\x3d\x77\x82\xf6\x28\xe9\x59\x6b\x39\x6c\x95\x68\x36\x12\xea\x10\x67\x4a\x31\xed\x9a\x3d\x85\x64\xad\x36\x77\x08\xe7\x5a\x0f\x21\x0d\x12\xd2\x71\x10\x53\x62\x4d\x26\x10\xb6\x3b\xb2\x30\x60\x99\xa7\xc5\xee\x07\xf1\x88\xcc\x42\x97\xa3\x19\x40\x27\xf8\x2a\x90\x9d\x20\x36\x88\x1d\x8d\x22\xa6\xfc\x58\x9e\x37\x07\x4a\xd6\x2d\x45\x44\xfc\x79\x30\x0d\x49\x44\xa3\x28\x05\x00\x91\x10\x70\xac\xd8\x7a\x4a\xca\xca\x67\x90\x75\x29\x27\x19\x21\xae\xc5\xfa\x4f\xdc\x14\x65\x07\x77\xfb\xdb\x9b\x6b\xac\x93\xf2\x7e\x48\xf4\x11\x20\xa5\x89\xba\x7f\x0a\xcf\xd3\x08\x5d\x8f\xd0\xbd\x95\x83\x67\x7c\x48\x6a\x02\xd8\x85\xe5\x38\x21\x8d\xc0\x11\xd5\xf5\x6d\x9e\xe5\x3c\xc1\x65\x75\xfd\x98\x0e\xb9\xa7\x27\x60\x21\x7c\x00\xdc\x7a\x7c\xfc\xc5\xbc\xbf\x9e\xa7\x3d\xfa\xae\xb4\xc5\xfc\xe3\x93\x3d\x89\xaa\xb5\xfa\xc6\xe6\xd6\xf6\xcb\x2f\xbf\x82\x37\xe2\xfa\x0a\xe7\x2f\xcc\xd6\x1e\xbf\xee\x57\xac\x38\xe8\xcb\x7d\x42\x54\x66\x45\x4c\x47\xab\x1d\x4c\xe6\xdc\xc5\x2c\x68\x0a\x16\x68\xd9\x41\xa1\xa6\xae\xfb\x5e\x75\xee\xef\x62\x32\xa1\x21\xe0\x9a\x4e\x3d\x15\x2e\x22\x49\x5d\x23\xdc\xae\x71\x85\x00\xf7\xfb\x73\x12\xde\xdf\xc5\x6b\x53\xdf\x95\xb9\x7d\xdc\x38\xca\x90\x22\x17\x7d\x40\x42\xf2\xe6\x8c\xad\x32\xb5\x1b\x1c\xea\x50\x36\x08\x89\x3d\x8d\xe2\x60\x2c\x6a\x09\x5c\x03\xcf\x85\xd4\xf2\x03\x3a\x03\x47\x66\x08\xf4\x62\xa7\x5e\x24\x00\x55\xc8\xc0\xf5\x1d\x9e\x2a\x48\xf6\x9a\xda\x23\xdf\xb5\xd9\x42\x61\x3d\x0f\x29\xae\x5c\x82\x79\x84\x12\xe4\x5f\x74\x27\xe7\x2d\x92\xa0\x4f\xe7\xe0\x46\xf6\x1b\x7e\x02\x16\xa2\xdf\x77\xc5\x5f\x6c\x06\xca\x64\x1a\x4d\x81\xec\xae\x4c\x5d\xe3\xfc\x6e\x58\x15\x2f\x5f\xbe\x5c\xe5\x88\x9a\x0b\x0d\x6b\xca\xd8\x78\x16\x38\x4b\x74\xb7\x32\xa9\x95\x3e\x55\xbf\x68\x99\xe8\x45\x55\xfd\x08\xc1\xfb\x8f\x9a\x66\xfc\x10\x06\xaf\x7c\x80\x45\x76\xc1\x9a\xb4\xcb\x2f\x50\xfc\x5b\xd6\x25\xf8\xbc\x2c\x6e\x56\x62\xb3\x5e\xea\x77\xfb\xe9\x1f\xbb\x5f\x5e\xec\x16\xd9\x7f\x7e\x2d\x15\x77\x8b\x9f\x3e\x47\x9f\xbb\x5f\x7e\x2d\x95\xde\x48\x3f\x5c\x83\x27\x2e\xc1\xe6\xb8\xfb\x6d\xed\x4b\xf2\xc4\x2f\x30\x30\xf0\x9b\x8d\x2f\x69\xe0\xac\xd4\x75\x0f\xc8\x14\x5e\x8b\xde\x8b\xeb\x1f\xa7\xf2\x63\x15\x90\x24\xb3\x6f\x02\xb0\x99\xcb\xca\x92\xa3\x3e\x0f\x04\x89\x03\xee\x16\xfb\x9e\xe5\xdf\x96\xd4\x38\xc9\x62\xbb\xf9\x36\x13\x88\xd1\x6d\x7f\x2a\xfc\xfd\x31\x46\x45\x17\xe8\x77\x27\x96\xad\x59\x14\x5d\x2b\x1c\x62\x02\xb4\x92\xe9\x0d\xe5\x6a\x42\x8a\xcd\xab\x2b\x63\xf3\x8d\xc7\x34\x8f\xc7\xec\xd5\xe4\x11\x6d\x1f\x30\xce\x16\x9b\x57\x07\xc6\xd6\xf7\x1f\xdf\x3a\x04\x3c\xae\xde\xbe\x78\xbc\x2b\x36\xaf\x0e\x8d\x5d\x68\x3e\xbe\x0b\x60\xdb\x7e\x44\x1f\xd8\x4d\x48\x74\x62\xdf\xd8\x89\x83\xc7\x77\x02\x90\x49\x56\xef\x83\x12\xd9\xda\x3c\x3f\x2d\xa5\x77\x7f\xcf\xbd\xa5\xea\x94\x95\x21\x3f\xca\x44\xbb\xe7\x8c\x83\x3b\x2a\x71\xa5\x00\x55\xc8\x4f\x72\xdb\x32\x62\x00\xeb\x01\x19\x3b\xbd\xb4\x73\x07\x8c\xb2\xf5\x27\xcf\xf6\x23\xc1\x2a\xf8\xf0\x2e\x99\x0a\x04\x3a\x11\x67\xc7\xe5\x62\x76\x5c\x4d\xfe\x12\x66\x1c\xfe\xa9\x0b\xef\x69\xac\x48\xde\x60\x1a\xfd\x28\xf0\x20\xaa\xbf\xf9\x36\x1b\x30\xc6\xfa\x7b\xf4\xc8\xc7\x0f\xad\x79\x63\xb7\xc9\x5a\x3a\xc3\xa0\x98\x21\x1e\xf1\xcd\xd6\xcb\xa5\xb1\x33\x6f\x9f\xd4\x19\x41\x37\xbf\x3b\xa6\xb4\x25\xe9\x9f\x74\xe5\xda\xc2\xb1\x88\xfd\x47\x09\xc4\x2e\x36\x39\x62\x50\x7a\x54\xed\xe5\x0a\x85\xad\xbe\x6e\xa4\x47\xc0\xc4\x40\x14\xc0\xac\xb3\xb6\x67\x8d\x27\x45\xf8\xac\x4c\x6a\xe5\x2c\xb6\x2a\xa5\x7e\xd7\x7d\xa0\x95\x99\xeb\xf0\xcc\x29\xf2\xe9\xc2\xc5\x17\x0b\x97\xfc\x86\x44\x77\x89\xfb\xe2\x85\x86\x32\x11\xe7\xa3\x09\xa5\xce\xc5\x56\xc8\x54\x16\xd7\x87\x04\x1f\x9e\x35\x27\xc5\xd6\x41\x19\x91\xd4\xcd\x07\xc3\xb1\xfe\x0e\x0d\x9f\xbd\x39\x5e\xc5\x49\x8b\xab\xed\x46\x15\x46\x4b\x85\x44\xfe\xf8\x03\x0b\x2a\xa9\x49\xf5\x61\x51\xd6\xeb\x7d\xea\x05\xb3\x62\x1a\xab\x9e\x57\xac\x2d\xa8\xd8\xe8\x07\x02\xd1\x32\x5b\xb1\x6e\xae\xa8\xe0\x56\x66\xeb\x6c\xe8\xb9\x48\xb9\xff\x82\x13\xd8\x11\x89\xac\x39\xe2\xf4\xe1\x63\xcb\x2f\xc8\x6f\x70\x6d\x41\x78\x82\x5f\x44\x4e\x9a\x82\xe7\xa1\xb9\x1d\x9a\x12\xe4\x00\x6c\x84\x4f\x4d\xc4\xae\x4f\xe4\xd6\xf5\x3c\x19\xc5\xc5\xd1\xb4\xed\x5b\x88\x6f\x8e\x48\x38\x15\xc8\x95\xf9\xdd\x37\x4e\x3f\x02\x3f\xb5\x4e\xf9\xdc\x67\x91\x28\xd8\x3c\x9f\x98\xe6\xfe\xe4\x5f\x31\xf7\xbd\x00\x8f\xfa\x27\xcc\x7e\x2f\x80\x03\xfa\x71\xd3\x0f\x35\xd9\xa9\x64\xe0\x21\x57\x2d\xd9\xb7\x4c\x9b\x34\xb3\xee\xf4\xf1\xca\x24\x10\x5c\x45\x91\xe0\x00\x22\xbc\x03\x07\xe6\x0e\x9c\x3d\xa6\x03\x0e\x50\x7c\x6c\x07\x9a\x8a\x52\x7d\xc0\x95\xea\x67\x09\x3e\x19\x06\x7f\x82\xad\x3a\x92\x40\x69\xf0\x6a\x07\x29\x55\x3c\x3a\x88\xcb\x09\x78\xa4\xa5\x1d\xea\x02\x6a\xc4\x34\xb2\x25\xf1\xf9\xa6\x91\xb1\x9e\xae\x34\x32\x0e\x8b\xcd\xf4\xf4\xae\x59\x4d\xef\x3e\xa6\xf5\x3b\x8e\x7f\xbf\x9a\xa2\xce\x1b\x47\x45\xbd\x8b\xdb\x31\x69\x78\x51\x40\x0a\x6d\xdf\x8d\x5d\x2b\xa6\x64\xe4\x0e\x47\x1e\x62\xd5\x01\xdc\x79\x1c\x5a\x90\x47\xa6\x50\x21\x06\xc7\x22\xdc\x8a\x26\x56\x98\x09\xca\x63\x43\xe9\x2d\x1e\x4a\x2a\xf2\x54\xb5\xf6\xff\xc6\x96\x9c\x61\xd9\x88\xf1\xae\x7a\x35\xe8\x24\x29\x40\x38\x36\xe7\x80\x5a\xf1\x34\xa4\x12\x99\x15\xaf\xaa\x90\x0d\x24\x9d\x3a\x51\x3c\x50\x2b\x5e\xe3\x9f\xc8\xef\xe4\x32\x22\x3d\x19\x97\x17\x8e\x2d\xcf\x9b\x97\xc9\x2f\xe0\xa2\xf5\x8b\x80\xad\xe4\xf9\x81\xb1\xad\x0a\x69\x83\x95\x90\x87\xf7\x81\xa5\x90\x97\x93\x09\x26\xfb\xae\xe7\xc6\xf3\x24\xf1\xa4\xec\x26\x80\xeb\x8e\x27\x98\xb9\xd5\x22\x8e\x3b\x00\xfb\x5d\x2c\x7b\x29\x30\x3d\x60\x20\x8c\xd6\x98\x47\xea\xc5\x81\x1e\x44\x78\x19\xf1\xb4\x34\xaf\x93\xe7\x85\x83\x00\x53\x19\xd1\x98\x1b\xa8\xd6\xc1\x9d\xc6\xb3\xfa\xd4\x8b\xc8\x14\xa2\x7b\x47\xf4\xde\x72\xa8\xed\x8e\xd1\x8f\x9b\xbf\x44\xf0\x9a\xdf\xa7\x34\x9c\x3f\xa6\x6e\x7d\xc5\x56\x45\xa8\x0b\xab\xb3\xb1\x72\x7b\xb2\xd6\x6a\x91\xa3\x4c\x48\x7f\xef\x2d\x41\xac\x80\x13\x4d\xdd\x8a\x5a\x39\xf7\xfb\x0f\x8f\x59\xb9\xda\xa9\xf3\x84\x0b\xa6\xa6\x65\xee\x9b\xb5\xcc\x9b\xff\x57\xb5\xcc\x3e\x1f\x65\xbe\x9a\x99\xdc\x67\xe4\x15\x22\xb9\xd8\xbc\x55\xf0\x44\xba\xe0\x19\x16\x3d\xe5\x1e\xf4\x5f\x29\x00\x33\x7e\x37\x5a\xd8\x89\x0e\x80\x0e\xdc\x41\x27\x3a\x46\xaa\xd6\xcf\xdc\xae\x96\xe0\x2e\xe5\xe5\xee\x5b\x70\xa7\x31\x6e\x9a\x13\x11\xda\x37\x91\x37\xe8\x61\x68\x4d\x46\xae\xad\x25\x1f\x7e\x1c\x60\x10\x1b\x7c\x7f\x89\x17\x39\xf5\x1d\x01\x0f\x94\x38\x64\x91\xe2\x65\xe8\x8e\xad\x70\x4e\x0e\x92\x79\xd5\xa1\x7b\xc4\x6d\x7e\x64\x85\x0e\xbe\x87\xc0\x5b\x02\xcf\x54\x4b\x0a\xe8\x02\x00\xaf\x01\x0d\xcc\x7a\xe8\x10\xc8\xfd\x83\xb8\x12\x6c\x26\x0a\xa8\x37\xbb\x31\xa0\x6a\xf4\x29\x1e\x17\x76\x10\x86\x90\xa6\x97\x93\xb3\x08\x44\xe4\x24\x69\xa2\x02\x78\x81\xf8\x15\x8d\xd7\x9e\x47\x78\x4a\x7b\x52\xc8\xe5\x4b\x01\xce\x4b\x03\x36\x74\xc6\x35\xd8\x74\x60\x3e\x37\xbc\x7e\xff\xf1\x87\xf1\x4d\x3c\x57\xe3\x5d\x88\xeb\x92\x79\x4c\x33\x4f\x49\x97\xda\x81\xef\xfc\xfc\xa4\x14\x0c\x5c\x67\xa4\x56\x62\xbc\xc6\x75\x98\x2f\x9d\xed\xe0\xc6\xb4\x12\xe7\x7f\x5f\xc2\xfa\xe5\x0c\xfc\xbd\xba\x5b\xdf\xda\xde\xad\xa6\xc1\x71\xc0\xf4\x64\xd8\xa4\xae\x2f\xcd\xbb\x8e\xf3\xc8\xfd\x41\x50\xc4\x9d\xa0\x13\xcc\x56\x35\xc1\x28\xd8\x71\x4c\x8f\x96\x70\xba\x89\x4d\xe6\xed\xf5\x65\xde\x3e\xba\xdc\x70\x33\x30\xec\x9e\x6f\xd5\xdd\xb3\x67\xf5\x49\x13\x50\x11\x8a\xbd\xfd\x2c\xfc\x23\x2b\x3f\xfc\xab\xd6\xc3\xfa\x3a\x6f\x5a\x00\x2f\xb3\xeb\x01\x5e\x0d\x72\x6f\xbb\xfc\x30\x6a\xf0\x3d\xb7\x08\x81\x0c\xe9\x5b\x9f\xb9\xdd\x8d\x4c\xbb\xf0\x04\x29\x40\x9f\x73\x9b\x6c\x78\x1e\x6f\x35\x32\x9c\x81\x5d\x2a\x12\xfe\x75\xb3\xf0\xca\x8c\x7d\xa3\x25\xd0\x99\x86\x93\xd9\xac\x8f\x67\x8f\x6a\x25\x59\x61\x66\xcc\xee\x97\x32\x44\x98\x64\x7b\x9c\x4e\x39\x81\x48\x85\x98\x66\xcf\x38\x82\x37\x7f\xed\x10\x78\xde\xbe\x47\x8c\xe0\x8c\x3a\xae\x45\x9a\xc1\x64\x4e\x8a\x67\x28\xb4\xa9\xcf\xca\x08\x33\x30\xa1\xb6\x3b\x70\x6d\x15\xfa\x2a\xa2\x09\x7e\x93\xc0\xd7\xc4\x43\xd6\xf5\xd9\x81\x6a\xba\x60\x99\x98\xe2\x9a\xac\x26\xee\x12\x24\x78\xb8\x55\xa0\xb4\x74\xcc\xd2\xe2\xfd\xeb\xa4\x45\x59\x4a\x0b\xc5\x85\x47\xd6\x60\x42\x46\xb3\xc0\xfc\xb5\xa3\x58\x24\x30\x39\x83\x50\x34\x4e\xf5\xf8\x3c\x4a\x50\xbe\xdb\x06\xcf\x78\x78\x2a\x0f\x06\x09\xa2\x57\x19\xb0\x06\xe7\xc2\x50\x67\x09\x5a\x3c\xaa\x21\x22\x7d\x2b\x42\x54\x64\xee\x7d\x2f\x6a\xf2\x6b\x6c\xc5\xc4\xad\xf1\x8a\xd8\xba\x43\x1a\xd7\xb7\xb6\x8b\xae\x0a\x56\x95\x77\x73\x27\x2e\x79\x41\xea\xa6\x3d\xd8\x05\x6f\x74\xf2\x7c\x8f\x6c\xe9\xc8\xba\x3c\x89\x92\xe2\x3d\x91\x51\x53\x81\x68\x99\x54\x93\x04\xf5\x6a\xe7\x7a\xe1\x94\xa2\xeb\xe1\xea\x5d\xdc\x5a\xdc\xc5\xba\xb1\x8b\xe2\x3d\x3d\x34\x5c\x99\xb4\x2e\x62\xb1\x61\x4e\xb1\x0d\xbd\x58\x3f\xa7\xd8\x26\x16\x53\xf9\x52\x08\x87\xfd\x22\xf8\x72\x43\x4e\xe6\x32\xfb\x75\x98\xfc\xda\x67\xbf\x96\x0a\x92\x49\x60\x26\x8d\xe3\x30\x5a\x25\xec\x21\xb1\x9b\x9a\x19\x27\x58\x0b\x04\xd5\x60\xb5\x8c\x43\xdc\x13\x57\x99\xd1\xa8\x8b\xdc\x50\x38\x21\x8c\xab\xbf\x91\x8d\xaa\x1e\xa4\xac\xd8\x79\xe1\xa8\xe5\x51\x8d\x45\x6e\x2a\x29\x25\x00\x0f\x86\x21\xe4\x99\x7d\x31\xa1\x53\xe0\x39\xe9\xda\xfd\xc0\x4b\x62\x29\xf3\x28\xd4\x05\x85\x43\xcb\xf5\xe3\x34\x89\x01\xfb\x70\x29\x8d\x0d\x99\xe4\x37\xb6\x3c\xd7\x4e\x13\x71\xe1\xd3\xa5\x54\x64\xaa\xe0\x8c\xf7\x9f\x20\x34\x15\x5f\x2c\xa5\xb5\x25\xf9\xe2\xb9\xfe\x6d\x86\x31\xec\xc3\xa5\x34\x5e\x26\xa9\x8b\x01\xa6\x37\x33\x2c\xfc\x78\x29\x9d\x1d\x85\x0e\xa6\x00\x35\x50\xc2\x2f\x96\xd2\x7a\x25\x68\x35\xc3\x00\x52\x48\x05\xd3\xcc\x9c\x45\x71\xe8\xde\x52\xb1\x57\x2f\x9d\xff\x7a\x22\x8c\x31\x01\x91\xf9\x1b\x9c\xf0\x03\x93\x3c\x70\x91\xe2\x21\xb2\x66\x59\xd1\xbe\x34\x34\xb8\xa1\x36\xe8\x2e\x96\x98\x65\xb4\x36\x55\x5a\x52\x3c\x32\x2b\x41\x15\x9c\x65\x24\xb7\x34\x7e\x2c\x12\x9f\x65\x94\xa4\x00\x75\x63\x6a\x39\xf3\x7c\xf9\x59\x46\x48\x4a\xd0\xf5\x72\xf9\x59\x46\xeb\x95\x3a\x3c\x7b\x75\x29\xd2\xe9\x3e\x4b\xe3\x0d\xe0\x7e\xb7\x55\xd5\x42\xae\x38\x4c\xdb\x20\x08\xe9\x7a\x3a\xb0\x01\xf3\x98\xf1\xd4\x9b\x23\xcb\x1b\x30\x65\xa2\xb6\xad\xc7\x0a\x26\xa4\x44\x05\xa6\x38\xd4\xb7\x52\xc5\x20\xe5\x0b\xcf\x9a\xe7\xde\x51\x12\x81\x6e\x3b\xe7\x85\x5c\x9f\x0c\xa6\xe0\xc5\x2a\x88\x7d\x9f\x5a\x9e\x3b\x70\xa9\x43\xd8\x61\x15\x96\xc9\xb0\x4c\xfa\x25\x70\xd8\xab\xa4\x76\xeb\xdf\xc8\xc6\x8e\xea\x38\xc6\x45\x5d\x86\x95\x74\x31\x24\x1b\xdc\xfb\xc9\x1a\xd9\xa8\xca\xe0\x2c\xc3\x36\xa9\x51\x62\x5b\xae\x1b\x46\x31\xb1\x47\xd4\xbe\x45\x2b\x79\x38\xa5\xbc\xd3\x80\x71\xc1\xb1\xe6\xf9\x0f\xb8\xc9\x09\x3d\x82\xec\xa5\xd5\x8a\x64\x39\x02\xfe\x83\x2c\xf8\x1c\x53\x40\xea\x28\x47\xf9\xc3\x80\x2f\xba\x9d\xe6\xd7\xce\xd1\xfe\xee\x82\x1a\x7c\x63\x81\x36\x34\x58\x21\x97\xbc\xd8\x23\x5b\x0a\x96\x4f\x3a\xe1\x21\xee\x5f\x72\xd0\x72\x36\x95\x02\x60\xf8\xc5\x21\xa2\x5a\xa7\xf6\x04\xe2\x3d\x18\x3f\x61\x58\x9a\x3d\x31\x0b\x72\x04\xbd\xa9\xeb\x1f\x41\xfd\xdf\xc5\x58\x17\xc4\x18\xe2\x4f\x2a\xd2\x70\x09\x03\x6d\x15\xc5\x28\x5f\x14\x5e\xad\x26\x54\x72\x36\x0e\x5a\x87\x8d\xab\xd3\x5e\x9e\x74\xfd\x46\x36\x0d\x62\x9a\xac\xb9\x94\x98\x6e\x2e\x12\xd3\xcd\x7f\x37\x31\x35\x0d\x63\xb1\x98\x2a\x9b\xcd\xff\x89\xa9\x91\x81\x76\x16\x6c\x2b\xc3\x81\x15\xb8\x2f\xc5\x52\x90\x32\x9d\x0b\xbf\xef\x91\x57\x55\xf2\xb7\xbf\x81\xf0\xfd\xb6\x47\x5e\xbd\x4c\x66\x79\xc9\x7e\xfa\xaa\x4a\x5e\x90\x9d\xdd\x3c\xb2\xb5\xaa\x4a\xb7\x56\xcd\x10\xce\x5d\x01\xac\x26\x50\x16\x1c\x80\xae\xf3\xa3\x8f\xc6\x07\xa8\x90\x47\xd9\xf7\x8c\x74\x44\x61\xc9\xec\xa7\x95\xa9\x97\x0e\x41\x4b\xbf\x7c\xd3\x18\x1f\x43\xd7\x22\x6e\x98\x21\x02\xa4\x04\xdf\x4b\x1f\xf9\x66\xb8\x04\x28\x83\xdb\xcb\xd9\x05\x66\x1a\x89\x0c\xe2\xc5\x83\x6e\x27\xc7\x38\xb4\x45\xd6\xf4\xc2\x15\xd2\xa1\xd1\xd4\x8b\x49\xf1\xe2\xa4\x44\xdc\x08\x72\x58\x56\x09\x38\xcc\x6f\x93\x35\x41\x32\x6b\x8c\xbd\xec\x94\xc8\xa7\x30\x98\xed\xda\xf0\x24\xf4\x45\x12\xe2\x34\x42\xb2\x4b\x6c\xd2\x31\x8c\xc9\x7f\xf4\x63\x3d\x37\x6e\x6e\xad\xfc\xc8\x50\xf5\x0b\xab\xd9\x4b\xb7\xd5\x1b\x61\x18\xcc\x4c\xb7\xd7\xc4\xde\x5d\x62\x97\x76\x2d\x26\x3e\xbf\x7c\xf2\x52\x26\xaa\x2c\xb7\xec\xc3\x75\x3b\x98\xa9\xb1\xe2\xec\xf7\x8e\xe1\xb5\xe4\x80\x3f\xeb\xf3\x24\xe0\xa1\x0a\xd4\xde\xa7\x84\xfa\x90\xd3\x92\xdc\xb9\x16\x91\x82\xf4\x48\xd1\xf3\xff\x5c\xd1\xdb\x26\x8f\x11\x27\x78\x01\xe8\xb6\xc9\x1b\x45\x90\x48\x6d\x2b\x21\x71\x89\xb6\x4c\xc8\x9f\x3e\x8d\x92\xe2\x35\x26\xbd\xa4\x18\x32\x4d\xbd\x44\x82\xf0\x99\xc0\x0c\x16\x5f\xd7\xd8\xd7\x6c\xf4\x58\x04\x0c\xab\x75\x85\xf0\xd5\xc1\x49\x86\x68\x1d\x89\x22\xfa\x0d\x75\x18\x5d\xf9\x0d\xd0\xe3\x9f\x23\x31\x65\xdd\x9c\x88\xb5\x9f\xa5\xf8\x92\xec\x92\x1a\xd9\x25\x55\xf8\xe7\x93\xe2\x79\x10\xc6\x23\xd2\x18\xd3\xd0\xb5\x2d\x5f\x41\x3b\x86\x64\x06\x56\x14\x43\x3a\x24\x19\xcc\x14\xa1\x9d\x8e\xc4\x01\xb9\xee\x6d\xb2\x0d\x94\x4c\x27\x98\x2c\xd6\xa1\x7e\x10\xd3\x64\xe3\x81\x91\x4a\x72\xac\xc4\xe9\x49\xb5\x06\x2f\x5c\xd4\x66\x9a\x36\x66\x65\x21\x5b\x1b\x49\xcf\x4f\x03\x1b\xb2\x06\xa4\x3b\xbe\x45\x36\x88\x2f\xbf\xb5\xee\x2c\xd7\x63\xa2\x56\x66\x8b\x0c\xfd\x47\xa8\xb3\xe6\xfa\x65\xd9\x9c\x64\xd5\x16\x0c\xf3\x3c\x10\x95\xcb\x98\x9d\xd2\x28\x7c\x6f\x9e\xbc\x49\xfc\x3f\xb5\xa2\x97\x6d\x4f\xb5\xd5\xb7\xbc\x4f\x6f\x6a\xb5\x55\x77\xbd\xfa\x63\xc8\xd6\x57\x27\xbb\xfd\x98\xde\xd6\x77\x6b\xbb\xd5\xdd\x95\x77\xea\xad\x8d\x47\x10\xdf\x92\x64\xb5\xb4\x89\xfc\x99\x58\x04\xa1\xa1\xb3\x6b\x1c\x10\x87\xda\xae\x03\x68\xe9\x00\x34\x19\x07\x64\xc4\xfe\x86\x27\x93\x00\xb7\x99\x24\xa5\x3d\x77\xa4\x9a\x46\xac\xe4\x7c\x92\x9c\xe8\xd7\x10\xab\x8c\x9e\x4f\xd2\x59\x4a\x2e\x57\xc5\x17\xea\x9c\xde\xd1\x30\xd3\x84\xe2\xf2\xf4\x96\x7d\xe5\xa2\xdb\x98\xee\x1c\x07\x3a\x84\x88\x28\xe5\x9b\xbc\xe2\xef\xd4\x00\xbc\x73\x23\xe9\x67\x98\x13\xd1\x0f\xf4\x70\xc8\xa1\x7b\x47\xfd\x32\x67\x85\x4c\x62\xc8\xed\x98\x65\x7e\xa8\xb8\x11\x42\x9f\x3f\xda\x0b\xe3\xf7\xc9\x12\x37\x8c\x60\x10\x4b\xec\x4e\xee\x90\x06\xaf\x74\x3d\xb3\x4b\xcb\xf3\xc9\xe3\x21\xcd\xa2\x60\x10\x77\x0c\xb0\x66\x1d\xc4\x61\x46\x2c\x76\x7c\xaf\x82\x0c\x4c\x67\xab\x25\xb1\x4c\x77\xed\x3f\x73\x86\x9a\xda\xd7\xf2\x8a\xa9\xfa\x63\x16\x18\x1e\x81\x0e\x4f\x9f\xd6\xb3\x5f\x96\x34\x79\x1a\x58\x0e\x39\x6d\x1d\x44\xd0\xcc\xe9\x2a\xad\x10\x82\x21\xed\x7d\xaa\x85\x35\x5b\x11\xb9\x73\xc3\x78\x6a\x79\x48\x2f\xb8\xa3\xa1\x67\xcd\x01\x7c\xe2\x57\x0d\xa7\x95\x49\xb7\xe5\xcf\x21\x49\xb3\x15\x66\x53\xdd\xb1\x7e\x7f\x5f\x81\x53\x1c\x2d\x21\x9e\x7b\x94\x33\xe9\x8a\x29\x20\xd7\xbd\x2d\x0e\x66\x9b\x26\x4a\xbe\xaf\x04\x02\xb0\xd8\xdd\x5b\x98\xff\x15\x97\xef\x1c\xbf\xed\xa7\x84\x98\xe7\xd2\x00\x1b\x78\x31\x79\x2e\x5e\xd5\x05\xfc\x2f\xe8\x84\xd1\x25\x21\x1d\x53\xf0\x67\x05\xfb\x3f\x95\x1d\x9b\xff\xa3\x1d\x59\xc4\x92\x9c\xf3\xf6\x49\xf0\x0b\x4f\xe5\x46\xce\xe1\xfc\xe7\xf7\x21\xc3\x08\x13\x24\x86\x08\x90\x55\x57\x30\x06\xc8\x5a\xe1\xd0\xe4\x81\x02\x16\x68\x25\xa1\x7b\x18\xc4\x1c\x73\x3b\x79\xa1\xc6\x1d\xe0\x31\x29\xde\x60\x7f\x5c\x61\xa3\x41\x67\x70\x76\x00\x77\xe8\x10\x6e\x2c\x70\x4a\xed\x9b\x1d\x1c\xc2\xa7\x02\x8d\x88\xc0\x6e\x8c\x8e\xe9\x05\x13\x01\xb6\x56\xfd\x42\xde\xa4\xb0\xda\xaa\x5f\xca\xa4\x56\x2d\x91\xb5\x1a\x79\x2d\x1f\x8d\x93\xca\xfb\x68\x91\xe7\xf5\x6b\xd9\xfa\x35\x51\x9f\xa8\x04\x32\x33\x7b\xdd\xc3\xb1\xe3\xb8\x8b\xb2\x67\x65\xad\x9d\x45\xe1\x82\x32\x44\xae\x8a\x6f\xab\x06\xb0\xdd\x8c\xff\x05\x80\x92\x3d\xd2\x56\xf2\x26\x5c\x92\x25\x1a\x41\x9a\x14\xe7\x08\xd7\x27\x1d\x6a\xc7\x96\x3f\x9c\x7a\x56\xc8\x73\x04\x1e\xb4\x9a\xcd\x46\xa7\x51\x7a\x54\xdb\xff\xb9\xa4\x6d\x40\x2d\xe6\xb2\x5e\x64\x1a\x47\xa5\xfb\xb1\x5b\x32\x10\x8a\x9e\x8a\x5b\x0c\x2d\xfc\x39\x7c\x8c\x16\x8f\x05\x21\x28\xc9\xd8\xf2\xdd\x89\xf4\x0c\x87\x47\x1d\x27\x66\x75\xca\x22\x44\x95\xfd\x97\xde\xc7\xd4\x8f\xdc\xc0\x8f\x1e\xb9\x2a\xe3\x65\x6e\x46\xf8\xe8\xb6\xc2\x6c\x76\xd8\x6c\x3e\xae\xf1\xff\x5c\xd2\x7a\x77\xf5\x58\x8f\x47\x1a\x5d\x56\x68\x98\x6d\xa0\xae\x3f\x5c\xeb\x33\x16\xdf\xb1\x4b\x29\xdf\xf9\xde\xef\x5f\xab\xaa\xcf\xea\xad\x92\xa5\xcc\xc6\x65\x9a\x11\x60\x13\xb1\xe9\x4f\xc0\x62\xb3\xe1\x8d\xad\x70\xe8\xfa\xd9\xd1\x9d\x3d\x79\x74\xd3\x25\xfb\x42\x30\x99\xe7\xec\x03\x9d\x46\x99\x1b\x57\x10\x8d\xfb\xb1\x62\x74\xb7\x2c\x47\x29\xd8\xf0\x0e\x5d\x8f\x1d\x69\xbc\x0b\x5c\x93\x6d\x1d\x76\x1e\xd9\xda\xe7\xc2\x6c\xd9\x34\xe2\x8d\x47\x26\xfa\xbc\x4c\x6c\x49\xb0\x50\x5a\xef\x7a\x97\x8d\xce\x13\x2f\x40\xf7\xcb\x24\x17\x4e\x70\xb9\x5e\xc5\x76\xdc\x62\x1b\x04\xbf\xf5\x35\x9a\xad\x47\x8e\xf9\xd7\x25\xad\x1e\xba\x00\x93\x6d\x98\xdb\xc3\x4e\xa3\x54\xd6\x81\xea\x1f\x37\xb7\x4b\x5a\xbe\x8b\xbf\xc6\xae\x47\x01\x94\xa7\x68\x25\x46\x87\xf3\xc6\xc5\xc8\xb2\x6f\xa1\xcd\x2b\xff\x9c\xc6\x6f\x2d\xfb\x96\x9d\x04\xa4\x18\x51\x4a\x46\x71\x3c\x89\x5e\xaf\xaf\xfb\x34\x66\xc5\x66\xee\xad\x5b\xb1\x83\xf1\x3a\xfb\x65\xfd\x5a\xa1\x39\x10\x7b\x8f\xeb\x0f\x02\x09\x87\xac\x5f\xc6\x06\x56\x88\x7b\x31\x5c\xb2\x48\x11\x42\x14\x89\x45\x86\xde\x7c\x32\x82\x1e\xa0\xc3\x3b\xfc\x6d\x5c\xcc\x0f\x4f\x0f\xac\x13\x71\x75\x89\xc7\xd6\xe2\xbb\x55\xc6\xb3\x0a\x6a\x83\xd7\x85\xda\xeb\x22\xcf\x07\x89\x82\x8b\xc9\x92\xf1\x1b\x44\x89\x2b\x55\x96\x7b\xe5\xd5\xd3\xf9\xf6\x8d\x2f\x3d\x19\xb0\x5e\xc6\xfb\x03\x04\x59\x4a\x0f\x00\xb1\x67\x16\x84\xf3\xae\xaf\x43\x46\x62\x3e\x0a\x93\x1f\xf6\x92\x16\x85\x82\xa6\x07\x41\xe3\x06\x22\xac\xb1\x68\xba\xc5\x1c\xd7\xad\x66\xeb\xb4\xf3\xb4\x95\xfc\x99\x4f\xfb\x92\x48\x35\xe3\xb2\x6a\x89\x65\x55\x7d\xe2\xb2\x5a\xd2\x34\xdf\x46\xc4\x88\x5b\x77\x10\x81\x0b\xbb\xc7\x69\xeb\xa9\xc3\xfd\xe7\x6a\xfb\xa6\x68\x34\x79\xb6\x00\x83\xd1\xe9\xe5\x53\xdb\xfd\x63\x71\xbb\x3c\x3c\x1b\xed\xce\x38\xc8\x76\xf3\xa7\x36\xad\xcf\x1c\x81\x7d\xc1\xa3\x0e\xc4\x43\x5f\x92\x48\x6b\xf6\xe0\x67\x9b\xfd\x6f\x73\xb3\x6c\x75\x5f\x5c\x75\x9a\x2d\x72\xd8\x3e\x6d\xbd\xc6\x02\xeb\xdf\xa2\x75\xf8\xe5\xeb\x5d\xfc\x55\xde\xf8\xbe\x8e\xad\x49\xe5\x5b\xc4\xaa\xb0\x03\x3b\x44\x2c\x78\xbb\x44\xea\xd5\x5a\x1d\x9e\x48\x9a\xa3\x30\x18\xbb\xd3\x31\xb9\xe8\x92\xc6\x34\x1e\x05\x61\x54\x81\xf4\x41\x50\x36\x02\xf3\x62\x78\xc7\xe6\x62\x7d\x9d\x5c\x45\x14\x95\x35\x37\x22\x3c\x1d\x83\xcd\x4d\xab\xc3\xe0\x8e\x86\x3e\xee\xd6\x16\xd9\xef\x1e\xac\xa1\x7d\xc9\x73\x6d\xea\x47\x14\x21\xc4\x6c\xcb\x27\x7d\xca\x28\x0d\xc0\x3d\x81\xe3\x70\x9e\xb6\x9b\xad\xf3\x6e\x8b\x0c\x5c\x8f\x56\x9e\x3d\x2b\x4c\x23\x84\x6a\xb5\xe3\xc2\xee\xb3\x67\x9e\xdb\xaf\x84\xb1\x43\x27\xc5\x02\x44\x39\x02\xcc\x78\xc6\x7b\x7b\x6c\x4d\x48\xd0\xff\x46\x6d\x99\x70\xe2\xcc\x9a\x4c\xd8\xaa\x06\x25\x9b\xa3\xed\x39\x3c\xb8\x17\xf0\x15\x24\x97\xca\x78\xce\x38\x74\x42\x7d\x88\xa6\x13\x3e\xda\xf0\xcc\x03\x56\xea\x9e\x9e\x1e\x46\xb4\x71\xd4\x61\x0d\x63\x6e\x25\x5f\x13\x63\x89\xe2\x29\x8a\xfe\x1d\xb6\x5f\xf2\x4f\xc4\xdc\xfb\x41\x1c\x1a\xd9\xa1\x3b\xc1\xb0\x23\x32\x9a\x8e\x2d\x1f\x9e\x9c\x60\x6f\x52\xbf\x14\x0c\x67\x53\xa9\x12\xba\x80\xd1\xfe\x20\x43\x8f\x8d\x9d\xcd\xe5\xd1\x29\x2b\x94\x0c\xda\xf5\x27\x53\x08\xd1\x0a\xa6\x31\xfb\x2d\x41\xc1\x4a\xcb\x9b\x92\x7f\x48\x3d\xb9\x94\x6e\x94\xb1\x1d\x0e\x34\xc8\xb8\x4f\xd8\xc6\x32\x0a\xc2\x58\xeb\x2d\x9a\xf0\xdd\x48\xe7\x57\x99\xa3\xc6\xc1\xd7\x0e\xed\x4f\x87\x43\x0e\x4c\xcf\xfa\x21\x52\xff\x2a\x64\xf6\x54\xa2\x1c\xa7\x96\xb7\xc9\x46\x2a\xbd\xcb\xe3\x80\xd8\x10\xac\x13\x88\xfc\x21\xc8\x29\x26\x92\xae\x1f\xc5\x96\xe7\x51\x90\x33\x48\x33\xa1\xb6\x06\x79\x24\xa4\x67\xfb\xfa\xba\x78\x06\xb8\xa5\x74\x42\x2c\x9f\x4c\x7d\xfe\x4a\xec\x10\x09\xca\x28\x42\xd0\x71\x2a\x24\x6a\xb6\xe5\x79\xc1\x8c\x29\x2b\x10\x0e\x67\xf9\x14\x32\x9c\x44\x54\x60\xab\xf3\x04\xd7\x98\x4a\xd6\x83\xc7\x41\xf0\x62\x84\x7e\x00\x5b\xf7\xad\x88\x7e\x25\x7b\xc8\x63\xd1\xa1\xf3\x60\x46\xa2\xb9\x6f\x43\x6d\x78\x92\x90\xb5\x99\x82\xe2\x53\xea\xa0\xb3\x27\xde\x13\xe6\xbe\xfd\x35\x75\x33\x68\x8b\x4a\x23\xea\x4d\x68\x08\xdc\x0f\x29\x2b\xc9\x64\x44\x27\x59\x51\x93\x9c\xcb\x5c\x2c\x5c\x9e\x22\x1e\xc7\x90\x16\x66\x94\xc1\x37\x3f\x48\x30\x89\xbf\xa2\x20\x36\x1c\x07\xf6\x79\xcb\x4b\x2a\x33\x11\x44\xab\x36\x2c\xad\x60\xa2\xc0\x33\x81\x4b\x10\x3b\x19\x79\xe9\x05\xa2\x59\x99\x84\x41\x1c\xc4\xf3\x09\xc5\xd1\xaa\xa2\x2a\x3b\x20\xa1\x30\xdb\x03\x0e\x48\x88\x8b\x13\x16\x2a\xcf\x8f\x89\x93\x83\x79\xb1\x19\x37\xd9\x34\x09\x54\xe3\xe7\xe9\x59\xf9\xdb\xdf\xc8\xf3\x14\xf5\xac\x08\x11\xc0\xb6\x83\x63\x20\xa9\xff\xd5\xf4\x79\x48\xbf\x1a\x9d\xf2\xc1\x63\x14\x3b\x15\x6b\x6b\xb9\x42\x78\xca\xcf\x90\xe2\xc3\x13\xb1\x24\x80\x23\x96\xe0\xa3\xb2\x43\x0a\xa2\x81\xc4\x7c\x3a\xe3\x1b\x22\x3c\xcd\x05\x9e\xc3\xd1\xdb\xc3\x21\x75\x40\x82\x09\x4a\xef\xcc\x9a\xa3\xb2\xeb\x03\x14\x8d\xaf\x09\xaf\xe0\x4a\xc2\x80\x64\xf8\x38\x46\xb2\x47\x50\x0a\x2a\x56\x14\xb9\x43\xbf\xf8\xcf\x1f\xe5\xb4\x64\x97\x13\xf9\x00\x9b\x17\x53\xf8\x0c\x74\x52\xb5\x24\x46\xe7\xd0\x63\x9b\x49\x94\xb4\x74\x4b\xe7\xdc\x39\x09\xeb\x96\x2a\x63\x6b\x52\x2c\xde\xd2\x79\x89\xec\xfd\xce\xd5\xd4\xc2\xe7\xcf\xf7\x05\xf2\x82\x87\xc6\x3f\x4c\x2c\x87\x15\x80\x5c\x6b\xcd\xc0\xa1\x8d\xb8\x58\x2d\x55\xe2\x80\xbf\x81\xd6\xb6\x4b\x0a\x7c\x17\x4c\x13\x9b\x5c\x3a\x23\x1d\x3a\x6c\xdd\x4f\x8a\x05\x78\x96\xe6\x5d\xe1\x50\xd6\x08\xce\xff\xa5\x50\x26\x85\x21\xcf\x7e\x91\x08\x46\x31\x8a\x43\xd6\x1d\x76\x94\x55\x42\x3a\xf1\x2c\x9b\x16\x13\xea\x65\xcc\xbe\xb9\xf7\xbb\xca\x84\x4f\xf6\xe8\x8b\x09\x22\x83\x2d\x2c\xb1\x97\xc8\x7d\x44\x2e\xaf\xa2\xe3\x46\xb6\x85\xf0\xb2\xe1\xd4\x8f\xdd\x31\x25\xd3\x89\x63\xc5\x34\xb1\x1f\x09\xcf\x12\xc4\xc3\xb0\xfc\x39\xec\x9b\xb8\x63\xd1\xf8\xe2\x8e\x86\xa1\xeb\xd0\x28\x01\xae\x45\x92\x59\x25\xcc\xbc\x1e\x51\x62\x32\x16\x0c\x91\xae\x96\x8c\xac\x3b\xea\x17\x62\xd2\xa7\xd4\x5f\x2c\xc5\xb0\x66\x0b\xf0\x56\x3b\xe2\x78\xb9\x40\x5c\x48\xa2\x2a\x32\xcf\xf7\x32\x42\xa3\xc8\xa7\x69\x47\x3c\x63\xe2\x2f\x1a\x16\xb1\x59\xb0\x41\x27\x27\x2c\x8f\x07\xe4\xc7\x27\x63\x3d\xdb\x6a\x31\xaf\xfe\x14\x33\x66\xe1\x1a\xa5\xf7\x6e\x04\x17\x07\x39\x13\x56\x44\x5c\x70\xe6\xe2\xcb\x6c\xe6\xc6\x23\xf1\x8a\x27\x4b\x8b\xdd\x8e\x14\x67\x80\xab\x6a\x45\x7c\xe9\x62\xf9\x52\x85\x90\xee\xb4\x8f\x78\xf3\x71\x32\x4d\xac\x8b\x10\xca\xee\x02\x3e\x6e\x18\xcc\x88\xc5\xd6\xee\x24\xa4\x00\xf8\x0a\x5b\x2c\x9b\x44\x36\xa1\xac\xa1\xc8\xbc\x5b\xab\x1a\x43\x32\x03\x62\x8f\x06\x02\x99\x81\xad\xb8\x29\xab\x82\xa4\xc8\x82\xb2\x73\x2a\x13\x23\xb6\x03\x4d\xd8\x21\x8a\xca\x22\x76\x30\x99\xab\x8a\x8f\x38\x18\x60\x34\x3c\xd6\xea\x9f\xc6\xee\xfc\x20\x0d\x58\xb5\x66\xdd\x06\x54\x82\x2c\xba\x72\xce\x78\x6c\x2f\xc0\xa0\x09\x5d\xa8\x93\xe4\x8d\xb9\x0d\x15\xd3\x0a\x4d\x66\x4b\x94\xe8\xc2\x2b\xc9\x33\x93\x4c\x95\xbb\xda\xe6\xc7\x28\x71\x9e\x80\xf6\xf0\x43\x0b\xe2\xf6\x40\x65\xb7\x55\x45\x79\xd1\x74\x46\x39\x66\x48\x56\xed\xab\x16\x31\xae\xe5\xac\xe4\x2e\xa3\xec\xf7\x7f\xb1\x3e\xc5\x3a\x2a\xd4\xa9\xa4\xe7\xa9\x04\x59\xc1\x2d\x99\x4e\x88\x25\xd7\x0e\x34\x30\x74\xa3\x98\x86\xfc\x70\x4c\x2d\x9d\x2e\xd7\xda\x21\x93\x15\x5b\x39\xf0\x0b\x37\x5c\xf3\xe5\xe3\x05\xc1\xed\x94\xeb\xe8\x4b\x64\xb4\x87\xb5\xc0\x99\xcb\x8d\x0b\x11\xee\x8b\x49\x17\x16\x4d\x90\x22\xa0\x98\x29\x54\x9d\x31\xd6\xad\xc4\xca\x94\x8c\xbf\x32\xb2\xa2\x8b\x99\x7f\x19\x06\x13\x1a\xc6\x73\x2c\xa7\x9a\x9a\x14\x5e\x7d\x62\x5f\x7e\xd1\xce\x69\x5e\x46\x66\x1f\x4d\xad\x5a\xec\x36\xb1\x60\x41\x28\xdc\x6b\xf8\xf3\x7c\x16\x03\x78\x12\x2c\x70\xe0\xa5\xf1\xe0\x79\xcc\x14\x68\x97\xa3\x1c\xbe\x8b\x7d\x8f\xcf\x98\xe8\xd0\x8a\xec\xb6\x1c\xc7\xc0\xee\x32\x91\xbb\x9b\xce\x73\xb2\xb7\xb7\x97\x92\x49\xe5\x74\x12\x0b\x2a\x47\x79\x4a\xaa\xec\x6a\x4b\x10\x27\x47\xe4\x3f\xcd\x28\x0a\xa0\x3e\xc2\xa2\xb7\x7c\x07\x60\x0c\xdc\x38\xe2\xdc\x4e\xeb\x0f\x52\xed\x5f\x61\xe8\x39\xe7\x7b\x6a\xc0\x6c\xff\x5a\xbe\x41\x18\x98\xb0\xca\xae\xb2\xea\x29\x0e\xc3\xcf\x3b\xfa\x80\x13\x0d\xc0\xb6\x0a\x06\x39\x87\x04\x6a\xcd\x0b\x37\xc9\x15\x0e\x3d\xd6\xd2\x5f\x2a\x15\x6a\x20\x2f\x2c\x05\x17\xf6\xff\x48\x75\xe5\x54\x72\x0c\xf3\xac\xc2\xb0\xf0\x77\xa5\xb5\x77\x41\x5e\x61\xb3\xcc\xe1\xa1\x98\x44\xe5\xa6\x4b\xe9\xc7\x14\xfb\x02\x3f\x17\x59\x73\x93\x3d\x85\xd7\xc5\x45\xc5\x57\x52\xfe\x81\x5a\x00\xd7\x41\xa6\x82\xcb\x35\x27\x28\x9b\x7c\x16\x13\x98\x38\x3e\xd5\x49\x56\x95\xd5\x8f\x42\x55\xfe\xc8\x1e\xf9\xa7\xd2\x02\x22\x16\x1d\xa5\x51\x97\xe4\x3e\x34\x8a\xe3\xc9\xeb\xf5\xf5\xbb\xb8\x56\xad\x56\x7c\x1a\xaf\x3b\x81\x1d\xad\xdf\xc5\xf5\x7a\x75\x2d\x1c\xaf\x83\x8c\xd6\xd7\x36\x2b\xa3\x78\xec\xad\xd8\x03\x91\xf6\x30\x9f\x47\xc0\xd6\x02\x87\x82\x2a\x94\xe5\x4c\x16\x3e\xdf\x6f\x57\x0b\xaf\x0b\x9f\xa7\xf5\x2d\x7b\xbb\x50\x86\x93\xf6\xbf\xc8\xda\xef\xc4\x71\xad\x71\xe0\x3b\x4a\xb9\x1a\x2f\xf7\xaa\xce\xcb\x59\xac\xdc\x30\xa4\xf3\xb5\x7e\x70\xaf\x14\xac\x63\xc1\xcd\xea\x2b\x5e\xb0\xcf\x0a\x8e\xd6\x63\xa5\xcc\x86\x28\x63\xf3\x32\x36\x2b\x33\x58\x1f\x28\x65\x36\x45\x19\x87\x97\x71\x58\x19\x7b\x3d\x54\xca\x6c\x89\x32\x16\x2f\x43\x59\x19\x4f\xa3\xb3\x0d\x65\xaa\xd5\x7e\x95\x97\x19\xc0\x00\xe9\x30\xa4\x54\x29\xf6\x52\x14\xab\xf1\x62\x43\x56\xec\xc5\xfa\x9a\x52\x66\x87\x37\x57\xdf\xe4\x65\x46\xac\x8c\xbf\xee\x29\x65\x5e\x89\x2e\xf5\x79\x19\x97\x95\xb9\xd3\x86\x6f\x71\x5e\xd6\x76\x78\x99\x6f\xac\x0c\x46\x7d\xae\x81\x7d\x55\x29\xdc\x17\x85\x45\xff\x6f\x59\xe1\x38\x98\x64\x4a\xda\xbc\xa4\xe4\xaa\x27\x4a\x7a\x74\xa0\x16\x74\x04\x49\x31\x8e\xb1\xd2\x7e\xaa\x2c\xe5\x65\x37\x04\x51\x1f\x58\xec\xfa\x74\x0d\xe2\x64\x95\xa2\x03\x2c\xba\xd1\x17\xb3\x11\xb0\xa2\x91\x6d\xf9\xb5\xa4\xd4\xcb\xaa\x28\x25\x18\x34\x11\xa5\x36\x94\x52\x42\xdc\xaa\x62\xd4\xdf\x45\xa9\x2d\xa5\x54\x5d\xd0\x12\x9d\x0b\x45\xa9\x97\x4a\xa9\x0d\x51\x4a\x48\x52\x24\x4a\xbd\x52\x4a\x6d\x0a\xa6\x08\x5a\x31\x0c\x94\x0e\xe2\xb5\x58\x95\x94\x97\x5c\xe8\xb6\xa4\x14\x4c\x59\x41\x98\x8c\x54\xc9\x6d\xc1\x3b\x51\xf2\x4e\xe1\xb3\x5e\xf4\xa5\x20\x2a\x5a\x9f\x89\xb9\xd3\xcb\xed\x08\xbe\x88\x65\x78\x0f\xe2\xc5\x41\xa0\xd6\x30\xa7\x94\x2c\xcd\x85\xb1\xbe\x2d\x3a\x30\xc7\x31\x45\xd1\x1a\xfd\x3e\xb5\x14\xb9\x7d\x69\x89\xa2\x5b\xbc\xe8\x03\x5f\xdf\x56\x4c\xc3\x4c\x69\x14\xca\xea\x86\x2d\xa6\xe7\x9f\xac\xf4\xc4\x55\x8a\xd8\x82\xa0\x28\xf2\x07\x2c\x96\x20\xce\x10\x73\xf8\xd2\xb3\x36\x78\xc9\x1f\xc0\xa6\xd0\x8d\xdd\x68\xb4\x36\x09\xa6\xea\x46\xf4\x92\x8a\x85\xfa\x92\x97\xfe\x6f\x58\xcf\x01\x0a\xed\x0f\xe5\x11\x60\x1f\x29\x3c\x79\x17\xde\x7a\xdc\x2e\xdc\x58\x69\x17\xe6\xc3\xd2\x77\xe1\xfa\x46\xe1\x35\xd1\x79\xf0\x1f\x66\x1e\xa8\xe3\xbb\xea\x92\x46\xb7\xd9\x6e\xe3\x8d\xc1\x0f\x84\xc6\xb3\xea\xd1\x25\xb2\x3b\x2c\xeb\xf2\x34\x2a\x94\x31\x5e\x53\x79\xda\x9a\xc6\xf6\xd3\x39\xbb\xfd\x38\xce\x6e\xae\xd4\x4d\x87\x75\xe9\x29\x7c\x4d\xca\x6f\x56\x45\xf9\x3e\xe5\xe5\xff\xce\xca\x6f\xac\x6f\x2a\xa5\xb6\xfa\xbc\x54\x6d\x43\xac\xc2\x4f\xac\x54\xc1\xfd\x56\x20\x9e\x3b\x04\xef\x25\x52\xc4\x28\x80\x61\x00\xc6\xb3\x78\x44\x18\xd9\xc1\xe0\x4d\x49\x21\x64\xcb\xe6\xc4\xd6\xf4\x99\x11\xaa\xad\xd7\x95\x42\x8e\x28\xf4\x52\xec\x0d\x5f\xd4\x35\x4f\xfa\x56\xf8\x4c\x5f\x9a\x7c\xc8\x3b\xea\xda\x8c\x67\x01\x5b\x24\x91\xbe\x42\xb1\xe4\xf6\xb6\xba\x44\x07\xfa\xd2\xe4\x1d\xb4\xd5\xb5\x59\x5b\xdf\xd4\x57\x24\x2f\xb4\xa9\x2e\x49\xcb\x9e\x72\xac\x02\x55\x68\x0f\x5d\xdf\xff\x99\x45\xf9\xf2\x71\xa2\xd3\x4c\x81\x6e\xe5\x97\xdc\x5a\x49\xc8\x06\xd8\x7d\x5d\xcc\xa4\x40\x54\xed\x4d\x4d\x20\x1a\x05\x32\x1d\x7b\xd6\x34\x36\xcd\xb9\xb3\xad\xce\x79\xe1\xc2\x50\x56\xb2\xdf\xde\x52\xa7\x9e\xd1\x0d\x31\x09\xa5\x28\x29\xe7\xc0\xb1\xd5\x39\x28\x4c\x25\x55\x5d\xe7\xc3\xc2\xf4\x95\xaa\xf4\x15\x68\x81\x4f\x9a\x49\x9c\xe8\xa6\x2a\x4e\x05\x2b\xdb\xdd\x44\xa0\x06\x9a\x40\x15\x02\x43\x59\x39\x34\xba\xa5\x4a\x16\xa3\xab\x0f\x2d\x11\xaf\x41\xde\xd0\x32\x32\x16\x52\xff\x27\x76\xa7\x9d\xc7\x89\x58\x67\x35\xc1\x81\x3e\xfd\x59\xdb\x13\xad\xaa\xdb\x13\x63\xda\x30\xb4\xee\xa8\x69\x93\x4a\x14\xdf\x4f\xa8\xa7\x68\x72\x23\xa7\x8c\xbe\xd4\xa4\xd1\x2e\x10\x9b\x3a\xae\xe7\x59\x26\x71\xb4\x5e\xaa\xe2\x18\x71\xd7\xf1\x68\x3e\xee\x07\x1e\x29\x3a\xc1\xb4\xef\x51\x12\x95\xcc\x72\xf4\x4a\x93\x23\x29\x73\x26\x31\x7a\xa5\x89\xd1\x54\x8c\xd2\x24\x45\x3b\x9a\x14\xd1\x6c\x51\x9a\xd9\x17\x41\x8c\x16\x8b\x50\xd3\xf2\x2d\xc7\xb5\xfc\x27\xcb\xd2\xab\xc7\xc9\xd2\xbb\x47\xc8\x12\xb1\x79\xe7\x74\xa1\x7a\x9a\x90\x50\xfd\x24\xb3\x0a\xc4\x76\x43\x7b\x3a\x1e\x78\xf4\xfe\xa7\xc5\x85\x5a\xda\xee\x45\x73\x88\xcb\x19\xa2\xe2\xf0\xfd\x07\x1e\xab\x5a\x79\xd3\x3e\x36\xd8\xd4\xf6\xb1\x20\xa7\xc2\xbf\x91\x10\x0e\xfa\xe9\xbd\x2c\xc5\x12\x55\x18\x8f\x68\x38\xfe\x09\x19\xac\x55\x1f\x27\x84\x27\xab\x99\x13\xa0\x53\x79\xb2\x27\x77\x88\xbf\xaf\xba\x43\xfc\xf5\x87\xa8\xa3\xe9\x4f\x85\x2b\xc3\xd1\xf8\xd7\x1f\x77\x03\x4d\x91\x4a\x1d\x62\x29\x21\x71\x06\xaa\x90\xd0\xe8\x81\xc6\xd9\x9d\x0a\xd0\xe5\x7e\x46\x3a\x6a\x8f\x93\x8e\x8f\x2b\x49\x87\x8b\xbd\xfa\xb3\xce\xbb\x9f\x11\xa7\xbf\xe0\xfc\x93\xdb\xc7\x97\x3c\xbd\x49\xd9\x9b\x74\x1d\x6b\x9a\xdd\x85\x15\xa1\xab\xa6\x85\x2e\xbd\x81\x24\x32\x57\x4f\xcb\xdc\x9f\xb1\x2d\x51\x5d\xc5\x72\xd5\xa2\xaa\xd0\x9d\x07\xe1\x8c\x0e\x5d\xcb\x5f\x3f\xb0\x7e\x4a\x9d\xaf\xd5\x1f\x27\x7d\xad\x95\xf5\xf9\xed\x95\xe4\xd4\x97\x03\x71\xac\xac\x62\x9f\x08\xa0\xdc\x93\xfe\x9e\xda\x93\x8c\x1b\xd8\xb6\xbe\x81\xb5\x92\x6b\xa1\x71\x0f\xdb\x49\xef\x61\x51\x1c\x06\xb7\xf4\x4f\xba\x08\xfc\x23\x77\xb7\x53\x2e\x02\xfa\x01\x6a\x2d\xde\x1a\xb7\x75\x29\xa5\xa6\xe1\x29\x92\xba\x93\x96\xd4\xf4\xf0\xfe\xd2\xcb\x40\x77\xf2\x93\x12\xba\xf1\x38\x09\xbd\x59\x49\xee\xa2\x89\x41\xdc\xfe\x35\xfb\xa3\x55\xd3\xa4\xf5\x79\x81\x00\x06\x63\x4c\x1d\xa3\xb0\xd6\x34\x61\x3d\x2f\x90\xd8\xf5\x1c\xa3\xac\xf6\x07\x9a\xac\xbe\x51\x08\x9b\xc4\xaa\xaf\x6d\x7e\xa9\x79\x4f\xa4\xa9\xa6\x49\x93\x9f\x69\x5f\x11\xa6\x97\x9a\x30\xa5\xb6\x74\x4d\x46\x66\xd4\xf9\x29\x19\x79\xe4\x83\xcd\xcb\x95\x77\xb1\xb7\xab\x49\x13\xf6\x3f\x77\xf3\x7a\xa5\x6d\x5e\xad\xec\x71\xf5\x6f\x69\xc1\x58\x69\xe3\xfa\xdf\x69\xc1\xe8\xce\xdc\x28\x7a\xba\x38\x3e\xd2\x72\xbd\xb7\xa2\x90\xb9\x51\x94\xb7\x61\x49\x2d\xe7\x3f\xf2\xb4\x9c\x27\xde\x4b\x5f\x69\xe2\x98\xbd\xa8\xfd\x3b\x5c\x49\x93\xf2\x83\x8c\xce\xf5\x55\xd7\xb9\xfe\x9c\xdb\xeb\xbf\xc1\xdd\x64\xa5\x0b\x2c\x84\x68\x50\x8c\x08\xa9\x58\x8e\x53\x2c\x60\x4c\x8a\x35\x75\xdc\x60\xbd\x4f\x3d\xaf\x50\x26\x05\xfc\x2b\x18\x0e\x77\xfb\x56\x44\xb7\x37\x0b\xe5\x67\x85\x5e\xdd\xf1\xaf\x66\x8d\x66\x43\xfe\x1c\x8c\xbe\xbf\xdf\x3a\x81\x5f\xcf\x0e\xef\x5a\xdf\x3e\xee\xbf\x1d\x1e\xd6\xfb\x1b\xc7\xae\xf5\xe1\x0c\x8b\x7c\x6c\xbe\x94\xc5\xdf\xda\xfb\xf8\x4b\x73\xb3\x40\x5e\x3c\x2b\x34\xae\x5e\xf9\x37\xb5\xb3\x86\xfa\xb3\x69\x79\xd3\xee\xb0\x05\xbf\xd3\xa8\xbd\xd1\x6a\x6e\xac\x67\x7e\x76\x6e\x0f\x9c\xf1\xab\xf9\xc7\xb1\xf7\xf0\xf6\x5d\xa3\xd1\x38\x1c\x4d\x80\xa0\x7d\x34\x9c\xf6\x36\x8e\xfd\xf6\xd1\xfd\xe4\xa3\x77\x73\x67\x8f\x8f\x27\xf6\x7c\xff\xb8\x7d\xd0\x9e\x9d\x1d\xdc\xce\xce\x1f\x1a\x5b\xd8\x4c\xeb\x50\x10\x38\xb9\x3a\x3e\xb8\x1e\xb6\x70\x58\x07\x87\x67\xed\xb3\xf7\x8d\xea\xf1\xfe\x35\xf6\xb0\xd1\x78\xd7\x68\xec\x0f\x8f\x9b\xb7\x17\xb7\xf5\x9b\xe3\x13\xeb\xfd\x55\xd0\x1d\x6d\x8d\x8f\x3b\xed\x6e\x77\xec\x79\x67\x57\x33\xf7\xc6\xbd\x72\xed\xab\x8f\x1f\x37\x67\xf7\xf7\xa3\xd1\xb7\x6f\x07\x6f\x8f\x8e\x8e\x2e\xce\xda\x07\x9d\xdb\x43\x56\xbb\xd1\x6c\x9c\x34\xc6\x17\x40\x30\x78\x71\x73\x6c\x45\x9b\x5b\x37\xf7\x43\xff\x9b\x7f\x32\xbc\x78\xef\x5d\x5c\x9c\xd8\xc3\xfd\xcd\x49\x67\xf3\xe0\xf6\x78\x76\x77\x35\xfe\x58\xdf\x1e\xc7\x27\x37\x61\x3f\xda\x9c\x1c\xbf\x1b\x9e\xbf\x7f\x77\xd5\x68\x34\xda\x8d\x77\xad\xe1\x68\xd4\xe9\x74\xbb\xcd\xa3\xc3\xc3\xa3\x93\x36\x10\x6c\x7f\xfc\xf8\xf1\x63\x30\x1c\x8d\xee\xef\xe7\xf3\xe6\x91\xef\xbf\x6d\x9f\x9c\x7c\x77\x87\xc3\x61\x30\x9f\x37\x9b\x07\xbd\x83\xd3\xc9\xe4\xf8\xfc\xe2\x62\x3a\x0e\x82\xcd\xcd\xed\x6d\xd7\xad\x56\x5b\xed\xd3\xd3\x7e\xaf\xdb\xbd\x9d\xdd\xd7\xae\x6f\xbe\x85\x61\xf5\xe8\xc3\x87\xfb\x07\x20\xf8\xf0\xcd\xf7\xfd\xb7\x97\x17\x17\x94\xda\xf6\xce\xe6\xf1\xbb\xdb\xf3\xf7\x8d\x77\x8d\x21\x63\xda\xbb\xe1\xc7\x9b\x9b\xfd\xfd\x66\x93\xf5\xe0\xf0\xa4\x7d\x62\x59\x1f\x6d\xd6\x50\xfb\xe0\xdd\xed\xe1\x55\x83\x31\x71\x08\xfc\xdd\x7f\x7b\xdb\xe9\x1c\x03\xc1\xa8\xd3\x3b\x8d\x3a\x0f\xe7\xd5\x6e\xe7\x72\xc7\xbd\xef\xb4\x1e\x3e\x74\xce\xaa\xd7\xbd\xeb\x56\xed\x9a\xfd\x38\xd7\xb5\x0f\xce\xf8\xc3\x07\xc7\x67\xff\x6a\x37\xe3\xf6\x75\x7f\xfa\xb6\x76\x33\x6d\x5f\xf7\xeb\xed\x6b\xe7\xd5\xe6\xf5\xe8\xa8\x7d\x03\xff\x80\x20\xfb\xe5\xc5\xdb\x8d\xc1\xab\x0d\xf6\xaf\x3a\x3c\x3f\x7a\x77\xdd\x68\x36\xf6\x1b\x27\x8d\x6f\x17\x37\xfd\x6f\x27\x56\xdb\x3d\xfa\x7e\xea\x5e\x58\xed\x83\x51\xdb\x8a\x1a\xc3\xfd\x5b\xd6\xfb\x46\xb3\x71\x7c\xeb\xb6\x27\xb7\xdf\xcf\x8f\x27\xe3\x9b\xef\xe1\x78\xdc\x07\x82\xf1\xd8\x0d\xe3\xf1\xc6\x69\xe4\x3e\x9c\x46\xc3\x79\x6b\xf4\x7d\xc6\xa4\x61\x1f\x26\x9f\xfd\x9c\xec\x4f\xc6\xdf\x6f\xcc\xff\xc6\x37\x37\xde\xf8\x5a\xfe\x03\x82\xea\x07\x79\xff\xde\x1d\x7d\x6b\x9f\x0c\xf7\x1b\x8d\xe1\x7e\xe3\x7e\xa3\x65\xdf\x6f\xb4\x6e\x3b\xd7\xed\xdb\xfb\x8d\x76\xb4\x3f\xc3\x59\x9f\x37\x1a\x0d\x20\xc8\x46\x77\xe5\x3e\x1c\xda\xdf\x3a\x6f\xed\x87\xde\x5b\xfb\xe1\xe1\xad\xfd\x70\xff\xd6\x69\xf5\x8e\xbd\xd6\xc3\xf9\xab\xd6\xec\xb2\xd9\xa8\xdd\xec\xb3\x0e\x0f\x1b\x6d\xec\xf6\x7e\xe3\xac\xf3\x70\x68\x77\x1e\x8e\x19\xef\xaf\xdc\x8d\x9e\xfd\xed\xfa\x03\xae\x94\x87\x8d\x0f\x76\x75\xe3\x03\x63\xfe\xf5\x63\x7e\x3e\xbe\xc5\x99\x66\xac\x69\x1e\x39\x37\x93\x9b\xef\x40\x70\xd8\x18\x3e\xdc\x1e\xb5\x70\x32\xb0\xfd\x8f\xc1\xbb\xd1\xc1\x41\x43\x08\xf0\xbb\x46\xa3\xed\x8e\xb6\x9a\x4d\xab\x7a\x1c\x3e\x3c\xf4\x6e\x2f\xc6\xd3\xf7\xc3\xef\x9d\x6e\xbf\xba\x73\x74\x7c\x7d\x1c\xf9\x53\x6b\xfc\x71\xbc\x71\x89\x2b\x85\xc9\x5f\xff\x6c\xf3\x66\x73\xeb\xfe\xe1\xc1\xf5\x4f\xc6\xf6\xfb\xe1\xd8\x69\x5a\xf6\xce\xd6\xf1\xc1\xf1\x77\x2f\x38\xf6\xdf\x8d\xfd\xcb\x0b\xda\x39\xe9\xef\x6f\xd7\x27\xd5\xc9\xe4\xe1\x61\xe4\xfb\x7e\xe3\xe5\xd1\xd1\xfb\x23\xdb\xde\xd9\x9a\x54\x27\xc1\xdb\xef\x8e\xf7\x11\x08\x32\xca\xef\x9d\xa6\xb5\xf5\xdd\xdd\x3a\x3c\x8e\x1f\x1e\x82\xf1\xd5\x78\x4e\x6b\xd3\xeb\x6e\xdf\xde\xd9\xdc\xda\x62\x0d\x71\xe1\xff\x7e\xbd\x6d\x3f\x44\xad\xad\xcd\x9b\xfb\x87\x87\xc0\xb7\xc6\xf5\xe9\x56\xf3\xba\x6e\xdb\x3b\x2f\xb7\x6e\x8e\x1f\xa6\xb8\x52\xde\xf9\x23\x65\xa5\x20\x81\xa1\xd7\x7c\x57\xfb\xb8\xdf\x80\x1d\xac\x33\xaa\xef\x7f\x3b\xf2\x3f\xb6\x87\x83\x8f\x9b\x47\x1f\x47\xef\x46\x13\xf7\xa8\xf7\xd6\xef\x5e\x1e\x4c\x2e\x86\x67\xf6\x70\x32\xd9\xdf\x3e\xff\x76\x7b\x73\x02\x04\xbf\x7f\x3c\x7f\x77\x35\xba\xf5\x27\x1f\xba\x4d\xb6\x05\xc1\x5c\x36\x9a\xad\xd6\xe1\x71\xbb\xfd\xf1\xea\xea\xea\x56\x6e\x00\x47\x47\x47\x27\xed\xb6\x45\x6d\x7b\x18\x7c\xff\x7e\xd2\xed\xba\x6e\x78\x72\x72\x7a\x79\x76\x16\x45\x51\xb4\x33\x9b\x03\xc1\xf9\xf6\xc3\xc1\xc3\xb7\x30\x8c\xce\xce\xde\xbd\x9b\xcd\xee\xe3\xf3\xe3\x93\xd3\x83\x0f\xd7\xd7\xe3\x8b\xf3\x98\x5a\xd4\xde\xde\xdc\xea\x1e\x4d\xbd\xd8\xb9\xb1\x4e\xb6\xdf\x5f\x5d\xdd\x06\x93\x49\xb7\x51\xbd\xd9\xe7\x3b\x4e\x73\xff\xf6\xb6\xd5\x3a\x3a\xfa\x78\x75\x05\x04\xa1\x07\x93\xd1\x7c\xee\x8e\xfd\xa0\xdd\x3e\x49\xcb\xdc\x4e\xb3\x77\xd9\xea\x6c\x74\x52\xff\x2e\x77\x3a\xf7\x9d\x96\x7b\xdd\x69\xb9\x1f\x3a\x67\x6e\xad\x77\xf6\x50\xc3\x0d\xf6\xfa\xf0\xfa\x83\x33\xae\xdd\x78\x1b\x1f\xfa\xf1\xe6\xb5\x53\x7f\xfb\x61\x50\xdb\xd8\x18\xd4\x36\x6b\x83\xc3\xcd\x1b\xef\xfd\x4d\xf6\x5f\x93\xef\xd8\xd0\x62\xab\xdd\x6e\x7f\x7c\x07\xac\x01\x82\xa3\x9b\x8e\xfb\xed\xe0\xed\x5b\xbf\x7d\x7e\xf1\x6e\x38\xde\x97\x7c\xe4\x6b\xa2\xb3\xd1\xba\xba\xdf\x6a\xd9\xf3\x9b\xd6\x6d\xf7\x65\xfb\xb6\xe7\xb4\xa3\x87\x41\xbb\xda\x5b\x3f\xab\x56\x3b\xe7\x87\x57\xbd\xce\xf9\xd5\xfd\xb5\x53\xed\x5c\xd7\x80\x60\xf5\xfe\xc6\xbb\x7a\xb8\x71\xaa\x0f\xd7\x5e\xb5\x76\xed\xd5\x3e\xdc\x78\xf5\xfe\x8d\xf7\xfe\xa5\xf3\xea\x7d\xff\xe6\xd5\xc6\xba\xa3\xff\x7b\xe5\xd4\xf8\xd6\x3f\x6c\xbc\x6b\x0e\xdb\x0f\xe3\x6e\xdb\x1d\x77\xdb\xdf\xf8\x11\xb0\x59\x75\xbb\xfb\xed\xee\x51\xd8\x68\x37\x6e\x60\x95\x36\x87\x27\xed\x97\xee\x45\x7b\xf3\x5b\xf7\xa6\x7d\xfb\xfe\xa6\x3d\xa6\x37\x37\xbe\x7b\xf3\x7d\x32\xbe\x79\x39\xf9\x6e\xb5\x4f\x70\x1b\x83\x45\xd4\xe2\x47\xe8\xd0\x6a\x7f\xf7\x51\xb0\xdb\xdf\x7d\xb7\x1d\xfa\x6e\x7b\x33\x70\x6f\x6e\x26\xee\xcd\xf7\xef\x53\xeb\x38\x9a\x7f\x7f\x19\x4e\x1f\xf3\xef\x76\x3f\x40\xb1\x69\x06\x8d\x77\x70\xe0\x38\xf3\x63\xf8\x77\xdd\x3d\x6e\x5d\xcf\x8f\x1b\x76\xfb\xe0\xfa\xf6\xb0\x71\x36\x04\x96\xce\x0e\x5a\xf6\xbb\x5a\xfb\xf6\xfe\x65\x3b\xea\x0d\xce\x38\x0f\xcf\x5e\x55\x7b\x67\xaf\xae\x3f\x74\x0e\x0f\x67\xc3\x73\x20\x28\x4e\x30\xa1\x3a\xcc\x8e\x1b\x67\xdd\x97\x2d\xfb\xc1\x69\xdd\x5e\x5d\xb7\xe3\xda\x75\xbb\x56\xbb\x6e\xc7\xd7\xd7\xef\x5e\x2d\xdb\x80\x50\x6c\x94\x9f\x5a\xaf\x73\x5e\x7d\xe8\xee\x57\x8f\x9b\x6c\xa6\x19\x4b\xbf\xbd\x7b\xf7\xf1\x66\xb4\xdf\x3c\xb1\x27\xfb\xcd\xfe\xb7\xda\xc7\xe6\xc1\xdb\xf1\x71\xe3\xfd\xe8\xe2\x9d\x35\xba\xdf\x77\x5b\x93\xfb\xc6\xc3\xc1\xc1\xed\x79\xdb\xef\xbe\x03\x82\xef\xba\xf6\xab\xe9\x71\x7b\x6b\x36\x7b\x78\xd8\x3c\x6c\x07\x87\x57\x9d\xb3\xe1\x66\xd5\x3b\xdf\xdc\x1c\x1e\xd8\x27\xe3\x0f\x2d\xdf\xbb\x68\x8c\xd8\xda\x6e\x35\x0e\x5b\x6c\x30\xf7\xf3\x83\xb7\xad\xa3\xb7\xa7\x17\x5d\x7b\x3c\xec\x9c\x6d\xde\x37\x6f\xea\x57\xf3\x83\x5b\x9c\x94\xc9\xcd\x65\xb7\xdb\xbd\x8d\xbd\xd1\xf0\xe1\xa4\xfb\x7e\xdc\x1a\x5f\x7e\xf3\x4f\x2e\xbb\x5d\x7b\x7c\xeb\xed\x8f\x4e\xdd\x49\xfd\xb6\x35\xbe\x38\x0e\xdf\xc1\x22\x7f\xcb\xe4\xb3\xb9\xfd\xf6\xdd\xed\xfe\xd5\xfe\x3b\xb6\xa4\x8e\xda\x67\x57\xc3\x60\x32\xba\xe9\x74\x71\xb7\x71\xfd\xf1\xed\xe1\xe9\xc9\x19\xbd\xb2\xaf\x6e\x83\xad\xc9\xd6\x7d\xef\xe1\xdb\x6d\xfb\xed\xc7\xde\xc9\xd9\x3b\xcb\x19\xde\x37\x26\x93\xce\x7d\xef\xc1\xf5\xdf\xbe\x6d\xf7\xce\xde\xd1\xf7\xf6\xf0\xd5\xfe\x3e\x53\xcf\xda\x67\x4c\xca\x0e\x1a\xef\xdc\x61\xf5\xa6\x75\x85\x67\x4a\xab\x69\x37\x36\xdf\x36\x6e\x1f\xb6\xce\xaa\xdd\xfb\x77\x5e\xf7\xfe\xfc\xf0\xe1\xbe\xe3\xd5\xee\xcf\xcf\x6b\x5b\x57\xd5\x87\xde\xbb\xda\xd5\x75\xe7\x7a\x7e\x7f\x7e\x5d\xbb\xee\x5c\xd7\xef\x6f\xce\xaf\xfb\x1f\xbd\x5e\xe7\xfc\xbc\x37\xe8\x5c\x5d\x77\xce\x0f\xaf\x3b\xd7\xd7\xd5\xad\x1b\x9c\xe5\xeb\xfe\x75\xfc\xf0\xd0\xf1\xea\xd7\x9d\xeb\x8d\xce\xcd\x75\xad\x7f\xe3\xd5\xef\x6f\x5e\x5c\x6f\xdd\xd4\x36\x1e\xce\xcf\xdf\xb3\xcf\x1c\x46\xe4\xba\x56\xdb\xba\x79\xf5\xe1\xd5\x4d\xfc\xe1\x66\x28\x1b\xea\x75\x3a\xd8\xd0\xc3\x0d\xce\x72\xed\xe5\xc7\xda\xd5\x87\xce\xf5\xd5\xf5\xb5\xf7\xfe\xba\x73\xfd\xfe\xc3\x8d\xf7\x7e\xe0\x5c\x5f\xff\xff\xd8\xfb\xf3\x66\x37\x91\x34\x51\x1c\xfe\xbf\x3e\x85\xa6\xdf\x88\x6b\xd7\xc8\x65\x10\x68\xed\x1a\xf7\x44\xb2\x89\x45\x08\xb1\x0b\x3a\x3a\x2a\xd8\x04\x88\x7d\x47\xcc\xf4\x77\x7f\x43\xe2\x1c\x2f\xe7\xe8\xd8\xc7\xae\x9a\xe9\xba\x37\x7e\x8e\xa8\xb2\x0c\x99\x4f\x3e\xf9\xec\x4b\x4a\xb9\x31\x37\x72\x7f\x1d\xbc\xdf\x23\x92\xa6\x69\xb6\xa9\x21\x27\xad\xd6\x4c\x73\x33\x3f\x4a\xda\x51\x73\x63\xe4\xe4\x6a\xba\x64\x4e\xf5\x8d\x47\xcd\x4f\xe6\x66\x54\x3d\x29\xb8\x61\x30\xdb\x68\xb3\xeb\x60\xc3\x35\x63\xc3\x76\x67\xe8\x25\xc8\x93\x24\x2e\xb2\x22\x2c\x92\x30\x2c\x8a\x22\x29\xea\x04\x29\xca\x62\x66\x67\x4d\x58\x64\x45\xc9\x55\x89\x57\x94\xc5\xc0\x55\xc5\xb4\x2c\x93\xa1\x1c\x55\x2f\x0c\x8b\xb2\x08\x8b\x2a\xbc\x14\x45\x78\x29\xab\x62\x58\x15\xe1\x50\xd6\x45\x58\x34\x05\xca\x55\x25\x6e\x97\x45\x5b\xd6\xcd\x7a\xd7\x5d\x86\xb2\x49\xf1\xa2\x2c\x96\x65\xd5\x8c\xe3\x9a\x02\x2d\xfb\x94\x2e\x9b\x33\xb6\x1e\xc5\x26\x4c\x77\x79\xd1\x16\x4d\x91\x2c\x9b\x64\x55\x36\x29\xcd\xd7\x09\xec\x64\xcb\xb2\x68\xc3\x72\xd7\x95\x04\x57\x35\x50\xd9\x84\x53\xd8\x95\x29\x49\x3b\x1e\xdd\x98\x42\xcf\x1a\xa2\x99\x1b\x64\x76\x72\x17\x0b\x7b\x33\xd7\x2f\xb6\xd2\x40\x37\x80\xe5\xa9\xe5\x1c\xaf\x59\xc2\xad\xbf\x18\x90\xb5\xd3\xd8\x66\x4d\xef\xf6\xcd\x76\x35\xad\xa7\x6b\x7b\xe0\x86\x4d\x20\x30\xcb\xd8\x5c\x14\x88\x6d\x15\x45\x69\x36\x45\x31\x6d\x2e\x76\xd8\x12\xa5\x50\xe3\xaa\xa6\x6d\x8e\xa6\x16\xa3\x83\xeb\x8e\xba\x2c\xb9\x0d\x3a\x78\x82\xbe\xf1\xf6\x59\x51\x16\x4d\x58\xee\xda\x2b\x56\x67\xda\xe9\x93\xb5\xd3\x0c\xc0\x39\xba\x15\x72\x8e\xdb\x63\x6a\x73\x35\x8e\xce\xce\x97\x83\xc3\x0e\x48\x6b\xf7\x29\xbd\x12\x9a\x03\xe2\x5a\x42\x4b\x80\x94\xbe\x01\x3c\x77\x57\x0d\x20\x6f\x1a\x40\xae\x73\x90\xc9\x64\x09\x32\x30\x07\x22\xd8\x32\x9e\xa3\xaa\x3d\x28\x7a\x19\x83\x49\x6a\x57\x30\x9c\xa4\xf2\xa2\x11\x38\xf0\x82\xeb\xa5\x8b\xaa\x92\x79\xc1\x98\x8a\xca\x55\x86\xaf\x31\x8b\x31\xe0\xbc\xb0\x17\x85\x8c\xf2\x8c\x33\x15\x59\xf5\xbd\x20\xd7\x30\xce\x5a\x6e\xd5\x59\xcc\x96\x95\x65\xab\x46\x03\xfb\x39\x66\x72\x96\x8c\xa8\x70\x9c\x17\x85\x63\xab\x7a\xd6\x49\x46\x0f\x2e\x8b\xa5\x14\x0d\x51\xc4\xe6\xb6\xa8\xcb\x49\x54\x8f\xc1\x12\xbc\xe0\x16\x4b\x3c\x22\x22\x96\xcb\x2d\x51\x95\xe1\xac\xd6\xaa\x9e\xbd\x58\xf8\x19\x8e\x28\xa6\xb0\x44\x59\x85\x93\xbc\xbe\x2d\xa4\x47\x54\x54\x73\xbc\x6d\xa8\x3a\x32\xef\x67\x41\x7f\x5d\x28\x22\xe3\x9a\xe5\x1c\xe3\xc1\x8d\x22\x70\xdd\xe7\xd9\xb9\x0f\xb1\x68\x88\x52\x36\x65\x79\xf9\xba\x5a\xbc\x67\xad\x85\x19\xaa\xd7\x85\x12\x43\x90\xe5\xa8\xa8\x63\x93\x95\x07\xf6\xa2\xdc\x16\x32\x04\x41\x8e\xa2\xbc\xce\x59\x4e\xe1\xb6\xea\x2c\xca\xc7\xc8\xa1\x32\x34\x59\x4f\xba\x7e\x96\xf7\xb2\x4d\xe8\xd7\x6d\xb1\x9c\x63\xc9\x72\xd2\xd5\x7d\x9c\xdb\xca\x4e\x9b\x91\x54\xb6\x1b\xb7\x95\xd4\xb5\x66\x96\x56\x81\x6e\x55\x32\x2f\x59\x4b\x35\x64\xb8\xe8\x6b\xc9\x2c\xed\x33\x9d\x8c\x31\x76\x94\xe7\xa5\x25\xca\x3a\x9c\xe4\xbd\x64\xda\xe7\x10\xdd\x26\xf1\xbe\xdc\x5b\xb6\x6e\x25\xf3\x7e\x11\xe4\xb6\xad\xa0\x7a\x92\xee\xb9\xd2\xb5\x55\x35\xbb\xee\x28\x3f\xdb\x36\xaa\x25\x69\xdb\x32\xdc\x48\xbf\x78\xcf\x86\x37\x80\x56\x88\x6e\x67\x09\x57\x67\xa6\xa2\xcb\x61\xd1\xc7\x26\x6b\xd9\x04\x9d\x20\x71\xc1\x0b\xa6\x22\x1b\x51\x92\xf7\x26\x2b\x9f\xf1\xeb\x42\x75\xd5\x58\x96\x6e\x25\x5d\xbf\xc8\x73\x39\x5c\x1d\x13\x24\xdd\x57\xfb\x93\xad\xea\x45\x37\x32\xa5\xcf\x73\x45\x5e\x1d\x75\x3d\x15\x0e\xcd\x49\xd3\x01\x20\x80\x0f\x78\x20\x32\x80\x35\x2d\x42\x8c\x58\x15\xdc\x0c\x29\xb9\x65\xd4\x6a\xc1\x5a\x12\x76\x19\x88\xa8\xc0\xd5\x1d\x2f\xc8\x5e\xee\x44\x3d\xce\xc9\xb1\x36\x90\xe4\x98\x49\xb1\xf6\xf1\x4a\xdd\xbc\x77\x8d\x05\x8e\xeb\x31\x15\x55\xc5\xce\xd1\x74\xeb\x12\xe5\x57\xda\xec\x44\x00\xb2\x07\x43\x8a\x45\x08\xdb\x8b\x24\x47\x68\x11\x0b\x48\xf1\xfa\x6c\xcb\x5c\x05\x13\x18\x66\x2e\x85\xc4\x18\x39\x60\x61\x44\x6d\x79\x91\x29\x54\xe3\x2a\x42\xb9\x24\x9d\xaf\xdc\xde\xd2\xbc\x20\x86\x99\x69\xac\x17\x18\x87\x27\xa4\x4a\x66\x05\x67\xa8\xa2\x1c\x45\x71\x2e\x5e\xe3\x94\xcc\xb9\x7a\x78\x7b\x8f\xab\x3a\x76\xf1\x61\x16\x3c\x64\xa3\x2a\x50\xaf\xd9\xe8\x75\x2d\xde\x30\x7c\x97\x12\x2f\x5c\xb0\x25\x15\x32\x4b\x0b\x83\x14\x75\xbf\xa9\x5d\xd7\x94\xad\xe5\x91\x1a\xa8\xbc\x28\x6d\xc5\x10\x41\x58\x07\xae\x71\x91\x2f\xc7\xed\x8c\xca\x93\xd2\x91\x0d\x3d\xac\x46\x17\x00\x84\x01\x00\x91\xa8\x3a\x92\xc9\xf6\x5b\x31\x06\x2c\xa0\x01\x09\x8c\xac\x97\xce\xc3\x39\x4e\xc9\xed\x8e\x17\x3c\xdf\xd9\x03\xbf\x5f\x04\x17\x92\x08\xcb\x6d\xca\xf0\x82\xe8\xfb\xda\x15\x7b\x1c\xdf\x92\x03\x11\x5d\x23\xb0\x07\x37\xda\x18\x4e\x70\x4d\x10\xb9\x2d\x41\x92\x0c\x93\x9b\x8a\x2c\x8a\x7e\x10\x50\x2c\xb7\x94\x71\x92\x24\x99\x3c\x3f\x8a\xa2\xe8\x87\x41\x4c\x31\x57\xdf\x54\xdc\xf6\xba\xc3\x24\x93\x16\xf0\xc8\xc2\xae\x2e\x16\x07\x74\xf4\x80\x21\x03\x7a\xf9\x1c\xd1\x99\x29\x6d\x39\xc7\xf0\x63\x96\x95\xaf\xd8\x91\x64\xce\x16\x47\x86\x17\xc3\x28\xef\x35\x63\x81\x2d\xb7\x6a\x4c\x95\x15\xc3\x2a\x57\x45\x98\xb9\x01\xc6\x59\x32\xba\xd5\xa3\x3d\x57\x3a\x9a\x61\x2d\xe7\x63\x7c\x98\xbb\x66\x58\x12\xc7\xe3\x8c\x2a\xf8\xda\xb3\x2c\x0b\xce\xae\x1a\x52\x0e\x76\x04\xc0\xbe\xa3\xb0\x0e\xef\x40\x5f\x53\xfb\xd0\x31\x70\x39\x83\x4d\x5c\x05\x11\x70\x80\x8f\xe3\x11\xb5\x15\xae\x74\x57\x8d\x2c\xeb\x17\x8b\x7e\xe4\x32\x8e\xa7\x54\x42\x1f\x04\xce\x32\x8c\x31\x0b\xb8\x06\xa0\xd7\x34\x42\xe0\xf9\x87\xcc\xa0\xcf\x83\x5b\x6a\x41\x3f\x66\x0b\xf3\x2f\xd3\x8d\xc7\x0c\xe2\x06\x70\x4c\x23\x22\x00\xf0\xbc\xbb\xfa\xee\x8a\xa2\x22\x67\xce\x49\x19\x79\x0d\x7b\x19\x50\x5c\xe3\x6d\x8c\xd2\x8d\xac\xeb\xfb\xc0\xb7\xf1\x87\x7a\x03\xaf\x1a\xf2\xf8\x2c\x38\xdb\x0f\xcf\x6e\x00\x79\xc7\x32\x1e\x5f\x3c\x16\x27\x78\xc7\x78\x56\xb0\x78\xcd\xb3\xd1\x38\x50\x75\x59\xda\x47\x5d\x4f\x9a\xfa\x9a\x3a\x58\x4b\x64\x36\x8b\xf3\xb2\x14\x31\xd0\x76\x19\x0d\x0e\x6b\x7a\x3b\x1b\xf9\x89\x5f\xba\x1b\x0d\x49\x30\x07\x00\x3b\x13\x09\x2d\x08\x82\x68\xb8\x01\x63\xe4\x4b\x4e\x26\x6f\x00\xaf\x22\x94\xa9\x7b\x4e\x90\xfd\x38\xa0\x30\x8e\x93\xe3\x41\x89\x72\x2e\xb7\x64\x55\x8f\x0a\xd3\x99\xb1\x32\x17\xea\x71\x1c\x5f\x5d\x80\xa2\xea\x51\x76\x5b\x18\xbb\xe8\xf1\x2c\x66\x8b\x2b\x32\x82\x1f\xc6\xf5\x5e\xb2\x46\x6b\xb3\x44\x66\x08\x49\x31\x9c\x75\xd4\xf5\xac\xaa\xfb\x18\xe3\xe4\x02\x99\x21\x5b\x8e\xdf\x1b\xa6\xac\x26\x45\xdd\xbb\x41\x58\x12\xdb\x08\x8e\xd9\x6a\x77\xdd\xe6\xf2\x12\xc4\x7b\xd3\xb2\x86\xeb\xd6\xab\x9a\xb3\x8f\xba\x91\x5d\xc6\x2c\xe0\x2a\x22\xb2\x95\xcc\x66\x09\xb7\xdb\xbb\xa6\x85\x77\x84\x6f\xa7\x00\xf8\x64\xd8\x39\x86\xa5\xe5\xbb\x03\x0e\x7b\x0f\xc2\x8b\x93\x18\x00\x12\x3e\x4a\x01\x2f\x8a\xbe\x1f\xa8\x57\x91\x59\xe2\x37\xa5\x18\xeb\x36\xaa\xc4\xf1\x9e\xe1\xb8\x63\x39\x85\x3c\x13\x74\x9a\x31\xe3\xe0\x80\x05\xfd\x22\xe8\x61\x72\x4c\x6e\x44\xa1\x71\x1e\xb5\x8a\x54\xa3\x32\xa5\x69\xf1\x36\x2e\xa6\x30\xfc\xaa\x55\x63\x38\x47\x32\x4c\x66\x48\xb2\x1c\x46\xee\x75\x30\x77\x1b\x9c\xe5\xac\x71\x1d\x9c\xc4\x31\xc5\x72\x9c\xa5\x93\xe3\x38\x51\x96\xc3\x24\x8e\x6f\x40\x1f\xf2\x3e\x53\x94\x47\xa0\xec\xe8\x53\x38\xeb\xfa\x82\x61\x32\x53\x12\x6f\x83\x29\x96\xbb\x62\x3a\x0e\x96\x64\xd9\x8f\x82\x1b\xb3\xac\x11\x00\xf3\x08\xf4\xb6\x90\x7a\x0d\x91\x09\xac\xc3\x01\xc0\x0f\x63\x5a\xc1\x72\x07\x8e\x49\x3a\x78\xee\x30\x84\xba\x3d\x33\xb2\x8f\x03\x02\x00\xe0\xb8\x41\xb1\xbc\xa4\xfa\x05\x27\xa8\x94\x91\x75\x79\x2e\x8b\x4e\x80\x85\xbb\x80\x92\xc3\x73\x4c\x57\xba\xc6\x6c\x1d\xd5\x98\x99\x62\x9f\x4b\x92\xa2\x26\xed\x08\x30\xdd\x72\xbc\xaa\x4e\x5d\x03\xce\xfa\x6e\x79\x51\xb5\x28\xcb\x22\x63\x27\x3b\xc5\x65\xe6\x56\x1d\x76\x4d\x52\x70\x00\x3a\x12\x27\x07\x5f\x05\x18\x85\x9d\x99\x2b\x56\x01\x10\x73\xc0\xe1\x5d\xb7\x07\xfd\x11\x88\xe4\x02\x63\xc6\x7c\x19\xf7\x3b\xae\x9f\x4b\x03\x9c\x44\x04\xc0\x70\xf2\x02\x2e\x52\x48\xf9\x3c\x19\x08\x85\x6f\xb1\xa1\xe0\x63\xc6\x71\x4b\x30\xd8\x1c\xf0\x67\x03\x81\xc3\xae\xcd\xf8\x0a\x50\x47\xb7\x9f\x31\x8c\xe8\x63\xf8\x96\xe9\x45\x52\x8d\x18\x7c\x34\x0e\x24\xb2\x98\xcf\xfd\xd9\xa1\xe1\x49\x56\x88\xf4\x98\xf0\xc7\x34\x74\x0e\x00\xa0\x7d\x00\x22\x1f\xf6\x99\x90\xb3\x04\x63\x2e\x9c\xbb\xa9\x48\xb2\xa4\x14\x05\x9c\x42\x2e\x1e\x2a\x4f\x3b\x80\xf9\x60\x0d\x7c\x5c\xa4\x6e\x00\x43\x26\x64\xcc\x6c\x79\xee\xa6\x3c\xf1\x71\x2c\x10\xe3\xcf\x4b\xa8\x38\x78\x58\x05\x8c\xc9\x22\x0e\x82\x83\x89\xb8\x0a\x00\xa2\x21\x74\x0f\x6f\x84\xed\x58\x32\xb5\xa3\xec\x96\x95\x25\xce\x6a\x4e\x48\xfe\x65\x7f\xe6\x97\x1b\x05\x0c\x82\x12\xad\xe6\x6e\xba\x6b\x6c\xaf\xab\x6c\xcb\x4f\xcc\x70\x9f\xcf\x5d\x98\xb3\x2b\xb2\x97\x0d\x88\x41\x8f\xaa\xd2\xb1\x7e\xe4\x99\x6e\x3a\xa3\x8d\xf9\x90\x9d\x6f\x00\x51\x14\x2a\x36\x04\x55\xb7\xa8\x1a\xce\xa0\x73\xd2\xaf\x62\x5c\xad\x0f\xf5\x6c\x0d\x55\xc6\x69\xc3\x47\x3e\xa8\xc0\x56\xc2\x5c\xd4\xe7\xb7\x87\x79\xa5\x4e\x0b\xfc\x60\x60\x97\x8d\x56\x02\xd4\x28\xd8\xac\xd2\x51\x1d\x81\xbc\xd3\x2c\x1c\xf3\x65\xa8\x41\x1d\x7f\x6d\x6e\xa1\xc5\xea\xac\x4e\xf3\x43\x62\x6f\x49\x56\xf5\xa3\x53\x6a\x31\xe8\x86\xb0\x0f\x45\xef\xba\x66\x1e\xd8\xbc\x94\xe0\xce\xa2\xe4\xe2\x48\xe5\xa3\x4b\xbf\x0e\x99\xac\xf1\x17\x2e\xdb\xce\x04\x83\xde\x58\x8b\x8d\x33\x1d\x31\xdc\x7a\x6d\xe1\xac\x4c\xe4\x48\xb9\xc4\x79\x07\x15\xf4\x50\x4b\xa7\xb3\x4e\xea\x3d\x0b\x59\xe1\xd6\x1b\xce\x59\xd0\x6c\xe8\x0a\x37\x5d\x11\xe3\xec\x90\x86\xb5\x5a\x85\xd0\x64\xbd\x88\x89\x2d\xa2\x40\xd3\x3e\x32\x1d\x23\x3d\x4e\xc9\x11\xa0\x55\x0c\x2d\xd4\x2b\xbe\x90\x29\xd4\x76\xda\xaf\xe4\x7d\x21\xce\xf7\xd3\x0c\x00\x4c\xee\x1b\xed\xd8\xad\x56\xac\xbb\xb0\x93\x44\x49\x1a\xd6\x8a\x8e\xab\x05\xbc\xa1\x69\x38\xda\x1a\x5c\x0b\xa4\x43\xde\x9d\x04\x19\x1c\x2e\xf2\x01\x38\xc8\x28\x36\x51\xea\x11\x1d\x86\xd0\x1d\x00\x6c\x2c\x12\x06\xb7\x58\xac\x97\xfb\xd5\x66\xcb\xe2\xe7\x7e\x3e\xcd\x97\x16\xa1\xba\xc8\xea\x28\xb7\xd2\xe5\xb8\x63\x23\x06\x5f\x18\xe6\xec\xbc\x6b\x17\x71\x2e\x04\xa6\x32\xc0\xd5\x94\x48\x52\x6a\xe6\x8e\xd1\x57\x5e\x97\x29\xbf\x54\x09\x9f\xd1\x67\xb3\x63\xb0\x76\x68\xc5\x85\x21\x39\xb1\x7d\x01\xb8\xbd\x73\xd1\x3b\xfe\x9a\x71\x96\x26\x7a\xda\xcb\x27\xd3\x1e\xb8\xd0\x28\xb9\xf9\xb4\x3e\x14\x75\xca\x6b\x3b\xc1\xd3\x85\x2d\x12\x69\xad\x6a\x8c\x5b\xce\x91\x03\x0b\x05\x11\x1e\x2f\x2c\x4a\x12\xe6\xca\x6e\x6b\x1c\x4c\x87\x51\xd1\xd6\xe0\x67\x41\x16\xc8\xf3\x33\x4d\xc5\xe9\x45\x87\x10\x65\xc1\xae\xa2\x6d\x25\x07\x47\x5d\x59\xef\xe1\x85\x36\x45\x71\x68\x7b\x28\xd8\x99\xe8\xea\x61\xb5\x3d\x8c\x06\x96\x1c\xe8\xe2\xc8\xc8\xd8\x81\x09\x53\x9d\x50\xeb\x15\xe3\xb1\x2d\x74\x5a\x08\xf5\x80\xf5\xb9\x32\x98\xa6\x38\xc5\x0d\x32\xa0\x8f\xa7\x62\x3b\xb7\x00\x26\xc6\xe1\x0a\xd9\xb2\xc1\x7e\x9e\xb1\xed\x34\x38\x3a\x20\x07\xec\x35\x77\xd0\x6f\x00\xd7\x5b\xa4\xb4\xc0\x71\xbe\x57\x1d\x80\xa5\x5a\xbd\x5a\xe1\x83\x09\xb0\xe9\xae\xa2\x1d\xcd\x9b\x8a\xf3\x60\x2a\x62\xb3\x2e\x80\xcc\x92\x55\x0e\xbd\x8c\xb9\xcc\x3a\xf1\x15\x0f\xb8\x4a\x25\x0a\x19\xa5\x92\xa9\xbf\xc1\x68\x47\x3b\x04\xfd\x0d\xa0\x2c\x49\x46\xc4\xe9\x26\x7b\x14\x28\xe3\xb0\xd4\xe6\x80\x2c\xc3\x9c\xcd\xc8\xf3\xd1\x07\x48\xc7\x4a\x26\x2d\x93\x7d\xc2\x12\xc9\x9a\x82\xc1\xd2\x27\x8f\x95\xbf\xb0\xe6\x66\x05\x76\x4c\x5d\xf2\xd8\x6a\x7a\x0a\x56\x2a\xb7\x6b\x0d\x7d\xcc\xe8\xdd\xba\x22\x3a\xea\x34\x4b\x06\x63\x90\x67\xd4\x1a\xd9\xcf\x02\x44\xb8\xd4\x88\xb7\x5a\x62\x33\xd1\x95\x61\x19\x54\x62\xe8\xef\x0e\xbc\xe0\xb3\xf2\x86\x95\xf0\x55\x40\x1d\xc1\x32\x52\xab\x1d\xb5\xe7\x88\x85\x03\x16\x8e\x22\xb5\xbe\x3c\xd6\x60\x0f\x0e\x4a\xc5\x9b\x4d\xaf\xa3\xa2\x12\x42\x3c\x2d\xad\x09\x32\x59\xea\x69\x6b\x69\x22\x50\x3a\xa9\x90\xb8\xf3\xa5\x13\x37\x58\x59\x06\x8d\x2f\x21\x80\x53\xaa\x83\xe8\x89\x4e\x54\x02\xc1\x27\x84\xc0\x56\x48\xf9\x52\x1e\xc5\x05\x8c\xdf\x00\x46\xfb\xfc\xe8\xd6\xfa\x59\x5f\xe9\x08\x84\xaa\x67\xef\x88\xaa\x9b\x85\xcf\xb8\x56\x7c\x92\x40\x06\x92\x42\x25\xc3\x2e\x5f\xa0\x01\xee\x3a\x78\x17\xfb\xf3\xd5\xc9\xb1\x4f\x43\x9c\x88\x3c\xf0\x2d\x2c\x0a\x56\xce\xf4\xe4\x10\x3e\x35\x1d\xe5\xf0\xd4\x11\xc7\xd3\xe0\xf9\xbb\x83\xb3\x33\xd8\x0a\x00\x56\x04\xa5\x72\x3c\xa7\x01\xd4\x1c\xb7\x17\xb4\x9d\xd1\x11\x9a\x6b\x4b\x08\xad\x17\x65\xa3\xaf\x67\xa7\x65\x5e\x9e\x6c\x1e\x11\x51\x7d\xaf\x5d\x36\x6b\xac\x53\x6b\x1b\xef\x02\x2a\x18\xe3\x43\xbd\x39\x78\xed\x52\xf0\xa0\xb9\x69\x51\xa2\xea\xf8\x5c\xa9\x55\x73\xd7\x3b\x0d\xc1\x4c\x01\x04\x98\x11\x64\xb0\xb0\x51\x2d\x26\x2c\x12\xef\x16\xf6\xd4\x3e\x9c\x22\x2e\xab\xd0\x9a\x01\x8d\x87\xb6\xac\x29\x84\x01\xea\x5b\x68\xbc\x1c\xad\x0d\x7a\x90\x4f\x4c\x54\xee\x5a\xf8\x00\xe4\xf5\xf2\x70\x70\x77\x2b\x7f\x9d\x39\x08\x57\x7b\x7b\x8a\xe3\x06\x4e\xf2\x02\xa1\x45\x7c\x36\xa3\x76\xd8\xe1\x98\x58\xc7\xf6\x80\x89\xcc\xce\x67\xb3\x14\xb6\x6d\x1d\xab\x86\xd2\x30\x0d\xa3\x23\x57\x63\x7a\x1b\x23\xe7\x69\xab\xb8\xea\x4a\xcb\x23\x64\xb6\x0b\x55\x58\xb4\xce\x87\xe8\xd2\x01\x40\x17\xb6\x8a\xc3\x90\x51\x19\x82\x6b\xcf\xbd\x25\x26\xe4\x2b\x12\x76\xf0\x10\x9e\x83\x0c\x52\x7c\x62\x6d\x6a\x80\x0f\xdd\x65\x00\x81\x35\xe3\x61\x37\x80\xfb\x28\x5f\x42\x7d\x05\x00\x6e\x92\x3b\xd2\x60\xa2\xe9\xa5\x65\x96\xe2\x30\xdb\xef\x97\x31\x73\xaa\x31\x68\xc9\xf0\xfa\x59\x67\xf7\x42\x71\x50\x78\xcf\x05\xc9\xc5\x3a\x2f\xc9\x0a\x16\xb1\x28\x66\xf3\x50\xd6\x75\x3a\x15\x11\x3c\x33\xc6\xf6\xc7\x56\x07\x49\x3d\x85\xfd\x9d\x88\x51\x1c\x8e\xa5\x39\x22\xaa\xaa\x68\x42\xb3\x3a\xa8\x4d\x02\x63\xd5\x9c\xd2\x8d\x35\x32\xa0\xf3\xcc\xc9\x4a\x6c\x89\x64\xc7\x55\x81\x2d\x2e\x70\x76\x00\x2d\x74\xca\x7a\x1a\x59\x74\x5a\xe2\x33\xf4\x69\x34\x5f\x3d\x25\x94\xeb\xd8\x33\x1d\xac\x98\x71\x3d\x6a\xb6\x78\xb1\xc1\x7c\x6b\x89\x6e\x40\xdf\xd0\xcd\x61\xbf\x83\x56\x33\x03\xa7\xe6\xe4\xa5\x63\xf3\x82\xa6\xc0\x71\x79\xa4\xe0\xea\xac\xd9\x0d\xd8\xa7\x6d\xeb\xee\x9c\xb2\x39\x19\x9d\xc0\x8f\x45\x8c\x90\xb0\x96\x21\x98\x2f\xd7\xc0\x00\x00\x5b\x26\x7b\x8c\x3f\x3a\xbe\x42\xac\x69\x59\x2a\xd8\x79\xdb\xad\xf1\x33\x88\x71\xf2\x00\x70\x20\xc7\x47\x08\x1c\xba\x83\xc0\x72\xf1\xa6\xbf\xba\xd1\x43\x92\x7a\x2d\xe2\xe9\x39\x8a\x1e\xfd\xd1\xd1\x77\x28\xd1\x9e\x86\x65\x72\xd9\x46\x68\x76\x39\xac\x0d\x85\xab\x70\xa1\x1d\x80\x0f\x76\x62\x08\x67\x33\x67\xb9\x1f\x2a\x44\x40\x0e\x3e\x12\xcc\x01\xce\xb0\xc0\x07\xdb\x03\x6c\xed\xd3\x45\x0f\x63\x84\xaf\x9d\xe8\x55\x83\x28\xf5\xe5\x34\x3a\x7a\x47\x62\x1a\x03\x5c\xc4\x00\xa3\xa0\xb8\x95\x25\x50\xd7\x3e\x58\x2a\x07\x5b\x37\xc1\xc6\xb7\xd4\xd2\xd4\x81\x4a\x02\x30\x25\xfa\xf9\x4a\x44\xa1\x72\xbd\xa2\x7b\x55\x2d\xcc\x04\x83\xb1\x44\x6d\xf8\x38\x3b\x53\x67\xba\x9e\xf9\xc4\xd8\x5c\x48\xd3\xb6\x39\xae\x79\x26\xa9\xce\x72\xb1\xd0\xa3\x41\x1e\xb6\xf2\x12\x11\x48\x26\x16\x9a\x93\xae\x7b\x43\xaf\xe7\xed\x92\xc2\x7c\xc2\x67\xb5\xb8\x3e\x1d\x29\xa3\xde\x03\x90\x16\x2a\xdc\x8b\x19\x01\x1b\xbb\xf0\x98\x2d\x1c\x6a\x21\x8e\xc9\xe3\x1c\x4f\x8d\x59\x8d\xed\x40\x64\xe2\x02\xc0\x40\x60\x47\x10\xe0\xa7\x10\xe8\x64\x1c\x77\x63\x1d\x00\xc0\x3b\xd4\x59\x5e\x65\x9d\xbd\xde\x6a\xc4\xd0\x7a\x44\x68\xb6\x43\x6a\xd7\x48\x4d\xcd\xed\xdd\x22\x73\xf7\x33\x83\x8b\xd7\x6b\x65\x4c\xcd\x48\x80\xe1\x66\xdb\x9c\x8a\x8d\x81\x2b\x58\xcd\x77\x1a\x10\x55\x12\x74\xdb\x7a\x1f\xd7\x83\x6c\xd1\x2d\x20\x0c\x1c\x55\xfa\x9d\x76\x2e\x42\x09\x4c\x05\x13\xf0\xc1\xe0\x14\xa4\x2f\x39\x40\xe8\x32\xdc\x6f\x5d\xa5\xaf\x14\x7a\x37\x26\x8f\x24\xb5\x9c\x66\x82\x8d\x4c\x0f\x80\x59\x3b\xe1\x41\x74\x8e\xfe\x2a\x17\x8c\xe9\xee\xdc\x8b\x72\x8b\x9c\xce\x09\xd5\x9c\xd1\xb9\xbf\xed\x06\x74\x06\x43\xf6\x96\x5b\x0e\x68\xef\x2b\xeb\xf5\xca\xcb\x12\x5d\xdd\x91\x16\xe1\xc2\xf3\x8e\xf6\xc6\xbe\x9e\xd1\xbb\x67\xc7\xd7\x10\xb9\x6f\xe5\x2e\x85\xb5\xcc\x3c\xb2\x52\x11\x49\xf8\x02\xc8\x22\x94\x34\x5a\x06\xd4\xea\xb8\x02\x3e\x10\x79\x6c\x6f\x69\x1d\x00\x31\xc0\xa4\x5e\x81\x66\x87\xe4\x54\xec\x0a\x59\xda\x13\x76\x70\xb4\xe1\x51\x97\x6d\xaf\xcc\x31\xd4\xde\xcc\xcf\x79\xa3\x93\xe6\x19\xc3\x09\x44\x70\xdc\x23\x95\xe3\x1c\xe9\xe3\xc4\xc9\xa1\x0e\x7c\xb7\x06\x00\x10\x6a\xa7\xcc\xe3\x54\x4d\x16\x70\x9c\x74\x65\xce\xf3\xc1\x41\x64\xb8\xf3\xb2\x81\xc9\xf5\xa9\x44\xda\x31\x93\xc2\x52\x9f\xdf\xbb\x4c\x5c\x9a\x55\xe8\x9f\xad\x20\x3e\x37\xee\x12\x50\x9a\x3f\xad\x87\x63\xa7\xa6\xc7\x1d\xaa\xb0\xbb\xdc\x3a\x5b\x3a\x07\xe6\xda\xad\xd1\x1e\x52\xa7\x82\xf5\x39\x60\xc2\xeb\x63\x59\xcb\xa8\xdb\xd7\xe2\xde\x70\xc6\x70\xee\xd0\x1a\xe4\x76\x8d\xc7\x6d\x29\x4a\xac\x8f\x79\x79\xd0\xa5\x7b\x9d\x3d\xd7\xdb\x22\xc9\x97\x1a\x79\x90\x5b\xcc\x5b\x91\x58\xa8\xa2\x85\xcf\xda\x22\xe8\x88\xf9\xce\x5b\xef\x00\x4f\xf0\x01\x6d\xef\x01\x00\xb1\xcf\x4d\x6b\xaa\x5a\x8c\xf6\x70\x6a\x5c\x58\x67\x73\xc1\x53\xd6\x42\xcb\x7e\x77\x68\xe2\x6d\xda\x77\xd5\x51\xdb\x50\x55\x84\x44\xf3\x43\x58\xe1\x80\xc6\xd7\x54\xd4\xd9\x5b\x72\xe3\xb3\xb7\x2a\x49\x7a\x89\xaa\x33\x8c\xbb\x14\x6f\xee\x76\x7e\x36\xac\xf9\x29\xf5\xd0\x5f\x0e\x3b\x03\xf3\x99\x7e\x3a\xd0\x21\x8e\x01\x0e\xc4\x18\xb7\xcf\xa9\x59\x25\x6c\xd8\x5c\x73\x2e\x64\xb8\xb1\xca\xd9\xc2\x88\x69\xbf\x6c\xea\xc5\xe9\xc0\xa6\x91\xcb\x2e\x5b\xb2\x33\x0f\x17\x40\x8b\x18\x43\x12\x6a\x19\xf3\x0e\x06\xc0\x58\x90\x44\x38\x20\xc3\x62\x31\x65\x3b\xa9\x22\xe7\x80\x35\x6b\x3e\x05\xc4\x72\x9b\x0a\x46\x67\xc4\x02\x63\xb6\xf5\xa0\xee\xdd\x73\xe9\x61\xab\x53\xc8\x47\x3a\x03\xe3\x09\x86\x2d\x01\x03\x38\x07\x5d\x83\x4d\x56\x91\x54\xac\xc8\x5b\x12\x1f\x0d\xec\xd4\xb1\x3d\x89\xc0\x61\x4b\xca\x77\x74\xb1\x3f\xe4\xb1\xc3\x41\xab\xe5\xae\x4f\x91\x32\x4f\x8a\xcb\xb1\x32\x58\x5d\x0a\x21\x4a\xbc\xb5\x86\xc5\x68\xc3\xe3\x40\x08\xed\x52\xc4\x44\x40\xe0\x44\x55\xe4\x59\x76\x68\x6a\x77\x0a\x8f\x19\x3d\xee\x6d\xfc\x65\x48\xba\xa1\x71\xf4\xb5\x44\x04\xcc\x7c\x3a\xef\xaa\x88\xc4\xc8\x10\x8b\xb3\xbd\xb8\xe4\x42\x18\xe2\x14\x11\x16\xcf\xfa\xe9\xdc\x0f\xe1\x14\x78\xcd\x91\xcb\xf8\x33\xa9\x9d\x44\xc1\x1c\x4a\xf8\xb2\x99\xcf\x8a\x9d\xcf\x23\x0f\xaa\xd7\xb7\xb6\x29\x14\x4e\x6f\x2e\xd9\x65\x54\xc6\xe5\x79\x7e\x41\xce\x1b\xe0\xfa\x1c\xd1\x2f\xb7\x29\x5b\x69\xbb\xc0\x76\xe6\x48\x53\x2c\xd6\xf3\x69\xd6\xc8\xee\x1e\xcb\x33\x3c\xc4\x35\xba\x1c\xa6\xfa\xa0\x02\x88\x20\x6a\x62\x0d\x94\x87\xee\x2d\x1a\xc0\x31\x8f\x03\x30\x38\x54\x3b\x95\xa7\x27\x59\xde\x47\x9e\xa1\xc7\x4a\x6e\xa3\xf3\xe4\x84\x48\xa7\xa4\x28\x58\x8f\xf7\xa2\x38\xa0\xc1\xa9\x59\x69\x19\x20\x01\xee\x03\x90\x73\x52\x54\xef\xa6\x5c\x24\x12\x3a\xdf\x19\x63\xe4\xa0\xde\xce\x7b\xe0\x5c\x95\xaf\xe1\x3e\xc8\x37\x33\xf5\x5c\x88\x58\x87\xf6\xf3\x85\xe3\xd5\x45\x74\x16\xc9\x4b\x83\x6e\x37\xd8\x72\x3f\x95\x96\x0b\x58\x2d\xd6\x82\x16\xfa\xab\x4e\x48\x96\x7a\x93\xc2\x9e\x35\x8f\x39\xe2\x90\x59\x36\x5b\xdd\x00\x2e\xad\x5d\xe1\xdb\xc1\x61\xc8\xdb\x39\x27\xcd\x43\x81\x08\xe3\x6e\xbd\x36\x73\x63\x55\xcc\x18\x81\x77\x6c\x20\x03\x01\x68\x75\xe2\xe0\x69\x66\x3b\x65\xb4\x9d\x73\x5b\x79\x05\x99\x69\x15\x69\xba\xb4\xa7\x36\x2c\x2c\xa9\x34\x27\xa4\x23\x97\x2f\x97\x8d\x0e\xd6\x44\xbb\xdc\x5d\x93\x31\x89\xc7\x45\x15\xcc\xb7\x65\x58\x9f\x34\x1e\x89\x1d\xf3\x44\xa3\x22\xaa\x40\xad\x39\x5f\xb1\x88\x41\x07\x4e\x82\x59\xc3\xf9\xe4\x5e\x1a\x0d\x59\xf8\x3b\x30\x94\x0e\xec\x8c\xd9\xd4\xd8\x5f\xc6\x83\xe5\xc1\xbd\x3e\xd8\x5e\xf4\x33\xa5\xcf\x2f\xb2\x73\xb6\x74\x0b\x49\xb6\x4e\x76\xa2\x7b\xbd\xf7\x3a\x0e\xec\xfc\x58\xc7\xf2\x9d\xda\x76\x5d\x34\x55\x85\x60\xe1\xed\xb7\x17\x55\xa8\x66\x10\x49\x4d\x73\xb3\x9c\x36\xee\x42\x18\xc6\xf4\x76\xdb\x19\x2e\x00\x98\x8f\xe4\x0b\x64\x17\xca\x3e\x30\x20\x53\x8b\x85\x24\x8c\x49\x9f\x4e\x97\x5b\x54\x70\x3a\xe3\x3c\x30\xab\x56\x38\xcf\xea\x65\x5f\xf5\x73\x19\x8d\x31\x63\xb3\x24\x55\x11\xa3\x96\x80\xc1\x40\x72\x30\xe8\xf9\x21\x1b\xad\x8d\x81\x67\x2c\x00\x84\xee\x4d\x05\x93\x35\xc3\x15\xd4\xaf\x96\xd0\x85\x5e\xed\x86\xd3\x86\x5f\x1c\x07\x89\x4b\xa9\x43\xd2\x7a\x7c\x15\xc6\x22\xdd\x69\x0f\x67\x1f\xd0\x9d\x48\xac\x0f\xf8\x35\xa7\x24\x7c\x0b\x16\x9b\x33\xb6\x7b\x70\xa3\x83\xc7\xce\xad\xa5\x09\x91\x92\x86\x01\x35\x06\x24\x51\xb4\x19\xbf\xc2\x44\x0c\x34\xc0\x6f\x06\xaa\x60\x76\x75\x72\xa6\x51\xce\x9d\x77\x27\x2e\xb3\x53\x21\x00\xe8\xb0\x5e\x14\x7a\x26\x1d\x92\x4d\xd0\x65\x02\x9d\x11\x00\xc4\xa3\xd8\xd8\x1d\x01\xc0\x62\x49\xd1\xa0\x39\x9e\x62\x3a\x43\x4f\x1e\x52\xd7\xdb\xcd\x51\x25\x3c\xb0\x31\x12\x03\xc7\x44\x38\x3b\x94\xd0\x4c\xc4\xd7\x4c\xdb\xe0\x57\x7a\xe7\xb6\x0a\x44\x9c\x43\x10\x3e\x21\x51\x61\xb5\xd6\x80\x4d\x8b\xca\xd8\xf1\x39\x30\x87\x7d\xa6\x6c\x86\xbd\x83\xc6\x88\xe0\xad\x14\xa0\xed\xc0\x1e\x6b\x4e\xca\x9a\xbf\x9d\xee\xd8\x0e\xca\xfc\x20\xaf\xaf\x9f\x33\x72\xb7\xa5\x6d\xa4\xb1\xf0\xae\x23\xdb\x19\xa9\x07\x54\x19\xaa\x91\x0d\x2c\x60\x22\x2b\xe8\x34\x36\xb9\xcc\x54\x31\x8f\xb6\x3e\xa0\x58\xa7\xe7\x67\xd5\xe2\x4d\x4e\x3a\xaf\x5c\x13\x66\x21\xc8\x57\x3d\xc5\xcd\x35\xb2\x03\xc0\x14\xa8\x6a\xdf\x73\xe0\x2c\xca\x3e\x98\x02\xec\x90\x19\x6b\xf6\xbc\xb8\x20\xdd\xd9\x5b\xcf\xce\xd5\xd1\x81\xc6\xca\x92\x22\x88\xba\x42\x18\x26\x96\x80\x68\x4f\x84\x85\xd6\x35\x00\xd9\xb3\x9b\x2b\x46\x24\xc6\x81\x7a\xa3\x95\xd5\xa9\x82\x90\xfd\x6c\xc3\x0b\x9b\x99\xbc\x29\xdd\x35\x49\x2b\x26\x9d\x0e\xf8\x82\x37\x92\x93\x48\x02\xfc\x02\x51\x98\xf3\x50\x32\x05\x04\x58\x38\x73\x3f\x9c\x0f\x6b\x09\xec\x2b\x28\x59\x52\xfb\xa3\x96\x6d\x08\x6d\xbe\x64\xb7\x33\x0c\x23\x9a\xa8\x88\x3b\x48\xb3\x16\xdb\x95\x68\x37\x5b\x4d\x66\xa6\x88\x65\x5a\xd9\xee\xc8\x96\xae\x76\x46\x86\x18\xdf\x98\x0b\x91\x7c\x68\x14\x52\x03\xb4\x10\x07\x5f\x33\x47\x71\x87\xb2\xa3\xd3\x5f\xf0\xa5\x7e\x52\x9a\x29\xbc\xd1\x3c\xc8\x59\x2d\x97\xec\x5c\x53\xc0\x56\xa5\x12\xb0\x98\x4d\x35\xb0\xe7\x42\x48\x3c\x64\x87\xce\xf0\x0d\x10\x81\xd5\x6c\x21\xd0\x73\x19\x1e\xbb\x15\x0b\x8e\xa0\xdb\xf3\x66\xc3\xf3\xc5\x5a\x39\x50\x0e\x5a\x66\x9c\x99\x6e\x85\x4c\x99\xd9\x09\x13\x68\xbe\xb3\x3a\x02\x7e\x3c\x2c\xc6\x03\x7d\xa6\xd9\x62\x87\xfa\x56\x3e\x08\x39\xeb\x4e\x39\x17\x39\x39\xf3\x50\x16\x96\xc8\x69\xec\xf8\xb4\x9b\x69\x92\xb5\x4d\x38\xeb\xd4\xfd\x01\x9c\xe1\xc5\x66\x8f\x0a\x5a\x3f\x44\x73\x5f\x5b\xa1\x87\x84\x5c\x53\x0c\x40\xa8\x45\x22\x15\xe8\x8a\x6c\x9d\xd5\xb2\xdd\x1d\x4f\xd4\xbc\x24\x16\x2a\xcb\x82\x6e\xbe\x0c\xf4\xe5\xce\xc4\xed\x45\x35\xb6\x32\x77\x6e\x3f\x8d\x86\xab\x3d\xc4\xa6\xc1\xe9\xb2\x59\x4c\x37\xcb\x85\x89\xef\x0e\x2b\x0c\x85\xb4\x58\xa1\xf1\x96\x20\xb9\x5a\x0c\x94\x64\xce\x85\xb8\x0f\x48\x60\x97\x27\x5b\x57\x0e\x55\x75\x45\xfa\x98\x7b\xde\xac\xd6\xca\x6c\x30\x46\xe3\x90\xce\x67\x1d\x31\xb3\x3c\xa3\x8e\xb8\x53\xd5\xed\x17\x90\x7c\x3c\x08\x30\x4b\xa4\x81\x00\xcd\x63\x4b\xcd\xca\xba\x85\xaa\xf9\x0c\x39\x5d\x6c\x0f\x4a\x85\xbd\x9b\x3a\x19\x4e\xa7\x98\x16\x87\x0d\x8c\x8b\x5b\x4c\x8f\x0f\x06\xb4\xe0\xba\xd1\x38\x24\xc8\x0e\x8a\xca\xe6\xc0\x2f\xc5\x55\x36\xcc\xeb\x96\x10\x2f\x53\xdb\x44\xe9\x41\x08\xa7\xfe\x9e\x06\x73\xc2\x24\x7d\xf0\xe1\x36\xf8\xcd\x4f\x3f\x3f\xfe\x38\xf3\x9d\x93\x7f\x61\x62\xf9\x5e\x05\x85\x4e\x96\xfe\xb2\x59\xbe\x79\x37\x79\x73\x7b\x02\xe5\xe9\xe7\xa7\xff\x42\x0d\x13\xa4\x0e\xe6\xb6\x7e\x76\xdd\xe1\x5e\x56\x03\x52\xf5\xaf\x1a\x74\x3b\x6a\xe4\xe3\xd7\xd8\x1c\x10\x61\x42\x3b\xf3\xdb\x93\xad\x8b\x29\xd7\x90\x77\xb7\x3d\xe0\x50\x1f\xdc\x8e\x89\x00\x6a\x50\x23\x77\xd4\x75\xc0\xad\x04\x5a\x88\xae\x4f\x7d\x03\x0e\x64\x45\x04\xc0\x0b\x0d\x00\x18\x9c\x04\x80\x58\xde\x5e\x08\x3e\x00\xb4\xda\x01\x40\x14\x57\xf0\x42\xee\x03\x80\xb9\x5d\xba\xcb\xa5\xc3\x4d\x3c\xcc\x50\x86\xdd\xb1\x02\x0a\x0e\x6b\x00\x75\x04\x94\xed\x90\x34\xba\x89\x6a\xdc\xc9\x54\x3c\x00\x00\x1a\xa6\x03\x60\x17\xf2\x98\xc7\xa9\x90\xeb\x03\x40\x71\x01\x2b\x91\x94\xea\xed\xcb\xfa\x78\x8c\xab\x23\xef\x2e\x20\x14\x1e\xd6\xcb\xf9\xa6\x21\x86\x11\x60\xd2\x4b\x54\x68\x33\x95\x70\x34\xd7\x1a\x93\x2a\x2c\x65\xc8\x3a\x6a\x39\x35\x39\x73\x6a\x3d\x72\x6a\x92\x5a\x32\xb0\x26\x51\xa4\x0e\xb2\x30\x10\x33\x70\x16\xa9\x24\xc4\x32\x5f\xb7\x18\x12\x10\x14\x9e\x88\xc7\x28\xae\x33\x78\x3e\xba\x59\x01\x4e\x5d\x9d\x99\xdb\xbd\x69\xc5\x3a\xcd\x86\xa9\x62\xd4\x91\xc4\x52\x91\x53\x0f\xf1\x66\x70\x37\xab\xd5\x74\xed\xcc\x37\x53\xf5\xdc\x84\xb9\x8d\x13\xb3\xcb\x74\x33\xb5\xbc\xd5\xa2\x6d\x13\x36\x6e\x51\x5f\x40\x0c\xa9\xb9\xfd\x37\x5a\xf4\xeb\x3f\xd4\x06\xd4\x65\x86\xed\xd1\xf4\xe4\x71\x95\x25\x1f\xf5\xa6\xb4\xca\x56\x6a\xd5\x52\x49\x63\xc7\xd1\xa0\x85\x85\xc6\x84\xe4\x49\x1c\xe5\x3a\x73\xd3\x5a\xa6\x43\xab\x23\xf6\x4a\x60\xf2\xce\x0c\x56\x7b\x74\x15\xd2\xc6\x98\xa0\x1f\x86\xfa\xd2\x5e\xe6\x61\x01\x60\x58\x49\x7d\x48\x3f\xd2\xb3\x13\xba\x15\x2b\x2a\x0a\x61\xd1\x1e\xa6\x0e\xd0\x66\xc8\xd9\x93\x22\xa5\xeb\x54\x17\xb9\x9c\x2a\x8d\x59\x6f\x84\xb3\xbd\x2b\xbb\x34\x63\x99\x5d\xb7\x26\x33\x20\x30\x80\xf2\x47\x4d\xea\x08\x05\xef\x1d\xc0\x62\x24\xcb\x84\x0c\xf0\xb3\x90\xc1\x01\xe3\x33\x3e\x83\xb1\xdb\xdc\x3d\x48\xb8\x54\xa0\xd5\x01\xc7\x00\x0b\xc2\x70\x2d\xfa\x20\x82\x0e\x0c\x15\xc9\x18\x26\xb6\x01\x2a\x4a\x91\x78\xac\x49\x1c\xe3\xf2\xb1\x0c\x43\x6f\xec\x72\x11\xf0\x61\x14\x38\xfe\x5c\xd4\xe6\xae\x11\xf9\x40\xa2\x30\x39\x4a\x62\x35\x49\xf3\xd5\x2e\xd9\x1d\xd7\x65\xbc\x2e\x36\x0b\xe1\xc0\xb1\x30\x21\xe2\xd1\xc1\x53\x48\x47\x2c\x01\x31\x5b\x6d\xa6\xab\xe9\x6a\x57\x1d\xd0\xb6\x1e\x8d\x47\xb7\x01\x33\xb3\xb5\x3b\xea\x24\xf2\x50\x39\x83\xc0\x85\x58\xce\xb9\x1d\xd6\x2e\x58\x9a\xb1\x98\x8e\xc9\x99\xc5\x96\xb1\xbd\xd6\x5d\x23\x25\xcc\xa0\x02\x7f\x6e\xd9\x93\x90\x2d\x4e\x27\xbc\xe8\x66\x64\xc0\x48\xb1\x28\x86\xa8\x85\xae\xc6\x18\x1c\xb6\xea\x93\xa2\x61\x08\x72\x08\x98\x86\xae\x37\x8b\x3a\x4d\xb1\x72\xb5\x18\xe8\x3d\x04\xb6\x40\xce\x8c\xf3\xa5\xd7\x34\x05\x17\xf0\xc3\x49\xd0\xf7\x9b\x6a\x7b\x6a\xbc\xa9\x7b\x82\x76\xf3\x12\x1d\xd6\xbc\xbc\x55\x85\x16\xb5\x74\x83\x18\x7b\x05\xc5\x1c\xc5\xc8\xe3\x91\x14\xa5\x03\x2e\x72\x8b\x82\x8a\x3d\x8a\x77\xdd\x46\xe8\x78\x0d\xd5\x39\x15\x3b\x52\xda\x45\x3b\x06\x75\x82\x9e\xcb\x73\xdd\x76\x33\xb4\x6d\x76\xb3\xe6\x70\xdc\x02\xa0\xfa\x41\xb4\x8d\x77\x87\x23\xbb\x31\x5b\x73\x8c\xc1\x77\x2b\x74\x9d\x0d\x6b\xba\x12\x02\x8a\x42\x1a\xd4\xa2\x61\x72\xcd\x92\x2d\xd0\x03\x6f\x9a\x22\x07\x9a\x58\xc1\xe6\x0a\xea\x13\xc7\x39\xed\x30\x99\xdb\xf0\xb3\xf4\x08\x83\x22\x35\x28\x99\x0b\xb1\xd5\x89\x09\x85\xc1\x47\x23\x64\x86\x8d\x99\x96\x41\xeb\x33\x9f\x8f\xca\x19\x44\x60\xd8\x74\x49\x47\xdb\x9d\xd2\x27\xd2\xc9\xee\x4f\x9b\x69\xe1\x40\x6b\xbd\x1a\xf8\x4d\x3c\x50\x9b\xcd\x7c\xb9\xae\xbb\xde\xc4\x41\xb1\xe8\x6c\x31\xe4\x71\x89\xd4\x0f\x58\x44\x1c\x5d\x0f\xf5\x98\xf9\x7a\xf4\xdb\xd3\xc0\x83\xa6\xb3\x06\xf2\x6a\xc8\x41\x01\x37\x85\x1a\x79\xb8\xec\x94\xd6\xe7\x56\x65\x32\xad\x31\x72\x8e\x9b\x60\x46\x4b\x16\xa5\xac\xb2\x62\x2f\x72\x38\xee\x56\x05\x96\x2f\x67\x5b\x62\xe3\xd1\x18\xb1\x5a\x1d\x9b\x94\x9d\x2d\x33\x68\x2c\x58\x2e\x8b\x29\xe4\xec\x58\x63\x77\x40\x4e\xc1\x70\xda\x6e\x23\xc9\x08\x3b\x4c\xe2\x90\x53\xba\x83\xd0\x50\x1a\x56\x50\xa3\x40\xeb\xf4\xd4\x34\x03\xa2\xf4\xb1\xb5\x9e\x06\x47\xc9\x66\x97\xa2\xca\x61\xd6\xae\x61\x13\x5f\xdb\xb1\x12\xd7\xc8\x63\x23\x31\x66\xb0\xdc\xaa\x43\x92\x02\x39\xc0\x19\x8a\xa6\xa1\x18\x40\xd0\x9e\x3e\xa3\x68\xe1\xc1\xde\xa1\x15\xd9\x23\x69\x41\x6c\x4a\x93\x4c\x06\x30\xc3\xdd\x20\x0b\x68\x10\x0e\xa7\x29\x7b\xc6\x7a\x9e\xc5\x21\xe8\xd2\x1f\xa7\x5b\xc3\x32\x47\x4d\xd9\x02\xb3\xf2\x60\xb8\xf1\x66\x0d\x76\xb9\xe8\xbc\x58\x6e\xc9\xd8\xd5\x34\x0e\xd7\x6d\xd1\x07\x60\x29\xa4\x9e\x2f\x1e\x56\x9b\xcd\x6a\x68\xad\x03\x8d\xf8\xdb\x8a\xc9\xc5\xd0\xd5\x9b\x4c\xea\x00\x94\x21\x90\x4d\x0c\x2b\x38\x3b\x9d\xc6\x2d\xa7\x14\x63\x41\x27\x67\x18\x90\x43\x81\x04\x83\x6c\x4b\x51\xb5\xc3\xfb\x6a\xaf\xcc\x51\x8c\x59\x9d\x0d\x5c\x87\xc2\xc0\x85\x1c\x8c\xd3\x4d\xc5\x0c\x44\x87\xd2\x36\x05\x7f\x16\x61\x3f\x21\xbb\x64\x1e\x44\x45\x25\x68\xe4\x99\xc8\xfc\xb1\xbe\x88\xae\x6c\xe1\xdc\x5a\x64\x8c\x71\xbb\x70\x48\x0c\xcd\xe7\x74\x53\x87\x67\xf4\xd9\x13\x76\x5b\x0b\xd8\x6a\x98\x67\xac\xa2\xd3\x80\xeb\xac\x39\x67\xe4\x09\x8d\xb3\x2a\x06\xc7\x22\x9e\xa9\x70\xe5\x70\xb0\x8f\xf3\xac\x24\x17\x85\x30\xf6\x0a\x68\x2f\x86\xc9\xc2\xcc\x99\x9c\x62\x6c\x42\xf5\xf6\x5d\x27\xf0\xc8\x65\xe5\x0b\x73\x37\xd5\x83\x52\x1e\x34\x0a\x23\xc8\x81\xcf\x23\x75\xb7\xe7\xe1\x39\xc6\xf8\x54\x25\xcf\x7c\xbf\xdf\xab\x03\xa7\xc9\x21\x2e\x55\x24\x46\xaa\x64\xf6\xd0\x1e\x91\x0a\xa4\x5d\xd0\xfb\xe3\x99\x77\x67\xeb\x5c\xa6\x35\xcf\x4c\x9b\x26\x0d\x4d\x2b\xcb\x19\x46\xc4\x00\x13\xa4\x6a\xe1\xb7\xf6\xac\x56\x51\x01\xe3\xa8\x50\xc7\x5d\xfe\xe2\x02\x4c\xc7\xe8\xa9\xcd\x64\x78\x0b\x50\x69\xaf\x6e\xb8\x31\xc2\x25\x84\xd0\x0a\xb6\xc8\x11\x00\x30\x54\x83\x30\xdf\xd3\x91\xc9\xec\x1d\x0e\xec\x1a\xd7\x95\xe8\x10\xd5\x74\x4a\xf2\x76\x8e\x7e\x59\xbb\x41\x2f\x2c\x2c\x2a\x6f\xa3\xc0\x4a\x88\x05\x4d\x75\xa2\xd8\xc8\xb5\xdf\xed\x0e\x79\x25\x0c\xd6\x78\xe6\x7d\xb1\x25\xa0\x0b\x31\xe7\x89\x0e\x39\x6b\x78\x89\xf3\xb4\x1c\xa9\x5d\xd2\x55\x68\x84\xf3\x80\x20\xe0\x2d\x6e\xe6\xa1\x15\xf3\x5b\xd4\x0e\xad\x79\x5d\x6a\x15\x3b\xed\x23\x16\x70\xb2\x2a\xd7\x3c\x9c\xe9\x95\x2c\x96\xbe\xb2\x75\x1f\x5c\x00\x7f\x8c\x63\x32\xf1\x06\x0a\xa2\xa5\x60\x98\xe2\x73\x7b\x19\x5c\x48\xbf\x4c\x2f\x67\x6d\xb7\x1b\x02\x27\xc8\x66\x21\x55\x11\xe1\x36\x4b\x84\xa1\x9e\x12\x15\xb4\x1e\x56\x07\x66\x48\x4e\x12\xba\xf1\x0e\x33\x57\xd3\x64\x81\x0c\xcf\x12\x3c\x9e\x5c\x93\x2a\xaa\xf4\x67\x8c\x9c\x27\x51\x26\x6e\x1c\xa5\x39\xf5\x5c\x89\xd9\x74\x92\xa9\x19\x6b\xea\x49\x7c\x20\x8e\x92\xe9\xbb\x3c\xb1\xaf\xfa\x35\xdd\x1c\xed\xba\x47\x87\xb6\x0d\x24\x91\x53\x5c\x2a\xd9\x89\x00\xcf\x14\xc4\xed\x8c\xcd\x68\x1c\x4e\x92\x1e\xb7\x60\x96\xcc\x7a\xf6\x82\x30\xa4\xef\x47\x87\x32\x55\xdb\x23\xb6\xe1\xe1\x78\x1b\x59\xa1\xd6\x4f\x7b\x09\x02\x84\xd8\x1c\x24\x11\xe4\xb9\x65\xc0\xec\x69\x10\x30\x0c\x3e\x67\x14\xa8\xe6\xc2\xc5\x5e\x6c\x48\xd8\x58\xe5\x23\x97\xe7\x04\x41\xb8\x49\x37\x5f\xed\xfc\x8b\x2f\xd2\xb6\x5d\xad\x98\xf3\x9c\xcd\xb7\x3c\xd3\x9d\xb7\x12\xe5\x50\x70\x4f\xb1\x0e\xe1\x92\x70\xae\xda\xa8\x21\xce\x02\x43\xaf\x08\x4a\xee\x4f\xa7\x55\xeb\xd3\xfc\x45\x40\xa3\x88\xdf\x86\x16\x18\x9b\x0f\x83\xec\x80\x6e\xc0\x60\x43\x8b\x13\xd0\xd0\x19\x3a\x88\x74\xc4\x59\x6a\x9e\x2b\x34\x50\x45\x6c\x27\xa6\xc0\x48\xe6\xec\x7c\x76\xf2\xf0\xd8\x05\x5b\x8f\xf6\x10\xca\xc2\x8b\xcd\xc9\x3d\x8a\xfc\x61\x5d\xd4\x8b\x0a\x5b\x0a\xf1\xd6\x1e\x01\xce\xf3\x08\xeb\x06\xcc\xdf\xd2\x19\xc7\xbb\x0e\xb3\x5d\x23\x64\x07\x4b\xdc\x52\x2d\x94\x9e\x06\x2c\x49\xcb\x18\xbe\x4b\x34\x1a\xb7\xda\x63\xa7\x3a\xdd\x36\x3f\xf2\x2c\x23\x23\x46\xaa\x05\x65\x01\xcf\x1c\x20\x88\x7d\x84\xaf\x0c\x7e\x4c\xdd\x16\xe1\xb2\xed\xc2\xe5\x62\xa7\xcd\xeb\x92\xe1\x66\xf0\x96\xbd\xd0\xbb\x36\x57\x14\x09\x26\x4c\x33\x66\x6b\x92\xe4\x7b\x69\xca\x68\x2c\xab\xc8\x31\x05\x28\xd7\xdc\xcd\x57\xe7\x8c\xf2\xab\xae\x24\x4d\xf4\x08\x2f\x89\x16\xf5\x00\xbd\x1a\x0f\x9a\xad\xb4\x64\x0d\xd5\x70\xb5\x4e\xf9\xd8\xdd\x1c\xce\x58\x40\xe3\xfb\xd9\x76\xe5\xc6\xc9\x7c\x03\xfb\x68\xc9\x0c\x78\x0d\x2d\x2e\x34\xa3\x87\x60\xe1\xf6\x5b\x71\x41\x0b\xce\xd5\xe4\x35\xc6\xd6\x2c\x9a\x4e\x91\xf7\xca\x91\x07\x99\xaf\x8d\x01\xa9\xdc\x44\x0d\x38\x76\xf1\x40\xa9\xb9\x2c\xe1\x97\x78\xe6\xf4\x53\x2d\x13\xb0\x01\x32\xc3\x0d\xda\x5e\x3c\x82\x9c\x2d\xed\x7e\x16\x36\xbb\x8a\xa9\x04\x79\x27\xeb\x78\xd3\x75\x64\x00\x5b\x9b\x00\x6a\x7a\xa2\x9a\x22\xbe\x9e\xf6\xc4\x79\x34\x5f\xab\x8d\x2b\x72\xe7\x20\xf6\xe7\xb6\x19\x43\x6d\x14\x5a\x44\x52\x47\xed\x71\x4f\x85\x49\xa2\x4a\x3c\x3b\xd7\x0c\x21\xc2\x72\x39\x76\xe5\xc6\xdf\xcc\x14\xc2\x08\x19\xc2\x3d\x76\x35\xd9\x2a\x1e\xb1\x8f\x7b\xb3\x43\x2f\x10\x3a\x3f\x10\xa3\x60\xbb\xcd\x0e\x0f\x21\x7e\x3e\xf5\x44\xd8\xac\x17\x0e\xee\x32\xb3\x2d\x44\x71\x54\xef\x2f\x12\x9e\xdc\x48\xab\x52\xe2\x75\x25\x84\x40\x3d\x08\x87\x94\xdc\xef\xb8\xa3\x86\xd4\x97\x12\x4c\x63\xaa\x18\x22\x2e\x42\xb1\x3d\x03\x47\x28\xa6\x8f\xf1\xe1\xa2\xea\x88\x23\x58\x75\x71\x02\xdb\x14\x19\x91\x02\x61\x9f\x07\xfd\x30\x24\x44\xa1\x74\x73\x9a\x48\xed\xf3\xb0\x58\x55\x9d\x4b\x3b\x5c\xbe\x58\x4e\xcf\xb5\x07\x45\xb0\xd6\x94\xb5\xa4\x32\xa9\x7c\x60\x8f\x04\x6a\x6c\x60\xe3\x74\x74\xc6\x4a\xbc\x59\xaf\x98\xf9\xa6\x86\xf8\xf9\x62\xc7\x2e\x4c\x9f\x5a\xc5\x3c\xb0\xab\xfd\x06\x3b\x85\x47\x72\xd1\xd4\xc1\x91\x1c\x28\x8c\x9b\x2a\x39\x08\x4a\xad\x49\x01\x20\x3d\x32\x9f\x13\xe2\x3c\xbb\x5c\x44\x66\x7a\x8a\xe4\x73\x0a\xd5\xdb\xca\x1c\xb3\x55\xdd\x01\x9b\x33\x7a\x3c\xb7\x11\x04\x1b\xb5\xb7\x42\x5a\x62\x4d\x5d\xcc\x0e\x32\x10\xcd\x6a\xa4\x0a\x80\xf9\x1a\x65\x12\x22\x9d\x66\x14\xb2\x26\x76\xd0\x50\x50\x29\xda\xa5\x21\xd4\x3b\xa4\x2c\x67\x4a\x1b\x91\x7d\xef\x62\xd8\x3e\x8c\x6f\x00\xa9\x14\x07\xf1\x0e\xe3\xf9\x29\x1d\xb8\x11\x4a\xd7\x4a\x90\x31\xe4\x4c\x69\x62\xa5\x21\xe2\xca\x01\x3e\x68\xf6\x3d\x0e\x96\xc7\xfd\x82\x3e\x4c\x0f\xd6\x3a\xf0\xf4\x8a\x06\xbe\x2c\x5e\x00\x6c\x0e\x54\xb9\x66\xb6\x74\x40\xe3\x4d\xe4\x3d\xb8\x00\xf7\x94\xf0\x42\x6e\xaf\x3b\x3f\xbe\xc0\xc8\xec\x7c\x8c\x94\xea\x6c\x24\x1b\x1c\x36\xce\x7b\x56\xf6\xa9\x96\x6e\xc0\x61\x55\xd8\x3c\x40\x95\xdc\xe9\x40\x36\xcb\x32\x42\xe8\xba\x33\xa7\xd0\x88\x48\xb4\x0d\x14\xfb\x68\x8c\xa7\xdd\x58\xca\x5a\x6e\x9c\xde\x91\x73\xd6\x59\xbb\x26\x7b\xf0\x01\xee\x79\x0d\x30\x02\xff\x04\x1f\xdc\x25\x7b\xbe\xf0\xa0\x3c\x2e\xa0\x6d\x6c\xae\x2b\x1f\x41\xd5\x85\x82\x9f\xa6\xa4\x5c\xc3\x22\x85\xe3\x54\xa8\x1b\x0e\x35\x43\x67\x91\x32\x8f\x83\xb1\x50\x94\x13\xf2\x11\xf0\x97\x29\x59\xcc\x0e\xe0\x68\x00\xc6\xa0\xb1\x66\x23\xdc\xb4\xc4\x6b\x9d\x98\x3f\xad\x2e\x20\x5a\xad\x17\x83\xdc\x1c\xd7\xe1\xca\x58\xae\x4d\x21\xc3\xc1\xb2\x77\xf5\xf5\x1e\x81\x9a\xb9\x22\xb9\x88\xdb\xad\x16\xd4\x58\xda\x3f\x1c\x8a\xb4\x41\x89\xa4\x59\xed\xe7\x1b\xa9\x1a\xf4\x5d\x78\xd9\xb6\xfe\x56\x3a\xf1\xf3\x15\x7d\xde\xbb\x43\xe2\x2f\xd5\x65\x24\xed\x40\x05\x23\xdd\x16\x1c\xbb\xd0\xc3\x3a\xdf\xf7\x33\x8b\x57\x89\x55\xc6\x2c\x57\xa7\x84\xa4\xed\x73\x3b\x1e\x27\xf4\x4f\x49\x89\x29\x03\xba\x59\x9c\xba\x45\x54\xed\x38\x0e\x59\xe6\x89\x3f\x08\x70\x87\x57\x94\x63\x2e\x56\xcb\x63\xef\x29\xb9\xe9\x0e\xbd\x85\x9f\x9a\x29\x0d\x8e\x92\xbf\x44\xe6\x9e\xac\xc0\x43\x00\xb9\xd8\x92\x3a\x12\x67\x0e\x55\xd4\x31\x14\xd1\x3a\x51\x22\xd5\xac\x86\x01\x85\x93\x64\x8f\xaa\x6b\x33\xc3\x7c\x12\x68\x9d\x9b\xa9\x69\xe0\x51\xa9\xbe\xdd\x0d\x35\x98\x5d\xe6\xca\x19\x1a\x7a\x9c\xb9\xa8\x1d\x33\xf5\x92\xca\x3a\xa4\x8b\x94\x5a\x17\x97\x96\xa2\x2a\x98\x80\xf0\xd1\xda\xc0\x0b\x33\x0d\xd1\x73\x5e\xcc\x78\x03\x9a\x92\xf8\xea\x9c\xca\x3e\x74\x9a\x2e\x7c\x6c\xb9\xb9\x1c\x3b\x08\x73\x52\x03\x3b\x11\x8c\xc7\x97\x86\xb5\xd3\x97\x00\x07\x06\x95\x24\xe7\x3c\x5c\x19\x45\x9e\xe0\x92\xce\x17\x48\x62\xed\x7c\x66\x2c\x4b\x17\x94\xa3\x8a\x2b\x9e\x2c\xf3\x85\xd9\x17\x49\x6a\xc2\x6c\x0f\x4f\x19\x56\xdf\x63\x4c\xb9\x28\xf2\x6a\x88\xd7\x0b\x04\x3a\x75\xf9\x0a\x35\xf7\x38\x7a\xe8\x92\x80\xc3\x45\xa0\xea\xf8\x16\x34\x0b\xbe\xd9\xc7\x65\x48\x8a\xe4\x65\x39\x8c\x27\x86\x28\xab\xd9\x05\xb4\xbf\x14\xf1\x78\xef\x9d\x6b\x6f\x63\x88\x0c\xee\xec\x66\x21\x1a\xad\xa1\xb9\xca\xba\x90\x6d\x9a\x34\xa9\x6c\xbb\x2d\x6e\x70\xeb\xcb\x70\xee\xd0\x60\xde\xd2\x54\x02\x8e\x97\x64\xb6\x71\xfb\xd3\x9e\x84\xc9\xda\x29\xa2\x31\x4f\x51\xb4\x83\xe2\xba\x70\x41\x81\x5c\x3a\xec\x2d\xb2\x76\x7a\x11\x84\x00\x56\xbc\x18\xf7\xb8\x56\x22\x14\x39\x3b\xea\x8a\xc1\xda\x8b\x20\x5b\x2d\xa4\x02\x8e\x40\x6e\x77\x44\x99\x07\xa5\x20\x91\x2e\xcc\xe4\x0b\x20\x60\xcd\x25\x08\x47\x17\x40\x57\x75\x9d\x63\x73\x2c\x0b\x42\x35\x29\xcc\xdc\xf7\xe2\x39\xdf\xcf\x8a\xac\x29\x53\x03\xb7\x1d\xd5\x9f\x77\xf9\xce\x71\x54\xab\xd2\x4c\x0d\xdf\x01\x56\x35\x03\xce\x52\x95\x7c\x11\xb4\x8a\x8e\xe7\xc7\x14\x38\x24\x23\x54\x5b\x78\x2c\xc3\x9c\xfa\x46\x33\xa4\x62\xc9\x03\xd4\x3d\x2e\xd8\x06\xdf\xd6\x8b\x3e\x20\x41\xa1\x47\xc5\x9c\xc1\xe7\xfc\x74\x6b\xd8\x1a\x0c\xd9\x3b\x76\x19\x6c\x10\x37\x89\x2d\x96\xd9\x6e\x94\x20\xba\x0c\x36\xb9\xf1\x45\xb8\x34\xb0\x65\x9c\xcb\xbe\xea\x8c\x5c\xc6\x95\x35\x0e\xa7\xe2\x70\x50\x5b\x9c\x88\x90\x6c\x15\x5e\x2a\x55\x85\xfd\xa4\xa2\x1c\x19\xc7\x53\xd6\xac\x72\xaf\x58\x62\xf5\x41\x8d\x50\x5a\xee\xcb\x2d\x1e\x70\x66\x9e\x34\x90\x8a\xf8\x1d\x57\xf1\x87\x0c\x31\x21\x72\x8a\x6e\x56\x0f\x75\xee\x1d\xb5\x9b\xaf\x49\x9e\xa6\x8a\xad\x0b\x41\x3d\x1c\xcd\x37\xbe\xd1\x49\x53\x4d\x57\xb7\x6d\x02\xc4\x9e\x98\x21\x5b\xd3\xf4\xb3\x7e\x56\xe7\x61\x23\x5b\x4b\x5a\xc0\x59\x86\x5d\x37\x49\x9f\x2d\x02\x72\x27\xf4\xad\x4c\x1d\xc8\x70\x54\x3d\xa6\x77\xa4\x45\xe8\x1e\xf7\x83\x56\x14\x5d\x2a\x1e\x31\xd3\x0f\xca\x75\xb9\x48\x20\xce\xa6\xfd\x7e\xa8\xa6\xd9\x9e\x9c\x29\x50\x85\xb5\x81\xef\x87\xc0\xb9\x08\xe5\x14\x83\xa0\x29\x75\x51\x87\xea\x44\xc0\xa4\xc4\xaf\x24\x8a\x89\xce\x0f\x85\xf3\x33\x82\xed\x95\xc4\x4f\x03\x55\x3d\x3a\x2e\xb2\x9f\xcb\x39\xa6\xe6\x73\x7c\x49\x68\x34\xc0\x12\x8b\x2c\x17\xd3\xf5\x6e\x5a\xd6\xe1\x36\x56\x00\xa1\x72\x73\x66\x1d\xb1\xeb\xa3\x47\x10\x5e\x05\x71\xa0\x43\x57\xc3\x41\x95\x4b\x43\x1d\x9d\xd4\xa2\xce\x59\x81\x2d\xc8\xb9\x12\x08\x32\xc0\xd3\xa9\x34\x80\x6b\xec\x07\xe5\x2b\x90\xf8\x0c\x92\x07\x7a\x74\xf1\xb0\xb9\x59\x88\x21\xa8\x28\xb3\x8e\x28\xc1\x64\xa6\x20\x5b\xc9\xfe\xa5\xd6\x7c\x8f\xcd\x44\x0d\x8b\x4e\x53\x5a\x1a\xc5\xa6\xec\xb5\x40\xc3\xa8\x6d\x41\x9f\x91\x79\x98\xc8\x07\x34\xaf\x28\x15\x5c\x62\x03\x97\xc9\x4a\x97\x09\xb7\x41\x2e\xeb\xa5\xbe\x17\x9b\xa8\xb9\xd4\x09\xe3\x76\x5a\x81\xd6\x32\x9b\x2d\x86\xb2\x66\x60\x56\xe5\xcf\x21\x60\x07\xbb\xc4\xa0\x87\xfa\xe2\xda\x90\x52\x5c\xdf\xa7\x3b\x61\x8f\xb2\x0d\x75\x21\x43\xe6\xbc\x06\xa6\x97\x6e\x34\x07\xee\x76\x30\x1b\x49\x35\xef\x6f\xe3\xd3\x99\xa0\xb1\x8e\x90\x77\xdc\xd0\xe5\x2b\x57\x32\x77\x53\xcb\x08\x5b\xb3\x03\x20\x37\x63\x3d\x7d\x88\xbe\x6a\x58\xe9\x1b\xd9\xc0\xb8\xcc\xc1\xc1\x0c\xe3\xd4\x9e\xf1\x79\xec\x02\xd7\x96\x0a\x04\x3c\xd4\xc2\x28\x8c\xd5\x28\x4c\x61\x88\xb2\xa9\x94\x1c\xd0\xbe\x17\x77\x5b\xde\x5f\x96\xb9\x97\x1c\x37\xb9\x25\x26\xe8\xaa\x47\x88\x78\xb7\x1b\x0f\x3c\xaa\x4b\xc6\x64\x18\xa5\x13\x54\xbc\xb4\x48\xa0\x91\x52\x56\x4b\x73\xc7\xc9\x08\x91\x05\xcc\x8a\xd8\x62\x65\xd5\xaf\xf9\x03\x9a\x4d\xd3\x16\xd2\x36\x2e\x7d\x42\x31\xe0\xcc\x98\xb3\xdf\x08\x30\xec\x4e\x85\x9c\x3e\x9d\x8c\xb2\x5b\x84\xe3\x31\x7f\x78\xa3\xf3\xe1\xa2\x73\xe7\x07\x7c\x2d\xee\x08\xfa\x48\x6f\x13\x86\x2e\x67\xdb\xb5\xeb\x57\x82\xe0\x67\x17\x81\xc5\x36\x2b\x74\x77\x96\x20\x4e\xde\x19\x94\x51\x37\x97\xa4\x37\x70\x53\x50\xd5\x9a\x5f\x0f\x48\x08\x75\xf3\xb5\x73\xf0\x95\x51\x6c\xf8\x03\x41\xcc\x97\x9e\x78\x9c\x25\xdb\xd5\x72\x2d\x27\x45\x31\x2d\x00\x45\x4a\x42\xc7\x88\x32\x90\x4d\xcd\xc5\x40\x28\x32\xa2\xef\x33\xeb\x62\x35\x75\x20\x70\x96\x71\xd2\x37\x31\x3f\x81\x14\xdf\x44\xab\x3a\x6b\xb9\xcb\x5c\xaa\x8a\x87\x8c\x1e\xe3\xcf\x42\xe7\x49\x72\x78\x0c\xf6\x02\xd5\x49\x21\x8c\x27\xac\x1d\x90\x08\xa6\x24\x10\x57\xe5\x7b\x11\xce\x9d\x92\xd7\x2c\x35\x22\xce\x10\x7c\x4a\x07\x1f\x3e\xc0\x59\x1c\x15\x41\x35\x9d\x5b\xab\x59\x9f\x79\x00\xde\x71\x78\x33\x6e\x99\x29\x83\xe4\x84\x94\xec\xe0\x58\x1b\x27\x86\xd5\x04\x55\xe1\xc2\xcc\x40\xb1\xef\x34\x64\x01\xe4\x4d\x4e\xba\x29\x40\x18\xbf\xe1\xe7\x11\xb5\xc3\x37\x0b\xdb\xd8\x1d\xc2\x90\x35\x98\x73\x4d\x32\x6b\x14\xf3\x7d\x9d\xb3\xf2\xab\x90\x8d\x87\x02\x50\x12\xa9\xfb\x30\x8d\x0f\xac\xd0\x6f\x86\x75\xb4\x02\x36\xa6\x2a\x98\x2c\x45\x65\xbc\xae\xdb\xe9\x56\x75\x09\x06\x8f\xa3\x2a\x0f\xa8\xaa\xdd\x4d\x4d\xcb\xe1\x76\xe9\xcc\xdf\xa1\x1a\x4c\x30\x78\x29\x34\xe2\xb1\x95\xb3\x40\xdd\x8f\xd1\x17\x52\xa6\xc3\x7c\x26\x16\x8e\x7b\xd8\xd7\x5a\x25\x6d\x49\xcc\x16\xfc\xd4\x76\xa3\xb3\xa2\x71\xaa\xa9\xfb\x7a\x21\xa5\xf3\x13\x0d\x30\x21\xd3\x30\x67\x4f\x22\x43\x4d\x1f\xd2\x6c\xb7\xda\x83\x13\x0d\xf6\xb4\xbc\x76\x0f\x03\x09\x57\xfd\x28\x36\x6e\xc5\xec\x8a\xb6\xda\x96\xc7\xcc\x21\xb7\x92\x71\xa4\xfa\xe5\xea\xa4\x0e\x8b\xcb\x0a\xd9\x78\x2b\xa3\x9b\x03\xe2\xdc\x24\x36\x02\xd8\x4c\x2f\x90\x1e\xaf\xcb\xce\x0d\x60\x45\x94\x86\xd5\xdc\x48\x76\xb9\xc9\x6c\xe8\xb0\xa6\xcf\x0a\x3e\x56\x38\x2d\x98\x33\xc1\x9e\xdb\x66\xc7\xf5\x3a\x56\xb3\x69\x8e\x27\x71\x80\x01\xd9\xe0\x13\x70\x26\x57\x4b\xd2\x9a\xe3\xd9\xfe\xe2\x95\x84\xd1\xa8\x26\x2d\x1d\xbb\xb0\x40\x0e\x56\xba\x2e\xa1\xcb\x3e\x72\x78\x10\x16\x6d\x3b\xcd\x3b\x8a\xd2\xc7\x53\xf9\xb9\x58\xd8\xf1\x32\xac\xac\x22\xd3\xb4\xda\x3a\x57\xec\x09\x83\xf3\xf0\xd8\xe1\x64\xe8\x06\x17\x3a\x5f\x42\x07\x3a\x6f\xdc\xf4\x54\xad\x7d\x22\x99\xdb\xf0\xaa\x3f\x4e\xfb\x23\x96\x92\xfa\x1c\x3d\xb7\x88\x70\xce\x56\x28\x84\xc0\xfd\x74\x8c\xbe\x06\x67\xbe\xa2\x2e\x4b\x7e\x0f\x31\xc2\xd1\x9c\x9a\x3d\xd6\x32\xe4\xd2\xf3\xf0\xac\xb5\x53\x98\x3a\x0e\xe7\x63\x51\xcf\x9b\x92\xac\xb4\x78\x5b\x1d\xc4\xf5\x9e\xa2\x0f\xb0\x74\x80\x5c\x6f\x98\x57\x2d\xb4\xd9\xae\xcd\x86\x5b\x77\x05\xd2\x8c\x87\x46\xfb\x3a\x92\xaa\xe9\x7c\xee\xec\xab\x95\x87\xd6\xcb\xd9\x9e\x3c\x1e\x3b\x8d\xd1\xd4\x8b\x37\xcb\xa6\xa7\x69\x9a\x1e\x2b\x65\x66\xc6\x65\x17\xd2\x1b\x97\x3b\xef\xf2\xa9\x62\x6a\x41\x26\xed\x2f\x10\x6b\x2f\x0e\xe5\xe1\x1c\x5f\x4e\x60\x20\xc2\x31\x9c\x3b\x21\xeb\xd6\x27\xe6\x40\x9b\x82\x46\x5e\xb8\xc5\xc2\x6a\x50\xaa\x91\x21\x06\x66\xb0\x25\x86\xda\xfc\x6a\xb7\xea\x2a\x1d\x65\x58\x19\x3b\xb7\x36\x12\x57\xb0\x6f\xa3\x86\xcf\x84\x97\x04\x0e\x42\x68\xcf\x24\x18\x94\x2f\xf8\x3c\x84\xc7\xca\x92\x50\x4e\x3b\x0f\x2b\x9a\x29\x1e\x87\xb4\x51\xf7\x50\xd9\xe0\xf9\x56\x37\x1b\xd4\x11\x08\x48\x76\xbc\x06\x5e\x87\x99\x1a\x52\x81\x73\x9c\x21\x25\xad\x5c\x60\x91\x3c\x2a\x6e\xc7\x69\x3b\x6d\x85\x41\x28\xb2\xac\x6b\xf4\x44\xa7\x6d\x32\x66\xa3\x92\xc8\x37\xeb\x16\x46\x2d\x40\x4a\xcc\x59\xb9\xe0\x0b\x06\xd4\xec\xd6\xf5\xa1\x6a\x25\x9c\x77\x89\x4d\x1b\xd8\x51\x43\x36\x8a\x56\x2f\x1b\x4a\xc3\x66\xa8\xc6\x1f\xcd\x9a\xea\x4a\xa6\xe3\xf7\x00\x75\x5b\xdb\xd9\xf6\x16\xa0\x0c\x71\xcc\x02\x36\x3b\x72\x21\x02\x8a\x59\xed\xa3\x8d\xe3\xbb\xe0\x22\x78\x3b\x04\xa7\x62\x79\x7d\x3c\x94\x36\xa1\x66\xa6\x82\xcf\x63\xc6\xeb\x35\x86\xed\xe0\xc3\x86\xe9\x08\xd9\xc1\xb4\x7e\xd0\x04\x65\x23\xfa\x7e\x6b\x87\x4d\xab\x0b\x67\x63\x93\x8e\xaa\x77\xc0\xfa\x64\x87\xc3\xb5\xed\x4c\xb7\xb3\x0e\xe4\xac\x7e\xa1\x79\x45\xb0\x7b\xe7\xdc\x19\xd8\x14\xec\x7c\x4c\xc1\xf7\xeb\xa9\xae\x18\xb9\x05\x8b\x40\x54\x15\xa2\x81\x3d\x7a\x7a\x71\x92\x7c\x81\x09\xf5\x65\xab\xc9\x09\x5c\xce\xb1\x70\x8c\x0f\x97\x9d\x91\xb0\x85\xd1\xed\xf7\xca\x89\xb1\x8e\x55\x85\xa0\x2b\x82\x64\x24\x8d\x37\x28\x55\x64\xc8\x34\x25\x3a\x61\x8b\x75\xd9\x76\x73\x3a\xcd\x36\x87\x69\x7d\x54\x16\x08\x66\x86\x5a\x8d\x4b\x3b\x79\x49\xac\x3b\x1e\x1e\xa4\x7e\x79\x62\xc7\xc3\x29\x90\x30\x6c\x36\xb3\xb3\x2b\x0c\x39\x7a\xcc\x11\x6b\x13\x6a\x5c\xac\xc4\xd6\x45\xa4\xa4\xf5\xe6\x60\x1c\x94\x7c\xdd\xed\x58\xfe\x52\xcd\x6b\xa6\xde\x37\x06\xbd\x98\x9e\x8a\xb6\xdf\xac\x0c\x9a\x11\x45\xf8\xe8\x9c\xd4\x5a\x4a\x22\xd5\x4f\xc7\x52\xd5\x6a\xba\x76\x1b\x25\x9b\x95\xd6\x56\x38\xcf\x40\x8c\xc1\x4a\x0a\x84\x64\x63\x2c\x05\x74\x71\x64\x17\x3c\xa8\xa2\x68\x1d\xd7\x6b\x9b\x17\x12\x7e\x10\x3a\x9a\x34\x6e\xb4\xbc\xb8\x42\x7a\x36\xa4\x65\x86\x2f\x31\x40\x70\x8b\x8e\x18\xc5\xc6\x5b\xbb\x08\xa1\x2d\x17\x82\x8f\xba\x3c\xb7\x55\x9b\x46\x55\x1d\xbc\xa5\x22\xe7\x00\xa0\x43\x87\x4b\xa9\x21\x10\x80\xcd\x00\x0a\xdc\xbd\x74\x99\x59\xe9\x16\x60\x38\x58\x09\x9b\x96\xbe\xbe\x73\xcb\x7e\x3d\xaf\x5c\x1f\x6b\xec\x51\x97\x17\xa5\xb1\x60\x70\x6b\x9e\x40\x6b\x39\x9a\x79\x29\xaf\x88\x30\x0c\x10\x7f\xbb\xc6\x6c\x4e\x70\x70\x2c\xc9\x07\x1f\xc8\xfe\x79\x3e\xe7\x57\x53\x28\xb3\xd8\xd3\x31\x4f\x4e\x12\x5a\x2f\xfa\x0b\xbc\x02\x7a\xa5\x52\x81\xca\x48\xf1\xc5\x1b\x01\x3a\x82\xe3\x7a\x1b\x21\xd7\x68\xd6\xb7\xf4\x74\x41\x59\x5d\xe0\x17\xbb\x53\x10\x25\xc2\xd9\x43\x96\xa9\x99\x48\x97\xfe\x28\xd6\xde\x21\x39\xa9\x68\xaf\x65\x54\x9e\xd8\x3e\x72\x30\x6a\x5e\x9f\x95\xe5\x72\x8a\x7a\xde\x71\x91\x0b\x56\x31\x1a\x58\xff\xa2\xb3\x72\x40\x47\xec\x26\xef\x91\xcd\x4a\x3a\xba\x6e\x5a\x85\xa1\x6e\xe3\x5d\xb3\x6b\x17\x6a\xc8\x6e\xac\x23\x64\x1b\x32\x16\x93\xab\x54\x5b\x08\x86\x87\xb8\xa0\x20\xc0\x0a\x59\x0d\xf1\x66\x5e\x2d\x18\x60\xca\x4c\xc6\xb5\x9b\x51\x53\x98\x84\xae\x91\x72\xbf\xca\x89\x6a\xb5\x9f\x43\xf1\x42\xd7\x18\xc1\xab\xa4\x8e\x5e\x2b\x76\x85\x14\x7e\xd7\x1e\xc3\x65\xc3\x95\x9b\x03\x36\x6d\xd6\xcd\x39\x4b\x64\x8f\x8b\xb3\xd4\xdc\xc2\x52\x22\xc5\x4b\xe0\x1c\x68\x47\x01\x22\xbe\x7e\x38\x3e\x03\x35\x5b\xd2\x5e\x48\x07\x25\x0b\xe6\xcb\x33\x6a\x07\x78\xef\xa0\x81\x8f\x6e\x30\x3f\xdd\xa4\x76\xd5\x1d\x72\x0d\xe3\x16\x28\x59\x9a\x12\x52\x17\x82\x86\x2e\xd6\x9e\xd6\xcf\x8f\x48\x37\x48\x52\x8f\x70\x33\x18\x2d\x66\xc8\x85\x3c\x8e\x45\x8c\x05\xd6\x3a\xe5\x65\xb3\x61\xe6\x5e\xd7\x30\x8b\xc8\x70\xab\xf3\x52\x66\x84\x5e\x5b\x64\xc9\x51\xe8\xf2\x40\x5e\x36\xe7\xcc\x0f\x78\xa2\x83\x49\xd0\x1e\xc9\x36\x93\x7d\xe5\x04\xb8\xf2\x64\xa9\x3c\xd8\x50\xf0\x59\x5c\xb9\xa8\x8b\x3a\x63\x95\x38\x82\xd3\x73\x26\x4e\x37\xf6\x1a\xdd\x87\x1c\xac\x29\x29\xed\xa5\xae\x50\xb8\xe9\xce\x65\x18\x63\xc5\xa1\x06\x0b\xef\xd7\x79\xee\x85\xbd\xed\x39\xbc\x11\xf6\x54\x4e\x5b\x7b\x82\x99\x26\x2a\x9c\xa2\xb9\x1b\xaf\xad\x4d\x3a\xdd\xf7\xec\x43\xdd\xa6\x39\xb7\x2b\x18\x85\x5d\x61\x6d\xb4\xf4\x6e\x96\x94\xeb\x41\xaf\x0c\x2c\x36\x4b\xf3\x92\x28\x32\x67\xa9\xb1\xb8\xdf\x01\x2d\x83\xda\xa4\xaf\x98\x1e\xd7\xe0\x7a\xe7\xb1\x43\xb5\x42\xec\x6c\x0d\xec\x4c\xa6\x57\xb3\xa2\xcc\xe4\x7a\x3c\x75\x25\xaf\x9b\xc5\x72\x75\x18\x2e\xdc\x7a\xb9\xdd\x64\x3d\x8a\x5c\xce\xfa\x2c\x56\x97\x50\xa5\x94\x06\x15\x24\x62\xa1\x9b\xf2\xd6\x95\x13\xb3\xc8\x35\x33\x2e\x34\x94\x19\x9c\x3e\x32\x97\x5e\xab\xe8\x54\xee\xd9\x7a\xa2\x20\xd3\xfa\xbc\xe4\x47\x2e\xaf\x96\x42\xed\xda\xf2\x6e\x39\xf3\x2f\x03\x71\x54\x62\x13\x0e\x38\x72\x23\x6e\x4a\x72\x5b\x96\xdc\xba\x21\x77\x9e\x33\xd3\x9c\xa9\xed\xb0\x4c\x7b\x92\xba\x0b\x3f\xeb\xf2\xb0\xbc\x20\x95\xba\xc8\xf2\x56\x2a\x8c\x1a\x77\x1a\x95\xc3\xe4\xd1\xa7\xb0\x86\x78\x82\xc4\xc1\xa1\x8e\x30\x2e\xed\x61\xc9\x59\xbb\x87\x94\x58\x14\xac\xb9\xca\x22\x8d\xc3\x69\xc3\x5d\x6b\xc8\x0a\x92\x24\x87\xdf\xf8\x00\x78\x9d\x03\x21\x76\xb5\xa3\xa7\xdb\x14\x3f\x4d\x8f\x39\x74\x48\xa8\x8a\xaa\x49\xac\x19\x35\x65\x57\x54\xd5\x3a\x53\x98\xe3\x26\x1e\x54\x0a\x17\xd9\x4d\x09\xc2\xb3\xa4\x6d\x10\xad\x3e\x2b\x3d\x7d\x29\x9a\x22\xe7\x86\xdd\x39\x9d\x52\xcd\xb4\xaf\xb8\x8b\xba\x1b\x76\xc3\xa5\x0f\x9a\x63\x1a\xc9\xfb\xdd\x72\xa9\xa7\x86\x84\x4d\xb9\x74\x74\xf4\xc4\xfe\xe2\xd2\x07\xc8\x35\x87\x1c\x57\x57\xba\xae\x36\x60\x3b\xf4\xdd\xb9\x8d\x0d\x73\xe3\xec\xf4\x64\xee\xd8\x3d\xaf\xe6\x04\xd2\x46\x85\x38\x0c\x91\xd6\x91\x2a\x83\xaf\xb6\x36\x14\x1e\xc5\xd6\x1b\xd0\x93\x6c\xc4\xba\x04\x1b\xe6\xc8\x94\x46\x55\xdb\xc8\xa0\xbb\xf9\x02\x9d\xb2\x5b\x6e\x43\x72\xae\x52\xba\x0a\x4c\xd8\x88\xa2\x6f\x70\x61\x49\x78\x5b\xf9\x12\xd0\x5e\xad\x1f\xb5\x42\x38\xb5\x47\x50\xac\x12\xb8\x35\x36\x7d\x8b\xe9\x53\x64\x2d\xb5\x2c\x7a\xf1\x0f\x73\xc7\x42\x6f\x00\x39\x27\x67\x55\x75\xd5\x91\x12\xa4\x01\x11\x2b\x38\x84\x86\x08\xc9\x9c\x06\x55\x4e\x78\xeb\x19\x69\x70\x95\x58\x99\xda\x4c\xf3\x57\x19\xb7\xe7\xce\x97\xad\xe7\x57\xc7\x7d\x43\x09\x24\x0a\x23\x46\x57\x42\xdb\x35\xe5\x21\x79\x31\x3f\x8d\x06\x96\x39\x99\x89\xd8\x9e\x6d\xda\x36\x97\x60\x3b\x10\xfb\x64\xfc\x0f\xe9\x95\x29\x3d\x5d\xa8\xca\x4a\xb9\xf4\x0e\x42\x03\x00\x00\x7b\x94\x28\x9d\x96\x22\xe3\x28\xc5\x42\xb2\xbf\x98\x3a\x05\x9b\x22\xb8\xf0\x04\x89\xec\x14\x30\xd6\xb1\x77\x0a\xdf\x69\x04\xd9\x0b\x67\xb5\x13\xce\xe0\xb2\x53\x00\x2c\x9c\x41\x27\x58\x72\x84\xfb\x00\x00\x5c\x83\x25\x2d\x80\xcd\x2d\x05\x9b\x4a\x5e\xdb\x88\x94\x9b\x69\x04\xf8\x33\xe8\xf9\x0b\xdc\xf3\x32\xdc\xf1\x9a\xd8\xf3\x44\x36\x86\xc4\x02\x91\x5d\xf6\x38\xdc\xed\x89\xac\xe3\xf7\xb6\xb5\xc6\x6e\xad\x79\x20\xab\x9a\x20\x71\x0b\xdc\x60\x98\xd7\x74\xc7\x9d\x2c\x75\xac\x1a\x72\xad\xda\x7b\xf3\x6e\xf2\xa6\xf6\xfa\x1a\xca\x63\x2b\x4c\x6f\x3f\x89\xd3\x78\xef\x26\x08\x32\x01\x8d\x3f\x41\xe0\xd9\x6a\x02\x2f\xff\x3a\x47\xfe\x8a\xce\x26\x53\x18\x7e\x48\xb3\xbf\x01\xfe\x76\x3f\x40\x9c\xf9\x50\xeb\x95\x55\x98\xa5\xcf\x17\x99\xbd\x5f\x7d\x1f\xa4\xfb\xb8\x5e\xf1\xfb\x05\x5e\xff\x32\x5b\xbe\x02\x98\x1f\xd6\x10\x4d\x02\xe2\x39\x18\x3f\xac\x27\xa5\xd7\xfe\x72\xbb\x20\x7e\x72\x1b\xf3\x09\xdc\x37\xae\xbb\xf6\xfa\x3c\x2b\xeb\xf7\xe7\xea\xa7\x24\x73\x9b\xd8\x7b\x3f\x3e\xb8\x5d\xd8\x73\xfb\x81\xa2\xdb\xb0\x87\x69\xef\x6e\x4f\xe2\xd0\xfe\xeb\xf5\x7f\xb7\x2b\x83\x6e\xbf\xc5\xf5\xef\xd0\xe4\x9f\x3f\xbf\xfb\x09\xfa\xf7\xc9\x6c\x31\xf9\x77\xe8\xe1\xd1\xdb\x4f\x97\x39\xdd\x40\xbf\x9b\x3c\xc0\x7e\x37\xf9\xed\xb7\xce\xb3\x73\xcb\x89\x7e\x2b\xbd\xa2\x09\x4b\xef\xb7\xdf\x7e\x9e\xfc\xd7\x4f\x3f\xfd\xe5\xd3\xdd\xd5\x7f\xf9\xf5\xa7\x9f\x1e\xae\x71\x1a\xef\x56\xfa\x78\xf9\xda\x47\x28\x7f\xf9\xed\x37\xaf\xe2\x6f\xb0\xff\xf2\x6e\xf2\x5f\x93\xd6\x8a\x1b\xef\xaf\x93\xba\x6c\xbc\xdb\xef\x2a\xb5\x56\x39\xe2\xfd\xdb\x6c\xf2\xe1\xde\x9a\x6f\x67\xf0\xc3\xb0\xfe\xeb\xc3\xd0\x87\x61\x9d\x67\xd7\xf5\xe5\xe5\x71\xc8\xa7\x71\x55\xe6\x44\x5e\xfd\xf2\xd0\xd9\xc3\x50\x2f\xf6\x92\xc9\x87\x89\x9b\x39\xcd\xed\x2a\x73\xdf\xab\xc9\xf1\x56\x73\xec\xc2\xb8\x6f\xff\xf2\x78\x57\xff\x5f\x7e\xfe\xf5\xa7\xf0\x34\x79\x7b\x1b\xff\x6f\x1f\xc6\x9b\x73\x3f\xbf\xac\xea\x3a\xf0\xd3\xcd\x54\x7e\x76\x45\xf4\x76\xb7\xc2\x87\x0f\x93\xbf\xdc\xc8\xf0\x97\x4f\xb7\x53\x4d\x26\xe3\xab\x4f\x3f\x67\xf6\xdb\xec\x3d\x7d\xfd\xfb\xb6\xc0\xe3\x75\x53\xb7\xff\x7b\x71\xe5\xdd\x9f\xf8\x40\xb5\xf7\xc7\xfb\x13\x47\xfa\xd7\x79\x45\xa6\x96\x1d\x7b\xee\xe4\xc3\xa4\x0b\x53\x37\xeb\xde\xc7\x99\x63\x5d\x25\x63\xbc\x08\xcc\xc9\xe2\x07\x24\xeb\xbc\xfa\xeb\x5f\x7e\xfd\x38\xb9\x29\xe3\xc9\x87\xc9\xdb\x2f\x60\xfc\xe7\xe4\x4d\x57\x55\x7f\x85\xa0\x37\x93\xbf\x5e\x3f\x5e\x3f\xfd\x3c\x99\x3e\x83\x1c\x64\x55\x7d\xe7\x71\x6e\xd5\xc1\xed\xba\xaf\xe9\x75\xf2\x9b\x4f\x6b\x59\xa5\x5f\xdd\x41\xb0\xf2\xac\xd2\x09\x3e\x0d\x3b\x59\x4e\x9d\x95\x97\x07\x02\x7c\xc6\xe7\xf7\x78\x96\xa6\xe3\x2f\x4a\x52\xe3\x98\xb7\x4d\x19\xbf\xfb\x28\x32\x1f\xb7\x5a\xfd\xfc\x09\x5a\x57\x7f\x02\x34\x8e\xd2\x3d\x5b\x51\x8c\xb7\x37\x6d\x7b\x5c\xec\xdd\x0d\xb9\x77\x93\x91\xa7\x56\x53\x07\xbf\xd5\x59\xe4\xa5\x9f\x01\x72\xe2\xac\xf2\xca\x9b\xb4\x75\xf5\xfb\x2c\xf7\xd2\xc7\x3b\xc6\x1e\x36\x64\xb9\x2e\xd9\x7a\x69\xbd\x0b\xab\xda\x4b\xbd\xf2\xed\x5f\x9a\x34\xce\x2c\xf7\x2f\xef\x3e\xdd\x06\xfe\xf6\x73\xf9\x78\x84\xf8\xe9\xae\xb2\x91\xf5\xef\x6f\x2f\x1e\x9f\x5e\xd5\xec\x9f\x3f\xfd\xfa\xcc\x0c\x2c\xff\x64\x66\x00\xcf\x92\x3c\xab\x6e\x37\x6b\xd3\xe3\x65\xde\x1f\x3e\x21\xf6\x69\xe3\x1f\x9f\x3c\x1b\xff\xf6\x6a\x72\xad\xd2\xb3\xde\x4d\x9c\x4f\xef\xb4\xd0\xeb\xde\x4d\x1e\x55\xf4\x0b\xf5\x0a\xc2\xea\xfd\xe3\x9c\xc9\x87\xc9\xe3\xc7\x5f\xbf\x1c\xf1\x04\xd6\xe4\xc3\x53\xe8\xbf\x3e\x85\x38\x2e\x75\x83\x38\x7e\x7c\x32\x22\xac\x1e\x70\x4f\xfd\xc9\x87\xc9\xc9\x8a\x2b\xef\xd9\x08\x79\xbc\xa8\xff\xb3\x4d\xbe\x30\xf4\x33\x64\x0e\x9f\x46\xfe\xd7\xa4\xaa\xad\xb2\xfe\xeb\xcd\x04\xbd\x9b\x78\xa9\x3b\x7e\x9c\xfc\xf3\x73\xed\x7f\x46\xc2\xcf\xaf\x86\xfd\xf4\xee\x06\xea\xb3\x9b\xff\xbe\x94\xc2\x3b\x5b\xba\xf2\xf5\xdb\x68\xbe\x7f\x84\xfb\x05\x23\xde\xdf\x64\xe3\x7d\xec\xa5\x7e\x1d\x7c\x9d\x15\xb7\x39\x78\x96\xd6\x5e\x7a\x05\xf3\xe6\xcd\x37\x86\x3b\xb1\x55\x55\x57\xed\x1a\x7d\xb6\xe5\xd4\x61\xeb\xbd\x79\x54\x93\x5f\xbf\x87\x24\xe3\xe5\xd3\x5f\xd0\xc4\x6b\x3f\xa7\xca\x55\xa2\x7f\xbb\xdd\xd6\x38\xee\xef\xbb\x76\xe2\xb5\xef\x5d\xab\x7e\x2a\x88\xe3\x9a\x9f\x21\xf8\xe0\x84\xaa\xcf\xf5\xbf\xf2\x6a\x25\x4c\xbc\xac\xa9\xef\xe8\xce\xe3\x9f\xdf\x5e\x64\x89\x97\x5e\x5d\xc0\x6f\xaf\xe1\xc8\x3f\xdf\x4d\xe0\x1f\xa2\xdd\xb8\xc6\x57\x84\xe9\x74\xd5\x99\x70\xf8\x7c\xab\x6f\xaf\x22\xf5\xfa\xd5\x22\xef\xe2\x66\x5d\xfa\x15\xfe\x7c\xbc\xb2\xf2\x73\xc9\xfd\xef\xff\x7e\x59\xfd\x9e\xd2\xf0\xe6\xe8\xdb\xeb\x4a\x78\xe6\x7a\xb7\x3b\x2f\x11\x64\xf3\x74\xd4\xe4\xd3\xd5\xb2\x4f\x94\xf7\x93\x16\x3e\xfe\xb9\x39\xf1\x3b\x60\x67\xcb\x2b\x62\x4f\x1f\xae\xee\x3d\x5c\xff\xee\xf5\x9f\x4f\x7f\x91\x25\x37\x80\x3f\xbf\x04\xf1\x9f\x3f\x7d\x1f\xa5\x6e\xcb\x04\x56\xea\xc6\x1e\x48\x2f\xca\x83\xec\xe1\xe3\x45\x60\x6f\x9f\x2c\x73\x7f\x4b\x9f\x96\x7c\xbc\xf1\xf7\xa3\x1d\x7a\x85\xcc\xdc\xd9\xe2\x17\xf2\xd3\x59\x61\x4d\x65\xe5\xd5\xb9\x65\xbe\xf5\x54\x24\xbe\x53\xdf\x3f\x99\xa2\xd2\x4b\xb2\xd6\x7b\x6a\x8d\x26\xaf\xf7\x15\x4e\xec\x59\xe5\x23\xbd\x1e\x15\xf9\x73\x82\x5d\xe9\xff\x6f\x5f\xc7\x7e\xf2\x7d\x8e\xe7\x71\xc3\xe3\xfd\xf1\xf7\x0d\x78\xd5\xd8\xd5\xed\x3e\xe3\xb7\x5f\xb7\xff\xef\x5e\xf6\x0f\x5e\xea\x3e\xe1\xfb\x17\x0e\xf6\x41\x5a\xca\xb7\x37\x34\x7e\xbe\x27\x07\x77\x44\xfa\x16\x8a\x35\x65\xe9\xa5\x35\xfe\x7c\xcd\x5b\x78\xf6\x5c\x07\x1e\x9c\xe9\x37\x76\xf2\x6c\xda\xcd\xed\x7e\x6d\x7b\x5f\x4e\xf9\xe7\x9d\xcd\xbe\xc0\x90\x2f\x3d\xec\xe4\xb5\x86\xff\x51\x1c\x7e\x7b\xb5\x99\x7b\xfc\xf3\xf2\x8c\xfb\xe2\x71\x4f\x4c\xda\x2c\x74\x27\xf0\xfd\x71\x9f\x63\xf5\x51\xe2\x5f\x42\xe6\x36\xe1\x01\xe8\x5d\x5f\xf5\x49\xf8\xbe\xc6\xea\x47\x01\xfc\xea\x98\xe7\x42\xf8\x91\x5d\x77\x9f\xbe\x60\x45\xff\x70\xb4\xbf\x0b\xa9\xdf\x5e\xa7\x38\xf7\x81\x7c\xe6\xe8\x3f\xbd\x7c\x85\x41\x7d\xc9\x98\xbf\xe8\xfc\x5f\xb6\xa1\xd7\x37\x59\xec\x6a\x57\x2a\xdd\xb7\x37\xdf\x19\x01\xdd\x6c\xe2\xab\xe4\xed\x76\xf9\xb4\xd7\x3d\x2e\x7d\x8f\x6f\xcf\x09\x78\x9d\xe4\x86\xa7\xd3\x98\x3a\xde\xe6\xbe\x2f\xbd\x3c\xb6\x1c\xef\xed\xe3\x3e\xde\x4d\xde\xbc\xb9\x43\xfb\x2b\x66\xd7\xa9\x0f\xf1\xd6\xe4\x6f\x13\xf8\xeb\x3a\xf9\x8c\xab\xd7\xd9\xdf\x66\xea\x0f\xc6\x71\x2f\x06\xa1\x5f\x70\xd5\xcd\xd2\x5a\xf2\x9c\xa6\xac\xbc\xd7\x31\xf8\xc6\x8f\x6f\xb1\x63\xf4\xea\xf7\xec\xfc\x83\x51\xaf\xb2\xf2\x93\x74\x3c\x50\xc5\x1b\xf1\x7b\x5f\x34\x5e\x79\x91\xbd\xd8\xbb\xe6\xeb\x6f\xdf\x7c\x1c\xf0\xcb\x38\xef\xcd\x13\x87\x39\x3e\x7d\x8a\xc1\xc7\x3a\x94\x94\x75\xd5\xab\x97\xba\xcd\xf8\xa5\xcc\xba\xea\x29\xc3\x3f\xe1\xad\x64\xf9\xe4\xc3\x27\xd8\xef\xb3\xd3\xe9\x2a\xc8\x59\x3e\x99\x3e\x8c\xf8\xf4\xe8\x8e\x9b\x78\x1a\x5f\x54\xf5\x25\xbe\x86\xec\xa7\xab\xad\xf9\x62\xfe\xee\xfa\x6c\x3a\x79\x93\xf7\x6f\x5e\x0d\xa7\xbe\x21\xf7\x09\xd1\xef\x9c\x1e\x78\xa1\x1f\x3c\x43\x84\x1e\x9f\x7e\x27\xac\x38\x4c\x3d\xfa\x7b\xe1\xdd\xc8\xfc\x25\x38\x2c\x6b\x52\xf7\x23\x0b\x9f\xae\xe5\x7b\xf5\x6d\xc0\xd5\xd3\xc5\xa1\x77\x13\xe6\xfa\x69\x10\xfa\xa5\x25\xf8\x51\x8a\x3f\x01\xf0\x6a\x52\x3f\x99\xd7\x85\x6e\x1d\x3c\xaf\x4d\x8c\xdb\x7c\x78\xfb\x5a\x58\x9f\xf8\x75\x17\x58\xf0\x0d\xc6\x3d\x25\xc9\x17\x1c\xfb\x1e\x88\x5f\xa6\x10\xff\xf6\x82\x51\x99\x7c\xc5\xe6\x3f\x26\x02\xbf\x7d\x23\x81\x1e\xb3\xcb\xaf\x7a\xba\x57\xa4\xb8\xf7\x02\xf1\xaf\x67\xba\xf7\xa5\xe7\x59\x21\xe3\xae\x8c\x3c\x8e\xfa\x02\xbf\x87\xfd\x3e\x43\xf3\xd7\x9f\xfe\xf9\xf6\xe7\x9f\x7f\xfd\xe9\xa1\x22\xf7\xfe\x5e\xb1\xed\xce\xa4\x9f\x20\xe8\xff\x37\x19\xfb\x1c\xbc\x95\xe7\x61\xea\xab\xd2\xee\xc3\x73\x22\x9c\xab\xf7\x89\x95\x3f\x2b\x31\xae\xfe\x64\x25\x46\xb2\x72\xac\xdc\x93\xbd\xa2\xf1\x52\xc7\xab\x5e\xac\xfc\x3f\xf6\x08\xf0\xc0\x2a\x2b\xaf\x7e\x79\xe0\x63\xd3\x81\xb9\x06\x52\xf4\xe8\x7f\xbf\x51\xb6\xfc\x7c\xe8\xdb\xdf\x5e\xac\x4b\xfe\xf6\x59\x19\xf1\xb7\x2f\xeb\x88\xa3\x58\x7e\x0e\xe7\x33\x21\xb4\x5c\xf7\x8a\xf5\x17\x62\xe7\x04\x56\xf9\x6e\xe2\x64\xae\xf7\xb4\x02\x72\x7d\x33\xf9\xdb\x87\xc9\x9b\xc9\x9b\x7b\xae\xce\x09\x7e\x7b\xb4\x2b\x9d\x73\xfb\xf4\xf6\x06\xe5\xd7\x67\xb1\xd4\x97\x38\xbf\x77\x46\xc2\x4d\xfe\xcf\xff\x99\xdc\x7f\xf3\xf7\xeb\xdf\xff\xb8\x17\xd8\x38\x23\xf6\x5f\x9b\xf6\xb5\x22\xc6\x15\xed\x32\xeb\x9e\x43\xb8\x4c\xa6\xcf\x1e\xd9\xd6\xd3\xb4\xe5\x66\x68\x3e\x6e\xfb\x39\xfa\xfd\x4b\x19\xd5\x93\x71\x57\xa3\x57\x5d\xdd\xc8\xdb\x32\xeb\x7e\xfe\xfb\x53\x28\x93\x5f\x26\xb3\xbb\xbb\x9f\x7c\x11\x0b\x7d\x1f\xbc\xbf\x23\x2f\x82\xfc\x61\x2c\x91\x7f\xfc\xfc\x22\xc0\xc9\x33\x59\x7d\x15\xc0\xbf\xcf\xfe\x31\x99\x7e\xb8\xf1\xf9\x0f\xcc\xab\x7e\x84\x5e\x3f\x86\xc8\x13\x58\xa3\x53\x91\xae\x99\xcd\x53\xf2\x5e\xbe\x19\x85\x4f\xee\x44\xb5\xcf\x47\xdd\xe1\x5c\x7f\x0d\x0b\x1f\xc5\xf4\x97\xc9\xec\xaa\xc4\x4f\x55\x26\x8b\xab\x57\x4a\x6b\x57\x5a\xb9\x55\x5e\x7d\x31\xff\xc4\x48\x7c\x65\xe3\xfd\xe4\xc3\x4b\xc9\xfc\x53\x3a\x4c\xa7\x2f\x27\xfd\xcf\xd4\xf4\x6f\x4f\xa7\x57\x4e\x99\xc5\x31\x96\xd5\x75\x96\x7c\x4d\xc0\x9f\x42\xfa\xe5\x97\xfb\xab\xde\x19\x3b\x2e\xf1\x79\x91\xf9\xe9\x9f\x3f\x56\x28\x9f\x09\xca\xfb\xb0\xd2\x4b\x2b\xcf\x6f\x1d\xd8\xe7\xc5\x9d\x97\xb1\x78\xfe\xe4\x2b\x38\x8d\x26\xff\xd1\xa6\x7f\xf8\x30\x41\x5e\xd6\xee\x7b\x62\xf9\x7c\xc1\x2f\xff\xf5\x3b\x0d\xef\x93\x51\x61\x5a\x79\x65\xfd\x92\x44\x9e\xb2\x72\xf2\xf6\x6a\xed\x93\xac\xbd\xd5\x14\xe0\x5f\x1f\x3e\xfe\xc7\x47\xcd\xf8\x75\x32\x9d\xde\x9e\xbd\x24\x36\x37\x6f\x71\x2b\xc0\xba\xcf\x11\x7f\x99\x5d\x2f\xec\xe8\xe7\xf7\x79\x96\x3f\xcd\x12\x3e\xdf\xe0\xc3\x52\x7f\x47\xfe\x71\xa3\x3e\xfc\x22\xf1\x9f\x3b\x9e\xaf\x1b\xb4\xab\xae\xdf\x8c\xeb\x1f\x0f\xf1\x11\x59\xe4\x3b\x54\xef\x95\xa0\x27\x1f\x26\xcf\xde\x35\x25\xa8\xeb\xf2\xdd\x35\x22\x79\x37\x99\xfd\xe3\x77\x18\xe6\x2f\x91\x78\x5f\xe5\x71\xe8\x3c\x33\xd1\xfd\xbb\x09\xfc\xee\x9b\x58\x7c\x47\x35\xe5\xbb\xa9\xd1\x7f\x95\x0c\x0f\xa1\xdb\x83\x3c\xff\xe3\x4e\xb6\xf5\x19\xa4\xa7\x66\xf6\xc7\x3d\xd5\x1d\x43\xf1\x52\x67\xe8\x8f\xd9\xe7\x9b\x37\xef\x26\xf0\x1d\x6e\x7f\x6b\x8b\x4f\xfb\x4d\x0f\xc9\xd0\x0b\xc1\xb1\xed\xc5\xf1\x0f\x54\x1f\xef\x05\x64\x6d\x58\x35\x56\x8c\x79\x71\xfc\xfa\x2a\xd5\x13\x10\x8f\xe5\xa2\x31\xa9\xb3\xb3\xd2\xf5\x4a\x3c\x8b\x6f\x35\xac\x37\x5d\x10\xd6\xde\x9b\x6f\x57\x35\xbf\xcc\x70\x5f\x09\xfc\xcd\x2d\xd5\x9d\xc1\x4f\x6a\x5e\x4f\x40\xe4\x59\x2e\xa4\xf7\x76\xf8\x64\xdc\x29\x73\x9a\x2f\x3a\x74\xaf\x61\xc5\x55\x58\x28\xcf\x7b\xb9\x13\x7c\x2f\xab\xc8\x6e\xb7\xae\x92\xd9\xb7\x30\x7a\x12\x9a\xbc\xc8\x81\x2f\x02\x93\xdf\x1f\x8c\x7c\x2b\x00\xb9\x1f\x74\xdc\x6d\x5c\xdd\x0d\xf9\x5e\x17\xe3\x3d\x9d\xf6\x39\x16\xaf\xe1\x8c\x63\x95\x65\x68\xf9\x9e\x34\x0a\xd6\x57\xeb\x17\x77\x49\xfe\x0d\x1d\xb4\x9c\xa8\xca\x2d\xc7\xfb\x1e\xce\xf7\xf7\xca\xe0\xbf\x77\xa3\xb5\x65\x7f\xcf\xee\x9e\x3c\x4a\xbd\xbe\x96\xeb\x4f\xfe\xfe\xeb\x6b\x55\x41\x78\xaa\x85\xe6\x1b\xa7\x68\x3e\x93\x0d\xaf\xf6\x77\x5e\xeb\xc5\x6f\x67\xaf\x87\xcf\xbc\x9a\x5b\x9f\xc0\xc3\xaf\x02\x3f\x86\x62\xb7\x72\xc8\x17\x4b\xe4\x56\x69\x25\xd5\x53\x2b\x7a\x7b\xfa\xee\x1a\x0d\xbe\x9b\x9c\xaf\xde\xeb\x13\x5f\x6e\xaf\x26\x1f\xc6\xbf\xab\xbf\x7f\x6e\xf2\xaf\x6c\x1f\x5f\xff\xc7\x64\xf6\x65\x5c\xfa\x38\x6b\xf6\x69\xf4\x0f\x86\x9a\xe7\xe7\x93\xfa\x4f\x6f\x9d\xe0\x8e\x8f\xf2\x4a\xab\xf2\xae\x5e\xea\xed\xcf\x77\xc2\x92\x2e\x08\x63\xef\x01\xf1\x5f\x7e\xb9\x86\x59\xe7\xc9\x7f\xfc\x80\x9a\xde\x8f\x56\xce\xd3\xe9\x2d\x40\x71\x82\x7b\xb5\xe7\x17\x67\x3f\x09\x43\x5f\xa5\xf5\xb7\x8a\xb3\x9a\xbf\x96\xbd\xaf\xe1\xe1\x93\x1d\xdf\xe1\xe2\xcb\x96\x79\xf2\xcb\xc3\x02\xdf\x30\xd0\xff\xf1\x4d\xbb\x70\xb9\xe7\x0c\x5e\x43\x0c\xe2\xe9\x09\xa2\x7f\x25\x39\xa6\xaf\x23\xc7\x73\x17\x51\x66\xdd\xb7\x64\xef\xf2\x5c\x29\xae\xb3\x26\xbf\xdc\xc7\xed\x5f\xe9\x9b\x6e\x8c\xa1\xb2\xb2\xb3\x4a\xf7\x4f\xc2\x9b\xfe\x75\xbc\xf9\x51\x12\xdd\xa9\x85\x8e\xf9\xd3\x33\xdc\x5e\x43\x3a\xcc\x72\xa2\x7f\x25\xed\xfe\x47\x65\xe7\x2e\xf9\x5e\x65\x47\xfa\x57\xd8\x91\xbb\x41\xe5\x6b\x68\xbe\xf7\xfa\x7a\x17\xa6\xde\x9f\x44\x5e\xff\x54\xb6\xe4\x9b\x51\xe4\x2b\xe8\x7b\x28\x3d\xc7\x73\xc3\xd4\xff\x53\x11\xf9\x7f\xd6\x7f\xfd\x51\xb4\xbb\x86\x74\xc0\xae\xb2\xb8\xa9\xff\x2c\xa4\xeb\x1f\xe1\x7f\x92\x99\xd7\x68\xd9\xdd\x86\xeb\xfd\x5d\xdc\x02\x53\x27\x8b\x9f\x46\x93\x1f\x77\xf5\xa5\xb4\x7e\xdc\x59\xf5\xf1\x4c\xce\x9d\x82\xc8\xed\x1b\x32\x8f\x20\x66\xff\x78\x49\xe0\xef\x54\x67\xc7\x99\x77\x59\x7c\x2b\x1a\x66\xdd\x3d\x29\x19\x51\xbe\x3b\xeb\xe3\x41\xe2\xeb\x98\xd7\x69\xf1\xdd\x70\xfa\x5b\x41\xc0\x15\xf1\x3b\x98\x7d\x65\x3f\x1f\x31\xbb\x8e\x79\x9d\xd9\x1f\xa1\xbd\xd2\x05\x4e\xee\x8b\xd3\x17\xbc\xbe\xa3\x5e\x65\xd6\xbd\x5e\xd0\x1e\xa2\x0f\xe5\x49\xf6\xf8\x4a\x85\x99\xfc\xf7\x7f\x7f\x8e\xf6\x97\xe9\xc3\xf7\xc7\x02\x4f\xb3\xd0\xc9\x2b\x3d\xd3\x2d\xa9\x61\x52\x22\xac\xf2\xd8\xba\xbc\x62\x23\xe7\xcf\x4a\x51\x5d\x58\x3b\xc1\xe3\xc0\xbf\xc3\xcf\xba\x8e\x8e\x55\x79\x13\xf8\xaf\x5f\x3c\xbb\xb3\x9d\x1b\x0e\x52\xe8\x07\xcf\x0a\xec\xfd\xbb\x67\x5c\xba\x53\x82\xbd\x93\xcb\x5d\x13\xc0\xd9\xf3\x91\xb7\x5e\xc1\xaf\xf7\x32\xb3\xab\x88\xff\x3a\x39\x4f\xa7\xaf\x6c\x7a\xdd\x70\xbe\xfa\x99\xb7\xe7\x57\x35\xf7\xec\xd2\xb3\xa2\x5f\x9f\x53\x67\xf6\x3a\xea\xec\xbc\xd3\x1f\x48\x9c\xe7\xa3\x1e\xc4\xef\xfc\x5c\xf4\xfe\x87\xf7\x8f\x3c\xdf\xff\x1d\x8c\x6f\xdc\xf9\x1a\xd2\xbf\x1f\xe5\x97\x10\x44\x9f\x23\x78\x55\x83\x87\xf2\x9f\xe5\x44\x72\x38\x78\x2f\xf5\x8c\x1e\xdc\xc4\x2f\xaf\xdb\xcf\xd5\x1e\x3e\x81\xfb\x95\x43\x9f\x77\x17\xac\xcb\x30\x91\x6b\xab\xac\x9f\x00\x7a\xa1\x17\x75\xaf\x46\x32\xf9\x30\xe1\xad\x3a\x78\x9f\x58\xfd\xb3\x28\xe5\xf6\xfe\x97\x27\x9b\xff\xf2\xac\xd4\xd7\xc0\xbb\x61\x95\x7f\x0d\xfc\xed\xfd\xeb\xc0\x7f\x53\xc2\xbe\xc3\xf8\xbd\x22\x5c\xfc\xb3\x98\xba\x7f\x99\x19\xf9\x0e\xfd\x7d\x51\xed\xbe\x7f\x99\xd7\x30\x71\x2c\x49\x5e\x17\xf8\xee\x92\xe4\x0f\x94\x23\xbf\x27\x9e\xfd\xe3\x4a\x93\x8f\x01\xd8\x73\x4b\xf2\x79\x1b\xe2\x75\x20\xee\x2f\x3f\xf9\x65\x72\xfe\xd2\x67\x7e\x3d\x22\x79\xf1\x10\xd1\x83\xc9\xfb\xf0\xe1\x05\x93\x98\x58\xfd\xee\x36\xe4\xd5\x8d\xc4\x4f\x36\x6d\x76\x47\x62\xee\x6d\xe6\xde\x81\x8f\x7b\xb6\xe6\xde\xb8\x32\xeb\xee\x3d\x3e\x3f\x7d\xf8\x8a\x4e\xef\x43\xed\xf6\x26\x6b\xf0\x33\x2d\xb3\x63\x2b\x8d\x46\xbd\x28\x1b\xef\xe7\xd7\xd4\x75\x1f\x8b\xc1\xef\x26\xb3\xbb\xcd\xa2\x1f\xeb\xf3\xbe\x7e\xd6\x17\x3d\xaf\xd7\x04\xca\xae\x17\x7b\xb5\xf7\xff\xe9\xe6\xef\xd7\xcd\xff\x27\xf4\x72\xf2\xcb\x87\x7b\x51\xf9\xfd\x30\xe0\xd9\xd0\xd7\x6b\xdc\xcd\x92\xfd\xb1\x3a\x77\x13\xca\xff\xab\xb4\xee\x47\x9a\x74\x3f\xd4\xa1\xfb\x5f\x50\xbb\xdf\xdd\x8f\xfb\xa1\xa6\xdb\xf3\x40\xe9\xa9\xa0\x7f\xa3\xfb\xd6\x54\xc1\xdb\x2f\x3a\x76\xaf\x89\x67\x46\x76\xff\x58\x03\xee\xf7\x14\x15\xbe\x10\xf7\xbb\xda\xfb\x8c\x4b\x23\xaa\x4a\x96\xbf\x92\x32\x3f\x00\x7c\x14\xfb\xaf\xeb\xf2\xcf\xbf\x53\x2d\x3f\x6e\xe3\x7f\x47\x3d\xc7\x09\x3f\xda\x54\xfc\x97\xb0\xf8\x91\x0b\xff\x53\x5c\xbe\x89\xd0\xff\x43\x2c\xbe\x99\xa6\xff\xcd\x53\x12\xff\x9a\xd0\xe7\xcf\x78\x62\xe2\xef\xe7\xe9\xf4\x1f\x93\x0f\x5f\x90\xf1\xfb\xdb\xa2\x7f\x8e\xa2\x6e\x5e\x7a\xed\x8f\x14\x75\x9d\xc0\x2a\x0f\x59\xf5\xe7\xef\xe7\x4c\xfe\x9c\x2d\x72\xfa\xb1\x87\x24\x79\xb1\x55\x87\xed\x9f\x87\x82\xff\x57\x9c\x30\x28\xbd\xdc\xb3\xea\x8f\xdd\xd8\xab\x1d\xb4\x9c\xda\x2b\x7f\x58\xa3\xde\x4d\xe2\xb1\x44\xf7\xa2\xe6\xbf\xce\xd9\x5c\x7e\x7e\x37\x1a\xaa\xeb\xc4\xfb\xdf\x05\xba\xae\xf7\xf4\x8d\xeb\x9d\x5e\x38\x8b\xfe\x75\x05\xbf\xbb\xca\x8f\x59\xa7\xca\x4b\x5d\xc2\x6b\x43\xe7\x66\x4e\x43\xbb\xa9\xbf\x99\x51\x7f\xea\x56\x5e\xc9\x78\xa7\x90\xfc\xf2\xf9\xe4\x7b\xe7\x9c\xf3\xd2\x3b\x85\xcf\xbe\xf5\x76\xef\xdb\x1a\xd5\xdb\x37\xb7\xaf\xaf\xbf\xf9\xf9\xe3\xef\x28\x7d\xf9\xb6\xec\xdb\xfa\x97\x26\x0d\x9d\xcc\xf5\x5e\x1c\x54\x39\xa5\xe7\xa5\x6f\x7e\x7e\x45\x3a\x7a\x25\xce\xdb\x67\x5f\xe9\x7c\x8f\xc3\xef\x49\x19\x9f\x4c\x27\x6f\xfe\xfe\x9f\xb3\x5f\x11\xe7\xe9\x77\xee\x5f\xf8\xd1\xa5\x3b\xb8\xc4\x61\xda\xf4\x7f\x14\x2a\xcb\xaf\x20\x72\xa7\x41\x7a\x97\x0d\xb7\x34\xfe\xcd\xdf\x9e\x7d\x57\xf3\xeb\xec\xf8\x43\xf0\xff\x1b\xfc\x2b\xb2\x5a\xfe\x0a\xff\x0e\x72\x7e\xc9\xff\x3f\x06\xab\xf5\xe2\xd7\xcd\xe2\x77\x61\xf5\x9d\x4c\xfe\xa4\x5a\xd3\xc9\x9b\xdf\xb1\xec\x1f\x2a\xe7\x7f\x5b\xa3\xbf\xce\x61\x18\x46\xbf\x4a\x89\xd7\x1e\xcb\xff\xf3\x85\x10\x97\x57\x87\x10\xff\xf3\xa7\x96\xbe\x4e\x3f\xed\x4f\x1a\x42\xfc\xa9\x0e\x7d\xfd\x0b\x0f\x90\xd2\xda\x2b\xcf\x09\x7d\xe9\x46\xef\x9f\x48\xbf\xbd\xfa\x70\xff\xa8\xd0\xdf\x67\x2f\xcf\x9a\x3d\x99\xf5\x92\xb4\xdf\x3f\x8a\xf4\x2f\x61\xd9\x4b\x31\xfd\xf3\xa3\x4e\x7f\xc2\xc0\xb4\xb6\x6c\x3c\xf6\xac\x1f\x0a\x44\xef\xea\xe2\x87\xe7\x51\xd5\x58\x7c\x7d\x8a\x6f\x6d\xd9\xd5\xf3\x2f\xc2\xdd\x23\xf0\x47\x5f\xf1\x80\xc1\x87\x0f\x13\xf4\x1b\xf4\xb9\x02\x9f\x7c\x98\xfc\xd7\x3f\xbf\x37\xa6\xbc\x7d\xa7\xf6\xd5\xf2\xff\xe9\x87\xa8\x9e\x59\xa0\x8f\xdf\xc1\x0d\xc7\xef\xdf\x86\x93\xff\x98\x7c\x31\xe9\xd7\x49\x78\xff\x68\xcd\x6d\x2b\x0f\x98\xbc\xfd\xfb\x03\xb5\xc3\x7f\x3c\xfd\xa6\xe5\x3f\xff\xf0\xc8\xf5\x9b\x1d\xfd\xc9\x63\x8b\x7b\xfe\xbc\xc5\x7d\x87\x09\x9f\xbe\xa4\xfc\xd5\x2f\x6e\xdf\xe9\xa3\x7f\x5c\x08\xb9\x73\x7e\xe0\x85\x39\x3f\x1a\x32\xfe\xe7\xb3\x90\xf1\xf5\x74\xb8\x73\xc6\xe0\x0e\x1d\xac\x3c\x8f\xc3\xf1\x07\xb9\xf1\x8f\x3f\xc4\xf5\x63\xe4\x78\xd5\x7a\x95\x57\xfb\x0f\x3f\xcf\xf2\x16\x7e\xf7\xd9\x2f\xb5\xbc\x27\x48\x0a\xa8\x3b\xe5\x37\x9c\x06\x92\x4c\x2a\xaf\x3b\xa3\xf2\x39\xb8\xd9\x1f\x0b\x0e\xf9\x63\xc1\xa1\x3f\x00\xee\x6b\xe4\xbe\x73\xd0\xe9\x1e\x06\x56\xeb\xb9\xf8\xd5\xfa\xde\xb5\xc9\xaf\xda\x45\xe9\x55\xe1\xe0\xbd\x9d\xa1\xc8\xb3\x8a\xef\xcd\x61\x7d\x3f\xee\xcb\x57\xe1\x9e\x95\xa1\xff\xff\x67\xef\xdd\xdf\xda\xc8\x91\x05\xd0\x9f\x37\x7f\x85\xc2\xce\xc6\x76\x30\xc6\x36\x6f\x88\x93\x63\x1b\x33\xe1\x0c\x79\x5c\x60\x5e\x17\x38\x3e\x8d\x5b\xb6\x7b\x62\xba\x3d\xdd\xed\x00\x9b\xb0\x7f\xfb\xfd\xf4\x6c\xbd\xbb\xdb\x90\x99\xb9\x7b\x96\xef\x9b\x09\xa8\xa5\xaa\x52\xa9\x54\x2a\x49\x55\xa5\x20\x7c\xd4\x14\xdd\x29\x84\x48\x4e\xa3\xb1\x34\xb2\x96\x65\x06\x38\x39\x51\x8c\x15\xb3\x68\x52\xad\x9c\xc1\x38\xf0\x66\x60\x1e\xc5\x29\x88\xd1\x86\x22\x49\xa1\x0f\x84\x09\x0c\x3e\xc1\xfb\xb9\xe7\x37\x4c\xe9\x09\x0d\x40\x85\x96\x3f\xe0\x86\xce\x9e\x2b\x8d\x3f\x07\xf0\x16\x3f\x6f\x91\xdc\x87\xa3\x33\x7c\xe0\xde\x8d\xa1\x67\xcb\xa2\xe0\xe2\xc1\x9e\xce\x02\xc2\xcf\x66\xd3\xa0\x61\xd9\x27\x03\xb3\xd9\xa7\x62\x53\xe3\xae\xd5\x7c\x17\x2d\xb0\x03\x9d\x60\x15\x76\x3a\x60\xaf\x18\x03\xd2\x76\xd3\x02\x00\x11\x5e\x08\x46\x18\xc5\x37\xde\x4c\x07\xf2\xba\x38\x88\x1b\xd4\x18\x3f\x3f\x90\x94\x19\x3e\x16\x66\xae\xa4\x56\x87\xf8\x25\x88\x35\x0c\x74\x0d\x62\xa8\x05\x85\x29\xc1\x69\x13\x83\x28\x7c\xe7\x85\xde\x04\xc6\x0d\x3f\x48\x10\x2c\x9b\x40\x98\x04\xbc\x17\xe0\xcc\x7d\x20\x8d\x00\xa6\x00\x10\x0a\xac\xf2\xec\x9c\x8c\xcd\x66\x31\x43\x00\xed\xd2\x8f\xa2\xd1\xc2\xcd\xbe\x1c\x54\x5b\x85\x50\x2d\xd2\x31\x1b\xeb\xa5\x31\x15\xd3\x17\xc9\x24\x7e\x2c\xa6\x56\xc1\x3e\xc5\x77\x9f\xd3\xc7\xe1\x6a\x17\xc3\x44\x6e\x7c\xde\x06\xbe\x0f\x73\x72\x17\xbb\x3b\xb6\x69\xd0\x37\x80\x47\xdd\x68\x0d\x36\x0d\x6b\x08\x83\x64\x59\x5e\x4c\x56\x2d\x99\xea\xae\x5c\x2c\x38\x61\x2d\xae\x65\x4c\x65\x2d\xfe\xe0\x83\xf4\x7d\xe3\xf1\xba\x9e\xcc\x5a\xfc\xc1\x07\xed\x5a\x43\x5c\x9a\xd3\xd0\x0f\x92\xb9\xde\x10\x95\xba\x1b\xde\x69\x8d\xee\x72\x30\xe9\x58\xdc\x0d\xf8\x5d\xb1\xd6\x30\xbb\xac\x2e\x00\x80\x5c\x17\x5b\x60\xd0\x0b\x75\x27\x18\xb4\xad\xd3\x9a\xa3\x42\x6b\xab\x07\xb3\xf8\x02\xa3\x09\x06\xb5\x3c\xa6\x8e\xfa\x25\x57\x67\x03\x04\x2e\x89\xe4\x97\xc2\xed\x92\x69\x74\x4b\x36\x12\x36\x64\xe6\x24\x40\x05\x36\x4d\x79\xb7\x58\x7f\x9d\x0d\x32\xa7\xe5\xdf\x67\x8b\xbc\xa4\xba\xfd\xb7\xdd\x23\x2f\xc9\x0f\x8b\x69\x6a\x4c\x9a\x83\x36\x6d\xc8\x9a\xdc\x68\x1b\xb2\x80\xf1\x8d\x5d\x89\xf4\x5e\x74\x23\x67\x83\x54\x66\x77\x67\x9e\xc4\xe6\xc3\x34\x8e\xe0\x0f\xd9\x28\x2e\x39\x30\x4b\xee\x14\x97\xb5\x42\xbe\xf5\x56\x11\xcf\x00\x64\x4b\x5f\x7b\xa3\x4f\xc8\xa0\xa6\xfa\xfc\xf1\x3b\x44\x47\x8f\xff\x9d\xb7\x88\x25\xba\x2d\x6e\x0c\x8b\x37\x93\xf7\x82\xc5\xdb\xc9\x1b\xc0\xe2\xed\xf4\x1d\x20\x7b\xd1\xe6\x09\x37\x81\x04\xd4\x32\x23\xbe\xd4\xfe\x6d\xe9\x3d\x41\xf9\x0d\xdc\xf2\xa8\x4a\xef\xe0\x96\x46\xb5\xcc\x16\x6e\xd9\x75\x7e\xa9\x3d\xdc\xb2\x7b\xd3\x3f\x66\x0b\x57\x7a\x07\x67\xda\x8f\x19\x42\xbf\x31\x1c\xf2\xb5\xb0\x59\xcd\x42\x3d\xcd\xb0\x0c\x79\x59\x5d\xb0\x68\x5c\xa7\x05\x16\xfa\x5a\x18\x96\x29\xb4\x9d\xc0\xb9\x2b\x4e\x8f\x9d\x96\xe2\xdb\x0e\xb6\xd5\xb3\xc2\xe2\x35\x4a\xc2\x24\x5b\xbf\x1c\xb0\x6a\xd0\x50\x0e\x64\x7a\x03\x68\x86\x88\x3e\x2e\xb1\x4d\x5b\xcc\x4a\x6c\xd2\x54\x3d\x9d\xc0\xb4\xb7\x18\x8f\x61\x6c\x0c\x46\x2a\xbe\x6b\x8c\xe1\x38\x86\xc9\xb4\xaa\xfb\x86\xb3\x4b\xea\x3f\x72\x0f\xfb\xa7\xed\x45\x47\x53\x2f\x5e\xc2\xf1\x4f\x0c\xfa\x6a\x21\x9b\x5f\x3e\x56\xce\x4b\x38\x43\x93\xb2\xea\x82\x45\x1d\x22\x0f\x0a\xee\x38\xd1\xbe\x37\xcb\x89\x42\x89\xaa\x93\xad\x70\x1d\x8c\x67\xde\xc4\x74\x9b\x44\x91\xbf\x7e\x0d\x5a\xbb\x75\x30\x9e\x80\x8e\xbe\xa5\xc9\xea\xec\xd5\xc0\x0b\xd0\xbc\x6b\x8d\xc7\x75\x70\x3d\xb1\x83\xe3\x95\x84\x69\x4b\xb3\x42\xa0\x3d\xf9\xcc\xb8\x0f\x9f\x67\x87\xe9\x81\x92\x9b\x16\x33\x1b\xbc\xee\x80\x8d\x26\x66\x30\x78\xd5\x01\x1b\x3b\xc6\x3c\xd5\x88\xaa\x39\x58\x03\x1b\x4d\xd7\xc6\x3d\xbb\xff\x47\x50\x37\x33\xa8\x9b\x46\xa8\xd7\x0c\xea\x66\x09\xa8\x7b\x19\xd4\x3d\x23\xd4\x39\x58\xed\x80\x5d\x5d\xc4\x79\x1f\xf6\x4a\x60\x6b\x35\x33\x74\xad\x66\x29\x7c\xbc\x77\x2d\xf5\xf6\xc2\x8a\xd0\x28\xd8\x98\x76\xb3\x9c\x51\x59\x26\x72\x66\xe9\xb1\x2a\x77\x42\x9b\x4c\xee\x2c\xd4\x5b\x9a\x1a\x1b\x39\x3b\xa5\x9d\x29\x65\x9d\xfa\x9a\x13\x2b\xa9\x40\xda\x74\x42\x6a\x97\x80\xb4\xe5\x84\xb4\x59\x02\x92\x79\xca\x30\x48\xbb\x25\x20\x19\x9f\x3e\xcd\xf8\xb4\x5d\x02\x54\xdb\x98\xed\x9a\xc0\x7a\xd1\x01\xff\x2a\xc3\xf4\xb6\x83\xeb\x08\x56\x19\xb6\xb7\x1d\x7c\x47\xb0\xca\x30\xbe\xed\xe0\x3c\x82\x55\x86\xf5\x6d\x07\xef\x31\xbf\xca\x30\x7f\xc3\xf8\x86\xee\xb2\xf3\xd1\x3d\x21\x8c\xa8\x9e\x76\xfa\x6e\x18\x79\x23\xf8\x09\x06\x60\x15\xb4\x72\x52\xec\x07\x48\x4f\xb6\xcd\xa6\xc7\xd8\x40\xee\x8d\x97\x8e\xa6\x38\xdb\x37\xc7\x72\x85\x69\xc7\x2b\xa0\x84\xd7\x50\xda\x66\xa5\x8e\x97\x0c\x10\xd6\x4e\x07\xac\xb5\xec\x0f\x48\x60\xc2\x2c\x2a\xd2\xd5\x29\xcb\x8b\x16\x66\x96\x19\x67\x44\x1e\xcb\xa4\x75\x9d\xf6\xd5\xc1\x5c\x83\xa5\xef\xca\xfe\xaf\x0a\xd9\xb7\x16\x00\x93\xbc\x7e\x7b\x01\xb8\xce\x17\x80\xeb\x7f\x03\x01\xb8\x7e\xbc\x00\xb4\x9a\x66\xbb\xe4\x4f\xb6\x30\x72\xc3\x0e\x60\x1c\x47\x71\xb5\xf2\x63\xf8\x29\x8c\x6e\x43\x70\xf6\xfd\x29\xf0\xd8\x5e\x64\x1f\xfc\xc3\x6f\x54\xea\x60\x5e\x20\xa4\xc5\xba\xbb\xa8\x92\x15\xe2\xd5\x2b\xfc\x6e\xf9\x57\xac\x54\x5e\xbd\x42\x1d\xff\x0a\xae\x27\x07\x05\xf6\x47\x3e\x0e\x8d\x3a\x4b\xbd\x74\x51\x64\x77\xf4\xd4\xd7\x5f\xc5\xce\xaa\xf2\xc3\x37\x9a\xe1\x32\x9e\x29\x05\xcf\xff\x72\xb1\x57\xac\x13\x78\xd5\xe0\x6c\xbe\xaa\xfa\xb4\xcb\x0d\x2a\x07\x65\xc0\xdd\xe5\x82\x3b\x2d\xc1\x99\x3f\xe3\xe2\xef\xa9\x06\xe1\xcd\xbf\xcd\x28\x00\x7e\x28\x6a\x99\x1e\xcb\x1c\xff\x3a\xdb\x58\xc6\xc0\xd5\x66\xcb\x72\x6f\xf3\xe8\x13\x9b\x24\x1a\xa7\xa7\x30\x81\x69\x8e\x3a\x2a\xe5\x93\x54\xe2\x3e\xbd\xc4\x8d\x66\x39\xe7\xd5\xf2\x37\x7a\xe5\x8f\xe1\xca\x5f\x97\x3b\x4e\x6f\x9b\x39\xb5\x6c\xe7\xb1\x7a\x14\xcc\xd2\xc7\x63\xf9\x67\xdc\xf7\x4e\x42\xd9\x2b\x9a\xea\xa9\xac\x52\x6d\x32\x83\x9f\xe1\xac\x08\x24\xb4\x48\x5e\x20\x58\x57\x45\x56\xd7\x04\xa6\x84\xef\x67\xe9\xfd\x6c\xa9\x40\x36\xf0\x0a\xb4\xc0\x1b\xd0\x02\xfb\xa6\x80\x1a\x49\xcb\x1a\x13\x2b\x2a\x6e\x15\x05\x33\x0f\x26\x30\xfd\x30\xc7\x4f\xcd\x56\x46\x19\xfd\x95\x3a\xa8\x5c\xcf\xa2\xd1\x27\x93\x2e\x2b\x98\x05\xd4\xe6\xf4\x52\x98\x80\x45\xe8\xc3\x78\x16\x84\xb0\x0c\x11\x5b\x06\x22\x0c\x3a\xaf\x38\x17\xbc\xb8\x00\x7a\xf9\x1c\x37\x48\x7a\xb3\x20\xfc\x14\x84\x13\x1e\x8a\xf9\x0f\xd0\x26\xf6\xad\x7d\xa2\xa9\x24\x60\x18\x95\xba\x00\xad\x58\xe6\x1c\x98\x12\x85\x71\x0a\x27\xc5\x22\xf7\xcc\x86\x9e\xd4\x65\xf5\xdc\xda\xa1\x4a\xaa\x72\x5a\x82\x9a\x53\x3d\x28\xda\x45\x08\x07\xcc\x0e\xe2\x5b\x57\xe0\x95\x59\xf1\xbc\x11\xaa\x68\x4e\x80\x24\xac\xcf\x85\xfc\xce\xa9\x05\xee\x8b\xbe\xd1\x94\x78\x9f\x61\xa6\x72\x8b\x2f\x63\xd8\x43\xe7\x17\x67\xc2\x18\x53\x8b\x5f\xad\xb9\x8a\x73\x5d\xf5\xd2\x28\x5e\x8a\x52\x83\x2e\xa6\xc4\x7f\xfd\x9a\xc3\x41\x73\x0f\xb2\x66\x94\x66\xfa\x2e\x9b\x48\xba\xfa\x08\xb7\xf2\x6a\xb4\x5c\x15\xcd\x3a\xfa\xe8\xb2\xfc\xa2\x74\x34\x4f\x79\xcf\xf0\x23\xd5\x1f\xde\xf5\x8e\xdf\x1f\xbf\xff\x1e\x29\x77\x4e\xf8\x45\xf3\xae\xb9\xd1\x6c\xd6\x01\xfa\x77\xfb\xe8\xaa\x8e\x4b\x36\x77\x37\x70\xc9\xe6\xee\x36\x2f\xd9\xa5\x25\x7b\x57\x75\xa9\xf5\xd6\x5e\x0b\x7f\xd9\xea\x1d\xd2\xba\x5b\xbd\x23\x5a\xc2\xe0\x6d\xf5\x69\x9d\x7e\x5b\x6d\xdd\xdf\xa4\x5f\xb6\x78\xdd\x1d\x5a\xb2\x43\x4b\xb6\x29\x7d\xdb\xcd\x0d\xa5\xf5\x76\x8b\x7e\x69\xb1\xd6\xdb\x9b\x3d\x52\xb2\x35\x60\x25\x3b\xb4\xce\x4e\x53\x6d\x7d\xb8\x4d\xbe\x0c\x36\x59\xdd\xc1\x0e\x2d\xd9\xe5\x25\x5d\x5a\x72\xa8\xb4\xde\x69\x92\x5e\xee\x34\x59\x2f\x77\x5a\xa4\x97\x3b\xad\x16\x2b\xd9\x20\xb8\x77\x36\xbb\x6a\xeb\x2e\xc1\xbd\xd3\x6b\xb2\xba\x03\x42\xf9\xce\xd1\x06\x2d\xd9\x6b\x12\x78\x7b\x4d\x95\x6b\x7b\x1b\x7d\xf2\x65\xa3\xcf\xea\x6e\xd2\xba\x9b\xbb\xbc\xe4\x90\x96\xa8\x94\xef\x6d\xd1\xba\x5b\xac\xdf\x7b\xdb\x6d\x52\xb2\xcd\x71\xef\xd2\x3a\xbb\x2d\xb5\x75\x8f\xe2\xee\x71\xdc\x74\x74\xf7\xfa\x1c\x5e\x9f\xe2\xee\x6b\xb8\x07\x14\xd3\x80\x61\xea\xd2\x5e\x76\x51\x2f\x49\x09\xed\x5d\x17\xf5\x4e\x6a\xdd\xa5\xbd\xec\x6e\xf2\xba\x9b\x3b\xb4\x64\x97\x97\xf4\x68\x89\x8a\xbb\x4b\x25\xa1\xbb\xc3\xc6\xa7\x4b\x7b\xd9\xdd\xe5\xf0\x68\xef\xba\x3d\x0d\x37\xed\x65\x97\x4b\x6a\x97\x4a\x6a\xb7\xcf\x71\xd3\x7e\x77\xb5\x7e\x77\x69\xbf\xbb\xbc\xdf\x3d\xda\xef\x5e\x93\x51\xd3\xa3\xfd\xee\x69\xfd\xee\x6d\x1c\xd1\x2f\x4c\xd6\x7a\x94\x13\xbd\x4d\x0e\x8f\x8e\x77\x4f\xeb\x77\x6f\x8b\xc8\x5a\x6f\x8b\xcd\xe6\xde\x2e\xa1\xa6\xc7\xfb\xdd\xeb\x13\xde\xf4\xfa\xea\x2c\xe9\xd1\x3e\xf5\xfa\x6c\x7e\xf7\x37\x06\xb8\xa4\xbf\xc9\x64\xb7\xbf\xb9\x4d\x4b\x76\x95\xd6\xfd\xcd\x2e\xfd\xc2\x5b\x6f\x6d\x91\x12\x4e\x4d\x9f\xf2\xbc\xaf\xf1\xbc\x4f\x35\x49\x9f\x6b\x92\x7e\x9f\x62\xea\xf3\xd6\x7d\xda\x5a\xe3\x79\x9f\xf2\xbc\xcf\x79\x7e\x48\xb9\x76\xb8\x99\x95\x1c\xd2\x12\xb5\xf5\x61\x9f\x50\x7e\xd8\xef\xb2\xba\x87\x04\xde\xe1\xe1\x26\x2f\xd9\xa6\x25\xdb\x4a\xeb\xc1\x06\xc1\x34\xd8\x60\xa3\x3b\xd8\xd8\xa4\x25\x0c\xde\x80\xca\xee\x60\x73\xa0\xb6\xee\xd1\xd6\x3d\xde\xba\x47\x5b\xf7\xf6\x78\x49\x8f\x96\xa8\x5c\x1b\xf4\x89\xae\x1e\xf0\x11\x3b\x6a\x91\x92\xa3\x16\x6b\x7d\xb4\x41\x46\xe1\x68\x63\x4b\x69\x7d\xb4\xb1\x43\xbf\xec\xf0\xba\x7b\xb4\x84\xb7\xde\x21\xf4\x1d\xed\xa8\x94\x1f\xed\x12\x39\x3a\xda\x65\x3c\x3a\xda\xdd\xa6\x25\x1c\xde\x1e\xad\xb3\xb7\xa3\xb6\xde\xa3\x98\xb8\x6e\x39\xa2\xe3\x7d\xc4\xc6\xbb\xd5\x6c\xe3\x11\x6b\x35\x37\x14\x49\x6d\x35\x37\xda\xf4\x4b\x9b\xd5\xdd\xd8\xa6\x25\x3b\xbc\x64\x8f\x96\xec\xa9\xad\xb7\x76\xc9\x97\x2d\xda\xcb\x56\x6b\x1b\xd3\xd9\x6a\x1d\x51\xe9\x6b\x6d\x6c\x61\x79\x44\xff\x2a\xad\x77\x5a\x04\xf7\x4e\x8b\xf6\xbb\xb5\x43\xa9\xd9\xd9\xe0\x25\x5b\xb4\x64\x6b\x43\x6d\xbd\x43\xbf\xec\x6c\xb0\xba\x64\xbc\x5b\x3b\xbd\x2d\x5e\xb2\x43\x4b\x0e\xd5\xd6\x84\x47\xe8\x5f\x56\xb7\x4f\x7a\xb9\x73\xc8\xe1\x1d\x1e\xd2\x12\xb5\xf5\x6e\x13\xcb\x51\x6b\xb7\x49\xa5\xa5\xb5\xdb\x25\xad\x77\xbb\x8c\x13\x7b\x6d\xc2\x89\xbd\xb6\xb2\x12\xb5\xf6\xda\x3b\xf4\xcb\x2e\xab\x4b\xfb\xbd\xc7\x47\x61\x8f\xf2\x7c\x6f\xa3\xa7\xb4\xee\xb6\x48\xeb\x6e\x8b\xb5\xee\x91\xb5\xbe\xd5\x6b\x32\xca\x7b\x64\xde\xa0\x7f\x95\xd6\x3d\x3a\xba\x3d\x36\xa3\x5a\x54\x83\xb6\x7a\x6c\x5d\x6c\xf5\x36\x09\x35\xbd\x4d\x95\xf2\xde\x36\xe9\x77\x8f\xf3\xfc\x90\xe8\xc0\x16\x9f\xf1\xad\xc3\xa3\x01\x29\x39\x52\xc6\xbb\xdd\x24\x5c\x6b\x37\xd9\xea\xdf\x6e\xb6\xbb\xa4\xa4\x3d\x60\x25\x44\x7e\xda\xcd\xed\x0d\xb5\xf5\x36\xad\xbb\xcd\x5b\x1f\xd2\xba\x03\x5a\xb2\x41\xe1\x6d\x34\xdb\x0a\xee\x8d\x26\x99\x25\x1b\xcd\x3d\x4a\x67\x77\xb7\x89\x39\x81\xfe\xe5\x25\x3d\x5a\xa2\xf0\xbc\xbb\xdb\xde\x22\x5f\xda\xb4\xee\x51\xaf\x85\x7b\x89\xfe\xa5\x25\x03\x32\x0a\x47\x83\xa6\x82\xfb\x68\xd0\xa6\x5f\xda\x1b\xac\xee\xd1\x11\x29\x61\xb3\xe4\xe8\xe8\x08\xd3\x77\x74\x74\xa4\x8e\x37\x5b\xec\xd1\x2f\x8c\xeb\xcd\x6e\x73\x8b\x95\x6d\x67\x65\x7d\x56\xa6\xce\xb4\x66\x77\x83\x4e\xd4\x2e\x1f\xf7\x66\x97\x2c\x90\xf8\x17\x36\x76\xad\x6d\x22\x5c\x87\xad\x6d\x75\xae\x1f\xb6\x76\x36\xe8\x37\xb6\x02\xa2\x5f\xb7\x58\x59\x8f\x97\x75\xbb\xb4\xac\xab\xce\x9b\xc3\x36\x15\xad\xc3\xf6\x26\x9d\xe1\x83\x66\x93\xf4\x0f\xff\xc2\xcb\x08\xcb\x06\xcd\xe6\x8e\xd2\x97\x41\xb3\xd5\xa4\xdf\x5a\x83\x23\xf2\x28\x3b\x3d\xf8\xe0\x76\xfc\x75\x90\x40\x2f\x1e\x4d\xab\x8b\x91\x76\x90\x72\x13\x84\xf2\x46\x0e\x17\x7a\x68\xd3\xc2\xad\xfd\xec\x91\x91\x96\x52\x2f\xf0\x0f\xa4\xcd\xf0\x62\x94\x80\x57\x59\xc3\x8b\xe6\x15\xdd\xc9\xa2\x0f\xaf\x85\x0f\x37\xde\xdd\xd5\x45\xeb\xca\xb4\x4f\x56\x0f\xde\x68\x06\x3c\x44\xd3\xeb\x0e\xa2\x57\x3d\xbf\xb9\x09\x7c\xf6\xe4\xc7\x78\x16\x45\x71\xb5\x8a\x3a\xb5\x8a\x7a\x51\x03\xeb\xa0\x6d\x78\x70\x5c\x23\x27\xf0\x75\x72\x08\x6c\xc4\x1e\x84\x41\x7b\xed\x87\x9f\xf7\xab\x9d\xc6\xc0\x9a\x26\x60\x98\xad\x08\xd8\x9a\x09\x98\x56\x9f\xf2\x43\x3e\x1d\x15\xb2\xac\x6a\xec\x7a\x90\xc7\x9d\xee\xe9\xd4\x61\x67\x34\x13\x3f\x26\xd3\x08\xa0\x7d\x5f\x23\x5c\xcc\x4c\x83\xbb\xd1\x46\xe3\x49\x38\xd8\x01\xcd\xbb\x9d\x31\x78\xf1\x02\x90\x6f\xcd\x3b\xaf\x59\xb3\x43\x1c\x45\x61\x1a\x47\x0a\x54\x49\x38\x8d\x6d\x9b\x72\x83\x20\xf9\x39\xf0\x21\xa9\x6e\xcc\x37\x28\x5e\xc5\x6a\xdc\x6a\x19\x39\x25\xc0\x14\x40\xd2\x26\x59\x5f\x5b\xd4\xd1\x8c\xb0\x82\x94\x6c\x8d\xc1\xd7\xaf\x12\x15\x9c\xb7\x77\xed\x8d\xf6\x9e\xf3\xab\xa7\x7e\xcd\x70\xb5\xe1\x6e\x93\x73\x16\x15\x78\x9b\x23\xce\xea\xe7\x18\xc0\x46\x73\x63\x5c\xb3\x43\xf0\x46\x4d\x19\x82\xbf\xe3\x6d\x38\xea\x8f\xf7\x94\xfa\x63\x6f\xec\x82\x3f\x86\x2d\xa5\x3e\x6c\xed\x39\xeb\x6f\xa8\xf5\xb7\x9d\xf0\xc7\x2a\x3d\xe3\xed\xa6\xb3\x3e\x54\xeb\xc3\x6d\x47\xfd\x76\xb3\xa9\x20\x68\x8f\xc7\x63\xdf\xd1\x62\x43\x6b\xb1\x81\x5b\xb0\xdc\xd1\x0f\xe2\x71\x0c\x9d\x7d\x07\xcf\x1e\x6a\xd5\x2f\x20\x5c\xcc\xf6\xf1\xf3\xca\x64\x0e\xec\x83\x26\x78\xa8\x1d\x3c\x7b\xb6\xbe\xfe\x77\x90\x44\x8b\x78\x04\xdf\x79\xf3\x79\x10\x4e\x7e\x3c\x3d\xe9\x48\x87\x50\xbf\x25\x8d\x1b\x6f\xfe\xec\xd9\xb3\xf5\x97\x2f\x5f\xae\x83\x87\x5a\xfd\xd9\xfa\x4b\xd0\xda\x05\x2f\xd7\x69\x11\x3f\xb1\xa9\xde\x44\xfe\x62\x06\xeb\x80\x1e\xfb\xd4\xc1\x70\x78\x0b\xaf\xe7\xde\xe8\xd3\x30\x86\xbf\x2f\x82\x18\x0e\x87\x48\xc2\x9f\xad\x2c\x12\x08\x92\x34\x0e\x46\xe9\xca\xc1\xb3\x67\x1f\xae\x7f\x83\xa3\xb4\xe1\xc3\x71\x10\xc2\x8f\x71\x34\x87\x71\x7a\x5f\xe5\x50\x56\x86\x43\x98\xbc\xc3\xb0\x57\xea\xe0\x0b\xf8\xec\xcd\x16\x70\x1f\x2b\x26\xdc\x0b\xb4\x16\x1c\xbf\xff\xa9\x7b\x72\x7c\x38\x3c\x39\x7e\xff\xc3\xb0\x7f\xd2\x3d\x3b\x03\x1d\x40\xf2\x42\xae\x05\xe1\x67\x6f\x16\xf8\x6b\xf8\x4c\x96\x54\xc7\x47\x6b\xa3\x68\xd6\x9f\x79\x24\x8a\xa3\x52\x9d\xa6\xe9\x3c\x79\xb3\x7f\x79\xb9\x7e\x79\xb9\x5e\xa3\xf5\xfc\xe8\xc6\x0b\x42\x9e\xe0\xf5\x0c\xdf\x51\x54\x2e\x2e\x2f\x7d\x6f\xed\x9f\x97\x97\x8d\xb5\xab\x55\x5a\x33\x84\x13\x2f\x85\xfe\xa1\xb9\xc1\xff\x18\x5a\x10\xd8\xbd\xc8\xbf\x17\xa8\xa8\x80\x55\x13\xd2\x55\x50\x61\x24\xa5\x33\x5f\xa8\x7f\x41\xa0\x5e\x7d\x69\xd7\xb7\x1f\x58\x95\x60\x2e\xd4\xa8\x5e\x5e\xfa\x5f\x5a\xf5\x8d\x87\xcb\xcb\x46\xed\x0b\xfa\x87\xfc\xc9\x2a\xcf\xa2\x91\x37\x7b\x1b\x25\xa9\xd0\x06\x97\x4d\xa3\x24\x65\x95\xd0\x48\x08\xdf\xf7\x09\x90\x2d\x0e\x64\x2a\xb7\x17\xba\x21\xf4\x6f\x15\x54\x2e\x2f\x1b\xe8\x53\xd6\x07\xd4\xb1\xaf\xa8\x88\xd3\xbc\x0a\x2a\xb8\x40\xa5\x0b\xb3\x00\xac\x8a\xa4\xac\x82\xca\x1b\x46\xa0\x97\x4e\x05\x02\x2e\x2f\xd7\x2f\xf0\x48\xde\x5e\x5e\x36\x2e\x2f\xd7\xfe\xf1\xaf\xab\x97\xb5\x97\xb4\xee\xef\x0b\x18\xdf\x9f\xa5\x71\x10\x4e\xde\x7a\xc9\xf4\x28\xf6\x26\x37\x30\x4c\xb5\x41\x6b\xae\xed\x61\x00\x17\x97\x97\x57\x97\x97\xd5\xcb\xcb\x1a\x06\xf9\xe6\xf2\xf2\xf9\xdf\xff\xeb\xbb\x7f\xbc\xb8\xac\xbc\x5c\xad\xef\x1f\xfc\xeb\xf2\xb2\x43\xb0\x5c\x19\x30\x48\x44\xbd\x41\x1d\x28\x82\x1e\x75\x96\x75\x6d\x2a\x56\xca\xa0\xfd\x7d\x19\x58\x54\x4a\x3f\x22\x6e\x19\x64\x54\x60\x18\x17\xd3\x6b\x51\x40\xa7\xe2\x78\x08\x3c\x5f\x35\x74\x79\xd5\x40\x39\x01\x99\xa4\x5e\x8c\x71\x56\xdf\xec\xff\x0f\x1e\x6c\xfb\xec\x41\xd4\x57\x29\x29\x30\x44\xa6\x56\xa5\x56\xfd\x4e\x6c\xa4\x75\x46\x98\x2c\x44\xc7\xfc\x18\xcf\x4e\xe1\x04\x22\xf3\x27\x84\xb7\xe0\x14\x4e\x06\x77\xf3\x2a\xa1\x62\x55\xd5\x05\xab\x62\x8f\x57\x11\x4e\xaa\x62\xde\xfe\xfa\x71\x70\x7a\x3e\xf8\xe5\x9c\x28\x99\x77\xdd\xf3\xfe\xdb\xc1\xe9\xf0\xf8\x90\x58\xb0\xa8\xca\x49\x10\x7e\x0a\xc6\x01\x8c\xe5\x83\x6c\xb6\xaa\xf3\x12\x5e\xaf\xaa\x9f\xdc\x87\xe4\x11\xe5\x4f\xef\xbc\x74\x34\x85\xf1\x31\xea\xb2\x15\xb5\x7a\x7e\x1f\x47\xb7\xe7\xc1\x0d\x8c\x16\xe9\xb1\x8f\xef\x40\xaf\xd4\x1a\xb3\x0c\xb4\xb1\x42\x0c\x27\x41\x92\xc2\x58\x20\xa1\x2a\x73\xb1\x8e\x2f\x69\x91\x22\xc6\xce\x77\xc7\xa1\x0f\xef\xf6\x41\x0b\xab\xe2\x6c\x19\xe2\x5d\x14\xae\x31\xbc\x34\xf5\x46\xd3\xf3\xe8\x10\x5f\x18\x65\xfc\xf1\xa3\xd1\x02\xc9\x08\x7e\x23\xc0\x70\x99\xc1\xbe\x83\x0e\x60\xbf\x1a\x3a\x9e\x90\xf7\x4d\x13\xe9\x72\xc2\x44\x06\xbe\x91\x1b\xdf\x9f\xe2\x67\x02\x32\x2a\xe2\xe8\x16\xf7\xc5\xe2\x4c\xc5\x30\x17\xcf\x32\x8d\xb5\x35\x1b\x0d\x7e\x9f\x22\x0d\xd1\x05\x43\xaa\xa4\x5f\xe4\xcd\xb4\xdb\xe2\x19\xf4\x62\xda\x5e\xa8\x65\x42\xef\x44\x07\x3a\x20\x81\x29\x07\xc4\x45\x83\xf0\xa5\x71\x1d\x84\x3e\x2e\xc5\x43\x42\xd8\x52\x17\x98\x79\x7e\xfc\x6e\x30\xec\x0d\x8e\x3e\x9c\x0e\xb0\x48\x1e\x1f\xfd\x5a\xcb\xe5\x7b\x02\xd3\xb7\xf7\x68\x6d\xa7\x12\x9e\x5d\x08\x65\x83\x30\x25\x65\xba\x0c\x88\x72\x7b\x61\x9d\x0f\x57\x8d\x29\x07\x3a\x65\x17\x4c\x25\xc8\xfa\x09\x19\x0a\xc4\x11\xc3\x9b\xcd\x70\x28\xb8\x48\xdd\x88\x16\x2e\x4f\xde\x67\x13\x02\x06\x36\x97\x54\xc3\xe4\x94\x45\x98\xcc\x4f\xda\xf3\x3a\xda\xf7\x04\x51\xa8\x6d\xbf\x68\x31\xde\x08\x7c\x8e\x02\x1f\xc7\x93\x00\x5e\x0a\xbe\x3c\x1c\x18\x93\xd8\xea\xaa\x09\xed\x04\xec\x7a\xf1\xc5\x0b\xf0\xdc\x30\xa0\x84\x6b\x71\x74\x8b\xb5\xf1\x80\x78\x5f\xb2\x71\xbb\x59\x24\x29\xb8\x86\x80\x18\x83\x7e\xc5\x28\xda\xe4\x94\x80\xf5\x5f\x49\x11\xee\xef\xdb\x34\xe9\xea\x6a\x5d\x99\xba\x13\xa4\xba\x08\xd7\xa4\x2f\x94\x9a\x7d\xce\x4a\x79\xcb\x2f\xe8\x3d\xca\xb5\x46\x56\x26\xd7\xd5\x07\x3c\x6b\xa3\x7f\x93\xdb\xce\xe3\x20\x8a\x83\xf4\x3e\x6b\xc1\x4a\xf0\x2d\x6c\xc6\x18\x55\x1b\x7a\xbe\x2f\x74\xfc\x3c\x3a\x09\x92\xb4\x4a\x19\x26\x30\x94\x6e\x15\xe8\x87\x06\x3b\x4e\x71\x08\xa0\x11\xb2\x24\x82\x0c\x8b\xd1\x4f\x41\x9c\x25\x62\xec\x9e\x25\x50\x4f\xaa\x8e\x1f\x9b\xd2\xfb\x00\x9c\x2a\x58\x4a\x4b\x63\xa7\x61\x0d\xb4\x0e\x40\x80\x77\x59\x07\x20\x30\x3f\x3a\xc7\xb8\xc4\x87\xe0\x95\x09\xe2\x45\x70\xc5\x6b\xd8\x33\x9e\x4b\x34\xd0\xe7\x84\x02\xfe\xa6\x9b\xb9\x93\xa6\x8e\x02\xa7\x27\xb2\x09\x4b\xd3\x80\xc1\x31\xde\x3e\xcc\x53\x39\x37\x6c\x72\x89\xbd\x95\xd8\xde\x22\x91\x87\x56\xee\x1b\x23\x12\xcd\x32\x83\xb8\x1b\xf8\x58\x64\x8c\x78\x0b\x70\x59\x7f\xe3\x09\xd8\xce\xba\x6c\xdc\x35\x9c\x7c\x39\x66\x4c\x09\x6b\x83\x3e\xd9\x2f\x9a\x0a\x56\x0b\xe1\x79\x1c\xdd\x96\x34\x45\xe0\x5d\x4a\x4c\xa4\x06\xfa\xb5\x1f\x85\xa9\x64\x48\x99\x52\x38\x95\x1b\x34\x59\x2d\x1b\x87\xef\x40\x6b\x80\x2a\x0c\x48\x6a\x8d\x2c\x7a\xd1\x8f\x4e\x38\xdb\xc8\xd3\x84\xe6\x49\x81\x38\x21\x02\xc8\x32\x54\x19\x43\x11\xc4\x79\xac\x2b\x5f\x5b\x80\x05\xa2\x72\x38\x8b\xa2\xf9\xb0\x25\x0d\xe1\x6f\x79\xc9\xe9\x68\xc6\x10\xf2\x1e\x0b\xa7\xf1\xe2\xb7\x2b\xb3\x8f\x31\x60\x4b\x8b\x91\xba\x2a\xcb\x3f\x22\x0c\x5e\x9d\xa1\xa8\x0b\x64\x05\x09\xb6\x62\x5c\xc4\x31\x5e\x3c\x2f\x58\x17\xe0\x33\x62\x53\x02\x4c\xfd\xdc\xc5\x11\x6d\x0e\xac\x01\xe4\xf8\x8b\x2d\xe4\xdc\x12\xb1\xc4\xc4\xf5\x37\x22\xae\xbf\x81\x57\xc0\x20\x0a\xce\x37\xef\xd1\x0f\x1d\x59\xe3\x9b\xe9\x66\x82\xf5\x92\x22\x7a\xd9\xa5\x23\x44\x71\x57\xb5\x44\x26\xfa\xaa\xa6\x80\xc9\x62\x96\x2a\x7b\x38\xe2\xc2\xf8\x36\x4d\xe7\xb2\xc2\xce\xd6\x78\xac\x3d\x0b\x6c\x28\x49\x76\x45\x1f\xd2\x6d\x55\x63\x34\x0d\x66\xfe\x7b\x54\xa0\xde\xd6\xa4\xf8\xc9\x21\x45\xaf\x10\x83\x88\xcf\x36\x6c\x63\xd5\x14\x15\x46\x9a\x7e\xfd\x4a\x60\x38\x0d\x02\xaa\x73\x49\x9f\x6d\x1a\x6e\x11\x07\xac\xab\x17\x88\xb1\xd1\x98\xf7\x3b\x33\xcf\xb0\xcd\x5a\x09\x17\x37\xd7\x30\xae\x80\x37\xa0\x09\xf6\x0d\xb5\x14\x96\xc6\xd1\x2d\x7e\x09\x96\x40\xa0\x38\x1a\x01\xfe\x6b\x15\xe1\x65\xd2\xe6\xd4\xa6\x98\x9d\x79\x0a\x34\x24\x4e\xe9\xb8\xae\x51\x61\x92\x0b\x0b\x46\x09\xaa\x27\xf1\x1d\x13\xf5\x61\x5c\x5d\xc4\x81\x41\x59\x8a\x8d\x5f\x5b\x02\xc9\x15\xad\xcc\x95\xf2\x28\x86\x5e\x0a\xbb\xe1\x68\x1a\xc5\xf4\x1b\xc2\xc2\x05\xb4\xc1\xf7\x1d\x9a\x04\x1a\xe6\x16\xa2\x46\x23\x5e\x10\x81\x8c\xa9\xd6\xc0\x37\x06\x01\xfd\xef\xfc\x7e\x0e\xcd\x8f\x09\x88\x3f\x74\x5d\x85\xf3\x99\x37\x82\x48\x98\x31\x80\xba\xd8\xdd\x52\x89\x2f\x2c\x01\x66\x22\x27\xb3\x45\x00\xa1\xb2\x2b\x47\xd4\x1b\xa6\x63\x51\xcd\xf7\xde\x0d\xe9\x50\xa5\xab\x85\xed\xa8\x3f\x96\xd9\x51\xac\x0f\x40\x50\xee\x41\x18\xc2\xf8\xed\xf9\xbb\x13\xd0\x01\x95\x8a\x1d\x12\xab\xef\xcd\xe7\x30\xf4\xfb\x48\x35\x54\x97\xe1\xa1\x23\x02\x12\x8f\x6c\xa6\x74\x1c\xb9\x27\xd9\x8f\x69\x45\x30\x43\xc9\x5d\x14\x10\x14\xde\x8a\xcd\xb2\x0c\x8c\x73\x09\xe7\x6d\xcf\xa4\x89\xca\x5b\x17\x9c\xad\xe2\x0f\xe2\x87\x06\xf2\x39\x89\x4a\xcd\x11\x0d\x4d\xe2\xcf\x16\xd7\x09\x3e\xa6\xfd\x39\x48\xa7\x78\x0a\x70\xca\xa4\x79\x50\x07\x78\x6e\xab\x68\x73\x96\x77\x4b\x2c\x12\xfb\x31\x4b\x60\x61\xb9\xb0\xdb\x67\x58\x5d\x76\x7d\x1f\x0a\x07\x6d\xae\x3e\x6b\xd3\x9e\x76\x37\xc9\xed\x29\x0e\xb7\xcd\xd0\xe9\x95\x4c\xe6\x01\x9a\x97\x64\x07\xeb\x9e\x25\xb6\xc5\x34\x61\x1d\xa8\x4a\x2b\x51\x2d\x67\x95\xe5\x34\x97\x5c\x6d\x33\xc2\x9d\x7a\x45\xef\xe9\xb7\x59\x81\x39\x39\xd2\x2a\xbc\x5a\x64\x19\x06\xee\x3d\x9c\xd8\x33\x97\x81\x66\x58\xfa\x24\x3b\x0d\xcb\x8e\xb8\xfc\x19\xce\x39\x55\xfb\x0d\x2a\xcb\x2b\x3b\x60\x6e\x10\x64\x6c\x85\xad\x78\xe2\x19\x98\x61\x13\x00\xf0\x5a\xa9\x57\xf1\x63\x6f\x32\xf1\xae\x67\x86\x88\x38\xe2\xc8\x90\x47\xa4\x08\x6c\x1a\xc3\xb1\x8a\x48\xa2\xc7\x8b\x27\xe4\x1e\x69\x88\x1f\x35\xae\x98\xab\x79\xbe\x8f\x33\x2f\xa2\xfd\x03\x0c\x61\x5c\xad\x8c\x66\xc1\xe8\x53\x45\xdc\xbf\xe0\x04\x8a\xb6\xdd\x9b\xe5\x38\x51\x19\x56\x5a\x8b\x80\xc2\x33\xdb\x30\x29\x94\xc8\x76\xe3\x41\xa3\x41\xeb\x3c\x59\x57\xf4\x0d\xd5\x28\x0a\x53\x2f\x08\x13\xd3\xae\xca\xdd\xe3\x62\x5a\xa8\x18\x6f\xcc\x9c\xa0\xad\x29\xd1\xf9\x33\x46\xd0\xbe\xd2\x4c\x89\xc8\x52\xa3\x4e\x86\x10\xde\xbe\xa7\x9b\x0d\x71\x3b\xc3\x97\xf4\x21\x3d\x49\x1a\x22\x3b\xda\x8b\x27\x0b\x79\x8f\x37\x34\x18\xd3\x0c\xe4\xc5\x30\x20\x2f\x9f\x76\xb2\x86\x17\xc3\xc0\xf8\x38\x15\x0d\xee\x23\xb3\x8a\x92\xda\x20\x05\xef\x25\xeb\xcd\x68\xde\x53\x84\x2e\x0b\x9f\xc0\xa2\x91\xad\x3d\x38\x8e\x62\x58\xe5\x84\x06\x57\x75\x86\xd4\x38\x06\xb4\x31\x49\x3b\x4a\x8c\x2e\xb9\x7a\xc1\x01\xd1\x96\x43\x69\x84\xc8\x54\x26\xf6\x00\x25\xad\x0e\xf8\x02\x24\xfc\x6a\xbc\x2d\xcb\x5a\x1b\x8c\x37\x63\x9a\xa7\xac\x05\x52\x85\xa6\xe6\x52\x30\xe5\x83\x0d\x1d\xdf\x05\x3c\x37\x3f\x29\xa6\x5c\x38\x08\x68\xd9\x9d\x83\x47\xce\xc8\xf0\x0e\x2c\x8a\x41\x14\xce\xee\x01\x9d\x93\xc0\x03\x49\x10\x4e\x66\x30\xab\x62\xbf\x9a\x18\x2f\x66\xb3\x73\x72\xda\x26\xd0\x67\x3c\x74\xc3\x7b\x32\x89\xa1\xe6\x15\x19\x6f\x42\x83\xc9\x34\x45\x70\xe9\x39\x14\x41\x22\xd8\x06\xfc\x37\xb6\x71\xd2\x37\x8f\x1c\x06\x22\x09\xc3\x31\x2e\x3e\xac\x46\x55\xc0\x69\x7c\x1a\x5f\xdc\x4a\x19\x05\x47\x41\x68\x3c\xb9\x17\x7d\xec\x1e\xf2\x58\x63\xe6\x68\x76\x92\xaf\x31\xc1\xc0\xc9\x19\x1c\x3b\x19\xd9\xd4\xa4\xdc\x70\x6e\x49\x61\x14\x64\x64\x86\xb2\x14\x1f\x65\x2c\x9c\xaf\x25\xd8\x28\xd2\x5a\xbe\xb7\x6a\x4f\x0b\xf7\x53\x81\xc1\xc5\x20\x47\x72\xa9\x69\xa7\x8f\xa2\x05\x5c\x21\x9a\x78\x6d\x2d\x04\xbf\x08\xdb\x6d\xc2\xac\x5f\xa4\xb5\x4c\x71\x91\x5c\x19\xb3\xa0\x48\xe7\x2d\x3a\xe8\x80\x76\xb3\x99\x45\x4e\x8a\x1e\x25\x02\x24\xb3\xe3\x5e\x06\xd9\xe2\xb5\xb7\xf7\x17\xf3\xda\xd3\x32\x85\x80\x8e\x09\x7b\xb5\x4d\xeb\x67\xef\xc1\x59\x2a\x6e\xd0\x8a\x24\xcb\xeb\x59\xea\xa5\x30\xf3\x32\xf8\xf2\x70\xf0\x4c\xff\x70\x61\x4c\x57\xd2\x1b\x9c\x5c\xa9\x81\xb6\x09\xb2\xed\x33\x03\x54\x31\xa8\x1a\xd7\x70\x36\xab\xd6\x0e\x40\x09\x2c\x27\x47\x65\x91\xcc\x82\x10\x1e\x41\xe8\x97\x44\xf4\xd3\xf9\x15\x7f\x99\xa4\x10\x59\xc5\x41\x1f\x1d\x7d\x33\xd0\xfd\xd3\xb2\xec\x19\x79\x71\x1c\x78\x13\x78\x8a\x8b\x4b\x32\xa9\x77\x56\x7a\xc8\xbd\xd1\xa7\x64\xee\x8d\x60\x49\x4c\x6f\xcf\xcb\x62\x4a\xbd\xeb\x92\x38\xce\x3e\x94\xc5\x91\x4c\x83\x71\xfa\x61\x91\x96\x45\x74\xbc\x14\xa2\xe3\xb2\xc3\x33\x38\xeb\x17\x45\x44\xbe\xe0\x74\x0a\x08\x6c\xf5\x23\xfe\x1b\xff\x8e\xc0\x74\x3f\x0e\x0e\x09\x6e\xbc\x0f\xc7\xc8\x7c\x83\xb2\x30\x7c\xb9\xa8\x5c\x54\xcc\x54\xb0\x38\x79\x66\x6f\x64\x39\x19\x70\x88\xbe\xb0\xb1\x11\x13\xac\x20\x83\xfe\x23\xcd\x26\x42\x97\x6f\x17\xf1\xfd\xb3\xe3\xe1\xc7\xee\x69\xf7\x5d\xed\xe0\x99\x8d\xc0\xab\x3f\x93\xc0\x0f\x67\x7d\x07\x69\x1f\xff\x4c\xd2\x0e\xfb\x67\x0e\xd2\x86\x05\x49\x73\x61\x38\xfe\xfe\xfd\x87\xd3\x81\x03\xc9\xff\xfc\x11\x48\x46\x65\x99\xcc\xdf\xca\xb2\x41\x1c\x94\x85\x28\x64\xe7\x10\x92\x39\xf9\xf0\x8e\x25\x41\x72\x75\xf0\xfd\x87\xd3\x77\xdd\x13\x07\x39\x87\x65\xc9\x79\x3a\xd4\xef\xca\xf3\xf6\x33\x8c\x13\x78\xfc\x64\x14\xfc\xa3\x2c\x05\x09\x4c\x27\x27\xf0\x33\x9c\x55\x9b\xb5\x03\xfd\x53\x99\xa7\x85\x0b\x11\x2e\x56\xfc\x14\xcc\xdf\xa3\x3d\xda\xd4\x8b\x1d\xf2\x65\x5e\xfb\xbb\xef\x4d\x1d\x2d\xa8\xe4\x19\x35\x4c\xc7\x8f\x92\x00\x6b\x0a\x83\x92\x37\x7d\xba\xa8\xbc\x31\xb2\xd9\x88\xfd\x23\xce\xb9\x53\xad\xbc\xa9\x10\x7c\x66\x80\xaf\xcb\x03\x7c\xed\x04\xf8\xbc\x3c\xc0\xe7\x4e\x80\xcd\x12\x00\x51\x6b\x5a\xa1\x31\x61\x7f\xd7\xc0\x4b\xd0\x6a\xba\x50\xb4\x9e\x06\x05\x4e\xe3\xe7\x40\xd3\x7e\x32\x34\x6d\x17\x9a\x8d\x27\x43\xb3\xe1\x42\xb3\xf9\x64\x68\x36\x5d\x68\xb6\x9e\x0c\xcd\x96\x0b\xcd\xf6\x93\xa1\xd9\x76\xa1\xd9\x79\x32\x34\x3b\x2e\x34\xbb\x4f\x86\x66\xd7\x85\x66\xef\xc9\xd0\xec\xb9\xd0\x7c\x57\x02\x4d\x94\xa4\x58\xa7\x7c\xe7\xd4\x29\x2b\x4b\x40\x5c\x71\x42\x04\x4b\x40\x04\x4e\x88\x97\x95\x25\x40\x5e\x56\x9c\x30\x0f\x0a\x82\x1c\xa3\x75\x38\xf8\x27\xa4\xa3\x64\x87\xf8\xc7\xac\x91\xe6\xe5\x51\xee\xda\x7f\x29\x5d\xe3\xb7\x9e\xc4\x56\xaf\x03\x9e\x6c\x58\xdd\xf6\x91\x4b\x0f\x6c\x65\xb0\xbc\x65\xac\xc3\x32\x8a\xee\xd2\x28\x48\xf6\xbd\x1f\xe7\x6e\xf8\xbd\x47\xc2\x3f\x8c\x6e\x43\x37\x86\xfe\x23\x31\x1c\x45\xf1\xad\x17\xfb\x6e\x24\xaa\x1d\x5c\x16\x49\xcf\x1b\x7d\xca\xc7\xa2\x1a\xff\x65\xb1\xbc\x27\x17\xcc\xd0\x8d\xe5\xe8\x91\x58\x3e\xc6\x70\x04\xfd\x20\x9c\xe4\xa3\xfa\xfe\x91\xa8\x90\x00\x77\xaf\x93\x68\xb6\x48\x73\x30\xbd\x7d\x6c\xa7\xa2\x24\xc0\x47\xb4\x4e\x2c\xc7\x4f\x23\x6b\xe7\xde\xb5\x1b\xcf\x7f\x2f\x8d\x07\xc6\x1e\xda\x02\x1d\x06\xc9\x7c\xe6\xdd\xbb\xb1\xfc\xf0\x58\x2c\xf9\x02\x70\xf2\x48\x0d\x86\x30\xe4\x68\x30\x75\x9f\x58\x1c\x05\x79\x11\xb6\x00\x0a\xf5\x2c\xa5\x2c\x8a\x02\x7a\xf8\x6c\x69\x14\x24\x37\x68\x9e\x1e\x3e\x2f\x0c\xff\x19\x30\xbe\xfb\xf5\x0a\xe0\x97\x7e\x9f\xeb\xf9\xed\x65\x42\x24\x85\x4d\xee\x68\x9e\x99\x08\xfa\xe5\x71\xc2\x57\x80\xa5\xff\xef\x13\xe9\xec\xdc\xd9\xfa\xbf\xcb\x23\x9a\x7a\x48\xf3\x14\x53\x71\xde\xd2\x68\xde\x32\xed\x76\x0a\x67\x5e\x1a\x7c\xce\x41\x74\xbd\x34\xa2\x18\xce\xa1\x97\xf2\x05\x82\x87\x8a\xbb\xf1\xa9\xa7\x68\x25\x64\x1f\x86\xfe\x21\x7e\xaf\x21\x7b\xd1\xce\x8d\xcb\x5f\x1a\xd7\x2c\x08\x61\xe1\xb1\x82\x4b\xa3\xf9\xa9\xdc\x58\x8d\x97\x17\x8a\x9f\x8a\xad\x79\x93\xa5\x31\xa4\xde\x75\x7f\x06\xbd\x9c\xd1\x9f\x3e\x62\xf4\xc9\x3b\xf6\x4e\xf0\xb3\x47\x08\x73\x21\x04\x37\x8f\x9a\xfd\x45\xe5\x36\x7c\xc4\x12\x94\xbd\x67\xe2\xc6\x31\x2f\xb7\x46\xf0\x54\xeb\xda\x8a\x80\xb3\x89\x57\x9e\x57\xe4\x7c\xe2\x7c\xd8\xd8\x73\x06\xf2\x32\xc1\x7e\x04\xb7\x66\xf3\xca\xf1\x7b\x31\x32\xeb\x60\x4e\x76\x90\xd2\x9a\x46\x8a\x88\xb3\x3f\xa8\x18\x97\x31\x29\x43\x7d\x91\xa5\x2c\x76\x13\x64\x96\x5c\x31\xf9\xb8\x7b\x58\x92\xf2\xe0\x79\xaa\x6d\x37\xe4\x45\x69\xc8\x52\x76\x6c\x27\xf0\x62\xbb\xe8\xbc\xb1\xab\x83\x47\xed\xb3\x85\x6f\x07\xcf\x84\x2c\x21\x42\x39\x13\x01\xa1\xe8\x42\xfc\x7d\x85\xc0\x5c\x41\x74\x37\xd1\xff\x58\xc1\x81\xbb\x19\xbd\xfb\xc4\xed\xb0\x43\x24\x2f\xc9\x69\xc8\xef\x1d\x71\xd3\x36\x6e\x9a\x95\xe5\x37\xc6\xcd\x36\x58\xb3\xbc\x06\x1f\xce\xfa\xb8\xc1\x26\x6e\x80\xfe\xca\xc3\x40\xae\x29\x70\xa3\x2d\x82\x85\x96\xe4\x34\x3c\xec\x9f\xe1\x46\xdb\xb8\x11\xfa\x2b\xa7\x01\xb9\x7d\xc3\x6d\x76\x70\x1b\x5a\x80\xf3\x6c\x09\x35\x71\x96\x3a\xf1\xef\x0e\xf8\xf2\x50\xab\x89\x12\x90\x93\x23\x86\x54\xaa\x0e\x03\x21\x1b\x57\x1d\x0c\xd5\x7b\x9e\xcc\x97\x29\x90\x93\xac\x4b\x7f\xab\x7e\x4f\x0c\x0a\xaa\xc7\x7e\x57\xeb\x24\x94\x6e\x5d\x96\x99\xde\xc9\x38\x25\x38\x9a\xe2\xa9\x20\xa7\x77\xf1\x52\x4f\xf5\xf7\x45\x98\x51\x39\x7f\x2c\xf7\xb7\x3a\x18\x25\x75\x30\x9a\xd6\xc1\x88\xb8\x60\x45\xb7\x2a\x45\x73\x6a\x1b\xc8\x29\x23\x0d\xcf\x20\x24\x8b\x38\x8e\x26\x5e\x0a\x87\xd3\x60\xa2\x79\x00\x22\xbc\x86\xf4\xf6\x52\x1b\xb0\x8a\xab\x99\x5c\xf5\x6c\x2d\xe4\x88\x29\x25\x07\xc1\x81\xda\x05\xfc\x14\xaf\x5c\xa6\x7b\x0b\xe3\x58\x10\x44\xc7\x85\x5c\x53\x89\x8d\x18\x11\x27\x38\xcc\x4f\xb4\x7e\xf7\x23\x1f\x76\x59\x56\x17\xd6\xc6\x10\x0c\xd8\xbc\x3b\xdc\x6d\x36\xc1\xab\x0e\x81\xf0\xe2\x05\xf9\x17\xa7\x96\x3b\xec\x1d\x1d\x99\x7c\xce\x67\x38\x42\xd5\x8d\x8a\xdc\xcf\x18\x9d\xde\x83\xe4\xbd\xf7\xbe\x3a\x8b\x6e\xad\x0e\xed\x79\x4c\x1e\x4d\xcd\x71\x39\xa3\x28\x4c\x83\xd0\xf4\x3c\xbe\xee\x0a\x4f\x19\x56\xad\xe2\x5f\xd6\x00\x61\x44\x0d\xbc\x04\xcd\xbb\x4d\xf4\xcb\x2a\x40\x34\x92\x2f\x7d\x52\xd0\xbc\x6b\x35\x9b\xea\x2b\xbd\x74\x90\x56\x05\x8e\x14\xe1\xc6\x83\x69\x28\xfa\xd6\xa1\x38\x3a\x3a\xd2\xd3\x79\x9a\xfb\xcb\xec\x1f\x61\x0a\x5b\x9f\xf4\xd2\x27\xb6\xfd\x69\xff\xd1\x14\x04\xa1\xc1\xcb\xcb\x15\x7e\x66\x70\xec\x19\x4d\xaf\x68\x5a\x21\x5d\x67\x3d\x65\xe0\xa5\x0e\xbd\xe1\xf9\x3e\xbe\x87\x66\x1a\xe6\xb1\x0f\x9c\x03\x13\x1b\xe9\x72\x9a\xc7\x47\xc3\x2d\xb8\x8b\x91\xa6\x4b\x73\x95\x93\x7c\x5d\xb0\x07\xdf\x39\x62\xf3\xcc\xbd\x66\xc2\x34\xb2\x86\xe0\x72\x26\x54\xaa\x15\x73\xa7\xb3\x1a\xb5\xdc\x1a\x2f\x73\x6b\xac\xe6\xd6\x58\xcb\xad\xd1\x70\xd4\x00\x85\x7b\x2d\xc3\x74\xf5\x5e\xfc\x51\x1f\xb4\xca\x1e\xbe\x32\x28\x16\xd3\x4f\x4e\x7c\xa5\x4c\x95\x8b\xe3\xc5\xa8\x6a\x7d\x03\xaa\x5c\xa3\x5c\x8c\x2a\xcb\x63\xa7\x8f\xa2\xca\x25\x59\xc5\xa8\xda\xf8\x06\x54\xb9\xa4\xb9\x18\x55\xdf\x62\x04\xf3\x66\x50\x3e\x55\x4f\x37\x82\xf6\x98\x76\xe0\xb4\x64\xe9\x06\xe1\x51\xd1\xcc\x84\x1b\xeb\x39\xdc\x58\x5a\x62\x1e\x49\xbc\x6c\x85\xac\xad\x3d\x41\x57\xdf\xe7\x74\xb5\x10\x90\x0f\x4f\x01\x24\x2c\xc7\xf4\xcc\x09\x4e\xcd\xc7\xbe\x14\xf6\x68\x59\xec\x1b\x4f\x81\xfd\xeb\x9f\x8a\xfd\xe1\x4f\xe5\xfc\xbf\x96\xc5\x6e\xda\x90\x94\xc6\xbe\x53\x08\xbb\x64\x76\x0a\xc7\x5e\x39\x14\x14\xdb\x75\x3f\x8a\xfe\xdd\xf2\xf4\xcb\x87\x6b\x7f\x7e\x17\xfe\x5e\xa8\x0b\xcb\x92\xa0\x6e\xc8\x9f\x80\xe0\xb7\xe5\x24\x36\xf5\xae\xcf\x88\x37\xf6\xb7\xeb\x65\x21\xba\x3b\xe5\xe8\x9e\x45\x93\x6a\xe5\x0c\xc6\x81\x37\xc3\x29\xba\x41\x0c\x7f\x5f\xc0\x24\x85\x3e\x10\x9e\xb7\x05\x9f\xf0\x1b\xba\x0d\xdb\x33\xcb\x16\xe0\xa6\x47\x78\xf5\x5c\x7d\x39\x40\x0a\xbc\xcb\x6b\x87\xf2\x4d\x59\xfd\x7a\x19\x56\xe3\x5d\x4a\x10\x4e\x00\x4e\x22\x9b\x46\x74\xbb\xfd\x84\x1c\x56\x92\x46\x14\x80\xf2\x57\x64\xb1\x0f\xc7\xde\x62\x96\x7e\x7b\xad\xc1\xb9\x00\x49\x80\xf9\x8f\xe1\xa7\x30\xba\x0d\xc1\xe0\xac\x9f\xbd\xbb\xf0\x8f\xa4\x51\xa9\x83\x91\x1a\x9a\x5d\xa2\x4f\x8f\x3b\xa0\xa0\x96\x63\xde\x01\x85\x10\x0a\x40\x5b\x9c\x39\x8f\x00\x12\xd0\x31\xb5\xb9\x18\x4d\x1d\x89\x92\x28\x3a\x7c\xed\xb5\x9e\x9b\xe3\x0a\x33\x59\x8d\x28\xb0\x55\x2e\x9a\x67\x08\xe4\x1f\x25\xa9\x7d\x53\x42\x23\xca\x0c\x92\xc1\x38\x61\xe1\x17\x96\x4d\x42\x1d\x8c\xd4\xab\x48\x0b\xb0\x89\xed\x0d\x6d\xbd\x4d\x59\x31\x2f\x2a\x5b\x1f\xce\xfa\x4e\xb9\x42\x03\x6d\x8b\xec\x03\x5f\xbf\x02\x57\x95\xde\xe0\xc4\x25\x20\x05\x30\xd8\xdf\xfd\x07\xa5\x16\x7e\xf5\xc5\x65\xe2\x90\x84\x73\x3b\xe9\xef\xa7\xf3\x10\x35\x87\xac\xca\x47\xb6\x0a\xe0\x8b\xe6\x55\xde\xc4\xc0\xe3\xd0\x74\xeb\x37\xd3\x23\xe3\xc6\x3a\x86\x47\xc7\xd5\x1f\xd3\xb3\xd3\xec\x29\xe7\x22\x27\x66\xc0\x60\xf4\x04\xe9\x0c\xea\x57\x32\x1c\x6c\xb1\xd3\x02\xa5\x35\xb9\xc6\x3d\x47\xa0\x55\x7a\x31\xbe\x1c\x15\x0c\x72\x0f\x17\x40\xb1\x13\x0a\xd3\xfb\xea\x8f\x01\x65\x78\x96\x5d\xab\xb3\xf5\x74\xe8\x5a\x85\x44\xab\x88\x6c\xb5\x72\x84\x8b\x54\xca\xe1\x14\xa9\x54\x84\x07\xad\x1c\x26\x90\x4a\x86\xf7\xe5\xf5\x4a\x3b\x45\x2a\xed\x16\xa9\xb4\xf7\x84\x72\x90\x43\x7a\x19\x58\x5b\x39\x83\x5c\x0a\x56\x8e\x2c\x94\x82\x55\x40\x1f\x15\x17\xe4\x42\x52\xd3\x2c\x24\x36\x05\x67\x45\xa1\x69\x51\x6c\x5e\x14\x9b\x18\xc5\x66\x46\xb1\xa9\x51\x6c\x6e\x14\x9b\x1c\x79\xb3\x03\x2c\x9b\x3b\x12\xd8\x96\x64\x25\x93\x58\x4e\x1b\x73\x38\xb9\xbd\x61\x59\x1b\x6a\x29\xd3\x53\x78\x7d\x46\xb5\x37\xdc\x99\x71\x45\x00\xa3\x29\x78\xdd\x01\x95\x66\x05\x5f\x2a\x4f\xc1\xab\x0e\xa8\xec\xe5\x5a\xdb\x20\x8f\x45\xcb\xac\xc8\x12\x04\x1a\x90\x36\x9a\x8a\x7e\x04\xcd\x1a\x58\x03\x9b\xbb\x8f\x39\xf2\xe7\x09\x64\xd9\xd6\xe2\x60\x99\xce\x3e\xde\xac\x2b\xc2\x03\x77\x92\x5d\x77\x5f\x5d\xc9\x7c\x9d\x52\x95\x47\xd4\xaa\xdd\xc7\xc2\x8e\xf7\x91\xbb\x52\xe6\x4a\x96\xb7\x2f\x35\xc5\xc6\xb9\x37\xa6\x86\x58\x3a\x76\x75\xfe\x94\x57\xe5\x98\xa1\x6a\x34\x5f\xc9\x3d\x58\xff\xec\xb8\x18\xaf\x0a\x70\xa9\x04\x83\x8c\xbc\x69\x28\x7e\x67\xc6\xe9\xa1\x17\x53\x47\x49\xb5\x98\xf9\x4d\x3a\xb8\xfe\x08\x37\x0f\xdb\xc1\x4b\xff\xec\x18\x7b\x7a\xe4\x9e\xba\xb8\x76\xeb\x65\x15\xbd\x91\x23\x8e\x89\x6e\x66\x95\xa3\x41\xd1\x39\x75\xd8\x3f\xfb\x3f\xb0\x1b\xc7\x09\x3b\x53\xc0\xde\xb1\x72\x57\xc4\x8f\x6a\x14\xa8\x6b\xdb\x91\x6b\x3e\xe5\xa6\x1f\x72\xa4\x5b\xe0\x86\xbc\xa8\xdd\x5a\xf9\xee\xf7\x02\xd0\xe6\xa9\xbe\x7f\x16\xd5\x7a\xfe\x42\xc5\xb8\x53\xe0\xd8\x17\x88\x9e\xf6\xc6\x04\xb7\xf6\xde\xac\x14\xe9\x8d\xd4\xab\x4a\x73\xe5\xf7\x9c\x65\x52\xfc\x29\xe8\xca\x20\x50\x34\x2f\x4d\xd1\x76\x6b\x65\xfe\x2d\x49\x8a\x4b\x53\x54\x29\x5c\x1f\xfd\xac\xea\x2e\xb3\xf8\xb4\xfe\x3c\x9a\x63\x77\xc5\x92\xc0\x2a\x07\x4f\x83\xbe\x17\xa5\x69\x74\xb3\x14\x05\xf1\xb7\x1c\x8e\x9b\xf2\x22\x7b\xf3\x6d\xe8\x29\x74\x9b\x21\xfe\xb8\x97\xc8\xc3\xfe\x19\xf8\x98\xb2\x05\x72\x6e\x7b\xb8\xc1\xf4\x43\xc5\xee\xc9\x7b\x99\x7f\xe6\xa6\x1d\xa3\x87\x7e\xd5\xba\x92\xad\x82\xca\xc7\x0a\x58\x05\xab\x44\xbd\xad\x82\xca\x77\x31\x7e\x46\x38\x05\xab\xf6\xf5\x0f\x3f\x55\x9c\x77\x85\x56\xb0\x53\xd4\xbf\xac\x88\x92\x29\x0e\xed\x2f\xb9\x24\x3c\x72\x60\x56\xff\xe0\x81\x29\x3c\x97\xf2\xe7\x10\x31\x0d\xd8\x3c\x32\xdb\x0d\x8f\xa6\xb9\xf0\x01\x48\xd9\xc3\x8c\xe2\xd6\x2a\xf8\x16\x07\x20\xa6\x63\x0e\x69\x93\x5d\xf6\x88\x84\xf4\x82\x1c\x77\xe0\xb7\x26\xbe\xab\x88\x7f\xad\x16\xbb\x6b\xb4\xf2\xb3\xfc\xee\x58\xea\xaa\x91\x5a\x31\x43\x7a\xfb\x4f\x23\xaf\x14\x5a\xca\xe6\x27\x3c\x2e\x28\xb7\xdb\x2b\x7a\x68\xf1\xb8\xa3\x09\x12\xdf\xf5\x7f\x60\x27\xf5\x94\xd3\xda\xc0\x5c\xc7\x23\x2c\x02\x66\xd2\x86\x26\xd0\xd6\x42\xcb\x58\x78\xa5\x14\x5d\xa6\xc5\xb8\xc8\x1d\x29\x06\xf6\x23\x53\x7c\x42\x2e\x25\x6d\xb7\x67\x53\x96\xe4\x97\x7c\x1c\x7c\x6b\x2f\x20\x91\xa3\x81\x4d\x58\x78\x2b\xfa\x5b\x3e\x1e\xaa\x07\xa4\xb4\x50\xb2\x16\x75\x2b\x90\x79\x66\x1c\xd8\xd0\x4c\x4c\x68\x44\x0c\xd2\xd0\x3a\xac\x0f\x1b\x02\xe9\x28\xcd\x8a\xe5\xd1\x87\xb6\x85\x16\x4e\x2b\xaf\x05\x67\x94\x1c\x12\xd5\x09\x28\xa7\x88\x27\x90\x59\x7e\x78\x96\xfa\x9d\x47\x89\xb2\xcf\xe6\xa4\xef\x94\x2c\x73\xc6\xf7\x76\xf3\x2f\x96\xf1\xfd\x30\xba\xa1\x0f\x1b\x11\x60\x1f\xa3\x68\x66\xcf\xe6\xce\xd2\xb9\xbf\xeb\xfe\x32\x3c\x1d\x1c\x9d\x0e\xce\xde\x0e\x8f\x4e\xbb\xef\x06\xc3\xb3\x1f\x8e\x3f\x82\x0e\xd8\x22\xdf\x8f\x4e\xba\xdf\x9f\x49\xc1\xd4\xb8\x84\x8d\x03\xfe\xe3\x82\xfc\x7f\xa5\xf7\xe1\x44\x0c\x80\xc6\x7f\x1e\xe8\xd5\x7e\x7c\x7f\x38\x38\x3d\x39\x7e\x3f\x10\x22\x9e\xb3\x32\x43\x83\xde\xc9\xf1\xfb\x1f\x84\xb0\x65\xf2\xb7\xa1\xe2\xf1\xfb\x9f\x06\xa7\x67\x04\xee\x2e\x89\x21\xa6\x25\xe6\xca\xc7\x67\xc7\xbd\x13\x52\xbd\xb5\xcd\xea\xd3\x42\x1c\x76\x8c\xab\xe2\x80\x63\xf2\x1b\x0b\x35\x26\xbc\xb9\x8e\xa3\x4f\x30\xec\x45\x33\x9f\xbb\x06\xa1\xe2\x53\x18\xfa\x30\xce\x8d\x42\x66\xd5\xaa\x8e\xc0\xe3\x22\xc1\xc4\x31\x1c\xc7\x30\x99\x9e\x46\xb7\xc9\xff\xb3\x80\x0b\xa8\xdc\xce\x49\x95\x8e\x62\xef\x06\x26\x67\x9f\x82\xf9\x1c\x3f\xe7\xd6\xb4\xd4\xeb\x86\xc1\x0d\xf6\x58\xc4\x0d\x34\xc7\x27\xba\x0e\xcc\xbd\x50\x93\x38\x54\x17\xde\x5a\x84\xb1\x61\x2a\xae\x56\x10\xa0\x8a\xf2\x82\xa9\xc8\xdb\x0e\xc1\xaf\xae\xe6\x12\xfb\x47\x53\x38\xfa\x84\x7e\xef\xe1\x52\x55\x49\x41\xed\x5d\x38\xf5\x49\xef\x6f\xd2\x1b\x82\x84\x8d\xb4\xa0\xe0\x7e\x47\x23\x75\x4a\x98\xad\xae\xb9\x71\x5a\x07\x30\xf4\x75\x69\x50\x47\x9a\xa8\xe3\x2f\x00\xb7\xd9\x07\x59\xd3\x7d\xf4\x3f\xe9\xb5\x29\xc1\x98\x37\x0e\xb1\xf9\x95\x78\x9b\x34\xdc\x06\xa1\x1f\xdd\x36\xa8\x1f\xb2\xfc\xb9\x2a\x35\x3d\x89\xa2\x79\xe3\x3a\x08\x7d\x72\x2d\xa4\xf1\x9f\x6a\x6b\x03\x87\x44\x08\xd6\x25\x00\x3f\xda\xfa\x29\x98\x33\xc2\x94\x51\xbf\x8d\x83\x14\xf6\x16\xe3\x31\x8c\x85\xe7\xab\xd1\x86\xc5\x3e\x2b\x56\x57\xc1\xab\x8e\x45\x2d\xca\xfc\xe4\x88\xff\x78\xe6\x01\xe7\x93\xe4\x45\xa7\x3c\xe6\x1e\x12\x1a\xb9\x08\x86\xbe\xdc\x51\x8b\xf4\x71\x8e\x6e\xaa\x0c\xc0\x40\xf5\xed\x31\x12\x4a\x6d\x8c\xe2\xe8\x36\x01\x6b\x62\x30\x9d\xf3\x8d\x38\x06\xda\x4c\xd3\x45\xf3\xaa\xa1\xf4\x48\x45\x6c\x6a\x22\xf5\x18\x38\x5f\xd9\xb7\x70\xc1\xf8\x22\x99\x9b\x7f\x17\x01\xa5\x15\xbc\x22\xbd\xb2\xed\x56\x72\xba\x1c\x18\xbb\x0c\x8c\x3b\x08\x37\x35\x88\x4d\xaf\x55\xd5\x53\x98\x8f\x81\x81\x8f\x3a\x15\xa6\xcd\x4a\xf9\x75\xac\xd0\xfa\x44\xeb\x8a\x2a\xf5\xa0\xa0\xd2\x29\xa0\x92\xb3\xf7\xec\xe4\xc9\x82\x78\xb4\x46\xc7\xec\xb5\x59\xda\xd7\xf5\x73\x08\xfe\x32\x9e\x79\xdd\x32\x3e\x94\x07\xb2\xc4\x7d\x96\xb7\x10\x2d\xc0\xc4\x57\xee\x74\xfa\xfa\xe4\x59\x36\x2d\x6b\x80\x69\xe4\x10\x13\x6e\x03\x3f\x9d\x1a\x8e\x43\xa3\x99\xf2\x9c\xf9\x3d\xd9\x33\xc6\x06\x86\x99\x19\x65\xd6\xab\x72\xb0\xc6\xff\xc2\xd0\xff\x5f\x10\x24\x20\x8d\x22\x30\xf3\xe2\x09\x6c\x80\x77\x51\x92\x82\x59\xf0\x09\xce\xee\x81\x07\xae\x3d\x1f\xf4\xcf\x4e\xb5\xb0\x8d\xd2\xda\x88\x66\x1b\xb9\x47\xeb\x03\x92\x74\x70\x6f\x7e\x66\x3c\xc6\x79\x3c\xee\xc1\xaa\x0a\xfc\xde\x0f\x92\xf9\x81\x56\x7f\x16\x84\x86\xb5\x0b\x95\x26\x68\x37\x58\x8d\xa3\x5b\xc3\x23\x69\x77\x96\xdb\x56\xc3\x39\xd8\x3d\x36\xa1\xee\xc1\x9a\xfe\xe5\xda\x4b\x20\x58\x33\x12\x5a\x03\x2f\x5e\xe4\x49\xd4\x88\x66\xce\xf2\x52\x68\xaa\x6d\x38\x7a\x4c\xa2\xf8\x6d\xe0\xfb\x30\x34\xc9\xeb\x9d\xce\x86\x3b\x9b\x10\x02\xfb\xa9\x16\x02\xb3\xd6\x72\x35\x44\x0c\xf4\xd2\x34\xd6\xf1\xf9\x70\xdc\x4d\xd3\x58\xe7\x37\x7b\x01\xed\x28\xf6\x26\xf4\x71\x59\xe5\x51\xb4\x43\xa5\x86\xea\xa6\x82\xd7\x13\xc7\x2b\xe0\x38\x53\x34\xd9\x26\x67\x0f\xe1\x9a\x86\xf8\x76\x1a\xcc\xa0\x36\x96\xf8\x51\xc7\x18\x86\x17\xf7\x57\xfc\x77\x87\x33\x1b\x7f\x4b\xdb\x30\x75\x0d\x90\xa4\x87\x22\xd9\x8f\xa3\x9d\xa8\x63\x70\xb9\xe1\x90\xde\x61\x78\x37\x62\x38\x83\x5e\x02\x8d\x6d\x1f\xec\x6b\x35\x7d\x2f\x14\xeb\x24\xeb\x9a\x8c\x87\x93\x64\x2a\x42\xb3\xec\x22\xb8\x32\xf6\x8e\x70\x48\xa8\x64\xf2\x96\x27\x95\x86\x4c\x09\xb2\xaa\x6d\x43\x55\x6c\x83\xb3\xba\xb6\x25\xb6\x4c\xae\x1d\x9c\xf5\x07\xcf\x6d\xab\xeb\x04\xed\xa6\x3a\x1b\xec\xf0\x70\x83\xe7\x9d\x0e\x9e\x1e\x36\xa8\xa8\x22\x9e\x3e\xa8\xa2\x79\x02\xe5\x1d\xbd\xf2\x89\x90\xeb\xf4\x21\xcd\x08\xe9\x19\x7d\xfe\xbb\xfb\xfe\xa7\xe8\xcb\xfb\xf6\x13\x7c\x75\xee\x4b\x8f\xf3\xcb\x04\x3a\xee\xa2\xb4\xb9\x6d\x8f\x26\x32\x93\x22\x8d\xcf\x23\xd9\x8e\x93\xfb\x2a\xa4\x97\x1a\x09\xae\x36\xcc\xf3\xd7\x1b\xe1\xa3\xa6\xf2\x91\x64\x8c\xd2\x72\xb4\x95\x12\x29\xbd\x33\xcb\x88\x15\x28\x21\x5a\x20\xf7\xf6\xfd\x69\x44\xcc\x8e\xe3\xa9\x07\x8f\xcb\x22\x52\x3f\x6b\xda\xcb\xc3\x6e\xf4\xc2\xc3\xdc\x9e\xef\x57\x2b\xf4\x29\xa7\xb5\xcf\x81\x0f\xa3\xbc\x2b\x68\x37\x28\x36\x21\xd6\x88\xad\xe1\x02\xf6\xa8\x1b\x3b\x7c\xfe\x37\xa1\xf9\xda\xc0\x0b\xd0\xbc\x6b\x8d\xc7\x6e\xc2\xf1\xfb\xc5\xa8\x09\x61\xdc\xeb\xd7\x60\xaf\x56\xa2\xe5\xcc\x9b\x24\x0c\xdf\xeb\xd7\xa0\x95\xe3\xca\x8d\x06\x88\xb4\x79\x41\xce\x3d\x1b\xbd\x0f\x27\x87\x45\xa6\x06\x5e\xa7\xb2\xc3\xb5\xc2\x3e\x68\xce\x71\xb9\x43\x03\xb3\x76\x1d\xcd\xfc\x22\x2e\x06\xf9\x9e\x2a\xb8\x7b\x13\xf0\x0a\xec\x16\xa5\x6f\x3c\x01\xab\x1d\x90\xc3\xb5\x7c\xe4\xee\xaf\x3a\xd7\xf9\xc9\xf6\x12\x5a\xc9\xc8\xc3\x05\xda\xb5\x22\x3b\x23\x8f\x91\x65\x29\xc5\xc7\xea\x4f\x45\xe5\xf5\x2c\x08\x3f\x3d\x35\x85\xf4\x34\xbf\x08\x8d\x68\xca\xa4\xf0\x66\x0e\x3a\xe0\x7a\x52\xc0\x3f\x04\xcd\xcb\x71\x81\x8a\x78\x02\x23\xc0\x05\x16\x87\x31\xa8\xf2\x0e\xb4\xd0\x76\x0a\xfc\xff\x42\x62\xf9\x1d\xc8\x53\xc9\xc2\x14\x6f\xf8\xfe\x44\x61\xc0\x17\x0a\x13\xe2\x01\xb2\xb5\x53\x94\xfd\x58\x26\x5a\x5b\x4f\xa8\xad\x08\x01\xdb\x25\xc6\xbf\x50\xf6\xba\xc7\x0e\xff\x35\x92\xca\x82\x74\x39\xc7\x7b\x85\xce\xfd\xc9\xda\x28\x9a\x45\xf1\xda\x0a\x58\x05\xd7\x93\xc7\x8f\xfb\x13\xd3\x97\x11\x37\x5e\x9e\xb8\xa2\xde\x37\xe6\x6d\x56\xb6\x65\x74\x79\x25\x65\xe6\xe5\x6a\x07\xac\xbc\x42\xc6\x1a\xc0\x3d\xea\x5c\xd2\xae\xdc\x06\x3e\x5c\x1b\x4d\xbd\xf8\x72\xe5\xf5\x0a\x8e\xf9\x02\xab\x60\xe5\xd5\x3a\xaa\xfa\x7a\xa5\xc8\xa6\x4f\x08\xea\x52\xc2\xc5\x5e\x83\xf6\xd6\xd6\xf2\xa4\x91\xa4\x29\x4f\x40\x9c\xe5\x54\xbc\x44\x06\xcd\x17\x39\x2e\x9d\x52\x67\x2a\x2f\xbc\x9b\xf9\x41\x8e\x31\x5f\x28\xf9\xcc\xab\x72\x68\x67\xe9\x93\x60\xcd\x4b\x79\xa3\x60\x9d\x3c\x16\x6b\x21\x5f\x4f\xea\x6d\xf5\x4a\x4b\xc3\x5f\x90\xca\xf0\x3a\xc9\x1d\x93\x02\xc1\x8b\x25\xf1\xba\xbc\xef\xf2\x31\x96\x8a\x74\xd3\x4b\xe8\xf9\xa4\x9e\x2b\x5b\x4f\x71\x5c\x76\x57\xff\x14\x9b\x41\x9d\x8a\x7c\xbc\x85\x76\xe9\xcb\xef\xcc\xf3\x76\xe3\x3a\x8f\x1f\xb7\xeb\x2e\x70\xa0\x23\xa3\x74\x9c\x97\x8a\x88\x55\xaa\x8c\x5e\x0b\xf6\x9b\x1f\xcb\xad\x8f\x88\xa1\xd8\xad\x8f\x7a\x43\x97\x81\xbc\x09\x52\xb4\x6b\xc7\x77\x65\x95\x3a\xf8\x02\x28\x92\x7d\x0b\xf2\x7a\x9e\x8f\x02\xbd\x92\xb3\x5e\xcc\x51\x5c\x67\x70\x06\x47\x34\x4f\x7d\xde\x05\x9d\xf9\x94\x3c\x61\x10\x78\x87\xf3\x0e\xcb\xf3\x01\x38\xee\xd3\x1c\xe8\x2e\x9a\x57\xd6\x81\x7d\x4e\xee\x0f\xbf\x7e\x05\xcf\x0d\xd7\xb1\xf6\x9b\x7f\x1c\x8a\x47\x33\x85\x9d\x21\x10\xa7\xf8\x2e\x0a\x43\xbb\x68\x5d\x59\x6e\x7a\x0e\x8c\xed\x07\xa1\x4f\x5a\xc3\xd0\x2f\xdb\xb6\x8f\x84\xcd\x17\x28\x78\xe7\xa5\xd3\xc6\x8d\x77\x57\x55\xa9\xab\x83\x66\xcd\x05\x83\x53\x41\x20\x04\x61\x55\xa6\x4f\x0b\x09\x60\x37\x78\x8a\xf3\x8b\x85\x32\xcb\x0d\xed\xd7\xaf\x66\x32\x5e\x81\x66\xb9\xc1\x78\xdc\xad\x11\x77\xd0\xe8\x63\x57\x24\x7d\x64\x3b\x1d\x1b\xcb\xdf\xd0\x41\x6f\x5e\x81\x7d\xd5\xe7\x03\xa9\x01\x09\xa0\x3a\x5c\x1a\x58\xda\xfd\x37\x58\x16\x30\x48\xe7\x6d\xaf\x53\xad\x92\x96\xa4\xf3\x7c\x3e\x53\x1d\x6a\x19\xa6\x3a\xe7\x42\x9d\x12\x5f\x53\xb8\x74\x13\xf8\xfe\x0c\x9e\x46\xb7\x49\x3f\x5a\x90\x8b\x33\x53\x07\xd6\x6c\x5d\x96\xae\x7c\x9f\x9a\x7c\xb0\x0a\x5a\x75\xd0\xd4\x44\x15\x31\xad\xae\x92\x5e\x2b\x26\xb8\xcf\x2d\x63\x64\xba\x90\x26\x2c\xc3\xbe\xa0\xea\xe4\x7e\xec\x48\x3f\x25\xbb\xd8\x84\x6e\xd6\x39\xc5\xba\xc3\x58\x31\x8d\x5c\x60\x35\x75\x38\x81\x98\xa9\x95\x96\x9c\x18\x11\x3a\x8a\x66\x67\x64\xe9\x19\x45\xb3\x41\xe8\xd7\x01\x5e\x48\x17\xf2\x92\x8c\x06\x91\x95\x13\x86\xe3\x2b\x5d\xfc\xc4\x11\x2f\x06\xad\x03\x45\x73\x40\x8e\x55\x51\x18\x8c\x79\x15\x3f\xf8\x2c\x9e\xa9\xb0\x75\x3e\x49\xef\x67\xb0\x31\x85\xc1\x64\x8a\x5a\x73\x1c\x2f\x75\xf3\xc3\x8b\xdf\x41\x2f\x59\xc4\xbc\xfa\x2a\x58\x99\xdf\xad\xd8\x60\xa6\xd8\x13\x2f\x8e\x6e\x9f\x00\xd6\x0c\x8e\x11\x75\x8c\x85\x6e\x88\x64\xab\xec\x06\x68\x73\x43\xd1\xc0\xbc\x04\x55\x32\x5c\x60\x8d\xa3\xaf\x69\xc0\xa9\xff\x38\xc5\x61\x72\x2d\x67\x92\xa3\x3a\x97\x0b\xee\xbf\x59\x15\x2e\x39\x9a\x9f\xaa\xe2\xfb\x2b\x2e\x1a\xf8\xa4\x91\xf6\x23\xba\x0d\x61\xcc\xd6\x8a\x83\x67\x99\x94\x38\x04\x44\xf4\x44\x85\x33\xc9\x92\xae\x4c\xe1\x6c\x16\x81\xdb\x28\x9e\xf9\xd4\x52\x16\x13\x96\xf2\xc9\x03\xd9\xab\x17\xd8\xd3\x07\x69\x10\x38\x6b\x44\xe3\x71\x02\xd3\x9f\xf1\x1d\x3b\xff\x38\x95\x3e\xbe\xc5\x32\xc0\x51\x93\x21\x1a\x47\x61\xfa\x33\x93\xcb\x0a\xbe\x0b\x10\x80\xb7\x5d\xc0\xdb\x36\xe0\xd9\xba\x2d\x18\x61\x9c\x6a\x3a\x54\xb7\x2d\xac\x2f\x6f\xdb\x68\x61\x9f\x92\x3f\xa6\xed\x83\x67\x0f\x16\xc7\x7f\xae\x14\x2c\xae\xff\xad\xa7\x74\xfd\x47\xfd\x1b\x0e\xe1\x5d\x0a\x43\x3f\x01\x1d\x62\xb1\x66\x3e\xaa\xec\x4b\x0d\xbb\xa1\xeb\x6e\xb0\x58\x0a\x70\x95\xb3\xd4\x4b\x03\x9c\x53\x93\x46\x13\xe0\xe8\x1b\xaa\xd5\x3e\x8c\xc1\xd7\xaf\x5c\xba\xab\x5f\xc0\x70\x88\x35\xde\x70\xb8\x0f\x2e\xae\xc0\x03\x08\xc2\x24\xf5\xc2\x11\x8c\xc6\xa0\x1b\xc7\xde\x3d\x3e\xae\xce\x1e\x9a\xaa\x83\x6b\xa4\xb1\xfc\x06\x6f\x07\x3a\xe0\xfa\x00\x3c\xd4\x44\xb8\x7a\x03\xee\x9d\x31\x07\x41\x88\x8a\xf0\x81\x63\x63\xea\x25\x1f\x6e\x43\x1e\xe8\x30\xaf\xd5\x80\x7f\x31\xbf\x42\x30\x2f\xe6\x57\x07\xca\x54\xd3\xc0\x66\x3a\x40\xec\x39\xf9\x7a\xa0\x53\x33\x1c\x22\x76\x11\x86\x8e\xa2\x30\x49\xe3\xc5\x28\x8d\xf0\xee\x5a\x54\xbb\x7e\xb6\x08\x20\x42\xb8\xe3\x39\x78\xc3\x38\x4a\x26\x58\xf5\xba\x06\xf6\x41\x75\x38\x94\xeb\x67\x7f\xd5\xb1\xd7\x38\xc2\x9a\x2d\x36\x0f\x35\x64\xd9\x3d\x41\x9c\xc7\xbb\x68\x81\x5f\x01\x33\x85\x75\xec\xd1\x3a\x3d\x64\xc5\x92\xb7\xca\x0c\xb5\x76\x69\xad\xc1\x67\xb4\x7b\xbd\x09\xd2\x14\xc6\xd6\x48\x91\x16\xad\xcc\x97\xc3\x77\x91\x0f\xed\x81\x25\xed\x36\x0b\x47\x39\xed\x7e\x3f\x3c\xeb\x9f\x7e\x38\x39\x19\xbe\xeb\xfe\x32\x3c\x7f\x7b\x3a\x38\x7b\xfb\xe1\xe4\x10\x74\xc0\x56\xd3\x5c\xe7\xec\xe3\x60\x70\x48\x0f\xdd\xd5\xef\xc7\xef\xcf\x07\xa7\x3f\x75\x4f\x84\xe6\xfd\x93\x41\xf7\x74\xf8\xee\xc3\x8f\x67\x83\xe1\xe1\x87\x9f\xdf\x0f\xcf\x8f\xdf\x0d\x40\x07\x6c\x36\x4d\x15\x8e\xcf\xce\xbb\xef\xfb\xe8\x7b\x8b\x7e\xfe\xf9\xc3\xe9\xe1\xf0\x6c\xf0\xb1\x7b\xda\x3d\xff\x70\x7a\x86\x94\x12\xa8\xd6\x2e\xae\xbe\x3c\x5c\x56\x56\x2a\xa4\xce\xc9\xf1\xfb\xc1\xf0\xb0\x7b\xde\xc5\x59\x69\x87\xc7\xef\x0f\x07\xbf\x90\xb7\x3f\xe4\xaf\x3f\x1f\x1f\x9e\xbf\xe5\x9f\xdb\xe4\xf3\xfb\x0f\xef\x87\xbd\xd3\x41\xf7\x87\xe3\xf7\xdf\x0f\xcf\x3e\x76\xfb\x03\x0c\x05\x74\xc0\x59\x1a\x07\xe1\xa4\x31\x8e\xa3\x9b\x3e\x3d\x74\xad\xb6\xb6\x9b\x94\x77\xdd\x93\x93\xa1\xa1\xed\xe9\xe0\x7b\x0c\x1d\x09\xd7\x29\x9c\x0c\xee\xe6\x55\x0b\x86\x3a\xa8\x4c\x2a\xa6\x81\x93\x22\x79\xa4\x2f\x6c\x56\x49\x85\x17\xf2\x5f\x39\x8f\x23\x3a\x9b\x22\x66\x0b\xc1\x41\xf8\xcf\x02\xcd\x94\x38\x21\x1a\x22\xf4\x50\x93\x89\xc7\xba\x51\x2e\x11\x5f\x05\xcc\xbe\x78\xa1\x37\x51\x23\x73\x86\xc9\x62\x9e\xa5\x72\xe2\x0a\xb7\xaa\xb6\xaa\x03\x5a\x93\x90\xcd\x01\xa8\xf5\xb2\x80\x9e\x3a\x18\x5e\xe3\xe8\x83\x3a\x18\x8a\x67\x2c\x75\x30\x14\xec\x12\xd5\xab\x78\x88\x17\x80\x0e\xc5\xd6\x18\x79\xb3\x19\x09\x00\x40\xbd\x44\xbf\x64\x1a\x6e\x58\x24\x4c\x88\x56\x22\x94\xa0\x2a\xe4\x37\xad\x82\x48\x21\xaa\x26\xfe\xad\x55\x16\xe8\x47\x75\x85\x3f\xb5\xaa\x41\x18\xa4\x27\x41\x92\xc2\x10\xc6\x89\xb8\xbd\x25\xdf\x61\xe8\x5d\xcf\xa0\x5e\x3e\xbc\x41\x8a\x86\x8a\xbb\xaa\x7d\x1a\x72\x41\xd5\xf4\x48\x17\x05\x33\xf3\x92\x14\xeb\xcc\xc3\xe8\x36\x3c\x0f\xb0\xbb\x78\x53\xab\xe5\x8d\xd2\xe0\x33\x54\x45\x48\xfa\x5b\x8b\xd6\xa5\xab\xd3\x30\x1b\x93\x07\x45\xa0\x89\x40\x88\x7b\x0b\x89\x19\xce\xb8\x16\x26\x06\xf2\x88\x8b\x63\x79\x1e\x07\x37\x0c\x96\x04\xca\xbb\xa1\x9b\x10\x89\xc4\xc6\x30\x0a\x51\x13\xf6\x99\xaf\xb2\x19\xdc\x1b\xc4\xa7\x77\xd1\x67\x68\x04\x0b\x3f\x43\x33\xd4\x77\xac\x19\xad\x62\x83\x8c\x46\x60\x09\xc8\xf8\x8d\x79\x37\xe4\x1f\xe7\x4b\xc0\xfd\x71\xae\x42\x7d\x50\x35\x92\x36\x80\x7e\x90\x20\x71\x75\x07\xa5\x8e\x66\xd0\x8b\x39\x90\xaa\x16\x15\x4b\x86\x0f\x59\xb3\xd5\x4a\x1a\x07\x37\x3c\xb1\x85\x3e\xae\x5a\x5b\x71\x56\x52\xa3\x17\xaf\xe3\xac\x41\xb5\x82\x19\xe2\x47\xb7\x21\x07\xab\x31\xbf\x56\xb4\xbb\x64\x72\xe6\x84\xe0\xb2\xee\x84\x8f\xec\x8d\xe7\xfb\xdf\xb0\x2b\x09\x4c\x7b\x4c\x05\x66\xbd\x21\x34\xda\xfa\x84\xcc\x3a\x45\x59\x3a\x06\x98\xd2\x60\xb6\xf1\xec\x94\xd5\xc1\xca\xd4\x4b\xf8\x77\x64\xf8\x71\x6c\x13\x98\xee\x5b\x78\x0f\xc4\x03\x42\xbe\xf1\xc5\x4a\x93\xc4\x78\x73\x88\x67\x7a\x78\x10\x3d\x16\x72\x36\x1b\xa8\xd1\x3c\xf9\x27\xd3\x82\x56\x34\x24\xb6\x79\x30\x1c\x9c\x66\xc7\x94\x68\x53\x46\x0f\x9d\xbe\x7e\xcd\x8e\xac\x59\xb1\xe8\x7c\xfd\x50\xcf\x36\x00\xe1\xe2\x06\xc6\x48\x48\x89\x99\x9c\x7d\x19\x45\xe1\x38\x98\x2c\x84\x6f\x64\x90\x6a\x4b\x8f\x12\x3f\x68\x3a\x87\x77\xe9\xbf\xc9\x30\xa9\xf7\x64\x7a\x9c\x44\x42\x8f\x1c\x07\xec\xd4\x98\x0f\x4d\x87\x0f\x8d\x78\x5e\xa8\x5f\x82\xe1\xa0\x18\x98\x2c\x66\xa9\x21\x73\x30\xf9\x20\x65\x16\x88\xbd\x30\x99\x79\x2c\x72\xf3\x24\x08\xe1\x79\x44\x0c\xe6\xaa\xa4\x70\x26\x30\xad\x32\x62\x6a\x75\x32\xfc\x5c\x9e\xea\x0a\xe1\x6a\xf8\xa4\x14\x36\xc0\xbb\xb4\x4a\xa3\xfd\x84\x5b\x8f\x96\x33\x8e\xe0\x9a\xd3\xc8\x07\x49\xa0\x2e\x30\xdc\x1a\xb2\x90\x1f\x24\x44\xd9\x79\x95\xa3\xcf\x19\x0a\xd2\x47\xcb\xfb\xbf\x59\xb5\x46\x90\xfc\x1c\xe3\x23\x55\xdb\x1d\x2b\x61\xfa\x05\xe5\x3d\x0d\xe4\x5c\x43\xa6\xf9\x6a\x87\x13\xf7\x48\x07\x0d\x71\x60\x19\x48\x03\xe9\xb6\xf0\x40\xd6\x2d\x83\x22\x58\x6e\x2c\x68\xdb\x6f\x30\x20\xec\xc8\x5a\xbe\xd1\x13\x3b\xf1\x6f\x38\x36\xd8\x27\x39\x8a\x6f\xbc\x34\x85\xfe\x29\x9b\xdd\x14\xf0\x8d\x37\x17\x36\x58\x08\x83\x43\x05\xa1\xcf\x8d\x18\xce\x67\xde\x08\x56\x5d\x5b\xdf\x3a\x76\x1e\x51\xf4\x55\xad\xf1\x5b\x14\x84\x55\x7a\xe2\xd1\x08\x92\x77\x67\x3f\xe3\x08\xeb\x04\xbc\x01\x95\xcb\xf8\x32\xac\x80\x7d\x50\xb9\xd4\xfc\x0f\xd9\x3a\x25\xf7\xe1\x69\x17\x19\x87\x39\x22\x9b\x10\x39\x16\x16\xd1\xfb\x79\x66\x25\xb1\x06\xdf\xa9\x16\x52\xa2\xd5\x64\x91\xb1\x85\x6d\x27\xd7\x74\x90\x48\x9f\xd1\x49\x11\xdc\x9c\x06\x93\x69\x6a\xb8\xb8\x53\x6e\x46\xb2\xeb\x4d\xe9\x66\x44\xb8\xf5\x6c\x1e\x28\x97\xe3\xec\xfa\x52\x6a\xc0\xef\x34\xf1\xf2\xa3\xdc\xa5\x20\xaa\x38\xb1\xe2\x8a\xc7\xe3\x57\xbb\xfe\x6f\x8b\x24\xa5\xf7\x6b\xc2\x32\xd7\x8f\x66\x8e\xda\x7c\x49\x24\xd8\x85\x93\x47\x43\x4c\x1a\x16\x73\x47\xb4\x38\x89\x24\xc3\xf9\x6e\x68\x14\x99\x2c\xaf\x42\x27\xb0\x6b\x92\x17\x5f\x98\x0e\xa7\xae\x74\x63\x40\xa9\x2b\x1c\x55\x91\x35\x5c\xbb\xd3\xd6\x06\xe7\x75\x07\x04\x36\x7d\x65\xe4\x9f\xe9\x4d\x54\xb3\x27\x24\x1d\xb8\xc2\x18\x08\xcf\xf3\xe1\xdb\xc2\x95\xb1\xf1\xc4\x07\xce\x34\x9c\x5f\xbf\x4a\x63\x25\xc9\x1e\x97\x6c\x63\xe0\x2f\xfa\xf0\xf3\x34\x48\x61\x32\xf7\x46\xf0\x38\xf4\xe1\x1d\x1d\x4d\x7a\xde\x97\x40\x2f\x1e\x4d\xab\xeb\x97\xc9\xea\x77\xeb\x35\x7d\xa4\x8c\x10\x9e\x5b\x23\x6c\xe4\xbe\x70\x0f\x09\xa1\xb8\x6e\x24\x2a\xd7\x95\x4b\x04\xfc\xaa\x63\x1e\xe2\xa5\x8c\x4a\x2d\x43\x99\xc8\x9c\xc5\x75\x42\x16\x58\x23\xbe\xba\xd8\xdd\xc2\x9a\xcb\x14\xd0\x1f\x24\xef\xe1\x2d\x6f\x53\xec\xdc\xe5\x0f\x4c\xa0\x22\x2d\x04\xca\xc9\x45\xa6\xb9\xa5\xf4\x2e\xb2\x82\xcc\xd6\xc2\x93\x20\x5c\xe0\x74\x8d\xf6\x2e\xb3\x6e\x4b\x9b\x1b\x66\x06\x49\x85\xba\xb8\x4a\x9f\x1d\xb1\xc6\xe4\x9c\x0f\x3b\x8d\x85\xf0\x96\xb7\x62\x9b\x7a\x09\x4c\x4e\xd6\x81\x02\x6b\x95\x69\xc8\xad\xc9\x74\x8a\x64\x92\xd0\xdd\xdd\xa8\x37\x5b\xce\x5e\x8e\xfa\xb9\x39\xb7\x6e\xaa\x07\x9c\xf3\x00\x03\x7d\xea\xce\x66\x85\x8c\x85\x80\x9e\x28\x74\x67\xb3\x2e\x3e\xdb\xd4\x1e\xf6\x5c\xd2\x14\x20\x87\x88\xe6\xf3\x46\x69\x22\x85\x10\xfa\x49\x96\xe3\x48\x24\x4e\x39\x88\x94\xa4\x57\x6c\x66\x9c\x55\x0a\xc9\xa5\x64\x63\x02\xc9\x59\x30\x31\x63\xfa\x51\x14\xfb\x89\xf1\xc4\x50\xea\xc9\x88\xd5\xc3\x6d\xd1\x6e\x82\xb4\x24\xb5\xeb\x86\xb3\x2c\x56\x26\x9c\x8b\x5b\xdc\x7f\x0c\xee\x67\xda\x36\x8f\xe0\xbf\x68\x5e\x89\xcb\x1e\x2d\x6c\x99\x0b\x91\x8d\xe0\xf6\xd7\xa3\x8a\x85\xb4\x28\x3c\xfa\x8c\x81\xf8\xa0\x8e\xbe\x43\x7a\x43\x7d\x58\x72\xb8\x48\x2e\xef\x75\x2e\x9e\xc2\x99\x87\x04\xf4\x3c\x62\x9e\x0b\x56\xb6\xd6\xa4\x63\x20\x12\xe3\x45\x7a\xf7\x96\xf9\x15\x98\xdc\xf9\x5e\xea\xa3\x41\xbd\x54\x64\xd1\xa3\x14\xbe\xee\x90\x24\x51\xf4\xcf\x57\x1d\x05\x8b\xd9\x05\x50\xbc\x54\x78\x30\x82\xcd\x01\x43\xab\xad\xa9\xe8\x4c\x60\x33\x5e\xb2\x45\x9f\x7b\x58\x92\x4f\x75\xb0\x66\xbd\x81\xad\xd5\xed\xb7\xb3\x82\xd4\x51\x1c\xeb\x1d\x7b\x6d\x4d\x9a\x58\x5f\xd7\x09\x61\xde\x75\x42\x4b\x6a\x35\xb0\x4a\xca\xe2\x68\x11\xfa\xac\xde\x4b\x50\x35\x5f\x02\xaf\x81\x56\xad\x8c\x4e\xe2\xbb\x1e\xb7\x1c\x62\x8b\x13\x15\x36\xae\x17\x69\x1a\x85\xd8\xb8\x2a\xe1\xd3\x49\xda\xce\x63\xfc\xef\x21\x89\x7c\xd0\x37\x62\x7e\xec\x4d\x94\xb9\xa1\x65\xda\x4b\xe8\x44\xea\xcf\x82\xd1\x27\xec\xa1\xc5\x2e\x23\x0c\xc4\x26\xd3\x60\x9c\xfe\x00\xef\xcd\x56\x46\x14\x9e\xa1\xef\x18\x92\x06\xc4\x99\x4d\x2b\x4b\x16\x33\xe2\x64\xe0\x2d\x81\xd1\xdc\xe4\xd8\x82\x70\x32\x83\x66\x74\xc0\x9c\xa4\xc5\x8a\xc8\x18\xfb\xc4\x10\x1d\x46\x8b\xeb\xa7\x42\xb4\xe1\x42\x74\x1e\x07\xf3\x62\x88\x54\x2f\x44\xcf\xf7\x4b\x6c\xb8\x05\xbd\x5e\x40\xaa\x8d\xb0\x97\xbe\x33\x94\xae\x5a\x24\x77\x32\xdb\xc5\xcb\x4d\xf4\x19\xca\x17\x2f\xe2\xd5\xa0\xfb\x2e\xa7\x10\x82\xc5\x5c\x06\x9f\xdd\xe2\x39\xa6\xd4\x71\x98\xc2\xf8\xb3\x37\x3b\x0f\x6e\xf0\x05\x4d\x02\x53\x56\xe4\x34\x9d\x33\x08\xd8\x7a\xae\x1b\xbd\x4b\x8a\x0f\x8e\xed\xb0\x25\xcf\xec\xb4\x33\xc9\x7e\x99\xf7\x74\x03\x61\xc7\x51\x68\x2c\xf0\x09\x14\xe7\xb6\x73\x64\x4a\x8c\x60\x66\x72\x17\x52\xf5\x99\xb2\xcb\xd7\xf5\xa2\xd1\x99\x48\xc6\xb9\x59\x95\x2a\x35\x07\xc2\xdd\x8b\xc9\x74\xb4\x68\xdb\x62\xdd\xc8\xb4\xa8\xbb\x1f\xf6\x3e\x9c\xd0\xcc\xf6\xfa\xea\x62\xdf\x03\x28\xf7\x72\xcb\x7b\x3f\xd8\xc9\x2a\xc7\xb2\x27\x1b\x26\xf3\xc5\x13\x3d\x52\xd3\xae\x03\xec\x28\x2f\x5a\x57\xb5\x0b\xc7\xe7\xe6\xd5\x53\x9d\xb1\x39\x91\xa8\x19\xe5\x97\xd8\x09\x4b\x2b\x68\x89\x6d\x4e\xc9\xd1\x23\xed\xcc\x23\x55\x44\xb2\x7e\xfe\x70\x7a\x78\x60\x68\x4b\x58\xf2\x73\x14\xfb\xdd\x94\x21\x59\x6a\xaa\x09\xcb\xfb\x5f\x97\x0b\x48\x78\xec\x5c\x38\x09\x42\xc8\xb9\x20\xdf\x63\x15\x66\x84\x6e\x72\x16\xe0\x06\x89\x71\xa4\x7e\x53\x55\x9c\x0d\xd9\x4b\x61\xb5\x56\x43\xb3\x08\x15\x57\x55\x3e\x08\x2d\x58\xcc\x98\xee\x83\xf5\xda\xe2\xbd\x49\x5d\xdc\x1a\x43\x3f\x20\xfe\xc8\x47\x71\x74\x73\xc2\x9a\x7f\xa4\xc9\xde\x19\xad\xaf\x8d\x2e\x9e\xe6\x31\x10\xed\x41\xf3\x5e\xcd\xee\x2f\x26\xf4\x49\x55\x80\x33\x95\x36\xd0\x01\x17\x74\x9b\xe0\x4d\xe0\x2f\x75\x90\xfd\xf1\xab\x96\xcf\x34\x23\x4a\xc9\x5f\xef\x1a\x47\x27\x6b\xf2\x87\x94\x5f\xc5\xf3\x2d\x23\xdf\xab\x59\xba\x74\xd1\xbc\x02\x6b\x42\x3f\x7e\xa9\xd5\x41\x6e\x9b\x96\xdc\xe6\x57\xf1\x02\x9e\x5a\x66\xb1\x70\xe5\x56\x7c\x97\x87\x6c\x9f\xfc\x5e\xa2\x3d\x5a\x10\x2d\x92\x33\xd3\x5a\x6e\x58\x3f\xde\x00\xb3\xce\x1f\xe0\x7b\xdd\xba\xb5\xe1\x45\xeb\x4a\xf7\x7a\x78\x1a\x63\x22\x5b\x19\x8d\xfa\xa3\x63\xd2\x20\xaa\xec\x5b\x57\x57\x42\x3a\xcf\x6b\x6c\x5b\x08\x8b\xae\x5a\x84\x4d\x7a\xbe\x92\x42\x09\x3b\xdd\x10\x0d\xc7\x66\xf9\xbb\x33\x65\x33\x58\x8c\x81\x68\x21\x32\x2b\x0f\x42\xd5\x79\x44\x17\x23\x1b\xc1\x8e\x70\x35\xc3\x99\x80\x2c\x0a\xda\x89\x9a\x43\x1e\x34\x60\xaf\x75\x03\xa3\x34\x53\x9d\x59\xb8\x1d\xb8\x0d\x41\xb1\x85\x45\xe4\x21\xdf\x0c\x54\x04\xf5\x5a\x4c\xe7\xee\xb8\x43\x2d\x66\xf0\x11\xe0\x16\x73\x8f\x10\x6c\x31\xf6\xc8\xb3\x57\x5e\x7c\xd1\x2e\x6b\xe0\x11\xb0\x79\xe6\x1d\xc3\xf5\xdc\xa8\xc8\x84\x98\x1b\xf4\x63\xaa\xc3\x7c\xea\x5c\x63\x51\x04\x4c\x2b\x07\x8c\xae\x24\x6c\x47\x1e\xa0\x8c\xb1\x92\x89\x99\x75\x47\x6d\x97\xc9\xbc\x18\x7e\x5c\xf5\x30\x48\xe6\x96\xf6\x75\xb2\x4d\x32\xdc\xd0\x16\x9f\x7f\xae\xf1\x47\x36\x82\x65\x06\x6a\x37\x02\xf8\xd8\x5e\x4f\x26\x1d\x47\xb7\xc9\xd5\x13\xea\x5a\x44\x92\x1e\xa2\x8c\x91\x3b\xd1\x3c\xfa\x4a\x86\x3b\x63\x17\xd9\x05\xe7\xb9\xb8\x14\xc0\x37\x8a\xc2\xcf\x30\x4e\x7f\x62\xb1\xc7\xd1\xec\x3c\xea\x4f\xbd\xd8\x1b\xa5\x30\x66\x77\xf6\xaa\x83\x30\x71\xf6\xd2\x4d\x7c\xa6\x70\x58\x3b\x7e\x53\x63\xf7\x05\xe1\x55\xb0\xcf\x43\x9e\x2b\x48\x86\x5e\x73\x08\x59\x7a\xdb\xc9\x09\x56\xbd\x28\x1c\xf7\xf4\xbc\x4d\x99\x9b\x22\xb2\x5a\x4a\xec\x34\xb3\xd0\xed\xb9\x67\xda\xf4\xe8\x89\xd3\x0b\x3a\xec\xa9\x13\x9b\xba\xd8\xb2\x01\xa4\x66\x79\xae\x8c\x98\xe4\x42\x06\x8a\xef\x88\x19\x58\x86\xe1\x40\x93\x9c\x0f\xec\x26\x27\x93\x8b\x35\xa1\xad\xd2\x63\x38\x4e\x7f\x0e\x7c\x48\x62\xc6\xb4\xad\x4c\xe6\x84\x62\xaf\x83\xa4\x06\xbb\xb7\x20\xe4\x5d\xea\x40\x4b\xbc\x42\xb0\xc4\x18\xf2\x33\xd1\x4c\x2a\x42\x87\xe8\x2b\x2a\x66\x38\xf8\xee\xc6\x06\x0b\xb0\x07\x2d\x72\x04\x50\xc0\xcb\x47\x47\xf2\xa1\x52\xf1\xf3\x5a\xab\x39\xd8\x59\xc5\x22\x0b\xb0\x41\x87\x2a\x39\x39\x0c\x13\x1e\xa8\x69\x36\x2c\x75\x64\xc7\xd0\x0b\x06\xf4\xaa\xf4\x7c\xd6\xa4\xc2\xf4\x18\x61\x62\xf1\xcc\xd2\x9d\x7f\x04\x9a\x48\x17\x9c\x14\x19\x2f\x70\x74\x21\x34\x91\x44\xa0\xdb\xc7\x01\xb8\x64\x8f\x3a\xe3\x04\x09\x42\x81\x14\xcd\x19\x9c\x7b\xb1\x97\x46\xb1\x45\xbc\xc9\x95\xa2\xcd\xd5\xcd\x30\x10\xd8\xe9\xb6\xf4\x60\x14\x1e\x10\xd7\xa0\xe8\x7c\x00\xce\x79\xe3\x82\xe5\x9e\x53\xab\xa0\xa5\xcf\xab\x82\xbc\x95\xa6\x5c\x11\xce\xd2\x19\xb1\x9a\xc3\x57\x6b\x3e\xc4\x62\x62\x05\xac\xa2\x65\x66\xab\x4d\x21\xd8\xe1\xd8\x7c\x0b\x59\x8c\x87\x20\x74\xab\xa2\x92\x5f\xd3\x25\x43\xd5\xef\xf4\x40\x9f\x5f\xeb\x73\x1e\xaf\xc9\x50\xf5\x95\x60\xd5\xa4\xfa\x57\x0d\x06\x25\xb2\x34\xf5\xb3\x18\xf5\x19\x31\x42\xca\x3e\x23\xa9\x70\x80\x9c\x74\x6a\x5b\x60\xe9\xbf\x8d\x62\x5f\x38\xbb\xe2\x7b\x62\xdb\xb1\xaf\xf3\xda\xe1\x42\x84\xd6\x48\x58\x72\x16\x6a\x3e\x68\xa7\x6f\xce\x3b\x15\x09\x94\xe8\x0b\x5a\x98\x07\xec\xb8\xe0\x8f\xe2\x82\xb4\xb1\x20\xdf\xbc\x38\x3b\xf4\xf8\xc9\x9b\x2d\x60\x72\x4a\x72\xad\xfb\xd5\x1a\x78\x03\x74\x76\x81\x7d\x50\x35\x94\xae\x9a\xd8\x51\xd3\x79\x5b\x80\x37\x06\xad\x22\x33\x68\xea\x49\xf1\x78\x54\x3e\x95\x60\xfd\x46\x80\x26\xc2\x87\x31\xad\xfe\x5a\x7d\x52\x34\x7f\x74\xc8\x89\xba\xe6\xbd\x5e\xec\xe6\x8d\xee\x96\x50\x83\x72\x52\x65\x3d\xcc\x92\x33\x5e\xa8\xe4\x1f\x3c\x7b\xa8\xca\xe9\x1a\x1a\xe2\x9f\x62\xfe\x19\x43\xb0\xbb\x0e\xcd\x9c\xf7\x44\x63\x9a\x25\xff\x49\xfb\x2f\xf6\xf4\xa9\x1c\x0c\x9e\xf3\xee\xa6\x35\x72\x5c\x1b\xf8\x02\xaf\x6f\x5a\x02\x41\x15\x11\xc4\x02\xb1\x5c\xe8\x87\x26\x76\x86\x83\x66\xe7\x3d\x28\xae\x51\xf4\x22\xd8\x7d\xbd\x5c\x30\xbe\x55\xee\x6d\x1d\xac\x18\x5c\x63\xcb\x44\x4f\xf2\x63\x17\xad\x17\x0e\x17\x74\x34\x3b\x55\x83\x5b\x37\x75\x9f\xeb\xfc\xfb\xfa\x15\x3c\x37\xf0\xc2\x81\xca\x50\xdb\x85\x57\x6c\x95\xa3\x9e\x75\xea\xf6\xdd\xd8\xfe\x88\xc0\xd8\x9c\xe1\x1d\x84\xfe\xb7\x1f\x5c\x83\x16\xd5\x8f\xae\xf0\xdb\x66\xc6\x73\x33\x6c\xd9\x97\x94\x8d\x3c\x29\xc8\xcb\xfd\x6a\x17\xb7\x5c\x49\xc8\xe5\x84\xe6\x3b\xc0\xba\x6d\x9a\xcf\xaa\xd3\x3d\xbb\xea\xc9\x65\x88\x15\xa2\xcd\xf2\xd7\x7a\xcb\x82\x86\xcd\x04\xd8\x03\x22\x49\x57\xf9\x75\xe5\xe3\xfb\x4c\x8e\xbf\x6b\xa6\x62\x8d\x11\x3a\x33\xec\xf3\x59\x84\xf4\xb4\xb3\xd2\xba\x98\xd8\x05\xc7\xfd\x6a\xae\xe8\xa8\x63\x53\x27\x4a\xf8\xb9\xb9\x77\x52\x1c\x7f\xeb\x8a\xbc\x20\x8a\x7e\xf9\xfa\x55\x88\xde\x15\x62\xc5\x5f\xbc\xc8\x82\xfe\x5f\xcb\x71\xb3\x9a\xf1\xa6\x74\xb6\x50\xec\x81\x45\x56\x8d\x77\x02\x9a\x10\x82\xb5\x0e\x20\x20\x9d\x97\x54\xd2\xa5\x9f\x13\x30\x15\xfb\xf2\x60\x79\x0a\x38\xfd\x26\xcc\x7c\xdf\x66\x0f\x0f\x15\xc5\x54\x0a\x01\x71\x91\x40\x0c\x0e\x8d\x08\xce\x28\x1b\x19\x7a\x4d\xcb\x8d\x9f\x9e\x28\xc2\x66\x03\x23\x29\x50\xd3\x2c\x6a\x36\x9f\x5a\x3d\xcf\xc4\xc5\xa2\x65\x31\x70\x37\xfe\x62\x06\x2e\x3b\x88\xce\x31\x6d\x59\xb5\x6a\x96\x80\x8a\x27\x7c\xe5\x89\xb8\xc9\xb5\x55\x0c\xbd\x3a\x28\x90\x84\x2a\xd5\x3d\x89\x05\xb3\xd8\x62\x15\x2b\x48\xc5\xbc\xb3\x62\x3e\xcd\x4c\x64\x38\x4d\xa0\x23\x10\xa8\xda\xda\x52\xca\x29\x63\xc6\x29\x52\x8f\x38\xeb\x9c\x46\xb7\x3c\x28\x44\xf5\x8f\x9c\x79\x49\x7a\x0a\x47\x51\xec\x43\x9f\xde\x17\xd8\x5c\x29\xc5\xaa\x8c\xbf\x56\xb8\x59\xba\xce\xb0\x5a\x21\x1d\xe1\x41\x6e\xf7\xe1\xe8\x8c\x77\xcd\xfc\xac\xb7\x0e\x23\x86\x49\xf0\x4f\x58\x1a\x86\xc2\x6e\x83\xff\xb5\x4c\x5c\x14\x12\xb0\x66\x90\x09\x71\xf4\x8a\x16\xa9\xcb\xc1\x5a\x26\x8e\xfa\x58\x37\xa5\x1d\x11\xe3\x5f\x4e\x7c\xa6\x51\x99\x1b\x32\xcc\x1a\x2e\x5d\xe9\xfb\xbb\x64\x80\xfa\x53\x2f\x9c\x40\xbe\x7c\x19\x20\xf0\x8b\x6d\x55\x66\xf4\x93\x7a\x15\xaa\xf5\xba\xd7\x20\x7e\x16\xf4\xba\x9d\x61\x1c\x3c\x9a\x30\x37\x08\x61\x1e\x40\xb0\x0a\x2a\xf3\x3b\xc3\xcb\x07\xb2\x60\x49\xfe\xe1\x8f\x84\xae\x27\x85\xf8\x2c\x4d\x12\x65\x0c\x1c\xb3\x89\x8f\x85\x64\xaa\xe7\x0f\x84\x98\xac\xbd\xd8\x08\x39\xa7\x74\x1e\x09\x39\xc3\x34\xcd\x63\xe2\x4b\x03\x86\x82\xe3\x66\x48\x74\x6d\x42\xea\x22\x2c\xf7\x26\x3f\xd3\xbe\x2a\x6c\xeb\x34\x7c\xe9\xd6\xa9\x35\xad\x77\x92\x6b\x80\x41\x27\xc8\x9a\x24\x5f\x35\x58\xb5\xb9\x2e\x52\xe4\x55\x6d\xc7\x43\x0f\x8e\x95\xc1\x0e\xc9\xe0\xb6\x6b\xf5\x88\x00\x9a\x47\x55\xe9\x39\x51\x2e\x2a\x16\xe4\x84\x7e\x95\x51\x8b\xd6\x29\x65\xc0\x0e\x5c\x17\x25\x78\x74\xcf\x71\x3e\x71\xb9\x7f\xc4\xdb\xe5\x65\x9e\x56\xe6\xd4\x6b\xc2\xce\x21\xa3\x4e\xf0\xbf\x8c\x2c\xb3\xb7\x15\x5a\x16\x17\x5b\xb6\x88\x2a\x7e\x2c\x7a\x58\xf4\xad\xf0\xa2\x05\x89\x86\xcc\x21\x67\xdd\x32\x1a\xf2\x4e\xcd\x0f\xc6\x63\x92\x2e\x93\xbc\x68\x60\x60\xac\xcd\xd4\x10\x1c\xa2\x10\x14\x29\x00\xd9\xd5\xe1\x9f\xa7\x10\xba\xfa\x4b\x22\x18\x1b\x3e\x9c\xa5\xde\xaf\xe6\x3b\x53\xf7\xfb\x19\x37\x8b\x59\x1a\xcc\x67\x01\x3e\xc6\x6e\x1d\x18\x01\x73\x67\x4e\x4c\x0d\xb6\x73\x1a\x87\x1f\xde\x0d\x0f\x07\x27\xe7\xdd\xa1\xc9\x29\x56\x82\x9a\x23\x69\x86\x59\x5b\x0c\xf1\xc7\xee\xf7\x4b\x20\x36\xae\x0f\x56\xaf\x52\xbb\xc8\xac\x76\x40\xc6\xf8\x97\x02\xe2\x0c\x16\xfc\x6c\x09\x64\x95\x1e\xe3\x31\x8e\xfb\x79\xb4\x18\x4d\xd9\x89\xb4\x6d\xf0\xb9\x72\xc3\xb5\x7f\x05\x98\xa2\x14\xfd\x0e\x93\x8b\xe6\x15\xf1\x0a\x2f\x85\xd1\xe0\xf9\xad\xce\x2e\x26\x6a\x1a\xf6\x35\x3b\xf6\x92\xc4\x32\xf9\x5b\x4e\xaa\xf3\xc7\x8d\xc0\x2d\x3b\x4e\xd4\x16\x67\xcc\x53\xb7\xcb\xc2\x0e\x32\xab\x62\xde\x22\x73\xfe\x5b\x36\xc7\x9b\x8f\xda\x1c\xe3\x59\xed\x21\x15\xfb\xe5\xd9\xdf\x56\x1a\xeb\x5e\x9a\x7a\xa3\x29\xfd\x67\x65\x1f\x6c\xd6\xf5\xe2\xc6\x6f\x89\xf6\x05\x81\xf6\x26\xb0\xf1\x5b\x12\x85\x2b\xfb\xa0\xbd\x45\xbe\x8e\x83\x14\xfd\xb7\xb2\x0f\xe4\x02\x02\x42\x28\x53\xdb\x6f\xd3\x4f\x8b\xd9\x2c\x19\xc5\x10\x86\xc2\xaf\x2b\xfb\xc0\xf5\xb9\x31\x4a\x10\xf0\xf6\x8e\xab\x0e\xc6\xaf\x43\x51\xc9\xd8\x25\x35\xe8\xf4\xf7\x23\xad\xc2\x9e\x5a\x81\xff\xb6\xb2\x0f\x76\xac\x1f\x09\xfe\x9d\x67\x0f\xc2\x5b\x14\x74\x80\x90\x35\x09\xef\xd2\x6a\x0c\x7f\x47\x23\xf4\x37\xb6\xab\x33\x64\x77\x97\x5b\x9c\xc2\x24\x9a\x7d\x86\xb8\x61\xed\xc0\x01\x5a\xac\x88\x30\x60\x6f\x48\xb4\x27\xb8\xf1\xe6\x17\x31\xfc\xfd\xea\xe0\xd9\xdf\x82\x71\xf5\x79\x35\xf0\x89\x2f\x09\x58\x5f\x27\x2f\x65\x60\xef\xc9\x70\x71\x73\x0d\x63\x10\xc5\x80\xe4\x07\x7a\xf6\xb7\xbf\xa5\xd3\x38\xba\xc5\x99\xa1\x07\x71\x1c\xc5\xd5\x95\xbe\x17\x86\x51\x0a\xc6\x41\xe8\x03\x22\x8b\xa0\xb2\x02\x56\x41\x0c\x7f\x07\xab\x60\xa5\xd2\x58\xa9\x1d\xf0\xae\x05\x3e\xa6\x56\x26\xb2\xf1\x09\xde\x4b\xd1\xbb\xf2\xe7\x1f\xe0\x7d\x52\x15\xf9\x43\x8f\x75\x50\xab\xea\x8d\x37\xaf\x99\x40\xc6\xa4\xe3\xa0\x63\x66\xc8\xc1\x33\x42\x6a\x83\xce\x1a\xad\x9e\x06\x10\x73\xad\xbd\x79\xa0\xce\xc9\xad\x02\x73\x12\x4f\x3f\x0d\xe1\x97\x95\xd0\xbb\x81\x2b\xfb\xe4\xd5\xce\x06\x9d\x87\xf5\x95\x1b\x2f\x08\x57\xf6\x57\xb2\x09\x58\x5f\x99\xc7\xc1\x67\x2f\x85\x2b\xfb\xc8\x3a\x78\x50\x49\xd8\x7e\x2a\x12\xd0\xf4\xe5\xf8\xe9\xd4\xcd\x43\xbe\x53\x14\xb9\x26\x38\xe4\xe4\x0d\xcc\xbd\x38\x81\x60\xec\x05\x33\xe8\xef\x83\xf5\x69\x74\x03\xd7\xef\x17\xbe\x17\xac\x7b\xf1\x68\x1a\x7c\x86\xeb\xf3\x38\xf2\x17\xa3\x34\x59\x6f\x37\x5b\x5b\xeb\x93\x28\x4d\xef\xd7\x93\x78\xb4\x3e\x09\xd2\xe9\xe2\xba\x31\x8a\x6e\x68\x03\xf2\xe9\xb7\x64\x3d\x8c\x7c\x38\x24\x44\x24\xeb\xb8\x6f\xeb\xb3\xe0\x7a\xdd\xf3\xfd\x28\x4c\xec\xaa\x04\xfc\x18\xc2\xbb\x39\x1c\xa5\xd0\x07\x69\xf4\x09\x86\xa0\xda\xda\x6f\xd6\x2e\xc3\x5f\xa3\x05\xb8\xf1\xee\x71\x62\x1d\xe0\x85\xc0\x9b\xcf\xe3\x68\x1e\x07\x5e\x0a\xc1\x2c\xf2\x7c\x18\x83\x34\x02\x53\x2f\xf4\x67\x10\xaf\x33\x60\x1c\xa0\xdf\xd0\x0a\x7a\x19\x7e\x05\x0d\xca\x5f\x8e\x0d\x7c\x41\xc5\xe8\x67\x4e\x3d\x3b\xf6\xc1\x38\xb8\x83\xfe\x01\x2b\x4f\xa3\xf9\x3e\x68\x1e\xa0\xc9\xa3\x70\x7c\xf7\xc9\x86\x3b\x53\xb3\xd9\xa8\x4b\x7a\x33\x6f\xf0\xf7\x9e\x8a\x94\x4c\x95\x72\x4a\x24\x05\x9a\x43\xc8\x46\xf3\x2f\x74\x6c\xcc\xd5\xd8\x3c\x86\x73\x2f\xc6\x29\x3e\x8f\xa2\xf8\x9c\xda\x95\x55\xa4\x4e\xea\x40\x48\x97\xc9\x4c\x18\xfc\x48\xa7\x5e\x2c\xd8\x18\x54\xb5\x91\x84\x9d\xeb\x97\xf1\x9b\xcb\x70\x7d\x52\x07\x95\xcb\xb8\x22\x1d\xf7\x09\xd5\x0f\x9e\x3d\x70\x53\xc4\x4c\x10\xe8\x58\x28\x15\x1f\x4f\x8a\xe6\xf7\x6f\xb1\x78\xc7\x55\xf8\xb9\x8e\x8f\x9f\xeb\x59\xe6\x32\xea\xb5\x22\x76\x04\x0f\xeb\xb5\x90\x1b\xf4\x58\xb2\xc9\x69\x1e\xb6\xd1\x2c\x98\x5f\x47\x5e\xec\x1f\x7a\xa9\xd7\x48\x60\x8a\xfe\xad\x56\x10\x21\x15\x1d\xbe\x31\x5f\x19\xe9\xb1\xb2\xcf\x86\x9f\x6d\xa0\x11\x4f\xd6\xe7\x33\x2f\x08\x4b\x22\x30\xd9\x82\x19\x6b\x05\x06\x61\xbf\x63\xfe\x97\x28\x0f\x5e\x92\x42\x95\x8b\x8c\x29\xf0\x73\x23\x49\xa3\x39\x12\x37\x6f\xe2\x89\xf7\x48\x24\xd9\xd2\x9d\xf0\xf6\x14\xda\x50\x7a\xe9\x68\xfa\x11\x01\x94\xcc\x72\x54\x4f\xda\x09\x90\x94\x72\x4e\x49\xd4\x46\x8a\xc9\x9f\x60\xa3\xa3\x2a\x53\x4a\x79\x2a\xe7\x8a\xa3\xf3\xf7\x2e\xf5\x62\xe8\x35\xf0\x64\x50\x72\x7d\xe2\x1a\x24\x95\x1b\x66\x41\xa5\x0e\x14\x18\x5c\x5e\xe3\x9b\xc6\xc8\x0b\x47\x70\x86\x36\x18\x92\xad\x5d\x40\xa6\x50\x15\x93\x5c\x69\x47\x10\x84\x29\x46\x11\x9c\x48\x22\xa8\x1c\xaa\x48\x7c\x57\xf9\xf0\x60\x97\x46\xba\x75\x2d\x42\x94\x26\xb8\x13\x83\xe0\x2e\x43\x96\xa0\x05\x04\x31\x44\xb2\x21\xfc\x29\x08\xeb\x4d\xf4\x19\xcb\x4b\x37\x86\xde\x8f\xa1\x0f\x63\x12\xc0\xbe\x88\x93\x88\x09\x2f\x19\x72\xd6\x11\x2e\x02\xe4\xf4\x72\x9e\xf9\x54\x56\xf0\xca\xc6\x1f\x3b\x93\xaa\xb1\xc7\xe3\x2a\xed\x26\x3f\xa9\x54\xaa\xf0\x73\x50\x47\x1d\xfa\xa8\x1d\xe5\x32\x0c\xd3\x5f\xc0\x1a\x68\x35\xe5\x13\x50\xa5\x0d\x79\x54\x2f\x6b\xf2\x6b\x7e\x93\x7f\xb2\xa8\x92\x4a\xab\xd9\x6c\xaa\x75\xc6\xd1\x68\xc1\xe3\xa1\x6c\x57\x37\xd2\xd4\x34\xf3\x4b\x71\x23\x33\x33\xcc\x59\x89\xb3\xcc\x59\x8b\x32\xcd\x59\x87\x30\xc9\x59\x85\x33\x45\xc8\x26\x53\x07\x9b\x92\x7a\x74\x49\x13\xda\x8d\x38\x3e\x0b\x32\x89\xdd\xac\x71\x0e\x05\x59\x8b\x12\x72\xec\xeb\x51\x71\x59\x56\x46\x94\x69\x33\xf7\x3a\xa1\x8a\x0a\xfe\x26\x2f\x0f\x1a\xe5\xa0\xa3\xf7\xc6\x76\x2c\xd0\x67\x0a\xc1\x72\x2e\xb0\xf1\x9f\x57\xf1\xfe\xf3\x2a\xde\x9f\xf6\x2a\x9e\xe4\x1c\xfd\x5b\x92\xfb\x9c\x5d\x5f\x72\x26\x28\xf0\x1a\x58\x5f\xcc\xe4\x69\x7e\x08\x4c\xa8\xc2\x5f\x9d\xad\x03\xf2\x48\xbb\xe1\x55\xfc\xe5\xde\xfa\x12\x1e\x07\xf5\xa5\xe7\x40\x85\x3a\x12\x4a\xbc\xb8\x0a\x7f\x6b\xf6\x8e\xf6\x7e\x95\x79\x38\x84\xde\x49\xee\x9f\x78\x29\x28\xe3\xf2\x29\x3a\xcc\x0d\x6f\xb3\x87\x3e\xc1\x37\x75\x60\xb5\x91\x4f\x16\xa9\xa5\xe9\x57\xaf\x55\x9f\xa2\x03\x46\x52\x1b\x37\x5c\x5a\xcb\xe6\xff\x13\x72\x57\x53\x20\x06\x69\x04\x59\xfc\x82\x54\x87\xc7\x2c\x14\x79\x65\xd6\x05\xc8\x60\x91\x79\xd7\x49\x34\x5b\xa4\xb0\x52\xb8\x35\x31\x04\x2a\xcd\xe2\x2d\xa8\x79\x51\x59\xdb\xdb\xdb\xdb\x83\x37\x45\x1a\xa2\x35\x14\x1f\xb8\xe1\xde\x57\x7e\x2e\x84\x0c\xa6\xdd\x34\x8d\x83\xeb\x45\x0a\xab\x15\x2f\x0e\xbc\xb5\x69\xe0\xfb\x10\xed\xef\x2a\x68\x84\xcd\x2c\x92\x66\xa6\xe1\xe1\x6c\x65\xbc\x64\x10\xc5\xfc\x72\x86\x7e\xc4\x94\x92\xec\x93\x03\xf2\xae\x88\xf5\xe6\xaa\x3d\xef\x92\xd7\xac\xa1\x53\x64\x27\x30\xba\x81\x69\x7c\x9f\xe5\xe6\x91\x19\x3b\x81\x69\x2f\x5a\x84\x7e\x10\x4e\xfa\xd8\x40\x3e\xa5\x66\x8d\x28\xdd\x0c\x08\xb3\x4b\x3b\x1d\xd0\x44\x1a\x94\x97\x33\x53\xb4\xdc\x5d\x4d\x96\xf0\x81\xc0\x7d\xde\xe9\x00\x05\x15\xcf\x57\x25\x5c\x9d\x2b\x58\xcd\xb3\x8c\x59\xd0\x32\x3c\x93\x8c\x70\x33\x5a\x81\x6b\xa8\x4b\xb6\xb7\xa3\xa9\x17\x27\xc1\x3f\xe1\x88\xf8\xc1\x54\x6c\xe3\x46\xc5\xa4\x2f\x7a\xd2\x29\x61\x46\x68\x25\xb5\x46\x1a\xc9\x6b\xa8\x04\xc6\x62\x42\x0a\x82\x62\x31\x22\x9f\x34\xb4\xe8\x3f\x46\xe4\x7f\x8c\xc8\xa5\x8d\xc8\x5c\x0b\x32\x88\x47\x8b\x99\x17\x9f\x04\x49\x5a\xd0\x84\x14\x5a\x58\x6d\x48\xa1\x4e\xf5\xc6\xbb\xd3\x23\x2c\x96\x33\x1b\x3d\x2c\x78\xe4\x31\x55\x2c\x84\x02\x70\xad\xb2\x94\xba\x42\x7f\x2b\x75\x66\xf0\x95\x2d\x69\x4b\x0a\xbd\x94\xac\x31\x4e\xd4\xd2\x06\x19\xee\xa8\xe6\x97\x25\x98\x65\x89\x0c\x2c\x84\xb7\xef\x4c\x6c\x06\x99\xbb\x4e\x57\xe3\x9d\xd4\x48\xd6\xc3\xa6\xa7\x7f\x78\x34\xb7\xd8\x8e\xba\xde\x52\x5f\x34\xeb\x23\x73\x0c\xff\x45\x90\xa5\xed\xc2\x7d\xa4\x41\x50\x13\x98\xf6\xef\x47\xb3\x60\x44\xd2\x92\x04\xb5\xfc\x6c\x3d\xa2\x30\x60\xd8\xa6\x55\xc7\x26\x03\xdf\xd0\x42\xb7\x09\xc5\xec\x71\x12\x51\x4a\x16\xcc\x82\x40\xde\xa5\xa0\x1f\xc1\x6b\x09\xb0\x69\xd0\x24\x21\x90\xa8\xc0\xf2\xc0\x41\x59\x47\x5d\x19\x2b\x32\xf8\x8b\x90\x70\xcc\xd7\x1d\x45\x5d\x01\x4a\xca\xa4\xcd\x90\xff\x99\x63\x3a\x8e\xe2\x01\xbe\x68\x2e\x3e\xa8\xf6\x0d\x0e\x30\xad\x67\x48\x29\x5e\x7b\xa3\x4f\x63\xed\xb9\x1b\x06\x2c\xd0\xd3\x15\x02\x35\x11\xc3\x50\x98\xa4\x7a\xd5\x6c\x9c\xf1\x72\x81\xa6\xfb\x10\xe7\xd3\x60\xa3\x3b\x6c\xd9\xc7\x37\x23\xb0\x4a\xb0\xe0\x17\x23\x87\xad\x5a\x1d\xb5\xcb\x7f\x8e\xef\x89\x37\x9d\xc6\x91\x42\x34\xc9\x6f\x27\x91\x4c\x41\xfa\x9d\x60\xae\x62\xc2\x0d\xe5\x34\x01\x16\x9c\x89\x09\x67\x9d\xac\xd8\x7a\x94\x76\x3e\x4e\xd0\x21\x6d\x8b\xe0\x9e\x2f\x94\x60\x84\xf2\x58\x25\xe5\xa0\x20\x07\xd2\xae\x82\x49\x19\x73\xb7\x35\xae\xf7\xc0\xa0\x92\xd5\x84\x24\x19\x48\x51\x6d\xe7\x82\x35\x81\xce\x4b\xe1\x29\xec\x33\xe8\x63\xcf\xad\x72\xfb\x49\xd2\x69\xb1\x07\x0f\x45\xc6\x25\x9a\x5b\xb7\x91\x45\x45\x50\xc4\xbf\xb6\x86\xf3\x01\x15\x93\xc7\xf9\x2c\x18\xc9\xbb\x58\x9a\x5a\xc4\x87\x33\x98\xc2\xbe\xe9\xf5\xa3\x20\x85\x37\x89\xf2\xde\x2d\x57\x17\x43\xa4\x7a\xda\x07\xe8\xdf\x57\xc0\x8b\x27\xf8\x60\x85\xab\x19\x30\x34\xac\x0a\x18\xde\xc5\x30\x00\x6b\xa0\x8d\x84\x8a\xb7\xba\x18\x8a\x89\xe1\xe4\xcd\xab\x85\x3e\x60\x7c\xff\x96\xac\x4d\x92\x64\xae\x89\x3d\xb4\x2e\x56\x45\x8c\x92\x42\xb6\x0b\x58\x95\x38\x5a\xc0\x92\x61\x74\x76\x24\x42\x2d\xdc\x20\x43\xf2\xe2\x05\xe1\xa5\x25\x0a\xc0\xba\x74\xd3\xa7\x80\xc1\xeb\x8c\x5d\x6b\x6b\xcb\xb1\x03\xac\xca\x24\x3c\x85\x65\x67\xb2\x3b\x45\x24\xcb\x8f\x1e\xcb\x00\x43\x46\x91\xc8\xa1\x9a\x8b\xd0\x12\x2d\xce\x58\x27\xf7\x97\x19\x50\x4e\xbd\x44\x52\xb1\x2f\xc2\xf4\x3c\xa2\x31\xbf\x2e\x90\x35\xe6\xef\xce\x61\xea\xcb\xa7\xa6\xe9\x56\x3b\x22\x06\x5b\x83\x99\x14\xff\x91\x07\x5f\xd2\x8c\x02\xf4\xfc\x97\x6b\x6c\x23\xc3\xfa\xdb\x91\x87\xd3\x02\xae\x88\x2e\x45\xd4\xe9\xce\xdb\x23\x53\x1c\xf5\x88\x66\x37\x75\x19\xbc\x23\x29\x9d\xb1\x66\x6d\x3f\xcb\xe5\xbf\xe2\x85\x2d\x4c\x6a\xd3\x67\x9d\xc3\xb5\x42\x4a\x7c\x1a\x8c\xd9\x41\x6b\x62\xd2\xe5\x23\x92\xf8\x95\x3e\x57\x65\xe4\xc3\xab\xd2\xa7\x87\x64\xee\xbc\x22\xa7\x91\xe4\x8f\xd7\x1d\x27\x37\x55\x07\xc5\x0a\x69\xc5\xd4\x3d\x88\x16\x29\x88\xc6\x20\xf6\xc2\x09\xd4\x4f\xf6\x64\xbc\xab\xfc\x09\x33\x53\xac\xb6\x82\x87\x7a\xd0\x62\x3e\x01\xc8\x18\x15\x84\x60\x16\x24\x29\xb8\x86\xf7\x51\xe8\x03\x6c\x51\x81\xa6\x1d\x31\x7f\xeb\x4c\x43\x28\x29\x28\xc2\xcf\x4c\xa3\x36\xdd\xda\x34\x61\x2f\xbd\xa3\x69\xcf\xbb\x45\x77\xd0\x13\xf1\xa3\xfa\xcc\xbb\x1e\x9f\x08\xef\xe6\x5e\xe8\x23\xe9\xe8\xa1\x3d\x30\x6f\x3a\xa2\x09\xd3\x98\x00\xac\x59\x04\x9a\xf5\x54\x82\xe3\xcc\xff\x9b\xcd\x60\xb1\x8d\xae\x40\x68\x6e\x3e\xa9\x51\x11\x55\xa9\x62\x32\x65\x07\x04\x05\xac\x48\xa9\x9e\xd5\xc4\x33\x73\xb6\x60\xf6\x4c\xd3\x2a\x35\xca\x37\x2e\x9e\x62\xfc\x8b\x68\x46\x65\xe9\x2b\xb4\xf3\xd1\x0d\xef\x55\x40\xeb\xfe\xc3\xb8\x66\x28\xa7\xef\x02\x25\x25\xb2\x7c\x29\xa7\x8f\x32\x14\xcb\xe9\xbb\xd8\x67\xcb\xf1\xfb\x5f\x2d\xf1\xc1\x61\x74\x43\x75\x36\x01\xf6\x31\x8a\xf2\xf2\x7b\x99\x9a\x54\xd1\xe8\x6a\x9b\x38\x7a\xba\x8c\xfe\x51\x97\x20\xc7\xa7\x39\x21\xe1\x42\xcb\xfb\x16\x84\x3f\x26\xa8\xd1\x97\x07\xf1\x00\xd4\x44\x8e\x98\xbe\x65\x84\x19\xe8\xbc\x22\x83\xea\xc5\x7d\x66\x5f\x21\x62\x1a\xc2\x36\x52\xd3\x42\x50\xb9\xc5\x25\xc7\xec\xef\xe1\x6d\xe1\x40\x51\x15\x02\x46\x39\x8f\xe6\x66\x00\x02\x2b\x2e\x60\x76\x85\x97\xdd\x8d\x1a\xf9\xf1\xa1\xf7\xdf\x83\xfe\xf9\xf0\xf8\x70\xd8\x3d\x3f\x3f\x3d\xee\xfd\x78\x3e\xc0\xc6\xa6\xd6\x73\x3a\x69\xa4\x72\xca\xee\x1c\x46\xc7\x70\x06\xbd\x44\x09\x1f\xd3\xaf\xc1\x85\xbb\xf2\x27\xe9\x44\xfe\xb2\x1b\x2d\x66\x3e\x40\x2b\x2f\xa3\xd0\xe3\xfd\xc3\xc5\xf7\x30\x05\x54\x4a\x0c\x57\x79\xe8\x87\x6c\x7d\x9e\x92\xf5\xaa\x68\x8f\x66\xd0\x0b\xf9\xeb\xac\xda\x65\xb4\x28\x18\x8b\x64\xaa\xd4\x28\x36\x3e\x99\x64\x16\x99\x0b\x82\xf7\x8b\xe2\x8f\x90\xcd\x5f\x25\x3c\x16\x87\xce\x18\x89\x18\x46\xf8\x77\x2d\xa1\x2c\x34\xdd\xed\x17\x65\x62\x1d\x04\x7e\x23\x65\x19\xc8\x5b\x4d\xc3\xf3\x37\x4b\x48\xb1\x34\x12\x79\xb2\xcc\xe8\x1f\xcd\xbc\x24\x79\x4f\x9e\xb7\x16\x3d\xa2\xd9\xf7\x20\x0c\x61\xfc\xf6\xfc\xdd\x89\xf0\x5d\x5e\xa4\x4c\x54\xb1\x08\xc3\xa2\x0c\x41\xc0\x7d\x2f\xf5\xd6\xa2\xeb\xdf\xd6\x02\xbf\x62\x69\x29\x0e\x06\x39\x8b\x62\x4b\x9e\x65\x2d\x30\xd3\x66\x5e\x02\x8d\x18\x2d\x4b\xe1\xe3\xc2\x1c\xbf\x51\x30\xc7\x88\x64\x7e\x48\xaa\x5e\x1c\xd7\x01\xe4\x49\x2b\xe9\x38\x79\x71\xcc\x13\xa3\xa2\x8f\x24\x2d\xaa\x18\x1f\x40\x9a\x63\x0b\x9c\xfc\x7a\xf0\xcc\xc6\xac\xef\x61\x08\xe3\x60\xa4\xf3\x07\xff\x82\x7f\xbf\xaa\x1d\x98\xdb\xe2\x18\xa8\xb5\xeb\x45\xe8\xcf\xd8\x55\xff\xff\x17\x00\x00\xff\xff\xad\x5e\xe1\x40\xb3\xcc\x0b\x00") +var _staticJsGottyBundleJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x6b\x6f\x23\x4b\x96\x20\x06\xbf\x81\xf9\xe0\xf7\xfb\x49\xc5\xed\xe1\xcd\x2c\x86\xa8\x4c\xbe\x24\x91\xca\xd2\xb0\xc4\x52\xdf\xda\xae\xba\xf7\x4e\x55\xdd\x7e\x2c\x8b\x5d\x9d\x22\x83\x52\x76\xa5\x32\xd9\x91\x41\xa9\xd4\x22\xdb\x0b\x63\xbd\xc0\x00\x86\xb1\x36\x16\xeb\xfd\x30\x80\xd7\xf6\xac\x67\xc6\x58\x18\xbb\xc6\xc0\xaf\x99\xb5\x81\xb9\x3f\xc0\xff\xa1\x7f\x89\x11\x27\x1e\x19\x91\x0f\x4a\xf7\xf6\xed\xc1\x7e\xd8\x52\x91\xcc\x8c\x13\x8f\x13\x27\x4e\x9c\x38\x27\xe2\x44\xc4\xde\x72\x9d\xcc\x59\x94\x26\x0e\x71\xef\xd5\x73\x83\x39\x91\x7b\x1f\x2d\x1d\x3a\x8d\x66\x2e\x25\x6c\x4d\x93\x06\x7f\x6e\x93\x8f\xab\x94\xb2\x6c\x74\x13\xd2\x46\x1a\xf0\xa0\xe0\x3e\x1a\x46\x38\x1e\xee\xf9\x58\x02\x87\xf7\xdb\xed\x48\x26\x22\x3c\xd1\x3c\x8c\x63\x27\x55\x69\x71\x8a\xf3\x67\xe6\xe2\xb4\x1d\x07\x7b\x5e\x1e\xb6\xe5\x79\xd3\xe0\x7e\x3b\x62\xed\xeb\x80\x60\xd6\x9e\x07\x14\xb3\x76\x14\x98\xa8\xaa\xfc\xb7\x98\xb5\x17\x06\x04\x53\x1c\xb9\xf7\xac\x9d\xf2\x47\x77\xb3\xf9\xe2\xe2\xe7\x64\xce\xda\x0b\xb2\x8c\x12\xf2\x25\x4d\x57\x84\xb2\x3b\x88\x76\x3f\x4f\x93\x65\x74\xb9\xa6\xe1\x45\x4c\x00\xfd\x64\x7d\x4d\xe4\x9b\x87\x2f\x09\x1b\x46\x5b\x97\xe7\x9f\x58\x25\x0b\xf4\x48\xb3\x49\xda\xef\xdf\x93\xec\x55\xba\x58\xc7\xe4\x54\xc7\xc8\x51\xe3\x85\x86\xeb\x98\x6d\x87\x15\x40\x4d\x21\xd6\x5e\x38\x14\xa3\x10\x61\xea\x62\xca\x8b\x4b\xcd\xea\x30\x9d\x44\xd6\x64\x45\x53\x96\xb2\xbb\x15\x69\x5f\x85\xd9\x17\xb7\x89\xaa\x93\xa0\x32\x4f\xc0\xf3\x58\x05\x08\x61\xe6\xb0\x76\x16\xf8\x7d\x77\xeb\x4c\xcd\x2c\x31\x75\xef\xd1\x3a\x23\x8d\x8c\xd1\x68\xce\xd0\x48\xb7\x7b\xa4\x2a\xc8\x02\x76\x15\x65\xa3\x68\xe9\xec\x39\xfc\xa9\x11\x25\x19\x0b\x93\x39\x49\x97\x8d\xc8\x55\x2c\x91\x90\xdb\x46\xe4\x84\xf4\x72\x7d\x4d\x12\x96\x4d\xbd\x19\xce\x5f\x7c\xf3\xa5\x33\x73\x47\xac\x7d\x41\xd3\xdb\x8c\xd0\xe0\x0d\x6f\x54\x9e\x5b\x1c\x44\xf2\x01\xaf\xdb\xcf\x6f\x48\xc2\x9e\x5f\x47\x8c\x11\x2a\x6a\xc3\x4b\x76\x31\x4a\xd6\xd7\x17\x84\xa2\x20\xe0\xd5\x4e\x97\x0d\xd2\x6c\x3a\x24\xb8\x9f\xa7\x71\x36\xb4\x0a\xe7\xd9\x0f\x2d\x0c\xae\xc2\x64\x11\x13\x3a\x34\x31\xd9\xba\x98\x04\x64\xb3\xb9\xdf\x62\x49\xd3\x0f\xe4\x2e\x73\x22\xd5\x5e\x99\xdb\x5e\xa6\xf4\x79\x38\xbf\x72\x34\xd5\xa8\x7b\x9f\xac\xe3\x38\x08\xc8\x94\xce\x78\xf1\x53\x3a\x0b\xa2\x76\xba\xe2\xd0\x6c\x4a\x67\x38\x9a\xd2\xd9\x5e\x10\xe4\xb9\x98\x11\xa7\x74\xe6\xba\x98\xf1\x67\x1e\xb0\x75\xf1\x51\x10\x04\xa4\x3d\x4f\xe3\x94\x66\xed\x98\x24\x97\xec\xea\x54\xbd\xe7\x80\x79\x9a\xcc\x43\xe6\x44\xed\xf7\x32\x20\x8b\xa3\x39\x71\x8e\x5c\x77\xe8\x0f\x7e\x93\x1c\xfc\x01\xcf\xc2\x7b\x54\x16\x22\x85\x87\xf7\x3b\x6e\x2d\x42\x1c\x88\x0b\x29\xf6\x3b\xbc\x8c\x8a\x8a\x72\xb2\x3c\x1e\xd1\xba\xac\x5d\xcc\xd9\xa3\x98\x8f\x08\x94\xed\xc2\xa5\x07\x7f\x5d\x85\x94\x24\x2c\x20\xed\x8b\x74\x71\xb7\xd9\x10\x19\xb0\xd9\x38\xe3\xd3\x71\xfb\x92\xb0\xe7\x31\x01\xee\x78\x76\xf7\x36\xbc\xfc\x3c\xbc\x26\x0e\xe2\x51\x91\x3b\xf5\x66\x43\xde\xf0\x79\x61\xb2\xa8\x8c\x67\x73\x49\xd2\x6b\xc2\xe8\x1d\xe7\x3d\x80\x73\x06\x0c\x08\xfc\x58\x70\x5f\xc2\x55\x40\x30\xd5\xd9\xe5\x09\x67\x98\xf7\x69\xe0\xd7\x66\x53\x54\x23\x71\xd0\x22\x64\x21\xca\x21\x12\x91\xbb\x8b\x30\x23\x81\x27\x5f\x16\x51\xb6\x52\x2f\x1f\x75\xa8\x7a\x98\xaf\x69\x96\xd2\x37\x2c\x64\xc4\x0e\xfa\x2c\x5a\x2c\x48\x12\xec\xf9\xaa\x72\xc9\x0d\xa1\xec\x79\x1a\x8b\xf7\x5f\xac\xc9\x9a\x80\x1c\xe1\x6f\xd9\x9c\xa6\x71\xfc\x36\xd5\x05\x89\x80\x67\x29\x63\xe9\x75\xa0\x2b\xb1\xaf\x32\x5b\x67\x2c\xbd\xfe\x01\xb9\x83\x5e\xfd\x99\x40\x3e\xe0\xa4\x34\x31\x78\x16\x47\xc9\x87\x17\x09\x23\xf4\x26\x8c\x0d\x68\xb8\x5a\xc5\xd1\x3c\xe4\x8d\xf8\x03\x72\xb7\x0a\x17\x1a\x49\x03\x72\x06\x59\x68\x48\x4a\xa3\xcb\x28\x79\x95\x2e\x88\x0e\x8a\x92\x8c\x50\x66\x05\xdd\xd2\x70\x15\xd2\x74\x9d\x2c\x44\xb0\xac\x4c\x92\xd2\x6b\x0b\x83\xf9\x55\x48\x33\xc2\x8c\x90\xcb\x8a\xa0\x98\xdc\x90\x58\x13\x55\xc0\xb3\x60\xca\x63\xc8\x16\x5f\x90\xf9\xcb\x74\x1e\xb2\x94\xca\xe6\xf1\xbd\x57\xe9\x3a\x93\x8c\x79\xc3\x3a\x9e\xfd\xde\xb5\xde\x05\x5a\x46\xc0\x35\x7f\x04\x92\x4a\xc6\xc9\x48\xb2\x38\x4f\xe7\x6b\xf9\xba\x66\x4b\x23\x76\x76\x49\x8d\xb7\x35\xfd\x78\xc3\x8c\x77\x22\x98\x5e\x21\x1f\xc5\x0b\x4a\x12\xc9\x8e\x64\x49\x49\x76\xf5\x86\x85\x94\x59\x21\xcf\x93\x85\xcc\x3a\xbc\x21\x8b\x1f\x1b\xcf\x3f\x31\x9e\xcf\x72\xbe\x26\xe1\x82\x8f\xa8\x9a\xd0\xb7\x34\x62\x56\xc0\x82\x2c\xc7\x8c\xd1\xc0\xef\xfa\x47\xbd\x9c\x3d\x21\xcc\x8c\xa0\x7b\x72\x78\x9d\x05\xd3\x99\x8e\xc8\x3b\xf2\x97\x3c\x54\x35\xc3\x8a\x92\x65\xf4\x51\xf3\xed\x2a\xcd\x98\xf9\x1e\x25\xab\x75\xce\x8f\xe4\xb6\x71\xdd\x7e\x61\x04\xc9\x31\x47\x15\x96\xc9\x48\x77\xed\x2f\xe1\xc5\x29\xe5\x81\x8d\x04\x94\x24\x0b\x42\x89\x44\x5c\xbd\x6d\x36\x39\xc7\x64\x24\x26\x30\xa2\xbc\x0a\x93\xf0\x52\xc5\x2c\x86\x9a\x29\x78\x0f\x89\x96\x91\x8a\xaa\x5f\x37\x1b\x8e\xd7\xfb\xf6\x4b\x15\x90\xd3\x97\x3c\x5b\x2f\x97\x84\x6a\x2a\x41\xd8\x0b\xae\x29\x5c\x52\x92\x65\xba\x2f\x7c\x4c\x97\xcb\x37\x24\x61\x6f\xd3\xb3\x90\xcd\xaf\xbe\x5a\x19\xbd\x24\x62\xe4\x0d\x4b\x57\x2b\x92\x77\xbd\x6c\x4d\x69\x7a\x19\x32\xf2\xfe\x2a\xba\xbc\xd2\x04\x8d\xa3\x84\x64\x40\xa4\x65\xfb\x2c\xa2\xf3\x75\x1c\xd2\x97\x51\xc6\x1c\x43\x4a\x5c\x84\xf3\x0f\xee\x68\x99\x52\x47\x68\x4f\x5a\x5c\x8c\xe8\xfe\xfe\xc8\xcd\xf3\x69\xaf\xd6\xd9\x95\x48\x79\x11\x87\xc9\x87\x97\x51\x42\x1c\xd7\x1d\x55\x92\x49\x4a\xc9\x62\x70\x3b\x23\x4c\x50\xc0\xc9\x33\x96\x2d\xc4\xc2\x0b\xdd\x71\xd8\x7a\xc5\xab\x98\x39\x12\xb6\xce\x08\x7d\x03\xe8\x46\xc9\x65\xb0\xe7\x6f\xb5\x5a\x94\x0a\xad\x89\x6b\x96\x63\x4a\xc3\xbb\x76\x94\xc1\xaf\x43\xdc\xcd\xc6\x21\xc1\x94\xcc\xf8\x10\x55\xd2\x1a\x88\x7b\x4f\xda\xe1\x62\x01\x1d\x96\xd3\x84\x24\x1c\x29\x9e\xd3\x66\xb3\xe7\xbb\x5b\x37\x2f\x23\xcb\xcb\x20\x6d\x4a\xae\xd3\x1b\x52\x9b\x4c\x27\x92\x1a\xa2\x7e\xa7\x8e\x7b\xaf\x64\x79\xc6\xe8\x7a\xce\x52\x1a\x90\x2d\xcd\xb5\xc6\xc0\xd0\x20\x31\x31\xc2\x79\x03\xd2\x3c\xe7\x50\xe4\x2c\x95\x5d\xa5\xb9\xb5\xa3\xec\x55\x38\x6f\x36\x59\x3b\x8c\xd9\x0f\xc8\x5d\xb3\xb9\xc7\xda\x73\x46\x63\xf5\x7c\x4d\x58\xf8\x03\x02\x63\xac\x91\xe4\xcd\x8f\xa2\x64\x91\xde\x66\x66\xc2\xca\x74\x52\x29\x46\x1f\xc8\xdd\x8a\xb3\x2a\xd7\xf9\xda\x1c\xbd\x53\x3a\xa4\xcd\xa6\xb3\x07\xba\xda\x59\xba\x20\x9b\x8d\x7e\x7c\xda\x3b\x34\x48\x12\x2b\x0d\x57\x98\x28\xe4\xe4\xc4\x1f\x6c\xd8\xc9\xc9\xd1\x86\x72\x75\x96\x77\xac\xbd\x20\x6e\xbf\x9f\x87\xf3\x2b\x32\x4d\xb5\x79\x63\x04\x69\x46\xcd\x70\x82\x43\x7c\x85\xe7\x78\x1d\xf8\x07\x1e\x5e\x05\xfb\x3e\x5e\x04\xde\x68\x71\x12\xb5\x6f\x2c\x9d\x66\xb4\x68\xb5\xc0\x64\xca\x02\x0d\x9a\x2e\x66\x38\x09\x84\x5a\x1c\x08\x75\x34\xe0\x0a\x28\xe6\x7a\x97\x33\x0f\xe2\xf6\x22\x12\x5a\xb5\x6c\x7b\x28\xcd\x75\xdd\xfb\x55\xb0\x18\x5d\x50\x12\x7e\xd8\xce\x4f\xd6\xcd\xa6\xb3\x0e\xe6\x78\x15\x2c\xdc\x6d\x19\xd9\x60\x95\xd7\xfd\xca\xb0\x8c\xa4\x7e\xa8\xc9\xe5\x1f\x16\xde\x8f\xcc\xf7\x6d\xb5\x9d\xc4\x30\xca\x6d\x1c\x84\xef\x6f\xc2\x78\xcd\xad\xa3\xad\x0b\x16\xe0\x3c\xa0\x5c\x93\xc4\x6b\xfe\xeb\xe2\x55\x40\x9d\x4e\xd7\xc5\x8b\x80\x3a\x5d\xcf\xc5\x4b\xfe\xdb\x71\xf1\x25\x0f\x77\xf1\x35\x8f\x75\xe8\xe2\x3b\xfe\x7b\xec\xe2\x0b\x1e\xec\xb9\xf8\x3d\x7f\x3f\x72\xf1\x19\x7f\xf7\x5d\x7c\xcb\x93\xf9\x2e\x7e\x13\x50\xe7\xc8\xc5\x37\x01\x75\x8e\x5d\x3c\x0e\xd0\x3a\x11\xe8\x2d\xd0\x9e\x32\x05\x6e\x81\xb1\x4e\xc5\x4f\x7b\x91\xce\x41\xcb\x07\x95\x6d\x94\x38\x51\xc1\xaa\x70\x71\x64\xd8\x4f\x84\x86\x19\x81\x71\xa6\x64\x9f\xed\xf7\xfd\x4e\xd3\x1c\x7d\x36\x7d\xdf\x6f\x9a\x63\xd3\x16\x47\x6d\x16\x26\x97\xe9\x99\xd0\x3f\xa7\xe8\x93\x0e\xe9\xf6\xba\x03\x84\xd1\x27\xf3\xb9\xe7\x79\x1e\x7f\xea\x91\xe3\xd0\x13\x61\xbd\x50\x86\x75\x7b\x83\x7e\xd8\xe3\x4f\x87\xfd\xbe\x77\x78\xc1\x9f\xbc\xc1\xf1\xd1\x71\xc8\x9f\x16\xdd\xc5\xe1\x7c\xc9\x9f\xfa\xfd\xfe\x61\xbf\xcb\x9f\xc8\xb2\x73\xdc\x39\xe6\x4f\x47\x21\xe9\x74\x21\xed\x72\x4e\x8e\x7b\x10\xef\xb0\x73\xbc\x14\x29\xc2\xc5\xe1\x32\x3c\x12\x65\x90\x0e\xe9\x40\x5a\xfe\x6f\x8e\x66\x38\x52\xaa\xb2\x51\x5b\xcd\x39\x44\x59\xce\xa9\x90\xc0\xe8\x13\xd4\x62\x0e\x71\x5b\xcc\xa1\xfc\x2b\x72\x8d\x2e\xc6\x72\x36\x73\x48\x40\xda\x2c\x7d\xc3\x68\x94\x5c\x82\x55\x21\xfb\xc3\x49\xe7\x14\x79\xa8\x45\x86\x44\xd8\xf3\x38\x0d\x2c\x82\x49\x45\xde\xc5\x59\x30\xf5\xf0\x71\x1f\xfb\xdd\x3e\xf6\x0f\xfb\xb8\xe3\xf7\x71\xa7\xdf\x17\x9d\x90\x06\xde\x88\x9e\x74\xfc\xc1\x88\xb6\x5a\x2e\x71\xb2\x29\x3d\xe8\x0e\x7e\x77\xb0\xf1\x66\x98\x3f\xe7\x8f\xbf\x3b\x98\xb9\x66\x92\x9e\x4a\x11\x1c\xb5\x7c\xef\x09\xc5\x19\xce\x5c\x65\x73\xa7\x5b\x87\xb3\x82\xb4\x34\x82\xc8\x36\x2e\x38\xe8\xa6\x82\x56\x52\x28\x10\xcc\xf8\xc8\x4a\x75\x32\x9c\x06\xde\x28\x3d\xe9\xf4\x07\xa3\x94\x97\x19\x80\xde\xf0\x22\x61\x0e\x9d\xa6\xb3\x76\xb6\xbe\xc8\x24\x79\x5c\xcc\x7b\x0b\x13\x24\x9e\x92\xa7\x4f\xfd\x41\xb3\xd3\xef\x63\xf2\xf4\xe9\x11\x3c\x74\xfa\xfd\x26\x99\x69\x3c\x99\xc0\x53\x59\x94\x60\xf2\xa6\x34\x1b\x46\xb9\xb1\x43\xae\xc9\x10\xc9\x08\x08\xe7\x2a\xfc\x90\x8f\xda\x84\x5e\x73\x63\x66\x88\x3e\xf2\x47\x84\x95\xf9\x31\x9c\x1e\x79\xb8\xd3\x9b\x61\x43\x0b\xe7\x09\x94\xa5\x70\x17\x93\x21\xba\x88\xd3\xf9\x07\x84\x6f\xa2\x6c\x1d\xc6\xcf\x48\x0c\x59\xae\xd2\xd5\x17\x89\x7a\xc9\xc7\xf6\xa1\x4f\xba\xfc\x95\x10\xae\xaf\x67\x1c\xb8\x20\x17\xeb\x4b\xc8\x14\xec\x7b\xa1\xb3\x02\x20\xca\xb8\x02\xf8\x86\x2d\xa2\x84\xbf\xaf\x33\x72\x1e\xa7\xb7\x67\x69\xc2\xa8\xc4\x3b\xbc\xe0\x03\xf3\x8f\xa2\x05\xbb\x1a\x1e\xf1\x9e\xa6\xec\xb9\x7b\xfe\xb2\xe4\xea\xae\xd0\xc2\x8b\xb3\x1a\xd1\xd2\xd1\xc3\xb0\xab\xe7\x61\xd4\xb8\xcc\xa3\x68\xd9\x1e\x05\xde\x28\x3a\x21\x4a\x7c\x47\xad\x96\xcb\xc4\xac\x03\xc5\x64\x1a\xcd\x70\x84\x89\xbb\xb5\xc6\xf2\x68\xe9\x18\x13\x06\xae\x3d\x2f\x03\x73\x08\x44\xc8\x45\x86\xb9\xf2\x05\x45\xb1\x46\x94\x34\x88\xfb\xe8\xc9\x9b\x66\x93\x4a\x1d\x48\x73\x01\xdd\x9a\x73\x13\xd8\xc2\x68\x4a\x66\xe6\x94\x03\x99\xe5\xc4\x2a\x81\xb6\xb6\xf8\x13\x64\x2c\x4f\x4d\x09\x3d\x89\x7c\x64\x21\x25\xa1\x88\xe5\xb8\x5b\x2b\xe9\x25\x61\x5f\x40\x21\x85\x99\x2a\x98\x2e\x22\xbc\xc6\x06\xc2\x2e\xbb\xa2\xe9\x2d\xcc\x15\x3d\xa7\x34\xa5\xce\xa7\x9f\xa7\x0d\x81\x63\xe3\x36\x62\x57\x8d\x0f\xe4\xae\x81\x3e\x6d\x91\xd6\xa7\xe8\x53\x5d\xe9\x9b\x34\x5a\x34\xbc\xbd\x20\x30\xed\xf9\x29\x99\x9d\x16\xde\x87\xfc\x9d\x57\xce\x42\x30\xfb\x2d\x22\x98\xdd\x46\x6c\x0e\x23\xed\x3c\xcc\x08\xca\x3b\x01\x1a\x46\x4b\x87\x9d\x68\xdd\x56\x69\x4f\xe8\x0d\x61\x2c\x4a\x2e\x1b\xec\x8a\x34\xf2\xe8\x0d\x18\x4c\x1b\x31\xc9\xb2\x06\xbb\x0a\x13\x00\x8b\xa9\xae\x46\xba\x6c\xf0\x1c\x1a\x48\xf3\x40\x2b\x40\x0e\x6a\xe9\xbc\x5b\xc8\x6d\x44\x59\x23\x49\x59\x23\x8c\xe3\xf4\x96\x2c\xda\xd0\xfb\xb3\x34\x26\xed\xdb\x90\x26\x0e\x75\xf1\x9e\xbf\xe5\x18\xd9\x04\xe3\x24\x05\x42\x18\x4a\xb7\xe8\x03\x4f\x99\x52\x9a\x4a\xa0\x7d\x86\xb3\x20\x9f\x6b\xd8\x4f\x4f\xbc\x91\x11\x89\xd1\xe8\x1a\x6c\x45\x27\xb5\xe6\x27\x5e\x85\xec\xaa\x7d\x1d\x7e\x74\xf2\xb0\xfd\x14\x7b\xae\x39\x6d\x51\x88\x23\xb2\xe7\x71\x32\xa9\xde\x4b\xcb\xd3\xf1\xb0\x31\xc9\xe0\x6e\x8d\xe2\xaf\xc3\x8f\x2f\x01\xcd\x40\x1a\xab\x37\x11\xb9\x5d\xa5\x94\xb5\xb3\xbb\x64\x2e\x54\xfa\x31\x25\xa1\xe3\x6e\xb7\xb2\xf5\x24\xd7\xa8\x04\x46\x97\x61\x58\xb5\xac\x21\x1c\xd1\x50\xd9\x0c\x67\x79\x20\x17\xe9\xcc\x15\x7a\xda\xc8\x48\x01\xf2\x53\xa6\x90\x36\x76\x7b\x1e\x87\x59\xc6\x55\xf9\x36\x4b\x2f\x2f\x63\xe2\x08\x91\xbc\x2f\x52\xec\x67\x3c\xc9\x3e\xd7\x6f\x28\xaf\x12\xc2\x28\x7f\x0e\x78\x83\xe1\x6f\x9e\xdb\x45\x48\x11\x46\xfc\x1b\x72\x30\xf1\x34\x05\x6c\x5e\x35\x6d\x0e\x6d\xed\xce\x44\x49\xc6\xdb\xd6\xae\xb9\x29\x38\xea\x68\x63\x50\xd6\x9c\xef\x71\x4b\x7d\xb5\x2e\x6b\x92\x33\xea\x23\xab\x7e\x01\xad\x85\x89\x9a\xaf\x8b\x49\x48\xed\xdc\xd5\x6c\x93\xe3\x62\x7b\xae\xbb\x76\x5a\x2a\x23\x4c\x27\x32\x6b\xfd\x8d\x70\xda\x4f\x13\xe4\x6e\xf1\xc0\xf3\x8a\xe4\xdd\x81\x63\x89\xc8\xe5\x12\x85\xa5\x58\x5b\x62\xed\x64\x5b\xb3\xe9\x40\xc1\xba\x66\x75\x11\xeb\xb3\x80\x21\x18\x1a\xf3\x22\x92\x93\x50\x56\xd3\xa5\x0e\xd1\xe3\x08\x46\x30\x90\xa0\x7c\xf4\x62\xdc\xce\xd5\xb3\x57\xcd\xa6\x78\x71\x2e\xdb\x67\x5e\xfb\xf9\x9b\xb3\x16\x9a\xbe\x40\xdc\xa8\x2e\x57\x39\x5c\x2c\x1c\x99\x1d\x8f\x90\x5d\xa5\xb7\x82\x7c\xbc\x49\xab\xb9\x15\xa6\x0d\xb9\xb9\xae\xd5\x07\x6e\xfc\x92\xeb\x88\xa9\x9c\xf0\x3d\x27\x60\x94\x84\xf1\x90\x6c\xb9\x61\x6e\xb5\xd1\x45\xbc\xae\xb0\x12\x0a\x43\x25\x8f\xe4\x68\x7a\x3c\xb3\x92\x94\xc8\xc1\x23\x17\xa9\xa1\x24\x1d\x69\xdf\x61\xd2\xbe\x83\xca\xed\x22\xd0\x17\x35\x04\x52\x3c\x91\xd3\x68\x07\x8f\x95\x49\x03\x9a\x95\xa2\x8e\xc0\x73\x27\x71\xa2\x24\x62\xdf\x8f\xd3\x0b\x9b\x5f\x41\x55\x86\x9e\x85\xd5\x62\x12\xd0\x85\xeb\x87\x72\x92\xcd\x60\x1c\x2b\x84\x93\x4e\x06\xa4\x56\xef\xc7\x68\x9e\xae\xee\x0c\xb2\x51\x4e\x36\x63\x4e\x74\xb3\x59\xb4\x79\x14\x35\x99\x47\x31\x03\x22\xda\x13\x44\xae\x34\x5f\x69\xd5\x8a\xe2\xa2\xbd\x0a\x33\x46\x54\x0e\xb0\xa0\x36\x92\x68\xe4\xcd\x07\x71\x60\xc9\xae\x88\x61\x0e\x61\xc6\x14\xc8\x79\x44\xc9\x32\xfd\x78\x5a\x8c\x0d\xb8\x2f\xd2\xdb\xc4\xe6\x85\x4e\x10\xb0\xf6\xc5\x9a\xb1\x34\x69\x36\x17\x6d\x1a\x5d\x5e\xb1\xb3\x38\x9a\x7f\xd0\xb3\x94\xd8\x60\xa6\xca\x1a\x0e\xcb\xa4\x4b\x78\x8a\x6b\x92\xac\xed\xc2\xbe\x5d\xfe\x56\xf5\x5e\x46\xc9\xfa\x63\xb3\x59\x2c\x32\x5c\x7f\x9c\xf3\x5c\xed\xf2\xfc\xc0\xae\x1d\x67\xd6\xb7\xe4\x23\xe3\x43\xf4\x57\x7c\xd8\x83\x39\x6a\xd9\xa5\x1f\x46\x44\x75\x38\xce\x58\xa5\x0e\xa7\x51\xf9\x40\xee\xca\x64\x1e\xb7\xc3\x39\x8b\x6e\x88\x5c\xfe\x11\xca\x26\xef\x69\x1f\xc8\xdd\x24\xbd\xe5\x71\xb6\x78\xcf\xe3\x8d\x6c\x67\x25\x26\xa7\x1e\x9d\xd7\x97\x3c\x7a\x6d\x66\xeb\x95\x9d\x13\xd7\xfd\x37\x1b\xa9\xa0\x3b\xc4\x48\x95\xf3\x5f\x65\x75\xaa\xf1\xb6\x12\x55\x20\x6e\x61\x28\xf5\x27\xae\x99\x06\x08\x55\x65\x32\x4f\xaf\x57\x69\x16\xc1\xa8\xce\x05\x2d\x82\xb5\x39\x1d\xf6\x19\x89\x57\x84\xb6\x8b\xb1\xa0\x85\x9c\x8a\x98\xee\x8e\xfc\xd7\xab\x45\xc8\xfb\xd2\x03\x05\x88\x68\xdf\xaa\x04\x92\x2c\x1e\xcc\x9e\x24\x8b\x5d\x79\x13\x58\xa5\x93\xa2\xbb\x3a\x33\x81\xe0\x59\x1e\xae\x96\x1b\xbf\x41\xbe\x76\x8b\xc1\xd2\x9c\x9c\xf9\x17\x8b\x61\x0e\x6b\x67\x62\xb5\xa6\x4d\x92\x45\x85\x8c\xce\x08\x65\xaf\xd3\xdb\x0a\x91\x87\x52\x30\x4e\xf3\x49\x35\xb1\xbe\x3e\x6e\xcf\x29\x09\x99\x62\x68\x07\x2d\xa2\x1b\xa4\x56\x5d\xa9\x30\xd8\xc3\x28\x21\x94\x8f\x20\x24\x59\x9c\x5d\x45\xf1\xc2\xd1\x9a\x97\x5c\x4f\x12\xc6\x2c\x71\x31\xb1\x11\x4a\x57\xa4\x68\x9c\xe5\x4b\x03\x38\x12\x3f\x19\xb7\xd1\xa5\x02\xa8\xd6\x70\x37\x1b\xe3\x15\xef\x19\x2f\x25\x3b\x0e\xbd\x95\xa3\x56\x83\x92\x5f\xac\x23\x4a\xb2\x46\xd8\x10\x71\x1b\x6a\xd4\x44\x62\x46\x40\x4d\x9a\x73\x2e\x09\x8c\x3c\xdb\xe9\x6d\x42\xe8\x44\xce\x2b\x2a\x9b\xf1\x87\x11\xb9\x95\xab\x57\x12\x52\x9f\x46\xc4\xbb\x48\x17\x77\x81\x95\xe2\xa1\x65\x67\x4b\xe3\x2f\x24\xad\x6a\x98\x3a\x0b\x01\xb4\x25\x35\x7c\x3f\x10\x4d\x4c\x13\x3d\x22\xce\x3e\x4c\x3c\xed\x4b\x83\x14\x5e\x5c\xfc\x4d\xcd\x00\xbb\x98\x8c\xb0\x31\x63\x34\xba\x58\x33\xe2\x70\x0b\x25\x4a\x16\xe4\x23\xd2\xd6\xa2\xb2\xe9\x94\x7c\xad\x66\xcf\xca\xb8\xd5\x55\x50\x91\x8a\xf5\x35\xb9\xb9\x2a\xb7\x42\x19\xb9\x79\xf9\x28\x94\xf2\xe8\xd5\x58\x89\xf9\x81\x7d\x2e\xa9\xea\x6a\x53\x8b\x60\x9e\xb7\x5b\x58\x6d\xd4\x7d\x75\x27\x8e\xe5\xe8\x35\x38\xaa\x78\x0f\x92\xae\x9c\x63\x85\xfc\xd8\x89\x93\x25\x68\x2a\xb1\xe1\x4a\xc8\x83\x88\x98\xd9\x14\x24\x94\x5e\x26\xd5\x4b\xab\xed\x90\xb1\x70\x7e\xf5\x36\x9d\xa4\xd7\xce\xd8\x8e\x2d\x13\x5f\x81\x98\x7e\x5c\x15\x0a\x71\xab\x6b\x21\x22\x3d\x5c\x91\x42\x66\x6a\x59\x53\x0e\x6e\x65\x3c\x14\x04\x15\x62\xee\xc2\x62\xbf\x36\x91\xdd\x49\xc3\x35\x4b\xe7\x29\xa5\x7c\xf0\xc0\x28\x5d\x2e\x1f\x13\x3f\x5c\x45\x2c\x8c\xa3\x5f\x92\x47\x25\xc9\x56\x24\x8e\xe7\x57\x84\xeb\x90\x68\x19\xc6\x19\x29\x25\x60\xe1\xc5\x0b\x2e\x2a\xd4\xfa\xbf\x06\x94\x16\x5e\x4b\x36\xa8\x7b\x1f\xd5\x19\x81\xd1\x16\x74\xdc\x07\x32\x2c\x58\x71\x79\x7e\x45\xb3\xc9\xc8\xae\xc8\x0e\xa5\x26\x56\xe5\x69\x9f\x23\xad\x1c\xf0\x71\x67\x27\xab\x15\xe2\x16\x1b\xd9\x00\x83\xf8\xab\x48\x26\xf4\x0f\x58\x0d\x9e\xb7\xcf\x8a\xe1\x05\x33\xa8\xaa\x4c\xd3\x1f\xe2\xc1\xaa\x16\xd2\xba\xb9\x23\xcd\x9b\xe8\x97\x04\x26\xd2\x6a\xe5\x3d\xcc\x72\xd5\xf5\xb1\x72\x49\x15\x79\xba\xa3\x2c\x9f\xad\x1d\x65\xad\x96\x70\x44\xd0\xba\x92\xe3\x16\xb4\x8f\x72\xb6\xc4\x1a\x13\x78\x21\xaf\x48\x98\xad\xa9\x58\x4f\xbf\x6d\x9f\xe5\x21\x4a\x92\x54\xf7\x60\x23\x29\x28\x7e\xe0\x4c\x14\xfd\x92\xcc\xaf\xc2\xe4\x92\x2c\x0a\x4c\x26\x35\x4a\xb3\x4e\x99\xa3\x39\xcc\xcc\xeb\x5a\x16\x5e\x18\x4b\x00\xbd\x55\xfb\x87\xf2\xd5\x11\x76\x7a\xc5\x68\x53\x37\x7a\x95\x4a\x2a\xba\xc0\xf0\x02\x2e\xda\xaf\xe5\xab\xe9\x56\x53\xf2\x81\xe1\x51\xcf\xda\x6f\x0a\xc1\x06\x4e\x30\xcd\x5b\x1e\x0f\xea\x70\x28\x39\x84\x54\x6b\xd2\x5c\x01\xd6\xf8\x6a\x97\x27\x95\xd6\x21\x52\xa1\x26\x52\xa1\xde\x91\x77\x42\x6e\xf3\x31\xb1\x50\x80\x96\x1e\xc2\xa8\x22\x98\x96\x16\x57\xcc\x20\x91\x4f\xde\x96\x3c\x7b\xa1\x13\x58\x2c\xa0\x96\x05\xca\xf8\xa8\x49\x24\x9d\x43\x49\x7d\x28\x49\xb1\xdf\x2c\xff\xea\xf9\x79\xe5\x6c\xa5\xa6\x86\x1c\x17\x8b\x25\x1d\x98\x8c\x06\x5d\x3f\x09\xd0\x4f\xd2\x75\x63\x11\x2d\x60\x1d\x63\x15\xc2\x42\x08\x69\xfc\x0c\xc8\xf2\xb3\x86\xf2\xd9\x6d\x44\x49\xe3\x67\x4a\x95\x2f\x98\x10\x8e\xfb\xb3\xf6\xbb\x04\x8d\x92\x56\x80\xde\x56\xa5\x4d\xd2\xdb\x86\x5a\xe9\x69\xb0\xb4\xf1\x33\x46\xd7\xe4\x67\x8d\x8b\x35\x6b\x40\xf3\x46\xc9\xa5\x58\xe4\x81\x01\xb0\xfd\xf3\xac\xd1\x6d\x7b\x0d\x84\x79\x86\x11\x6b\xdc\x46\x71\xac\xd2\x43\x72\x18\x83\x7e\x56\x5c\x6c\xe1\x6a\x41\xb0\xe7\x6d\x99\x5c\xb3\x50\x0d\x5b\x9a\x83\x29\xcc\x86\xa8\x69\x32\x70\x42\xcd\x59\x8f\xe7\x46\xda\x51\x76\x96\xc6\x71\xb8\xca\xc8\x62\xc4\x0d\x83\x34\x26\x61\x92\x7b\x41\xb3\xd3\x3d\x36\x44\xaf\xb9\x78\x40\x41\x40\xc0\x4d\xc6\xdd\x6c\x22\xbd\x64\x27\xdb\x80\x2b\xd2\x30\xa3\xa2\x64\x80\x18\xa1\x38\xf5\x10\x58\x89\x71\x1a\x2e\xc6\x8b\x45\x69\xb1\x4c\xf1\x80\xd3\xe9\xb9\x0e\x6a\x1f\xa0\x16\x69\x21\xfe\x5d\xb0\x2d\xab\x84\x51\x69\xe6\xba\x4a\xfe\x02\xd7\xf3\xde\xcc\xe5\x3b\x6a\x0b\x15\xe4\x36\x5a\x90\x7d\x1e\xfb\xfe\x16\xd6\x7f\x51\xab\xf3\xa4\x24\xd5\x00\xd4\x42\xab\x8f\xa3\xad\x4c\x26\x3c\x25\xed\x84\x8f\x48\x06\xab\x6c\x4f\x1b\x8b\xe8\xe6\xfe\x8a\x44\x97\x57\xac\x2a\x99\x80\x88\x74\xa8\x30\x31\xac\x88\x5b\xe7\x55\x21\x97\x18\x30\x38\x1f\xb1\x80\x0b\x05\x4c\x83\x1b\xde\xde\xaf\xc3\xdb\x67\x77\x8c\x9c\xa5\x29\x5d\x64\x0e\xc1\xb1\x2d\xdc\x62\x13\x07\xfe\x96\xc6\x99\x88\x93\xb9\xae\x5c\xc6\x8a\x60\x4d\x1b\x93\x76\x7a\x43\x28\x8d\x16\xe4\xed\xdd\x8a\x6c\x36\x92\x19\xc4\x32\x56\x3e\xc5\x38\xbc\x0a\x98\xb9\x0c\x04\x90\xf5\x8a\x87\x77\x3b\xdb\x82\x7f\x87\x5a\xc7\xbe\x1a\x39\xec\x37\xc7\xb7\xd9\x8c\x1c\xda\x0a\xba\x1d\xcc\x0c\x47\x12\xaa\x57\x65\x63\xed\xb9\x0a\xaf\x1d\xaf\x77\x08\x82\x42\xaf\xe1\xc3\x34\x82\xe7\x8e\xd8\x89\xdf\x39\x3c\x25\x6a\x8d\x7c\xe8\xb0\xa7\x3c\x72\xb3\xe9\xb0\x80\x3f\x70\x62\x00\xcc\x3f\xee\x6c\xd8\xd3\xa7\x83\x3c\xa0\x73\xb4\x19\x74\x9b\xcc\x75\xb7\x24\xce\x08\x14\xd3\xef\xd7\x94\xf2\xd4\xef\x88\x3c\xfd\x4e\x9e\x25\x73\x0d\x22\x45\x06\xee\xb9\xdb\xae\x7b\x4f\x9a\x41\x17\xb3\xf6\xc7\x7d\xa8\x6c\xfb\x8e\xff\x8e\x84\xc3\x81\x31\x75\xdf\xe9\x21\xce\x10\xe0\x80\xef\x46\xad\x00\xf9\x68\xc4\xb1\x6a\x44\x4b\xc7\xd7\x81\xdd\x3c\xb0\xa3\x03\xfb\x22\x90\x97\xdc\x85\x40\x81\xfd\x88\xc3\x3c\xa4\x3c\xc4\xf8\xdb\xaf\xa6\xa8\xc5\xda\x1f\x5b\x08\xf3\xdf\xbb\x16\x9a\xbd\xa3\x48\x88\xe1\x58\x2c\x26\x44\x86\x47\x59\xee\xa9\x7c\xea\x54\x55\x02\xbc\xd6\xc8\x29\x09\x3a\x43\x5f\x3e\xf5\x86\x1d\xf9\x34\x18\x02\x2e\x30\x71\xd4\x75\xad\x32\x8c\x5a\x83\x04\x19\xa1\x96\x40\xfc\xb4\x37\xf4\x5c\x78\x07\xe4\x46\x12\x59\x0e\x67\xed\x55\x78\x49\x36\x1b\x0e\x6f\xde\x22\xd7\x1d\xc6\x86\xfb\xf2\xa9\x53\x44\x8d\x27\x6c\xf1\xb7\x56\xeb\xa1\xb2\x55\x19\x50\xe6\x2b\x91\xb5\xf2\x93\x2e\x67\x5c\x93\xd9\x09\x6a\x39\xbc\x12\x4e\xb7\x49\xdc\xd3\xfd\x5e\x93\x0c\x89\xbb\xdf\xed\xb8\xa5\x22\xf2\x58\xe8\x1a\x0d\xa1\x40\x77\xe8\x50\x27\xe2\x66\x27\x97\x05\x4e\xc4\xb1\x57\x0f\x77\xb5\xb4\x7b\x85\x5a\xc2\xcb\xaa\xbd\xa4\xe9\x35\x97\xb6\x67\xe9\x82\xc8\xd5\x1b\x01\xc1\x91\xeb\xda\xce\xa1\xba\x1b\xe3\x08\xa7\x38\xd3\xbe\x0b\x8f\x94\x17\xc2\xd7\x7d\x2f\x20\x72\xb6\xfe\xb4\xa5\x9e\x86\x0a\x70\x7b\x15\xcd\xaf\x4e\xe5\xef\xbe\x0f\xe1\x38\xb6\x9c\x3f\x5f\x3c\x17\x3d\x89\x77\xb5\x53\x6f\xd8\x83\x5f\x7f\x68\x2f\x49\x6b\x59\xc4\x82\xae\x19\x3e\xf9\xe2\x15\x34\x8d\xd0\x3c\x39\x98\xb4\x17\x84\x85\x51\x7c\xe2\x9d\x0e\x7a\xc3\x41\xdf\x8c\x7d\x7b\x45\x88\x8c\x04\x8f\x13\x12\xb3\xf0\x27\x4f\x65\x4c\xc5\xeb\x34\x20\xed\xec\x2a\x5a\xb2\x1f\x90\x3b\xce\x84\x38\x0a\x88\xf2\x40\x3d\x3d\x1a\x7a\x38\x0d\x88\xf2\x4e\x3d\xf5\x07\x43\x0f\x67\x01\xdd\x44\x9b\x14\xc7\x86\xc7\xfe\x69\xd6\x0c\xd2\x61\x6c\xfa\xe8\x6f\x36\x4e\x16\x78\x7c\xf4\xee\x76\x5a\x4e\x76\x72\xd2\x71\x5b\x0c\xfc\xdf\xc2\xc0\x52\x04\x62\x31\xbf\xc9\xe5\xee\x28\x75\xc2\xea\x75\x20\x2a\xa5\x8b\xb1\xbe\xa5\x25\x95\x43\x5d\x1c\x6b\x35\xc3\x42\xcb\xa1\x56\xeb\x06\x9a\xb4\x58\xa6\x12\x0e\x59\x0e\xe5\x8c\x68\xa1\xdf\x6c\xa6\x4e\xac\x67\x19\x25\x52\xd7\xe9\x0d\x41\x98\xf1\x84\x6a\xef\xc2\x66\x53\x11\xcf\x5c\xc5\x68\x50\x27\xca\xb7\xba\x39\x11\x4f\x6c\x95\x93\xed\x28\xa7\x02\xc6\xf3\x36\x51\x8f\xb8\x72\x63\x56\x64\xcb\x55\xad\x10\xcb\xf6\xb7\x26\xcb\x8b\x24\x6c\x36\xf7\x1c\xb3\x2a\xa6\xf4\xe6\x6f\xb9\x18\x74\x73\x6a\x33\xa3\x38\x56\x5b\x9a\x18\xbb\xf6\x2a\x5b\x2c\xce\x9d\x52\xd2\xe4\x47\x3c\x21\xd7\x04\x74\xa6\x44\x67\xca\xd2\xf5\xfc\x4a\xae\xac\x7c\xf3\x9c\xdf\xf2\xd4\xc2\x15\x67\x47\xf6\x82\xd6\xdf\x32\xf7\x57\xe9\x0d\x29\x65\x6e\x6b\x45\x0b\x92\x31\x9a\xde\x95\x94\xc0\x7c\x37\x88\x5f\xdc\x0d\x22\x03\xde\x13\x28\x3d\xb8\xdf\x4a\x63\x59\x6e\xd4\x30\x72\xda\x1a\x5b\x14\x2a\xc2\x65\x17\x93\x8a\xb8\x9a\x47\x13\xf6\xfb\xe7\xe9\x82\xd4\x02\xe4\xb2\x79\x85\x71\x5f\x74\x87\x01\x7b\xa7\xa0\x2c\x5b\xc6\xaf\xf6\x5c\x92\xb6\x25\x2c\xd7\xbc\x56\xab\xfb\xb8\x98\x63\x79\x35\xa7\xec\xb6\x66\xcf\x50\xba\xf9\x56\x0a\x32\xa2\x27\x01\x03\x6f\xd7\xc2\x2c\xa6\x78\xba\x7b\x9d\xde\x3a\xb4\xe8\x73\xa3\x7d\x26\xca\x8a\x7a\xbe\x5b\x6c\xb3\x71\x8a\x41\x81\x6f\x1b\x7d\xf0\x72\x27\xfd\xb9\xdc\x62\x29\x20\xb3\x4b\x9b\x67\x99\xe9\x3a\x26\xfc\xcb\x82\xc0\xf4\x39\xd3\xfe\x5c\x7c\xdc\xb8\xaa\xf0\x32\xf3\x4d\x2f\xb3\xfd\x7d\xac\xfd\x04\xc1\x7d\x4c\x52\x5f\xb8\x92\xed\x9b\x51\xb9\x8e\x70\x55\xdc\xe9\xa1\x6a\x29\xdc\xd1\xf2\xc8\xae\xf4\x5b\x90\x49\x0d\xe3\x16\x3b\x6c\xdf\xdc\xf1\xb6\x2f\x66\x06\x8c\xfd\x70\xae\x5d\x21\xb9\xb5\xd2\x08\xa9\xda\xe6\x22\xec\x63\x4c\x5c\x77\x68\xc4\xcc\x56\xe0\x94\xcc\xb0\xb4\xaf\xab\xe2\xe7\x04\xd0\xbb\xf4\x9a\x4d\x27\xa7\x0a\xaf\x80\xa2\xa5\xa2\xd9\x37\x20\x84\x8b\x2b\xf0\x29\x50\x46\x17\x8c\x7d\x15\x5f\xd8\x85\x60\xa0\x3a\x76\x9c\xdd\x11\x24\x09\x4d\x63\x55\xcd\x50\xe4\xf8\x55\xb2\xda\x84\x23\x5e\xea\x3a\xe4\xc4\x83\x5f\x2f\x30\xb9\x44\xa9\xcd\x65\x3a\x70\x43\x1e\xd4\x6e\x59\x35\x88\xfe\xb4\x82\x94\xc5\x0d\x43\x72\x9b\x12\xc4\x6f\xa9\xbd\xa7\x22\x75\x9e\xf8\xb4\x92\xc6\xc3\x3c\xf4\xc4\xd3\x4d\x25\xf6\x75\xba\x98\xc9\x45\xcf\x5a\x62\xec\x9a\x89\xa9\x22\xd4\x97\xe1\x25\xb1\x9d\x25\x0c\xfa\x73\x2a\x3a\xe4\x89\x63\x66\x52\x99\xcb\xdb\xf4\x6d\xba\x2a\x3b\x02\xe6\x99\xec\x3f\xd0\x5e\x6f\x53\xb9\x7d\x74\x47\x1e\x06\xd3\xd6\xe6\x56\x18\x0b\x0c\xb7\x41\x63\x3b\x9c\x5e\x89\x16\xf3\x6a\x72\x41\xd2\xf6\x3e\x6f\x36\xc5\x82\x72\x69\x67\x9c\x94\x29\x66\x76\xd2\x69\x36\xe8\xab\xe6\xca\x35\xf6\xc9\x59\xd7\xad\xdd\x62\xe7\xb9\x72\xd5\xba\xb0\x2d\xaf\xbe\x08\x4f\x52\xa5\xb4\x8f\xcf\x1b\x19\xfe\x8b\x19\x61\x6f\xa3\x6b\x92\xae\x99\xed\xa5\x18\x25\x09\xa1\x3f\xe2\x49\x1d\x3e\x50\x17\xfd\x02\x14\xb0\x72\xab\x43\x50\x42\x49\x76\x7f\x0f\x77\x3d\xcf\x1d\x11\x8d\xe2\x48\xf9\x52\x4a\xd5\xda\x71\x47\x4c\xf9\xd6\xd7\x91\x54\x6c\x3f\x57\x7b\xc2\x75\xf7\x2c\x53\xa0\x8a\xc2\x7e\x3d\x85\x7d\xbb\x3f\xc0\x98\x11\x98\x23\x55\xbe\x99\x55\x06\x8f\x8c\x6d\x89\x62\xd7\xa7\xf8\x71\x98\xec\xd3\x32\x30\x23\x0c\x86\x41\x87\xd6\x89\xb0\x3b\xb7\x62\x80\xdc\xb5\x9d\xd6\xdd\x56\xf1\x6a\xde\xf2\x62\xea\x60\x47\x0b\x47\x76\x0b\x63\x4f\xcc\x6f\x34\xaa\x59\xc6\xaf\xe8\x39\x71\x52\x16\x05\x00\x70\x48\x0b\xbd\xa3\xef\xe4\x3c\x61\x9e\x4a\xac\x8f\x9e\xa9\x2d\xde\xdc\x6e\xf9\xac\xa8\xa8\x71\x73\xd2\x9c\x22\x45\xf5\x89\x1c\xf0\x65\x9f\x3c\xff\xf2\xf5\xf3\xb3\xf1\xdb\xe7\x93\x46\x98\x2c\xc4\xcc\xeb\x05\x69\x08\xad\x6c\xd1\xc8\xd2\x34\x69\x37\xbe\x8c\x49\x98\x91\xc6\x3a\x23\x8d\x42\x7e\xe6\x3e\x73\x9e\x61\x92\x31\x12\x2e\xda\x6a\x81\x68\x57\xec\xe2\x84\xe6\x8e\xb8\x65\x42\x55\x6f\x74\x27\x25\x1f\xe7\xcf\xee\x56\x84\x32\xf2\x91\x71\x45\xaf\x2a\x37\xae\x82\x17\xb4\xbc\x92\x43\xcb\x59\x98\x80\xcb\x3f\x20\xd8\x08\x1b\x57\x2a\xd3\x06\x4f\xd4\x90\xda\x72\xe3\x82\x2c\x53\x4a\x1a\x7a\xce\x3c\x5d\x91\x84\x93\x78\x1e\xc6\x31\x59\x20\x77\x54\xd0\x14\x6b\xd0\x73\xc8\x37\x19\x58\x8c\x3c\x7e\x18\xc6\xd1\x42\xec\xd1\x0f\xc5\x66\x87\xef\xb0\xa6\x37\x3a\x73\xa8\x0f\x6c\xa5\xf8\x4d\x2a\x5c\x46\xf6\x1b\xd5\x9b\x92\xcb\x28\x63\x84\x72\xba\xbd\xe2\x12\xc8\x6a\x56\xbd\x2d\xa9\x50\x5f\xa3\x5b\x1b\x68\x55\xe4\x25\xb3\x18\x99\x1e\xc7\x35\x2b\x2e\xd1\xb6\x68\x85\xed\xc6\x4d\x32\xb0\x2e\x5e\x0e\x40\x39\x3a\x95\x19\x38\xc4\xdd\xbd\x31\xc3\xc2\xe1\x2a\xcc\xf4\xb2\x46\x9d\x03\x75\x69\x89\xc9\x4c\x54\xda\x78\xf4\xcd\xb3\xd3\x01\x6f\xc9\x47\x56\xe1\x7b\x5f\x99\x63\x75\x56\x76\xfc\xe2\xb6\x28\x11\x7d\x1c\x97\xfd\xf6\x6b\x70\x1a\xc7\x71\x31\x0f\xe9\xc1\x59\xa9\xcc\x54\x8a\x9a\x66\x73\xcf\x57\x23\x67\x65\x04\x87\xa8\x89\x8c\x3d\x5f\xaf\x67\x57\x7a\xc9\x3b\x4a\x33\x29\xbb\x30\x4a\x7f\x53\xe1\xb0\x58\x1d\xc7\xcd\x0b\x6a\xe4\x4a\x5b\x95\x65\x66\x2b\x7f\xbc\x54\xdf\x50\x64\xda\xe4\x26\x8c\xd7\x21\x23\xbc\x1e\xd9\x3c\x5c\x91\x37\xe4\x17\x6b\x02\xbb\xa4\xf3\x7e\xc0\x31\x0a\x82\x40\xa9\x5b\xa7\xf9\xa0\xa5\x8f\x2d\xf0\x86\x85\x58\xbe\xd2\x23\x0a\xc7\x1b\xb8\x98\x19\x1a\xe7\xa9\x53\x52\x41\x8d\x17\xb5\xc4\x2e\xa7\x3e\xf0\x9e\xe7\xba\xc3\xbd\xbd\x50\xac\x56\xc3\x79\x00\xea\x6c\x23\x59\x5b\x33\x2a\x16\x1b\xd8\x95\xa5\x25\xf4\x79\xed\xcb\x4b\x2c\x9b\xe7\x03\xb9\x43\x18\xa2\x6b\x80\xb5\xd5\x01\x42\xae\x94\xbf\x36\x8f\x57\x85\x5b\x81\xbd\x6a\x69\x5b\xb6\xd2\x83\x7b\x91\xd1\x70\xcf\xc7\x1f\xc8\xdd\x50\x9a\x9b\x39\x29\x64\xc8\x16\x9b\xf3\xa9\x27\x27\xde\x86\xc8\x4d\xfe\x27\x27\xfe\x46\x4f\xa4\x9e\x9c\x74\x36\x7a\x96\xf5\xe4\xa4\x9b\xcf\x45\xcb\x2d\xe8\x62\xfa\xb9\x71\x34\x84\x4d\x9c\x2a\x3f\xae\xc1\xf2\x46\x84\x26\x7c\xf6\x46\xee\x8a\x37\xc2\x26\xcf\x5f\x1a\x33\xc0\x8d\xe3\x1d\xc9\xc5\x44\xfa\x5f\x47\xe5\x4c\x3e\x7b\x9b\x9f\x48\xb5\xe7\x99\xf9\xf9\xdd\xa1\x11\xef\xec\x75\x5d\xbc\xce\xe1\xd0\x2e\xa9\x2e\x62\xf7\x70\x48\x4f\x9d\x12\x56\xfe\x08\xb5\x1c\xda\xf2\xdd\x16\x9a\xc8\x66\x0f\x6c\x78\x77\x82\x38\xff\x02\x44\xcc\x04\x98\x67\x32\x9c\xe6\x71\x2f\xd0\xd0\x4a\xd8\x9f\x20\x35\xa5\x50\x3a\x3d\xe7\xb4\x88\xc8\x17\x13\x34\x2c\x21\x37\x41\x56\x0d\x8e\x1f\xaa\xc1\x59\x4d\x0d\xce\x1e\x59\x83\x65\xb1\x06\x67\xdf\xa4\x06\x67\x15\x35\x38\xb3\x6b\x70\xf4\x50\x0d\xc6\x35\x35\x18\xe7\x35\xb0\x31\x1c\x7f\x13\x0c\xc7\x15\x18\x8e\x2d\x0c\x7b\xde\x43\x18\x3e\xab\xc1\xf0\x59\x1d\x86\xcf\xbe\x09\x86\xcf\x2a\x30\x7c\x66\x63\xd8\x1f\xe6\xdd\x6c\x93\xf7\x73\x10\x80\x85\x94\x9d\x5f\x21\xd7\x4a\x3b\x90\xb9\x53\xa3\xd1\xa7\xdd\xbc\x72\xbf\xb2\x18\xa0\xfb\x2b\xbb\xf5\x06\xc3\x32\xc6\x26\x69\x3e\x43\x8f\xae\xe7\x67\x15\xf5\xfc\xcc\x2e\xad\xff\x40\x69\xe7\x8f\x2f\xed\xbc\xa2\xb4\x73\xbb\xb4\xae\x41\xd5\x53\x73\xe0\x09\xf6\xad\x09\x99\x72\x46\xfd\x02\x95\x7a\xb5\x39\x19\xf9\x94\xb3\x19\xd8\xd9\xf8\x7e\xa7\xaa\xad\x8c\xfa\x7f\x69\xb6\xd5\x17\x5f\x16\x52\x77\x1f\x48\xfd\xfb\x56\xea\xdf\x2f\xa4\xee\x3d\x90\xfa\xb5\x95\xfa\x75\x21\x75\xff\x81\xd4\x6f\xac\xd4\x6f\x0a\xa9\x2b\x79\xd4\xef\xd7\x31\xa9\xdf\x2f\x12\xee\xb0\x32\x83\xc3\xda\x0c\x0e\x8b\x19\x1c\x55\x66\x70\x54\x9b\xc1\x51\x31\x83\xe3\xca\x0c\x8e\x6b\x33\x38\x2e\x64\xd0\xf1\xaa\x32\xe8\x78\x75\x19\x74\xbc\x62\x06\x7e\x65\x06\x7e\x6d\x06\x7e\x31\x83\x4a\xee\xeb\xd4\x8a\x8a\x4e\xb7\x98\x41\x25\x03\x76\x7a\xb5\x19\xf4\x74\x06\xd2\xed\x6b\xb8\x67\xc8\x36\x5b\xe4\x09\x35\x67\x93\xeb\x35\xa7\xe5\x61\x6d\xb3\xd9\x33\x23\x1a\x39\xd5\xa7\x69\x36\x75\x1a\x78\xd4\x27\x25\xe9\x44\xcd\xe6\xa0\x6f\x9e\xdf\x63\x1d\x85\x05\x66\xc5\x50\xc3\x9e\x06\x83\xbe\xdc\x88\xc6\x5f\x4f\x82\x63\xaf\x28\x9a\x2a\x3c\x0b\x72\xc5\xac\xd5\xed\xb8\x43\xff\xb8\x63\x96\x57\x92\x6d\x3f\x43\x66\x81\xbd\x23\xab\xc0\xfe\x61\x79\x4c\xca\xf3\xdf\xef\x1d\xb9\x8f\x42\x77\x27\x96\xfb\x83\x9e\x3b\xec\x56\x21\x59\x95\xcc\xb3\x0a\xec\xfb\x36\xba\xfd\x47\x15\xd8\xf7\x5b\x9d\x43\x77\xd8\x1f\x3c\xb2\x4c\x9f\xc7\xee\xf8\xc7\x8f\x8c\x0e\xb1\x3b\xde\x63\x63\x1f\xf1\xd8\xbe\xcd\x13\xce\x8e\xf8\xc7\xae\xf6\xfd\x61\xa5\x99\x9c\xcb\x97\x70\xb0\x61\x69\xae\x40\x1e\x78\x48\x72\xcf\xdb\x8c\x48\xab\x4d\x9d\x7e\x58\x75\x16\xc7\xe5\x99\x8c\x59\xb1\x66\x6a\xa4\x53\xa7\x31\xc8\x52\x84\x3f\x91\x5d\x52\xd9\x5a\x86\x9d\x8b\x15\x6b\x8c\xbf\x05\xa3\x59\xaf\x77\x63\x02\x18\x81\xd5\xc2\x82\xfc\x45\x7b\x6b\xc9\xb3\x62\x85\x57\x0c\x44\x91\x6d\xa2\x5d\xb7\x44\xbb\x02\x7c\xb3\x91\xe7\xb0\xaa\x2c\x75\xc1\x4c\x45\x91\x2d\xb5\xe7\xec\xb1\xcd\xc6\xd9\x2d\x4f\xdc\x66\x33\x37\x47\x5d\x70\xbd\xa9\x62\x00\x56\x34\x36\xe5\xd6\x50\x56\x69\x86\x3e\xc6\x04\x75\xb9\xc1\x59\x6c\xfb\x64\x51\x61\x59\x32\x7d\xde\x02\x2c\x7d\x6f\x36\x75\x6b\x17\xb9\x79\x0b\x11\xb9\xa1\xae\x4e\x25\xdd\x62\x35\xcd\x0f\x21\xad\xe2\x94\xeb\x05\xb1\xe7\x61\x54\x23\xe6\xe7\x19\x99\x7b\xd4\x05\x36\x7a\x2f\x1a\xbb\x8b\x49\xfb\x22\xa5\x0b\x42\xe1\xb8\xaa\x00\xdd\x5e\x45\x8c\x20\x5c\x8d\x28\xd9\x95\x92\x63\xaa\x36\xb1\xe9\xe3\x93\x6c\x3f\xe1\xc2\xc4\x5d\x9c\x5e\x56\x61\x0e\x27\x2a\xa9\x49\x05\xb1\x55\xb1\x2d\xa7\xd8\xab\x43\x79\x46\xda\xc3\x18\xce\x2d\x34\x5a\x26\x8e\xe6\x44\x1c\x3b\xa4\xcf\x46\x96\xd3\xa4\x15\xb9\x48\x37\xb3\x2a\x30\x26\x45\xf4\x09\xa5\xb6\x5f\xc1\xb7\xaf\x00\x64\xf5\x1d\x54\x01\xf2\xf9\x46\x95\xa0\x24\x8b\x7e\x49\x2a\x8e\x0f\x8a\xb2\xcf\xc3\xcf\x61\x12\x54\x3e\x32\xd7\xbd\x67\x62\x81\x57\x9f\x8b\xe4\x98\xc7\x02\xb9\x7a\x70\xae\x82\x62\x26\x0f\x23\x10\x2e\x7a\x38\xe1\xe2\x46\x4f\x9b\x89\x93\x86\x99\x7a\x15\xc7\x0a\xc1\x9a\xb6\x0f\xbe\x96\xbc\x0f\xc0\x23\xe3\x8f\x4e\x9a\xa7\x72\x4f\x08\x78\x89\x64\xf2\xac\x61\x75\x8c\x2a\x6a\x20\xec\xcf\x70\x54\xf6\x4f\x18\x45\xfb\xfb\x23\x48\x63\x3a\x68\x5c\x12\xe6\x44\xfa\x54\x37\x62\x1d\xd6\x29\x61\xb0\xb0\x9a\xe5\x9b\x65\xc4\x29\xc9\xa5\x63\x36\x73\xd4\x70\x9a\x57\x07\x27\x81\x87\xd3\x13\xe6\x8a\xc3\xdb\xcc\x7e\x38\x4a\x5b\xad\x13\x66\x95\x28\xd1\x60\xad\x7c\x86\xd1\x72\x6c\x78\xea\xe5\xb3\xd8\x79\xf4\x92\x1f\xc7\x5d\x2b\x69\xf9\xa7\xb6\x43\x44\xa2\xbc\x43\xc4\x8a\xbd\x57\x70\x23\x31\x7d\x32\xaa\x0f\x29\x2d\xee\x7c\x56\xb8\xca\x8c\xcc\x6d\x45\x30\x4e\x00\xa5\xd3\xfd\xfd\xc6\x53\x36\x72\xab\x0f\x64\xaa\xa8\xa6\x1d\xa1\x54\x2f\xdf\xf2\x32\x49\x57\x8e\x3b\x34\x7d\x35\xcc\x2a\xb6\x5a\x35\x28\x3f\x55\x27\x65\xd1\xc0\x06\xcb\x95\x5d\xd7\xe5\xdd\x27\x4a\xd6\x64\x44\xeb\x1c\xa8\xa8\x3c\xa1\x09\x4e\xc4\x96\xe3\xfa\xdd\xd3\x80\xe9\xd6\x0a\xd8\xbe\xef\xe2\x44\xbf\xb7\x02\xb5\xb7\xf2\xe3\xd3\x7c\xe0\xff\x18\x10\xbd\x99\xe4\x81\x13\xa8\xf5\xc9\xd3\xf5\xbb\x9f\x76\x6d\x55\x29\x9d\x00\xfd\xc0\x59\xdd\xc6\x10\x29\x64\x85\xb9\xdd\x0f\x46\x5f\x38\x9f\x9e\x88\x43\xe9\xd9\xd6\xdd\x6e\xab\xb6\x4d\xc0\xd2\xb1\x35\x44\x92\x13\x13\x57\x58\x33\x56\xd4\xb0\x16\xb4\xb9\x1a\xf2\xd4\x0c\x7e\x9e\x2c\x0a\x11\x9f\x27\x8b\xa0\xb8\xb8\x79\x1d\x7e\x2c\x94\xa9\x9d\xd7\x8c\xcc\xbd\xea\x85\x72\x41\xb1\x92\x7e\x27\x7b\xb8\x55\x0d\xce\xdd\xd2\x49\x58\xb0\x24\x0b\x2f\xb8\x92\x07\x07\xe6\x8a\xc1\x90\x92\x1b\x9e\x8e\xeb\x5a\x92\x49\x79\x9c\xe0\x7e\x8b\x49\xe0\xb9\x23\x49\x08\x4e\xc6\x11\x69\x05\x45\x09\x6b\x1d\x62\xe5\xba\x66\x19\xc1\x9e\x67\xe3\xa8\x8a\xaa\xc4\x50\xf9\xad\x0b\x86\x73\x47\x7b\x79\x56\xfb\xfb\x64\xd6\x6c\x92\xa7\xde\x48\xaf\x3c\x90\xa7\xb9\x8c\x3d\xd5\x4f\xfb\xfe\x90\x9c\x78\xa7\xde\xb0\xa0\x85\x24\xe4\x23\xfb\x36\x05\xb7\x5a\x50\xb0\x41\x81\x6f\x89\x00\x1c\x72\xfa\x3a\xba\xbc\x2a\x2a\xdf\x86\xc7\x43\x2e\xcc\x4d\x79\x02\xf2\x9c\xe6\xce\x20\x91\xec\x08\xfa\xd8\x54\xc7\x95\x83\x49\xa1\xa5\x5a\x2e\x85\xb3\x07\xa5\x6b\x95\xe9\x21\x51\x56\x15\xc2\x8c\xbc\x24\xcb\x6f\x8d\xdc\x03\x88\x71\xdc\x49\xab\x35\x22\x7c\x64\x7b\x34\x56\xb0\xca\x57\x50\x60\x6c\x67\xba\xcd\x26\x7f\xcf\x97\x51\x09\x0c\x77\x4a\xba\x54\x23\x2e\x92\x58\x1e\x75\xd2\x05\xd2\x37\x44\xb3\x3e\xc3\xdf\x3a\xe6\x3f\xf0\x46\xb9\x67\x8e\xaf\xa8\x0e\x9b\x57\x89\xe1\xfe\xf9\xc0\x29\xda\xbb\x84\x60\xbd\xb7\x5d\x55\xbb\x45\x09\x29\x9b\x88\x39\xc3\x39\x1e\x2e\x0a\x1f\x8d\x4d\x65\x7b\x4f\xa5\xa4\x30\x1a\x72\x58\xad\xbb\x4c\x67\x70\xe8\x2a\x9c\xdc\xd1\x6c\x3a\x51\x3b\xca\x7e\x44\x43\x58\xce\x63\xee\x28\x35\xd8\x31\x6d\xb5\xdc\x68\x9a\xce\x02\xaa\xfa\x4f\x54\x68\xec\xab\xca\x7b\x65\x4e\xeb\x78\x6a\x58\xa5\x4e\x15\x9c\xaa\xb2\xaa\x2c\xe1\xd0\x67\xd1\xc3\xe5\xb9\xac\x2d\x84\xdc\x36\x1c\x73\xf1\xc5\xb2\xe4\x84\x52\xf2\x7c\x56\x04\x56\x9e\x6b\xe6\x39\xaa\xda\x75\xf3\xd1\x4b\xae\x46\x73\xcb\x1b\x26\x8a\x4b\x85\x02\x81\xb7\x11\x8b\xab\x5a\x19\x52\x32\x0e\x44\xa5\x56\x86\x2a\x99\xfd\xa7\x25\xf9\xfe\x69\x69\xd8\xd6\xc3\xbf\xf2\x48\x15\x40\xc7\xcd\x75\x01\xdd\x96\xb2\x2a\x1f\xf7\xf7\x8b\xaa\xfa\x0d\x81\x03\x77\x0b\xa5\xca\x4e\x53\xf4\x8c\x3d\x35\xf5\x28\xd0\x68\xd4\x31\x2c\x4a\x13\xc9\x49\x69\x76\x11\x6d\x6f\xe6\x3d\xbd\x26\x7e\xde\xe7\xf6\xbc\xef\xc8\x19\x56\x76\x84\xbb\x72\xdd\xad\x69\x95\x02\x8b\x08\xe5\x4b\x6b\xda\x16\x0c\x94\xf4\xbc\x9f\x18\xee\x7e\x95\x13\x22\xca\x19\xba\xe2\x1c\xc0\x51\x94\xdf\xd6\x63\x95\xa1\x8f\x0e\xac\xf4\x90\xc2\x75\xf9\x05\xec\x61\x6d\xad\xfe\x84\x4f\x8b\x3c\x5c\x47\xa8\xa0\x0f\x0c\xb1\x82\x99\xca\xba\xc2\x75\xc8\xe6\x57\xc2\x76\x8f\xb1\x3a\x68\x9d\x2b\x25\xf9\x71\xed\x05\x07\x1f\x61\xb9\xe9\x8e\x0e\x27\x9a\xae\xd2\x5b\xa7\xeb\x3d\x71\xc8\x7e\xe4\xe2\x8e\xdb\xd2\x81\xfd\xe3\x27\x0e\xdb\x4f\xed\x40\xdf\x7f\xe2\xd0\xfd\x8c\x07\x72\x64\xcc\x33\xcb\x03\xfb\x08\x73\x1c\xb5\xa3\xe4\x8a\xd0\x88\x65\x41\x82\xa3\x76\x9a\x04\x29\xff\x59\x2e\x83\x0c\xab\xcb\x94\x6a\xb6\x0f\x98\x27\x31\x6f\x36\xe6\xb6\x47\x0a\xdb\x2e\x26\x62\xc2\x1b\x8e\x51\xcc\x58\xba\xfa\x92\xa6\xab\xf0\x32\x94\x5b\x92\xf7\xfc\x2d\x26\xea\x92\xae\x20\xda\x96\x0e\x5f\xb6\xae\x94\xfa\x56\xe7\xc9\x47\x35\xbb\x68\x65\xb3\xa9\xcd\x21\xe6\xcb\x66\x73\xbf\xdd\x1a\x15\xd1\x9b\xc3\x8b\x7b\x28\xcc\x44\x30\xd7\x68\xbf\x6f\x36\xea\x18\x98\x3c\x4c\xef\xfa\xc4\x56\xce\xcb\x65\x0d\x7d\xf3\x94\x6e\xe1\xaa\x8b\x1c\x82\xa3\x80\x5a\xf6\xb6\xbc\x65\x8d\x8b\xa9\xcd\x06\xee\x58\x8b\xe5\xc6\x7c\x73\x6b\x2a\xb8\x5a\x68\xef\xdb\x08\xfb\x05\xa4\x84\xe9\x35\x8e\x63\xb5\xab\xbf\xc2\xbb\x3b\x47\xa2\xd9\x5c\x90\x98\x30\xe9\x23\x9a\x87\x17\x2a\x5a\xe4\xf4\xc2\x45\x13\xa2\xc5\x1e\x37\x2b\x63\xfa\x05\xa5\xcb\x25\x5c\xce\x86\x99\x31\x23\x83\xf3\xad\xa8\x34\xa7\x00\xd3\x87\x20\xf0\x04\x36\x7a\x7c\x08\x2a\xa9\xd5\x62\x7e\x11\x8e\x67\xf7\x47\xf4\x44\x63\xa0\x48\x0e\xdb\x64\xa6\x74\xdf\x9f\x05\xf9\x95\x60\x74\x36\xda\xd1\x84\x51\xa9\x09\xc5\x79\xef\x91\xca\x53\xa9\x18\x66\x6d\x8a\x4c\x13\x57\x36\x8b\x49\x15\x9b\x15\xb7\x98\x6c\xc1\x85\xda\x12\x05\xdf\x79\xa7\xb3\x6e\xff\x23\xed\xcf\xbf\x7a\x19\xa0\x77\x1e\xc2\xa4\xfd\xe6\x8b\xcf\x02\xf4\xcf\xc1\xd3\xdb\x1f\x07\xe8\x9f\xe7\x4f\xcf\xf9\xd3\xbf\x00\x4f\x5f\xbc\x0d\xd0\xbf\x08\x4f\x9f\xff\x7e\x80\xfe\x25\xfe\x34\x3e\xfb\x41\x80\xfe\x65\xfe\xf4\xec\xf9\xcb\x00\xfd\x2b\xf0\xf4\x26\x40\xef\x2e\xf8\xd3\x67\x6f\x03\xf4\x0e\x0e\x0b\x7c\x79\x1e\xa0\x77\x09\x7f\xfa\x21\x0f\xbb\xe1\x4f\xe7\x3c\x6c\xc9\x9f\xce\x5e\x07\xe8\x1d\x15\x18\x04\xe8\x5f\x85\x87\x17\x01\xfa\xd7\xf8\xc3\xe4\xe5\xf3\x00\xfd\xeb\xf0\x74\xe6\x07\xe8\xdf\x10\x4f\x9d\x00\xfd\x9b\xe2\xa9\x1b\xa0\x7f\x4b\x3c\xf5\x02\xf4\x6f\xf3\xa7\xcf\xc7\x3f\x08\xd0\xbf\x03\x99\xfc\xe4\xf3\x00\xfd\xbb\xa2\x16\xcf\x02\xf4\xef\x41\x59\xe3\xcf\x03\xf4\xef\x43\xd8\xab\x00\xfd\x07\x10\xed\xab\x67\x01\xfa\x0f\x21\xe8\xcd\x59\x80\xfe\x23\x40\xee\x4d\x80\xfe\x63\xfe\xf0\xfd\x37\x01\xfa\x4f\xf8\xc3\xeb\x37\x01\xfa\x4f\xf9\xc3\x57\x6f\x02\xf4\x9f\x41\xba\x2f\x03\xae\x09\x92\xf6\x84\xd7\xfd\x3f\x47\x5b\x87\xb5\xcf\x3c\xf0\x85\x38\xf3\x82\xfb\x2d\x57\xae\xbe\xd3\xa6\xc3\xac\x7d\xf6\xd9\xf8\xf5\x9b\xe7\x6f\xdf\xc0\x66\xb9\xf6\xe4\xf9\xf9\xf8\xab\x97\x6f\xdf\xcb\xd0\x20\x87\xb7\x9f\x19\x91\xa7\xde\x2c\xb8\x47\x3f\x43\x43\xf4\xeb\xff\xee\x6f\x21\x1c\x0e\xd1\xaf\xff\xee\x7f\x8b\xf0\xc5\x10\x5a\x67\x3e\x84\x66\x58\x0c\x45\x1b\x0c\xa1\xa1\x96\x43\xf4\x97\xff\x08\xe1\xcb\x21\xfa\xcb\x7f\x8c\xf0\xd5\x10\xfd\xfa\x6f\xff\x11\xc2\xd1\x10\xda\xee\xe7\x43\xf4\xeb\xbf\xf3\xf7\x10\xfe\xc0\x7f\xff\x36\xc2\x31\xff\xfd\xaf\x10\xbe\xe6\xbf\x7f\x07\xe1\x84\xff\xfe\x05\xc2\xe9\x10\xfd\xfa\xbf\xfe\xbf\x11\x5e\xf1\xdf\x3f\x47\xf8\x17\x3c\xfc\x6f\x20\x4c\xf9\xfb\x5f\x20\x9c\xf1\xdf\x7f\x82\x30\xe3\xe1\x7f\x88\xf0\x9a\xff\xfe\x11\xc2\x37\xfc\xf7\xcf\x10\xbe\xe5\xbf\xff\x10\xe1\x8f\xfc\xf7\xbf\x40\xf8\x6e\x88\x7e\xfd\x07\x7f\x84\xf0\x2f\xf9\xef\x3f\x40\x18\xdd\xa3\x21\xfa\xff\xfe\x06\xc2\x68\xc3\xeb\xf6\x07\x7f\x1f\x61\xb4\x45\x43\xf4\x97\xff\x13\xc2\xe8\x57\xfc\xe1\xff\x40\x5b\x83\x0e\xed\x71\x70\x8f\x3e\x11\x11\xac\xf0\x67\x72\x0a\x28\xa7\x58\x6f\x96\x47\xc5\xe8\xf7\xf8\xc3\xff\x83\x30\x9a\xa2\x21\x8a\x7e\x8e\x30\x7a\xf7\x8e\x07\xfd\x13\x84\xd1\x0c\x0d\xd1\x46\xe2\xf2\x97\x7f\x22\x71\x59\x2a\x4c\xfe\x42\x61\xf2\x67\x76\x89\x67\x46\x5b\x4d\xfb\xbc\x30\x9e\xf5\xd7\x7f\x53\x65\xfd\xf5\xdf\x95\x59\x7f\xfd\x5f\x22\x8c\x7e\xca\x1f\xfe\x10\x61\x68\xc3\xaf\xff\x54\x96\xf6\xf5\x1f\xc9\xd2\xbe\xfe\xdf\x65\x71\x5f\xff\x03\x59\xdc\xd7\x7f\x61\x17\xf7\xba\x58\x9b\xaf\xff\xbe\xac\x0d\x6f\x65\x59\xe4\x1f\xcb\x22\xff\xf2\x8f\x55\x01\x7f\xaa\x0a\xf8\xbf\x54\x01\x7f\xa2\xea\xf3\x27\x76\x01\xbf\x1f\xdc\xdb\xf9\x7e\xfd\x3f\x96\xf2\xfd\xfa\x7f\x51\x55\xf9\x5f\x55\x55\xfe\xec\xe1\x92\xbe\xfe\x73\xbb\xa4\x1f\xc8\x92\x00\xcb\x3a\xa2\xfd\x61\x3d\x89\x54\x8b\x7c\xfd\xdf\xdb\xf9\xfe\xa4\xd4\xe0\x7f\x5c\x4f\x22\xc0\xf7\x67\x0a\xdf\x7b\x55\x71\x28\xe9\x7f\x2b\xd5\xe0\x1f\xda\x25\x3d\x37\xdb\x7e\x30\x53\x94\xfb\x9b\xaa\x3e\x7f\x4b\x17\xf7\xf7\xea\x99\xe0\x8f\x54\xb9\xff\xb3\x2a\xf7\xff\x7c\x88\x09\xfe\x7a\x7d\x0d\xff\x07\x5d\xe4\x7f\xa3\x98\xe0\xff\x55\x3c\xfd\x8f\x54\x01\xff\x58\x15\xf0\xc7\x76\xbe\x9f\x99\xf5\x39\xd4\xf5\xf9\x83\x1d\xed\xf3\x5d\x30\xf5\x14\x05\x48\xf5\x52\x68\x06\x9b\xff\xfe\x74\x37\xff\xbd\x97\x0d\x64\xb3\xe1\x0e\x76\xf9\x73\xb4\x2d\x8b\xf3\x83\x27\x4f\x7e\xa7\xf1\xa4\xf1\xe2\x7a\x25\xcd\x49\x38\xcc\x48\x6e\x60\xb8\x26\xec\x2a\x5d\xe0\x06\xbb\x0a\xd5\xa6\x06\x22\x22\xa8\x39\xe3\x06\x4b\x1b\x61\xe3\x47\xe4\xe2\x4d\x3a\xff\x40\x18\x1f\x18\x48\x78\xdd\xe6\x59\xfe\xde\x35\xc8\x7f\x71\x44\xd1\x41\xb8\x58\xa4\x49\x76\x20\x32\x91\x3f\x10\x8b\x2b\x5e\x49\x46\x1a\xaf\x5e\xbc\xfd\x9d\xc6\x93\x83\xdf\xd9\xb3\xcf\x8c\x55\x9a\x3b\x73\xa8\xe3\xb9\x85\xab\x4d\xac\xb1\x48\xba\xff\x1a\x57\xd4\x8a\x52\x4a\x66\x8f\x7b\x4f\x03\x7d\xaa\x13\xdd\x6c\x28\x37\x1c\x00\xfd\x80\x61\xd2\x7e\xbf\x8c\xd7\xd9\x95\xbc\x8c\xce\x5a\x2e\x95\xbb\x8b\xda\xef\x45\xc6\xa2\xca\x22\x22\x37\x3e\x2a\x82\x85\x54\x86\x99\x39\xb5\x00\x5b\x19\x8f\x03\xeb\xf2\x00\x18\x64\xc4\x95\xb3\xf7\x5c\xbb\x7f\x9b\x16\xd1\x03\x5a\x55\x24\x3e\xad\x0c\x6d\x05\x6c\x58\x8d\x48\xc0\xcc\xc5\x62\x9b\x18\xd8\xe7\x0d\xc0\x71\xb8\x24\xec\x15\xc9\xb2\xd0\x9c\x8f\xe7\x16\xc5\x69\x01\x3f\x87\xb5\x17\x21\x0b\xdd\xa1\xa2\x9d\x7c\x87\x4c\x32\x92\x2c\x26\x21\x0b\x6d\x95\x5f\xec\x96\x23\x70\x1d\x70\xf9\xcc\xaf\x6b\x51\x2a\xb2\x91\x70\x31\x6d\x36\x89\x75\xef\xa8\xce\xdd\xad\xcc\x67\x1e\xa7\x19\xe4\xb2\x20\x9c\x02\xf2\x44\x63\xcc\xdc\xea\xe8\xb0\x10\x5b\x19\x1d\x2e\x72\x26\x25\x36\xe3\xad\xc1\x0d\x86\x2a\x7c\x1c\x96\x73\x1f\x3b\x55\xac\x37\x64\x6e\xb3\xc9\x2a\xaf\xd0\xab\xad\xb5\x34\x87\x54\x16\xb6\xee\x5e\x66\x7e\xc1\xfa\x76\xe7\x90\x1e\x17\x00\xb3\xd3\x97\x6a\x65\xa4\x15\x30\xe5\xad\xb1\xc5\x6c\x5b\xa1\x28\x4a\xc9\x72\x1e\xb1\x5c\x5a\xcc\xd3\x78\x7d\x9d\x64\xb0\x55\x0e\x0e\xb1\x62\x29\x88\x93\x45\x74\x4d\x92\x2c\x4a\x93\xac\x91\x2e\x1b\x11\xcb\x1a\x93\x2f\x5e\xe9\xd3\x8e\x7f\xa7\x01\x39\x7d\xf2\x49\x63\xbc\x5a\xd1\x54\x4a\x8e\xfd\xc6\xeb\xf4\x36\x1b\x36\xde\xd2\x75\x32\x0f\xc1\x2c\xe4\x19\xdd\x44\x19\x5c\x7e\xb8\xb4\xe5\x94\x7d\x80\x72\x43\x1c\x8e\xd5\xb8\xb8\xb3\x63\xd1\xf4\x56\x82\x54\xa1\xfb\x8d\x33\x81\xf3\xb7\x2c\x08\x0e\xef\x2a\x95\x33\xbf\x0a\x69\x38\x67\x84\xf2\x22\x44\x14\x07\xec\xb0\xc6\x22\xca\x56\x71\x78\x37\x6c\x44\x49\x1c\x25\x5c\x12\x97\x31\xe4\xd4\x63\x0a\x19\x4e\x2c\x91\x03\x1c\x08\xc7\x23\xcb\xfb\x45\x79\xde\xf9\xcd\x3c\x92\xf4\x6e\xbd\x6c\x5e\x46\x8c\x7f\x7e\x63\xa9\x5c\x16\xc4\x2b\x9a\xae\xd2\x8c\x7c\x5f\xad\x4d\x16\xb7\xd5\x91\xc2\xc1\x16\xea\xa4\x4b\x75\x61\xf7\x3a\x8e\x47\xd6\x91\x40\x81\xbc\x3a\xef\x92\xb0\xb3\xf4\x7a\xb5\x66\x64\x01\x47\xb4\x39\x75\x39\xe1\x24\xbf\xdf\x0c\x96\x37\x94\xb1\xf2\x43\x6e\x9b\x38\x48\x34\x3a\x72\x5d\x1c\xe6\x77\xfb\x78\x78\x67\x9a\x5b\xb9\x86\xb7\xef\x1f\xba\x38\x7e\x18\x25\x17\x5f\x05\xc9\xbe\xa3\xf3\x8c\x2b\xf2\x5c\x85\x8b\x45\x94\x5c\xee\xb3\x74\x85\x5c\xb7\xf5\xa8\xb8\x17\x30\xd9\x8a\x5c\xd7\xc5\xf3\x20\x7c\x64\x01\x54\xd6\xf7\x71\x45\xc4\x64\xc9\xa0\x80\x75\xe0\x10\xfb\x00\x35\xfb\xb5\xbd\x8c\x68\xa6\xa8\x0e\x6b\xea\x2e\x5e\x05\x6b\xb1\xd9\xf7\xb3\xb7\xaf\x5e\x2a\xa6\x58\x4b\xa7\x23\xc9\xef\x01\x12\xfc\x8e\xb0\x11\x37\x40\x3f\x42\x38\x0a\xd6\x1c\xb1\x67\xe9\x3a\xe1\xa8\x9c\xc5\x11\x49\xd8\x6b\x38\x6d\x52\x9c\x8c\x87\x4b\x59\x21\xcc\x76\x24\x12\x4d\x6d\x95\xb3\xc2\x34\x67\x8f\xab\x03\xe6\xe2\x34\x7f\x9f\x1f\x44\x2e\x16\xd7\xb6\xa7\x62\x59\x9c\x6e\xb9\xd8\x5f\x16\x26\x72\xe4\xc4\x59\x91\xd9\x61\xfb\x17\x1f\x9e\xc4\x7a\xbb\x43\xc5\x9a\x3c\x15\x5e\x31\xb6\xcc\xad\xed\x27\x86\xec\x2d\x66\xcf\x85\x70\x21\x1b\x0b\x33\x23\xe9\x32\x62\x2a\xfa\x4e\x89\xbd\x8e\x63\x71\x2b\x5e\x03\x24\x43\x63\x99\x52\x7d\xd0\x64\xbd\xf4\xd0\xa9\x8c\xc7\xdf\x82\x2c\x11\x97\x15\x71\x1c\xdf\x40\x11\x55\x6b\x72\x23\x6a\x0f\xb1\xe5\x43\xe1\xe7\x82\x61\x33\x07\xe5\xc8\x22\xf7\x14\x89\xf1\x17\x0d\x51\xb8\x58\xa0\x21\x3b\x15\xbf\x2a\xb8\xea\xde\x9a\x29\x9d\xd9\x99\xd8\x6d\x91\xa3\x9b\x15\xd1\xe5\xda\x4e\xb1\x36\x8f\x1b\x53\xdf\x5e\x45\x59\x43\x36\xc2\x8a\xa6\x37\xd1\x82\x64\x52\x59\xcf\xa0\xb5\xc4\xe0\x1e\x25\x97\x8d\xb0\xa0\xaa\xcb\xb7\x45\x5a\xa9\xb4\xd7\xb6\xae\x4e\x96\x3f\xfd\xb6\xb5\x77\x5d\xd0\xf8\x9f\xa9\xf1\x7f\xa5\x6a\xbc\x10\x64\x7f\xed\xcd\x17\x9f\xab\xe3\x24\x84\xd6\x3e\x42\x19\x5b\xa4\x6b\x86\x82\x80\x4e\xbd\x59\xb3\xe9\x94\x15\x7e\x3a\xf5\x67\xb9\xba\x0f\x6f\x0f\x6b\xfb\x50\x94\xb8\x6d\x34\x5a\xde\x39\x53\x5e\x4e\x94\x20\x4c\xf2\xc4\xec\x8d\xed\xd7\xb8\x23\x2d\x61\xef\x85\x63\x13\x11\xeb\x87\x04\x04\xee\xcc\xfd\x0e\x4d\x0a\x75\xcb\x89\x2a\x47\x21\xf8\x80\xb1\xa1\x39\x7a\xf2\xcd\xac\x8e\xfa\x74\xbc\x4a\x05\xe8\x3f\x6d\x76\xc8\x8e\x6e\x6c\x1b\x24\x85\x88\xf5\x96\x49\x7d\x85\xab\x72\x9b\x3c\xc6\x56\xf9\x2e\x16\x01\xa9\xd3\xed\x71\xc5\xc1\xb8\xf0\x59\x9f\x7a\x9c\x84\x37\xd1\x65\xc8\x52\x8a\xb3\x20\x3d\x45\x49\xba\x20\x68\xa8\x03\xe1\x48\xa6\xf1\x25\x49\x18\x4e\xaa\xc0\xab\x38\x64\xcb\x94\x5e\x8f\x58\x7e\x27\x57\xb0\xb7\xf7\xab\x4c\xbb\x61\x20\x19\x8a\x38\x27\x89\xd3\x2b\x0b\x11\x78\x10\x72\x37\x1b\x3b\xf4\x2d\x8d\x16\x24\x61\x2a\x59\x38\x87\xeb\x81\xe5\xd0\x38\x45\xaf\xc2\x79\x94\xb0\x34\xbb\x42\x98\x3f\xbf\x48\x18\x89\xc5\xe3\x97\x5f\x9e\x89\x87\xc1\xd1\x0f\xd0\x0c\x27\x22\x83\x17\xab\x70\x11\xa0\xe8\xcb\x90\x57\x3d\x48\x64\xd8\x55\x9a\x10\x1e\xca\x7f\xf3\x70\x7d\xbd\xba\x5d\xa4\x0c\x44\x98\x3f\xf9\x03\xf1\xdb\xed\x88\xdf\xb3\xe7\x79\x59\x70\x79\x57\x90\xe4\x75\x81\x00\xe4\x3e\x0d\xbc\x07\xda\xb7\xe2\x30\x5c\xb5\xf3\x61\x15\x5e\x92\x1f\x5b\x66\x87\x71\x64\x9d\x80\xc2\xb1\x9b\xfc\xe9\x27\x23\xd6\x6c\xb2\xbd\x20\xc8\x48\xbc\xcc\x6f\xb9\x51\x0f\x52\x07\x1e\xb9\x74\x3f\x60\xbc\x13\x66\x84\xbd\x24\x4b\x86\xa3\xfc\xfd\x6d\xba\xc2\x2c\x40\xe2\xe5\x4b\x30\x58\x50\x94\x34\xd8\xa9\x8a\x20\xc2\x86\x05\x6b\x46\x8e\x91\x53\x8a\xa3\x59\xf9\xba\x7f\x70\xc7\x16\x52\x3c\x0c\x44\x15\xd5\xa0\x1a\x4e\xbd\x99\x30\x6f\xe6\x24\x8a\x1d\x87\xbf\xb7\x9c\xe4\x94\x0a\x4d\xfa\xa0\x33\xf4\x5c\xf7\x40\xbe\xb9\x38\x9c\xfa\x66\x74\xfe\x7a\x40\xa5\xfe\xcc\xa1\x2a\xb3\xeb\x28\x71\xb4\xd1\xc4\x83\xb1\xef\xe2\xb4\xe5\x9b\x39\x14\xe2\xf8\x10\x27\x83\x38\xdf\xf8\x16\x77\xcc\x84\x95\x95\xd2\x45\xf6\x9a\xc4\x21\x8b\x6e\xc8\xdb\x54\x5d\xb9\x10\x99\xe0\x20\x15\x6f\xd6\x29\xd0\x65\x47\x88\x4c\x9d\xed\x9e\x1a\x41\x38\x0c\x12\x5e\x99\x38\x48\xa6\xfe\x4c\xd3\x10\xce\x83\x8e\xe1\xfb\xfe\xe3\x30\xc4\x77\xc3\x78\x5b\x31\xb1\xfa\xdd\x88\x14\x1f\x44\x4a\xed\x29\xdd\xc2\xab\x29\x26\xd7\x01\xc1\x51\xfb\x0a\x74\x74\xb9\x01\xf0\x0d\x4b\x29\x1f\xd9\x13\x72\xdb\x88\xda\x71\x74\xd1\x96\x21\xed\x57\xe4\x3a\xa5\x77\x58\x3b\x75\xc9\x28\x22\xb5\x3a\x8c\x26\x07\x0b\xb3\x90\x2c\x33\xc7\x05\xf7\x21\xc4\x87\x90\x7d\x92\xcc\x53\x6e\x5a\x21\x8c\x68\x78\x9b\x5f\x6f\x02\x08\xcc\x53\x1a\x32\x92\x1f\x47\xa9\xce\xd5\x97\x0e\xf4\x10\x2b\x92\x77\xb6\x9b\x29\xa3\x24\x63\x61\x1c\xff\x80\xdc\x5d\xa4\x21\x5d\x38\x6e\x95\x8f\x44\x94\x2c\xd3\xb2\x79\x73\x2f\xe7\x37\x86\xca\x39\x88\xbf\x48\x2f\x66\xe5\x87\xb3\x2d\x78\x0a\xac\xd9\x6a\x6d\xdb\x70\xc2\xf5\xd7\x44\x52\xba\x6f\x29\x94\x41\xaf\xf9\xea\xed\xb9\x3f\x80\x39\x4a\x52\x38\x9d\xb2\xa4\x4e\xe5\x4e\x1c\x72\xf0\x0c\x08\x66\x4f\xbd\x53\x2b\x53\x9e\xf2\x8b\x1b\x42\xe3\xf0\x0e\x12\x0c\x77\x40\xe5\xed\xa5\x65\x2f\x8a\x52\xd1\xca\x6b\xa8\x22\x1b\x13\x21\xec\x15\xeb\x41\x98\x10\xc2\x35\x4e\x74\x90\xa1\x1d\xa9\x4c\x0b\xc1\x32\x84\x92\x64\x4e\x2a\xf6\xb9\x89\xdd\x4b\xf6\x1d\xe4\xfa\xc2\x73\xf3\x28\x61\x56\xc9\x82\x14\x93\x29\x9d\xc1\x01\xae\xb6\xeb\xc7\x8b\xa4\xd8\xa2\x92\xf1\xda\x69\xf2\xc3\xb7\x3f\x20\x77\x19\xa3\xe9\x07\x5b\xdd\x05\x57\x5a\xc5\xa0\xa0\x54\x8a\x8d\x67\xe5\x48\xc5\xd2\x5e\x17\x77\xdb\x94\x77\x8a\x41\xc9\xaa\x4f\x15\xe3\x83\xfe\xc3\x14\xb3\x06\x14\x33\xe1\xfb\x16\x61\x02\xb0\x6d\x71\x46\x16\xee\x6a\x0c\x59\xb9\x91\x4b\x15\xcc\x37\x04\xd8\x75\xb2\xc2\x4b\x98\xe5\x50\xa0\xfa\x3a\x29\x77\xc8\x02\xe7\x55\xf9\xf1\x59\xfc\xf8\x40\xff\xb6\xb2\x03\x45\xb9\x9a\x81\xab\x51\x11\xce\x26\x9f\x81\x10\x4b\xff\x2a\x5d\xbb\xf2\x6e\xbd\xa6\x7a\x63\x29\x54\x44\x38\x28\x56\xc9\x2d\x71\x11\x50\xc5\xc4\x0c\x17\xbf\xf2\xca\x8d\x35\x8d\x0b\x79\xe5\xd5\x3c\x4b\x93\x44\x1c\xc7\x74\x1e\xce\x59\x4a\xef\x82\x68\x24\x2e\x3e\x7f\x08\xc7\x8b\x50\xde\xec\xa3\x4d\x7e\x71\x9c\x6f\x95\x03\x9a\x75\xc1\xa1\x7b\xff\x98\x06\xe2\xd9\x0b\x50\xb1\x41\x4b\x1b\x29\xf3\xf8\x7a\x99\xc7\x12\xed\xd9\x17\x85\xf2\x4d\x5f\x23\x48\x47\x49\xb8\xb8\x13\x87\xfa\x06\xba\x3a\xed\xb3\x2f\x3e\xff\xfc\xf9\xd9\xdb\x17\x9f\x7f\x5f\x9e\x39\xba\x23\xee\x17\x5f\x3e\xff\xbc\xd8\x93\xed\x62\x2d\x44\xd3\xc4\xa6\x09\x08\x83\x2a\x59\x30\x27\xd1\x4d\x85\xb8\x94\x99\x5c\x57\x18\xda\xf9\x7a\x58\x31\xb7\x33\x9b\xd0\x85\xbc\x0a\xcd\x90\x63\x54\x64\x94\xef\xbc\x53\x60\x66\x70\xf9\x14\xdd\x92\x0b\xc6\xee\xd0\x0c\xb3\xf6\x75\x76\x09\xc2\xf7\xab\xe4\x43\x92\xde\x26\x01\xf2\x90\x11\x1a\x20\x5f\xbe\x7e\xc9\xa5\x10\xea\xc8\x37\x21\x77\x94\x14\x0a\x50\x57\x86\xcb\x5c\xbe\x10\x23\xb4\xce\x4b\xbd\xeb\xcc\x52\x33\xb3\x37\xf6\xc0\xa5\x33\x7b\x63\x0f\x46\xa8\x97\x87\xbf\x26\x73\x41\x2c\xb8\xa0\xe2\x81\x1e\x2f\xec\xd5\x5c\x6d\x52\xbe\xc0\xa5\x7e\x29\xfd\xff\x42\x7a\x09\x42\x1d\x9e\xd7\xec\xea\x6d\xfa\x81\x24\x5c\x3d\x15\x42\x52\x95\xbc\xef\x3f\xa6\x23\x82\xa7\x33\xc7\x40\x9c\xc1\xaf\xb7\x4c\x16\xca\x96\x52\xc6\x71\xb1\x75\x99\x4d\x2a\x79\xdc\x29\xe4\x48\x83\x48\x49\xe6\x65\xea\xb8\xa3\xb4\x72\x52\xe5\x7e\xac\x9c\x0e\x87\x11\xd4\x0a\x8f\x55\x75\x78\x80\x7a\xde\xba\x42\x68\x5a\xfa\x35\xe5\x85\x43\xa6\x15\x0d\xde\x2a\x16\xa4\x94\x38\xa2\x26\xda\x5d\x77\x3b\x92\x28\xaa\xf1\xd6\xc9\x5c\x9c\x89\x69\x74\xa1\xe3\x89\x99\x74\xac\xa3\x01\xc7\x59\x33\x8d\x26\x06\x00\x6d\xc1\xd1\xf2\xa4\xee\x92\x7c\x33\x3e\x67\x58\x77\x8b\xbb\xa4\x07\xa7\xd1\xe7\x5d\xbd\x34\x4f\x0d\x07\x8a\x81\xa7\xab\xef\xea\x73\xc2\xa6\xde\x4c\x1e\x11\x66\x70\xf0\x50\xe1\x0a\x6f\x0e\x57\x98\x17\xe4\xab\xd7\x2f\xe0\xe6\xba\x84\x24\xcc\x29\xfa\xa7\x5e\x87\x2b\xe9\x9d\xca\xd2\x0b\x87\xba\xb8\x3c\xe9\x81\x7e\x17\xb5\x1c\xe4\x79\xa8\x95\x6f\xca\x1f\x33\xc7\x73\xdb\x2c\x15\xa3\xbf\xe3\x0f\x5c\x57\xa2\xb8\xdf\x71\xb7\x6e\xfb\xe7\x69\x94\x38\x08\xb9\xae\x75\xd0\x91\xee\x5b\xc3\x62\xa0\xdd\xc5\x54\x35\x0a\xca\x20\x2d\x67\x66\x77\xc1\xa1\x18\xb6\x8c\x19\x46\xea\x8e\xf2\xbc\x8c\x98\x4e\x5a\x99\x97\xee\xb6\x43\xc1\x6f\x76\x4e\xc6\x0e\x70\x07\x3d\x4f\xc2\x8b\x38\x4a\x2e\x1b\xba\xc3\x0d\x1b\xa8\x95\xb5\x50\x23\xe3\x01\x8b\x0c\x71\xce\xc9\x7b\x63\xb6\x95\xad\x0c\x22\xd8\x64\x0a\x98\xfe\xd5\xdc\x42\x34\xc3\xe5\x6a\x99\xa3\xc3\x0c\x5b\xc0\x41\xb9\x3c\x6e\x40\xa6\x0b\xb8\x1e\xd6\x28\xf4\xa9\xd7\x6c\x3a\x34\xa8\xde\xa5\x9f\x8a\xf9\x91\xba\x6e\x2e\x0b\x04\x4d\x8c\xf7\x7a\x3e\x04\xfb\xa4\xfb\xc4\xc8\xde\x95\x8c\x0b\x17\x8f\xe9\x09\xf6\xcc\x71\x71\xb1\x76\xaa\x78\xca\xe3\xab\x11\x5d\x8f\x2b\x3f\x22\x17\x6f\xdf\xfe\xe4\xb7\xe5\x43\x4f\x1d\x8f\x33\x81\xbe\xd6\xcb\x41\xcb\x88\x21\x77\xb7\x8a\x53\x56\xb8\xa5\x31\x5c\x30\x6e\xb1\x6d\x82\x15\xee\x47\xae\xbf\x99\x52\xa6\x10\xab\x3d\x9f\x87\xd7\x24\x90\x57\x8e\xa6\xc2\x92\x42\x56\x34\x49\xbe\xa0\x43\xba\x4a\xc8\x73\x81\xa5\x26\x50\x2d\xc5\x49\x34\xdb\x32\xe2\x8d\x26\x5f\xca\xbb\x9d\x2c\x3e\x92\x7d\x58\x46\x06\xdd\xb0\x85\x3e\xaa\xfb\x75\x54\xb8\x90\x85\xac\x80\x92\x32\x70\xa4\x84\x94\xf7\xa8\x61\x0b\x21\x1b\x59\xc7\xc5\x72\x41\xbb\x3c\x31\xad\x26\xbe\x77\x26\x37\x6f\x22\xe5\x85\x72\xee\x83\xc3\x1d\xbf\xad\x4d\xaf\xab\x6d\x58\xf5\xba\xca\x0f\x9b\xf6\x79\x7c\xb9\xfe\xf3\x68\xf3\x3d\xdf\x11\x31\xb2\x98\xc2\xbc\x07\x8e\xe4\xd7\x78\x94\xaf\xdb\xbc\x56\x13\xe5\x45\x66\xa1\xcd\xa6\xd5\xef\x4a\x70\x17\x0b\xe1\x50\x02\xd4\x08\x0b\x2a\x30\xb0\xb6\xb4\xeb\xe2\xb7\x62\xc5\xe0\xf1\x53\x07\xaa\xa2\xf9\x66\xf9\x20\x3f\xe9\xc0\xb8\x91\xa4\x7c\x07\x49\x5e\xe4\x23\x67\x16\xf4\xf4\x29\x6c\xce\x0b\xc8\xa3\xa7\x13\x1e\x39\x03\xa0\x19\x5f\x2c\x84\x94\x4c\xfb\xd2\x4c\x42\x85\x6d\x6f\x67\x54\xea\x04\x52\xa1\x17\x3b\xee\xe5\xea\x7e\xc9\xa7\xaa\xd6\x82\x17\xf9\xea\xa5\x1a\xab\xeb\xf0\x50\x59\x9c\x19\x7e\x11\xaf\xe9\x6f\x6a\x91\x03\xfb\x3d\x68\x87\x4b\x49\x50\xb9\x28\xa4\xe8\x50\x21\xf0\xec\x49\x41\xb8\x5c\xc7\x30\xdb\x7f\xfc\x28\xb3\x3d\x5a\xca\x1b\x43\xf6\x82\x20\x2a\x1d\xb8\xfd\xa9\xb8\xa6\xb3\x81\xe2\xe8\x02\x35\x52\x18\x79\x1a\x61\x0c\x86\x5f\x83\x7c\x8c\x32\x96\xb5\x3f\x55\x23\xcc\x3d\x57\x25\xe9\x3a\x61\xd1\x35\x99\x10\xde\x47\x49\x32\x8f\x48\xf6\x3e\xb8\xdf\xc2\x06\xb5\x88\xa9\xb3\xb4\xb3\xf7\xc1\x74\xc6\x87\x68\xb6\x20\xab\xaa\xab\x60\xe8\xdd\x7d\x01\x97\xed\x3c\x04\x85\xcf\xd0\x05\x59\x38\xff\x00\x9b\x9f\x98\x83\xde\x25\xc8\x1d\xb1\x20\xbf\x80\xa1\x7b\x4a\xa7\x9d\x59\x9b\x92\x55\x1c\xce\x89\x73\xf0\xd3\x77\xd9\x93\x90\xbd\xcb\x5a\x07\x18\x21\x77\x48\xa7\x7e\x01\x78\x29\xaa\xca\x55\xc5\xdf\x83\x38\x5b\xb5\x36\x21\x76\xf6\x94\x76\x0d\xa5\xad\x96\x40\x26\x33\x76\x0d\xa5\xb0\x6b\x28\x83\x93\xe6\xc3\x64\x4e\xd2\x65\x03\x74\x4d\x57\x56\x56\x6e\x07\x8a\x70\x26\xce\xfb\x90\xf3\xe2\xa2\x75\x2b\x68\x37\xcd\x66\xa3\x64\xb3\x71\x76\x47\x09\xa6\x33\x17\x27\xf9\x7d\x84\x9c\xde\x24\xc9\xd6\x94\xbc\xae\x6a\x8f\xa2\xdd\x13\xec\xe5\x7b\xc8\xe1\x62\xd5\xea\x76\x34\xf6\xaf\x55\x47\x98\xb2\x19\xb7\x9c\x54\x9b\xb4\x91\xab\x5d\xc9\x36\x9b\x8c\xc4\x4b\x9c\x04\xde\x28\x39\x49\x15\x09\x13\x4e\x42\x38\x54\x24\x9d\x26\xb3\x28\x69\x64\x6e\xe1\x82\x80\x4f\x5f\x45\x59\xc6\xf5\x4b\xf4\x69\x8b\xb5\x3e\x45\x8d\x28\x6b\x24\x84\x2c\xc8\xa2\x71\x71\xf7\x29\x5c\x73\x19\xec\xf9\xf2\xec\xde\x2c\xc8\xa6\x3c\xa3\xd9\x16\xbc\xde\xca\xe7\xc7\x9f\x87\x51\x4c\x16\x0d\x89\x7b\x63\xa1\x90\xbf\x6b\x88\xdb\xc4\x61\x9f\xa5\x3a\xde\xfc\x45\x12\x15\x4f\x20\x50\x9b\xc5\x0b\xcc\x2c\x08\x3f\x25\x98\xcd\x5c\xcc\x14\xb3\x57\x0e\x73\xc5\xa4\xf6\xea\x43\xb4\x74\x14\x07\x2b\xd6\xa2\xf9\xcd\x19\xcd\x26\x73\x10\x4f\x0e\x2a\x36\xb7\x7c\x70\x36\xf5\x67\x4e\xd4\x5e\xb6\xc3\x38\xa4\xd7\x4e\x2a\xaf\xb1\x6c\x70\xc5\x92\x33\x22\x52\x99\xa3\x3d\xb5\x56\x5a\x41\x16\x45\xe3\x94\x36\xa2\x04\x4e\xd2\xd7\x57\xe5\x0e\x1b\x5c\xe6\x83\xa6\xb8\x8b\xa5\xb8\x6a\x9c\x8f\x98\x29\x4c\x7a\xcb\xf3\xc5\x0c\xf7\xab\x70\x01\xe7\x88\x6c\x36\x4e\x2d\xac\x92\xe0\x0e\x91\x37\x2b\x49\xd2\x9c\x04\xde\xa9\x52\xcb\xae\xa2\xcc\x1d\x3a\xf9\x4a\x3b\x9c\x7a\x84\x1a\x08\xce\x41\x31\x6e\x0a\x09\xb8\x0a\xb5\x22\x21\x73\xc8\x81\x0a\x6f\xc1\xad\x44\xd2\x62\xf3\x30\x71\x5b\x66\xae\x5c\xc1\xaa\xc2\xf3\x79\xb2\xa8\xa9\xc1\x73\x6b\x3a\xee\xaf\x08\x7f\x33\xa3\x96\x59\x19\x8e\x3f\xb7\x6d\xe2\x94\x66\x42\x04\x8b\xe7\x36\x25\xef\x83\xfb\x2b\xf2\xd1\x1f\x0c\x0f\x3e\x71\xa6\xe1\xfe\xd2\xdb\x3f\x9e\xb9\x55\x4f\x07\x11\xbe\x22\x1f\x3b\x3d\x33\xe2\x7d\x67\xeb\xd6\xbf\x1c\x44\x98\x5e\x5e\x0c\x39\x77\xbd\x26\x97\xcf\x3f\xae\x1c\xf4\xd3\x83\xec\x09\xbd\xbc\x38\xc8\x9e\x1c\x38\x07\xd9\x13\xe7\x60\x71\xef\xe3\xee\xd6\x3d\xc8\x9e\xe0\x07\xde\x0f\xf8\xd7\xf7\x50\x2e\xa9\xdf\x1d\x1c\x5c\xc2\xb6\x0d\x17\xa3\x08\xb9\xbc\xac\xb0\xaa\xb0\xf0\xdb\x94\xe6\x9c\x0e\x65\x50\xcb\x39\x1d\x1e\xb4\x0f\x16\x2d\xf7\x94\x03\xdc\xc7\xe0\xf1\xb1\x12\x8f\xd3\xef\x16\x91\xd3\x07\x31\xf9\xe8\xfb\xbc\x01\x60\x4c\xe3\x0f\x79\xeb\xf8\xb8\xb7\x75\xdf\x1d\x3c\x18\x90\x3d\xf9\xde\x41\x84\x93\xf0\x9a\x0c\x0f\xa6\xe1\xfe\x2f\x67\xfc\xcb\xdb\x3f\x7e\x97\xcd\x5a\x07\x26\x1f\x5d\x5e\xbc\x4d\x7f\xec\xfb\xf6\x7e\x5b\x65\x3e\x32\xf3\xe0\x8c\xc0\xe9\xf4\x0f\x9f\xe8\x95\x6a\x82\x3b\xfd\xbe\x6b\xcf\x9c\x60\x2e\xc6\x7e\xb9\x0a\x17\x0e\xc1\x3d\x77\xab\x46\x79\xd8\x78\xef\x98\xbc\xcb\xcb\xfd\xa8\xd7\xdc\xe9\x29\xe2\xb5\x44\x2d\x26\xdc\xa1\xe0\x32\x6a\xfe\xdc\x31\x9e\xbb\x33\x77\x28\x5c\xc3\x74\x46\x1f\x7d\xff\x33\xf2\xf1\x6d\x7a\xf6\xe6\x4d\x85\xbf\x34\xdc\x83\x90\xfd\x28\x62\x57\x0e\xfa\x04\xb9\x96\xcb\x42\xb4\x74\xb8\x8d\x9b\xad\x2f\x32\x46\x1d\xdf\xc5\xfb\x7e\x10\x4c\xbb\x78\x80\x8f\xb1\xdf\x99\xe5\x67\x77\xa8\xee\x5e\x4a\x2d\x2b\x75\x30\xfd\xa9\x24\xfc\x41\xe4\x96\x9d\xb1\xf5\x2d\x48\x07\x5d\x71\x98\xbe\x28\xd0\xc3\xe0\x3f\xab\xdf\x19\x5c\x8f\x69\xbc\xb7\x98\xe1\x92\xa0\xeb\x1b\x72\x2d\xe4\x6d\xfa\xfa\xfb\xcf\xc6\xce\x14\xbc\x18\x66\xed\xeb\x70\xe5\x54\x78\xf7\x90\xdc\x39\x97\x60\xde\x32\x1d\xf0\x60\x1a\xfa\xf0\x73\x72\xd2\x1b\x92\xa7\x4f\x7b\x4f\x1c\x06\x93\x5c\xae\x4d\xd4\x32\x45\x55\x65\x2a\x5a\x52\xf0\x6a\xbe\x11\xfc\xd4\x61\xf9\x5d\x52\x7e\x2e\xbe\x2c\xec\x59\x1d\xde\x7e\x7e\x71\xd4\x69\x5e\x83\x16\xd4\x61\xd8\xa9\x04\x02\xc8\xe9\x9a\x37\x4e\x39\xa4\x95\x13\xb3\xe3\xba\x18\xb8\x96\xa6\xeb\x64\xe1\xd8\x09\x0f\x3a\xfd\x43\x2e\x65\xe1\x9c\xda\x02\xc7\x9c\x56\x31\x9a\x43\xdc\xa1\x0e\xe7\xfd\x0b\x6a\x24\x0f\x79\x91\xc1\x57\x3c\xee\xeb\xef\x3f\xdb\xd1\xa9\x7a\x36\xba\x01\xd1\xc2\x80\xe2\x0a\x2f\x4e\x31\x7b\xf9\x09\x6a\xb1\x16\x6b\xd1\x16\x6d\x45\xad\x48\xcd\x25\xe7\xed\x92\x1a\xad\xc0\x7b\x94\x83\x72\xd7\x75\x06\xfe\x24\x03\xb7\x85\x70\xc3\x0a\xee\x54\x07\x77\x65\xb0\x8b\x44\xaf\x53\xaa\x8f\xd1\xf2\x30\xfc\xe0\xb4\x14\xd8\xe9\x41\x0f\x29\xeb\xcf\x4a\xf7\xcc\x02\x6f\x94\x9d\xa8\xfa\x8f\xb2\x56\xcb\x25\x5c\x03\x66\x0e\xff\x91\x87\xe8\x11\xfe\x9a\x9f\x8d\x55\x94\x59\x9f\x99\x47\xc2\x94\xc8\x2b\xe8\xa2\x53\xcc\x69\x38\xff\x20\x9a\xc9\xa0\xd0\x27\xa8\xa5\xe5\x95\x63\x54\xdd\x9b\xb9\x27\x27\xfe\x60\x63\xd1\xce\x3d\x39\x39\xda\x58\x64\x73\x4f\x4e\x0a\x13\xc7\x78\x20\x45\xd4\xee\xea\xd3\xc0\x1b\xd1\xbc\xfa\x14\xaa\x4f\x45\xf5\xe9\xc3\xd5\x17\xe7\xd9\x45\xbf\x24\xc5\x4e\xaa\x27\x8d\x6a\xf9\x58\x31\xa6\xc5\xc4\x4a\x1c\xb7\x19\xc9\x78\x99\xa7\xe4\x41\x06\x37\xba\x72\xa5\x98\x90\x06\x5c\xf7\x94\x4c\xbb\xb3\xa1\x2f\x6b\xc1\x59\x32\x74\x50\x8b\x4c\xbd\x99\xe0\x37\x32\xf5\xf5\x53\x47\x3e\x31\xce\x73\x46\x59\x19\x61\xe3\x78\x75\x15\xd6\xa8\xe2\xf5\x2d\xcc\x87\x8c\x80\x55\xcb\x1f\x6a\xd6\xe6\x3a\xfa\x58\xba\xd8\x29\xb7\x1b\xab\x8a\xc0\x59\x45\x30\xec\xa0\xe1\xa6\x51\x6f\xd4\x6a\x69\xef\xb2\x6c\x9a\xcc\xf6\xb9\x41\x33\xe2\x5f\x41\x95\x20\xe2\x00\xb7\x15\x3e\xa1\x7a\xde\xaf\x12\xe7\xd4\xc4\x59\x95\x5a\x1c\xf7\xec\xc6\xe7\x04\x47\xae\x38\xc7\xa4\x76\x1c\x0e\xf3\xcb\x7d\x94\x9d\x82\xd9\x56\x1b\xb6\xf5\x09\xc5\xb9\xa0\x15\x89\xe5\xb5\xfc\x3c\x1b\x09\xb4\x8e\x6b\x75\xd0\x59\xba\x8e\x17\xc9\xa7\xac\x01\xd5\xe0\xa6\x10\x71\x71\x61\x70\xd7\xac\x57\xc9\xe3\xc2\xc2\x55\xc4\xe0\x3f\x9f\x87\xd7\x24\x3b\xad\x08\x9b\x92\xd9\x10\x24\x2c\x4b\x5f\xa6\xb7\x84\x9e\x85\x19\x71\x5c\xf7\x5b\x64\x90\xeb\x6b\x59\x8b\x2b\x6c\xe8\x9b\xe6\x52\xa8\x62\xc6\xd2\xf9\x07\x38\x90\xe8\xcb\x30\x26\x8c\x91\xa0\xdc\x53\xa7\xe8\x13\x0f\xfe\x21\x8c\x3e\x39\x3b\x53\x4f\xbd\xe7\xc7\x63\x6f\x00\x61\xbd\xb1\x0c\xeb\xf6\x06\xfd\x71\x8f\x3f\x1d\xf6\xfb\xde\xe1\x33\xfe\xe4\x0d\x8e\x8f\x8e\xc7\xfc\x69\xd2\x9d\x1c\x9e\x9d\xf3\xa7\x7e\xbf\x7f\xd8\xef\xf2\xa7\xe7\xe7\x9d\xe3\xce\x31\xc4\xf3\x9e\x8d\x7d\x08\x3b\x3f\x7b\x7e\xdc\x83\x78\x87\x9d\xe3\x73\x91\xe2\xbc\xe3\x79\x67\xcf\x64\xbc\xfe\xb3\x09\xa4\xe5\xff\xce\x44\x98\xc2\x8a\xff\xf6\xcf\xd5\xd3\xd1\xa1\x7a\x1a\xeb\xb0\x89\x0e\x3b\x97\x61\xfd\x73\x95\xb6\x7f\xde\xd7\x61\x2a\x6d\xff\x7c\xac\xc3\x26\x3a\x4c\xa5\x3d\x3a\x54\x69\x8f\x0e\xfb\x3a\x4c\xa5\x3d\x3a\x1c\xeb\xb0\x89\x0e\x53\x69\xc7\xba\xdc\xb1\x2e\x77\xac\xcb\x1d\xeb\x72\xc7\xba\xdc\xb1\x2e\x77\xa2\xcb\x9d\xe8\x72\x27\xba\xdc\x89\x2e\x77\xa2\xcb\x9d\xe8\x72\xcf\x75\xb9\xe7\xba\xdc\x73\x5d\xee\xb9\x2e\xf7\x5c\x97\x7b\x2e\xcb\xe5\x94\x12\x69\xf9\x53\x5f\x87\x89\xb4\xfc\x69\xac\xc3\x26\x3a\x4c\xa5\x55\x74\xe6\x4f\x7d\x1d\xa6\xd2\x2a\x3a\xf3\xa7\x89\x0e\x53\x69\x15\x9d\xf9\x53\x5f\x87\xa9\xb4\x8a\xce\xfc\x69\xa2\xc3\x54\xda\xb1\x2e\x77\xac\xcb\x1d\xeb\x72\xc7\xba\xdc\xb1\x2e\x77\xac\xcb\x9d\xe8\x72\x27\xba\xdc\x89\x2e\x77\xa2\xcb\x9d\xe8\x72\x27\xba\xdc\x73\x5d\xee\xb9\x2e\xf7\x5c\x97\x7b\xae\xcb\x3d\xd7\xe5\x2a\x3a\xf3\xda\x8a\xb4\xfc\xa9\xaf\xc3\x44\x5a\xfe\x34\xd6\x61\x13\x1d\xa6\xd2\x2a\x3a\xf3\xa7\xbe\x0e\x53\x69\x15\x9d\xf9\xd3\x44\x87\xa9\xb4\x8a\xce\xfc\xa9\xaf\xc3\x54\x5a\x45\x67\xfe\x34\xd1\x61\x2a\xed\x58\x97\x3b\xd6\xe5\x8e\x75\xb9\x63\x5d\xee\x58\x97\x3b\xd6\xe5\x4e\x74\xb9\x13\x5d\xee\x44\x97\x3b\xd1\xe5\x4e\x74\xb9\x13\x5d\xee\xb9\x2e\xf7\x5c\x97\x7b\xae\xcb\x3d\xd7\xe5\x9e\xeb\x72\x15\x9d\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\xcf\x35\x3f\x9f\x6b\x7e\x3e\xd7\xfc\x7c\xae\xf9\xf9\x5c\xf3\xf3\xb9\xe6\xe7\x73\xcd\xcf\xe7\x9a\x9f\xcf\x35\x3f\x9f\x6b\x7e\x3e\xd7\xfc\x7c\xae\xf9\xf9\x5c\xf3\xf3\xb9\xe6\xe7\x73\xcd\xcf\xe7\x9a\x9f\xcf\x35\x3f\x9f\x6b\x7e\x3e\xd7\xfc\x7c\xae\xf9\xf9\x5c\xf3\xf3\xb9\xe6\xe7\x73\xcd\xcf\xe7\x9a\x9f\xcf\x35\x3f\x9f\x6b\x7e\x3e\xd7\xfc\x7c\xae\xf9\xf9\x5c\xf3\xf3\xb9\xe6\xe7\x73\xcd\xcf\xe7\x9a\x9f\xcf\x35\x3f\x9f\x6b\x7e\x3e\xd7\xfc\x7c\xae\xf9\xd9\x3b\xe2\x7f\xfc\xc9\xef\xf0\x3f\x78\x3a\xe3\x7f\xfc\xa9\x33\xe0\x7f\xfc\xa9\xeb\xf1\x3f\x78\x1a\xf3\x3f\xfe\xd4\x83\x7f\xf0\xf4\x9c\xff\xf1\xa7\xfe\x11\xff\xe3\x4f\x90\x14\xf2\x1b\x9c\xf1\x3f\xfe\x74\x38\xe0\x7f\x20\xb9\xa0\x60\x78\x1a\xf3\x3f\xfe\x74\xdc\xe3\x7f\xf0\xf4\x9c\xff\x41\xcf\x03\x30\x7f\x7a\xd6\xe1\x7f\xf0\x74\xc6\xff\xf8\x13\x64\x0c\xf9\x4d\x3c\xfe\x07\x4f\x63\xfe\xc7\x9f\x00\x29\xc8\x0f\xf4\xab\xe7\x68\x66\xcc\xa0\xcc\x2b\x55\xc5\x92\x16\x89\x2b\xb4\xcf\xe0\x3e\x8c\xa3\x39\xb9\x88\xd7\x64\x08\x53\x03\x9d\x9e\x87\x1b\x9d\xde\x11\x6e\x74\xfa\x7d\x17\xe1\x30\x61\xd1\x2f\xd6\x04\x6e\xc3\x90\x31\xfa\x3c\x46\xb7\x8f\x1b\x1d\xbf\x18\xc3\x57\x51\x38\xb4\x7b\xcc\xa3\x1c\x17\xa2\x74\x64\x94\x2e\x2f\xa2\xd3\xc5\x8d\x8e\xd7\x2b\x44\xe9\xca\x28\x5e\x1f\x37\xfc\xe3\x0e\x6e\xf8\x87\x83\x42\x94\x9e\x88\xe2\xf3\x32\xfc\xae\x8f\x1b\x7e\xc7\xe3\x51\x7e\xb1\x0e\xaf\x43\x1a\x25\x12\x57\xbf\x73\x08\x15\xe1\x88\x74\x2c\xb8\xff\x50\x04\x89\xa7\xef\x73\x3c\x39\xb2\xfe\xf1\x91\x15\x41\x62\xe9\x7b\x1d\x5e\x07\x8e\xea\xa1\x8d\x82\xc4\x71\x00\x28\xf2\x2f\x1f\x6a\xf1\xcb\x35\xb5\x68\x0d\x85\x0b\x5a\x73\x90\xbf\x03\xa6\x68\xd7\xe9\x49\x9c\x3a\xdd\x23\x05\x53\xe8\x1c\x77\x25\x3a\x1d\x4f\xa7\xd3\xd4\xf2\x15\x2a\x5d\xde\x2c\x17\x24\xba\xd4\xa8\xf0\x14\xf0\x05\x84\xbc\x88\xb2\x5f\x68\x96\x00\x2c\x3a\x40\x82\x81\x86\xf9\xbb\x80\x56\x23\xfb\x5d\xdc\xf0\x8f\xba\x1a\x68\x35\xef\x11\x07\xf6\x8f\x34\xd0\x6a\xd8\x0e\x8f\xe1\x1d\x72\x60\xcc\x0d\x42\x00\x79\xb8\xc1\xff\x8b\xc0\x64\x7e\x45\x16\x61\x7c\x9d\x26\x0b\x8b\xf5\x74\xfd\x73\xce\x16\xe9\x04\x35\x79\xa8\x5f\x1d\xdc\xb1\x82\x81\xbe\x3c\xb8\x6b\x05\xeb\xac\x7b\x66\xb0\xa4\x6a\xbc\x26\x37\x51\x1a\x13\xa6\xaa\x72\x84\x1b\x3d\xde\x2a\x1d\x20\x10\x4d\x6f\x13\x09\x19\xf4\x71\xa3\xd7\xe1\x1f\x05\x30\xa9\x3a\xe8\xf1\x8f\x82\x98\x24\xed\x1f\xf3\x8f\x82\x98\xf4\xec\xfb\xfc\xa3\x20\x26\x31\x39\x49\xba\x80\xf6\x9a\xc6\x77\xb7\x69\xaa\x08\xd6\xe1\x1d\xec\xa8\xc7\xd1\xb7\xc0\x56\x03\xfb\x9c\x73\xfa\x16\xdc\x44\xc8\x3f\x3e\xc4\x0d\xbf\x67\xc1\xad\x66\x3e\xf4\xa0\x39\x4d\xb8\xd5\xd2\x7e\x1f\x37\x8e\x38\x78\x1e\x2e\x08\xcb\x1b\xed\xb8\x0f\xec\x81\x1b\xfe\xc0\x33\xa1\xaa\xfb\xf6\x3b\x8a\x6d\xfb\x56\x6a\xd5\x7b\x39\x75\x3b\x9d\x63\xd5\x92\x1a\xae\x7a\x0b\x54\x9e\x23\x2f\x9a\x54\xc3\x25\x72\xc0\x9d\xdd\x9e\x6a\xda\xf9\x55\x48\x19\x25\xeb\xac\x24\x5e\x3c\x0b\x5a\x12\x2e\x36\xb8\x24\x5a\x6c\x70\x49\xb0\xd8\xe0\xa2\x58\x11\xd0\x74\x9e\xc6\xa1\x16\xd1\x3e\x27\x37\x4f\xda\xb5\xa0\x66\x93\x02\x72\xdd\x81\x09\xb6\x5a\x94\x23\xd7\xed\x9a\x60\xab\x41\x01\xb9\x63\x13\x6c\xb6\x27\x20\x07\xd0\x94\x86\x71\xb1\xd4\x23\x4f\x41\x2c\x84\xfc\x1e\x6e\x1c\x0d\x14\xc8\x42\xc6\x1b\x98\xa9\x4c\x44\x8e\x7d\x5e\x9a\x82\x58\x38\xf0\x8e\x75\x28\x20\xc9\x32\x4e\x6f\x09\xcd\xf9\xca\xf7\x38\x85\x7a\xc0\x18\x2a\x4e\x16\xc5\x1f\x4c\x9e\x87\x41\xb0\xe3\x19\x50\x7f\x37\xd8\x92\x7a\xdd\x8e\x66\x2a\x09\x36\xd1\xee\x40\xf9\x87\x66\xd1\xf6\x90\x36\x50\x43\xda\xfc\x2e\x4c\xb4\x90\x31\x06\x04\x1e\xee\xd7\x01\x72\x21\x66\x0c\x13\x1c\x90\x8b\x31\x63\x8c\xe0\x80\x5c\x90\x19\x03\xc4\x22\xa4\x1f\x8a\x02\x34\x87\x58\x98\x15\x52\x5d\xa6\xf1\x82\x24\x54\x09\x19\x29\x5f\xf8\x97\x5f\x8c\x61\xf1\xc0\x11\xf4\xf7\x62\x14\x8b\x17\x0e\x79\x9f\xec\x15\xa3\x58\xcc\xd9\x83\xc1\xa3\x18\xc5\x22\xb0\xe7\xe3\xc6\x91\x8a\x41\xc3\x3b\x25\x91\x39\x4c\x7e\x69\x28\x21\x46\x3d\x3d\x39\xf8\x48\xd0\x8e\x84\x1f\xae\xc2\x0f\x91\xaa\xff\xb1\x1a\xeb\x60\x38\xe3\xe0\xeb\xf0\x92\x24\x2c\x34\x90\xb2\xa8\x9b\xc6\xd1\x0d\x31\xca\x3e\x12\x63\xa1\xe4\x69\x3b\x86\x22\x21\x74\x4a\xd1\x97\x3a\xa5\x48\x4a\xea\x1c\x69\x85\xc6\xeb\x95\x22\x29\xd9\x33\x50\xb2\xe7\xd8\x2b\xc5\x51\x74\xf4\x55\xb3\x0f\x54\x9b\xa6\x34\x4c\x2e\x4d\xad\xc1\xef\x19\xd4\x12\xd0\x92\x0c\xb2\xc1\x25\x19\x64\x83\x4b\x32\xc8\x06\x17\x65\x50\x0e\x9d\x5f\x45\x8a\x17\xfb\x5d\xdc\x00\x1d\x36\xaf\x3f\x80\x95\xd4\x06\x91\xd2\x51\xdd\x29\x87\x2b\x02\x1e\xf2\x11\x58\xf7\xaa\x1c\xae\x68\xd7\xef\xa9\xfc\xed\xf4\x0a\x39\xaf\x87\x1b\xf9\x98\xc2\xe1\x94\x2c\x6c\x36\x50\x78\x67\xa0\xda\x28\x92\x80\xaa\x04\x03\xa9\x6a\xdd\x8c\x84\x06\x8b\xf8\x3d\xd0\xb4\x38\xe5\x7a\xdd\x42\x0c\xdf\x54\x0f\x81\xf6\xc7\xc5\x28\x9a\x41\x94\xd8\xf0\x8f\xbc\x42\x14\x5d\xc5\xbe\xd2\x79\x35\x8d\x54\x14\x5d\xcb\xbe\x12\x0a\x9a\x0c\x19\x1f\x26\x72\x79\x72\xd8\xe1\xac\x63\xd2\x01\x22\xe4\xbd\xb1\x77\x88\x1b\x87\xc7\xfc\x53\x84\xeb\xe1\xdf\xb7\x44\x9f\x15\x47\xab\x00\xbe\x25\x05\xad\x38\x5a\x0d\xf0\x2d\x81\x68\xc5\x51\xaa\x40\xa7\x24\xe4\x64\x14\x52\x87\x2e\x5b\xd3\x5f\xac\xd3\x28\x23\x86\xd0\x1d\xf0\x2f\x15\xc1\x52\x13\xf9\x78\xe2\x81\xaa\xc5\xa1\xe4\x22\x0a\x13\xcd\x17\x1d\xae\x1f\xf1\x91\x53\xc0\xc8\x6a\x15\x25\xd6\x58\x05\xa3\xd9\xa1\x01\xf4\x77\x42\xad\x5e\xc6\x3f\x5d\x13\x6a\x75\xb2\x01\xf4\x43\x03\x6a\x8b\x51\x39\x2e\x73\x60\xf6\xe1\xce\x1a\x2c\xa0\x23\xc9\x86\xc9\xc1\xfe\x03\xf0\x7c\xe8\x82\x8e\x26\x1b\x2d\x87\xe7\x23\x18\x74\x34\xd9\x60\x39\xdc\x18\xc8\xbc\xbc\x93\x45\xd7\x86\x90\x17\xc2\xa3\xaf\x59\x93\x03\x49\x1d\x30\x5d\x5c\x9a\x8a\x43\x17\x68\xd9\xd3\x88\x6b\xb0\xff\x00\x5c\x91\xfc\x48\x0e\x84\xb2\x62\x1a\xae\x88\x0e\x63\xe4\x40\x57\x4c\xc3\x15\xd9\x07\xb8\x71\x78\xa4\xea\xb5\x8c\x28\xb9\xa0\x91\x32\x8d\x80\x62\x5d\x10\x2f\x26\xd0\xe4\x05\xce\x65\xbd\x23\x13\x6a\xf2\x02\x47\xbc\x67\xa5\x35\x79\x81\xc7\xe8\x5a\x69\x4d\x5e\xe8\x70\xa4\xb9\xfa\xb6\x8c\xb9\x2a\x66\xcd\x18\x40\x0f\x85\x89\x05\xce\x2c\xcb\x94\x92\x8c\x19\x82\x4b\x4a\x43\x89\xf7\x65\x18\x25\xd9\x45\x4a\x53\x65\xa0\x78\xa0\x68\x29\x6d\xeb\xf2\x2a\xcd\x98\x99\x3b\x28\x62\xf9\x8c\x05\x1f\xef\x2d\xd3\x45\x6a\xd0\x3c\xdc\xaf\x03\x58\xaa\x1b\xd7\x0d\x14\xc0\xb6\x62\xba\x39\xc0\x36\x5f\x0e\x73\x80\xa1\xf6\x74\xa0\x6f\x71\x2b\xaf\xdb\x31\xa1\xd6\x18\xc8\x25\x32\x74\xbf\x6a\x75\x87\x4b\x63\x41\x96\x4a\x55\x07\x6a\x72\x6c\x82\xed\xfe\x09\xdd\x9f\x83\x73\xf6\x3f\x86\xbe\x27\xbe\x24\xc4\x33\x35\x3c\x15\xa8\x38\x1a\x37\xf8\x7f\x15\x28\xa3\x8a\xd6\x96\x2d\x2e\x00\x9e\xd5\xda\x5a\x28\x03\xd0\xcf\xb9\x5f\x7c\x14\x40\xd6\xb5\xeb\xe3\x86\xf8\x28\x80\xac\x25\x1f\xf4\xc4\x47\x01\x64\xfd\xb8\x86\x2c\x3e\x0a\xd0\x97\x80\x23\x83\x53\x01\x30\x90\xf2\xd9\xc7\x0d\xf1\x51\x80\x43\x09\xe8\x0a\x03\xbd\xa7\xcb\x38\x92\x80\x01\x6e\x88\x8f\x02\x1c\x4b\xc0\x91\xd1\x93\x8c\xc1\x86\x5b\xe0\xb8\xa1\x6a\xdd\x91\x14\x11\x46\xb9\x34\xcc\x01\x20\xc9\x01\x9a\x02\x7c\x14\x40\xe5\x33\xc0\x0d\xf1\x51\x00\x49\x0e\x61\xf9\x4b\xeb\x1f\x00\xca\x1c\xf4\xc5\x60\x3a\xd0\x65\x48\x72\x88\x59\x04\x39\x93\x00\x00\x49\x8e\xc1\x00\x37\xc4\x47\x01\x0e\x73\xcb\x52\x7c\x14\x40\x92\xe3\xd0\xc7\x0d\xf1\x51\x00\x49\x8e\xc3\x1e\x6e\x88\x8f\x04\x48\x6c\x8f\x70\xe3\x48\xa8\xd9\x10\x28\xc9\x71\xc8\xc7\x49\xf8\x28\x80\x24\x87\x18\x3c\xe5\x00\x0a\x80\x4e\x3e\xf6\x8a\x8f\x02\xa8\x02\xb8\xc9\x08\x1f\x05\x50\xa3\x35\x1f\x2c\xe1\xa3\x00\x92\x1c\x5c\x11\x17\x1f\x05\x90\xe4\x38\xee\xe0\x86\xf8\x28\x80\x24\xc7\x71\x0f\x37\xc4\x47\x01\x24\x39\x8e\x0f\x71\x43\x7c\x14\x40\x92\xe3\xf8\x18\x37\xc4\x47\x02\xb4\x4e\x24\x46\x4c\x5f\xf5\xb0\x9e\xa7\x00\x1d\xa9\xce\xfa\x9e\x2a\xbe\xe7\x57\x0f\x48\x00\x53\xba\x0d\xb7\x07\xd4\x97\x82\x75\x4d\xf5\x5c\x7e\x29\x98\x56\xdd\x3b\x60\x23\x28\x43\x01\x60\x7d\x05\xeb\xcb\xf9\x18\xdf\xd7\xe5\x0d\x14\xec\x50\x0a\x3b\xdf\xd7\xe5\x1d\x2a\x1d\x0a\x34\x53\x4f\xd9\xad\x00\x3b\x52\xb0\x0e\x68\xad\x4a\x75\x05\xd8\xb1\x82\xf5\xd5\x4c\x5f\x47\x95\xa7\x50\x81\xd9\x17\xfe\x51\xe1\x8a\x5e\xdc\x6e\x50\x5f\x0a\xa6\xe8\x05\x23\xb0\xfc\x52\x30\x45\x2f\x50\xa1\xe5\x97\x82\x29\x7a\x75\x41\x61\xed\xab\x79\x30\x80\x69\x59\x0a\x23\xae\xf8\x52\x30\x85\x64\xcf\x93\x76\x8e\xdf\xd3\xe5\x0d\x4c\x85\x5c\x7e\x29\x98\xa2\x57\x0f\xec\xa3\xbe\x9a\x37\x03\xd8\x91\xa1\x0b\xaa\x2f\x05\x53\xf4\x02\x0b\x40\x7e\x49\x98\x2a\x0e\x06\x04\x69\x40\x43\xb8\x67\x98\x3c\xea\x4b\xc1\xb4\x0e\xcd\x35\x3c\xf9\xa5\x60\x8a\x5e\x30\xf3\x26\xbf\x14\x4c\x9b\x88\x5c\x75\x97\x5f\x0a\xa6\x95\x14\x5e\x94\xfc\x52\x30\x45\x2f\x2e\x73\xd4\x97\x82\xa9\x0a\x0c\x60\xbc\x14\x5f\x0a\xa6\xe8\xc5\x25\x8f\xfa\x52\x30\x45\x2f\x98\x13\x90\x5f\x0a\xa6\xe8\x75\x38\x80\x05\x04\xb5\x8a\xc0\x61\x2a\x4b\xa5\xfd\xaa\xb2\x0e\x15\xbd\xb8\x14\x52\x5f\x0a\xa6\xe8\x75\xc4\x51\x90\x5f\x0a\xa6\x4d\xa7\x9e\x9a\x4b\xd5\x12\xe9\x50\xd1\xeb\x88\xa3\x20\xbf\x14\x4c\xd1\x4b\x4c\x0f\x88\x2f\x05\x53\xf4\xe2\x5a\xb2\xfa\x52\x30\x45\x2f\x2e\x97\xd4\x97\x82\xa9\xca\x1d\x0f\x60\x4e\x5e\x4d\xcc\x03\x4c\xd1\xeb\x18\xe6\xe7\xc4\x97\x82\x1d\x2b\xb5\xc2\x97\x2a\x50\xc7\x53\xe5\x1d\x29\x90\xb0\x25\x74\xff\x3e\x52\x43\xbe\x07\x9a\x78\x4f\xd9\xd4\x00\xd3\x93\x12\x30\xbb\x2a\xbe\x14\x4c\x69\x38\xde\x31\x98\x43\xca\x26\x02\x98\x52\x6f\xb8\x78\x52\x5f\x0a\xd6\x53\x30\x5e\x94\xfc\x52\xb0\xbe\x82\xf1\xa2\xe4\x97\x82\x0d\x14\x4c\x2c\x49\xa9\x75\x29\x80\x1d\x2a\x35\x13\xa6\x8a\xc5\x97\x82\xa9\x8a\xc3\x82\x8b\xfc\x52\x30\x45\x2f\x98\xe4\x95\x5f\x12\xa6\x40\xdc\xd6\x86\x8f\x0a\x57\xf4\x82\x19\x69\xf9\xa5\x60\x8a\x5e\x30\x71\x28\xbf\x14\x4c\x6b\x84\x7a\x71\x43\xcb\xa8\x63\x45\xaf\xee\x21\x4c\x66\xaa\x19\x4d\x80\x29\x7a\x89\x45\x3d\xad\x80\x03\x4c\xd1\x0b\xa6\xc8\xe5\x97\x82\x29\x7a\xe5\xab\x42\x5a\x46\x1d\x2b\x7a\x71\x73\x57\x7d\x29\x98\xa2\x17\xe8\xfa\xf2\x4b\xc1\x14\x51\x60\xca\x5e\x7e\x01\xcc\x9c\x5e\xd3\xb3\xe5\xe6\xa4\x45\x29\xbc\x30\xbd\xa9\xc3\x0b\xb3\x9b\x3a\xbc\x30\xb9\xa9\xc3\xef\x48\x1c\xa7\xb7\x86\x0c\x11\x26\x92\xa8\x0e\xa9\xd5\x97\x49\x95\xbe\x4c\xaa\xf4\x65\x52\xa7\x2f\x93\x5d\xfa\x32\xa9\xd3\x97\x49\x9d\xbe\x4c\xea\xf4\x65\x52\xa7\x2f\x93\x3a\x7d\x99\xd4\xe9\xcb\xa4\x4e\x5f\x26\x75\xfa\x32\xa9\xd3\x97\x49\x95\xbe\x4c\xea\xf4\x65\x52\xa7\x2f\x93\x3a\x7d\x99\xd4\xe9\xcb\xa4\x4e\x5f\x26\x75\xfa\x32\xa9\xd3\x97\x49\x9d\xbe\x4c\xea\xf4\x65\x52\xa7\x2f\x93\x2a\x7d\x99\xd4\xe9\xcb\xa4\x4e\x5f\x26\x75\xfa\x32\xa9\xd3\x97\x49\x9d\xbe\x4c\xea\xf4\x65\x52\xa7\x2f\x93\x3a\x7d\x99\xd4\xe9\xcb\xa4\x4e\x5f\x26\x35\xfa\x32\xd9\xa1\x2f\x93\x1d\xfa\x32\xd9\xa1\x2f\x93\x1d\xfa\x32\xd9\xa1\x2f\x93\x1d\xfa\x32\xd9\xa1\x2f\x93\x1d\xfa\x32\xd9\xa1\x2f\x93\x1d\xfa\x32\xa9\xd1\x97\xc9\x0e\x7d\x99\xec\xd0\x97\xc9\x0e\x7d\x99\xec\xd0\x97\xc9\x0e\x7d\x99\xec\xd0\x97\xc9\x0e\x7d\x99\xec\xd0\x97\xc9\x0e\x7d\x99\xec\xd0\x97\x49\x8d\xbe\x4c\x76\xe8\xcb\x64\x87\xbe\x4c\x76\xe8\xcb\x64\x87\xbe\x4c\x76\xe8\xcb\x64\x87\xbe\x4c\x76\xe8\xcb\x64\x87\xbe\x4c\x76\xe8\xcb\x64\x87\xbe\x4c\x6a\xf4\x65\xb2\x43\x5f\x26\x3b\xf4\x65\xb2\x43\x5f\x26\x3b\xf4\x65\xb2\x43\x5f\x26\x3b\xf4\x65\xb2\x43\x5f\x26\x3b\xf4\x65\xb2\x43\x5f\x26\x3b\xf4\x65\x52\xa3\x2f\x93\x1d\xfa\x32\xd9\xa1\x2f\x93\x1d\xfa\x32\xd9\xa1\x2f\x93\x1d\xfa\x32\xd9\xa1\x2f\x93\x1d\xfa\x32\xd9\xa1\x2f\x93\x1d\xfa\x32\xd9\xa1\x2f\x93\x1a\x7d\x99\xec\xd0\x97\xc9\x0e\x7d\x99\xec\xd0\x97\xc9\x0e\x7d\x99\xec\xd0\x97\xc9\x0e\x7d\x99\xec\xd0\x97\xc9\x0e\x7d\x99\xec\xd0\x97\x49\xad\xbe\x7c\x95\x26\xe4\x6e\x41\x6e\x4d\x4c\x85\x3f\x82\x67\x40\xcb\x5e\x64\x16\xb8\xec\x48\x06\xed\xa4\xc0\x25\x5f\x32\xb1\x58\xa8\xc0\x15\xee\x64\x3e\x80\x59\x61\x59\x4a\x0c\xc3\x47\x5e\x0e\xb4\x1d\x3e\xbc\x02\xb4\xe4\xf3\xe1\x0f\x0e\x73\xa8\xe5\xf6\x31\x80\x65\x96\x1c\x68\xce\x7a\x73\x01\x0c\xce\x7a\x51\xb2\xb0\x56\xd1\x20\xa5\xd2\x59\x34\xd0\xc2\x09\x4a\xf5\x06\x26\xdc\xc4\x4a\xab\x29\x1a\x6a\x62\x75\xa4\xbc\x98\x34\xb4\x88\x16\x0c\x0b\xd1\x4d\x4a\xef\x4a\xca\x3f\x34\x10\x80\xfc\x1d\x30\xdb\xc7\x44\xb7\x1c\xc0\x6c\x07\x13\xdd\x6c\x00\xb3\xbd\x4b\x74\x9b\x19\x3e\x0a\x82\x57\xba\x7a\x60\x06\x90\xed\xf1\x32\x50\x03\x33\xc0\x6c\x54\x3c\xa5\x24\x00\xcc\x76\xe1\x3c\x52\xca\x11\xc0\x6c\x54\xb8\x1a\xcc\x89\x12\x87\x37\x24\x59\x10\xaa\x32\x55\xc8\x88\x1e\xa1\xa0\x17\xf1\x3a\xbb\xb2\x70\xf2\x54\x67\xb3\xa2\xf8\x8f\x88\x63\x7b\xa2\xf6\x94\x70\xb1\xe2\xd8\xf5\xe8\x82\xb3\x58\x31\x4e\xd9\x17\x15\xd6\x6b\xe2\xf0\x36\x31\x17\xe7\xa1\x84\xbe\x74\x59\x88\xc9\x75\x9a\xcc\xaf\xa2\xe5\x52\x2f\xef\xe7\x8b\x64\xa0\xb7\x9a\x31\xfc\x87\xa3\xd8\x8d\xd1\x55\xa3\x9f\x19\xc5\x66\x0f\x50\x44\x8a\xb9\xd8\x55\x39\x54\xfa\x6e\x1c\x5d\x5e\x19\x4e\x79\xc2\x54\x86\x45\x4a\x50\x19\x35\xd8\xf4\xa0\x10\xee\xbf\x60\xd1\x6a\xb8\xe9\x41\x21\x7c\x7f\x41\x3d\xd4\x70\xd3\x83\x02\x1c\x7f\x65\x3d\x15\xdc\xf4\xa0\x50\xd2\x47\xc1\x4d\x4f\x33\xd0\x2e\x61\xa5\xb5\xa3\xf3\xcf\xbd\x95\x44\x5b\xe7\x06\xb7\x06\xfb\x0f\xc0\xad\x51\x38\xf7\x28\xd0\x70\xad\xb9\xd8\xee\x55\x1a\xde\x33\xb5\xfb\xdc\x95\x00\xe0\xc5\x95\x43\xc1\x94\xbe\xd2\xca\xed\x38\xb6\x9b\xf5\xa0\x3a\x23\x9b\xbd\xbd\xea\x9c\x6c\xfe\xf6\xac\x06\xaf\x5e\x51\xe4\xa3\x30\x28\x86\x76\x1c\x73\x2a\xc5\x18\xce\xfc\xbc\x48\xbd\x00\x09\xce\xa4\xea\x2b\x07\x1b\x6e\x2c\x6a\x54\x12\x12\x5e\xc1\x77\x25\x2f\x0e\x3c\xe0\xad\x01\xd2\x4f\x83\x2d\x31\x7f\x08\x3a\x67\xdf\x84\x5b\x83\xcf\xa0\xa3\x74\x63\x0d\xb7\x3d\xcc\x84\xfb\xa0\x09\x37\xa9\x04\x6e\xab\x9e\xc6\xce\x72\xe3\x81\xf2\x07\xda\x8d\xc7\x88\xe0\x3f\x18\xc3\xc2\x11\xbc\xdc\xfc\x9e\x1d\xc3\xc2\x92\xb7\xd5\xf1\x91\x1d\xc1\x44\x93\x5b\xfc\x03\xdd\x96\xb6\x33\x51\xb7\x23\x3d\x30\x84\x5b\xbb\x88\x61\x7a\x78\xf8\xc2\xc9\x7a\xa0\x45\xb4\x11\xc3\x37\x6c\x89\x0e\x4c\x7b\xe5\x3d\xc9\xf6\xf3\xf0\x07\x3d\xd5\x9a\x79\x67\xb2\x5d\x3d\xc0\x83\x07\x5a\xd4\xe8\x4f\xb6\xb7\x07\xa8\x03\x9d\xae\xd5\x11\x0a\xde\x46\x7e\x57\xd9\xf0\x26\x2e\xb6\xc3\x91\xef\x6b\xdf\xcb\x7e\xb7\x10\x87\xec\x8c\xc3\x08\x89\x4d\x01\xa9\x6c\x89\x8e\xd1\x82\x2a\x8e\xe5\xad\xd7\xb1\xc5\x8c\x8e\x64\x79\xeb\xf9\x9e\x4d\x1e\x15\xc9\xf4\xd6\x03\x13\xcb\x24\x90\x8a\x64\xb9\xeb\x15\x68\x64\xf7\x5a\xad\x6e\x74\x7a\x76\x84\xb2\x42\x52\x8c\x51\x56\x4b\xbc\x42\x21\x65\xe5\xe4\xc8\xb3\x63\x94\x55\x14\x49\xbc\x6b\xd3\x0f\xb2\xaf\x84\xab\x64\xba\x84\x24\xa6\xd4\x91\x4a\x8c\x8b\xb0\xe5\x5f\x29\xe6\x8f\x15\xa9\x25\xc8\xdf\x01\x33\x2b\xa4\xa9\x2f\x61\x66\x55\xf4\x60\x2c\x61\x66\x25\xb4\x3f\xe7\x75\x48\x53\xd5\xff\x81\x37\x7a\x5c\x95\x1c\x68\x88\x89\x48\xbf\xa3\xac\x68\x01\xb3\xdc\x73\x8e\x94\x4a\x2c\x60\x26\x22\xd0\x49\x40\x5e\x0a\x98\xe5\x9a\xa3\x14\xe2\x6b\xb2\x88\xd6\xd7\xa5\x5d\x32\x85\x2d\x2c\x22\x56\x69\xe7\x84\xa8\x26\xc0\x2c\x7f\x4a\x6e\xa3\x1f\xf5\x95\x38\x36\x23\x98\x03\xaa\xef\xe9\xae\x67\x46\x31\xc7\xd4\xe3\xbe\x26\xb4\x11\xc3\x1c\x55\x73\x21\x60\xc6\x30\xc7\xd5\x7e\x5f\x13\x1d\x62\xac\xd6\x74\x15\xab\x7a\xf6\x0e\x95\x08\xf0\x8b\x31\xb4\xc4\xf2\xe5\x6c\x98\x89\xaa\x88\xa2\x27\x79\x80\x35\x7d\x1b\x57\x11\x45\xcf\x8d\x1d\x4a\xf7\x33\x13\x59\x11\x45\x49\xac\xae\x98\x1b\x36\x71\xb5\x05\x30\x0c\x00\x30\xa7\x02\xf3\x79\x32\x4a\x41\xa8\x41\x7f\xf6\x7a\x36\x2e\xd9\x8a\x46\xc9\x65\x71\x61\x45\x78\xcc\xe9\x48\x05\xe7\xc4\xc3\x8e\x9e\x59\xc8\xe3\x08\xff\xc4\xdc\x3b\xf5\x18\x66\x02\x94\xa2\x7f\x1d\x2d\x12\x5b\x31\x14\xc2\x4c\x29\x11\xd7\x51\xc2\xe6\x94\x84\xd7\xa6\x71\x2c\x55\x58\x00\x67\xec\x8e\xa6\x59\x69\x97\x51\x07\xe6\x35\x35\xb8\xb4\xd1\xa8\x00\x2f\xed\x35\x12\x4a\x87\x86\x97\xb7\x1b\xc1\x3c\x94\x86\x97\x77\x1c\xc1\xfc\xc3\x75\x3a\x9f\x87\x59\x94\x14\x4b\x17\xa9\x93\xf0\x26\xfc\x79\x5a\xf2\x71\xeb\x68\xb5\xc1\x88\xe0\x3f\x18\xc3\xf6\x3e\x3b\x54\x53\x84\x46\x0c\xdb\x0d\x4d\xab\x8e\x46\x0c\xbb\x1a\xbe\x9c\x7f\x4f\xc2\x9b\x3b\xb3\x13\x0b\x85\x98\x87\x96\xfc\xfa\x01\x92\xc6\x8b\x38\x9c\xeb\x3a\x75\xd5\x74\x06\x48\x54\x70\x01\x5f\xd0\xf0\x42\x89\x0d\xd8\xf4\xd3\x91\xfb\x8a\x34\x54\x5b\x01\xca\x1b\x7d\xd0\x31\xc1\xda\x08\x50\x5a\x74\xff\xc8\x04\x9b\x36\x40\x2e\xe7\x35\xb8\xe4\x5e\x0c\xb6\x56\xd9\xf1\x7c\x20\xd7\xff\x2a\x9c\xce\x6d\x90\xa5\x52\xf1\x42\x73\x90\x45\xf4\x6e\xd7\x04\x59\xca\x9e\x67\x42\xf2\xd9\x06\xa8\xfa\x71\x01\xe6\xef\x02\x9a\xb8\x0c\x7a\x05\xa0\xb5\xcd\xab\x5f\x00\x5a\x3b\xbd\x0e\x15\x30\x17\xd2\xc2\x13\x51\x88\xbe\x9e\x86\x59\x64\xe9\xfa\xaa\x67\xda\x92\x19\x08\x03\xf3\x7c\xd0\xeb\x2d\xa1\xdc\xd1\x8b\x2d\x62\xf2\xd3\x96\xc7\x1c\x19\x21\xe3\xf8\x90\xb5\x0a\x63\x52\x69\xe5\x08\x4d\xd3\x53\x51\x0c\x43\x40\xcc\x7a\xc1\xd6\xb3\x8e\x09\xf6\x4d\x1e\x01\xe4\x41\xb0\x69\x78\xa7\xda\x90\xd0\xf0\xae\x69\x92\x0b\x4d\xd9\x82\xab\x45\x31\xe5\x96\x7a\xa4\xa0\x05\xa1\xe9\x1f\xf6\x2d\x4b\xd0\x8a\xa2\xe7\xbf\x0f\x2d\x6b\xd2\x8a\xa3\xfb\x42\xaf\x3e\x1f\xdd\x21\x6c\xab\xd2\x8a\xd3\x33\x06\x72\xc3\xb2\xe4\x71\x0a\x32\x1c\x66\x73\xc5\x52\x56\xef\xb0\x18\xc5\xe6\x07\x4f\x2d\x1d\x58\x71\x6c\xb6\x80\xb6\x29\x15\x65\x73\x47\xcf\xe4\x00\x1d\xa7\xc8\x24\x60\xac\xad\xc2\x55\x78\x17\xde\x5e\x45\x2b\xcb\xc2\x85\x61\x07\xe0\x24\x9c\x5f\xad\xd6\xcb\xa5\x09\x16\x4b\x12\x7d\x13\xec\x3f\x00\xb7\x05\xae\x5e\x07\xd1\x70\x5b\xdc\xf6\x95\xad\xa7\xe1\xb6\xf3\xef\xb1\x32\xf6\x56\x84\xae\x8b\x32\x03\x16\x74\x8a\xe6\xa9\x98\xdb\x50\x10\x7b\x07\x94\xaf\x26\x99\xca\x46\xe9\xb1\x5a\x28\x29\xdb\xa3\x7d\xb5\xe6\x54\x32\x45\x01\x3b\x80\xc4\x6b\x35\x14\x43\xbb\x0d\xc0\xa5\xda\x97\x10\x1b\x89\x43\xcd\xae\xf1\xfa\xda\xde\x7e\xa5\x95\x0d\x0e\xb2\x7d\x91\xb5\x96\xc8\x41\xb6\x1f\x72\x47\xf3\x64\x7a\xbb\xb0\x76\xe2\x09\x1b\xb1\xa7\x06\x19\x4b\x61\xe3\x28\xc2\xd4\x7e\x2f\x07\xe9\xce\x2f\xbd\xd9\x25\x9e\x96\x8a\xc6\xc9\xd1\xcb\x11\xb5\x74\xb3\x8e\xf4\x64\x97\x98\x9a\x4a\x19\x68\xb1\x7a\x3a\xc5\x96\xe4\x52\xc8\x17\x7a\x49\x1e\x5a\x30\x18\x64\x68\xc1\x54\x90\xa1\x05\x23\x01\x42\xd3\xec\xce\xdc\x1a\x2c\x77\xf1\xa8\x09\x57\x0d\x2e\xb9\x8e\x8b\x59\x0e\x0d\x2f\xf9\x8e\x0b\x33\x4b\xc3\x4b\xce\xe3\x62\x07\x8f\x86\x97\xbc\xc7\xc5\x2a\x3a\x4d\xef\x42\xc3\xc0\x1d\x68\xb1\xdf\xb1\xa0\x7e\xae\x4c\x8a\xdd\xad\x7d\x0b\x2c\x91\x1b\x1c\xca\xc9\x7f\xd1\x3c\x1a\xac\x7c\x36\x8e\xa4\x29\x60\x97\xac\xfc\x58\x8e\xc5\xd8\x28\xda\x28\x0b\x17\x8b\x98\x98\x84\xb3\xb6\x9f\xda\x13\x2f\x7a\x56\x10\x86\xc0\x8a\x39\x97\x9e\xa7\xea\x5b\x31\xdd\xc2\xe5\x21\x18\x51\x15\x13\x2d\x5c\x9e\x1e\xe5\x99\x5a\xb2\x6d\x80\x1b\xfd\x43\x00\x25\x0b\xb3\x89\x3b\x9c\x41\x61\xfa\x03\x2c\x41\x5b\xf9\xef\x0d\xd4\xd0\x73\x68\xc0\xfc\x7c\x5c\x92\xc3\xde\xb1\x01\x95\xd8\x1e\xea\xfd\x7d\xb0\x16\x5e\xd8\xba\x35\x38\xd4\x43\x9e\x09\xed\xd5\x14\x9b\x5d\x91\xd8\xdc\xbf\x2b\xb5\xc1\x23\x03\xea\xef\x06\xdb\xd3\x90\xc7\x6a\x4a\x44\x81\xed\x09\xc8\x43\x35\x6f\xad\xc0\xa5\xb5\x02\x31\x89\x99\x45\x24\x49\x42\x43\x48\x70\xc3\x10\x66\xf8\x05\xa4\x34\x90\xc1\x38\x26\x60\xa5\x01\x0c\x66\xc0\x04\xac\x34\x70\x89\x96\x03\x58\x71\xc0\x12\xb5\xac\x99\x11\x03\x8d\xb8\x30\x19\x66\xcc\x97\x19\x50\x25\xb2\x40\xee\xc0\xb8\x60\x66\xac\xf7\x82\x1f\x49\x27\x00\xd1\x29\xec\xd9\x2f\x98\xcc\xf4\xb5\x84\x2d\xda\x88\xbc\xc8\x63\x2d\x9a\x35\x54\xa3\xc5\xc7\x02\x5f\x6f\xc5\xd2\x70\x8d\x18\xb8\xd9\xe8\xc9\x7a\x0d\xef\x1a\x9a\xf8\xd1\x71\x29\x7b\x85\x1b\x27\xb0\x67\xa1\x66\xce\xb7\x75\x54\x97\x04\x05\xad\xb4\xbf\xef\xf8\xc8\x9a\x3f\x2c\xed\xed\x3b\xea\x5b\x93\x87\xa5\x7d\x7d\x60\xaa\xe7\x93\x06\xc5\x3d\x7d\x82\xac\xf9\x9c\x58\x69\xaa\xaf\x80\x5e\x52\x98\x2b\xd3\xcb\x53\x1c\x52\x5e\xa4\xd1\xa0\xd2\xe2\x8c\x50\xa5\x39\xa8\xb4\x28\x23\x14\x69\x0e\x2a\x2f\xc6\x80\x16\x55\x6d\xdd\xf7\x95\x6f\x8f\x01\xf6\x1f\x80\x17\xdc\x28\xc5\x36\x3f\x03\x5e\x70\xa7\x14\xbe\x56\x06\xbc\xe0\x56\x09\xfe\x6f\x85\x99\xd0\x43\xed\x5c\x04\xc3\x50\x71\x0e\xf4\xf8\x58\xfa\x7f\xc8\xf6\x2d\xcc\x7e\x8a\xb3\x5f\xf2\x3e\x51\x98\xf7\x04\x3b\xb8\xa7\x87\xf2\xe2\x8c\x27\xac\x22\x79\x9a\xf7\x98\x5e\xff\x91\xeb\xce\x6a\xa1\x93\x85\x49\xc9\x3e\x3c\x94\x29\x4a\xd6\x21\xe8\x89\x2c\x4c\x4a\xb6\xe1\x40\x02\x8a\x96\x21\x0c\xdf\xec\x2a\xca\x58\xac\x4f\x67\x18\xa8\xcd\x8f\x70\x22\x8c\x04\xda\xd3\x04\xda\x5e\x90\x50\x7b\x96\x43\x8f\x9d\x12\x6a\xcf\x71\xe8\x89\x60\x09\xb5\xa7\x06\x34\xb7\xb3\xf4\x3a\x64\xa9\x51\xea\xf1\xb1\x14\x94\x02\xe2\xd7\x83\xac\x25\xf1\x8e\x14\xa1\x02\x64\xa2\xc2\x1b\x08\x24\xa8\x00\x59\x8b\xe1\x3d\x29\x41\x0b\x26\xd5\x40\x7b\x8e\x78\x16\xd4\xe0\xe5\xfc\xb8\x8f\xa2\x1d\xe5\x59\x87\x7d\x14\x2d\x28\xcf\x3a\xea\xa3\x68\x3b\x79\xd6\x49\x1f\xe6\xce\xdc\x7c\xf8\x17\xf9\x16\x2d\x2a\x2e\x44\xc0\x86\x05\x21\x51\x69\x4c\xc1\x04\x3d\x88\x83\x4a\x3b\x0a\x3c\xc6\x7a\x16\xd8\xb2\xf6\xb5\x93\x60\xa5\xf5\xc4\xb1\x06\x4f\xcf\xdb\x2b\x12\x2a\x9c\x7b\xf9\x64\xd3\xb1\x02\xd9\xcb\x86\xbe\xf2\xac\x02\x98\xcd\x5f\xe0\xfd\xd5\x53\x30\x9b\xbb\x06\xaa\x2a\x00\xb3\x79\x6b\xa0\xa4\x44\x79\xf7\xa7\x6e\x34\x00\x65\xd7\xe9\x87\xf2\xd1\x43\x30\x82\x57\xaf\x49\x78\x1a\x52\x5a\x8c\xc8\x41\xa5\x55\x88\x1c\x54\x5a\x7e\xc8\x41\xa5\x75\x87\x1c\x64\x4d\x46\x98\x13\x52\x5b\x1c\xb5\x97\xe2\xe6\x85\xa5\xba\x04\x2d\x59\x5f\x57\x9d\x49\x9b\x90\xdb\x86\x3c\x0b\x5a\x1c\x96\xbc\x54\x07\xc6\xfe\x30\xa4\x59\xf5\x2d\x24\xc6\x99\xb2\xbf\xeb\xc0\x39\xfd\x4f\xdc\x77\x8e\x33\xfd\xe9\x3b\x77\xd6\x72\xdf\xb9\x07\x97\x91\x79\x1c\x38\xc5\x29\x1c\xe6\x9b\x5f\x35\x31\x4d\x67\xe2\x2e\x10\x24\xef\x03\x6d\xdc\x84\x34\x0a\x2f\x62\x32\x6c\xa0\x56\x2a\x2f\x9b\x64\xf2\x4e\x1b\x2a\x8e\xcd\xb5\x10\x6b\xab\xfc\x33\x37\x0b\x6a\x61\x53\x3a\x73\xe4\x75\x37\x0d\x9e\x51\xa1\x50\x92\xcd\xc3\x15\x69\xa8\xe8\xbc\x6c\xaa\x6f\xd1\xdb\x96\xa9\x91\x67\x1c\xdc\xc3\x35\xe9\xe4\xab\xd7\x2f\x86\xfa\x09\xeb\x27\x7d\xdd\xe3\xb0\x1c\x84\x45\xa9\x9f\xbd\x7d\xf5\x72\x58\x3e\x85\xfa\x1e\x9d\xa0\x21\x6a\xc6\x6c\x84\x30\x7a\xca\x1f\x2f\xe1\xb1\xc9\x1f\xc3\xeb\xd5\x08\xe1\x4f\xd1\xa7\x43\xd4\xfc\xc5\x3a\x05\xc0\xa7\x1c\xf0\x49\xf7\x78\x84\xf4\x05\x80\x46\xf3\x4c\x4f\x9e\x36\xdf\xa1\x77\x9f\xce\x0e\x2e\x2b\x2e\x96\x6c\xb0\x29\x99\x6d\xdd\xad\xa8\xe8\x25\x61\xe3\xf9\x9c\xac\xd8\xcb\x30\xb9\x5c\x87\x97\x85\xfb\xb8\xaa\xa3\xb4\xe7\x57\x34\xbd\x26\x6f\xd6\xab\x55\x4a\x19\x59\x38\xee\xa9\x08\x69\x47\xfe\x51\x52\x91\xc0\x21\xee\xb0\xfa\x8a\x33\xe2\x4c\x93\xf0\x26\xba\x0c\x59\x4a\xdb\xb1\x8c\x9f\x57\x65\xff\xe0\x12\xa3\xf7\xc8\x9d\xb9\x5b\xb8\xe4\xe5\x71\xf8\x54\x5c\x39\x2c\xef\xbc\x12\x11\x9b\x4d\x03\x5d\x91\x29\x9c\x70\xfd\xfb\x6b\x42\xef\xac\xfa\xdb\x67\x54\x9f\x22\x57\x9e\x80\xaf\x6f\x63\x70\xf3\x9b\x8c\x78\xd7\x83\x8b\x13\xc4\x75\x44\x4d\xe4\xe2\x28\xf0\x46\xd1\x89\xba\x63\x67\x14\xa9\x2b\x9c\xd2\x80\x4e\xa3\x99\x8a\x19\x20\x77\xc4\xa6\x15\xd7\x86\xa6\x53\x6f\xe6\xce\x82\x4a\x88\x3f\xd3\x47\x70\x33\x4d\x97\xaf\x5e\xbf\xac\xea\xee\x39\xb4\xbe\xe5\xe4\x25\x45\x32\x1e\x6f\x30\x62\x66\xfb\xad\x49\x2c\xf3\x2d\xbe\xcb\x6c\xa5\xb0\x8a\xc3\xeb\x55\xe9\x5c\x73\xc5\xd8\x27\xec\x94\x0d\xc9\x53\x7a\x4a\x15\x4a\xbf\x5c\x85\xd5\x37\xdf\xe4\x42\x4d\xdf\xf0\xe3\x30\x8c\x3c\x94\xb3\xce\x8f\x40\xd4\xaf\xc2\x39\x29\x9d\x47\x7e\x12\x78\xf2\x84\x70\x84\x46\xf9\x4d\x94\x76\x2a\x68\x6f\xd6\xbe\xd5\x01\x9b\x8d\xf5\x1a\xa0\x86\xfe\x87\xdc\x11\x79\x6a\x02\x15\x23\xb8\x66\x60\x2b\x30\xdf\xf4\xa1\xff\x66\x32\x7d\x17\x87\x92\xd6\x70\xff\x52\xf5\xc5\x86\x9b\x4d\x9f\x74\xe1\xaa\x03\xa8\xef\x1b\x16\xce\x3f\x38\xbe\x3e\x6a\xbe\x70\x19\x17\xab\xb9\x7a\x50\xdc\xb1\x86\xc4\x65\xbe\x28\xd0\xb7\x39\x9d\x46\x43\x02\xe7\x9d\x8f\xa2\x20\x3a\x45\x5c\x7a\x46\x43\x84\xb0\x75\x8b\x16\x8a\xa3\x0b\x85\xe4\xb0\xc1\x44\xee\x0d\xf2\x71\x15\x71\x0d\x85\x0b\xdc\x03\x9f\x74\x5b\x28\x43\xad\xc8\xc5\xe6\x05\xaf\xa9\x8b\x59\x20\x8e\x1e\xa7\xbc\xfb\x54\x30\x73\xc5\x75\xe2\xcd\xa6\x63\x5f\xbc\xa8\x72\x71\x31\x91\x37\xa0\xc1\x5d\xf8\xfa\xde\x34\x77\xab\xe4\x66\x65\x0d\x23\x3e\x2a\x3a\x39\xcf\x00\x0d\xcb\xb7\x07\xf0\xde\x7e\x4a\x5a\x9d\x61\x67\xf7\x0d\x72\xac\xea\xf6\x38\x7d\xdd\x5b\xc4\xe5\x46\x1a\xd0\x51\x7a\xc2\xcc\xbb\xde\xa2\x69\xba\x4f\x67\x30\x1e\xd6\x5d\x2b\xa7\x6f\x5d\x11\x98\x66\xd7\x21\x65\xe7\x71\x9a\xd2\x49\x74\x13\x2d\xaa\x2f\xbe\x24\x07\x0c\x47\xe2\x6c\xff\x39\x89\x62\x87\xe6\xb9\xec\xd3\x13\x9f\xec\xf7\x4e\xa3\x21\x80\x97\x3c\x27\x79\xfd\xc0\xb2\x4d\xc3\x64\x91\x5e\xbf\x48\x6a\xee\x28\x33\x52\x88\x7b\x03\x20\xba\xe3\x3e\x71\xd8\x3e\x69\xf9\xae\xdb\x82\xbe\x2b\x2f\x2d\x7c\x15\x26\xe1\xa5\x79\x85\xaa\xba\x8f\x51\x8d\x00\xd9\x7b\x38\xca\xbf\xfa\xbe\x98\xf2\xf0\xb0\x15\xb7\xe2\x14\xb2\xd0\x57\xe3\x20\x92\x70\xc9\x5d\x04\xaf\x13\x71\x0d\x00\x80\xad\xdb\x3c\xb3\xe0\x7e\x5b\x46\xd7\xb8\x7d\x2b\x5c\x2c\x5e\xa9\xa8\xd6\xd5\x1e\xe6\xb5\x76\xf9\xe5\x81\x53\x36\x1b\xd1\x36\x20\x7d\x95\xc6\x0b\x42\xb3\x53\xab\xb8\x29\x9b\x05\xfa\x66\x4f\xe3\xec\xfe\xef\x09\x45\x6b\xfa\xd3\x77\xd9\xbb\xef\x71\x2d\xeb\x7b\x96\x96\x65\x5c\xb8\xd2\xe0\x65\x58\x25\x4c\x23\xfb\x16\x81\x59\x7b\x2e\x6e\x37\xdd\xba\xc3\xfa\xc2\x77\x57\x7b\x19\x25\x8b\x71\xb2\x78\x99\x86\x55\xd5\xe7\xec\xa0\xef\x36\xa1\x30\x7c\x9e\x72\x39\x24\x2f\x5b\x18\x66\xf9\x33\x8e\xd4\xe5\x38\x89\xe3\x0e\x99\x93\xe2\x4c\xdc\xc1\x14\x95\x1a\x71\x9e\x26\xf3\x90\x27\x49\x83\xe9\x0c\x67\xfc\x2b\x29\x5d\x89\x19\x1b\x18\x39\xf2\xee\x4a\x20\xc6\xeb\xfc\xf2\x69\x82\x23\x17\xd3\xf6\x45\x94\x88\x6b\x4d\xf1\x9e\x57\x78\xf7\x5d\x77\x9b\xbf\xbb\xa3\x44\xc8\x80\x5a\x72\xc4\x75\x74\xe0\xc3\x97\xa8\x0d\x17\x07\x3f\x7e\xf5\xf2\x33\xc6\x56\xaf\xc9\x2f\xd6\x24\x63\xa3\xa8\x9d\x26\x3c\x25\x49\xac\x51\xb4\xe3\x79\x01\x27\x10\x0b\xd9\x3a\x3b\x15\x95\x30\xd8\xcc\x31\x6e\xc5\x8e\xda\x94\x64\xab\x34\xc9\xc8\x5b\xf2\x91\xb9\x2e\x66\x8e\xeb\x0e\x69\xb3\x49\x1d\x95\x81\x55\x11\x1c\x89\x0b\x7b\xd1\xf7\x9f\xbf\x45\x18\xee\xba\x86\x1b\xd1\xab\x6a\x57\xa2\xdb\x83\xd6\xc0\xbb\xef\x39\xef\x16\x2d\xd7\x52\x36\x8d\xf1\x9b\x4d\xe9\xbe\x3f\xdb\xee\xa6\x64\xb9\xd4\x87\x11\xdb\x95\xdf\x25\x61\xd5\x0d\xa2\xae\xfb\x69\x58\x5d\xc0\x95\x6c\xa7\xbb\x04\x99\x69\xfb\xc1\x52\x6b\x40\x63\x6c\x36\x9d\x28\x28\x28\xbc\xea\x36\x56\xe2\xba\x78\x2f\x72\x0b\x77\x89\x88\x51\x51\x59\x20\xb2\x14\x79\x97\x88\x36\x90\xe8\x29\x19\x52\xf3\x6e\xaa\xd2\xb5\x3c\x5c\xd5\x08\xa6\x70\xeb\x63\x35\x8b\x47\x98\xb9\xee\x30\xda\x49\xea\x15\x4d\xe7\x24\xcb\x5e\xf8\x47\xc9\x98\x31\x1a\x5d\xac\x59\x9d\x10\x0b\x48\xfb\x17\x5c\x25\x7e\x43\x62\x32\x67\x29\x1d\xc7\xb1\x83\xa6\xbc\xca\x33\xe4\x62\x71\x37\x10\x33\xef\x06\x02\xb4\xaa\x0a\x70\xd8\x94\xce\x76\xb3\x40\x55\xb2\xca\x1b\x7b\xb8\xfe\xaf\xf3\x45\x1c\x1b\x24\xaf\x77\xb9\x87\x61\xd8\xbc\x3f\x9e\xb9\x72\x18\xa6\xae\x1c\x9f\x8b\xd7\xbb\x84\xc9\xa7\xac\x01\x91\x79\x73\xb4\x59\x78\xf9\x79\x78\x4d\x5a\xe8\x13\xfe\x16\x2d\x5a\xa0\xe2\x30\x17\x53\x3d\x60\x83\x65\xca\x54\x07\xa7\x38\x0d\x78\xe5\x46\xa9\x65\x2a\x04\x60\x2a\x00\x28\x48\x73\x73\x61\xe6\x62\x3b\xde\xf7\x64\xbc\xc7\x8d\x73\x6d\x96\x7e\xb5\x5a\x29\x89\xbe\x75\x0a\xc4\x30\x0a\x72\x5b\xe8\x3d\x6a\x51\x79\xef\x56\xa6\x15\x59\x27\x75\x47\xe8\x3d\x0a\x82\xe8\xd4\xbe\xf2\x3a\x1b\xc2\xc5\xcc\x79\x66\x11\x17\xc9\x30\x1c\xe4\x97\x35\x97\xc7\x6d\x2e\x12\x20\xef\x8c\xa5\x14\x6e\x63\xc7\xe6\xeb\x17\x17\x19\xa1\x37\x84\xbe\x17\x08\xa4\xc9\x1b\x11\x7e\x76\x15\x26\x97\xe4\xbd\x29\xa3\x20\x42\x94\x8d\xe7\x2c\xba\x21\xef\x83\x3d\x5f\x84\x18\xb7\xf1\x8b\xeb\x87\x29\x57\xb2\xf7\xfc\x91\x56\x77\xd1\x01\x1a\xd1\x36\x49\x16\x92\xa4\x07\xc8\xdd\x6c\x1c\xda\x0a\xf8\x13\x96\x2c\x49\x96\xd1\xc7\x80\xe6\x6f\xaf\xc9\x3c\xa5\x0b\x71\x59\xb0\xa0\x0d\xdc\xc7\xab\xf0\x15\x37\x06\x03\x60\x7e\x15\xc5\x0b\x71\x51\xbf\xba\x5d\x38\x0f\x7f\x19\x65\x0c\xc2\x2a\xe9\x64\x70\xf7\xe4\xf9\xf9\xf8\xab\x97\x6f\xdf\xff\x70\xfc\xf2\xab\xe7\x81\x3d\x43\xe3\x20\x09\xe5\x16\x63\x45\x2e\x02\xd7\x2a\xa2\x73\x45\x5c\x51\x7c\x41\x96\xe1\x3a\x66\x3f\x0c\xe3\x35\x09\x98\xc4\x71\x4d\x29\x49\x54\x18\x0f\xb1\xf0\x10\x91\x52\x55\xe7\x60\x3a\xab\xae\x86\x40\x60\x47\x6d\x1e\x5d\xf3\xc7\x65\x1f\x2e\x16\xaa\x21\xca\x2a\xa2\x46\x57\x5c\xdd\x24\x2c\xa2\x47\x64\x2a\xae\xbb\xae\xcc\xd7\xb0\xf5\xf2\xdc\xf5\xbd\x8a\xee\x88\x3d\x0d\x3c\xa9\x3e\xe6\x70\x79\x71\x20\xc3\xfe\x63\x31\xb8\xb4\xef\xf2\x56\x92\xbe\xd4\x50\x41\x45\x53\x9d\x1e\xfc\xd4\x11\xa6\xca\x26\x59\x5f\x5f\x10\xea\x7e\xef\x40\xdc\x82\x26\xed\x96\x12\x0f\xb8\xa7\xa5\xa0\x21\x12\x77\x6a\xe7\xd6\x4e\x29\xca\xa9\x21\x3c\xe1\x51\x14\x1a\x2d\xef\x9c\x72\x09\x52\x91\xb4\x8a\x28\x55\xe7\xa1\x9e\x51\x7d\x8b\x7a\xb4\x74\xf6\x6c\x89\x50\xbe\x47\xf8\xf3\x94\x35\x54\xda\x05\x72\x47\x35\x12\x44\x8a\xa2\x02\x03\x38\x95\x62\xaa\xa6\x29\x0d\xd6\xac\xc6\xf5\x21\x54\xc7\xf2\x12\xf3\x5d\xe8\x7a\x36\xba\x46\x27\xf8\x96\xb8\xf2\x22\xa5\xbc\xad\xbb\x7f\xd0\xbd\xf7\x82\x60\x7f\x9f\x36\x9b\xa4\xd9\xe4\x43\x8a\xbc\xf4\x0f\x47\xc1\x17\xc0\x2a\xed\x0f\xe4\x4e\x6a\xd4\xa6\xd8\x74\xeb\x8c\x33\x43\xdc\xb6\x88\xa9\x83\xca\xfa\x82\xf8\x6e\x36\x4d\x9b\x1f\xe5\x75\xc8\x1a\x1c\x67\x18\x71\xf3\x7c\x5c\x9b\x2e\x97\x84\xbd\x60\xe4\x9a\x2b\x3b\xba\xfc\x48\x4d\xab\x19\xc9\x94\x5e\xa2\x6f\x72\x84\x09\x65\x57\xde\x80\x1e\x4d\xb3\x19\x0e\x83\x4c\x8d\x98\xa9\x8b\xe3\x20\xd4\x8a\xa1\x21\xdc\x9b\xcd\x42\x3f\x48\xdc\xbd\xa0\xaa\x6b\x98\xf4\x99\x86\x33\xab\x13\xc8\xda\xef\x8a\x12\x24\x38\x6e\x36\x1d\xda\x6a\xc9\xfa\xde\x25\xf3\x33\x85\x86\x13\x72\xcd\x6e\xeb\x05\x81\x68\x2a\x63\xd2\x86\x58\xaa\xfe\x83\x4c\xb1\x20\xcb\x28\x21\x79\x8c\x4a\x35\xd9\x20\xa4\x46\x97\xcc\x46\xe9\xa9\x24\x0e\x1f\xbc\x27\xa2\xd7\xc3\x68\x34\xac\x4e\x00\xd6\x4f\xbd\x68\x84\xa4\x98\x36\x9b\xa9\xc5\xec\xf4\x1b\xd7\xa1\x4e\x7d\xf5\x46\x2c\xbf\xbb\x92\x29\xfd\xb4\x98\xda\xe1\xa6\xf3\xd4\x9b\x61\xf8\xf5\xe5\x6f\x67\xf6\x48\x34\xa0\x8d\x28\x49\xaa\xc6\xe7\x72\x51\x58\xa9\x15\x69\xa2\x1b\xb7\xa4\x0c\x61\x6e\x45\x54\x29\x1f\x9c\xa6\xac\xa4\x7e\xf0\xd0\x87\x35\x10\x83\xc4\x45\x9b\x8e\xdb\x44\xcd\xe6\xe3\x2e\x6f\x7f\x21\x6f\x6c\x5f\x85\x34\xbc\x1e\x36\x84\xda\x94\x09\x0d\x9c\xc8\x41\xb2\xa8\x4b\xa9\x91\x1a\x33\xb7\xa8\x44\xc3\x6d\xfc\x54\xf7\x3b\x4b\xc6\x94\x0b\x57\x16\xd4\x4a\xd7\x13\x66\x13\xab\x7a\x17\x9d\xd9\x12\x14\xec\x8f\x87\x68\x94\xa4\x2c\x5a\xde\x8d\xe3\xd8\x14\xef\x0a\x65\x52\x8d\xa5\x50\xc4\x20\xa1\x6c\xc8\x5a\x9d\xa4\x58\x90\x8c\x5f\xa7\x8b\x14\xbb\x1f\x8c\x89\x8f\x25\x0a\xc9\x57\x26\x68\xc0\x40\xf5\x57\xeb\x11\xd5\x6d\x64\xac\x51\x54\x46\x98\x46\x33\xb0\xeb\x21\x5b\x99\x91\xa1\x0e\x99\xc9\xf3\x60\x9e\x88\x62\xa1\xa1\x3e\x48\x14\xa1\x11\x43\xb7\xa8\x96\x4a\xd8\xb0\x63\x08\x70\x1c\x05\x0e\x4a\x03\x8a\xf7\xfd\xbd\x20\x57\xda\xd2\x0a\xe6\x99\xac\xb9\xc6\x16\x32\xd2\x80\xbe\x03\x44\x12\xe6\x5d\xea\xc2\x1d\xa2\x0d\x5e\xb3\xd1\x5e\xba\xd9\x14\x33\x1b\xb9\x62\x3e\x5d\x4f\x82\x3a\x3e\x1e\xf4\xfb\xdd\x7e\xe1\x52\x5d\x11\x0b\x6e\xe9\x4d\x71\xcf\xc5\x4c\xd8\x80\x2d\x34\xe4\x85\x8c\xc4\xd0\x53\xd3\xb1\x45\xcf\xcf\xef\x45\x4e\xa4\xa9\x93\x0f\x9b\x38\x69\x53\x02\x77\xcc\xc6\x8e\x5b\x25\x05\xa6\xe9\x2c\x48\xb0\x54\x8c\x53\x35\x6e\x72\x62\xe1\xcc\xc5\xc9\xc3\xfa\x02\x57\x90\xca\xf4\x97\xc2\xec\x92\x30\x80\x41\x90\x81\x89\xb2\xc4\xf2\x96\xc1\x51\x40\x35\xf5\x98\x3b\xe2\xe4\x8c\xf8\xd8\xa6\x94\xe6\x08\xfb\x16\x76\xd4\x75\xf1\x82\xc4\x84\x91\xd2\xf0\xcb\xab\xc5\x6a\xec\x12\x4b\xb5\xae\xe6\x1b\x90\x2f\xa4\x6a\x5c\xdf\x21\x5e\x20\x56\x23\x8e\x32\x26\x7b\x92\x31\x33\x69\xa3\x06\x7d\x12\x66\x6a\x1a\x91\x6b\xaf\x77\xd3\x52\xfe\x9f\xaa\xfc\xd1\xa7\x2d\xd2\xfa\x14\x29\x3e\xfc\xb4\x95\x5f\xa0\x4e\xf5\xbd\xba\xb5\xb5\x5e\x44\xcb\xa5\x1e\x3b\x4a\xf3\xaf\xba\xcf\xdf\x87\x8b\x05\x59\x0c\xef\xb7\x58\xb4\x2b\x3c\xce\xd3\xeb\xeb\x34\x19\xc2\x68\x01\x5d\x98\x98\x1d\x97\xb7\x13\xcb\x0d\x9f\x69\x34\x73\x4f\x69\x5b\xa4\x99\xf2\xd7\x59\xb0\xe7\x0d\x69\x1b\x72\xd6\x01\x96\x40\x30\xc5\xc0\x34\x9a\x45\x49\x43\x46\xdf\x6c\xf4\xbb\xc8\x90\xdb\xe8\x92\xe5\x16\x53\x26\xf3\x32\xe8\xf0\x40\x8b\x5b\xea\x51\x2d\x11\x3c\x9c\x5a\x8c\x99\x95\xd5\x5a\xbb\x41\x5d\x9c\x04\xce\xc3\x54\x87\x09\x6b\xec\xb9\xa3\xe4\x24\x55\x75\x4e\xd4\xea\x6e\x18\xa4\xd3\x64\x86\x63\x43\x84\x84\x20\xad\x62\xb0\x23\xb5\xe9\x18\xf3\x5e\xb0\x57\xc5\xf0\xe1\x4c\xe4\x74\xb5\x5b\x58\x88\x5c\xf7\xae\xdc\xfb\xe2\x44\x63\x78\x11\x93\x06\x4b\x1b\x94\x70\xb5\xb9\x2c\xf1\x42\x77\x34\x4f\x13\x16\x25\x6b\xb2\xbd\x2a\x0b\x9a\x6a\x9c\x82\x2b\xcc\xb5\xd3\x2b\xd3\xb0\x30\xd7\x0c\x95\x29\xc1\x9a\x4d\xe6\xb8\x5b\x77\x0b\x53\x66\xe2\xa2\xe9\xcc\xa4\xd2\x8e\xae\x9e\x4d\x93\xd9\x6c\xb4\x27\x72\x31\xb4\x5c\xf6\x08\x6b\x27\xb3\x26\x7d\xbf\xd3\xa1\xb4\xc2\x90\xe4\x46\x88\x63\x99\x3b\x2e\x66\x96\x46\xbf\x57\x65\xc8\x37\x9b\x0e\x7b\xdc\xbc\x4c\x51\xa7\x78\x1c\x05\x0a\xca\x0b\x28\x2e\xc1\x74\x36\xb2\x56\xa6\x4a\xb2\xf0\xde\x90\xe1\x66\x8b\xb0\x3c\x61\xc4\x13\x52\x17\x1c\x17\x72\xe1\xaf\x67\x45\xd3\x1d\xda\x91\x45\xfd\x74\xf6\x38\x22\x3d\x94\xb0\x8a\x6e\x44\x0d\x7d\x6a\xda\xf3\xb7\x63\xc4\x96\x19\x21\x73\x32\x17\x93\xf6\x32\xa5\xcf\xc3\xf9\x95\x53\x6e\xbf\x6f\x64\xa2\x45\xcb\x65\xf5\xaa\x8b\x52\xcb\xb5\x82\xce\x36\x9b\xbd\x83\x9f\x3a\xeb\x44\x58\x1a\x8b\xcd\x45\x9a\xc6\x24\x4c\xe4\x24\xd1\x46\x98\xa8\xc5\xb9\x22\xe2\x6e\x36\x40\xf8\x07\x35\x32\xd3\xd2\xab\x76\x37\xa8\xeb\x5d\xe5\xe1\xef\x81\xde\xc5\x6b\xed\x50\x6b\x32\x09\x33\x17\xb4\x86\x87\x67\xc7\x0a\x09\x95\x91\x54\xea\x42\xc3\x62\xbc\x87\x95\x52\x93\x04\x3b\x17\x7b\x2b\x6c\x63\x06\xb6\xe4\x83\x65\x64\xe4\xb7\x48\x5c\xb9\x4c\x21\x2c\x00\x83\xd4\x91\xa0\xee\x0e\xda\x9f\x16\x49\xcf\xec\x99\x98\x4c\xcc\xc4\xd8\x42\x10\x56\xa0\x4a\x09\x6b\x44\xdc\x83\x12\xd5\xc5\xe6\x18\xb0\xa3\x57\x61\xc2\x87\xe3\x07\x29\x7d\xf9\xdb\x1b\x22\xb4\xdf\x0e\x10\xfa\x21\x44\xc8\xc7\x55\x4a\xd9\x38\xfb\x6b\x59\x9a\x94\xe5\xf5\xfd\xb6\x42\x5e\x5b\xa2\x2b\x5a\x3a\x35\x92\x9c\x73\x9c\x29\xf0\x0d\xcd\x9c\x3d\xe4\x91\x36\x12\x5e\x04\x5c\x86\xde\x47\x8b\x61\x8a\x7f\x9e\xa5\xc9\xd0\xd6\xfe\x19\x4e\x5d\x0b\x7d\x31\xd4\x73\x03\xea\xde\x58\x6b\xb2\xc8\xc9\x66\xa3\xac\x20\xf5\x2b\x85\x3e\xe0\x6e\xc7\xd4\x5e\x6e\x0f\x4e\x24\x47\xd7\x1c\xa7\x73\x9a\x5e\xdb\x44\x2d\xf7\xd4\x5a\xe2\xe5\x34\xe3\x98\x3c\xe4\xbe\x17\x2d\x94\x41\x6a\x0f\x99\xd3\x74\x36\xca\x36\x1b\x47\x01\x73\xb3\xd6\x61\x18\x1c\x91\x52\xce\xd8\x05\x84\x1d\xc8\x93\x13\x5c\x5a\xa3\xda\x3e\x7a\xa4\x14\x29\xcf\x28\x95\x17\x4f\xec\x49\xc5\x87\xe7\x29\x8a\x0b\x76\x0f\x50\x75\xcf\xe8\xbd\x9b\x8d\x17\x04\xac\x1d\x87\x19\x7b\xa1\x4c\xc1\x1c\xca\x3b\xab\x92\x72\x6a\x0e\xb6\x3c\x79\xeb\x6a\x4f\xe0\x72\x0f\xb8\x37\x8c\xb2\xc2\xcc\x0f\x4e\xa1\xfd\xda\x09\xb9\x15\xb2\x2c\x0b\x22\x8b\xa9\x46\x59\x10\x04\x51\x89\xfd\xb2\x40\x58\x6f\xd2\x36\x05\xa9\xc8\x4d\xf2\x66\xd3\xb1\xd3\x07\xda\xca\x4b\x37\x1b\xde\xa2\xfc\xe9\xb4\x90\xe1\x30\xad\x1a\x84\xa8\x2b\x57\x55\x29\xc9\xd2\x35\x9d\x93\xe0\x5e\x3d\x65\xef\x85\x61\xa6\x41\xdc\x72\x2a\x5b\xb4\x39\x38\x4f\x08\x53\x80\xbc\xc5\x86\x0c\x27\xe1\x35\x19\x12\xbc\x08\x59\x38\xa4\x76\x7e\x45\xb7\x08\xd3\x3e\xae\xcc\xb7\x60\xd3\xb2\x82\x2f\xb5\x8a\x08\x22\x50\x4b\x40\x6d\xc2\xd6\x60\x5a\x44\x69\x12\xb2\xf0\x9f\x02\xb4\xda\x9c\x62\x55\xb8\x7d\x45\xe3\xca\xe1\xd9\x8e\x09\x10\xe5\x55\x08\xc4\x47\x2d\xda\xe6\x6d\xd2\x42\x98\x3f\xaa\xec\xd5\x92\x0c\x1f\x54\x84\x7e\x9a\x07\xb6\xcf\xc0\xad\xa4\xa2\xe3\x0a\xf8\x7b\xb5\xda\x9b\x5a\x0b\xd5\xd2\x19\x45\x0d\xa7\x5c\x12\x70\x6e\x5b\x70\x06\xe2\x3d\x9d\x24\x6a\x11\x49\x83\x4a\x1a\xa9\x8d\x41\x41\xae\x88\x24\xe5\x46\xb2\x0b\xe6\xd2\x3b\xb0\xd0\x35\x24\x2a\x38\x8b\xd8\xa8\x97\x5c\x47\x72\xd0\x94\xce\xa4\x78\xaa\xc5\xeb\x71\xab\xc4\xef\xcd\x65\xe2\xda\xbc\xbe\xe1\xe2\xf0\x7b\x73\x75\x18\x66\x4d\x8a\xcb\xc3\xef\x8b\xeb\xc3\xb5\x45\x83\xe7\x6a\x7d\x83\x0b\xb8\xe3\xe2\xc2\xaa\x8f\x74\x87\xaf\xcd\x56\x2e\x93\xed\x70\xd5\x78\xaf\xb9\xf6\x31\x19\x15\x27\x9a\xbe\x45\x4e\x59\x05\x4a\xb9\xa7\xdc\xfd\x76\x14\x19\xeb\x1b\x3a\x6b\x3e\x02\x46\x98\xfe\xff\xec\xfd\xdd\x76\xdb\xba\xb2\x28\x08\x5f\x7c\x17\xdf\x5d\x5f\xf6\xcd\xbc\x68\x9a\x7b\x2f\x85\x5c\x82\x14\x92\xfa\xa3\xe8\x30\xde\x8e\xe3\xcc\x99\x13\x27\xf1\xb2\x9d\x64\xed\x25\x6b\xe6\xd0\x12\x64\x73\x87\x22\xb5\x41\x28\x8e\x57\xec\xb5\xc7\xe8\xb7\x38\x63\xf4\x13\x9c\x77\xe8\xd1\xef\x72\x5e\xa0\x5f\xa1\x47\x15\x00\xfe\xcb\x96\x33\xe7\xdc\xdd\x17\x27\x6b\x4d\x19\x04\x0a\x85\x42\xa1\x50\x28\xfc\x15\xb6\x42\x7d\x3f\x91\xe9\x36\x44\xe6\xa6\xe8\xbd\xb8\x04\xd8\x63\xd0\xdd\x4f\xdb\x06\x7c\x47\xc9\x2c\x88\x6a\xa7\x1d\x93\xfa\x29\x95\x4c\x3f\xc8\xe3\x6a\x11\x64\x94\x58\x88\x8c\x0b\xe6\xf3\xc3\xaf\x34\xe6\x99\x46\xd0\x65\x2e\x5d\x6d\x49\x9d\x2a\x72\x36\xe8\x06\x24\xa7\xc9\x3c\xf8\x5c\x3b\x4c\xaf\x28\xda\x67\x34\xa8\x2a\x85\xec\x28\x57\x12\xcd\x6b\xa7\x0e\xf2\x58\xd3\xcb\xc3\x78\xb3\x42\x8d\xe7\x65\x70\x15\x0b\xe0\xd9\x88\xaf\xe4\x09\xa6\xfe\x53\xff\xbb\x42\x03\xc3\xa3\x04\xf1\x58\x6e\x64\x27\xbe\xb5\x9b\x6c\xd2\x4e\x49\x83\x76\x4a\xa6\x46\x28\xb6\x93\x36\xb1\xe6\x37\x68\xa7\x2a\xaa\xff\x3c\xe5\x54\x2d\xf9\xf7\xd1\x4d\x55\xac\xcd\xaa\xa9\x30\x57\x29\xaa\x15\x9c\x14\x8a\xcd\x9e\xda\x59\x7d\x66\x72\x76\xf3\x9d\x15\x0f\xfc\x31\x33\x3f\x77\x7f\x57\x9c\x3b\x0a\x91\x46\xeb\x9b\x99\xdb\x11\x78\xcf\xda\xfa\x1d\x09\x7d\xb5\x74\xde\xb1\x77\xc3\xe7\x30\x53\xe8\x74\xd4\xf4\x80\x4e\xc2\xa9\x9a\x1b\xd4\x2a\x93\x34\x57\x26\x15\x95\x99\x24\xd3\x62\x7d\xd2\x42\x7d\x30\x2d\x15\x93\x03\x5a\xdc\x4a\xf9\xe1\x8a\x6e\xd2\xc8\x35\xbd\x29\x5a\x81\x54\x8f\x3d\x98\xb8\x7d\x5f\x28\x9d\x6d\x57\xe0\x46\xce\x16\x56\x52\x6a\xc5\xb3\x6a\xf1\x74\xc2\xa6\xa6\xb9\x5b\x59\x28\x7e\x80\x82\x47\xe9\x77\x29\x7c\xe4\x47\x8b\xd8\x2c\x41\x60\x0d\xd1\x9a\xfd\xd3\x58\x3c\xd4\xf2\x81\x4a\xbe\xa5\xcb\xa4\x78\x73\x6d\x8b\x71\xe2\xfb\x5d\x1d\xc1\xef\xa3\xbe\x6a\xb8\xfe\xf3\xf4\x57\xad\xe8\xba\x02\x53\x57\xf5\x76\xcb\x27\x11\x4a\xe3\x13\x9f\xb0\xd2\x98\x51\x4c\x84\xe9\x65\x36\x84\x88\x19\xc8\xdd\x6e\x95\xb5\xa4\xf9\x52\x55\x76\x92\xc0\xb7\x76\xe9\xa6\xe1\x86\x36\x0c\x37\x74\x6a\xf0\xf2\x89\x7e\xeb\x21\xa5\x5b\x63\xc5\xd6\x5a\x57\x2e\x7e\xfd\x61\xda\x76\x13\x65\xbf\xaf\xba\x95\xd7\x88\xff\x5f\x51\xb3\xb5\x1a\xde\x6f\xf9\xd6\xb8\x5f\x8d\xa8\x1d\x37\x13\xab\xba\x09\x88\x71\x82\x53\xff\x4c\x56\xc3\x5c\x38\xf9\x1f\x21\x86\x49\x4d\x0c\xef\x1f\x00\x36\xb1\xa2\xda\xd8\xaa\xa1\xcb\xdb\x4d\x14\xb7\x9b\x36\x76\xc5\xb0\xd0\x15\x41\x06\xee\x48\x35\xbd\xca\x39\xdc\xd3\xde\xfd\xfd\xd9\xc2\xca\x87\xf0\x1e\x18\x30\x36\x68\xc8\x86\xee\x59\xdc\x29\x2d\x08\xc4\x8f\xe3\x7f\xc4\x88\xd4\x5c\xf6\x84\x4d\xa7\x1b\x46\xa3\x33\x9a\xf2\xcd\x37\xfb\x92\x4b\x9f\xde\xde\x8a\x13\x81\x05\xc8\xee\x51\x72\x59\xc9\x5c\x3b\x12\x04\x69\x27\xeb\x78\x93\x27\x83\x72\x66\x09\xac\x76\x05\x36\xe3\x4e\x62\x09\x7a\x90\x2c\x57\x50\xd5\x12\xfe\xcd\xf9\x38\x4d\xf9\x31\xa3\xc1\xf2\x22\xaa\x5e\xb1\x7c\x20\x53\x92\xf2\x6d\x72\x1d\x25\x97\x05\x08\x5f\xee\xed\x2b\x0b\x25\xf8\x4a\xb3\xa3\xcd\xf3\x80\x07\xbe\xae\x17\x2f\x39\x7c\xae\x7c\xe3\xdd\xd5\xcf\xbe\x3c\x5c\x2c\x71\x7d\xf6\x29\x99\xe8\x51\x72\xa9\x13\x7d\x4e\x2f\xd6\xf0\x37\x8c\x17\x89\x4e\xf4\xeb\x80\xc5\x3a\xd1\xf1\x7a\x8c\x3e\xcd\x76\x34\xa9\xff\xfc\x7b\x44\xb9\xc6\x7d\x5d\xdf\x4d\xaf\x43\xa9\x2b\x67\x41\x4a\x25\x06\x0f\xc3\x98\x5d\x04\x05\x0a\x0f\xe6\x79\xa5\x6b\x2b\x78\x02\xe1\x0e\x28\xe1\xd9\x96\xb3\x24\x4b\x29\x3f\x5c\x07\xa8\x24\xf8\x86\xd1\xed\x76\xa9\xe9\x3f\xcf\x19\x91\xed\x5f\x05\x3c\x68\x17\x0f\xff\x7e\x6e\xf3\x36\xed\xfe\x5b\x12\xc6\x86\xae\xe9\x66\x1b\xaf\xdc\x12\x26\x2f\x03\x97\x50\x83\x8c\x98\x77\x26\x99\xe8\x97\x2c\x59\xaf\x74\x22\xfe\x1e\x24\x51\x14\xac\x52\x3a\xaf\x30\x41\xd0\xcd\x1f\x45\x37\xf5\x75\x1d\xe9\x46\x5b\x72\x0b\xe2\xa9\x24\xb8\xdc\xae\x9a\xa6\x77\x19\x5d\xd1\x80\x1b\xed\x76\xad\x89\xb1\x16\xbb\x8d\xe4\x75\xb1\x46\x87\xf1\x5c\x8c\x2c\xea\x6b\x03\x90\x6f\x18\x82\xd8\x7b\xca\xef\x74\x1a\xcb\xaf\x08\xf2\xe9\x3a\xe4\x1b\x8f\x9e\xe7\x13\x0d\x9e\x67\xf9\x9c\x2d\xff\x40\xd6\x77\x85\xeb\x2d\x29\xe5\xeb\x15\xe8\xd9\x6c\x9f\xad\x04\x02\x06\x2b\x14\xed\x37\x50\xa0\xd2\x08\xef\xce\xc3\x34\xb8\x88\xe8\x46\xc8\x42\x3a\xc1\x9d\xbc\x8d\x90\x32\x2d\x87\xc2\x73\x48\xf7\x40\x42\x3a\xe1\x58\x59\x08\x0a\x93\x5c\xd6\x7d\x25\xae\x15\xe5\xfa\x42\x1d\x5c\x10\xfa\xcf\x68\x42\x9b\xc1\xe2\xb1\x13\x68\x76\xb6\x9e\xf1\x84\x35\xd1\xd0\xd4\x2e\xdd\x74\x7d\x31\x8b\x82\x34\xa5\xf2\xc0\x20\x37\x09\x6f\x6c\xc1\x02\x24\x10\x7d\x0f\x87\x1b\xce\x15\x67\xd6\xb5\xaa\xa9\x5c\xab\xcf\x4f\x63\x42\x82\x86\x9b\x16\xb8\x5c\x2f\x46\xa3\x66\xbd\x2e\x95\x3a\xe1\xea\x36\x81\xc4\x09\xdd\x4c\x5e\xee\xca\xf8\x2b\x2a\xc5\x9a\x85\xb2\x24\x08\xff\x79\x44\x97\xae\x3d\xbc\x14\x24\xcc\x11\x17\x9e\x63\xee\x2e\xd6\x51\x04\x12\xbd\x81\x68\x25\x8f\x9b\x8e\xac\x14\xd8\x71\x2f\x82\xf2\x91\xb9\x3a\x0e\xe4\x5f\x33\x86\x92\x21\xd7\x70\x2a\xa2\x36\x9b\xe7\x68\x2e\xc1\x84\x4a\x4c\xee\xf7\xc0\x82\xf0\x60\x86\xb5\x45\x01\xeb\xd5\xbd\x63\x72\x35\xc7\x6a\xbb\x51\xb9\x96\x6d\xcb\x71\xb9\x26\x2c\xf9\x52\x09\x60\x3c\x80\x2e\xa2\xd4\x15\xb0\x11\x75\x93\xd4\x67\xaa\x65\xd1\x77\x8c\xd4\x5b\x6d\x7d\xa2\xb7\x79\x5b\x9f\xea\x79\x9e\x57\x12\xfd\x67\x9f\x35\x15\x5f\xb4\xe9\x2a\x06\x91\x70\x41\x51\x45\x23\x47\x3c\x59\x2a\x99\x50\x22\x6c\x91\x93\x75\xdc\x9d\x7d\x9b\xaa\x69\x8f\x90\xfb\xd2\x8d\xe3\x72\xe1\x27\x34\x5d\x47\x1c\xa3\x94\xb9\x24\x2f\x39\xef\x02\x2b\xc3\x98\x47\xb1\xa1\x43\xb2\xc6\x82\x30\xa5\x73\x2d\x88\x35\xfa\x6d\x46\x57\x5c\x3a\x59\x02\xf5\x22\xdc\x60\xe0\x11\x38\x0c\xd5\x6e\x38\xef\xe5\xc8\x24\x88\x1c\xc4\x61\x38\x34\xbd\x5a\xaa\x69\x12\xda\x9d\x49\x82\xa0\xf4\xcf\x06\xed\xbe\xda\x7f\x7d\x74\xf8\x92\xec\xd8\x62\x85\xb6\xc1\x38\x6c\x5a\xfa\x29\x8c\x42\xaa\x11\xd1\x66\x85\x5f\x69\x3c\x7d\xf3\xf9\xed\xad\xba\xff\xb9\x08\xc2\x68\xcd\x84\x4a\x14\x83\x61\xa6\x21\xa5\xc9\x1c\x30\xfe\x32\xe0\x14\x3d\x91\x48\x7b\x6d\xcd\x02\x28\xb6\x10\x25\xb7\x95\x05\x7f\x0b\xf1\xcb\xe0\xdb\x2b\x55\x82\xa5\x0a\x88\xc3\x59\x66\xfb\x01\xbd\x7f\x59\xd3\x35\xfd\x2c\xef\x6d\x36\xd4\xb3\x20\x2e\xfb\x47\x47\x9f\xcf\x0e\x4f\xcf\x4e\x6b\x97\x4f\x9f\x05\x51\xd4\x01\x6c\xe9\x73\xbc\x80\x7a\x3f\x9e\x14\xef\x82\xd7\xd4\x50\x85\xa4\xe2\xba\xd0\x36\xf8\xaa\x96\x42\x79\x6a\xc2\x6f\x6f\x11\x7f\x56\x07\x12\xe2\xc9\xde\x92\x42\x33\x4c\x92\xfa\xd6\x6e\x9a\x1f\xc8\x4d\xd5\x79\x8d\xd8\x4f\x26\xa9\xf0\x2a\xa6\x8e\x1b\x66\xa8\x4c\x79\xc2\x20\x93\xc3\x13\x7a\x79\xf8\x6d\x25\xb6\xa0\x99\x38\x36\x17\x67\xdd\xd9\x34\xb3\x63\xb3\xca\x3f\x40\x9e\xb8\xe3\xb3\x2c\x59\xce\xe1\x33\x66\x19\xb1\x49\xc2\x76\xfb\xae\xe8\xb1\x65\x1b\xc6\x1c\x07\x9c\x53\xb6\xe1\x34\x8b\x6f\xc9\x4b\xf8\x0f\x0c\xef\xc5\x65\x46\x69\x69\x16\xd8\xde\x68\x5d\xe4\xb9\x27\x6c\x4a\x0a\xc7\x9b\x64\x53\x44\xc9\xa5\x3c\x6c\xfc\x2e\xc1\x01\x2c\xd5\x96\xa0\x49\xe8\x5c\x13\xa8\xc1\xc8\x9b\xb1\x90\x53\x16\x06\xd2\xd3\x41\xcd\xba\xa8\x57\x3a\x89\x3f\xc4\xb3\x60\x7d\x79\xc5\x0f\x95\xee\xf8\xdc\x74\xa6\xdf\xf2\x7d\x9a\xbb\x77\x51\x79\xb4\x28\xbc\x78\x48\x6b\xe9\xa6\xb8\xde\x51\xc8\x2e\x3c\x66\x78\x1a\x76\xe0\xb9\x6e\x4a\xc5\xb6\x63\xed\xaa\x9b\x9d\xa5\x4e\xda\x6a\xd1\x1d\x3f\x2f\x53\xde\x55\x2c\x81\x74\xe9\xb7\x15\x9d\x71\x3a\xc7\x43\x63\xd2\xe5\x41\x76\x64\x45\x9f\xaf\x71\x4d\x6a\xb7\xe1\x06\xb0\xcc\x2f\x48\x92\xa7\xa4\xca\x49\xc7\x87\xef\x5e\xbe\x7e\xf7\x33\x3a\xa1\xd0\x83\x05\xa7\x4c\x4d\x14\xa0\x4d\xa8\x3a\xa5\x26\xa9\xcb\x54\xb0\xa6\xb7\xc3\xb6\x2e\xec\x16\x98\x9e\x79\xcd\x84\x43\x7a\x6e\x86\x54\xf1\xd2\xb6\x4e\x34\x1c\xb3\x3c\xbd\xcd\xcc\x06\x0d\x56\x51\xc6\x0d\x00\xb9\x76\x26\x3b\xf6\x26\x05\x7d\xdf\x34\xbd\xbc\xd7\x48\xa5\xab\x94\x5c\xb5\xd2\x6b\x0d\xd4\x6e\xa7\xac\x85\xf3\xaa\xa8\x79\x8e\x51\xa8\x1e\x4c\x7e\x8d\x82\x16\x97\x5d\xa6\xad\x4b\xa1\x20\x8a\x5b\x4a\xeb\xe7\x00\x10\x53\x00\x58\xa6\x67\xc9\x29\x9d\x25\xf1\x3c\xfd\x5c\xa6\x4c\xdd\xe9\x4b\xd7\xcb\x65\xc0\xc2\xbf\x53\xc3\x54\x3b\xb3\x49\x8c\xfc\x2d\xa8\xff\xc2\x68\x54\xe7\x80\x5c\x65\xf2\xaa\x67\x23\xeb\xac\x2a\xad\xd5\x91\x9d\xda\x3a\x4d\x23\xbf\x45\x43\x35\xae\x8a\x94\x8c\x0c\x85\xa3\xb4\xb6\x61\xa8\xdb\x03\xdf\x60\x68\x4e\x85\xa9\x55\x4b\xe4\xdf\x0a\x0b\xae\x75\xe1\x55\xdd\xa7\x20\xbe\x61\xac\x65\x68\x40\x76\x0d\xe9\x53\x6b\x4f\xfe\xf5\xb2\x3b\x93\x72\x98\xb4\xee\xe4\x36\xb4\xe8\x49\xb4\x7b\xbc\x7f\x7a\x7a\xf8\x72\xaf\x2a\xd2\xca\x61\x8e\x47\xb3\x96\x7a\x3e\xb0\xd4\x7d\xff\x5c\xcf\x9d\x46\xc9\xb5\xe8\x3e\x3c\x49\xbe\x34\x36\x37\xad\xb5\x75\x45\xde\x54\x61\xa0\xbd\x44\x3f\x30\xcb\x52\x95\x5d\x94\x2c\xf4\x1b\x31\x36\x82\x68\xa0\x4f\x9a\xef\x8d\xd5\x32\x8b\xba\xa4\xc4\xcb\xec\x48\xd4\x3a\xe2\x9a\x52\x75\xe8\xea\xa4\xd8\xd5\xc5\xb5\x90\x8c\x19\x65\x4e\xee\x16\x7b\x86\x1a\xd9\x31\x8e\xad\xe3\x77\xf4\x1b\x17\x9d\xfd\x11\xc2\x75\x42\x1b\xc4\x2b\x33\xc5\x0a\xf4\x1f\xe1\x7d\x3d\x09\xab\x2d\x12\x96\xcd\x96\x1a\x2b\xc0\x4b\xb7\xd1\x24\xc5\x85\xed\x24\x86\x37\x70\x4a\x3d\x5d\x2e\xf0\xb3\xec\x4a\x5a\xb5\x31\xb6\xa8\x56\x91\x0d\x4d\x9e\x01\x90\x91\xb7\xb7\x3b\x55\x2b\x49\x9e\x72\x2c\xb6\x5d\xbd\x0f\x1b\x66\x36\x0e\x15\x8c\x42\x29\x9f\x15\x7d\xf4\xdc\xaf\xc2\x6d\x12\x8c\xb7\xc1\xb7\x70\xb9\x5e\x6a\x12\x81\x36\x4b\xd6\x31\xd7\x18\x0d\x60\x0c\x27\x5a\x70\x91\x30\x1e\xc6\x97\x42\xe2\xd9\x3a\xee\xaa\x51\xa6\x91\x40\xb1\x6e\x5e\xa9\xde\xc4\x9a\x12\xde\x30\x84\xed\x35\x0d\x78\x20\xe4\x1e\x0a\x39\xea\x98\x56\xab\x34\x19\xa1\x85\x29\xd6\xed\xad\xc1\x0b\xbd\xb3\x49\x9d\x63\x9c\x51\xcc\x94\xcf\xba\xd0\x37\x20\xbd\x2e\xa1\x34\xaa\x3a\x2d\xd3\x61\xc5\x7d\xa1\x66\x46\x66\x86\x8a\x26\x86\x75\x0d\xe7\xad\xdb\xa9\x28\xe1\xfc\x69\x23\x5b\xef\x32\x75\x5b\xac\x54\x66\x8b\x36\x4e\x20\x6a\x4b\x10\x22\x41\x2c\x42\x70\xa2\x72\xd5\xf4\xb7\x9c\x3a\x37\x8c\xd8\xb9\x3e\xe7\xd9\x0c\xfb\x7e\xb0\x8a\x94\x4b\x9f\x6f\x0f\x72\xb2\x51\xef\x4b\xa6\xa2\x18\xaa\xd2\xef\x67\x6e\x93\x50\x3c\x9a\xe1\x65\xe9\x64\xeb\xd8\x78\xec\x80\x55\x24\x9c\xad\xe3\x2d\xc7\xac\xad\x74\x4d\x83\xfb\x3b\x69\xc2\xe8\x27\xeb\x38\x86\x62\xe5\xf0\x54\xd3\x35\xd2\x04\x34\x52\x53\xaf\x59\x1f\x92\x2d\x75\x0b\xbc\xe6\xa6\xa9\x30\xb7\x95\xd6\x16\xf9\xa1\xe1\xa0\x38\x7a\x36\xac\x6a\x19\xf4\xa9\x4d\x7b\x66\x97\x27\xaf\xc2\x6f\x74\x6e\x38\x66\x5b\x4f\xf5\x2d\xa6\x4e\xca\xc2\x6a\xd2\xc5\x15\x8d\x69\x36\x6c\xfb\x55\x40\xf2\x4d\xbf\x42\x9b\x8b\xe1\xdb\xab\xda\x85\x13\x3a\xad\xd8\xd0\xbb\xcd\x0d\x51\xb3\x2f\xce\xa4\xa0\x68\x61\xac\xc6\x3b\x6f\x8b\x66\xd4\xae\x29\xa3\x5a\x9c\x28\x25\x5d\xe5\x8e\xd4\x0b\x8d\xcb\x56\x72\x21\x28\x5b\x62\x47\x43\x83\xe7\xfd\x57\xad\xa9\x6e\xb9\x94\x21\x6d\x1b\x0c\xcb\x59\x8a\x48\x68\x9c\x0d\x49\x37\xaf\x8d\xcb\x4c\x79\x53\x4a\x3c\xbe\xbe\xa2\xf1\x1c\x26\x4d\x0f\x65\x10\xed\xe2\xcb\xf6\x79\x10\x5c\x58\x4f\xbe\x2e\xe7\x7e\xcd\xe0\xc5\xf9\x63\x7d\xd5\x43\x98\x56\x3e\xdd\x50\x97\x62\xe6\xe2\x86\xa0\xf4\x1b\x50\x5f\x87\xd5\xb7\x98\xc5\x66\x92\xc1\x1a\xa6\x6d\x30\x49\xcb\x0d\xbd\x22\x98\x88\x7d\x90\xe9\x4d\x2a\x66\x53\x97\xc7\x92\x99\xdc\x6f\x35\x8b\x82\xb0\x53\x92\x04\xb9\x6e\x20\x9d\x01\x7f\x86\x41\x1c\x15\x5f\x69\xe9\x70\x1e\xce\x85\x28\x8b\x01\x22\xd0\xbe\x06\xd1\x9a\x6a\x41\x3c\x2f\x24\xa1\x17\x4d\x6d\x99\x30\x8a\xae\x85\x33\xc3\xa4\x61\xe6\x99\xcf\x35\x37\xf4\x8b\xf2\x8d\x2c\x3a\xe3\x45\x11\xad\x37\x75\xb3\x20\x6f\x6a\xf9\xd2\x1c\x56\xd6\xbb\xc6\x57\xc5\x90\x7a\x3f\x2a\xb1\x2f\xbf\x11\x5b\xe4\x17\x64\x9e\x6b\xc9\x9a\xff\x5e\x4c\x90\xdc\x05\x6a\x1b\x96\xf7\x24\xa9\xad\x56\xd9\xdb\x72\x31\x4d\x8d\xfe\xaa\x56\x0d\x53\x54\x99\x54\x1c\x54\xea\x0b\x85\x35\xca\x4a\x15\xab\x6f\xd9\x6c\x64\xdc\xa3\x96\x07\x24\x82\x82\x68\xc3\xc0\x52\x9d\x11\xab\xe9\x77\x23\x50\x3e\xb3\xc9\xee\x25\x66\x6e\xa7\xa5\xf2\x7e\xe6\xdc\xde\x16\x6f\x16\x3e\xa8\x36\x44\x81\x0f\xb2\x28\x60\x2c\xb8\x39\xfc\x4b\x03\x77\x76\x28\x4c\x3e\xd4\xba\x16\x6d\xb5\x76\x38\xfa\xeb\x91\x04\xed\xf8\xbc\x3c\x15\xd9\xb1\x77\x37\x1c\x0c\x69\xb7\x99\x09\x39\x27\x6c\xba\x83\x7e\x2f\xf3\x1c\x6a\xd5\xec\x61\x3a\xd3\x94\x32\x7e\xf8\x97\xda\xa0\x94\xed\x0e\x87\xf2\x14\xb9\x2e\xae\x31\x17\xbc\x73\xab\xe9\x0c\x95\x0e\xda\x73\x87\xef\x05\xdf\xda\x9b\xee\x75\x57\x0f\x03\x99\x77\x85\x6b\x9b\x72\x02\x65\xef\x01\x8a\x36\x2f\xec\x3b\x78\xc5\x0f\x5c\x55\xd8\xf1\x7d\xde\x6a\xed\x34\xb8\x68\x95\xc3\xba\x6a\x0a\x6c\x01\x33\xbb\x35\xb8\xa7\x4f\xf4\x36\x6b\xeb\x53\xdd\xd3\xf5\xdd\xcc\x70\x30\x74\xc5\x12\xbd\x9d\xc8\x89\xec\x95\xbc\x73\x19\x44\x11\x65\x47\xc9\x0c\xa5\xf7\xb3\x61\x8b\xe3\x13\x6d\xe0\x50\x5b\xd7\x76\x7c\x1f\x3f\xb8\x59\xdf\xeb\xd8\xc0\xf7\x06\xe9\xb0\x76\x7c\x3f\x73\x56\xcd\xf7\xb2\x6d\xa9\x46\x22\xb1\x02\xdb\x90\x98\x35\xcd\x16\xa4\xd5\xd1\x34\x2c\x3b\x35\xb9\x57\x67\xea\x44\x27\xab\xbb\x58\x9f\xd0\xb6\x33\xed\xe2\xb2\xb4\xf1\xd4\x98\xfc\xfa\x74\xda\xf6\xce\xe7\x6d\x13\x7e\xce\xcd\xbd\x7f\x7e\x9a\xb7\xfe\x1e\x9f\xd8\x53\x4f\xdf\xdb\xdb\xd3\x1f\x26\x56\xea\xe0\xe6\xfd\x0f\xd0\x05\x99\x39\xbe\x85\x5e\x03\xd6\x96\x30\x55\xb5\x85\x94\x28\xa5\xf8\xe9\xc3\x8a\xbe\xbe\xca\x57\xaf\x42\x90\xa6\xb5\xa1\xa8\x01\xa5\x30\x8f\x14\xca\x0f\x67\xaf\xdc\x97\xf8\x18\x05\xab\x65\xbe\xb8\xe1\x34\x3d\xa2\x0b\x9e\x1f\x35\x9a\xd3\xe3\x24\x8c\xb3\x88\x28\xb9\xa6\xec\x45\xb2\x8e\xe7\xbe\x55\xc1\x56\x72\xaa\x06\x31\x1b\xf6\x3b\x74\x9d\x34\x1c\x54\x93\xcb\xea\x78\x57\x9f\x1d\x24\x73\xba\xcf\x0d\x86\x8b\x26\x96\x1c\x0b\x32\xe2\xcc\xf0\x99\x6f\x3b\xa3\x3d\xde\x96\xe0\x08\xea\xd9\x63\xe7\x99\x1f\xb6\x5a\xe1\x33\xdf\x71\x7a\x7b\x46\xa5\x02\x61\xc7\x1e\x3b\xa4\x52\x4d\xbb\x56\x2b\xdb\x71\x4d\xcf\x71\xfa\x19\xaa\xde\xb8\x01\x95\xe3\xf4\xab\xa8\x9c\x1a\x2a\xc7\xea\x03\xae\xbe\x95\xe1\xea\x8f\x9a\x70\xf5\xad\x2a\xae\x5e\x0d\xd7\x70\x30\xe8\x0d\x01\x99\x9b\x21\x1b\xd8\x8d\xc8\xdc\x2a\xb2\x7e\x03\x61\xe3\x91\x3d\x70\x4c\xcf\x19\xe4\x2c\x1b\x34\xb1\xcc\x19\xd4\x58\x36\xa8\xd3\x36\xb2\x2d\xd7\x1d\xf6\x4d\x8f\xb7\x7d\xfd\xff\xfe\xbf\xfe\x4f\x3d\xf3\xbb\x6d\x3b\x19\xbd\xf6\xd8\xce\x07\xf9\x0c\x5d\xa7\x53\x15\xb4\x0a\x11\xcf\x9e\x0d\xcd\xb6\x11\x76\xa0\x5d\x48\x5d\x14\x8a\x9e\x0e\xb3\x3c\xea\x1a\x50\x4e\xe3\xed\xed\x60\xe0\x8c\x87\xcf\xfc\xa4\xd5\x4a\x9e\xf9\x83\x51\xaf\xdf\xbb\xbd\x4d\x9e\xdb\xb6\xdd\xb7\x6d\x7b\x4f\x11\xee\x25\xcf\x90\xd3\x10\x21\x54\x5f\x77\xc1\x92\xe5\x81\x94\x49\x23\x31\x3d\x23\xe9\x88\xd6\x20\x1b\x60\xb0\xa4\xb6\x91\x3c\x7f\xfe\xdc\xb6\x5a\xb6\xe5\xf4\x4c\x32\x18\xf6\x1c\xab\x6d\xc0\x47\x2b\x31\x4d\x79\xd5\x5e\x53\xc5\x56\x79\x6c\x11\xd6\xe9\x94\x5e\x86\x91\xcf\xc7\x9c\xbd\x72\x9b\xa6\xd8\xc2\x00\x29\xf4\x45\x53\x66\x90\xca\x4b\xbe\x65\x54\xcd\xfd\xe3\x7d\x12\xeb\xa3\x5a\x16\xb9\x69\x86\xc8\x95\x5e\xd6\xf4\x92\xe1\x12\x64\xd8\xb3\xc7\xb8\x4b\xdb\xb6\xb3\x32\xb2\x93\xdf\x25\xfc\x6d\xdb\xdc\x95\xe8\x0b\x8d\xb5\x67\x08\xfc\xc3\xb6\x21\xb8\x18\x9a\xcf\x9e\xd9\x96\x99\xf1\x94\x00\xc1\x9e\x24\x42\xee\xeb\x4a\x8a\xd0\xa1\x01\x50\x2d\xf4\x86\x59\xd6\x1b\xbb\x99\xd7\x38\xe8\x05\x16\x76\xd1\xe6\x86\xb5\xc7\xce\x6d\xf8\xfc\xf9\xf3\xa1\x49\x52\xdf\x36\xbd\xf0\x19\x16\x30\xd8\x98\xc1\x71\xfa\x98\xc1\x76\x20\x87\x63\x7a\x1b\x01\xfb\x96\x00\x74\x01\xb0\x67\xee\xa6\xcf\xad\x5d\x33\x85\xce\xb1\x81\x14\xc7\x15\xa4\xfc\x39\x6d\x0d\x7b\xe5\x47\x84\xae\x67\xe2\xfd\xb0\xeb\x59\x37\x5e\x47\x9f\xc2\x39\xbf\xf2\x2d\xf1\x3d\x4b\x62\xce\x92\x72\x1c\xa3\x97\x01\x9b\x1f\xfc\xdb\x97\xfd\xe5\x45\x78\xb9\x4e\xd6\xa9\xbf\x63\x4b\xf0\x42\xa4\xc8\xe3\x28\x3c\xcb\x8b\x30\x86\x89\xef\x64\x32\x1a\xba\xc4\x1d\x8d\xa7\x64\x62\xdb\x83\x01\xb1\xed\x81\x8b\xe1\xa1\x45\x6c\x7b\x68\x43\xb8\xef\x0c\x88\xdd\x1f\x22\x4c\x7f\x64\x13\xf8\x11\xe1\x1e\x84\xfb\x22\x3c\x84\xf0\x48\x84\xc7\x10\x46\x78\xe8\x68\xf6\xa0\x27\xc2\x03\x87\xd8\x83\x01\xc2\x0c\x6d\x9b\xd8\xc3\x9e\x85\xe1\xbe\x4b\xe0\x07\xc2\xa3\x81\x45\xec\xd1\x10\x71\x8e\x86\x23\x08\x8b\xf8\x11\xc4\x8f\x7a\x10\x76\xad\x11\x81\x1f\x11\x1e\x43\x18\xf1\xbb\x7d\x8b\xd8\xee\x70\x08\xe1\xf1\xc0\x25\xf6\x18\xf3\x3a\x96\x33\x22\x8e\xd5\x1b\x40\xb8\x67\x0d\x88\xd3\xb3\x86\x18\x1e\xf6\x09\xfc\x88\xf0\x98\x38\xbd\x91\x88\x77\x6d\x02\x3f\x22\x0c\xf0\x2e\xe2\xe9\x5b\x0e\x71\xfa\x56\x0f\xc3\xbd\x1e\x81\x1f\x0c\x8f\x21\x7e\xec\x88\xf0\x88\x38\x03\x0b\xea\xe5\x0c\xac\x31\x84\xc7\x18\xee\x59\xc4\x19\xf4\x10\xe7\x60\x68\x13\x67\x30\x44\xf8\xa1\x63\x11\xf8\x11\xe1\x01\x84\x91\x86\x61\xcf\x26\xce\xb0\x27\x60\x7a\x10\xdf\x1b\x61\x78\xe4\x10\x67\x88\x7c\x70\x86\xee\x98\x38\xc3\x31\xe6\x1d\xf5\x5d\x02\x3f\x18\x1e\xf4\x88\x33\x42\x3e\x3b\xa3\xc1\x98\x38\xa3\xa1\x80\x19\x0e\x20\x8c\x7c\x18\xb9\x43\xe2\x8c\x5c\x84\x71\xed\x11\x81\x1f\x0c\x8f\x86\x04\x7e\x44\x78\x0c\x61\xa4\xdf\x05\x9e\xb8\x2e\x96\xeb\x8e\x7b\x04\x7e\x20\x3c\x06\x9e\x8c\x2d\xa4\x73\xdc\x1f\x12\xf8\x99\x92\x49\xcf\xb2\x5c\x02\x3f\x18\x76\x6c\x02\x3f\x10\xb6\x7b\x7d\xd2\xb3\x7b\x08\x63\xf7\x1d\xd2\xb3\xfb\x7d\x11\x1e\x42\x78\x8c\xe1\xc1\x88\xf4\x84\x1c\xf6\x9c\xa1\x45\xe0\x47\x84\x7b\x10\xee\x61\x78\x04\xf1\x23\x11\x3f\x1a\x42\x78\x84\xe1\xb1\x4b\x7a\xce\x18\xf1\xf4\xc6\x3d\xd2\xeb\x8d\xa1\xbe\xbd\xbe\x35\x20\xf0\x03\x61\x68\x0b\xf8\x11\x61\x97\xf4\x06\x7d\x11\x06\x7a\x06\x7d\xa8\x4b\x6f\xd8\xeb\x11\xf8\x11\xe1\x21\xe9\x0d\x65\xfc\x60\x40\x7a\x43\x6c\xbb\xde\x68\x68\x13\xf8\x11\xe1\x3e\x84\xb1\xdc\xd1\x08\xe2\x47\x02\xc6\x85\x78\x17\xe3\x5d\x80\x71\x91\xff\x3d\xe0\x61\x4f\xf0\xb0\xe7\x8e\x07\x10\x96\xf1\x23\x08\x63\x5d\xc6\x83\x1e\xe9\x8d\x51\x9e\x7b\xe3\xa1\x4b\x7a\x63\x81\x73\x3c\xea\x43\x18\xe1\xc7\x80\x7f\x3c\x46\x1a\xc6\xe3\x1e\xe9\x5b\x0e\xf0\xad\x6f\xf5\x5c\x02\x3f\x10\xb6\xfb\x36\xe9\x0b\x3e\xf7\x81\xcf\xf0\x83\xe1\x81\x45\xfa\xf6\xc0\x16\xe1\x1e\x84\x7b\x18\x76\xfb\xa4\x6f\xbb\x80\xbf\xdf\xef\xbb\xa4\x3f\xc4\xbe\xd6\x1f\x0f\xc6\x04\x7e\xa6\x64\x32\x18\x5b\x43\x32\x18\x63\xfb\x0e\xc6\x3d\x97\x0c\xc6\xc8\xc3\xc1\x78\x64\x91\xc1\x18\xf5\xc3\xd0\xb2\x1c\x32\xb4\xb0\xbf\x0c\xad\xa1\x4b\x86\x16\xf2\x67\x68\x8d\x6c\x32\xb4\xb0\xbd\x86\x96\x3b\x24\xf0\x23\xc2\x63\x32\xb4\xb0\xed\x86\xb6\x35\x26\xf0\x83\xe1\xc1\x80\x0c\x6d\x94\xe7\x61\xcf\xee\x11\xf8\x81\x70\xbf\xe7\x90\x61\xbf\xd7\x17\xe1\x31\x19\xf6\x91\x86\x61\x7f\x60\x11\xf8\x11\xe1\x11\x84\x11\xcf\x70\x34\x26\xc3\xa1\x8b\xf1\x63\xdb\x21\xc3\xb1\x3d\xc0\xf0\xb0\x4f\xe0\x47\x84\x87\x64\x38\x1e\x09\x98\x11\xc0\x20\xcf\x87\xe3\x91\x0b\x61\xa8\xef\xc8\xb2\xc7\x64\x64\x39\x40\xcf\x68\x68\x0f\xc9\x48\xf4\xd9\xd1\x70\xe4\x92\xd1\x10\xfb\x8b\xeb\x58\x3d\xe2\x3a\xc8\x37\xd7\xe9\xf5\x89\xeb\x60\x5b\xb8\x8e\xeb\x12\xd7\xc1\xf6\x72\x41\x56\xdd\x1e\xf2\xc7\xed\x5b\x16\x71\xfb\xa8\x1f\x6c\xa7\xd7\xb3\x08\xfc\x0e\xf0\xab\xdf\xb7\x09\xfc\x02\x1d\xfd\x9e\x65\xf7\x09\xfe\xca\xaf\x31\x7e\x8d\xc5\x57\x7f\x00\x5f\xd8\xba\xc3\xbe\x03\xac\x85\x5f\xf8\x1a\x58\x4e\x9f\x0c\x07\x16\x6a\xe2\xe1\xc0\x1a\x0c\xe1\x4b\xf0\x65\xe0\x00\x63\xe0\x17\xbf\x06\xce\x18\x1d\xab\x62\x1b\xba\xd6\x78\x44\xe0\x17\xd3\x5c\xdb\xb2\x09\xfc\x3a\xf2\xcb\x85\x2f\x5b\x40\xda\x03\x07\xbe\x06\x7d\xf9\x35\xc6\x2f\x31\xb2\x8c\xed\x7e\x8f\xe0\x9f\x81\xfc\xc6\xb1\x66\x6c\x23\xa7\x31\x20\xd2\xe5\x48\x34\x76\x6c\x18\x7f\xc6\x0e\xb6\xb4\x6d\x8f\x7b\x43\x87\xe0\x1f\xc0\x3e\x86\x61\x62\x40\xc4\x1f\xf9\xdd\x1b\xc2\xf7\x10\xa9\x1e\xdb\xa3\xd1\xd0\x82\xef\xf1\x78\x3c\x9d\x8a\x41\x2f\xc8\xc6\xc7\x09\x0c\x3f\x44\x0e\x6e\xc3\x3e\x8c\x3d\x18\x1a\x11\x5b\x0e\x36\x30\xd6\x20\x61\xa3\x3e\xb1\x47\x72\x30\x82\x71\x06\x87\x19\x07\x46\x19\x0c\xc1\x18\x83\x58\xc6\x10\x12\x83\x8d\x4b\x1c\xec\x16\x8e\x3d\x20\x8e\x8d\x8a\xd4\x71\x88\xe3\xc8\xe1\x07\x46\x1f\x0c\x39\xc4\xe9\xc9\xa1\x07\x46\x1e\x31\xc0\xc0\xf8\x82\x21\x18\x51\xc4\xe0\x82\xe3\x09\x0e\x1b\x0e\x71\x06\xa8\x68\x07\x7d\xe2\x20\x9b\x9d\x01\xa4\x0a\x45\x0f\x3a\xbf\x27\x54\x3e\x68\x7f\x54\xd4\xa0\xa7\x85\x9a\xee\x13\x07\x15\x8c\x33\x1e\x13\xa9\x1e\x41\x23\xa2\x80\xf6\x6c\xd0\xc3\xa8\x5a\xec\x31\xe9\x39\x18\x72\xfa\xa4\xe7\xa0\x6a\x76\x5c\xd2\x43\xb6\xf6\x40\x27\x0a\x95\x08\x5a\x13\x45\xa9\x37\x00\xfd\x39\x16\x6a\x12\x34\x26\x08\xe2\xd0\x21\x7d\x54\x91\xfd\x61\x9f\xf4\x91\xbb\xfd\xe1\x90\xf4\x51\x95\xf5\x87\xa0\x51\x50\x31\x8d\x2c\xd2\x47\x3e\xf7\x47\x0e\xe9\x63\x47\xeb\x8f\xfa\x44\x98\x14\x60\x51\xf4\x71\x20\x1a\x8c\x7b\x64\x30\x16\x6a\x04\x35\x04\x76\x42\x97\x8c\x90\xcf\x23\xdb\x26\x23\x14\xc1\x91\xdd\x23\x23\xec\xd2\x23\x7b\x44\x46\x38\xa0\x8d\x1c\x8b\x8c\x70\x78\x1d\x39\x2e\x19\x61\x3d\x46\xbd\x1e\x19\x61\x3d\x46\xbd\x01\x19\xf5\x84\x08\xf5\xc8\xd8\x01\xcc\xe3\x9e\x4d\xc6\xd8\x1e\xe3\xfe\x80\x8c\x51\x4a\xc6\xc3\x1e\x19\x0b\x03\xc8\x02\x63\xc8\xc2\xd6\xb4\x2d\x30\x38\x6c\x4b\x88\xa8\x05\x02\x8d\xe2\xe8\x82\x10\xb8\x42\x0a\x5c\xc7\xb6\x89\xeb\x60\x77\x75\x1d\x7b\x08\x61\xa1\x14\x1c\x8b\xb8\x8e\x23\x14\x81\x03\x0a\x02\x95\x88\xeb\x38\x90\xb7\x27\xe2\xfb\x00\x83\x12\xe1\x82\x48\xb8\x42\x26\x5c\xa7\x3f\x80\xb0\x28\x6b\x00\xf8\x07\x02\x7e\x00\x78\x50\x32\xdc\x9e\x85\xca\x05\x69\x80\x66\x85\x1f\x0c\x3b\x36\x71\x45\xcb\xba\x60\x00\xb9\xa2\x4b\xb9\x7d\xc0\xd3\x17\x78\xfa\x83\x1e\x84\x85\x62\x1a\x8c\x20\x8c\x34\xf7\x87\x10\x1e\x8a\xf0\x08\x14\x16\xb6\x9e\xdb\x77\x21\xaf\xeb\x88\xf0\x10\xc2\x58\x97\xfe\x18\xe2\x85\xb2\x1b\xf4\x6c\xe2\x0e\xd0\xa0\x71\x07\xbd\x31\x71\xc5\x40\xeb\x0e\xfa\x7d\xe2\x0e\x06\x58\x97\xc1\xd0\x22\xee\x00\xf9\xec\x0e\xc6\x0e\x71\x87\x16\xe6\x1d\xf6\x20\x8c\x2d\xe6\x0e\x07\x2e\x81\x1f\x0c\x03\xfc\x10\x8d\x03\x17\x94\xbb\x2b\x95\xef\xc8\xea\x13\xf8\x11\xe1\x21\x84\x91\x66\x10\x15\x77\x84\x92\xee\x8e\xec\x01\x84\x07\x22\x3c\x86\xb0\xc8\x0b\xfc\x19\x89\x76\x19\x39\x00\xe3\x08\x98\x9e\x45\xe0\x47\x84\x7b\x10\x1e\x8a\x30\xe4\xed\x89\xbc\x7d\xc8\xdb\x17\x79\xfb\x00\x83\x06\x99\x0b\x46\x2d\xfc\x88\x30\xd0\x33\x10\xf0\xc0\x7f\x61\x90\xb9\xa3\x11\xc4\x8f\x04\x4e\x17\xe0\x5d\x01\x0f\xfc\x1c\x09\x7e\xba\x30\x48\xb8\x82\x27\x2e\xd4\x51\x18\xc1\xae\x6b\x43\xbc\x2d\xe2\x6d\x88\x17\xf5\x72\x61\xe0\x71\x7b\x32\xec\x42\x18\xcb\x75\xa1\x7d\x5d\xd1\xbe\x2e\xb4\xaf\x2b\xda\xd7\x1d\x8e\x09\xfc\x60\x78\x3c\x20\xae\x30\x4a\x5c\x18\xfc\x5c\x31\xf8\x8d\x41\x59\x8c\xfb\x68\xa8\x8d\x41\x66\xc6\x83\x3e\xf6\x15\x30\xee\xc7\x03\x34\x28\xc7\x43\xcb\x82\x8e\x83\xfd\x6a\x68\xbb\x64\x3c\x74\x64\x2f\x72\xc8\x58\xb4\xe3\x18\x8c\xda\xf1\xb0\x2f\xe2\x07\x00\x3f\x90\xe1\x3e\x84\x45\x5e\x50\xe2\x43\xd9\x03\x87\x10\x3f\x14\xf1\x23\x88\x47\x7d\x31\x1e\x8e\x00\xcf\x48\xc6\x43\x59\xae\x80\x1f\xbb\x64\x3c\x42\x5e\x8d\xa1\xdd\xc7\x42\x47\x8c\xa1\xed\xc6\x23\xd4\xbc\xe3\x51\x6f\x04\x61\xa4\x79\xd4\x77\xc8\x78\x84\xfd\x6b\x0c\xc6\xf4\x78\x24\xea\x08\xed\x05\x3f\x22\x0c\xf1\x28\x7b\xe3\xd1\x18\xe0\xd1\xe8\x1f\x8f\xc6\x7d\x08\x23\x4e\xd7\xe9\x93\xb1\x8b\x32\x33\x76\x9d\x11\x84\x11\x8f\x0b\x6a\xc5\x15\xe5\xba\x30\x58\xb9\xa2\x5c\xb7\x37\x86\xb0\xd0\x2d\x30\x80\xe3\x2f\x7e\xd9\x96\x43\x6c\x4b\x0c\xaf\x30\x8b\xee\x93\x61\x4f\x50\x88\x13\x63\x1c\xa4\x7b\x02\x07\x6a\x22\xab\xef\x0e\xc4\x0c\x09\x43\x43\x82\xcb\x23\x56\x36\x02\x86\xe9\x69\xed\xcd\x55\xf5\x88\xa6\x85\x7e\xd3\x8b\x73\xc3\xc2\x55\xef\x85\x41\x9f\x95\x13\x27\xd6\x74\x62\x4d\x6f\x6f\xe9\xf3\x4a\x7c\x32\x9d\xd8\xd3\xf2\x0e\xc6\x6e\xf2\xdc\x67\xbb\xe8\xf0\xcf\x2f\x3c\x51\x69\xb0\x76\x62\x3e\x75\x4c\x52\xc3\xc1\x05\x0e\x9f\xb7\xed\xec\xb4\xdd\x4e\x9d\x04\x7c\x30\xa2\x70\x50\x38\xf1\x79\xc7\xbe\x53\x45\xdf\xa9\x3a\x97\xa6\xc6\xf7\x56\x3d\xb3\x10\x9a\xaa\x9e\x25\x56\xaa\x9e\xc7\xff\x78\xd5\x73\x1c\xf7\x56\xbd\x04\xf6\x70\xd5\x67\x57\x01\x13\xd3\xfe\x86\x6d\x98\x0d\x6b\x07\x7b\xe5\x9c\x27\x08\x90\xa5\x1a\xd4\xf4\xca\x00\x2f\xc3\x94\xd5\x60\xaa\xe5\xd7\x81\x9a\x28\xb2\x7c\xdf\xa7\x7b\xa5\x75\x0f\x8f\x3e\xeb\x39\xc0\x69\xdf\x76\x46\xad\x16\x7d\x66\x0f\xad\xbd\xda\x4a\x88\x47\x9f\xd9\xce\x68\xcf\xf6\x8a\x42\x6e\x50\x73\xcf\xf2\xec\xb6\x41\x9f\xfb\xfd\xde\xc0\x69\xb5\x0c\xfa\xcc\xef\xf7\xfb\xa3\xdb\xdb\xb1\x65\xd9\xbe\x4f\x31\xe0\x60\x00\x4a\xb0\xc7\x56\x1f\xca\xf0\xfb\x8e\x3d\xb6\x5b\x2d\xdb\xe9\x0d\xec\x1d\x99\xda\xef\x5b\x3d\x07\x53\x07\x03\xc7\xea\x61\x1c\x74\x46\x91\x63\xd8\x77\x06\x03\x11\x37\xb0\xfa\x96\x88\x1b\x58\xfd\xb1\x8a\x1b\x39\x32\xce\xee\x29\x38\xc7\x55\x70\xbd\xd1\x50\xc6\x0d\x24\x05\xc3\xc1\xc0\xb6\x04\x55\x3d\x5b\x65\xb6\x41\x1d\x8a\xdc\x18\x74\x31\xd6\x19\x3a\x76\x5f\xee\x2a\xdf\xd3\x72\x1b\x45\xa0\xdc\x3f\x80\x6b\xcd\x4b\x47\x8f\x68\xf7\x94\x37\x88\x5d\xb6\x56\x29\x3b\x9c\xb5\x9b\xe4\x8b\x95\xa6\x74\x5a\x4a\xf3\x35\xe0\x7d\x2e\x7d\xf4\x18\xdc\x2f\x17\x6d\xa4\xa6\xf9\x4c\x3d\x12\xdd\xb1\x77\x59\xdb\xe7\x24\x69\xfb\xa9\x5a\xce\xb3\x3d\xe7\xae\xe8\xc1\x1e\x48\x42\xe7\x96\x9b\x1e\xb4\x20\x31\x76\xd6\xc4\xb7\x48\x5c\x22\xac\xd5\xda\x31\x8c\xb8\x5d\x25\xa0\xb4\xe0\x99\x98\xa6\xf9\x9c\x9b\xe8\xa1\x6a\x37\x73\x88\xb8\xe3\x33\x51\xe7\xd4\x4f\x10\x69\x5a\x40\x1a\x3f\xf3\xd9\xee\x03\x68\x53\xd3\x24\x29\xa0\x54\x77\xec\x9f\xb3\x56\x2b\xed\x74\x88\x7a\x88\x3a\x8c\x2f\xc5\x8b\xad\xd9\x4b\x85\xd9\x2b\x4a\xa5\x4a\x97\x8e\xb7\x94\x5f\xf5\x2e\x40\x89\x94\x8e\x70\x7c\x56\x74\x7d\x89\xef\x48\xcf\x13\xfe\x54\x38\x55\x8e\x92\xcb\xa7\x5f\x29\x4b\xc3\x24\xd6\x89\xce\xe9\x37\xfe\x74\x15\x05\x21\x7c\xd8\x5d\x7b\x88\x77\x97\x1e\xc8\x3e\x0f\x38\xad\xe6\x75\x2c\x7b\xd4\xb1\xdc\x8e\xc2\xc0\xe7\x74\x25\x5e\xb0\x96\xee\x14\xf4\xa2\xb7\x8d\xae\x38\x33\x77\x76\xb3\x92\x87\xa1\x92\xee\xdf\x93\x64\xf9\x29\x60\x30\x2e\xa8\x83\x23\xfa\xdf\xde\xbf\x7f\xab\xed\xf8\x9a\x6d\x59\x7f\xd2\x49\xa2\x7c\x80\x26\xab\x9b\x0c\xe4\x7f\xfc\x1f\xff\x3b\xa4\xcc\x69\xfa\x85\x27\xab\x77\x00\x10\x8a\xbd\xcf\xb3\x90\x47\x00\xf0\xdf\xfe\xbb\xf6\x27\x83\xc3\x87\xa9\xfd\x8f\xff\xf6\xdf\x01\x9a\xd3\x94\xbf\xa4\xab\xd4\x9f\xe8\x57\x9c\xb2\x65\xf7\x74\xc6\x92\x28\x3a\x4e\x98\x38\x31\x90\xea\x24\x4f\xa0\x34\xae\x44\x9e\x51\xb6\x0c\xe3\x20\xaa\x44\x7f\x3c\xab\x47\x1c\x04\x71\x4c\xe7\x22\x7a\x8a\x9c\xbd\x0c\x53\x4e\xd9\xeb\x38\xe4\x86\x00\xd3\xc9\xa6\xab\xdd\xe6\xf7\x12\xa3\x38\xba\xc1\x24\x55\x6f\x35\x89\x72\x38\x2d\x19\x7d\x7b\x6b\x34\xbf\x21\x2f\xbd\x4f\x54\xbf\xd1\x9b\xed\x5e\x15\x8b\x3c\x02\x5b\xf6\xc8\x67\x34\xe4\x34\xbd\x07\xb2\xa2\x5f\x27\x75\xa0\x7c\x07\x07\xe4\x47\xbf\x71\xff\x36\x88\xc3\x05\x4d\xb9\x52\x33\x9b\x21\x0c\x73\x97\xf9\x69\x37\x58\xad\x5a\x2d\xfc\xd3\xbd\x08\x66\x5f\x2e\x59\xb2\x8e\xe7\x77\x6c\x6f\x83\xef\x19\xe1\xf4\x55\x5f\x25\xab\xf5\x4a\xbf\x33\x89\x65\x7a\xcd\x34\xf2\xe0\x22\xdd\x2b\x84\x71\xcb\x5d\x1c\x72\xcd\x8f\x4a\x40\xff\x6c\xb5\x4a\x08\x54\x1e\x11\x29\xfc\x48\x33\xf9\xf5\x7a\x2e\xdc\x19\x73\xd3\x33\x4a\x0d\xae\xc7\x09\x5b\x06\x91\x5e\x6d\x72\xf3\xae\x7c\x69\xa5\x5e\x11\x99\x11\x6b\x72\x67\x92\x04\xc9\x8c\x42\x1a\xf3\xd3\xd2\x79\xce\xe2\x33\xa9\x97\x94\xe3\x4e\x5d\x18\x5f\x0a\xd0\x13\x3a\x43\x17\xdc\x85\xdc\x1b\x8d\x91\x8d\xd9\xbb\xd7\x90\xa5\x84\xe4\x17\x1a\x5e\x5e\x35\x5e\xbf\xde\x8c\xe5\x0a\xf3\x00\x9a\x59\xb2\x92\x2f\xe9\x42\x1f\x4f\x0e\xa2\x70\x75\x91\x04\xa5\x87\x3d\xc5\x49\x07\xda\xa5\xdf\xe8\xec\x20\x59\x2e\x83\x78\x6e\xe8\x90\x4f\x2f\x3a\x5a\x02\x64\xab\x20\xe5\xf4\x15\x4b\x96\x9b\xd1\x64\xa4\x95\xb0\x61\x46\xbd\x76\x18\x1b\xaf\x62\x29\x3d\xd5\xe0\x30\x0b\x0f\x8b\xf8\xcf\xd5\x08\xe3\xd3\x3d\xea\xf1\xdd\xfc\xb3\xd5\x82\x56\xdc\x41\x8b\xc6\xa0\xfe\xf7\x3b\xd5\x6f\xbe\x5f\x24\xf3\x1b\x8f\x76\xe1\x0f\x09\x67\x49\xec\x71\x83\x76\x21\xd0\xec\x69\x57\xea\x96\xa7\xe1\x32\xb8\xa4\xe9\x53\x00\xec\x8c\x87\x3a\x58\x19\xa9\x0f\x59\x51\x21\xaa\xa3\xcb\xf3\x64\x86\x87\x25\x44\xac\x29\xdd\x6e\x4b\xf5\x64\xa2\xdf\xe7\x85\x7a\x46\xf7\x63\xc0\x52\x63\xb3\xc2\x25\xdf\x11\x87\x97\xde\xa9\x87\x9a\x40\x1b\x14\xc1\x8c\x94\xb0\xc2\xf3\x4c\x49\x3c\x8b\xc2\xd9\x97\xe2\x49\x08\x49\xd5\x22\x99\xad\xd3\xec\x89\xa6\x28\xc1\xc7\x7a\x49\x0c\x0c\xae\x48\x71\x76\xe5\x05\x85\x4d\x1d\x3c\x13\x32\xe3\x73\x95\xa1\xfc\xc6\xc7\x6f\xc4\x30\x8b\x92\x98\x36\xdc\xfe\x87\xda\x0a\x60\x23\xc7\x57\xc4\x66\x36\x20\x83\xce\x9c\xd4\x0f\xc2\x48\x5a\xea\x38\x7c\x5a\xe8\x10\x15\x5c\xf4\xdf\xd7\x41\xd4\x68\x2d\x16\x70\x2a\xa4\xf2\x54\x8c\xc4\x7a\x1f\xda\x7b\x0e\xda\x4e\xe4\x50\x19\xfe\x3d\x3f\x50\x8b\xd8\xe5\x35\xc7\xbc\x84\xb6\x3e\xd5\x01\xf7\x49\x72\x7d\x90\x44\xcd\xa7\xa9\x59\x72\xad\xd8\x3f\x4b\xa2\xf5\x32\x56\x47\xa9\x93\xaf\x94\x2d\xa2\xe4\xda\xdf\xd9\x61\x39\x92\xe2\x31\xf8\xe4\x6b\xfd\x1d\xc6\xdf\x88\xf3\xfe\x66\x16\xe0\x86\x2a\xa3\x58\x42\x19\xbf\xd9\x88\x7c\x43\xb3\x23\xb5\x55\x7c\x68\x59\xd7\x11\xfb\x34\x0b\x36\x16\xf1\x80\x34\x40\x51\xa2\x2c\x29\x09\xb2\xb0\xac\x34\xe5\x33\x50\x15\xf7\x50\x79\x0f\x8b\x89\xc8\x92\x1f\xa9\x4e\xae\x0b\x62\x22\x0a\x2d\x44\xa8\xc2\x84\xe4\x94\xec\xca\x85\x0e\x03\xdb\x2b\x16\x2c\x37\xb4\x3a\x97\x66\x5a\xe6\xed\x7b\x1e\x7e\xfd\xec\x53\xfc\x23\x22\xd6\x2c\xca\x24\x01\xef\x68\xa4\x3e\xcb\x5d\x13\x84\x0b\xc0\x5d\x3c\x52\x0c\x73\xd6\x20\x8c\x29\x2b\x46\xca\x77\xe8\x0f\xae\xc0\xd4\x8b\xd4\x81\x7c\x49\x59\xe9\xf4\x72\x76\xd4\xb9\xd8\x1c\xca\x0b\x14\x3a\x30\xc2\xa7\xa8\xa5\x3f\xa8\x70\x35\xeb\x84\x71\xc8\x3b\xc9\x17\xdd\x93\x8d\x96\xdf\xbb\x49\x69\x3c\x57\x76\xe8\xeb\x78\x91\x7c\x36\xcc\x5d\xcc\xa6\x6a\xdd\x09\xe3\x45\x52\xcc\x5b\xa9\x41\x37\xe5\x37\x11\x7a\x70\x59\x45\xc1\x8d\xaf\x2f\x22\xfa\x4d\x6f\xac\x51\x77\x95\x30\x6e\x77\x93\x58\xc6\xab\x1b\x2e\xb2\x3a\xc5\x13\xc8\xc5\x7b\x41\x47\x49\x30\x37\xcc\x5d\x69\x1b\x96\x6a\x50\x72\xe0\x52\x79\xcf\x5f\x5b\xb0\x64\xa9\x21\xeb\x3d\x9d\x08\xb6\x98\x77\xf7\x32\xb4\x28\x6c\xcd\x80\x40\x4b\xfd\xd0\x78\xad\xe5\xe8\xb5\xf6\xb6\x14\xf7\x23\xfc\xa8\xdf\xf3\x69\xce\x8f\x87\xa6\xd5\xf0\x26\x65\x0d\xdb\x07\xed\x2c\x1c\x01\x57\x49\xca\x25\x56\xe3\x3b\xba\xc9\xc9\xa4\x42\x27\x01\xbb\xfc\xea\x4d\xbe\x4b\xe4\x30\x77\xf1\x36\x96\xe6\xdc\x29\xaf\x7e\x6b\x16\x91\xc9\x66\xb8\xa9\xb9\x99\x81\x0f\xb1\xb9\x26\x92\xa5\x7b\x43\xdd\x05\xbe\xb2\x3f\x9b\xd1\x15\x3f\x0a\xe2\xcb\x35\x18\x26\x46\x4d\xf9\x15\xab\x5c\x96\x65\x9d\x4c\xbe\x07\xe5\xec\x1e\x25\x8b\x84\x51\x61\xdd\x1f\x24\x51\xc2\xbc\x72\xcf\x87\x22\x5f\x95\x21\x0c\x93\xe4\x33\x82\x4d\x79\x5e\x94\x21\x0c\x93\xcc\xd6\x2c\x4d\xd8\x26\xf8\x83\x3c\xd5\x30\xc9\x22\x11\x76\x76\x23\x31\x22\x49\x42\xbd\x0a\x96\x61\x74\xb3\x01\x4e\x24\x22\xbd\x29\xfd\x70\x72\xe4\x49\x1e\x7e\x38\x39\xc2\xe7\xf9\xef\xa6\xd5\x37\x8b\x9b\x5a\xee\x00\x0c\xa7\x03\x30\xb1\x68\x43\x17\xc8\xcc\xaa\x7a\x56\x4c\x6a\x38\xdd\xaa\x14\x48\x36\x62\x64\x1a\x65\x15\xc0\x3c\xe8\x5d\x32\xcf\x9c\xb2\x35\x26\x16\x5f\xc8\xac\x82\x65\xb7\x63\x0f\x04\x61\xf7\x55\xea\x21\x79\x2c\x88\x52\xc3\x69\xed\xa6\x3e\x50\x7f\xa7\x48\xe6\xd7\x66\x02\x42\x0b\x53\xbc\x3e\x93\x52\xae\xad\x57\x5d\xf5\xfc\x78\x73\x07\xaf\xf7\x5e\x2a\x3a\x2d\xbf\x6b\xac\x56\x7a\x95\x5c\x17\xeb\x94\x2d\x05\x50\x7c\xdb\x33\x9b\x89\xa0\x3f\x28\x35\x60\xed\x65\xa1\x09\x9d\x7a\xec\x2e\x77\x05\x2c\x2f\x0d\xe7\xde\x37\xb6\x6a\x39\x53\xe9\x66\x75\x41\x0f\x88\xd4\x02\xf9\xf0\xfa\xd7\x30\x0d\x2f\x22\xaa\x8b\x33\x7b\xf2\xa8\x7b\x65\x76\x69\x64\x63\xad\x49\x42\x9f\x1a\x3a\xda\x82\x3a\x19\xf6\x2d\x98\x4a\x50\x43\x17\xc6\xa0\x4e\xfa\xae\x85\x0f\x45\x32\x69\xe1\x32\x69\x26\x92\x4a\x7f\x50\xd3\x93\xcf\x26\x09\xfc\xda\x40\xac\xbc\xf0\x44\x14\x60\x0c\x7d\x1e\x7e\xd5\xcd\xdd\x40\x8e\x6f\xb3\x34\x3d\xa3\xdf\xb8\xaf\xaf\x92\x34\x14\x4e\x94\x82\x8b\x34\x89\xd6\x9c\xee\xca\xb1\xcf\xd3\xe2\x24\xa6\xbb\x30\x00\x76\xe6\x21\x13\x33\x4b\x4f\x13\xb6\xc8\x2e\x4f\x56\x9e\x66\x5b\x7f\xda\x8d\xe8\x82\x7b\x5a\xff\x4f\xbb\x48\xac\xa7\x8d\xad\x3f\xed\x0a\x7a\x3d\xcd\xb5\xfe\xb4\xbb\x0c\xe3\x8e\xfa\x76\xe0\x3b\xf8\xd6\x29\xa6\x5f\x24\xdf\x3a\xe9\x55\x30\x4f\xae\x3d\xcd\xd2\x2c\xcd\x59\x7d\xcb\x2f\x26\xde\xa7\xaf\xda\xfa\xee\x45\xc2\xe6\x94\x79\x8f\xc9\xa3\xa5\x49\x14\xce\x77\x75\x9c\x85\x45\x7e\xd9\xa2\xa9\xf2\x4c\x24\xe8\xe6\x6e\xd4\x4d\xe2\x08\x74\x7d\x61\x10\x2f\x0d\x68\x51\x95\xaf\x19\x13\x81\x7f\xc8\x44\x4f\xb3\x15\x8f\xc4\xc2\x5d\x04\x96\xee\x3e\xe7\x2c\xbc\x58\x73\x6a\xe8\x29\x9b\xe9\xd9\x68\x64\xd6\x93\x69\xb0\x8c\x68\x9a\xea\x64\xc7\x32\x49\xd0\x0d\x56\x2b\x1a\xcf\x85\xba\x88\xcc\xdc\x94\x2b\x25\x04\xe2\x7a\x84\xb4\x0f\x85\xa9\xf9\x86\xde\xe0\x9c\x1e\x02\x6f\x83\x15\xda\x8b\x2a\xae\xe9\xda\x81\x60\xa8\xb2\x16\xbf\x48\x48\xc9\xa4\xa2\xc9\x77\x15\xc4\xf3\x48\x38\x04\x9f\xe8\x38\x4d\x4d\xd6\x3c\x7b\xfe\xe1\x15\x44\xbc\x2f\xdf\xcd\x9a\x92\x89\xfe\x85\xde\xcc\x93\xeb\x38\x83\x7b\x43\x6f\x5e\x26\xd7\x71\x03\xd8\x8a\x61\xf5\x73\xb8\x63\x88\x68\x00\x5c\xaf\x8a\x50\x1f\x56\x55\x10\x4e\xbf\xf1\xd7\xf1\xaa\x40\xdc\x99\x8a\x29\x81\x4e\xb3\x2a\xbf\x0d\x56\xbe\x98\xdc\x54\xb8\x57\x34\x68\x20\x67\x18\x5f\xa6\x55\xc8\x17\x32\xbe\x08\x1b\x44\xfc\x67\xf6\x36\x99\xe3\x72\x56\xac\x1e\xc9\xc0\xcb\xec\xaf\xe3\x94\x32\x7e\x1c\xa4\x9c\xfa\x3b\xf2\x08\xfe\x55\xb2\xa4\x6f\xe8\x4d\x2a\x56\x64\x33\x37\x5d\xab\xe0\xb2\x29\x7a\xc6\x59\x74\x1c\xad\xd3\xb7\x61\xbc\x4e\xff\x46\x59\xf2\xb7\x24\x59\x66\xb8\x20\xf5\xe0\x20\x59\xdd\x94\xe0\x3f\xca\x02\x65\x54\xb0\x12\xce\x08\x43\x64\xe1\x2a\x98\x37\xa5\x88\xf1\x3d\x4b\x01\x03\x22\x5d\x05\x33\x7a\x4a\xe3\x79\xfa\x42\x7d\xe5\xc5\x5c\x05\x2c\x98\x71\xca\x0e\xe3\x59\x02\x1c\xf1\xf5\x35\x5f\x74\xdc\xcc\xbe\xe6\x01\xe6\x3c\x4c\x67\xc1\x2a\xaf\xfb\x2a\x48\xd3\xb7\x94\x07\x1f\xb3\x98\x20\xe2\x08\xf8\xe9\x2a\xe0\xbe\x4e\x11\x5c\xcf\x92\x5e\x23\x74\x4e\x6f\xc4\x33\x52\x44\x52\x9d\xb2\x20\xe2\x4a\x9c\xe8\x5c\x5d\x29\x59\xd2\x79\x18\x00\x77\xf7\x19\x7d\x05\x7f\x73\xb6\x33\xfa\x35\x4c\xd6\xe9\x7e\x81\x8e\x7c\x86\x53\x94\x90\xfd\x99\x98\x3f\x7d\x3f\xd8\x7f\x77\x70\x28\x6c\x95\xa2\x7b\x34\x11\xad\x9b\x44\x3e\xee\x55\x03\x90\xf1\xba\x49\x8e\xf7\x4f\x4f\x6b\xc9\x10\xa9\x9b\xe4\xf4\xec\xe4\xf5\x71\x2d\x11\x63\x75\xb3\x44\x53\x61\x0e\x1c\xd7\xee\xc2\xc8\x29\xa9\x68\x14\xdf\x6f\x6e\xb4\xbd\x92\x5a\xe8\x7e\xe5\x85\x53\xfc\x06\x35\x3d\xba\xa1\x3c\xbc\xcc\x16\x45\x8d\x9a\x46\x5c\x7b\x6b\xd4\x2f\xe6\x77\xf5\xf0\x7f\x35\x45\x46\x57\xf0\xe2\x82\x6f\xfe\x3c\x3d\xf7\xad\x5d\xfe\xac\xac\x9e\xd4\xee\x1c\x57\x57\x09\xa4\x77\x82\x0c\x60\xc2\xa7\xbb\x74\x8f\xd6\xdf\xb4\x61\x13\x6b\x4a\xd8\xc4\x9e\xca\xfb\x99\x55\x92\xa4\x0d\xb7\x29\xd3\x5d\xb3\x06\xa5\x77\x1b\x58\xb6\x8e\x37\x32\x4d\x6a\xe7\xc6\xca\x6f\xc0\x56\xd4\x72\x65\x2f\x57\x38\x9b\x6c\xb5\xe4\x64\x5b\x5e\x72\xd3\xcd\xf2\x8b\xb3\x59\x8b\x27\xf1\xc7\x33\xe8\x0e\x9c\x25\x5f\x0a\xd3\xdc\x0c\xc0\xdc\x4c\x40\xa6\xb3\x1b\x16\x81\x9b\xae\x13\xd0\xee\xf5\x55\x38\xbb\x32\xbb\x3c\x39\x4a\xae\x95\x8f\x67\x7c\x3d\x93\xa2\xd6\x7a\x43\x6f\x5a\xad\x1d\x8a\xba\xe3\x0d\xbd\xb9\xbd\xd5\x67\x3a\xbe\xe9\xa0\x7f\x85\xbf\xf2\xb5\x20\xd1\xbd\x5b\x2d\xfd\x82\x25\xd7\x29\x65\x9d\x2f\xf4\x46\xc9\x77\x51\x97\xb4\x5a\xe8\xfa\x4d\xed\x56\x2a\xe1\x68\xa6\xec\x0b\xbd\x41\xa0\x5d\x2a\xd4\x36\x16\x6f\x30\x9f\x95\x89\x35\x09\x2b\x6e\x7f\x5a\x66\xdb\x76\x5c\xe5\xff\x5f\x25\x3c\xf7\x7b\x4e\xab\x65\xb0\x62\xe1\xbb\x4c\x0a\x78\x33\xe3\x8d\x26\xaa\x18\xba\xac\x04\xf5\x44\x63\xe5\x40\x55\x7a\x86\x4a\x56\xc7\x2c\x59\x05\x97\x62\xb1\xd9\xdc\x24\x72\x32\xaf\xd8\xd8\xda\x5f\xad\xde\x25\xf1\x01\x67\xd1\x29\xd4\x50\x22\x2c\x37\x5e\x65\x43\xa8\xf4\x29\xf6\x9b\x6a\x51\x72\x33\xa7\xd5\x32\x0a\x8d\x58\xe4\x62\xbd\x0a\x9b\x45\x2a\x33\x2b\xea\xa6\x4b\x45\xab\xdf\x27\x95\x1f\x56\xe5\xfc\xb6\x0b\x82\x20\x9b\x58\x4d\xdb\xca\xf8\xea\x51\xad\x7f\x18\xf6\xb3\x67\x14\x9f\xc7\x02\x44\x1d\xdb\x34\x89\x33\x2a\x61\xca\xc6\x8f\x87\x98\x8c\xc7\x0e\x36\x13\x8c\x26\xd2\x26\xef\xd7\x89\xf9\x3d\xf4\x13\xb9\xd1\xc0\x26\xc9\x54\xbd\x1c\xa8\x60\xf2\x3b\xcf\x71\xab\x65\xc4\x7e\x2c\x3d\xb9\x2a\x5b\x87\x4c\x28\x61\x53\x13\xa6\x21\xbe\x1f\xb4\x5a\x6a\xe7\x6c\xc7\x4f\x10\x9e\x1b\x2a\x06\x60\xee\x7e\x88\x5b\xb7\x55\x5e\xfd\x16\x56\x15\x1d\x73\x89\x2a\xc0\x9f\x97\x74\x91\x4e\x32\x8c\xc2\x47\xa7\xba\x3c\x86\x66\xab\xf0\x27\x42\x62\xbf\x71\xd4\xee\x8a\xd1\x99\x04\x1b\x92\xe5\xd8\x4c\xa2\x0d\xe9\x30\x38\x93\xab\x0d\x89\x38\x38\x93\x99\x9f\x75\x01\xb2\xf6\x77\xca\x26\x0c\x74\x0a\xc1\x32\xb2\xf2\xcb\x49\x7b\x2a\x05\x3a\x8b\x54\x7e\x5e\x16\x22\x73\x7f\xe7\xe9\xaf\xe7\x93\xf3\xeb\xf6\xf9\x54\x3d\xcf\xcd\x90\x0f\xc1\xca\x54\x1e\xf6\xcb\x76\xa8\x5c\x5e\x05\x62\x3a\x41\xc4\x75\x6f\xde\x6a\xcd\x5a\xad\x75\xab\x65\xa0\x5b\xd8\xb5\xbf\x63\x9b\xbb\x17\x8c\x06\x5f\xc4\x8a\x2a\x83\x39\x5c\x06\xea\x54\x74\x95\x1a\xe4\x2a\x3d\x64\x13\x32\x98\x45\x66\xb8\xec\xc7\xe3\xc2\x09\xfe\x62\x77\xe1\x73\x63\xb6\xa7\xcb\x43\x54\xba\xb7\xde\xd3\x11\xe9\x6a\x4f\x07\xd6\xe8\xd9\x16\xb0\x10\x98\x4b\x1f\x86\x8e\x20\xfd\x72\x2a\x55\x4f\x51\x0d\x91\xa5\xff\x5d\x4a\x8e\x97\xc9\x10\xc1\x54\xaf\x00\x05\x0c\xf3\x66\x24\x88\xb8\xb7\x26\x50\x88\xb7\xba\x23\x37\x7e\x69\x42\x80\x6b\x67\x22\x6c\x2c\x71\xf8\xba\x69\xb5\x8c\x4b\x7f\xe6\xaf\xfd\x15\xde\x6a\xcb\x37\xb5\xeb\x7d\xd4\x58\xf8\x37\xdd\x00\xe3\xcc\x56\xcb\x58\xf8\x8b\xee\x2c\x88\x22\xe9\x74\xab\xc8\x29\xb2\x34\x4d\x93\xac\xb7\x19\xe8\x16\xd8\xaf\x8d\x85\x1f\x99\x64\xb1\xe3\xfb\x11\x7c\xec\xf8\x7e\x70\x7b\x3b\xbb\xbd\x5d\xdf\xde\xae\x44\x59\xbe\x7f\xd5\x6a\x19\x6b\x1f\x59\xdd\x48\x1b\xeb\x0a\xd2\x15\x6d\x85\x57\x10\x2a\xca\x44\x94\xe9\xf8\xbe\x12\xc5\xec\xe0\x10\xa2\x91\x71\xf2\xdc\xce\xe5\x9e\xed\x59\xc4\x36\xb7\x1e\xd1\xb0\x1a\xb1\x69\x86\x0b\x24\x3b\xb8\xbd\xad\x3d\xcf\xb3\x10\x7e\x1f\x94\x78\xf8\x7e\xb8\x07\xf5\xf2\x50\x48\xe0\x6b\x8d\x5f\x28\x2a\xbe\x1f\xb6\x5a\x06\xb4\x8e\x49\xf4\x9f\x26\xba\xef\x2f\x14\x69\x16\x71\xa0\xb2\x6b\x64\xd5\xa5\x74\xc0\x70\xb1\xbb\x73\x89\x8c\x9b\xed\xed\xac\x6f\x6f\x2f\x21\x70\x89\xfd\x67\x67\xb6\x77\xe1\xeb\xbb\x7d\xdd\xdb\x99\x61\xc2\x1a\x12\x66\xad\xd6\xce\x1a\x13\x86\xba\xb7\x16\xdf\x97\xf8\x3d\xd2\x3d\x91\x71\xd6\x6a\x19\x10\xe1\xea\xa6\x07\x7f\x07\x3a\xfe\xe9\x89\x3f\x8e\x4e\x16\x7e\x0f\xc8\x12\x5c\xdc\xd3\x7f\x9a\xd8\x7a\xfb\xa2\x9d\xd1\xe9\x10\xdb\xf4\x0a\x54\x2f\xb2\xe3\x9f\x66\x11\xac\x10\x7d\xa7\x8e\x66\x2e\x7c\x25\x1f\x9b\xda\x85\x00\x75\x9f\x6b\xc9\x90\x54\xb6\x77\xcc\xe7\xfe\xb0\xdf\x6a\x7d\x7e\xe6\x8f\x07\x88\xb1\xc9\x70\xf9\xdc\x19\xf6\x95\xec\xba\x9d\x8b\x90\x37\x4b\xad\x9d\x57\x57\x70\xfd\x33\x74\x86\xaa\x75\xb5\xbb\xa1\x0c\xf3\xce\x00\xfc\x72\xbe\xd8\x50\xc0\xed\xed\x4a\x0e\x3b\x95\xb9\xa8\x90\x6d\xfd\x27\xbd\xbd\x90\x46\xfc\x06\xa3\x6c\x21\x9f\xd7\x56\xcb\x85\xc2\xfb\xd6\xeb\xf8\x6b\x10\x85\x73\x2d\x90\x6b\x68\x7a\xbb\xe2\x2c\x64\x61\x36\xe6\x7b\x97\x68\x73\xba\x08\x63\x5c\xa1\x43\xff\x94\x4a\x21\xa1\x8b\x4a\x65\x81\x96\xec\x04\xb5\xd8\x50\xf7\xa1\x20\x13\xc4\xeb\x6c\x0d\x39\x36\xbf\x6c\xf6\x03\x18\x82\xf9\x5c\xc6\x56\x3d\xc6\xc8\xd7\x0c\x60\xf8\x0d\xcb\x6a\xf2\x73\x65\xac\x0e\x33\xf7\x69\xc2\xf7\x76\x58\xf4\xbd\x0d\xe9\x93\x74\x0a\x19\xa4\x1b\x6b\xe1\x8c\xe3\x4d\xf6\x6d\x50\xd3\xfc\xce\x7c\x80\x12\x43\xcd\x1d\xdb\x63\x52\x91\xfa\xdc\x33\x18\xea\x77\x09\xec\x51\x22\x5b\x87\xdf\x91\x50\x7a\x1c\x68\x22\x4c\xbd\xfc\x40\xc2\x6e\x9a\xb0\xc2\xf1\x26\xac\x9c\x5c\x8c\x2e\x0f\xf9\x8a\x3e\x80\x3f\x48\x96\xab\x80\xc9\xf9\x83\x4c\x20\xbc\xf0\x61\xde\x29\xe7\x3f\x4d\xa5\xfb\x13\x36\x6d\x6e\xef\x46\xde\xd7\x17\xf8\x6b\x3a\x31\x9b\xe5\x88\x45\xab\xe3\x80\xa5\x94\xed\xb2\x2e\xa3\xf8\xa2\xad\x18\x28\x43\xf4\x9b\x19\xfa\x4c\xbc\x68\xf6\x86\xde\x9c\xd2\x7f\x5f\xd3\x78\x46\x1b\x3c\x2f\x96\xf6\x32\xa5\x1f\x5c\xf4\x6c\xc3\xba\x61\x9a\x79\x1d\x32\x9b\xc9\x01\x1e\xca\xb2\xb9\x29\xbc\x75\x16\x4a\xdd\x97\xf2\xb8\x65\x99\x77\xe5\x12\xc5\xca\x45\x41\x32\x8d\xfa\x92\x9e\x92\x9d\xd0\x24\xdc\xf4\xca\x18\x59\xee\x95\x53\x39\x64\x8c\xe7\x5a\xb2\xd0\x52\xc9\x0c\xf4\x9d\x53\xed\xca\x3f\x92\xb7\x46\xa8\x78\xba\x77\xdb\x66\x4f\x9b\x4f\x28\x17\xde\xbf\xcc\x61\x0d\x4e\xe8\x84\x3f\x2c\x54\xb9\x09\xb3\xe9\x8d\xc5\x4d\xdd\x38\xf3\x0d\xa5\xa1\x07\xd6\xca\xa3\xdd\x0d\x7e\x1d\xf8\x84\x89\xfe\xdf\xd4\xb9\x61\xe2\x03\x3d\x3b\xf3\x75\x5f\xc0\x7d\xef\x52\xb7\x34\xbc\x4b\xcb\xdd\x72\x11\xb7\x3e\x75\x54\x26\x67\x61\xd5\x1b\x26\x13\xbe\x3a\x04\x21\x24\xd4\xac\x2e\xf7\xc1\xbc\xa3\xd4\x20\x6f\x30\x5f\xa5\x1b\xe6\x2f\xc0\x48\xb4\xad\x56\x59\xef\xe7\x2f\xc1\x14\xf5\xbd\x59\x22\x05\x5f\x83\xda\xb2\xfc\x0d\xf2\x80\x4b\x63\x55\x8f\x40\xb8\x2a\xa6\x64\x44\x64\x37\x32\x18\x71\x3f\x83\x7c\x17\x63\xbe\x57\x8a\xb7\xa7\x44\x18\x82\xe5\x68\x67\x4a\xa4\xbd\x55\x8e\xef\x4d\xd1\x66\x2e\xc5\xf5\xa7\xc2\x82\x2e\x45\x0e\xa6\x77\x0f\xf0\x19\x1b\x63\xe3\x16\x61\xe1\x60\x78\xc3\xfc\x17\x97\xf9\xd0\x62\x9d\x91\x09\x07\x3b\xd5\xa3\x77\xd5\x87\xa4\xa4\x88\x65\x25\x84\x24\xc9\xf7\x1d\x8d\xb0\xb0\x72\x11\xaa\xd9\x1c\x04\xd5\x0c\x2d\xcc\x97\xa7\x76\x66\x85\xd9\x4c\x75\x21\x7d\x8f\x7b\x8c\x00\xee\xbb\x9c\x02\xb6\x0d\x05\x05\xa4\x1b\xd6\xe0\xf7\x98\xc7\xab\xa8\xc3\x7b\x50\x8b\x41\x37\xaf\x19\xe4\xdf\xcd\x4e\xd7\x17\xa7\x4c\xfe\x8e\x45\xa8\x91\x56\x91\xa7\xdb\x71\x4e\xb0\xa8\x89\xba\xf8\xf7\x65\x7d\x53\x11\x41\x61\x00\x69\x5e\xe3\x2b\x99\x96\x60\xa2\xe6\x99\xa3\x42\xe6\x8c\xba\x22\xc9\x5c\x3c\xd9\x86\x71\x85\x42\xf1\x39\x9c\x6a\x3e\x46\xc2\x2c\xb2\xd0\x98\xb5\x1d\x88\x3d\x0a\xe8\x48\x68\x7a\xf6\x70\xa8\xe6\x51\xc9\x9c\xde\xde\xda\xc3\x51\xe5\xdb\x2d\x7c\xef\xdd\xb7\xbe\xe1\x6d\x5e\xbd\xb8\xbb\xab\x68\x3f\xb4\x06\x66\x62\xd5\x64\x7d\xff\xaa\xc9\xea\x81\x55\x93\xf9\x7d\xab\x26\x8b\xfb\x56\x4d\x76\xcb\xea\x29\x35\x26\x16\xd1\x27\x1f\xde\xbd\x79\xf7\xfe\xd3\xbb\xa9\x4e\xe6\xe2\x7f\x78\x65\x9c\xe8\x93\xc3\xd3\x83\xa9\x4e\xf4\x9f\x74\xb2\x82\xff\xe1\x9d\x66\x87\xe8\x93\x57\xf6\x54\x27\xb1\xa1\xff\xf4\xfe\x18\x92\x27\xc7\xba\x49\x56\x10\x70\x7a\xff\xd0\x25\x5c\x0f\xe0\x1c\x05\xf7\x17\x84\xfb\x4b\x06\xd7\xcf\xe0\xfa\x00\xd7\x53\x70\x27\x08\x77\x92\xc1\x0d\x32\xb8\x01\xc0\xf5\x15\xdc\x29\xc2\x9d\x66\x70\xc3\x0c\x6e\x08\x70\x03\x24\x7b\x62\x63\x76\x04\x70\x33\x00\xa8\xd8\xab\xa1\x04\x18\x65\x00\xe3\x0c\xc0\x05\x80\x91\x04\x70\x15\x40\xcf\xce\x00\xc6\x00\xe0\x4a\x80\x71\x06\xe0\x28\x00\x07\x98\xfa\x6a\x2c\x00\x1c\x2b\x03\xc8\x98\xe3\xd8\xc8\x44\x4b\x42\xd8\x19\x44\xc6\x16\x47\xb0\xd9\x96\x10\x3d\x05\xd1\xcf\x0b\x41\x06\xdb\x8e\x84\xe8\x67\x10\x59\x29\x63\x87\xe8\xff\x15\xa3\x43\x23\x30\xf4\x7f\xd1\x4d\x12\x18\xfa\xaf\xba\x09\x4c\x9b\xa3\xf7\x0e\xa2\xdb\x3b\x00\x10\x19\xba\x58\x1d\x7c\xb7\x5e\x7e\xd6\x4d\xf1\xbd\x1f\xf1\xe2\xe7\x5b\xca\x03\xf1\x3d\x25\x93\x81\x45\x74\xe7\x5f\x7e\x2c\xab\x4d\xf4\xde\x3f\xfd\x58\x56\x87\xe8\xfd\x7f\xfe\xb1\xac\x3d\xa2\x0f\xfe\xf4\x63\x59\xfb\x44\x1f\xfe\xfa\x63\x59\x07\x44\x1f\xb5\x7e\x2c\xeb\x90\xe8\xee\x9f\x7f\x2c\xeb\x88\xe8\x63\xe3\x87\xb2\xf6\x5d\xa2\x5b\x66\x96\xb5\xb4\x15\xbe\x09\x41\x15\x08\xdd\x60\x8c\x89\xde\xf9\xbc\x19\xcf\x86\x78\xcc\x3a\x22\xba\xdf\xfe\xa1\xac\xa3\xde\x8f\x96\x3a\xb4\x7f\xbc\x50\x9b\xe8\xed\x3f\xff\x48\x56\x50\x34\x2f\xde\x9c\x1e\x4f\x75\xc2\x0c\xfd\x3f\x74\xa2\x9f\x5f\xe8\x26\x84\xcf\x2f\x74\xa2\xff\x07\x66\x86\xae\x0c\x0a\xe7\x6c\xff\xc5\x54\x27\xa1\xa1\x9f\x73\xec\xf1\x7f\xd3\x4d\xb2\x20\x73\x4c\x77\x6d\xa2\xff\xfb\x5f\x80\x84\xc0\xd0\xff\x92\x65\x03\x4e\x5e\x7f\x92\xd1\x9f\xb2\xe8\xe1\x98\xe8\xf4\x50\x46\x1f\xe6\xd0\x0e\xd1\xd9\x89\x8c\x3e\xc9\xa3\xfb\x44\xe7\x67\x32\xfa\x2c\x8f\x1e\x13\xfd\xe6\x5f\x65\xf4\xbf\xe6\xd1\x03\xa2\xaf\x3f\xc8\xe8\x0f\x59\x34\x34\x4c\xf8\x5a\x46\xbf\xce\xa3\xc7\x44\x4f\xde\xcb\xe8\xf7\x39\x12\x8b\xe8\xab\x63\x19\x7d\x9c\x45\x3b\xa8\x78\xbf\xcb\xf8\x49\x1e\x0f\xea\x74\x7a\x27\xe3\xa7\x85\x78\x8b\xe8\xe7\xe7\xb7\x32\xe1\xfc\x3c\x4f\x01\x05\x7d\xb0\x7f\x7c\x9a\x0d\x79\xc8\x97\x01\xd1\x83\x7d\x09\xbd\x9f\x53\xd3\x23\x7a\x7a\x2a\xa3\x4f\x73\x2e\xba\x44\x9f\xbf\x94\xd1\x2f\xf3\x2a\x59\x44\x5f\xbc\x92\xd1\xaf\xf2\x68\x9b\xe8\x97\x3f\xcb\xe8\x9f\xf3\x68\x87\xe8\x57\xbf\xc8\xe8\x5f\xf2\xe8\x3e\xd1\xff\xed\xbf\x64\x9a\xfb\xbf\xe8\x26\x99\x67\x69\x03\xa2\x7f\x79\x93\xa5\xbd\x51\xbd\xf0\x20\xa2\x01\xfb\x2c\x94\x3b\xc2\x0d\x89\x1e\x1d\x65\x70\x47\x45\x1c\xb6\x3b\x24\xfa\xae\x07\x89\x8b\x8c\x59\x0e\xd1\x9f\x9c\xeb\xc5\x38\x1c\xc3\x0f\xdf\x9d\x1d\x9e\xc0\x20\x73\xce\x74\xb2\x26\x6b\x91\x02\xa3\xec\xe9\x2f\xaf\x5f\x9d\x95\x38\x38\xb6\x88\xfe\xf7\xbf\xc9\xea\xfc\x2d\xe7\xa0\x4b\xf4\x6f\x7f\x95\xd1\x7f\xcd\x39\x38\x22\xfa\xec\xa0\xa4\xa6\x0e\x0a\x1d\x06\xf4\xd2\x81\xec\x28\x43\xa2\x7f\xfd\x58\x82\xfc\x58\x81\xfc\x28\xfb\xf1\x90\xe8\x17\x2f\xb2\x5a\xbf\x50\xb5\x0e\x8d\x15\x99\x03\xc0\xc8\x25\x7a\xfc\xae\xac\x1b\x2b\xa8\xde\x09\x54\xa3\x11\xd1\x97\x6f\x25\xd5\x6f\xf5\x9c\x77\x2e\xd1\xc9\x33\x88\x4f\x8d\x45\x81\xa7\x50\xf9\xee\xf3\x86\x78\x9b\xe8\x4f\xf7\x32\x92\x3e\x8b\x61\x78\x2f\x6f\x29\xb4\x48\x0e\xce\x4e\x8e\x4a\x06\x18\x9a\x21\xfb\x47\x67\xa5\x48\xc0\x35\x39\xda\x3f\x2e\x83\xf6\x1c\xa2\x6b\x92\xd0\x7f\xc9\x95\x06\x98\x10\x27\x55\xd8\x31\xb4\xe9\xc9\xdb\xc3\x77\x1f\x4a\xd1\x7d\x00\x3e\x3e\x39\x3b\x3d\x38\x29\x53\xd1\x07\xbb\xeb\xf4\xe0\xe4\xe8\x4d\x39\x1e\xba\xe2\x8b\x93\xc3\xfd\x72\x34\x42\xbf\x7e\x77\x7a\x78\x02\x74\x23\x47\xdf\xd0\x1b\x71\x2c\x4b\x70\x59\xd0\xd6\x03\xf9\xf9\xe5\xfd\xdb\xc3\x02\xd4\x2f\xc9\x92\x96\x60\x80\xd2\xe3\x9f\x3f\x1c\x17\x60\x8e\x83\x4b\xfa\x61\x55\x84\xea\x03\xa6\x97\x87\x47\x05\xa0\x97\x34\x2a\xe1\x19\xa0\x14\xbf\x2c\x40\x1c\xc6\xf3\x12\x44\x1f\x4b\x7a\x29\x6c\xe0\x62\x59\xb8\x57\x5c\x84\x84\x46\x29\x51\xb4\xcf\x58\x72\x5d\x21\x09\xb4\x4b\x05\x19\x82\xd5\xb0\x01\x13\x4f\x5e\xff\xfc\x0b\x30\x8b\x1b\xfa\x4f\x93\x03\x50\xed\xef\x0f\x8a\x30\x20\x1c\x47\x87\xaf\x32\x90\x97\x08\xf2\xb2\x00\x62\xf7\x81\xfe\x77\x1f\xde\x1e\xbd\x3f\x28\x37\xc7\x18\x98\xf3\xe6\x18\xec\xcc\x55\x06\x3e\x1e\x61\xa4\x5d\x8e\x74\x31\xd2\x29\x47\x8e\x31\xb2\x57\x8a\xb4\x2d\x0b\x63\xfb\x95\x58\x1b\x63\x07\x95\x58\x07\x63\x87\x95\xd8\x1e\xc6\x8e\x2a\xb1\x7d\x8c\x75\x2b\xb1\x03\x8c\x1d\x57\x62\x45\x1d\xda\xd3\x1f\x1a\xb1\x2d\x51\xaf\xce\x0f\xe6\x16\x4c\xfd\x73\x99\x22\x5b\xd4\xff\x69\x25\x56\xf0\xaa\x5b\x8e\x05\x25\x35\x79\xb1\x8f\x8d\x75\x65\x94\xe7\x51\xb5\x89\xd4\x10\xe7\x2b\x9f\x5e\xe6\xb0\xd9\x5c\xaa\x36\x99\x82\x31\x69\x72\x72\x78\xf4\x7e\xbf\x00\x9e\x4d\xa9\x6a\x73\x2a\x17\xa7\x10\xa2\xcb\x4b\xe0\x6c\x5e\x55\x9b\x58\x81\x79\x30\xf9\xf4\xfa\xdd\x29\x02\xcb\xc9\x95\x59\x99\x5d\x39\x38\x30\xbc\x38\x79\x7d\xd6\xc9\xc0\x46\x39\xd8\x38\x03\x1b\x49\xb0\x76\x06\xe6\x66\x60\x72\xa6\xf5\xc0\xd2\x55\x51\xb3\x6c\xbc\x8e\x96\xad\x07\x54\x8f\x87\x16\xb7\xab\x37\x4c\xf1\xf1\xd4\x20\x50\xfd\x0f\x7d\x0b\x4a\x50\x7b\x35\xd0\xb1\x53\xa6\xa3\x7c\x1a\xf5\xd7\x02\x11\x78\x2c\x41\x9c\x4a\xc8\x56\x63\x8a\x27\x7b\x2a\x88\xea\x4b\x60\xfa\x4f\x93\x5f\x74\x4f\xff\xe9\xfd\x2f\xba\x67\x94\x81\xb3\x2d\xb7\x14\x8b\x05\x5a\x8d\xea\x62\x6e\x79\x0d\x62\x1b\xe6\x83\x16\xfd\xcd\x35\x7e\xf3\x1b\xab\xfc\x0a\xab\xfc\xea\xa1\x2a\x8b\x37\xa7\x7e\x6b\x8d\xe5\xf0\xf3\x70\xa5\xcb\xa7\x8b\x8b\x95\xd6\x7f\x9a\x0c\xfe\xf1\x10\xb5\xa2\x9c\xdf\x81\x60\x18\x0a\x1f\xee\x1c\xf7\x9c\xf3\xad\x1c\x20\xad\x9e\x23\xd9\x51\x6d\xb8\xa7\xff\xf4\x1f\xd0\x12\x93\xde\x56\xbd\x25\x1b\x5b\x7f\x23\x2b\x87\x5b\xb1\x12\x37\x3e\x7e\x3b\x33\xd5\x50\xff\x30\xcd\x35\x49\x2d\xa9\x9b\xfb\x09\x3e\x0a\xe3\x2d\xda\xde\x2b\x1f\xfa\x2b\x74\x9f\xda\xe1\xa6\xed\xfa\xd1\x3e\xf6\xa3\xfd\x6d\x1a\x2f\xb7\x65\xfe\x78\x4e\x6c\xd3\x74\xbf\x3b\x2f\x5e\x20\x2f\x5e\x3c\xc8\x0b\x31\xe5\xf2\x1b\xf7\xb1\x37\xd4\xec\x3a\x5c\xd1\x03\x71\x25\x33\x7d\xa0\x5e\x0f\x96\x2e\x97\x75\xaa\xcf\x73\xe7\xfb\x1f\x8f\x5f\xa3\x57\x57\xbb\xea\x84\xaf\x82\x34\x95\x25\x5e\x50\x86\x3d\x5f\x31\xdd\x6c\xdc\xba\x2f\x0e\xa3\xd9\xb9\xb9\x86\x23\x2f\xf2\xf4\x9c\xad\xae\x15\xeb\xb6\x2e\x0e\xb6\x39\xd9\x45\x63\x86\xd3\x1a\x11\xdb\x2b\xc6\x4e\x54\x6c\xbf\x18\x0b\x13\x7d\x11\x3d\x28\x46\x4f\x55\xec\xb0\x18\xfb\xab\x8a\x1d\x15\x63\x3f\xab\x58\x37\x23\xeb\x3f\x24\x59\xe3\x2c\x66\xac\xdf\x3d\xd4\x46\x72\xa5\xec\x51\x22\x02\x9c\x16\xf9\xaa\x8c\xbe\xcf\x50\xb9\x77\xc7\xe0\x21\x32\xd5\x12\xe0\xa3\xe9\x94\x19\xff\xd3\x08\x15\x6b\x04\x8d\xc7\x62\x36\x50\x79\x49\xf9\x4b\x79\xdb\xcf\x30\xe1\x2b\x73\xf5\x22\x4f\xc3\x8b\x83\x0e\x51\x14\xac\x52\x3a\xcf\x9f\xb3\xc8\x30\x65\x77\x7e\x1a\x65\x7e\x43\xa9\x78\x0a\x28\x2b\x69\x7f\xc1\x29\x13\x28\x0a\x5e\x76\x58\x77\x26\x8b\x3d\x4b\x0e\xe3\xb9\xb8\x0e\xc0\x4c\x32\xb0\x36\xe9\x05\xec\x4a\xd9\x55\xd3\x26\x0a\xff\xd3\x08\xdc\x84\x76\x83\x2f\x9d\x87\x54\x9d\xec\x51\xff\xbf\x87\x55\x2e\xae\xd7\x34\xcb\x69\x71\x60\x51\x4f\x68\xae\x68\x6c\x64\xce\x68\xd4\x89\xe9\xee\x15\xa3\x0b\xa2\xeb\x44\x17\x27\xeb\xfd\x38\x21\xe2\x72\xf2\x0d\x4d\x89\x74\xe5\x02\x41\x31\x0e\x5d\x04\x2c\xc5\xcf\x65\x18\x87\xcb\xf0\xef\xc1\x45\x24\x92\x85\xeb\x13\xbd\x2d\x0b\x0b\xe3\x98\x0a\xbf\x6d\x6d\x9d\x48\x0f\x28\xe5\x44\xe1\xa8\xe8\xa1\xe1\x4c\xff\x5f\xb6\x62\xc3\xc7\x66\x36\x14\x84\xb4\x6a\xbc\xe5\x97\xd5\x8a\x76\x76\xab\xd5\x20\x4f\x02\x6c\x6f\x73\xd7\xc7\x53\x41\x3f\xb8\x37\xea\xe9\xff\xeb\x83\x35\x14\x0b\x71\xff\xdf\x6c\xe8\x64\xcd\x37\x37\x34\x26\x6e\xd7\xd0\xbf\x59\x67\xff\x06\x55\xb8\x5b\xe3\xe5\xed\x2d\xab\xe8\xc7\xa2\x66\xdc\xab\x8e\xdd\x85\x46\x10\xc7\x5a\x37\x1a\xe2\xdb\xe8\x9a\xa2\x77\x97\x2a\x15\x25\x2d\x64\x98\x77\x0f\x68\xc8\x07\x4d\x79\xb1\x5c\xfc\xa0\x68\xdd\x23\xbf\xd5\x19\x8a\xbc\x65\xf9\x87\x0d\x7b\xe5\x65\xa8\x06\xdf\x03\x0d\x63\x56\xed\x16\x6b\x61\xea\xa4\xce\x80\xe9\x9d\xcf\xba\xef\xab\x96\xdd\xd3\xff\x37\x7d\x03\x9d\x42\x62\x61\xec\xb1\x77\xee\x11\x2f\x28\xe6\x55\x30\xe3\x09\x33\xcc\x2d\xac\x42\x29\xad\x0d\x46\x21\x94\xa4\x5b\xba\xef\x33\x73\xd3\x14\xa1\xe0\xfa\xc2\x2a\x78\x0f\x08\xef\x21\x2f\xf7\x95\xb1\xab\x77\x00\xf9\xed\xad\x5c\x07\x2c\x30\x21\xec\xf8\xb6\x17\xb6\xd5\x3b\x62\xf7\x97\x1c\x66\xbe\x36\x1f\x63\xc9\xcb\x83\x79\x4d\xfe\xb9\xa2\xf9\x2c\x60\xf3\x83\x64\x9d\xbf\xcf\x26\x0f\xa2\xe4\xf7\x7b\x9a\xb1\x75\x97\xc9\x3c\x5c\x84\x94\xa5\xd9\xe5\xc3\xfc\x70\x8d\xc0\x3f\xe1\x53\x9f\x4e\xf8\xf4\xf6\x76\xc7\x26\xfa\x9f\xe5\x39\xee\x09\x9f\xca\x81\xa2\x54\x7c\xbb\x5d\xf3\x05\x72\x6f\xa9\xfe\x44\x47\xf1\x02\x65\xcb\x59\xa4\x13\xbc\x1a\x40\xc4\x95\x80\xe9\x86\xdc\x85\x73\xbd\x9b\xfa\x63\x89\xa8\x67\xbc\xfc\xbd\xd7\xb1\xbd\x0a\xc8\xf3\x2a\x88\xed\x59\x9b\x88\x2f\xb8\xfa\x0a\xf8\xec\x6a\xd3\xfb\xa5\x92\xef\x3b\x79\x13\xe4\x2e\x9d\xa5\x17\x4a\x6b\xf7\xde\xf3\xcb\xf7\xb4\x4d\xa8\xde\xcc\x0a\xf1\x90\x69\xab\x45\x27\xe1\x74\x97\xb5\x5a\x06\xbf\xbd\xd5\xff\xac\x8b\xfe\x36\x09\xa7\xa6\x68\xa5\x49\x38\x15\x77\xc9\x18\xde\xde\x29\xb6\x11\x61\x5b\x56\x54\x1e\x06\xdd\xb8\x32\x24\xb8\x61\x50\x02\x25\x6c\x8d\xb2\x49\xac\x9b\xb1\x5a\x88\xf5\xbd\xf4\x90\x55\xef\x06\x2c\x58\x05\xe8\x7c\xc2\xdf\x41\x53\x25\x8f\x50\x67\x48\xbf\x52\x96\xd2\x4f\x05\xb8\x1d\x5c\xd2\xad\x25\x48\x2f\x05\x2c\xbc\x0c\x63\xf4\x19\x20\x01\xf3\x18\x79\x8d\x7d\xcd\x93\x83\x80\xb1\x30\xb8\xa4\x27\x48\xb3\x82\xac\xa7\x64\xef\xfb\xa7\x09\xfb\x28\xfc\x97\x28\xe0\x52\x64\x11\xee\x45\x14\xc6\x5f\xca\x50\x18\x45\xd4\x5d\x64\xca\x78\x91\xbe\x3c\xa6\x54\xe3\x8f\xe1\x9c\x26\x95\xca\x62\x9c\x74\x23\xc0\x82\xd9\x17\xca\xe9\x5c\x7a\x24\x10\x70\xe5\xd8\xad\x4f\xfa\x8a\xf3\xec\xf5\x07\xa7\xd1\x33\xa4\xaf\x4b\xaf\x01\xab\x24\xcd\x5e\x96\xbc\xca\x2e\xf2\x8b\xbc\xc5\x2b\xf3\xf8\x92\x7d\x83\x64\x14\x5c\xe3\x60\x26\x0d\x21\xb5\x80\x2b\xb7\x24\xab\x24\x15\xef\x96\x8a\xdb\x1a\x35\xcc\xf9\x31\xf5\x06\xaf\x7a\x19\x89\x7e\x81\x76\x79\x5c\xb7\x11\x5b\xe5\x40\x6c\xee\xc6\x51\x56\x9b\xe6\xb5\xe6\xb7\xb7\x79\xc5\x69\x71\xf4\x6a\xc4\x5c\x3d\xfe\x5f\xa4\x56\xbc\x73\x9f\xdd\x99\x43\x2e\xee\x96\x0e\x9f\x67\x08\xc3\x39\x8d\xb9\xd4\x25\x4a\xab\xbc\xa1\x37\xa9\x49\x27\x0f\xc2\x4c\xf8\x74\xea\x2b\x37\xf4\xaa\x1e\xcf\xea\x9c\xd9\x55\x75\xfe\x12\xae\x84\xe7\xf4\xd2\x2d\x51\xac\xc9\x59\xf2\x85\xca\x29\xb4\x1e\xc6\x9c\x5e\xe2\x73\xc0\x0c\x3d\x0a\x9b\x99\x9e\xf4\x59\x17\x9f\x0a\xcf\x9e\x10\xd4\x73\xda\x72\x70\x39\x70\x4b\xd8\x2e\x4f\x3e\xac\x56\xc5\x1b\xeb\xe1\x56\x1c\x68\xb5\x1e\x04\xe9\x5e\x05\xe9\xfb\xeb\xf8\x98\x25\x2b\xca\xf8\x8d\x11\x9a\xea\xbc\xee\xc3\xbc\x0b\xf1\x60\x3d\x9d\xa4\xd3\x56\x0b\xd5\x32\x04\xa5\x7f\x27\x64\x8b\xbc\xa5\x90\x9f\x40\x57\xd9\x41\x78\x65\xdd\xcc\x5d\xc8\xe5\xef\x58\x77\xb9\x27\xff\xcd\xb5\x93\x4c\xdc\x54\x33\x95\xdc\x50\xab\x06\xba\x94\x57\xbc\x2f\xf4\xa6\x4c\x50\xd6\x56\xf7\x16\x32\x09\xa7\x77\x19\xd1\x7a\x7a\xb3\xbc\x48\x22\x7d\x47\xb5\x60\xbd\xb8\xec\xb2\x86\x14\x0e\x2d\x61\x5a\xa1\xed\x85\xe0\xfc\x19\x31\x08\x42\x9a\x28\x56\xef\xba\x6b\xa2\xbc\x12\xdd\xaa\x7b\xc4\xdb\x75\x0f\x6c\xe7\x60\x8b\x76\x8e\xa7\xbb\x74\x12\x4c\x6f\x6f\x0d\xf8\xe3\xeb\x7f\xd6\xcd\xbb\x6c\x5d\xb4\xd0\x23\x88\xde\x91\x63\x73\x77\x76\x65\x8a\x0b\xb9\xe1\xc2\x10\xee\x76\x73\x43\xa1\x89\x33\x9c\x05\xc5\xdb\x69\x01\xcc\x88\x34\x1e\xb0\x4b\xca\xa1\x79\x94\x13\xb0\x60\xfe\x35\x88\x67\xd4\xb0\x71\x5d\x16\x10\xfb\xf7\x22\x7e\x1b\xa6\x69\x18\x5f\x96\x31\x29\x3b\xea\x5e\x9d\x24\xd4\x7e\x5d\xd5\x57\xfa\x3f\xdd\xd0\xff\xb3\x9b\x48\x54\x48\x43\x66\xbb\x89\xbe\x5f\xeb\xf6\x12\x4c\x78\x98\x40\x98\x8d\x6d\x28\x6e\x96\x6d\xea\x01\x32\xb5\xda\x01\x24\xd2\xc2\x14\x64\x73\xde\x89\x04\x9e\xee\xde\xdb\x65\x0a\x17\x10\x15\xf6\xbb\x7b\x84\x5e\x70\xa4\x2a\xf3\xcd\x6d\x40\xe9\x97\x8d\x2e\x4e\x9f\xe4\xbe\x64\x6e\x6f\x9f\xe8\x4f\xb2\xaf\x8d\xa8\x5e\x67\xe5\x6d\x1a\x0e\x67\x57\xea\xed\xed\x49\xd0\xf9\xfb\xe7\xe9\xd3\x70\x33\x61\xaf\x45\xe7\xdd\x02\x95\xd5\x19\x4f\x9f\xde\x33\xf2\xa1\xbc\x94\xfc\x37\x62\xff\xcf\x2a\x94\x0d\x82\xc2\xdf\xb8\x54\x30\x04\x59\xed\xa9\x4a\xef\x16\x0b\xcf\xbb\x07\xa1\x59\x07\x2d\xb3\x20\x9b\x85\x4a\xac\x85\xc6\x28\x62\x46\x02\x8b\xb9\xee\x76\x8b\xf8\xe4\x83\xe9\x15\x5c\x52\xe8\x6b\x78\x14\x74\x19\x87\x64\x64\x8d\x20\x39\x72\xd6\xa9\x51\xf0\x77\x8d\x72\x99\x29\x46\x0e\x6c\xdd\x24\x59\xe5\x6a\x55\x98\xbf\xd3\xcc\xaf\xfb\x34\x79\x51\x7d\x97\x0c\x2c\x28\x48\x5d\xff\x43\xa9\xb2\x3a\xe3\xcf\xd3\xf6\xd3\xcb\x4d\xa2\x55\xa8\x62\x83\xd4\x5b\xb9\x58\x28\x5f\x16\x8d\x76\x4a\xc7\x6e\xb5\xf4\x6f\x7a\xd9\xb8\x93\x76\x58\x66\x3b\xda\xc4\x36\xf7\x54\x81\x46\x03\xbd\xd6\x37\x10\xde\xa0\xb3\x10\x04\x9b\xde\x7d\xc0\xe7\xf3\xf6\xd3\x4b\xf3\x9e\x5a\xd5\xbb\xb2\x90\x6b\xb0\x97\x55\xa5\x40\x32\x9e\xe8\x4f\x84\xb7\x9d\x27\xe8\x6d\xa7\xce\x76\x81\x48\x53\x2d\x5d\x1f\x14\x0a\xd7\x01\xc1\x88\x3e\xa1\x97\x87\xdf\x56\x86\x3e\x39\x3f\x3f\x3f\xd7\xdb\xe8\x1a\x9b\xe8\x97\x2a\xdf\x46\x4b\x0f\x6f\x97\x46\x41\xca\x5f\xc7\x73\xfa\xcd\x57\xc0\x64\x87\xa1\x83\x7a\xa3\x90\xa9\xd9\xac\x90\x0b\x23\x05\xb5\x17\x85\x9c\x32\x74\x15\x01\x1a\xbe\xdd\xd0\x3c\x78\x7b\x52\x95\x54\x28\xbe\x63\x2b\x27\x6f\xb2\x9a\xc5\x34\x95\x01\x80\x04\xfb\x6e\x6f\xf5\xf3\xf3\xc2\x28\x0c\x3a\x05\xf9\x59\x4d\xc8\xa6\xf2\xb3\x2b\xdf\xe7\xe6\x46\x35\x22\x9c\x0b\xb5\x55\x3e\x52\x65\x79\xf1\x8a\x69\x9e\xad\x5d\x18\x17\xc5\xad\x77\xa3\x69\x74\xb8\x97\x55\x9b\x25\x4a\xfa\x74\xab\x4f\x17\x9e\xe8\x4f\xbc\x27\xfa\x13\xa2\x3f\xd1\x3d\xfd\x89\x4e\xa0\xca\x1e\xfc\x90\xc0\xd3\xff\xff\x3a\xb9\xf0\xf0\x1c\x39\xf5\xf4\x9f\x74\xb2\xf0\xf4\xf3\x85\x4e\x62\x4f\x3f\x8f\x75\xc2\x3c\x3c\xce\xcb\x3d\x3c\x4d\xfe\xd5\xd3\xcf\xbf\xea\xe4\x9b\x57\x2b\x63\x73\xf7\x9e\x7e\x77\xee\xa0\xbb\xec\xde\xb3\xc3\x9c\x75\x24\x4a\xec\x21\x74\x9a\xf5\xe3\x4a\xe8\x3f\xba\x04\x54\xba\x3b\xaa\xa9\xd5\x82\x4a\xd5\x3e\x50\x52\x71\x9f\x99\x2c\x5c\x1d\x64\x5e\xc5\x67\x57\xc2\x04\xe2\x3e\x9d\xc8\x88\xe9\xa6\xd1\xa8\xe1\xae\x24\x6f\xb5\x0c\xee\xf3\xdc\xfb\x88\x69\x12\xbe\xb9\xc9\x9b\x56\x52\x84\xe7\xae\xcb\x28\xb9\x08\xa2\x06\xba\x41\x9b\xb2\x38\x88\xc4\xfc\xd9\xd3\x4e\x57\x41\xac\xad\x04\x9e\x54\x5b\xae\x53\xae\x5d\x50\x4d\x64\xd7\xc1\xea\xaf\x77\x79\x55\xc1\x7a\xbf\x17\x9b\x8e\xb7\xb7\xb4\xd8\x1b\x27\xd6\x54\x6a\x91\x9d\x0c\xc5\x7d\xc3\x07\x5a\x0a\xda\x22\x61\x62\x32\xbf\x5b\x9d\xa2\x17\x91\xdb\xd5\x9e\x47\xa0\xb8\x46\x86\x49\x98\xfa\x2a\x12\x28\xff\xcc\x49\xff\xd5\x7d\x63\xc4\xa6\x29\x7b\x66\xff\x56\x1b\xe2\xe9\x79\x2a\x5d\x03\x65\xa2\x24\xaf\x73\x3f\x3d\x4f\xdb\x4f\x2f\x97\xbb\x7c\x13\x7f\x59\x91\x10\x34\x11\x04\xbb\x99\xa9\xbc\x3f\xe1\xda\x42\x9e\xdd\xdc\xb2\x06\x84\xb6\x5a\x1d\x3b\x1b\x38\xbb\x21\x64\x7e\xbf\x30\x1a\xb5\x76\xd6\x28\x49\x4c\xb5\x64\x01\x0d\xd2\xd6\x89\xb6\x48\xd6\xf1\xbc\x28\xf3\x77\x05\xbe\x14\x8c\x67\xff\x7b\x73\x7c\x69\x26\xe5\x7f\xc7\x0b\x02\x9e\x5a\x16\x3e\x38\x3b\x39\xf2\xe4\xda\xf0\xc1\xfb\x77\x67\x27\xef\xb3\xcf\xfd\xa3\x33\xe1\x49\x86\xbc\x3d\x3c\xdb\x97\x6e\x64\x36\x14\xa1\x26\xa4\xfe\xf7\xc3\xd3\x83\xfd\xe3\x43\xcf\x19\x91\xc3\xd3\x03\xf8\xf3\xca\xf6\x6c\xdb\x21\xaf\x1c\xcf\xb6\x7b\xe4\x55\xcf\xb3\xed\x3e\x79\xd5\xf7\x6c\x7b\x40\x5e\x0d\x3c\xdb\x1e\x92\x57\x43\xcf\xb6\x47\xe4\xd5\xc8\xb3\x6d\x97\xbc\x72\x3d\xdb\x1e\x93\x57\x63\xcf\x76\x2c\xf2\xca\xb6\x3c\xdb\xb1\xc9\x2b\xdb\xf6\x6c\xc7\x21\xaf\x6c\xc7\xb3\x9d\x1e\x79\xff\xee\xd0\xeb\x8f\xc9\xd9\xa7\xf7\xde\xc0\x22\x67\xbf\x9c\x1c\x1e\x7a\x03\x9b\xbc\x7a\xff\xe1\xc4\x1b\x38\xe4\xd5\xeb\x8f\x87\xde\xa0\x47\x4e\x5f\xff\xd5\x1b\xf4\xc9\xe9\xe1\xc7\xc3\x77\xde\x60\x40\x0e\x5f\xff\xfc\xcb\x99\x37\x18\x92\x77\xaf\xdf\x1d\x7a\x83\x11\xf9\xdb\xe1\xc9\x7b\xaf\xef\x92\x17\xfb\x07\x6f\x4e\x8f\xf7\x0f\x0e\x3d\x97\xbc\x78\x73\x7a\x0c\x7f\x4e\x3d\x97\x9c\xed\xbf\xf0\xc6\xe4\x2f\x9e\x6b\x93\x4f\x9e\x3b\x22\x87\xde\x70\x4c\x4e\x3c\xd7\x21\x67\x9e\xdb\x27\xff\xea\xb9\x63\xf2\xc1\x73\x07\xe4\xb5\x37\xea\x91\xf7\xde\x68\x4c\x8e\x3d\xd7\x22\x07\xfb\xc7\xa7\x9f\x8f\xde\x1f\xbc\xf1\x1c\xf1\x51\x0c\xc3\xdf\x7d\x6f\x38\x20\xa7\x9e\xdb\x23\x2f\xbd\xa1\x4b\x5e\x79\x23\x8b\xfc\xec\x8d\x6c\xf2\x8b\x37\x72\xc8\x7f\xf1\x46\x7d\xf2\xc6\x1b\x0d\xc8\x91\x37\x1a\x12\xbc\xef\xe1\xd9\x3d\x08\xc0\x9f\x93\xc3\xb3\x0f\x27\xef\x64\x08\xfe\xfc\xcd\x1b\x5b\xe4\xaf\x9e\xeb\x92\x03\x6f\x38\x22\x1f\x3d\x77\x48\x5e\x78\xc3\x21\x79\xe7\x8d\x5c\xf2\xd6\x1b\x8d\x88\xa8\x5d\xcf\x21\xa7\xc7\xf0\x7b\x7c\xf2\xfa\xdd\xd9\xe7\xd3\x83\x93\xc3\xc3\x77\x5e\x1f\xbe\xcf\x4e\x0f\x20\x70\x7a\x70\xf2\xfe\xe8\x48\xd0\x6e\xf7\x07\x04\xef\x19\x60\x08\xaf\x16\x78\xf6\x98\xbc\x38\xc1\x3f\xe2\x4e\x81\xd7\x1f\x40\x08\xfe\xfc\xf2\xfe\xed\xa1\xd7\x1b\x92\xe3\xfd\x9f\x0f\x3f\x7f\x38\xf6\x7a\x3d\x72\xfc\xb3\xf8\xfb\xf2\xf0\xe8\xf0\xec\xd0\xeb\x0f\x21\x04\x7f\x0e\xdf\xbd\xf4\x7a\x03\x01\xfa\xf2\xfd\xa7\x77\x5e\xaf\x4f\xc4\x71\x7f\x19\xc2\xbf\x90\xd9\x25\x18\xdb\xb7\x08\x1e\xcb\xf7\x7a\x63\x72\x74\xf8\xea\xcc\xeb\x8d\x88\x3c\x5f\xef\xd9\xfd\x3e\x79\x73\x6c\x79\xe3\x21\x79\x73\x6c\x7b\xe3\x11\x79\x73\xec\x78\x63\x97\xbc\x39\xee\x79\xe3\x31\x79\x73\xdc\xf7\x6c\xcb\x22\x6f\x8e\x07\x9e\x6d\xd9\xe4\xcd\xf1\xd0\xb3\x2d\x87\xbc\x39\x1e\x79\xb6\xd5\x23\x6f\x8e\x5d\xcf\xb6\x00\xc7\xd8\xb3\xad\x01\x79\x73\xfc\xf9\xf8\xe8\xc3\xa9\x67\x5b\x80\xe9\xf3\xfe\xcb\x97\x2a\xf8\xf6\xf5\x3b\x8c\x07\x9c\x9f\x4f\x3f\xbc\x38\x3b\xd9\x3f\x38\xcb\xbe\xcf\xf6\x4f\x3c\xdb\x1a\x22\xe0\x87\xa3\xb3\xd7\xc7\x47\xff\xaa\xbe\x5f\xbe\xfe\xf8\xfa\xe5\xa1\x67\xdb\x36\x7e\x1d\x1e\xbc\x7e\xbb\x7f\xe4\xd9\xb6\x85\x85\x1d\x9e\xbc\x7e\xff\x12\xbf\xde\xed\x7f\x7c\xfd\xf3\xfe\xd9\xe1\x67\x90\x48\xcf\x86\x26\x54\x31\xaf\xde\x9f\x7c\xda\x3f\x79\xe9\xd9\xc3\x11\x11\x07\xca\x3d\x1b\x44\xe7\xc3\xd1\x91\x6a\x48\xdb\xed\x91\x4f\xaf\xdf\xbd\x7c\xff\xe9\xf3\xfb\x8f\x87\x27\x1f\x5f\x1f\x7e\xf2\x6c\xd7\x21\x2f\x90\x75\xef\x0e\x4f\x4f\xa1\x5d\x1c\x7b\x58\x8c\x41\xf6\x3a\xf6\x68\x43\xe7\x96\x93\xf2\xcc\xe9\xeb\xbd\xd7\xa4\x95\xe3\xd7\xfb\x2f\x4b\xdf\xb3\xfb\x8a\xf7\xa5\x8b\x27\x6e\xbd\xc6\x27\xa4\x1e\x71\x26\xf7\x8e\x94\x4f\x9d\x3e\x84\x70\x8b\xe3\x8d\x0a\xe5\x59\x72\x96\xdc\x4b\xe0\xc3\x47\x9c\x73\x54\x2f\x12\xce\x93\xe5\x6f\xc5\x26\x36\xf6\xe5\xd1\x89\xd9\x97\x66\x74\x8f\x39\xf1\x58\x7b\x90\x85\x94\x1f\xfc\x03\xa1\x61\x74\x41\x19\x8d\x67\xf4\x6d\x10\x07\xa5\xf9\x23\x8c\xcd\xf5\xf4\x82\xc7\xb7\xea\xbb\x72\x44\x7f\x2a\x1e\xb5\x5a\xb1\x64\x11\x46\x34\x7d\x8a\x86\x89\x18\xc9\x1b\x8a\x52\xd9\xf3\x84\x74\xf7\xfd\xc5\xbf\xd1\x19\x6e\x1e\xa7\x06\x37\xeb\xdb\x7b\xca\x1a\xc1\xf5\x3e\x9a\xe7\x34\x28\xe1\x13\x8a\x4f\xbb\xd6\xf6\x59\x9b\xea\xc0\xe9\x65\xc2\x42\xaa\x86\xde\x7b\x20\x32\x06\xfb\xba\x0a\xe9\x0f\x65\xd9\x5f\xad\x68\xc0\xd0\x8e\xd2\xf3\xf0\x83\xd9\x0e\x92\xd5\x8d\xd8\x6a\xd2\xb3\xe0\x83\x99\x4e\xc1\xc8\x48\x7d\x5d\xfc\x7d\x18\x1c\xe5\x0b\x5d\x5e\x67\xc1\x07\x33\xe5\x6e\xb2\x55\xe8\xc1\x2c\x6f\xc3\x74\x46\xa3\x28\x88\x69\xb2\x4e\x7d\xbd\xf4\x79\x6f\xe6\x9b\x97\xd9\x52\x6e\xea\x4f\xbe\x87\x73\x6f\x6b\x66\x13\x4e\xbf\x71\xaf\xc0\x71\xcd\x58\x24\x31\x4f\x89\x36\x4b\xa2\x84\xa5\x44\x13\xcf\xad\x99\xfa\x1d\xd9\x02\x71\xd6\x06\x12\x2f\x7c\x6b\x2d\x4d\x34\xcb\x56\x18\x14\xb7\x24\x82\x8c\x79\x5b\x65\x56\xd2\x26\x33\x67\xc2\xb7\x55\xe6\xac\x6d\x65\xee\xbc\xad\xb7\xcb\x8e\xc2\xa4\xf2\x0a\xc9\xda\x2a\x63\xa9\x9d\x65\x7e\x88\xeb\xea\x77\xd3\xc6\x56\xaf\xeb\x00\xff\x3b\xd8\xae\x9d\x4b\xd6\x59\x26\x73\xaa\x7b\x93\x6d\xf9\x84\x9e\xdc\x26\xf8\x2b\x5d\xd9\xe7\x4e\x44\x49\xee\xd8\x93\x14\x1c\x86\x4e\x89\x2e\x8e\x46\x69\x41\xac\xed\x47\xfc\x67\xa6\xcd\x29\xa7\xd2\x41\x4a\x30\xfb\xf2\xeb\xa7\x2b\xba\x66\x61\xca\xc3\x59\xf7\x3c\x3e\x8f\x9f\x00\xfa\x27\x9e\xb6\xbf\xe6\x89\x80\xd4\x2e\x82\x14\x2d\x7f\x2d\x0e\xbe\x86\x97\x01\x4f\x58\x37\x92\x0f\xe0\x78\xe7\xb1\x86\xff\x9e\xd0\xb8\xb3\x4e\x9f\x68\xfe\x73\xed\x09\x90\xf6\x84\x68\xb8\xf6\x01\xdf\x19\x35\x4f\x00\x3d\x24\x7a\xda\xcb\x30\x0d\x2e\x22\xaa\x05\xf1\x8d\x24\x8b\xd1\x08\x17\x3a\x96\xeb\xf8\x12\xe6\xed\xe7\xf1\x13\x55\x39\x20\x27\x4d\xd7\x4b\xaa\x1d\x70\x16\xb5\xf7\x23\xae\x2d\x69\x10\xa7\x22\x27\x40\xaa\xba\xe7\x90\x10\xa3\x35\x40\xe6\xc4\x64\xa0\x18\xd5\x00\x0b\xcc\x83\x86\xca\x1c\xfd\x74\xc2\xb4\x03\x53\x8d\x3c\xe6\x11\x8d\xb7\x63\x13\xfd\x22\x49\x22\x9d\xe8\xaf\x17\x5a\x4a\x39\xd1\xd6\xf1\x3c\xa1\xa9\xc6\xaf\xa8\x26\xbc\xee\x6a\xef\x4f\xa1\xf4\x4e\x76\x9d\xa6\xf3\xfc\xe5\xe1\x91\xc6\xe8\x32\x58\x11\x2d\x4d\x34\x7e\x15\x70\xad\x44\x93\x06\xf3\x36\x3a\xd7\xc2\xb4\x1c\xdf\x55\xd4\x4b\x9a\x7f\x8c\xd2\x53\xca\xb5\xeb\x2b\xca\xaf\x28\x43\x32\x83\x88\xab\xdd\x8d\x54\x0b\x52\x2d\xd0\x00\x37\x46\x25\x4c\x44\xcc\x41\x96\xe2\x19\x57\xb0\x19\x21\x29\x8d\xe7\x69\xe7\xfa\x2a\xe0\x8f\xa0\x25\x7b\x72\x60\x92\x85\xa4\xd7\x4a\x52\xf2\xbc\x3a\x25\xfa\x81\xf0\x7d\x95\x6a\x57\x38\x79\xcd\x89\x0d\x53\x4d\xf8\x9b\x9f\xa3\x84\x6b\x72\xad\xa6\x2b\xfe\x69\xa7\x34\x9e\x43\xef\x38\x3c\x3d\xd0\x56\x8c\x2e\xc2\x6f\x5d\x00\xc2\x52\xba\x0a\x68\x7f\x3e\xd7\x6c\xc7\xd5\x78\x82\xa8\xd7\x31\x4e\x52\xe9\x5c\xcb\x9c\xf6\x43\xed\xc3\x58\xfb\x86\x67\x24\x00\x41\x81\xbc\x6e\x57\xfb\x14\x84\x1c\xfd\x4a\x42\x76\xf5\xc2\x86\x86\xbe\x56\xb5\x20\x9e\x6b\x29\xa5\x1a\xf0\x06\xd3\x65\x56\x4d\xf5\xae\xfc\x5f\x1a\xdc\xa4\x5d\x4d\x33\xce\xae\xc2\x54\xbb\x4e\xe2\x27\x5c\xbb\x4e\xd8\x17\xed\x9a\x46\x11\x74\xd1\x55\x14\xf0\x45\xc2\x96\x29\x34\x1b\xa3\x88\xad\x8e\x45\xe1\x5f\x51\x26\x80\x71\x7f\x11\xd4\x94\xdc\xb7\x42\x4a\xd3\x64\x29\x98\xa8\x1c\xe7\xa5\x5d\x13\x1b\x73\x3d\x0f\x2f\x22\xda\xb9\xa0\x51\xd4\x49\x41\x77\x3e\xdc\xa0\x52\xdf\x82\x79\xd6\x51\xaf\x85\x7a\xc2\x98\x02\x74\xc9\x53\x40\xa6\x13\x7d\x8d\x27\xc1\x3e\x9c\x1c\x69\xc9\x02\x89\x57\xc7\xe8\x34\x00\xd0\xb0\xb4\xae\xa6\x1d\x2e\x57\xfc\x46\xad\x89\x02\xad\x71\xa2\x49\xb2\x10\x10\x85\x4e\xbe\x10\xda\x89\x0b\x6f\x7f\x22\xd1\x5b\x93\x9b\xf7\x84\x27\xaf\x17\x1a\x67\x6b\x4a\xca\x04\xa5\xc2\xbf\x1c\xd5\xf2\x17\xbd\xb4\xeb\x30\x8a\x34\xf1\x38\x84\x16\x68\x9f\xe8\x45\xe9\xf1\xd1\xae\x76\xc5\xf9\x2a\xf5\x9e\x3e\xbd\xbe\xbe\xee\x5e\xf7\xba\x09\xbb\x7c\x7a\x76\xf2\xb4\x48\x64\xfa\x14\xe4\xf4\xa5\x78\xd7\x06\x6a\x58\x4a\xd4\x18\xfd\xf7\x75\xc8\x68\x0a\xcd\xb7\x0c\xd3\x14\xdb\x8b\x25\x4b\x21\x99\x30\x45\xd2\x3e\x5d\x51\xb1\x52\xa6\x89\xb7\x99\xa0\x0f\xa4\x94\xa3\xf8\x62\x2d\x90\xf5\x82\xd4\x80\x73\xba\x5c\x61\x5a\x90\x7e\xc9\x90\x20\x5b\x0b\x25\x84\x0b\x2d\xa6\x33\x9a\xa6\x01\xbb\xe9\x42\x95\x32\x31\x4d\xb5\x65\x70\x23\x5e\xa5\xba\x92\xeb\x46\xc5\x8c\x40\x2e\x4d\x39\x20\x08\xb9\x36\x0f\xe7\x08\x2a\x0e\x54\x01\x8f\x90\xf4\x40\x94\x29\xa4\x0f\xbb\xa9\xd4\x88\xf4\x1b\xa7\x71\x8a\xf5\xbe\x0e\xf9\x15\x92\xa7\x97\xf8\xa1\x17\x0b\xbb\x0a\xbe\xd2\xe2\x37\x4f\x34\xf9\x3e\x50\x99\x89\xdd\x27\x53\xa2\xe7\x8d\xd6\x41\xfb\xe9\x61\xb9\x28\x98\x62\x3a\xbb\xbc\x30\xec\x21\xd1\xc4\x7f\x26\x0c\xc6\x88\x84\xe8\x67\x65\x81\xc0\x68\xd1\xf7\xe9\x37\x2e\xaa\x11\x27\x5a\x82\x5a\x55\x24\x06\xea\xf1\xa1\x14\x25\xb7\x40\x18\x1a\x74\x8f\x23\x4c\x27\xd9\x66\xa3\x7e\x70\x7a\xaa\x89\x1d\x73\xd9\x9f\x0a\x74\x21\xea\x0d\x9d\x49\xa4\x41\x3b\xbc\x4a\x98\x46\xbf\x05\xcb\x55\x24\x46\xfb\x35\x8b\x0c\x25\xc2\x97\x49\xd2\xbd\x8c\x9e\x06\x31\x9d\x9f\xbd\x31\x21\x35\x0a\x63\x1a\xb0\xce\x25\x0b\xe6\x21\x8d\xb9\xc1\x93\x95\x76\x81\x93\x47\xa2\x5d\x44\x20\x79\x8c\xce\xcd\x4a\x1d\xd3\xf0\xef\x7f\x64\x15\x35\xc0\xdf\xd5\x34\xe9\xd3\x3a\x05\xa1\x00\x33\xa4\xca\x6a\xf5\x40\xd7\x1f\x49\x8a\x2a\xa3\x91\xb5\xb6\xf5\x27\xf8\x0f\x82\x33\x1a\x73\xca\x14\x81\xc2\x16\x10\x03\xe8\x6f\xb7\x3d\xa4\x1e\x93\xe4\x09\x2b\x22\xbd\x4a\xd6\x11\x8c\x42\xf1\x5c\x7b\x71\xaa\x19\x4f\xce\xcf\xbf\x59\xee\x13\xa2\x05\x5f\x02\xed\xd7\x5f\xcc\xae\xa6\xbd\x07\x79\xbd\x0e\x53\x5a\xc9\x0a\x43\x6c\x31\x3b\x64\x1d\x2d\x9e\x20\x77\xb3\xd1\xb1\xb3\x0c\x56\x9d\xe4\x2b\x65\x2c\x9c\xd3\xf4\x51\x1c\x16\xf6\x2e\xb2\x55\x27\x4f\x70\xe0\x03\x6d\xb6\xa2\xb3\x70\x11\xd2\x39\x5a\x1d\xb1\x96\x88\x79\xb5\xf6\x9a\xa3\x29\xa4\xa5\xb8\x31\xa2\x05\x8c\x05\x37\x44\x0e\x86\x34\x98\x5d\x69\x2b\xb9\xab\x03\x60\x50\x91\x7c\x00\x07\x05\x39\x4b\xe6\x14\xc7\x63\x48\x92\x47\x4d\x0a\xf8\x85\x01\x56\x2b\x40\x0b\x79\x4a\xa3\x45\x57\x7b\x1d\x0b\x88\x72\xe9\x8d\xe5\x32\x3a\xa3\xe1\xd7\xb2\x05\x51\x2d\x17\x3e\xa4\xfa\x2a\x02\x36\x0a\xcf\x77\xdd\xd2\xbd\xef\x7a\x1b\xb7\xf4\xd6\x8e\x3d\x76\x74\xa2\x93\xec\xcb\xd2\x89\xde\xc9\xbe\x6c\x9d\xe8\xdd\xec\xab\xa7\x13\x0d\x72\xe3\xe7\xc0\x75\xf5\xbb\x3b\x50\x8f\x78\xf3\xa5\x93\xc4\x1d\xfa\x2d\xdc\xc2\x66\x2b\xcf\x8c\x76\xac\x4c\xe4\x3e\x49\x03\x12\x35\x0b\x8e\x33\x88\x19\x6b\x27\x2e\xc1\x40\xfb\x88\x71\x74\x26\xde\x37\xd7\xa0\x48\xa1\x0b\xc5\xe1\xd7\xce\x45\x14\xc6\x5f\x1e\x25\x37\x05\xa1\xaf\x53\x80\xe8\x44\x89\x88\x5f\xbb\xb8\x51\x26\x50\xad\xd4\xce\xec\x66\x16\x3d\x4e\x41\x4d\x6c\xda\x23\x03\xcb\x9a\x66\x82\x8b\x83\x82\x2a\x0b\x0b\x67\x30\xf8\x85\xb1\xb6\x0c\xa3\x28\x4c\xe9\x2c\x89\xe7\x29\xb6\xec\xbe\xc6\xaf\x13\x8d\x8a\x37\x8b\x94\x0c\x01\xa9\x8b\x90\xa5\x1c\x54\x0b\x3e\xd5\x83\x76\x6d\x72\xad\x45\x49\x7c\x59\xac\x89\xec\x8b\x17\x54\x4b\x62\xa2\x09\xc4\x25\xd8\x90\x17\x61\x16\x8b\x62\x85\x7f\x6c\x1c\x0c\x0c\x67\x30\x20\x9a\x25\xfe\xdf\x1d\x54\x07\x43\x31\xc8\x49\x9d\x28\x9f\x70\x94\xe4\x8a\xc2\x21\xbd\xb3\x0a\x22\xca\x39\xfd\x3d\xd4\x84\xfe\x5e\xe2\x90\x0b\x23\xca\x4c\x53\x56\xae\x2c\x0a\xd9\x8d\x1a\x65\x16\xc4\xc0\x8d\xaa\x56\x11\xbd\x1b\x06\xe8\x5c\xc3\x68\x30\x7d\x6b\xd4\x3e\xc0\x59\xd0\x0d\x38\xad\x9c\xa3\x98\xd1\x6d\x55\x51\xa0\xc5\xeb\x25\x65\xe1\x0c\x27\x74\xdf\xb4\x30\x96\x53\x0d\xc1\xbb\x22\xc1\x1f\xa1\x8e\x1b\x48\x8e\x96\x49\xca\x71\x56\x3d\x4b\x53\x99\x57\x9c\x92\xd5\x34\xa1\x3a\xe3\x59\xb4\x9e\xd3\x54\xfb\xa7\x93\x9f\x5f\x10\xed\x9f\x4e\x4e\x7e\xfe\xf9\xc5\x0b\xa2\x81\x35\xd3\xed\x76\x4d\x0c\x05\x32\x18\xe0\xcc\xe8\x46\xe2\x89\x83\x25\xce\x56\x61\x0a\xca\x60\x66\x90\x26\xda\x2a\x60\x5c\x35\x6c\xca\x93\xd9\x17\xed\xaf\xb6\x0d\x28\xba\xfc\x1b\xd7\x16\x61\x24\x48\xfe\xd7\x64\x8d\xf4\xae\x53\xaa\x89\x15\x06\xe0\x8e\x20\xfd\x46\xa0\x2c\x36\x8f\x50\x80\xb9\x90\x42\xa7\xbd\x10\x6f\xa0\x5e\xd2\x79\x56\x95\x14\xf0\x2d\xd6\x91\x98\xad\x7c\x09\x57\x2b\xb0\x60\x02\x2d\x5d\x06\x51\x04\xfc\xbc\xa0\x28\x75\x61\x3c\x0f\x67\x34\xcd\xb5\x4c\xa6\x60\x1b\xdb\x5b\x8a\xe4\xea\x06\x74\x5f\x8a\xab\x27\x0f\x4b\x62\xbe\x96\x56\xd0\x7c\xfb\x6b\x9e\x2c\x03\x1e\xce\x82\x28\x02\x2e\xae\x6e\xb4\x65\x02\x3c\x48\xd5\x75\x35\x35\xa1\x9c\xa9\x9b\xaf\x58\xf8\x3a\xa5\x1d\xc9\x8b\x8e\xd0\x90\x1d\xc8\xfc\x28\x2a\xea\xda\x8f\x27\xc8\xff\x22\xa3\xa5\xfa\x45\xca\x2e\xe8\x55\xf0\x35\x4c\xd0\xe8\xc0\x95\xfa\x4e\x46\x65\x07\x8f\x9c\x3e\x9e\x86\xfa\x18\x80\xca\x9f\x06\x62\x1a\x9c\x73\x41\x1c\x69\x05\xfc\x61\x7c\x29\xf8\xcf\x59\xd4\x59\x45\xeb\xb4\xb3\x0c\xe3\x75\xda\xf9\x3b\x65\x49\xe7\xef\x49\xb2\x7c\x8c\xd9\x63\xd5\xcd\x9e\x03\xc0\x7b\x1c\xad\xd3\xa7\x78\xd9\xed\xe9\xdf\x28\x4b\xb4\x99\x5a\x3a\x80\x02\xba\xe7\xf1\xeb\x85\xb6\x08\xa2\x54\x81\xa3\x03\xe6\xfb\x33\x49\x48\x4c\x46\x33\x28\xd5\x7e\xfd\x5c\x2c\x0d\xb3\xcc\xc1\xf0\xe4\x57\xa5\x3a\xce\xb6\x64\x6b\x93\x31\x87\xcb\x61\x07\xc0\xb7\x90\xa6\x30\xc1\x12\x75\x44\x33\xec\xd7\x03\x60\xf6\x55\x22\x66\x5e\x58\x9d\xee\x39\x5e\x04\x6e\x63\x7d\xda\x07\x8a\xce\x12\xa0\xc0\x90\x63\x14\x19\x33\x6a\xbf\x76\xf0\x2e\xef\x6f\x20\xf7\xa3\x86\x18\x6a\xe4\x7e\x7c\x80\xdc\x8f\x8a\xdc\x8f\x75\x72\x73\x8c\x39\xb9\x34\x48\x79\x27\x48\xc3\x20\xee\x04\xcb\x8b\xf0\x72\x9d\xac\xd3\x4e\x90\x76\xf8\x75\xd2\x11\x2f\xeb\xfe\xf6\x25\xb1\xc3\x20\xe5\xda\x3e\x94\xa1\xed\xab\x32\x72\x33\x2d\x15\xb3\x51\x18\xcc\x45\x81\x1a\xde\x0b\x16\xd4\xc5\xc1\x45\x44\x3b\xb8\xc8\xd4\xc9\x1e\x51\xfa\x11\x7a\xce\xd8\x9a\x02\x47\x04\x46\xb1\x6c\xa5\x64\xb3\x40\x0b\x11\xac\x01\xc8\xf0\x32\x4e\xc4\xd2\xd0\x12\x95\xf3\x27\xfa\x24\x8a\x34\x46\x41\x19\x0a\x3d\x0c\x3c\xba\xb8\xe1\x54\xfb\x4a\x99\x98\x7b\x0b\x15\x2f\xde\x5a\xa8\x60\xd6\x18\xbd\x0c\xd8\x3c\xa2\xa9\x04\x13\x6b\x0d\x5c\x49\xb9\xac\xea\x45\x12\x6d\xb1\x4e\x54\x1b\xd0\x39\x0b\x53\x1e\x70\xaa\x6a\x1a\x2e\xb4\xeb\x6c\x68\x00\x75\x06\x78\xb5\x6b\xbc\x3f\xad\x2d\x92\x98\x57\x26\xda\x38\x57\x49\xa2\xf9\xd3\x0b\xb1\xcc\x9b\xcd\xb4\xbb\x9a\xf6\x4a\x71\x44\xa9\x45\xe1\x55\xbf\x88\xad\xab\x69\xef\xd6\x51\x84\x8b\x23\xd9\x8a\x78\xb5\x5a\x20\x56\x02\xfd\xe3\x0c\x54\xab\xdc\x88\xf5\xaa\x09\x92\xa5\x09\x63\xb8\x1d\x7b\xa0\x81\xb2\xd4\xec\x61\xd9\x2c\x30\xb1\xd2\x30\x52\xd7\x2b\xde\x50\xe3\x44\xcd\xe4\x4a\x15\x79\xbc\x81\x7d\x1f\xfd\x45\x71\x12\xf6\x6e\x23\xe7\xa5\x2c\x86\xc0\xe8\x02\x31\xd9\x70\x88\x8b\x77\xdb\xcc\x75\x1b\x47\x9d\x53\xb0\x79\x03\x4d\xbe\x8e\xae\x8c\xc0\x6c\x05\x2f\xb3\x07\x50\x9b\x5c\xb3\x10\x94\x48\xe3\x80\x5c\x23\x0b\x81\x7f\xd4\x2a\x88\x22\xb9\x42\x8d\xe5\xf2\x44\x14\xad\x89\xa7\xbf\xa3\x1b\x45\x42\x7a\x93\x72\xba\x6c\xa6\x64\x4e\x67\xb6\xf3\xe8\x39\x59\xae\x35\x4e\x0a\xcd\x03\x54\x3c\x49\x8b\xeb\x80\xc2\xd0\x2a\x4d\x8f\xb0\x09\xa1\x27\xae\xc1\xea\x02\x3b\xeb\xe5\xe1\x81\x76\xcc\xc2\xaf\x30\x8d\x79\x0b\xd3\x66\xdb\x01\x0a\x69\xfc\x35\x64\x49\x0c\x73\x97\x47\x92\xf7\xfd\xec\xf0\xe4\xad\xa7\xe3\x0a\x7a\xc7\x19\x0c\xc5\x0c\xe2\xae\x3c\x85\x52\x96\x4b\xa1\x18\xed\x6b\xc0\x42\xe0\x4a\x4a\xca\x8b\x01\xc0\x2f\xe8\xc4\x9d\x45\xb0\x0c\xa3\x2d\xc6\xd8\x82\x70\x3f\xd1\x5f\xd2\x7f\x0b\x3e\xae\xb5\xd3\x20\x4e\xb5\xb7\x49\x9c\xc0\x24\xf9\x10\x14\x62\x12\xab\xef\x57\x8c\x52\x08\x12\x4d\x7f\x4b\xe3\x08\x41\xce\xa4\x74\xe9\x44\x5b\x26\x71\x82\x6b\x24\x4f\x0a\x6b\x44\x72\x15\x4a\xea\x2a\x24\x2c\xdb\x17\xc8\x24\x13\xba\x71\x4e\xfe\xa3\xd7\xc7\xec\x01\xd1\xc3\x98\x57\x58\x86\x25\x02\x2e\xe8\x08\xab\xf0\x1b\x8d\xd2\x42\x19\xcb\x44\x58\x26\x8f\x9b\xfc\x05\x31\x0f\x83\x28\x0c\x52\x3a\xaf\x2e\x84\x95\xd1\x66\x93\x1d\x59\xa4\x7a\x2e\xfe\x47\x57\x5e\x9d\xbe\x45\x34\xf5\x53\x9d\x6f\xe6\xe8\x7f\x60\xf1\xf5\x2a\x59\xd2\xce\x17\x7a\x93\x76\xc4\xc9\x96\xdf\xb8\xce\x06\xe8\x9e\xd2\x6c\x5f\x40\x0e\x9f\xa5\xd6\xce\xbc\x89\x88\x9d\x20\x30\x77\x2a\xd9\xd0\x44\x82\x3c\x1f\xcf\xb4\x2f\xf4\x66\x86\xd7\xf8\x70\x26\x2a\x47\x75\xd0\x64\x59\x16\x61\x28\x7d\x3c\xc3\xd5\xac\xb4\x09\xa9\x28\x11\xeb\xfb\x85\xde\xa8\xe7\x84\x1e\xb9\x13\x9d\xad\xc9\xed\x6b\xcb\x60\x05\x63\x3f\x2e\x05\xca\xcd\x22\xd0\x23\xf9\x45\x28\xa0\xf6\x4d\x21\x35\x9b\x88\x6a\x60\xd8\xc3\x0c\x7b\x09\xe3\x80\x3a\x0f\x0a\x39\x53\x6d\x91\x80\xa6\xa4\x73\xed\xe2\x46\x13\x9b\x8c\x50\x21\x89\x49\xd4\x4d\x4e\x82\xe7\x74\x16\xc2\xc8\x9d\x30\xed\x8a\x7e\x0b\xd4\xa7\x98\x02\xa6\x04\x67\xf0\x62\x2f\x30\x3b\x3c\x26\xd1\x48\xf2\x1a\x66\xd3\x6a\x45\x1c\x26\xaa\xc8\xfe\x24\xd3\x96\x44\x2e\x09\xc8\xcd\xb2\x12\xd2\x57\x58\xd6\x02\x8c\x06\xfa\x6d\x15\x05\x31\x6e\x38\xa8\x39\xf2\x02\x2c\x0c\x4e\x70\xbb\xaf\xb2\x8a\x7e\xf4\xe9\x24\x9e\x8b\xb5\xbd\x53\x5c\xd6\xd3\x8a\x4d\x73\x1e\x7f\x3f\x8f\x35\x0d\x6d\xe8\xce\x7e\xc4\x3b\x6f\x74\x4f\xd3\x2b\x27\xaa\x74\x92\xc3\x88\x49\xcb\x11\x40\xe1\xd3\xe5\x85\xa4\x5f\x20\xf2\xfc\xc9\x2f\x87\x47\x47\xef\xcf\xcf\xe3\xf3\x27\xfa\x79\x8c\x2b\x7e\xcb\xe0\x5b\x47\xd4\xba\xa3\x1a\xea\x61\xe9\xcf\xce\x80\xd8\x34\x53\x3b\x6f\x83\x6f\x9a\x38\xeb\x0d\x15\x0f\xb4\x97\x07\xa7\x44\x7b\x7f\x7a\x40\xb4\xe3\xb7\xc8\xbc\xfd\xe3\xd3\x5c\x52\x2e\x28\x74\x58\x30\x1e\x2e\xc3\xaf\x54\x5b\xaf\x50\x64\x73\x33\x55\x34\x3b\xf4\x4d\x7c\xa6\x45\x74\xce\x80\xd1\xce\x02\x42\xbf\xb1\x7f\xce\x92\xf8\x2b\x65\x5c\x43\xd4\x42\xee\x44\x4b\x87\x4c\x7b\x05\x22\x43\xff\x7d\x1d\x7e\x0d\x22\x0a\xc6\x60\x3e\x31\x8c\x68\x79\xab\x56\xec\x30\xab\xdd\xdd\x54\x52\xcb\x03\xb9\x6a\x2f\x37\xaf\x7f\x68\xee\x5a\xdd\x84\xcf\xb6\xdc\x45\x3f\x0f\xb4\x88\x06\x73\xbc\xfb\x83\x85\xc8\x55\x4e\x41\x41\xb2\x4e\x69\x47\x9c\x79\x98\x45\xe1\xec\xcb\xb6\xd3\xb7\x26\xc3\xe5\x09\x46\x80\x05\x2a\xec\x52\xb1\x94\x71\xb1\xe6\x3c\x89\x35\xc4\x9e\xe6\x0b\x6a\xf9\xbe\x23\x74\x92\xaf\x62\xad\x73\x4e\x57\x34\x86\xce\xa2\xba\x83\x24\x10\x89\xea\x08\x4c\x7a\x36\x79\x00\x5c\xef\x12\x4e\x3d\xb1\xdc\x83\x8a\x50\xb2\x19\x4f\x77\xb4\x24\x1d\x10\x47\xe7\xda\x32\x9c\x81\xa4\x30\x61\x44\xe1\x06\x5f\x03\xf6\x47\xd4\xbc\x70\xdc\xc6\x22\x36\x71\x48\x8f\xf4\xc9\x80\x0c\xa7\x44\x7f\x8b\x55\x47\xc4\x92\x01\x28\xd5\x71\x7d\xaa\xa0\x96\xea\xf3\x28\xa2\x5d\xe3\x84\x4b\x4d\x3a\x96\xe1\x1c\xaa\x54\xe2\xa6\xd8\x85\x8b\x3b\x7f\xb5\xed\xc2\x96\xbe\x21\x74\x26\x34\x75\x76\x5e\x04\x77\x66\x62\xed\xaf\xb6\x5d\xc5\xdb\xd0\x48\x46\x1a\xa2\x66\x86\xa9\x4e\xc0\xa1\xaf\xc9\x05\xa0\xa5\xe0\x83\x32\xde\x45\xc5\xbe\x86\xc1\x26\x02\x4d\xac\x97\xa5\xf9\xbe\x68\x0a\x63\xc5\xc2\x65\xc0\x6e\x4c\x99\xde\x3d\x8f\x6d\x48\x94\x59\x8d\x60\xfd\x2d\x8c\xc2\x32\x80\x03\x00\x82\x48\x43\xac\x52\x97\xd3\x1f\x25\x48\xe7\x9b\x44\xfd\xfc\xf7\x92\x27\xe8\x4e\xd7\x09\x9b\x77\xf0\xea\x76\x07\x6f\xa7\x74\x20\xdf\x63\x44\x4a\x9f\xfc\x7a\x7e\x9e\x9e\x9f\x4f\xce\xcf\xa7\x86\xf9\xfd\xee\xd9\xf3\x73\xfd\xc9\xf9\xf9\xaf\x3b\xff\xf2\x4f\xff\xfc\xa7\xd6\x9f\xc9\xae\xf7\x5f\xa7\x05\x3b\xea\xc9\x09\xbd\x5c\x47\x01\x83\x91\x84\xd1\x6c\x47\xfb\x2a\x88\xb8\xb8\x1e\x23\xc7\x27\xe0\x80\x68\x87\x94\x07\x8c\x9b\x42\xe9\x66\xcb\x6b\xb2\xe6\x30\xb7\x85\xd9\x85\x5c\x3b\x0d\x0a\x3b\x4f\xb3\x28\x48\x51\xef\x31\x8a\x0b\xd9\x72\x18\x9c\x15\xa6\xf9\xdd\xf3\xf8\x13\xd5\x02\x9c\xbb\xe8\xff\xd0\x51\x45\xeb\x5d\xbd\xb0\x71\x02\xc6\xf7\x2a\xe0\x57\xa9\xb6\xc0\x3d\xff\x18\xe6\x32\x48\x90\x9a\x91\x26\x29\xc5\x7e\x59\xe3\xe3\x96\x93\xe7\xc7\x30\xf2\x1f\xdd\x12\x2b\xf5\x47\xb0\x52\x0a\x25\x8d\xe7\x7f\x0c\x27\x1b\x45\x49\x74\x95\xdf\x83\x07\xd3\x3f\x3f\x5c\x6f\x71\xb9\x2a\x88\xa2\xf2\x1e\x68\xb6\x51\x22\xa8\xf9\xbd\x04\xe7\x3c\xfe\x90\x8a\x0d\x11\xfa\x6d\xa5\x76\x39\xf3\xd5\xdf\x74\xcd\xd0\x58\x0f\xe5\x46\x16\xca\x0c\xce\x19\x92\x30\x16\x03\xd9\x2a\xb8\xfc\x3d\x8d\x72\x40\xa7\xad\x57\x4f\xe7\xc9\x75\xfc\x48\xc3\xbc\x9e\x75\x2b\xe3\xbc\x94\x6d\xa3\x81\x5e\x86\xca\x8d\x74\x7d\x15\xa4\x69\x27\x88\x78\x47\x98\xb4\x8f\x3d\x34\x5a\x5c\x46\x2b\x9a\x13\xf9\x7a\x0d\x14\x80\x67\x0f\xed\x6e\x77\xac\x3a\x82\x34\x6e\x72\x65\x2c\x8f\xd2\xdd\x88\xa5\x13\xb6\x8e\x63\x68\x26\x71\x98\x28\x8c\xb5\x20\x33\x87\x78\x70\x91\x1f\x58\xbc\x49\xd6\xda\x1c\xcf\xaa\xe1\xbe\xaf\x18\xbb\x9e\xa4\xda\xb9\x2e\xfc\xfc\x62\x71\xc1\xc5\xb9\xae\x29\xef\x69\x5a\x30\x9b\xd1\x88\xb2\x80\x27\x0c\x78\x89\xe7\x99\xe2\x84\x67\x45\x62\x61\x3c\xb8\xd0\x42\xfe\x24\xd5\x2e\x28\xe7\x62\x73\x41\xb5\x45\x4a\x8b\xa6\x9c\x58\x68\x41\x72\x60\xe6\x20\x4c\xfd\x75\x8a\xde\x46\xb4\xaf\xe1\x12\xc6\x6e\xba\x0c\x66\x42\x56\x33\x29\xc9\xd8\x81\xcd\x7c\x41\xd5\x31\x42\xd0\x79\x45\xf6\x68\x05\xbb\xb0\x96\x27\x85\x51\xaa\x40\x86\x80\xc6\x56\x29\x18\x05\xf9\x21\xdb\xec\x6c\x9e\x1c\xf6\x51\x3a\xe4\x30\x8d\xb7\x0c\x33\x71\xc0\x05\xf9\x3f\x54\x1e\x70\xb6\xf0\x3f\x05\xa2\xbc\x79\xf4\x58\x89\xa8\x67\xfa\xe3\x44\x02\x67\x1c\x7f\xa8\x48\xbc\x85\x12\xfe\xa7\x48\x64\x22\x91\xf3\xe3\x11\x22\x51\xcf\xf4\x07\x8b\xc4\xd7\xdf\x3e\xf3\x44\x3c\x1f\xb5\x4b\xca\x53\x94\x04\x31\x9e\x23\xad\x50\x96\x3c\xce\xd4\xa1\xea\x0a\xc8\xf6\xeb\x06\xfa\x9a\x2f\x3a\xae\x4e\x26\x2a\xa0\xb3\xe0\x5a\xdc\x5c\x10\x73\x6c\x9a\x3f\xe4\x2d\xb2\xe0\xfc\x68\x1e\xf0\x20\x3f\x45\x95\x1d\x80\x45\x8a\xe4\x31\x89\x70\x2e\xb6\xfa\x53\x3c\xb0\xf0\x04\xd1\x3f\x41\x56\x3d\x61\xc1\xb5\x38\xa2\x26\x46\xd9\x4e\x12\xa3\x79\xc1\x59\xf2\x65\x0b\x23\x2c\xbf\x7d\xd2\xb4\xc7\x2c\x50\x66\x1d\x04\x8f\x3f\xe2\xc6\x4d\x7c\xa3\x65\x85\x54\x0a\x4f\xd6\x7c\xb5\xde\xc2\x04\x2e\x94\xdc\x60\xd7\x6c\x2a\x39\xb3\x68\x44\x31\x85\xb2\x2f\x02\xd6\x91\x27\x72\x7e\xb0\xda\x67\x57\xb8\x4f\x88\xa7\x1c\x0a\x16\xd3\x52\xad\xd9\xc8\x3a\x5e\x5f\x51\x1a\x75\x96\xc1\x0d\xae\x88\x74\x02\xc6\x92\xeb\xce\x76\xeb\x37\x8d\x75\xc6\xee\x2e\x76\x22\xe4\x61\x7f\xca\xe4\xa4\x36\x9d\x31\x4a\x63\xed\x62\xbd\x58\x50\x26\x4e\xb1\xbc\x3c\x3c\x38\x78\xf3\x56\x33\xf6\xf3\xf7\x1b\x34\xf1\x80\x83\x86\xee\xbe\xb2\xf9\x25\x25\x72\xa2\x8b\xf4\x2a\x86\xe2\x39\x7d\x39\x65\xa4\xcb\x75\x84\x67\xbb\xa1\x06\x62\xb1\x07\x35\x02\x57\x4a\x83\xd3\xe5\x2a\x61\x01\x0b\xa3\x1b\x6d\x2e\xee\xb9\xa0\x36\xb8\x4a\xa2\xdc\xc4\x45\x73\xef\x0b\xbd\xc9\xf5\x66\x61\xd2\x34\x4b\x96\x34\xd5\xd6\x2b\xa1\x42\x45\x25\xc1\x34\x64\xa9\x66\x44\x34\x4d\x4d\x50\x46\x4c\xae\xfa\x2c\x03\x61\x5d\xa6\x9a\x5a\xe4\xa6\xf3\x90\xe3\x8e\xe1\xd7\xf0\x69\x1c\xc4\x09\x82\x0b\x2c\x82\x35\x4f\xf9\x72\xfd\xad\xa1\x71\x92\xaf\xb4\xb3\x5c\x47\x3c\x5c\x45\xe1\x36\x23\x48\xde\x30\x76\x71\xc3\x21\x47\x91\xed\x6c\xe0\x76\x83\x36\xa7\x11\x0f\x40\x9f\x0a\xe6\x4a\xae\xce\x02\x54\xb3\x52\x5f\x4a\x8e\x23\x44\x17\xcc\x29\xdc\x48\x4f\xae\xb5\x45\x90\x0a\x75\x80\x46\x72\xd1\x38\x46\x81\xfa\x43\x14\x4f\x4d\xdf\x28\x3d\x9d\xe9\x3d\xd5\xb3\x7e\xa8\xfc\x30\x4d\x3a\x8e\xe5\x38\x40\x42\x1e\xce\xa8\xc1\xbf\x9d\x28\x99\x7d\xa1\x73\x28\xab\xb8\x99\x93\xf5\xe8\x8c\x46\xe3\xe5\xfb\x83\x53\xb1\x30\xf3\xfa\xf4\x3d\xe2\x92\x87\x02\x0a\x67\x12\x70\xa5\x9e\xb3\x20\x4e\x23\x79\x9b\xc0\x88\xc2\x2f\x54\xbb\x64\xc1\xea\x2a\x9c\xa5\x90\x9e\x02\x92\x0f\x67\xaf\x3a\xae\x12\xdf\x54\x4b\xd7\xab\x55\xc2\xd4\x0d\x96\x24\x55\x47\xe7\xa8\x26\xc8\x13\x7b\x70\xb1\xba\x42\x55\x62\xde\x2c\x88\xcb\x07\xb8\xb4\x00\x07\x69\x1e\x2e\xe5\x22\x53\x56\x17\xb1\x80\x99\xdf\x37\x51\x67\xc7\xd4\xf9\x62\x1e\xce\xbe\x88\xc5\x04\x41\xdf\x3a\xc6\x63\x07\x60\x3c\x88\x8d\x62\x18\x18\xbf\x80\xd9\x41\xe3\x39\xc5\xe5\x7b\x84\x8e\xe8\x65\x30\xbb\xd1\x0a\xaf\xb7\x48\xc9\xc1\x45\x72\xe1\x3c\xf5\xf1\x27\x5b\x8a\x1b\xcd\xd0\x9d\xdb\x9a\x78\x31\xac\xe9\x84\x0b\xaf\x1f\x6f\x91\x27\xbd\x58\x67\x96\x3e\xee\xa8\xa3\x5e\xbd\x28\x83\x77\x27\x52\x7e\x13\xd1\xf4\x8a\x8a\x6b\x1e\x6a\x7b\xa5\xba\xe7\x9d\xf9\xbc\x2f\x96\xde\x01\xb5\xf1\x68\x12\xb0\x9b\x47\x61\x4c\x3b\xf9\xbe\xdf\x3a\x85\x11\xe7\xe0\xf4\x54\x68\x22\x3c\x98\xc7\x6f\x22\xa5\xf6\x32\xa7\xd8\xfa\xb4\xf9\x5a\x72\xe6\x4c\xc5\x97\x17\xa5\xc5\x45\x1a\xa3\xe9\xa2\x76\x06\xdb\x78\xcf\xbb\x3b\x4b\xe2\x94\xb3\xf5\x8c\x27\xac\xe9\x72\x36\xe4\x59\x5f\x9c\xae\x2f\x6a\x6e\x0c\x93\x8b\x94\xb2\xaf\x94\xa5\x9f\xfd\xef\xc2\xa1\x09\xc2\x75\x83\xf9\xfc\x85\x3c\x23\x57\xba\x44\x2e\xee\x7f\xc7\xf4\x5a\x53\xa0\xb9\xab\x2d\xe9\xa8\x50\x20\xc8\x09\xa6\x13\x36\xf5\xeb\xf1\x13\x36\x95\x77\xbb\xcd\x42\xb9\x05\x07\x33\xeb\x8b\x74\xc6\xc2\x8b\xaa\xf3\x6b\xd9\xcc\x25\xda\x6f\x6f\x8d\x4a\xcc\x84\x4e\xfd\xc9\x54\xfa\x87\x29\x45\x77\x57\xeb\xf4\x6a\x53\xa1\xeb\x78\x53\xb1\x05\xff\x34\x25\x74\xe2\x9d\x14\xe1\x46\x46\x7f\x1d\x7f\x45\x43\x2c\x5d\x63\x83\xa2\x33\x9f\x5d\xe5\xc0\x55\x39\x9d\xe1\xc2\x6f\xeb\x33\x4b\x66\x7a\x97\x70\x2d\x2b\x75\x2e\xf2\xb0\x6e\x0a\xbd\x97\x1a\xa1\xf2\xbf\x53\xa5\x74\xb5\xbe\x88\xc2\xf4\xaa\x44\x25\x61\x85\x27\x8e\x42\x68\x2e\xfa\x2c\x29\xf8\x83\x2b\xbc\x29\x10\x12\x8b\xd0\xb6\x6d\x92\x64\x42\xa7\xc0\x0d\xe1\x67\xbb\xa1\x7e\x49\xab\x65\x24\xfe\x64\x0a\x32\x36\x0b\xb8\x91\x98\x26\x61\x10\xb7\x97\x08\x56\x32\xd3\x4b\xfc\x09\x9b\x9a\x24\xa9\x15\x61\x99\x1b\xdc\x16\x5c\xcf\x74\x22\x7d\x2c\x9f\x24\xd7\x07\xa8\x58\xc4\xe7\x69\xf8\x77\x9a\x7d\x9c\xd1\x6f\x7c\x3f\xdb\xb2\x46\x27\x07\xa7\x38\xaa\xd7\x5d\x1a\xc1\x24\x61\x9f\xb1\xe0\xc6\x9f\x4c\xa5\x5b\x20\x3c\x88\x86\x8e\xce\x3f\xfb\xf4\xf6\xd6\x95\x2e\x89\x79\x09\xa9\x14\xe6\x72\x49\xea\xe9\x0c\xa5\x41\xcc\xa2\xbf\xea\x63\x79\xaf\x45\xe6\x14\xf4\x1b\x50\xd9\x22\xd4\x49\x72\xfd\x2e\x99\xd3\xcf\xe8\xf7\xb9\x98\xd0\x1c\xfb\x7e\xb1\x48\x29\x2f\xc6\x5f\x27\x6c\xfe\x82\xd1\xe0\xcb\xdb\x80\xcf\xae\x8e\xe8\x82\x6f\x4c\x3c\xc1\x67\x36\x36\xa5\xbe\xc5\xf5\xcd\xcc\xff\xb4\x60\x60\x41\x94\x2e\x29\x3a\xec\x6f\x70\x64\x29\x2a\x88\xde\xfc\x6b\x1c\x25\x65\xae\x4b\x31\x33\x37\x95\x20\x5e\xfd\xd8\xe4\x2c\xb3\x8a\x66\x13\x16\x7c\x58\x64\xa3\xc7\xcd\x02\x75\x8d\x08\x52\xca\x0f\x72\x98\xba\x08\x95\x05\xa6\xa9\xc9\x25\xc8\x73\x5f\x3d\xfe\x07\x28\x4b\x10\x46\x53\x2e\x96\x5c\x13\xda\xb1\x9b\x99\x83\xe3\xf2\x49\x72\xbd\xa9\x5a\x2a\x3d\x35\x6c\x53\x3a\xfa\xda\x88\x23\xdd\xe8\x60\x3e\xe7\xb0\xd4\x2c\x16\xa1\xcd\xf4\xc8\xfb\xbe\x25\x8a\x6a\x9d\x2c\xc7\xb2\x05\x9e\x06\x37\xf6\x39\x22\x09\x86\xaf\xcd\x49\xf7\x73\x59\xe2\x26\xd4\xab\x64\x75\x0f\xc3\x44\xea\x7d\xec\x92\x10\xdb\x33\xab\x51\x48\x3b\x74\x23\x7d\xeb\xf4\xea\x01\xfe\xa1\xea\xbc\x3f\x7b\x99\x3e\x11\xfd\x28\x36\x09\x5b\xaf\x4c\x48\xe6\xb4\xbd\x56\x47\x4a\x2c\xc2\x1f\x40\x94\x56\x1f\xd4\xcb\xdc\x6c\x5a\xbb\xec\x19\x57\x9e\x33\x59\xbb\x6d\x6e\x28\xa4\xcd\xa0\x18\x18\x2e\x1a\x4b\x62\x14\x26\x66\x55\xde\xdd\xdb\x36\x94\x6c\x6e\xe8\x0c\x5d\x95\xf0\x07\x30\x6e\xe4\x03\x8e\xef\x01\xa7\xe5\x4e\x5f\x33\xab\x2a\xfd\x1f\x88\xf8\x3d\x07\x88\x46\xe2\xf0\x7c\xcc\x81\x42\xbd\x81\x24\x55\xa8\x7c\x73\xeb\xec\xed\x51\xf6\x5a\x41\x05\x40\xb0\x2e\x1b\x12\x61\xf8\x8e\xc5\x7d\xa5\x45\x94\x5c\xeb\x66\x13\x6d\xd6\x3d\x3a\x73\x43\xa2\x42\xe8\xcb\xf7\x42\xe8\xae\xf4\x7b\x59\x1e\xa5\xbb\x61\x2a\x0f\x13\x1a\xe6\x9e\xae\x7b\x61\x77\x81\xe3\xc1\x55\xc8\x29\x1e\x3b\xac\x0f\x50\xca\x59\x51\x23\xb6\x18\x9f\x87\xd8\xbd\x27\xcd\xdf\xb1\x9b\xcc\x85\x6e\x7a\x13\xcf\x0e\xf0\x94\x72\xd9\xf3\x7f\x05\x4c\xd8\xf2\x07\x49\xcc\x83\x30\xa6\xcc\xa0\xd2\xd7\x6c\x85\xcb\xc1\x6a\x45\xe3\xf9\xc1\x55\x18\xe1\xf3\x71\x35\x29\x60\x8d\x34\x28\x12\xf9\x83\x14\x36\x4b\x4a\xb2\x5c\x86\xfc\x28\x8c\xe9\x7b\xc5\xfd\x07\xa4\x25\xa5\x7c\xa3\x24\xa8\x27\x4b\x1a\x87\xdb\x0d\xdd\xa4\xf4\x84\x4c\xcd\x86\xf8\x4e\x9f\xfb\x8d\x29\x7b\x06\x4c\x74\x92\x88\x2a\x5f\x8d\x27\xc9\xb5\x96\xac\xf1\x64\xc4\x05\xba\x31\x10\xfe\x33\x09\x6d\xce\xdf\xb1\x4d\x8f\x3e\xb3\x5a\xad\xed\xf1\x40\x9f\x95\xd4\x14\x85\xab\x46\x89\x30\x2c\xea\x48\xc0\x74\xac\x67\x07\x42\x78\x13\x21\xf7\xa2\xb1\x1a\xcd\xd0\x5a\x17\x62\x95\xca\x4f\xe8\x94\xc0\x04\x04\xaf\x54\xa2\xa8\xed\x86\xb7\xb7\x06\x44\x25\xd7\x31\x65\xea\xe1\x33\x29\xb3\x60\x09\x43\xab\x1b\xba\x6e\x12\x56\x92\xd0\xd0\x14\x22\x9f\xfa\x16\x4e\xfb\x98\x72\xa9\x59\x92\x96\xbd\x8c\x61\x4d\x7a\xa0\x53\xd7\x1b\xad\x96\x11\xfa\x55\xd1\x27\xe9\xe3\x90\x98\x5e\x93\x6e\x65\x8d\x1c\x43\x7d\x0c\x32\xb8\x1b\xee\x8a\xa9\x5d\xec\xf3\x4e\x4a\x02\xbf\x3a\x11\xe8\xc6\xc9\x9c\xa2\xd5\x69\x84\xc2\xd5\x6b\xd8\x8d\xe9\x37\x7e\x1a\x5e\xc0\x44\xff\xf6\x36\x78\x1e\x97\x5c\x26\x17\x3b\x6f\x48\xbe\x26\xe1\xdc\x68\x52\xe2\xe6\x6e\xda\xf6\x03\x12\xfa\x25\x74\xe2\x15\x09\x4d\xc9\xc4\x75\xc0\x62\x43\xdf\xcf\xcf\xaa\xe3\xad\x6d\xb1\x92\xab\x2e\xd7\x6b\x49\xac\x51\xe1\xd4\x40\xf4\x3f\x7d\x43\x67\xbc\x89\x67\xd9\xc3\x71\x07\x01\xa3\x15\xfb\x97\xdd\x7c\xa7\xd9\x6b\x72\x46\xad\x31\x1a\xf8\x7d\x37\x43\xf7\xf6\xd4\x14\x0b\x07\xf5\x12\x57\x51\xc8\x05\x23\x9a\xa6\xd2\x30\x60\x25\x31\x45\x49\xdb\xb1\x4d\x92\xfa\x14\x15\x99\xf4\x87\xb7\x5b\xfa\x6a\x6e\x97\x53\xf9\xda\x1e\x1a\x2e\x84\x95\x32\x84\xdd\xeb\x99\xf2\x04\x9b\xd6\x92\x5b\x2d\xf4\x26\x4c\x63\x24\x50\xda\x37\x2f\xf0\x68\xa6\xc1\x08\x2d\xb6\x89\x49\x4a\x94\xdc\xde\x96\x72\x8a\x51\x52\xf4\x8e\x0d\x56\xd8\x32\xb8\xb9\xa0\x07\x51\xb8\x3a\x58\x33\xc8\x57\x19\x9c\x85\xab\xe7\x7b\xe4\xae\x41\xac\x85\xf3\xf0\x67\x75\xbd\x62\xde\x37\x67\xa9\x41\x2b\xaf\xba\xdb\x4f\x62\x9a\x14\xd9\x03\x3a\xa9\xf8\x00\x1d\xbf\xa7\x4b\xef\xfe\x1e\xa4\x6c\xcb\x48\xc1\xc5\x06\xa9\x7e\x46\x3b\xb6\x62\x4b\x01\x74\x6b\x59\xac\x75\x1c\xab\xa1\x90\xb6\x6d\x16\x3d\xd4\x37\x34\x30\xa9\xeb\xc3\xa2\x4c\x82\xda\x62\x25\xd9\x0b\xcd\x87\xb2\xf0\x67\xf5\x41\xec\xb1\x2c\x2f\xe9\xd8\xa6\xb6\x6e\xd6\x04\xa2\x7b\x55\xbd\xff\x67\xab\x89\x35\x9e\x31\x9f\x97\x54\xc1\x8f\x98\xa7\x72\x9c\x12\x6a\x80\x8b\x17\x49\x2b\x46\x58\x45\x00\xdb\xbe\xf0\x42\x1d\xfb\xf5\x16\xbb\x7f\x64\xe0\x66\x27\x86\x1e\x19\x3c\xb3\x44\x9d\x22\xbf\x6e\x9f\x76\x02\x33\x7b\xf5\xa2\x62\xb0\xad\xe3\x39\x65\x40\xff\xed\x6d\xa3\x3d\xc7\x59\xf8\x85\xf2\x2b\x96\xac\x2f\xaf\x9a\x41\x72\xdf\x2b\xcd\xe9\xd7\x33\xe0\x9a\x7a\xe1\xbd\x92\x18\xa4\xb3\x30\x14\xe9\xe2\x85\x9e\x26\x20\x1e\x46\xf4\x65\xc0\x03\x33\x5c\x18\xbd\x1d\x9f\x63\xf5\xcf\x6e\x56\x14\x7a\x4b\x01\x7f\x11\x1b\xc7\x5c\x2a\x8c\x6b\xf6\x88\xf6\x25\x9d\x25\x0c\x77\x26\xf2\xf8\xbc\x06\x68\xba\x4a\xa7\xe1\x57\x3e\xbf\xdf\x46\x89\x9a\xcd\xea\x92\x42\xbf\x22\xbc\xac\xd0\x6b\x03\x35\xf7\xaf\x1a\xa7\x5a\x7e\x27\x20\xcc\x8f\xc4\xa8\x5c\x92\x49\x9f\xb5\xfd\x48\x3c\x79\x40\xfd\xa8\x4d\x77\x03\xdf\xba\xdb\xd0\xbc\x78\xfe\x90\xa6\xf9\x5c\x80\x67\xaf\xef\x94\x71\x5a\xbe\x1f\xec\xb1\x36\xf5\x2c\xdf\x8f\xf7\x68\x9b\x79\xf7\xaa\x1a\x62\x91\xd8\x6c\xd3\xf6\xfd\x40\xb1\xb9\xc9\x0a\x69\xfb\x29\x8a\x24\x94\x26\xd8\x3d\xf3\x79\x77\xc5\xe8\xd7\x30\x59\xa7\x99\xaa\x59\x18\x33\xb9\xd8\xf5\x50\xbd\x66\x59\xbd\x66\xc5\x7a\xb5\xcb\x6b\x69\x82\xe5\xb3\x8d\xb6\x51\xb9\xcb\x96\x30\x99\xe6\xee\x6a\xdb\xd9\x56\xdd\x28\x6b\x96\x8e\x15\xe1\x0d\x12\xb1\xda\x48\x5e\x8a\x2f\x4e\x41\x53\x09\x9e\xad\x7d\x5e\x56\xcd\x0b\x63\xbd\x25\xbf\xd6\x19\xbf\xd6\x25\x39\xa0\xed\xd2\x77\x9d\xba\xf5\x96\xcc\xa3\x7f\x0c\xc3\xd6\x8f\x62\xd8\x3d\x8a\x73\x65\x9a\x77\x62\x0c\xca\x6c\x45\x94\x58\xd4\xc3\x5b\x13\xbe\x4d\x13\x3f\xa0\x00\x56\x4d\xdd\x3f\x6d\x1c\xcc\x60\x88\xc1\x3b\xac\x0f\x8c\x67\x45\xcb\xe4\x1e\xab\x07\x5f\x8f\x90\x62\x30\xa1\x53\x39\x81\xab\x0d\x5b\x5b\xab\x96\xaa\x8d\x23\x45\x71\x83\x2d\x53\x7a\x2b\xa1\x6c\xde\xfb\x3e\x6d\x98\xd8\x64\xaa\x83\xd5\xda\xbb\x36\x9c\x32\xd9\x34\x73\x1a\x51\x4e\x0f\xae\x02\x96\x1a\x6f\x03\x7e\xd5\x5d\x86\xb1\xc1\x08\x37\xcd\xe2\x0b\x9f\xf2\x6d\xa8\x0d\x46\x74\x01\xc7\x96\x16\x44\x7d\x0c\x0f\xef\xb3\x3e\xf1\x6d\x14\xea\x67\xf4\xd1\x06\x03\x33\x34\xb3\x0e\x6b\x65\xf6\x5b\x4a\x62\x12\xf8\x74\x17\xe6\x14\xe2\xc9\xa0\xf4\x7e\x5b\x81\xf0\xed\xad\x49\x62\x11\x66\x3e\xa0\xe0\x59\x9b\x9a\x24\x7e\xa0\x4c\xda\xf1\xd3\x4e\x4c\xd8\xb3\xb4\xd5\x8a\x5b\xad\x34\x53\xf9\xd1\x56\xbd\x4c\xd7\x74\x73\x97\x6f\x9c\x32\x45\xb5\x0e\x56\xaa\xa2\xae\x93\xd8\xb7\x80\x06\xfb\x4e\x8d\xea\x45\x95\x09\x03\x50\xab\xc5\x77\x6a\xed\xd8\x6a\xf1\x4d\x93\x2d\x5c\x10\xb9\x22\x4c\x0c\xbb\xbd\x7a\xde\x82\x81\xb2\x73\x5f\x17\xc8\x46\xbe\x0a\x0c\x0e\x7c\xd5\xd1\xd0\xac\x8f\x63\x55\x90\x26\x4d\x72\x4f\xdb\xd4\x8b\xc8\xde\x03\x9d\x95\x78\xda\x50\x72\x21\xb9\x71\x35\x36\x9f\x78\xad\x9b\x26\x19\x0f\xae\xfe\x3c\xb8\x62\xd9\x34\x10\xac\x1b\x49\xb9\xdb\x6c\xc3\x0b\x54\xb3\xec\xb5\xf0\x60\xd3\xe6\xdf\x51\x18\xd3\x53\x1e\xe0\x46\xc4\xe7\x92\x16\xc0\x47\x5b\x69\x95\x93\x38\xc9\x2f\x47\x75\xaf\x82\xf4\x9e\x39\x83\x49\xfd\x5a\x96\xd2\x2b\x91\x9b\xc8\x02\xae\xd5\x49\x12\xca\x49\xd7\x77\xd1\x48\x6e\x97\x17\x38\x08\xbd\x9f\x18\x49\x4d\xb1\x9f\x28\x75\xbc\x89\x92\xbf\x9e\x24\xd7\xfb\xf1\x8c\xa6\x3c\x61\x4d\x0c\x6a\xb5\xf4\xbf\x76\x4e\xde\x7f\xd2\x77\x7c\xc0\x9c\xcc\xe9\xbb\x60\x49\x65\xad\xb3\x6e\xf6\x60\x85\x95\xea\xfc\x14\xf2\x2b\xb5\x80\xfc\xb9\x76\x10\xa1\x38\xb0\x75\xec\xdd\xc2\xfb\xf3\x55\x4a\xe5\x89\x88\x9d\x30\x87\xce\x94\xab\x6f\xed\x86\x3b\xbe\x52\xac\xed\xfb\x7a\x12\x35\xc9\xce\x03\x3c\xbd\xbd\xdd\x29\xaf\xed\x64\x05\x56\x58\xad\x64\x31\x6d\x2b\x8a\x8b\x95\x0e\x63\x90\x40\x59\xd1\x6d\xb8\x24\x32\x34\xb1\xa8\xa8\xdf\x76\xf2\x11\x57\x3c\x68\x5a\x4c\xdc\xeb\xd8\xde\x3d\xb4\x14\x41\x11\xf9\x03\x84\x17\xc1\xad\x7c\x31\x22\xf4\x2d\x02\x3c\x4f\x9f\xd1\xee\x0c\xfa\xe5\x3b\xbc\xe0\x23\xb7\xf5\xd2\x76\x5b\xad\x96\x16\x93\x27\x29\x9e\x82\x89\x0b\xaf\xc7\x85\x6d\xb6\x1b\xde\xdb\x5a\xb1\xea\xef\x1d\x7b\x13\x07\x01\xf9\x7e\x3c\x17\x3a\x64\xb3\xb0\xe5\xd2\xcd\x9f\xdf\x2b\x1e\xbb\xea\xa1\xb0\x1f\x94\x11\xde\x79\x40\xfc\x36\x08\x91\x6a\x89\x5a\x7d\xf2\xe6\xd8\x28\x45\x1b\xf2\xdc\xbb\x0d\xdb\xd4\x74\x4c\x35\x5d\x58\x6e\x3a\x36\x25\xf7\x9a\x2b\x62\xd1\x9b\x3f\xf3\x53\xc9\x07\xfd\xf4\x78\xff\x9d\xee\xfb\x7e\x98\x29\x90\xbd\x87\x2a\x18\x12\x6e\x7a\x93\x90\xf0\x29\xf0\x30\xbd\x2b\x08\xf9\xa6\x8d\xa3\x93\x20\xbe\xa4\xd5\x1e\x43\x42\x51\x87\xc4\xdf\x58\x62\x26\x22\x72\x79\x5f\x3d\x3a\x9c\xa8\xc7\xac\xb7\xca\xc9\xcc\x5d\x91\x2d\x6d\xb5\x8c\x10\xe8\xc1\x71\xc7\x48\x26\xd6\x94\x24\x13\x7b\x6a\x12\x8c\x3d\x8c\xe7\x46\x0a\x71\x29\xc4\x99\xcd\xab\x5f\xe2\x1a\x60\xb6\xf6\x5e\x7d\x2f\x2d\x33\x62\xb1\xbd\xb1\xde\xfb\xdc\xb0\x04\xdf\xc1\x76\xe9\xf2\x44\xbd\x9b\xaa\x5e\x94\x3d\x4f\x9f\x9a\xa5\x23\x69\xd5\xd1\xd1\xd8\xa0\x68\xbb\x78\xdd\x30\xb3\xeb\x4c\x2c\x85\x55\xb9\xda\xa8\xe0\xc1\x62\xaf\x64\x57\x11\x82\x89\x88\xab\x63\x37\xf0\x7a\x33\x3e\xb0\x24\x0a\xd8\xa8\x6a\x90\x0c\x57\x9a\x6d\xcf\x5c\x35\x1e\x89\x22\x41\x53\x0a\x9e\x87\x22\x51\x53\x92\x38\x0c\x45\xae\x4a\x7c\xc3\xe1\xdb\x60\x26\x99\x15\xf7\x0d\x80\xe5\x57\xc4\x22\xa9\x49\xd6\xc5\x67\x44\xe3\x76\xd4\xd6\xff\x59\x37\xc9\xca\x9f\x75\x53\x1a\xb0\xd9\x95\xb1\x16\x43\x98\xd1\xb1\x7d\x7f\x75\x7b\xbb\x7a\x9e\xc8\x06\x9a\xd7\x31\x26\xa4\x3c\xbd\xbb\x32\x4d\xb2\x28\xbd\x53\xfa\xab\xde\x8e\xda\x81\x49\x2e\xfd\xb9\x6c\xf2\x05\xe2\xbf\x14\x38\x97\x7e\xd2\x2e\xa3\xb8\x9c\x58\x53\x73\x17\x0a\x5f\xde\xde\x2e\x9f\xa5\xea\x40\x64\xd6\x93\x0c\x46\x56\x64\x49\x60\x26\xd0\x0d\xe6\x73\x8c\x34\x38\x88\xac\xf8\x57\x3f\xa5\x27\x0e\xe0\x89\x73\x87\xe5\xc3\x79\xf2\x14\x5e\x12\x45\xc7\x09\x2b\x6f\x23\x35\x9d\x1f\x15\x8f\xf7\x64\xc7\xc5\x8e\x59\xf2\x35\x9c\x53\x96\x9f\xb0\x52\xe7\xb5\xf1\x10\x5a\xe1\xc8\x99\x6d\x11\x5b\x6d\x79\xb2\x75\x04\x59\xf2\x43\x11\xd9\x8d\x5a\x95\x23\x23\xa8\x9b\x75\xb5\x62\xc9\xb3\x6c\xf3\x05\x7a\xfe\x41\x30\xbb\x2a\x9d\xb1\x50\x46\x5f\x39\xfd\xfb\x9d\x48\x8d\x82\x94\x8b\x7e\x8d\xec\x2e\x66\xcc\x93\xc4\x09\xb7\x46\x1a\x0f\xf1\x68\xfa\xfc\xb3\xbf\x63\xe5\xb9\xf0\xdc\x20\x1e\x35\x93\x91\xe2\x98\xff\xa7\x2b\x4a\xa3\xb7\xd9\xad\x82\xcf\xbe\x9d\x67\x39\x4b\xd6\xb3\xab\x9c\xac\x30\x15\xb5\xa6\xf3\xc3\x78\x9e\xe1\x96\x35\x55\x9e\x52\x84\x84\x1c\x7f\xf3\xed\xa1\x4c\xe7\x2c\xfa\x28\x5e\x26\x52\x47\x1c\xe6\xe1\xd7\x22\xdd\xea\xd4\x63\x31\x8e\x8b\x53\x9d\x69\x5e\x7a\xe9\xe8\xb0\x88\x7a\x79\xf8\xe2\xc3\xcf\x9f\xfd\x1d\x35\xa4\xd7\x5a\xa4\x7e\x22\x2a\xcd\xa0\x32\x81\x48\xa5\x16\x2b\x94\x4e\xe3\x79\x39\x22\x4c\xdf\xaa\x13\xd9\xa5\xd8\x03\xb9\x83\x39\x2f\x9e\x93\xa9\x91\x51\xd0\xce\x8b\x30\x9e\xbf\xca\x36\xc6\x37\x8e\xab\xb4\xb8\x7b\xce\x84\x25\x01\xfa\x89\x67\xc7\x7a\x59\xb6\x36\xc0\x50\xa9\xd6\x07\x61\x35\x00\x23\xa9\xe5\x72\x71\x39\x04\x8f\x05\x67\x16\xd4\x1d\xf3\x59\x93\x35\xb1\x65\xbd\xd2\x9b\x78\x56\xdc\x66\xcc\xce\x05\x53\xc3\xfc\xce\x72\x1e\x27\x44\x7e\x00\xa5\x7e\xd8\x0d\xe2\xd9\x95\x98\xca\xa9\x04\xa1\x91\xb3\x24\xf1\x49\x98\x6a\x93\x54\x04\x65\xf6\x45\x32\x5b\xa7\x32\x77\xa6\xcd\x55\xbc\xf8\xba\xcb\x48\xe1\x65\x52\xd2\x0a\x29\x45\x5c\x65\x4a\x0a\xd8\x72\x42\x92\x12\x21\xa5\x7a\x14\x29\x29\xd6\xe2\x2e\x1f\x42\xd5\xea\x50\x41\x1e\x61\x74\x50\xb3\x63\xc3\xc4\x63\xb2\x99\x66\xc9\x57\xe4\xfe\x1f\xf2\xde\xad\xb9\x8d\x65\x5d\x0c\x7b\x4a\xf9\x2d\xa9\x54\x5e\x5c\x39\x2f\xe0\x9c\x7d\xb8\x66\x16\x06\xd0\x0c\x48\xea\x02\x68\xc4\x0d\x82\x14\x05\x51\x14\x25\xf0\x22\x89\x14\xb7\xd6\x00\x68\x80\x23\x0e\x66\xa0\x9e\x06\x6f\x22\xb7\x5d\x29\xdb\x95\x93\xd8\x8e\x93\x72\xd9\xae\xe4\x24\x76\x92\xe3\x1c\x3b\xe5\x4a\xd9\xae\x53\xb9\xf9\x38\xa9\xda\x2b\xef\xf9\x0f\xfb\x97\xa4\xfa\x36\xd3\x3d\xd3\x3d\x00\xb5\xd6\xde\x3e\x55\x51\x2d\x2e\x00\x33\xdd\x5f\x7f\xfd\xf5\xed\xeb\xef\xfa\xf3\xcc\xd6\xa5\xe0\xf6\x36\x10\x9f\xd8\x4b\xf9\x32\xd9\x74\x8c\xa5\xfe\xb5\xe2\xe5\xe5\x25\xd3\x80\xf1\x25\xc9\x89\x6a\x04\x51\x25\xb6\x5a\x56\xec\xc5\xe2\xa5\x2e\x18\x99\x71\x06\x21\x11\xc9\xdb\x4a\x0a\x00\x12\xab\x65\x25\x5e\x92\x03\x90\x90\x69\x1f\xd7\x79\xc9\xa7\x49\xfa\xd5\x02\x66\x26\xb8\xc8\x4a\x3c\x13\x4a\x20\xa1\x84\xd0\xba\x27\x75\xc6\x92\x07\xe8\xa9\x34\xd6\xeb\xc0\xb4\x9a\x1c\x8c\xc8\x17\xe4\x16\x53\x6c\x9f\x48\x13\x40\x68\xed\x94\x9e\xd3\x11\xcb\xfb\x8a\xcf\x8e\xad\x42\xe2\x78\x62\x8b\x53\xc1\x2b\x88\xb8\x91\xa5\xab\xcb\xb0\x5a\x91\x8c\x2e\xc7\xe8\xae\x30\xcc\x19\x0d\x96\xbc\x8c\x08\xb2\x7d\x07\xcf\x66\x9e\x06\x87\x20\x68\x56\x82\x84\xba\xf6\xc6\x31\xa2\x1e\xb9\x7e\x85\xe0\x1a\x0f\x49\xce\x65\xa1\x37\x29\x0b\x6e\xcd\x01\x4c\x31\x9e\x0f\x39\xeb\x99\x00\x3a\xb7\xdb\x88\x42\x59\xa2\xc7\x53\xe4\x17\x26\x07\x0a\xdb\xce\x83\x11\xf4\x27\xe0\x93\x07\x94\xf2\xa6\x2d\x1a\xfa\xdd\x34\x68\x31\x6e\x57\xc8\x2a\x31\xe5\xe0\x20\x49\x30\x8b\xe6\x19\xfd\x18\x0e\x01\x6c\x56\x9c\xd6\x19\x39\x6d\x9b\x15\xd7\x71\xfe\xa8\xc5\x8d\x61\x9a\x15\xbf\x9f\xc4\xe1\x0c\x81\x16\x09\x3f\x4b\x5f\x1b\xb6\x31\x89\x6f\xba\x51\x04\x20\x3d\xa9\xdf\xe3\x29\x4e\x2d\xfc\xb9\xae\x3f\x6d\x0f\x0e\x3c\xe3\x0f\x0d\xc2\x26\x09\x82\x2e\xb1\x4c\x0e\xc3\x01\x15\xe7\xbc\xa3\x0e\x03\xfe\x70\xb8\x75\x01\x22\xf4\x2a\x48\x10\x20\x92\x53\x08\x48\x48\x43\x76\x66\x46\x3d\xf2\xf3\x93\x98\xd6\x50\xb4\x53\xcc\x8e\x5e\x55\x23\x9c\x76\x2d\x54\xef\xc7\xc3\xeb\x3c\x75\x26\x3e\x1c\x07\x51\xb3\xe2\x4c\xaf\x5a\x53\x7f\x38\x0c\xa2\x31\xfd\x21\x11\x4b\xa0\x4c\x8b\x5f\x7b\x9b\x95\xb3\x60\x38\x04\x51\x8b\x4a\xe8\x9a\x95\x0b\x1f\x9a\xb5\x1a\x61\xfa\x6a\x34\xda\x10\x0b\x9a\x4f\x9a\xb4\x5a\xb5\x4b\xd0\x3f\x0f\x50\x8d\x78\x55\xd1\x15\xd2\x24\x89\x46\x5a\xb5\x49\x7c\xa3\x78\x6c\x88\x1c\x02\xa7\x7a\xda\x5b\xb1\x3b\x0c\xf3\x83\x78\xea\xcd\x2d\x44\x73\x75\x7a\xc6\xc0\x0f\x07\xa6\x88\x33\x66\x2a\x31\xa1\x6b\xb4\xeb\x56\xe5\xfb\xca\x8a\x65\xa4\x06\x9b\xf9\xc9\x47\x80\x1a\x56\x4b\xb6\x21\x32\xae\x6a\x78\x79\x7c\xad\xf0\xc4\x14\xcd\x4a\x3f\x8c\x07\xe7\xad\x4a\x85\x53\xb4\xac\xcd\x16\x4d\x11\x53\x5b\xa8\xec\x9d\x61\xa3\xfa\x19\xf0\x87\x4a\x93\x50\x4c\xcf\x4e\x92\xbc\x0a\xa2\xf3\x4f\x45\xec\x49\x34\x5b\x45\xc9\x9c\xd9\x26\x04\x21\x09\x96\xc3\x5d\xe7\x72\x55\xa8\x0c\x53\x47\x1a\x15\x76\x85\xda\x56\xca\xc8\x02\x10\x29\x60\x5d\xd5\xe8\x2b\x43\x2e\x98\xc3\x93\x4d\x76\x30\x0c\x10\x66\x9b\x0d\xdb\x40\x70\x06\xca\xeb\x24\x53\x10\x86\x83\x33\x30\x38\x37\x6c\x83\xb8\x1c\x96\x97\xf7\x67\x28\x1e\xc4\x93\x69\x08\x48\x10\x88\x78\x34\x5a\xa4\x3c\x89\x8f\xb5\x70\x71\x7f\x8a\xfc\x90\x7a\x33\x91\x0c\x86\xa5\x35\x60\x4c\x7b\x0a\xae\x50\x3f\xbe\x2a\x2f\x8b\xfc\x3e\xe1\x3a\x0d\xdb\xa8\xb9\x85\xa2\xf2\x9e\x30\xf0\x21\x40\x34\xf0\x68\x93\x3a\xc3\xd2\x33\xbd\x95\x9b\xd2\x42\xec\xd8\x66\x16\xcc\xb5\x95\xc6\x64\x6d\x56\xdc\xb5\xe9\x15\xfd\xcd\xfc\x5f\x6b\x61\x30\xf6\xd1\x0c\x82\x84\xad\x71\x69\x9b\xe1\x5b\x4b\xed\xba\xc9\x1c\x98\x5b\x95\xf4\xd9\x55\xba\xe1\x5c\x9e\x05\x08\xd4\x48\x63\xcd\xca\x14\x02\x79\x7b\x9a\x21\xbc\x82\x28\xf8\xca\x52\x30\x99\xc6\x10\xf9\x11\xc2\x6b\x85\x6c\x06\x85\xd9\xc8\xa8\x90\xa3\x49\x71\x57\x66\x91\x95\xf8\xae\x4c\x8f\x37\x69\x57\x9e\x07\x81\x38\x6d\xe7\x00\x90\xbb\xdb\xbd\xa0\x20\x7c\xa3\x23\x2c\x64\x0a\x8a\x5e\xf2\xee\x0d\x64\x12\x5f\x80\x9f\x0a\x03\x44\xc3\x9f\x0a\x62\xe0\x47\x03\x81\x2e\xf7\x87\x42\x32\x04\xf0\xea\x9d\x78\x7a\x7d\xaf\xda\xd4\xaf\x99\x57\x27\xb7\xdc\x7b\xd5\x1f\xc2\x78\x6a\xd8\xca\x64\xcd\x53\x48\x7c\xf8\x53\x37\x04\x7b\xc9\xbd\xb3\xd2\x89\x58\x80\x74\x0e\xae\x87\xf1\x65\x94\xe2\xb2\x11\x0f\xaf\x77\xc0\xf5\x66\x7c\x19\x29\x30\x82\x54\xee\x90\x28\x36\xcd\x61\x70\x61\xe4\x4b\xd5\x83\xa1\x47\x45\x32\x4d\x18\x5f\xd6\x30\xaf\x96\x18\xf9\x32\xb9\x9d\x20\xb7\xe0\x33\x9e\x69\x14\x5c\x81\x61\x91\x15\x50\x1e\xf1\x78\x7f\x52\x1c\xf1\xe4\xb1\x91\x23\x6e\x7e\x6d\xa6\x98\xb1\xde\xa0\x78\x4a\x39\xd4\x0d\x7f\xac\x3e\x2c\xc8\xdb\x5a\xdf\x1f\x1b\xaa\x2a\x73\x3a\x58\xe8\xd0\x42\xe7\x70\x61\x3f\x62\xbd\xa2\xf1\x45\x44\x7c\x8b\xf8\x64\x06\xcd\x19\xba\xcf\xe3\x70\xa8\xec\xdc\x28\x0e\x87\x46\xae\x9c\x30\xac\x28\x9e\x92\x22\xb5\x51\x0c\x31\x17\x92\x25\x28\x31\x72\x75\xca\xa9\x50\x98\x15\x85\x61\xe1\x80\x2c\xb1\xa3\x0c\x6d\xa9\xa1\x42\xf7\x84\xa2\x02\xe6\xf4\x69\x39\xf2\x25\xe8\x08\x40\x2d\x51\x2e\xd6\x86\xc0\x2f\x5f\x1d\x42\x39\x01\x1d\xfa\xd4\x87\xc0\x37\x8a\xc5\x72\xb4\x23\xc1\x61\x82\x30\x40\xd7\x7c\xd2\xcc\x9b\xd3\x02\x30\x8b\xe9\x38\x8d\x33\x84\xa6\x72\xce\xcb\x86\xe3\x38\x0f\x92\x8b\xb1\xc1\x8c\x9c\x2f\xf8\xfc\xc1\xf7\xa4\xb2\x6b\xd1\xeb\x7d\x33\xb0\x0d\x5c\x93\xf7\xf1\x62\x2c\x76\xee\x26\x8e\x27\x35\x1a\x2f\x29\x86\x86\x50\x44\x66\x18\xae\x26\x61\x94\x18\x76\x60\x69\x4b\xb0\xe4\x17\x86\x6d\xb8\x75\x57\x6a\x2c\x47\x22\xc5\x55\x0b\xc5\x53\x7c\x23\x0b\xc1\x08\xe1\x4f\x2d\x11\xc9\xde\x7c\xe0\xc3\x31\x50\xf1\x99\x78\x0b\x21\xa3\x64\x15\x4b\x0b\x3d\x16\x33\xb3\xd4\x10\x79\xad\x00\xbf\x08\xc3\x24\x97\x9f\xdb\xcb\x94\xb9\x99\x5e\xa5\x3c\xca\xf4\x8a\xf7\x7a\x7a\xd5\x62\x21\x88\xe8\x8f\x78\xea\x0f\x08\x05\x1c\x15\x76\x8c\xc3\xdd\x62\x1c\x6e\x2a\xba\xd5\x4e\x33\xb1\xb6\x0a\x7d\xc5\x61\x0c\xae\x50\x37\x9a\xce\x38\x75\x68\xa4\xae\x37\x59\xa5\x03\x5e\x40\x75\x1a\x91\x4b\x6a\xea\x3d\x56\xbc\xf9\x27\x00\x3d\x8f\x23\xf4\x9c\xf0\x8b\x2a\xef\x52\x99\x1b\x1d\x65\x65\x81\x8a\x5b\xa5\x27\x0d\x86\xb8\xcf\x63\xe8\x7b\xe8\xf6\x96\x7b\x26\x12\x87\x36\x51\x4b\x50\x82\xd9\x58\x8d\x59\xce\xa5\x5a\x83\x5d\x59\x7f\x0f\xe9\x3d\xe7\x10\x86\xb2\x5b\xee\xba\x39\xef\xde\x75\x06\xc1\xc8\xb0\x81\xea\x82\x96\xc9\xd7\x98\xdd\x76\x76\xd9\x2d\xbd\x6d\x91\xda\x16\x33\xc7\xd7\x40\x64\x96\x7f\x39\x88\x92\x0d\x55\x01\xe2\x02\x04\x20\x0b\xa4\x20\xf0\x11\x6f\x81\xb2\x2d\xab\x16\x24\x91\x62\x15\x1c\x0f\xb9\xc4\x83\xbc\x35\x73\xfc\x1a\x7b\x58\x3e\xf8\x3c\x1d\x02\xb1\x23\x5f\x6c\x06\x90\xeb\x51\xf9\x64\xd7\x40\x05\xca\xf9\x4e\xe0\x95\x74\x7d\x0c\xd0\x86\x6c\xef\xbe\x18\x9e\x39\x23\xf9\x32\x8c\xb5\xf0\xd5\x18\xe7\x20\x97\xe0\x2e\xc1\xee\x4e\xfc\xb1\x42\xfc\xa7\x83\x4d\x8b\x2f\x08\x5b\x8e\x49\x31\x0f\x34\x29\xbd\x20\x64\x85\x3f\xea\x1c\xe8\x69\x8d\xd2\x16\x3a\x99\x66\xad\x18\x5b\x22\x7b\x57\x3a\x2f\xa8\x84\x32\x1f\x8f\x83\x3b\x89\x8d\x01\xea\x84\x01\x88\x50\x16\x93\x83\xdf\x78\x99\xd9\xd6\x57\x76\x4e\x81\x3a\xfd\x62\xd3\xb3\x0a\xd4\xc9\x67\x6a\x89\xac\xd2\x10\xea\x05\xbd\x29\x5e\xa5\xf1\x37\x24\xec\x4d\x8b\xb6\x38\x1f\x66\x79\x64\x90\x3c\x50\xda\xab\x32\xa8\x9c\x93\xd2\x41\x4c\x37\xc4\xf9\xa8\x11\xfd\x44\xf9\xca\xd4\x02\x81\x00\xcf\x08\x7f\x70\x06\x54\xce\xd5\xdf\xa2\x8b\x2e\x9b\x7a\xbd\x4c\xb1\xae\x88\x3a\x91\xa2\x62\x96\xe8\xe1\x93\xc1\x19\x18\xce\x42\xd0\x03\x43\xe8\x5f\x96\xec\xb2\x59\x14\x04\x49\xc1\xc8\x54\x4b\x20\x77\x6b\x10\x0d\x18\x01\x33\xd3\x15\x78\xfc\x56\x66\xfe\x22\x95\x64\x07\x19\x63\x0f\x73\x7e\x96\x36\xf0\xd0\x5d\x09\xad\x30\x2d\x5b\xb2\x79\xcc\x01\x09\xf9\x41\x94\x30\x66\xea\x2b\x87\xf7\x61\x82\x4a\xfa\x2a\xb5\x59\x87\xfe\xe5\x11\x0d\x15\xd9\x8b\x2f\x93\x4f\x26\xb4\x83\x92\xd3\x91\x91\xae\xab\xa4\x0c\xb1\x84\x3c\x13\x75\xe8\x02\x09\xf9\xda\xc6\x05\x5a\xda\x52\x9e\x10\x57\x49\x80\x4c\xad\xe2\x2b\x40\x59\xc7\x16\x47\x0a\x0f\xa7\x53\xa2\xca\x61\x0c\xdd\x22\x7b\xee\x88\x97\x03\x55\x63\x7a\xf5\xed\x2c\x9a\x26\xe6\x10\x49\x20\xdb\x8d\x90\x59\xd2\xb4\x1e\xf6\x04\xf8\xc9\x0c\x02\x09\x15\xc5\x82\x20\xd6\x24\xdc\x48\x86\xd9\x96\xe4\xb8\xa5\x12\x29\x0c\x29\x2f\x8a\x60\xf0\x83\x5a\x96\xff\x5b\x50\xf8\xb0\xb2\x3f\xc3\x25\x2a\xbd\x80\xf8\x33\x14\x0b\xb2\x50\x7e\x19\xc9\x3f\x16\x11\xd8\x9f\xfa\xd1\xbc\x0e\x26\x53\x3f\x92\x7a\x48\x2a\x15\x7a\x89\x8b\xd5\x2e\x63\x78\xee\x93\x83\xb1\xd0\x8a\x10\x58\xc4\x34\xde\x1b\x75\x08\xa6\xc0\x47\xa6\xeb\x38\x56\xd5\xf8\x08\x0d\x4b\x7c\x22\xd1\xa8\x28\x2f\x4a\x81\x8a\x05\x37\xfc\x04\x84\x41\x04\x7e\xa6\xfe\xf4\x19\x38\x43\xd5\x44\x7e\xc6\x1b\x4e\x3a\xe1\x73\x05\x25\xb5\xd1\x7b\x45\xbb\x19\xa4\x77\xf4\xbc\x03\xd9\xfd\xa6\x44\x1a\x42\x69\xc3\x55\x84\x4a\x06\x40\x24\x13\x14\xed\xa7\x10\x3d\x81\x1f\xb8\x8e\x43\xb4\x37\xb8\x59\xfc\x43\x76\xf5\x2a\xa5\x7e\xda\x41\xcb\x86\x75\x4e\x2a\x4f\x45\x80\x98\x68\xe8\x0f\xe2\xa9\x34\xa6\x85\xdb\x46\x1e\x6a\xae\xff\xea\xf2\xbc\x9c\x42\x5a\xa2\xd1\x02\x5c\x8c\x09\xc6\x37\x71\x3c\x79\xee\x93\xa8\x88\x99\x40\x23\xe5\x7e\xfc\x10\x94\xc3\x2d\x60\xc3\xe0\xea\x77\xd1\xfc\x2e\x58\x3c\xfa\xa5\xb7\xe4\x91\x6a\xcb\x32\x17\xbd\x88\xd3\x02\x3a\x0e\xa3\x60\x03\x26\x4c\x20\xc1\x27\x9e\xb3\x90\x35\x69\xcb\x1d\x64\xc5\xb2\x3d\x9e\x42\xa4\x2c\x5b\x7a\x3b\xbb\x8e\x06\xec\xfc\x4d\x36\x83\x09\x88\x48\x1a\xd5\x4f\x2c\x3c\x8e\x78\xb4\xb1\xa0\x85\x99\x52\xfc\x6b\x66\x6e\x43\xee\xb2\x77\xb6\xd0\x13\xc0\xa4\x6b\xbd\xf8\xf2\x20\xa6\xe7\xb4\x09\x24\xd6\x85\x58\xcc\x32\x33\x3a\xd3\xb2\x6c\x50\x64\x62\x4a\x0e\x6d\x35\xda\x45\xb6\x5b\xc5\x87\xd2\xfe\x14\xec\x02\x19\x9b\xad\x33\x0d\x4c\x99\x72\xf2\xfe\x22\xe5\x2f\x68\x3c\xba\xa0\x3e\xaa\x27\x13\x1f\xa2\xe7\x61\x1c\xc3\xcd\x00\xf7\xd1\x94\xab\x48\xd3\xa7\xce\x65\xd6\x82\xfd\x40\x0e\xe6\xf7\xda\x5a\xad\x5c\xf1\x83\x78\xba\x4b\xcc\x07\xb8\x35\x62\xf6\x8a\x92\x9e\xbd\xe5\xf5\x6b\x48\x29\x86\xa6\x26\x08\x4c\x2d\xaf\x6b\x82\xf0\x0d\x42\x00\x04\x87\xc7\x7a\x49\x81\xe5\x7d\x70\x92\x96\x05\xab\xe2\xec\x65\x33\x30\xb1\x6c\x62\xa6\x94\x2b\x9e\xdb\x55\x98\x90\x89\xdc\x5d\xd8\xa7\xc0\xba\xe4\xcb\xd1\xfe\x79\xa8\x0a\x4b\x0a\xe1\x73\xda\x93\x96\x0b\xdd\x00\x5f\x81\x11\x2a\xa9\x86\xb8\x51\x83\x5c\xeb\x20\x9e\xd6\x68\x6b\xa5\xb3\x55\x5c\x7c\x85\x25\x2f\x9b\x94\x16\xb8\x7c\x79\xa9\xe8\x24\xe1\xbc\xef\xba\x59\xf3\x7d\xb1\xa9\xaa\x76\x94\x4b\xa6\xd1\x9c\xbe\x4a\x8b\x78\x0e\x2b\x0d\x49\xa1\x32\x36\x9a\x96\x58\x9c\x85\xa6\xe5\x6d\xc0\xbe\x7c\x9a\xc7\x3b\xb3\x62\x85\x11\x21\xd7\xae\x54\x3d\x84\x37\xc4\x9c\x59\x30\x19\x54\x71\x17\x55\xed\xae\xca\xcb\xe2\xd7\xbb\x96\xbc\x37\xc9\xd7\x1b\xa4\xbb\xde\x00\xe1\x7a\x73\xc0\x16\x9b\xc9\x25\x93\xf8\xe1\x46\x76\x33\x33\x91\xf0\x5c\xba\x0b\x81\xd4\x65\x5e\xbb\xf5\x97\xdd\x64\xb5\xdd\x2a\xe9\xb0\x68\x35\x29\x1a\x3d\x2b\xfb\x9f\x9f\x79\x64\xa2\xb2\xf8\x37\xd2\xdc\xd5\x5b\xb6\x09\xf4\xc9\x3b\x6c\x2c\xe5\x07\x91\x19\x80\x32\x09\x6e\xf1\x45\x66\x0d\xe9\x01\x2b\xb7\x2d\x64\x56\xc5\x4b\xf2\x16\xc8\xa4\xb7\x82\xc6\x57\x74\xb8\x95\x8a\xe6\xb7\x9a\x0c\x26\xb3\x94\x54\x20\x2d\x98\x2a\x16\xf0\xa6\xe6\xab\x45\xac\x15\x3d\x13\xae\xec\x3f\x15\xff\x72\xe8\xcc\x74\x74\xc4\xdc\x09\x8a\xd8\xfe\x4e\x30\x29\xc2\xb6\x5a\x8b\x93\x22\x0f\xa7\x95\x1f\xfc\x22\x7f\x39\x87\x06\xc4\xd1\x6d\xde\x0c\x2a\x02\x99\xdf\xb0\x72\xf2\x94\x18\x7e\xca\x3b\xc5\xbc\x15\x42\xbb\x3f\x6f\x9e\x3d\x2d\xae\x0e\xbc\x58\xc5\xae\x09\x72\xa3\xc2\xa8\x96\x2a\x92\xbf\x69\x1d\x14\xd6\x6f\x8a\xa1\xa8\xf8\x9e\x3f\xee\x0b\x4c\x40\x01\xa0\x7a\x0e\xe6\xe7\xff\xa2\x18\xf0\x3e\xfc\x34\x1c\x38\x94\xbf\x7c\xb3\x3f\x3f\x43\xee\xdf\xaa\x02\xd6\x9c\x99\x2f\x9e\x85\x79\x87\x11\xee\xda\x00\x45\xcf\xd4\x25\x0f\x71\xdf\x53\x16\xf3\x7d\x33\x18\x12\x4b\x6c\x10\x0d\xf0\x41\x44\x12\x44\xc1\x31\x40\xc4\x14\xdb\x20\xd1\xdd\x3c\x2f\x90\xa6\x30\xad\xb8\xc5\x2b\x80\x21\x4f\x79\x33\x8a\xc3\x21\x4f\x2b\x2c\x41\x61\x9e\x2b\x79\xdf\x66\x1b\xea\x62\x2a\x40\xeb\xee\x2e\xf3\x04\xc6\xd4\xb1\x63\xdd\x84\xe2\x2c\x7b\x9e\xe0\x76\x54\x58\xaa\xdc\x47\x4f\x25\x12\xb6\xc3\x2c\xe4\x86\xea\xd4\x2e\x8a\xab\xf3\x77\xbe\x33\xcf\x69\x9d\x3d\x0d\x5b\x67\xdc\xc3\x75\xe0\x81\xea\x19\x09\xc7\xb5\xe4\x45\x16\xfe\x14\x4c\xf1\x07\xf8\x41\xbc\xbc\x9c\x99\xe7\x7b\xde\xc0\x82\xa6\x6f\xc7\x16\x09\xf2\x25\x09\xa1\x99\xb7\x42\xb2\xbc\x9c\x14\xca\x27\xb8\x7c\xa2\x2c\xef\x2f\x79\xf1\xf2\xb2\x9f\x7a\x2f\xb2\xe8\x0b\x23\x80\x06\x67\x3c\xf8\x81\x39\xa0\x9e\x08\x33\xeb\x2b\xb7\xda\x0f\xe3\xb1\x69\x74\xe2\x59\x38\x8c\xbe\x43\x15\x52\x9a\x98\xe7\x13\xd3\x85\x66\xc5\xa8\x0e\xac\x16\xc9\xa2\x79\xe7\x2f\x79\xb3\xf5\xfc\xf4\x95\x56\xf4\xcc\xf6\x2d\x7b\x56\x8c\x10\xa1\x5e\x08\x3e\xee\x8b\x54\xda\x6a\xfa\x9e\x2f\xb9\x1f\xa5\x3b\xa8\xa9\xe9\x8e\xf5\x2d\x3d\x99\xd7\x07\xea\xd7\x90\xc3\xa5\xf5\xef\x08\x17\x4c\xf7\xe2\x39\x84\x27\x43\x54\x2a\xa1\x91\x6e\x01\x85\x6b\x82\x6c\x43\x26\xea\xef\x4d\xc5\xfb\x5c\x5c\x95\x52\x08\xc5\xcd\x4e\x2a\x69\x59\x6a\xd3\x36\x05\x0e\x85\x22\x2a\x34\x4a\xe0\x14\x31\xc9\x17\xb6\xf4\x14\x1c\xe0\x2b\x40\x1a\xd1\xb5\xa8\x59\x55\xdc\x17\x4e\x40\xba\x5e\x4f\xcb\x4c\x10\xc4\x69\x53\x8c\x2b\x94\xca\x49\x3d\xfd\x6d\x66\x79\x39\x4b\x48\xa2\x2c\xb0\xae\x7f\x75\x02\x4e\x9b\xba\xfd\x8d\xd8\xd9\x81\x92\x3b\x20\x0f\xec\x24\x12\x87\x5c\xd9\x4a\x74\x3c\x98\xd8\xed\x30\x2c\x88\xb8\x48\x14\xb8\x25\xfd\x2e\x9d\x39\x71\x7d\xcd\x0e\x61\xad\xb0\x66\xee\x91\xab\xab\x69\xf1\xd8\xdf\xf2\x72\x76\x8a\xd6\xaf\xe2\xd2\x04\xb2\x20\x6a\xde\xcd\xf4\x8e\x05\xed\xd3\x76\x96\x8a\xd3\x6c\x38\x4f\x86\x52\x73\x53\x1f\x40\x91\x1b\xcb\x47\x9c\xc9\xce\x1e\x28\x52\x4f\xc3\xc0\xcd\x27\x9e\xa6\xa2\xd5\x42\x2a\xda\xc1\x02\xed\x24\x3e\x99\x51\x03\x15\xb6\x35\x6d\x37\xc4\x40\x2e\x99\xee\x25\xef\x1b\x99\x45\x12\x06\xb6\x63\xd9\x41\x1d\x5c\x21\x10\x0d\x4d\x64\x23\x85\x5f\xac\x5a\x2c\x32\x47\x3d\x1f\x87\xe1\xae\x7f\xf5\x49\x95\x27\xa0\x28\x27\xcc\x8b\xbb\x0a\x22\x82\x85\xa4\x56\x35\x3d\x60\x22\x3f\x2f\x11\x68\xa5\x72\xec\x83\x78\xaa\x50\xb0\x6a\x64\x3f\xb2\xac\x03\x2c\x2c\xd7\x60\x12\x61\xa0\x17\xff\x6a\xfb\x6f\x43\x51\xde\xcd\x88\x6c\x5a\x2d\xf4\x0c\xe2\xc3\xc0\x83\x79\x77\x13\x52\xe8\x20\x9e\x2e\x79\x28\x8d\x27\x9c\x7f\xc7\x03\xd5\xe7\xa5\xf3\x0b\x51\x8c\x09\x93\xff\x32\x13\xad\x6c\xd2\xb4\x4c\x54\xbb\xa7\x6c\xde\x22\x91\xe1\xb3\x78\xef\xf7\xa4\x75\xe9\xca\x11\x04\x65\x0a\xe5\x3b\xe1\xc5\x89\x62\x57\x03\xfd\x81\x1e\xe9\x52\x6b\x37\x49\x0c\xa9\x5a\xb3\xea\x71\xaa\xe5\x23\x09\x08\x71\x18\xb9\xd3\x8e\x2e\x1e\x60\x41\x63\xc3\x34\x00\xd9\xd0\x8b\xaa\x9b\xe5\x65\xae\x22\x2d\x14\x60\xda\x1b\xce\x70\x73\xa1\x30\x13\x71\x72\x95\x16\xf7\x28\x2a\xa8\xb4\xb8\x99\xe6\x5c\x5d\x9e\xe4\x45\x24\xf5\x6a\xb1\x2a\x05\x39\x0c\x69\x56\x2a\xc2\x82\x64\xb1\xc4\x8a\x6f\xa8\x47\x0b\x18\x4a\x74\x13\xc2\x50\x6c\x82\x10\xf9\xb8\x0e\xf4\xd4\xd3\xa1\x86\x5a\x90\x4c\x56\xe8\x39\x56\x2e\xc6\x97\xb4\x7d\xc0\x67\x01\x29\x15\x58\x36\x5c\xd2\x00\xd3\x4f\x69\x68\x17\xdd\x6f\xca\x8c\x59\x72\x3d\x50\x70\x76\x34\xd1\xb2\x49\x02\x4b\x22\x7f\x37\x1e\x02\xeb\xeb\xc0\x4f\x40\x85\xd4\x22\xb6\xd4\xf5\xcd\xbd\xdd\x4f\x9b\x5b\xaf\x0e\xda\x9f\xde\x74\xdf\x6f\xbd\x6a\x22\x8f\x15\xff\xf0\x7d\x9e\x50\x42\xbc\x0e\x7a\x99\x68\xe9\x81\xbd\xea\xbe\xde\x2a\xc0\x52\xaa\xe8\xe6\x41\x7a\xd3\xde\x5e\x0c\xd2\xf7\x12\x5d\xd3\x6c\x5c\x66\x16\x83\xeb\x7b\x3d\xdb\xc8\x9c\xb8\x16\x9d\x90\x2c\x46\x89\x7a\x2a\x92\x97\xe5\x93\xd0\x86\x76\xa0\xd8\x20\xbe\x06\xc3\x26\xa8\x07\x43\x10\xa1\x60\x14\x00\x68\x5f\x37\x01\x53\x51\x7f\xb0\xaf\xd2\xef\xef\xef\xee\xb2\xb1\x25\xe9\x07\xc9\xb0\x8a\x7e\x76\x4d\x22\x44\xf3\x9c\x16\x22\x91\xb2\x48\x96\x4e\x82\x57\x16\x2d\xab\x5a\x45\x16\xf4\x02\x33\xff\xfe\x04\xf1\x94\x82\x59\x34\x96\x13\x58\x0f\x86\xa7\x1e\x14\x46\x4b\xf2\x84\x6b\x66\x4f\x40\x34\x5c\xb4\x75\xa6\x96\xca\xb7\xa5\x40\x48\xa0\xc9\x69\x01\x07\xe2\x14\xd8\xa4\x31\x23\x68\xc8\xd2\x9f\xd0\xf1\xb8\xea\x29\xfb\x5e\xbf\xae\xc1\xfa\xb5\x96\x2e\xf1\xf7\x1e\x8b\xff\x97\xe8\x76\x91\xb8\x95\x90\x5d\x24\xe1\xbb\x48\xa4\xde\x45\x92\x67\x11\x29\x15\x59\x76\x72\xff\x5d\x24\xb1\xee\x8a\xdb\x88\x7e\x17\x49\x7d\xf5\xd5\xac\xc7\xb7\xd9\x6b\x50\x97\xc6\x45\xd7\x12\x71\x7f\xd4\x2c\x25\xfc\x4e\xb3\x92\x38\x09\xee\xa9\x80\x54\x08\x8d\x97\x34\xda\x16\x7e\x1b\xa8\xe9\x04\xb7\xa9\xc8\xbc\x61\x59\xf9\x53\x59\xd6\x55\x42\x9d\xae\x12\x09\x31\x56\x4a\x1a\x60\x01\x5c\x83\x56\xa0\x16\x48\x0a\x25\xd7\xcb\x0b\x34\xe7\xdf\x7f\x55\xf2\x16\x51\x14\xa2\xbb\x32\x12\xbb\xbf\xb9\x7d\xa9\xba\xa9\x8b\xd6\x1c\x6d\x55\xd6\xfc\x42\xca\xb3\x79\x57\xe2\x22\x9d\xf3\x3a\x40\x1e\x23\xae\xa5\x15\x08\x0b\x65\xf3\x74\x56\x74\xb4\xb9\xf0\x85\xb3\xea\x6a\xa4\x4b\x8b\xd3\x3d\xd6\xe8\xf5\x52\xa9\xc6\x7c\x9a\xe7\x5b\xd7\x68\x69\xee\xca\xb6\x13\xd1\x03\x58\xb9\xa8\x33\x1f\x01\xbe\x64\x68\xe0\xbf\xfa\x08\xc6\x13\xbc\xdf\x74\x88\x50\xa8\x7e\x79\x16\x0c\xce\xac\x3a\x8a\x5f\xc5\x97\x00\x76\xfc\x04\xb3\xb7\x78\xcf\x46\x30\xdc\x01\xd7\xb7\xb7\xa0\x3e\x01\xc8\xdf\x01\xd7\xd6\xf2\xb2\x71\x61\x78\xf8\xba\x40\xb9\x55\xd1\x69\x8c\x7b\xd3\x94\xa0\x4c\x1d\xa8\x8b\x1b\xa0\x0a\x8e\x60\x86\xd4\x52\xdb\x5a\xa0\x8c\x5b\x66\x7e\xda\x5f\xf1\x20\x36\x91\x0c\xef\xc2\x0f\x67\x80\xb8\x56\x17\x1f\x13\x61\x63\xd1\x1f\xc8\xd1\xef\xb8\x25\x8e\x6f\xb9\xfc\x8a\x09\x8a\xa7\x6f\x60\x3c\xf5\xc7\x3e\x45\xb8\xcc\x5a\x3a\x35\xad\x63\xda\xa0\x79\x56\xd3\xdc\x1b\xf9\x83\x07\xd6\xf9\x5d\xa1\x69\x30\xff\xc8\xf9\x0d\x51\x2e\x33\xbe\x00\x8c\xd3\x54\x99\xf9\x6b\xe2\xc7\x81\x5c\x70\x3f\xe2\x9c\x94\xb0\x3c\xbc\x85\x54\xd1\xec\x39\x04\x49\x3c\x83\x03\x20\xa6\xeb\x95\x23\x03\xf2\xd4\xe0\xe9\x83\xbd\x29\xc6\x26\xc9\x42\x07\x2a\x40\xb3\x28\x82\x34\x08\x88\xf0\x93\xf5\x7c\xa1\x24\xc0\xfc\xf1\xd1\x01\x89\x44\x78\xc0\xd2\x6c\x2b\x26\x29\x8c\x47\x41\x08\xba\x43\xd9\xb9\x22\x98\xf8\xf0\x7a\x9f\x85\x28\x49\x83\x07\x02\x10\xd1\x02\x7e\x88\x00\x8c\x7c\x04\xf4\x45\xd2\xf8\x26\x45\x80\x62\x81\x7c\x3c\xc3\x2c\x01\xa4\x18\xf4\x2e\x1f\xbe\x50\x0c\x5a\x28\x06\x23\x4b\x53\x44\x2f\x12\x52\xa8\xb4\xfa\x3d\x62\x5f\xa8\xaa\x2f\x1c\x62\x21\xad\xcc\x98\x1e\x81\x71\x11\x2b\x64\x36\xb8\xca\x10\x84\xb9\x4c\xcc\x22\xf4\xbe\x3f\x38\xa7\x5a\x58\x9e\xf2\x19\xf9\xfd\x7d\x14\x4f\x85\x27\x8c\x37\x3a\x60\x2f\x52\x57\xdb\x0b\xb6\xb0\x0e\xe2\xa9\xd8\x2e\x7f\x4c\x79\x91\x45\x73\x73\xee\x9f\xf9\x53\x40\xc3\xbc\xb3\x9c\xef\xc2\xf3\xfa\xc6\xab\xbd\xce\x8e\x58\x9c\xb8\xd8\x15\xa1\x6c\x84\x41\x74\xde\xb9\x1e\x84\xe0\x93\x77\xe2\x3a\x8e\xed\x3a\x0e\xeb\xc5\xe4\x7a\x2f\xea\x64\x85\x3e\xa5\xb4\x14\x9e\x15\x48\x9a\xf3\xe9\x13\x1b\x1c\xc9\xfe\x8c\x52\xd0\x4a\xd2\xff\xbd\x68\x6f\x86\xc8\x1e\x59\x7c\xb3\x03\xae\x13\x04\xe3\x73\x50\x7c\x49\x36\x9f\x36\x84\xf1\x25\x2e\x24\x0d\x28\x18\x01\x1f\xed\xc6\xb3\x04\xf4\xc0\x34\x86\x28\xf9\x94\x86\x9f\xec\x83\x30\x6c\xcf\x86\x41\x3c\xcf\xa6\xdf\xc7\x85\xb8\x71\x7d\x56\x4b\x0c\x3e\x00\xc2\xb0\x46\x8b\x15\x4a\xc9\x5e\xb9\x53\x08\xc2\xd8\xc7\xdb\x97\x3f\x43\x12\xd0\xd7\x31\xbe\x4e\x0d\xc8\x21\xf0\x2a\x48\x90\x38\x99\x92\x73\x14\x4f\xc5\x02\x1b\x20\x0c\xb3\x9e\x24\xfe\x05\x18\xb2\x8d\x50\x88\x94\xc9\x1f\xd0\xb5\xce\xde\xb3\x19\x5b\x88\xab\x79\xc1\xf3\xeb\x1f\x1d\x88\xa3\x79\xce\xf6\x5b\xf6\x92\x6f\xbf\x62\x91\x20\x4e\x93\x99\xb3\x69\xd8\xdd\x13\xdf\x03\x12\x86\x94\x8c\xc1\x26\xf4\xc7\x74\xa6\x67\x71\x43\xe3\xe9\xf5\x5e\x44\x59\x1c\x61\xe0\x48\xf4\x2f\x12\x50\xb7\x13\x06\x83\x73\xea\xc2\x98\x7b\x4d\x1e\x6e\xcc\x10\x8a\x23\xe1\x15\x6e\x86\xae\x3e\x1a\x1c\x8d\x6c\x02\x9c\x52\x24\x5b\x6d\xaa\x33\x68\x8f\x10\x80\xf4\xbd\xc3\x6f\x52\x24\x76\x12\xde\x38\x3f\x99\x8f\x1d\xbb\xb1\x9a\x5e\x53\xf8\xe5\x8d\xaf\xe9\xec\x02\x83\xde\xd0\x2d\xdf\x04\xb7\xb7\x06\x5b\xf9\x86\x9d\x57\xb8\xc6\x11\xa7\x4f\x0f\xf8\xc3\x6b\xd3\xba\x13\xb7\xaf\x3b\x5b\xbd\x8c\xbd\xaf\x64\x1d\x37\x0d\xf2\x61\xd8\x1b\x5b\xed\xdd\xa6\x81\xff\x6f\xd8\x87\xaf\x37\xb7\x7a\x44\xae\x63\xa4\x5f\x0d\x09\x90\x24\x21\x11\x5b\x17\x85\xb0\x9a\x1a\xc8\xef\x53\xbf\xcb\xc7\xea\xf7\x59\xbf\x55\x9e\xf8\xc2\x29\x08\xea\x10\x4c\x43\x7f\x00\xcc\x07\x1f\x1f\x3c\x18\xdb\x86\x21\x66\xb0\x65\x26\xfa\x10\x8c\x12\xae\x5c\xa4\x3f\xea\x43\xe0\x0f\x50\x70\x41\xdc\xc8\x6c\xe1\x05\x9b\x6d\x85\x83\xde\xcc\x35\x2c\x55\xaa\xfb\xc3\xe1\x1e\x0f\x1d\x4b\xa2\x73\xdb\x5f\x0d\x3f\x44\xb5\x31\xac\x4d\xe2\x21\x30\x9a\x12\x57\xe6\xd1\x50\xf8\x60\xdd\x00\x51\x6d\x96\x18\x9e\x17\xf9\x17\xc1\xd8\x47\x31\xac\x87\x7e\x34\x9e\xf9\x63\x20\x73\xc2\xeb\x34\xda\x56\xd3\x80\xc4\x4e\xdd\x0f\x91\xd1\x34\x68\xf0\x65\xcc\x09\x5f\x4f\x41\x3c\xaa\x80\xf5\x5c\xad\x26\xad\x65\x3f\xf8\x95\x89\xbf\xdc\x92\x38\x13\x7e\x88\x6e\x43\x30\x22\x40\x6e\x53\x70\xd6\x2f\x1e\xd4\x11\x48\x90\x09\xac\xdb\x5b\x13\x78\x3c\xba\x17\x4c\xd7\x28\x66\x22\xb6\xe1\x6e\x3c\x24\xce\xbe\xa4\x77\x78\x33\x26\x51\x65\x6a\x41\x52\xc3\xdc\x79\xf6\x44\xee\xb1\x0c\x65\x83\x17\xea\x26\xbb\x00\xf9\xe9\xcf\x14\x2e\x83\x56\x06\x83\x56\x4d\x6b\x24\x20\x1a\x26\xb5\xcb\x33\x1f\xc9\x95\x1e\xfc\xca\x04\xc9\xc0\x9f\x82\xdb\xc7\xb5\x7e\x80\x6e\xfb\x30\xbe\x4c\x00\xac\x9d\x83\xeb\x42\x8f\x69\xc1\x42\x9f\xf7\x31\xe8\x77\x67\x3e\xa2\x8d\xcd\x86\x98\x33\xae\x91\x3d\x39\x21\xde\x62\xcd\xa2\xac\x1e\xf0\xa0\xe6\xbf\x0a\x83\x7e\x8d\xf3\x9d\x4d\xf3\xe3\x7e\xd5\x7a\x60\xb5\xd0\x3a\xd4\xef\xe1\x09\x1c\x18\x98\xb9\x65\x95\x88\xf7\xaf\x8f\xfc\x43\x18\x9a\x88\x44\x64\x6f\xce\xab\x0c\xac\x3b\xdb\x60\xdb\x7a\x2d\x12\xf6\x75\x82\x75\x6e\x2e\x2e\x2f\x8b\x3b\xff\xba\x09\xf5\x07\x82\x31\x86\x7e\x84\xc0\xd0\xf0\x3c\x4f\x7c\x5b\x9f\xe2\xf5\x9b\xe0\x9b\xb7\xad\xaf\x7e\x7b\x2b\xa7\x80\xd5\x22\x58\x09\x92\x0a\x82\x33\x50\xe9\xcf\x50\xe5\x12\x54\x86\x31\x31\x2b\x3b\xf3\x2f\x40\x25\x6b\xa9\x82\x62\x1e\xc1\xb0\x22\x82\x48\xea\x06\x21\x51\xc9\xb1\x76\x67\x1b\x19\x1b\x41\xc3\xc8\xe5\xa7\x5a\x31\xd8\x00\x49\xe2\x24\xd6\x0b\x26\xfe\xb8\x30\xcd\x25\xf6\xb2\x10\x54\xa0\x00\x83\xb0\xbc\x8b\x82\x20\xfc\x76\x1e\x02\xf7\xba\x5c\x18\x4a\x9a\x10\x33\x85\x44\x57\x30\x5d\x41\xf3\xd7\x6f\x5a\x82\xac\x0b\x79\xed\x66\xde\xa2\x13\x7f\x4a\xd2\x4f\xc0\x60\x08\x12\x19\x16\xdb\xfb\x6e\x6f\x41\x25\x88\x12\xe4\x47\x03\xbc\x77\xed\xf5\x3f\x83\x01\xc2\xd3\xef\x02\x65\xe2\xfe\x5d\x7f\xca\x24\x7e\x26\x5e\x96\x85\x57\x09\x40\x7b\xbc\x15\x13\x58\x56\x53\x9e\x62\xd9\x26\x5e\x91\x51\x9b\xc4\xc3\x6c\xc2\xf0\x08\xb2\x7e\x54\x89\x09\x16\x34\x4f\x36\xee\x0f\x0d\x0f\xda\x27\xb1\x28\x8b\x33\x44\x60\x54\xcd\xa5\xa5\x42\x8d\xda\x00\xb3\xbd\xb9\xe5\x26\xf6\x99\x24\xb2\x5e\x5e\x36\xa2\xd9\xa4\x0f\xa0\xb0\x8f\x9f\x38\xa7\xca\xc7\xee\xe9\x3a\x54\xf0\xd5\xa0\xa9\x7a\x5a\xac\xbf\x7e\x02\x6c\x70\xda\x4c\xd9\xf0\x0c\x5f\xdd\x1a\xe8\x64\xac\x3d\x9d\x2f\xa4\x60\x6d\xea\x87\x00\x21\xa0\x1b\x61\x96\xa0\x42\x37\xc8\xb9\x87\x84\x0a\xa4\x52\xc0\xae\xf1\xf4\xe3\x0d\x6d\xc4\x4b\x9f\x26\x28\x1e\x9c\x77\x84\x57\xf5\x41\x1c\x0d\x7c\x3c\x35\x80\x95\xa6\x26\xaa\x04\x51\x05\xf0\xe4\x0f\x99\xdf\x35\x0d\x44\x9e\xbc\xf6\x5f\x9b\xb1\x75\x7b\x1b\x3f\x75\x6e\x6f\xe3\x67\x8d\xb5\x35\x4b\xb2\xa9\x63\xce\xee\x15\x22\x97\xc1\xa0\x58\x57\x49\xba\xf2\xaa\x41\x66\xc6\x09\x3a\xcd\x82\x3e\x83\x93\xf8\x94\xa7\x86\x48\x31\x8d\x62\x38\x21\x9c\x5e\x67\x7f\x9f\x96\x68\xd1\xa4\x1b\x8a\xfe\x9d\xc4\xa7\x5e\x62\xdd\xdd\xc1\xdc\xa5\x3b\x9f\xbd\x8c\xc6\x3b\x10\x2a\x92\x15\x91\xbf\xd8\x2f\x50\x4b\x95\x8e\x5b\x5c\x28\xea\x11\x16\x16\x89\x8f\x07\xac\x12\xc3\xc2\x6a\x89\xa7\xd7\xb5\x38\x62\x71\xd1\xf2\xb3\x49\xe2\xc4\x97\x96\xf0\x76\x31\x4b\x40\x8d\x31\xb4\x35\x7a\x23\xae\x91\x40\x89\xb9\x9a\x6a\x96\x9b\x40\x20\x0c\x77\x16\x88\xad\xe6\x63\x96\x5b\x09\x44\xcb\x9a\x53\x38\x98\x31\x9a\x86\xb3\xa4\x36\x09\xa2\x59\x52\xbb\x01\x30\xae\xdd\xc4\xf1\x44\xbb\x0d\xe2\x1a\x6f\xc2\x59\xb2\x8b\xcb\x1f\x03\x18\x1f\xc7\xf1\xc4\x4b\x61\x0d\x94\x48\x48\xb5\x3b\xa4\xfd\xb4\x06\x0b\xff\x55\x5a\x85\xc7\x5a\xb1\x0b\xfb\x7b\x16\xa5\x85\xae\x53\xe0\x27\xa8\xe6\x27\x81\x1f\xd5\xfc\x49\x3f\x18\xcf\xe2\x59\x52\xf3\x93\x1a\xba\x8c\x6b\x34\xfd\x5f\x6e\xc9\xd6\x2f\x07\x75\x08\xc6\x3e\x1c\x76\x3e\x9f\xb7\x79\x15\x82\x1e\xbd\x61\xd5\x08\x03\x55\x1b\xc4\x11\x82\x71\x98\x47\xf3\x02\xb1\x8b\xd8\xe3\x8d\x80\x08\xb0\x61\x1c\x32\xda\xb2\xea\xfd\x38\x1c\x16\x76\x98\xeb\x68\xb0\x11\x87\xc3\x7d\x7f\x04\xf6\x11\x8b\xe8\x20\x56\xc0\x28\xf7\x09\x8f\x9a\xaf\x5a\xbe\x58\x28\x08\x0c\xba\x9d\x6c\x90\xfa\x18\x99\x05\xd6\x8b\xba\xa2\x80\x94\xf2\x28\xc0\xdd\xc0\x2f\x0a\x7d\x18\x84\xc1\x94\x0c\x5f\x8d\x64\xd7\xd4\x52\xad\xc3\xcb\xbd\xc3\xc5\xe4\x26\x87\x60\xe0\x36\xb4\x35\x37\xf1\x5b\x56\x41\x08\x77\xab\x42\x31\x0b\x21\x46\x50\x4c\xa3\xe0\x2a\xf6\x7d\x1e\xca\x82\x4e\x26\x5a\x92\x07\x31\x5b\x08\x34\x97\xc4\x68\x4f\x96\x5c\xf0\x29\xda\xd0\x59\x3c\x01\x98\x35\x4f\x6a\x5c\x98\xac\x59\x0c\xb8\xe0\x0e\xb8\x66\x46\x51\x78\x96\xe2\x57\x41\x34\x0c\xa2\x71\x92\x3f\x8b\x44\xe6\x85\x15\xa1\xdb\x01\x39\x38\xf0\x1e\x5e\x3c\xa3\x2c\x04\xaf\xbf\xaa\x2a\xfa\xc3\xe1\x06\xfb\x8e\x71\x1e\x10\x36\x1f\x64\x96\xd9\x2c\x4a\x3d\x89\xbf\x8f\xcf\x0f\x01\xaf\xca\x34\xdd\x65\xd9\x9e\xa9\x8a\x6f\x3f\xb7\xe6\x16\x8f\xe8\x4f\xb7\x5f\x03\x13\x6e\xe2\x5f\xd5\xe8\x6d\xb0\x96\x80\x2f\x33\x5c\x50\x31\x63\x26\xfe\x15\xd5\xbd\xec\xb3\x32\x64\x79\x4f\xc0\x30\xf0\x29\xd5\x7d\x08\x6a\x23\xfc\x4d\x4b\x78\x52\x18\x53\xbe\x0d\xc1\x73\xfc\xc9\x40\x20\x9f\x31\x90\xec\x12\xa5\xaf\x8f\x7c\xc2\x38\x6e\x91\x72\xb4\x36\x09\xc5\x4e\x6f\xa2\x83\x30\x18\x9c\xab\x77\x42\xa5\xcc\x26\xab\x4f\x83\x27\xf6\x89\xbc\x46\x35\x45\x77\x73\x32\x1d\x32\x51\xa7\xfe\x78\xb1\x09\x87\x0b\xca\x13\xce\x98\xfa\x49\x82\x6f\xce\x35\xc6\x67\xa9\x98\xdc\xe5\x65\x13\x78\x4b\x4c\xda\x9b\xdd\xf1\x67\x09\x80\xed\x31\x88\x10\xbf\x26\xee\xfa\x83\xca\xde\x7e\xe5\xfd\x03\x6b\x79\xd9\x98\xc6\xd3\xd9\xd4\x58\xf2\xe2\x3a\xad\x78\x70\x3d\x05\x16\x71\x70\x49\x92\x76\x88\x5e\x93\xe6\x32\x14\xc8\xe9\xf1\xfb\xc4\x01\x9f\x35\x79\x24\xc8\x0c\x98\x87\xc4\xcf\x88\x03\xbe\xfc\x2b\x71\xb8\x28\x19\x42\x5a\xed\x88\xd4\x80\x60\x00\x82\x0b\x50\x03\xd1\x20\x1e\x16\x76\xb5\x07\xbf\x32\x67\x68\x54\x7b\x7c\x0b\xfd\x4b\x59\x4e\x20\xf1\x4d\xdf\xc9\xec\xe2\x28\x86\x15\x05\xe0\xca\x77\x55\x12\xdd\xc9\x20\x20\x8d\xfc\x45\x66\x8b\x15\x24\x68\xd1\x69\x88\xb9\xa8\x73\x2e\x90\x56\xdf\xec\x24\x89\xb5\x5c\x33\x26\x42\x6e\x5d\x35\x2e\x02\xcf\xea\xf4\x7d\x58\x63\x26\x8a\x8a\x8d\x3a\xaf\x13\xa4\x3b\x35\x6b\x8d\xc4\x0b\xaf\x4d\xfc\x6b\xb2\xfa\x6b\x3e\x84\xf1\x65\x4d\xb5\x81\xa8\x25\xe9\xa0\x00\x29\xbe\x00\xb5\x49\xaa\xe7\xd3\xa2\x53\xd4\x1c\x32\xb4\x30\x16\x3f\xfb\x90\xe6\xa0\x2a\xc6\x33\xe3\xd2\xd4\xa3\x7a\x16\x8c\x50\x8d\x2a\xe0\xe7\xb0\x79\xa4\x68\x97\x94\xcc\x76\x38\xc4\xe4\xa3\x9a\xae\x91\xf9\x44\x32\xf7\xd1\xb7\x94\x16\x24\x96\xf5\x20\xd1\x0c\x45\xca\x39\x66\x21\x40\xe5\x6a\x35\xcc\x19\x2d\x56\x97\xd8\x23\x90\xca\x97\x31\x1c\xd6\x88\xbd\x56\x8d\xac\xe8\x5a\x08\x46\xf3\x58\xb7\x62\xfe\x3b\x4f\xc9\xa9\xa9\xca\xa9\x9a\x5c\x84\x5d\x54\x64\xd6\x5b\xa4\x51\x56\x50\xd5\xea\x84\xa4\xe0\xbb\x57\xb3\x34\x6b\xdf\x22\xed\xf2\x92\x77\x77\xb2\xd4\x19\x02\x7f\xb8\x8f\x62\xe8\x8f\x81\x99\x57\x08\xb0\x22\x44\x34\x76\xdd\x0e\x43\xd3\xb2\xd1\xf2\x32\x2a\x53\x0c\xc8\xa9\x5e\x71\x7d\x5d\x9c\x40\x0a\x5c\x53\x39\x01\x68\x03\xfa\x83\x73\x80\xc0\x50\x13\x38\x92\x2b\x8f\xea\x7d\xb9\x20\xd0\x83\x14\x44\x11\x4a\x77\xa9\x4c\x05\x09\x0a\xba\x4d\x5d\x3c\x50\x6d\x41\x92\x91\x47\x08\x1a\xaa\x26\x91\x12\x25\x99\x50\x22\x62\xfa\xbe\xed\xe7\x72\xea\x15\x3b\xa8\xd6\x72\x95\x90\x6b\x6e\xa8\xd4\x82\x22\x55\x23\xbd\xb0\x54\x26\x06\xf9\x6b\x53\xa6\xbf\x4a\x4c\xa5\x2e\x56\xad\xbc\xb5\xd4\xd6\x09\x3f\x2f\x74\xad\x24\x34\xbb\x78\xe8\x06\x78\xc1\x78\xb6\xf9\x86\xf5\xa3\x32\x37\xe4\x6e\x41\x87\xfd\xff\x93\x51\x51\x5d\x07\x75\xa3\xb2\x60\x34\xe4\x3c\x3a\x1a\x80\x70\x16\x75\xe2\xc9\xc4\x8f\x86\x9d\xd0\x4f\x92\x9c\xb6\x51\x88\xb7\xc9\x36\xd4\x31\x40\xa6\x01\xa2\x8b\x00\xc6\xd1\x04\x44\xc8\xb0\x5a\x06\xbb\x89\xa5\x92\x56\xb8\xbc\x4c\x53\xed\xc2\xdb\x5b\x13\x7a\x5f\xef\x44\x37\x02\x96\x80\x9e\xb6\x49\xb4\x8d\xc0\xfc\xea\xc3\x31\xbd\x9a\x35\x69\x88\xf0\x20\x6e\x32\xed\x77\x7d\x3a\x4b\xce\xf0\x4d\x35\x6b\xb2\x09\xed\x38\xda\xba\x0a\x50\x4e\x84\x83\x0b\xc7\x53\xd3\xb2\x83\xfa\x2c\x22\x57\xda\x30\x4c\x55\xea\xf8\xa9\xd8\x85\x41\x18\x27\x00\xb3\x8b\xe0\x2a\x40\x86\xb5\xbc\xcc\xb8\x73\xf2\xdc\xb4\xd2\xa3\xa6\x08\x47\xc4\x1f\x93\xcf\xd4\x8d\x55\x90\xbc\x11\xe7\xe7\x9c\xa0\xb3\x9e\xca\xf4\x48\x07\x59\x46\xaa\xe0\x7e\x9c\xb2\x53\x79\xec\x0b\x73\x4f\x4e\x87\xd8\x8f\x87\xd7\xba\xde\x14\x48\xba\x78\xab\x78\x32\xe8\xc0\xe2\xa3\x2d\x49\x8e\x7c\x98\xcb\x0b\xed\x19\x3c\x9d\x87\xc1\xf3\xcf\xa5\x16\x24\xfc\x1b\x0f\x24\x4b\x4f\x2d\xaa\x32\x9f\x02\x88\xae\xcd\x1f\x7e\xf1\x15\xde\xfd\xe2\x2b\xb8\xfb\x81\xe5\xe1\xd6\xed\x47\x8a\xf0\xa8\x8e\xc7\x2f\x6c\x85\x79\x9f\xc9\x8c\x94\xf6\x54\x92\xe0\x28\xb5\x5f\xa0\xdd\x33\x8d\x34\x2d\x09\x71\x59\x32\x8a\xf5\x65\x2f\x8f\x2c\xa4\x59\x09\x28\xea\x0a\x32\x17\x16\x73\x75\x23\xc0\xca\x36\x16\x6d\x00\x57\xd5\xbc\x49\xfb\x3a\x07\xe4\xdc\xb0\xfd\x79\xa0\x99\x24\x4d\x3d\x6e\x92\xc0\xad\x30\x0b\x15\x23\xc2\x00\xaa\x87\x93\x09\x0c\x65\xce\x52\x18\xed\x54\xee\x67\x09\x26\xd7\x05\xa9\xad\x16\xd3\xbc\xdc\x45\x13\x8a\x50\x6c\x57\x21\xd0\x21\xea\x1b\xae\xd1\x5a\x4a\x35\x5a\x5c\xdf\x5e\x22\x52\xf8\x68\xbe\x77\xdd\xd6\xc7\xa4\x9a\x2a\xdf\x97\x97\x8d\x0e\xdc\xdb\xc7\x60\x4e\xdc\xd3\x75\xb5\xc5\x4f\xa3\xa9\x7e\xee\x32\xe7\x62\xe5\x4b\x2d\x3f\x96\xa7\xd8\x02\x44\x10\xc5\xe6\x42\xce\x77\x0f\x58\x32\x23\xbe\x98\x18\xdc\x03\xf6\x45\x1c\xb0\xfd\x6f\x71\x21\xb8\x07\xa4\x40\x8c\xe2\xd4\xd2\x44\xf8\x84\x0b\x96\x34\x68\xc7\xec\xc0\x43\x75\xf0\x65\xe6\x87\x89\x09\xad\x56\x90\x37\x12\xc0\x48\x64\xba\xdb\xa4\x32\x0c\x12\xc2\x21\x37\x2b\x18\x4a\x25\x1e\x55\x30\x9c\xca\x25\x59\xdf\x95\x61\x30\x1a\xe1\x52\x23\x18\x4f\x2a\x94\x61\xaa\x57\x2a\x78\x05\x54\xe8\x2c\xaf\x04\x09\xd1\xe4\xcd\x59\x78\x0b\x71\x57\x02\x95\x82\xc5\x38\x26\xb1\x46\xd9\x4c\x49\x55\x09\xc5\xb5\x9d\x6d\x81\x51\x3c\x04\xb5\xe1\x0c\x12\x1d\xb6\x51\x5c\xbc\x92\xc2\xc2\x5a\x37\x9c\xfa\xa3\xc4\x68\x1a\x8e\x76\x03\x4c\x17\xeb\x3e\x3e\x4d\xca\x9a\x2e\xe6\xce\x34\xb8\x95\x1f\x93\xd2\x12\x63\x48\x76\xa0\x5f\xa0\xfa\xee\xde\xe1\xfe\xd6\xa7\xde\xd6\x9b\xbd\xde\xc1\xa7\xcd\xee\x7e\x7b\xe3\xd5\xd6\xe6\xba\xa1\xcd\xc7\x89\xe9\x66\x19\x4d\x7d\x81\x69\x1c\x44\x08\x40\x4b\xdf\x19\xff\x02\xd0\xeb\xd9\xbc\x24\x14\x14\x22\xb7\x8a\xa0\xf9\xa0\xca\x76\x74\xd9\x70\x7b\x1e\x74\x79\x06\xe8\x0f\x62\x1d\xd4\xbc\xdd\xbd\x0c\xaf\xec\x72\x7a\x9c\x85\x09\x5e\xe0\xe4\x91\x8f\xcb\x2c\xc4\xb0\x1e\x63\xaa\x8b\x3d\x08\x50\xce\x4d\x20\x67\xda\x5c\x47\xa4\x84\x0e\x51\x08\x12\x14\xc3\xc2\x50\xa5\x1b\x7b\x50\x1f\xd5\x07\xa1\x3f\x99\xd2\x20\xb9\xb6\x93\xb7\x45\xe7\x91\x5b\x5d\xbc\xf5\x88\xa5\xa9\x96\x53\x51\x81\xe6\x8c\x70\x79\xd8\xaf\x2c\x19\x65\x47\x9a\x09\x26\xb2\xa1\x65\xa7\x80\x9e\xc1\xdb\x5b\xfe\xdd\xf3\xe0\xf2\x72\xe6\xfd\x60\xe5\xbd\xf3\x72\x53\x8a\x97\xf3\x96\x1c\xdd\xbc\x22\xea\x28\xda\xfe\x1e\x2f\xad\x38\xd7\xcb\xa1\xbb\xf3\x84\x27\xd4\xe4\x53\x23\x3c\x61\xe6\xde\x20\xf5\xf9\xc3\xeb\x9a\xd6\xfb\x54\xb6\x1e\x94\xa0\x55\x42\x10\xda\x40\xd9\x84\x92\xd2\x70\x30\xdd\xc1\x92\xc7\x93\x11\x91\x80\xd6\x62\xd4\x5b\xe2\xd7\x3f\x00\x41\x58\xe4\xea\x15\x9c\xe4\xf7\xa0\xb8\xed\x6b\x22\x4a\x5b\x62\xb0\x5b\xd1\x64\x17\x68\x66\x9f\x25\x47\x82\xd8\xbf\x8e\x06\xf2\x64\xfa\x64\x72\x87\xf9\x42\x2f\x0c\x92\xcd\x59\x4f\x96\x7c\x64\xdc\x32\xba\x88\x91\x6e\xe7\x31\xc3\xdf\x03\x5d\x2f\x95\x0b\x26\x4d\xf5\x74\xcf\x4e\x32\x94\x4a\x7b\x29\xb6\x9e\xbb\x7f\x03\xc9\x23\x36\x43\x87\x87\xfe\xa3\x35\x69\xb4\x03\x72\xe7\x28\x96\xa7\x18\xc8\x15\x58\xf4\x83\x34\x1a\x6c\x10\x4b\x26\xcc\x09\x1f\x6d\xdd\xbc\x97\xda\xcd\xbb\xbd\x81\xa7\x9e\x53\x4c\xc5\xde\x46\x08\x4c\xa6\xa8\x82\xe2\x0a\xab\x5d\xe9\xfb\xc3\x0a\x4b\x74\x60\x54\x53\x4e\x0b\xc8\x11\xcb\xc7\x6c\x65\x88\xd9\xf9\x73\xc4\x28\xe4\x1f\x23\x26\x3f\xb3\x49\x44\x83\xfa\x60\xb2\x3c\x73\x68\x0c\x9e\x9c\xe7\x08\xa3\x8a\xc2\xfc\x5c\xbd\x6b\x22\x21\x64\xa3\x20\x1a\x49\x3d\x54\x98\xcb\x75\xcd\x6d\xc1\x67\x9e\x93\xba\xda\xa6\xef\x4f\xe0\xe9\x53\x60\xb5\x60\xad\x66\xe5\x2a\x12\xc1\x45\x71\x4b\x16\xba\xa1\xc4\x68\xce\x00\xf1\x18\xe5\x3f\x65\x84\x78\x8a\x8a\xd2\x21\xe2\xb1\x07\x5a\xea\xd9\xe7\x01\x31\x73\x4b\xc6\x9c\xb0\x41\x7d\xea\xd0\x28\x4a\x88\x78\x95\x23\x96\x3e\x26\x8b\x3a\x91\x8f\xcf\x14\xd4\x84\x25\x9e\x3a\x0c\x31\xe2\x7b\x1e\xc4\x47\xa5\x45\xdd\xe6\xf9\x9c\xa1\x50\x88\xa6\x26\xb0\xd8\x3b\xa9\x13\x53\xe2\xc0\x6c\x5a\x36\xaa\xd5\xee\xa8\xf5\x9c\x3c\x1a\x67\xc1\x88\x78\x9f\x9a\x28\xeb\xa5\xd4\xfc\x74\x96\x9c\xd5\xfd\xe9\x94\xdf\x34\x73\xef\xed\xd8\xb2\x09\x66\x2c\x38\xa2\x7f\x65\x92\x9f\x35\x64\x3b\xcc\x14\x02\x23\xfb\xcc\xa1\xbe\xa3\x4f\xbd\x92\x3e\x72\x8b\xbb\x2c\xcc\xa2\xd2\x85\x2a\x8d\xc5\x14\xa9\x81\x25\xd3\x30\x18\x00\x25\xb6\x7c\x26\x27\x76\x92\x9b\x96\xb3\x28\x23\x45\x84\xc9\xe5\x25\xb4\x5f\x55\x2f\xb9\xe3\xfb\x0c\x0d\x48\x45\x23\x4b\x23\xeb\x8e\xaf\xb2\xa3\x03\x7a\xd6\xf4\xc0\x18\xcf\x46\xe2\x28\x40\x84\x43\xd9\xa9\x9b\x72\x43\x26\xd4\x32\xb7\x34\x40\x50\x3c\x51\x70\xe9\xe2\xe5\x5f\x0a\xd0\x64\x6a\x99\x0f\x5a\x6e\x2b\x2a\x0a\xb4\x34\xd0\x58\xda\x82\xe2\xec\x2c\x6f\xe1\x8d\x3f\x06\x87\x53\xcd\xd5\x37\x77\x1b\x93\xdc\xe9\x5b\xf3\xba\x26\xad\x47\x51\xe0\xe3\xce\xc7\x68\x33\xbe\xd4\xc9\x24\x7e\x1a\x4e\x55\x2d\xa7\x5a\x8a\xd3\xab\x20\xfa\x9d\x51\x69\x81\xa6\x7f\x77\xe4\xd0\x36\x7e\x19\x4c\x01\xf3\x79\x2f\xa6\x4e\xd4\xec\x71\x4e\x51\xe2\x27\x25\x04\x3b\x51\x5c\xe0\xd5\x97\xf4\xd3\xfa\x28\x86\x5b\xfe\xe0\xcc\x54\xb9\x71\x48\x5b\xfb\x33\x27\x0b\x42\x41\x45\x51\x74\x81\x3b\x69\xe8\x78\xc2\xc7\xe3\x85\x69\x02\x4b\x56\xb4\x66\xa2\xb3\x02\xd3\x54\xec\x8a\x9c\xe2\x4a\x77\x71\x02\xc5\x7c\x09\xa4\xfd\x76\x18\x2a\xbc\xc8\x34\xfe\x65\x19\xc6\x0a\x8a\x2d\x24\x07\xe1\xe6\xf9\x2a\x70\x79\x62\x2f\xa8\x5a\x92\x40\x16\x0c\xed\x0b\xa2\x0e\xc9\x4c\x9f\x93\xfa\x02\xe5\xc0\xc4\x23\xd4\xa3\x0f\x74\x8b\x80\x97\x28\x90\xb5\xcc\xd7\x31\x55\x65\x0b\x16\xf8\xde\x52\x3e\xa1\x83\xf0\x72\x61\x9a\xe6\x8c\xbd\x17\xa7\x9c\xaa\xe2\xfc\xc3\x27\xa5\x33\x37\xf4\xd1\x5f\x57\x47\x31\xbc\xf4\xe1\x90\xcd\xa5\x92\x84\x79\x3a\x21\x0b\xbd\x9b\xd3\xb0\x3d\x4a\x0e\xb2\x85\xaa\x55\x8b\xf3\x2e\x19\xfb\x88\x4e\x9f\xa5\xf2\xcf\x8b\x38\x18\x56\x64\xcc\x29\xbb\x58\xac\x64\x49\xdc\x57\xf9\x3d\xba\xa5\x07\xa9\x10\x22\xd8\x0b\x5d\xcd\x75\x62\x14\xbc\xad\xfd\x3c\x84\xd4\xb1\xe1\xe8\x19\xa6\x71\xad\xa6\xa4\xe5\xd3\x6f\xa3\xa5\xb2\x9c\xfe\x68\x01\xa8\xd0\x3d\x90\xf5\x6f\x01\xd4\xbf\xaa\x70\xcf\x04\xe1\xad\x45\xbb\x96\xb5\xc1\xf9\xbe\xaa\x6b\x3b\x36\x60\xec\x59\xe1\xb5\x43\x5f\x96\x48\x6c\x58\xc7\xda\xa8\x28\x6a\xfc\xf6\xb1\x23\x31\x9c\xf7\x46\x26\xb0\x5a\x35\x77\x29\x8d\x72\x52\xc4\xde\xd6\xd2\x3c\x7f\x0c\x14\xc3\x33\xe7\xc8\xcd\xcf\xd3\x42\x60\x81\x12\x99\x52\xee\x40\xd1\x8c\x2e\xb8\xbd\x75\xec\xec\x9a\x48\x33\x6f\x05\x1e\xf2\x50\xcd\xad\x99\x98\x1b\xfa\x23\x58\x85\xad\xe0\xa9\x72\x85\xb5\x82\xaa\x07\x79\xa2\x0e\xde\x94\x19\xf0\x84\x2f\x85\x30\x08\x5a\x75\x31\x02\x70\x0a\x81\x22\xc7\xf3\x05\xca\xde\x9a\x0b\xc9\x38\x34\x6d\x0c\xc1\x20\x86\xbe\xca\xd8\x89\x44\x81\x00\xc5\x53\x9e\xd7\x10\x9a\x2d\x75\x1e\x2c\x9c\x7b\x05\x67\x44\x8d\x52\x36\xe7\x42\x58\x06\xa7\x4c\xb7\xab\xf0\x21\x2c\x03\x95\x7a\x26\x6a\xc0\x09\x86\x87\x05\x30\xa9\xed\x62\x79\xdd\x2c\x00\x95\xaa\x32\xb5\x60\xb4\xc4\x3c\x7b\x34\x3d\x37\xf9\x4d\xbe\x16\xc2\x4b\x88\x2a\xec\x02\x60\x85\xf6\x3b\xe7\xfb\x90\x02\x29\x58\xcd\x16\x80\x15\x6d\x6f\xad\x7c\x75\x85\x95\xab\x06\x8c\xc6\x7c\x36\xed\x7b\x1a\x78\x44\xc5\xc8\x67\xf6\x0f\xb9\xd2\x34\x61\x60\x1c\x91\xcc\xfe\x57\x68\x02\xa2\x59\x51\xc4\xbb\xe4\xde\x89\x2a\xc2\x38\x22\x3a\x24\x29\x70\x87\x42\x27\x28\x65\x23\x36\xad\x16\x54\x64\xfb\x27\x1a\x9f\x61\x7c\x19\x19\x98\xbf\xd6\x96\x98\x4d\xcb\xdf\x93\x70\x81\x59\x72\x27\x29\x84\x8b\x18\x9b\x14\x29\x41\x90\x69\x92\x06\x86\x79\x8e\x7f\x75\x48\x14\x41\xa1\x87\xf6\x92\x63\x95\x20\x40\xbb\x20\x10\x4e\x08\x24\x35\x1f\xae\x7c\x8b\x50\x35\xd2\x0f\x67\x70\x2e\x86\xae\x65\xa9\xa3\x5c\xe7\x33\x8c\x12\x75\x9e\xd5\x0a\xa4\x50\x64\xdf\xb1\xc3\xab\x16\xc5\x43\x70\x42\x57\x91\x31\xf2\xc3\x04\x18\xa7\x95\xaf\x95\x4a\x3f\xbe\xc2\x0b\x23\x88\xc6\xcd\x0a\x35\x9e\xac\xf5\xe3\xab\x56\xa5\x92\xf7\xb3\x6e\x56\x10\xf4\xa3\x84\x06\xd1\x17\x33\xbb\x56\x78\x3d\x26\x10\x6d\x4c\xaf\xb2\x67\x04\xa9\x66\x25\x89\xc3\x60\xd8\xba\xab\x5f\x0e\x08\x1e\xb8\x61\xe6\x01\xde\xac\x04\x51\x18\x44\xa0\xd6\x0f\xe3\xc1\x79\xab\x52\xc1\xc8\xd7\xfc\x30\x18\x47\xcd\xca\x00\xe0\x0d\xbe\x55\xe1\xb2\xd6\x81\x1f\x0e\x4c\x51\xb5\x28\x1b\xa6\x58\x95\xef\x2b\x0d\xab\x55\xa9\x10\x80\x5c\xfa\xa7\x2c\xcf\x73\x15\xde\x35\x61\x1c\x23\x8c\x8f\x1a\x64\xb3\xf2\x9d\x42\xf9\xa0\xb6\x76\x69\x29\x80\x64\x22\xc8\x39\x50\x32\x3b\x17\x11\x0c\x1d\x3a\x9a\x95\x0f\x0f\x43\xb3\xe2\x68\x5f\xc3\xf8\x52\x7e\x4d\x5d\x99\x25\x6d\x73\xb3\xe2\xd4\x1f\x25\x42\x99\x82\xf2\xb6\x49\x06\x40\x57\x82\x69\x6f\x9b\x15\x76\x80\xeb\xca\xb1\x61\x2f\x57\x13\xb7\xee\x7e\x79\x0e\xae\x47\xd0\x9f\x80\xa4\x42\x90\xc5\xe3\x40\x2c\x00\xbe\x56\xe2\xa9\x3f\x20\xe9\x86\xdd\xba\xd3\xaa\xdc\x55\x2a\x28\x16\x9f\x3a\xe4\xe9\x5d\x3d\xeb\x23\xae\xeb\x47\xc1\x84\x46\x23\x88\xfc\x09\x68\x52\xa0\x2d\xf1\x79\x46\x08\x11\x37\x05\xa5\x2c\xa9\x5a\x80\x00\x7d\x5c\x23\xf9\x6e\xf0\xa4\x1d\x05\x51\x80\x80\x54\x0a\x05\x93\x20\x1a\xd7\xf8\x7e\xd1\xac\x00\x3f\x01\xb5\x80\xf8\x75\xc8\x58\x04\x10\xb0\x22\xe9\xb5\xb0\x75\x67\xe4\x37\xf1\x33\xe0\x0f\xa5\x00\xf9\x81\x55\x0c\xfe\x54\xbe\x29\x08\x79\xa2\x45\x63\xe9\x2c\x42\x51\xea\xa0\x40\x5f\x1b\xc5\xb2\x83\xd0\x4f\x92\xd7\xfe\x04\x78\x86\xb0\x95\x28\x0a\xce\xcf\x2a\x4d\xd3\x49\x2f\xb0\x8a\xa5\xb7\xf9\x45\x60\x59\x34\x3d\xb5\x1e\x0e\x5b\xdd\xa5\x80\x60\x7c\x69\x59\xad\x74\x17\xa2\xdb\x0f\x5b\xf3\x25\xc8\xb5\x16\xda\x56\x6a\x97\xa0\x7f\x1e\xa0\x1a\xd9\x32\x19\x15\xd8\xdc\xb5\x0b\x3b\x6b\xc5\x75\x9c\x49\x42\x36\x2d\x1f\xb6\x6a\x93\xf8\xe6\x5b\xea\x19\x76\xe1\x76\x17\x2b\xb8\x0e\x29\x6c\x80\xf5\xd3\x04\x35\x79\x55\xb3\x92\x09\x29\x24\x42\x13\xa6\x8c\x74\xb2\x6f\xe0\x11\x00\xf7\x9d\xd5\xc5\xba\xc2\xe4\xa6\x7b\xce\x10\xfa\x63\xe6\x25\x48\x4f\x19\x00\x0d\x6d\xe5\x05\x53\xa3\xd7\x9e\x3c\x99\x5e\x69\x66\x8f\xeb\x4c\xaf\xd2\x69\x42\x7e\x14\x56\xb6\x26\x4f\x74\x01\x9d\x05\x58\x9f\x13\x91\x55\xc9\xf8\x2a\x91\x83\x32\x88\x6f\xa6\x61\x1b\xc3\x7e\x48\xbf\xaa\x45\xa7\x3a\x9a\x14\x18\x97\x2c\xe3\xa6\xb8\xfe\x4b\x8a\x65\x3d\x57\x16\x52\xc8\x5b\x4b\x01\x2f\xc8\x9d\xe5\x2f\x0a\x4a\xb9\x2e\x40\x3d\x70\x01\x60\x02\x8e\x82\x21\x88\xcd\x25\x57\x41\x73\x16\xd8\x53\x71\xa1\xc9\xe7\x77\xd6\x1a\x5b\x70\x56\x5d\x67\x69\x91\x52\x48\x2b\xb8\xc3\x9c\x5b\x99\x9a\x27\x8d\x3e\xaa\x43\x81\x05\xdb\x2d\xaa\x54\x91\x5e\x5c\x6f\x15\xcd\x8e\xd2\x22\x27\xe0\xb4\xa0\x55\x55\x80\x68\xa9\xac\xab\x60\x7c\x99\x90\xf0\x21\x27\xe8\xb4\x14\x63\xba\x0e\x65\xd3\x82\x4c\x87\x7d\x72\x6a\x07\x1e\x68\x05\x4f\x51\x2b\xe0\x09\xd7\x62\x51\xf9\x4a\x2e\x29\x01\xbe\xa5\x10\x63\xfc\x58\xe4\x8d\x2d\x3b\x78\x8a\x6a\xee\xf2\xf2\x12\x49\xa4\x22\xc4\x62\x22\xfc\x23\x97\x01\x1a\xd6\xf2\x32\xab\x6e\x7c\x8c\x0c\x1e\xa4\xbe\x02\xeb\x9f\xe3\x20\x32\x8d\x32\xbb\x64\xa6\xb8\x55\x65\x98\xc8\x23\x09\x2c\x11\xb7\x52\x90\x34\x3f\x77\xa9\x6d\x58\x7e\x10\xaa\x6a\xea\xb3\xb7\x9a\xd6\x04\x55\x68\x99\x04\x50\x07\x55\xbe\x3d\x16\x31\xb2\x03\xcf\x69\x05\x4f\x41\x61\xe8\xb4\xfb\xfe\x15\x3e\xb5\x0d\xab\x15\x17\xf7\xce\x7c\x1d\x4c\x76\x42\x57\x03\x1f\x57\x42\x7e\x3d\x58\x0d\x64\xd1\x2f\x1e\xd9\x5e\x7c\x69\xc6\xd6\x9d\x22\x2a\x7c\xbe\x53\x1a\x7d\x65\x2b\x18\x99\xc9\x33\x87\x76\x23\xd2\xe9\xdf\x13\xab\x45\x61\x65\x34\x9e\xa7\x7a\x8f\x54\x4a\x26\x31\xa5\x0c\x37\x04\xe1\x82\x2f\xf2\x86\x04\x75\x36\xad\x3b\x9e\x59\x46\xd7\x1b\x92\xd7\xa5\xbc\xbf\x6e\xb6\x51\xb6\xd9\x11\x58\x30\xb7\xd3\xaa\x1b\xf0\xf9\x53\x4c\x4c\x69\x43\xc9\x4c\x22\x6d\x1a\xf0\xe2\x64\x99\xcb\xba\x7b\xea\x82\x4b\x5e\x42\x3b\xa0\x37\xe2\xd8\x4e\x5a\xe0\x29\x5c\x37\x63\x0f\xd8\x89\x07\xab\xc8\x6a\x9a\xb1\x07\xed\xc4\x03\x55\x94\x32\x29\xa2\xc2\x2f\xb6\x95\xc1\x6c\x19\xf1\xba\x8b\x68\xef\x04\x70\x85\x5e\x65\xe9\x2a\x21\xcf\xdf\xca\x34\x98\x71\xd9\x5a\xc0\x08\xb7\x92\xa7\xa8\x95\x54\xab\x56\x20\x6c\x8e\xc9\x69\x36\x71\xe3\xaa\xce\x0a\x75\x0a\x83\x08\x69\x56\xa8\x43\x8c\x2b\x2f\x07\xf5\x04\x51\x23\x39\x92\x74\xfb\x29\x6c\xe5\xfd\x39\x2f\xa1\x3f\xf5\x09\x77\x99\xce\xa8\x52\xd5\x48\xc1\x74\x32\x9e\x4c\x02\xf4\x2a\x88\x00\xb7\x83\xe4\x07\x66\x04\x2e\xf1\x63\x93\xc9\x31\x12\x3b\xf2\x60\x0d\xd9\xbe\xb7\xe4\xb6\xe6\x8b\xd9\xab\xd1\x33\x9d\x21\x99\xe9\x7b\x4b\x8e\x1d\xa9\x5f\xd7\xe6\x83\xb6\x6c\x7f\x79\x79\x49\x47\x86\x75\x33\x61\x94\x9b\xf5\x13\x44\x18\x15\x3b\xaa\xb9\x56\x55\x7e\x08\xf1\x0a\x89\x3c\x68\x35\x15\xc5\x69\x96\x58\xdc\xeb\x90\x84\xe3\x95\xdd\xf0\xa6\x61\x80\xde\x05\x43\x80\xaf\x0f\xd4\x87\xcc\x4c\xd2\x0c\xa2\xfc\xf4\x3c\xab\x56\x2d\xa9\x2b\x39\xbd\xe1\xe5\x80\x1c\xea\xe1\xc9\xd9\x29\xfb\x6e\x97\x15\xf7\x93\x41\x10\x64\x35\xd2\x9f\x39\x95\x28\x5d\x6e\xbb\xf1\x10\xac\x2b\x96\x21\x43\x96\x40\x48\x10\x64\xb6\x83\xbc\x0c\x9e\x21\x24\x68\x4e\xbe\x58\x29\x62\xac\x1f\x69\xe8\xda\x79\xe8\x2f\x39\xf2\xe4\x99\xf8\xd7\x7d\x12\x8d\xa7\x93\x66\x27\xc4\x13\xb0\xea\x45\x77\xf3\x35\x03\xe2\x96\x90\x06\x5a\xc8\xd6\xc1\xcf\x63\x4a\x93\xd7\xe3\xe6\xb8\x1a\x87\xf8\x6e\x71\xdb\x7b\x85\xf5\x09\xb3\x1a\xbd\x47\xa8\x68\xab\xa9\xa8\x02\xd4\xe5\xb5\x16\x93\xe3\x0c\xef\x03\x59\xd3\xc9\xd8\x0e\x6a\xd4\x5a\x68\x68\xbd\xf0\xa4\xa9\xd3\xf2\x08\x4d\xe4\xd3\xab\x95\xb5\xc2\x50\x5f\x57\x3d\x6c\xea\xa8\xa8\x41\x81\x6d\x52\xf7\x53\x04\xc2\xf8\xd2\x9b\x77\x7c\xb6\xe6\x21\x3e\x17\x76\xbe\x96\x3c\xa6\x87\x53\x73\x81\x23\xba\xbc\x21\xdb\xb1\xac\x26\x5f\xe9\x3f\x01\x48\xf3\xa7\x41\xa8\xba\x18\x06\xc3\x43\xb4\xc3\x73\x7f\x16\xc8\x9a\x91\xc7\xcc\xfe\x73\x00\x86\xdf\xa2\x03\x6e\xc9\x07\x5c\x51\x04\x33\x9b\x44\x7a\x8f\xe8\x51\x0c\x27\xf9\x96\xe5\x6d\xd8\x9f\xa1\xb8\xe3\x43\x18\xf8\x63\xd0\x23\xeb\x60\x5d\x6e\x91\xd2\x85\x77\xa1\x84\x6b\x21\x57\xdc\x57\xe5\x5d\x95\x57\x3a\xee\xce\xbc\xd9\xdf\x42\x9e\xc7\xc6\x8b\x9e\x0c\xb8\x85\x44\x3f\x5e\x78\x53\x2e\xb1\xa3\x03\xd0\x4f\xc0\x41\x4c\x22\x84\x68\x46\x43\x34\xc0\x55\x52\x3b\x9f\xa5\x30\x7f\x1a\x05\xf5\x11\xb1\xcc\x3e\x0b\x10\x20\xf1\x4f\x53\x47\x91\xaa\x6b\x29\xad\x39\xb5\xe3\xc7\xd0\xed\x15\xcc\xfc\xb3\xcc\xfe\xe5\x3c\x54\x3e\xd1\xdd\x7d\x19\x18\x1b\x7a\x60\x3d\xb5\xa4\xc5\xa7\x48\x13\xe5\x6c\xcd\x0b\x27\x68\x26\x45\xf4\x72\x7b\x57\xae\xe0\xe6\xd6\xf3\xf6\xe1\xab\x83\x4f\x9d\xbd\x57\x7b\x3d\x6e\xb6\xab\xbb\xc4\x97\x4f\x93\x53\x8c\x54\x81\xff\x89\xe2\x21\xb5\xc3\x37\x13\xeb\xe9\x02\x8b\xad\x0a\xf3\xd2\x08\x52\x96\xe6\x26\xeb\x9c\xf9\x30\x31\xa1\x65\x67\x56\x23\x0a\xd7\x1c\x93\xde\xf1\x22\xed\x64\x5a\x78\xd2\x40\xf5\x5c\x89\x44\x6b\xba\x42\xdb\x65\xf3\xa8\xec\xf4\xd1\xe2\x29\x34\xd3\xcb\x18\xee\xfc\xf4\x2d\x43\xa9\x04\xa3\x76\x3f\xbe\x58\x1c\x25\x61\xed\x9a\x19\xdb\xcb\xf3\xbb\x91\xbd\x22\xe5\x64\x4b\xaf\x92\x76\x69\x0f\x5b\x3f\x67\x0f\x37\x40\xce\x5d\x6b\x91\x1e\xf6\x98\x51\xa9\x52\x0a\x22\xb1\x1a\x78\x79\xd2\xd3\xa7\x05\x9f\x7a\xa8\x05\xe7\x13\x00\xfe\xde\x08\x30\x0a\xc2\x50\x97\xab\x54\xb9\xcb\x6a\x30\x76\x6c\x27\xa3\x05\xf4\x9c\x16\x2c\x18\x04\x31\x11\x09\xee\x7e\x76\x41\x76\x4a\x2c\x87\x16\x20\x53\x30\x67\x9b\x07\x4a\x42\x69\x99\xdc\xd4\xfa\x55\x41\x12\x90\xbb\xca\x43\x0f\x49\xd6\xc5\x34\x5b\xb9\x74\xfb\xc7\x9d\x83\xb4\x23\x0a\xff\xc4\x80\x0c\xb2\x62\x64\x15\x65\x31\x79\x75\xfb\x06\x01\xb0\x20\xc2\x6a\x67\xd9\x56\x36\x6d\xa8\xe9\x2f\xc6\xab\x88\x04\x71\x92\xb0\x21\xbf\x36\xeb\x43\x7b\x70\x0e\x40\x3b\xb1\xf4\xdc\x23\x2c\xf0\x20\xec\x86\x65\xd9\x81\x07\x6b\xa8\x66\x02\x4f\x38\xea\x60\x0d\x59\x56\xd5\x6d\x05\xec\x96\x96\x4a\x9a\x4c\x64\x07\x36\xaa\x82\x6c\x52\xc6\x1e\xa8\xb9\xad\xf8\x99\xe7\xb4\x62\xee\xbe\x54\xb2\x05\x55\xe3\xb9\x6b\x50\x6b\x48\x86\x4f\xa2\x72\x02\x08\x2b\x8b\x8c\x0b\xee\x7a\xa0\xef\x7a\xec\x05\x35\x58\x75\xed\xc4\x0b\x72\x04\x88\x49\xf7\xc1\x92\x17\x17\x28\x00\x6d\x60\x27\x59\xff\x23\xcf\x69\x45\x4f\x41\x2b\x9a\xbf\xae\x92\x6a\xf4\x4d\x1b\x10\xfa\x86\x0d\x88\x89\x12\x48\x08\xfa\xc5\xa8\xa5\x60\xdd\x6e\x6f\xf3\xee\xc0\x92\x84\x22\x2f\x73\xd0\x08\x09\x7e\x9e\x0e\x09\x8c\xc8\xbc\xf9\x2f\xf2\x2c\x80\x7a\x92\x71\x49\x94\x86\x1b\x0b\x92\x2c\xd5\xf0\x57\x9d\x47\x9a\x92\x21\xd6\x30\x97\x39\xca\x48\x64\x2b\x12\x1a\xa9\xd9\x1d\xc8\x2c\x70\xef\x43\xa6\xec\xe2\xfa\x13\x8e\x1f\x72\x91\x50\xdd\x59\xb8\xc2\x31\x5b\x8a\xe9\xe9\xb8\xe0\x51\xc0\xf1\x93\xfd\x69\xbe\xfd\x80\x54\x5f\xad\x9c\x2c\x48\x53\x7a\x6d\xba\x27\xa2\x85\x7d\x5a\x95\x6f\x27\xbd\x4a\xc6\x30\x18\x07\x91\x20\xd1\x03\xa8\x07\x42\x1f\x05\x17\x79\x84\xe9\x3d\xa2\xbc\x53\x25\x1e\xb6\x5a\xc0\xfa\x00\x5d\x79\xea\xb4\x80\x18\x10\xa0\x0a\x6d\x68\xeb\x76\x48\x7c\x49\xcd\xca\xa2\x92\xa8\x01\x45\x4f\xdb\xfb\x74\x49\x4d\x87\xbc\xcf\xb3\x88\x76\x69\xc4\x83\xdf\x0f\xd2\xe2\x3e\xa0\x88\x4c\xf1\xcd\x92\x9e\xb2\x18\x6f\xea\x36\x17\x8b\xe0\x41\x2a\x2d\x3a\x06\x3d\x91\x75\x9f\xdf\x27\x50\xea\xf0\x51\xce\xd9\xa4\xdd\xea\xc9\xd7\x85\x05\xfa\x04\xe3\x4b\xad\xe7\x9e\x68\x3b\xf0\x49\x84\x9b\xca\x0f\x32\x37\x24\x9a\xe7\x5f\xbc\xa1\xb4\x94\x25\x3c\x75\xae\x53\x96\xc0\x1b\x14\xca\xdb\x20\xe7\x8a\x47\x90\x61\x49\x4c\xe7\x60\x2e\xe8\x1a\xe7\x60\x9f\xa4\x25\xcb\x7a\x90\x95\x5a\xbc\x17\x59\x9d\x5c\x4f\x8a\xa2\x7a\x50\x90\xd3\xbb\x25\xbc\x35\x19\xc6\xdc\x19\x55\x0c\x8d\x81\x1b\x36\x6b\x94\x0f\xd1\xde\x2d\xd2\x92\x72\x86\x57\xcc\xa7\xbb\x92\x05\xb6\x6e\xaf\xce\xef\x8f\xcd\xd4\x31\x63\x91\x2a\x7c\xab\xd4\x8a\xc4\x31\x97\x99\xed\x46\x73\x24\xa9\x54\xd3\x59\x72\x2c\xc7\xe5\x74\x90\x85\x7b\x4c\x58\x66\x9a\x94\x1a\xd6\x53\xd7\x5a\xe4\xc2\xc0\xa4\xaf\x69\xfa\x71\x4e\x05\x26\xe7\x7c\x97\x2a\xf1\x32\x17\xa4\xf9\xea\x4c\x50\xab\x95\x30\x7d\xf6\x12\xb0\xb8\xdf\xd2\x7c\x9f\x34\x18\x5f\xb6\xcc\xc0\x43\x35\x60\x91\x54\xf2\x26\xf4\x60\x8d\x70\xef\xa3\x30\xc6\x37\xf6\x07\xca\x1d\xdf\xaa\xb9\xb4\x3c\xd4\x08\x15\xaa\xf0\x8f\xd4\x2f\x2c\x3b\x50\x8b\x11\xab\x41\xa1\x06\x6d\x2a\x27\xac\x4e\x37\xca\xcc\xc7\x1f\x33\x29\x01\x75\xf0\x67\xfa\xfa\xf4\x1d\xaa\x01\x7c\xef\x57\x32\x9c\x01\xcb\x3b\xad\x9d\x02\x6a\x81\xa9\x6a\x0e\x2c\x36\x2d\x99\x78\x50\x75\xe2\xe6\x42\x06\xe5\x59\x63\xfd\x16\x27\x9b\x85\x95\xc4\x41\x86\x62\x31\x60\xf3\xd8\x2e\x73\xa2\xa4\x92\x32\x1a\xf7\x9b\x9c\x6d\x66\x79\x10\xdc\x02\xa0\x42\x06\x0f\xcb\xe2\x6a\xc0\xfb\xe2\xa4\x00\xf5\x6d\x38\x29\x3a\xa7\xd5\x54\x04\xd1\x78\x03\x88\xa2\x29\x29\xd6\x51\x59\x50\xe8\x02\x6a\xc5\x88\xb3\x2c\x2d\x38\x3b\x7e\x82\x91\xa9\x3e\x67\xc0\x22\x21\xa8\x4b\xcc\x6a\xef\xec\x86\xe3\x58\x36\x3d\x05\xfb\x20\x0c\xf7\xbf\xcc\x40\x38\x38\x63\x4d\x7d\xe2\xb6\x13\x42\x32\xc0\x71\x21\x19\xa0\xb5\x5e\x28\x34\x0d\xfd\xd4\x55\x89\x80\x05\x32\xdc\xf2\x63\x53\x87\x8d\x68\x15\x69\xaf\x39\x8e\x65\x35\xe7\xd4\xe0\x77\x2c\x75\x9e\x3e\x7e\x93\x15\x0c\xd9\xfd\xe4\x39\xb5\x4e\x4c\x57\x76\xcc\xe2\x9b\xf3\xfb\x93\x32\xd3\x2d\xb5\xba\x23\x42\xa9\x38\x22\x96\xab\x9e\x3c\x4a\x61\x4c\x84\xb8\x52\xcd\x04\x73\x2f\x25\xeb\x7a\x2f\x3d\x29\x4b\x56\x75\x76\x9c\xa6\xfe\x7f\x6a\xd1\x9c\xb6\x99\x6e\x6a\x41\x51\xd2\x4c\x66\x66\x51\x16\x11\xbc\x5d\xd0\x02\x96\x80\x2c\xaa\x0c\xcb\x40\x67\x27\x65\x09\xc8\xcc\x26\xa6\x0c\x54\x2f\x7f\xf6\xce\xdf\x34\xdf\x2d\x04\xb8\xcd\x5d\x24\x0a\xc4\xd4\xdd\xc8\x73\x67\x3e\x57\x51\xe6\x5d\xf0\x9b\x6c\xa3\xd2\x65\x4c\x57\xd9\xcb\xa9\x5f\x9f\x38\x99\xa1\xd6\x52\x69\xf8\x9b\x5c\xfc\x25\x8d\x3d\x58\xde\x32\x8e\xb7\x63\xc7\x9e\xd3\x8a\x9f\x06\xdc\x38\x28\xae\x56\xad\xe0\x24\x3e\x15\xcd\x1b\x63\x2e\xa0\x13\x03\x6c\x95\xb1\x00\xf9\xc8\x5a\x1a\xfe\xa2\xb8\xf3\x5f\x47\x03\xca\x61\x72\x51\x78\x79\x3c\x8c\x32\x39\x5b\x2e\x1c\x48\x59\x6c\x5e\xd9\x59\xa1\x64\x92\x89\x61\x1d\x80\xbd\x04\xb8\x3b\xb6\x2a\xb4\xc3\xf2\xb2\x49\xfd\xc2\x45\xfb\x71\x65\x49\xcb\x16\x37\x47\x4d\x11\x15\x22\xcc\x9f\x34\x0b\xdc\xb5\x68\xcc\x86\x7c\xd1\x3c\xe7\x54\xd2\x18\xe9\xb7\xa4\x35\xfd\x7d\xf4\x3e\x8b\x57\x5b\x3c\x46\x99\x37\x8b\x67\x38\x86\xb0\x4e\xf5\x36\x59\x25\x10\x5c\x43\x1f\xc7\x43\x08\x3d\xa0\xc4\x91\x31\xf2\xb4\xbe\x94\xb7\x9e\xa7\x59\xfc\x7d\x51\xab\x24\xa6\x6b\x8e\x24\xdf\x10\xdc\xc7\x56\x84\x14\x1c\x03\x44\x6f\x84\x69\x31\x60\xcd\x33\xd5\x9e\x73\xd3\x09\x46\x26\x7c\x86\x52\xe5\x42\x1a\xeb\x9b\x32\x45\x99\xc3\x95\x61\x1b\x35\xd7\xa0\x91\xe8\x94\x8b\x35\x5d\x23\x34\x89\x35\x33\x50\x28\xce\x01\xe6\x78\xc3\xf9\x28\x6d\x01\xcf\x50\x85\x20\x2f\xa2\xf5\xc3\x2f\xbe\xc2\x1a\xb8\xab\x54\x2b\x3f\x54\x7f\xf8\x45\xd1\xb7\x82\x39\x7a\x13\x69\xc2\x74\xd7\x87\xe3\x20\xba\x9b\x5e\xfd\x30\x0f\xf6\x20\x0e\x8d\x45\xc4\x4e\x8a\xa9\x2e\xb1\x83\x24\x12\xab\x61\x1b\xa6\x51\x3a\x14\xec\x1e\x64\xd8\x95\xf2\x72\xf8\x1a\x6f\x58\x86\xc6\xad\x78\x2c\x64\x35\xc1\x67\xe9\xf2\x72\x50\x0f\x92\x4e\x1c\x86\xfe\x34\x01\x79\xeb\x60\x72\x08\xf0\xe2\x1d\x1f\x02\x44\xee\x7f\xfa\x98\xb1\x99\xc3\x98\x66\x3e\x8b\x31\x47\x5b\xcc\x55\x59\x31\x11\x64\x86\x99\x3a\x7b\x5b\x24\xf6\xbd\x3a\x61\x7e\x9d\x24\xca\x97\x82\x62\x17\xa6\x4d\x2b\xb9\x0c\x78\x56\x40\x3f\x01\x15\x1d\xa4\xad\xf6\x6e\x13\xa5\x01\x32\xcb\x3c\x01\x0d\x1b\x15\x6e\x0e\x86\xe0\x48\x4d\xde\x13\x57\x69\xba\x26\x69\x04\x67\x6a\xd5\xc9\x5e\xbc\x02\x23\x44\x1f\x1b\xc4\x8d\xda\x68\xd1\x18\x80\x65\x18\xa6\x69\xff\x33\x34\x0b\x73\x5a\xf6\x3f\xee\xfb\x09\x08\x83\x88\x87\x16\xfd\x06\xa4\x19\x76\x0a\xbc\x71\x77\x18\xd2\xcc\x6f\xf8\x27\x50\x4f\x18\x39\x9e\xac\x64\x71\x0a\xe2\xc7\x73\xa5\x9a\xe5\x3b\xaf\x4a\xba\x99\xd6\x28\x95\x6e\xa6\xa5\x34\xd7\x34\xe5\xa6\x6f\xa6\x67\x08\x50\xc2\x2a\x95\xd3\x9e\xc5\x97\xc7\x71\x3c\x79\xe7\xc3\x28\x88\xc6\x85\x60\x9a\xb4\x1f\x37\x59\x09\xea\x73\x48\x5e\x01\xe9\x88\xcc\x97\x59\xdc\x3f\x33\x5f\x53\xf0\xce\xc4\xaf\x6a\x97\xf4\x9d\xa1\x29\x9d\x73\xc7\x64\x91\x08\xfa\xa1\x3f\x38\x6f\x15\x23\x14\xfc\xe1\x68\xd4\x68\x34\x1a\xad\x34\xdc\x47\xb3\x12\xfa\x70\x0c\x5a\x2c\x1a\x01\xf4\x87\xc1\x2c\x69\x56\x1e\x4f\xaf\x5a\x82\x2b\xf9\xa3\xb5\xd6\xd4\x1f\x0e\x49\x0c\x04\xa7\xde\x00\x93\x8a\x53\x5f\x23\xff\x4f\xbf\x53\xaf\x4f\xfa\x15\x32\xcf\x4e\xfc\xb6\xa5\x70\x10\x4d\x9d\x7f\xc1\x15\xc5\xa2\xe6\x0f\x3f\xcf\x12\xd4\xac\xe0\x43\x2d\x7d\x4d\x82\x9d\xd0\x04\xc8\xfc\x0d\x71\xfd\xd5\xd4\xc2\xef\x8a\x55\x74\x74\x2b\xba\x4c\x32\x1f\xd0\x02\xbb\x4c\x97\x34\xae\xc5\x1c\x70\x32\xa7\x2a\xeb\x8e\xa9\x77\x0b\xe0\xc5\x08\x13\x41\x7d\x17\x24\x89\x3f\x06\xbb\x7e\xe4\x8f\x01\xac\x43\x30\x0d\xfd\x01\xe8\xf1\xc4\xa7\x89\x19\x8b\x10\x58\x69\xfb\x24\x4d\xf1\xed\x3a\xce\xf7\x73\xb6\xa7\x2c\xae\xb9\x75\xaa\x9b\x59\x74\xae\x8c\xb2\xfc\x1a\x0a\x81\x96\x98\x35\x83\xdd\x0a\x0b\x70\x32\x8a\x30\x3b\x1a\x12\x80\x46\xa0\x53\xc1\xf9\xac\xb0\x84\x9a\xf3\x20\xb3\x53\xb4\xa4\x44\x61\x34\x8a\xad\x94\x2c\xfb\xbd\x0b\x00\x31\xff\x23\xeb\x27\xd3\x35\x1f\xd3\xd7\xc2\x7a\x4f\x3b\x2a\xb3\xc6\x42\xb9\xc5\xd7\xbc\x58\x2b\xbf\x82\x73\x2b\xd1\x5d\x9b\x5e\x89\xcb\xf5\xea\xaa\x46\x57\xec\x3d\x97\x67\xc9\x32\x54\xac\x33\xbd\x77\x7e\xc5\x7d\xec\x4c\x12\x1e\xb8\x41\xb7\xea\x74\x3e\xfa\xb9\xda\x86\x82\x1c\x8b\xf9\x32\x03\x7c\x1a\x4c\x21\xc0\x25\x53\xbb\x0f\x1b\xd4\x13\x14\x4f\xdf\xc0\x78\xea\x8f\x7d\x7a\x68\xdc\xd9\xf8\xde\xa8\xa5\x7a\x76\x62\x96\x8b\x63\xb5\xe3\xa6\x3c\x7d\xcb\x65\xc4\x5a\x58\x8b\xaf\xcc\x22\x04\x71\xc3\x01\xda\x16\xb2\xcb\x65\xfd\xd1\x9a\x8a\xfa\xea\xa5\x5d\x58\xcf\xd2\xf2\x60\xda\x1e\xe2\x23\xdc\x09\x03\x20\xc6\x98\x22\x0b\xc6\x0e\xd4\x2f\x65\x28\x3a\x9c\x51\x3c\xf5\x4c\xc8\x75\x71\x01\x17\xb7\x3c\x68\x08\x41\xde\x15\xd5\x42\x30\x42\xb8\x1e\x55\x70\x04\x39\x93\xf1\xb9\x71\xf2\x19\xf8\x56\x66\xd5\x2d\x21\x98\x09\xaa\x8b\x37\xdd\x5c\x11\xcb\x66\xe9\x6d\x10\xbf\x8d\xe5\x0a\x68\xb8\x9d\x39\x03\x68\xd8\xdf\x08\x48\xdc\x63\xb5\xaf\xa4\xcd\x35\x37\x52\x8a\x86\x09\x37\xb9\xc0\x8c\xa3\x72\xff\x3b\x1b\xdd\xde\xba\x44\x90\xae\x73\xd8\x94\x73\x6b\xa6\x8a\xe5\x98\xbe\x79\x0e\xe3\x49\x9a\x57\x3e\xe7\xde\xac\x55\xae\xc6\xd3\x6b\x6a\xbd\x75\x10\xa7\x75\x8b\xc2\x31\x45\x9e\x99\x2c\xd3\x7d\x14\xa3\x60\x00\xf0\x2d\x2a\x1f\x49\x41\x38\x52\x84\xd0\x54\x5c\x86\xdf\x89\xa7\xd7\xfc\x54\xc7\xdd\x26\x54\x10\x2f\x5a\xda\x43\x63\x0a\x81\x61\xb5\x90\xc0\x14\xe2\x7e\xd4\x50\x2c\x60\x95\xc4\x33\x38\x00\xf8\x2a\x90\xdb\x04\xf2\x47\x8b\x72\xc3\x27\xd1\x8c\x8a\xdb\x38\x79\x5c\x1a\xdc\x63\x81\x98\x1d\x52\x70\x52\xdd\x05\xda\x0e\x3c\x58\xf7\xa3\xc1\x19\xbd\x69\xda\x49\xfa\x73\x8f\x08\x09\xec\xc8\x83\x34\x76\x03\x79\xed\xf3\x5f\xf4\x6d\x0b\xd6\x29\xca\xed\x30\x24\xad\x42\x10\x99\xc8\xb2\x63\x3a\xe0\xbc\x19\x61\xcc\xf3\xf3\xc5\x86\x75\x70\x85\x40\x34\x5c\x5e\x36\x89\x05\x2f\xb9\xc6\x9b\x81\x9d\x64\xaf\xcc\xc8\xf6\x2d\xcb\x46\x5a\xf6\xa3\xc4\x30\x26\xc3\x41\x0a\x74\xa0\x15\x51\x25\xbc\x7c\x2b\x18\x99\xf4\xca\x43\x8e\x36\x41\xc4\x60\x09\x2e\x7f\x3c\xc2\x44\x3d\x41\x3e\x44\x8c\x64\x90\xff\xc6\x98\x92\xfc\x62\xef\x6b\xbd\xbd\x77\xc6\x92\x07\x89\x57\xc9\x6b\x7f\x02\x88\xa4\xdd\xf8\x43\x12\x49\xd0\x13\x9e\x2f\x2f\x1b\xfb\x6f\xda\xaf\xc9\x33\xa1\xbb\xd9\x6b\x13\x4a\x6f\x48\xec\x08\x08\x2e\x82\x78\x96\xec\x07\xfd\x30\x88\xc6\x2d\x8b\x14\x91\x1f\xda\xa8\x5a\x74\xf1\xcd\x5c\x5c\x20\x73\x7e\x2e\x2b\x03\xea\x20\x1a\x92\x36\x6b\xe4\x2b\x9b\x02\x62\xff\x4c\xdc\x75\x5e\xea\x77\xd2\xd7\x08\x5c\x21\xa9\x9f\xc2\x03\x3b\x59\xa4\x8f\x91\x18\x80\x83\xa5\x98\xa6\xc3\xd5\x8b\x2f\x53\x4d\x85\x4d\xfa\x21\x3e\xa9\xba\x16\x8f\x15\x22\x38\x52\x07\xd1\xd8\x8c\x6c\x64\xcb\x4e\xec\x91\x55\x4b\x4a\xb7\x42\xc5\xca\xd0\x7b\xbd\x49\x73\xd8\xb4\x98\xcb\x26\x67\xd2\x95\x5b\xab\xde\x2b\x8c\x9d\x12\xf9\x74\x84\xf9\x7d\x54\xad\x92\xa9\x1a\x57\x86\x26\xfc\xbc\xb6\xbd\xe8\xe8\x20\xcd\x28\xaf\xcc\x3f\x95\x4b\x3a\xff\xad\x7e\xcd\xcc\x60\x35\x96\x5b\xa4\x25\xd3\x04\x9a\x24\xcf\x39\x0d\xa2\xae\x41\x77\x0a\xa2\x43\x18\xaa\x32\x4f\x0d\xce\x60\x8c\x67\xa5\xf4\xb3\xde\x87\xf1\x65\x02\xe0\xba\xfc\x93\xc0\x39\xf0\xfb\xe6\xd7\x19\x0c\x9b\xe0\xce\x6a\xb2\x5a\xf8\xb9\x09\x6c\xe3\x53\x3f\xf4\xa3\x73\xc3\x9a\x13\x17\x07\x17\xa7\xc3\x0f\x86\x87\x30\xd4\x09\x25\x15\x93\x24\x18\x99\x2c\xb3\x1f\xb8\xbd\x95\xed\x53\xc0\xd5\xd4\x8f\x86\xd9\x21\x50\x7a\x40\x70\x06\xca\xd4\x36\x65\x59\xd6\xf2\xf2\x92\x09\x98\x38\xfe\x59\xc3\x59\x7d\x7c\x7b\x0b\xea\x09\xf0\xe1\xe0\xcc\x7c\x70\xf2\x31\xf9\x78\xf2\xf1\xd4\xb4\xbe\xde\x3d\x7d\x66\x7c\xf7\xf1\xe3\xaf\x7e\x38\x7d\x60\x3d\xf3\x1c\x8b\x06\xf8\xe1\x05\x8d\x5f\x9d\xf8\xb5\x9b\x76\xed\xf8\x94\x7d\x3a\xb5\x27\xd5\x7a\xed\xf4\xfb\xe6\x83\x07\x86\xf5\xd4\xb1\xb8\xf8\x93\x86\x26\x30\x8d\xa6\x61\xbb\xd6\x89\x73\x4a\xc5\xa1\xc6\xc4\x0f\x42\x14\x1b\x4d\x59\x94\x07\xf0\xd1\x8d\xa6\x18\x46\x15\xb0\xab\x08\x1d\x63\xbc\x46\xb4\x93\x96\x06\x1b\x2d\x88\xa4\xf0\xb5\x27\x1e\x80\x24\x01\xc3\x8d\x6b\x5e\xf1\x85\x1f\x0d\x43\x00\x3f\x71\x8d\x2f\xbb\xad\x82\x11\xf0\xd1\x6e\x96\xb6\x2e\xe1\x53\x5b\xce\x66\xb7\x54\x9e\xcd\x8e\x9e\x43\x25\xad\x7a\x4b\x8e\x0d\xea\x3c\x50\x5e\x2f\xbe\xf4\x52\xc9\x85\x09\xea\x03\xc2\xf5\x7f\x28\xb2\xde\x0a\x9d\x81\xf5\x60\x8e\x98\x83\xad\xf4\xaa\x2b\x34\xc8\x4c\x69\xd3\x36\x79\x93\xef\xe7\x01\xa3\x3a\xde\xaa\x6b\x2f\x89\x97\x4c\xcf\x03\x75\x3c\x04\xcb\xcb\xf9\x26\x9e\xa9\x95\xc4\xf3\x74\x8c\xcb\xcb\x4b\x98\xf5\x97\x28\x54\x73\xbd\x79\xe6\x71\xc5\xf6\xe7\x55\xa2\xea\x8d\xf5\x79\x1a\x1f\xa2\x39\x6a\xfe\x8c\x0a\x24\xcb\x56\x92\xcf\x04\x75\x3f\x44\x3b\xe0\xfa\xf6\x76\x09\xf1\x8c\x5e\xc5\x29\x89\x67\x0f\xd7\x12\xe5\xb3\xc5\x9b\x4b\x4e\x6a\x9c\xa5\xac\xea\xe6\x99\x50\x79\xeb\x48\xd9\xb9\x83\x78\x2b\x1a\x8a\x41\x8c\x0b\x0d\xb9\x98\xc7\xca\x4b\x14\xf0\x9e\x6e\x09\xb3\x48\x8a\xfa\x06\xa2\xb1\x3f\x06\xc3\xdb\x5b\xd5\xec\x59\xd7\x45\xac\xe3\xd5\xb2\x6e\xeb\x62\xec\xe1\x8b\x6f\xb6\x7c\xd6\x84\xeb\xae\xb6\x0a\xb9\xf4\xa6\xf3\x9f\xd5\xb1\x9a\x42\xac\x3b\x61\x78\xee\x47\x39\x35\x71\xce\xb2\xb8\xc8\x26\x60\x7a\x4b\xcc\x8e\xa5\x81\xf4\xb2\xf6\x52\x56\x61\x8f\x9d\x27\xf9\x00\x39\xf7\x3c\x14\x32\xd6\x63\x01\x26\xdf\xe2\x31\xfe\x32\x7c\x96\x00\x0d\x3c\xb5\x03\xae\xc9\x5c\x1d\x20\x18\x92\xc9\x0a\xea\x13\x80\xfc\x1d\x70\xcd\xcd\x59\x2b\x65\xda\x6c\xb6\x95\x8b\x4a\xfd\xc2\x4b\xaf\x10\x16\x39\x77\xa8\x16\x0c\xcc\x08\x4f\xab\x5c\x54\xa4\x3e\xdd\xbc\xf1\x56\xd8\xc1\xbd\x22\x89\x7a\x97\x97\x1b\xb8\x18\xcd\x2a\x8c\x7b\x41\xbf\xb1\x15\x9e\x4f\xe8\x9b\x66\x76\x24\x17\x6a\xd3\x92\xb3\xd3\x62\x9e\xd2\xe8\xc4\xb3\x70\x58\x89\x62\x54\x21\x65\x2a\x13\x3f\x9a\xf9\x61\x78\x5d\x19\xce\x40\x05\xc5\x95\x4b\xd0\xaf\x40\x80\x39\x50\x42\xfd\x24\xdb\x08\x66\x53\x01\x63\x27\xc3\x4a\x39\x09\xf2\xb6\x70\xb9\x79\x58\xd4\xac\x2e\x7c\xb1\x13\xa6\xfd\x52\x8a\x4e\x8a\x21\x7f\x84\x77\xa7\xb9\x2b\x7c\xee\x62\x76\x17\x58\xcc\x06\xbd\x37\x4b\x16\x3d\x24\x4a\x65\x1b\xc2\xf8\x12\x33\x8c\x9f\x72\xd3\x52\x66\x1d\xfd\xe9\x34\x64\x36\x7c\x54\xb7\xc5\x89\x97\xcb\x46\x6f\x5a\xcb\xcb\x06\x09\x9b\x9e\x0e\x83\xec\x12\x57\x60\x6c\x09\x16\x9b\x20\x44\xbe\x09\x2c\x66\xed\x9e\x4c\x7c\x88\x9e\x87\x71\x0c\x37\x83\x8b\x60\x08\xa8\xdd\xb3\xdf\x4f\x44\xa7\xc1\xf2\x63\xda\x4e\x3c\xe3\x0f\xf6\x8c\xaa\x09\x9f\x3a\xeb\xc6\x86\xd1\x34\xda\x06\x13\xf4\x05\x71\x3d\x01\xd1\x90\x47\x75\xaa\x43\x30\x05\x3e\x32\x63\x4b\xb5\xd3\xdc\xdd\x29\xe6\xd5\x3d\xa6\x4d\xd9\x01\xa2\x37\x85\x64\xfb\x9a\xc4\x81\x69\x8b\x8a\xc1\xc9\x75\x79\x48\x55\x96\x0b\x2c\x08\x3b\xd0\x45\x8c\x5d\x62\x29\xeb\x29\x18\xad\x39\xa7\x0e\x2d\x2a\xd7\xfc\xa4\x88\x8b\x79\xff\x34\x10\x71\x44\xf6\x8f\x4f\x2a\x87\x6a\x22\x7a\xe2\x8a\x2d\xf3\xc1\xc7\xe8\xc1\x78\x62\x1b\x1f\x21\x1e\x6e\x4f\x79\x01\x42\x79\x23\xb0\x3e\xf4\x07\xe7\x00\x81\x21\xdb\xcd\x4c\xe4\x19\x7f\x70\xd2\x70\x9c\x5f\x1b\x55\x54\x25\x5f\xdd\x5f\x1b\xd9\x25\x4b\x98\x3e\x25\x57\xbf\x4e\x3c\xbd\x56\x0c\xc8\x2c\x01\x6c\x76\xd1\x64\xbf\xb8\xd8\xed\xad\xa9\xd0\x29\xe4\xb7\x6e\xdd\xee\x23\x6e\xe1\x7a\xc1\x66\x1c\xb1\x14\x9c\xc5\x6b\x94\xe0\xfc\x50\x58\x5d\x69\x4e\x01\x96\x2f\x73\x31\xce\xf6\xf6\xd6\x61\x7e\x74\x85\xb5\xac\x6f\x41\x6f\xaa\xa8\x5c\xe2\xb7\xb7\x4e\x8b\x38\x27\x80\xa7\x9e\x73\x7b\x8b\x9e\x92\x4b\x15\xdd\x6c\x74\x19\x4e\x6f\x6f\xb5\xb9\x4c\x25\xd3\xcc\x34\x33\x2d\x47\x26\xa7\xae\x37\xdd\xa5\x79\x56\x1b\x82\x5a\xd4\x86\x6c\x15\x09\xf2\x07\xb3\x34\x50\x73\xf9\x22\xd1\x4f\x39\xc1\x58\x4e\x1f\xb9\x48\x30\x71\x5b\xbf\xa7\x11\xcf\xed\xad\xe1\xe8\x39\x77\x26\x71\x5f\x9f\x6b\x60\xc8\xcd\x03\x95\x66\x77\x05\x96\x65\x72\xbd\x27\xf5\x4c\x34\xc9\x22\x4f\x3a\xd7\x83\x10\x7c\xc2\x97\x61\xce\xb1\x97\x1a\x37\xfe\x2e\xda\x76\x4f\x73\xa6\xf9\x4a\xf0\x7a\x2b\xd2\x7c\x6a\x13\x9d\xb0\x28\x75\xec\x28\xe4\x42\xd1\x0a\xbd\x4a\x32\x9f\x2c\xd8\x8a\x22\x65\x4a\x49\x0a\x27\xe5\x41\x51\x98\x8d\x6a\xa7\x02\x55\xe8\x6b\x06\xd3\xb4\xee\x04\xf7\x8a\x62\x55\x9e\x73\xe9\xce\x0e\xea\x10\x0d\xc1\xd4\x34\xc2\xa0\xcf\xf6\xfc\xc3\x83\xe7\x8f\x0d\x4b\xc4\xb8\xbb\x57\xec\x3c\xbf\xf3\xa6\x81\xf8\xb8\x1c\xb9\xbb\x47\x15\x4d\x77\x32\x84\x85\x14\xfb\x32\x64\x49\xcc\x58\xf0\x10\x96\x40\x52\x7d\xcc\x73\xe8\x4b\x91\x4f\x30\x48\x2e\x83\x27\x79\xf3\x48\x01\x53\x6e\xc5\x2e\x87\x4c\x52\xe3\xd3\x17\x6f\x60\x3c\x0a\x54\xd3\x4d\xc0\x18\x20\x56\x2a\x3f\xea\x12\xd0\xe9\x2c\x39\x2b\x1e\x2d\x14\x47\xa1\x46\x0e\xd3\x54\xac\x0c\xd2\x63\xba\xe3\x4f\xd1\x0c\x82\xe1\x27\xf9\xf4\x4e\x1f\xdb\x3c\x28\x18\x8d\xb5\xcc\x8e\xc6\xf4\x81\x4d\xe2\xfa\x08\xef\xf8\x2f\xc6\xdd\xf1\xf1\xcc\xf5\x32\x88\xed\xc2\x13\x0f\xd8\xa0\xa4\xc3\x72\xc4\xc5\x62\xed\xfc\x14\x2a\x1b\x10\xce\x50\x48\x03\xc1\xef\x45\x61\x3c\x36\x8d\xc3\xe8\x8c\x08\xbd\x86\x95\xac\x34\xcd\x9f\xac\x87\xab\x97\x3f\xe7\x40\xc7\xfd\x04\xc0\x0b\x00\x87\x95\xa3\x83\xca\x39\xaf\x81\xc1\xbf\xdc\xdf\x7b\x5d\xa7\xb2\xfe\x60\x74\x5d\x10\x1e\xe7\x9a\xcb\x65\xfb\xd6\x06\x07\xc7\xa4\x69\xc1\x96\x05\xa5\xa1\x04\x34\xe5\x2f\x1b\x3b\x5b\xd4\xe4\x74\xf7\x3e\x71\x8b\x70\xb9\x8d\x39\x8b\x28\x5f\x3c\x87\x91\xbe\x22\x09\x58\x84\xb7\x0d\xa5\x49\xbf\x38\xce\x94\x13\xa0\x99\xaf\xc5\x74\xd7\x24\xf4\x2f\xcd\x99\x12\x44\xfe\x00\x05\x17\xa0\xd2\xdd\xab\xc4\xfd\xcf\x60\x80\xea\x46\x2b\x0f\x48\x48\x98\x36\x07\xad\x30\xfa\x77\x84\x58\xd5\xf8\x08\x49\x9c\x75\xfd\xa2\x20\xf1\x8e\xe7\x11\xd5\x7d\x58\xdc\x70\x52\x82\x9b\x81\xb0\x69\x97\x4f\x38\xd2\x5a\x18\x95\xb7\x47\xa8\xa5\x6d\x91\xd2\x52\xd1\xa6\x74\x8a\x10\xfb\x99\x84\x9d\x20\xa2\x8a\x4d\x91\x98\x2e\x4d\x0b\xc6\x0e\x91\xcc\x0c\x67\x9f\xa8\xcb\xe9\xbe\xb0\xdf\xeb\x7c\x62\x61\xfc\xd8\xa9\x96\xe5\x93\x2b\x2b\x96\x41\xa3\x05\xa4\x50\x80\x79\x48\xda\x22\x4c\x41\x90\xb9\x60\x7a\x06\x1c\xf7\xcd\xc6\xda\x9a\x5d\xe1\xff\xb3\x0c\xa9\x6c\xe6\x49\x4a\xcb\x3a\x76\x05\xff\xc7\x4b\xf5\xe3\x30\x93\x45\x8c\x7c\x3c\x0b\xf8\xaf\x00\xf9\x61\x30\x48\x7f\xf6\x69\x32\x57\xf6\x6b\x16\x0d\x01\x0c\x83\x48\x08\x2f\x8c\x60\x70\x0e\xf0\xac\x9d\x8d\xcf\x32\x20\x11\x71\x4b\x13\x7f\x33\x4e\x89\x3f\xc9\x45\x29\x16\xc3\x11\x73\x8e\x2f\x04\x9b\x3e\xf2\x85\xc8\xbc\x03\x21\xa9\xab\xf0\x58\x91\xf0\xf5\xae\x30\xf4\x62\xc4\x3a\x22\xca\xdd\x20\x24\x70\x16\x2b\xd8\x4e\x36\x88\xb1\xea\x9c\x0a\xd2\xd8\x51\x9f\x6b\x6a\xa6\x11\xcd\x26\xa6\xa1\x98\x90\x42\x5d\x61\xee\x78\x06\x1b\x45\x63\x5e\x85\xde\xf6\x06\x19\xdf\xd2\x82\x89\x2a\x69\x86\x62\x01\x94\x12\x8d\xc4\x39\xd3\x73\x0c\x62\x2d\xa2\xcc\x13\xc2\xfa\x55\x02\xea\x32\x65\x81\x13\x74\x4a\x26\xf9\x09\x3a\xcd\x38\x09\x69\x54\x0b\xe3\x5c\x1f\xc4\xd1\xc0\x27\x46\x7b\xa5\xf8\xa9\x93\x41\xff\x65\x5c\xcd\x7f\xa9\xd7\xde\x7c\x1a\x8b\x0b\xad\xe8\x5b\x2e\xbe\x0c\xd8\x46\xac\x19\x4f\xda\x05\x7c\x65\x26\xa5\xe6\x2c\xda\x34\x6c\x97\x2e\x6c\x4c\x61\xa8\x0b\x83\xc8\xae\xf5\x85\xc1\x56\x14\x5c\x4a\x47\x8a\x7f\x27\x03\x95\xca\x51\xc9\x38\xa5\xc5\xa8\x2f\xdb\x92\x3c\x4a\x69\x18\x32\x71\x90\x52\x00\x74\x8c\x84\x9f\x99\x0a\x30\x1b\x21\x86\x70\x3a\x3e\xcb\xcb\x78\x65\x31\x7c\xf9\xfe\x58\xbe\x6a\xc9\xf6\xd3\x89\x23\xe4\x07\x51\xee\x06\xc9\x99\x10\x31\x20\x9a\x32\x91\x4e\x3e\x11\x08\x58\xcc\x24\x2d\x99\xfa\x91\x41\x63\xf3\x91\x4b\xbd\x1d\x78\x27\xa7\xad\xdc\x58\x2d\x29\x96\x09\xb7\xaf\xe2\x56\xb2\x59\x69\x2b\xbf\xc8\xb4\xd5\x95\xe6\xb6\xd9\x43\x06\x28\xdb\xe0\xf9\xdc\x20\x5f\x4d\x48\x4c\x6c\xdf\x31\xc7\x1a\xfc\x90\xcb\x13\xd9\x34\x30\x11\x5f\xb9\x69\xf8\x31\x36\x25\x58\x5d\xe6\xc9\x43\x9f\xf2\xca\x6c\xa2\x98\x01\x4b\x82\x93\x65\xcb\xc3\x25\xe8\x6b\xb6\x0e\x59\x5e\x0e\xcf\x30\xa4\xac\x3f\xc2\xec\x32\xe3\xaa\x67\x54\xd2\x07\x86\x8d\xc4\x1d\x22\x8d\x3d\x28\xcf\x3e\x5a\x89\x64\xe5\x61\xcf\x0c\x62\xfe\x27\xed\x23\x8e\x65\xc7\xa4\x23\x08\x5c\xa1\x4d\x9a\xa1\x37\x88\x23\x2f\xb6\x6c\x69\x72\xa6\xfd\x60\xc9\x28\x49\x27\xf8\xde\xe2\xd8\x48\xdc\x58\x5c\x6e\x9c\x21\xcd\x5d\x01\x06\x7e\x64\x58\xb6\xf8\xf3\x13\x33\xe0\xe1\xa5\x31\x78\xfc\x9d\x93\xc8\x26\xc2\x5f\xd9\x98\x11\x43\xc8\x32\xb2\x08\x29\xf7\x02\x96\x64\xa8\x42\x62\x6f\x94\x2e\x9a\x89\x8f\x06\x67\x20\xd1\xae\x1a\x83\x5e\xb0\x0c\xcf\xc3\xc5\xe3\x51\x05\xdc\xde\xae\x78\x1e\x35\x07\x3b\xb8\x9e\xca\x7e\xc2\xc2\xf2\x12\x4c\xf0\xae\x43\xc0\x06\x76\xc9\x14\x88\x7a\x7b\x0b\xd2\x6f\xf2\xda\x67\x94\x4b\x7f\xdf\xde\x2a\xe8\x89\xab\x73\x0a\x31\x00\xd2\x52\xa3\xab\x8a\xbd\x91\x56\x51\x7e\xc1\x70\x55\x96\x72\x85\x58\x4b\xde\xd2\x12\x12\xd6\x08\x87\x88\x27\xf0\x92\x07\xb2\x99\xcc\x5e\xd0\x65\x90\xd5\x22\xab\xe3\xf6\x76\x29\xb7\x65\xe2\x02\x20\xfb\x99\x16\x90\xe6\x27\x2d\x24\x3d\x2a\x3f\x39\xb2\x3c\xdd\x89\x4a\xd8\x53\x64\xae\x81\x8e\x93\x46\xf7\x3c\xb3\xb2\x82\x1a\x63\xa8\xfc\x99\xc5\xbd\x8c\xf3\x47\x14\xf7\x2a\x96\xb9\x89\x58\xf1\x30\xf5\x04\x4f\x4f\x18\x6e\x0d\x55\x80\x89\x34\x38\x70\x33\xdc\x7c\xf7\x79\x7b\x05\x82\x15\x36\x53\xce\x2d\x4b\x9b\x2a\x9f\xc1\xd2\x39\x2b\x3e\xec\x6d\x6f\x10\x6c\x15\x71\xc2\xc0\xd3\xc7\xeb\xa0\xfa\xb8\x09\xee\xf0\x6d\xcf\xce\x9f\x99\xb8\x8b\x5a\xb4\x2d\xbb\xd8\x48\x9e\x9b\x53\xf0\x00\xeb\xb0\x59\xe0\x68\x4e\xc0\xa9\x7c\x0c\xe4\x4e\x6f\x29\xb6\xbb\x00\x5e\x31\x4e\xeb\x6a\x52\x36\x73\x55\xf3\xc7\x65\xc6\x53\x4d\x82\x2b\x33\xb1\x73\x77\xbb\xfa\xca\xca\xca\x8a\x75\x87\xd4\x1d\x16\x79\x53\x45\x87\x63\x45\x87\xd1\xa9\x6a\x86\x0f\xf8\xce\x98\xec\xe2\xad\xb2\xe8\x1b\x55\xdc\x21\xad\xd4\x30\x5f\x07\xab\x9b\xee\x93\xc8\xa2\x96\x64\x7c\x3b\xc5\xdb\x53\x6e\x6b\x5d\x72\x71\x11\xd5\xa6\xbb\xe4\x30\x5b\x72\x90\x72\x1d\x48\xda\x6f\x2b\x9c\xb7\xe0\xb4\x5c\x5e\x2e\xb2\x0b\x5e\x90\x7f\x84\x4b\x09\x4c\x01\xbe\xdc\xa5\xbf\xf8\x3b\x7a\xe8\xb3\x57\xe4\x07\x7e\x93\x3b\x45\xbd\x20\xf7\xa4\x8c\xc0\xdd\x22\xd7\x9b\xae\x8a\xb9\xc7\x90\x02\x70\x6a\x62\xac\x5c\x65\xd9\xe9\xb2\x0e\xc4\x63\x95\x9d\xa8\xcd\x5c\xfa\x2b\x29\x05\xa0\xa6\xb1\x7d\x62\x7a\x5c\x48\xef\x35\xb7\x45\x96\xfb\x09\x17\x6e\x4a\xc9\xa0\xc4\x52\x04\x56\x69\xc3\xb2\x8c\xf6\x5e\x6d\x13\x7d\x71\xae\x79\x12\x0f\x7d\x11\x0c\x14\x19\xa9\x34\x69\xc5\x4e\x4e\x6d\xe8\x39\x76\xec\x39\x76\x42\x93\x70\x91\x18\xd3\x3c\x2e\x0d\xdd\x52\x7c\x0f\xdf\x9b\x86\xe0\x4d\x1c\x44\xa8\x8d\xcc\xc8\xb2\x43\xcf\x7f\xea\x3d\x5c\x5b\x5b\x59\x5b\x77\x9b\x8d\x96\xff\xd4\x6d\x3c\x5e\x8f\xab\x5e\x48\xf1\xc5\xed\xd2\x61\xf2\xad\xa7\x9e\xbb\x8e\x19\xbf\x10\xb7\xe0\x5a\x4d\x33\x26\xbc\x11\x61\xb4\xbe\x26\x08\x36\x01\xa7\x2e\xb4\x63\xcb\x4e\xc9\xd2\x4c\xee\x2c\x82\x14\x71\x68\x28\x96\x8e\xec\xd0\xb2\x29\xb7\xd2\x5c\x72\x84\x7a\x4b\xee\x1d\xe6\xfb\xa3\x6a\x88\xfb\x65\xd9\x51\xd5\x0b\x79\xb2\xc7\x78\x79\x79\xd1\xa6\x91\x5a\xac\x67\x93\x1f\x23\xf6\x79\x78\xf0\xfc\x31\x5e\x4b\x43\x00\x0d\x9b\xba\xbe\xd4\x8f\x0e\xea\x1d\xae\xdd\xdd\xf5\xa7\x44\xee\x72\x74\xa0\xd7\x9a\x78\xc0\xce\xac\x38\xc8\x9b\x4c\x10\x5d\x4c\xe5\x4f\x0a\x08\x56\xb1\xb4\x86\xd2\x22\x96\xe9\xa5\x7c\x98\x80\x7d\xe4\x23\xf0\x89\xc9\x4b\x8e\x0e\xea\x6f\xd2\x87\x66\x56\xe8\x30\x3a\x8f\xe2\xcb\x88\x67\xab\x0d\x81\x3f\x0c\xa2\xf1\x6e\x3c\x0c\x46\x01\x80\x9f\x3c\x83\x6b\x43\xa1\x1f\x84\xca\x37\x7e\x18\xc6\x97\xd4\x0a\x94\x0c\x3f\xb5\x34\x11\x2c\x20\xe3\x64\x70\x10\x4c\xc0\xab\x60\x12\xa0\x4f\x5e\x03\xac\x32\xe1\x02\x1a\x71\x32\x52\x24\x03\x91\xb2\xe2\x01\xff\x78\x23\x20\xb3\x1f\xc6\x61\x0a\x94\xbe\x49\x4d\x1c\xde\xc1\x00\x65\x82\x3c\xfa\x72\x13\x0c\xdc\x46\x5a\x21\x55\xbe\x6f\x45\x83\x18\xf7\xd1\x33\x66\x68\x54\x7b\xcc\x7a\x31\xf1\xaf\xe8\xa2\x21\x71\xd9\xa2\x01\xf0\x5c\xa7\xc1\x30\xbd\xf4\x61\x74\x18\x05\x93\x29\xbd\x67\x0a\x06\x92\x03\x61\xcc\x93\x8c\xd2\xe2\x54\x48\x68\xc9\x6d\x87\x0e\xda\xb6\xcb\x3e\x1b\xec\x73\xc5\x2b\x42\xaa\x8f\x01\xda\xf5\xa7\xa6\xb1\xc1\xef\x71\xdb\xaf\x3c\x63\x9b\x6b\xa6\xb7\x7b\xc2\x0f\xda\x99\xfd\xeb\x04\x81\xc9\x21\x1a\x3d\xce\xe8\x2e\xbe\x79\x15\x0f\xce\xc1\x50\x78\x37\x70\xdf\xf8\x08\x01\x18\x89\x79\xc8\x66\xd3\x21\x11\x1d\xb2\x9a\x64\xfe\xa4\x62\x13\xff\x02\x0c\xf3\x53\x8a\x6a\xbe\xb3\x39\x45\x36\xa6\xa3\x03\x81\x21\x55\x4e\x52\xbc\xfb\x94\x14\xeb\xbc\xea\x76\x76\x3c\xb7\x1c\x54\xaf\xbd\xed\xad\xd8\xb9\x89\x5d\xc6\x6d\xb3\x37\x9c\xd7\xee\xcf\x46\x1e\xa2\x57\x1a\xb6\x66\xe2\xc4\x63\xc3\x8a\xa1\xf0\x72\x3e\x1c\x27\xde\xc9\xe9\x5d\xbe\x29\xbd\x20\x90\xaf\x75\xf2\x98\x54\x78\x9e\xb2\xe2\x82\xf8\x78\x63\x36\x32\xc1\xed\x6d\x1a\xe5\x86\x3c\x6c\xc3\x31\x11\x6d\x30\x3e\xbf\xb4\x45\x09\x74\x51\x0e\x89\xfb\xa0\x22\xc0\x5c\xb8\x1b\xb3\x51\xb1\x33\x98\x5c\xc5\xe3\x7f\x1d\x34\x73\x04\x9c\x0b\x3d\xed\x61\xb1\x0d\x4c\xea\x54\x4d\x4f\x93\x01\x39\x4b\xc4\xc4\xcc\x4c\xdf\x9f\x38\xa7\x1e\x28\xa5\x4d\xe0\xc3\xb1\x3e\x5c\x39\x81\x01\x48\x52\xa3\x34\x93\x69\x6a\x9e\x0f\x6d\xd7\x49\x15\xce\x8e\xe7\x05\xcb\xcb\x66\xe0\x21\xcb\x0e\xf8\x59\x82\xca\x5a\xf6\x87\x17\x7e\x34\x50\xe8\xca\xa7\x71\x52\xa5\xc2\x6e\x5d\xd5\x29\x00\xe7\x3d\x30\xf1\x83\x28\x88\xc6\xd2\x00\xc8\x22\xc7\xfe\x6c\x94\x32\x2a\x0c\x72\x29\x31\x30\x5c\xbc\x1b\xdd\x03\x9e\xed\x96\x42\x1c\xc4\x51\x32\x9b\x80\x7b\x02\xad\x56\xe7\x80\x0d\x92\x4e\x8c\x37\x58\xa5\x6f\xad\x20\x83\xec\xcf\x46\xfc\xea\x3f\x1b\xb1\xc9\xc2\x12\x50\x4d\xe3\x84\xb5\x20\x6c\x4b\xc5\xc1\xb8\xc8\x34\x6f\x78\x4f\x4b\x17\x9a\x50\x49\xbc\x50\xfb\x17\x0a\x99\x33\x0d\x05\xc3\xc1\xa5\xa7\xba\x9c\xf4\x82\x1d\xf8\x92\x36\xb0\x58\x65\x0c\x50\x4e\x97\x61\xf1\x0c\x2f\xe9\xd6\x9f\xd6\xda\x7e\x95\x9e\x00\xd9\xb3\x9e\x7c\xc2\x90\x67\x6c\x23\xe3\xa7\x0d\x79\xc6\xb6\x7e\x7e\xf2\x90\x67\x0d\x5b\x3a\x85\xc8\xb3\x95\x52\x82\xb0\x18\x80\x05\x9a\x48\x9d\xca\x05\x0a\xcc\x68\xc6\xfa\x24\x13\xad\x40\x01\x05\xe5\x38\x4d\x04\x00\x9c\x30\x9c\x28\x94\x18\xec\x59\x4f\x78\xc6\x8f\x5e\x47\x78\xc6\x8f\x61\x57\x78\xc6\x8f\xe4\x86\xf0\x6c\x85\x1f\xd3\x85\x93\x4d\xad\xfe\xe1\x8d\xcd\x3b\xcf\xdd\xb2\x62\x4e\x5a\xac\xb1\x18\xb4\x9f\xca\x44\x2c\x76\xb8\xdf\x87\x0f\x2d\x90\x2b\xcf\xdf\x2a\x15\x03\x45\xcf\x2f\x25\x70\x66\xdb\x8b\xaf\x31\x2d\xc9\x55\x02\xde\x7a\xab\x96\x6d\xa6\x6e\x12\x6c\xab\x48\xa7\x5a\x66\xaf\x1e\xa2\x6e\xb2\x0b\x90\xbf\xbc\xcc\x5d\x81\x2c\x5a\xff\xb1\x65\xa7\x0e\x17\xf4\x89\xfb\x90\x8b\xc6\x29\x87\x58\x1f\xc1\x78\x82\xf7\xbf\x0e\x49\x50\x9f\x65\x8d\xc8\xf9\x44\x55\x57\x1a\xf6\x4a\xc3\x6e\xac\xad\x59\xf8\x52\xb3\x68\xe5\x5e\x7c\x29\xd6\x4c\xe3\x9a\x31\x63\x79\xe2\xcd\x47\x2d\xe8\x9b\x91\xf7\xe4\x61\xd5\xac\xb9\xdf\x93\x04\x36\xc8\xff\xf0\xcc\x59\x77\x9a\xae\x65\x47\xb7\x1e\xb4\x89\x91\xf2\xae\x51\x55\x35\x1c\x59\xd5\xb8\x9a\x28\xec\xd9\x85\x00\x65\x82\x93\x47\x93\xfa\x06\x67\x29\x8c\x98\xd7\x84\xdd\xb0\xaa\x2b\x8d\xd6\x82\xcd\x15\x60\xcf\xa6\x46\x93\x56\xfb\x43\x43\x59\x80\x38\x48\x34\x0b\xd3\x4e\x35\x35\x7a\xed\x6d\x3c\x96\x14\xaf\x64\x79\xd9\x8c\xbc\x95\x86\xed\x66\x8f\xd6\xa3\xaa\xe7\x34\x57\xe5\x07\x6e\xb3\x21\x3f\x68\x34\xa3\xaa\xb7\x82\xef\x8f\x2b\x8d\x45\xc9\x28\x11\x8d\xfa\xf2\x34\xc9\xf7\xd4\xd5\x28\xe7\x76\xc9\x8d\xab\x00\x84\x31\x34\x0d\x76\x07\xab\x90\x2e\x56\xc8\x78\x10\xc3\x2d\x32\xe2\x36\xb0\xee\xb8\x58\x33\x9d\xc7\x05\x1b\xf3\xc2\x72\x4b\x8d\x72\x0a\x42\x80\xfc\x05\x31\xe3\x46\x19\xb7\xc8\x9d\x80\x5b\x4b\x85\xa2\xd9\x29\x6d\x5a\x2d\x29\x86\xaf\x58\x0a\xb7\xc8\x85\xa3\xe2\x73\xcc\x5c\x80\xe2\xe3\xfe\x6c\x94\xca\x90\xf3\x60\xea\x03\x3f\x0c\x69\xc4\x8a\xfc\x7b\xab\xf0\x84\xf2\xbc\x1e\xa7\x56\xae\x69\xcf\x83\x8a\x17\x98\xaf\xf5\x00\xb3\x81\x22\x9c\x09\xac\x0c\x03\xea\x5b\x44\x62\x0e\x57\xd0\x19\xa8\x24\xb8\xf0\x92\x51\x24\x33\xa5\x96\x4a\x54\x46\x2f\x97\x9e\xa7\xbe\x7c\xae\x0b\xb4\x66\x26\x45\x4d\x50\x80\x9e\x99\x1c\xa9\x84\x67\x39\x93\x24\x0d\x6e\xba\xda\x85\x3b\x78\x36\xf2\x05\x48\x09\x40\xe9\xad\x59\x04\x95\x85\x5c\xcc\xcf\x6c\x7c\x65\x36\xbf\x63\x39\xf9\x2b\x17\x7e\x38\x03\x95\x51\x0c\x2b\x06\x9f\xc2\x35\xc0\x00\x1a\xcd\xca\x77\x55\x60\xd1\xc5\x13\x24\x71\xad\xe1\x34\x1a\x46\xf3\x9b\xee\xb6\xe2\x3a\x24\xf4\xaf\x11\x6f\xa7\xa1\x1e\x9c\x53\x02\xce\x29\x80\xfb\x36\x38\xee\x5d\xc9\xe5\xba\x40\x6b\x55\xb1\xa2\x2e\x67\x8f\xda\xe2\x9d\x83\xeb\xc4\xa4\x87\x75\xc7\xb5\xea\xa3\x00\xcf\x58\x13\x78\xcf\x96\xd4\x88\xde\xde\x02\x32\x17\xf1\xe6\xd5\x46\xa6\xf5\xd4\x6d\x3c\xb6\xea\x13\x7f\x8a\xeb\x18\x1f\x3f\x5e\x19\x55\x7c\x24\xdd\x4c\xfd\xa1\x29\x97\xac\xa3\x98\xed\x36\xee\x43\xcb\x6e\x58\x16\x53\x6e\x72\xa7\x29\x49\xa0\x00\x2e\x2b\x3d\x30\xde\xba\x9a\x9a\x3f\x9c\xfc\xe2\x2b\xb8\x3b\xfd\xa1\xd8\x4f\x49\xfa\x24\x6f\x52\xec\x7b\x05\xe1\x5f\x4b\xb0\xd8\x8d\xe5\x65\x78\x02\xeb\xdb\xaf\x4e\xeb\xdb\xaf\x88\x2e\x26\xfb\x49\xb4\x35\x30\xdb\x29\x89\x05\x20\x9e\xd3\xd9\x1d\xd0\x0e\xbc\xe2\x85\x8b\xe6\xeb\xe3\xde\xf6\xf9\x2e\x89\x97\xc2\x98\xfb\x0b\x07\xc9\xd4\xc7\xd3\xdf\xe8\x74\x5c\xc3\x0e\xf8\x95\xc7\xb1\x5d\xcb\x06\x2c\x99\x6d\x7a\x29\x34\x5d\xcb\x6a\xd6\x5c\x5a\xdd\x0c\xd2\xd7\x64\xf3\x35\x89\x5f\x82\x29\x80\x88\xd3\x64\x68\x9a\x56\x62\x75\x2b\x71\x95\xe5\xb2\x29\xd2\xba\xb3\xdf\x55\xfb\x47\xf1\x3b\x22\xc9\xd3\x07\xc8\x0d\xb9\x85\x9e\x79\xc6\x2f\x8d\xe5\x65\xf4\xd4\x33\x7e\x6d\x14\x7b\xbc\xdf\x35\xd4\x02\x43\xa6\x3f\xcf\x4b\x0b\xab\x08\x23\xab\x12\x5c\xe0\xbe\x1b\x2d\xbc\x51\xae\xab\xab\xae\xab\x6b\x35\x4d\xc8\xae\x7f\xb7\xb7\x90\xa9\xf0\x0d\x3c\xf4\xfc\xab\xd5\xc4\x9d\x70\x58\x27\x9e\x18\xf7\x04\xcf\xa1\xaf\xe3\xb9\xc5\x13\xc2\x9f\x56\x3d\xd4\x84\x27\xce\xa9\x87\x08\xf4\x0a\x83\xbe\x6e\x2c\x2f\x1b\x4d\x63\xc9\x43\xeb\x69\x3d\x0d\x21\x70\x4d\x25\xe1\xf8\x0b\x61\xda\xd5\x11\x48\x90\x89\xac\x75\xd5\x54\xc0\x14\x6d\xaa\x91\xb7\xc5\x69\xa7\x5b\x79\x28\x08\x59\x64\x14\xba\x56\x90\x14\xd6\x37\x37\x3f\x72\x4b\x85\x58\xd8\xb0\x08\x16\xe6\xc7\x2b\xb7\xff\xf1\xe3\xed\xc7\x2b\xe7\x91\xf5\xc0\x22\xab\x8b\xcc\xa1\x60\x64\x06\xe9\x10\x99\x01\xa6\x9a\x61\xd8\xc1\x89\x7b\x4a\x76\x88\x4d\x1f\x01\xcb\xc6\x4b\x02\x5a\x5f\xf1\xdb\xaa\x87\x28\x9f\x9d\x46\x92\x39\x71\x4e\x79\xdc\x0c\xa4\x14\xd2\x2e\x2f\x9b\xb1\x67\xa0\x38\xae\x84\x31\xb5\x76\x17\xea\x60\xe0\x4b\x1e\x79\x10\x44\x43\x70\xb5\x37\x32\x8d\x3f\x20\x71\x86\x63\xcf\x00\x93\x3e\x18\x0e\xc1\xb0\x02\x92\x81\x3f\x05\x69\x55\xb1\xa4\x65\x73\x3c\x6b\x18\x6b\x8a\x83\x24\xcd\x66\xed\x53\x57\x9e\x0a\xb8\x9a\x06\x10\x0c\x31\x2c\xa9\xa2\x65\xc7\xeb\xa6\x64\x50\x5f\x32\x04\xcd\x8a\xdf\x8f\x21\x62\xc6\xfb\xb1\x8d\xb1\x4a\x57\x8e\x49\x7f\x11\x95\x4a\x36\xc6\x28\xed\xf0\x92\x63\xdd\x15\x89\x57\x85\x1a\xf2\xad\x9b\x22\xdc\x2a\x62\x90\xd9\x60\x64\xbb\x11\xd4\x2d\x5d\x61\xa2\xc1\x2a\xa6\x99\x97\x55\x83\xb6\x6b\xad\x37\x9a\xae\x45\xd1\x2a\x70\x27\x6c\x36\x17\x94\x65\x54\x26\x87\x4b\x9f\x80\xd3\x13\x74\xda\x0a\xd6\x83\x25\xf2\xbb\x1e\x8c\xa3\x18\x82\x75\x32\xff\xa9\xeb\xe9\x33\xe3\xaf\x19\x5c\x29\x5e\x50\x16\xac\x4b\xdc\x88\xd1\xc5\xb5\x83\x68\x5c\x79\x5c\xeb\x07\xa8\x32\xa0\x85\x2a\x98\xe9\x69\x56\x9c\x2b\xa3\x8a\xc4\x13\xcf\x91\x8f\x3c\xab\x19\x10\x27\x67\x1a\xfb\xc7\x3e\x81\x36\x3a\x65\xa1\x42\x0b\xea\x81\xe5\x65\x45\xc3\x60\x88\x59\xfa\xaa\xc1\xda\x2b\x38\x4e\x20\x6b\x51\x70\xfc\xba\x30\x0f\x9c\x8a\x8d\x6b\xbf\xde\xef\xe6\x52\x71\xd8\xc8\xfa\xba\xea\xf1\x3c\x1b\xa2\x54\x26\x4b\x83\x62\x22\xab\xd9\x70\x94\x85\x8a\x09\x4e\x4c\xb4\x78\x4f\x84\x97\x15\x8c\x5b\x65\x97\x75\x47\xcd\x85\x6e\x6e\x75\x14\xd8\x33\x36\x34\x8b\xb2\x62\xbb\x8e\xc5\xc2\x80\xbb\x4d\x9d\x04\x20\xef\xb1\xee\x21\x31\x38\xf7\x0a\xad\xa7\x53\x6e\x71\x91\xb4\x48\x09\xaa\xfc\x44\xeb\xee\x4a\xa3\xf9\xd8\xb1\x64\x77\x21\x21\x51\x73\xfe\x4d\x92\xa5\x7b\xeb\x81\x31\xee\x15\x91\xa9\x13\x93\x66\xf1\x6a\x59\x59\x6b\x16\x2a\x8a\x89\xae\x4c\x24\x95\x7e\x58\x2c\x9d\xa5\xcf\xc9\x95\x7d\x54\x2c\x9b\xe5\x77\xc9\x95\x75\x1b\x4d\x61\xb9\x11\x25\x5b\xfe\x7a\x2a\xa7\xf9\xc8\xd5\x6f\x28\xba\x21\xa7\xd3\x90\xcb\xaf\x38\xc5\xf2\x05\xe7\x46\xb9\xca\x6a\xbe\x8a\x56\x47\x29\x8d\xf9\xaa\x9e\xc0\x5a\x6a\x3c\xcc\x93\x2e\x9d\x60\x7d\x7f\x70\x4e\x12\xf0\xee\x83\x68\x98\x6c\xf0\x5f\x72\x93\x2e\x58\x29\x8a\x37\x18\x27\x54\xd4\x89\x35\xf5\x22\xb1\xfc\x9c\xba\x8e\x06\x44\xce\x46\x6c\x42\x4c\x79\x00\x1d\xa7\xb1\x58\xa3\x9b\xbd\xf6\xf6\xcf\xd5\xa6\x5b\x18\x46\x16\xdc\x6c\x6f\x86\xa6\x33\x94\x23\x8b\xe3\xe6\x17\x6e\x21\x16\x5a\xbe\xc6\x4a\x7e\xc2\xa7\x23\x31\x01\xc8\x27\x83\xb0\x45\xce\xfa\x42\xc5\x27\x4d\xb4\xae\xa9\xca\xdd\xcb\xda\x21\x22\x10\xde\x9d\xf9\xe8\x13\xb7\x54\x5c\xb0\xb8\xa7\x97\x41\xa6\x85\xec\x05\xca\x78\x06\xe5\x55\x0c\x4b\xd7\x51\x65\xf3\x85\xad\x4a\x0d\xfc\x3e\x20\x75\xd8\xaa\xbb\x4f\x7d\x33\xc4\x75\xf6\xa8\xc9\x48\xbf\xaa\xd8\x78\xa4\x94\x51\xf9\xbd\xc7\x59\x7d\xdc\xcc\x4b\xac\x99\x1a\x27\x2d\x81\x87\xd3\xd4\x14\x2a\x6e\xbd\xf9\xe6\x54\xdb\xb6\x99\xfa\x8d\xcf\xaf\x29\xb6\xc9\xd4\x20\xa6\xbc\x8d\x37\x1c\x67\xb5\xd8\xed\x0d\x29\xc6\x44\xd6\xef\x34\xeb\xc2\x37\x9c\xa8\x9b\x5b\x9d\xca\x1b\x18\x5c\xf8\x08\x88\x07\x2b\x3b\x59\x29\x37\x25\xca\x16\xb8\xe2\xa7\xe3\x7a\xfc\xfb\xd6\x7e\x27\xfd\xde\xd9\xef\xa6\xdf\xf7\x84\xe7\x47\x07\x6b\x0d\x4f\xa8\x7c\x62\x7c\x74\x8c\x53\x91\x65\x13\x5e\xfd\x7b\xda\x37\x7f\xc5\x38\xd5\xfa\xcb\xa6\xb9\x05\x33\x75\x1d\x69\xa7\x5f\x56\x27\x4b\x5a\x9a\x5d\x83\x68\x35\x54\x56\x6d\x14\xc3\x4b\x1f\x0e\x0f\xfc\xfe\x3e\x8a\xa7\xb9\x06\xa3\x39\x35\x27\xcf\x01\x18\xe6\xea\x5c\xf0\x2e\xa7\x20\xc4\xb7\xa3\xd2\xb7\xb0\xac\xbd\x7c\x4e\x4c\x47\x6a\xf7\xdf\x57\x54\x25\x2a\x20\xd7\x10\x8b\xfd\x07\xba\x62\x8e\x54\xec\x3f\xd4\x8e\xdb\x7f\xa4\x7d\xf3\x57\x45\xd0\xc0\xfa\x8a\x9b\xf6\xb8\xd2\x8e\xef\x4b\xac\x2d\xed\x15\x43\xee\x32\x95\xe7\x18\xeb\x86\xd4\xd5\xff\x58\xa2\xe1\x5f\x95\x48\xf8\x07\x39\x24\x64\xf1\x12\xb7\xdc\x14\xd4\xda\xa6\xd5\x32\xfe\xc0\x58\xf2\x60\x1a\x9d\x27\xbd\x78\x6f\xed\x77\x0c\x1b\x52\x51\x46\x2a\x6c\xd6\x48\x35\xee\x58\x11\x24\x22\xfa\xd7\xb4\xb4\xfa\xcd\xdf\xe0\xaf\xb6\xf6\x3b\xf5\x4d\xfd\xa0\x87\x41\x04\x8a\x93\xec\x37\x7f\x53\xac\xbe\x75\x9f\x39\x93\xdf\xf1\xb2\xe4\xc8\xf2\xaa\xf9\xcd\x7f\x2a\x36\xf1\xa2\xb4\x09\xbe\x78\xe4\x17\xb9\x14\xe3\xa6\x25\xc3\xff\x3b\x22\xfc\xdd\x92\xbd\x80\xf2\x64\xaf\xd4\x84\xf8\xbb\x22\x94\xd7\x3a\x6a\xff\x17\x62\xa9\x3d\x5d\xa9\xbf\x27\x96\x7a\x23\xa7\x80\x2e\x18\xec\xf0\x39\x91\xe9\x18\xd4\x37\x7c\x09\xdb\x7f\x20\xb6\x70\xa4\xc3\xe3\x1f\x8a\xa5\xde\xe9\x4a\xfd\x23\xb1\xd4\x7b\x5d\xa9\xff\x5a\x2c\x75\xac\xa7\xb2\xac\x63\x32\xfe\xe0\x64\xdd\x6d\x35\x06\xf2\xba\xfb\xcd\x7f\x23\x00\x3b\x31\x4e\x72\x4b\x4d\x41\x23\xa5\xec\xab\xdc\xca\xb0\x40\xd6\xce\x7e\x57\x26\xe2\x9f\x48\x58\x7c\xfc\xa8\x5f\x64\xff\xad\x54\xf2\xb4\x74\x6b\x90\x74\x52\xea\xa1\x34\x81\x85\xd7\x3f\xae\xb7\xe4\xa1\x6c\x37\x61\x96\x4a\xd4\xaf\xc7\x7c\xf0\x2b\xf3\xe3\xb0\x6a\xb5\xcc\xfa\xf7\xd6\x2f\x1e\x58\x2d\xb8\x6e\xa6\x45\x3c\x78\xd2\x38\xcd\x8b\x7a\xf7\xc8\x36\x73\xe2\x9e\xda\xc0\xb2\x9a\x39\x61\x02\xd3\xa9\xec\xed\x77\x54\xe1\x17\x38\x5c\xcb\xba\xbb\x2b\x99\xa2\x12\xf9\xfe\x3b\x89\x28\xbf\x9a\x3f\x88\xdf\x32\xd1\xff\xb1\x38\xed\x3e\xfd\xbc\x2d\x10\xbc\x2b\x05\xbc\x09\x08\x95\x44\x53\xde\xec\xbf\x85\xb3\x4a\x98\x04\xad\x59\xd9\xda\xef\x54\x9c\xab\x86\x53\x31\xaa\x48\x77\x86\xdd\x89\x78\xfe\xe1\x7c\x3c\x8d\xc7\x24\x98\x9c\x84\x66\xfe\x8e\x3d\x0a\xc2\xd0\x34\xb6\xb4\xe7\xa6\xd4\xe6\x1f\x7d\x2b\x6d\xf8\x1a\x50\x28\xb6\x98\xf7\x83\xf1\xc0\x60\xa7\xa0\x54\x53\xd2\x6f\xe4\x50\xe3\x26\x0d\x88\x59\x33\xfc\x92\xe9\xd5\x04\x35\xa3\x99\xa9\x02\x25\xed\xfa\xb6\xaa\x28\xd5\xcd\x49\xe5\x1e\x18\x4d\xde\x48\xbe\x4f\xac\xd1\x6d\xa6\xa3\x7f\xc1\x3e\xbb\x5a\xc8\x5c\x89\xf8\xad\x1c\x39\x95\xd6\xe1\x79\xf2\x47\x95\x07\x15\x9f\xcd\x72\x8d\xcc\xee\xa7\x37\x31\xa7\x81\x05\x66\x8b\x29\xed\x07\x96\xf4\xeb\x7b\xe9\x57\x55\xfa\x55\x93\x7e\xd5\xa5\x5f\x0f\xa4\x19\x68\x23\xed\x1c\x2c\x32\x63\xc1\x88\x4a\x96\xa1\x95\xfa\x51\x28\x19\x45\x36\xe3\x30\x40\x53\xca\x8f\xa8\x34\x8b\x82\x56\x2b\xb5\x30\x0d\xd6\x0d\x33\xd3\x40\x6d\x3b\x5e\xd0\x34\x2c\xfc\xe0\xf6\xd6\xa8\x09\x2f\x5c\xfc\xe2\x7b\xf6\xa2\x2e\xbc\x68\xe0\x17\x55\x63\x09\x2f\x04\xe3\x01\xfe\xe4\x32\x82\xed\x15\x2f\x98\x2f\x0e\x0d\xe3\x71\xa6\x2d\x4f\xd1\xad\x24\x00\x51\xad\xf9\x77\x55\x54\xfd\x8e\x68\xca\xb5\xa2\x78\x71\x04\x1f\x2a\xce\x3f\xfc\xfc\x51\x91\xd3\x2f\x5e\x91\x05\x38\x8f\xcb\xcb\xa7\xd7\x5b\xa1\xca\x13\x4d\xd3\x86\x57\x76\x91\x51\x49\x65\x77\xc0\xf5\xd4\x1f\xb2\x00\x01\x1c\xca\xb3\x6f\x85\xe2\x66\x50\xea\xcf\x95\x28\xd6\x07\x05\xc8\x4c\x39\x6b\xe7\xd9\x4f\xf2\x54\x00\x18\x66\x27\xdb\x44\x0d\xbb\x68\x9f\x4d\xae\x3d\x0d\x43\x80\x12\xab\xcb\xac\x18\x22\x01\x6e\x55\xb7\xb5\x5e\xa1\xd8\x9d\xae\x58\x43\x2a\xf6\x6b\x5d\xb1\xf4\x8a\xb8\xb7\xdf\xc1\x5c\x8a\xd6\x91\x85\x0a\xbe\xa3\x61\x7c\x79\x10\xa0\x10\x08\x0c\x88\x00\xa0\xc1\x26\x05\x05\x96\x3d\x5f\x3d\xd5\xb8\x28\x65\x1c\x14\x8b\x66\xdf\x22\x6e\xfd\xa9\x84\x9f\x6b\xbc\x1e\x34\x2c\xee\x23\x5a\x6e\x50\x2b\x78\x18\xda\x89\x77\x72\xca\x9c\x9e\x60\xab\x5a\x8d\xb8\xc3\x53\x06\xfd\xa4\xf1\x7d\x74\x6a\xd9\xa1\x47\xbe\x55\xdd\xd3\x96\xff\xcc\x8b\x33\x5d\xa6\xb1\x6e\x2c\x79\xe1\xba\x19\x66\xce\x91\x57\xae\x7b\x10\x77\xf6\xf7\xcd\xd0\x22\x1a\xc6\x13\xff\xd4\x0b\xad\xa6\x58\x04\x8e\xfb\x07\xf1\x7b\xd7\x25\x2f\x71\xa9\x84\xea\xaa\xfd\xaa\xd1\x32\xaa\xa1\x65\xdd\x25\x72\xaa\x72\x2d\x2b\x7e\xba\xda\x32\xaa\x09\xb3\xc0\x68\x19\x56\xd5\xf8\x2b\x86\x48\xef\x27\x32\x5d\xd3\x7c\xfd\x5f\xfb\xf1\xf0\xba\x99\x12\xf7\x4e\xac\xe3\xe6\x46\x59\x3f\x10\x84\x29\xe0\x9b\x75\x91\x00\x88\x1a\x64\x9a\x96\xd5\x82\x0a\xc5\x40\xe6\x79\x4a\x9c\x1c\x49\xc4\x5e\xae\xe4\x75\x68\x64\x76\xc6\x19\xa3\xac\x83\x02\x9a\xee\xa9\xa4\x87\x03\x84\xd3\x95\xde\xff\x5e\xba\xb1\x21\xfb\x6a\x9a\x50\xc2\x62\x6d\x0e\x31\xd9\xbd\xa0\x93\xa5\x7d\xf5\xcc\xba\xf5\x20\x60\x48\x71\xd6\xe5\xc4\xe5\xe9\x1b\x5c\x43\xa7\x34\x21\xb5\xcd\x92\x6c\xb7\x12\x5f\xd4\xf8\x36\x38\x69\x4e\x5a\x25\x0f\x74\x5f\xa4\x48\x32\x5f\x9a\xa9\x5b\x66\x64\xc4\xb0\xde\x30\x01\xf8\x8e\x53\x59\x73\x30\x47\x93\x50\x83\x48\xc5\xde\xb2\xd6\x58\x88\xd4\xbf\x3a\x19\x4c\x13\xc7\x6d\xac\xac\xae\x3d\x7c\x74\xfa\x3d\xb9\x8b\x3d\x90\xe7\x00\x4b\x42\xe2\xa3\xb8\x4f\x49\x5f\x1c\x78\x75\x3a\x19\x7a\x7b\xa3\xd6\x73\x50\x9e\x8e\x8f\x1e\x3d\x52\xa0\x97\xd9\xf4\x16\xa6\xa5\x94\xb4\x83\x2e\x5b\x6a\x7d\x0b\xed\xa0\x65\x2a\x3b\xf6\xab\xd6\x69\xb5\x65\xe2\x8f\xef\x2d\xb3\x65\x9e\x7c\x4c\x3e\xee\x9f\x7e\x6f\x59\xeb\xbf\x78\x40\xf6\x22\xe8\xe1\xde\xd8\x81\x87\x4e\x56\x4e\x2d\x3b\xdb\x0d\x48\x6a\xea\x26\xb4\xc9\xae\x10\xdc\xe5\xc7\x56\xcd\x64\xce\xe0\xd5\x05\xaa\x4c\xe2\xe1\x2c\x04\xb9\x41\xc9\xc4\xc4\x27\xc6\x2f\x8d\xb2\x43\x23\x20\x9a\xe5\xfd\xa9\x3f\xc0\x27\x46\xe0\xc3\x31\x31\x9b\xb2\x32\x08\xf5\x76\x49\x75\x3a\x9b\x0e\xa7\xba\xba\x1b\x73\xeb\x12\xf1\x96\xa6\x76\x67\x6e\x6d\x12\xde\x5e\x57\x7d\x73\x6e\x75\x22\x91\xd6\xd4\xde\xba\x3f\xea\x45\x9d\x86\x46\x28\xbc\xdf\xad\x3f\xbf\x2f\x55\xef\x03\x7c\xbb\x9c\x4d\x90\x2a\x0a\x6d\xd4\x5c\x11\xc8\x8b\x45\x80\xf0\x60\xc7\x32\x18\x9b\xfd\x72\x0b\x40\xbb\xca\x2d\x22\xad\xda\xa2\xa1\xa8\xa9\x25\x3e\xb2\xdd\x7c\xa7\xf3\x69\x55\x5a\x59\xa0\x4a\xa7\x05\x9f\xa2\x16\xac\x56\xad\xc5\x94\x08\xfb\xdd\xfa\x4b\x2f\x5b\x26\xeb\x2f\x0b\xf7\xa2\x9c\x0c\x09\x6f\x42\xce\x92\x07\xd7\x5d\xcf\x83\x39\x35\x25\x80\x7e\x02\xda\xfd\x18\xb3\xed\xcd\x46\xf1\x3d\x53\x5e\x35\x57\x32\xdb\xe7\xc2\x3b\x05\xc4\x0d\x10\xc6\x97\x12\xca\x3b\x22\xca\x3b\x3f\x19\xe5\x83\x98\x2c\x01\x8a\x73\x1e\x31\x52\xe2\x55\x10\x01\x35\x72\x07\x31\x5d\x7d\x22\x7a\xaf\xe6\x6e\x35\x18\x5e\xa2\x5b\x73\xbb\x25\xd5\x69\xc8\xe6\xd2\xea\x6f\xe6\x56\xc7\x17\x59\x6d\xf5\xfd\x92\xea\x17\xcc\xd2\x41\xbf\xd5\x1d\xe4\xe4\x3a\x82\x0f\xe5\x53\xcf\xcd\xd3\x96\xc3\x2b\xd9\xfe\x4e\x8c\x67\x07\x4a\xf9\xe9\x7e\xb7\xfe\xbe\x04\x55\x69\x70\x34\xc8\x1e\xff\xde\x97\x61\xdf\x1f\x9c\x6b\xd6\xe1\x89\xf1\x43\xaa\x35\xc2\x9b\x57\x86\xa6\x7f\x8f\x7d\x6c\x8e\x82\xa3\xaa\xa1\x44\x5f\x4d\xe0\x81\x62\x34\x4f\x9c\x53\xb2\x9c\xd2\x5f\x79\xa7\xa6\x79\x82\x7a\x32\xa6\x83\xf2\xf3\x38\x0f\xe2\x99\xd3\x6a\xac\x3d\x6c\x39\x12\x98\xba\x22\x29\xa9\xa4\x10\x67\x99\x38\x29\x09\x7a\xf1\xa5\x7e\x97\x1f\x65\x84\x7f\x91\x3d\x1d\x2f\xd2\xfd\x75\x12\x71\x24\x7d\xa5\xd8\xd5\xda\x61\xc8\xc6\x3b\x29\xec\x21\x34\x5f\x0e\x7d\xdb\x66\x83\x65\x2e\x49\xb8\x9d\x69\x2e\xa5\x4e\x0b\x3d\x95\x16\x58\x0b\xf1\xf9\x26\x58\xd6\x71\xa6\x0e\x9d\x0a\x66\x8f\x74\xe3\x3c\xcb\xab\x1b\x16\x04\xcd\xac\xde\x74\x90\xeb\x81\xb8\x3b\x07\xba\xc5\x1b\xfe\x6c\xdd\x72\xe5\x6e\x85\x3f\x5f\xb7\xa4\x71\x98\xe8\x74\x33\x48\x8c\xa8\x22\xec\x77\xa8\xda\xb8\xbd\x5d\x4b\xa7\x0a\xaa\xba\xa7\xeb\xd1\x2c\x0c\x9b\x6c\x1a\xa2\x6a\xc3\x76\xac\xbb\x14\x12\x2c\x81\xb4\x76\x7b\xdb\x50\x40\x22\xd1\x8f\x8c\xaa\x04\xb0\x6a\x54\x6c\xe1\xd1\x4a\xf1\xd1\x2a\x79\x64\x19\x77\x82\x50\xb2\x4c\x5e\x41\x83\x11\x09\x08\x65\x44\x8d\x3d\xa7\x15\xe7\x88\x1a\x57\xab\x3c\x0e\x14\x6b\x32\xb6\x1d\x02\x24\x79\xba\xe2\x58\x8e\xe7\x25\xeb\x01\x17\x5b\x35\x5d\xfa\x93\xc6\x04\x75\xf0\x11\x8c\x7f\xf2\xd8\x82\x98\x57\xc0\xbf\x79\x5c\x50\xa7\xb9\x4a\x1f\x88\x91\xfe\x9a\x6b\x0c\x06\x8d\x16\xea\x34\x1f\xb1\x4a\x3c\x0e\xa8\xd3\x7c\x9c\x3e\xe1\x91\x40\x9d\xe6\x13\xfa\x2c\x1f\xfb\xaf\xd9\x20\x38\x98\x41\x1a\xa7\x34\x45\xc7\xb5\x9a\x8d\x1c\x42\x6e\xb3\x51\xc4\xc8\x6d\x36\x64\x94\xdc\x66\x23\x8f\x93\xdb\x6c\x14\x91\x72\x9b\x0d\x8c\x15\x89\x0a\x98\x8f\x6d\x4a\x73\x86\x55\x08\x19\xd7\x1c\x8b\x92\xf3\xb1\x15\x14\xe3\x7e\x26\xb5\x15\x27\x2d\xbc\x82\x5b\xc1\xa5\x59\x6a\xc8\xc8\x83\x66\x6c\x59\xaa\x7a\x01\x8f\x97\x65\x8b\x2f\xbd\xc8\x8e\xab\xde\x5a\x9a\xb1\x8c\x7a\xbf\x9b\xbe\x47\x72\x10\x59\xf4\x92\x16\x8c\xcc\xb8\xea\x35\x6c\xff\x19\x97\x5d\xf0\x68\xa7\x6c\xc6\x0c\xe2\x08\x05\xd1\x0c\xb4\x14\xed\xfa\x77\x29\xb2\x4f\x08\xb2\x3a\xd4\x58\xa0\x2e\x81\x10\xab\x98\x00\x85\x78\xa6\x49\x6d\x35\x23\xc0\x2a\x21\xc0\x57\xea\x32\x8a\xfb\xde\x4a\x89\x11\xa9\x2a\x8b\x54\x10\x02\x86\x89\x54\xa0\x02\x3a\x24\xc0\xf2\x3c\xff\x1b\x28\x51\x68\xdb\xbf\x63\xa4\xd0\xa1\x25\x51\x20\x79\xe6\x3d\x71\x96\x97\x93\xa7\xde\x93\x47\xeb\xca\x79\xf0\xc4\xa9\x3e\x6e\x26\xcf\x3c\xd7\xa1\xe5\x5c\xe7\x11\x99\x5b\x0a\x8a\xb9\x8e\x53\x7d\x6c\xdd\x05\x62\xb4\xc0\x22\x3b\x91\x17\x97\xe5\x2f\x64\xe3\xa2\x28\xca\xb2\x78\x9f\x64\x49\x35\x65\x04\x26\xba\xf3\x21\xca\x7b\x64\xaf\x09\xe7\xac\x55\xce\x2f\x38\x91\x91\xad\x96\x87\x62\x3d\xd1\x47\xb4\xc8\x26\x61\x1e\xc1\xaa\xba\xdc\x59\xb4\x84\x8f\x72\x5b\x73\x38\x16\x92\x89\xa9\x65\x54\x61\xd5\xe8\x19\xb2\x2c\xe2\x59\xa4\xe9\xf3\x89\xb1\x1e\xe5\x0e\xaf\xbf\x2c\xf8\x13\x62\xba\xe2\x10\xac\xcf\xe5\xfa\xdc\xc8\xb0\xc8\x46\xb8\x78\x9d\x06\xad\xf3\xf0\x5e\xed\x34\x5a\x6e\xcb\x69\xe1\x31\x6f\xae\x95\x31\x63\xc5\xaa\x6b\x4e\x94\xe3\x4b\xa7\xda\xa1\x59\x9a\x2a\x94\x13\x6a\x8d\x4c\x12\x8f\x50\x2f\x3f\xd7\xeb\xbf\x98\xea\x06\xfd\x17\xda\x56\xbf\x33\xa6\xdf\x69\xd6\xc7\x17\x0d\xb4\xca\x17\xa3\x54\x02\xd9\x72\x88\xbe\xd0\xf5\x3c\x6e\x96\xfa\x4d\xf2\x52\x9d\x20\x86\x9a\xd8\x93\x64\xa4\x8d\xdf\x6d\x13\xae\x45\x24\x09\xdf\xd8\x44\x26\x42\x5e\xa0\x27\xab\xbf\xfb\x66\x70\x6f\xd6\xbe\x9d\x60\x5b\xed\xdd\x45\x3a\xf2\xf0\x77\xda\x82\x5b\xb0\x0e\xe2\x52\x5a\x0a\xa9\x42\xa2\x50\x36\x89\x69\xca\x9d\x38\xc9\xbf\xe8\x26\x39\xd4\xce\x64\xbc\xc7\xe1\xdd\x41\xd0\x92\x39\xa7\xb6\xeb\x58\x35\x97\xc6\x80\x0a\x88\x98\x59\x7c\xef\x8a\xef\x5b\x85\xae\xe4\x9c\x5e\xa0\x1d\x68\xfb\x9b\xca\xfb\x1c\x3b\x77\xa7\x82\xba\xe3\xec\x17\x50\xfd\x3c\x59\x5c\x05\x4e\x5b\x48\x74\x2d\x20\x4d\xc3\xea\xe7\x27\xc6\x33\xa4\xdd\xeb\x2a\xba\x57\xf5\xd9\xbd\x34\xf0\x14\xd8\x4c\x4b\x93\x0b\x4d\xfb\xdf\x5d\xea\xaa\x5c\x69\x6a\x7c\x7f\xa5\x6d\x44\x5d\xa5\x7e\x93\x3f\x67\x97\xe4\x3b\xce\x53\xd7\x2a\xee\x9d\xc1\xc8\xc4\xdb\x27\xcb\x85\x2e\x96\x6e\x30\x6b\x90\xd6\x7c\xed\x6f\x9a\xd7\x83\xc1\x75\x4f\xd9\xf1\x4a\x0c\x97\x8a\x3c\x97\x1e\x00\x71\x65\x90\x78\x8b\xef\x6e\xb4\x74\xb8\xd1\x11\xfb\xab\x76\x1e\x7c\x77\xab\x7f\x75\xa7\x7f\xf5\xeb\xdc\x2b\x29\x86\xe5\x88\xab\x4f\xc5\xa8\x84\xea\x40\x79\xc9\x00\x06\x24\x09\x20\x0f\x90\xb5\xfd\x4a\x88\x0e\x38\x0e\x27\xfe\x74\xc3\x4f\xc0\x27\x31\x2c\x75\x16\xc3\x40\x84\x9f\x0b\x49\x5d\xcc\x15\x9f\x83\xb8\xbc\xbc\x24\xc7\x30\xe7\x2d\x8b\x29\xf3\x48\xf1\x4f\xd4\xce\x47\x7e\x0e\x01\xcb\xfe\x44\x8b\x78\x60\x9d\x05\x48\xf0\x93\x24\x18\x47\xe6\xd7\xbb\x7c\x17\x6c\xc0\x24\x43\xd9\x23\x16\x2b\x5d\x0c\xad\x20\xc0\x5c\x28\x4c\x42\xde\x69\xd4\x6a\x65\x08\x8a\x61\x11\x0c\xcc\xee\xa5\x11\x14\xaa\xc6\xa9\x61\x1b\x63\x21\x4c\x13\x6e\x07\xa4\x39\x4b\x33\x18\x36\xf0\x9e\x09\x38\x51\xed\x77\x29\xf5\xd5\x51\xaa\x68\xf5\x25\x66\x8b\x2f\x0e\xc3\x3d\xc6\x15\xa0\xbd\x0b\x00\x61\x30\x54\x65\x39\xa2\x20\xc0\x1c\x18\xa5\x29\x5e\x72\xd5\xcc\xfc\x24\xcd\x0f\xa9\x25\xe5\x2d\xd0\x77\x51\x46\x5d\x1a\x63\x1b\x28\xf0\x2d\x9e\x18\x13\x7f\x9a\x7c\xf2\x8a\x05\xeb\xec\x1e\x97\x85\xfd\xc4\x25\xd9\x92\x49\x2b\xaa\x9a\x10\x68\x42\xed\xd3\xb4\x21\x5b\x08\x88\xfa\x99\x9f\xec\x5d\x46\x6f\x60\x3c\x05\x10\x5d\x9b\x80\x85\x08\x20\x2f\x4f\xc0\x69\x93\x9a\xb6\xcd\x69\xc9\x1f\x0e\x35\x5b\x01\xed\xa0\xe7\xc9\x7d\x48\x53\x7c\x93\xb7\xea\x15\x96\x16\xe6\xaa\x43\x8e\x52\x66\x73\xac\xc1\x46\x3d\x53\x49\xf5\x25\x6f\x0e\xb1\x65\xcc\xca\xcb\xaa\xa6\x64\xb2\xf0\xbc\xfe\x59\x28\x23\x27\x2a\x92\x33\x60\x33\xf3\x44\x24\x98\x27\xc2\x75\x01\xfa\x09\x3a\xf5\xa0\x1c\x21\x90\x3f\x97\xe7\x35\x09\xa5\xce\x36\x39\x3a\xd2\x26\xb2\xd5\x2b\xcb\x98\x25\x00\x62\x2e\xd1\xa6\x95\xee\x94\x24\x12\x68\x98\x79\x7b\xe9\x4a\x9c\x38\xa7\x9a\x65\x6c\x8c\xa1\x3f\x3d\x0b\x06\x86\xfd\xd5\xf8\xc1\x68\x1a\xbf\xfd\x87\x7f\xcb\xb0\xfd\xa6\xf1\xdb\x7f\xf0\x5f\x19\x76\xbf\x69\xfc\xf6\xef\xfd\xb1\x61\x0f\xf0\xe7\xdf\x36\xec\x21\xfe\xfc\x3b\x86\x0d\xf0\xe7\x7f\x66\xd8\xa3\xa6\xf1\x9b\x7f\x69\xd8\xe3\xa6\xf1\x9b\x7f\x65\xd8\x67\xf8\xe9\x9f\x1a\x76\x80\x3f\xff\x73\xc3\xfe\xdc\x34\x7e\xfb\xf7\xff\x91\x61\x9f\xe3\xcf\xbf\x67\xd8\x21\xfe\xfc\xdb\x86\x3d\xc1\x9f\x7f\xdf\xb0\x23\xfc\xf9\x17\x86\x1d\x37\x8d\xdf\xfe\xdd\xff\xd3\xb0\xa7\xf8\xf3\xdf\x18\xf6\x17\xfc\xfc\xaf\x1b\x36\xc4\xbf\xff\xc2\xb0\x13\xfc\xf9\x6f\x0d\x1b\xe1\xe7\x7f\x62\xd8\x33\xfc\xf9\xa7\x86\x7d\x81\x3f\xff\xdc\xb0\x2f\xf1\xe7\xbf\x30\xec\x2b\xfc\xf9\x9f\x18\xf6\x75\xd3\xf8\xed\x1f\xff\xa9\x61\xdf\xe0\xcf\x7f\x6a\xd8\xc6\x57\xa3\x69\xfc\xbf\x7f\xdd\xb0\x8d\x5b\xdc\xc1\x3f\xfe\x27\x86\x6d\xdc\x19\x4d\xe3\x37\xff\xa3\x61\x1b\xbf\xc6\x5f\xfe\x37\xe3\x4e\x71\x2a\x4b\x14\xac\xb7\x75\x04\xec\xc3\x00\x05\xc9\x19\x26\xe0\x1f\x52\xa8\xf3\x81\x6d\xe8\x80\xcd\x12\x83\xba\x9a\xcf\x1b\xd0\x55\xed\x80\x0e\x67\x68\x20\x62\x63\x1b\xbf\xc4\x5f\xfe\x2f\xc3\x36\x4e\x8c\xa6\xf1\xff\xfc\x6b\xc3\x36\x3e\x7e\xc4\x8f\xfe\xad\x61\x1b\xa7\x46\xd3\xb8\x65\x34\xfa\xcd\x3f\x63\x34\x1a\x71\x0a\xfd\x05\xa7\xd0\x9f\x2f\xd0\xa9\xce\x9c\xa5\x7e\xb2\xa6\xc5\x79\x14\x44\x11\xa3\x21\xc6\xf1\xc7\xbf\xc1\x71\xfc\xf1\x1f\x30\x1c\x7f\xfc\x9b\x86\x6d\xfc\x0a\x7f\xf9\x13\xc3\x26\x33\xf5\xc7\x7f\xce\xd0\xfe\xf1\x4f\x19\xda\x3f\xfe\xaf\x0c\xef\x1f\xff\x29\xc3\xfb\xc7\xbf\x58\x00\xef\x9e\x16\x2b\x08\x22\x05\x29\x7f\xfc\x27\x8c\x94\x78\xee\x33\x34\xff\x8c\xa1\xf9\x9b\x3f\xe3\x48\xfd\x73\x8e\xd4\xff\xc1\x91\xfa\x67\x9c\x98\xff\x6c\x01\xa4\xde\x96\x23\x55\x19\xf8\x91\x3f\x0c\xfc\x08\x63\x27\x21\xf5\xe3\xff\x50\x40\xea\xc7\xff\x99\xd3\xee\x7f\xe1\xb4\xfb\xf3\xf9\x68\xfe\xf8\x6f\x16\x40\x73\x47\xbb\xad\x00\x38\xc9\xb0\x23\x64\xd1\x8d\xec\x9f\xe8\xc7\x91\xcf\xbf\x1f\xff\xf1\x02\xb8\x7c\xd0\xe1\x42\x94\x15\x14\x19\x79\x4d\xfc\x99\x7e\x20\x09\x61\x7e\xe0\x84\xf9\xca\x29\x4c\xd0\xfb\xd7\x05\x52\xfd\x8b\x05\xd0\xdb\x9a\xb7\x3c\x1e\x6a\x97\x47\x14\xc3\x4b\x30\x0e\xfc\xe8\xc1\xd0\xe7\xeb\xe4\x97\x9c\x9a\x84\xac\x7f\x2b\xed\xc0\x3f\xd2\x2f\x98\x3f\xe5\x3d\xf9\x9f\x78\x4f\xfe\xf7\x6f\x5a\x30\xc7\x3a\x3c\x93\x69\x8a\x9e\x86\xd0\xff\x7d\x8a\xe7\x7f\xc9\x57\xcc\xff\xcd\x77\x9f\x7f\xc9\xb1\xfa\x57\x1c\xab\x3f\x9b\x8f\xcc\xc9\xa3\xd3\x39\x74\xad\xbf\xd0\xa2\x7b\x09\x86\x22\x35\xff\xb8\x64\x92\xfe\xce\xb6\x1f\x6a\x8b\xaf\xc5\x30\x48\x12\x4e\x4e\x32\x13\xe5\xb5\xfe\xcf\xcb\xd7\xfa\x27\x36\x47\xe5\x25\x5f\xb2\xcc\xc8\x92\x27\x9a\x0a\xa2\x17\xc1\x9c\x8a\x49\x73\x2a\x3c\xf0\x67\xc3\x20\x7e\xd0\x07\x61\x68\xd8\x06\xfd\x11\x8f\xc7\xad\xbe\x9f\x80\x87\xab\x86\x6d\x1c\x34\x86\xd1\xe1\x65\xbb\xd3\x4e\xff\x6d\x9e\x7d\x79\xb7\xb6\x43\xbe\xee\x3e\xbf\xd8\xfa\xfc\x61\xe3\xc5\xf8\x79\xa3\xbf\xf2\x32\xf0\xdf\xef\xd2\x22\x1f\x3a\x8f\xd2\xe2\x2f\x06\x1b\xf4\x4b\x67\xb5\x7d\xf8\x24\x3a\x76\x77\xdb\xe2\xbf\x55\x3f\x9c\xed\x8f\xb7\xc8\x77\x90\x74\x57\xb6\x3a\x2b\x0f\x0a\xff\x1e\x9f\x6f\x0e\x27\x4f\xae\x3f\x4c\xc2\x9b\x17\x6f\xdb\xed\xf6\xf3\xb3\xe9\x60\x7b\x3c\x3b\x58\x79\x19\x75\xb7\xaf\xa6\x1f\xc2\xe3\x8b\xc1\xe4\xe5\x74\x70\xbd\xf1\xb2\xbb\xd9\xbd\xdc\xdd\x3c\xbf\x7c\x7d\xd3\x5e\xa3\x2d\x6c\x3d\xe7\x75\x77\x0e\x5f\x6e\x1e\x8d\xb7\x68\x67\x36\x9f\xef\x76\x77\xdf\xb5\x9d\x97\x1b\x47\xed\x76\xfb\x6d\xbb\xbd\x31\x7e\xd9\x39\xdf\x3b\x6f\x1c\xbf\xdc\xf1\xdf\x1d\xc6\xfb\x67\x6b\x93\x97\xbd\xee\xfe\xfe\x24\x0c\x77\x0f\x2f\x83\xe3\xe0\x30\x18\x1c\x7e\xf8\xb0\x7a\x79\x75\x75\x76\xf6\xf9\xf3\xe6\x8b\xed\xed\xed\xbd\xdd\xee\x66\xef\xfc\x39\xae\xdd\xee\xb4\x77\xda\x93\xbd\xb8\x7a\xfc\xd2\x4f\x56\xd7\x8e\xaf\xc6\xd1\xe7\x68\x67\xbc\xf7\x2e\xdc\xdb\xdb\x19\x8c\x37\x56\xa7\xbd\xd5\xcd\xf3\x97\x97\x17\x87\x93\x0f\x8d\x87\x13\xb4\x73\x0c\xfb\xc9\xea\xf4\xe5\xdb\xf1\xeb\x77\x6f\x0f\xdb\xed\x76\xb7\xfd\x76\x6b\x7c\x76\xd6\xeb\xed\xef\x77\xb6\x9f\x3f\xdf\xde\xe9\x76\x3f\x7c\xf8\xf0\x21\x1e\x9f\x9d\x5d\x5d\x5d\x5f\x77\xb6\xa3\xe8\x45\x77\x67\xe7\x4b\x30\x1e\x8f\xe3\xeb\xeb\x4e\x67\xf3\x60\xf3\xd5\x74\xfa\xf2\xf5\xde\xde\x6c\x12\xc7\xab\xab\x0f\x1f\x06\x81\xe3\x6c\x75\x5f\xbd\xea\x1f\xec\xef\x9f\x5f\x5e\xb9\x47\xc7\x9f\x21\x74\xb6\xdf\xbf\xbf\xba\xb9\xf9\x1c\x45\xd1\x8b\x37\x7b\x7b\x00\x0c\x06\x8f\x57\x5f\xbe\x3d\x7f\xfd\xae\xfd\xb6\x3d\xc6\x04\x7a\x3b\xfe\x70\x7c\xbc\xb1\xd1\xe9\xe0\x76\x9f\xef\x74\x77\x7c\xff\xc3\x00\xb7\xd1\xdd\x7c\x7b\xfe\xfc\xb0\x8d\x09\x36\x26\xb4\xdc\x78\x71\xde\xeb\xbd\x4c\x7a\x07\xaf\x92\xde\xcd\x6b\x67\xbf\xf7\xe6\x71\x70\xd5\xdb\xba\x79\xdf\xdb\x75\x8e\x0e\x8e\xb6\xdc\x23\xfc\x6f\x78\xe4\xbe\x1f\x4e\xde\xbf\x1f\x46\xf8\xcf\x3d\x9e\x74\x8f\xfa\xb3\x17\xee\xf1\xac\x7b\xd4\x6f\x74\x8f\x86\x4f\x56\x8f\xce\xb6\xbb\xc7\xe9\x5f\xf5\xc5\xca\xe8\xc9\x0a\xfe\x73\xc6\xaf\xb7\xdf\x1e\xb5\x3b\xed\x8d\xf6\x4e\xfb\xf3\xde\x71\xff\xf3\x8e\xdf\x0d\xb6\xbf\xbc\x0a\xf6\xfc\xee\xe6\x59\xd7\x4f\xda\xe3\x8d\x73\x8c\x73\xbb\xd3\x7e\x79\x1e\x74\xa7\xe7\x5f\x5e\xbf\x9c\x4e\x8e\xbf\xc0\xc9\xa4\x8f\x26\x01\x44\x93\x95\x57\x49\x70\xf3\x2a\x19\x5f\x6f\x9d\x7d\xb9\xc4\x43\xbd\x41\x86\x17\xff\xdb\xd9\x98\x4e\xbe\x1c\xab\xff\x26\xc7\xc7\xe1\xe4\xe8\x5e\x7f\x6f\xb7\x3f\x77\x77\xc6\x1b\xed\xf6\x78\xa3\x7d\xb5\xb2\x35\xb8\x5a\xd9\x3a\xef\x1d\x75\xcf\xaf\x56\xba\xc9\xc6\x25\x1d\xd7\x6b\x3c\xf3\xdb\x1b\xed\xc3\xe0\xe6\xf9\xe0\x73\xef\xc5\xe0\xe6\xe0\xc5\xe0\xe6\xe6\xc5\xe0\xe6\xea\xc5\x70\xeb\xe0\x65\xb8\x75\xf3\xfa\xc9\xd6\xe5\x9b\x4e\xdb\x3d\xde\xc0\x68\x8e\xdb\x5d\x8a\xec\x46\x7b\xb7\x77\xf3\x7c\xd0\xbb\x79\x89\xe9\x7c\x18\xac\x1c\x0c\x3e\x1f\xbd\x1f\xdc\xac\xbc\x1f\x38\x2b\xef\x31\x8d\x8f\xee\xf3\xef\xc3\x0b\x3a\x96\x98\x16\x9d\xed\xe1\xf1\xf4\xf8\xcb\xb8\x3d\xbe\x39\xdf\xde\xa2\x34\xa7\xad\x7e\x88\xdf\x9e\x6d\x6e\xb6\xf9\x9c\x7c\xdb\x6e\x77\x83\xb3\xb5\x4e\xc7\x77\x5e\xc2\x9b\x9b\x83\xf3\xbd\xc9\xec\xdd\xf8\x4b\x6f\xbf\xef\x3c\xde\x7e\x79\xf4\x32\x89\x66\xfe\xe4\xc3\x64\x85\xce\xab\xfe\xee\xea\xf1\xea\xda\xd5\xcd\x4d\x10\xed\x4c\x06\xef\xc6\x93\x61\xc7\x1f\x3c\x5e\x7b\xb9\xf9\xf2\x4b\x18\xbf\x8c\xde\x4e\xa2\x37\x7b\xa0\xb7\xd3\xdf\x78\xd8\x98\x3a\xd3\xe9\xcd\xcd\x59\x14\x45\xed\x47\xdb\xdb\xef\xb6\x07\x83\xc7\x6b\x53\x67\x1a\xbf\xf8\x32\x0c\x09\xbc\x77\xc3\x8e\xbf\xf6\x25\x58\x7b\xfe\x12\xdd\xdc\xc4\x93\xc3\xc9\x35\x70\x67\x47\xfb\xfd\xc1\xe3\xd5\xb5\xb5\xb5\x6c\x3e\x7f\x39\x7a\x38\xb8\x49\xb6\xd6\x56\x8f\xaf\x6e\x6e\xe2\xc8\x9f\x34\x66\x6b\x9d\xa3\xc6\x60\xf0\xf8\xd1\xda\xf1\xcb\x9b\xd9\xcd\xdb\xe8\x4c\x98\xf7\xb4\xee\x38\xec\xbc\x75\x3f\x6c\xb4\xc9\xb6\xd3\x3b\x6b\x6c\x7c\xde\x8e\x3e\x74\xc7\xa3\x0f\xab\xdb\x1f\xce\xde\x9e\x4d\x83\xed\x83\x17\xd1\xfe\x9b\xcd\xe9\xde\x78\x77\x30\x9e\x4e\x37\x1e\xbe\xfe\x7c\x7e\xbc\xf3\xe5\xc3\xeb\xb7\x87\x67\xe7\xd1\xf4\xfd\x7e\x87\xed\x1b\xe3\x76\xbb\xb3\xb5\xf5\xfc\x65\xb7\xfb\xe1\xf0\xf0\xf0\x3c\x5d\xbf\xdb\xdb\x78\xfd\xfa\x60\x30\x18\xc7\x5f\xbe\xec\xec\xef\x07\x01\xdc\xd9\x79\xf5\x66\x77\x37\x49\x92\xe4\xf1\xe5\xf5\xf5\xc3\x9b\xcd\x9b\xcf\x10\x26\xbb\xbb\x6f\xdf\x5e\x5e\x5e\xa1\xd7\x2f\x77\x5e\x6d\xbe\x3f\x3a\x9a\xec\xbd\x46\xc0\x07\x83\x87\xab\x6b\xfb\xdb\xb3\x10\x0d\x8f\xfd\x9d\x87\xef\x0e\x0f\xcf\xe3\xe9\x74\xbf\xed\x1c\x6f\xb0\xbd\xa2\xb3\x71\x7e\xbe\xb5\xb5\xbd\xcd\xdb\x9d\x9e\x5d\x5f\x07\x93\x28\xee\x76\x77\xf2\x73\xe9\x71\xe7\xe0\xcd\x56\x6f\xa5\x97\xfb\x7b\xf3\xb8\x77\xd5\xdb\x0a\x8e\x7a\x5b\xc1\xfb\xde\x6e\xe0\x1e\xec\xde\xb8\x47\x47\xcf\x8f\xde\x0f\x27\xee\x71\xb8\xf2\xbe\x8f\x56\x8f\x86\x8d\x17\xef\x47\xee\xca\xca\xc8\x5d\x75\x47\xcf\x57\x8f\xc3\x77\xc7\xc5\xbf\x0e\xdb\x57\x49\x63\x5b\xdd\x6e\xf7\xc3\x5b\x8a\xd3\x71\x2f\xf8\xbc\xf9\xe2\x45\xd4\x7d\xbd\xf7\x76\x3c\xd9\x48\x69\xc6\x66\x78\x6f\x65\xeb\xf0\x6a\x6d\x6b\x70\x7d\xbc\x75\xbe\xff\xa8\x7b\x7e\x30\xec\x26\x37\xa3\xae\x73\xf0\x60\xd7\x71\x7a\xaf\x9f\x1f\x1e\xf4\x5e\x1f\x5e\x1d\x0d\x9d\xde\x91\xeb\x5c\x1d\x87\x87\x37\xc7\x43\xe7\xe6\x28\x74\xdc\xa3\xd0\x7d\x7f\x1c\x36\xfa\xc7\xe1\xbb\x47\xc3\x27\xef\xfa\xc7\x4f\x56\x1e\x0c\xe5\xbf\x27\x43\x97\xed\xcd\xe3\xf6\xdb\xce\xb8\x7b\x33\xd9\xef\x06\x93\xfd\xee\xe7\xc9\xde\xaa\x13\xec\x6f\x74\xf7\xb7\x61\xbb\xdb\x3e\x26\x2b\xad\x33\xde\xe9\x3e\x0a\xf6\xba\xab\x9f\xf7\x8f\xbb\xe7\xef\x8e\xbb\x13\x70\x7c\x1c\x05\xc7\x5f\xa6\x93\xe3\x47\xd3\x2f\x7e\x77\x87\xee\x3d\x64\x49\x6c\xb1\xf3\x6c\xec\x77\xbf\x44\x93\xee\x97\x28\xe8\xc2\x28\xe8\xae\xc6\xc1\xf1\xf1\x34\x38\xfe\xf2\x65\xe6\xbf\x4c\xae\xbf\x3c\x82\xb3\xfb\xfc\x9d\x6f\xc4\xd7\x9d\xb8\xfd\x96\x9c\x03\xc3\xeb\x97\xe4\xef\x68\xff\xe5\xd6\xd1\xf5\xcb\xf6\xa0\xbb\x79\x74\xfe\xbc\xbd\x3b\x26\xe4\xbb\xdc\xdc\x1a\xbc\x75\xbb\xe7\x57\x8f\xba\xc9\xc1\x68\x97\xd1\x6b\xf7\x89\x73\xb0\xfb\xe4\xe8\x7d\xef\xf9\xf3\xcb\xec\x4c\xe1\x07\xf7\xe5\xcb\xf6\xee\xfe\xa3\xad\xc1\xcd\x70\xeb\xfc\xf0\xa8\x8b\xdc\xa3\xae\xeb\x1e\x75\xd1\xd1\xd1\xdb\x27\xf7\xd9\x46\xdc\x83\xde\x6b\xe7\x66\x7f\xc3\x79\xd9\xc1\x63\x89\xc9\xf7\xf9\xed\xdb\x0f\xc7\x67\x1b\x9d\x9d\xc1\x74\xa3\xd3\xff\xec\x7e\xe8\x6c\xbe\x98\xbc\x6c\xbf\x3b\xdb\x7b\xeb\x9f\x5d\x6d\x04\x5b\xd3\xab\xf6\xcd\xe6\xe6\xf9\xeb\x6e\xb4\xff\xf6\xed\xfe\xe0\xc9\xec\x65\x77\xed\xf2\xf2\xe6\x66\xf5\x79\x37\x7e\x7e\xd8\xdb\x1d\xaf\x3a\xe1\xeb\xd5\xd5\xf1\xe6\x60\x67\xf2\x7e\x2b\x0a\xf7\xda\x67\x78\x7d\x6e\xb5\x9f\x6f\xe1\x2e\x5c\x5d\x6f\xbe\xd8\xda\x7e\xf1\x6a\x6f\x7f\x30\x19\xf7\x76\x57\xaf\x3a\xc7\x8d\xc3\xeb\xcd\xf3\x68\x7a\xfc\x66\x7f\x7f\xff\x1c\x85\x67\xe3\x9b\x9d\xfd\x77\x93\xad\xc9\x9b\xcf\xd1\xce\x9b\xfd\xfd\xc1\xe4\x3c\xdc\x38\x7b\x15\x4c\x1b\xe7\x5b\x93\xbd\x97\xf0\x2d\x59\xa8\x2f\xf0\xbc\xeb\x3c\x7c\xf1\xf6\x7c\xe3\x70\xe3\x2d\x5e\x20\xdb\xdd\xdd\xc3\x71\x3c\x3d\x3b\xee\xed\xdf\x04\xd1\xe4\xfc\xf9\xab\x9d\x5d\x70\x38\x38\x3c\x8f\xd7\xa6\x6b\x57\x07\x37\x9f\xcf\xbb\x2f\x3e\x1c\xec\xec\xbe\xf5\x87\xe3\xab\xf6\x74\xda\xbb\x3a\xb8\x09\xa2\x17\x2f\xba\x07\xbb\x6f\xc1\xbb\xc1\xf8\xc9\xc6\x06\x66\x84\xba\xbb\x78\x0a\x6d\xb6\xdf\x06\x63\xe7\x78\xeb\xb0\xbd\xd5\x19\xb4\x57\x5f\xb4\xcf\x6f\xd6\x76\x9d\xfd\xab\xb7\xe1\xfe\xd5\xeb\xe7\x37\x57\xbd\xd0\xbd\x7a\xfd\xda\x5d\x3b\x74\x6e\x0e\xde\xba\x87\x47\xbd\xa3\xeb\xab\xd7\x47\xee\x51\xef\xa8\x71\x75\xfc\xfa\xa8\xff\x21\x3c\xe8\xbd\x7e\x7d\x30\xea\x1d\x1e\xf5\x5e\x3f\x3f\xea\x1d\x1d\x39\x6b\xf8\xf9\x11\xba\xb9\xe9\x85\x8d\xa3\xde\xd1\x4a\xef\xf8\xc8\xed\x1f\x87\x8d\xab\xe3\xea\xd1\xda\xb1\xbb\x72\xf3\xfa\xf5\x3b\xfc\x6c\x48\xca\xb9\xee\xda\xf1\x93\xf7\x4f\x8e\xd1\xfb\xe3\x71\xda\xc6\x41\xaf\x47\xdb\xb8\x39\x3e\x72\x1f\x7d\x70\x0f\xdf\xf7\x8e\x0e\x8f\x8e\xc2\x77\x47\xbd\xa3\x77\xef\x8f\xc3\x77\xa3\xe1\xd1\xd1\x93\xe3\x27\xfb\x57\xb8\xdc\xeb\xd7\x8d\xde\xd1\xd1\x51\xff\xf8\xa8\x31\x3a\x42\x47\xc7\xc7\x4f\x56\xdf\xf7\x8e\xde\x1f\x0d\xc3\xc6\x68\x78\xf4\xae\x77\x5c\x7d\xf7\x04\x3c\x5f\x1d\x1d\x3f\x59\xed\x9d\x91\x76\xdd\x27\xff\x1f\x77\xff\xd9\xdc\x38\x8e\x04\x8c\xe3\x5f\x65\xd7\x2f\xae\xc6\x25\xcf\x30\x2a\xcd\x9c\x6f\x0b\x4c\x62\x14\xc5\x2c\x72\x6b\xeb\x8a\x49\x24\xc5\x9c\x44\x8a\x77\xfb\xdd\xff\x25\xd9\x93\x2c\x7b\x76\xf7\xee\xb9\x7a\x9e\xff\xef\x85\xcb\x24\xd0\x00\xba\x1b\x8d\x0e\x20\x84\x36\x91\x0b\x9c\x1d\x38\x99\xed\x05\x08\x76\x8e\xab\x3c\xcf\xea\xb2\x4e\xea\x3c\x49\xea\xba\xce\xeb\x2e\x47\xeb\xa6\x46\xbc\xb2\x4f\xea\xb2\x6e\x84\x36\x0f\xeb\xa6\x9e\x84\xb6\x9e\x35\x4d\x3e\x35\x17\xb8\xa6\x4e\xea\x36\x39\xd7\x75\x72\x6e\xda\x7a\x5a\xd6\xc9\xd4\x74\x75\x52\xf7\x35\x26\xb4\x0d\xe9\x35\xf5\xa9\xe9\xfa\x95\x38\x9c\xa7\xa6\x2f\xc8\xba\xa9\x17\x4d\xdb\x3f\xc1\xf5\x35\xd6\x8c\x05\xdb\xf4\x47\x62\x55\x25\x85\x58\xd5\xa7\xba\xaf\xf3\x45\x9f\x2f\x9b\xbe\x60\xa5\x2e\x87\xfd\x72\xd1\xd4\xa7\xa4\x11\x87\x86\x12\xda\x1e\x6a\xfa\x64\x06\x07\x1a\xa3\x9a\xfb\x7d\x90\x31\xd8\xd1\x44\x4d\x67\x8d\x22\x87\x60\x3e\xf7\xd6\xb8\x75\xf6\xf4\x1e\x6a\x0e\x27\xc1\x0f\xfb\x05\x7c\x8a\xe6\x13\xba\xf2\x7b\xcf\xe9\x58\x71\xdb\x6f\x96\xb3\x6e\xb6\xf2\x26\x61\x5a\xc7\x32\xb7\xc8\x9c\x79\x8d\x7a\x6e\x5d\x37\x4e\x5f\xd7\xb3\xfe\xec\x25\x27\xaa\x91\x3b\xd2\x30\xcd\xf5\xde\x31\x33\x6c\x0a\x02\x4b\x0d\x7a\x6c\x0a\x65\x6b\x1d\x6e\xcb\xba\xa9\xfb\xa4\x11\x4f\x17\x5c\x8e\xac\x3f\xe6\x2b\xbf\x9f\x80\xbf\x0f\x5a\xf4\x98\x9d\xf6\x85\x27\x74\x24\x86\x1c\xcf\x3b\x9f\x9f\xd0\x93\x37\x16\xec\x52\xee\x77\x68\xe0\xca\x27\x0a\x14\xec\x71\xb8\xc8\x33\x7d\x95\x67\x7a\x55\x81\x52\xa3\x1b\x50\x02\x1c\x28\x60\xc3\x85\xbe\x61\x8c\xa0\x1e\x35\x02\xa6\x19\xb1\xe6\x04\xd5\x90\x14\x3b\xf6\xe1\xb9\x30\xaa\x67\xc3\xa0\xab\x9a\x73\x74\x43\x68\xed\xc8\xe4\xe6\xfc\x99\x3f\xeb\x74\x5a\x95\x82\xa3\x6b\x46\x14\xc6\x95\x49\x08\xee\x62\x63\x20\x19\xdf\xb4\xae\x67\xd8\x3d\x1c\x55\x84\x23\xb8\x1a\x6a\xc0\x59\x55\xd7\xbe\x67\x58\xe5\xa0\xda\x23\x38\xcf\x17\x6a\x3a\xa5\x29\x5f\x79\x8a\xa5\xe5\x69\x77\x19\x63\xbe\x20\x53\x2a\xe5\x85\xca\x55\x0c\x0d\x2e\x3b\xb3\x1d\xf9\xb3\x4b\x1e\xe1\x94\xe1\x6a\x57\xd1\x0c\x38\xaf\xba\xeb\x18\x56\xca\xa4\x9d\x20\x79\xb6\x61\xa1\xf8\x88\xc4\xe3\x65\x8c\x94\xce\x3a\x5e\xf0\x6d\xc3\x40\xe1\x6e\xac\xca\xe3\x98\x10\xe9\x94\x16\x7c\xc1\x4b\xda\x65\x8c\x6c\xcb\xbb\x73\x27\x31\x2e\x63\xe4\xb6\xac\x69\x69\xdd\x65\x0e\xaf\x4d\xfc\x59\xbf\x8e\x61\xcb\xb2\x96\xa6\x55\x57\xf1\x82\x2e\x6c\x0c\x24\xad\x84\xd6\x36\x35\x2b\x1f\x46\xa4\x1a\x35\x8f\xb2\x2e\x74\xf0\x82\xef\x6a\x5a\x3e\x74\x63\x56\x79\xba\x68\x22\x34\x53\x8a\x4f\x74\xe4\x5d\x67\x3a\x8d\x5b\x63\x1b\x83\xae\x1a\xde\x35\x6c\x0d\xae\xc7\x4e\x75\x1a\xef\xc8\xe6\x9b\xb4\xaa\x1a\x57\xd1\x2c\x38\xaf\x46\xd5\xf1\x8e\x09\xb6\xc9\xb3\x6d\xb3\x75\x3d\xcb\xcd\xf1\x71\x1e\x57\x9e\xa7\x63\x56\x5e\x6c\x85\x26\xf0\x0c\xa3\xbc\xd0\x51\x1d\x3d\x0f\x33\xf3\xe2\x74\xe2\x84\x27\x5e\x65\x5b\x3e\x71\x13\x6c\x83\xe4\x42\x57\x3a\xba\xa5\x25\xf5\x98\x39\xbc\xeb\x51\x6c\x8e\x66\xb5\x24\x3b\xba\x66\xa7\x79\x35\x3a\xbc\x76\x24\x2f\x63\x74\x6d\xef\xba\x96\x9b\x0f\xe3\xbc\xaa\xb4\x64\xb9\xcf\xd1\x62\xdb\x6e\x0f\x9e\x61\xd5\xc3\x65\x0c\x5d\x5b\xee\x2d\xab\x90\x77\xfd\xc1\xb4\x00\xa0\x40\x04\x24\xa0\x70\x80\x77\x5c\x4a\x49\x79\x03\x5c\x75\x1e\xbd\xe1\x8c\x76\xce\xbb\x2a\x71\x9e\xa8\xb4\x26\x0d\x51\x92\xb5\xb0\xf2\xd3\x91\x14\xb4\xcc\x9c\x68\x9a\xe3\xbd\xfd\x85\x89\xd5\x18\xd8\x73\x92\xb4\x32\x26\x6d\x6b\xd1\x37\x2d\xf7\x9c\x56\x17\x3e\x88\x0a\x00\xe5\xb3\xce\x23\x52\x94\x1f\x15\x5a\xa0\xcc\x94\x07\xb4\x72\x29\xdb\x70\x17\x81\x03\xb6\x53\xa9\x09\x05\x13\x49\xca\x6c\x24\x85\xab\x0d\xfb\x22\x1f\x95\xaa\x1e\x2f\xf3\xb9\x61\x25\x59\x49\x4a\xc7\x5e\xcd\x09\x81\xcc\x69\x83\x2e\x6b\xc1\x36\x14\x2d\x4d\xb3\x4a\xb9\x38\x08\xa5\x7f\x31\xb2\xde\x96\x34\x2c\xe2\x1c\xc1\x3c\x30\x81\x01\x8c\x4b\x9c\x76\x19\x41\xb2\xed\x28\x60\x94\xb3\x10\x6f\x68\x9d\x2e\x8b\xda\xa6\x15\x2b\xea\xbb\x20\x70\x34\x77\xb1\x67\x26\xa6\xaa\x1b\x4f\xb7\x15\x90\x74\x71\x60\x9f\xb5\xf3\x7e\x83\x30\x55\xde\xf8\x9a\x6d\x25\x2d\x00\xf2\x04\x80\x42\xb5\x03\xcd\x95\xdb\x8d\x92\x01\x1e\xb0\x80\x06\x76\x39\xaa\xc7\xe9\x98\x15\xf4\x46\x94\xe4\x30\xf2\xb7\x20\x1a\xe7\xf1\x99\xa6\x92\x66\x53\x70\x92\xac\x44\x91\x79\xc1\x99\x24\x37\xf4\x44\xa5\x17\x5f\x47\x51\x7a\xdb\x8f\x2f\xf1\x93\xb0\xa1\x68\x9a\xe3\x2a\x47\xd7\x14\x25\x8a\x63\x86\x17\x16\x1a\x49\xd3\x34\x57\x55\x7b\x45\x51\xa2\x24\xce\x18\xee\x62\x32\xea\x2b\x71\x22\xa1\x3a\xac\x4c\xa6\x2e\x71\xb1\x77\x24\x60\xd3\xab\xbd\xd3\x8e\x29\x5b\x3a\xea\x46\xf0\xed\x28\xe3\x79\xed\x82\x13\x4d\x57\x7c\xbd\xe7\x24\x25\x49\xab\xd1\xb4\xe7\xc4\x62\x63\x64\x4c\xd3\x72\xbc\x7e\x91\x6d\x24\x88\x09\xc1\xd5\xb0\x8d\x95\x6e\x85\xc6\x37\x6d\x77\x81\xc7\x55\xe0\x24\x0d\xb5\xdf\x23\x4c\x2d\x75\xa1\xeb\xba\x70\x79\x91\xf7\x66\xf2\x52\x00\xb6\x03\x43\x0c\xe4\x00\xc6\x8e\xd9\x26\xbe\x4d\x6a\x25\xec\x90\x06\x48\x81\x0f\x22\x92\x4c\x99\x8d\x7c\xe1\xb1\x61\x97\xe5\x38\x9f\x8f\x14\x49\x16\x4c\xce\xee\x64\xc1\xb5\xed\x27\x3f\xfa\xe2\xdb\x5d\x7c\x70\x59\x92\x9e\x7d\xeb\xb1\x8a\xaf\x7e\x39\xfb\xd9\xdf\xc6\xbf\xf7\xd5\xbf\xf7\xc1\x53\x00\xc8\x6a\xb8\x98\xcf\x96\x61\x52\x1f\x17\xd4\x92\xbe\xf8\x91\x1c\xa8\x2f\xbe\x2b\xc1\x58\x76\x79\x89\xb5\x23\x8f\x7c\x8e\xb5\x25\xc3\xd6\x9e\xca\xe2\xa3\xf7\xb9\xcc\x77\xed\xcf\x65\xc7\x2f\x65\xf6\x4d\x9c\xfe\xa7\xca\x98\xae\x69\xbc\xbd\x65\xe5\x7d\x77\xf1\xbb\xdd\x05\x8a\x20\x59\xd5\x34\x0a\x01\x4e\x43\xc9\x82\xdd\x8a\xdd\x20\x4f\x33\x46\x9e\x87\x2b\xbf\x68\x80\x03\x40\x1c\xa9\x9c\x95\x65\x59\xb1\x83\x98\xb3\xab\x85\xa0\xd1\x17\xd1\x28\x8d\xad\x20\x6b\x51\x16\x33\x84\x20\x68\xd9\xa4\xa7\x95\x50\xb9\x9a\x61\xa5\xb5\xe3\x23\xbc\x26\x24\x56\x96\x65\x17\x1d\xad\x1b\x56\x5a\x5e\xc7\x24\xce\x56\x86\x64\x7c\x7d\xc1\x43\x8e\x92\xac\xdb\xaa\x57\x3c\x50\x9a\xe1\x04\x77\x6f\x59\x65\xdb\x8d\x19\x21\x68\x35\x8a\xa0\x1b\x41\xda\xda\x8e\x66\xe4\x75\x37\x06\x71\xd2\x50\x9b\x14\xce\xf8\x56\xbc\xd0\xb5\x38\xc7\xd9\xd6\x71\xdd\xe9\x42\x6b\xdb\x09\xde\xde\xb2\xcb\x33\x72\x99\x7f\xcd\xcd\x11\x24\x17\xc4\x6d\xe0\xb8\xe4\x40\x45\x5e\x01\x40\x44\x27\x83\x6f\xbb\x66\x25\xee\x48\x38\x7c\x96\x47\x92\x26\x00\x50\xc9\xa7\x79\x96\x14\x25\x8a\x62\xe3\x22\x0f\x0b\xf2\x2a\xe7\x9c\xa1\x0a\x52\x68\xfb\xc1\xd3\xde\x01\x7d\xa4\xd8\xa2\xe4\x9e\xe0\x62\x1e\x8c\xf3\x78\x84\xe9\xa7\x78\x40\x91\x7b\xff\xf3\x1a\xa1\x8d\xb4\x29\x58\x56\xb9\xc2\x65\x0c\x41\x3e\xaf\x11\xae\xb4\x55\x4d\x4b\xd2\xe0\x02\x27\x5c\xe1\xca\x8a\xbf\xac\xaf\x28\xcf\x32\x86\x17\x04\xd7\x7a\x86\x53\x34\x2d\xc9\xb3\xec\xda\xdf\x73\x6c\xe4\x28\xda\x53\x7f\x57\x38\xc3\xb8\xf0\xdf\x51\x95\x2b\x1c\xc3\x0b\x17\xfc\x9e\xe0\x54\x4d\x8b\xd2\xf8\x3a\x27\xee\x53\x5b\xee\x73\x7f\xd7\xb6\xc6\x65\x0d\x52\xc4\x40\x02\x40\xee\x4a\x5e\xd8\x09\x5c\x3e\xc0\xb8\xcf\x51\xc6\xe6\xc8\x69\x11\x09\x28\x00\x80\x1f\xc4\xf5\xe2\x5c\x58\x67\x92\x62\x0a\x4e\xb3\x34\x5c\x53\xfc\x98\x48\xc4\x98\xd1\x92\x63\xc6\xb6\x96\xc9\x6d\x7c\xc3\x46\x1c\x65\xac\x54\x55\x37\xf2\x53\x59\x6c\x04\xc9\x30\x66\x81\x0d\x97\xe3\xb0\x38\x1b\x66\x5a\x96\xa9\x2d\x6a\x7e\x7d\x46\x82\x76\x20\x2e\xce\x3d\x09\xc0\x40\x93\xf4\x14\x19\x80\x60\x88\x23\x77\xc1\x25\x06\x4a\x05\x04\x72\x18\xb6\x60\xdc\x03\x85\x9e\x13\xdc\x99\x8c\x06\x61\xc4\xd5\x09\xce\x53\x0a\x10\x24\x7d\x06\x67\x35\x61\x22\x89\x8e\xe5\x3a\x72\xf9\x44\x8e\x08\x7b\xbf\xa1\x38\x02\x07\xd2\xd1\x46\xe1\x64\x38\x95\x52\x0b\x98\x7d\x30\x22\x1c\xa7\x44\x04\xb9\xe1\x46\x85\x36\x52\x8e\xa4\x68\x74\x8e\xe3\x11\xb2\xeb\x25\x9a\x97\x53\x2b\xa3\xa2\xa7\x00\x0d\x07\x00\xb0\x11\x00\x69\x04\x47\x5c\x22\xb8\xb2\x8d\xcb\xc7\x61\xa6\xd0\x3c\xad\xa6\xb1\xa0\xd3\xf3\xe7\x7d\x15\x11\x10\x11\x58\x81\x88\x54\x98\x84\x4b\x38\xa7\x5c\x1c\x87\x99\x44\x7d\x01\x03\x4a\xf6\xed\x9e\x1f\x09\x9e\x07\x00\x4f\xb1\x14\x09\xe2\x9d\x83\x06\x3a\x00\x8a\x2d\x0f\xcf\x35\xf2\xa6\xf2\xd2\xf2\x1a\xbe\xe4\xfe\x12\xa7\xd4\xe8\xbc\x3d\x4a\x8b\xb5\x0e\x26\x59\x4f\x97\x78\x50\x88\xbd\x17\x0e\xad\xe7\x46\xb9\x93\x6c\x2b\x3c\x80\x05\xaf\xa5\x47\xcd\x86\x38\x6c\x6f\xe8\x03\x1f\xa5\xa1\x13\x14\x08\x6b\xe3\x53\x79\xc4\x30\xa8\x5e\x53\x4c\x77\xc2\x8c\x04\x81\x8e\xf9\xb8\xcc\x48\xa3\xdb\x75\xc8\x0a\x6a\xed\xc3\x5a\x4a\x23\xd0\x82\x8d\x4a\x04\x58\x24\x6d\x76\x78\x6b\xcc\x6a\x72\x67\x13\xe7\xb5\xd9\x00\xcc\xae\xf9\xb2\xb5\x30\x0b\x85\xc2\x03\x92\xc8\x50\x8f\xf9\xd1\xca\xd9\x40\xf3\xe5\xd1\x98\x55\xbb\xdc\xdb\xd0\xbc\x11\xa5\x87\xc2\xe5\xb0\x35\xe5\xed\xea\x31\x08\x9c\x2a\xf6\x24\x35\x27\xfd\x79\x23\x64\xa9\x21\xa5\xe7\x71\x95\x70\x65\x1f\xcd\x03\xfe\x84\xc8\x36\xbb\x76\xe7\x6b\x7f\x86\x6d\xc2\x53\xed\x2f\x1d\x74\xcf\x04\xd4\x51\x84\x6a\x76\xea\xd4\xc3\xd1\xa2\xad\x91\x87\xdc\x64\x13\x4e\xc7\x32\xee\xd7\x6c\x4b\x3a\x81\x42\x08\x5e\xc2\xc2\x66\x67\x40\x58\xbe\x9a\x67\xd4\x06\xd5\xa1\xd9\x98\x3a\xbe\x5d\xec\x67\xf4\xcc\xad\xa7\x13\x34\xea\x91\x5c\xea\xcc\x66\x36\x2e\xb5\x6d\xad\xe0\xdb\x59\x09\x00\xa1\x8d\xbd\xb9\x1f\x96\x4b\x3e\x98\x7b\x79\xae\xe7\x3d\xef\xa6\xfb\xe5\x1c\x5e\xb3\x2c\x9c\x6e\x6c\xe1\x04\xd4\x5d\x35\x1c\x64\x0d\xec\xce\xda\x0e\xf8\x28\x9d\x16\x21\x35\x10\x28\x3b\x00\xc0\x67\x0a\x65\x0b\xf3\xf9\x6a\xb1\x5d\xae\x37\x3c\x79\x1c\xf1\x59\xb5\x70\x29\x23\x40\x97\x7b\xed\xa4\x9e\xf7\x22\x9f\x72\xe4\xdc\x76\x90\xa3\x78\x9a\x67\x95\x1c\x3b\xfa\x04\xb7\x33\x2a\x2f\x18\x24\x48\xaa\xae\x29\xa4\x85\x41\x45\x9c\x85\x20\xfb\x78\xe5\xb3\x7a\x00\x43\x5a\xee\x45\x32\x08\x46\xff\x6c\x0d\xd2\x25\x16\x6b\x1c\xec\xb0\xd5\x0e\x8e\x37\x09\x89\xdd\x08\xf8\xac\xdb\xd5\x5d\x21\x99\xa2\x1c\x5a\xf2\x06\x4d\xcd\x93\x61\xcf\x2a\x74\xc7\x43\x71\x4a\x66\x73\x97\x51\x65\x5c\x17\x37\xf6\xce\xf1\x39\x03\x3b\xd9\x12\x12\x97\xb1\x86\x1f\x59\x26\x2b\xce\x16\x84\xea\x73\x7e\x99\x6e\x5a\x2d\xde\x5b\xfa\x6a\x0b\xcf\xcd\x19\x46\x42\x9b\x5d\xcd\x23\x4a\x60\x25\xed\x66\x37\xd2\x13\x5b\xef\x39\x8d\xd8\x71\x49\x61\x51\x46\xb7\xe4\x42\xfe\x04\x1d\xe6\x72\x37\x11\x63\xa5\x4f\x8e\xa3\xcc\x48\x9b\x8e\xd9\xfd\xa1\xde\xe0\x2e\x20\x94\x2c\x59\xa2\x1b\x3e\xde\xe2\x25\x7f\x9a\xc5\x7b\x1f\x54\x80\xbf\x78\xdf\xd6\x6a\x83\x36\x2e\xd8\xe3\x5b\xc3\x07\x44\x61\x76\xcb\x25\x39\x39\x80\x98\x89\x2d\xeb\x9b\xe1\x4c\xc1\xe3\x99\x42\x20\x43\x0c\x39\x0d\xaf\xef\x46\x8d\x08\xb8\x55\x1e\xe9\x21\x08\xf4\x56\x91\x4b\xc6\xa0\x8b\x68\x4d\xb0\xbe\xb9\x8b\x47\x4d\x55\xed\x54\xb0\x1c\x7e\x2f\x33\xf6\x6e\x61\xe2\x80\x6e\x92\x8a\x2f\xe9\xe3\x3e\x02\xe8\xc0\xab\x0e\xab\xd1\x63\xce\x53\xf9\x8a\x81\xc1\x22\xa2\xf7\x6d\x34\x77\x71\xa7\x05\x22\xd7\x35\x12\xb1\x9c\x1d\xe2\xa5\x21\x88\x27\xdb\xd2\x82\xae\xa5\x06\xe6\x80\xe4\x93\x3d\x69\x08\xb3\x42\xb7\x48\x8c\xca\xe7\x0e\x0d\x97\x0b\x02\x51\x02\x0d\xd6\x40\xab\x24\x91\xb8\x93\xe4\x88\xd7\xd6\xbc\x4a\x2e\x63\x66\x0f\x16\xa9\xd1\x8a\xcc\x56\xa0\xe6\x3e\x98\xfb\xba\x7a\x8a\xb4\x7a\xe7\x63\x4c\xb6\x5e\x8f\x16\xa6\xe8\x09\x24\xb1\xea\x8a\xa2\xf3\x85\x55\x9c\x5c\x53\x01\xfa\xa0\xd6\xaa\x70\x3c\x0f\xca\x9a\x68\x9a\xb8\x8f\x54\x14\x08\x7a\xbb\x53\x42\xc5\x4f\x1b\x20\x47\x94\x1c\x7b\x3a\xad\x9d\x9b\xbd\x32\x87\xc9\x74\x5b\xed\x83\xce\x3a\x5a\x4b\x0b\x85\x30\xe3\x18\xee\x31\x63\x3d\x8f\xb8\xc0\xcd\x0e\x2a\x28\x41\x5e\x1b\x74\x32\x54\x73\x2c\x26\x03\x9f\x1c\xb2\x08\x5f\x1e\x7c\xef\x30\x65\xb9\x22\x81\xc8\x25\xd2\x78\xe9\xcf\x0e\x3e\x15\x31\xb3\xe4\x30\x50\xfb\xc3\x14\x46\xe2\xce\x17\x6d\xbe\x05\x80\x57\x40\xa3\xef\x8f\x45\x0c\xf5\xfb\xcd\x19\x3b\x21\x6c\x8a\x55\xe6\x02\xc2\xba\x79\xd3\x5b\x2b\xe4\xb0\xa8\x9a\x83\x27\xa1\x0a\x66\x6d\xcd\xf3\x7a\x45\x0c\x46\xe7\x91\x43\xcc\xc4\xc0\xea\x77\xe1\x69\x21\x87\x10\xee\xb8\x8c\x62\xf8\x91\xd0\x98\x2d\x1e\x84\x87\x29\x46\x74\x40\x01\x84\xa2\xe3\xb9\x87\x99\x19\xe5\xd2\xe4\x30\xf7\x66\xde\xee\x90\x0a\x65\x8b\x75\x1c\xe8\x43\xec\xc4\x3b\x72\x12\x63\x91\x8b\x65\x0b\x19\xdb\x69\x07\x2e\x6d\xc4\x13\xbc\x03\xda\x6a\xb1\xdb\x05\xe2\x32\x5a\x95\x3e\x2a\x74\xe1\x96\x11\x84\x49\x50\xc3\x58\x3e\xa1\x11\x5f\x32\x22\xb1\xdb\xe7\xee\xfe\xb4\x23\x14\x4e\x8c\xf8\xb2\x80\x3d\xcf\x22\xda\xa9\xb1\x1d\xdb\x1e\xe8\xe5\x31\x43\x8f\xb3\x93\x1e\x18\x4b\xb3\x4a\x51\x44\x4c\x0c\x58\x71\x8f\xbb\xf4\x3c\x00\xc0\xd6\x9e\x41\xc2\x90\xdd\xda\x72\xe0\xe1\xe1\x82\x90\xab\x25\x0d\xfb\x64\x02\xe3\xa0\x84\xf4\x88\x5a\x39\x26\x90\x92\x60\x11\x43\x60\xc5\x85\xc4\x36\xad\x16\xd0\xd8\x02\x40\x3a\xb4\x48\xdb\x5c\x3a\x3b\x9f\xb8\x85\x32\x21\xdb\xed\x22\xe3\x0e\x1d\x01\x2d\x38\xc9\x3a\x5a\xfc\x56\xae\x77\xba\x14\x06\x20\x3f\xbb\xc7\x05\xdd\xc2\x0a\x91\x66\x7c\x95\x68\x96\xc5\x16\x0a\x4a\x96\xb6\xb7\xb1\x40\xde\xcd\xe0\x48\x54\x08\x46\x20\x89\xa2\x42\x15\xc3\x50\x1c\x08\xe9\xe2\xce\xa1\x08\xde\xa8\x18\xcb\x5e\xa1\x13\x86\x97\x7e\xd9\x10\x0b\xb4\xdc\x2f\x6b\x62\x7e\x86\xcb\x1d\x38\x41\x87\x72\x64\xd1\xf9\x60\xe6\x11\xc7\x1e\xd0\x91\x91\x9b\x55\x16\x3a\x3e\x51\x23\xc2\x88\x39\x27\xb2\x5e\x13\x91\xbb\xc0\xd6\x60\xec\xd9\x7e\xb7\x15\xa1\x25\x62\x93\x0c\x4e\x9f\x07\xbe\xaa\x59\x06\xec\x17\x7b\x06\x6e\x8f\xa6\xd7\x83\x6d\x71\x3a\x05\xa2\xdf\xf4\x07\x7b\x90\x25\x28\xa1\xdc\x45\x02\xf0\xc5\x0a\xd8\x00\x10\x8b\x7c\x4b\x48\x7b\x3f\xd2\xa9\x15\xab\xa9\x35\x8f\x9f\x86\x15\x79\x04\x19\x49\xef\x00\x09\xb4\x6c\x0f\x81\xdd\xb0\x93\x79\x21\x5b\x8f\x17\x9b\xb6\xcb\x8b\xf0\x84\x86\x56\x85\x61\xfb\xe8\x3c\x60\xd4\xe9\x30\x2d\xf2\xf3\x26\xc5\xca\xf3\x6e\x65\xeb\x42\x4b\xca\xa7\x09\x44\x40\x54\x12\xb8\x44\xfc\xc5\x76\x6a\x51\x19\xdd\x45\x68\x8c\x03\x92\xe3\x41\x04\x36\x3b\xd8\xdd\x16\xf3\x11\x26\xa8\xc8\x3c\xb0\xcb\x1e\xd5\xbb\xf3\x81\xf2\x55\xae\xb7\xc1\x59\x89\x09\x06\xca\x4e\x9a\x0a\xba\x2e\x02\x0b\x7d\xe7\x59\x0e\x58\x47\xae\xd1\x38\x16\x30\x68\x00\x66\xd4\x88\x2f\x15\x0c\x6a\x56\x4b\x76\x34\x8c\xda\xc9\x09\x98\xc8\x8d\x5e\xca\xca\x23\x73\x64\x3b\x24\xa2\xfa\xa2\x38\xf5\xfb\x95\xc4\xe5\xed\x51\xab\xe7\x56\x3a\x69\xd3\x46\x5b\xa0\x32\xcd\x65\x72\x7f\xb0\xac\x70\x1a\xad\xea\xb4\x60\x88\x88\x8a\x78\x33\xeb\x0e\x7b\xc6\xee\xb6\x00\x14\xb5\x01\x8f\x4a\x49\xc1\xb6\x98\xec\xcb\xb9\xcf\xcc\x15\x13\x27\x0b\x1b\xe9\x08\x11\xa4\x0e\x29\x03\x02\xc4\x5e\x0a\x01\x69\x06\x81\x41\x23\xc9\x20\xb3\x00\x00\x92\xcf\x1c\xb5\x65\x39\x78\xab\x8d\x49\x4d\xa7\x90\x4a\x9c\xd3\x54\x78\x1d\xda\x31\xb8\x27\xce\xcb\x60\x8b\xd8\x42\xb6\x5a\xe9\x80\x06\x04\xe9\x9c\xfa\x43\xbd\xb6\x49\x9d\xe8\xa4\xc1\x04\x8a\x41\x83\x61\xd3\x6d\xb3\x6e\xd2\x5c\xf6\x04\x28\x9b\xc4\xf4\x51\x34\x8f\x75\xa2\x82\x99\xec\x00\x29\x9e\xfc\x9a\x8e\x54\x1f\xc8\x43\x49\x46\xa7\x40\x1f\x5b\x9d\x15\x15\x9a\x59\xcc\x4a\xd9\x43\x67\x3b\xc0\xad\xfc\x64\xa7\xf8\xfb\x68\x59\xc9\xf6\x4c\x3c\x8e\x8a\x76\x42\x0f\xc7\x9c\xe9\x8f\x18\x1e\x6d\x86\x09\x43\x60\xc8\xdb\x08\x8b\x09\x1b\x23\x7d\xb5\x5a\x86\x65\x6e\x19\x22\xed\x52\x01\x8c\x0f\x6c\xd8\xd9\x63\x70\xf4\x23\x13\xd5\xc6\x93\x36\x14\xb0\x59\x3a\x7b\x5e\xad\x53\x95\x9c\x03\x4d\x81\xf2\xde\x2c\x81\xd1\xee\x97\x20\x02\x8a\x44\x6c\x5d\x73\x00\x20\x03\x84\x3a\xea\x10\xb2\xcb\x0f\xb5\x58\x6b\xea\x96\xf2\xe2\xbd\x07\x2f\xbd\xb0\xa9\x08\xcc\x5b\xe3\xc7\xaa\xb7\x68\xe7\x48\x90\x14\x2a\xfb\xc1\x9e\xa9\x48\x81\x8e\x48\xea\xe0\x33\x3b\x69\x58\x01\x00\x28\x63\xd0\xf1\xac\x30\xf2\x39\x9c\xe5\x43\x53\x49\x52\xbc\x53\x38\xe1\xb8\xe8\x61\x7a\x75\x68\xd0\xd3\x86\x28\x22\x69\x1b\x70\x59\xe3\xb4\x49\x74\x74\xe3\xec\xd8\x07\x0b\xc0\x98\xd1\xac\x9b\xf6\x83\x51\xec\x45\x4c\xe7\xc5\xca\x3d\xba\x96\x00\x70\xf3\xfa\xe5\x35\x61\x0e\x35\x1f\x09\xc0\x81\x57\xfb\xa6\xd3\xb0\x60\xec\x94\xad\xed\x57\xbb\x93\x4d\x6f\x56\x64\x76\x6a\x14\x95\x8f\x88\xb0\x8a\x87\x62\x6b\xf1\xc7\x6e\x53\xe7\xd5\xc2\xa4\x77\xda\x89\x08\x97\x34\x91\x18\x58\x1d\xf1\x9e\x02\x06\x0a\x17\xc3\x95\x08\x24\x4a\x8a\x59\x6f\x0b\x00\xc8\x22\x61\xd6\x31\xed\x5c\x9e\xd9\x67\xde\x5f\x9f\xc9\x82\x77\xb1\x66\x14\x77\x7d\xb6\x29\xc6\xa1\xdd\x9b\x6b\xa6\x4d\xd1\x14\xdf\x25\x2d\x09\x58\x72\xc5\xa4\x83\xb7\xa1\xd7\x11\x7f\xdd\x17\x28\xce\x69\x7b\x84\xc9\x80\x91\x1c\x51\x8c\xca\x69\x25\xcd\x98\x71\x4a\x06\x9b\x88\xb8\x71\x36\xb1\x09\x49\x00\x01\x64\x84\xb0\xad\x18\xa4\x95\xd7\x7c\x65\xfa\x67\x3a\x59\xbb\x0d\x32\xb7\x33\x36\x6a\xfa\x6e\x7e\xd8\xf1\x45\x1a\xf0\x8b\x13\x3d\x38\xbb\x33\x60\x15\x82\xa3\x29\xa3\xc9\x24\x9f\x00\x20\x40\x05\xa0\xc1\x4a\x3d\xe3\x07\xb5\xa5\x71\xc0\x3b\x9d\x54\x00\x6a\xb1\x29\x64\x7b\xb0\x33\x99\x73\x4e\xdd\x64\x6c\x83\x63\x13\x12\xcb\x43\x22\xa5\x16\x07\x93\x39\x41\x2c\x00\x07\x04\x1f\x5b\x81\x75\xd9\xd2\x4c\xa6\x6b\x1b\x9a\x24\x66\xbe\x17\xaa\x14\x09\xbb\x6a\x25\xb2\xf5\x76\x57\x65\xbe\x00\x2d\x17\xe2\x58\xa0\x4d\x95\xd7\xe7\x7d\x6b\xf3\x96\x9a\x40\x8c\x72\xfd\x7e\xa8\xa4\x6b\x89\x04\x72\xe2\x35\x0a\xa1\x00\x8a\xa4\xda\xba\x2a\xcb\x5d\xdf\x05\x33\x78\x4e\x86\xeb\x68\x91\xd0\x41\x62\xef\x23\x33\x57\x00\x87\xcf\xf0\xa1\x4d\x69\x82\x4e\x88\xac\xdc\x2a\x0b\x21\x81\x21\x41\x57\x60\xe5\x68\x1d\x8e\xe3\x94\xcc\x40\xd8\xef\x85\x52\x3a\xd2\xe6\x41\x91\x9d\xa9\x81\xcf\x6b\x1c\xa9\xc5\x48\x42\x01\x3d\x9e\x3c\x47\xae\xfd\xd1\x59\xf0\x8b\xb4\xc9\x9a\x23\x7e\x46\x8f\x6b\x10\x44\x02\x35\x2e\x36\x05\xdf\x9a\x62\xec\xf9\x38\xda\xd7\xf3\x15\x3e\x2b\x7b\x2d\xd8\x12\x55\x49\x26\xa4\xc9\x36\xd3\xcc\x9a\x0c\x00\x51\x54\x47\xad\x80\x1e\x01\x2c\x86\x33\x89\x04\x60\xf2\x99\xd3\x4c\x9b\x1d\x34\x6d\x9b\x86\xb6\x95\xe9\x95\x87\xe1\xf9\x01\x55\x0f\x79\x5d\xf3\xa1\x14\xa6\x59\xcc\x82\x43\xbf\x34\x4b\x40\x03\x32\x02\xa0\x12\xd4\xb4\x13\x67\x42\xaa\x50\x96\x34\xd8\xa4\x71\xfd\xa6\x4f\x0a\x6d\xb5\x82\xc7\xb8\x5a\x23\xc6\xb1\x56\x88\x01\x1b\xf1\xb9\x1f\x76\x75\x7a\x54\xe8\x73\x8f\x6d\xd6\xc4\x62\x3b\x53\x17\x73\xd8\xa8\x57\xb2\x99\x44\xcb\x41\xce\x17\x56\x5f\xc0\xa1\x8b\x67\x02\xb5\x2b\x5d\x8f\x6f\x17\xae\x58\x47\x5e\xbc\x9b\xaa\x13\x2e\xa8\x78\x22\x53\x49\x36\xac\x56\x4e\x65\x2f\x6b\x84\x93\x25\xdf\x03\x1a\x90\x81\xd9\xe5\x3e\x59\x94\x9e\xdf\xa4\x1b\x5c\xd8\x68\x4b\xc8\x29\xda\xd4\xb4\xd4\x2d\xb3\xe6\x61\xd5\x60\x05\xb9\x20\xce\xe7\xb5\x05\x56\xd4\x69\x21\x5e\xa2\x16\x55\x22\x15\x03\xe0\x9b\x26\xe9\x0e\xa6\x84\x66\xbe\x73\x60\x31\x05\xd3\xa1\x93\x83\x2f\x79\xd4\x66\x63\x3f\x27\xdc\xe9\x78\x08\xce\xbd\x89\xce\x23\x11\x4c\x8d\x0f\xfb\xc3\xf3\xe9\x85\x78\xb1\x0b\x2e\xcf\x9b\xb3\x75\x64\x2c\xfc\xac\xf9\x47\xd7\x72\xd1\x7c\xe3\x97\x07\x76\xb4\xc6\x70\x10\x80\x18\x65\x16\x51\x89\xc6\x69\x18\xd2\x99\x21\xc7\xf3\x70\xbb\x39\x1b\x72\x8b\x40\x34\x33\xab\x9c\x66\xd6\x07\x73\x79\x2a\x37\x83\x1d\x00\x40\x44\x68\x35\x47\xc5\x44\x8b\x80\x0d\x39\x66\x26\xe7\x49\x46\x47\x6c\xb1\xd8\x60\xb2\x3f\xd8\xc7\x89\x5b\x9e\xe4\x23\xd2\x2d\xc6\x76\xc4\x35\x2c\x23\xec\xf5\x82\x36\x14\x82\x59\x00\x8e\x00\xf9\xce\x66\xf1\x5d\xb9\xb1\xc9\x92\x07\x80\xb2\xc2\x99\xec\xf0\x4e\xb2\x84\xc6\xe5\x02\x3a\xb3\x4b\x71\x3a\xac\xa5\xf9\x7e\x52\x85\x82\xd9\xe5\xa7\x50\x6a\x93\x4c\x61\x07\xf3\xf9\x9b\x37\x26\x2a\xd4\x6a\x47\x5e\x42\x2e\x2a\x72\x61\xa5\x3f\x12\xe2\x79\x98\x42\x1e\x77\x17\x0e\x44\xab\x26\x01\x8c\x0c\xd0\x54\x7d\x2a\xa5\x25\xa1\x10\xa0\x07\x51\x3f\x31\x35\x27\x76\xf9\x91\xc5\x84\x00\x1f\x0e\x42\xe9\x15\x72\x0c\xb0\x69\x35\xaf\xad\x52\xdd\xe5\xeb\x78\x28\x65\xb6\xa4\x00\xc8\x48\x6f\xa0\x00\x98\x2f\x18\x16\xf4\xfb\x43\xc6\x96\xd8\x21\x44\xbb\x6e\xb3\xde\x1b\x54\x08\xd6\x76\x6e\x93\x84\x02\x97\xbb\x06\x42\x14\x72\xc5\x9d\x7a\xf2\xc2\xdb\xca\x33\x80\x42\x0a\x28\x2a\xe5\x34\x26\x2f\x57\x26\xf0\x58\x45\x5f\xef\xb8\xdd\xb6\xd4\xd7\xd3\xd6\xc7\x32\x54\x0e\x97\x3a\x30\x45\xb0\x25\xfa\x83\xbe\x92\xae\x9f\xf1\x37\x93\x8e\xef\xb4\xd5\xe5\xb9\xa4\xc5\x0d\xeb\xa1\xbd\x4b\x0e\x03\x7d\x42\x68\x2b\x66\x9a\xc4\x48\x3d\xe0\x02\x07\x5d\x42\x07\xd3\x29\x74\x67\xef\x59\x13\x46\x0c\x56\x75\x34\x5c\xc9\x11\xd4\xe3\x32\x70\x60\x1e\x82\x22\x23\xd4\x83\xca\xa4\x07\x00\x1c\x99\x69\xb7\xa3\x00\x8e\x8a\x16\x81\x19\x20\x76\xa5\xbd\xe2\x8f\xf3\x33\x3a\x1c\xc3\x15\x72\x6c\xf7\x3e\x84\xe8\xb2\x62\xe9\x94\xed\x10\x39\x48\xb7\x54\x52\x9b\x43\x0f\xd0\x2d\xbf\xbe\xe0\x41\x13\x02\xe8\xd6\x66\xd3\x1e\x5a\x08\xdd\x22\x6b\x49\x5e\x23\xda\xba\x09\x56\x34\xab\x3b\x6c\x31\x91\x73\xc9\xce\x0f\x0a\x0d\xc8\x33\xc4\x10\xfe\x65\x1e\xc0\xdc\xc7\xa3\x04\x9f\x56\x2a\xd8\xb6\x50\xbe\x60\xb6\x7b\xb3\x5c\x53\x26\xbe\xe0\x37\x08\x41\x50\x7d\x5a\x67\x03\x64\xba\xf3\xcd\x52\xf1\xfa\x8d\xa9\x71\x33\xd4\x75\xdc\x52\xdc\xf3\x4d\x60\x1e\xd1\x29\x23\xd7\xce\x5c\xa1\x01\xcd\x4c\xd0\x5c\x99\x22\xd3\x79\x12\x5e\xa8\xdc\xfb\xe3\x99\x5c\x58\x07\xbd\x9f\xc1\x6b\x33\x84\xfc\xe5\x62\xc1\xe3\xa6\x0e\x36\x06\x93\x83\x39\x32\x33\xc1\x56\x48\x20\x65\x57\xee\x06\x3b\xb2\x41\x0a\x96\xc8\x5c\x66\x71\x0d\x6e\xe7\x02\xc5\x9e\x8e\xeb\xb5\x24\xd5\x2b\x7d\xc7\xf8\x58\x53\x0a\x4e\xb1\x91\x4b\x1d\xf1\x72\x2e\x36\x23\x7f\xb9\x07\xd2\xd3\x79\x1e\x09\x58\x88\xe9\x29\x03\x16\xb9\xd5\x24\x57\x7c\x30\x13\x02\xf4\xe0\xe3\x89\x26\x2f\xd0\x03\x7f\x5a\xcf\xf2\xf2\xd4\x27\xc8\x60\x6c\x77\xe0\x08\xcf\xd7\x5b\x4c\x36\xc7\x29\xc5\x23\x73\x89\xed\x72\x7a\xc5\x70\x00\x65\xe6\xb9\x5a\x63\x4b\xfa\xe4\x2f\x17\x27\x71\x7f\x60\xf0\x86\x9a\x1b\x3c\x0f\x06\x7c\x11\x5b\x0b\xd1\x21\xbd\x79\xbb\x15\x83\x71\x96\x4e\x17\xfd\x45\xcc\xe2\xc3\x79\x3d\x9f\xad\x17\x73\x87\x14\x77\x4b\x02\x83\xcc\x4c\x67\xc9\x13\x45\x0b\x9d\x12\xeb\x39\x2e\x24\x64\x04\x68\xe0\x35\x07\xcf\xd2\x77\x6d\x7b\x41\x75\x5f\x85\x21\xd2\x99\x4d\x39\xd9\x76\x81\x23\x03\x85\xb8\xa1\xdd\xa5\xc2\xa1\x1d\xb6\x73\x48\xdb\xef\x64\x98\xa7\x8a\x58\x86\xf0\xcc\x35\xca\xa6\x3b\x41\x2d\x8e\xa0\x87\xb3\x17\x42\x85\xbc\x0d\x0a\xbf\x24\xd9\x82\x30\xb3\xa4\x87\x49\x65\x43\x58\xd9\xce\x86\xe6\xc2\x50\xe6\xa8\x08\xa5\x4d\xbf\x93\x16\xca\xb2\x9c\xf0\xee\x44\x29\xe7\x99\xe7\x60\xec\x24\x27\xb3\x68\xcb\x02\x9c\x72\xe8\x08\x3c\xde\xbd\x75\xf8\x2a\xc9\xdd\x28\x6c\xa1\xc4\x2f\x8b\xf7\xeb\xc5\xdd\xc3\xdd\xb5\x00\xaa\x8a\x6f\x0e\x60\x25\x26\x21\xab\x03\x2c\x6c\xa2\xf2\x42\xcb\x56\x33\x62\xda\x88\x2e\x0b\xe1\x7a\x48\x24\x22\x2f\x0e\x2e\xa0\x92\x9c\xf5\xf1\x6b\xc9\x26\x20\xf4\x8b\x07\x29\x6e\x76\x24\x34\xc6\xd7\x83\x00\x80\x99\x8c\x34\x20\x81\xb0\x94\x59\x39\xbd\x14\x44\x36\x1c\x6b\xba\x02\x40\x98\xd8\x00\x70\x24\x0d\x00\xb5\xb8\x56\xc8\x11\x00\xac\x31\x00\x40\xd5\x97\x9e\xe5\x2a\x02\x80\x08\x86\x42\xac\xd4\xdd\x75\xe6\x9d\x44\x83\x03\x1a\xec\x56\x00\x1a\x28\xa8\x14\xd1\x22\xbd\xca\x5e\x36\x68\x4c\x36\x01\x00\x7a\x6e\x00\x40\x4c\x24\x22\x14\x0c\x28\x88\x00\x60\x84\x98\x57\x69\xc6\x08\xb7\x4d\xb7\xdf\x67\xed\x5e\x0a\xe6\x10\x06\x4f\xab\x05\xbe\xee\xa9\x89\xce\x47\x95\x49\x3c\xae\x95\xf7\xce\xca\xe4\x0a\x9d\x67\x6c\xcd\xc2\x5c\xbf\xa3\x11\xbf\xb3\x52\xbf\xa3\x99\x05\x07\x9b\x2a\x43\x5b\xa0\x4c\x62\xa5\x04\x47\x85\xc9\x13\xa2\x8c\x2c\x97\xa3\x01\xc5\x90\xb9\xb2\x4f\xb3\xae\x84\x71\x5d\x86\x8b\xc0\xe2\x70\x6f\x74\xdc\xcc\x62\xf9\xa4\xd0\xed\x2e\x55\x79\x26\xf5\xbb\x29\x5b\x4f\xc1\x7a\xb9\x9c\xad\x7c\x7c\x3d\x33\x8e\x7d\x52\x79\x24\x85\x9c\x67\xeb\x99\x1b\x2e\xe7\xa7\x53\xce\x67\x27\x2c\x92\x51\x5b\xed\xbf\xfe\x19\x3d\xe8\x9a\x92\xd8\x62\xc5\x21\x14\x5a\x57\xdb\x5b\x7d\xe3\x36\x27\xf5\x64\x34\x7a\x91\xf9\xbe\x09\xcd\x5d\x2c\xa3\xd4\x50\x15\x98\xc0\xc7\x1d\x77\x51\x4c\x27\x0b\xf5\x96\x32\x57\x0d\x4e\xbc\xdc\x62\xcb\x84\xb5\x93\xdd\xd4\x9d\x4f\x67\x3c\xa9\x01\x0c\xeb\x45\x04\x59\x7b\x16\x39\x60\x1b\xa5\x65\xd2\x04\x56\xbc\x69\xe6\x03\x13\x41\x8f\xa1\x9a\xea\xc3\x60\x04\xe8\xf9\xd0\x9a\xdc\x6a\x2d\x1f\x3d\xb1\x19\x8a\x92\xe7\xc4\x61\x45\x97\x40\xe6\x00\x13\x89\x03\xa5\x93\xa3\x0f\x78\x82\xe6\xb9\x84\x03\x51\x99\x70\x24\xe0\x22\x2e\xe2\x08\x7e\x53\x05\x3b\x95\x54\x6b\xac\xdd\x91\x04\xe0\x41\x92\xac\x94\x08\xa4\xd0\x8e\x63\x52\x8d\x20\x94\x53\x8c\x29\x6a\xaa\xec\x3b\x9a\x24\x84\x6a\x64\xd7\x5e\x33\x8f\xa5\x24\x8d\xfd\x08\x57\x4c\x3c\xb0\xd3\x08\xa8\x0c\xa1\xa5\x79\x66\xe4\x45\xb5\x14\x73\x71\xbf\x6a\xb2\x55\xbd\x9e\xcb\x3b\x81\x87\x29\x85\x4c\x77\xa1\x4e\xfb\x4a\x03\x28\x64\xb9\x9e\x2d\x67\x4b\xb1\xdd\x61\xa7\x8e\x1f\xd6\x00\x71\x4e\xde\xc0\x1c\x14\x09\x6a\x10\x08\x9c\xa9\x05\x2e\x88\xc4\x69\xce\xb3\x9c\xcb\x0d\x5c\xc5\xcd\x37\x9c\x17\x9e\x82\x15\xda\xc0\x1c\x26\x4b\xc7\x13\x7f\x90\xcb\xf9\xe1\x40\xd6\x03\x42\xc7\x9c\x9a\x29\x4a\x82\xb9\xd8\xb2\x82\xdd\xee\xa0\x9b\x04\x8a\xee\x62\xae\x67\xbb\xf5\xbc\x2b\x0a\xa2\x59\xce\x27\x76\x0b\x81\x0d\xd0\x4a\xfb\x78\x1e\x4d\x53\x27\x65\x72\x77\x90\xad\xed\xba\xdd\x1c\xfa\x70\x16\x1c\x20\x11\x6f\xb0\x69\x25\x69\x1b\x43\x3e\x61\xae\x65\x53\x5c\x8d\x63\x04\xbd\xdf\xd3\x8a\xba\x23\x15\x61\x5e\x33\x59\xc8\x48\x41\xd0\xcb\x83\x64\x62\x96\x60\x10\x7b\xc6\x3c\x9b\xfb\xb8\xcb\xb1\x63\x73\xec\x4e\x03\x82\x9d\x7a\x11\xe9\x77\xfb\x0d\x00\x46\x14\xa7\x9b\x4c\xdc\xed\xf9\xb5\x73\x72\x26\x71\x89\xad\xca\x69\xc5\xb6\x72\xcc\x30\x68\x8f\xb9\x2c\x4c\xaf\x78\xfa\x04\xac\x38\x9c\x15\xe8\x8e\xa5\x96\xb0\xb3\x84\xc6\xdc\xf7\x0f\x22\xa1\x09\x6b\x09\x29\xf6\x30\xa8\x0b\x9b\xd1\x84\x84\x58\x1e\xb8\x44\x9e\x22\x2c\x45\x11\x22\xb4\x59\x0b\x89\xa4\xb4\x41\x20\x8a\x20\x66\x0b\x36\xdd\x88\xfa\x98\xab\x07\x6f\x3c\xac\x67\xb5\x0f\xad\xac\x76\x92\xd6\xd9\xc4\xac\xd7\xf8\x62\xd5\x0d\xa3\x43\x82\x7a\x3e\x78\x4a\x22\x91\x2a\x6d\xed\x88\x94\xda\x07\x21\x16\x72\xf8\x6a\x3d\x8b\x43\x68\x86\xf4\x50\xd8\x41\x3e\x06\x84\x19\xd4\x6b\xd3\x59\xd4\x4f\x91\xb0\x6c\xf2\x59\x47\xd0\x38\xe9\x00\x84\x55\x5d\x46\x5f\x96\xf5\x56\x11\x48\x32\x68\x6b\xa2\x5a\x20\x1b\x6a\x1d\xb2\x04\xb5\x5c\xee\xfb\x82\x47\x16\x25\x34\x5b\xd4\x33\xc8\x17\x79\x5b\xdc\xa1\x87\x78\x3a\x6c\x36\xa9\x6a\x27\x03\xa1\x0a\xe8\xa1\x10\x21\x2c\x51\xa7\x25\xd4\xeb\xd0\xaa\x38\xf4\xfd\x84\xea\x63\xe6\xae\x66\xf1\x5e\xf5\xf8\x85\x62\x08\x84\x2b\xf6\x7c\x1e\x99\x22\xaf\x0a\xbd\x16\x67\x1c\x51\xb9\x5d\x42\x33\xa0\x02\x24\xc7\xb0\x2c\x94\x01\x08\xda\xb2\x47\x0c\xab\x43\x38\xdc\x9d\x14\x7e\x4f\xbb\x10\x5f\xb0\x34\x57\x02\xc2\x0e\xd6\xe8\x1c\x9a\xe4\xdd\x61\xc6\x1f\x89\x51\xe2\x49\x08\x3a\x8f\xfb\xd9\xc6\x76\x9d\x68\x03\x9c\x36\x84\xe1\x3e\x44\x7a\xe2\x7c\xb6\x24\xa5\xd9\xd0\x59\x60\x9a\x02\x69\x79\x4a\x04\xc0\x42\x2e\xc2\x48\xd9\x2d\xd7\xeb\xe5\x74\x72\x77\x2c\x1a\x6d\x5a\xae\x52\x92\xc0\xea\x4b\x75\x00\x50\x89\x42\x1e\x35\x2d\xe1\xf2\x70\x98\x15\x0c\xe7\x42\x07\x7f\x9a\xd0\x5d\x8d\xc6\x93\xe6\xa9\x69\x2b\x92\x63\xbb\xd5\x71\x8c\xe0\x96\x47\x9b\xb4\xa0\x24\x0e\x20\x9f\x10\x2c\x47\x77\x62\xc5\x67\xcc\x75\x2d\x1d\x15\x38\xca\xe9\x21\xc7\xe3\xb4\x6e\x65\x93\x3e\x52\x65\x54\x63\x4b\x4f\x3e\x9e\x5c\x3a\x23\x04\x31\x99\x72\xdb\x8c\x04\xcb\xb1\x60\x84\x3d\x86\xb2\xb8\x71\x81\x67\x24\x55\xc9\xeb\x16\x0b\x84\xc1\xc5\x05\xbb\xca\x59\x92\x37\x08\x38\x53\xc8\xd2\x80\x5b\x5f\x80\x23\x52\xe2\x55\xad\xae\xe5\x23\x1b\x66\x30\x5d\x3b\x15\x57\x31\x9c\x47\x19\xe1\x76\x18\x64\x09\x3d\x2f\x23\x19\x0f\x0a\x2b\x6e\xb4\xc9\x64\x08\x8a\x9e\xa4\x2a\x35\xc4\xad\x04\xe3\x04\x17\x31\xad\x86\x44\xd1\xb8\x35\x26\xc1\xd4\x12\x52\x6d\x69\x82\x36\xe8\x92\x49\xd4\x1a\x3d\xcd\xd9\xed\xfe\x28\x05\xc8\xaa\xd2\x58\x33\x74\x8a\xbe\x2f\x12\xc7\x2d\x2b\x8e\x53\x08\xc0\xc5\x85\x51\x47\x27\x0f\xe9\x0c\x4c\x26\x04\x26\xb1\xc8\x40\x3a\x07\x80\xb0\x08\x76\xe6\x71\x25\x79\x02\x98\xba\x35\xd6\xc2\x99\x92\x13\x37\xde\xa0\x7b\x00\xc0\xd4\x4e\x32\xbe\x65\x53\x87\xdb\xfa\x02\x10\xfb\x20\x50\xd9\x04\x33\x2d\x46\x0d\x45\xdf\x3a\xaf\x82\x78\x94\xe7\x2e\x53\x9d\xd2\xd8\xcd\xa9\x39\xcb\x0c\x8a\xd2\x6b\x5d\x34\x88\xbb\xaa\x95\x27\x17\x9f\x6f\x28\xe8\x4c\xe1\x12\x35\xa0\x47\x93\x6c\x48\x89\xd5\x52\x63\xc8\x87\x16\x4b\x49\x09\x50\x14\xbc\x21\x9d\x2a\x71\x33\x69\x83\x79\x89\x8b\x77\x8d\xd9\xf2\xb3\x31\xe5\x81\xa0\x19\x5a\x27\xc1\xa5\xd5\x6a\x4a\x13\xe9\x9b\xa0\x47\xa5\x7d\x96\xd1\x79\x38\x31\x10\xab\xc6\xd3\x8c\xc4\xbd\x45\x7c\xa6\xa3\xa6\x38\x1f\x4d\x51\x9c\x62\x3f\x2e\x91\x84\x69\xa9\x64\x53\xe6\xf2\xd4\xcd\xa8\x16\x5a\x4d\xcb\x1d\x37\xe5\x07\x15\x5b\x87\x3b\x24\x30\x4d\x4d\xa6\x93\xa3\x0a\x17\x6a\xcb\x34\x11\xc2\x69\x55\x9e\x96\xca\xda\xd7\xfb\xc3\x28\x34\x84\xc7\xe6\xa5\x51\xf2\x8e\x95\x67\x3b\x6a\xaf\x3a\x51\x20\x51\xdb\x76\x5c\xb1\xfd\xde\xeb\x46\x6c\x3a\x9d\x62\x55\x11\xf4\x80\xc9\x45\x05\x90\xa5\x8e\x06\x83\xbd\x0e\x0f\xaa\x95\x9d\x00\x92\x23\x23\x7f\x46\x39\x3a\x8a\xd2\x5d\x53\x18\xa7\x3d\xb1\x96\xe0\x6c\x93\xba\x89\x39\xce\x46\x15\x02\x94\xd2\xef\x54\x05\x54\x95\x6b\xc3\xfc\x61\x92\x09\x02\x3e\x96\x0c\x68\x71\xf9\xec\xcd\xd7\x34\x6c\x2f\x2b\x06\xa7\x28\x2a\xc8\x07\x7c\x29\x46\xe7\x48\x61\x3d\xaf\x5d\x72\x47\x9c\xaf\x36\x12\x37\x1c\x37\x2a\xe3\x33\xf0\xc8\xf0\x3e\x15\xd0\x70\x65\x78\x98\xad\x20\xb1\x6d\xb5\x14\xa3\x8d\x87\xc3\xf2\x14\xb1\xd2\x59\xc6\xd2\x54\xda\x24\x2e\xd8\x4d\x9a\x0f\x86\x89\x80\x6d\x33\xcb\x41\xcf\x96\xd8\xa4\xb0\xa9\xe0\x1a\x55\xa5\xb3\xc0\x50\x08\x51\x29\x80\x9d\xe3\x3c\x8e\x1c\x42\x32\x0b\xc0\x26\x64\x43\x94\x71\xc9\x7a\x7d\x08\xf6\x8a\xb4\x5b\xd5\xdd\xbc\x25\x16\x72\xb6\xf1\x76\x78\x95\x12\xc3\x44\x44\x1b\xb6\x14\xa4\xc0\xe7\x36\x2b\x94\x1e\x60\x55\x58\x18\xb5\x3e\xb2\x80\xa7\x59\x8d\x20\xc5\xdc\x64\x49\xf7\xb4\x1f\x0c\x7f\xd8\x54\x7b\x89\xe7\x34\xd4\x2e\xcc\xb8\xa9\x61\xc4\x07\xb2\x32\xa6\xe4\xd2\x96\x36\xf3\x64\x71\x1a\x92\xc5\x5c\x34\xf1\xae\xe1\x04\x04\xde\xf0\x67\x56\x3c\x55\xba\xae\xc2\x94\xe3\x64\x7c\x47\xd3\xd2\xa8\xce\x38\x93\xe7\x75\x2d\x63\x00\x13\x38\x22\xbe\x3c\x96\x4c\xd4\x0e\x0d\xed\x60\x7b\x78\x41\x9d\xb0\x10\xb0\xcb\xd5\xd2\xcc\x57\x50\x07\xb7\xab\x42\xca\x82\xf5\xee\x48\xc4\x2c\xb9\x45\x36\xcb\x20\xcb\xf1\x35\x1c\x61\x0d\x37\x91\x1d\x34\x3f\xb3\x9c\x95\x80\x79\x30\x6e\x94\x39\x2b\xfb\x17\x3d\xd5\xdb\x1b\xa7\xee\x07\x5d\xdb\xea\x7b\x09\x94\x91\x59\x6a\x7d\xda\x83\xfd\x90\x4d\x8c\x51\x69\x2a\x79\xce\x10\x7f\x9c\x99\xa5\x4c\x4c\x90\x93\xac\xb1\xd3\x39\xa4\x68\x64\xe1\x8d\x48\xd2\x8b\x2d\xd7\xca\x9a\xa8\x59\x64\x3f\x0c\x74\x0c\xbb\xeb\x18\xea\x47\xaa\x9d\xa1\x91\x55\x8c\xd4\x71\xb6\x5c\x07\x8a\x70\x8c\xb3\x08\xf7\x9c\x0c\x3a\xa5\x89\x4b\xe5\x5d\x7a\xda\x6f\x99\x24\xcf\x0d\x55\xe2\x71\xd3\x96\x53\xa2\xd2\xb2\x40\xeb\xa3\x35\xa2\x53\x76\xc2\x51\xc1\x7e\xe8\xe8\x93\x1e\x52\xdb\x6c\x74\x06\xec\x0c\x61\xf8\x8e\x2a\x82\x5e\x24\x13\x48\xc2\x67\xa1\x02\x3b\xdd\xdc\x27\x03\x0e\xd9\x40\x8c\xc0\x8c\xd1\x3c\x97\xe8\xb5\xba\x6c\x54\xc9\xd2\x13\x08\x74\x93\xbc\x2b\xe8\xad\x28\xec\x4d\xb4\x3b\x37\x60\x96\x31\xf5\x94\x0a\x29\x46\x6c\x39\x38\xc5\x08\x8b\x9e\xb7\x03\xb5\x07\xcb\x21\xcb\x61\x8f\xa1\x53\x5a\xa6\xbc\xe3\x64\xed\xa6\x9c\xaa\xf5\x01\x67\xa9\xc2\x3b\x4e\xf3\x65\x3b\x04\xac\x2f\x54\xf3\xc5\xec\xd8\x85\x50\x0a\x9b\x7d\xd3\xa9\x06\x57\x68\x3b\x7e\x4f\x61\xf6\x1a\xb6\x0f\x7b\xdf\x73\xba\x25\x87\xaf\x3b\x48\xc2\xe7\x22\x3f\x77\x22\x66\x99\x49\xc0\x6b\xb7\x6b\xe2\x90\xec\xe9\x79\xdf\xc5\x7b\x7a\x62\x08\x61\xa6\x57\x20\x6e\xcc\xbe\x00\x80\x0e\xe9\x0a\xa7\x14\xbc\x3c\x9f\x15\x6e\x76\x48\xb5\x63\x01\x75\x9b\xd6\x39\x58\x3e\x58\x1f\xb1\xfd\xf1\x94\x42\xb0\xdd\x85\x4b\xf4\x44\xad\x98\xb3\x33\x40\x36\x6a\xba\xbd\xda\x02\x80\xaf\x30\x2e\xa7\x8a\x59\xc9\xa0\x2b\x4a\x84\xa6\x9a\x29\xb0\xa1\x48\xa0\xd1\xa7\x35\xad\xd4\x4f\x29\x3d\x8e\x01\x41\x6c\x93\x8c\x29\x48\x90\x89\x84\x24\xcd\xd8\x38\x48\x31\xb6\xd3\xe3\x92\xa3\x11\xbd\xcf\xf4\x9e\xca\x5a\x1f\x44\xa0\xdf\x8e\x24\x58\xec\xb7\x73\x76\x37\xdb\xb9\xab\x38\xb4\x5a\x16\x44\x9a\x72\x06\xb0\x33\x31\xcd\x8a\xdb\xb0\x31\x4b\xf6\x69\xc8\x86\xc1\x21\x97\xe4\xca\x5b\x0d\x51\x76\x86\x51\xe4\xb8\x4f\xf5\xf6\x68\xe7\x6b\x12\xb6\x8f\x5b\x5e\x8b\x98\x13\xdb\x83\xdd\xb2\xf6\x24\x80\xe9\x95\x3f\x80\x12\x29\x4b\x4a\x1e\x86\xa3\xa0\xb3\xa8\x42\x9d\x7a\x28\x8b\xb0\x8c\x2c\x86\x68\xb1\xf6\x47\x5f\xab\x78\x7f\x15\x38\xfc\x2e\x02\x64\x18\xf6\xc0\x8e\xa3\x03\xbc\x0b\x16\xfc\xf1\x2c\x81\x66\x3f\x87\x36\x99\xb3\x6a\x23\x14\x33\xe6\x3a\x79\x98\xd1\x5a\x07\x2b\x0c\x49\x32\x89\x65\xfb\x0c\x82\x21\xa9\x8e\x67\x31\x51\x51\xda\x1e\x48\xe7\x19\x5d\x23\x3b\xb0\xb7\x01\x67\xb3\x44\xbf\x96\xaf\x32\x1f\x9e\xfc\x4c\x3a\x2c\xcf\x20\x5d\xae\xe6\x93\xd6\xef\x57\xc9\xd2\x5e\xac\x1c\xb9\x24\xc1\x62\x0c\xac\xd5\x16\x85\x7a\x5c\x57\x03\x34\x18\x96\x73\xa6\xdf\xed\xea\xa2\xc7\xa8\xbc\x5f\x6e\xf1\xb5\xda\x4e\x96\x98\x9c\x37\xa7\x68\xa3\x1e\x24\x7c\xc9\x1e\xb7\xc1\x94\x47\x0b\x63\x91\xaa\x22\x68\x61\x74\xd8\x80\xfd\x90\x84\xc4\x10\x45\x51\xe9\x4a\x06\xb5\x2c\xb9\xc5\xf2\x90\xd3\xac\x77\x3c\x19\xd1\x21\x6f\x08\x7d\xc2\xd6\xf3\xc3\x30\x4f\x5b\x51\x10\xd0\x45\x95\x47\x93\x0c\x0f\x64\xcb\xf8\xce\x7c\xb9\xd8\x8f\xa1\x5e\x39\xc1\x34\xba\xe4\xa1\x9f\xb1\x60\xaf\x46\x0b\x14\x0f\x35\x1d\x9e\x62\x28\x20\x16\xcc\x9e\x3a\x0a\x98\x6e\x44\xe6\xa0\xa8\xb4\x51\x76\x30\x60\x48\x9a\x1e\x31\x63\xe5\x94\x44\x44\x03\x73\x08\x4a\xa3\x88\x43\xa6\xb0\x36\xe2\xd4\x01\xe4\x8c\xeb\x47\x68\x1a\x49\xee\x6c\x0c\xdc\x2c\xcc\x5b\x77\x57\xcc\x0b\x66\x55\x9f\x4f\x0c\xd3\xc2\x14\x44\xae\xe0\xb9\x53\x24\xd8\xb1\xaa\x11\xc9\x86\x66\x34\xb9\x3c\x16\x5a\x04\x1d\x66\xf3\x88\x58\xac\xcf\xfb\x01\x22\xfc\xc2\x26\x0e\x14\x17\x4a\x8d\xed\x8a\xd6\x02\x90\xc0\x66\xf2\xfc\x58\x25\x4b\xbb\xae\x72\x52\xb5\xa4\x1a\xcd\x5d\x31\xe2\xe4\x9a\xf1\x0d\x65\x29\xd1\x4d\x35\x77\xc6\x3a\x2f\x1c\x98\x1f\xe1\x19\xc7\x5b\x5b\x82\x6b\xe6\x75\xd5\x4e\xd9\x6a\x8e\x42\x87\xa1\x5a\x62\xce\x96\xc4\x76\x43\x1e\x0b\xa4\x02\x0c\x8b\xdc\x80\x7e\x2e\xf5\xdb\xac\x49\x68\x85\x3e\x2f\x26\x97\x71\x7b\x31\x66\xa3\x85\x42\x66\xdb\xf0\xd8\x85\x6b\x5b\xe1\x48\x5f\x44\x12\x2c\x5d\x41\xb8\xc1\x07\x90\xe7\x38\x2c\xad\x6f\x86\x0d\x69\x0b\xab\xf3\x74\x1c\xb0\x18\x3f\xb1\x4c\x0e\xf6\xe7\x1c\x59\x07\xe3\x61\x4b\xc3\x74\xe7\xd7\xe9\xa8\x9b\x3b\x3d\x08\xe0\x9a\x01\x95\xba\xdb\xba\x74\xe7\x8f\x0a\x48\x00\xac\x87\x19\x19\x0a\x27\x95\xd2\xb5\x72\x6f\xe9\x36\xef\xcd\xe3\x72\x39\x57\x6b\x38\x05\x95\x37\x50\x4d\x15\x37\xb2\x4a\x07\x30\x57\xcd\x81\x4c\xf4\xe7\x38\xd9\xb0\x6d\xd7\x55\x04\x4e\x94\x71\x62\xe4\xb5\x53\x45\x61\x86\x4b\x23\x52\x97\x7d\x53\xd8\xa4\xe7\x1b\x11\x3e\x54\xa2\xef\x1b\x6e\x6b\x3a\x26\x29\x02\xde\x70\x62\xc1\x35\xf4\x6a\x1e\x9f\x74\x8b\xac\xf6\x05\xf0\x69\x4e\x6e\x37\x30\x7c\x18\x7b\xd3\x56\xeb\x85\x04\xb0\x60\x3f\xe7\x7b\x72\xd3\xcd\xc7\x98\x06\xb5\x95\xd6\x38\x47\xe2\xd2\x6c\x63\x7b\x26\x0c\x79\x22\xbf\x88\xd7\x68\x90\x67\x2e\xcf\x6d\xd6\x7a\x9c\x9e\x27\x8f\x5e\x47\x0a\xdc\xd8\xc4\x22\xab\xb4\xc8\xf0\x61\x52\x5f\x91\x70\xa1\x4c\x3b\xe3\x44\x52\x29\x5a\x2e\x93\x73\x6b\x18\x70\x94\xb7\x8c\xaf\x91\x64\xc1\x3b\x6d\x15\xd6\x0b\xa2\xdb\x19\x29\xc6\x6a\x63\xb3\x21\x63\xc1\xa9\xf2\x1e\x32\xd0\x68\x10\x5a\x69\x57\xa2\x0e\x44\xcf\xb0\xf5\x12\xd0\x22\x23\xe2\x2b\x5a\x62\x99\x7a\x13\x40\xd0\x08\xa7\xf8\x3a\xb2\x07\x75\x66\x5a\xc6\xe6\x94\x03\x65\xa4\x10\x74\xe3\x38\x51\x39\x22\x5d\x95\xf4\x9a\xbb\x60\x65\x92\xe7\xf8\x55\x9f\x8f\xe5\x3c\xa6\x45\x79\x3c\x69\xcc\x8e\x4e\x7a\x6e\xf4\xd5\x79\x12\xec\xb7\x93\x59\xd7\x43\xa1\xec\x09\x27\x8a\x9b\x55\x33\xcf\x21\xc1\x63\xa3\x71\x6a\x67\xe5\x96\x46\x74\xa8\x25\x4e\x71\x14\x25\xc0\x3f\xcb\xcd\x8c\x80\xa0\x19\x73\x36\xa6\xf6\x40\xc1\xb4\x2a\x2d\x55\x86\x4b\x8f\x7a\x74\x44\x89\xad\x9e\x47\x45\x6c\x18\x7b\x3f\x40\xb7\xb8\x56\x11\x46\x85\x93\x0b\xca\x64\x01\x91\xbb\x74\x33\x9f\xad\xc4\x59\xd3\x25\x9b\x4c\x07\x94\x21\xe0\xdc\x2a\xe5\x57\xfb\x90\xa2\xc2\x16\x12\xc0\x80\x2d\xa7\x9d\xa1\x35\xb6\x51\xcc\xbb\x8a\x97\xf9\x9a\xc6\xf5\x58\xd6\x00\x59\xcc\xd4\x09\x5c\x7c\x2b\xa8\x5a\x82\x3c\xe2\xd0\x2a\xb6\xd2\x73\x48\xe0\x4e\xad\x24\xa0\x65\x9c\x2e\x65\x64\x87\x9b\x81\x72\xa9\x45\xe7\xce\x8c\x42\xbe\x54\x4c\x22\x3d\xcc\x58\x75\xd3\x8c\x66\x6c\x12\xcc\xa6\x66\x8f\x28\x9e\xe4\xda\x0e\xab\x5a\xc6\x00\xe7\xcc\x26\x35\xba\xb5\x34\x2a\xe8\xd1\xf3\x6a\x61\x6d\x95\x3e\xed\xcf\x5d\xce\x05\x83\x59\x63\x9d\xc6\x97\xf3\xa9\xe9\x38\x98\x37\xa4\x63\x02\xf8\xc9\x6b\x08\x08\x80\x95\xad\x16\xa4\xb5\x2d\x44\x79\x8b\xf1\x3d\x73\xa6\x13\xee\xb8\x02\x4e\x58\xac\x4d\x1f\x1e\x44\x98\x4f\xd5\x4e\x8a\x36\xd9\xe1\x48\xb1\xc4\x40\x69\xa2\x30\x0d\xd5\x32\x50\x1d\x71\xe6\xda\xc9\xc9\x19\x00\xa8\x9c\xcc\x2a\xc0\xae\x83\xf5\xb1\xd7\x6c\x42\x28\x7d\x12\x20\x84\x60\x8c\x5c\x24\x11\x67\xb8\x73\x0d\x20\x93\x89\x99\xa4\x49\x66\xa4\x49\x01\x43\x8c\xc7\x14\xf4\x84\x8d\xa3\x22\x6e\xa4\x68\xd1\x54\x61\xbe\x5f\x57\xae\x92\x63\xcb\x11\xa5\x32\x51\x94\x8c\x05\xe7\x70\x9c\x3e\xc8\x06\xd9\xb8\x34\x30\x69\xb5\xec\x54\xdc\xf7\x4b\x4a\xe1\x01\xb7\xa4\x36\x44\xd3\x8e\x2b\x69\x87\x95\xb3\xe2\x04\x99\xeb\x80\x3d\x60\x04\xf0\x11\xee\x18\xf5\x32\x0c\x07\x33\xb9\x62\x0f\x07\xbb\x19\xe6\x49\x03\xaf\x2d\x29\x99\x0f\x01\xbe\x23\x57\x8a\x48\xb1\x7b\x76\x93\x73\x6c\x83\x6c\x56\x41\xd4\xca\x72\x54\x9e\x65\x9e\x58\x2f\x31\xf1\xa8\x42\x82\x26\xda\x8c\xdd\xf5\xe7\x7c\xb4\x49\x47\x36\x8c\x4e\x5a\x4d\x68\x02\x0d\xf8\xca\xdf\x45\xba\x2e\xed\x28\x0a\x5f\x84\xca\x1e\xc9\x37\xcb\xc5\x4a\xcb\xeb\x7a\x56\x03\x86\x56\xe5\x81\x53\x34\xa0\x39\x66\x40\x80\x44\xe1\x94\x28\xe2\x56\xf5\x72\xe6\x43\xe0\xa8\x91\x74\xe4\x10\x51\x0e\xe9\x91\x83\xb5\x5d\x79\x12\xce\xb8\xda\xd6\x93\x48\x48\x47\x79\x08\x55\x2d\xd9\xc7\x5b\x99\x19\xd4\x04\x26\x73\xde\x8b\x69\x94\xd0\x73\x48\x68\xab\xad\x02\x57\x7e\x23\x99\xae\x91\x52\x47\x08\x3e\x14\x53\x04\xef\xe0\x32\x4b\xeb\xb8\x9d\xe1\xee\x12\x19\xcb\x10\xc0\xa2\x40\xf6\x0d\xd7\xc4\xf9\x01\x6d\xf8\xc9\x77\xd7\x7e\x06\x1b\x39\x66\xc0\xb5\x53\x82\x7a\x3b\x98\xe8\x1c\x68\xeb\x8a\x0e\x0a\x80\x72\x51\x2f\xe1\x29\x23\x92\xeb\xb9\x67\x8b\xbb\x24\xe1\x6d\xee\xd8\xd1\xdc\x0a\x23\xa2\xc8\x12\xdc\xea\x22\x41\x23\x46\xa3\xdd\x98\x14\xd9\x8e\x97\xc7\xf5\xb4\x4a\x97\xc0\x23\x0c\x9d\xd0\xd4\xb4\xc9\x56\xdd\x69\xb6\x31\x02\x8a\x23\xb3\xb4\xad\x62\xa6\x3d\x89\x33\xc7\xf5\x05\xb1\x40\x22\x11\x33\x61\x8a\x23\x1b\xb9\x57\xf6\x27\xad\x8c\x8d\x2d\x8d\x36\xc5\x84\x23\x4a\xed\x07\xbb\x6d\x67\xb6\xea\x86\x26\x3c\x39\x2a\xbc\x20\x3d\xea\xa6\x60\x38\x56\x64\xd5\x6a\x81\x1f\x58\x40\xc8\xa5\x49\xf8\x5b\x1a\x9d\x3a\x76\x57\x94\xe2\x72\x0b\x0e\x2c\xd8\xb2\xda\x2a\xd8\x4d\x34\xdc\x8e\x52\xd0\x72\x62\x7d\x6a\x37\xcd\xbe\xf4\xe9\x8d\x6a\xef\x99\x71\xb1\x3c\x18\xd3\xfc\xbc\x44\xd7\xe1\xd2\x1e\x70\x40\x1d\xfb\xdc\x43\x01\x5f\x5a\x35\x3a\x92\x5d\x33\x04\x31\xac\x2b\xea\xb4\xc4\xed\x5c\xac\x1c\x6e\xcd\x26\x1d\x7b\xd4\x49\xd2\x85\x05\x07\x6c\x85\x4d\xb9\x5f\xad\x32\xa3\x9c\x55\x64\x9e\xc5\x04\xd0\x6c\x29\x07\x47\x7a\xb9\xa0\x5d\x9c\x2c\xb7\xe7\xb0\xa1\xec\xde\x70\x58\x75\x3f\x24\x35\xba\x73\x8b\x55\x03\x9d\xb7\xa9\x2f\x81\xa4\x3e\x9d\x66\xd5\xc0\x30\x56\x5e\x29\xb5\x97\x2d\x92\xd6\xad\x4b\xd3\xec\xdc\x63\xcb\x1f\x08\xb8\x4a\xf6\x03\x49\x27\x41\x7c\x66\xab\x05\xb4\x63\xab\x3e\x28\x0e\xed\x2a\xa2\x72\xdc\x83\x97\xe3\x7e\x36\xee\x89\x82\xb6\x70\xec\x78\x42\xe5\x63\xb9\xc4\x20\x14\x1e\x67\xe1\xe4\xe3\x4b\xe6\xbc\x90\xb6\x10\x27\xef\x9d\x99\x33\x12\x27\x8e\x5e\x84\x21\x59\x9e\xbc\x02\x66\xf6\xd3\x71\x5f\x77\x78\xdf\xd0\xad\x99\x6d\xda\x9d\xb2\xda\x32\xec\x0e\x56\x77\x50\x10\x4e\x78\x7b\x82\xd6\x9b\x95\xd3\x0b\xab\xa1\x46\x7b\x61\xec\x52\xb5\x9d\xe1\xb8\xbf\x6d\x97\x21\xd6\x2d\x90\x2d\xbd\xdf\x0f\x26\x67\x1a\xe7\x10\x29\x67\x87\x59\x51\xec\x5b\x1d\x71\xb2\x66\x48\xd8\x75\x20\x1c\xc5\x6a\xa6\x3b\x66\x5c\xaa\xdb\x33\xc4\x7b\xf3\x5d\xb3\x3b\x66\xe7\x03\x98\xa8\x64\x38\xa0\xab\x53\x44\xe1\xc0\x9c\x81\x5e\x9b\x07\xf5\xdc\xed\x31\xa6\xd7\x20\x0e\xe6\x88\x05\x81\x79\xd2\x52\x5c\x0e\xad\x85\x71\xbc\x46\x1c\x4f\x1e\x9a\xb5\x70\xe4\x61\x76\xc4\x25\xe7\x1c\x8e\x13\x68\xcb\xe5\x04\x54\xcd\xa5\x2a\x81\xd7\x72\x33\x1b\x42\xa2\xee\x67\x64\x96\xb0\x76\x37\x42\x4d\x4f\x56\x1b\xcb\xe9\x31\x5f\xa6\x20\xcd\x0f\x7b\x78\x95\x94\x46\xc2\xc4\xfe\x1e\x41\x1b\x56\x3f\xc3\x0a\xbd\xd7\x83\x41\x30\x45\x73\x49\x40\x18\xba\xe8\x3a\xec\xc0\x16\xa7\x9c\x51\x15\xa9\x5f\x9d\x60\xcc\x05\xb4\xca\x1d\xf5\x33\x39\xe7\x40\xc7\x6f\x82\x08\x6a\x97\xf2\x51\xcc\x3d\xd6\x26\xf6\x26\xba\xd6\xcd\x6e\xd1\x33\x26\x81\x60\xa6\xb4\x77\x3a\x66\x68\xb8\x41\xda\x02\x2c\x38\x79\xfe\x66\x74\x01\x63\x2b\xde\x5a\xa4\xe7\x0a\x60\xb8\xe5\x36\x5d\xfb\x51\x00\xce\x72\x28\xa2\x24\x93\x69\xab\xfd\xae\xf1\x28\xa3\x74\x74\x12\xcf\xb8\x70\x34\x39\x7e\x80\x77\x6b\x6e\xa0\x34\x9f\x30\xc7\xc9\x94\xf5\xb5\x12\x45\x27\x2f\xe9\x4f\x96\x7c\xb4\xd7\x45\xbb\x23\xc6\x5c\x24\xe1\xce\xf3\x67\x1b\x64\x00\x15\x6f\x9d\x59\x49\x97\xbd\xd1\x3f\x0e\x36\x31\x03\x62\x44\xe8\xe4\x76\x35\xb3\x74\xbb\x72\x61\x05\x28\x86\x4e\xf5\x70\xc8\xce\xce\x7e\x5e\xcd\x09\xb9\x3b\x6f\x4c\x2d\x87\x1b\x9c\x48\xa2\xc5\x60\xe7\x7c\x6d\x0f\xdb\xad\x7e\xe0\xdc\x7d\xdb\xa2\xd8\x92\xa2\x39\xd5\x94\x6c\xc6\x50\x38\xba\x28\xa8\x41\xde\x10\x43\xb9\x59\x1f\x0e\xc8\x7a\x37\xeb\xf6\xfa\x1c\x25\x9c\xc4\xec\x48\x55\xd4\x16\xd4\x6a\x90\xe0\x49\x1d\x17\x07\xde\x84\xe4\x69\xbd\x46\x8e\x81\x3c\x55\xd8\xbe\x42\xdd\x75\x62\x0a\x99\x9e\xb9\x67\x85\x51\x57\xeb\x9d\xbd\xd3\xab\xd5\x20\xf2\xd2\xb9\xc5\x3b\xae\xdb\xf6\x36\x3b\x9f\x1d\xea\xd3\xb8\x5e\xda\x2c\xa7\x28\xf0\xde\x3f\x18\x9d\x9a\xa7\x46\x54\xd4\xcb\xd9\x2a\xe8\xf5\x12\x69\xdc\x8d\x7c\x44\x40\x46\xc0\x7a\x01\xe4\x7c\x6d\x2f\x64\x6c\xbe\xe7\xe7\x12\x68\xd3\x74\x95\x75\x2b\x4f\x92\x73\x69\x92\x07\x96\xb6\xaf\x7c\x3b\x07\x72\x71\xb4\xd5\x45\x49\x2e\x08\x40\x09\xf3\x81\x5a\x87\xab\x00\xa5\xcc\xc5\x5c\x8e\xb0\x40\x12\x36\x46\xdf\x1b\x86\x4f\x9e\x98\xd4\xdf\x01\x68\x37\x90\x6a\x61\xcb\x14\xe0\x4b\x80\x81\x60\xab\x9e\x11\xb7\xd8\x00\x82\x04\x4b\x79\x7d\x62\x2f\x75\x41\x33\xae\xf0\x36\x88\x88\xde\xcb\xe7\x8d\x3d\xe7\x48\x17\xcf\xa1\x95\x96\x22\x61\x21\xe9\x0a\x0c\x03\x34\xda\xac\x08\x4f\x90\x7d\x92\xc8\xab\x29\x02\x5a\x74\xc4\x71\x69\x39\x83\x4a\x97\x3f\xec\xab\xfc\xa0\x62\xdd\x7c\x3c\xc3\x4b\x60\xb5\x06\x13\x1b\x9c\x9a\x9d\xc3\xdc\x97\xfd\x20\x5c\xcb\x95\xc9\xf2\x91\x6b\x15\x73\xc6\x1d\xe2\xa8\x16\x0f\x71\x9a\xcb\xc7\x10\x5d\x14\x4e\xae\x9e\xc7\xbd\xd2\x85\xbb\xfc\x60\x60\xa3\x59\x32\x55\xee\x45\xe8\xce\xee\x24\x0b\x69\x9a\xc5\x0c\x0b\xc3\xfd\xbc\x92\xdd\x9a\x8e\xce\x16\xaf\xc5\x6c\xca\xaf\xab\x11\x5d\x2f\xd5\x7d\x10\x14\x6d\x92\x58\x1e\x39\xf4\xe2\x69\x6e\x24\xfc\xda\xdd\x43\x9e\xad\x11\x19\xbd\x2c\xcc\xb9\x6c\x87\x68\x00\x6a\x0a\x2c\xd1\xe5\x94\xad\xf1\x76\xce\x01\x47\xe3\x4a\xe1\xb4\x66\xb8\x9c\xed\xd0\x66\xbb\xac\xa8\x76\xb9\xc5\xa1\x6c\x6e\x99\x9c\x1c\xb6\xea\xc0\xae\x74\xaf\x45\xeb\x68\x38\xed\x93\x45\x2f\x34\xeb\x1d\x31\xeb\x57\xfd\xb1\xcc\xb5\x50\xc8\xca\xc2\xd9\xc0\x6a\xae\x66\x0b\xe0\xef\x58\x5f\x07\x0a\xb9\xda\x10\x50\xbf\xa1\xbd\xb9\xba\xd3\xcb\x18\x5f\x1c\x31\x2f\x26\x47\x1f\x8b\x23\x6c\x4d\x44\xc5\xba\xf0\xda\x61\x57\x99\x84\x30\xc7\xe8\xc6\x51\xd1\xae\x96\x4d\x6c\xbe\x0a\xcd\x11\xdf\xa3\xc3\xa4\xaa\x23\x2a\x20\x30\x56\x23\xe8\x99\xde\x97\x73\xe2\xe4\x37\xe7\xf5\x9a\xc3\xc3\xa1\xe7\xe6\xa9\x1d\xb4\xc7\x85\xc6\xc9\xa3\x39\x2f\xf3\xbd\x3c\x54\xb1\xb6\xe8\x8f\x65\x14\x4b\xd4\x00\xd3\xe0\xb4\xa7\x4f\xa5\x16\xe9\x07\x20\x34\x07\xd7\x90\xc0\x9a\x81\x8f\xca\x32\xc0\x02\xcc\x8f\x53\xb8\x38\x96\xca\x6c\xed\xad\xb0\x6d\x22\xc0\xa6\x5e\xb0\x61\x11\xc8\x75\x50\x88\x01\xc7\xd9\x4b\x01\xb3\x79\x78\xbb\xaa\xaa\x30\x19\xbd\xd0\x97\xec\x64\x64\x2a\xd6\xdd\x52\xdc\x2c\x37\xe0\x02\xab\x82\x6c\xe5\xae\x8b\xd9\x76\xe4\x57\xcb\xfe\x78\x5a\xc2\x18\x1c\xc8\x2b\xfb\xc4\x8a\x48\xde\xac\x26\xab\xb5\x89\xcc\x69\x9c\x73\xae\x6b\x82\x6b\x64\xca\x56\x04\x66\x09\x9d\xf2\xb1\xe5\x46\xd2\x84\x3b\x31\xe4\xa7\x76\x89\x7a\xe5\x0a\x78\xa5\xc6\x2e\x91\xba\x29\xb5\x4e\xd4\x56\xfd\x7c\xb1\xdc\x4d\x67\x61\xb5\xd8\xac\xcb\x11\x43\xcf\x47\x0b\xc9\x8c\x05\xd4\xea\x8d\xcd\xc4\xb9\x52\x5b\x8e\xb6\x09\xb4\xdc\xa9\x2b\xd3\xc9\x6a\x13\xe3\x26\x7f\x4c\x9d\x45\x78\xd2\x2d\xa6\x0a\x3d\x2b\xd7\xd1\x59\x77\x5c\x48\xcc\x72\x21\x77\x81\xa7\x89\x0b\x24\x3a\x4f\xd4\x5e\xcf\x1c\x38\x16\xe8\xb5\xb2\x6e\xe8\x4d\xd3\x08\xab\x9e\x16\x43\x1f\x31\xfd\x99\xe7\xf3\xdc\xe9\xa0\x0e\x67\x09\x19\xaa\xa4\x39\xa3\xad\x31\x2f\xab\x93\x5a\xdb\x1d\xe9\xf7\x86\x40\x68\x02\x6f\x2b\x07\x48\x99\x7c\x66\x0f\x93\xea\x16\x56\xfd\x55\xb0\x2b\xa8\x79\xcd\x3b\xcb\x32\x35\x05\x92\xb5\x83\x95\x89\x2e\x21\x55\xf5\xa5\x75\x04\x40\x38\xf8\x10\xea\xb5\x22\x3b\xdb\x14\xe4\x61\xb6\xaf\xa0\x5d\xce\xb4\x4c\x47\x13\x7d\x2e\xd6\x6d\xbb\x2a\x75\x6e\xbf\xce\x26\x83\x21\x15\x7e\xdd\x80\xe4\xa8\x9a\x6b\xd4\xec\x8e\xfa\xc8\x9e\xeb\xbe\xae\x84\x49\x3c\x16\x33\xa6\x9f\x8d\xad\x70\x36\xc4\x49\x9c\xce\x63\xdc\xef\x8b\x54\xdb\x8a\x8b\x85\x55\xd8\x2a\x31\x13\x0a\x92\xda\x9e\x03\x76\x07\x05\xce\x54\x91\xc6\xd2\xb2\x8c\x1e\x6c\xa6\x71\x38\x9e\x32\xdb\x59\xfb\xa2\x95\xe3\xbe\x37\x4a\x46\x45\xa1\xa7\xb4\x56\xa6\x29\x35\x07\xda\xe0\xc8\xe5\xc6\x83\x92\xbd\x72\x0a\x27\xec\xa0\xd9\x99\xa5\xc2\xb6\x23\xf6\x86\x71\x4a\x6d\x76\xc0\xe7\xd8\x8c\xdf\x08\x6b\x5a\x08\xf4\x26\xd0\x61\xca\x43\x75\x6b\x4d\xca\x0b\x2a\xdc\x68\xe7\x98\x0d\x3b\x6b\x6f\xd6\xf2\xe1\xb4\x07\xf5\x32\x87\x4f\xf6\x7a\x3c\x11\xd6\x0c\x5d\xa9\x27\x1e\x3b\x47\x3b\xdc\x77\x31\xc1\xaf\x78\xc3\x58\x0e\xb4\x0a\x99\x40\x21\x6a\x01\x65\x21\x4a\x75\x66\x71\x5b\x51\xe1\x0a\xa1\x6d\xa1\x55\x5a\xc7\x44\xcc\x68\x59\x0a\x5b\xe1\x78\xde\x84\x51\xbb\xdf\xf6\x8c\x4c\x63\x30\x6a\x0f\x0d\xb4\x59\x31\x21\x5a\xd5\xf8\xa1\xe6\x0e\x4e\xae\x9c\x8e\x1e\xeb\x39\x0b\xb0\x99\xa8\x6d\xfe\xf4\x87\x8e\xfa\x8c\x9d\xcd\x0d\x7d\xa9\x9f\x47\x1f\x65\x01\x00\x80\xdf\xab\x8c\xc5\xaa\xa9\xbd\x57\x33\x39\xdf\x9e\x1d\x8b\x81\x1d\x05\x9c\x25\x8a\x46\x45\x1d\xa0\xa2\x2e\x0d\x26\x45\x8f\xf2\xd1\x18\xe4\x23\x38\x8b\x3a\x80\xe5\x23\x18\x64\x57\x4b\xc9\x08\x00\x40\x9a\xb0\x6a\xc6\xb0\xb3\x61\x60\x47\xaf\x3a\x0f\x55\x2b\xa7\x48\x81\x74\x04\xa3\x74\x86\x47\x49\x83\x07\xc9\x54\x46\x89\x2a\x27\x99\x2a\xcf\x5b\x12\x1e\xb6\x54\x39\x48\x5b\xcf\x5d\x11\xd7\xef\xb3\x40\x33\x4c\x59\x15\xe6\xa4\xcd\x71\x6f\x7f\x2c\xf5\xcb\xc2\x77\x3b\x28\x70\xbb\xf0\xee\xe1\xae\x0b\xc7\x0e\xaa\x32\x37\x29\xee\x1e\xee\xf4\x3e\x7c\xf8\x09\x45\x7f\x02\x7d\xf4\x13\x0a\x23\xcb\x9f\xe0\xc5\x47\x1c\xfd\x88\x21\x3f\xcd\x60\x18\x86\xdf\xee\x32\x76\x8b\x28\xcc\xca\x08\x3a\x85\x4d\x9b\x94\xc5\xcb\x8e\x91\x0f\xcb\x3f\xd3\xfa\x35\x9c\x2e\x78\xbc\x87\x57\xef\x91\xc5\x9b\x1d\x44\x49\x07\xb1\x34\xa0\x5e\x36\x8d\x92\xee\xa7\x26\x3c\xbd\x7f\xca\xcf\x76\x85\xb8\x7f\x08\x3f\x84\x63\x55\x36\x5d\xfb\xf8\xaf\x6b\xeb\x8f\xe5\x43\x96\x78\x1f\x93\xdf\x7f\x7f\xf8\xf6\x6e\xb9\x87\xe6\xfe\x5f\x77\x7d\x1b\xfe\xd4\x76\x4d\xe2\x77\x77\x9f\x9e\xef\x49\x0b\xc2\x43\x52\x84\x5f\xee\xb2\xeb\x1e\xee\xfe\xf9\xcf\xb0\x95\xae\x19\xc6\xee\x1e\xfe\x75\x72\xb3\x3e\xfc\xf8\x33\xfc\xfb\xe7\x9c\xae\xcd\x3b\x04\xbe\x7f\x28\x2f\xff\xb1\xfb\x87\xf6\xf2\x1f\xbd\x7f\x28\x2e\xff\x91\xfb\x07\xf7\x31\x28\xfd\x6b\x02\xdc\x0f\x51\xd8\xd1\x4f\xb9\x56\x89\x33\x17\xbc\xbb\xfb\x7c\xc7\xe7\xdd\x37\x37\xd2\x3f\xba\x4f\xb7\xaf\x65\x9f\xb2\xc7\x27\xda\xef\x1e\x1f\xa3\xb2\xeb\xce\xff\xbc\xbc\xfc\x52\x84\xc3\x4f\xc9\x07\xf6\xf2\xfc\xce\xbd\xff\xf8\x74\x6b\xca\xfe\xf9\xf5\x8a\x50\xfc\x78\x61\x5a\x57\xb5\x1f\xef\x1e\x3f\xe7\x90\xcb\xca\xa7\xec\xa3\x4f\xd7\xca\xf9\x65\xf6\xcb\xdd\xd0\xb6\x1f\x21\xe8\xee\xe3\xdd\x70\xfd\x7f\x3f\x7b\x09\x1a\x97\x6d\x77\x53\x58\xb9\x5d\x5c\xb8\x79\x38\xbb\x1b\xda\xbb\x07\xff\xa6\xff\x36\x74\x1b\x3f\x7e\xe8\xaf\xd7\xb9\x14\x1f\xc8\xb2\x28\xc2\x2b\xc3\x19\xd7\xef\xca\xe6\xfc\x2e\x7e\x68\xbf\x20\xd1\xde\x3f\x54\x57\xc0\xf6\x83\x15\x7a\xba\x6e\xbf\xcb\x1e\xfa\x07\xff\xe1\x89\x5c\xb7\xef\xe2\x7f\x76\x65\x1a\x16\xf7\x1f\xca\x2a\x2c\xde\xdd\x7f\xfa\x9c\x11\x2f\x08\xe8\x53\x58\x74\x62\xd2\x76\x61\x11\x36\xef\xee\xfa\x22\x2b\xdd\xe0\xee\xe1\x9b\xdb\xfa\xaa\x77\xf7\x0f\xd9\x07\x3f\x2b\xdb\xf0\xdd\xfd\xef\xf7\xff\xa3\xb9\xff\x66\xc0\x2f\x69\x3c\xc2\xcf\x03\x3c\x5f\xe4\x3a\x76\x6e\x13\xba\x9f\xaf\x30\xf5\xcb\xbc\x7a\xbe\x3d\xd8\x4c\xc2\xe1\xf3\xd5\xa5\x9f\x65\xe1\xb1\x79\x7a\x4f\x5a\xf2\x09\xb0\x88\x1e\x7f\x46\x3e\x97\x69\x61\x11\x24\x45\x44\x7e\xed\xe3\x4b\xe5\x37\xfd\x7e\xbe\x9d\xf8\xf1\x5f\x6d\xe7\x36\xdd\xd3\x75\xc8\x61\x11\x5c\x1f\x7e\xff\xfd\x4b\x86\x91\x6f\xee\xbd\xfc\xda\xf8\xda\xe4\xe6\xda\xc3\xef\xd0\x81\xdf\x1c\xf1\xc3\x53\xeb\xef\x08\xff\x70\x65\xda\xf3\x35\xb9\xaf\xf2\xe0\x0a\x4a\x96\x45\x17\x16\xdd\x97\xd4\xfb\x2f\x61\xfc\xcc\x6d\xdb\xcb\x8c\x3f\xa9\x05\xd7\xef\x92\x53\x78\x77\xff\xfb\xc3\x1b\x74\xf4\xd5\x45\xd5\xbc\x72\x7d\xf4\xa5\xf7\x4f\x7f\x88\x46\xf8\x21\x70\x3b\xf7\x09\x95\xa7\xae\xbe\x61\xfa\xf3\x2a\x6e\xdf\xdd\x3f\xb4\x61\xa7\x27\x79\x58\xf6\xdd\xbb\x6f\x79\xf6\x2a\x73\xc2\x22\x78\xec\x5e\xe7\xcb\xef\xd7\x7b\xa4\xdf\x20\xe5\xd2\xee\xe5\x84\x1c\x2e\xc2\x92\x4c\xdf\x62\xf5\xee\xe7\x97\x7d\xa4\xe1\x39\x28\x87\x9b\x44\x0a\x2f\x67\xf4\x39\x81\xd3\x6b\xe2\x75\x85\x47\xd1\xf5\xe3\xe3\xe3\xb5\x3b\xb2\x0c\x3e\xdf\x8b\xfb\x33\x72\xd1\x5a\xc8\xe2\xdb\xaa\x7f\xff\x1b\x59\xbe\x78\x5f\xbd\xde\xf4\x6d\x22\x90\xfb\xcf\x12\x8a\xa2\xeb\x9f\xbf\xeb\xec\x09\xf3\xd8\x2d\x82\x2c\x04\xc5\x59\x7f\xe6\x24\x79\xb5\x2e\x97\xd9\xb8\x26\xec\xf9\x96\x03\xaf\x8c\xf0\x96\x48\x7c\x4d\x2d\xff\x96\xe0\x35\x61\x5e\x9e\xc2\xaf\xb2\xf7\xf6\x4a\x7d\xca\xea\xf4\x8c\xde\x97\xcb\xc2\xef\x1f\xbe\x5c\xad\xf9\xbc\x32\x7f\xbc\x8e\xae\x6b\xf6\x4d\x90\xb0\x08\x7e\xff\xf4\x03\xbd\x00\xbf\x21\x9b\x17\x3a\xdf\x98\xeb\xd7\xcb\x1f\x7f\x46\x3e\x3d\xdd\x83\xfb\x74\x03\xe8\xa7\xf0\xb1\xfb\x96\xea\x5f\x6e\x64\xba\xed\xbd\xa7\x24\xef\xef\x9a\x67\x4a\x9a\x0b\xba\xf7\x1f\xff\x18\xf2\xfe\xa1\xfb\x7a\xf7\xf5\xd3\x4c\x37\xef\xc2\x8b\xfa\x86\x9f\x92\x50\xfc\xeb\x47\xaa\xf0\xd3\x77\x09\x8d\xde\x18\xe9\x0f\x98\xfe\x23\x86\xdf\xbf\xb8\xdd\xfb\x33\x82\xc9\x05\xc1\x6f\xe5\xee\x2d\x19\xbd\xbd\x5b\xf8\xd2\xe1\xc3\xab\x2a\xf3\xd3\x9b\xf3\xf7\x73\xf8\x2d\xff\xbf\xe6\x3b\x7c\x41\xf2\x97\xfb\x9a\x1f\xee\xee\xee\x3f\x35\xdf\x64\x35\x0e\x6f\x49\x68\x9e\x79\xfc\x1d\x19\x6f\x6a\xbe\x3f\x5a\x44\xaf\xa0\xf7\x22\x3d\xdf\x53\x47\x1f\xea\x3e\x6c\xce\x5a\x98\x85\x17\xf7\xe0\xdd\xdd\x17\x80\xf7\x4f\x19\x03\x9e\x5c\xa3\xe6\xa9\x8f\x97\x99\xaa\xde\xea\x63\xbc\x40\xbc\x6f\xca\xa1\xbd\xbb\xff\x50\x1e\x0e\x17\x3e\x96\xd5\xac\xf9\xfa\xfc\xba\xfe\xbf\x66\x27\xf8\x90\x85\x87\xee\xf1\x33\xac\x18\x1e\xba\xd9\x5d\x35\xbe\x61\x94\x9e\x5a\x74\x65\xf5\x98\xfc\x21\x54\x1c\x26\x51\xfc\xb5\x67\xf6\xfa\xfa\x87\xad\xb2\xa4\x08\xd9\x37\x5b\x7e\x7a\x4a\xc1\xf5\x6a\xfb\x28\xec\x88\xb2\x7f\x5a\x24\x59\x12\x16\x9d\x1a\xfa\xdd\xbb\x2f\x12\xfc\x2c\x29\x7f\x4c\xf3\x0b\xd0\x97\xc4\xbe\xa8\xbe\x66\x42\x7c\x2c\x9f\xfe\xbf\x0d\xf6\xcc\x8c\xf2\xf9\xe1\x6d\xc0\x6f\xe8\xff\x0e\xf8\xf7\xf0\xdf\xff\x7e\x7d\x7d\x7c\xbe\x9c\xfa\x07\x66\xfb\x6a\x28\xe1\x97\x6b\xf6\x55\xa5\xfd\x4a\x76\xff\x5b\xce\xdd\xbd\xcd\xaa\xbb\xbb\xdf\x1f\xc2\xdf\x2f\x6c\xff\xf0\x0d\x26\x6c\x98\x55\x61\xf3\x98\xfc\xaf\x02\x12\xf4\x29\x1e\xb9\x86\x23\x6f\xb8\xa8\xcf\xe4\xfc\xf3\x8b\xe3\x19\xbe\xe6\x18\xba\x41\x40\xc6\x6e\xf3\xe2\x4e\xee\xe4\xf0\x2e\xfc\xc7\xe3\xdd\x4f\x77\x9f\xd7\x76\xf1\xae\x7b\x16\xac\x7f\x7e\xcd\x6c\x18\x5f\x62\xb2\xee\xf9\x0a\xf7\x9b\xf2\x5f\xc3\xdf\xfe\xf6\xb7\x77\x4f\xfa\xef\xd5\xda\xfb\x6f\x95\xf9\x57\x80\xf3\xec\x65\x81\xe7\xb6\xe1\x45\x4b\xfc\xdc\xdc\x8c\x35\x7e\xbe\xc3\xff\x62\xb9\xde\xbd\xa8\xbc\x88\xd6\xf5\x7e\xeb\x77\xc9\xfd\xaf\x2f\x1b\xbe\x47\x7e\xfb\x7c\x89\xf6\x9f\x6f\xf1\x2b\xfa\x9c\xad\xe8\x2f\x34\x41\x7e\x9b\x3d\x86\x1f\xff\x52\x2b\xf4\x2f\xa3\x86\x3e\x8f\xf3\xec\xb2\x7c\xad\x7a\x5a\x23\xea\xc5\x36\xbd\xec\xf1\x7c\x7f\x7f\xff\x45\x9f\x7f\xd3\xd9\xac\x79\x8f\xfc\xe3\x66\xda\x2e\xd1\xdc\x2d\xf0\xd0\xb8\x95\x7b\x4d\x05\x26\x5d\xbc\xbf\x97\x5d\x3d\xc2\x0f\xb3\x9b\xe9\xfc\xc7\x8b\x82\xf6\x9a\x94\x85\x28\xbb\xae\xcc\x7f\xb9\x41\xf2\xfd\xfb\x97\x24\x3d\xc1\x3f\xa5\xbb\x79\x93\x49\x37\xb4\x7e\x48\x5a\xab\x71\xab\x2a\x0c\x1e\x7f\xfe\x9a\x3a\x0e\x7d\x7c\x7c\x6c\x3e\x27\xf6\x48\x0e\xef\xfe\xa4\x34\xbe\x44\xe9\x29\xe7\xef\x95\x05\xdf\xe7\x4d\x6c\x3e\xcd\x66\xe5\x3d\xfc\xf9\xfe\xf6\x3f\x83\xe9\xab\x03\xde\x7f\xa8\xca\xea\xdd\xfd\xaf\xe8\x6f\x37\x4b\xe0\x47\x82\x71\x99\xb5\xab\x34\xa1\x3f\xc2\xe0\xcd\x76\xbf\xfe\x55\x41\x7c\x6e\xf7\x78\x53\xde\x37\xa0\xeb\x9a\x87\xbb\x9f\xee\x1e\x90\xdf\x6e\x84\xf4\xdb\x2e\xaf\x99\xe9\xfd\x1b\x61\x1d\x1f\xe0\x87\x3f\xe8\xf5\xa5\x7e\xfa\xe1\x8a\x79\x1b\xc7\xf0\xa1\xf9\xed\x25\x82\xe3\x6c\xf6\x97\x16\xd6\xc3\x55\xae\xfe\xe2\x22\xfe\x01\xdb\xee\x1e\xe0\xd7\x70\x7a\x69\xe0\xbc\x30\xcb\x5e\x77\x40\x5f\xf2\xe6\x94\xb4\xbd\x9b\x11\x61\x96\xdd\x22\xf9\xd9\xeb\x7a\xb2\x71\x5e\xd9\x04\x61\x73\x4d\xf4\xf7\x78\x37\xc4\x49\x17\xde\xbd\x11\x77\x7c\xb1\x2e\x7f\xaa\xab\xbb\xdf\x1f\x10\xf8\x46\x12\xaa\xb2\x92\x8b\x27\xb4\x5e\xd4\x1c\x4a\xbf\x6f\xdf\xdd\xbf\xf0\x5f\x2f\x0c\x65\xc2\xf0\x36\x7c\xfe\x56\x26\x8b\x53\xd8\x74\x74\xf9\x0a\xa9\xe3\x23\x7c\xff\x17\x35\xd4\x6d\x27\x6f\xab\xa8\xfb\x1b\xfa\xc6\x57\x15\xeb\xad\x59\x7b\xff\xfe\x85\xeb\xe2\x36\x4d\xe2\x46\xa1\x7a\xe5\xf1\x0f\xa8\x1d\x1f\xe1\x17\x32\xe1\xfa\x69\x5b\xb9\x7e\xf8\xa3\x46\x97\x90\xe1\x8f\x50\xe8\x5c\xef\x87\xe3\xbe\x28\x28\xc2\xb1\xfb\x9c\x01\xfb\xdb\x6e\xda\x38\x39\x74\x72\x7f\xbb\x03\xf5\xcf\x6f\xb3\x70\x45\x62\x78\x0a\xb3\x77\x2f\xa3\xfd\x6b\x63\xee\x47\xf4\x7f\x6d\xfb\x32\xd4\x79\xd2\xd1\xd7\xcc\xe8\xb7\xc1\xcd\x43\xf3\x90\x3c\x94\xd7\x34\x19\xef\xba\xc7\xf0\x57\xf8\xb7\xfb\xbf\x23\x97\xa9\x7e\x44\xee\x3f\x27\x5b\xfc\x43\xa3\x70\x63\x3c\xc6\x87\xf2\x66\x4d\x3f\xa5\xd0\xef\xba\xe6\xdd\xfd\xb3\xe2\xfa\xd4\xbd\x7f\xff\xb7\xbf\x25\x7f\x7f\x45\x30\x3e\xbd\xb4\xa8\x5f\x15\x48\xf3\x45\x53\x26\xb3\xd9\x03\xfc\x50\xfe\x40\xab\x36\xcf\xe6\xe3\x85\x4c\x5d\x03\x30\xa3\x7a\x2d\x03\xdb\xaf\xf0\x6f\x9f\xba\xaf\x1c\xb8\x91\xf8\xcf\xbb\x9a\xdf\x94\xfd\x1d\x7e\x65\x69\x3c\xde\xec\x7a\x5d\x07\xa5\x5e\x6e\x5a\xfd\xb9\x61\x67\xaf\x0c\x7b\xb3\xa0\x2e\x61\xe1\x6b\x98\xbc\x02\xf6\xfe\x76\x8c\xff\x78\x81\x5e\xe9\x62\xca\x66\x70\x9b\xe0\xaf\x93\x36\xbe\x42\xda\x5b\xa8\xdc\x2a\xb1\xd7\xac\xf0\xcb\xa5\xf3\x84\x20\xf1\x9c\x9e\xfe\x3f\xc0\xf0\x4f\x33\xe6\xa6\xe5\x2b\xd2\x32\xbe\x26\x2d\xe3\x1b\xd2\xb2\x0d\xc7\x4e\x4c\x8a\xd7\xf6\x7a\xff\x5f\x90\x98\x97\x1a\xf7\x09\xe9\x5d\x13\xfa\xe1\x25\x36\xff\x0f\x31\xff\x2b\x4b\xec\x4f\xa2\x74\xd1\x7d\x9f\x53\xe6\xff\x07\x02\xf0\xd8\xbd\x47\x5e\xa5\xf4\xcd\x7d\xd7\x87\xe6\xd3\x53\xb7\xef\x91\x87\xe6\xf1\xf3\x56\xf8\x3f\x1e\xd1\x5f\xc2\x5f\x91\xdf\xde\x23\x1f\xe1\x87\xee\xef\xf0\x2f\xdd\x23\xfc\xb1\x7b\x73\x56\xde\x9a\x86\xe6\xef\xf0\x2f\xcd\x23\xfc\xb1\x79\x6b\x99\xdc\xa8\xed\xe7\x75\x71\x4b\x58\x73\xc3\xe9\xc7\xee\x07\xcb\x5b\xff\xd6\x12\x7e\x97\x7f\xfe\x42\xeb\xbf\xff\x8d\x5c\x34\xfa\x8d\xea\xfe\xd3\x16\xf2\x6a\x21\xb8\x82\x4a\xda\x2a\x73\xcf\xb7\x5c\xfd\xd4\x0e\x49\xe7\xc7\xef\xae\x56\xea\x5f\xbe\xdb\x86\x3f\xc1\x1f\x2f\x38\xbc\x66\x69\xd4\x24\x8a\x6f\x62\x8c\xf1\x86\xde\xfb\x87\x1b\x3e\x9f\x67\xc8\xa7\xee\xa5\x51\xba\x30\xff\x6b\x4e\xfd\x17\x63\x5d\x24\xfd\x5d\x77\xff\xe9\x29\x4d\xf6\x15\x31\xe4\x4d\xc4\xc4\xf0\xf0\x1f\xe2\xf5\x2a\x77\xdf\x42\x00\x7d\x42\xe0\x35\x21\xfa\x4b\xfd\x60\x1f\xbf\xd9\xe4\x7c\x69\x63\x9f\xe4\xfa\xfd\x6b\x63\x34\xff\x78\x65\xcd\x3e\xb5\xea\x9a\x24\xd7\x3a\xb7\xb9\xd8\xe7\x1b\xc2\x2f\x0e\xc5\xa3\xe4\x76\xf1\x87\xdc\x1d\x6f\xd6\xfc\xa5\xf6\x7d\xf3\x70\xbb\xf2\xcf\x41\xd2\x56\x6f\xb7\xbb\xd4\x5e\xdb\xbd\x8c\x1c\x9e\x65\xee\x46\x57\xbd\x26\x6a\xff\x8d\x98\x7d\x2f\x1b\xff\x85\x5c\x7c\x3f\xc7\x6f\x4f\xe2\xcb\x76\xbf\xbf\xe6\x14\x5e\x40\xdf\x70\x0a\xff\x4f\xbb\x84\x4f\xda\xeb\xa5\xa8\x7c\x1b\x60\xbc\xd5\xe6\xd5\x01\xde\x27\xb3\xd7\xb5\xcd\xb7\x82\xf9\x56\xec\x9f\xbb\xa3\x78\x05\xf8\x63\x09\x7d\xc5\x40\x5d\x87\xbf\x31\xf6\x4f\x22\xf6\xfe\xa1\x79\xff\xfe\x21\x79\xff\xfe\x0d\xa7\xf4\xd9\x73\x6d\x1e\xe0\x97\xf5\x5e\xe6\x16\xe9\x75\xea\x7e\x86\x6f\xc3\xa7\xef\x5a\x27\x0f\xc8\x4d\xcc\xff\xe3\xa8\xfc\xcf\x03\x7f\x3b\x21\x2f\xd4\xf3\x53\x22\xd0\xff\x7f\x16\x99\xff\x9b\x02\xf3\x88\xbc\x2e\x31\xaf\x38\x1c\xdf\x4f\xf6\x0c\xf9\xaf\x84\xa5\xf9\xbf\x29\x2c\x3f\x08\x3a\xff\x6b\x61\xf9\x73\xf1\xe5\x9f\x0a\x24\x6f\xb4\xee\x5b\x73\xf2\x39\xa6\xec\xdb\xf8\x5d\xf2\x32\x44\xbf\x32\xe3\x45\x54\xf9\xe7\x3c\xa4\xef\x26\xec\x35\x72\x5f\xf2\xe0\x69\x2c\xbd\xac\xde\xc4\xf4\x2f\x77\xf6\xbc\xa0\x7e\x20\x6a\xf7\x7f\x45\x8e\xbe\x60\xf8\x7f\x48\x9e\x9e\xaa\x6e\xc2\xe7\xff\x29\x7f\x9f\x59\xf2\x7f\x8c\xc5\x97\xf9\xfa\x7f\x95\xbf\xd7\xd5\xf3\xff\xa1\x3d\xa2\x5f\x93\xd9\xec\xb7\xc7\xf2\x47\x5b\x01\xff\x87\xa2\x99\xaa\x09\x4f\xaf\x45\x33\x7e\xec\x5e\x22\xc4\xff\x32\xee\xfc\xdf\xee\x8d\xb0\x9f\x43\x58\x35\xcc\xdc\x2e\x39\xfd\x27\x58\xfe\xcf\x37\x70\x9a\xb0\x0a\xdd\xee\xcb\xb6\xc2\x97\x2c\x7a\x3f\x9e\xbc\x5b\xc1\x7c\xfb\xcb\xd3\x6b\x4b\xf6\x7c\xff\x90\x3c\x36\xaf\x7d\xd8\xfc\xf7\xbf\x5f\x96\x06\xe1\xe1\x9b\xef\x31\x4f\x62\x73\xdb\xf4\x22\x90\xc9\x0b\xad\x16\x16\x01\x15\x9e\x12\x3f\xfc\x9a\x05\xff\x3b\xb2\x2e\xc4\xfc\x03\xfe\x7c\x3e\xec\x3b\xa1\x3b\x24\xe3\x2f\x77\xff\xb8\xbb\x75\x59\x9e\xea\x6e\xb9\x9d\xb4\xef\xee\xae\x07\x48\xee\xee\x5f\x7e\xcb\xbd\xe0\xf1\x2e\xf9\x40\xc2\x1f\x68\x8d\x9c\xdd\xfd\xfa\x0f\xf8\x13\xba\x5c\x7c\x82\xfd\xbb\x9b\x2f\x8d\x97\x5e\x9a\xf1\xd4\xbd\xef\x8b\xc4\x2f\x83\xf0\x4f\x74\xb6\x9a\x7f\x5a\xcf\xdf\xec\x2c\x4b\x8a\x7e\x7c\xa3\x97\x0b\xf9\xb3\xbb\x37\x1a\xb6\x7e\x13\x86\xc5\xdd\xfd\xcd\x56\xdc\x2d\x02\xd8\x27\x1c\x86\x61\xec\x8a\xc3\xab\x7d\x3d\xf3\xe5\xf9\xbc\xe0\x8f\xa8\x7d\x15\xe4\x33\x2a\x7f\xc4\x8a\x5f\x90\x4f\xe8\x8f\xd9\xf0\x87\xc4\xfc\xb2\xb8\xd0\x70\xfb\x31\xe8\xbf\x52\x35\xe7\xd7\x54\xcd\x7f\xbb\x5f\xf8\x3d\x8e\xe6\x7f\xaf\x6a\xfe\x5f\xde\x06\x67\xcd\x57\x77\x03\x2f\x14\x5d\xe9\xb9\x3c\x5c\x48\x0a\x7f\x45\x3e\x17\x20\xbf\xbd\x3a\x13\xcf\xdb\x86\xff\x6b\x3a\x1f\x9f\x76\x22\xff\xb7\xaa\xbb\x73\x3d\x32\x0b\xdd\xe6\xed\xb9\x7e\x84\x7f\x79\x0a\x15\x7e\x7a\xd1\x5f\xe7\x7a\xed\xed\x97\xe2\x8f\xd8\x45\xdf\xdd\xa2\x73\x81\x7e\xfc\xd7\xef\x2f\x9d\xc6\xf0\x7a\x34\xe1\xe5\x29\xe1\x2f\xfb\xb1\xc8\xfd\x57\xb3\x01\x7f\xea\xfe\xfe\xb9\xe2\xeb\x46\xdf\x73\x0f\xef\x7e\x0d\x7f\xed\x7e\xfb\xed\xfe\xcb\xf1\x89\x57\x55\xee\xb5\xf3\xbb\x5f\xde\x54\xc9\xf7\xb7\x9b\x4a\x37\x5b\x41\x6e\x75\xf1\x2a\xaf\x3f\x39\x20\xaf\xde\xca\xe3\xcf\xf0\x0f\xb7\x7c\xda\xb0\xbb\x9a\xc4\x36\xec\xde\xc1\x0f\xe5\x07\x8a\x66\x80\x21\xea\xff\x24\x59\xa0\x6a\xb4\x7e\x33\xf1\xdf\xc2\x23\x7f\x11\x1e\xfd\x8b\xf0\xd8\x2b\xf0\xdf\xef\x2d\xbe\x6c\xec\x9e\xc2\x80\x2c\xb3\xf6\x35\xe9\x7a\x39\x52\x13\xb6\xc9\x14\xbe\x43\x30\xf4\xa6\xa6\x1c\xda\xef\x06\x5a\xbc\x1c\xa8\x6c\x92\x28\x29\xae\xc2\xf1\x3d\x7f\x97\x2f\x21\xbf\x3f\xe8\xf3\x02\x1a\x41\x3f\x7e\x3b\xca\xcd\x30\x59\x19\xbd\xbb\xd3\xc2\x26\x71\xb3\x9f\xaa\xb2\xe9\x7e\x6a\xc2\xba\x0f\xdb\x2e\x0c\x7e\xfa\x66\xa2\x7f\x4a\xc3\x73\xe5\x06\x1f\xee\x6e\x98\xf9\x0d\x90\x70\x85\xf9\xf2\x13\x85\xaf\x30\xa7\x24\x1c\x2e\x7d\x7f\x68\xcf\x85\xaf\x5d\x3d\x7c\xd0\x84\xee\xbb\xef\x18\xb0\xfe\xf8\x84\x6f\x88\x3d\x3f\xc0\x30\xfa\xe5\xe9\x66\x1a\x46\x04\x96\xca\xbe\x0d\x1f\xaf\xa7\xe3\x7f\xbd\x3d\x82\x71\xea\x50\xf8\x19\x04\x09\xb1\x37\x80\x8a\xb2\xc9\xdd\xec\x09\xea\xea\xc7\x20\x21\xf6\x12\x26\xbf\xd4\x5e\x7f\xf2\xd2\xbe\x42\xda\xe7\x53\x14\x2f\x7e\x21\x11\x16\xae\x97\x85\xef\xaf\x6d\xdf\x87\xd7\xc6\xb7\xac\x6b\xaf\xa7\x66\x93\xb2\x90\xdc\xc2\x8d\xc2\xe6\x43\x90\xb4\x97\x66\xef\x6e\xa3\xb9\xcb\x24\x11\xc9\xf5\x3c\xe9\x4f\x5d\xf9\xd3\xb5\xdf\x9f\x9e\xfa\xfd\x70\xf7\xfd\xce\x2d\x0c\xe3\xb7\x0b\xb0\x08\x98\xd2\xef\xdb\x97\xb2\x01\xc3\xf3\x97\xb0\x7d\x77\x78\xe2\xc7\x0d\xe8\x8d\xe8\xb4\x51\xf3\x3a\x28\x72\xdb\xeb\xc5\x43\x79\x0d\x18\xbd\x01\x7d\x8a\x80\xd8\x24\x08\xc2\xeb\xa9\xf2\xef\x7a\xc6\x9f\xa5\x04\x5f\x7e\x16\x0d\x7c\xf9\x31\x39\xbc\xfb\xf9\xd5\x89\xfd\x72\xe0\xff\xea\x57\xbf\x7a\x20\xed\xe1\xea\x59\xbf\xac\x7a\x8a\x07\xaf\xbb\x5f\x37\x55\x97\xc2\x87\xf1\x46\x1e\x1f\xce\x37\x90\x0f\x5f\x22\xe0\x1b\xce\x7d\x09\xb6\xbf\x8d\x77\x5f\x87\x7a\x0e\xf1\x2f\xe6\xe3\x25\xc0\xa5\xec\xf7\x97\x11\x79\x13\x5e\xf4\xda\x8d\x08\xbd\xb9\x06\x5f\x5f\x13\xb7\xdf\xdd\xda\xb8\x1c\x9e\xf4\xfd\xbb\xfb\xdf\x7f\xbf\xfe\x1c\xe0\xa7\x5b\x6b\x71\x23\x7b\x5f\x8f\xdf\x3d\xfe\x0c\xff\xfe\x32\x6c\xfa\xef\xcd\xdf\x97\x3e\xfe\xaf\x1a\x40\xe4\x7b\x9b\x81\x60\xaf\x1c\xea\x7b\xd5\x4b\xfb\x62\x4e\x6e\x6a\x9e\x6d\xc7\x5b\xf0\xaf\x1a\x94\x87\xd7\x1d\x95\x2f\x8d\xfe\xb4\xc1\x41\xfe\x92\xc1\x41\xfe\xba\xc1\xb9\x72\xf9\xa2\xcd\x3c\xd7\x4f\x2f\x2a\xed\x49\xec\xfe\x92\x9d\xb9\xf1\x0c\xff\x97\x76\xe6\x95\xd1\xbe\x5a\x98\xdb\xca\x6f\x2d\xcb\x6d\xed\x77\x36\xe5\xa6\xf6\xd6\xa6\x7c\xfe\xf1\xd3\x7f\x66\x56\x9e\x5a\xbd\xfb\x2b\x66\x02\xf9\xf3\x66\xe2\x25\xe8\x0f\xcc\x04\xf2\x57\xcc\x04\xf2\x57\xcc\x04\xfc\x27\xcc\xc4\xab\x33\xf4\xc6\xd7\x92\x9b\xf3\x00\x57\xe0\x67\x93\xf1\x9a\xb1\x78\xa3\xc1\xab\x27\x92\x9f\x3e\x04\xbf\xd1\xe0\x6a\x5e\xfe\x28\x92\x79\x06\xbe\xfd\xf6\xfa\x56\xaf\xaf\x1f\x82\xd4\xcb\xb7\xd0\xf8\x6a\xa0\x7e\x60\x93\x7e\xd8\xf6\xb3\xd9\x7a\x25\x08\x7a\xbd\xd9\xa5\xea\x0d\x5b\x74\xfd\x0d\xed\x1f\x49\x79\x1b\x76\x44\x7f\x38\x84\x37\x47\x1a\xae\x93\x76\xb3\x4a\x9a\xf0\xd0\x84\x6d\xfc\xee\xc6\xa3\x7b\x23\x1a\xfd\xd3\xf6\xf3\x5b\x3b\x79\xff\x9f\xd9\x49\xe4\xe5\x8f\x63\x62\xb7\x79\x63\xf7\x2d\x39\xbc\x43\xae\xbf\xd3\x7c\xb2\x8b\xff\xfe\x37\xfc\xf3\x93\xab\xfb\xcd\x7e\xe3\x37\xe7\x7b\x1e\x92\x47\xf8\xa1\xbc\xb1\x4c\x4f\x67\x99\xff\xf1\x0f\x64\xf5\x70\x1b\xd7\x7c\xae\x5c\xff\x6d\x8e\x20\x0f\xc5\xe3\x1c\x41\x6e\x7e\x56\xf2\x04\xf3\x29\xf9\x7b\xf3\x29\x99\xcd\xee\xaf\x7b\xf0\xc9\x6f\xf7\xff\x78\xc4\xe0\xbf\xfd\xad\xfb\xfb\x23\xb6\xfc\xa5\x7d\xec\xde\x63\xd7\xc3\x44\xf8\x53\x19\xbe\xfc\xa5\x78\xec\xde\xe3\xd7\xb2\xf5\x53\xd9\xfa\x02\xf7\xae\x9b\x3d\xae\xee\xdf\xaf\xaf\x15\x08\xfc\x54\x83\xc0\x17\xf0\xe7\x2a\x04\x86\x3f\x5e\x0f\xee\xff\xf2\xee\x86\x98\xe7\x9d\xce\xd7\x89\xf9\x52\xf9\x03\x62\x9e\x61\xee\x3f\x22\xd7\x11\xca\x7f\x3f\x22\x1f\xf1\xcf\x8f\xe8\xc7\xf9\xe7\x47\xfc\xe3\xf2\xf3\xe3\xea\xe3\xea\x0b\xec\xe2\x23\x8a\x3e\xbd\xfc\xed\xf1\x3d\xfa\x11\xc5\xbf\xbc\x60\x1f\xd1\xf9\x97\x97\xf9\x47\x74\xf9\xe5\x65\xfd\x11\x5d\x7d\x79\x41\x96\x1f\xb1\xf5\xf5\xed\x0f\xd0\xff\x88\x3f\x81\xfd\x88\x8a\x8f\xd8\x53\xc7\xe8\x35\x02\xfa\xff\xb1\xf7\x35\xdc\x6d\xdb\xc8\xa2\x7f\x45\xe6\x6d\x15\x32\x84\x64\x7e\x88\xd4\x97\x61\xdf\xc4\x71\xb7\xbe\xeb\x7c\x3c\xdb\x6d\xb7\x4f\xd6\xf5\xd2\x12\x2c\x71\x23\x91\x2a\x09\xc5\xf1\x5a\xda\xdf\xfe\x0e\x06\x00\xc5\x6f\xd9\x69\xbb\xef\xbd\x73\x6e\xce\x89\x0c\x82\x33\xc3\xc1\x60\x00\x0c\x06\xc0\xc0\xd7\xcd\xf1\x89\xea\xeb\xd8\x42\x2d\x56\x3a\xb5\xf0\x85\xa5\x47\x27\x73\xd8\x06\xae\x5a\x8e\xd3\x64\xb5\x88\x44\x42\x37\x77\x49\x6b\xac\x69\xcd\xa6\x1a\xb3\x2f\x6b\x88\x11\xd4\x40\x30\x1c\x0c\xde\x50\x2c\x81\xb1\x35\xd6\x06\x9d\x5a\x3e\x82\xdf\xc7\x47\x50\xc9\x47\x90\xe7\xc3\x34\x84\xe2\xfc\x3e\xdd\xc8\x0f\xd9\x51\x14\x46\xaa\xf2\x53\xf0\x39\x08\x1f\x82\xc6\xd5\x5f\x2e\x1b\x9e\x6c\xb0\x83\xc6\xf7\xd3\xb6\x82\x4a\x0e\x69\xf1\x56\x83\xc3\xa3\x23\xb3\xb7\x89\x8f\x8e\xfa\x9b\x80\xf7\x17\x15\x80\xe5\xcc\xe4\x57\xb5\xbf\xf8\x13\x72\x45\x3d\xba\x2e\xf4\x14\x7f\x94\x45\x5c\x1c\xe2\xf3\x1e\x60\x45\x2f\x9e\x9d\x31\x35\x5d\x19\x16\x5f\x7c\x85\x17\x97\x4a\x75\x5f\x59\x18\xfb\xf3\x9f\x33\x02\xa5\xde\x97\x92\x47\xf8\x36\xf6\xb2\x8e\xbb\xf0\x9e\x5e\xb2\xb9\x47\x46\xc8\xf5\x73\xd9\xea\xa3\x49\x25\x2f\x33\xe6\x78\xfe\x65\xc1\xe5\xf3\x87\x9a\xcb\x35\xc4\x92\x09\x4f\xb5\x45\x51\xe0\xa5\xce\x66\xe0\xa3\x6d\x1e\xa3\x5e\xe1\xf7\x9a\x47\x8f\x45\x1e\xc4\xd1\xc6\x52\x53\x62\xb6\x20\x5f\xc8\xa2\x12\x27\xc6\x23\x86\x35\x2e\x38\x6e\xb9\x2c\xae\xe8\xe3\xa2\x6a\xa5\xe0\xc8\x3c\x31\x07\xe0\x46\x16\x5a\x4d\x93\x39\x65\xa5\xab\xf4\xe3\x0a\xe8\x28\x93\x1d\x75\x05\x29\x77\x8b\x70\xf2\x59\xc9\xb9\x26\xcb\x2d\x89\x4a\x1a\xeb\x60\x4a\x22\x66\x0d\x65\xe9\x38\x83\xaa\x46\x53\xc5\x8b\x17\x29\xda\x56\xec\xb9\xfc\xde\xc2\xd8\xcc\xf7\x6c\x05\xd4\xb7\x0b\x3f\xf8\xac\xa0\xa8\xe8\xfd\xe6\x7a\x77\x49\x66\xf9\x75\x89\xd2\xce\xa8\xb8\xcc\xb8\xd3\x3b\x55\x2c\xab\x6a\x45\x7d\xca\x68\x20\xac\x6b\x34\x9b\xb0\xcc\x51\xa6\x8e\xb0\x01\x3a\x2f\x0c\x98\x5e\x97\xac\x45\x14\xb5\xa6\x78\xae\x82\x4d\xbf\x45\xbb\xa9\x29\x20\x4c\xd2\xff\x56\xdc\x82\x50\x06\xf6\x6b\x41\xe3\x0b\x8e\x15\x1a\x46\xcf\xf8\x68\xa1\xe9\x70\x2e\x36\x9b\x92\x62\x95\x32\xb2\xd9\x18\xc9\x19\xeb\xf3\x60\xb5\xa6\x3f\xf2\x90\x06\x38\x86\x13\xc4\xb9\xad\x30\xf2\x08\x34\x4d\x6d\xdc\x00\x83\xd4\x97\xfb\x74\x21\xae\x09\x39\xf2\x47\xc6\x18\x6a\x93\x1c\xfb\xa3\x70\x3c\x32\xc7\xbb\xe8\x25\xcc\xae\x1d\x86\xc7\x38\x1a\xc2\xa1\x57\xbe\xa3\xf6\x7e\x11\x86\x91\xaa\x46\x7a\xa8\x1d\x5a\x1a\x62\x68\x94\xa3\x61\xaa\x9b\xe0\x13\x82\xe0\x0d\x40\x9b\x32\xda\x9a\xa4\x68\x0c\x43\xd8\x3e\x2f\x3f\xb0\x4d\xd8\x8c\x18\x9b\xf2\xe8\xdc\x31\xee\xd8\x8e\xd5\x6c\xaa\xe4\x08\x77\x3a\x9d\xee\x66\xd3\x37\x0c\x66\xbc\x10\x48\x59\x3c\x45\x8e\xb1\x69\xf6\x8d\x4e\xb3\xc9\xc0\x2c\xb3\x6f\x36\x9b\xa6\x65\x3b\x60\xa4\xc3\xeb\x4e\xc7\xb0\x2d\x78\xed\x38\x96\x61\x43\x9e\x6b\x77\x3b\x1c\xc5\xed\x58\x8e\xc3\xf3\x1c\x83\x19\xca\x2c\xcf\x31\x3a\x7d\x99\xd7\xb5\x44\x9e\x69\x4b\x38\xab\x27\xe1\xec\xae\x2b\xf2\x1c\xc1\x82\xeb\x38\xa6\xc1\xd9\xb2\x4d\x89\x6c\xf6\x5d\xd7\xe0\xd8\x90\xec\x41\xae\xe5\x5a\x66\xc7\xe4\x0d\xdb\xc7\xa3\x51\xd7\xed\xa1\x5e\xb7\x3f\x46\x23\xd3\x74\x1c\x64\x9a\x4e\x0f\xd2\xae\x81\x4c\xd3\x35\x59\xba\x63\x39\xc8\xec\xb8\x00\xd3\xe9\x9a\x88\xfd\xf0\xb4\xcd\xd2\x1d\x9e\x76\x59\xba\xcb\xd3\x7d\x96\x06\x78\xc7\x76\x91\xe9\xd8\x3c\xed\x58\xc8\x74\x1c\x80\x71\x4d\x13\x99\xae\x6d\x40\xba\xd3\x43\xec\x87\xa5\xbb\x8e\x81\xcc\xae\x0b\x34\xbb\x6e\x97\xa5\x79\x7e\x97\xe5\x77\x6d\x96\xee\x19\x5d\xc4\x7e\x78\xba\xcf\xd2\x40\xbf\xd7\x31\x90\xd9\x73\x5d\x96\xee\x3b\x3d\x64\xf6\x01\xd7\x32\xac\x2e\xb2\x0c\xdb\x61\x69\xdb\x70\x90\x65\x1b\x2e\xa4\xdd\x0e\x62\x3f\x3c\xdd\x47\x96\xdd\xe5\xf9\x3d\x13\xb1\x1f\x9e\x66\xf0\x3d\xa0\xd3\x31\x2c\x64\x75\x0c\x1b\xd2\xb6\x8d\xd8\x0f\xa4\xfb\x2c\xbf\x6f\xf1\x74\x17\x59\x8e\xc1\xca\x65\x39\x46\x9f\xa5\xfb\x90\xb6\x0d\x64\x39\x36\xd0\x74\x5c\x13\x59\x8e\x0b\xf0\xae\x65\x20\xf6\xc3\xd3\x0e\x4b\x03\x0f\xae\x6d\x22\xcb\xb5\x39\x8c\xcd\xf2\xed\x2e\xa4\xbb\x16\xb2\x5c\x90\x83\xe5\xf6\xfa\xc8\x72\xfb\x80\xdb\xed\xf4\x10\xfb\x81\xb4\x63\x23\xab\x0b\x72\xb6\xba\x4e\x1f\x59\x5d\x97\xc3\xb8\x0e\x4b\x83\x1c\xba\x3d\x17\x59\xdd\x1e\xc0\xf4\xcc\x2e\x62\x3f\x90\xee\xba\x88\xfd\xf0\x74\x9f\xa5\x81\xff\x1e\x93\x49\xaf\x07\xdf\xed\xf5\x6d\xc4\x7e\x58\xba\xcf\x64\xd2\x37\x80\xcf\x7e\xc7\x45\xec\x67\x8c\x46\xb6\x61\xf4\x10\xfb\x81\xb4\x65\x22\xf6\xc3\xd2\xa6\xdd\x41\xb6\x69\x03\x8c\xd9\xb1\x90\x6d\x76\x3a\x3c\xed\xb2\x74\x1f\xd2\x4e\x17\xd9\x5c\x0f\x6d\xcb\x35\x10\xfb\xe1\x69\x9b\xa5\x6d\x48\x77\x59\x7e\x97\xe7\x77\x5d\x96\xee\x42\xba\xdf\x43\xb6\xd5\x07\x3a\x76\xdf\x46\xb6\xdd\x67\xe5\xb5\x3b\x86\x83\xd8\x0f\x4b\xb3\xba\x60\x3f\x3c\xdd\x43\xb6\xd3\xe1\x69\xc6\x8f\xd3\x61\x65\xb1\x5d\xdb\x46\xec\x87\xa7\x5d\x64\xbb\x22\xdf\x71\x90\xed\x42\xdd\xd9\x5d\xd7\x44\xec\x87\xa7\x3b\x2c\x0d\xdf\xed\x76\x59\x7e\x97\xc3\xf4\x58\x7e\x0f\xf2\x7b\x0c\xa6\x07\xf2\xb7\x99\x0c\x6d\x2e\x43\xbb\xd7\x77\x58\x5a\xe4\x77\x59\x1a\xca\xd2\x77\x6c\x64\xf7\x41\x9f\xed\xbe\xdb\x43\x76\x9f\xd3\xec\x77\x3b\x2c\x0d\xf0\x7d\x46\xbf\xdf\x07\x1e\xfa\x7d\x1b\x75\x0c\x8b\xc9\xad\x63\xd8\x3d\xc4\x7e\x58\xda\xec\x98\xa8\xc3\xe5\xdc\x61\x72\x66\x3f\x90\x76\x0c\xd4\x31\x1d\x93\xa7\x6d\x96\xb6\x21\xdd\xeb\xa0\x8e\xd9\x63\xf4\x3b\x9d\x4e\x0f\x75\x5c\x68\x6b\x9d\xbe\xd3\x47\xec\x67\x8c\x46\x4e\xdf\x70\x91\xd3\x87\xfa\x75\xfa\x76\x0f\x39\x7d\x90\xa1\xd3\xef\x1a\xc8\xe9\x43\xff\xe0\x1a\x86\x85\x5c\x03\xda\x8b\x6b\xb8\x3d\xe4\x1a\x20\x1f\xd7\xe8\x9a\xc8\x35\xa0\xbe\x5c\xa3\xe7\x22\xf6\xc3\xd3\x7d\xe4\x1a\x50\x77\xae\x69\xf4\x11\xfb\x81\xb4\xe3\x20\xd7\x04\x7d\x76\x6d\xd3\x46\xec\x87\xa5\x3b\xb6\x85\xdc\x8e\xdd\xe1\xe9\x3e\x72\x3b\xc0\x83\xdb\x71\x0c\xc4\x7e\x78\xba\xcb\xd2\x40\xc7\xed\xf6\x91\xeb\xf6\x20\xbf\x6f\x5a\xc8\xed\x9b\x0e\xa4\xdd\x0e\x62\x3f\x3c\xed\x22\xb7\xdf\xe5\x30\x5d\x06\x03\x32\x77\xfb\xdd\x1e\x4b\xb3\xf2\x76\x0d\xb3\x8f\xba\x86\xc5\xf8\xe9\xba\xa6\x8b\xba\xbc\xcd\x76\xdd\x6e\x0f\x75\x5d\x68\x2f\x3d\xcb\xb0\x51\xcf\x02\xb9\xf5\x2c\xbb\x83\x7a\x16\xd4\x45\xcf\xea\xf5\x50\xcf\x82\xfa\xea\x31\x5d\xed\xd9\x20\x9f\x5e\xc7\x30\x50\xaf\x03\xfd\x83\x69\xd9\xb6\x81\xd8\xaf\x03\x4f\x9d\x8e\x89\xd8\x2f\xe3\xa3\x63\x1b\x66\x07\xc1\xaf\x78\xea\xc3\x53\x9f\x3f\x75\x1c\xf6\x04\xb5\xeb\x76\x2c\x26\x5a\xf6\xcb\x9e\x1c\xc3\xea\x20\xd7\x31\xa0\x27\x76\x1d\xc3\x71\xd9\x13\x97\x8b\x63\x31\xc1\xb0\x5f\x78\x72\x2c\xf6\xc4\xfb\x2a\xb7\x67\xf4\xbb\x88\xfd\xc2\xbb\x9e\x69\x98\x88\xfd\x5a\xe2\xa9\xc7\x9e\x4c\x0e\x69\x3a\x16\x7b\x72\x3a\xe2\xa9\x0f\x4f\x7c\x64\xe9\x9b\x1d\x1b\xc1\x1f\x47\x3c\xc3\x58\xd3\x37\x41\xd2\x90\xe0\xef\xc5\x48\xd4\xb7\x4c\x36\xfe\xf4\x2d\xa8\x69\xd3\xec\xdb\xae\x85\xe0\x0f\xa3\xde\x67\xc3\x84\x83\xf8\x1f\xf1\x6c\xbb\xec\xd9\x05\xae\xfb\x66\xb7\xeb\x1a\xec\xb9\xdf\xef\x8f\xc7\x43\x31\xb8\x27\x46\x8a\x9f\x8c\xf7\x06\xc6\xd8\x3f\x21\xed\x60\xbd\x18\xf8\x47\xb6\xb5\xd9\xf8\xc7\xd8\xb4\xba\xcd\xa6\x7f\x64\xba\xc6\x09\x69\x4f\xc2\x80\x46\xe1\x62\x40\x55\x5f\x3b\x31\x06\x11\xfb\x63\x0d\xcc\xed\x56\x7d\x62\x48\x06\x92\x00\xc6\x56\xfb\x73\x62\xcd\x04\xe4\xa1\x71\x49\x66\x67\x5f\x57\xaa\xa2\x9e\x0c\xfe\x7b\x33\xfa\xef\x9b\x9b\xa9\xd7\xfa\xe7\xcd\x4d\xbb\x35\xd6\x35\x55\x85\x58\x94\x27\x83\x9b\x9b\xc3\x9b\x9b\x43\x4d\x55\xd5\x51\x06\xe0\xe6\xa6\xad\x8e\xf8\xe3\xf8\xc9\x42\xee\x56\xd3\x36\xaa\x7a\x73\x33\x7d\x32\x91\xbd\xbd\xb9\x69\x6b\x4f\xec\x0f\x7f\xd4\x36\xea\x22\x9c\x78\x8b\x79\x18\x53\x4d\x53\x07\x3c\xdf\xd9\x6a\x27\xea\xcd\xcd\xe1\x08\xbe\xf1\x70\x73\xd3\xbe\xb9\x69\x7d\xff\xaf\xf1\x6b\xed\xb5\x7a\x73\x73\x32\x32\x5a\x7d\xc8\x1e\xdd\xdc\x8c\x6f\x6e\xd4\x9b\x1b\x0d\x00\x4f\x6e\x6e\x0e\xfe\xe3\x3f\xbf\xfb\xbe\xf9\xea\xb5\x8e\x06\xc3\x7f\xdd\xdc\x60\x8e\x3a\x7e\xad\x9d\xa8\xff\xf1\x4d\x68\x9a\xfa\x1d\x48\x20\xc5\xc7\x58\xd7\x14\x0d\x85\xd8\xa8\x8c\xc5\x23\x4d\xe2\x80\x1f\x64\xfd\xfc\xde\xa3\x93\x39\x89\xce\xa7\x38\x14\x26\x70\x14\x3e\x88\x88\x0a\xe7\xd3\x18\x8f\xe4\x26\x82\xc5\x0e\x78\x97\x1b\x91\x99\x1f\x53\x12\xa5\x28\xa9\x3e\x82\x49\xe7\x13\xb8\xb4\xce\x83\x29\xf9\x3a\x30\xb7\x5a\x69\xc0\x1f\x4a\xbd\xc9\xfc\x3a\x7c\x17\x2e\x73\x41\x7f\xf8\x27\x65\x30\x53\x19\xce\x92\xb1\x16\xe7\x8f\x43\x32\xbe\xfc\xfb\xc7\xcb\xf0\x61\x47\x83\xa6\xdc\x3f\x92\x48\x26\x34\x58\xb6\x90\x23\x3a\x1e\x46\xcd\x26\x8f\xc9\x24\x82\x49\x24\xe7\xe0\xf2\x90\x38\x15\x71\x62\x27\x19\xce\x41\xfb\xce\x0f\x78\xe8\x1f\x44\x35\x44\xda\xd7\xe7\xef\xcf\x6e\xdf\x9e\xfd\xf0\xf1\xf2\xec\xf6\xe2\xfc\xc3\x5f\xcf\x7f\xf8\xb5\xe0\x57\x21\xf4\xc7\x47\xa6\xff\xa2\x3e\xe4\x7c\xa2\x38\x89\x49\x57\xc0\x28\x1c\xcb\x60\x6a\x98\x54\x13\xfc\xd9\x5b\xf8\x53\xee\xc7\xf0\x16\x8b\x3b\x6f\xf2\xf9\x19\x74\xbf\x14\x91\x48\x7e\xba\x55\xa8\x75\x9c\x6f\xef\xfe\xbd\xca\x23\xf8\x89\xe8\x23\x11\x7e\xda\x4a\x91\x16\x74\xef\x00\xe3\xb0\xd9\x3c\xa0\x1a\x9d\x47\xe1\x43\x83\xb5\xf3\x33\xee\x61\x14\x85\x6c\x2c\xd7\x31\x6d\xdc\x91\x06\xef\x32\xa6\x8a\xec\x12\x9e\x7c\x11\xb5\xb0\x48\x54\xd7\x51\x44\x66\xe4\xeb\x80\x20\x41\x65\x40\x51\x4a\x29\xa3\xf6\xee\x01\x15\x0b\x3d\x88\x4a\x24\x81\x56\x91\x1f\x46\x3e\x7d\x1c\x44\x6d\x99\x64\x53\x42\xd9\xb1\x72\x56\xbc\xe9\x34\xc5\xc9\x75\x78\xe1\xc7\xac\xd3\x44\x7e\xdb\x9f\x66\x25\x59\x0a\x9a\x77\x63\x1a\x07\xd2\x55\x99\xae\x2a\x31\x83\x4c\xef\xb3\xae\x04\x6a\x99\x43\x7a\x8c\x8d\x21\x6d\xb5\x34\xd8\x6e\x20\x79\x3f\x2a\xc1\x19\xd1\x71\xf2\x3e\x1d\xd2\xaa\x51\x42\x5e\x1e\xb8\x80\x13\x51\x44\x7a\x7c\xcb\x40\x0c\x00\x48\xbb\x7b\x33\x50\x70\x7e\x87\x14\x4e\x2c\xd5\x6b\x5a\xba\xec\xbb\x03\xc2\x25\xe5\x87\xed\x13\x49\x8f\x90\x2f\xac\x3f\x65\x73\x59\x2d\x53\x85\xa5\xa5\x44\xa6\x86\x0e\x8c\x61\x32\x71\xce\x56\x65\x59\x47\x94\x09\x58\xc8\xfb\xaf\x11\x19\x43\xa4\x2b\xed\x89\xa6\x83\xc0\x0e\x65\x51\x22\x6c\x0c\xa3\x9a\xa2\x44\xba\x9e\x89\x50\x98\x2d\x4e\x34\x4e\x96\xbb\xa6\xe1\x45\xc2\x91\x4a\x91\x0f\x01\xb6\xc2\x24\x30\x23\xa8\x96\x5f\xa2\xe3\xc9\x16\x94\xb2\xc0\x8b\x21\xb0\x5f\x82\xa5\x66\x4a\x83\x28\xca\xec\xb9\xdd\x6c\x0a\x5b\xc6\x78\xe0\x44\x3f\x00\x52\x2d\xf0\x97\x69\xcc\x70\x08\xb0\x31\x0c\x8e\x24\x9f\xc3\x40\xd7\xb5\x58\x0d\x34\x21\xf5\xed\x36\xd7\x7f\x66\x8a\x99\x1b\x45\xb8\x38\x47\x63\xe4\x63\xca\x6b\x39\x44\x31\x26\xed\xc9\xdc\x5f\x4c\x3f\x84\x53\x12\xa3\x40\x44\xb2\x14\x7c\xf3\x2e\x41\xa5\x6d\xe8\x39\x40\x62\x07\xc1\x66\xc3\x3a\xb1\x40\x36\x38\xa1\x27\x51\x52\x63\x1e\x0e\x46\x4a\xb0\x5e\xde\x91\x48\x39\xc0\x8c\xab\xf0\xbe\x41\x53\xbd\xcb\x89\x31\x48\x3f\x8e\xd1\x02\x07\x6d\x9f\x25\x75\x4f\x2e\x54\xce\xb1\x31\x9c\x1f\x25\xb5\x3c\x97\xb5\x3c\xc1\xf1\x68\x3e\x46\x6b\x3c\xc9\xf0\x09\xd8\x1f\xef\x55\x0f\x78\x5c\x1f\x63\x83\x83\xcb\x05\xee\x49\x44\x3c\x4a\xde\x04\x93\x79\x18\x89\x50\x84\xaa\x87\xa8\x1c\x34\x84\x36\x64\x69\x26\x07\x2e\x25\x53\xac\xc9\xd8\x18\xe3\x49\x3b\x08\xa7\xe4\xfa\x71\x25\xa3\xaa\x89\x60\x9f\x4c\x84\xea\x04\xad\xf8\x1e\x24\xf8\xfe\x14\x4f\x18\x61\xe5\x8d\x82\x31\x9e\x02\xde\x07\x6f\x49\x76\x42\x9b\xb6\xfd\x20\x20\xd1\x8f\xd7\xef\x2f\xb0\xa2\xa0\x69\xdb\x5b\xad\x48\x30\x3d\x65\x55\xa2\xae\x44\x07\x01\xac\xed\x6a\xa9\xb8\x3b\xea\x1e\x1b\xc3\xfb\xa3\x12\x98\xe1\xbd\x14\xdc\x0c\xa7\x5f\x8f\xee\xc7\x68\x89\x67\x35\x32\x6c\x99\x07\x18\x2f\xe5\xa0\x98\x2a\xe1\x95\x0c\xe6\xfa\x8b\x4f\xe7\x50\xe4\x19\x5a\x21\x0f\x2d\x85\x57\x59\xac\xe3\xcc\x75\xfc\x0c\xd4\x09\xa0\xae\x79\xa4\x51\xde\xeb\xad\x34\x74\xa0\xe6\xf5\x70\x17\x41\x76\xa1\xe5\x94\x52\xab\xd2\xc7\x6f\xd0\x43\xbd\xa0\x88\x49\xc8\xee\xdc\x3a\x5b\x99\x46\x15\x06\xfd\x74\xb7\x94\x44\xa2\xe7\x88\x52\x09\x15\x4f\x91\x6d\xb9\xe1\x67\xa3\x60\x23\xbf\x3d\x8d\xbc\xd9\xcc\xbb\x5b\xc0\x1a\x50\x74\xa2\xfa\xed\x79\x44\xee\xe1\x15\xf5\xa2\x19\xa1\x58\xb9\x85\xe3\x79\x0a\xf2\x4b\x42\xb3\x4f\x16\xfe\xe4\x73\x2a\x32\x3b\xb7\x43\x68\xd2\xb5\xab\x11\x1b\x83\x34\x6d\xf0\x7c\xe4\x03\x3f\xd5\x71\xb1\x19\x8e\xe7\x07\x71\x79\xef\x95\xff\x0c\xca\x1d\x2d\x4a\x6b\x46\xc5\x28\x36\x1a\xa3\x08\x9b\xc3\xe8\xc8\x8b\x66\x20\xbd\x4c\xb7\x4f\x47\x51\xcb\x1c\xe3\xe4\xdd\x28\x1a\x27\x9d\x90\x8f\x49\x7b\xe5\x45\x24\xa0\x8c\x3c\xe2\x21\xff\x64\x9b\x1e\x86\x6c\xfc\x13\xeb\x6f\x6f\xc9\x7d\x18\x11\x95\x8e\xc2\x31\x1b\xb2\x7d\xb1\xdb\x8a\xb7\xc0\xfc\x10\x5c\xab\xcd\xb9\xfa\x47\x3e\xdf\x9f\x01\x41\xb8\x0b\x2d\x13\x02\x70\xa6\xf3\x47\xc6\x58\x43\x36\x6c\xe6\x48\x75\x2f\x39\xfb\x8f\xd7\x3a\x83\x4f\x4c\x40\xaf\xc1\xb4\xa6\xc1\x70\x1a\x61\xd4\x08\x83\xc5\x63\x43\x54\x4c\xc3\x6b\xc4\x7e\x30\x5b\x90\x1d\x88\xb0\x14\xc3\x6c\xfb\x62\xcd\x0f\x66\xbc\x5c\x67\x63\x1c\x66\xa2\x43\x8b\x96\x85\x82\x72\x5d\xbe\x26\x5f\x81\x25\x35\xd6\xb2\x86\x5f\xba\x5f\x64\x22\x09\x34\x64\x6c\x21\x94\x23\xce\xb5\x6f\x61\x97\x25\x9f\x7a\xe2\x03\x49\x9a\x0d\x03\xf9\x1a\x5a\xec\xe1\xc0\xab\xe5\x60\xc1\xa6\x21\xc6\x96\xdf\xd4\x50\xa0\x3d\xd9\x43\x7b\xae\xa1\x75\x06\xcb\xd7\x77\xa2\x59\xed\x41\x5e\xd7\x32\x36\x41\x14\xad\x34\x64\x8a\xb5\x94\xb8\x6c\xa6\x84\x2d\xc3\x40\xb4\xcd\x47\x77\x9f\x44\x38\xfe\x77\x44\xb0\x7d\xda\x0e\xe3\x11\x2c\x9d\xbf\x3d\xbb\x18\xe7\x0c\x8a\x24\xdc\xef\x1d\x59\x2c\x54\x6d\x8b\x04\xe8\xc5\x0f\x95\x90\x32\x2a\x60\x0a\xfa\xe7\xeb\x31\xde\x21\xca\xdc\x1f\x7e\x28\xcb\x3d\xbd\xac\xa4\x9c\x8d\xc3\x97\xa2\xff\xf6\xaa\x9a\x6f\x19\x81\x2f\x05\xfe\xe3\x75\x25\x38\xf5\xee\x52\x80\x57\x1f\x2b\x01\x65\x24\xbd\x34\xf4\x79\x3d\xf4\x79\x9a\xe5\xb3\xab\xd3\x0a\x68\xbe\x68\x4a\x3d\x4a\xd4\x39\x03\x7b\xf3\xe9\xec\x9d\xb6\x15\x8b\x6d\x4f\xdb\x61\x30\x52\x46\x4a\x1e\x97\xb2\xae\xd0\x5b\x72\x3f\x45\x7b\xb2\x8e\x58\xbf\xf8\x89\x65\x61\x03\x65\x28\x9e\x5e\x9d\xdf\x7e\x7a\x73\xf9\xe6\x3d\xb3\x3c\x47\xca\xf8\x77\x90\xfa\x78\x75\xca\x88\xb4\x3f\x7d\x33\x85\x77\xa7\x57\x40\xe1\x36\x47\x21\x03\x74\xfe\x97\x0f\x1f\x2f\xcf\x38\xbb\xff\x5d\x60\xb7\x02\xb4\x3d\x29\x30\x25\xf6\xcd\xb3\x97\x67\x85\x97\xb0\xce\xcb\x2d\x03\x55\xcb\x32\xf9\xe1\xe3\xe5\xfb\x37\x17\x80\xf7\xae\x80\xb7\x0f\xe3\x7d\x09\x1b\x5f\x48\x14\x93\xf3\x7a\xc4\x91\xf2\x7d\x49\xcd\xa4\x03\x2c\x22\xba\xff\xdc\x55\x19\x71\x96\xf9\xd9\x5f\x7d\x60\x7d\xf3\xdc\x8b\x40\x20\xa2\xe9\xbd\xf9\x30\xce\x0c\xd3\x65\x1a\x29\x59\x1c\xf2\xfe\xfb\x69\x3b\xf4\x46\xca\x89\x52\x8d\xf8\x09\xd6\xf5\x55\xe5\x44\xd1\xb6\xc8\x1b\x29\xc7\xcf\x80\x3d\x16\xb0\x07\xcf\x80\x3d\xe0\xb0\x46\x0d\x24\x53\x3d\xd5\x34\x5e\x93\xf6\x4c\x3e\x69\x80\x64\xbe\x10\x49\x37\x01\xcd\x7a\x29\x9a\x05\x68\xf6\x4b\xd1\x6c\x40\xeb\xbc\x14\xad\x03\x68\xce\x4b\xd1\x1c\x40\x73\x5f\x8a\xe6\x02\x5a\xf7\xa5\x68\x5d\x40\xeb\xbd\x14\xad\x07\x68\xfd\x97\xa2\xf5\x19\x5a\xfb\xbb\x6a\xac\x30\xa6\xa0\x4d\xdf\x71\x6d\x7a\xa5\xbc\xaa\xf9\x84\x00\x7e\xa5\xbc\xe2\x6a\xda\xa8\x53\x53\x49\xb9\x21\x74\xfa\xd5\x73\x80\x5f\x09\xe0\x61\x15\xb0\xbc\x7a\x45\x14\x90\x01\x7f\x63\x1b\x5e\xb0\x36\xbc\x18\x29\xff\x99\xeb\x6f\x98\xb5\x91\x20\xa7\xe2\xb7\xaa\x54\xdb\xa2\x45\xfb\x4d\x35\xb0\x8c\x6d\x2a\x20\xdf\xee\x83\x7c\x17\x3e\x04\x02\xf6\x74\x1f\xac\x88\x02\x28\xc0\xdf\xed\x03\x97\x71\x36\x04\xfc\xd9\x3e\x78\x19\xed\x52\xc0\xff\xb0\x0f\x3e\x13\x68\x52\x20\xfd\x65\x1f\x52\x3a\x14\xa4\xc0\xf9\x71\xef\x87\xe4\x35\x37\x1c\xfe\xfc\x99\x72\xba\xf6\xee\x04\xc6\x7f\x55\x63\x64\x63\x1e\x0a\xf8\xbf\xee\x85\x4f\x15\xf9\x62\x9f\xe6\x40\xc4\x2e\x01\xfc\xbe\x1a\x38\x15\xde\x4b\x00\x7f\xda\x07\x9c\xd6\xc9\xab\x6a\x60\x19\x19\x49\x40\x5e\x17\x20\xe5\x0c\xe5\xc8\x6a\x36\x0f\xa2\x66\x33\x1d\xee\x47\x20\xfd\x6d\x8f\x48\xd2\xac\xfc\xef\xe7\x6a\x66\x52\x43\x23\xe5\xef\x75\x2d\x30\x17\xca\x45\x7c\xc6\xab\x46\x28\xc4\x55\x11\x28\x77\xd5\x28\x55\x51\x4e\x04\xe6\xa4\x46\xbc\x25\x41\x44\x04\xd6\xb4\x1a\x2b\x17\x33\x42\x20\xe4\x67\xd9\x29\x84\x42\x00\x07\x81\x72\x5f\x23\x86\x9f\x73\x4d\x67\x56\x0d\x2b\x43\x05\x08\xc8\x79\x5d\x79\xf9\x91\x44\x0e\xb8\xa8\x13\x69\x16\x74\x59\x5f\xc3\x05\xe9\x05\x75\xfa\xbf\xdb\x08\x2e\xa0\x57\x05\x68\xb1\x2d\x35\xe2\xdb\x52\x95\x03\x65\x90\xda\xd9\xcc\xb0\x18\xda\x6f\x25\x7e\x0d\xa5\xa1\x60\x8c\x7d\x68\x08\x99\x9d\xb0\xe2\x53\xf9\x5b\x4b\x32\xe3\x4c\x6a\xcb\xa7\x00\x8f\x2b\xc1\x93\xbd\x93\x02\x72\x5d\x05\x99\xd9\xf3\x28\xda\x4c\xd9\x98\x87\x44\xb0\xa8\x04\x35\xac\x1c\xfb\xe6\xc3\x83\x6c\xa4\x0c\x22\xde\x63\x63\x8c\x15\x9e\x54\x10\xcb\x16\x13\x31\x6c\x8e\xb1\x22\xd2\xfc\x45\x32\x9f\xc2\xd6\x18\x2b\xc9\x53\xf2\x12\xdb\x3c\x9b\x67\x7c\xbc\x3a\xc5\x9d\x31\x56\x3e\x5e\x9d\x0a\x08\x6e\xaa\x63\x87\x41\xf1\x34\x7f\xf1\xee\xf4\x0a\xbb\x63\xac\xbc\x3b\xbd\xe2\x19\x7c\x6e\x83\xbb\x63\xac\xf0\xa4\xb2\x55\xe7\x9b\x8d\x3a\xc7\x4f\x5b\x8d\x4f\xed\x27\x15\x4b\xe0\xa9\x15\x66\x3f\xbd\x85\x33\x7f\x70\x2d\x09\x6d\x12\x33\x61\x61\x29\xac\xb2\x95\x6c\xb8\x12\xb4\x34\x4c\xd7\x04\xad\xd1\x2a\x39\x8f\x34\xdc\x85\xa0\x4d\x6e\x12\x2b\xee\x1f\x5f\x47\x51\x38\xf3\x28\xb9\x9d\xfb\xb3\x79\xd9\xc5\x35\x59\x08\xbd\x70\xe2\x2e\xfb\x1e\x2b\x8a\x5c\x99\x93\x1f\x3d\x5a\xe5\x32\x74\x1d\x7c\x77\x11\x26\xa3\xec\x8b\x31\x72\x1c\xab\xef\x1e\x61\x75\x82\x79\xa3\x3c\x0d\xa7\xe4\x0d\xcd\x95\x42\xd3\x9a\xcd\xc9\x11\x76\x5c\xdb\xec\x03\xa5\x75\x1d\xb4\x6e\x6a\xc8\x8f\x3f\x78\x1f\xd4\xb5\x56\xdc\x18\x9c\x65\x3e\x1a\x4e\xc2\x80\xfa\xc1\x9a\x6c\x27\xd8\x34\xac\xce\x6b\x75\xd2\x02\x9e\x34\x5d\x5d\xb7\x1c\xd7\xb6\x0c\x4d\x77\x1d\xc7\x76\x51\xa4\x63\xd9\x71\x14\xbf\xb8\x85\xfd\xb0\x00\x7f\x84\x27\x9c\xdd\xae\xdd\xb1\x35\x79\xe2\x23\x55\xd9\x62\xdb\xba\xac\xf2\x41\xd4\xf0\x83\x46\x7c\x12\x8f\xa2\xb1\x58\xde\x2f\xa8\x8f\x3c\x23\x93\xce\x93\x57\x1a\xa9\x11\x9a\x64\xf6\xa0\x27\xae\x8c\x01\x13\x3a\x23\x1e\x68\x4f\x41\x8e\xba\x94\x88\x5c\x67\xc8\x75\x5e\xaa\x02\x1b\xd9\x15\x4d\xfc\x7d\x2d\xfe\xea\xe2\x6f\x4b\xfc\x6d\x2b\x83\x22\x66\xfe\x48\x80\x3c\x2f\x90\x3e\x58\xca\x28\x57\xc1\xa5\x4f\xab\xb2\x2f\x57\xc1\x59\x69\x38\xbd\x1a\xce\x4e\xc3\xb5\x9e\xf9\xdd\x76\xcd\x77\xb7\xd9\xa6\x2b\x3a\x93\x34\xf6\x61\x0d\x37\xa8\x14\x1b\x65\x75\xaa\xd5\x4a\x93\xfb\x20\xc4\xfd\x51\x49\x9d\x07\x57\x82\xc2\x47\x76\x4e\x0b\x2b\xad\x12\x4a\x28\xf0\x37\x35\x18\x76\x06\x63\xfb\x6c\xda\xff\xaa\x81\x34\x33\x90\x5d\xa5\x4c\x8d\x53\xa3\x92\x56\xda\x27\xa6\x49\xf4\x4a\x49\x64\x87\xab\xfd\x54\xfe\x43\x52\xc9\x82\xa0\x7c\xb7\x95\xc6\xf9\xb1\x50\x4c\xea\xdd\x5d\xa5\xa2\x43\x54\x7f\x0e\x17\x50\xff\xaf\x06\x8a\xd9\xcb\xef\x71\x05\xbf\xff\xde\x38\x03\x75\x6c\x4e\xc9\xbd\xb7\x5e\xd0\xba\x5a\xac\x3a\x4e\x78\x76\x75\xda\x90\x9b\x09\x1b\xdf\xc7\x6d\x38\x48\x93\xe9\x3d\x45\x83\xe4\xfd\x72\x28\x1f\xaf\x4e\x54\x8a\x77\x4f\xa3\x68\x8c\x94\x43\x85\x6f\x40\x82\x2f\x66\x3d\x7d\xda\x80\x41\xe7\xbc\x84\x75\xc1\x93\x2a\xba\x0b\x44\x0b\x52\x9d\x95\x9c\xbf\xaa\xac\xcc\x06\xf8\x8e\x61\x24\x60\x36\xa6\xf0\x87\x6f\x36\xc9\xd3\xdb\xb3\x8b\x9d\xe9\x9a\x02\x91\x31\x34\x76\xad\x21\xcf\x07\xf7\x3c\xf3\x75\xe6\xe2\x99\xb3\xc4\x11\x5d\xbc\xfb\x08\xf0\xd2\x91\xd6\x6b\x8f\x71\x09\xf0\xb2\x6b\xec\xa8\x4f\x17\x05\xfb\x25\x81\xcf\x7f\x97\x6f\x4f\xb8\x66\x38\xa5\x84\x34\x6d\x5b\x4a\x6a\xb7\x4d\xb1\xb4\x7c\x89\x8d\x95\xb3\xe4\xca\x0e\x9f\x0a\x91\x71\x7b\x2d\x1f\x3d\x30\x4d\x54\xc7\xd1\x20\x3a\xc6\x8a\xa1\x34\x9b\xd1\x11\x56\xfa\x4a\x1d\x34\x36\x8d\xd7\x75\xc4\xa2\xb4\xb5\x64\x68\xad\x4e\x6f\xa0\x0c\x95\xf2\xab\xbb\xbe\xb5\x56\x33\xfc\x28\x4a\xce\x22\x49\x8c\xf5\xc4\x26\xf1\xb4\x27\x4f\xda\x24\xd2\x08\x01\x92\x39\x77\x5b\x7e\xb4\xbc\x3a\x4f\xd1\xe4\x6d\x74\x71\xb2\x90\x94\xb2\x03\x43\xb9\xe6\x15\x72\xc1\xbb\x5d\xc8\xe5\xfe\x41\xc8\xde\x77\x44\xf9\xf4\xea\xbc\x31\x09\xa7\x24\xe9\x50\x4a\x35\xa2\xfc\xbb\xc9\x9d\x9b\x85\x4f\x63\x45\xc9\x0a\xf1\xdd\xe9\xd5\xbe\x86\x5c\xdf\x82\x87\x7c\x17\x0d\xdf\x3b\x89\xee\xe5\x35\xc8\x19\x13\xb5\x70\xa2\x19\x86\x84\x8c\xdd\xf1\xdd\x6f\x89\xd5\x37\x2d\x89\x70\x90\xa8\x01\xba\x67\xfd\xfd\x94\x93\x78\xa5\xfc\xf6\x6a\x30\xc5\xaf\x0c\xe5\xb7\x57\xa9\x62\xbd\x52\x56\x90\xed\x9a\xca\x2a\x9d\xaf\x44\xca\xa0\x40\x3c\x39\x9f\xa8\x9b\xa5\xe7\x8b\xd3\x47\x13\xe1\xa8\x71\x94\x96\xa0\xb2\x64\x24\x15\x63\xa9\x94\x8e\x22\x55\x95\xfb\xee\xf4\xaa\xf1\x89\x8a\xaa\x9d\x6a\x68\x8a\x15\x25\xdf\x51\xe4\xce\x44\x7f\x52\xf4\x86\x7e\xaf\x2b\xdf\x45\x8a\x3e\xd5\x77\xf9\x37\x37\x99\x76\xa1\xe8\xab\x8c\x5c\xf5\xdf\x4a\xca\x5c\x14\xe8\xf3\xbe\xad\x57\x7f\xfb\xf9\xe5\xe6\x3a\x20\xca\x5e\xae\x1f\x79\x51\x94\x76\x8d\x95\x3a\xff\x8c\x3e\x33\x4d\x70\x5f\x97\x59\xfa\xb5\xcd\x46\xf9\x0e\x3a\xbb\xcd\x46\xd1\x21\x71\x52\x12\x51\x8a\xc3\x3e\xa3\x6b\xae\xfa\x4c\xc9\xf7\xb3\x68\xd9\xc6\xcc\x1d\x0b\x83\xe8\x20\xdd\x60\x93\xa7\xb7\x67\x17\x9b\xcd\xf3\xc6\xe3\xac\x08\xb5\x64\x8f\x55\xea\x6d\xf1\xa0\x30\xe0\x14\xb7\x6b\x73\x5a\x45\x78\xbe\x00\xb8\xff\x48\x71\x19\xaa\xe8\xcc\xea\x70\x05\x48\x09\x32\x48\xae\x3e\x28\xc0\x4e\xc2\x39\xfc\x59\x01\x7f\xb7\x4d\xa0\x9a\x4a\xf9\xb5\xfb\x05\x42\x7f\xc6\xa8\x99\xbb\xcc\x2a\x6d\x50\x16\x3f\xbd\xd3\x83\xe4\xcc\xf0\x27\x66\x16\x46\x78\xb2\x67\x2b\x4b\xe2\xad\xf2\x53\x07\xec\xdb\xe1\x43\x40\xa2\x77\x15\xfb\xea\xe2\x95\x17\x28\xec\x13\xa9\xfd\x95\x73\xb2\x58\x84\x8d\x87\x30\x5a\x4c\x15\x44\x32\x5b\x2d\x29\xf7\x91\x45\x98\x8a\x9b\xb8\x7f\xf1\xa7\x10\x2f\x87\x66\x6e\xfe\x1e\xca\x0b\x33\xef\xc3\x80\xfe\xc2\xef\xc6\x56\xee\xc2\xc5\x34\xb9\x0e\x3c\x83\x1e\xe7\xd1\x53\xee\xca\xdd\x26\x33\xaa\x21\xd6\x8a\xc2\xcd\xc6\x3f\xc0\x38\xde\x7e\xd3\xc6\x9d\x10\xc5\x38\x52\x6d\x5b\x2b\x3a\x2d\xdf\x7e\xbc\xe0\xae\x49\x96\xe0\xee\xc2\x9f\x3e\xbc\x3b\xbb\xbc\x38\xff\x70\x06\x7e\xc9\xe4\x89\xbf\x7c\x7b\x71\xfe\xe1\xaf\xe0\x88\x84\x94\x70\x30\x7e\xf8\xf9\xec\xf2\xea\x0c\xf7\xc6\x58\x11\xe9\xe4\xc5\xf9\xd5\xf9\xdb\x8b\x33\x6c\xba\xfc\x1d\x7f\x54\xb6\x6a\xb8\xd9\xa8\xe1\xce\x01\x19\x70\xf3\xdf\xab\xf2\x43\x16\xaf\xc5\x96\x67\x4e\x78\xb0\xa6\xcb\xf0\x21\xfe\x5f\x6b\xb2\x26\x3b\xf3\x56\xbc\xf9\x21\xf2\x96\x24\xbe\xfa\xec\xc3\x25\xc2\x46\xf6\xe5\x9b\xc0\x5f\xc2\x84\x0e\xa0\x32\x53\x90\x95\x27\x2f\x26\xe7\x32\xff\x14\x86\x0b\x38\x56\x15\xb7\xdf\x85\xcb\xc2\x2b\xa9\x55\x70\xa2\x07\x63\x1c\x40\x84\x19\xbf\xe2\x96\xd6\xe4\xda\x93\x6f\xfd\x4c\x99\x67\xf5\x37\x56\xfe\x4b\x5e\xb0\xd2\x43\x42\x79\x59\xf1\x06\xfe\x14\x53\x2f\xa2\x03\x82\x48\x30\x1d\xd0\xe4\xe4\x49\xa9\x84\x92\x20\x0b\xe5\xf2\x7b\xf0\x83\x69\xf8\xd0\x16\xd3\xff\xec\xcb\x2c\xe2\x45\x18\xae\x76\x47\x80\xb4\x7c\x4c\xf0\x34\x58\x5a\x25\xca\xae\xb2\xf6\x29\xe1\xd1\xbd\x92\xfd\xfa\x72\x70\x29\xd3\x00\x5d\x3f\xc2\x8e\xf6\xe7\x14\x82\xef\xed\xae\xd3\x3e\xd0\x75\x82\xe8\xee\x02\xef\x42\x9d\x88\x42\x74\x34\xc2\x94\xb5\x3c\x28\x0a\xff\x10\xc1\xe5\x24\x46\xc6\xb8\x0d\x75\x9a\xa0\x97\x41\x90\x60\x9a\x3a\x48\x61\x26\x07\x29\x2a\x18\xe2\xbb\x6a\xcb\xa9\x45\xe2\x7b\x47\x24\xe5\x81\xaf\x84\xd2\x2a\x5a\x2e\x03\x20\xc1\xf4\x98\xa6\xae\x0f\xac\x80\x91\x66\xda\xde\xc6\x5f\xdd\xbe\x65\x90\x37\xd6\x3c\xf2\xe7\x24\xa2\xd2\x36\x04\x82\x1a\xd2\x16\x29\x0d\x66\x7e\x68\x95\xdd\x5d\x28\xe3\x35\xee\xb6\x1b\x17\x63\xe4\x4b\x98\x4c\xb7\x5f\xf8\xc0\x29\xdf\xb6\x4b\xa2\x8a\xfb\xf7\x21\xc6\x74\x8c\x09\x5f\x36\x79\x66\xbc\x75\x70\x84\xfd\x9d\x04\xd3\xbf\x37\xfc\xb8\x41\xc3\xb0\xb1\xf0\xa2\x19\x69\x37\xde\x87\x31\x6d\x2c\xfc\xcf\x64\xf1\xd8\xf0\x1a\x77\xde\xb4\x71\x7a\x75\x09\x2e\xb1\x8a\x08\xed\xc3\xf8\x08\xd3\x61\x2c\x4f\x14\x78\x38\x2e\x5c\x49\x01\xe1\x0b\x17\xd5\xf7\x5a\x78\x1a\x9a\xcb\x39\xdc\xbc\x18\xb7\x07\xe3\xb8\x55\x7e\xa3\x5e\xd9\x87\x8a\x62\x96\x81\x6a\x3c\x4a\x9a\xcd\x7c\x50\xe0\x74\x34\xa6\xbc\xb5\xfc\x75\xd0\x32\x93\x96\x32\xa9\x0a\x3c\xb4\xc6\xb9\xed\xbd\xd2\xf8\xf8\x21\xf2\x66\x60\x76\x68\x68\x05\xc7\x38\x64\x19\xf3\x2c\xb0\x8a\x8f\x48\x30\x8a\xc7\x49\x5a\xb6\x3d\x2e\xd4\xfb\x42\x9d\x97\xa0\x40\x60\xfa\x6a\xb0\xb4\x92\xdd\xd7\x0e\x42\xed\x88\x2c\x88\x17\x13\xf5\x5e\xdb\xca\xd2\xcf\xb0\x31\x9c\x1d\xf9\xc3\x99\xac\xe7\x25\x5e\x8c\x66\xe3\x91\x31\x46\x8f\x3c\x65\x8e\xd1\x1d\x4f\x59\x70\x76\xeb\x0e\xfa\xec\x19\xc6\x78\xde\x6c\xaa\x4b\xdc\x32\x35\xb4\x3c\xc0\x78\xd2\x6c\xaa\x93\x83\xc2\xb4\x45\x48\xb3\xd9\x54\x57\xcd\xa6\x9a\x3e\x00\xb3\x02\xe9\x69\x68\x9d\x31\xcd\x60\x02\xcb\x5a\x35\xa7\x5a\x4e\x4d\xd3\xfc\x7b\x46\xef\x60\xca\x68\xe2\xba\x32\x7b\x93\xdf\xd6\x7e\x44\x54\x4d\x43\xd3\x17\x30\xc1\xb8\x78\x16\x59\x1e\xd3\x6e\xa9\x4d\xf3\x47\xbc\xc4\xde\xce\xd6\x17\x7f\x4a\x42\x45\x43\x05\x00\x59\xa8\x16\x57\x55\x25\x75\x90\xe8\x16\xc2\xd1\x2d\xd1\x29\x5e\xca\x08\x75\x0f\x2c\x69\xf6\x58\x0d\x3c\x34\x43\xb0\xf2\x98\x3d\xb2\xd9\x14\xe8\xf2\xd3\x19\x60\xa6\x6a\xe8\xf4\xa8\xd7\x6c\xaa\xa7\x3a\xee\x69\x1a\x62\x88\x89\xf5\xd7\x6c\x56\x60\xa6\x22\x47\x01\x06\x98\x85\x95\xd0\x77\xfc\xf8\x07\x40\x0a\x4b\x91\x2b\xd2\x15\xbe\x1d\xde\xe2\x53\x74\x8a\xaf\x90\xd9\x7c\x68\x36\x53\xac\x6c\x05\x34\xb7\x1d\x2b\x69\xcf\xa1\xf5\x66\x89\x37\x9b\xaa\xe5\x74\x31\xc6\xb7\xcd\xa6\x7a\x8b\x4d\x47\x43\x96\xe3\x62\x8c\x4f\x19\x71\x6c\x68\x1a\xba\x3d\xb2\x1c\xb7\x9a\xe1\x59\x6b\x12\x2e\xc2\xa8\xa5\xe8\xb7\x4c\x3e\x75\xb0\x12\xf0\x14\xd6\x4f\xd9\xa4\xfc\x4e\x5b\xe9\xf8\xd5\x11\x53\x8a\x06\xa0\x60\x01\xfa\xe0\x4f\x49\x6b\x32\xf7\x22\xe5\xf8\x95\xfe\xa8\x2b\x47\x87\x0c\xe6\x58\x49\x22\x54\x3f\x66\x7d\x9c\xc7\x96\xe3\x54\xd1\xe2\xcb\x16\xd5\xd4\x84\x6f\xeb\x51\xf8\xbe\x9a\xca\x60\xa5\x63\xa5\xe9\x2d\x57\xc3\x8c\x3f\xe9\x48\xbc\x58\xd0\x6c\xfe\xb1\xc8\x9f\xed\xf2\xa5\xcb\x65\xa5\xe3\xc7\x23\xac\x34\x94\x13\xa5\x19\xdc\xc5\xab\xa1\x32\x78\xdc\x4e\xf0\x72\xbb\xfd\x53\x9b\x5b\xd2\xe6\x6b\x3a\xba\x34\xc6\x5a\xdb\x46\x95\xc3\x6e\x66\xa6\x57\x33\xec\x16\x16\x62\x96\x3e\x65\xed\x16\x4c\x05\x05\x3d\x09\x7a\x05\x37\x14\xcf\x46\x39\x23\x3b\x7f\x4a\x1c\xa8\x5c\xc9\xc0\xb5\x39\xcb\x03\xc2\x5a\x15\xfc\x64\x02\x36\xe1\xb0\x38\x6a\xec\x47\xa9\xb1\x39\x6a\x3e\x30\x32\xc6\x70\x2a\x8f\x34\x9b\xc9\xd1\x51\xb8\x90\xa5\x74\xc8\xf7\x31\xad\x7c\x17\xee\x2e\xbd\x85\x7b\x71\x63\xf1\xec\x07\xaa\x5f\x11\x7d\x17\x0e\x9a\xaa\x61\xa9\x85\xb3\xd9\xc4\x47\x86\xc6\x59\x0a\x9e\x31\x20\x7b\x38\xc2\x18\x87\x27\xcc\x20\x1e\x18\x68\x81\x43\x66\x66\x9c\x50\xf6\x58\x62\x5f\x0d\x83\x12\x6d\xe1\xc4\x93\xaa\x93\x4e\x86\x10\x79\x68\x21\x26\xb7\x73\x1c\xb7\x42\x1e\xbf\xec\x25\x14\xca\xee\xce\x04\x33\x6f\xae\x69\x28\x3c\xc0\x38\x96\xe7\x5e\xfd\x3f\x8c\xed\x18\x19\x68\x52\x5c\x3a\x2a\x51\x86\x34\xc9\x40\x2b\x9c\x35\x2e\xa7\x5f\xb2\x5d\x2c\x09\x7d\xe0\x37\x9b\xaa\x8f\x4d\x79\x08\xad\xea\x50\xe4\xd4\xff\xb2\x3b\x16\x19\x0a\x97\xcb\x9c\xbb\x5b\xfc\xc2\xba\xd1\xdc\x8b\xde\x13\x2f\x5e\x47\x12\x46\x57\x56\x5f\x15\x24\xf1\x68\xb8\xc2\xe4\xa5\x48\x0b\x72\x4f\x31\xad\xc3\x7a\xf0\xa7\x74\x9e\x45\x82\xac\xa2\x01\x97\xc3\x79\xad\x46\x2d\xaa\x09\xcc\xc4\x13\x76\x49\xd8\x20\x4b\x22\xec\xed\xf1\x85\xed\x66\x06\xb2\xbb\xbb\x25\x5f\x29\x09\xa6\xf1\x66\x93\x9a\x45\xc3\x24\x14\x0b\x57\x12\xf8\x43\x45\xb5\x7d\xbc\xdf\x6c\x9e\x6e\x6f\xa1\x1a\x6f\x6f\x07\xa3\xf1\xd6\x0f\x62\xea\x05\x13\x12\xde\x37\xde\x44\x91\xf7\xd8\x6c\xe6\x0f\xd1\x24\xe0\x98\x6e\x53\x5f\x49\x3a\x2e\xe8\x1e\x1a\x7e\xd0\xa0\x1a\x6d\xcf\xbd\xf8\xe3\x43\x90\xf8\xad\x22\x0d\xee\x92\x8a\xc6\x98\x8e\xa2\xb1\xb6\x2d\x04\xdd\x81\x22\xa6\x3c\x7c\xc2\x93\x31\x09\x83\x98\x46\xeb\x09\x0d\x23\x4c\xb7\x04\xc0\x10\xdd\xa9\x1f\x16\x4e\x98\xe8\x44\x14\x92\xeb\x90\x1a\x69\x03\xd5\x4f\x81\x45\xbb\x34\x0a\xc8\x43\xc3\xd7\xb6\x4c\xe2\xbf\xc3\xc9\xd6\xd7\x50\x80\x23\xb5\x07\x7d\x8b\x6a\x6a\x68\x81\x23\xd5\xb2\xd8\xd4\xe6\x0a\x4e\x06\xb6\xef\xa3\x70\x79\x2a\xc6\x76\xd5\x74\x0d\x0d\x4d\xd2\xd1\x7a\xe6\x48\x99\x29\x25\x8e\xba\x8a\xdd\x85\xbf\x7c\xbc\xe4\xfe\x3b\x96\xe0\x59\x89\xeb\x0e\xbc\x76\x05\x4f\xdb\xba\x2a\xee\x22\xdf\xfc\x18\xcb\xde\x93\xb4\x27\xde\x62\xc1\x3d\x1b\xfc\xda\x38\x59\x3b\x41\x66\xdf\x5f\xd0\xbe\xbd\x03\xf7\x0b\x8e\x58\x3a\x3d\x66\x62\x9f\xe5\xa4\x94\x1c\xc7\x2c\xc3\x0f\xfc\xe4\x2c\x71\xac\x6a\x28\x48\xae\x21\x60\x6f\x97\xe1\x94\x70\x0f\xd8\xa2\x9d\x74\x1f\xef\x59\xa6\x4a\x01\x60\xe1\xc5\xfc\x22\x80\x77\xe1\x43\x70\xed\x2f\x09\x36\x58\xb6\x37\xa1\xfe\x17\x92\xc1\xc0\xa1\x5c\xab\x0c\xa4\xbf\xcc\x57\x29\x22\x19\x5d\xc9\xf1\x83\x0b\xed\x04\x8a\xce\x5b\x13\x2f\xe8\x75\xe4\x2f\x25\x7c\x26\x90\x4e\xe2\x93\xbb\x0d\x03\x06\x04\x5b\x4d\x39\x26\xdc\xcb\xf0\x3e\xfc\x42\xf6\x22\xbe\x97\x90\x79\x6c\x56\xdc\xe7\x61\x27\x3b\xcf\x53\xd8\x3f\xad\x9e\x87\xcb\x37\xba\x6f\x33\x12\x12\x97\x0f\x15\xbc\xf6\x10\x05\x28\x91\x78\xb2\xb8\xcd\xa5\xd4\x0e\xef\xef\x55\x85\x46\xfe\x52\x41\x55\xd2\x4b\x05\x0e\xca\xdb\x24\xb9\x13\xe7\x50\x86\x69\xf8\x10\x28\x55\x22\xd1\xb2\x3c\x73\x95\x2a\x2e\x34\x48\xe6\x82\x6f\xe2\xad\x78\x14\xfe\xc5\x8c\x25\x97\x11\x94\x2c\x04\x89\x86\x24\x7c\xdb\x79\xf1\x6e\x51\x45\xc7\x94\xea\xc5\x94\xb9\x17\x27\x28\x0a\x7a\x9a\x11\x3a\x28\xd5\x68\xd1\xd0\xf8\x92\x50\x82\x71\x95\x71\x1b\x96\x41\x9c\x05\x53\x19\xd5\x45\x3d\x20\x9b\xcd\x01\xd5\xc4\x05\x81\x6c\xfe\xcd\x03\xb3\x8e\x4c\xfe\x60\x8e\x99\x9d\x1b\xac\x97\x24\x62\x95\x31\x38\x80\xc0\x67\xf7\xfe\x6c\x2d\x9f\xb7\xda\x73\xca\x94\x58\x1f\xd7\xe4\x2b\xfd\xb3\x0a\xc5\xcc\x4a\x5e\x1e\x5e\x3c\x45\x19\xee\x2c\x5b\xcc\x8b\xc3\x4d\x2c\xf0\x22\xfa\x78\x34\x1e\xfa\x99\x25\xb2\xc8\x0b\xe2\x85\x27\xbd\xd1\x17\x7e\x40\xae\x43\xde\xe9\xab\x19\xdd\x9b\x11\x0a\x81\x86\x35\x74\x60\x20\xb8\x7b\x2c\xd2\xb4\xc4\xc3\x14\xc2\x07\x75\x73\x18\x1e\x71\xc3\xd9\x84\x90\x04\xe2\xf0\x7d\x81\x50\xc8\x46\x9a\xfd\x0c\xc4\xe8\xc0\xd0\x86\x71\xdb\x8f\x7f\x89\x98\xe5\x36\x3d\xf1\x47\xbb\xc8\xba\x63\x1d\x7b\x03\x51\x18\x0f\x66\xaf\xe9\x3a\xac\xfa\x34\xbc\x7c\xf6\xd7\x99\x2d\x0b\x13\x87\x67\x32\x91\x04\xbe\x58\x7a\x2b\xb5\xf4\x5c\x9a\x38\x27\xaf\x4e\x10\x1c\x91\xd3\xda\xff\x08\xfd\x40\x0d\xda\x7e\xfc\xfe\xea\x17\x70\xe2\xc7\x27\xca\x4d\x74\x13\x28\x03\xe5\x26\x50\x9e\xa1\x8b\xe9\x76\x9a\x6d\x7d\xc5\x8e\x84\xeb\x51\x45\x17\xc8\xfb\xb0\xf7\xf9\xae\x20\x96\x00\xd2\xfb\x9c\xeb\x1b\xea\x84\x58\x67\x3a\xf3\xa8\x61\x86\x86\x72\xc6\x34\xcc\x92\x53\x9a\xa5\x28\xcc\x48\x41\x01\xf6\x91\x87\x8d\xa1\xb7\xbb\x34\xcb\x93\x2a\xb6\xc0\x64\xe4\x8d\x87\xa1\x8e\x17\x23\x73\x8c\x18\xad\xc5\xc8\x1a\xb3\x0f\x1c\x63\xaf\xd9\x8c\x5b\x2d\xe4\x43\x2a\x68\xb5\x34\x11\x2f\x21\xd8\x6c\x12\x4a\x3c\x60\x13\x9f\x97\x84\xed\x98\x78\xd1\x64\xae\x1e\xde\xc4\xfa\x77\x87\xbb\xe0\x31\x93\x66\x53\x9d\xef\xe6\x7a\x73\x36\xe7\x40\xf3\x23\x1c\x27\x8d\x6f\xbb\xb3\xf0\x93\xa0\x0a\x6c\xe6\x93\x15\x58\xd1\x53\x9f\x8e\x22\x35\xfc\x93\x56\xb2\x4a\x56\xe0\x77\x0b\x0a\xda\x56\x63\x66\x8a\x1f\x5f\xf8\xc1\xfa\x6b\xb3\x49\xe4\x86\xca\x74\x27\x96\x04\xfa\x80\x57\xdc\x95\x10\x90\x87\x78\xd7\x73\x17\x71\xf2\xba\x52\x28\x7b\x6e\x99\xaf\x72\xed\x23\xef\xb9\xe0\xae\x89\x7d\xfd\x27\x38\x2e\xea\x7a\xd0\x6d\x61\xa0\x63\xef\xde\x2c\x16\x55\x6d\xc7\x17\x23\xd5\x9b\xc5\xe2\x0d\x18\x6f\xc9\xb6\xdf\xaa\xe6\xc1\xcd\xaa\x92\x81\x93\x13\x14\x56\x57\xb2\xc6\x52\x45\x66\x46\xb8\x01\xc9\x1b\xd9\x69\x18\x46\xd3\xb2\x00\x5e\xb0\x2c\xc1\xdf\xaa\xa4\xc4\x1a\x10\x59\x29\xfb\xb6\x74\xb6\x5e\xe2\xa7\x80\xce\x58\xaa\xce\xc8\x18\xb7\x5a\x08\xba\x7a\xfe\x47\x2f\x2c\x7e\xf0\x9b\x9f\x2a\x4a\x01\x06\x89\xd8\x6a\xbc\x0c\xd7\x01\xad\x2f\x8a\x3c\x00\x77\x1d\xca\x29\x75\x59\xd9\x34\xd6\xf8\x0b\xcb\x59\x8c\xf7\xd7\x85\x52\x8b\x49\x72\x52\xa0\x63\xcc\xef\xe5\x89\x4e\x8c\x81\x4a\x8f\x61\x57\x66\x0b\x33\x83\x6a\xd7\xe2\x13\xb7\x0f\x45\x2d\xc7\xd0\x10\xfb\xaf\xd2\x43\xec\x18\xda\x21\xbc\xf3\xee\x62\x95\x6a\x3a\xa4\xe1\x36\x0b\xd5\xec\xbc\xa6\x5a\x51\x23\x92\x4e\x36\x53\x6c\x03\xc2\xc8\xdc\xad\x29\x0d\x03\x66\x9f\xc0\x45\xf7\x24\xa0\xef\xb8\xe7\x32\xe9\xa8\xa7\x91\x37\xcb\xc8\x2e\xd9\xfe\x2a\xa4\x7b\xba\xf0\x27\x9f\x4f\xd9\x2b\x95\x40\x04\x84\xb9\x7f\x4f\xff\x4a\x1e\xc5\x2a\x51\x18\x5c\xb1\x0c\x80\x52\x89\xb8\x18\x88\x0b\x28\x41\xdc\x81\x42\xc0\x9d\x04\xd6\xaa\x83\x7d\x17\xae\xef\x52\xb0\x76\x09\xac\x9c\xe3\x83\xda\xaf\x76\xc0\xa2\x04\xde\x74\xba\x7f\x00\x3a\x30\x0a\x22\x2d\xc5\xab\x9d\x16\x65\x4c\xe4\xec\xce\x9b\x0a\x83\x99\x8d\x8e\x4a\xd5\xd4\xa8\xd4\xf2\x7e\x16\xd9\xf5\x4a\x29\x9f\xf3\x14\xab\xfb\x3c\xa0\x24\xfa\xe2\x2d\xd8\x04\x32\xc2\x31\xa1\x32\xa3\xa4\x77\x27\x69\x44\xd6\x9b\x38\x46\xb1\x33\x2e\x1f\xf0\x4b\x7a\xe7\xea\x52\x55\xcf\x7c\x7e\xaf\xbc\xaa\x29\xd7\x88\x0c\x6c\x9b\x44\x2c\xb5\x02\xdc\x27\x5f\x36\xf8\x14\x5a\xee\xae\xe5\x54\xf6\xe8\x71\x66\x0c\x4a\x16\xb0\x73\x2f\xcf\x02\xb9\xcc\x50\xd6\xb3\xab\xa4\xa4\xd7\x48\x35\xc5\x67\x7e\xfc\x82\x87\xfc\x33\xd0\x9e\x21\x4c\xee\x68\xad\xf5\x47\x54\x7f\xa6\xbe\x20\x35\x88\x75\xc2\x81\xb1\xdf\x48\xba\x90\xb4\x0d\x5f\x49\x8f\x19\xf7\xa3\x9a\xd7\xc6\x78\x0c\x76\x61\x2d\x88\xae\x17\x45\x9f\xea\xd9\x2a\xa3\x7f\x56\x14\x7f\xb8\x2b\x65\xb9\x78\x7f\xf9\x78\xf9\x2e\xe9\xc0\xd9\xab\x5f\xc2\x68\xfa\x86\xaa\x65\x03\x47\xaa\xd3\xfc\xc3\xf9\xb8\x38\xff\x70\x96\xe1\x83\x59\xf2\x6f\xc4\x94\x29\xcf\x4a\x71\xa8\x29\xe1\x47\x0d\xc8\x43\xe3\x9d\x47\x89\xc6\xea\x8d\xb5\x2a\x55\x1b\xaa\x54\x2c\xab\x14\x7c\x62\xc7\x1d\xc3\xe0\x5e\xbb\xf6\xed\xd4\xe7\x3e\xdc\x1f\xa2\x70\x79\x21\x01\x93\xb3\xed\x44\x3b\x36\x0d\x2d\x29\xcf\x6e\x78\x61\xf3\x89\x0a\xea\xc9\x71\xdf\x45\x9e\x1c\x1e\x91\xf6\xca\x9b\x91\xbf\x21\xfe\xf7\x57\xb9\x21\x67\x47\x57\xd7\x73\xe5\xaf\xe5\xaf\x2c\x24\x49\x62\x3c\xec\x2c\x85\x72\x6e\x98\x69\x25\xf8\xd1\xd0\x5e\x60\x53\x02\xff\x5a\x65\x66\xb0\x5e\xb7\x52\x57\x8a\xed\xee\xa4\xbc\xfd\x9c\x05\xd3\xdd\x85\xe3\x25\xef\xcc\x31\xf7\x31\xec\x36\x89\xbd\xb4\xbf\xab\xe9\x82\xb0\xd0\xce\x93\x9a\xcf\x1f\xd5\xf6\x0a\xd5\x98\xc6\x18\x1b\x83\xba\xb7\x25\xe6\xf1\xa0\x9e\x55\xd6\xa0\x65\x1f\xc3\xa9\x5d\x87\xb2\x4d\x57\x7c\xa8\xd2\xb4\xcb\x8a\xac\x60\x36\xef\xe4\x96\xc7\x3c\x36\x6a\xcb\x5c\x52\xaa\x96\xbc\x19\x3a\x4f\xea\xc8\xa8\xe9\xa7\x41\x80\x15\x7d\x7c\xa6\x66\xee\xd2\xfb\x1d\xb3\xd1\xda\xf7\xf5\xed\x9c\x4e\x45\xcf\xce\x79\x80\x08\xef\xe0\x56\xa8\xee\xe0\x39\xa4\xae\x6f\x99\x15\xca\xf8\xc6\x95\xad\x60\x64\x30\x22\xc2\x89\x56\xcd\x92\xe8\xad\x52\x86\x69\xbe\x9b\x48\x44\x59\x34\xaa\xf2\x62\x2e\x6e\x75\x13\x31\x59\xfc\x78\x55\xb0\x64\x38\x0a\x3a\x30\xbf\xa1\xfe\xf1\xa8\xb4\xf6\x0b\x57\x64\xb1\x19\x5c\x7e\x47\x1c\x9b\x4d\x8d\x2b\xdb\x0b\x1e\x15\x2f\xda\x62\x54\xc6\xb9\x29\x72\x45\x57\xf5\xd3\xaa\xc4\xae\xa9\x76\x4b\xe5\x88\x4c\xc2\xe0\x0b\x89\xe8\xcf\xe2\x34\xeb\x69\xb8\xb8\x0e\x93\xa0\x2e\x10\x80\xae\x64\x8b\x82\x50\x43\xd6\xb7\xf9\xd8\x18\xb2\xc4\x31\xf6\xe1\xd6\x57\x83\x5f\xbc\xc9\x2d\x86\xa8\xd5\x1a\xee\x22\xe7\xe6\xe7\xb4\xbc\x75\x57\xf6\xb2\x05\x1f\x6a\xf4\x0c\xff\x23\xaf\x5c\xb9\x67\x72\x7f\xe1\xf8\x22\x51\x88\x7d\x14\xc3\x65\x7d\xad\x10\x05\xd8\x00\x9f\x99\x7f\xaf\xf2\x00\x27\x91\x8c\x9e\x10\x6a\x62\x87\x46\x78\x6c\x34\x9b\xf9\x97\x2d\x53\x1b\x6a\x61\xab\xc5\xef\x26\xf3\x8f\xa2\xc4\xf5\x93\x83\xf4\x75\x06\xe9\xeb\xfa\x36\xd9\xd8\xb5\x80\x8f\xa3\x39\xfc\x01\x02\x60\xc3\x8d\x16\x5c\x8e\x6a\xa0\xeb\x68\xd1\x6a\x69\x08\x66\x92\xa3\xb9\xc8\xf6\x74\x1d\xcd\x75\x5d\xe3\x0c\x89\xad\x8e\x7e\xcc\x8a\xc8\x84\x7b\x45\x56\x5e\xe4\xd1\x30\x52\x33\x5c\x6a\x43\x4d\x50\x6f\x99\x79\xfa\x61\xab\xc5\x12\xa2\x0c\xba\x99\x2a\xc5\x73\xc8\xb3\xa2\x69\x43\x4d\x70\xa9\x9b\x39\x3e\x91\xcf\x13\xc2\xe5\x27\xfc\x51\xa1\x1e\xb7\x02\xc4\x3f\x33\xd8\xed\x0a\x69\x85\x7a\xa0\x7b\x7a\xf1\x5e\xc8\x70\x11\xe7\xd7\xad\x32\x36\x60\x9d\x8d\x27\x46\x94\x24\x2a\x7f\xa9\x61\x3e\xa2\x62\x57\x35\xd3\xbb\x8a\xe1\x3b\x3d\x53\x90\x4e\xbe\x52\x9e\xe4\x28\xf6\x3b\xb8\x4a\xf5\x3e\xfc\x8d\x17\xed\x06\xd0\x9f\xbd\xc5\x9a\xc4\x97\x7c\x57\xe1\x54\xd5\x4e\x04\xf3\x03\xf1\x57\x97\xdc\xf1\xd2\xe4\x78\x2c\xa9\xcd\x12\x3b\x4c\x69\xa8\xda\x68\xfc\xb4\x7d\x75\xa3\x28\x49\x84\x70\xa2\x1d\x63\xa3\xb4\xc8\xdc\x04\x7e\xe6\x6c\x8b\xf5\x7e\xe4\x39\x42\x2e\x6a\xc1\x16\xd1\xad\xea\xb5\x61\x7c\x3f\x5b\xfa\x94\x92\x48\x1b\xd2\xd4\x5a\x32\xbf\x15\x1c\xaf\xff\x9c\x18\xb9\x2f\x3c\xc0\x52\x58\xe4\x2b\x39\xd8\xb1\x67\x29\x22\x27\xb9\x9d\xa3\xb7\x38\x07\x84\xec\xea\x49\x6b\xf9\x8c\xb7\x6a\xdd\x91\xa4\xd7\xe8\x4a\x5c\xc6\xc5\x95\xba\xf4\x79\xb5\x02\x17\x27\x23\x03\xc9\x0d\x4c\x69\xce\xf3\xfe\x73\x31\xdb\x85\xcc\x7a\x95\xcf\x53\x1a\x94\x10\xfa\xd6\x05\xca\x9a\xc2\x9f\x05\xd3\x17\x17\xfd\x19\x8e\x63\xd8\xec\x5e\x66\x43\xb4\xcc\xbc\xd4\xa0\x64\x27\x07\x05\x01\x08\x1b\xab\x56\x6a\xa3\x12\x52\xcc\xd4\xab\x54\x90\x32\xd5\x81\x39\x4c\x25\x46\xbe\x46\xb9\x01\x28\xcd\xc3\xe2\x84\x63\xb4\xf3\x16\xff\x3e\xde\xb8\x35\xaa\x95\xe4\x16\xf9\x65\xfa\xc2\xdd\x56\xfb\x14\x24\x73\x4f\x53\xa5\x68\xcb\x3d\xa8\x39\xae\xe5\x2a\x75\x5c\x5c\x6e\x6f\xb0\x8e\xfa\x98\x82\xa5\x9c\x5a\x92\x6e\x36\x99\x71\x70\xcc\xc4\x90\xdd\x81\x57\xb2\x56\x92\xd6\xc1\x72\xe7\x51\x41\xf6\x2d\x4c\x4a\xc4\x55\x00\xe7\x22\xac\x02\x2e\x83\x3d\x32\x4e\xd4\xd2\x0e\x10\x1d\x18\xda\xa0\x8c\x9b\xd2\x7e\x00\x28\x55\x72\xcf\x66\x53\x07\xa6\x96\x6c\xa4\xcb\xee\x27\xc2\xfe\xbf\x75\x04\x48\x56\x6d\xf9\x61\xd0\xc4\x7d\x9e\x1f\x11\x64\x08\x19\xb9\x65\x52\xf8\x5a\xe2\x24\x98\x0c\x16\x2b\x4f\xe9\x8d\x55\x62\xb7\xac\x38\x80\x7b\x19\x3e\xf0\x43\xa5\xd2\x5d\xb9\xf0\x62\x7a\x49\x26\x61\x34\x25\x53\x61\x1f\x67\xdc\x99\xe9\xf7\xd2\x2e\xce\x52\x48\x7a\x9c\x30\x50\x15\xce\x8b\x5c\xa4\xcc\x44\xba\x49\x9f\x87\x2b\xc1\x8c\x48\xec\xff\x93\x3c\x13\x33\x27\x89\x12\xaf\x7f\x86\x91\x30\xe0\xc4\x32\x84\x52\x57\x90\x15\x7b\xe3\xb0\x10\xa6\x67\x8b\x8c\xd2\x21\xb8\x64\xb1\x55\x7a\x67\x8a\x2b\x61\xc7\x46\xa6\x89\x17\x01\xe4\x51\x95\x7c\x75\x0d\x89\x54\xe5\x42\x45\x56\x50\x2a\x17\x94\xd8\xa7\xea\x07\xa4\x1e\x9b\x6f\x34\xcd\xd6\x52\x66\x15\xe1\x45\x84\xb8\xfe\x0b\x98\x6a\x8d\x92\x85\xcf\x8c\x61\x43\x95\x6c\x36\x34\x71\x43\xd6\xe8\x63\x11\xb7\x4e\x06\xf3\x5a\xb6\x5f\x17\x89\x95\x89\xa4\x64\xf7\x73\x91\x7a\xdd\xf7\xb5\x7c\x13\x7e\x01\x77\x55\x4d\x17\x18\xcd\xdf\x90\x97\xd1\xe6\x82\xa1\x58\x45\xaa\x50\x23\xfc\x50\x9e\x08\x1e\x51\xac\x91\x4c\x0f\x52\x8d\x99\x77\x54\x0c\xbe\x45\x31\x4e\xb2\x44\x06\x2f\x6c\x51\xf9\x9d\x00\xc3\x54\xbb\xcc\xfa\x55\x5e\x97\xb7\xc8\xf2\xba\x95\x91\x5b\x0e\x30\x4e\x9a\x6c\x25\x10\xce\xdf\x14\x23\x3b\xaa\x92\xc9\x5f\x6a\xbd\xbb\x9e\xe8\x61\x29\xbb\x5a\xab\xa4\x64\xc3\x9c\x36\xa7\x3c\x61\xe8\x20\x7f\x23\x7d\x18\xfc\x32\x27\x24\xcb\x9a\xb8\x58\x0f\x02\x27\x53\xef\x57\xc9\xab\x39\x14\x39\xc2\x5b\x0b\x88\xd0\x41\xb7\xdf\x7d\x7c\x7f\xfb\xee\xec\xe2\xfa\xcd\x2d\xf7\x35\x97\x57\xce\xe0\x19\xf8\x9f\xde\xfc\xe5\x6c\x77\x20\x38\x4f\xa1\xa4\x01\x57\x8c\x1d\xbb\x60\x3b\x49\x39\x5e\x53\x54\xdc\x17\xb0\x2d\x58\x51\xe1\x7a\x32\xe7\x33\xab\xc2\xd4\x95\xe9\x32\xbc\xff\x15\x93\x36\x65\x09\xb8\xab\x87\x2f\x22\x94\x12\xaa\x5b\x41\xd8\x51\x6b\x15\xa9\x0d\xf7\x7f\x10\xc1\xed\x87\x7b\xd5\x51\xc7\x65\xe5\xde\x19\x49\xb2\x51\x96\x99\x47\xd9\x60\x1b\xd2\x89\xa7\x86\xb0\xc6\x9a\xbc\x0c\x53\x1b\x4f\xc4\x1d\x7e\x07\x2a\xd5\x4d\xad\x78\x69\xd1\xa9\x17\x04\x21\x6d\xdc\xfb\xc1\xb4\xb1\x04\x8b\xaa\xf1\x4a\xd1\x89\xae\xbc\x6a\xef\x4e\x79\xd0\x2d\xdf\x81\xf8\xa4\xb4\x0f\xf9\x45\xa8\xe2\x8f\x32\xe8\xa0\x7c\x5e\xfb\x1f\x71\x36\x7b\xe5\x4d\x3e\x7b\x33\xd2\xfe\x47\x1c\x06\xca\xc0\x72\xd8\xab\x7b\x9f\xb2\xff\xca\x20\xfd\x04\x98\x49\x46\x0e\xcd\x85\xfc\xf5\x62\x11\x4f\x22\x42\x82\x54\x52\x19\x54\xbf\x6b\x4f\xe2\x58\x19\x58\xdd\x6a\x00\xf6\xcd\x3c\x7e\xee\xd3\x3d\xf6\x5a\xe8\xf8\x34\xcc\xbf\xed\x67\xdf\x26\x29\x65\xd0\xad\x78\x03\xdf\xec\x6e\x87\x7e\xfb\x33\x79\x8c\x4b\xe2\xc9\x08\xbb\x97\xbd\x55\x63\x6d\x8b\xfc\x76\x44\xe2\x70\xf1\x85\xe0\x10\x91\x36\xf9\xca\xb4\x23\xc6\x3e\x5c\xd2\x89\xad\x4e\x56\x4d\xb4\xa7\x1d\xc8\x53\xe0\x2d\xc9\x80\x9f\x53\x14\x57\xd8\x2a\x68\xe9\xf9\xc1\x40\xd9\x55\x16\x5a\x45\xfe\x17\x8f\x82\x09\xfd\x4c\x52\xac\xea\x04\x1d\x51\x6f\x75\x44\x0a\x4a\xc7\x4d\xf7\x06\x44\x22\x6e\xdc\x7b\xfe\x82\x4c\x07\x8d\xc3\x79\xb8\x24\x87\x8f\xeb\xa9\xe7\x1f\x7a\xd1\x64\xee\x7f\x21\x87\xab\x28\x9c\xae\x27\x34\x3e\xb4\x0c\xd3\x39\x9c\x85\x94\x3e\x1e\xc6\xd1\xe4\x70\xe6\xd3\xf9\xfa\xae\x3d\x09\x97\x02\x81\xbf\xfa\x47\x7c\x18\x84\x53\x72\xcb\x15\x39\x3e\x04\x66\x0f\x17\xfe\xdd\xa1\x37\x9d\x86\x41\x5c\xad\x23\x8d\x9f\x02\xf2\x75\x45\x26\x94\x4c\x1b\x34\xfc\x4c\x82\x86\x6a\x0e\x0c\xed\x26\xf8\x35\x5c\x37\x96\xde\x63\x23\x20\x64\xda\xf0\x82\x86\xb7\x5a\x45\xe1\x2a\xf2\x3d\x4a\x1a\x8b\xd0\x9b\x92\xa8\x41\xc3\x06\x8f\x05\x08\x13\xbb\xc6\xbd\xcf\x52\xac\xcb\xb9\x09\x36\x8d\xb6\x10\x58\xf2\xb5\xc6\x13\xcb\x66\xff\x64\xc8\x9d\x41\xe3\xde\xff\x4a\xa6\x43\x99\x4f\xc3\xd5\xa0\x61\x0c\x15\xed\xb9\x95\xb1\x6b\x09\xb2\x4e\x32\xea\xfd\x0d\xf5\xbb\x53\x62\x41\x31\xa3\xbb\xd5\x04\x6b\x83\x03\xa5\xef\x55\x3a\xd9\xed\x1e\x3e\xbc\x89\x4e\x6e\x82\xc3\x19\x52\x6e\x22\x45\x1b\x90\x4c\x37\x26\x2e\xcf\x01\x63\x2d\x89\x42\xad\x80\xbc\x14\x44\x33\x47\xbb\x14\xcb\x00\xcb\x31\x6b\xda\xe5\x72\xe1\xe8\x18\x69\x4f\x16\x3e\x09\xe8\xdf\x5a\xa6\x21\xcc\xcd\xf4\x71\x34\xf1\xf6\xd7\xc2\xdb\x7f\xf2\x85\x17\xc5\x34\x0c\x83\xe5\xde\x87\x93\x75\xac\x56\x4d\x71\x0a\x6c\x73\x07\x60\x86\xe7\x4c\x96\xe0\x38\x93\x07\xfc\x66\x72\x18\x8b\x99\x0c\xc1\x15\x77\x95\x74\xb4\x17\x47\x28\x02\x57\x31\x59\x79\x11\x5c\x88\xf6\x43\x18\x5d\xcb\xf9\xb0\x8f\x68\x7b\x12\xae\x1e\x8b\xf7\x3c\xcb\x8b\x17\xee\xd8\x80\x4f\x22\xd8\xf1\x7d\x7e\x76\x22\x36\xed\x4e\x16\xfe\xea\x2e\xf4\xa2\xe9\x3b\x8f\x7a\xed\x98\x50\xf6\x57\x55\xf8\xe1\x81\x28\xb7\xa9\x76\x40\xaa\xe0\x29\xf9\x4a\x0f\x57\x0b\xcf\x0f\x8a\x58\x65\x86\x03\x2b\x88\x17\x53\x52\xc6\x2e\xdc\x36\x45\xc3\x15\x93\x87\x37\xf3\x78\x15\x89\xf3\x05\x09\xdc\x2e\x44\x7f\x84\x7d\x35\x42\xd9\xf2\x89\x1d\xed\xda\xee\x66\x52\xb8\x78\x1b\xae\xca\xf3\xd8\x94\x02\x44\x0a\xb1\xe8\xc4\x0e\x5f\xe0\x86\xc7\x6f\x6c\x4f\xbc\x60\x42\x16\x2a\xd1\xb6\xc3\x67\x89\xad\xd9\x8c\xd4\x52\x71\xce\x32\xe2\xd4\x0a\xf2\x63\x88\x79\x91\xce\x4a\x44\xca\xd7\x2d\x97\xe1\x17\xa8\x76\x36\x5d\xf9\x29\x98\x92\x88\x6f\x84\x81\x10\x07\x38\x44\xb4\x1d\x31\x9d\x84\x8d\x31\x55\x5a\xc0\x5b\x29\xa2\xa2\xfc\xb9\x9a\x82\xbb\xae\xd8\x33\x58\x76\xff\x73\x78\xf2\xff\xd5\xc3\x93\x35\x87\x12\xe5\x5d\xa9\xd5\x07\x12\xfd\xd4\xfd\xf7\x14\xf9\xed\x5b\x1e\x6e\x47\x3a\xd0\x22\xe4\xe7\x8e\xff\x3d\xe3\xcc\x11\x74\x90\xf5\x6e\xfc\x5b\x80\xf9\x43\x4e\x38\xf1\xbe\x77\xcf\xe7\x38\xd0\xcb\x4e\xb1\x2c\x85\x7f\xb0\x6e\xfb\xae\x80\x11\xe2\x12\x5b\x1d\xa6\xa1\x98\x60\xab\xd2\x1b\x9b\x83\xdb\x73\x77\xad\x88\x86\x56\x86\x59\x18\x4f\x3d\x71\x8d\x8b\x52\x07\xce\x06\x1e\xc5\xa8\x05\x81\xd1\x4a\x69\xf5\xfb\xfd\x3e\x59\x56\x40\xa6\xaf\xd1\x55\x7e\xa9\x22\x47\x68\x72\x9f\x8a\xaa\x78\x91\xef\xc9\xe8\x22\x48\xa1\xd1\x9a\x24\x05\xcb\x28\x5a\xc9\x29\xfb\x2c\xdd\x3d\xde\x48\x92\x91\xfa\x16\x15\xb7\x66\x27\xaf\x2b\x16\x13\xf2\xe5\x98\x11\xfa\x36\x5c\x07\x70\x25\x0f\x18\x15\x97\xd0\x13\x0e\xf9\x6c\x1e\xd4\xb7\xd9\xe4\x0f\x73\xe1\x2e\x51\x53\xaa\x8d\x53\x50\x69\x15\xc4\x3b\x84\xe4\x18\x0d\x47\x10\xe0\x28\x03\x9d\xf5\x55\xf2\xb1\x09\x82\x7e\xfb\xff\x24\x93\xb9\x17\xcc\xc8\x54\x81\x08\x70\x74\xab\x46\xaa\xa9\x15\x96\x6e\x4f\x53\x8e\xee\xf0\x7f\x7a\xf1\xff\x0f\x7b\xf1\x24\x4a\x48\x65\x1f\x1e\xb5\x6f\x3d\x26\x5d\x38\xf9\x0d\x72\x86\xd8\x97\x10\xc4\x35\xa2\xdc\xc6\x34\xd8\xf3\x42\x2e\x5c\x44\x2f\xef\xd4\x97\xde\x57\xee\xb5\xdc\xd3\xd3\x02\x27\xc9\xf6\x8d\x38\x0d\x99\xb9\x83\x7a\xc7\x2b\xd1\x50\x84\x8d\x61\x74\x94\xec\x54\x11\xab\x39\x62\x8f\x9e\xbc\x94\x5a\xee\x16\x84\x2f\x88\x55\xdf\x19\xa1\xa7\x8f\x93\x85\x3f\xe1\x7b\x8f\x22\x4d\x46\xf0\xe2\x02\x49\x5d\xad\x93\x08\xe2\x0f\x19\x74\x16\xcf\x11\x45\x95\x10\xfc\x7b\x95\x1c\xa7\x41\xb4\x9d\x58\xd2\xd9\x43\x7a\x44\x86\x34\x89\x1d\x28\xca\x3d\xce\x06\x41\x13\x75\x4a\xfe\x90\x62\xdd\x87\xd1\x19\x38\x1a\xaa\xcf\x09\x17\x1b\x59\x7a\x07\x9b\x3c\xca\x08\xbb\xd8\xfc\xa3\x08\x76\xb0\x51\x15\x42\xf0\xaa\xbe\x86\x7c\x70\x12\xbe\x60\x10\x9e\x11\x5a\xb9\x0e\x5b\xa7\x09\x44\x1b\x17\xce\x8e\x97\x06\xf6\xac\xa7\x81\x73\x27\xc7\x56\xeb\xdc\x89\xc9\xbd\x44\x32\xf5\x3c\x4e\x62\xaf\x8a\x6a\x13\xae\xf7\xa4\x71\x9d\xa8\xba\x5e\x50\xd9\x3c\x50\x32\xd2\xa4\xd5\x5a\x4b\x0f\x11\xfc\x78\xbe\x29\xd7\x0d\xc4\xd7\xf2\xbb\xc7\x57\xd9\x00\xa1\xcf\x15\x6d\x9a\x64\xab\xd5\x32\x0b\x92\x5e\x2d\xfc\x09\xa9\xdc\xe4\x38\x1a\x23\x1f\x5b\x43\xbf\x78\xf9\x3c\xd3\x95\x68\xe4\xb7\xac\xf4\xe5\xf3\xfe\x58\x1c\x8b\x65\x14\x42\x4c\x86\xe1\x51\x86\x01\x0a\x47\xbc\xf7\x32\x1d\x6a\xcf\xe8\x3e\x42\x9d\x26\x1d\x88\x20\x8f\xe9\xd6\xbf\x57\xa3\x66\x73\xb7\x65\x98\x33\x92\x81\x32\x87\xe1\x31\x63\xad\xd5\x7a\x06\x27\xbb\xeb\xcd\x9f\xc3\x92\x36\x4e\x1d\x42\x36\x86\x61\xb2\x7f\xf0\x79\xe5\x26\x3a\x2b\x79\x34\x0a\xc7\xbb\x2d\xf1\x42\x1b\x92\xa0\xaf\x59\xed\xca\x9e\x59\xcf\xc1\xb6\xb2\xb0\xc3\xbc\x1e\xea\x38\xce\x2a\x78\x16\xbe\xa8\xa3\xb1\x96\x0e\xf5\x2e\xbe\x86\xe5\xe7\x72\x9b\x12\x19\x4a\x71\x39\x21\xdb\x97\xa6\xc2\xa8\xca\x4b\xe4\x8b\x4c\x66\x5b\x61\x4b\x3e\xa7\x19\x23\xf9\x23\xb9\x73\xff\x5e\x5a\xab\x71\x61\x26\xcd\xdd\xf4\x47\xd8\xd0\x78\xf7\x7e\x64\x6c\x36\x49\xb0\x53\xc1\x47\xc1\x97\x0a\x1c\x35\xa4\xaa\x37\xc2\x35\x6d\x84\xf7\x8d\x88\x59\x75\x0a\x0f\x12\xa6\x47\x47\x46\xa5\xe3\x1f\x38\x6a\x88\x20\x69\x31\x5c\x7f\xe1\xc7\xb4\x71\x47\x1e\xc3\x60\xda\x80\x4d\x85\x0d\x83\x13\x8a\x8e\x8d\x44\x6f\xb9\xb2\x1a\x3b\x65\x8d\x09\x65\x6a\xa2\x8b\xad\x11\x33\xfe\xa8\xc9\x2d\x19\x44\xa7\x7a\xd4\xca\x8c\x4b\xfe\xbd\xea\x1f\x1b\xda\xee\x96\x39\x59\x6f\x7e\xa6\xf1\xe4\x14\x4b\x06\x55\x93\x3d\x47\xb1\x5e\xf4\xb2\x3e\x8c\xeb\x47\xb6\x0d\xa4\x1a\x7d\x15\xf7\xf9\xfd\xac\xd9\x76\x51\x32\xa6\x14\xfa\x54\x9d\x68\xdf\x67\x4b\x50\x63\x66\xfb\xd1\x64\xbd\xf0\xa2\x0b\x3f\xa6\x7b\xed\xec\x3f\x65\x77\x24\x58\xa4\xc9\x29\xea\xf4\xc3\x2a\x0c\x17\xbb\xe8\xbe\x7e\xf0\x53\x4c\xf0\xd3\xb6\x6c\xa7\x86\x88\x29\x98\x9f\x21\xed\x8e\x27\xe3\xdd\x41\x38\x46\x35\x7b\x47\x02\xb7\x92\x3f\x90\x07\xb9\xd4\xcc\x61\x56\xe1\x2a\x39\x32\x0c\x1f\x1f\xc1\xe4\x6a\x37\x49\x24\xed\x8f\x6f\xff\xeb\xec\xf4\xfa\xf6\xfc\xdd\xed\x9b\xeb\xeb\xcb\xf3\xb7\x3f\x5d\x9f\xb1\xbe\x11\xd1\x7c\xa8\x3f\x88\xaa\x9a\x09\xc2\xc3\x1a\xde\xcb\x69\x97\xb4\xa9\x70\xbd\x98\x36\x58\xb3\x12\x5f\x69\x78\x81\x6c\x5b\x90\xfd\x48\x68\x43\xc8\x67\xaa\x68\x43\x7e\x0f\x6e\xe3\xe5\x9f\x4e\xce\x74\x91\x24\xaa\xa3\x9a\xc4\x75\xe6\x02\x83\xb8\x28\xf9\xa8\xde\x89\x74\x0b\xb5\x53\x15\xee\x6d\xa7\x0a\xcc\xc0\x26\xed\xdb\x10\xf4\x4e\x1c\x24\x4b\xea\x34\x3b\x63\x2f\xe5\x1a\x45\x6d\x2a\xcf\x03\x98\x86\xa6\xe5\x2b\x26\x53\x9a\x6c\xdf\xcc\xc3\x7d\x7e\xf0\x96\xe0\x5e\x25\xe9\x6b\x03\x14\xb1\x6c\xea\x97\x7d\x12\x2b\x53\x8f\x7a\xad\xf0\xee\x1f\x2d\x7f\xaa\x20\x3f\xc3\x3d\x36\x10\x2d\x0d\xf1\xfe\x87\x6f\x4b\x03\x37\x3a\x6c\x5c\xa9\xbc\x4b\x55\xee\xde\xa6\xb0\x7b\x7b\x3b\xd6\x86\xff\x27\x00\x00\xff\xff\x21\x53\x37\x14\x6e\x06\x05\x00") func staticJsGottyBundleJsBytes() ([]byte, error) { return bindataRead( @@ -209,7 +209,7 @@ func staticJsGottyBundleJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/js/gotty-bundle.js", size: 773299, mode: os.FileMode(436), modTime: time.Unix(1503386172, 0)} + info := bindataFileInfo{name: "static/js/gotty-bundle.js", size: 329326, mode: os.FileMode(436), modTime: time.Unix(1503388521, 0)} a := &asset{bytes: bytes, info: info} return a, nil } From 48c91151adc6e5b747587b417ec5aaed8e3d8f39 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Tue, 22 Aug 2017 17:31:27 +0900 Subject: [PATCH 63/82] Enable gzip compression --- Godeps/Godeps.json | 4 + server/server.go | 4 +- .../github.com/NYTimes/gziphandler/.gitignore | 1 + .../NYTimes/gziphandler/.travis.yml | 6 + .../NYTimes/gziphandler/CODE_OF_CONDUCT.md | 75 ++++ .../NYTimes/gziphandler/CONTRIBUTING.md | 30 ++ .../github.com/NYTimes/gziphandler/LICENSE.md | 13 + .../github.com/NYTimes/gziphandler/README.md | 52 +++ vendor/github.com/NYTimes/gziphandler/gzip.go | 407 ++++++++++++++++++ .../NYTimes/gziphandler/gzip_go18.go | 43 ++ 10 files changed, 634 insertions(+), 1 deletion(-) create mode 100644 vendor/github.com/NYTimes/gziphandler/.gitignore create mode 100644 vendor/github.com/NYTimes/gziphandler/.travis.yml create mode 100644 vendor/github.com/NYTimes/gziphandler/CODE_OF_CONDUCT.md create mode 100644 vendor/github.com/NYTimes/gziphandler/CONTRIBUTING.md create mode 100644 vendor/github.com/NYTimes/gziphandler/LICENSE.md create mode 100644 vendor/github.com/NYTimes/gziphandler/README.md create mode 100644 vendor/github.com/NYTimes/gziphandler/gzip.go create mode 100644 vendor/github.com/NYTimes/gziphandler/gzip_go18.go diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index badd8f7..8ddc75f 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -3,6 +3,10 @@ "GoVersion": "go1.7", "GodepVersion": "v79", "Deps": [ + { + "ImportPath": "github.com/NYTimes/gziphandler", + "Rev": "967539e5e271a2bc9b3dcb1285078a1b1df105ae" + }, { "ImportPath": "github.com/codegangsta/cli", "Comment": "v1.19.1", diff --git a/server/server.go b/server/server.go index bb03bcf..ee29ee5 100644 --- a/server/server.go +++ b/server/server.go @@ -14,6 +14,7 @@ import ( noesctmpl "text/template" "time" + "github.com/NYTimes/gziphandler" "github.com/elazarl/go-bindata-assetfs" "github.com/gorilla/websocket" "github.com/pkg/errors" @@ -197,7 +198,8 @@ func (server *Server) setupHandlers(ctx context.Context, cancel context.CancelFu siteHandler = server.wrapBasicAuth(siteHandler, server.options.Credential) } - siteHandler = server.wrapLogger(server.wrapHeaders(siteHandler)) + withGz := gziphandler.GzipHandler(server.wrapHeaders(siteHandler)) + siteHandler = server.wrapLogger(withGz) wsMux := http.NewServeMux() wsMux.Handle("/", siteHandler) diff --git a/vendor/github.com/NYTimes/gziphandler/.gitignore b/vendor/github.com/NYTimes/gziphandler/.gitignore new file mode 100644 index 0000000..1377554 --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/.gitignore @@ -0,0 +1 @@ +*.swp diff --git a/vendor/github.com/NYTimes/gziphandler/.travis.yml b/vendor/github.com/NYTimes/gziphandler/.travis.yml new file mode 100644 index 0000000..d2b67f6 --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/.travis.yml @@ -0,0 +1,6 @@ +language: go + +go: + - 1.7 + - 1.8 + - tip diff --git a/vendor/github.com/NYTimes/gziphandler/CODE_OF_CONDUCT.md b/vendor/github.com/NYTimes/gziphandler/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..cdbca19 --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/CODE_OF_CONDUCT.md @@ -0,0 +1,75 @@ +--- +layout: code-of-conduct +version: v1.0 +--- + +This code of conduct outlines our expectations for participants within the **NYTimes/gziphandler** community, as well as steps to reporting unacceptable behavior. We are committed to providing a welcoming and inspiring community for all and expect our code of conduct to be honored. Anyone who violates this code of conduct may be banned from the community. + +Our open source community strives to: + +* **Be friendly and patient.** +* **Be welcoming**: We strive to be a community that welcomes and supports people of all backgrounds and identities. This includes, but is not limited to members of any race, ethnicity, culture, national origin, colour, immigration status, social and economic class, educational level, sex, sexual orientation, gender identity and expression, age, size, family status, political belief, religion, and mental and physical ability. +* **Be considerate**: Your work will be used by other people, and you in turn will depend on the work of others. Any decision you take will affect users and colleagues, and you should take those consequences into account when making decisions. Remember that we're a world-wide community, so you might not be communicating in someone else's primary language. +* **Be respectful**: Not all of us will agree all the time, but disagreement is no excuse for poor behavior and poor manners. We might all experience some frustration now and then, but we cannot allow that frustration to turn into a personal attack. It’s important to remember that a community where people feel uncomfortable or threatened is not a productive one. +* **Be careful in the words that we choose**: we are a community of professionals, and we conduct ourselves professionally. Be kind to others. Do not insult or put down other participants. Harassment and other exclusionary behavior aren't acceptable. +* **Try to understand why we disagree**: Disagreements, both social and technical, happen all the time. It is important that we resolve disagreements and differing views constructively. Remember that we’re different. The strength of our community comes from its diversity, people from a wide range of backgrounds. Different people have different perspectives on issues. Being unable to understand why someone holds a viewpoint doesn’t mean that they’re wrong. Don’t forget that it is human to err and blaming each other doesn’t get us anywhere. Instead, focus on helping to resolve issues and learning from mistakes. + +## Definitions + +Harassment includes, but is not limited to: + +- Offensive comments related to gender, gender identity and expression, sexual orientation, disability, mental illness, neuro(a)typicality, physical appearance, body size, race, age, regional discrimination, political or religious affiliation +- Unwelcome comments regarding a person’s lifestyle choices and practices, including those related to food, health, parenting, drugs, and employment +- Deliberate misgendering. This includes deadnaming or persistently using a pronoun that does not correctly reflect a person's gender identity. You must address people by the name they give you when not addressing them by their username or handle +- Physical contact and simulated physical contact (eg, textual descriptions like “*hug*” or “*backrub*”) without consent or after a request to stop +- Threats of violence, both physical and psychological +- Incitement of violence towards any individual, including encouraging a person to commit suicide or to engage in self-harm +- Deliberate intimidation +- Stalking or following +- Harassing photography or recording, including logging online activity for harassment purposes +- Sustained disruption of discussion +- Unwelcome sexual attention, including gratuitous or off-topic sexual images or behaviour +- Pattern of inappropriate social contact, such as requesting/assuming inappropriate levels of intimacy with others +- Continued one-on-one communication after requests to cease +- Deliberate “outing” of any aspect of a person’s identity without their consent except as necessary to protect others from intentional abuse +- Publication of non-harassing private communication + +Our open source community prioritizes marginalized people’s safety over privileged people’s comfort. We will not act on complaints regarding: + +- ‘Reverse’ -isms, including ‘reverse racism,’ ‘reverse sexism,’ and ‘cisphobia’ +- Reasonable communication of boundaries, such as “leave me alone,” “go away,” or “I’m not discussing this with you” +- Refusal to explain or debate social justice concepts +- Communicating in a ‘tone’ you don’t find congenial +- Criticizing racist, sexist, cissexist, or otherwise oppressive behavior or assumptions + + +### Diversity Statement + +We encourage everyone to participate and are committed to building a community for all. Although we will fail at times, we seek to treat everyone both as fairly and equally as possible. Whenever a participant has made a mistake, we expect them to take responsibility for it. If someone has been harmed or offended, it is our responsibility to listen carefully and respectfully, and do our best to right the wrong. + +Although this list cannot be exhaustive, we explicitly honor diversity in age, gender, gender identity or expression, culture, ethnicity, language, national origin, political beliefs, profession, race, religion, sexual orientation, socioeconomic status, and technical ability. We will not tolerate discrimination based on any of the protected +characteristics above, including participants with disabilities. + +### Reporting Issues + +If you experience or witness unacceptable behavior—or have any other concerns—please report it by contacting us via **code@nytimes.com**. All reports will be handled with discretion. In your report please include: + +- Your contact information. +- Names (real, nicknames, or pseudonyms) of any individuals involved. If there are additional witnesses, please +include them as well. Your account of what occurred, and if you believe the incident is ongoing. If there is a publicly available record (e.g. a mailing list archive or a public IRC logger), please include a link. +- Any additional information that may be helpful. + +After filing a report, a representative will contact you personally, review the incident, follow up with any additional questions, and make a decision as to how to respond. If the person who is harassing you is part of the response team, they will recuse themselves from handling your incident. If the complaint originates from a member of the response team, it will be handled by a different member of the response team. We will respect confidentiality requests for the purpose of protecting victims of abuse. + +### Attribution & Acknowledgements + +We all stand on the shoulders of giants across many open source communities. We'd like to thank the communities and projects that established code of conducts and diversity statements as our inspiration: + +* [Django](https://www.djangoproject.com/conduct/reporting/) +* [Python](https://www.python.org/community/diversity/) +* [Ubuntu](http://www.ubuntu.com/about/about-ubuntu/conduct) +* [Contributor Covenant](http://contributor-covenant.org/) +* [Geek Feminism](http://geekfeminism.org/about/code-of-conduct/) +* [Citizen Code of Conduct](http://citizencodeofconduct.org/) + +This Code of Conduct was based on https://github.com/todogroup/opencodeofconduct diff --git a/vendor/github.com/NYTimes/gziphandler/CONTRIBUTING.md b/vendor/github.com/NYTimes/gziphandler/CONTRIBUTING.md new file mode 100644 index 0000000..b89a9eb --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/CONTRIBUTING.md @@ -0,0 +1,30 @@ +# Contributing to NYTimes/gziphandler + +This is an open source project started by handful of developers at The New York Times and open to the entire Go community. + +We really appreciate your help! + +## Filing issues + +When filing an issue, make sure to answer these five questions: + +1. What version of Go are you using (`go version`)? +2. What operating system and processor architecture are you using? +3. What did you do? +4. What did you expect to see? +5. What did you see instead? + +## Contributing code + +Before submitting changes, please follow these guidelines: + +1. Check the open issues and pull requests for existing discussions. +2. Open an issue to discuss a new feature. +3. Write tests. +4. Make sure code follows the ['Go Code Review Comments'](https://github.com/golang/go/wiki/CodeReviewComments). +5. Make sure your changes pass `go test`. +6. Make sure the entire test suite passes locally and on Travis CI. +7. Open a Pull Request. +8. [Squash your commits](http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html) after receiving feedback and add a [great commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html). + +Unless otherwise noted, the gziphandler source files are distributed under the Apache 2.0-style license found in the LICENSE.md file. diff --git a/vendor/github.com/NYTimes/gziphandler/LICENSE.md b/vendor/github.com/NYTimes/gziphandler/LICENSE.md new file mode 100644 index 0000000..b7e2ecb --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/LICENSE.md @@ -0,0 +1,13 @@ +Copyright (c) 2015 The New York Times Company + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this library 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/NYTimes/gziphandler/README.md b/vendor/github.com/NYTimes/gziphandler/README.md new file mode 100644 index 0000000..6d72460 --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/README.md @@ -0,0 +1,52 @@ +Gzip Handler +============ + +This is a tiny Go package which wraps HTTP handlers to transparently gzip the +response body, for clients which support it. Although it's usually simpler to +leave that to a reverse proxy (like nginx or Varnish), this package is useful +when that's undesirable. + + +## Usage + +Call `GzipHandler` with any handler (an object which implements the +`http.Handler` interface), and it'll return a new handler which gzips the +response. For example: + +```go +package main + +import ( + "io" + "net/http" + "github.com/NYTimes/gziphandler" +) + +func main() { + withoutGz := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + io.WriteString(w, "Hello, World") + }) + + withGz := gziphandler.GzipHandler(withoutGz) + + http.Handle("/", withGz) + http.ListenAndServe("0.0.0.0:8000", nil) +} +``` + + +## Documentation + +The docs can be found at [godoc.org][docs], as usual. + + +## License + +[Apache 2.0][license]. + + + + +[docs]: https://godoc.org/github.com/nytimes/gziphandler +[license]: https://github.com/nytimes/gziphandler/blob/master/LICENSE.md diff --git a/vendor/github.com/NYTimes/gziphandler/gzip.go b/vendor/github.com/NYTimes/gziphandler/gzip.go new file mode 100644 index 0000000..c47039f --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/gzip.go @@ -0,0 +1,407 @@ +package gziphandler + +import ( + "bufio" + "compress/gzip" + "fmt" + "io" + "net" + "net/http" + "strconv" + "strings" + "sync" +) + +const ( + vary = "Vary" + acceptEncoding = "Accept-Encoding" + contentEncoding = "Content-Encoding" + contentType = "Content-Type" + contentLength = "Content-Length" +) + +type codings map[string]float64 + +const ( + // DefaultQValue is the default qvalue to assign to an encoding if no explicit qvalue is set. + // This is actually kind of ambiguous in RFC 2616, so hopefully it's correct. + // The examples seem to indicate that it is. + DefaultQValue = 1.0 + + // DefaultMinSize defines the minimum size to reach to enable compression. + // It's 512 bytes. + DefaultMinSize = 512 +) + +// gzipWriterPools stores a sync.Pool for each compression level for reuse of +// gzip.Writers. Use poolIndex to covert a compression level to an index into +// gzipWriterPools. +var gzipWriterPools [gzip.BestCompression - gzip.BestSpeed + 2]*sync.Pool + +func init() { + for i := gzip.BestSpeed; i <= gzip.BestCompression; i++ { + addLevelPool(i) + } + addLevelPool(gzip.DefaultCompression) +} + +// poolIndex maps a compression level to its index into gzipWriterPools. It +// assumes that level is a valid gzip compression level. +func poolIndex(level int) int { + // gzip.DefaultCompression == -1, so we need to treat it special. + if level == gzip.DefaultCompression { + return gzip.BestCompression - gzip.BestSpeed + 1 + } + return level - gzip.BestSpeed +} + +func addLevelPool(level int) { + gzipWriterPools[poolIndex(level)] = &sync.Pool{ + New: func() interface{} { + // NewWriterLevel only returns error on a bad level, we are guaranteeing + // that this will be a valid level so it is okay to ignore the returned + // error. + w, _ := gzip.NewWriterLevel(nil, level) + return w + }, + } +} + +// GzipResponseWriter provides an http.ResponseWriter interface, which gzips +// bytes before writing them to the underlying response. This doesn't close the +// writers, so don't forget to do that. +// It can be configured to skip response smaller than minSize. +type GzipResponseWriter struct { + http.ResponseWriter + index int // Index for gzipWriterPools. + gw *gzip.Writer + + code int // Saves the WriteHeader value. + + minSize int // Specifed the minimum response size to gzip. If the response length is bigger than this value, it is compressed. + buf []byte // Holds the first part of the write before reaching the minSize or the end of the write. + + contentTypes []string // Only compress if the response is one of these content-types. All are accepted if empty. +} + +// Write appends data to the gzip writer. +func (w *GzipResponseWriter) Write(b []byte) (int, error) { + // If content type is not set. + if _, ok := w.Header()[contentType]; !ok { + // It infer it from the uncompressed body. + w.Header().Set(contentType, http.DetectContentType(b)) + } + + // GZIP responseWriter is initialized. Use the GZIP responseWriter. + if w.gw != nil { + n, err := w.gw.Write(b) + return n, err + } + + // Save the write into a buffer for later use in GZIP responseWriter (if content is long enough) or at close with regular responseWriter. + // On the first write, w.buf changes from nil to a valid slice + w.buf = append(w.buf, b...) + + // If the global writes are bigger than the minSize and we're about to write + // a response containing a content type we want to handle, enable + // compression. + if len(w.buf) >= w.minSize && handleContentType(w.contentTypes, w) { + err := w.startGzip() + if err != nil { + return 0, err + } + } + + return len(b), nil +} + +// startGzip initialize any GZIP specific informations. +func (w *GzipResponseWriter) startGzip() error { + + // Set the GZIP header. + w.Header().Set(contentEncoding, "gzip") + + // if the Content-Length is already set, then calls to Write on gzip + // will fail to set the Content-Length header since its already set + // See: https://github.com/golang/go/issues/14975. + w.Header().Del(contentLength) + + // Write the header to gzip response. + if w.code != 0 { + w.ResponseWriter.WriteHeader(w.code) + } + + // Initialize the GZIP response. + w.init() + + // Flush the buffer into the gzip reponse. + n, err := w.gw.Write(w.buf) + + // This should never happen (per io.Writer docs), but if the write didn't + // accept the entire buffer but returned no specific error, we have no clue + // what's going on, so abort just to be safe. + if err == nil && n < len(w.buf) { + return io.ErrShortWrite + } + + w.buf = nil + return err +} + +// WriteHeader just saves the response code until close or GZIP effective writes. +func (w *GzipResponseWriter) WriteHeader(code int) { + w.code = code +} + +// init graps a new gzip writer from the gzipWriterPool and writes the correct +// content encoding header. +func (w *GzipResponseWriter) init() { + // Bytes written during ServeHTTP are redirected to this gzip writer + // before being written to the underlying response. + gzw := gzipWriterPools[w.index].Get().(*gzip.Writer) + gzw.Reset(w.ResponseWriter) + w.gw = gzw +} + +// Close will close the gzip.Writer and will put it back in the gzipWriterPool. +func (w *GzipResponseWriter) Close() error { + if w.gw == nil { + // Gzip not trigged yet, write out regular response. + if w.code != 0 { + w.ResponseWriter.WriteHeader(w.code) + } + if w.buf != nil { + _, writeErr := w.ResponseWriter.Write(w.buf) + // Returns the error if any at write. + if writeErr != nil { + return fmt.Errorf("gziphandler: write to regular responseWriter at close gets error: %q", writeErr.Error()) + } + } + return nil + } + + err := w.gw.Close() + gzipWriterPools[w.index].Put(w.gw) + w.gw = nil + return err +} + +// Flush flushes the underlying *gzip.Writer and then the underlying +// http.ResponseWriter if it is an http.Flusher. This makes GzipResponseWriter +// an http.Flusher. +func (w *GzipResponseWriter) Flush() { + if w.gw != nil { + w.gw.Flush() + } + + if fw, ok := w.ResponseWriter.(http.Flusher); ok { + fw.Flush() + } +} + +// Hijack implements http.Hijacker. If the underlying ResponseWriter is a +// Hijacker, its Hijack method is returned. Otherwise an error is returned. +func (w *GzipResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) { + if hj, ok := w.ResponseWriter.(http.Hijacker); ok { + return hj.Hijack() + } + return nil, nil, fmt.Errorf("http.Hijacker interface is not supported") +} + +// verify Hijacker interface implementation +var _ http.Hijacker = &GzipResponseWriter{} + +// MustNewGzipLevelHandler behaves just like NewGzipLevelHandler except that in +// an error case it panics rather than returning an error. +func MustNewGzipLevelHandler(level int) func(http.Handler) http.Handler { + wrap, err := NewGzipLevelHandler(level) + if err != nil { + panic(err) + } + return wrap +} + +// NewGzipLevelHandler returns a wrapper function (often known as middleware) +// which can be used to wrap an HTTP handler to transparently gzip the response +// body if the client supports it (via the Accept-Encoding header). Responses will +// be encoded at the given gzip compression level. An error will be returned only +// if an invalid gzip compression level is given, so if one can ensure the level +// is valid, the returned error can be safely ignored. +func NewGzipLevelHandler(level int) (func(http.Handler) http.Handler, error) { + return NewGzipLevelAndMinSize(level, DefaultMinSize) +} + +// NewGzipLevelAndMinSize behave as NewGzipLevelHandler except it let the caller +// specify the minimum size before compression. +func NewGzipLevelAndMinSize(level, minSize int) (func(http.Handler) http.Handler, error) { + return GzipHandlerWithOpts(CompressionLevel(level), MinSize(minSize)) +} + +func GzipHandlerWithOpts(opts ...option) (func(http.Handler) http.Handler, error) { + c := &config{ + level: gzip.DefaultCompression, + minSize: DefaultMinSize, + } + + for _, o := range opts { + o(c) + } + + if err := c.validate(); err != nil { + return nil, err + } + + return func(h http.Handler) http.Handler { + index := poolIndex(c.level) + + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Add(vary, acceptEncoding) + + if acceptsGzip(r) { + gw := &GzipResponseWriter{ + ResponseWriter: w, + index: index, + minSize: c.minSize, + contentTypes: c.contentTypes, + } + defer gw.Close() + + h.ServeHTTP(gw, r) + } else { + h.ServeHTTP(w, r) + } + }) + }, nil +} + +// Used for functional configuration. +type config struct { + minSize int + level int + contentTypes []string +} + +func (c *config) validate() error { + if c.level != gzip.DefaultCompression && (c.level < gzip.BestSpeed || c.level > gzip.BestCompression) { + return fmt.Errorf("invalid compression level requested: %d", c.level) + } + + if c.minSize < 0 { + return fmt.Errorf("minimum size must be more than zero") + } + + return nil +} + +type option func(c *config) + +func MinSize(size int) option { + return func(c *config) { + c.minSize = size + } +} + +func CompressionLevel(level int) option { + return func(c *config) { + c.level = level + } +} + +func ContentTypes(types []string) option { + return func(c *config) { + c.contentTypes = []string{} + for _, v := range types { + c.contentTypes = append(c.contentTypes, strings.ToLower(v)) + } + } +} + +// GzipHandler wraps an HTTP handler, to transparently gzip the response body if +// the client supports it (via the Accept-Encoding header). This will compress at +// the default compression level. +func GzipHandler(h http.Handler) http.Handler { + wrapper, _ := NewGzipLevelHandler(gzip.DefaultCompression) + return wrapper(h) +} + +// acceptsGzip returns true if the given HTTP request indicates that it will +// accept a gzipped response. +func acceptsGzip(r *http.Request) bool { + acceptedEncodings, _ := parseEncodings(r.Header.Get(acceptEncoding)) + return acceptedEncodings["gzip"] > 0.0 +} + +// returns true if we've been configured to compress the specific content type. +func handleContentType(contentTypes []string, w http.ResponseWriter) bool { + // If contentTypes is empty we handle all content types. + if len(contentTypes) == 0 { + return true + } + + ct := strings.ToLower(w.Header().Get(contentType)) + for _, c := range contentTypes { + if c == ct { + return true + } + } + + return false +} + +// parseEncodings attempts to parse a list of codings, per RFC 2616, as might +// appear in an Accept-Encoding header. It returns a map of content-codings to +// quality values, and an error containing the errors encountered. It's probably +// safe to ignore those, because silently ignoring errors is how the internet +// works. +// +// See: http://tools.ietf.org/html/rfc2616#section-14.3. +func parseEncodings(s string) (codings, error) { + c := make(codings) + var e []string + + for _, ss := range strings.Split(s, ",") { + coding, qvalue, err := parseCoding(ss) + + if err != nil { + e = append(e, err.Error()) + } else { + c[coding] = qvalue + } + } + + // TODO (adammck): Use a proper multi-error struct, so the individual errors + // can be extracted if anyone cares. + if len(e) > 0 { + return c, fmt.Errorf("errors while parsing encodings: %s", strings.Join(e, ", ")) + } + + return c, nil +} + +// parseCoding parses a single conding (content-coding with an optional qvalue), +// as might appear in an Accept-Encoding header. It attempts to forgive minor +// formatting errors. +func parseCoding(s string) (coding string, qvalue float64, err error) { + for n, part := range strings.Split(s, ";") { + part = strings.TrimSpace(part) + qvalue = DefaultQValue + + if n == 0 { + coding = strings.ToLower(part) + } else if strings.HasPrefix(part, "q=") { + qvalue, err = strconv.ParseFloat(strings.TrimPrefix(part, "q="), 64) + + if qvalue < 0.0 { + qvalue = 0.0 + } else if qvalue > 1.0 { + qvalue = 1.0 + } + } + } + + if coding == "" { + err = fmt.Errorf("empty content-coding") + } + + return +} diff --git a/vendor/github.com/NYTimes/gziphandler/gzip_go18.go b/vendor/github.com/NYTimes/gziphandler/gzip_go18.go new file mode 100644 index 0000000..fa9665b --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/gzip_go18.go @@ -0,0 +1,43 @@ +// +build go1.8 + +package gziphandler + +import "net/http" + +// Push initiates an HTTP/2 server push. +// Push returns ErrNotSupported if the client has disabled push or if push +// is not supported on the underlying connection. +func (w *GzipResponseWriter) Push(target string, opts *http.PushOptions) error { + pusher, ok := w.ResponseWriter.(http.Pusher) + if ok && pusher != nil { + return pusher.Push(target, setAcceptEncodingForPushOptions(opts)) + } + return http.ErrNotSupported +} + +// setAcceptEncodingForPushOptions sets "Accept-Encoding" : "gzip" for PushOptions without overriding existing headers. +func setAcceptEncodingForPushOptions(opts *http.PushOptions) *http.PushOptions { + + if opts == nil { + opts = &http.PushOptions{ + Header: http.Header{ + acceptEncoding: []string{"gzip"}, + }, + } + return opts + } + + if opts.Header == nil { + opts.Header = http.Header{ + acceptEncoding: []string{"gzip"}, + } + return opts + } + + if encoding := opts.Header.Get(acceptEncoding); encoding == "" { + opts.Header.Add(acceptEncoding, "gzip") + return opts + } + + return opts +} From 46a8b006f0f28cec31e2c41d3cbae4c49fdcc5dc Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Wed, 23 Aug 2017 10:56:34 +0900 Subject: [PATCH 64/82] Fix typing of hterm --- js/typings/libapps/index.d.ts | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/js/typings/libapps/index.d.ts b/js/typings/libapps/index.d.ts index 053ff4d..7d3888a 100644 --- a/js/typings/libapps/index.d.ts +++ b/js/typings/libapps/index.d.ts @@ -1,8 +1,9 @@ -export namespace hterm { - export interface Terminal { +export declare namespace hterm { + export class Terminal { io: IO; onTerminalReady: () => void; + constructor(); getPrefs(): Prefs; decorate(HTMLElement); installKeyboard(): void; @@ -12,13 +13,7 @@ export namespace hterm { softReset(): void; } - export interface TerminalConstructor { - new (): Terminal; - (): Terminal; - } - - - export interface IO { + export class IO { writeUTF8: ((data: string) => void); writeUTF16: ((data: string) => void); onVTKeystroke: ((data: string) => void) | null; @@ -30,15 +25,14 @@ export namespace hterm { showOverlay(message: string, timeout: number | null); } - export interface Prefs { + export class Prefs { set(key: string, value: string): void; } - export var Terminal: TerminalConstructor; export var defaultStorage: lib.Storage; } -export namespace lib { +export declare namespace lib { export interface Storage { } From 7355d67a64f2c1bb7ae7b9680ca927893a5c417e Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Wed, 23 Aug 2017 10:58:18 +0900 Subject: [PATCH 65/82] Add license-loader Since xterm and hterm do not have proper comments for their license, add license-loader to keep their license information in the minimized bundle file. --- js/dist/gotty-bundle.js | 63 +++++++++++++++++++++++++++++++++++++++-- js/package-lock.json | 6 ++++ js/package.json | 1 + js/webpack.config.js | 7 ++++- server/asset.go | 4 +-- 5 files changed, 76 insertions(+), 5 deletions(-) diff --git a/js/dist/gotty-bundle.js b/js/dist/gotty-bundle.js index 7c8208d..501e7a9 100644 --- a/js/dist/gotty-bundle.js +++ b/js/dist/gotty-bundle.js @@ -1,4 +1,30 @@ -!function(e){function t(i){if(r[i])return r[i].exports;var o=r[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var r={};t.m=e,t.c=r,t.i=function(e){return e},t.d=function(e,r,i){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=15)}([function(e,t,r){"use strict";function i(e){var t=this;if(!(this instanceof i))return new i(arguments[0],arguments[1],arguments[2]);t.browser=S,t.cancel=i.cancel,u.EventEmitter.call(this),"number"==typeof e&&(e={cols:arguments[0],rows:arguments[1],handler:arguments[2]}),e=e||{},Object.keys(i.defaults).forEach(function(r){null==e[r]&&(e[r]=i.options[r],i[r]!==i.defaults[r]&&(e[r]=i[r])),t[r]=e[r]}),8===e.colors.length?e.colors=e.colors.concat(i._colors.slice(8)):16===e.colors.length?e.colors=e.colors.concat(i._colors.slice(16)):10===e.colors.length?e.colors=e.colors.slice(0,-2).concat(i._colors.slice(8,-2),e.colors.slice(-2)):18===e.colors.length&&(e.colors=e.colors.concat(i._colors.slice(16,-2),e.colors.slice(-2))),this.colors=e.colors,this.options=e,this.parent=e.body||e.parent||(A?A.getElementsByTagName("body")[0]:null),this.cols=e.cols||e.geometry[0],this.rows=e.rows||e.geometry[1],this.geometry=[this.cols,this.rows],e.handler&&this.on("data",e.handler),this.ybase=0,this.ydisp=0,this.x=0,this.y=0,this.cursorState=0,this.cursorHidden=!1,this.convertEol,this.queue="",this.scrollTop=0,this.scrollBottom=this.rows-1,this.customKeyEventHandler=null,this.cursorBlinkInterval=null,this.applicationKeypad=!1,this.applicationCursor=!1,this.originMode=!1,this.insertMode=!1,this.wraparoundMode=!0,this.normal=null,this.charset=null,this.gcharset=null,this.glevel=0,this.charsets=[null],this.decLocator,this.x10Mouse,this.vt200Mouse,this.vt300Mouse,this.normalMouse,this.mouseEvents,this.sendFocus,this.utfMouse,this.sgrMouse,this.urxvtMouse,this.element,this.children,this.refreshStart,this.refreshEnd,this.savedX,this.savedY,this.savedCols,this.readable=!0,this.writable=!0,this.defAttr=131840,this.curAttr=this.defAttr,this.params=[],this.currentParam=0,this.prefix="",this.postfix="",this.inputHandler=new m.InputHandler(this),this.parser=new y.Parser(this.inputHandler,this),this.renderer=this.renderer||null,this.selectionManager=this.selectionManager||null,this.linkifier=this.linkifier||new _.Linkifier,this.writeBuffer=[],this.writeInProgress=!1,this.xoffSentToCatchUp=!1,this.writeStopped=!1,this.surrogate_high="",this.lines=new f.CircularList(this.scrollback);for(var r=this.rows;r--;)this.lines.push(this.blankLine());this.selectionManager&&this.selectionManager.setBuffer(this.lines),this.tabs,this.setupStops(),this.userScrolling=!1}function o(e,t,r,i){Array.isArray(e)||(e=[e]),e.forEach(function(e){e.addEventListener(t,r,i||!1)})}function s(e,t,r,i){e.removeEventListener(t,r,i||!1)}function n(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function a(e,t){var r=e.browser.isMac&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.browser.isMSWindows&&t.altKey&&t.ctrlKey&&!t.metaKey;return"keypress"==t.type?r:r&&(!t.keyCode||t.keyCode>47)}function l(e,t,r){var o=e<<16|t<<8|r;if(null!=l._cache[o])return l._cache[o];for(var s,n,a,h,c,u=1/0,p=-1,d=0;d>16&255,e>>8&255,255&e]);return t}(),i.defaults={colors:i.colors,theme:"default",convertEol:!1,termName:"xterm",geometry:[80,24],cursorBlink:!1,cursorStyle:"block",visualBell:!1,popOnBell:!1,scrollback:1e3,screenKeys:!1,debug:!1,cancelEvents:!1,disableStdin:!1,useFlowControl:!1,tabStopWidth:8},i.options={},i.focus=null,function(e,t,r){if(e.forEach)return e.forEach(t,r);for(var i=0;it){var o=this.lines.length-t,s=this.ydisp-o<0;this.lines.trimStart(o),this.ybase=Math.max(this.ybase-o,0),this.ydisp=Math.max(this.ydisp-o,0),s&&this.refresh(0,this.rows-1)}this.lines.maxLength=t,this.viewport.syncScrollArea()}}switch(this[e]=t,this.options[e]=t,e){case"cursorBlink":this.setCursorBlinking(t);break;case"cursorStyle":this.element.classList.toggle("xterm-cursor-style-underline","underline"===t),this.element.classList.toggle("xterm-cursor-style-bar","bar"===t);break;case"tabStopWidth":this.setupStops()}},i.prototype.restartCursorBlinking=function(){this.setCursorBlinking(this.options.cursorBlink)},i.prototype.setCursorBlinking=function(e){if(this.element.classList.toggle("xterm-cursor-blink",e),this.clearCursorBlinkingInterval(),e){var t=this;this.cursorBlinkInterval=setInterval(function(){t.element.classList.toggle("xterm-cursor-blink-on")},600)}},i.prototype.clearCursorBlinkingInterval=function(){this.element.classList.remove("xterm-cursor-blink-on"),this.cursorBlinkInterval&&(clearInterval(this.cursorBlinkInterval),this.cursorBlinkInterval=null)},i.bindFocus=function(e){o(e.textarea,"focus",function(t){e.sendFocus&&e.send(g.C0.ESC+"[I"),e.element.classList.add("focus"),e.showCursor(),e.restartCursorBlinking.apply(e),i.focus=e,e.emit("focus",{terminal:e})})},i.prototype.blur=function(){return this.textarea.blur()},i.bindBlur=function(e){o(e.textarea,"blur",function(t){e.refresh(e.y,e.y),e.sendFocus&&e.send(g.C0.ESC+"[O"),e.element.classList.remove("focus"),e.clearCursorBlinkingInterval.apply(e),i.focus=null,e.emit("blur",{terminal:e})})},i.prototype.initGlobal=function(){var e=this,t=this;i.bindKeys(this),i.bindFocus(this),i.bindBlur(this),o(this.element,"copy",function(r){e.mouseEvents||d.copyHandler(r,t,e.selectionManager)});var r=function(e){return d.pasteHandler(e,t)};o(this.textarea,"paste",r),o(this.element,"paste",r),t.browser.isFirefox?o(this.element,"mousedown",function(t){2==t.button&&d.rightClickHandler(t,e.textarea,e.selectionManager)}):o(this.element,"contextmenu",function(t){d.rightClickHandler(t,e.textarea,e.selectionManager)}),t.browser.isLinux&&o(this.element,"auxclick",function(t){1===t.button&&d.moveTextAreaUnderMouseCursor(t,e.textarea,e.selectionManager)})},i.bindKeys=function(e){o(e.element,"keydown",function(t){A.activeElement==this&&e.keyDown(t)},!0),o(e.element,"keypress",function(t){A.activeElement==this&&e.keyPress(t)},!0),o(e.element,"keyup",function(t){h(t)||e.focus(e)},!0),o(e.textarea,"keydown",function(t){e.keyDown(t)},!0),o(e.textarea,"keypress",function(t){e.keyPress(t),this.value=""},!0),o(e.textarea,"compositionstart",e.compositionHelper.compositionstart.bind(e.compositionHelper)),o(e.textarea,"compositionupdate",e.compositionHelper.compositionupdate.bind(e.compositionHelper)),o(e.textarea,"compositionend",e.compositionHelper.compositionend.bind(e.compositionHelper)),e.on("refresh",e.compositionHelper.updateCompositionElements.bind(e.compositionHelper)),e.on("refresh",function(t){e.queueLinkification(t.start,t.end)})},i.prototype.insertRow=function(e){return"object"!=typeof e&&(e=A.createElement("div")),this.rowContainer.appendChild(e),this.children.push(e),e},i.prototype.open=function(e,t){var r=this,i=this,s=0;if(this.parent=e||this.parent,!this.parent)throw new Error("Terminal requires a parent element.");for(this.context=this.parent.ownerDocument.defaultView,this.document=this.parent.ownerDocument,this.body=this.document.getElementsByTagName("body")[0],this.element=this.document.createElement("div"),this.element.classList.add("terminal"),this.element.classList.add("xterm"),this.element.classList.add("xterm-theme-"+this.theme),this.setCursorBlinking(this.options.cursorBlink),this.element.setAttribute("tabindex",0),this.viewportElement=A.createElement("div"),this.viewportElement.classList.add("xterm-viewport"),this.element.appendChild(this.viewportElement),this.viewportScrollArea=A.createElement("div"),this.viewportScrollArea.classList.add("xterm-scroll-area"),this.viewportElement.appendChild(this.viewportScrollArea),this.selectionContainer=A.createElement("div"),this.selectionContainer.classList.add("xterm-selection"),this.element.appendChild(this.selectionContainer),this.rowContainer=A.createElement("div"),this.rowContainer.classList.add("xterm-rows"),this.element.appendChild(this.rowContainer),this.children=[],this.linkifier.attachToDom(A,this.children),this.helperContainer=A.createElement("div"),this.helperContainer.classList.add("xterm-helpers"),this.element.appendChild(this.helperContainer),this.textarea=A.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this.textarea.addEventListener("focus",function(){i.emit("focus",{terminal:i})}),this.textarea.addEventListener("blur",function(){i.emit("blur",{terminal:i})}),this.helperContainer.appendChild(this.textarea),this.compositionView=A.createElement("div"),this.compositionView.classList.add("composition-view"),this.compositionHelper=new c.CompositionHelper(this.textarea,this.compositionView,this),this.helperContainer.appendChild(this.compositionView),this.charSizeStyleElement=A.createElement("style"),this.helperContainer.appendChild(this.charSizeStyleElement);s div{height:"+this.charMeasure.height+"px;}"},i.prototype.bindMouse=function(){function e(e){var t,r;if(t=n(e),r=v.getRawByteCoords(e,l.rowContainer,l.charMeasure,l.cols,l.rows))switch(i(t,r),e.overrideType||e.type){case"mousedown":h=t;break;case"mouseup":h=32}}function t(e){var t,r=h;(t=v.getRawByteCoords(e,l.rowContainer,l.charMeasure,l.cols,l.rows))&&i(r+=32,t)}function r(e,t){if(l.utfMouse){if(2047===t)return e.push(0);t<127?e.push(t):(t>2047&&(t=2047),e.push(192|t>>6),e.push(128|63&t))}else{if(255===t)return e.push(0);t>127&&(t=127),e.push(t)}}function i(e,t){if(l.vt300Mouse){e&=3,t.x-=32,t.y-=32;var i=g.C0.ESC+"[24";if(0===e)i+="1";else if(1===e)i+="3";else if(2===e)i+="5";else{if(3===e)return;i+="0"}return i+="~["+t.x+","+t.y+"]\r",void l.send(i)}return l.decLocator?(e&=3,t.x-=32,t.y-=32,0===e?e=2:1===e?e=4:2===e?e=6:3===e&&(e=3),void l.send(g.C0.ESC+"["+e+";"+(3===e?4:0)+";"+t.y+";"+t.x+";"+(t.page||0)+"&w")):l.urxvtMouse?(t.x-=32,t.y-=32,t.x++,t.y++,void l.send(g.C0.ESC+"["+e+";"+t.x+";"+t.y+"M")):l.sgrMouse?(t.x-=32,t.y-=32,void l.send(g.C0.ESC+"[<"+((3==(3&e)?-4&e:e)-32)+";"+t.x+";"+t.y+(3==(3&e)?"m":"M"))):(r(i=[],e),r(i,t.x),r(i,t.y),void l.send(g.C0.ESC+"[M"+String.fromCharCode.apply(String,i)))}function n(e){var t,r,i,o,s;switch(e.overrideType||e.type){case"mousedown":t=null!=e.button?+e.button:null!=e.which?e.which-1:null,l.browser.isMSIE&&(t=1===t?0:4===t?1:t);break;case"mouseup":t=3;break;case"DOMMouseScroll":t=e.detail<0?64:65;break;case"wheel":t=e.wheelDeltaY>0?64:65}return r=e.shiftKey?4:0,i=e.metaKey?8:0,o=e.ctrlKey?16:0,s=r|i|o,l.vt200Mouse?s&=o:l.normalMouse||(s=0),t=32+(s<<2)+t}var a=this.element,l=this,h=32;o(a,"mousedown",function(r){if(l.mouseEvents)return e(r),l.focus(),l.vt200Mouse?(r.overrideType="mouseup",e(r),l.cancel(r)):(l.normalMouse&&o(l.document,"mousemove",t),l.x10Mouse||o(l.document,"mouseup",function r(i){return e(i),l.normalMouse&&s(l.document,"mousemove",t),s(l.document,"mouseup",r),l.cancel(i)}),l.cancel(r))}),o(a,"wheel",function(t){if(l.mouseEvents&&!(l.x10Mouse||l.vt300Mouse||l.decLocator))return e(t),l.cancel(t)}),o(a,"wheel",function(e){if(!l.mouseEvents)return l.viewport.onWheel(e),l.cancel(e)}),o(a,"touchstart",function(e){if(!l.mouseEvents)return l.viewport.onTouchStart(e),l.cancel(e)}),o(a,"touchmove",function(e){if(!l.mouseEvents)return l.viewport.onTouchMove(e),l.cancel(e)})},i.prototype.destroy=function(){this.readable=!1,this.writable=!1,this._events={},this.handler=function(){},this.write=function(){},this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element)},i.prototype.refresh=function(e,t){this.renderer&&this.renderer.queueRefresh(e,t)},i.prototype.queueLinkification=function(e,t){if(this.linkifier)for(var r=e;r<=t;r++)this.linkifier.linkifyRow(r)},i.prototype.showCursor=function(){this.cursorState||(this.cursorState=1,this.refresh(this.y,this.y))},i.prototype.scroll=function(e){var t;this.lines.length===this.lines.maxLength&&(this.lines.trimStart(1),this.ybase--,0!==this.ydisp&&this.ydisp--),this.ybase++,this.userScrolling||(this.ydisp=this.ybase),t=this.ybase+this.rows-1,(t-=this.rows-1-this.scrollBottom)===this.lines.length?this.lines.push(this.blankLine(void 0,e)):this.lines.splice(t,0,this.blankLine(void 0,e)),0!==this.scrollTop&&(0!==this.ybase&&(this.ybase--,this.userScrolling||(this.ydisp=this.ybase)),this.lines.splice(this.ybase+this.scrollTop,1)),this.updateRange(this.scrollTop),this.updateRange(this.scrollBottom),this.emit("scroll",this.ydisp)},i.prototype.scrollDisp=function(e,t){if(e<0){if(0===this.ydisp)return;this.userScrolling=!0}else e+this.ydisp>=this.ybase&&(this.userScrolling=!1);this.ydisp+=e,this.ydisp>this.ybase?this.ydisp=this.ybase:this.ydisp<0&&(this.ydisp=0),t||this.emit("scroll",this.ydisp),this.refresh(0,this.rows-1)},i.prototype.scrollPages=function(e){this.scrollDisp(e*(this.rows-1))},i.prototype.scrollToTop=function(){this.scrollDisp(-this.ydisp)},i.prototype.scrollToBottom=function(){this.scrollDisp(this.ybase-this.ydisp)},i.prototype.write=function(e){if(this.writeBuffer.push(e),this.options.useFlowControl&&!this.xoffSentToCatchUp&&this.writeBuffer.length>=5&&(this.send(g.C0.DC3),this.xoffSentToCatchUp=!0),!this.writeInProgress&&this.writeBuffer.length>0){this.writeInProgress=!0;var t=this;setTimeout(function(){t.innerWrite()})}},i.prototype.innerWrite=function(){for(var e=this.writeBuffer.splice(0,300);e.length>0;){var t=e.shift();t.length;this.xoffSentToCatchUp&&0===e.length&&0===this.writeBuffer.length&&(this.send(g.C0.DC1),this.xoffSentToCatchUp=!1),this.refreshStart=this.y,this.refreshEnd=this.y;var r=this.parser.parse(t);this.parser.setState(r),this.updateRange(this.y),this.refresh(this.refreshStart,this.refreshEnd)}if(this.writeBuffer.length>0){var i=this;setTimeout(function(){i.innerWrite()},0)}else this.writeInProgress=!1},i.prototype.writeln=function(e){this.write(e+"\r\n")},i.prototype.attachCustomKeydownHandler=function(e){console.warn("attachCustomKeydownHandler() is DEPRECATED and will be removed soon. Please use attachCustomKeyEventHandler() instead."),this.attachCustomKeyEventHandler(e)},i.prototype.attachCustomKeyEventHandler=function(e){this.customKeyEventHandler=e},i.prototype.setHypertextLinkHandler=function(e){if(!this.linkifier)throw new Error("Cannot attach a hypertext link handler before Terminal.open is called");this.linkifier.setHypertextLinkHandler(e),this.refresh(0,this.rows-1)},i.prototype.setHypertextValidationCallback=function(e){if(!this.linkifier)throw new Error("Cannot attach a hypertext validation callback before Terminal.open is called");this.linkifier.setHypertextValidationCallback(e),this.refresh(0,this.rows-1)},i.prototype.registerLinkMatcher=function(e,t,r){if(this.linkifier){var i=this.linkifier.registerLinkMatcher(e,t,r);return this.refresh(0,this.rows-1),i}},i.prototype.deregisterLinkMatcher=function(e){this.linkifier&&this.linkifier.deregisterLinkMatcher(e)&&this.refresh(0,this.rows-1)},i.prototype.hasSelection=function(){return this.selectionManager.hasSelection},i.prototype.getSelection=function(){return this.selectionManager.selectionText},i.prototype.clearSelection=function(){this.selectionManager.clearSelection()},i.prototype.selectAll=function(){this.selectionManager.selectAll()},i.prototype.keyDown=function(e){if(this.customKeyEventHandler&&!1===this.customKeyEventHandler(e))return!1;if(this.restartCursorBlinking(),!this.compositionHelper.keydown.bind(this.compositionHelper)(e))return this.ybase!==this.ydisp&&this.scrollToBottom(),!1;var t=this.evaluateKeyEscapeSequence(e);return t.key===g.C0.DC3?this.writeStopped=!0:t.key===g.C0.DC1&&(this.writeStopped=!1),t.scrollDisp?(this.scrollDisp(t.scrollDisp),this.cancel(e,!0)):!!a(this,e)||(t.cancel&&this.cancel(e,!0),!t.key||(this.emit("keydown",e),this.emit("key",t.key,e),this.showCursor(),this.handler(t.key),this.cancel(e,!0)))},i.prototype.evaluateKeyEscapeSequence=function(e){var t={cancel:!1,key:void 0,scrollDisp:void 0},r=e.shiftKey<<0|e.altKey<<1|e.ctrlKey<<2|e.metaKey<<3;switch(e.keyCode){case 8:if(e.shiftKey){t.key=g.C0.BS;break}t.key=g.C0.DEL;break;case 9:if(e.shiftKey){t.key=g.C0.ESC+"[Z";break}t.key=g.C0.HT,t.cancel=!0;break;case 13:t.key=g.C0.CR,t.cancel=!0;break;case 27:t.key=g.C0.ESC,t.cancel=!0;break;case 37:r?(t.key=g.C0.ESC+"[1;"+(r+1)+"D",t.key==g.C0.ESC+"[1;3D"&&(t.key=this.browser.isMac?g.C0.ESC+"b":g.C0.ESC+"[1;5D")):this.applicationCursor?t.key=g.C0.ESC+"OD":t.key=g.C0.ESC+"[D";break;case 39:r?(t.key=g.C0.ESC+"[1;"+(r+1)+"C",t.key==g.C0.ESC+"[1;3C"&&(t.key=this.browser.isMac?g.C0.ESC+"f":g.C0.ESC+"[1;5C")):this.applicationCursor?t.key=g.C0.ESC+"OC":t.key=g.C0.ESC+"[C";break;case 38:r?(t.key=g.C0.ESC+"[1;"+(r+1)+"A",t.key==g.C0.ESC+"[1;3A"&&(t.key=g.C0.ESC+"[1;5A")):this.applicationCursor?t.key=g.C0.ESC+"OA":t.key=g.C0.ESC+"[A";break;case 40:r?(t.key=g.C0.ESC+"[1;"+(r+1)+"B",t.key==g.C0.ESC+"[1;3B"&&(t.key=g.C0.ESC+"[1;5B")):this.applicationCursor?t.key=g.C0.ESC+"OB":t.key=g.C0.ESC+"[B";break;case 45:e.shiftKey||e.ctrlKey||(t.key=g.C0.ESC+"[2~");break;case 46:t.key=r?g.C0.ESC+"[3;"+(r+1)+"~":g.C0.ESC+"[3~";break;case 36:r?t.key=g.C0.ESC+"[1;"+(r+1)+"H":this.applicationCursor?t.key=g.C0.ESC+"OH":t.key=g.C0.ESC+"[H";break;case 35:r?t.key=g.C0.ESC+"[1;"+(r+1)+"F":this.applicationCursor?t.key=g.C0.ESC+"OF":t.key=g.C0.ESC+"[F";break;case 33:e.shiftKey?t.scrollDisp=-(this.rows-1):t.key=g.C0.ESC+"[5~";break;case 34:e.shiftKey?t.scrollDisp=this.rows-1:t.key=g.C0.ESC+"[6~";break;case 112:t.key=r?g.C0.ESC+"[1;"+(r+1)+"P":g.C0.ESC+"OP";break;case 113:t.key=r?g.C0.ESC+"[1;"+(r+1)+"Q":g.C0.ESC+"OQ";break;case 114:t.key=r?g.C0.ESC+"[1;"+(r+1)+"R":g.C0.ESC+"OR";break;case 115:t.key=r?g.C0.ESC+"[1;"+(r+1)+"S":g.C0.ESC+"OS";break;case 116:t.key=r?g.C0.ESC+"[15;"+(r+1)+"~":g.C0.ESC+"[15~";break;case 117:t.key=r?g.C0.ESC+"[17;"+(r+1)+"~":g.C0.ESC+"[17~";break;case 118:t.key=r?g.C0.ESC+"[18;"+(r+1)+"~":g.C0.ESC+"[18~";break;case 119:t.key=r?g.C0.ESC+"[19;"+(r+1)+"~":g.C0.ESC+"[19~";break;case 120:t.key=r?g.C0.ESC+"[20;"+(r+1)+"~":g.C0.ESC+"[20~";break;case 121:t.key=r?g.C0.ESC+"[21;"+(r+1)+"~":g.C0.ESC+"[21~";break;case 122:t.key=r?g.C0.ESC+"[23;"+(r+1)+"~":g.C0.ESC+"[23~";break;case 123:t.key=r?g.C0.ESC+"[24;"+(r+1)+"~":g.C0.ESC+"[24~";break;default:!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?this.browser.isMac||!e.altKey||e.ctrlKey||e.metaKey?this.browser.isMac&&!e.altKey&&!e.ctrlKey&&e.metaKey&&65===e.keyCode&&this.selectAll():e.keyCode>=65&&e.keyCode<=90?t.key=g.C0.ESC+String.fromCharCode(e.keyCode+32):192===e.keyCode?t.key=g.C0.ESC+"`":e.keyCode>=48&&e.keyCode<=57&&(t.key=g.C0.ESC+(e.keyCode-48)):e.keyCode>=65&&e.keyCode<=90?t.key=String.fromCharCode(e.keyCode-64):32===e.keyCode?t.key=String.fromCharCode(0):e.keyCode>=51&&e.keyCode<=55?t.key=String.fromCharCode(e.keyCode-51+27):56===e.keyCode?t.key=String.fromCharCode(127):219===e.keyCode?t.key=String.fromCharCode(27):220===e.keyCode?t.key=String.fromCharCode(28):221===e.keyCode&&(t.key=String.fromCharCode(29))}return t},i.prototype.setgLevel=function(e){this.glevel=e,this.charset=this.charsets[e]},i.prototype.setgCharset=function(e,t){this.charsets[e]=t,this.glevel===e&&(this.charset=t)},i.prototype.keyPress=function(e){var t;if(this.customKeyEventHandler&&!1===this.customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(null==e.which)t=e.keyCode;else{if(0===e.which||0===e.charCode)return!1;t=e.which}return!(!t||(e.altKey||e.ctrlKey||e.metaKey)&&!a(this,e))&&(t=String.fromCharCode(t),this.emit("keypress",t,e),this.emit("key",t,e),this.showCursor(),this.handler(t),!0)},i.prototype.send=function(e){var t=this;this.queue||setTimeout(function(){t.handler(t.queue),t.queue=""},1),this.queue+=e},i.prototype.bell=function(){if(this.visualBell){var e=this;this.element.style.borderColor="white",setTimeout(function(){e.element.style.borderColor=""},10),this.popOnBell&&this.focus()}},i.prototype.log=function(){if(this.debug&&this.context.console&&this.context.console.log){var e=Array.prototype.slice.call(arguments);this.context.console.log.apply(this.context.console,e)}},i.prototype.error=function(){if(this.debug&&this.context.console&&this.context.console.error){var e=Array.prototype.slice.call(arguments);this.context.console.error.apply(this.context.console,e)}},i.prototype.resize=function(e,t){if(!isNaN(e)&&!isNaN(t)){t>this.getOption("scrollback")&&this.setOption("scrollback",t);var r,i,o,s,n;if(e!==this.cols||t!==this.rows){if(e<1&&(e=1),t<1&&(t=1),(o=this.cols)0&&this.lines.length<=this.ybase+this.y+n+1?(this.ybase--,n++,this.ydisp>0&&this.ydisp--):this.lines.push(this.blankLine())),this.children.lengtht;)if(this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++)),this.children.length>t){if(!(r=this.children.shift()))continue;r.parentNode.removeChild(r)}this.rows=t,this.y>=t&&(this.y=t-1),n&&(this.y+=n),this.x>=e&&(this.x=e-1),this.scrollTop=0,this.scrollBottom=t-1,this.charMeasure.measure(),this.refresh(0,this.rows-1),this.normal=null,this.geometry=[this.cols,this.rows],this.emit("resize",{terminal:this,cols:e,rows:t})}}},i.prototype.updateRange=function(e){ethis.refreshEnd&&(this.refreshEnd=e)},i.prototype.maxRange=function(){this.refreshStart=0,this.refreshEnd=this.rows-1},i.prototype.setupStops=function(e){for(null!=e?this.tabs[e]||(e=this.prevStop(e)):(this.tabs={},e=0);e0;);return e>=this.cols?this.cols-1:e<0?0:e},i.prototype.nextStop=function(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e=this.cols?this.cols-1:e<0?0:e},i.prototype.eraseRight=function(e,t){var r=this.lines.get(this.ybase+t);if(r){for(var i=[this.eraseAttr()," ",1];ethis.scrollBottom&&(this.y--,this.scroll()),this.x>=this.cols&&this.x--},i.prototype.reverseIndex=function(){this.y===this.scrollTop?(this.lines.shiftElements(this.y+this.ybase,this.rows-1,1),this.lines.set(this.y+this.ybase,this.blankLine(!0)),this.updateRange(this.scrollTop),this.updateRange(this.scrollBottom)):this.y--},i.prototype.reset=function(){this.options.rows=this.rows,this.options.cols=this.cols;var e=this.customKeyEventHandler,t=this.cursorBlinkInterval;i.call(this,this.options),this.customKeyEventHandler=e,this.cursorBlinkInterval=t,this.refresh(0,this.rows-1),this.viewport.syncScrollArea()},i.prototype.tabSet=function(){this.tabs[this.x]=!0},i.prototype.matchColor=l,l._cache={},l.distance=function(e,t,r,i,o,s){return Math.pow(30*(e-i),2)+Math.pow(59*(t-o),2)+Math.pow(11*(r-s),2)},i.EventEmitter=u.EventEmitter,i.inherits=n,i.on=o,i.off=s,i.cancel=function(e,t){if(this.cancelEvents||t)return e.preventDefault(),e.stopPropagation(),!1},e.exports=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(){this._events=this._events||{}}return e.prototype.on=function(e,t){this._events[e]=this._events[e]||[],this._events[e].push(t)},e.prototype.off=function(e,t){if(this._events[e])for(var r=this._events[e],i=r.length;i--;)if(r[i]===t||r[i].listener===t)return void r.splice(i,1)},e.prototype.removeAllListeners=function(e){this._events[e]&&delete this._events[e]},e.prototype.once=function(e,t){function r(){var i=Array.prototype.slice.call(arguments);return this.off(e,r),t.apply(this,i)}return r.listener=t,this.on(e,r)},e.prototype.emit=function(e){for(var t=[],r=1;r47)}function l(e,t,r){var o=e<<16|t<<8|r;if(null!=l._cache[o])return l._cache[o];for(var s,n,a,h,c,u=1/0,p=-1,d=0;d>16&255,e>>8&255,255&e]);return t}(),i.defaults={colors:i.colors,theme:"default",convertEol:!1,termName:"xterm",geometry:[80,24],cursorBlink:!1,cursorStyle:"block",visualBell:!1,popOnBell:!1,scrollback:1e3,screenKeys:!1,debug:!1,cancelEvents:!1,disableStdin:!1,useFlowControl:!1,tabStopWidth:8},i.options={},i.focus=null,function(e,t,r){if(e.forEach)return e.forEach(t,r);for(var i=0;it){var o=this.lines.length-t,s=this.ydisp-o<0;this.lines.trimStart(o),this.ybase=Math.max(this.ybase-o,0),this.ydisp=Math.max(this.ydisp-o,0),s&&this.refresh(0,this.rows-1)}this.lines.maxLength=t,this.viewport.syncScrollArea()}}switch(this[e]=t,this.options[e]=t,e){case"cursorBlink":this.setCursorBlinking(t);break;case"cursorStyle":this.element.classList.toggle("xterm-cursor-style-underline","underline"===t),this.element.classList.toggle("xterm-cursor-style-bar","bar"===t);break;case"tabStopWidth":this.setupStops()}},i.prototype.restartCursorBlinking=function(){this.setCursorBlinking(this.options.cursorBlink)},i.prototype.setCursorBlinking=function(e){if(this.element.classList.toggle("xterm-cursor-blink",e),this.clearCursorBlinkingInterval(),e){var t=this;this.cursorBlinkInterval=setInterval(function(){t.element.classList.toggle("xterm-cursor-blink-on")},600)}},i.prototype.clearCursorBlinkingInterval=function(){this.element.classList.remove("xterm-cursor-blink-on"),this.cursorBlinkInterval&&(clearInterval(this.cursorBlinkInterval),this.cursorBlinkInterval=null)},i.bindFocus=function(e){o(e.textarea,"focus",function(t){e.sendFocus&&e.send(g.C0.ESC+"[I"),e.element.classList.add("focus"),e.showCursor(),e.restartCursorBlinking.apply(e),i.focus=e,e.emit("focus",{terminal:e})})},i.prototype.blur=function(){return this.textarea.blur()},i.bindBlur=function(e){o(e.textarea,"blur",function(t){e.refresh(e.y,e.y),e.sendFocus&&e.send(g.C0.ESC+"[O"),e.element.classList.remove("focus"),e.clearCursorBlinkingInterval.apply(e),i.focus=null,e.emit("blur",{terminal:e})})},i.prototype.initGlobal=function(){var e=this,t=this;i.bindKeys(this),i.bindFocus(this),i.bindBlur(this),o(this.element,"copy",function(r){e.mouseEvents||d.copyHandler(r,t,e.selectionManager)});var r=function(e){return d.pasteHandler(e,t)};o(this.textarea,"paste",r),o(this.element,"paste",r),t.browser.isFirefox?o(this.element,"mousedown",function(t){2==t.button&&d.rightClickHandler(t,e.textarea,e.selectionManager)}):o(this.element,"contextmenu",function(t){d.rightClickHandler(t,e.textarea,e.selectionManager)}),t.browser.isLinux&&o(this.element,"auxclick",function(t){1===t.button&&d.moveTextAreaUnderMouseCursor(t,e.textarea,e.selectionManager)})},i.bindKeys=function(e){o(e.element,"keydown",function(t){A.activeElement==this&&e.keyDown(t)},!0),o(e.element,"keypress",function(t){A.activeElement==this&&e.keyPress(t)},!0),o(e.element,"keyup",function(t){h(t)||e.focus(e)},!0),o(e.textarea,"keydown",function(t){e.keyDown(t)},!0),o(e.textarea,"keypress",function(t){e.keyPress(t),this.value=""},!0),o(e.textarea,"compositionstart",e.compositionHelper.compositionstart.bind(e.compositionHelper)),o(e.textarea,"compositionupdate",e.compositionHelper.compositionupdate.bind(e.compositionHelper)),o(e.textarea,"compositionend",e.compositionHelper.compositionend.bind(e.compositionHelper)),e.on("refresh",e.compositionHelper.updateCompositionElements.bind(e.compositionHelper)),e.on("refresh",function(t){e.queueLinkification(t.start,t.end)})},i.prototype.insertRow=function(e){return"object"!=typeof e&&(e=A.createElement("div")),this.rowContainer.appendChild(e),this.children.push(e),e},i.prototype.open=function(e,t){var r=this,i=this,s=0;if(this.parent=e||this.parent,!this.parent)throw new Error("Terminal requires a parent element.");for(this.context=this.parent.ownerDocument.defaultView,this.document=this.parent.ownerDocument,this.body=this.document.getElementsByTagName("body")[0],this.element=this.document.createElement("div"),this.element.classList.add("terminal"),this.element.classList.add("xterm"),this.element.classList.add("xterm-theme-"+this.theme),this.setCursorBlinking(this.options.cursorBlink),this.element.setAttribute("tabindex",0),this.viewportElement=A.createElement("div"),this.viewportElement.classList.add("xterm-viewport"),this.element.appendChild(this.viewportElement),this.viewportScrollArea=A.createElement("div"),this.viewportScrollArea.classList.add("xterm-scroll-area"),this.viewportElement.appendChild(this.viewportScrollArea),this.selectionContainer=A.createElement("div"),this.selectionContainer.classList.add("xterm-selection"),this.element.appendChild(this.selectionContainer),this.rowContainer=A.createElement("div"),this.rowContainer.classList.add("xterm-rows"),this.element.appendChild(this.rowContainer),this.children=[],this.linkifier.attachToDom(A,this.children),this.helperContainer=A.createElement("div"),this.helperContainer.classList.add("xterm-helpers"),this.element.appendChild(this.helperContainer),this.textarea=A.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this.textarea.addEventListener("focus",function(){i.emit("focus",{terminal:i})}),this.textarea.addEventListener("blur",function(){i.emit("blur",{terminal:i})}),this.helperContainer.appendChild(this.textarea),this.compositionView=A.createElement("div"),this.compositionView.classList.add("composition-view"),this.compositionHelper=new c.CompositionHelper(this.textarea,this.compositionView,this),this.helperContainer.appendChild(this.compositionView),this.charSizeStyleElement=A.createElement("style"),this.helperContainer.appendChild(this.charSizeStyleElement);s div{height:"+this.charMeasure.height+"px;}"},i.prototype.bindMouse=function(){function e(e){var t,r;if(t=n(e),r=v.getRawByteCoords(e,l.rowContainer,l.charMeasure,l.cols,l.rows))switch(i(t,r),e.overrideType||e.type){case"mousedown":h=t;break;case"mouseup":h=32}}function t(e){var t,r=h;(t=v.getRawByteCoords(e,l.rowContainer,l.charMeasure,l.cols,l.rows))&&i(r+=32,t)}function r(e,t){if(l.utfMouse){if(2047===t)return e.push(0);t<127?e.push(t):(t>2047&&(t=2047),e.push(192|t>>6),e.push(128|63&t))}else{if(255===t)return e.push(0);t>127&&(t=127),e.push(t)}}function i(e,t){if(l.vt300Mouse){e&=3,t.x-=32,t.y-=32;var i=g.C0.ESC+"[24";if(0===e)i+="1";else if(1===e)i+="3";else if(2===e)i+="5";else{if(3===e)return;i+="0"}return i+="~["+t.x+","+t.y+"]\r",void l.send(i)}return l.decLocator?(e&=3,t.x-=32,t.y-=32,0===e?e=2:1===e?e=4:2===e?e=6:3===e&&(e=3),void l.send(g.C0.ESC+"["+e+";"+(3===e?4:0)+";"+t.y+";"+t.x+";"+(t.page||0)+"&w")):l.urxvtMouse?(t.x-=32,t.y-=32,t.x++,t.y++,void l.send(g.C0.ESC+"["+e+";"+t.x+";"+t.y+"M")):l.sgrMouse?(t.x-=32,t.y-=32,void l.send(g.C0.ESC+"[<"+((3==(3&e)?-4&e:e)-32)+";"+t.x+";"+t.y+(3==(3&e)?"m":"M"))):(r(i=[],e),r(i,t.x),r(i,t.y),void l.send(g.C0.ESC+"[M"+String.fromCharCode.apply(String,i)))}function n(e){var t,r,i,o,s;switch(e.overrideType||e.type){case"mousedown":t=null!=e.button?+e.button:null!=e.which?e.which-1:null,l.browser.isMSIE&&(t=1===t?0:4===t?1:t);break;case"mouseup":t=3;break;case"DOMMouseScroll":t=e.detail<0?64:65;break;case"wheel":t=e.wheelDeltaY>0?64:65}return r=e.shiftKey?4:0,i=e.metaKey?8:0,o=e.ctrlKey?16:0,s=r|i|o,l.vt200Mouse?s&=o:l.normalMouse||(s=0),t=32+(s<<2)+t}var a=this.element,l=this,h=32;o(a,"mousedown",function(r){if(l.mouseEvents)return e(r),l.focus(),l.vt200Mouse?(r.overrideType="mouseup",e(r),l.cancel(r)):(l.normalMouse&&o(l.document,"mousemove",t),l.x10Mouse||o(l.document,"mouseup",function r(i){return e(i),l.normalMouse&&s(l.document,"mousemove",t),s(l.document,"mouseup",r),l.cancel(i)}),l.cancel(r))}),o(a,"wheel",function(t){if(l.mouseEvents&&!(l.x10Mouse||l.vt300Mouse||l.decLocator))return e(t),l.cancel(t)}),o(a,"wheel",function(e){if(!l.mouseEvents)return l.viewport.onWheel(e),l.cancel(e)}),o(a,"touchstart",function(e){if(!l.mouseEvents)return l.viewport.onTouchStart(e),l.cancel(e)}),o(a,"touchmove",function(e){if(!l.mouseEvents)return l.viewport.onTouchMove(e),l.cancel(e)})},i.prototype.destroy=function(){this.readable=!1,this.writable=!1,this._events={},this.handler=function(){},this.write=function(){},this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element)},i.prototype.refresh=function(e,t){this.renderer&&this.renderer.queueRefresh(e,t)},i.prototype.queueLinkification=function(e,t){if(this.linkifier)for(var r=e;r<=t;r++)this.linkifier.linkifyRow(r)},i.prototype.showCursor=function(){this.cursorState||(this.cursorState=1,this.refresh(this.y,this.y))},i.prototype.scroll=function(e){var t;this.lines.length===this.lines.maxLength&&(this.lines.trimStart(1),this.ybase--,0!==this.ydisp&&this.ydisp--),this.ybase++,this.userScrolling||(this.ydisp=this.ybase),t=this.ybase+this.rows-1,(t-=this.rows-1-this.scrollBottom)===this.lines.length?this.lines.push(this.blankLine(void 0,e)):this.lines.splice(t,0,this.blankLine(void 0,e)),0!==this.scrollTop&&(0!==this.ybase&&(this.ybase--,this.userScrolling||(this.ydisp=this.ybase)),this.lines.splice(this.ybase+this.scrollTop,1)),this.updateRange(this.scrollTop),this.updateRange(this.scrollBottom),this.emit("scroll",this.ydisp)},i.prototype.scrollDisp=function(e,t){if(e<0){if(0===this.ydisp)return;this.userScrolling=!0}else e+this.ydisp>=this.ybase&&(this.userScrolling=!1);this.ydisp+=e,this.ydisp>this.ybase?this.ydisp=this.ybase:this.ydisp<0&&(this.ydisp=0),t||this.emit("scroll",this.ydisp),this.refresh(0,this.rows-1)},i.prototype.scrollPages=function(e){this.scrollDisp(e*(this.rows-1))},i.prototype.scrollToTop=function(){this.scrollDisp(-this.ydisp)},i.prototype.scrollToBottom=function(){this.scrollDisp(this.ybase-this.ydisp)},i.prototype.write=function(e){if(this.writeBuffer.push(e),this.options.useFlowControl&&!this.xoffSentToCatchUp&&this.writeBuffer.length>=5&&(this.send(g.C0.DC3),this.xoffSentToCatchUp=!0),!this.writeInProgress&&this.writeBuffer.length>0){this.writeInProgress=!0;var t=this;setTimeout(function(){t.innerWrite()})}},i.prototype.innerWrite=function(){for(var e=this.writeBuffer.splice(0,300);e.length>0;){var t=e.shift();t.length;this.xoffSentToCatchUp&&0===e.length&&0===this.writeBuffer.length&&(this.send(g.C0.DC1),this.xoffSentToCatchUp=!1),this.refreshStart=this.y,this.refreshEnd=this.y;var r=this.parser.parse(t);this.parser.setState(r),this.updateRange(this.y),this.refresh(this.refreshStart,this.refreshEnd)}if(this.writeBuffer.length>0){var i=this;setTimeout(function(){i.innerWrite()},0)}else this.writeInProgress=!1},i.prototype.writeln=function(e){this.write(e+"\r\n")},i.prototype.attachCustomKeydownHandler=function(e){console.warn("attachCustomKeydownHandler() is DEPRECATED and will be removed soon. Please use attachCustomKeyEventHandler() instead."),this.attachCustomKeyEventHandler(e)},i.prototype.attachCustomKeyEventHandler=function(e){this.customKeyEventHandler=e},i.prototype.setHypertextLinkHandler=function(e){if(!this.linkifier)throw new Error("Cannot attach a hypertext link handler before Terminal.open is called");this.linkifier.setHypertextLinkHandler(e),this.refresh(0,this.rows-1)},i.prototype.setHypertextValidationCallback=function(e){if(!this.linkifier)throw new Error("Cannot attach a hypertext validation callback before Terminal.open is called");this.linkifier.setHypertextValidationCallback(e),this.refresh(0,this.rows-1)},i.prototype.registerLinkMatcher=function(e,t,r){if(this.linkifier){var i=this.linkifier.registerLinkMatcher(e,t,r);return this.refresh(0,this.rows-1),i}},i.prototype.deregisterLinkMatcher=function(e){this.linkifier&&this.linkifier.deregisterLinkMatcher(e)&&this.refresh(0,this.rows-1)},i.prototype.hasSelection=function(){return this.selectionManager.hasSelection},i.prototype.getSelection=function(){return this.selectionManager.selectionText},i.prototype.clearSelection=function(){this.selectionManager.clearSelection()},i.prototype.selectAll=function(){this.selectionManager.selectAll()},i.prototype.keyDown=function(e){if(this.customKeyEventHandler&&!1===this.customKeyEventHandler(e))return!1;if(this.restartCursorBlinking(),!this.compositionHelper.keydown.bind(this.compositionHelper)(e))return this.ybase!==this.ydisp&&this.scrollToBottom(),!1;var t=this.evaluateKeyEscapeSequence(e);return t.key===g.C0.DC3?this.writeStopped=!0:t.key===g.C0.DC1&&(this.writeStopped=!1),t.scrollDisp?(this.scrollDisp(t.scrollDisp),this.cancel(e,!0)):!!a(this,e)||(t.cancel&&this.cancel(e,!0),!t.key||(this.emit("keydown",e),this.emit("key",t.key,e),this.showCursor(),this.handler(t.key),this.cancel(e,!0)))},i.prototype.evaluateKeyEscapeSequence=function(e){var t={cancel:!1,key:void 0,scrollDisp:void 0},r=e.shiftKey<<0|e.altKey<<1|e.ctrlKey<<2|e.metaKey<<3;switch(e.keyCode){case 8:if(e.shiftKey){t.key=g.C0.BS;break}t.key=g.C0.DEL;break;case 9:if(e.shiftKey){t.key=g.C0.ESC+"[Z";break}t.key=g.C0.HT,t.cancel=!0;break;case 13:t.key=g.C0.CR,t.cancel=!0;break;case 27:t.key=g.C0.ESC,t.cancel=!0;break;case 37:r?(t.key=g.C0.ESC+"[1;"+(r+1)+"D",t.key==g.C0.ESC+"[1;3D"&&(t.key=this.browser.isMac?g.C0.ESC+"b":g.C0.ESC+"[1;5D")):this.applicationCursor?t.key=g.C0.ESC+"OD":t.key=g.C0.ESC+"[D";break;case 39:r?(t.key=g.C0.ESC+"[1;"+(r+1)+"C",t.key==g.C0.ESC+"[1;3C"&&(t.key=this.browser.isMac?g.C0.ESC+"f":g.C0.ESC+"[1;5C")):this.applicationCursor?t.key=g.C0.ESC+"OC":t.key=g.C0.ESC+"[C";break;case 38:r?(t.key=g.C0.ESC+"[1;"+(r+1)+"A",t.key==g.C0.ESC+"[1;3A"&&(t.key=g.C0.ESC+"[1;5A")):this.applicationCursor?t.key=g.C0.ESC+"OA":t.key=g.C0.ESC+"[A";break;case 40:r?(t.key=g.C0.ESC+"[1;"+(r+1)+"B",t.key==g.C0.ESC+"[1;3B"&&(t.key=g.C0.ESC+"[1;5B")):this.applicationCursor?t.key=g.C0.ESC+"OB":t.key=g.C0.ESC+"[B";break;case 45:e.shiftKey||e.ctrlKey||(t.key=g.C0.ESC+"[2~");break;case 46:t.key=r?g.C0.ESC+"[3;"+(r+1)+"~":g.C0.ESC+"[3~";break;case 36:r?t.key=g.C0.ESC+"[1;"+(r+1)+"H":this.applicationCursor?t.key=g.C0.ESC+"OH":t.key=g.C0.ESC+"[H";break;case 35:r?t.key=g.C0.ESC+"[1;"+(r+1)+"F":this.applicationCursor?t.key=g.C0.ESC+"OF":t.key=g.C0.ESC+"[F";break;case 33:e.shiftKey?t.scrollDisp=-(this.rows-1):t.key=g.C0.ESC+"[5~";break;case 34:e.shiftKey?t.scrollDisp=this.rows-1:t.key=g.C0.ESC+"[6~";break;case 112:t.key=r?g.C0.ESC+"[1;"+(r+1)+"P":g.C0.ESC+"OP";break;case 113:t.key=r?g.C0.ESC+"[1;"+(r+1)+"Q":g.C0.ESC+"OQ";break;case 114:t.key=r?g.C0.ESC+"[1;"+(r+1)+"R":g.C0.ESC+"OR";break;case 115:t.key=r?g.C0.ESC+"[1;"+(r+1)+"S":g.C0.ESC+"OS";break;case 116:t.key=r?g.C0.ESC+"[15;"+(r+1)+"~":g.C0.ESC+"[15~";break;case 117:t.key=r?g.C0.ESC+"[17;"+(r+1)+"~":g.C0.ESC+"[17~";break;case 118:t.key=r?g.C0.ESC+"[18;"+(r+1)+"~":g.C0.ESC+"[18~";break;case 119:t.key=r?g.C0.ESC+"[19;"+(r+1)+"~":g.C0.ESC+"[19~";break;case 120:t.key=r?g.C0.ESC+"[20;"+(r+1)+"~":g.C0.ESC+"[20~";break;case 121:t.key=r?g.C0.ESC+"[21;"+(r+1)+"~":g.C0.ESC+"[21~";break;case 122:t.key=r?g.C0.ESC+"[23;"+(r+1)+"~":g.C0.ESC+"[23~";break;case 123:t.key=r?g.C0.ESC+"[24;"+(r+1)+"~":g.C0.ESC+"[24~";break;default:!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?this.browser.isMac||!e.altKey||e.ctrlKey||e.metaKey?this.browser.isMac&&!e.altKey&&!e.ctrlKey&&e.metaKey&&65===e.keyCode&&this.selectAll():e.keyCode>=65&&e.keyCode<=90?t.key=g.C0.ESC+String.fromCharCode(e.keyCode+32):192===e.keyCode?t.key=g.C0.ESC+"`":e.keyCode>=48&&e.keyCode<=57&&(t.key=g.C0.ESC+(e.keyCode-48)):e.keyCode>=65&&e.keyCode<=90?t.key=String.fromCharCode(e.keyCode-64):32===e.keyCode?t.key=String.fromCharCode(0):e.keyCode>=51&&e.keyCode<=55?t.key=String.fromCharCode(e.keyCode-51+27):56===e.keyCode?t.key=String.fromCharCode(127):219===e.keyCode?t.key=String.fromCharCode(27):220===e.keyCode?t.key=String.fromCharCode(28):221===e.keyCode&&(t.key=String.fromCharCode(29))}return t},i.prototype.setgLevel=function(e){this.glevel=e,this.charset=this.charsets[e]},i.prototype.setgCharset=function(e,t){this.charsets[e]=t,this.glevel===e&&(this.charset=t)},i.prototype.keyPress=function(e){var t;if(this.customKeyEventHandler&&!1===this.customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(null==e.which)t=e.keyCode;else{if(0===e.which||0===e.charCode)return!1;t=e.which}return!(!t||(e.altKey||e.ctrlKey||e.metaKey)&&!a(this,e))&&(t=String.fromCharCode(t),this.emit("keypress",t,e),this.emit("key",t,e),this.showCursor(),this.handler(t),!0)},i.prototype.send=function(e){var t=this;this.queue||setTimeout(function(){t.handler(t.queue),t.queue=""},1),this.queue+=e},i.prototype.bell=function(){if(this.visualBell){var e=this;this.element.style.borderColor="white",setTimeout(function(){e.element.style.borderColor=""},10),this.popOnBell&&this.focus()}},i.prototype.log=function(){if(this.debug&&this.context.console&&this.context.console.log){var e=Array.prototype.slice.call(arguments);this.context.console.log.apply(this.context.console,e)}},i.prototype.error=function(){if(this.debug&&this.context.console&&this.context.console.error){var e=Array.prototype.slice.call(arguments);this.context.console.error.apply(this.context.console,e)}},i.prototype.resize=function(e,t){if(!isNaN(e)&&!isNaN(t)){t>this.getOption("scrollback")&&this.setOption("scrollback",t);var r,i,o,s,n;if(e!==this.cols||t!==this.rows){if(e<1&&(e=1),t<1&&(t=1),(o=this.cols)0&&this.lines.length<=this.ybase+this.y+n+1?(this.ybase--,n++,this.ydisp>0&&this.ydisp--):this.lines.push(this.blankLine())),this.children.lengtht;)if(this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++)),this.children.length>t){if(!(r=this.children.shift()))continue;r.parentNode.removeChild(r)}this.rows=t,this.y>=t&&(this.y=t-1),n&&(this.y+=n),this.x>=e&&(this.x=e-1),this.scrollTop=0,this.scrollBottom=t-1,this.charMeasure.measure(),this.refresh(0,this.rows-1),this.normal=null,this.geometry=[this.cols,this.rows],this.emit("resize",{terminal:this,cols:e,rows:t})}}},i.prototype.updateRange=function(e){ethis.refreshEnd&&(this.refreshEnd=e)},i.prototype.maxRange=function(){this.refreshStart=0,this.refreshEnd=this.rows-1},i.prototype.setupStops=function(e){for(null!=e?this.tabs[e]||(e=this.prevStop(e)):(this.tabs={},e=0);e0;);return e>=this.cols?this.cols-1:e<0?0:e},i.prototype.nextStop=function(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e=this.cols?this.cols-1:e<0?0:e},i.prototype.eraseRight=function(e,t){var r=this.lines.get(this.ybase+t);if(r){for(var i=[this.eraseAttr()," ",1];ethis.scrollBottom&&(this.y--,this.scroll()),this.x>=this.cols&&this.x--},i.prototype.reverseIndex=function(){this.y===this.scrollTop?(this.lines.shiftElements(this.y+this.ybase,this.rows-1,1),this.lines.set(this.y+this.ybase,this.blankLine(!0)),this.updateRange(this.scrollTop),this.updateRange(this.scrollBottom)):this.y--},i.prototype.reset=function(){this.options.rows=this.rows,this.options.cols=this.cols;var e=this.customKeyEventHandler,t=this.cursorBlinkInterval;i.call(this,this.options),this.customKeyEventHandler=e,this.cursorBlinkInterval=t,this.refresh(0,this.rows-1),this.viewport.syncScrollArea()},i.prototype.tabSet=function(){this.tabs[this.x]=!0},i.prototype.matchColor=l,l._cache={},l.distance=function(e,t,r,i,o,s){return Math.pow(30*(e-i),2)+Math.pow(59*(t-o),2)+Math.pow(11*(r-s),2)},i.EventEmitter=u.EventEmitter,i.inherits=n,i.on=o,i.off=s,i.cancel=function(e,t){if(this.cancelEvents||t)return e.preventDefault(),e.stopPropagation(),!1},e.exports=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(){this._events=this._events||{}}return e.prototype.on=function(e,t){this._events[e]=this._events[e]||[],this._events[e].push(t)},e.prototype.off=function(e,t){if(this._events[e])for(var r=this._events[e],i=r.length;i--;)if(r[i]===t||r[i].listener===t)return void r.splice(i,1)},e.prototype.removeAllListeners=function(e){this._events[e]&&delete this._events[e]},e.prototype.once=function(e,t){function r(){var i=Array.prototype.slice.call(arguments);return this.off(e,r),t.apply(this,i)}return r.listener=t,this.on(e,r)},e.prototype.emit=function(e){for(var t=[],r=1;r=0},function(e,t,r){"use strict";function i(e,t){if(null==e.pageX)return null;for(var r=e.pageX,i=e.pageY;t&&t!==self.document.documentElement;)r-=t.offsetLeft,i-=t.offsetTop,t="offsetParent"in t?t.offsetParent:t.parentElement;return[r,i]}function o(e,t,r,o,s,n){var a=i(e,t);return a[0]=Math.ceil((a[0]+(n?r.width/2:0))/r.width),a[1]=Math.ceil(a[1]/r.height),a[0]=Math.min(Math.max(a[0],1),o+1),a[1]=Math.min(Math.max(a[1],1),s+1),a}Object.defineProperty(t,"__esModule",{value:!0}),t.getCoordsRelativeToElement=i,t.getCoords=o,t.getRawByteCoords=function(e,t,r,i,s){var n=o(e,t,r,i,s),a=n[0],l=n[1];return a+=32,l+=32,{x:a,y:l}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(14),o=function(){function e(e){this.elem=e,i.hterm.defaultStorage=new i.lib.Storage.Memory,this.term=new i.hterm.Terminal,this.term.getPrefs().set("send-encoding","raw"),this.term.decorate(this.elem),this.io=this.term.io.push(),this.term.installKeyboard()}return e.prototype.info=function(){return{columns:this.columns,rows:this.rows}},e.prototype.output=function(e){null!=this.term.io&&this.term.io.writeUTF16(e)},e.prototype.showMessage=function(e,t){this.message=e,t>0?this.term.io.showOverlay(e,t):this.term.io.showOverlay(e,null)},e.prototype.removeMessage=function(){this.term.io.showOverlay(this.message,0)},e.prototype.setWindowTitle=function(e){this.term.setWindowTitle(e)},e.prototype.setPreferences=function(e){var t=this;Object.keys(e).forEach(function(r){t.term.getPrefs().set(r,e[r])})},e.prototype.onInput=function(e){this.io.onVTKeystroke=function(t){e(t)},this.io.sendString=function(t){e(t)}},e.prototype.onResize=function(e){var t=this;this.io.onTerminalResize=function(r,i){t.columns=r,t.rows=i,e(r,i)}},e.prototype.deactivate=function(){this.io.onVTKeystroke=null,this.io.sendString=null,this.io.onTerminalResize=null,this.term.uninstallKeyboard()},e.prototype.reset=function(){this.removeMessage(),this.term.installKeyboard()},e.prototype.close=function(){this.term.uninstallKeyboard()},e}();t.Hterm=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){this.url=e,this.protocols=t}return e.prototype.create=function(){return new o(this.url,this.protocols)},e}();t.ConnectionFactory=i;var o=function(){function e(e,t){this.bare=new WebSocket(e,t)}return e.prototype.open=function(){},e.prototype.close=function(){this.bare.close()},e.prototype.send=function(e){this.bare.send(e)},e.prototype.isOpen=function(){return this.bare.readyState==WebSocket.CONNECTING||this.bare.readyState==WebSocket.OPEN},e.prototype.onOpen=function(e){this.bare.onopen=function(t){e()}},e.prototype.onReceive=function(e){this.bare.onmessage=function(t){e(t.data)}},e.prototype.onClose=function(e){this.bare.onclose=function(t){e()}},e}();t.Connection=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.protocols=["webtty"],t.msgInputUnknown="0",t.msgInput="1",t.msgPing="2",t.msgResizeTerminal="3",t.msgUnknownOutput="0",t.msgOutput="1",t.msgPong="2",t.msgSetWindowTitle="3",t.msgSetPreferences="4",t.msgSetReconnect="5";var i=function(){function e(e,t,r,i){this.term=e,this.connectionFactory=t,this.args=r,this.authToken=i,this.reconnect=-1}return e.prototype.open=function(){var e,r,i=this,o=this.connectionFactory.create(),s=function(){o.onOpen(function(){var r=i.term.info();o.send(JSON.stringify({Arguments:i.args,AuthToken:i.authToken}));var s=function(e,r){o.send(t.msgResizeTerminal+JSON.stringify({columns:e,rows:r}))};i.term.onResize(s),s(r.columns,r.rows),i.term.onInput(function(e){o.send(t.msgInput+e)}),e=setInterval(function(){o.send(t.msgPing)},3e4)}),o.onReceive(function(e){var r=e.slice(1);switch(e[0]){case t.msgOutput:i.term.output(decodeURIComponent(Array.prototype.map.call(atob(r),function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join("")));break;case t.msgPong:break;case t.msgSetWindowTitle:i.term.setWindowTitle(r);break;case t.msgSetPreferences:var o=JSON.parse(r);i.term.setPreferences(o);break;case t.msgSetReconnect:var s=JSON.parse(r);console.log("Enabling reconnect: "+s+" seconds"),i.reconnect=s}}),o.onClose(function(){clearInterval(e),i.term.deactivate(),i.term.showMessage("Connection Closed",0),i.reconnect>0&&(r=setTimeout(function(){o=i.connectionFactory.create(),i.term.reset(),s()},1e3*i.reconnect))}),o.open()};return s(),function(){clearTimeout(r),o.close()}},e}();t.WebTTY=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(0);i.loadAddon("fit");var o=function(){function e(e){var t=this;this.elem=e,this.term=new i,this.message=e.ownerDocument.createElement("div"),this.message.className="xterm-overlay",this.messageTimeout=2e3,this.resizeListener=function(){t.term.fit(),t.term.scrollToBottom(),t.showMessage(String(t.term.cols)+"x"+String(t.term.rows),t.messageTimeout)},this.term.on("open",function(){t.resizeListener(),window.addEventListener("resize",function(){t.resizeListener()})}),this.term.open(e,!0)}return e.prototype.info=function(){return{columns:this.term.cols,rows:this.term.rows}},e.prototype.output=function(e){this.term.write(e)},e.prototype.showMessage=function(e,t){var r=this;this.message.textContent=e,this.elem.appendChild(this.message),this.messageTimer&&clearTimeout(this.messageTimer),t>0&&(this.messageTimer=setTimeout(function(){r.elem.removeChild(r.message)},t))},e.prototype.removeMessage=function(){this.message.parentNode==this.elem&&this.elem.removeChild(this.message)},e.prototype.setWindowTitle=function(e){document.title=e},e.prototype.setPreferences=function(e){},e.prototype.onInput=function(e){this.term.on("data",function(t){e(t)})},e.prototype.onResize=function(e){this.term.on("resize",function(t){e(t.cols,t.rows)})},e.prototype.deactivate=function(){this.term.off("data"),this.term.off("resize"),this.term.blur()},e.prototype.reset=function(){this.removeMessage(),this.term.clear()},e.prototype.close=function(){window.removeEventListener("resize",this.resizeListener),this.term.destroy()},e}();t.Xterm=o},function(e,t,r){"use strict";if(void 0!==i)throw new Error('Global "lib" object already exists.');var i={};i.runtimeDependencies_={},i.initCallbacks_=[],i.rtdep=function(e){var t;try{throw new Error}catch(e){var r=e.stack.split("\n");t=r.length>=3?r[2].replace(/^\s*at\s+/,""):r[1].replace(/^\s*global code@/,"")}for(var o=0;ot.length&&(t=t.repeat(e/t.length+1)),t.slice(0,e)+String(this))}),String.prototype.padEnd||(String.prototype.padEnd=function(e,t){return(e-=this.length)<=0?String(this):(void 0===t&&(t=" "),e>t.length&&(t=t.repeat(e/t.length+1)),String(this)+t.slice(0,e))}),i.colors={},i.colors.re_={hex16:/#([a-f0-9])([a-f0-9])([a-f0-9])/i,hex24:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/i,rgb:new RegExp("^/s*rgb/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*/)/s*$".replace(/\//g,"\\"),"i"),rgba:new RegExp("^/s*rgba/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*(?:,/s*(/d+(?:/./d+)?)/s*)/)/s*$".replace(/\//g,"\\"),"i"),rgbx:new RegExp("^/s*rgba?/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*(?:,/s*(/d+(?:/./d+)?)/s*)?/)/s*$".replace(/\//g,"\\"),"i"),x11rgb:/^\s*rgb:([a-f0-9]{1,4})\/([a-f0-9]{1,4})\/([a-f0-9]{1,4})\s*$/i,name:/[a-z][a-z0-9\s]+/},i.colors.rgbToX11=function(e){function t(e){return e=(257*Math.min(e,255)).toString(16),i.f.zpad(e,4)}var r=e.match(i.colors.re_.rgbx);return r?"rgb:"+t(r[1])+"/"+t(r[2])+"/"+t(r[3]):null},i.colors.x11HexToCSS=function(e){if(!e.startsWith("#"))return null;if(e=e.substr(1),-1==[3,6,9,12].indexOf(e.length))return null;if(e.match(/[^a-f0-9]/i))return null;var t=e.length/3,r=e.substr(0,t),o=e.substr(t,t),s=e.substr(t+t,t);return i.colors.arrayToRGBA([r,o,s].map(function(e){return e=parseInt(e,16),2==t?e:1==t?e<<4:e>>4*(t-2)}))},i.colors.x11ToCSS=function(e){var t=e.match(i.colors.re_.x11rgb);return t?(t.splice(0,1),i.colors.arrayToRGBA(t.map(function(e){return 1==e.length?parseInt(e+e,16):2==e.length?parseInt(e,16):(3==e.length&&(e+=e.substr(2)),Math.round(parseInt(e,16)/257))}))):e.startsWith("#")?i.colors.x11HexToCSS(e):i.colors.nameToRGB(e)},i.colors.hexToRGB=function(e){function t(e){4==e.length&&(e=e.replace(r,function(e,t,r,i){return"#"+t+t+r+r+i+i}));var t=e.match(o);return t?"rgb("+parseInt(t[1],16)+", "+parseInt(t[2],16)+", "+parseInt(t[3],16)+")":null}var r=i.colors.re_.hex16,o=i.colors.re_.hex24;if(e instanceof Array)for(var s=0;s3?e[3]:1;return"rgba("+e[0]+", "+e[1]+", "+e[2]+", "+t+")"},i.colors.setAlpha=function(e,t){var r=i.colors.crackRGB(e);return r[3]=t,i.colors.arrayToRGBA(r)},i.colors.mix=function(e,t,r){for(var o=i.colors.crackRGB(e),s=i.colors.crackRGB(t),n=0;n<4;++n){var a=s[n]-o[n];o[n]=Math.round(parseInt(o[n])+a*r)}return i.colors.arrayToRGBA(o)},i.colors.crackRGB=function(e){if(e.startsWith("rgba")){if(t=e.match(i.colors.re_.rgba))return t.shift(),t}else{var t=e.match(i.colors.re_.rgb);if(t)return t.shift(),t.push(1),t}return console.error("Couldn't crack: "+e),null},i.colors.nameToRGB=function(e){return e in i.colors.colorNames?i.colors.colorNames[e]:(e=e.toLowerCase())in i.colors.colorNames?i.colors.colorNames[e]:(e=e.replace(/\s+/g,""))in i.colors.colorNames?i.colors.colorNames[e]:null},i.colors.stockColorPalette=i.colors.hexToRGB(["#000000","#CC0000","#4E9A06","#C4A000","#3465A4","#75507B","#06989A","#D3D7CF","#555753","#EF2929","#00BA13","#FCE94F","#729FCF","#F200CB","#00B5BD","#EEEEEC","#000000","#00005F","#000087","#0000AF","#0000D7","#0000FF","#005F00","#005F5F","#005F87","#005FAF","#005FD7","#005FFF","#008700","#00875F","#008787","#0087AF","#0087D7","#0087FF","#00AF00","#00AF5F","#00AF87","#00AFAF","#00AFD7","#00AFFF","#00D700","#00D75F","#00D787","#00D7AF","#00D7D7","#00D7FF","#00FF00","#00FF5F","#00FF87","#00FFAF","#00FFD7","#00FFFF","#5F0000","#5F005F","#5F0087","#5F00AF","#5F00D7","#5F00FF","#5F5F00","#5F5F5F","#5F5F87","#5F5FAF","#5F5FD7","#5F5FFF","#5F8700","#5F875F","#5F8787","#5F87AF","#5F87D7","#5F87FF","#5FAF00","#5FAF5F","#5FAF87","#5FAFAF","#5FAFD7","#5FAFFF","#5FD700","#5FD75F","#5FD787","#5FD7AF","#5FD7D7","#5FD7FF","#5FFF00","#5FFF5F","#5FFF87","#5FFFAF","#5FFFD7","#5FFFFF","#870000","#87005F","#870087","#8700AF","#8700D7","#8700FF","#875F00","#875F5F","#875F87","#875FAF","#875FD7","#875FFF","#878700","#87875F","#878787","#8787AF","#8787D7","#8787FF","#87AF00","#87AF5F","#87AF87","#87AFAF","#87AFD7","#87AFFF","#87D700","#87D75F","#87D787","#87D7AF","#87D7D7","#87D7FF","#87FF00","#87FF5F","#87FF87","#87FFAF","#87FFD7","#87FFFF","#AF0000","#AF005F","#AF0087","#AF00AF","#AF00D7","#AF00FF","#AF5F00","#AF5F5F","#AF5F87","#AF5FAF","#AF5FD7","#AF5FFF","#AF8700","#AF875F","#AF8787","#AF87AF","#AF87D7","#AF87FF","#AFAF00","#AFAF5F","#AFAF87","#AFAFAF","#AFAFD7","#AFAFFF","#AFD700","#AFD75F","#AFD787","#AFD7AF","#AFD7D7","#AFD7FF","#AFFF00","#AFFF5F","#AFFF87","#AFFFAF","#AFFFD7","#AFFFFF","#D70000","#D7005F","#D70087","#D700AF","#D700D7","#D700FF","#D75F00","#D75F5F","#D75F87","#D75FAF","#D75FD7","#D75FFF","#D78700","#D7875F","#D78787","#D787AF","#D787D7","#D787FF","#D7AF00","#D7AF5F","#D7AF87","#D7AFAF","#D7AFD7","#D7AFFF","#D7D700","#D7D75F","#D7D787","#D7D7AF","#D7D7D7","#D7D7FF","#D7FF00","#D7FF5F","#D7FF87","#D7FFAF","#D7FFD7","#D7FFFF","#FF0000","#FF005F","#FF0087","#FF00AF","#FF00D7","#FF00FF","#FF5F00","#FF5F5F","#FF5F87","#FF5FAF","#FF5FD7","#FF5FFF","#FF8700","#FF875F","#FF8787","#FF87AF","#FF87D7","#FF87FF","#FFAF00","#FFAF5F","#FFAF87","#FFAFAF","#FFAFD7","#FFAFFF","#FFD700","#FFD75F","#FFD787","#FFD7AF","#FFD7D7","#FFD7FF","#FFFF00","#FFFF5F","#FFFF87","#FFFFAF","#FFFFD7","#FFFFFF","#080808","#121212","#1C1C1C","#262626","#303030","#3A3A3A","#444444","#4E4E4E","#585858","#626262","#6C6C6C","#767676","#808080","#8A8A8A","#949494","#9E9E9E","#A8A8A8","#B2B2B2","#BCBCBC","#C6C6C6","#D0D0D0","#DADADA","#E4E4E4","#EEEEEE"]),i.colors.colorPalette=i.colors.stockColorPalette,i.colors.colorNames={aliceblue:"rgb(240, 248, 255)",antiquewhite:"rgb(250, 235, 215)",antiquewhite1:"rgb(255, 239, 219)",antiquewhite2:"rgb(238, 223, 204)",antiquewhite3:"rgb(205, 192, 176)",antiquewhite4:"rgb(139, 131, 120)",aquamarine:"rgb(127, 255, 212)",aquamarine1:"rgb(127, 255, 212)",aquamarine2:"rgb(118, 238, 198)",aquamarine3:"rgb(102, 205, 170)",aquamarine4:"rgb(69, 139, 116)",azure:"rgb(240, 255, 255)",azure1:"rgb(240, 255, 255)",azure2:"rgb(224, 238, 238)",azure3:"rgb(193, 205, 205)",azure4:"rgb(131, 139, 139)",beige:"rgb(245, 245, 220)",bisque:"rgb(255, 228, 196)",bisque1:"rgb(255, 228, 196)",bisque2:"rgb(238, 213, 183)",bisque3:"rgb(205, 183, 158)",bisque4:"rgb(139, 125, 107)",black:"rgb(0, 0, 0)",blanchedalmond:"rgb(255, 235, 205)",blue:"rgb(0, 0, 255)",blue1:"rgb(0, 0, 255)",blue2:"rgb(0, 0, 238)",blue3:"rgb(0, 0, 205)",blue4:"rgb(0, 0, 139)",blueviolet:"rgb(138, 43, 226)",brown:"rgb(165, 42, 42)",brown1:"rgb(255, 64, 64)",brown2:"rgb(238, 59, 59)",brown3:"rgb(205, 51, 51)",brown4:"rgb(139, 35, 35)",burlywood:"rgb(222, 184, 135)",burlywood1:"rgb(255, 211, 155)",burlywood2:"rgb(238, 197, 145)",burlywood3:"rgb(205, 170, 125)",burlywood4:"rgb(139, 115, 85)",cadetblue:"rgb(95, 158, 160)",cadetblue1:"rgb(152, 245, 255)",cadetblue2:"rgb(142, 229, 238)",cadetblue3:"rgb(122, 197, 205)",cadetblue4:"rgb(83, 134, 139)",chartreuse:"rgb(127, 255, 0)",chartreuse1:"rgb(127, 255, 0)",chartreuse2:"rgb(118, 238, 0)",chartreuse3:"rgb(102, 205, 0)",chartreuse4:"rgb(69, 139, 0)",chocolate:"rgb(210, 105, 30)",chocolate1:"rgb(255, 127, 36)",chocolate2:"rgb(238, 118, 33)",chocolate3:"rgb(205, 102, 29)",chocolate4:"rgb(139, 69, 19)",coral:"rgb(255, 127, 80)",coral1:"rgb(255, 114, 86)",coral2:"rgb(238, 106, 80)",coral3:"rgb(205, 91, 69)",coral4:"rgb(139, 62, 47)",cornflowerblue:"rgb(100, 149, 237)",cornsilk:"rgb(255, 248, 220)",cornsilk1:"rgb(255, 248, 220)",cornsilk2:"rgb(238, 232, 205)",cornsilk3:"rgb(205, 200, 177)",cornsilk4:"rgb(139, 136, 120)",cyan:"rgb(0, 255, 255)",cyan1:"rgb(0, 255, 255)",cyan2:"rgb(0, 238, 238)",cyan3:"rgb(0, 205, 205)",cyan4:"rgb(0, 139, 139)",darkblue:"rgb(0, 0, 139)",darkcyan:"rgb(0, 139, 139)",darkgoldenrod:"rgb(184, 134, 11)",darkgoldenrod1:"rgb(255, 185, 15)",darkgoldenrod2:"rgb(238, 173, 14)",darkgoldenrod3:"rgb(205, 149, 12)",darkgoldenrod4:"rgb(139, 101, 8)",darkgray:"rgb(169, 169, 169)",darkgreen:"rgb(0, 100, 0)",darkgrey:"rgb(169, 169, 169)",darkkhaki:"rgb(189, 183, 107)",darkmagenta:"rgb(139, 0, 139)",darkolivegreen:"rgb(85, 107, 47)",darkolivegreen1:"rgb(202, 255, 112)",darkolivegreen2:"rgb(188, 238, 104)",darkolivegreen3:"rgb(162, 205, 90)",darkolivegreen4:"rgb(110, 139, 61)",darkorange:"rgb(255, 140, 0)",darkorange1:"rgb(255, 127, 0)",darkorange2:"rgb(238, 118, 0)",darkorange3:"rgb(205, 102, 0)",darkorange4:"rgb(139, 69, 0)",darkorchid:"rgb(153, 50, 204)",darkorchid1:"rgb(191, 62, 255)",darkorchid2:"rgb(178, 58, 238)",darkorchid3:"rgb(154, 50, 205)",darkorchid4:"rgb(104, 34, 139)",darkred:"rgb(139, 0, 0)",darksalmon:"rgb(233, 150, 122)",darkseagreen:"rgb(143, 188, 143)",darkseagreen1:"rgb(193, 255, 193)",darkseagreen2:"rgb(180, 238, 180)",darkseagreen3:"rgb(155, 205, 155)",darkseagreen4:"rgb(105, 139, 105)",darkslateblue:"rgb(72, 61, 139)",darkslategray:"rgb(47, 79, 79)",darkslategray1:"rgb(151, 255, 255)",darkslategray2:"rgb(141, 238, 238)",darkslategray3:"rgb(121, 205, 205)",darkslategray4:"rgb(82, 139, 139)",darkslategrey:"rgb(47, 79, 79)",darkturquoise:"rgb(0, 206, 209)",darkviolet:"rgb(148, 0, 211)",debianred:"rgb(215, 7, 81)",deeppink:"rgb(255, 20, 147)",deeppink1:"rgb(255, 20, 147)",deeppink2:"rgb(238, 18, 137)",deeppink3:"rgb(205, 16, 118)",deeppink4:"rgb(139, 10, 80)",deepskyblue:"rgb(0, 191, 255)",deepskyblue1:"rgb(0, 191, 255)",deepskyblue2:"rgb(0, 178, 238)",deepskyblue3:"rgb(0, 154, 205)",deepskyblue4:"rgb(0, 104, 139)",dimgray:"rgb(105, 105, 105)",dimgrey:"rgb(105, 105, 105)",dodgerblue:"rgb(30, 144, 255)",dodgerblue1:"rgb(30, 144, 255)",dodgerblue2:"rgb(28, 134, 238)",dodgerblue3:"rgb(24, 116, 205)",dodgerblue4:"rgb(16, 78, 139)",firebrick:"rgb(178, 34, 34)",firebrick1:"rgb(255, 48, 48)",firebrick2:"rgb(238, 44, 44)",firebrick3:"rgb(205, 38, 38)",firebrick4:"rgb(139, 26, 26)",floralwhite:"rgb(255, 250, 240)",forestgreen:"rgb(34, 139, 34)",gainsboro:"rgb(220, 220, 220)",ghostwhite:"rgb(248, 248, 255)",gold:"rgb(255, 215, 0)",gold1:"rgb(255, 215, 0)",gold2:"rgb(238, 201, 0)",gold3:"rgb(205, 173, 0)",gold4:"rgb(139, 117, 0)",goldenrod:"rgb(218, 165, 32)",goldenrod1:"rgb(255, 193, 37)",goldenrod2:"rgb(238, 180, 34)",goldenrod3:"rgb(205, 155, 29)",goldenrod4:"rgb(139, 105, 20)",gray:"rgb(190, 190, 190)",gray0:"rgb(0, 0, 0)",gray1:"rgb(3, 3, 3)",gray10:"rgb(26, 26, 26)",gray100:"rgb(255, 255, 255)",gray11:"rgb(28, 28, 28)",gray12:"rgb(31, 31, 31)",gray13:"rgb(33, 33, 33)",gray14:"rgb(36, 36, 36)",gray15:"rgb(38, 38, 38)",gray16:"rgb(41, 41, 41)",gray17:"rgb(43, 43, 43)",gray18:"rgb(46, 46, 46)",gray19:"rgb(48, 48, 48)",gray2:"rgb(5, 5, 5)",gray20:"rgb(51, 51, 51)",gray21:"rgb(54, 54, 54)",gray22:"rgb(56, 56, 56)",gray23:"rgb(59, 59, 59)",gray24:"rgb(61, 61, 61)",gray25:"rgb(64, 64, 64)",gray26:"rgb(66, 66, 66)",gray27:"rgb(69, 69, 69)",gray28:"rgb(71, 71, 71)",gray29:"rgb(74, 74, 74)",gray3:"rgb(8, 8, 8)",gray30:"rgb(77, 77, 77)",gray31:"rgb(79, 79, 79)",gray32:"rgb(82, 82, 82)",gray33:"rgb(84, 84, 84)",gray34:"rgb(87, 87, 87)",gray35:"rgb(89, 89, 89)",gray36:"rgb(92, 92, 92)",gray37:"rgb(94, 94, 94)",gray38:"rgb(97, 97, 97)",gray39:"rgb(99, 99, 99)",gray4:"rgb(10, 10, 10)",gray40:"rgb(102, 102, 102)",gray41:"rgb(105, 105, 105)",gray42:"rgb(107, 107, 107)",gray43:"rgb(110, 110, 110)",gray44:"rgb(112, 112, 112)",gray45:"rgb(115, 115, 115)",gray46:"rgb(117, 117, 117)",gray47:"rgb(120, 120, 120)",gray48:"rgb(122, 122, 122)",gray49:"rgb(125, 125, 125)",gray5:"rgb(13, 13, 13)",gray50:"rgb(127, 127, 127)",gray51:"rgb(130, 130, 130)",gray52:"rgb(133, 133, 133)",gray53:"rgb(135, 135, 135)",gray54:"rgb(138, 138, 138)",gray55:"rgb(140, 140, 140)",gray56:"rgb(143, 143, 143)",gray57:"rgb(145, 145, 145)",gray58:"rgb(148, 148, 148)",gray59:"rgb(150, 150, 150)",gray6:"rgb(15, 15, 15)",gray60:"rgb(153, 153, 153)",gray61:"rgb(156, 156, 156)",gray62:"rgb(158, 158, 158)",gray63:"rgb(161, 161, 161)",gray64:"rgb(163, 163, 163)",gray65:"rgb(166, 166, 166)",gray66:"rgb(168, 168, 168)",gray67:"rgb(171, 171, 171)",gray68:"rgb(173, 173, 173)",gray69:"rgb(176, 176, 176)",gray7:"rgb(18, 18, 18)",gray70:"rgb(179, 179, 179)",gray71:"rgb(181, 181, 181)",gray72:"rgb(184, 184, 184)",gray73:"rgb(186, 186, 186)",gray74:"rgb(189, 189, 189)",gray75:"rgb(191, 191, 191)",gray76:"rgb(194, 194, 194)",gray77:"rgb(196, 196, 196)",gray78:"rgb(199, 199, 199)",gray79:"rgb(201, 201, 201)",gray8:"rgb(20, 20, 20)",gray80:"rgb(204, 204, 204)",gray81:"rgb(207, 207, 207)",gray82:"rgb(209, 209, 209)",gray83:"rgb(212, 212, 212)",gray84:"rgb(214, 214, 214)",gray85:"rgb(217, 217, 217)",gray86:"rgb(219, 219, 219)",gray87:"rgb(222, 222, 222)",gray88:"rgb(224, 224, 224)",gray89:"rgb(227, 227, 227)",gray9:"rgb(23, 23, 23)",gray90:"rgb(229, 229, 229)",gray91:"rgb(232, 232, 232)",gray92:"rgb(235, 235, 235)",gray93:"rgb(237, 237, 237)",gray94:"rgb(240, 240, 240)",gray95:"rgb(242, 242, 242)",gray96:"rgb(245, 245, 245)",gray97:"rgb(247, 247, 247)",gray98:"rgb(250, 250, 250)",gray99:"rgb(252, 252, 252)",green:"rgb(0, 255, 0)",green1:"rgb(0, 255, 0)",green2:"rgb(0, 238, 0)",green3:"rgb(0, 205, 0)",green4:"rgb(0, 139, 0)",greenyellow:"rgb(173, 255, 47)",grey:"rgb(190, 190, 190)",grey0:"rgb(0, 0, 0)",grey1:"rgb(3, 3, 3)",grey10:"rgb(26, 26, 26)",grey100:"rgb(255, 255, 255)",grey11:"rgb(28, 28, 28)",grey12:"rgb(31, 31, 31)",grey13:"rgb(33, 33, 33)",grey14:"rgb(36, 36, 36)",grey15:"rgb(38, 38, 38)",grey16:"rgb(41, 41, 41)",grey17:"rgb(43, 43, 43)",grey18:"rgb(46, 46, 46)",grey19:"rgb(48, 48, 48)",grey2:"rgb(5, 5, 5)",grey20:"rgb(51, 51, 51)",grey21:"rgb(54, 54, 54)",grey22:"rgb(56, 56, 56)",grey23:"rgb(59, 59, 59)",grey24:"rgb(61, 61, 61)",grey25:"rgb(64, 64, 64)",grey26:"rgb(66, 66, 66)",grey27:"rgb(69, 69, 69)",grey28:"rgb(71, 71, 71)",grey29:"rgb(74, 74, 74)",grey3:"rgb(8, 8, 8)",grey30:"rgb(77, 77, 77)",grey31:"rgb(79, 79, 79)",grey32:"rgb(82, 82, 82)",grey33:"rgb(84, 84, 84)",grey34:"rgb(87, 87, 87)",grey35:"rgb(89, 89, 89)",grey36:"rgb(92, 92, 92)",grey37:"rgb(94, 94, 94)",grey38:"rgb(97, 97, 97)",grey39:"rgb(99, 99, 99)",grey4:"rgb(10, 10, 10)",grey40:"rgb(102, 102, 102)",grey41:"rgb(105, 105, 105)",grey42:"rgb(107, 107, 107)",grey43:"rgb(110, 110, 110)",grey44:"rgb(112, 112, 112)",grey45:"rgb(115, 115, 115)",grey46:"rgb(117, 117, 117)",grey47:"rgb(120, 120, 120)",grey48:"rgb(122, 122, 122)",grey49:"rgb(125, 125, 125)",grey5:"rgb(13, 13, 13)",grey50:"rgb(127, 127, 127)",grey51:"rgb(130, 130, 130)",grey52:"rgb(133, 133, 133)",grey53:"rgb(135, 135, 135)",grey54:"rgb(138, 138, 138)",grey55:"rgb(140, 140, 140)",grey56:"rgb(143, 143, 143)",grey57:"rgb(145, 145, 145)",grey58:"rgb(148, 148, 148)",grey59:"rgb(150, 150, 150)",grey6:"rgb(15, 15, 15)",grey60:"rgb(153, 153, 153)",grey61:"rgb(156, 156, 156)",grey62:"rgb(158, 158, 158)",grey63:"rgb(161, 161, 161)",grey64:"rgb(163, 163, 163)",grey65:"rgb(166, 166, 166)",grey66:"rgb(168, 168, 168)",grey67:"rgb(171, 171, 171)",grey68:"rgb(173, 173, 173)",grey69:"rgb(176, 176, 176)",grey7:"rgb(18, 18, 18)",grey70:"rgb(179, 179, 179)",grey71:"rgb(181, 181, 181)",grey72:"rgb(184, 184, 184)",grey73:"rgb(186, 186, 186)",grey74:"rgb(189, 189, 189)",grey75:"rgb(191, 191, 191)",grey76:"rgb(194, 194, 194)",grey77:"rgb(196, 196, 196)",grey78:"rgb(199, 199, 199)",grey79:"rgb(201, 201, 201)",grey8:"rgb(20, 20, 20)",grey80:"rgb(204, 204, 204)",grey81:"rgb(207, 207, 207)",grey82:"rgb(209, 209, 209)",grey83:"rgb(212, 212, 212)",grey84:"rgb(214, 214, 214)",grey85:"rgb(217, 217, 217)",grey86:"rgb(219, 219, 219)",grey87:"rgb(222, 222, 222)",grey88:"rgb(224, 224, 224)",grey89:"rgb(227, 227, 227)",grey9:"rgb(23, 23, 23)",grey90:"rgb(229, 229, 229)",grey91:"rgb(232, 232, 232)",grey92:"rgb(235, 235, 235)",grey93:"rgb(237, 237, 237)",grey94:"rgb(240, 240, 240)",grey95:"rgb(242, 242, 242)",grey96:"rgb(245, 245, 245)",grey97:"rgb(247, 247, 247)",grey98:"rgb(250, 250, 250)",grey99:"rgb(252, 252, 252)",honeydew:"rgb(240, 255, 240)",honeydew1:"rgb(240, 255, 240)",honeydew2:"rgb(224, 238, 224)",honeydew3:"rgb(193, 205, 193)",honeydew4:"rgb(131, 139, 131)",hotpink:"rgb(255, 105, 180)",hotpink1:"rgb(255, 110, 180)",hotpink2:"rgb(238, 106, 167)",hotpink3:"rgb(205, 96, 144)",hotpink4:"rgb(139, 58, 98)",indianred:"rgb(205, 92, 92)",indianred1:"rgb(255, 106, 106)",indianred2:"rgb(238, 99, 99)",indianred3:"rgb(205, 85, 85)",indianred4:"rgb(139, 58, 58)",ivory:"rgb(255, 255, 240)",ivory1:"rgb(255, 255, 240)",ivory2:"rgb(238, 238, 224)",ivory3:"rgb(205, 205, 193)",ivory4:"rgb(139, 139, 131)",khaki:"rgb(240, 230, 140)",khaki1:"rgb(255, 246, 143)",khaki2:"rgb(238, 230, 133)",khaki3:"rgb(205, 198, 115)",khaki4:"rgb(139, 134, 78)",lavender:"rgb(230, 230, 250)",lavenderblush:"rgb(255, 240, 245)",lavenderblush1:"rgb(255, 240, 245)",lavenderblush2:"rgb(238, 224, 229)",lavenderblush3:"rgb(205, 193, 197)",lavenderblush4:"rgb(139, 131, 134)",lawngreen:"rgb(124, 252, 0)",lemonchiffon:"rgb(255, 250, 205)",lemonchiffon1:"rgb(255, 250, 205)",lemonchiffon2:"rgb(238, 233, 191)",lemonchiffon3:"rgb(205, 201, 165)",lemonchiffon4:"rgb(139, 137, 112)",lightblue:"rgb(173, 216, 230)",lightblue1:"rgb(191, 239, 255)",lightblue2:"rgb(178, 223, 238)",lightblue3:"rgb(154, 192, 205)",lightblue4:"rgb(104, 131, 139)",lightcoral:"rgb(240, 128, 128)",lightcyan:"rgb(224, 255, 255)",lightcyan1:"rgb(224, 255, 255)",lightcyan2:"rgb(209, 238, 238)",lightcyan3:"rgb(180, 205, 205)",lightcyan4:"rgb(122, 139, 139)",lightgoldenrod:"rgb(238, 221, 130)",lightgoldenrod1:"rgb(255, 236, 139)",lightgoldenrod2:"rgb(238, 220, 130)",lightgoldenrod3:"rgb(205, 190, 112)",lightgoldenrod4:"rgb(139, 129, 76)",lightgoldenrodyellow:"rgb(250, 250, 210)",lightgray:"rgb(211, 211, 211)",lightgreen:"rgb(144, 238, 144)",lightgrey:"rgb(211, 211, 211)",lightpink:"rgb(255, 182, 193)",lightpink1:"rgb(255, 174, 185)",lightpink2:"rgb(238, 162, 173)",lightpink3:"rgb(205, 140, 149)",lightpink4:"rgb(139, 95, 101)",lightsalmon:"rgb(255, 160, 122)",lightsalmon1:"rgb(255, 160, 122)",lightsalmon2:"rgb(238, 149, 114)",lightsalmon3:"rgb(205, 129, 98)",lightsalmon4:"rgb(139, 87, 66)",lightseagreen:"rgb(32, 178, 170)",lightskyblue:"rgb(135, 206, 250)",lightskyblue1:"rgb(176, 226, 255)",lightskyblue2:"rgb(164, 211, 238)",lightskyblue3:"rgb(141, 182, 205)",lightskyblue4:"rgb(96, 123, 139)",lightslateblue:"rgb(132, 112, 255)",lightslategray:"rgb(119, 136, 153)",lightslategrey:"rgb(119, 136, 153)",lightsteelblue:"rgb(176, 196, 222)",lightsteelblue1:"rgb(202, 225, 255)",lightsteelblue2:"rgb(188, 210, 238)",lightsteelblue3:"rgb(162, 181, 205)",lightsteelblue4:"rgb(110, 123, 139)",lightyellow:"rgb(255, 255, 224)",lightyellow1:"rgb(255, 255, 224)",lightyellow2:"rgb(238, 238, 209)",lightyellow3:"rgb(205, 205, 180)",lightyellow4:"rgb(139, 139, 122)",limegreen:"rgb(50, 205, 50)",linen:"rgb(250, 240, 230)",magenta:"rgb(255, 0, 255)",magenta1:"rgb(255, 0, 255)",magenta2:"rgb(238, 0, 238)",magenta3:"rgb(205, 0, 205)",magenta4:"rgb(139, 0, 139)",maroon:"rgb(176, 48, 96)",maroon1:"rgb(255, 52, 179)",maroon2:"rgb(238, 48, 167)",maroon3:"rgb(205, 41, 144)",maroon4:"rgb(139, 28, 98)",mediumaquamarine:"rgb(102, 205, 170)",mediumblue:"rgb(0, 0, 205)",mediumorchid:"rgb(186, 85, 211)",mediumorchid1:"rgb(224, 102, 255)",mediumorchid2:"rgb(209, 95, 238)",mediumorchid3:"rgb(180, 82, 205)",mediumorchid4:"rgb(122, 55, 139)",mediumpurple:"rgb(147, 112, 219)",mediumpurple1:"rgb(171, 130, 255)",mediumpurple2:"rgb(159, 121, 238)",mediumpurple3:"rgb(137, 104, 205)",mediumpurple4:"rgb(93, 71, 139)",mediumseagreen:"rgb(60, 179, 113)",mediumslateblue:"rgb(123, 104, 238)",mediumspringgreen:"rgb(0, 250, 154)",mediumturquoise:"rgb(72, 209, 204)",mediumvioletred:"rgb(199, 21, 133)",midnightblue:"rgb(25, 25, 112)",mintcream:"rgb(245, 255, 250)",mistyrose:"rgb(255, 228, 225)",mistyrose1:"rgb(255, 228, 225)",mistyrose2:"rgb(238, 213, 210)",mistyrose3:"rgb(205, 183, 181)",mistyrose4:"rgb(139, 125, 123)",moccasin:"rgb(255, 228, 181)",navajowhite:"rgb(255, 222, 173)",navajowhite1:"rgb(255, 222, 173)",navajowhite2:"rgb(238, 207, 161)",navajowhite3:"rgb(205, 179, 139)",navajowhite4:"rgb(139, 121, 94)",navy:"rgb(0, 0, 128)",navyblue:"rgb(0, 0, 128)",oldlace:"rgb(253, 245, 230)",olivedrab:"rgb(107, 142, 35)",olivedrab1:"rgb(192, 255, 62)",olivedrab2:"rgb(179, 238, 58)",olivedrab3:"rgb(154, 205, 50)",olivedrab4:"rgb(105, 139, 34)",orange:"rgb(255, 165, 0)",orange1:"rgb(255, 165, 0)",orange2:"rgb(238, 154, 0)",orange3:"rgb(205, 133, 0)",orange4:"rgb(139, 90, 0)",orangered:"rgb(255, 69, 0)",orangered1:"rgb(255, 69, 0)",orangered2:"rgb(238, 64, 0)",orangered3:"rgb(205, 55, 0)",orangered4:"rgb(139, 37, 0)",orchid:"rgb(218, 112, 214)",orchid1:"rgb(255, 131, 250)",orchid2:"rgb(238, 122, 233)",orchid3:"rgb(205, 105, 201)",orchid4:"rgb(139, 71, 137)",palegoldenrod:"rgb(238, 232, 170)",palegreen:"rgb(152, 251, 152)",palegreen1:"rgb(154, 255, 154)",palegreen2:"rgb(144, 238, 144)",palegreen3:"rgb(124, 205, 124)",palegreen4:"rgb(84, 139, 84)",paleturquoise:"rgb(175, 238, 238)",paleturquoise1:"rgb(187, 255, 255)",paleturquoise2:"rgb(174, 238, 238)",paleturquoise3:"rgb(150, 205, 205)",paleturquoise4:"rgb(102, 139, 139)",palevioletred:"rgb(219, 112, 147)",palevioletred1:"rgb(255, 130, 171)",palevioletred2:"rgb(238, 121, 159)",palevioletred3:"rgb(205, 104, 137)",palevioletred4:"rgb(139, 71, 93)",papayawhip:"rgb(255, 239, 213)",peachpuff:"rgb(255, 218, 185)",peachpuff1:"rgb(255, 218, 185)",peachpuff2:"rgb(238, 203, 173)",peachpuff3:"rgb(205, 175, 149)",peachpuff4:"rgb(139, 119, 101)",peru:"rgb(205, 133, 63)",pink:"rgb(255, 192, 203)",pink1:"rgb(255, 181, 197)",pink2:"rgb(238, 169, 184)",pink3:"rgb(205, 145, 158)",pink4:"rgb(139, 99, 108)",plum:"rgb(221, 160, 221)",plum1:"rgb(255, 187, 255)",plum2:"rgb(238, 174, 238)",plum3:"rgb(205, 150, 205)",plum4:"rgb(139, 102, 139)",powderblue:"rgb(176, 224, 230)",purple:"rgb(160, 32, 240)",purple1:"rgb(155, 48, 255)",purple2:"rgb(145, 44, 238)",purple3:"rgb(125, 38, 205)",purple4:"rgb(85, 26, 139)",red:"rgb(255, 0, 0)",red1:"rgb(255, 0, 0)",red2:"rgb(238, 0, 0)",red3:"rgb(205, 0, 0)",red4:"rgb(139, 0, 0)",rosybrown:"rgb(188, 143, 143)",rosybrown1:"rgb(255, 193, 193)",rosybrown2:"rgb(238, 180, 180)",rosybrown3:"rgb(205, 155, 155)",rosybrown4:"rgb(139, 105, 105)",royalblue:"rgb(65, 105, 225)",royalblue1:"rgb(72, 118, 255)",royalblue2:"rgb(67, 110, 238)",royalblue3:"rgb(58, 95, 205)",royalblue4:"rgb(39, 64, 139)",saddlebrown:"rgb(139, 69, 19)",salmon:"rgb(250, 128, 114)",salmon1:"rgb(255, 140, 105)",salmon2:"rgb(238, 130, 98)",salmon3:"rgb(205, 112, 84)",salmon4:"rgb(139, 76, 57)",sandybrown:"rgb(244, 164, 96)",seagreen:"rgb(46, 139, 87)",seagreen1:"rgb(84, 255, 159)",seagreen2:"rgb(78, 238, 148)",seagreen3:"rgb(67, 205, 128)",seagreen4:"rgb(46, 139, 87)",seashell:"rgb(255, 245, 238)",seashell1:"rgb(255, 245, 238)",seashell2:"rgb(238, 229, 222)",seashell3:"rgb(205, 197, 191)",seashell4:"rgb(139, 134, 130)",sienna:"rgb(160, 82, 45)",sienna1:"rgb(255, 130, 71)",sienna2:"rgb(238, 121, 66)",sienna3:"rgb(205, 104, 57)",sienna4:"rgb(139, 71, 38)",skyblue:"rgb(135, 206, 235)",skyblue1:"rgb(135, 206, 255)",skyblue2:"rgb(126, 192, 238)",skyblue3:"rgb(108, 166, 205)",skyblue4:"rgb(74, 112, 139)",slateblue:"rgb(106, 90, 205)",slateblue1:"rgb(131, 111, 255)",slateblue2:"rgb(122, 103, 238)",slateblue3:"rgb(105, 89, 205)",slateblue4:"rgb(71, 60, 139)",slategray:"rgb(112, 128, 144)",slategray1:"rgb(198, 226, 255)",slategray2:"rgb(185, 211, 238)",slategray3:"rgb(159, 182, 205)",slategray4:"rgb(108, 123, 139)",slategrey:"rgb(112, 128, 144)",snow:"rgb(255, 250, 250)",snow1:"rgb(255, 250, 250)",snow2:"rgb(238, 233, 233)",snow3:"rgb(205, 201, 201)",snow4:"rgb(139, 137, 137)",springgreen:"rgb(0, 255, 127)",springgreen1:"rgb(0, 255, 127)",springgreen2:"rgb(0, 238, 118)",springgreen3:"rgb(0, 205, 102)",springgreen4:"rgb(0, 139, 69)",steelblue:"rgb(70, 130, 180)",steelblue1:"rgb(99, 184, 255)",steelblue2:"rgb(92, 172, 238)",steelblue3:"rgb(79, 148, 205)",steelblue4:"rgb(54, 100, 139)",tan:"rgb(210, 180, 140)",tan1:"rgb(255, 165, 79)",tan2:"rgb(238, 154, 73)",tan3:"rgb(205, 133, 63)",tan4:"rgb(139, 90, 43)",thistle:"rgb(216, 191, 216)",thistle1:"rgb(255, 225, 255)",thistle2:"rgb(238, 210, 238)",thistle3:"rgb(205, 181, 205)",thistle4:"rgb(139, 123, 139)",tomato:"rgb(255, 99, 71)",tomato1:"rgb(255, 99, 71)",tomato2:"rgb(238, 92, 66)",tomato3:"rgb(205, 79, 57)",tomato4:"rgb(139, 54, 38)",turquoise:"rgb(64, 224, 208)",turquoise1:"rgb(0, 245, 255)",turquoise2:"rgb(0, 229, 238)",turquoise3:"rgb(0, 197, 205)",turquoise4:"rgb(0, 134, 139)",violet:"rgb(238, 130, 238)",violetred:"rgb(208, 32, 144)",violetred1:"rgb(255, 62, 150)",violetred2:"rgb(238, 58, 140)",violetred3:"rgb(205, 50, 120)",violetred4:"rgb(139, 34, 82)",wheat:"rgb(245, 222, 179)",wheat1:"rgb(255, 231, 186)",wheat2:"rgb(238, 216, 174)",wheat3:"rgb(205, 186, 150)",wheat4:"rgb(139, 126, 102)",white:"rgb(255, 255, 255)",whitesmoke:"rgb(245, 245, 245)",yellow:"rgb(255, 255, 0)",yellow1:"rgb(255, 255, 0)",yellow2:"rgb(238, 238, 0)",yellow3:"rgb(205, 205, 0)",yellow4:"rgb(139, 139, 0)",yellowgreen:"rgb(154, 205, 50)"},i.f={},i.f.createEnum=function(e){return new String(e)},i.f.replaceVars=function(e,t){return e.replace(/%([a-z]*)\(([^\)]+)\)/gi,function(e,r,o){if(void 0===t[o])throw"Unknown variable: "+o;var s=t[o];if(r in i.f.replaceVars.functions)s=i.f.replaceVars.functions[r](s);else if(r)throw"Unknown escape function: "+r;return s})},i.f.replaceVars.functions={encodeURI:encodeURI,encodeURIComponent:encodeURIComponent,escapeHTML:function(e){var t={"<":"<",">":">","&":"&",'"':""","'":"'"};return e.replace(/[<>&\"\']/g,function(e){return t[e]})}},i.f.getAcceptLanguages=function(e){i.f.getAcceptLanguages.chromeSupported()?chrome.i18n.getAcceptLanguages(e):setTimeout(function(){e([navigator.language.replace(/-/g,"_")])},0)},i.f.getAcceptLanguages.chromeSupported=function(){return window.chrome&&chrome.i18n},i.f.parseQuery=function(e){e.startsWith("?")&&(e=e.substr(1));for(var t={},r=e.split("&"),i=0;ir?r:e},i.f.zpad=function(e,t){return String(e).padStart(t,"0")},i.f.getWhitespace=function(e){if(e<=0)return"";var t=this.getWhitespace;for(t.whitespace||(t.whitespace=" ");e>t.whitespace.length;)t.whitespace+=t.whitespace;return t.whitespace.substr(0,e)},i.f.alarm=function(e,t){var r=t||5e3,o=i.f.getStack(1);return function(){var t=setTimeout(function(){var i="string"==typeof e?i:e.name;i=i?": "+i:"",console.warn("lib.f.alarm: timeout expired: "+r/1e3+"s"+i),console.log(o),t=null},r),i=function(e){return function(){return t&&(clearTimeout(t),t=null),e.apply(null,arguments)}};return"string"==typeof e?i:i(e)}()},i.f.getStack=function(e){var t,r=e?e+2:2;try{throw new Error}catch(e){t=e.stack.split("\n")}for(var i={},o=r;o=0&&this.observers.splice(t,1)},i.PreferenceManager.Record.prototype.get=function(){return this.currentValue===this.DEFAULT_VALUE?/^(string|number)$/.test(typeof this.defaultValue)?this.defaultValue:"object"==typeof this.defaultValue?JSON.parse(JSON.stringify(this.defaultValue)):this.defaultValue:this.currentValue},i.PreferenceManager.prototype.deactivate=function(){if(!this.isActive_)throw new Error("Not activated");this.isActive_=!1,this.storage.removeObserver(this.storageObserver_)},i.PreferenceManager.prototype.activate=function(){if(this.isActive_)throw new Error("Already activated");this.isActive_=!0,this.storage.addObserver(this.storageObserver_)},i.PreferenceManager.prototype.readStorage=function(e){function t(){0==--r&&e&&e()}var r=0,i=Object.keys(this.prefRecords_).map(function(e){return this.prefix+e}.bind(this));this.trace&&console.log("Preferences read: "+this.prefix),this.storage.getItems(i,function(i){var o=this.prefix.length;for(var s in i){var n=i[s],a=s.substr(o),l=a in this.childLists_&&JSON.stringify(n)!=JSON.stringify(this.prefRecords_[a].currentValue);this.prefRecords_[a].currentValue=n,l&&(r++,this.syncChildList(a,t))}0==r&&e&&setTimeout(e)}.bind(this))},i.PreferenceManager.prototype.definePreference=function(e,t,r){var o=this.prefRecords_[e];o?this.changeDefault(e,t):o=this.prefRecords_[e]=new i.PreferenceManager.Record(e,t),r&&o.addObserver(r)},i.PreferenceManager.prototype.definePreferences=function(e){for(var t=0;t=0&&s.splice(l,1),!this.childLists_[e][a]){var h=this.childFactories_[e](this,a);if(!h){console.warn("Unable to restore child: "+e+": "+a);continue}h.trace=this.trace,this.childLists_[e][a]=h,r++,h.readStorage(function(){0==--r&&t&&t()})}}for(n=0;n=0;i--){var o=e[i],s=this.storage_.getItem(o);if("string"==typeof s)try{r[o]=JSON.parse(s)}catch(e){r[o]=s}else e.splice(i,1)}setTimeout(t.bind(null,r),0)},i.Storage.Local.prototype.setItem=function(e,t,r){this.storage_.setItem(e,JSON.stringify(t)),r&&setTimeout(r,0)},i.Storage.Local.prototype.setItems=function(e,t){for(var r in e)this.storage_.setItem(r,JSON.stringify(e[r]));t&&setTimeout(t,0)},i.Storage.Local.prototype.removeItem=function(e,t){this.storage_.removeItem(e),t&&setTimeout(t,0)},i.Storage.Local.prototype.removeItems=function(e,t){for(var r=0;r=0;i--){var o=e[i],s=this.storage_[o];if("string"==typeof s)try{r[o]=JSON.parse(s)}catch(e){r[o]=s}else e.splice(i,1)}setTimeout(t.bind(null,r),0)},i.Storage.Memory.prototype.setItem=function(e,t,r){var i=this.storage_[e];this.storage_[e]=JSON.stringify(t);var o={};o[e]={oldValue:i,newValue:t},setTimeout(function(){for(var e=0;e{let t="";switch(e){case"debug":case"warn":case"error":t=e.toUpperCase()+": "}const r=this.console_[e];this[e]=this.console_[e]=((...e)=>{this.save&&(this.data+=this.prefix_+t+e.join(" ")+"\n"),r.apply(this.console_,e)})}),["group","groupCollapsed"].forEach(e=>{const t=this.console_[e];this[e]=this.console_[e]=((e="")=>{t(e),this.save&&(this.data+=this.prefix_+e+"\n"),this.prefix_=" ".repeat(++this.prefixStack_)})});const t=this.console_.groupEnd;this.groupEnd=this.console_.groupEnd=(()=>{t(),this.prefix_=" ".repeat(--this.prefixStack_)})},i.TestManager.Suite=function(e){function t(t,r){this.testManager_=t,this.suiteName=e,this.setup(r)}return t.suiteName=e,t.addTest=i.TestManager.Suite.addTest,t.disableTest=i.TestManager.Suite.disableTest,t.getTest=i.TestManager.Suite.getTest,t.getTestList=i.TestManager.Suite.getTestList,t.testList_=[],t.testMap_={},t.prototype=Object.create(i.TestManager.Suite.prototype),t.constructor=i.TestManager.Suite,i.TestManager.Suite.subclasses.push(t),t},i.TestManager.Suite.subclasses=[],i.TestManager.Suite.addTest=function(e,t){if(e in this.testMap_)throw"Duplicate test name: "+e;var r=new i.TestManager.Test(this,e,t);this.testMap_[e]=r,this.testList_.push(r)},i.TestManager.Suite.disableTest=function(e,t){if(e in this.testMap_)throw"Duplicate test name: "+e;var r=new i.TestManager.Test(this,e,t);console.log("Disabled test: "+r.fullName)},i.TestManager.Suite.getTest=function(e){return this.testMap_[e]},i.TestManager.Suite.getTestList=function(){return this.testList_},i.TestManager.Suite.prototype.setDefaults=function(e,t){for(var r in t)this[r]=r in e?e[r]:t[r]},i.TestManager.Suite.prototype.setup=function(e){},i.TestManager.Suite.prototype.preamble=function(e,t){},i.TestManager.Suite.prototype.postamble=function(e,t){},i.TestManager.Test=function(e,t,r){this.suiteClass=e,this.testName=t,this.fullName=e.suiteName+"["+t+"]",this.testFunction_=r},i.TestManager.Test.prototype.run=function(e){try{this.testFunction_.apply(e.suite,[e,e.testRun.cx])}catch(t){if(t instanceof i.TestManager.Result.TestComplete)return;e.println("Test raised an exception: "+t),t.stack&&(t.stack instanceof Array?e.println(t.stack.join("\n")):e.println(t.stack)),e.completeTest_(e.FAILED,!1)}},i.TestManager.TestRun=function(e,t){this.testManager=e,this.log=e.log,this.cx=t||{},this.failures=[],this.passes=[],this.startDate=null,this.duration=null,this.currentResult=null,this.maxFailures=0,this.panic=!1,this.testQueue_=[]},i.TestManager.TestRun.prototype.ALL_TESTS=i.f.createEnum(""),i.TestManager.TestRun.prototype.selectTest=function(e){this.testQueue_.push(e)},i.TestManager.TestRun.prototype.selectSuite=function(e,t){for(var r=t||this.ALL_TESTS,i=0,o=e.getTestList(),s=0;s500&&this.log.warn("Slow test took "+this.msToSeconds_(e.duration)),this.log.groupEnd(),e.status==e.FAILED)this.failures.push(e),this.currentSuite=null;else{if(e.status!=e.PASSED)return this.log.error("Unknown result status: "+e.test.fullName+": "+e.status),this.panic=!0;this.passes.push(e)}this.runNextTest_()},i.TestManager.TestRun.prototype.onResultReComplete=function(e,t){this.log.error("Late complete for test: "+e.test.fullName+": "+t);var r=this.passes.indexOf(e);r>=0&&(this.passes.splice(r,1),this.failures.push(e))},i.TestManager.TestRun.prototype.runNextTest_=function(){if(this.panic||!this.testQueue_.length)return this.onTestRunComplete_();if(this.maxFailures&&this.failures.length>=this.maxFailures)return this.log.error("Maximum failure count reached, aborting test run."),this.onTestRunComplete_();var e=this.testQueue_[0],t=this.currentResult?this.currentResult.suite:null;try{t&&t instanceof e.suiteClass||(t&&this.log.groupEnd(),this.log.group(e.suiteClass.suiteName),t=new e.suiteClass(this.testManager,this.cx))}catch(e){return this.log.error("Exception during setup: "+(e.stack?e.stack:e)),this.panic=!0,void this.onTestRunComplete_()}try{this.log.group(e.testName),this.currentResult=new i.TestManager.Result(this,t,e),this.testManager.testPreamble(this.currentResult,this.cx),t.preamble(this.currentResult,this.cx),this.testQueue_.shift()}catch(e){return this.log.error("Unexpected exception during test preamble: "+(e.stack?e.stack:e)),this.log.groupEnd(),this.panic=!0,void this.onTestRunComplete_()}try{this.currentResult.run()}catch(e){this.log.error("Unexpected exception during test run: "+(e.stack?e.stack:e)),this.panic=!0}},i.TestManager.TestRun.prototype.run=function(){this.log.info("Running "+this.testQueue_.length+" test(s)"),window.onerror=this.onUncaughtException_.bind(this),this.startDate=new Date,this.runNextTest_()},i.TestManager.TestRun.prototype.msToSeconds_=function(e){return(e/1e3).toFixed(2)+"s"},i.TestManager.TestRun.prototype.summarize=function(){if(this.failures.length)for(var e=0;e1?"\n"+t.join("\n"):t.join("\n")}if(e!==t&&!(t instanceof Array&&this.arrayEQ_(e,t))){var o=r?"["+r+"]":"";this.fail("assertEQ"+o+": "+this.getCallerLocation_(1)+": "+i(e)+" !== "+i(t))}},i.TestManager.Result.prototype.assert=function(e,t){if(!0!==e){var r=t?"["+t+"]":"";this.fail("assert"+r+": "+this.getCallerLocation_(1)+": "+String(e))}},i.TestManager.Result.prototype.getCallerLocation_=function(e){try{throw new Error}catch(r){var t=r.stack.split("\n")[e+2].match(/([^/]+:\d+):\d+\)?$/);return t?t[1]:"???"}},i.TestManager.Result.prototype.println=function(e){this.testRun.log.info(e)},i.TestManager.Result.prototype.fail=function(e){arguments.length&&this.println(e),this.completeTest_(this.FAILED,!0)},i.TestManager.Result.prototype.pass=function(){this.completeTest_(this.PASSED,!0)},i.UTF8Decoder=function(){this.bytesLeft=0,this.codePoint=0,this.lowerBound=0},i.UTF8Decoder.prototype.decode=function(e){for(var t="",r=0;r1114111?t+="�":o<65536?t+=String.fromCharCode(o):(o-=65536,t+=String.fromCharCode(55296+(o>>>10&1023),56320+(1023&o)))}}else t+="�",this.bytesLeft=0,r--}return t},i.decodeUTF8=function(e){return(new i.UTF8Decoder).decode(e)},i.encodeUTF8=function(e){for(var t="",r=0;r>>6),s=1):i<=65535?(t+=String.fromCharCode(224|i>>>12),s=2):(t+=String.fromCharCode(240|i>>>18),s=3);s>0;)s--,t+=String.fromCharCode(128|i>>>6*s&63)}return t},i.wc={},i.wc.nulWidth=0,i.wc.controlWidth=0,i.wc.regardCjkAmbiguous=!1,i.wc.cjkAmbiguousWidth=2,i.wc.combining=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],i.wc.ambiguous=[[161,161],[164,164],[167,168],[170,170],[174,174],[176,180],[182,186],[188,191],[198,198],[208,208],[215,216],[222,225],[230,230],[232,234],[236,237],[240,240],[242,243],[247,250],[252,252],[254,254],[257,257],[273,273],[275,275],[283,283],[294,295],[299,299],[305,307],[312,312],[319,322],[324,324],[328,331],[333,333],[338,339],[358,359],[363,363],[462,462],[464,464],[466,466],[468,468],[470,470],[472,472],[474,474],[476,476],[593,593],[609,609],[708,708],[711,711],[713,715],[717,717],[720,720],[728,731],[733,733],[735,735],[913,929],[931,937],[945,961],[963,969],[1025,1025],[1040,1103],[1105,1105],[8208,8208],[8211,8214],[8216,8217],[8220,8221],[8224,8226],[8228,8231],[8240,8240],[8242,8243],[8245,8245],[8251,8251],[8254,8254],[8308,8308],[8319,8319],[8321,8324],[8364,8364],[8451,8451],[8453,8453],[8457,8457],[8467,8467],[8470,8470],[8481,8482],[8486,8486],[8491,8491],[8531,8532],[8539,8542],[8544,8555],[8560,8569],[8592,8601],[8632,8633],[8658,8658],[8660,8660],[8679,8679],[8704,8704],[8706,8707],[8711,8712],[8715,8715],[8719,8719],[8721,8721],[8725,8725],[8730,8730],[8733,8736],[8739,8739],[8741,8741],[8743,8748],[8750,8750],[8756,8759],[8764,8765],[8776,8776],[8780,8780],[8786,8786],[8800,8801],[8804,8807],[8810,8811],[8814,8815],[8834,8835],[8838,8839],[8853,8853],[8857,8857],[8869,8869],[8895,8895],[8978,8978],[9312,9449],[9451,9547],[9552,9587],[9600,9615],[9618,9621],[9632,9633],[9635,9641],[9650,9651],[9654,9655],[9660,9661],[9664,9665],[9670,9672],[9675,9675],[9678,9681],[9698,9701],[9711,9711],[9733,9734],[9737,9737],[9742,9743],[9748,9749],[9756,9756],[9758,9758],[9792,9792],[9794,9794],[9824,9825],[9827,9829],[9831,9834],[9836,9837],[9839,9839],[10045,10045],[10102,10111],[57344,63743],[65533,65533],[983040,1048573],[1048576,1114109]],i.wc.isSpace=function(e){var t,r=0,o=i.wc.combining.length-1;if(ei.wc.combining[o][1])return!1;for(;o>=r;)if(t=Math.floor((r+o)/2),e>i.wc.combining[t][1])r=t+1;else{if(!(ei.wc.ambiguous[o][1])return!1;for(;o>=r;)if(t=Math.floor((r+o)/2),e>i.wc.ambiguous[t][1])r=t+1;else{if(!(e=127&&e<160?i.wc.controlWidth:e<127?1:i.wc.isSpace(e)?0:1+(e>=4352&&(e<=4447||9001==e||9002==e||e>=11904&&e<=42191&&12351!=e||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072&&e<=196605||e>=196608&&e<=262141))},i.wc.charWidthRegardAmbiguous=function(e){return i.wc.isCjkAmbiguous(e)?i.wc.cjkAmbiguousWidth:i.wc.charWidthDisregardAmbiguous(e)},i.wc.strWidth=function(e){for(var t,r=0,o=0;ot);o++);if(void 0!=r){for(s=o,n=0;sr&&s--,e.substring(o,s)}return e.substr(o)},i.wc.substring=function(e,t,r){return i.wc.substr(e,t,r-t)},i.resource.add("libdot/changelog/version","text/plain","1.16"),i.resource.add("libdot/changelog/date","text/plain","2017-08-16"),i.rtdep("lib.Storage");var o={};o.windowType=null,o.zoomWarningMessage="ZOOM != 100%",o.notifyCopyMessage="✂",o.desktopNotificationTitle="♪ %(title) ♪",o.testDeps=["hterm.ScrollPort.Tests","hterm.Screen.Tests","hterm.Terminal.Tests","hterm.VT.Tests","hterm.VT.CannedTests"],i.registerInit("hterm",function(e){function t(t){o.windowType=t.type,setTimeout(e,0)}o.defaultStorage||(window.chrome&&chrome.storage&&chrome.storage.sync?o.defaultStorage=new i.Storage.Chrome(chrome.storage.sync):o.defaultStorage=new i.Storage.Local);var r=!1;if(window.chrome&&chrome.runtime&&chrome.runtime.getManifest){var s=chrome.runtime.getManifest();r=s.app&&s.app.background}r?setTimeout(t.bind(null,{type:"popup"}),0):window.chrome&&chrome.tabs?chrome.tabs.getCurrent(function(r){r&&window.chrome?chrome.windows.get(r.windowId,null,t):(o.windowType="normal",setTimeout(e,0))}):setTimeout(t.bind(null,{type:"normal"}),0)}),o.getClientSize=function(e){return e.getBoundingClientRect()},o.getClientWidth=function(e){return e.getBoundingClientRect().width},o.getClientHeight=function(e){return e.getBoundingClientRect().height},o.copySelectionToClipboard=function(e){try{e.execCommand("copy")}catch(e){}},o.pasteFromClipboard=function(e){try{return e.execCommand("paste")}catch(e){return!1}},o.notify=function(e){var t=(e,t)=>void 0!==e?e:t;void 0!==e&&null!==e||(e={});var r={body:e.body,icon:t(e.icon,i.resource.getDataUrl("hterm/images/icon-96"))},s=t(e.title,window.document.title);s||(s="hterm"),s=i.f.replaceVars(o.desktopNotificationTitle,{title:s});var n=new Notification(s,r);return n.onclick=function(){window.focus(),this.close()},n},o.Size=function(e,t){this.width=e,this.height=t},o.Size.prototype.resize=function(e,t){this.width=e,this.height=t},o.Size.prototype.clone=function(){return new o.Size(this.width,this.height)},o.Size.prototype.setTo=function(e){this.width=e.width,this.height=e.height},o.Size.prototype.equals=function(e){return this.width==e.width&&this.height==e.height},o.Size.prototype.toString=function(){return"[hterm.Size: "+this.width+", "+this.height+"]"},o.RowCol=function(e,t,r){this.row=e,this.column=t,this.overflow=!!r},o.RowCol.prototype.move=function(e,t,r){this.row=e,this.column=t,this.overflow=!!r},o.RowCol.prototype.clone=function(){return new o.RowCol(this.row,this.column,this.overflow)},o.RowCol.prototype.setTo=function(e){this.row=e.row,this.column=e.column,this.overflow=e.overflow},o.RowCol.prototype.equals=function(e){return this.row==e.row&&this.column==e.column&&this.overflow==e.overflow},o.RowCol.prototype.toString=function(){return"[hterm.RowCol: "+this.row+", "+this.column+", "+this.overflow+"]"},i.rtdep("lib.f"),o.Frame=function(e,t,r){this.terminal_=e,this.div_=e.div_,this.url=t,this.options=r||{},this.iframe_=null,this.container_=null,this.messageChannel_=null},o.Frame.prototype.onMessage_=function(e){switch(e.data.name){case"ipc-init-ok":return void this.sendTerminalInfo_();case"terminal-info-ok":return this.container_.style.display="flex",this.messageChannel_.port1.onmessage=this.onMessage.bind(this),void this.onLoad();default:return void console.log("Unknown message from frame:",e.data)}},o.Frame.prototype.onMessage=function(){},o.Frame.prototype.onLoad_=function(){this.messageChannel_=new MessageChannel,this.messageChannel_.port1.onmessage=this.onMessage_.bind(this),this.messageChannel_.port1.start(),this.iframe_.contentWindow.postMessage({name:"ipc-init",argv:[{messagePort:this.messageChannel_.port2}]},this.url,[this.messageChannel_.port2])},o.Frame.prototype.onLoad=function(){},o.Frame.prototype.sendTerminalInfo_=function(){i.f.getAcceptLanguages(function(e){this.postMessage("terminal-info",[{acceptLanguages:e,foregroundColor:this.terminal_.getForegroundColor(),backgroundColor:this.terminal_.getBackgroundColor(),cursorColor:this.terminal_.getCursorColor(),fontSize:this.terminal_.getFontSize(),fontFamily:this.terminal_.getFontFamily(),baseURL:i.f.getURL("/")}])}.bind(this))},o.Frame.prototype.onCloseClicked_=function(){this.close()},o.Frame.prototype.close=function(){this.container_&&this.container_.parentNode&&(this.container_.parentNode.removeChild(this.container_),this.onClose())},o.Frame.prototype.onClose=function(){},o.Frame.prototype.postMessage=function(e,t){if(!this.messageChannel_)throw new Error("Message channel is not set up.");this.messageChannel_.port1.postMessage({name:e,argv:t})},o.Frame.prototype.show=function(){function e(e,r){return e in t.options?t.options[e]:r}var t=this,t=this;if(this.container_&&this.container_.parentNode)console.error("Frame already visible");else{var r=o.getClientSize(this.div_),i=e("width",640),s=e("height",480),n=(r.width,r.height,this.terminal_.document_),a=this.container_=n.createElement("div");a.style.cssText="position: absolute;display: none;flex-direction: column;top: 10%;left: 4%;width: 90%;height: 80%;min-height: 20%;max-height: 80%;box-shadow: 0 0 2px "+this.terminal_.getForegroundColor()+";border: 2px "+this.terminal_.getForegroundColor()+" solid;";var l=this.iframe_=n.createElement("iframe");l.onload=this.onLoad_.bind(this),l.style.cssText="display: flex;flex: 1;width: 100%",l.setAttribute("src",this.url),l.setAttribute("seamless",!0),a.appendChild(l),this.div_.appendChild(a)}},i.rtdep("hterm.Keyboard.KeyMap"),o.Keyboard=function(e){this.terminal=e,this.keyboardElement_=null,this.handlers_=[["focusout",this.onFocusOut_.bind(this)],["keydown",this.onKeyDown_.bind(this)],["keypress",this.onKeyPress_.bind(this)],["keyup",this.onKeyUp_.bind(this)],["textInput",this.onTextInput_.bind(this)]],this.keyMap=new o.Keyboard.KeyMap(this),this.bindings=new o.Keyboard.Bindings(this),this.altGrMode="none",this.shiftInsertPaste=!0,this.homeKeysScroll=!1,this.pageKeysScroll=!1,this.ctrlPlusMinusZeroZoom=!0,this.ctrlCCopy=!1,this.ctrlVPaste=!1,this.applicationKeypad=!1,this.applicationCursor=!1,this.backspaceSendsBackspace=!1,this.characterEncoding="utf-8",this.metaSendsEscape=!0,this.passMetaV=!0,this.altSendsWhat="escape",this.altIsMeta=!1,this.altBackspaceIsMetaBackspace=!1,this.altKeyPressed=0,this.mediaKeysAreFKeys=!1,this.previousAltSendsWhat_=null},o.Keyboard.KeyActions={CANCEL:i.f.createEnum("CANCEL"),DEFAULT:i.f.createEnum("DEFAULT"),PASS:i.f.createEnum("PASS"),STRIP:i.f.createEnum("STRIP")},o.Keyboard.prototype.encode=function(e){return"utf-8"==this.characterEncoding?this.terminal.vt.encodeUTF8(e):e},o.Keyboard.prototype.installKeyboard=function(e){if(e!=this.keyboardElement_){e&&this.keyboardElement_&&this.installKeyboard(null);for(var t=0;t=32&&(r=e.charCode);r&&this.terminal.onVTKeystroke(String.fromCharCode(r)),e.preventDefault(),e.stopPropagation()}},o.Keyboard.prototype.preventChromeAppNonCtrlShiftDefault_=function(e){window.chrome&&window.chrome.app&&window.chrome.app.window&&(e.ctrlKey&&e.shiftKey||e.preventDefault())},o.Keyboard.prototype.onFocusOut_=function(e){this.altKeyPressed=0},o.Keyboard.prototype.onKeyUp_=function(e){18==e.keyCode&&(this.altKeyPressed=this.altKeyPressed&~(1<=64&&_<=95&&(f=String.fromCharCode(_-64))),u&&"8-bit"==this.altSendsWhat&&1==f.length){var _=f.charCodeAt(0)+128;f=String.fromCharCode(_)}(u&&"escape"==this.altSendsWhat||p&&this.metaSendsEscape)&&(f=""+f)}this.terminal.onVTKeystroke(f)}else console.warn("Invalid action: "+JSON.stringify(f))}else console.warn("No definition for keyCode: "+e.keyCode)},o.Keyboard.Bindings=function(){this.bindings_={}},o.Keyboard.Bindings.prototype.clear=function(){this.bindings_={}},o.Keyboard.Bindings.prototype.addBinding_=function(e,t){var r=null,i=this.bindings_[e.keyCode];if(i)for(var s=0;s",p,s(f,d),p,p],[191,"/?",p,i(a("_"),a("?")),p,p],[17,"[CTRL]",d,d,d,d],[18,"[ALT]",d,d,d,d],[91,"[LAPL]",d,d,d,d],[32," ",p,a("@"),p,p],[92,"[RAPL]",d,d,d,d],[93,"[RMENU]",d,d,d,d],[42,"[PRTSCR]",d,d,d,d],[145,"[SCRLK]",d,d,d,d],[19,"[BREAK]",d,d,d,d],[45,"[INSERT]",l("onKeyInsert_"),p,p,p],[36,"[HOME]",l("onKeyHome_"),p,p,p],[33,"[PGUP]",l("onKeyPageUp_"),p,p,p],[46,"[DEL]",l("onKeyDel_"),p,p,p],[35,"[END]",l("onKeyEnd_"),p,p,p],[34,"[PGDOWN]",l("onKeyPageDown_"),p,p,p],[38,"[UP]",l("onKeyArrowUp_"),p,p,p],[40,"[DOWN]",l("onKeyArrowDown_"),p,p,p],[39,"[RIGHT]",t("","OC"),p,p,p],[37,"[LEFT]",t("","OD"),p,p,p],[144,"[NUMLOCK]",d,d,d,d],[96,"[KP0]",p,p,p,p],[97,"[KP1]",p,p,p,p],[98,"[KP2]",p,p,p,p],[99,"[KP3]",p,p,p,p],[100,"[KP4]",p,p,p,p],[101,"[KP5]",p,p,p,p],[102,"[KP6]",p,p,p,p],[103,"[KP7]",p,p,p,p],[104,"[KP8]",p,p,p,p],[105,"[KP9]",p,p,p,p],[107,"[KP+]",p,l("onPlusMinusZero_"),p,l("onPlusMinusZero_")],[109,"[KP-]",p,l("onPlusMinusZero_"),p,l("onPlusMinusZero_")],[106,"[KP*]",p,p,p,p],[111,"[KP/]",p,p,p,p],[110,"[KP.]",p,p,p,p],[166,"[BACK]",h(n("OP","")),p,"[23~",p],[167,"[FWD]",h(n("OQ","")),p,"[24~",p],[168,"[RELOAD]",h(n("OR","")),p,"[25~",p],[183,"[FSCR]",h(n("OS","")),p,"[26~",p],[182,"[WINS]",h("[15~"),p,"[28~",p],[216,"[BRIT-]",h("[17~"),p,"[29~",p],[217,"[BRIT+]",h("[18~"),p,"[31~",p])},o.Keyboard.KeyMap.prototype.onKeyInsert_=function(e){return this.keyboard.shiftInsertPaste&&e.shiftKey?o.Keyboard.KeyActions.PASS:"[2~"},o.Keyboard.KeyMap.prototype.onKeyHome_=function(e){return!this.keyboard.homeKeysScroll^e.shiftKey?e.altey||e.ctrlKey||e.shiftKey||!this.keyboard.applicationCursor?"":"OH":(this.keyboard.terminal.scrollHome(),o.Keyboard.KeyActions.CANCEL)},o.Keyboard.KeyMap.prototype.onKeyEnd_=function(e){return!this.keyboard.homeKeysScroll^e.shiftKey?e.altKey||e.ctrlKey||e.shiftKey||!this.keyboard.applicationCursor?"":"OF":(this.keyboard.terminal.scrollEnd(),o.Keyboard.KeyActions.CANCEL)},o.Keyboard.KeyMap.prototype.onKeyPageUp_=function(e){return!this.keyboard.pageKeysScroll^e.shiftKey?"[5~":(this.keyboard.terminal.scrollPageUp(),o.Keyboard.KeyActions.CANCEL)},o.Keyboard.KeyMap.prototype.onKeyDel_=function(e){return this.keyboard.altBackspaceIsMetaBackspace&&this.keyboard.altKeyPressed&&!e.altKey?"":"[3~"},o.Keyboard.KeyMap.prototype.onKeyPageDown_=function(e){return!this.keyboard.pageKeysScroll^e.shiftKey?"[6~":(this.keyboard.terminal.scrollPageDown(),o.Keyboard.KeyActions.CANCEL)},o.Keyboard.KeyMap.prototype.onKeyArrowUp_=function(e){return!this.keyboard.applicationCursor&&e.shiftKey?(this.keyboard.terminal.scrollLineUp(),o.Keyboard.KeyActions.CANCEL):e.shiftKey||e.ctrlKey||e.altKey||e.metaKey||!this.keyboard.applicationCursor?"":"OA"},o.Keyboard.KeyMap.prototype.onKeyArrowDown_=function(e){return!this.keyboard.applicationCursor&&e.shiftKey?(this.keyboard.terminal.scrollLineDown(),o.Keyboard.KeyActions.CANCEL):e.shiftKey||e.ctrlKey||e.altKey||e.metaKey||!this.keyboard.applicationCursor?"":"OB"},o.Keyboard.KeyMap.prototype.onClear_=function(e,t){return this.keyboard.terminal.wipeContents(),o.Keyboard.KeyActions.CANCEL},o.Keyboard.KeyMap.prototype.onCtrlNum_=function(e,t){function r(e){return String.fromCharCode(e.charCodeAt(0)-64)}if(this.keyboard.terminal.passCtrlNumber&&!e.shiftKey)return o.Keyboard.KeyActions.PASS;switch(t.keyCap.substr(0,1)){case"1":return"1";case"2":return r("@");case"3":return r("[");case"4":return r("\\");case"5":return r("]");case"6":return r("^");case"7":return r("_");case"8":return"";case"9":return"9"}},o.Keyboard.KeyMap.prototype.onAltNum_=function(e,t){return this.keyboard.terminal.passAltNumber&&!e.shiftKey?o.Keyboard.KeyActions.PASS:o.Keyboard.KeyActions.DEFAULT},o.Keyboard.KeyMap.prototype.onMetaNum_=function(e,t){return this.keyboard.terminal.passMetaNumber&&!e.shiftKey?o.Keyboard.KeyActions.PASS:o.Keyboard.KeyActions.DEFAULT},o.Keyboard.KeyMap.prototype.onCtrlC_=function(e,t){var r=this.keyboard.terminal.getDocument().getSelection();if(!r.isCollapsed){if(this.keyboard.ctrlCCopy&&!e.shiftKey)return this.keyboard.terminal.clearSelectionAfterCopy&&setTimeout(r.collapseToEnd.bind(r),50),o.Keyboard.KeyActions.PASS;if(!this.keyboard.ctrlCCopy&&e.shiftKey)return this.keyboard.terminal.clearSelectionAfterCopy&&setTimeout(r.collapseToEnd.bind(r),50),this.keyboard.terminal.copySelectionToClipboard(),o.Keyboard.KeyActions.CANCEL}return""},o.Keyboard.KeyMap.prototype.onCtrlN_=function(e,t){return e.shiftKey?(window.open(document.location.href,"","chrome=no,close=yes,resize=yes,scrollbars=yes,minimizable=yes,width="+window.innerWidth+",height="+window.innerHeight),o.Keyboard.KeyActions.CANCEL):""},o.Keyboard.KeyMap.prototype.onCtrlV_=function(e,t){return!e.shiftKey&&this.keyboard.ctrlVPaste||e.shiftKey&&!this.keyboard.ctrlVPaste?this.keyboard.terminal.paste()?o.Keyboard.KeyActions.CANCEL:o.Keyboard.KeyActions.PASS:""},o.Keyboard.KeyMap.prototype.onMetaN_=function(e,t){return e.shiftKey?(window.open(document.location.href,"","chrome=no,close=yes,resize=yes,scrollbars=yes,minimizable=yes,width="+window.outerWidth+",height="+window.outerHeight),o.Keyboard.KeyActions.CANCEL):o.Keyboard.KeyActions.DEFAULT},o.Keyboard.KeyMap.prototype.onMetaC_=function(e,t){var r=this.keyboard.terminal.getDocument();return e.shiftKey||r.getSelection().isCollapsed?t.keyCap.substr(e.shiftKey?1:0,1):(this.keyboard.terminal.clearSelectionAfterCopy&&setTimeout(function(){r.getSelection().collapseToEnd()},50),o.Keyboard.KeyActions.PASS)},o.Keyboard.KeyMap.prototype.onMetaV_=function(e,t){return e.shiftKey?o.Keyboard.KeyActions.PASS:this.keyboard.passMetaV?o.Keyboard.KeyActions.PASS:o.Keyboard.KeyActions.DEFAULT},o.Keyboard.KeyMap.prototype.onPlusMinusZero_=function(e,t){if(!(this.keyboard.ctrlPlusMinusZeroZoom^e.shiftKey))return"-_"==t.keyCap?"":o.Keyboard.KeyActions.CANCEL;if(1!=this.keyboard.terminal.getZoomFactor())return o.Keyboard.KeyActions.PASS;var r=t.keyCap.substr(0,1);if("0"==r)this.keyboard.terminal.setFontSize(0);else{var i=this.keyboard.terminal.getFontSize();"-"==r||"[KP-]"==t.keyCap?i-=1:i+=1,this.keyboard.terminal.setFontSize(i)}return o.Keyboard.KeyActions.CANCEL},o.Keyboard.KeyPattern=function(e){this.wildcardCount=0,this.keyCode=e.keyCode,o.Keyboard.KeyPattern.modifiers.forEach(function(t){this[t]=e[t]||!1,"*"==this[t]&&this.wildcardCount++}.bind(this))},o.Keyboard.KeyPattern.modifiers=["shift","ctrl","alt","meta"],o.Keyboard.KeyPattern.sortCompare=function(e,t){return e.wildcardCountt.wildcardCount?1:0},o.Keyboard.KeyPattern.prototype.match_=function(e,t){if(this.keyCode!=e.keyCode)return!1;var r=!0;return o.Keyboard.KeyPattern.modifiers.forEach(function(i){var o=i in e&&e[i];r&&(t||"*"!=this[i])&&this[i]!=o&&(r=!1)}.bind(this)),r},o.Keyboard.KeyPattern.prototype.matchKeyDown=function(e){return this.match_(e,!1)},o.Keyboard.KeyPattern.prototype.matchKeyPattern=function(e){return this.match_(e,!0)},o.Options=function(e){this.wraparound=!e||e.wraparound,this.reverseWraparound=!!e&&e.reverseWraparound,this.originMode=!!e&&e.originMode,this.autoCarriageReturn=!!e&&e.autoCarriageReturn,this.cursorVisible=!!e&&e.cursorVisible,this.cursorBlink=!!e&&e.cursorBlink,this.insertMode=!!e&&e.insertMode,this.reverseVideo=!!e&&e.reverseVideo,this.bracketedPaste=!!e&&e.bracketedPaste},i.rtdep("hterm.Keyboard.KeyActions"),o.Parser=function(){this.source="",this.pos=0,this.ch=null},o.Parser.prototype.error=function(e){return new Error("Parse error at "+this.pos+": "+e)},o.Parser.prototype.isComplete=function(){return this.pos==this.source.length},o.Parser.prototype.reset=function(e,t){this.source=e,this.pos=t||0,this.ch=e.substr(0,1)},o.Parser.prototype.parseKeySequence=function(){var e={keyCode:null};for(var t in o.Parser.identifiers.modifierKeys)e[o.Parser.identifiers.modifierKeys[t]]=!1;for(;this.pos 'none', else => 'right-alt'\n'none': Disable any AltGr related munging.\n'ctrl-alt': Assume Ctrl+Alt means AltGr.\n'left-alt': Assume left Alt means AltGr.\n'right-alt': Assume right Alt means AltGr.\n"],"alt-backspace-is-meta-backspace":[o.PreferenceManager.categories.Keyboard,!1,"bool","If set, undoes the Chrome OS Alt-Backspace->DEL remap, so that alt-backspace indeed is alt-backspace."],"alt-is-meta":[o.PreferenceManager.categories.Keyboard,!1,"bool","Set whether the alt key acts as a meta key or as a distinct alt key."],"alt-sends-what":[o.PreferenceManager.categories.Keyboard,"escape",["escape","8-bit","browser-key"],"Controls how the alt key is handled.\n\n escape....... Send an ESC prefix.\n 8-bit........ Add 128 to the unshifted character as in xterm.\n browser-key.. Wait for the keypress event and see what the browser \n says. (This won't work well on platforms where the \n browser performs a default action for some alt sequences.)"],"audible-bell-sound":[o.PreferenceManager.categories.Sounds,"lib-resource:hterm/audio/bell","url","URL of the terminal bell sound. Empty string for no audible bell."],"desktop-notification-bell":[o.PreferenceManager.categories.Sounds,!1,"bool",'If true, terminal bells in the background will create a Web Notification. https://www.w3.org/TR/notifications/\n\nDisplaying notifications requires permission from the user. When this option is set to true, hterm will attempt to ask the user for permission if necessary. Note browsers may not show this permission request if it did not originate from a user action.\n\nChrome extensions with the "notifications" permission have permission to display notifications.'],"background-color":[o.PreferenceManager.categories.Appearance,"rgb(16, 16, 16)","color","The background color for text with no other color attributes."],"background-image":[o.PreferenceManager.categories.Appearance,"","string","CSS value of the background image. Empty string for no image.\n\nFor example:\n url(https://goo.gl/anedTK)\n linear-gradient(top bottom, blue, red)"],"background-size":[o.PreferenceManager.categories.Appearance,"","string","CSS value of the background image size. Defaults to none."],"background-position":[o.PreferenceManager.categories.Appearance,"","string","CSS value of the background image position.\n\nFor example:\n 10% 10%\n center"],"backspace-sends-backspace":[o.PreferenceManager.categories.Keyboard,!1,"bool","If true, the backspace should send BS ('\\x08', aka ^H). Otherwise the backspace key should send '\\x7f'."],"character-map-overrides":[o.PreferenceManager.categories.Appearance,null,"value",'This is specified as an object. It is a sparse array, where each property is the character set code and the value is an object that is a sparse array itself. In that sparse array, each property is the received character and the value is the displayed character.\n\nFor example:\n {"0":{"+":"\\u2192",",":"\\u2190","-":"\\u2191",".":"\\u2193", "0":"\\u2588"}}'],"close-on-exit":[o.PreferenceManager.categories.Miscellaneous,!0,"bool","Whether or not to close the window when the command exits."],"cursor-blink":[o.PreferenceManager.categories.Appearance,!1,"bool","Whether or not to blink the cursor by default."],"cursor-blink-cycle":[o.PreferenceManager.categories.Appearance,[1e3,500],"value","The cursor blink rate in milliseconds.\n\nA two element array, the first of which is how long the cursor should be on, second is how long it should be off."],"cursor-color":[o.PreferenceManager.categories.Appearance,"rgba(255, 0, 0, 0.5)","color","The color of the visible cursor."],"color-palette-overrides":[o.PreferenceManager.categories.Appearance,null,"value","Override colors in the default palette.\n\nThis can be specified as an array or an object. If specified as an object it is assumed to be a sparse array, where each property is a numeric index into the color palette.\n\nValues can be specified as almost any css color value. This includes #RGB, #RRGGBB, rgb(...), rgba(...), and any color names that are also part of the stock X11 rgb.txt file.\n\nYou can use 'null' to specify that the default value should be not be changed. This is useful for skipping a small number of indices when the value is specified as an array."],"copy-on-select":[o.PreferenceManager.categories.CopyPaste,!0,"bool","Automatically copy mouse selection to the clipboard."],"use-default-window-copy":[o.PreferenceManager.categories.CopyPaste,!1,"bool","Whether to use the default window copy behavior"],"clear-selection-after-copy":[o.PreferenceManager.categories.CopyPaste,!0,"bool","Whether to clear the selection after copying."],"ctrl-plus-minus-zero-zoom":[o.PreferenceManager.categories.Keyboard,!0,"bool","If true, Ctrl-Plus/Minus/Zero controls zoom.\nIf false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_, Ctrl-Plus/Zero do nothing."],"ctrl-c-copy":[o.PreferenceManager.categories.Keyboard,!1,"bool","Ctrl+C copies if true, send ^C to host if false.\nCtrl+Shift+C sends ^C to host if true, copies if false."],"ctrl-v-paste":[o.PreferenceManager.categories.Keyboard,!1,"bool","Ctrl+V pastes if true, send ^V to host if false.\nCtrl+Shift+V sends ^V to host if true, pastes if false."],"east-asian-ambiguous-as-two-column":[o.PreferenceManager.categories.Keyboard,!1,"bool","Set whether East Asian Ambiguous characters have two column width."],"enable-8-bit-control":[o.PreferenceManager.categories.Keyboard,!1,"bool","True to enable 8-bit control characters, false to ignore them.\n\nWe'll respect the two-byte versions of these control characters regardless of this setting."],"enable-bold":[o.PreferenceManager.categories.Appearance,null,"tristate","True if we should use bold weight font for text with the bold/bright attribute. False to use the normal weight font. Null to autodetect."],"enable-bold-as-bright":[o.PreferenceManager.categories.Appearance,!0,"bool","True if we should use bright colors (8-15 on a 16 color palette) for any text with the bold attribute. False otherwise."],"enable-blink":[o.PreferenceManager.categories.Appearance,!0,"bool","True if we should respect the blink attribute. False to ignore it. "],"enable-clipboard-notice":[o.PreferenceManager.categories.CopyPaste,!0,"bool","Show a message in the terminal when the host writes to the clipboard."],"enable-clipboard-write":[o.PreferenceManager.categories.CopyPaste,!0,"bool","Allow the host to write directly to the system clipboard."],"enable-dec12":[o.PreferenceManager.categories.Miscellaneous,!1,"bool","Respect the host's attempt to change the cursor blink status using DEC Private Mode 12."],environment:[o.PreferenceManager.categories.Miscellaneous,{TERM:"xterm-256color"},"value","The default environment variables, as an object."],"font-family":[o.PreferenceManager.categories.Appearance,'"DejaVu Sans Mono", "Everson Mono", FreeMono, "Menlo", "Terminal", monospace',"string","Default font family for the terminal text."],"font-size":[o.PreferenceManager.categories.Appearance,15,"int","The default font size in pixels."],"font-smoothing":[o.PreferenceManager.categories.Appearance,"antialiased","string","CSS font-smoothing property."],"foreground-color":[o.PreferenceManager.categories.Appearance,"rgb(240, 240, 240)","color","The foreground color for text with no other color attributes."],"home-keys-scroll":[o.PreferenceManager.categories.Keyboard,!1,"bool","If true, home/end will control the terminal scrollbar and shift home/end will send the VT keycodes. If false then home/end sends VT codes and shift home/end scrolls."],keybindings:[o.PreferenceManager.categories.Keyboard,null,"value",'A map of key sequence to key actions. Key sequences include zero or more modifier keys followed by a key code. Key codes can be decimal or hexadecimal numbers, or a key identifier. Key actions can be specified a string to send to the host, or an action identifier. For a full explanation of the format, see https://goo.gl/LWRndr.\n\nSample keybindings:\n{\n "Ctrl-Alt-K": "clearScrollback",\n "Ctrl-Shift-L": "PASS",\n "Ctrl-H": "\'HELLO\\n\'"\n}'],"max-string-sequence":[o.PreferenceManager.categories.Encoding,1e5,"int","Max length of a DCS, OSC, PM, or APS sequence before we give up and ignore the code."],"media-keys-are-fkeys":[o.PreferenceManager.categories.Keyboard,!1,"bool","If true, convert media keys to their Fkey equivalent. If false, let the browser handle the keys."],"meta-sends-escape":[o.PreferenceManager.categories.Keyboard,!0,"bool","Set whether the meta key sends a leading escape or not."],"mouse-right-click-paste":[o.PreferenceManager.categories.CopyPaste,!0,"bool",'Paste on right mouse button clicks.\n\nThis option is activate independent of the "mouse-paste-button" setting.\n\nNote: This will handle left & right handed mice correctly.'],"mouse-paste-button":[o.PreferenceManager.categories.CopyPaste,null,[null,0,1,2,3,4,5,6],"Mouse paste button, or null to autodetect.\n\nFor autodetect, we'll use the middle mouse button for non-X11 platforms (including Chrome OS). On X11, we'll use the right mouse button (since the native window manager should paste via the middle mouse button).\n\n0 == left (primary) button.\n1 == middle (auxiliary) button.\n2 == right (secondary) button.\n\nThis option is activate independent of the \"mouse-right-click-paste\" setting.\n\nNote: This will handle left & right handed mice correctly."],"word-break-match-left":[o.PreferenceManager.categories.CopyPaste,"[^\\s\\[\\](){}<>\"'\\^!@#$%&*,;:`]","string",'Regular expression to halt matching to the left (start) of a selection.\n\nNormally this is a character class to reject specific characters.\nWe allow "~" and "." by default as paths frequently start with those.'],"word-break-match-right":[o.PreferenceManager.categories.CopyPaste,"[^\\s\\[\\](){}<>\"'\\^!@#$%&*,;:~.`]","string","Regular expression to halt matching to the right (end) of a selection.\n\nNormally this is a character class to reject specific characters."],"word-break-match-middle":[o.PreferenceManager.categories.CopyPaste,"[^\\s\\[\\](){}<>\"'\\^]*","string","Regular expression to match all the characters in the middle.\n\nNormally this is a character class to reject specific characters.\n\nUsed to expand the selection surrounding the starting point."],"page-keys-scroll":[o.PreferenceManager.categories.Keyboard,!1,"bool","If true, page up/down will control the terminal scrollbar and shift page up/down will send the VT keycodes. If false then page up/down sends VT codes and shift page up/down scrolls."],"pass-alt-number":[o.PreferenceManager.categories.Keyboard,null,"tristate","Set whether we should pass Alt-1..9 to the browser.\n\nThis is handy when running hterm in a browser tab, so that you don't lose Chrome's \"switch to tab\" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs.\n\nIf true, Alt-1..9 will be handled by the browser. If false, Alt-1..9 will be sent to the host. If null, autodetect based on browser platform and window type."],"pass-ctrl-number":[o.PreferenceManager.categories.Keyboard,null,"tristate","Set whether we should pass Ctrl-1..9 to the browser.\n\nThis is handy when running hterm in a browser tab, so that you don't lose Chrome's \"switch to tab\" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs.\n\nIf true, Ctrl-1..9 will be handled by the browser. If false, Ctrl-1..9 will be sent to the host. If null, autodetect based on browser platform and window type."],"pass-meta-number":[o.PreferenceManager.categories.Keyboard,null,"tristate","Set whether we should pass Meta-1..9 to the browser.\n\nThis is handy when running hterm in a browser tab, so that you don't lose Chrome's \"switch to tab\" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs.\n\nIf true, Meta-1..9 will be handled by the browser. If false, Meta-1..9 will be sent to the host. If null, autodetect based on browser platform and window type."],"pass-meta-v":[o.PreferenceManager.categories.Keyboard,!0,"bool","Set whether meta-V gets passed to host."],"receive-encoding":[o.PreferenceManager.categories.Encoding,"utf-8",["utf-8","raw"],"Set the expected encoding for data received from the host.\n\nValid values are 'utf-8' and 'raw'."],"scroll-on-keystroke":[o.PreferenceManager.categories.Scrolling,!0,"bool","If true, scroll to the bottom on any keystroke."],"scroll-on-output":[o.PreferenceManager.categories.Scrolling,!1,"bool","If true, scroll to the bottom on terminal output."],"scrollbar-visible":[o.PreferenceManager.categories.Scrolling,!0,"bool","The vertical scrollbar mode."],"scroll-wheel-may-send-arrow-keys":[o.PreferenceManager.categories.Scrolling,!1,"bool","When using the alternative screen buffer, and DECCKM (Application Cursor Keys) is active, mouse wheel scroll events will emulate arrow keys.\n\nIt can be temporarily disabled by holding the shift key.\n\nThis frequently comes up when using pagers (less) or reading man pages or text editors (vi/nano) or using screen/tmux."],"scroll-wheel-move-multiplier":[o.PreferenceManager.categories.Scrolling,1,"int","The multiplier for the pixel delta in wheel events caused by the scroll wheel. Alters how fast the page scrolls."],"send-encoding":[o.PreferenceManager.categories.Encoding,"utf-8",["utf-8","raw"],"Set the encoding for data sent to host."],"terminal-encoding":[o.PreferenceManager.categories.Encoding,"iso-2022",["iso-2022","utf-8","utf-8-locked"],"The default terminal encoding (DOCS).\n\nISO-2022 enables character map translations (like graphics maps).\nUTF-8 disables support for those.\n\nThe locked variant means the encoding cannot be changed at runtime via terminal escape sequences.\n\nYou should stick with UTF-8 unless you notice broken rendering with legacy applications."],"shift-insert-paste":[o.PreferenceManager.categories.Keyboard,!0,"bool","Shift + Insert pastes if true, sent to host if false."],"user-css":[o.PreferenceManager.categories.Appearance,"","url","URL of user stylesheet to include in the terminal document."],"user-css-text":[o.PreferenceManager.categories.Appearance,"","multiline-string","Custom CSS text for styling the terminal."]},o.PreferenceManager.prototype=Object.create(i.PreferenceManager.prototype),o.PreferenceManager.constructor=o.PreferenceManager,o.PubSub=function(){this.observers_={}},o.PubSub.addBehavior=function(e){var t=new o.PubSub;for(var r in o.PubSub.prototype)e[r]=o.PubSub.prototype[r].bind(t)},o.PubSub.prototype.subscribe=function(e,t){e in this.observers_||(this.observers_[e]=[]),this.observers_[e].push(t)},o.PubSub.prototype.unsubscribe=function(e,t){var r=this.observers_[e];if(!r)throw"Invalid subject: "+e;var i=r.indexOf(t);if(i<0)throw"Not subscribed: "+e;r.splice(i,1)},o.PubSub.prototype.publish=function(e,t,r){function i(e){e=e&&this.setCursorPosition(this.cursorPosition.row,e-1)},o.Screen.prototype.shiftRow=function(){return this.shiftRows(1)[0]},o.Screen.prototype.shiftRows=function(e){return this.rowsArray.splice(0,e)},o.Screen.prototype.unshiftRow=function(e){this.rowsArray.splice(0,0,e)},o.Screen.prototype.unshiftRows=function(e){this.rowsArray.unshift.apply(this.rowsArray,e)},o.Screen.prototype.popRow=function(){return this.popRows(1)[0]},o.Screen.prototype.popRows=function(e){return this.rowsArray.splice(this.rowsArray.length-e,e)},o.Screen.prototype.pushRow=function(e){this.rowsArray.push(e)},o.Screen.prototype.pushRows=function(e){e.push.apply(this.rowsArray,e)},o.Screen.prototype.insertRow=function(e,t){this.rowsArray.splice(e,0,t)},o.Screen.prototype.insertRows=function(e,t){for(var r=0;r=this.rowsArray.length?(console.error("Row out of bounds: "+e),e=this.rowsArray.length-1):e<0&&(console.error("Row out of bounds: "+e),e=0),t>=this.columnCount_?(console.error("Column out of bounds: "+t),t=this.columnCount_-1):t<0&&(console.error("Column out of bounds: "+t),t=0),this.cursorPosition.overflow=!1;var r=this.rowsArray[e],i=r.firstChild;i||(i=r.ownerDocument.createTextNode(""),r.appendChild(i));var s=0;for(r==this.cursorRowNode_?t>=this.cursorPosition.column-this.cursorOffset_&&(i=this.cursorNode_,s=this.cursorPosition.column-this.cursorOffset_):this.cursorRowNode_=r,this.cursorPosition.move(e,t);i;){var n=t-s,a=o.TextAttributes.nodeWidth(i);if(!i.nextSibling||a>n)return this.cursorNode_=i,void(this.cursorOffset_=n);s+=a,i=i.nextSibling}}else console.warn("Attempt to set cursor position on empty screen.")},o.Screen.prototype.syncSelectionCaret=function(e){try{e.collapse(this.cursorNode_,this.cursorOffset_)}catch(e){}},o.Screen.prototype.splitNode_=function(e,t){var r=e.cloneNode(!1),s=e.textContent;e.textContent=o.TextAttributes.nodeSubstr(e,0,t),r.textContent=i.wc.substr(s,t),r.textContent&&e.parentNode.insertBefore(r,e.nextSibling),e.textContent||e.parentNode.removeChild(e)},o.Screen.prototype.maybeClipCurrentRow=function(){var e=o.TextAttributes.nodeWidth(this.cursorRowNode_);if(e<=this.columnCount_)this.cursorPosition.column>=this.columnCount_&&(this.setCursorPosition(this.cursorPosition.row,this.columnCount_-1),this.cursorPosition.overflow=!0);else{var t=this.cursorPosition.column;this.setCursorPosition(this.cursorPosition.row,this.columnCount_-1),e=o.TextAttributes.nodeWidth(this.cursorNode_),this.cursorOffset_o.TextAttributes.nodeWidth(e);){if(!e.hasAttribute("line-overflow")||!e.nextSibling)return-1;t-=o.TextAttributes.nodeWidth(e),e=e.nextSibling}return this.getNodeAndOffsetWithinRow_(e,t)},o.Screen.prototype.getNodeAndOffsetWithinRow_=function(e,t){for(var r=0;ro)){var d=i.wc.substring(h,o,i.wc.strWidth(h)),f=new RegExp("^"+l+a),g=d.match(f);if(g){var m=o+i.wc.strWidth(g[0]);-1==m||ms.rowIndex)t();else if(i.focusNode==i.anchorNode)i.anchorOffset=this.lastRowCount_},o.ScrollPort.prototype.drawTopFold_=function(e){if(!this.selection.startRow||this.selection.startRow.rowIndex>=e)this.rowNodes_.firstChild!=this.topFold_&&this.rowNodes_.insertBefore(this.topFold_,this.rowNodes_.firstChild);else{if(!this.selection.isMultiline||this.selection.endRow.rowIndex>=e)this.selection.startRow.nextSibling!=this.topFold_&&this.rowNodes_.insertBefore(this.topFold_,this.selection.startRow.nextSibling);else for(this.selection.endRow.nextSibling!=this.topFold_&&this.rowNodes_.insertBefore(this.topFold_,this.selection.endRow.nextSibling);this.selection.startRow.nextSibling!=this.selection.endRow;)this.rowNodes_.removeChild(this.selection.startRow.nextSibling);for(;this.rowNodes_.firstChild!=this.selection.startRow;)this.rowNodes_.removeChild(this.rowNodes_.firstChild)}},o.ScrollPort.prototype.drawBottomFold_=function(e){if(!this.selection.endRow||this.selection.endRow.rowIndex<=e)this.rowNodes_.lastChild!=this.bottomFold_&&this.rowNodes_.appendChild(this.bottomFold_);else{if(!this.selection.isMultiline||this.selection.startRow.rowIndex<=e)this.bottomFold_.nextSibling!=this.selection.endRow&&this.rowNodes_.insertBefore(this.bottomFold_,this.selection.endRow);else for(this.bottomFold_.nextSibling!=this.selection.startRow&&this.rowNodes_.insertBefore(this.bottomFold_,this.selection.startRow);this.selection.startRow.nextSibling!=this.selection.endRow;)this.rowNodes_.removeChild(this.selection.startRow.nextSibling);for(;this.rowNodes_.lastChild!=this.selection.endRow;)this.rowNodes_.removeChild(this.rowNodes_.lastChild)}},o.ScrollPort.prototype.drawVisibleRows_=function(e,t){function r(e,t){for(;e!=t;){if(!e)throw"Did not encounter target node";if(e==i.bottomFold_)throw"Encountered bottom fold before target node";var r=e;e=e.nextSibling,r.parentNode.removeChild(r)}}for(var i=this,o=this.selection.startRow,s=this.selection.endRow,n=this.bottomFold_,a=this.topFold_.nextSibling,l=Math.min(this.visibleRowCount,this.rowProvider_.getRowCount()),h=0;h=this.lastRowCount_;var t=e*this.characterSize.height+this.visibleRowTopMargin,r=this.getScrollMax_();t>r&&(t=r),this.screen_.scrollTop!=t&&(this.screen_.scrollTop=t,this.scheduleRedraw())},o.ScrollPort.prototype.scrollRowToBottom=function(e){this.syncScrollHeight(),this.isScrolledEnd=e+this.visibleRowCount>=this.lastRowCount_;var t=e*this.characterSize.height+this.visibleRowTopMargin+this.visibleRowBottomMargin;(t-=this.visibleRowCount*this.characterSize.height)<0&&(t=0),this.screen_.scrollTop!=t&&(this.screen_.scrollTop=t)},o.ScrollPort.prototype.getTopRowIndex=function(){return Math.round(this.screen_.scrollTop/this.characterSize.height)},o.ScrollPort.prototype.getBottomRowIndex=function(e){return e+this.visibleRowCount-1},o.ScrollPort.prototype.onScroll_=function(e){var t=this.getScreenSize();t.width==this.lastScreenWidth_&&t.height==this.lastScreenHeight_?(this.redraw_(),this.publish("scroll",{scrollPort:this})):this.resize()},o.ScrollPort.prototype.onScrollWheel=function(e){},o.ScrollPort.prototype.onScrollWheel_=function(e){if(this.onScrollWheel(e),!e.defaultPrevented){var t=this.scrollWheelDelta(e),r=this.screen_.scrollTop-t;r<0&&(r=0);var i=this.getScrollMax_();r>i&&(r=i),r!=this.screen_.scrollTop&&(this.screen_.scrollTop=r,e.preventDefault())}},o.ScrollPort.prototype.scrollWheelDelta=function(e){var t;switch(e.deltaMode){case WheelEvent.DOM_DELTA_PIXEL:t=e.deltaY*this.scrollWheelMultiplier_;break;case WheelEvent.DOM_DELTA_LINE:t=e.deltaY*this.characterSize.height;break;case WheelEvent.DOM_DELTA_PAGE:t=e.deltaY*this.characterSize.height*this.screen_.getHeight()}return-1*t},o.ScrollPort.prototype.onTouch=function(e){},o.ScrollPort.prototype.onTouch_=function(e){if(this.onTouch(e),!e.defaultPrevented){var t,r,i=function(e){return{id:e.identifier,y:e.clientY,x:e.clientX}};switch(e.type){case"touchstart":for(t=0;tn&&(s=n),s!=this.screen_.scrollTop&&(this.screen_.scrollTop=s)}e.preventDefault()}},o.ScrollPort.prototype.onResize_=function(e){this.syncCharacterSize(),this.resize()},o.ScrollPort.prototype.onCopy=function(e){},o.ScrollPort.prototype.onCopy_=function(e){if(this.onCopy(e),!e.defaultPrevented&&(this.resetSelectBags_(),this.selection.sync(),this.selection.startRow&&!(this.selection.endRow.rowIndex-this.selection.startRow.rowIndex<2))){var t=this.getTopRowIndex(),r=this.getBottomRowIndex(t);if(this.selection.startRow.rowIndexr){var o;o=this.selection.startRow.rowIndex>r?this.selection.startRow.rowIndex+1:this.bottomFold_.previousSibling.rowIndex+1,this.bottomSelectBag_.textContent=this.rowProvider_.getRowsText(o,this.selection.endRow.rowIndex),this.rowNodes_.insertBefore(this.bottomSelectBag_,this.selection.endRow)}}},o.ScrollPort.prototype.onBodyKeyDown_=function(e){if(this.ctrlVPaste){var t=String.fromCharCode(e.which).toLowerCase();(e.ctrlKey||e.metaKey)&&"v"==t&&this.pasteTarget_.focus()}},o.ScrollPort.prototype.onPaste_=function(e){this.pasteTarget_.focus();var t=this;setTimeout(function(){t.publish("paste",{text:t.pasteTarget_.value}),t.pasteTarget_.value="",t.screen_.focus()},0)},o.ScrollPort.prototype.handlePasteTargetTextInput_=function(e){e.stopPropagation()},o.ScrollPort.prototype.setScrollbarVisible=function(e){this.screen_.style.overflowY=e?"scroll":"hidden"},o.ScrollPort.prototype.setScrollWheelMoveMultipler=function(e){this.scrollWheelMultiplier_=e},i.rtdep("lib.colors","lib.PreferenceManager","lib.resource","lib.wc","lib.f","hterm.Keyboard","hterm.Options","hterm.PreferenceManager","hterm.Screen","hterm.ScrollPort","hterm.Size","hterm.TextAttributes","hterm.VT"),o.Terminal=function(e){this.profileId_=null,this.primaryScreen_=new o.Screen,this.alternateScreen_=new o.Screen,this.screen_=this.primaryScreen_,this.screenSize=new o.Size(0,0),this.scrollPort_=new o.ScrollPort(this),this.scrollPort_.subscribe("resize",this.onResize_.bind(this)),this.scrollPort_.subscribe("scroll",this.onScroll_.bind(this)),this.scrollPort_.subscribe("paste",this.onPaste_.bind(this)),this.scrollPort_.onCopy=this.onCopy_.bind(this),this.div_=null,this.document_=window.document,this.scrollbackRows_=[],this.tabStops_=[],this.defaultTabStops=!0,this.vtScrollTop_=null,this.vtScrollBottom_=null,this.cursorNode_=null,this.cursorShape_=o.Terminal.cursorShape.BLOCK,this.cursorColor_=null,this.cursorBlinkCycle_=[100,100],this.myOnCursorBlink_=this.onCursorBlink_.bind(this),this.backgroundColor_=null,this.foregroundColor_=null,this.scrollOnOutput_=null,this.scrollOnKeystroke_=null,this.scrollWheelArrowKeys_=null,this.defeatMouseReports_=!1,this.bellAudio_=this.document_.createElement("audio"),this.bellAudio_.id="hterm:bell-audio",this.bellAudio_.setAttribute("preload","auto"),this.bellNotificationList_=[],this.desktopNotificationBell_=!1,this.savedOptions_={},this.options_=new o.Options,this.timeouts_={},this.vt=new o.VT(this),this.keyboard=new o.Keyboard(this),this.io=new o.Terminal.IO(this),this.enableMouseDragScroll=!0,this.copyOnSelect=null,this.mouseRightClickPaste=null,this.mousePasteButton=null,this.useDefaultWindowCopy=!1,this.clearSelectionAfterCopy=!0,this.realizeSize_(80,24),this.setDefaultTabStops(),this.setProfile(e||"default",function(){this.onTerminalReady()}.bind(this))},o.Terminal.cursorShape={BLOCK:"BLOCK",BEAM:"BEAM",UNDERLINE:"UNDERLINE"},o.Terminal.prototype.onTerminalReady=function(){},o.Terminal.prototype.tabWidth=8,o.Terminal.prototype.setProfile=function(e,t){this.profileId_=e.replace(/\//g,"");var r=this;this.prefs_&&this.prefs_.deactivate(),this.prefs_=new o.PreferenceManager(this.profileId_),this.prefs_.addObservers(null,{"alt-gr-mode":function(e){e=null==e?"en-us"==navigator.language.toLowerCase()?"none":"right-alt":"string"==typeof e?e.toLowerCase():"none",/^(none|ctrl-alt|left-alt|right-alt)$/.test(e)||(e="none"),r.keyboard.altGrMode=e},"alt-backspace-is-meta-backspace":function(e){r.keyboard.altBackspaceIsMetaBackspace=e},"alt-is-meta":function(e){r.keyboard.altIsMeta=e},"alt-sends-what":function(e){/^(escape|8-bit|browser-key)$/.test(e)||(e="escape"),r.keyboard.altSendsWhat=e},"audible-bell-sound":function(e){var t=e.match(/^lib-resource:(\S+)/);t?r.bellAudio_.setAttribute("src",i.resource.getDataUrl(t[1])):r.bellAudio_.setAttribute("src",e)},"desktop-notification-bell":function(e){e&&Notification?(r.desktopNotificationBell_="granted"===Notification.permission,r.desktopNotificationBell_||console.warn("desktop-notification-bell is true but we do not have permission to display notifications.")):r.desktopNotificationBell_=!1},"background-color":function(e){r.setBackgroundColor(e)},"background-image":function(e){r.scrollPort_.setBackgroundImage(e)},"background-size":function(e){r.scrollPort_.setBackgroundSize(e)},"background-position":function(e){r.scrollPort_.setBackgroundPosition(e)},"backspace-sends-backspace":function(e){r.keyboard.backspaceSendsBackspace=e},"character-map-overrides":function(e){null==e||e instanceof Object?(r.vt.characterMaps.reset(),r.vt.characterMaps.setOverrides(e)):console.warn("Preference character-map-modifications is not an object: "+e)},"cursor-blink":function(e){r.setCursorBlink(!!e)},"cursor-blink-cycle":function(e){e instanceof Array&&"number"==typeof e[0]&&"number"==typeof e[1]?r.cursorBlinkCycle_=e:r.cursorBlinkCycle_="number"==typeof e?[e,e]:[100,100]},"cursor-color":function(e){r.setCursorColor(e)},"color-palette-overrides":function(e){if(null==e||e instanceof Object||e instanceof Array){if(i.colors.colorPalette=i.colors.stockColorPalette.concat(),e)for(var t in e){var o=parseInt(t);if(isNaN(o)||o<0||o>255)console.log("Invalid value in palette: "+t+": "+e[t]);else if(e[o]){var s=i.colors.normalizeCSS(e[o]);s&&(i.colors.colorPalette[o]=s)}}r.primaryScreen_.textAttributes.resetColorPalette(),r.alternateScreen_.textAttributes.resetColorPalette()}else console.warn("Preference color-palette-overrides is not an array or object: "+e)},"copy-on-select":function(e){r.copyOnSelect=!!e},"use-default-window-copy":function(e){r.useDefaultWindowCopy=!!e},"clear-selection-after-copy":function(e){r.clearSelectionAfterCopy=!!e},"ctrl-plus-minus-zero-zoom":function(e){r.keyboard.ctrlPlusMinusZeroZoom=e},"ctrl-c-copy":function(e){r.keyboard.ctrlCCopy=e},"ctrl-v-paste":function(e){r.keyboard.ctrlVPaste=e,r.scrollPort_.setCtrlVPaste(e)},"east-asian-ambiguous-as-two-column":function(e){i.wc.regardCjkAmbiguous=e},"enable-8-bit-control":function(e){r.vt.enable8BitControl=!!e},"enable-bold":function(e){r.syncBoldSafeState()},"enable-bold-as-bright":function(e){r.primaryScreen_.textAttributes.enableBoldAsBright=!!e,r.alternateScreen_.textAttributes.enableBoldAsBright=!!e},"enable-blink":function(e){r.syncBlinkState()},"enable-clipboard-write":function(e){r.vt.enableClipboardWrite=!!e},"enable-dec12":function(e){r.vt.enableDec12=!!e},"font-family":function(e){r.syncFontFamily()},"font-size":function(e){r.setFontSize(e)},"font-smoothing":function(e){r.syncFontFamily()},"foreground-color":function(e){r.setForegroundColor(e)},"home-keys-scroll":function(e){r.keyboard.homeKeysScroll=e},keybindings:function(e){if(r.keyboard.bindings.clear(),e)if(e instanceof Object)try{r.keyboard.bindings.addBindings(e)}catch(e){console.error("Error in keybindings preference: "+e)}else console.error("Error in keybindings preference: Expected object")},"max-string-sequence":function(e){r.vt.maxStringSequence=e},"media-keys-are-fkeys":function(e){r.keyboard.mediaKeysAreFKeys=e},"meta-sends-escape":function(e){r.keyboard.metaSendsEscape=e},"mouse-right-click-paste":function(e){r.mouseRightClickPaste=e},"mouse-paste-button":function(e){r.syncMousePasteButton()},"page-keys-scroll":function(e){r.keyboard.pageKeysScroll=e},"pass-alt-number":function(e){null==e&&(e=!window.navigator.userAgent.match(/Mac OS X/)&&"popup"!=o.windowType),r.passAltNumber=e},"pass-ctrl-number":function(e){null==e&&(e=!window.navigator.userAgent.match(/Mac OS X/)&&"popup"!=o.windowType),r.passCtrlNumber=e},"pass-meta-number":function(e){null==e&&(e=window.navigator.userAgent.match(/Mac OS X/)&&"popup"!=o.windowType),r.passMetaNumber=e},"pass-meta-v":function(e){r.keyboard.passMetaV=e},"receive-encoding":function(e){/^(utf-8|raw)$/.test(e)||(console.warn('Invalid value for "receive-encoding": '+e),e="utf-8"),r.vt.characterEncoding=e},"scroll-on-keystroke":function(e){r.scrollOnKeystroke_=e},"scroll-on-output":function(e){r.scrollOnOutput_=e},"scrollbar-visible":function(e){r.setScrollbarVisible(e)},"scroll-wheel-may-send-arrow-keys":function(e){r.scrollWheelArrowKeys_=e},"scroll-wheel-move-multiplier":function(e){r.setScrollWheelMoveMultipler(e)},"send-encoding":function(e){/^(utf-8|raw)$/.test(e)||(console.warn('Invalid value for "send-encoding": '+e),e="utf-8"),r.keyboard.characterEncoding=e},"shift-insert-paste":function(e){r.keyboard.shiftInsertPaste=e},"terminal-encoding":function(e){r.vt.setEncoding(e)},"user-css":function(e){r.scrollPort_.setUserCssUrl(e)},"user-css-text":function(e){r.scrollPort_.setUserCssText(e)},"word-break-match-left":function(e){r.primaryScreen_.wordBreakMatchLeft=e,r.alternateScreen_.wordBreakMatchLeft=e},"word-break-match-right":function(e){r.primaryScreen_.wordBreakMatchRight=e,r.alternateScreen_.wordBreakMatchRight=e},"word-break-match-middle":function(e){r.primaryScreen_.wordBreakMatchMiddle=e,r.alternateScreen_.wordBreakMatchMiddle=e}}),this.prefs_.readStorage(function(){this.prefs_.notifyAll(),t&&t()}.bind(this))},o.Terminal.prototype.getPrefs=function(){return this.prefs_},o.Terminal.prototype.setBracketedPaste=function(e){this.options_.bracketedPaste=e},o.Terminal.prototype.setCursorColor=function(e){this.cursorColor_=e,this.cursorNode_.style.backgroundColor=e,this.cursorNode_.style.borderColor=e},o.Terminal.prototype.getCursorColor=function(){return this.cursorColor_},o.Terminal.prototype.setSelectionEnabled=function(e){this.enableMouseDragScroll=e},o.Terminal.prototype.setBackgroundColor=function(e){this.backgroundColor_=i.colors.normalizeCSS(e),this.primaryScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.alternateScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.scrollPort_.setBackgroundColor(e)},o.Terminal.prototype.getBackgroundColor=function(){return this.backgroundColor_},o.Terminal.prototype.setForegroundColor=function(e){this.foregroundColor_=i.colors.normalizeCSS(e),this.primaryScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.alternateScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.scrollPort_.setForegroundColor(e)},o.Terminal.prototype.getForegroundColor=function(){return this.foregroundColor_},o.Terminal.prototype.runCommandClass=function(e,t){var r=this.prefs_.get("environment");"object"==typeof r&&null!=r||(r={});var i=this;this.command=new e({argString:t||"",io:this.io.push(),environment:r,onExit:function(e){i.io.pop(),i.uninstallKeyboard(),i.prefs_.get("close-on-exit")&&window.close()}}),this.installKeyboard(),this.command.run()},o.Terminal.prototype.isPrimaryScreen=function(){return this.screen_==this.primaryScreen_},o.Terminal.prototype.installKeyboard=function(){this.keyboard.installKeyboard(this.scrollPort_.getDocument().body)},o.Terminal.prototype.uninstallKeyboard=function(){this.keyboard.installKeyboard(null)},o.Terminal.prototype.setCssVar=function(e,t,r="--hterm-"){this.document_.documentElement.style.setProperty(`${r}${e}`,t)},o.Terminal.prototype.setFontSize=function(e){0===e&&(e=this.prefs_.get("font-size")),this.scrollPort_.setFontSize(e),this.setCssVar("charsize-width",this.scrollPort_.characterSize.width+"px"),this.setCssVar("charsize-height",this.scrollPort_.characterSize.height+"px")},o.Terminal.prototype.getFontSize=function(){return this.scrollPort_.getFontSize()},o.Terminal.prototype.getFontFamily=function(){return this.scrollPort_.getFontFamily()},o.Terminal.prototype.syncFontFamily=function(){this.scrollPort_.setFontFamily(this.prefs_.get("font-family"),this.prefs_.get("font-smoothing")),this.syncBoldSafeState()},o.Terminal.prototype.syncMousePasteButton=function(){var e=this.prefs_.get("mouse-paste-button");if("number"!=typeof e){var t=navigator.userAgent.match(/\(X11;\s+(\S+)/);t&&"CrOS"!=t[1]?this.mousePasteButton=2:this.mousePasteButton=1}else this.mousePasteButton=e},o.Terminal.prototype.syncBoldSafeState=function(){var e=this.prefs_.get("enable-bold");if(null!==e)return this.primaryScreen_.textAttributes.enableBold=e,void(this.alternateScreen_.textAttributes.enableBold=e);var t=this.scrollPort_.measureCharacterSize(),r=this.scrollPort_.measureCharacterSize("bold"),i=t.equals(r);i||console.warn("Bold characters disabled: Size of bold weight differs from normal. Font family is: "+this.scrollPort_.getFontFamily()),this.primaryScreen_.textAttributes.enableBold=i,this.alternateScreen_.textAttributes.enableBold=i},o.Terminal.prototype.syncBlinkState=function(){this.setCssVar("node-duration",this.prefs_.get("enable-blink")?"0.7s":"0")},o.Terminal.prototype.syncMouseStyle=function(){this.setCssVar("mouse-cursor-style",this.vt.mouseReport==this.vt.MOUSE_REPORT_DISABLED?"var(--hterm-mouse-cursor-text)":"var(--hterm-mouse-cursor-pointer)")},o.Terminal.prototype.saveCursor=function(){return this.screen_.cursorPosition.clone()},o.Terminal.prototype.getTextAttributes=function(){return this.screen_.textAttributes},o.Terminal.prototype.setTextAttributes=function(e){this.screen_.textAttributes=e},o.Terminal.prototype.getZoomFactor=function(){return this.scrollPort_.characterSize.zoomFactor},o.Terminal.prototype.setWindowTitle=function(e){window.document.title=e},o.Terminal.prototype.restoreCursor=function(e){var t=i.f.clamp(e.row,0,this.screenSize.height-1),r=i.f.clamp(e.column,0,this.screenSize.width-1);this.screen_.setCursorPosition(t,r),(e.column>r||e.column==r&&e.overflow)&&(this.screen_.cursorPosition.overflow=!0)},o.Terminal.prototype.clearCursorOverflow=function(){this.screen_.cursorPosition.overflow=!1},o.Terminal.prototype.setCursorShape=function(e){this.cursorShape_=e,this.restyleCursor_()},o.Terminal.prototype.getCursorShape=function(){return this.cursorShape_},o.Terminal.prototype.setWidth=function(e){null!=e?(this.div_.style.width=Math.ceil(this.scrollPort_.characterSize.width*e+this.scrollPort_.currentScrollbarWidthPx)+"px",this.realizeSize_(e,this.screenSize.height),this.scheduleSyncCursorPosition_()):this.div_.style.width="100%"},o.Terminal.prototype.setHeight=function(e){null!=e?(this.div_.style.height=this.scrollPort_.characterSize.height*e+"px",this.realizeSize_(this.screenSize.width,e),this.scheduleSyncCursorPosition_()):this.div_.style.height="100%"},o.Terminal.prototype.realizeSize_=function(e,t){e!=this.screenSize.width&&this.realizeWidth_(e),t!=this.screenSize.height&&this.realizeHeight_(t),this.io.onTerminalResize_(e,t)},o.Terminal.prototype.realizeWidth_=function(e){if(e<=0)throw new Error("Attempt to realize bad width: "+e);var t=e-this.screen_.getWidth();if(this.screenSize.width=e,this.screen_.setColumnCount(e),t>0)this.defaultTabStops&&this.setDefaultTabStops(this.screenSize.width-t);else for(var r=this.tabStops_.length-1;r>=0&&!(this.tabStops_[r]0){if(t<=this.scrollbackRows_.length){var s=Math.min(t,this.scrollbackRows_.length),n=this.scrollbackRows_.splice(this.scrollbackRows_.length-s,s);this.screen_.unshiftRows(n),t-=s,r.row+=s}t&&this.appendRows_(t)}this.setVTScrollRegion(null,null),this.restoreCursor(r)},o.Terminal.prototype.scrollHome=function(){this.scrollPort_.scrollRowToTop(0)},o.Terminal.prototype.scrollEnd=function(){this.scrollPort_.scrollRowToBottom(this.getRowCount())},o.Terminal.prototype.scrollPageUp=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e-this.screenSize.height+1)},o.Terminal.prototype.scrollPageDown=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e+this.screenSize.height-1)},o.Terminal.prototype.scrollLineUp=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e-1)},o.Terminal.prototype.scrollLineDown=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e+1)},o.Terminal.prototype.wipeContents=function(){this.scrollbackRows_.length=0,this.scrollPort_.resetCache(),[this.primaryScreen_,this.alternateScreen_].forEach(function(e){var t=e.getHeight();t>0&&(this.renumberRows_(0,t),this.clearHome(e))}.bind(this)),this.syncCursorPosition_(),this.scrollPort_.invalidate()},o.Terminal.prototype.reset=function(){this.clearAllTabStops(),this.setDefaultTabStops(),this.clearHome(this.primaryScreen_),this.primaryScreen_.textAttributes.reset(),this.clearHome(this.alternateScreen_),this.alternateScreen_.textAttributes.reset(),this.setCursorBlink(!!this.prefs_.get("cursor-blink")),this.vt.reset(),this.softReset()},o.Terminal.prototype.softReset=function(){this.options_=new o.Options,this.options_.cursorBlink=!!this.timeouts_.cursorBlink,this.primaryScreen_.textAttributes.resetColorPalette(),this.alternateScreen_.textAttributes.resetColorPalette(),this.setVTScrollRegion(null,null),this.setCursorVisible(!0)},o.Terminal.prototype.forwardTabStop=function(){for(var e=this.screen_.cursorPosition.column,t=0;te)return void this.setCursorColumn(this.tabStops_[t]);var r=this.screen_.cursorPosition.overflow;this.setCursorColumn(this.screenSize.width-1),this.screen_.cursorPosition.overflow=r},o.Terminal.prototype.backwardTabStop=function(){for(var e=this.screen_.cursorPosition.column,t=this.tabStops_.length-1;t>=0;t--)if(this.tabStops_[t]=0;t--){if(this.tabStops_[t]==e)return;if(this.tabStops_[t]0){var n=this.screen_.shiftRows(s);Array.prototype.push.apply(this.scrollbackRows_,n),this.scrollPort_.isScrolledEnd&&this.scheduleScrollDown_()}t>=this.screen_.rowsArray.length&&(t=this.screen_.rowsArray.length-1),this.setAbsoluteCursorPosition(t,0)},o.Terminal.prototype.moveRows_=function(e,t,r){var i=this.screen_.removeRows(e,t);this.screen_.insertRows(r,i);var o,s;e=this.screenSize.width&&(a=!0,n=this.screenSize.width-this.screen_.cursorPosition.column),a&&!this.options_.wraparound?(s=i.wc.substr(e,t,n-1)+i.wc.substr(e,r-1),n=r):s=i.wc.substr(e,t,n);for(var l=o.TextAttributes.splitWidecharString(s),h=0;h=0;o--)this.setAbsoluteCursorPosition(t+o,0),this.screen_.clearCursorRow()},o.Terminal.prototype.deleteLines=function(e){var t=this.saveCursor(),r=t.row,i=this.getVTScrollBottom(),o=i-r+1,s=i-(e=Math.min(e,o))+1;e!=o&&this.moveRows_(r,e,s);for(var n=0;nt)this.setCssVar("cursor-offset-row","-1");else{this.options_.cursorVisible&&"none"==this.cursorNode_.style.display&&(this.cursorNode_.style.display=""),this.setCssVar("cursor-offset-row",`${r-e} + `+`${this.scrollPort_.visibleRowTopMargin}px`),this.setCssVar("cursor-offset-col",this.screen_.cursorPosition.column),this.cursorNode_.setAttribute("title","("+this.screen_.cursorPosition.column+", "+this.screen_.cursorPosition.row+")");var i=this.document_.getSelection();i&&i.isCollapsed&&this.screen_.syncSelectionCaret(i)}},o.Terminal.prototype.restyleCursor_=function(){var e=this.cursorShape_;"false"==this.cursorNode_.getAttribute("focus")&&(e=o.Terminal.cursorShape.BLOCK);var t=this.cursorNode_.style;switch(e){case o.Terminal.cursorShape.BEAM:t.height="var(--hterm-charsize-height)",t.backgroundColor="transparent",t.borderBottomStyle=null,t.borderLeftStyle="solid";break;case o.Terminal.cursorShape.UNDERLINE:t.height=this.scrollPort_.characterSize.baseline+"px",t.backgroundColor="transparent",t.borderBottomStyle="solid",t.borderLeftStyle=null;break;default:t.height="var(--hterm-charsize-height)",t.backgroundColor=this.cursorColor_,t.borderBottomStyle=null,t.borderLeftStyle=null}},o.Terminal.prototype.scheduleSyncCursorPosition_=function(){if(!this.timeouts_.syncCursor){var e=this;this.timeouts_.syncCursor=setTimeout(function(){e.syncCursorPosition_(),delete e.timeouts_.syncCursor},0)}},o.Terminal.prototype.showZoomWarning_=function(e){if(!this.zoomWarningNode_){if(!e)return;this.zoomWarningNode_=this.document_.createElement("div"),this.zoomWarningNode_.id="hterm:zoom-warning",this.zoomWarningNode_.style.cssText="color: black;background-color: #ff2222;font-size: large;border-radius: 8px;opacity: 0.75;padding: 0.2em 0.5em 0.2em 0.5em;top: 0.5em;right: 1.2em;position: absolute;-webkit-text-size-adjust: none;-webkit-user-select: none;-moz-text-size-adjust: none;-moz-user-select: none;",this.zoomWarningNode_.addEventListener("click",function(e){this.parentNode.removeChild(this)})}this.zoomWarningNode_.textContent=i.MessageManager.replaceReferences(o.zoomWarningMessage,[parseInt(100*this.scrollPort_.characterSize.zoomFactor)]),this.zoomWarningNode_.style.fontFamily=this.prefs_.get("font-family"),e?this.zoomWarningNode_.parentNode||this.div_.parentNode.appendChild(this.zoomWarningNode_):this.zoomWarningNode_.parentNode&&this.zoomWarningNode_.parentNode.removeChild(this.zoomWarningNode_)},o.Terminal.prototype.showOverlay=function(e,t){if(!this.overlayNode_){if(!this.div_)return;this.overlayNode_=this.document_.createElement("div"),this.overlayNode_.style.cssText="border-radius: 15px;font-size: xx-large;opacity: 0.75;padding: 0.2em 0.5em 0.2em 0.5em;position: absolute;-webkit-user-select: none;-webkit-transition: opacity 180ms ease-in;-moz-user-select: none;-moz-transition: opacity 180ms ease-in;",this.overlayNode_.addEventListener("mousedown",function(e){e.preventDefault(),e.stopPropagation()},!0)}this.overlayNode_.style.color=this.prefs_.get("background-color"),this.overlayNode_.style.backgroundColor=this.prefs_.get("foreground-color"),this.overlayNode_.style.fontFamily=this.prefs_.get("font-family"),this.overlayNode_.textContent=e,this.overlayNode_.style.opacity="0.75",this.overlayNode_.parentNode||this.div_.appendChild(this.overlayNode_);var r=o.getClientSize(this.div_),i=o.getClientSize(this.overlayNode_);this.overlayNode_.style.top=(r.height-i.height)/2+"px",this.overlayNode_.style.left=(r.width-i.width-this.scrollPort_.currentScrollbarWidthPx)/2+"px";var s=this;this.overlayTimeout_&&clearTimeout(this.overlayTimeout_),null!==t&&(this.overlayTimeout_=setTimeout(function(){s.overlayNode_.style.opacity="0",s.overlayTimeout_=setTimeout(function(){s.overlayNode_.parentNode&&s.overlayNode_.parentNode.removeChild(s.overlayNode_),s.overlayTimeout_=null,s.overlayNode_.style.opacity="0.75"},200)},t||1500))},o.Terminal.prototype.paste=function(){return o.pasteFromClipboard(this.document_)},o.Terminal.prototype.copyStringToClipboard=function(e){this.prefs_.get("enable-clipboard-notice")&&setTimeout(this.showOverlay.bind(this,o.notifyCopyMessage,500),200);var t=this.document_.createElement("pre");t.id="hterm:copy-to-clipboard-source",t.textContent=e,t.style.cssText="-webkit-user-select: text;-moz-user-select: text;position: absolute;top: -99px",this.document_.body.appendChild(t);var r=this.document_.getSelection(),i=r.anchorNode,s=r.anchorOffset,n=r.focusNode,a=r.focusOffset;r.selectAllChildren(t),o.copySelectionToClipboard(this.document_),r.extend&&(r.collapse(i,s),r.extend(n,a)),t.parentNode.removeChild(t)},o.Terminal.prototype.getSelectionText=function(){var e=this.scrollPort_.selection;if(e.sync(),e.isCollapsed)return null;var t=e.startOffset,r=e.startNode;if("X-ROW"!=r.nodeName)for("#text"==r.nodeName&&"SPAN"==r.parentNode.nodeName&&(r=r.parentNode);r.previousSibling;)r=r.previousSibling,t+=o.TextAttributes.nodeWidth(r);var s=o.TextAttributes.nodeWidth(e.endNode)-e.endOffset;if("X-ROW"!=(r=e.endNode).nodeName)for("#text"==r.nodeName&&"SPAN"==r.parentNode.nodeName&&(r=r.parentNode);r.nextSibling;)r=r.nextSibling,s+=o.TextAttributes.nodeWidth(r);var n=this.getRowsText(e.startRow.rowIndex,e.endRow.rowIndex+1);return i.wc.substring(n,t,i.wc.strWidth(n)-s)},o.Terminal.prototype.copySelectionToClipboard=function(){var e=this.getSelectionText();null!=e&&this.copyStringToClipboard(e)},o.Terminal.prototype.overlaySize=function(){this.showOverlay(this.screenSize.width+"x"+this.screenSize.height)},o.Terminal.prototype.onVTKeystroke=function(e){this.scrollOnKeystroke_&&this.scrollPort_.scrollRowToBottom(this.getRowCount()),this.io.onVTKeystroke(this.keyboard.encode(e))},o.Terminal.prototype.openUrl=function(e){window.chrome&&window.chrome.browser?chrome.browser.openTab({url:e}):window.open(e,"_blank").focus()},o.Terminal.prototype.openSelectedUrl_=function(){var e=this.getSelectionText();if((null!=e||(this.screen_.expandSelection(this.document_.getSelection()),null!=(e=this.getSelectionText())))&&!(e.length>2048||e.search(/[\s\[\](){}<>"'\\^`]/)>=0)){if(e.search("^[a-zA-Z][a-zA-Z0-9+.-]*://")<0)switch(e.split(":",1)[0]){case"mailto":break;default:e="http://"+e}this.openUrl(e)}},o.Terminal.prototype.onMouse_=function(e){if(!e.processedByTerminalHandler_){var t=!this.defeatMouseReports_&&this.vt.mouseReport!=this.vt.MOUSE_REPORT_DISABLED;if(e.processedByTerminalHandler_=!0,e.terminalRow=parseInt((e.clientY-this.scrollPort_.visibleRowTopMargin)/this.scrollPort_.characterSize.height)+1,e.terminalColumn=parseInt(e.clientX/this.scrollPort_.characterSize.width)+1,!("mousedown"==e.type&&e.terminalColumn>this.screenSize.width)){if(this.options_.cursorVisible&&!t&&(e.terminalRow-1==this.screen_.cursorPosition.row&&e.terminalColumn-1==this.screen_.cursorPosition.column?this.cursorNode_.style.display="none":"none"==this.cursorNode_.style.display&&(this.cursorNode_.style.display="")),"mousedown"==e.type&&(e.altKey||!t?(this.defeatMouseReports_=!0,this.setSelectionEnabled(!0)):(this.defeatMouseReports_=!1,this.document_.getSelection().collapseToEnd(),this.setSelectionEnabled(!1),e.preventDefault())),t)this.scrollBlockerNode_.engaged||("mousedown"==e.type?(this.scrollBlockerNode_.engaged=!0,this.scrollBlockerNode_.style.top=e.clientY-5+"px",this.scrollBlockerNode_.style.left=e.clientX-5+"px"):"mousemove"==e.type&&(this.document_.getSelection().collapseToEnd(),e.preventDefault())),this.onMouse(e);else{if("dblclick"==e.type&&this.copyOnSelect&&(this.screen_.expandSelection(this.document_.getSelection()),this.copySelectionToClipboard(this.document_)),"click"==e.type&&!e.shiftKey&&(e.ctrlKey||e.metaKey))return clearTimeout(this.timeouts_.openUrl),void(this.timeouts_.openUrl=setTimeout(this.openSelectedUrl_.bind(this),500));if("mousedown"==e.type&&(this.mouseRightClickPaste&&2==e.button||e.button==this.mousePasteButton)&&(this.paste()||console.warning("Could not paste manually due to web restrictions")),"mouseup"==e.type&&0==e.button&&this.copyOnSelect&&!this.document_.getSelection().isCollapsed&&this.copySelectionToClipboard(this.document_),"mousemove"!=e.type&&"mouseup"!=e.type||!this.scrollBlockerNode_.engaged||(this.scrollBlockerNode_.engaged=!1,this.scrollBlockerNode_.style.top="-99px"),this.scrollWheelArrowKeys_&&!e.shiftKey&&this.keyboard.applicationCursor&&!this.isPrimaryScreen()&&"wheel"==e.type){var r=this.scrollPort_.scrollWheelDelta(e),o=i.f.smartFloorDivide(Math.abs(r),this.scrollPort_.characterSize.height),s="O"+(r<0?"B":"A");this.io.sendString(s.repeat(o)),e.preventDefault()}}"mouseup"==e.type&&this.document_.getSelection().isCollapsed&&(this.defeatMouseReports_=!1)}}},o.Terminal.prototype.onMouse=function(e){},o.Terminal.prototype.onFocusChange_=function(e){this.cursorNode_.setAttribute("focus",e),this.restyleCursor_(),!0===e&&this.closeBellNotifications_()},o.Terminal.prototype.onScroll_=function(){this.scheduleSyncCursorPosition_()},o.Terminal.prototype.onPaste_=function(e){var t=e.text.replace(/\n/gm,"\r");t=this.keyboard.encode(t),this.options_.bracketedPaste&&(t="[200~"+t+"[201~"),this.io.sendString(t)},o.Terminal.prototype.onCopy_=function(e){this.useDefaultWindowCopy||(e.preventDefault(),setTimeout(this.copySelectionToClipboard.bind(this),0))},o.Terminal.prototype.onResize_=function(){var e=Math.floor(this.scrollPort_.getScreenWidth()/this.scrollPort_.characterSize.width)||0,t=i.f.smartFloorDivide(this.scrollPort_.getScreenHeight(),this.scrollPort_.characterSize.height)||0;if(!(e<=0||t<=0)){var r=e!=this.screenSize.width||t!=this.screenSize.height;this.realizeSize_(e,t),this.showZoomWarning_(1!=this.scrollPort_.characterSize.zoomFactor),r&&this.overlaySize(),this.restyleCursor_(),this.scheduleSyncCursorPosition_()}},o.Terminal.prototype.onCursorBlink_=function(){this.options_.cursorBlink?"false"==this.cursorNode_.getAttribute("focus")||"0"==this.cursorNode_.style.opacity?(this.cursorNode_.style.opacity="1",this.timeouts_.cursorBlink=setTimeout(this.myOnCursorBlink_,this.cursorBlinkCycle_[0])):(this.cursorNode_.style.opacity="0",this.timeouts_.cursorBlink=setTimeout(this.myOnCursorBlink_,this.cursorBlinkCycle_[1])):delete this.timeouts_.cursorBlink},o.Terminal.prototype.setScrollbarVisible=function(e){this.scrollPort_.setScrollbarVisible(e)},o.Terminal.prototype.setScrollWheelMoveMultipler=function(e){this.scrollPort_.setScrollWheelMoveMultipler(e)},o.Terminal.prototype.closeBellNotifications_=function(){this.bellNotificationList_.forEach(function(e){e.close()}),this.bellNotificationList_.length=0},i.rtdep("lib.encodeUTF8"),o.Terminal.IO=function(e){this.terminal_=e,this.previousIO_=null},o.Terminal.IO.prototype.showOverlay=function(e,t){this.terminal_.showOverlay(e,t)},o.Terminal.IO.prototype.createFrame=function(e,t){return new o.Frame(this.terminal_,e,t)},o.Terminal.IO.prototype.setTerminalProfile=function(e){this.terminal_.setProfile(e)},o.Terminal.IO.prototype.push=function(){var e=new o.Terminal.IO(this.terminal_);return e.keyboardCaptured_=this.keyboardCaptured_,e.columnCount=this.columnCount,e.rowCount=this.rowCount,e.previousIO_=this.terminal_.io,this.terminal_.io=e,e},o.Terminal.IO.prototype.pop=function(){this.terminal_.io=this.previousIO_},o.Terminal.IO.prototype.sendString=function(e){console.log("Unhandled sendString: "+e)},o.Terminal.IO.prototype.onVTKeystroke=function(e){console.log("Unobserverd VT keystroke: "+JSON.stringify(e))},o.Terminal.IO.prototype.onTerminalResize_=function(e,t){for(var r=this;r;)r.columnCount=e,r.rowCount=t,r=r.previousIO_;this.onTerminalResize(e,t)},o.Terminal.IO.prototype.onTerminalResize=function(e,t){},o.Terminal.IO.prototype.writeUTF8=function(e){if(this.terminal_.io!=this)throw"Attempt to print from inactive IO object.";this.terminal_.interpret(e)},o.Terminal.IO.prototype.writelnUTF8=function(e){if(this.terminal_.io!=this)throw"Attempt to print from inactive IO object.";this.terminal_.interpret(e+"\r\n")},o.Terminal.IO.prototype.print=o.Terminal.IO.prototype.writeUTF16=function(e){this.writeUTF8(i.encodeUTF8(e))},o.Terminal.IO.prototype.println=o.Terminal.IO.prototype.writelnUTF16=function(e){this.writelnUTF8(i.encodeUTF8(e))},i.rtdep("lib.colors"),o.TextAttributes=function(e){this.document_=e,this.foregroundSource=this.SRC_DEFAULT,this.backgroundSource=this.SRC_DEFAULT,this.foreground=this.DEFAULT_COLOR,this.background=this.DEFAULT_COLOR,this.defaultForeground="rgb(255, 255, 255)",this.defaultBackground="rgb(0, 0, 0)",this.bold=!1,this.faint=!1,this.italic=!1,this.blink=!1,this.underline=!1,this.strikethrough=!1,this.inverse=!1,this.invisible=!1,this.wcNode=!1,this.asciiNode=!0,this.tileData=null,this.colorPalette=null,this.resetColorPalette()},o.TextAttributes.prototype.enableBold=!0,o.TextAttributes.prototype.enableBoldAsBright=!0,o.TextAttributes.prototype.DEFAULT_COLOR=i.f.createEnum(""),o.TextAttributes.prototype.SRC_DEFAULT="default",o.TextAttributes.prototype.SRC_RGB="rgb",o.TextAttributes.prototype.setDocument=function(e){this.document_=e},o.TextAttributes.prototype.clone=function(){var e=new o.TextAttributes(null);for(var t in this)e[t]=this[t];return e.colorPalette=this.colorPalette.concat(),e},o.TextAttributes.prototype.reset=function(){this.foregroundSource=this.SRC_DEFAULT,this.backgroundSource=this.SRC_DEFAULT,this.foreground=this.DEFAULT_COLOR,this.background=this.DEFAULT_COLOR,this.bold=!1,this.faint=!1,this.italic=!1,this.blink=!1,this.underline=!1,this.strikethrough=!1,this.inverse=!1,this.invisible=!1,this.wcNode=!1,this.asciiNode=!0},o.TextAttributes.prototype.resetColorPalette=function(){this.colorPalette=i.colors.colorPalette.concat(),this.syncColors()},o.TextAttributes.prototype.isDefault=function(){return this.foregroundSource==this.SRC_DEFAULT&&this.backgroundSource==this.SRC_DEFAULT&&!this.bold&&!this.faint&&!this.italic&&!this.blink&&!this.underline&&!this.strikethrough&&!this.inverse&&!this.invisible&&!this.wcNode&&this.asciiNode&&null==this.tileData},o.TextAttributes.prototype.createContainer=function(e){if(this.isDefault())return this.document_.createTextNode(e);var t=this.document_.createElement("span"),r=t.style,i=[];this.foreground!=this.DEFAULT_COLOR&&(r.color=this.foreground),this.background!=this.DEFAULT_COLOR&&(r.backgroundColor=this.background),this.enableBold&&this.bold&&(r.fontWeight="bold"),this.faint&&(t.faint=!0),this.italic&&(r.fontStyle="italic"),this.blink&&(i.push("blink-node"),t.blinkNode=!0);var o="";return this.underline&&(o+=" underline",t.underline=!0),this.strikethrough&&(o+=" line-through",t.strikethrough=!0),o&&(r.textDecoration=o),this.wcNode&&(i.push("wc-node"),t.wcNode=!0,t.asciiNode=!1),null!=this.tileData&&(i.push("tile"),i.push("tile_"+this.tileData),t.tileNode=!0),e&&(t.textContent=e),i.length&&(t.className=i.join(" ")),t},o.TextAttributes.prototype.matchesContainer=function(e){if("string"==typeof e||3==e.nodeType)return this.isDefault();var t=e.style;return!(this.wcNode||e.wcNode||this.asciiNode!=this.asciiNode||null!=this.tileData||e.tileNode||this.foreground!=t.color||this.background!=t.backgroundColor||(this.enableBold&&this.bold)!=!!t.fontWeight||this.blink!=e.blinkNode||this.italic!=!!t.fontStyle||!!this.underline!=!!e.underline||!!this.strikethrough!=!!e.strikethrough)},o.TextAttributes.prototype.setDefaults=function(e,t){this.defaultForeground=e,this.defaultBackground=t,this.syncColors()},o.TextAttributes.prototype.syncColors=function(){var e=this.foregroundSource,t=this.backgroundSource,r=this.DEFAULT_COLOR,o=this.DEFAULT_COLOR;if(this.inverse&&(e=this.backgroundSource,t=this.foregroundSource,r=this.defaultBackground,o=this.defaultForeground),this.enableBoldAsBright&&this.bold&&e!=this.SRC_DEFAULT&&e!=this.SRC_RGB&&(e=function(e){return e<8?e+8:e}(e)),this.invisible&&(e=t,r=this.defaultBackground),e!=this.SRC_RGB&&(this.foreground=e==this.SRC_DEFAULT?r:this.colorPalette[e]),this.faint&&!this.invisible){var s=this.foreground==this.DEFAULT_COLOR?this.defaultForeground:this.foreground;this.foreground=i.colors.mix(s,"rgb(0, 0, 0)",.3333)}t!=this.SRC_RGB&&(this.background=t==this.SRC_DEFAULT?o:this.colorPalette[t])},o.TextAttributes.containersMatch=function(e,t){if("string"==typeof e)return o.TextAttributes.containerIsDefault(t);if(e.nodeType!=t.nodeType)return!1;if(3==e.nodeType)return!0;var r=e.style,i=t.style;return r.color==i.color&&r.backgroundColor==i.backgroundColor&&r.fontWeight==i.fontWeight&&r.fontStyle==i.fontStyle&&r.textDecoration==i.textDecoration},o.TextAttributes.containerIsDefault=function(e){return"string"==typeof e||3==e.nodeType},o.TextAttributes.nodeWidth=function(e){return e.asciiNode?e.textContent.length:i.wc.strWidth(e.textContent)},o.TextAttributes.nodeSubstr=function(e,t,r){return e.asciiNode?e.textContent.substr(t,r):i.wc.substr(e.textContent,t,r)},o.TextAttributes.nodeSubstring=function(e,t,r){return e.asciiNode?e.textContent.substring(t,r):i.wc.substring(e.textContent,t,r)},o.TextAttributes.splitWidecharString=function(e){for(var t=[],r=0,o=0,s=!0,n=0;n0?0:1),n|=r,t=""+String.fromCharCode(n)+o+s,e.preventDefault();break;case"mousedown":var n=Math.min(e.button,2)+32;n|=r,t=""+String.fromCharCode(n)+o+s;break;case"mouseup":t="#"+o+s;break;case"mousemove":this.mouseReport==this.MOUSE_REPORT_DRAG&&e.buttons&&(n=32,1&e.buttons?n+=0:4&e.buttons?n+=1:2&e.buttons?n+=2:n+=3,n+=32,n|=r,t=""+String.fromCharCode(n)+o+s);break;case"click":case"dblclick":break;default:console.error("Unknown mouse event: "+e.type,e)}t&&this.terminal.io.sendString(t)}},o.VT.prototype.interpret=function(e){for(this.parseState_.resetBuf(this.decode(e));!this.parseState_.isComplete();){var t=this.parseState_.func,r=this.parseState_.pos,e=this.parseState_.buf;if(this.parseState_.func.call(this,this.parseState_),this.parseState_.func==t&&this.parseState_.pos==r&&this.parseState_.buf==e)throw"Parser did not alter the state!"}},o.VT.prototype.decode=function(e){return"utf-8"==this.characterEncoding?this.decodeUTF8(e):e},o.VT.prototype.encodeUTF8=function(e){return i.encodeUTF8(e)},o.VT.prototype.decodeUTF8=function(e){return this.utf8Decoder_.decode(e)},o.VT.prototype.setEncoding=function(e){switch(e){default:console.warn('Invalid value for "terminal-encoding": '+e);case"iso-2022":this.codingSystemUtf8_=!1,this.codingSystemLocked_=!1;break;case"utf-8-locked":this.codingSystemUtf8_=!0,this.codingSystemLocked_=!0;break;case"utf-8":this.codingSystemUtf8_=!0,this.codingSystemLocked_=!1}this.updateEncodingState_()},o.VT.prototype.updateEncodingState_=function(){var e=Object.keys(o.VT.CC1).filter(e=>!this.codingSystemUtf8_||e.charCodeAt()<128).map(e=>"\\x"+i.f.zpad(e.charCodeAt().toString(16),2)).join("");this.cc1Pattern_=new RegExp(`[${e}]`)},o.VT.prototype.parseUnknown_=function(e){function t(e){!r.codingSystemUtf8_&&r[r.GL].GL&&(e=r[r.GL].GL(e)),r.terminal.print(e)}var r=this,i=e.peekRemainingBuf(),o=i.search(this.cc1Pattern_);return 0==o?(this.dispatch("CC1",i.substr(0,1),e),void e.advance(1)):-1==o?(t(i),void e.reset()):(t(i.substr(0,o)),this.dispatch("CC1",i.substr(o,1),e),void e.advance(o+1))},o.VT.prototype.parseCSI_=function(e){var t=e.peekChar(),r=e.args;t>="@"&&t<="~"?(this.dispatch("CSI",this.leadingModifier_+this.trailingModifier_+t,e),e.resetParseFunction()):";"==t?this.trailingModifier_?e.resetParseFunction():(r.length||r.push(""),r.push("")):t>="0"&&t<="9"?this.trailingModifier_?e.resetParseFunction():r.length?r[r.length-1]+=t:r[0]=t:t>=" "&&t<="?"&&":"!=t?r.length?this.trailingModifier_+=t:this.leadingModifier_+=t:this.cc1Pattern_.test(t)?this.dispatch("CC1",t,e):e.resetParseFunction(),e.advance(1)},o.VT.prototype.parseUntilStringTerminator_=function(e){var t=e.peekRemainingBuf(),r=t.search(/(\x1b\\|\x07)/),i=e.args;if(i.length||(i[0]="",i[1]=new Date),-1==r){i[0]+=t;var o;return i[0].length>this.maxStringSequence&&(o="too long: "+i[0].length),-1!=i[0].indexOf("")&&(o="embedded escape: "+i[0].indexOf("")),new Date-i[1]>this.oscTimeLimit_&&(o="timeout expired: "+new Date-i[1]),o?(console.log("parseUntilStringTerminator_: aborting: "+o,i[0]),e.reset(i[0]),!1):(e.advance(t.length),!0)}return i[0].length+r>this.maxStringSequence?(e.reset(i[0]+t),!1):(i[0]+=t.substr(0,r),e.resetParseFunction(),e.advance(r+(""==t.substr(r,1)?2:1)),!0)},o.VT.prototype.dispatch=function(e,t,r){var i=o.VT[e][t];i?i!=o.VT.ignore?"CC1"==e&&t>""&&!this.enable8BitControl?console.warn("Ignoring 8-bit control code: 0x"+t.charCodeAt(0).toString(16)):i.apply(this,[r,t]):this.warnUnimplemented&&console.warn("Ignored "+e+" code: "+JSON.stringify(t)):this.warnUnimplemented&&console.warn("Unknown "+e+" code: "+JSON.stringify(t))},o.VT.prototype.setANSIMode=function(e,t){4==e?this.terminal.setInsertMode(t):20==e?this.terminal.setAutoCarriageReturn(t):this.warnUnimplemented&&console.warn("Unimplemented ANSI Mode: "+e)},o.VT.prototype.setDECMode=function(e,t){switch(parseInt(e,10)){case 1:this.terminal.keyboard.applicationCursor=t;break;case 3:this.allowColumnWidthChanges_&&(this.terminal.setWidth(t?132:80),this.terminal.clearHome(),this.terminal.setVTScrollRegion(null,null));break;case 5:this.terminal.setReverseVideo(t);break;case 6:this.terminal.setOriginMode(t);break;case 7:this.terminal.setWraparound(t);break;case 12:this.enableDec12&&this.terminal.setCursorBlink(t);break;case 25:this.terminal.setCursorVisible(t);break;case 30:this.terminal.setScrollbarVisible(t);break;case 40:this.terminal.allowColumnWidthChanges_=t;break;case 45:this.terminal.setReverseWraparound(t);break;case 67:this.terminal.keyboard.backspaceSendsBackspace=t;break;case 1e3:this.mouseReport=t?this.MOUSE_REPORT_CLICK:this.MOUSE_REPORT_DISABLED,this.terminal.syncMouseStyle();break;case 1002:this.mouseReport=t?this.MOUSE_REPORT_DRAG:this.MOUSE_REPORT_DISABLED,this.terminal.syncMouseStyle();break;case 1010:this.terminal.scrollOnOutput=t;break;case 1011:this.terminal.scrollOnKeystroke=t;break;case 1036:this.terminal.keyboard.metaSendsEscape=t;break;case 1039:t?this.terminal.keyboard.previousAltSendsWhat_||(this.terminal.keyboard.previousAltSendsWhat_=this.terminal.keyboard.altSendsWhat,this.terminal.keyboard.altSendsWhat="escape"):this.terminal.keyboard.previousAltSendsWhat_&&(this.terminal.keyboard.altSendsWhat=this.terminal.keyboard.previousAltSendsWhat_,this.terminal.keyboard.previousAltSendsWhat_=null);break;case 47:case 1047:this.terminal.setAlternateMode(t);break;case 1048:this.savedState_.save();case 1049:t?(this.savedState_.save(),this.terminal.setAlternateMode(t),this.terminal.clear()):(this.terminal.setAlternateMode(t),this.savedState_.restore());break;case 2004:this.terminal.setBracketedPaste(t);break;default:this.warnUnimplemented&&console.warn("Unimplemented DEC Private Mode: "+e)}},o.VT.ignore=function(){},o.VT.CC1={},o.VT.ESC={},o.VT.CSI={},o.VT.OSC={},o.VT.VT52={},o.VT.CC1["\0"]=o.VT.ignore,o.VT.CC1[""]=o.VT.ignore,o.VT.CC1[""]=function(){this.terminal.ringBell()},o.VT.CC1["\b"]=function(){this.terminal.cursorLeft(1)},o.VT.CC1["\t"]=function(){this.terminal.forwardTabStop()},o.VT.CC1["\n"]=function(){this.terminal.formFeed()},o.VT.CC1["\v"]=o.VT.CC1["\n"],o.VT.CC1["\f"]=o.VT.CC1["\n"],o.VT.CC1["\r"]=function(){this.terminal.setCursorColumn(0)},o.VT.CC1[""]=function(){this.GL="G1"},o.VT.CC1[""]=function(){this.GL="G0"},o.VT.CC1[""]=o.VT.ignore,o.VT.CC1[""]=o.VT.ignore,o.VT.CC1[""]=function(e){"G1"==this.GL&&(this.GL="G0"),e.resetParseFunction(),this.terminal.print("?")},o.VT.CC1[""]=o.VT.CC1[""],o.VT.CC1[""]=function(e){function t(e){var r=e.consumeChar();""!=r&&(this.dispatch("ESC",r,e),e.func==t&&e.resetParseFunction())}e.func=t},o.VT.CC1[""]=o.VT.ignore,o.VT.CC1["„"]=o.VT.ESC.D=function(){this.terminal.lineFeed()},o.VT.CC1["…"]=o.VT.ESC.E=function(){this.terminal.setCursorColumn(0),this.terminal.cursorDown(1)},o.VT.CC1["ˆ"]=o.VT.ESC.H=function(){this.terminal.setTabStop(this.terminal.getCursorColumn())},o.VT.CC1[""]=o.VT.ESC.M=function(){this.terminal.reverseLineFeed()},o.VT.CC1["Ž"]=o.VT.ESC.N=o.VT.ignore,o.VT.CC1[""]=o.VT.ESC.O=o.VT.ignore,o.VT.CC1[""]=o.VT.ESC.P=function(e){e.resetArguments(),e.func=this.parseUntilStringTerminator_},o.VT.CC1["–"]=o.VT.ESC.V=o.VT.ignore,o.VT.CC1["—"]=o.VT.ESC.W=o.VT.ignore,o.VT.CC1["˜"]=o.VT.ESC.X=o.VT.ignore,o.VT.CC1["š"]=o.VT.ESC.Z=function(){this.terminal.io.sendString("[?1;2c")},o.VT.CC1["›"]=o.VT.ESC["["]=function(e){e.resetArguments(),this.leadingModifier_="",this.trailingModifier_="",e.func=this.parseCSI_},o.VT.CC1["œ"]=o.VT.ESC["\\"]=o.VT.ignore,o.VT.CC1[""]=o.VT.ESC["]"]=function(e){function t(e){if(this.parseUntilStringTerminator_(e)&&e.func!=t){var r=e.args[0].match(/^(\d+);(.*)$/);r?(e.args[0]=r[2],this.dispatch("OSC",r[1],e)):console.warn("Invalid OSC: "+JSON.stringify(e.args[0]))}}e.resetArguments(),e.func=t},o.VT.CC1["ž"]=o.VT.ESC["^"]=function(e){e.resetArguments(),e.func=this.parseUntilStringTerminator_},o.VT.CC1["Ÿ"]=o.VT.ESC._=function(e){e.resetArguments(),e.func=this.parseUntilStringTerminator_},o.VT.ESC[" "]=function(e){e.func=function(e){var t=e.consumeChar();this.warnUnimplemented&&console.warn("Unimplemented sequence: ESC 0x20 "+t),e.resetParseFunction()}},o.VT.ESC["#"]=function(e){e.func=function(e){"8"==e.consumeChar()&&this.terminal.fill("E"),e.resetParseFunction()}},o.VT.ESC["%"]=function(e){e.func=function(e){var t=e.consumeChar();if(this.codingSystemLocked_)return"/"==t&&e.consumeChar(),void e.resetParseFunction();switch(t){case"@":this.setEncoding("iso-2022");break;case"G":this.setEncoding("utf-8");break;case"/":switch(t=e.consumeChar()){case"G":case"H":case"I":this.setEncoding("utf-8-locked");break;default:this.warnUnimplemented&&console.warn("Unknown ESC % / argument: "+JSON.stringify(t))}break;default:this.warnUnimplemented&&console.warn("Unknown ESC % argument: "+JSON.stringify(t))}e.resetParseFunction()}},o.VT.ESC["("]=o.VT.ESC[")"]=o.VT.ESC["*"]=o.VT.ESC["+"]=o.VT.ESC["-"]=o.VT.ESC["."]=o.VT.ESC["/"]=function(e,t){e.func=function(e){var r=e.consumeChar();if(""==r)return e.resetParseFunction(),void e.func();var i=this.characterMaps.getMap(r);void 0!==i?"("==t?this.G0=i:")"==t||"-"==t?this.G1=i:"*"==t||"."==t?this.G2=i:"+"!=t&&"/"!=t||(this.G3=i):this.warnUnimplemented&&console.log('Invalid character set for "'+t+'": '+r),e.resetParseFunction()}},o.VT.ESC[6]=o.VT.ignore,o.VT.ESC[7]=function(){this.savedState_.save()},o.VT.ESC[8]=function(){this.savedState_.restore()},o.VT.ESC[9]=o.VT.ignore,o.VT.ESC["="]=function(){this.terminal.keyboard.applicationKeypad=!0},o.VT.ESC[">"]=function(){this.terminal.keyboard.applicationKeypad=!1},o.VT.ESC.F=o.VT.ignore,o.VT.ESC.c=function(){this.reset(),this.terminal.reset()},o.VT.ESC.l=o.VT.ESC.m=o.VT.ignore,o.VT.ESC.n=function(){this.GL="G2"},o.VT.ESC.o=function(){this.GL="G3"},o.VT.ESC["|"]=function(){this.GR="G3"},o.VT.ESC["}"]=function(){this.GR="G2"},o.VT.ESC["~"]=function(){this.GR="G1"},o.VT.OSC[0]=function(e){this.terminal.setWindowTitle(e.args[0])},o.VT.OSC[2]=o.VT.OSC[0],o.VT.OSC[4]=function(e){for(var t=e.args[0].split(";"),r=parseInt(t.length/2),o=this.terminal.getTextAttributes().colorPalette,s=[],n=0;n=o.length||("?"!=l?(l=i.colors.x11ToCSS(l))&&(o[a]=l):(l=i.colors.rgbToX11(o[a]))&&s.push(a+";"+l))}s.length&&this.terminal.io.sendString("]4;"+s.join(";")+"")},o.VT.OSC[9]=function(e){o.notify({body:e.args[0]})},o.VT.OSC[10]=function(e){var t=e.args[0].split(";");if(t){var r=i.colors.x11ToCSS(t.shift());r&&this.terminal.setForegroundColor(r),t.length>0&&(e.args[0]=t.join(";"),o.VT.OSC[11].apply(this,[e]))}},o.VT.OSC[11]=function(e){var t=e.args[0].split(";");if(t){var r=i.colors.x11ToCSS(t.shift());r&&this.terminal.setBackgroundColor(r)}},o.VT.OSC[50]=function(e){var t=e.args[0].match(/CursorShape=(.)/i);if(t)switch(t[1]){case"1":this.terminal.setCursorShape(o.Terminal.cursorShape.BEAM);break;case"2":this.terminal.setCursorShape(o.Terminal.cursorShape.UNDERLINE);break;default:this.terminal.setCursorShape(o.Terminal.cursorShape.BLOCK)}else console.warn("Could not parse OSC 50 args: "+e.args[0])},o.VT.OSC[52]=function(e){var t=e.args[0].match(/^[cps01234567]*;(.*)/);if(t){var r=window.atob(t[1]);r&&this.terminal.copyStringToClipboard(this.decode(r))}},o.VT.OSC[777]=function(e){var t;switch(e.args[0].split(";",1)[0]){case"notify":var r,i;(t=e.args[0].match(/^[^;]+;([^;]*)(;([\s\S]*))?$/))&&(r=t[1],i=t[3]),o.notify({title:r,body:i});break;default:console.warn("Unknown urxvt module: "+e.args[0])}},o.VT.CSI["@"]=function(e){this.terminal.insertSpace(e.iarg(0,1))},o.VT.CSI.A=function(e){this.terminal.cursorUp(e.iarg(0,1))},o.VT.CSI.B=function(e){this.terminal.cursorDown(e.iarg(0,1))},o.VT.CSI.C=function(e){this.terminal.cursorRight(e.iarg(0,1))},o.VT.CSI.D=function(e){this.terminal.cursorLeft(e.iarg(0,1))},o.VT.CSI.E=function(e){this.terminal.cursorDown(e.iarg(0,1)),this.terminal.setCursorColumn(0)},o.VT.CSI.F=function(e){this.terminal.cursorUp(e.iarg(0,1)),this.terminal.setCursorColumn(0)},o.VT.CSI.G=function(e){this.terminal.setCursorColumn(e.iarg(0,1)-1)},o.VT.CSI.H=function(e){this.terminal.setCursorPosition(e.iarg(0,1)-1,e.iarg(1,1)-1)},o.VT.CSI.I=function(e){var t=e.iarg(0,1);t=i.f.clamp(t,1,this.terminal.screenSize.width);for(var r=0;rT"]=o.VT.ignore,o.VT.CSI.X=function(e){this.terminal.eraseToRight(e.iarg(0,1))},o.VT.CSI.Z=function(e){var t=e.iarg(0,1);t=i.f.clamp(t,1,this.terminal.screenSize.width);for(var r=0;rc"]=function(e){this.terminal.io.sendString("[>0;256;0c")},o.VT.CSI.d=function(e){this.terminal.setAbsoluteCursorRow(e.iarg(0,1)-1)},o.VT.CSI.f=o.VT.CSI.H,o.VT.CSI.g=function(e){e.args[0]&&0!=e.args[0]?3==e.args[0]&&this.terminal.clearAllTabStops():this.terminal.clearTabStopAtCursor(!1)},o.VT.CSI.h=function(e){for(var t=0;t=i.colorPalette.length)continue;i.foregroundSource=a}else if(39==s)i.foregroundSource=i.SRC_DEFAULT;else if(s<48)i.backgroundSource=s-40;else if(48==s){var n=r(o);if(null!=n)i.backgroundSource=i.SRC_RGB,i.background=n,o+=5;else{var a=t(o);if(null==a)break;if(o+=2,a>=i.colorPalette.length)continue;i.backgroundSource=a}}else i.backgroundSource=i.SRC_DEFAULT;else s>=90&&s<=97?i.foregroundSource=s-90+8:s>=100&&s<=107&&(i.backgroundSource=s-100+8)}i.setDefaults(this.terminal.getForegroundColor(),this.terminal.getBackgroundColor())}else i.reset()},o.VT.CSI[">m"]=o.VT.ignore,o.VT.CSI.n=function(e){if(5==e.args[0])this.terminal.io.sendString("0n");else if(6==e.args[0]){var t=this.terminal.getCursorRow()+1,r=this.terminal.getCursorColumn()+1;this.terminal.io.sendString("["+t+";"+r+"R")}},o.VT.CSI[">n"]=o.VT.ignore,o.VT.CSI["?n"]=function(e){if(6==e.args[0]){var t=this.terminal.getCursorRow()+1,r=this.terminal.getCursorColumn()+1;this.terminal.io.sendString("["+t+";"+r+"R")}else 15==e.args[0]?this.terminal.io.sendString("[?11n"):25==e.args[0]?this.terminal.io.sendString("[?21n"):26==e.args[0]?this.terminal.io.sendString("[?12;1;0;0n"):53==e.args[0]&&this.terminal.io.sendString("[?50n")},o.VT.CSI[">p"]=o.VT.ignore,o.VT.CSI["!p"]=function(){this.reset(),this.terminal.softReset()},o.VT.CSI.$p=o.VT.ignore,o.VT.CSI["?$p"]=o.VT.ignore,o.VT.CSI['"p']=o.VT.ignore,o.VT.CSI.q=o.VT.ignore,o.VT.CSI[" q"]=function(e){var t=e.args[0];0==t||1==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.BLOCK),this.terminal.setCursorBlink(!0)):2==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.BLOCK),this.terminal.setCursorBlink(!1)):3==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.UNDERLINE),this.terminal.setCursorBlink(!0)):4==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.UNDERLINE),this.terminal.setCursorBlink(!1)):5==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.BEAM),this.terminal.setCursorBlink(!0)):6==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.BEAM),this.terminal.setCursorBlink(!1)):console.warn("Unknown cursor style: "+t)},o.VT.CSI['"q']=o.VT.ignore,o.VT.CSI.r=function(e){var t=e.args,r=t[0]?parseInt(t[0],10)-1:null,i=t[1]?parseInt(t[1],10)-1:null;this.terminal.setVTScrollRegion(r,i),this.terminal.setCursorPosition(0,0)},o.VT.CSI["?r"]=o.VT.ignore,o.VT.CSI.$r=o.VT.ignore,o.VT.CSI.s=function(){this.savedState_.save()},o.VT.CSI["?s"]=o.VT.ignore,o.VT.CSI.t=o.VT.ignore,o.VT.CSI.$t=o.VT.ignore,o.VT.CSI[">t"]=o.VT.ignore,o.VT.CSI[" t"]=o.VT.ignore,o.VT.CSI.u=function(){this.savedState_.restore()},o.VT.CSI[" u"]=o.VT.ignore,o.VT.CSI.$v=o.VT.ignore,o.VT.CSI["'w"]=o.VT.ignore,o.VT.CSI.x=o.VT.ignore,o.VT.CSI["*x"]=o.VT.ignore,o.VT.CSI.$x=o.VT.ignore,o.VT.CSI.z=function(e){if(!(e.args.length<1)){var t=e.args[0];if(0==t){if(e.args.length<2)return;this.terminal.getTextAttributes().tileData=e.args[1]}else 1==t&&(this.terminal.getTextAttributes().tileData=null)}},o.VT.CSI["'z"]=o.VT.ignore,o.VT.CSI.$z=o.VT.ignore,o.VT.CSI["'{"]=o.VT.ignore,o.VT.CSI["'|"]=o.VT.ignore,o.VT.CSI["'}"]=o.VT.ignore,o.VT.CSI["'~"]=o.VT.ignore,i.rtdep("lib.f"),o.VT.CharacterMap=function(e,t){this.description=e,this.GL=null,this.glmapBase_=t,this.sync_()},o.VT.CharacterMap.prototype.sync_=function(e){if(!this.glmapBase_&&!e)return this.GL=null,delete this.glmap_,void delete this.glre_;this.glmap_=e?Object.assign({},this.glmapBase_,e):this.glmapBase_;var t=Object.keys(this.glmap_).map(e=>"\\x"+i.f.zpad(e.charCodeAt(0).toString(16)));this.glre_=new RegExp("["+t.join("")+"]","g"),this.GL=(e=>e.replace(this.glre_,e=>this.glmap_[e]))},o.VT.CharacterMap.prototype.reset=function(){this.glmap_!==this.glmapBase_&&this.sync_()},o.VT.CharacterMap.prototype.setOverrides=function(e){this.sync_(e)},o.VT.CharacterMap.prototype.clone=function(){var e=new o.VT.CharacterMap(this.description,this.glmapBase_);return this.glmap_!==this.glmapBase_&&e.setOverrides(this.glmap_),e},o.VT.CharacterMaps=function(){this.maps_=o.VT.CharacterMaps.DefaultMaps,this.mapsBase_=this.maps_},o.VT.CharacterMaps.prototype.getMap=function(e){return this.maps_.hasOwnProperty(e)?this.maps_[e]:void 0},o.VT.CharacterMaps.prototype.addMap=function(e,t){this.maps_===this.mapsBase_&&(this.maps_=Object.assign({},this.mapsBase_)),this.maps_[e]=t},o.VT.CharacterMaps.prototype.reset=function(){this.maps_!==o.VT.CharacterMaps.DefaultMaps&&(this.maps_=o.VT.CharacterMaps.DefaultMaps)},o.VT.CharacterMaps.prototype.setOverrides=function(e){this.maps_===this.mapsBase_&&(this.maps_=Object.assign({},this.mapsBase_));for(var t in e){var r=this.getMap(t);void 0!==r?(this.maps_[t]=r.clone(),this.maps_[t].setOverrides(e[t])):this.addMap(t,new o.VT.CharacterMap("user "+t,e[t]))}},o.VT.CharacterMaps.DefaultMaps={},o.VT.CharacterMaps.DefaultMaps[0]=new o.VT.CharacterMap("graphic",{"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"}),o.VT.CharacterMaps.DefaultMaps.A=new o.VT.CharacterMap("british",{"#":"£"}),o.VT.CharacterMaps.DefaultMaps.B=new o.VT.CharacterMap("us",null),o.VT.CharacterMaps.DefaultMaps[4]=new o.VT.CharacterMap("dutch",{"#":"£","@":"¾","[":"IJ","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"}),o.VT.CharacterMaps.DefaultMaps.C=o.VT.CharacterMaps.DefaultMaps[5]=new o.VT.CharacterMap("finnish",{"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"}),o.VT.CharacterMaps.DefaultMaps.R=new o.VT.CharacterMap("french",{"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"}),o.VT.CharacterMaps.DefaultMaps.Q=new o.VT.CharacterMap("french canadian",{"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"}),o.VT.CharacterMaps.DefaultMaps.K=new o.VT.CharacterMap("german",{"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"}),o.VT.CharacterMaps.DefaultMaps.Y=new o.VT.CharacterMap("italian",{"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"}),o.VT.CharacterMaps.DefaultMaps.E=o.VT.CharacterMaps.DefaultMaps[6]=new o.VT.CharacterMap("norwegian/danish",{"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"}),o.VT.CharacterMaps.DefaultMaps.Z=new o.VT.CharacterMap("spanish",{"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"}),o.VT.CharacterMaps.DefaultMaps[7]=o.VT.CharacterMaps.DefaultMaps.H=new o.VT.CharacterMap("swedish",{"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"}),o.VT.CharacterMaps.DefaultMaps["="]=new o.VT.CharacterMap("swiss",{"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}),i.resource.add("hterm/audio/bell","audio/ogg;base64","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"),i.resource.add("hterm/images/icon-96","image/png;base64","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"),i.resource.add("hterm/concat/date","text/plain","Tue, 22 Aug 2017 06:42:31 +0000"),i.resource.add("hterm/changelog/version","text/plain","1.70"),i.resource.add("hterm/changelog/date","text/plain","2017-08-16"),i.resource.add("hterm/git/HEAD","text/plain","git rev-parse HEAD"),e.exports={hterm:o,lib:i}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(10),o=r(13),s=r(12),n=r(11),a=document.getElementById("terminal");if(null!==a){var l;l="hterm"==gotty_term?new i.Hterm(a):new o.Xterm(a);var h=("https:"==window.location.protocol?"wss://":"ws://")+window.location.host+window.location.pathname+"ws",c=window.location.search,u=new n.ConnectionFactory(h,s.protocols),p=new s.WebTTY(l,u,c,gotty_auth_token).open();window.addEventListener("unload",function(){p(),l.close()})}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,r){this.textarea=e,this.compositionView=t,this.terminal=r,this.isComposing=!1,this.isSendingComposition=!1,this.compositionPosition={start:null,end:null}}return e.prototype.compositionstart=function(){this.isComposing=!0,this.compositionPosition.start=this.textarea.value.length,this.compositionView.textContent="",this.compositionView.classList.add("active")},e.prototype.compositionupdate=function(e){var t=this;this.compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(function(){t.compositionPosition.end=t.textarea.value.length},0)},e.prototype.compositionend=function(){this.finalizeComposition(!0)},e.prototype.keydown=function(e){if(this.isComposing||this.isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this.finalizeComposition(!1)}return 229!==e.keyCode||(this.handleAnyTextareaChanges(),!1)},e.prototype.finalizeComposition=function(e){var t=this;if(this.compositionView.classList.remove("active"),this.isComposing=!1,this.clearTextareaPosition(),e){var r={start:this.compositionPosition.start,end:this.compositionPosition.end};this.isSendingComposition=!0,setTimeout(function(){if(t.isSendingComposition){t.isSendingComposition=!1;var e=void 0;e=t.isComposing?t.textarea.value.substring(r.start,r.end):t.textarea.value.substring(r.start),t.terminal.handler(e)}},0)}else{this.isSendingComposition=!1;var i=this.textarea.value.substring(this.compositionPosition.start,this.compositionPosition.end);this.terminal.handler(i)}},e.prototype.handleAnyTextareaChanges=function(){var e=this,t=this.textarea.value;setTimeout(function(){if(!e.isComposing){var r=e.textarea.value.replace(t,"");r.length>0&&e.terminal.handler(r)}},0)},e.prototype.updateCompositionElements=function(e){var t=this;if(this.isComposing){var r=this.terminal.element.querySelector(".terminal-cursor");if(r){var i=this.terminal.element.querySelector(".xterm-rows").offsetTop+r.offsetTop;this.compositionView.style.left=r.offsetLeft+"px",this.compositionView.style.top=i+"px",this.compositionView.style.height=r.offsetHeight+"px",this.compositionView.style.lineHeight=r.offsetHeight+"px";var o=this.compositionView.getBoundingClientRect();this.textarea.style.left=r.offsetLeft+"px",this.textarea.style.top=i+"px",this.textarea.style.width=o.width+"px",this.textarea.style.height=o.height+"px",this.textarea.style.lineHeight=o.height+"px"}e||setTimeout(function(){return t.updateCompositionElements(!0)},0)}},e.prototype.clearTextareaPosition=function(){this.textarea.style.left="",this.textarea.style.top=""},e}();t.CompositionHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(2),o=r(3),s=function(){function e(e){this._terminal=e}return e.prototype.addChar=function(e,t){if(e>=" "){var r=n(t);this._terminal.charset&&this._terminal.charset[e]&&(e=this._terminal.charset[e]);var i=this._terminal.y+this._terminal.ybase;if(!r&&this._terminal.x)return void(this._terminal.lines.get(i)[this._terminal.x-1]&&(this._terminal.lines.get(i)[this._terminal.x-1][2]?this._terminal.lines.get(i)[this._terminal.x-1][1]+=e:this._terminal.lines.get(i)[this._terminal.x-2]&&(this._terminal.lines.get(i)[this._terminal.x-2][1]+=e),this._terminal.updateRange(this._terminal.y)));if(this._terminal.x+r-1>=this._terminal.cols)if(this._terminal.wraparoundMode)this._terminal.x=0,++this._terminal.y>this._terminal.scrollBottom?(this._terminal.y--,this._terminal.scroll(!0)):this._terminal.lines.get(this._terminal.y).isWrapped=!0;else if(2===r)return;if(i=this._terminal.y+this._terminal.ybase,this._terminal.insertMode)for(var o=0;othis._terminal.scrollBottom&&(this._terminal.y--,this._terminal.scroll()),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.carriageReturn=function(){this._terminal.x=0},e.prototype.backspace=function(){this._terminal.x>0&&this._terminal.x--},e.prototype.tab=function(){this._terminal.x=this._terminal.nextStop()},e.prototype.shiftOut=function(){this._terminal.setgLevel(1)},e.prototype.shiftIn=function(){this._terminal.setgLevel(0)},e.prototype.insertChars=function(e){var t,r,i,o;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.x,o=[this._terminal.eraseAttr()," ",1];t--&&i=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.cursorForward=function(e){var t=e[0];t<1&&(t=1),this._terminal.x+=t,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.cursorBackward=function(e){var t=e[0];t<1&&(t=1),this._terminal.x>=this._terminal.cols&&this._terminal.x--,this._terminal.x-=t,this._terminal.x<0&&(this._terminal.x=0)},e.prototype.cursorNextLine=function(e){var t=e[0];t<1&&(t=1),this._terminal.y+=t,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x=0},e.prototype.cursorPrecedingLine=function(e){var t=e[0];t<1&&(t=1),this._terminal.y-=t,this._terminal.y<0&&(this._terminal.y=0),this._terminal.x=0},e.prototype.cursorCharAbsolute=function(e){var t=e[0];t<1&&(t=1),this._terminal.x=t-1},e.prototype.cursorPosition=function(e){var t,r;t=e[0]-1,r=e.length>=2?e[1]-1:0,t<0?t=0:t>=this._terminal.rows&&(t=this._terminal.rows-1),r<0?r=0:r>=this._terminal.cols&&(r=this._terminal.cols-1),this._terminal.x=r,this._terminal.y=t},e.prototype.cursorForwardTab=function(e){for(var t=e[0]||1;t--;)this._terminal.x=this._terminal.nextStop()},e.prototype.eraseInDisplay=function(e){var t;switch(e[0]){case 0:for(this._terminal.eraseRight(this._terminal.x,this._terminal.y),t=this._terminal.y+1;t0&&(this._terminal.lines.trimStart(r),this._terminal.ybase=Math.max(this._terminal.ybase-r,0),this._terminal.ydisp=Math.max(this._terminal.ydisp-r,0))}},e.prototype.eraseInLine=function(e){switch(e[0]){case 0:this._terminal.eraseRight(this._terminal.x,this._terminal.y);break;case 1:this._terminal.eraseLeft(this._terminal.x,this._terminal.y);break;case 2:this._terminal.eraseLine(this._terminal.y)}},e.prototype.insertLines=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.rows-1-this._terminal.scrollBottom,i=this._terminal.rows-1+this._terminal.ybase-i+1;t--;)this._terminal.lines.length===this._terminal.lines.maxLength&&(this._terminal.lines.trimStart(1),this._terminal.ybase--,this._terminal.ydisp--,r--,i--),this._terminal.lines.splice(r,0,this._terminal.blankLine(!0)),this._terminal.lines.splice(i,1);this._terminal.updateRange(this._terminal.y),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.deleteLines=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.rows-1-this._terminal.scrollBottom,i=this._terminal.rows-1+this._terminal.ybase-i;t--;)this._terminal.lines.length===this._terminal.lines.maxLength&&(this._terminal.lines.trimStart(1),this._terminal.ybase-=1,this._terminal.ydisp-=1),this._terminal.lines.splice(i+1,0,this._terminal.blankLine(!0)),this._terminal.lines.splice(r,1);this._terminal.updateRange(this._terminal.y),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.deleteChars=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=[this._terminal.eraseAttr()," ",1];t--;)this._terminal.lines.get(r).splice(this._terminal.x,1),this._terminal.lines.get(r).push(i)},e.prototype.scrollUp=function(e){for(var t=e[0]||1;t--;)this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollTop,1),this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollBottom,0,this._terminal.blankLine());this._terminal.updateRange(this._terminal.scrollTop),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.scrollDown=function(e){for(var t=e[0]||1;t--;)this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollBottom,1),this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollTop,0,this._terminal.blankLine());this._terminal.updateRange(this._terminal.scrollTop),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.eraseChars=function(e){var t,r,i,o;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.x,o=[this._terminal.eraseAttr()," ",1];t--&&i=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.HPositionRelative=function(e){var t=e[0];t<1&&(t=1),this._terminal.x+=t,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.repeatPrecedingCharacter=function(e){for(var t=e[0]||1,r=this._terminal.lines.get(this._terminal.ybase+this._terminal.y),i=r[this._terminal.x-1]||[this._terminal.defAttr," ",1];t--;)r[this._terminal.x++]=i},e.prototype.sendDeviceAttributes=function(e){e[0]>0||(this._terminal.prefix?">"===this._terminal.prefix&&(this._terminal.is("xterm")?this._terminal.send(i.C0.ESC+"[>0;276;0c"):this._terminal.is("rxvt-unicode")?this._terminal.send(i.C0.ESC+"[>85;95;0c"):this._terminal.is("linux")?this._terminal.send(e[0]+"c"):this._terminal.is("screen")&&this._terminal.send(i.C0.ESC+"[>83;40003;0c")):this._terminal.is("xterm")||this._terminal.is("rxvt-unicode")||this._terminal.is("screen")?this._terminal.send(i.C0.ESC+"[?1;2c"):this._terminal.is("linux")&&this._terminal.send(i.C0.ESC+"[?6c"))},e.prototype.linePosAbsolute=function(e){var t=e[0];t<1&&(t=1),this._terminal.y=t-1,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1)},e.prototype.VPositionRelative=function(e){var t=e[0];t<1&&(t=1),this._terminal.y+=t,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.HVPosition=function(e){e[0]<1&&(e[0]=1),e[1]<1&&(e[1]=1),this._terminal.y=e[0]-1,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x=e[1]-1,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.tabClear=function(e){var t=e[0];t<=0?delete this._terminal.tabs[this._terminal.x]:3===t&&(this._terminal.tabs={})},e.prototype.setMode=function(e){if(e.length>1)for(var t=0;t1e3,this._terminal.mouseEvents=!0,this._terminal.element.classList.add("enable-mouse-events"),this._terminal.selectionManager.disable(),this._terminal.log("Binding to mouse events.");break;case 1004:this._terminal.sendFocus=!0;break;case 1005:this._terminal.utfMouse=!0;break;case 1006:this._terminal.sgrMouse=!0;break;case 1015:this._terminal.urxvtMouse=!0;break;case 25:this._terminal.cursorHidden=!1;break;case 1049:case 47:case 1047:if(!this._terminal.normal){var r={lines:this._terminal.lines,ybase:this._terminal.ybase,ydisp:this._terminal.ydisp,x:this._terminal.x,y:this._terminal.y,scrollTop:this._terminal.scrollTop,scrollBottom:this._terminal.scrollBottom,tabs:this._terminal.tabs};this._terminal.reset(),this._terminal.viewport.syncScrollArea(),this._terminal.normal=r,this._terminal.showCursor()}}}else switch(e[0]){case 4:this._terminal.insertMode=!0}},e.prototype.resetMode=function(e){if(e.length>1)for(var t=0;t>18,s=this._terminal.curAttr>>9&511,n=511&this._terminal.curAttr;i=30&&t<=37?s=t-30:t>=40&&t<=47?n=t-40:t>=90&&t<=97?s=(t+=8)-90:t>=100&&t<=107?n=(t+=8)-100:0===t?(o=this._terminal.defAttr>>18,s=this._terminal.defAttr>>9&511,n=511&this._terminal.defAttr):1===t?o|=1:4===t?o|=2:5===t?o|=4:7===t?o|=8:8===t?o|=16:22===t?o&=-2:24===t?o&=-3:25===t?o&=-5:27===t?o&=-9:28===t?o&=-17:39===t?s=this._terminal.defAttr>>9&511:49===t?n=511&this._terminal.defAttr:38===t?2===e[i+1]?(i+=2,-1===(s=this._terminal.matchColor(255&e[i],255&e[i+1],255&e[i+2]))&&(s=511),i+=2):5===e[i+1]&&(s=t=255&e[i+=2]):48===t?2===e[i+1]?(i+=2,-1===(n=this._terminal.matchColor(255&e[i],255&e[i+1],255&e[i+2]))&&(n=511),i+=2):5===e[i+1]&&(n=t=255&e[i+=2]):100===t?(s=this._terminal.defAttr>>9&511,n=511&this._terminal.defAttr):this._terminal.error("Unknown SGR attribute: %d.",t);this._terminal.curAttr=o<<18|s<<9|n}else this._terminal.curAttr=this._terminal.defAttr},e.prototype.deviceStatus=function(e){if(this._terminal.prefix){if("?"===this._terminal.prefix)switch(e[0]){case 6:this._terminal.send(i.C0.ESC+"[?"+(this._terminal.y+1)+";"+(this._terminal.x+1)+"R")}}else switch(e[0]){case 5:this._terminal.send(i.C0.ESC+"[0n");break;case 6:this._terminal.send(i.C0.ESC+"["+(this._terminal.y+1)+";"+(this._terminal.x+1)+"R")}},e.prototype.softReset=function(e){this._terminal.cursorHidden=!1,this._terminal.insertMode=!1,this._terminal.originMode=!1,this._terminal.wraparoundMode=!0,this._terminal.applicationKeypad=!1,this._terminal.viewport.syncScrollArea(),this._terminal.applicationCursor=!1,this._terminal.scrollTop=0,this._terminal.scrollBottom=this._terminal.rows-1,this._terminal.curAttr=this._terminal.defAttr,this._terminal.x=this._terminal.y=0,this._terminal.charset=null,this._terminal.glevel=0,this._terminal.charsets=[null]},e.prototype.setCursorStyle=function(e){var t=e[0]<1?1:e[0];switch(t){case 1:case 2:this._terminal.setOption("cursorStyle","block");break;case 3:case 4:this._terminal.setOption("cursorStyle","underline");break;case 5:case 6:this._terminal.setOption("cursorStyle","bar")}var r=t%2==1;this._terminal.setOption("cursorBlink",r)},e.prototype.setScrollRegion=function(e){this._terminal.prefix||(this._terminal.scrollTop=(e[0]||1)-1,this._terminal.scrollBottom=(e[1]&&e[1]<=this._terminal.rows?e[1]:this._terminal.rows)-1,this._terminal.x=0,this._terminal.y=0)},e.prototype.saveCursor=function(e){this._terminal.savedX=this._terminal.x,this._terminal.savedY=this._terminal.y},e.prototype.restoreCursor=function(e){this._terminal.x=this._terminal.savedX||0,this._terminal.y=this._terminal.savedY||0},e}();t.InputHandler=s;var n=function(e){function t(e){var t,r=0,o=i.length-1;if(ei[o][1])return!1;for(;o>=r;)if(t=Math.floor((r+o)/2),e>i[t][1])r=t+1;else{if(!(e=4352&&(e<=4447||9001===e||9002===e||e>=11904&&e<=42191&&12351!==e||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072&&e<=196605||e>=196608&&e<=262141)}var i=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];return function(i){return 0===i?e.nul:i<32||i>=127&&i<160?e.control:t(i)?0:r(i)?2:1}}({nul:0,control:0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=new RegExp("(?:^|[^\\da-z\\.-]+)((https?:\\/\\/)((([\\da-z\\.-]+)\\.([a-z\\.]{2,6}))|((\\d{1,3}\\.){3}\\d{1,3})|(localhost))(:\\d{1,5})?(\\/[\\/\\w\\.\\-%~]*)*(\\?[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?(#[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?)($|[^\\/\\w\\.\\-%]+)"),o=0,s=function(){function e(){this._nextLinkMatcherId=o,this._rowTimeoutIds=[],this._linkMatchers=[],this.registerLinkMatcher(i,null,{matchIndex:1})}return e.prototype.attachToDom=function(e,t){this._document=e,this._rows=t},e.prototype.linkifyRow=function(t){if(this._document){var r=this._rowTimeoutIds[t];r&&clearTimeout(r),this._rowTimeoutIds[t]=setTimeout(this._linkifyRow.bind(this,t),e.TIME_BEFORE_LINKIFY)}},e.prototype.setHypertextLinkHandler=function(e){this._linkMatchers[o].handler=e},e.prototype.setHypertextValidationCallback=function(e){this._linkMatchers[o].validationCallback=e},e.prototype.registerLinkMatcher=function(e,t,r){if(void 0===r&&(r={}),this._nextLinkMatcherId!==o&&!t)throw new Error("handler must be defined");var i={id:this._nextLinkMatcherId++,regex:e,handler:t,matchIndex:r.matchIndex,validationCallback:r.validationCallback,priority:r.priority||0};return this._addLinkMatcherToList(i),i.id},e.prototype._addLinkMatcherToList=function(e){if(0!==this._linkMatchers.length){for(var t=this._linkMatchers.length-1;t>=0;t--)if(e.priority<=this._linkMatchers[t].priority)return void this._linkMatchers.splice(t+1,0,e);this._linkMatchers.splice(0,0,e)}else this._linkMatchers.push(e)},e.prototype.deregisterLinkMatcher=function(e){for(var t=1;t0){if(i.validationCallback)for(var s=function(e){var t=o[e];i.validationCallback(t.textContent,t,function(e){e||t.classList.add("xterm-invalid-link")})},n=0;n=0){var p=this._createAnchorElement(a,t.handler,i);if(c.textContent.length===a.length)if(3===c.nodeType)this._replaceNode(c,p);else{var d=c;if("A"===d.nodeName)return r;d.innerHTML="",d.appendChild(p)}else if(c.childNodes.length>1)for(var f=0;f"]=function(e){return e.setPrefix(">")},a["!"]=function(e){return e.setPrefix("!")},a[0]=function(e){return e.setParam(10*e.getParam())},a[1]=function(e){return e.setParam(10*e.getParam()+1)},a[2]=function(e){return e.setParam(10*e.getParam()+2)},a[3]=function(e){return e.setParam(10*e.getParam()+3)},a[4]=function(e){return e.setParam(10*e.getParam()+4)},a[5]=function(e){return e.setParam(10*e.getParam()+5)},a[6]=function(e){return e.setParam(10*e.getParam()+6)},a[7]=function(e){return e.setParam(10*e.getParam()+7)},a[8]=function(e){return e.setParam(10*e.getParam()+8)},a[9]=function(e){return e.setParam(10*e.getParam()+9)},a.$=function(e){return e.setPostfix("$")},a['"']=function(e){return e.setPostfix('"')},a[" "]=function(e){return e.setPostfix(" ")},a["'"]=function(e){return e.setPostfix("'")},a[";"]=function(e){return e.finalizeParam()},a[i.C0.CAN]=function(e){return e.setState(h.NORMAL)};var l={};l["@"]=function(e,t,r){return e.insertChars(t)},l.A=function(e,t,r){return e.cursorUp(t)},l.B=function(e,t,r){return e.cursorDown(t)},l.C=function(e,t,r){return e.cursorForward(t)},l.D=function(e,t,r){return e.cursorBackward(t)},l.E=function(e,t,r){return e.cursorNextLine(t)},l.F=function(e,t,r){return e.cursorPrecedingLine(t)},l.G=function(e,t,r){return e.cursorCharAbsolute(t)},l.H=function(e,t,r){return e.cursorPosition(t)},l.I=function(e,t,r){return e.cursorForwardTab(t)},l.J=function(e,t,r){return e.eraseInDisplay(t)},l.K=function(e,t,r){return e.eraseInLine(t)},l.L=function(e,t,r){return e.insertLines(t)},l.M=function(e,t,r){return e.deleteLines(t)},l.P=function(e,t,r){return e.deleteChars(t)},l.S=function(e,t,r){return e.scrollUp(t)},l.T=function(e,t,r){t.length<2&&!r&&e.scrollDown(t)},l.X=function(e,t,r){return e.eraseChars(t)},l.Z=function(e,t,r){return e.cursorBackwardTab(t)},l["`"]=function(e,t,r){return e.charPosAbsolute(t)},l.a=function(e,t,r){return e.HPositionRelative(t)},l.b=function(e,t,r){return e.repeatPrecedingCharacter(t)},l.c=function(e,t,r){return e.sendDeviceAttributes(t)},l.d=function(e,t,r){return e.linePosAbsolute(t)},l.e=function(e,t,r){return e.VPositionRelative(t)},l.f=function(e,t,r){return e.HVPosition(t)},l.g=function(e,t,r){return e.tabClear(t)},l.h=function(e,t,r){return e.setMode(t)},l.l=function(e,t,r){return e.resetMode(t)},l.m=function(e,t,r){return e.charAttributes(t)},l.n=function(e,t,r){return e.deviceStatus(t)},l.p=function(e,t,r){switch(r){case"!":e.softReset(t)}},l.q=function(e,t,r,i){" "===i&&e.setCursorStyle(t)},l.r=function(e,t){return e.setScrollRegion(t)},l.s=function(e,t){return e.saveCursor(t)},l.u=function(e,t){return e.restoreCursor(t)},l[i.C0.CAN]=function(e,t,r,i,o){return o.setState(h.NORMAL)};var h;!function(e){e[e.NORMAL=0]="NORMAL",e[e.ESCAPED=1]="ESCAPED",e[e.CSI_PARAM=2]="CSI_PARAM",e[e.CSI=3]="CSI",e[e.OSC=4]="OSC",e[e.CHARSET=5]="CHARSET",e[e.DCS=6]="DCS",e[e.IGNORE=7]="IGNORE"}(h||(h={}));var c=function(){function e(e,t){this._inputHandler=e,this._terminal=t,this._state=h.NORMAL}return e.prototype.parse=function(e){var t,r,c,u,p=e.length;for(this._position=0,this._terminal.surrogate_high&&(e=this._terminal.surrogate_high+e,this._terminal.surrogate_high="");this._position":this._terminal.log("Switching back to normal keypad."),this._terminal.applicationKeypad=!1,this._terminal.viewport.syncScrollArea(),this._state=h.NORMAL;break;default:this._state=h.NORMAL,this._terminal.error("Unknown ESC control: %s.",r)}break;case h.CHARSET:r in o.CHARSETS?(t=o.CHARSETS[r],"/"===r&&this.skipNextChar()):t=o.DEFAULT_CHARSET,this._terminal.setgCharset(this._terminal.gcharset,t),this._terminal.gcharset=null,this._state=h.NORMAL;break;case h.OSC:if(r===i.C0.ESC||r===i.C0.BEL){switch(r===i.C0.ESC&&this._position++,this._terminal.params.push(this._terminal.currentParam),this._terminal.params[0]){case 0:case 1:case 2:this._terminal.params[1]&&(this._terminal.title=this._terminal.params[1],this._terminal.handleTitle(this._terminal.title))}this._terminal.params=[],this._terminal.currentParam=0,this._state=h.NORMAL}else this._terminal.params.length?this._terminal.currentParam+=r:r>="0"&&r<="9"?this._terminal.currentParam=10*this._terminal.currentParam+r.charCodeAt(0)-48:";"===r&&(this._terminal.params.push(this._terminal.currentParam),this._terminal.currentParam="");break;case h.CSI_PARAM:if(r in a){a[r](this);break}this.finalizeParam(),this._state=h.CSI;case h.CSI:r in l?l[r](this._inputHandler,this._terminal.params,this._terminal.prefix,this._terminal.postfix,this):this._terminal.error("Unknown CSI code: %s.",r),this._state=h.NORMAL,this._terminal.prefix="",this._terminal.postfix="";break;case h.DCS:if(r===i.C0.ESC||r===i.C0.BEL){r===i.C0.ESC&&this._position++;var d=void 0,f=void 0;switch(this._terminal.prefix){case"":break;case"$q":switch(d=this._terminal.currentParam,f=!1,d){case'"q':d='0"q';break;case'"p':d='61"p';break;case"r":d=this._terminal.scrollTop+1+";"+(this._terminal.scrollBottom+1)+"r";break;case"m":d="0m";break;default:this._terminal.error("Unknown DCS Pt: %s.",d),d=""}this._terminal.send(i.C0.ESC+"P"+ +f+"$r"+d+i.C0.ESC+"\\");break;case"+p":break;case"+q":d=this._terminal.currentParam,f=!1,this._terminal.send(i.C0.ESC+"P"+ +f+"+r"+d+i.C0.ESC+"\\");break;default:this._terminal.error("Unknown DCS prefix: %s.",this._terminal.prefix)}this._terminal.currentParam=0,this._terminal.prefix="",this._state=h.NORMAL}else this._terminal.currentParam?this._terminal.currentParam+=r:this._terminal.prefix||"$"===r||"+"===r?2===this._terminal.prefix.length?this._terminal.currentParam=r:this._terminal.prefix+=r:this._terminal.currentParam=r;break;case h.IGNORE:r!==i.C0.ESC&&r!==i.C0.BEL||(r===i.C0.ESC&&this._position++,this._state=h.NORMAL)}}return this._state},e.prototype.setState=function(e){this._state=e},e.prototype.setPrefix=function(e){this._terminal.prefix=e},e.prototype.setPostfix=function(e){this._terminal.postfix=e},e.prototype.setParam=function(e){this._terminal.currentParam=e},e.prototype.getParam=function(){return this._terminal.currentParam},e.prototype.finalizeParam=function(){this._terminal.params.push(this._terminal.currentParam),this._terminal.currentParam=0},e.prototype.skipNextChar=function(){this._position++},e}();t.Parser=c},function(e,t,r){"use strict";function i(e){var t=e.ownerDocument.createElement("span");t.innerHTML="hello world",e.appendChild(t);var r=t.offsetWidth,i=t.offsetHeight;t.style.fontWeight="bold";var o=t.offsetWidth,s=t.offsetHeight;return e.removeChild(t),r!==o||i!==s}Object.defineProperty(t,"__esModule",{value:!0});var o,s=r(33);!function(e){e[e.BOLD=1]="BOLD",e[e.UNDERLINE=2]="UNDERLINE",e[e.BLINK=4]="BLINK",e[e.INVERSE=8]="INVERSE",e[e.INVISIBLE=16]="INVISIBLE"}(o||(o={}));var n=null,a=function(){function e(e){this._terminal=e,this._refreshRowsQueue=[],this._refreshFramesSkipped=0,this._refreshAnimationFrame=null,this._spanElementObjectPool=new s.DomElementObjectPool("span"),null===n&&(n=i(this._terminal.element)),this._spanElementObjectPool=new s.DomElementObjectPool("span")}return e.prototype.queueRefresh=function(e,t){this._refreshRowsQueue.push({start:e,end:t}),this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame(this._refreshLoop.bind(this)))},e.prototype._refreshLoop=function(){if(this._terminal.writeBuffer.length>0&&this._refreshFramesSkipped++<=5)this._refreshAnimationFrame=window.requestAnimationFrame(this._refreshLoop.bind(this));else{this._refreshFramesSkipped=0;var e,t;if(this._refreshRowsQueue.length>4)e=0,t=this._terminal.rows-1;else{e=this._refreshRowsQueue[0].start,t=this._refreshRowsQueue[0].end;for(var r=1;rt&&(t=this._refreshRowsQueue[r].end)}this._refreshRowsQueue=[],this._refreshAnimationFrame=null,this._refresh(e,t)}},e.prototype._refresh=function(e,t){var r;t-e>=this._terminal.rows/2&&(r=this._terminal.element.parentNode)&&this._terminal.element.removeChild(this._terminal.rowContainer);var i=this._terminal.cols,s=e;for(t>=this._terminal.rows&&(this._terminal.log("`end` is too large. Most likely a bad CSR."),t=this._terminal.rows-1);s<=t;s++){var a=s+this._terminal.ydisp,l=this._terminal.lines.get(a),h=void 0;h=this._terminal.y===s-(this._terminal.ybase-this._terminal.ydisp)&&this._terminal.cursorState&&!this._terminal.cursorHidden?this._terminal.x:-1;for(var c=this._terminal.defAttr,u=document.createDocumentFragment(),p="",d=void 0;this._terminal.children[s].children.length;){var f=this._terminal.children[s].children[0];this._terminal.children[s].removeChild(f),this._spanElementObjectPool.release(f)}for(var g=0;g>9&511,w=m>>18;if(w&o.BOLD&&(n||d.classList.add("xterm-bold"),C<8&&(C+=8)),w&o.UNDERLINE&&d.classList.add("xterm-underline"),w&o.BLINK&&d.classList.add("xterm-blink"),w&o.INVERSE){var S=_;_=C,C=S,1&w&&C<8&&(C+=8)}w&o.INVISIBLE&&d.classList.add("xterm-hidden"),w&o.INVERSE&&(257===_&&(_=15),256===C&&(C=0)),_<256&&d.classList.add("xterm-bg-color-"+_),C<256&&d.classList.add("xterm-color-"+C)}if(2===b)p+=''+y+"";else if(y.charCodeAt(0)>255)p+=''+y+"";else switch(y){case"&":p+="&";break;case"<":p+="<";break;case">":p+=">";break;default:p+=y<=" "?" ":y}c=m}}p&&!d&&(d=this._spanElementObjectPool.acquire()),d&&(p&&(d.innerHTML=p,p=""),u.appendChild(d),d=null),this._terminal.children[s].appendChild(u)}r&&this._terminal.element.appendChild(this._terminal.rowContainer),this._terminal.emit("refresh",{element:this._terminal.element,start:e,end:t})},e.prototype.refreshSelection=function(e,t){for(;this._terminal.selectionContainer.children.length;)this._terminal.selectionContainer.removeChild(this._terminal.selectionContainer.children[0]);if(e&&t){var r=e[1]-this._terminal.ydisp,i=t[1]-this._terminal.ydisp,o=Math.max(r,0),s=Math.min(i,this._terminal.rows-1);if(!(o>=this._terminal.rows||s<0)){var n=document.createDocumentFragment(),a=r===o?e[0]:0,l=o===s?t[0]:this._terminal.cols;n.appendChild(this._createSelectionElement(o,a,l));var h=s-o-1;if(n.appendChild(this._createSelectionElement(o+1,0,this._terminal.cols,h)),o!==s){var c=i===s?t[0]:this._terminal.cols;n.appendChild(this._createSelectionElement(s,0,c))}this._terminal.selectionContainer.appendChild(n)}}},e.prototype._createSelectionElement=function(e,t,r,i){void 0===i&&(i=1);var o=document.createElement("div");return o.style.height=i*this._terminal.charMeasure.height+"px",o.style.top=e*this._terminal.charMeasure.height+"px",o.style.left=t*this._terminal.charMeasure.width+"px",o.style.width=this._terminal.charMeasure.width*(r-t)+"px",o},e}();t.Renderer=a},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o,s=r(9),n=r(8),a=r(1),l=r(22),h=String.fromCharCode(160),c=new RegExp(h,"g");!function(e){e[e.NORMAL=0]="NORMAL",e[e.WORD=1]="WORD",e[e.LINE=2]="LINE"}(o||(o={}));var u=function(e){function t(t,r,i,s){var n=e.call(this)||this;return n._terminal=t,n._buffer=r,n._rowContainer=i,n._charMeasure=s,n._initListeners(),n.enable(),n._model=new l.SelectionModel(t),n._lastMouseDownTime=0,n._activeSelectionMode=o.NORMAL,n}return i(t,e),t.prototype._initListeners=function(){var e=this;this._bufferTrimListener=function(t){return e._onTrim(t)},this._mouseMoveListener=function(t){return e._onMouseMove(t)},this._mouseDownListener=function(t){return e._onMouseDown(t)},this._mouseUpListener=function(t){return e._onMouseUp(t)}},t.prototype.disable=function(){this.clearSelection(),this._buffer.off("trim",this._bufferTrimListener),this._rowContainer.removeEventListener("mousedown",this._mouseDownListener)},t.prototype.enable=function(){this._buffer.on("trim",this._bufferTrimListener),this._rowContainer.addEventListener("mousedown",this._mouseDownListener)},t.prototype.setBuffer=function(e){this._buffer=e,this.clearSelection()},Object.defineProperty(t.prototype,"hasSelection",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t)&&(e[0]!==t[0]||e[1]!==t[1])},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectionText",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";var r=e[1]===t[1]?t[0]:null,i=[];i.push(this._translateBufferLineToString(this._buffer.get(e[1]),!0,e[0],r));for(var o=e[1]+1;o<=t[1]-1;o++){var s=this._buffer.get(o),a=this._translateBufferLineToString(s,!0);s.isWrapped?i[i.length-1]+=a:i.push(a)}if(e[1]!==t[1]){var s=this._buffer.get(t[1]),a=this._translateBufferLineToString(s,!0,0,t[0]);s.isWrapped?i[i.length-1]+=a:i.push(a)}return i.map(function(e){return e.replace(c," ")}).join(n.isMSWindows?"\r\n":"\n")},enumerable:!0,configurable:!0}),t.prototype.clearSelection=function(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh()},t.prototype._translateBufferLineToString=function(e,t,r,i){void 0===r&&(r=0),void 0===i&&(i=null);for(var o="",s=r,n=i,a=0;a=a&&s--,i>=a&&n--)}var h=n||e.length;if(t){var c=o.search(/\s+$/);if(-1!==c&&(h=Math.min(h,c)),h<=s)return""}return o.substring(s,h)},t.prototype.refresh=function(e){var t=this;this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame(function(){return t._refresh()})),n.isLinux&&e&&this.selectionText.length&&this.emit("newselection",this.selectionText)},t.prototype._refresh=function(){this._refreshAnimationFrame=null,this.emit("refresh",{start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd})},t.prototype.selectAll=function(){this._model.isSelectAllActive=!0,this.refresh()},t.prototype._onTrim=function(e){this._model.onTrim(e)&&this.refresh()},t.prototype._getMouseBufferCoords=function(e){var t=s.getCoords(e,this._rowContainer,this._charMeasure,this._terminal.cols,this._terminal.rows,!0);return t[0]--,t[1]--,t[1]+=this._terminal.ydisp,t},t.prototype._getMouseEventScrollAmount=function(e){var t=s.getCoordsRelativeToElement(e,this._rowContainer)[1],r=this._terminal.rows*this._charMeasure.height;return t>=0&&t<=r?0:(t>r&&(t-=r),t=Math.min(Math.max(t,-50),50),(t/=50)/Math.abs(t)+Math.round(14*t))},t.prototype._onMouseDown=function(e){0===e.button&&(e.preventDefault(),this._dragScrollAmount=0,this._setMouseClickCount(e),e.shiftKey?this._onShiftClick(e):1===this._clickCount?this._onSingleClick(e):2===this._clickCount?this._onDoubleClick(e):3===this._clickCount&&this._onTripleClick(e),this._addMouseDownListeners(),this.refresh(!0))},t.prototype._addMouseDownListeners=function(){var e=this;this._rowContainer.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._rowContainer.ownerDocument.addEventListener("mouseup",this._mouseUpListener),this._dragScrollIntervalTimer=setInterval(function(){return e._dragScroll()},50)},t.prototype._removeMouseDownListeners=function(){this._rowContainer.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._rowContainer.ownerDocument.removeEventListener("mouseup",this._mouseUpListener),clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=null},t.prototype._onShiftClick=function(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))},t.prototype._onSingleClick=function(e){this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=o.NORMAL,this._model.selectionStart=this._getMouseBufferCoords(e),this._model.selectionStart&&(this._model.selectionEnd=null,0===this._buffer.get(this._model.selectionStart[1])[this._model.selectionStart[0]][2]&&this._model.selectionStart[0]++)},t.prototype._onDoubleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=o.WORD,this._selectWordAt(t))},t.prototype._onTripleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=o.LINE,this._selectLineAt(t[1]))},t.prototype._setMouseClickCount=function(e){var t=(new Date).getTime();(t-this._lastMouseDownTime>400||this._distanceFromLastMousePosition(e)>10)&&(this._clickCount=0),this._lastMouseDownTime=t,this._lastMousePosition=[e.pageX,e.pageY],this._clickCount++},t.prototype._distanceFromLastMousePosition=function(e){return Math.max(Math.abs(this._lastMousePosition[0]-e.pageX),Math.abs(this._lastMousePosition[1]-e.pageY))},t.prototype._onMouseMove=function(e){var t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),this._activeSelectionMode===o.LINE?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._terminal.cols-1:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]0?this._model.selectionEnd=[this._terminal.cols-1,this._terminal.ydisp+this._terminal.rows]:this._model.selectionEnd=[0,this._terminal.ydisp],this.refresh())},t.prototype._onMouseUp=function(e){this._removeMouseDownListeners()},t.prototype._convertViewportColToCharacterIndex=function(e,t){for(var r=t[0],i=0;t[0]>=i;i++)0===e[i][2]&&r--;return r},t.prototype._getWordAt=function(e){var t=this._buffer.get(e[1]),r=this._translateBufferLineToString(t,!1),i=this._convertViewportColToCharacterIndex(t,e),o=i,s=e[0]-o,n=0,a=0;if(" "===r.charAt(o)){for(;o>0&&" "===r.charAt(o-1);)o--;for(;i0&&!this._isCharWordSeparator(r.charAt(o-1));)0===t[l-1][2]&&(n++,l--),o--,l--;for(;i+1=0},t.prototype._selectLineAt=function(e){this._model.selectionStart=[0,e],this._model.selectionStartLength=this._terminal.cols},t}(a.EventEmitter);t.SelectionManager=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e){this._terminal=e,this.clearSelection()}return e.prototype.clearSelection=function(){this.selectionStart=null,this.selectionEnd=null,this.isSelectAllActive=!1,this.selectionStartLength=0},Object.defineProperty(e.prototype,"finalSelectionStart",{get:function(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"finalSelectionEnd",{get:function(){return this.isSelectAllActive?[this._terminal.cols,this._terminal.ybase+this._terminal.rows-1]:this.selectionStart?!this.selectionEnd||this.areSelectionValuesReversed()?[this.selectionStart[0]+this.selectionStartLength,this.selectionStart[1]]:this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]?[Math.max(this.selectionStart[0]+this.selectionStartLength,this.selectionEnd[0]),this.selectionEnd[1]]:this.selectionEnd:null},enumerable:!0,configurable:!0}),e.prototype.areSelectionValuesReversed=function(){var e=this.selectionStart,t=this.selectionEnd;return e[1]>t[1]||e[1]===t[1]&&e[0]>t[0]},e.prototype.onTrim=function(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)},e}();t.SelectionModel=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,r,i){var o=this;this.terminal=e,this.viewportElement=t,this.scrollArea=r,this.charMeasure=i,this.currentRowHeight=0,this.lastRecordedBufferLength=0,this.lastRecordedViewportHeight=0,this.terminal.on("scroll",this.syncScrollArea.bind(this)),this.terminal.on("resize",this.syncScrollArea.bind(this)),this.viewportElement.addEventListener("scroll",this.onScroll.bind(this)),setTimeout(function(){return o.syncScrollArea()},0)}return e.prototype.refresh=function(){if(this.charMeasure.height>0){var e=this.charMeasure.height!==this.currentRowHeight;e&&(this.currentRowHeight=this.charMeasure.height,this.viewportElement.style.lineHeight=this.charMeasure.height+"px",this.terminal.rowContainer.style.lineHeight=this.charMeasure.height+"px");var t=this.lastRecordedViewportHeight!==this.terminal.rows;(e||t)&&(this.lastRecordedViewportHeight=this.terminal.rows,this.viewportElement.style.height=this.charMeasure.height*this.terminal.rows+"px",this.terminal.selectionContainer.style.height=this.viewportElement.style.height),this.scrollArea.style.height=this.charMeasure.height*this.lastRecordedBufferLength+"px"}},e.prototype.syncScrollArea=function(){this.lastRecordedBufferLength!==this.terminal.lines.length?(this.lastRecordedBufferLength=this.terminal.lines.length,this.refresh()):this.lastRecordedViewportHeight!==this.terminal.rows?this.refresh():this.charMeasure.height!==this.currentRowHeight&&this.refresh();var e=this.terminal.ydisp*this.currentRowHeight;this.viewportElement.scrollTop!==e&&(this.viewportElement.scrollTop=e)},e.prototype.onScroll=function(e){var t=Math.round(this.viewportElement.scrollTop/this.currentRowHeight)-this.terminal.ydisp;this.terminal.scrollDisp(t,!0)},e.prototype.onWheel=function(e){if(0!==e.deltaY){var t=1;e.deltaMode===WheelEvent.DOM_DELTA_LINE?t=this.currentRowHeight:e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t=this.currentRowHeight*this.terminal.rows),this.viewportElement.scrollTop+=e.deltaY*t,e.preventDefault()}},e.prototype.onTouchStart=function(e){this.lastTouchY=e.touches[0].pageY},e.prototype.onTouchMove=function(e){var t=this.lastTouchY-e.touches[0].pageY;this.lastTouchY=e.touches[0].pageY,0!==t&&(this.viewportElement.scrollTop+=t,e.preventDefault())},e}();t.Viewport=i},function(e,t,r){function i(e){return r(o(e))}function o(e){var t=s[e];if(!(t+1))throw new Error("Cannot find module '"+e+"'.");return t}var s={"./attach/attach":4,"./attach/attach.js":4,"./attach/package.json":25,"./fit/fit":5,"./fit/fit.js":5,"./fit/package.json":26,"./fullscreen/fullscreen":6,"./fullscreen/fullscreen.css":27,"./fullscreen/fullscreen.js":6,"./fullscreen/package.json":28,"./terminado/package.json":29,"./terminado/terminado":7,"./terminado/terminado.js":7};i.keys=function(){return Object.keys(s)},i.resolve=o,e.exports=i,i.id=24},function(e,t){e.exports={name:"xterm.attach",main:"attach.js",private:!0}},function(e,t){e.exports={name:"xterm.fit",main:"fit.js",private:!0}},function(e,t){throw new Error("Module parse failed: /home/yudai/archive/products/2015/gotty/src/github.com/yudai/gotty/js/node_modules/xterm/lib/addons/fullscreen/fullscreen.css Unexpected token (1:0)\nYou may need an appropriate loader to handle this file type.\n| .xterm.fullscreen {\n| position: fixed;\n| top: 0;")},function(e,t){e.exports={name:"xterm.fullscreen",main:"fullscreen.js",private:!0}},function(e,t){e.exports={name:"xterm.terminado",main:"terminado.js",private:!0}},function(e,t,r){"use strict";function i(e,t){return t?e.replace(/\r?\n/g,"\r"):e}function o(e,t){t.style.position="fixed",t.style.width="20px",t.style.height="20px",t.style.left=e.clientX-10+"px",t.style.top=e.clientY-10+"px",t.style.zIndex="1000",t.focus(),setTimeout(function(){t.style.position=null,t.style.width=null,t.style.height=null,t.style.left=null,t.style.top=null,t.style.zIndex=null},4)}Object.defineProperty(t,"__esModule",{value:!0}),t.prepareTextForTerminal=i,t.copyHandler=function(e,t,r){t.browser.isMSIE?window.clipboardData.setData("Text",r.selectionText):e.clipboardData.setData("text/plain",r.selectionText),e.preventDefault()},t.pasteHandler=function(e,t){e.stopPropagation();var r=function(r){return r=i(r,t.browser.isMSWindows),t.handler(r),t.textarea.value="",t.emit("paste",r),t.cancel(e)};t.browser.isMSIE?window.clipboardData&&r(window.clipboardData.getData("Text")):e.clipboardData&&r(e.clipboardData.getData("text/plain"))},t.moveTextAreaUnderMouseCursor=o,t.rightClickHandler=function(e,t,r){o(e,t),t.value=r.selectionText,t.select()}},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t,r){var i=e.call(this)||this;return i._document=t,i._parentElement=r,i}return i(t,e),Object.defineProperty(t.prototype,"width",{get:function(){return this._width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this._height},enumerable:!0,configurable:!0}),t.prototype.measure=function(){var e=this;this._measureElement?this._doMeasure():(this._measureElement=this._document.createElement("span"),this._measureElement.style.position="absolute",this._measureElement.style.top="0",this._measureElement.style.left="-9999em",this._measureElement.textContent="W",this._measureElement.setAttribute("aria-hidden","true"),this._parentElement.appendChild(this._measureElement),setTimeout(function(){return e._doMeasure()},0))},t.prototype._doMeasure=function(){var e=this._measureElement.getBoundingClientRect();0!==e.width&&0!==e.height&&(this._width===e.width&&this._height===e.height||(this._width=e.width,this._height=e.height,this.emit("charsizechanged")))},t}(r(1).EventEmitter);t.CharMeasure=o},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var r=e.call(this)||this;return r._array=new Array(t),r._startIndex=0,r._length=0,r}return i(t,e),Object.defineProperty(t.prototype,"maxLength",{get:function(){return this._array.length},set:function(e){for(var t=new Array(e),r=0;rthis._length)for(var t=this._length;t=e;o--)this._array[this._getCyclicIndex(o+r.length)]=this._array[this._getCyclicIndex(o)];for(var o=0;othis.maxLength){var s=this._length+r.length-this.maxLength;this._startIndex+=s,this._length=this.maxLength,this.emit("trim",s)}else this._length+=r.length}},t.prototype.trimStart=function(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.emit("trim",e)},t.prototype.shiftElements=function(e,t,r){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+r<0)throw new Error("Cannot shift elements in list beyond index 0");if(r>0){for(o=t-1;o>=0;o--)this.set(e+o+r,this.get(e+o));var i=e+t+r-this._length;if(i>0)for(this._length+=i;this._length>this.maxLength;)this._length--,this._startIndex++,this.emit("trim",1)}else for(var o=0;o=0}}]); \ No newline at end of file +!function(t){e.exports=t(r(0))}(function(e){"use strict";var t={};return t.terminadoAttach=function(e,t,r,i){r=void 0===r||r,e.socket=t,e._flushBuffer=function(){e.write(e._attachSocketBuffer),e._attachSocketBuffer=null,clearTimeout(e._attachSocketBufferTimer),e._attachSocketBufferTimer=null},e._pushToBuffer=function(t){e._attachSocketBuffer?e._attachSocketBuffer+=t:(e._attachSocketBuffer=t,setTimeout(e._flushBuffer,10))},e._getMessage=function(t){var r=JSON.parse(t.data);"stdout"==r[0]&&(i?e._pushToBuffer(r[1]):e.write(r[1]))},e._sendData=function(e){t.send(JSON.stringify(["stdin",e]))},e._setSize=function(e){t.send(JSON.stringify(["set_size",e.rows,e.cols]))},t.addEventListener("message",e._getMessage),r&&e.on("data",e._sendData),e.on("resize",e._setSize),t.addEventListener("close",e.terminadoDetach.bind(e,t)),t.addEventListener("error",e.terminadoDetach.bind(e,t))},t.terminadoDetach=function(e,t){e.off("data",e._sendData),(t=void 0===t?e.socket:t)&&t.removeEventListener("message",e._getMessage),delete e.socket},e.prototype.terminadoAttach=function(e,r,i){return t.terminadoAttach(this,e,r,i)},e.prototype.terminadoDetach=function(e){return t.terminadoDetach(this,e)},t})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(27),o="undefined"==typeof navigator,s=o?"node":navigator.userAgent,n=o?"node":navigator.platform;t.isFirefox=!!~s.indexOf("Firefox"),t.isMSIE=!!~s.indexOf("MSIE")||!!~s.indexOf("Trident"),t.isMac=i.contains(["Macintosh","MacIntel","MacPPC","Mac68K"],n),t.isIpad="iPad"===n,t.isIphone="iPhone"===n,t.isMSWindows=i.contains(["Windows","Win16","Win32","WinCE"],n),t.isLinux=n.indexOf("Linux")>=0},function(e,t,r){"use strict";function i(e,t){if(null==e.pageX)return null;for(var r=e.pageX,i=e.pageY;t&&t!==self.document.documentElement;)r-=t.offsetLeft,i-=t.offsetTop,t="offsetParent"in t?t.offsetParent:t.parentElement;return[r,i]}function o(e,t,r,o,s,n){var a=i(e,t);return a[0]=Math.ceil((a[0]+(n?r.width/2:0))/r.width),a[1]=Math.ceil(a[1]/r.height),a[0]=Math.min(Math.max(a[0],1),o+1),a[1]=Math.min(Math.max(a[1],1),s+1),a}Object.defineProperty(t,"__esModule",{value:!0}),t.getCoordsRelativeToElement=i,t.getCoords=o,t.getRawByteCoords=function(e,t,r,i,s){var n=o(e,t,r,i,s),a=n[0],l=n[1];return a+=32,l+=32,{x:a,y:l}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(14),o=function(){function e(e){this.elem=e,i.hterm.defaultStorage=new i.lib.Storage.Memory,this.term=new i.hterm.Terminal,this.term.getPrefs().set("send-encoding","raw"),this.term.decorate(this.elem),this.io=this.term.io.push(),this.term.installKeyboard()}return e.prototype.info=function(){return{columns:this.columns,rows:this.rows}},e.prototype.output=function(e){null!=this.term.io&&this.term.io.writeUTF16(e)},e.prototype.showMessage=function(e,t){this.message=e,t>0?this.term.io.showOverlay(e,t):this.term.io.showOverlay(e,null)},e.prototype.removeMessage=function(){this.term.io.showOverlay(this.message,0)},e.prototype.setWindowTitle=function(e){this.term.setWindowTitle(e)},e.prototype.setPreferences=function(e){var t=this;Object.keys(e).forEach(function(r){t.term.getPrefs().set(r,e[r])})},e.prototype.onInput=function(e){this.io.onVTKeystroke=function(t){e(t)},this.io.sendString=function(t){e(t)}},e.prototype.onResize=function(e){var t=this;this.io.onTerminalResize=function(r,i){t.columns=r,t.rows=i,e(r,i)}},e.prototype.deactivate=function(){this.io.onVTKeystroke=null,this.io.sendString=null,this.io.onTerminalResize=null,this.term.uninstallKeyboard()},e.prototype.reset=function(){this.removeMessage(),this.term.installKeyboard()},e.prototype.close=function(){this.term.uninstallKeyboard()},e}();t.Hterm=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){this.url=e,this.protocols=t}return e.prototype.create=function(){return new o(this.url,this.protocols)},e}();t.ConnectionFactory=i;var o=function(){function e(e,t){this.bare=new WebSocket(e,t)}return e.prototype.open=function(){},e.prototype.close=function(){this.bare.close()},e.prototype.send=function(e){this.bare.send(e)},e.prototype.isOpen=function(){return this.bare.readyState==WebSocket.CONNECTING||this.bare.readyState==WebSocket.OPEN},e.prototype.onOpen=function(e){this.bare.onopen=function(t){e()}},e.prototype.onReceive=function(e){this.bare.onmessage=function(t){e(t.data)}},e.prototype.onClose=function(e){this.bare.onclose=function(t){e()}},e}();t.Connection=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.protocols=["webtty"],t.msgInputUnknown="0",t.msgInput="1",t.msgPing="2",t.msgResizeTerminal="3",t.msgUnknownOutput="0",t.msgOutput="1",t.msgPong="2",t.msgSetWindowTitle="3",t.msgSetPreferences="4",t.msgSetReconnect="5";var i=function(){function e(e,t,r,i){this.term=e,this.connectionFactory=t,this.args=r,this.authToken=i,this.reconnect=-1}return e.prototype.open=function(){var e,r,i=this,o=this.connectionFactory.create(),s=function(){o.onOpen(function(){var r=i.term.info();o.send(JSON.stringify({Arguments:i.args,AuthToken:i.authToken}));var s=function(e,r){o.send(t.msgResizeTerminal+JSON.stringify({columns:e,rows:r}))};i.term.onResize(s),s(r.columns,r.rows),i.term.onInput(function(e){o.send(t.msgInput+e)}),e=setInterval(function(){o.send(t.msgPing)},3e4)}),o.onReceive(function(e){var r=e.slice(1);switch(e[0]){case t.msgOutput:i.term.output(decodeURIComponent(Array.prototype.map.call(atob(r),function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join("")));break;case t.msgPong:break;case t.msgSetWindowTitle:i.term.setWindowTitle(r);break;case t.msgSetPreferences:var o=JSON.parse(r);i.term.setPreferences(o);break;case t.msgSetReconnect:var s=JSON.parse(r);console.log("Enabling reconnect: "+s+" seconds"),i.reconnect=s}}),o.onClose(function(){clearInterval(e),i.term.deactivate(),i.term.showMessage("Connection Closed",0),i.reconnect>0&&(r=setTimeout(function(){o=i.connectionFactory.create(),i.term.reset(),s()},1e3*i.reconnect))}),o.open()};return s(),function(){clearTimeout(r),o.close()}},e}();t.WebTTY=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(0);i.loadAddon("fit");var o=function(){function e(e){var t=this;this.elem=e,this.term=new i,this.message=e.ownerDocument.createElement("div"),this.message.className="xterm-overlay",this.messageTimeout=2e3,this.resizeListener=function(){t.term.fit(),t.term.scrollToBottom(),t.showMessage(String(t.term.cols)+"x"+String(t.term.rows),t.messageTimeout)},this.term.on("open",function(){t.resizeListener(),window.addEventListener("resize",function(){t.resizeListener()})}),this.term.open(e,!0)}return e.prototype.info=function(){return{columns:this.term.cols,rows:this.term.rows}},e.prototype.output=function(e){this.term.write(e)},e.prototype.showMessage=function(e,t){var r=this;this.message.textContent=e,this.elem.appendChild(this.message),this.messageTimer&&clearTimeout(this.messageTimer),t>0&&(this.messageTimer=setTimeout(function(){r.elem.removeChild(r.message)},t))},e.prototype.removeMessage=function(){this.message.parentNode==this.elem&&this.elem.removeChild(this.message)},e.prototype.setWindowTitle=function(e){document.title=e},e.prototype.setPreferences=function(e){},e.prototype.onInput=function(e){this.term.on("data",function(t){e(t)})},e.prototype.onResize=function(e){this.term.on("resize",function(t){e(t.cols,t.rows)})},e.prototype.deactivate=function(){this.term.off("data"),this.term.off("resize"),this.term.blur()},e.prototype.reset=function(){this.removeMessage(),this.term.clear()},e.prototype.close=function(){window.removeEventListener("resize",this.resizeListener),this.term.destroy()},e}();t.Xterm=o},function(e,t,r){"use strict";/*! + * libapps (https://npmjs.com/package/libapps) + * @license BSD-3-Clause + * @version 1.70.0 + * ==libapps/LICENSE== + * // Copyright (c) 2006-2009 The Chromium OS Authors. All rights reserved. + * // + * // Redistribution and use in source and binary forms, with or without + * // modification, are permitted provided that the following conditions are + * // met: + * // + * // * Redistributions of source code must retain the above copyright + * // notice, this list of conditions and the following disclaimer. + * // * Redistributions in binary form must reproduce the above + * // copyright notice, this list of conditions and the following disclaimer + * // in the documentation and/or other materials provided with the + * // distribution. + * // * Neither the name of Google Inc. nor the names of its + * // contributors may be used to endorse or promote products derived from + * // this software without specific prior written permission. + * // + * // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +if(void 0!==i)throw new Error('Global "lib" object already exists.');var i={};i.runtimeDependencies_={},i.initCallbacks_=[],i.rtdep=function(e){var t;try{throw new Error}catch(e){var r=e.stack.split("\n");t=r.length>=3?r[2].replace(/^\s*at\s+/,""):r[1].replace(/^\s*global code@/,"")}for(var o=0;ot.length&&(t=t.repeat(e/t.length+1)),t.slice(0,e)+String(this))}),String.prototype.padEnd||(String.prototype.padEnd=function(e,t){return(e-=this.length)<=0?String(this):(void 0===t&&(t=" "),e>t.length&&(t=t.repeat(e/t.length+1)),String(this)+t.slice(0,e))}),i.colors={},i.colors.re_={hex16:/#([a-f0-9])([a-f0-9])([a-f0-9])/i,hex24:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/i,rgb:new RegExp("^/s*rgb/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*/)/s*$".replace(/\//g,"\\"),"i"),rgba:new RegExp("^/s*rgba/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*(?:,/s*(/d+(?:/./d+)?)/s*)/)/s*$".replace(/\//g,"\\"),"i"),rgbx:new RegExp("^/s*rgba?/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*(?:,/s*(/d+(?:/./d+)?)/s*)?/)/s*$".replace(/\//g,"\\"),"i"),x11rgb:/^\s*rgb:([a-f0-9]{1,4})\/([a-f0-9]{1,4})\/([a-f0-9]{1,4})\s*$/i,name:/[a-z][a-z0-9\s]+/},i.colors.rgbToX11=function(e){function t(e){return e=(257*Math.min(e,255)).toString(16),i.f.zpad(e,4)}var r=e.match(i.colors.re_.rgbx);return r?"rgb:"+t(r[1])+"/"+t(r[2])+"/"+t(r[3]):null},i.colors.x11HexToCSS=function(e){if(!e.startsWith("#"))return null;if(e=e.substr(1),-1==[3,6,9,12].indexOf(e.length))return null;if(e.match(/[^a-f0-9]/i))return null;var t=e.length/3,r=e.substr(0,t),o=e.substr(t,t),s=e.substr(t+t,t);return i.colors.arrayToRGBA([r,o,s].map(function(e){return e=parseInt(e,16),2==t?e:1==t?e<<4:e>>4*(t-2)}))},i.colors.x11ToCSS=function(e){var t=e.match(i.colors.re_.x11rgb);return t?(t.splice(0,1),i.colors.arrayToRGBA(t.map(function(e){return 1==e.length?parseInt(e+e,16):2==e.length?parseInt(e,16):(3==e.length&&(e+=e.substr(2)),Math.round(parseInt(e,16)/257))}))):e.startsWith("#")?i.colors.x11HexToCSS(e):i.colors.nameToRGB(e)},i.colors.hexToRGB=function(e){function t(e){4==e.length&&(e=e.replace(r,function(e,t,r,i){return"#"+t+t+r+r+i+i}));var t=e.match(o);return t?"rgb("+parseInt(t[1],16)+", "+parseInt(t[2],16)+", "+parseInt(t[3],16)+")":null}var r=i.colors.re_.hex16,o=i.colors.re_.hex24;if(e instanceof Array)for(var s=0;s3?e[3]:1;return"rgba("+e[0]+", "+e[1]+", "+e[2]+", "+t+")"},i.colors.setAlpha=function(e,t){var r=i.colors.crackRGB(e);return r[3]=t,i.colors.arrayToRGBA(r)},i.colors.mix=function(e,t,r){for(var o=i.colors.crackRGB(e),s=i.colors.crackRGB(t),n=0;n<4;++n){var a=s[n]-o[n];o[n]=Math.round(parseInt(o[n])+a*r)}return i.colors.arrayToRGBA(o)},i.colors.crackRGB=function(e){if(e.startsWith("rgba")){if(t=e.match(i.colors.re_.rgba))return t.shift(),t}else{var t=e.match(i.colors.re_.rgb);if(t)return t.shift(),t.push(1),t}return console.error("Couldn't crack: "+e),null},i.colors.nameToRGB=function(e){return e in i.colors.colorNames?i.colors.colorNames[e]:(e=e.toLowerCase())in i.colors.colorNames?i.colors.colorNames[e]:(e=e.replace(/\s+/g,""))in i.colors.colorNames?i.colors.colorNames[e]:null},i.colors.stockColorPalette=i.colors.hexToRGB(["#000000","#CC0000","#4E9A06","#C4A000","#3465A4","#75507B","#06989A","#D3D7CF","#555753","#EF2929","#00BA13","#FCE94F","#729FCF","#F200CB","#00B5BD","#EEEEEC","#000000","#00005F","#000087","#0000AF","#0000D7","#0000FF","#005F00","#005F5F","#005F87","#005FAF","#005FD7","#005FFF","#008700","#00875F","#008787","#0087AF","#0087D7","#0087FF","#00AF00","#00AF5F","#00AF87","#00AFAF","#00AFD7","#00AFFF","#00D700","#00D75F","#00D787","#00D7AF","#00D7D7","#00D7FF","#00FF00","#00FF5F","#00FF87","#00FFAF","#00FFD7","#00FFFF","#5F0000","#5F005F","#5F0087","#5F00AF","#5F00D7","#5F00FF","#5F5F00","#5F5F5F","#5F5F87","#5F5FAF","#5F5FD7","#5F5FFF","#5F8700","#5F875F","#5F8787","#5F87AF","#5F87D7","#5F87FF","#5FAF00","#5FAF5F","#5FAF87","#5FAFAF","#5FAFD7","#5FAFFF","#5FD700","#5FD75F","#5FD787","#5FD7AF","#5FD7D7","#5FD7FF","#5FFF00","#5FFF5F","#5FFF87","#5FFFAF","#5FFFD7","#5FFFFF","#870000","#87005F","#870087","#8700AF","#8700D7","#8700FF","#875F00","#875F5F","#875F87","#875FAF","#875FD7","#875FFF","#878700","#87875F","#878787","#8787AF","#8787D7","#8787FF","#87AF00","#87AF5F","#87AF87","#87AFAF","#87AFD7","#87AFFF","#87D700","#87D75F","#87D787","#87D7AF","#87D7D7","#87D7FF","#87FF00","#87FF5F","#87FF87","#87FFAF","#87FFD7","#87FFFF","#AF0000","#AF005F","#AF0087","#AF00AF","#AF00D7","#AF00FF","#AF5F00","#AF5F5F","#AF5F87","#AF5FAF","#AF5FD7","#AF5FFF","#AF8700","#AF875F","#AF8787","#AF87AF","#AF87D7","#AF87FF","#AFAF00","#AFAF5F","#AFAF87","#AFAFAF","#AFAFD7","#AFAFFF","#AFD700","#AFD75F","#AFD787","#AFD7AF","#AFD7D7","#AFD7FF","#AFFF00","#AFFF5F","#AFFF87","#AFFFAF","#AFFFD7","#AFFFFF","#D70000","#D7005F","#D70087","#D700AF","#D700D7","#D700FF","#D75F00","#D75F5F","#D75F87","#D75FAF","#D75FD7","#D75FFF","#D78700","#D7875F","#D78787","#D787AF","#D787D7","#D787FF","#D7AF00","#D7AF5F","#D7AF87","#D7AFAF","#D7AFD7","#D7AFFF","#D7D700","#D7D75F","#D7D787","#D7D7AF","#D7D7D7","#D7D7FF","#D7FF00","#D7FF5F","#D7FF87","#D7FFAF","#D7FFD7","#D7FFFF","#FF0000","#FF005F","#FF0087","#FF00AF","#FF00D7","#FF00FF","#FF5F00","#FF5F5F","#FF5F87","#FF5FAF","#FF5FD7","#FF5FFF","#FF8700","#FF875F","#FF8787","#FF87AF","#FF87D7","#FF87FF","#FFAF00","#FFAF5F","#FFAF87","#FFAFAF","#FFAFD7","#FFAFFF","#FFD700","#FFD75F","#FFD787","#FFD7AF","#FFD7D7","#FFD7FF","#FFFF00","#FFFF5F","#FFFF87","#FFFFAF","#FFFFD7","#FFFFFF","#080808","#121212","#1C1C1C","#262626","#303030","#3A3A3A","#444444","#4E4E4E","#585858","#626262","#6C6C6C","#767676","#808080","#8A8A8A","#949494","#9E9E9E","#A8A8A8","#B2B2B2","#BCBCBC","#C6C6C6","#D0D0D0","#DADADA","#E4E4E4","#EEEEEE"]),i.colors.colorPalette=i.colors.stockColorPalette,i.colors.colorNames={aliceblue:"rgb(240, 248, 255)",antiquewhite:"rgb(250, 235, 215)",antiquewhite1:"rgb(255, 239, 219)",antiquewhite2:"rgb(238, 223, 204)",antiquewhite3:"rgb(205, 192, 176)",antiquewhite4:"rgb(139, 131, 120)",aquamarine:"rgb(127, 255, 212)",aquamarine1:"rgb(127, 255, 212)",aquamarine2:"rgb(118, 238, 198)",aquamarine3:"rgb(102, 205, 170)",aquamarine4:"rgb(69, 139, 116)",azure:"rgb(240, 255, 255)",azure1:"rgb(240, 255, 255)",azure2:"rgb(224, 238, 238)",azure3:"rgb(193, 205, 205)",azure4:"rgb(131, 139, 139)",beige:"rgb(245, 245, 220)",bisque:"rgb(255, 228, 196)",bisque1:"rgb(255, 228, 196)",bisque2:"rgb(238, 213, 183)",bisque3:"rgb(205, 183, 158)",bisque4:"rgb(139, 125, 107)",black:"rgb(0, 0, 0)",blanchedalmond:"rgb(255, 235, 205)",blue:"rgb(0, 0, 255)",blue1:"rgb(0, 0, 255)",blue2:"rgb(0, 0, 238)",blue3:"rgb(0, 0, 205)",blue4:"rgb(0, 0, 139)",blueviolet:"rgb(138, 43, 226)",brown:"rgb(165, 42, 42)",brown1:"rgb(255, 64, 64)",brown2:"rgb(238, 59, 59)",brown3:"rgb(205, 51, 51)",brown4:"rgb(139, 35, 35)",burlywood:"rgb(222, 184, 135)",burlywood1:"rgb(255, 211, 155)",burlywood2:"rgb(238, 197, 145)",burlywood3:"rgb(205, 170, 125)",burlywood4:"rgb(139, 115, 85)",cadetblue:"rgb(95, 158, 160)",cadetblue1:"rgb(152, 245, 255)",cadetblue2:"rgb(142, 229, 238)",cadetblue3:"rgb(122, 197, 205)",cadetblue4:"rgb(83, 134, 139)",chartreuse:"rgb(127, 255, 0)",chartreuse1:"rgb(127, 255, 0)",chartreuse2:"rgb(118, 238, 0)",chartreuse3:"rgb(102, 205, 0)",chartreuse4:"rgb(69, 139, 0)",chocolate:"rgb(210, 105, 30)",chocolate1:"rgb(255, 127, 36)",chocolate2:"rgb(238, 118, 33)",chocolate3:"rgb(205, 102, 29)",chocolate4:"rgb(139, 69, 19)",coral:"rgb(255, 127, 80)",coral1:"rgb(255, 114, 86)",coral2:"rgb(238, 106, 80)",coral3:"rgb(205, 91, 69)",coral4:"rgb(139, 62, 47)",cornflowerblue:"rgb(100, 149, 237)",cornsilk:"rgb(255, 248, 220)",cornsilk1:"rgb(255, 248, 220)",cornsilk2:"rgb(238, 232, 205)",cornsilk3:"rgb(205, 200, 177)",cornsilk4:"rgb(139, 136, 120)",cyan:"rgb(0, 255, 255)",cyan1:"rgb(0, 255, 255)",cyan2:"rgb(0, 238, 238)",cyan3:"rgb(0, 205, 205)",cyan4:"rgb(0, 139, 139)",darkblue:"rgb(0, 0, 139)",darkcyan:"rgb(0, 139, 139)",darkgoldenrod:"rgb(184, 134, 11)",darkgoldenrod1:"rgb(255, 185, 15)",darkgoldenrod2:"rgb(238, 173, 14)",darkgoldenrod3:"rgb(205, 149, 12)",darkgoldenrod4:"rgb(139, 101, 8)",darkgray:"rgb(169, 169, 169)",darkgreen:"rgb(0, 100, 0)",darkgrey:"rgb(169, 169, 169)",darkkhaki:"rgb(189, 183, 107)",darkmagenta:"rgb(139, 0, 139)",darkolivegreen:"rgb(85, 107, 47)",darkolivegreen1:"rgb(202, 255, 112)",darkolivegreen2:"rgb(188, 238, 104)",darkolivegreen3:"rgb(162, 205, 90)",darkolivegreen4:"rgb(110, 139, 61)",darkorange:"rgb(255, 140, 0)",darkorange1:"rgb(255, 127, 0)",darkorange2:"rgb(238, 118, 0)",darkorange3:"rgb(205, 102, 0)",darkorange4:"rgb(139, 69, 0)",darkorchid:"rgb(153, 50, 204)",darkorchid1:"rgb(191, 62, 255)",darkorchid2:"rgb(178, 58, 238)",darkorchid3:"rgb(154, 50, 205)",darkorchid4:"rgb(104, 34, 139)",darkred:"rgb(139, 0, 0)",darksalmon:"rgb(233, 150, 122)",darkseagreen:"rgb(143, 188, 143)",darkseagreen1:"rgb(193, 255, 193)",darkseagreen2:"rgb(180, 238, 180)",darkseagreen3:"rgb(155, 205, 155)",darkseagreen4:"rgb(105, 139, 105)",darkslateblue:"rgb(72, 61, 139)",darkslategray:"rgb(47, 79, 79)",darkslategray1:"rgb(151, 255, 255)",darkslategray2:"rgb(141, 238, 238)",darkslategray3:"rgb(121, 205, 205)",darkslategray4:"rgb(82, 139, 139)",darkslategrey:"rgb(47, 79, 79)",darkturquoise:"rgb(0, 206, 209)",darkviolet:"rgb(148, 0, 211)",debianred:"rgb(215, 7, 81)",deeppink:"rgb(255, 20, 147)",deeppink1:"rgb(255, 20, 147)",deeppink2:"rgb(238, 18, 137)",deeppink3:"rgb(205, 16, 118)",deeppink4:"rgb(139, 10, 80)",deepskyblue:"rgb(0, 191, 255)",deepskyblue1:"rgb(0, 191, 255)",deepskyblue2:"rgb(0, 178, 238)",deepskyblue3:"rgb(0, 154, 205)",deepskyblue4:"rgb(0, 104, 139)",dimgray:"rgb(105, 105, 105)",dimgrey:"rgb(105, 105, 105)",dodgerblue:"rgb(30, 144, 255)",dodgerblue1:"rgb(30, 144, 255)",dodgerblue2:"rgb(28, 134, 238)",dodgerblue3:"rgb(24, 116, 205)",dodgerblue4:"rgb(16, 78, 139)",firebrick:"rgb(178, 34, 34)",firebrick1:"rgb(255, 48, 48)",firebrick2:"rgb(238, 44, 44)",firebrick3:"rgb(205, 38, 38)",firebrick4:"rgb(139, 26, 26)",floralwhite:"rgb(255, 250, 240)",forestgreen:"rgb(34, 139, 34)",gainsboro:"rgb(220, 220, 220)",ghostwhite:"rgb(248, 248, 255)",gold:"rgb(255, 215, 0)",gold1:"rgb(255, 215, 0)",gold2:"rgb(238, 201, 0)",gold3:"rgb(205, 173, 0)",gold4:"rgb(139, 117, 0)",goldenrod:"rgb(218, 165, 32)",goldenrod1:"rgb(255, 193, 37)",goldenrod2:"rgb(238, 180, 34)",goldenrod3:"rgb(205, 155, 29)",goldenrod4:"rgb(139, 105, 20)",gray:"rgb(190, 190, 190)",gray0:"rgb(0, 0, 0)",gray1:"rgb(3, 3, 3)",gray10:"rgb(26, 26, 26)",gray100:"rgb(255, 255, 255)",gray11:"rgb(28, 28, 28)",gray12:"rgb(31, 31, 31)",gray13:"rgb(33, 33, 33)",gray14:"rgb(36, 36, 36)",gray15:"rgb(38, 38, 38)",gray16:"rgb(41, 41, 41)",gray17:"rgb(43, 43, 43)",gray18:"rgb(46, 46, 46)",gray19:"rgb(48, 48, 48)",gray2:"rgb(5, 5, 5)",gray20:"rgb(51, 51, 51)",gray21:"rgb(54, 54, 54)",gray22:"rgb(56, 56, 56)",gray23:"rgb(59, 59, 59)",gray24:"rgb(61, 61, 61)",gray25:"rgb(64, 64, 64)",gray26:"rgb(66, 66, 66)",gray27:"rgb(69, 69, 69)",gray28:"rgb(71, 71, 71)",gray29:"rgb(74, 74, 74)",gray3:"rgb(8, 8, 8)",gray30:"rgb(77, 77, 77)",gray31:"rgb(79, 79, 79)",gray32:"rgb(82, 82, 82)",gray33:"rgb(84, 84, 84)",gray34:"rgb(87, 87, 87)",gray35:"rgb(89, 89, 89)",gray36:"rgb(92, 92, 92)",gray37:"rgb(94, 94, 94)",gray38:"rgb(97, 97, 97)",gray39:"rgb(99, 99, 99)",gray4:"rgb(10, 10, 10)",gray40:"rgb(102, 102, 102)",gray41:"rgb(105, 105, 105)",gray42:"rgb(107, 107, 107)",gray43:"rgb(110, 110, 110)",gray44:"rgb(112, 112, 112)",gray45:"rgb(115, 115, 115)",gray46:"rgb(117, 117, 117)",gray47:"rgb(120, 120, 120)",gray48:"rgb(122, 122, 122)",gray49:"rgb(125, 125, 125)",gray5:"rgb(13, 13, 13)",gray50:"rgb(127, 127, 127)",gray51:"rgb(130, 130, 130)",gray52:"rgb(133, 133, 133)",gray53:"rgb(135, 135, 135)",gray54:"rgb(138, 138, 138)",gray55:"rgb(140, 140, 140)",gray56:"rgb(143, 143, 143)",gray57:"rgb(145, 145, 145)",gray58:"rgb(148, 148, 148)",gray59:"rgb(150, 150, 150)",gray6:"rgb(15, 15, 15)",gray60:"rgb(153, 153, 153)",gray61:"rgb(156, 156, 156)",gray62:"rgb(158, 158, 158)",gray63:"rgb(161, 161, 161)",gray64:"rgb(163, 163, 163)",gray65:"rgb(166, 166, 166)",gray66:"rgb(168, 168, 168)",gray67:"rgb(171, 171, 171)",gray68:"rgb(173, 173, 173)",gray69:"rgb(176, 176, 176)",gray7:"rgb(18, 18, 18)",gray70:"rgb(179, 179, 179)",gray71:"rgb(181, 181, 181)",gray72:"rgb(184, 184, 184)",gray73:"rgb(186, 186, 186)",gray74:"rgb(189, 189, 189)",gray75:"rgb(191, 191, 191)",gray76:"rgb(194, 194, 194)",gray77:"rgb(196, 196, 196)",gray78:"rgb(199, 199, 199)",gray79:"rgb(201, 201, 201)",gray8:"rgb(20, 20, 20)",gray80:"rgb(204, 204, 204)",gray81:"rgb(207, 207, 207)",gray82:"rgb(209, 209, 209)",gray83:"rgb(212, 212, 212)",gray84:"rgb(214, 214, 214)",gray85:"rgb(217, 217, 217)",gray86:"rgb(219, 219, 219)",gray87:"rgb(222, 222, 222)",gray88:"rgb(224, 224, 224)",gray89:"rgb(227, 227, 227)",gray9:"rgb(23, 23, 23)",gray90:"rgb(229, 229, 229)",gray91:"rgb(232, 232, 232)",gray92:"rgb(235, 235, 235)",gray93:"rgb(237, 237, 237)",gray94:"rgb(240, 240, 240)",gray95:"rgb(242, 242, 242)",gray96:"rgb(245, 245, 245)",gray97:"rgb(247, 247, 247)",gray98:"rgb(250, 250, 250)",gray99:"rgb(252, 252, 252)",green:"rgb(0, 255, 0)",green1:"rgb(0, 255, 0)",green2:"rgb(0, 238, 0)",green3:"rgb(0, 205, 0)",green4:"rgb(0, 139, 0)",greenyellow:"rgb(173, 255, 47)",grey:"rgb(190, 190, 190)",grey0:"rgb(0, 0, 0)",grey1:"rgb(3, 3, 3)",grey10:"rgb(26, 26, 26)",grey100:"rgb(255, 255, 255)",grey11:"rgb(28, 28, 28)",grey12:"rgb(31, 31, 31)",grey13:"rgb(33, 33, 33)",grey14:"rgb(36, 36, 36)",grey15:"rgb(38, 38, 38)",grey16:"rgb(41, 41, 41)",grey17:"rgb(43, 43, 43)",grey18:"rgb(46, 46, 46)",grey19:"rgb(48, 48, 48)",grey2:"rgb(5, 5, 5)",grey20:"rgb(51, 51, 51)",grey21:"rgb(54, 54, 54)",grey22:"rgb(56, 56, 56)",grey23:"rgb(59, 59, 59)",grey24:"rgb(61, 61, 61)",grey25:"rgb(64, 64, 64)",grey26:"rgb(66, 66, 66)",grey27:"rgb(69, 69, 69)",grey28:"rgb(71, 71, 71)",grey29:"rgb(74, 74, 74)",grey3:"rgb(8, 8, 8)",grey30:"rgb(77, 77, 77)",grey31:"rgb(79, 79, 79)",grey32:"rgb(82, 82, 82)",grey33:"rgb(84, 84, 84)",grey34:"rgb(87, 87, 87)",grey35:"rgb(89, 89, 89)",grey36:"rgb(92, 92, 92)",grey37:"rgb(94, 94, 94)",grey38:"rgb(97, 97, 97)",grey39:"rgb(99, 99, 99)",grey4:"rgb(10, 10, 10)",grey40:"rgb(102, 102, 102)",grey41:"rgb(105, 105, 105)",grey42:"rgb(107, 107, 107)",grey43:"rgb(110, 110, 110)",grey44:"rgb(112, 112, 112)",grey45:"rgb(115, 115, 115)",grey46:"rgb(117, 117, 117)",grey47:"rgb(120, 120, 120)",grey48:"rgb(122, 122, 122)",grey49:"rgb(125, 125, 125)",grey5:"rgb(13, 13, 13)",grey50:"rgb(127, 127, 127)",grey51:"rgb(130, 130, 130)",grey52:"rgb(133, 133, 133)",grey53:"rgb(135, 135, 135)",grey54:"rgb(138, 138, 138)",grey55:"rgb(140, 140, 140)",grey56:"rgb(143, 143, 143)",grey57:"rgb(145, 145, 145)",grey58:"rgb(148, 148, 148)",grey59:"rgb(150, 150, 150)",grey6:"rgb(15, 15, 15)",grey60:"rgb(153, 153, 153)",grey61:"rgb(156, 156, 156)",grey62:"rgb(158, 158, 158)",grey63:"rgb(161, 161, 161)",grey64:"rgb(163, 163, 163)",grey65:"rgb(166, 166, 166)",grey66:"rgb(168, 168, 168)",grey67:"rgb(171, 171, 171)",grey68:"rgb(173, 173, 173)",grey69:"rgb(176, 176, 176)",grey7:"rgb(18, 18, 18)",grey70:"rgb(179, 179, 179)",grey71:"rgb(181, 181, 181)",grey72:"rgb(184, 184, 184)",grey73:"rgb(186, 186, 186)",grey74:"rgb(189, 189, 189)",grey75:"rgb(191, 191, 191)",grey76:"rgb(194, 194, 194)",grey77:"rgb(196, 196, 196)",grey78:"rgb(199, 199, 199)",grey79:"rgb(201, 201, 201)",grey8:"rgb(20, 20, 20)",grey80:"rgb(204, 204, 204)",grey81:"rgb(207, 207, 207)",grey82:"rgb(209, 209, 209)",grey83:"rgb(212, 212, 212)",grey84:"rgb(214, 214, 214)",grey85:"rgb(217, 217, 217)",grey86:"rgb(219, 219, 219)",grey87:"rgb(222, 222, 222)",grey88:"rgb(224, 224, 224)",grey89:"rgb(227, 227, 227)",grey9:"rgb(23, 23, 23)",grey90:"rgb(229, 229, 229)",grey91:"rgb(232, 232, 232)",grey92:"rgb(235, 235, 235)",grey93:"rgb(237, 237, 237)",grey94:"rgb(240, 240, 240)",grey95:"rgb(242, 242, 242)",grey96:"rgb(245, 245, 245)",grey97:"rgb(247, 247, 247)",grey98:"rgb(250, 250, 250)",grey99:"rgb(252, 252, 252)",honeydew:"rgb(240, 255, 240)",honeydew1:"rgb(240, 255, 240)",honeydew2:"rgb(224, 238, 224)",honeydew3:"rgb(193, 205, 193)",honeydew4:"rgb(131, 139, 131)",hotpink:"rgb(255, 105, 180)",hotpink1:"rgb(255, 110, 180)",hotpink2:"rgb(238, 106, 167)",hotpink3:"rgb(205, 96, 144)",hotpink4:"rgb(139, 58, 98)",indianred:"rgb(205, 92, 92)",indianred1:"rgb(255, 106, 106)",indianred2:"rgb(238, 99, 99)",indianred3:"rgb(205, 85, 85)",indianred4:"rgb(139, 58, 58)",ivory:"rgb(255, 255, 240)",ivory1:"rgb(255, 255, 240)",ivory2:"rgb(238, 238, 224)",ivory3:"rgb(205, 205, 193)",ivory4:"rgb(139, 139, 131)",khaki:"rgb(240, 230, 140)",khaki1:"rgb(255, 246, 143)",khaki2:"rgb(238, 230, 133)",khaki3:"rgb(205, 198, 115)",khaki4:"rgb(139, 134, 78)",lavender:"rgb(230, 230, 250)",lavenderblush:"rgb(255, 240, 245)",lavenderblush1:"rgb(255, 240, 245)",lavenderblush2:"rgb(238, 224, 229)",lavenderblush3:"rgb(205, 193, 197)",lavenderblush4:"rgb(139, 131, 134)",lawngreen:"rgb(124, 252, 0)",lemonchiffon:"rgb(255, 250, 205)",lemonchiffon1:"rgb(255, 250, 205)",lemonchiffon2:"rgb(238, 233, 191)",lemonchiffon3:"rgb(205, 201, 165)",lemonchiffon4:"rgb(139, 137, 112)",lightblue:"rgb(173, 216, 230)",lightblue1:"rgb(191, 239, 255)",lightblue2:"rgb(178, 223, 238)",lightblue3:"rgb(154, 192, 205)",lightblue4:"rgb(104, 131, 139)",lightcoral:"rgb(240, 128, 128)",lightcyan:"rgb(224, 255, 255)",lightcyan1:"rgb(224, 255, 255)",lightcyan2:"rgb(209, 238, 238)",lightcyan3:"rgb(180, 205, 205)",lightcyan4:"rgb(122, 139, 139)",lightgoldenrod:"rgb(238, 221, 130)",lightgoldenrod1:"rgb(255, 236, 139)",lightgoldenrod2:"rgb(238, 220, 130)",lightgoldenrod3:"rgb(205, 190, 112)",lightgoldenrod4:"rgb(139, 129, 76)",lightgoldenrodyellow:"rgb(250, 250, 210)",lightgray:"rgb(211, 211, 211)",lightgreen:"rgb(144, 238, 144)",lightgrey:"rgb(211, 211, 211)",lightpink:"rgb(255, 182, 193)",lightpink1:"rgb(255, 174, 185)",lightpink2:"rgb(238, 162, 173)",lightpink3:"rgb(205, 140, 149)",lightpink4:"rgb(139, 95, 101)",lightsalmon:"rgb(255, 160, 122)",lightsalmon1:"rgb(255, 160, 122)",lightsalmon2:"rgb(238, 149, 114)",lightsalmon3:"rgb(205, 129, 98)",lightsalmon4:"rgb(139, 87, 66)",lightseagreen:"rgb(32, 178, 170)",lightskyblue:"rgb(135, 206, 250)",lightskyblue1:"rgb(176, 226, 255)",lightskyblue2:"rgb(164, 211, 238)",lightskyblue3:"rgb(141, 182, 205)",lightskyblue4:"rgb(96, 123, 139)",lightslateblue:"rgb(132, 112, 255)",lightslategray:"rgb(119, 136, 153)",lightslategrey:"rgb(119, 136, 153)",lightsteelblue:"rgb(176, 196, 222)",lightsteelblue1:"rgb(202, 225, 255)",lightsteelblue2:"rgb(188, 210, 238)",lightsteelblue3:"rgb(162, 181, 205)",lightsteelblue4:"rgb(110, 123, 139)",lightyellow:"rgb(255, 255, 224)",lightyellow1:"rgb(255, 255, 224)",lightyellow2:"rgb(238, 238, 209)",lightyellow3:"rgb(205, 205, 180)",lightyellow4:"rgb(139, 139, 122)",limegreen:"rgb(50, 205, 50)",linen:"rgb(250, 240, 230)",magenta:"rgb(255, 0, 255)",magenta1:"rgb(255, 0, 255)",magenta2:"rgb(238, 0, 238)",magenta3:"rgb(205, 0, 205)",magenta4:"rgb(139, 0, 139)",maroon:"rgb(176, 48, 96)",maroon1:"rgb(255, 52, 179)",maroon2:"rgb(238, 48, 167)",maroon3:"rgb(205, 41, 144)",maroon4:"rgb(139, 28, 98)",mediumaquamarine:"rgb(102, 205, 170)",mediumblue:"rgb(0, 0, 205)",mediumorchid:"rgb(186, 85, 211)",mediumorchid1:"rgb(224, 102, 255)",mediumorchid2:"rgb(209, 95, 238)",mediumorchid3:"rgb(180, 82, 205)",mediumorchid4:"rgb(122, 55, 139)",mediumpurple:"rgb(147, 112, 219)",mediumpurple1:"rgb(171, 130, 255)",mediumpurple2:"rgb(159, 121, 238)",mediumpurple3:"rgb(137, 104, 205)",mediumpurple4:"rgb(93, 71, 139)",mediumseagreen:"rgb(60, 179, 113)",mediumslateblue:"rgb(123, 104, 238)",mediumspringgreen:"rgb(0, 250, 154)",mediumturquoise:"rgb(72, 209, 204)",mediumvioletred:"rgb(199, 21, 133)",midnightblue:"rgb(25, 25, 112)",mintcream:"rgb(245, 255, 250)",mistyrose:"rgb(255, 228, 225)",mistyrose1:"rgb(255, 228, 225)",mistyrose2:"rgb(238, 213, 210)",mistyrose3:"rgb(205, 183, 181)",mistyrose4:"rgb(139, 125, 123)",moccasin:"rgb(255, 228, 181)",navajowhite:"rgb(255, 222, 173)",navajowhite1:"rgb(255, 222, 173)",navajowhite2:"rgb(238, 207, 161)",navajowhite3:"rgb(205, 179, 139)",navajowhite4:"rgb(139, 121, 94)",navy:"rgb(0, 0, 128)",navyblue:"rgb(0, 0, 128)",oldlace:"rgb(253, 245, 230)",olivedrab:"rgb(107, 142, 35)",olivedrab1:"rgb(192, 255, 62)",olivedrab2:"rgb(179, 238, 58)",olivedrab3:"rgb(154, 205, 50)",olivedrab4:"rgb(105, 139, 34)",orange:"rgb(255, 165, 0)",orange1:"rgb(255, 165, 0)",orange2:"rgb(238, 154, 0)",orange3:"rgb(205, 133, 0)",orange4:"rgb(139, 90, 0)",orangered:"rgb(255, 69, 0)",orangered1:"rgb(255, 69, 0)",orangered2:"rgb(238, 64, 0)",orangered3:"rgb(205, 55, 0)",orangered4:"rgb(139, 37, 0)",orchid:"rgb(218, 112, 214)",orchid1:"rgb(255, 131, 250)",orchid2:"rgb(238, 122, 233)",orchid3:"rgb(205, 105, 201)",orchid4:"rgb(139, 71, 137)",palegoldenrod:"rgb(238, 232, 170)",palegreen:"rgb(152, 251, 152)",palegreen1:"rgb(154, 255, 154)",palegreen2:"rgb(144, 238, 144)",palegreen3:"rgb(124, 205, 124)",palegreen4:"rgb(84, 139, 84)",paleturquoise:"rgb(175, 238, 238)",paleturquoise1:"rgb(187, 255, 255)",paleturquoise2:"rgb(174, 238, 238)",paleturquoise3:"rgb(150, 205, 205)",paleturquoise4:"rgb(102, 139, 139)",palevioletred:"rgb(219, 112, 147)",palevioletred1:"rgb(255, 130, 171)",palevioletred2:"rgb(238, 121, 159)",palevioletred3:"rgb(205, 104, 137)",palevioletred4:"rgb(139, 71, 93)",papayawhip:"rgb(255, 239, 213)",peachpuff:"rgb(255, 218, 185)",peachpuff1:"rgb(255, 218, 185)",peachpuff2:"rgb(238, 203, 173)",peachpuff3:"rgb(205, 175, 149)",peachpuff4:"rgb(139, 119, 101)",peru:"rgb(205, 133, 63)",pink:"rgb(255, 192, 203)",pink1:"rgb(255, 181, 197)",pink2:"rgb(238, 169, 184)",pink3:"rgb(205, 145, 158)",pink4:"rgb(139, 99, 108)",plum:"rgb(221, 160, 221)",plum1:"rgb(255, 187, 255)",plum2:"rgb(238, 174, 238)",plum3:"rgb(205, 150, 205)",plum4:"rgb(139, 102, 139)",powderblue:"rgb(176, 224, 230)",purple:"rgb(160, 32, 240)",purple1:"rgb(155, 48, 255)",purple2:"rgb(145, 44, 238)",purple3:"rgb(125, 38, 205)",purple4:"rgb(85, 26, 139)",red:"rgb(255, 0, 0)",red1:"rgb(255, 0, 0)",red2:"rgb(238, 0, 0)",red3:"rgb(205, 0, 0)",red4:"rgb(139, 0, 0)",rosybrown:"rgb(188, 143, 143)",rosybrown1:"rgb(255, 193, 193)",rosybrown2:"rgb(238, 180, 180)",rosybrown3:"rgb(205, 155, 155)",rosybrown4:"rgb(139, 105, 105)",royalblue:"rgb(65, 105, 225)",royalblue1:"rgb(72, 118, 255)",royalblue2:"rgb(67, 110, 238)",royalblue3:"rgb(58, 95, 205)",royalblue4:"rgb(39, 64, 139)",saddlebrown:"rgb(139, 69, 19)",salmon:"rgb(250, 128, 114)",salmon1:"rgb(255, 140, 105)",salmon2:"rgb(238, 130, 98)",salmon3:"rgb(205, 112, 84)",salmon4:"rgb(139, 76, 57)",sandybrown:"rgb(244, 164, 96)",seagreen:"rgb(46, 139, 87)",seagreen1:"rgb(84, 255, 159)",seagreen2:"rgb(78, 238, 148)",seagreen3:"rgb(67, 205, 128)",seagreen4:"rgb(46, 139, 87)",seashell:"rgb(255, 245, 238)",seashell1:"rgb(255, 245, 238)",seashell2:"rgb(238, 229, 222)",seashell3:"rgb(205, 197, 191)",seashell4:"rgb(139, 134, 130)",sienna:"rgb(160, 82, 45)",sienna1:"rgb(255, 130, 71)",sienna2:"rgb(238, 121, 66)",sienna3:"rgb(205, 104, 57)",sienna4:"rgb(139, 71, 38)",skyblue:"rgb(135, 206, 235)",skyblue1:"rgb(135, 206, 255)",skyblue2:"rgb(126, 192, 238)",skyblue3:"rgb(108, 166, 205)",skyblue4:"rgb(74, 112, 139)",slateblue:"rgb(106, 90, 205)",slateblue1:"rgb(131, 111, 255)",slateblue2:"rgb(122, 103, 238)",slateblue3:"rgb(105, 89, 205)",slateblue4:"rgb(71, 60, 139)",slategray:"rgb(112, 128, 144)",slategray1:"rgb(198, 226, 255)",slategray2:"rgb(185, 211, 238)",slategray3:"rgb(159, 182, 205)",slategray4:"rgb(108, 123, 139)",slategrey:"rgb(112, 128, 144)",snow:"rgb(255, 250, 250)",snow1:"rgb(255, 250, 250)",snow2:"rgb(238, 233, 233)",snow3:"rgb(205, 201, 201)",snow4:"rgb(139, 137, 137)",springgreen:"rgb(0, 255, 127)",springgreen1:"rgb(0, 255, 127)",springgreen2:"rgb(0, 238, 118)",springgreen3:"rgb(0, 205, 102)",springgreen4:"rgb(0, 139, 69)",steelblue:"rgb(70, 130, 180)",steelblue1:"rgb(99, 184, 255)",steelblue2:"rgb(92, 172, 238)",steelblue3:"rgb(79, 148, 205)",steelblue4:"rgb(54, 100, 139)",tan:"rgb(210, 180, 140)",tan1:"rgb(255, 165, 79)",tan2:"rgb(238, 154, 73)",tan3:"rgb(205, 133, 63)",tan4:"rgb(139, 90, 43)",thistle:"rgb(216, 191, 216)",thistle1:"rgb(255, 225, 255)",thistle2:"rgb(238, 210, 238)",thistle3:"rgb(205, 181, 205)",thistle4:"rgb(139, 123, 139)",tomato:"rgb(255, 99, 71)",tomato1:"rgb(255, 99, 71)",tomato2:"rgb(238, 92, 66)",tomato3:"rgb(205, 79, 57)",tomato4:"rgb(139, 54, 38)",turquoise:"rgb(64, 224, 208)",turquoise1:"rgb(0, 245, 255)",turquoise2:"rgb(0, 229, 238)",turquoise3:"rgb(0, 197, 205)",turquoise4:"rgb(0, 134, 139)",violet:"rgb(238, 130, 238)",violetred:"rgb(208, 32, 144)",violetred1:"rgb(255, 62, 150)",violetred2:"rgb(238, 58, 140)",violetred3:"rgb(205, 50, 120)",violetred4:"rgb(139, 34, 82)",wheat:"rgb(245, 222, 179)",wheat1:"rgb(255, 231, 186)",wheat2:"rgb(238, 216, 174)",wheat3:"rgb(205, 186, 150)",wheat4:"rgb(139, 126, 102)",white:"rgb(255, 255, 255)",whitesmoke:"rgb(245, 245, 245)",yellow:"rgb(255, 255, 0)",yellow1:"rgb(255, 255, 0)",yellow2:"rgb(238, 238, 0)",yellow3:"rgb(205, 205, 0)",yellow4:"rgb(139, 139, 0)",yellowgreen:"rgb(154, 205, 50)"},i.f={},i.f.createEnum=function(e){return new String(e)},i.f.replaceVars=function(e,t){return e.replace(/%([a-z]*)\(([^\)]+)\)/gi,function(e,r,o){if(void 0===t[o])throw"Unknown variable: "+o;var s=t[o];if(r in i.f.replaceVars.functions)s=i.f.replaceVars.functions[r](s);else if(r)throw"Unknown escape function: "+r;return s})},i.f.replaceVars.functions={encodeURI:encodeURI,encodeURIComponent:encodeURIComponent,escapeHTML:function(e){var t={"<":"<",">":">","&":"&",'"':""","'":"'"};return e.replace(/[<>&\"\']/g,function(e){return t[e]})}},i.f.getAcceptLanguages=function(e){i.f.getAcceptLanguages.chromeSupported()?chrome.i18n.getAcceptLanguages(e):setTimeout(function(){e([navigator.language.replace(/-/g,"_")])},0)},i.f.getAcceptLanguages.chromeSupported=function(){return window.chrome&&chrome.i18n},i.f.parseQuery=function(e){e.startsWith("?")&&(e=e.substr(1));for(var t={},r=e.split("&"),i=0;ir?r:e},i.f.zpad=function(e,t){return String(e).padStart(t,"0")},i.f.getWhitespace=function(e){if(e<=0)return"";var t=this.getWhitespace;for(t.whitespace||(t.whitespace=" ");e>t.whitespace.length;)t.whitespace+=t.whitespace;return t.whitespace.substr(0,e)},i.f.alarm=function(e,t){var r=t||5e3,o=i.f.getStack(1);return function(){var t=setTimeout(function(){var i="string"==typeof e?i:e.name;i=i?": "+i:"",console.warn("lib.f.alarm: timeout expired: "+r/1e3+"s"+i),console.log(o),t=null},r),i=function(e){return function(){return t&&(clearTimeout(t),t=null),e.apply(null,arguments)}};return"string"==typeof e?i:i(e)}()},i.f.getStack=function(e){var t,r=e?e+2:2;try{throw new Error}catch(e){t=e.stack.split("\n")}for(var i={},o=r;o=0&&this.observers.splice(t,1)},i.PreferenceManager.Record.prototype.get=function(){return this.currentValue===this.DEFAULT_VALUE?/^(string|number)$/.test(typeof this.defaultValue)?this.defaultValue:"object"==typeof this.defaultValue?JSON.parse(JSON.stringify(this.defaultValue)):this.defaultValue:this.currentValue},i.PreferenceManager.prototype.deactivate=function(){if(!this.isActive_)throw new Error("Not activated");this.isActive_=!1,this.storage.removeObserver(this.storageObserver_)},i.PreferenceManager.prototype.activate=function(){if(this.isActive_)throw new Error("Already activated");this.isActive_=!0,this.storage.addObserver(this.storageObserver_)},i.PreferenceManager.prototype.readStorage=function(e){function t(){0==--r&&e&&e()}var r=0,i=Object.keys(this.prefRecords_).map(function(e){return this.prefix+e}.bind(this));this.trace&&console.log("Preferences read: "+this.prefix),this.storage.getItems(i,function(i){var o=this.prefix.length;for(var s in i){var n=i[s],a=s.substr(o),l=a in this.childLists_&&JSON.stringify(n)!=JSON.stringify(this.prefRecords_[a].currentValue);this.prefRecords_[a].currentValue=n,l&&(r++,this.syncChildList(a,t))}0==r&&e&&setTimeout(e)}.bind(this))},i.PreferenceManager.prototype.definePreference=function(e,t,r){var o=this.prefRecords_[e];o?this.changeDefault(e,t):o=this.prefRecords_[e]=new i.PreferenceManager.Record(e,t),r&&o.addObserver(r)},i.PreferenceManager.prototype.definePreferences=function(e){for(var t=0;t=0&&s.splice(l,1),!this.childLists_[e][a]){var h=this.childFactories_[e](this,a);if(!h){console.warn("Unable to restore child: "+e+": "+a);continue}h.trace=this.trace,this.childLists_[e][a]=h,r++,h.readStorage(function(){0==--r&&t&&t()})}}for(n=0;n=0;i--){var o=e[i],s=this.storage_.getItem(o);if("string"==typeof s)try{r[o]=JSON.parse(s)}catch(e){r[o]=s}else e.splice(i,1)}setTimeout(t.bind(null,r),0)},i.Storage.Local.prototype.setItem=function(e,t,r){this.storage_.setItem(e,JSON.stringify(t)),r&&setTimeout(r,0)},i.Storage.Local.prototype.setItems=function(e,t){for(var r in e)this.storage_.setItem(r,JSON.stringify(e[r]));t&&setTimeout(t,0)},i.Storage.Local.prototype.removeItem=function(e,t){this.storage_.removeItem(e),t&&setTimeout(t,0)},i.Storage.Local.prototype.removeItems=function(e,t){for(var r=0;r=0;i--){var o=e[i],s=this.storage_[o];if("string"==typeof s)try{r[o]=JSON.parse(s)}catch(e){r[o]=s}else e.splice(i,1)}setTimeout(t.bind(null,r),0)},i.Storage.Memory.prototype.setItem=function(e,t,r){var i=this.storage_[e];this.storage_[e]=JSON.stringify(t);var o={};o[e]={oldValue:i,newValue:t},setTimeout(function(){for(var e=0;e{let t="";switch(e){case"debug":case"warn":case"error":t=e.toUpperCase()+": "}const r=this.console_[e];this[e]=this.console_[e]=((...e)=>{this.save&&(this.data+=this.prefix_+t+e.join(" ")+"\n"),r.apply(this.console_,e)})}),["group","groupCollapsed"].forEach(e=>{const t=this.console_[e];this[e]=this.console_[e]=((e="")=>{t(e),this.save&&(this.data+=this.prefix_+e+"\n"),this.prefix_=" ".repeat(++this.prefixStack_)})});const t=this.console_.groupEnd;this.groupEnd=this.console_.groupEnd=(()=>{t(),this.prefix_=" ".repeat(--this.prefixStack_)})},i.TestManager.Suite=function(e){function t(t,r){this.testManager_=t,this.suiteName=e,this.setup(r)}return t.suiteName=e,t.addTest=i.TestManager.Suite.addTest,t.disableTest=i.TestManager.Suite.disableTest,t.getTest=i.TestManager.Suite.getTest,t.getTestList=i.TestManager.Suite.getTestList,t.testList_=[],t.testMap_={},t.prototype=Object.create(i.TestManager.Suite.prototype),t.constructor=i.TestManager.Suite,i.TestManager.Suite.subclasses.push(t),t},i.TestManager.Suite.subclasses=[],i.TestManager.Suite.addTest=function(e,t){if(e in this.testMap_)throw"Duplicate test name: "+e;var r=new i.TestManager.Test(this,e,t);this.testMap_[e]=r,this.testList_.push(r)},i.TestManager.Suite.disableTest=function(e,t){if(e in this.testMap_)throw"Duplicate test name: "+e;var r=new i.TestManager.Test(this,e,t);console.log("Disabled test: "+r.fullName)},i.TestManager.Suite.getTest=function(e){return this.testMap_[e]},i.TestManager.Suite.getTestList=function(){return this.testList_},i.TestManager.Suite.prototype.setDefaults=function(e,t){for(var r in t)this[r]=r in e?e[r]:t[r]},i.TestManager.Suite.prototype.setup=function(e){},i.TestManager.Suite.prototype.preamble=function(e,t){},i.TestManager.Suite.prototype.postamble=function(e,t){},i.TestManager.Test=function(e,t,r){this.suiteClass=e,this.testName=t,this.fullName=e.suiteName+"["+t+"]",this.testFunction_=r},i.TestManager.Test.prototype.run=function(e){try{this.testFunction_.apply(e.suite,[e,e.testRun.cx])}catch(t){if(t instanceof i.TestManager.Result.TestComplete)return;e.println("Test raised an exception: "+t),t.stack&&(t.stack instanceof Array?e.println(t.stack.join("\n")):e.println(t.stack)),e.completeTest_(e.FAILED,!1)}},i.TestManager.TestRun=function(e,t){this.testManager=e,this.log=e.log,this.cx=t||{},this.failures=[],this.passes=[],this.startDate=null,this.duration=null,this.currentResult=null,this.maxFailures=0,this.panic=!1,this.testQueue_=[]},i.TestManager.TestRun.prototype.ALL_TESTS=i.f.createEnum(""),i.TestManager.TestRun.prototype.selectTest=function(e){this.testQueue_.push(e)},i.TestManager.TestRun.prototype.selectSuite=function(e,t){for(var r=t||this.ALL_TESTS,i=0,o=e.getTestList(),s=0;s500&&this.log.warn("Slow test took "+this.msToSeconds_(e.duration)),this.log.groupEnd(),e.status==e.FAILED)this.failures.push(e),this.currentSuite=null;else{if(e.status!=e.PASSED)return this.log.error("Unknown result status: "+e.test.fullName+": "+e.status),this.panic=!0;this.passes.push(e)}this.runNextTest_()},i.TestManager.TestRun.prototype.onResultReComplete=function(e,t){this.log.error("Late complete for test: "+e.test.fullName+": "+t);var r=this.passes.indexOf(e);r>=0&&(this.passes.splice(r,1),this.failures.push(e))},i.TestManager.TestRun.prototype.runNextTest_=function(){if(this.panic||!this.testQueue_.length)return this.onTestRunComplete_();if(this.maxFailures&&this.failures.length>=this.maxFailures)return this.log.error("Maximum failure count reached, aborting test run."),this.onTestRunComplete_();var e=this.testQueue_[0],t=this.currentResult?this.currentResult.suite:null;try{t&&t instanceof e.suiteClass||(t&&this.log.groupEnd(),this.log.group(e.suiteClass.suiteName),t=new e.suiteClass(this.testManager,this.cx))}catch(e){return this.log.error("Exception during setup: "+(e.stack?e.stack:e)),this.panic=!0,void this.onTestRunComplete_()}try{this.log.group(e.testName),this.currentResult=new i.TestManager.Result(this,t,e),this.testManager.testPreamble(this.currentResult,this.cx),t.preamble(this.currentResult,this.cx),this.testQueue_.shift()}catch(e){return this.log.error("Unexpected exception during test preamble: "+(e.stack?e.stack:e)),this.log.groupEnd(),this.panic=!0,void this.onTestRunComplete_()}try{this.currentResult.run()}catch(e){this.log.error("Unexpected exception during test run: "+(e.stack?e.stack:e)),this.panic=!0}},i.TestManager.TestRun.prototype.run=function(){this.log.info("Running "+this.testQueue_.length+" test(s)"),window.onerror=this.onUncaughtException_.bind(this),this.startDate=new Date,this.runNextTest_()},i.TestManager.TestRun.prototype.msToSeconds_=function(e){return(e/1e3).toFixed(2)+"s"},i.TestManager.TestRun.prototype.summarize=function(){if(this.failures.length)for(var e=0;e1?"\n"+t.join("\n"):t.join("\n")}if(e!==t&&!(t instanceof Array&&this.arrayEQ_(e,t))){var o=r?"["+r+"]":"";this.fail("assertEQ"+o+": "+this.getCallerLocation_(1)+": "+i(e)+" !== "+i(t))}},i.TestManager.Result.prototype.assert=function(e,t){if(!0!==e){var r=t?"["+t+"]":"";this.fail("assert"+r+": "+this.getCallerLocation_(1)+": "+String(e))}},i.TestManager.Result.prototype.getCallerLocation_=function(e){try{throw new Error}catch(r){var t=r.stack.split("\n")[e+2].match(/([^/]+:\d+):\d+\)?$/);return t?t[1]:"???"}},i.TestManager.Result.prototype.println=function(e){this.testRun.log.info(e)},i.TestManager.Result.prototype.fail=function(e){arguments.length&&this.println(e),this.completeTest_(this.FAILED,!0)},i.TestManager.Result.prototype.pass=function(){this.completeTest_(this.PASSED,!0)},i.UTF8Decoder=function(){this.bytesLeft=0,this.codePoint=0,this.lowerBound=0},i.UTF8Decoder.prototype.decode=function(e){for(var t="",r=0;r1114111?t+="�":o<65536?t+=String.fromCharCode(o):(o-=65536,t+=String.fromCharCode(55296+(o>>>10&1023),56320+(1023&o)))}}else t+="�",this.bytesLeft=0,r--}return t},i.decodeUTF8=function(e){return(new i.UTF8Decoder).decode(e)},i.encodeUTF8=function(e){for(var t="",r=0;r>>6),s=1):i<=65535?(t+=String.fromCharCode(224|i>>>12),s=2):(t+=String.fromCharCode(240|i>>>18),s=3);s>0;)s--,t+=String.fromCharCode(128|i>>>6*s&63)}return t},i.wc={},i.wc.nulWidth=0,i.wc.controlWidth=0,i.wc.regardCjkAmbiguous=!1,i.wc.cjkAmbiguousWidth=2,i.wc.combining=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],i.wc.ambiguous=[[161,161],[164,164],[167,168],[170,170],[174,174],[176,180],[182,186],[188,191],[198,198],[208,208],[215,216],[222,225],[230,230],[232,234],[236,237],[240,240],[242,243],[247,250],[252,252],[254,254],[257,257],[273,273],[275,275],[283,283],[294,295],[299,299],[305,307],[312,312],[319,322],[324,324],[328,331],[333,333],[338,339],[358,359],[363,363],[462,462],[464,464],[466,466],[468,468],[470,470],[472,472],[474,474],[476,476],[593,593],[609,609],[708,708],[711,711],[713,715],[717,717],[720,720],[728,731],[733,733],[735,735],[913,929],[931,937],[945,961],[963,969],[1025,1025],[1040,1103],[1105,1105],[8208,8208],[8211,8214],[8216,8217],[8220,8221],[8224,8226],[8228,8231],[8240,8240],[8242,8243],[8245,8245],[8251,8251],[8254,8254],[8308,8308],[8319,8319],[8321,8324],[8364,8364],[8451,8451],[8453,8453],[8457,8457],[8467,8467],[8470,8470],[8481,8482],[8486,8486],[8491,8491],[8531,8532],[8539,8542],[8544,8555],[8560,8569],[8592,8601],[8632,8633],[8658,8658],[8660,8660],[8679,8679],[8704,8704],[8706,8707],[8711,8712],[8715,8715],[8719,8719],[8721,8721],[8725,8725],[8730,8730],[8733,8736],[8739,8739],[8741,8741],[8743,8748],[8750,8750],[8756,8759],[8764,8765],[8776,8776],[8780,8780],[8786,8786],[8800,8801],[8804,8807],[8810,8811],[8814,8815],[8834,8835],[8838,8839],[8853,8853],[8857,8857],[8869,8869],[8895,8895],[8978,8978],[9312,9449],[9451,9547],[9552,9587],[9600,9615],[9618,9621],[9632,9633],[9635,9641],[9650,9651],[9654,9655],[9660,9661],[9664,9665],[9670,9672],[9675,9675],[9678,9681],[9698,9701],[9711,9711],[9733,9734],[9737,9737],[9742,9743],[9748,9749],[9756,9756],[9758,9758],[9792,9792],[9794,9794],[9824,9825],[9827,9829],[9831,9834],[9836,9837],[9839,9839],[10045,10045],[10102,10111],[57344,63743],[65533,65533],[983040,1048573],[1048576,1114109]],i.wc.isSpace=function(e){var t,r=0,o=i.wc.combining.length-1;if(ei.wc.combining[o][1])return!1;for(;o>=r;)if(t=Math.floor((r+o)/2),e>i.wc.combining[t][1])r=t+1;else{if(!(ei.wc.ambiguous[o][1])return!1;for(;o>=r;)if(t=Math.floor((r+o)/2),e>i.wc.ambiguous[t][1])r=t+1;else{if(!(e=127&&e<160?i.wc.controlWidth:e<127?1:i.wc.isSpace(e)?0:1+(e>=4352&&(e<=4447||9001==e||9002==e||e>=11904&&e<=42191&&12351!=e||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072&&e<=196605||e>=196608&&e<=262141))},i.wc.charWidthRegardAmbiguous=function(e){return i.wc.isCjkAmbiguous(e)?i.wc.cjkAmbiguousWidth:i.wc.charWidthDisregardAmbiguous(e)},i.wc.strWidth=function(e){for(var t,r=0,o=0;ot);o++);if(void 0!=r){for(s=o,n=0;sr&&s--,e.substring(o,s)}return e.substr(o)},i.wc.substring=function(e,t,r){return i.wc.substr(e,t,r-t)},i.resource.add("libdot/changelog/version","text/plain","1.16"),i.resource.add("libdot/changelog/date","text/plain","2017-08-16"),i.rtdep("lib.Storage");var o={};o.windowType=null,o.zoomWarningMessage="ZOOM != 100%",o.notifyCopyMessage="✂",o.desktopNotificationTitle="♪ %(title) ♪",o.testDeps=["hterm.ScrollPort.Tests","hterm.Screen.Tests","hterm.Terminal.Tests","hterm.VT.Tests","hterm.VT.CannedTests"],i.registerInit("hterm",function(e){function t(t){o.windowType=t.type,setTimeout(e,0)}o.defaultStorage||(window.chrome&&chrome.storage&&chrome.storage.sync?o.defaultStorage=new i.Storage.Chrome(chrome.storage.sync):o.defaultStorage=new i.Storage.Local);var r=!1;if(window.chrome&&chrome.runtime&&chrome.runtime.getManifest){var s=chrome.runtime.getManifest();r=s.app&&s.app.background}r?setTimeout(t.bind(null,{type:"popup"}),0):window.chrome&&chrome.tabs?chrome.tabs.getCurrent(function(r){r&&window.chrome?chrome.windows.get(r.windowId,null,t):(o.windowType="normal",setTimeout(e,0))}):setTimeout(t.bind(null,{type:"normal"}),0)}),o.getClientSize=function(e){return e.getBoundingClientRect()},o.getClientWidth=function(e){return e.getBoundingClientRect().width},o.getClientHeight=function(e){return e.getBoundingClientRect().height},o.copySelectionToClipboard=function(e){try{e.execCommand("copy")}catch(e){}},o.pasteFromClipboard=function(e){try{return e.execCommand("paste")}catch(e){return!1}},o.notify=function(e){var t=(e,t)=>void 0!==e?e:t;void 0!==e&&null!==e||(e={});var r={body:e.body,icon:t(e.icon,i.resource.getDataUrl("hterm/images/icon-96"))},s=t(e.title,window.document.title);s||(s="hterm"),s=i.f.replaceVars(o.desktopNotificationTitle,{title:s});var n=new Notification(s,r);return n.onclick=function(){window.focus(),this.close()},n},o.Size=function(e,t){this.width=e,this.height=t},o.Size.prototype.resize=function(e,t){this.width=e,this.height=t},o.Size.prototype.clone=function(){return new o.Size(this.width,this.height)},o.Size.prototype.setTo=function(e){this.width=e.width,this.height=e.height},o.Size.prototype.equals=function(e){return this.width==e.width&&this.height==e.height},o.Size.prototype.toString=function(){return"[hterm.Size: "+this.width+", "+this.height+"]"},o.RowCol=function(e,t,r){this.row=e,this.column=t,this.overflow=!!r},o.RowCol.prototype.move=function(e,t,r){this.row=e,this.column=t,this.overflow=!!r},o.RowCol.prototype.clone=function(){return new o.RowCol(this.row,this.column,this.overflow)},o.RowCol.prototype.setTo=function(e){this.row=e.row,this.column=e.column,this.overflow=e.overflow},o.RowCol.prototype.equals=function(e){return this.row==e.row&&this.column==e.column&&this.overflow==e.overflow},o.RowCol.prototype.toString=function(){return"[hterm.RowCol: "+this.row+", "+this.column+", "+this.overflow+"]"},i.rtdep("lib.f"),o.Frame=function(e,t,r){this.terminal_=e,this.div_=e.div_,this.url=t,this.options=r||{},this.iframe_=null,this.container_=null,this.messageChannel_=null},o.Frame.prototype.onMessage_=function(e){switch(e.data.name){case"ipc-init-ok":return void this.sendTerminalInfo_();case"terminal-info-ok":return this.container_.style.display="flex",this.messageChannel_.port1.onmessage=this.onMessage.bind(this),void this.onLoad();default:return void console.log("Unknown message from frame:",e.data)}},o.Frame.prototype.onMessage=function(){},o.Frame.prototype.onLoad_=function(){this.messageChannel_=new MessageChannel,this.messageChannel_.port1.onmessage=this.onMessage_.bind(this),this.messageChannel_.port1.start(),this.iframe_.contentWindow.postMessage({name:"ipc-init",argv:[{messagePort:this.messageChannel_.port2}]},this.url,[this.messageChannel_.port2])},o.Frame.prototype.onLoad=function(){},o.Frame.prototype.sendTerminalInfo_=function(){i.f.getAcceptLanguages(function(e){this.postMessage("terminal-info",[{acceptLanguages:e,foregroundColor:this.terminal_.getForegroundColor(),backgroundColor:this.terminal_.getBackgroundColor(),cursorColor:this.terminal_.getCursorColor(),fontSize:this.terminal_.getFontSize(),fontFamily:this.terminal_.getFontFamily(),baseURL:i.f.getURL("/")}])}.bind(this))},o.Frame.prototype.onCloseClicked_=function(){this.close()},o.Frame.prototype.close=function(){this.container_&&this.container_.parentNode&&(this.container_.parentNode.removeChild(this.container_),this.onClose())},o.Frame.prototype.onClose=function(){},o.Frame.prototype.postMessage=function(e,t){if(!this.messageChannel_)throw new Error("Message channel is not set up.");this.messageChannel_.port1.postMessage({name:e,argv:t})},o.Frame.prototype.show=function(){function e(e,r){return e in t.options?t.options[e]:r}var t=this,t=this;if(this.container_&&this.container_.parentNode)console.error("Frame already visible");else{var r=o.getClientSize(this.div_),i=e("width",640),s=e("height",480),n=(r.width,r.height,this.terminal_.document_),a=this.container_=n.createElement("div");a.style.cssText="position: absolute;display: none;flex-direction: column;top: 10%;left: 4%;width: 90%;height: 80%;min-height: 20%;max-height: 80%;box-shadow: 0 0 2px "+this.terminal_.getForegroundColor()+";border: 2px "+this.terminal_.getForegroundColor()+" solid;";var l=this.iframe_=n.createElement("iframe");l.onload=this.onLoad_.bind(this),l.style.cssText="display: flex;flex: 1;width: 100%",l.setAttribute("src",this.url),l.setAttribute("seamless",!0),a.appendChild(l),this.div_.appendChild(a)}},i.rtdep("hterm.Keyboard.KeyMap"),o.Keyboard=function(e){this.terminal=e,this.keyboardElement_=null,this.handlers_=[["focusout",this.onFocusOut_.bind(this)],["keydown",this.onKeyDown_.bind(this)],["keypress",this.onKeyPress_.bind(this)],["keyup",this.onKeyUp_.bind(this)],["textInput",this.onTextInput_.bind(this)]],this.keyMap=new o.Keyboard.KeyMap(this),this.bindings=new o.Keyboard.Bindings(this),this.altGrMode="none",this.shiftInsertPaste=!0,this.homeKeysScroll=!1,this.pageKeysScroll=!1,this.ctrlPlusMinusZeroZoom=!0,this.ctrlCCopy=!1,this.ctrlVPaste=!1,this.applicationKeypad=!1,this.applicationCursor=!1,this.backspaceSendsBackspace=!1,this.characterEncoding="utf-8",this.metaSendsEscape=!0,this.passMetaV=!0,this.altSendsWhat="escape",this.altIsMeta=!1,this.altBackspaceIsMetaBackspace=!1,this.altKeyPressed=0,this.mediaKeysAreFKeys=!1,this.previousAltSendsWhat_=null},o.Keyboard.KeyActions={CANCEL:i.f.createEnum("CANCEL"),DEFAULT:i.f.createEnum("DEFAULT"),PASS:i.f.createEnum("PASS"),STRIP:i.f.createEnum("STRIP")},o.Keyboard.prototype.encode=function(e){return"utf-8"==this.characterEncoding?this.terminal.vt.encodeUTF8(e):e},o.Keyboard.prototype.installKeyboard=function(e){if(e!=this.keyboardElement_){e&&this.keyboardElement_&&this.installKeyboard(null);for(var t=0;t=32&&(r=e.charCode);r&&this.terminal.onVTKeystroke(String.fromCharCode(r)),e.preventDefault(),e.stopPropagation()}},o.Keyboard.prototype.preventChromeAppNonCtrlShiftDefault_=function(e){window.chrome&&window.chrome.app&&window.chrome.app.window&&(e.ctrlKey&&e.shiftKey||e.preventDefault())},o.Keyboard.prototype.onFocusOut_=function(e){this.altKeyPressed=0},o.Keyboard.prototype.onKeyUp_=function(e){18==e.keyCode&&(this.altKeyPressed=this.altKeyPressed&~(1<=64&&_<=95&&(f=String.fromCharCode(_-64))),u&&"8-bit"==this.altSendsWhat&&1==f.length){var _=f.charCodeAt(0)+128;f=String.fromCharCode(_)}(u&&"escape"==this.altSendsWhat||p&&this.metaSendsEscape)&&(f=""+f)}this.terminal.onVTKeystroke(f)}else console.warn("Invalid action: "+JSON.stringify(f))}else console.warn("No definition for keyCode: "+e.keyCode)},o.Keyboard.Bindings=function(){this.bindings_={}},o.Keyboard.Bindings.prototype.clear=function(){this.bindings_={}},o.Keyboard.Bindings.prototype.addBinding_=function(e,t){var r=null,i=this.bindings_[e.keyCode];if(i)for(var s=0;s",p,s(f,d),p,p],[191,"/?",p,i(a("_"),a("?")),p,p],[17,"[CTRL]",d,d,d,d],[18,"[ALT]",d,d,d,d],[91,"[LAPL]",d,d,d,d],[32," ",p,a("@"),p,p],[92,"[RAPL]",d,d,d,d],[93,"[RMENU]",d,d,d,d],[42,"[PRTSCR]",d,d,d,d],[145,"[SCRLK]",d,d,d,d],[19,"[BREAK]",d,d,d,d],[45,"[INSERT]",l("onKeyInsert_"),p,p,p],[36,"[HOME]",l("onKeyHome_"),p,p,p],[33,"[PGUP]",l("onKeyPageUp_"),p,p,p],[46,"[DEL]",l("onKeyDel_"),p,p,p],[35,"[END]",l("onKeyEnd_"),p,p,p],[34,"[PGDOWN]",l("onKeyPageDown_"),p,p,p],[38,"[UP]",l("onKeyArrowUp_"),p,p,p],[40,"[DOWN]",l("onKeyArrowDown_"),p,p,p],[39,"[RIGHT]",t("","OC"),p,p,p],[37,"[LEFT]",t("","OD"),p,p,p],[144,"[NUMLOCK]",d,d,d,d],[96,"[KP0]",p,p,p,p],[97,"[KP1]",p,p,p,p],[98,"[KP2]",p,p,p,p],[99,"[KP3]",p,p,p,p],[100,"[KP4]",p,p,p,p],[101,"[KP5]",p,p,p,p],[102,"[KP6]",p,p,p,p],[103,"[KP7]",p,p,p,p],[104,"[KP8]",p,p,p,p],[105,"[KP9]",p,p,p,p],[107,"[KP+]",p,l("onPlusMinusZero_"),p,l("onPlusMinusZero_")],[109,"[KP-]",p,l("onPlusMinusZero_"),p,l("onPlusMinusZero_")],[106,"[KP*]",p,p,p,p],[111,"[KP/]",p,p,p,p],[110,"[KP.]",p,p,p,p],[166,"[BACK]",h(n("OP","")),p,"[23~",p],[167,"[FWD]",h(n("OQ","")),p,"[24~",p],[168,"[RELOAD]",h(n("OR","")),p,"[25~",p],[183,"[FSCR]",h(n("OS","")),p,"[26~",p],[182,"[WINS]",h("[15~"),p,"[28~",p],[216,"[BRIT-]",h("[17~"),p,"[29~",p],[217,"[BRIT+]",h("[18~"),p,"[31~",p])},o.Keyboard.KeyMap.prototype.onKeyInsert_=function(e){return this.keyboard.shiftInsertPaste&&e.shiftKey?o.Keyboard.KeyActions.PASS:"[2~"},o.Keyboard.KeyMap.prototype.onKeyHome_=function(e){return!this.keyboard.homeKeysScroll^e.shiftKey?e.altey||e.ctrlKey||e.shiftKey||!this.keyboard.applicationCursor?"":"OH":(this.keyboard.terminal.scrollHome(),o.Keyboard.KeyActions.CANCEL)},o.Keyboard.KeyMap.prototype.onKeyEnd_=function(e){return!this.keyboard.homeKeysScroll^e.shiftKey?e.altKey||e.ctrlKey||e.shiftKey||!this.keyboard.applicationCursor?"":"OF":(this.keyboard.terminal.scrollEnd(),o.Keyboard.KeyActions.CANCEL)},o.Keyboard.KeyMap.prototype.onKeyPageUp_=function(e){return!this.keyboard.pageKeysScroll^e.shiftKey?"[5~":(this.keyboard.terminal.scrollPageUp(),o.Keyboard.KeyActions.CANCEL)},o.Keyboard.KeyMap.prototype.onKeyDel_=function(e){return this.keyboard.altBackspaceIsMetaBackspace&&this.keyboard.altKeyPressed&&!e.altKey?"":"[3~"},o.Keyboard.KeyMap.prototype.onKeyPageDown_=function(e){return!this.keyboard.pageKeysScroll^e.shiftKey?"[6~":(this.keyboard.terminal.scrollPageDown(),o.Keyboard.KeyActions.CANCEL)},o.Keyboard.KeyMap.prototype.onKeyArrowUp_=function(e){return!this.keyboard.applicationCursor&&e.shiftKey?(this.keyboard.terminal.scrollLineUp(),o.Keyboard.KeyActions.CANCEL):e.shiftKey||e.ctrlKey||e.altKey||e.metaKey||!this.keyboard.applicationCursor?"":"OA"},o.Keyboard.KeyMap.prototype.onKeyArrowDown_=function(e){return!this.keyboard.applicationCursor&&e.shiftKey?(this.keyboard.terminal.scrollLineDown(),o.Keyboard.KeyActions.CANCEL):e.shiftKey||e.ctrlKey||e.altKey||e.metaKey||!this.keyboard.applicationCursor?"":"OB"},o.Keyboard.KeyMap.prototype.onClear_=function(e,t){return this.keyboard.terminal.wipeContents(),o.Keyboard.KeyActions.CANCEL},o.Keyboard.KeyMap.prototype.onCtrlNum_=function(e,t){function r(e){return String.fromCharCode(e.charCodeAt(0)-64)}if(this.keyboard.terminal.passCtrlNumber&&!e.shiftKey)return o.Keyboard.KeyActions.PASS;switch(t.keyCap.substr(0,1)){case"1":return"1";case"2":return r("@");case"3":return r("[");case"4":return r("\\");case"5":return r("]");case"6":return r("^");case"7":return r("_");case"8":return"";case"9":return"9"}},o.Keyboard.KeyMap.prototype.onAltNum_=function(e,t){return this.keyboard.terminal.passAltNumber&&!e.shiftKey?o.Keyboard.KeyActions.PASS:o.Keyboard.KeyActions.DEFAULT},o.Keyboard.KeyMap.prototype.onMetaNum_=function(e,t){return this.keyboard.terminal.passMetaNumber&&!e.shiftKey?o.Keyboard.KeyActions.PASS:o.Keyboard.KeyActions.DEFAULT},o.Keyboard.KeyMap.prototype.onCtrlC_=function(e,t){var r=this.keyboard.terminal.getDocument().getSelection();if(!r.isCollapsed){if(this.keyboard.ctrlCCopy&&!e.shiftKey)return this.keyboard.terminal.clearSelectionAfterCopy&&setTimeout(r.collapseToEnd.bind(r),50),o.Keyboard.KeyActions.PASS;if(!this.keyboard.ctrlCCopy&&e.shiftKey)return this.keyboard.terminal.clearSelectionAfterCopy&&setTimeout(r.collapseToEnd.bind(r),50),this.keyboard.terminal.copySelectionToClipboard(),o.Keyboard.KeyActions.CANCEL}return""},o.Keyboard.KeyMap.prototype.onCtrlN_=function(e,t){return e.shiftKey?(window.open(document.location.href,"","chrome=no,close=yes,resize=yes,scrollbars=yes,minimizable=yes,width="+window.innerWidth+",height="+window.innerHeight),o.Keyboard.KeyActions.CANCEL):""},o.Keyboard.KeyMap.prototype.onCtrlV_=function(e,t){return!e.shiftKey&&this.keyboard.ctrlVPaste||e.shiftKey&&!this.keyboard.ctrlVPaste?this.keyboard.terminal.paste()?o.Keyboard.KeyActions.CANCEL:o.Keyboard.KeyActions.PASS:""},o.Keyboard.KeyMap.prototype.onMetaN_=function(e,t){return e.shiftKey?(window.open(document.location.href,"","chrome=no,close=yes,resize=yes,scrollbars=yes,minimizable=yes,width="+window.outerWidth+",height="+window.outerHeight),o.Keyboard.KeyActions.CANCEL):o.Keyboard.KeyActions.DEFAULT},o.Keyboard.KeyMap.prototype.onMetaC_=function(e,t){var r=this.keyboard.terminal.getDocument();return e.shiftKey||r.getSelection().isCollapsed?t.keyCap.substr(e.shiftKey?1:0,1):(this.keyboard.terminal.clearSelectionAfterCopy&&setTimeout(function(){r.getSelection().collapseToEnd()},50),o.Keyboard.KeyActions.PASS)},o.Keyboard.KeyMap.prototype.onMetaV_=function(e,t){return e.shiftKey?o.Keyboard.KeyActions.PASS:this.keyboard.passMetaV?o.Keyboard.KeyActions.PASS:o.Keyboard.KeyActions.DEFAULT},o.Keyboard.KeyMap.prototype.onPlusMinusZero_=function(e,t){if(!(this.keyboard.ctrlPlusMinusZeroZoom^e.shiftKey))return"-_"==t.keyCap?"":o.Keyboard.KeyActions.CANCEL;if(1!=this.keyboard.terminal.getZoomFactor())return o.Keyboard.KeyActions.PASS;var r=t.keyCap.substr(0,1);if("0"==r)this.keyboard.terminal.setFontSize(0);else{var i=this.keyboard.terminal.getFontSize();"-"==r||"[KP-]"==t.keyCap?i-=1:i+=1,this.keyboard.terminal.setFontSize(i)}return o.Keyboard.KeyActions.CANCEL},o.Keyboard.KeyPattern=function(e){this.wildcardCount=0,this.keyCode=e.keyCode,o.Keyboard.KeyPattern.modifiers.forEach(function(t){this[t]=e[t]||!1,"*"==this[t]&&this.wildcardCount++}.bind(this))},o.Keyboard.KeyPattern.modifiers=["shift","ctrl","alt","meta"],o.Keyboard.KeyPattern.sortCompare=function(e,t){return e.wildcardCountt.wildcardCount?1:0},o.Keyboard.KeyPattern.prototype.match_=function(e,t){if(this.keyCode!=e.keyCode)return!1;var r=!0;return o.Keyboard.KeyPattern.modifiers.forEach(function(i){var o=i in e&&e[i];r&&(t||"*"!=this[i])&&this[i]!=o&&(r=!1)}.bind(this)),r},o.Keyboard.KeyPattern.prototype.matchKeyDown=function(e){return this.match_(e,!1)},o.Keyboard.KeyPattern.prototype.matchKeyPattern=function(e){return this.match_(e,!0)},o.Options=function(e){this.wraparound=!e||e.wraparound,this.reverseWraparound=!!e&&e.reverseWraparound,this.originMode=!!e&&e.originMode,this.autoCarriageReturn=!!e&&e.autoCarriageReturn,this.cursorVisible=!!e&&e.cursorVisible,this.cursorBlink=!!e&&e.cursorBlink,this.insertMode=!!e&&e.insertMode,this.reverseVideo=!!e&&e.reverseVideo,this.bracketedPaste=!!e&&e.bracketedPaste},i.rtdep("hterm.Keyboard.KeyActions"),o.Parser=function(){this.source="",this.pos=0,this.ch=null},o.Parser.prototype.error=function(e){return new Error("Parse error at "+this.pos+": "+e)},o.Parser.prototype.isComplete=function(){return this.pos==this.source.length},o.Parser.prototype.reset=function(e,t){this.source=e,this.pos=t||0,this.ch=e.substr(0,1)},o.Parser.prototype.parseKeySequence=function(){var e={keyCode:null};for(var t in o.Parser.identifiers.modifierKeys)e[o.Parser.identifiers.modifierKeys[t]]=!1;for(;this.pos 'none', else => 'right-alt'\n'none': Disable any AltGr related munging.\n'ctrl-alt': Assume Ctrl+Alt means AltGr.\n'left-alt': Assume left Alt means AltGr.\n'right-alt': Assume right Alt means AltGr.\n"],"alt-backspace-is-meta-backspace":[o.PreferenceManager.categories.Keyboard,!1,"bool","If set, undoes the Chrome OS Alt-Backspace->DEL remap, so that alt-backspace indeed is alt-backspace."],"alt-is-meta":[o.PreferenceManager.categories.Keyboard,!1,"bool","Set whether the alt key acts as a meta key or as a distinct alt key."],"alt-sends-what":[o.PreferenceManager.categories.Keyboard,"escape",["escape","8-bit","browser-key"],"Controls how the alt key is handled.\n\n escape....... Send an ESC prefix.\n 8-bit........ Add 128 to the unshifted character as in xterm.\n browser-key.. Wait for the keypress event and see what the browser \n says. (This won't work well on platforms where the \n browser performs a default action for some alt sequences.)"],"audible-bell-sound":[o.PreferenceManager.categories.Sounds,"lib-resource:hterm/audio/bell","url","URL of the terminal bell sound. Empty string for no audible bell."],"desktop-notification-bell":[o.PreferenceManager.categories.Sounds,!1,"bool",'If true, terminal bells in the background will create a Web Notification. https://www.w3.org/TR/notifications/\n\nDisplaying notifications requires permission from the user. When this option is set to true, hterm will attempt to ask the user for permission if necessary. Note browsers may not show this permission request if it did not originate from a user action.\n\nChrome extensions with the "notifications" permission have permission to display notifications.'],"background-color":[o.PreferenceManager.categories.Appearance,"rgb(16, 16, 16)","color","The background color for text with no other color attributes."],"background-image":[o.PreferenceManager.categories.Appearance,"","string","CSS value of the background image. Empty string for no image.\n\nFor example:\n url(https://goo.gl/anedTK)\n linear-gradient(top bottom, blue, red)"],"background-size":[o.PreferenceManager.categories.Appearance,"","string","CSS value of the background image size. Defaults to none."],"background-position":[o.PreferenceManager.categories.Appearance,"","string","CSS value of the background image position.\n\nFor example:\n 10% 10%\n center"],"backspace-sends-backspace":[o.PreferenceManager.categories.Keyboard,!1,"bool","If true, the backspace should send BS ('\\x08', aka ^H). Otherwise the backspace key should send '\\x7f'."],"character-map-overrides":[o.PreferenceManager.categories.Appearance,null,"value",'This is specified as an object. It is a sparse array, where each property is the character set code and the value is an object that is a sparse array itself. In that sparse array, each property is the received character and the value is the displayed character.\n\nFor example:\n {"0":{"+":"\\u2192",",":"\\u2190","-":"\\u2191",".":"\\u2193", "0":"\\u2588"}}'],"close-on-exit":[o.PreferenceManager.categories.Miscellaneous,!0,"bool","Whether or not to close the window when the command exits."],"cursor-blink":[o.PreferenceManager.categories.Appearance,!1,"bool","Whether or not to blink the cursor by default."],"cursor-blink-cycle":[o.PreferenceManager.categories.Appearance,[1e3,500],"value","The cursor blink rate in milliseconds.\n\nA two element array, the first of which is how long the cursor should be on, second is how long it should be off."],"cursor-color":[o.PreferenceManager.categories.Appearance,"rgba(255, 0, 0, 0.5)","color","The color of the visible cursor."],"color-palette-overrides":[o.PreferenceManager.categories.Appearance,null,"value","Override colors in the default palette.\n\nThis can be specified as an array or an object. If specified as an object it is assumed to be a sparse array, where each property is a numeric index into the color palette.\n\nValues can be specified as almost any css color value. This includes #RGB, #RRGGBB, rgb(...), rgba(...), and any color names that are also part of the stock X11 rgb.txt file.\n\nYou can use 'null' to specify that the default value should be not be changed. This is useful for skipping a small number of indices when the value is specified as an array."],"copy-on-select":[o.PreferenceManager.categories.CopyPaste,!0,"bool","Automatically copy mouse selection to the clipboard."],"use-default-window-copy":[o.PreferenceManager.categories.CopyPaste,!1,"bool","Whether to use the default window copy behavior"],"clear-selection-after-copy":[o.PreferenceManager.categories.CopyPaste,!0,"bool","Whether to clear the selection after copying."],"ctrl-plus-minus-zero-zoom":[o.PreferenceManager.categories.Keyboard,!0,"bool","If true, Ctrl-Plus/Minus/Zero controls zoom.\nIf false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_, Ctrl-Plus/Zero do nothing."],"ctrl-c-copy":[o.PreferenceManager.categories.Keyboard,!1,"bool","Ctrl+C copies if true, send ^C to host if false.\nCtrl+Shift+C sends ^C to host if true, copies if false."],"ctrl-v-paste":[o.PreferenceManager.categories.Keyboard,!1,"bool","Ctrl+V pastes if true, send ^V to host if false.\nCtrl+Shift+V sends ^V to host if true, pastes if false."],"east-asian-ambiguous-as-two-column":[o.PreferenceManager.categories.Keyboard,!1,"bool","Set whether East Asian Ambiguous characters have two column width."],"enable-8-bit-control":[o.PreferenceManager.categories.Keyboard,!1,"bool","True to enable 8-bit control characters, false to ignore them.\n\nWe'll respect the two-byte versions of these control characters regardless of this setting."],"enable-bold":[o.PreferenceManager.categories.Appearance,null,"tristate","True if we should use bold weight font for text with the bold/bright attribute. False to use the normal weight font. Null to autodetect."],"enable-bold-as-bright":[o.PreferenceManager.categories.Appearance,!0,"bool","True if we should use bright colors (8-15 on a 16 color palette) for any text with the bold attribute. False otherwise."],"enable-blink":[o.PreferenceManager.categories.Appearance,!0,"bool","True if we should respect the blink attribute. False to ignore it. "],"enable-clipboard-notice":[o.PreferenceManager.categories.CopyPaste,!0,"bool","Show a message in the terminal when the host writes to the clipboard."],"enable-clipboard-write":[o.PreferenceManager.categories.CopyPaste,!0,"bool","Allow the host to write directly to the system clipboard."],"enable-dec12":[o.PreferenceManager.categories.Miscellaneous,!1,"bool","Respect the host's attempt to change the cursor blink status using DEC Private Mode 12."],environment:[o.PreferenceManager.categories.Miscellaneous,{TERM:"xterm-256color"},"value","The default environment variables, as an object."],"font-family":[o.PreferenceManager.categories.Appearance,'"DejaVu Sans Mono", "Everson Mono", FreeMono, "Menlo", "Terminal", monospace',"string","Default font family for the terminal text."],"font-size":[o.PreferenceManager.categories.Appearance,15,"int","The default font size in pixels."],"font-smoothing":[o.PreferenceManager.categories.Appearance,"antialiased","string","CSS font-smoothing property."],"foreground-color":[o.PreferenceManager.categories.Appearance,"rgb(240, 240, 240)","color","The foreground color for text with no other color attributes."],"home-keys-scroll":[o.PreferenceManager.categories.Keyboard,!1,"bool","If true, home/end will control the terminal scrollbar and shift home/end will send the VT keycodes. If false then home/end sends VT codes and shift home/end scrolls."],keybindings:[o.PreferenceManager.categories.Keyboard,null,"value",'A map of key sequence to key actions. Key sequences include zero or more modifier keys followed by a key code. Key codes can be decimal or hexadecimal numbers, or a key identifier. Key actions can be specified a string to send to the host, or an action identifier. For a full explanation of the format, see https://goo.gl/LWRndr.\n\nSample keybindings:\n{\n "Ctrl-Alt-K": "clearScrollback",\n "Ctrl-Shift-L": "PASS",\n "Ctrl-H": "\'HELLO\\n\'"\n}'],"max-string-sequence":[o.PreferenceManager.categories.Encoding,1e5,"int","Max length of a DCS, OSC, PM, or APS sequence before we give up and ignore the code."],"media-keys-are-fkeys":[o.PreferenceManager.categories.Keyboard,!1,"bool","If true, convert media keys to their Fkey equivalent. If false, let the browser handle the keys."],"meta-sends-escape":[o.PreferenceManager.categories.Keyboard,!0,"bool","Set whether the meta key sends a leading escape or not."],"mouse-right-click-paste":[o.PreferenceManager.categories.CopyPaste,!0,"bool",'Paste on right mouse button clicks.\n\nThis option is activate independent of the "mouse-paste-button" setting.\n\nNote: This will handle left & right handed mice correctly.'],"mouse-paste-button":[o.PreferenceManager.categories.CopyPaste,null,[null,0,1,2,3,4,5,6],"Mouse paste button, or null to autodetect.\n\nFor autodetect, we'll use the middle mouse button for non-X11 platforms (including Chrome OS). On X11, we'll use the right mouse button (since the native window manager should paste via the middle mouse button).\n\n0 == left (primary) button.\n1 == middle (auxiliary) button.\n2 == right (secondary) button.\n\nThis option is activate independent of the \"mouse-right-click-paste\" setting.\n\nNote: This will handle left & right handed mice correctly."],"word-break-match-left":[o.PreferenceManager.categories.CopyPaste,"[^\\s\\[\\](){}<>\"'\\^!@#$%&*,;:`]","string",'Regular expression to halt matching to the left (start) of a selection.\n\nNormally this is a character class to reject specific characters.\nWe allow "~" and "." by default as paths frequently start with those.'],"word-break-match-right":[o.PreferenceManager.categories.CopyPaste,"[^\\s\\[\\](){}<>\"'\\^!@#$%&*,;:~.`]","string","Regular expression to halt matching to the right (end) of a selection.\n\nNormally this is a character class to reject specific characters."],"word-break-match-middle":[o.PreferenceManager.categories.CopyPaste,"[^\\s\\[\\](){}<>\"'\\^]*","string","Regular expression to match all the characters in the middle.\n\nNormally this is a character class to reject specific characters.\n\nUsed to expand the selection surrounding the starting point."],"page-keys-scroll":[o.PreferenceManager.categories.Keyboard,!1,"bool","If true, page up/down will control the terminal scrollbar and shift page up/down will send the VT keycodes. If false then page up/down sends VT codes and shift page up/down scrolls."],"pass-alt-number":[o.PreferenceManager.categories.Keyboard,null,"tristate","Set whether we should pass Alt-1..9 to the browser.\n\nThis is handy when running hterm in a browser tab, so that you don't lose Chrome's \"switch to tab\" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs.\n\nIf true, Alt-1..9 will be handled by the browser. If false, Alt-1..9 will be sent to the host. If null, autodetect based on browser platform and window type."],"pass-ctrl-number":[o.PreferenceManager.categories.Keyboard,null,"tristate","Set whether we should pass Ctrl-1..9 to the browser.\n\nThis is handy when running hterm in a browser tab, so that you don't lose Chrome's \"switch to tab\" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs.\n\nIf true, Ctrl-1..9 will be handled by the browser. If false, Ctrl-1..9 will be sent to the host. If null, autodetect based on browser platform and window type."],"pass-meta-number":[o.PreferenceManager.categories.Keyboard,null,"tristate","Set whether we should pass Meta-1..9 to the browser.\n\nThis is handy when running hterm in a browser tab, so that you don't lose Chrome's \"switch to tab\" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs.\n\nIf true, Meta-1..9 will be handled by the browser. If false, Meta-1..9 will be sent to the host. If null, autodetect based on browser platform and window type."],"pass-meta-v":[o.PreferenceManager.categories.Keyboard,!0,"bool","Set whether meta-V gets passed to host."],"receive-encoding":[o.PreferenceManager.categories.Encoding,"utf-8",["utf-8","raw"],"Set the expected encoding for data received from the host.\n\nValid values are 'utf-8' and 'raw'."],"scroll-on-keystroke":[o.PreferenceManager.categories.Scrolling,!0,"bool","If true, scroll to the bottom on any keystroke."],"scroll-on-output":[o.PreferenceManager.categories.Scrolling,!1,"bool","If true, scroll to the bottom on terminal output."],"scrollbar-visible":[o.PreferenceManager.categories.Scrolling,!0,"bool","The vertical scrollbar mode."],"scroll-wheel-may-send-arrow-keys":[o.PreferenceManager.categories.Scrolling,!1,"bool","When using the alternative screen buffer, and DECCKM (Application Cursor Keys) is active, mouse wheel scroll events will emulate arrow keys.\n\nIt can be temporarily disabled by holding the shift key.\n\nThis frequently comes up when using pagers (less) or reading man pages or text editors (vi/nano) or using screen/tmux."],"scroll-wheel-move-multiplier":[o.PreferenceManager.categories.Scrolling,1,"int","The multiplier for the pixel delta in wheel events caused by the scroll wheel. Alters how fast the page scrolls."],"send-encoding":[o.PreferenceManager.categories.Encoding,"utf-8",["utf-8","raw"],"Set the encoding for data sent to host."],"terminal-encoding":[o.PreferenceManager.categories.Encoding,"iso-2022",["iso-2022","utf-8","utf-8-locked"],"The default terminal encoding (DOCS).\n\nISO-2022 enables character map translations (like graphics maps).\nUTF-8 disables support for those.\n\nThe locked variant means the encoding cannot be changed at runtime via terminal escape sequences.\n\nYou should stick with UTF-8 unless you notice broken rendering with legacy applications."],"shift-insert-paste":[o.PreferenceManager.categories.Keyboard,!0,"bool","Shift + Insert pastes if true, sent to host if false."],"user-css":[o.PreferenceManager.categories.Appearance,"","url","URL of user stylesheet to include in the terminal document."],"user-css-text":[o.PreferenceManager.categories.Appearance,"","multiline-string","Custom CSS text for styling the terminal."]},o.PreferenceManager.prototype=Object.create(i.PreferenceManager.prototype),o.PreferenceManager.constructor=o.PreferenceManager,o.PubSub=function(){this.observers_={}},o.PubSub.addBehavior=function(e){var t=new o.PubSub;for(var r in o.PubSub.prototype)e[r]=o.PubSub.prototype[r].bind(t)},o.PubSub.prototype.subscribe=function(e,t){e in this.observers_||(this.observers_[e]=[]),this.observers_[e].push(t)},o.PubSub.prototype.unsubscribe=function(e,t){var r=this.observers_[e];if(!r)throw"Invalid subject: "+e;var i=r.indexOf(t);if(i<0)throw"Not subscribed: "+e;r.splice(i,1)},o.PubSub.prototype.publish=function(e,t,r){function i(e){e=e&&this.setCursorPosition(this.cursorPosition.row,e-1)},o.Screen.prototype.shiftRow=function(){return this.shiftRows(1)[0]},o.Screen.prototype.shiftRows=function(e){return this.rowsArray.splice(0,e)},o.Screen.prototype.unshiftRow=function(e){this.rowsArray.splice(0,0,e)},o.Screen.prototype.unshiftRows=function(e){this.rowsArray.unshift.apply(this.rowsArray,e)},o.Screen.prototype.popRow=function(){return this.popRows(1)[0]},o.Screen.prototype.popRows=function(e){return this.rowsArray.splice(this.rowsArray.length-e,e)},o.Screen.prototype.pushRow=function(e){this.rowsArray.push(e)},o.Screen.prototype.pushRows=function(e){e.push.apply(this.rowsArray,e)},o.Screen.prototype.insertRow=function(e,t){this.rowsArray.splice(e,0,t)},o.Screen.prototype.insertRows=function(e,t){for(var r=0;r=this.rowsArray.length?(console.error("Row out of bounds: "+e),e=this.rowsArray.length-1):e<0&&(console.error("Row out of bounds: "+e),e=0),t>=this.columnCount_?(console.error("Column out of bounds: "+t),t=this.columnCount_-1):t<0&&(console.error("Column out of bounds: "+t),t=0),this.cursorPosition.overflow=!1;var r=this.rowsArray[e],i=r.firstChild;i||(i=r.ownerDocument.createTextNode(""),r.appendChild(i));var s=0;for(r==this.cursorRowNode_?t>=this.cursorPosition.column-this.cursorOffset_&&(i=this.cursorNode_,s=this.cursorPosition.column-this.cursorOffset_):this.cursorRowNode_=r,this.cursorPosition.move(e,t);i;){var n=t-s,a=o.TextAttributes.nodeWidth(i);if(!i.nextSibling||a>n)return this.cursorNode_=i,void(this.cursorOffset_=n);s+=a,i=i.nextSibling}}else console.warn("Attempt to set cursor position on empty screen.")},o.Screen.prototype.syncSelectionCaret=function(e){try{e.collapse(this.cursorNode_,this.cursorOffset_)}catch(e){}},o.Screen.prototype.splitNode_=function(e,t){var r=e.cloneNode(!1),s=e.textContent;e.textContent=o.TextAttributes.nodeSubstr(e,0,t),r.textContent=i.wc.substr(s,t),r.textContent&&e.parentNode.insertBefore(r,e.nextSibling),e.textContent||e.parentNode.removeChild(e)},o.Screen.prototype.maybeClipCurrentRow=function(){var e=o.TextAttributes.nodeWidth(this.cursorRowNode_);if(e<=this.columnCount_)this.cursorPosition.column>=this.columnCount_&&(this.setCursorPosition(this.cursorPosition.row,this.columnCount_-1),this.cursorPosition.overflow=!0);else{var t=this.cursorPosition.column;this.setCursorPosition(this.cursorPosition.row,this.columnCount_-1),e=o.TextAttributes.nodeWidth(this.cursorNode_),this.cursorOffset_o.TextAttributes.nodeWidth(e);){if(!e.hasAttribute("line-overflow")||!e.nextSibling)return-1;t-=o.TextAttributes.nodeWidth(e),e=e.nextSibling}return this.getNodeAndOffsetWithinRow_(e,t)},o.Screen.prototype.getNodeAndOffsetWithinRow_=function(e,t){for(var r=0;ro)){var d=i.wc.substring(h,o,i.wc.strWidth(h)),f=new RegExp("^"+l+a),g=d.match(f);if(g){var m=o+i.wc.strWidth(g[0]);-1==m||ms.rowIndex)t();else if(i.focusNode==i.anchorNode)i.anchorOffset=this.lastRowCount_},o.ScrollPort.prototype.drawTopFold_=function(e){if(!this.selection.startRow||this.selection.startRow.rowIndex>=e)this.rowNodes_.firstChild!=this.topFold_&&this.rowNodes_.insertBefore(this.topFold_,this.rowNodes_.firstChild);else{if(!this.selection.isMultiline||this.selection.endRow.rowIndex>=e)this.selection.startRow.nextSibling!=this.topFold_&&this.rowNodes_.insertBefore(this.topFold_,this.selection.startRow.nextSibling);else for(this.selection.endRow.nextSibling!=this.topFold_&&this.rowNodes_.insertBefore(this.topFold_,this.selection.endRow.nextSibling);this.selection.startRow.nextSibling!=this.selection.endRow;)this.rowNodes_.removeChild(this.selection.startRow.nextSibling);for(;this.rowNodes_.firstChild!=this.selection.startRow;)this.rowNodes_.removeChild(this.rowNodes_.firstChild)}},o.ScrollPort.prototype.drawBottomFold_=function(e){if(!this.selection.endRow||this.selection.endRow.rowIndex<=e)this.rowNodes_.lastChild!=this.bottomFold_&&this.rowNodes_.appendChild(this.bottomFold_);else{if(!this.selection.isMultiline||this.selection.startRow.rowIndex<=e)this.bottomFold_.nextSibling!=this.selection.endRow&&this.rowNodes_.insertBefore(this.bottomFold_,this.selection.endRow);else for(this.bottomFold_.nextSibling!=this.selection.startRow&&this.rowNodes_.insertBefore(this.bottomFold_,this.selection.startRow);this.selection.startRow.nextSibling!=this.selection.endRow;)this.rowNodes_.removeChild(this.selection.startRow.nextSibling);for(;this.rowNodes_.lastChild!=this.selection.endRow;)this.rowNodes_.removeChild(this.rowNodes_.lastChild)}},o.ScrollPort.prototype.drawVisibleRows_=function(e,t){function r(e,t){for(;e!=t;){if(!e)throw"Did not encounter target node";if(e==i.bottomFold_)throw"Encountered bottom fold before target node";var r=e;e=e.nextSibling,r.parentNode.removeChild(r)}}for(var i=this,o=this.selection.startRow,s=this.selection.endRow,n=this.bottomFold_,a=this.topFold_.nextSibling,l=Math.min(this.visibleRowCount,this.rowProvider_.getRowCount()),h=0;h=this.lastRowCount_;var t=e*this.characterSize.height+this.visibleRowTopMargin,r=this.getScrollMax_();t>r&&(t=r),this.screen_.scrollTop!=t&&(this.screen_.scrollTop=t,this.scheduleRedraw())},o.ScrollPort.prototype.scrollRowToBottom=function(e){this.syncScrollHeight(),this.isScrolledEnd=e+this.visibleRowCount>=this.lastRowCount_;var t=e*this.characterSize.height+this.visibleRowTopMargin+this.visibleRowBottomMargin;(t-=this.visibleRowCount*this.characterSize.height)<0&&(t=0),this.screen_.scrollTop!=t&&(this.screen_.scrollTop=t)},o.ScrollPort.prototype.getTopRowIndex=function(){return Math.round(this.screen_.scrollTop/this.characterSize.height)},o.ScrollPort.prototype.getBottomRowIndex=function(e){return e+this.visibleRowCount-1},o.ScrollPort.prototype.onScroll_=function(e){var t=this.getScreenSize();t.width==this.lastScreenWidth_&&t.height==this.lastScreenHeight_?(this.redraw_(),this.publish("scroll",{scrollPort:this})):this.resize()},o.ScrollPort.prototype.onScrollWheel=function(e){},o.ScrollPort.prototype.onScrollWheel_=function(e){if(this.onScrollWheel(e),!e.defaultPrevented){var t=this.scrollWheelDelta(e),r=this.screen_.scrollTop-t;r<0&&(r=0);var i=this.getScrollMax_();r>i&&(r=i),r!=this.screen_.scrollTop&&(this.screen_.scrollTop=r,e.preventDefault())}},o.ScrollPort.prototype.scrollWheelDelta=function(e){var t;switch(e.deltaMode){case WheelEvent.DOM_DELTA_PIXEL:t=e.deltaY*this.scrollWheelMultiplier_;break;case WheelEvent.DOM_DELTA_LINE:t=e.deltaY*this.characterSize.height;break;case WheelEvent.DOM_DELTA_PAGE:t=e.deltaY*this.characterSize.height*this.screen_.getHeight()}return-1*t},o.ScrollPort.prototype.onTouch=function(e){},o.ScrollPort.prototype.onTouch_=function(e){if(this.onTouch(e),!e.defaultPrevented){var t,r,i=function(e){return{id:e.identifier,y:e.clientY,x:e.clientX}};switch(e.type){case"touchstart":for(t=0;tn&&(s=n),s!=this.screen_.scrollTop&&(this.screen_.scrollTop=s)}e.preventDefault()}},o.ScrollPort.prototype.onResize_=function(e){this.syncCharacterSize(),this.resize()},o.ScrollPort.prototype.onCopy=function(e){},o.ScrollPort.prototype.onCopy_=function(e){if(this.onCopy(e),!e.defaultPrevented&&(this.resetSelectBags_(),this.selection.sync(),this.selection.startRow&&!(this.selection.endRow.rowIndex-this.selection.startRow.rowIndex<2))){var t=this.getTopRowIndex(),r=this.getBottomRowIndex(t);if(this.selection.startRow.rowIndexr){var o;o=this.selection.startRow.rowIndex>r?this.selection.startRow.rowIndex+1:this.bottomFold_.previousSibling.rowIndex+1,this.bottomSelectBag_.textContent=this.rowProvider_.getRowsText(o,this.selection.endRow.rowIndex),this.rowNodes_.insertBefore(this.bottomSelectBag_,this.selection.endRow)}}},o.ScrollPort.prototype.onBodyKeyDown_=function(e){if(this.ctrlVPaste){var t=String.fromCharCode(e.which).toLowerCase();(e.ctrlKey||e.metaKey)&&"v"==t&&this.pasteTarget_.focus()}},o.ScrollPort.prototype.onPaste_=function(e){this.pasteTarget_.focus();var t=this;setTimeout(function(){t.publish("paste",{text:t.pasteTarget_.value}),t.pasteTarget_.value="",t.screen_.focus()},0)},o.ScrollPort.prototype.handlePasteTargetTextInput_=function(e){e.stopPropagation()},o.ScrollPort.prototype.setScrollbarVisible=function(e){this.screen_.style.overflowY=e?"scroll":"hidden"},o.ScrollPort.prototype.setScrollWheelMoveMultipler=function(e){this.scrollWheelMultiplier_=e},i.rtdep("lib.colors","lib.PreferenceManager","lib.resource","lib.wc","lib.f","hterm.Keyboard","hterm.Options","hterm.PreferenceManager","hterm.Screen","hterm.ScrollPort","hterm.Size","hterm.TextAttributes","hterm.VT"),o.Terminal=function(e){this.profileId_=null,this.primaryScreen_=new o.Screen,this.alternateScreen_=new o.Screen,this.screen_=this.primaryScreen_,this.screenSize=new o.Size(0,0),this.scrollPort_=new o.ScrollPort(this),this.scrollPort_.subscribe("resize",this.onResize_.bind(this)),this.scrollPort_.subscribe("scroll",this.onScroll_.bind(this)),this.scrollPort_.subscribe("paste",this.onPaste_.bind(this)),this.scrollPort_.onCopy=this.onCopy_.bind(this),this.div_=null,this.document_=window.document,this.scrollbackRows_=[],this.tabStops_=[],this.defaultTabStops=!0,this.vtScrollTop_=null,this.vtScrollBottom_=null,this.cursorNode_=null,this.cursorShape_=o.Terminal.cursorShape.BLOCK,this.cursorColor_=null,this.cursorBlinkCycle_=[100,100],this.myOnCursorBlink_=this.onCursorBlink_.bind(this),this.backgroundColor_=null,this.foregroundColor_=null,this.scrollOnOutput_=null,this.scrollOnKeystroke_=null,this.scrollWheelArrowKeys_=null,this.defeatMouseReports_=!1,this.bellAudio_=this.document_.createElement("audio"),this.bellAudio_.id="hterm:bell-audio",this.bellAudio_.setAttribute("preload","auto"),this.bellNotificationList_=[],this.desktopNotificationBell_=!1,this.savedOptions_={},this.options_=new o.Options,this.timeouts_={},this.vt=new o.VT(this),this.keyboard=new o.Keyboard(this),this.io=new o.Terminal.IO(this),this.enableMouseDragScroll=!0,this.copyOnSelect=null,this.mouseRightClickPaste=null,this.mousePasteButton=null,this.useDefaultWindowCopy=!1,this.clearSelectionAfterCopy=!0,this.realizeSize_(80,24),this.setDefaultTabStops(),this.setProfile(e||"default",function(){this.onTerminalReady()}.bind(this))},o.Terminal.cursorShape={BLOCK:"BLOCK",BEAM:"BEAM",UNDERLINE:"UNDERLINE"},o.Terminal.prototype.onTerminalReady=function(){},o.Terminal.prototype.tabWidth=8,o.Terminal.prototype.setProfile=function(e,t){this.profileId_=e.replace(/\//g,"");var r=this;this.prefs_&&this.prefs_.deactivate(),this.prefs_=new o.PreferenceManager(this.profileId_),this.prefs_.addObservers(null,{"alt-gr-mode":function(e){e=null==e?"en-us"==navigator.language.toLowerCase()?"none":"right-alt":"string"==typeof e?e.toLowerCase():"none",/^(none|ctrl-alt|left-alt|right-alt)$/.test(e)||(e="none"),r.keyboard.altGrMode=e},"alt-backspace-is-meta-backspace":function(e){r.keyboard.altBackspaceIsMetaBackspace=e},"alt-is-meta":function(e){r.keyboard.altIsMeta=e},"alt-sends-what":function(e){/^(escape|8-bit|browser-key)$/.test(e)||(e="escape"),r.keyboard.altSendsWhat=e},"audible-bell-sound":function(e){var t=e.match(/^lib-resource:(\S+)/);t?r.bellAudio_.setAttribute("src",i.resource.getDataUrl(t[1])):r.bellAudio_.setAttribute("src",e)},"desktop-notification-bell":function(e){e&&Notification?(r.desktopNotificationBell_="granted"===Notification.permission,r.desktopNotificationBell_||console.warn("desktop-notification-bell is true but we do not have permission to display notifications.")):r.desktopNotificationBell_=!1},"background-color":function(e){r.setBackgroundColor(e)},"background-image":function(e){r.scrollPort_.setBackgroundImage(e)},"background-size":function(e){r.scrollPort_.setBackgroundSize(e)},"background-position":function(e){r.scrollPort_.setBackgroundPosition(e)},"backspace-sends-backspace":function(e){r.keyboard.backspaceSendsBackspace=e},"character-map-overrides":function(e){null==e||e instanceof Object?(r.vt.characterMaps.reset(),r.vt.characterMaps.setOverrides(e)):console.warn("Preference character-map-modifications is not an object: "+e)},"cursor-blink":function(e){r.setCursorBlink(!!e)},"cursor-blink-cycle":function(e){e instanceof Array&&"number"==typeof e[0]&&"number"==typeof e[1]?r.cursorBlinkCycle_=e:r.cursorBlinkCycle_="number"==typeof e?[e,e]:[100,100]},"cursor-color":function(e){r.setCursorColor(e)},"color-palette-overrides":function(e){if(null==e||e instanceof Object||e instanceof Array){if(i.colors.colorPalette=i.colors.stockColorPalette.concat(),e)for(var t in e){var o=parseInt(t);if(isNaN(o)||o<0||o>255)console.log("Invalid value in palette: "+t+": "+e[t]);else if(e[o]){var s=i.colors.normalizeCSS(e[o]);s&&(i.colors.colorPalette[o]=s)}}r.primaryScreen_.textAttributes.resetColorPalette(),r.alternateScreen_.textAttributes.resetColorPalette()}else console.warn("Preference color-palette-overrides is not an array or object: "+e)},"copy-on-select":function(e){r.copyOnSelect=!!e},"use-default-window-copy":function(e){r.useDefaultWindowCopy=!!e},"clear-selection-after-copy":function(e){r.clearSelectionAfterCopy=!!e},"ctrl-plus-minus-zero-zoom":function(e){r.keyboard.ctrlPlusMinusZeroZoom=e},"ctrl-c-copy":function(e){r.keyboard.ctrlCCopy=e},"ctrl-v-paste":function(e){r.keyboard.ctrlVPaste=e,r.scrollPort_.setCtrlVPaste(e)},"east-asian-ambiguous-as-two-column":function(e){i.wc.regardCjkAmbiguous=e},"enable-8-bit-control":function(e){r.vt.enable8BitControl=!!e},"enable-bold":function(e){r.syncBoldSafeState()},"enable-bold-as-bright":function(e){r.primaryScreen_.textAttributes.enableBoldAsBright=!!e,r.alternateScreen_.textAttributes.enableBoldAsBright=!!e},"enable-blink":function(e){r.syncBlinkState()},"enable-clipboard-write":function(e){r.vt.enableClipboardWrite=!!e},"enable-dec12":function(e){r.vt.enableDec12=!!e},"font-family":function(e){r.syncFontFamily()},"font-size":function(e){r.setFontSize(e)},"font-smoothing":function(e){r.syncFontFamily()},"foreground-color":function(e){r.setForegroundColor(e)},"home-keys-scroll":function(e){r.keyboard.homeKeysScroll=e},keybindings:function(e){if(r.keyboard.bindings.clear(),e)if(e instanceof Object)try{r.keyboard.bindings.addBindings(e)}catch(e){console.error("Error in keybindings preference: "+e)}else console.error("Error in keybindings preference: Expected object")},"max-string-sequence":function(e){r.vt.maxStringSequence=e},"media-keys-are-fkeys":function(e){r.keyboard.mediaKeysAreFKeys=e},"meta-sends-escape":function(e){r.keyboard.metaSendsEscape=e},"mouse-right-click-paste":function(e){r.mouseRightClickPaste=e},"mouse-paste-button":function(e){r.syncMousePasteButton()},"page-keys-scroll":function(e){r.keyboard.pageKeysScroll=e},"pass-alt-number":function(e){null==e&&(e=!window.navigator.userAgent.match(/Mac OS X/)&&"popup"!=o.windowType),r.passAltNumber=e},"pass-ctrl-number":function(e){null==e&&(e=!window.navigator.userAgent.match(/Mac OS X/)&&"popup"!=o.windowType),r.passCtrlNumber=e},"pass-meta-number":function(e){null==e&&(e=window.navigator.userAgent.match(/Mac OS X/)&&"popup"!=o.windowType),r.passMetaNumber=e},"pass-meta-v":function(e){r.keyboard.passMetaV=e},"receive-encoding":function(e){/^(utf-8|raw)$/.test(e)||(console.warn('Invalid value for "receive-encoding": '+e),e="utf-8"),r.vt.characterEncoding=e},"scroll-on-keystroke":function(e){r.scrollOnKeystroke_=e},"scroll-on-output":function(e){r.scrollOnOutput_=e},"scrollbar-visible":function(e){r.setScrollbarVisible(e)},"scroll-wheel-may-send-arrow-keys":function(e){r.scrollWheelArrowKeys_=e},"scroll-wheel-move-multiplier":function(e){r.setScrollWheelMoveMultipler(e)},"send-encoding":function(e){/^(utf-8|raw)$/.test(e)||(console.warn('Invalid value for "send-encoding": '+e),e="utf-8"),r.keyboard.characterEncoding=e},"shift-insert-paste":function(e){r.keyboard.shiftInsertPaste=e},"terminal-encoding":function(e){r.vt.setEncoding(e)},"user-css":function(e){r.scrollPort_.setUserCssUrl(e)},"user-css-text":function(e){r.scrollPort_.setUserCssText(e)},"word-break-match-left":function(e){r.primaryScreen_.wordBreakMatchLeft=e,r.alternateScreen_.wordBreakMatchLeft=e},"word-break-match-right":function(e){r.primaryScreen_.wordBreakMatchRight=e,r.alternateScreen_.wordBreakMatchRight=e},"word-break-match-middle":function(e){r.primaryScreen_.wordBreakMatchMiddle=e,r.alternateScreen_.wordBreakMatchMiddle=e}}),this.prefs_.readStorage(function(){this.prefs_.notifyAll(),t&&t()}.bind(this))},o.Terminal.prototype.getPrefs=function(){return this.prefs_},o.Terminal.prototype.setBracketedPaste=function(e){this.options_.bracketedPaste=e},o.Terminal.prototype.setCursorColor=function(e){this.cursorColor_=e,this.cursorNode_.style.backgroundColor=e,this.cursorNode_.style.borderColor=e},o.Terminal.prototype.getCursorColor=function(){return this.cursorColor_},o.Terminal.prototype.setSelectionEnabled=function(e){this.enableMouseDragScroll=e},o.Terminal.prototype.setBackgroundColor=function(e){this.backgroundColor_=i.colors.normalizeCSS(e),this.primaryScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.alternateScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.scrollPort_.setBackgroundColor(e)},o.Terminal.prototype.getBackgroundColor=function(){return this.backgroundColor_},o.Terminal.prototype.setForegroundColor=function(e){this.foregroundColor_=i.colors.normalizeCSS(e),this.primaryScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.alternateScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.scrollPort_.setForegroundColor(e)},o.Terminal.prototype.getForegroundColor=function(){return this.foregroundColor_},o.Terminal.prototype.runCommandClass=function(e,t){var r=this.prefs_.get("environment");"object"==typeof r&&null!=r||(r={});var i=this;this.command=new e({argString:t||"",io:this.io.push(),environment:r,onExit:function(e){i.io.pop(),i.uninstallKeyboard(),i.prefs_.get("close-on-exit")&&window.close()}}),this.installKeyboard(),this.command.run()},o.Terminal.prototype.isPrimaryScreen=function(){return this.screen_==this.primaryScreen_},o.Terminal.prototype.installKeyboard=function(){this.keyboard.installKeyboard(this.scrollPort_.getDocument().body)},o.Terminal.prototype.uninstallKeyboard=function(){this.keyboard.installKeyboard(null)},o.Terminal.prototype.setCssVar=function(e,t,r="--hterm-"){this.document_.documentElement.style.setProperty(`${r}${e}`,t)},o.Terminal.prototype.setFontSize=function(e){0===e&&(e=this.prefs_.get("font-size")),this.scrollPort_.setFontSize(e),this.setCssVar("charsize-width",this.scrollPort_.characterSize.width+"px"),this.setCssVar("charsize-height",this.scrollPort_.characterSize.height+"px")},o.Terminal.prototype.getFontSize=function(){return this.scrollPort_.getFontSize()},o.Terminal.prototype.getFontFamily=function(){return this.scrollPort_.getFontFamily()},o.Terminal.prototype.syncFontFamily=function(){this.scrollPort_.setFontFamily(this.prefs_.get("font-family"),this.prefs_.get("font-smoothing")),this.syncBoldSafeState()},o.Terminal.prototype.syncMousePasteButton=function(){var e=this.prefs_.get("mouse-paste-button");if("number"!=typeof e){var t=navigator.userAgent.match(/\(X11;\s+(\S+)/);t&&"CrOS"!=t[1]?this.mousePasteButton=2:this.mousePasteButton=1}else this.mousePasteButton=e},o.Terminal.prototype.syncBoldSafeState=function(){var e=this.prefs_.get("enable-bold");if(null!==e)return this.primaryScreen_.textAttributes.enableBold=e,void(this.alternateScreen_.textAttributes.enableBold=e);var t=this.scrollPort_.measureCharacterSize(),r=this.scrollPort_.measureCharacterSize("bold"),i=t.equals(r);i||console.warn("Bold characters disabled: Size of bold weight differs from normal. Font family is: "+this.scrollPort_.getFontFamily()),this.primaryScreen_.textAttributes.enableBold=i,this.alternateScreen_.textAttributes.enableBold=i},o.Terminal.prototype.syncBlinkState=function(){this.setCssVar("node-duration",this.prefs_.get("enable-blink")?"0.7s":"0")},o.Terminal.prototype.syncMouseStyle=function(){this.setCssVar("mouse-cursor-style",this.vt.mouseReport==this.vt.MOUSE_REPORT_DISABLED?"var(--hterm-mouse-cursor-text)":"var(--hterm-mouse-cursor-pointer)")},o.Terminal.prototype.saveCursor=function(){return this.screen_.cursorPosition.clone()},o.Terminal.prototype.getTextAttributes=function(){return this.screen_.textAttributes},o.Terminal.prototype.setTextAttributes=function(e){this.screen_.textAttributes=e},o.Terminal.prototype.getZoomFactor=function(){return this.scrollPort_.characterSize.zoomFactor},o.Terminal.prototype.setWindowTitle=function(e){window.document.title=e},o.Terminal.prototype.restoreCursor=function(e){var t=i.f.clamp(e.row,0,this.screenSize.height-1),r=i.f.clamp(e.column,0,this.screenSize.width-1);this.screen_.setCursorPosition(t,r),(e.column>r||e.column==r&&e.overflow)&&(this.screen_.cursorPosition.overflow=!0)},o.Terminal.prototype.clearCursorOverflow=function(){this.screen_.cursorPosition.overflow=!1},o.Terminal.prototype.setCursorShape=function(e){this.cursorShape_=e,this.restyleCursor_()},o.Terminal.prototype.getCursorShape=function(){return this.cursorShape_},o.Terminal.prototype.setWidth=function(e){null!=e?(this.div_.style.width=Math.ceil(this.scrollPort_.characterSize.width*e+this.scrollPort_.currentScrollbarWidthPx)+"px",this.realizeSize_(e,this.screenSize.height),this.scheduleSyncCursorPosition_()):this.div_.style.width="100%"},o.Terminal.prototype.setHeight=function(e){null!=e?(this.div_.style.height=this.scrollPort_.characterSize.height*e+"px",this.realizeSize_(this.screenSize.width,e),this.scheduleSyncCursorPosition_()):this.div_.style.height="100%"},o.Terminal.prototype.realizeSize_=function(e,t){e!=this.screenSize.width&&this.realizeWidth_(e),t!=this.screenSize.height&&this.realizeHeight_(t),this.io.onTerminalResize_(e,t)},o.Terminal.prototype.realizeWidth_=function(e){if(e<=0)throw new Error("Attempt to realize bad width: "+e);var t=e-this.screen_.getWidth();if(this.screenSize.width=e,this.screen_.setColumnCount(e),t>0)this.defaultTabStops&&this.setDefaultTabStops(this.screenSize.width-t);else for(var r=this.tabStops_.length-1;r>=0&&!(this.tabStops_[r]0){if(t<=this.scrollbackRows_.length){var s=Math.min(t,this.scrollbackRows_.length),n=this.scrollbackRows_.splice(this.scrollbackRows_.length-s,s);this.screen_.unshiftRows(n),t-=s,r.row+=s}t&&this.appendRows_(t)}this.setVTScrollRegion(null,null),this.restoreCursor(r)},o.Terminal.prototype.scrollHome=function(){this.scrollPort_.scrollRowToTop(0)},o.Terminal.prototype.scrollEnd=function(){this.scrollPort_.scrollRowToBottom(this.getRowCount())},o.Terminal.prototype.scrollPageUp=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e-this.screenSize.height+1)},o.Terminal.prototype.scrollPageDown=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e+this.screenSize.height-1)},o.Terminal.prototype.scrollLineUp=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e-1)},o.Terminal.prototype.scrollLineDown=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e+1)},o.Terminal.prototype.wipeContents=function(){this.scrollbackRows_.length=0,this.scrollPort_.resetCache(),[this.primaryScreen_,this.alternateScreen_].forEach(function(e){var t=e.getHeight();t>0&&(this.renumberRows_(0,t),this.clearHome(e))}.bind(this)),this.syncCursorPosition_(),this.scrollPort_.invalidate()},o.Terminal.prototype.reset=function(){this.clearAllTabStops(),this.setDefaultTabStops(),this.clearHome(this.primaryScreen_),this.primaryScreen_.textAttributes.reset(),this.clearHome(this.alternateScreen_),this.alternateScreen_.textAttributes.reset(),this.setCursorBlink(!!this.prefs_.get("cursor-blink")),this.vt.reset(),this.softReset()},o.Terminal.prototype.softReset=function(){this.options_=new o.Options,this.options_.cursorBlink=!!this.timeouts_.cursorBlink,this.primaryScreen_.textAttributes.resetColorPalette(),this.alternateScreen_.textAttributes.resetColorPalette(),this.setVTScrollRegion(null,null),this.setCursorVisible(!0)},o.Terminal.prototype.forwardTabStop=function(){for(var e=this.screen_.cursorPosition.column,t=0;te)return void this.setCursorColumn(this.tabStops_[t]);var r=this.screen_.cursorPosition.overflow;this.setCursorColumn(this.screenSize.width-1),this.screen_.cursorPosition.overflow=r},o.Terminal.prototype.backwardTabStop=function(){for(var e=this.screen_.cursorPosition.column,t=this.tabStops_.length-1;t>=0;t--)if(this.tabStops_[t]=0;t--){if(this.tabStops_[t]==e)return;if(this.tabStops_[t]0){var n=this.screen_.shiftRows(s);Array.prototype.push.apply(this.scrollbackRows_,n),this.scrollPort_.isScrolledEnd&&this.scheduleScrollDown_()}t>=this.screen_.rowsArray.length&&(t=this.screen_.rowsArray.length-1),this.setAbsoluteCursorPosition(t,0)},o.Terminal.prototype.moveRows_=function(e,t,r){var i=this.screen_.removeRows(e,t);this.screen_.insertRows(r,i);var o,s;e=this.screenSize.width&&(a=!0,n=this.screenSize.width-this.screen_.cursorPosition.column),a&&!this.options_.wraparound?(s=i.wc.substr(e,t,n-1)+i.wc.substr(e,r-1),n=r):s=i.wc.substr(e,t,n);for(var l=o.TextAttributes.splitWidecharString(s),h=0;h=0;o--)this.setAbsoluteCursorPosition(t+o,0),this.screen_.clearCursorRow()},o.Terminal.prototype.deleteLines=function(e){var t=this.saveCursor(),r=t.row,i=this.getVTScrollBottom(),o=i-r+1,s=i-(e=Math.min(e,o))+1;e!=o&&this.moveRows_(r,e,s);for(var n=0;nt)this.setCssVar("cursor-offset-row","-1");else{this.options_.cursorVisible&&"none"==this.cursorNode_.style.display&&(this.cursorNode_.style.display=""),this.setCssVar("cursor-offset-row",`${r-e} + `+`${this.scrollPort_.visibleRowTopMargin}px`),this.setCssVar("cursor-offset-col",this.screen_.cursorPosition.column),this.cursorNode_.setAttribute("title","("+this.screen_.cursorPosition.column+", "+this.screen_.cursorPosition.row+")");var i=this.document_.getSelection();i&&i.isCollapsed&&this.screen_.syncSelectionCaret(i)}},o.Terminal.prototype.restyleCursor_=function(){var e=this.cursorShape_;"false"==this.cursorNode_.getAttribute("focus")&&(e=o.Terminal.cursorShape.BLOCK);var t=this.cursorNode_.style;switch(e){case o.Terminal.cursorShape.BEAM:t.height="var(--hterm-charsize-height)",t.backgroundColor="transparent",t.borderBottomStyle=null,t.borderLeftStyle="solid";break;case o.Terminal.cursorShape.UNDERLINE:t.height=this.scrollPort_.characterSize.baseline+"px",t.backgroundColor="transparent",t.borderBottomStyle="solid",t.borderLeftStyle=null;break;default:t.height="var(--hterm-charsize-height)",t.backgroundColor=this.cursorColor_,t.borderBottomStyle=null,t.borderLeftStyle=null}},o.Terminal.prototype.scheduleSyncCursorPosition_=function(){if(!this.timeouts_.syncCursor){var e=this;this.timeouts_.syncCursor=setTimeout(function(){e.syncCursorPosition_(),delete e.timeouts_.syncCursor},0)}},o.Terminal.prototype.showZoomWarning_=function(e){if(!this.zoomWarningNode_){if(!e)return;this.zoomWarningNode_=this.document_.createElement("div"),this.zoomWarningNode_.id="hterm:zoom-warning",this.zoomWarningNode_.style.cssText="color: black;background-color: #ff2222;font-size: large;border-radius: 8px;opacity: 0.75;padding: 0.2em 0.5em 0.2em 0.5em;top: 0.5em;right: 1.2em;position: absolute;-webkit-text-size-adjust: none;-webkit-user-select: none;-moz-text-size-adjust: none;-moz-user-select: none;",this.zoomWarningNode_.addEventListener("click",function(e){this.parentNode.removeChild(this)})}this.zoomWarningNode_.textContent=i.MessageManager.replaceReferences(o.zoomWarningMessage,[parseInt(100*this.scrollPort_.characterSize.zoomFactor)]),this.zoomWarningNode_.style.fontFamily=this.prefs_.get("font-family"),e?this.zoomWarningNode_.parentNode||this.div_.parentNode.appendChild(this.zoomWarningNode_):this.zoomWarningNode_.parentNode&&this.zoomWarningNode_.parentNode.removeChild(this.zoomWarningNode_)},o.Terminal.prototype.showOverlay=function(e,t){if(!this.overlayNode_){if(!this.div_)return;this.overlayNode_=this.document_.createElement("div"),this.overlayNode_.style.cssText="border-radius: 15px;font-size: xx-large;opacity: 0.75;padding: 0.2em 0.5em 0.2em 0.5em;position: absolute;-webkit-user-select: none;-webkit-transition: opacity 180ms ease-in;-moz-user-select: none;-moz-transition: opacity 180ms ease-in;",this.overlayNode_.addEventListener("mousedown",function(e){e.preventDefault(),e.stopPropagation()},!0)}this.overlayNode_.style.color=this.prefs_.get("background-color"),this.overlayNode_.style.backgroundColor=this.prefs_.get("foreground-color"),this.overlayNode_.style.fontFamily=this.prefs_.get("font-family"),this.overlayNode_.textContent=e,this.overlayNode_.style.opacity="0.75",this.overlayNode_.parentNode||this.div_.appendChild(this.overlayNode_);var r=o.getClientSize(this.div_),i=o.getClientSize(this.overlayNode_);this.overlayNode_.style.top=(r.height-i.height)/2+"px",this.overlayNode_.style.left=(r.width-i.width-this.scrollPort_.currentScrollbarWidthPx)/2+"px";var s=this;this.overlayTimeout_&&clearTimeout(this.overlayTimeout_),null!==t&&(this.overlayTimeout_=setTimeout(function(){s.overlayNode_.style.opacity="0",s.overlayTimeout_=setTimeout(function(){s.overlayNode_.parentNode&&s.overlayNode_.parentNode.removeChild(s.overlayNode_),s.overlayTimeout_=null,s.overlayNode_.style.opacity="0.75"},200)},t||1500))},o.Terminal.prototype.paste=function(){return o.pasteFromClipboard(this.document_)},o.Terminal.prototype.copyStringToClipboard=function(e){this.prefs_.get("enable-clipboard-notice")&&setTimeout(this.showOverlay.bind(this,o.notifyCopyMessage,500),200);var t=this.document_.createElement("pre");t.id="hterm:copy-to-clipboard-source",t.textContent=e,t.style.cssText="-webkit-user-select: text;-moz-user-select: text;position: absolute;top: -99px",this.document_.body.appendChild(t);var r=this.document_.getSelection(),i=r.anchorNode,s=r.anchorOffset,n=r.focusNode,a=r.focusOffset;r.selectAllChildren(t),o.copySelectionToClipboard(this.document_),r.extend&&(r.collapse(i,s),r.extend(n,a)),t.parentNode.removeChild(t)},o.Terminal.prototype.getSelectionText=function(){var e=this.scrollPort_.selection;if(e.sync(),e.isCollapsed)return null;var t=e.startOffset,r=e.startNode;if("X-ROW"!=r.nodeName)for("#text"==r.nodeName&&"SPAN"==r.parentNode.nodeName&&(r=r.parentNode);r.previousSibling;)r=r.previousSibling,t+=o.TextAttributes.nodeWidth(r);var s=o.TextAttributes.nodeWidth(e.endNode)-e.endOffset;if("X-ROW"!=(r=e.endNode).nodeName)for("#text"==r.nodeName&&"SPAN"==r.parentNode.nodeName&&(r=r.parentNode);r.nextSibling;)r=r.nextSibling,s+=o.TextAttributes.nodeWidth(r);var n=this.getRowsText(e.startRow.rowIndex,e.endRow.rowIndex+1);return i.wc.substring(n,t,i.wc.strWidth(n)-s)},o.Terminal.prototype.copySelectionToClipboard=function(){var e=this.getSelectionText();null!=e&&this.copyStringToClipboard(e)},o.Terminal.prototype.overlaySize=function(){this.showOverlay(this.screenSize.width+"x"+this.screenSize.height)},o.Terminal.prototype.onVTKeystroke=function(e){this.scrollOnKeystroke_&&this.scrollPort_.scrollRowToBottom(this.getRowCount()),this.io.onVTKeystroke(this.keyboard.encode(e))},o.Terminal.prototype.openUrl=function(e){window.chrome&&window.chrome.browser?chrome.browser.openTab({url:e}):window.open(e,"_blank").focus()},o.Terminal.prototype.openSelectedUrl_=function(){var e=this.getSelectionText();if((null!=e||(this.screen_.expandSelection(this.document_.getSelection()),null!=(e=this.getSelectionText())))&&!(e.length>2048||e.search(/[\s\[\](){}<>"'\\^`]/)>=0)){if(e.search("^[a-zA-Z][a-zA-Z0-9+.-]*://")<0)switch(e.split(":",1)[0]){case"mailto":break;default:e="http://"+e}this.openUrl(e)}},o.Terminal.prototype.onMouse_=function(e){if(!e.processedByTerminalHandler_){var t=!this.defeatMouseReports_&&this.vt.mouseReport!=this.vt.MOUSE_REPORT_DISABLED;if(e.processedByTerminalHandler_=!0,e.terminalRow=parseInt((e.clientY-this.scrollPort_.visibleRowTopMargin)/this.scrollPort_.characterSize.height)+1,e.terminalColumn=parseInt(e.clientX/this.scrollPort_.characterSize.width)+1,!("mousedown"==e.type&&e.terminalColumn>this.screenSize.width)){if(this.options_.cursorVisible&&!t&&(e.terminalRow-1==this.screen_.cursorPosition.row&&e.terminalColumn-1==this.screen_.cursorPosition.column?this.cursorNode_.style.display="none":"none"==this.cursorNode_.style.display&&(this.cursorNode_.style.display="")),"mousedown"==e.type&&(e.altKey||!t?(this.defeatMouseReports_=!0,this.setSelectionEnabled(!0)):(this.defeatMouseReports_=!1,this.document_.getSelection().collapseToEnd(),this.setSelectionEnabled(!1),e.preventDefault())),t)this.scrollBlockerNode_.engaged||("mousedown"==e.type?(this.scrollBlockerNode_.engaged=!0,this.scrollBlockerNode_.style.top=e.clientY-5+"px",this.scrollBlockerNode_.style.left=e.clientX-5+"px"):"mousemove"==e.type&&(this.document_.getSelection().collapseToEnd(),e.preventDefault())),this.onMouse(e);else{if("dblclick"==e.type&&this.copyOnSelect&&(this.screen_.expandSelection(this.document_.getSelection()),this.copySelectionToClipboard(this.document_)),"click"==e.type&&!e.shiftKey&&(e.ctrlKey||e.metaKey))return clearTimeout(this.timeouts_.openUrl),void(this.timeouts_.openUrl=setTimeout(this.openSelectedUrl_.bind(this),500));if("mousedown"==e.type&&(this.mouseRightClickPaste&&2==e.button||e.button==this.mousePasteButton)&&(this.paste()||console.warning("Could not paste manually due to web restrictions")),"mouseup"==e.type&&0==e.button&&this.copyOnSelect&&!this.document_.getSelection().isCollapsed&&this.copySelectionToClipboard(this.document_),"mousemove"!=e.type&&"mouseup"!=e.type||!this.scrollBlockerNode_.engaged||(this.scrollBlockerNode_.engaged=!1,this.scrollBlockerNode_.style.top="-99px"),this.scrollWheelArrowKeys_&&!e.shiftKey&&this.keyboard.applicationCursor&&!this.isPrimaryScreen()&&"wheel"==e.type){var r=this.scrollPort_.scrollWheelDelta(e),o=i.f.smartFloorDivide(Math.abs(r),this.scrollPort_.characterSize.height),s="O"+(r<0?"B":"A");this.io.sendString(s.repeat(o)),e.preventDefault()}}"mouseup"==e.type&&this.document_.getSelection().isCollapsed&&(this.defeatMouseReports_=!1)}}},o.Terminal.prototype.onMouse=function(e){},o.Terminal.prototype.onFocusChange_=function(e){this.cursorNode_.setAttribute("focus",e),this.restyleCursor_(),!0===e&&this.closeBellNotifications_()},o.Terminal.prototype.onScroll_=function(){this.scheduleSyncCursorPosition_()},o.Terminal.prototype.onPaste_=function(e){var t=e.text.replace(/\n/gm,"\r");t=this.keyboard.encode(t),this.options_.bracketedPaste&&(t="[200~"+t+"[201~"),this.io.sendString(t)},o.Terminal.prototype.onCopy_=function(e){this.useDefaultWindowCopy||(e.preventDefault(),setTimeout(this.copySelectionToClipboard.bind(this),0))},o.Terminal.prototype.onResize_=function(){var e=Math.floor(this.scrollPort_.getScreenWidth()/this.scrollPort_.characterSize.width)||0,t=i.f.smartFloorDivide(this.scrollPort_.getScreenHeight(),this.scrollPort_.characterSize.height)||0;if(!(e<=0||t<=0)){var r=e!=this.screenSize.width||t!=this.screenSize.height;this.realizeSize_(e,t),this.showZoomWarning_(1!=this.scrollPort_.characterSize.zoomFactor),r&&this.overlaySize(),this.restyleCursor_(),this.scheduleSyncCursorPosition_()}},o.Terminal.prototype.onCursorBlink_=function(){this.options_.cursorBlink?"false"==this.cursorNode_.getAttribute("focus")||"0"==this.cursorNode_.style.opacity?(this.cursorNode_.style.opacity="1",this.timeouts_.cursorBlink=setTimeout(this.myOnCursorBlink_,this.cursorBlinkCycle_[0])):(this.cursorNode_.style.opacity="0",this.timeouts_.cursorBlink=setTimeout(this.myOnCursorBlink_,this.cursorBlinkCycle_[1])):delete this.timeouts_.cursorBlink},o.Terminal.prototype.setScrollbarVisible=function(e){this.scrollPort_.setScrollbarVisible(e)},o.Terminal.prototype.setScrollWheelMoveMultipler=function(e){this.scrollPort_.setScrollWheelMoveMultipler(e)},o.Terminal.prototype.closeBellNotifications_=function(){this.bellNotificationList_.forEach(function(e){e.close()}),this.bellNotificationList_.length=0},i.rtdep("lib.encodeUTF8"),o.Terminal.IO=function(e){this.terminal_=e,this.previousIO_=null},o.Terminal.IO.prototype.showOverlay=function(e,t){this.terminal_.showOverlay(e,t)},o.Terminal.IO.prototype.createFrame=function(e,t){return new o.Frame(this.terminal_,e,t)},o.Terminal.IO.prototype.setTerminalProfile=function(e){this.terminal_.setProfile(e)},o.Terminal.IO.prototype.push=function(){var e=new o.Terminal.IO(this.terminal_);return e.keyboardCaptured_=this.keyboardCaptured_,e.columnCount=this.columnCount,e.rowCount=this.rowCount,e.previousIO_=this.terminal_.io,this.terminal_.io=e,e},o.Terminal.IO.prototype.pop=function(){this.terminal_.io=this.previousIO_},o.Terminal.IO.prototype.sendString=function(e){console.log("Unhandled sendString: "+e)},o.Terminal.IO.prototype.onVTKeystroke=function(e){console.log("Unobserverd VT keystroke: "+JSON.stringify(e))},o.Terminal.IO.prototype.onTerminalResize_=function(e,t){for(var r=this;r;)r.columnCount=e,r.rowCount=t,r=r.previousIO_;this.onTerminalResize(e,t)},o.Terminal.IO.prototype.onTerminalResize=function(e,t){},o.Terminal.IO.prototype.writeUTF8=function(e){if(this.terminal_.io!=this)throw"Attempt to print from inactive IO object.";this.terminal_.interpret(e)},o.Terminal.IO.prototype.writelnUTF8=function(e){if(this.terminal_.io!=this)throw"Attempt to print from inactive IO object.";this.terminal_.interpret(e+"\r\n")},o.Terminal.IO.prototype.print=o.Terminal.IO.prototype.writeUTF16=function(e){this.writeUTF8(i.encodeUTF8(e))},o.Terminal.IO.prototype.println=o.Terminal.IO.prototype.writelnUTF16=function(e){this.writelnUTF8(i.encodeUTF8(e))},i.rtdep("lib.colors"),o.TextAttributes=function(e){this.document_=e,this.foregroundSource=this.SRC_DEFAULT,this.backgroundSource=this.SRC_DEFAULT,this.foreground=this.DEFAULT_COLOR,this.background=this.DEFAULT_COLOR,this.defaultForeground="rgb(255, 255, 255)",this.defaultBackground="rgb(0, 0, 0)",this.bold=!1,this.faint=!1,this.italic=!1,this.blink=!1,this.underline=!1,this.strikethrough=!1,this.inverse=!1,this.invisible=!1,this.wcNode=!1,this.asciiNode=!0,this.tileData=null,this.colorPalette=null,this.resetColorPalette()},o.TextAttributes.prototype.enableBold=!0,o.TextAttributes.prototype.enableBoldAsBright=!0,o.TextAttributes.prototype.DEFAULT_COLOR=i.f.createEnum(""),o.TextAttributes.prototype.SRC_DEFAULT="default",o.TextAttributes.prototype.SRC_RGB="rgb",o.TextAttributes.prototype.setDocument=function(e){this.document_=e},o.TextAttributes.prototype.clone=function(){var e=new o.TextAttributes(null);for(var t in this)e[t]=this[t];return e.colorPalette=this.colorPalette.concat(),e},o.TextAttributes.prototype.reset=function(){this.foregroundSource=this.SRC_DEFAULT,this.backgroundSource=this.SRC_DEFAULT,this.foreground=this.DEFAULT_COLOR,this.background=this.DEFAULT_COLOR,this.bold=!1,this.faint=!1,this.italic=!1,this.blink=!1,this.underline=!1,this.strikethrough=!1,this.inverse=!1,this.invisible=!1,this.wcNode=!1,this.asciiNode=!0},o.TextAttributes.prototype.resetColorPalette=function(){this.colorPalette=i.colors.colorPalette.concat(),this.syncColors()},o.TextAttributes.prototype.isDefault=function(){return this.foregroundSource==this.SRC_DEFAULT&&this.backgroundSource==this.SRC_DEFAULT&&!this.bold&&!this.faint&&!this.italic&&!this.blink&&!this.underline&&!this.strikethrough&&!this.inverse&&!this.invisible&&!this.wcNode&&this.asciiNode&&null==this.tileData},o.TextAttributes.prototype.createContainer=function(e){if(this.isDefault())return this.document_.createTextNode(e);var t=this.document_.createElement("span"),r=t.style,i=[];this.foreground!=this.DEFAULT_COLOR&&(r.color=this.foreground),this.background!=this.DEFAULT_COLOR&&(r.backgroundColor=this.background),this.enableBold&&this.bold&&(r.fontWeight="bold"),this.faint&&(t.faint=!0),this.italic&&(r.fontStyle="italic"),this.blink&&(i.push("blink-node"),t.blinkNode=!0);var o="";return this.underline&&(o+=" underline",t.underline=!0),this.strikethrough&&(o+=" line-through",t.strikethrough=!0),o&&(r.textDecoration=o),this.wcNode&&(i.push("wc-node"),t.wcNode=!0,t.asciiNode=!1),null!=this.tileData&&(i.push("tile"),i.push("tile_"+this.tileData),t.tileNode=!0),e&&(t.textContent=e),i.length&&(t.className=i.join(" ")),t},o.TextAttributes.prototype.matchesContainer=function(e){if("string"==typeof e||3==e.nodeType)return this.isDefault();var t=e.style;return!(this.wcNode||e.wcNode||this.asciiNode!=this.asciiNode||null!=this.tileData||e.tileNode||this.foreground!=t.color||this.background!=t.backgroundColor||(this.enableBold&&this.bold)!=!!t.fontWeight||this.blink!=e.blinkNode||this.italic!=!!t.fontStyle||!!this.underline!=!!e.underline||!!this.strikethrough!=!!e.strikethrough)},o.TextAttributes.prototype.setDefaults=function(e,t){this.defaultForeground=e,this.defaultBackground=t,this.syncColors()},o.TextAttributes.prototype.syncColors=function(){var e=this.foregroundSource,t=this.backgroundSource,r=this.DEFAULT_COLOR,o=this.DEFAULT_COLOR;if(this.inverse&&(e=this.backgroundSource,t=this.foregroundSource,r=this.defaultBackground,o=this.defaultForeground),this.enableBoldAsBright&&this.bold&&e!=this.SRC_DEFAULT&&e!=this.SRC_RGB&&(e=function(e){return e<8?e+8:e}(e)),this.invisible&&(e=t,r=this.defaultBackground),e!=this.SRC_RGB&&(this.foreground=e==this.SRC_DEFAULT?r:this.colorPalette[e]),this.faint&&!this.invisible){var s=this.foreground==this.DEFAULT_COLOR?this.defaultForeground:this.foreground;this.foreground=i.colors.mix(s,"rgb(0, 0, 0)",.3333)}t!=this.SRC_RGB&&(this.background=t==this.SRC_DEFAULT?o:this.colorPalette[t])},o.TextAttributes.containersMatch=function(e,t){if("string"==typeof e)return o.TextAttributes.containerIsDefault(t);if(e.nodeType!=t.nodeType)return!1;if(3==e.nodeType)return!0;var r=e.style,i=t.style;return r.color==i.color&&r.backgroundColor==i.backgroundColor&&r.fontWeight==i.fontWeight&&r.fontStyle==i.fontStyle&&r.textDecoration==i.textDecoration},o.TextAttributes.containerIsDefault=function(e){return"string"==typeof e||3==e.nodeType},o.TextAttributes.nodeWidth=function(e){return e.asciiNode?e.textContent.length:i.wc.strWidth(e.textContent)},o.TextAttributes.nodeSubstr=function(e,t,r){return e.asciiNode?e.textContent.substr(t,r):i.wc.substr(e.textContent,t,r)},o.TextAttributes.nodeSubstring=function(e,t,r){return e.asciiNode?e.textContent.substring(t,r):i.wc.substring(e.textContent,t,r)},o.TextAttributes.splitWidecharString=function(e){for(var t=[],r=0,o=0,s=!0,n=0;n0?0:1),n|=r,t=""+String.fromCharCode(n)+o+s,e.preventDefault();break;case"mousedown":var n=Math.min(e.button,2)+32;n|=r,t=""+String.fromCharCode(n)+o+s;break;case"mouseup":t="#"+o+s;break;case"mousemove":this.mouseReport==this.MOUSE_REPORT_DRAG&&e.buttons&&(n=32,1&e.buttons?n+=0:4&e.buttons?n+=1:2&e.buttons?n+=2:n+=3,n+=32,n|=r,t=""+String.fromCharCode(n)+o+s);break;case"click":case"dblclick":break;default:console.error("Unknown mouse event: "+e.type,e)}t&&this.terminal.io.sendString(t)}},o.VT.prototype.interpret=function(e){for(this.parseState_.resetBuf(this.decode(e));!this.parseState_.isComplete();){var t=this.parseState_.func,r=this.parseState_.pos,e=this.parseState_.buf;if(this.parseState_.func.call(this,this.parseState_),this.parseState_.func==t&&this.parseState_.pos==r&&this.parseState_.buf==e)throw"Parser did not alter the state!"}},o.VT.prototype.decode=function(e){return"utf-8"==this.characterEncoding?this.decodeUTF8(e):e},o.VT.prototype.encodeUTF8=function(e){return i.encodeUTF8(e)},o.VT.prototype.decodeUTF8=function(e){return this.utf8Decoder_.decode(e)},o.VT.prototype.setEncoding=function(e){switch(e){default:console.warn('Invalid value for "terminal-encoding": '+e);case"iso-2022":this.codingSystemUtf8_=!1,this.codingSystemLocked_=!1;break;case"utf-8-locked":this.codingSystemUtf8_=!0,this.codingSystemLocked_=!0;break;case"utf-8":this.codingSystemUtf8_=!0,this.codingSystemLocked_=!1}this.updateEncodingState_()},o.VT.prototype.updateEncodingState_=function(){var e=Object.keys(o.VT.CC1).filter(e=>!this.codingSystemUtf8_||e.charCodeAt()<128).map(e=>"\\x"+i.f.zpad(e.charCodeAt().toString(16),2)).join("");this.cc1Pattern_=new RegExp(`[${e}]`)},o.VT.prototype.parseUnknown_=function(e){function t(e){!r.codingSystemUtf8_&&r[r.GL].GL&&(e=r[r.GL].GL(e)),r.terminal.print(e)}var r=this,i=e.peekRemainingBuf(),o=i.search(this.cc1Pattern_);return 0==o?(this.dispatch("CC1",i.substr(0,1),e),void e.advance(1)):-1==o?(t(i),void e.reset()):(t(i.substr(0,o)),this.dispatch("CC1",i.substr(o,1),e),void e.advance(o+1))},o.VT.prototype.parseCSI_=function(e){var t=e.peekChar(),r=e.args;t>="@"&&t<="~"?(this.dispatch("CSI",this.leadingModifier_+this.trailingModifier_+t,e),e.resetParseFunction()):";"==t?this.trailingModifier_?e.resetParseFunction():(r.length||r.push(""),r.push("")):t>="0"&&t<="9"?this.trailingModifier_?e.resetParseFunction():r.length?r[r.length-1]+=t:r[0]=t:t>=" "&&t<="?"&&":"!=t?r.length?this.trailingModifier_+=t:this.leadingModifier_+=t:this.cc1Pattern_.test(t)?this.dispatch("CC1",t,e):e.resetParseFunction(),e.advance(1)},o.VT.prototype.parseUntilStringTerminator_=function(e){var t=e.peekRemainingBuf(),r=t.search(/(\x1b\\|\x07)/),i=e.args;if(i.length||(i[0]="",i[1]=new Date),-1==r){i[0]+=t;var o;return i[0].length>this.maxStringSequence&&(o="too long: "+i[0].length),-1!=i[0].indexOf("")&&(o="embedded escape: "+i[0].indexOf("")),new Date-i[1]>this.oscTimeLimit_&&(o="timeout expired: "+new Date-i[1]),o?(console.log("parseUntilStringTerminator_: aborting: "+o,i[0]),e.reset(i[0]),!1):(e.advance(t.length),!0)}return i[0].length+r>this.maxStringSequence?(e.reset(i[0]+t),!1):(i[0]+=t.substr(0,r),e.resetParseFunction(),e.advance(r+(""==t.substr(r,1)?2:1)),!0)},o.VT.prototype.dispatch=function(e,t,r){var i=o.VT[e][t];i?i!=o.VT.ignore?"CC1"==e&&t>""&&!this.enable8BitControl?console.warn("Ignoring 8-bit control code: 0x"+t.charCodeAt(0).toString(16)):i.apply(this,[r,t]):this.warnUnimplemented&&console.warn("Ignored "+e+" code: "+JSON.stringify(t)):this.warnUnimplemented&&console.warn("Unknown "+e+" code: "+JSON.stringify(t))},o.VT.prototype.setANSIMode=function(e,t){4==e?this.terminal.setInsertMode(t):20==e?this.terminal.setAutoCarriageReturn(t):this.warnUnimplemented&&console.warn("Unimplemented ANSI Mode: "+e)},o.VT.prototype.setDECMode=function(e,t){switch(parseInt(e,10)){case 1:this.terminal.keyboard.applicationCursor=t;break;case 3:this.allowColumnWidthChanges_&&(this.terminal.setWidth(t?132:80),this.terminal.clearHome(),this.terminal.setVTScrollRegion(null,null));break;case 5:this.terminal.setReverseVideo(t);break;case 6:this.terminal.setOriginMode(t);break;case 7:this.terminal.setWraparound(t);break;case 12:this.enableDec12&&this.terminal.setCursorBlink(t);break;case 25:this.terminal.setCursorVisible(t);break;case 30:this.terminal.setScrollbarVisible(t);break;case 40:this.terminal.allowColumnWidthChanges_=t;break;case 45:this.terminal.setReverseWraparound(t);break;case 67:this.terminal.keyboard.backspaceSendsBackspace=t;break;case 1e3:this.mouseReport=t?this.MOUSE_REPORT_CLICK:this.MOUSE_REPORT_DISABLED,this.terminal.syncMouseStyle();break;case 1002:this.mouseReport=t?this.MOUSE_REPORT_DRAG:this.MOUSE_REPORT_DISABLED,this.terminal.syncMouseStyle();break;case 1010:this.terminal.scrollOnOutput=t;break;case 1011:this.terminal.scrollOnKeystroke=t;break;case 1036:this.terminal.keyboard.metaSendsEscape=t;break;case 1039:t?this.terminal.keyboard.previousAltSendsWhat_||(this.terminal.keyboard.previousAltSendsWhat_=this.terminal.keyboard.altSendsWhat,this.terminal.keyboard.altSendsWhat="escape"):this.terminal.keyboard.previousAltSendsWhat_&&(this.terminal.keyboard.altSendsWhat=this.terminal.keyboard.previousAltSendsWhat_,this.terminal.keyboard.previousAltSendsWhat_=null);break;case 47:case 1047:this.terminal.setAlternateMode(t);break;case 1048:this.savedState_.save();case 1049:t?(this.savedState_.save(),this.terminal.setAlternateMode(t),this.terminal.clear()):(this.terminal.setAlternateMode(t),this.savedState_.restore());break;case 2004:this.terminal.setBracketedPaste(t);break;default:this.warnUnimplemented&&console.warn("Unimplemented DEC Private Mode: "+e)}},o.VT.ignore=function(){},o.VT.CC1={},o.VT.ESC={},o.VT.CSI={},o.VT.OSC={},o.VT.VT52={},o.VT.CC1["\0"]=o.VT.ignore,o.VT.CC1[""]=o.VT.ignore,o.VT.CC1[""]=function(){this.terminal.ringBell()},o.VT.CC1["\b"]=function(){this.terminal.cursorLeft(1)},o.VT.CC1["\t"]=function(){this.terminal.forwardTabStop()},o.VT.CC1["\n"]=function(){this.terminal.formFeed()},o.VT.CC1["\v"]=o.VT.CC1["\n"],o.VT.CC1["\f"]=o.VT.CC1["\n"],o.VT.CC1["\r"]=function(){this.terminal.setCursorColumn(0)},o.VT.CC1[""]=function(){this.GL="G1"},o.VT.CC1[""]=function(){this.GL="G0"},o.VT.CC1[""]=o.VT.ignore,o.VT.CC1[""]=o.VT.ignore,o.VT.CC1[""]=function(e){"G1"==this.GL&&(this.GL="G0"),e.resetParseFunction(),this.terminal.print("?")},o.VT.CC1[""]=o.VT.CC1[""],o.VT.CC1[""]=function(e){function t(e){var r=e.consumeChar();""!=r&&(this.dispatch("ESC",r,e),e.func==t&&e.resetParseFunction())}e.func=t},o.VT.CC1[""]=o.VT.ignore,o.VT.CC1["„"]=o.VT.ESC.D=function(){this.terminal.lineFeed()},o.VT.CC1["…"]=o.VT.ESC.E=function(){this.terminal.setCursorColumn(0),this.terminal.cursorDown(1)},o.VT.CC1["ˆ"]=o.VT.ESC.H=function(){this.terminal.setTabStop(this.terminal.getCursorColumn())},o.VT.CC1[""]=o.VT.ESC.M=function(){this.terminal.reverseLineFeed()},o.VT.CC1["Ž"]=o.VT.ESC.N=o.VT.ignore,o.VT.CC1[""]=o.VT.ESC.O=o.VT.ignore,o.VT.CC1[""]=o.VT.ESC.P=function(e){e.resetArguments(),e.func=this.parseUntilStringTerminator_},o.VT.CC1["–"]=o.VT.ESC.V=o.VT.ignore,o.VT.CC1["—"]=o.VT.ESC.W=o.VT.ignore,o.VT.CC1["˜"]=o.VT.ESC.X=o.VT.ignore,o.VT.CC1["š"]=o.VT.ESC.Z=function(){this.terminal.io.sendString("[?1;2c")},o.VT.CC1["›"]=o.VT.ESC["["]=function(e){e.resetArguments(),this.leadingModifier_="",this.trailingModifier_="",e.func=this.parseCSI_},o.VT.CC1["œ"]=o.VT.ESC["\\"]=o.VT.ignore,o.VT.CC1[""]=o.VT.ESC["]"]=function(e){function t(e){if(this.parseUntilStringTerminator_(e)&&e.func!=t){var r=e.args[0].match(/^(\d+);(.*)$/);r?(e.args[0]=r[2],this.dispatch("OSC",r[1],e)):console.warn("Invalid OSC: "+JSON.stringify(e.args[0]))}}e.resetArguments(),e.func=t},o.VT.CC1["ž"]=o.VT.ESC["^"]=function(e){e.resetArguments(),e.func=this.parseUntilStringTerminator_},o.VT.CC1["Ÿ"]=o.VT.ESC._=function(e){e.resetArguments(),e.func=this.parseUntilStringTerminator_},o.VT.ESC[" "]=function(e){e.func=function(e){var t=e.consumeChar();this.warnUnimplemented&&console.warn("Unimplemented sequence: ESC 0x20 "+t),e.resetParseFunction()}},o.VT.ESC["#"]=function(e){e.func=function(e){"8"==e.consumeChar()&&this.terminal.fill("E"),e.resetParseFunction()}},o.VT.ESC["%"]=function(e){e.func=function(e){var t=e.consumeChar();if(this.codingSystemLocked_)return"/"==t&&e.consumeChar(),void e.resetParseFunction();switch(t){case"@":this.setEncoding("iso-2022");break;case"G":this.setEncoding("utf-8");break;case"/":switch(t=e.consumeChar()){case"G":case"H":case"I":this.setEncoding("utf-8-locked");break;default:this.warnUnimplemented&&console.warn("Unknown ESC % / argument: "+JSON.stringify(t))}break;default:this.warnUnimplemented&&console.warn("Unknown ESC % argument: "+JSON.stringify(t))}e.resetParseFunction()}},o.VT.ESC["("]=o.VT.ESC[")"]=o.VT.ESC["*"]=o.VT.ESC["+"]=o.VT.ESC["-"]=o.VT.ESC["."]=o.VT.ESC["/"]=function(e,t){e.func=function(e){var r=e.consumeChar();if(""==r)return e.resetParseFunction(),void e.func();var i=this.characterMaps.getMap(r);void 0!==i?"("==t?this.G0=i:")"==t||"-"==t?this.G1=i:"*"==t||"."==t?this.G2=i:"+"!=t&&"/"!=t||(this.G3=i):this.warnUnimplemented&&console.log('Invalid character set for "'+t+'": '+r),e.resetParseFunction()}},o.VT.ESC[6]=o.VT.ignore,o.VT.ESC[7]=function(){this.savedState_.save()},o.VT.ESC[8]=function(){this.savedState_.restore()},o.VT.ESC[9]=o.VT.ignore,o.VT.ESC["="]=function(){this.terminal.keyboard.applicationKeypad=!0},o.VT.ESC[">"]=function(){this.terminal.keyboard.applicationKeypad=!1},o.VT.ESC.F=o.VT.ignore,o.VT.ESC.c=function(){this.reset(),this.terminal.reset()},o.VT.ESC.l=o.VT.ESC.m=o.VT.ignore,o.VT.ESC.n=function(){this.GL="G2"},o.VT.ESC.o=function(){this.GL="G3"},o.VT.ESC["|"]=function(){this.GR="G3"},o.VT.ESC["}"]=function(){this.GR="G2"},o.VT.ESC["~"]=function(){this.GR="G1"},o.VT.OSC[0]=function(e){this.terminal.setWindowTitle(e.args[0])},o.VT.OSC[2]=o.VT.OSC[0],o.VT.OSC[4]=function(e){for(var t=e.args[0].split(";"),r=parseInt(t.length/2),o=this.terminal.getTextAttributes().colorPalette,s=[],n=0;n=o.length||("?"!=l?(l=i.colors.x11ToCSS(l))&&(o[a]=l):(l=i.colors.rgbToX11(o[a]))&&s.push(a+";"+l))}s.length&&this.terminal.io.sendString("]4;"+s.join(";")+"")},o.VT.OSC[9]=function(e){o.notify({body:e.args[0]})},o.VT.OSC[10]=function(e){var t=e.args[0].split(";");if(t){var r=i.colors.x11ToCSS(t.shift());r&&this.terminal.setForegroundColor(r),t.length>0&&(e.args[0]=t.join(";"),o.VT.OSC[11].apply(this,[e]))}},o.VT.OSC[11]=function(e){var t=e.args[0].split(";");if(t){var r=i.colors.x11ToCSS(t.shift());r&&this.terminal.setBackgroundColor(r)}},o.VT.OSC[50]=function(e){var t=e.args[0].match(/CursorShape=(.)/i);if(t)switch(t[1]){case"1":this.terminal.setCursorShape(o.Terminal.cursorShape.BEAM);break;case"2":this.terminal.setCursorShape(o.Terminal.cursorShape.UNDERLINE);break;default:this.terminal.setCursorShape(o.Terminal.cursorShape.BLOCK)}else console.warn("Could not parse OSC 50 args: "+e.args[0])},o.VT.OSC[52]=function(e){var t=e.args[0].match(/^[cps01234567]*;(.*)/);if(t){var r=window.atob(t[1]);r&&this.terminal.copyStringToClipboard(this.decode(r))}},o.VT.OSC[777]=function(e){var t;switch(e.args[0].split(";",1)[0]){case"notify":var r,i;(t=e.args[0].match(/^[^;]+;([^;]*)(;([\s\S]*))?$/))&&(r=t[1],i=t[3]),o.notify({title:r,body:i});break;default:console.warn("Unknown urxvt module: "+e.args[0])}},o.VT.CSI["@"]=function(e){this.terminal.insertSpace(e.iarg(0,1))},o.VT.CSI.A=function(e){this.terminal.cursorUp(e.iarg(0,1))},o.VT.CSI.B=function(e){this.terminal.cursorDown(e.iarg(0,1))},o.VT.CSI.C=function(e){this.terminal.cursorRight(e.iarg(0,1))},o.VT.CSI.D=function(e){this.terminal.cursorLeft(e.iarg(0,1))},o.VT.CSI.E=function(e){this.terminal.cursorDown(e.iarg(0,1)),this.terminal.setCursorColumn(0)},o.VT.CSI.F=function(e){this.terminal.cursorUp(e.iarg(0,1)),this.terminal.setCursorColumn(0)},o.VT.CSI.G=function(e){this.terminal.setCursorColumn(e.iarg(0,1)-1)},o.VT.CSI.H=function(e){this.terminal.setCursorPosition(e.iarg(0,1)-1,e.iarg(1,1)-1)},o.VT.CSI.I=function(e){var t=e.iarg(0,1);t=i.f.clamp(t,1,this.terminal.screenSize.width);for(var r=0;rT"]=o.VT.ignore,o.VT.CSI.X=function(e){this.terminal.eraseToRight(e.iarg(0,1))},o.VT.CSI.Z=function(e){var t=e.iarg(0,1);t=i.f.clamp(t,1,this.terminal.screenSize.width);for(var r=0;rc"]=function(e){this.terminal.io.sendString("[>0;256;0c")},o.VT.CSI.d=function(e){this.terminal.setAbsoluteCursorRow(e.iarg(0,1)-1)},o.VT.CSI.f=o.VT.CSI.H,o.VT.CSI.g=function(e){e.args[0]&&0!=e.args[0]?3==e.args[0]&&this.terminal.clearAllTabStops():this.terminal.clearTabStopAtCursor(!1)},o.VT.CSI.h=function(e){for(var t=0;t=i.colorPalette.length)continue;i.foregroundSource=a}else if(39==s)i.foregroundSource=i.SRC_DEFAULT;else if(s<48)i.backgroundSource=s-40;else if(48==s){var n=r(o);if(null!=n)i.backgroundSource=i.SRC_RGB,i.background=n,o+=5;else{var a=t(o);if(null==a)break;if(o+=2,a>=i.colorPalette.length)continue;i.backgroundSource=a}}else i.backgroundSource=i.SRC_DEFAULT;else s>=90&&s<=97?i.foregroundSource=s-90+8:s>=100&&s<=107&&(i.backgroundSource=s-100+8)}i.setDefaults(this.terminal.getForegroundColor(),this.terminal.getBackgroundColor())}else i.reset()},o.VT.CSI[">m"]=o.VT.ignore,o.VT.CSI.n=function(e){if(5==e.args[0])this.terminal.io.sendString("0n");else if(6==e.args[0]){var t=this.terminal.getCursorRow()+1,r=this.terminal.getCursorColumn()+1;this.terminal.io.sendString("["+t+";"+r+"R")}},o.VT.CSI[">n"]=o.VT.ignore,o.VT.CSI["?n"]=function(e){if(6==e.args[0]){var t=this.terminal.getCursorRow()+1,r=this.terminal.getCursorColumn()+1;this.terminal.io.sendString("["+t+";"+r+"R")}else 15==e.args[0]?this.terminal.io.sendString("[?11n"):25==e.args[0]?this.terminal.io.sendString("[?21n"):26==e.args[0]?this.terminal.io.sendString("[?12;1;0;0n"):53==e.args[0]&&this.terminal.io.sendString("[?50n")},o.VT.CSI[">p"]=o.VT.ignore,o.VT.CSI["!p"]=function(){this.reset(),this.terminal.softReset()},o.VT.CSI.$p=o.VT.ignore,o.VT.CSI["?$p"]=o.VT.ignore,o.VT.CSI['"p']=o.VT.ignore,o.VT.CSI.q=o.VT.ignore,o.VT.CSI[" q"]=function(e){var t=e.args[0];0==t||1==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.BLOCK),this.terminal.setCursorBlink(!0)):2==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.BLOCK),this.terminal.setCursorBlink(!1)):3==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.UNDERLINE),this.terminal.setCursorBlink(!0)):4==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.UNDERLINE),this.terminal.setCursorBlink(!1)):5==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.BEAM),this.terminal.setCursorBlink(!0)):6==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.BEAM),this.terminal.setCursorBlink(!1)):console.warn("Unknown cursor style: "+t)},o.VT.CSI['"q']=o.VT.ignore,o.VT.CSI.r=function(e){var t=e.args,r=t[0]?parseInt(t[0],10)-1:null,i=t[1]?parseInt(t[1],10)-1:null;this.terminal.setVTScrollRegion(r,i),this.terminal.setCursorPosition(0,0)},o.VT.CSI["?r"]=o.VT.ignore,o.VT.CSI.$r=o.VT.ignore,o.VT.CSI.s=function(){this.savedState_.save()},o.VT.CSI["?s"]=o.VT.ignore,o.VT.CSI.t=o.VT.ignore,o.VT.CSI.$t=o.VT.ignore,o.VT.CSI[">t"]=o.VT.ignore,o.VT.CSI[" t"]=o.VT.ignore,o.VT.CSI.u=function(){this.savedState_.restore()},o.VT.CSI[" u"]=o.VT.ignore,o.VT.CSI.$v=o.VT.ignore,o.VT.CSI["'w"]=o.VT.ignore,o.VT.CSI.x=o.VT.ignore,o.VT.CSI["*x"]=o.VT.ignore,o.VT.CSI.$x=o.VT.ignore,o.VT.CSI.z=function(e){if(!(e.args.length<1)){var t=e.args[0];if(0==t){if(e.args.length<2)return;this.terminal.getTextAttributes().tileData=e.args[1]}else 1==t&&(this.terminal.getTextAttributes().tileData=null)}},o.VT.CSI["'z"]=o.VT.ignore,o.VT.CSI.$z=o.VT.ignore,o.VT.CSI["'{"]=o.VT.ignore,o.VT.CSI["'|"]=o.VT.ignore,o.VT.CSI["'}"]=o.VT.ignore,o.VT.CSI["'~"]=o.VT.ignore,i.rtdep("lib.f"),o.VT.CharacterMap=function(e,t){this.description=e,this.GL=null,this.glmapBase_=t,this.sync_()},o.VT.CharacterMap.prototype.sync_=function(e){if(!this.glmapBase_&&!e)return this.GL=null,delete this.glmap_,void delete this.glre_;this.glmap_=e?Object.assign({},this.glmapBase_,e):this.glmapBase_;var t=Object.keys(this.glmap_).map(e=>"\\x"+i.f.zpad(e.charCodeAt(0).toString(16)));this.glre_=new RegExp("["+t.join("")+"]","g"),this.GL=(e=>e.replace(this.glre_,e=>this.glmap_[e]))},o.VT.CharacterMap.prototype.reset=function(){this.glmap_!==this.glmapBase_&&this.sync_()},o.VT.CharacterMap.prototype.setOverrides=function(e){this.sync_(e)},o.VT.CharacterMap.prototype.clone=function(){var e=new o.VT.CharacterMap(this.description,this.glmapBase_);return this.glmap_!==this.glmapBase_&&e.setOverrides(this.glmap_),e},o.VT.CharacterMaps=function(){this.maps_=o.VT.CharacterMaps.DefaultMaps,this.mapsBase_=this.maps_},o.VT.CharacterMaps.prototype.getMap=function(e){return this.maps_.hasOwnProperty(e)?this.maps_[e]:void 0},o.VT.CharacterMaps.prototype.addMap=function(e,t){this.maps_===this.mapsBase_&&(this.maps_=Object.assign({},this.mapsBase_)),this.maps_[e]=t},o.VT.CharacterMaps.prototype.reset=function(){this.maps_!==o.VT.CharacterMaps.DefaultMaps&&(this.maps_=o.VT.CharacterMaps.DefaultMaps)},o.VT.CharacterMaps.prototype.setOverrides=function(e){this.maps_===this.mapsBase_&&(this.maps_=Object.assign({},this.mapsBase_));for(var t in e){var r=this.getMap(t);void 0!==r?(this.maps_[t]=r.clone(),this.maps_[t].setOverrides(e[t])):this.addMap(t,new o.VT.CharacterMap("user "+t,e[t]))}},o.VT.CharacterMaps.DefaultMaps={},o.VT.CharacterMaps.DefaultMaps[0]=new o.VT.CharacterMap("graphic",{"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"}),o.VT.CharacterMaps.DefaultMaps.A=new o.VT.CharacterMap("british",{"#":"£"}),o.VT.CharacterMaps.DefaultMaps.B=new o.VT.CharacterMap("us",null),o.VT.CharacterMaps.DefaultMaps[4]=new o.VT.CharacterMap("dutch",{"#":"£","@":"¾","[":"IJ","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"}),o.VT.CharacterMaps.DefaultMaps.C=o.VT.CharacterMaps.DefaultMaps[5]=new o.VT.CharacterMap("finnish",{"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"}),o.VT.CharacterMaps.DefaultMaps.R=new o.VT.CharacterMap("french",{"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"}),o.VT.CharacterMaps.DefaultMaps.Q=new o.VT.CharacterMap("french canadian",{"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"}),o.VT.CharacterMaps.DefaultMaps.K=new o.VT.CharacterMap("german",{"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"}),o.VT.CharacterMaps.DefaultMaps.Y=new o.VT.CharacterMap("italian",{"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"}),o.VT.CharacterMaps.DefaultMaps.E=o.VT.CharacterMaps.DefaultMaps[6]=new o.VT.CharacterMap("norwegian/danish",{"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"}),o.VT.CharacterMaps.DefaultMaps.Z=new o.VT.CharacterMap("spanish",{"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"}),o.VT.CharacterMaps.DefaultMaps[7]=o.VT.CharacterMaps.DefaultMaps.H=new o.VT.CharacterMap("swedish",{"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"}),o.VT.CharacterMaps.DefaultMaps["="]=new o.VT.CharacterMap("swiss",{"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}),i.resource.add("hterm/audio/bell","audio/ogg;base64","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"),i.resource.add("hterm/images/icon-96","image/png;base64","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"),i.resource.add("hterm/concat/date","text/plain","Tue, 22 Aug 2017 06:42:31 +0000"),i.resource.add("hterm/changelog/version","text/plain","1.70"),i.resource.add("hterm/changelog/date","text/plain","2017-08-16"),i.resource.add("hterm/git/HEAD","text/plain","git rev-parse HEAD"),e.exports={hterm:o,lib:i}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,r){this.textarea=e,this.compositionView=t,this.terminal=r,this.isComposing=!1,this.isSendingComposition=!1,this.compositionPosition={start:null,end:null}}return e.prototype.compositionstart=function(){this.isComposing=!0,this.compositionPosition.start=this.textarea.value.length,this.compositionView.textContent="",this.compositionView.classList.add("active")},e.prototype.compositionupdate=function(e){var t=this;this.compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(function(){t.compositionPosition.end=t.textarea.value.length},0)},e.prototype.compositionend=function(){this.finalizeComposition(!0)},e.prototype.keydown=function(e){if(this.isComposing||this.isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this.finalizeComposition(!1)}return 229!==e.keyCode||(this.handleAnyTextareaChanges(),!1)},e.prototype.finalizeComposition=function(e){var t=this;if(this.compositionView.classList.remove("active"),this.isComposing=!1,this.clearTextareaPosition(),e){var r={start:this.compositionPosition.start,end:this.compositionPosition.end};this.isSendingComposition=!0,setTimeout(function(){if(t.isSendingComposition){t.isSendingComposition=!1;var e=void 0;e=t.isComposing?t.textarea.value.substring(r.start,r.end):t.textarea.value.substring(r.start),t.terminal.handler(e)}},0)}else{this.isSendingComposition=!1;var i=this.textarea.value.substring(this.compositionPosition.start,this.compositionPosition.end);this.terminal.handler(i)}},e.prototype.handleAnyTextareaChanges=function(){var e=this,t=this.textarea.value;setTimeout(function(){if(!e.isComposing){var r=e.textarea.value.replace(t,"");r.length>0&&e.terminal.handler(r)}},0)},e.prototype.updateCompositionElements=function(e){var t=this;if(this.isComposing){var r=this.terminal.element.querySelector(".terminal-cursor");if(r){var i=this.terminal.element.querySelector(".xterm-rows").offsetTop+r.offsetTop;this.compositionView.style.left=r.offsetLeft+"px",this.compositionView.style.top=i+"px",this.compositionView.style.height=r.offsetHeight+"px",this.compositionView.style.lineHeight=r.offsetHeight+"px";var o=this.compositionView.getBoundingClientRect();this.textarea.style.left=r.offsetLeft+"px",this.textarea.style.top=i+"px",this.textarea.style.width=o.width+"px",this.textarea.style.height=o.height+"px",this.textarea.style.lineHeight=o.height+"px"}e||setTimeout(function(){return t.updateCompositionElements(!0)},0)}},e.prototype.clearTextareaPosition=function(){this.textarea.style.left="",this.textarea.style.top=""},e}();t.CompositionHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(2),o=r(3),s=function(){function e(e){this._terminal=e}return e.prototype.addChar=function(e,t){if(e>=" "){var r=n(t);this._terminal.charset&&this._terminal.charset[e]&&(e=this._terminal.charset[e]);var i=this._terminal.y+this._terminal.ybase;if(!r&&this._terminal.x)return void(this._terminal.lines.get(i)[this._terminal.x-1]&&(this._terminal.lines.get(i)[this._terminal.x-1][2]?this._terminal.lines.get(i)[this._terminal.x-1][1]+=e:this._terminal.lines.get(i)[this._terminal.x-2]&&(this._terminal.lines.get(i)[this._terminal.x-2][1]+=e),this._terminal.updateRange(this._terminal.y)));if(this._terminal.x+r-1>=this._terminal.cols)if(this._terminal.wraparoundMode)this._terminal.x=0,++this._terminal.y>this._terminal.scrollBottom?(this._terminal.y--,this._terminal.scroll(!0)):this._terminal.lines.get(this._terminal.y).isWrapped=!0;else if(2===r)return;if(i=this._terminal.y+this._terminal.ybase,this._terminal.insertMode)for(var o=0;othis._terminal.scrollBottom&&(this._terminal.y--,this._terminal.scroll()),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.carriageReturn=function(){this._terminal.x=0},e.prototype.backspace=function(){this._terminal.x>0&&this._terminal.x--},e.prototype.tab=function(){this._terminal.x=this._terminal.nextStop()},e.prototype.shiftOut=function(){this._terminal.setgLevel(1)},e.prototype.shiftIn=function(){this._terminal.setgLevel(0)},e.prototype.insertChars=function(e){var t,r,i,o;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.x,o=[this._terminal.eraseAttr()," ",1];t--&&i=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.cursorForward=function(e){var t=e[0];t<1&&(t=1),this._terminal.x+=t,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.cursorBackward=function(e){var t=e[0];t<1&&(t=1),this._terminal.x>=this._terminal.cols&&this._terminal.x--,this._terminal.x-=t,this._terminal.x<0&&(this._terminal.x=0)},e.prototype.cursorNextLine=function(e){var t=e[0];t<1&&(t=1),this._terminal.y+=t,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x=0},e.prototype.cursorPrecedingLine=function(e){var t=e[0];t<1&&(t=1),this._terminal.y-=t,this._terminal.y<0&&(this._terminal.y=0),this._terminal.x=0},e.prototype.cursorCharAbsolute=function(e){var t=e[0];t<1&&(t=1),this._terminal.x=t-1},e.prototype.cursorPosition=function(e){var t,r;t=e[0]-1,r=e.length>=2?e[1]-1:0,t<0?t=0:t>=this._terminal.rows&&(t=this._terminal.rows-1),r<0?r=0:r>=this._terminal.cols&&(r=this._terminal.cols-1),this._terminal.x=r,this._terminal.y=t},e.prototype.cursorForwardTab=function(e){for(var t=e[0]||1;t--;)this._terminal.x=this._terminal.nextStop()},e.prototype.eraseInDisplay=function(e){var t;switch(e[0]){case 0:for(this._terminal.eraseRight(this._terminal.x,this._terminal.y),t=this._terminal.y+1;t0&&(this._terminal.lines.trimStart(r),this._terminal.ybase=Math.max(this._terminal.ybase-r,0),this._terminal.ydisp=Math.max(this._terminal.ydisp-r,0))}},e.prototype.eraseInLine=function(e){switch(e[0]){case 0:this._terminal.eraseRight(this._terminal.x,this._terminal.y);break;case 1:this._terminal.eraseLeft(this._terminal.x,this._terminal.y);break;case 2:this._terminal.eraseLine(this._terminal.y)}},e.prototype.insertLines=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.rows-1-this._terminal.scrollBottom,i=this._terminal.rows-1+this._terminal.ybase-i+1;t--;)this._terminal.lines.length===this._terminal.lines.maxLength&&(this._terminal.lines.trimStart(1),this._terminal.ybase--,this._terminal.ydisp--,r--,i--),this._terminal.lines.splice(r,0,this._terminal.blankLine(!0)),this._terminal.lines.splice(i,1);this._terminal.updateRange(this._terminal.y),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.deleteLines=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.rows-1-this._terminal.scrollBottom,i=this._terminal.rows-1+this._terminal.ybase-i;t--;)this._terminal.lines.length===this._terminal.lines.maxLength&&(this._terminal.lines.trimStart(1),this._terminal.ybase-=1,this._terminal.ydisp-=1),this._terminal.lines.splice(i+1,0,this._terminal.blankLine(!0)),this._terminal.lines.splice(r,1);this._terminal.updateRange(this._terminal.y),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.deleteChars=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=[this._terminal.eraseAttr()," ",1];t--;)this._terminal.lines.get(r).splice(this._terminal.x,1),this._terminal.lines.get(r).push(i)},e.prototype.scrollUp=function(e){for(var t=e[0]||1;t--;)this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollTop,1),this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollBottom,0,this._terminal.blankLine());this._terminal.updateRange(this._terminal.scrollTop),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.scrollDown=function(e){for(var t=e[0]||1;t--;)this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollBottom,1),this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollTop,0,this._terminal.blankLine());this._terminal.updateRange(this._terminal.scrollTop),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.eraseChars=function(e){var t,r,i,o;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.x,o=[this._terminal.eraseAttr()," ",1];t--&&i=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.HPositionRelative=function(e){var t=e[0];t<1&&(t=1),this._terminal.x+=t,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.repeatPrecedingCharacter=function(e){for(var t=e[0]||1,r=this._terminal.lines.get(this._terminal.ybase+this._terminal.y),i=r[this._terminal.x-1]||[this._terminal.defAttr," ",1];t--;)r[this._terminal.x++]=i},e.prototype.sendDeviceAttributes=function(e){e[0]>0||(this._terminal.prefix?">"===this._terminal.prefix&&(this._terminal.is("xterm")?this._terminal.send(i.C0.ESC+"[>0;276;0c"):this._terminal.is("rxvt-unicode")?this._terminal.send(i.C0.ESC+"[>85;95;0c"):this._terminal.is("linux")?this._terminal.send(e[0]+"c"):this._terminal.is("screen")&&this._terminal.send(i.C0.ESC+"[>83;40003;0c")):this._terminal.is("xterm")||this._terminal.is("rxvt-unicode")||this._terminal.is("screen")?this._terminal.send(i.C0.ESC+"[?1;2c"):this._terminal.is("linux")&&this._terminal.send(i.C0.ESC+"[?6c"))},e.prototype.linePosAbsolute=function(e){var t=e[0];t<1&&(t=1),this._terminal.y=t-1,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1)},e.prototype.VPositionRelative=function(e){var t=e[0];t<1&&(t=1),this._terminal.y+=t,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.HVPosition=function(e){e[0]<1&&(e[0]=1),e[1]<1&&(e[1]=1),this._terminal.y=e[0]-1,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x=e[1]-1,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.tabClear=function(e){var t=e[0];t<=0?delete this._terminal.tabs[this._terminal.x]:3===t&&(this._terminal.tabs={})},e.prototype.setMode=function(e){if(e.length>1)for(var t=0;t1e3,this._terminal.mouseEvents=!0,this._terminal.element.classList.add("enable-mouse-events"),this._terminal.selectionManager.disable(),this._terminal.log("Binding to mouse events.");break;case 1004:this._terminal.sendFocus=!0;break;case 1005:this._terminal.utfMouse=!0;break;case 1006:this._terminal.sgrMouse=!0;break;case 1015:this._terminal.urxvtMouse=!0;break;case 25:this._terminal.cursorHidden=!1;break;case 1049:case 47:case 1047:if(!this._terminal.normal){var r={lines:this._terminal.lines,ybase:this._terminal.ybase,ydisp:this._terminal.ydisp,x:this._terminal.x,y:this._terminal.y,scrollTop:this._terminal.scrollTop,scrollBottom:this._terminal.scrollBottom,tabs:this._terminal.tabs};this._terminal.reset(),this._terminal.viewport.syncScrollArea(),this._terminal.normal=r,this._terminal.showCursor()}}}else switch(e[0]){case 4:this._terminal.insertMode=!0}},e.prototype.resetMode=function(e){if(e.length>1)for(var t=0;t>18,s=this._terminal.curAttr>>9&511,n=511&this._terminal.curAttr;i=30&&t<=37?s=t-30:t>=40&&t<=47?n=t-40:t>=90&&t<=97?s=(t+=8)-90:t>=100&&t<=107?n=(t+=8)-100:0===t?(o=this._terminal.defAttr>>18,s=this._terminal.defAttr>>9&511,n=511&this._terminal.defAttr):1===t?o|=1:4===t?o|=2:5===t?o|=4:7===t?o|=8:8===t?o|=16:22===t?o&=-2:24===t?o&=-3:25===t?o&=-5:27===t?o&=-9:28===t?o&=-17:39===t?s=this._terminal.defAttr>>9&511:49===t?n=511&this._terminal.defAttr:38===t?2===e[i+1]?(i+=2,-1===(s=this._terminal.matchColor(255&e[i],255&e[i+1],255&e[i+2]))&&(s=511),i+=2):5===e[i+1]&&(s=t=255&e[i+=2]):48===t?2===e[i+1]?(i+=2,-1===(n=this._terminal.matchColor(255&e[i],255&e[i+1],255&e[i+2]))&&(n=511),i+=2):5===e[i+1]&&(n=t=255&e[i+=2]):100===t?(s=this._terminal.defAttr>>9&511,n=511&this._terminal.defAttr):this._terminal.error("Unknown SGR attribute: %d.",t);this._terminal.curAttr=o<<18|s<<9|n}else this._terminal.curAttr=this._terminal.defAttr},e.prototype.deviceStatus=function(e){if(this._terminal.prefix){if("?"===this._terminal.prefix)switch(e[0]){case 6:this._terminal.send(i.C0.ESC+"[?"+(this._terminal.y+1)+";"+(this._terminal.x+1)+"R")}}else switch(e[0]){case 5:this._terminal.send(i.C0.ESC+"[0n");break;case 6:this._terminal.send(i.C0.ESC+"["+(this._terminal.y+1)+";"+(this._terminal.x+1)+"R")}},e.prototype.softReset=function(e){this._terminal.cursorHidden=!1,this._terminal.insertMode=!1,this._terminal.originMode=!1,this._terminal.wraparoundMode=!0,this._terminal.applicationKeypad=!1,this._terminal.viewport.syncScrollArea(),this._terminal.applicationCursor=!1,this._terminal.scrollTop=0,this._terminal.scrollBottom=this._terminal.rows-1,this._terminal.curAttr=this._terminal.defAttr,this._terminal.x=this._terminal.y=0,this._terminal.charset=null,this._terminal.glevel=0,this._terminal.charsets=[null]},e.prototype.setCursorStyle=function(e){var t=e[0]<1?1:e[0];switch(t){case 1:case 2:this._terminal.setOption("cursorStyle","block");break;case 3:case 4:this._terminal.setOption("cursorStyle","underline");break;case 5:case 6:this._terminal.setOption("cursorStyle","bar")}var r=t%2==1;this._terminal.setOption("cursorBlink",r)},e.prototype.setScrollRegion=function(e){this._terminal.prefix||(this._terminal.scrollTop=(e[0]||1)-1,this._terminal.scrollBottom=(e[1]&&e[1]<=this._terminal.rows?e[1]:this._terminal.rows)-1,this._terminal.x=0,this._terminal.y=0)},e.prototype.saveCursor=function(e){this._terminal.savedX=this._terminal.x,this._terminal.savedY=this._terminal.y},e.prototype.restoreCursor=function(e){this._terminal.x=this._terminal.savedX||0,this._terminal.y=this._terminal.savedY||0},e}();t.InputHandler=s;var n=function(e){function t(e){var t,r=0,o=i.length-1;if(ei[o][1])return!1;for(;o>=r;)if(t=Math.floor((r+o)/2),e>i[t][1])r=t+1;else{if(!(e=4352&&(e<=4447||9001===e||9002===e||e>=11904&&e<=42191&&12351!==e||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072&&e<=196605||e>=196608&&e<=262141)}var i=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];return function(i){return 0===i?e.nul:i<32||i>=127&&i<160?e.control:t(i)?0:r(i)?2:1}}({nul:0,control:0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=new RegExp("(?:^|[^\\da-z\\.-]+)((https?:\\/\\/)((([\\da-z\\.-]+)\\.([a-z\\.]{2,6}))|((\\d{1,3}\\.){3}\\d{1,3})|(localhost))(:\\d{1,5})?(\\/[\\/\\w\\.\\-%~]*)*(\\?[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?(#[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?)($|[^\\/\\w\\.\\-%]+)"),o=0,s=function(){function e(){this._nextLinkMatcherId=o,this._rowTimeoutIds=[],this._linkMatchers=[],this.registerLinkMatcher(i,null,{matchIndex:1})}return e.prototype.attachToDom=function(e,t){this._document=e,this._rows=t},e.prototype.linkifyRow=function(t){if(this._document){var r=this._rowTimeoutIds[t];r&&clearTimeout(r),this._rowTimeoutIds[t]=setTimeout(this._linkifyRow.bind(this,t),e.TIME_BEFORE_LINKIFY)}},e.prototype.setHypertextLinkHandler=function(e){this._linkMatchers[o].handler=e},e.prototype.setHypertextValidationCallback=function(e){this._linkMatchers[o].validationCallback=e},e.prototype.registerLinkMatcher=function(e,t,r){if(void 0===r&&(r={}),this._nextLinkMatcherId!==o&&!t)throw new Error("handler must be defined");var i={id:this._nextLinkMatcherId++,regex:e,handler:t,matchIndex:r.matchIndex,validationCallback:r.validationCallback,priority:r.priority||0};return this._addLinkMatcherToList(i),i.id},e.prototype._addLinkMatcherToList=function(e){if(0!==this._linkMatchers.length){for(var t=this._linkMatchers.length-1;t>=0;t--)if(e.priority<=this._linkMatchers[t].priority)return void this._linkMatchers.splice(t+1,0,e);this._linkMatchers.splice(0,0,e)}else this._linkMatchers.push(e)},e.prototype.deregisterLinkMatcher=function(e){for(var t=1;t0){if(i.validationCallback)for(var s=function(e){var t=o[e];i.validationCallback(t.textContent,t,function(e){e||t.classList.add("xterm-invalid-link")})},n=0;n=0){var p=this._createAnchorElement(a,t.handler,i);if(c.textContent.length===a.length)if(3===c.nodeType)this._replaceNode(c,p);else{var d=c;if("A"===d.nodeName)return r;d.innerHTML="",d.appendChild(p)}else if(c.childNodes.length>1)for(var f=0;f"]=function(e){return e.setPrefix(">")},a["!"]=function(e){return e.setPrefix("!")},a[0]=function(e){return e.setParam(10*e.getParam())},a[1]=function(e){return e.setParam(10*e.getParam()+1)},a[2]=function(e){return e.setParam(10*e.getParam()+2)},a[3]=function(e){return e.setParam(10*e.getParam()+3)},a[4]=function(e){return e.setParam(10*e.getParam()+4)},a[5]=function(e){return e.setParam(10*e.getParam()+5)},a[6]=function(e){return e.setParam(10*e.getParam()+6)},a[7]=function(e){return e.setParam(10*e.getParam()+7)},a[8]=function(e){return e.setParam(10*e.getParam()+8)},a[9]=function(e){return e.setParam(10*e.getParam()+9)},a.$=function(e){return e.setPostfix("$")},a['"']=function(e){return e.setPostfix('"')},a[" "]=function(e){return e.setPostfix(" ")},a["'"]=function(e){return e.setPostfix("'")},a[";"]=function(e){return e.finalizeParam()},a[i.C0.CAN]=function(e){return e.setState(h.NORMAL)};var l={};l["@"]=function(e,t,r){return e.insertChars(t)},l.A=function(e,t,r){return e.cursorUp(t)},l.B=function(e,t,r){return e.cursorDown(t)},l.C=function(e,t,r){return e.cursorForward(t)},l.D=function(e,t,r){return e.cursorBackward(t)},l.E=function(e,t,r){return e.cursorNextLine(t)},l.F=function(e,t,r){return e.cursorPrecedingLine(t)},l.G=function(e,t,r){return e.cursorCharAbsolute(t)},l.H=function(e,t,r){return e.cursorPosition(t)},l.I=function(e,t,r){return e.cursorForwardTab(t)},l.J=function(e,t,r){return e.eraseInDisplay(t)},l.K=function(e,t,r){return e.eraseInLine(t)},l.L=function(e,t,r){return e.insertLines(t)},l.M=function(e,t,r){return e.deleteLines(t)},l.P=function(e,t,r){return e.deleteChars(t)},l.S=function(e,t,r){return e.scrollUp(t)},l.T=function(e,t,r){t.length<2&&!r&&e.scrollDown(t)},l.X=function(e,t,r){return e.eraseChars(t)},l.Z=function(e,t,r){return e.cursorBackwardTab(t)},l["`"]=function(e,t,r){return e.charPosAbsolute(t)},l.a=function(e,t,r){return e.HPositionRelative(t)},l.b=function(e,t,r){return e.repeatPrecedingCharacter(t)},l.c=function(e,t,r){return e.sendDeviceAttributes(t)},l.d=function(e,t,r){return e.linePosAbsolute(t)},l.e=function(e,t,r){return e.VPositionRelative(t)},l.f=function(e,t,r){return e.HVPosition(t)},l.g=function(e,t,r){return e.tabClear(t)},l.h=function(e,t,r){return e.setMode(t)},l.l=function(e,t,r){return e.resetMode(t)},l.m=function(e,t,r){return e.charAttributes(t)},l.n=function(e,t,r){return e.deviceStatus(t)},l.p=function(e,t,r){switch(r){case"!":e.softReset(t)}},l.q=function(e,t,r,i){" "===i&&e.setCursorStyle(t)},l.r=function(e,t){return e.setScrollRegion(t)},l.s=function(e,t){return e.saveCursor(t)},l.u=function(e,t){return e.restoreCursor(t)},l[i.C0.CAN]=function(e,t,r,i,o){return o.setState(h.NORMAL)};var h;!function(e){e[e.NORMAL=0]="NORMAL",e[e.ESCAPED=1]="ESCAPED",e[e.CSI_PARAM=2]="CSI_PARAM",e[e.CSI=3]="CSI",e[e.OSC=4]="OSC",e[e.CHARSET=5]="CHARSET",e[e.DCS=6]="DCS",e[e.IGNORE=7]="IGNORE"}(h||(h={}));var c=function(){function e(e,t){this._inputHandler=e,this._terminal=t,this._state=h.NORMAL}return e.prototype.parse=function(e){var t,r,c,u,p=e.length;for(this._position=0,this._terminal.surrogate_high&&(e=this._terminal.surrogate_high+e,this._terminal.surrogate_high="");this._position":this._terminal.log("Switching back to normal keypad."),this._terminal.applicationKeypad=!1,this._terminal.viewport.syncScrollArea(),this._state=h.NORMAL;break;default:this._state=h.NORMAL,this._terminal.error("Unknown ESC control: %s.",r)}break;case h.CHARSET:r in o.CHARSETS?(t=o.CHARSETS[r],"/"===r&&this.skipNextChar()):t=o.DEFAULT_CHARSET,this._terminal.setgCharset(this._terminal.gcharset,t),this._terminal.gcharset=null,this._state=h.NORMAL;break;case h.OSC:if(r===i.C0.ESC||r===i.C0.BEL){switch(r===i.C0.ESC&&this._position++,this._terminal.params.push(this._terminal.currentParam),this._terminal.params[0]){case 0:case 1:case 2:this._terminal.params[1]&&(this._terminal.title=this._terminal.params[1],this._terminal.handleTitle(this._terminal.title))}this._terminal.params=[],this._terminal.currentParam=0,this._state=h.NORMAL}else this._terminal.params.length?this._terminal.currentParam+=r:r>="0"&&r<="9"?this._terminal.currentParam=10*this._terminal.currentParam+r.charCodeAt(0)-48:";"===r&&(this._terminal.params.push(this._terminal.currentParam),this._terminal.currentParam="");break;case h.CSI_PARAM:if(r in a){a[r](this);break}this.finalizeParam(),this._state=h.CSI;case h.CSI:r in l?l[r](this._inputHandler,this._terminal.params,this._terminal.prefix,this._terminal.postfix,this):this._terminal.error("Unknown CSI code: %s.",r),this._state=h.NORMAL,this._terminal.prefix="",this._terminal.postfix="";break;case h.DCS:if(r===i.C0.ESC||r===i.C0.BEL){r===i.C0.ESC&&this._position++;var d=void 0,f=void 0;switch(this._terminal.prefix){case"":break;case"$q":switch(d=this._terminal.currentParam,f=!1,d){case'"q':d='0"q';break;case'"p':d='61"p';break;case"r":d=this._terminal.scrollTop+1+";"+(this._terminal.scrollBottom+1)+"r";break;case"m":d="0m";break;default:this._terminal.error("Unknown DCS Pt: %s.",d),d=""}this._terminal.send(i.C0.ESC+"P"+ +f+"$r"+d+i.C0.ESC+"\\");break;case"+p":break;case"+q":d=this._terminal.currentParam,f=!1,this._terminal.send(i.C0.ESC+"P"+ +f+"+r"+d+i.C0.ESC+"\\");break;default:this._terminal.error("Unknown DCS prefix: %s.",this._terminal.prefix)}this._terminal.currentParam=0,this._terminal.prefix="",this._state=h.NORMAL}else this._terminal.currentParam?this._terminal.currentParam+=r:this._terminal.prefix||"$"===r||"+"===r?2===this._terminal.prefix.length?this._terminal.currentParam=r:this._terminal.prefix+=r:this._terminal.currentParam=r;break;case h.IGNORE:r!==i.C0.ESC&&r!==i.C0.BEL||(r===i.C0.ESC&&this._position++,this._state=h.NORMAL)}}return this._state},e.prototype.setState=function(e){this._state=e},e.prototype.setPrefix=function(e){this._terminal.prefix=e},e.prototype.setPostfix=function(e){this._terminal.postfix=e},e.prototype.setParam=function(e){this._terminal.currentParam=e},e.prototype.getParam=function(){return this._terminal.currentParam},e.prototype.finalizeParam=function(){this._terminal.params.push(this._terminal.currentParam),this._terminal.currentParam=0},e.prototype.skipNextChar=function(){this._position++},e}();t.Parser=c},function(e,t,r){"use strict";function i(e){var t=e.ownerDocument.createElement("span");t.innerHTML="hello world",e.appendChild(t);var r=t.offsetWidth,i=t.offsetHeight;t.style.fontWeight="bold";var o=t.offsetWidth,s=t.offsetHeight;return e.removeChild(t),r!==o||i!==s}Object.defineProperty(t,"__esModule",{value:!0});var o,s=r(26);!function(e){e[e.BOLD=1]="BOLD",e[e.UNDERLINE=2]="UNDERLINE",e[e.BLINK=4]="BLINK",e[e.INVERSE=8]="INVERSE",e[e.INVISIBLE=16]="INVISIBLE"}(o||(o={}));var n=null,a=function(){function e(e){this._terminal=e,this._refreshRowsQueue=[],this._refreshFramesSkipped=0,this._refreshAnimationFrame=null,this._spanElementObjectPool=new s.DomElementObjectPool("span"),null===n&&(n=i(this._terminal.element)),this._spanElementObjectPool=new s.DomElementObjectPool("span")}return e.prototype.queueRefresh=function(e,t){this._refreshRowsQueue.push({start:e,end:t}),this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame(this._refreshLoop.bind(this)))},e.prototype._refreshLoop=function(){if(this._terminal.writeBuffer.length>0&&this._refreshFramesSkipped++<=5)this._refreshAnimationFrame=window.requestAnimationFrame(this._refreshLoop.bind(this));else{this._refreshFramesSkipped=0;var e,t;if(this._refreshRowsQueue.length>4)e=0,t=this._terminal.rows-1;else{e=this._refreshRowsQueue[0].start,t=this._refreshRowsQueue[0].end;for(var r=1;rt&&(t=this._refreshRowsQueue[r].end)}this._refreshRowsQueue=[],this._refreshAnimationFrame=null,this._refresh(e,t)}},e.prototype._refresh=function(e,t){var r;t-e>=this._terminal.rows/2&&(r=this._terminal.element.parentNode)&&this._terminal.element.removeChild(this._terminal.rowContainer);var i=this._terminal.cols,s=e;for(t>=this._terminal.rows&&(this._terminal.log("`end` is too large. Most likely a bad CSR."),t=this._terminal.rows-1);s<=t;s++){var a=s+this._terminal.ydisp,l=this._terminal.lines.get(a),h=void 0;h=this._terminal.y===s-(this._terminal.ybase-this._terminal.ydisp)&&this._terminal.cursorState&&!this._terminal.cursorHidden?this._terminal.x:-1;for(var c=this._terminal.defAttr,u=document.createDocumentFragment(),p="",d=void 0;this._terminal.children[s].children.length;){var f=this._terminal.children[s].children[0];this._terminal.children[s].removeChild(f),this._spanElementObjectPool.release(f)}for(var g=0;g>9&511,w=m>>18;if(w&o.BOLD&&(n||d.classList.add("xterm-bold"),C<8&&(C+=8)),w&o.UNDERLINE&&d.classList.add("xterm-underline"),w&o.BLINK&&d.classList.add("xterm-blink"),w&o.INVERSE){var S=_;_=C,C=S,1&w&&C<8&&(C+=8)}w&o.INVISIBLE&&d.classList.add("xterm-hidden"),w&o.INVERSE&&(257===_&&(_=15),256===C&&(C=0)),_<256&&d.classList.add("xterm-bg-color-"+_),C<256&&d.classList.add("xterm-color-"+C)}if(2===b)p+=''+y+"";else if(y.charCodeAt(0)>255)p+=''+y+"";else switch(y){case"&":p+="&";break;case"<":p+="<";break;case">":p+=">";break;default:p+=y<=" "?" ":y}c=m}}p&&!d&&(d=this._spanElementObjectPool.acquire()),d&&(p&&(d.innerHTML=p,p=""),u.appendChild(d),d=null),this._terminal.children[s].appendChild(u)}r&&this._terminal.element.appendChild(this._terminal.rowContainer),this._terminal.emit("refresh",{element:this._terminal.element,start:e,end:t})},e.prototype.refreshSelection=function(e,t){for(;this._terminal.selectionContainer.children.length;)this._terminal.selectionContainer.removeChild(this._terminal.selectionContainer.children[0]);if(e&&t){var r=e[1]-this._terminal.ydisp,i=t[1]-this._terminal.ydisp,o=Math.max(r,0),s=Math.min(i,this._terminal.rows-1);if(!(o>=this._terminal.rows||s<0)){var n=document.createDocumentFragment(),a=r===o?e[0]:0,l=o===s?t[0]:this._terminal.cols;n.appendChild(this._createSelectionElement(o,a,l));var h=s-o-1;if(n.appendChild(this._createSelectionElement(o+1,0,this._terminal.cols,h)),o!==s){var c=i===s?t[0]:this._terminal.cols;n.appendChild(this._createSelectionElement(s,0,c))}this._terminal.selectionContainer.appendChild(n)}}},e.prototype._createSelectionElement=function(e,t,r,i){void 0===i&&(i=1);var o=document.createElement("div");return o.style.height=i*this._terminal.charMeasure.height+"px",o.style.top=e*this._terminal.charMeasure.height+"px",o.style.left=t*this._terminal.charMeasure.width+"px",o.style.width=this._terminal.charMeasure.width*(r-t)+"px",o},e}();t.Renderer=a},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o,s=r(9),n=r(8),a=r(1),l=r(21),h=String.fromCharCode(160),c=new RegExp(h,"g");!function(e){e[e.NORMAL=0]="NORMAL",e[e.WORD=1]="WORD",e[e.LINE=2]="LINE"}(o||(o={}));var u=function(e){function t(t,r,i,s){var n=e.call(this)||this;return n._terminal=t,n._buffer=r,n._rowContainer=i,n._charMeasure=s,n._initListeners(),n.enable(),n._model=new l.SelectionModel(t),n._lastMouseDownTime=0,n._activeSelectionMode=o.NORMAL,n}return i(t,e),t.prototype._initListeners=function(){var e=this;this._bufferTrimListener=function(t){return e._onTrim(t)},this._mouseMoveListener=function(t){return e._onMouseMove(t)},this._mouseDownListener=function(t){return e._onMouseDown(t)},this._mouseUpListener=function(t){return e._onMouseUp(t)}},t.prototype.disable=function(){this.clearSelection(),this._buffer.off("trim",this._bufferTrimListener),this._rowContainer.removeEventListener("mousedown",this._mouseDownListener)},t.prototype.enable=function(){this._buffer.on("trim",this._bufferTrimListener),this._rowContainer.addEventListener("mousedown",this._mouseDownListener)},t.prototype.setBuffer=function(e){this._buffer=e,this.clearSelection()},Object.defineProperty(t.prototype,"hasSelection",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t)&&(e[0]!==t[0]||e[1]!==t[1])},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectionText",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";var r=e[1]===t[1]?t[0]:null,i=[];i.push(this._translateBufferLineToString(this._buffer.get(e[1]),!0,e[0],r));for(var o=e[1]+1;o<=t[1]-1;o++){var s=this._buffer.get(o),a=this._translateBufferLineToString(s,!0);s.isWrapped?i[i.length-1]+=a:i.push(a)}if(e[1]!==t[1]){var s=this._buffer.get(t[1]),a=this._translateBufferLineToString(s,!0,0,t[0]);s.isWrapped?i[i.length-1]+=a:i.push(a)}return i.map(function(e){return e.replace(c," ")}).join(n.isMSWindows?"\r\n":"\n")},enumerable:!0,configurable:!0}),t.prototype.clearSelection=function(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh()},t.prototype._translateBufferLineToString=function(e,t,r,i){void 0===r&&(r=0),void 0===i&&(i=null);for(var o="",s=r,n=i,a=0;a=a&&s--,i>=a&&n--)}var h=n||e.length;if(t){var c=o.search(/\s+$/);if(-1!==c&&(h=Math.min(h,c)),h<=s)return""}return o.substring(s,h)},t.prototype.refresh=function(e){var t=this;this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame(function(){return t._refresh()})),n.isLinux&&e&&this.selectionText.length&&this.emit("newselection",this.selectionText)},t.prototype._refresh=function(){this._refreshAnimationFrame=null,this.emit("refresh",{start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd})},t.prototype.selectAll=function(){this._model.isSelectAllActive=!0,this.refresh()},t.prototype._onTrim=function(e){this._model.onTrim(e)&&this.refresh()},t.prototype._getMouseBufferCoords=function(e){var t=s.getCoords(e,this._rowContainer,this._charMeasure,this._terminal.cols,this._terminal.rows,!0);return t[0]--,t[1]--,t[1]+=this._terminal.ydisp,t},t.prototype._getMouseEventScrollAmount=function(e){var t=s.getCoordsRelativeToElement(e,this._rowContainer)[1],r=this._terminal.rows*this._charMeasure.height;return t>=0&&t<=r?0:(t>r&&(t-=r),t=Math.min(Math.max(t,-50),50),(t/=50)/Math.abs(t)+Math.round(14*t))},t.prototype._onMouseDown=function(e){0===e.button&&(e.preventDefault(),this._dragScrollAmount=0,this._setMouseClickCount(e),e.shiftKey?this._onShiftClick(e):1===this._clickCount?this._onSingleClick(e):2===this._clickCount?this._onDoubleClick(e):3===this._clickCount&&this._onTripleClick(e),this._addMouseDownListeners(),this.refresh(!0))},t.prototype._addMouseDownListeners=function(){var e=this;this._rowContainer.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._rowContainer.ownerDocument.addEventListener("mouseup",this._mouseUpListener),this._dragScrollIntervalTimer=setInterval(function(){return e._dragScroll()},50)},t.prototype._removeMouseDownListeners=function(){this._rowContainer.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._rowContainer.ownerDocument.removeEventListener("mouseup",this._mouseUpListener),clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=null},t.prototype._onShiftClick=function(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))},t.prototype._onSingleClick=function(e){this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=o.NORMAL,this._model.selectionStart=this._getMouseBufferCoords(e),this._model.selectionStart&&(this._model.selectionEnd=null,0===this._buffer.get(this._model.selectionStart[1])[this._model.selectionStart[0]][2]&&this._model.selectionStart[0]++)},t.prototype._onDoubleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=o.WORD,this._selectWordAt(t))},t.prototype._onTripleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=o.LINE,this._selectLineAt(t[1]))},t.prototype._setMouseClickCount=function(e){var t=(new Date).getTime();(t-this._lastMouseDownTime>400||this._distanceFromLastMousePosition(e)>10)&&(this._clickCount=0),this._lastMouseDownTime=t,this._lastMousePosition=[e.pageX,e.pageY],this._clickCount++},t.prototype._distanceFromLastMousePosition=function(e){return Math.max(Math.abs(this._lastMousePosition[0]-e.pageX),Math.abs(this._lastMousePosition[1]-e.pageY))},t.prototype._onMouseMove=function(e){var t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),this._activeSelectionMode===o.LINE?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._terminal.cols-1:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]0?this._model.selectionEnd=[this._terminal.cols-1,this._terminal.ydisp+this._terminal.rows]:this._model.selectionEnd=[0,this._terminal.ydisp],this.refresh())},t.prototype._onMouseUp=function(e){this._removeMouseDownListeners()},t.prototype._convertViewportColToCharacterIndex=function(e,t){for(var r=t[0],i=0;t[0]>=i;i++)0===e[i][2]&&r--;return r},t.prototype._getWordAt=function(e){var t=this._buffer.get(e[1]),r=this._translateBufferLineToString(t,!1),i=this._convertViewportColToCharacterIndex(t,e),o=i,s=e[0]-o,n=0,a=0;if(" "===r.charAt(o)){for(;o>0&&" "===r.charAt(o-1);)o--;for(;i0&&!this._isCharWordSeparator(r.charAt(o-1));)0===t[l-1][2]&&(n++,l--),o--,l--;for(;i+1=0},t.prototype._selectLineAt=function(e){this._model.selectionStart=[0,e],this._model.selectionStartLength=this._terminal.cols},t}(a.EventEmitter);t.SelectionManager=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e){this._terminal=e,this.clearSelection()}return e.prototype.clearSelection=function(){this.selectionStart=null,this.selectionEnd=null,this.isSelectAllActive=!1,this.selectionStartLength=0},Object.defineProperty(e.prototype,"finalSelectionStart",{get:function(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"finalSelectionEnd",{get:function(){return this.isSelectAllActive?[this._terminal.cols,this._terminal.ybase+this._terminal.rows-1]:this.selectionStart?!this.selectionEnd||this.areSelectionValuesReversed()?[this.selectionStart[0]+this.selectionStartLength,this.selectionStart[1]]:this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]?[Math.max(this.selectionStart[0]+this.selectionStartLength,this.selectionEnd[0]),this.selectionEnd[1]]:this.selectionEnd:null},enumerable:!0,configurable:!0}),e.prototype.areSelectionValuesReversed=function(){var e=this.selectionStart,t=this.selectionEnd;return e[1]>t[1]||e[1]===t[1]&&e[0]>t[0]},e.prototype.onTrim=function(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)},e}();t.SelectionModel=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,r,i){var o=this;this.terminal=e,this.viewportElement=t,this.scrollArea=r,this.charMeasure=i,this.currentRowHeight=0,this.lastRecordedBufferLength=0,this.lastRecordedViewportHeight=0,this.terminal.on("scroll",this.syncScrollArea.bind(this)),this.terminal.on("resize",this.syncScrollArea.bind(this)),this.viewportElement.addEventListener("scroll",this.onScroll.bind(this)),setTimeout(function(){return o.syncScrollArea()},0)}return e.prototype.refresh=function(){if(this.charMeasure.height>0){var e=this.charMeasure.height!==this.currentRowHeight;e&&(this.currentRowHeight=this.charMeasure.height,this.viewportElement.style.lineHeight=this.charMeasure.height+"px",this.terminal.rowContainer.style.lineHeight=this.charMeasure.height+"px");var t=this.lastRecordedViewportHeight!==this.terminal.rows;(e||t)&&(this.lastRecordedViewportHeight=this.terminal.rows,this.viewportElement.style.height=this.charMeasure.height*this.terminal.rows+"px",this.terminal.selectionContainer.style.height=this.viewportElement.style.height),this.scrollArea.style.height=this.charMeasure.height*this.lastRecordedBufferLength+"px"}},e.prototype.syncScrollArea=function(){this.lastRecordedBufferLength!==this.terminal.lines.length?(this.lastRecordedBufferLength=this.terminal.lines.length,this.refresh()):this.lastRecordedViewportHeight!==this.terminal.rows?this.refresh():this.charMeasure.height!==this.currentRowHeight&&this.refresh();var e=this.terminal.ydisp*this.currentRowHeight;this.viewportElement.scrollTop!==e&&(this.viewportElement.scrollTop=e)},e.prototype.onScroll=function(e){var t=Math.round(this.viewportElement.scrollTop/this.currentRowHeight)-this.terminal.ydisp;this.terminal.scrollDisp(t,!0)},e.prototype.onWheel=function(e){if(0!==e.deltaY){var t=1;e.deltaMode===WheelEvent.DOM_DELTA_LINE?t=this.currentRowHeight:e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t=this.currentRowHeight*this.terminal.rows),this.viewportElement.scrollTop+=e.deltaY*t,e.preventDefault()}},e.prototype.onTouchStart=function(e){this.lastTouchY=e.touches[0].pageY},e.prototype.onTouchMove=function(e){var t=this.lastTouchY-e.touches[0].pageY;this.lastTouchY=e.touches[0].pageY,0!==t&&(this.viewportElement.scrollTop+=t,e.preventDefault())},e}();t.Viewport=i},function(e,t,r){"use strict";function i(e,t){return t?e.replace(/\r?\n/g,"\r"):e}function o(e,t){t.style.position="fixed",t.style.width="20px",t.style.height="20px",t.style.left=e.clientX-10+"px",t.style.top=e.clientY-10+"px",t.style.zIndex="1000",t.focus(),setTimeout(function(){t.style.position=null,t.style.width=null,t.style.height=null,t.style.left=null,t.style.top=null,t.style.zIndex=null},4)}Object.defineProperty(t,"__esModule",{value:!0}),t.prepareTextForTerminal=i,t.copyHandler=function(e,t,r){t.browser.isMSIE?window.clipboardData.setData("Text",r.selectionText):e.clipboardData.setData("text/plain",r.selectionText),e.preventDefault()},t.pasteHandler=function(e,t){e.stopPropagation();var r=function(r){return r=i(r,t.browser.isMSWindows),t.handler(r),t.textarea.value="",t.emit("paste",r),t.cancel(e)};t.browser.isMSIE?window.clipboardData&&r(window.clipboardData.getData("Text")):e.clipboardData&&r(e.clipboardData.getData("text/plain"))},t.moveTextAreaUnderMouseCursor=o,t.rightClickHandler=function(e,t,r){o(e,t),t.value=r.selectionText,t.select()}},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t,r){var i=e.call(this)||this;return i._document=t,i._parentElement=r,i}return i(t,e),Object.defineProperty(t.prototype,"width",{get:function(){return this._width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this._height},enumerable:!0,configurable:!0}),t.prototype.measure=function(){var e=this;this._measureElement?this._doMeasure():(this._measureElement=this._document.createElement("span"),this._measureElement.style.position="absolute",this._measureElement.style.top="0",this._measureElement.style.left="-9999em",this._measureElement.textContent="W",this._measureElement.setAttribute("aria-hidden","true"),this._parentElement.appendChild(this._measureElement),setTimeout(function(){return e._doMeasure()},0))},t.prototype._doMeasure=function(){var e=this._measureElement.getBoundingClientRect();0!==e.width&&0!==e.height&&(this._width===e.width&&this._height===e.height||(this._width=e.width,this._height=e.height,this.emit("charsizechanged")))},t}(r(1).EventEmitter);t.CharMeasure=o},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var r=e.call(this)||this;return r._array=new Array(t),r._startIndex=0,r._length=0,r}return i(t,e),Object.defineProperty(t.prototype,"maxLength",{get:function(){return this._array.length},set:function(e){for(var t=new Array(e),r=0;rthis._length)for(var t=this._length;t=e;o--)this._array[this._getCyclicIndex(o+r.length)]=this._array[this._getCyclicIndex(o)];for(var o=0;othis.maxLength){var s=this._length+r.length-this.maxLength;this._startIndex+=s,this._length=this.maxLength,this.emit("trim",s)}else this._length+=r.length}},t.prototype.trimStart=function(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.emit("trim",e)},t.prototype.shiftElements=function(e,t,r){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+r<0)throw new Error("Cannot shift elements in list beyond index 0");if(r>0){for(o=t-1;o>=0;o--)this.set(e+o+r,this.get(e+o));var i=e+t+r-this._length;if(i>0)for(this._length+=i;this._length>this.maxLength;)this._length--,this._startIndex++,this.emit("trim",1)}else for(var o=0;o=0}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(10),o=r(13),s=r(12),n=r(11),a=document.getElementById("terminal");if(null!==a){var l;l="hterm"==gotty_term?new i.Hterm(a):new o.Xterm(a);var h=("https:"==window.location.protocol?"wss://":"ws://")+window.location.host+window.location.pathname+"ws",c=window.location.search,u=new n.ConnectionFactory(h,s.protocols),p=new s.WebTTY(l,u,c,gotty_auth_token).open();window.addEventListener("unload",function(){p(),l.close()})}},function(e,t,r){function i(e){return r(o(e))}function o(e){var t=s[e];if(!(t+1))throw new Error("Cannot find module '"+e+"'.");return t}var s={"./attach/attach":4,"./attach/attach.js":4,"./attach/package.json":30,"./fit/fit":5,"./fit/fit.js":5,"./fit/package.json":31,"./fullscreen/fullscreen":6,"./fullscreen/fullscreen.css":32,"./fullscreen/fullscreen.js":6,"./fullscreen/package.json":33,"./terminado/package.json":34,"./terminado/terminado":7,"./terminado/terminado.js":7};i.keys=function(){return Object.keys(s)},i.resolve=o,e.exports=i,i.id=29},function(e,t){e.exports={name:"xterm.attach",main:"attach.js",private:!0}},function(e,t){e.exports={name:"xterm.fit",main:"fit.js",private:!0}},function(e,t){throw new Error("Module parse failed: /home/yudai/archive/products/2015/gotty/src/github.com/yudai/gotty/js/node_modules/xterm/lib/addons/fullscreen/fullscreen.css Unexpected token (1:0)\nYou may need an appropriate loader to handle this file type.\n| .xterm.fullscreen {\n| position: fixed;\n| top: 0;")},function(e,t){e.exports={name:"xterm.fullscreen",main:"fullscreen.js",private:!0}},function(e,t){e.exports={name:"xterm.terminado",main:"terminado.js",private:!0}}]); \ No newline at end of file diff --git a/js/package-lock.json b/js/package-lock.json index f9d5036..0a9eede 100644 --- a/js/package-lock.json +++ b/js/package-lock.json @@ -1093,6 +1093,12 @@ "libapps": { "version": "github:yudai/libapps#424e3e95e5346ef0c0c281aaf2ef73463a55b39e" }, + "license-loader": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/license-loader/-/license-loader-0.5.0.tgz", + "integrity": "sha512-4p+estbTHilHxOXv/wh8qHndksfINzBT6HGvgIU4sfwWu28kCByHGV57K/HVgSujoFFv2wCITghGbK/qRiRbUQ==", + "dev": true + }, "load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", diff --git a/js/package.json b/js/package.json index 7aad9cb..8beaeb5 100644 --- a/js/package.json +++ b/js/package.json @@ -1,5 +1,6 @@ { "devDependencies": { + "license-loader": "^0.5.0", "ts-loader": "^2.0.3", "typescript": "^2.3.2", "uglifyjs-webpack-plugin": "^1.0.0-beta.2", diff --git a/js/webpack.config.js b/js/webpack.config.js index c502ee7..e035379 100644 --- a/js/webpack.config.js +++ b/js/webpack.config.js @@ -14,7 +14,12 @@ module.exports = { { test: /\.tsx?$/, loader: "ts-loader", - exclude: [/node_modules/], + exclude: /node_modules/ + }, + { + test: /\.js$/, + include: /node_modules/, + loader: 'license-loader' } ] }, diff --git a/server/asset.go b/server/asset.go index b0da774..2049c30 100644 --- a/server/asset.go +++ b/server/asset.go @@ -194,7 +194,7 @@ func staticJsBundleJs() (*asset, error) { return a, nil } -var _staticJsGottyBundleJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x6b\x6f\x23\x4b\x96\x20\x06\xbf\x81\xf9\xe0\xf7\xfb\x49\xc5\xed\xe1\xcd\x2c\x86\xa8\x4c\xbe\x24\x91\xca\xd2\xb0\xc4\x52\xdf\xda\xae\xba\xf7\x4e\x55\xdd\x7e\x2c\x8b\x5d\x9d\x22\x83\x52\x76\xa5\x32\xd9\x91\x41\xa9\xd4\x22\xdb\x0b\x63\xbd\xc0\x00\x86\xb1\x36\x16\xeb\xfd\x30\x80\xd7\xf6\xac\x67\xc6\x58\x18\xbb\xc6\xc0\xaf\x99\xb5\x81\xb9\x3f\xc0\xff\xa1\x7f\x89\x11\x27\x1e\x19\x91\x0f\x4a\xf7\xf6\xed\xc1\x7e\xd8\x52\x91\xcc\x8c\x13\x8f\x13\x27\x4e\x9c\x38\x27\xe2\x44\xc4\xde\x72\x9d\xcc\x59\x94\x26\x0e\x71\xef\xd5\x73\x83\x39\x91\x7b\x1f\x2d\x1d\x3a\x8d\x66\x2e\x25\x6c\x4d\x93\x06\x7f\x6e\x93\x8f\xab\x94\xb2\x6c\x74\x13\xd2\x46\x1a\xf0\xa0\xe0\x3e\x1a\x46\x38\x1e\xee\xf9\x58\x02\x87\xf7\xdb\xed\x48\x26\x22\x3c\xd1\x3c\x8c\x63\x27\x55\x69\x71\x8a\xf3\x67\xe6\xe2\xb4\x1d\x07\x7b\x5e\x1e\xb6\xe5\x79\xd3\xe0\x7e\x3b\x62\xed\xeb\x80\x60\xd6\x9e\x07\x14\xb3\x76\x14\x98\xa8\xaa\xfc\xb7\x98\xb5\x17\x06\x04\x53\x1c\xb9\xf7\xac\x9d\xf2\x47\x77\xb3\xf9\xe2\xe2\xe7\x64\xce\xda\x0b\xb2\x8c\x12\xf2\x25\x4d\x57\x84\xb2\x3b\x88\x76\x3f\x4f\x93\x65\x74\xb9\xa6\xe1\x45\x4c\x00\xfd\x64\x7d\x4d\xe4\x9b\x87\x2f\x09\x1b\x46\x5b\x97\xe7\x9f\x58\x25\x0b\xf4\x48\xb3\x49\xda\xef\xdf\x93\xec\x55\xba\x58\xc7\xe4\x54\xc7\xc8\x51\xe3\x85\x86\xeb\x98\x6d\x87\x15\x40\x4d\x21\xd6\x5e\x38\x14\xa3\x10\x61\xea\x62\xca\x8b\x4b\xcd\xea\x30\x9d\x44\xd6\x64\x45\x53\x96\xb2\xbb\x15\x69\x5f\x85\xd9\x17\xb7\x89\xaa\x93\xa0\x32\x4f\xc0\xf3\x58\x05\x08\x61\xe6\xb0\x76\x16\xf8\x7d\x77\xeb\x4c\xcd\x2c\x31\x75\xef\xd1\x3a\x23\x8d\x8c\xd1\x68\xce\xd0\x48\xb7\x7b\xa4\x2a\xc8\x02\x76\x15\x65\xa3\x68\xe9\xec\x39\xfc\xa9\x11\x25\x19\x0b\x93\x39\x49\x97\x8d\xc8\x55\x2c\x91\x90\xdb\x46\xe4\x84\xf4\x72\x7d\x4d\x12\x96\x4d\xbd\x19\xce\x5f\x7c\xf3\xa5\x33\x73\x47\xac\x7d\x41\xd3\xdb\x8c\xd0\xe0\x0d\x6f\x54\x9e\x5b\x1c\x44\xf2\x01\xaf\xdb\xcf\x6f\x48\xc2\x9e\x5f\x47\x8c\x11\x2a\x6a\xc3\x4b\x76\x31\x4a\xd6\xd7\x17\x84\xa2\x20\xe0\xd5\x4e\x97\x0d\xd2\x6c\x3a\x24\xb8\x9f\xa7\x71\x36\xb4\x0a\xe7\xd9\x0f\x2d\x0c\xae\xc2\x64\x11\x13\x3a\x34\x31\xd9\xba\x98\x04\x64\xb3\xb9\xdf\x62\x49\xd3\x0f\xe4\x2e\x73\x22\xd5\x5e\x99\xdb\x5e\xa6\xf4\x79\x38\xbf\x72\x34\xd5\xa8\x7b\x9f\xac\xe3\x38\x08\xc8\x94\xce\x78\xf1\x53\x3a\x0b\xa2\x76\xba\xe2\xd0\x6c\x4a\x67\x38\x9a\xd2\xd9\x5e\x10\xe4\xb9\x98\x11\xa7\x74\xe6\xba\x98\xf1\x67\x1e\xb0\x75\xf1\x51\x10\x04\xa4\x3d\x4f\xe3\x94\x66\xed\x98\x24\x97\xec\xea\x54\xbd\xe7\x80\x79\x9a\xcc\x43\xe6\x44\xed\xf7\x32\x20\x8b\xa3\x39\x71\x8e\x5c\x77\xe8\x0f\x7e\x93\x1c\xfc\x01\xcf\xc2\x7b\x54\x16\x22\x85\x87\xf7\x3b\x6e\x2d\x42\x1c\x88\x0b\x29\xf6\x3b\xbc\x8c\x8a\x8a\x72\xb2\x3c\x1e\xd1\xba\xac\x5d\xcc\xd9\xa3\x98\x8f\x08\x94\xed\xc2\xa5\x07\x7f\x5d\x85\x94\x24\x2c\x20\xed\x8b\x74\x71\xb7\xd9\x10\x19\xb0\xd9\x38\xe3\xd3\x71\xfb\x92\xb0\xe7\x31\x01\xee\x78\x76\xf7\x36\xbc\xfc\x3c\xbc\x26\x0e\xe2\x51\x91\x3b\xf5\x66\x43\xde\xf0\x79\x61\xb2\xa8\x8c\x67\x73\x49\xd2\x6b\xc2\xe8\x1d\xe7\x3d\x80\x73\x06\x0c\x08\xfc\x58\x70\x5f\xc2\x55\x40\x30\xd5\xd9\xe5\x09\x67\x98\xf7\x69\xe0\xd7\x66\x53\x54\x23\x71\xd0\x22\x64\x21\xca\x21\x12\x91\xbb\x8b\x30\x23\x81\x27\x5f\x16\x51\xb6\x52\x2f\x1f\x75\xa8\x7a\x98\xaf\x69\x96\xd2\x37\x2c\x64\xc4\x0e\xfa\x2c\x5a\x2c\x48\x12\xec\xf9\xaa\x72\xc9\x0d\xa1\xec\x79\x1a\x8b\xf7\x5f\xac\xc9\x9a\x80\x1c\xe1\x6f\xd9\x9c\xa6\x71\xfc\x36\xd5\x05\x89\x80\x67\x29\x63\xe9\x75\xa0\x2b\xb1\xaf\x32\x5b\x67\x2c\xbd\xfe\x01\xb9\x83\x5e\xfd\x99\x40\x3e\xe0\xa4\x34\x31\x78\x16\x47\xc9\x87\x17\x09\x23\xf4\x26\x8c\x0d\x68\xb8\x5a\xc5\xd1\x3c\xe4\x8d\xf8\x03\x72\xb7\x0a\x17\x1a\x49\x03\x72\x06\x59\x68\x48\x4a\xa3\xcb\x28\x79\x95\x2e\x88\x0e\x8a\x92\x8c\x50\x66\x05\xdd\xd2\x70\x15\xd2\x74\x9d\x2c\x44\xb0\xac\x4c\x92\xd2\x6b\x0b\x83\xf9\x55\x48\x33\xc2\x8c\x90\xcb\x8a\xa0\x98\xdc\x90\x58\x13\x55\xc0\xb3\x60\xca\x63\xc8\x16\x5f\x90\xf9\xcb\x74\x1e\xb2\x94\xca\xe6\xf1\xbd\x57\xe9\x3a\x93\x8c\x79\xc3\x3a\x9e\xfd\xde\xb5\xde\x05\x5a\x46\xc0\x35\x7f\x04\x92\x4a\xc6\xc9\x48\xb2\x38\x4f\xe7\x6b\xf9\xba\x66\x4b\x23\x76\x76\x49\x8d\xb7\x35\xfd\x78\xc3\x8c\x77\x22\x98\x5e\x21\x1f\xc5\x0b\x4a\x12\xc9\x8e\x64\x49\x49\x76\xf5\x86\x85\x94\x59\x21\xcf\x93\x85\xcc\x3a\xbc\x21\x8b\x1f\x1b\xcf\x3f\x31\x9e\xcf\x72\xbe\x26\xe1\x82\x8f\xa8\x9a\xd0\xb7\x34\x62\x56\xc0\x82\x2c\xc7\x8c\xd1\xc0\xef\xfa\x47\xbd\x9c\x3d\x21\xcc\x8c\xa0\x7b\x72\x78\x9d\x05\xd3\x99\x8e\xc8\x3b\xf2\x97\x3c\x54\x35\xc3\x8a\x92\x65\xf4\x51\xf3\xed\x2a\xcd\x98\xf9\x1e\x25\xab\x75\xce\x8f\xe4\xb6\x71\xdd\x7e\x61\x04\xc9\x31\x47\x15\x96\xc9\x48\x77\xed\x2f\xe1\xc5\x29\xe5\x81\x8d\x04\x94\x24\x0b\x42\x89\x44\x5c\xbd\x6d\x36\x39\xc7\x64\x24\x26\x30\xa2\xbc\x0a\x93\xf0\x52\xc5\x2c\x86\x9a\x29\x78\x0f\x89\x96\x91\x8a\xaa\x5f\x37\x1b\x8e\xd7\xfb\xf6\x4b\x15\x90\xd3\x97\x3c\x5b\x2f\x97\x84\x6a\x2a\x41\xd8\x0b\xae\x29\x5c\x52\x92\x65\xba\x2f\x7c\x4c\x97\xcb\x37\x24\x61\x6f\xd3\xb3\x90\xcd\xaf\xbe\x5a\x19\xbd\x24\x62\xe4\x0d\x4b\x57\x2b\x92\x77\xbd\x6c\x4d\x69\x7a\x19\x32\xf2\xfe\x2a\xba\xbc\xd2\x04\x8d\xa3\x84\x64\x40\xa4\x65\xfb\x2c\xa2\xf3\x75\x1c\xd2\x97\x51\xc6\x1c\x43\x4a\x5c\x84\xf3\x0f\xee\x68\x99\x52\x47\x68\x4f\x5a\x5c\x8c\xe8\xfe\xfe\xc8\xcd\xf3\x69\xaf\xd6\xd9\x95\x48\x79\x11\x87\xc9\x87\x97\x51\x42\x1c\xd7\x1d\x55\x92\x49\x4a\xc9\x62\x70\x3b\x23\x4c\x50\xc0\xc9\x33\x96\x2d\xc4\xc2\x0b\xdd\x71\xd8\x7a\xc5\xab\x98\x39\x12\xb6\xce\x08\x7d\x03\xe8\x46\xc9\x65\xb0\xe7\x6f\xb5\x5a\x94\x0a\xad\x89\x6b\x96\x63\x4a\xc3\xbb\x76\x94\xc1\xaf\x43\xdc\xcd\xc6\x21\xc1\x94\xcc\xf8\x10\x55\xd2\x1a\x88\x7b\x4f\xda\xe1\x62\x01\x1d\x96\xd3\x84\x24\x1c\x29\x9e\xd3\x66\xb3\xe7\xbb\x5b\x37\x2f\x23\xcb\xcb\x20\x6d\x4a\xae\xd3\x1b\x52\x9b\x4c\x27\x92\x1a\xa2\x7e\xa7\x8e\x7b\xaf\x64\x79\xc6\xe8\x7a\xce\x52\x1a\x90\x2d\xcd\xb5\xc6\xc0\xd0\x20\x31\x31\xc2\x79\x03\xd2\x3c\xe7\x50\xe4\x2c\x95\x5d\xa5\xb9\xb5\xa3\xec\x55\x38\x6f\x36\x59\x3b\x8c\xd9\x0f\xc8\x5d\xb3\xb9\xc7\xda\x73\x46\x63\xf5\x7c\x4d\x58\xf8\x03\x02\x63\xac\x91\xe4\xcd\x8f\xa2\x64\x91\xde\x66\x66\xc2\xca\x74\x52\x29\x46\x1f\xc8\xdd\x8a\xb3\x2a\xd7\xf9\xda\x1c\xbd\x53\x3a\xa4\xcd\xa6\xb3\x07\xba\xda\x59\xba\x20\x9b\x8d\x7e\x7c\xda\x3b\x34\x48\x12\x2b\x0d\x57\x98\x28\xe4\xe4\xc4\x1f\x6c\xd8\xc9\xc9\xd1\x86\x72\x75\x96\x77\xac\xbd\x20\x6e\xbf\x9f\x87\xf3\x2b\x32\x4d\xb5\x79\x63\x04\x69\x46\xcd\x70\x82\x43\x7c\x85\xe7\x78\x1d\xf8\x07\x1e\x5e\x05\xfb\x3e\x5e\x04\xde\x68\x71\x12\xb5\x6f\x2c\x9d\x66\xb4\x68\xb5\xc0\x64\xca\x02\x0d\x9a\x2e\x66\x38\x09\x84\x5a\x1c\x08\x75\x34\xe0\x0a\x28\xe6\x7a\x97\x33\x0f\xe2\xf6\x22\x12\x5a\xb5\x6c\x7b\x28\xcd\x75\xdd\xfb\x55\xb0\x18\x5d\x50\x12\x7e\xd8\xce\x4f\xd6\xcd\xa6\xb3\x0e\xe6\x78\x15\x2c\xdc\x6d\x19\xd9\x60\x95\xd7\xfd\xca\xb0\x8c\xa4\x7e\xa8\xc9\xe5\x1f\x16\xde\x8f\xcc\xf7\x6d\xb5\x9d\xc4\x30\xca\x6d\x1c\x84\xef\x6f\xc2\x78\xcd\xad\xa3\xad\x0b\x16\xe0\x3c\xa0\x5c\x93\xc4\x6b\xfe\xeb\xe2\x55\x40\x9d\x4e\xd7\xc5\x8b\x80\x3a\x5d\xcf\xc5\x4b\xfe\xdb\x71\xf1\x25\x0f\x77\xf1\x35\x8f\x75\xe8\xe2\x3b\xfe\x7b\xec\xe2\x0b\x1e\xec\xb9\xf8\x3d\x7f\x3f\x72\xf1\x19\x7f\xf7\x5d\x7c\xcb\x93\xf9\x2e\x7e\x13\x50\xe7\xc8\xc5\x37\x01\x75\x8e\x5d\x3c\x0e\xd0\x3a\x11\xe8\x2d\xd0\x9e\x32\x05\x6e\x81\xb1\x4e\xc5\x4f\x7b\x91\xce\x41\xcb\x07\x95\x6d\x94\x38\x51\xc1\xaa\x70\x71\x64\xd8\x4f\x84\x86\x19\x81\x71\xa6\x64\x9f\xed\xf7\xfd\x4e\xd3\x1c\x7d\x36\x7d\xdf\x6f\x9a\x63\xd3\x16\x47\x6d\x16\x26\x97\xe9\x99\xd0\x3f\xa7\xe8\x93\x0e\xe9\xf6\xba\x03\x84\xd1\x27\xf3\xb9\xe7\x79\x1e\x7f\xea\x91\xe3\xd0\x13\x61\xbd\x50\x86\x75\x7b\x83\x7e\xd8\xe3\x4f\x87\xfd\xbe\x77\x78\xc1\x9f\xbc\xc1\xf1\xd1\x71\xc8\x9f\x16\xdd\xc5\xe1\x7c\xc9\x9f\xfa\xfd\xfe\x61\xbf\xcb\x9f\xc8\xb2\x73\xdc\x39\xe6\x4f\x47\x21\xe9\x74\x21\xed\x72\x4e\x8e\x7b\x10\xef\xb0\x73\xbc\x14\x29\xc2\xc5\xe1\x32\x3c\x12\x65\x90\x0e\xe9\x40\x5a\xfe\x6f\x8e\x66\x38\x52\xaa\xb2\x51\x5b\xcd\x39\x44\x59\xce\xa9\x90\xc0\xe8\x13\xd4\x62\x0e\x71\x5b\xcc\xa1\xfc\x2b\x72\x8d\x2e\xc6\x72\x36\x73\x48\x40\xda\x2c\x7d\xc3\x68\x94\x5c\x82\x55\x21\xfb\xc3\x49\xe7\x14\x79\xa8\x45\x86\x44\xd8\xf3\x38\x0d\x2c\x82\x49\x45\xde\xc5\x59\x30\xf5\xf0\x71\x1f\xfb\xdd\x3e\xf6\x0f\xfb\xb8\xe3\xf7\x71\xa7\xdf\x17\x9d\x90\x06\xde\x88\x9e\x74\xfc\xc1\x88\xb6\x5a\x2e\x71\xb2\x29\x3d\xe8\x0e\x7e\x77\xb0\xf1\x66\x98\x3f\xe7\x8f\xbf\x3b\x98\xb9\x66\x92\x9e\x4a\x11\x1c\xb5\x7c\xef\x09\xc5\x19\xce\x5c\x65\x73\xa7\x5b\x87\xb3\x82\xb4\x34\x82\xc8\x36\x2e\x38\xe8\xa6\x82\x56\x52\x28\x10\xcc\xf8\xc8\x4a\x75\x32\x9c\x06\xde\x28\x3d\xe9\xf4\x07\xa3\x94\x97\x19\x80\xde\xf0\x22\x61\x0e\x9d\xa6\xb3\x76\xb6\xbe\xc8\x24\x79\x5c\xcc\x7b\x0b\x13\x24\x9e\x92\xa7\x4f\xfd\x41\xb3\xd3\xef\x63\xf2\xf4\xe9\x11\x3c\x74\xfa\xfd\x26\x99\x69\x3c\x99\xc0\x53\x59\x94\x60\xf2\xa6\x34\x1b\x46\xb9\xb1\x43\xae\xc9\x10\xc9\x08\x08\xe7\x2a\xfc\x90\x8f\xda\x84\x5e\x73\x63\x66\x88\x3e\xf2\x47\x84\x95\xf9\x31\x9c\x1e\x79\xb8\xd3\x9b\x61\x43\x0b\xe7\x09\x94\xa5\x70\x17\x93\x21\xba\x88\xd3\xf9\x07\x84\x6f\xa2\x6c\x1d\xc6\xcf\x48\x0c\x59\xae\xd2\xd5\x17\x89\x7a\xc9\xc7\xf6\xa1\x4f\xba\xfc\x95\x10\xae\xaf\x67\x1c\xb8\x20\x17\xeb\x4b\xc8\x14\xec\x7b\xa1\xb3\x02\x20\xca\xb8\x02\xf8\x86\x2d\xa2\x84\xbf\xaf\x33\x72\x1e\xa7\xb7\x67\x69\xc2\xa8\xc4\x3b\xbc\xe0\x03\xf3\x8f\xa2\x05\xbb\x1a\x1e\xf1\x9e\xa6\xec\xb9\x7b\xfe\xb2\xe4\xea\xae\xd0\xc2\x8b\xb3\x1a\xd1\xd2\xd1\xc3\xb0\xab\xe7\x61\xd4\xb8\xcc\xa3\x68\xd9\x1e\x05\xde\x28\x3a\x21\x4a\x7c\x47\xad\x96\xcb\xc4\xac\x03\xc5\x64\x1a\xcd\x70\x84\x89\xbb\xb5\xc6\xf2\x68\xe9\x18\x13\x06\xae\x3d\x2f\x03\x73\x08\x44\xc8\x45\x86\xb9\xf2\x05\x45\xb1\x46\x94\x34\x88\xfb\xe8\xc9\x9b\x66\x93\x4a\x1d\x48\x73\x01\xdd\x9a\x73\x13\xd8\xc2\x68\x4a\x66\xe6\x94\x03\x99\xe5\xc4\x2a\x81\xb6\xb6\xf8\x13\x64\x2c\x4f\x4d\x09\x3d\x89\x7c\x64\x21\x25\xa1\x88\xe5\xb8\x5b\x2b\xe9\x25\x61\x5f\x40\x21\x85\x99\x2a\x98\x2e\x22\xbc\xc6\x06\xc2\x2e\xbb\xa2\xe9\x2d\xcc\x15\x3d\xa7\x34\xa5\xce\xa7\x9f\xa7\x0d\x81\x63\xe3\x36\x62\x57\x8d\x0f\xe4\xae\x81\x3e\x6d\x91\xd6\xa7\xe8\x53\x5d\xe9\x9b\x34\x5a\x34\xbc\xbd\x20\x30\xed\xf9\x29\x99\x9d\x16\xde\x87\xfc\x9d\x57\xce\x42\x30\xfb\x2d\x22\x98\xdd\x46\x6c\x0e\x23\xed\x3c\xcc\x08\xca\x3b\x01\x1a\x46\x4b\x87\x9d\x68\xdd\x56\x69\x4f\xe8\x0d\x61\x2c\x4a\x2e\x1b\xec\x8a\x34\xf2\xe8\x0d\x18\x4c\x1b\x31\xc9\xb2\x06\xbb\x0a\x13\x00\x8b\xa9\xae\x46\xba\x6c\xf0\x1c\x1a\x48\xf3\x40\x2b\x40\x0e\x6a\xe9\xbc\x5b\xc8\x6d\x44\x59\x23\x49\x59\x23\x8c\xe3\xf4\x96\x2c\xda\xd0\xfb\xb3\x34\x26\xed\xdb\x90\x26\x0e\x75\xf1\x9e\xbf\xe5\x18\xd9\x04\xe3\x24\x05\x42\x18\x4a\xb7\xe8\x03\x4f\x99\x52\x9a\x4a\xa0\x7d\x86\xb3\x20\x9f\x6b\xd8\x4f\x4f\xbc\x91\x11\x89\xd1\xe8\x1a\x6c\x45\x27\xb5\xe6\x27\x5e\x85\xec\xaa\x7d\x1d\x7e\x74\xf2\xb0\xfd\x14\x7b\xae\x39\x6d\x51\x88\x23\xb2\xe7\x71\x32\xa9\xde\x4b\xcb\xd3\xf1\xb0\x31\xc9\xe0\x6e\x8d\xe2\xaf\xc3\x8f\x2f\x01\xcd\x40\x1a\xab\x37\x11\xb9\x5d\xa5\x94\xb5\xb3\xbb\x64\x2e\x54\xfa\x31\x25\xa1\xe3\x6e\xb7\xb2\xf5\x24\xd7\xa8\x04\x46\x97\x61\x58\xb5\xac\x21\x1c\xd1\x50\xd9\x0c\x67\x79\x20\x17\xe9\xcc\x15\x7a\xda\xc8\x48\x01\xf2\x53\xa6\x90\x36\x76\x7b\x1e\x87\x59\xc6\x55\xf9\x36\x4b\x2f\x2f\x63\xe2\x08\x91\xbc\x2f\x52\xec\x67\x3c\xc9\x3e\xd7\x6f\x28\xaf\x12\xc2\x28\x7f\x0e\x78\x83\xe1\x6f\x9e\xdb\x45\x48\x11\x46\xfc\x1b\x72\x30\xf1\x34\x05\x6c\x5e\x35\x6d\x0e\x6d\xed\xce\x44\x49\xc6\xdb\xd6\xae\xb9\x29\x38\xea\x68\x63\x50\xd6\x9c\xef\x71\x4b\x7d\xb5\x2e\x6b\x92\x33\xea\x23\xab\x7e\x01\xad\x85\x89\x9a\xaf\x8b\x49\x48\xed\xdc\xd5\x6c\x93\xe3\x62\x7b\xae\xbb\x76\x5a\x2a\x23\x4c\x27\x32\x6b\xfd\x8d\x70\xda\x4f\x13\xe4\x6e\xf1\xc0\xf3\x8a\xe4\xdd\x81\x63\x89\xc8\xe5\x12\x85\xa5\x58\x5b\x62\xed\x64\x5b\xb3\xe9\x40\xc1\xba\x66\x75\x11\xeb\xb3\x80\x21\x18\x1a\xf3\x22\x92\x93\x50\x56\xd3\xa5\x0e\xd1\xe3\x08\x46\x30\x90\xa0\x7c\xf4\x62\xdc\xce\xd5\xb3\x57\xcd\xa6\x78\x71\x2e\xdb\x67\x5e\xfb\xf9\x9b\xb3\x16\x9a\xbe\x40\xdc\xa8\x2e\x57\x39\x5c\x2c\x1c\x99\x1d\x8f\x90\x5d\xa5\xb7\x82\x7c\xbc\x49\xab\xb9\x15\xa6\x0d\xb9\xb9\xae\xd5\x07\x6e\xfc\x92\xeb\x88\xa9\x9c\xf0\x3d\x27\x60\x94\x84\xf1\x90\x6c\xb9\x61\x6e\xb5\xd1\x45\xbc\xae\xb0\x12\x0a\x43\x25\x8f\xe4\x68\x7a\x3c\xb3\x92\x94\xc8\xc1\x23\x17\xa9\xa1\x24\x1d\x69\xdf\x61\xd2\xbe\x83\xca\xed\x22\xd0\x17\x35\x04\x52\x3c\x91\xd3\x68\x07\x8f\x95\x49\x03\x9a\x95\xa2\x8e\xc0\x73\x27\x71\xa2\x24\x62\xdf\x8f\xd3\x0b\x9b\x5f\x41\x55\x86\x9e\x85\xd5\x62\x12\xd0\x85\xeb\x87\x72\x92\xcd\x60\x1c\x2b\x84\x93\x4e\x06\xa4\x56\xef\xc7\x68\x9e\xae\xee\x0c\xb2\x51\x4e\x36\x63\x4e\x74\xb3\x59\xb4\x79\x14\x35\x99\x47\x31\x03\x22\xda\x13\x44\xae\x34\x5f\x69\xd5\x8a\xe2\xa2\xbd\x0a\x33\x46\x54\x0e\xb0\xa0\x36\x92\x68\xe4\xcd\x07\x71\x60\xc9\xae\x88\x61\x0e\x61\xc6\x14\xc8\x79\x44\xc9\x32\xfd\x78\x5a\x8c\x0d\xb8\x2f\xd2\xdb\xc4\xe6\x85\x4e\x10\xb0\xf6\xc5\x9a\xb1\x34\x69\x36\x17\x6d\x1a\x5d\x5e\xb1\xb3\x38\x9a\x7f\xd0\xb3\x94\xd8\x60\xa6\xca\x1a\x0e\xcb\xa4\x4b\x78\x8a\x6b\x92\xac\xed\xc2\xbe\x5d\xfe\x56\xf5\x5e\x46\xc9\xfa\x63\xb3\x59\x2c\x32\x5c\x7f\x9c\xf3\x5c\xed\xf2\xfc\xc0\xae\x1d\x67\xd6\xb7\xe4\x23\xe3\x43\xf4\x57\x7c\xd8\x83\x39\x6a\xd9\xa5\x1f\x46\x44\x75\x38\xce\x58\xa5\x0e\xa7\x51\xf9\x40\xee\xca\x64\x1e\xb7\xc3\x39\x8b\x6e\x88\x5c\xfe\x11\xca\x26\xef\x69\x1f\xc8\xdd\x24\xbd\xe5\x71\xb6\x78\xcf\xe3\x8d\x6c\x67\x25\x26\xa7\x1e\x9d\xd7\x97\x3c\x7a\x6d\x66\xeb\x95\x9d\x13\xd7\xfd\x37\x1b\xa9\xa0\x3b\xc4\x48\x95\xf3\x5f\x65\x75\xaa\xf1\xb6\x12\x55\x20\x6e\x61\x28\xf5\x27\xae\x99\x06\x08\x55\x65\x32\x4f\xaf\x57\x69\x16\xc1\xa8\xce\x05\x2d\x82\xb5\x39\x1d\xf6\x19\x89\x57\x84\xb6\x8b\xb1\xa0\x85\x9c\x8a\x98\xee\x8e\xfc\xd7\xab\x45\xc8\xfb\xd2\x03\x05\x88\x68\xdf\xaa\x04\x92\x2c\x1e\xcc\x9e\x24\x8b\x5d\x79\x13\x58\xa5\x93\xa2\xbb\x3a\x33\x81\xe0\x59\x1e\xae\x96\x1b\xbf\x41\xbe\x76\x8b\xc1\xd2\x9c\x9c\xf9\x17\x8b\x61\x0e\x6b\x67\x62\xb5\xa6\x4d\x92\x45\x85\x8c\xce\x08\x65\xaf\xd3\xdb\x0a\x91\x87\x52\x30\x4e\xf3\x49\x35\xb1\xbe\x3e\x6e\xcf\x29\x09\x99\x62\x68\x07\x2d\xa2\x1b\xa4\x56\x5d\xa9\x30\xd8\xc3\x28\x21\x94\x8f\x20\x24\x59\x9c\x5d\x45\xf1\xc2\xd1\x9a\x97\x5c\x4f\x12\xc6\x2c\x71\x31\xb1\x11\x4a\x57\xa4\x68\x9c\xe5\x4b\x03\x38\x12\x3f\x19\xb7\xd1\xa5\x02\xa8\xd6\x70\x37\x1b\xe3\x15\xef\x19\x2f\x25\x3b\x0e\xbd\x95\xa3\x56\x83\x92\x5f\xac\x23\x4a\xb2\x46\xd8\x10\x71\x1b\x6a\xd4\x44\x62\x46\x40\x4d\x9a\x73\x2e\x09\x8c\x3c\xdb\xe9\x6d\x42\xe8\x44\xce\x2b\x2a\x9b\xf1\x87\x11\xb9\x95\xab\x57\x12\x52\x9f\x46\xc4\xbb\x48\x17\x77\x81\x95\xe2\xa1\x65\x67\x4b\xe3\x2f\x24\xad\x6a\x98\x3a\x0b\x01\xb4\x25\x35\x7c\x3f\x10\x4d\x4c\x13\x3d\x22\xce\x3e\x4c\x3c\xed\x4b\x83\x14\x5e\x5c\xfc\x4d\xcd\x00\xbb\x98\x8c\xb0\x31\x63\x34\xba\x58\x33\xe2\x70\x0b\x25\x4a\x16\xe4\x23\xd2\xd6\xa2\xb2\xe9\x94\x7c\xad\x66\xcf\xca\xb8\xd5\x55\x50\x91\x8a\xf5\x35\xb9\xb9\x2a\xb7\x42\x19\xb9\x79\xf9\x28\x94\xf2\xe8\xd5\x58\x89\xf9\x81\x7d\x2e\xa9\xea\x6a\x53\x8b\x60\x9e\xb7\x5b\x58\x6d\xd4\x7d\x75\x27\x8e\xe5\xe8\x35\x38\xaa\x78\x0f\x92\xae\x9c\x63\x85\xfc\xd8\x89\x93\x25\x68\x2a\xb1\xe1\x4a\xc8\x83\x88\x98\xd9\x14\x24\x94\x5e\x26\xd5\x4b\xab\xed\x90\xb1\x70\x7e\xf5\x36\x9d\xa4\xd7\xce\xd8\x8e\x2d\x13\x5f\x81\x98\x7e\x5c\x15\x0a\x71\xab\x6b\x21\x22\x3d\x5c\x91\x42\x66\x6a\x59\x53\x0e\x6e\x65\x3c\x14\x04\x15\x62\xee\xc2\x62\xbf\x36\x91\xdd\x49\xc3\x35\x4b\xe7\x29\xa5\x7c\xf0\xc0\x28\x5d\x2e\x1f\x13\x3f\x5c\x45\x2c\x8c\xa3\x5f\x92\x47\x25\xc9\x56\x24\x8e\xe7\x57\x84\xeb\x90\x68\x19\xc6\x19\x29\x25\x60\xe1\xc5\x0b\x2e\x2a\xd4\xfa\xbf\x06\x94\x16\x5e\x4b\x36\xa8\x7b\x1f\xd5\x19\x81\xd1\x16\x74\xdc\x07\x32\x2c\x58\x71\x79\x7e\x45\xb3\xc9\xc8\xae\xc8\x0e\xa5\x26\x56\xe5\x69\x9f\x23\xad\x1c\xf0\x71\x67\x27\xab\x15\xe2\x16\x1b\xd9\x00\x83\xf8\xab\x48\x26\xf4\x0f\x58\x0d\x9e\xb7\xcf\x8a\xe1\x05\x33\xa8\xaa\x4c\xd3\x1f\xe2\xc1\xaa\x16\xd2\xba\xb9\x23\xcd\x9b\xe8\x97\x04\x26\xd2\x6a\xe5\x3d\xcc\x72\xd5\xf5\xb1\x72\x49\x15\x79\xba\xa3\x2c\x9f\xad\x1d\x65\xad\x96\x70\x44\xd0\xba\x92\xe3\x16\xb4\x8f\x72\xb6\xc4\x1a\x13\x78\x21\xaf\x48\x98\xad\xa9\x58\x4f\xbf\x6d\x9f\xe5\x21\x4a\x92\x54\xf7\x60\x23\x29\x28\x7e\xe0\x4c\x14\xfd\x92\xcc\xaf\xc2\xe4\x92\x2c\x0a\x4c\x26\x35\x4a\xb3\x4e\x99\xa3\x39\xcc\xcc\xeb\x5a\x16\x5e\x18\x4b\x00\xbd\x55\xfb\x87\xf2\xd5\x11\x76\x7a\xc5\x68\x53\x37\x7a\x95\x4a\x2a\xba\xc0\xf0\x02\x2e\xda\xaf\xe5\xab\xe9\x56\x53\xf2\x81\xe1\x51\xcf\xda\x6f\x0a\xc1\x06\x4e\x30\xcd\x5b\x1e\x0f\xea\x70\x28\x39\x84\x54\x6b\xd2\x5c\x01\xd6\xf8\x6a\x97\x27\x95\xd6\x21\x52\xa1\x26\x52\xa1\xde\x91\x77\x42\x6e\xf3\x31\xb1\x50\x80\x96\x1e\xc2\xa8\x22\x98\x96\x16\x57\xcc\x20\x91\x4f\xde\x96\x3c\x7b\xa1\x13\x58\x2c\xa0\x96\x05\xca\xf8\xa8\x49\x24\x9d\x43\x49\x7d\x28\x49\xb1\xdf\x2c\xff\xea\xf9\x79\xe5\x6c\xa5\xa6\x86\x1c\x17\x8b\x25\x1d\x98\x8c\x06\x5d\x3f\x09\xd0\x4f\xd2\x75\x63\x11\x2d\x60\x1d\x63\x15\xc2\x42\x08\x69\xfc\x0c\xc8\xf2\xb3\x86\xf2\xd9\x6d\x44\x49\xe3\x67\x4a\x95\x2f\x98\x10\x8e\xfb\xb3\xf6\xbb\x04\x8d\x92\x56\x80\xde\x56\xa5\x4d\xd2\xdb\x86\x5a\xe9\x69\xb0\xb4\xf1\x33\x46\xd7\xe4\x67\x8d\x8b\x35\x6b\x40\xf3\x46\xc9\xa5\x58\xe4\x81\x01\xb0\xfd\xf3\xac\xd1\x6d\x7b\x0d\x84\x79\x86\x11\x6b\xdc\x46\x71\xac\xd2\x43\x72\x18\x83\x7e\x56\x5c\x6c\xe1\x6a\x41\xb0\xe7\x6d\x99\x5c\xb3\x50\x0d\x5b\x9a\x83\x29\xcc\x86\xa8\x69\x32\x70\x42\xcd\x59\x8f\xe7\x46\xda\x51\x76\x96\xc6\x71\xb8\xca\xc8\x62\xc4\x0d\x83\x34\x26\x61\x92\x7b\x41\xb3\xd3\x3d\x36\x44\xaf\xb9\x78\x40\x41\x40\xc0\x4d\xc6\xdd\x6c\x22\xbd\x64\x27\xdb\x80\x2b\xd2\x30\xa3\xa2\x64\x80\x18\xa1\x38\xf5\x10\x58\x89\x71\x1a\x2e\xc6\x8b\x45\x69\xb1\x4c\xf1\x80\xd3\xe9\xb9\x0e\x6a\x1f\xa0\x16\x69\x21\xfe\x5d\xb0\x2d\xab\x84\x51\x69\xe6\xba\x4a\xfe\x02\xd7\xf3\xde\xcc\xe5\x3b\x6a\x0b\x15\xe4\x36\x5a\x90\x7d\x1e\xfb\xfe\x16\xd6\x7f\x51\xab\xf3\xa4\x24\xd5\x00\xd4\x42\xab\x8f\xa3\xad\x4c\x26\x3c\x25\xed\x84\x8f\x48\x06\xab\x6c\x4f\x1b\x8b\xe8\xe6\xfe\x8a\x44\x97\x57\xac\x2a\x99\x80\x88\x74\xa8\x30\x31\xac\x88\x5b\xe7\x55\x21\x97\x18\x30\x38\x1f\xb1\x80\x0b\x05\x4c\x83\x1b\xde\xde\xaf\xc3\xdb\x67\x77\x8c\x9c\xa5\x29\x5d\x64\x0e\xc1\xb1\x2d\xdc\x62\x13\x07\xfe\x96\xc6\x99\x88\x93\xb9\xae\x5c\xc6\x8a\x60\x4d\x1b\x93\x76\x7a\x43\x28\x8d\x16\xe4\xed\xdd\x8a\x6c\x36\x92\x19\xc4\x32\x56\x3e\xc5\x38\xbc\x0a\x98\xb9\x0c\x04\x90\xf5\x8a\x87\x77\x3b\xdb\x82\x7f\x87\x5a\xc7\xbe\x1a\x39\xec\x37\xc7\xb7\xd9\x8c\x1c\xda\x0a\xba\x1d\xcc\x0c\x47\x12\xaa\x57\x65\x63\xed\xb9\x0a\xaf\x1d\xaf\x77\x08\x82\x42\xaf\xe1\xc3\x34\x82\xe7\x8e\xd8\x89\xdf\x39\x3c\x25\x6a\x8d\x7c\xe8\xb0\xa7\x3c\x72\xb3\xe9\xb0\x80\x3f\x70\x62\x00\xcc\x3f\xee\x6c\xd8\xd3\xa7\x83\x3c\xa0\x73\xb4\x19\x74\x9b\xcc\x75\xb7\x24\xce\x08\x14\xd3\xef\xd7\x94\xf2\xd4\xef\x88\x3c\xfd\x4e\x9e\x25\x73\x0d\x22\x45\x06\xee\xb9\xdb\xae\x7b\x4f\x9a\x41\x17\xb3\xf6\xc7\x7d\xa8\x6c\xfb\x8e\xff\x8e\x84\xc3\x81\x31\x75\xdf\xe9\x21\xce\x10\xe0\x80\xef\x46\xad\x00\xf9\x68\xc4\xb1\x6a\x44\x4b\xc7\xd7\x81\xdd\x3c\xb0\xa3\x03\xfb\x22\x90\x97\xdc\x85\x40\x81\xfd\x88\xc3\x3c\xa4\x3c\xc4\xf8\xdb\xaf\xa6\xa8\xc5\xda\x1f\x5b\x08\xf3\xdf\xbb\x16\x9a\xbd\xa3\x48\x88\xe1\x58\x2c\x26\x44\x86\x47\x59\xee\xa9\x7c\xea\x54\x55\x02\xbc\xd6\xc8\x29\x09\x3a\x43\x5f\x3e\xf5\x86\x1d\xf9\x34\x18\x02\x2e\x30\x71\xd4\x75\xad\x32\x8c\x5a\x83\x04\x19\xa1\x96\x40\xfc\xb4\x37\xf4\x5c\x78\x07\xe4\x46\x12\x59\x0e\x67\xed\x55\x78\x49\x36\x1b\x0e\x6f\xde\x22\xd7\x1d\xc6\x86\xfb\xf2\xa9\x53\x44\x8d\x27\x6c\xf1\xb7\x56\xeb\xa1\xb2\x55\x19\x50\xe6\x2b\x91\xb5\xf2\x93\x2e\x67\x5c\x93\xd9\x09\x6a\x39\xbc\x12\x4e\xb7\x49\xdc\xd3\xfd\x5e\x93\x0c\x89\xbb\xdf\xed\xb8\xa5\x22\xf2\x58\xe8\x1a\x0d\xa1\x40\x77\xe8\x50\x27\xe2\x66\x27\x97\x05\x4e\xc4\xb1\x57\x0f\x77\xb5\xb4\x7b\x85\x5a\xc2\xcb\xaa\xbd\xa4\xe9\x35\x97\xb6\x67\xe9\x82\xc8\xd5\x1b\x01\xc1\x91\xeb\xda\xce\xa1\xba\x1b\xe3\x08\xa7\x38\xd3\xbe\x0b\x8f\x94\x17\xc2\xd7\x7d\x2f\x20\x72\xb6\xfe\xb4\xa5\x9e\x86\x0a\x70\x7b\x15\xcd\xaf\x4e\xe5\xef\xbe\x0f\xe1\x38\xb6\x9c\x3f\x5f\x3c\x17\x3d\x89\x77\xb5\x53\x6f\xd8\x83\x5f\x7f\x68\x2f\x49\x6b\x59\xc4\x82\xae\x19\x3e\xf9\xe2\x15\x34\x8d\xd0\x3c\x39\x98\xb4\x17\x84\x85\x51\x7c\xe2\x9d\x0e\x7a\xc3\x41\xdf\x8c\x7d\x7b\x45\x88\x8c\x04\x8f\x13\x12\xb3\xf0\x27\x4f\x65\x4c\xc5\xeb\x34\x20\xed\xec\x2a\x5a\xb2\x1f\x90\x3b\xce\x84\x38\x0a\x88\xf2\x40\x3d\x3d\x1a\x7a\x38\x0d\x88\xf2\x4e\x3d\xf5\x07\x43\x0f\x67\x01\xdd\x44\x9b\x14\xc7\x86\xc7\xfe\x69\xd6\x0c\xd2\x61\x6c\xfa\xe8\x6f\x36\x4e\x16\x78\x7c\xf4\xee\x76\x5a\x4e\x76\x72\xd2\x71\x5b\x0c\xfc\xdf\xc2\xc0\x52\x04\x62\x31\xbf\xc9\xe5\xee\x28\x75\xc2\xea\x75\x20\x2a\xa5\x8b\xb1\xbe\xa5\x25\x95\x43\x5d\x1c\x6b\x35\xc3\x42\xcb\xa1\x56\xeb\x06\x9a\xb4\x58\xa6\x12\x0e\x59\x0e\xe5\x8c\x68\xa1\xdf\x6c\xa6\x4e\xac\x67\x19\x25\x52\xd7\xe9\x0d\x41\x98\xf1\x84\x6a\xef\xc2\x66\x53\x11\xcf\x5c\xc5\x68\x50\x27\xca\xb7\xba\x39\x11\x4f\x6c\x95\x93\xed\x28\xa7\x02\xc6\xf3\x36\x51\x8f\xb8\x72\x63\x56\x64\xcb\x55\xad\x10\xcb\xf6\xb7\x26\xcb\x8b\x24\x6c\x36\xf7\x1c\xb3\x2a\xa6\xf4\xe6\x6f\xb9\x18\x74\x73\x6a\x33\xa3\x38\x56\x5b\x9a\x18\xbb\xf6\x2a\x5b\x2c\xce\x9d\x52\xd2\xe4\x47\x3c\x21\xd7\x04\x74\xa6\x44\x67\xca\xd2\xf5\xfc\x4a\xae\xac\x7c\xf3\x9c\xdf\xf2\xd4\xc2\x15\x67\x47\xf6\x82\xd6\xdf\x32\xf7\x57\xe9\x0d\x29\x65\x6e\x6b\x45\x0b\x92\x31\x9a\xde\x95\x94\xc0\x7c\x37\x88\x5f\xdc\x0d\x22\x03\xde\x13\x28\x3d\xb8\xdf\x4a\x63\x59\x6e\xd4\x30\x72\xda\x1a\x5b\x14\x2a\xc2\x65\x17\x93\x8a\xb8\x9a\x47\x13\xf6\xfb\xe7\xe9\x82\xd4\x02\xe4\xb2\x79\x85\x71\x5f\x74\x87\x01\x7b\xa7\xa0\x2c\x5b\xc6\xaf\xf6\x5c\x92\xb6\x25\x2c\xd7\xbc\x56\xab\xfb\xb8\x98\x63\x79\x35\xa7\xec\xb6\x66\xcf\x50\xba\xf9\x56\x0a\x32\xa2\x27\x01\x03\x6f\xd7\xc2\x2c\xa6\x78\xba\x7b\x9d\xde\x3a\xb4\xe8\x73\xa3\x7d\x26\xca\x8a\x7a\xbe\x5b\x6c\xb3\x71\x8a\x41\x81\x6f\x1b\x7d\xf0\x72\x27\xfd\xb9\xdc\x62\x29\x20\xb3\x4b\x9b\x67\x99\xe9\x3a\x26\xfc\xcb\x82\xc0\xf4\x39\xd3\xfe\x5c\x7c\xdc\xb8\xaa\xf0\x32\xf3\x4d\x2f\xb3\xfd\x7d\xac\xfd\x04\xc1\x7d\x4c\x52\x5f\xb8\x92\xed\x9b\x51\xb9\x8e\x70\x55\xdc\xe9\xa1\x6a\x29\xdc\xd1\xf2\xc8\xae\xf4\x5b\x90\x49\x0d\xe3\x16\x3b\x6c\xdf\xdc\xf1\xb6\x2f\x66\x06\x8c\xfd\x70\xae\x5d\x21\xb9\xb5\xd2\x08\xa9\xda\xe6\x22\xec\x63\x4c\x5c\x77\x68\xc4\xcc\x56\xe0\x94\xcc\xb0\xb4\xaf\xab\xe2\xe7\x04\xd0\xbb\xf4\x9a\x4d\x27\xa7\x0a\xaf\x80\xa2\xa5\xa2\xd9\x37\x20\x84\x8b\x2b\xf0\x29\x50\x46\x17\x8c\x7d\x15\x5f\xd8\x85\x60\xa0\x3a\x76\x9c\xdd\x11\x24\x09\x4d\x63\x55\xcd\x50\xe4\xf8\x55\xb2\xda\x84\x23\x5e\xea\x3a\xe4\xc4\x83\x5f\x2f\x30\xb9\x44\xa9\xcd\x65\x3a\x70\x43\x1e\xd4\x6e\x59\x35\x88\xfe\xb4\x82\x94\xc5\x0d\x43\x72\x9b\x12\xc4\x6f\xa9\xbd\xa7\x22\x75\x9e\xf8\xb4\x92\xc6\xc3\x3c\xf4\xc4\xd3\x4d\x25\xf6\x75\xba\x98\xc9\x45\xcf\x5a\x62\xec\x9a\x89\xa9\x22\xd4\x97\xe1\x25\xb1\x9d\x25\x0c\xfa\x73\x2a\x3a\xe4\x89\x63\x66\x52\x99\xcb\xdb\xf4\x6d\xba\x2a\x3b\x02\xe6\x99\xec\x3f\xd0\x5e\x6f\x53\xb9\x7d\x74\x47\x1e\x06\xd3\xd6\xe6\x56\x18\x0b\x0c\xb7\x41\x63\x3b\x9c\x5e\x89\x16\xf3\x6a\x72\x41\xd2\xf6\x3e\x6f\x36\xc5\x82\x72\x69\x67\x9c\x94\x29\x66\x76\xd2\x69\x36\xe8\xab\xe6\xca\x35\xf6\xc9\x59\xd7\xad\xdd\x62\xe7\xb9\x72\xd5\xba\xb0\x2d\xaf\xbe\x08\x4f\x52\xa5\xb4\x8f\xcf\x1b\x19\xfe\x8b\x19\x61\x6f\xa3\x6b\x92\xae\x99\xed\xa5\x18\x25\x09\xa1\x3f\xe2\x49\x1d\x3e\x50\x17\xfd\x02\x14\xb0\x72\xab\x43\x50\x42\x49\x76\x7f\x0f\x77\x3d\xcf\x1d\x11\x8d\xe2\x48\xf9\x52\x4a\xd5\xda\x71\x47\x4c\xf9\xd6\xd7\x91\x54\x6c\x3f\x57\x7b\xc2\x75\xf7\x2c\x53\xa0\x8a\xc2\x7e\x3d\x85\x7d\xbb\x3f\xc0\x98\x11\x98\x23\x55\xbe\x99\x55\x06\x8f\x8c\x6d\x89\x62\xd7\xa7\xf8\x71\x98\xec\xd3\x32\x30\x23\x0c\x86\x41\x87\xd6\x89\xb0\x3b\xb7\x62\x80\xdc\xb5\x9d\xd6\xdd\x56\xf1\x6a\xde\xf2\x62\xea\x60\x47\x0b\x47\x76\x0b\x63\x4f\xcc\x6f\x34\xaa\x59\xc6\xaf\xe8\x39\x71\x52\x16\x05\x00\x70\x48\x0b\xbd\xa3\xef\xe4\x3c\x61\x9e\x4a\xac\x8f\x9e\xa9\x2d\xde\xdc\x6e\xf9\xac\xa8\xa8\x71\x73\xd2\x9c\x22\x45\xf5\x89\x1c\xf0\x65\x9f\x3c\xff\xf2\xf5\xf3\xb3\xf1\xdb\xe7\x93\x46\x98\x2c\xc4\xcc\xeb\x05\x69\x08\xad\x6c\xd1\xc8\xd2\x34\x69\x37\xbe\x8c\x49\x98\x91\xc6\x3a\x23\x8d\x42\x7e\xe6\x3e\x73\x9e\x61\x92\x31\x12\x2e\xda\x6a\x81\x68\x57\xec\xe2\x84\xe6\x8e\xb8\x65\x42\x55\x6f\x74\x27\x25\x1f\xe7\xcf\xee\x56\x84\x32\xf2\x91\x71\x45\xaf\x2a\x37\xae\x82\x17\xb4\xbc\x92\x43\xcb\x59\x98\x80\xcb\x3f\x20\xd8\x08\x1b\x57\x2a\xd3\x06\x4f\xd4\x90\xda\x72\xe3\x82\x2c\x53\x4a\x1a\x7a\xce\x3c\x5d\x91\x84\x93\x78\x1e\xc6\x31\x59\x20\x77\x54\xd0\x14\x6b\xd0\x73\xc8\x37\x19\x58\x8c\x3c\x7e\x18\xc6\xd1\x42\xec\xd1\x0f\xc5\x66\x87\xef\xb0\xa6\x37\x3a\x73\xa8\x0f\x6c\xa5\xf8\x4d\x2a\x5c\x46\xf6\x1b\xd5\x9b\x92\xcb\x28\x63\x84\x72\xba\xbd\xe2\x12\xc8\x6a\x56\xbd\x2d\xa9\x50\x5f\xa3\x5b\x1b\x68\x55\xe4\x25\xb3\x18\x99\x1e\xc7\x35\x2b\x2e\xd1\xb6\x68\x85\xed\xc6\x4d\x32\xb0\x2e\x5e\x0e\x40\x39\x3a\x95\x19\x38\xc4\xdd\xbd\x31\xc3\xc2\xe1\x2a\xcc\xf4\xb2\x46\x9d\x03\x75\x69\x89\xc9\x4c\x54\xda\x78\xf4\xcd\xb3\xd3\x01\x6f\xc9\x47\x56\xe1\x7b\x5f\x99\x63\x75\x56\x76\xfc\xe2\xb6\x28\x11\x7d\x1c\x97\xfd\xf6\x6b\x70\x1a\xc7\x71\x31\x0f\xe9\xc1\x59\xa9\xcc\x54\x8a\x9a\x66\x73\xcf\x57\x23\x67\x65\x04\x87\xa8\x89\x8c\x3d\x5f\xaf\x67\x57\x7a\xc9\x3b\x4a\x33\x29\xbb\x30\x4a\x7f\x53\xe1\xb0\x58\x1d\xc7\xcd\x0b\x6a\xe4\x4a\x5b\x95\x65\x66\x2b\x7f\xbc\x54\xdf\x50\x64\xda\xe4\x26\x8c\xd7\x21\x23\xbc\x1e\xd9\x3c\x5c\x91\x37\xe4\x17\x6b\x02\xbb\xa4\xf3\x7e\xc0\x31\x0a\x82\x40\xa9\x5b\xa7\xf9\xa0\xa5\x8f\x2d\xf0\x86\x85\x58\xbe\xd2\x23\x0a\xc7\x1b\xb8\x98\x19\x1a\xe7\xa9\x53\x52\x41\x8d\x17\xb5\xc4\x2e\xa7\x3e\xf0\x9e\xe7\xba\xc3\xbd\xbd\x50\xac\x56\xc3\x79\x00\xea\x6c\x23\x59\x5b\x33\x2a\x16\x1b\xd8\x95\xa5\x25\xf4\x79\xed\xcb\x4b\x2c\x9b\xe7\x03\xb9\x43\x18\xa2\x6b\x80\xb5\xd5\x01\x42\xae\x94\xbf\x36\x8f\x57\x85\x5b\x81\xbd\x6a\x69\x5b\xb6\xd2\x83\x7b\x91\xd1\x70\xcf\xc7\x1f\xc8\xdd\x50\x9a\x9b\x39\x29\x64\xc8\x16\x9b\xf3\xa9\x27\x27\xde\x86\xc8\x4d\xfe\x27\x27\xfe\x46\x4f\xa4\x9e\x9c\x74\x36\x7a\x96\xf5\xe4\xa4\x9b\xcf\x45\xcb\x2d\xe8\x62\xfa\xb9\x71\x34\x84\x4d\x9c\x2a\x3f\xae\xc1\xf2\x46\x84\x26\x7c\xf6\x46\xee\x8a\x37\xc2\x26\xcf\x5f\x1a\x33\xc0\x8d\xe3\x1d\xc9\xc5\x44\xfa\x5f\x47\xe5\x4c\x3e\x7b\x9b\x9f\x48\xb5\xe7\x99\xf9\xf9\xdd\xa1\x11\xef\xec\x75\x5d\xbc\xce\xe1\xd0\x2e\xa9\x2e\x62\xf7\x70\x48\x4f\x9d\x12\x56\xfe\x08\xb5\x1c\xda\xf2\xdd\x16\x9a\xc8\x66\x0f\x6c\x78\x77\x82\x38\xff\x02\x44\xcc\x04\x98\x67\x32\x9c\xe6\x71\x2f\xd0\xd0\x4a\xd8\x9f\x20\x35\xa5\x50\x3a\x3d\xe7\xb4\x88\xc8\x17\x13\x34\x2c\x21\x37\x41\x56\x0d\x8e\x1f\xaa\xc1\x59\x4d\x0d\xce\x1e\x59\x83\x65\xb1\x06\x67\xdf\xa4\x06\x67\x15\x35\x38\xb3\x6b\x70\xf4\x50\x0d\xc6\x35\x35\x18\xe7\x35\xb0\x31\x1c\x7f\x13\x0c\xc7\x15\x18\x8e\x2d\x0c\x7b\xde\x43\x18\x3e\xab\xc1\xf0\x59\x1d\x86\xcf\xbe\x09\x86\xcf\x2a\x30\x7c\x66\x63\xd8\x1f\xe6\xdd\x6c\x93\xf7\x73\x10\x80\x85\x94\x9d\x5f\x21\xd7\x4a\x3b\x90\xb9\x53\xa3\xd1\xa7\xdd\xbc\x72\xbf\xb2\x18\xa0\xfb\x2b\xbb\xf5\x06\xc3\x32\xc6\x26\x69\x3e\x43\x8f\xae\xe7\x67\x15\xf5\xfc\xcc\x2e\xad\xff\x40\x69\xe7\x8f\x2f\xed\xbc\xa2\xb4\x73\xbb\xb4\xae\x41\xd5\x53\x73\xe0\x09\xf6\xad\x09\x99\x72\x46\xfd\x02\x95\x7a\xb5\x39\x19\xf9\x94\xb3\x19\xd8\xd9\xf8\x7e\xa7\xaa\xad\x8c\xfa\x7f\x69\xb6\xd5\x17\x5f\x16\x52\x77\x1f\x48\xfd\xfb\x56\xea\xdf\x2f\xa4\xee\x3d\x90\xfa\xb5\x95\xfa\x75\x21\x75\xff\x81\xd4\x6f\xac\xd4\x6f\x0a\xa9\x2b\x79\xd4\xef\xd7\x31\xa9\xdf\x2f\x12\xee\xb0\x32\x83\xc3\xda\x0c\x0e\x8b\x19\x1c\x55\x66\x70\x54\x9b\xc1\x51\x31\x83\xe3\xca\x0c\x8e\x6b\x33\x38\x2e\x64\xd0\xf1\xaa\x32\xe8\x78\x75\x19\x74\xbc\x62\x06\x7e\x65\x06\x7e\x6d\x06\x7e\x31\x83\x4a\xee\xeb\xd4\x8a\x8a\x4e\xb7\x98\x41\x25\x03\x76\x7a\xb5\x19\xf4\x74\x06\xd2\xed\x6b\xb8\x67\xc8\x36\x5b\xe4\x09\x35\x67\x93\xeb\x35\xa7\xe5\x61\x6d\xb3\xd9\x33\x23\x1a\x39\xd5\xa7\x69\x36\x75\x1a\x78\xd4\x27\x25\xe9\x44\xcd\xe6\xa0\x6f\x9e\xdf\x63\x1d\x85\x05\x66\xc5\x50\xc3\x9e\x06\x83\xbe\xdc\x88\xc6\x5f\x4f\x82\x63\xaf\x28\x9a\x2a\x3c\x0b\x72\xc5\xac\xd5\xed\xb8\x43\xff\xb8\x63\x96\x57\x92\x6d\x3f\x43\x66\x81\xbd\x23\xab\xc0\xfe\x61\x79\x4c\xca\xf3\xdf\xef\x1d\xb9\x8f\x42\x77\x27\x96\xfb\x83\x9e\x3b\xec\x56\x21\x59\x95\xcc\xb3\x0a\xec\xfb\x36\xba\xfd\x47\x15\xd8\xf7\x5b\x9d\x43\x77\xd8\x1f\x3c\xb2\x4c\x9f\xc7\xee\xf8\xc7\x8f\x8c\x0e\xb1\x3b\xde\x63\x63\x1f\xf1\xd8\xbe\xcd\x13\xce\x8e\xf8\xc7\xae\xf6\xfd\x61\xa5\x99\x9c\xcb\x97\x70\xb0\x61\x69\xae\x40\x1e\x78\x48\x72\xcf\xdb\x8c\x48\xab\x4d\x9d\x7e\x58\x75\x16\xc7\xe5\x99\x8c\x59\xb1\x66\x6a\xa4\x53\xa7\x31\xc8\x52\x84\x3f\x91\x5d\x52\xd9\x5a\x86\x9d\x8b\x15\x6b\x8c\xbf\x05\xa3\x59\xaf\x77\x63\x02\x18\x81\xd5\xc2\x82\xfc\x45\x7b\x6b\xc9\xb3\x62\x85\x57\x0c\x44\x91\x6d\xa2\x5d\xb7\x44\xbb\x02\x7c\xb3\x91\xe7\xb0\xaa\x2c\x75\xc1\x4c\x45\x91\x2d\xb5\xe7\xec\xb1\xcd\xc6\xd9\x2d\x4f\xdc\x66\x33\x37\x47\x5d\x70\xbd\xa9\x62\x00\x56\x34\x36\xe5\xd6\x50\x56\x69\x86\x3e\xc6\x04\x75\xb9\xc1\x59\x6c\xfb\x64\x51\x61\x59\x32\x7d\xde\x02\x2c\x7d\x6f\x36\x75\x6b\x17\xb9\x79\x0b\x11\xb9\xa1\xae\x4e\x25\xdd\x62\x35\xcd\x0f\x21\xad\xe2\x94\xeb\x05\xb1\xe7\x61\x54\x23\xe6\xe7\x19\x99\x7b\xd4\x05\x36\x7a\x2f\x1a\xbb\x8b\x49\xfb\x22\xa5\x0b\x42\xe1\xb8\xaa\x00\xdd\x5e\x45\x8c\x20\x5c\x8d\x28\xd9\x95\x92\x63\xaa\x36\xb1\xe9\xe3\x93\x6c\x3f\xe1\xc2\xc4\x5d\x9c\x5e\x56\x61\x0e\x27\x2a\xa9\x49\x05\xb1\x55\xb1\x2d\xa7\xd8\xab\x43\x79\x46\xda\xc3\x18\xce\x2d\x34\x5a\x26\x8e\xe6\x44\x1c\x3b\xa4\xcf\x46\x96\xd3\xa4\x15\xb9\x48\x37\xb3\x2a\x30\x26\x45\xf4\x09\xa5\xb6\x5f\xc1\xb7\xaf\x00\x64\xf5\x1d\x54\x01\xf2\xf9\x46\x95\xa0\x24\x8b\x7e\x49\x2a\x8e\x0f\x8a\xb2\xcf\xc3\xcf\x61\x12\x54\x3e\x32\xd7\xbd\x67\x62\x81\x57\x9f\x8b\xe4\x98\xc7\x02\xb9\x7a\x70\xae\x82\x62\x26\x0f\x23\x10\x2e\x7a\x38\xe1\xe2\x46\x4f\x9b\x89\x93\x86\x99\x7a\x15\xc7\x0a\xc1\x9a\xb6\x0f\xbe\x96\xbc\x0f\xc0\x23\xe3\x8f\x4e\x9a\xa7\x72\x4f\x08\x78\x89\x64\xf2\xac\x61\x75\x8c\x2a\x6a\x20\xec\xcf\x70\x54\xf6\x4f\x18\x45\xfb\xfb\x23\x48\x63\x3a\x68\x5c\x12\xe6\x44\xfa\x54\x37\x62\x1d\xd6\x29\x61\xb0\xb0\x9a\xe5\x9b\x65\xc4\x29\xc9\xa5\x63\x36\x73\xd4\x70\x9a\x57\x07\x27\x81\x87\xd3\x13\xe6\x8a\xc3\xdb\xcc\x7e\x38\x4a\x5b\xad\x13\x66\x95\x28\xd1\x60\xad\x7c\x86\xd1\x72\x6c\x78\xea\xe5\xb3\xd8\x79\xf4\x92\x1f\xc7\x5d\x2b\x69\xf9\xa7\xb6\x43\x44\xa2\xbc\x43\xc4\x8a\xbd\x57\x70\x23\x31\x7d\x32\xaa\x0f\x29\x2d\xee\x7c\x56\xb8\xca\x8c\xcc\x6d\x45\x30\x4e\x00\xa5\xd3\xfd\xfd\xc6\x53\x36\x72\xab\x0f\x64\xaa\xa8\xa6\x1d\xa1\x54\x2f\xdf\xf2\x32\x49\x57\x8e\x3b\x34\x7d\x35\xcc\x2a\xb6\x5a\x35\x28\x3f\x55\x27\x65\xd1\xc0\x06\xcb\x95\x5d\xd7\xe5\xdd\x27\x4a\xd6\x64\x44\xeb\x1c\xa8\xa8\x3c\xa1\x09\x4e\xc4\x96\xe3\xfa\xdd\xd3\x80\xe9\xd6\x0a\xd8\xbe\xef\xe2\x44\xbf\xb7\x02\xb5\xb7\xf2\xe3\xd3\x7c\xe0\xff\x18\x10\xbd\x99\xe4\x81\x13\xa8\xf5\xc9\xd3\xf5\xbb\x9f\x76\x6d\x55\x29\x9d\x00\xfd\xc0\x59\xdd\xc6\x10\x29\x64\x85\xb9\xdd\x0f\x46\x5f\x38\x9f\x9e\x88\x43\xe9\xd9\xd6\xdd\x6e\xab\xb6\x4d\xc0\xd2\xb1\x35\x44\x92\x13\x13\x57\x58\x33\x56\xd4\xb0\x16\xb4\xb9\x1a\xf2\xd4\x0c\x7e\x9e\x2c\x0a\x11\x9f\x27\x8b\xa0\xb8\xb8\x79\x1d\x7e\x2c\x94\xa9\x9d\xd7\x8c\xcc\xbd\xea\x85\x72\x41\xb1\x92\x7e\x27\x7b\xb8\x55\x0d\xce\xdd\xd2\x49\x58\xb0\x24\x0b\x2f\xb8\x92\x07\x07\xe6\x8a\xc1\x90\x92\x1b\x9e\x8e\xeb\x5a\x92\x49\x79\x9c\xe0\x7e\x8b\x49\xe0\xb9\x23\x49\x08\x4e\xc6\x11\x69\x05\x45\x09\x6b\x1d\x62\xe5\xba\x66\x19\xc1\x9e\x67\xe3\xa8\x8a\xaa\xc4\x50\xf9\xad\x0b\x86\x73\x47\x7b\x79\x56\xfb\xfb\x64\xd6\x6c\x92\xa7\xde\x48\xaf\x3c\x90\xa7\xb9\x8c\x3d\xd5\x4f\xfb\xfe\x90\x9c\x78\xa7\xde\xb0\xa0\x85\x24\xe4\x23\xfb\x36\x05\xb7\x5a\x50\xb0\x41\x81\x6f\x89\x00\x1c\x72\xfa\x3a\xba\xbc\x2a\x2a\xdf\x86\xc7\x43\x2e\xcc\x4d\x79\x02\xf2\x9c\xe6\xce\x20\x91\xec\x08\xfa\xd8\x54\xc7\x95\x83\x49\xa1\xa5\x5a\x2e\x85\xb3\x07\xa5\x6b\x95\xe9\x21\x51\x56\x15\xc2\x8c\xbc\x24\xcb\x6f\x8d\xdc\x03\x88\x71\xdc\x49\xab\x35\x22\x7c\x64\x7b\x34\x56\xb0\xca\x57\x50\x60\x6c\x67\xba\xcd\x26\x7f\xcf\x97\x51\x09\x0c\x77\x4a\xba\x54\x23\x2e\x92\x58\x1e\x75\xd2\x05\xd2\x37\x44\xb3\x3e\xc3\xdf\x3a\xe6\x3f\xf0\x46\xb9\x67\x8e\xaf\xa8\x0e\x9b\x57\x89\xe1\xfe\xf9\xc0\x29\xda\xbb\x84\x60\xbd\xb7\x5d\x55\xbb\x45\x09\x29\x9b\x88\x39\xc3\x39\x1e\x2e\x0a\x1f\x8d\x4d\x65\x7b\x4f\xa5\xa4\x30\x1a\x72\x58\xad\xbb\x4c\x67\x70\xe8\x2a\x9c\xdc\xd1\x6c\x3a\x51\x3b\xca\x7e\x44\x43\x58\xce\x63\xee\x28\x35\xd8\x31\x6d\xb5\xdc\x68\x9a\xce\x02\xaa\xfa\x4f\x54\x68\xec\xab\xca\x7b\x65\x4e\xeb\x78\x6a\x58\xa5\x4e\x15\x9c\xaa\xb2\xaa\x2c\xe1\xd0\x67\xd1\xc3\xe5\xb9\xac\x2d\x84\xdc\x36\x1c\x73\xf1\xc5\xb2\xe4\x84\x52\xf2\x7c\x56\x04\x56\x9e\x6b\xe6\x39\xaa\xda\x75\xf3\xd1\x4b\xae\x46\x73\xcb\x1b\x26\x8a\x4b\x85\x02\x81\xb7\x11\x8b\xab\x5a\x19\x52\x32\x0e\x44\xa5\x56\x86\x2a\x99\xfd\xa7\x25\xf9\xfe\x69\x69\xd8\xd6\xc3\xbf\xf2\x48\x15\x40\xc7\xcd\x75\x01\xdd\x96\xb2\x2a\x1f\xf7\xf7\x8b\xaa\xfa\x0d\x81\x03\x77\x0b\xa5\xca\x4e\x53\xf4\x8c\x3d\x35\xf5\x28\xd0\x68\xd4\x31\x2c\x4a\x13\xc9\x49\x69\x76\x11\x6d\x6f\xe6\x3d\xbd\x26\x7e\xde\xe7\xf6\xbc\xef\xc8\x19\x56\x76\x84\xbb\x72\xdd\xad\x69\x95\x02\x8b\x08\xe5\x4b\x6b\xda\x16\x0c\x94\xf4\xbc\x9f\x18\xee\x7e\x95\x13\x22\xca\x19\xba\xe2\x1c\xc0\x51\x94\xdf\xd6\x63\x95\xa1\x8f\x0e\xac\xf4\x90\xc2\x75\xf9\x05\xec\x61\x6d\xad\xfe\x84\x4f\x8b\x3c\x5c\x47\xa8\xa0\x0f\x0c\xb1\x82\x99\xca\xba\xc2\x75\xc8\xe6\x57\xc2\x76\x8f\xb1\x3a\x68\x9d\x2b\x25\xf9\x71\xed\x05\x07\x1f\x61\xb9\xe9\x8e\x0e\x27\x9a\xae\xd2\x5b\xa7\xeb\x3d\x71\xc8\x7e\xe4\xe2\x8e\xdb\xd2\x81\xfd\xe3\x27\x0e\xdb\x4f\xed\x40\xdf\x7f\xe2\xd0\xfd\x8c\x07\x72\x64\xcc\x33\xcb\x03\xfb\x08\x73\x1c\xb5\xa3\xe4\x8a\xd0\x88\x65\x41\x82\xa3\x76\x9a\x04\x29\xff\x59\x2e\x83\x0c\xab\xcb\x94\x6a\xb6\x0f\x98\x27\x31\x6f\x36\xe6\xb6\x47\x0a\xdb\x2e\x26\x62\xc2\x1b\x8e\x51\xcc\x58\xba\xfa\x92\xa6\xab\xf0\x32\x94\x5b\x92\xf7\xfc\x2d\x26\xea\x92\xae\x20\xda\x96\x0e\x5f\xb6\xae\x94\xfa\x56\xe7\xc9\x47\x35\xbb\x68\x65\xb3\xa9\xcd\x21\xe6\xcb\x66\x73\xbf\xdd\x1a\x15\xd1\x9b\xc3\x8b\x7b\x28\xcc\x44\x30\xd7\x68\xbf\x6f\x36\xea\x18\x98\x3c\x4c\xef\xfa\xc4\x56\xce\xcb\x65\x0d\x7d\xf3\x94\x6e\xe1\xaa\x8b\x1c\x82\xa3\x80\x5a\xf6\xb6\xbc\x65\x8d\x8b\xa9\xcd\x06\xee\x58\x8b\xe5\xc6\x7c\x73\x6b\x2a\xb8\x5a\x68\xef\xdb\x08\xfb\x05\xa4\x84\xe9\x35\x8e\x63\xb5\xab\xbf\xc2\xbb\x3b\x47\xa2\xd9\x5c\x90\x98\x30\xe9\x23\x9a\x87\x17\x2a\x5a\xe4\xf4\xc2\x45\x13\xa2\xc5\x1e\x37\x2b\x63\xfa\x05\xa5\xcb\x25\x5c\xce\x86\x99\x31\x23\x83\xf3\xad\xa8\x34\xa7\x00\xd3\x87\x20\xf0\x04\x36\x7a\x7c\x08\x2a\xa9\xd5\x62\x7e\x11\x8e\x67\xf7\x47\xf4\x44\x63\xa0\x48\x0e\xdb\x64\xa6\x74\xdf\x9f\x05\xf9\x95\x60\x74\x36\xda\xd1\x84\x51\xa9\x09\xc5\x79\xef\x91\xca\x53\xa9\x18\x66\x6d\x8a\x4c\x13\x57\x36\x8b\x49\x15\x9b\x15\xb7\x98\x6c\xc1\x85\xda\x12\x05\xdf\x79\xa7\xb3\x6e\xff\x23\xed\xcf\xbf\x7a\x19\xa0\x77\x1e\xc2\xa4\xfd\xe6\x8b\xcf\x02\xf4\xcf\xc1\xd3\xdb\x1f\x07\xe8\x9f\xe7\x4f\xcf\xf9\xd3\xbf\x00\x4f\x5f\xbc\x0d\xd0\xbf\x08\x4f\x9f\xff\x7e\x80\xfe\x25\xfe\x34\x3e\xfb\x41\x80\xfe\x65\xfe\xf4\xec\xf9\xcb\x00\xfd\x2b\xf0\xf4\x26\x40\xef\x2e\xf8\xd3\x67\x6f\x03\xf4\x0e\x0e\x0b\x7c\x79\x1e\xa0\x77\x09\x7f\xfa\x21\x0f\xbb\xe1\x4f\xe7\x3c\x6c\xc9\x9f\xce\x5e\x07\xe8\x1d\x15\x18\x04\xe8\x5f\x85\x87\x17\x01\xfa\xd7\xf8\xc3\xe4\xe5\xf3\x00\xfd\xeb\xf0\x74\xe6\x07\xe8\xdf\x10\x4f\x9d\x00\xfd\x9b\xe2\xa9\x1b\xa0\x7f\x4b\x3c\xf5\x02\xf4\x6f\xf3\xa7\xcf\xc7\x3f\x08\xd0\xbf\x03\x99\xfc\xe4\xf3\x00\xfd\xbb\xa2\x16\xcf\x02\xf4\xef\x41\x59\xe3\xcf\x03\xf4\xef\x43\xd8\xab\x00\xfd\x07\x10\xed\xab\x67\x01\xfa\x0f\x21\xe8\xcd\x59\x80\xfe\x23\x40\xee\x4d\x80\xfe\x63\xfe\xf0\xfd\x37\x01\xfa\x4f\xf8\xc3\xeb\x37\x01\xfa\x4f\xf9\xc3\x57\x6f\x02\xf4\x9f\x41\xba\x2f\x03\xae\x09\x92\xf6\x84\xd7\xfd\x3f\x47\x5b\x87\xb5\xcf\x3c\xf0\x85\x38\xf3\x82\xfb\x2d\x57\xae\xbe\xd3\xa6\xc3\xac\x7d\xf6\xd9\xf8\xf5\x9b\xe7\x6f\xdf\xc0\x66\xb9\xf6\xe4\xf9\xf9\xf8\xab\x97\x6f\xdf\xcb\xd0\x20\x87\xb7\x9f\x19\x91\xa7\xde\x2c\xb8\x47\x3f\x43\x43\xf4\xeb\xff\xee\x6f\x21\x1c\x0e\xd1\xaf\xff\xee\x7f\x8b\xf0\xc5\x10\x5a\x67\x3e\x84\x66\x58\x0c\x45\x1b\x0c\xa1\xa1\x96\x43\xf4\x97\xff\x08\xe1\xcb\x21\xfa\xcb\x7f\x8c\xf0\xd5\x10\xfd\xfa\x6f\xff\x11\xc2\xd1\x10\xda\xee\xe7\x43\xf4\xeb\xbf\xf3\xf7\x10\xfe\xc0\x7f\xff\x36\xc2\x31\xff\xfd\xaf\x10\xbe\xe6\xbf\x7f\x07\xe1\x84\xff\xfe\x05\xc2\xe9\x10\xfd\xfa\xbf\xfe\xbf\x11\x5e\xf1\xdf\x3f\x47\xf8\x17\x3c\xfc\x6f\x20\x4c\xf9\xfb\x5f\x20\x9c\xf1\xdf\x7f\x82\x30\xe3\xe1\x7f\x88\xf0\x9a\xff\xfe\x11\xc2\x37\xfc\xf7\xcf\x10\xbe\xe5\xbf\xff\x10\xe1\x8f\xfc\xf7\xbf\x40\xf8\x6e\x88\x7e\xfd\x07\x7f\x84\xf0\x2f\xf9\xef\x3f\x40\x18\xdd\xa3\x21\xfa\xff\xfe\x06\xc2\x68\xc3\xeb\xf6\x07\x7f\x1f\x61\xb4\x45\x43\xf4\x97\xff\x13\xc2\xe8\x57\xfc\xe1\xff\x40\x5b\x83\x0e\xed\x71\x70\x8f\x3e\x11\x11\xac\xf0\x67\x72\x0a\x28\xa7\x58\x6f\x96\x47\xc5\xe8\xf7\xf8\xc3\xff\x83\x30\x9a\xa2\x21\x8a\x7e\x8e\x30\x7a\xf7\x8e\x07\xfd\x13\x84\xd1\x0c\x0d\xd1\x46\xe2\xf2\x97\x7f\x22\x71\x59\x2a\x4c\xfe\x42\x61\xf2\x67\x76\x89\x67\x46\x5b\x4d\xfb\xbc\x30\x9e\xf5\xd7\x7f\x53\x65\xfd\xf5\xdf\x95\x59\x7f\xfd\x5f\x22\x8c\x7e\xca\x1f\xfe\x10\x61\x68\xc3\xaf\xff\x54\x96\xf6\xf5\x1f\xc9\xd2\xbe\xfe\xdf\x65\x71\x5f\xff\x03\x59\xdc\xd7\x7f\x61\x17\xf7\xba\x58\x9b\xaf\xff\xbe\xac\x0d\x6f\x65\x59\xe4\x1f\xcb\x22\xff\xf2\x8f\x55\x01\x7f\xaa\x0a\xf8\xbf\x54\x01\x7f\xa2\xea\xf3\x27\x76\x01\xbf\x1f\xdc\xdb\xf9\x7e\xfd\x3f\x96\xf2\xfd\xfa\x7f\x51\x55\xf9\x5f\x55\x55\xfe\xec\xe1\x92\xbe\xfe\x73\xbb\xa4\x1f\xc8\x92\x00\xcb\x3a\xa2\xfd\x61\x3d\x89\x54\x8b\x7c\xfd\xdf\xdb\xf9\xfe\xa4\xd4\xe0\x7f\x5c\x4f\x22\xc0\xf7\x67\x0a\xdf\x7b\x55\x71\x28\xe9\x7f\x2b\xd5\xe0\x1f\xda\x25\x3d\x37\xdb\x7e\x30\x53\x94\xfb\x9b\xaa\x3e\x7f\x4b\x17\xf7\xf7\xea\x99\xe0\x8f\x54\xb9\xff\xb3\x2a\xf7\xff\x7c\x88\x09\xfe\x7a\x7d\x0d\xff\x07\x5d\xe4\x7f\xa3\x98\xe0\xff\x55\x3c\xfd\x8f\x54\x01\xff\x58\x15\xf0\xc7\x76\xbe\x9f\x99\xf5\x39\xd4\xf5\xf9\x83\x1d\xed\xf3\x5d\x30\xf5\x14\x05\x48\xf5\x52\x68\x06\x9b\xff\xfe\x74\x37\xff\xbd\x97\x0d\x64\xb3\xe1\x0e\x76\xf9\x73\xb4\x2d\x8b\xf3\x83\x27\x4f\x7e\xa7\xf1\xa4\xf1\xe2\x7a\x25\xcd\x49\x38\xcc\x48\x6e\x60\xb8\x26\xec\x2a\x5d\xe0\x06\xbb\x0a\xd5\xa6\x06\x22\x22\xa8\x39\xe3\x06\x4b\x1b\x61\xe3\x47\xe4\xe2\x4d\x3a\xff\x40\x18\x1f\x18\x48\x78\xdd\xe6\x59\xfe\xde\x35\xc8\x7f\x71\x44\xd1\x41\xb8\x58\xa4\x49\x76\x20\x32\x91\x3f\x10\x8b\x2b\x5e\x49\x46\x1a\xaf\x5e\xbc\xfd\x9d\xc6\x93\x83\xdf\xd9\xb3\xcf\x8c\x55\x9a\x3b\x73\xa8\xe3\xb9\x85\xab\x4d\xac\xb1\x48\xba\xff\x1a\x57\xd4\x8a\x52\x4a\x66\x8f\x7b\x4f\x03\x7d\xaa\x13\xdd\x6c\x28\x37\x1c\x00\xfd\x80\x61\xd2\x7e\xbf\x8c\xd7\xd9\x95\xbc\x8c\xce\x5a\x2e\x95\xbb\x8b\xda\xef\x45\xc6\xa2\xca\x22\x22\x37\x3e\x2a\x82\x85\x54\x86\x99\x39\xb5\x00\x5b\x19\x8f\x03\xeb\xf2\x00\x18\x64\xc4\x95\xb3\xf7\x5c\xbb\x7f\x9b\x16\xd1\x03\x5a\x55\x24\x3e\xad\x0c\x6d\x05\x6c\x58\x8d\x48\xc0\xcc\xc5\x62\x9b\x18\xd8\xe7\x0d\xc0\x71\xb8\x24\xec\x15\xc9\xb2\xd0\x9c\x8f\xe7\x16\xc5\x69\x01\x3f\x87\xb5\x17\x21\x0b\xdd\xa1\xa2\x9d\x7c\x87\x4c\x32\x92\x2c\x26\x21\x0b\x6d\x95\x5f\xec\x96\x23\x70\x1d\x70\xf9\xcc\xaf\x6b\x51\x2a\xb2\x91\x70\x31\x6d\x36\x89\x75\xef\xa8\xce\xdd\xad\xcc\x67\x1e\xa7\x19\xe4\xb2\x20\x9c\x02\xf2\x44\x63\xcc\xdc\xea\xe8\xb0\x10\x5b\x19\x1d\x2e\x72\x26\x25\x36\xe3\xad\xc1\x0d\x86\x2a\x7c\x1c\x96\x73\x1f\x3b\x55\xac\x37\x64\x6e\xb3\xc9\x2a\xaf\xd0\xab\xad\xb5\x34\x87\x54\x16\xb6\xee\x5e\x66\x7e\xc1\xfa\x76\xe7\x90\x1e\x17\x00\xb3\xd3\x97\x6a\x65\xa4\x15\x30\xe5\xad\xb1\xc5\x6c\x5b\xa1\x28\x4a\xc9\x72\x1e\xb1\x5c\x5a\xcc\xd3\x78\x7d\x9d\x64\xb0\x55\x0e\x0e\xb1\x62\x29\x88\x93\x45\x74\x4d\x92\x2c\x4a\x93\xac\x91\x2e\x1b\x11\xcb\x1a\x93\x2f\x5e\xe9\xd3\x8e\x7f\xa7\x01\x39\x7d\xf2\x49\x63\xbc\x5a\xd1\x54\x4a\x8e\xfd\xc6\xeb\xf4\x36\x1b\x36\xde\xd2\x75\x32\x0f\xc1\x2c\xe4\x19\xdd\x44\x19\x5c\x7e\xb8\xb4\xe5\x94\x7d\x80\x72\x43\x1c\x8e\xd5\xb8\xb8\xb3\x63\xd1\xf4\x56\x82\x54\xa1\xfb\x8d\x33\x81\xf3\xb7\x2c\x08\x0e\xef\x2a\x95\x33\xbf\x0a\x69\x38\x67\x84\xf2\x22\x44\x14\x07\xec\xb0\xc6\x22\xca\x56\x71\x78\x37\x6c\x44\x49\x1c\x25\x5c\x12\x97\x31\xe4\xd4\x63\x0a\x19\x4e\x2c\x91\x03\x1c\x08\xc7\x23\xcb\xfb\x45\x79\xde\xf9\xcd\x3c\x92\xf4\x6e\xbd\x6c\x5e\x46\x8c\x7f\x7e\x63\xa9\x5c\x16\xc4\x2b\x9a\xae\xd2\x8c\x7c\x5f\xad\x4d\x16\xb7\xd5\x91\xc2\xc1\x16\xea\xa4\x4b\x75\x61\xf7\x3a\x8e\x47\xd6\x91\x40\x81\xbc\x3a\xef\x92\xb0\xb3\xf4\x7a\xb5\x66\x64\x01\x47\xb4\x39\x75\x39\xe1\x24\xbf\xdf\x0c\x96\x37\x94\xb1\xf2\x43\x6e\x9b\x38\x48\x34\x3a\x72\x5d\x1c\xe6\x77\xfb\x78\x78\x67\x9a\x5b\xb9\x86\xb7\xef\x1f\xba\x38\x7e\x18\x25\x17\x5f\x05\xc9\xbe\xa3\xf3\x8c\x2b\xf2\x5c\x85\x8b\x45\x94\x5c\xee\xb3\x74\x85\x5c\xb7\xf5\xa8\xb8\x17\x30\xd9\x8a\x5c\xd7\xc5\xf3\x20\x7c\x64\x01\x54\xd6\xf7\x71\x45\xc4\x64\xc9\xa0\x80\x75\xe0\x10\xfb\x00\x35\xfb\xb5\xbd\x8c\x68\xa6\xa8\x0e\x6b\xea\x2e\x5e\x05\x6b\xb1\xd9\xf7\xb3\xb7\xaf\x5e\x2a\xa6\x58\x4b\xa7\x23\xc9\xef\x01\x12\xfc\x8e\xb0\x11\x37\x40\x3f\x42\x38\x0a\xd6\x1c\xb1\x67\xe9\x3a\xe1\xa8\x9c\xc5\x11\x49\xd8\x6b\x38\x6d\x52\x9c\x8c\x87\x4b\x59\x21\xcc\x76\x24\x12\x4d\x6d\x95\xb3\xc2\x34\x67\x8f\xab\x03\xe6\xe2\x34\x7f\x9f\x1f\x44\x2e\x16\xd7\xb6\xa7\x62\x59\x9c\x6e\xb9\xd8\x5f\x16\x26\x72\xe4\xc4\x59\x91\xd9\x61\xfb\x17\x1f\x9e\xc4\x7a\xbb\x43\xc5\x9a\x3c\x15\x5e\x31\xb6\xcc\xad\xed\x27\x86\xec\x2d\x66\xcf\x85\x70\x21\x1b\x0b\x33\x23\xe9\x32\x62\x2a\xfa\x4e\x89\xbd\x8e\x63\x71\x2b\x5e\x03\x24\x43\x63\x99\x52\x7d\xd0\x64\xbd\xf4\xd0\xa9\x8c\xc7\xdf\x82\x2c\x11\x97\x15\x71\x1c\xdf\x40\x11\x55\x6b\x72\x23\x6a\x0f\xb1\xe5\x43\xe1\xe7\x82\x61\x33\x07\xe5\xc8\x22\xf7\x14\x89\xf1\x17\x0d\x51\xb8\x58\xa0\x21\x3b\x15\xbf\x2a\xb8\xea\xde\x9a\x29\x9d\xd9\x99\xd8\x6d\x91\xa3\x9b\x15\xd1\xe5\xda\x4e\xb1\x36\x8f\x1b\x53\xdf\x5e\x45\x59\x43\x36\xc2\x8a\xa6\x37\xd1\x82\x64\x52\x59\xcf\xa0\xb5\xc4\xe0\x1e\x25\x97\x8d\xb0\xa0\xaa\xcb\xb7\x45\x5a\xa9\xb4\xd7\xb6\xae\x4e\x96\x3f\xfd\xb6\xb5\x77\x5d\xd0\xf8\x9f\xa9\xf1\x7f\xa5\x6a\xbc\x10\x64\x7f\xed\xcd\x17\x9f\xab\xe3\x24\x84\xd6\x3e\x42\x19\x5b\xa4\x6b\x86\x82\x80\x4e\xbd\x59\xb3\xe9\x94\x15\x7e\x3a\xf5\x67\xb9\xba\x0f\x6f\x0f\x6b\xfb\x50\x94\xb8\x6d\x34\x5a\xde\x39\x53\x5e\x4e\x94\x20\x4c\xf2\xc4\xec\x8d\xed\xd7\xb8\x23\x2d\x61\xef\x85\x63\x13\x11\xeb\x87\x04\x04\xee\xcc\xfd\x0e\x4d\x0a\x75\xcb\x89\x2a\x47\x21\xf8\x80\xb1\xa1\x39\x7a\xf2\xcd\xac\x8e\xfa\x74\xbc\x4a\x05\xe8\x3f\x6d\x76\xc8\x8e\x6e\x6c\x1b\x24\x85\x88\xf5\x96\x49\x7d\x85\xab\x72\x9b\x3c\xc6\x56\xf9\x2e\x16\x01\xa9\xd3\xed\x71\xc5\xc1\xb8\xf0\x59\x9f\x7a\x9c\x84\x37\xd1\x65\xc8\x52\x8a\xb3\x20\x3d\x45\x49\xba\x20\x68\xa8\x03\xe1\x48\xa6\xf1\x25\x49\x18\x4e\xaa\xc0\xab\x38\x64\xcb\x94\x5e\x8f\x58\x7e\x27\x57\xb0\xb7\xf7\xab\x4c\xbb\x61\x20\x19\x8a\x38\x27\x89\xd3\x2b\x0b\x11\x78\x10\x72\x37\x1b\x3b\xf4\x2d\x8d\x16\x24\x61\x2a\x59\x38\x87\xeb\x81\xe5\xd0\x38\x45\xaf\xc2\x79\x94\xb0\x34\xbb\x42\x98\x3f\xbf\x48\x18\x89\xc5\xe3\x97\x5f\x9e\x89\x87\xc1\xd1\x0f\xd0\x0c\x27\x22\x83\x17\xab\x70\x11\xa0\xe8\xcb\x90\x57\x3d\x48\x64\xd8\x55\x9a\x10\x1e\xca\x7f\xf3\x70\x7d\xbd\xba\x5d\xa4\x0c\x44\x98\x3f\xf9\x03\xf1\xdb\xed\x88\xdf\xb3\xe7\x79\x59\x70\x79\x57\x90\xe4\x75\x81\x00\xe4\x3e\x0d\xbc\x07\xda\xb7\xe2\x30\x5c\xb5\xf3\x61\x15\x5e\x92\x1f\x5b\x66\x87\x71\x64\x9d\x80\xc2\xb1\x9b\xfc\xe9\x27\x23\xd6\x6c\xb2\xbd\x20\xc8\x48\xbc\xcc\x6f\xb9\x51\x0f\x52\x07\x1e\xb9\x74\x3f\x60\xbc\x13\x66\x84\xbd\x24\x4b\x86\xa3\xfc\xfd\x6d\xba\xc2\x2c\x40\xe2\xe5\x4b\x30\x58\x50\x94\x34\xd8\xa9\x8a\x20\xc2\x86\x05\x6b\x46\x8e\x91\x53\x8a\xa3\x59\xf9\xba\x7f\x70\xc7\x16\x52\x3c\x0c\x44\x15\xd5\xa0\x1a\x4e\xbd\x99\x30\x6f\xe6\x24\x8a\x1d\x87\xbf\xb7\x9c\xe4\x94\x0a\x4d\xfa\xa0\x33\xf4\x5c\xf7\x40\xbe\xb9\x38\x9c\xfa\x66\x74\xfe\x7a\x40\xa5\xfe\xcc\xa1\x2a\xb3\xeb\x28\x71\xb4\xd1\xc4\x83\xb1\xef\xe2\xb4\xe5\x9b\x39\x14\xe2\xf8\x10\x27\x83\x38\xdf\xf8\x16\x77\xcc\x84\x95\x95\xd2\x45\xf6\x9a\xc4\x21\x8b\x6e\xc8\xdb\x54\x5d\xb9\x10\x99\xe0\x20\x15\x6f\xd6\x29\xd0\x65\x47\x88\x4c\x9d\xed\x9e\x1a\x41\x38\x0c\x12\x5e\x99\x38\x48\xa6\xfe\x4c\xd3\x10\xce\x83\x8e\xe1\xfb\xfe\xe3\x30\xc4\x77\xc3\x78\x5b\x31\xb1\xfa\xdd\x88\x14\x1f\x44\x4a\xed\x29\xdd\xc2\xab\x29\x26\xd7\x01\xc1\x51\xfb\x0a\x74\x74\xb9\x01\xf0\x0d\x4b\x29\x1f\xd9\x13\x72\xdb\x88\xda\x71\x74\xd1\x96\x21\xed\x57\xe4\x3a\xa5\x77\x58\x3b\x75\xc9\x28\x22\xb5\x3a\x8c\x26\x07\x0b\xb3\x90\x2c\x33\xc7\x05\xf7\x21\xc4\x87\x90\x7d\x92\xcc\x53\x6e\x5a\x21\x8c\x68\x78\x9b\x5f\x6f\x02\x08\xcc\x53\x1a\x32\x92\x1f\x47\xa9\xce\xd5\x97\x0e\xf4\x10\x2b\x92\x77\xb6\x9b\x29\xa3\x24\x63\x61\x1c\xff\x80\xdc\x5d\xa4\x21\x5d\x38\x6e\x95\x8f\x44\x94\x2c\xd3\xb2\x79\x73\x2f\xe7\x37\x86\xca\x39\x88\xbf\x48\x2f\x66\xe5\x87\xb3\x2d\x78\x0a\xac\xd9\x6a\x6d\xdb\x70\xc2\xf5\xd7\x44\x52\xba\x6f\x29\x94\x41\xaf\xf9\xea\xed\xb9\x3f\x80\x39\x4a\x52\x38\x9d\xb2\xa4\x4e\xe5\x4e\x1c\x72\xf0\x0c\x08\x66\x4f\xbd\x53\x2b\x53\x9e\xf2\x8b\x1b\x42\xe3\xf0\x0e\x12\x0c\x77\x40\xe5\xed\xa5\x65\x2f\x8a\x52\xd1\xca\x6b\xa8\x22\x1b\x13\x21\xec\x15\xeb\x41\x98\x10\xc2\x35\x4e\x74\x90\xa1\x1d\xa9\x4c\x0b\xc1\x32\x84\x92\x64\x4e\x2a\xf6\xb9\x89\xdd\x4b\xf6\x1d\xe4\xfa\xc2\x73\xf3\x28\x61\x56\xc9\x82\x14\x93\x29\x9d\xc1\x01\xae\xb6\xeb\xc7\x8b\xa4\xd8\xa2\x92\xf1\xda\x69\xf2\xc3\xb7\x3f\x20\x77\x19\xa3\xe9\x07\x5b\xdd\x05\x57\x5a\xc5\xa0\xa0\x54\x8a\x8d\x67\xe5\x48\xc5\xd2\x5e\x17\x77\xdb\x94\x77\x8a\x41\xc9\xaa\x4f\x15\xe3\x83\xfe\xc3\x14\xb3\x06\x14\x33\xe1\xfb\x16\x61\x02\xb0\x6d\x71\x46\x16\xee\x6a\x0c\x59\xb9\x91\x4b\x15\xcc\x37\x04\xd8\x75\xb2\xc2\x4b\x98\xe5\x50\xa0\xfa\x3a\x29\x77\xc8\x02\xe7\x55\xf9\xf1\x59\xfc\xf8\x40\xff\xb6\xb2\x03\x45\xb9\x9a\x81\xab\x51\x11\xce\x26\x9f\x81\x10\x4b\xff\x2a\x5d\xbb\xf2\x6e\xbd\xa6\x7a\x63\x29\x54\x44\x38\x28\x56\xc9\x2d\x71\x11\x50\xc5\xc4\x0c\x17\xbf\xf2\xca\x8d\x35\x8d\x0b\x79\xe5\xd5\x3c\x4b\x93\x44\x1c\xc7\x74\x1e\xce\x59\x4a\xef\x82\x68\x24\x2e\x3e\x7f\x08\xc7\x8b\x50\xde\xec\xa3\x4d\x7e\x71\x9c\x6f\x95\x03\x9a\x75\xc1\xa1\x7b\xff\x98\x06\xe2\xd9\x0b\x50\xb1\x41\x4b\x1b\x29\xf3\xf8\x7a\x99\xc7\x12\xed\xd9\x17\x85\xf2\x4d\x5f\x23\x48\x47\x49\xb8\xb8\x13\x87\xfa\x06\xba\x3a\xed\xb3\x2f\x3e\xff\xfc\xf9\xd9\xdb\x17\x9f\x7f\x5f\x9e\x39\xba\x23\xee\x17\x5f\x3e\xff\xbc\xd8\x93\xed\x62\x2d\x44\xd3\xc4\xa6\x09\x08\x83\x2a\x59\x30\x27\xd1\x4d\x85\xb8\x94\x99\x5c\x57\x18\xda\xf9\x7a\x58\x31\xb7\x33\x9b\xd0\x85\xbc\x0a\xcd\x90\x63\x54\x64\x94\xef\xbc\x53\x60\x66\x70\xf9\x14\xdd\x92\x0b\xc6\xee\xd0\x0c\xb3\xf6\x75\x76\x09\xc2\xf7\xab\xe4\x43\x92\xde\x26\x01\xf2\x90\x11\x1a\x20\x5f\xbe\x7e\xc9\xa5\x10\xea\xc8\x37\x21\x77\x94\x14\x0a\x50\x57\x86\xcb\x5c\xbe\x10\x23\xb4\xce\x4b\xbd\xeb\xcc\x52\x33\xb3\x37\xf6\xc0\xa5\x33\x7b\x63\x0f\x46\xa8\x97\x87\xbf\x26\x73\x41\x2c\xb8\xa0\xe2\x81\x1e\x2f\xec\xd5\x5c\x6d\x52\xbe\xc0\xa5\x7e\x29\xfd\xff\x42\x7a\x09\x42\x1d\x9e\xd7\xec\xea\x6d\xfa\x81\x24\x5c\x3d\x15\x42\x52\x95\xbc\xef\x3f\xa6\x23\x82\xa7\x33\xc7\x40\x9c\xc1\xaf\xb7\x4c\x16\xca\x96\x52\xc6\x71\xb1\x75\x99\x4d\x2a\x79\xdc\x29\xe4\x48\x83\x48\x49\xe6\x65\xea\xb8\xa3\xb4\x72\x52\xe5\x7e\xac\x9c\x0e\x87\x11\xd4\x0a\x8f\x55\x75\x78\x80\x7a\xde\xba\x42\x68\x5a\xfa\x35\xe5\x85\x43\xa6\x15\x0d\xde\x2a\x16\xa4\x94\x38\xa2\x26\xda\x5d\x77\x3b\x92\x28\xaa\xf1\xd6\xc9\x5c\x9c\x89\x69\x74\xa1\xe3\x89\x99\x74\xac\xa3\x01\xc7\x59\x33\x8d\x26\x06\x00\x6d\xc1\xd1\xf2\xa4\xee\x92\x7c\x33\x3e\x67\x58\x77\x8b\xbb\xa4\x07\xa7\xd1\xe7\x5d\xbd\x34\x4f\x0d\x07\x8a\x81\xa7\xab\xef\xea\x73\xc2\xa6\xde\x4c\x1e\x11\x66\x70\xf0\x50\xe1\x0a\x6f\x0e\x57\x98\x17\xe4\xab\xd7\x2f\xe0\xe6\xba\x84\x24\xcc\x29\xfa\xa7\x5e\x87\x2b\xe9\x9d\xca\xd2\x0b\x87\xba\xb8\x3c\xe9\x81\x7e\x17\xb5\x1c\xe4\x79\xa8\x95\x6f\xca\x1f\x33\xc7\x73\xdb\x2c\x15\xa3\xbf\xe3\x0f\x5c\x57\xa2\xb8\xdf\x71\xb7\x6e\xfb\xe7\x69\x94\x38\x08\xb9\xae\x75\xd0\x91\xee\x5b\xc3\x62\xa0\xdd\xc5\x54\x35\x0a\xca\x20\x2d\x67\x66\x77\xc1\xa1\x18\xb6\x8c\x19\x46\xea\x8e\xf2\xbc\x8c\x98\x4e\x5a\x99\x97\xee\xb6\x43\xc1\x6f\x76\x4e\xc6\x0e\x70\x07\x3d\x4f\xc2\x8b\x38\x4a\x2e\x1b\xba\xc3\x0d\x1b\xa8\x95\xb5\x50\x23\xe3\x01\x8b\x0c\x71\xce\xc9\x7b\x63\xb6\x95\xad\x0c\x22\xd8\x64\x0a\x98\xfe\xd5\xdc\x42\x34\xc3\xe5\x6a\x99\xa3\xc3\x0c\x5b\xc0\x41\xb9\x3c\x6e\x40\xa6\x0b\xb8\x1e\xd6\x28\xf4\xa9\xd7\x6c\x3a\x34\xa8\xde\xa5\x9f\x8a\xf9\x91\xba\x6e\x2e\x0b\x04\x4d\x8c\xf7\x7a\x3e\x04\xfb\xa4\xfb\xc4\xc8\xde\x95\x8c\x0b\x17\x8f\xe9\x09\xf6\xcc\x71\x71\xb1\x76\xaa\x78\xca\xe3\xab\x11\x5d\x8f\x2b\x3f\x22\x17\x6f\xdf\xfe\xe4\xb7\xe5\x43\x4f\x1d\x8f\x33\x81\xbe\xd6\xcb\x41\xcb\x88\x21\x77\xb7\x8a\x53\x56\xb8\xa5\x31\x5c\x30\x6e\xb1\x6d\x82\x15\xee\x47\xae\xbf\x99\x52\xa6\x10\xab\x3d\x9f\x87\xd7\x24\x90\x57\x8e\xa6\xc2\x92\x42\x56\x34\x49\xbe\xa0\x43\xba\x4a\xc8\x73\x81\xa5\x26\x50\x2d\xc5\x49\x34\xdb\x32\xe2\x8d\x26\x5f\xca\xbb\x9d\x2c\x3e\x92\x7d\x58\x46\x06\xdd\xb0\x85\x3e\xaa\xfb\x75\x54\xb8\x90\x85\xac\x80\x92\x32\x70\xa4\x84\x94\xf7\xa8\x61\x0b\x21\x1b\x59\xc7\xc5\x72\x41\xbb\x3c\x31\xad\x26\xbe\x77\x26\x37\x6f\x22\xe5\x85\x72\xee\x83\xc3\x1d\xbf\xad\x4d\xaf\xab\x6d\x58\xf5\xba\xca\x0f\x9b\xf6\x79\x7c\xb9\xfe\xf3\x68\xf3\x3d\xdf\x11\x31\xb2\x98\xc2\xbc\x07\x8e\xe4\xd7\x78\x94\xaf\xdb\xbc\x56\x13\xe5\x45\x66\xa1\xcd\xa6\xd5\xef\x4a\x70\x17\x0b\xe1\x50\x02\xd4\x08\x0b\x2a\x30\xb0\xb6\xb4\xeb\xe2\xb7\x62\xc5\xe0\xf1\x53\x07\xaa\xa2\xf9\x66\xf9\x20\x3f\xe9\xc0\xb8\x91\xa4\x7c\x07\x49\x5e\xe4\x23\x67\x16\xf4\xf4\x29\x6c\xce\x0b\xc8\xa3\xa7\x13\x1e\x39\x03\xa0\x19\x5f\x2c\x84\x94\x4c\xfb\xd2\x4c\x42\x85\x6d\x6f\x67\x54\xea\x04\x52\xa1\x17\x3b\xee\xe5\xea\x7e\xc9\xa7\xaa\xd6\x82\x17\xf9\xea\xa5\x1a\xab\xeb\xf0\x50\x59\x9c\x19\x7e\x11\xaf\xe9\x6f\x6a\x91\x03\xfb\x3d\x68\x87\x4b\x49\x50\xb9\x28\xa4\xe8\x50\x21\xf0\xec\x49\x41\xb8\x5c\xc7\x30\xdb\x7f\xfc\x28\xb3\x3d\x5a\xca\x1b\x43\xf6\x82\x20\x2a\x1d\xb8\xfd\xa9\xb8\xa6\xb3\x81\xe2\xe8\x02\x35\x52\x18\x79\x1a\x61\x0c\x86\x5f\x83\x7c\x8c\x32\x96\xb5\x3f\x55\x23\xcc\x3d\x57\x25\xe9\x3a\x61\xd1\x35\x99\x10\xde\x47\x49\x32\x8f\x48\xf6\x3e\xb8\xdf\xc2\x06\xb5\x88\xa9\xb3\xb4\xb3\xf7\xc1\x74\xc6\x87\x68\xb6\x20\xab\xaa\xab\x60\xe8\xdd\x7d\x01\x97\xed\x3c\x04\x85\xcf\xd0\x05\x59\x38\xff\x00\x9b\x9f\x98\x83\xde\x25\xc8\x1d\xb1\x20\xbf\x80\xa1\x7b\x4a\xa7\x9d\x59\x9b\x92\x55\x1c\xce\x89\x73\xf0\xd3\x77\xd9\x93\x90\xbd\xcb\x5a\x07\x18\x21\x77\x48\xa7\x7e\x01\x78\x29\xaa\xca\x55\xc5\xdf\x83\x38\x5b\xb5\x36\x21\x76\xf6\x94\x76\x0d\xa5\xad\x96\x40\x26\x33\x76\x0d\xa5\xb0\x6b\x28\x83\x93\xe6\xc3\x64\x4e\xd2\x65\x03\x74\x4d\x57\x56\x56\x6e\x07\x8a\x70\x26\xce\xfb\x90\xf3\xe2\xa2\x75\x2b\x68\x37\xcd\x66\xa3\x64\xb3\x71\x76\x47\x09\xa6\x33\x17\x27\xf9\x7d\x84\x9c\xde\x24\xc9\xd6\x94\xbc\xae\x6a\x8f\xa2\xdd\x13\xec\xe5\x7b\xc8\xe1\x62\xd5\xea\x76\x34\xf6\xaf\x55\x47\x98\xb2\x19\xb7\x9c\x54\x9b\xb4\x91\xab\x5d\xc9\x36\x9b\x8c\xc4\x4b\x9c\x04\xde\x28\x39\x49\x15\x09\x13\x4e\x42\x38\x54\x24\x9d\x26\xb3\x28\x69\x64\x6e\xe1\x82\x80\x4f\x5f\x45\x59\xc6\xf5\x4b\xf4\x69\x8b\xb5\x3e\x45\x8d\x28\x6b\x24\x84\x2c\xc8\xa2\x71\x71\xf7\x29\x5c\x73\x19\xec\xf9\xf2\xec\xde\x2c\xc8\xa6\x3c\xa3\xd9\x16\xbc\xde\xca\xe7\xc7\x9f\x87\x51\x4c\x16\x0d\x89\x7b\x63\xa1\x90\xbf\x6b\x88\xdb\xc4\x61\x9f\xa5\x3a\xde\xfc\x45\x12\x15\x4f\x20\x50\x9b\xc5\x0b\xcc\x2c\x08\x3f\x25\x98\xcd\x5c\xcc\x14\xb3\x57\x0e\x73\xc5\xa4\xf6\xea\x43\xb4\x74\x14\x07\x2b\xd6\xa2\xf9\xcd\x19\xcd\x26\x73\x10\x4f\x0e\x2a\x36\xb7\x7c\x70\x36\xf5\x67\x4e\xd4\x5e\xb6\xc3\x38\xa4\xd7\x4e\x2a\xaf\xb1\x6c\x70\xc5\x92\x33\x22\x52\x99\xa3\x3d\xb5\x56\x5a\x41\x16\x45\xe3\x94\x36\xa2\x04\x4e\xd2\xd7\x57\xe5\x0e\x1b\x5c\xe6\x83\xa6\xb8\x8b\xa5\xb8\x6a\x9c\x8f\x98\x29\x4c\x7a\xcb\xf3\xc5\x0c\xf7\xab\x70\x01\xe7\x88\x6c\x36\x4e\x2d\xac\x92\xe0\x0e\x91\x37\x2b\x49\xd2\x9c\x04\xde\xa9\x52\xcb\xae\xa2\xcc\x1d\x3a\xf9\x4a\x3b\x9c\x7a\x84\x1a\x08\xce\x41\x31\x6e\x0a\x09\xb8\x0a\xb5\x22\x21\x73\xc8\x81\x0a\x6f\xc1\xad\x44\xd2\x62\xf3\x30\x71\x5b\x66\xae\x5c\xc1\xaa\xc2\xf3\x79\xb2\xa8\xa9\xc1\x73\x6b\x3a\xee\xaf\x08\x7f\x33\xa3\x96\x59\x19\x8e\x3f\xb7\x6d\xe2\x94\x66\x42\x04\x8b\xe7\x36\x25\xef\x83\xfb\x2b\xf2\xd1\x1f\x0c\x0f\x3e\x71\xa6\xe1\xfe\xd2\xdb\x3f\x9e\xb9\x55\x4f\x07\x11\xbe\x22\x1f\x3b\x3d\x33\xe2\x7d\x67\xeb\xd6\xbf\x1c\x44\x98\x5e\x5e\x0c\x39\x77\xbd\x26\x97\xcf\x3f\xae\x1c\xf4\xd3\x83\xec\x09\xbd\xbc\x38\xc8\x9e\x1c\x38\x07\xd9\x13\xe7\x60\x71\xef\xe3\xee\xd6\x3d\xc8\x9e\xe0\x07\xde\x0f\xf8\xd7\xf7\x50\x2e\xa9\xdf\x1d\x1c\x5c\xc2\xb6\x0d\x17\xa3\x08\xb9\xbc\xac\xb0\xaa\xb0\xf0\xdb\x94\xe6\x9c\x0e\x65\x50\xcb\x39\x1d\x1e\xb4\x0f\x16\x2d\xf7\x94\x03\xdc\xc7\xe0\xf1\xb1\x12\x8f\xd3\xef\x16\x91\xd3\x07\x31\xf9\xe8\xfb\xbc\x01\x60\x4c\xe3\x0f\x79\xeb\xf8\xb8\xb7\x75\xdf\x1d\x3c\x18\x90\x3d\xf9\xde\x41\x84\x93\xf0\x9a\x0c\x0f\xa6\xe1\xfe\x2f\x67\xfc\xcb\xdb\x3f\x7e\x97\xcd\x5a\x07\x26\x1f\x5d\x5e\xbc\x4d\x7f\xec\xfb\xf6\x7e\x5b\x65\x3e\x32\xf3\xe0\x8c\xc0\xe9\xf4\x0f\x9f\xe8\x95\x6a\x82\x3b\xfd\xbe\x6b\xcf\x9c\x60\x2e\xc6\x7e\xb9\x0a\x17\x0e\xc1\x3d\x77\xab\x46\x79\xd8\x78\xef\x98\xbc\xcb\xcb\xfd\xa8\xd7\xdc\xe9\x29\xe2\xb5\x44\x2d\x26\xdc\xa1\xe0\x32\x6a\xfe\xdc\x31\x9e\xbb\x33\x77\x28\x5c\xc3\x74\x46\x1f\x7d\xff\x33\xf2\xf1\x6d\x7a\xf6\xe6\x4d\x85\xbf\x34\xdc\x83\x90\xfd\x28\x62\x57\x0e\xfa\x04\xb9\x96\xcb\x42\xb4\x74\xb8\x8d\x9b\xad\x2f\x32\x46\x1d\xdf\xc5\xfb\x7e\x10\x4c\xbb\x78\x80\x8f\xb1\xdf\x99\xe5\x67\x77\xa8\xee\x5e\x4a\x2d\x2b\x75\x30\xfd\xa9\x24\xfc\x41\xe4\x96\x9d\xb1\xf5\x2d\x48\x07\x5d\x71\x98\xbe\x28\xd0\xc3\xe0\x3f\xab\xdf\x19\x5c\x8f\x69\xbc\xb7\x98\xe1\x92\xa0\xeb\x1b\x72\x2d\xe4\x6d\xfa\xfa\xfb\xcf\xc6\xce\x14\xbc\x18\x66\xed\xeb\x70\xe5\x54\x78\xf7\x90\xdc\x39\x97\x60\xde\x32\x1d\xf0\x60\x1a\xfa\xf0\x73\x72\xd2\x1b\x92\xa7\x4f\x7b\x4f\x1c\x06\x93\x5c\xae\x4d\xd4\x32\x45\x55\x65\x2a\x5a\x52\xf0\x6a\xbe\x11\xfc\xd4\x61\xf9\x5d\x52\x7e\x2e\xbe\x2c\xec\x59\x1d\xde\x7e\x7e\x71\xd4\x69\x5e\x83\x16\xd4\x61\xd8\xa9\x04\x02\xc8\xe9\x9a\x37\x4e\x39\xa4\x95\x13\xb3\xe3\xba\x18\xb8\x96\xa6\xeb\x64\xe1\xd8\x09\x0f\x3a\xfd\x43\x2e\x65\xe1\x9c\xda\x02\xc7\x9c\x56\x31\x9a\x43\xdc\xa1\x0e\xe7\xfd\x0b\x6a\x24\x0f\x79\x91\xc1\x57\x3c\xee\xeb\xef\x3f\xdb\xd1\xa9\x7a\x36\xba\x01\xd1\xc2\x80\xe2\x0a\x2f\x4e\x31\x7b\xf9\x09\x6a\xb1\x16\x6b\xd1\x16\x6d\x45\xad\x48\xcd\x25\xe7\xed\x92\x1a\xad\xc0\x7b\x94\x83\x72\xd7\x75\x06\xfe\x24\x03\xb7\x85\x70\xc3\x0a\xee\x54\x07\x77\x65\xb0\x8b\x44\xaf\x53\xaa\x8f\xd1\xf2\x30\xfc\xe0\xb4\x14\xd8\xe9\x41\x0f\x29\xeb\xcf\x4a\xf7\xcc\x02\x6f\x94\x9d\xa8\xfa\x8f\xb2\x56\xcb\x25\x5c\x03\x66\x0e\xff\x91\x87\xe8\x11\xfe\x9a\x9f\x8d\x55\x94\x59\x9f\x99\x47\xc2\x94\xc8\x2b\xe8\xa2\x53\xcc\x69\x38\xff\x20\x9a\xc9\xa0\xd0\x27\xa8\xa5\xe5\x95\x63\x54\xdd\x9b\xb9\x27\x27\xfe\x60\x63\xd1\xce\x3d\x39\x39\xda\x58\x64\x73\x4f\x4e\x0a\x13\xc7\x78\x20\x45\xd4\xee\xea\xd3\xc0\x1b\xd1\xbc\xfa\x14\xaa\x4f\x45\xf5\xe9\xc3\xd5\x17\xe7\xd9\x45\xbf\x24\xc5\x4e\xaa\x27\x8d\x6a\xf9\x58\x31\xa6\xc5\xc4\x4a\x1c\xb7\x19\xc9\x78\x99\xa7\xe4\x41\x06\x37\xba\x72\xa5\x98\x90\x06\x5c\xf7\x94\x4c\xbb\xb3\xa1\x2f\x6b\xc1\x59\x32\x74\x50\x8b\x4c\xbd\x99\xe0\x37\x32\xf5\xf5\x53\x47\x3e\x31\xce\x73\x46\x59\x19\x61\xe3\x78\x75\x15\xd6\xa8\xe2\xf5\x2d\xcc\x87\x8c\x80\x55\xcb\x1f\x6a\xd6\xe6\x3a\xfa\x58\xba\xd8\x29\xb7\x1b\xab\x8a\xc0\x59\x45\x30\xec\xa0\xe1\xa6\x51\x6f\xd4\x6a\x69\xef\xb2\x6c\x9a\xcc\xf6\xb9\x41\x33\xe2\x5f\x41\x95\x20\xe2\x00\xb7\x15\x3e\xa1\x7a\xde\xaf\x12\xe7\xd4\xc4\x59\x95\x5a\x1c\xf7\xec\xc6\xe7\x04\x47\xae\x38\xc7\xa4\x76\x1c\x0e\xf3\xcb\x7d\x94\x9d\x82\xd9\x56\x1b\xb6\xf5\x09\xc5\xb9\xa0\x15\x89\xe5\xb5\xfc\x3c\x1b\x09\xb4\x8e\x6b\x75\xd0\x59\xba\x8e\x17\xc9\xa7\xac\x01\xd5\xe0\xa6\x10\x71\x71\x61\x70\xd7\xac\x57\xc9\xe3\xc2\xc2\x55\xc4\xe0\x3f\x9f\x87\xd7\x24\x3b\xad\x08\x9b\x92\xd9\x10\x24\x2c\x4b\x5f\xa6\xb7\x84\x9e\x85\x19\x71\x5c\xf7\x5b\x64\x90\xeb\x6b\x59\x8b\x2b\x6c\xe8\x9b\xe6\x52\xa8\x62\xc6\xd2\xf9\x07\x38\x90\xe8\xcb\x30\x26\x8c\x91\xa0\xdc\x53\xa7\xe8\x13\x0f\xfe\x21\x8c\x3e\x39\x3b\x53\x4f\xbd\xe7\xc7\x63\x6f\x00\x61\xbd\xb1\x0c\xeb\xf6\x06\xfd\x71\x8f\x3f\x1d\xf6\xfb\xde\xe1\x33\xfe\xe4\x0d\x8e\x8f\x8e\xc7\xfc\x69\xd2\x9d\x1c\x9e\x9d\xf3\xa7\x7e\xbf\x7f\xd8\xef\xf2\xa7\xe7\xe7\x9d\xe3\xce\x31\xc4\xf3\x9e\x8d\x7d\x08\x3b\x3f\x7b\x7e\xdc\x83\x78\x87\x9d\xe3\x73\x91\xe2\xbc\xe3\x79\x67\xcf\x64\xbc\xfe\xb3\x09\xa4\xe5\xff\xce\x44\x98\xc2\x8a\xff\xf6\xcf\xd5\xd3\xd1\xa1\x7a\x1a\xeb\xb0\x89\x0e\x3b\x97\x61\xfd\x73\x95\xb6\x7f\xde\xd7\x61\x2a\x6d\xff\x7c\xac\xc3\x26\x3a\x4c\xa5\x3d\x3a\x54\x69\x8f\x0e\xfb\x3a\x4c\xa5\x3d\x3a\x1c\xeb\xb0\x89\x0e\x53\x69\xc7\xba\xdc\xb1\x2e\x77\xac\xcb\x1d\xeb\x72\xc7\xba\xdc\xb1\x2e\x77\xa2\xcb\x9d\xe8\x72\x27\xba\xdc\x89\x2e\x77\xa2\xcb\x9d\xe8\x72\xcf\x75\xb9\xe7\xba\xdc\x73\x5d\xee\xb9\x2e\xf7\x5c\x97\x7b\x2e\xcb\xe5\x94\x12\x69\xf9\x53\x5f\x87\x89\xb4\xfc\x69\xac\xc3\x26\x3a\x4c\xa5\x55\x74\xe6\x4f\x7d\x1d\xa6\xd2\x2a\x3a\xf3\xa7\x89\x0e\x53\x69\x15\x9d\xf9\x53\x5f\x87\xa9\xb4\x8a\xce\xfc\x69\xa2\xc3\x54\xda\xb1\x2e\x77\xac\xcb\x1d\xeb\x72\xc7\xba\xdc\xb1\x2e\x77\xac\xcb\x9d\xe8\x72\x27\xba\xdc\x89\x2e\x77\xa2\xcb\x9d\xe8\x72\x27\xba\xdc\x73\x5d\xee\xb9\x2e\xf7\x5c\x97\x7b\xae\xcb\x3d\xd7\xe5\x2a\x3a\xf3\xda\x8a\xb4\xfc\xa9\xaf\xc3\x44\x5a\xfe\x34\xd6\x61\x13\x1d\xa6\xd2\x2a\x3a\xf3\xa7\xbe\x0e\x53\x69\x15\x9d\xf9\xd3\x44\x87\xa9\xb4\x8a\xce\xfc\xa9\xaf\xc3\x54\x5a\x45\x67\xfe\x34\xd1\x61\x2a\xed\x58\x97\x3b\xd6\xe5\x8e\x75\xb9\x63\x5d\xee\x58\x97\x3b\xd6\xe5\x4e\x74\xb9\x13\x5d\xee\x44\x97\x3b\xd1\xe5\x4e\x74\xb9\x13\x5d\xee\xb9\x2e\xf7\x5c\x97\x7b\xae\xcb\x3d\xd7\xe5\x9e\xeb\x72\x15\x9d\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\xc7\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\x27\x9a\x9f\xcf\x35\x3f\x9f\x6b\x7e\x3e\xd7\xfc\x7c\xae\xf9\xf9\x5c\xf3\xf3\xb9\xe6\xe7\x73\xcd\xcf\xe7\x9a\x9f\xcf\x35\x3f\x9f\x6b\x7e\x3e\xd7\xfc\x7c\xae\xf9\xf9\x5c\xf3\xf3\xb9\xe6\xe7\x73\xcd\xcf\xe7\x9a\x9f\xcf\x35\x3f\x9f\x6b\x7e\x3e\xd7\xfc\x7c\xae\xf9\xf9\x5c\xf3\xf3\xb9\xe6\xe7\x73\xcd\xcf\xe7\x9a\x9f\xcf\x35\x3f\x9f\x6b\x7e\x3e\xd7\xfc\x7c\xae\xf9\xf9\x5c\xf3\xf3\xb9\xe6\xe7\x73\xcd\xcf\xe7\x9a\x9f\xcf\x35\x3f\x9f\x6b\x7e\x3e\xd7\xfc\x7c\xae\xf9\xd9\x3b\xe2\x7f\xfc\xc9\xef\xf0\x3f\x78\x3a\xe3\x7f\xfc\xa9\x33\xe0\x7f\xfc\xa9\xeb\xf1\x3f\x78\x1a\xf3\x3f\xfe\xd4\x83\x7f\xf0\xf4\x9c\xff\xf1\xa7\xfe\x11\xff\xe3\x4f\x90\x14\xf2\x1b\x9c\xf1\x3f\xfe\x74\x38\xe0\x7f\x20\xb9\xa0\x60\x78\x1a\xf3\x3f\xfe\x74\xdc\xe3\x7f\xf0\xf4\x9c\xff\x41\xcf\x03\x30\x7f\x7a\xd6\xe1\x7f\xf0\x74\xc6\xff\xf8\x13\x64\x0c\xf9\x4d\x3c\xfe\x07\x4f\x63\xfe\xc7\x9f\x00\x29\xc8\x0f\xf4\xab\xe7\x68\x66\xcc\xa0\xcc\x2b\x55\xc5\x92\x16\x89\x2b\xb4\xcf\xe0\x3e\x8c\xa3\x39\xb9\x88\xd7\x64\x08\x53\x03\x9d\x9e\x87\x1b\x9d\xde\x11\x6e\x74\xfa\x7d\x17\xe1\x30\x61\xd1\x2f\xd6\x04\x6e\xc3\x90\x31\xfa\x3c\x46\xb7\x8f\x1b\x1d\xbf\x18\xc3\x57\x51\x38\xb4\x7b\xcc\xa3\x1c\x17\xa2\x74\x64\x94\x2e\x2f\xa2\xd3\xc5\x8d\x8e\xd7\x2b\x44\xe9\xca\x28\x5e\x1f\x37\xfc\xe3\x0e\x6e\xf8\x87\x83\x42\x94\x9e\x88\xe2\xf3\x32\xfc\xae\x8f\x1b\x7e\xc7\xe3\x51\x7e\xb1\x0e\xaf\x43\x1a\x25\x12\x57\xbf\x73\x08\x15\xe1\x88\x74\x2c\xb8\xff\x50\x04\x89\xa7\xef\x73\x3c\x39\xb2\xfe\xf1\x91\x15\x41\x62\xe9\x7b\x1d\x5e\x07\x8e\xea\xa1\x8d\x82\xc4\x71\x00\x28\xf2\x2f\x1f\x6a\xf1\xcb\x35\xb5\x68\x0d\x85\x0b\x5a\x73\x90\xbf\x03\xa6\x68\xd7\xe9\x49\x9c\x3a\xdd\x23\x05\x53\xe8\x1c\x77\x25\x3a\x1d\x4f\xa7\xd3\xd4\xf2\x15\x2a\x5d\xde\x2c\x17\x24\xba\xd4\xa8\xf0\x14\xf0\x05\x84\xbc\x88\xb2\x5f\x68\x96\x00\x2c\x3a\x40\x82\x81\x86\xf9\xbb\x80\x56\x23\xfb\x5d\xdc\xf0\x8f\xba\x1a\x68\x35\xef\x11\x07\xf6\x8f\x34\xd0\x6a\xd8\x0e\x8f\xe1\x1d\x72\x60\xcc\x0d\x42\x00\x79\xb8\xc1\xff\x8b\xc0\x64\x7e\x45\x16\x61\x7c\x9d\x26\x0b\x8b\xf5\x74\xfd\x73\xce\x16\xe9\x04\x35\x79\xa8\x5f\x1d\xdc\xb1\x82\x81\xbe\x3c\xb8\x6b\x05\xeb\xac\x7b\x66\xb0\xa4\x6a\xbc\x26\x37\x51\x1a\x13\xa6\xaa\x72\x84\x1b\x3d\xde\x2a\x1d\x20\x10\x4d\x6f\x13\x09\x19\xf4\x71\xa3\xd7\xe1\x1f\x05\x30\xa9\x3a\xe8\xf1\x8f\x82\x98\x24\xed\x1f\xf3\x8f\x82\x98\xf4\xec\xfb\xfc\xa3\x20\x26\x31\x39\x49\xba\x80\xf6\x9a\xc6\x77\xb7\x69\xaa\x08\xd6\xe1\x1d\xec\xa8\xc7\xd1\xb7\xc0\x56\x03\xfb\x9c\x73\xfa\x16\xdc\x44\xc8\x3f\x3e\xc4\x0d\xbf\x67\xc1\xad\x66\x3e\xf4\xa0\x39\x4d\xb8\xd5\xd2\x7e\x1f\x37\x8e\x38\x78\x1e\x2e\x08\xcb\x1b\xed\xb8\x0f\xec\x81\x1b\xfe\xc0\x33\xa1\xaa\xfb\xf6\x3b\x8a\x6d\xfb\x56\x6a\xd5\x7b\x39\x75\x3b\x9d\x63\xd5\x92\x1a\xae\x7a\x0b\x54\x9e\x23\x2f\x9a\x54\xc3\x25\x72\xc0\x9d\xdd\x9e\x6a\xda\xf9\x55\x48\x19\x25\xeb\xac\x24\x5e\x3c\x0b\x5a\x12\x2e\x36\xb8\x24\x5a\x6c\x70\x49\xb0\xd8\xe0\xa2\x58\x11\xd0\x74\x9e\xc6\xa1\x16\xd1\x3e\x27\x37\x4f\xda\xb5\xa0\x66\x93\x02\x72\xdd\x81\x09\xb6\x5a\x94\x23\xd7\xed\x9a\x60\xab\x41\x01\xb9\x63\x13\x6c\xb6\x27\x20\x07\xd0\x94\x86\x71\xb1\xd4\x23\x4f\x41\x2c\x84\xfc\x1e\x6e\x1c\x0d\x14\xc8\x42\xc6\x1b\x98\xa9\x4c\x44\x8e\x7d\x5e\x9a\x82\x58\x38\xf0\x8e\x75\x28\x20\xc9\x32\x4e\x6f\x09\xcd\xf9\xca\xf7\x38\x85\x7a\xc0\x18\x2a\x4e\x16\xc5\x1f\x4c\x9e\x87\x41\xb0\xe3\x19\x50\x7f\x37\xd8\x92\x7a\xdd\x8e\x66\x2a\x09\x36\xd1\xee\x40\xf9\x87\x66\xd1\xf6\x90\x36\x50\x43\xda\xfc\x2e\x4c\xb4\x90\x31\x06\x04\x1e\xee\xd7\x01\x72\x21\x66\x0c\x13\x1c\x90\x8b\x31\x63\x8c\xe0\x80\x5c\x90\x19\x03\xc4\x22\xa4\x1f\x8a\x02\x34\x87\x58\x98\x15\x52\x5d\xa6\xf1\x82\x24\x54\x09\x19\x29\x5f\xf8\x97\x5f\x8c\x61\xf1\xc0\x11\xf4\xf7\x62\x14\x8b\x17\x0e\x79\x9f\xec\x15\xa3\x58\xcc\xd9\x83\xc1\xa3\x18\xc5\x22\xb0\xe7\xe3\xc6\x91\x8a\x41\xc3\x3b\x25\x91\x39\x4c\x7e\x69\x28\x21\x46\x3d\x3d\x39\xf8\x48\xd0\x8e\x84\x1f\xae\xc2\x0f\x91\xaa\xff\xb1\x1a\xeb\x60\x38\xe3\xe0\xeb\xf0\x92\x24\x2c\x34\x90\xb2\xa8\x9b\xc6\xd1\x0d\x31\xca\x3e\x12\x63\xa1\xe4\x69\x3b\x86\x22\x21\x74\x4a\xd1\x97\x3a\xa5\x48\x4a\xea\x1c\x69\x85\xc6\xeb\x95\x22\x29\xd9\x33\x50\xb2\xe7\xd8\x2b\xc5\x51\x74\xf4\x55\xb3\x0f\x54\x9b\xa6\x34\x4c\x2e\x4d\xad\xc1\xef\x19\xd4\x12\xd0\x92\x0c\xb2\xc1\x25\x19\x64\x83\x4b\x32\xc8\x06\x17\x65\x50\x0e\x9d\x5f\x45\x8a\x17\xfb\x5d\xdc\x00\x1d\x36\xaf\x3f\x80\x95\xd4\x06\x91\xd2\x51\xdd\x29\x87\x2b\x02\x1e\xf2\x11\x58\xf7\xaa\x1c\xae\x68\xd7\xef\xa9\xfc\xed\xf4\x0a\x39\xaf\x87\x1b\xf9\x98\xc2\xe1\x94\x2c\x6c\x36\x50\x78\x67\xa0\xda\x28\x92\x80\xaa\x04\x03\xa9\x6a\xdd\x8c\x84\x06\x8b\xf8\x3d\xd0\xb4\x38\xe5\x7a\xdd\x42\x0c\xdf\x54\x0f\x81\xf6\xc7\xc5\x28\x9a\x41\x94\xd8\xf0\x8f\xbc\x42\x14\x5d\xc5\xbe\xd2\x79\x35\x8d\x54\x14\x5d\xcb\xbe\x12\x0a\x9a\x0c\x19\x1f\x26\x72\x79\x72\xd8\xe1\xac\x63\xd2\x01\x22\xe4\xbd\xb1\x77\x88\x1b\x87\xc7\xfc\x53\x84\xeb\xe1\xdf\xb7\x44\x9f\x15\x47\xab\x00\xbe\x25\x05\xad\x38\x5a\x0d\xf0\x2d\x81\x68\xc5\x51\xaa\x40\xa7\x24\xe4\x64\x14\x52\x87\x2e\x5b\xd3\x5f\xac\xd3\x28\x23\x86\xd0\x1d\xf0\x2f\x15\xc1\x52\x13\xf9\x78\xe2\x81\xaa\xc5\xa1\xe4\x22\x0a\x13\xcd\x17\x1d\xae\x1f\xf1\x91\x53\xc0\xc8\x6a\x15\x25\xd6\x58\x05\xa3\xd9\xa1\x01\xf4\x77\x42\xad\x5e\xc6\x3f\x5d\x13\x6a\x75\xb2\x01\xf4\x43\x03\x6a\x8b\x51\x39\x2e\x73\x60\xf6\xe1\xce\x1a\x2c\xa0\x23\xc9\x86\xc9\xc1\xfe\x03\xf0\x7c\xe8\x82\x8e\x26\x1b\x2d\x87\xe7\x23\x18\x74\x34\xd9\x60\x39\xdc\x18\xc8\xbc\xbc\x93\x45\xd7\x86\x90\x17\xc2\xa3\xaf\x59\x93\x03\x49\x1d\x30\x5d\x5c\x9a\x8a\x43\x17\x68\xd9\xd3\x88\x6b\xb0\xff\x00\x5c\x91\xfc\x48\x0e\x84\xb2\x62\x1a\xae\x88\x0e\x63\xe4\x40\x57\x4c\xc3\x15\xd9\x07\xb8\x71\x78\xa4\xea\xb5\x8c\x28\xb9\xa0\x91\x32\x8d\x80\x62\x5d\x10\x2f\x26\xd0\xe4\x05\xce\x65\xbd\x23\x13\x6a\xf2\x02\x47\xbc\x67\xa5\x35\x79\x81\xc7\xe8\x5a\x69\x4d\x5e\xe8\x70\xa4\xb9\xfa\xb6\x8c\xb9\x2a\x66\xcd\x18\x40\x0f\x85\x89\x05\xce\x2c\xcb\x94\x92\x8c\x19\x82\x4b\x4a\x43\x89\xf7\x65\x18\x25\xd9\x45\x4a\x53\x65\xa0\x78\xa0\x68\x29\x6d\xeb\xf2\x2a\xcd\x98\x99\x3b\x28\x62\xf9\x8c\x05\x1f\xef\x2d\xd3\x45\x6a\xd0\x3c\xdc\xaf\x03\x58\xaa\x1b\xd7\x0d\x14\xc0\xb6\x62\xba\x39\xc0\x36\x5f\x0e\x73\x80\xa1\xf6\x74\xa0\x6f\x71\x2b\xaf\xdb\x31\xa1\xd6\x18\xc8\x25\x32\x74\xbf\x6a\x75\x87\x4b\x63\x41\x96\x4a\x55\x07\x6a\x72\x6c\x82\xed\xfe\x09\xdd\x9f\x83\x73\xf6\x3f\x86\xbe\x27\xbe\x24\xc4\x33\x35\x3c\x15\xa8\x38\x1a\x37\xf8\x7f\x15\x28\xa3\x8a\xd6\x96\x2d\x2e\x00\x9e\xd5\xda\x5a\x28\x03\xd0\xcf\xb9\x5f\x7c\x14\x40\xd6\xb5\xeb\xe3\x86\xf8\x28\x80\xac\x25\x1f\xf4\xc4\x47\x01\x64\xfd\xb8\x86\x2c\x3e\x0a\xd0\x97\x80\x23\x83\x53\x01\x30\x90\xf2\xd9\xc7\x0d\xf1\x51\x80\x43\x09\xe8\x0a\x03\xbd\xa7\xcb\x38\x92\x80\x01\x6e\x88\x8f\x02\x1c\x4b\xc0\x91\xd1\x93\x8c\xc1\x86\x5b\xe0\xb8\xa1\x6a\xdd\x91\x14\x11\x46\xb9\x34\xcc\x01\x20\xc9\x01\x9a\x02\x7c\x14\x40\xe5\x33\xc0\x0d\xf1\x51\x00\x49\x0e\x61\xf9\x4b\xeb\x1f\x00\xca\x1c\xf4\xc5\x60\x3a\xd0\x65\x48\x72\x88\x59\x04\x39\x93\x00\x00\x49\x8e\xc1\x00\x37\xc4\x47\x01\x0e\x73\xcb\x52\x7c\x14\x40\x92\xe3\xd0\xc7\x0d\xf1\x51\x00\x49\x8e\xc3\x1e\x6e\x88\x8f\x04\x48\x6c\x8f\x70\xe3\x48\xa8\xd9\x10\x28\xc9\x71\xc8\xc7\x49\xf8\x28\x80\x24\x87\x18\x3c\xe5\x00\x0a\x80\x4e\x3e\xf6\x8a\x8f\x02\xa8\x02\xb8\xc9\x08\x1f\x05\x50\xa3\x35\x1f\x2c\xe1\xa3\x00\x92\x1c\x5c\x11\x17\x1f\x05\x90\xe4\x38\xee\xe0\x86\xf8\x28\x80\x24\xc7\x71\x0f\x37\xc4\x47\x01\x24\x39\x8e\x0f\x71\x43\x7c\x14\x40\x92\xe3\xf8\x18\x37\xc4\x47\x02\xb4\x4e\x24\x46\x4c\x5f\xf5\xb0\x9e\xa7\x00\x1d\xa9\xce\xfa\x9e\x2a\xbe\xe7\x57\x0f\x48\x00\x53\xba\x0d\xb7\x07\xd4\x97\x82\x75\x4d\xf5\x5c\x7e\x29\x98\x56\xdd\x3b\x60\x23\x28\x43\x01\x60\x7d\x05\xeb\xcb\xf9\x18\xdf\xd7\xe5\x0d\x14\xec\x50\x0a\x3b\xdf\xd7\xe5\x1d\x2a\x1d\x0a\x34\x53\x4f\xd9\xad\x00\x3b\x52\xb0\x0e\x68\xad\x4a\x75\x05\xd8\xb1\x82\xf5\xd5\x4c\x5f\x47\x95\xa7\x50\x81\xd9\x17\xfe\x51\xe1\x8a\x5e\xdc\x6e\x50\x5f\x0a\xa6\xe8\x05\x23\xb0\xfc\x52\x30\x45\x2f\x50\xa1\xe5\x97\x82\x29\x7a\x75\x41\x61\xed\xab\x79\x30\x80\x69\x59\x0a\x23\xae\xf8\x52\x30\x85\x64\xcf\x93\x76\x8e\xdf\xd3\xe5\x0d\x4c\x85\x5c\x7e\x29\x98\xa2\x57\x0f\xec\xa3\xbe\x9a\x37\x03\xd8\x91\xa1\x0b\xaa\x2f\x05\x53\xf4\x02\x0b\x40\x7e\x49\x98\x2a\x0e\x06\x04\x69\x40\x43\xb8\x67\x98\x3c\xea\x4b\xc1\xb4\x0e\xcd\x35\x3c\xf9\xa5\x60\x8a\x5e\x30\xf3\x26\xbf\x14\x4c\x9b\x88\x5c\x75\x97\x5f\x0a\xa6\x95\x14\x5e\x94\xfc\x52\x30\x45\x2f\x2e\x73\xd4\x97\x82\xa9\x0a\x0c\x60\xbc\x14\x5f\x0a\xa6\xe8\xc5\x25\x8f\xfa\x52\x30\x45\x2f\x98\x13\x90\x5f\x0a\xa6\xe8\x75\x38\x80\x05\x04\xb5\x8a\xc0\x61\x2a\x4b\xa5\xfd\xaa\xb2\x0e\x15\xbd\xb8\x14\x52\x5f\x0a\xa6\xe8\x75\xc4\x51\x90\x5f\x0a\xa6\x4d\xa7\x9e\x9a\x4b\xd5\x12\xe9\x50\xd1\xeb\x88\xa3\x20\xbf\x14\x4c\xd1\x4b\x4c\x0f\x88\x2f\x05\x53\xf4\xe2\x5a\xb2\xfa\x52\x30\x45\x2f\x2e\x97\xd4\x97\x82\xa9\xca\x1d\x0f\x60\x4e\x5e\x4d\xcc\x03\x4c\xd1\xeb\x18\xe6\xe7\xc4\x97\x82\x1d\x2b\xb5\xc2\x97\x2a\x50\xc7\x53\xe5\x1d\x29\x90\xb0\x25\x74\xff\x3e\x52\x43\xbe\x07\x9a\x78\x4f\xd9\xd4\x00\xd3\x93\x12\x30\xbb\x2a\xbe\x14\x4c\x69\x38\xde\x31\x98\x43\xca\x26\x02\x98\x52\x6f\xb8\x78\x52\x5f\x0a\xd6\x53\x30\x5e\x94\xfc\x52\xb0\xbe\x82\xf1\xa2\xe4\x97\x82\x0d\x14\x4c\x2c\x49\xa9\x75\x29\x80\x1d\x2a\x35\x13\xa6\x8a\xc5\x97\x82\xa9\x8a\xc3\x82\x8b\xfc\x52\x30\x45\x2f\x98\xe4\x95\x5f\x12\xa6\x40\xdc\xd6\x86\x8f\x0a\x57\xf4\x82\x19\x69\xf9\xa5\x60\x8a\x5e\x30\x71\x28\xbf\x14\x4c\x6b\x84\x7a\x71\x43\xcb\xa8\x63\x45\xaf\xee\x21\x4c\x66\xaa\x19\x4d\x80\x29\x7a\x89\x45\x3d\xad\x80\x03\x4c\xd1\x0b\xa6\xc8\xe5\x97\x82\x29\x7a\xe5\xab\x42\x5a\x46\x1d\x2b\x7a\x71\x73\x57\x7d\x29\x98\xa2\x17\xe8\xfa\xf2\x4b\xc1\x14\x51\x60\xca\x5e\x7e\x01\xcc\x9c\x5e\xd3\xb3\xe5\xe6\xa4\x45\x29\xbc\x30\xbd\xa9\xc3\x0b\xb3\x9b\x3a\xbc\x30\xb9\xa9\xc3\xef\x48\x1c\xa7\xb7\x86\x0c\x11\x26\x92\xa8\x0e\xa9\xd5\x97\x49\x95\xbe\x4c\xaa\xf4\x65\x52\xa7\x2f\x93\x5d\xfa\x32\xa9\xd3\x97\x49\x9d\xbe\x4c\xea\xf4\x65\x52\xa7\x2f\x93\x3a\x7d\x99\xd4\xe9\xcb\xa4\x4e\x5f\x26\x75\xfa\x32\xa9\xd3\x97\x49\x95\xbe\x4c\xea\xf4\x65\x52\xa7\x2f\x93\x3a\x7d\x99\xd4\xe9\xcb\xa4\x4e\x5f\x26\x75\xfa\x32\xa9\xd3\x97\x49\x9d\xbe\x4c\xea\xf4\x65\x52\xa7\x2f\x93\x2a\x7d\x99\xd4\xe9\xcb\xa4\x4e\x5f\x26\x75\xfa\x32\xa9\xd3\x97\x49\x9d\xbe\x4c\xea\xf4\x65\x52\xa7\x2f\x93\x3a\x7d\x99\xd4\xe9\xcb\xa4\x4e\x5f\x26\x35\xfa\x32\xd9\xa1\x2f\x93\x1d\xfa\x32\xd9\xa1\x2f\x93\x1d\xfa\x32\xd9\xa1\x2f\x93\x1d\xfa\x32\xd9\xa1\x2f\x93\x1d\xfa\x32\xd9\xa1\x2f\x93\x1d\xfa\x32\xa9\xd1\x97\xc9\x0e\x7d\x99\xec\xd0\x97\xc9\x0e\x7d\x99\xec\xd0\x97\xc9\x0e\x7d\x99\xec\xd0\x97\xc9\x0e\x7d\x99\xec\xd0\x97\xc9\x0e\x7d\x99\xec\xd0\x97\x49\x8d\xbe\x4c\x76\xe8\xcb\x64\x87\xbe\x4c\x76\xe8\xcb\x64\x87\xbe\x4c\x76\xe8\xcb\x64\x87\xbe\x4c\x76\xe8\xcb\x64\x87\xbe\x4c\x76\xe8\xcb\x64\x87\xbe\x4c\x6a\xf4\x65\xb2\x43\x5f\x26\x3b\xf4\x65\xb2\x43\x5f\x26\x3b\xf4\x65\xb2\x43\x5f\x26\x3b\xf4\x65\xb2\x43\x5f\x26\x3b\xf4\x65\xb2\x43\x5f\x26\x3b\xf4\x65\x52\xa3\x2f\x93\x1d\xfa\x32\xd9\xa1\x2f\x93\x1d\xfa\x32\xd9\xa1\x2f\x93\x1d\xfa\x32\xd9\xa1\x2f\x93\x1d\xfa\x32\xd9\xa1\x2f\x93\x1d\xfa\x32\xd9\xa1\x2f\x93\x1a\x7d\x99\xec\xd0\x97\xc9\x0e\x7d\x99\xec\xd0\x97\xc9\x0e\x7d\x99\xec\xd0\x97\xc9\x0e\x7d\x99\xec\xd0\x97\xc9\x0e\x7d\x99\xec\xd0\x97\x49\xad\xbe\x7c\x95\x26\xe4\x6e\x41\x6e\x4d\x4c\x85\x3f\x82\x67\x40\xcb\x5e\x64\x16\xb8\xec\x48\x06\xed\xa4\xc0\x25\x5f\x32\xb1\x58\xa8\xc0\x15\xee\x64\x3e\x80\x59\x61\x59\x4a\x0c\xc3\x47\x5e\x0e\xb4\x1d\x3e\xbc\x02\xb4\xe4\xf3\xe1\x0f\x0e\x73\xa8\xe5\xf6\x31\x80\x65\x96\x1c\x68\xce\x7a\x73\x01\x0c\xce\x7a\x51\xb2\xb0\x56\xd1\x20\xa5\xd2\x59\x34\xd0\xc2\x09\x4a\xf5\x06\x26\xdc\xc4\x4a\xab\x29\x1a\x6a\x62\x75\xa4\xbc\x98\x34\xb4\x88\x16\x0c\x0b\xd1\x4d\x4a\xef\x4a\xca\x3f\x34\x10\x80\xfc\x1d\x30\xdb\xc7\x44\xb7\x1c\xc0\x6c\x07\x13\xdd\x6c\x00\xb3\xbd\x4b\x74\x9b\x19\x3e\x0a\x82\x57\xba\x7a\x60\x06\x90\xed\xf1\x32\x50\x03\x33\xc0\x6c\x54\x3c\xa5\x24\x00\xcc\x76\xe1\x3c\x52\xca\x11\xc0\x6c\x54\xb8\x1a\xcc\x89\x12\x87\x37\x24\x59\x10\xaa\x32\x55\xc8\x88\x1e\xa1\xa0\x17\xf1\x3a\xbb\xb2\x70\xf2\x54\x67\xb3\xa2\xf8\x8f\x88\x63\x7b\xa2\xf6\x94\x70\xb1\xe2\xd8\xf5\xe8\x82\xb3\x58\x31\x4e\xd9\x17\x15\xd6\x6b\xe2\xf0\x36\x31\x17\xe7\xa1\x84\xbe\x74\x59\x88\xc9\x75\x9a\xcc\xaf\xa2\xe5\x52\x2f\xef\xe7\x8b\x64\xa0\xb7\x9a\x31\xfc\x87\xa3\xd8\x8d\xd1\x55\xa3\x9f\x19\xc5\x66\x0f\x50\x44\x8a\xb9\xd8\x55\x39\x54\xfa\x6e\x1c\x5d\x5e\x19\x4e\x79\xc2\x54\x86\x45\x4a\x50\x19\x35\xd8\xf4\xa0\x10\xee\xbf\x60\xd1\x6a\xb8\xe9\x41\x21\x7c\x7f\x41\x3d\xd4\x70\xd3\x83\x02\x1c\x7f\x65\x3d\x15\xdc\xf4\xa0\x50\xd2\x47\xc1\x4d\x4f\x33\xd0\x2e\x61\xa5\xb5\xa3\xf3\xcf\xbd\x95\x44\x5b\xe7\x06\xb7\x06\xfb\x0f\xc0\xad\x51\x38\xf7\x28\xd0\x70\xad\xb9\xd8\xee\x55\x1a\xde\x33\xb5\xfb\xdc\x95\x00\xe0\xc5\x95\x43\xc1\x94\xbe\xd2\xca\xed\x38\xb6\x9b\xf5\xa0\x3a\x23\x9b\xbd\xbd\xea\x9c\x6c\xfe\xf6\xac\x06\xaf\x5e\x51\xe4\xa3\x30\x28\x86\x76\x1c\x73\x2a\xc5\x18\xce\xfc\xbc\x48\xbd\x00\x09\xce\xa4\xea\x2b\x07\x1b\x6e\x2c\x6a\x54\x12\x12\x5e\xc1\x77\x25\x2f\x0e\x3c\xe0\xad\x01\xd2\x4f\x83\x2d\x31\x7f\x08\x3a\x67\xdf\x84\x5b\x83\xcf\xa0\xa3\x74\x63\x0d\xb7\x3d\xcc\x84\xfb\xa0\x09\x37\xa9\x04\x6e\xab\x9e\xc6\xce\x72\xe3\x81\xf2\x07\xda\x8d\xc7\x88\xe0\x3f\x18\xc3\xc2\x11\xbc\xdc\xfc\x9e\x1d\xc3\xc2\x92\xb7\xd5\xf1\x91\x1d\xc1\x44\x93\x5b\xfc\x03\xdd\x96\xb6\x33\x51\xb7\x23\x3d\x30\x84\x5b\xbb\x88\x61\x7a\x78\xf8\xc2\xc9\x7a\xa0\x45\xb4\x11\xc3\x37\x6c\x89\x0e\x4c\x7b\xe5\x3d\xc9\xf6\xf3\xf0\x07\x3d\xd5\x9a\x79\x67\xb2\x5d\x3d\xc0\x83\x07\x5a\xd4\xe8\x4f\xb6\xb7\x07\xa8\x03\x9d\xae\xd5\x11\x0a\xde\x46\x7e\x57\xd9\xf0\x26\x2e\xb6\xc3\x91\xef\x6b\xdf\xcb\x7e\xb7\x10\x87\xec\x8c\xc3\x08\x89\x4d\x01\xa9\x6c\x89\x8e\xd1\x82\x2a\x8e\xe5\xad\xd7\xb1\xc5\x8c\x8e\x64\x79\xeb\xf9\x9e\x4d\x1e\x15\xc9\xf4\xd6\x03\x13\xcb\x24\x90\x8a\x64\xb9\xeb\x15\x68\x64\xf7\x5a\xad\x6e\x74\x7a\x76\x84\xb2\x42\x52\x8c\x51\x56\x4b\xbc\x42\x21\x65\xe5\xe4\xc8\xb3\x63\x94\x55\x14\x49\xbc\x6b\xd3\x0f\xb2\xaf\x84\xab\x64\xba\x84\x24\xa6\xd4\x91\x4a\x8c\x8b\xb0\xe5\x5f\x29\xe6\x8f\x15\xa9\x25\xc8\xdf\x01\x33\x2b\xa4\xa9\x2f\x61\x66\x55\xf4\x60\x2c\x61\x66\x25\xb4\x3f\xe7\x75\x48\x53\xd5\xff\x81\x37\x7a\x5c\x95\x1c\x68\x88\x89\x48\xbf\xa3\xac\x68\x01\xb3\xdc\x73\x8e\x94\x4a\x2c\x60\x26\x22\xd0\x49\x40\x5e\x0a\x98\xe5\x9a\xa3\x14\xe2\x6b\xb2\x88\xd6\xd7\xa5\x5d\x32\x85\x2d\x2c\x22\x56\x69\xe7\x84\xa8\x26\xc0\x2c\x7f\x4a\x6e\xa3\x1f\xf5\x95\x38\x36\x23\x98\x03\xaa\xef\xe9\xae\x67\x46\x31\xc7\xd4\xe3\xbe\x26\xb4\x11\xc3\x1c\x55\x73\x21\x60\xc6\x30\xc7\xd5\x7e\x5f\x13\x1d\x62\xac\xd6\x74\x15\xab\x7a\xf6\x0e\x95\x08\xf0\x8b\x31\xb4\xc4\xf2\xe5\x6c\x98\x89\xaa\x88\xa2\x27\x79\x80\x35\x7d\x1b\x57\x11\x45\xcf\x8d\x1d\x4a\xf7\x33\x13\x59\x11\x45\x49\xac\xae\x98\x1b\x36\x71\xb5\x05\x30\x0c\x00\x30\xa7\x02\xf3\x79\x32\x4a\x41\xa8\x41\x7f\xf6\x7a\x36\x2e\xd9\x8a\x46\xc9\x65\x71\x61\x45\x78\xcc\xe9\x48\x05\xe7\xc4\xc3\x8e\x9e\x59\xc8\xe3\x08\xff\xc4\xdc\x3b\xf5\x18\x66\x02\x94\xa2\x7f\x1d\x2d\x12\x5b\x31\x14\xc2\x4c\x29\x11\xd7\x51\xc2\xe6\x94\x84\xd7\xa6\x71\x2c\x55\x58\x00\x67\xec\x8e\xa6\x59\x69\x97\x51\x07\xe6\x35\x35\xb8\xb4\xd1\xa8\x00\x2f\xed\x35\x12\x4a\x87\x86\x97\xb7\x1b\xc1\x3c\x94\x86\x97\x77\x1c\xc1\xfc\xc3\x75\x3a\x9f\x87\x59\x94\x14\x4b\x17\xa9\x93\xf0\x26\xfc\x79\x5a\xf2\x71\xeb\x68\xb5\xc1\x88\xe0\x3f\x18\xc3\xf6\x3e\x3b\x54\x53\x84\x46\x0c\xdb\x0d\x4d\xab\x8e\x46\x0c\xbb\x1a\xbe\x9c\x7f\x4f\xc2\x9b\x3b\xb3\x13\x0b\x85\x98\x87\x96\xfc\xfa\x01\x92\xc6\x8b\x38\x9c\xeb\x3a\x75\xd5\x74\x06\x48\x54\x70\x01\x5f\xd0\xf0\x42\x89\x0d\xd8\xf4\xd3\x91\xfb\x8a\x34\x54\x5b\x01\xca\x1b\x7d\xd0\x31\xc1\xda\x08\x50\x5a\x74\xff\xc8\x04\x9b\x36\x40\x2e\xe7\x35\xb8\xe4\x5e\x0c\xb6\x56\xd9\xf1\x7c\x20\xd7\xff\x2a\x9c\xce\x6d\x90\xa5\x52\xf1\x42\x73\x90\x45\xf4\x6e\xd7\x04\x59\xca\x9e\x67\x42\xf2\xd9\x06\xa8\xfa\x71\x01\xe6\xef\x02\x9a\xb8\x0c\x7a\x05\xa0\xb5\xcd\xab\x5f\x00\x5a\x3b\xbd\x0e\x15\x30\x17\xd2\xc2\x13\x51\x88\xbe\x9e\x86\x59\x64\xe9\xfa\xaa\x67\xda\x92\x19\x08\x03\xf3\x7c\xd0\xeb\x2d\xa1\xdc\xd1\x8b\x2d\x62\xf2\xd3\x96\xc7\x1c\x19\x21\xe3\xf8\x90\xb5\x0a\x63\x52\x69\xe5\x08\x4d\xd3\x53\x51\x0c\x43\x40\xcc\x7a\xc1\xd6\xb3\x8e\x09\xf6\x4d\x1e\x01\xe4\x41\xb0\x69\x78\xa7\xda\x90\xd0\xf0\xae\x69\x92\x0b\x4d\xd9\x82\xab\x45\x31\xe5\x96\x7a\xa4\xa0\x05\xa1\xe9\x1f\xf6\x2d\x4b\xd0\x8a\xa2\xe7\xbf\x0f\x2d\x6b\xd2\x8a\xa3\xfb\x42\xaf\x3e\x1f\xdd\x21\x6c\xab\xd2\x8a\xd3\x33\x06\x72\xc3\xb2\xe4\x71\x0a\x32\x1c\x66\x73\xc5\x52\x56\xef\xb0\x18\xc5\xe6\x07\x4f\x2d\x1d\x58\x71\x6c\xb6\x80\xb6\x29\x15\x65\x73\x47\xcf\xe4\x00\x1d\xa7\xc8\x24\x60\xac\xad\xc2\x55\x78\x17\xde\x5e\x45\x2b\xcb\xc2\x85\x61\x07\xe0\x24\x9c\x5f\xad\xd6\xcb\xa5\x09\x16\x4b\x12\x7d\x13\xec\x3f\x00\xb7\x05\xae\x5e\x07\xd1\x70\x5b\xdc\xf6\x95\xad\xa7\xe1\xb6\xf3\xef\xb1\x32\xf6\x56\x84\xae\x8b\x32\x03\x16\x74\x8a\xe6\xa9\x98\xdb\x50\x10\x7b\x07\x94\xaf\x26\x99\xca\x46\xe9\xb1\x5a\x28\x29\xdb\xa3\x7d\xb5\xe6\x54\x32\x45\x01\x3b\x80\xc4\x6b\x35\x14\x43\xbb\x0d\xc0\xa5\xda\x97\x10\x1b\x89\x43\xcd\xae\xf1\xfa\xda\xde\x7e\xa5\x95\x0d\x0e\xb2\x7d\x91\xb5\x96\xc8\x41\xb6\x1f\x72\x47\xf3\x64\x7a\xbb\xb0\x76\xe2\x09\x1b\xb1\xa7\x06\x19\x4b\x61\xe3\x28\xc2\xd4\x7e\x2f\x07\xe9\xce\x2f\xbd\xd9\x25\x9e\x96\x8a\xc6\xc9\xd1\xcb\x11\xb5\x74\xb3\x8e\xf4\x64\x97\x98\x9a\x4a\x19\x68\xb1\x7a\x3a\xc5\x96\xe4\x52\xc8\x17\x7a\x49\x1e\x5a\x30\x18\x64\x68\xc1\x54\x90\xa1\x05\x23\x01\x42\xd3\xec\xce\xdc\x1a\x2c\x77\xf1\xa8\x09\x57\x0d\x2e\xb9\x8e\x8b\x59\x0e\x0d\x2f\xf9\x8e\x0b\x33\x4b\xc3\x4b\xce\xe3\x62\x07\x8f\x86\x97\xbc\xc7\xc5\x2a\x3a\x4d\xef\x42\xc3\xc0\x1d\x68\xb1\xdf\xb1\xa0\x7e\xae\x4c\x8a\xdd\xad\x7d\x0b\x2c\x91\x1b\x1c\xca\xc9\x7f\xd1\x3c\x1a\xac\x7c\x36\x8e\xa4\x29\x60\x97\xac\xfc\x58\x8e\xc5\xd8\x28\xda\x28\x0b\x17\x8b\x98\x98\x84\xb3\xb6\x9f\xda\x13\x2f\x7a\x56\x10\x86\xc0\x8a\x39\x97\x9e\xa7\xea\x5b\x31\xdd\xc2\xe5\x21\x18\x51\x15\x13\x2d\x5c\x9e\x1e\xe5\x99\x5a\xb2\x6d\x80\x1b\xfd\x43\x00\x25\x0b\xb3\x89\x3b\x9c\x41\x61\xfa\x03\x2c\x41\x5b\xf9\xef\x0d\xd4\xd0\x73\x68\xc0\xfc\x7c\x5c\x92\xc3\xde\xb1\x01\x95\xd8\x1e\xea\xfd\x7d\xb0\x16\x5e\xd8\xba\x35\x38\xd4\x43\x9e\x09\xed\xd5\x14\x9b\x5d\x91\xd8\xdc\xbf\x2b\xb5\xc1\x23\x03\xea\xef\x06\xdb\xd3\x90\xc7\x6a\x4a\x44\x81\xed\x09\xc8\x43\x35\x6f\xad\xc0\xa5\xb5\x02\x31\x89\x99\x45\x24\x49\x42\x43\x48\x70\xc3\x10\x66\xf8\x05\xa4\x34\x90\xc1\x38\x26\x60\xa5\x01\x0c\x66\xc0\x04\xac\x34\x70\x89\x96\x03\x58\x71\xc0\x12\xb5\xac\x99\x11\x03\x8d\xb8\x30\x19\x66\xcc\x97\x19\x50\x25\xb2\x40\xee\xc0\xb8\x60\x66\xac\xf7\x82\x1f\x49\x27\x00\xd1\x29\xec\xd9\x2f\x98\xcc\xf4\xb5\x84\x2d\xda\x88\xbc\xc8\x63\x2d\x9a\x35\x54\xa3\xc5\xc7\x02\x5f\x6f\xc5\xd2\x70\x8d\x18\xb8\xd9\xe8\xc9\x7a\x0d\xef\x1a\x9a\xf8\xd1\x71\x29\x7b\x85\x1b\x27\xb0\x67\xa1\x66\xce\xb7\x75\x54\x97\x04\x05\xad\xb4\xbf\xef\xf8\xc8\x9a\x3f\x2c\xed\xed\x3b\xea\x5b\x93\x87\xa5\x7d\x7d\x60\xaa\xe7\x93\x06\xc5\x3d\x7d\x82\xac\xf9\x9c\x58\x69\xaa\xaf\x80\x5e\x52\x98\x2b\xd3\xcb\x53\x1c\x52\x5e\xa4\xd1\xa0\xd2\xe2\x8c\x50\xa5\x39\xa8\xb4\x28\x23\x14\x69\x0e\x2a\x2f\xc6\x80\x16\x55\x6d\xdd\xf7\x95\x6f\x8f\x01\xf6\x1f\x80\x17\xdc\x28\xc5\x36\x3f\x03\x5e\x70\xa7\x14\xbe\x56\x06\xbc\xe0\x56\x09\xfe\x6f\x85\x99\xd0\x43\xed\x5c\x04\xc3\x50\x71\x0e\xf4\xf8\x58\xfa\x7f\xc8\xf6\x2d\xcc\x7e\x8a\xb3\x5f\xf2\x3e\x51\x98\xf7\x04\x3b\xb8\xa7\x87\xf2\xe2\x8c\x27\xac\x22\x79\x9a\xf7\x98\x5e\xff\x91\xeb\xce\x6a\xa1\x93\x85\x49\xc9\x3e\x3c\x94\x29\x4a\xd6\x21\xe8\x89\x2c\x4c\x4a\xb6\xe1\x40\x02\x8a\x96\x21\x0c\xdf\xec\x2a\xca\x58\xac\x4f\x67\x18\xa8\xcd\x8f\x70\x22\x8c\x04\xda\xd3\x04\xda\x5e\x90\x50\x7b\x96\x43\x8f\x9d\x12\x6a\xcf\x71\xe8\x89\x60\x09\xb5\xa7\x06\x34\xb7\xb3\xf4\x3a\x64\xa9\x51\xea\xf1\xb1\x14\x94\x02\xe2\xd7\x83\xac\x25\xf1\x8e\x14\xa1\x02\x64\xa2\xc2\x1b\x08\x24\xa8\x00\x59\x8b\xe1\x3d\x29\x41\x0b\x26\xd5\x40\x7b\x8e\x78\x16\xd4\xe0\xe5\xfc\xb8\x8f\xa2\x1d\xe5\x59\x87\x7d\x14\x2d\x28\xcf\x3a\xea\xa3\x68\x3b\x79\xd6\x49\x1f\xe6\xce\xdc\x7c\xf8\x17\xf9\x16\x2d\x2a\x2e\x44\xc0\x86\x05\x21\x51\x69\x4c\xc1\x04\x3d\x88\x83\x4a\x3b\x0a\x3c\xc6\x7a\x16\xd8\xb2\xf6\xb5\x93\x60\xa5\xf5\xc4\xb1\x06\x4f\xcf\xdb\x2b\x12\x2a\x9c\x7b\xf9\x64\xd3\xb1\x02\xd9\xcb\x86\xbe\xf2\xac\x02\x98\xcd\x5f\xe0\xfd\xd5\x53\x30\x9b\xbb\x06\xaa\x2a\x00\xb3\x79\x6b\xa0\xa4\x44\x79\xf7\xa7\x6e\x34\x00\x65\xd7\xe9\x87\xf2\xd1\x43\x30\x82\x57\xaf\x49\x78\x1a\x52\x5a\x8c\xc8\x41\xa5\x55\x88\x1c\x54\x5a\x7e\xc8\x41\xa5\x75\x87\x1c\x64\x4d\x46\x98\x13\x52\x5b\x1c\xb5\x97\xe2\xe6\x85\xa5\xba\x04\x2d\x59\x5f\x57\x9d\x49\x9b\x90\xdb\x86\x3c\x0b\x5a\x1c\x96\xbc\x54\x07\xc6\xfe\x30\xa4\x59\xf5\x2d\x24\xc6\x99\xb2\xbf\xeb\xc0\x39\xfd\x4f\xdc\x77\x8e\x33\xfd\xe9\x3b\x77\xd6\x72\xdf\xb9\x07\x97\x91\x79\x1c\x38\xc5\x29\x1c\xe6\x9b\x5f\x35\x31\x4d\x67\xe2\x2e\x10\x24\xef\x03\x6d\xdc\x84\x34\x0a\x2f\x62\x32\x6c\xa0\x56\x2a\x2f\x9b\x64\xf2\x4e\x1b\x2a\x8e\xcd\xb5\x10\x6b\xab\xfc\x33\x37\x0b\x6a\x61\x53\x3a\x73\xe4\x75\x37\x0d\x9e\x51\xa1\x50\x92\xcd\xc3\x15\x69\xa8\xe8\xbc\x6c\xaa\x6f\xd1\xdb\x96\xa9\x91\x67\x1c\xdc\xc3\x35\xe9\xe4\xab\xd7\x2f\x86\xfa\x09\xeb\x27\x7d\xdd\xe3\xb0\x1c\x84\x45\xa9\x9f\xbd\x7d\xf5\x72\x58\x3e\x85\xfa\x1e\x9d\xa0\x21\x6a\xc6\x6c\x84\x30\x7a\xca\x1f\x2f\xe1\xb1\xc9\x1f\xc3\xeb\xd5\x08\xe1\x4f\xd1\xa7\x43\xd4\xfc\xc5\x3a\x05\xc0\xa7\x1c\xf0\x49\xf7\x78\x84\xf4\x05\x80\x46\xf3\x4c\x4f\x9e\x36\xdf\xa1\x77\x9f\xce\x0e\x2e\x2b\x2e\x96\x6c\xb0\x29\x99\x6d\xdd\xad\xa8\xe8\x25\x61\xe3\xf9\x9c\xac\xd8\xcb\x30\xb9\x5c\x87\x97\x85\xfb\xb8\xaa\xa3\xb4\xe7\x57\x34\xbd\x26\x6f\xd6\xab\x55\x4a\x19\x59\x38\xee\xa9\x08\x69\x47\xfe\x51\x52\x91\xc0\x21\xee\xb0\xfa\x8a\x33\xe2\x4c\x93\xf0\x26\xba\x0c\x59\x4a\xdb\xb1\x8c\x9f\x57\x65\xff\xe0\x12\xa3\xf7\xc8\x9d\xb9\x5b\xb8\xe4\xe5\x71\xf8\x54\x5c\x39\x2c\xef\xbc\x12\x11\x9b\x4d\x03\x5d\x91\x29\x9c\x70\xfd\xfb\x6b\x42\xef\xac\xfa\xdb\x67\x54\x9f\x22\x57\x9e\x80\xaf\x6f\x63\x70\xf3\x9b\x8c\x78\xd7\x83\x8b\x13\xc4\x75\x44\x4d\xe4\xe2\x28\xf0\x46\xd1\x89\xba\x63\x67\x14\xa9\x2b\x9c\xd2\x80\x4e\xa3\x99\x8a\x19\x20\x77\xc4\xa6\x15\xd7\x86\xa6\x53\x6f\xe6\xce\x82\x4a\x88\x3f\xd3\x47\x70\x33\x4d\x97\xaf\x5e\xbf\xac\xea\xee\x39\xb4\xbe\xe5\xe4\x25\x45\x32\x1e\x6f\x30\x62\x66\xfb\xad\x49\x2c\xf3\x2d\xbe\xcb\x6c\xa5\xb0\x8a\xc3\xeb\x55\xe9\x5c\x73\xc5\xd8\x27\xec\x94\x0d\xc9\x53\x7a\x4a\x15\x4a\xbf\x5c\x85\xd5\x37\xdf\xe4\x42\x4d\xdf\xf0\xe3\x30\x8c\x3c\x94\xb3\xce\x8f\x40\xd4\xaf\xc2\x39\x29\x9d\x47\x7e\x12\x78\xf2\x84\x70\x84\x46\xf9\x4d\x94\x76\x2a\x68\x6f\xd6\xbe\xd5\x01\x9b\x8d\xf5\x1a\xa0\x86\xfe\x87\xdc\x11\x79\x6a\x02\x15\x23\xb8\x66\x60\x2b\x30\xdf\xf4\xa1\xff\x66\x32\x7d\x17\x87\x92\xd6\x70\xff\x52\xf5\xc5\x86\x9b\x4d\x9f\x74\xe1\xaa\x03\xa8\xef\x1b\x16\xce\x3f\x38\xbe\x3e\x6a\xbe\x70\x19\x17\xab\xb9\x7a\x50\xdc\xb1\x86\xc4\x65\xbe\x28\xd0\xb7\x39\x9d\x46\x43\x02\xe7\x9d\x8f\xa2\x20\x3a\x45\x5c\x7a\x46\x43\x84\xb0\x75\x8b\x16\x8a\xa3\x0b\x85\xe4\xb0\xc1\x44\xee\x0d\xf2\x71\x15\x71\x0d\x85\x0b\xdc\x03\x9f\x74\x5b\x28\x43\xad\xc8\xc5\xe6\x05\xaf\xa9\x8b\x59\x20\x8e\x1e\xa7\xbc\xfb\x54\x30\x73\xc5\x75\xe2\xcd\xa6\x63\x5f\xbc\xa8\x72\x71\x31\x91\x37\xa0\xc1\x5d\xf8\xfa\xde\x34\x77\xab\xe4\x66\x65\x0d\x23\x3e\x2a\x3a\x39\xcf\x00\x0d\xcb\xb7\x07\xf0\xde\x7e\x4a\x5a\x9d\x61\x67\xf7\x0d\x72\xac\xea\xf6\x38\x7d\xdd\x5b\xc4\xe5\x46\x1a\xd0\x51\x7a\xc2\xcc\xbb\xde\xa2\x69\xba\x4f\x67\x30\x1e\xd6\x5d\x2b\xa7\x6f\x5d\x11\x98\x66\xd7\x21\x65\xe7\x71\x9a\xd2\x49\x74\x13\x2d\xaa\x2f\xbe\x24\x07\x0c\x47\xe2\x6c\xff\x39\x89\x62\x87\xe6\xb9\xec\xd3\x13\x9f\xec\xf7\x4e\xa3\x21\x80\x97\x3c\x27\x79\xfd\xc0\xb2\x4d\xc3\x64\x91\x5e\xbf\x48\x6a\xee\x28\x33\x52\x88\x7b\x03\x20\xba\xe3\x3e\x71\xd8\x3e\x69\xf9\xae\xdb\x82\xbe\x2b\x2f\x2d\x7c\x15\x26\xe1\xa5\x79\x85\xaa\xba\x8f\x51\x8d\x00\xd9\x7b\x38\xca\xbf\xfa\xbe\x98\xf2\xf0\xb0\x15\xb7\xe2\x14\xb2\xd0\x57\xe3\x20\x92\x70\xc9\x5d\x04\xaf\x13\x71\x0d\x00\x80\xad\xdb\x3c\xb3\xe0\x7e\x5b\x46\xd7\xb8\x7d\x2b\x5c\x2c\x5e\xa9\xa8\xd6\xd5\x1e\xe6\xb5\x76\xf9\xe5\x81\x53\x36\x1b\xd1\x36\x20\x7d\x95\xc6\x0b\x42\xb3\x53\xab\xb8\x29\x9b\x05\xfa\x66\x4f\xe3\xec\xfe\xef\x09\x45\x6b\xfa\xd3\x77\xd9\xbb\xef\x71\x2d\xeb\x7b\x96\x96\x65\x5c\xb8\xd2\xe0\x65\x58\x25\x4c\x23\xfb\x16\x81\x59\x7b\x2e\x6e\x37\xdd\xba\xc3\xfa\xc2\x77\x57\x7b\x19\x25\x8b\x71\xb2\x78\x99\x86\x55\xd5\xe7\xec\xa0\xef\x36\xa1\x30\x7c\x9e\x72\x39\x24\x2f\x5b\x18\x66\xf9\x33\x8e\xd4\xe5\x38\x89\xe3\x0e\x99\x93\xe2\x4c\xdc\xc1\x14\x95\x1a\x71\x9e\x26\xf3\x90\x27\x49\x83\xe9\x0c\x67\xfc\x2b\x29\x5d\x89\x19\x1b\x18\x39\xf2\xee\x4a\x20\xc6\xeb\xfc\xf2\x69\x82\x23\x17\xd3\xf6\x45\x94\x88\x6b\x4d\xf1\x9e\x57\x78\xf7\x5d\x77\x9b\xbf\xbb\xa3\x44\xc8\x80\x5a\x72\xc4\x75\x74\xe0\xc3\x97\xa8\x0d\x17\x07\x3f\x7e\xf5\xf2\x33\xc6\x56\xaf\xc9\x2f\xd6\x24\x63\xa3\xa8\x9d\x26\x3c\x25\x49\xac\x51\xb4\xe3\x79\x01\x27\x10\x0b\xd9\x3a\x3b\x15\x95\x30\xd8\xcc\x31\x6e\xc5\x8e\xda\x94\x64\xab\x34\xc9\xc8\x5b\xf2\x91\xb9\x2e\x66\x8e\xeb\x0e\x69\xb3\x49\x1d\x95\x81\x55\x11\x1c\x89\x0b\x7b\xd1\xf7\x9f\xbf\x45\x18\xee\xba\x86\x1b\xd1\xab\x6a\x57\xa2\xdb\x83\xd6\xc0\xbb\xef\x39\xef\x16\x2d\xd7\x52\x36\x8d\xf1\x9b\x4d\xe9\xbe\x3f\xdb\xee\xa6\x64\xb9\xd4\x87\x11\xdb\x95\xdf\x25\x61\xd5\x0d\xa2\xae\xfb\x69\x58\x5d\xc0\x95\x6c\xa7\xbb\x04\x99\x69\xfb\xc1\x52\x6b\x40\x63\x6c\x36\x9d\x28\x28\x28\xbc\xea\x36\x56\xe2\xba\x78\x2f\x72\x0b\x77\x89\x88\x51\x51\x59\x20\xb2\x14\x79\x97\x88\x36\x90\xe8\x29\x19\x52\xf3\x6e\xaa\xd2\xb5\x3c\x5c\xd5\x08\xa6\x70\xeb\x63\x35\x8b\x47\x98\xb9\xee\x30\xda\x49\xea\x15\x4d\xe7\x24\xcb\x5e\xf8\x47\xc9\x98\x31\x1a\x5d\xac\x59\x9d\x10\x0b\x48\xfb\x17\x5c\x25\x7e\x43\x62\x32\x67\x29\x1d\xc7\xb1\x83\xa6\xbc\xca\x33\xe4\x62\x71\x37\x10\x33\xef\x06\x02\xb4\xaa\x0a\x70\xd8\x94\xce\x76\xb3\x40\x55\xb2\xca\x1b\x7b\xb8\xfe\xaf\xf3\x45\x1c\x1b\x24\xaf\x77\xb9\x87\x61\xd8\xbc\x3f\x9e\xb9\x72\x18\xa6\xae\x1c\x9f\x8b\xd7\xbb\x84\xc9\xa7\xac\x01\x91\x79\x73\xb4\x59\x78\xf9\x79\x78\x4d\x5a\xe8\x13\xfe\x16\x2d\x5a\xa0\xe2\x30\x17\x53\x3d\x60\x83\x65\xca\x54\x07\xa7\x38\x0d\x78\xe5\x46\xa9\x65\x2a\x04\x60\x2a\x00\x28\x48\x73\x73\x61\xe6\x62\x3b\xde\xf7\x64\xbc\xc7\x8d\x73\x6d\x96\x7e\xb5\x5a\x29\x89\xbe\x75\x0a\xc4\x30\x0a\x72\x5b\xe8\x3d\x6a\x51\x79\xef\x56\xa6\x15\x59\x27\x75\x47\xe8\x3d\x0a\x82\xe8\xd4\xbe\xf2\x3a\x1b\xc2\xc5\xcc\x79\x66\x11\x17\xc9\x30\x1c\xe4\x97\x35\x97\xc7\x6d\x2e\x12\x20\xef\x8c\xa5\x14\x6e\x63\xc7\xe6\xeb\x17\x17\x19\xa1\x37\x84\xbe\x17\x08\xa4\xc9\x1b\x11\x7e\x76\x15\x26\x97\xe4\xbd\x29\xa3\x20\x42\x94\x8d\xe7\x2c\xba\x21\xef\x83\x3d\x5f\x84\x18\xb7\xf1\x8b\xeb\x87\x29\x57\xb2\xf7\xfc\x91\x56\x77\xd1\x01\x1a\xd1\x36\x49\x16\x92\xa4\x07\xc8\xdd\x6c\x1c\xda\x0a\xf8\x13\x96\x2c\x49\x96\xd1\xc7\x80\xe6\x6f\xaf\xc9\x3c\xa5\x0b\x71\x59\xb0\xa0\x0d\xdc\xc7\xab\xf0\x15\x37\x06\x03\x60\x7e\x15\xc5\x0b\x71\x51\xbf\xba\x5d\x38\x0f\x7f\x19\x65\x0c\xc2\x2a\xe9\x64\x70\xf7\xe4\xf9\xf9\xf8\xab\x97\x6f\xdf\xff\x70\xfc\xf2\xab\xe7\x81\x3d\x43\xe3\x20\x09\xe5\x16\x63\x45\x2e\x02\xd7\x2a\xa2\x73\x45\x5c\x51\x7c\x41\x96\xe1\x3a\x66\x3f\x0c\xe3\x35\x09\x98\xc4\x71\x4d\x29\x49\x54\x18\x0f\xb1\xf0\x10\x91\x52\x55\xe7\x60\x3a\xab\xae\x86\x40\x60\x47\x6d\x1e\x5d\xf3\xc7\x65\x1f\x2e\x16\xaa\x21\xca\x2a\xa2\x46\x57\x5c\xdd\x24\x2c\xa2\x47\x64\x2a\xae\xbb\xae\xcc\xd7\xb0\xf5\xf2\xdc\xf5\xbd\x8a\xee\x88\x3d\x0d\x3c\xa9\x3e\xe6\x70\x79\x71\x20\xc3\xfe\x63\x31\xb8\xb4\xef\xf2\x56\x92\xbe\xd4\x50\x41\x45\x53\x9d\x1e\xfc\xd4\x11\xa6\xca\x26\x59\x5f\x5f\x10\xea\x7e\xef\x40\xdc\x82\x26\xed\x96\x12\x0f\xb8\xa7\xa5\xa0\x21\x12\x77\x6a\xe7\xd6\x4e\x29\xca\xa9\x21\x3c\xe1\x51\x14\x1a\x2d\xef\x9c\x72\x09\x52\x91\xb4\x8a\x28\x55\xe7\xa1\x9e\x51\x7d\x8b\x7a\xb4\x74\xf6\x6c\x89\x50\xbe\x47\xf8\xf3\x94\x35\x54\xda\x05\x72\x47\x35\x12\x44\x8a\xa2\x02\x03\x38\x95\x62\xaa\xa6\x29\x0d\xd6\xac\xc6\xf5\x21\x54\xc7\xf2\x12\xf3\x5d\xe8\x7a\x36\xba\x46\x27\xf8\x96\xb8\xf2\x22\xa5\xbc\xad\xbb\x7f\xd0\xbd\xf7\x82\x60\x7f\x9f\x36\x9b\xa4\xd9\xe4\x43\x8a\xbc\xf4\x0f\x47\xc1\x17\xc0\x2a\xed\x0f\xe4\x4e\x6a\xd4\xa6\xd8\x74\xeb\x8c\x33\x43\xdc\xb6\x88\xa9\x83\xca\xfa\x82\xf8\x6e\x36\x4d\x9b\x1f\xe5\x75\xc8\x1a\x1c\x67\x18\x71\xf3\x7c\x5c\x9b\x2e\x97\x84\xbd\x60\xe4\x9a\x2b\x3b\xba\xfc\x48\x4d\xab\x19\xc9\x94\x5e\xa2\x6f\x72\x84\x09\x65\x57\xde\x80\x1e\x4d\xb3\x19\x0e\x83\x4c\x8d\x98\xa9\x8b\xe3\x20\xd4\x8a\xa1\x21\xdc\x9b\xcd\x42\x3f\x48\xdc\xbd\xa0\xaa\x6b\x98\xf4\x99\x86\x33\xab\x13\xc8\xda\xef\x8a\x12\x24\x38\x6e\x36\x1d\xda\x6a\xc9\xfa\xde\x25\xf3\x33\x85\x86\x13\x72\xcd\x6e\xeb\x05\x81\x68\x2a\x63\xd2\x86\x58\xaa\xfe\x83\x4c\xb1\x20\xcb\x28\x21\x79\x8c\x4a\x35\xd9\x20\xa4\x46\x97\xcc\x46\xe9\xa9\x24\x0e\x1f\xbc\x27\xa2\xd7\xc3\x68\x34\xac\x4e\x00\xd6\x4f\xbd\x68\x84\xa4\x98\x36\x9b\xa9\xc5\xec\xf4\x1b\xd7\xa1\x4e\x7d\xf5\x46\x2c\xbf\xbb\x92\x29\xfd\xb4\x98\xda\xe1\xa6\xf3\xd4\x9b\x61\xf8\xf5\xe5\x6f\x67\xf6\x48\x34\xa0\x8d\x28\x49\xaa\xc6\xe7\x72\x51\x58\xa9\x15\x69\xa2\x1b\xb7\xa4\x0c\x61\x6e\x45\x54\x29\x1f\x9c\xa6\xac\xa4\x7e\xf0\xd0\x87\x35\x10\x83\xc4\x45\x9b\x8e\xdb\x44\xcd\xe6\xe3\x2e\x6f\x7f\x21\x6f\x6c\x5f\x85\x34\xbc\x1e\x36\x84\xda\x94\x09\x0d\x9c\xc8\x41\xb2\xa8\x4b\xa9\x91\x1a\x33\xb7\xa8\x44\xc3\x6d\xfc\x54\xf7\x3b\x4b\xc6\x94\x0b\x57\x16\xd4\x4a\xd7\x13\x66\x13\xab\x7a\x17\x9d\xd9\x12\x14\xec\x8f\x87\x68\x94\xa4\x2c\x5a\xde\x8d\xe3\xd8\x14\xef\x0a\x65\x52\x8d\xa5\x50\xc4\x20\xa1\x6c\xc8\x5a\x9d\xa4\x58\x90\x8c\x5f\xa7\x8b\x14\xbb\x1f\x8c\x89\x8f\x25\x0a\xc9\x57\x26\x68\xc0\x40\xf5\x57\xeb\x11\xd5\x6d\x64\xac\x51\x54\x46\x98\x46\x33\xb0\xeb\x21\x5b\x99\x91\xa1\x0e\x99\xc9\xf3\x60\x9e\x88\x62\xa1\xa1\x3e\x48\x14\xa1\x11\x43\xb7\xa8\x96\x4a\xd8\xb0\x63\x08\x70\x1c\x05\x0e\x4a\x03\x8a\xf7\xfd\xbd\x20\x57\xda\xd2\x0a\xe6\x99\xac\xb9\xc6\x16\x32\xd2\x80\xbe\x03\x44\x12\xe6\x5d\xea\xc2\x1d\xa2\x0d\x5e\xb3\xd1\x5e\xba\xd9\x14\x33\x1b\xb9\x62\x3e\x5d\x4f\x82\x3a\x3e\x1e\xf4\xfb\xdd\x7e\xe1\x52\x5d\x11\x0b\x6e\xe9\x4d\x71\xcf\xc5\x4c\xd8\x80\x2d\x34\xe4\x85\x8c\xc4\xd0\x53\xd3\xb1\x45\xcf\xcf\xef\x45\x4e\xa4\xa9\x93\x0f\x9b\x38\x69\x53\x02\x77\xcc\xc6\x8e\x5b\x25\x05\xa6\xe9\x2c\x48\xb0\x54\x8c\x53\x35\x6e\x72\x62\xe1\xcc\xc5\xc9\xc3\xfa\x02\x57\x90\xca\xf4\x97\xc2\xec\x92\x30\x80\x41\x90\x81\x89\xb2\xc4\xf2\x96\xc1\x51\x40\x35\xf5\x98\x3b\xe2\xe4\x8c\xf8\xd8\xa6\x94\xe6\x08\xfb\x16\x76\xd4\x75\xf1\x82\xc4\x84\x91\xd2\xf0\xcb\xab\xc5\x6a\xec\x12\x4b\xb5\xae\xe6\x1b\x90\x2f\xa4\x6a\x5c\xdf\x21\x5e\x20\x56\x23\x8e\x32\x26\x7b\x92\x31\x33\x69\xa3\x06\x7d\x12\x66\x6a\x1a\x91\x6b\xaf\x77\xd3\x52\xfe\x9f\xaa\xfc\xd1\xa7\x2d\xd2\xfa\x14\x29\x3e\xfc\xb4\x95\x5f\xa0\x4e\xf5\xbd\xba\xb5\xb5\x5e\x44\xcb\xa5\x1e\x3b\x4a\xf3\xaf\xba\xcf\xdf\x87\x8b\x05\x59\x0c\xef\xb7\x58\xb4\x2b\x3c\xce\xd3\xeb\xeb\x34\x19\xc2\x68\x01\x5d\x98\x98\x1d\x97\xb7\x13\xcb\x0d\x9f\x69\x34\x73\x4f\x69\x5b\xa4\x99\xf2\xd7\x59\xb0\xe7\x0d\x69\x1b\x72\xd6\x01\x96\x40\x30\xc5\xc0\x34\x9a\x45\x49\x43\x46\xdf\x6c\xf4\xbb\xc8\x90\xdb\xe8\x92\xe5\x16\x53\x26\xf3\x32\xe8\xf0\x40\x8b\x5b\xea\x51\x2d\x11\x3c\x9c\x5a\x8c\x99\x95\xd5\x5a\xbb\x41\x5d\x9c\x04\xce\xc3\x54\x87\x09\x6b\xec\xb9\xa3\xe4\x24\x55\x75\x4e\xd4\xea\x6e\x18\xa4\xd3\x64\x86\x63\x43\x84\x84\x20\xad\x62\xb0\x23\xb5\xe9\x18\xf3\x5e\xb0\x57\xc5\xf0\xe1\x4c\xe4\x74\xb5\x5b\x58\x88\x5c\xf7\xae\xdc\xfb\xe2\x44\x63\x78\x11\x93\x06\x4b\x1b\x94\x70\xb5\xb9\x2c\xf1\x42\x77\x34\x4f\x13\x16\x25\x6b\xb2\xbd\x2a\x0b\x9a\x6a\x9c\x82\x2b\xcc\xb5\xd3\x2b\xd3\xb0\x30\xd7\x0c\x95\x29\xc1\x9a\x4d\xe6\xb8\x5b\x77\x0b\x53\x66\xe2\xa2\xe9\xcc\xa4\xd2\x8e\xae\x9e\x4d\x93\xd9\x6c\xb4\x27\x72\x31\xb4\x5c\xf6\x08\x6b\x27\xb3\x26\x7d\xbf\xd3\xa1\xb4\xc2\x90\xe4\x46\x88\x63\x99\x3b\x2e\x66\x96\x46\xbf\x57\x65\xc8\x37\x9b\x0e\x7b\xdc\xbc\x4c\x51\xa7\x78\x1c\x05\x0a\xca\x0b\x28\x2e\xc1\x74\x36\xb2\x56\xa6\x4a\xb2\xf0\xde\x90\xe1\x66\x8b\xb0\x3c\x61\xc4\x13\x52\x17\x1c\x17\x72\xe1\xaf\x67\x45\xd3\x1d\xda\x91\x45\xfd\x74\xf6\x38\x22\x3d\x94\xb0\x8a\x6e\x44\x0d\x7d\x6a\xda\xf3\xb7\x63\xc4\x96\x19\x21\x73\x32\x17\x93\xf6\x32\xa5\xcf\xc3\xf9\x95\x53\x6e\xbf\x6f\x64\xa2\x45\xcb\x65\xf5\xaa\x8b\x52\xcb\xb5\x82\xce\x36\x9b\xbd\x83\x9f\x3a\xeb\x44\x58\x1a\x8b\xcd\x45\x9a\xc6\x24\x4c\xe4\x24\xd1\x46\x98\xa8\xc5\xb9\x22\xe2\x6e\x36\x40\xf8\x07\x35\x32\xd3\xd2\xab\x76\x37\xa8\xeb\x5d\xe5\xe1\xef\x81\xde\xc5\x6b\xed\x50\x6b\x32\x09\x33\x17\xb4\x86\x87\x67\xc7\x0a\x09\x95\x91\x54\xea\x42\xc3\x62\xbc\x87\x95\x52\x93\x04\x3b\x17\x7b\x2b\x6c\x63\x06\xb6\xe4\x83\x65\x64\xe4\xb7\x48\x5c\xb9\x4c\x21\x2c\x00\x83\xd4\x91\xa0\xee\x0e\xda\x9f\x16\x49\xcf\xec\x99\x98\x4c\xcc\xc4\xd8\x42\x10\x56\xa0\x4a\x09\x6b\x44\xdc\x83\x12\xd5\xc5\xe6\x18\xb0\xa3\x57\x61\xc2\x87\xe3\x07\x29\x7d\xf9\xdb\x1b\x22\xb4\xdf\x0e\x10\xfa\x21\x44\xc8\xc7\x55\x4a\xd9\x38\xfb\x6b\x59\x9a\x94\xe5\xf5\xfd\xb6\x42\x5e\x5b\xa2\x2b\x5a\x3a\x35\x92\x9c\x73\x9c\x29\xf0\x0d\xcd\x9c\x3d\xe4\x91\x36\x12\x5e\x04\x5c\x86\xde\x47\x8b\x61\x8a\x7f\x9e\xa5\xc9\xd0\xd6\xfe\x19\x4e\x5d\x0b\x7d\x31\xd4\x73\x03\xea\xde\x58\x6b\xb2\xc8\xc9\x66\xa3\xac\x20\xf5\x2b\x85\x3e\xe0\x6e\xc7\xd4\x5e\x6e\x0f\x4e\x24\x47\xd7\x1c\xa7\x73\x9a\x5e\xdb\x44\x2d\xf7\xd4\x5a\xe2\xe5\x34\xe3\x98\x3c\xe4\xbe\x17\x2d\x94\x41\x6a\x0f\x99\xd3\x74\x36\xca\x36\x1b\x47\x01\x73\xb3\xd6\x61\x18\x1c\x91\x52\xce\xd8\x05\x84\x1d\xc8\x93\x13\x5c\x5a\xa3\xda\x3e\x7a\xa4\x14\x29\xcf\x28\x95\x17\x4f\xec\x49\xc5\x87\xe7\x29\x8a\x0b\x76\x0f\x50\x75\xcf\xe8\xbd\x9b\x8d\x17\x04\xac\x1d\x87\x19\x7b\xa1\x4c\xc1\x1c\xca\x3b\xab\x92\x72\x6a\x0e\xb6\x3c\x79\xeb\x6a\x4f\xe0\x72\x0f\xb8\x37\x8c\xb2\xc2\xcc\x0f\x4e\xa1\xfd\xda\x09\xb9\x15\xb2\x2c\x0b\x22\x8b\xa9\x46\x59\x10\x04\x51\x89\xfd\xb2\x40\x58\x6f\xd2\x36\x05\xa9\xc8\x4d\xf2\x66\xd3\xb1\xd3\x07\xda\xca\x4b\x37\x1b\xde\xa2\xfc\xe9\xb4\x90\xe1\x30\xad\x1a\x84\xa8\x2b\x57\x55\x29\xc9\xd2\x35\x9d\x93\xe0\x5e\x3d\x65\xef\x85\x61\xa6\x41\xdc\x72\x2a\x5b\xb4\x39\x38\x4f\x08\x53\x80\xbc\xc5\x86\x0c\x27\xe1\x35\x19\x12\xbc\x08\x59\x38\xa4\x76\x7e\x45\xb7\x08\xd3\x3e\xae\xcc\xb7\x60\xd3\xb2\x82\x2f\xb5\x8a\x08\x22\x50\x4b\x40\x6d\xc2\xd6\x60\x5a\x44\x69\x12\xb2\xf0\x9f\x02\xb4\xda\x9c\x62\x55\xb8\x7d\x45\xe3\xca\xe1\xd9\x8e\x09\x10\xe5\x55\x08\xc4\x47\x2d\xda\xe6\x6d\xd2\x42\x98\x3f\xaa\xec\xd5\x92\x0c\x1f\x54\x84\x7e\x9a\x07\xb6\xcf\xc0\xad\xa4\xa2\xe3\x0a\xf8\x7b\xb5\xda\x9b\x5a\x0b\xd5\xd2\x19\x45\x0d\xa7\x5c\x12\x70\x6e\x5b\x70\x06\xe2\x3d\x9d\x24\x6a\x11\x49\x83\x4a\x1a\xa9\x8d\x41\x41\xae\x88\x24\xe5\x46\xb2\x0b\xe6\xd2\x3b\xb0\xd0\x35\x24\x2a\x38\x8b\xd8\xa8\x97\x5c\x47\x72\xd0\x94\xce\xa4\x78\xaa\xc5\xeb\x71\xab\xc4\xef\xcd\x65\xe2\xda\xbc\xbe\xe1\xe2\xf0\x7b\x73\x75\x18\x66\x4d\x8a\xcb\xc3\xef\x8b\xeb\xc3\xb5\x45\x83\xe7\x6a\x7d\x83\x0b\xb8\xe3\xe2\xc2\xaa\x8f\x74\x87\xaf\xcd\x56\x2e\x93\xed\x70\xd5\x78\xaf\xb9\xf6\x31\x19\x15\x27\x9a\xbe\x45\x4e\x59\x05\x4a\xb9\xa7\xdc\xfd\x76\x14\x19\xeb\x1b\x3a\x6b\x3e\x02\x46\x98\xfe\xff\xec\xfd\xdd\x76\xdb\xba\xb2\x28\x08\x5f\x7c\x17\xdf\x5d\x5f\xf6\xcd\xbc\x68\x9a\x7b\x2f\x85\x5c\x82\x14\x92\xfa\xa3\xe8\x30\xde\x8e\xe3\xcc\x99\x13\x27\xf1\xb2\x9d\x64\xed\x25\x6b\xe6\xd0\x12\x64\x73\x87\x22\xb5\x41\x28\x8e\x57\xec\xb5\xc7\xe8\xb7\x38\x63\xf4\x13\x9c\x77\xe8\xd1\xef\x72\x5e\xa0\x5f\xa1\x47\x15\x00\xfe\xcb\x96\x33\xe7\xdc\xdd\x17\x27\x6b\x4d\x19\x04\x0a\x85\x42\xa1\x50\x28\xfc\x15\xb6\x42\x7d\x3f\x91\xe9\x36\x44\xe6\xa6\xe8\xbd\xb8\x04\xd8\x63\xd0\xdd\x4f\xdb\x06\x7c\x47\xc9\x2c\x88\x6a\xa7\x1d\x93\xfa\x29\x95\x4c\x3f\xc8\xe3\x6a\x11\x64\x94\x58\x88\x8c\x0b\xe6\xf3\xc3\xaf\x34\xe6\x99\x46\xd0\x65\x2e\x5d\x6d\x49\x9d\x2a\x72\x36\xe8\x06\x24\xa7\xc9\x3c\xf8\x5c\x3b\x4c\xaf\x28\xda\x67\x34\xa8\x2a\x85\xec\x28\x57\x12\xcd\x6b\xa7\x0e\xf2\x58\xd3\xcb\xc3\x78\xb3\x42\x8d\xe7\x65\x70\x15\x0b\xe0\xd9\x88\xaf\xe4\x09\xa6\xfe\x53\xff\xbb\x42\x03\xc3\xa3\x04\xf1\x58\x6e\x64\x27\xbe\xb5\x9b\x6c\xd2\x4e\x49\x83\x76\x4a\xa6\x46\x28\xb6\x93\x36\xb1\xe6\x37\x68\xa7\x2a\xaa\xff\x3c\xe5\x54\x2d\xf9\xf7\xd1\x4d\x55\xac\xcd\xaa\xa9\x30\x57\x29\xaa\x15\x9c\x14\x8a\xcd\x9e\xda\x59\x7d\x66\x72\x76\xf3\x9d\x15\x0f\xfc\x31\x33\x3f\x77\x7f\x57\x9c\x3b\x0a\x91\x46\xeb\x9b\x99\xdb\x11\x78\xcf\xda\xfa\x1d\x09\x7d\xb5\x74\xde\xb1\x77\xc3\xe7\x30\x53\xe8\x74\xd4\xf4\x80\x4e\xc2\xa9\x9a\x1b\xd4\x2a\x93\x34\x57\x26\x15\x95\x99\x24\xd3\x62\x7d\xd2\x42\x7d\x30\x2d\x15\x93\x03\x5a\xdc\x4a\xf9\xe1\x8a\x6e\xd2\xc8\x35\xbd\x29\x5a\x81\x54\x8f\x3d\x98\xb8\x7d\x5f\x28\x9d\x6d\x57\xe0\x46\xce\x16\x56\x52\x6a\xc5\xb3\x6a\xf1\x74\xc2\xa6\xa6\xb9\x5b\x59\x28\x7e\x80\x82\x47\xe9\x77\x29\x7c\xe4\x47\x8b\xd8\x2c\x41\x60\x0d\xd1\x9a\xfd\xd3\x58\x3c\xd4\xf2\x81\x4a\xbe\xa5\xcb\xa4\x78\x73\x6d\x8b\x71\xe2\xfb\x5d\x1d\xc1\xef\xa3\xbe\x6a\xb8\xfe\xf3\xf4\x57\xad\xe8\xba\x02\x53\x57\xf5\x76\xcb\x27\x11\x4a\xe3\x13\x9f\xb0\xd2\x98\x51\x4c\x84\xe9\x65\x36\x84\x88\x19\xc8\xdd\x6e\x95\xb5\xa4\xf9\x52\x55\x76\x92\xc0\xb7\x76\xe9\xa6\xe1\x86\x36\x0c\x37\x74\x6a\xf0\xf2\x89\x7e\xeb\x21\xa5\x5b\x63\xc5\xd6\x5a\x57\x2e\x7e\xfd\x61\xda\x76\x13\x65\xbf\xaf\xba\x95\xd7\x88\xff\x5f\x51\xb3\xb5\x1a\xde\x6f\xf9\xd6\xb8\x5f\x8d\xa8\x1d\x37\x13\xab\xba\x09\x88\x71\x82\x53\xff\x4c\x56\xc3\x5c\x38\xf9\x1f\x21\x86\x49\x4d\x0c\xef\x1f\x00\x36\xb1\xa2\xda\xd8\xaa\xa1\xcb\xdb\x4d\x14\xb7\x9b\x36\x76\xc5\xb0\xd0\x15\x41\x06\xee\x48\x35\xbd\xca\x39\xdc\xd3\xde\xfd\xfd\xd9\xc2\xca\x87\xf0\x1e\x18\x30\x36\x68\xc8\x86\xee\x59\xdc\x29\x2d\x08\xc4\x8f\xe3\x7f\xc4\x88\xd4\x5c\xf6\x84\x4d\xa7\x1b\x46\xa3\x33\x9a\xf2\xcd\x37\xfb\x92\x4b\x9f\xde\xde\x8a\x13\x81\x05\xc8\xee\x51\x72\x59\xc9\x5c\x3b\x12\x04\x69\x27\xeb\x78\x93\x27\x83\x72\x66\x09\xac\x76\x05\x36\xe3\x4e\x62\x09\x7a\x90\x2c\x57\x50\xd5\x12\xfe\xcd\xf9\x38\x4d\xf9\x31\xa3\xc1\xf2\x22\xaa\x5e\xb1\x7c\x20\x53\x92\xf2\x6d\x72\x1d\x25\x97\x05\x08\x5f\xee\xed\x2b\x0b\x25\xf8\x4a\xb3\xa3\xcd\xf3\x80\x07\xbe\xae\x17\x2f\x39\x7c\xae\x7c\xe3\xdd\xd5\xcf\xbe\x3c\x5c\x2c\x71\x7d\xf6\x29\x99\xe8\x51\x72\xa9\x13\x7d\x4e\x2f\xd6\xf0\x37\x8c\x17\x89\x4e\xf4\xeb\x80\xc5\x3a\xd1\xf1\x7a\x8c\x3e\xcd\x76\x34\xa9\xff\xfc\x7b\x44\xb9\xc6\x7d\x5d\xdf\x4d\xaf\x43\xa9\x2b\x67\x41\x4a\x25\x06\x0f\xc3\x98\x5d\x04\x05\x0a\x0f\xe6\x79\xa5\x6b\x2b\x78\x02\xe1\x0e\x28\xe1\xd9\x96\xb3\x24\x4b\x29\x3f\x5c\x07\xa8\x24\xf8\x86\xd1\xed\x76\xa9\xe9\x3f\xcf\x19\x91\xed\x5f\x05\x3c\x68\x17\x0f\xff\x7e\x6e\xf3\x36\xed\xfe\x5b\x12\xc6\x86\xae\xe9\x66\x1b\xaf\xdc\x12\x26\x2f\x03\x97\x50\x83\x8c\x98\x77\x26\x99\xe8\x97\x2c\x59\xaf\x74\x22\xfe\x1e\x24\x51\x14\xac\x52\x3a\xaf\x30\x41\xd0\xcd\x1f\x45\x37\xf5\x75\x1d\xe9\x46\x5b\x72\x0b\xe2\xa9\x24\xb8\xdc\xae\x9a\xa6\x77\x19\x5d\xd1\x80\x1b\xed\x76\xad\x89\xb1\x16\xbb\x8d\xe4\x75\xb1\x46\x87\xf1\x5c\x8c\x2c\xea\x6b\x03\x90\x6f\x18\x82\xd8\x7b\xca\xef\x74\x1a\xcb\xaf\x08\xf2\xe9\x3a\xe4\x1b\x8f\x9e\xe7\x13\x0d\x9e\x67\xf9\x9c\x2d\xff\x40\xd6\x77\x85\xeb\x2d\x29\xe5\xeb\x15\xe8\xd9\x6c\x9f\xad\x04\x02\x06\x2b\x14\xed\x37\x50\xa0\xd2\x08\xef\xce\xc3\x34\xb8\x88\xe8\x46\xc8\x42\x3a\xc1\x9d\xbc\x8d\x90\x32\x2d\x87\xc2\x73\x48\xf7\x40\x42\x3a\xe1\x58\x59\x08\x0a\x93\x5c\xd6\x7d\x25\xae\x15\xe5\xfa\x42\x1d\x5c\x10\xfa\xcf\x68\x42\x9b\xc1\xe2\xb1\x13\x68\x76\xb6\x9e\xf1\x84\x35\xd1\xd0\xd4\x2e\xdd\x74\x7d\x31\x8b\x82\x34\xa5\xf2\xc0\x20\x37\x09\x6f\x6c\xc1\x02\x24\x10\x7d\x0f\x87\x1b\xce\x15\x67\xd6\xb5\xaa\xa9\x5c\xab\xcf\x4f\x63\x42\x82\x86\x9b\x16\xb8\x5c\x2f\x46\xa3\x66\xbd\x2e\x95\x3a\xe1\xea\x36\x81\xc4\x09\xdd\x4c\x5e\xee\xca\xf8\x2b\x2a\xc5\x9a\x85\xb2\x24\x08\xff\x79\x44\x97\xae\x3d\xbc\x14\x24\xcc\x11\x17\x9e\x63\xee\x2e\xd6\x51\x04\x12\xbd\x81\x68\x25\x8f\x9b\x8e\xac\x14\xd8\x71\x2f\x82\xf2\x91\xb9\x3a\x0e\xe4\x5f\x33\x86\x92\x21\xd7\x70\x2a\xa2\x36\x9b\xe7\x68\x2e\xc1\x84\x4a\x4c\xee\xf7\xc0\x82\xf0\x60\x86\xb5\x45\x01\xeb\xd5\xbd\x63\x72\x35\xc7\x6a\xbb\x51\xb9\x96\x6d\xcb\x71\xb9\x26\x2c\xf9\x52\x09\x60\x3c\x80\x2e\xa2\xd4\x15\xb0\x11\x75\x93\xd4\x67\xaa\x65\xd1\x77\x8c\xd4\x5b\x6d\x7d\xa2\xb7\x79\x5b\x9f\xea\x79\x9e\x57\x12\xfd\x67\x9f\x35\x15\x5f\xb4\xe9\x2a\x06\x91\x70\x41\x51\x45\x23\x47\x3c\x59\x2a\x99\x50\x22\x6c\x91\x93\x75\xdc\x9d\x7d\x9b\xaa\x69\x8f\x90\xfb\xd2\x8d\xe3\x72\xe1\x27\x34\x5d\x47\x1c\xa3\x94\xb9\x24\x2f\x39\xef\x02\x2b\xc3\x98\x47\xb1\xa1\x43\xb2\xc6\x82\x30\xa5\x73\x2d\x88\x35\xfa\x6d\x46\x57\x5c\x3a\x59\x02\xf5\x22\xdc\x60\xe0\x11\x38\x0c\xd5\x6e\x38\xef\xe5\xc8\x24\x88\x1c\xc4\x61\x38\x34\xbd\x5a\xaa\x69\x12\xda\x9d\x49\x82\xa0\xf4\xcf\x06\xed\xbe\xda\x7f\x7d\x74\xf8\x92\xec\xd8\x62\x85\xb6\xc1\x38\x6c\x5a\xfa\x29\x8c\x42\xaa\x11\xd1\x66\x85\x5f\x69\x3c\x7d\xf3\xf9\xed\xad\xba\xff\xb9\x08\xc2\x68\xcd\x84\x4a\x14\x83\x61\xa6\x21\xa5\xc9\x1c\x30\xfe\x32\xe0\x14\x3d\x91\x48\x7b\x6d\xcd\x02\x28\xb6\x10\x25\xb7\x95\x05\x7f\x0b\xf1\xcb\xe0\xdb\x2b\x55\x82\xa5\x0a\x88\xc3\x59\x66\xfb\x01\xbd\x7f\x59\xd3\x35\xfd\x2c\xef\x6d\x36\xd4\xb3\x20\x2e\xfb\x47\x47\x9f\xcf\x0e\x4f\xcf\x4e\x6b\x97\x4f\x9f\x05\x51\xd4\x01\x6c\xe9\x73\xbc\x80\x7a\x3f\x9e\x14\xef\x82\xd7\xd4\x50\x85\xa4\xe2\xba\xd0\x36\xf8\xaa\x96\x42\x79\x6a\xc2\x6f\x6f\x11\x7f\x56\x07\x12\xe2\xc9\xde\x92\x42\x33\x4c\x92\xfa\xd6\x6e\x9a\x1f\xc8\x4d\xd5\x79\x8d\xd8\x4f\x26\xa9\xf0\x2a\xa6\x8e\x1b\x66\xa8\x4c\x79\xc2\x20\x93\xc3\x13\x7a\x79\xf8\x6d\x25\xb6\xa0\x99\x38\x36\x17\x67\xdd\xd9\x34\xb3\x63\xb3\xca\x3f\x40\x9e\xb8\xe3\xb3\x2c\x59\xce\xe1\x33\x66\x19\xb1\x49\xc2\x76\xfb\xae\xe8\xb1\x65\x1b\xc6\x1c\x07\x9c\x53\xb6\xe1\x34\x8b\x6f\xc9\x4b\xf8\x0f\x0c\xef\xc5\x65\x46\x69\x69\x16\xd8\xde\x68\x5d\xe4\xb9\x27\x6c\x4a\x0a\xc7\x9b\x64\x53\x44\xc9\xa5\x3c\x6c\xfc\x2e\xc1\x01\x2c\xd5\x96\xa0\x49\xe8\x5c\x13\xa8\xc1\xc8\x9b\xb1\x90\x53\x16\x06\xd2\xd3\x41\xcd\xba\xa8\x57\x3a\x89\x3f\xc4\xb3\x60\x7d\x79\xc5\x0f\x95\xee\xf8\xdc\x74\xa6\xdf\xf2\x7d\x9a\xbb\x77\x51\x79\xb4\x28\xbc\x78\x48\x6b\xe9\xa6\xb8\xde\x51\xc8\x2e\x3c\x66\x78\x1a\x76\xe0\xb9\x6e\x4a\xc5\xb6\x63\xed\xaa\x9b\x9d\xa5\x4e\xda\x6a\xd1\x1d\x3f\x2f\x53\xde\x55\x2c\x81\x74\xe9\xb7\x15\x9d\x71\x3a\xc7\x43\x63\xd2\xe5\x41\x76\x64\x45\x9f\xaf\x71\x4d\x6a\xb7\xe1\x06\xb0\xcc\x2f\x48\x92\xa7\xa4\xca\x49\xc7\x87\xef\x5e\xbe\x7e\xf7\x33\x3a\xa1\xd0\x83\x05\xa7\x4c\x4d\x14\xa0\x4d\xa8\x3a\xa5\x26\xa9\xcb\x54\xb0\xa6\xb7\xc3\xb6\x2e\xec\x16\x98\x9e\x79\xcd\x84\x43\x7a\x6e\x86\x54\xf1\xd2\xb6\x4e\x34\x1c\xb3\x3c\xbd\xcd\xcc\x06\x0d\x56\x51\xc6\x0d\x00\xb9\x76\x26\x3b\xf6\x26\x05\x7d\xdf\x34\xbd\xbc\xd7\x48\xa5\xab\x94\x5c\xb5\xd2\x6b\x0d\xd4\x6e\xa7\xac\x85\xf3\xaa\xa8\x79\x8e\x51\xa8\x1e\x4c\x7e\x8d\x82\x16\x97\x5d\xa6\xad\x4b\xa1\x20\x8a\x5b\x4a\xeb\xe7\x00\x10\x53\x00\x58\xa6\x67\xc9\x29\x9d\x25\xf1\x3c\xfd\x5c\xa6\x4c\xdd\xe9\x4b\xd7\xcb\x65\xc0\xc2\xbf\x53\xc3\x54\x3b\xb3\x49\x8c\xfc\x2d\xa8\xff\xc2\x68\x54\xe7\x80\x5c\x65\xf2\xaa\x67\x23\xeb\xac\x2a\xad\xd5\x91\x9d\xda\x3a\x4d\x23\xbf\x45\x43\x35\xae\x8a\x94\x8c\x0c\x85\xa3\xb4\xb6\x61\xa8\xdb\x03\xdf\x60\x68\x4e\x85\xa9\x55\x4b\xe4\xdf\x0a\x0b\xae\x75\xe1\x55\xdd\xa7\x20\xbe\x61\xac\x65\x68\x40\x76\x0d\xe9\x53\x6b\x4f\xfe\xf5\xb2\x3b\x93\x72\x98\xb4\xee\xe4\x36\xb4\xe8\x49\xb4\x7b\xbc\x7f\x7a\x7a\xf8\x72\xaf\x2a\xd2\xca\x61\x8e\x47\xb3\x96\x7a\x3e\xb0\xd4\x7d\xff\x5c\xcf\x9d\x46\xc9\xb5\xe8\x3e\x3c\x49\xbe\x34\x36\x37\xad\xb5\x75\x45\xde\x54\x61\xa0\xbd\x44\x3f\x30\xcb\x52\x95\x5d\x94\x2c\xf4\x1b\x31\x36\x82\x68\xa0\x4f\x9a\xef\x8d\xd5\x32\x8b\xba\xa4\xc4\xcb\xec\x48\xd4\x3a\xe2\x9a\x52\x75\xe8\xea\xa4\xd8\xd5\xc5\xb5\x90\x8c\x19\x65\x4e\xee\x16\x7b\x86\x1a\xd9\x31\x8e\xad\xe3\x77\xf4\x1b\x17\x9d\xfd\x11\xc2\x75\x42\x1b\xc4\x2b\x33\xc5\x0a\xf4\x1f\xe1\x7d\x3d\x09\xab\x2d\x12\x96\xcd\x96\x1a\x2b\xc0\x4b\xb7\xd1\x24\xc5\x85\xed\x24\x86\x37\x70\x4a\x3d\x5d\x2e\xf0\xb3\xec\x4a\x5a\xb5\x31\xb6\xa8\x56\x91\x0d\x4d\x9e\x01\x90\x91\xb7\xb7\x3b\x55\x2b\x49\x9e\x72\x2c\xb6\x5d\xbd\x0f\x1b\x66\x36\x0e\x15\x8c\x42\x29\x9f\x15\x7d\xf4\xdc\xaf\xc2\x6d\x12\x8c\xb7\xc1\xb7\x70\xb9\x5e\x6a\x12\x81\x36\x4b\xd6\x31\xd7\x18\x0d\x60\x0c\x27\x5a\x70\x91\x30\x1e\xc6\x97\x42\xe2\xd9\x3a\xee\xaa\x51\xa6\x91\x40\xb1\x6e\x5e\xa9\xde\xc4\x9a\x12\xde\x30\x84\xed\x35\x0d\x78\x20\xe4\x1e\x0a\x39\xea\x98\x56\xab\x34\x19\xa1\x85\x29\xd6\xed\xad\xc1\x0b\xbd\xb3\x49\x9d\x63\x9c\x51\xcc\x94\xcf\xba\xd0\x37\x20\xbd\x2e\xa1\x34\xaa\x3a\x2d\xd3\x61\xc5\x7d\xa1\x66\x46\x66\x86\x8a\x26\x86\x75\x0d\xe7\xad\xdb\xa9\x28\xe1\xfc\x69\x23\x5b\xef\x32\x75\x5b\xac\x54\x66\x8b\x36\x4e\x20\x6a\x4b\x10\x22\x41\x2c\x42\x70\xa2\x72\xd5\xf4\xb7\x9c\x3a\x37\x8c\xd8\xb9\x3e\xe7\xd9\x0c\xfb\x7e\xb0\x8a\x94\x4b\x9f\x6f\x0f\x72\xb2\x51\xef\x4b\xa6\xa2\x18\xaa\xd2\xef\x67\x6e\x93\x50\x3c\x9a\xe1\x65\xe9\x64\xeb\xd8\x78\xec\x80\x55\x24\x9c\xad\xe3\x2d\xc7\xac\xad\x74\x4d\x83\xfb\x3b\x69\xc2\xe8\x27\xeb\x38\x86\x62\xe5\xf0\x54\xd3\x35\xd2\x04\x34\x52\x53\xaf\x59\x1f\x92\x2d\x75\x0b\xbc\xe6\xa6\xa9\x30\xb7\x95\xd6\x16\xf9\xa1\xe1\xa0\x38\x7a\x36\xac\x6a\x19\xf4\xa9\x4d\x7b\x66\x97\x27\xaf\xc2\x6f\x74\x6e\x38\x66\x5b\x4f\xf5\x2d\xa6\x4e\xca\xc2\x6a\xd2\xc5\x15\x8d\x69\x36\x6c\xfb\x55\x40\xf2\x4d\xbf\x42\x9b\x8b\xe1\xdb\xab\xda\x85\x13\x3a\xad\xd8\xd0\xbb\xcd\x0d\x51\xb3\x2f\xce\xa4\xa0\x68\x61\xac\xc6\x3b\x6f\x8b\x66\xd4\xae\x29\xa3\x5a\x9c\x28\x25\x5d\xe5\x8e\xd4\x0b\x8d\xcb\x56\x72\x21\x28\x5b\x62\x47\x43\x83\xe7\xfd\x57\xad\xa9\x6e\xb9\x94\x21\x6d\x1b\x0c\xcb\x59\x8a\x48\x68\x9c\x0d\x49\x37\xaf\x8d\xcb\x4c\x79\x53\x4a\x3c\xbe\xbe\xa2\xf1\x1c\x26\x4d\x0f\x65\x10\xed\xe2\xcb\xf6\x79\x10\x5c\x58\x4f\xbe\x2e\xe7\x7e\xcd\xe0\xc5\xf9\x63\x7d\xd5\x43\x98\x56\x3e\xdd\x50\x97\x62\xe6\xe2\x86\xa0\xf4\x1b\x50\x5f\x87\xd5\xb7\x98\xc5\x66\x92\xc1\x1a\xa6\x6d\x30\x49\xcb\x0d\xbd\x22\x98\x88\x7d\x90\xe9\x4d\x2a\x66\x53\x97\xc7\x92\x99\xdc\x6f\x35\x8b\x82\xb0\x53\x92\x04\xb9\x6e\x20\x9d\x01\x7f\x86\x41\x1c\x15\x5f\x69\xe9\x70\x1e\xce\x85\x28\x8b\x01\x22\xd0\xbe\x06\xd1\x9a\x6a\x41\x3c\x2f\x24\xa1\x17\x4d\x6d\x99\x30\x8a\xae\x85\x33\xc3\xa4\x61\xe6\x99\xcf\x35\x37\xf4\x8b\xf2\x8d\x2c\x3a\xe3\x45\x11\xad\x37\x75\xb3\x20\x6f\x6a\xf9\xd2\x1c\x56\xd6\xbb\xc6\x57\xc5\x90\x7a\x3f\x2a\xb1\x2f\xbf\x11\x5b\xe4\x17\x64\x9e\x6b\xc9\x9a\xff\x5e\x4c\x90\xdc\x05\x6a\x1b\x96\xf7\x24\xa9\xad\x56\xd9\xdb\x72\x31\x4d\x8d\xfe\xaa\x56\x0d\x53\x54\x99\x54\x1c\x54\xea\x0b\x85\x35\xca\x4a\x15\xab\x6f\xd9\x6c\x64\xdc\xa3\x96\x07\x24\x82\x82\x68\xc3\xc0\x52\x9d\x11\xab\xe9\x77\x23\x50\x3e\xb3\xc9\xee\x25\x66\x6e\xa7\xa5\xf2\x7e\xe6\xdc\xde\x16\x6f\x16\x3e\xa8\x36\x44\x81\x0f\xb2\x28\x60\x2c\xb8\x39\xfc\x4b\x03\x77\x76\x28\x4c\x3e\xd4\xba\x16\x6d\xb5\x76\x38\xfa\xeb\x91\x04\xed\xf8\xbc\x3c\x15\xd9\xb1\x77\x37\x1c\x0c\x69\xb7\x99\x09\x39\x27\x6c\xba\x83\x7e\x2f\xf3\x1c\x6a\xd5\xec\x61\x3a\xd3\x94\x32\x7e\xf8\x97\xda\xa0\x94\xed\x0e\x87\xf2\x14\xb9\x2e\xae\x31\x17\xbc\x73\xab\xe9\x0c\x95\x0e\xda\x73\x87\xef\x05\xdf\xda\x9b\xee\x75\x57\x0f\x03\x99\x77\x85\x6b\x9b\x72\x02\x65\xef\x01\x8a\x36\x2f\xec\x3b\x78\xc5\x0f\x5c\x55\xd8\xf1\x7d\xde\x6a\xed\x34\xb8\x68\x95\xc3\xba\x6a\x0a\x6c\x01\x33\xbb\x35\xb8\xa7\x4f\xf4\x36\x6b\xeb\x53\xdd\xd3\xf5\xdd\xcc\x70\x30\x74\xc5\x12\xbd\x9d\xc8\x89\xec\x95\xbc\x73\x19\x44\x11\x65\x47\xc9\x0c\xa5\xf7\xb3\x61\x8b\xe3\x13\x6d\xe0\x50\x5b\xd7\x76\x7c\x1f\x3f\xb8\x59\xdf\xeb\xd8\xc0\xf7\x06\xe9\xb0\x76\x7c\x3f\x73\x56\xcd\xf7\xb2\x6d\xa9\x46\x22\xb1\x02\xdb\x90\x98\x35\xcd\x16\xa4\xd5\xd1\x34\x2c\x3b\x35\xb9\x57\x67\xea\x44\x27\xab\xbb\x58\x9f\xd0\xb6\x33\xed\xe2\xb2\xb4\xf1\xd4\x98\xfc\xfa\x74\xda\xf6\xce\xe7\x6d\x13\x7e\xce\xcd\xbd\x7f\x7e\x9a\xb7\xfe\x1e\x9f\xd8\x53\x4f\xdf\xdb\xdb\xd3\x1f\x26\x56\xea\xe0\xe6\xfd\x0f\xd0\x05\x99\x39\xbe\x85\x5e\x03\xd6\x96\x30\x55\xb5\x85\x94\x28\xa5\xf8\xe9\xc3\x8a\xbe\xbe\xca\x57\xaf\x42\x90\xa6\xb5\xa1\xa8\x01\xa5\x30\x8f\x14\xca\x0f\x67\xaf\xdc\x97\xf8\x18\x05\xab\x65\xbe\xb8\xe1\x34\x3d\xa2\x0b\x9e\x1f\x35\x9a\xd3\xe3\x24\x8c\xb3\x88\x28\xb9\xa6\xec\x45\xb2\x8e\xe7\xbe\x55\xc1\x56\x72\xaa\x06\x31\x1b\xf6\x3b\x74\x9d\x34\x1c\x54\x93\xcb\xea\x78\x57\x9f\x1d\x24\x73\xba\xcf\x0d\x86\x8b\x26\x96\x1c\x0b\x32\xe2\xcc\xf0\x99\x6f\x3b\xa3\x3d\xde\x96\xe0\x08\xea\xd9\x63\xe7\x99\x1f\xb6\x5a\xe1\x33\xdf\x71\x7a\x7b\x46\xa5\x02\x61\xc7\x1e\x3b\xa4\x52\x4d\xbb\x56\x2b\xdb\x71\x4d\xcf\x71\xfa\x19\xaa\xde\xb8\x01\x95\xe3\xf4\xab\xa8\x9c\x1a\x2a\xc7\xea\x03\xae\xbe\x95\xe1\xea\x8f\x9a\x70\xf5\xad\x2a\xae\x5e\x0d\xd7\x70\x30\xe8\x0d\x01\x99\x9b\x21\x1b\xd8\x8d\xc8\xdc\x2a\xb2\x7e\x03\x61\xe3\x91\x3d\x70\x4c\xcf\x19\xe4\x2c\x1b\x34\xb1\xcc\x19\xd4\x58\x36\xa8\xd3\x36\xb2\x2d\xd7\x1d\xf6\x4d\x8f\xb7\x7d\xfd\xff\xfe\xbf\xfe\x4f\x3d\xf3\xbb\x6d\x3b\x19\xbd\xf6\xd8\xce\x07\xf9\x0c\x5d\xa7\x53\x15\xb4\x0a\x11\xcf\x9e\x0d\xcd\xb6\x11\x76\xa0\x5d\x48\x5d\x14\x8a\x9e\x0e\xb3\x3c\xea\x1a\x50\x4e\xe3\xed\xed\x60\xe0\x8c\x87\xcf\xfc\xa4\xd5\x4a\x9e\xf9\x83\x51\xaf\xdf\xbb\xbd\x4d\x9e\xdb\xb6\xdd\xb7\x6d\x7b\x4f\x11\xee\x25\xcf\x90\xd3\x10\x21\x54\x5f\x77\xc1\x92\xe5\x81\x94\x49\x23\x31\x3d\x23\xe9\x88\xd6\x20\x1b\x60\xb0\xa4\xb6\x91\x3c\x7f\xfe\xdc\xb6\x5a\xb6\xe5\xf4\x4c\x32\x18\xf6\x1c\xab\x6d\xc0\x47\x2b\x31\x4d\x79\xd5\x5e\x53\xc5\x56\x79\x6c\x11\xd6\xe9\x94\x5e\x86\x91\xcf\xc7\x9c\xbd\x72\x9b\xa6\xd8\xc2\x00\x29\xf4\x45\x53\x66\x90\xca\x4b\xbe\x65\x54\xcd\xfd\xe3\x7d\x12\xeb\xa3\x5a\x16\xb9\x69\x86\xc8\x95\x5e\xd6\xf4\x92\xe1\x12\x64\xd8\xb3\xc7\xb8\x4b\xdb\xb6\xb3\x32\xb2\x93\xdf\x25\xfc\x6d\xdb\xdc\x95\xe8\x0b\x8d\xb5\x67\x08\xfc\xc3\xb6\x21\xb8\x18\x9a\xcf\x9e\xd9\x96\x99\xf1\x94\x00\xc1\x9e\x24\x42\xee\xeb\x4a\x8a\xd0\xa1\x01\x50\x2d\xf4\x86\x59\xd6\x1b\xbb\x99\xd7\x38\xe8\x05\x16\x76\xd1\xe6\x86\xb5\xc7\xce\x6d\xf8\xfc\xf9\xf3\xa1\x49\x52\xdf\x36\xbd\xf0\x19\x16\x30\xd8\x98\xc1\x71\xfa\x98\xc1\x76\x20\x87\x63\x7a\x1b\x01\xfb\x96\x00\x74\x01\xb0\x67\xee\xa6\xcf\xad\x5d\x33\x85\xce\xb1\x81\x14\xc7\x15\xa4\xfc\x39\x6d\x0d\x7b\xe5\x47\x84\xae\x67\xe2\xfd\xb0\xeb\x59\x37\x5e\x47\x9f\xc2\x39\xbf\xf2\x2d\xf1\x3d\x4b\x62\xce\x92\x72\x1c\xa3\x97\x01\x9b\x1f\xfc\xdb\x97\xfd\xe5\x45\x78\xb9\x4e\xd6\xa9\xbf\x63\x4b\xf0\x42\xa4\xc8\xe3\x28\x3c\xcb\x8b\x30\x86\x89\xef\x64\x32\x1a\xba\xc4\x1d\x8d\xa7\x64\x62\xdb\x83\x01\xb1\xed\x81\x8b\xe1\xa1\x45\x6c\x7b\x68\x43\xb8\xef\x0c\x88\xdd\x1f\x22\x4c\x7f\x64\x13\xf8\x11\xe1\x1e\x84\xfb\x22\x3c\x84\xf0\x48\x84\xc7\x10\x46\x78\xe8\x68\xf6\xa0\x27\xc2\x03\x87\xd8\x83\x01\xc2\x0c\x6d\x9b\xd8\xc3\x9e\x85\xe1\xbe\x4b\xe0\x07\xc2\xa3\x81\x45\xec\xd1\x10\x71\x8e\x86\x23\x08\x8b\xf8\x11\xc4\x8f\x7a\x10\x76\xad\x11\x81\x1f\x11\x1e\x43\x18\xf1\xbb\x7d\x8b\xd8\xee\x70\x08\xe1\xf1\xc0\x25\xf6\x18\xf3\x3a\x96\x33\x22\x8e\xd5\x1b\x40\xb8\x67\x0d\x88\xd3\xb3\x86\x18\x1e\xf6\x09\xfc\x88\xf0\x98\x38\xbd\x91\x88\x77\x6d\x02\x3f\x22\x0c\xf0\x2e\xe2\xe9\x5b\x0e\x71\xfa\x56\x0f\xc3\xbd\x1e\x81\x1f\x0c\x8f\x21\x7e\xec\x88\xf0\x88\x38\x03\x0b\xea\xe5\x0c\xac\x31\x84\xc7\x18\xee\x59\xc4\x19\xf4\x10\xe7\x60\x68\x13\x67\x30\x44\xf8\xa1\x63\x11\xf8\x11\xe1\x01\x84\x91\x86\x61\xcf\x26\xce\xb0\x27\x60\x7a\x10\xdf\x1b\x61\x78\xe4\x10\x67\x88\x7c\x70\x86\xee\x98\x38\xc3\x31\xe6\x1d\xf5\x5d\x02\x3f\x18\x1e\xf4\x88\x33\x42\x3e\x3b\xa3\xc1\x98\x38\xa3\xa1\x80\x19\x0e\x20\x8c\x7c\x18\xb9\x43\xe2\x8c\x5c\x84\x71\xed\x11\x81\x1f\x0c\x8f\x86\x04\x7e\x44\x78\x0c\x61\xa4\xdf\x05\x9e\xb8\x2e\x96\xeb\x8e\x7b\x04\x7e\x20\x3c\x06\x9e\x8c\x2d\xa4\x73\xdc\x1f\x12\xf8\x99\x92\x49\xcf\xb2\x5c\x02\x3f\x18\x76\x6c\x02\x3f\x10\xb6\x7b\x7d\xd2\xb3\x7b\x08\x63\xf7\x1d\xd2\xb3\xfb\x7d\x11\x1e\x42\x78\x8c\xe1\xc1\x88\xf4\x84\x1c\xf6\x9c\xa1\x45\xe0\x47\x84\x7b\x10\xee\x61\x78\x04\xf1\x23\x11\x3f\x1a\x42\x78\x84\xe1\xb1\x4b\x7a\xce\x18\xf1\xf4\xc6\x3d\xd2\xeb\x8d\xa1\xbe\xbd\xbe\x35\x20\xf0\x03\x61\x68\x0b\xf8\x11\x61\x97\xf4\x06\x7d\x11\x06\x7a\x06\x7d\xa8\x4b\x6f\xd8\xeb\x11\xf8\x11\xe1\x21\xe9\x0d\x65\xfc\x60\x40\x7a\x43\x6c\xbb\xde\x68\x68\x13\xf8\x11\xe1\x3e\x84\xb1\xdc\xd1\x08\xe2\x47\x02\xc6\x85\x78\x17\xe3\x5d\x80\x71\x91\xff\x3d\xe0\x61\x4f\xf0\xb0\xe7\x8e\x07\x10\x96\xf1\x23\x08\x63\x5d\xc6\x83\x1e\xe9\x8d\x51\x9e\x7b\xe3\xa1\x4b\x7a\x63\x81\x73\x3c\xea\x43\x18\xe1\xc7\x80\x7f\x3c\x46\x1a\xc6\xe3\x1e\xe9\x5b\x0e\xf0\xad\x6f\xf5\x5c\x02\x3f\x10\xb6\xfb\x36\xe9\x0b\x3e\xf7\x81\xcf\xf0\x83\xe1\x81\x45\xfa\xf6\xc0\x16\xe1\x1e\x84\x7b\x18\x76\xfb\xa4\x6f\xbb\x80\xbf\xdf\xef\xbb\xa4\x3f\xc4\xbe\xd6\x1f\x0f\xc6\x04\x7e\xa6\x64\x32\x18\x5b\x43\x32\x18\x63\xfb\x0e\xc6\x3d\x97\x0c\xc6\xc8\xc3\xc1\x78\x64\x91\xc1\x18\xf5\xc3\xd0\xb2\x1c\x32\xb4\xb0\xbf\x0c\xad\xa1\x4b\x86\x16\xf2\x67\x68\x8d\x6c\x32\xb4\xb0\xbd\x86\x96\x3b\x24\xf0\x23\xc2\x63\x32\xb4\xb0\xed\x86\xb6\x35\x26\xf0\x83\xe1\xc1\x80\x0c\x6d\x94\xe7\x61\xcf\xee\x11\xf8\x81\x70\xbf\xe7\x90\x61\xbf\xd7\x17\xe1\x31\x19\xf6\x91\x86\x61\x7f\x60\x11\xf8\x11\xe1\x11\x84\x11\xcf\x70\x34\x26\xc3\xa1\x8b\xf1\x63\xdb\x21\xc3\xb1\x3d\xc0\xf0\xb0\x4f\xe0\x47\x84\x87\x64\x38\x1e\x09\x98\x11\xc0\x20\xcf\x87\xe3\x91\x0b\x61\xa8\xef\xc8\xb2\xc7\x64\x64\x39\x40\xcf\x68\x68\x0f\xc9\x48\xf4\xd9\xd1\x70\xe4\x92\xd1\x10\xfb\x8b\xeb\x58\x3d\xe2\x3a\xc8\x37\xd7\xe9\xf5\x89\xeb\x60\x5b\xb8\x8e\xeb\x12\xd7\xc1\xf6\x72\x41\x56\xdd\x1e\xf2\xc7\xed\x5b\x16\x71\xfb\xa8\x1f\x6c\xa7\xd7\xb3\x08\xfc\x0e\xf0\xab\xdf\xb7\x09\xfc\x02\x1d\xfd\x9e\x65\xf7\x09\xfe\xca\xaf\x31\x7e\x8d\xc5\x57\x7f\x00\x5f\xd8\xba\xc3\xbe\x03\xac\x85\x5f\xf8\x1a\x58\x4e\x9f\x0c\x07\x16\x6a\xe2\xe1\xc0\x1a\x0c\xe1\x4b\xf0\x65\xe0\x00\x63\xe0\x17\xbf\x06\xce\x18\x1d\xab\x62\x1b\xba\xd6\x78\x44\xe0\x17\xd3\x5c\xdb\xb2\x09\xfc\x3a\xf2\xcb\x85\x2f\x5b\x40\xda\x03\x07\xbe\x06\x7d\xf9\x35\xc6\x2f\x31\xb2\x8c\xed\x7e\x8f\xe0\x9f\x81\xfc\xc6\xb1\x66\x6c\x23\xa7\x31\x20\xd2\xe5\x48\x34\x76\x6c\x18\x7f\xc6\x0e\xb6\xb4\x6d\x8f\x7b\x43\x87\xe0\x1f\xc0\x3e\x86\x61\x62\x40\xc4\x1f\xf9\xdd\x1b\xc2\xf7\x10\xa9\x1e\xdb\xa3\xd1\xd0\x82\xef\xf1\x78\x3c\x9d\x8a\x41\x2f\xc8\xc6\xc7\x09\x0c\x3f\x44\x0e\x6e\xc3\x3e\x8c\x3d\x18\x1a\x11\x5b\x0e\x36\x30\xd6\x20\x61\xa3\x3e\xb1\x47\x72\x30\x82\x71\x06\x87\x19\x07\x46\x19\x0c\xc1\x18\x83\x58\xc6\x10\x12\x83\x8d\x4b\x1c\xec\x16\x8e\x3d\x20\x8e\x8d\x8a\xd4\x71\x88\xe3\xc8\xe1\x07\x46\x1f\x0c\x39\xc4\xe9\xc9\xa1\x07\x46\x1e\x31\xc0\xc0\xf8\x82\x21\x18\x51\xc4\xe0\x82\xe3\x09\x0e\x1b\x0e\x71\x06\xa8\x68\x07\x7d\xe2\x20\x9b\x9d\x01\xa4\x0a\x45\x0f\x3a\xbf\x27\x54\x3e\x68\x7f\x54\xd4\xa0\xa7\x85\x9a\xee\x13\x07\x15\x8c\x33\x1e\x13\xa9\x1e\x41\x23\xa2\x80\xf6\x6c\xd0\xc3\xa8\x5a\xec\x31\xe9\x39\x18\x72\xfa\xa4\xe7\xa0\x6a\x76\x5c\xd2\x43\xb6\xf6\x40\x27\x0a\x95\x08\x5a\x13\x45\xa9\x37\x00\xfd\x39\x16\x6a\x12\x34\x26\x08\xe2\xd0\x21\x7d\x54\x91\xfd\x61\x9f\xf4\x91\xbb\xfd\xe1\x90\xf4\x51\x95\xf5\x87\xa0\x51\x50\x31\x8d\x2c\xd2\x47\x3e\xf7\x47\x0e\xe9\x63\x47\xeb\x8f\xfa\x44\x98\x14\x60\x51\xf4\x71\x20\x1a\x8c\x7b\x64\x30\x16\x6a\x04\x35\x04\x76\x42\x97\x8c\x90\xcf\x23\xdb\x26\x23\x14\xc1\x91\xdd\x23\x23\xec\xd2\x23\x7b\x44\x46\x38\xa0\x8d\x1c\x8b\x8c\x70\x78\x1d\x39\x2e\x19\x61\x3d\x46\xbd\x1e\x19\x61\x3d\x46\xbd\x01\x19\xf5\x84\x08\xf5\xc8\xd8\x01\xcc\xe3\x9e\x4d\xc6\xd8\x1e\xe3\xfe\x80\x8c\x51\x4a\xc6\xc3\x1e\x19\x0b\x03\xc8\x02\x63\xc8\xc2\xd6\xb4\x2d\x30\x38\x6c\x4b\x88\xa8\x05\x02\x8d\xe2\xe8\x82\x10\xb8\x42\x0a\x5c\xc7\xb6\x89\xeb\x60\x77\x75\x1d\x7b\x08\x61\xa1\x14\x1c\x8b\xb8\x8e\x23\x14\x81\x03\x0a\x02\x95\x88\xeb\x38\x90\xb7\x27\xe2\xfb\x00\x83\x12\xe1\x82\x48\xb8\x42\x26\x5c\xa7\x3f\x80\xb0\x28\x6b\x00\xf8\x07\x02\x7e\x00\x78\x50\x32\xdc\x9e\x85\xca\x05\x69\x80\x66\x85\x1f\x0c\x3b\x36\x71\x45\xcb\xba\x60\x00\xb9\xa2\x4b\xb9\x7d\xc0\xd3\x17\x78\xfa\x83\x1e\x84\x85\x62\x1a\x8c\x20\x8c\x34\xf7\x87\x10\x1e\x8a\xf0\x08\x14\x16\xb6\x9e\xdb\x77\x21\xaf\xeb\x88\xf0\x10\xc2\x58\x97\xfe\x18\xe2\x85\xb2\x1b\xf4\x6c\xe2\x0e\xd0\xa0\x71\x07\xbd\x31\x71\xc5\x40\xeb\x0e\xfa\x7d\xe2\x0e\x06\x58\x97\xc1\xd0\x22\xee\x00\xf9\xec\x0e\xc6\x0e\x71\x87\x16\xe6\x1d\xf6\x20\x8c\x2d\xe6\x0e\x07\x2e\x81\x1f\x0c\x03\xfc\x10\x8d\x03\x17\x94\xbb\x2b\x95\xef\xc8\xea\x13\xf8\x11\xe1\x21\x84\x91\x66\x10\x15\x77\x84\x92\xee\x8e\xec\x01\x84\x07\x22\x3c\x86\xb0\xc8\x0b\xfc\x19\x89\x76\x19\x39\x00\xe3\x08\x98\x9e\x45\xe0\x47\x84\x7b\x10\x1e\x8a\x30\xe4\xed\x89\xbc\x7d\xc8\xdb\x17\x79\xfb\x00\x83\x06\x99\x0b\x46\x2d\xfc\x88\x30\xd0\x33\x10\xf0\xc0\x7f\x61\x90\xb9\xa3\x11\xc4\x8f\x04\x4e\x17\xe0\x5d\x01\x0f\xfc\x1c\x09\x7e\xba\x30\x48\xb8\x82\x27\x2e\xd4\x51\x18\xc1\xae\x6b\x43\xbc\x2d\xe2\x6d\x88\x17\xf5\x72\x61\xe0\x71\x7b\x32\xec\x42\x18\xcb\x75\xa1\x7d\x5d\xd1\xbe\x2e\xb4\xaf\x2b\xda\xd7\x1d\x8e\x09\xfc\x60\x78\x3c\x20\xae\x30\x4a\x5c\x18\xfc\x5c\x31\xf8\x8d\x41\x59\x8c\xfb\x68\xa8\x8d\x41\x66\xc6\x83\x3e\xf6\x15\x30\xee\xc7\x03\x34\x28\xc7\x43\xcb\x82\x8e\x83\xfd\x6a\x68\xbb\x64\x3c\x74\x64\x2f\x72\xc8\x58\xb4\xe3\x18\x8c\xda\xf1\xb0\x2f\xe2\x07\x00\x3f\x90\xe1\x3e\x84\x45\x5e\x50\xe2\x43\xd9\x03\x87\x10\x3f\x14\xf1\x23\x88\x47\x7d\x31\x1e\x8e\x00\xcf\x48\xc6\x43\x59\xae\x80\x1f\xbb\x64\x3c\x42\x5e\x8d\xa1\xdd\xc7\x42\x47\x8c\xa1\xed\xc6\x23\xd4\xbc\xe3\x51\x6f\x04\x61\xa4\x79\xd4\x77\xc8\x78\x84\xfd\x6b\x0c\xc6\xf4\x78\x24\xea\x08\xed\x05\x3f\x22\x0c\xf1\x28\x7b\xe3\xd1\x18\xe0\xd1\xe8\x1f\x8f\xc6\x7d\x08\x23\x4e\xd7\xe9\x93\xb1\x8b\x32\x33\x76\x9d\x11\x84\x11\x8f\x0b\x6a\xc5\x15\xe5\xba\x30\x58\xb9\xa2\x5c\xb7\x37\x86\xb0\xd0\x2d\x30\x80\xe3\x2f\x7e\xd9\x96\x43\x6c\x4b\x0c\xaf\x30\x8b\xee\x93\x61\x4f\x50\x88\x13\x63\x1c\xa4\x7b\x02\x07\x6a\x22\xab\xef\x0e\xc4\x0c\x09\x43\x43\x82\xcb\x23\x56\x36\x02\x86\xe9\x69\xed\xcd\x55\xf5\x88\xa6\x85\x7e\xd3\x8b\x73\xc3\xc2\x55\xef\x85\x41\x9f\x95\x13\x27\xd6\x74\x62\x4d\x6f\x6f\xe9\xf3\x4a\x7c\x32\x9d\xd8\xd3\xf2\x0e\xc6\x6e\xf2\xdc\x67\xbb\xe8\xf0\xcf\x2f\x3c\x51\x69\xb0\x76\x62\x3e\x75\x4c\x52\xc3\xc1\x05\x0e\x9f\xb7\xed\xec\xb4\xdd\x4e\x9d\x04\x7c\x30\xa2\x70\x50\x38\xf1\x79\xc7\xbe\x53\x45\xdf\xa9\x3a\x97\xa6\xc6\xf7\x56\x3d\xb3\x10\x9a\xaa\x9e\x25\x56\xaa\x9e\xc7\xff\x78\xd5\x73\x1c\xf7\x56\xbd\x04\xf6\x70\xd5\x67\x57\x01\x13\xd3\xfe\x86\x6d\x98\x0d\x6b\x07\x7b\xe5\x9c\x27\x08\x90\xa5\x1a\xd4\xf4\xca\x00\x2f\xc3\x94\xd5\x60\xaa\xe5\xd7\x81\x9a\x28\xb2\x7c\xdf\xa7\x7b\xa5\x75\x0f\x8f\x3e\xeb\x39\xc0\x69\xdf\x76\x46\xad\x16\x7d\x66\x0f\xad\xbd\xda\x4a\x88\x47\x9f\xd9\xce\x68\xcf\xf6\x8a\x42\x6e\x50\x73\xcf\xf2\xec\xb6\x41\x9f\xfb\xfd\xde\xc0\x69\xb5\x0c\xfa\xcc\xef\xf7\xfb\xa3\xdb\xdb\xb1\x65\xd9\xbe\x4f\x31\xe0\x60\x00\x4a\xb0\xc7\x56\x1f\xca\xf0\xfb\x8e\x3d\xb6\x5b\x2d\xdb\xe9\x0d\xec\x1d\x99\xda\xef\x5b\x3d\x07\x53\x07\x03\xc7\xea\x61\x1c\x74\x46\x91\x63\xd8\x77\x06\x03\x11\x37\xb0\xfa\x96\x88\x1b\x58\xfd\xb1\x8a\x1b\x39\x32\xce\xee\x29\x38\xc7\x55\x70\xbd\xd1\x50\xc6\x0d\x24\x05\xc3\xc1\xc0\xb6\x04\x55\x3d\x5b\x65\xb6\x41\x1d\x8a\xdc\x18\x74\x31\xd6\x19\x3a\x76\x5f\xee\x2a\xdf\xd3\x72\x1b\x45\xa0\xdc\x3f\x80\x6b\xcd\x4b\x47\x8f\x68\xf7\x94\x37\x88\x5d\xb6\x56\x29\x3b\x9c\xb5\x9b\xe4\x8b\x95\xa6\x74\x5a\x4a\xf3\x35\xe0\x7d\x2e\x7d\xf4\x18\xdc\x2f\x17\x6d\xa4\xa6\xf9\x4c\x3d\x12\xdd\xb1\x77\x59\xdb\xe7\x24\x69\xfb\xa9\x5a\xce\xb3\x3d\xe7\xae\xe8\xc1\x1e\x48\x42\xe7\x96\x9b\x1e\xb4\x20\x31\x76\xd6\xc4\xb7\x48\x5c\x22\xac\xd5\xda\x31\x8c\xb8\x5d\x25\xa0\xb4\xe0\x99\x98\xa6\xf9\x9c\x9b\xe8\xa1\x6a\x37\x73\x88\xb8\xe3\x33\x51\xe7\xd4\x4f\x10\x69\x5a\x40\x1a\x3f\xf3\xd9\xee\x03\x68\x53\xd3\x24\x29\xa0\x54\x77\xec\x9f\xb3\x56\x2b\xed\x74\x88\x7a\x88\x3a\x8c\x2f\xc5\x8b\xad\xd9\x4b\x85\xd9\x2b\x4a\xa5\x4a\x97\x8e\xb7\x94\x5f\xf5\x2e\x40\x89\x94\x8e\x70\x7c\x56\x74\x7d\x89\xef\x48\xcf\x13\xfe\x54\x38\x55\x8e\x92\xcb\xa7\x5f\x29\x4b\xc3\x24\xd6\x89\xce\xe9\x37\xfe\x74\x15\x05\x21\x7c\xd8\x5d\x7b\x88\x77\x97\x1e\xc8\x3e\x0f\x38\xad\xe6\x75\x2c\x7b\xd4\xb1\xdc\x8e\xc2\xc0\xe7\x74\x25\x5e\xb0\x96\xee\x14\xf4\xa2\xb7\x8d\xae\x38\x33\x77\x76\xb3\x92\x87\xa1\x92\xee\xdf\x93\x64\xf9\x29\x60\x30\x2e\xa8\x83\x23\xfa\xdf\xde\xbf\x7f\xab\xed\xf8\x9a\x6d\x59\x7f\xd2\x49\xa2\x7c\x80\x26\xab\x9b\x0c\xe4\x7f\xfc\x1f\xff\x3b\xa4\xcc\x69\xfa\x85\x27\xab\x77\x00\x10\x8a\xbd\xcf\xb3\x90\x47\x00\xf0\xdf\xfe\xbb\xf6\x27\x83\xc3\x87\xa9\xfd\x8f\xff\xf6\xdf\x01\x9a\xd3\x94\xbf\xa4\xab\xd4\x9f\xe8\x57\x9c\xb2\x65\xf7\x74\xc6\x92\x28\x3a\x4e\x98\x38\x31\x90\xea\x24\x4f\xa0\x34\xae\x44\x9e\x51\xb6\x0c\xe3\x20\xaa\x44\x7f\x3c\xab\x47\x1c\x04\x71\x4c\xe7\x22\x7a\x8a\x9c\xbd\x0c\x53\x4e\xd9\xeb\x38\xe4\x86\x00\xd3\xc9\xa6\xab\xdd\xe6\xf7\x12\xa3\x38\xba\xc1\x24\x55\x6f\x35\x89\x72\x38\x2d\x19\x7d\x7b\x6b\x34\xbf\x21\x2f\xbd\x4f\x54\xbf\xd1\x9b\xed\x5e\x15\x8b\x3c\x02\x5b\xf6\xc8\x67\x34\xe4\x34\xbd\x07\xb2\xa2\x5f\x27\x75\xa0\x7c\x07\x07\xe4\x47\xbf\x71\xff\x36\x88\xc3\x05\x4d\xb9\x52\x33\x9b\x21\x0c\x73\x97\xf9\x69\x37\x58\xad\x5a\x2d\xfc\xd3\xbd\x08\x66\x5f\x2e\x59\xb2\x8e\xe7\x77\x6c\x6f\x83\xef\x19\xe1\xf4\x55\x5f\x25\xab\xf5\x4a\xbf\x33\x89\x65\x7a\xcd\x34\xf2\xe0\x22\xdd\x2b\x84\x71\xcb\x5d\x1c\x72\xcd\x8f\x4a\x40\xff\x6c\xb5\x4a\x08\x54\x1e\x11\x29\xfc\x48\x33\xf9\xf5\x7a\x2e\xdc\x19\x73\xd3\x33\x4a\x0d\xae\xc7\x09\x5b\x06\x91\x5e\x6d\x72\xf3\xae\x7c\x69\xa5\x5e\x11\x99\x11\x6b\x72\x67\x92\x04\xc9\x8c\x42\x1a\xf3\xd3\xd2\x79\xce\xe2\x33\xa9\x97\x94\xe3\x4e\x5d\x18\x5f\x0a\xd0\x13\x3a\x43\x17\xdc\x85\xdc\x1b\x8d\x91\x8d\xd9\xbb\xd7\x90\xa5\x84\xe4\x17\x1a\x5e\x5e\x35\x5e\xbf\xde\x8c\xe5\x0a\xf3\x00\x9a\x59\xb2\x92\x2f\xe9\x42\x1f\x4f\x0e\xa2\x70\x75\x91\x04\xa5\x87\x3d\xc5\x49\x07\xda\xa5\xdf\xe8\xec\x20\x59\x2e\x83\x78\x6e\xe8\x90\x4f\x2f\x3a\x5a\x02\x64\xab\x20\xe5\xf4\x15\x4b\x96\x9b\xd1\x64\xa4\x95\xb0\x61\x46\xbd\x76\x18\x1b\xaf\x62\x29\x3d\xd5\xe0\x30\x0b\x0f\x8b\xf8\xcf\xd5\x08\xe3\xd3\x3d\xea\xf1\xdd\xfc\xb3\xd5\x82\x56\xdc\x41\x8b\xc6\xa0\xfe\xf7\x3b\xd5\x6f\xbe\x5f\x24\xf3\x1b\x8f\x76\xe1\x0f\x09\x67\x49\xec\x71\x83\x76\x21\xd0\xec\x69\x57\xea\x96\xa7\xe1\x32\xb8\xa4\xe9\x53\x00\xec\x8c\x87\x3a\x58\x19\xa9\x0f\x59\x51\x21\xaa\xa3\xcb\xf3\x64\x86\x87\x25\x44\xac\x29\xdd\x6e\x4b\xf5\x64\xa2\xdf\xe7\x85\x7a\x46\xf7\x63\xc0\x52\x63\xb3\xc2\x25\xdf\x11\x87\x97\xde\xa9\x87\x9a\x40\x1b\x14\xc1\x8c\x94\xb0\xc2\xf3\x4c\x49\x3c\x8b\xc2\xd9\x97\xe2\x49\x08\x49\xd5\x22\x99\xad\xd3\xec\x89\xa6\x28\xc1\xc7\x7a\x49\x0c\x0c\xae\x48\x71\x76\xe5\x05\x85\x4d\x1d\x3c\x13\x32\xe3\x73\x95\xa1\xfc\xc6\xc7\x6f\xc4\x30\x8b\x92\x98\x36\xdc\xfe\x87\xda\x0a\x60\x23\xc7\x57\xc4\x66\x36\x20\x83\xce\x9c\xd4\x0f\xc2\x48\x5a\xea\x38\x7c\x5a\xe8\x10\x15\x5c\xf4\xdf\xd7\x41\xd4\x68\x2d\x16\x70\x2a\xa4\xf2\x54\x8c\xc4\x7a\x1f\xda\x7b\x0e\xda\x4e\xe4\x50\x19\xfe\x3d\x3f\x50\x8b\xd8\xe5\x35\xc7\xbc\x84\xb6\x3e\xd5\x01\xf7\x49\x72\x7d\x90\x44\xcd\xa7\xa9\x59\x72\xad\xd8\x3f\x4b\xa2\xf5\x32\x56\x47\xa9\x93\xaf\x94\x2d\xa2\xe4\xda\xdf\xd9\x61\x39\x92\xe2\x31\xf8\xe4\x6b\xfd\x1d\xc6\xdf\x88\xf3\xfe\x66\x16\xe0\x86\x2a\xa3\x58\x42\x19\xbf\xd9\x88\x7c\x43\xb3\x23\xb5\x55\x7c\x68\x59\xd7\x11\xfb\x34\x0b\x36\x16\xf1\x80\x34\x40\x51\xa2\x2c\x29\x09\xb2\xb0\xac\x34\xe5\x33\x50\x15\xf7\x50\x79\x0f\x8b\x89\xc8\x92\x1f\xa9\x4e\xae\x0b\x62\x22\x0a\x2d\x44\xa8\xc2\x84\xe4\x94\xec\xca\x85\x0e\x03\xdb\x2b\x16\x2c\x37\xb4\x3a\x97\x66\x5a\xe6\xed\x7b\x1e\x7e\xfd\xec\x53\xfc\x23\x22\xd6\x2c\xca\x24\x01\xef\x68\xa4\x3e\xcb\x5d\x13\x84\x0b\xc0\x5d\x3c\x52\x0c\x73\xd6\x20\x8c\x29\x2b\x46\xca\x77\xe8\x0f\xae\xc0\xd4\x8b\xd4\x81\x7c\x49\x59\xe9\xf4\x72\x76\xd4\xb9\xd8\x1c\xca\x0b\x14\x3a\x30\xc2\xa7\xa8\xa5\x3f\xa8\x70\x35\xeb\x84\x71\xc8\x3b\xc9\x17\xdd\x93\x8d\x96\xdf\xbb\x49\x69\x3c\x57\x76\xe8\xeb\x78\x91\x7c\x36\xcc\x5d\xcc\xa6\x6a\xdd\x09\xe3\x45\x52\xcc\x5b\xa9\x41\x37\xe5\x37\x11\x7a\x70\x59\x45\xc1\x8d\xaf\x2f\x22\xfa\x4d\x6f\xac\x51\x77\x95\x30\x6e\x77\x93\x58\xc6\xab\x1b\x2e\xb2\x3a\xc5\x13\xc8\xc5\x7b\x41\x47\x49\x30\x37\xcc\x5d\x69\x1b\x96\x6a\x50\x72\xe0\x52\x79\xcf\x5f\x5b\xb0\x64\xa9\x21\xeb\x3d\x9d\x08\xb6\x98\x77\xf7\x32\xb4\x28\x6c\xcd\x80\x40\x4b\xfd\xd0\x78\xad\xe5\xe8\xb5\xf6\xb6\x14\xf7\x23\xfc\xa8\xdf\xf3\x69\xce\x8f\x87\xa6\xd5\xf0\x26\x65\x0d\xdb\x07\xed\x2c\x1c\x01\x57\x49\xca\x25\x56\xe3\x3b\xba\xc9\xc9\xa4\x42\x27\x01\xbb\xfc\xea\x4d\xbe\x4b\xe4\x30\x77\xf1\x36\x96\xe6\xdc\x29\xaf\x7e\x6b\x16\x91\xc9\x66\xb8\xa9\xb9\x99\x81\x0f\xb1\xb9\x26\x92\xa5\x7b\x43\xdd\x05\xbe\xb2\x3f\x9b\xd1\x15\x3f\x0a\xe2\xcb\x35\x18\x26\x46\x4d\xf9\x15\xab\x5c\x96\x65\x9d\x4c\xbe\x07\xe5\xec\x1e\x25\x8b\x84\x51\x61\xdd\x1f\x24\x51\xc2\xbc\x72\xcf\x87\x22\x5f\x95\x21\x0c\x93\xe4\x33\x82\x4d\x79\x5e\x94\x21\x0c\x93\xcc\xd6\x2c\x4d\xd8\x26\xf8\x83\x3c\xd5\x30\xc9\x22\x11\x76\x76\x23\x31\x22\x49\x42\xbd\x0a\x96\x61\x74\xb3\x01\x4e\x24\x22\xbd\x29\xfd\x70\x72\xe4\x49\x1e\x7e\x38\x39\xc2\xe7\xf9\xef\xa6\xd5\x37\x8b\x9b\x5a\xee\x00\x0c\xa7\x03\x30\xb1\x68\x43\x17\xc8\xcc\xaa\x7a\x56\x4c\x6a\x38\xdd\xaa\x14\x48\x36\x62\x64\x1a\x65\x15\xc0\x3c\xe8\x5d\x32\xcf\x9c\xb2\x35\x26\x16\x5f\xc8\xac\x82\x65\xb7\x63\x0f\x04\x61\xf7\x55\xea\x21\x79\x2c\x88\x52\xc3\x69\xed\xa6\x3e\x50\x7f\xa7\x48\xe6\xd7\x66\x02\x42\x0b\x53\xbc\x3e\x93\x52\xae\xad\x57\x5d\xf5\xfc\x78\x73\x07\xaf\xf7\x5e\x2a\x3a\x2d\xbf\x6b\xac\x56\x7a\x95\x5c\x17\xeb\x94\x2d\x05\x50\x7c\xdb\x33\x9b\x89\xa0\x3f\x28\x35\x60\xed\x65\xa1\x09\x9d\x7a\xec\x2e\x77\x05\x2c\x2f\x0d\xe7\xde\x37\xb6\x6a\x39\x53\xe9\x66\x75\x41\x0f\x88\xd4\x02\xf9\xf0\xfa\xd7\x30\x0d\x2f\x22\xaa\x8b\x33\x7b\xf2\xa8\x7b\x65\x76\x69\x64\x63\xad\x49\x42\x9f\x1a\x3a\xda\x82\x3a\x19\xf6\x2d\x98\x4a\x50\x43\x17\xc6\xa0\x4e\xfa\xae\x85\x0f\x45\x32\x69\xe1\x32\x69\x26\x92\x4a\x7f\x50\xd3\x93\xcf\x26\x09\xfc\xda\x40\xac\xbc\xf0\x44\x14\x60\x0c\x7d\x1e\x7e\xd5\xcd\xdd\x40\x8e\x6f\xb3\x34\x3d\xa3\xdf\xb8\xaf\xaf\x92\x34\x14\x4e\x94\x82\x8b\x34\x89\xd6\x9c\xee\xca\xb1\xcf\xd3\xe2\x24\xa6\xbb\x30\x00\x76\xe6\x21\x13\x33\x4b\x4f\x13\xb6\xc8\x2e\x4f\x56\x9e\x66\x5b\x7f\xda\x8d\xe8\x82\x7b\x5a\xff\x4f\xbb\x48\xac\xa7\x8d\xad\x3f\xed\x0a\x7a\x3d\xcd\xb5\xfe\xb4\xbb\x0c\xe3\x8e\xfa\x76\xe0\x3b\xf8\xd6\x29\xa6\x5f\x24\xdf\x3a\xe9\x55\x30\x4f\xae\x3d\xcd\xd2\x2c\xcd\x59\x7d\xcb\x2f\x26\xde\xa7\xaf\xda\xfa\xee\x45\xc2\xe6\x94\x79\x8f\xc9\xa3\xa5\x49\x14\xce\x77\x75\x9c\x85\x45\x7e\xd9\xa2\xa9\xf2\x4c\x24\xe8\xe6\x6e\xd4\x4d\xe2\x08\x74\x7d\x61\x10\x2f\x0d\x68\x51\x95\xaf\x19\x13\x81\x7f\xc8\x44\x4f\xb3\x15\x8f\xc4\xc2\x5d\x04\x96\xee\x3e\xe7\x2c\xbc\x58\x73\x6a\xe8\x29\x9b\xe9\xd9\x68\x64\xd6\x93\x69\xb0\x8c\x68\x9a\xea\x64\xc7\x32\x49\xd0\x0d\x56\x2b\x1a\xcf\x85\xba\x88\xcc\xdc\x94\x2b\x25\x04\xe2\x7a\x84\xb4\x0f\x85\xa9\xf9\x86\xde\xe0\x9c\x1e\x02\x6f\x83\x15\xda\x8b\x2a\xae\xe9\xda\x81\x60\xa8\xb2\x16\xbf\x48\x48\xc9\xa4\xa2\xc9\x77\x15\xc4\xf3\x48\x38\x04\x9f\xe8\x38\x4d\x4d\xd6\x3c\x7b\xfe\xe1\x15\x44\xbc\x2f\xdf\xcd\x9a\x92\x89\xfe\x85\xde\xcc\x93\xeb\x38\x83\x7b\x43\x6f\x5e\x26\xd7\x71\x03\xd8\x8a\x61\xf5\x73\xb8\x63\x88\x68\x00\x5c\xaf\x8a\x50\x1f\x56\x55\x10\x4e\xbf\xf1\xd7\xf1\xaa\x40\xdc\x99\x8a\x29\x81\x4e\xb3\x2a\xbf\x0d\x56\xbe\x98\xdc\x54\xb8\x57\x34\x68\x20\x67\x18\x5f\xa6\x55\xc8\x17\x32\xbe\x08\x1b\x44\xfc\x67\xf6\x36\x99\xe3\x72\x56\xac\x1e\xc9\xc0\xcb\xec\xaf\xe3\x94\x32\x7e\x1c\xa4\x9c\xfa\x3b\xf2\x08\xfe\x55\xb2\xa4\x6f\xe8\x4d\x2a\x56\x64\x33\x37\x5d\xab\xe0\xb2\x29\x7a\xc6\x59\x74\x1c\xad\xd3\xb7\x61\xbc\x4e\xff\x46\x59\xf2\xb7\x24\x59\x66\xb8\x20\xf5\xe0\x20\x59\xdd\x94\xe0\x3f\xca\x02\x65\x54\xb0\x12\xce\x08\x43\x64\xe1\x2a\x98\x37\xa5\x88\xf1\x3d\x4b\x01\x03\x22\x5d\x05\x33\x7a\x4a\xe3\x79\xfa\x42\x7d\xe5\xc5\x5c\x05\x2c\x98\x71\xca\x0e\xe3\x59\x02\x1c\xf1\xf5\x35\x5f\x74\xdc\xcc\xbe\xe6\x01\xe6\x3c\x4c\x67\xc1\x2a\xaf\xfb\x2a\x48\xd3\xb7\x94\x07\x1f\xb3\x98\x20\xe2\x08\xf8\xe9\x2a\xe0\xbe\x4e\x11\x5c\xcf\x92\x5e\x23\x74\x4e\x6f\xc4\x33\x52\x44\x52\x9d\xb2\x20\xe2\x4a\x9c\xe8\x5c\x5d\x29\x59\xd2\x79\x18\x00\x77\xf7\x19\x7d\x05\x7f\x73\xb6\x33\xfa\x35\x4c\xd6\xe9\x7e\x81\x8e\x7c\x86\x53\x94\x90\xfd\x99\x98\x3f\x7d\x3f\xd8\x7f\x77\x70\x28\x6c\x95\xa2\x7b\x34\x11\xad\x9b\x44\x3e\xee\x55\x03\x90\xf1\xba\x49\x8e\xf7\x4f\x4f\x6b\xc9\x10\xa9\x9b\xe4\xf4\xec\xe4\xf5\x71\x2d\x11\x63\x75\xb3\x44\x53\x61\x0e\x1c\xd7\xee\xc2\xc8\x29\xa9\x68\x14\xdf\x6f\x6e\xb4\xbd\x92\x5a\xe8\x7e\xe5\x85\x53\xfc\x06\x35\x3d\xba\xa1\x3c\xbc\xcc\x16\x45\x8d\x9a\x46\x5c\x7b\x6b\xd4\x2f\xe6\x77\xf5\xf0\x7f\x35\x45\x46\x57\xf0\xe2\x82\x6f\xfe\x3c\x3d\xf7\xad\x5d\xfe\xac\xac\x9e\xd4\xee\x1c\x57\x57\x09\xa4\x77\x82\x0c\x60\xc2\xa7\xbb\x74\x8f\xd6\xdf\xb4\x61\x13\x6b\x4a\xd8\xc4\x9e\xca\xfb\x99\x55\x92\xa4\x0d\xb7\x29\xd3\x5d\xb3\x06\xa5\x77\x1b\x58\xb6\x8e\x37\x32\x4d\x6a\xe7\xc6\xca\x6f\xc0\x56\xd4\x72\x65\x2f\x57\x38\x9b\x6c\xb5\xe4\x64\x5b\x5e\x72\xd3\xcd\xf2\x8b\xb3\x59\x8b\x27\xf1\xc7\x33\xe8\x0e\x9c\x25\x5f\x0a\xd3\xdc\x0c\xc0\xdc\x4c\x40\xa6\xb3\x1b\x16\x81\x9b\xae\x13\xd0\xee\xf5\x55\x38\xbb\x32\xbb\x3c\x39\x4a\xae\x95\x8f\x67\x7c\x3d\x93\xa2\xd6\x7a\x43\x6f\x5a\xad\x1d\x8a\xba\xe3\x0d\xbd\xb9\xbd\xd5\x67\x3a\xbe\xe9\xa0\x7f\x85\xbf\xf2\xb5\x20\xd1\xbd\x5b\x2d\xfd\x82\x25\xd7\x29\x65\x9d\x2f\xf4\x46\xc9\x77\x51\x97\xb4\x5a\xe8\xfa\x4d\xed\x56\x2a\xe1\x68\xa6\xec\x0b\xbd\x41\xa0\x5d\x2a\xd4\x36\x16\x6f\x30\x9f\x95\x89\x35\x09\x2b\x6e\x7f\x5a\x66\xdb\x76\x5c\xe5\xff\x5f\x25\x3c\xf7\x7b\x4e\xab\x65\xb0\x62\xe1\xbb\x4c\x0a\x78\x33\xe3\x8d\x26\xaa\x18\xba\xac\x04\xf5\x44\x63\xe5\x40\x55\x7a\x86\x4a\x56\xc7\x2c\x59\x05\x97\x62\xb1\xd9\xdc\x24\x72\x32\xaf\xd8\xd8\xda\x5f\xad\xde\x25\xf1\x01\x67\xd1\x29\xd4\x50\x22\x2c\x37\x5e\x65\x43\xa8\xf4\x29\xf6\x9b\x6a\x51\x72\x33\xa7\xd5\x32\x0a\x8d\x58\xe4\x62\xbd\x0a\x9b\x45\x2a\x33\x2b\xea\xa6\x4b\x45\xab\xdf\x27\x95\x1f\x56\xe5\xfc\xb6\x0b\x82\x20\x9b\x58\x4d\xdb\xca\xf8\xea\x51\xad\x7f\x18\xf6\xb3\x67\x14\x9f\xc7\x02\x44\x1d\xdb\x34\x89\x33\x2a\x61\xca\xc6\x8f\x87\x98\x8c\xc7\x0e\x36\x13\x8c\x26\xd2\x26\xef\xd7\x89\xf9\x3d\xf4\x13\xb9\xd1\xc0\x26\xc9\x54\xbd\x1c\xa8\x60\xf2\x3b\xcf\x71\xab\x65\xc4\x7e\x2c\x3d\xb9\x2a\x5b\x87\x4c\x28\x61\x53\x13\xa6\x21\xbe\x1f\xb4\x5a\x6a\xe7\x6c\xc7\x4f\x10\x9e\x1b\x2a\x06\x60\xee\x7e\x88\x5b\xb7\x55\x5e\xfd\x16\x56\x15\x1d\x73\x89\x2a\xc0\x9f\x97\x74\x91\x4e\x32\x8c\xc2\x47\xa7\xba\x3c\x86\x66\xab\xf0\x27\x42\x62\xbf\x71\xd4\xee\x8a\xd1\x99\x04\x1b\x92\xe5\xd8\x4c\xa2\x0d\xe9\x30\x38\x93\xab\x0d\x89\x38\x38\x93\x99\x9f\x75\x01\xb2\xf6\x77\xca\x26\x0c\x74\x0a\xc1\x32\xb2\xf2\xcb\x49\x7b\x2a\x05\x3a\x8b\x54\x7e\x5e\x16\x22\x73\x7f\xe7\xe9\xaf\xe7\x93\xf3\xeb\xf6\xf9\x54\x3d\xcf\xcd\x90\x0f\xc1\xca\x54\x1e\xf6\xcb\x76\xa8\x5c\x5e\x05\x62\x3a\x41\xc4\x75\x6f\xde\x6a\xcd\x5a\xad\x75\xab\x65\xa0\x5b\xd8\xb5\xbf\x63\x9b\xbb\x17\x8c\x06\x5f\xc4\x8a\x2a\x83\x39\x5c\x06\xea\x54\x74\x95\x1a\xe4\x2a\x3d\x64\x13\x32\x98\x45\x66\xb8\xec\xc7\xe3\xc2\x09\xfe\x62\x77\xe1\x73\x63\xb6\xa7\xcb\x43\x54\xba\xb7\xde\xd3\x11\xe9\x6a\x4f\x07\xd6\xe8\xd9\x16\xb0\x10\x98\x4b\x1f\x86\x8e\x20\xfd\x72\x2a\x55\x4f\x51\x0d\x91\xa5\xff\x5d\x4a\x8e\x97\xc9\x10\xc1\x54\xaf\x00\x05\x0c\xf3\x66\x24\x88\xb8\xb7\x26\x50\x88\xb7\xba\x23\x37\x7e\x69\x42\x80\x6b\x67\x22\x6c\x2c\x71\xf8\xba\x69\xb5\x8c\x4b\x7f\xe6\xaf\xfd\x15\xde\x6a\xcb\x37\xb5\xeb\x7d\xd4\x58\xf8\x37\xdd\x00\xe3\xcc\x56\xcb\x58\xf8\x8b\xee\x2c\x88\x22\xe9\x74\xab\xc8\x29\xb2\x34\x4d\x93\xac\xb7\x19\xe8\x16\xd8\xaf\x8d\x85\x1f\x99\x64\xb1\xe3\xfb\x11\x7c\xec\xf8\x7e\x70\x7b\x3b\xbb\xbd\x5d\xdf\xde\xae\x44\x59\xbe\x7f\xd5\x6a\x19\x6b\x1f\x59\xdd\x48\x1b\xeb\x0a\xd2\x15\x6d\x85\x57\x10\x2a\xca\x44\x94\xe9\xf8\xbe\x12\xc5\xec\xe0\x10\xa2\x91\x71\xf2\xdc\xce\xe5\x9e\xed\x59\xc4\x36\xb7\x1e\xd1\xb0\x1a\xb1\x69\x86\x0b\x24\x3b\xb8\xbd\xad\x3d\xcf\xb3\x10\x7e\x1f\x94\x78\xf8\x7e\xb8\x07\xf5\xf2\x50\x48\xe0\x6b\x8d\x5f\x28\x2a\xbe\x1f\xb6\x5a\x06\xb4\x8e\x49\xf4\x9f\x26\xba\xef\x2f\x14\x69\x16\x71\xa0\xb2\x6b\x64\xd5\xa5\x74\xc0\x70\xb1\xbb\x73\x89\x8c\x9b\xed\xed\xac\x6f\x6f\x2f\x21\x70\x89\xfd\x67\x67\xb6\x77\xe1\xeb\xbb\x7d\xdd\xdb\x99\x61\xc2\x1a\x12\x66\xad\xd6\xce\x1a\x13\x86\xba\xb7\x16\xdf\x97\xf8\x3d\xd2\x3d\x91\x71\xd6\x6a\x19\x10\xe1\xea\xa6\x07\x7f\x07\x3a\xfe\xe9\x89\x3f\x8e\x4e\x16\x7e\x0f\xc8\x12\x5c\xdc\xd3\x7f\x9a\xd8\x7a\xfb\xa2\x9d\xd1\xe9\x10\xdb\xf4\x0a\x54\x2f\xb2\xe3\x9f\x66\x11\xac\x10\x7d\xa7\x8e\x66\x2e\x7c\x25\x1f\x9b\xda\x85\x00\x75\x9f\x6b\xc9\x90\x54\xb6\x77\xcc\xe7\xfe\xb0\xdf\x6a\x7d\x7e\xe6\x8f\x07\x88\xb1\xc9\x70\xf9\xdc\x19\xf6\x95\xec\xba\x9d\x8b\x90\x37\x4b\xad\x9d\x57\x57\x70\xfd\x33\x74\x86\xaa\x75\xb5\xbb\xa1\x0c\xf3\xce\x00\xfc\x72\xbe\xd8\x50\xc0\xed\xed\x4a\x0e\x3b\x95\xb9\xa8\x90\x6d\xfd\x27\xbd\xbd\x90\x46\xfc\x06\xa3\x6c\x21\x9f\xd7\x56\xcb\x85\xc2\xfb\xd6\xeb\xf8\x6b\x10\x85\x73\x2d\x90\x6b\x68\x7a\xbb\xe2\x2c\x64\x61\x36\xe6\x7b\x97\x68\x73\xba\x08\x63\x5c\xa1\x43\xff\x94\x4a\x21\xa1\x8b\x4a\x65\x81\x96\xec\x04\xb5\xd8\x50\xf7\xa1\x20\x13\xc4\xeb\x6c\x0d\x39\x36\xbf\x6c\xf6\x03\x18\x82\xf9\x5c\xc6\x56\x3d\xc6\xc8\xd7\x0c\x60\xf8\x0d\xcb\x6a\xf2\x73\x65\xac\x0e\x33\xf7\x69\xc2\xf7\x76\x58\xf4\xbd\x0d\xe9\x93\x74\x0a\x19\xa4\x1b\x6b\xe1\x8c\xe3\x4d\xf6\x6d\x50\xd3\xfc\xce\x7c\x80\x12\x43\xcd\x1d\xdb\x63\x52\x91\xfa\xdc\x33\x18\xea\x77\x09\xec\x51\x22\x5b\x87\xdf\x91\x50\x7a\x1c\x68\x22\x4c\xbd\xfc\x40\xc2\x6e\x9a\xb0\xc2\xf1\x26\xac\x9c\x5c\x8c\x2e\x0f\xf9\x8a\x3e\x80\x3f\x48\x96\xab\x80\xc9\xf9\x83\x4c\x20\xbc\xf0\x61\xde\x29\xe7\x3f\x4d\xa5\xfb\x13\x36\x6d\x6e\xef\x46\xde\xd7\x17\xf8\x6b\x3a\x31\x9b\xe5\x88\x45\xab\xe3\x80\xa5\x94\xed\xb2\x2e\xa3\xf8\xa2\xad\x18\x28\x43\xf4\x9b\x19\xfa\x4c\xbc\x68\xf6\x86\xde\x9c\xd2\x7f\x5f\xd3\x78\x46\x1b\x3c\x2f\x96\xf6\x32\xa5\x1f\x5c\xf4\x6c\xc3\xba\x61\x9a\x79\x1d\x32\x9b\xc9\x01\x1e\xca\xb2\xb9\x29\xbc\x75\x16\x4a\xdd\x97\xf2\xb8\x65\x99\x77\xe5\x12\xc5\xca\x45\x41\x32\x8d\xfa\x92\x9e\x92\x9d\xd0\x24\xdc\xf4\xca\x18\x59\xee\x95\x53\x39\x64\x8c\xe7\x5a\xb2\xd0\x52\xc9\x0c\xf4\x9d\x53\xed\xca\x3f\x92\xb7\x46\xa8\x78\xba\x77\xdb\x66\x4f\x9b\x4f\x28\x17\xde\xbf\xcc\x61\x0d\x4e\xe8\x84\x3f\x2c\x54\xb9\x09\xb3\xe9\x8d\xc5\x4d\xdd\x38\xf3\x0d\xa5\xa1\x07\xd6\xca\xa3\xdd\x0d\x7e\x1d\xf8\x84\x89\xfe\xdf\xd4\xb9\x61\xe2\x03\x3d\x3b\xf3\x75\x5f\xc0\x7d\xef\x52\xb7\x34\xbc\x4b\xcb\xdd\x72\x11\xb7\x3e\x75\x54\x26\x67\x61\xd5\x1b\x26\x13\xbe\x3a\x04\x21\x24\xd4\xac\x2e\xf7\xc1\xbc\xa3\xd4\x20\x6f\x30\x5f\xa5\x1b\xe6\x2f\xc0\x48\xb4\xad\x56\x59\xef\xe7\x2f\xc1\x14\xf5\xbd\x59\x22\x05\x5f\x83\xda\xb2\xfc\x0d\xf2\x80\x4b\x63\x55\x8f\x40\xb8\x2a\xa6\x64\x44\x64\x37\x32\x18\x71\x3f\x83\x7c\x17\x63\xbe\x57\x8a\xb7\xa7\x44\x18\x82\xe5\x68\x67\x4a\xa4\xbd\x55\x8e\xef\x4d\xd1\x66\x2e\xc5\xf5\xa7\xc2\x82\x2e\x45\x0e\xa6\x77\x0f\xf0\x19\x1b\x63\xe3\x16\x61\xe1\x60\x78\xc3\xfc\x17\x97\xf9\xd0\x62\x9d\x91\x09\x07\x3b\xd5\xa3\x77\xd5\x87\xa4\xa4\x88\x65\x25\x84\x24\xc9\xf7\x1d\x8d\xb0\xb0\x72\x11\xaa\xd9\x1c\x04\xd5\x0c\x2d\xcc\x97\xa7\x76\x66\x85\xd9\x4c\x75\x21\x7d\x8f\x7b\x8c\x00\xee\xbb\x9c\x02\xb6\x0d\x05\x05\xa4\x1b\xd6\xe0\xf7\x98\xc7\xab\xa8\xc3\x7b\x50\x8b\x41\x37\xaf\x19\xe4\xdf\xcd\x4e\xd7\x17\xa7\x4c\xfe\x8e\x45\xa8\x91\x56\x91\xa7\xdb\x71\x4e\xb0\xa8\x89\xba\xf8\xf7\x65\x7d\x53\x11\x41\x61\x00\x69\x5e\xe3\x2b\x99\x96\x60\xa2\xe6\x99\xa3\x42\xe6\x8c\xba\x22\xc9\x5c\x3c\xd9\x86\x71\x85\x42\xf1\x39\x9c\x6a\x3e\x46\xc2\x2c\xb2\xd0\x98\xb5\x1d\x88\x3d\x0a\xe8\x48\x68\x7a\xf6\x70\xa8\xe6\x51\xc9\x9c\xde\xde\xda\xc3\x51\xe5\xdb\x2d\x7c\xef\xdd\xb7\xbe\xe1\x6d\x5e\xbd\xb8\xbb\xab\x68\x3f\xb4\x06\x66\x62\xd5\x64\x7d\xff\xaa\xc9\xea\x81\x55\x93\xf9\x7d\xab\x26\x8b\xfb\x56\x4d\x76\xcb\xea\x29\x35\x26\x16\xd1\x27\x1f\xde\xbd\x79\xf7\xfe\xd3\xbb\xa9\x4e\xe6\xe2\x7f\x78\x65\x9c\xe8\x93\xc3\xd3\x83\xa9\x4e\xf4\x9f\x74\xb2\x82\xff\xe1\x9d\x66\x87\xe8\x93\x57\xf6\x54\x27\xb1\xa1\xff\xf4\xfe\x18\x92\x27\xc7\xba\x49\x56\x10\x70\x7a\xff\xd0\x25\x5c\x0f\xe0\x1c\x05\xf7\x17\x84\xfb\x4b\x06\xd7\xcf\xe0\xfa\x00\xd7\x53\x70\x27\x08\x77\x92\xc1\x0d\x32\xb8\x01\xc0\xf5\x15\xdc\x29\xc2\x9d\x66\x70\xc3\x0c\x6e\x08\x70\x03\x24\x7b\x62\x63\x76\x04\x70\x33\x00\xa8\xd8\xab\xa1\x04\x18\x65\x00\xe3\x0c\xc0\x05\x80\x91\x04\x70\x15\x40\xcf\xce\x00\xc6\x00\xe0\x4a\x80\x71\x06\xe0\x28\x00\x07\x98\xfa\x6a\x2c\x00\x1c\x2b\x03\xc8\x98\xe3\xd8\xc8\x44\x4b\x42\xd8\x19\x44\xc6\x16\x47\xb0\xd9\x96\x10\x3d\x05\xd1\xcf\x0b\x41\x06\xdb\x8e\x84\xe8\x67\x10\x59\x29\x63\x87\xe8\xff\x15\xa3\x43\x23\x30\xf4\x7f\xd1\x4d\x12\x18\xfa\xaf\xba\x09\x4c\x9b\xa3\xf7\x0e\xa2\xdb\x3b\x00\x10\x19\xba\x58\x1d\x7c\xb7\x5e\x7e\xd6\x4d\xf1\xbd\x1f\xf1\xe2\xe7\x5b\xca\x03\xf1\x3d\x25\x93\x81\x45\x74\xe7\x5f\x7e\x2c\xab\x4d\xf4\xde\x3f\xfd\x58\x56\x87\xe8\xfd\x7f\xfe\xb1\xac\x3d\xa2\x0f\xfe\xf4\x63\x59\xfb\x44\x1f\xfe\xfa\x63\x59\x07\x44\x1f\xb5\x7e\x2c\xeb\x90\xe8\xee\x9f\x7f\x2c\xeb\x88\xe8\x63\xe3\x87\xb2\xf6\x5d\xa2\x5b\x66\x96\xb5\xb4\x15\xbe\x09\x41\x15\x08\xdd\x60\x8c\x89\xde\xf9\xbc\x19\xcf\x86\x78\xcc\x3a\x22\xba\xdf\xfe\xa1\xac\xa3\xde\x8f\x96\x3a\xb4\x7f\xbc\x50\x9b\xe8\xed\x3f\xff\x48\x56\x50\x34\x2f\xde\x9c\x1e\x4f\x75\xc2\x0c\xfd\x3f\x74\xa2\x9f\x5f\xe8\x26\x84\xcf\x2f\x74\xa2\xff\x07\x66\x86\xae\x0c\x0a\xe7\x6c\xff\xc5\x54\x27\xa1\xa1\x9f\x73\xec\xf1\x7f\xd3\x4d\xb2\x20\x73\x4c\x77\x6d\xa2\xff\xfb\x5f\x80\x84\xc0\xd0\xff\x92\x65\x03\x4e\x5e\x7f\x92\xd1\x9f\xb2\xe8\xe1\x98\xe8\xf4\x50\x46\x1f\xe6\xd0\x0e\xd1\xd9\x89\x8c\x3e\xc9\xa3\xfb\x44\xe7\x67\x32\xfa\x2c\x8f\x1e\x13\xfd\xe6\x5f\x65\xf4\xbf\xe6\xd1\x03\xa2\xaf\x3f\xc8\xe8\x0f\x59\x34\x34\x4c\xf8\x5a\x46\xbf\xce\xa3\xc7\x44\x4f\xde\xcb\xe8\xf7\x39\x12\x8b\xe8\xab\x63\x19\x7d\x9c\x45\x3b\xa8\x78\xbf\xcb\xf8\x49\x1e\x0f\xea\x74\x7a\x27\xe3\xa7\x85\x78\x8b\xe8\xe7\xe7\xb7\x32\xe1\xfc\x3c\x4f\x01\x05\x7d\xb0\x7f\x7c\x9a\x0d\x79\xc8\x97\x01\xd1\x83\x7d\x09\xbd\x9f\x53\xd3\x23\x7a\x7a\x2a\xa3\x4f\x73\x2e\xba\x44\x9f\xbf\x94\xd1\x2f\xf3\x2a\x59\x44\x5f\xbc\x92\xd1\xaf\xf2\x68\x9b\xe8\x97\x3f\xcb\xe8\x9f\xf3\x68\x87\xe8\x57\xbf\xc8\xe8\x5f\xf2\xe8\x3e\xd1\xff\xed\xbf\x64\x9a\xfb\xbf\xe8\x26\x99\x67\x69\x03\xa2\x7f\x79\x93\xa5\xbd\x51\xbd\xf0\x20\xa2\x01\xfb\x2c\x94\x3b\xc2\x0d\x89\x1e\x1d\x65\x70\x47\x45\x1c\xb6\x3b\x24\xfa\xae\x07\x89\x8b\x8c\x59\x0e\xd1\x9f\x9c\xeb\xc5\x38\x1c\xc3\x0f\xdf\x9d\x1d\x9e\xc0\x20\x73\xce\x74\xb2\x26\x6b\x91\x02\xa3\xec\xe9\x2f\xaf\x5f\x9d\x95\x38\x38\xb6\x88\xfe\xf7\xbf\xc9\xea\xfc\x2d\xe7\xa0\x4b\xf4\x6f\x7f\x95\xd1\x7f\xcd\x39\x38\x22\xfa\xec\xa0\xa4\xa6\x0e\x0a\x1d\x06\xf4\xd2\x81\xec\x28\x43\xa2\x7f\xfd\x58\x82\xfc\x58\x81\xfc\x28\xfb\xf1\x90\xe8\x17\x2f\xb2\x5a\xbf\x50\xb5\x0e\x8d\x15\x99\x03\xc0\xc8\x25\x7a\xfc\xae\xac\x1b\x2b\xa8\xde\x09\x54\xa3\x11\xd1\x97\x6f\x25\xd5\x6f\xf5\x9c\x77\x2e\xd1\xc9\x33\x88\x4f\x8d\x45\x81\xa7\x50\xf9\xee\xf3\x86\x78\x9b\xe8\x4f\xf7\x32\x92\x3e\x8b\x61\x78\x2f\x6f\x29\xb4\x48\x0e\xce\x4e\x8e\x4a\x06\x18\x9a\x21\xfb\x47\x67\xa5\x48\xc0\x35\x39\xda\x3f\x2e\x83\xf6\x1c\xa2\x6b\x92\xd0\x7f\xc9\x95\x06\x98\x10\x27\x55\xd8\x31\xb4\xe9\xc9\xdb\xc3\x77\x1f\x4a\xd1\x7d\x00\x3e\x3e\x39\x3b\x3d\x38\x29\x53\xd1\x07\xbb\xeb\xf4\xe0\xe4\xe8\x4d\x39\x1e\xba\xe2\x8b\x93\xc3\xfd\x72\x34\x42\xbf\x7e\x77\x7a\x78\x02\x74\x23\x47\xdf\xd0\x1b\x71\x2c\x4b\x70\x59\xd0\xd6\x03\xf9\xf9\xe5\xfd\xdb\xc3\x02\xd4\x2f\xc9\x92\x96\x60\x80\xd2\xe3\x9f\x3f\x1c\x17\x60\x8e\x83\x4b\xfa\x61\x55\x84\xea\x03\xa6\x97\x87\x47\x05\xa0\x97\x34\x2a\xe1\x19\xa0\x14\xbf\x2c\x40\x1c\xc6\xf3\x12\x44\x1f\x4b\x7a\x29\x6c\xe0\x62\x59\xb8\x57\x5c\x84\x84\x46\x29\x51\xb4\xcf\x58\x72\x5d\x21\x09\xb4\x4b\x05\x19\x82\xd5\xb0\x01\x13\x4f\x5e\xff\xfc\x0b\x30\x8b\x1b\xfa\x4f\x93\x03\x50\xed\xef\x0f\x8a\x30\x20\x1c\x47\x87\xaf\x32\x90\x97\x08\xf2\xb2\x00\x62\xf7\x81\xfe\x77\x1f\xde\x1e\xbd\x3f\x28\x37\xc7\x18\x98\xf3\xe6\x18\xec\xcc\x55\x06\x3e\x1e\x61\xa4\x5d\x8e\x74\x31\xd2\x29\x47\x8e\x31\xb2\x57\x8a\xb4\x2d\x0b\x63\xfb\x95\x58\x1b\x63\x07\x95\x58\x07\x63\x87\x95\xd8\x1e\xc6\x8e\x2a\xb1\x7d\x8c\x75\x2b\xb1\x03\x8c\x1d\x57\x62\x45\x1d\xda\xd3\x1f\x1a\xb1\x2d\x51\xaf\xce\x0f\xe6\x16\x4c\xfd\x73\x99\x22\x5b\xd4\xff\x69\x25\x56\xf0\xaa\x5b\x8e\x05\x25\x35\x79\xb1\x8f\x8d\x75\x65\x94\xe7\x51\xb5\x89\xd4\x10\xe7\x2b\x9f\x5e\xe6\xb0\xd9\x5c\xaa\x36\x99\x82\x31\x69\x72\x72\x78\xf4\x7e\xbf\x00\x9e\x4d\xa9\x6a\x73\x2a\x17\xa7\x10\xa2\xcb\x4b\xe0\x6c\x5e\x55\x9b\x58\x81\x79\x30\xf9\xf4\xfa\xdd\x29\x02\xcb\xc9\x95\x59\x99\x5d\x39\x38\x30\xbc\x38\x79\x7d\xd6\xc9\xc0\x46\x39\xd8\x38\x03\x1b\x49\xb0\x76\x06\xe6\x66\x60\x72\xa6\xf5\xc0\xd2\x55\x51\xb3\x6c\xbc\x8e\x96\xad\x07\x54\x8f\x87\x16\xb7\xab\x37\x4c\xf1\xf1\xd4\x20\x50\xfd\x0f\x7d\x0b\x4a\x50\x7b\x35\xd0\xb1\x53\xa6\xa3\x7c\x1a\xf5\xd7\x02\x11\x78\x2c\x41\x9c\x4a\xc8\x56\x63\x8a\x27\x7b\x2a\x88\xea\x4b\x60\xfa\x4f\x93\x5f\x74\x4f\xff\xe9\xfd\x2f\xba\x67\x94\x81\xb3\x2d\xb7\x14\x8b\x05\x5a\x8d\xea\x62\x6e\x79\x0d\x62\x1b\xe6\x83\x16\xfd\xcd\x35\x7e\xf3\x1b\xab\xfc\x0a\xab\xfc\xea\xa1\x2a\x8b\x37\xa7\x7e\x6b\x8d\xe5\xf0\xf3\x70\xa5\xcb\xa7\x8b\x8b\x95\xd6\x7f\x9a\x0c\xfe\xf1\x10\xb5\xa2\x9c\xdf\x81\x60\x18\x0a\x1f\xee\x1c\xf7\x9c\xf3\xad\x1c\x20\xad\x9e\x23\xd9\x51\x6d\xb8\xa7\xff\xf4\x1f\xd0\x12\x93\xde\x56\xbd\x25\x1b\x5b\x7f\x23\x2b\x87\x5b\xb1\x12\x37\x3e\x7e\x3b\x33\xd5\x50\xff\x30\xcd\x35\x49\x2d\xa9\x9b\xfb\x09\x3e\x0a\xe3\x2d\xda\xde\x2b\x1f\xfa\x2b\x74\x9f\xda\xe1\xa6\xed\xfa\xd1\x3e\xf6\xa3\xfd\x6d\x1a\x2f\xb7\x65\xfe\x78\x4e\x6c\xd3\x74\xbf\x3b\x2f\x5e\x20\x2f\x5e\x3c\xc8\x0b\x31\xe5\xf2\x1b\xf7\xb1\x37\xd4\xec\x3a\x5c\xd1\x03\x71\x25\x33\x7d\xa0\x5e\x0f\x96\x2e\x97\x75\xaa\xcf\x73\xe7\xfb\x1f\x8f\x5f\xa3\x57\x57\xbb\xea\x84\xaf\x82\x34\x95\x25\x5e\x50\x86\x3d\x5f\x31\xdd\x6c\xdc\xba\x2f\x0e\xa3\xd9\xb9\xb9\x86\x23\x2f\xf2\xf4\x9c\xad\xae\x15\xeb\xb6\x2e\x0e\xb6\x39\xd9\x45\x63\x86\xd3\x1a\x11\xdb\x2b\xc6\x4e\x54\x6c\xbf\x18\x0b\x13\x7d\x11\x3d\x28\x46\x4f\x55\xec\xb0\x18\xfb\xab\x8a\x1d\x15\x63\x3f\xab\x58\x37\x23\xeb\x3f\x24\x59\xe3\x2c\x66\xac\xdf\x3d\xd4\x46\x72\xa5\xec\x51\x22\x02\x9c\x16\xf9\xaa\x8c\xbe\xcf\x50\xb9\x77\xc7\xe0\x21\x32\xd5\x12\xe0\xa3\xe9\x94\x19\xff\xd3\x08\x15\x6b\x04\x8d\xc7\x62\x36\x50\x79\x49\xf9\x4b\x79\xdb\xcf\x30\xe1\x2b\x73\xf5\x22\x4f\xc3\x8b\x83\x0e\x51\x14\xac\x52\x3a\xcf\x9f\xb3\xc8\x30\x65\x77\x7e\x1a\x65\x7e\x43\xa9\x78\x0a\x28\x2b\x69\x7f\xc1\x29\x13\x28\x0a\x5e\x76\x58\x77\x26\x8b\x3d\x4b\x0e\xe3\xb9\xb8\x0e\xc0\x4c\x32\xb0\x36\xe9\x05\xec\x4a\xd9\x55\xd3\x26\x0a\xff\xd3\x08\xdc\x84\x76\x83\x2f\x9d\x87\x54\x9d\xec\x51\xff\xbf\x87\x55\x2e\xae\xd7\x34\xcb\x69\x71\x60\x51\x4f\x68\xae\x68\x6c\x64\xce\x68\xd4\x89\xe9\xee\x15\xa3\x0b\xa2\xeb\x44\x17\x27\xeb\xfd\x38\x21\xe2\x72\xf2\x0d\x4d\x89\x74\xe5\x02\x41\x31\x0e\x5d\x04\x2c\xc5\xcf\x65\x18\x87\xcb\xf0\xef\xc1\x45\x24\x92\x85\xeb\x13\xbd\x2d\x0b\x0b\xe3\x98\x0a\xbf\x6d\x6d\x9d\x48\x0f\x28\xe5\x44\xe1\xa8\xe8\xa1\xe1\x4c\xff\x5f\xb6\x62\xc3\xc7\x66\x36\x14\x84\xb4\x6a\xbc\xe5\x97\xd5\x8a\x76\x76\xab\xd5\x20\x4f\x02\x6c\x6f\x73\xd7\xc7\x53\x41\x3f\xb8\x37\xea\xe9\xff\xeb\x83\x35\x14\x0b\x71\xff\xdf\x6c\xe8\x64\xcd\x37\x37\x34\x26\x6e\xd7\xd0\xbf\x59\x67\xff\x06\x55\xb8\x5b\xe3\xe5\xed\x2d\xab\xe8\xc7\xa2\x66\xdc\xab\x8e\xdd\x85\x46\x10\xc7\x5a\x37\x1a\xe2\xdb\xe8\x9a\xa2\x77\x97\x2a\x15\x25\x2d\x64\x98\x77\x0f\x68\xc8\x07\x4d\x79\xb1\x5c\xfc\xa0\x68\xdd\x23\xbf\xd5\x19\x8a\xbc\x65\xf9\x87\x0d\x7b\xe5\x65\xa8\x06\xdf\x03\x0d\x63\x56\xed\x16\x6b\x61\xea\xa4\xce\x80\xe9\x9d\xcf\xba\xef\xab\x96\xdd\xd3\xff\x37\x7d\x03\x9d\x42\x62\x61\xec\xb1\x77\xee\x11\x2f\x28\xe6\x55\x30\xe3\x09\x33\xcc\x2d\xac\x42\x29\xad\x0d\x46\x21\x94\xa4\x5b\xba\xef\x33\x73\xd3\x14\xa1\xe0\xfa\xc2\x2a\x78\x0f\x08\xef\x21\x2f\xf7\x95\xb1\xab\x77\x00\xf9\xed\xad\x5c\x07\x2c\x30\x21\xec\xf8\xb6\x17\xb6\xd5\x3b\x62\xf7\x97\x1c\x66\xbe\x36\x1f\x63\xc9\xcb\x83\x79\x4d\xfe\xb9\xa2\xf9\x2c\x60\xf3\x83\x64\x9d\xbf\xcf\x26\x0f\xa2\xe4\xf7\x7b\x9a\xb1\x75\x97\xc9\x3c\x5c\x84\x94\xa5\xd9\xe5\xc3\xfc\x70\x8d\xc0\x3f\xe1\x53\x9f\x4e\xf8\xf4\xf6\x76\xc7\x26\xfa\x9f\xe5\x39\xee\x09\x9f\xca\x81\xa2\x54\x7c\xbb\x5d\xf3\x05\x72\x6f\xa9\xfe\x44\x47\xf1\x02\x65\xcb\x59\xa4\x13\xbc\x1a\x40\xc4\x95\x80\xe9\x86\xdc\x85\x73\xbd\x9b\xfa\x63\x89\xa8\x67\xbc\xfc\xbd\xd7\xb1\xbd\x0a\xc8\xf3\x2a\x88\xed\x59\x9b\x88\x2f\xb8\xfa\x0a\xf8\xec\x6a\xd3\xfb\xa5\x92\xef\x3b\x79\x13\xe4\x2e\x9d\xa5\x17\x4a\x6b\xf7\xde\xf3\xcb\xf7\xb4\x4d\xa8\xde\xcc\x0a\xf1\x90\x69\xab\x45\x27\xe1\x74\x97\xb5\x5a\x06\xbf\xbd\xd5\xff\xac\x8b\xfe\x36\x09\xa7\xa6\x68\xa5\x49\x38\x15\x77\xc9\x18\xde\xde\x29\xb6\x11\x61\x5b\x56\x54\x1e\x06\xdd\xb8\x32\x24\xb8\x61\x50\x02\x25\x6c\x8d\xb2\x49\xac\x9b\xb1\x5a\x88\xf5\xbd\xf4\x90\x55\xef\x06\x2c\x58\x05\xe8\x7c\xc2\xdf\x41\x53\x25\x8f\x50\x67\x48\xbf\x52\x96\xd2\x4f\x05\xb8\x1d\x5c\xd2\xad\x25\x48\x2f\x05\x2c\xbc\x0c\x63\xf4\x19\x20\x01\xf3\x18\x79\x8d\x7d\xcd\x93\x83\x80\xb1\x30\xb8\xa4\x27\x48\xb3\x82\xac\xa7\x64\xef\xfb\xa7\x09\xfb\x28\xfc\x97\x28\xe0\x52\x64\x11\xee\x45\x14\xc6\x5f\xca\x50\x18\x45\xd4\x5d\x64\xca\x78\x91\xbe\x3c\xa6\x54\xe3\x8f\xe1\x9c\x26\x95\xca\x62\x9c\x74\x23\xc0\x82\xd9\x17\xca\xe9\x5c\x7a\x24\x10\x70\xe5\xd8\xad\x4f\xfa\x8a\xf3\xec\xf5\x07\xa7\xd1\x33\xa4\xaf\x4b\xaf\x01\xab\x24\xcd\x5e\x96\xbc\xca\x2e\xf2\x8b\xbc\xc5\x2b\xf3\xf8\x92\x7d\x83\x64\x14\x5c\xe3\x60\x26\x0d\x21\xb5\x80\x2b\xb7\x24\xab\x24\x15\xef\x96\x8a\xdb\x1a\x35\xcc\xf9\x31\xf5\x06\xaf\x7a\x19\x89\x7e\x81\x76\x79\x5c\xb7\x11\x5b\xe5\x40\x6c\xee\xc6\x51\x56\x9b\xe6\xb5\xe6\xb7\xb7\x79\xc5\x69\x71\xf4\x6a\xc4\x5c\x3d\xfe\x5f\xa4\x56\xbc\x73\x9f\xdd\x99\x43\x2e\xee\x96\x0e\x9f\x67\x08\xc3\x39\x8d\xb9\xd4\x25\x4a\xab\xbc\xa1\x37\xa9\x49\x27\x0f\xc2\x4c\xf8\x74\xea\x2b\x37\xf4\xaa\x1e\xcf\xea\x9c\xd9\x55\x75\xfe\x12\xae\x84\xe7\xf4\xd2\x2d\x51\xac\xc9\x59\xf2\x85\xca\x29\xb4\x1e\xc6\x9c\x5e\xe2\x73\xc0\x0c\x3d\x0a\x9b\x99\x9e\xf4\x59\x17\x9f\x0a\xcf\x9e\x10\xd4\x73\xda\x72\x70\x39\x70\x4b\xd8\x2e\x4f\x3e\xac\x56\xc5\x1b\xeb\xe1\x56\x1c\x68\xb5\x1e\x04\xe9\x5e\x05\xe9\xfb\xeb\xf8\x98\x25\x2b\xca\xf8\x8d\x11\x9a\xea\xbc\xee\xc3\xbc\x0b\xf1\x60\x3d\x9d\xa4\xd3\x56\x0b\xd5\x32\x04\xa5\x7f\x27\x64\x8b\xbc\xa5\x90\x9f\x40\x57\xd9\x41\x78\x65\xdd\xcc\x5d\xc8\xe5\xef\x58\x77\xb9\x27\xff\xcd\xb5\x93\x4c\xdc\x54\x33\x95\xdc\x50\xab\x06\xba\x94\x57\xbc\x2f\xf4\xa6\x4c\x50\xd6\x56\xf7\x16\x32\x09\xa7\x77\x19\xd1\x7a\x7a\xb3\xbc\x48\x22\x7d\x47\xb5\x60\xbd\xb8\xec\xb2\x86\x14\x0e\x2d\x61\x5a\xa1\xed\x85\xe0\xfc\x19\x31\x08\x42\x9a\x28\x56\xef\xba\x6b\xa2\xbc\x12\xdd\xaa\x7b\xc4\xdb\x75\x0f\x6c\xe7\x60\x8b\x76\x8e\xa7\xbb\x74\x12\x4c\x6f\x6f\x0d\xf8\xe3\xeb\x7f\xd6\xcd\xbb\x6c\x5d\xb4\xd0\x23\x88\xde\x91\x63\x73\x77\x76\x65\x8a\x0b\xb9\xe1\xc2\x10\xee\x76\x73\x43\xa1\x89\x33\x9c\x05\xc5\xdb\x69\x01\xcc\x88\x34\x1e\xb0\x4b\xca\xa1\x79\x94\x13\xb0\x60\xfe\x35\x88\x67\xd4\xb0\x71\x5d\x16\x10\xfb\xf7\x22\x7e\x1b\xa6\x69\x18\x5f\x96\x31\x29\x3b\xea\x5e\x9d\x24\xd4\x7e\x5d\xd5\x57\xfa\x3f\xdd\xd0\xff\xb3\x9b\x48\x54\x48\x43\x66\xbb\x89\xbe\x5f\xeb\xf6\x12\x4c\x78\x98\x40\x98\x8d\x6d\x28\x6e\x96\x6d\xea\x01\x32\xb5\xda\x01\x24\xd2\xc2\x14\x64\x73\xde\x89\x04\x9e\xee\xde\xdb\x65\x0a\x17\x10\x15\xf6\xbb\x7b\x84\x5e\x70\xa4\x2a\xf3\xcd\x6d\x40\xe9\x97\x8d\x2e\x4e\x9f\xe4\xbe\x64\x6e\x6f\x9f\xe8\x4f\xb2\xaf\x8d\xa8\x5e\x67\xe5\x6d\x1a\x0e\x67\x57\xea\xed\xed\x49\xd0\xf9\xfb\xe7\xe9\xd3\x70\x33\x61\xaf\x45\xe7\xdd\x02\x95\xd5\x19\x4f\x9f\xde\x33\xf2\xa1\xbc\x94\xfc\x37\x62\xff\xcf\x2a\x94\x0d\x82\xc2\xdf\xb8\x54\x30\x04\x59\xed\xa9\x4a\xef\x16\x0b\xcf\xbb\x07\xa1\x59\x07\x2d\xb3\x20\x9b\x85\x4a\xac\x85\xc6\x28\x62\x46\x02\x8b\xb9\xee\x76\x8b\xf8\xe4\x83\xe9\x15\x5c\x52\xe8\x6b\x78\x14\x74\x19\x87\x64\x64\x8d\x20\x39\x72\xd6\xa9\x51\xf0\x77\x8d\x72\x99\x29\x46\x0e\x6c\xdd\x24\x59\xe5\x6a\x55\x98\xbf\xd3\xcc\xaf\xfb\x34\x79\x51\x7d\x97\x0c\x2c\x28\x48\x5d\xff\x43\xa9\xb2\x3a\xe3\xcf\xd3\xf6\xd3\xcb\x4d\xa2\x55\xa8\x62\x83\xd4\x5b\xb9\x58\x28\x5f\x16\x8d\x76\x4a\xc7\x6e\xb5\xf4\x6f\x7a\xd9\xb8\x93\x76\x58\x66\x3b\xda\xc4\x36\xf7\x54\x81\x46\x03\xbd\xd6\x37\x10\xde\xa0\xb3\x10\x04\x9b\xde\x7d\xc0\xe7\xf3\xf6\xd3\x4b\xf3\x9e\x5a\xd5\xbb\xb2\x90\x6b\xb0\x97\x55\xa5\x40\x32\x9e\xe8\x4f\x84\xb7\x9d\x27\xe8\x6d\xa7\xce\x76\x81\x48\x53\x2d\x5d\x1f\x14\x0a\xd7\x01\xc1\x88\x3e\xa1\x97\x87\xdf\x56\x86\x3e\x39\x3f\x3f\x3f\xd7\xdb\xe8\x1a\x9b\xe8\x97\x2a\xdf\x46\x4b\x0f\x6f\x97\x46\x41\xca\x5f\xc7\x73\xfa\xcd\x57\xc0\x64\x87\xa1\x83\x7a\xa3\x90\xa9\xd9\xac\x90\x0b\x23\x05\xb5\x17\x85\x9c\x32\x74\x15\x01\x1a\xbe\xdd\xd0\x3c\x78\x7b\x52\x95\x54\x28\xbe\x63\x2b\x27\x6f\xb2\x9a\xc5\x34\x95\x01\x80\x04\xfb\x6e\x6f\xf5\xf3\xf3\xc2\x28\x0c\x3a\x05\xf9\x59\x4d\xc8\xa6\xf2\xb3\x2b\xdf\xe7\xe6\x46\x35\x22\x9c\x0b\xb5\x55\x3e\x52\x65\x79\xf1\x8a\x69\x9e\xad\x5d\x18\x17\xc5\xad\x77\xa3\x69\x74\xb8\x97\x55\x9b\x25\x4a\xfa\x74\xab\x4f\x17\x9e\xe8\x4f\xbc\x27\xfa\x13\xa2\x3f\xd1\x3d\xfd\x89\x4e\xa0\xca\x1e\xfc\x90\xc0\xd3\xff\xff\x3a\xb9\xf0\xf0\x1c\x39\xf5\xf4\x9f\x74\xb2\xf0\xf4\xf3\x85\x4e\x62\x4f\x3f\x8f\x75\xc2\x3c\x3c\xce\xcb\x3d\x3c\x4d\xfe\xd5\xd3\xcf\xbf\xea\xe4\x9b\x57\x2b\x63\x73\xf7\x9e\x7e\x77\xee\xa0\xbb\xec\xde\xb3\xc3\x9c\x75\x24\x4a\xec\x21\x74\x9a\xf5\xe3\x4a\xe8\x3f\xba\x04\x54\xba\x3b\xaa\xa9\xd5\x82\x4a\xd5\x3e\x50\x52\x71\x9f\x99\x2c\x5c\x1d\x64\x5e\xc5\x67\x57\xc2\x04\xe2\x3e\x9d\xc8\x88\xe9\xa6\xd1\xa8\xe1\xae\x24\x6f\xb5\x0c\xee\xf3\xdc\xfb\x88\x69\x12\xbe\xb9\xc9\x9b\x56\x52\x84\xe7\xae\xcb\x28\xb9\x08\xa2\x06\xba\x41\x9b\xb2\x38\x88\xc4\xfc\xd9\xd3\x4e\x57\x41\xac\xad\x04\x9e\x54\x5b\xae\x53\xae\x5d\x50\x4d\x64\xd7\xc1\xea\xaf\x77\x79\x55\xc1\x7a\xbf\x17\x9b\x8e\xb7\xb7\xb4\xd8\x1b\x27\xd6\x54\x6a\x91\x9d\x0c\xc5\x7d\xc3\x07\x5a\x0a\xda\x22\x61\x62\x32\xbf\x5b\x9d\xa2\x17\x91\xdb\xd5\x9e\x47\xa0\xb8\x46\x86\x49\x98\xfa\x2a\x12\x28\xff\xcc\x49\xff\xd5\x7d\x63\xc4\xa6\x29\x7b\x66\xff\x56\x1b\xe2\xe9\x79\x2a\x5d\x03\x65\xa2\x24\xaf\x73\x3f\x3d\x4f\xdb\x4f\x2f\x97\xbb\x7c\x13\x7f\x59\x91\x10\x34\x11\x04\xbb\x99\xa9\xbc\x3f\xe1\xda\x42\x9e\xdd\xdc\xb2\x06\x84\xb6\x5a\x1d\x3b\x1b\x38\xbb\x21\x64\x7e\xbf\x30\x1a\xb5\x76\xd6\x28\x49\x4c\xb5\x64\x01\x0d\xd2\xd6\x89\xb6\x48\xd6\xf1\xbc\x28\xf3\x77\x05\xbe\x14\x8c\x67\xff\x7b\x73\x7c\x69\x26\xe5\x7f\xc7\x0b\x02\x9e\x5a\x16\x3e\x38\x3b\x39\xf2\xe4\xda\xf0\xc1\xfb\x77\x67\x27\xef\xb3\xcf\xfd\xa3\x33\xe1\x49\x86\xbc\x3d\x3c\xdb\x97\x6e\x64\x36\x14\xa1\x26\xa4\xfe\xf7\xc3\xd3\x83\xfd\xe3\x43\xcf\x19\x91\xc3\xd3\x03\xf8\xf3\xca\xf6\x6c\xdb\x21\xaf\x1c\xcf\xb6\x7b\xe4\x55\xcf\xb3\xed\x3e\x79\xd5\xf7\x6c\x7b\x40\x5e\x0d\x3c\xdb\x1e\x92\x57\x43\xcf\xb6\x47\xe4\xd5\xc8\xb3\x6d\x97\xbc\x72\x3d\xdb\x1e\x93\x57\x63\xcf\x76\x2c\xf2\xca\xb6\x3c\xdb\xb1\xc9\x2b\xdb\xf6\x6c\xc7\x21\xaf\x6c\xc7\xb3\x9d\x1e\x79\xff\xee\xd0\xeb\x8f\xc9\xd9\xa7\xf7\xde\xc0\x22\x67\xbf\x9c\x1c\x1e\x7a\x03\x9b\xbc\x7a\xff\xe1\xc4\x1b\x38\xe4\xd5\xeb\x8f\x87\xde\xa0\x47\x4e\x5f\xff\xd5\x1b\xf4\xc9\xe9\xe1\xc7\xc3\x77\xde\x60\x40\x0e\x5f\xff\xfc\xcb\x99\x37\x18\x92\x77\xaf\xdf\x1d\x7a\x83\x11\xf9\xdb\xe1\xc9\x7b\xaf\xef\x92\x17\xfb\x07\x6f\x4e\x8f\xf7\x0f\x0e\x3d\x97\xbc\x78\x73\x7a\x0c\x7f\x4e\x3d\x97\x9c\xed\xbf\xf0\xc6\xe4\x2f\x9e\x6b\x93\x4f\x9e\x3b\x22\x87\xde\x70\x4c\x4e\x3c\xd7\x21\x67\x9e\xdb\x27\xff\xea\xb9\x63\xf2\xc1\x73\x07\xe4\xb5\x37\xea\x91\xf7\xde\x68\x4c\x8e\x3d\xd7\x22\x07\xfb\xc7\xa7\x9f\x8f\xde\x1f\xbc\xf1\x1c\xf1\x51\x0c\xc3\xdf\x7d\x6f\x38\x20\xa7\x9e\xdb\x23\x2f\xbd\xa1\x4b\x5e\x79\x23\x8b\xfc\xec\x8d\x6c\xf2\x8b\x37\x72\xc8\x7f\xf1\x46\x7d\xf2\xc6\x1b\x0d\xc8\x91\x37\x1a\x12\xbc\xef\xe1\xd9\x3d\x08\xc0\x9f\x93\xc3\xb3\x0f\x27\xef\x64\x08\xfe\xfc\xcd\x1b\x5b\xe4\xaf\x9e\xeb\x92\x03\x6f\x38\x22\x1f\x3d\x77\x48\x5e\x78\xc3\x21\x79\xe7\x8d\x5c\xf2\xd6\x1b\x8d\x88\xa8\x5d\xcf\x21\xa7\xc7\xf0\x7b\x7c\xf2\xfa\xdd\xd9\xe7\xd3\x83\x93\xc3\xc3\x77\x5e\x1f\xbe\xcf\x4e\x0f\x20\x70\x7a\x70\xf2\xfe\xe8\x48\xd0\x6e\xf7\x07\x04\xef\x19\x60\x08\xaf\x16\x78\xf6\x98\xbc\x38\xc1\x3f\xe2\x4e\x81\xd7\x1f\x40\x08\xfe\xfc\xf2\xfe\xed\xa1\xd7\x1b\x92\xe3\xfd\x9f\x0f\x3f\x7f\x38\xf6\x7a\x3d\x72\xfc\xb3\xf8\xfb\xf2\xf0\xe8\xf0\xec\xd0\xeb\x0f\x21\x04\x7f\x0e\xdf\xbd\xf4\x7a\x03\x01\xfa\xf2\xfd\xa7\x77\x5e\xaf\x4f\xc4\x71\x7f\x19\xc2\xbf\x90\xd9\x25\x18\xdb\xb7\x08\x1e\xcb\xf7\x7a\x63\x72\x74\xf8\xea\xcc\xeb\x8d\x88\x3c\x5f\xef\xd9\xfd\x3e\x79\x73\x6c\x79\xe3\x21\x79\x73\x6c\x7b\xe3\x11\x79\x73\xec\x78\x63\x97\xbc\x39\xee\x79\xe3\x31\x79\x73\xdc\xf7\x6c\xcb\x22\x6f\x8e\x07\x9e\x6d\xd9\xe4\xcd\xf1\xd0\xb3\x2d\x87\xbc\x39\x1e\x79\xb6\xd5\x23\x6f\x8e\x5d\xcf\xb6\x00\xc7\xd8\xb3\xad\x01\x79\x73\xfc\xf9\xf8\xe8\xc3\xa9\x67\x5b\x80\xe9\xf3\xfe\xcb\x97\x2a\xf8\xf6\xf5\x3b\x8c\x07\x9c\x9f\x4f\x3f\xbc\x38\x3b\xd9\x3f\x38\xcb\xbe\xcf\xf6\x4f\x3c\xdb\x1a\x22\xe0\x87\xa3\xb3\xd7\xc7\x47\xff\xaa\xbe\x5f\xbe\xfe\xf8\xfa\xe5\xa1\x67\xdb\x36\x7e\x1d\x1e\xbc\x7e\xbb\x7f\xe4\xd9\xb6\x85\x85\x1d\x9e\xbc\x7e\xff\x12\xbf\xde\xed\x7f\x7c\xfd\xf3\xfe\xd9\xe1\x67\x90\x48\xcf\x86\x26\x54\x31\xaf\xde\x9f\x7c\xda\x3f\x79\xe9\xd9\xc3\x11\x11\x07\xca\x3d\x1b\x44\xe7\xc3\xd1\x91\x6a\x48\xdb\xed\x91\x4f\xaf\xdf\xbd\x7c\xff\xe9\xf3\xfb\x8f\x87\x27\x1f\x5f\x1f\x7e\xf2\x6c\xd7\x21\x2f\x90\x75\xef\x0e\x4f\x4f\xa1\x5d\x1c\x7b\x58\x8c\x41\xf6\x3a\xf6\x68\x43\xe7\x96\x93\xf2\xcc\xe9\xeb\xbd\xd7\xa4\x95\xe3\xd7\xfb\x2f\x4b\xdf\xb3\xfb\x8a\xf7\xa5\x8b\x27\x6e\xbd\xc6\x27\xa4\x1e\x71\x26\xf7\x8e\x94\x4f\x9d\x3e\x84\x70\x8b\xe3\x8d\x0a\xe5\x59\x72\x96\xdc\x4b\xe0\xc3\x47\x9c\x73\x54\x2f\x12\xce\x93\xe5\x6f\xc5\x26\x36\xf6\xe5\xd1\x89\xd9\x97\x66\x74\x8f\x39\xf1\x58\x7b\x90\x85\x94\x1f\xfc\x03\xa1\x61\x74\x41\x19\x8d\x67\xf4\x6d\x10\x07\xa5\xf9\x23\x8c\xcd\xf5\xf4\x82\xc7\xb7\xea\xbb\x72\x44\x7f\x2a\x1e\xb5\x5a\xb1\x64\x11\x46\x34\x7d\x8a\x86\x89\x18\xc9\x1b\x8a\x52\xd9\xf3\x84\x74\xf7\xfd\xc5\xbf\xd1\x19\x6e\x1e\xa7\x06\x37\xeb\xdb\x7b\xca\x1a\xc1\xf5\x3e\x9a\xe7\x34\x28\xe1\x13\x8a\x4f\xbb\xd6\xf6\x59\x9b\xea\xc0\xe9\x65\xc2\x42\xaa\x86\xde\x7b\x20\x32\x06\xfb\xba\x0a\xe9\x0f\x65\xd9\x5f\xad\x68\xc0\xd0\x8e\xd2\xf3\xf0\x83\xd9\x0e\x92\xd5\x8d\xd8\x6a\xd2\xb3\xe0\x83\x99\x4e\xc1\xc8\x48\x7d\x5d\xfc\x7d\x18\x1c\xe5\x0b\x5d\x5e\x67\xc1\x07\x33\xe5\x6e\xb2\x55\xe8\xc1\x2c\x6f\xc3\x74\x46\xa3\x28\x88\x69\xb2\x4e\x7d\xbd\xf4\x79\x6f\xe6\x9b\x97\xd9\x52\x6e\xea\x4f\xbe\x87\x73\x6f\x6b\x66\x13\x4e\xbf\x71\xaf\xc0\x71\xcd\x58\x24\x31\x4f\x89\x36\x4b\xa2\x84\xa5\x44\x13\xcf\xad\x99\xfa\x1d\xd9\x02\x71\xd6\x06\x12\x2f\x7c\x6b\x2d\x4d\x34\xcb\x56\x18\x14\xb7\x24\x82\x8c\x79\x5b\x65\x56\xd2\x26\x33\x67\xc2\xb7\x55\xe6\xac\x6d\x65\xee\xbc\xad\xb7\xcb\x8e\xc2\xa4\xf2\x0a\xc9\xda\x2a\x63\xa9\x9d\x65\x7e\x88\xeb\xea\x77\xd3\xc6\x56\xaf\xeb\x00\xff\x3b\xd8\xae\x9d\x4b\xd6\x59\x26\x73\xaa\x7b\x93\x6d\xf9\x84\x9e\xdc\x26\xf8\x2b\x5d\xd9\xe7\x4e\x44\x49\xee\xd8\x93\x14\x1c\x86\x4e\x89\x2e\x8e\x46\x69\x41\xac\xed\x47\xfc\x67\xa6\xcd\x29\xa7\xd2\x41\x4a\x30\xfb\xf2\xeb\xa7\x2b\xba\x66\x61\xca\xc3\x59\xf7\x3c\x3e\x8f\x9f\x00\xfa\x27\x9e\xb6\xbf\xe6\x89\x80\xd4\x2e\x82\x14\x2d\x7f\x2d\x0e\xbe\x86\x97\x01\x4f\x58\x37\x92\x0f\xe0\x78\xe7\xb1\x86\xff\x9e\xd0\xb8\xb3\x4e\x9f\x68\xfe\x73\xed\x09\x90\xf6\x84\x68\xb8\xf6\x01\xdf\x19\x35\x4f\x00\x3d\x24\x7a\xda\xcb\x30\x0d\x2e\x22\xaa\x05\xf1\x8d\x24\x8b\xd1\x08\x17\x3a\x96\xeb\xf8\x12\xe6\xed\xe7\xf1\x13\x55\x39\x20\x27\x4d\xd7\x4b\xaa\x1d\x70\x16\xb5\xf7\x23\xae\x2d\x69\x10\xa7\x22\x27\x40\xaa\xba\xe7\x90\x10\xa3\x35\x40\xe6\xc4\x64\xa0\x18\xd5\x00\x0b\xcc\x83\x86\xca\x1c\xfd\x74\xc2\xb4\x03\x53\x8d\x3c\xe6\x11\x8d\xb7\x63\x13\xfd\x22\x49\x22\x9d\xe8\xaf\x17\x5a\x4a\x39\xd1\xd6\xf1\x3c\xa1\xa9\xc6\xaf\xa8\x26\xbc\xee\x6a\xef\x4f\xa1\xf4\x4e\x76\x9d\xa6\xf3\xfc\xe5\xe1\x91\xc6\xe8\x32\x58\x11\x2d\x4d\x34\x7e\x15\x70\xad\x44\x93\x06\xf3\x36\x3a\xd7\xc2\xb4\x1c\xdf\x55\xd4\x4b\x9a\x7f\x8c\xd2\x53\xca\xb5\xeb\x2b\xca\xaf\x28\x43\x32\x83\x88\xab\xdd\x8d\x54\x0b\x52\x2d\xd0\x00\x37\x46\x25\x4c\x44\xcc\x41\x96\xe2\x19\x57\xb0\x19\x21\x29\x8d\xe7\x69\xe7\xfa\x2a\xe0\x8f\xa0\x25\x7b\x72\x60\x92\x85\xa4\xd7\x4a\x52\xf2\xbc\x3a\x25\xfa\x81\xf0\x7d\x95\x6a\x57\x38\x79\xcd\x89\x0d\x53\x4d\xf8\x9b\x9f\xa3\x84\x6b\x72\xad\xa6\x2b\xfe\x69\xa7\x34\x9e\x43\xef\x38\x3c\x3d\xd0\x56\x8c\x2e\xc2\x6f\x5d\x00\xc2\x52\xba\x0a\x68\x7f\x3e\xd7\x6c\xc7\xd5\x78\x82\xa8\xd7\x31\x4e\x52\xe9\x5c\xcb\x9c\xf6\x43\xed\xc3\x58\xfb\x86\x67\x24\x00\x41\x81\xbc\x6e\x57\xfb\x14\x84\x1c\xfd\x4a\x42\x76\xf5\xc2\x86\x86\xbe\x56\xb5\x20\x9e\x6b\x29\xa5\x1a\xf0\x06\xd3\x65\x56\x4d\xf5\xae\xfc\x5f\x1a\xdc\xa4\x5d\x4d\x33\xce\xae\xc2\x54\xbb\x4e\xe2\x27\x5c\xbb\x4e\xd8\x17\xed\x9a\x46\x11\x74\xd1\x55\x14\xf0\x45\xc2\x96\x29\x34\x1b\xa3\x88\xad\x8e\x45\xe1\x5f\x51\x26\x80\x71\x7f\x11\xd4\x94\xdc\xb7\x42\x4a\xd3\x64\x29\x98\xa8\x1c\xe7\xa5\x5d\x13\x1b\x73\x3d\x0f\x2f\x22\xda\xb9\xa0\x51\xd4\x49\x41\x77\x3e\xdc\xa0\x52\xdf\x82\x79\xd6\x51\xaf\x85\x7a\xc2\x98\x02\x74\xc9\x53\x40\xa6\x13\x7d\x8d\x27\xc1\x3e\x9c\x1c\x69\xc9\x02\x89\x57\xc7\xe8\x34\x00\xd0\xb0\xb4\xae\xa6\x1d\x2e\x57\xfc\x46\xad\x89\x02\xad\x71\xa2\x49\xb2\x10\x10\x85\x4e\xbe\x10\xda\x89\x0b\x6f\x7f\x22\xd1\x5b\x93\x9b\xf7\x84\x27\xaf\x17\x1a\x67\x6b\x4a\xca\x04\xa5\xc2\xbf\x1c\xd5\xf2\x17\xbd\xb4\xeb\x30\x8a\x34\xf1\x38\x84\x16\x68\x9f\xe8\x45\xe9\xf1\xd1\xae\x76\xc5\xf9\x2a\xf5\x9e\x3e\xbd\xbe\xbe\xee\x5e\xf7\xba\x09\xbb\x7c\x7a\x76\xf2\xb4\x48\x64\xfa\x14\xe4\xf4\xa5\x78\xd7\x06\x6a\x58\x4a\xd4\x18\xfd\xf7\x75\xc8\x68\x0a\xcd\xb7\x0c\xd3\x14\xdb\x8b\x25\x4b\x21\x99\x30\x45\xd2\x3e\x5d\x51\xb1\x52\xa6\x89\xb7\x99\xa0\x0f\xa4\x94\xa3\xf8\x62\x2d\x90\xf5\x82\xd4\x80\x73\xba\x5c\x61\x5a\x90\x7e\xc9\x90\x20\x5b\x0b\x25\x84\x0b\x2d\xa6\x33\x9a\xa6\x01\xbb\xe9\x42\x95\x32\x31\x4d\xb5\x65\x70\x23\x5e\xa5\xba\x92\xeb\x46\xc5\x8c\x40\x2e\x4d\x39\x20\x08\xb9\x36\x0f\xe7\x08\x2a\x0e\x54\x01\x8f\x90\xf4\x40\x94\x29\xa4\x0f\xbb\xa9\xd4\x88\xf4\x1b\xa7\x71\x8a\xf5\xbe\x0e\xf9\x15\x92\xa7\x97\xf8\xa1\x17\x0b\xbb\x0a\xbe\xd2\xe2\x37\x4f\x34\xf9\x3e\x50\x99\x89\xdd\x27\x53\xa2\xe7\x8d\xd6\x41\xfb\xe9\x61\xb9\x28\x98\x62\x3a\xbb\xbc\x30\xec\x21\xd1\xc4\x7f\x26\x0c\xc6\x88\x84\xe8\x67\x65\x81\xc0\x68\xd1\xf7\xe9\x37\x2e\xaa\x11\x27\x5a\x82\x5a\x55\x24\x06\xea\xf1\xa1\x14\x25\xb7\x40\x18\x1a\x74\x8f\x23\x4c\x27\xd9\x66\xa3\x7e\x70\x7a\xaa\x89\x1d\x73\xd9\x9f\x0a\x74\x21\xea\x0d\x9d\x49\xa4\x41\x3b\xbc\x4a\x98\x46\xbf\x05\xcb\x55\x24\x46\xfb\x35\x8b\x0c\x25\xc2\x97\x49\xd2\xbd\x8c\x9e\x06\x31\x9d\x9f\xbd\x31\x21\x35\x0a\x63\x1a\xb0\xce\x25\x0b\xe6\x21\x8d\xb9\xc1\x93\x95\x76\x81\x93\x47\xa2\x5d\x44\x20\x79\x8c\xce\xcd\x4a\x1d\xd3\xf0\xef\x7f\x64\x15\x35\xc0\xdf\xd5\x34\xe9\xd3\x3a\x05\xa1\x00\x33\xa4\xca\x6a\xf5\x40\xd7\x1f\x49\x8a\x2a\xa3\x91\xb5\xb6\xf5\x27\xf8\x0f\x82\x33\x1a\x73\xca\x14\x81\xc2\x16\x10\x03\xe8\x6f\xb7\x3d\xa4\x1e\x93\xe4\x09\x2b\x22\xbd\x4a\xd6\x11\x8c\x42\xf1\x5c\x7b\x71\xaa\x19\x4f\xce\xcf\xbf\x59\xee\x13\xa2\x05\x5f\x02\xed\xd7\x5f\xcc\xae\xa6\xbd\x07\x79\xbd\x0e\x53\x5a\xc9\x0a\x43\x6c\x31\x3b\x64\x1d\x2d\x9e\x20\x77\xb3\xd1\xb1\xb3\x0c\x56\x9d\xe4\x2b\x65\x2c\x9c\xd3\xf4\x51\x1c\x16\xf6\x2e\xb2\x55\x27\x4f\x70\xe0\x03\x6d\xb6\xa2\xb3\x70\x11\xd2\x39\x5a\x1d\xb1\x96\x88\x79\xb5\xf6\x9a\xa3\x29\xa4\xa5\xb8\x31\xa2\x05\x8c\x05\x37\x44\x0e\x86\x34\x98\x5d\x69\x2b\xb9\xab\x03\x60\x50\x91\x7c\x00\x07\x05\x39\x4b\xe6\x14\xc7\x63\x48\x92\x47\x4d\x0a\xf8\x85\x01\x56\x2b\x40\x0b\x79\x4a\xa3\x45\x57\x7b\x1d\x0b\x88\x72\xe9\x8d\xe5\x32\x3a\xa3\xe1\xd7\xb2\x05\x51\x2d\x17\x3e\xa4\xfa\x2a\x02\x36\x0a\xcf\x77\xdd\xd2\xbd\xef\x7a\x1b\xb7\xf4\xd6\x8e\x3d\x76\x74\xa2\x93\xec\xcb\xd2\x89\xde\xc9\xbe\x6c\x9d\xe8\xdd\xec\xab\xa7\x13\x0d\x72\xe3\xe7\xc0\x75\xf5\xbb\x3b\x50\x8f\x78\xf3\xa5\x93\xc4\x1d\xfa\x2d\xdc\xc2\x66\x2b\xcf\x8c\x76\xac\x4c\xe4\x3e\x49\x03\x12\x35\x0b\x8e\x33\x88\x19\x6b\x27\x2e\xc1\x40\xfb\x88\x71\x74\x26\xde\x37\xd7\xa0\x48\xa1\x0b\xc5\xe1\xd7\xce\x45\x14\xc6\x5f\x1e\x25\x37\x05\xa1\xaf\x53\x80\xe8\x44\x89\x88\x5f\xbb\xb8\x51\x26\x50\xad\xd4\xce\xec\x66\x16\x3d\x4e\x41\x4d\x6c\xda\x23\x03\xcb\x9a\x66\x82\x8b\x83\x82\x2a\x0b\x0b\x67\x30\xf8\x85\xb1\xb6\x0c\xa3\x28\x4c\xe9\x2c\x89\xe7\x29\xb6\xec\xbe\xc6\xaf\x13\x8d\x8a\x37\x8b\x94\x0c\x01\xa9\x8b\x90\xa5\x1c\x54\x0b\x3e\xd5\x83\x76\x6d\x72\xad\x45\x49\x7c\x59\xac\x89\xec\x8b\x17\x54\x4b\x62\xa2\x09\xc4\x25\xd8\x90\x17\x61\x16\x8b\x62\x85\x7f\x6c\x1c\x0c\x0c\x67\x30\x20\x9a\x25\xfe\xdf\x1d\x54\x07\x43\x31\xc8\x49\x9d\x28\x9f\x70\x94\xe4\x8a\xc2\x21\xbd\xb3\x0a\x22\xca\x39\xfd\x3d\xd4\x84\xfe\x5e\xe2\x90\x0b\x23\xca\x4c\x53\x56\xae\x2c\x0a\xd9\x8d\x1a\x65\x16\xc4\xc0\x8d\xaa\x56\x11\xbd\x1b\x06\xe8\x5c\xc3\x68\x30\x7d\x6b\xd4\x3e\xc0\x59\xd0\x0d\x38\xad\x9c\xa3\x98\xd1\x6d\x55\x51\xa0\xc5\xeb\x25\x65\xe1\x0c\x27\x74\xdf\xb4\x30\x96\x53\x0d\xc1\xbb\x22\xc1\x1f\xa1\x8e\x1b\x48\x8e\x96\x49\xca\x71\x56\x3d\x4b\x53\x99\x57\x9c\x92\xd5\x34\xa1\x3a\xe3\x59\xb4\x9e\xd3\x54\xfb\xa7\x93\x9f\x5f\x10\xed\x9f\x4e\x4e\x7e\xfe\xf9\xc5\x0b\xa2\x81\x35\xd3\xed\x76\x4d\x0c\x05\x32\x18\xe0\xcc\xe8\x46\xe2\x89\x83\x25\xce\x56\x61\x0a\xca\x60\x66\x90\x26\xda\x2a\x60\x5c\x35\x6c\xca\x93\xd9\x17\xed\xaf\xb6\x0d\x28\xba\xfc\x1b\xd7\x16\x61\x24\x48\xfe\xd7\x64\x8d\xf4\xae\x53\xaa\x89\x15\x06\xe0\x8e\x20\xfd\x46\xa0\x2c\x36\x8f\x50\x80\xb9\x90\x42\xa7\xbd\x10\x6f\xa0\x5e\xd2\x79\x56\x95\x14\xf0\x2d\xd6\x91\x98\xad\x7c\x09\x57\x2b\xb0\x60\x02\x2d\x5d\x06\x51\x04\xfc\xbc\xa0\x28\x75\x61\x3c\x0f\x67\x34\xcd\xb5\x4c\xa6\x60\x1b\xdb\x5b\x8a\xe4\xea\x06\x74\x5f\x8a\xab\x27\x0f\x4b\x62\xbe\x96\x56\xd0\x7c\xfb\x6b\x9e\x2c\x03\x1e\xce\x82\x28\x02\x2e\xae\x6e\xb4\x65\x02\x3c\x48\xd5\x75\x35\x35\xa1\x9c\xa9\x9b\xaf\x58\xf8\x3a\xa5\x1d\xc9\x8b\x8e\xd0\x90\x1d\xc8\xfc\x28\x2a\xea\xda\x8f\x27\xc8\xff\x22\xa3\xa5\xfa\x45\xca\x2e\xe8\x55\xf0\x35\x4c\xd0\xe8\xc0\x95\xfa\x4e\x46\x65\x07\x8f\x9c\x3e\x9e\x86\xfa\x18\x80\xca\x9f\x06\x62\x1a\x9c\x73\x41\x1c\x69\x05\xfc\x61\x7c\x29\xf8\xcf\x59\xd4\x59\x45\xeb\xb4\xb3\x0c\xe3\x75\xda\xf9\x3b\x65\x49\xe7\xef\x49\xb2\x7c\x8c\xd9\x63\xd5\xcd\x9e\x03\xc0\x7b\x1c\xad\xd3\xa7\x78\xd9\xed\xe9\xdf\x28\x4b\xb4\x99\x5a\x3a\x80\x02\xba\xe7\xf1\xeb\x85\xb6\x08\xa2\x54\x81\xa3\x03\xe6\xfb\x33\x49\x48\x4c\x46\x33\x28\xd5\x7e\xfd\x5c\x2c\x0d\xb3\xcc\xc1\xf0\xe4\x57\xa5\x3a\xce\xb6\x64\x6b\x93\x31\x87\xcb\x61\x07\xc0\xb7\x90\xa6\x30\xc1\x12\x75\x44\x33\xec\xd7\x03\x60\xf6\x55\x22\x66\x5e\x58\x9d\xee\x39\x5e\x04\x6e\x63\x7d\xda\x07\x8a\xce\x12\xa0\xc0\x90\x63\x14\x19\x33\x6a\xbf\x76\xf0\x2e\xef\x6f\x20\xf7\xa3\x86\x18\x6a\xe4\x7e\x7c\x80\xdc\x8f\x8a\xdc\x8f\x75\x72\x73\x8c\x39\xb9\x34\x48\x79\x27\x48\xc3\x20\xee\x04\xcb\x8b\xf0\x72\x9d\xac\xd3\x4e\x90\x76\xf8\x75\xd2\x11\x2f\xeb\xfe\xf6\x25\xb1\xc3\x20\xe5\xda\x3e\x94\xa1\xed\xab\x32\x72\x33\x2d\x15\xb3\x51\x18\xcc\x45\x81\x1a\xde\x0b\x16\xd4\xc5\xc1\x45\x44\x3b\xb8\xc8\xd4\xc9\x1e\x51\xfa\x11\x7a\xce\xd8\x9a\x02\x47\x04\x46\xb1\x6c\xa5\x64\xb3\x40\x0b\x11\xac\x01\xc8\xf0\x32\x4e\xc4\xd2\xd0\x12\x95\xf3\x27\xfa\x24\x8a\x34\x46\x41\x19\x0a\x3d\x0c\x3c\xba\xb8\xe1\x54\xfb\x4a\x99\x98\x7b\x0b\x15\x2f\xde\x5a\xa8\x60\xd6\x18\xbd\x0c\xd8\x3c\xa2\xa9\x04\x13\x6b\x0d\x5c\x49\xb9\xac\xea\x45\x12\x6d\xb1\x4e\x54\x1b\xd0\x39\x0b\x53\x1e\x70\xaa\x6a\x1a\x2e\xb4\xeb\x6c\x68\x00\x75\x06\x78\xb5\x6b\xbc\x3f\xad\x2d\x92\x98\x57\x26\xda\x38\x57\x49\xa2\xf9\xd3\x0b\xb1\xcc\x9b\xcd\xb4\xbb\x9a\xf6\x4a\x71\x44\xa9\x45\xe1\x55\xbf\x88\xad\xab\x69\xef\xd6\x51\x84\x8b\x23\xd9\x8a\x78\xb5\x5a\x20\x56\x02\xfd\xe3\x0c\x54\xab\xdc\x88\xf5\xaa\x09\x92\xa5\x09\x63\xb8\x1d\x7b\xa0\x81\xb2\xd4\xec\x61\xd9\x2c\x30\xb1\xd2\x30\x52\xd7\x2b\xde\x50\xe3\x44\xcd\xe4\x4a\x15\x79\xbc\x81\x7d\x1f\xfd\x45\x71\x12\xf6\x6e\x23\xe7\xa5\x2c\x86\xc0\xe8\x02\x31\xd9\x70\x88\x8b\x77\xdb\xcc\x75\x1b\x47\x9d\x53\xb0\x79\x03\x4d\xbe\x8e\xae\x8c\xc0\x6c\x05\x2f\xb3\x07\x50\x9b\x5c\xb3\x10\x94\x48\xe3\x80\x5c\x23\x0b\x81\x7f\xd4\x2a\x88\x22\xb9\x42\x8d\xe5\xf2\x44\x14\xad\x89\xa7\xbf\xa3\x1b\x45\x42\x7a\x93\x72\xba\x6c\xa6\x64\x4e\x67\xb6\xf3\xe8\x39\x59\xae\x35\x4e\x0a\xcd\x03\x54\x3c\x49\x8b\xeb\x80\xc2\xd0\x2a\x4d\x8f\xb0\x09\xa1\x27\xae\xc1\xea\x02\x3b\xeb\xe5\xe1\x81\x76\xcc\xc2\xaf\x30\x8d\x79\x0b\xd3\x66\xdb\x01\x0a\x69\xfc\x35\x64\x49\x0c\x73\x97\x47\x92\xf7\xfd\xec\xf0\xe4\xad\xa7\xe3\x0a\x7a\xc7\x19\x0c\xc5\x0c\xe2\xae\x3c\x85\x52\x96\x4b\xa1\x18\xed\x6b\xc0\x42\xe0\x4a\x4a\xca\x8b\x01\xc0\x2f\xe8\xc4\x9d\x45\xb0\x0c\xa3\x2d\xc6\xd8\x82\x70\x3f\xd1\x5f\xd2\x7f\x0b\x3e\xae\xb5\xd3\x20\x4e\xb5\xb7\x49\x9c\xc0\x24\xf9\x10\x14\x62\x12\xab\xef\x57\x8c\x52\x08\x12\x4d\x7f\x4b\xe3\x08\x41\xce\xa4\x74\xe9\x44\x5b\x26\x71\x82\x6b\x24\x4f\x0a\x6b\x44\x72\x15\x4a\xea\x2a\x24\x2c\xdb\x17\xc8\x24\x13\xba\x71\x4e\xfe\xa3\xd7\xc7\xec\x01\xd1\xc3\x98\x57\x58\x86\x25\x02\x2e\xe8\x08\xab\xf0\x1b\x8d\xd2\x42\x19\xcb\x44\x58\x26\x8f\x9b\xfc\x05\x31\x0f\x83\x28\x0c\x52\x3a\xaf\x2e\x84\x95\xd1\x66\x93\x1d\x59\xa4\x7a\x2e\xfe\x47\x57\x5e\x9d\xbe\x45\x34\xf5\x53\x9d\x6f\xe6\xe8\x7f\x60\xf1\xf5\x2a\x59\xd2\xce\x17\x7a\x93\x76\xc4\xc9\x96\xdf\xb8\xce\x06\xe8\x9e\xd2\x6c\x5f\x40\x0e\x9f\xa5\xd6\xce\xbc\x89\x88\x9d\x20\x30\x77\x2a\xd9\xd0\x44\x82\x3c\x1f\xcf\xb4\x2f\xf4\x66\x86\xd7\xf8\x70\x26\x2a\x47\x75\xd0\x64\x59\x16\x61\x28\x7d\x3c\xc3\xd5\xac\xb4\x09\xa9\x28\x11\xeb\xfb\x85\xde\xa8\xe7\x84\x1e\xb9\x13\x9d\xad\xc9\xed\x6b\xcb\x60\x05\x63\x3f\x2e\x05\xca\xcd\x22\xd0\x23\xf9\x45\x28\xa0\xf6\x4d\x21\x35\x9b\x88\x6a\x60\xd8\xc3\x0c\x7b\x09\xe3\x80\x3a\x0f\x0a\x39\x53\x6d\x91\x80\xa6\xa4\x73\xed\xe2\x46\x13\x9b\x8c\x50\x21\x89\x49\xd4\x4d\x4e\x82\xe7\x74\x16\xc2\xc8\x9d\x30\xed\x8a\x7e\x0b\xd4\xa7\x98\x02\xa6\x04\x67\xf0\x62\x2f\x30\x3b\x3c\x26\xd1\x48\xf2\x1a\x66\xd3\x6a\x45\x1c\x26\xaa\xc8\xfe\x24\xd3\x96\x44\x2e\x09\xc8\xcd\xb2\x12\xd2\x57\x58\xd6\x02\x8c\x06\xfa\x6d\x15\x05\x31\x6e\x38\xa8\x39\xf2\x02\x2c\x0c\x4e\x70\xbb\xaf\xb2\x8a\x7e\xf4\xe9\x24\x9e\x8b\xb5\xbd\x53\x5c\xd6\xd3\x8a\x4d\x73\x1e\x7f\x3f\x8f\x35\x0d\x6d\xe8\xce\x7e\xc4\x3b\x6f\x74\x4f\xd3\x2b\x27\xaa\x74\x92\xc3\x88\x49\xcb\x11\x40\xe1\xd3\xe5\x85\xa4\x5f\x20\xf2\xfc\xc9\x2f\x87\x47\x47\xef\xcf\xcf\xe3\xf3\x27\xfa\x79\x8c\x2b\x7e\xcb\xe0\x5b\x47\xd4\xba\xa3\x1a\xea\x61\xe9\xcf\xce\x80\xd8\x34\x53\x3b\x6f\x83\x6f\x9a\x38\xeb\x0d\x15\x0f\xb4\x97\x07\xa7\x44\x7b\x7f\x7a\x40\xb4\xe3\xb7\xc8\xbc\xfd\xe3\xd3\x5c\x52\x2e\x28\x74\x58\x30\x1e\x2e\xc3\xaf\x54\x5b\xaf\x50\x64\x73\x33\x55\x34\x3b\xf4\x4d\x7c\xa6\x45\x74\xce\x80\xd1\xce\x02\x42\xbf\xb1\x7f\xce\x92\xf8\x2b\x65\x5c\x43\xd4\x42\xee\x44\x4b\x87\x4c\x7b\x05\x22\x43\xff\x7d\x1d\x7e\x0d\x22\x0a\xc6\x60\x3e\x31\x8c\x68\x79\xab\x56\xec\x30\xab\xdd\xdd\x54\x52\xcb\x03\xb9\x6a\x2f\x37\xaf\x7f\x68\xee\x5a\xdd\x84\xcf\xb6\xdc\x45\x3f\x0f\xb4\x88\x06\x73\xbc\xfb\x83\x85\xc8\x55\x4e\x41\x41\xb2\x4e\x69\x47\x9c\x79\x98\x45\xe1\xec\xcb\xb6\xd3\xb7\x26\xc3\xe5\x09\x46\x80\x05\x2a\xec\x52\xb1\x94\x71\xb1\xe6\x3c\x89\x35\xc4\x9e\xe6\x0b\x6a\xf9\xbe\x23\x74\x92\xaf\x62\xad\x73\x4e\x57\x34\x86\xce\xa2\xba\x83\x24\x10\x89\xea\x08\x4c\x7a\x36\x79\x00\x5c\xef\x12\x4e\x3d\xb1\xdc\x83\x8a\x50\xb2\x19\x4f\x77\xb4\x24\x1d\x10\x47\xe7\xda\x32\x9c\x81\xa4\x30\x61\x44\xe1\x06\x5f\x03\xf6\x47\xd4\xbc\x70\xdc\xc6\x22\x36\x71\x48\x8f\xf4\xc9\x80\x0c\xa7\x44\x7f\x8b\x55\x47\xc4\x92\x01\x28\xd5\x71\x7d\xaa\xa0\x96\xea\xf3\x28\xa2\x5d\xe3\x84\x4b\x4d\x3a\x96\xe1\x1c\xaa\x54\xe2\xa6\xd8\x85\x8b\x3b\x7f\xb5\xed\xc2\x96\xbe\x21\x74\x26\x34\x75\x76\x5e\x04\x77\x66\x62\xed\xaf\xb6\x5d\xc5\xdb\xd0\x48\x46\x1a\xa2\x66\x86\xa9\x4e\xc0\xa1\xaf\xc9\x05\xa0\xa5\xe0\x83\x32\xde\x45\xc5\xbe\x86\xc1\x26\x02\x4d\xac\x97\xa5\xf9\xbe\x68\x0a\x63\xc5\xc2\x65\xc0\x6e\x4c\x99\xde\x3d\x8f\x6d\x48\x94\x59\x8d\x60\xfd\x2d\x8c\xc2\x32\x80\x03\x00\x82\x48\x43\xac\x52\x97\xd3\x1f\x25\x48\xe7\x9b\x44\xfd\xfc\xf7\x92\x27\xe8\x4e\xd7\x09\x9b\x77\xf0\xea\x76\x07\x6f\xa7\x74\x20\xdf\x63\x44\x4a\x9f\xfc\x7a\x7e\x9e\x9e\x9f\x4f\xce\xcf\xa7\x86\xf9\xfd\xee\xd9\xf3\x73\xfd\xc9\xf9\xf9\xaf\x3b\xff\xf2\x4f\xff\xfc\xa7\xd6\x9f\xc9\xae\xf7\x5f\xa7\x05\x3b\xea\xc9\x09\xbd\x5c\x47\x01\x83\x91\x84\xd1\x6c\x47\xfb\x2a\x88\xb8\xb8\x1e\x23\xc7\x27\xe0\x80\x68\x87\x94\x07\x8c\x9b\x42\xe9\x66\xcb\x6b\xb2\xe6\x30\xb7\x85\xd9\x85\x5c\x3b\x0d\x0a\x3b\x4f\xb3\x28\x48\x51\xef\x31\x8a\x0b\xd9\x72\x18\x9c\x15\xa6\xf9\xdd\xf3\xf8\x13\xd5\x02\x9c\xbb\xe8\xff\xd0\x51\x45\xeb\x5d\xbd\xb0\x71\x02\xc6\xf7\x2a\xe0\x57\xa9\xb6\xc0\x3d\xff\x18\xe6\x32\x48\x90\x9a\x91\x26\x29\xc5\x7e\x59\xe3\xe3\x96\x93\xe7\xc7\x30\xf2\x1f\xdd\x12\x2b\xf5\x47\xb0\x52\x0a\x25\x8d\xe7\x7f\x0c\x27\x1b\x45\x49\x74\x95\xdf\x83\x07\xd3\x3f\x3f\x5c\x6f\x71\xb9\x2a\x88\xa2\xf2\x1e\x68\xb6\x51\x22\xa8\xf9\xbd\x04\xe7\x3c\xfe\x90\x8a\x0d\x11\xfa\x6d\xa5\x76\x39\xf3\xd5\xdf\x74\xcd\xd0\x58\x0f\xe5\x46\x16\xca\x0c\xce\x19\x92\x30\x16\x03\xd9\x2a\xb8\xfc\x3d\x8d\x72\x40\xa7\xad\x57\x4f\xe7\xc9\x75\xfc\x48\xc3\xbc\x9e\x75\x2b\xe3\xbc\x94\x6d\xa3\x81\x5e\x86\xca\x8d\x74\x7d\x15\xa4\x69\x27\x88\x78\x47\x98\xb4\x8f\x3d\x34\x5a\x5c\x46\x2b\x9a\x13\xf9\x7a\x0d\x14\x80\x67\x0f\xed\x6e\x77\xac\x3a\x82\x34\x6e\x72\x65\x2c\x8f\xd2\xdd\x88\xa5\x13\xb6\x8e\x63\x68\x26\x71\x98\x28\x8c\xb5\x20\x33\x87\x78\x70\x91\x1f\x58\xbc\x49\xd6\xda\x1c\xcf\xaa\xe1\xbe\xaf\x18\xbb\x9e\xa4\xda\xb9\x2e\xfc\xfc\x62\x71\xc1\xc5\xb9\xae\x29\xef\x69\x5a\x30\x9b\xd1\x88\xb2\x80\x27\x0c\x78\x89\xe7\x99\xe2\x84\x67\x45\x62\x61\x3c\xb8\xd0\x42\xfe\x24\xd5\x2e\x28\xe7\x62\x73\x41\xb5\x45\x4a\x8b\xa6\x9c\x58\x68\x41\x72\x60\xe6\x20\x4c\xfd\x75\x8a\xde\x46\xb4\xaf\xe1\x12\xc6\x6e\xba\x0c\x66\x42\x56\x33\x29\xc9\xd8\x81\xcd\x7c\x41\xd5\x31\x42\xd0\x79\x45\xf6\x68\x05\xbb\xb0\x96\x27\x85\x51\xaa\x40\x86\x80\xc6\x56\x29\x18\x05\xf9\x21\xdb\xec\x6c\x9e\x1c\xf6\x51\x3a\xe4\x30\x8d\xb7\x0c\x33\x71\xc0\x05\xf9\x3f\x54\x1e\x70\xb6\xf0\x3f\x05\xa2\xbc\x79\xf4\x58\x89\xa8\x67\xfa\xe3\x44\x02\x67\x1c\x7f\xa8\x48\xbc\x85\x12\xfe\xa7\x48\x64\x22\x91\xf3\xe3\x11\x22\x51\xcf\xf4\x07\x8b\xc4\xd7\xdf\x3e\xf3\x44\x3c\x1f\xb5\x4b\xca\x53\x94\x04\x31\x9e\x23\xad\x50\x96\x3c\xce\xd4\xa1\xea\x0a\xc8\xf6\xeb\x06\xfa\x9a\x2f\x3a\xae\x4e\x26\x2a\xa0\xb3\xe0\x5a\xdc\x5c\x10\x73\x6c\x9a\x3f\xe4\x2d\xb2\xe0\xfc\x68\x1e\xf0\x20\x3f\x45\x95\x1d\x80\x45\x8a\xe4\x31\x89\x70\x2e\xb6\xfa\x53\x3c\xb0\xf0\x04\xd1\x3f\x41\x56\x3d\x61\xc1\xb5\x38\xa2\x26\x46\xd9\x4e\x12\xa3\x79\xc1\x59\xf2\x65\x0b\x23\x2c\xbf\x7d\xd2\xb4\xc7\x2c\x50\x66\x1d\x04\x8f\x3f\xe2\xc6\x4d\x7c\xa3\x65\x85\x54\x0a\x4f\xd6\x7c\xb5\xde\xc2\x04\x2e\x94\xdc\x60\xd7\x6c\x2a\x39\xb3\x68\x44\x31\x85\xb2\x2f\x02\xd6\x91\x27\x72\x7e\xb0\xda\x67\x57\xb8\x4f\x88\xa7\x1c\x0a\x16\xd3\x52\xad\xd9\xc8\x3a\x5e\x5f\x51\x1a\x75\x96\xc1\x0d\xae\x88\x74\x02\xc6\x92\xeb\xce\x76\xeb\x37\x8d\x75\xc6\xee\x2e\x76\x22\xe4\x61\x7f\xca\xe4\xa4\x36\x9d\x31\x4a\x63\xed\x62\xbd\x58\x50\x26\x4e\xb1\xbc\x3c\x3c\x38\x78\xf3\x56\x33\xf6\xf3\xf7\x1b\x34\xf1\x80\x83\x86\xee\xbe\xb2\xf9\x25\x25\x72\xa2\x8b\xf4\x2a\x86\xe2\x39\x7d\x39\x65\xa4\xcb\x75\x84\x67\xbb\xa1\x06\x62\xb1\x07\x35\x02\x57\x4a\x83\xd3\xe5\x2a\x61\x01\x0b\xa3\x1b\x6d\x2e\xee\xb9\xa0\x36\xb8\x4a\xa2\xdc\xc4\x45\x73\xef\x0b\xbd\xc9\xf5\x66\x61\xd2\x34\x4b\x96\x34\xd5\xd6\x2b\xa1\x42\x45\x25\xc1\x34\x64\xa9\x66\x44\x34\x4d\x4d\x50\x46\x4c\xae\xfa\x2c\x03\x61\x5d\xa6\x9a\x5a\xe4\xa6\xf3\x90\xe3\x8e\xe1\xd7\xf0\x69\x1c\xc4\x09\x82\x0b\x2c\x82\x35\x4f\xf9\x72\xfd\xad\xa1\x71\x92\xaf\xb4\xb3\x5c\x47\x3c\x5c\x45\xe1\x36\x23\x48\xde\x30\x76\x71\xc3\x21\x47\x91\xed\x6c\xe0\x76\x83\x36\xa7\x11\x0f\x40\x9f\x0a\xe6\x4a\xae\xce\x02\x54\xb3\x52\x5f\x4a\x8e\x23\x44\x17\xcc\x29\xdc\x48\x4f\xae\xb5\x45\x90\x0a\x75\x80\x46\x72\xd1\x38\x46\x81\xfa\x43\x14\x4f\x4d\xdf\x28\x3d\x9d\xe9\x3d\xd5\xb3\x7e\xa8\xfc\x30\x4d\x3a\x8e\xe5\x38\x40\x42\x1e\xce\xa8\xc1\xbf\x9d\x28\x99\x7d\xa1\x73\x28\xab\xb8\x99\x93\xf5\xe8\x8c\x46\xe3\xe5\xfb\x83\x53\xb1\x30\xf3\xfa\xf4\x3d\xe2\x92\x87\x02\x0a\x67\x12\x70\xa5\x9e\xb3\x20\x4e\x23\x79\x9b\xc0\x88\xc2\x2f\x54\xbb\x64\xc1\xea\x2a\x9c\xa5\x90\x9e\x02\x92\x0f\x67\xaf\x3a\xae\x12\xdf\x54\x4b\xd7\xab\x55\xc2\xd4\x0d\x96\x24\x55\x47\xe7\xa8\x26\xc8\x13\x7b\x70\xb1\xba\x42\x55\x62\xde\x2c\x88\xcb\x07\xb8\xb4\x00\x07\x69\x1e\x2e\xe5\x22\x53\x56\x17\xb1\x80\x99\xdf\x37\x51\x67\xc7\xd4\xf9\x62\x1e\xce\xbe\x88\xc5\x04\x41\xdf\x3a\xc6\x63\x07\x60\x3c\x88\x8d\x62\x18\x18\xbf\x80\xd9\x41\xe3\x39\xc5\xe5\x7b\x84\x8e\xe8\x65\x30\xbb\xd1\x0a\xaf\xb7\x48\xc9\xc1\x45\x72\xe1\x3c\xf5\xf1\x27\x5b\x8a\x1b\xcd\xd0\x9d\xdb\x9a\x78\x31\xac\xe9\x84\x0b\xaf\x1f\x6f\x91\x27\xbd\x58\x67\x96\x3e\xee\xa8\xa3\x5e\xbd\x28\x83\x77\x27\x52\x7e\x13\xd1\xf4\x8a\x8a\x6b\x1e\x6a\x7b\xa5\xba\xe7\x9d\xf9\xbc\x2f\x96\xde\x01\xb5\xf1\x68\x12\xb0\x9b\x47\x61\x4c\x3b\xf9\xbe\xdf\x3a\x85\x11\xe7\xe0\xf4\x54\x68\x22\x3c\x98\xc7\x6f\x22\xa5\xf6\x32\xa7\xd8\xfa\xb4\xf9\x5a\x72\xe6\x4c\xc5\x97\x17\xa5\xc5\x45\x1a\xa3\xe9\xa2\x76\x06\xdb\x78\xcf\xbb\x3b\x4b\xe2\x94\xb3\xf5\x8c\x27\xac\xe9\x72\x36\xe4\x59\x5f\x9c\xae\x2f\x6a\x6e\x0c\x93\x8b\x94\xb2\xaf\x94\xa5\x9f\xfd\xef\xc2\xa1\x09\xc2\x75\x83\xf9\xfc\x85\x3c\x23\x57\xba\x44\x2e\xee\x7f\xc7\xf4\x5a\x53\xa0\xb9\xab\x2d\xe9\xa8\x50\x20\xc8\x09\xa6\x13\x36\xf5\xeb\xf1\x13\x36\x95\x77\xbb\xcd\x42\xb9\x05\x07\x33\xeb\x8b\x74\xc6\xc2\x8b\xaa\xf3\x6b\xd9\xcc\x25\xda\x6f\x6f\x8d\x4a\xcc\x84\x4e\xfd\xc9\x54\xfa\x87\x29\x45\x77\x57\xeb\xf4\x6a\x53\xa1\xeb\x78\x53\xb1\x05\xff\x34\x25\x74\xe2\x9d\x14\xe1\x46\x46\x7f\x1d\x7f\x45\x43\x2c\x5d\x63\x83\xa2\x33\x9f\x5d\xe5\xc0\x55\x39\x9d\xe1\xc2\x6f\xeb\x33\x4b\x66\x7a\x97\x70\x2d\x2b\x75\x2e\xf2\xb0\x6e\x0a\xbd\x97\x1a\xa1\xf2\xbf\x53\xa5\x74\xb5\xbe\x88\xc2\xf4\xaa\x44\x25\x61\x85\x27\x8e\x42\x68\x2e\xfa\x2c\x29\xf8\x83\x2b\xbc\x29\x10\x12\x8b\xd0\xb6\x6d\x92\x64\x42\xa7\xc0\x0d\xe1\x67\xbb\xa1\x7e\x49\xab\x65\x24\xfe\x64\x0a\x32\x36\x0b\xb8\x91\x98\x26\x61\x10\xb7\x97\x08\x56\x32\xd3\x4b\xfc\x09\x9b\x9a\x24\xa9\x15\x61\x99\x1b\xdc\x16\x5c\xcf\x74\x22\x7d\x2c\x9f\x24\xd7\x07\xa8\x58\xc4\xe7\x69\xf8\x77\x9a\x7d\x9c\xd1\x6f\x7c\x3f\xdb\xb2\x46\x27\x07\xa7\x38\xaa\xd7\x5d\x1a\xc1\x24\x61\x9f\xb1\xe0\xc6\x9f\x4c\xa5\x5b\x20\x3c\x88\x86\x8e\xce\x3f\xfb\xf4\xf6\xd6\x95\x2e\x89\x79\x09\xa9\x14\xe6\x72\x49\xea\xe9\x0c\xa5\x41\xcc\xa2\xbf\xea\x63\x79\xaf\x45\xe6\x14\xf4\x1b\x50\xd9\x22\xd4\x49\x72\xfd\x2e\x99\xd3\xcf\xe8\xf7\xb9\x98\xd0\x1c\xfb\x7e\xb1\x48\x29\x2f\xc6\x5f\x27\x6c\xfe\x82\xd1\xe0\xcb\xdb\x80\xcf\xae\x8e\xe8\x82\x6f\x4c\x3c\xc1\x67\x36\x36\xa5\xbe\xc5\xf5\xcd\xcc\xff\xb4\x60\x60\x41\x94\x2e\x29\x3a\xec\x6f\x70\x64\x29\x2a\x88\xde\xfc\x6b\x1c\x25\x65\xae\x4b\x31\x33\x37\x95\x20\x5e\xfd\xd8\xe4\x2c\xb3\x8a\x66\x13\x16\x7c\x58\x64\xa3\xc7\xcd\x02\x75\x8d\x08\x52\xca\x0f\x72\x98\xba\x08\x95\x05\xa6\xa9\xc9\x25\xc8\x73\x5f\x3d\xfe\x07\x28\x4b\x10\x46\x53\x2e\x96\x5c\x13\xda\xb1\x9b\x99\x83\xe3\xf2\x49\x72\xbd\xa9\x5a\x2a\x3d\x35\x6c\x53\x3a\xfa\xda\x88\x23\xdd\xe8\x60\x3e\xe7\xb0\xd4\x2c\x16\xa1\xcd\xf4\xc8\xfb\xbe\x25\x8a\x6a\x9d\x2c\xc7\xb2\x05\x9e\x06\x37\xf6\x39\x22\x09\x86\xaf\xcd\x49\xf7\x73\x59\xe2\x26\xd4\xab\x64\x75\x0f\xc3\x44\xea\x7d\xec\x92\x10\xdb\x33\xab\x51\x48\x3b\x74\x23\x7d\xeb\xf4\xea\x01\xfe\xa1\xea\xbc\x3f\x7b\x99\x3e\x11\xfd\x28\x36\x09\x5b\xaf\x4c\x48\xe6\xb4\xbd\x56\x47\x4a\x2c\xc2\x1f\x40\x94\x56\x1f\xd4\xcb\xdc\x6c\x5a\xbb\xec\x19\x57\x9e\x33\x59\xbb\x6d\x6e\x28\xa4\xcd\xa0\x18\x18\x2e\x1a\x4b\x62\x14\x26\x66\x55\xde\xdd\xdb\x36\x94\x6c\x6e\xe8\x0c\x5d\x95\xf0\x07\x30\x6e\xe4\x03\x8e\xef\x01\xa7\xe5\x4e\x5f\x33\xab\x2a\xfd\x1f\x88\xf8\x3d\x07\x88\x46\xe2\xf0\x7c\xcc\x81\x42\xbd\x81\x24\x55\xa8\x7c\x73\xeb\xec\xed\x51\xf6\x5a\x41\x05\x40\xb0\x2e\x1b\x12\x61\xf8\x8e\xc5\x7d\xa5\x45\x94\x5c\xeb\x66\x13\x6d\xd6\x3d\x3a\x73\x43\xa2\x42\xe8\xcb\xf7\x42\xe8\xae\xf4\x7b\x59\x1e\xa5\xbb\x61\x2a\x0f\x13\x1a\xe6\x9e\xae\x7b\x61\x77\x81\xe3\xc1\x55\xc8\x29\x1e\x3b\xac\x0f\x50\xca\x59\x51\x23\xb6\x18\x9f\x87\xd8\xbd\x27\xcd\xdf\xb1\x9b\xcc\x85\x6e\x7a\x13\xcf\x0e\xf0\x94\x72\xd9\xf3\x7f\x05\x4c\xd8\xf2\x07\x49\xcc\x83\x30\xa6\xcc\xa0\xd2\xd7\x6c\x85\xcb\xc1\x6a\x45\xe3\xf9\xc1\x55\x18\xe1\xf3\x71\x35\x29\x60\x8d\x34\x28\x12\xf9\x83\x14\x36\x4b\x4a\xb2\x5c\x86\xfc\x28\x8c\xe9\x7b\xc5\xfd\x07\xa4\x25\xa5\x7c\xa3\x24\xa8\x27\x4b\x1a\x87\xdb\x0d\xdd\xa4\xf4\x84\x4c\xcd\x86\xf8\x4e\x9f\xfb\x8d\x29\x7b\x06\x4c\x74\x92\x88\x2a\x5f\x8d\x27\xc9\xb5\x96\xac\xf1\x64\xc4\x05\xba\x31\x10\xfe\x33\x09\x6d\xce\xdf\xb1\x4d\x8f\x3e\xb3\x5a\xad\xed\xf1\x40\x9f\x95\xd4\x14\x85\xab\x46\x89\x30\x2c\xea\x48\xc0\x74\xac\x67\x07\x42\x78\x13\x21\xf7\xa2\xb1\x1a\xcd\xd0\x5a\x17\x62\x95\xca\x4f\xe8\x94\xc0\x04\x04\xaf\x54\xa2\xa8\xed\x86\xb7\xb7\x06\x44\x25\xd7\x31\x65\xea\xe1\x33\x29\xb3\x60\x09\x43\xab\x1b\xba\x6e\x12\x56\x92\xd0\xd0\x14\x22\x9f\xfa\x16\x4e\xfb\x98\x72\xa9\x59\x92\x96\xbd\x8c\x61\x4d\x7a\xa0\x53\xd7\x1b\xad\x96\x11\xfa\x55\xd1\x27\xe9\xe3\x90\x98\x5e\x93\x6e\x65\x8d\x1c\x43\x7d\x0c\x32\xb8\x1b\xee\x8a\xa9\x5d\xec\xf3\x4e\x4a\x02\xbf\x3a\x11\xe8\xc6\xc9\x9c\xa2\xd5\x69\x84\xc2\xd5\x6b\xd8\x8d\xe9\x37\x7e\x1a\x5e\xc0\x44\xff\xf6\x36\x78\x1e\x97\x5c\x26\x17\x3b\x6f\x48\xbe\x26\xe1\xdc\x68\x52\xe2\xe6\x6e\xda\xf6\x03\x12\xfa\x25\x74\xe2\x15\x09\x4d\xc9\xc4\x75\xc0\x62\x43\xdf\xcf\xcf\xaa\xe3\xad\x6d\xb1\x92\xab\x2e\xd7\x6b\x49\xac\x51\xe1\xd4\x40\xf4\x3f\x7d\x43\x67\xbc\x89\x67\xd9\xc3\x71\x07\x01\xa3\x15\xfb\x97\xdd\x7c\xa7\xd9\x6b\x72\x46\xad\x31\x1a\xf8\x7d\x37\x43\xf7\xf6\xd4\x14\x0b\x07\xf5\x12\x57\x51\xc8\x05\x23\x9a\xa6\xd2\x30\x60\x25\x31\x45\x49\xdb\xb1\x4d\x92\xfa\x14\x15\x99\xf4\x87\xb7\x5b\xfa\x6a\x6e\x97\x53\xf9\xda\x1e\x1a\x2e\x84\x95\x32\x84\xdd\xeb\x99\xf2\x04\x9b\xd6\x92\x5b\x2d\xf4\x26\x4c\x63\x24\x50\xda\x37\x2f\xf0\x68\xa6\xc1\x08\x2d\xb6\x89\x49\x4a\x94\xdc\xde\x96\x72\x8a\x51\x52\xf4\x8e\x0d\x56\xd8\x32\xb8\xb9\xa0\x07\x51\xb8\x3a\x58\x33\xc8\x57\x19\x9c\x85\xab\xe7\x7b\xe4\xae\x41\xac\x85\xf3\xf0\x67\x75\xbd\x62\xde\x37\x67\xa9\x41\x2b\xaf\xba\xdb\x4f\x62\x9a\x14\xd9\x03\x3a\xa9\xf8\x00\x1d\xbf\xa7\x4b\xef\xfe\x1e\xa4\x6c\xcb\x48\xc1\xc5\x06\xa9\x7e\x46\x3b\xb6\x62\x4b\x01\x74\x6b\x59\xac\x75\x1c\xab\xa1\x90\xb6\x6d\x16\x3d\xd4\x37\x34\x30\xa9\xeb\xc3\xa2\x4c\x82\xda\x62\x25\xd9\x0b\xcd\x87\xb2\xf0\x67\xf5\x41\xec\xb1\x2c\x2f\xe9\xd8\xa6\xb6\x6e\xd6\x04\xa2\x7b\x55\xbd\xff\x67\xab\x89\x35\x9e\x31\x9f\x97\x54\xc1\x8f\x98\xa7\x72\x9c\x12\x6a\x80\x8b\x17\x49\x2b\x46\x58\x45\x00\xdb\xbe\xf0\x42\x1d\xfb\xf5\x16\xbb\x7f\x64\xe0\x66\x27\x86\x1e\x19\x3c\xb3\x44\x9d\x22\xbf\x6e\x9f\x76\x02\x33\x7b\xf5\xa2\x62\xb0\xad\xe3\x39\x65\x40\xff\xed\x6d\xa3\x3d\xc7\x59\xf8\x85\xf2\x2b\x96\xac\x2f\xaf\x9a\x41\x72\xdf\x2b\xcd\xe9\xd7\x33\xe0\x9a\x7a\xe1\xbd\x92\x18\xa4\xb3\x30\x14\xe9\xe2\x85\x9e\x26\x20\x1e\x46\xf4\x65\xc0\x03\x33\x5c\x18\xbd\x1d\x9f\x63\xf5\xcf\x6e\x56\x14\x7a\x4b\x01\x7f\x11\x1b\xc7\x5c\x2a\x8c\x6b\xf6\x88\xf6\x25\x9d\x25\x0c\x77\x26\xf2\xf8\xbc\x06\x68\xba\x4a\xa7\xe1\x57\x3e\xbf\xdf\x46\x89\x9a\xcd\xea\x92\x42\xbf\x22\xbc\xac\xd0\x6b\x03\x35\xf7\xaf\x1a\xa7\x5a\x7e\x27\x20\xcc\x8f\xc4\xa8\x5c\x92\x49\x9f\xb5\xfd\x48\x3c\x79\x40\xfd\xa8\x4d\x77\x03\xdf\xba\xdb\xd0\xbc\x78\xfe\x90\xa6\xf9\x5c\x80\x67\xaf\xef\x94\x71\x5a\xbe\x1f\xec\xb1\x36\xf5\x2c\xdf\x8f\xf7\x68\x9b\x79\xf7\xaa\x1a\x62\x91\xd8\x6c\xd3\xf6\xfd\x40\xb1\xb9\xc9\x0a\x69\xfb\x29\x8a\x24\x94\x26\xd8\x3d\xf3\x79\x77\xc5\xe8\xd7\x30\x59\xa7\x99\xaa\x59\x18\x33\xb9\xd8\xf5\x50\xbd\x66\x59\xbd\x66\xc5\x7a\xb5\xcb\x6b\x69\x82\xe5\xb3\x8d\xb6\x51\xb9\xcb\x96\x30\x99\xe6\xee\x6a\xdb\xd9\x56\xdd\x28\x6b\x96\x8e\x15\xe1\x0d\x12\xb1\xda\x48\x5e\x8a\x2f\x4e\x41\x53\x09\x9e\xad\x7d\x5e\x56\xcd\x0b\x63\xbd\x25\xbf\xd6\x19\xbf\xd6\x25\x39\xa0\xed\xd2\x77\x9d\xba\xf5\x96\xcc\xa3\x7f\x0c\xc3\xd6\x8f\x62\xd8\x3d\x8a\x73\x65\x9a\x77\x62\x0c\xca\x6c\x45\x94\x58\xd4\xc3\x5b\x13\xbe\x4d\x13\x3f\xa0\x00\x56\x4d\xdd\x3f\x6d\x1c\xcc\x60\x88\xc1\x3b\xac\x0f\x8c\x67\x45\xcb\xe4\x1e\xab\x07\x5f\x8f\x90\x62\x30\xa1\x53\x39\x81\xab\x0d\x5b\x5b\xab\x96\xaa\x8d\x23\x45\x71\x83\x2d\x53\x7a\x2b\xa1\x6c\xde\xfb\x3e\x6d\x98\xd8\x64\xaa\x83\xd5\xda\xbb\x36\x9c\x32\xd9\x34\x73\x1a\x51\x4e\x0f\xae\x02\x96\x1a\x6f\x03\x7e\xd5\x5d\x86\xb1\xc1\x08\x37\xcd\xe2\x0b\x9f\xf2\x6d\xa8\x0d\x46\x74\x01\xc7\x96\x16\x44\x7d\x0c\x0f\xef\xb3\x3e\xf1\x6d\x14\xea\x67\xf4\xd1\x06\x03\x33\x34\xb3\x0e\x6b\x65\xf6\x5b\x4a\x62\x12\xf8\x74\x17\xe6\x14\xe2\xc9\xa0\xf4\x7e\x5b\x81\xf0\xed\xad\x49\x62\x11\x66\x3e\xa0\xe0\x59\x9b\x9a\x24\x7e\xa0\x4c\xda\xf1\xd3\x4e\x4c\xd8\xb3\xb4\xd5\x8a\x5b\xad\x34\x53\xf9\xd1\x56\xbd\x4c\xd7\x74\x73\x97\x6f\x9c\x32\x45\xb5\x0e\x56\xaa\xa2\xae\x93\xd8\xb7\x80\x06\xfb\x4e\x8d\xea\x45\x95\x09\x03\x50\xab\xc5\x77\x6a\xed\xd8\x6a\xf1\x4d\x93\x2d\x5c\x10\xb9\x22\x4c\x0c\xbb\xbd\x7a\xde\x82\x81\xb2\x73\x5f\x17\xc8\x46\xbe\x0a\x0c\x0e\x7c\xd5\xd1\xd0\xac\x8f\x63\x55\x90\x26\x4d\x72\x4f\xdb\xd4\x8b\xc8\xde\x03\x9d\x95\x78\xda\x50\x72\x21\xb9\x71\x35\x36\x9f\x78\xad\x9b\x26\x19\x0f\xae\xfe\x3c\xb8\x62\xd9\x34\x10\xac\x1b\x49\xb9\xdb\x6c\xc3\x0b\x54\xb3\xec\xb5\xf0\x60\xd3\xe6\xdf\x51\x18\xd3\x53\x1e\xe0\x46\xc4\xe7\x92\x16\xc0\x47\x5b\x69\x95\x93\x38\xc9\x2f\x47\x75\xaf\x82\xf4\x9e\x39\x83\x49\xfd\x5a\x96\xd2\x2b\x91\x9b\xc8\x02\xae\xd5\x49\x12\xca\x49\xd7\x77\xd1\x48\x6e\x97\x17\x38\x08\xbd\x9f\x18\x49\x4d\xb1\x9f\x28\x75\xbc\x89\x92\xbf\x9e\x24\xd7\xfb\xf1\x8c\xa6\x3c\x61\x4d\x0c\x6a\xb5\xf4\xbf\x76\x4e\xde\x7f\xd2\x77\x7c\xc0\x9c\xcc\xe9\xbb\x60\x49\x65\xad\xb3\x6e\xf6\x60\x85\x95\xea\xfc\x14\xf2\x2b\xb5\x80\xfc\xb9\x76\x10\xa1\x38\xb0\x75\xec\xdd\xc2\xfb\xf3\x55\x4a\xe5\x89\x88\x9d\x30\x87\xce\x94\xab\x6f\xed\x86\x3b\xbe\x52\xac\xed\xfb\x7a\x12\x35\xc9\xce\x03\x3c\xbd\xbd\xdd\x29\xaf\xed\x64\x05\x56\x58\xad\x64\x31\x6d\x2b\x8a\x8b\x95\x0e\x63\x90\x40\x59\xd1\x6d\xb8\x24\x32\x34\xb1\xa8\xa8\xdf\x76\xf2\x11\x57\x3c\x68\x5a\x4c\xdc\xeb\xd8\xde\x3d\xb4\x14\x41\x11\xf9\x03\x84\x17\xc1\xad\x7c\x31\x22\xf4\x2d\x02\x3c\x4f\x9f\xd1\xee\x0c\xfa\xe5\x3b\xbc\xe0\x23\xb7\xf5\xd2\x76\x5b\xad\x96\x16\x93\x27\x29\x9e\x82\x89\x0b\xaf\xc7\x85\x6d\xb6\x1b\xde\xdb\x5a\xb1\xea\xef\x1d\x7b\x13\x07\x01\xf9\x7e\x3c\x17\x3a\x64\xb3\xb0\xe5\xd2\xcd\x9f\xdf\x2b\x1e\xbb\xea\xa1\xb0\x1f\x94\x11\xde\x79\x40\xfc\x36\x08\x91\x6a\x89\x5a\x7d\xf2\xe6\xd8\x28\x45\x1b\xf2\xdc\xbb\x0d\xdb\xd4\x74\x4c\x35\x5d\x58\x6e\x3a\x36\x25\xf7\x9a\x2b\x62\xd1\x9b\x3f\xf3\x53\xc9\x07\xfd\xf4\x78\xff\x9d\xee\xfb\x7e\x98\x29\x90\xbd\x87\x2a\x18\x12\x6e\x7a\x93\x90\xf0\x29\xf0\x30\xbd\x2b\x08\xf9\xa6\x8d\xa3\x93\x20\xbe\xa4\xd5\x1e\x43\x42\x51\x87\xc4\xdf\x58\x62\x26\x22\x72\x79\x5f\x3d\x3a\x9c\xa8\xc7\xac\xb7\xca\xc9\xcc\x5d\x91\x2d\x6d\xb5\x8c\x10\xe8\xc1\x71\xc7\x48\x26\xd6\x94\x24\x13\x7b\x6a\x12\x8c\x3d\x8c\xe7\x46\x0a\x71\x29\xc4\x99\xcd\xab\x5f\xe2\x1a\x60\xb6\xf6\x5e\x7d\x2f\x2d\x33\x62\xb1\xbd\xb1\xde\xfb\xdc\xb0\x04\xdf\xc1\x76\xe9\xf2\x44\xbd\x9b\xaa\x5e\x94\x3d\x4f\x9f\x9a\xa5\x23\x69\xd5\xd1\xd1\xd8\xa0\x68\xbb\x78\xdd\x30\xb3\xeb\x4c\x2c\x85\x55\xb9\xda\xa8\xe0\xc1\x62\xaf\x64\x57\x11\x82\x89\x88\xab\x63\x37\xf0\x7a\x33\x3e\xb0\x24\x0a\xd8\xa8\x6a\x90\x0c\x57\x9a\x6d\xcf\x5c\x35\x1e\x89\x22\x41\x53\x0a\x9e\x87\x22\x51\x53\x92\x38\x0c\x45\xae\x4a\x7c\xc3\xe1\xdb\x60\x26\x99\x15\xf7\x0d\x80\xe5\x57\xc4\x22\xa9\x49\xd6\xc5\x67\x44\xe3\x76\xd4\xd6\xff\x59\x37\xc9\xca\x9f\x75\x53\x1a\xb0\xd9\x95\xb1\x16\x43\x98\xd1\xb1\x7d\x7f\x75\x7b\xbb\x7a\x9e\xc8\x06\x9a\xd7\x31\x26\xa4\x3c\xbd\xbb\x32\x4d\xb2\x28\xbd\x53\xfa\xab\xde\x8e\xda\x81\x49\x2e\xfd\xb9\x6c\xf2\x05\xe2\xbf\x14\x38\x97\x7e\xd2\x2e\xa3\xb8\x9c\x58\x53\x73\x17\x0a\x5f\xde\xde\x2e\x9f\xa5\xea\x40\x64\xd6\x93\x0c\x46\x56\x64\x49\x60\x26\xd0\x0d\xe6\x73\x8c\x34\x38\x88\xac\xf8\x57\x3f\xa5\x27\x0e\xe0\x89\x73\x87\xe5\xc3\x79\xf2\x14\x5e\x12\x45\xc7\x09\x2b\x6f\x23\x35\x9d\x1f\x15\x8f\xf7\x64\xc7\xc5\x8e\x59\xf2\x35\x9c\x53\x96\x9f\xb0\x52\xe7\xb5\xf1\x10\x5a\xe1\xc8\x99\x6d\x11\x5b\x6d\x79\xb2\x75\x04\x59\xf2\x43\x11\xd9\x8d\x5a\x95\x23\x23\xa8\x9b\x75\xb5\x62\xc9\xb3\x6c\xf3\x05\x7a\xfe\x41\x30\xbb\x2a\x9d\xb1\x50\x46\x5f\x39\xfd\xfb\x9d\x48\x8d\x82\x94\x8b\x7e\x8d\xec\x2e\x66\xcc\x93\xc4\x09\xb7\x46\x1a\x0f\xf1\x68\xfa\xfc\xb3\xbf\x63\xe5\xb9\xf0\xdc\x20\x1e\x35\x93\x91\xe2\x98\xff\xa7\x2b\x4a\xa3\xb7\xd9\xad\x82\xcf\xbe\x9d\x67\x39\x4b\xd6\xb3\xab\x9c\xac\x30\x15\xb5\xa6\xf3\xc3\x78\x9e\xe1\x96\x35\x55\x9e\x52\x84\x84\x1c\x7f\xf3\xed\xa1\x4c\xe7\x2c\xfa\x28\x5e\x26\x52\x47\x1c\xe6\xe1\xd7\x22\xdd\xea\xd4\x63\x31\x8e\x8b\x53\x9d\x69\x5e\x7a\xe9\xe8\xb0\x88\x7a\x79\xf8\xe2\xc3\xcf\x9f\xfd\x1d\x35\xa4\xd7\x5a\xa4\x7e\x22\x2a\xcd\xa0\x32\x81\x48\xa5\x16\x2b\x94\x4e\xe3\x79\x39\x22\x4c\xdf\xaa\x13\xd9\xa5\xd8\x03\xb9\x83\x39\x2f\x9e\x93\xa9\x91\x51\xd0\xce\x8b\x30\x9e\xbf\xca\x36\xc6\x37\x8e\xab\xb4\xb8\x7b\xce\x84\x25\x01\xfa\x89\x67\xc7\x7a\x59\xb6\x36\xc0\x50\xa9\xd6\x07\x61\x35\x00\x23\xa9\xe5\x72\x71\x39\x04\x8f\x05\x67\x16\xd4\x1d\xf3\x59\x93\x35\xb1\x65\xbd\xd2\x9b\x78\x56\xdc\x66\xcc\xce\x05\x53\xc3\xfc\xce\x72\x1e\x27\x44\x7e\x00\xa5\x7e\xd8\x0d\xe2\xd9\x95\x98\xca\xa9\x04\xa1\x91\xb3\x24\xf1\x49\x98\x6a\x93\x54\x04\x65\xf6\x45\x32\x5b\xa7\x32\x77\xa6\xcd\x55\xbc\xf8\xba\xcb\x48\xe1\x65\x52\xd2\x0a\x29\x45\x5c\x65\x4a\x0a\xd8\x72\x42\x92\x12\x21\xa5\x7a\x14\x29\x29\xd6\xe2\x2e\x1f\x42\xd5\xea\x50\x41\x1e\x61\x74\x50\xb3\x63\xc3\xc4\x63\xb2\x99\x66\xc9\x57\xe4\xfe\x1f\xf2\xde\xad\xb9\x8d\x65\x5d\x0c\x7b\x4a\xf9\x2d\xa9\x54\x5e\x5c\x39\x2f\xe0\x9c\x7d\xb8\x66\x16\x06\xd0\x0c\x48\xea\x02\x68\xc4\x0d\x82\x14\x05\x51\x14\x25\xf0\x22\x89\x14\xb7\xd6\x00\x68\x80\x23\x0e\x66\xa0\x9e\x06\x6f\x22\xb7\x5d\x29\xdb\x95\x93\xd8\x8e\x93\x72\xd9\xae\xe4\x24\x76\x92\xe3\x1c\x3b\xe5\x4a\xd9\xae\x53\xb9\xf9\x38\xa9\xda\x2b\xef\xf9\x0f\xfb\x97\xa4\xfa\x36\xd3\x3d\xd3\x3d\x00\xb5\xd6\xde\x3e\x55\x51\x2d\x2e\x00\x33\xdd\x5f\x7f\xfd\xf5\xed\xeb\xef\xfa\xf3\xcc\xd6\xa5\xe0\xf6\x36\x10\x9f\xd8\x4b\xf9\x32\xd9\x74\x8c\xa5\xfe\xb5\xe2\xe5\xe5\x25\xd3\x80\xf1\x25\xc9\x89\x6a\x04\x51\x25\xb6\x5a\x56\xec\xc5\xe2\xa5\x2e\x18\x99\x71\x06\x21\x11\xc9\xdb\x4a\x0a\x00\x12\xab\x65\x25\x5e\x92\x03\x90\x90\x69\x1f\xd7\x79\xc9\xa7\x49\xfa\xd5\x02\x66\x26\xb8\xc8\x4a\x3c\x13\x4a\x20\xa1\x84\xd0\xba\x27\x75\xc6\x92\x07\xe8\xa9\x34\xd6\xeb\xc0\xb4\x9a\x1c\x8c\xc8\x17\xe4\x16\x53\x6c\x9f\x48\x13\x40\x68\xed\x94\x9e\xd3\x11\xcb\xfb\x8a\xcf\x8e\xad\x42\xe2\x78\x62\x8b\x53\xc1\x2b\x88\xb8\x91\xa5\xab\xcb\xb0\x5a\x91\x8c\x2e\xc7\xe8\xae\x30\xcc\x19\x0d\x96\xbc\x8c\x08\xb2\x7d\x07\xcf\x66\x9e\x06\x87\x20\x68\x56\x82\x84\xba\xf6\xc6\x31\xa2\x1e\xb9\x7e\x85\xe0\x1a\x0f\x49\xce\x65\xa1\x37\x29\x0b\x6e\xcd\x01\x4c\x31\x9e\x0f\x39\xeb\x99\x00\x3a\xb7\xdb\x88\x42\x59\xa2\xc7\x53\xe4\x17\x26\x07\x0a\xdb\xce\x83\x11\xf4\x27\xe0\x93\x07\x94\xf2\xa6\x2d\x1a\xfa\xdd\x34\x68\x31\x6e\x57\xc8\x2a\x31\xe5\xe0\x20\x49\x30\x8b\xe6\x19\xfd\x18\x0e\x01\x6c\x56\x9c\xd6\x19\x39\x6d\x9b\x15\xd7\x71\xfe\xa8\xc5\x8d\x61\x9a\x15\xbf\x9f\xc4\xe1\x0c\x81\x16\x09\x3f\x4b\x5f\x1b\xb6\x31\x89\x6f\xba\x51\x04\x20\x3d\xa9\xdf\xe3\x29\x4e\x2d\xfc\xb9\xae\x3f\x6d\x0f\x0e\x3c\xe3\x0f\x0d\xc2\x26\x09\x82\x2e\xb1\x4c\x0e\xc3\x01\x15\xe7\xbc\xa3\x0e\x03\xfe\x70\xb8\x75\x01\x22\xf4\x2a\x48\x10\x20\x92\x53\x08\x48\x48\x43\x76\x66\x46\x3d\xf2\xf3\x93\x98\xd6\x50\xb4\x53\xcc\x8e\x5e\x55\x23\x9c\x76\x2d\x54\xef\xc7\xc3\xeb\x3c\x75\x26\x3e\x1c\x07\x51\xb3\xe2\x4c\xaf\x5a\x53\x7f\x38\x0c\xa2\x31\xfd\x21\x11\x4b\xa0\x4c\x8b\x5f\x7b\x9b\x95\xb3\x60\x38\x04\x51\x8b\x4a\xe8\x9a\x95\x0b\x1f\x9a\xb5\x1a\x61\xfa\x6a\x34\xda\x10\x0b\x9a\x4f\x9a\xb4\x5a\xb5\x4b\xd0\x3f\x0f\x50\x8d\x78\x55\xd1\x15\xd2\x24\x89\x46\x5a\xb5\x49\x7c\xa3\x78\x6c\x88\x1c\x02\xa7\x7a\xda\x5b\xb1\x3b\x0c\xf3\x83\x78\xea\xcd\x2d\x44\x73\x75\x7a\xc6\xc0\x0f\x07\xa6\x88\x33\x66\x2a\x31\xa1\x6b\xb4\xeb\x56\xe5\xfb\xca\x8a\x65\xa4\x06\x9b\xf9\xc9\x47\x80\x1a\x56\x4b\xb6\x21\x32\xae\x6a\x78\x79\x7c\xad\xf0\xc4\x14\xcd\x4a\x3f\x8c\x07\xe7\xad\x4a\x85\x53\xb4\xac\xcd\x16\x4d\x11\x53\x5b\xa8\xec\x9d\x61\xa3\xfa\x19\xf0\x87\x4a\x93\x50\x4c\xcf\x4e\x92\xbc\x0a\xa2\xf3\x4f\x45\xec\x49\x34\x5b\x45\xc9\x9c\xd9\x26\x04\x21\x09\x96\xc3\x5d\xe7\x72\x55\xa8\x0c\x53\x47\x1a\x15\x76\x85\xda\x56\xca\xc8\x02\x10\x29\x60\x5d\xd5\xe8\x2b\x43\x2e\x98\xc3\x93\x4d\x76\x30\x0c\x10\x66\x9b\x0d\xdb\x40\x70\x06\xca\xeb\x24\x53\x10\x86\x83\x33\x30\x38\x37\x6c\x83\xb8\x1c\x96\x97\xf7\x67\x28\x1e\xc4\x93\x69\x08\x48\x10\x88\x78\x34\x5a\xa4\x3c\x89\x8f\xb5\x70\x71\x7f\x8a\xfc\x90\x7a\x33\x91\x0c\x86\xa5\x35\x60\x4c\x7b\x0a\xae\x50\x3f\xbe\x2a\x2f\x8b\xfc\x3e\xe1\x3a\x0d\xdb\xa8\xb9\x85\xa2\xf2\x9e\x30\xf0\x21\x40\x34\xf0\x68\x93\x3a\xc3\xd2\x33\xbd\x95\x9b\xd2\x42\xec\xd8\x66\x16\xcc\xb5\x95\xc6\x64\x6d\x56\xdc\xb5\xe9\x15\xfd\xcd\xfc\x5f\x6b\x61\x30\xf6\xd1\x0c\x82\x84\xad\x71\x69\x9b\xe1\x5b\x4b\xed\xba\xc9\x1c\x98\x5b\x95\xf4\xd9\x55\xba\xe1\x5c\x9e\x05\x08\xd4\x48\x63\xcd\xca\x14\x02\x79\x7b\x9a\x21\xbc\x82\x28\xf8\xca\x52\x30\x99\xc6\x10\xf9\x11\xc2\x6b\x85\x6c\x06\x85\xd9\xc8\xa8\x90\xa3\x49\x71\x57\x66\x91\x95\xf8\xae\x4c\x8f\x37\x69\x57\x9e\x07\x81\x38\x6d\xe7\x00\x90\xbb\xdb\xbd\xa0\x20\x7c\xa3\x23\x2c\x64\x0a\x8a\x5e\xf2\xee\x0d\x64\x12\x5f\x80\x9f\x0a\x03\x44\xc3\x9f\x0a\x62\xe0\x47\x03\x81\x2e\xf7\x87\x42\x32\x04\xf0\xea\x9d\x78\x7a\x7d\xaf\xda\xd4\xaf\x99\x57\x27\xb7\xdc\x7b\xd5\x1f\xc2\x78\x6a\xd8\xca\x64\xcd\x53\x48\x7c\xf8\x53\x37\x04\x7b\xc9\xbd\xb3\xd2\x89\x58\x80\x74\x0e\xae\x87\xf1\x65\x94\xe2\xb2\x11\x0f\xaf\x77\xc0\xf5\x66\x7c\x19\x29\x30\x82\x54\xee\x90\x28\x36\xcd\x61\x70\x61\xe4\x4b\xd5\x83\xa1\x47\x45\x32\x4d\x18\x5f\xd6\x30\xaf\x96\x18\xf9\x32\xb9\x9d\x20\xb7\xe0\x33\x9e\x69\x14\x5c\x81\x61\x91\x15\x50\x1e\xf1\x78\x7f\x52\x1c\xf1\xe4\xb1\x91\x23\x6e\x7e\x6d\xa6\x98\xb1\xde\xa0\x78\x4a\x39\xd4\x0d\x7f\xac\x3e\x2c\xc8\xdb\x5a\xdf\x1f\x1b\xaa\x2a\x73\x3a\x58\xe8\xd0\x42\xe7\x70\x61\x3f\x62\xbd\xa2\xf1\x45\x44\x7c\x8b\xf8\x64\x06\xcd\x19\xba\xcf\xe3\x70\xa8\xec\xdc\x28\x0e\x87\x46\xae\x9c\x30\xac\x28\x9e\x92\x22\xb5\x51\x0c\x31\x17\x92\x25\x28\x31\x72\x75\xca\xa9\x50\x98\x15\x85\x61\xe1\x80\x2c\xb1\xa3\x0c\x6d\xa9\xa1\x42\xf7\x84\xa2\x02\xe6\xf4\x69\x39\xf2\x25\xe8\x08\x40\x2d\x51\x2e\xd6\x86\xc0\x2f\x5f\x1d\x42\x39\x01\x1d\xfa\xd4\x87\xc0\x37\x8a\xc5\x72\xb4\x23\xc1\x61\x82\x30\x40\xd7\x7c\xd2\xcc\x9b\xd3\x02\x30\x8b\xe9\x38\x8d\x33\x84\xa6\x72\xce\xcb\x86\xe3\x38\x0f\x92\x8b\xb1\xc1\x8c\x9c\x2f\xf8\xfc\xc1\xf7\xa4\xb2\x6b\xd1\xeb\x7d\x33\xb0\x0d\x5c\x93\xf7\xf1\x62\x2c\x76\xee\x26\x8e\x27\x35\x1a\x2f\x29\x86\x86\x50\x44\x66\x18\xae\x26\x61\x94\x18\x76\x60\x69\x4b\xb0\xe4\x17\x86\x6d\xb8\x75\x57\x6a\x2c\x47\x22\xc5\x55\x0b\xc5\x53\x7c\x23\x0b\xc1\x08\xe1\x4f\x2d\x11\xc9\xde\x7c\xe0\xc3\x31\x50\xf1\x99\x78\x0b\x21\xa3\x64\x15\x4b\x0b\x3d\x16\x33\xb3\xd4\x10\x79\xad\x00\xbf\x08\xc3\x24\x97\x9f\xdb\xcb\x94\xb9\x99\x5e\xa5\x3c\xca\xf4\x8a\xf7\x7a\x7a\xd5\x62\x21\x88\xe8\x8f\x78\xea\x0f\x08\x05\x1c\x15\x76\x8c\xc3\xdd\x62\x1c\x6e\x2a\xba\xd5\x4e\x33\xb1\xb6\x0a\x7d\xc5\x61\x0c\xae\x50\x37\x9a\xce\x38\x75\x68\xa4\xae\x37\x59\xa5\x03\x5e\x40\x75\x1a\x91\x4b\x6a\xea\x3d\x56\xbc\xf9\x27\x00\x3d\x8f\x23\xf4\x9c\xf0\x8b\x2a\xef\x52\x99\x1b\x1d\x65\x65\x81\x8a\x5b\xa5\x27\x0d\x86\xb8\xcf\x63\xe8\x7b\xe8\xf6\x96\x7b\x26\x12\x87\x36\x51\x4b\x50\x82\xd9\x58\x8d\x59\xce\xa5\x5a\x83\x5d\x59\x7f\x0f\xe9\x3d\xe7\x10\x86\xb2\x5b\xee\xba\x39\xef\xde\x75\x06\xc1\xc8\xb0\x81\xea\x82\x96\xc9\xd7\x98\xdd\x76\x76\xd9\x2d\xbd\x6d\x91\xda\x16\x33\xc7\xd7\x40\x64\x96\x7f\x39\x88\x92\x0d\x55\x01\xe2\x02\x04\x20\x0b\xa4\x20\xf0\x11\x6f\x81\xb2\x2d\xab\x16\x24\x91\x62\x15\x1c\x0f\xb9\xc4\x83\xbc\x35\x73\xfc\x1a\x7b\x58\x3e\xf8\x3c\x1d\x02\xb1\x23\x5f\x6c\x06\x90\xeb\x51\xf9\x64\xd7\x40\x05\xca\xf9\x4e\xe0\x95\x74\x7d\x0c\xd0\x86\x6c\xef\xbe\x18\x9e\x39\x23\xf9\x32\x8c\xb5\xf0\xd5\x18\xe7\x20\x97\xe0\x2e\xc1\xee\x4e\xfc\xb1\x42\xfc\xa7\x83\x4d\x8b\x2f\x08\x5b\x8e\x49\x31\x0f\x34\x29\xbd\x20\x64\x85\x3f\xea\x1c\xe8\x69\x8d\xd2\x16\x3a\x99\x66\xad\x18\x5b\x22\x7b\x57\x3a\x2f\xa8\x84\x32\x1f\x8f\x83\x3b\x89\x8d\x01\xea\x84\x01\x88\x50\x16\x93\x83\xdf\x78\x99\xd9\xd6\x57\x76\x4e\x81\x3a\xfd\x62\xd3\xb3\x0a\xd4\xc9\x67\x6a\x89\xac\xd2\x10\xea\x05\xbd\x29\x5e\xa5\xf1\x37\x24\xec\x4d\x8b\xb6\x38\x1f\x66\x79\x64\x90\x3c\x50\xda\xab\x32\xa8\x9c\x93\xd2\x41\x4c\x37\xc4\xf9\xa8\x11\xfd\x44\xf9\xca\xd4\x02\x81\x00\xcf\x08\x7f\x70\x06\x54\xce\xd5\xdf\xa2\x8b\x2e\x9b\x7a\xbd\x4c\xb1\xae\x88\x3a\x91\xa2\x62\x96\xe8\xe1\x93\xc1\x19\x18\xce\x42\xd0\x03\x43\xe8\x5f\x96\xec\xb2\x59\x14\x04\x49\xc1\xc8\x54\x4b\x20\x77\x6b\x10\x0d\x18\x01\x33\xd3\x15\x78\xfc\x56\x66\xfe\x22\x95\x64\x07\x19\x63\x0f\x73\x7e\x96\x36\xf0\xd0\x5d\x09\xad\x30\x2d\x5b\xb2\x79\xcc\x01\x09\xf9\x41\x94\x30\x66\xea\x2b\x87\xf7\x61\x82\x4a\xfa\x2a\xb5\x59\x87\xfe\xe5\x11\x0d\x15\xd9\x8b\x2f\x93\x4f\x26\xb4\x83\x92\xd3\x91\x91\xae\xab\xa4\x0c\xb1\x84\x3c\x13\x75\xe8\x02\x09\xf9\xda\xc6\x05\x5a\xda\x52\x9e\x10\x57\x49\x80\x4c\xad\xe2\x2b\x40\x59\xc7\x16\x47\x0a\x0f\xa7\x53\xa2\xca\x61\x0c\xdd\x22\x7b\xee\x88\x97\x03\x55\x63\x7a\xf5\xed\x2c\x9a\x26\xe6\x10\x49\x20\xdb\x8d\x90\x59\xd2\xb4\x1e\xf6\x04\xf8\xc9\x0c\x02\x09\x15\xc5\x82\x20\xd6\x24\xdc\x48\x86\xd9\x96\xe4\xb8\xa5\x12\x29\x0c\x29\x2f\x8a\x60\xf0\x83\x5a\x96\xff\x5b\x50\xf8\xb0\xb2\x3f\xc3\x25\x2a\xbd\x80\xf8\x33\x14\x0b\xb2\x50\x7e\x19\xc9\x3f\x16\x11\xd8\x9f\xfa\xd1\xbc\x0e\x26\x53\x3f\x92\x7a\x48\x2a\x15\x7a\x89\x8b\xd5\x2e\x63\x78\xee\x93\x83\xb1\xd0\x8a\x10\x58\xc4\x34\xde\x1b\x75\x08\xa6\xc0\x47\xa6\xeb\x38\x56\xd5\xf8\x08\x0d\x4b\x7c\x22\xd1\xa8\x28\x2f\x4a\x81\x8a\x05\x37\xfc\x04\x84\x41\x04\x7e\xa6\xfe\xf4\x19\x38\x43\xd5\x44\x7e\xc6\x1b\x4e\x3a\xe1\x73\x05\x25\xb5\xd1\x7b\x45\xbb\x19\xa4\x77\xf4\xbc\x03\xd9\xfd\xa6\x44\x1a\x42\x69\xc3\x55\x84\x4a\x06\x40\x24\x13\x14\xed\xa7\x10\x3d\x81\x1f\xb8\x8e\x43\xb4\x37\xb8\x59\xfc\x43\x76\xf5\x2a\xa5\x7e\xda\x41\xcb\x86\x75\x4e\x2a\x4f\x45\x80\x98\x68\xe8\x0f\xe2\xa9\x34\xa6\x85\xdb\x46\x1e\x6a\xae\xff\xea\xf2\xbc\x9c\x42\x5a\xa2\xd1\x02\x5c\x8c\x09\xc6\x37\x71\x3c\x79\xee\x93\xa8\x88\x99\x40\x23\xe5\x7e\xfc\x10\x94\xc3\x2d\x60\xc3\xe0\xea\x77\xd1\xfc\x2e\x58\x3c\xfa\xa5\xb7\xe4\x91\x6a\xcb\x32\x17\xbd\x88\xd3\x02\x3a\x0e\xa3\x60\x03\x26\x4c\x20\xc1\x27\x9e\xb3\x90\x35\x69\xcb\x1d\x64\xc5\xb2\x3d\x9e\x42\xa4\x2c\x5b\x7a\x3b\xbb\x8e\x06\xec\xfc\x4d\x36\x83\x09\x88\x48\x1a\xd5\x4f\x2c\x3c\x8e\x78\xb4\xb1\xa0\x85\x99\x52\xfc\x6b\x66\x6e\x43\xee\xb2\x77\xb6\xd0\x13\xc0\xa4\x6b\xbd\xf8\xf2\x20\xa6\xe7\xb4\x09\x24\xd6\x85\x58\xcc\x32\x33\x3a\xd3\xb2\x6c\x50\x64\x62\x4a\x0e\x6d\x35\xda\x45\xb6\x5b\xc5\x87\xd2\xfe\x14\xec\x02\x19\x9b\xad\x33\x0d\x4c\x99\x72\xf2\xfe\x22\xe5\x2f\x68\x3c\xba\xa0\x3e\xaa\x27\x13\x1f\xa2\xe7\x61\x1c\xc3\xcd\x00\xf7\xd1\x94\xab\x48\xd3\xa7\xce\x65\xd6\x82\xfd\x40\x0e\xe6\xf7\xda\x5a\xad\x5c\xf1\x83\x78\xba\x4b\xcc\x07\xb8\x35\x62\xf6\x8a\x92\x9e\xbd\xe5\xf5\x6b\x48\x29\x86\xa6\x26\x08\x4c\x2d\xaf\x6b\x82\xf0\x0d\x42\x00\x04\x87\xc7\x7a\x49\x81\xe5\x7d\x70\x92\x96\x05\xab\xe2\xec\x65\x33\x30\xb1\x6c\x62\xa6\x94\x2b\x9e\xdb\x55\x98\x90\x89\xdc\x5d\xd8\xa7\xc0\xba\xe4\xcb\xd1\xfe\x79\xa8\x0a\x4b\x0a\xe1\x73\xda\x93\x96\x0b\xdd\x00\x5f\x81\x11\x2a\xa9\x86\xb8\x51\x83\x5c\xeb\x20\x9e\xd6\x68\x6b\xa5\xb3\x55\x5c\x7c\x85\x25\x2f\x9b\x94\x16\xb8\x7c\x79\xa9\xe8\x24\xe1\xbc\xef\xba\x59\xf3\x7d\xb1\xa9\xaa\x76\x94\x4b\xa6\xd1\x9c\xbe\x4a\x8b\x78\x0e\x2b\x0d\x49\xa1\x32\x36\x9a\x96\x58\x9c\x85\xa6\xe5\x6d\xc0\xbe\x7c\x9a\xc7\x3b\xb3\x62\x85\x11\x21\xd7\xae\x54\x3d\x84\x37\xc4\x9c\x59\x30\x19\x54\x71\x17\x55\xed\xae\xca\xcb\xe2\xd7\xbb\x96\xbc\x37\xc9\xd7\x1b\xa4\xbb\xde\x00\xe1\x7a\x73\xc0\x16\x9b\xc9\x25\x93\xf8\xe1\x46\x76\x33\x33\x91\xf0\x5c\xba\x0b\x81\xd4\x65\x5e\xbb\xf5\x97\xdd\x64\xb5\xdd\x2a\xe9\xb0\x68\x35\x29\x1a\x3d\x2b\xfb\x9f\x9f\x79\x64\xa2\xb2\xf8\x37\xd2\xdc\xd5\x5b\xb6\x09\xf4\xc9\x3b\x6c\x2c\xe5\x07\x91\x19\x80\x32\x09\x6e\xf1\x45\x66\x0d\xe9\x01\x2b\xb7\x2d\x64\x56\xc5\x4b\xf2\x16\xc8\xa4\xb7\x82\xc6\x57\x74\xb8\x95\x8a\xe6\xb7\x9a\x0c\x26\xb3\x94\x54\x20\x2d\x98\x2a\x16\xf0\xa6\xe6\xab\x45\xac\x15\x3d\x13\xae\xec\x3f\x15\xff\x72\xe8\xcc\x74\x74\xc4\xdc\x09\x8a\xd8\xfe\x4e\x30\x29\xc2\xb6\x5a\x8b\x93\x22\x0f\xa7\x95\x1f\xfc\x22\x7f\x39\x87\x06\xc4\xd1\x6d\xde\x0c\x2a\x02\x99\xdf\xb0\x72\xf2\x94\x18\x7e\xca\x3b\xc5\xbc\x15\x42\xbb\x3f\x6f\x9e\x3d\x2d\xae\x0e\xbc\x58\xc5\xae\x09\x72\xa3\xc2\xa8\x96\x2a\x92\xbf\x69\x1d\x14\xd6\x6f\x8a\xa1\xa8\xf8\x9e\x3f\xee\x0b\x4c\x40\x01\xa0\x7a\x0e\xe6\xe7\xff\xa2\x18\xf0\x3e\xfc\x34\x1c\x38\x94\xbf\x7c\xb3\x3f\x3f\x43\xee\xdf\xaa\x02\xd6\x9c\x99\x2f\x9e\x85\x79\x87\x11\xee\xda\x00\x45\xcf\xd4\x25\x0f\x71\xdf\x53\x16\xf3\x7d\x33\x18\x12\x4b\x6c\x10\x0d\xf0\x41\x44\x12\x44\xc1\x31\x40\xc4\x14\xdb\x20\xd1\xdd\x3c\x2f\x90\xa6\x30\xad\xb8\xc5\x2b\x80\x21\x4f\x79\x33\x8a\xc3\x21\x4f\x2b\x2c\x41\x61\x9e\x2b\x79\xdf\x66\x1b\xea\x62\x2a\x40\xeb\xee\x2e\xf3\x04\xc6\xd4\xb1\x63\xdd\x84\xe2\x2c\x7b\x9e\xe0\x76\x54\x58\xaa\xdc\x47\x4f\x25\x12\xb6\xc3\x2c\xe4\x86\xea\xd4\x2e\x8a\xab\xf3\x77\xbe\x33\xcf\x69\x9d\x3d\x0d\x5b\x67\xdc\xc3\x75\xe0\x81\xea\x19\x09\xc7\xb5\xe4\x45\x16\xfe\x14\x4c\xf1\x07\xf8\x41\xbc\xbc\x9c\x99\xe7\x7b\xde\xc0\x82\xa6\x6f\xc7\x16\x09\xf2\x25\x09\xa1\x99\xb7\x42\xb2\xbc\x9c\x14\xca\x27\xb8\x7c\xa2\x2c\xef\x2f\x79\xf1\xf2\xb2\x9f\x7a\x2f\xb2\xe8\x0b\x23\x80\x06\x67\x3c\xf8\x81\x39\xa0\x9e\x08\x33\xeb\x2b\xb7\xda\x0f\xe3\xb1\x69\x74\xe2\x59\x38\x8c\xbe\x43\x15\x52\x9a\x98\xe7\x13\xd3\x85\x66\xc5\xa8\x0e\xac\x16\xc9\xa2\x79\xe7\x2f\x79\xb3\xf5\xfc\xf4\x95\x56\xf4\xcc\xf6\x2d\x7b\x56\x8c\x10\xa1\x5e\x08\x3e\xee\x8b\x54\xda\x6a\xfa\x9e\x2f\xb9\x1f\xa5\x3b\xa8\xa9\xe9\x8e\xf5\x2d\x3d\x99\xd7\x07\xea\xd7\x90\xc3\xa5\xf5\xef\x08\x17\x4c\xf7\xe2\x39\x84\x27\x43\x54\x2a\xa1\x91\x6e\x01\x85\x6b\x82\x6c\x43\x26\xea\xef\x4d\xc5\xfb\x5c\x5c\x95\x52\x08\xc5\xcd\x4e\x2a\x69\x59\x6a\xd3\x36\x05\x0e\x85\x22\x2a\x34\x4a\xe0\x14\x31\xc9\x17\xb6\xf4\x14\x1c\xe0\x2b\x40\x1a\xd1\xb5\xa8\x59\x55\xdc\x17\x4e\x40\xba\x5e\x4f\xcb\x4c\x10\xc4\x69\x53\x8c\x2b\x94\xca\x49\x3d\xfd\x6d\x66\x79\x39\x4b\x48\xa2\x2c\xb0\xae\x7f\x75\x02\x4e\x9b\xba\xfd\x8d\xd8\xd9\x81\x92\x3b\x20\x0f\xec\x24\x12\x87\x5c\xd9\x4a\x74\x3c\x98\xd8\xed\x30\x2c\x88\xb8\x48\x14\xb8\x25\xfd\x2e\x9d\x39\x71\x7d\xcd\x0e\x61\xad\xb0\x66\xee\x91\xab\xab\x69\xf1\xd8\xdf\xf2\x72\x76\x8a\xd6\xaf\xe2\xd2\x04\xb2\x20\x6a\xde\xcd\xf4\x8e\x05\xed\xd3\x76\x96\x8a\xd3\x6c\x38\x4f\x86\x52\x73\x53\x1f\x40\x91\x1b\xcb\x47\x9c\xc9\xce\x1e\x28\x52\x4f\xc3\xc0\xcd\x27\x9e\xa6\xa2\xd5\x42\x2a\xda\xc1\x02\xed\x24\x3e\x99\x51\x03\x15\xb6\x35\x6d\x37\xc4\x40\x2e\x99\xee\x25\xef\x1b\x99\x45\x12\x06\xb6\x63\xd9\x41\x1d\x5c\x21\x10\x0d\x4d\x64\x23\x85\x5f\xac\x5a\x2c\x32\x47\x3d\x1f\x87\xe1\xae\x7f\xf5\x49\x95\x27\xa0\x28\x27\xcc\x8b\xbb\x0a\x22\x82\x85\xa4\x56\x35\x3d\x60\x22\x3f\x2f\x11\x68\xa5\x72\xec\x83\x78\xaa\x50\xb0\x6a\x64\x3f\xb2\xac\x03\x2c\x2c\xd7\x60\x12\x61\xa0\x17\xff\x6a\xfb\x6f\x43\x51\xde\xcd\x88\x6c\x5a\x2d\xf4\x0c\xe2\xc3\xc0\x83\x79\x77\x13\x52\xe8\x20\x9e\x2e\x79\x28\x8d\x27\x9c\x7f\xc7\x03\xd5\xe7\xa5\xf3\x0b\x51\x8c\x09\x93\xff\x32\x13\xad\x6c\xd2\xb4\x4c\x54\xbb\xa7\x6c\xde\x22\x91\xe1\xb3\x78\xef\xf7\xa4\x75\xe9\xca\x11\x04\x65\x0a\xe5\x3b\xe1\xc5\x89\x62\x57\x03\xfd\x81\x1e\xe9\x52\x6b\x37\x49\x0c\xa9\x5a\xb3\xea\x71\xaa\xe5\x23\x09\x08\x71\x18\xb9\xd3\x8e\x2e\x1e\x60\x41\x63\xc3\x34\x00\xd9\xd0\x8b\xaa\x9b\xe5\x65\xae\x22\x2d\x14\x60\xda\x1b\xce\x70\x73\xa1\x30\x13\x71\x72\x95\x16\xf7\x28\x2a\xa8\xb4\xb8\x99\xe6\x5c\x5d\x9e\xe4\x45\x24\xf5\x6a\xb1\x2a\x05\x39\x0c\x69\x56\x2a\xc2\x82\x64\xb1\xc4\x8a\x6f\xa8\x47\x0b\x18\x4a\x74\x13\xc2\x50\x6c\x82\x10\xf9\xb8\x0e\xf4\xd4\xd3\xa1\x86\x5a\x90\x4c\x56\xe8\x39\x56\x2e\xc6\x97\xb4\x7d\xc0\x67\x01\x29\x15\x58\x36\x5c\xd2\x00\xd3\x4f\x69\x68\x17\xdd\x6f\xca\x8c\x59\x72\x3d\x50\x70\x76\x34\xd1\xb2\x49\x02\x4b\x22\x7f\x37\x1e\x02\xeb\xeb\xc0\x4f\x40\x85\xd4\x22\xb6\xd4\xf5\xcd\xbd\xdd\x4f\x9b\x5b\xaf\x0e\xda\x9f\xde\x74\xdf\x6f\xbd\x6a\x22\x8f\x15\xff\xf0\x7d\x9e\x50\x42\xbc\x0e\x7a\x99\x68\xe9\x81\xbd\xea\xbe\xde\x2a\xc0\x52\xaa\xe8\xe6\x41\x7a\xd3\xde\x5e\x0c\xd2\xf7\x12\x5d\xd3\x6c\x5c\x66\x16\x83\xeb\x7b\x3d\xdb\xc8\x9c\xb8\x16\x9d\x90\x2c\x46\x89\x7a\x2a\x92\x97\xe5\x93\xd0\x86\x76\xa0\xd8\x20\xbe\x06\xc3\x26\xa8\x07\x43\x10\xa1\x60\x14\x00\x68\x5f\x37\x01\x53\x51\x7f\xb0\xaf\xd2\xef\xef\xef\xee\xb2\xb1\x25\xe9\x07\xc9\xb0\x8a\x7e\x76\x4d\x22\x44\xf3\x9c\x16\x22\x91\xb2\x48\x96\x4e\x82\x57\x16\x2d\xab\x5a\x45\x16\xf4\x02\x33\xff\xfe\x04\xf1\x94\x82\x59\x34\x96\x13\x58\x0f\x86\xa7\x1e\x14\x46\x4b\xf2\x84\x6b\x66\x4f\x40\x34\x5c\xb4\x75\xa6\x96\xca\xb7\xa5\x40\x48\xa0\xc9\x69\x01\x07\xe2\x14\xd8\xa4\x31\x23\x68\xc8\xd2\x9f\xd0\xf1\xb8\xea\x29\xfb\x5e\xbf\xae\xc1\xfa\xb5\x96\x2e\xf1\xf7\x1e\x8b\xff\x97\xe8\x76\x91\xb8\x95\x90\x5d\x24\xe1\xbb\x48\xa4\xde\x45\x92\x67\x11\x29\x15\x59\x76\x72\xff\x5d\x24\xb1\xee\x8a\xdb\x88\x7e\x17\x49\x7d\xf5\xd5\xac\xc7\xb7\xd9\x6b\x50\x97\xc6\x45\xd7\x12\x71\x7f\xd4\x2c\x25\xfc\x4e\xb3\x92\x38\x09\xee\xa9\x80\x54\x08\x8d\x97\x34\xda\x16\x7e\x1b\xa8\xe9\x04\xb7\xa9\xc8\xbc\x61\x59\xf9\x53\x59\xd6\x55\x42\x9d\xae\x12\x09\x31\x56\x4a\x1a\x60\x01\x5c\x83\x56\xa0\x16\x48\x0a\x25\xd7\xcb\x0b\x34\xe7\xdf\x7f\x55\xf2\x16\x51\x14\xa2\xbb\x32\x12\xbb\xbf\xb9\x7d\xa9\xba\xa9\x8b\xd6\x1c\x6d\x55\xd6\xfc\x42\xca\xb3\x79\x57\xe2\x22\x9d\xf3\x3a\x40\x1e\x23\xae\xa5\x15\x08\x0b\x65\xf3\x74\x56\x74\xb4\xb9\xf0\x85\xb3\xea\x6a\xa4\x4b\x8b\xd3\x3d\xd6\xe8\xf5\x52\xa9\xc6\x7c\x9a\xe7\x5b\xd7\x68\x69\xee\xca\xb6\x13\xd1\x03\x58\xb9\xa8\x33\x1f\x01\xbe\x64\x68\xe0\xbf\xfa\x08\xc6\x13\xbc\xdf\x74\x88\x50\xa8\x7e\x79\x16\x0c\xce\xac\x3a\x8a\x5f\xc5\x97\x00\x76\xfc\x04\xb3\xb7\x78\xcf\x46\x30\xdc\x01\xd7\xb7\xb7\xa0\x3e\x01\xc8\xdf\x01\xd7\xd6\xf2\xb2\x71\x61\x78\xf8\xba\x40\xb9\x55\xd1\x69\x8c\x7b\xd3\x94\xa0\x4c\x1d\xa8\x8b\x1b\xa0\x0a\x8e\x60\x86\xd4\x52\xdb\x5a\xa0\x8c\x5b\x66\x7e\xda\x5f\xf1\x20\x36\x91\x0c\xef\xc2\x0f\x67\x80\xb8\x56\x17\x1f\x13\x61\x63\xd1\x1f\xc8\xd1\xef\xb8\x25\x8e\x6f\xb9\xfc\x8a\x09\x8a\xa7\x6f\x60\x3c\xf5\xc7\x3e\x45\xb8\xcc\x5a\x3a\x35\xad\x63\xda\xa0\x79\x56\xd3\xdc\x1b\xf9\x83\x07\xd6\xf9\x5d\xa1\x69\x30\xff\xc8\xf9\x0d\x51\x2e\x33\xbe\x00\x8c\xd3\x54\x99\xf9\x6b\xe2\xc7\x81\x5c\x70\x3f\xe2\x9c\x94\xb0\x3c\xbc\x85\x54\xd1\xec\x39\x04\x49\x3c\x83\x03\x20\xa6\xeb\x95\x23\x03\xf2\xd4\xe0\xe9\x83\xbd\x29\xc6\x26\xc9\x42\x07\x2a\x40\xb3\x28\x82\x34\x08\x88\xf0\x93\xf5\x7c\xa1\x24\xc0\xfc\xf1\xd1\x01\x89\x44\x78\xc0\xd2\x6c\x2b\x26\x29\x8c\x47\x41\x08\xba\x43\xd9\xb9\x22\x98\xf8\xf0\x7a\x9f\x85\x28\x49\x83\x07\x02\x10\xd1\x02\x7e\x88\x00\x8c\x7c\x04\xf4\x45\xd2\xf8\x26\x45\x80\x62\x81\x7c\x3c\xc3\x2c\x01\xa4\x18\xf4\x2e\x1f\xbe\x50\x0c\x5a\x28\x06\x23\x4b\x53\x44\x2f\x12\x52\xa8\xb4\xfa\x3d\x62\x5f\xa8\xaa\x2f\x1c\x62\x21\xad\xcc\x98\x1e\x81\x71\x11\x2b\x64\x36\xb8\xca\x10\x84\xb9\x4c\xcc\x22\xf4\xbe\x3f\x38\xa7\x5a\x58\x9e\xf2\x19\xf9\xfd\x7d\x14\x4f\x85\x27\x8c\x37\x3a\x60\x2f\x52\x57\xdb\x0b\xb6\xb0\x0e\xe2\xa9\xd8\x2e\x7f\x4c\x79\x91\x45\x73\x73\xee\x9f\xf9\x53\x40\xc3\xbc\xb3\x9c\xef\xc2\xf3\xfa\xc6\xab\xbd\xce\x8e\x58\x9c\xb8\xd8\x15\xa1\x6c\x84\x41\x74\xde\xb9\x1e\x84\xe0\x93\x77\xe2\x3a\x8e\xed\x3a\x0e\xeb\xc5\xe4\x7a\x2f\xea\x64\x85\x3e\xa5\xb4\x14\x9e\x15\x48\x9a\xf3\xe9\x13\x1b\x1c\xc9\xfe\x8c\x52\xd0\x4a\xd2\xff\xbd\x68\x6f\x86\xc8\x1e\x59\x7c\xb3\x03\xae\x13\x04\xe3\x73\x50\x7c\x49\x36\x9f\x36\x84\xf1\x25\x2e\x24\x0d\x28\x18\x01\x1f\xed\xc6\xb3\x04\xf4\xc0\x34\x86\x28\xf9\x94\x86\x9f\xec\x83\x30\x6c\xcf\x86\x41\x3c\xcf\xa6\xdf\xc7\x85\xb8\x71\x7d\x56\x4b\x0c\x3e\x00\xc2\xb0\x46\x8b\x15\x4a\xc9\x5e\xb9\x53\x08\xc2\xd8\xc7\xdb\x97\x3f\x43\x12\xd0\xd7\x31\xbe\x4e\x0d\xc8\x21\xf0\x2a\x48\x90\x38\x99\x92\x73\x14\x4f\xc5\x02\x1b\x20\x0c\xb3\x9e\x24\xfe\x05\x18\xb2\x8d\x50\x88\x94\xc9\x1f\xd0\xb5\xce\xde\xb3\x19\x5b\x88\xab\x79\xc1\xf3\xeb\x1f\x1d\x88\xa3\x79\xce\xf6\x5b\xf6\x92\x6f\xbf\x62\x91\x20\x4e\x93\x99\xb3\x69\xd8\xdd\x13\xdf\x03\x12\x86\x94\x8c\xc1\x26\xf4\xc7\x74\xa6\x67\x71\x43\xe3\xe9\xf5\x5e\x44\x59\x1c\x61\xe0\x48\xf4\x2f\x12\x50\xb7\x13\x06\x83\x73\xea\xc2\x98\x7b\x4d\x1e\x6e\xcc\x10\x8a\x23\xe1\x15\x6e\x86\xae\x3e\x1a\x1c\x8d\x6c\x02\x9c\x52\x24\x5b\x6d\xaa\x33\x68\x8f\x10\x80\xf4\xbd\xc3\x6f\x52\x24\x76\x12\xde\x38\x3f\x99\x8f\x1d\xbb\xb1\x9a\x5e\x53\xf8\xe5\x8d\xaf\xe9\xec\x02\x83\xde\xd0\x2d\xdf\x04\xb7\xb7\x06\x5b\xf9\x86\x9d\x57\xb8\xc6\x11\xa7\x4f\x0f\xf8\xc3\x6b\xd3\xba\x13\xb7\xaf\x3b\x5b\xbd\x8c\xbd\xaf\x64\x1d\x37\x0d\xf2\x61\xd8\x1b\x5b\xed\xdd\xa6\x81\xff\x6f\xd8\x87\xaf\x37\xb7\x7a\x44\xae\x63\xa4\x5f\x0d\x09\x90\x24\x21\x11\x5b\x17\x85\xb0\x9a\x1a\xc8\xef\x53\xbf\xcb\xc7\xea\xf7\x59\xbf\x55\x9e\xf8\xc2\x29\x08\xea\x10\x4c\x43\x7f\x00\xcc\x07\x1f\x1f\x3c\x18\xdb\x86\x21\x66\xb0\x65\x26\xfa\x10\x8c\x12\xae\x5c\xa4\x3f\xea\x43\xe0\x0f\x50\x70\x41\xdc\xc8\x6c\xe1\x05\x9b\x6d\x85\x83\xde\xcc\x35\x2c\x55\xaa\xfb\xc3\xe1\x1e\x0f\x1d\x4b\xa2\x73\xdb\x5f\x0d\x3f\x44\xb5\x31\xac\x4d\xe2\x21\x30\x9a\x12\x57\xe6\xd1\x50\xf8\x60\xdd\x00\x51\x6d\x96\x18\x9e\x17\xf9\x17\xc1\xd8\x47\x31\xac\x87\x7e\x34\x9e\xf9\x63\x20\x73\xc2\xeb\x34\xda\x56\xd3\x80\xc4\x4e\xdd\x0f\x91\xd1\x34\x68\xf0\x65\xcc\x09\x5f\x4f\x41\x3c\xaa\x80\xf5\x5c\xad\x26\xad\x65\x3f\xf8\x95\x89\xbf\xdc\x92\x38\x13\x7e\x88\x6e\x43\x30\x22\x40\x6e\x53\x70\xd6\x2f\x1e\xd4\x11\x48\x90\x09\xac\xdb\x5b\x13\x78\x3c\xba\x17\x4c\xd7\x28\x66\x22\xb6\xe1\x6e\x3c\x24\xce\xbe\xa4\x77\x78\x33\x26\x51\x65\x6a\x41\x52\xc3\xdc\x79\xf6\x44\xee\xb1\x0c\x65\x83\x17\xea\x26\xbb\x00\xf9\xe9\xcf\x14\x2e\x83\x56\x06\x83\x56\x4d\x6b\x24\x20\x1a\x26\xb5\xcb\x33\x1f\xc9\x95\x1e\xfc\xca\x04\xc9\xc0\x9f\x82\xdb\xc7\xb5\x7e\x80\x6e\xfb\x30\xbe\x4c\x00\xac\x9d\x83\xeb\x42\x8f\x69\xc1\x42\x9f\xf7\x31\xe8\x77\x67\x3e\xa2\x8d\xcd\x86\x98\x33\xae\x91\x3d\x39\x21\xde\x62\xcd\xa2\xac\x1e\xf0\xa0\xe6\xbf\x0a\x83\x7e\x8d\xf3\x9d\x4d\xf3\xe3\x7e\xd5\x7a\x60\xb5\xd0\x3a\xd4\xef\xe1\x09\x1c\x18\x98\xb9\x65\x95\x88\xf7\xaf\x8f\xfc\x43\x18\x9a\x88\x44\x64\x6f\xce\xab\x0c\xac\x3b\xdb\x60\xdb\x7a\x2d\x12\xf6\x75\x82\x75\x6e\x2e\x2e\x2f\x8b\x3b\xff\xba\x09\xf5\x07\x82\x31\x86\x7e\x84\xc0\xd0\xf0\x3c\x4f\x7c\x5b\x9f\xe2\xf5\x9b\xe0\x9b\xb7\xad\xaf\x7e\x7b\x2b\xa7\x80\xd5\x22\x58\x09\x92\x0a\x82\x33\x50\xe9\xcf\x50\xe5\x12\x54\x86\x31\x31\x2b\x3b\xf3\x2f\x40\x25\x6b\xa9\x82\x62\x1e\xc1\xb0\x22\x82\x48\xea\x06\x21\x51\xc9\xb1\x76\x67\x1b\x19\x1b\x41\xc3\xc8\xe5\xa7\x5a\x31\xd8\x00\x49\xe2\x24\xd6\x0b\x26\xfe\xb8\x30\xcd\x25\xf6\xb2\x10\x54\xa0\x00\x83\xb0\xbc\x8b\x82\x20\xfc\x76\x1e\x02\xf7\xba\x5c\x18\x4a\x9a\x10\x33\x85\x44\x57\x30\x5d\x41\xf3\xd7\x6f\x5a\x82\xac\x0b\x79\xed\x66\xde\xa2\x13\x7f\x4a\xd2\x4f\xc0\x60\x08\x12\x19\x16\xdb\xfb\x6e\x6f\x41\x25\x88\x12\xe4\x47\x03\xbc\x77\xed\xf5\x3f\x83\x01\xc2\xd3\xef\x02\x65\xe2\xfe\x5d\x7f\xca\x24\x7e\x26\x5e\x96\x85\x57\x09\x40\x7b\xbc\x15\x13\x58\x56\x53\x9e\x62\xd9\x26\x5e\x91\x51\x9b\xc4\xc3\x6c\xc2\xf0\x08\xb2\x7e\x54\x89\x09\x16\x34\x4f\x36\xee\x0f\x0d\x0f\xda\x27\xb1\x28\x8b\x33\x44\x60\x54\xcd\xa5\xa5\x42\x8d\xda\x00\xb3\xbd\xb9\xe5\x26\xf6\x99\x24\xb2\x5e\x5e\x36\xa2\xd9\xa4\x0f\xa0\xb0\x8f\x9f\x38\xa7\xca\xc7\xee\xe9\x3a\x54\xf0\xd5\xa0\xa9\x7a\x5a\xac\xbf\x7e\x02\x6c\x70\xda\x4c\xd9\xf0\x0c\x5f\xdd\x1a\xe8\x64\xac\x3d\x9d\x2f\xa4\x60\x6d\xea\x87\x00\x21\xa0\x1b\x61\x96\xa0\x42\x37\xc8\xb9\x87\x84\x0a\xa4\x52\xc0\xae\xf1\xf4\xe3\x0d\x6d\xc4\x4b\x9f\x26\x28\x1e\x9c\x77\x84\x57\xf5\x41\x1c\x0d\x7c\x3c\x35\x80\x95\xa6\x26\xaa\x04\x51\x05\xf0\xe4\x0f\x99\xdf\x35\x0d\x44\x9e\xbc\xf6\x5f\x9b\xb1\x75\x7b\x1b\x3f\x75\x6e\x6f\xe3\x67\x8d\xb5\x35\x4b\xb2\xa9\x63\xce\xee\x15\x22\x97\xc1\xa0\x58\x57\x49\xba\xf2\xaa\x41\x66\xc6\x09\x3a\xcd\x82\x3e\x83\x93\xf8\x94\xa7\x86\x48\x31\x8d\x62\x38\x21\x9c\x5e\x67\x7f\x9f\x96\x68\xd1\xa4\x1b\x8a\xfe\x9d\xc4\xa7\x5e\x62\xdd\xdd\xc1\xdc\xa5\x3b\x9f\xbd\x8c\xc6\x3b\x10\x2a\x92\x15\x91\xbf\xd8\x2f\x50\x4b\x95\x8e\x5b\x5c\x28\xea\x11\x16\x16\x89\x8f\x07\xac\x12\xc3\xc2\x6a\x89\xa7\xd7\xb5\x38\x62\x71\xd1\xf2\xb3\x49\xe2\xc4\x97\x96\xf0\x76\x31\x4b\x40\x8d\x31\xb4\x35\x7a\x23\xae\x91\x40\x89\xb9\x9a\x6a\x96\x9b\x40\x20\x0c\x77\x16\x88\xad\xe6\x63\x96\x5b\x09\x44\xcb\x9a\x53\x38\x98\x31\x9a\x86\xb3\xa4\x36\x09\xa2\x59\x52\xbb\x01\x30\xae\xdd\xc4\xf1\x44\xbb\x0d\xe2\x1a\x6f\xc2\x59\xb2\x8b\xcb\x1f\x03\x18\x1f\xc7\xf1\xc4\x4b\x61\x0d\x94\x48\x48\xb5\x3b\xa4\xfd\xb4\x06\x0b\xff\x55\x5a\x85\xc7\x5a\xb1\x0b\xfb\x7b\x16\xa5\x85\xae\x53\xe0\x27\xa8\xe6\x27\x81\x1f\xd5\xfc\x49\x3f\x18\xcf\xe2\x59\x52\xf3\x93\x1a\xba\x8c\x6b\x34\xfd\x5f\x6e\xc9\xd6\x2f\x07\x75\x08\xc6\x3e\x1c\x76\x3e\x9f\xb7\x79\x15\x82\x1e\xbd\x61\xd5\x08\x03\x55\x1b\xc4\x11\x82\x71\x98\x47\xf3\x02\xb1\x8b\xd8\xe3\x8d\x80\x08\xb0\x61\x1c\x32\xda\xb2\xea\xfd\x38\x1c\x16\x76\x98\xeb\x68\xb0\x11\x87\xc3\x7d\x7f\x04\xf6\x11\x8b\xe8\x20\x56\xc0\x28\xf7\x09\x8f\x9a\xaf\x5a\xbe\x58\x28\x08\x0c\xba\x9d\x6c\x90\xfa\x18\x99\x05\xd6\x8b\xba\xa2\x80\x94\xf2\x28\xc0\xdd\xc0\x2f\x0a\x7d\x18\x84\xc1\x94\x0c\x5f\x8d\x64\xd7\xd4\x52\xad\xc3\xcb\xbd\xc3\xc5\xe4\x26\x87\x60\xe0\x36\xb4\x35\x37\xf1\x5b\x56\x41\x08\x77\xab\x42\x31\x0b\x21\x46\x50\x4c\xa3\xe0\x2a\xf6\x7d\x1e\xca\x82\x4e\x26\x5a\x92\x07\x31\x5b\x08\x34\x97\xc4\x68\x4f\x96\x5c\xf0\x29\xda\xd0\x59\x3c\x01\x98\x35\x4f\x6a\x5c\x98\xac\x59\x0c\xb8\xe0\x0e\xb8\x66\x46\x51\x78\x96\xe2\x57\x41\x34\x0c\xa2\x71\x92\x3f\x8b\x44\xe6\x85\x15\xa1\xdb\x01\x39\x38\xf0\x1e\x5e\x3c\xa3\x2c\x04\xaf\xbf\xaa\x2a\xfa\xc3\xe1\x06\xfb\x8e\x71\x1e\x10\x36\x1f\x64\x96\xd9\x2c\x4a\x3d\x89\xbf\x8f\xcf\x0f\x01\xaf\xca\x34\xdd\x65\xd9\x9e\xa9\x8a\x6f\x3f\xb7\xe6\x16\x8f\xe8\x4f\xb7\x5f\x03\x13\x6e\xe2\x5f\xd5\xe8\x6d\xb0\x96\x80\x2f\x33\x5c\x50\x31\x63\x26\xfe\x15\xd5\xbd\xec\xb3\x32\x64\x79\x4f\xc0\x30\xf0\x29\xd5\x7d\x08\x6a\x23\xfc\x4d\x4b\x78\x52\x18\x53\xbe\x0d\xc1\x73\xfc\xc9\x40\x20\x9f\x31\x90\xec\x12\xa5\xaf\x8f\x7c\xc2\x38\x6e\x91\x72\xb4\x36\x09\xc5\x4e\x6f\xa2\x83\x30\x18\x9c\xab\x77\x42\xa5\xcc\x26\xab\x4f\x83\x27\xf6\x89\xbc\x46\x35\x45\x77\x73\x32\x1d\x32\x51\xa7\xfe\x78\xb1\x09\x87\x0b\xca\x13\xce\x98\xfa\x49\x82\x6f\xce\x35\xc6\x67\xa9\x98\xdc\xe5\x65\x13\x78\x4b\x4c\xda\x9b\xdd\xf1\x67\x09\x80\xed\x31\x88\x10\xbf\x26\xee\xfa\x83\xca\xde\x7e\xe5\xfd\x03\x6b\x79\xd9\x98\xc6\xd3\xd9\xd4\x58\xf2\xe2\x3a\xad\x78\x70\x3d\x05\x16\x71\x70\x49\x92\x76\x88\x5e\x93\xe6\x32\x14\xc8\xe9\xf1\xfb\xc4\x01\x9f\x35\x79\x24\xc8\x0c\x98\x87\xc4\xcf\x88\x03\xbe\xfc\x2b\x71\xb8\x28\x19\x42\x5a\xed\x88\xd4\x80\x60\x00\x82\x0b\x50\x03\xd1\x20\x1e\x16\x76\xb5\x07\xbf\x32\x67\x68\x54\x7b\x7c\x0b\xfd\x4b\x59\x4e\x20\xf1\x4d\xdf\xc9\xec\xe2\x28\x86\x15\x05\xe0\xca\x77\x55\x12\xdd\xc9\x20\x20\x8d\xfc\x45\x66\x8b\x15\x24\x68\xd1\x69\x88\xb9\xa8\x73\x2e\x90\x56\xdf\xec\x24\x89\xb5\x5c\x33\x26\x42\x6e\x5d\x35\x2e\x02\xcf\xea\xf4\x7d\x58\x63\x26\x8a\x8a\x8d\x3a\xaf\x13\xa4\x3b\x35\x6b\x8d\xc4\x0b\xaf\x4d\xfc\x6b\xb2\xfa\x6b\x3e\x84\xf1\x65\x4d\xb5\x81\xa8\x25\xe9\xa0\x00\x29\xbe\x00\xb5\x49\xaa\xe7\xd3\xa2\x53\xd4\x1c\x32\xb4\x30\x16\x3f\xfb\x90\xe6\xa0\x2a\xc6\x33\xe3\xd2\xd4\xa3\x7a\x16\x8c\x50\x8d\x2a\xe0\xe7\xb0\x79\xa4\x68\x97\x94\xcc\x76\x38\xc4\xe4\xa3\x9a\xae\x91\xf9\x44\x32\xf7\xd1\xb7\x94\x16\x24\x96\xf5\x20\xd1\x0c\x45\xca\x39\x66\x21\x40\xe5\x6a\x35\xcc\x19\x2d\x56\x97\xd8\x23\x90\xca\x97\x31\x1c\xd6\x88\xbd\x56\x8d\xac\xe8\x5a\x08\x46\xf3\x58\xb7\x62\xfe\x3b\x4f\xc9\xa9\xa9\xca\xa9\x9a\x5c\x84\x5d\x54\x64\xd6\x5b\xa4\x51\x56\x50\xd5\xea\x84\xa4\xe0\xbb\x57\xb3\x34\x6b\xdf\x22\xed\xf2\x92\x77\x77\xb2\xd4\x19\x02\x7f\xb8\x8f\x62\xe8\x8f\x81\x99\x57\x08\xb0\x22\x44\x34\x76\xdd\x0e\x43\xd3\xb2\xd1\xf2\x32\x2a\x53\x0c\xc8\xa9\x5e\x71\x7d\x5d\x9c\x40\x0a\x5c\x53\x39\x01\x68\x03\xfa\x83\x73\x80\xc0\x50\x13\x38\x92\x2b\x8f\xea\x7d\xb9\x20\xd0\x83\x14\x44\x11\x4a\x77\xa9\x4c\x05\x09\x0a\xba\x4d\x5d\x3c\x50\x6d\x41\x92\x91\x47\x08\x1a\xaa\x26\x91\x12\x25\x99\x50\x22\x62\xfa\xbe\xed\xe7\x72\xea\x15\x3b\xa8\xd6\x72\x95\x90\x6b\x6e\xa8\xd4\x82\x22\x55\x23\xbd\xb0\x54\x26\x06\xf9\x6b\x53\xa6\xbf\x4a\x4c\xa5\x2e\x56\xad\xbc\xb5\xd4\xd6\x09\x3f\x2f\x74\xad\x24\x34\xbb\x78\xe8\x06\x78\xc1\x78\xb6\xf9\x86\xf5\xa3\x32\x37\xe4\x6e\x41\x87\xfd\xff\x93\x51\x51\x5d\x07\x75\xa3\xb2\x60\x34\xe4\x3c\x3a\x1a\x80\x70\x16\x75\xe2\xc9\xc4\x8f\x86\x9d\xd0\x4f\x92\x9c\xb6\x51\x88\xb7\xc9\x36\xd4\x31\x40\xa6\x01\xa2\x8b\x00\xc6\xd1\x04\x44\xc8\xb0\x5a\x06\xbb\x89\xa5\x92\x56\xb8\xbc\x4c\x53\xed\xc2\xdb\x5b\x13\x7a\x5f\xef\x44\x37\x02\x96\x80\x9e\xb6\x49\xb4\x8d\xc0\xfc\xea\xc3\x31\xbd\x9a\x35\x69\x88\xf0\x20\x6e\x32\xed\x77\x7d\x3a\x4b\xce\xf0\x4d\x35\x6b\xb2\x09\xed\x38\xda\xba\x0a\x50\x4e\x84\x83\x0b\xc7\x53\xd3\xb2\x83\xfa\x2c\x22\x57\xda\x30\x4c\x55\xea\xf8\xa9\xd8\x85\x41\x18\x27\x00\xb3\x8b\xe0\x2a\x40\x86\xb5\xbc\xcc\xb8\x73\xf2\xdc\xb4\xd2\xa3\xa6\x08\x47\xc4\x1f\x93\xcf\xd4\x8d\x55\x90\xbc\x11\xe7\xe7\x9c\xa0\xb3\x9e\xca\xf4\x48\x07\x59\x46\xaa\xe0\x7e\x9c\xb2\x53\x79\xec\x0b\x73\x4f\x4e\x87\xd8\x8f\x87\xd7\xba\xde\x14\x48\xba\x78\xab\x78\x32\xe8\xc0\xe2\xa3\x2d\x49\x8e\x7c\x98\xcb\x0b\xed\x19\x3c\x9d\x87\xc1\xf3\xcf\xa5\x16\x24\xfc\x1b\x0f\x24\x4b\x4f\x2d\xaa\x32\x9f\x02\x88\xae\xcd\x1f\x7e\xf1\x15\xde\xfd\xe2\x2b\xb8\xfb\x81\xe5\xe1\xd6\xed\x47\x8a\xf0\xa8\x8e\xc7\x2f\x6c\x85\x79\x9f\xc9\x8c\x94\xf6\x54\x92\xe0\x28\xb5\x5f\xa0\xdd\x33\x8d\x34\x2d\x09\x71\x59\x32\x8a\xf5\x65\x2f\x8f\x2c\xa4\x59\x09\x28\xea\x0a\x32\x17\x16\x73\x75\x23\xc0\xca\x36\x16\x6d\x00\x57\xd5\xbc\x49\xfb\x3a\x07\xe4\xdc\xb0\xfd\x79\xa0\x99\x24\x4d\x3d\x6e\x92\xc0\xad\x30\x0b\x15\x23\xc2\x00\xaa\x87\x93\x09\x0c\x65\xce\x52\x18\xed\x54\xee\x67\x09\x26\xd7\x05\xa9\xad\x16\xd3\xbc\xdc\x45\x13\x8a\x50\x6c\x57\x21\xd0\x21\xea\x1b\xae\xd1\x5a\x4a\x35\x5a\x5c\xdf\x5e\x22\x52\xf8\x68\xbe\x77\xdd\xd6\xc7\xa4\x9a\x2a\xdf\x97\x97\x8d\x0e\xdc\xdb\xc7\x60\x4e\xdc\xd3\x75\xb5\xc5\x4f\xa3\xa9\x7e\xee\x32\xe7\x62\xe5\x4b\x2d\x3f\x96\xa7\xd8\x02\x44\x10\xc5\xe6\x42\xce\x77\x0f\x58\x32\x23\xbe\x98\x18\xdc\x03\xf6\x45\x1c\xb0\xfd\x6f\x71\x21\xb8\x07\xa4\x40\x8c\xe2\xd4\xd2\x44\xf8\x84\x0b\x96\x34\x68\xc7\xec\xc0\x43\x75\xf0\x65\xe6\x87\x89\x09\xad\x56\x90\x37\x12\xc0\x48\x64\xba\xdb\xa4\x32\x0c\x12\xc2\x21\x37\x2b\x18\x4a\x25\x1e\x55\x30\x9c\xca\x25\x59\xdf\x95\x61\x30\x1a\xe1\x52\x23\x18\x4f\x2a\x94\x61\xaa\x57\x2a\x78\x05\x54\xe8\x2c\xaf\x04\x09\xd1\xe4\xcd\x59\x78\x0b\x71\x57\x02\x95\x82\xc5\x38\x26\xb1\x46\xd9\x4c\x49\x55\x09\xc5\xb5\x9d\x6d\x81\x51\x3c\x04\xb5\xe1\x0c\x12\x1d\xb6\x51\x5c\xbc\x92\xc2\xc2\x5a\x37\x9c\xfa\xa3\xc4\x68\x1a\x8e\x76\x03\x4c\x17\xeb\x3e\x3e\x4d\xca\x9a\x2e\xe6\xce\x34\xb8\x95\x1f\x93\xd2\x12\x63\x48\x76\xa0\x5f\xa0\xfa\xee\xde\xe1\xfe\xd6\xa7\xde\xd6\x9b\xbd\xde\xc1\xa7\xcd\xee\x7e\x7b\xe3\xd5\xd6\xe6\xba\xa1\xcd\xc7\x89\xe9\x66\x19\x4d\x7d\x81\x69\x1c\x44\x08\x40\x4b\xdf\x19\xff\x02\xd0\xeb\xd9\xbc\x24\x14\x14\x22\xb7\x8a\xa0\xf9\xa0\xca\x76\x74\xd9\x70\x7b\x1e\x74\x79\x06\xe8\x0f\x62\x1d\xd4\xbc\xdd\xbd\x0c\xaf\xec\x72\x7a\x9c\x85\x09\x5e\xe0\xe4\x91\x8f\xcb\x2c\xc4\xb0\x1e\x63\xaa\x8b\x3d\x08\x50\xce\x4d\x20\x67\xda\x5c\x47\xa4\x84\x0e\x51\x08\x12\x14\xc3\xc2\x50\xa5\x1b\x7b\x50\x1f\xd5\x07\xa1\x3f\x99\xd2\x20\xb9\xb6\x93\xb7\x45\xe7\x91\x5b\x5d\xbc\xf5\x88\xa5\xa9\x96\x53\x51\x81\xe6\x8c\x70\x79\xd8\xaf\x2c\x19\x65\x47\x9a\x09\x26\xb2\xa1\x65\xa7\x80\x9e\xc1\xdb\x5b\xfe\xdd\xf3\xe0\xf2\x72\xe6\xfd\x60\xe5\xbd\xf3\x72\x53\x8a\x97\xf3\x96\x1c\xdd\xbc\x22\xea\x28\xda\xfe\x1e\x2f\xad\x38\xd7\xcb\xa1\xbb\xf3\x84\x27\xd4\xe4\x53\x23\x3c\x61\xe6\xde\x20\xf5\xf9\xc3\xeb\x9a\xd6\xfb\x54\xb6\x1e\x94\xa0\x55\x42\x10\xda\x40\xd9\x84\x92\xd2\x70\x30\xdd\xc1\x92\xc7\x93\x11\x91\x80\xd6\x62\xd4\x5b\xe2\xd7\x3f\x00\x41\x58\xe4\xea\x15\x9c\xe4\xf7\xa0\xb8\xed\x6b\x22\x4a\x5b\x62\xb0\x5b\xd1\x64\x17\x68\x66\x9f\x25\x47\x82\xd8\xbf\x8e\x06\xf2\x64\xfa\x64\x72\x87\xf9\x42\x2f\x0c\x92\xcd\x59\x4f\x96\x7c\x64\xdc\x32\xba\x88\x91\x6e\xe7\x31\xc3\xdf\x03\x5d\x2f\x95\x0b\x26\x4d\xf5\x74\xcf\x4e\x32\x94\x4a\x7b\x29\xb6\x9e\xbb\x7f\x03\xc9\x23\x36\x43\x87\x87\xfe\xa3\x35\x69\xb4\x03\x72\xe7\x28\x96\xa7\x18\xc8\x15\x58\xf4\x83\x34\x1a\x6c\x10\x4b\x26\xcc\x09\x1f\x6d\xdd\xbc\x97\xda\xcd\xbb\xbd\x81\xa7\x9e\x53\x4c\xc5\xde\x46\x08\x4c\xa6\xa8\x82\xe2\x0a\xab\x5d\xe9\xfb\xc3\x0a\x4b\x74\x60\x54\x53\x4e\x0b\xc8\x11\xcb\xc7\x6c\x65\x88\xd9\xf9\x73\xc4\x28\xe4\x1f\x23\x26\x3f\xb3\x49\x44\x83\xfa\x60\xb2\x3c\x73\x68\x0c\x9e\x9c\xe7\x08\xa3\x8a\xc2\xfc\x5c\xbd\x6b\x22\x21\x64\xa3\x20\x1a\x49\x3d\x54\x98\xcb\x75\xcd\x6d\xc1\x67\x9e\x93\xba\xda\xa6\xef\x4f\xe0\xe9\x53\x60\xb5\x60\xad\x66\xe5\x2a\x12\xc1\x45\x71\x4b\x16\xba\xa1\xc4\x68\xce\x00\xf1\x18\xe5\x3f\x65\x84\x78\x8a\x8a\xd2\x21\xe2\xb1\x07\x5a\xea\xd9\xe7\x01\x31\x73\x4b\xc6\x9c\xb0\x41\x7d\xea\xd0\x28\x4a\x88\x78\x95\x23\x96\x3e\x26\x8b\x3a\x91\x8f\xcf\x14\xd4\x84\x25\x9e\x3a\x0c\x31\xe2\x7b\x1e\xc4\x47\xa5\x45\xdd\xe6\xf9\x9c\xa1\x50\x88\xa6\x26\xb0\xd8\x3b\xa9\x13\x53\xe2\xc0\x6c\x5a\x36\xaa\xd5\xee\xa8\xf5\x9c\x3c\x1a\x67\xc1\x88\x78\x9f\x9a\x28\xeb\xa5\xd4\xfc\x74\x96\x9c\xd5\xfd\xe9\x94\xdf\x34\x73\xef\xed\xd8\xb2\x09\x66\x2c\x38\xa2\x7f\x65\x92\x9f\x35\x64\x3b\xcc\x14\x02\x23\xfb\xcc\xa1\xbe\xa3\x4f\xbd\x92\x3e\x72\x8b\xbb\x2c\xcc\xa2\xd2\x85\x2a\x8d\xc5\x14\xa9\x81\x25\xd3\x30\x18\x00\x25\xb6\x7c\x26\x27\x76\x92\x9b\x96\xb3\x28\x23\x45\x84\xc9\xe5\x25\xb4\x5f\x55\x2f\xb9\xe3\xfb\x0c\x0d\x48\x45\x23\x4b\x23\xeb\x8e\xaf\xb2\xa3\x03\x7a\xd6\xf4\xc0\x18\xcf\x46\xe2\x28\x40\x84\x43\xd9\xa9\x9b\x72\x43\x26\xd4\x32\xb7\x34\x40\x50\x3c\x51\x70\xe9\xe2\xe5\x5f\x0a\xd0\x64\x6a\x99\x0f\x5a\x6e\x2b\x2a\x0a\xb4\x34\xd0\x58\xda\x82\xe2\xec\x2c\x6f\xe1\x8d\x3f\x06\x87\x53\xcd\xd5\x37\x77\x1b\x93\xdc\xe9\x5b\xf3\xba\x26\xad\x47\x51\xe0\xe3\xce\xc7\x68\x33\xbe\xd4\xc9\x24\x7e\x1a\x4e\x55\x2d\xa7\x5a\x8a\xd3\xab\x20\xfa\x9d\x51\x69\x81\xa6\x7f\x77\xe4\xd0\x36\x7e\x19\x4c\x01\xf3\x79\x2f\xa6\x4e\xd4\xec\x71\x4e\x51\xe2\x27\x25\x04\x3b\x51\x5c\xe0\xd5\x97\xf4\xd3\xfa\x28\x86\x5b\xfe\xe0\xcc\x54\xb9\x71\x48\x5b\xfb\x33\x27\x0b\x42\x41\x45\x51\x74\x81\x3b\x69\xe8\x78\xc2\xc7\xe3\x85\x69\x02\x4b\x56\xb4\x66\xa2\xb3\x02\xd3\x54\xec\x8a\x9c\xe2\x4a\x77\x71\x02\xc5\x7c\x09\xa4\xfd\x76\x18\x2a\xbc\xc8\x34\xfe\x65\x19\xc6\x0a\x8a\x2d\x24\x07\xe1\xe6\xf9\x2a\x70\x79\x62\x2f\xa8\x5a\x92\x40\x16\x0c\xed\x0b\xa2\x0e\xc9\x4c\x9f\x93\xfa\x02\xe5\xc0\xc4\x23\xd4\xa3\x0f\x74\x8b\x80\x97\x28\x90\xb5\xcc\xd7\x31\x55\x65\x0b\x16\xf8\xde\x52\x3e\xa1\x83\xf0\x72\x61\x9a\xe6\x8c\xbd\x17\xa7\x9c\xaa\xe2\xfc\xc3\x27\xa5\x33\x37\xf4\xd1\x5f\x57\x47\x31\xbc\xf4\xe1\x90\xcd\xa5\x92\x84\x79\x3a\x21\x0b\xbd\x9b\xd3\xb0\x3d\x4a\x0e\xb2\x85\xaa\x55\x8b\xf3\x2e\x19\xfb\x88\x4e\x9f\xa5\xf2\xcf\x8b\x38\x18\x56\x64\xcc\x29\xbb\x58\xac\x64\x49\xdc\x57\xf9\x3d\xba\xa5\x07\xa9\x10\x22\xd8\x0b\x5d\xcd\x75\x62\x14\xbc\xad\xfd\x3c\x84\xd4\xb1\xe1\xe8\x19\xa6\x71\xad\xa6\xa4\xe5\xd3\x6f\xa3\xa5\xb2\x9c\xfe\x68\x01\xa8\xd0\x3d\x90\xf5\x6f\x01\xd4\xbf\xaa\x70\xcf\x04\xe1\xad\x45\xbb\x96\xb5\xc1\xf9\xbe\xaa\x6b\x3b\x36\x60\xec\x59\xe1\xb5\x43\x5f\x96\x48\x6c\x58\xc7\xda\xa8\x28\x6a\xfc\xf6\xb1\x23\x31\x9c\xf7\x46\x26\xb0\x5a\x35\x77\x29\x8d\x72\x52\xc4\xde\xd6\xd2\x3c\x7f\x0c\x14\xc3\x33\xe7\xc8\xcd\xcf\xd3\x42\x60\x81\x12\x99\x52\xee\x40\xd1\x8c\x2e\xb8\xbd\x75\xec\xec\x9a\x48\x33\x6f\x05\x1e\xf2\x50\xcd\xad\x99\x98\x1b\xfa\x23\x58\x85\xad\xe0\xa9\x72\x85\xb5\x82\xaa\x07\x79\xa2\x0e\xde\x94\x19\xf0\x84\x2f\x85\x30\x08\x5a\x75\x31\x02\x70\x0a\x81\x22\xc7\xf3\x05\xca\xde\x9a\x0b\xc9\x38\x34\x6d\x0c\xc1\x20\x86\xbe\xca\xd8\x89\x44\x81\x00\xc5\x53\x9e\xd7\x10\x9a\x2d\x75\x1e\x2c\x9c\x7b\x05\x67\x44\x8d\x52\x36\xe7\x42\x58\x06\xa7\x4c\xb7\xab\xf0\x21\x2c\x03\x95\x7a\x26\x6a\xc0\x09\x86\x87\x05\x30\xa9\xed\x62\x79\xdd\x2c\x00\x95\xaa\x32\xb5\x60\xb4\xc4\x3c\x7b\x34\x3d\x37\xf9\x4d\xbe\x16\xc2\x4b\x88\x2a\xec\x02\x60\x85\xf6\x3b\xe7\xfb\x90\x02\x29\x58\xcd\x16\x80\x15\x6d\x6f\xad\x7c\x75\x85\x95\xab\x06\x8c\xc6\x7c\x36\xed\x7b\x1a\x78\x44\xc5\xc8\x67\xf6\x0f\xb9\xd2\x34\x61\x60\x1c\x91\xcc\xfe\x57\x68\x02\xa2\x59\x51\xc4\xbb\xe4\xde\x89\x2a\xc2\x38\x22\x3a\x24\x29\x70\x87\x42\x27\x28\x65\x23\x36\xad\x16\x54\x64\xfb\x27\x1a\x9f\x61\x7c\x19\x19\x98\xbf\xd6\x96\x98\x4d\xcb\xdf\x93\x70\x81\x59\x72\x27\x29\x84\x8b\x18\x9b\x14\x29\x41\x90\x69\x92\x06\x86\x79\x8e\x7f\x75\x48\x14\x41\xa1\x87\xf6\x92\x63\x95\x20\x40\xbb\x20\x10\x4e\x08\x24\x35\x1f\xae\x7c\x8b\x50\x35\xd2\x0f\x67\x70\x2e\x86\xae\x65\xa9\xa3\x5c\xe7\x33\x8c\x12\x75\x9e\xd5\x0a\xa4\x50\x64\xdf\xb1\xc3\xab\x16\xc5\x43\x70\x42\x57\x91\x31\xf2\xc3\x04\x18\xa7\x95\xaf\x95\x4a\x3f\xbe\xc2\x0b\x23\x88\xc6\xcd\x0a\x35\x9e\xac\xf5\xe3\xab\x56\xa5\x92\xf7\xb3\x6e\x56\x10\xf4\xa3\x84\x06\xd1\x17\x33\xbb\x56\x78\x3d\x26\x10\x6d\x4c\xaf\xb2\x67\x04\xa9\x66\x25\x89\xc3\x60\xd8\xba\xab\x5f\x0e\x08\x1e\xb8\x61\xe6\x01\xde\xac\x04\x51\x18\x44\xa0\xd6\x0f\xe3\xc1\x79\xab\x52\xc1\xc8\xd7\xfc\x30\x18\x47\xcd\xca\x00\xe0\x0d\xbe\x55\xe1\xb2\xd6\x81\x1f\x0e\x4c\x51\xb5\x28\x1b\xa6\x58\x95\xef\x2b\x0d\xab\x55\xa9\x10\x80\x5c\xfa\xa7\x2c\xcf\x73\x15\xde\x35\x61\x1c\x23\x8c\x8f\x1a\x64\xb3\xf2\x9d\x42\xf9\xa0\xb6\x76\x69\x29\x80\x64\x22\xc8\x39\x50\x32\x3b\x17\x11\x0c\x1d\x3a\x9a\x95\x0f\x0f\x43\xb3\xe2\x68\x5f\xc3\xf8\x52\x7e\x4d\x5d\x99\x25\x6d\x73\xb3\xe2\xd4\x1f\x25\x42\x99\x82\xf2\xb6\x49\x06\x40\x57\x82\x69\x6f\x9b\x15\x76\x80\xeb\xca\xb1\x61\x2f\x57\x13\xb7\xee\x7e\x79\x0e\xae\x47\xd0\x9f\x80\xa4\x42\x90\xc5\xe3\x40\x2c\x00\xbe\x56\xe2\xa9\x3f\x20\xe9\x86\xdd\xba\xd3\xaa\xdc\x55\x2a\x28\x16\x9f\x3a\xe4\xe9\x5d\x3d\xeb\x23\xae\xeb\x47\xc1\x84\x46\x23\x88\xfc\x09\x68\x52\xa0\x2d\xf1\x79\x46\x08\x11\x37\x05\xa5\x2c\xa9\x5a\x80\x00\x7d\x5c\x23\xf9\x6e\xf0\xa4\x1d\x05\x51\x80\x80\x54\x0a\x05\x93\x20\x1a\xd7\xf8\x7e\xd1\xac\x00\x3f\x01\xb5\x80\xf8\x75\xc8\x58\x04\x10\xb0\x22\xe9\xb5\xb0\x75\x67\xe4\x37\xf1\x33\xe0\x0f\xa5\x00\xf9\x81\x55\x0c\xfe\x54\xbe\x29\x08\x79\xa2\x45\x63\xe9\x2c\x42\x51\xea\xa0\x40\x5f\x1b\xc5\xb2\x83\xd0\x4f\x92\xd7\xfe\x04\x78\x86\xb0\x95\x28\x0a\xce\xcf\x2a\x4d\xd3\x49\x2f\xb0\x8a\xa5\xb7\xf9\x45\x60\x59\x34\x3d\xb5\x1e\x0e\x5b\xdd\xa5\x80\x60\x7c\x69\x59\xad\x74\x17\xa2\xdb\x0f\x5b\xf3\x25\xc8\xb5\x16\xda\x56\x6a\x97\xa0\x7f\x1e\xa0\x1a\xd9\x32\x19\x15\xd8\xdc\xb5\x0b\x3b\x6b\xc5\x75\x9c\x49\x42\x36\x2d\x1f\xb6\x6a\x93\xf8\xe6\x5b\xea\x19\x76\xe1\x76\x17\x2b\xb8\x0e\x29\x6c\x80\xf5\xd3\x04\x35\x79\x55\xb3\x92\x09\x29\x24\x42\x13\xa6\x8c\x74\xb2\x6f\xe0\x11\x00\xf7\x9d\xd5\xc5\xba\xc2\xe4\xa6\x7b\xce\x10\xfa\x63\xe6\x25\x48\x4f\x19\x00\x0d\x6d\xe5\x05\x53\xa3\xd7\x9e\x3c\x99\x5e\x69\x66\x8f\xeb\x4c\xaf\xd2\x69\x42\x7e\x14\x56\xb6\x26\x4f\x74\x01\x9d\x05\x58\x9f\x13\x91\x55\xc9\xf8\x2a\x91\x83\x32\x88\x6f\xa6\x61\x1b\xc3\x7e\x48\xbf\xaa\x45\xa7\x3a\x9a\x14\x18\x97\x2c\xe3\xa6\xb8\xfe\x4b\x8a\x65\x3d\x57\x16\x52\xc8\x5b\x4b\x01\x2f\xc8\x9d\xe5\x2f\x0a\x4a\xb9\x2e\x40\x3d\x70\x01\x60\x02\x8e\x82\x21\x88\xcd\x25\x57\x41\x73\x16\xd8\x53\x71\xa1\xc9\xe7\x77\xd6\x1a\x5b\x70\x56\x5d\x67\x69\x91\x52\x48\x2b\xb8\xc3\x9c\x5b\x99\x9a\x27\x8d\x3e\xaa\x43\x81\x05\xdb\x2d\xaa\x54\x91\x5e\x5c\x6f\x15\xcd\x8e\xd2\x22\x27\xe0\xb4\xa0\x55\x55\x80\x68\xa9\xac\xab\x60\x7c\x99\x90\xf0\x21\x27\xe8\xb4\x14\x63\xba\x0e\x65\xd3\x82\x4c\x87\x7d\x72\x6a\x07\x1e\x68\x05\x4f\x51\x2b\xe0\x09\xd7\x62\x51\xf9\x4a\x2e\x29\x01\xbe\xa5\x10\x63\xfc\x58\xe4\x8d\x2d\x3b\x78\x8a\x6a\xee\xf2\xf2\x12\x49\xa4\x22\xc4\x62\x22\xfc\x23\x97\x01\x1a\xd6\xf2\x32\xab\x6e\x7c\x8c\x0c\x1e\xa4\xbe\x02\xeb\x9f\xe3\x20\x32\x8d\x32\xbb\x64\xa6\xb8\x55\x65\x98\xc8\x23\x09\x2c\x11\xb7\x52\x90\x34\x3f\x77\xa9\x6d\x58\x7e\x10\xaa\x6a\xea\xb3\xb7\x9a\xd6\x04\x55\x68\x99\x04\x50\x07\x55\xbe\x3d\x16\x31\xb2\x03\xcf\x69\x05\x4f\x41\x61\xe8\xb4\xfb\xfe\x15\x3e\xb5\x0d\xab\x15\x17\xf7\xce\x7c\x1d\x4c\x76\x42\x57\x03\x1f\x57\x42\x7e\x3d\x58\x0d\x64\xd1\x2f\x1e\xd9\x5e\x7c\x69\xc6\xd6\x9d\x22\x2a\x7c\xbe\x53\x1a\x7d\x65\x2b\x18\x99\xc9\x33\x87\x76\x23\xd2\xe9\xdf\x13\xab\x45\x61\x65\x34\x9e\xa7\x7a\x8f\x54\x4a\x26\x31\xa5\x0c\x37\x04\xe1\x82\x2f\xf2\x86\x04\x75\x36\xad\x3b\x9e\x59\x46\xd7\x1b\x92\xd7\xa5\xbc\xbf\x6e\xb6\x51\xb6\xd9\x11\x58\x30\xb7\xd3\xaa\x1b\xf0\xf9\x53\x4c\x4c\x69\x43\xc9\x4c\x22\x6d\x1a\xf0\xe2\x64\x99\xcb\xba\x7b\xea\x82\x4b\x5e\x42\x3b\xa0\x37\xe2\xd8\x4e\x5a\xe0\x29\x5c\x37\x63\x0f\xd8\x89\x07\xab\xc8\x6a\x9a\xb1\x07\xed\xc4\x03\x55\x94\x32\x29\xa2\xc2\x2f\xb6\x95\xc1\x6c\x19\xf1\xba\x8b\x68\xef\x04\x70\x85\x5e\x65\xe9\x2a\x21\xcf\xdf\xca\x34\x98\x71\xd9\x5a\xc0\x08\xb7\x92\xa7\xa8\x95\x54\xab\x56\x20\x6c\x8e\xc9\x69\x36\x71\xe3\xaa\xce\x0a\x75\x0a\x83\x08\x69\x56\xa8\x43\x8c\x2b\x2f\x07\xf5\x04\x51\x23\x39\x92\x74\xfb\x29\x6c\xe5\xfd\x39\x2f\xa1\x3f\xf5\x09\x77\x99\xce\xa8\x52\xd5\x48\xc1\x74\x32\x9e\x4c\x02\xf4\x2a\x88\x00\xb7\x83\xe4\x07\x66\x04\x2e\xf1\x63\x93\xc9\x31\x12\x3b\xf2\x60\x0d\xd9\xbe\xb7\xe4\xb6\xe6\x8b\xd9\xab\xd1\x33\x9d\x21\x99\xe9\x7b\x4b\x8e\x1d\xa9\x5f\xd7\xe6\x83\xb6\x6c\x7f\x79\x79\x49\x47\x86\x75\x33\x61\x94\x9b\xf5\x13\x44\x18\x15\x3b\xaa\xb9\x56\x55\x7e\x08\xf1\x0a\x89\x3c\x68\x35\x15\xc5\x69\x96\x58\xdc\xeb\x90\x84\xe3\x95\xdd\xf0\xa6\x61\x80\xde\x05\x43\x80\xaf\x0f\xd4\x87\xcc\x4c\xd2\x0c\xa2\xfc\xf4\x3c\xab\x56\x2d\xa9\x2b\x39\xbd\xe1\xe5\x80\x1c\xea\xe1\xc9\xd9\x29\xfb\x6e\x97\x15\xf7\x93\x41\x10\x64\x35\xd2\x9f\x39\x95\x28\x5d\x6e\xbb\xf1\x10\xac\x2b\x96\x21\x43\x96\x40\x48\x10\x64\xb6\x83\xbc\x0c\x9e\x21\x24\x68\x4e\xbe\x58\x29\x62\xac\x1f\x69\xe8\xda\x79\xe8\x2f\x39\xf2\xe4\x99\xf8\xd7\x7d\x12\x8d\xa7\x93\x66\x27\xc4\x13\xb0\xea\x45\x77\xf3\x35\x03\xe2\x96\x90\x06\x5a\xc8\xd6\xc1\xcf\x63\x4a\x93\xd7\xe3\xe6\xb8\x1a\x87\xf8\x6e\x71\xdb\x7b\x85\xf5\x09\xb3\x1a\xbd\x47\xa8\x68\xab\xa9\xa8\x02\xd4\xe5\xb5\x16\x93\xe3\x0c\xef\x03\x59\xd3\xc9\xd8\x0e\x6a\xd4\x5a\x68\x68\xbd\xf0\xa4\xa9\xd3\xf2\x08\x4d\xe4\xd3\xab\x95\xb5\xc2\x50\x5f\x57\x3d\x6c\xea\xa8\xa8\x41\x81\x6d\x52\xf7\x53\x04\xc2\xf8\xd2\x9b\x77\x7c\xb6\xe6\x21\x3e\x17\x76\xbe\x96\x3c\xa6\x87\x53\x73\x81\x23\xba\xbc\x21\xdb\xb1\xac\x26\x5f\xe9\x3f\x01\x48\xf3\xa7\x41\xa8\xba\x18\x06\xc3\x43\xb4\xc3\x73\x7f\x16\xc8\x9a\x91\xc7\xcc\xfe\x73\x00\x86\xdf\xa2\x03\x6e\xc9\x07\x5c\x51\x04\x33\x9b\x44\x7a\x8f\xe8\x51\x0c\x27\xf9\x96\xe5\x6d\xd8\x9f\xa1\xb8\xe3\x43\x18\xf8\x63\xd0\x23\xeb\x60\x5d\x6e\x91\xd2\x85\x77\xa1\x84\x6b\x21\x57\xdc\x57\xe5\x5d\x95\x57\x3a\xee\xce\xbc\xd9\xdf\x42\x9e\xc7\xc6\x8b\x9e\x0c\xb8\x85\x44\x3f\x5e\x78\x53\x2e\xb1\xa3\x03\xd0\x4f\xc0\x41\x4c\x22\x84\x68\x46\x43\x34\xc0\x55\x52\x3b\x9f\xa5\x30\x7f\x1a\x05\xf5\x11\xb1\xcc\x3e\x0b\x10\x20\xf1\x4f\x53\x47\x91\xaa\x6b\x29\xad\x39\xb5\xe3\xc7\xd0\xed\x15\xcc\xfc\xb3\xcc\xfe\xe5\x3c\x54\x3e\xd1\xdd\x7d\x19\x18\x1b\x7a\x60\x3d\xb5\xa4\xc5\xa7\x48\x13\xe5\x6c\xcd\x0b\x27\x68\x26\x45\xf4\x72\x7b\x57\xae\xe0\xe6\xd6\xf3\xf6\xe1\xab\x83\x4f\x9d\xbd\x57\x7b\x3d\x6e\xb6\xab\xbb\xc4\x97\x4f\x93\x53\x8c\x54\x81\xff\x89\xe2\x21\xb5\xc3\x37\x13\xeb\xe9\x02\x8b\xad\x0a\xf3\xd2\x08\x52\x96\xe6\x26\xeb\x9c\xf9\x30\x31\xa1\x65\x67\x56\x23\x0a\xd7\x1c\x93\xde\xf1\x22\xed\x64\x5a\x78\xd2\x40\xf5\x5c\x89\x44\x6b\xba\x42\xdb\x65\xf3\xa8\xec\xf4\xd1\xe2\x29\x34\xd3\xcb\x18\xee\xfc\xf4\x2d\x43\xa9\x04\xa3\x76\x3f\xbe\x58\x1c\x25\x61\xed\x9a\x19\xdb\xcb\xf3\xbb\x91\xbd\x22\xe5\x64\x4b\xaf\x92\x76\x69\x0f\x5b\x3f\x67\x0f\x37\x40\xce\x5d\x6b\x91\x1e\xf6\x98\x51\xa9\x52\x0a\x22\xb1\x1a\x78\x79\xd2\xd3\xa7\x05\x9f\x7a\xa8\x05\xe7\x13\x00\xfe\xde\x08\x30\x0a\xc2\x50\x97\xab\x54\xb9\xcb\x6a\x30\x76\x6c\x27\xa3\x05\xf4\x9c\x16\x2c\x18\x04\x31\x11\x09\xee\x7e\x76\x41\x76\x4a\x2c\x87\x16\x20\x53\x30\x67\x9b\x07\x4a\x42\x69\x99\xdc\xd4\xfa\x55\x41\x12\x90\xbb\xca\x43\x0f\x49\xd6\xc5\x34\x5b\xb9\x74\xfb\xc7\x9d\x83\xb4\x23\x0a\xff\xc4\x80\x0c\xb2\x62\x64\x15\x65\x31\x79\x75\xfb\x06\x01\xb0\x20\xc2\x6a\x67\xd9\x56\x36\x6d\xa8\xe9\x2f\xc6\xab\x88\x04\x71\x92\xb0\x21\xbf\x36\xeb\x43\x7b\x70\x0e\x40\x3b\xb1\xf4\xdc\x23\x2c\xf0\x20\xec\x86\x65\xd9\x81\x07\x6b\xa8\x66\x02\x4f\x38\xea\x60\x0d\x59\x56\xd5\x6d\x05\xec\x96\x96\x4a\x9a\x4c\x64\x07\x36\xaa\x82\x6c\x52\xc6\x1e\xa8\xb9\xad\xf8\x99\xe7\xb4\x62\xee\xbe\x54\xb2\x05\x55\xe3\xb9\x6b\x50\x6b\x48\x86\x4f\xa2\x72\x02\x08\x2b\x8b\x8c\x0b\xee\x7a\xa0\xef\x7a\xec\x05\x35\x58\x75\xed\xc4\x0b\x72\x04\x88\x49\xf7\xc1\x92\x17\x17\x28\x00\x6d\x60\x27\x59\xff\x23\xcf\x69\x45\x4f\x41\x2b\x9a\xbf\xae\x92\x6a\xf4\x4d\x1b\x10\xfa\x86\x0d\x88\x89\x12\x48\x08\xfa\xc5\xa8\xa5\x60\xdd\x6e\x6f\xf3\xee\xc0\x92\x84\x22\x2f\x73\xd0\x08\x09\x7e\x9e\x0e\x09\x8c\xc8\xbc\xf9\x2f\xf2\x2c\x80\x7a\x92\x71\x49\x94\x86\x1b\x0b\x92\x2c\xd5\xf0\x57\x9d\x47\x9a\x92\x21\xd6\x30\x97\x39\xca\x48\x64\x2b\x12\x1a\xa9\xd9\x1d\xc8\x2c\x70\xef\x43\xa6\xec\xe2\xfa\x13\x8e\x1f\x72\x91\x50\xdd\x59\xb8\xc2\x31\x5b\x8a\xe9\xe9\xb8\xe0\x51\xc0\xf1\x93\xfd\x69\xbe\xfd\x80\x54\x5f\xad\x9c\x2c\x48\x53\x7a\x6d\xba\x27\xa2\x85\x7d\x5a\x95\x6f\x27\xbd\x4a\xc6\x30\x18\x07\x91\x20\xd1\x03\xa8\x07\x42\x1f\x05\x17\x79\x84\xe9\x3d\xa2\xbc\x53\x25\x1e\xb6\x5a\xc0\xfa\x00\x5d\x79\xea\xb4\x80\x18\x10\xa0\x0a\x6d\x68\xeb\x76\x48\x7c\x49\xcd\xca\xa2\x92\xa8\x01\x45\x4f\xdb\xfb\x74\x49\x4d\x87\xbc\xcf\xb3\x88\x76\x69\xc4\x83\xdf\x0f\xd2\xe2\x3e\xa0\x88\x4c\xf1\xcd\x92\x9e\xb2\x18\x6f\xea\x36\x17\x8b\xe0\x41\x2a\x2d\x3a\x06\x3d\x91\x75\x9f\xdf\x27\x50\xea\xf0\x51\xce\xd9\xa4\xdd\xea\xc9\xd7\x85\x05\xfa\x04\xe3\x4b\xad\xe7\x9e\x68\x3b\xf0\x49\x84\x9b\xca\x0f\x32\x37\x24\x9a\xe7\x5f\xbc\xa1\xb4\x94\x25\x3c\x75\xae\x53\x96\xc0\x1b\x14\xca\xdb\x20\xe7\x8a\x47\x90\x61\x49\x4c\xe7\x60\x2e\xe8\x1a\xe7\x60\x9f\xa4\x25\xcb\x7a\x90\x95\x5a\xbc\x17\x59\x9d\x5c\x4f\x8a\xa2\x7a\x50\x90\xd3\xbb\x25\xbc\x35\x19\xc6\xdc\x19\x55\x0c\x8d\x81\x1b\x36\x6b\x94\x0f\xd1\xde\x2d\xd2\x92\x72\x86\x57\xcc\xa7\xbb\x92\x05\xb6\x6e\xaf\xce\xef\x8f\xcd\xd4\x31\x63\x91\x2a\x7c\xab\xd4\x8a\xc4\x31\x97\x99\xed\x46\x73\x24\xa9\x54\xd3\x59\x72\x2c\xc7\xe5\x74\x90\x85\x7b\x4c\x58\x66\x9a\x94\x1a\xd6\x53\xd7\x5a\xe4\xc2\xc0\xa4\xaf\x69\xfa\x71\x4e\x05\x26\xe7\x7c\x97\x2a\xf1\x32\x17\xa4\xf9\xea\x4c\x50\xab\x95\x30\x7d\xf6\x12\xb0\xb8\xdf\xd2\x7c\x9f\x34\x18\x5f\xb6\xcc\xc0\x43\x35\x60\x91\x54\xf2\x26\xf4\x60\x8d\x70\xef\xa3\x30\xc6\x37\xf6\x07\xca\x1d\xdf\xaa\xb9\xb4\x3c\xd4\x08\x15\xaa\xf0\x8f\xd4\x2f\x2c\x3b\x50\x8b\x11\xab\x41\xa1\x06\x6d\x2a\x27\xac\x4e\x37\xca\xcc\xc7\x1f\x33\x29\x01\x75\xf0\x67\xfa\xfa\xf4\x1d\xaa\x01\x7c\xef\x57\x32\x9c\x01\xcb\x3b\xad\x9d\x02\x6a\x81\xa9\x6a\x0e\x2c\x36\x2d\x99\x78\x50\x75\xe2\xe6\x42\x06\xe5\x59\x63\xfd\x16\x27\x9b\x85\x95\xc4\x41\x86\x62\x31\x60\xf3\xd8\x2e\x73\xa2\xa4\x92\x32\x1a\xf7\x9b\x9c\x6d\x66\x79\x10\xdc\x02\xa0\x42\x06\x0f\xcb\xe2\x6a\xc0\xfb\xe2\xa4\x00\xf5\x6d\x38\x29\x3a\xa7\xd5\x54\x04\xd1\x78\x03\x88\xa2\x29\x29\xd6\x51\x59\x50\xe8\x02\x6a\xc5\x88\xb3\x2c\x2d\x38\x3b\x7e\x82\x91\xa9\x3e\x67\xc0\x22\x21\xa8\x4b\xcc\x6a\xef\xec\x86\xe3\x58\x36\x3d\x05\xfb\x20\x0c\xf7\xbf\xcc\x40\x38\x38\x63\x4d\x7d\xe2\xb6\x13\x42\x32\xc0\x71\x21\x19\xa0\xb5\x5e\x28\x34\x0d\xfd\xd4\x55\x89\x80\x05\x32\xdc\xf2\x63\x53\x87\x8d\x68\x15\x69\xaf\x39\x8e\x65\x35\xe7\xd4\xe0\x77\x2c\x75\x9e\x3e\x7e\x93\x15\x0c\xd9\xfd\xe4\x39\xb5\x4e\x4c\x57\x76\xcc\xe2\x9b\xf3\xfb\x93\x32\xd3\x2d\xb5\xba\x23\x42\xa9\x38\x22\x96\xab\x9e\x3c\x4a\x61\x4c\x84\xb8\x52\xcd\x04\x73\x2f\x25\xeb\x7a\x2f\x3d\x29\x4b\x56\x75\x76\x9c\xa6\xfe\x7f\x6a\xd1\x9c\xb6\x99\x6e\x6a\x41\x51\xd2\x4c\x66\x66\x51\x16\x11\xbc\x5d\xd0\x02\x96\x80\x2c\xaa\x0c\xcb\x40\x67\x27\x65\x09\xc8\xcc\x26\xa6\x0c\x54\x2f\x7f\xf6\xce\xdf\x34\xdf\x2d\x04\xb8\xcd\x5d\x24\x0a\xc4\xd4\xdd\xc8\x73\x67\x3e\x57\x51\xe6\x5d\xf0\x9b\x6c\xa3\xd2\x65\x4c\x57\xd9\xcb\xa9\x5f\x9f\x38\x99\xa1\xd6\x52\x69\xf8\x9b\x5c\xfc\x25\x8d\x3d\x58\xde\x32\x8e\xb7\x63\xc7\x9e\xd3\x8a\x9f\x06\xdc\x38\x28\xae\x56\xad\xe0\x24\x3e\x15\xcd\x1b\x63\x2e\xa0\x13\x03\x6c\x95\xb1\x00\xf9\xc8\x5a\x1a\xfe\xa2\xb8\xf3\x5f\x47\x03\xca\x61\x72\x51\x78\x79\x3c\x8c\x32\x39\x5b\x2e\x1c\x48\x59\x6c\x5e\xd9\x59\xa1\x64\x92\x89\x61\x1d\x80\xbd\x04\xb8\x3b\xb6\x2a\xb4\xc3\xf2\xb2\x49\xfd\xc2\x45\xfb\x71\x65\x49\xcb\x16\x37\x47\x4d\x11\x15\x22\xcc\x9f\x34\x0b\xdc\xb5\x68\xcc\x86\x7c\xd1\x3c\xe7\x54\xd2\x18\xe9\xb7\xa4\x35\xfd\x7d\xf4\x3e\x8b\x57\x5b\x3c\x46\x99\x37\x8b\x67\x38\x86\xb0\x4e\xf5\x36\x59\x25\x10\x5c\x43\x1f\xc7\x43\x08\x3d\xa0\xc4\x91\x31\xf2\xb4\xbe\x94\xb7\x9e\xa7\x59\xfc\x7d\x51\xab\x24\xa6\x6b\x8e\x24\xdf\x10\xdc\xc7\x56\x84\x14\x1c\x03\x44\x6f\x84\x69\x31\x60\xcd\x33\xd5\x9e\x73\xd3\x09\x46\x26\x7c\x86\x52\xe5\x42\x1a\xeb\x9b\x32\x45\x99\xc3\x95\x61\x1b\x35\xd7\xa0\x91\xe8\x94\x8b\x35\x5d\x23\x34\x89\x35\x33\x50\x28\xce\x01\xe6\x78\xc3\xf9\x28\x6d\x01\xcf\x50\x85\x20\x2f\xa2\xf5\xc3\x2f\xbe\xc2\x1a\xb8\xab\x54\x2b\x3f\x54\x7f\xf8\x45\xd1\xb7\x82\x39\x7a\x13\x69\xc2\x74\xd7\x87\xe3\x20\xba\x9b\x5e\xfd\x30\x0f\xf6\x20\x0e\x8d\x45\xc4\x4e\x8a\xa9\x2e\xb1\x83\x24\x12\xab\x61\x1b\xa6\x51\x3a\x14\xec\x1e\x64\xd8\x95\xf2\x72\xf8\x1a\x6f\x58\x86\xc6\xad\x78\x2c\x64\x35\xc1\x67\xe9\xf2\x72\x50\x0f\x92\x4e\x1c\x86\xfe\x34\x01\x79\xeb\x60\x72\x08\xf0\xe2\x1d\x1f\x02\x44\xee\x7f\xfa\x98\xb1\x99\xc3\x98\x66\x3e\x8b\x31\x47\x5b\xcc\x55\x59\x31\x11\x64\x86\x99\x3a\x7b\x5b\x24\xf6\xbd\x3a\x61\x7e\x9d\x24\xca\x97\x82\x62\x17\xa6\x4d\x2b\xb9\x0c\x78\x56\x40\x3f\x01\x15\x1d\xa4\xad\xf6\x6e\x13\xa5\x01\x32\xcb\x3c\x01\x0d\x1b\x15\x6e\x0e\x86\xe0\x48\x4d\xde\x13\x57\x69\xba\x26\x69\x04\x67\x6a\xd5\xc9\x5e\xbc\x02\x23\x44\x1f\x1b\xc4\x8d\xda\x68\xd1\x18\x80\x65\x18\xa6\x69\xff\x33\x34\x0b\x73\x5a\xf6\x3f\xee\xfb\x09\x08\x83\x88\x87\x16\xfd\x06\xa4\x19\x76\x0a\xbc\x71\x77\x18\xd2\xcc\x6f\xf8\x27\x50\x4f\x18\x39\x9e\xac\x64\x71\x0a\xe2\xc7\x73\xa5\x9a\xe5\x3b\xaf\x4a\xba\x99\xd6\x28\x95\x6e\xa6\xa5\x34\xd7\x34\xe5\xa6\x6f\xa6\x67\x08\x50\xc2\x2a\x95\xd3\x9e\xc5\x97\xc7\x71\x3c\x79\xe7\xc3\x28\x88\xc6\x85\x60\x9a\xb4\x1f\x37\x59\x09\xea\x73\x48\x5e\x01\xe9\x88\xcc\x97\x59\xdc\x3f\x33\x5f\x53\xf0\xce\xc4\xaf\x6a\x97\xf4\x9d\xa1\x29\x9d\x73\xc7\x64\x91\x08\xfa\xa1\x3f\x38\x6f\x15\x23\x14\xfc\xe1\x68\xd4\x68\x34\x1a\xad\x34\xdc\x47\xb3\x12\xfa\x70\x0c\x5a\x2c\x1a\x01\xf4\x87\xc1\x2c\x69\x56\x1e\x4f\xaf\x5a\x82\x2b\xf9\xa3\xb5\xd6\xd4\x1f\x0e\x49\x0c\x04\xa7\xde\x00\x93\x8a\x53\x5f\x23\xff\x4f\xbf\x53\xaf\x4f\xfa\x15\x32\xcf\x4e\xfc\xb6\xa5\x70\x10\x4d\x9d\x7f\xc1\x15\xc5\xa2\xe6\x0f\x3f\xcf\x12\xd4\xac\xe0\x43\x2d\x7d\x4d\x82\x9d\xd0\x04\xc8\xfc\x0d\x71\xfd\xd5\xd4\xc2\xef\x8a\x55\x74\x74\x2b\xba\x4c\x32\x1f\xd0\x02\xbb\x4c\x97\x34\xae\xc5\x1c\x70\x32\xa7\x2a\xeb\x8e\xa9\x77\x0b\xe0\xc5\x08\x13\x41\x7d\x17\x24\x89\x3f\x06\xbb\x7e\xe4\x8f\x01\xac\x43\x30\x0d\xfd\x01\xe8\xf1\xc4\xa7\x89\x19\x8b\x10\x58\x69\xfb\x24\x4d\xf1\xed\x3a\xce\xf7\x73\xb6\xa7\x2c\xae\xb9\x75\xaa\x9b\x59\x74\xae\x8c\xb2\xfc\x1a\x0a\x81\x96\x98\x35\x83\xdd\x0a\x0b\x70\x32\x8a\x30\x3b\x1a\x12\x80\x46\xa0\x53\xc1\xf9\xac\xb0\x84\x9a\xf3\x20\xb3\x53\xb4\xa4\x44\x61\x34\x8a\xad\x94\x2c\xfb\xbd\x0b\x00\x31\xff\x23\xeb\x27\xd3\x35\x1f\xd3\xd7\xc2\x7a\x4f\x3b\x2a\xb3\xc6\x42\xb9\xc5\xd7\xbc\x58\x2b\xbf\x82\x73\x2b\xd1\x5d\x9b\x5e\x89\xcb\xf5\xea\xaa\x46\x57\xec\x3d\x97\x67\xc9\x32\x54\xac\x33\xbd\x77\x7e\xc5\x7d\xec\x4c\x12\x1e\xb8\x41\xb7\xea\x74\x3e\xfa\xb9\xda\x86\x82\x1c\x8b\xf9\x32\x03\x7c\x1a\x4c\x21\xc0\x25\x53\xbb\x0f\x1b\xd4\x13\x14\x4f\xdf\xc0\x78\xea\x8f\x7d\x7a\x68\xdc\xd9\xf8\xde\xa8\xa5\x7a\x76\x62\x96\x8b\x63\xb5\xe3\xa6\x3c\x7d\xcb\x65\xc4\x5a\x58\x8b\xaf\xcc\x22\x04\x71\xc3\x01\xda\x16\xb2\xcb\x65\xfd\xd1\x9a\x8a\xfa\xea\xa5\x5d\x58\xcf\xd2\xf2\x60\xda\x1e\xe2\x23\xdc\x09\x03\x20\xc6\x98\x22\x0b\xc6\x0e\xd4\x2f\x65\x28\x3a\x9c\x51\x3c\xf5\x4c\xc8\x75\x71\x01\x17\xb7\x3c\x68\x08\x41\xde\x15\xd5\x42\x30\x42\xb8\x1e\x55\x70\x04\x39\x93\xf1\xb9\x71\xf2\x19\xf8\x56\x66\xd5\x2d\x21\x98\x09\xaa\x8b\x37\xdd\x5c\x11\xcb\x66\xe9\x6d\x10\xbf\x8d\xe5\x0a\x68\xb8\x9d\x39\x03\x68\xd8\xdf\x08\x48\xdc\x63\xb5\xaf\xa4\xcd\x35\x37\x52\x8a\x86\x09\x37\xb9\xc0\x8c\xa3\x72\xff\x3b\x1b\xdd\xde\xba\x44\x90\xae\x73\xd8\x94\x73\x6b\xa6\x8a\xe5\x98\xbe\x79\x0e\xe3\x49\x9a\x57\x3e\xe7\xde\xac\x55\xae\xc6\xd3\x6b\x6a\xbd\x75\x10\xa7\x75\x8b\xc2\x31\x45\x9e\x99\x2c\xd3\x7d\x14\xa3\x60\x00\xf0\x2d\x2a\x1f\x49\x41\x38\x52\x84\xd0\x54\x5c\x86\xdf\x89\xa7\xd7\xfc\x54\xc7\xdd\x26\x54\x10\x2f\x5a\xda\x43\x63\x0a\x81\x61\xb5\x90\xc0\x14\xe2\x7e\xd4\x50\x2c\x60\x95\xc4\x33\x38\x00\xf8\x2a\x90\xdb\x04\xf2\x47\x8b\x72\xc3\x27\xd1\x8c\x8a\xdb\x38\x79\x5c\x1a\xdc\x63\x81\x98\x1d\x52\x70\x52\xdd\x05\xda\x0e\x3c\x58\xf7\xa3\xc1\x19\xbd\x69\xda\x49\xfa\x73\x8f\x08\x09\xec\xc8\x83\x34\x76\x03\x79\xed\xf3\x5f\xf4\x6d\x0b\xd6\x29\xca\xed\x30\x24\xad\x42\x10\x99\xc8\xb2\x63\x3a\xe0\xbc\x19\x61\xcc\xf3\xf3\xc5\x86\x75\x70\x85\x40\x34\x5c\x5e\x36\x89\x05\x2f\xb9\xc6\x9b\x81\x9d\x64\xaf\xcc\xc8\xf6\x2d\xcb\x46\x5a\xf6\xa3\xc4\x30\x26\xc3\x41\x0a\x74\xa0\x15\x51\x25\xbc\x7c\x2b\x18\x99\xf4\xca\x43\x8e\x36\x41\xc4\x60\x09\x2e\x7f\x3c\xc2\x44\x3d\x41\x3e\x44\x8c\x64\x90\xff\xc6\x98\x92\xfc\x62\xef\x6b\xbd\xbd\x77\xc6\x92\x07\x89\x57\xc9\x6b\x7f\x02\x88\xa4\xdd\xf8\x43\x12\x49\xd0\x13\x9e\x2f\x2f\x1b\xfb\x6f\xda\xaf\xc9\x33\xa1\xbb\xd9\x6b\x13\x4a\x6f\x48\xec\x08\x08\x2e\x82\x78\x96\xec\x07\xfd\x30\x88\xc6\x2d\x8b\x14\x91\x1f\xda\xa8\x5a\x74\xf1\xcd\x5c\x5c\x20\x73\x7e\x2e\x2b\x03\xea\x20\x1a\x92\x36\x6b\xe4\x2b\x9b\x02\x62\xff\x4c\xdc\x75\x5e\xea\x77\xd2\xd7\x08\x5c\x21\xa9\x9f\xc2\x03\x3b\x59\xa4\x8f\x91\x18\x80\x83\xa5\x98\xa6\xc3\xd5\x8b\x2f\x53\x4d\x85\x4d\xfa\x21\x3e\xa9\xba\x16\x8f\x15\x22\x38\x52\x07\xd1\xd8\x8c\x6c\x64\xcb\x4e\xec\x91\x55\x4b\x4a\xb7\x42\xc5\xca\xd0\x7b\xbd\x49\x73\xd8\xb4\x98\xcb\x26\x67\xd2\x95\x5b\xab\xde\x2b\x8c\x9d\x12\xf9\x74\x84\xf9\x7d\x54\xad\x92\xa9\x1a\x57\x86\x26\xfc\xbc\xb6\xbd\xe8\xe8\x20\xcd\x28\xaf\xcc\x3f\x95\x4b\x3a\xff\xad\x7e\xcd\xcc\x60\x35\x96\x5b\xa4\x25\xd3\x04\x9a\x24\xcf\x39\x0d\xa2\xae\x41\x77\x0a\xa2\x43\x18\xaa\x32\x4f\x0d\xce\x60\x8c\x67\xa5\xf4\xb3\xde\x87\xf1\x65\x02\xe0\xba\xfc\x93\xc0\x39\xf0\xfb\xe6\xd7\x19\x0c\x9b\xe0\xce\x6a\xb2\x5a\xf8\xb9\x09\x6c\xe3\x53\x3f\xf4\xa3\x73\xc3\x9a\x13\x17\x07\x17\xa7\xc3\x0f\x86\x87\x30\xd4\x09\x25\x15\x93\x24\x18\x99\x2c\xb3\x1f\xb8\xbd\x95\xed\x53\xc0\xd5\xd4\x8f\x86\xd9\x21\x50\x7a\x40\x70\x06\xca\xd4\x36\x65\x59\xd6\xf2\xf2\x92\x09\x98\x38\xfe\x59\xc3\x59\x7d\x7c\x7b\x0b\xea\x09\xf0\xe1\xe0\xcc\x7c\x70\xf2\x31\xf9\x78\xf2\xf1\xd4\xb4\xbe\xde\x3d\x7d\x66\x7c\xf7\xf1\xe3\xaf\x7e\x38\x7d\x60\x3d\xf3\x1c\x8b\x06\xf8\xe1\x05\x8d\x5f\x9d\xf8\xb5\x9b\x76\xed\xf8\x94\x7d\x3a\xb5\x27\xd5\x7a\xed\xf4\xfb\xe6\x83\x07\x86\xf5\xd4\xb1\xb8\xf8\x93\x86\x26\x30\x8d\xa6\x61\xbb\xd6\x89\x73\x4a\xc5\xa1\xc6\xc4\x0f\x42\x14\x1b\x4d\x59\x94\x07\xf0\xd1\x8d\xa6\x18\x46\x15\xb0\xab\x08\x1d\x63\xbc\x46\xb4\x93\x96\x06\x1b\x2d\x88\xa4\xf0\xb5\x27\x1e\x80\x24\x01\xc3\x8d\x6b\x5e\xf1\x85\x1f\x0d\x43\x00\x3f\x71\x8d\x2f\xbb\xad\x82\x11\xf0\xd1\x6e\x96\xb6\x2e\xe1\x53\x5b\xce\x66\xb7\x54\x9e\xcd\x8e\x9e\x43\x25\xad\x7a\x4b\x8e\x0d\xea\x3c\x50\x5e\x2f\xbe\xf4\x52\xc9\x85\x09\xea\x03\xc2\xf5\x7f\x28\xb2\xde\x0a\x9d\x81\xf5\x60\x8e\x98\x83\xad\xf4\xaa\x2b\x34\xc8\x4c\x69\xd3\x36\x79\x93\xef\xe7\x01\xa3\x3a\xde\xaa\x6b\x2f\x89\x97\x4c\xcf\x03\x75\x3c\x04\xcb\xcb\xf9\x26\x9e\xa9\x95\xc4\xf3\x74\x8c\xcb\xcb\x4b\x98\xf5\x97\x28\x54\x73\xbd\x79\xe6\x71\xc5\xf6\xe7\x55\xa2\xea\x8d\xf5\x79\x1a\x1f\xa2\x39\x6a\xfe\x8c\x0a\x24\xcb\x56\x92\xcf\x04\x75\x3f\x44\x3b\xe0\xfa\xf6\x76\x09\xf1\x8c\x5e\xc5\x29\x89\x67\x0f\xd7\x12\xe5\xb3\xc5\x9b\x4b\x4e\x6a\x9c\xa5\xac\xea\xe6\x99\x50\x79\xeb\x48\xd9\xb9\x83\x78\x2b\x1a\x8a\x41\x8c\x0b\x0d\xb9\x98\xc7\xca\x4b\x14\xf0\x9e\x6e\x09\xb3\x48\x8a\xfa\x06\xa2\xb1\x3f\x06\xc3\xdb\x5b\xd5\xec\x59\xd7\x45\xac\xe3\xd5\xb2\x6e\xeb\x62\xec\xe1\x8b\x6f\xb6\x7c\xd6\x84\xeb\xae\xb6\x0a\xb9\xf4\xa6\xf3\x9f\xd5\xb1\x9a\x42\xac\x3b\x61\x78\xee\x47\x39\x35\x71\xce\xb2\xb8\xc8\x26\x60\x7a\x4b\xcc\x8e\xa5\x81\xf4\xb2\xf6\x52\x56\x61\x8f\x9d\x27\xf9\x00\x39\xf7\x3c\x14\x32\xd6\x63\x01\x26\xdf\xe2\x31\xfe\x32\x7c\x96\x00\x0d\x3c\xb5\x03\xae\xc9\x5c\x1d\x20\x18\x92\xc9\x0a\xea\x13\x80\xfc\x1d\x70\xcd\xcd\x59\x2b\x65\xda\x6c\xb6\x95\x8b\x4a\xfd\xc2\x4b\xaf\x10\x16\x39\x77\xa8\x16\x0c\xcc\x08\x4f\xab\x5c\x54\xa4\x3e\xdd\xbc\xf1\x56\xd8\xc1\xbd\x22\x89\x7a\x97\x97\x1b\xb8\x18\xcd\x2a\x8c\x7b\x41\xbf\xb1\x15\x9e\x4f\xe8\x9b\x66\x76\x24\x17\x6a\xd3\x92\xb3\xd3\x62\x9e\xd2\xe8\xc4\xb3\x70\x58\x89\x62\x54\x21\x65\x2a\x13\x3f\x9a\xf9\x61\x78\x5d\x19\xce\x40\x05\xc5\x95\x4b\xd0\xaf\x40\x80\x39\x50\x42\xfd\x24\xdb\x08\x66\x53\x01\x63\x27\xc3\x4a\x39\x09\xf2\xb6\x70\xb9\x79\x58\xd4\xac\x2e\x7c\xb1\x13\xa6\xfd\x52\x8a\x4e\x8a\x21\x7f\x84\x77\xa7\xb9\x2b\x7c\xee\x62\x76\x17\x58\xcc\x06\xbd\x37\x4b\x16\x3d\x24\x4a\x65\x1b\xc2\xf8\x12\x33\x8c\x9f\x72\xd3\x52\x66\x1d\xfd\xe9\x34\x64\x36\x7c\x54\xb7\xc5\x89\x97\xcb\x46\x6f\x5a\xcb\xcb\x06\x09\x9b\x9e\x0e\x83\xec\x12\x57\x60\x6c\x09\x16\x9b\x20\x44\xbe\x09\x2c\x66\xed\x9e\x4c\x7c\x88\x9e\x87\x71\x0c\x37\x83\x8b\x60\x08\xa8\xdd\xb3\xdf\x4f\x44\xa7\xc1\xf2\x63\xda\x4e\x3c\xe3\x0f\xf6\x8c\xaa\x09\x9f\x3a\xeb\xc6\x86\xd1\x34\xda\x06\x13\xf4\x05\x71\x3d\x01\xd1\x90\x47\x75\xaa\x43\x30\x05\x3e\x32\x63\x4b\xb5\xd3\xdc\xdd\x29\xe6\xd5\x3d\xa6\x4d\xd9\x01\xa2\x37\x85\x64\xfb\x9a\xc4\x81\x69\x8b\x8a\xc1\xc9\x75\x79\x48\x55\x96\x0b\x2c\x08\x3b\xd0\x45\x8c\x5d\x62\x29\xeb\x29\x18\xad\x39\xa7\x0e\x2d\x2a\xd7\xfc\xa4\x88\x8b\x79\xff\x34\x10\x71\x44\xf6\x8f\x4f\x2a\x87\x6a\x22\x7a\xe2\x8a\x2d\xf3\xc1\xc7\xe8\xc1\x78\x62\x1b\x1f\x21\x1e\x6e\x4f\x79\x01\x42\x79\x23\xb0\x3e\xf4\x07\xe7\x00\x81\x21\xdb\xcd\x4c\xe4\x19\x7f\x70\xd2\x70\x9c\x5f\x1b\x55\x54\x25\x5f\xdd\x5f\x1b\xd9\x25\x4b\x98\x3e\x25\x57\xbf\x4e\x3c\xbd\x56\x0c\xc8\x2c\x01\x6c\x76\xd1\x64\xbf\xb8\xd8\xed\xad\xa9\xd0\x29\xe4\xb7\x6e\xdd\xee\x23\x6e\xe1\x7a\xc1\x66\x1c\xb1\x14\x9c\xc5\x6b\x94\xe0\xfc\x50\x58\x5d\x69\x4e\x01\x96\x2f\x73\x31\xce\xf6\xf6\xd6\x61\x7e\x74\x85\xb5\xac\x6f\x41\x6f\xaa\xa8\x5c\xe2\xb7\xb7\x4e\x8b\x38\x27\x80\xa7\x9e\x73\x7b\x8b\x9e\x92\x4b\x15\xdd\x6c\x74\x19\x4e\x6f\x6f\xb5\xb9\x4c\x25\xd3\xcc\x34\x33\x2d\x47\x26\xa7\xae\x37\xdd\xa5\x79\x56\x1b\x82\x5a\xd4\x86\x6c\x15\x09\xf2\x07\xb3\x34\x50\x73\xf9\x22\xd1\x4f\x39\xc1\x58\x4e\x1f\xb9\x48\x30\x71\x5b\xbf\xa7\x11\xcf\xed\xad\xe1\xe8\x39\x77\x26\x71\x5f\x9f\x6b\x60\xc8\xcd\x03\x95\x66\x77\x05\x96\x65\x72\xbd\x27\xf5\x4c\x34\xc9\x22\x4f\x3a\xd7\x83\x10\x7c\xc2\x97\x61\xce\xb1\x97\x1a\x37\xfe\x2e\xda\x76\x4f\x73\xa6\xf9\x4a\xf0\x7a\x2b\xd2\x7c\x6a\x13\x9d\xb0\x28\x75\xec\x28\xe4\x42\xd1\x0a\xbd\x4a\x32\x9f\x2c\xd8\x8a\x22\x65\x4a\x49\x0a\x27\xe5\x41\x51\x98\x8d\x6a\xa7\x02\x55\xe8\x6b\x06\xd3\xb4\xee\x04\xf7\x8a\x62\x55\x9e\x73\xe9\xce\x0e\xea\x10\x0d\xc1\xd4\x34\xc2\xa0\xcf\xf6\xfc\xc3\x83\xe7\x8f\x0d\x4b\xc4\xb8\xbb\x57\xec\x3c\xbf\xf3\xa6\x81\xf8\xb8\x1c\xb9\xbb\x47\x15\x4d\x77\x32\x84\x85\x14\xfb\x32\x64\x49\xcc\x58\xf0\x10\x96\x40\x52\x7d\xcc\x73\xe8\x4b\x91\x4f\x30\x48\x2e\x83\x27\x79\xf3\x48\x01\x53\x6e\xc5\x2e\x87\x4c\x52\xe3\xd3\x17\x6f\x60\x3c\x0a\x54\xd3\x4d\xc0\x18\x20\x56\x2a\x3f\xea\x12\xd0\xe9\x2c\x39\x2b\x1e\x2d\x14\x47\xa1\x46\x0e\xd3\x54\xac\x0c\xd2\x63\xba\xe3\x4f\xd1\x0c\x82\xe1\x27\xf9\xf4\x4e\x1f\xdb\x3c\x28\x18\x8d\xb5\xcc\x8e\xc6\xf4\x81\x4d\xe2\xfa\x08\xef\xf8\x2f\xc6\xdd\xf1\xf1\xcc\xf5\x32\x88\xed\xc2\x13\x0f\xd8\xa0\xa4\xc3\x72\xc4\xc5\x62\xed\xfc\x14\x2a\x1b\x10\xce\x50\x48\x03\xc1\xef\x45\x61\x3c\x36\x8d\xc3\xe8\x8c\x08\xbd\x86\x95\xac\x34\xcd\x9f\xac\x87\xab\x97\x3f\xe7\x40\xc7\xfd\x04\xc0\x0b\x00\x87\x95\xa3\x83\xca\x39\xaf\x81\xc1\xbf\xdc\xdf\x7b\x5d\xa7\xb2\xfe\x60\x74\x5d\x10\x1e\xe7\x9a\xcb\x65\xfb\xd6\x06\x07\xc7\xa4\x69\xc1\x96\x05\xa5\xa1\x04\x34\xe5\x2f\x1b\x3b\x5b\xd4\xe4\x74\xf7\x3e\x71\x8b\x70\xb9\x8d\x39\x8b\x28\x5f\x3c\x87\x91\xbe\x22\x09\x58\x84\xb7\x0d\xa5\x49\xbf\x38\xce\x94\x13\xa0\x99\xaf\xc5\x74\xd7\x24\xf4\x2f\xcd\x99\x12\x44\xfe\x00\x05\x17\xa0\xd2\xdd\xab\xc4\xfd\xcf\x60\x80\xea\x46\x2b\x0f\x48\x48\x98\x36\x07\xad\x30\xfa\x77\x84\x58\xd5\xf8\x08\x49\x9c\x75\xfd\xa2\x20\xf1\x8e\xe7\x11\xd5\x7d\x58\xdc\x70\x52\x82\x9b\x81\xb0\x69\x97\x4f\x38\xd2\x5a\x18\x95\xb7\x47\xa8\xa5\x6d\x91\xd2\x52\xd1\xa6\x74\x8a\x10\xfb\x99\x84\x9d\x20\xa2\x8a\x4d\x91\x98\x2e\x4d\x0b\xc6\x0e\x91\xcc\x0c\x67\x9f\xa8\xcb\xe9\xbe\xb0\xdf\xeb\x7c\x62\x61\xfc\xd8\xa9\x96\xe5\x93\x2b\x2b\x96\x41\xa3\x05\xa4\x50\x80\x79\x48\xda\x22\x4c\x41\x90\xb9\x60\x7a\x06\x1c\xf7\xcd\xc6\xda\x9a\x5d\xe1\xff\xb3\x0c\xa9\x6c\xe6\x49\x4a\xcb\x3a\x76\x05\xff\xc7\x4b\xf5\xe3\x30\x93\x45\x8c\x7c\x3c\x0b\xf8\xaf\x00\xf9\x61\x30\x48\x7f\xf6\x69\x32\x57\xf6\x6b\x16\x0d\x01\x0c\x83\x48\x08\x2f\x8c\x60\x70\x0e\xf0\xac\x9d\x8d\xcf\x32\x20\x11\x71\x4b\x13\x7f\x33\x4e\x89\x3f\xc9\x45\x29\x16\xc3\x11\x73\x8e\x2f\x04\x9b\x3e\xf2\x85\xc8\xbc\x03\x21\xa9\xab\xf0\x58\x91\xf0\xf5\xae\x30\xf4\x62\xc4\x3a\x22\xca\xdd\x20\x24\x70\x16\x2b\xd8\x4e\x36\x88\xb1\xea\x9c\x0a\xd2\xd8\x51\x9f\x6b\x6a\xa6\x11\xcd\x26\xa6\xa1\x98\x90\x42\x5d\x61\xee\x78\x06\x1b\x45\x63\x5e\x85\xde\xf6\x06\x19\xdf\xd2\x82\x89\x2a\x69\x86\x62\x01\x94\x12\x8d\xc4\x39\xd3\x73\x0c\x62\x2d\xa2\xcc\x13\xc2\xfa\x55\x02\xea\x32\x65\x81\x13\x74\x4a\x26\xf9\x09\x3a\xcd\x38\x09\x69\x54\x0b\xe3\x5c\x1f\xc4\xd1\xc0\x27\x46\x7b\xa5\xf8\xa9\x93\x41\xff\x65\x5c\xcd\x7f\xa9\xd7\xde\x7c\x1a\x8b\x0b\xad\xe8\x5b\x2e\xbe\x0c\xd8\x46\xac\x19\x4f\xda\x05\x7c\x65\x26\xa5\xe6\x2c\xda\x34\x6c\x97\x2e\x6c\x4c\x61\xa8\x0b\x83\xc8\xae\xf5\x85\xc1\x56\x14\x5c\x4a\x47\x8a\x7f\x27\x03\x95\xca\x51\xc9\x38\xa5\xc5\xa8\x2f\xdb\x92\x3c\x4a\x69\x18\x32\x71\x90\x52\x00\x74\x8c\x84\x9f\x99\x0a\x30\x1b\x21\x86\x70\x3a\x3e\xcb\xcb\x78\x65\x31\x7c\xf9\xfe\x58\xbe\x6a\xc9\xf6\xd3\x89\x23\xe4\x07\x51\xee\x06\xc9\x99\x10\x31\x20\x9a\x32\x91\x4e\x3e\x11\x08\x58\xcc\x24\x2d\x99\xfa\x91\x41\x63\xf3\x91\x4b\xbd\x1d\x78\x27\xa7\xad\xdc\x58\x2d\x29\x96\x09\xb7\xaf\xe2\x56\xb2\x59\x69\x2b\xbf\xc8\xb4\xd5\x95\xe6\xb6\xd9\x43\x06\x28\xdb\xe0\xf9\xdc\x20\x5f\x4d\x48\x4c\x6c\xdf\x31\xc7\x1a\xfc\x90\xcb\x13\xd9\x34\x30\x11\x5f\xb9\x69\xf8\x31\x36\x25\x58\x5d\xe6\xc9\x43\x9f\xf2\xca\x6c\xa2\x98\x01\x4b\x82\x93\x65\xcb\xc3\x25\xe8\x6b\xb6\x0e\x59\x5e\x0e\xcf\x30\xa4\xac\x3f\xc2\xec\x32\xe3\xaa\x67\x54\xd2\x07\x86\x8d\xc4\x1d\x22\x8d\x3d\x28\xcf\x3e\x5a\x89\x64\xe5\x61\xcf\x0c\x62\xfe\x27\xed\x23\x8e\x65\xc7\xa4\x23\x08\x5c\xa1\x4d\x9a\xa1\x37\x88\x23\x2f\xb6\x6c\x69\x72\xa6\xfd\x60\xc9\x28\x49\x27\xf8\xde\xe2\xd8\x48\xdc\x58\x5c\x6e\x9c\x21\xcd\x5d\x01\x06\x7e\x64\x58\xb6\xf8\xf3\x13\x33\xe0\xe1\xa5\x31\x78\xfc\x9d\x93\xc8\x26\xc2\x5f\xd9\x98\x11\x43\xc8\x32\xb2\x08\x29\xf7\x02\x96\x64\xa8\x42\x62\x6f\x94\x2e\x9a\x89\x8f\x06\x67\x20\xd1\xae\x1a\x83\x5e\xb0\x0c\xcf\xc3\xc5\xe3\x51\x05\xdc\xde\xae\x78\x1e\x35\x07\x3b\xb8\x9e\xca\x7e\xc2\xc2\xf2\x12\x4c\xf0\xae\x43\xc0\x06\x76\xc9\x14\x88\x7a\x7b\x0b\xd2\x6f\xf2\xda\x67\x94\x4b\x7f\xdf\xde\x2a\xe8\x89\xab\x73\x0a\x31\x00\xd2\x52\xa3\xab\x8a\xbd\x91\x56\x51\x7e\xc1\x70\x55\x96\x72\x85\x58\x4b\xde\xd2\x12\x12\xd6\x08\x87\x88\x27\xf0\x92\x07\xb2\x99\xcc\x5e\xd0\x65\x90\xd5\x22\xab\xe3\xf6\x76\x29\xb7\x65\xe2\x02\x20\xfb\x99\x16\x90\xe6\x27\x2d\x24\x3d\x2a\x3f\x39\xb2\x3c\xdd\x89\x4a\xd8\x53\x64\xae\x81\x8e\x93\x46\xf7\x3c\xb3\xb2\x82\x1a\x63\xa8\xfc\x99\xc5\xbd\x8c\xf3\x47\x14\xf7\x2a\x96\xb9\x89\x58\xf1\x30\xf5\x04\x4f\x4f\x18\x6e\x0d\x55\x80\x89\x34\x38\x70\x33\xdc\x7c\xf7\x79\x7b\x05\x82\x15\x36\x53\xce\x2d\x4b\x9b\x2a\x9f\xc1\xd2\x39\x2b\x3e\xec\x6d\x6f\x10\x6c\x15\x71\xc2\xc0\xd3\xc7\xeb\xa0\xfa\xb8\x09\xee\xf0\x6d\xcf\xce\x9f\x99\xb8\x8b\x5a\xb4\x2d\xbb\xd8\x48\x9e\x9b\x53\xf0\x00\xeb\xb0\x59\xe0\x68\x4e\xc0\xa9\x7c\x0c\xe4\x4e\x6f\x29\xb6\xbb\x00\x5e\x31\x4e\xeb\x6a\x52\x36\x73\x55\xf3\xc7\x65\xc6\x53\x4d\x82\x2b\x33\xb1\x73\x77\xbb\xfa\xca\xca\xca\x8a\x75\x87\xd4\x1d\x16\x79\x53\x45\x87\x63\x45\x87\xd1\xa9\x6a\x86\x0f\xf8\xce\x98\xec\xe2\xad\xb2\xe8\x1b\x55\xdc\x21\xad\xd4\x30\x5f\x07\xab\x9b\xee\x93\xc8\xa2\x96\x64\x7c\x3b\xc5\xdb\x53\x6e\x6b\x5d\x72\x71\x11\xd5\xa6\xbb\xe4\x30\x5b\x72\x90\x72\x1d\x48\xda\x6f\x2b\x9c\xb7\xe0\xb4\x5c\x5e\x2e\xb2\x0b\x5e\x90\x7f\x84\x4b\x09\x4c\x01\xbe\xdc\xa5\xbf\xf8\x3b\x7a\xe8\xb3\x57\xe4\x07\x7e\x93\x3b\x45\xbd\x20\xf7\xa4\x8c\xc0\xdd\x22\xd7\x9b\xae\x8a\xb9\xc7\x90\x02\x70\x6a\x62\xac\x5c\x65\xd9\xe9\xb2\x0e\xc4\x63\x95\x9d\xa8\xcd\x5c\xfa\x2b\x29\x05\xa0\xa6\xb1\x7d\x62\x7a\x5c\x48\xef\x35\xb7\x45\x96\xfb\x09\x17\x6e\x4a\xc9\xa0\xc4\x52\x04\x56\x69\xc3\xb2\x8c\xf6\x5e\x6d\x13\x7d\x71\xae\x79\x12\x0f\x7d\x11\x0c\x14\x19\xa9\x34\x69\xc5\x4e\x4e\x6d\xe8\x39\x76\xec\x39\x76\x42\x93\x70\x91\x18\xd3\x3c\x2e\x0d\xdd\x52\x7c\x0f\xdf\x9b\x86\xe0\x4d\x1c\x44\xa8\x8d\xcc\xc8\xb2\x43\xcf\x7f\xea\x3d\x5c\x5b\x5b\x59\x5b\x77\x9b\x8d\x96\xff\xd4\x6d\x3c\x5e\x8f\xab\x5e\x48\xf1\xc5\xed\xd2\x61\xf2\xad\xa7\x9e\xbb\x8e\x19\xbf\x10\xb7\xe0\x5a\x4d\x33\x26\xbc\x11\x61\xb4\xbe\x26\x08\x36\x01\xa7\x2e\xb4\x63\xcb\x4e\xc9\xd2\x4c\xee\x2c\x82\x14\x71\x68\x28\x96\x8e\xec\xd0\xb2\x29\xb7\xd2\x5c\x72\x84\x7a\x4b\xee\x1d\xe6\xfb\xa3\x6a\x88\xfb\x65\xd9\x51\xd5\x0b\x79\xb2\xc7\x78\x79\x79\xd1\xa6\x91\x5a\xac\x67\x93\x1f\x23\xf6\x79\x78\xf0\xfc\x31\x5e\x4b\x43\x00\x0d\x9b\xba\xbe\xd4\x8f\x0e\xea\x1d\xae\xdd\xdd\xf5\xa7\x44\xee\x72\x74\xa0\xd7\x9a\x78\xc0\xce\xac\x38\xc8\x9b\x4c\x10\x5d\x4c\xe5\x4f\x0a\x08\x56\xb1\xb4\x86\xd2\x22\x96\xe9\xa5\x7c\x98\x80\x7d\xe4\x23\xf0\x89\xc9\x4b\x8e\x0e\xea\x6f\xd2\x87\x66\x56\xe8\x30\x3a\x8f\xe2\xcb\x88\x67\xab\x0d\x81\x3f\x0c\xa2\xf1\x6e\x3c\x0c\x46\x01\x80\x9f\x3c\x83\x6b\x43\xa1\x1f\x84\xca\x37\x7e\x18\xc6\x97\xd4\x0a\x94\x0c\x3f\xb5\x34\x11\x2c\x20\xe3\x64\x70\x10\x4c\xc0\xab\x60\x12\xa0\x4f\x5e\x03\xac\x32\xe1\x02\x1a\x71\x32\x52\x24\x03\x91\xb2\xe2\x01\xff\x78\x23\x20\xb3\x1f\xc6\x61\x0a\x94\xbe\x49\x4d\x1c\xde\xc1\x00\x65\x82\x3c\xfa\x72\x13\x0c\xdc\x46\x5a\x21\x55\xbe\x6f\x45\x83\x18\xf7\xd1\x33\x66\x68\x54\x7b\xcc\x7a\x31\xf1\xaf\xe8\xa2\x21\x71\xd9\xa2\x01\xf0\x5c\xa7\xc1\x30\xbd\xf4\x61\x74\x18\x05\x93\x29\xbd\x67\x0a\x06\x92\x03\x61\xcc\x93\x8c\xd2\xe2\x54\x48\x68\xc9\x6d\x87\x0e\xda\xb6\xcb\x3e\x1b\xec\x73\xc5\x2b\x42\xaa\x8f\x01\xda\xf5\xa7\xa6\xb1\xc1\xef\x71\xdb\xaf\x3c\x63\x9b\x6b\xa6\xb7\x7b\xc2\x0f\xda\x99\xfd\xeb\x04\x81\xc9\x21\x1a\x3d\xce\xe8\x2e\xbe\x79\x15\x0f\xce\xc1\x50\x78\x37\x70\xdf\xf8\x08\x01\x18\x89\x79\xc8\x66\xd3\x21\x11\x1d\xb2\x9a\x64\xfe\xa4\x62\x13\xff\x02\x0c\xf3\x53\x8a\x6a\xbe\xb3\x39\x45\x36\xa6\xa3\x03\x81\x21\x55\x4e\x52\xbc\xfb\x94\x14\xeb\xbc\xea\x76\x76\x3c\xb7\x1c\x54\xaf\xbd\xed\xad\xd8\xb9\x89\x5d\xc6\x6d\xb3\x37\x9c\xd7\xee\xcf\x46\x1e\xa2\x57\x1a\xb6\x66\xe2\xc4\x63\xc3\x8a\xa1\xf0\x72\x3e\x1c\x27\xde\xc9\xe9\x5d\xbe\x29\xbd\x20\x90\xaf\x75\xf2\x98\x54\x78\x9e\xb2\xe2\x82\xf8\x78\x63\x36\x32\xc1\xed\x6d\x1a\xe5\x86\x3c\x6c\xc3\x31\x11\x6d\x30\x3e\xbf\xb4\x45\x09\x74\x51\x0e\x89\xfb\xa0\x22\xc0\x5c\xb8\x1b\xb3\x51\xb1\x33\x98\x5c\xc5\xe3\x7f\x1d\x34\x73\x04\x9c\x0b\x3d\xed\x61\xb1\x0d\x4c\xea\x54\x4d\x4f\x93\x01\x39\x4b\xc4\xc4\xcc\x4c\xdf\x9f\x38\xa7\x1e\x28\xa5\x4d\xe0\xc3\xb1\x3e\x5c\x39\x81\x01\x48\x52\xa3\x34\x93\x69\x6a\x9e\x0f\x6d\xd7\x49\x15\xce\x8e\xe7\x05\xcb\xcb\x66\xe0\x21\xcb\x0e\xf8\x59\x82\xca\x5a\xf6\x87\x17\x7e\x34\x50\xe8\xca\xa7\x71\x52\xa5\xc2\x6e\x5d\xd5\x29\x00\xe7\x3d\x30\xf1\x83\x28\x88\xc6\xd2\x00\xc8\x22\xc7\xfe\x6c\x94\x32\x2a\x0c\x72\x29\x31\x30\x5c\xbc\x1b\xdd\x03\x9e\xed\x96\x42\x1c\xc4\x51\x32\x9b\x80\x7b\x02\xad\x56\xe7\x80\x0d\x92\x4e\x8c\x37\x58\xa5\x6f\xad\x20\x83\xec\xcf\x46\xfc\xea\x3f\x1b\xb1\xc9\xc2\x12\x50\x4d\xe3\x84\xb5\x20\x6c\x4b\xc5\xc1\xb8\xc8\x34\x6f\x78\x4f\x4b\x17\x9a\x50\x49\xbc\x50\xfb\x17\x0a\x99\x33\x0d\x05\xc3\xc1\xa5\xa7\xba\x9c\xf4\x82\x1d\xf8\x92\x36\xb0\x58\x65\x0c\x50\x4e\x97\x61\xf1\x0c\x2f\xe9\xd6\x9f\xd6\xda\x7e\x95\x9e\x00\xd9\xb3\x9e\x7c\xc2\x90\x67\x6c\x23\xe3\xa7\x0d\x79\xc6\xb6\x7e\x7e\xf2\x90\x67\x0d\x5b\x3a\x85\xc8\xb3\x95\x52\x82\xb0\x18\x80\x05\x9a\x48\x9d\xca\x05\x0a\xcc\x68\xc6\xfa\x24\x13\xad\x40\x01\x05\xe5\x38\x4d\x04\x00\x9c\x30\x9c\x28\x94\x18\xec\x59\x4f\x78\xc6\x8f\x5e\x47\x78\xc6\x8f\x61\x57\x78\xc6\x8f\xe4\x86\xf0\x6c\x85\x1f\xd3\x85\x93\x4d\xad\xfe\xe1\x8d\xcd\x3b\xcf\xdd\xb2\x62\x4e\x5a\xac\xb1\x18\xb4\x9f\xca\x44\x2c\x76\xb8\xdf\x87\x0f\x2d\x90\x2b\xcf\xdf\x2a\x15\x03\x45\xcf\x2f\x25\x70\x66\xdb\x8b\xaf\x31\x2d\xc9\x55\x02\xde\x7a\xab\x96\x6d\xa6\x6e\x12\x6c\xab\x48\xa7\x5a\x66\xaf\x1e\xa2\x6e\xb2\x0b\x90\xbf\xbc\xcc\x5d\x81\x2c\x5a\xff\xb1\x65\xa7\x0e\x17\xf4\x89\xfb\x90\x8b\xc6\x29\x87\x58\x1f\xc1\x78\x82\xf7\xbf\x0e\x49\x50\x9f\x65\x8d\xc8\xf9\x44\x55\x57\x1a\xf6\x4a\xc3\x6e\xac\xad\x59\xf8\x52\xb3\x68\xe5\x5e\x7c\x29\xd6\x4c\xe3\x9a\x31\x63\x79\xe2\xcd\x47\x2d\xe8\x9b\x91\xf7\xe4\x61\xd5\xac\xb9\xdf\x93\x04\x36\xc8\xff\xf0\xcc\x59\x77\x9a\xae\x65\x47\xb7\x1e\xb4\x89\x91\xf2\xae\x51\x55\x35\x1c\x59\xd5\xb8\x9a\x28\xec\xd9\x85\x00\x65\x82\x93\x47\x93\xfa\x06\x67\x29\x8c\x98\xd7\x84\xdd\xb0\xaa\x2b\x8d\xd6\x82\xcd\x15\x60\xcf\xa6\x46\x93\x56\xfb\x43\x43\x59\x80\x38\x48\x34\x0b\xd3\x4e\x35\x35\x7a\xed\x6d\x3c\x96\x14\xaf\x64\x79\xd9\x8c\xbc\x95\x86\xed\x66\x8f\xd6\xa3\xaa\xe7\x34\x57\xe5\x07\x6e\xb3\x21\x3f\x68\x34\xa3\xaa\xb7\x82\xef\x8f\x2b\x8d\x45\xc9\x28\x11\x8d\xfa\xf2\x34\xc9\xf7\xd4\xd5\x28\xe7\x76\xc9\x8d\xab\x00\x84\x31\x34\x0d\x76\x07\xab\x90\x2e\x56\xc8\x78\x10\xc3\x2d\x32\xe2\x36\xb0\xee\xb8\x58\x33\x9d\xc7\x05\x1b\xf3\xc2\x72\x4b\x8d\x72\x0a\x42\x80\xfc\x05\x31\xe3\x46\x19\xb7\xc8\x9d\x80\x5b\x4b\x85\xa2\xd9\x29\x6d\x5a\x2d\x29\x86\xaf\x58\x0a\xb7\xc8\x85\xa3\xe2\x73\xcc\x5c\x80\xe2\xe3\xfe\x6c\x94\xca\x90\xf3\x60\xea\x03\x3f\x0c\x69\xc4\x8a\xfc\x7b\xab\xf0\x84\xf2\xbc\x1e\xa7\x56\xae\x69\xcf\x83\x8a\x17\x98\xaf\xf5\x00\xb3\x81\x22\x9c\x09\xac\x0c\x03\xea\x5b\x44\x62\x0e\x57\xd0\x19\xa8\x24\xb8\xf0\x92\x51\x24\x33\xa5\x96\x4a\x54\x46\x2f\x97\x9e\xa7\xbe\x7c\xae\x0b\xb4\x66\x26\x45\x4d\x50\x80\x9e\x99\x1c\xa9\x84\x67\x39\x93\x24\x0d\x6e\xba\xda\x85\x3b\x78\x36\xf2\x05\x48\x09\x40\xe9\xad\x59\x04\x95\x85\x5c\xcc\xcf\x6c\x7c\x65\x36\xbf\x63\x39\xf9\x2b\x17\x7e\x38\x03\x95\x51\x0c\x2b\x06\x9f\xc2\x35\xc0\x00\x1a\xcd\xca\x77\x55\x60\xd1\xc5\x13\x24\x71\xad\xe1\x34\x1a\x46\xf3\x9b\xee\xb6\xe2\x3a\x24\xf4\xaf\x11\x6f\xa7\xa1\x1e\x9c\x53\x02\xce\x29\x80\xfb\x36\x38\xee\x5d\xc9\xe5\xba\x40\x6b\x55\xb1\xa2\x2e\x67\x8f\xda\xe2\x9d\x83\xeb\xc4\xa4\x87\x75\xc7\xb5\xea\xa3\x00\xcf\x58\x13\x78\xcf\x96\xd4\x88\xde\xde\x02\x32\x17\xf1\xe6\xd5\x46\xa6\xf5\xd4\x6d\x3c\xb6\xea\x13\x7f\x8a\xeb\x18\x1f\x3f\x5e\x19\x55\x7c\x24\xdd\x4c\xfd\xa1\x29\x97\xac\xa3\x98\xed\x36\xee\x43\xcb\x6e\x58\x16\x53\x6e\x72\xa7\x29\x49\xa0\x00\x2e\x2b\x3d\x30\xde\xba\x9a\x9a\x3f\x9c\xfc\xe2\x2b\xb8\x3b\xfd\xa1\xd8\x4f\x49\xfa\x24\x6f\x52\xec\x7b\x05\xe1\x5f\x4b\xb0\xd8\x8d\xe5\x65\x78\x02\xeb\xdb\xaf\x4e\xeb\xdb\xaf\x88\x2e\x26\xfb\x49\xb4\x35\x30\xdb\x29\x89\x05\x20\x9e\xd3\xd9\x1d\xd0\x0e\xbc\xe2\x85\x8b\xe6\xeb\xe3\xde\xf6\xf9\x2e\x89\x97\xc2\x98\xfb\x0b\x07\xc9\xd4\xc7\xd3\xdf\xe8\x74\x5c\xc3\x0e\xf8\x95\xc7\xb1\x5d\xcb\x06\x2c\x99\x6d\x7a\x29\x34\x5d\xcb\x6a\xd6\x5c\x5a\xdd\x0c\xd2\xd7\x64\xf3\x35\x89\x5f\x82\x29\x80\x88\xd3\x64\x68\x9a\x56\x62\x75\x2b\x71\x95\xe5\xb2\x29\xd2\xba\xb3\xdf\x55\xfb\x47\xf1\x3b\x22\xc9\xd3\x07\xc8\x0d\xb9\x85\x9e\x79\xc6\x2f\x8d\xe5\x65\xf4\xd4\x33\x7e\x6d\x14\x7b\xbc\xdf\x35\xd4\x02\x43\xa6\x3f\xcf\x4b\x0b\xab\x08\x23\xab\x12\x5c\xe0\xbe\x1b\x2d\xbc\x51\xae\xab\xab\xae\xab\x6b\x35\x4d\xc8\xae\x7f\xb7\xb7\x90\xa9\xf0\x0d\x3c\xf4\xfc\xab\xd5\xc4\x9d\x70\x58\x27\x9e\x18\xf7\x04\xcf\xa1\xaf\xe3\xb9\xc5\x13\xc2\x9f\x56\x3d\xd4\x84\x27\xce\xa9\x87\x08\xf4\x0a\x83\xbe\x6e\x2c\x2f\x1b\x4d\x63\xc9\x43\xeb\x69\x3d\x0d\x21\x70\x4d\x25\xe1\xf8\x0b\x61\xda\xd5\x11\x48\x90\x89\xac\x75\xd5\x54\xc0\x14\x6d\xaa\x91\xb7\xc5\x69\xa7\x5b\x79\x28\x08\x59\x64\x14\xba\x56\x90\x14\xd6\x37\x37\x3f\x72\x4b\x85\x58\xd8\xb0\x08\x16\xe6\xc7\x2b\xb7\xff\xf1\xe3\xed\xc7\x2b\xe7\x91\xf5\xc0\x22\xab\x8b\xcc\xa1\x60\x64\x06\xe9\x10\x99\x01\xa6\x9a\x61\xd8\xc1\x89\x7b\x4a\x76\x88\x4d\x1f\x01\xcb\xc6\x4b\x02\x5a\x5f\xf1\xdb\xaa\x87\x28\x9f\x9d\x46\x92\x39\x71\x4e\x79\xdc\x0c\xa4\x14\xd2\x2e\x2f\x9b\xb1\x67\xa0\x38\xae\x84\x31\xb5\x76\x17\xea\x60\xe0\x4b\x1e\x79\x10\x44\x43\x70\xb5\x37\x32\x8d\x3f\x20\x71\x86\x63\xcf\x00\x93\x3e\x18\x0e\xc1\xb0\x02\x92\x81\x3f\x05\x69\x55\xb1\xa4\x65\x73\x3c\x6b\x18\x6b\x8a\x83\x24\xcd\x66\xed\x53\x57\x9e\x0a\xb8\x9a\x06\x10\x0c\x31\x2c\xa9\xa2\x65\xc7\xeb\xa6\x64\x50\x5f\x32\x04\xcd\x8a\xdf\x8f\x21\x62\xc6\xfb\xb1\x8d\xb1\x4a\x57\x8e\x49\x7f\x11\x95\x4a\x36\xc6\x28\xed\xf0\x92\x63\xdd\x15\x89\x57\x85\x1a\xf2\xad\x9b\x22\xdc\x2a\x62\x90\xd9\x60\x64\xbb\x11\xd4\x2d\x5d\x61\xa2\xc1\x2a\xa6\x99\x97\x55\x83\xb6\x6b\xad\x37\x9a\xae\x45\xd1\x2a\x70\x27\x6c\x36\x17\x94\x65\x54\x26\x87\x4b\x9f\x80\xd3\x13\x74\xda\x0a\xd6\x83\x25\xf2\xbb\x1e\x8c\xa3\x18\x82\x75\x32\xff\xa9\xeb\xe9\x33\xe3\xaf\x19\x5c\x29\x5e\x50\x16\xac\x4b\xdc\x88\xd1\xc5\xb5\x83\x68\x5c\x79\x5c\xeb\x07\xa8\x32\xa0\x85\x2a\x98\xe9\x69\x56\x9c\x2b\xa3\x8a\xc4\x13\xcf\x91\x8f\x3c\xab\x19\x10\x27\x67\x1a\xfb\xc7\x3e\x81\x36\x3a\x65\xa1\x42\x0b\xea\x81\xe5\x65\x45\xc3\x60\x88\x59\xfa\xaa\xc1\xda\x2b\x38\x4e\x20\x6b\x51\x70\xfc\xba\x30\x0f\x9c\x8a\x8d\x6b\xbf\xde\xef\xe6\x52\x71\xd8\xc8\xfa\xba\xea\xf1\x3c\x1b\xa2\x54\x26\x4b\x83\x62\x22\xab\xd9\x70\x94\x85\x8a\x09\x4e\x4c\xb4\x78\x4f\x84\x97\x15\x8c\x5b\x65\x97\x75\x47\xcd\x85\x6e\x6e\x75\x14\xd8\x33\x36\x34\x8b\xb2\x62\xbb\x8e\xc5\xc2\x80\xbb\x4d\x9d\x04\x20\xef\xb1\xee\x21\x31\x38\xf7\x0a\xad\xa7\x53\x6e\x71\x91\xb4\x48\x09\xaa\xfc\x44\xeb\xee\x4a\xa3\xf9\xd8\xb1\x64\x77\x21\x21\x51\x73\xfe\x4d\x92\xa5\x7b\xeb\x81\x31\xee\x15\x91\xa9\x13\x93\x66\xf1\x6a\x59\x59\x6b\x16\x2a\x8a\x89\xae\x4c\x24\x95\x7e\x58\x2c\x9d\xa5\xcf\xc9\x95\x7d\x54\x2c\x9b\xe5\x77\xc9\x95\x75\x1b\x4d\x61\xb9\x11\x25\x5b\xfe\x7a\x2a\xa7\xf9\xc8\xd5\x6f\x28\xba\x21\xa7\xd3\x90\xcb\xaf\x38\xc5\xf2\x05\xe7\x46\xb9\xca\x6a\xbe\x8a\x56\x47\x29\x8d\xf9\xaa\x9e\xc0\x5a\x6a\x3c\xcc\x93\x2e\x9d\x60\x7d\x7f\x70\x4e\x12\xf0\xee\x83\x68\x98\x6c\xf0\x5f\x72\x93\x2e\x58\x29\x8a\x37\x18\x27\x54\xd4\x89\x35\xf5\x22\xb1\xfc\x9c\xba\x8e\x06\x44\xce\x46\x6c\x42\x4c\x79\x00\x1d\xa7\xb1\x58\xa3\x9b\xbd\xf6\xf6\xcf\xd5\xa6\x5b\x18\x46\x16\xdc\x6c\x6f\x86\xa6\x33\x94\x23\x8b\xe3\xe6\x17\x6e\x21\x16\x5a\xbe\xc6\x4a\x7e\xc2\xa7\x23\x31\x01\xc8\x27\x83\xb0\x45\xce\xfa\x42\xc5\x27\x4d\xb4\xae\xa9\xca\xdd\xcb\xda\x21\x22\x10\xde\x9d\xf9\xe8\x13\xb7\x54\x5c\xb0\xb8\xa7\x97\x41\xa6\x85\xec\x05\xca\x78\x06\xe5\x55\x0c\x4b\xd7\x51\x65\xf3\x85\xad\x4a\x0d\xfc\x3e\x20\x75\xd8\xaa\xbb\x4f\x7d\x33\xc4\x75\xf6\xa8\xc9\x48\xbf\xaa\xd8\x78\xa4\x94\x51\xf9\xbd\xc7\x59\x7d\xdc\xcc\x4b\xac\x99\x1a\x27\x2d\x81\x87\xd3\xd4\x14\x2a\x6e\xbd\xf9\xe6\x54\xdb\xb6\x99\xfa\x8d\xcf\xaf\x29\xb6\xc9\xd4\x20\xa6\xbc\x8d\x37\x1c\x67\xb5\xd8\xed\x0d\x29\xc6\x44\xd6\xef\x34\xeb\xc2\x37\x9c\xa8\x9b\x5b\x9d\xca\x1b\x18\x5c\xf8\x08\x88\x07\x2b\x3b\x59\x29\x37\x25\xca\x16\xb8\xe2\xa7\xe3\x7a\xfc\xfb\xd6\x7e\x27\xfd\xde\xd9\xef\xa6\xdf\xf7\x84\xe7\x47\x07\x6b\x0d\x4f\xa8\x7c\x62\x7c\x74\x8c\x53\x91\x65\x13\x5e\xfd\x7b\xda\x37\x7f\xc5\x38\xd5\xfa\xcb\xa6\xb9\x05\x33\x75\x1d\x69\xa7\x5f\x56\x27\x4b\x5a\x9a\x5d\x83\x68\x35\x54\x56\x6d\x14\xc3\x4b\x1f\x0e\x0f\xfc\xfe\x3e\x8a\xa7\xb9\x06\xa3\x39\x35\x27\xcf\x01\x18\xe6\xea\x5c\xf0\x2e\xa7\x20\xc4\xb7\xa3\xd2\xb7\xb0\xac\xbd\x7c\x4e\x4c\x47\x6a\xf7\xdf\x57\x54\x25\x2a\x20\xd7\x10\x8b\xfd\x07\xba\x62\x8e\x54\xec\x3f\xd4\x8e\xdb\x7f\xa4\x7d\xf3\x57\x45\xd0\xc0\xfa\x8a\x9b\xf6\xb8\xd2\x8e\xef\x4b\xac\x2d\xed\x15\x43\xee\x32\x95\xe7\x18\xeb\x86\xd4\xd5\xff\x58\xa2\xe1\x5f\x95\x48\xf8\x07\x39\x24\x64\xf1\x12\xb7\xdc\x14\xd4\xda\xa6\xd5\x32\xfe\xc0\x58\xf2\x60\x1a\x9d\x27\xbd\x78\x6f\xed\x77\x0c\x1b\x52\x51\x46\x2a\x6c\xd6\x48\x35\xee\x58\x11\x24\x22\xfa\xd7\xb4\xb4\xfa\xcd\xdf\xe0\xaf\xb6\xf6\x3b\xf5\x4d\xfd\xa0\x87\x41\x04\x8a\x93\xec\x37\x7f\x53\xac\xbe\x75\x9f\x39\x93\xdf\xf1\xb2\xe4\xc8\xf2\xaa\xf9\xcd\x7f\x2a\x36\xf1\xa2\xb4\x09\xbe\x78\xe4\x17\xb9\x14\xe3\xa6\x25\xc3\xff\x3b\x22\xfc\xdd\x92\xbd\x80\xf2\x64\xaf\xd4\x84\xf8\xbb\x22\x94\xd7\x3a\x6a\xff\x17\x62\xa9\x3d\x5d\xa9\xbf\x27\x96\x7a\x23\xa7\x80\x2e\x18\xec\xf0\x39\x91\xe9\x18\xd4\x37\x7c\x09\xdb\x7f\x20\xb6\x70\xa4\xc3\xe3\x1f\x8a\xa5\xde\xe9\x4a\xfd\x23\xb1\xd4\x7b\x5d\xa9\xff\x5a\x2c\x75\xac\xa7\xb2\xac\x63\x32\xfe\xe0\x64\xdd\x6d\x35\x06\xf2\xba\xfb\xcd\x7f\x23\x00\x3b\x31\x4e\x72\x4b\x4d\x41\x23\xa5\xec\xab\xdc\xca\xb0\x40\xd6\xce\x7e\x57\x26\xe2\x9f\x48\x58\x7c\xfc\xa8\x5f\x64\xff\xad\x54\xf2\xb4\x74\x6b\x90\x74\x52\xea\xa1\x34\x81\x85\xd7\x3f\xae\xb7\xe4\xa1\x6c\x37\x61\x96\x4a\xd4\xaf\xc7\x7c\xf0\x2b\xf3\xe3\xb0\x6a\xb5\xcc\xfa\xf7\xd6\x2f\x1e\x58\x2d\xb8\x6e\xa6\x45\x3c\x78\xd2\x38\xcd\x8b\x7a\xf7\xc8\x36\x73\xe2\x9e\xda\xc0\xb2\x9a\x39\x61\x02\xd3\xa9\xec\xed\x77\x54\xe1\x17\x38\x5c\xcb\xba\xbb\x2b\x99\xa2\x12\xf9\xfe\x3b\x89\x28\xbf\x9a\x3f\x88\xdf\x32\xd1\xff\xb1\x38\xed\x3e\xfd\xbc\x2d\x10\xbc\x2b\x05\xbc\x09\x08\x95\x44\x53\xde\xec\xbf\x85\xb3\x4a\x98\x04\xad\x59\xd9\xda\xef\x54\x9c\xab\x86\x53\x31\xaa\x48\x77\x86\xdd\x89\x78\xfe\xe1\x7c\x3c\x8d\xc7\x24\x98\x9c\x84\x66\xfe\x8e\x3d\x0a\xc2\xd0\x34\xb6\xb4\xe7\xa6\xd4\xe6\x1f\x7d\x2b\x6d\xf8\x1a\x50\x28\xb6\x98\xf7\x83\xf1\xc0\x60\xa7\xa0\x54\x53\xd2\x6f\xe4\x50\xe3\x26\x0d\x88\x59\x33\xfc\x92\xe9\xd5\x04\x35\xa3\x99\xa9\x02\x25\xed\xfa\xb6\xaa\x28\xd5\xcd\x49\xe5\x1e\x18\x4d\xde\x48\xbe\x4f\xac\xd1\x6d\xa6\xa3\x7f\xc1\x3e\xbb\x5a\xc8\x5c\x89\xf8\xad\x1c\x39\x95\xd6\xe1\x79\xf2\x47\x95\x07\x15\x9f\xcd\x72\x8d\xcc\xee\xa7\x37\x31\xa7\x81\x05\x66\x8b\x29\xed\x07\x96\xf4\xeb\x7b\xe9\x57\x55\xfa\x55\x93\x7e\xd5\xa5\x5f\x0f\xa4\x19\x68\x23\xed\x1c\x2c\x32\x63\xc1\x88\x4a\x96\xa1\x95\xfa\x51\x28\x19\x45\x36\xe3\x30\x40\x53\xca\x8f\xa8\x34\x8b\x82\x56\x2b\xb5\x30\x0d\xd6\x0d\x33\xd3\x40\x6d\x3b\x5e\xd0\x34\x2c\xfc\xe0\xf6\xd6\xa8\x09\x2f\x5c\xfc\xe2\x7b\xf6\xa2\x2e\xbc\x68\xe0\x17\x55\x63\x09\x2f\x04\xe3\x01\xfe\xe4\x32\x82\xed\x15\x2f\x98\x2f\x0e\x0d\xe3\x71\xa6\x2d\x4f\xd1\xad\x24\x00\x51\xad\xf9\x77\x55\x54\xfd\x8e\x68\xca\xb5\xa2\x78\x71\x04\x1f\x2a\xce\x3f\xfc\xfc\x51\x91\xd3\x2f\x5e\x91\x05\x38\x8f\xcb\xcb\xa7\xd7\x5b\xa1\xca\x13\x4d\xd3\x86\x57\x76\x91\x51\x49\x65\x77\xc0\xf5\xd4\x1f\xb2\x00\x01\x1c\xca\xb3\x6f\x85\xe2\x66\x50\xea\xcf\x95\x28\xd6\x07\x05\xc8\x4c\x39\x6b\xe7\xd9\x4f\xf2\x54\x00\x18\x66\x27\xdb\x44\x0d\xbb\x68\x9f\x4d\xae\x3d\x0d\x43\x80\x12\xab\xcb\xac\x18\x22\x01\x6e\x55\xb7\xb5\x5e\xa1\xd8\x9d\xae\x58\x43\x2a\xf6\x6b\x5d\xb1\xf4\x8a\xb8\xb7\xdf\xc1\x5c\x8a\xd6\x91\x85\x0a\xbe\xa3\x61\x7c\x79\x10\xa0\x10\x08\x0c\x88\x00\xa0\xc1\x26\x05\x05\x96\x3d\x5f\x3d\xd5\xb8\x28\x65\x1c\x14\x8b\x66\xdf\x22\x6e\xfd\xa9\x84\x9f\x6b\xbc\x1e\x34\x2c\xee\x23\x5a\x6e\x50\x2b\x78\x18\xda\x89\x77\x72\xca\x9c\x9e\x60\xab\x5a\x8d\xb8\xc3\x53\x06\xfd\xa4\xf1\x7d\x74\x6a\xd9\xa1\x47\xbe\x55\xdd\xd3\x96\xff\xcc\x8b\x33\x5d\xa6\xb1\x6e\x2c\x79\xe1\xba\x19\x66\xce\x91\x57\xae\x7b\x10\x77\xf6\xf7\xcd\xd0\x22\x1a\xc6\x13\xff\xd4\x0b\xad\xa6\x58\x04\x8e\xfb\x07\xf1\x7b\xd7\x25\x2f\x71\xa9\x84\xea\xaa\xfd\xaa\xd1\x32\xaa\xa1\x65\xdd\x25\x72\xaa\x72\x2d\x2b\x7e\xba\xda\x32\xaa\x09\xb3\xc0\x68\x19\x56\xd5\xf8\x2b\x86\x48\xef\x27\x32\x5d\xd3\x7c\xfd\x5f\xfb\xf1\xf0\xba\x99\x12\xf7\x4e\xac\xe3\xe6\x46\x59\x3f\x10\x84\x29\xe0\x9b\x75\x91\x00\x88\x1a\x64\x9a\x96\xd5\x82\x0a\xc5\x40\xe6\x79\x4a\x9c\x1c\x49\xc4\x5e\xae\xe4\x75\x68\x64\x76\xc6\x19\xa3\xac\x83\x02\x9a\xee\xa9\xa4\x87\x03\x84\xd3\x95\xde\xff\x5e\xba\xb1\x21\xfb\x6a\x9a\x50\xc2\x62\x6d\x0e\x31\xd9\xbd\xa0\x93\xa5\x7d\xf5\xcc\xba\xf5\x20\x60\x48\x71\xd6\xe5\xc4\xe5\xe9\x1b\x5c\x43\xa7\x34\x21\xb5\xcd\x92\x6c\xb7\x12\x5f\xd4\xf8\x36\x38\x69\x4e\x5a\x25\x0f\x74\x5f\xa4\x48\x32\x5f\x9a\xa9\x5b\x66\x64\xc4\xb0\xde\x30\x01\xf8\x8e\x53\x59\x73\x30\x47\x93\x50\x83\x48\xc5\xde\xb2\xd6\x58\x88\xd4\xbf\x3a\x19\x4c\x13\xc7\x6d\xac\xac\xae\x3d\x7c\x74\xfa\x3d\xb9\x8b\x3d\x90\xe7\x00\x4b\x42\xe2\xa3\xb8\x4f\x49\x5f\x1c\x78\x75\x3a\x19\x7a\x7b\xa3\xd6\x73\x50\x9e\x8e\x8f\x1e\x3d\x52\xa0\x97\xd9\xf4\x16\xa6\xa5\x94\xb4\x83\x2e\x5b\x6a\x7d\x0b\xed\xa0\x65\x2a\x3b\xf6\xab\xd6\x69\xb5\x65\xe2\x8f\xef\x2d\xb3\x65\x9e\x7c\x4c\x3e\xee\x9f\x7e\x6f\x59\xeb\xbf\x78\x40\xf6\x22\xe8\xe1\xde\xd8\x81\x87\x4e\x56\x4e\x2d\x3b\xdb\x0d\x48\x6a\xea\x26\xb4\xc9\xae\x10\xdc\xe5\xc7\x56\xcd\x64\xce\xe0\xd5\x05\xaa\x4c\xe2\xe1\x2c\x04\xb9\x41\xc9\xc4\xc4\x27\xc6\x2f\x8d\xb2\x43\x23\x20\x9a\xe5\xfd\xa9\x3f\xc0\x27\x46\xe0\xc3\x31\x31\x9b\xb2\x32\x08\xf5\x76\x49\x75\x3a\x9b\x0e\xa7\xba\xba\x1b\x73\xeb\x12\xf1\x96\xa6\x76\x67\x6e\x6d\x12\xde\x5e\x57\x7d\x73\x6e\x75\x22\x91\xd6\xd4\xde\xba\x3f\xea\x45\x9d\x86\x46\x28\xbc\xdf\xad\x3f\xbf\x2f\x55\xef\x03\x7c\xbb\x9c\x4d\x90\x2a\x0a\x6d\xd4\x5c\x11\xc8\x8b\x45\x80\xf0\x60\xc7\x32\x18\x9b\xfd\x72\x0b\x40\xbb\xca\x2d\x22\xad\xda\xa2\xa1\xa8\xa9\x25\x3e\xb2\xdd\x7c\xa7\xf3\x69\x55\x5a\x59\xa0\x4a\xa7\x05\x9f\xa2\x16\xac\x56\xad\xc5\x94\x08\xfb\xdd\xfa\x4b\x2f\x5b\x26\xeb\x2f\x0b\xf7\xa2\x9c\x0c\x09\x6f\x42\xce\x92\x07\xd7\x5d\xcf\x83\x39\x35\x25\x80\x7e\x02\xda\xfd\x18\xb3\xed\xcd\x46\xf1\x3d\x53\x5e\x35\x57\x32\xdb\xe7\xc2\x3b\x05\xc4\x0d\x10\xc6\x97\x12\xca\x3b\x22\xca\x3b\x3f\x19\xe5\x83\x98\x2c\x01\x8a\x73\x1e\x31\x52\xe2\x55\x10\x01\x35\x72\x07\x31\x5d\x7d\x22\x7a\xaf\xe6\x6e\x35\x18\x5e\xa2\x5b\x73\xbb\x25\xd5\x69\xc8\xe6\xd2\xea\x6f\xe6\x56\xc7\x17\x59\x6d\xf5\xfd\x92\xea\x17\xcc\xd2\x41\xbf\xd5\x1d\xe4\xe4\x3a\x82\x0f\xe5\x53\xcf\xcd\xd3\x96\xc3\x2b\xd9\xfe\x4e\x8c\x67\x07\x4a\xf9\xe9\x7e\xb7\xfe\xbe\x04\x55\x69\x70\x34\xc8\x1e\xff\xde\x97\x61\xdf\x1f\x9c\x6b\xd6\xe1\x89\xf1\x43\xaa\x35\xc2\x9b\x57\x86\xa6\x7f\x8f\x7d\x6c\x8e\x82\xa3\xaa\xa1\x44\x5f\x4d\xe0\x81\x62\x34\x4f\x9c\x53\xb2\x9c\xd2\x5f\x79\xa7\xa6\x79\x82\x7a\x32\xa6\x83\xf2\xf3\x38\x0f\xe2\x99\xd3\x6a\xac\x3d\x6c\x39\x12\x98\xba\x22\x29\xa9\xa4\x10\x67\x99\x38\x29\x09\x7a\xf1\xa5\x7e\x97\x1f\x65\x84\x7f\x91\x3d\x1d\x2f\xd2\xfd\x75\x12\x71\x24\x7d\xa5\xd8\xd5\xda\x61\xc8\xc6\x3b\x29\xec\x21\x34\x5f\x0e\x7d\xdb\x66\x83\x65\x2e\x49\xb8\x9d\x69\x2e\xa5\x4e\x0b\x3d\x95\x16\x58\x0b\xf1\xf9\x26\x58\xd6\x71\xa6\x0e\x9d\x0a\x66\x8f\x74\xe3\x3c\xcb\xab\x1b\x16\x04\xcd\xac\xde\x74\x90\xeb\x81\xb8\x3b\x07\xba\xc5\x1b\xfe\x6c\xdd\x72\xe5\x6e\x85\x3f\x5f\xb7\xa4\x71\x98\xe8\x74\x33\x48\x8c\xa8\x22\xec\x77\xa8\xda\xb8\xbd\x5d\x4b\xa7\x0a\xaa\xba\xa7\xeb\xd1\x2c\x0c\x9b\x6c\x1a\xa2\x6a\xc3\x76\xac\xbb\x14\x12\x2c\x81\xb4\x76\x7b\xdb\x50\x40\x22\xd1\x8f\x8c\xaa\x04\xb0\x6a\x54\x6c\xe1\xd1\x4a\xf1\xd1\x2a\x79\x64\x19\x77\x82\x50\xb2\x4c\x5e\x41\x83\x11\x09\x08\x65\x44\x8d\x3d\xa7\x15\xe7\x88\x1a\x57\xab\x3c\x0e\x14\x6b\x32\xb6\x1d\x02\x24\x79\xba\xe2\x58\x8e\xe7\x25\xeb\x01\x17\x5b\x35\x5d\xfa\x93\xc6\x04\x75\xf0\x11\x8c\x7f\xf2\xd8\x82\x98\x57\xc0\xbf\x79\x5c\x50\xa7\xb9\x4a\x1f\x88\x91\xfe\x9a\x6b\x0c\x06\x8d\x16\xea\x34\x1f\xb1\x4a\x3c\x0e\xa8\xd3\x7c\x9c\x3e\xe1\x91\x40\x9d\xe6\x13\xfa\x2c\x1f\xfb\xaf\xd9\x20\x38\x98\x41\x1a\xa7\x34\x45\xc7\xb5\x9a\x8d\x1c\x42\x6e\xb3\x51\xc4\xc8\x6d\x36\x64\x94\xdc\x66\x23\x8f\x93\xdb\x6c\x14\x91\x72\x9b\x0d\x8c\x15\x89\x0a\x98\x8f\x6d\x4a\x73\x86\x55\x08\x19\xd7\x1c\x8b\x92\xf3\xb1\x15\x14\xe3\x7e\x26\xb5\x15\x27\x2d\xbc\x82\x5b\xc1\xa5\x59\x6a\xc8\xc8\x83\x66\x6c\x59\xaa\x7a\x01\x8f\x97\x65\x8b\x2f\xbd\xc8\x8e\xab\xde\x5a\x9a\xb1\x8c\x7a\xbf\x9b\xbe\x47\x72\x10\x59\xf4\x92\x16\x8c\xcc\xb8\xea\x35\x6c\xff\x19\x97\x5d\xf0\x68\xa7\x6c\xc6\x0c\xe2\x08\x05\xd1\x0c\xb4\x14\xed\xfa\x77\x29\xb2\x4f\x08\xb2\x3a\xd4\x58\xa0\x2e\x81\x10\xab\x98\x00\x85\x78\xa6\x49\x6d\x35\x23\xc0\x2a\x21\xc0\x57\xea\x32\x8a\xfb\xde\x4a\x89\x11\xa9\x2a\x8b\x54\x10\x02\x86\x89\x54\xa0\x02\x3a\x24\xc0\xf2\x3c\xff\x1b\x28\x51\x68\xdb\xbf\x63\xa4\xd0\xa1\x25\x51\x20\x79\xe6\x3d\x71\x96\x97\x93\xa7\xde\x93\x47\xeb\xca\x79\xf0\xc4\xa9\x3e\x6e\x26\xcf\x3c\xd7\xa1\xe5\x5c\xe7\x11\x99\x5b\x0a\x8a\xb9\x8e\x53\x7d\x6c\xdd\x05\x62\xb4\xc0\x22\x3b\x91\x17\x97\xe5\x2f\x64\xe3\xa2\x28\xca\xb2\x78\x9f\x64\x49\x35\x65\x04\x26\xba\xf3\x21\xca\x7b\x64\xaf\x09\xe7\xac\x55\xce\x2f\x38\x91\x91\xad\x96\x87\x62\x3d\xd1\x47\xb4\xc8\x26\x61\x1e\xc1\xaa\xba\xdc\x59\xb4\x84\x8f\x72\x5b\x73\x38\x16\x92\x89\xa9\x65\x54\x61\xd5\xe8\x19\xb2\x2c\xe2\x59\xa4\xe9\xf3\x89\xb1\x1e\xe5\x0e\xaf\xbf\x2c\xf8\x13\x62\xba\xe2\x10\xac\xcf\xe5\xfa\xdc\xc8\xb0\xc8\x46\xb8\x78\x9d\x06\xad\xf3\xf0\x5e\xed\x34\x5a\x6e\xcb\x69\xe1\x31\x6f\xae\x95\x31\x63\xc5\xaa\x6b\x4e\x94\xe3\x4b\xa7\xda\xa1\x59\x9a\x2a\x94\x13\x6a\x8d\x4c\x12\x8f\x50\x2f\x3f\xd7\xeb\xbf\x98\xea\x06\xfd\x17\xda\x56\xbf\x33\xa6\xdf\x69\xd6\xc7\x17\x0d\xb4\xca\x17\xa3\x54\x02\xd9\x72\x88\xbe\xd0\xf5\x3c\x6e\x96\xfa\x4d\xf2\x52\x9d\x20\x86\x9a\xd8\x93\x64\xa4\x8d\xdf\x6d\x13\xae\x45\x24\x09\xdf\xd8\x44\x26\x42\x5e\xa0\x27\xab\xbf\xfb\x66\x70\x6f\xd6\xbe\x9d\x60\x5b\xed\xdd\x45\x3a\xf2\xf0\x77\xda\x82\x5b\xb0\x0e\xe2\x52\x5a\x0a\xa9\x42\xa2\x50\x36\x89\x69\xca\x9d\x38\xc9\xbf\xe8\x26\x39\xd4\xce\x64\xbc\xc7\xe1\xdd\x41\xd0\x92\x39\xa7\xb6\xeb\x58\x35\x97\xc6\x80\x0a\x88\x98\x59\x7c\xef\x8a\xef\x5b\x85\xae\xe4\x9c\x5e\xa0\x1d\x68\xfb\x9b\xca\xfb\x1c\x3b\x77\xa7\x82\xba\xe3\xec\x17\x50\xfd\x3c\x59\x5c\x05\x4e\x5b\x48\x74\x2d\x20\x4d\xc3\xea\xe7\x27\xc6\x33\xa4\xdd\xeb\x2a\xba\x57\xf5\xd9\xbd\x34\xf0\x14\xd8\x4c\x4b\x93\x0b\x4d\xfb\xdf\x5d\xea\xaa\x5c\x69\x6a\x7c\x7f\xa5\x6d\x44\x5d\xa5\x7e\x93\x3f\x67\x97\xe4\x3b\xce\x53\xd7\x2a\xee\x9d\xc1\xc8\xc4\xdb\x27\xcb\x85\x2e\x96\x6e\x30\x6b\x90\xd6\x7c\xed\x6f\x9a\xd7\x83\xc1\x75\x4f\xd9\xf1\x4a\x0c\x97\x8a\x3c\x97\x1e\x00\x71\x65\x90\x78\x8b\xef\x6e\xb4\x74\xb8\xd1\x11\xfb\xab\x76\x1e\x7c\x77\xab\x7f\x75\xa7\x7f\xf5\xeb\xdc\x2b\x29\x86\xe5\x88\xab\x4f\xc5\xa8\x84\xea\x40\x79\xc9\x00\x06\x24\x09\x20\x0f\x90\xb5\xfd\x4a\x88\x0e\x38\x0e\x27\xfe\x74\xc3\x4f\xc0\x27\x31\x2c\x75\x16\xc3\x40\x84\x9f\x0b\x49\x5d\xcc\x15\x9f\x83\xb8\xbc\xbc\x24\xc7\x30\xe7\x2d\x8b\x29\xf3\x48\xf1\x4f\xd4\xce\x47\x7e\x0e\x01\xcb\xfe\x44\x8b\x78\x60\x9d\x05\x48\xf0\x93\x24\x18\x47\xe6\xd7\xbb\x7c\x17\x6c\xc0\x24\x43\xd9\x23\x16\x2b\x5d\x0c\xad\x20\xc0\x5c\x28\x4c\x42\xde\x69\xd4\x6a\x65\x08\x8a\x61\x11\x0c\xcc\xee\xa5\x11\x14\xaa\xc6\xa9\x61\x1b\x63\x21\x4c\x13\x6e\x07\xa4\x39\x4b\x33\x18\x36\xf0\x9e\x09\x38\x51\xed\x77\x29\xf5\xd5\x51\xaa\x68\xf5\x25\x66\x8b\x2f\x0e\xc3\x3d\xc6\x15\xa0\xbd\x0b\x00\x61\x30\x54\x65\x39\xa2\x20\xc0\x1c\x18\xa5\x29\x5e\x72\xd5\xcc\xfc\x24\xcd\x0f\xa9\x25\xe5\x2d\xd0\x77\x51\x46\x5d\x1a\x63\x1b\x28\xf0\x2d\x9e\x18\x13\x7f\x9a\x7c\xf2\x8a\x05\xeb\xec\x1e\x97\x85\xfd\xc4\x25\xd9\x92\x49\x2b\xaa\x9a\x10\x68\x42\xed\xd3\xb4\x21\x5b\x08\x88\xfa\x99\x9f\xec\x5d\x46\x6f\x60\x3c\x05\x10\x5d\x9b\x80\x85\x08\x20\x2f\x4f\xc0\x69\x93\x9a\xb6\xcd\x69\xc9\x1f\x0e\x35\x5b\x01\xed\xa0\xe7\xc9\x7d\x48\x53\x7c\x93\xb7\xea\x15\x96\x16\xe6\xaa\x43\x8e\x52\x66\x73\xac\xc1\x46\x3d\x53\x49\xf5\x25\x6f\x0e\xb1\x65\xcc\xca\xcb\xaa\xa6\x64\xb2\xf0\xbc\xfe\x59\x28\x23\x27\x2a\x92\x33\x60\x33\xf3\x44\x24\x98\x27\xc2\x75\x01\xfa\x09\x3a\xf5\xa0\x1c\x21\x90\x3f\x97\xe7\x35\x09\xa5\xce\x36\x39\x3a\xd2\x26\xb2\xd5\x2b\xcb\x98\x25\x00\x62\x2e\xd1\xa6\x95\xee\x94\x24\x12\x68\x98\x79\x7b\xe9\x4a\x9c\x38\xa7\x9a\x65\x6c\x8c\xa1\x3f\x3d\x0b\x06\x86\xfd\xd5\xf8\xc1\x68\x1a\xbf\xfd\x87\x7f\xcb\xb0\xfd\xa6\xf1\xdb\x7f\xf0\x5f\x19\x76\xbf\x69\xfc\xf6\xef\xfd\xb1\x61\x0f\xf0\xe7\xdf\x36\xec\x21\xfe\xfc\x3b\x86\x0d\xf0\xe7\x7f\x66\xd8\xa3\xa6\xf1\x9b\x7f\x69\xd8\xe3\xa6\xf1\x9b\x7f\x65\xd8\x67\xf8\xe9\x9f\x1a\x76\x80\x3f\xff\x73\xc3\xfe\xdc\x34\x7e\xfb\xf7\xff\x91\x61\x9f\xe3\xcf\xbf\x67\xd8\x21\xfe\xfc\xdb\x86\x3d\xc1\x9f\x7f\xdf\xb0\x23\xfc\xf9\x17\x86\x1d\x37\x8d\xdf\xfe\xdd\xff\xd3\xb0\xa7\xf8\xf3\xdf\x18\xf6\x17\xfc\xfc\xaf\x1b\x36\xc4\xbf\xff\xc2\xb0\x13\xfc\xf9\x6f\x0d\x1b\xe1\xe7\x7f\x62\xd8\x33\xfc\xf9\xa7\x86\x7d\x81\x3f\xff\xdc\xb0\x2f\xf1\xe7\xbf\x30\xec\x2b\xfc\xf9\x9f\x18\xf6\x75\xd3\xf8\xed\x1f\xff\xa9\x61\xdf\xe0\xcf\x7f\x6a\xd8\xc6\x57\xa3\x69\xfc\xbf\x7f\xdd\xb0\x8d\x5b\xdc\xc1\x3f\xfe\x27\x86\x6d\xdc\x19\x4d\xe3\x37\xff\xa3\x61\x1b\xbf\xc6\x5f\xfe\x37\xe3\x4e\x71\x2a\x4b\x14\xac\xb7\x75\x04\xec\xc3\x00\x05\xc9\x19\x26\xe0\x1f\x52\xa8\xf3\x81\x6d\xe8\x80\xcd\x12\x83\xba\x9a\xcf\x1b\xd0\x55\xed\x80\x0e\x67\x68\x20\x62\x63\x1b\xbf\xc4\x5f\xfe\x2f\xc3\x36\x4e\x8c\xa6\xf1\xff\xfc\x6b\xc3\x36\x3e\x7e\xc4\x8f\xfe\xad\x61\x1b\xa7\x46\xd3\xb8\x65\x34\xfa\xcd\x3f\x63\x34\x1a\x71\x0a\xfd\x05\xa7\xd0\x9f\x2f\xd0\xa9\xce\x9c\xa5\x7e\xb2\xa6\xc5\x79\x14\x44\x11\xa3\x21\xc6\xf1\xc7\xbf\xc1\x71\xfc\xf1\x1f\x30\x1c\x7f\xfc\x9b\x86\x6d\xfc\x0a\x7f\xf9\x13\xc3\x26\x33\xf5\xc7\x7f\xce\xd0\xfe\xf1\x4f\x19\xda\x3f\xfe\xaf\x0c\xef\x1f\xff\x29\xc3\xfb\xc7\xbf\x58\x00\xef\x9e\x16\x2b\x08\x22\x05\x29\x7f\xfc\x27\x8c\x94\x78\xee\x33\x34\xff\x8c\xa1\xf9\x9b\x3f\xe3\x48\xfd\x73\x8e\xd4\xff\xc1\x91\xfa\x67\x9c\x98\xff\x6c\x01\xa4\xde\x96\x23\x55\x19\xf8\x91\x3f\x0c\xfc\x08\x63\x27\x21\xf5\xe3\xff\x50\x40\xea\xc7\xff\x99\xd3\xee\x7f\xe1\xb4\xfb\xf3\xf9\x68\xfe\xf8\x6f\x16\x40\x73\x47\xbb\xad\x00\x38\xc9\xb0\x23\x64\xd1\x8d\xec\x9f\xe8\xc7\x91\xcf\xbf\x1f\xff\xf1\x02\xb8\x7c\xd0\xe1\x42\x94\x15\x14\x19\x79\x4d\xfc\x99\x7e\x20\x09\x61\x7e\xe0\x84\xf9\xca\x29\x4c\xd0\xfb\xd7\x05\x52\xfd\x8b\x05\xd0\xdb\x9a\xb7\x3c\x1e\x6a\x97\x47\x14\xc3\x4b\x30\x0e\xfc\xe8\xc1\xd0\xe7\xeb\xe4\x97\x9c\x9a\x84\xac\x7f\x2b\xed\xc0\x3f\xd2\x2f\x98\x3f\xe5\x3d\xf9\x9f\x78\x4f\xfe\xf7\x6f\x5a\x30\xc7\x3a\x3c\x93\x69\x8a\x9e\x86\xd0\xff\x7d\x8a\xe7\x7f\xc9\x57\xcc\xff\xcd\x77\x9f\x7f\xc9\xb1\xfa\x57\x1c\xab\x3f\x9b\x8f\xcc\xc9\xa3\xd3\x39\x74\xad\xbf\xd0\xa2\x7b\x09\x86\x22\x35\xff\xb8\x64\x92\xfe\xce\xb6\x1f\x6a\x8b\xaf\xc5\x30\x48\x12\x4e\x4e\x32\x13\xe5\xb5\xfe\xcf\xcb\xd7\xfa\x27\x36\x47\xe5\x25\x5f\xb2\xcc\xc8\x92\x27\x9a\x0a\xa2\x17\xc1\x9c\x8a\x49\x73\x2a\x3c\xf0\x67\xc3\x20\x7e\xd0\x07\x61\x68\xd8\x06\xfd\x11\x8f\xc7\xad\xbe\x9f\x80\x87\xab\x86\x6d\x1c\x34\x86\xd1\xe1\x65\xbb\xd3\x4e\xff\x6d\x9e\x7d\x79\xb7\xb6\x43\xbe\xee\x3e\xbf\xd8\xfa\xfc\x61\xe3\xc5\xf8\x79\xa3\xbf\xf2\x32\xf0\xdf\xef\xd2\x22\x1f\x3a\x8f\xd2\xe2\x2f\x06\x1b\xf4\x4b\x67\xb5\x7d\xf8\x24\x3a\x76\x77\xdb\xe2\xbf\x55\x3f\x9c\xed\x8f\xb7\xc8\x77\x90\x74\x57\xb6\x3a\x2b\x0f\x0a\xff\x1e\x9f\x6f\x0e\x27\x4f\xae\x3f\x4c\xc2\x9b\x17\x6f\xdb\xed\xf6\xf3\xb3\xe9\x60\x7b\x3c\x3b\x58\x79\x19\x75\xb7\xaf\xa6\x1f\xc2\xe3\x8b\xc1\xe4\xe5\x74\x70\xbd\xf1\xb2\xbb\xd9\xbd\xdc\xdd\x3c\xbf\x7c\x7d\xd3\x5e\xa3\x2d\x6c\x3d\xe7\x75\x77\x0e\x5f\x6e\x1e\x8d\xb7\x68\x67\x36\x9f\xef\x76\x77\xdf\xb5\x9d\x97\x1b\x47\xed\x76\xfb\x6d\xbb\xbd\x31\x7e\xd9\x39\xdf\x3b\x6f\x1c\xbf\xdc\xf1\xdf\x1d\xc6\xfb\x67\x6b\x93\x97\xbd\xee\xfe\xfe\x24\x0c\x77\x0f\x2f\x83\xe3\xe0\x30\x18\x1c\x7e\xf8\xb0\x7a\x79\x75\x75\x76\xf6\xf9\xf3\xe6\x8b\xed\xed\xed\xbd\xdd\xee\x66\xef\xfc\x39\xae\xdd\xee\xb4\x77\xda\x93\xbd\xb8\x7a\xfc\xd2\x4f\x56\xd7\x8e\xaf\xc6\xd1\xe7\x68\x67\xbc\xf7\x2e\xdc\xdb\xdb\x19\x8c\x37\x56\xa7\xbd\xd5\xcd\xf3\x97\x97\x17\x87\x93\x0f\x8d\x87\x13\xb4\x73\x0c\xfb\xc9\xea\xf4\xe5\xdb\xf1\xeb\x77\x6f\x0f\xdb\xed\x76\xb7\xfd\x76\x6b\x7c\x76\xd6\xeb\xed\xef\x77\xb6\x9f\x3f\xdf\xde\xe9\x76\x3f\x7c\xf8\xf0\x21\x1e\x9f\x9d\x5d\x5d\x5d\x5f\x77\xb6\xa3\xe8\x45\x77\x67\xe7\x4b\x30\x1e\x8f\xe3\xeb\xeb\x4e\x67\xf3\x60\xf3\xd5\x74\xfa\xf2\xf5\xde\xde\x6c\x12\xc7\xab\xab\x0f\x1f\x06\x81\xe3\x6c\x75\x5f\xbd\xea\x1f\xec\xef\x9f\x5f\x5e\xb9\x47\xc7\x9f\x21\x74\xb6\xdf\xbf\xbf\xba\xb9\xf9\x1c\x45\xd1\x8b\x37\x7b\x7b\x00\x0c\x06\x8f\x57\x5f\xbe\x3d\x7f\xfd\xae\xfd\xb6\x3d\xc6\x04\x7a\x3b\xfe\x70\x7c\xbc\xb1\xd1\xe9\xe0\x76\x9f\xef\x74\x77\x7c\xff\xc3\x00\xb7\xd1\xdd\x7c\x7b\xfe\xfc\xb0\x8d\x09\x36\x26\xb4\xdc\x78\x71\xde\xeb\xbd\x4c\x7a\x07\xaf\x92\xde\xcd\x6b\x67\xbf\xf7\xe6\x71\x70\xd5\xdb\xba\x79\xdf\xdb\x75\x8e\x0e\x8e\xb6\xdc\x23\xfc\x6f\x78\xe4\xbe\x1f\x4e\xde\xbf\x1f\x46\xf8\xcf\x3d\x9e\x74\x8f\xfa\xb3\x17\xee\xf1\xac\x7b\xd4\x6f\x74\x8f\x86\x4f\x56\x8f\xce\xb6\xbb\xc7\xe9\x5f\xf5\xc5\xca\xe8\xc9\x0a\xfe\x73\xc6\xaf\xb7\xdf\x1e\xb5\x3b\xed\x8d\xf6\x4e\xfb\xf3\xde\x71\xff\xf3\x8e\xdf\x0d\xb6\xbf\xbc\x0a\xf6\xfc\xee\xe6\x59\xd7\x4f\xda\xe3\x8d\x73\x8c\x73\xbb\xd3\x7e\x79\x1e\x74\xa7\xe7\x5f\x5e\xbf\x9c\x4e\x8e\xbf\xc0\xc9\xa4\x8f\x26\x01\x44\x93\x95\x57\x49\x70\xf3\x2a\x19\x5f\x6f\x9d\x7d\xb9\xc4\x43\xbd\x41\x86\x17\xff\xdb\xd9\x98\x4e\xbe\x1c\xab\xff\x26\xc7\xc7\xe1\xe4\xe8\x5e\x7f\x6f\xb7\x3f\x77\x77\xc6\x1b\xed\xf6\x78\xa3\x7d\xb5\xb2\x35\xb8\x5a\xd9\x3a\xef\x1d\x75\xcf\xaf\x56\xba\xc9\xc6\x25\x1d\xd7\x6b\x3c\xf3\xdb\x1b\xed\xc3\xe0\xe6\xf9\xe0\x73\xef\xc5\xe0\xe6\xe0\xc5\xe0\xe6\xe6\xc5\xe0\xe6\xea\xc5\x70\xeb\xe0\x65\xb8\x75\xf3\xfa\xc9\xd6\xe5\x9b\x4e\xdb\x3d\xde\xc0\x68\x8e\xdb\x5d\x8a\xec\x46\x7b\xb7\x77\xf3\x7c\xd0\xbb\x79\x89\xe9\x7c\x18\xac\x1c\x0c\x3e\x1f\xbd\x1f\xdc\xac\xbc\x1f\x38\x2b\xef\x31\x8d\x8f\xee\xf3\xef\xc3\x0b\x3a\x96\x98\x16\x9d\xed\xe1\xf1\xf4\xf8\xcb\xb8\x3d\xbe\x39\xdf\xde\xa2\x34\xa7\xad\x7e\x88\xdf\x9e\x6d\x6e\xb6\xf9\x9c\x7c\xdb\x6e\x77\x83\xb3\xb5\x4e\xc7\x77\x5e\xc2\x9b\x9b\x83\xf3\xbd\xc9\xec\xdd\xf8\x4b\x6f\xbf\xef\x3c\xde\x7e\x79\xf4\x32\x89\x66\xfe\xe4\xc3\x64\x85\xce\xab\xfe\xee\xea\xf1\xea\xda\xd5\xcd\x4d\x10\xed\x4c\x06\xef\xc6\x93\x61\xc7\x1f\x3c\x5e\x7b\xb9\xf9\xf2\x4b\x18\xbf\x8c\xde\x4e\xa2\x37\x7b\xa0\xb7\xd3\xdf\x78\xd8\x98\x3a\xd3\xe9\xcd\xcd\x59\x14\x45\xed\x47\xdb\xdb\xef\xb6\x07\x83\xc7\x6b\x53\x67\x1a\xbf\xf8\x32\x0c\x09\xbc\x77\xc3\x8e\xbf\xf6\x25\x58\x7b\xfe\x12\xdd\xdc\xc4\x93\xc3\xc9\x35\x70\x67\x47\xfb\xfd\xc1\xe3\xd5\xb5\xb5\xb5\x6c\x3e\x7f\x39\x7a\x38\xb8\x49\xb6\xd6\x56\x8f\xaf\x6e\x6e\xe2\xc8\x9f\x34\x66\x6b\x9d\xa3\xc6\x60\xf0\xf8\xd1\xda\xf1\xcb\x9b\xd9\xcd\xdb\xe8\x4c\x98\xf7\xb4\xee\x38\xec\xbc\x75\x3f\x6c\xb4\xc9\xb6\xd3\x3b\x6b\x6c\x7c\xde\x8e\x3e\x74\xc7\xa3\x0f\xab\xdb\x1f\xce\xde\x9e\x4d\x83\xed\x83\x17\xd1\xfe\x9b\xcd\xe9\xde\x78\x77\x30\x9e\x4e\x37\x1e\xbe\xfe\x7c\x7e\xbc\xf3\xe5\xc3\xeb\xb7\x87\x67\xe7\xd1\xf4\xfd\x7e\x87\xed\x1b\xe3\x76\xbb\xb3\xb5\xf5\xfc\x65\xb7\xfb\xe1\xf0\xf0\xf0\x3c\x5d\xbf\xdb\xdb\x78\xfd\xfa\x60\x30\x18\xc7\x5f\xbe\xec\xec\xef\x07\x01\xdc\xd9\x79\xf5\x66\x77\x37\x49\x92\xe4\xf1\xe5\xf5\xf5\xc3\x9b\xcd\x9b\xcf\x10\x26\xbb\xbb\x6f\xdf\x5e\x5e\x5e\xa1\xd7\x2f\x77\x5e\x6d\xbe\x3f\x3a\x9a\xec\xbd\x46\xc0\x07\x83\x87\xab\x6b\xfb\xdb\xb3\x10\x0d\x8f\xfd\x9d\x87\xef\x0e\x0f\xcf\xe3\xe9\x74\xbf\xed\x1c\x6f\xb0\xbd\xa2\xb3\x71\x7e\xbe\xb5\xb5\xbd\xcd\xdb\x9d\x9e\x5d\x5f\x07\x93\x28\xee\x76\x77\xf2\x73\xe9\x71\xe7\xe0\xcd\x56\x6f\xa5\x97\xfb\x7b\xf3\xb8\x77\xd5\xdb\x0a\x8e\x7a\x5b\xc1\xfb\xde\x6e\xe0\x1e\xec\xde\xb8\x47\x47\xcf\x8f\xde\x0f\x27\xee\x71\xb8\xf2\xbe\x8f\x56\x8f\x86\x8d\x17\xef\x47\xee\xca\xca\xc8\x5d\x75\x47\xcf\x57\x8f\xc3\x77\xc7\xc5\xbf\x0e\xdb\x57\x49\x63\x5b\xdd\x6e\xf7\xc3\x5b\x8a\xd3\x71\x2f\xf8\xbc\xf9\xe2\x45\xd4\x7d\xbd\xf7\x76\x3c\xd9\x48\x69\xc6\x66\x78\x6f\x65\xeb\xf0\x6a\x6d\x6b\x70\x7d\xbc\x75\xbe\xff\xa8\x7b\x7e\x30\xec\x26\x37\xa3\xae\x73\xf0\x60\xd7\x71\x7a\xaf\x9f\x1f\x1e\xf4\x5e\x1f\x5e\x1d\x0d\x9d\xde\x91\xeb\x5c\x1d\x87\x87\x37\xc7\x43\xe7\xe6\x28\x74\xdc\xa3\xd0\x7d\x7f\x1c\x36\xfa\xc7\xe1\xbb\x47\xc3\x27\xef\xfa\xc7\x4f\x56\x1e\x0c\xe5\xbf\x27\x43\x97\xed\xcd\xe3\xf6\xdb\xce\xb8\x7b\x33\xd9\xef\x06\x93\xfd\xee\xe7\xc9\xde\xaa\x13\xec\x6f\x74\xf7\xb7\x61\xbb\xdb\x3e\x26\x2b\xad\x33\xde\xe9\x3e\x0a\xf6\xba\xab\x9f\xf7\x8f\xbb\xe7\xef\x8e\xbb\x13\x70\x7c\x1c\x05\xc7\x5f\xa6\x93\xe3\x47\xd3\x2f\x7e\x77\x87\xee\x3d\x64\x49\x6c\xb1\xf3\x6c\xec\x77\xbf\x44\x93\xee\x97\x28\xe8\xc2\x28\xe8\xae\xc6\xc1\xf1\xf1\x34\x38\xfe\xf2\x65\xe6\xbf\x4c\xae\xbf\x3c\x82\xb3\xfb\xfc\x9d\x6f\xc4\xd7\x9d\xb8\xfd\x96\x9c\x03\xc3\xeb\x97\xe4\xef\x68\xff\xe5\xd6\xd1\xf5\xcb\xf6\xa0\xbb\x79\x74\xfe\xbc\xbd\x3b\x26\xe4\xbb\xdc\xdc\x1a\xbc\x75\xbb\xe7\x57\x8f\xba\xc9\xc1\x68\x97\xd1\x6b\xf7\x89\x73\xb0\xfb\xe4\xe8\x7d\xef\xf9\xf3\xcb\xec\x4c\xe1\x07\xf7\xe5\xcb\xf6\xee\xfe\xa3\xad\xc1\xcd\x70\xeb\xfc\xf0\xa8\x8b\xdc\xa3\xae\xeb\x1e\x75\xd1\xd1\xd1\xdb\x27\xf7\xd9\x46\xdc\x83\xde\x6b\xe7\x66\x7f\xc3\x79\xd9\xc1\x63\x89\xc9\xf7\xf9\xed\xdb\x0f\xc7\x67\x1b\x9d\x9d\xc1\x74\xa3\xd3\xff\xec\x7e\xe8\x6c\xbe\x98\xbc\x6c\xbf\x3b\xdb\x7b\xeb\x9f\x5d\x6d\x04\x5b\xd3\xab\xf6\xcd\xe6\xe6\xf9\xeb\x6e\xb4\xff\xf6\xed\xfe\xe0\xc9\xec\x65\x77\xed\xf2\xf2\xe6\x66\xf5\x79\x37\x7e\x7e\xd8\xdb\x1d\xaf\x3a\xe1\xeb\xd5\xd5\xf1\xe6\x60\x67\xf2\x7e\x2b\x0a\xf7\xda\x67\x78\x7d\x6e\xb5\x9f\x6f\xe1\x2e\x5c\x5d\x6f\xbe\xd8\xda\x7e\xf1\x6a\x6f\x7f\x30\x19\xf7\x76\x57\xaf\x3a\xc7\x8d\xc3\xeb\xcd\xf3\x68\x7a\xfc\x66\x7f\x7f\xff\x1c\x85\x67\xe3\x9b\x9d\xfd\x77\x93\xad\xc9\x9b\xcf\xd1\xce\x9b\xfd\xfd\xc1\xe4\x3c\xdc\x38\x7b\x15\x4c\x1b\xe7\x5b\x93\xbd\x97\xf0\x2d\x59\xa8\x2f\xf0\xbc\xeb\x3c\x7c\xf1\xf6\x7c\xe3\x70\xe3\x2d\x5e\x20\xdb\xdd\xdd\xc3\x71\x3c\x3d\x3b\xee\xed\xdf\x04\xd1\xe4\xfc\xf9\xab\x9d\x5d\x70\x38\x38\x3c\x8f\xd7\xa6\x6b\x57\x07\x37\x9f\xcf\xbb\x2f\x3e\x1c\xec\xec\xbe\xf5\x87\xe3\xab\xf6\x74\xda\xbb\x3a\xb8\x09\xa2\x17\x2f\xba\x07\xbb\x6f\xc1\xbb\xc1\xf8\xc9\xc6\x06\x66\x84\xba\xbb\x78\x0a\x6d\xb6\xdf\x06\x63\xe7\x78\xeb\xb0\xbd\xd5\x19\xb4\x57\x5f\xb4\xcf\x6f\xd6\x76\x9d\xfd\xab\xb7\xe1\xfe\xd5\xeb\xe7\x37\x57\xbd\xd0\xbd\x7a\xfd\xda\x5d\x3b\x74\x6e\x0e\xde\xba\x87\x47\xbd\xa3\xeb\xab\xd7\x47\xee\x51\xef\xa8\x71\x75\xfc\xfa\xa8\xff\x21\x3c\xe8\xbd\x7e\x7d\x30\xea\x1d\x1e\xf5\x5e\x3f\x3f\xea\x1d\x1d\x39\x6b\xf8\xf9\x11\xba\xb9\xe9\x85\x8d\xa3\xde\xd1\x4a\xef\xf8\xc8\xed\x1f\x87\x8d\xab\xe3\xea\xd1\xda\xb1\xbb\x72\xf3\xfa\xf5\x3b\xfc\x6c\x48\xca\xb9\xee\xda\xf1\x93\xf7\x4f\x8e\xd1\xfb\xe3\x71\xda\xc6\x41\xaf\x47\xdb\xb8\x39\x3e\x72\x1f\x7d\x70\x0f\xdf\xf7\x8e\x0e\x8f\x8e\xc2\x77\x47\xbd\xa3\x77\xef\x8f\xc3\x77\xa3\xe1\xd1\xd1\x93\xe3\x27\xfb\x57\xb8\xdc\xeb\xd7\x8d\xde\xd1\xd1\x51\xff\xf8\xa8\x31\x3a\x42\x47\xc7\xc7\x4f\x56\xdf\xf7\x8e\xde\x1f\x0d\xc3\xc6\x68\x78\xf4\xae\x77\x5c\x7d\xf7\x04\x3c\x5f\x1d\x1d\x3f\x59\xed\x9d\x91\x76\xdd\x27\xff\x1f\x77\xff\xd9\xdc\x38\x8e\x04\x8c\xe3\x5f\x65\xd7\x2f\xae\xc6\x25\xcf\x30\x2a\xcd\x9c\x6f\x0b\x4c\x62\x14\xc5\x2c\x72\x6b\xeb\x8a\x49\x24\xc5\x9c\x44\x8a\x77\xfb\xdd\xff\x25\xd9\x93\x2c\x7b\x76\xf7\xee\xb9\x7a\x9e\xff\xef\x85\xcb\x24\xd0\x00\xba\x1b\x8d\x0e\x20\x84\x36\x91\x0b\x9c\x1d\x38\x99\xed\x05\x08\x76\x8e\xab\x3c\xcf\xea\xb2\x4e\xea\x3c\x49\xea\xba\xce\xeb\x2e\x47\xeb\xa6\x46\xbc\xb2\x4f\xea\xb2\x6e\x84\x36\x0f\xeb\xa6\x9e\x84\xb6\x9e\x35\x4d\x3e\x35\x17\xb8\xa6\x4e\xea\x36\x39\xd7\x75\x72\x6e\xda\x7a\x5a\xd6\xc9\xd4\x74\x75\x52\xf7\x35\x26\xb4\x0d\xe9\x35\xf5\xa9\xe9\xfa\x95\x38\x9c\xa7\xa6\x2f\xc8\xba\xa9\x17\x4d\xdb\x3f\xc1\xf5\x35\xd6\x8c\x05\xdb\xf4\x47\x62\x55\x25\x85\x58\xd5\xa7\xba\xaf\xf3\x45\x9f\x2f\x9b\xbe\x60\xa5\x2e\x87\xfd\x72\xd1\xd4\xa7\xa4\x11\x87\x86\x12\xda\x1e\x6a\xfa\x64\x06\x07\x1a\xa3\x9a\xfb\x7d\x90\x31\xd8\xd1\x44\x4d\x67\x8d\x22\x87\x60\x3e\xf7\xd6\xb8\x75\xf6\xf4\x1e\x6a\x0e\x27\xc1\x0f\xfb\x05\x7c\x8a\xe6\x13\xba\xf2\x7b\xcf\xe9\x58\x71\xdb\x6f\x96\xb3\x6e\xb6\xf2\x26\x61\x5a\xc7\x32\xb7\xc8\x9c\x79\x8d\x7a\x6e\x5d\x37\x4e\x5f\xd7\xb3\xfe\xec\x25\x27\xaa\x91\x3b\xd2\x30\xcd\xf5\xde\x31\x33\x6c\x0a\x02\x4b\x0d\x7a\x6c\x0a\x65\x6b\x1d\x6e\xcb\xba\xa9\xfb\xa4\x11\x4f\x17\x5c\x8e\xac\x3f\xe6\x2b\xbf\x9f\x80\xbf\x0f\x5a\xf4\x98\x9d\xf6\x85\x27\x74\x24\x86\x1c\xcf\x3b\x9f\x9f\xd0\x93\x37\x16\xec\x52\xee\x77\x68\xe0\xca\x27\x0a\x14\xec\x71\xb8\xc8\x33\x7d\x95\x67\x7a\x55\x81\x52\xa3\x1b\x50\x02\x1c\x28\x60\xc3\x85\xbe\x61\x8c\xa0\x1e\x35\x02\xa6\x19\xb1\xe6\x04\xd5\x90\x14\x3b\xf6\xe1\xb9\x30\xaa\x67\xc3\xa0\xab\x9a\x73\x74\x43\x68\xed\xc8\xe4\xe6\xfc\x99\x3f\xeb\x74\x5a\x95\x82\xa3\x6b\x46\x14\xc6\x95\x49\x08\xee\x62\x63\x20\x19\xdf\xb4\xae\x67\xd8\x3d\x1c\x55\x84\x23\xb8\x1a\x6a\xc0\x59\x55\xd7\xbe\x67\x58\xe5\xa0\xda\x23\x38\xcf\x17\x6a\x3a\xa5\x29\x5f\x79\x8a\xa5\xe5\x69\x77\x19\x63\xbe\x20\x53\x2a\xe5\x85\xca\x55\x0c\x0d\x2e\x3b\xb3\x1d\xf9\xb3\x4b\x1e\xe1\x94\xe1\x6a\x57\xd1\x0c\x38\xaf\xba\xeb\x18\x56\xca\xa4\x9d\x20\x79\xb6\x61\xa1\xf8\x88\xc4\xe3\x65\x8c\x94\xce\x3a\x5e\xf0\x6d\xc3\x40\xe1\x6e\xac\xca\xe3\x98\x10\xe9\x94\x16\x7c\xc1\x4b\xda\x65\x8c\x6c\xcb\xbb\x73\x27\x31\x2e\x63\xe4\xb6\xac\x69\x69\xdd\x65\x0e\xaf\x4d\xfc\x59\xbf\x8e\x61\xcb\xb2\x96\xa6\x55\x57\xf1\x82\x2e\x6c\x0c\x24\xad\x84\xd6\x36\x35\x2b\x1f\x46\xa4\x1a\x35\x8f\xb2\x2e\x74\xf0\x82\xef\x6a\x5a\x3e\x74\x63\x56\x79\xba\x68\x22\x34\x53\x8a\x4f\x74\xe4\x5d\x67\x3a\x8d\x5b\x63\x1b\x83\xae\x1a\xde\x35\x6c\x0d\xae\xc7\x4e\x75\x1a\xef\xc8\xe6\x9b\xb4\xaa\x1a\x57\xd1\x2c\x38\xaf\x46\xd5\xf1\x8e\x09\xb6\xc9\xb3\x6d\xb3\x75\x3d\xcb\xcd\xf1\x71\x1e\x57\x9e\xa7\x63\x56\x5e\x6c\x85\x26\xf0\x0c\xa3\xbc\xd0\x51\x1d\x3d\x0f\x33\xf3\xe2\x74\xe2\x84\x27\x5e\x65\x5b\x3e\x71\x13\x6c\x83\xe4\x42\x57\x3a\xba\xa5\x25\xf5\x98\x39\xbc\xeb\x51\x6c\x8e\x66\xb5\x24\x3b\xba\x66\xa7\x79\x35\x3a\xbc\x76\x24\x2f\x63\x74\x6d\xef\xba\x96\x9b\x0f\xe3\xbc\xaa\xb4\x64\xb9\xcf\xd1\x62\xdb\x6e\x0f\x9e\x61\xd5\xc3\x65\x0c\x5d\x5b\xee\x2d\xab\x90\x77\xfd\xc1\xb4\x00\xa0\x40\x04\x24\xa0\x70\x80\x77\x5c\x4a\x49\x79\x03\x5c\x75\x1e\xbd\xe1\x8c\x76\xce\xbb\x2a\x71\x9e\xa8\xb4\x26\x0d\x51\x92\xb5\xb0\xf2\xd3\x91\x14\xb4\xcc\x9c\x68\x9a\xe3\xbd\xfd\x85\x89\xd5\x18\xd8\x73\x92\xb4\x32\x26\x6d\x6b\xd1\x37\x2d\xf7\x9c\x56\x17\x3e\x88\x0a\x00\xe5\xb3\xce\x23\x52\x94\x1f\x15\x5a\xa0\xcc\x94\x07\xb4\x72\x29\xdb\x70\x17\x81\x03\xb6\x53\xa9\x09\x05\x13\x49\xca\x6c\x24\x85\xab\x0d\xfb\x22\x1f\x95\xaa\x1e\x2f\xf3\xb9\x61\x25\x59\x49\x4a\xc7\x5e\xcd\x09\x81\xcc\x69\x83\x2e\x6b\xc1\x36\x14\x2d\x4d\xb3\x4a\xb9\x38\x08\xa5\x7f\x31\xb2\xde\x96\x34\x2c\xe2\x1c\xc1\x3c\x30\x81\x01\x8c\x4b\x9c\x76\x19\x41\xb2\xed\x28\x60\x94\xb3\x10\x6f\x68\x9d\x2e\x8b\xda\xa6\x15\x2b\xea\xbb\x20\x70\x34\x77\xb1\x67\x26\xa6\xaa\x1b\x4f\xb7\x15\x90\x74\x71\x60\x9f\xb5\xf3\x7e\x83\x30\x55\xde\xf8\x9a\x6d\x25\x2d\x00\xf2\x04\x80\x42\xb5\x03\xcd\x95\xdb\x8d\x92\x01\x1e\xb0\x80\x06\x76\x39\xaa\xc7\xe9\x98\x15\xf4\x46\x94\xe4\x30\xf2\xb7\x20\x1a\xe7\xf1\x99\xa6\x92\x66\x53\x70\x92\xac\x44\x91\x79\xc1\x99\x24\x37\xf4\x44\xa5\x17\x5f\x47\x51\x7a\xdb\x8f\x2f\xf1\x93\xb0\xa1\x68\x9a\xe3\x2a\x47\xd7\x14\x25\x8a\x63\x86\x17\x16\x1a\x49\xd3\x34\x57\x55\x7b\x45\x51\xa2\x24\xce\x18\xee\x62\x32\xea\x2b\x71\x22\xa1\x3a\xac\x4c\xa6\x2e\x71\xb1\x77\x24\x60\xd3\xab\xbd\xd3\x8e\x29\x5b\x3a\xea\x46\xf0\xed\x28\xe3\x79\xed\x82\x13\x4d\x57\x7c\xbd\xe7\x24\x25\x49\xab\xd1\xb4\xe7\xc4\x62\x63\x64\x4c\xd3\x72\xbc\x7e\x91\x6d\x24\x88\x09\xc1\xd5\xb0\x8d\x95\x6e\x85\xc6\x37\x6d\x77\x81\xc7\x55\xe0\x24\x0d\xb5\xdf\x23\x4c\x2d\x75\xa1\xeb\xba\x70\x79\x91\xf7\x66\xf2\x52\x00\xb6\x03\x43\x0c\xe4\x00\xc6\x8e\xd9\x26\xbe\x4d\x6a\x25\xec\x90\x06\x48\x81\x0f\x22\x92\x4c\x99\x8d\x7c\xe1\xb1\x61\x97\xe5\x38\x9f\x8f\x14\x49\x16\x4c\xce\xee\x64\xc1\xb5\xed\x27\x3f\xfa\xe2\xdb\x5d\x7c\x70\x59\x92\x9e\x7d\xeb\xb1\x8a\xaf\x7e\x39\xfb\xd9\xdf\xc6\xbf\xf7\xd5\xbf\xf7\xc1\x53\x00\xc8\x6a\xb8\x98\xcf\x96\x61\x52\x1f\x17\xd4\x92\xbe\xf8\x91\x1c\xa8\x2f\xbe\x2b\xc1\x58\x76\x79\x89\xb5\x23\x8f\x7c\x8e\xb5\x25\xc3\xd6\x9e\xca\xe2\xa3\xf7\xb9\xcc\x77\xed\xcf\x65\xc7\x2f\x65\xf6\x4d\x9c\xfe\xa7\xca\x98\xae\x69\xbc\xbd\x65\xe5\x7d\x77\xf1\xbb\xdd\x05\x8a\x20\x59\xd5\x34\x0a\x01\x4e\x43\xc9\x82\xdd\x8a\xdd\x20\x4f\x33\x46\x9e\x87\x2b\xbf\x68\x80\x03\x40\x1c\xa9\x9c\x95\x65\x59\xb1\x83\x98\xb3\xab\x85\xa0\xd1\x17\xd1\x28\x8d\xad\x20\x6b\x51\x16\x33\x84\x20\x68\xd9\xa4\xa7\x95\x50\xb9\x9a\x61\xa5\xb5\xe3\x23\xbc\x26\x24\x56\x96\x65\x17\x1d\xad\x1b\x56\x5a\x5e\xc7\x24\xce\x56\x86\x64\x7c\x7d\xc1\x43\x8e\x92\xac\xdb\xaa\x57\x3c\x50\x9a\xe1\x04\x77\x6f\x59\x65\xdb\x8d\x19\x21\x68\x35\x8a\xa0\x1b\x41\xda\xda\x8e\x66\xe4\x75\x37\x06\x71\xd2\x50\x9b\x14\xce\xf8\x56\xbc\xd0\xb5\x38\xc7\xd9\xd6\x71\xdd\xe9\x42\x6b\xdb\x09\xde\xde\xb2\xcb\x33\x72\x99\x7f\xcd\xcd\x11\x24\x17\xc4\x6d\xe0\xb8\xe4\x40\x45\x5e\x01\x40\x44\x27\x83\x6f\xbb\x66\x25\xee\x48\x38\x7c\x96\x47\x92\x26\x00\x50\xc9\xa7\x79\x96\x14\x25\x8a\x62\xe3\x22\x0f\x0b\xf2\x2a\xe7\x9c\xa1\x0a\x52\x68\xfb\xc1\xd3\xde\x01\x7d\xa4\xd8\xa2\xe4\x9e\xe0\x62\x1e\x8c\xf3\x78\x84\xe9\xa7\x78\x40\x91\x7b\xff\xf3\x1a\xa1\x8d\xb4\x29\x58\x56\xb9\xc2\x65\x0c\x41\x3e\xaf\x11\xae\xb4\x55\x4d\x4b\xd2\xe0\x02\x27\x5c\xe1\xca\x8a\xbf\xac\xaf\x28\xcf\x32\x86\x17\x04\xd7\x7a\x86\x53\x34\x2d\xc9\xb3\xec\xda\xdf\x73\x6c\xe4\x28\xda\x53\x7f\x57\x38\xc3\xb8\xf0\xdf\x51\x95\x2b\x1c\xc3\x0b\x17\xfc\x9e\xe0\x54\x4d\x8b\xd2\xf8\x3a\x27\xee\x53\x5b\xee\x73\x7f\xd7\xb6\xc6\x65\x0d\x52\xc4\x40\x02\x40\xee\x4a\x5e\xd8\x09\x5c\x3e\xc0\xb8\xcf\x51\xc6\xe6\xc8\x69\x11\x09\x28\x00\x80\x1f\xc4\xf5\xe2\x5c\x58\x67\x92\x62\x0a\x4e\xb3\x34\x5c\x53\xfc\x98\x48\xc4\x98\xd1\x92\x63\xc6\xb6\x96\xc9\x6d\x7c\xc3\x46\x1c\x65\xac\x54\x55\x37\xf2\x53\x59\x6c\x04\xc9\x30\x66\x81\x0d\x97\xe3\xb0\x38\x1b\x66\x5a\x96\xa9\x2d\x6a\x7e\x7d\x46\x82\x76\x20\x2e\xce\x3d\x09\xc0\x40\x93\xf4\x14\x19\x80\x60\x88\x23\x77\xc1\x25\x06\x4a\x05\x04\x72\x18\xb6\x60\xdc\x03\x85\x9e\x13\xdc\x99\x8c\x06\x61\xc4\xd5\x09\xce\x53\x0a\x10\x24\x7d\x06\x67\x35\x61\x22\x89\x8e\xe5\x3a\x72\xf9\x44\x8e\x08\x7b\xbf\xa1\x38\x02\x07\xd2\xd1\x46\xe1\x64\x38\x95\x52\x0b\x98\x7d\x30\x22\x1c\xa7\x44\x04\xb9\xe1\x46\x85\x36\x52\x8e\xa4\x68\x74\x8e\xe3\x11\xb2\xeb\x25\x9a\x97\x53\x2b\xa3\xa2\xa7\x00\x0d\x07\x00\xb0\x11\x00\x69\x04\x47\x5c\x22\xb8\xb2\x8d\xcb\xc7\x61\xa6\xd0\x3c\xad\xa6\xb1\xa0\xd3\xf3\xe7\x7d\x15\x11\x10\x11\x58\x81\x88\x54\x98\x84\x4b\x38\xa7\x5c\x1c\x87\x99\x44\x7d\x01\x03\x4a\xf6\xed\x9e\x1f\x09\x9e\x07\x00\x4f\xb1\x14\x09\xe2\x9d\x83\x06\x3a\x00\x8a\x2d\x0f\xcf\x35\xf2\xa6\xf2\xd2\xf2\x1a\xbe\xe4\xfe\x12\xa7\xd4\xe8\xbc\x3d\x4a\x8b\xb5\x0e\x26\x59\x4f\x97\x78\x50\x88\xbd\x17\x0e\xad\xe7\x46\xb9\x93\x6c\x2b\x3c\x80\x05\xaf\xa5\x47\xcd\x86\x38\x6c\x6f\xe8\x03\x1f\xa5\xa1\x13\x14\x08\x6b\xe3\x53\x79\xc4\x30\xa8\x5e\x53\x4c\x77\xc2\x8c\x04\x81\x8e\xf9\xb8\xcc\x48\xa3\xdb\x75\xc8\x0a\x6a\xed\xc3\x5a\x4a\x23\xd0\x82\x8d\x4a\x04\x58\x24\x6d\x76\x78\x6b\xcc\x6a\x72\x67\x13\xe7\xb5\xd9\x00\xcc\xae\xf9\xb2\xb5\x30\x0b\x85\xc2\x03\x92\xc8\x50\x8f\xf9\xd1\xca\xd9\x40\xf3\xe5\xd1\x98\x55\xbb\xdc\xdb\xd0\xbc\x11\xa5\x87\xc2\xe5\xb0\x35\xe5\xed\xea\x31\x08\x9c\x2a\xf6\x24\x35\x27\xfd\x79\x23\x64\xa9\x21\xa5\xe7\x71\x95\x70\x65\x1f\xcd\x03\xfe\x84\xc8\x36\xbb\x76\xe7\x6b\x7f\x86\x6d\xc2\x53\xed\x2f\x1d\x74\xcf\x04\xd4\x51\x84\x6a\x76\xea\xd4\xc3\xd1\xa2\xad\x91\x87\xdc\x64\x13\x4e\xc7\x32\xee\xd7\x6c\x4b\x3a\x81\x42\x08\x5e\xc2\xc2\x66\x67\x40\x58\xbe\x9a\x67\xd4\x06\xd5\xa1\xd9\x98\x3a\xbe\x5d\xec\x67\xf4\xcc\xad\xa7\x13\x34\xea\x91\x5c\xea\xcc\x66\x36\x2e\xb5\x6d\xad\xe0\xdb\x59\x09\x00\xa1\x8d\xbd\xb9\x1f\x96\x4b\x3e\x98\x7b\x79\xae\xe7\x3d\xef\xa6\xfb\xe5\x1c\x5e\xb3\x2c\x9c\x6e\x6c\xe1\x04\xd4\x5d\x35\x1c\x64\x0d\xec\xce\xda\x0e\xf8\x28\x9d\x16\x21\x35\x10\x28\x3b\x00\xc0\x67\x0a\x65\x0b\xf3\xf9\x6a\xb1\x5d\xae\x37\x3c\x79\x1c\xf1\x59\xb5\x70\x29\x23\x40\x97\x7b\xed\xa4\x9e\xf7\x22\x9f\x72\xe4\xdc\x76\x90\xa3\x78\x9a\x67\x95\x1c\x3b\xfa\x04\xb7\x33\x2a\x2f\x18\x24\x48\xaa\xae\x29\xa4\x85\x41\x45\x9c\x85\x20\xfb\x78\xe5\xb3\x7a\x00\x43\x5a\xee\x45\x32\x08\x46\xff\x6c\x0d\xd2\x25\x16\x6b\x1c\xec\xb0\xd5\x0e\x8e\x37\x09\x89\xdd\x08\xf8\xac\xdb\xd5\x5d\x21\x99\xa2\x1c\x5a\xf2\x06\x4d\xcd\x93\x61\xcf\x2a\x74\xc7\x43\x71\x4a\x66\x73\x97\x51\x65\x5c\x17\x37\xf6\xce\xf1\x39\x03\x3b\xd9\x12\x12\x97\xb1\x86\x1f\x59\x26\x2b\xce\x16\x84\xea\x73\x7e\x99\x6e\x5a\x2d\xde\x5b\xfa\x6a\x0b\xcf\xcd\x19\x46\x42\x9b\x5d\xcd\x23\x4a\x60\x25\xed\x66\x37\xd2\x13\x5b\xef\x39\x8d\xd8\x71\x49\x61\x51\x46\xb7\xe4\x42\xfe\x04\x1d\xe6\x72\x37\x11\x63\xa5\x4f\x8e\xa3\xcc\x48\x9b\x8e\xd9\xfd\xa1\xde\xe0\x2e\x20\x94\x2c\x59\xa2\x1b\x3e\xde\xe2\x25\x7f\x9a\xc5\x7b\x1f\x54\x80\xbf\x78\xdf\xd6\x6a\x83\x36\x2e\xd8\xe3\x5b\xc3\x07\x44\x61\x76\xcb\x25\x39\x39\x80\x98\x89\x2d\xeb\x9b\xe1\x4c\xc1\xe3\x99\x42\x20\x43\x0c\x39\x0d\xaf\xef\x46\x8d\x08\xb8\x55\x1e\xe9\x21\x08\xf4\x56\x91\x4b\xc6\xa0\x8b\x68\x4d\xb0\xbe\xb9\x8b\x47\x4d\x55\xed\x54\xb0\x1c\x7e\x2f\x33\xf6\x6e\x61\xe2\x80\x6e\x92\x8a\x2f\xe9\xe3\x3e\x02\xe8\xc0\xab\x0e\xab\xd1\x63\xce\x53\xf9\x8a\x81\xc1\x22\xa2\xf7\x6d\x34\x77\x71\xa7\x05\x22\xd7\x35\x12\xb1\x9c\x1d\xe2\xa5\x21\x88\x27\xdb\xd2\x82\xae\xa5\x06\xe6\x80\xe4\x93\x3d\x69\x08\xb3\x42\xb7\x48\x8c\xca\xe7\x0e\x0d\x97\x0b\x02\x51\x02\x0d\xd6\x40\xab\x24\x91\xb8\x93\xe4\x88\xd7\xd6\xbc\x4a\x2e\x63\x66\x0f\x16\xa9\xd1\x8a\xcc\x56\xa0\xe6\x3e\x98\xfb\xba\x7a\x8a\xb4\x7a\xe7\x63\x4c\xb6\x5e\x8f\x16\xa6\xe8\x09\x24\xb1\xea\x8a\xa2\xf3\x85\x55\x9c\x5c\x53\x01\xfa\xa0\xd6\xaa\x70\x3c\x0f\xca\x9a\x68\x9a\xb8\x8f\x54\x14\x08\x7a\xbb\x53\x42\xc5\x4f\x1b\x20\x47\x94\x1c\x7b\x3a\xad\x9d\x9b\xbd\x32\x87\xc9\x74\x5b\xed\x83\xce\x3a\x5a\x4b\x0b\x85\x30\xe3\x18\xee\x31\x63\x3d\x8f\xb8\xc0\xcd\x0e\x2a\x28\x41\x5e\x1b\x74\x32\x54\x73\x2c\x26\x03\x9f\x1c\xb2\x08\x5f\x1e\x7c\xef\x30\x65\xb9\x22\x81\xc8\x25\xd2\x78\xe9\xcf\x0e\x3e\x15\x31\xb3\xe4\x30\x50\xfb\xc3\x14\x46\xe2\xce\x17\x6d\xbe\x05\x80\x57\x40\xa3\xef\x8f\x45\x0c\xf5\xfb\xcd\x19\x3b\x21\x6c\x8a\x55\xe6\x02\xc2\xba\x79\xd3\x5b\x2b\xe4\xb0\xa8\x9a\x83\x27\xa1\x0a\x66\x6d\xcd\xf3\x7a\x45\x0c\x46\xe7\x91\x43\xcc\xc4\xc0\xea\x77\xe1\x69\x21\x87\x10\xee\xb8\x8c\x62\xf8\x91\xd0\x98\x2d\x1e\x84\x87\x29\x46\x74\x40\x01\x84\xa2\xe3\xb9\x87\x99\x19\xe5\xd2\xe4\x30\xf7\x66\xde\xee\x90\x0a\x65\x8b\x75\x1c\xe8\x43\xec\xc4\x3b\x72\x12\x63\x91\x8b\x65\x0b\x19\xdb\x69\x07\x2e\x6d\xc4\x13\xbc\x03\xda\x6a\xb1\xdb\x05\xe2\x32\x5a\x95\x3e\x2a\x74\xe1\x96\x11\x84\x49\x50\xc3\x58\x3e\xa1\x11\x5f\x32\x22\xb1\xdb\xe7\xee\xfe\xb4\x23\x14\x4e\x8c\xf8\xb2\x80\x3d\xcf\x22\xda\xa9\xb1\x1d\xdb\x1e\xe8\xe5\x31\x43\x8f\xb3\x93\x1e\x18\x4b\xb3\x4a\x51\x44\x4c\x0c\x58\x71\x8f\xbb\xf4\x3c\x00\xc0\xd6\x9e\x41\xc2\x90\xdd\xda\x72\xe0\xe1\xe1\x82\x90\xab\x25\x0d\xfb\x64\x02\xe3\xa0\x84\xf4\x88\x5a\x39\x26\x90\x92\x60\x11\x43\x60\xc5\x85\xc4\x36\xad\x16\xd0\xd8\x02\x40\x3a\xb4\x48\xdb\x5c\x3a\x3b\x9f\xb8\x85\x32\x21\xdb\xed\x22\xe3\x0e\x1d\x01\x2d\x38\xc9\x3a\x5a\xfc\x56\xae\x77\xba\x14\x06\x20\x3f\xbb\xc7\x05\xdd\xc2\x0a\x91\x66\x7c\x95\x68\x96\xc5\x16\x0a\x4a\x96\xb6\xb7\xb1\x40\xde\xcd\xe0\x48\x54\x08\x46\x20\x89\xa2\x42\x15\xc3\x50\x1c\x08\xe9\xe2\xce\xa1\x08\xde\xa8\x18\xcb\x5e\xa1\x13\x86\x97\x7e\xd9\x10\x0b\xb4\xdc\x2f\x6b\x62\x7e\x86\xcb\x1d\x38\x41\x87\x72\x64\xd1\xf9\x60\xe6\x11\xc7\x1e\xd0\x91\x91\x9b\x55\x16\x3a\x3e\x51\x23\xc2\x88\x39\x27\xb2\x5e\x13\x91\xbb\xc0\xd6\x60\xec\xd9\x7e\xb7\x15\xa1\x25\x62\x93\x0c\x4e\x9f\x07\xbe\xaa\x59\x06\xec\x17\x7b\x06\x6e\x8f\xa6\xd7\x83\x6d\x71\x3a\x05\xa2\xdf\xf4\x07\x7b\x90\x25\x28\xa1\xdc\x45\x02\xf0\xc5\x0a\xd8\x00\x10\x8b\x7c\x4b\x48\x7b\x3f\xd2\xa9\x15\xab\xa9\x35\x8f\x9f\x86\x15\x79\x04\x19\x49\xef\x00\x09\xb4\x6c\x0f\x81\xdd\xb0\x93\x79\x21\x5b\x8f\x17\x9b\xb6\xcb\x8b\xf0\x84\x86\x56\x85\x61\xfb\xe8\x3c\x60\xd4\xe9\x30\x2d\xf2\xf3\x26\xc5\xca\xf3\x6e\x65\xeb\x42\x4b\xca\xa7\x09\x44\x40\x54\x12\xb8\x44\xfc\xc5\x76\x6a\x51\x19\xdd\x45\x68\x8c\x03\x92\xe3\x41\x04\x36\x3b\xd8\xdd\x16\xf3\x11\x26\xa8\xc8\x3c\xb0\xcb\x1e\xd5\xbb\xf3\x81\xf2\x55\xae\xb7\xc1\x59\x89\x09\x06\xca\x4e\x9a\x0a\xba\x2e\x02\x0b\x7d\xe7\x59\x0e\x58\x47\xae\xd1\x38\x16\x30\x68\x00\x66\xd4\x88\x2f\x15\x0c\x6a\x56\x4b\x76\x34\x8c\xda\xc9\x09\x98\xc8\x8d\x5e\xca\xca\x23\x73\x64\x3b\x24\xa2\xfa\xa2\x38\xf5\xfb\x95\xc4\xe5\xed\x51\xab\xe7\x56\x3a\x69\xd3\x46\x5b\xa0\x32\xcd\x65\x72\x7f\xb0\xac\x70\x1a\xad\xea\xb4\x60\x88\x88\x8a\x78\x33\xeb\x0e\x7b\xc6\xee\xb6\x00\x14\xb5\x01\x8f\x4a\x49\xc1\xb6\x98\xec\xcb\xb9\xcf\xcc\x15\x13\x27\x0b\x1b\xe9\x08\x11\xa4\x0e\x29\x03\x02\xc4\x5e\x0a\x01\x69\x06\x81\x41\x23\xc9\x20\xb3\x00\x00\x92\xcf\x1c\xb5\x65\x39\x78\xab\x8d\x49\x4d\xa7\x90\x4a\x9c\xd3\x54\x78\x1d\xda\x31\xb8\x27\xce\xcb\x60\x8b\xd8\x42\xb6\x5a\xe9\x80\x06\x04\xe9\x9c\xfa\x43\xbd\xb6\x49\x9d\xe8\xa4\xc1\x04\x8a\x41\x83\x61\xd3\x6d\xb3\x6e\xd2\x5c\xf6\x04\x28\x9b\xc4\xf4\x51\x34\x8f\x75\xa2\x82\x99\xec\x00\x29\x9e\xfc\x9a\x8e\x54\x1f\xc8\x43\x49\x46\xa7\x40\x1f\x5b\x9d\x15\x15\x9a\x59\xcc\x4a\xd9\x43\x67\x3b\xc0\xad\xfc\x64\xa7\xf8\xfb\x68\x59\xc9\xf6\x4c\x3c\x8e\x8a\x76\x42\x0f\xc7\x9c\xe9\x8f\x18\x1e\x6d\x86\x09\x43\x60\xc8\xdb\x08\x8b\x09\x1b\x23\x7d\xb5\x5a\x86\x65\x6e\x19\x22\xed\x52\x01\x8c\x0f\x6c\xd8\xd9\x63\x70\xf4\x23\x13\xd5\xc6\x93\x36\x14\xb0\x59\x3a\x7b\x5e\xad\x53\x95\x9c\x03\x4d\x81\xf2\xde\x2c\x81\xd1\xee\x97\x20\x02\x8a\x44\x6c\x5d\x73\x00\x20\x03\x84\x3a\xea\x10\xb2\xcb\x0f\xb5\x58\x6b\xea\x96\xf2\xe2\xbd\x07\x2f\xbd\xb0\xa9\x08\xcc\x5b\xe3\xc7\xaa\xb7\x68\xe7\x48\x90\x14\x2a\xfb\xc1\x9e\xa9\x48\x81\x8e\x48\xea\xe0\x33\x3b\x69\x58\x01\x00\x28\x63\xd0\xf1\xac\x30\xf2\x39\x9c\xe5\x43\x53\x49\x52\xbc\x53\x38\xe1\xb8\xe8\x61\x7a\x75\x68\xd0\xd3\x86\x28\x22\x69\x1b\x70\x59\xe3\xb4\x49\x74\x74\xe3\xec\xd8\x07\x0b\xc0\x98\xd1\xac\x9b\xf6\x83\x51\xec\x45\x4c\xe7\xc5\xca\x3d\xba\x96\x00\x70\xf3\xfa\xe5\x35\x61\x0e\x35\x1f\x09\xc0\x81\x57\xfb\xa6\xd3\xb0\x60\xec\x94\xad\xed\x57\xbb\x93\x4d\x6f\x56\x64\x76\x6a\x14\x95\x8f\x88\xb0\x8a\x87\x62\x6b\xf1\xc7\x6e\x53\xe7\xd5\xc2\xa4\x77\xda\x89\x08\x97\x34\x91\x18\x58\x1d\xf1\x9e\x02\x06\x0a\x17\xc3\x95\x08\x24\x4a\x8a\x59\x6f\x0b\x00\xc8\x22\x61\xd6\x31\xed\x5c\x9e\xd9\x67\xde\x5f\x9f\xc9\x82\x77\xb1\x66\x14\x77\x7d\xb6\x29\xc6\xa1\xdd\x9b\x6b\xa6\x4d\xd1\x14\xdf\x25\x2d\x09\x58\x72\xc5\xa4\x83\xb7\xa1\xd7\x11\x7f\xdd\x17\x28\xce\x69\x7b\x84\xc9\x80\x91\x1c\x51\x8c\xca\x69\x25\xcd\x98\x71\x4a\x06\x9b\x88\xb8\x71\x36\xb1\x09\x49\x00\x01\x64\x84\xb0\xad\x18\xa4\x95\xd7\x7c\x65\xfa\x67\x3a\x59\xbb\x0d\x32\xb7\x33\x36\x6a\xfa\x6e\x7e\xd8\xf1\x45\x1a\xf0\x8b\x13\x3d\x38\xbb\x33\x60\x15\x82\xa3\x29\xa3\xc9\x24\x9f\x00\x20\x40\x05\xa0\xc1\x4a\x3d\xe3\x07\xb5\xa5\x71\xc0\x3b\x9d\x54\x00\x6a\xb1\x29\x64\x7b\xb0\x33\x99\x73\x4e\xdd\x64\x6c\x83\x63\x13\x12\xcb\x43\x22\xa5\x16\x07\x93\x39\x41\x2c\x00\x07\x04\x1f\x5b\x81\x75\xd9\xd2\x4c\xa6\x6b\x1b\x9a\x24\x66\xbe\x17\xaa\x14\x09\xbb\x6a\x25\xb2\xf5\x76\x57\x65\xbe\x00\x2d\x17\xe2\x58\xa0\x4d\x95\xd7\xe7\x7d\x6b\xf3\x96\x9a\x40\x8c\x72\xfd\x7e\xa8\xa4\x6b\x89\x04\x72\xe2\x35\x0a\xa1\x00\x8a\xa4\xda\xba\x2a\xcb\x5d\xdf\x05\x33\x78\x4e\x86\xeb\x68\x91\xd0\x41\x62\xef\x23\x33\x57\x00\x87\xcf\xf0\xa1\x4d\x69\x82\x4e\x88\xac\xdc\x2a\x0b\x21\x81\x21\x41\x57\x60\xe5\x68\x1d\x8e\xe3\x94\xcc\x40\xd8\xef\x85\x52\x3a\xd2\xe6\x41\x91\x9d\xa9\x81\xcf\x6b\x1c\xa9\xc5\x48\x42\x01\x3d\x9e\x3c\x47\xae\xfd\xd1\x59\xf0\x8b\xb4\xc9\x9a\x23\x7e\x46\x8f\x6b\x10\x44\x02\x35\x2e\x36\x05\xdf\x9a\x62\xec\xf9\x38\xda\xd7\xf3\x15\x3e\x2b\x7b\x2d\xd8\x12\x55\x49\x26\xa4\xc9\x36\xd3\xcc\x9a\x0c\x00\x51\x54\x47\xad\x80\x1e\x01\x2c\x86\x33\x89\x04\x60\xf2\x99\xd3\x4c\x9b\x1d\x34\x6d\x9b\x86\xb6\x95\xe9\x95\x87\xe1\xf9\x01\x55\x0f\x79\x5d\xf3\xa1\x14\xa6\x59\xcc\x82\x43\xbf\x34\x4b\x40\x03\x32\x02\xa0\x12\xd4\xb4\x13\x67\x42\xaa\x50\x96\x34\xd8\xa4\x71\xfd\xa6\x4f\x0a\x6d\xb5\x82\xc7\xb8\x5a\x23\xc6\xb1\x56\x88\x01\x1b\xf1\xb9\x1f\x76\x75\x7a\x54\xe8\x73\x8f\x6d\xd6\xc4\x62\x3b\x53\x17\x73\xd8\xa8\x57\xb2\x99\x44\xcb\x41\xce\x17\x56\x5f\xc0\xa1\x8b\x67\x02\xb5\x2b\x5d\x8f\x6f\x17\xae\x58\x47\x5e\xbc\x9b\xaa\x13\x2e\xa8\x78\x22\x53\x49\x36\xac\x56\x4e\x65\x2f\x6b\x84\x93\x25\xdf\x03\x1a\x90\x81\xd9\xe5\x3e\x59\x94\x9e\xdf\xa4\x1b\x5c\xd8\x68\x4b\xc8\x29\xda\xd4\xb4\xd4\x2d\xb3\xe6\x61\xd5\x60\x05\xb9\x20\xce\xe7\xb5\x05\x56\xd4\x69\x21\x5e\xa2\x16\x55\x22\x15\x03\xe0\x9b\x26\xe9\x0e\xa6\x84\x66\xbe\x73\x60\x31\x05\xd3\xa1\x93\x83\x2f\x79\xd4\x66\x63\x3f\x27\xdc\xe9\x78\x08\xce\xbd\x89\xce\x23\x11\x4c\x8d\x0f\xfb\xc3\xf3\xe9\x85\x78\xb1\x0b\x2e\xcf\x9b\xb3\x75\x64\x2c\xfc\xac\xf9\x47\xd7\x72\xd1\x7c\xe3\x97\x07\x76\xb4\xc6\x70\x10\x80\x18\x65\x16\x51\x89\xc6\x69\x18\xd2\x99\x21\xc7\xf3\x70\xbb\x39\x1b\x72\x8b\x40\x34\x33\xab\x9c\x66\xd6\x07\x73\x79\x2a\x37\x83\x1d\x00\x40\x44\x68\x35\x47\xc5\x44\x8b\x80\x0d\x39\x66\x26\xe7\x49\x46\x47\x6c\xb1\xd8\x60\xb2\x3f\xd8\xc7\x89\x5b\x9e\xe4\x23\xd2\x2d\xc6\x76\xc4\x35\x2c\x23\xec\xf5\x82\x36\x14\x82\x59\x00\x8e\x00\xf9\xce\x66\xf1\x5d\xb9\xb1\xc9\x92\x07\x80\xb2\xc2\x99\xec\xf0\x4e\xb2\x84\xc6\xe5\x02\x3a\xb3\x4b\x71\x3a\xac\xa5\xf9\x7e\x52\x85\x82\xd9\xe5\xa7\x50\x6a\x93\x4c\x61\x07\xf3\xf9\x9b\x37\x26\x2a\xd4\x6a\x47\x5e\x42\x2e\x2a\x72\x61\xa5\x3f\x12\xe2\x79\x98\x42\x1e\x77\x17\x0e\x44\xab\x26\x01\x8c\x0c\xd0\x54\x7d\x2a\xa5\x25\xa1\x10\xa0\x07\x51\x3f\x31\x35\x27\x76\xf9\x91\xc5\x84\x00\x1f\x0e\x42\xe9\x15\x72\x0c\xb0\x69\x35\xaf\xad\x52\xdd\xe5\xeb\x78\x28\x65\xb6\xa4\x00\xc8\x48\x6f\xa0\x00\x98\x2f\x18\x16\xf4\xfb\x43\xc6\x96\xd8\x21\x44\xbb\x6e\xb3\xde\x1b\x54\x08\xd6\x76\x6e\x93\x84\x02\x97\xbb\x06\x42\x14\x72\xc5\x9d\x7a\xf2\xc2\xdb\xca\x33\x80\x42\x0a\x28\x2a\xe5\x34\x26\x2f\x57\x26\xf0\x58\x45\x5f\xef\xb8\xdd\xb6\xd4\xd7\xd3\xd6\xc7\x32\x54\x0e\x97\x3a\x30\x45\xb0\x25\xfa\x83\xbe\x92\xae\x9f\xf1\x37\x93\x8e\xef\xb4\xd5\xe5\xb9\xa4\xc5\x0d\xeb\xa1\xbd\x4b\x0e\x03\x7d\x42\x68\x2b\x66\x9a\xc4\x48\x3d\xe0\x02\x07\x5d\x42\x07\xd3\x29\x74\x67\xef\x59\x13\x46\x0c\x56\x75\x34\x5c\xc9\x11\xd4\xe3\x32\x70\x60\x1e\x82\x22\x23\xd4\x83\xca\xa4\x07\x00\x1c\x99\x69\xb7\xa3\x00\x8e\x8a\x16\x81\x19\x20\x76\xa5\xbd\xe2\x8f\xf3\x33\x3a\x1c\xc3\x15\x72\x6c\xf7\x3e\x84\xe8\xb2\x62\xe9\x94\xed\x10\x39\x48\xb7\x54\x52\x9b\x43\x0f\xd0\x2d\xbf\xbe\xe0\x41\x13\x02\xe8\xd6\x66\xd3\x1e\x5a\x08\xdd\x22\x6b\x49\x5e\x23\xda\xba\x09\x56\x34\xab\x3b\x6c\x31\x91\x73\xc9\xce\x0f\x0a\x0d\xc8\x33\xc4\x10\xfe\x65\x1e\xc0\xdc\xc7\xa3\x04\x9f\x56\x2a\xd8\xb6\x50\xbe\x60\xb6\x7b\xb3\x5c\x53\x26\xbe\xe0\x37\x08\x41\x50\x7d\x5a\x67\x03\x64\xba\xf3\xcd\x52\xf1\xfa\x8d\xa9\x71\x33\xd4\x75\xdc\x52\xdc\xf3\x4d\x60\x1e\xd1\x29\x23\xd7\xce\x5c\xa1\x01\xcd\x4c\xd0\x5c\x99\x22\xd3\x79\x12\x5e\xa8\xdc\xfb\xe3\x99\x5c\x58\x07\xbd\x9f\xc1\x6b\x33\x84\xfc\xe5\x62\xc1\xe3\xa6\x0e\x36\x06\x93\x83\x39\x32\x33\xc1\x56\x48\x20\x65\x57\xee\x06\x3b\xb2\x41\x0a\x96\xc8\x5c\x66\x71\x0d\x6e\xe7\x02\xc5\x9e\x8e\xeb\xb5\x24\xd5\x2b\x7d\xc7\xf8\x58\x53\x0a\x4e\xb1\x91\x4b\x1d\xf1\x72\x2e\x36\x23\x7f\xb9\x07\xd2\xd3\x79\x1e\x09\x58\x88\xe9\x29\x03\x16\xb9\xd5\x24\x57\x7c\x30\x13\x02\xf4\xe0\xe3\x89\x26\x2f\xd0\x03\x7f\x5a\xcf\xf2\xf2\xd4\x27\xc8\x60\x6c\x77\xe0\x08\xcf\xd7\x5b\x4c\x36\xc7\x29\xc5\x23\x73\x89\xed\x72\x7a\xc5\x70\x00\x65\xe6\xb9\x5a\x63\x4b\xfa\xe4\x2f\x17\x27\x71\x7f\x60\xf0\x86\x9a\x1b\x3c\x0f\x06\x7c\x11\x5b\x0b\xd1\x21\xbd\x79\xbb\x15\x83\x71\x96\x4e\x17\xfd\x45\xcc\xe2\xc3\x79\x3d\x9f\xad\x17\x73\x87\x14\x77\x4b\x02\x83\xcc\x4c\x67\xc9\x13\x45\x0b\x9d\x12\xeb\x39\x2e\x24\x64\x04\x68\xe0\x35\x07\xcf\xd2\x77\x6d\x7b\x41\x75\x5f\x85\x21\xd2\x99\x4d\x39\xd9\x76\x81\x23\x03\x85\xb8\xa1\xdd\xa5\xc2\xa1\x1d\xb6\x73\x48\xdb\xef\x64\x98\xa7\x8a\x58\x86\xf0\xcc\x35\xca\xa6\x3b\x41\x2d\x8e\xa0\x87\xb3\x17\x42\x85\xbc\x0d\x0a\xbf\x24\xd9\x82\x30\xb3\xa4\x87\x49\x65\x43\x58\xd9\xce\x86\xe6\xc2\x50\xe6\xa8\x08\xa5\x4d\xbf\x93\x16\xca\xb2\x9c\xf0\xee\x44\x29\xe7\x99\xe7\x60\xec\x24\x27\xb3\x68\xcb\x02\x9c\x72\xe8\x08\x3c\xde\xbd\x75\xf8\x2a\xc9\xdd\x28\x6c\xa1\xc4\x2f\x8b\xf7\xeb\xc5\xdd\xc3\xdd\xb5\x00\xaa\x8a\x6f\x0e\x60\x25\x26\x21\xab\x03\x2c\x6c\xa2\xf2\x42\xcb\x56\x33\x62\xda\x88\x2e\x0b\xe1\x7a\x48\x24\x22\x2f\x0e\x2e\xa0\x92\x9c\xf5\xf1\x6b\xc9\x26\x20\xf4\x8b\x07\x29\x6e\x76\x24\x34\xc6\xd7\x83\x00\x80\x99\x8c\x34\x20\x81\xb0\x94\x59\x39\xbd\x14\x44\x36\x1c\x6b\xba\x02\x40\x98\xd8\x00\x70\x24\x0d\x00\xb5\xb8\x56\xc8\x11\x00\xac\x31\x00\x40\xd5\x97\x9e\xe5\x2a\x02\x80\x08\x86\x42\xac\xd4\xdd\x75\xe6\x9d\x44\x83\x03\x1a\xec\x56\x00\x1a\x28\xa8\x14\xd1\x22\xbd\xca\x5e\x36\x68\x4c\x36\x01\x00\x7a\x6e\x00\x40\x4c\x24\x22\x14\x0c\x28\x88\x00\x60\x84\x98\x57\x69\xc6\x08\xb7\x4d\xb7\xdf\x67\xed\x5e\x0a\xe6\x10\x06\x4f\xab\x05\xbe\xee\xa9\x89\xce\x47\x95\x49\x3c\xae\x95\xf7\xce\xca\xe4\x0a\x9d\x67\x6c\xcd\xc2\x5c\xbf\xa3\x11\xbf\xb3\x52\xbf\xa3\x99\x05\x07\x9b\x2a\x43\x5b\xa0\x4c\x62\xa5\x04\x47\x85\xc9\x13\xa2\x8c\x2c\x97\xa3\x01\xc5\x90\xb9\xb2\x4f\xb3\xae\x84\x71\x5d\x86\x8b\xc0\xe2\x70\x6f\x74\xdc\xcc\x62\xf9\xa4\xd0\xed\x2e\x55\x79\x26\xf5\xbb\x29\x5b\x4f\xc1\x7a\xb9\x9c\xad\x7c\x7c\x3d\x33\x8e\x7d\x52\x79\x24\x85\x9c\x67\xeb\x99\x1b\x2e\xe7\xa7\x53\xce\x67\x27\x2c\x92\x51\x5b\xed\xbf\xfe\x19\x3d\xe8\x9a\x92\xd8\x62\xc5\x21\x14\x5a\x57\xdb\x5b\x7d\xe3\x36\x27\xf5\x64\x34\x7a\x91\xf9\xbe\x09\xcd\x5d\x2c\xa3\xd4\x50\x15\x98\xc0\xc7\x1d\x77\x51\x4c\x27\x0b\xf5\x96\x32\x57\x0d\x4e\xbc\xdc\x62\xcb\x84\xb5\x93\xdd\xd4\x9d\x4f\x67\x3c\xa9\x01\x0c\xeb\x45\x04\x59\x7b\x16\x39\x60\x1b\xa5\x65\xd2\x04\x56\xbc\x69\xe6\x03\x13\x41\x8f\xa1\x9a\xea\xc3\x60\x04\xe8\xf9\xd0\x9a\xdc\x6a\x2d\x1f\x3d\xb1\x19\x8a\x92\xe7\xc4\x61\x45\x97\x40\xe6\x00\x13\x89\x03\xa5\x93\xa3\x0f\x78\x82\xe6\xb9\x84\x03\x51\x99\x70\x24\xe0\x22\x2e\xe2\x08\x7e\x53\x05\x3b\x95\x54\x6b\xac\xdd\x91\x04\xe0\x41\x92\xac\x94\x08\xa4\xd0\x8e\x63\x52\x8d\x20\x94\x53\x8c\x29\x6a\xaa\xec\x3b\x9a\x24\x84\x6a\x64\xd7\x5e\x33\x8f\xa5\x24\x8d\xfd\x08\x57\x4c\x3c\xb0\xd3\x08\xa8\x0c\xa1\xa5\x79\x66\xe4\x45\xb5\x14\x73\x71\xbf\x6a\xb2\x55\xbd\x9e\xcb\x3b\x81\x87\x29\x85\x4c\x77\xa1\x4e\xfb\x4a\x03\x28\x64\xb9\x9e\x2d\x67\x4b\xb1\xdd\x61\xa7\x8e\x1f\xd6\x00\x71\x4e\xde\xc0\x1c\x14\x09\x6a\x10\x08\x9c\xa9\x05\x2e\x88\xc4\x69\xce\xb3\x9c\xcb\x0d\x5c\xc5\xcd\x37\x9c\x17\x9e\x82\x15\xda\xc0\x1c\x26\x4b\xc7\x13\x7f\x90\xcb\xf9\xe1\x40\xd6\x03\x42\xc7\x9c\x9a\x29\x4a\x82\xb9\xd8\xb2\x82\xdd\xee\xa0\x9b\x04\x8a\xee\x62\xae\x67\xbb\xf5\xbc\x2b\x0a\xa2\x59\xce\x27\x76\x0b\x81\x0d\xd0\x4a\xfb\x78\x1e\x4d\x53\x27\x65\x72\x77\x90\xad\xed\xba\xdd\x1c\xfa\x70\x16\x1c\x20\x11\x6f\xb0\x69\x25\x69\x1b\x43\x3e\x61\xae\x65\x53\x5c\x8d\x63\x04\xbd\xdf\xd3\x8a\xba\x23\x15\x61\x5e\x33\x59\xc8\x48\x41\xd0\xcb\x83\x64\x62\x96\x60\x10\x7b\xc6\x3c\x9b\xfb\xb8\xcb\xb1\x63\x73\xec\x4e\x03\x82\x9d\x7a\x11\xe9\x77\xfb\x0d\x00\x46\x14\xa7\x9b\x4c\xdc\xed\xf9\xb5\x73\x72\x26\x71\x89\xad\xca\x69\xc5\xb6\x72\xcc\x30\x68\x8f\xb9\x2c\x4c\xaf\x78\xfa\x04\xac\x38\x9c\x15\xe8\x8e\xa5\x96\xb0\xb3\x84\xc6\xdc\xf7\x0f\x22\xa1\x09\x6b\x09\x29\xf6\x30\xa8\x0b\x9b\xd1\x84\x84\x58\x1e\xb8\x44\x9e\x22\x2c\x45\x11\x22\xb4\x59\x0b\x89\xa4\xb4\x41\x20\x8a\x20\x66\x0b\x36\xdd\x88\xfa\x98\xab\x07\x6f\x3c\xac\x67\xb5\x0f\xad\xac\x76\x92\xd6\xd9\xc4\xac\xd7\xf8\x62\xd5\x0d\xa3\x43\x82\x7a\x3e\x78\x4a\x22\x91\x2a\x6d\xed\x88\x94\xda\x07\x21\x16\x72\xf8\x6a\x3d\x8b\x43\x68\x86\xf4\x50\xd8\x41\x3e\x06\x84\x19\xd4\x6b\xd3\x59\xd4\x4f\x91\xb0\x6c\xf2\x59\x47\xd0\x38\xe9\x00\x84\x55\x5d\x46\x5f\x96\xf5\x56\x11\x48\x32\x68\x6b\xa2\x5a\x20\x1b\x6a\x1d\xb2\x04\xb5\x5c\xee\xfb\x82\x47\x16\x25\x34\x5b\xd4\x33\xc8\x17\x79\x5b\xdc\xa1\x87\x78\x3a\x6c\x36\xa9\x6a\x27\x03\xa1\x0a\xe8\xa1\x10\x21\x2c\x51\xa7\x25\xd4\xeb\xd0\xaa\x38\xf4\xfd\x84\xea\x63\xe6\xae\x66\xf1\x5e\xf5\xf8\x85\x62\x08\x84\x2b\xf6\x7c\x1e\x99\x22\xaf\x0a\xbd\x16\x67\x1c\x51\xb9\x5d\x42\x33\xa0\x02\x24\xc7\xb0\x2c\x94\x01\x08\xda\xb2\x47\x0c\xab\x43\x38\xdc\x9d\x14\x7e\x4f\xbb\x10\x5f\xb0\x34\x57\x02\xc2\x0e\xd6\xe8\x1c\x9a\xe4\xdd\x61\xc6\x1f\x89\x51\xe2\x49\x08\x3a\x8f\xfb\xd9\xc6\x76\x9d\x68\x03\x9c\x36\x84\xe1\x3e\x44\x7a\xe2\x7c\xb6\x24\xa5\xd9\xd0\x59\x60\x9a\x02\x69\x79\x4a\x04\xc0\x42\x2e\xc2\x48\xd9\x2d\xd7\xeb\xe5\x74\x72\x77\x2c\x1a\x6d\x5a\xae\x52\x92\xc0\xea\x4b\x75\x00\x50\x89\x42\x1e\x35\x2d\xe1\xf2\x70\x98\x15\x0c\xe7\x42\x07\x7f\x9a\xd0\x5d\x8d\xc6\x93\xe6\xa9\x69\x2b\x92\x63\xbb\xd5\x71\x8c\xe0\x96\x47\x9b\xb4\xa0\x24\x0e\x20\x9f\x10\x2c\x47\x77\x62\xc5\x67\xcc\x75\x2d\x1d\x15\x38\xca\xe9\x21\xc7\xe3\xb4\x6e\x65\x93\x3e\x52\x65\x54\x63\x4b\x4f\x3e\x9e\x5c\x3a\x23\x04\x31\x99\x72\xdb\x8c\x04\xcb\xb1\x60\x84\x3d\x86\xb2\xb8\x71\x81\x67\x24\x55\xc9\xeb\x16\x0b\x84\xc1\xc5\x05\xbb\xca\x59\x92\x37\x08\x38\x53\xc8\xd2\x80\x5b\x5f\x80\x23\x52\xe2\x55\xad\xae\xe5\x23\x1b\x66\x30\x5d\x3b\x15\x57\x31\x9c\x47\x19\xe1\x76\x18\x64\x09\x3d\x2f\x23\x19\x0f\x0a\x2b\x6e\xb4\xc9\x64\x08\x8a\x9e\xa4\x2a\x35\xc4\xad\x04\xe3\x04\x17\x31\xad\x86\x44\xd1\xb8\x35\x26\xc1\xd4\x12\x52\x6d\x69\x82\x36\xe8\x92\x49\xd4\x1a\x3d\xcd\xd9\xed\xfe\x28\x05\xc8\xaa\xd2\x58\x33\x74\x8a\xbe\x2f\x12\xc7\x2d\x2b\x8e\x53\x08\xc0\xc5\x85\x51\x47\x27\x0f\xe9\x0c\x4c\x26\x04\x26\xb1\xc8\x40\x3a\x07\x80\xb0\x08\x76\xe6\x71\x25\x79\x02\x98\xba\x35\xd6\xc2\x99\x92\x13\x37\xde\xa0\x7b\x00\xc0\xd4\x4e\x32\xbe\x65\x53\x87\xdb\xfa\x02\x10\xfb\x20\x50\xd9\x04\x33\x2d\x46\x0d\x45\xdf\x3a\xaf\x82\x78\x94\xe7\x2e\x53\x9d\xd2\xd8\xcd\xa9\x39\xcb\x0c\x8a\xd2\x6b\x5d\x34\x88\xbb\xaa\x95\x27\x17\x9f\x6f\x28\xe8\x4c\xe1\x12\x35\xa0\x47\x93\x6c\x48\x89\xd5\x52\x63\xc8\x87\x16\x4b\x49\x09\x50\x14\xbc\x21\x9d\x2a\x71\x33\x69\x83\x79\x89\x8b\x77\x8d\xd9\xf2\xb3\x31\xe5\x81\xa0\x19\x5a\x27\xc1\xa5\xd5\x6a\x4a\x13\xe9\x9b\xa0\x47\xa5\x7d\x96\xd1\x79\x38\x31\x10\xab\xc6\xd3\x8c\xc4\xbd\x45\x7c\xa6\xa3\xa6\x38\x1f\x4d\x51\x9c\x62\x3f\x2e\x91\x84\x69\xa9\x64\x53\xe6\xf2\xd4\xcd\xa8\x16\x5a\x4d\xcb\x1d\x37\xe5\x07\x15\x5b\x87\x3b\x24\x30\x4d\x4d\xa6\x93\xa3\x0a\x17\x6a\xcb\x34\x11\xc2\x69\x55\x9e\x96\xca\xda\xd7\xfb\xc3\x28\x34\x84\xc7\xe6\xa5\x51\xf2\x8e\x95\x67\x3b\x6a\xaf\x3a\x51\x20\x51\xdb\x76\x5c\xb1\xfd\xde\xeb\x46\x6c\x3a\x9d\x62\x55\x11\xf4\x80\xc9\x45\x05\x90\xa5\x8e\x06\x83\xbd\x0e\x0f\xaa\x95\x9d\x00\x92\x23\x23\x7f\x46\x39\x3a\x8a\xd2\x5d\x53\x18\xa7\x3d\xb1\x96\xe0\x6c\x93\xba\x89\x39\xce\x46\x15\x02\x94\xd2\xef\x54\x05\x54\x95\x6b\xc3\xfc\x61\x92\x09\x02\x3e\x96\x0c\x68\x71\xf9\xec\xcd\xd7\x34\x6c\x2f\x2b\x06\xa7\x28\x2a\xc8\x07\x7c\x29\x46\xe7\x48\x61\x3d\xaf\x5d\x72\x47\x9c\xaf\x36\x12\x37\x1c\x37\x2a\xe3\x33\xf0\xc8\xf0\x3e\x15\xd0\x70\x65\x78\x98\xad\x20\xb1\x6d\xb5\x14\xa3\x8d\x87\xc3\xf2\x14\xb1\xd2\x59\xc6\xd2\x54\xda\x24\x2e\xd8\x4d\x9a\x0f\x86\x89\x80\x6d\x33\xcb\x41\xcf\x96\xd8\xa4\xb0\xa9\xe0\x1a\x55\xa5\xb3\xc0\x50\x08\x51\x29\x80\x9d\xe3\x3c\x8e\x1c\x42\x32\x0b\xc0\x26\x64\x43\x94\x71\xc9\x7a\x7d\x08\xf6\x8a\xb4\x5b\xd5\xdd\xbc\x25\x16\x72\xb6\xf1\x76\x78\x95\x12\xc3\x44\x44\x1b\xb6\x14\xa4\xc0\xe7\x36\x2b\x94\x1e\x60\x55\x58\x18\xb5\x3e\xb2\x80\xa7\x59\x8d\x20\xc5\xdc\x64\x49\xf7\xb4\x1f\x0c\x7f\xd8\x54\x7b\x89\xe7\x34\xd4\x2e\xcc\xb8\xa9\x61\xc4\x07\xb2\x32\xa6\xe4\xd2\x96\x36\xf3\x64\x71\x1a\x92\xc5\x5c\x34\xf1\xae\xe1\x04\x04\xde\xf0\x67\x56\x3c\x55\xba\xae\xc2\x94\xe3\x64\x7c\x47\xd3\xd2\xa8\xce\x38\x93\xe7\x75\x2d\x63\x00\x13\x38\x22\xbe\x3c\x96\x4c\xd4\x0e\x0d\xed\x60\x7b\x78\x41\x9d\xb0\x10\xb0\xcb\xd5\xd2\xcc\x57\x50\x07\xb7\xab\x42\xca\x82\xf5\xee\x48\xc4\x2c\xb9\x45\x36\xcb\x20\xcb\xf1\x35\x1c\x61\x0d\x37\x91\x1d\x34\x3f\xb3\x9c\x95\x80\x79\x30\x6e\x94\x39\x2b\xfb\x17\x3d\xd5\xdb\x1b\xa7\xee\x07\x5d\xdb\xea\x7b\x09\x94\x91\x59\x6a\x7d\xda\x83\xfd\x90\x4d\x8c\x51\x69\x2a\x79\xce\x10\x7f\x9c\x99\xa5\x4c\x4c\x90\x93\xac\xb1\xd3\x39\xa4\x68\x64\xe1\x8d\x48\xd2\x8b\x2d\xd7\xca\x9a\xa8\x59\x64\x3f\x0c\x74\x0c\xbb\xeb\x18\xea\x47\xaa\x9d\xa1\x91\x55\x8c\xd4\x71\xb6\x5c\x07\x8a\x70\x8c\xb3\x08\xf7\x9c\x0c\x3a\xa5\x89\x4b\xe5\x5d\x7a\xda\x6f\x99\x24\xcf\x0d\x55\xe2\x71\xd3\x96\x53\xa2\xd2\xb2\x40\xeb\xa3\x35\xa2\x53\x76\xc2\x51\xc1\x7e\xe8\xe8\x93\x1e\x52\xdb\x6c\x74\x06\xec\x0c\x61\xf8\x8e\x2a\x82\x5e\x24\x13\x48\xc2\x67\xa1\x02\x3b\xdd\xdc\x27\x03\x0e\xd9\x40\x8c\xc0\x8c\xd1\x3c\x97\xe8\xb5\xba\x6c\x54\xc9\xd2\x13\x08\x74\x93\xbc\x2b\xe8\xad\x28\xec\x4d\xb4\x3b\x37\x60\x96\x31\xf5\x94\x0a\x29\x46\x6c\x39\x38\xc5\x08\x8b\x9e\xb7\x03\xb5\x07\xcb\x21\xcb\x61\x8f\xa1\x53\x5a\xa6\xbc\xe3\x64\xed\xa6\x9c\xaa\xf5\x01\x67\xa9\xc2\x3b\x4e\xf3\x65\x3b\x04\xac\x2f\x54\xf3\xc5\xec\xd8\x85\x50\x0a\x9b\x7d\xd3\xa9\x06\x57\x68\x3b\x7e\x4f\x61\xf6\x1a\xb6\x0f\x7b\xdf\x73\xba\x25\x87\xaf\x3b\x48\xc2\xe7\x22\x3f\x77\x22\x66\x99\x49\xc0\x6b\xb7\x6b\xe2\x90\xec\xe9\x79\xdf\xc5\x7b\x7a\x62\x08\x61\xa6\x57\x20\x6e\xcc\xbe\x00\x80\x0e\xe9\x0a\xa7\x14\xbc\x3c\x9f\x15\x6e\x76\x48\xb5\x63\x01\x75\x9b\xd6\x39\x58\x3e\x58\x1f\xb1\xfd\xf1\x94\x42\xb0\xdd\x85\x4b\xf4\x44\xad\x98\xb3\x33\x40\x36\x6a\xba\xbd\xda\x02\x80\xaf\x30\x2e\xa7\x8a\x59\xc9\xa0\x2b\x4a\x84\xa6\x9a\x29\xb0\xa1\x48\xa0\xd1\xa7\x35\xad\xd4\x4f\x29\x3d\x8e\x01\x41\x6c\x93\x8c\x29\x48\x90\x89\x84\x24\xcd\xd8\x38\x48\x31\xb6\xd3\xe3\x92\xa3\x11\xbd\xcf\xf4\x9e\xca\x5a\x1f\x44\xa0\xdf\x8e\x24\x58\xec\xb7\x73\x76\x37\xdb\xb9\xab\x38\xb4\x5a\x16\x44\x9a\x72\x06\xb0\x33\x31\xcd\x8a\xdb\xb0\x31\x4b\xf6\x69\xc8\x86\xc1\x21\x97\xe4\xca\x5b\x0d\x51\x76\x86\x51\xe4\xb8\x4f\xf5\xf6\x68\xe7\x6b\x12\xb6\x8f\x5b\x5e\x8b\x98\x13\xdb\x83\xdd\xb2\xf6\x24\x80\xe9\x95\x3f\x80\x12\x29\x4b\x4a\x1e\x86\xa3\xa0\xb3\xa8\x42\x9d\x7a\x28\x8b\xb0\x8c\x2c\x86\x68\xb1\xf6\x47\x5f\xab\x78\x7f\x15\x38\xfc\x2e\x02\x64\x18\xf6\xc0\x8e\xa3\x03\xbc\x0b\x16\xfc\xf1\x2c\x81\x66\x3f\x87\x36\x99\xb3\x6a\x23\x14\x33\xe6\x3a\x79\x98\xd1\x5a\x07\x2b\x0c\x49\x32\x89\x65\xfb\x0c\x82\x21\xa9\x8e\x67\x31\x51\x51\xda\x1e\x48\xe7\x19\x5d\x23\x3b\xb0\xb7\x01\x67\xb3\x44\xbf\x96\xaf\x32\x1f\x9e\xfc\x4c\x3a\x2c\xcf\x20\x5d\xae\xe6\x93\xd6\xef\x57\xc9\xd2\x5e\xac\x1c\xb9\x24\xc1\x62\x0c\xac\xd5\x16\x85\x7a\x5c\x57\x03\x34\x18\x96\x73\xa6\xdf\xed\xea\xa2\xc7\xa8\xbc\x5f\x6e\xf1\xb5\xda\x4e\x96\x98\x9c\x37\xa7\x68\xa3\x1e\x24\x7c\xc9\x1e\xb7\xc1\x94\x47\x0b\x63\x91\xaa\x22\x68\x61\x74\xd8\x80\xfd\x90\x84\xc4\x10\x45\x51\xe9\x4a\x06\xb5\x2c\xb9\xc5\xf2\x90\xd3\xac\x77\x3c\x19\xd1\x21\x6f\x08\x7d\xc2\xd6\xf3\xc3\x30\x4f\x5b\x51\x10\xd0\x45\x95\x47\x93\x0c\x0f\x64\xcb\xf8\xce\x7c\xb9\xd8\x8f\xa1\x5e\x39\xc1\x34\xba\xe4\xa1\x9f\xb1\x60\xaf\x46\x0b\x14\x0f\x35\x1d\x9e\x62\x28\x20\x16\xcc\x9e\x3a\x0a\x98\x6e\x44\xe6\xa0\xa8\xb4\x51\x76\x30\x60\x48\x9a\x1e\x31\x63\xe5\x94\x44\x44\x03\x73\x08\x4a\xa3\x88\x43\xa6\xb0\x36\xe2\xd4\x01\xe4\x8c\xeb\x47\x68\x1a\x49\xee\x6c\x0c\xdc\x2c\xcc\x5b\x77\x57\xcc\x0b\x66\x55\x9f\x4f\x0c\xd3\xc2\x14\x44\xae\xe0\xb9\x53\x24\xd8\xb1\xaa\x11\xc9\x86\x66\x34\xb9\x3c\x16\x5a\x04\x1d\x66\xf3\x88\x58\xac\xcf\xfb\x01\x22\xfc\xc2\x26\x0e\x14\x17\x4a\x8d\xed\x8a\xd6\x02\x90\xc0\x66\xf2\xfc\x58\x25\x4b\xbb\xae\x72\x52\xb5\xa4\x1a\xcd\x5d\x31\xe2\xe4\x9a\xf1\x0d\x65\x29\xd1\x4d\x35\x77\xc6\x3a\x2f\x1c\x98\x1f\xe1\x19\xc7\x5b\x5b\x82\x6b\xe6\x75\xd5\x4e\xd9\x6a\x8e\x42\x87\xa1\x5a\x62\xce\x96\xc4\x76\x43\x1e\x0b\xa4\x02\x0c\x8b\xdc\x80\x7e\x2e\xf5\xdb\xac\x49\x68\x85\x3e\x2f\x26\x97\x71\x7b\x31\x66\xa3\x85\x42\x66\xdb\xf0\xd8\x85\x6b\x5b\xe1\x48\x5f\x44\x12\x2c\x5d\x41\xb8\xc1\x07\x90\xe7\x38\x2c\xad\x6f\x86\x0d\x69\x0b\xab\xf3\x74\x1c\xb0\x18\x3f\xb1\x4c\x0e\xf6\xe7\x1c\x59\x07\xe3\x61\x4b\xc3\x74\xe7\xd7\xe9\xa8\x9b\x3b\x3d\x08\xe0\x9a\x01\x95\xba\xdb\xba\x74\xe7\x8f\x0a\x48\x00\xac\x87\x19\x19\x0a\x27\x95\xd2\xb5\x72\x6f\xe9\x36\xef\xcd\xe3\x72\x39\x57\x6b\x38\x05\x95\x37\x50\x4d\x15\x37\xb2\x4a\x07\x30\x57\xcd\x81\x4c\xf4\xe7\x38\xd9\xb0\x6d\xd7\x55\x04\x4e\x94\x71\x62\xe4\xb5\x53\x45\x61\x86\x4b\x23\x52\x97\x7d\x53\xd8\xa4\xe7\x1b\x11\x3e\x54\xa2\xef\x1b\x6e\x6b\x3a\x26\x29\x02\xde\x70\x62\xc1\x35\xf4\x6a\x1e\x9f\x74\x8b\xac\xf6\x05\xf0\x69\x4e\x6e\x37\x30\x7c\x18\x7b\xd3\x56\xeb\x85\x04\xb0\x60\x3f\xe7\x7b\x72\xd3\xcd\xc7\x98\x06\xb5\x95\xd6\x38\x47\xe2\xd2\x6c\x63\x7b\x26\x0c\x79\x22\xbf\x88\xd7\x68\x90\x67\x2e\xcf\x6d\xd6\x7a\x9c\x9e\x27\x8f\x5e\x47\x0a\xdc\xd8\xc4\x22\xab\xb4\xc8\xf0\x61\x52\x5f\x91\x70\xa1\x4c\x3b\xe3\x44\x52\x29\x5a\x2e\x93\x73\x6b\x18\x70\x94\xb7\x8c\xaf\x91\x64\xc1\x3b\x6d\x15\xd6\x0b\xa2\xdb\x19\x29\xc6\x6a\x63\xb3\x21\x63\xc1\xa9\xf2\x1e\x32\xd0\x68\x10\x5a\x69\x57\xa2\x0e\x44\xcf\xb0\xf5\x12\xd0\x22\x23\xe2\x2b\x5a\x62\x99\x7a\x13\x40\xd0\x08\xa7\xf8\x3a\xb2\x07\x75\x66\x5a\xc6\xe6\x94\x03\x65\xa4\x10\x74\xe3\x38\x51\x39\x22\x5d\x95\xf4\x9a\xbb\x60\x65\x92\xe7\xf8\x55\x9f\x8f\xe5\x3c\xa6\x45\x79\x3c\x69\xcc\x8e\x4e\x7a\x6e\xf4\xd5\x79\x12\xec\xb7\x93\x59\xd7\x43\xa1\xec\x09\x27\x8a\x9b\x55\x33\xcf\x21\xc1\x63\xa3\x71\x6a\x67\xe5\x96\x46\x74\xa8\x25\x4e\x71\x14\x25\xc0\x3f\xcb\xcd\x8c\x80\xa0\x19\x73\x36\xa6\xf6\x40\xc1\xb4\x2a\x2d\x55\x86\x4b\x8f\x7a\x74\x44\x89\xad\x9e\x47\x45\x6c\x18\x7b\x3f\x40\xb7\xb8\x56\x11\x46\x85\x93\x0b\xca\x64\x01\x91\xbb\x74\x33\x9f\xad\xc4\x59\xd3\x25\x9b\x4c\x07\x94\x21\xe0\xdc\x2a\xe5\x57\xfb\x90\xa2\xc2\x16\x12\xc0\x80\x2d\xa7\x9d\xa1\x35\xb6\x51\xcc\xbb\x8a\x97\xf9\x9a\xc6\xf5\x58\xd6\x00\x59\xcc\xd4\x09\x5c\x7c\x2b\xa8\x5a\x82\x3c\xe2\xd0\x2a\xb6\xd2\x73\x48\xe0\x4e\xad\x24\xa0\x65\x9c\x2e\x65\x64\x87\x9b\x81\x72\xa9\x45\xe7\xce\x8c\x42\xbe\x54\x4c\x22\x3d\xcc\x58\x75\xd3\x8c\x66\x6c\x12\xcc\xa6\x66\x8f\x28\x9e\xe4\xda\x0e\xab\x5a\xc6\x00\xe7\xcc\x26\x35\xba\xb5\x34\x2a\xe8\xd1\xf3\x6a\x61\x6d\x95\x3e\xed\xcf\x5d\xce\x05\x83\x59\x63\x9d\xc6\x97\xf3\xa9\xe9\x38\x98\x37\xa4\x63\x02\xf8\xc9\x6b\x08\x08\x80\x95\xad\x16\xa4\xb5\x2d\x44\x79\x8b\xf1\x3d\x73\xa6\x13\xee\xb8\x02\x4e\x58\xac\x4d\x1f\x1e\x44\x98\x4f\xd5\x4e\x8a\x36\xd9\xe1\x48\xb1\xc4\x40\x69\xa2\x30\x0d\xd5\x32\x50\x1d\x71\xe6\xda\xc9\xc9\x19\x00\xa8\x9c\xcc\x2a\xc0\xae\x83\xf5\xb1\xd7\x6c\x42\x28\x7d\x12\x20\x84\x60\x8c\x5c\x24\x11\x67\xb8\x73\x0d\x20\x93\x89\x99\xa4\x49\x66\xa4\x49\x01\x43\x8c\xc7\x14\xf4\x84\x8d\xa3\x22\x6e\xa4\x68\xd1\x54\x61\xbe\x5f\x57\xae\x92\x63\xcb\x11\xa5\x32\x51\x94\x8c\x05\xe7\x70\x9c\x3e\xc8\x06\xd9\xb8\x34\x30\x69\xb5\xec\x54\xdc\xf7\x4b\x4a\xe1\x01\xb7\xa4\x36\x44\xd3\x8e\x2b\x69\x87\x95\xb3\xe2\x04\x99\xeb\x80\x3d\x60\x04\xf0\x11\xee\x18\xf5\x32\x0c\x07\x33\xb9\x62\x0f\x07\xbb\x19\xe6\x49\x03\xaf\x2d\x29\x99\x0f\x01\xbe\x23\x57\x8a\x48\xb1\x7b\x76\x93\x73\x6c\x83\x6c\x56\x41\xd4\xca\x72\x54\x9e\x65\x9e\x58\x2f\x31\xf1\xa8\x42\x82\x26\xda\x8c\xdd\xf5\xe7\x7c\xb4\x49\x47\x36\x8c\x4e\x5a\x4d\x68\x02\x0d\xf8\xca\xdf\x45\xba\x2e\xed\x28\x0a\x5f\x84\xca\x1e\xc9\x37\xcb\xc5\x4a\xcb\xeb\x7a\x56\x03\x86\x56\xe5\x81\x53\x34\xa0\x39\x66\x40\x80\x44\xe1\x94\x28\xe2\x56\xf5\x72\xe6\x43\xe0\xa8\x91\x74\xe4\x10\x51\x0e\xe9\x91\x83\xb5\x5d\x79\x12\xce\xb8\xda\xd6\x93\x48\x48\x47\x79\x08\x55\x2d\xd9\xc7\x5b\x99\x19\xd4\x04\x26\x73\xde\x8b\x69\x94\xd0\x73\x48\x68\xab\xad\x02\x57\x7e\x23\x99\xae\x91\x52\x47\x08\x3e\x14\x53\x04\xef\xe0\x32\x4b\xeb\xb8\x9d\xe1\xee\x12\x19\xcb\x10\xc0\xa2\x40\xf6\x0d\xd7\xc4\xf9\x01\x6d\xf8\xc9\x77\xd7\x7e\x06\x1b\x39\x66\xc0\xb5\x53\x82\x7a\x3b\x98\xe8\x1c\x68\xeb\x8a\x0e\x0a\x80\x72\x51\x2f\xe1\x29\x23\x92\xeb\xb9\x67\x8b\xbb\x24\xe1\x6d\xee\xd8\xd1\xdc\x0a\x23\xa2\xc8\x12\xdc\xea\x22\x41\x23\x46\xa3\xdd\x98\x14\xd9\x8e\x97\xc7\xf5\xb4\x4a\x97\xc0\x23\x0c\x9d\xd0\xd4\xb4\xc9\x56\xdd\x69\xb6\x31\x02\x8a\x23\xb3\xb4\xad\x62\xa6\x3d\x89\x33\xc7\xf5\x05\xb1\x40\x22\x11\x33\x61\x8a\x23\x1b\xb9\x57\xf6\x27\xad\x8c\x8d\x2d\x8d\x36\xc5\x84\x23\x4a\xed\x07\xbb\x6d\x67\xb6\xea\x86\x26\x3c\x39\x2a\xbc\x20\x3d\xea\xa6\x60\x38\x56\x64\xd5\x6a\x81\x1f\x58\x40\xc8\xa5\x49\xf8\x5b\x1a\x9d\x3a\x76\x57\x94\xe2\x72\x0b\x0e\x2c\xd8\xb2\xda\x2a\xd8\x4d\x34\xdc\x8e\x52\xd0\x72\x62\x7d\x6a\x37\xcd\xbe\xf4\xe9\x8d\x6a\xef\x99\x71\xb1\x3c\x18\xd3\xfc\xbc\x44\xd7\xe1\xd2\x1e\x70\x40\x1d\xfb\xdc\x43\x01\x5f\x5a\x35\x3a\x92\x5d\x33\x04\x31\xac\x2b\xea\xb4\xc4\xed\x5c\xac\x1c\x6e\xcd\x26\x1d\x7b\xd4\x49\xd2\x85\x05\x07\x6c\x85\x4d\xb9\x5f\xad\x32\xa3\x9c\x55\x64\x9e\xc5\x04\xd0\x6c\x29\x07\x47\x7a\xb9\xa0\x5d\x9c\x2c\xb7\xe7\xb0\xa1\xec\xde\x70\x58\x75\x3f\x24\x35\xba\x73\x8b\x55\x03\x9d\xb7\xa9\x2f\x81\xa4\x3e\x9d\x66\xd5\xc0\x30\x56\x5e\x29\xb5\x97\x2d\x92\xd6\xad\x4b\xd3\xec\xdc\x63\xcb\x1f\x08\xb8\x4a\xf6\x03\x49\x27\x41\x7c\x66\xab\x05\xb4\x63\xab\x3e\x28\x0e\xed\x2a\xa2\x72\xdc\x83\x97\xe3\x7e\x36\xee\x89\x82\xb6\x70\xec\x78\x42\xe5\x63\xb9\xc4\x20\x14\x1e\x67\xe1\xe4\xe3\x4b\xe6\xbc\x90\xb6\x10\x27\xef\x9d\x99\x33\x12\x27\x8e\x5e\x84\x21\x59\x9e\xbc\x02\x66\xf6\xd3\x71\x5f\x77\x78\xdf\xd0\xad\x99\x6d\xda\x9d\xb2\xda\x32\xec\x0e\x56\x77\x50\x10\x4e\x78\x7b\x82\xd6\x9b\x95\xd3\x0b\xab\xa1\x46\x7b\x61\xec\x52\xb5\x9d\xe1\xb8\xbf\x6d\x97\x21\xd6\x2d\x90\x2d\xbd\xdf\x0f\x26\x67\x1a\xe7\x10\x29\x67\x87\x59\x51\xec\x5b\x1d\x71\xb2\x66\x48\xd8\x75\x20\x1c\xc5\x6a\xa6\x3b\x66\x5c\xaa\xdb\x33\xc4\x7b\xf3\x5d\xb3\x3b\x66\xe7\x03\x98\xa8\x64\x38\xa0\xab\x53\x44\xe1\xc0\x9c\x81\x5e\x9b\x07\xf5\xdc\xed\x31\xa6\xd7\x20\x0e\xe6\x88\x05\x81\x79\xd2\x52\x5c\x0e\xad\x85\x71\xbc\x46\x1c\x4f\x1e\x9a\xb5\x70\xe4\x61\x76\xc4\x25\xe7\x1c\x8e\x13\x68\xcb\xe5\x04\x54\xcd\xa5\x2a\x81\xd7\x72\x33\x1b\x42\xa2\xee\x67\x64\x96\xb0\x76\x37\x42\x4d\x4f\x56\x1b\xcb\xe9\x31\x5f\xa6\x20\xcd\x0f\x7b\x78\x95\x94\x46\xc2\xc4\xfe\x1e\x41\x1b\x56\x3f\xc3\x0a\xbd\xd7\x83\x41\x30\x45\x73\x49\x40\x18\xba\xe8\x3a\xec\xc0\x16\xa7\x9c\x51\x15\xa9\x5f\x9d\x60\xcc\x05\xb4\xca\x1d\xf5\x33\x39\xe7\x40\xc7\x6f\x82\x08\x6a\x97\xf2\x51\xcc\x3d\xd6\x26\xf6\x26\xba\xd6\xcd\x6e\xd1\x33\x26\x81\x60\xa6\xb4\x77\x3a\x66\x68\xb8\x41\xda\x02\x2c\x38\x79\xfe\x66\x74\x01\x63\x2b\xde\x5a\xa4\xe7\x0a\x60\xb8\xe5\x36\x5d\xfb\x51\x00\xce\x72\x28\xa2\x24\x93\x69\xab\xfd\xae\xf1\x28\xa3\x74\x74\x12\xcf\xb8\x70\x34\x39\x7e\x80\x77\x6b\x6e\xa0\x34\x9f\x30\xc7\xc9\x94\xf5\xb5\x12\x45\x27\x2f\xe9\x4f\x96\x7c\xb4\xd7\x45\xbb\x23\xc6\x5c\x24\xe1\xce\xf3\x67\x1b\x64\x00\x15\x6f\x9d\x59\x49\x97\xbd\xd1\x3f\x0e\x36\x31\x03\x62\x44\xe8\xe4\x76\x35\xb3\x74\xbb\x72\x61\x05\x28\x86\x4e\xf5\x70\xc8\xce\xce\x7e\x5e\xcd\x09\xb9\x3b\x6f\x4c\x2d\x87\x1b\x9c\x48\xa2\xc5\x60\xe7\x7c\x6d\x0f\xdb\xad\x7e\xe0\xdc\x7d\xdb\xa2\xd8\x92\xa2\x39\xd5\x94\x6c\xc6\x50\x38\xba\x28\xa8\x41\xde\x10\x43\xb9\x59\x1f\x0e\xc8\x7a\x37\xeb\xf6\xfa\x1c\x25\x9c\xc4\xec\x48\x55\xd4\x16\xd4\x6a\x90\xe0\x49\x1d\x17\x07\xde\x84\xe4\x69\xbd\x46\x8e\x81\x3c\x55\xd8\xbe\x42\xdd\x75\x62\x0a\x99\x9e\xb9\x67\x85\x51\x57\xeb\x9d\xbd\xd3\xab\xd5\x20\xf2\xd2\xb9\xc5\x3b\xae\xdb\xf6\x36\x3b\x9f\x1d\xea\xd3\xb8\x5e\xda\x2c\xa7\x28\xf0\xde\x3f\x18\x9d\x9a\xa7\x46\x54\xd4\xcb\xd9\x2a\xe8\xf5\x12\x69\xdc\x8d\x7c\x44\x40\x46\xc0\x7a\x01\xe4\x7c\x6d\x2f\x64\x6c\xbe\xe7\xe7\x12\x68\xd3\x74\x95\x75\x2b\x4f\x92\x73\x69\x92\x07\x96\xb6\xaf\x7c\x3b\x07\x72\x71\xb4\xd5\x45\x49\x2e\x08\x40\x09\xf3\x81\x5a\x87\xab\x00\xa5\xcc\xc5\x5c\x8e\xb0\x40\x12\x36\x46\xdf\x1b\x86\x4f\x9e\x98\xd4\xdf\x01\x68\x37\x90\x6a\x61\xcb\x14\xe0\x4b\x80\x81\x60\xab\x9e\x11\xb7\xd8\x00\x82\x04\x4b\x79\x7d\x62\x2f\x75\x41\x33\xae\xf0\x36\x88\x88\xde\xcb\xe7\x8d\x3d\xe7\x48\x17\xcf\xa1\x95\x96\x22\x61\x21\xe9\x0a\x0c\x03\x34\xda\xac\x08\x4f\x90\x7d\x92\xc8\xab\x29\x02\x5a\x74\xc4\x71\x69\x39\x83\x4a\x97\x3f\xec\xab\xfc\xa0\x62\xdd\x7c\x3c\xc3\x4b\x60\xb5\x06\x13\x1b\x9c\x9a\x9d\xc3\xdc\x97\xfd\x20\x5c\xcb\x95\xc9\xf2\x91\x6b\x15\x73\xc6\x1d\xe2\xa8\x16\x0f\x71\x9a\xcb\xc7\x10\x5d\x14\x4e\xae\x9e\xc7\xbd\xd2\x85\xbb\xfc\x60\x60\xa3\x59\x32\x55\xee\x45\xe8\xce\xee\x24\x0b\x69\x9a\xc5\x0c\x0b\xc3\xfd\xbc\x92\xdd\x9a\x8e\xce\x16\xaf\xc5\x6c\xca\xaf\xab\x11\x5d\x2f\xd5\x7d\x10\x14\x6d\x92\x58\x1e\x39\xf4\xe2\x69\x6e\x24\xfc\xda\xdd\x43\x9e\xad\x11\x19\xbd\x2c\xcc\xb9\x6c\x87\x68\x00\x6a\x0a\x2c\xd1\xe5\x94\xad\xf1\x76\xce\x01\x47\xe3\x4a\xe1\xb4\x66\xb8\x9c\xed\xd0\x66\xbb\xac\xa8\x76\xb9\xc5\xa1\x6c\x6e\x99\x9c\x1c\xb6\xea\xc0\xae\x74\xaf\x45\xeb\x68\x38\xed\x93\x45\x2f\x34\xeb\x1d\x31\xeb\x57\xfd\xb1\xcc\xb5\x50\xc8\xca\xc2\xd9\xc0\x6a\xae\x66\x0b\xe0\xef\x58\x5f\x07\x0a\xb9\xda\x10\x50\xbf\xa1\xbd\xb9\xba\xd3\xcb\x18\x5f\x1c\x31\x2f\x26\x47\x1f\x8b\x23\x6c\x4d\x44\xc5\xba\xf0\xda\x61\x57\x99\x84\x30\xc7\xe8\xc6\x51\xd1\xae\x96\x4d\x6c\xbe\x0a\xcd\x11\xdf\xa3\xc3\xa4\xaa\x23\x2a\x20\x30\x56\x23\xe8\x99\xde\x97\x73\xe2\xe4\x37\xe7\xf5\x9a\xc3\xc3\xa1\xe7\xe6\xa9\x1d\xb4\xc7\x85\xc6\xc9\xa3\x39\x2f\xf3\xbd\x3c\x54\xb1\xb6\xe8\x8f\x65\x14\x4b\xd4\x00\xd3\xe0\xb4\xa7\x4f\xa5\x16\xe9\x07\x20\x34\x07\xd7\x90\xc0\x9a\x81\x8f\xca\x32\xc0\x02\xcc\x8f\x53\xb8\x38\x96\xca\x6c\xed\xad\xb0\x6d\x22\xc0\xa6\x5e\xb0\x61\x11\xc8\x75\x50\x88\x01\xc7\xd9\x4b\x01\xb3\x79\x78\xbb\xaa\xaa\x30\x19\xbd\xd0\x97\xec\x64\x64\x2a\xd6\xdd\x52\xdc\x2c\x37\xe0\x02\xab\x82\x6c\xe5\xae\x8b\xd9\x76\xe4\x57\xcb\xfe\x78\x5a\xc2\x18\x1c\xc8\x2b\xfb\xc4\x8a\x48\xde\xac\x26\xab\xb5\x89\xcc\x69\x9c\x73\xae\x6b\x82\x6b\x64\xca\x56\x04\x66\x09\x9d\xf2\xb1\xe5\x46\xd2\x84\x3b\x31\xe4\xa7\x76\x89\x7a\xe5\x0a\x78\xa5\xc6\x2e\x91\xba\x29\xb5\x4e\xd4\x56\xfd\x7c\xb1\xdc\x4d\x67\x61\xb5\xd8\xac\xcb\x11\x43\xcf\x47\x0b\xc9\x8c\x05\xd4\xea\x8d\xcd\xc4\xb9\x52\x5b\x8e\xb6\x09\xb4\xdc\xa9\x2b\xd3\xc9\x6a\x13\xe3\x26\x7f\x4c\x9d\x45\x78\xd2\x2d\xa6\x0a\x3d\x2b\xd7\xd1\x59\x77\x5c\x48\xcc\x72\x21\x77\x81\xa7\x89\x0b\x24\x3a\x4f\xd4\x5e\xcf\x1c\x38\x16\xe8\xb5\xb2\x6e\xe8\x4d\xd3\x08\xab\x9e\x16\x43\x1f\x31\xfd\x99\xe7\xf3\xdc\xe9\xa0\x0e\x67\x09\x19\xaa\xa4\x39\xa3\xad\x31\x2f\xab\x93\x5a\xdb\x1d\xe9\xf7\x86\x40\x68\x02\x6f\x2b\x07\x48\x99\x7c\x66\x0f\x93\xea\x16\x56\xfd\x55\xb0\x2b\xa8\x79\xcd\x3b\xcb\x32\x35\x05\x92\xb5\x83\x95\x89\x2e\x21\x55\xf5\xa5\x75\x04\x40\x38\xf8\x10\xea\xb5\x22\x3b\xdb\x14\xe4\x61\xb6\xaf\xa0\x5d\xce\xb4\x4c\x47\x13\x7d\x2e\xd6\x6d\xbb\x2a\x75\x6e\xbf\xce\x26\x83\x21\x15\x7e\xdd\x80\xe4\xa8\x9a\x6b\xd4\xec\x8e\xfa\xc8\x9e\xeb\xbe\xae\x84\x49\x3c\x16\x33\xa6\x9f\x8d\xad\x70\x36\xc4\x49\x9c\xce\x63\xdc\xef\x8b\x54\xdb\x8a\x8b\x85\x55\xd8\x2a\x31\x13\x0a\x92\xda\x9e\x03\x76\x07\x05\xce\x54\x91\xc6\xd2\xb2\x8c\x1e\x6c\xa6\x71\x38\x9e\x32\xdb\x59\xfb\xa2\x95\xe3\xbe\x37\x4a\x46\x45\xa1\xa7\xb4\x56\xa6\x29\x35\x07\xda\xe0\xc8\xe5\xc6\x83\x92\xbd\x72\x0a\x27\xec\xa0\xd9\x99\xa5\xc2\xb6\x23\xf6\x86\x71\x4a\x6d\x76\xc0\xe7\xd8\x8c\xdf\x08\x6b\x5a\x08\xf4\x26\xd0\x61\xca\x43\x75\x6b\x4d\xca\x0b\x2a\xdc\x68\xe7\x98\x0d\x3b\x6b\x6f\xd6\xf2\xe1\xb4\x07\xf5\x32\x87\x4f\xf6\x7a\x3c\x11\xd6\x0c\x5d\xa9\x27\x1e\x3b\x47\x3b\xdc\x77\x31\xc1\xaf\x78\xc3\x58\x0e\xb4\x0a\x99\x40\x21\x6a\x01\x65\x21\x4a\x75\x66\x71\x5b\x51\xe1\x0a\xa1\x6d\xa1\x55\x5a\xc7\x44\xcc\x68\x59\x0a\x5b\xe1\x78\xde\x84\x51\xbb\xdf\xf6\x8c\x4c\x63\x30\x6a\x0f\x0d\xb4\x59\x31\x21\x5a\xd5\xf8\xa1\xe6\x0e\x4e\xae\x9c\x8e\x1e\xeb\x39\x0b\xb0\x99\xa8\x6d\xfe\xf4\x87\x8e\xfa\x8c\x9d\xcd\x0d\x7d\xa9\x9f\x47\x1f\x65\x01\x00\x80\xdf\xab\x8c\xc5\xaa\xa9\xbd\x57\x33\x39\xdf\x9e\x1d\x8b\x81\x1d\x05\x9c\x25\x8a\x46\x45\x1d\xa0\xa2\x2e\x0d\x26\x45\x8f\xf2\xd1\x18\xe4\x23\x38\x8b\x3a\x80\xe5\x23\x18\x64\x57\x4b\xc9\x08\x00\x40\x9a\xb0\x6a\xc6\xb0\xb3\x61\x60\x47\xaf\x3a\x0f\x55\x2b\xa7\x48\x81\x74\x04\xa3\x74\x86\x47\x49\x83\x07\xc9\x54\x46\x89\x2a\x27\x99\x2a\xcf\x5b\x12\x1e\xb6\x54\x39\x48\x5b\xcf\x5d\x11\xd7\xef\xb3\x40\x33\x4c\x59\x15\xe6\xa4\xcd\x71\x6f\x7f\x2c\xf5\xcb\xc2\x77\x3b\x28\x70\xbb\xf0\xee\xe1\xae\x0b\xc7\x0e\xaa\x32\x37\x29\xee\x1e\xee\xf4\x3e\x7c\xf8\x09\x45\x7f\x02\x7d\xf4\x13\x0a\x23\xcb\x9f\xe0\xc5\x47\x1c\xfd\x88\x21\x3f\xcd\x60\x18\x86\xdf\xee\x32\x76\x8b\x28\xcc\xca\x08\x3a\x85\x4d\x9b\x94\xc5\xcb\x8e\x91\x0f\xcb\x3f\xd3\xfa\x35\x9c\x2e\x78\xbc\x87\x57\xef\x91\xc5\x9b\x1d\x44\x49\x07\xb1\x34\xa0\x5e\x36\x8d\x92\xee\xa7\x26\x3c\xbd\x7f\xca\xcf\x76\x85\xb8\x7f\x08\x3f\x84\x63\x55\x36\x5d\xfb\xf8\xaf\x6b\xeb\x8f\xe5\x43\x96\x78\x1f\x93\xdf\x7f\x7f\xf8\xf6\x6e\xb9\x87\xe6\xfe\x5f\x77\x7d\x1b\xfe\xd4\x76\x4d\xe2\x77\x77\x9f\x9e\xef\x49\x0b\xc2\x43\x52\x84\x5f\xee\xb2\xeb\x1e\xee\xfe\xf9\xcf\xb0\x95\xae\x19\xc6\xee\x1e\xfe\x75\x72\xb3\x3e\xfc\xf8\x33\xfc\xfb\xe7\x9c\xae\xcd\x3b\x04\xbe\x7f\x28\x2f\xff\xb1\xfb\x87\xf6\xf2\x1f\xbd\x7f\x28\x2e\xff\x91\xfb\x07\xf7\x31\x28\xfd\x6b\x02\xdc\x0f\x51\xd8\xd1\x4f\xb9\x56\x89\x33\x17\xbc\xbb\xfb\x7c\xc7\xe7\xdd\x37\x37\xd2\x3f\xba\x4f\xb7\xaf\x65\x9f\xb2\xc7\x27\xda\xef\x1e\x1f\xa3\xb2\xeb\xce\xff\xbc\xbc\xfc\x52\x84\xc3\x4f\xc9\x07\xf6\xf2\xfc\xce\xbd\xff\xf8\x74\x6b\xca\xfe\xf9\xf5\x8a\x50\xfc\x78\x61\x5a\x57\xb5\x1f\xef\x1e\x3f\xe7\x90\xcb\xca\xa7\xec\xa3\x4f\xd7\xca\xf9\x65\xf6\xcb\xdd\xd0\xb6\x1f\x21\xe8\xee\xe3\xdd\x70\xfd\x7f\x3f\x7b\x09\x1a\x97\x6d\x77\x53\x58\xb9\x5d\x5c\xb8\x79\x38\xbb\x1b\xda\xbb\x07\xff\xa6\xff\x36\x74\x1b\x3f\x7e\xe8\xaf\xd7\xb9\x14\x1f\xc8\xb2\x28\xc2\x2b\xc3\x19\xd7\xef\xca\xe6\xfc\x2e\x7e\x68\xbf\x20\xd1\xde\x3f\x54\x57\xc0\xf6\x83\x15\x7a\xba\x6e\xbf\xcb\x1e\xfa\x07\xff\xe1\x89\x5c\xb7\xef\xe2\x7f\x76\x65\x1a\x16\xf7\x1f\xca\x2a\x2c\xde\xdd\x7f\xfa\x9c\x11\x2f\x08\xe8\x53\x58\x74\x62\xd2\x76\x61\x11\x36\xef\xee\xfa\x22\x2b\xdd\xe0\xee\xe1\x9b\xdb\xfa\xaa\x77\xf7\x0f\xd9\x07\x3f\x2b\xdb\xf0\xdd\xfd\xef\xf7\xff\xa3\xb9\xff\x66\xc0\x2f\x69\x3c\xc2\xcf\x03\x3c\x5f\xe4\x3a\x76\x6e\x13\xba\x9f\xaf\x30\xf5\xcb\xbc\x7a\xbe\x3d\xd8\x4c\xc2\xe1\xf3\xd5\xa5\x9f\x65\xe1\xb1\x79\x7a\x4f\x5a\xf2\x09\xb0\x88\x1e\x7f\x46\x3e\x97\x69\x61\x11\x24\x45\x44\x7e\xed\xe3\x4b\xe5\x37\xfd\x7e\xbe\x9d\xf8\xf1\x5f\x6d\xe7\x36\xdd\xd3\x75\xc8\x61\x11\x5c\x1f\x7e\xff\xfd\x4b\x86\x91\x6f\xee\xbd\xfc\xda\xf8\xda\xe4\xe6\xda\xc3\xef\xd0\x81\xdf\x1c\xf1\xc3\x53\xeb\xef\x08\xff\x70\x65\xda\xf3\x35\xb9\xaf\xf2\xe0\x0a\x4a\x96\x45\x17\x16\xdd\x97\xd4\xfb\x2f\x61\xfc\xcc\x6d\xdb\xcb\x8c\x3f\xa9\x05\xd7\xef\x92\x53\x78\x77\xff\xfb\xc3\x1b\x74\xf4\xd5\x45\xd5\xbc\x72\x7d\xf4\xa5\xf7\x4f\x7f\x88\x46\xf8\x21\x70\x3b\xf7\x09\x95\xa7\xae\xbe\x61\xfa\xf3\x2a\x6e\xdf\xdd\x3f\xb4\x61\xa7\x27\x79\x58\xf6\xdd\xbb\x6f\x79\xf6\x2a\x73\xc2\x22\x78\xec\x5e\xe7\xcb\xef\xd7\x7b\xa4\xdf\x20\xe5\xd2\xee\xe5\x84\x1c\x2e\xc2\x92\x4c\xdf\x62\xf5\xee\xe7\x97\x7d\xa4\xe1\x39\x28\x87\x9b\x44\x0a\x2f\x67\xf4\x39\x81\xd3\x6b\xe2\x75\x85\x47\xd1\xf5\xe3\xe3\xe3\xb5\x3b\xb2\x0c\x3e\xdf\x8b\xfb\x33\x72\xd1\x5a\xc8\xe2\xdb\xaa\x7f\xff\x1b\x59\xbe\x78\x5f\xbd\xde\xf4\x6d\x22\x90\xfb\xcf\x12\x8a\xa2\xeb\x9f\xbf\xeb\xec\x09\xf3\xd8\x2d\x82\x2c\x04\xc5\x59\x7f\xe6\x24\x79\xb5\x2e\x97\xd9\xb8\x26\xec\xf9\x96\x03\xaf\x8c\xf0\x96\x48\x7c\x4d\x2d\xff\x96\xe0\x35\x61\x5e\x9e\xc2\xaf\xb2\xf7\xf6\x4a\x7d\xca\xea\xf4\x8c\xde\x97\xcb\xc2\xef\x1f\xbe\x5c\xad\xf9\xbc\x32\x7f\xbc\x8e\xae\x6b\xf6\x4d\x90\xb0\x08\x7e\xff\xf4\x03\xbd\x00\xbf\x21\x9b\x17\x3a\xdf\x98\xeb\xd7\xcb\x1f\x7f\x46\x3e\x3d\xdd\x83\xfb\x74\x03\xe8\xa7\xf0\xb1\xfb\x96\xea\x5f\x6e\x64\xba\xed\xbd\xa7\x24\xef\xef\x9a\x67\x4a\x9a\x0b\xba\xf7\x1f\xff\x18\xf2\xfe\xa1\xfb\x7a\xf7\xf5\xd3\x4c\x37\xef\xc2\x8b\xfa\x86\x9f\x92\x50\xfc\xeb\x47\xaa\xf0\xd3\x77\x09\x8d\xde\x18\xe9\x0f\x98\xfe\x23\x86\xdf\xbf\xb8\xdd\xfb\x33\x82\xc9\x05\xc1\x6f\xe5\xee\x2d\x19\xbd\xbd\x5b\xf8\xd2\xe1\xc3\xab\x2a\xf3\xd3\x9b\xf3\xf7\x73\xf8\x2d\xff\xbf\xe6\x3b\x7c\x41\xf2\x97\xfb\x9a\x1f\xee\xee\xee\x3f\x35\xdf\x64\x35\x0e\x6f\x49\x68\x9e\x79\xfc\x1d\x19\x6f\x6a\xbe\x3f\x5a\x44\xaf\xa0\xf7\x22\x3d\xdf\x53\x47\x1f\xea\x3e\x6c\xce\x5a\x98\x85\x17\xf7\xe0\xdd\xdd\x17\x80\xf7\x4f\x19\x03\x9e\x5c\xa3\xe6\xa9\x8f\x97\x99\xaa\xde\xea\x63\xbc\x40\xbc\x6f\xca\xa1\xbd\xbb\xff\x50\x1e\x0e\x17\x3e\x96\xd5\xac\xf9\xfa\xfc\xba\xfe\xbf\x66\x27\xf8\x90\x85\x87\xee\xf1\x33\xac\x18\x1e\xba\xd9\x5d\x35\xbe\x61\x94\x9e\x5a\x74\x65\xf5\x98\xfc\x21\x54\x1c\x26\x51\xfc\xb5\x67\xf6\xfa\xfa\x87\xad\xb2\xa4\x08\xd9\x37\x5b\x7e\x7a\x4a\xc1\xf5\x6a\xfb\x28\xec\x88\xb2\x7f\x5a\x24\x59\x12\x16\x9d\x1a\xfa\xdd\xbb\x2f\x12\xfc\x2c\x29\x7f\x4c\xf3\x0b\xd0\x97\xc4\xbe\xa8\xbe\x66\x42\x7c\x2c\x9f\xfe\xbf\x0d\xf6\xcc\x8c\xf2\xf9\xe1\x6d\xc0\x6f\xe8\xff\x0e\xf8\xf7\xf0\xdf\xff\x7e\x7d\x7d\x7c\xbe\x9c\xfa\x07\x66\xfb\x6a\x28\xe1\x97\x6b\xf6\x55\xa5\xfd\x4a\x76\xff\x5b\xce\xdd\xbd\xcd\xaa\xbb\xbb\xdf\x1f\xc2\xdf\x2f\x6c\xff\xf0\x0d\x26\x6c\x98\x55\x61\xf3\x98\xfc\xaf\x02\x12\xf4\x29\x1e\xb9\x86\x23\x6f\xb8\xa8\xcf\xe4\xfc\xf3\x8b\xe3\x19\xbe\xe6\x18\xba\x41\x40\xc6\x6e\xf3\xe2\x4e\xee\xe4\xf0\x2e\xfc\xc7\xe3\xdd\x4f\x77\x9f\xd7\x76\xf1\xae\x7b\x16\xac\x7f\x7e\xcd\x6c\x18\x5f\x62\xb2\xee\xf9\x0a\xf7\x9b\xf2\x5f\xc3\xdf\xfe\xf6\xb7\x77\x4f\xfa\xef\xd5\xda\xfb\x6f\x95\xf9\x57\x80\xf3\xec\x65\x81\xe7\xb6\xe1\x45\x4b\xfc\xdc\xdc\x8c\x35\x7e\xbe\xc3\xff\x62\xb9\xde\xbd\xa8\xbc\x88\xd6\xf5\x7e\xeb\x77\xc9\xfd\xaf\x2f\x1b\xbe\x47\x7e\xfb\x7c\x89\xf6\x9f\x6f\xf1\x2b\xfa\x9c\xad\xe8\x2f\x34\x41\x7e\x9b\x3d\x86\x1f\xff\x52\x2b\xf4\x2f\xa3\x86\x3e\x8f\xf3\xec\xb2\x7c\xad\x7a\x5a\x23\xea\xc5\x36\xbd\xec\xf1\x7c\x7f\x7f\xff\x45\x9f\x7f\xd3\xd9\xac\x79\x8f\xfc\xe3\x66\xda\x2e\xd1\xdc\x2d\xf0\xd0\xb8\x95\x7b\x4d\x05\x26\x5d\xbc\xbf\x97\x5d\x3d\xc2\x0f\xb3\x9b\xe9\xfc\xc7\x8b\x82\xf6\x9a\x94\x85\x28\xbb\xae\xcc\x7f\xb9\x41\xf2\xfd\xfb\x97\x24\x3d\xc1\x3f\xa5\xbb\x79\x93\x49\x37\xb4\x7e\x48\x5a\xab\x71\xab\x2a\x0c\x1e\x7f\xfe\x9a\x3a\x0e\x7d\x7c\x7c\x6c\x3e\x27\xf6\x48\x0e\xef\xfe\xa4\x34\xbe\x44\xe9\x29\xe7\xef\x95\x05\xdf\xe7\x4d\x6c\x3e\xcd\x66\xe5\x3d\xfc\xf9\xfe\xf6\x3f\x83\xe9\xab\x03\xde\x7f\xa8\xca\xea\xdd\xfd\xaf\xe8\x6f\x37\x4b\xe0\x47\x82\x71\x99\xb5\xab\x34\xa1\x3f\xc2\xe0\xcd\x76\xbf\xfe\x55\x41\x7c\x6e\xf7\x78\x53\xde\x37\xa0\xeb\x9a\x87\xbb\x9f\xee\x1e\x90\xdf\x6e\x84\xf4\xdb\x2e\xaf\x99\xe9\xfd\x1b\x61\x1d\x1f\xe0\x87\x3f\xe8\xf5\xa5\x7e\xfa\xe1\x8a\x79\x1b\xc7\xf0\xa1\xf9\xed\x25\x82\xe3\x6c\xf6\x97\x16\xd6\xc3\x55\xae\xfe\xe2\x22\xfe\x01\xdb\xee\x1e\xe0\xd7\x70\x7a\x69\xe0\xbc\x30\xcb\x5e\x77\x40\x5f\xf2\xe6\x94\xb4\xbd\x9b\x11\x61\x96\xdd\x22\xf9\xd9\xeb\x7a\xb2\x71\x5e\xd9\x04\x61\x73\x4d\xf4\xf7\x78\x37\xc4\x49\x17\xde\xbd\x11\x77\x7c\xb1\x2e\x7f\xaa\xab\xbb\xdf\x1f\x10\xf8\x46\x12\xaa\xb2\x92\x8b\x27\xb4\x5e\xd4\x1c\x4a\xbf\x6f\xdf\xdd\xbf\xf0\x5f\x2f\x0c\x65\xc2\xf0\x36\x7c\xfe\x56\x26\x8b\x53\xd8\x74\x74\xf9\x0a\xa9\xe3\x23\x7c\xff\x17\x35\xd4\x6d\x27\x6f\xab\xa8\xfb\x1b\xfa\xc6\x57\x15\xeb\xad\x59\x7b\xff\xfe\x85\xeb\xe2\x36\x4d\xe2\x46\xa1\x7a\xe5\xf1\x0f\xa8\x1d\x1f\xe1\x17\x32\xe1\xfa\x69\x5b\xb9\x7e\xf8\xa3\x46\x97\x90\xe1\x8f\x50\xe8\x5c\xef\x87\xe3\xbe\x28\x28\xc2\xb1\xfb\x9c\x01\xfb\xdb\x6e\xda\x38\x39\x74\x72\x7f\xbb\x03\xf5\xcf\x6f\xb3\x70\x45\x62\x78\x0a\xb3\x77\x2f\xa3\xfd\x6b\x63\xee\x47\xf4\x7f\x6d\xfb\x32\xd4\x79\xd2\xd1\xd7\xcc\xe8\xb7\xc1\xcd\x43\xf3\x90\x3c\x94\xd7\x34\x19\xef\xba\xc7\xf0\x57\xf8\xb7\xfb\xbf\x23\x97\xa9\x7e\x44\xee\x3f\x27\x5b\xfc\x43\xa3\x70\x63\x3c\xc6\x87\xf2\x66\x4d\x3f\xa5\xd0\xef\xba\xe6\xdd\xfd\xb3\xe2\xfa\xd4\xbd\x7f\xff\xb7\xbf\x25\x7f\x7f\x45\x30\x3e\xbd\xb4\xa8\x5f\x15\x48\xf3\x45\x53\x26\xb3\xd9\x03\xfc\x50\xfe\x40\xab\x36\xcf\xe6\xe3\x85\x4c\x5d\x03\x30\xa3\x7a\x2d\x03\xdb\xaf\xf0\x6f\x9f\xba\xaf\x1c\xb8\x91\xf8\xcf\xbb\x9a\xdf\x94\xfd\x1d\x7e\x65\x69\x3c\xde\xec\x7a\x5d\x07\xa5\x5e\x6e\x5a\xfd\xb9\x61\x67\xaf\x0c\x7b\xb3\xa0\x2e\x61\xe1\x6b\x98\xbc\x02\xf6\xfe\x76\x8c\xff\x78\x81\x5e\xe9\x62\xca\x66\x70\x9b\xe0\xaf\x93\x36\xbe\x42\xda\x5b\xa8\xdc\x2a\xb1\xd7\xac\xf0\xcb\xa5\xf3\x84\x20\xf1\x9c\x9e\xfe\x3f\xc0\xf0\x4f\x33\xe6\xa6\xe5\x2b\xd2\x32\xbe\x26\x2d\xe3\x1b\xd2\xb2\x0d\xc7\x4e\x4c\x8a\xd7\xf6\x7a\xff\x5f\x90\x98\x97\x1a\xf7\x09\xe9\x5d\x13\xfa\xe1\x25\x36\xff\x0f\x31\xff\x2b\x4b\xec\x4f\xa2\x74\xd1\x7d\x9f\x53\xe6\xff\x07\x02\xf0\xd8\xbd\x47\x5e\xa5\xf4\xcd\x7d\xd7\x87\xe6\xd3\x53\xb7\xef\x91\x87\xe6\xf1\xf3\x56\xf8\x3f\x1e\xd1\x5f\xc2\x5f\x91\xdf\xde\x23\x1f\xe1\x87\xee\xef\xf0\x2f\xdd\x23\xfc\xb1\x7b\x73\x56\xde\x9a\x86\xe6\xef\xf0\x2f\xcd\x23\xfc\xb1\x79\x6b\x99\xdc\xa8\xed\xe7\x75\x71\x4b\x58\x73\xc3\xe9\xc7\xee\x07\xcb\x5b\xff\xd6\x12\x7e\x97\x7f\xfe\x42\xeb\xbf\xff\x8d\x5c\x34\xfa\x8d\xea\xfe\xd3\x16\xf2\x6a\x21\xb8\x82\x4a\xda\x2a\x73\xcf\xb7\x5c\xfd\xd4\x0e\x49\xe7\xc7\xef\xae\x56\xea\x5f\xbe\xdb\x86\x3f\xc1\x1f\x2f\x38\xbc\x66\x69\xd4\x24\x8a\x6f\x62\x8c\xf1\x86\xde\xfb\x87\x1b\x3e\x9f\x67\xc8\xa7\xee\xa5\x51\xba\x30\xff\x6b\x4e\xfd\x17\x63\x5d\x24\xfd\x5d\x77\xff\xe9\x29\x4d\xf6\x15\x31\xe4\x4d\xc4\xc4\xf0\xf0\x1f\xe2\xf5\x2a\x77\xdf\x42\x00\x7d\x42\xe0\x35\x21\xfa\x4b\xfd\x60\x1f\xbf\xd9\xe4\x7c\x69\x63\x9f\xe4\xfa\xfd\x6b\x63\x34\xff\x78\x65\xcd\x3e\xb5\xea\x9a\x24\xd7\x3a\xb7\xb9\xd8\xe7\x1b\xc2\x2f\x0e\xc5\xa3\xe4\x76\xf1\x87\xdc\x1d\x6f\xd6\xfc\xa5\xf6\x7d\xf3\x70\xbb\xf2\xcf\x41\xd2\x56\x6f\xb7\xbb\xd4\x5e\xdb\xbd\x8c\x1c\x9e\x65\xee\x46\x57\xbd\x26\x6a\xff\x8d\x98\x7d\x2f\x1b\xff\x85\x5c\x7c\x3f\xc7\x6f\x4f\xe2\xcb\x76\xbf\xbf\xe6\x14\x5e\x40\xdf\x70\x0a\xff\x4f\xbb\x84\x4f\xda\xeb\xa5\xa8\x7c\x1b\x60\xbc\xd5\xe6\xd5\x01\xde\x27\xb3\xd7\xb5\xcd\xb7\x82\xf9\x56\xec\x9f\xbb\xa3\x78\x05\xf8\x63\x09\x7d\xc5\x40\x5d\x87\xbf\x31\xf6\x4f\x22\xf6\xfe\xa1\x79\xff\xfe\x21\x79\xff\xfe\x0d\xa7\xf4\xd9\x73\x6d\x1e\xe0\x97\xf5\x5e\xe6\x16\xe9\x75\xea\x7e\x86\x6f\xc3\xa7\xef\x5a\x27\x0f\xc8\x4d\xcc\xff\xe3\xa8\xfc\xcf\x03\x7f\x3b\x21\x2f\xd4\xf3\x53\x22\xd0\xff\x7f\x16\x99\xff\x9b\x02\xf3\x88\xbc\x2e\x31\xaf\x38\x1c\xdf\x4f\xf6\x0c\xf9\xaf\x84\xa5\xf9\xbf\x29\x2c\x3f\x08\x3a\xff\x6b\x61\xf9\x73\xf1\xe5\x9f\x0a\x24\x6f\xb4\xee\x5b\x73\xf2\x39\xa6\xec\xdb\xf8\x5d\xf2\x32\x44\xbf\x32\xe3\x45\x54\xf9\xe7\x3c\xa4\xef\x26\xec\x35\x72\x5f\xf2\xe0\x69\x2c\xbd\xac\xde\xc4\xf4\x2f\x77\xf6\xbc\xa0\x7e\x20\x6a\xf7\x7f\x45\x8e\xbe\x60\xf8\x7f\x48\x9e\x9e\xaa\x6e\xc2\xe7\xff\x29\x7f\x9f\x59\xf2\x7f\x8c\xc5\x97\xf9\xfa\x7f\x95\xbf\xd7\xd5\xf3\xff\xa1\x3d\xa2\x5f\x93\xd9\xec\xb7\xc7\xf2\x47\x5b\x01\xff\x87\xa2\x99\xaa\x09\x4f\xaf\x45\x33\x7e\xec\x5e\x22\xc4\xff\x32\xee\xfc\xdf\xee\x8d\xb0\x9f\x43\x58\x35\xcc\xdc\x2e\x39\xfd\x27\x58\xfe\xcf\x37\x70\x9a\xb0\x0a\xdd\xee\xcb\xb6\xc2\x97\x2c\x7a\x3f\x9e\xbc\x5b\xc1\x7c\xfb\xcb\xd3\x6b\x4b\xf6\x7c\xff\x90\x3c\x36\xaf\x7d\xd8\xfc\xf7\xbf\x5f\x96\x06\xe1\xe1\x9b\xef\x31\x4f\x62\x73\xdb\xf4\x22\x90\xc9\x0b\xad\x16\x16\x01\x15\x9e\x12\x3f\xfc\x9a\x05\xff\x3b\xb2\x2e\xc4\xfc\x03\xfe\x7c\x3e\xec\x3b\xa1\x3b\x24\xe3\x2f\x77\xff\xb8\xbb\x75\x59\x9e\xea\x6e\xb9\x9d\xb4\xef\xee\xae\x07\x48\xee\xee\x5f\x7e\xcb\xbd\xe0\xf1\x2e\xf9\x40\xc2\x1f\x68\x8d\x9c\xdd\xfd\xfa\x0f\xf8\x13\xba\x5c\x7c\x82\xfd\xbb\x9b\x2f\x8d\x97\x5e\x9a\xf1\xd4\xbd\xef\x8b\xc4\x2f\x83\xf0\x4f\x74\xb6\x9a\x7f\x5a\xcf\xdf\xec\x2c\x4b\x8a\x7e\x7c\xa3\x97\x0b\xf9\xb3\xbb\x37\x1a\xb6\x7e\x13\x86\xc5\xdd\xfd\xcd\x56\xdc\x2d\x02\xd8\x27\x1c\x86\x61\xec\x8a\xc3\xab\x7d\x3d\xf3\xe5\xf9\xbc\xe0\x8f\xa8\x7d\x15\xe4\x33\x2a\x7f\xc4\x8a\x5f\x90\x4f\xe8\x8f\xd9\xf0\x87\xc4\xfc\xb2\xb8\xd0\x70\xfb\x31\xe8\xbf\x52\x35\xe7\xd7\x54\xcd\x7f\xbb\x5f\xf8\x3d\x8e\xe6\x7f\xaf\x6a\xfe\x5f\xde\x06\x67\xcd\x57\x77\x03\x2f\x14\x5d\xe9\xb9\x3c\x5c\x48\x0a\x7f\x45\x3e\x17\x20\xbf\xbd\x3a\x13\xcf\xdb\x86\xff\x6b\x3a\x1f\x9f\x76\x22\xff\xb7\xaa\xbb\x73\x3d\x32\x0b\xdd\xe6\xed\xb9\x7e\x84\x7f\x79\x0a\x15\x7e\x7a\xd1\x5f\xe7\x7a\xed\xed\x97\xe2\x8f\xd8\x45\xdf\xdd\xa2\x73\x81\x7e\xfc\xd7\xef\x2f\x9d\xc6\xf0\x7a\x34\xe1\xe5\x29\xe1\x2f\xfb\xb1\xc8\xfd\x57\xb3\x01\x7f\xea\xfe\xfe\xb9\xe2\xeb\x46\xdf\x73\x0f\xef\x7e\x0d\x7f\xed\x7e\xfb\xed\xfe\xcb\xf1\x89\x57\x55\xee\xb5\xf3\xbb\x5f\xde\x54\xc9\xf7\xb7\x9b\x4a\x37\x5b\x41\x6e\x75\xf1\x2a\xaf\x3f\x39\x20\xaf\xde\xca\xe3\xcf\xf0\x0f\xb7\x7c\xda\xb0\xbb\x9a\xc4\x36\xec\xde\xc1\x0f\xe5\x07\x8a\x66\x80\x21\xea\xff\x24\x59\xa0\x6a\xb4\x7e\x33\xf1\xdf\xc2\x23\x7f\x11\x1e\xfd\x8b\xf0\xd8\x2b\xf0\xdf\xef\x2d\xbe\x6c\xec\x9e\xc2\x80\x2c\xb3\xf6\x35\xe9\x7a\x39\x52\x13\xb6\xc9\x14\xbe\x43\x30\xf4\xa6\xa6\x1c\xda\xef\x06\x5a\xbc\x1c\xa8\x6c\x92\x28\x29\xae\xc2\xf1\x3d\x7f\x97\x2f\x21\xbf\x3f\xe8\xf3\x02\x1a\x41\x3f\x7e\x3b\xca\xcd\x30\x59\x19\xbd\xbb\xd3\xc2\x26\x71\xb3\x9f\xaa\xb2\xe9\x7e\x6a\xc2\xba\x0f\xdb\x2e\x0c\x7e\xfa\x66\xa2\x7f\x4a\xc3\x73\xe5\x06\x1f\xee\x6e\x98\xf9\x0d\x90\x70\x85\xf9\xf2\x13\x85\xaf\x30\xa7\x24\x1c\x2e\x7d\x7f\x68\xcf\x85\xaf\x5d\x3d\x7c\xd0\x84\xee\xbb\xef\x18\xb0\xfe\xf8\x84\x6f\x88\x3d\x3f\xc0\x30\xfa\xe5\xe9\x66\x1a\x46\x04\x96\xca\xbe\x0d\x1f\xaf\xa7\xe3\x7f\xbd\x3d\x82\x71\xea\x50\xf8\x19\x04\x09\xb1\x37\x80\x8a\xb2\xc9\xdd\xec\x09\xea\xea\xc7\x20\x21\xf6\x12\x26\xbf\xd4\x5e\x7f\xf2\xd2\xbe\x42\xda\xe7\x53\x14\x2f\x7e\x21\x11\x16\xae\x97\x85\xef\xaf\x6d\xdf\x87\xd7\xc6\xb7\xac\x6b\xaf\xa7\x66\x93\xb2\x90\xdc\xc2\x8d\xc2\xe6\x43\x90\xb4\x97\x66\xef\x6e\xa3\xb9\xcb\x24\x11\xc9\xf5\x3c\xe9\x4f\x5d\xf9\xd3\xb5\xdf\x9f\x9e\xfa\xfd\x70\xf7\xfd\xce\x2d\x0c\xe3\xb7\x0b\xb0\x08\x98\xd2\xef\xdb\x97\xb2\x01\xc3\xf3\x97\xb0\x7d\x77\x78\xe2\xc7\x0d\xe8\x8d\xe8\xb4\x51\xf3\x3a\x28\x72\xdb\xeb\xc5\x43\x79\x0d\x18\xbd\x01\x7d\x8a\x80\xd8\x24\x08\xc2\xeb\xa9\xf2\xef\x7a\xc6\x9f\xa5\x04\x5f\x7e\x16\x0d\x7c\xf9\x31\x39\xbc\xfb\xf9\xd5\x89\xfd\x72\xe0\xff\xea\x57\xbf\x7a\x20\xed\xe1\xea\x59\xbf\xac\x7a\x8a\x07\xaf\xbb\x5f\x37\x55\x97\xc2\x87\xf1\x46\x1e\x1f\xce\x37\x90\x0f\x5f\x22\xe0\x1b\xce\x7d\x09\xb6\xbf\x8d\x77\x5f\x87\x7a\x0e\xf1\x2f\xe6\xe3\x25\xc0\xa5\xec\xf7\x97\x11\x79\x13\x5e\xf4\xda\x8d\x08\xbd\xb9\x06\x5f\x5f\x13\xb7\xdf\xdd\xda\xb8\x1c\x9e\xf4\xfd\xbb\xfb\xdf\x7f\xbf\xfe\x1c\xe0\xa7\x5b\x6b\x71\x23\x7b\x5f\x8f\xdf\x3d\xfe\x0c\xff\xfe\x32\x6c\xfa\xef\xcd\xdf\x97\x3e\xfe\xaf\x1a\x40\xe4\x7b\x9b\x81\x60\xaf\x1c\xea\x7b\xd5\x4b\xfb\x62\x4e\x6e\x6a\x9e\x6d\xc7\x5b\xf0\xaf\x1a\x94\x87\xd7\x1d\x95\x2f\x8d\xfe\xb4\xc1\x41\xfe\x92\xc1\x41\xfe\xba\xc1\xb9\x72\xf9\xa2\xcd\x3c\xd7\x4f\x2f\x2a\xed\x49\xec\xfe\x92\x9d\xb9\xf1\x0c\xff\x97\x76\xe6\x95\xd1\xbe\x5a\x98\xdb\xca\x6f\x2d\xcb\x6d\xed\x77\x36\xe5\xa6\xf6\xd6\xa6\x7c\xfe\xf1\xd3\x7f\x66\x56\x9e\x5a\xbd\xfb\x2b\x66\x02\xf9\xf3\x66\xe2\x25\xe8\x0f\xcc\x04\xf2\x57\xcc\x04\xf2\x57\xcc\x04\xfc\x27\xcc\xc4\xab\x33\xf4\xc6\xd7\x92\x9b\xf3\x00\x57\xe0\x67\x93\xf1\x9a\xb1\x78\xa3\xc1\xab\x27\x92\x9f\x3e\x04\xbf\xd1\xe0\x6a\x5e\xfe\x28\x92\x79\x06\xbe\xfd\xf6\xfa\x56\xaf\xaf\x1f\x82\xd4\xcb\xb7\xd0\xf8\x6a\xa0\x7e\x60\x93\x7e\xd8\xf6\xb3\xd9\x7a\x25\x08\x7a\xbd\xd9\xa5\xea\x0d\x5b\x74\xfd\x0d\xed\x1f\x49\x79\x1b\x76\x44\x7f\x38\x84\x37\x47\x1a\xae\x93\x76\xb3\x4a\x9a\xf0\xd0\x84\x6d\xfc\xee\xc6\xa3\x7b\x23\x1a\xfd\xd3\xf6\xf3\x5b\x3b\x79\xff\x9f\xd9\x49\xe4\xe5\x8f\x63\x62\xb7\x79\x63\xf7\x2d\x39\xbc\x43\xae\xbf\xd3\x7c\xb2\x8b\xff\xfe\x37\xfc\xf3\x93\xab\xfb\xcd\x7e\xe3\x37\xe7\x7b\x1e\x92\x47\xf8\xa1\xbc\xb1\x4c\x4f\x67\x99\xff\xf1\x0f\x64\xf5\x70\x1b\xd7\x7c\xae\x5c\xff\x6d\x8e\x20\x0f\xc5\xe3\x1c\x41\x6e\x7e\x56\xf2\x04\xf3\x29\xf9\x7b\xf3\x29\x99\xcd\xee\xaf\x7b\xf0\xc9\x6f\xf7\xff\x78\xc4\xe0\xbf\xfd\xad\xfb\xfb\x23\xb6\xfc\xa5\x7d\xec\xde\x63\xd7\xc3\x44\xf8\x53\x19\xbe\xfc\xa5\x78\xec\xde\xe3\xd7\xb2\xf5\x53\xd9\xfa\x02\xf7\xae\x9b\x3d\xae\xee\xdf\xaf\xaf\x15\x08\xfc\x54\x83\xc0\x17\xf0\xe7\x2a\x04\x86\x3f\x5e\x0f\xee\xff\xf2\xee\x86\x98\xe7\x9d\xce\xd7\x89\xf9\x52\xf9\x03\x62\x9e\x61\xee\x3f\x22\xd7\x11\xca\x7f\x3f\x22\x1f\xf1\xcf\x8f\xe8\xc7\xf9\xe7\x47\xfc\xe3\xf2\xf3\xe3\xea\xe3\xea\x0b\xec\xe2\x23\x8a\x3e\xbd\xfc\xed\xf1\x3d\xfa\x11\xc5\xbf\xbc\x60\x1f\xd1\xf9\x97\x97\xf9\x47\x74\xf9\xe5\x65\xfd\x11\x5d\x7d\x79\x41\x96\x1f\xb1\xf5\xf5\xed\x0f\xd0\xff\x88\x3f\x81\xfd\x88\x8a\x8f\xd8\x53\xc7\xe8\x35\x02\xfa\xff\xb1\xf7\x35\xdc\x6d\xdb\xc8\xa2\x7f\x45\xe6\x6d\x15\x32\x84\x64\x7e\x88\xd4\x97\x61\xdf\xc4\x71\xb7\xbe\xeb\x7c\x3c\xdb\x6d\xb7\x4f\xd6\xf5\xd2\x12\x2c\x71\x23\x91\x2a\x09\xc5\xf1\x5a\xda\xdf\xfe\x0e\x06\x00\xc5\x6f\xd9\x69\xbb\xef\xbd\x73\x6e\xce\x89\x0c\x82\x33\xc3\xc1\x60\x00\x0c\x06\xc0\xc0\xd7\xcd\xf1\x89\xea\xeb\xd8\x42\x2d\x56\x3a\xb5\xf0\x85\xa5\x47\x27\x73\xd8\x06\xae\x5a\x8e\xd3\x64\xb5\x88\x44\x42\x37\x77\x49\x6b\xac\x69\xcd\xa6\x1a\xb3\x2f\x6b\x88\x11\xd4\x40\x30\x1c\x0c\xde\x50\x2c\x81\xb1\x35\xd6\x06\x9d\x5a\x3e\x82\xdf\xc7\x47\x50\xc9\x47\x90\xe7\xc3\x34\x84\xe2\xfc\x3e\xdd\xc8\x0f\xd9\x51\x14\x46\xaa\xf2\x53\xf0\x39\x08\x1f\x82\xc6\xd5\x5f\x2e\x1b\x9e\x6c\xb0\x83\xc6\xf7\xd3\xb6\x82\x4a\x0e\x69\xf1\x56\x83\xc3\xa3\x23\xb3\xb7\x89\x8f\x8e\xfa\x9b\x80\xf7\x17\x15\x80\xe5\xcc\xe4\x57\xb5\xbf\xf8\x13\x72\x45\x3d\xba\x2e\xf4\x14\x7f\x94\x45\x5c\x1c\xe2\xf3\x1e\x60\x45\x2f\x9e\x9d\x31\x35\x5d\x19\x16\x5f\x7c\x85\x17\x97\x4a\x75\x5f\x59\x18\xfb\xf3\x9f\x33\x02\xa5\xde\x97\x92\x47\xf8\x36\xf6\xb2\x8e\xbb\xf0\x9e\x5e\xb2\xb9\x47\x46\xc8\xf5\x73\xd9\xea\xa3\x49\x25\x2f\x33\xe6\x78\xfe\x65\xc1\xe5\xf3\x87\x9a\xcb\x35\xc4\x92\x09\x4f\xb5\x45\x51\xe0\xa5\xce\x66\xe0\xa3\x6d\x1e\xa3\x5e\xe1\xf7\x9a\x47\x8f\x45\x1e\xc4\xd1\xc6\x52\x53\x62\xb6\x20\x5f\xc8\xa2\x12\x27\xc6\x23\x86\x35\x2e\x38\x6e\xb9\x2c\xae\xe8\xe3\xa2\x6a\xa5\xe0\xc8\x3c\x31\x07\xe0\x46\x16\x5a\x4d\x93\x39\x65\xa5\xab\xf4\xe3\x0a\xe8\x28\x93\x1d\x75\x05\x29\x77\x8b\x70\xf2\x59\xc9\xb9\x26\xcb\x2d\x89\x4a\x1a\xeb\x60\x4a\x22\x66\x0d\x65\xe9\x38\x83\xaa\x46\x53\xc5\x8b\x17\x29\xda\x56\xec\xb9\xfc\xde\xc2\xd8\xcc\xf7\x6c\x05\xd4\xb7\x0b\x3f\xf8\xac\xa0\xa8\xe8\xfd\xe6\x7a\x77\x49\x66\xf9\x75\x89\xd2\xce\xa8\xb8\xcc\xb8\xd3\x3b\x55\x2c\xab\x6a\x45\x7d\xca\x68\x20\xac\x6b\x34\x9b\xb0\xcc\x51\xa6\x8e\xb0\x01\x3a\x2f\x0c\x98\x5e\x97\xac\x45\x14\xb5\xa6\x78\xae\x82\x4d\xbf\x45\xbb\xa9\x29\x20\x4c\xd2\xff\x56\xdc\x82\x50\x06\xf6\x6b\x41\xe3\x0b\x8e\x15\x1a\x46\xcf\xf8\x68\xa1\xe9\x70\x2e\x36\x9b\x92\x62\x95\x32\xb2\xd9\x18\xc9\x19\xeb\xf3\x60\xb5\xa6\x3f\xf2\x90\x06\x38\x86\x13\xc4\xb9\xad\x30\xf2\x08\x34\x4d\x6d\xdc\x00\x83\xd4\x97\xfb\x74\x21\xae\x09\x39\xf2\x47\xc6\x18\x6a\x93\x1c\xfb\xa3\x70\x3c\x32\xc7\xbb\xe8\x25\xcc\xae\x1d\x86\xc7\x38\x1a\xc2\xa1\x57\xbe\xa3\xf6\x7e\x11\x86\x91\xaa\x46\x7a\xa8\x1d\x5a\x1a\x62\x68\x94\xa3\x61\xaa\x9b\xe0\x13\x82\xe0\x0d\x40\x9b\x32\xda\x9a\xa4\x68\x0c\x43\xd8\x3e\x2f\x3f\xb0\x4d\xd8\x8c\x18\x9b\xf2\xe8\xdc\x31\xee\xd8\x8e\xd5\x6c\xaa\xe4\x08\x77\x3a\x9d\xee\x66\xd3\x37\x0c\x66\xbc\x10\x48\x59\x3c\x45\x8e\xb1\x69\xf6\x8d\x4e\xb3\xc9\xc0\x2c\xb3\x6f\x36\x9b\xa6\x65\x3b\x60\xa4\xc3\xeb\x4e\xc7\xb0\x2d\x78\xed\x38\x96\x61\x43\x9e\x6b\x77\x3b\x1c\xc5\xed\x58\x8e\xc3\xf3\x1c\x83\x19\xca\x2c\xcf\x31\x3a\x7d\x99\xd7\xb5\x44\x9e\x69\x4b\x38\xab\x27\xe1\xec\xae\x2b\xf2\x1c\xc1\x82\xeb\x38\xa6\xc1\xd9\xb2\x4d\x89\x6c\xf6\x5d\xd7\xe0\xd8\x90\xec\x41\xae\xe5\x5a\x66\xc7\xe4\x0d\xdb\xc7\xa3\x51\xd7\xed\xa1\x5e\xb7\x3f\x46\x23\xd3\x74\x1c\x64\x9a\x4e\x0f\xd2\xae\x81\x4c\xd3\x35\x59\xba\x63\x39\xc8\xec\xb8\x00\xd3\xe9\x9a\x88\xfd\xf0\xb4\xcd\xd2\x1d\x9e\x76\x59\xba\xcb\xd3\x7d\x96\x06\x78\xc7\x76\x91\xe9\xd8\x3c\xed\x58\xc8\x74\x1c\x80\x71\x4d\x13\x99\xae\x6d\x40\xba\xd3\x43\xec\x87\xa5\xbb\x8e\x81\xcc\xae\x0b\x34\xbb\x6e\x97\xa5\x79\x7e\x97\xe5\x77\x6d\x96\xee\x19\x5d\xc4\x7e\x78\xba\xcf\xd2\x40\xbf\xd7\x31\x90\xd9\x73\x5d\x96\xee\x3b\x3d\x64\xf6\x01\xd7\x32\xac\x2e\xb2\x0c\xdb\x61\x69\xdb\x70\x90\x65\x1b\x2e\xa4\xdd\x0e\x62\x3f\x3c\xdd\x47\x96\xdd\xe5\xf9\x3d\x13\xb1\x1f\x9e\x66\xf0\x3d\xa0\xd3\x31\x2c\x64\x75\x0c\x1b\xd2\xb6\x8d\xd8\x0f\xa4\xfb\x2c\xbf\x6f\xf1\x74\x17\x59\x8e\xc1\xca\x65\x39\x46\x9f\xa5\xfb\x90\xb6\x0d\x64\x39\x36\xd0\x74\x5c\x13\x59\x8e\x0b\xf0\xae\x65\x20\xf6\xc3\xd3\x0e\x4b\x03\x0f\xae\x6d\x22\xcb\xb5\x39\x8c\xcd\xf2\xed\x2e\xa4\xbb\x16\xb2\x5c\x90\x83\xe5\xf6\xfa\xc8\x72\xfb\x80\xdb\xed\xf4\x10\xfb\x81\xb4\x63\x23\xab\x0b\x72\xb6\xba\x4e\x1f\x59\x5d\x97\xc3\xb8\x0e\x4b\x83\x1c\xba\x3d\x17\x59\xdd\x1e\xc0\xf4\xcc\x2e\x62\x3f\x90\xee\xba\x88\xfd\xf0\x74\x9f\xa5\x81\xff\x1e\x93\x49\xaf\x07\xdf\xed\xf5\x6d\xc4\x7e\x58\xba\xcf\x64\xd2\x37\x80\xcf\x7e\xc7\x45\xec\x67\x8c\x46\xb6\x61\xf4\x10\xfb\x81\xb4\x65\x22\xf6\xc3\xd2\xa6\xdd\x41\xb6\x69\x03\x8c\xd9\xb1\x90\x6d\x76\x3a\x3c\xed\xb2\x74\x1f\xd2\x4e\x17\xd9\x5c\x0f\x6d\xcb\x35\x10\xfb\xe1\x69\x9b\xa5\x6d\x48\x77\x59\x7e\x97\xe7\x77\x5d\x96\xee\x42\xba\xdf\x43\xb6\xd5\x07\x3a\x76\xdf\x46\xb6\xdd\x67\xe5\xb5\x3b\x86\x83\xd8\x0f\x4b\xb3\xba\x60\x3f\x3c\xdd\x43\xb6\xd3\xe1\x69\xc6\x8f\xd3\x61\x65\xb1\x5d\xdb\x46\xec\x87\xa7\x5d\x64\xbb\x22\xdf\x71\x90\xed\x42\xdd\xd9\x5d\xd7\x44\xec\x87\xa7\x3b\x2c\x0d\xdf\xed\x76\x59\x7e\x97\xc3\xf4\x58\x7e\x0f\xf2\x7b\x0c\xa6\x07\xf2\xb7\x99\x0c\x6d\x2e\x43\xbb\xd7\x77\x58\x5a\xe4\x77\x59\x1a\xca\xd2\x77\x6c\x64\xf7\x41\x9f\xed\xbe\xdb\x43\x76\x9f\xd3\xec\x77\x3b\x2c\x0d\xf0\x7d\x46\xbf\xdf\x07\x1e\xfa\x7d\x1b\x75\x0c\x8b\xc9\xad\x63\xd8\x3d\xc4\x7e\x58\xda\xec\x98\xa8\xc3\xe5\xdc\x61\x72\x66\x3f\x90\x76\x0c\xd4\x31\x1d\x93\xa7\x6d\x96\xb6\x21\xdd\xeb\xa0\x8e\xd9\x63\xf4\x3b\x9d\x4e\x0f\x75\x5c\x68\x6b\x9d\xbe\xd3\x47\xec\x67\x8c\x46\x4e\xdf\x70\x91\xd3\x87\xfa\x75\xfa\x76\x0f\x39\x7d\x90\xa1\xd3\xef\x1a\xc8\xe9\x43\xff\xe0\x1a\x86\x85\x5c\x03\xda\x8b\x6b\xb8\x3d\xe4\x1a\x20\x1f\xd7\xe8\x9a\xc8\x35\xa0\xbe\x5c\xa3\xe7\x22\xf6\xc3\xd3\x7d\xe4\x1a\x50\x77\xae\x69\xf4\x11\xfb\x81\xb4\xe3\x20\xd7\x04\x7d\x76\x6d\xd3\x46\xec\x87\xa5\x3b\xb6\x85\xdc\x8e\xdd\xe1\xe9\x3e\x72\x3b\xc0\x83\xdb\x71\x0c\xc4\x7e\x78\xba\xcb\xd2\x40\xc7\xed\xf6\x91\xeb\xf6\x20\xbf\x6f\x5a\xc8\xed\x9b\x0e\xa4\xdd\x0e\x62\x3f\x3c\xed\x22\xb7\xdf\xe5\x30\x5d\x06\x03\x32\x77\xfb\xdd\x1e\x4b\xb3\xf2\x76\x0d\xb3\x8f\xba\x86\xc5\xf8\xe9\xba\xa6\x8b\xba\xbc\xcd\x76\xdd\x6e\x0f\x75\x5d\x68\x2f\x3d\xcb\xb0\x51\xcf\x02\xb9\xf5\x2c\xbb\x83\x7a\x16\xd4\x45\xcf\xea\xf5\x50\xcf\x82\xfa\xea\x31\x5d\xed\xd9\x20\x9f\x5e\xc7\x30\x50\xaf\x03\xfd\x83\x69\xd9\xb6\x81\xd8\xaf\x03\x4f\x9d\x8e\x89\xd8\x2f\xe3\xa3\x63\x1b\x66\x07\xc1\xaf\x78\xea\xc3\x53\x9f\x3f\x75\x1c\xf6\x04\xb5\xeb\x76\x2c\x26\x5a\xf6\xcb\x9e\x1c\xc3\xea\x20\xd7\x31\xa0\x27\x76\x1d\xc3\x71\xd9\x13\x97\x8b\x63\x31\xc1\xb0\x5f\x78\x72\x2c\xf6\xc4\xfb\x2a\xb7\x67\xf4\xbb\x88\xfd\xc2\xbb\x9e\x69\x98\x88\xfd\x5a\xe2\xa9\xc7\x9e\x4c\x0e\x69\x3a\x16\x7b\x72\x3a\xe2\xa9\x0f\x4f\x7c\x64\xe9\x9b\x1d\x1b\xc1\x1f\x47\x3c\xc3\x58\xd3\x37\x41\xd2\x90\xe0\xef\xc5\x48\xd4\xb7\x4c\x36\xfe\xf4\x2d\xa8\x69\xd3\xec\xdb\xae\x85\xe0\x0f\xa3\xde\x67\xc3\x84\x83\xf8\x1f\xf1\x6c\xbb\xec\xd9\x05\xae\xfb\x66\xb7\xeb\x1a\xec\xb9\xdf\xef\x8f\xc7\x43\x31\xb8\x27\x46\x8a\x9f\x8c\xf7\x06\xc6\xd8\x3f\x21\xed\x60\xbd\x18\xf8\x47\xb6\xb5\xd9\xf8\xc7\xd8\xb4\xba\xcd\xa6\x7f\x64\xba\xc6\x09\x69\x4f\xc2\x80\x46\xe1\x62\x40\x55\x5f\x3b\x31\x06\x11\xfb\x63\x0d\xcc\xed\x56\x7d\x62\x48\x06\x92\x00\xc6\x56\xfb\x73\x62\xcd\x04\xe4\xa1\x71\x49\x66\x67\x5f\x57\xaa\xa2\x9e\x0c\xfe\x7b\x33\xfa\xef\x9b\x9b\xa9\xd7\xfa\xe7\xcd\x4d\xbb\x35\xd6\x35\x55\x85\x58\x94\x27\x83\x9b\x9b\xc3\x9b\x9b\x43\x4d\x55\xd5\x51\x06\xe0\xe6\xa6\xad\x8e\xf8\xe3\xf8\xc9\x42\xee\x56\xd3\x36\xaa\x7a\x73\x33\x7d\x32\x91\xbd\xbd\xb9\x69\x6b\x4f\xec\x0f\x7f\xd4\x36\xea\x22\x9c\x78\x8b\x79\x18\x53\x4d\x53\x07\x3c\xdf\xd9\x6a\x27\xea\xcd\xcd\xe1\x08\xbe\xf1\x70\x73\xd3\xbe\xb9\x69\x7d\xff\xaf\xf1\x6b\xed\xb5\x7a\x73\x73\x32\x32\x5a\x7d\xc8\x1e\xdd\xdc\x8c\x6f\x6e\xd4\x9b\x1b\x0d\x00\x4f\x6e\x6e\x0e\xfe\xe3\x3f\xbf\xfb\xbe\xf9\xea\xb5\x8e\x06\xc3\x7f\xdd\xdc\x60\x8e\x3a\x7e\xad\x9d\xa8\xff\xf1\x4d\x68\x9a\xfa\x1d\x48\x20\xc5\xc7\x58\xd7\x14\x0d\x85\xd8\xa8\x8c\xc5\x23\x4d\xe2\x80\x1f\x64\xfd\xfc\xde\xa3\x93\x39\x89\xce\xa7\x38\x14\x26\x70\x14\x3e\x88\x88\x0a\xe7\xd3\x18\x8f\xe4\x26\x82\xc5\x0e\x78\x97\x1b\x91\x99\x1f\x53\x12\xa5\x28\xa9\x3e\x82\x49\xe7\x13\xb8\xb4\xce\x83\x29\xf9\x3a\x30\xb7\x5a\x69\xc0\x1f\x4a\xbd\xc9\xfc\x3a\x7c\x17\x2e\x73\x41\x7f\xf8\x27\x65\x30\x53\x19\xce\x92\xb1\x16\xe7\x8f\x43\x32\xbe\xfc\xfb\xc7\xcb\xf0\x61\x47\x83\xa6\xdc\x3f\x92\x48\x26\x34\x58\xb6\x90\x23\x3a\x1e\x46\xcd\x26\x8f\xc9\x24\x82\x49\x24\xe7\xe0\xf2\x90\x38\x15\x71\x62\x27\x19\xce\x41\xfb\xce\x0f\x78\xe8\x1f\x44\x35\x44\xda\xd7\xe7\xef\xcf\x6e\xdf\x9e\xfd\xf0\xf1\xf2\xec\xf6\xe2\xfc\xc3\x5f\xcf\x7f\xf8\xb5\xe0\x57\x21\xf4\xc7\x47\xa6\xff\xa2\x3e\xe4\x7c\xa2\x38\x89\x49\x57\xc0\x28\x1c\xcb\x60\x6a\x98\x54\x13\xfc\xd9\x5b\xf8\x53\xee\xc7\xf0\x16\x8b\x3b\x6f\xf2\xf9\x19\x74\xbf\x14\x91\x48\x7e\xba\x55\xa8\x75\x9c\x6f\xef\xfe\xbd\xca\x23\xf8\x89\xe8\x23\x11\x7e\xda\x4a\x91\x16\x74\xef\x00\xe3\xb0\xd9\x3c\xa0\x1a\x9d\x47\xe1\x43\x83\xb5\xf3\x33\xee\x61\x14\x85\x6c\x2c\xd7\x31\x6d\xdc\x91\x06\xef\x32\xa6\x8a\xec\x12\x9e\x7c\x11\xb5\xb0\x48\x54\xd7\x51\x44\x66\xe4\xeb\x80\x20\x41\x65\x40\x51\x4a\x29\xa3\xf6\xee\x01\x15\x0b\x3d\x88\x4a\x24\x81\x56\x91\x1f\x46\x3e\x7d\x1c\x44\x6d\x99\x64\x53\x42\xd9\xb1\x72\x56\xbc\xe9\x34\xc5\xc9\x75\x78\xe1\xc7\xac\xd3\x44\x7e\xdb\x9f\x66\x25\x59\x0a\x9a\x77\x63\x1a\x07\xd2\x55\x99\xae\x2a\x31\x83\x4c\xef\xb3\xae\x04\x6a\x99\x43\x7a\x8c\x8d\x21\x6d\xb5\x34\xd8\x6e\x20\x79\x3f\x2a\xc1\x19\xd1\x71\xf2\x3e\x1d\xd2\xaa\x51\x42\x5e\x1e\xb8\x80\x13\x51\x44\x7a\x7c\xcb\x40\x0c\x00\x48\xbb\x7b\x33\x50\x70\x7e\x87\x14\x4e\x2c\xd5\x6b\x5a\xba\xec\xbb\x03\xc2\x25\xe5\x87\xed\x13\x49\x8f\x90\x2f\xac\x3f\x65\x73\x59\x2d\x53\x85\xa5\xa5\x44\xa6\x86\x0e\x8c\x61\x32\x71\xce\x56\x65\x59\x47\x94\x09\x58\xc8\xfb\xaf\x11\x19\x43\xa4\x2b\xed\x89\xa6\x83\xc0\x0e\x65\x51\x22\x6c\x0c\xa3\x9a\xa2\x44\xba\x9e\x89\x50\x98\x2d\x4e\x34\x4e\x96\xbb\xa6\xe1\x45\xc2\x91\x4a\x91\x0f\x01\xb6\xc2\x24\x30\x23\xa8\x96\x5f\xa2\xe3\xc9\x16\x94\xb2\xc0\x8b\x21\xb0\x5f\x82\xa5\x66\x4a\x83\x28\xca\xec\xb9\xdd\x6c\x0a\x5b\xc6\x78\xe0\x44\x3f\x00\x52\x2d\xf0\x97\x69\xcc\x70\x08\xb0\x31\x0c\x8e\x24\x9f\xc3\x40\xd7\xb5\x58\x0d\x34\x21\xf5\xed\x36\xd7\x7f\x66\x8a\x99\x1b\x45\xb8\x38\x47\x63\xe4\x63\xca\x6b\x39\x44\x31\x26\xed\xc9\xdc\x5f\x4c\x3f\x84\x53\x12\xa3\x40\x44\xb2\x14\x7c\xf3\x2e\x41\xa5\x6d\xe8\x39\x40\x62\x07\xc1\x66\xc3\x3a\xb1\x40\x36\x38\xa1\x27\x51\x52\x63\x1e\x0e\x46\x4a\xb0\x5e\xde\x91\x48\x39\xc0\x8c\xab\xf0\xbe\x41\x53\xbd\xcb\x89\x31\x48\x3f\x8e\xd1\x02\x07\x6d\x9f\x25\x75\x4f\x2e\x54\xce\xb1\x31\x9c\x1f\x25\xb5\x3c\x97\xb5\x3c\xc1\xf1\x68\x3e\x46\x6b\x3c\xc9\xf0\x09\xd8\x1f\xef\x55\x0f\x78\x5c\x1f\x63\x83\x83\xcb\x05\xee\x49\x44\x3c\x4a\xde\x04\x93\x79\x18\x89\x50\x84\xaa\x87\xa8\x1c\x34\x84\x36\x64\x69\x26\x07\x2e\x25\x53\xac\xc9\xd8\x18\xe3\x49\x3b\x08\xa7\xe4\xfa\x71\x25\xa3\xaa\x89\x60\x9f\x4c\x84\xea\x04\xad\xf8\x1e\x24\xf8\xfe\x14\x4f\x18\x61\xe5\x8d\x82\x31\x9e\x02\xde\x07\x6f\x49\x76\x42\x9b\xb6\xfd\x20\x20\xd1\x8f\xd7\xef\x2f\xb0\xa2\xa0\x69\xdb\x5b\xad\x48\x30\x3d\x65\x55\xa2\xae\x44\x07\x01\xac\xed\x6a\xa9\xb8\x3b\xea\x1e\x1b\xc3\xfb\xa3\x12\x98\xe1\xbd\x14\xdc\x0c\xa7\x5f\x8f\xee\xc7\x68\x89\x67\x35\x32\x6c\x99\x07\x18\x2f\xe5\xa0\x98\x2a\xe1\x95\x0c\xe6\xfa\x8b\x4f\xe7\x50\xe4\x19\x5a\x21\x0f\x2d\x85\x57\x59\xac\xe3\xcc\x75\xfc\x0c\xd4\x09\xa0\xae\x79\xa4\x51\xde\xeb\xad\x34\x74\xa0\xe6\xf5\x70\x17\x41\x76\xa1\xe5\x94\x52\xab\xd2\xc7\x6f\xd0\x43\xbd\xa0\x88\x49\xc8\xee\xdc\x3a\x5b\x99\x46\x15\x06\xfd\x74\xb7\x94\x44\xa2\xe7\x88\x52\x09\x15\x4f\x91\x6d\xb9\xe1\x67\xa3\x60\x23\xbf\x3d\x8d\xbc\xd9\xcc\xbb\x5b\xc0\x1a\x50\x74\xa2\xfa\xed\x79\x44\xee\xe1\x15\xf5\xa2\x19\xa1\x58\xb9\x85\xe3\x79\x0a\xf2\x4b\x42\xb3\x4f\x16\xfe\xe4\x73\x2a\x32\x3b\xb7\x43\x68\xd2\xb5\xab\x11\x1b\x83\x34\x6d\xf0\x7c\xe4\x03\x3f\xd5\x71\xb1\x19\x8e\xe7\x07\x71\x79\xef\x95\xff\x0c\xca\x1d\x2d\x4a\x6b\x46\xc5\x28\x36\x1a\xa3\x08\x9b\xc3\xe8\xc8\x8b\x66\x20\xbd\x4c\xb7\x4f\x47\x51\xcb\x1c\xe3\xe4\xdd\x28\x1a\x27\x9d\x90\x8f\x49\x7b\xe5\x45\x24\xa0\x8c\x3c\xe2\x21\xff\x64\x9b\x1e\x86\x6c\xfc\x13\xeb\x6f\x6f\xc9\x7d\x18\x11\x95\x8e\xc2\x31\x1b\xb2\x7d\xb1\xdb\x8a\xb7\xc0\xfc\x10\x5c\xab\xcd\xb9\xfa\x47\x3e\xdf\x9f\x01\x41\xb8\x0b\x2d\x13\x02\x70\xa6\xf3\x47\xc6\x58\x43\x36\x6c\xe6\x48\x75\x2f\x39\xfb\x8f\xd7\x3a\x83\x4f\x4c\x40\xaf\xc1\xb4\xa6\xc1\x70\x1a\x61\xd4\x08\x83\xc5\x63\x43\x54\x4c\xc3\x6b\xc4\x7e\x30\x5b\x90\x1d\x88\xb0\x14\xc3\x6c\xfb\x62\xcd\x0f\x66\xbc\x5c\x67\x63\x1c\x66\xa2\x43\x8b\x96\x85\x82\x72\x5d\xbe\x26\x5f\x81\x25\x35\xd6\xb2\x86\x5f\xba\x5f\x64\x22\x09\x34\x64\x6c\x21\x94\x23\xce\xb5\x6f\x61\x97\x25\x9f\x7a\xe2\x03\x49\x9a\x0d\x03\xf9\x1a\x5a\xec\xe1\xc0\xab\xe5\x60\xc1\xa6\x21\xc6\x96\xdf\xd4\x50\xa0\x3d\xd9\x43\x7b\xae\xa1\x75\x06\xcb\xd7\x77\xa2\x59\xed\x41\x5e\xd7\x32\x36\x41\x14\xad\x34\x64\x8a\xb5\x94\xb8\x6c\xa6\x84\x2d\xc3\x40\xb4\xcd\x47\x77\x9f\x44\x38\xfe\x77\x44\xb0\x7d\xda\x0e\xe3\x11\x2c\x9d\xbf\x3d\xbb\x18\xe7\x0c\x8a\x24\xdc\xef\x1d\x59\x2c\x54\x6d\x8b\x04\xe8\xc5\x0f\x95\x90\x32\x2a\x60\x0a\xfa\xe7\xeb\x31\xde\x21\xca\xdc\x1f\x7e\x28\xcb\x3d\xbd\xac\xa4\x9c\x8d\xc3\x97\xa2\xff\xf6\xaa\x9a\x6f\x19\x81\x2f\x05\xfe\xe3\x75\x25\x38\xf5\xee\x52\x80\x57\x1f\x2b\x01\x65\x24\xbd\x34\xf4\x79\x3d\xf4\x79\x9a\xe5\xb3\xab\xd3\x0a\x68\xbe\x68\x4a\x3d\x4a\xd4\x39\x03\x7b\xf3\xe9\xec\x9d\xb6\x15\x8b\x6d\x4f\xdb\x61\x30\x52\x46\x4a\x1e\x97\xb2\xae\xd0\x5b\x72\x3f\x45\x7b\xb2\x8e\x58\xbf\xf8\x89\x65\x61\x03\x65\x28\x9e\x5e\x9d\xdf\x7e\x7a\x73\xf9\xe6\x3d\xb3\x3c\x47\xca\xf8\x77\x90\xfa\x78\x75\xca\x88\xb4\x3f\x7d\x33\x85\x77\xa7\x57\x40\xe1\x36\x47\x21\x03\x74\xfe\x97\x0f\x1f\x2f\xcf\x38\xbb\xff\x5d\x60\xb7\x02\xb4\x3d\x29\x30\x25\xf6\xcd\xb3\x97\x67\x85\x97\xb0\xce\xcb\x2d\x03\x55\xcb\x32\xf9\xe1\xe3\xe5\xfb\x37\x17\x80\xf7\xae\x80\xb7\x0f\xe3\x7d\x09\x1b\x5f\x48\x14\x93\xf3\x7a\xc4\x91\xf2\x7d\x49\xcd\xa4\x03\x2c\x22\xba\xff\xdc\x55\x19\x71\x96\xf9\xd9\x5f\x7d\x60\x7d\xf3\xdc\x8b\x40\x20\xa2\xe9\xbd\xf9\x30\xce\x0c\xd3\x65\x1a\x29\x59\x1c\xf2\xfe\xfb\x69\x3b\xf4\x46\xca\x89\x52\x8d\xf8\x09\xd6\xf5\x55\xe5\x44\xd1\xb6\xc8\x1b\x29\xc7\xcf\x80\x3d\x16\xb0\x07\xcf\x80\x3d\xe0\xb0\x46\x0d\x24\x53\x3d\xd5\x34\x5e\x93\xf6\x4c\x3e\x69\x80\x64\xbe\x10\x49\x37\x01\xcd\x7a\x29\x9a\x05\x68\xf6\x4b\xd1\x6c\x40\xeb\xbc\x14\xad\x03\x68\xce\x4b\xd1\x1c\x40\x73\x5f\x8a\xe6\x02\x5a\xf7\xa5\x68\x5d\x40\xeb\xbd\x14\xad\x07\x68\xfd\x97\xa2\xf5\x19\x5a\xfb\xbb\x6a\xac\x30\xa6\xa0\x4d\xdf\x71\x6d\x7a\xa5\xbc\xaa\xf9\x84\x00\x7e\xa5\xbc\xe2\x6a\xda\xa8\x53\x53\x49\xb9\x21\x74\xfa\xd5\x73\x80\x5f\x09\xe0\x61\x15\xb0\xbc\x7a\x45\x14\x90\x01\x7f\x63\x1b\x5e\xb0\x36\xbc\x18\x29\xff\x99\xeb\x6f\x98\xb5\x91\x20\xa7\xe2\xb7\xaa\x54\xdb\xa2\x45\xfb\x4d\x35\xb0\x8c\x6d\x2a\x20\xdf\xee\x83\x7c\x17\x3e\x04\x02\xf6\x74\x1f\xac\x88\x02\x28\xc0\xdf\xed\x03\x97\x71\x36\x04\xfc\xd9\x3e\x78\x19\xed\x52\xc0\xff\xb0\x0f\x3e\x13\x68\x52\x20\xfd\x65\x1f\x52\x3a\x14\xa4\xc0\xf9\x71\xef\x87\xe4\x35\x37\x1c\xfe\xfc\x99\x72\xba\xf6\xee\x04\xc6\x7f\x55\x63\x64\x63\x1e\x0a\xf8\xbf\xee\x85\x4f\x15\xf9\x62\x9f\xe6\x40\xc4\x2e\x01\xfc\xbe\x1a\x38\x15\xde\x4b\x00\x7f\xda\x07\x9c\xd6\xc9\xab\x6a\x60\x19\x19\x49\x40\x5e\x17\x20\xe5\x0c\xe5\xc8\x6a\x36\x0f\xa2\x66\x33\x1d\xee\x47\x20\xfd\x6d\x8f\x48\xd2\xac\xfc\xef\xe7\x6a\x66\x52\x43\x23\xe5\xef\x75\x2d\x30\x17\xca\x45\x7c\xc6\xab\x46\x28\xc4\x55\x11\x28\x77\xd5\x28\x55\x51\x4e\x04\xe6\xa4\x46\xbc\x25\x41\x44\x04\xd6\xb4\x1a\x2b\x17\x33\x42\x20\xe4\x67\xd9\x29\x84\x42\x00\x07\x81\x72\x5f\x23\x86\x9f\x73\x4d\x67\x56\x0d\x2b\x43\x05\x08\xc8\x79\x5d\x79\xf9\x91\x44\x0e\xb8\xa8\x13\x69\x16\x74\x59\x5f\xc3\x05\xe9\x05\x75\xfa\xbf\xdb\x08\x2e\xa0\x57\x05\x68\xb1\x2d\x35\xe2\xdb\x52\x95\x03\x65\x90\xda\xd9\xcc\xb0\x18\xda\x6f\x25\x7e\x0d\xa5\xa1\x60\x8c\x7d\x68\x08\x99\x9d\xb0\xe2\x53\xf9\x5b\x4b\x32\xe3\x4c\x6a\xcb\xa7\x00\x8f\x2b\xc1\x93\xbd\x93\x02\x72\x5d\x05\x99\xd9\xf3\x28\xda\x4c\xd9\x98\x87\x44\xb0\xa8\x04\x35\xac\x1c\xfb\xe6\xc3\x83\x6c\xa4\x0c\x22\xde\x63\x63\x8c\x15\x9e\x54\x10\xcb\x16\x13\x31\x6c\x8e\xb1\x22\xd2\xfc\x45\x32\x9f\xc2\xd6\x18\x2b\xc9\x53\xf2\x12\xdb\x3c\x9b\x67\x7c\xbc\x3a\xc5\x9d\x31\x56\x3e\x5e\x9d\x0a\x08\x6e\xaa\x63\x87\x41\xf1\x34\x7f\xf1\xee\xf4\x0a\xbb\x63\xac\xbc\x3b\xbd\xe2\x19\x7c\x6e\x83\xbb\x63\xac\xf0\xa4\xb2\x55\xe7\x9b\x8d\x3a\xc7\x4f\x5b\x8d\x4f\xed\x27\x15\x4b\xe0\xa9\x15\x66\x3f\xbd\x85\x33\x7f\x70\x2d\x09\x6d\x12\x33\x61\x61\x29\xac\xb2\x95\x6c\xb8\x12\xb4\x34\x4c\xd7\x04\xad\xd1\x2a\x39\x8f\x34\xdc\x85\xa0\x4d\x6e\x12\x2b\xee\x1f\x5f\x47\x51\x38\xf3\x28\xb9\x9d\xfb\xb3\x79\xd9\xc5\x35\x59\x08\xbd\x70\xe2\x2e\xfb\x1e\x2b\x8a\x5c\x99\x93\x1f\x3d\x5a\xe5\x32\x74\x1d\x7c\x77\x11\x26\xa3\xec\x8b\x31\x72\x1c\xab\xef\x1e\x61\x75\x82\x79\xa3\x3c\x0d\xa7\xe4\x0d\xcd\x95\x42\xd3\x9a\xcd\xc9\x11\x76\x5c\xdb\xec\x03\xa5\x75\x1d\xb4\x6e\x6a\xc8\x8f\x3f\x78\x1f\xd4\xb5\x56\xdc\x18\x9c\x65\x3e\x1a\x4e\xc2\x80\xfa\xc1\x9a\x6c\x27\xd8\x34\xac\xce\x6b\x75\xd2\x02\x9e\x34\x5d\x5d\xb7\x1c\xd7\xb6\x0c\x4d\x77\x1d\xc7\x76\x51\xa4\x63\xd9\x71\x14\xbf\xb8\x85\xfd\xb0\x00\x7f\x84\x27\x9c\xdd\xae\xdd\xb1\x35\x79\xe2\x23\x55\xd9\x62\xdb\xba\xac\xf2\x41\xd4\xf0\x83\x46\x7c\x12\x8f\xa2\xb1\x58\xde\x2f\xa8\x8f\x3c\x23\x93\xce\x93\x57\x1a\xa9\x11\x9a\x64\xf6\xa0\x27\xae\x8c\x01\x13\x3a\x23\x1e\x68\x4f\x41\x8e\xba\x94\x88\x5c\x67\xc8\x75\x5e\xaa\x02\x1b\xd9\x15\x4d\xfc\x7d\x2d\xfe\xea\xe2\x6f\x4b\xfc\x6d\x2b\x83\x22\x66\xfe\x48\x80\x3c\x2f\x90\x3e\x58\xca\x28\x57\xc1\xa5\x4f\xab\xb2\x2f\x57\xc1\x59\x69\x38\xbd\x1a\xce\x4e\xc3\xb5\x9e\xf9\xdd\x76\xcd\x77\xb7\xd9\xa6\x2b\x3a\x93\x34\xf6\x61\x0d\x37\xa8\x14\x1b\x65\x75\xaa\xd5\x4a\x93\xfb\x20\xc4\xfd\x51\x49\x9d\x07\x57\x82\xc2\x47\x76\x4e\x0b\x2b\xad\x12\x4a\x28\xf0\x37\x35\x18\x76\x06\x63\xfb\x6c\xda\xff\xaa\x81\x34\x33\x90\x5d\xa5\x4c\x8d\x53\xa3\x92\x56\xda\x27\xa6\x49\xf4\x4a\x49\x64\x87\xab\xfd\x54\xfe\x43\x52\xc9\x82\xa0\x7c\xb7\x95\xc6\xf9\xb1\x50\x4c\xea\xdd\x5d\xa5\xa2\x43\x54\x7f\x0e\x17\x50\xff\xaf\x06\x8a\xd9\xcb\xef\x71\x05\xbf\xff\xde\x38\x03\x75\x6c\x4e\xc9\xbd\xb7\x5e\xd0\xba\x5a\xac\x3a\x4e\x78\x76\x75\xda\x90\x9b\x09\x1b\xdf\xc7\x6d\x38\x48\x93\xe9\x3d\x45\x83\xe4\xfd\x72\x28\x1f\xaf\x4e\x54\x8a\x77\x4f\xa3\x68\x8c\x94\x43\x85\x6f\x40\x82\x2f\x66\x3d\x7d\xda\x80\x41\xe7\xbc\x84\x75\xc1\x93\x2a\xba\x0b\x44\x0b\x52\x9d\x95\x9c\xbf\xaa\xac\xcc\x06\xf8\x8e\x61\x24\x60\x36\xa6\xf0\x87\x6f\x36\xc9\xd3\xdb\xb3\x8b\x9d\xe9\x9a\x02\x91\x31\x34\x76\xad\x21\xcf\x07\xf7\x3c\xf3\x75\xe6\xe2\x99\xb3\xc4\x11\x5d\xbc\xfb\x08\xf0\xd2\x91\xd6\x6b\x8f\x71\x09\xf0\xb2\x6b\xec\xa8\x4f\x17\x05\xfb\x25\x81\xcf\x7f\x97\x6f\x4f\xb8\x66\x38\xa5\x84\x34\x6d\x5b\x4a\x6a\xb7\x4d\xb1\xb4\x7c\x89\x8d\x95\xb3\xe4\xca\x0e\x9f\x0a\x91\x71\x7b\x2d\x1f\x3d\x30\x4d\x54\xc7\xd1\x20\x3a\xc6\x8a\xa1\x34\x9b\xd1\x11\x56\xfa\x4a\x1d\x34\x36\x8d\xd7\x75\xc4\xa2\xb4\xb5\x64\x68\xad\x4e\x6f\xa0\x0c\x95\xf2\xab\xbb\xbe\xb5\x56\x33\xfc\x28\x4a\xce\x22\x49\x8c\xf5\xc4\x26\xf1\xb4\x27\x4f\xda\x24\xd2\x08\x01\x92\x39\x77\x5b\x7e\xb4\xbc\x3a\x4f\xd1\xe4\x6d\x74\x71\xb2\x90\x94\xb2\x03\x43\xb9\xe6\x15\x72\xc1\xbb\x5d\xc8\xe5\xfe\x41\xc8\xde\x77\x44\xf9\xf4\xea\xbc\x31\x09\xa7\x24\xe9\x50\x4a\x35\xa2\xfc\xbb\xc9\x9d\x9b\x85\x4f\x63\x45\xc9\x0a\xf1\xdd\xe9\xd5\xbe\x86\x5c\xdf\x82\x87\x7c\x17\x0d\xdf\x3b\x89\xee\xe5\x35\xc8\x19\x13\xb5\x70\xa2\x19\x86\x84\x8c\xdd\xf1\xdd\x6f\x89\xd5\x37\x2d\x89\x70\x90\xa8\x01\xba\x67\xfd\xfd\x94\x93\x78\xa5\xfc\xf6\x6a\x30\xc5\xaf\x0c\xe5\xb7\x57\xa9\x62\xbd\x52\x56\x90\xed\x9a\xca\x2a\x9d\xaf\x44\xca\xa0\x40\x3c\x39\x9f\xa8\x9b\xa5\xe7\x8b\xd3\x47\x13\xe1\xa8\x71\x94\x96\xa0\xb2\x64\x24\x15\x63\xa9\x94\x8e\x22\x55\x95\xfb\xee\xf4\xaa\xf1\x89\x8a\xaa\x9d\x6a\x68\x8a\x15\x25\xdf\x51\xe4\xce\x44\x7f\x52\xf4\x86\x7e\xaf\x2b\xdf\x45\x8a\x3e\xd5\x77\xf9\x37\x37\x99\x76\xa1\xe8\xab\x8c\x5c\xf5\xdf\x4a\xca\x5c\x14\xe8\xf3\xbe\xad\x57\x7f\xfb\xf9\xe5\xe6\x3a\x20\xca\x5e\xae\x1f\x79\x51\x94\x76\x8d\x95\x3a\xff\x8c\x3e\x33\x4d\x70\x5f\x97\x59\xfa\xb5\xcd\x46\xf9\x0e\x3a\xbb\xcd\x46\xd1\x21\x71\x52\x12\x51\x8a\xc3\x3e\xa3\x6b\xae\xfa\x4c\xc9\xf7\xb3\x68\xd9\xc6\xcc\x1d\x0b\x83\xe8\x20\xdd\x60\x93\xa7\xb7\x67\x17\x9b\xcd\xf3\xc6\xe3\xac\x08\xb5\x64\x8f\x55\xea\x6d\xf1\xa0\x30\xe0\x14\xb7\x6b\x73\x5a\x45\x78\xbe\x00\xb8\xff\x48\x71\x19\xaa\xe8\xcc\xea\x70\x05\x48\x09\x32\x48\xae\x3e\x28\xc0\x4e\xc2\x39\xfc\x59\x01\x7f\xb7\x4d\xa0\x9a\x4a\xf9\xb5\xfb\x05\x42\x7f\xc6\xa8\x99\xbb\xcc\x2a\x6d\x50\x16\x3f\xbd\xd3\x83\xe4\xcc\xf0\x27\x66\x16\x46\x78\xb2\x67\x2b\x4b\xe2\xad\xf2\x53\x07\xec\xdb\xe1\x43\x40\xa2\x77\x15\xfb\xea\xe2\x95\x17\x28\xec\x13\xa9\xfd\x95\x73\xb2\x58\x84\x8d\x87\x30\x5a\x4c\x15\x44\x32\x5b\x2d\x29\xf7\x91\x45\x98\x8a\x9b\xb8\x7f\xf1\xa7\x10\x2f\x87\x66\x6e\xfe\x1e\xca\x0b\x33\xef\xc3\x80\xfe\xc2\xef\xc6\x56\xee\xc2\xc5\x34\xb9\x0e\x3c\x83\x1e\xe7\xd1\x53\xee\xca\xdd\x26\x33\xaa\x21\xd6\x8a\xc2\xcd\xc6\x3f\xc0\x38\xde\x7e\xd3\xc6\x9d\x10\xc5\x38\x52\x6d\x5b\x2b\x3a\x2d\xdf\x7e\xbc\xe0\xae\x49\x96\xe0\xee\xc2\x9f\x3e\xbc\x3b\xbb\xbc\x38\xff\x70\x06\x7e\xc9\xe4\x89\xbf\x7c\x7b\x71\xfe\xe1\xaf\xe0\x88\x84\x94\x70\x30\x7e\xf8\xf9\xec\xf2\xea\x0c\xf7\xc6\x58\x11\xe9\xe4\xc5\xf9\xd5\xf9\xdb\x8b\x33\x6c\xba\xfc\x1d\x7f\x54\xb6\x6a\xb8\xd9\xa8\xe1\xce\x01\x19\x70\xf3\xdf\xab\xf2\x43\x16\xaf\xc5\x96\x67\x4e\x78\xb0\xa6\xcb\xf0\x21\xfe\x5f\x6b\xb2\x26\x3b\xf3\x56\xbc\xf9\x21\xf2\x96\x24\xbe\xfa\xec\xc3\x25\xc2\x46\xf6\xe5\x9b\xc0\x5f\xc2\x84\x0e\xa0\x32\x53\x90\x95\x27\x2f\x26\xe7\x32\xff\x14\x86\x0b\x38\x56\x15\xb7\xdf\x85\xcb\xc2\x2b\xa9\x55\x70\xa2\x07\x63\x1c\x40\x84\x19\xbf\xe2\x96\xd6\xe4\xda\x93\x6f\xfd\x4c\x99\x67\xf5\x37\x56\xfe\x4b\x5e\xb0\xd2\x43\x42\x79\x59\xf1\x06\xfe\x14\x53\x2f\xa2\x03\x82\x48\x30\x1d\xd0\xe4\xe4\x49\xa9\x84\x92\x20\x0b\xe5\xf2\x7b\xf0\x83\x69\xf8\xd0\x16\xd3\xff\xec\xcb\x2c\xe2\x45\x18\xae\x76\x47\x80\xb4\x7c\x4c\xf0\x34\x58\x5a\x25\xca\xae\xb2\xf6\x29\xe1\xd1\xbd\x92\xfd\xfa\x72\x70\x29\xd3\x00\x5d\x3f\xc2\x8e\xf6\xe7\x14\x82\xef\xed\xae\xd3\x3e\xd0\x75\x82\xe8\xee\x02\xef\x42\x9d\x88\x42\x74\x34\xc2\x94\xb5\x3c\x28\x0a\xff\x10\xc1\xe5\x24\x46\xc6\xb8\x0d\x75\x9a\xa0\x97\x41\x90\x60\x9a\x3a\x48\x61\x26\x07\x29\x2a\x18\xe2\xbb\x6a\xcb\xa9\x45\xe2\x7b\x47\x24\xe5\x81\xaf\x84\xd2\x2a\x5a\x2e\x03\x20\xc1\xf4\x98\xa6\xae\x0f\xac\x80\x91\x66\xda\xde\xc6\x5f\xdd\xbe\x65\x90\x37\xd6\x3c\xf2\xe7\x24\xa2\xd2\x36\x04\x82\x1a\xd2\x16\x29\x0d\x66\x7e\x68\x95\xdd\x5d\x28\xe3\x35\xee\xb6\x1b\x17\x63\xe4\x4b\x98\x4c\xb7\x5f\xf8\xc0\x29\xdf\xb6\x4b\xa2\x8a\xfb\xf7\x21\xc6\x74\x8c\x09\x5f\x36\x79\x66\xbc\x75\x70\x84\xfd\x9d\x04\xd3\xbf\x37\xfc\xb8\x41\xc3\xb0\xb1\xf0\xa2\x19\x69\x37\xde\x87\x31\x6d\x2c\xfc\xcf\x64\xf1\xd8\xf0\x1a\x77\xde\xb4\x71\x7a\x75\x09\x2e\xb1\x8a\x08\xed\xc3\xf8\x08\xd3\x61\x2c\x4f\x14\x78\x38\x2e\x5c\x49\x01\xe1\x0b\x17\xd5\xf7\x5a\x78\x1a\x9a\xcb\x39\xdc\xbc\x18\xb7\x07\xe3\xb8\x55\x7e\xa3\x5e\xd9\x87\x8a\x62\x96\x81\x6a\x3c\x4a\x9a\xcd\x7c\x50\xe0\x74\x34\xa6\xbc\xb5\xfc\x75\xd0\x32\x93\x96\x32\xa9\x0a\x3c\xb4\xc6\xb9\xed\xbd\xd2\xf8\xf8\x21\xf2\x66\x60\x76\x68\x68\x05\xc7\x38\x64\x19\xf3\x2c\xb0\x8a\x8f\x48\x30\x8a\xc7\x49\x5a\xb6\x3d\x2e\xd4\xfb\x42\x9d\x97\xa0\x40\x60\xfa\x6a\xb0\xb4\x92\xdd\xd7\x0e\x42\xed\x88\x2c\x88\x17\x13\xf5\x5e\xdb\xca\xd2\xcf\xb0\x31\x9c\x1d\xf9\xc3\x99\xac\xe7\x25\x5e\x8c\x66\xe3\x91\x31\x46\x8f\x3c\x65\x8e\xd1\x1d\x4f\x59\x70\x76\xeb\x0e\xfa\xec\x19\xc6\x78\xde\x6c\xaa\x4b\xdc\x32\x35\xb4\x3c\xc0\x78\xd2\x6c\xaa\x93\x83\xc2\xb4\x45\x48\xb3\xd9\x54\x57\xcd\xa6\x9a\x3e\x00\xb3\x02\xe9\x69\x68\x9d\x31\xcd\x60\x02\xcb\x5a\x35\xa7\x5a\x4e\x4d\xd3\xfc\x7b\x46\xef\x60\xca\x68\xe2\xba\x32\x7b\x93\xdf\xd6\x7e\x44\x54\x4d\x43\xd3\x17\x30\xc1\xb8\x78\x16\x59\x1e\xd3\x6e\xa9\x4d\xf3\x47\xbc\xc4\xde\xce\xd6\x17\x7f\x4a\x42\x45\x43\x05\x00\x59\xa8\x16\x57\x55\x25\x75\x90\xe8\x16\xc2\xd1\x2d\xd1\x29\x5e\xca\x08\x75\x0f\x2c\x69\xf6\x58\x0d\x3c\x34\x43\xb0\xf2\x98\x3d\xb2\xd9\x14\xe8\xf2\xd3\x19\x60\xa6\x6a\xe8\xf4\xa8\xd7\x6c\xaa\xa7\x3a\xee\x69\x1a\x62\x88\x89\xf5\xd7\x6c\x56\x60\xa6\x22\x47\x01\x06\x98\x85\x95\xd0\x77\xfc\xf8\x07\x40\x0a\x4b\x91\x2b\xd2\x15\xbe\x1d\xde\xe2\x53\x74\x8a\xaf\x90\xd9\x7c\x68\x36\x53\xac\x6c\x05\x34\xb7\x1d\x2b\x69\xcf\xa1\xf5\x66\x89\x37\x9b\xaa\xe5\x74\x31\xc6\xb7\xcd\xa6\x7a\x8b\x4d\x47\x43\x96\xe3\x62\x8c\x4f\x19\x71\x6c\x68\x1a\xba\x3d\xb2\x1c\xb7\x9a\xe1\x59\x6b\x12\x2e\xc2\xa8\xa5\xe8\xb7\x4c\x3e\x75\xb0\x12\xf0\x14\xd6\x4f\xd9\xa4\xfc\x4e\x5b\xe9\xf8\xd5\x11\x53\x8a\x06\xa0\x60\x01\xfa\xe0\x4f\x49\x6b\x32\xf7\x22\xe5\xf8\x95\xfe\xa8\x2b\x47\x87\x0c\xe6\x58\x49\x22\x54\x3f\x66\x7d\x9c\xc7\x96\xe3\x54\xd1\xe2\xcb\x16\xd5\xd4\x84\x6f\xeb\x51\xf8\xbe\x9a\xca\x60\xa5\x63\xa5\xe9\x2d\x57\xc3\x8c\x3f\xe9\x48\xbc\x58\xd0\x6c\xfe\xb1\xc8\x9f\xed\xf2\xa5\xcb\x65\xa5\xe3\xc7\x23\xac\x34\x94\x13\xa5\x19\xdc\xc5\xab\xa1\x32\x78\xdc\x4e\xf0\x72\xbb\xfd\x53\x9b\x5b\xd2\xe6\x6b\x3a\xba\x34\xc6\x5a\xdb\x46\x95\xc3\x6e\x66\xa6\x57\x33\xec\x16\x16\x62\x96\x3e\x65\xed\x16\x4c\x05\x05\x3d\x09\x7a\x05\x37\x14\xcf\x46\x39\x23\x3b\x7f\x4a\x1c\xa8\x5c\xc9\xc0\xb5\x39\xcb\x03\xc2\x5a\x15\xfc\x64\x02\x36\xe1\xb0\x38\x6a\xec\x47\xa9\xb1\x39\x6a\x3e\x30\x32\xc6\x70\x2a\x8f\x34\x9b\xc9\xd1\x51\xb8\x90\xa5\x74\xc8\xf7\x31\xad\x7c\x17\xee\x2e\xbd\x85\x7b\x71\x63\xf1\xec\x07\xaa\x5f\x11\x7d\x17\x0e\x9a\xaa\x61\xa9\x85\xb3\xd9\xc4\x47\x86\xc6\x59\x0a\x9e\x31\x20\x7b\x38\xc2\x18\x87\x27\xcc\x20\x1e\x18\x68\x81\x43\x66\x66\x9c\x50\xf6\x58\x62\x5f\x0d\x83\x12\x6d\xe1\xc4\x93\xaa\x93\x4e\x86\x10\x79\x68\x21\x26\xb7\x73\x1c\xb7\x42\x1e\xbf\xec\x25\x14\xca\xee\xce\x04\x33\x6f\xae\x69\x28\x3c\xc0\x38\x96\xe7\x5e\xfd\x3f\x8c\xed\x18\x19\x68\x52\x5c\x3a\x2a\x51\x86\x34\xc9\x40\x2b\x9c\x35\x2e\xa7\x5f\xb2\x5d\x2c\x09\x7d\xe0\x37\x9b\xaa\x8f\x4d\x79\x08\xad\xea\x50\xe4\xd4\xff\xb2\x3b\x16\x19\x0a\x97\xcb\x9c\xbb\x5b\xfc\xc2\xba\xd1\xdc\x8b\xde\x13\x2f\x5e\x47\x12\x46\x57\x56\x5f\x15\x24\xf1\x68\xb8\xc2\xe4\xa5\x48\x0b\x72\x4f\x31\xad\xc3\x7a\xf0\xa7\x74\x9e\x45\x82\xac\xa2\x01\x97\xc3\x79\xad\x46\x2d\xaa\x09\xcc\xc4\x13\x76\x49\xd8\x20\x4b\x22\xec\xed\xf1\x85\xed\x66\x06\xb2\xbb\xbb\x25\x5f\x29\x09\xa6\xf1\x66\x93\x9a\x45\xc3\x24\x14\x0b\x57\x12\xf8\x43\x45\xb5\x7d\xbc\xdf\x6c\x9e\x6e\x6f\xa1\x1a\x6f\x6f\x07\xa3\xf1\xd6\x0f\x62\xea\x05\x13\x12\xde\x37\xde\x44\x91\xf7\xd8\x6c\xe6\x0f\xd1\x24\xe0\x98\x6e\x53\x5f\x49\x3a\x2e\xe8\x1e\x1a\x7e\xd0\xa0\x1a\x6d\xcf\xbd\xf8\xe3\x43\x90\xf8\xad\x22\x0d\xee\x92\x8a\xc6\x98\x8e\xa2\xb1\xb6\x2d\x04\xdd\x81\x22\xa6\x3c\x7c\xc2\x93\x31\x09\x83\x98\x46\xeb\x09\x0d\x23\x4c\xb7\x04\xc0\x10\xdd\xa9\x1f\x16\x4e\x98\xe8\x44\x14\x92\xeb\x90\x1a\x69\x03\xd5\x4f\x81\x45\xbb\x34\x0a\xc8\x43\xc3\xd7\xb6\x4c\xe2\xbf\xc3\xc9\xd6\xd7\x50\x80\x23\xb5\x07\x7d\x8b\x6a\x6a\x68\x81\x23\xd5\xb2\xd8\xd4\xe6\x0a\x4e\x06\xb6\xef\xa3\x70\x79\x2a\xc6\x76\xd5\x74\x0d\x0d\x4d\xd2\xd1\x7a\xe6\x48\x99\x29\x25\x8e\xba\x8a\xdd\x85\xbf\x7c\xbc\xe4\xfe\x3b\x96\xe0\x59\x89\xeb\x0e\xbc\x76\x05\x4f\xdb\xba\x2a\xee\x22\xdf\xfc\x18\xcb\xde\x93\xb4\x27\xde\x62\xc1\x3d\x1b\xfc\xda\x38\x59\x3b\x41\x66\xdf\x5f\xd0\xbe\xbd\x03\xf7\x0b\x8e\x58\x3a\x3d\x66\x62\x9f\xe5\xa4\x94\x1c\xc7\x2c\xc3\x0f\xfc\xe4\x2c\x71\xac\x6a\x28\x48\xae\x21\x60\x6f\x97\xe1\x94\x70\x0f\xd8\xa2\x9d\x74\x1f\xef\x59\xa6\x4a\x01\x60\xe1\xc5\xfc\x22\x80\x77\xe1\x43\x70\xed\x2f\x09\x36\x58\xb6\x37\xa1\xfe\x17\x92\xc1\xc0\xa1\x5c\xab\x0c\xa4\xbf\xcc\x57\x29\x22\x19\x5d\xc9\xf1\x83\x0b\xed\x04\x8a\xce\x5b\x13\x2f\xe8\x75\xe4\x2f\x25\x7c\x26\x90\x4e\xe2\x93\xbb\x0d\x03\x06\x04\x5b\x4d\x39\x26\xdc\xcb\xf0\x3e\xfc\x42\xf6\x22\xbe\x97\x90\x79\x6c\x56\xdc\xe7\x61\x27\x3b\xcf\x53\xd8\x3f\xad\x9e\x87\xcb\x37\xba\x6f\x33\x12\x12\x97\x0f\x15\xbc\xf6\x10\x05\x28\x91\x78\xb2\xb8\xcd\xa5\xd4\x0e\xef\xef\x55\x85\x46\xfe\x52\x41\x55\xd2\x4b\x05\x0e\xca\xdb\x24\xb9\x13\xe7\x50\x86\x69\xf8\x10\x28\x55\x22\xd1\xb2\x3c\x73\x95\x2a\x2e\x34\x48\xe6\x82\x6f\xe2\xad\x78\x14\xfe\xc5\x8c\x25\x97\x11\x94\x2c\x04\x89\x86\x24\x7c\xdb\x79\xf1\x6e\x51\x45\xc7\x94\xea\xc5\x94\xb9\x17\x27\x28\x0a\x7a\x9a\x11\x3a\x28\xd5\x68\xd1\xd0\xf8\x92\x50\x82\x71\x95\x71\x1b\x96\x41\x9c\x05\x53\x19\xd5\x45\x3d\x20\x9b\xcd\x01\xd5\xc4\x05\x81\x6c\xfe\xcd\x03\xb3\x8e\x4c\xfe\x60\x8e\x99\x9d\x1b\xac\x97\x24\x62\x95\x31\x38\x80\xc0\x67\xf7\xfe\x6c\x2d\x9f\xb7\xda\x73\xca\x94\x58\x1f\xd7\xe4\x2b\xfd\xb3\x0a\xc5\xcc\x4a\x5e\x1e\x5e\x3c\x45\x19\xee\x2c\x5b\xcc\x8b\xc3\x4d\x2c\xf0\x22\xfa\x78\x34\x1e\xfa\x99\x25\xb2\xc8\x0b\xe2\x85\x27\xbd\xd1\x17\x7e\x40\xae\x43\xde\xe9\xab\x19\xdd\x9b\x11\x0a\x81\x86\x35\x74\x60\x20\xb8\x7b\x2c\xd2\xb4\xc4\xc3\x14\xc2\x07\x75\x73\x18\x1e\x71\xc3\xd9\x84\x90\x04\xe2\xf0\x7d\x81\x50\xc8\x46\x9a\xfd\x0c\xc4\xe8\xc0\xd0\x86\x71\xdb\x8f\x7f\x89\x98\xe5\x36\x3d\xf1\x47\xbb\xc8\xba\x63\x1d\x7b\x03\x51\x18\x0f\x66\xaf\xe9\x3a\xac\xfa\x34\xbc\x7c\xf6\xd7\x99\x2d\x0b\x13\x87\x67\x32\x91\x04\xbe\x58\x7a\x2b\xb5\xf4\x5c\x9a\x38\x27\xaf\x4e\x10\x1c\x91\xd3\xda\xff\x08\xfd\x40\x0d\xda\x7e\xfc\xfe\xea\x17\x70\xe2\xc7\x27\xca\x4d\x74\x13\x28\x03\xe5\x26\x50\x9e\xa1\x8b\xe9\x76\x9a\x6d\x7d\xc5\x8e\x84\xeb\x51\x45\x17\xc8\xfb\xb0\xf7\xf9\xae\x20\x96\x00\xd2\xfb\x9c\xeb\x1b\xea\x84\x58\x67\x3a\xf3\xa8\x61\x86\x86\x72\xc6\x34\xcc\x92\x53\x9a\xa5\x28\xcc\x48\x41\x01\xf6\x91\x87\x8d\xa1\xb7\xbb\x34\xcb\x93\x2a\xb6\xc0\x64\xe4\x8d\x87\xa1\x8e\x17\x23\x73\x8c\x18\xad\xc5\xc8\x1a\xb3\x0f\x1c\x63\xaf\xd9\x8c\x5b\x2d\xe4\x43\x2a\x68\xb5\x34\x11\x2f\x21\xd8\x6c\x12\x4a\x3c\x60\x13\x9f\x97\x84\xed\x98\x78\xd1\x64\xae\x1e\xde\xc4\xfa\x77\x87\xbb\xe0\x31\x93\x66\x53\x9d\xef\xe6\x7a\x73\x36\xe7\x40\xf3\x23\x1c\x27\x8d\x6f\xbb\xb3\xf0\x93\xa0\x0a\x6c\xe6\x93\x15\x58\xd1\x53\x9f\x8e\x22\x35\xfc\x93\x56\xb2\x4a\x56\xe0\x77\x0b\x0a\xda\x56\x63\x66\x8a\x1f\x5f\xf8\xc1\xfa\x6b\xb3\x49\xe4\x86\xca\x74\x27\x96\x04\xfa\x80\x57\xdc\x95\x10\x90\x87\x78\xd7\x73\x17\x71\xf2\xba\x52\x28\x7b\x6e\x99\xaf\x72\xed\x23\xef\xb9\xe0\xae\x89\x7d\xfd\x27\x38\x2e\xea\x7a\xd0\x6d\x61\xa0\x63\xef\xde\x2c\x16\x55\x6d\xc7\x17\x23\xd5\x9b\xc5\xe2\x0d\x18\x6f\xc9\xb6\xdf\xaa\xe6\xc1\xcd\xaa\x92\x81\x93\x13\x14\x56\x57\xb2\xc6\x52\x45\x66\x46\xb8\x01\xc9\x1b\xd9\x69\x18\x46\xd3\xb2\x00\x5e\xb0\x2c\xc1\xdf\xaa\xa4\xc4\x1a\x10\x59\x29\xfb\xb6\x74\xb6\x5e\xe2\xa7\x80\xce\x58\xaa\xce\xc8\x18\xb7\x5a\x08\xba\x7a\xfe\x47\x2f\x2c\x7e\xf0\x9b\x9f\x2a\x4a\x01\x06\x89\xd8\x6a\xbc\x0c\xd7\x01\xad\x2f\x8a\x3c\x00\x77\x1d\xca\x29\x75\x59\xd9\x34\xd6\xf8\x0b\xcb\x59\x8c\xf7\xd7\x85\x52\x8b\x49\x72\x52\xa0\x63\xcc\xef\xe5\x89\x4e\x8c\x81\x4a\x8f\x61\x57\x66\x0b\x33\x83\x6a\xd7\xe2\x13\xb7\x0f\x45\x2d\xc7\xd0\x10\xfb\xaf\xd2\x43\xec\x18\xda\x21\xbc\xf3\xee\x62\x95\x6a\x3a\xa4\xe1\x36\x0b\xd5\xec\xbc\xa6\x5a\x51\x23\x92\x4e\x36\x53\x6c\x03\xc2\xc8\xdc\xad\x29\x0d\x03\x66\x9f\xc0\x45\xf7\x24\xa0\xef\xb8\xe7\x32\xe9\xa8\xa7\x91\x37\xcb\xc8\x2e\xd9\xfe\x2a\xa4\x7b\xba\xf0\x27\x9f\x4f\xd9\x2b\x95\x40\x04\x84\xb9\x7f\x4f\xff\x4a\x1e\xc5\x2a\x51\x18\x5c\xb1\x0c\x80\x52\x89\xb8\x18\x88\x0b\x28\x41\xdc\x81\x42\xc0\x9d\x04\xd6\xaa\x83\x7d\x17\xae\xef\x52\xb0\x76\x09\xac\x9c\xe3\x83\xda\xaf\x76\xc0\xa2\x04\xde\x74\xba\x7f\x00\x3a\x30\x0a\x22\x2d\xc5\xab\x9d\x16\x65\x4c\xe4\xec\xce\x9b\x0a\x83\x99\x8d\x8e\x4a\xd5\xd4\xa8\xd4\xf2\x7e\x16\xd9\xf5\x4a\x29\x9f\xf3\x14\xab\xfb\x3c\xa0\x24\xfa\xe2\x2d\xd8\x04\x32\xc2\x31\xa1\x32\xa3\xa4\x77\x27\x69\x44\xd6\x9b\x38\x46\xb1\x33\x2e\x1f\xf0\x4b\x7a\xe7\xea\x52\x55\xcf\x7c\x7e\xaf\xbc\xaa\x29\xd7\x88\x0c\x6c\x9b\x44\x2c\xb5\x02\xdc\x27\x5f\x36\xf8\x14\x5a\xee\xae\xe5\x54\xf6\xe8\x71\x66\x0c\x4a\x16\xb0\x73\x2f\xcf\x02\xb9\xcc\x50\xd6\xb3\xab\xa4\xa4\xd7\x48\x35\xc5\x67\x7e\xfc\x82\x87\xfc\x33\xd0\x9e\x21\x4c\xee\x68\xad\xf5\x47\x54\x7f\xa6\xbe\x20\x35\x88\x75\xc2\x81\xb1\xdf\x48\xba\x90\xb4\x0d\x5f\x49\x8f\x19\xf7\xa3\x9a\xd7\xc6\x78\x0c\x76\x61\x2d\x88\xae\x17\x45\x9f\xea\xd9\x2a\xa3\x7f\x56\x14\x7f\xb8\x2b\x65\xb9\x78\x7f\xf9\x78\xf9\x2e\xe9\xc0\xd9\xab\x5f\xc2\x68\xfa\x86\xaa\x65\x03\x47\xaa\xd3\xfc\xc3\xf9\xb8\x38\xff\x70\x96\xe1\x83\x59\xf2\x6f\xc4\x94\x29\xcf\x4a\x71\xa8\x29\xe1\x47\x0d\xc8\x43\xe3\x9d\x47\x89\xc6\xea\x8d\xb5\x2a\x55\x1b\xaa\x54\x2c\xab\x14\x7c\x62\xc7\x1d\xc3\xe0\x5e\xbb\xf6\xed\xd4\xe7\x3e\xdc\x1f\xa2\x70\x79\x21\x01\x93\xb3\xed\x44\x3b\x36\x0d\x2d\x29\xcf\x6e\x78\x61\xf3\x89\x0a\xea\xc9\x71\xdf\x45\x9e\x1c\x1e\x91\xf6\xca\x9b\x91\xbf\x21\xfe\xf7\x57\xb9\x21\x67\x47\x57\xd7\x73\xe5\xaf\xe5\xaf\x2c\x24\x49\x62\x3c\xec\x2c\x85\x72\x6e\x98\x69\x25\xf8\xd1\xd0\x5e\x60\x53\x02\xff\x5a\x65\x66\xb0\x5e\xb7\x52\x57\x8a\xed\xee\xa4\xbc\xfd\x9c\x05\xd3\xdd\x85\xe3\x25\xef\xcc\x31\xf7\x31\xec\x36\x89\xbd\xb4\xbf\xab\xe9\x82\xb0\xd0\xce\x93\x9a\xcf\x1f\xd5\xf6\x0a\xd5\x98\xc6\x18\x1b\x83\xba\xb7\x25\xe6\xf1\xa0\x9e\x55\xd6\xa0\x65\x1f\xc3\xa9\x5d\x87\xb2\x4d\x57\x7c\xa8\xd2\xb4\xcb\x8a\xac\x60\x36\xef\xe4\x96\xc7\x3c\x36\x6a\xcb\x5c\x52\xaa\x96\xbc\x19\x3a\x4f\xea\xc8\xa8\xe9\xa7\x41\x80\x15\x7d\x7c\xa6\x66\xee\xd2\xfb\x1d\xb3\xd1\xda\xf7\xf5\xed\x9c\x4e\x45\xcf\xce\x79\x80\x08\xef\xe0\x56\xa8\xee\xe0\x39\xa4\xae\x6f\x99\x15\xca\xf8\xc6\x95\xad\x60\x64\x30\x22\xc2\x89\x56\xcd\x92\xe8\xad\x52\x86\x69\xbe\x9b\x48\x44\x59\x34\xaa\xf2\x62\x2e\x6e\x75\x13\x31\x59\xfc\x78\x55\xb0\x64\x38\x0a\x3a\x30\xbf\xa1\xfe\xf1\xa8\xb4\xf6\x0b\x57\x64\xb1\x19\x5c\x7e\x47\x1c\x9b\x4d\x8d\x2b\xdb\x0b\x1e\x15\x2f\xda\x62\x54\xc6\xb9\x29\x72\x45\x57\xf5\xd3\xaa\xc4\xae\xa9\x76\x4b\xe5\x88\x4c\xc2\xe0\x0b\x89\xe8\xcf\xe2\x34\xeb\x69\xb8\xb8\x0e\x93\xa0\x2e\x10\x80\xae\x64\x8b\x82\x50\x43\xd6\xb7\xf9\xd8\x18\xb2\xc4\x31\xf6\xe1\xd6\x57\x83\x5f\xbc\xc9\x2d\x86\xa8\xd5\x1a\xee\x22\xe7\xe6\xe7\xb4\xbc\x75\x57\xf6\xb2\x05\x1f\x6a\xf4\x0c\xff\x23\xaf\x5c\xb9\x67\x72\x7f\xe1\xf8\x22\x51\x88\x7d\x14\xc3\x65\x7d\xad\x10\x05\xd8\x00\x9f\x99\x7f\xaf\xf2\x00\x27\x91\x8c\x9e\x10\x6a\x62\x87\x46\x78\x6c\x34\x9b\xf9\x97\x2d\x53\x1b\x6a\x61\xab\xc5\xef\x26\xf3\x8f\xa2\xc4\xf5\x93\x83\xf4\x75\x06\xe9\xeb\xfa\x36\xd9\xd8\xb5\x80\x8f\xa3\x39\xfc\x01\x02\x60\xc3\x8d\x16\x5c\x8e\x6a\xa0\xeb\x68\xd1\x6a\x69\x08\x66\x92\xa3\xb9\xc8\xf6\x74\x1d\xcd\x75\x5d\xe3\x0c\x89\xad\x8e\x7e\xcc\x8a\xc8\x84\x7b\x45\x56\x5e\xe4\xd1\x30\x52\x33\x5c\x6a\x43\x4d\x50\x6f\x99\x79\xfa\x61\xab\xc5\x12\xa2\x0c\xba\x99\x2a\xc5\x73\xc8\xb3\xa2\x69\x43\x4d\x70\xa9\x9b\x39\x3e\x91\xcf\x13\xc2\xe5\x27\xfc\x51\xa1\x1e\xb7\x02\xc4\x3f\x33\xd8\xed\x0a\x69\x85\x7a\xa0\x7b\x7a\xf1\x5e\xc8\x70\x11\xe7\xd7\xad\x32\x36\x60\x9d\x8d\x27\x46\x94\x24\x2a\x7f\xa9\x61\x3e\xa2\x62\x57\x35\xd3\xbb\x8a\xe1\x3b\x3d\x53\x90\x4e\xbe\x52\x9e\xe4\x28\xf6\x3b\xb8\x4a\xf5\x3e\xfc\x8d\x17\xed\x06\xd0\x9f\xbd\xc5\x9a\xc4\x97\x7c\x57\xe1\x54\xd5\x4e\x04\xf3\x03\xf1\x57\x97\xdc\xf1\xd2\xe4\x78\x2c\xa9\xcd\x12\x3b\x4c\x69\xa8\xda\x68\xfc\xb4\x7d\x75\xa3\x28\x49\x84\x70\xa2\x1d\x63\xa3\xb4\xc8\xdc\x04\x7e\xe6\x6c\x8b\xf5\x7e\xe4\x39\x42\x2e\x6a\xc1\x16\xd1\xad\xea\xb5\x61\x7c\x3f\x5b\xfa\x94\x92\x48\x1b\xd2\xd4\x5a\x32\xbf\x15\x1c\xaf\xff\x9c\x18\xb9\x2f\x3c\xc0\x52\x58\xe4\x2b\x39\xd8\xb1\x67\x29\x22\x27\xb9\x9d\xa3\xb7\x38\x07\x84\xec\xea\x49\x6b\xf9\x8c\xb7\x6a\xdd\x91\xa4\xd7\xe8\x4a\x5c\xc6\xc5\x95\xba\xf4\x79\xb5\x02\x17\x27\x23\x03\xc9\x0d\x4c\x69\xce\xf3\xfe\x73\x31\xdb\x85\xcc\x7a\x95\xcf\x53\x1a\x94\x10\xfa\xd6\x05\xca\x9a\xc2\x9f\x05\xd3\x17\x17\xfd\x19\x8e\x63\xd8\xec\x5e\x66\x43\xb4\xcc\xbc\xd4\xa0\x64\x27\x07\x05\x01\x08\x1b\xab\x56\x6a\xa3\x12\x52\xcc\xd4\xab\x54\x90\x32\xd5\x81\x39\x4c\x25\x46\xbe\x46\xb9\x01\x28\xcd\xc3\xe2\x84\x63\xb4\xf3\x16\xff\x3e\xde\xb8\x35\xaa\x95\xe4\x16\xf9\x65\xfa\xc2\xdd\x56\xfb\x14\x24\x73\x4f\x53\xa5\x68\xcb\x3d\xa8\x39\xae\xe5\x2a\x75\x5c\x5c\x6e\x6f\xb0\x8e\xfa\x98\x82\xa5\x9c\x5a\x92\x6e\x36\x99\x71\x70\xcc\xc4\x90\xdd\x81\x57\xb2\x56\x92\xd6\xc1\x72\xe7\x51\x41\xf6\x2d\x4c\x4a\xc4\x55\x00\xe7\x22\xac\x02\x2e\x83\x3d\x32\x4e\xd4\xd2\x0e\x10\x1d\x18\xda\xa0\x8c\x9b\xd2\x7e\x00\x28\x55\x72\xcf\x66\x53\x07\xa6\x96\x6c\xa4\xcb\xee\x27\xc2\xfe\xbf\x75\x04\x48\x56\x6d\xf9\x61\xd0\xc4\x7d\x9e\x1f\x11\x64\x08\x19\xb9\x65\x52\xf8\x5a\xe2\x24\x98\x0c\x16\x2b\x4f\xe9\x8d\x55\x62\xb7\xac\x38\x80\x7b\x19\x3e\xf0\x43\xa5\xd2\x5d\xb9\xf0\x62\x7a\x49\x26\x61\x34\x25\x53\x61\x1f\x67\xdc\x99\xe9\xf7\xd2\x2e\xce\x52\x48\x7a\x9c\x30\x50\x15\xce\x8b\x5c\xa4\xcc\x44\xba\x49\x9f\x87\x2b\xc1\x8c\x48\xec\xff\x93\x3c\x13\x33\x27\x89\x12\xaf\x7f\x86\x91\x30\xe0\xc4\x32\x84\x52\x57\x90\x15\x7b\xe3\xb0\x10\xa6\x67\x8b\x8c\xd2\x21\xb8\x64\xb1\x55\x7a\x67\x8a\x2b\x61\xc7\x46\xa6\x89\x17\x01\xe4\x51\x95\x7c\x75\x0d\x89\x54\xe5\x42\x45\x56\x50\x2a\x17\x94\xd8\xa7\xea\x07\xa4\x1e\x9b\x6f\x34\xcd\xd6\x52\x66\x15\xe1\x45\x84\xb8\xfe\x0b\x98\x6a\x8d\x92\x85\xcf\x8c\x61\x43\x95\x6c\x36\x34\x71\x43\xd6\xe8\x63\x11\xb7\x4e\x06\xf3\x5a\xb6\x5f\x17\x89\x95\x89\xa4\x64\xf7\x73\x91\x7a\xdd\xf7\xb5\x7c\x13\x7e\x01\x77\x55\x4d\x17\x18\xcd\xdf\x90\x97\xd1\xe6\x82\xa1\x58\x45\xaa\x50\x23\xfc\x50\x9e\x08\x1e\x51\xac\x91\x4c\x0f\x52\x8d\x99\x77\x54\x0c\xbe\x45\x31\x4e\xb2\x44\x06\x2f\x6c\x51\xf9\x9d\x00\xc3\x54\xbb\xcc\xfa\x55\x5e\x97\xb7\xc8\xf2\xba\x95\x91\x5b\x0e\x30\x4e\x9a\x6c\x25\x10\xce\xdf\x14\x23\x3b\xaa\x92\xc9\x5f\x6a\xbd\xbb\x9e\xe8\x61\x29\xbb\x5a\xab\xa4\x64\xc3\x9c\x36\xa7\x3c\x61\xe8\x20\x7f\x23\x7d\x18\xfc\x32\x27\x24\xcb\x9a\xb8\x58\x0f\x02\x27\x53\xef\x57\xc9\xab\x39\x14\x39\xc2\x5b\x0b\x88\xd0\x41\xb7\xdf\x7d\x7c\x7f\xfb\xee\xec\xe2\xfa\xcd\x2d\xf7\x35\x97\x57\xce\xe0\x19\xf8\x9f\xde\xfc\xe5\x6c\x77\x20\x38\x4f\xa1\xa4\x01\x57\x8c\x1d\xbb\x60\x3b\x49\x39\x5e\x53\x54\xdc\x17\xb0\x2d\x58\x51\xe1\x7a\x32\xe7\x33\xab\xc2\xd4\x95\xe9\x32\xbc\xff\x15\x93\x36\x65\x09\xb8\xab\x87\x2f\x22\x94\x12\xaa\x5b\x41\xd8\x51\x6b\x15\xa9\x0d\xf7\x7f\x10\xc1\xed\x87\x7b\xd5\x51\xc7\x65\xe5\xde\x19\x49\xb2\x51\x96\x99\x47\xd9\x60\x1b\xd2\x89\xa7\x86\xb0\xc6\x9a\xbc\x0c\x53\x1b\x4f\xc4\x1d\x7e\x07\x2a\xd5\x4d\xad\x78\x69\xd1\xa9\x17\x04\x21\x6d\xdc\xfb\xc1\xb4\xb1\x04\x8b\xaa\xf1\x4a\xd1\x89\xae\xbc\x6a\xef\x4e\x79\xd0\x2d\xdf\x81\xf8\xa4\xb4\x0f\xf9\x45\xa8\xe2\x8f\x32\xe8\xa0\x7c\x5e\xfb\x1f\x71\x36\x7b\xe5\x4d\x3e\x7b\x33\xd2\xfe\x47\x1c\x06\xca\xc0\x72\xd8\xab\x7b\x9f\xb2\xff\xca\x20\xfd\x04\x98\x49\x46\x0e\xcd\x85\xfc\xf5\x62\x11\x4f\x22\x42\x82\x54\x52\x19\x54\xbf\x6b\x4f\xe2\x58\x19\x58\xdd\x6a\x00\xf6\xcd\x3c\x7e\xee\xd3\x3d\xf6\x5a\xe8\xf8\x34\xcc\xbf\xed\x67\xdf\x26\x29\x65\xd0\xad\x78\x03\xdf\xec\x6e\x87\x7e\xfb\x33\x79\x8c\x4b\xe2\xc9\x08\xbb\x97\xbd\x55\x63\x6d\x8b\xfc\x76\x44\xe2\x70\xf1\x85\xe0\x10\x91\x36\xf9\xca\xb4\x23\xc6\x3e\x5c\xd2\x89\xad\x4e\x56\x4d\xb4\xa7\x1d\xc8\x53\xe0\x2d\xc9\x80\x9f\x53\x14\x57\xd8\x2a\x68\xe9\xf9\xc1\x40\xd9\x55\x16\x5a\x45\xfe\x17\x8f\x82\x09\xfd\x4c\x52\xac\xea\x04\x1d\x51\x6f\x75\x44\x0a\x4a\xc7\x4d\xf7\x06\x44\x22\x6e\xdc\x7b\xfe\x82\x4c\x07\x8d\xc3\x79\xb8\x24\x87\x8f\xeb\xa9\xe7\x1f\x7a\xd1\x64\xee\x7f\x21\x87\xab\x28\x9c\xae\x27\x34\x3e\xb4\x0c\xd3\x39\x9c\x85\x94\x3e\x1e\xc6\xd1\xe4\x70\xe6\xd3\xf9\xfa\xae\x3d\x09\x97\x02\x81\xbf\xfa\x47\x7c\x18\x84\x53\x72\xcb\x15\x39\x3e\x04\x66\x0f\x17\xfe\xdd\xa1\x37\x9d\x86\x41\x5c\xad\x23\x8d\x9f\x02\xf2\x75\x45\x26\x94\x4c\x1b\x34\xfc\x4c\x82\x86\x6a\x0e\x0c\xed\x26\xf8\x35\x5c\x37\x96\xde\x63\x23\x20\x64\xda\xf0\x82\x86\xb7\x5a\x45\xe1\x2a\xf2\x3d\x4a\x1a\x8b\xd0\x9b\x92\xa8\x41\xc3\x06\x8f\x05\x08\x13\xbb\xc6\xbd\xcf\x52\xac\xcb\xb9\x09\x36\x8d\xb6\x10\x58\xf2\xb5\xc6\x13\xcb\x66\xff\x64\xc8\x9d\x41\xe3\xde\xff\x4a\xa6\x43\x99\x4f\xc3\xd5\xa0\x61\x0c\x15\xed\xb9\x95\xb1\x6b\x09\xb2\x4e\x32\xea\xfd\x0d\xf5\xbb\x53\x62\x41\x31\xa3\xbb\xd5\x04\x6b\x83\x03\xa5\xef\x55\x3a\xd9\xed\x1e\x3e\xbc\x89\x4e\x6e\x82\xc3\x19\x52\x6e\x22\x45\x1b\x90\x4c\x37\x26\x2e\xcf\x01\x63\x2d\x89\x42\xad\x80\xbc\x14\x44\x33\x47\xbb\x14\xcb\x00\xcb\x31\x6b\xda\xe5\x72\xe1\xe8\x18\x69\x4f\x16\x3e\x09\xe8\xdf\x5a\xa6\x21\xcc\xcd\xf4\x71\x34\xf1\xf6\xd7\xc2\xdb\x7f\xf2\x85\x17\xc5\x34\x0c\x83\xe5\xde\x87\x93\x75\xac\x56\x4d\x71\x0a\x6c\x73\x07\x60\x86\xe7\x4c\x96\xe0\x38\x93\x07\xfc\x66\x72\x18\x8b\x99\x0c\xc1\x15\x77\x95\x74\xb4\x17\x47\x28\x02\x57\x31\x59\x79\x11\x5c\x88\xf6\x43\x18\x5d\xcb\xf9\xb0\x8f\x68\x7b\x12\xae\x1e\x8b\xf7\x3c\xcb\x8b\x17\xee\xd8\x80\x4f\x22\xd8\xf1\x7d\x7e\x76\x22\x36\xed\x4e\x16\xfe\xea\x2e\xf4\xa2\xe9\x3b\x8f\x7a\xed\x98\x50\xf6\x57\x55\xf8\xe1\x81\x28\xb7\xa9\x76\x40\xaa\xe0\x29\xf9\x4a\x0f\x57\x0b\xcf\x0f\x8a\x58\x65\x86\x03\x2b\x88\x17\x53\x52\xc6\x2e\xdc\x36\x45\xc3\x15\x93\x87\x37\xf3\x78\x15\x89\xf3\x05\x09\xdc\x2e\x44\x7f\x84\x7d\x35\x42\xd9\xf2\x89\x1d\xed\xda\xee\x66\x52\xb8\x78\x1b\xae\xca\xf3\xd8\x94\x02\x44\x0a\xb1\xe8\xc4\x0e\x5f\xe0\x86\xc7\x6f\x6c\x4f\xbc\x60\x42\x16\x2a\xd1\xb6\xc3\x67\x89\xad\xd9\x8c\xd4\x52\x71\xce\x32\xe2\xd4\x0a\xf2\x63\x88\x79\x91\xce\x4a\x44\xca\xd7\x2d\x97\xe1\x17\xa8\x76\x36\x5d\xf9\x29\x98\x92\x88\x6f\x84\x81\x10\x07\x38\x44\xb4\x1d\x31\x9d\x84\x8d\x31\x55\x5a\xc0\x5b\x29\xa2\xa2\xfc\xb9\x9a\x82\xbb\xae\xd8\x33\x58\x76\xff\x73\x78\xf2\xff\xd5\xc3\x93\x35\x87\x12\xe5\x5d\xa9\xd5\x07\x12\xfd\xd4\xfd\xf7\x14\xf9\xed\x5b\x1e\x6e\x47\x3a\xd0\x22\xe4\xe7\x8e\xff\x3d\xe3\xcc\x11\x74\x90\xf5\x6e\xfc\x5b\x80\xf9\x43\x4e\x38\xf1\xbe\x77\xcf\xe7\x38\xd0\xcb\x4e\xb1\x2c\x85\x7f\xb0\x6e\xfb\xae\x80\x11\xe2\x12\x5b\x1d\xa6\xa1\x98\x60\xab\xd2\x1b\x9b\x83\xdb\x73\x77\xad\x88\x86\x56\x86\x59\x18\x4f\x3d\x71\x8d\x8b\x52\x07\xce\x06\x1e\xc5\xa8\x05\x81\xd1\x4a\x69\xf5\xfb\xfd\x3e\x59\x56\x40\xa6\xaf\xd1\x55\x7e\xa9\x22\x47\x68\x72\x9f\x8a\xaa\x78\x91\xef\xc9\xe8\x22\x48\xa1\xd1\x9a\x24\x05\xcb\x28\x5a\xc9\x29\xfb\x2c\xdd\x3d\xde\x48\x92\x91\xfa\x16\x15\xb7\x66\x27\xaf\x2b\x16\x13\xf2\xe5\x98\x11\xfa\x36\x5c\x07\x70\x25\x0f\x18\x15\x97\xd0\x13\x0e\xf9\x6c\x1e\xd4\xb7\xd9\xe4\x0f\x73\xe1\x2e\x51\x53\xaa\x8d\x53\x50\x69\x15\xc4\x3b\x84\xe4\x18\x0d\x47\x10\xe0\x28\x03\x9d\xf5\x55\xf2\xb1\x09\x82\x7e\xfb\xff\x24\x93\xb9\x17\xcc\xc8\x54\x81\x08\x70\x74\xab\x46\xaa\xa9\x15\x96\x6e\x4f\x53\x8e\xee\xf0\x7f\x7a\xf1\xff\x0f\x7b\xf1\x24\x4a\x48\x65\x1f\x1e\xb5\x6f\x3d\x26\x5d\x38\xf9\x0d\x72\x86\xd8\x97\x10\xc4\x35\xa2\xdc\xc6\x34\xd8\xf3\x42\x2e\x5c\x44\x2f\xef\xd4\x97\xde\x57\xee\xb5\xdc\xd3\xd3\x02\x27\xc9\xf6\x8d\x38\x0d\x99\xb9\x83\x7a\xc7\x2b\xd1\x50\x84\x8d\x61\x74\x94\xec\x54\x11\xab\x39\x62\x8f\x9e\xbc\x94\x5a\xee\x16\x84\x2f\x88\x55\xdf\x19\xa1\xa7\x8f\x93\x85\x3f\xe1\x7b\x8f\x22\x4d\x46\xf0\xe2\x02\x49\x5d\xad\x93\x08\xe2\x0f\x19\x74\x16\xcf\x11\x45\x95\x10\xfc\x7b\x95\x1c\xa7\x41\xb4\x9d\x58\xd2\xd9\x43\x7a\x44\x86\x34\x89\x1d\x28\xca\x3d\xce\x06\x41\x13\x75\x4a\xfe\x90\x62\xdd\x87\xd1\x19\x38\x1a\xaa\xcf\x09\x17\x1b\x59\x7a\x07\x9b\x3c\xca\x08\xbb\xd8\xfc\xa3\x08\x76\xb0\x51\x15\x42\xf0\xaa\xbe\x86\x7c\x70\x12\xbe\x60\x10\x9e\x11\x5a\xb9\x0e\x5b\xa7\x09\x44\x1b\x17\xce\x8e\x97\x06\xf6\xac\xa7\x81\x73\x27\xc7\x56\xeb\xdc\x89\xc9\xbd\x44\x32\xf5\x3c\x4e\x62\xaf\x8a\x6a\x13\xae\xf7\xa4\x71\x9d\xa8\xba\x5e\x50\xd9\x3c\x50\x32\xd2\xa4\xd5\x5a\x4b\x0f\x11\xfc\x78\xbe\x29\xd7\x0d\xc4\xd7\xf2\xbb\xc7\x57\xd9\x00\xa1\xcf\x15\x6d\x9a\x64\xab\xd5\x32\x0b\x92\x5e\x2d\xfc\x09\xa9\xdc\xe4\x38\x1a\x23\x1f\x5b\x43\xbf\x78\xf9\x3c\xd3\x95\x68\xe4\xb7\xac\xf4\xe5\xf3\xfe\x58\x1c\x8b\x65\x14\x42\x4c\x86\xe1\x51\x86\x01\x0a\x47\xbc\xf7\x32\x1d\x6a\xcf\xe8\x3e\x42\x9d\x26\x1d\x88\x20\x8f\xe9\xd6\xbf\x57\xa3\x66\x73\xb7\x65\x98\x33\x92\x81\x32\x87\xe1\x31\x63\xad\xd5\x7a\x06\x27\xbb\xeb\xcd\x9f\xc3\x92\x36\x4e\x1d\x42\x36\x86\x61\xb2\x7f\xf0\x79\xe5\x26\x3a\x2b\x79\x34\x0a\xc7\xbb\x2d\xf1\x42\x1b\x92\xa0\xaf\x59\xed\xca\x9e\x59\xcf\xc1\xb6\xb2\xb0\xc3\xbc\x1e\xea\x38\xce\x2a\x78\x16\xbe\xa8\xa3\xb1\x96\x0e\xf5\x2e\xbe\x86\xe5\xe7\x72\x9b\x12\x19\x4a\x71\x39\x21\xdb\x97\xa6\xc2\xa8\xca\x4b\xe4\x8b\x4c\x66\x5b\x61\x4b\x3e\xa7\x19\x23\xf9\x23\xb9\x73\xff\x5e\x5a\xab\x71\x61\x26\xcd\xdd\xf4\x47\xd8\xd0\x78\xf7\x7e\x64\x6c\x36\x49\xb0\x53\xc1\x47\xc1\x97\x0a\x1c\x35\xa4\xaa\x37\xc2\x35\x6d\x84\xf7\x8d\x88\x59\x75\x0a\x0f\x12\xa6\x47\x47\x46\xa5\xe3\x1f\x38\x6a\x88\x20\x69\x31\x5c\x7f\xe1\xc7\xb4\x71\x47\x1e\xc3\x60\xda\x80\x4d\x85\x0d\x83\x13\x8a\x8e\x8d\x44\x6f\xb9\xb2\x1a\x3b\x65\x8d\x09\x65\x6a\xa2\x8b\xad\x11\x33\xfe\xa8\xc9\x2d\x19\x44\xa7\x7a\xd4\xca\x8c\x4b\xfe\xbd\xea\x1f\x1b\xda\xee\x96\x39\x59\x6f\x7e\xa6\xf1\xe4\x14\x4b\x06\x55\x93\x3d\x47\xb1\x5e\xf4\xb2\x3e\x8c\xeb\x47\xb6\x0d\xa4\x1a\x7d\x15\xf7\xf9\xfd\xac\xd9\x76\x51\x32\xa6\x14\xfa\x54\x9d\x68\xdf\x67\x4b\x50\x63\x66\xfb\xd1\x64\xbd\xf0\xa2\x0b\x3f\xa6\x7b\xed\xec\x3f\x65\x77\x24\x58\xa4\xc9\x29\xea\xf4\xc3\x2a\x0c\x17\xbb\xe8\xbe\x7e\xf0\x53\x4c\xf0\xd3\xb6\x6c\xa7\x86\x88\x29\x98\x9f\x21\xed\x8e\x27\xe3\xdd\x41\x38\x46\x35\x7b\x47\x02\xb7\x92\x3f\x90\x07\xb9\xd4\xcc\x61\x56\xe1\x2a\x39\x32\x0c\x1f\x1f\xc1\xe4\x6a\x37\x49\x24\xed\x8f\x6f\xff\xeb\xec\xf4\xfa\xf6\xfc\xdd\xed\x9b\xeb\xeb\xcb\xf3\xb7\x3f\x5d\x9f\xb1\xbe\x11\xd1\x7c\xa8\x3f\x88\xaa\x9a\x09\xc2\xc3\x1a\xde\xcb\x69\x97\xb4\xa9\x70\xbd\x98\x36\x58\xb3\x12\x5f\x69\x78\x81\x6c\x5b\x90\xfd\x48\x68\x43\xc8\x67\xaa\x68\x43\x7e\x0f\x6e\xe3\xe5\x9f\x4e\xce\x74\x91\x24\xaa\xa3\x9a\xc4\x75\xe6\x02\x83\xb8\x28\xf9\xa8\xde\x89\x74\x0b\xb5\x53\x15\xee\x6d\xa7\x0a\xcc\xc0\x26\xed\xdb\x10\xf4\x4e\x1c\x24\x4b\xea\x34\x3b\x63\x2f\xe5\x1a\x45\x6d\x2a\xcf\x03\x98\x86\xa6\xe5\x2b\x26\x53\x9a\x6c\xdf\xcc\xc3\x7d\x7e\xf0\x96\xe0\x5e\x25\xe9\x6b\x03\x14\xb1\x6c\xea\x97\x7d\x12\x2b\x53\x8f\x7a\xad\xf0\xee\x1f\x2d\x7f\xaa\x20\x3f\xc3\x3d\x36\x10\x2d\x0d\xf1\xfe\x87\x6f\x4b\x03\x37\x3a\x6c\x5c\xa9\xbc\x4b\x55\xee\xde\xa6\xb0\x7b\x7b\x3b\xd6\x86\xff\x27\x00\x00\xff\xff\x21\x53\x37\x14\x6e\x06\x05\x00") +var _staticJsGottyBundleJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x6b\x6f\x23\x4b\x96\x20\x06\xbf\x81\xf9\xe0\xf7\xfb\x99\xca\x3b\xa3\x9b\x59\x0c\x51\x99\x7c\x49\x22\x95\xa5\x61\xf1\x71\x4b\x7b\x55\x52\xb5\xc8\xba\xd5\x77\x55\xea\xdb\x29\x32\x28\x66\x57\x32\x93\x9d\x19\x94\x4a\x2d\xb1\xbd\x30\xd6\x0b\x2c\x60\x18\x6b\x63\xb1\xde\x0f\x0b\x78\x6d\xcf\x7a\x76\x8d\x85\xb1\x6b\x2c\xfc\x9a\x59\x1b\x98\xfb\x03\xfc\x1f\xfa\x97\x18\x71\xe2\x91\x11\x99\x49\xaa\xee\xed\x9e\x81\x3f\xb8\x54\x24\x33\xe3\x44\x9c\x38\x71\xe2\x44\xc4\x89\x13\x27\x22\x76\x66\xab\x68\x42\x82\x38\xb2\xb0\xfd\x28\x9e\x0d\x62\x05\xf6\x63\x30\xb3\x92\xab\xe0\xda\x4e\x30\x59\x25\x91\x41\x9f\xab\xf8\xd3\x32\x4e\x48\xda\xb9\xf3\x13\x23\xf6\x68\x90\xf7\x18\xb4\x03\x14\xb6\x77\x5c\xc4\x81\xed\xc7\xf5\xba\xc3\x13\x61\x9a\x68\xe2\x87\xa1\x15\x8b\xb4\x28\x46\xd9\x33\xb1\x51\x5c\x0d\xbd\x1d\x27\x0b\x5b\x53\xdc\x89\xf7\xb8\xee\x90\xea\xc2\xc3\x88\x54\x27\x5e\x82\x48\x35\xf0\x54\x52\x05\xfe\x35\x22\xd5\xa9\x02\x41\x09\x0a\xec\x47\x52\x8d\xe9\xa3\xfd\xf4\x74\x71\xf3\x0b\x3c\x21\xd5\x29\x9e\x05\x11\x7e\x9b\xc4\x4b\x9c\x90\x07\x88\xf6\x38\x89\xa3\x59\x70\xbb\x4a\xfc\x9b\x10\x03\xf9\xd1\x6a\x81\xf9\x9b\x83\x6e\x31\x69\x07\x6b\x9b\xe2\x8f\xb4\x9c\x19\x79\x78\x77\x17\x57\xbf\xfb\x0e\xa7\x6f\xe2\xe9\x2a\xc4\x27\x32\x46\x46\x1a\xcd\xd4\x5f\x85\x64\xdd\x2e\x01\x4a\x0e\x91\xea\xd4\x4a\x90\xe9\x9b\x28\xb1\x51\x42\xb3\x8b\xd5\xe2\x10\x99\x84\x97\x64\x99\xc4\x24\x26\x0f\x4b\x5c\x9d\xfb\xe9\xc5\x7d\x24\xca\xc4\xb8\x4c\x13\x50\x1c\x4b\xcf\x34\x11\xb1\x48\x35\xf5\x6a\x87\xf6\xda\xba\x52\x51\xa2\xc4\x7e\x34\x57\x29\x36\x52\x92\x04\x13\x62\x76\x64\xbd\x07\xa2\x80\xc4\x23\xf3\x20\xed\x04\x33\x6b\xc7\xa2\x4f\x46\x10\xa5\xc4\x8f\x26\x38\x9e\x19\x81\x2d\x44\x22\xc2\xf7\x46\x60\xf9\xc9\xed\x6a\x81\x23\x92\x5e\x39\xd7\x28\x7b\x71\xd5\x97\xda\xb5\xdd\x21\xd5\x9b\x24\xbe\x4f\x71\xe2\x8d\x68\xa5\x52\x6c\xa1\x17\xf0\x07\xb4\xaa\x0e\xee\x70\x44\x06\x8b\x80\x10\x9c\xb0\xd2\xd0\x9c\x6d\x64\x46\xab\xc5\x0d\x4e\x4c\xcf\xa3\xc5\x8e\x67\x06\xde\xdd\xb5\xb0\xf7\x38\x89\xc3\xb4\xad\x65\x4e\xd1\xb7\x35\x0a\xe6\x7e\x34\x0d\x71\xd2\x56\x29\x59\xdb\x08\x7b\xf8\xe9\xe9\x71\x8d\x38\x4f\x3f\xe2\x87\xd4\x0a\x44\x7d\xa5\x76\x75\x16\x27\x03\x7f\x32\xb7\x24\xd7\x12\xfb\x31\x5a\x85\xa1\xe7\xe1\xab\xe4\x9a\x66\x7f\x95\x5c\x7b\x41\x35\x5e\x52\x68\x7a\x95\x5c\xa3\xe0\x2a\xb9\xde\xf1\xbc\x0c\x8b\x1a\xf1\x2a\xb9\xb6\x6d\x44\xe8\x33\x0d\x58\xdb\xe8\xd0\xf3\x3c\x5c\x9d\xc4\x61\x9c\xa4\xd5\x10\x47\xb7\x64\x7e\x22\xde\x33\xc0\x24\x8e\x26\x3e\xb1\x82\xea\x77\x3c\x20\x0d\x83\x09\xb6\x0e\x6d\xbb\xed\xb6\x7e\x1b\x0c\x6e\x8b\xa2\x70\x3e\x0b\x05\x4b\xe1\xa0\xbd\x9a\xbd\x91\x20\x0a\x44\xb9\x14\x7b\x35\x9a\x47\x49\x41\x29\x5b\x3e\x9f\xd0\x4d\xa8\x6d\x44\xc5\x23\x8f\x87\x05\xf2\x7a\xa1\xbd\x07\x7d\x5d\xfa\x09\x8e\x88\x87\xab\x37\xf1\xf4\xe1\xe9\x09\xf3\x80\xa7\x27\xab\x7b\xd2\xad\xde\x62\x32\x08\x31\x48\xc7\xab\x87\xb1\x7f\x7b\xee\x2f\xb0\x65\xd2\xa8\xa6\x7d\xe5\x5c\xb7\x69\xc5\x67\x99\xf1\xac\x52\x8a\xe6\x16\xc7\x0b\x4c\x92\x07\x2a\x7b\x00\xa7\x02\xe8\x61\xf8\xd1\xe0\x2e\x87\x8b\x00\xef\x4a\xa2\xcb\x12\x5e\x23\xda\xa6\x41\x5e\x77\x77\x59\x31\x22\xcb\x9c\xfa\xc4\x37\x33\x08\x27\xe4\xe1\xc6\x4f\xb1\xe7\xf0\x97\x69\x90\x2e\xc5\xcb\x27\x19\x2a\x1e\x26\xab\x24\x8d\x93\x11\xf1\x09\xd6\x83\x5e\x07\xd3\x29\x8e\xbc\x1d\x57\x14\x2e\xba\xc3\x09\x19\xc4\x21\x7b\xff\xe5\x0a\xaf\x30\xf4\x23\xf4\x2d\x9d\x24\x71\x18\x8e\x63\x99\x11\x0b\x78\x15\x13\x12\x2f\x3c\x59\x88\x3d\x81\x6c\x95\x92\x78\xf1\x35\x7e\x80\x56\xfd\x9a\x11\xef\x51\x56\xaa\x14\xbc\x0a\x83\xe8\xe3\x69\x44\x70\x72\xe7\x87\x0a\xd4\x5f\x2e\xc3\x60\xe2\xd3\x4a\xfc\x1a\x3f\x2c\xfd\xa9\x24\x52\x81\xf4\x00\x85\x84\xc4\x49\x70\x1b\x44\x6f\xe2\x29\x96\x41\x41\x94\xe2\x84\x68\x41\xf7\x89\xbf\xf4\x93\x78\x15\x4d\x59\x30\x2f\x4c\x14\x27\x0b\x8d\x82\xc9\xdc\x4f\x52\x4c\x94\x90\xdb\x92\xa0\x10\xdf\xe1\x50\x32\x95\xc1\x53\xef\x8a\xc6\xe0\x35\x3e\xc5\x93\xb3\x78\xe2\x93\x38\xe1\xd5\xe3\x3a\x6f\xe2\x55\xca\x05\xf3\x8e\xd4\x1c\xfd\xbd\xae\xbd\x33\xb2\x94\x80\x05\x7d\x04\x96\x72\xc1\x49\x71\x34\x1d\xc6\x93\x15\x7f\x5d\x91\x99\x12\x3b\xbd\x4d\x94\xb7\x55\xf2\xe9\x8e\x28\xef\x98\x09\xbd\x20\x3e\x08\xa7\x09\x8e\xb8\x38\xe2\x59\x82\xd3\xf9\x88\xf8\x09\xd1\x42\x06\xd1\x94\xa3\xf6\xef\xf0\xf4\xa7\xca\xf3\xb7\xca\x73\x2f\x93\x6b\xec\x4f\xe9\x88\x2a\x19\x7d\x9f\x04\x44\x0b\x98\xe2\x59\x97\x90\xc4\x73\xeb\xee\x61\x23\x13\x4f\x08\x53\x23\xc8\x96\xec\x2f\x52\xef\xea\x5a\x46\xa4\x0d\xf9\x2d\x0d\x15\xd5\xb0\x4c\xf0\x2c\xf8\x24\xe5\x76\x19\xa7\x44\x7d\x0f\xa2\xe5\x2a\x93\x47\x7c\x6f\x2c\xaa\xa7\x4a\x10\x1f\x73\x44\x66\x29\x8f\xf4\x50\x7d\x0b\x2f\x56\x01\x07\x52\x12\x24\x38\x9a\xe2\x04\x73\xc2\xc5\xdb\xd3\x53\x26\x31\x29\x0e\x31\x8c\x28\x6f\xfc\xc8\xbf\x15\x31\xf3\xa1\x6a\x0a\xda\x42\x82\x59\x20\xa2\xca\xd7\xa7\x27\x4a\xd7\x77\xd5\x33\x11\x90\xf1\x17\xbf\x5a\xcd\x66\x38\x91\x5c\x82\xb0\x53\xaa\x29\xdc\x26\x38\x4d\x65\x5b\xf8\x14\xcf\x66\x23\x1c\x91\x71\xdc\xf3\xc9\x64\xfe\x6e\xa9\xb4\x92\x80\xe0\x11\x89\x97\x4b\x9c\x35\xbd\x74\x95\x24\xf1\xad\x4f\xf0\x77\xf3\xe0\x76\x2e\x19\x1a\x06\x11\x4e\x81\x49\xb3\x6a\x2f\x48\x26\xab\xd0\x4f\xce\x82\x94\x58\x4a\x2f\x71\xe3\x4f\x3e\xda\x9d\x59\x9c\x58\x4c\x7b\x92\xdd\x45\x27\xd9\xdb\xeb\xd8\x19\x9e\xea\x72\x95\xce\x59\xca\x9b\xd0\x8f\x3e\x9e\x05\x11\xb6\x6c\xbb\x53\xca\x26\xde\x4b\xe6\x83\xab\x29\x26\x8c\x03\x56\x86\x98\xd7\x10\xf1\x6f\x64\xc3\x21\xab\x25\x2d\x62\x6a\x71\xd8\x2a\xc5\xc9\x08\xc8\x0d\xa2\x5b\x6f\xc7\x5d\x4b\xb5\x28\x66\x5a\x13\xd5\x2c\xbb\x49\xe2\x3f\x54\x83\x14\x7e\x2d\x6c\x3f\x3d\x59\xd8\xbb\xc2\xd7\x74\x88\x2a\x68\x0d\xd8\x7e\xc4\x55\x7f\x3a\x85\x06\x4b\x79\x82\x23\x4a\x14\xc5\xf4\xf4\xb4\xe3\xda\x6b\x3b\xcb\x23\xcd\xf2\xc0\xd5\x04\x2f\xe2\x3b\xbc\x31\x99\x4c\xc4\x35\x44\xf9\x9e\x58\xf6\xa3\xe8\xcb\x53\x92\xac\x26\x24\x4e\x3c\xbc\x4e\x32\xad\xd1\x53\x34\x48\x84\x95\x70\x5a\x81\x49\x86\xd9\x67\x98\xb9\xb2\x2b\x34\xb7\x6a\x90\xbe\xf1\x27\xbb\xbb\xa4\xea\x87\xe4\x6b\xfc\xb0\xbb\xbb\x43\xaa\x13\x92\x84\xe2\x79\x81\x89\xff\x35\x86\x31\x56\x49\x32\x7a\x1f\x44\xd3\xf8\x3e\x55\x13\x96\xa6\xe3\x4a\xb1\xf9\x11\x3f\x2c\xa9\xa8\x52\x9d\xaf\x4a\xc9\x3b\x49\xda\xc9\xee\xae\xb5\x03\xba\x5a\x2f\x9e\xe2\xa7\x27\xf9\xf8\xb2\x71\xa0\xb0\x24\x14\x1a\x2e\x9b\xa2\xe0\xe3\x63\xb7\xf5\x44\x8e\x8f\x0f\x9f\x12\xaa\xce\xd2\x86\xb5\xe3\x85\xd5\xef\x26\xfe\x64\x8e\xaf\x62\x39\xbd\x51\x82\xa4\xa0\xa6\x28\x42\x3e\x9a\xa3\x09\x5a\x79\xee\xbe\x83\x96\xde\x9e\x8b\xa6\x9e\xd3\x99\x1e\x07\xd5\x3b\x4d\xa7\xe9\x4c\x2b\x15\x98\x32\xa5\x9e\x04\x5d\x4d\xaf\x51\xe4\x31\xb5\xd8\x63\xea\xa8\x47\x15\x50\x44\xf5\x2e\x6b\xe2\x85\xd5\x69\xc0\xb4\x6a\x5e\xf7\x90\x9b\x6d\xdb\x8f\x4b\x6f\xda\xb9\x49\xb0\xff\x71\x3d\x39\x5e\xed\xee\x5a\x2b\x6f\x82\x96\xde\xd4\x5e\x17\x89\xf5\x96\x59\xd9\xe7\xca\xcc\x88\xeb\x87\x92\x5d\xee\x41\xee\xfd\x50\x7d\x5f\xef\xbf\xd8\xf9\x3d\xe3\x85\xf1\x89\xe0\x64\x61\x58\x73\x42\x96\x69\x7b\x7f\x3f\x5a\x2e\x7e\x41\x85\x69\xb1\xbf\xf4\x27\x1f\xfd\x5b\xbc\x0f\x11\x6c\x1a\xf5\x0f\xa9\x26\x16\xa5\xd8\x78\x73\x3a\x86\xf7\x3b\x9c\xa4\x94\x8a\x5a\xf5\xb0\xea\xd2\x10\xcf\x83\xd8\xfb\x67\xa7\xbd\xc1\xf9\x68\xe0\x79\x34\xb0\x17\x2f\x1f\x92\xe0\x76\x4e\x0c\x6b\x62\x1b\x35\xc7\x6d\xec\xd5\x1c\xb7\x85\x8c\x51\xbc\x4a\x26\xf8\xcc\x0f\x12\xe3\x6d\x12\xdc\xf9\x04\x1b\xbd\x78\xb1\xf4\xa3\x87\x8c\x9e\xfb\xfb\xfb\x6a\x0a\xf1\x42\x3f\x48\x28\x61\x76\x29\xce\x1a\xc5\x59\x47\x46\x6f\x9e\x04\x29\x89\x97\x73\x9c\x18\x7f\x09\xcf\x66\x09\x56\x90\xdd\x06\x64\xbe\xba\x81\xd2\x4d\xe6\xbf\xf8\xc5\x3e\xa0\xa2\x9f\xb7\x38\x59\x04\x29\x94\x25\x48\x8d\x39\x4e\xf0\xcd\x83\x71\x9b\xf8\x11\xc1\x53\x64\xcc\x12\x8c\x8d\x78\x66\xd0\xe1\xfe\x16\x23\x83\xc4\x06\xa5\x71\x89\x93\x94\x76\x15\x37\xc4\x0f\xa2\x20\xba\x35\x7c\x63\x12\x2f\x1f\x28\xbe\x78\x66\xc0\x1c\x2a\x8d\x67\xe4\xde\x4f\xb0\xe1\x47\x53\xc3\x4f\xd3\x78\x12\xf8\x04\x4f\x8d\x69\x3c\x81\xc9\x09\x68\x35\xc6\x2c\x08\x71\x6a\x58\x64\x8e\x0d\x73\xc4\x53\x98\x36\xe4\x33\xc5\x7e\x48\x11\x06\x91\x41\xc1\x02\x6a\xdc\x07\x64\x1e\xaf\x88\x91\x60\x36\xa3\x0b\xe2\x08\x19\x41\x34\x09\x57\x53\x4a\x89\x00\x87\xc1\x22\xe0\x99\xd0\xe4\xc0\xb1\x94\xe2\x23\xb1\x41\xb5\x02\x20\x18\x19\x8b\x78\x1a\xcc\xe8\x2f\x86\xf2\x2d\x57\x37\x61\x90\xce\x91\x41\x85\x35\x09\x6e\x56\x04\x23\x23\xa5\x81\x50\xfd\x88\x96\x66\x3f\x4e\x8c\x14\x87\x40\xdc\x24\x5e\x06\x38\x65\x85\xce\x68\x84\x68\x34\xa3\x25\x65\x2e\xe1\xec\x4a\x69\xc8\xfd\x3c\x5e\xe8\xe5\x09\x80\xaa\xd9\x2a\x89\x82\x74\x8e\x21\xd9\x34\x36\xd2\x18\xf2\xa5\x33\x36\x1a\x42\x53\xcc\xe2\x30\x8c\xef\x69\x19\x27\x71\x34\x0d\x40\xe9\x6f\x8b\x6a\x1c\xcf\xb1\xe1\xdf\xc4\x77\x18\xca\xc5\xe4\x23\x8a\x49\x30\x61\x15\x00\x55\xb2\xcc\xaa\x9a\x83\xd2\xb9\x1f\x86\xc6\x0d\xe6\xfc\xc3\x53\x23\x88\x28\x36\x1a\x2a\x8a\x96\x50\x3a\x68\xcb\x25\x81\x1f\x1a\xcb\x38\x81\x8c\xf3\x45\xae\x4a\x42\x5e\x0f\x8c\xd1\xc5\x70\xfc\xbe\x7b\x39\x30\x4e\x47\xc6\xdb\xcb\x8b\x6f\x4e\xfb\x83\xbe\x61\x76\x47\xc6\xe9\xc8\x44\xc6\xfb\xd3\xf1\xeb\x8b\x77\x63\xe3\x7d\xf7\xf2\xb2\x7b\x3e\xfe\xd6\xb8\x18\x1a\xdd\xf3\x6f\x8d\xaf\x4f\xcf\xfb\xc8\x18\xfc\xf4\xed\xe5\x60\x34\x32\x2e\x2e\x29\xb6\xd3\x37\x6f\xcf\x4e\x07\x7d\x64\x9c\x9e\xf7\xce\xde\xf5\x4f\xcf\xbf\x32\x5e\xbd\x1b\x1b\xe7\x17\x63\xe3\xec\xf4\xcd\xe9\x78\xd0\x37\xc6\x17\x90\x27\xc7\x76\x3a\x18\x51\x7c\x6f\x06\x97\xbd\xd7\xdd\xf3\x71\xf7\xd5\xe9\xd9\xe9\xf8\x5b\x44\x71\x0d\x4f\xc7\xe7\x14\xf3\xf0\xe2\xd2\xe8\x1a\x6f\xbb\x97\xe3\xd3\xde\xbb\xb3\xee\xa5\xf1\xf6\xdd\xe5\xdb\x8b\xd1\xc0\xe8\x9e\xf7\x8d\xf3\x8b\xf3\xd3\xf3\xe1\xe5\xe9\xf9\x57\x83\x37\x83\xf3\x71\xd5\x38\x3d\x37\xce\x2f\x8c\xc1\x37\x83\xf3\xb1\x31\x7a\xdd\x3d\x3b\xa3\xb9\x51\x74\xdd\x77\xe3\xd7\x17\x97\x94\x50\xa3\x77\xf1\xf6\xdb\xcb\xd3\xaf\x5e\x8f\x8d\xd7\x17\x67\xfd\xc1\xe5\xc8\x78\x35\x30\xce\x4e\xbb\xaf\xce\x06\x2c\xb7\xf3\x6f\x8d\xde\x59\xf7\xf4\x0d\x32\xfa\xdd\x37\xdd\xaf\x06\x90\xea\x62\xfc\x7a\x00\x85\xa4\x31\x19\x99\xc6\xfb\xd7\x03\x1a\x4a\x73\xed\x9e\x1b\xdd\xde\xf8\xf4\xe2\x9c\x96\xa7\x77\x71\x3e\xbe\xec\xf6\xc6\xc8\x18\x5f\x5c\x8e\x65\xea\xf7\xa7\xa3\x01\x32\xba\x97\xa7\x23\xca\x99\xe1\xe5\xc5\x1b\x28\x29\xe5\xee\xc5\x90\xc6\x3a\x3d\xa7\x49\xcf\x07\x0c\x11\xe5\xbc\x5e\x41\x17\x97\xf0\xfe\x6e\x34\x90\x38\x8d\xfe\xa0\x7b\x76\x7a\xfe\xd5\xc8\x38\x3d\xcf\x57\x28\xad\xe5\xfd\xdf\x2b\x37\x33\x11\x64\x66\x26\x22\x13\x3d\xde\xf9\xe1\x0a\xb7\x77\x9c\xb5\x0d\x06\xb4\x89\x97\x58\x6e\xd3\x46\x2b\xfa\x6b\xa3\xa5\x97\x58\xb5\x9a\x8d\xa6\xf4\xb7\x6e\xa3\x19\xfd\x6d\xda\xe8\x96\xfe\xda\x68\x41\x63\xb5\x6c\xf4\x40\x7f\x0f\x6d\x74\x43\x7f\x8f\x6c\xf4\x1d\xfd\x3d\xb0\x51\x8f\x46\x73\x6c\x74\x4f\x7f\x1b\x36\x1a\x79\x89\x75\x68\xa3\x3b\x2f\xb1\x8e\x6c\xd4\xf5\xcc\x55\xc4\xc8\x9b\x9a\x3b\xc2\x92\x72\x0f\xe3\xf2\x09\xfb\xa9\x8a\x7e\x08\x66\xbc\x9d\xc8\x0a\x72\x46\x19\x1b\x05\x8a\xf9\x09\x27\x7e\x8a\x41\x4d\x2f\x98\xb7\xf6\x9a\x6e\x6d\x57\x55\xde\x9f\x9a\xae\xbb\xab\xaa\xf6\x6b\x14\x54\x89\x1f\xdd\xc6\x3d\x36\x7d\xbf\x32\xbf\xa8\xe1\x7a\xa3\xde\x32\x91\xf9\xc5\x64\xe2\x38\x8e\x43\x9f\x1a\xf8\xc8\x77\x58\x58\xc3\xe7\x61\xf5\x46\xab\xe9\x37\xe8\xd3\x41\xb3\xe9\x1c\xdc\xd0\x27\xa7\x75\x74\x78\xe4\xd3\xa7\x69\x7d\x7a\x30\x99\xd1\xa7\x66\xb3\x79\xd0\xac\xd3\x27\x3c\xab\x1d\xd5\x8e\xe8\xd3\xa1\x8f\x6b\x75\x48\x3b\x9b\xe0\xa3\x06\xc4\x3b\xa8\x1d\xcd\x58\x0a\x7f\x7a\x30\xf3\x0f\x59\x1e\xb8\x86\x6b\x90\x96\xfe\x9b\x98\xd7\x28\x10\x96\x06\xa5\xb4\x72\xe0\xc5\xc2\xf0\x18\x33\x05\xd6\xfc\xc2\xac\x10\x0b\xdb\x15\x62\x25\xf4\x2b\xb0\x15\x0d\x85\x64\xa3\xb4\x85\x3d\x5c\x25\xf1\x88\x24\x41\x74\x0b\x46\x19\xae\x4e\x1c\xd7\x4e\x4c\xc7\xac\xe0\x36\x66\xe6\x50\x14\x7b\x1a\xc3\xb8\x1d\xc4\x46\xa9\x77\xe5\xa0\xa3\x26\x72\xeb\x4d\xe4\x1e\x34\x51\xcd\x6d\xa2\x5a\xb3\xc9\x74\x98\xc4\x73\x3a\xc9\x71\xcd\x6d\x75\x92\x4a\xc5\xc6\x56\x7a\x95\xec\xd7\x5b\x7f\xd0\x7a\x72\xae\x11\x7d\xce\x1e\xff\xa0\x75\x6d\xab\x49\x1a\x22\x85\x77\x58\x71\x9d\x17\x09\x4a\x51\x6a\x0b\x93\x65\xbc\xb6\xa8\x28\x70\x43\x8d\x17\xe8\xb6\x19\x0a\xba\x2b\xe1\x15\xd7\xa9\x30\x22\x74\x62\x92\xc8\x64\x28\xf6\x9c\x4e\x7c\x5c\x6b\xb6\x3a\x31\xcd\xd3\x83\x69\xd7\x69\x44\xac\xe4\x2a\xbe\xae\x42\x4f\xcb\xd8\x63\x23\x2a\xff\x84\xb1\xf8\x0a\xbf\x7c\xe9\xb6\x76\x6b\xcd\x26\xc2\x2f\x5f\x1e\xc2\x43\xad\xd9\xdc\xc5\xd7\x92\x4e\xc2\xe8\x14\x06\x39\xb0\x18\xc6\x49\xda\x0e\x32\x5b\x11\x5e\xe0\xb6\xc9\x23\x98\x28\xb3\x80\xb4\xe9\xa4\x07\x27\x8b\x73\x9f\x46\x00\x35\xc6\x44\xc2\x7a\xd3\xbe\x3a\x74\x50\xad\x71\x8d\x14\x23\x06\x4d\x20\x0c\x2d\x0f\x21\x6e\x9b\x37\x61\x3c\xf9\x68\xa2\xbb\x20\x5d\xf9\xe1\x2b\x1c\x02\xca\x65\xbc\xbc\x88\xc4\x4b\x36\x35\x6a\xbb\xb8\x4e\x5f\x31\x8e\xbe\xc6\x0f\x29\x05\x4e\xf1\xcd\xea\x16\x90\x82\x79\x94\x4d\xf9\x01\x10\xa4\x74\xfe\x3c\x22\xd3\x20\xa2\xef\xab\x14\x0f\xc3\xf8\xbe\x17\x47\x24\xe1\x74\xfb\x37\x74\x5e\xf3\x3e\x98\x92\x79\xfb\x90\xb6\x34\x61\x0e\x7b\xa4\x2f\xb3\x78\xb2\x4a\x99\x11\x23\x6f\x14\x0e\x66\x96\x9c\xc5\xd8\xd2\x8c\x2d\xa6\x35\x34\x8a\x54\x8d\x03\xcf\xe9\x04\xc7\x58\x68\xbf\x41\xa5\x62\x13\x66\xb4\x4d\x10\xbe\x0a\xae\x51\x80\xb0\xbd\xd6\xa6\x42\xc1\xcc\x52\xec\xad\xb6\x6e\xd6\x06\x13\x2c\x66\xfd\x22\x41\x74\xee\x0a\x59\x11\xaa\xeb\x60\xfb\xb3\x6d\xdf\xbb\xbb\x09\x9f\x42\x4a\x29\x48\xd6\xaa\x69\x17\x69\x14\x5d\xe1\x6b\xd5\x62\x8b\xaf\x33\x66\x15\x40\x6b\xbd\xfb\x63\x6c\x2c\x5a\xf6\xd9\x34\x13\x7f\x22\x7e\x82\x7d\x16\xcb\xb2\xd7\x5a\xd2\x5b\x4c\x2e\x20\x93\x9c\xa1\x1f\xac\xed\x54\xf1\x30\x14\x82\x6d\x32\x4f\xe2\x7b\x30\xb5\x0f\x92\x24\x4e\xac\x2f\xcf\x63\x83\xd1\x08\x8a\x9d\xf1\x11\x3f\x18\xe6\x97\x15\x5c\xf9\xd2\xfc\x52\x16\xfa\x2e\x0e\xa6\x86\xb3\xe3\x79\xaa\x39\xf4\x0a\x5f\x9f\xe4\xde\xdb\xf4\x9d\x16\x4e\x23\x30\xfd\x73\x24\x30\xbd\x0f\xc8\x04\x26\x2a\x13\x3f\xc5\x66\xd6\x08\xcc\x76\x30\xb3\xc8\xb1\x34\x0d\x88\xc9\xa7\x39\xc2\x84\x50\x15\x8f\xea\x56\x59\x74\x03\x06\x53\x23\xc4\x69\x6a\x90\xb9\xcf\x54\x5a\xb6\x52\x40\x15\x31\x8a\xc1\x30\xa5\x0c\x54\x3c\xd3\x32\x2b\x12\x77\xc5\xb4\xa9\x6a\x1f\xc5\x84\xea\x75\xf1\x3d\x9e\x56\xa1\xf5\xa7\x71\x88\xab\xf7\x7e\x12\x59\x89\x8d\x76\xdc\x35\xa5\x48\x67\x18\x65\x29\x30\x42\xb1\x59\xb0\x36\xf0\x92\x88\x39\x67\x01\xb4\x47\x50\xea\x65\xa6\xda\xbd\xf8\xd8\xe9\x28\x91\x48\x12\x2c\xc0\xd4\x66\xc5\x9a\x79\xf7\x8d\x4f\xe6\xd5\x85\xff\xc9\xca\xc2\xf6\x62\xe4\xd8\xaa\xd5\x37\x17\x87\xa1\xa7\x71\x52\x6e\x1d\xe1\x86\x3b\xcb\x41\x8a\x8d\xd6\x5e\x2b\xd9\x2f\xfc\x4f\x67\x40\xa6\xc7\x6d\x7d\x77\x01\xbe\xa7\x4a\x6d\x35\x7d\x88\x26\xcc\x22\xd2\x4d\xb0\x6f\xd9\xeb\x35\xaf\x3d\x2e\x35\x22\x81\xd2\x64\x08\x12\x35\xab\x74\x8e\x66\x5b\x98\x5c\x7a\x59\x20\xed\xd2\x89\xcd\xa6\xb9\x1d\x25\x05\xf4\x9f\x3c\x05\x37\x51\x56\x27\xa1\x9f\xa6\x67\x41\x4a\xaa\x24\xbe\xbd\x0d\xb1\xc5\xba\xe4\x3d\x96\x62\x2f\xa5\x49\xf6\xa8\x7e\x93\xd0\x22\x99\xc8\xcc\x9e\x3d\x5a\x61\xe8\x87\x63\xbb\xf1\x13\x13\x99\xf4\x1b\x30\xa8\x74\xaa\x1d\x6c\x56\x34\x69\x4d\x5a\xeb\x8d\x89\x4e\xca\xfc\x24\x57\x72\xb5\xe3\xd8\xc4\x1b\x85\xb3\xaa\xb9\xdc\x2e\xb4\xd5\x4d\xa8\x71\x26\xa8\x9f\x59\xf4\x1b\xa8\x2d\x84\xc5\x72\x47\x88\xfd\x44\xc7\x2e\x8c\xf5\x96\x8d\xf4\xa5\xc2\x8d\x56\xfd\x14\x13\x99\x48\x2d\xf5\x0f\xa2\x69\x2f\x8e\x4c\x7b\x8d\x5a\x8e\x93\x67\xef\x16\x1a\x0b\x4c\x2e\xe6\xc8\x0c\x6d\x1b\x73\xdc\xb8\x56\xb1\xbb\x6b\x41\xc6\xb2\x64\x9b\x22\x6e\x46\x01\x43\x30\x54\xe6\x4d\xc0\x6d\xf8\x5a\xd5\xc5\x16\x96\xe3\x08\x32\x61\x20\x31\xb3\xd1\x8b\xd8\x8f\x38\x33\xfe\xef\xee\xb2\x17\xeb\xb6\xda\x73\xaa\x83\x51\xaf\x62\x5e\x9d\x9a\x36\xc2\x25\x45\xf6\xa7\x53\x8b\xa3\xa3\x11\xd2\x79\x7c\xcf\xd8\x47\xab\xb4\x5c\x5a\x61\xd5\xe5\xc1\xc2\xb6\x54\x1f\x30\x45\xbd\x08\x88\xc0\x84\x1e\x29\x03\x83\xc8\x0f\xdb\x78\x6d\xaf\x73\x32\x7a\x13\xae\x4a\x66\x09\xb9\xa1\x92\x46\xb2\x24\x3f\x5e\x69\x49\x0a\xec\xa0\x91\xf3\xdc\x10\x3d\x1d\xae\x3e\x20\x5c\x7d\x80\xc2\x6d\x63\xd0\xc5\x06\x06\x09\x99\xc8\x78\xb4\x45\xc6\x8a\xac\x01\xcd\x4a\x70\x87\xd1\xb9\x95\x39\x41\x14\x90\xaf\xc2\xf8\x46\x97\x57\x50\x95\xa1\x65\x21\xb1\x16\x0f\x7c\xa1\xfa\x21\x5f\xa3\x50\x04\x47\x0b\xa1\xac\xe3\x01\xb1\xd6\xfa\x91\x39\x89\x97\x0f\x0a\xdb\x12\xca\x36\x65\x49\xe9\xe9\x69\x5a\xa5\x51\xc4\x5a\x48\x82\x08\x30\x51\xb7\xaf\xdb\x7c\xfa\x9a\x94\x39\x64\x4c\xab\x4b\x3f\x25\x58\x60\x00\x7f\x84\x0e\x27\x23\xab\x3e\x88\x03\x1e\x0f\x79\x0a\x33\x08\x51\x2c\xc8\xc3\x20\xc1\xb3\xf8\xd3\x49\x3e\x36\xd0\x3e\x8d\xef\x23\x5d\x16\x6a\x9e\x47\xaa\x37\x2b\x42\xe2\x68\x77\x77\x5a\x05\xd3\x4f\x2f\x0c\x26\x1f\xe5\x22\x0f\x52\x84\xa9\xb4\x84\xed\x22\xeb\x22\x9a\x62\x81\xa3\x95\x9e\xd9\x8f\xc3\xaf\x15\xef\x2c\x88\x56\x9f\x76\x77\xf3\x59\xfa\xab\x4f\x13\x8a\x55\xcf\xcf\xf5\xf4\xd2\x51\x61\x1d\xe3\x4f\x84\x0e\xd1\xef\xe8\xb0\x07\x4b\x7c\xbc\x49\x3f\x4f\x88\x68\x70\x54\xb0\x0a\x0d\x4e\x92\xf2\x11\x3f\x14\xd9\xdc\xad\xfa\x13\x12\xdc\x61\xbe\x7a\xce\x94\x4d\xda\xd2\x3e\xe2\x87\x7e\x7c\x4f\xe3\xac\xd1\x8e\x43\x2b\x59\x47\xc5\x6c\xfb\x9f\x8d\xeb\x2d\x8d\xbe\x11\xd9\x6a\xa9\x63\xa2\xba\xff\xd3\x13\x57\xd0\x2d\xac\xa4\xca\xe4\xaf\xb4\x38\xe5\x74\x6b\x89\x4a\x08\xd7\x28\xe4\xfa\x13\xd5\x4c\x3d\xd3\x2c\x43\x32\x89\x17\xcb\x38\x65\x96\x4a\xda\xd1\x9a\xe0\xda\x20\xc3\x5e\xe3\x70\x89\x93\x6a\x3e\x16\xd4\x90\x55\x12\xd3\xde\x82\x7f\xb5\x9c\xfa\xb4\x2d\x3d\x93\x01\x8b\xf6\xa3\x72\xc0\xd1\xf4\x59\xf4\x38\x9a\x6e\xc3\x8d\xc1\xc9\x81\x77\xdd\xe5\xc8\x18\x81\xbd\x2c\x5c\x78\x6b\xfc\x00\xbc\x7a\x8d\x81\x67\x03\x5f\x38\x65\xbe\x04\x16\xa9\xa6\x6c\xb1\xbb\x8a\xa3\x69\x49\x1f\x9d\xe2\x84\x5c\xc6\xf7\x25\x5d\x9e\x19\xc3\xe4\x34\x33\xaa\x31\xf7\xa4\x6e\x75\x92\x60\x9f\x08\x81\xb6\xcc\x69\x70\x67\x0a\xa7\x95\x84\x4d\xd8\xfd\x20\xc2\x09\x1d\x41\x70\x34\xed\xcd\x83\x70\x6a\x49\xcd\x8b\x2f\xc7\xb3\xc9\x2c\xb6\x11\xd6\x09\x8a\x97\x38\x3f\x39\xcb\x56\x56\x51\xc0\x7e\x52\x3a\x47\xe7\x0a\xa0\x70\x81\x79\x7a\x52\x5e\xd1\x8e\xf2\x52\x98\xc7\x99\x63\x3e\x6a\x19\x09\xfe\xe5\x2a\x48\x70\x6a\xf8\x06\x8b\x6b\x88\x51\xd3\x64\x16\x01\xb1\xe6\x48\xa5\xc4\x53\x70\x56\xe3\xfb\x08\x27\x7d\x6e\x57\x14\x73\xc6\x6f\x02\x7c\xcf\x17\xff\x39\x64\x73\x1a\x16\xef\x26\x9e\x3e\x78\x5a\x8a\xe7\xbc\x76\x34\x8d\x3f\x97\xb4\xac\x62\x36\xcd\x10\x40\x5b\x12\xc3\xf7\x33\xd1\x98\x99\xe8\x33\xe2\xec\x81\xe1\x69\x8f\x4f\x48\xe1\xc5\x46\x3f\x74\x1a\xa0\x67\x93\x62\xd2\x25\x7c\x79\xc6\xa2\x33\x94\x20\x9a\xe2\x4f\xa6\x9c\x2d\x8a\x39\x9d\xe8\x5f\xcb\xc5\xb3\x34\x6e\x79\x11\x44\xa4\x7c\x79\x55\x69\x2e\xc3\x96\xcb\x23\x9b\x5e\x7e\x16\x49\x59\xf4\x72\xaa\x98\x7d\x60\x8f\xf6\x54\x9b\x4a\xb3\x91\xc0\x0c\xb7\x9d\x73\xd6\x90\x6d\x75\x2b\x8d\xc5\xe8\x1b\x68\x14\xf1\x9e\x65\x5d\x11\x63\x49\xff\xb1\x95\x26\xad\xa3\x29\xa5\x86\x2a\x21\xcf\x12\xa2\xa2\xc9\xf5\x50\xd2\xcb\x44\x7a\xa6\x54\x7d\x42\xfc\xc9\x7c\x1c\xf7\xe3\x85\xd5\xd5\x63\xf3\xc4\x73\xe8\xa6\x3f\xaf\x08\xb9\xb8\xe5\xa5\x60\x91\x9e\x2f\x48\x0e\x99\xf0\x0a\xe1\x83\x5b\x91\x0e\x01\x31\x73\x31\xb7\x51\xb1\xb7\x31\x91\xde\x48\xfd\x15\x89\x27\x71\x92\xd0\xc1\x03\x99\xf1\x6c\xf6\x39\xf1\xfd\x65\x40\xfc\x30\xf8\x15\xfe\xac\x24\xe9\x12\x87\xe1\x64\x8e\xa9\x0e\x69\xce\xfc\x30\xc5\x85\x04\xc4\xbf\x39\xa5\x5d\x85\x70\x9f\x92\x80\x82\xdf\x4a\x61\x0e\x6a\x3f\x06\x9b\x26\x81\xc1\x1a\x74\xdc\x67\x10\xe6\x66\x71\x19\xbe\xfc\xb4\x49\x41\x97\x17\x87\x42\x15\x8b\xfc\xa4\xcb\xa6\x54\x0e\xe8\xb8\xb3\x55\xd4\x72\x71\xf3\x95\xac\x80\xa1\xfb\x2b\x49\xc6\xf4\x0f\x70\xa6\x99\x54\x7b\xf9\xf0\xdc\x34\xa8\x2c\x4f\xd5\x9d\xec\xd9\xa2\xe6\xd2\xda\x99\x1f\xe2\x28\xf8\x15\x06\x43\xda\xc6\xfe\x1e\xac\x5c\x9b\xda\x58\x31\xa7\x12\x9c\x76\x27\xcd\xac\xb5\x9d\xb4\x52\x61\x7e\x5c\x52\x57\xb2\xec\x9c\xf6\x51\x44\x8b\xb5\x31\x81\x66\xf2\x06\xfb\xe9\x2a\x61\xee\x48\xf7\xd5\x5e\x16\x22\x7a\x92\xf2\x16\xac\x24\x05\xc5\x0f\x7c\x31\x83\x5f\xe1\xc9\xdc\x8f\x6e\xf1\x34\x27\x64\x5c\xa3\x54\xcb\x94\x5a\x52\xc2\x54\x5c\x0b\x9e\x79\x6e\x2c\x01\xf2\x96\xd5\x6f\xf8\xab\xc5\xe6\xe9\x25\xa3\xcd\xa6\xd1\xab\x90\x53\xde\x83\x90\x66\x70\x53\xbd\xe4\xaf\xaa\x57\x62\xc1\x85\x90\x46\xed\x55\x47\xb9\x60\x85\x26\x30\xf3\x16\xc7\x83\x4d\x34\x14\xfc\xe9\xca\x35\x69\xaa\x00\x4b\x7a\xa5\xc7\xa8\x48\x6b\x61\xae\x50\x63\xae\x50\x6f\xc1\x1d\xe1\xfb\x6c\x4c\xcc\x65\x20\x7b\x0f\x36\xa9\xc2\x28\x29\x2c\xae\xa8\x41\x0c\x4f\x56\x97\x14\x3d\xd3\x09\x34\x11\x10\xcb\x02\x45\x7a\x84\x11\x49\x62\x28\xa8\x0f\x85\x5e\xec\xb7\xc3\x5f\x6e\x9f\x17\xbe\xaa\xc2\x34\x64\xd9\x88\x2d\xe9\x80\x31\x1a\x74\xfd\xc8\x33\xbf\x8d\x57\xc6\x34\x98\xc2\x3a\xc6\xd2\x87\x85\x10\x6c\xfc\x1c\xd8\xf2\x73\x43\x6c\x79\x30\x82\xc8\xf8\xb9\x50\xe5\x73\x53\x08\xcb\xfe\x79\xf5\x43\x64\x76\xa2\x8a\x67\x8e\xcb\xd2\x46\xf1\xbd\x21\x56\x7a\x0c\x12\x1b\x3f\x27\xc9\x0a\xff\xdc\xb8\x59\x11\x03\xaa\x57\xb8\x17\x31\xc7\xb1\xea\x2f\x52\xa3\x5e\x75\x0c\x13\x51\x84\x01\x31\xee\x83\x30\x14\xe9\x21\x39\x8c\x41\x3f\xcf\x2f\xb6\x50\xb5\xc0\xdb\x71\xd6\x84\xaf\x59\x88\x8a\x2d\xd8\x60\x72\xd6\x10\x61\x26\x03\x1f\xfe\x4c\xf4\x28\x36\x5c\x0d\xd2\x5e\x1c\x86\xfe\x32\xc5\xd3\x0e\x9d\x18\xc4\x21\xf6\xa3\x6c\x13\x09\x39\xd9\x21\x6d\xf3\x92\x76\x0f\xa6\xe7\x61\xf0\x32\xb4\x9f\x9e\x02\xb9\x64\xc7\xeb\x80\x2a\xd2\x60\x51\x11\x7d\x00\x1b\xa1\x28\xf7\x4c\x98\x25\x86\xb1\x3f\xed\x4e\xa7\x85\xc5\x32\x21\x03\x56\xed\xc8\xb6\xcc\xea\xbe\x59\xc1\x15\x93\x7e\xe7\xe6\x96\x65\x9d\x51\xc1\x72\x5d\xd6\xff\x82\xd4\xd3\xd6\x4c\xfb\x77\xb3\xca\x54\x90\xfb\x60\x8a\xf7\x68\xec\xc7\x7b\x58\xff\x35\x2b\xb5\x17\x85\x5e\x0d\x40\x15\x73\xf9\xa9\xb3\xe6\xc9\x98\xa3\xb9\x9e\xf0\x33\x92\xc1\x2a\xdb\x4b\x63\x1a\xdc\x3d\xce\x71\x70\x3b\x27\x65\xc9\x18\x84\xa5\x33\x73\x86\x61\xc1\xdc\x4d\x5e\x15\x7c\x89\x01\x81\xef\x26\xf1\x68\xa7\x80\x12\xef\x8e\xd6\xf7\xa5\x7f\xff\xea\x81\xe0\x5e\x1c\x27\xd3\xd4\xc2\x28\xd4\x3b\xb7\x50\xa5\x81\xbe\xc5\x61\xca\xe2\xa4\xb6\xcd\x97\xb1\x02\x58\xd3\x46\xb8\x1a\xdf\xe1\x24\x09\xa6\x78\xfc\xb0\xc4\x4f\x4f\x5c\x18\xd8\x32\x56\x66\x62\x6c\xcf\x3d\xa2\x2e\x03\x01\x64\xb5\xa4\xe1\xf5\xda\x3a\xe7\xdf\x21\xd6\xb1\xe7\x1d\x8b\xfc\xf6\xf4\xee\xee\x06\x56\x52\xf1\xea\x35\x44\x14\x47\x92\x44\xae\xca\x86\xd2\xf1\x1f\x5e\x6b\x4e\xe3\x00\x3a\x0a\xb9\x86\x0f\x66\x04\xc7\xee\x90\x63\xb7\x76\x70\x82\xc5\x1a\x79\xdb\x22\x2f\x69\xe4\xdd\x5d\x8b\x78\xf4\x81\x32\x03\x60\xee\x51\xed\x89\xbc\x7c\xd9\xca\x02\x6a\x87\x4f\xad\xfa\x2e\xb1\xed\x35\x0e\x53\x0c\xd9\x34\x9b\x1b\x72\x79\xe9\xd6\x18\x4e\xb7\x96\xa1\x24\xb6\xc2\xa4\x40\xa1\x3d\xdb\xf5\x60\x3f\xe2\x5d\xaf\x8e\x48\xf5\xd3\x1e\x14\xb6\xfa\x40\x7f\x3b\xcc\xe1\x40\x31\xdd\xd7\x1a\x26\x15\x08\xd8\xbf\x64\x07\x15\xcf\x74\xcd\x0e\xa5\xca\x08\x66\x96\x2b\x03\xeb\x59\x60\x4d\x06\x36\x59\x20\xcd\xb9\x0e\x81\x8c\xfa\x0e\x85\x39\xa6\x70\xb0\xa5\x6f\xbf\xbe\x32\x2b\xa4\xfa\xa9\x62\x22\xfa\xfb\x50\x31\xaf\x3f\x24\x26\xeb\x86\x43\xb6\x98\x10\x28\x0e\xb9\xd9\x46\x8f\x13\xab\xac\x10\xe0\xf4\x8b\x4f\xb0\x57\x6b\xbb\xfc\xa9\xd1\xae\xf1\xa7\x56\x1b\x68\x01\xc3\x51\xdd\xd6\xf2\x50\x4a\x0d\x3d\x48\xc7\xac\x30\xc2\x4f\x1a\x6d\xc7\x86\x77\x20\xae\xc3\x89\xa5\x70\x52\x5d\xfa\xb7\xf8\xe9\x89\xc2\x77\xef\x4d\xdb\x6e\x87\xca\xee\x8f\x13\x2b\x4f\x1a\x4d\x58\xa1\x6f\x95\xca\x73\x79\x8b\x3c\x20\xcf\x37\x0c\xb5\xd8\x66\x52\x44\xbc\x01\xd9\xb1\x59\xb1\x68\x21\xac\xfa\x2e\xb6\x4f\xf6\x1a\xbb\xb8\x8d\xed\xbd\x7a\xcd\x2e\x64\x91\xc5\x32\x17\x66\x1b\x32\xb4\xdb\x56\x62\x05\x74\xda\x49\xfb\x02\x2b\xa0\xd4\x8b\x87\x87\x8d\xbc\x7b\x63\x56\x98\x97\x55\x75\x96\xc4\x0b\xda\xdb\xf6\xe2\x29\xe6\xab\x37\x0c\x82\x02\xdb\xd6\x7d\xeb\x65\x33\x46\x01\x8a\x51\x2a\x7d\x17\x3e\xb3\xbf\x60\x5b\x85\x76\x3c\xcc\xad\xf5\x27\x15\xf1\xd4\x16\x80\xfb\x79\x30\x99\x9f\xf0\xdf\x3d\x17\xc2\x51\xa8\xf9\xce\x9f\x0e\x58\x4b\xa2\x4d\xed\xc4\x69\x37\xe0\xd7\x6d\xeb\x4b\xd2\xb2\x2f\x22\x5e\x5d\x0d\xef\x5f\xbc\x81\xaa\x61\x9a\x27\x05\xe3\xea\x14\x13\x3f\x08\x8f\x9d\x93\x56\xa3\xdd\x6a\xaa\xb1\xef\xe7\x18\xf3\x48\xf0\xd8\xc7\x21\xf1\xbf\x7d\xc9\x63\x0a\x59\x4f\x3c\x5c\x4d\xe7\xc1\x8c\x7c\x8d\x1f\xa8\x10\xa2\xc0\xc3\xc2\x81\xff\xe4\xb0\xed\xa0\xd8\xc3\xc2\xb9\xff\xc4\x6d\xb5\x1d\x94\x7a\xc9\x53\xf0\x14\xa3\x50\xd9\xf0\x74\x92\xee\x7a\x71\x3b\x54\xb7\x38\x3d\x3d\x59\xa9\xe7\xd0\xd1\xbb\x5e\xab\x58\xe9\xf1\x71\xcd\xae\x10\xf0\x7f\xf3\x3d\x4d\x11\x08\x99\x7d\x93\xf6\xbb\x9d\xd8\xf2\xcb\xd7\x81\x12\xde\xbb\x28\xeb\x5b\xb2\xa7\xb2\x12\x1b\x85\x52\xcd\xd0\xc8\xb2\x12\xad\x76\x3d\xc9\x5a\xc4\x53\x31\x87\x2c\x2b\xa1\x82\xa8\x91\xbf\xbb\x1b\x5b\xa1\xb4\x32\x72\xa2\x16\xf1\x1d\x36\x11\xa1\x09\xc5\xd6\xaf\xa7\xa7\x92\x78\xea\x2a\x86\x91\x58\x41\xb6\x53\xd8\x0a\x68\x62\x2d\x9f\x74\x4b\x3e\x25\x30\x8a\x5b\x25\x3d\xa0\xca\x8d\x5a\x90\x35\x55\xb5\x7c\xc4\xeb\x5f\x33\x96\xe7\x59\xb8\xbb\xbb\x63\xa9\x45\x51\x7b\x6f\xfa\x96\x75\x83\x76\xc6\x6d\xa2\x64\x47\x36\xe6\xc6\xc6\xae\x9d\xd2\x1a\x0b\x33\xa7\x94\x38\x7a\x4f\x13\x52\x4d\x40\x22\xc5\x12\x29\x89\x57\x93\x39\x5f\x59\xf9\xe1\x98\xc7\x34\x35\x73\xc5\xd9\x82\x9e\xf1\xfa\x47\x62\x7f\x13\xdf\xe1\x02\x72\x5d\x2b\x9a\xe2\x94\x24\xf1\x43\x41\x09\xcc\x36\xd3\xb9\xf9\xcd\x74\x3c\xe0\x3b\x0c\xb9\x7b\x8f\x6b\x3e\x59\xe6\xfb\xdc\x14\x4c\x6b\x65\x87\x57\x49\x38\x6f\x62\x5c\x11\x17\x76\x34\x36\x7f\x3f\x8f\xa7\x78\x23\x80\x2f\x9b\x97\x4c\xee\xf3\xee\x30\x30\xdf\xc9\x29\xcb\xda\xe4\x57\x7a\x2e\xf1\xb9\x25\x2c\xd7\x5c\x8a\xd5\x7d\x94\xc7\x58\x5c\xcd\x29\xba\xad\xe9\x16\x4a\x3b\xdb\x89\x86\x3b\xc9\xb1\x47\xc0\xdb\x35\x67\xc5\x64\x4f\x0f\x97\xf1\xbd\x95\xe4\x7d\x6e\xa4\xcf\x44\x51\x51\xcf\x36\xdb\x3e\x3d\x59\xf9\x20\xcf\xd5\x27\x7d\xf0\xf2\xc0\xfd\xb9\xec\x7c\x2e\xd0\x67\x17\xce\x1e\x20\xaa\xeb\x18\xf3\x2f\xf3\x3c\xd5\xe7\x4c\xfa\x73\xd1\x71\x63\x5e\xe2\x65\xe6\xaa\x5e\x66\x7b\x7b\x48\xfa\x09\x82\xfb\x18\xe7\x3e\x73\x25\xdb\x53\xa3\x52\x1d\x61\x9e\xdf\x28\x27\x4a\xc9\xdc\xd1\xb2\xc8\x36\xf7\x5b\xe0\x49\x95\xc9\x2d\xb2\xc8\x9e\xba\x61\x78\x8f\x59\x06\x94\xed\xc4\xb6\x5e\x20\xbe\x33\x5d\x09\x29\xdb\x25\xc8\xe6\xc7\x08\xdb\x76\x5b\x89\x99\x2e\xc1\x29\x99\x20\x3e\xbf\x2e\x8b\x9f\x31\x40\x6e\x72\xde\xdd\xb5\x32\xae\xd0\x02\x08\x5e\x0a\x9e\xfd\x00\x46\xd8\xa8\x84\x9e\x1c\x67\x64\xc6\xc8\x15\xf1\xd9\xbc\x10\x26\xa8\x96\x1e\x67\x7b\x04\xce\x42\x75\xb2\x2a\x2c\x14\x19\x7d\xa5\xa2\xd6\xa7\x84\x17\x9a\x0e\x3e\x76\xe0\xd7\xf1\x54\x29\x11\x6a\x73\x91\x0f\x74\x22\x0f\x6a\x37\x2f\x1a\x44\x7f\x59\xc2\xca\xfc\x7e\x4b\xbe\xcb\x13\xe2\x57\xc4\xd6\x7d\x96\x3a\x4b\x7c\x52\xca\xe3\x76\x16\x7a\xec\xc8\xaa\x62\xdb\xe2\x6d\x44\xf8\xa2\xe7\x46\x66\x6c\xb3\xc4\x94\x31\xea\xad\x7f\x8b\x75\x67\x09\x85\xff\x94\x8b\x16\x7e\x61\xa9\x48\x4a\xb1\x8c\xe3\x71\xbc\x2c\x3a\x02\x66\x48\xf6\x9e\xa9\xaf\x71\xcc\x77\xdf\x6f\xc1\xa1\x08\xed\x46\x6c\xb9\xb1\x40\x71\x1b\x54\x76\x13\xcb\x95\x68\x66\x57\xe3\x0b\x92\xba\xf7\xf9\xee\x2e\x5b\x50\x2e\x6c\x2c\xe6\x7d\x8a\x8a\x8e\x3b\xcd\x7a\x4d\x51\x5d\x99\xc6\xde\xef\xd5\xed\x8d\x3b\x94\x1d\x9b\xaf\x5a\xe7\x76\x35\x6f\xce\xc2\xe1\x5c\x29\x6c\x83\x76\x3a\x8a\xff\x62\x8a\xc9\x38\x58\xe0\x78\x45\x74\x2f\xc5\x20\x8a\x70\xf2\x9e\x26\xb5\xe8\x40\x9d\xf7\x0b\x10\xc0\xd2\xad\x0e\x5e\x81\x24\xde\xfc\x1d\x54\x77\x1c\xbb\x83\x25\x89\x1d\xe1\x4b\xc9\x55\x6b\xcb\xee\x10\xe1\x5b\xbf\x89\xa5\xec\xf4\x0e\x71\xa4\x86\x6c\x9e\x45\x0e\x94\x71\xd8\xdd\xcc\x61\x57\x6f\x0f\x30\x66\x78\xea\x48\x95\x9d\x05\xc0\x83\x3b\xca\xae\x6e\xb6\x69\x9e\xfd\x58\x84\xb7\x69\x1e\x98\x62\x02\xc3\xa0\x95\x6c\xea\xc2\x1e\xec\x92\x01\x72\xdb\x69\x04\xf6\xba\x4c\x56\xb3\x9a\x67\xa6\x83\x2d\x35\x1c\xe8\x35\x8c\x1c\x66\xdf\x30\xca\x45\xc6\x2d\x69\x39\x61\x54\xec\x0a\x00\x60\xe1\x8a\xf9\x21\xf9\xc0\xed\x84\x59\x2a\xb6\x3e\xda\x13\x27\x64\xd0\x79\xcb\xeb\xbc\xa2\x46\xa7\x93\xaa\x89\xd4\xdc\x9c\xc8\x02\x5f\xf6\xfe\xe0\xed\xe5\xa0\xd7\x1d\x0f\xfa\xb0\xbb\x11\x2c\xaf\x37\xd8\x60\x5a\xd9\xd4\x48\xe3\x38\xaa\x1a\x6f\x43\xec\xa7\xd8\x58\xa5\xd8\xc8\xe1\x53\x8f\xe9\xa0\x08\xa3\x94\x60\x7f\x5a\x15\x0b\x44\xdb\x62\xe7\x0d\x9a\x5b\xe2\x16\x19\x55\x7e\x4e\x08\x2e\xf8\x38\xbf\x7e\x58\xe2\x84\xe0\x4f\x84\x2a\x7a\x65\xd8\xa8\x0a\x9e\xd3\xf2\x0a\x0e\x2d\x3d\x3f\x02\x97\x7f\x20\xd0\xf0\x8d\xb9\x40\x6a\xd0\x44\x06\xd7\x96\x8d\x1b\x3c\x8b\x13\x6c\x48\x9b\x79\xbc\xc4\xb0\x13\x78\xe2\x87\x21\x9e\x9a\x76\x27\xa7\x29\x6e\x20\xcf\xc2\x3f\x64\x60\x51\x70\x7c\xe3\x87\xc1\x94\x1d\x71\xe2\xb3\xcd\x0e\xbf\xc3\x92\xde\x49\xe4\x50\x1e\xd8\x4a\xf1\xdb\x14\xb8\x48\xec\x0f\x2a\x77\x82\x6f\x83\x94\xe0\x84\xf2\xed\x0d\xed\x81\xb4\x6a\x95\xdb\x92\x72\xe5\x55\x9a\xb5\x42\x56\x09\x2e\x8e\xa2\xa3\x7a\x1c\x6f\x58\x71\x09\xd6\xf9\x59\xd8\x76\xda\xb8\x00\xcb\xec\xf9\x00\x94\x91\x53\x8a\xc0\xc2\xf6\xf6\x8d\x19\x1a\x0d\x73\x3f\x95\xcb\x1a\x9b\x1c\xa8\x0b\x4b\x4c\x6a\xa2\xc2\xc6\xa3\x1f\x8e\x4e\x06\x8c\xf1\x27\x52\xe2\x7b\x5f\x8a\xb1\x1c\x95\x1e\x3f\xbf\x2d\x8a\x45\xef\x86\x45\xbf\xfd\x0d\x34\x75\xc3\x30\x8f\x83\x7b\x70\x96\x2a\x33\xa5\x5d\xcd\xee\xee\x8e\x2b\x46\xce\xd2\x08\x16\x16\x86\x8c\x1d\x57\xae\x67\x97\x7a\xc9\x5b\x42\x33\x29\xba\x30\x72\x7f\x53\xe6\xb0\x58\x1e\xc7\xce\x32\x32\x32\xa5\xad\x6c\x66\xa6\x2b\x7f\x34\x57\x57\x51\x64\xaa\xf8\xce\x0f\x57\x3e\xc1\xb4\x1c\xe9\xc4\x5f\xe2\x11\xfe\xe5\x0a\xc3\x21\x13\x59\x3b\xa0\x14\x79\x9e\x27\xd4\xad\x93\x6c\xd0\x92\xa7\xbe\x38\xed\x5c\x2c\x57\xe8\x11\xb9\xd3\x61\x6c\x44\x14\x8d\xf3\xc4\x2a\xa8\xa0\xca\x8b\x58\x62\xe7\xa6\x0f\xb4\xe3\xd8\x76\x7b\x67\xc7\x67\xab\xd5\x70\x9c\x8a\x38\x1a\x8e\x97\x56\x8d\x8a\xd8\xf9\x1f\x62\xa6\xc5\xf4\x79\xe9\xcb\x8b\xb5\x39\xcf\x47\xfc\x60\x22\x88\x2e\x01\xda\x56\x07\x08\x99\x0b\x7f\x6d\x1a\xaf\x8c\xb6\x9c\x78\x6d\xe4\x6d\x71\x96\xee\x3d\x32\x44\xed\x1d\x17\x7d\xc4\x0f\x6d\x3e\xdd\xcc\x58\xc1\x43\xd6\x48\xb5\xa7\x1e\x1f\x3b\x4f\x98\x9f\x91\x72\x7c\xec\x3e\x49\x43\xea\xf1\x71\xed\x49\x5a\x59\x8f\x8f\xeb\x99\x2d\x9a\x9f\xe0\xc1\xcc\xcf\xc6\x61\x1b\x36\x71\x0a\x7c\x54\x83\xa5\x95\x08\x55\xf8\x6a\xc4\x0f\x15\x51\xc2\xfa\x83\x33\xc5\x02\x6c\x1c\x6d\x49\xce\x0c\xe9\x7f\xd9\x2c\x22\x79\x3d\xce\x0e\xf4\xdb\x71\x54\x7c\x6e\xbd\xad\xc4\xeb\x5d\x6e\x8a\x57\x3b\x68\xeb\x39\x6d\x8a\x58\x3f\x68\x27\x27\x56\x81\x2a\xb7\x63\x56\xac\xa4\xe2\xda\x15\xb3\xcf\xab\xdd\xd3\xe1\xf5\xbe\x49\xe5\x17\x20\xcc\x12\xa0\x1e\x69\x73\x92\xc5\xbd\x31\xdb\x5a\xc2\x66\xdf\x14\x26\x85\xc2\xe1\x63\x27\x79\x42\x2e\xfa\x66\xbb\x40\x5c\xdf\xd4\x4a\x70\xf4\x5c\x09\x7a\x1b\x4a\xd0\xfb\xcc\x12\xcc\xf2\x25\xe8\xfd\x90\x12\xf4\x4a\x4a\xd0\xd3\x4b\x70\xf8\x5c\x09\xba\x1b\x4a\xd0\xcd\x4a\xa0\x53\xd8\xfd\x21\x14\x76\x4b\x28\xec\x6a\x14\x36\x9c\xe7\x28\x7c\xb5\x81\xc2\x57\x9b\x28\x7c\xf5\x43\x28\x7c\x55\x42\xe1\x2b\x9d\xc2\x66\x3b\x6b\x66\x4f\x59\x3b\x87\x0e\x30\x97\xb2\xf6\x6b\xd3\xd6\xd2\xb6\x38\xf6\x44\xa9\xf4\xab\x7a\x56\xb8\x5f\x6b\x02\x50\xff\xb5\x5e\x7b\xad\x76\x91\x62\x95\x35\xaf\xcd\xcf\x2e\xe7\xeb\x92\x72\xbe\xd6\x73\x6b\x3e\x93\xdb\xf0\xf3\x73\x1b\x96\xe4\x36\xd4\x73\xab\x2b\x5c\x3d\x51\x07\x1e\x6f\x4f\x33\xc8\x14\x11\x35\x73\x5c\x6a\x6c\xc4\xa4\xe0\x29\xa2\x69\xe9\x68\x5c\xb7\x56\x56\x57\x4a\xf9\xdf\xaa\x75\x75\xf1\x36\x97\xba\xfe\x4c\xea\x9f\x68\xa9\x7f\x92\x4b\xdd\x78\x26\xf5\xa5\x96\xfa\x32\x97\xba\xf9\x4c\xea\x91\x96\x7a\x94\x4b\x5d\x2a\xa3\x6e\x73\x93\x90\xba\xcd\x3c\xe3\x0e\x4a\x11\x1c\x6c\x44\x70\x90\x47\x70\x58\x8a\xe0\x70\x23\x82\xc3\x3c\x82\xa3\x52\x04\x47\x1b\x11\x1c\xe5\x10\xd4\x9c\x32\x04\x35\x67\x13\x82\x9a\x93\x47\xe0\x96\x22\x70\x37\x22\x70\xf3\x08\x4a\xa5\xaf\xb6\xb1\xab\xa8\xd5\xf3\x08\x4a\x05\xb0\xd6\xd8\x88\xa0\x21\x11\x70\xb7\xaf\xf6\x8e\xd2\xb7\xe9\x5d\x1e\x53\x73\x9e\x32\xbd\xe6\xa4\x38\xac\x3d\x3d\xed\xa8\x11\x15\x4c\x9b\xd3\xec\xee\xca\x34\xf0\x28\x0f\x9a\x93\x89\x76\x77\x5b\x4d\xf5\xf8\x33\xed\x24\x41\x98\x56\xb4\x25\xec\xa5\xd7\x6a\xf2\x8d\x68\xf4\xf5\xd8\x3b\x72\xf2\x5d\x53\x89\x67\x41\xa6\x98\x55\xea\x35\xbb\xed\x1e\xd5\xd4\xfc\x0a\x7d\xdb\xcf\x4d\x35\xc3\xc6\xa1\x96\x61\xf3\xa0\x38\x26\x65\xf8\xf7\x1a\x87\xf6\x67\x91\xbb\x95\xca\xbd\x56\xc3\x6e\xd7\xcb\x88\x2c\x4b\xe6\x68\x19\x36\x5d\x9d\xdc\xe6\x67\x65\xd8\x74\x2b\xb5\x03\xbb\xdd\x6c\x7d\x66\x9e\x2e\x8d\x5d\x73\x8f\x3e\x33\x3a\xc4\xae\x39\x9f\x1b\xfb\x90\xc6\x76\x75\x99\xb0\xb6\xc4\x3f\xb2\xa5\xef\x0f\x29\x58\x72\x6e\xcf\xe0\x5c\xd8\x82\xad\x80\x9f\x17\x8b\x33\xcf\xdb\x14\xf3\x59\x9b\x38\x3c\xb6\xec\x2c\x8e\xdb\x1e\x8f\x59\xb2\x66\xaa\xa4\x13\xa7\x31\xf0\x5c\x98\x3f\x91\x9e\x53\x71\xb6\x0c\x3b\x17\x4b\xd6\x18\xff\x1c\x26\xcd\x72\xbd\x1b\x61\xa0\x08\x66\x2d\xc4\xcb\x5e\xa4\xb7\x16\x3f\x6a\x9b\x79\xc5\x40\x14\x5e\x27\xd2\x75\x8b\xd5\x2b\xc0\x9f\x9e\xf8\x31\xd6\x02\xa5\xcc\x98\x88\x28\xbc\xa6\x76\xac\x1d\xf2\xf4\x64\x6d\xef\x4f\xec\xdd\xdd\x6c\x3a\x6a\x83\xeb\x4d\x99\x00\x90\xfc\x64\x93\x6f\x0d\x25\xa5\xd3\xd0\xcf\x99\x82\xda\x74\xc2\x99\xaf\xfb\x68\x5a\x32\xb3\x24\xf2\xbc\x05\x58\xfa\x7e\x7a\xda\xb4\x76\x91\x4d\x6f\x21\x22\x9d\xa8\x8b\x43\x9d\xd7\x48\x98\xf9\x21\xa4\x92\x37\xb9\xde\x60\xdd\x0e\x23\x2a\x31\x3b\xcf\x48\xdd\xa3\xce\xa8\x91\x7b\xd1\xc8\x43\x88\xab\x37\x71\x32\xc5\x09\x1c\x57\xe5\x99\xf7\xf3\x80\x60\x13\x95\x13\x8a\xb7\xa5\xa4\x94\x8a\x4d\x6c\xf2\xf8\x24\xdd\x4f\x38\x67\xb8\x0b\xe3\xdb\x32\xca\xe1\x44\x25\x61\x54\x60\x5b\x15\xab\xdc\xc4\x5e\x1e\x4a\x11\x49\x0f\x63\x38\xf6\x55\xa9\x99\x30\x98\x60\x76\xec\x90\x3c\x5a\x9e\x9b\x49\x4b\xb0\x70\x37\xb3\x32\x30\xc2\x79\xf2\x71\x92\xe8\x7e\x05\x3f\xbe\x00\x80\xea\x77\x50\x04\xc0\xf3\x83\x0a\x91\xe0\x34\xf8\x15\x2e\x39\x3e\x28\x48\xcf\xfd\x73\x30\x82\xf2\x47\x62\xdb\x8f\x84\x2d\xf0\xca\x73\x91\x2c\xf5\x58\x20\x5b\x0e\xce\x65\x50\x44\xf8\x61\x04\xcc\x45\x0f\x45\xb4\xbb\x91\x66\x33\x76\x50\x3b\x11\xaf\xec\x58\x21\x58\xd3\x76\xc1\xd7\x92\xb6\x01\x78\x24\xf4\xd1\x8a\xb3\x54\xf6\x31\x06\x2f\x91\x94\x1f\xd5\x2e\x4e\xa1\x36\x0d\x13\xb9\xd7\x28\x28\xfa\x27\x74\x82\xbd\xbd\x0e\xa4\x51\x1d\x34\x6e\x31\xb1\x02\x79\xaa\x1b\xd6\xce\x3a\xe6\x30\x58\x58\x4d\xb3\xcd\x32\xec\x90\xf9\xc2\x29\xc5\x19\x69\x28\xce\x8a\x83\x22\xcf\x41\xf1\x31\xb1\xd9\xe1\x6d\x6a\x3b\xec\xc4\x95\xca\x31\xd1\x72\xe4\x64\x90\x4a\x66\x61\xd4\x1c\x1b\x5e\x3a\x99\x15\x3b\x8b\x5e\xf0\xe3\x78\xa8\x44\x15\xf7\x44\x77\x88\x88\x84\x77\x08\x5b\xb1\x77\x72\x6e\x24\xaa\x4f\x46\xf9\x19\xcf\xf9\x9d\xcf\x82\x56\x8e\x48\xdd\x56\x04\xe3\x04\x70\x3a\xde\xdb\x33\x5e\x92\x8e\x5d\x7e\x20\x53\x49\x31\xf5\x08\x85\x72\xb9\x9a\x97\x49\xbc\xb4\xec\xb6\xea\xab\xa1\x16\xb1\x52\xd9\x40\xf2\x4b\x71\x52\x56\xe2\xe9\x60\xbe\xb2\x6b\xdb\xb4\xf9\x04\xd1\x0a\x77\x92\x4d\x0e\x54\x09\x3f\xa1\x09\x2e\x14\xe0\xe3\xfa\xc3\x4b\x8f\xc8\xda\xf2\xc8\x9e\x6b\xa3\x48\xbe\x57\x3c\xb1\xb7\xf2\xd3\xcb\x6c\xe0\xff\xe4\x61\xb9\x99\xe4\x99\x03\xfc\xe5\xc1\xfd\x9b\x77\x3f\x6d\xdb\xaa\x52\x38\x40\xff\x99\xab\x0e\x94\x21\x92\xf5\x15\xea\x76\x3f\x18\x7d\xe1\x7a\x0f\xcc\xee\xf4\x20\x6b\x7b\xbd\x2e\xdb\x36\x01\x4b\xc7\xda\x10\x89\x8f\x55\x5a\x61\xcd\x58\x70\x43\x5b\xd0\xa6\x6a\xc8\x4b\x35\x78\x10\x4d\x73\x11\x07\xd1\xd4\xcb\x2f\x6e\x2e\xfc\x4f\xb9\x3c\xa5\xf3\x9a\x82\xdc\x29\x5f\x28\x67\x1c\x2b\xe8\x77\xbc\x85\x6b\xc5\xa0\xd2\xcd\x9d\x84\x99\x48\x12\xff\x86\x2a\x79\x70\xde\x38\x1b\x0c\x13\x7c\x47\xd3\x51\x5d\x8b\x0b\x29\x8d\xe3\x3d\xae\x11\xf6\x1c\xbb\xc3\x19\x41\xd9\xd8\xc1\x15\x2f\xdf\xc3\x6a\x87\x58\xd9\xb6\x9a\x87\xb7\xe3\xe8\x34\x8a\xac\x4a\x29\x14\x7e\xeb\x4c\xe0\xec\xce\x4e\x86\x6a\x6f\x0f\x5f\xef\xee\xe2\x97\x4e\x47\xae\x3c\xe0\x97\x59\x1f\x7b\x22\x9f\xf6\xdc\x36\x3e\x76\x4e\x9c\x76\x4e\x0b\x89\xf0\x27\xf2\x63\x32\xae\x54\x20\x63\x85\x03\x3f\x92\x00\x38\xe4\xf4\x32\xb8\x9d\xe7\x95\x6f\xc5\xe3\x21\xeb\xcc\xd5\xfe\x04\xfa\xf3\x24\x73\x06\x09\x78\x43\x90\xc7\xa6\x5a\x36\x1f\x4c\x72\x35\x55\xb1\x13\x38\x7b\x90\xbb\x56\xa9\x1e\x12\x45\x55\xc1\x4f\xf1\x19\x9e\xfd\x68\xe2\x9e\x21\x8c\xd2\x8e\x2b\x95\x0e\xa6\x23\xdb\x67\x53\x05\xab\x7c\x39\x05\x46\x77\xa6\x7b\x7a\xca\xde\xb3\x65\x54\x0c\xc3\x9d\xe8\x5d\xca\x09\x67\x49\x34\x8f\x3a\xee\x02\xe9\x2a\x5d\xb3\xbc\x02\x45\xbb\x25\xc5\x73\x3a\x99\x67\x8e\x2b\xb8\x0e\x9b\x57\xb1\xe2\xfe\xf9\xcc\x25\x04\xdb\x3a\xc1\xcd\xde\x76\x65\xf5\x16\x44\xb8\x38\x45\xcc\x04\xce\x72\x50\xbe\xf3\x91\xd4\x94\xd6\xf7\x15\xef\x29\x94\x8a\x6c\x97\xeb\x2e\x57\xd7\x70\xe8\x2a\x9c\xdc\xb1\xbb\x6b\x05\xd5\x20\x7d\x9f\xf8\xb0\x9c\x47\xec\x4e\xac\x88\x63\x5c\xa9\xd8\xc1\x55\x7c\xed\x25\xa2\xfd\x04\xb9\xca\x9e\x97\x5e\xcb\x75\xb2\x49\xa6\xda\x65\xea\x54\xce\xa9\x2a\x2d\x43\x09\x67\xe6\xb3\x16\xce\xcf\x65\xad\x98\xa6\x5d\x85\x63\x2e\x2e\x66\x05\x27\x94\x82\xe7\xb3\x60\xb0\xf0\x5c\x53\xcf\x51\x95\xae\x9b\x9f\xbd\xe4\xaa\x54\x37\xbf\xa0\x27\xbf\x54\xc8\x08\x18\x07\x24\x2c\xab\x65\x48\x49\x28\xd0\x2c\xd4\x32\x14\x49\x6d\x3f\x15\x2e\xf7\x2f\x0b\xc3\xb6\x1c\xfe\x85\x47\x2a\x03\x5a\x76\xa6\x0b\xc8\xba\xe4\x45\xf9\xb4\xb7\x97\x57\xd5\xef\x30\x1c\xb8\x9b\xcb\x95\x37\x9a\xbc\x67\xec\x89\xaa\x47\x81\x46\x23\x8e\x61\x11\x9a\x48\xc6\x4a\xb5\x89\xc8\xf9\x66\xd6\xd2\x37\xc4\xcf\xda\xdc\x8e\xf3\x3b\x72\x86\xe5\x0d\xe1\xa1\x58\x76\xcd\xac\x92\x13\x11\xa6\x7c\x49\x4d\x5b\x83\x81\x92\x9e\xb5\x13\xc5\xdd\xaf\xd4\x20\x22\x9c\xa1\x4b\xce\x01\xec\x04\xd9\x65\x67\x5a\x1e\xf2\xe8\xc0\x52\x0f\x29\xb4\x09\x9f\x47\x9e\xd7\xd6\x36\x9f\xf0\xa9\xb1\x87\xea\x08\x25\xfc\x81\x21\x96\x09\x53\x51\x57\x58\xf8\x64\x32\x67\x73\xf7\x10\x89\x7b\x2a\xa8\x52\x92\xdd\x76\x91\x73\xf0\x61\x33\x37\xd9\xd0\xe1\x44\xd3\x65\x7c\x6f\xd5\x9d\x17\x16\xde\x0b\x6c\x54\xb3\x2b\x32\xb0\x79\xf4\xc2\x22\x7b\xb1\x1e\xe8\xba\x2f\xac\x64\x2f\xa5\x81\x94\x18\xf5\xcc\x72\x4f\x3f\xc2\x1c\x05\xd5\x20\x9a\xe3\x24\x20\xa9\x17\xa1\xa0\x1a\x47\x5e\x4c\x7f\x66\x33\x2f\x45\xe2\x2e\xba\x0d\xdb\x07\xd4\x93\x98\x9f\x9e\xd4\x6d\x8f\x09\x6c\xbb\xe8\x33\x83\x37\x1c\xa3\x98\x92\x78\xf9\x36\x89\x97\xfe\xad\xcf\xb7\x24\xef\xb8\x6b\x84\xc5\x1d\x87\x5e\xb0\x2e\x1c\xbe\xac\xdd\xc8\xf7\xa3\xce\x93\x0f\x36\xec\xa2\xe5\xd5\x26\x36\x87\xa8\x2f\x4f\x4f\x8f\xeb\xb5\x52\x10\xb9\x39\x3c\xbf\x87\x42\x4d\x04\xb6\x46\xfd\xfd\xe9\x49\x1c\x03\x93\x85\xc9\x5d\x9f\x48\xc3\x3c\x9b\x6d\xe0\x6f\x96\xd2\xce\xdd\x14\x94\x41\x50\xe0\x25\xda\x7c\x9b\x5f\x52\x49\xbb\xa9\xa7\x27\xb8\xa2\x32\xe4\x1b\xf3\xd5\xad\xa9\xe0\x6a\x21\xbd\x6f\x03\xe4\xe6\x88\x62\x53\xaf\x6e\x18\x8a\x5d\xfd\x25\xde\xdd\x19\x11\xbb\xbb\x53\x1c\x62\xc2\x7d\x44\xb3\xf0\x5c\x41\xf3\x92\x9e\xbb\xa7\x87\xd5\xd8\xe7\x59\x65\x54\xbf\xa0\x78\x36\x83\xbb\x2d\x11\x51\x2c\x32\x28\xdb\x8a\x9a\x64\x1c\x20\xf2\x10\x04\x9a\x40\x27\x8f\x0e\x41\x05\xb5\x9a\xd9\x17\xe1\x78\x76\xb7\x93\x1c\x4b\x0a\x04\xcb\x61\x9b\xcc\x55\xb2\xe7\x5e\x7b\xd9\x8d\x8a\xc9\x75\x67\x4b\x15\x06\x85\x2a\x64\xe7\xbd\x07\x02\xa7\x50\x31\xd4\xd2\xe4\x85\x26\x2c\xad\x16\x95\x2b\xba\x28\xae\x11\x5e\x83\x0b\xb5\xd6\x15\xfc\xce\x1b\x9d\x76\x79\x2a\xae\x9e\xbf\x3b\xf3\xcc\x0f\x8e\x89\x70\x75\x74\xf1\xda\x33\xff\x19\x78\x1a\xff\xd4\x33\xff\x59\xfa\x34\xa0\x4f\xff\x1c\x3c\x5d\x8c\x3d\xf3\x9f\x87\xa7\xf3\x9f\x78\xe6\xbf\x40\x9f\xba\xbd\xaf\x3d\xf3\x5f\xa4\x4f\xaf\x06\x67\x9e\xf9\x2f\xc1\xd3\xc8\x33\x3f\xdc\xd0\xa7\xd7\x63\xcf\xfc\x00\x87\x05\x9e\x0d\x3d\xf3\x43\x44\x9f\xbe\xa1\x61\x77\xf4\x69\x48\xc3\x66\xf4\xa9\x77\xe9\x99\x1f\x12\x46\x81\x67\xfe\xcb\xf0\x70\xea\x99\xff\x0a\x7d\xe8\x9f\x0d\x3c\xf3\x5f\x85\xa7\x9e\xeb\x99\xff\x1a\x7b\xaa\x79\xe6\xbf\xce\x9e\xea\x9e\xf9\x6f\xb0\xa7\x86\x67\xfe\x9b\xf4\xe9\xbc\xfb\xb5\x67\xfe\x5b\x80\xe4\xdb\x73\xcf\xfc\xb7\x59\x29\x5e\x79\xe6\xbf\x03\x79\x75\xcf\x3d\xf3\xdf\x85\xb0\x37\x9e\xf9\xef\x41\xb4\x77\xaf\x3c\xf3\xdf\x87\xa0\x51\xcf\x33\xff\x03\x20\x6e\xe4\x99\xff\x21\x7d\xf8\x6a\xe4\x99\xff\x11\x7d\xb8\x1c\x79\xe6\x7f\x4c\x1f\xde\x8d\x3c\xf3\x3f\x81\x74\x6f\x3d\xaa\x09\xe2\x6a\x9f\x96\xfd\x3f\x35\xd7\x16\xa9\xf6\x1c\xf0\x85\xe8\x39\xde\xe3\x9a\x2a\x57\xbf\xd3\xaa\x43\xa4\xda\x7b\xdd\xbd\x1c\x0d\xc6\x23\xd8\x2c\x57\xed\x0f\x86\xdd\x77\x67\xe3\xef\x78\xa8\x97\xc1\xab\xaf\x94\xc8\x57\xce\xb5\xf7\x68\xfe\xdc\x6c\x9b\xbf\xf9\x6f\xfe\x9a\x89\xfc\xb6\xf9\x9b\xbf\xf5\x5f\x9b\xe8\xa6\x0d\xb5\x33\x69\x43\x35\x4c\xdb\xac\x0e\xda\x50\x51\xb3\xb6\xf9\x67\xff\xc8\x44\xb7\x6d\xf3\xcf\xfe\xb1\x89\xe6\x6d\xf3\x37\x7f\xe3\x8f\x4c\x14\xb4\xa1\xee\x7e\xd1\x36\x7f\xf3\x37\xff\xb6\x89\x3e\xd2\xdf\xbf\x61\xa2\x90\xfe\xfe\x17\x26\x5a\xd0\xdf\xbf\x69\xa2\x88\xfe\xfe\xa9\x89\xe2\xb6\xf9\x9b\xff\xf2\xff\x34\xd1\x92\xfe\xfe\x89\x89\x7e\x49\xc3\xff\x8a\x89\x12\xfa\xfe\xa7\x26\x4a\xe9\xef\x3f\x35\x11\xa1\xe1\x7f\xc7\x44\x2b\xfa\xfb\x47\x26\xba\xa3\xbf\xff\xc4\x44\xf7\xf4\xf7\x1f\x9a\xe8\x13\xfd\xfd\xcf\x4c\xf4\xd0\x36\x7f\xf3\xd7\xff\xc8\x44\xbf\xa2\xbf\x7f\xcf\x44\xe6\xa3\xd9\x36\xff\x9f\xbf\x62\x22\xf3\x89\x96\xed\xaf\xff\x5d\x13\x99\x6b\xb3\x6d\xfe\xd9\xff\x60\x22\xf3\xd7\xf4\xe1\x7f\x33\xd7\x0a\x1f\xaa\x5d\xef\xd1\xfc\x82\x45\xd0\xc2\x5f\x71\x13\x50\xc6\xb1\xc6\x75\x16\x15\x99\x7f\x48\x1f\xfe\x2f\x13\x99\x57\x66\xdb\x0c\x7e\x61\x22\xf3\xc3\x07\x1a\xf4\x4f\x4d\x64\x5e\x9b\x6d\xf3\x89\xd3\xf2\x67\x7f\x9f\xd3\x32\x13\x94\xfc\xa9\xa0\xe4\x9f\xe8\x39\xf6\x94\xba\xba\x6a\xd2\xcc\x28\xea\xef\xff\xaa\x40\xfd\xfd\xdf\xe2\xa8\xbf\xff\xcf\x4d\x64\xfe\x8c\x3e\xfc\x1d\x13\x41\x1d\x7e\xff\x0f\x78\x6e\xdf\xff\x11\xcf\xed\xfb\xff\x95\x67\xf7\xfd\xdf\xe3\xd9\x7d\xff\xa7\x7a\x76\x97\xf9\xd2\x7c\xff\x77\x79\x69\x68\x2d\xf3\x2c\xff\x98\x67\xf9\x67\x7f\x2c\x32\xf8\x07\x22\x83\xff\x43\x64\xf0\xf7\x45\x79\xfe\xbe\x9e\xc1\x4f\xbc\x47\x1d\xef\xf7\xff\x7d\x01\xef\xf7\xff\x93\x28\xca\xff\x2c\x8a\xf2\x4f\x9e\xcf\xe9\xfb\x3f\xd1\x73\xfa\x9a\xe7\x04\x54\x6e\x62\xda\xdf\xd9\xcc\x22\x51\x23\xdf\xff\xb7\x3a\xde\x6f\x0b\x15\xfe\xc7\x9b\x59\x04\xf4\xfe\x5c\xd0\xfb\x28\x0a\x0e\x39\xfd\x2f\x85\x12\xfc\x43\x3d\xa7\x81\x5a\xf7\xad\x6b\xc1\xb9\xbf\x2a\xca\xf3\xd7\x64\x76\x7f\x7b\xb3\x10\xfc\x91\xc8\xf7\x7f\x14\xf9\xfe\xef\xcf\x09\xc1\x5f\xde\x5c\xc2\xff\x4e\x66\xf9\x5f\x09\x21\xf8\xbf\x85\x4c\xff\x23\x91\xc1\x3f\x16\x19\xfc\xb1\x8e\xf7\xb5\x5a\x9e\x03\x59\x9e\xbf\xbe\xa5\x7e\x7e\x17\x42\x7d\x65\x7a\xa6\x68\xa5\x50\x0d\xba\xfc\xfd\x83\xed\xf2\xf7\x1d\xaf\x20\x5d\x0c\xb7\x88\xcb\x9f\x98\xeb\x62\x77\xbe\xff\xe2\x05\xdc\x6e\xb5\x58\xf2\xe9\x24\x1c\x66\xc4\x37\x30\x2c\x30\x99\xc7\x53\x64\x90\xb9\x2f\x36\x35\x60\x16\x41\xd8\x8c\xe1\x1a\x36\xe3\x3d\xbe\x19\xc5\x93\x8f\x98\xd0\x81\x01\xfb\x0b\xb8\x82\xeb\x0f\x17\xd0\xff\xb3\x23\x8a\xf6\xfd\xe9\x34\x8e\xd2\x7d\x86\x84\xff\x94\x5c\x67\xb7\xff\x7b\x3b\xfa\x99\xb1\x42\x73\x27\x56\x62\x39\x76\xee\x6a\x13\x6d\x2c\xe2\xee\xbf\xca\x0d\xdf\x2c\x97\xc2\xb4\xc7\x7e\x4c\x3c\x79\xaa\x53\xf2\xf4\x94\xd0\x89\x03\x90\xef\x11\x84\xab\xdf\xcd\xc2\x55\x3a\xe7\x77\x79\x6a\xcb\xa5\x7c\x77\x51\xf5\x3b\x86\x98\x15\x99\x45\xa4\x93\x8f\x92\x60\xd6\x2b\x83\x65\x4e\x2c\xc0\x96\xc6\xa3\xc0\x4d\x38\x00\x06\x88\xa8\x72\xf6\x1d\xd5\xee\xc7\x71\x9e\x3c\xe0\x55\x49\xe2\x93\xd2\xd0\x8a\x47\xda\xe5\x84\x78\x44\x5d\x2c\xd6\x99\x81\x5c\x5a\x01\x94\x86\x5b\x4c\xde\xe0\x34\xf5\x55\x7b\x3c\x9d\x51\x9c\xe4\xe8\xb3\x48\x75\xea\x13\xdf\x6e\x0b\xde\xf1\x77\x40\x92\xe2\x68\xda\xf7\x89\xaf\xab\xfc\x6c\xb7\x1c\x86\xdb\xd4\x8b\x67\x7e\x2d\x58\xae\xa6\x4e\x84\x8d\x92\xdd\x5d\xac\x5d\xdb\x2c\xb1\xdb\xa5\x78\x26\x61\x9c\x02\x96\x29\xa6\x1c\xe0\x27\x1a\x23\x62\x97\x47\x87\x85\xd8\xd2\xe8\x70\x0f\x3e\x2e\x88\x19\xad\x0d\x3a\x61\x28\xa3\xc7\x22\x99\xf4\x91\x13\x21\x7a\x6d\x62\xef\xee\x92\xd2\x1b\x48\x37\x96\x9a\x4f\x87\x04\x0a\x5d\x77\x2f\x0a\x3f\x13\x7d\xbd\x71\x70\x8f\x0b\x80\xe9\xe9\x0b\xa5\x52\xd2\x32\x98\xf0\xd6\x58\x23\xb2\x2e\x51\x14\x79\xcf\x32\x0c\x48\xd6\x5b\x4c\xe2\x70\xb5\x88\x52\xd8\x2a\x07\x87\x58\xf1\x0b\x05\xa7\xc1\x02\x47\xa9\xb8\xcd\x2f\x20\xa9\xd1\xbf\x78\x23\x4f\x3b\xfe\x3d\x03\x30\x7d\xf1\x85\xd1\x5d\x2e\x93\x98\xf7\x1c\x7b\xc6\x65\x7c\x9f\xb6\x8d\x71\xb2\x8a\x26\x3e\x4c\x0b\x29\xa2\xbb\x00\xae\x15\xe4\x97\x02\xca\x9c\xf5\x03\x94\x0d\x76\x38\x96\x71\xf3\xa0\xc7\x4a\xe2\x7b\x0e\x12\x99\xee\x19\x3d\x46\xf3\x8f\xcc\x08\x0e\xef\x2a\xe4\x33\x99\xfb\x89\x3f\x21\x38\xa1\x59\xb0\x28\x16\xcc\xc3\x8c\x69\x90\x2e\x43\xff\xa1\x6d\x04\x51\x18\x44\xb4\x27\x2e\x52\x08\xd7\x28\x0a\x62\x28\xb3\x18\x06\x38\x10\x8e\x46\xe6\xd7\x33\x53\xdc\xd9\xcd\x3c\x9c\xf5\xf6\xe6\xbe\x79\x16\x10\xfa\xf9\xad\x7b\xe5\x62\x47\xbc\x4c\xe2\x65\x9c\xe2\xaf\xc4\xda\x64\x7e\x5b\x1d\xce\x1d\x6c\x21\x4e\xba\xe4\x08\xe0\x5e\x3c\xed\x48\x20\x8f\x5f\x9d\x77\x8b\x49\x2f\x5e\x2c\x57\x04\x4f\xe1\x88\x36\x6b\x13\x26\x14\x65\xf7\x9b\xc1\xf2\x86\x98\xac\x7c\x43\xe7\x26\x96\xc9\x2a\xdd\xb4\x6d\xe4\x67\x77\xfb\x38\x68\x6b\x9a\x7b\xbe\x86\xb7\xe7\x1e\xd8\x28\x7c\x9e\x24\x1b\xcd\xbd\x68\xcf\x92\x38\xc3\x12\x9c\x4b\x7f\x3a\x0d\xa2\xdb\x3d\x12\x2f\x4d\xdb\xae\x7c\x56\xdc\x1b\x30\xb6\x9a\xb6\x6d\xa3\x89\xe7\x7f\x66\x06\x09\x2f\xef\xe7\x65\x11\xe2\x19\x81\x0c\x56\x9e\x85\xf5\x03\xd4\xf4\xd7\xea\x2c\x48\x52\xc1\x75\x58\x53\xb7\xd1\xd2\x5b\xb1\xcd\xbe\xaf\xc7\x6f\xce\x84\x50\xac\xb8\xd3\x11\x97\x77\xcf\x64\xf2\x6e\x22\x25\xae\x67\xbe\x37\x51\xe0\xad\x28\x61\xaf\xe2\x55\x44\x49\xe9\x85\x01\x8e\xc8\x25\x9c\x36\xc9\x4e\xc6\x43\x05\x54\x26\x22\x5b\x12\xb1\xaa\xd6\xf2\x59\xa2\x24\x13\x8f\xf9\x3e\xb1\x51\x9c\xbd\x4f\xf6\x03\x1b\x3d\xc2\xb2\x78\xcc\x96\xc5\x93\x35\xed\xf6\x67\x39\x43\x0e\x37\x9c\xe5\x85\x1d\xb6\x7f\xd1\xe1\x89\xad\xb7\x5b\x09\x5b\x93\x4f\x98\x57\x8c\xde\xe7\x6e\x6c\x27\x4a\xdf\x9b\x47\x4f\x3b\xe1\x1c\x1a\x8d\x32\x25\xe9\x2c\x20\x22\xfa\xd6\x1e\x7b\x15\x86\xec\x56\x3c\x03\x7a\x06\x63\x16\x27\xf2\xa0\xc9\xcd\xbd\x87\x4c\xa5\x3c\xfe\x39\xf4\x25\xec\xb2\x22\x4a\xe3\x08\xb2\x28\x5b\x93\xeb\x24\xfa\x10\x5b\x3c\x14\x7e\xc2\x04\x36\xb5\xcc\x8c\x58\xd3\x3e\x31\xd9\xf8\x6b\xb6\x4d\x7f\x3a\x35\xdb\xe4\x84\xfd\x8a\xe0\xb2\x7b\x6b\xae\x92\x6b\x1d\x89\x5e\x17\x19\xb9\x69\x9e\x5c\xaa\xed\xe4\x4b\xf3\x79\x63\xea\x78\x1e\xa4\x06\xaf\x84\x65\x12\xdf\x05\x53\x9c\x72\x65\x3d\x85\xda\x62\x83\x3b\xbb\x0e\x59\x57\xd5\xf9\xdb\x34\x2e\x55\xda\x37\xd6\xae\x4c\x96\x3d\xfd\x79\x6b\xef\x32\xa3\xee\xff\xaf\xc6\xff\x85\xaa\xf1\xac\x23\xfb\x4b\xa3\x8b\x73\x71\x9c\x04\xd3\xda\x3b\x66\x4a\xa6\xf1\x8a\x98\x9e\x97\x5c\x39\xd7\xbb\xbb\x56\x51\xe1\x4f\xae\xdc\xeb\x4c\xdd\x87\xb7\xe7\xb5\x7d\xc8\x8a\xdd\x36\x1a\xcc\x1e\xac\x2b\x9a\x4f\x10\x99\x08\x67\x89\xc9\x48\xf7\x6b\xdc\x92\x16\x93\xef\x98\x63\x13\x66\xeb\x87\x18\x3a\xdc\x6b\xfb\x77\x38\xa5\x10\xb7\x9c\x88\x7c\x04\x81\xcf\x4c\x36\xa4\x44\xf7\x7f\xd8\xac\x63\x73\x3a\x5a\xa4\x1c\xf4\xff\x6b\xf3\x90\x2d\xcd\x58\x9f\x90\xe4\x22\x6e\x9e\x99\x6c\x2e\x70\x19\xb6\xfe\xe7\xcc\x55\x7e\x17\x8b\x80\x89\x55\x3b\xa0\x8a\x83\x72\xe1\xb3\x3c\xf5\x38\xf2\xef\x82\x5b\x9f\xc4\x09\x4a\xbd\xf8\xc4\x8c\xe2\x29\x36\xdb\x32\x10\x8e\x64\xea\xde\xe2\x88\xa0\xa8\x0c\xbc\x0c\x7d\x32\x8b\x93\x45\x87\x64\x77\x72\x79\x3b\x3b\xbf\x4e\xa5\x1b\x86\xc9\x43\x4d\x2a\x49\xec\xf4\xca\x5c\x04\x1a\x64\xda\x4f\x4f\x7a\xe8\x38\x09\xa6\x38\x22\x22\x99\x3f\x81\xeb\x81\xf9\xd0\x78\x65\xbe\xf1\x27\x41\x44\xe2\x74\x6e\x22\xfa\x7c\x1a\x11\x1c\xb2\xc7\xb7\x6f\x7b\xec\xa1\x75\xf8\xb5\x79\x8d\x22\x86\xe0\x74\xe9\x4f\x3d\x33\x78\xeb\xd3\xa2\x7b\x11\x0f\x9b\xc7\x11\xa6\xa1\xf4\x37\x0b\x7f\x33\x7a\x0f\x0a\x73\xaa\x67\xc9\x03\x4d\x44\x9f\xdc\x16\xfb\xad\xd7\xd8\x6f\x6f\x90\xe5\x05\x97\x77\x79\x51\x56\x16\x08\x30\xed\x97\x9e\xf3\x4c\xfd\x96\x1c\x86\x2b\x76\x3e\x2c\xfd\x5b\xfc\x53\x6d\xda\xa1\x1c\x59\xc7\xa0\x70\xec\x26\x7d\xfa\xb6\x43\x76\x77\xc9\x8e\xe7\xa5\x38\x9c\x65\xb7\xdc\x88\x07\xae\x03\x77\xec\x64\xcf\x23\xb4\x11\xa6\x98\x9c\xe1\x19\x41\x41\xf6\x3e\x8e\x97\x88\x78\x26\x7b\x79\x0b\x13\x16\x33\x88\x0c\x72\x22\x22\xb0\xb0\x76\x6e\x36\xc3\xc7\xc8\xab\x04\x05\xd7\xd9\xc1\xa9\x31\x1f\x18\xc1\x1d\x9b\xf5\xe2\xbe\xc7\x8a\x28\x06\x55\xff\xca\xb9\x66\xd3\x9b\x09\x0e\x42\xcb\xa2\xef\x15\x2b\x3a\x49\x98\x26\xbd\x5f\x6b\x3b\xb6\xbd\xcf\xdf\x6c\xe4\x5f\xb9\x6a\x74\xfa\xba\x9f\x70\xfd\x99\x42\x05\xb2\x45\x10\x59\x72\xd2\x44\x83\x91\x6b\xa3\xb8\xe2\xaa\x18\x72\x71\x5c\x88\x93\x42\x9c\xf5\x8f\x58\x45\x82\x59\x56\x9c\x4c\xd3\x4b\x1c\xfa\x24\xb8\xc3\xe3\x58\x5c\xb9\x10\xa8\x60\x2f\x66\x6f\xda\x29\xd0\x45\x47\x88\x54\x9c\xed\x1e\x2b\x41\xc8\xf7\x22\x5a\x98\xd0\x8b\xae\xdc\x6b\xc9\x43\x38\x0f\x3a\x84\xef\xc7\x4f\x6d\x1f\x3d\xb4\xc3\x75\x89\x61\xf5\x77\xd3\xa5\xb8\x0d\xda\xa5\x6c\x3c\xa5\x9b\x79\x35\x85\x78\xe1\x61\x14\x54\xe7\xa0\xa3\xf3\x0d\x80\x23\x12\x27\x74\x64\x8f\xf0\xbd\x11\x54\xc3\xe0\xa6\xca\x43\xaa\x6f\xf0\x22\x4e\x1e\x90\x74\xea\xe2\x51\x58\x6a\x71\x18\x4d\x06\x66\xd3\x42\x3c\x4b\x2d\x1b\xdc\x87\x4c\x3a\x84\xec\xe1\x68\x12\xd3\xa9\x95\x89\xcc\xc4\xbf\xcf\xae\x37\x01\x02\x26\x71\xe2\x13\x9c\x1d\x47\x29\xce\xd5\xe7\x0e\xf4\x10\x2b\xe0\x77\xb6\xab\x29\x83\x28\x25\x7e\x18\x7e\x8d\x1f\x6e\x62\x3f\x99\x5a\x76\x99\x8f\x44\x10\xcd\xe2\xe2\xf4\xe6\x91\xdb\x37\xda\xc2\x39\x88\xbe\x70\x2f\x66\xe1\x87\xb3\xce\x79\x0a\xac\xc8\x72\xa5\xcf\xe1\x98\xeb\xaf\x4a\x24\x77\xdf\x12\x24\x83\x5e\xf3\x6e\x3c\x74\x5b\x60\xa3\xc4\xb9\xd3\x29\x0b\xea\x54\xe6\xc4\xc1\x07\x4f\x0f\x23\xf2\xd2\x39\xd1\x90\xd2\x94\x17\x77\x38\x09\xfd\x07\x48\xd0\xde\x02\xe5\xb7\x97\x16\xbd\x28\x0a\x59\x0b\xaf\xa1\x12\x34\x2a\x41\xc8\xc9\x97\x03\x13\xd6\x09\x6f\x70\xa2\x03\x84\x7a\xa4\x22\x2f\x98\xc8\xe0\x04\x47\x13\x5c\xb2\xcf\x8d\xed\x5e\xd2\xef\x20\x97\x17\x9e\xab\x47\x09\x93\x52\x11\x4c\x10\xbe\x4a\xae\xe1\x00\x57\xdd\xf5\xe3\x34\xca\xd7\x28\x17\xbc\x6a\x1c\x7d\x33\xfe\x1a\x3f\xa4\x24\x89\x3f\xea\xea\x2e\xb8\xd2\x0a\x01\x05\xa5\x92\x6d\x3c\x2b\x46\xca\xe7\x76\x99\xdf\x6d\x53\xdc\x29\x06\x39\x8b\x36\x95\x8f\x0f\xfa\x0f\x11\xc2\xea\x25\x88\x30\xdf\xb7\x00\x61\x80\xad\xf3\x16\x59\xb8\xab\xd1\x27\xc5\x4a\x2e\x14\x30\xdb\x10\xa0\x97\x49\x0b\x2f\x50\x96\x41\x81\xeb\xab\xa8\xd8\x20\x73\x92\x57\xe6\xc7\xa7\xc9\xe3\x33\xed\x5b\x43\x07\x8a\x72\xb9\x00\x97\x93\xc2\x9c\x4d\x5e\x43\x27\x16\xff\x45\xba\x76\x65\xcd\x7a\x95\xc8\x8d\xa5\x50\x10\xe6\xa0\x58\xd6\x6f\xb1\x8b\x80\x4a\x0c\x33\xb4\xfb\xe5\x57\x6e\xac\x92\x30\x87\x2b\x2b\x66\x2f\x8e\x22\x76\x1c\xd3\xd0\x9f\x90\x38\x79\xf0\x82\x0e\xbb\xf8\xfc\x39\x1a\x6f\x7c\x7e\xb3\x8f\x9c\xf2\xb3\xe3\x7c\xcb\x1c\xd0\xb4\x0b\x0e\xed\xc7\xcf\xa9\x20\x8a\x9e\x81\xf2\x15\x5a\xd8\x48\x99\xc5\x97\xcb\x3c\x5a\xd7\x9e\x5e\xe4\xf2\x57\x7d\x8d\x20\x5d\x82\xfd\xe9\x03\x3b\xd4\xd7\x93\xc5\xa9\xf6\x2e\xce\xcf\x07\xbd\xf1\xe9\xf9\x57\xfc\xcc\xd1\x2d\x71\x2f\xde\x0e\xce\xf3\x2d\x59\xcf\x56\x23\x34\x8e\x74\x9e\x40\x67\x50\xd6\x17\x4c\x70\x70\x57\xd2\x5d\x72\x24\x8b\x92\x89\x76\xb6\x1e\x96\xc7\xd6\xd3\x19\x9d\xc3\x95\xab\x86\x8c\xa2\xbc\xa0\xfc\xce\x1b\x05\x22\x8a\x94\x5f\x99\xf7\xf8\x86\x90\x07\xf3\x1a\x91\xea\x22\xbd\x85\xce\xf7\x5d\xf4\x31\x8a\xef\x23\xcf\x74\x4c\x25\xd4\x33\x5d\xfe\xfa\x96\xf6\x42\x66\x8d\xbf\xb1\x7e\x47\xf4\x42\x9e\x59\xe7\xe1\x1c\xcb\x05\x1b\xa1\x25\x2e\xf1\x2e\x91\xc5\x2a\xb2\x91\x3e\x70\x49\x64\x23\x7d\x30\x32\x1b\x59\xf8\x25\x9e\x30\x66\xc1\x05\x15\xcf\xb4\x78\x36\x5f\xcd\xd4\x26\xe1\x0b\x5c\x68\x97\xdc\xff\xcf\x4f\x6e\xa1\x53\x87\xe7\x15\x99\x8f\xe3\x8f\x38\xa2\xea\x29\xeb\x24\x45\xce\x7b\xee\xe7\x34\x44\xf0\x74\xa6\x14\xb0\x33\xf8\xe5\x96\xc9\x5c\xde\xbc\x97\xb1\x6c\xa4\x5d\x66\x13\x73\x19\xb7\x72\x18\x13\x2f\x10\x3d\xf3\x2c\xb6\xec\x4e\x5c\x6a\x54\x79\xec\x0a\xa7\xc3\x76\x00\xa5\x42\x5d\x51\x1c\x1a\x20\x9e\xd7\x36\xeb\x34\x35\xfd\x3a\xa1\x99\x03\xd2\x92\x0a\xaf\xe4\x33\x12\x4a\x1c\x16\x86\x76\xdb\x5e\x77\x38\x89\x62\xbc\xb5\x52\x1b\xa5\xcc\x8c\xce\x74\x3c\x66\x49\x47\x32\x1a\x48\x9c\x66\x69\x54\x29\x00\x68\x05\x8e\x96\xc7\x9b\x2e\xc9\x57\xe3\x53\x81\xb5\xd7\xa8\x8e\x1b\x70\x1a\x7d\xd6\xd4\x0b\x76\x6a\x38\x50\x0c\x3c\x5d\x5d\x5b\x9e\x13\x76\xe5\x5c\xf3\x23\xc2\x14\x09\x6e\x0b\x5a\xe1\xcd\xa2\x0a\xf3\x14\xbf\xbb\x3c\x85\x9b\xeb\x22\x1c\x11\x2b\xef\x9f\xba\xf0\x97\xdc\x3b\x95\xc4\x37\x56\x62\xa3\xa2\xd1\xc3\xfc\x03\xb3\x62\x99\x8e\x63\x56\xb2\x4d\xf9\x5d\x62\x39\x76\x95\xc4\x6c\xf4\xb7\xdc\x96\x6d\x73\x12\xf7\x6a\xf6\xda\xae\xfe\x22\x0e\x22\xcb\x34\x6d\x5b\x3b\xe8\x48\xb6\xad\x76\x3e\x50\x6f\x62\xa2\x18\x39\x65\x30\x29\x22\xd3\x9b\x60\x9b\x0d\x5b\x8a\x85\x31\xb1\x3b\x19\x2e\x25\xa6\x15\x97\xe2\x92\xcd\xb6\xcd\xe4\x4d\xc7\xa4\xec\x00\xb7\xcc\x41\xe4\xdf\x84\x41\x74\x6b\xc8\x06\xd7\x36\xcc\x4a\x5a\x31\x8d\x94\x06\x4c\x53\x93\x4a\x4e\xd6\x1a\xd3\x35\xaf\x65\xe8\x82\x55\xa1\x00\xf3\xaf\x94\x16\x2c\x05\x2e\x53\xcb\x2c\x19\xa6\xcc\x05\x2c\x33\xeb\x8f\x0d\x40\x3a\x85\xeb\x61\x95\x4c\x5f\x3a\xbb\xbb\x56\xe2\x95\xef\xd2\x8f\x99\x7d\x64\x53\x33\xe7\x19\x82\x26\x46\x5b\x3d\x1d\x82\x5d\x5c\x7f\xa1\xa0\xb7\xb9\xe0\xc2\xc5\x63\xd2\xc0\x9e\x5a\x36\xca\x97\x4e\x64\x9f\xd0\xf8\x62\x44\x97\xe3\xca\x7b\x7c\x33\x1e\x7f\xfb\xe7\xe5\x43\x9f\x58\x0e\x15\x02\x79\xad\x97\x65\xce\x02\x62\xda\xdb\x55\x9c\xa2\xc2\xcd\x27\xc3\xb9\xc9\x2d\xd2\xa7\x60\xb9\xfb\x91\x37\xdf\x4c\xc9\x53\xb0\xd5\x9e\x73\x7f\x81\x3d\x7e\xe5\x68\xcc\x66\x52\xa6\x16\x8d\xb3\xcf\xab\xe1\xba\xe8\xe4\x69\x87\x25\x0c\xa8\x9a\xe2\xc4\xaa\x6d\x16\xd0\x4a\xe3\x2f\xc5\xdd\x4e\x9a\x1c\xf1\x36\xcc\x23\x83\x6e\x58\x31\x3f\x89\xfb\x75\x44\x38\xeb\x0b\x49\x8e\x24\x31\xc1\xe1\x3d\x24\xbf\x47\x0d\x69\x04\xe9\xc4\x5a\x36\xe2\x0b\xda\x45\xc3\xb4\x30\x7c\x6f\x4d\xae\xde\x44\x4a\x33\xa5\xd2\x07\x87\x3b\xfe\xd8\x39\xbd\x2c\xb6\x32\xab\x97\x45\x7e\x7e\x6a\x9f\xc5\xe7\xeb\x3f\x9f\x3d\x7d\xcf\x76\x44\x74\x34\xa1\x50\xef\x81\xc3\xd9\x35\x1e\xc5\xeb\x36\x17\xc2\x50\x9e\x17\x96\x64\x77\x57\x6b\x77\x05\xb8\x8d\x58\xe7\x50\x00\x6c\xe8\x2c\x12\x46\x81\xb6\xa5\x5d\x66\xbf\x66\x2b\x06\x9f\x6f\x3a\x10\x05\xcd\x36\xcb\x7b\xd9\x49\x07\xca\x8d\x24\xc5\x3b\x48\xb2\x2c\x3f\xd3\xb2\x20\xcd\xa7\xb0\x39\xcf\xc3\x9f\x6d\x4e\xf8\x4c\x0b\x80\x14\x7c\xb6\x10\x52\x98\xda\x17\x2c\x09\x25\x73\x7b\x1d\x51\xa1\x11\x70\x85\x9e\xed\xb8\xe7\xab\xfb\x05\x9f\xaa\x8d\x33\x78\x86\x57\x2e\xd5\x68\x4d\x87\x86\xf2\xec\xd4\xf0\x9b\x70\x95\xfc\xb6\x33\x72\x10\xbf\x67\xe7\xe1\xbc\x27\x28\x5d\x14\x12\x7c\x28\xe9\xf0\x74\xa3\x20\x5c\xae\xa3\x4c\xdb\x7f\xfa\x59\xd3\xf6\xfd\x17\x3b\xbf\x67\xbc\x30\xc2\xe0\xc6\x5f\x2e\x53\xc3\x9a\x13\xb2\x4c\xdb\xfb\xfb\xd1\x72\xf1\x0b\x38\xce\x77\x7f\xe9\x4f\x3e\xfa\xb7\x78\x9f\x47\xb1\xb5\x75\xe9\x57\xa3\xfe\x5e\x7d\xaf\x17\xfa\xab\x14\x03\xe0\x0e\x27\xe0\xb6\xe5\x56\x0f\x9c\xaa\x43\x83\x3c\x8f\xa7\xdc\x3f\x3b\xed\x0d\xce\x47\x03\xcf\xa3\xc1\xfb\xfb\x46\x2f\x5e\x3e\x80\x9f\x8c\x61\x4d\x6c\xa3\xe6\x38\xad\xbd\x9a\xe3\x1c\x19\xe3\x39\x36\x7a\xf3\x24\x5e\x04\xab\x85\x71\x31\x32\xa8\x36\x1c\x27\x69\xd5\xe8\x86\xa1\x01\x09\x52\x83\x56\x44\x72\x87\xa7\x55\x86\x8b\x63\xbc\xc4\xd3\x20\x65\xd7\x44\x53\x22\xfc\x68\x0a\x87\xc2\x07\x91\x91\xc6\xab\x64\x82\x21\xe4\x26\x88\xfc\xe4\xc1\x98\xc5\xc9\x22\x45\xcc\xab\x2b\x4e\xe0\x37\x5e\x11\x8e\x68\x11\x4f\xe5\xb5\x3b\xc8\xf0\x13\x6c\x2c\xa9\x4e\x4d\x08\x9e\x0a\x8f\x80\x29\x73\xdb\x25\x73\x6c\xcc\xe2\x30\x8c\xef\xa9\x16\x44\x55\x1e\x38\xfd\x38\xa5\x89\x04\x32\x4c\xda\x1a\x99\x86\x61\xbc\xc8\xd1\x0a\x8e\x79\x9c\x48\xaa\xad\x1a\x8b\x55\x4a\x8c\x04\x13\x3f\x88\x98\xcb\xf0\x4d\x7c\x47\x41\x9c\x65\x1c\x53\x14\x93\x60\x82\x11\x4c\xe0\x8d\x30\x48\x09\x73\x45\xcb\x88\x88\xa6\x39\x0a\xa7\x41\x3a\x09\x7d\xda\xc7\x55\xb7\x51\x13\x44\x2a\x9f\x04\x35\xcb\x24\x9e\xae\x26\x38\x23\x88\xa3\x90\x64\xfd\x56\x04\x71\x64\xbc\xc0\xa2\xcb\xf2\x45\x55\xee\xc7\x89\x11\x93\x39\x4e\x8c\x85\x4f\x70\x12\xf8\x61\x9a\xd5\x85\x70\xce\xe3\x38\xd4\xc2\x68\xe5\x3c\xc7\x01\xa0\xa0\x39\x44\xfe\x02\x53\xf2\xbe\x8a\xe3\xdb\x10\x1b\xa7\xd1\xa4\x6a\x44\x71\x06\x13\xce\x92\xb2\x90\x11\xc3\x19\x27\xa9\xb1\xf0\x1f\x8c\x1b\xb8\x72\x60\x6a\x90\xd8\xc0\xd1\x34\x4e\x52\x4c\x05\x69\x99\xc4\x8b\x98\x80\xe3\xc8\x74\x35\x21\xa9\x31\xc5\x49\x70\x87\xa7\xc6\x2c\x89\x17\x1c\x15\x70\x27\x8d\x67\xe4\x9e\x8a\x16\x17\x3d\x23\x5d\xe2\x09\x95\x3a\x63\x99\x04\x54\x22\x13\x2a\x6f\x11\x93\xbc\x34\xcd\x4a\xc2\x91\x8c\x5f\x9f\x8e\x8c\xd1\xc5\x70\xfc\xbe\x7b\x39\x30\x4e\x47\xc6\xdb\xcb\x8b\x6f\x4e\xfb\x83\xbe\xf1\xea\x5b\x63\xfc\x7a\x60\xf4\x2e\xde\x7e\x7b\x79\xfa\xd5\xeb\xb1\xf1\xfa\xe2\xac\x3f\xb8\x1c\x19\xdd\xf3\xbe\xd1\xbb\x38\x1f\x5f\x9e\xbe\x7a\x37\xbe\xb8\x1c\x71\x4c\x66\x77\x64\x9c\x8e\x4c\x00\x77\xcf\xbf\x35\x06\x3f\x7d\x7b\x39\x18\x8d\x8c\x8b\x4b\xe3\xf4\xcd\xdb\xb3\xd3\x41\xdf\x78\xdf\xbd\xbc\xec\x9e\x8f\x4f\x07\x23\x64\x9c\x9e\xf7\xce\xde\xf5\x4f\xcf\xbf\x42\xc6\xab\x77\x63\xe3\xfc\x62\xcc\xf1\x9c\x9d\xbe\x39\x1d\x0f\xfa\xc6\xf8\x02\x01\x01\xc5\xc4\xc6\xc5\xd0\x78\x33\xb8\xec\xbd\xee\x9e\x8f\xbb\xaf\x4e\xcf\x4e\xc7\xdf\x42\xae\xc3\xd3\xf1\x39\xcd\x71\x78\x71\xc9\x71\x75\x8d\xb7\xdd\xcb\xf1\x69\xef\xdd\x59\xf7\xd2\x78\xfb\xee\xf2\xed\xc5\x68\x60\xd0\x82\xf6\x4f\x47\xbd\xb3\xee\xe9\x9b\x41\xbf\x6a\x9c\x9e\x1b\xe7\x17\xc6\xe0\x9b\xc1\xf9\xd8\x18\xbd\xee\x9e\x9d\xe9\xe5\xe6\xa8\x2e\xde\x9f\x0f\x2e\x69\x61\xd4\xa2\x1b\xaf\x06\xc6\xd9\x69\xf7\xd5\xd9\x80\x66\x0a\xc5\xee\x9f\x5e\x0e\x7a\x63\x5a\xbe\xec\xa9\x77\xda\x1f\x9c\x8f\xbb\x67\x88\xe3\x1a\xbd\x1d\xf4\x4e\xbb\x67\xc8\x18\xfc\x74\xf0\xe6\xed\x59\xf7\xf2\x5b\xc4\x31\x8f\x06\x3f\x79\x37\x38\x1f\x9f\x76\xcf\x8c\x7e\xf7\x4d\xf7\xab\xc1\xc8\xb0\x3e\x8b\x53\x6f\x2f\x2f\x7a\xef\x2e\x07\x6f\x68\x21\x2e\x86\xc6\xe8\xdd\xab\xd1\xf8\x74\xfc\x6e\x3c\x30\xbe\xba\xb8\xe8\x43\x2d\x8c\x06\x97\xdf\x9c\xf6\x06\xa3\x8e\x71\x76\x31\x02\x26\xbe\x1b\x0d\x04\x49\xfd\xee\xb8\x0b\x44\xbc\xbd\xbc\x18\x9e\x8e\x47\x1d\xfa\xfc\xea\xdd\xe8\x14\x38\x7a\x7a\x3e\x1e\x5c\x5e\xbe\x7b\x3b\x3e\xbd\x38\xb7\x8d\xd7\x17\xef\x07\xdf\x0c\x2e\x8d\x5e\xf7\xdd\x68\xd0\x07\xd6\x5f\x9c\xd3\xc2\x4b\x99\x1a\x5c\x5c\x7e\x4b\x33\xa0\xbc\x81\xfa\x41\xc6\xfb\xd7\x83\xf1\xeb\xc1\x25\xe5\x36\x70\xb0\x4b\x59\x33\x1a\x5f\x9e\xf6\xc6\x6a\xb4\x8b\x4b\x63\x7c\x71\x29\x4a\x98\x95\xdd\x38\x1f\x7c\x75\x76\xfa\xd5\xe0\xbc\x37\xa0\x71\x2e\x28\xae\xf7\xa7\xa3\x81\x6d\x74\x2f\x4f\x47\x34\xc2\x29\x90\x60\xbc\xef\x7e\x6b\x5c\xbc\x03\x26\xd0\x6a\x7c\x37\x1a\x88\x0a\x1c\xea\xc2\x8e\xa0\xca\x8d\xd3\xa1\xd1\xed\x7f\x73\x4a\x0b\xc2\x93\xbc\xbd\x18\x8d\x4e\xb9\x58\x01\x2b\x7b\xaf\x79\x65\x54\xc1\x7d\x2a\x98\xf1\xfb\xb1\x76\x3c\x2f\x28\x5c\x2f\xf1\x25\xbb\x94\xda\x30\xc3\xe0\xc6\x34\x62\x98\x67\x19\x7e\x08\x66\x4e\x03\x7f\x0a\x52\x92\x56\xbf\x14\xf3\xa9\xc7\x75\x27\xa8\x26\xab\x88\x04\x0b\xdc\xc7\x54\x23\xc5\xd1\x24\xc0\xe9\x77\xde\xe3\x1a\xb6\x63\x07\x44\xdc\x1c\x91\x7e\xe7\x5d\x5d\xd3\x09\x29\x99\xe2\x65\xd9\xc5\x67\xc9\xc3\x63\x8e\x96\xf5\xc4\x07\xf3\x86\x62\xf9\x20\xfe\xe4\x23\x6c\xf5\x25\x96\xf9\x21\x32\xed\x0e\xf1\xb2\xeb\x86\xea\x27\xc9\x55\xed\xba\x9a\xe0\x65\xe8\x4f\xb0\xb5\xff\xb3\x0f\xe9\x0b\x9f\x7c\x48\x2b\xfb\xc8\x34\xed\x76\x72\xe5\xe6\x80\xb7\xac\xa8\x74\xa8\xf9\x43\x88\xb3\x16\x2b\xf1\x6c\x1f\x6b\x61\x8f\x6c\x5c\xa9\x30\x62\x52\x65\x8f\x6c\x0c\x7b\x64\x53\xb8\x57\xc5\x8f\x26\x38\x9e\x19\x60\x59\xb1\x79\x61\xf9\xe6\xd7\x00\xa5\xec\x74\x2b\xbe\x0a\xcc\x74\x99\x12\xde\x5d\xa5\xd7\x9d\xe8\xe9\xc9\xda\x1e\xc5\xbb\xba\xb6\x51\x94\xdd\xbe\x4b\xf9\x8d\xa3\x74\x95\xe0\xcb\xb2\xfa\xc8\x5b\xf9\xbc\x9d\xec\xc4\x14\xb8\x46\xbc\xbc\x1e\x95\xdd\xda\xe5\x11\xae\xc8\x35\x8a\x3d\x22\xea\xa4\x6a\xda\xd2\x71\xfa\xe9\x29\xc5\xe1\x0c\x45\x9e\xd3\x89\x8e\x63\xc1\xc2\x88\xb2\x10\x8e\xd0\x8a\xaf\xa2\x6b\xaa\x94\xd8\xb9\xeb\x70\xbe\x7c\x43\x3b\xfa\xe8\xd6\x30\xbf\xac\x90\xca\x97\xa6\x11\xa4\x46\x84\x31\x1d\xe0\x6e\x1e\xbe\x84\x4b\x9d\xbd\x1d\x97\x9f\x54\x9f\x7a\xe9\x15\x45\x74\xbd\x06\x1f\xef\xe2\x6d\x29\x43\x3f\x08\xf1\xd4\xe0\xb4\x1b\x53\x41\xfc\x83\x31\x99\xe3\xc9\x47\x76\x7f\x8f\xb8\xcc\xe3\x34\x0a\xf2\xe7\xed\x88\xa3\x51\x72\xc2\xcc\x18\x7f\x85\x11\xb9\xb6\x11\x11\xc2\x5e\x3a\xa9\xcb\x27\xd5\xd7\xda\x83\x99\x25\x24\x58\x88\x56\x92\xdd\x13\xb5\xbb\x4b\x2c\x93\x26\x07\x83\xd2\x95\x73\x6d\xa3\xf4\xca\xbd\xb6\x82\xea\xac\xea\x87\x7e\xb2\xb0\x62\x7e\x69\xb3\x81\x2d\x7b\x4d\x05\xd1\x14\xc8\xcd\x1d\xe1\x19\x54\xc2\x16\xc1\xe3\x38\x31\x82\x08\xee\x8d\x91\x17\xc3\xb7\x0d\x3a\xc3\x01\xbb\xc8\x36\x91\xb2\x6c\xd5\xfd\x2f\x86\x25\x5e\x7e\x9a\xa6\xe2\x6c\xec\x4f\xe1\xd4\xac\xa7\x27\x6b\x23\xac\x94\xe1\x16\xe6\xf7\x08\x72\xd6\x1c\x7b\xce\x89\x30\x42\xcc\x83\xd4\x6e\x5b\x99\x5f\x19\x9c\xf1\x67\x1a\x26\x9c\xfa\xa5\xdc\x8b\xe5\x11\xda\xdc\xb1\x4f\x2c\xbc\x2f\xc2\x2b\x70\x07\x1f\xb7\x4f\x3a\x08\xdb\x15\x15\xab\xbd\xb6\x4b\xcb\x30\x88\xa6\x1b\x4a\x30\xd0\x16\x9f\xfe\x82\xe8\x57\x11\x55\xd4\xc2\x50\xfa\x03\x3a\x3b\x8c\x93\x94\x75\xc1\xec\xb9\x9a\xe0\xef\xbc\xc7\x39\xfe\xe4\xb6\xda\xfb\x5f\x58\x57\xfe\xde\xcc\xd9\x3b\xba\xb6\xcb\x9e\xf6\x03\x34\xc7\x9f\x6a\x0d\x35\xe2\x63\x6d\x6d\x6f\x7e\xd9\x0f\x50\x72\x7b\xd3\xa6\xd2\x75\x89\x6f\x07\x9f\x96\x96\xf9\xb3\xfd\xf4\x45\x72\x7b\xb3\x9f\xbe\xd8\xb7\xf6\xd3\x17\xd6\xfe\xf4\xd1\x45\xf5\xb5\xbd\x9f\xbe\x40\xcf\xbc\xef\xd3\xaf\xdf\x37\xb3\x9e\xfa\xc3\xfe\xfe\x2d\x6c\x52\xb4\x91\x19\x98\x36\xcd\xcb\x2f\xcb\xcc\xff\x31\xb9\x59\x27\x6d\x1e\x54\xb1\x4e\xda\xfb\xd5\xfd\x69\xc5\x3e\xa1\x00\xfb\x73\xe8\xf8\x54\x4a\xc7\xc9\xef\x96\x90\x93\x67\x29\xf9\xe4\xba\xb4\x02\x60\x4c\xa3\x0f\x59\xed\xb8\xa8\xb1\xb6\x3f\xec\x3f\x1b\x90\xbe\xf8\xfd\xfd\x00\x51\x7d\xbf\xbd\x7f\xe5\xef\xfd\xea\x9a\x7e\x39\x7b\x47\x1f\xd2\xeb\xca\xbe\x2a\x47\xb7\x37\xe3\xf8\xa7\xae\xab\x9f\x2e\x21\x8c\xa5\x44\x3d\x26\xca\xb3\x6a\xcd\x83\x17\xd2\x2f\x0b\xa3\x5a\xb3\x69\xeb\xeb\x04\x88\x76\x63\xbf\x5a\xfa\x53\x0b\xa3\x86\xbd\x16\xa3\x3c\x1c\x33\x63\xa9\xb2\x4b\xf3\xfd\x24\x3d\xcc\x92\x13\x93\x96\xd2\xac\x10\xe6\xfc\x5b\x31\xf7\xd9\x73\x4d\x79\xae\x5f\xdb\x6d\xe6\x08\x2d\x11\x7d\x72\xdd\xd7\xf8\xd3\x38\xee\x8d\x46\x25\xbb\x83\xe0\xd6\x9f\xf4\x7d\x40\xe6\x96\xf9\x85\x69\x6b\x0e\x7a\xc1\xcc\xc2\x54\xfd\x58\xdd\xa4\x24\xb1\x5c\x1b\xed\xb9\x9e\x77\x55\x47\x2d\x74\x84\xdc\xda\x75\x76\x52\x95\x68\xee\x85\xd4\xbc\x50\xfb\x57\x3f\xe3\x8c\xdf\x0f\xec\xe2\xd6\x23\x79\xe7\xdf\x7e\x9d\x5d\x1d\xc3\x32\x74\x10\xec\x16\x91\xef\x04\x2e\x83\x56\xde\x2b\x44\x71\xc0\x93\xe5\xf5\xa9\x16\x32\x8e\x2f\xbf\x7a\xd5\xb5\xae\xc0\x67\xef\xba\xba\xf0\x97\x56\x89\x2f\x2b\xce\xb6\xa2\x60\x44\x6b\xa6\x06\xfe\xba\x6d\x17\x7e\x8e\x8f\x1b\x6d\xfc\xf2\x65\xe3\x85\x45\x60\x49\xc7\xd6\x99\x5a\xe4\xa8\x28\x4c\x49\x4d\x32\x59\xcd\x8e\x3d\x39\xb1\x48\x76\x73\xa2\x9b\x75\x5f\x1a\xf5\x64\x13\xdd\x6e\x76\x4d\xe2\x49\x56\x82\x0a\x94\xa1\x5d\x2b\x05\x02\xc8\xaa\xab\xf7\x2b\x5a\xb8\x92\x31\xb3\x66\xdb\x08\xa4\x36\x89\x57\xd1\xd4\xd2\x13\xee\xd7\x9a\x07\xb4\x97\x85\x53\xd9\x73\x12\x73\x52\x26\x68\x16\xb6\xdb\x32\x9c\xb6\x2f\x28\x11\x3f\xd2\x8c\x07\xcf\x69\xdc\xcb\xaf\x5e\x6d\x69\x54\x0d\x9d\x5c\x0f\xcb\xce\x20\x41\x25\x7b\x16\xd8\x5a\xdd\x17\x66\x85\x54\x48\x25\xa9\x24\x95\xa0\x12\x88\x95\xd3\xac\x5e\x62\xa5\x16\x68\x8b\xb2\xcc\x6c\xa3\x16\x01\xef\xc9\x96\x5d\x31\x91\xa1\x05\xd7\xca\x83\xeb\x3c\xd8\x36\x59\xab\x13\xaa\x8f\x52\xf3\x30\xfc\xa0\xb8\x10\x58\x6b\x40\x0b\x29\xea\xcf\x42\xf7\x4c\x3d\xa7\x93\x1e\x8b\xf2\x77\xd2\x4a\xc5\xc6\x54\x03\x26\x16\xfd\xe1\x47\xc6\x62\xfa\x9a\x9d\x04\x99\xef\xb3\x5e\xab\x07\xa0\x15\xd8\xcb\xf8\x22\x53\x4c\x12\x7f\xf2\x91\x55\x93\xc2\xa1\x2f\xcc\x8a\xec\xaf\x2c\xa5\xe8\xce\xb5\x7d\x7c\xec\xb6\x9e\x34\xde\xd9\xc7\xc7\x87\x4f\x1a\xdb\xec\xe3\xe3\xdc\x32\x29\x6a\xf1\x2e\x6a\x7b\xf1\x13\xcf\xe9\x24\x59\xf1\x13\x28\x7e\xc2\x8a\x9f\x3c\x5f\x7c\x76\x7a\x6b\xf0\x2b\x9c\x6f\xa4\x72\x89\x64\xa3\x1c\x0b\xc1\xd4\x84\x58\x74\xc7\x55\x82\x53\x9a\xe7\x09\x7e\x56\xc0\x95\xa6\x5c\xda\x4d\xf0\x09\x5c\xfd\x04\x5f\xd5\xaf\xdb\x2e\x2f\x05\x15\x49\xdf\x32\x2b\xf8\xca\xb9\x66\xf2\x86\xaf\x5c\xf9\x54\xe3\x4f\x84\xca\x9c\x92\x57\x8a\x49\x37\x5c\xce\xfd\x0d\xaa\xf8\xe6\x1a\xa6\x43\x86\x47\xca\xfb\x9f\x44\x2d\xcd\x22\xf8\x54\xb8\xc6\x30\x9b\x37\x96\x65\x81\xd2\x92\x60\xd8\x2f\x4a\xa7\x46\x8d\x4e\xa5\x22\x7d\xa9\xd3\xab\xe8\x7a\x8f\x4e\x68\x3a\xf4\xcb\x2b\xeb\x88\x28\xc0\xae\xf8\x2f\x12\xb9\xca\x55\x4a\x73\xac\xd2\x2c\x72\xcd\x8f\x7b\x7a\xe5\x53\x86\x9b\x36\x3b\xb5\x6b\xe3\x38\xec\x67\x57\xd9\x89\x79\x0a\x22\x6b\x39\xb1\xdd\x9c\x90\x9d\x82\x5d\x92\x98\xcd\xa5\x5c\x8a\x86\x03\xb5\xc3\xc9\x2d\xb3\x17\xaf\xc2\x69\xf4\x25\x31\xa0\x18\x74\x2a\x84\x6d\x94\x1b\xdc\xa5\xe8\x95\xca\x38\x9b\xe1\x0a\x66\xd0\x9f\x73\x7f\x81\xd3\x93\x92\xb0\x2b\x7c\xdd\x86\x1e\x96\xc4\x67\xf1\x3d\x4e\x7a\x7e\x8a\x2d\xdb\xfe\x11\x08\x32\x7d\x2d\xad\x50\x85\xcd\xfc\xa1\x58\x72\x45\x4c\x49\x3c\xf9\x08\xc7\xef\xbd\xf5\x43\x4c\x08\xf6\x8a\x2d\xf5\xca\xfc\xc2\x81\x7f\x26\x32\xbf\xe8\xf5\xc4\x53\x63\x70\xd4\x75\x5a\x10\xd6\xe8\xf2\xb0\x7a\xa3\xd5\xec\x36\xe8\xd3\x41\xb3\xe9\x1c\xbc\xa2\x4f\x4e\xeb\xe8\xf0\xa8\x4b\x9f\xfa\xf5\xfe\x41\x6f\x48\x9f\x9a\xcd\xe6\x41\xb3\x4e\x9f\x06\xc3\xda\x51\xed\x08\xe2\x39\xaf\xba\x2e\x84\x0d\x7b\x83\xa3\x06\xc4\x3b\xa8\x1d\x0d\x59\x8a\x61\xcd\x71\x7a\xaf\x78\xbc\xe6\xab\x3e\xa4\xa5\xff\x7a\x2c\x4c\x50\x45\x7f\x9b\x43\xf1\x74\x78\x20\x9e\xba\x32\xac\x2f\xc3\x86\x3c\xac\x39\x14\x69\x9b\xc3\xa6\x0c\x13\x69\x9b\xc3\xae\x0c\xeb\xcb\x30\x91\xf6\xf0\x40\xa4\x3d\x3c\x68\xca\x30\x91\xf6\xf0\xa0\x2b\xc3\xfa\x32\x4c\xa4\xed\xca\x7c\xbb\x32\xdf\xae\xcc\xb7\x2b\xf3\xed\xca\x7c\xbb\x32\xdf\xbe\xcc\xb7\x2f\xf3\xed\xcb\x7c\xfb\x32\xdf\xbe\xcc\xb7\x2f\xf3\x1d\xca\x7c\x87\x32\xdf\xa1\xcc\x77\x28\xf3\x1d\xca\x7c\x87\x3c\x5f\xca\x29\x96\x96\x3e\x35\x65\x18\x4b\x4b\x9f\xba\x32\xac\x2f\xc3\x44\x5a\xc1\x67\xfa\xd4\x94\x61\x22\xad\xe0\x33\x7d\xea\xcb\x30\x91\x56\xf0\x99\x3e\x35\x65\x98\x48\x2b\xf8\x4c\x9f\xfa\x32\x4c\xa4\xed\xca\x7c\xbb\x32\xdf\xae\xcc\xb7\x2b\xf3\xed\xca\x7c\xbb\x32\xdf\xbe\xcc\xb7\x2f\xf3\xed\xcb\x7c\xfb\x32\xdf\xbe\xcc\xb7\x2f\xf3\x1d\xca\x7c\x87\x32\xdf\xa1\xcc\x77\x28\xf3\x1d\xca\x7c\x05\x9f\x69\x69\x59\x5a\xfa\xd4\x94\x61\x2c\x2d\x7d\xea\xca\xb0\xbe\x0c\x13\x69\x05\x9f\xe9\x53\x53\x86\x89\xb4\x82\xcf\xf4\xa9\x2f\xc3\x44\x5a\xc1\x67\xfa\xd4\x94\x61\x22\xad\xe0\x33\x7d\xea\xcb\x30\x91\xb6\x2b\xf3\xed\xca\x7c\xbb\x32\xdf\xae\xcc\xb7\x2b\xf3\xed\xca\x7c\xfb\x32\xdf\xbe\xcc\xb7\x2f\xf3\xed\xcb\x7c\xfb\x32\xdf\xbe\xcc\x77\x28\xf3\x1d\xca\x7c\x87\x32\xdf\xa1\xcc\x77\x28\xf3\x15\x7c\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x76\x0e\xe9\x1f\x7d\x72\x6b\xf4\x0f\x9e\x7a\xf4\x8f\x3e\xd5\x5a\xf4\x8f\x3e\xd5\x1d\xfa\x07\x4f\x5d\xfa\x47\x9f\x1a\xf0\x0f\x9e\x06\xf4\x8f\x3e\x35\x0f\xe9\x1f\x7d\x82\xa4\x80\xaf\xd5\xa3\x7f\xf4\xe9\xa0\x45\xff\xa0\xe7\x82\x8c\xe1\xa9\x4b\xff\xe8\xd3\x51\x83\xfe\xc1\xd3\x80\xfe\x41\xcb\x03\x30\x7d\x7a\x55\xa3\x7f\xf0\xd4\xa3\x7f\xf4\x09\x10\x03\xbe\xbe\x43\xff\xe0\xa9\x4b\xff\xe8\x13\x10\x05\xf8\x40\xbf\x1a\x98\xd7\x8a\x05\x65\x52\xaa\x2a\x16\xb4\x48\x54\xa2\x7d\x7a\x8f\x7e\x18\x4c\xf0\x4d\xb8\xc2\x6d\x30\x0d\xd4\x1a\x0e\x32\x6a\x8d\x43\x64\xd4\x9a\x4d\xdb\x44\x7e\x44\x82\x5f\xae\x30\xdc\xfd\xc4\x63\x34\x69\x8c\x7a\x13\x19\x35\x37\x1f\xc3\x15\x51\x28\xb4\x7e\x44\xa3\x1c\xe5\xa2\xd4\x78\x94\x3a\xcd\xa2\x56\x47\x46\xcd\x69\xe4\xa2\xd4\x79\x14\xa7\x89\x0c\xf7\xa8\x86\x0c\xf7\xa0\x95\x8b\xd2\x60\x51\x5c\x9a\x87\x5b\x77\x91\xe1\xd6\x1c\x1a\xe5\x97\x2b\x7f\xe1\x27\x41\xc4\x69\x75\x6b\x07\x50\x10\x4a\x48\x4d\x83\xbb\xcf\x45\xe0\x74\xba\x2e\xa5\x93\x12\xeb\x1e\x1d\x6a\x11\x38\x95\xae\x53\xa3\x65\xa0\xa4\x1e\xe8\x24\x70\x1a\x5b\x40\x22\xfd\x72\xa1\x14\xbf\x5a\x25\x1a\xaf\x21\x73\xc6\x6b\x0a\x72\xb7\xc0\x04\xef\x6a\x0d\x4e\x53\xad\x7e\x28\x60\x82\x9c\xa3\x3a\x27\xa7\xe6\xc8\x74\x92\x5b\xae\x20\xa5\x4e\xab\xe5\x06\x07\xb7\x92\x14\x9a\x02\xbe\x80\x91\x37\x41\xfa\x4b\x29\x12\x40\x45\x0d\x58\xd0\x92\x30\x77\x1b\x50\xab\x64\xb7\x8e\x0c\xf7\xb0\x2e\x81\x5a\xf5\x1e\x52\x60\xf3\x50\x02\xb5\x8a\xad\xd1\x18\xce\x01\x05\x86\x74\x42\x08\x20\x07\x19\xf4\x3f\x0b\x8c\x26\x73\x3c\xf5\xc3\x45\x1c\x4d\x35\xd1\x93\xe5\xcf\x24\x9b\xa5\x63\xdc\xa4\xa1\x6e\x79\x70\x4d\x0b\x06\xfe\xd2\xe0\xba\x16\x2c\x51\x37\xd4\x60\xce\xd5\x70\x85\xef\x82\x38\xc4\x44\x14\xe5\x10\x19\x0d\x5a\x2b\x35\x60\x50\x12\xdf\x47\x1c\xd2\x6a\x22\xa3\x51\xa3\x1f\x01\x50\xb9\xda\x6a\xd0\x8f\x80\xa8\x2c\x6d\x1e\xd1\x8f\x80\xa8\xfc\x6c\xba\xf4\x23\x20\x2a\x33\x29\x4b\xea\x40\xf6\x2a\x09\x1f\xee\xe3\x58\x30\xac\x46\x1b\xd8\x61\x83\x92\xaf\x81\xb5\x0a\x76\xa9\xe4\x34\x35\xb8\x4a\x90\x7b\x74\x80\x0c\xb7\xa1\xc1\xb5\x6a\x3e\x70\xa0\x3a\x55\xb8\x56\xd3\x6e\x13\x19\x87\x14\x3c\xf1\xa7\x98\x64\x95\x76\xd4\x04\xf1\x40\x86\xdb\x72\x54\xa8\x68\xbe\xcd\x9a\x10\xdb\xa6\x96\x5a\xb4\x5e\xca\xdd\x5a\xed\x48\xd4\xa4\x84\x8b\xd6\x02\x85\xa7\xc4\xb3\x2a\x95\x70\x4e\x1c\x48\x67\xbd\x21\xaa\x76\x32\xf7\x13\x92\xe0\x55\x5a\xe8\x5e\x1c\x0d\x5a\xe8\x5c\x74\x70\xa1\x6b\xd1\xc1\x85\x8e\x45\x07\xe7\xbb\x15\x06\x8d\x27\x71\xe8\xcb\x2e\xda\xa5\xec\xa6\x49\xeb\x1a\x54\xad\x52\x20\xae\xde\x52\xc1\x5a\x8d\x52\xe2\xea\x75\x15\xac\x55\x28\x10\x77\xa4\x82\xd5\xfa\x04\xe2\x00\x1a\x27\x7e\x98\xcf\xf5\xd0\x11\x10\x8d\x20\xb7\x81\x8c\xc3\x96\x00\x69\xc4\x38\x2d\x35\x95\x4a\xc8\x91\x4b\x73\x13\x10\x8d\x06\xda\xb0\x0e\x18\x24\x9a\x85\xf1\x3d\x4e\x32\xb9\x72\x1d\xca\xa1\x06\x08\x86\x88\x93\x06\xe1\x47\x55\xe6\x61\x10\xac\x39\x0a\xd4\xdd\x0e\xd6\x7a\xbd\x7a\x4d\x0a\x15\x07\xab\x64\xd7\x20\xff\x03\x35\x6b\x7d\x48\x6b\x89\x21\x6d\xf2\xe0\x47\xb2\x93\x51\x06\x04\x1a\xee\x6e\x02\x64\x9d\x98\x32\x4c\x50\x40\xd6\x8d\x29\x63\x04\x05\x64\x1d\x99\x32\x40\x4c\xfd\xe4\x63\xbe\x03\xcd\x20\x1a\x65\xb9\x54\xb7\x71\x38\xc5\x51\x22\x3a\x19\xde\xbf\xd0\x2f\x37\x1f\x43\x93\x81\x43\x68\xef\xf9\x28\x9a\x2c\x1c\xd0\x36\xd9\xc8\x47\xd1\x84\xb3\x01\x83\x47\x3e\x8a\xc6\x60\xc7\x45\xc6\xa1\x88\x91\xf8\x0f\xa2\x47\xa6\x30\xfe\x25\xa1\x18\x2b\xe5\x74\xf8\xe0\xc3\x41\x5b\x12\x7e\x9c\xfb\x1f\x03\x51\xfe\x23\x31\xd6\xc1\x70\x46\xc1\x0b\xff\x16\x47\xc4\x57\x88\xd2\xb8\x1b\x87\xc1\x1d\x56\xf2\x3e\x64\x63\x21\x97\x69\x3d\x86\x60\x21\x34\x4a\xd6\x96\x6a\x85\x48\xa2\xd7\x39\x94\x0a\x8d\xd3\x28\x44\x12\x7d\x4f\x4b\xf4\x3d\x47\x4e\x21\x8e\xe0\xa3\x2b\xaa\xbd\x25\xea\x34\x4e\xfc\xe8\x56\xd5\x1a\xdc\x86\xc2\x2d\x06\x2d\xf4\x41\x3a\xb8\xd0\x07\xe9\xe0\x42\x1f\xa4\x83\xf3\x7d\x50\x06\x9d\xcc\x03\x21\x8b\xcd\x3a\x32\x40\x87\xcd\xca\x0f\x60\xd1\x6b\x43\x97\x52\x13\xcd\x29\x83\x0b\x06\x1e\xd0\x11\x58\xb6\xaa\x0c\x2e\x78\xd7\x6c\x08\xfc\x7a\x7a\x41\x9c\xd3\x40\x46\x36\xa6\x50\x78\x82\xa7\xba\x18\x08\xba\x53\x50\x6d\x04\x4b\x40\x55\x82\x81\x54\xd4\x6e\x8a\x7d\x45\x44\xdc\x06\x68\x5a\x94\x73\x8d\x7a\x2e\x86\xab\xaa\x87\xc0\xfb\xa3\x7c\x14\x29\x20\xa2\xdb\x70\x0f\x9d\x5c\x14\x59\xc4\xa6\xd0\x79\x25\x8f\x44\x14\x59\xca\xa6\xe8\x14\x24\x1b\x52\x3a\x4c\x64\xfd\xc9\x41\x8d\x8a\x8e\xca\x07\x88\x90\xb5\xc6\xc6\x01\x32\x0e\x8e\xe8\x27\x0f\x97\xc3\xbf\xab\x75\x7d\x5a\x1c\xa9\x02\xb8\x5a\x2f\xa8\xc5\x91\x6a\x80\xab\x75\x88\x5a\x1c\xa1\x0a\xd4\x0a\x9d\x1c\x8f\x82\x37\x91\x4b\x56\xc9\x2f\x57\x71\x90\x62\xa5\xd3\x6d\xd1\x2f\x11\x41\x53\x13\xe9\x78\xe2\x80\xaa\x45\xa1\xf8\x26\xf0\x23\x29\x17\x35\xaa\x1f\xd1\x91\x93\xc1\xf0\x72\x19\x44\xda\x58\x05\xa3\xd9\x81\x02\x74\xb7\x42\xb5\x56\x46\x3f\x75\x15\xaa\x35\xb2\x16\xb4\x43\x05\xaa\x77\xa3\x7c\x5c\xa6\xc0\xf4\xe3\x83\x36\x58\x40\x43\xe2\x15\x93\x81\xdd\x67\xe0\xd9\xd0\x05\x0d\x8d\x57\x5a\x06\xcf\x46\x30\x68\x68\xbc\xc2\x32\xb8\x32\x90\x39\x59\x23\x0b\x16\x4a\x27\xcf\x3a\x8f\xa6\x14\x4d\x0a\xc4\x9b\x80\xf1\xf4\x56\x55\x1c\xea\xc0\xcb\x86\x24\x5c\x82\xdd\x67\xe0\x82\xe5\x87\x7c\x20\xe4\x05\x93\x70\xc1\x74\x18\x23\x5b\xb2\x60\x12\x2e\xd8\xde\x42\xc6\xc1\xa1\x28\xd7\x2c\x48\xf0\x4d\x12\x88\xa9\x11\x70\xac\x0e\xdd\x8b\x0a\x54\x65\x81\x4a\x59\xe3\x50\x85\xaa\xb2\x40\x09\x6f\x68\x69\x55\x59\xa0\x31\xea\x5a\x5a\x55\x16\x6a\x94\x68\xaa\xbe\xcd\x42\xaa\x8a\x69\x16\x03\x68\xa1\x60\x58\xa0\xc2\x32\x8b\x13\x9c\x12\xa5\xe3\xe2\xbd\x21\xa7\xfb\xd6\x0f\xa2\xf4\x26\x4e\x62\x31\x41\x71\x40\xd1\x12\xda\xd6\xed\x3c\x4e\x89\x8a\x1d\x14\xb1\xcc\x62\x41\xc7\x7b\x6d\xea\xc2\x35\x68\x1a\xee\x6e\x02\x68\xaa\x1b\xd5\x0d\x04\x40\x9f\xc5\xd4\x33\x80\x3e\x7d\x39\xc8\x00\x8a\xda\x53\x83\xb6\x45\x67\x79\xf5\x9a\x0a\xd5\xc6\x40\xda\x23\x43\xf3\x2b\x57\x77\x68\x6f\xcc\xd8\x52\xaa\xea\x40\x49\x8e\x54\xb0\xde\x3e\xa1\xf9\x53\x70\x26\xfe\x47\xd0\xf6\xd8\x17\x87\x38\xaa\x86\x27\x02\x85\x44\x23\x83\xfe\x17\x81\x3c\x2a\xab\x6d\x5e\xe3\x0c\xe0\x68\xb5\x2d\x3b\x65\x00\xba\x99\xf4\xb3\x8f\x00\xf0\xb2\xd6\x5d\x64\xb0\x8f\x00\xf0\x52\xd2\x41\x8f\x7d\x04\x80\x97\x8f\x6a\xc8\xec\x23\x00\x4d\x0e\x38\x54\x24\x15\x00\x2d\xde\x3f\xbb\xc8\x60\x1f\x01\x38\xe0\x80\x3a\x9b\xa0\x37\x64\x1e\x87\x1c\xd0\x42\x06\xfb\x08\xc0\x11\x07\x1c\x2a\x2d\x49\x19\x6c\xe8\x0c\x1c\x19\xa2\xd4\x35\xce\x11\x36\x29\xe7\x13\x73\x00\x70\x76\x80\xa6\x00\x1f\x01\x10\x78\x5a\xc8\x60\x1f\x01\xe0\xec\x60\x33\x7f\x3e\xfb\x07\x80\x98\x0e\xba\x6c\x30\x6d\xc9\x3c\x38\x3b\x98\x15\x81\x5b\x12\x00\xc0\xd9\xd1\x6a\x21\x83\x7d\x04\xe0\x20\x9b\x59\xb2\x8f\x00\x70\x76\x1c\xb8\xc8\x60\x1f\x01\xe0\xec\x38\x68\x20\x83\x7d\x38\x80\x53\x7b\x88\x8c\x43\xa6\x66\x43\x20\x67\xc7\x01\x1d\x27\xe1\x23\x00\x9c\x1d\x6c\xf0\xe4\x03\x28\x00\x6a\xd9\xd8\xcb\x3e\x02\x20\x32\xa0\x53\x46\xf8\x08\x80\x18\xad\xe9\x60\x09\x1f\x01\xe0\xec\xa0\x8a\x38\xfb\x08\x00\x67\xc7\x51\x0d\x19\xec\x23\x00\x9c\x1d\x47\x0d\x64\xb0\x8f\x00\x70\x76\x1c\x1d\x20\x83\x7d\x04\x80\xb3\xe3\xe8\x08\x19\xec\xc3\x01\x52\x27\x62\x23\xa6\x2b\x5a\x58\xc3\x11\x80\x1a\x57\x67\x5d\x47\x64\xdf\x70\xcb\x07\x24\x80\x09\xdd\x86\xce\x07\xc4\x97\x80\xd5\x55\xf5\x9c\x7f\x09\x98\x54\xdd\x6b\x30\x47\x10\x13\x05\x80\x35\x05\xac\xc9\xed\x31\xae\x2b\xf3\x6b\x09\xd8\x01\xef\xec\x5c\x57\xe6\x77\x20\x74\x28\xd0\x4c\x1d\x31\x6f\x05\xd8\xa1\x80\xd5\x40\x6b\x15\xaa\x2b\xc0\x8e\x04\xac\x29\x2c\x7d\x35\x91\x9f\x20\x05\xac\x2f\xf4\x23\xc2\x05\xbf\xe8\xbc\x41\x7c\x09\x98\xe0\x17\x8c\xc0\xfc\x4b\xc0\x04\xbf\x40\x85\xe6\x5f\x02\x26\xf8\x55\x07\x85\xb5\x29\xec\x60\x00\x93\x7d\x29\x8c\xb8\xec\x4b\xc0\x04\x91\x0d\x87\xcf\x73\xdc\x86\xcc\xaf\xa5\x2a\xe4\xfc\x4b\xc0\x04\xbf\x1a\x30\x3f\x6a\x0a\xbb\x19\xc0\x0e\x15\x5d\x50\x7c\x09\x98\xe0\x17\xcc\x00\xf8\x17\x87\x89\xec\x60\x40\xe0\x13\x68\x08\x77\x94\x29\x8f\xf8\x12\x30\xa9\x43\x53\x0d\x8f\x7f\x09\x98\xe0\x17\x58\xde\xf8\x97\x80\xc9\x29\x22\x55\xdd\xf9\x97\x80\x49\x25\x85\x66\xc5\xbf\x04\x4c\xf0\x8b\xf6\x39\xe2\x4b\xc0\x44\x01\x5a\x30\x5e\xb2\x2f\x01\x13\xfc\xa2\x3d\x8f\xf8\x12\x30\xc1\x2f\xb0\x09\xf0\x2f\x01\x13\xfc\x3a\x68\xc1\x02\x82\x58\x45\xa0\x30\x81\x52\x68\xbf\x22\xaf\x03\xc1\x2f\xda\x0b\x89\x2f\x01\x13\xfc\x3a\xa4\x24\xf0\x2f\x01\x93\x53\xa7\x86\xb0\xa5\xca\x1e\xe9\x40\xf0\xeb\x90\x92\xc0\xbf\x04\x4c\xf0\x8b\x99\x07\xd8\x97\x80\x09\x7e\x51\x2d\x59\x7c\x09\x98\xe0\x17\xed\x97\xc4\x97\x80\x89\xc2\x1d\xb5\xc0\x26\x2f\x0c\xf3\x00\x13\xfc\x3a\x02\xfb\x1c\xfb\x12\xb0\x23\xa1\x56\xb8\x5c\x05\xaa\x39\x22\xbf\x43\x01\x62\x73\x09\xd9\xbe\x0f\xc5\x90\xef\x80\x26\xde\x10\x73\x6a\x80\x49\xa3\x04\x58\x57\xd9\x97\x80\x09\x0d\xc7\x39\x82\xe9\x90\x98\x13\x01\x4c\xa8\x37\xb4\x7b\x12\x5f\x02\xd6\x10\x30\x9a\x15\xff\x12\xb0\xa6\x80\xd1\xac\xf8\x97\x80\xb5\x04\x8c\x2d\x49\x89\x75\x29\x80\x1d\x08\x35\x13\x4c\xc5\xec\x4b\xc0\x44\xc1\x61\xc1\x85\x7f\x09\x98\xe0\x17\x18\x79\xf9\x17\x87\x09\x10\x9d\x6b\xc3\x47\x84\x0b\x7e\x81\x45\x9a\x7f\x09\x98\xe0\x17\x18\x0e\xf9\x97\x80\x49\x8d\x50\x2e\x6e\xc8\x3e\xea\x48\xf0\xab\x7e\x00\xc6\x4c\x61\xd1\x04\x98\xe0\x17\x5b\xd4\x93\x0a\x38\xc0\x04\xbf\xc0\x44\xce\xbf\x04\x4c\xf0\x2b\x5b\x15\x92\x7d\xd4\x91\xe0\x17\x9d\xee\x8a\x2f\x01\x13\xfc\x02\x5d\x9f\x7f\x09\x98\x60\x0a\x98\xec\xf9\x17\xc0\x54\xf3\x9a\xb4\x96\xab\x46\x8b\x42\x78\xce\xbc\x29\xc3\x73\xd6\x4d\x19\x9e\x33\x6e\xca\xf0\x07\x1c\x86\xf1\xbd\xd2\x87\xb0\x29\x12\x2b\x0e\xde\xa8\x2f\xe3\x32\x7d\x19\x97\xe9\xcb\x78\x93\xbe\x8c\xb7\xe9\xcb\x78\x93\xbe\x8c\x37\xe9\xcb\x78\x93\xbe\x8c\x37\xe9\xcb\x78\x93\xbe\x8c\x37\xe9\xcb\x78\x93\xbe\x8c\x37\xe9\xcb\x78\x93\xbe\x8c\xcb\xf4\x65\xbc\x49\x5f\xc6\x9b\xf4\x65\xbc\x49\x5f\xc6\x9b\xf4\x65\xbc\x49\x5f\xc6\x9b\xf4\x65\xbc\x49\x5f\xc6\x9b\xf4\x65\xbc\x49\x5f\xc6\x9b\xf4\x65\x5c\xa6\x2f\xe3\x4d\xfa\x32\xde\xa4\x2f\xe3\x4d\xfa\x32\xde\xa4\x2f\xe3\x4d\xfa\x32\xde\xa4\x2f\xe3\x4d\xfa\x32\xde\xa4\x2f\xe3\x4d\xfa\x32\xde\xa4\x2f\xe3\x0d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa0\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x0d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa0\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x0d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa0\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa8\x2f\xcf\xe3\x08\x3f\x4c\xf1\xbd\x4a\x29\xf3\x47\x70\x14\x68\xd1\x8b\x4c\x03\x17\x1d\xc9\xa0\x9e\x04\xb8\xe0\x4b\xc6\x16\x0b\x05\xb8\xc4\x9d\xcc\x05\x30\xc9\x2d\x4b\xb1\x61\xf8\xd0\xc9\x80\xba\xc3\x87\x93\x83\x16\x7c\x3e\xdc\xd6\x41\x06\xd5\xdc\x3e\x5a\xb0\xcc\x92\x01\x55\xab\x37\xed\x80\xc1\x59\x2f\x88\xa6\xda\x2a\x1a\xa4\x14\x3a\x8b\x04\x6a\x34\x41\xae\x4e\x4b\x85\xab\x54\x49\x35\x45\x42\x55\xaa\x0e\x85\x17\x93\x84\xe6\xc9\x82\x61\x21\xb8\x8b\x93\x87\x82\xf2\x0f\x15\x04\x20\x77\x0b\x4c\xf7\x31\x91\x35\x07\x30\xdd\xc1\x44\x56\x1b\xc0\x74\xef\x12\x59\x67\x8a\x8f\x02\x93\x95\xba\x1c\x98\x01\xa4\x7b\xbc\xb4\xc4\xc0\x0c\x30\x9d\x14\x47\x28\x09\x00\xd3\x5d\x38\x0f\x85\x72\x04\x30\x9d\x14\xaa\x06\x53\xa6\x84\xfe\x1d\x8e\xa6\x38\x11\x48\x05\x31\xac\x45\x08\xe8\x4d\xb8\x4a\xe7\x1a\x4d\x8e\x68\x6c\x5a\x14\xf7\x33\xe2\xe8\x9e\xa8\x0d\xd1\xb9\x68\x71\xf4\x72\xd4\xc1\x59\x2c\x1f\xa7\xe8\x8b\x0a\xeb\x35\xa1\x7f\x1f\xa9\x8b\xf3\x90\x43\x93\xbb\x2c\x84\x78\x11\x47\x93\x79\x30\x9b\xc9\xe5\xfd\x6c\x91\x0c\xf4\x56\x35\x86\xfb\x7c\x14\xbd\x32\xea\x62\xf4\x53\xa3\xe8\xe2\x01\x8a\x48\x1e\x8b\x5e\x94\x03\xa1\xef\x86\xc1\xed\x5c\x71\xca\x63\x53\x65\x58\xa4\x04\x95\x51\x82\x55\x0f\x0a\xe6\xfe\x0b\x33\x5a\x09\x57\x3d\x28\x98\xef\x2f\xa8\x87\x12\xae\x7a\x50\x80\xe3\x2f\x2f\xa7\x80\xab\x1e\x14\xa2\xf7\x11\x70\xd5\xd3\x0c\xb4\x4b\x58\x69\xad\x49\xfc\x99\xb7\x12\xab\xeb\x6c\xc2\x2d\xc1\xee\x33\x70\x6d\x14\xce\x3c\x0a\x24\x5c\x6a\x2e\xba\x7b\x95\x84\x37\x54\xed\x3e\x73\x25\x00\x78\x7e\xe5\x90\x09\xa5\x2b\xb4\x72\x3d\x8e\xee\x66\xdd\x2a\x47\xa4\x8b\xb7\x53\x8e\x49\x97\x6f\x47\xab\xf0\xf2\x15\x45\x3a\x0a\x83\x62\xa8\xc7\x51\x4d\x29\xca\x70\xe6\x66\x59\xca\x05\x48\x70\x26\x15\x5f\x19\x58\x71\x63\x11\xa3\x12\xeb\xe1\x05\x7c\x5b\xf2\xfc\xc0\x03\xde\x1a\xd0\xfb\x49\xb0\xd6\xcd\x1f\x80\xce\xd9\x54\xe1\xda\xe0\xd3\xaa\x09\xdd\x58\xc2\x75\x0f\x33\xe6\x3e\xa8\xc2\x55\x2e\x81\xdb\xaa\x23\xa9\xd3\xdc\x78\x20\xff\x96\x74\xe3\x51\x22\xb8\xcf\xc6\xd0\x68\x04\x2f\x37\xb7\xa1\xc7\xd0\xa8\xa4\x75\x75\x74\xa8\x47\x50\xc9\xa4\x33\xfe\x96\xac\x4b\xdd\x99\xa8\x5e\xe3\x1e\x18\xcc\xad\x9d\xc5\x50\x3d\x3c\x5c\xe6\x64\xdd\x92\x5d\xb4\x12\xc3\x55\xe6\x12\x35\x30\x7b\x65\x2d\x49\xf7\xf3\x70\x5b\x0d\x51\x9b\x59\x63\xd2\x5d\x3d\xc0\x83\x07\x6a\x54\x69\x4f\xba\xb7\x07\xa8\x03\xb5\xba\xd6\x10\x72\xde\x46\x6e\x5d\xcc\xe1\x55\x5a\x74\x87\x23\xd7\x95\xbe\x97\xcd\x7a\x2e\x0e\xde\x1a\x87\x60\x1c\xaa\x1d\xa4\x98\x4b\xd4\x94\x1a\x14\x71\x34\x6f\xbd\x9a\xde\xcd\xc8\x48\x9a\xb7\x9e\xeb\xe8\xec\x11\x91\x54\x6f\x3d\x98\x62\xa9\x0c\x12\x91\x34\x77\xbd\x1c\x8f\xf4\x56\x2b\xd5\x8d\x5a\x43\x8f\x50\x54\x48\xf2\x31\x8a\x6a\x89\x93\xcb\xa4\xa8\x9c\x1c\x3a\x7a\x8c\xa2\x8a\xc2\x99\xb7\x50\xfd\x20\x9b\xa2\x73\xe5\x42\x17\xe1\x48\xed\x75\xb8\x12\x63\x9b\x48\xf3\xaf\x64\xf6\x63\xc1\x6a\x0e\x72\xb7\xc0\xd4\x02\x49\xee\x73\x98\x5a\x14\x39\x18\x73\x98\x5a\x08\xe9\xcf\xb9\xf0\x93\x58\xb4\x7f\x90\x8d\x06\x55\x25\x5b\x12\xa2\x12\xd2\xac\x89\x59\x34\x83\x69\xee\x39\x87\x42\x25\x66\x30\x95\x10\x68\x24\xd0\x5f\x32\x98\xe6\x9a\x23\x14\xe2\x05\x9e\x06\xab\x45\x61\x97\x4c\x6e\x0b\x0b\x8b\x55\xd8\x39\xc1\x8a\x09\x30\xcd\x9f\x92\xce\xd1\x0f\x9b\xa2\x3b\x56\x23\xa8\x03\xaa\xeb\xc8\xa6\xa7\x46\x51\xc7\xd4\xa3\xa6\x64\xb4\x12\x43\x1d\x55\xb3\x4e\x40\x8d\xa1\x8e\xab\xcd\xa6\x64\x3a\xc4\x58\xae\x92\x65\x28\xca\xd9\x38\x10\x5d\x80\x9b\x8f\x21\x7b\x2c\x97\x5b\xc3\x54\x52\x59\x14\x69\xe4\x01\xd1\x74\x75\x5a\x59\x14\x69\x1b\x3b\xe0\xee\x67\x2a\xb1\x2c\x8a\xe8\xb1\xea\xcc\x36\xac\xd2\xaa\x77\xc0\x30\x00\x80\x4d\x05\xec\x79\x3c\x4a\xae\x53\x83\xf6\xec\x34\x74\x5a\xd2\x65\x12\x44\xb7\xf9\x85\x15\xe6\x31\x27\x23\xe5\x9c\x13\x0f\x6a\xd2\xb2\x90\xc5\x61\xfe\x89\x99\x77\xea\x11\x58\x02\x84\xa2\xbf\x08\xa6\x91\xae\x18\xb2\xce\x4c\x28\x11\x8b\x20\x22\x93\x04\xfb\x0b\x75\x72\xcc\x55\x58\x00\xa7\xe4\x21\x89\xd3\xc2\x2e\xa3\x1a\xd8\x35\x25\xb8\xb0\xd1\x28\x07\x2f\xec\x35\x62\x4a\x87\x84\x17\xb7\x1b\x81\x1d\x4a\xc2\x8b\x3b\x8e\xc0\xfe\xb0\x88\x27\x13\x3f\x0d\xa2\x7c\xee\x2c\x75\xe4\xdf\xf9\xbf\x88\x0b\x3e\x6e\x35\xa9\x36\x28\x11\xdc\x67\x63\xe8\xde\x67\x07\xc2\x44\xa8\xc4\xd0\xdd\xd0\xa4\xea\xa8\xc4\xd0\x8b\xe1\x72\xfb\x7b\xe4\xdf\x3d\xa8\x8d\x98\x29\xc4\x34\xb4\xe0\xd7\x0f\x90\x38\x9c\x86\xfe\x44\x96\xa9\x2e\xcc\x19\xd0\xa3\x82\x0b\xf8\x34\xf1\x6f\x44\xb7\x01\x9b\x7e\x6a\x7c\x5f\x91\x84\xca\x59\x80\xf0\x46\x6f\xd5\x54\xb0\x9c\x04\x08\x2d\xba\x79\xa8\x82\xd5\x39\x40\xd6\xcf\x4b\x70\xc1\xbd\x18\xe6\x5a\x45\xc7\xf3\x16\x5f\xff\x2b\x71\x3a\xd7\x41\x9a\x4a\x45\x33\xcd\x40\x1a\xd3\xeb\x75\x15\xa4\x29\x7b\x8e\x0a\xc9\xac\x0d\x50\xf4\xa3\x1c\xcc\xdd\x06\x54\x69\x69\x35\x72\x40\x6d\x9b\x57\x33\x07\xd4\x76\x7a\x1d\x08\x60\xd6\x49\x33\x4f\x44\xd6\xf5\x35\x24\x4c\x63\x4b\xdd\x15\x2d\x53\xef\x99\x81\x31\x60\xe7\x83\x56\xaf\x75\xca\x35\xb9\xd8\xc2\x8c\x9f\x7a\x7f\x4c\x89\x61\x7d\x1c\x1d\xb2\x96\x7e\x88\x4b\x67\x39\x4c\xd3\x74\x44\x14\x65\x22\xc0\xac\x5e\xb0\xf5\xac\xa6\x82\x5d\x55\x46\x80\x78\xe8\xd8\x24\xbc\x56\x3e\x91\x90\xf0\xba\x3a\x25\x67\x9a\xb2\x06\x17\x8b\x62\xc2\x2d\xf5\x50\x40\x73\x9d\xa6\x7b\xd0\xd4\x66\x82\x5a\x14\x69\xff\x3e\xd0\x66\x93\x5a\x1c\xd9\x16\x1a\x9b\xf1\xc8\x06\xa1\xcf\x2a\xb5\x38\x0d\x65\x20\x57\x66\x96\x34\x4e\xae\x0f\x07\x6b\x2e\x5b\xca\x6a\x1c\xe4\xa3\xe8\xf2\xe0\x88\xa5\x03\x2d\x8e\x2e\x16\x50\x37\x85\xac\x74\xe9\x68\xa8\x12\x20\xe3\xe4\x85\x04\x26\x6b\x4b\x7f\xe9\x3f\xf8\xf7\xf3\x60\xa9\xcd\x70\x61\xd8\x01\x38\xf6\x27\xf3\xe5\x6a\x36\x53\xc1\x6c\x49\xa2\xa9\x82\xdd\x67\xe0\x7a\x87\x2b\xd7\x41\x24\x5c\xef\x6e\x9b\x62\xae\x27\xe1\xba\xf3\xef\x91\x98\xec\x2d\x71\xb2\xca\xf7\x19\xb0\xa0\x93\x9f\x9e\x32\xdb\x86\x80\xe8\x3b\xa0\x5c\x61\x64\x2a\x4e\x4a\x8f\xc4\x42\x49\x71\x3e\xda\x14\x6b\x4e\x85\xa9\x28\x50\x07\x90\x70\x25\x86\x62\xa8\xb7\x16\xb8\x54\xbb\x1c\xa2\x13\x71\x20\xc5\x35\x5c\x2d\xf4\xed\x57\x52\xd9\xa0\x20\xdd\x17\x59\x6a\x89\x14\xa4\xfb\x21\xd7\xa4\x4c\xc6\xf7\x53\x6d\x27\x1e\x9b\x23\x36\xc4\x20\xa3\x29\x6c\x94\x44\x30\xed\x37\x32\x90\x6c\xfc\xdc\x9b\x9d\xd3\xa9\xa9\x68\x94\x1d\x8d\x8c\x50\x4d\x37\xab\x71\x4f\x76\x4e\xa9\xaa\x94\x81\x16\x2b\xcd\x29\x7a\x4f\xce\x3b\xf9\x5c\x2b\xc9\x42\x73\x13\x06\x1e\x9a\x9b\x2a\xf0\xd0\xdc\x24\x01\x42\xe3\xf4\x41\xdd\x1a\xcc\x77\xf1\x08\x83\xab\x04\x17\x5c\xc7\x99\x95\x43\xc2\x0b\xbe\xe3\x6c\x9a\x25\xe1\x05\xe7\x71\xb6\x83\x47\xc2\x0b\xde\xe3\x6c\x15\x3d\x89\x1f\x7c\x65\x82\xdb\x92\xdd\x7e\x4d\x83\xba\x99\x32\xc9\x76\xb7\x36\x35\x30\x27\xae\x75\xc0\x8d\xff\xac\x7a\x24\x58\xf8\x6c\x1c\xf2\xa9\x80\x9e\xb3\xf0\x63\x39\x62\x63\x23\xab\xa3\xd4\x9f\x4e\x43\xac\x32\x4e\xdb\x7e\xaa\x1b\x5e\xa4\x55\x10\x86\xc0\x12\x9b\x4b\xc3\x11\xe5\x2d\x31\xb7\xd0\xfe\x10\x26\x51\x25\x86\x16\xda\x9f\x1e\x66\x48\xb5\xbe\xad\x85\x8c\xe6\x01\x80\xa2\xa9\x5a\xc5\x35\x2a\xa0\x60\xfe\x80\x99\xa0\xae\xfc\x37\x5a\x62\xe8\x39\x50\x60\x6e\x36\x2e\xf1\x61\xef\x48\x81\x72\x6a\x0f\xe4\xfe\x3e\x58\x0b\xcf\x6d\xdd\x6a\x1d\xc8\x21\x4f\x85\x36\x36\x64\x9b\xce\x71\xa8\xee\xdf\xe5\xda\xe0\xa1\x02\x75\xb7\x83\x75\x33\xe4\x91\x30\x89\x08\xb0\x6e\x80\x3c\x10\x76\x6b\x01\x2e\xac\x15\x30\x23\x66\x1a\xe0\x28\xf2\x95\x4e\x82\x4e\x0c\xc1\xc2\xcf\x20\x85\x81\x0c\xc6\x31\x06\x2b\x0c\x60\x60\x01\x63\xb0\xc2\xc0\xc5\x6a\x0e\x60\xf9\x01\x8b\x95\x72\x83\x45\x0c\x34\xe2\x9c\x31\x4c\xb1\x97\x29\x50\xd1\x65\x41\xbf\x03\xe3\x82\x8a\x58\xee\x05\x3f\xe4\x4e\x00\xac\x51\xe8\xd6\x2f\x30\x66\xba\xb2\x87\xcd\xcf\x11\x69\x96\x47\xb2\x6b\x96\x50\x49\x16\x1d\x0b\x5c\xb9\x15\x4b\xc2\x25\x61\xe0\x66\x23\x8d\xf5\x12\x5e\x57\x34\xf1\xc3\xa3\x02\x7a\x41\x1b\x65\xb0\xa3\x91\xa6\xda\xdb\x6a\xa2\x49\x82\x82\x56\xd8\xdf\x77\x74\xa8\xd9\x0f\x0b\x7b\xfb\x0e\x9b\x9a\xf1\xb0\xb0\xaf\x0f\xa6\xea\x99\xd1\x20\xbf\xa7\x8f\xb1\x35\xb3\x89\x15\x4c\x7d\x39\xf2\xa2\x9c\xad\x4c\x2e\x4f\x51\x48\x71\x91\x46\x82\x0a\x8b\x33\x4c\x95\xa6\xa0\xc2\xa2\x0c\x53\xa4\x29\xa8\xb8\x18\x03\x5a\x54\xf9\xec\xbe\x29\x7c\x7b\x14\xb0\xfb\x0c\x3c\xe7\x46\xc9\xb6\xf9\x29\xf0\x9c\x3b\x25\xf3\xb5\x52\xe0\x39\xb7\x4a\xf0\x7f\xcb\x59\x42\x0f\xa4\x73\x11\x0c\x43\x79\x1b\xe8\xd1\x11\xf7\xff\xe0\xf5\x9b\xb3\x7e\xb2\xb3\x5f\xb2\x36\x91\xb3\x7b\xc2\x3c\xb8\x21\x87\xf2\xbc\xc5\x13\x56\x91\x1c\x29\x7b\x44\xae\xff\xf0\x75\x67\xb1\xd0\x49\xfc\xa8\x30\x3f\x3c\xe0\x29\x0a\xb3\x43\xd0\x13\x89\x1f\x15\xe6\x86\x2d\x0e\xc8\xcf\x0c\x61\xf8\x26\xf3\x20\x25\xa1\x3c\x9d\xa1\x25\x36\x3f\xc2\x89\x30\x1c\xa8\x9b\x09\xe4\x7c\x81\x43\x75\x2b\x87\x1c\x3b\x39\x54\xb7\x71\x48\x43\x30\x87\xea\xa6\x01\x29\xed\x24\x5e\xf8\x24\x56\x72\x3d\x3a\xe2\x1d\x25\x83\xb8\x9b\x41\xda\x92\x78\x8d\x77\xa1\x0c\xa4\x92\x42\x2b\x08\x7a\x50\x06\xd2\x16\xc3\x1b\xbc\x07\xcd\x4d\xa9\x5a\xd2\x73\xc4\xd1\xa0\x8a\x2c\x67\xc7\x7d\xe4\xe7\x51\x8e\x76\xd8\x47\x7e\x06\xe5\x68\x47\x7d\xe4\xe7\x4e\x8e\x76\xd2\x87\xba\x33\x37\x1b\xfe\x19\xde\xfc\x8c\x8a\x76\x22\x30\x87\x85\x4e\xa2\x74\x32\x05\x06\x7a\xe8\x0e\x4a\xe7\x51\xe0\x31\xd6\xd0\xc0\xda\x6c\x5f\x3a\x09\x96\xce\x9e\x28\xd5\xe0\xe9\x79\x3f\xc7\xbe\xa0\xb9\x91\x19\x9b\x8e\x04\x48\x5f\x36\x74\x85\x67\x15\xc0\x74\xf9\x02\xef\xaf\x86\x80\xe9\xd2\xd5\x12\x45\x01\x98\x2e\x5b\x2d\xd1\x4b\x14\x77\x7f\xca\x4a\x03\x50\xba\x88\x3f\x16\x8f\x1e\x82\x11\xbc\x7c\x4d\xc2\x91\x90\xc2\x62\x44\x06\x2a\xac\x42\x64\xa0\xc2\xf2\x43\x06\x2a\xac\x3b\x64\x20\xcd\x18\xa1\x1a\xa4\xd6\x28\xa8\xce\xd8\xcd\x0b\x33\x71\xe5\x67\xb4\x5a\x94\x9d\x49\x1b\xe1\x7b\x83\x9f\x05\xcd\x0e\x4b\x9e\x89\x03\x63\xbf\xf1\x93\xb4\xfc\x16\x12\xe5\x4c\xd9\x3f\xb0\xe0\x9c\xfe\x17\xf6\x07\xcb\xba\xfa\xd9\x07\xfb\xba\x62\x7f\xb0\xf7\x6f\x03\xf5\x38\xf0\x04\xc5\x70\x98\x6f\x76\xd5\xc4\x55\x7c\xcd\xee\x02\x31\xf9\xed\xd7\xc6\x9d\x9f\x04\xfe\x4d\x88\xdb\x86\x59\x89\xf9\xd5\xca\x84\xdf\x69\x93\xb0\x63\x73\x35\xc2\xaa\x02\x7f\x6a\xa7\xde\x46\xd8\x55\x72\x6d\xf1\xeb\x6e\x0c\x8a\x28\x97\x29\x4e\x27\xfe\x12\x1b\x22\x3a\xcd\x3b\x91\x77\xc6\xae\x8b\xdc\xc8\x10\x7b\x8f\x38\xe2\x17\x19\xb7\xe5\x13\x92\x4f\xf2\x72\xe3\x76\x31\x08\xb1\x5c\x5f\x8f\xdf\x9c\xb5\x8b\xa7\x50\x3f\x9a\xc7\x66\xdb\xdc\x0d\x49\xc7\x44\xe6\x4b\xfa\x78\x0b\x8f\xbb\xf4\xd1\x5f\x2c\x3b\x26\xfa\xd2\xfc\xb2\x6d\xee\xfe\x72\x15\x03\xe0\x4b\x0a\xf8\xa2\x7e\xd4\x31\xe5\x75\xb7\x4a\xf5\x5c\x1d\xbf\xdc\xfd\x60\x7e\xf8\xf2\x7a\xff\xb6\xe4\x1a\x65\x83\x5c\xe1\xeb\xb5\xbd\x66\x05\xbd\xc5\xa4\x3b\x99\xe0\x25\x39\xf3\xa3\xdb\x95\x7f\x9b\xbb\x7d\xb2\x3c\x4a\x75\x32\x4f\xe2\x05\x1e\xad\x96\xcb\x38\x21\x78\x6a\xd9\x27\x2c\xa4\x1a\xb8\x87\x51\x49\x02\x0b\xdb\xed\xf2\x0b\x3d\xb1\x75\x15\xf9\x77\xc1\xad\x4f\xe2\xa4\x1a\xf2\xf8\x59\x51\xf6\xf6\x6f\x91\xf9\x9d\x69\x5f\xdb\x6b\xb8\xe4\xe5\xf3\xe8\x29\xb9\x60\x9f\xdf\xf0\xc8\x22\xee\xee\x2a\xe4\x32\xa4\x70\xc2\xf5\x4f\x56\x38\x79\xd0\xca\xaf\x9f\x51\x7d\x62\xda\xfc\x04\x7c\x79\x1b\x83\x9d\xdd\x64\x44\x9b\x1e\x5c\x9c\xc0\xae\x23\xda\x35\x6d\x14\x78\x4e\x27\x38\x16\x77\xec\x74\x02\x71\x85\x53\xec\x25\x57\xc1\xb5\x88\xe9\x99\x76\x87\x5c\x95\x5c\x92\x1d\x5f\x39\xd7\xf6\xb5\x57\x0a\x71\xaf\xe5\x11\xdc\x44\xf2\xe5\xdd\xe5\x59\x59\x73\xcf\xa0\x9b\x6b\x8e\x5f\x52\xc4\xe3\xd1\x0a\xc3\x2a\xda\x1f\xcd\x62\x8e\x37\xff\xce\xd1\xf2\xce\x2a\xf4\x17\xcb\xc2\xb9\xe6\x42\xb0\x8f\xc9\x09\x69\xe3\x97\xc9\x49\x22\x48\xfa\xd5\xd2\x2f\xbf\xf9\x26\xeb\xd4\xe4\x0d\x3f\x16\x41\xa6\x63\x66\xa2\xf3\x1e\xba\xfa\xa5\x3f\xc1\x85\xf3\xc8\x8f\x3d\x87\x9f\x10\x6e\x9a\x9d\xec\xde\x65\x3d\x15\xd4\x37\xa9\xde\xcb\x80\xa7\x27\xed\xd5\x33\x0d\xf9\xcf\xb4\x3b\xf8\xa5\x0a\x14\x82\x60\xab\x81\x15\x4f\x7d\x93\x87\xfe\xab\xc9\xe4\x5d\x1c\xa2\xb7\x86\xfb\x97\xca\xaf\xf1\x7d\x7a\x6a\xe2\x3a\x5c\x75\x00\xe5\x1d\x11\x7f\xf2\xd1\x72\xe5\x51\xf3\xb9\xcb\xb8\xc8\x86\x8b\x76\xd9\x1d\x6b\x26\xbb\xba\xde\xf4\xe4\x6d\x4e\x27\x41\x1b\xc3\x79\xe7\x9d\xc0\x0b\x4e\x4c\xda\x7b\x06\x6d\xd3\x44\xda\x2d\x5a\x66\x18\xdc\x08\x22\xdb\x06\x61\xd8\x0d\xfc\x69\x19\x50\x0d\x85\x76\xb8\xfb\x2e\xae\x57\xcc\xd4\xac\x04\x36\x52\xaf\x33\x8f\x6d\x44\x3c\x76\xf4\x78\x42\x9b\x4f\x89\x30\x17\x05\x8f\xec\xee\x5a\xfa\x35\xc3\x02\x8b\x8d\x30\xbf\x01\x8d\xbe\x21\x79\x6f\x9a\xbd\x16\xfd\x66\x69\x09\x03\x3a\x2a\x5a\x99\xcc\x00\x0f\x8b\xb7\x07\xd0\xd6\x7e\x82\x2b\xb5\x76\x6d\xfb\x0d\x72\xa4\xec\xf6\x38\x79\xdd\x5b\x40\xfb\x8d\xd8\x4b\x3a\xf1\x31\x51\xef\x7a\x0b\xae\xe2\xbd\xe4\x1a\xc6\xc3\x4d\xd7\xca\xc9\x5b\x57\x18\xa5\xe9\xc2\x4f\xc8\x30\x8c\xe3\xa4\x1f\xdc\x05\xd3\xf2\x6b\x9e\xf1\x3e\x41\x01\x3b\xdb\x7f\x82\x83\xd0\x4a\x32\x2c\x7b\xc9\xb1\x8b\xf7\x1a\x27\x41\x1b\xc0\x33\x8a\x89\x5f\x3f\x30\xab\x26\x7e\x34\x8d\x17\xa7\xd1\x86\x3b\xca\x94\x14\xec\xde\x00\x88\x6e\xd9\x2f\x2c\xb2\x87\x2b\xae\x6d\x57\xa0\xed\xf2\x2b\x7a\xdf\xf8\x91\x7f\xab\x5e\x18\x2e\x6e\x1f\x16\x23\x40\xfa\x1d\x1c\xe5\x5f\x7e\x5f\x4c\x71\x78\x58\xb3\x5b\x71\x72\x28\xe4\xd5\x38\x26\x8e\x68\xcf\x9d\x07\xaf\x22\x76\x0d\x00\x80\xb5\xbb\xab\x53\xef\x71\x5d\x24\x57\xb9\x7d\xcb\x9f\x4e\xdf\x88\xa8\xda\xd5\x1e\xea\xb5\x76\xd9\xe5\x81\x57\xe4\xba\x93\x54\x81\xe8\x79\x1c\x4e\x71\x92\x9e\x68\xd9\x5d\x91\x6b\x4f\xde\x63\xad\x9c\xdd\xff\xfb\x4c\xd1\xba\xfa\xd9\x87\xf4\xc3\xef\x53\x2d\xeb\xf7\x35\x2d\x4b\xb9\x70\xc5\xa0\x79\x68\x39\x5c\x05\xfa\x2d\x02\xd7\xd5\x09\xbb\xcb\x7b\x6d\xb7\x37\x67\xbe\xbd\xd8\xb3\x20\x9a\x76\xa3\xe9\x59\xec\x97\x15\x9f\x8a\x83\xbc\xdb\x24\x81\xe1\xf3\x84\xf6\x43\xfc\xb2\x85\x76\x9a\x3d\xa3\x40\x5c\x8e\x13\x59\x76\x9b\x58\x31\x4a\xd9\x1d\x4c\x41\xa1\x12\x27\x71\x34\xf1\x69\x92\xd8\xbb\xba\x46\x29\xfd\x8a\x0a\x17\x40\x87\x0a\x45\x16\xbf\xa9\x19\x98\x71\x29\x6f\xd5\xb6\x30\x0a\x6c\x94\x54\x6f\x82\x88\x5d\xe2\x8d\x76\x9c\xdc\xbb\x6b\xdb\xeb\xec\xdd\xee\x44\xac\x0f\xd8\xc8\x8e\x70\x13\x1f\xe8\xf0\xc5\x4a\x43\xbb\x83\x9f\xbe\x39\x7b\x4d\xc8\xf2\x12\xff\x72\x85\x53\xd2\x09\xaa\x71\x44\x53\xe2\x48\x1b\x45\x6b\x8e\xe3\x51\x06\x11\x9f\xac\xd2\x13\x56\x08\x45\xcc\xac\xff\x97\xbd\x77\xdb\x8e\x5b\x47\x12\x05\x1f\xe6\x61\xde\xe6\x71\x5e\xea\x61\x28\x76\x57\x8a\x2c\x21\xd3\x24\xf3\xc6\xa4\x4c\xab\x65\x59\xda\xdb\x6d\xd9\x56\x49\xb2\x5d\x5d\xa9\xdc\x3a\x54\x26\x52\x62\x9b\x49\x66\x91\x48\x4b\x2a\x4b\xd5\x6b\xcd\x5f\x9c\xb5\xe6\x0b\xce\x3f\xcc\x9a\x7f\x39\x3f\x30\xbf\x30\x2b\x02\x00\x09\x5e\x52\x17\xef\xbd\x7b\xce\xc3\x71\xd5\x4e\x81\x40\x20\x10\x08\x00\x81\x08\x5c\x02\xff\x7a\xf2\xf1\x03\x57\x53\x8c\xb0\x93\xd2\x6c\x99\xc4\x19\x3d\xa5\x37\xcc\x34\x09\x33\x4c\xd3\x4b\x5b\xad\xd4\x90\x08\x4a\x15\x21\x21\x7f\x9e\x5e\xff\x69\xff\x54\x27\x14\xbe\x33\x1a\xcf\x1a\x6b\x57\xe3\xdb\xa3\xd6\xc0\xd9\x3f\x1b\x67\xb3\x2d\xb3\xa4\x6c\x2a\xf3\x37\x1b\xa7\x6d\x7b\x72\xff\x30\x27\xeb\xa5\x3e\x4e\xd8\x43\xf8\x2e\x29\x6b\x6e\x10\xf9\xdc\x8f\x56\x1a\x02\xa6\xe8\x76\xf9\x90\xa0\x93\xdc\x7e\x28\xa9\x35\xa8\x31\xb6\x5a\x46\xe8\x57\x14\x5e\xf9\xf6\x38\x35\x4d\xb2\x11\x9a\x95\xb7\x44\xf8\xac\x28\x2d\x10\x51\x8a\x78\x4b\x24\x37\x90\xd2\x1d\xea\xa5\xea\xdb\x54\xb5\x67\x79\x40\xd5\xf0\xc7\xf8\xea\x63\x73\x17\x0f\x09\x33\x4d\x2f\x7c\x90\xd5\xcb\x34\x99\xd2\x2c\x7b\x6b\xbb\xf1\x2e\xe3\xef\x29\xaf\x13\x62\x3e\xed\xfc\x0d\x54\xe2\x13\x1a\xd1\x29\x4b\xd2\xdd\x28\x32\xf4\x31\x54\x79\xa2\x9b\x84\xbf\x0d\xc4\xd4\xb7\x81\x90\xac\xa6\x02\x0c\x36\x4e\x27\x0f\x77\x81\xa6\x6c\x8d\x2f\xf6\x80\xfe\x9f\xe3\xd5\x81\x1a\x5d\x3c\xef\xf2\x1d\xa7\x61\x5f\x19\x29\xcc\x14\xd3\x70\x6a\x8a\xf9\xb9\xfa\xbc\x4b\x10\x6f\x32\x0d\x81\xa1\x39\x3a\x2c\xb8\xfc\x10\x2c\xe8\x96\xfe\x4f\xf0\x15\xce\xb6\x50\xc5\x61\x26\x49\xf3\x09\x1b\x2d\x53\x26\x07\x78\x4a\x12\x1f\x2a\xb7\x9d\x94\x4c\x05\x1f\x4d\x05\x4c\xf2\x93\xc2\x5c\x98\x98\xa4\x0c\xf7\xcf\x02\xee\x69\xf3\x5c\x87\x25\x9f\x96\x4b\x29\xd1\xef\x8d\x0a\x33\x94\x82\xcc\x2d\xfd\x5c\xdf\x4a\xc5\xbb\x5b\x59\xae\xc8\x1a\x89\xb9\xad\x9f\xeb\xbe\x1f\xee\xd0\x0e\xa3\x37\x6c\x8f\x4f\x0a\x7e\xe6\x51\x7c\xbf\x28\x47\x16\x82\x48\xc6\xe9\xe0\x28\x95\x3d\xac\x3e\x6f\x83\x48\x40\xdc\x19\x4b\xd2\xe0\x92\xfa\x94\xa8\x9f\x1f\x2f\xf0\x95\xf8\xf4\x9c\x13\x90\xc4\x27\x3c\x7e\xef\x2a\x88\x2f\xe9\xb9\x2a\xa3\x10\x20\xcc\x76\xa7\x2c\xfc\x46\xcf\xfd\x0d\x9b\xc7\x04\xf0\x1d\xb0\xe2\x55\xff\x14\x94\xec\x0d\x7b\x3b\x57\x77\xf5\x17\xfa\x76\xda\xa1\xf1\x4c\xb0\xf4\x85\x6e\xde\xdd\x19\xe9\x96\x0f\x21\x22\xba\x24\x9d\x87\x37\x7e\x5a\x7c\x1d\xd3\x69\x92\xce\xf8\x63\xc1\x9c\x37\xf8\x1e\xaf\xa4\x97\xbf\x18\x8c\x09\xd3\xab\x30\x9a\x1d\x04\xd0\xff\xe5\xeb\xc2\x45\xfc\x61\x98\x31\x8c\x6b\xe4\x93\xd2\xbb\xdf\xec\x1f\xec\x7e\x3a\x3c\x3d\xff\xbc\x7b\xf8\x69\xdf\x2f\xaf\xd0\x18\xba\x48\x05\x8b\xb1\x01\x0b\xa7\xb5\x89\xe9\xa0\x88\x4b\x8e\xcf\xe8\x3c\x58\x45\xec\x73\x10\xad\xa8\xcf\x04\x8d\xab\x34\xa5\xb1\x8c\x83\x98\x12\x1d\x1c\x28\x91\x75\xf6\xc7\x93\xe6\x6a\x70\x02\x1e\xa8\xcd\x93\x6b\xfe\x34\xf4\xc1\x6c\x26\x1b\xa2\xae\x22\xe6\xe4\xf2\xa7\x9b\xb8\x45\xf4\x04\xa4\x29\x5d\x24\xdf\x68\x23\x5e\xc5\xd6\x2b\xb0\xe7\xef\x2a\x9a\xdb\xec\x95\x6f\x09\xf5\xb1\x48\x17\x0f\x07\x32\x62\x3f\x95\x82\xd2\xa4\x54\xcc\x8f\xb5\x86\xf2\x1b\x9a\x6a\xe7\xc5\x2f\x06\x37\x55\xee\xe2\xd5\xe2\x82\xa6\xe6\x3f\xbf\xe0\xaf\xa0\x09\xbb\xa5\xd6\x07\xcc\x9d\x5a\x94\xa7\xf3\x37\xb5\x0b\x6b\xa7\x06\xb2\xa3\x08\x4f\x0c\xf2\x42\xc3\xf9\xad\x51\x2f\x41\x28\x92\xa5\x22\x6a\xd5\x79\x6c\x64\xcc\xa8\x1c\xe2\x95\xa7\x89\x37\xca\x12\xa1\xfe\x8e\xf0\x87\x84\x69\x32\xef\x4c\x37\xb7\xd7\x48\x10\x21\x8a\x2a\x1d\xc0\x68\x14\x53\x6b\x9a\x52\xe9\x9a\xcd\xb4\x3e\x46\xea\xae\x78\xc4\xfc\x21\x72\xad\x32\xb9\xca\x20\xf8\x41\x5a\xa1\x48\x21\x6f\xd7\xbd\x3f\x68\x7e\xb7\x7c\xbf\xdd\x4e\x5b\x2d\xda\x6a\xc1\x94\x22\x1e\xfd\x23\xa1\xff\x11\xbb\x4a\xe7\x2b\xbd\x15\x1a\xb5\x2a\x36\xcd\x75\xc6\x99\x22\x6e\xb7\xa8\xaa\x83\x8a\xfa\xa2\xf8\x6e\xb5\x54\x9b\x5f\x2f\xea\x90\x69\x40\x33\xce\xb8\x05\x1e\xb3\xcc\x97\x4b\xca\xde\x32\xba\x00\x65\x27\x2f\x3f\x94\xcb\x6a\x4a\x36\xa9\x97\xe4\x2f\x39\xe2\x82\xb2\x29\x5e\x40\x0f\xc7\xd9\x84\x04\x7e\x26\x67\xcc\xc4\x24\x91\x1f\xe4\x8a\xa1\x22\xdc\x5b\xad\xca\x38\x88\xcd\x0d\xbf\x69\x68\xa8\xfc\x19\x07\x93\xd2\x20\x10\xb5\x7f\x08\xc4\x8f\x49\xd4\x6a\x19\xe9\xd6\x96\xa8\xef\x6d\x3c\xdd\x93\x64\x18\x01\x68\x76\xf7\x96\xef\xf3\xa6\x52\x16\x6d\x68\x49\xd5\x7f\xb4\x53\xcc\xe8\x3c\x8c\x69\x01\xd1\xa8\x26\x2b\x8c\xcc\xc9\xa5\x93\xed\x64\x47\x30\x07\x26\xef\x37\x7c\xd4\xe3\x6c\xe4\x35\x67\x40\xeb\x67\xbd\x68\xc4\xac\x24\x6d\xb5\x92\x52\x67\x4f\x9f\x5d\x87\x75\xea\xab\xb5\xcd\x8a\xb7\x2b\x99\xd4\x4f\xab\xb9\x0d\x30\x9d\xc7\xd6\x84\xe0\x5f\x5b\xfc\x75\x26\x4f\x24\x03\xdb\x28\xa5\x71\xd3\xfc\x5c\x2f\x8a\x48\xb5\x22\x89\xf3\xc6\xad\x29\x43\x04\xac\x88\x26\xe5\x03\x78\xca\x6a\xea\x07\xc4\x3e\xae\x81\x28\x2c\xae\xda\x74\x60\x13\xb5\x5a\x4f\x7b\xbc\xfd\xad\x78\xb1\x7d\x19\xa4\xc1\xc2\xd3\xb8\xda\x94\x71\x0d\x9c\x8a\x49\xb2\xaa\x4b\xc9\x99\x9a\x30\xb3\xaa\x44\xe3\x6b\xfc\x69\x3e\xee\x4a\x32\xa6\x5e\xb8\xb4\xa0\x96\x79\x3d\x71\x35\xb1\x69\x74\xa5\x93\xb2\x04\x45\xfb\xe3\x31\x1e\xc5\x09\x0b\xe7\xb7\xbb\x51\xa4\x8a\x77\x49\x32\x6d\xa6\x92\x2b\x62\x98\x51\x34\xe4\x5a\x9d\xa4\x5a\x90\x80\x5f\xa7\x8b\x54\x87\x1f\xce\x89\x4f\x65\x0a\x2d\x76\x26\x52\x9f\xa1\xea\x2f\xf7\x23\x9a\xdb\x48\xd9\xa3\x68\x04\x18\x87\x13\xb4\xeb\x11\xad\x40\xa4\xa8\x43\x6a\xf6\x22\x1a\x32\xa5\x84\x6b\xa8\x8f\x32\x85\x6b\xc4\x38\x2c\x9a\xa5\x12\x51\xec\x18\x8a\x3d\x2e\xc5\x1e\x94\xf8\x29\x69\xdb\x1b\x7e\xa1\xb4\x25\x0d\x9d\xe7\xcd\x0a\x34\xb6\x80\x51\x0d\xc7\x0e\x32\x89\x9b\x77\x89\x89\x6f\x88\x6a\x50\xb3\xed\x8d\xe4\xee\xae\x8a\x6c\xdb\xe4\xeb\xe9\xf9\x22\xa8\x61\x93\x41\xbf\xdf\xed\x57\x1e\xd5\xe5\x50\xf8\x4a\x6f\x42\x7a\x26\x61\xdc\x06\xdc\xd2\x3d\x28\x64\x9b\x4f\x3d\x6b\x06\x36\x1f\xf9\xc5\xbb\xc8\xb1\x30\x75\x8a\x69\x93\xc4\x9d\x94\xe2\x1b\xb3\x91\x61\x36\x49\x81\x71\x32\xf1\x63\x22\x14\xe3\x44\xce\x9b\xc0\x2c\x92\x99\x24\x7e\x5c\x5f\x00\x05\xa9\xce\x7f\x21\xcc\x2e\x29\xc3\x34\x8c\x52\x28\x91\x96\x58\xd1\x32\x24\xf4\xd3\x9c\x7b\xcc\xdc\x06\x76\x86\x30\xb7\x49\xa5\x39\x24\x76\x89\xba\xd4\x34\xc9\x8c\x46\x94\xd1\xda\xf4\x0b\xd5\x62\x6b\xec\x92\x92\x6a\xdd\xdc\x6f\x50\xbe\xd0\xa6\x79\xfd\x01\xf1\x82\x50\x5a\x14\x66\x4c\x8c\x24\x65\x65\xb2\x4c\x1a\x8e\x49\x5c\xa9\xd1\x42\xb3\xbc\xdf\x9d\xd6\xf0\x6f\x4a\xfc\xfa\xe6\x16\xdd\xda\xd4\x65\x3f\xdc\xdc\x2a\x1e\x50\x4f\xf3\x77\x75\xd7\xd6\x7a\x16\xce\xe7\xf9\xdc\x51\x5b\x7f\xcd\xc7\xfc\xf7\x60\x36\xa3\x33\xef\xfb\x3d\xe1\xed\x8a\xc1\x69\xb2\x58\x24\xb1\x87\xb3\x05\x0e\x61\xaa\x0e\x5c\x68\x27\x56\x18\x3e\xe3\x70\x62\xee\xa4\x1d\x9e\x67\x0c\x9f\x13\x7f\xc3\xf2\xd2\x0e\x62\xce\x23\x4a\x02\x41\x15\x03\xe3\x70\x12\xc6\x9a\x00\xbf\xbb\xcb\xbf\x39\x42\xb0\xd1\x45\x97\x9b\x8d\x99\xc0\xa5\xf0\xe1\x91\x16\x2f\xa9\x47\x6b\x99\x60\x91\xa4\xd4\x31\xb3\xba\x5a\x5b\x6e\x50\x93\xc4\xbe\xf1\x38\xd7\x71\xc1\x9a\x58\xe6\x76\xfc\x32\x91\x75\x8e\xe5\xee\x6e\xe0\x27\xe3\x78\x42\x22\x45\x84\x04\x28\xad\x22\xb4\x23\x73\xd3\x31\x82\x51\xb0\xd1\xd4\xe1\x83\x09\xc7\x74\xf5\xb0\xb0\xe0\x58\x37\xae\xcc\xef\xd5\x85\xc6\xe0\x22\xa2\x1a\x4b\xb4\x94\x82\xda\x5c\x97\x78\x81\xb9\x3d\x4d\x62\x16\xc6\x2b\x7a\x7f\x55\x17\x34\xcd\x34\xf9\x57\x04\xb4\xd3\x2b\xd5\xb0\x50\xf7\x0c\xa5\x29\xc1\x5a\x2d\x66\x98\xf7\xe6\x3d\x2e\x99\xf1\x87\xa6\x33\x95\x4b\x0f\x0c\xf5\x6c\x1c\x4f\x26\xdb\x1b\x1c\x8b\xa2\xe5\xb2\x27\x58\x3b\x59\x69\xd1\xf7\x37\x9d\x4a\x1b\x0c\x49\x30\x42\x8c\x92\xb9\x63\x12\x56\xd2\xe8\x37\x9a\x0c\xf9\x56\xcb\x60\x4f\x5b\x97\xa9\xea\x14\x4f\xe3\x40\x45\x79\x41\xc5\xc5\x1f\x4f\xb6\x4b\x3b\x53\x35\x59\xf8\x5d\x91\xe1\x6a\x8b\xb0\x22\x63\x08\x19\x53\x13\x0f\x2e\x14\xc2\x3f\x5f\x15\x4d\x1e\xd0\x8e\x4a\xdc\x4f\x26\x4f\x63\xd2\x63\x19\x9b\xf8\x46\xe5\xd4\x27\x97\x3d\x7f\x1f\x23\xb6\xde\x11\x32\x23\x33\x09\xed\xcc\x93\x74\x3f\x98\x5e\x19\xf5\xf6\x7b\x96\x89\x16\xce\xe7\xcd\xbb\x2e\x52\x2d\xcf\x15\x74\x76\x77\xb7\xf1\xe2\x17\x63\x15\x73\x4b\x63\x76\x77\x91\x24\x11\x0d\x62\xb1\x48\x74\xc7\x4d\xd4\xea\x5a\x11\x35\xef\xee\x90\xf1\x8f\x6a\x64\xaa\xa5\xd7\x7c\xdc\x60\xdd\xe8\xaa\x4f\x7f\x8f\x8c\x2e\xa8\xb5\x91\x96\x16\x93\x08\x33\x51\x6b\x78\x7c\x75\xac\x92\x51\x1a\x49\xb5\x21\xe4\x55\xe1\x1e\x57\x4a\x55\x16\x3c\xb8\xd9\xdb\x60\x1b\x33\xb4\x25\x1f\x2d\x23\xa3\xbf\x23\x73\xc5\x36\x05\xb7\x00\x14\x56\x87\x9c\xbb\x0f\xf0\x7e\xa7\xca\x7a\x56\x5e\x89\xc9\xf8\x4a\x4c\x59\x08\xe2\x0e\x54\x2d\xe3\x1a\x11\xf7\xa8\x44\x35\x89\x3a\x07\x3c\x30\xaa\x08\x85\xe9\xf8\x51\x4e\x5f\xfe\x7e\x53\x44\x7e\x6e\x07\x19\xfd\x18\x21\xf4\x66\x99\xa4\x6c\x37\xfb\xd7\x2c\x89\xeb\xf2\xfa\xfb\x7d\x83\xbc\x2e\x89\xae\x70\x6e\xac\x91\xe4\xd0\xe3\x54\x81\xaf\x68\xe6\xec\xb1\x13\x69\xdb\xfc\x14\x01\xc8\xd0\xef\xe1\xcc\x4b\xc8\xbf\x67\x49\xec\x95\xb5\x7f\x46\x12\xb3\x44\x3e\x9f\xea\xc1\x80\xfa\xae\xec\x35\x95\xd8\xc9\x26\xdb\x59\x45\xea\x37\x0a\x7d\xa4\xbd\x0c\x99\x9f\x72\x7b\x74\x21\x39\x5c\x00\x4d\x07\x69\xb2\x28\x33\xb5\x3e\x52\xd7\x32\xaf\xe0\x19\x50\xf2\xd8\xf1\xbd\x70\x26\x0d\xd2\xf2\x94\x39\x4e\x26\xdb\xd9\xdd\x9d\x21\x13\x0b\xb3\xd6\x60\x04\x0f\x22\x25\xd0\xb1\x2b\x04\x1b\x88\x13\x18\x2e\xac\xd1\xdc\x3e\x7a\xa2\x14\xa9\xaf\x28\xd5\x37\x4f\xca\x8b\x8a\x8f\xaf\x53\x54\x37\xec\x1e\xe1\xea\x86\x32\x7a\xef\xee\x2c\xdf\x67\x9d\x28\xc8\xd8\x5b\x69\x0a\x16\xa9\x30\x58\xa5\x94\x93\x6b\xb0\xf5\xc5\x5b\x33\x3f\x09\x5c\x1f\x01\xdf\x15\xa3\xac\xb2\xf2\x43\x12\x6c\xbf\x4e\x4c\xaf\xb9\x2c\xcb\xfc\xb0\xd4\xa9\xb6\x33\xdf\xf7\xc3\x5a\xf7\xcb\x7c\x6e\xbd\x09\xdb\x14\xa5\x22\x98\xe4\xad\x96\x51\xce\xef\xe7\x56\x5e\x72\x77\x07\x2d\x0a\xa1\x9d\x0a\x42\x2f\x69\x9a\x84\x52\x53\xec\xaa\xa6\x34\x4b\x56\xe9\x94\xfa\xdf\x65\x28\x3b\xe7\x86\x59\x9e\x04\x96\x53\xdd\xa2\x2d\x92\x8b\x8c\xb8\x04\x08\x2d\xe6\x31\x12\x07\x0b\xea\x51\x32\x0b\x58\xe0\xa5\x65\x7c\xd5\x63\x11\xaa\x7d\xdc\x88\xb7\x62\xd3\xb2\xca\x59\x6a\x09\x88\x22\x30\x97\x80\xb9\x09\xbb\x86\xd2\x2a\x49\x6f\x02\x16\xfc\x0f\x40\x56\x07\x38\xd6\x44\xdb\xa7\x34\x6a\x9c\x9e\xcb\x90\x98\x22\x4f\x15\x22\xf3\xf5\xad\xb4\x03\x6d\xb2\xa5\x13\x08\x4a\xf4\x72\x4b\x06\x26\x15\xae\x9f\x16\x91\x9d\x3d\x3c\x56\xd2\x30\x70\x79\xfa\xb9\xdc\xed\x4d\x4a\x1b\xd5\xe2\x30\x8a\x9c\x4e\x41\x12\x40\x6f\x9b\x41\x07\x82\x91\x4e\x63\xb9\x89\x94\x27\xd5\x34\xd2\x32\x05\x15\xb9\xc2\xb3\xd4\x1b\xa9\x5c\x30\x48\x6f\xbf\x44\xae\x22\x51\xf1\xb0\x48\x99\xf4\xda\xd1\x91\x22\x69\x9c\x4e\x84\x78\x5a\x4b\xd7\xd3\x76\x89\xcf\xd5\x6d\xe2\xb5\xb8\x9e\xb9\x39\x7c\xae\xee\x0e\xe3\xaa\x49\x75\x7b\xf8\xbc\xba\x3f\xbc\xb6\x68\x3c\xb9\xba\xbe\xc1\x79\xba\x61\x92\xca\xae\x8f\x38\x0e\xbf\x16\xad\xd8\x26\x7b\xe0\xa8\xc6\x79\xde\x6b\x9f\x82\xa8\xba\xd0\xf4\x03\x98\xb2\x06\x92\x8a\x93\x72\xdf\xef\xb7\x43\x65\x7f\x23\x47\x0d\x33\x60\x48\xd2\x27\xa1\x7e\x98\xc8\xec\x29\x44\x16\xaa\xe8\x83\xb8\x38\xd8\x73\xd0\x3d\x4c\xdb\x1a\x7c\x87\xc9\x34\x88\x6a\xa7\x1d\x93\xfa\x29\x95\x5c\x3e\x88\xe3\x6a\x11\x64\x14\x58\x88\x88\x0b\x66\xb3\xfd\x6f\x34\x66\xb9\x44\xd0\x45\x2e\x5d\x6e\x49\x9d\x48\x72\xd6\xc8\x06\x24\xa7\x49\x3d\x38\xaf\x1d\xa6\x97\x14\xed\xa6\x34\xa8\x0a\x85\xfc\x28\x57\x12\xcd\x6a\xa7\x0e\x8a\x58\xd3\x2b\xc2\x78\xb3\x42\xce\xe7\x65\x70\x19\x0b\xe0\xf9\x8c\x2f\xfb\x13\x98\xfe\x13\xff\xbb\x44\x03\xd3\xa3\x00\xf1\xd2\x42\xc9\x4e\x7c\x6b\x3b\x59\x27\x9d\x92\x06\xe9\x94\x4c\x8c\x90\x6f\x27\xad\x63\xcd\xaf\x90\x4e\x55\x54\xff\x79\xc2\xa9\x5a\xf2\x6f\x23\x9b\xaa\x58\x9b\x45\x93\x62\xab\xa8\x62\x05\x8d\x42\xbe\xd9\x53\x3b\xab\x9f\x9a\x2c\xbd\xfd\x9e\xaa\x07\xfe\x52\xb3\x38\x77\x7f\xaf\xda\x8e\xbc\x4b\xa3\xf6\x9d\x9a\x4f\x23\xf0\x81\xb5\xf5\x7b\x12\xfa\x72\xe9\xbc\x6d\x6f\x87\xaf\xc0\x52\x68\xb7\xa5\x79\x40\xc7\xe1\x44\xda\x06\xb5\xca\x24\xcd\x95\xc9\x78\x65\xc6\xc9\x44\xad\x4f\xa6\xd4\x07\xd3\x32\x6e\x1c\x50\x75\x2b\xe5\x87\x2b\xba\x4e\x22\xd7\xe4\x26\x6f\x05\x52\x3d\xf6\x60\xe2\xf6\xbd\x52\x7a\xfa\xb4\x02\xd7\x72\x56\x59\x49\xa9\x15\x9f\x56\x8b\xa7\xe3\x74\x62\x9a\xdb\x95\x85\xe2\x47\x28\x78\x96\x7c\x17\x9d\x8f\xfc\x68\x11\xeb\x7b\x10\x68\x43\xb4\xa6\xff\x34\x16\x0f\xb5\x7c\xa4\x92\xef\xe9\x22\x51\x6f\xae\x3d\x61\x9e\xf8\x7e\x5f\x47\xf0\xdb\x88\xaf\x1a\xae\xff\x3c\xf9\x55\x2b\xba\x2e\xc0\xe4\x55\xbd\xed\xf2\x49\x84\xd2\xfc\xc4\xc6\x69\x69\xce\x50\x13\xc1\xbc\xcc\xa7\x10\x6e\x81\xdc\x6f\x57\x59\x4b\x9a\x2f\x55\xe5\x27\x09\x7c\x6b\x9b\xae\x9b\x6e\x68\xc3\x74\x43\x27\x06\x2b\x9f\xe8\xb7\x1e\x13\xba\x35\x56\x3c\x59\xea\x8a\xc5\xaf\xdf\x4d\xda\xae\xa3\xec\xb7\x15\xb7\xe2\x1a\xf1\xff\x2f\x62\xb6\x56\xc3\x87\x35\xdf\x1a\xf7\xab\x11\xb5\xe3\x66\x7c\x55\x37\x81\x6e\x9c\xa0\xe9\x9f\xf7\xd5\xb0\xe8\x9c\xec\xf7\xe8\x86\x49\xad\x1b\x3e\x3c\x01\xac\x63\x45\xb5\xb1\x65\x43\x97\xb7\x9b\x28\x6e\x37\xad\x1d\x8a\xa1\x32\x14\xa1\x0f\xdc\x93\x6a\x7a\x95\x73\xb8\xa7\xbd\xfd\xdb\xb3\x25\x2d\x1f\xc2\x7b\x64\xc2\x58\x23\x21\x1b\x86\xa7\xba\x53\xaa\x74\x88\x1f\xc7\xff\x8c\x19\xa9\xb9\xec\x71\x3a\x99\xac\x99\x8d\x4e\x69\xc6\xd6\xdf\xec\x4b\x2e\x7d\x7a\x77\xc7\x4f\x04\x2a\x90\x9d\xc3\xe4\xb2\x92\xb9\x76\x24\x08\xd2\x8e\x57\xf1\x3a\x4f\x06\xe5\xcc\x02\x58\xee\x0a\xac\xc7\x9d\xc4\x02\x74\x2f\x59\x2c\xa1\xaa\x25\xfc\xeb\xf3\x31\x9a\xb1\xa3\x94\x06\x8b\x8b\xa8\x7a\xc5\xf2\x91\x4c\x49\xc6\x9e\x92\xeb\x30\xb9\x54\x20\x7c\xb1\xb7\x2f\x35\x94\xe0\x1b\xcd\x8f\x36\xcf\x02\x16\xf8\xba\xae\x5e\x72\x38\xaf\x7c\xe3\xdd\xd5\x73\x5f\x1c\x2e\x16\xb8\xce\x7d\x4a\xc6\x7a\x94\x5c\xea\x44\x9f\xd1\x8b\x15\xfc\x0d\xe3\x79\xa2\x13\xfd\x3a\x48\x63\x9d\xe8\x78\x3d\x46\x9f\xe4\x3b\x9a\xd4\x7f\xf5\x3d\xa2\x4c\x63\xbe\xae\x6f\x67\xd7\xa1\x90\x95\xd3\x20\xa3\x02\x83\x87\x61\xcc\xce\x83\x1c\x85\x07\x76\x5e\xe9\xda\x0a\x9e\x40\xb8\x07\x4a\x58\xbe\xe5\x2c\xc8\x92\xc2\x0f\xd7\x01\x2a\x09\xbe\x61\x74\x3a\x1d\x6a\xfa\xaf\x0a\x46\xe4\xfb\x57\x01\x0b\xb6\xd4\xc3\xbf\xe7\x5b\x6c\x8b\x76\xfe\x3d\x09\x63\x43\xd7\x74\x73\x0b\xaf\xdc\x92\x54\x5c\x06\x2e\xa1\x86\x3e\x62\xde\x9b\x64\xac\x5f\xa6\xc9\x6a\xa9\x13\xfe\x77\x2f\x89\xa2\x60\x99\xd1\x59\x85\x09\x9c\x6e\xf6\x2c\xba\xa9\xaf\xeb\x48\x37\xea\x92\x4f\x20\x9e\x0a\x82\xcb\xed\xaa\x69\x7a\x27\xa5\x4b\x1a\x30\x63\x6b\xab\xd6\xc4\x58\x8b\xed\x46\xf2\x3a\x58\xa3\xfd\x78\xc6\x67\x16\xf9\xb5\x06\xc8\x37\x0c\x4e\xec\x03\xe5\xb7\xdb\x8d\xe5\x57\x3a\xf2\xc9\x2a\x64\x6b\x8f\x9e\x17\x86\x06\x2b\xb2\x9c\xe7\xcb\x3f\x90\xf5\x83\x72\xbd\x25\xa3\x6c\xb5\x04\x39\x9b\xef\xb3\x95\x40\x40\x61\x85\xa2\xfd\x06\x0a\x64\x1a\x61\x9d\x59\x98\x05\x17\x11\x5d\x0b\xa9\xa4\x13\xdc\xc9\x5b\x0b\x29\xd2\x0a\x28\x3c\x87\xf4\x00\x24\xa4\x13\x86\x95\x85\x20\x57\xc9\x45\xdd\x97\xfc\x5a\x51\x21\x2f\xe4\xc1\x05\x2e\xff\x8c\x26\xb4\x39\x2c\x1e\x3b\x81\x66\x4f\x57\x53\x96\xa4\x4d\x34\x34\xb5\x4b\x27\x5b\x5d\x4c\xa3\x20\xcb\xa8\x38\x30\xc8\x4c\xc2\x1a\x5b\x50\x81\x04\xa2\x1f\xe0\x70\xc3\xb9\xe2\x5c\xbb\x96\x35\x15\x6b\xf5\xc5\x69\x4c\x48\xd0\x70\xd3\x02\x97\xeb\xf9\x6c\xd4\x2c\xd7\x85\x50\x27\x4c\xde\x26\x10\x38\x61\x98\x89\xcb\x5d\x39\x7f\x79\xa5\xd2\xe6\x4e\x59\xea\x08\xff\x79\x44\x97\xae\x3d\xbc\xe1\x24\xcc\x10\x17\x9e\x63\xee\xcc\x57\x51\x04\x3d\x7a\x0d\xd1\xb2\x3f\xae\x3b\xb2\xa2\xb0\xe3\x41\x04\xe5\x23\x73\x75\x1c\xc8\xbf\x66\x0c\x25\x45\xae\xe1\x54\x44\xcd\x9a\x67\xa8\x2e\x81\x41\xc5\x8d\xfb\x1d\xd0\x20\x3c\xb0\xb0\x9e\x50\xc0\x6a\xf9\xe0\x9c\x5c\xcd\xb1\x7c\xda\xac\x5c\xcb\xf6\xc4\x79\xb9\xd6\x59\x8a\xa5\x12\xc0\xb8\x07\x43\x44\x8a\x2b\x60\x23\xca\x26\x21\xcf\x64\xcb\xa2\xef\x18\x21\xb7\xb6\xf4\xb1\xbe\xc5\xb6\xf4\x89\x5e\xe4\x39\x10\xe8\xcf\xfd\xb4\xa9\x78\x55\xa7\xab\x28\x44\xdc\x05\x45\x15\x8d\x98\xf1\x44\xa9\x64\x4c\x09\xd7\x45\x8e\x57\x71\x67\x7a\x33\x91\x66\x0f\xef\xf7\xa5\x1b\xc7\xe5\xc2\x8f\x69\xb6\x8a\x18\x46\x49\x75\x49\x5c\x72\xde\x06\x56\x86\x31\x8b\x62\x43\x87\x64\x2d\x0d\xc2\x8c\xce\xb4\x20\xd6\xe8\xcd\x94\x2e\x99\x70\xb2\x04\xe2\x85\xbb\xc1\xc0\x23\x70\x18\xaa\xdd\x70\xde\x29\x90\x09\x10\x31\x89\xc3\x74\x68\x7a\xb5\x54\xd3\x24\xb4\x33\x15\x04\x41\xe9\xe7\x06\xed\x1c\xec\xbe\x3d\xdc\x7f\x43\x36\x6c\xbe\x42\xdb\xa0\x1c\x36\x2d\xfd\x28\xb3\x90\x6c\x44\xd4\x59\xe1\x57\x28\x4f\x37\x3e\xbb\xbb\x93\xf7\x3f\xe7\x41\x18\xad\x52\x2e\x12\xf9\x64\x98\x4b\x48\xa1\x32\x07\x29\x7b\x13\x30\x8a\x9e\x48\x84\xbe\xb6\x4a\x03\x28\x56\x89\x12\xdb\xca\x9c\xbf\x4a\xfc\x22\xb8\x39\x90\x25\x58\xb2\x80\x38\x9c\xe6\xba\x1f\xd0\xfb\xe7\x15\x5d\xd1\x73\x71\x6f\xb3\xa1\x9e\x4a\x77\xd9\x3d\x3c\x3c\x3f\xdd\x3f\x39\x3d\xa9\x5d\x3e\x7d\x19\x44\x51\x1b\xb0\x65\xaf\xf0\x02\xea\xc3\x78\x32\xbc\x0b\x5e\x13\x43\x15\x92\xd4\x75\xa1\xa7\xe0\xab\x6a\x0a\x65\xd3\x84\xdd\xdd\x21\xfe\xbc\x0e\x24\xc4\x93\xbd\x25\x81\x66\x98\x24\xf3\xad\xed\xac\x38\x90\x9b\xc9\xf3\x1a\xb1\x9f\x8c\x33\xee\x55\x4c\x1e\x37\xcc\x51\x99\xe2\x84\x41\xde\x0f\x8f\xe9\xe5\xfe\xcd\x92\x6f\x41\xa7\xfc\xd8\x5c\x9c\x0f\x67\xd3\xcc\x8f\xcd\x4a\xff\x00\x45\xe2\x86\x9f\xe6\xc9\xc2\x86\xcf\x99\x65\xc4\x26\x09\xb7\xb6\xee\x55\x8f\x2d\x4f\x61\xcc\x51\xc0\x18\x4d\xd7\x9c\x66\xf1\x2d\x71\x09\xff\x91\xe9\x5d\x5d\x66\x14\x9a\xa6\xc2\xf6\x46\xed\xa2\xc8\x3d\x4e\x27\x44\x39\xde\x24\x9a\x22\x4a\x2e\xc5\x61\xe3\x0f\x09\x4e\x60\x99\xb6\x00\x49\x42\x67\x1a\x47\x0d\x4a\xde\x34\x0d\x19\x4d\xc3\x40\x78\x3a\xa8\x69\x17\xf5\x4a\x27\xf1\xa7\x78\x1a\xac\x2e\xaf\xd8\xbe\x94\x1d\xe7\x4d\x67\xfa\x2d\xdf\xa7\x85\x7b\x17\x99\x47\x8b\xc2\x8b\xc7\xa4\x96\x6e\xf2\xeb\x1d\x4a\x76\xee\x31\xc3\xd3\x70\x00\xcf\x74\x53\x08\xb6\x0d\x6b\x5b\xde\xec\x2c\x0d\xd2\x56\x8b\x6e\xf8\x45\x99\xe2\xae\x62\x09\xa4\x43\x6f\x96\x74\xca\xe8\x0c\x0f\x8d\x09\x97\x07\xf9\x91\x15\x7d\xb6\xc2\x35\xa9\xed\x86\x1b\xc0\x22\x3f\x27\x49\x9c\x92\x2a\x27\x1d\xed\x7f\x78\xf3\xf6\xc3\x4f\xe8\x84\x42\x0f\xe6\x8c\xa6\xd2\x50\x80\x36\xa1\xf2\x94\x9a\xa0\x2e\x17\xc1\x9a\xbe\x15\x6e\xe9\x5c\x6f\x01\xf3\xcc\x6b\x26\x1c\xd2\x0b\x35\xa4\x8a\x97\x6e\xe9\x44\xc3\x39\xcb\xd3\xb7\x52\xb3\x41\x82\x55\x84\x71\x03\x40\x21\x9d\xc9\x86\xbd\x4e\x40\x3f\x64\xa6\x97\xf7\x1a\xa9\x70\x95\x52\x88\x56\x7a\xad\x81\xd8\x6d\x97\xa5\x70\x51\x15\x69\xe7\x18\x4a\xf5\xc0\xf8\x35\x14\x29\x2e\x86\xcc\x96\x2e\x3a\x05\x91\xdc\x92\x52\xbf\x00\x80\x18\x05\x60\x91\x9d\x26\x27\x74\x9a\xc4\xb3\xec\xbc\x4c\x99\xbc\xd3\x97\xad\x16\x8b\x20\x0d\xff\x4e\x0d\x53\xee\xcc\x26\x31\xf2\x57\x11\xff\xca\x6c\x54\xe7\x80\x58\x65\xf2\xaa\x67\x23\xeb\xac\x2a\xad\xd5\x91\x8d\xda\x3a\x4d\x23\xbf\x79\x43\x35\xae\x8a\x94\x94\x0c\x89\xa3\xb4\xb6\x61\xc8\xdb\x03\x37\x30\x35\x67\x5c\xd5\xaa\x25\xb2\x1b\x65\xc1\xb5\xde\x79\xe5\xf0\x51\xba\x6f\x18\x6b\x39\x1a\xe8\xbb\x86\xf0\xa9\xb5\x23\xfe\x7a\xf9\x9d\x49\x31\x4d\x5a\xf7\x62\x1b\x9a\x8f\x24\xda\x39\xda\x3d\x39\xd9\x7f\xb3\x53\xed\xd2\xd2\x61\x8e\x47\xf3\x96\x7a\xd5\xb7\xe4\x7d\xff\x42\xce\x9d\x44\xc9\x35\x1f\x3e\x2c\x49\xbe\x36\x36\x37\xad\xb5\x75\xa5\xbf\xc9\xc2\x40\x7a\xf1\x71\x60\x96\x7b\x55\x7e\x51\x52\x19\x37\x7c\x6e\x84\xae\x81\x3e\x69\xbe\x37\x56\xcb\x54\x65\x49\x89\x97\xf9\x91\xa8\x55\xc4\x34\x29\xea\xd0\xd5\x89\x3a\xd4\xf9\xb5\x90\x9c\x19\x65\x4e\x6e\xab\x23\x43\xce\xec\x18\x97\xae\xe2\x0f\xf4\x86\xf1\xc1\xfe\x8c\xce\x75\x4c\x1b\xba\x57\xae\x8a\x29\xf4\x1f\xe2\x7d\x3d\x01\xab\xcd\x93\x34\xb7\x96\x1a\x2b\xc0\x4a\xb7\xd1\x04\xc5\xca\x76\x52\x8a\x37\x70\x4a\x23\x5d\x2c\xf0\xa7\xf9\x95\xb4\x6a\x63\x3c\xa1\x5a\x2a\x1b\x9a\x3c\x03\x20\x23\xef\xee\x36\xaa\x5a\x92\x38\xe5\xa8\xb6\x5d\x7d\x0c\x1b\x66\x3e\x0f\x29\x4a\xa1\xe8\x9f\x15\x79\xf4\xca\xaf\xc2\xad\xeb\x18\xef\x83\x9b\x70\xb1\x5a\x68\x02\x81\x36\x4d\x56\x31\xd3\x52\x1a\xc0\x1c\x4e\xb4\xe0\x22\x49\x59\x18\x5f\xf2\x1e\x9f\xae\xe2\x8e\x9c\x65\x1a\x09\xe4\xeb\xe6\x95\xea\x8d\xad\x09\x61\x0d\x53\xd8\x4e\xd3\x84\x07\x9d\xdc\xc3\x4e\x8e\x32\xa6\xd5\x2a\x19\x23\x54\x31\xb1\xee\xee\x0c\xa6\x8c\xce\x26\x71\x8e\x71\x86\x9a\xa9\xb0\xba\xd0\x37\x20\xbd\x2e\xa1\x34\xaa\x32\x2d\x97\x61\xea\xbe\x50\x33\x23\x73\x45\x45\xe3\xd3\xba\x86\x76\xeb\xd3\x44\x14\x77\xfe\xb4\x96\xad\xf7\xb9\xb8\x55\x2b\x95\xeb\xa2\x8d\x06\x44\x6d\x09\x82\x27\xf0\x45\x08\x46\x64\xae\x9a\xfc\x16\xa6\x73\xc3\x8c\x5d\xc8\x73\x96\x5b\xd8\x0f\x83\x55\x7a\xb9\xf0\xf9\xf6\x28\x27\x1b\xe5\xbe\x60\x2a\x76\x43\x59\xfa\xc3\xcc\x6d\xea\x14\xcf\x66\x78\xb9\x77\xa6\xab\xd8\x78\xee\x84\xa5\x12\x9e\xae\xe2\x27\xce\x59\x4f\x92\x35\x0d\xee\xef\x84\x0a\xa3\x1f\xaf\xe2\x18\x8a\x15\xd3\x53\x4d\xd6\x08\x15\xd0\xc8\x4c\xbd\xa6\x7d\x08\xb6\xd4\x35\xf0\x9a\x9b\x26\xc5\xb6\x15\xda\x16\xf9\xa1\xe9\x40\x9d\x3d\x1b\x56\xb5\x0c\xfa\xc2\xa6\x5d\xb3\xc3\x92\x83\xf0\x86\xce\x0c\xc7\xdc\xd2\x33\xfd\x09\xa6\x93\xd4\xb0\x9a\x64\x71\x45\x62\x9a\x0d\xdb\x7e\x15\x90\x62\xd3\x4f\x69\x73\x3e\x7d\x7b\x55\xbd\x70\x4c\x27\x15\x1d\x7a\xbb\xb9\x21\x6a\xfa\xc5\xa9\xe8\x28\x5a\x18\xcb\xf9\xce\x7b\x42\x33\x6a\xd7\x34\xa5\x5a\x9c\x48\x21\x5d\xe5\x8e\x90\x0b\x8d\xcb\x56\x62\x21\x28\x5f\x62\x47\x45\x83\x15\xe3\x57\xae\xa9\x3e\x71\x29\x43\xe8\x36\x18\x16\x56\x0a\x4f\x68\xb4\x86\x84\x9b\xd7\xc6\x65\xa6\xa2\x29\x05\x1e\x5f\x5f\xd2\x78\x06\x46\xd3\x63\x19\x78\xbb\xf8\xa2\x7d\x1e\x05\xe7\xda\x93\xaf\x0b\xdb\xaf\x19\x5c\xb5\x1f\xeb\xab\x1e\x5c\xb5\xf2\xe9\x9a\xba\xa8\x99\xd5\x0d\x41\xe1\x37\xa0\xbe\x0e\xab\x3f\xc1\x8a\xcd\x7b\x46\xda\x60\xb6\x81\x91\x56\x28\x7a\x2a\x18\x8f\x7d\x94\xe9\x4d\x22\x66\xdd\x90\xc7\x92\x53\xb1\xdf\x6a\xaa\x1d\x61\xa3\xd4\x13\xc4\xba\x81\x70\x06\x7c\x0e\x93\x38\x0a\xbe\xd2\xd2\xe1\x2c\x9c\xf1\xae\xcc\x27\x88\x40\xfb\x16\x44\x2b\xaa\x05\xf1\x4c\x49\x42\x2f\x9a\xda\x22\x49\x29\xba\x16\xce\x15\x93\x06\xcb\xb3\xb0\x35\xd7\x8c\x8b\xf2\x8d\x2c\x3a\x65\x6a\x17\xad\x37\x75\x73\x47\x5e\xd7\xf2\x25\x1b\x56\xd4\xbb\xc6\x57\xc9\x90\xfa\x38\x2a\xb1\xaf\xb8\x11\xab\xf2\x0b\x32\xcf\xb4\x64\xc5\x7e\x2b\x26\x08\xee\x02\xb5\x0d\xcb\x7b\x82\xd4\x56\xab\xec\x6d\x59\x4d\x93\xb3\xbf\xac\x55\x83\x89\x2a\x92\xd4\x49\xa5\xbe\x50\x58\xa3\xac\x54\xb1\xfa\x96\xcd\x5a\xc6\x3d\x6b\x79\x40\x20\x50\xba\x36\x4c\x2c\x55\x8b\x58\x9a\xdf\x8d\x40\x85\x65\x93\xdf\x4b\xcc\xdd\x4e\x0b\xe1\xfd\xd2\xb9\xbb\x53\x6f\x16\x3e\x2a\x36\x78\x81\x8f\xb2\x28\x48\xd3\xe0\x76\xff\xcf\x0d\xdc\xd9\xa0\x60\x7c\xc8\x75\x2d\xda\x6a\x6d\x30\xf4\xd7\x23\x08\xda\xf0\x59\xd9\x14\xd9\xb0\xb7\xd7\x1c\x0c\xd9\xda\x4a\x4d\xc8\x39\x4e\x27\x1b\xe8\xf7\xb2\xc8\x21\x57\xcd\x1e\xa7\x33\xcb\x68\xca\xf6\xff\x5c\x9b\x94\xf2\xdd\xe1\x50\x9c\x22\xd7\xf9\x35\x66\xc5\x3b\xb7\x34\x67\xa8\x70\xd0\x5e\x38\x7c\x57\x7c\x6b\xaf\xbb\xd7\x5d\x3d\x0c\x64\xde\x2b\xd7\x36\x85\x01\x65\xef\x00\x8a\x2d\xa6\xec\x3b\x78\xea\x07\xae\x2a\x6c\xf8\x3e\x6b\xb5\x36\x1a\x5c\xb4\x8a\x69\x5d\x36\x05\xb6\x80\x99\xdf\x1a\xdc\xd1\xc7\xfa\x56\xba\xa5\x4f\x74\x4f\xd7\xb7\x73\xc5\xc1\xd0\x25\x4b\xf4\xad\x44\x18\xb2\x57\xe2\xce\x65\x10\x45\x34\x3d\x4c\xa6\xd8\x7b\xcf\x0d\x9b\x1f\x9f\xd8\x02\x0e\x6d\xe9\xda\x86\xef\xe3\x07\x33\xeb\x7b\x1d\x6b\xf8\xde\xd0\x3b\xac\x0d\xdf\xcf\x9d\x55\xb3\x9d\x7c\x5b\xaa\x91\x48\xac\xc0\x53\x48\xcc\x9b\xe6\x09\xa4\xd5\xd1\x34\x2c\x3b\x35\xb9\x57\x4f\xe5\x89\xce\xb4\xee\x62\x7d\x4c\xb7\x9c\x49\x07\x97\xa5\x8d\x17\xc6\xf8\x97\x17\x93\x2d\xef\x6c\xb6\x65\xc2\xcf\x99\xb9\xf3\xcf\x2f\x8a\xd6\xdf\x61\x63\x7b\xe2\xe9\x3b\x3b\x3b\xfa\xe3\xc4\x0a\x19\xdc\xbc\xff\x01\xb2\x20\x57\xc7\x9f\x20\xd7\x80\xb5\x25\x4c\x55\x69\x21\x7a\x94\x14\xfc\xf4\x71\x41\x5f\x5f\xe5\xab\x57\x21\xc8\xb2\xda\x54\xd4\x80\x92\xab\x47\x12\xe5\xa7\xd3\x03\xf7\x0d\x3e\x46\x91\xd6\x32\x5f\xdc\x32\x9a\x1d\xd2\x39\x2b\x8e\x1a\xcd\xe8\x51\x12\xc6\x79\x44\x94\x5c\xd3\xf4\x75\xb2\x8a\x67\xbe\x55\xc1\x56\x72\xaa\x06\x31\x6b\xf6\x3b\x74\x9d\x34\x1c\x54\x13\xcb\xea\x78\x57\x3f\xdd\x4b\x66\x74\x97\x19\x29\x2e\x9a\x58\x62\x2e\xc8\x89\x33\xc3\x97\xbe\xed\x0c\x77\xd8\x96\x00\x47\x50\xcf\x1e\x39\x2f\xfd\xb0\xd5\x0a\x5f\xfa\x8e\xd3\xdd\x31\x2a\x15\x08\xdb\xf6\xc8\x21\x95\x6a\xda\xb5\x5a\xd9\x8e\x6b\x7a\x8e\xd3\xcb\x51\x75\x47\x0d\xa8\x1c\xa7\x57\x45\xe5\xd4\x50\x39\x56\x0f\x70\xf5\xac\x1c\x57\x6f\xd8\x84\xab\x67\x55\x71\x75\x6b\xb8\x06\xfd\x7e\x77\x00\xc8\xdc\x1c\x59\xdf\x6e\x44\xe6\x56\x91\xf5\x1a\x08\x1b\x0d\xed\xbe\x63\x7a\x4e\xbf\x60\x59\xbf\x89\x65\x4e\xbf\xc6\xb2\x7e\x9d\xb6\xa1\x6d\xb9\xee\xa0\x67\x7a\x6c\xcb\xd7\xff\xdf\xff\xe7\xff\xd6\x73\xbf\xdb\xb6\x93\xd3\x6b\x8f\xec\x62\x92\xcf\xd1\xb5\xdb\xd5\x8e\x56\x21\xe2\xe5\xcb\x81\xb9\x65\x84\x6d\x68\x17\x52\xef\x0a\xaa\xa7\xc3\x3c\x8f\xbc\x06\x54\xd0\x78\x77\xd7\xef\x3b\xa3\xc1\x4b\x3f\x69\xb5\x92\x97\x7e\x7f\xd8\xed\x75\xef\xee\x92\x57\xb6\x6d\xf7\x6c\xdb\xde\x91\x84\x7b\xc9\x4b\xe4\x34\x44\x70\xd1\xd7\x99\xa7\xc9\x62\x4f\xf4\x49\x23\x31\x3d\x23\x69\xf3\xd6\x20\x6b\x60\xb0\xa4\x2d\x23\x79\xf5\xea\x95\x6d\xb5\x6c\xcb\xe9\x9a\xa4\x3f\xe8\x3a\xd6\x96\x01\x1f\xad\xc4\x34\xc5\x55\x7b\x4d\x16\x5b\xe5\xb1\x45\xd2\x76\xbb\xf4\x32\x8c\x78\x3e\xe6\xf4\xc0\x6d\x32\xb1\xb9\x02\xa2\x8c\x45\x53\x64\x10\xc2\x4b\xbc\x65\x54\xcd\xfd\xe3\x63\x12\xeb\x23\x5b\x16\xb9\x69\x86\xc8\x95\x6e\xde\xf4\x82\xe1\x02\x64\xd0\xb5\x47\xb8\x4b\xbb\x65\xe7\x65\xe4\x27\xbf\x4b\xf8\xb7\x6c\x73\x5b\xa0\x57\x1a\x6b\xc7\xe0\xf8\x07\x5b\x06\xe7\x62\x68\xbe\x7c\x69\x5b\x66\xce\x53\x02\x04\x7b\x82\x08\xb1\xaf\x2b\x28\x42\x87\x06\x40\x35\x97\x1b\x66\x59\x6e\x6c\xe7\x5e\xe3\x60\x14\x58\x38\x44\x9b\x1b\xd6\x1e\x39\x77\xe1\xab\x57\xaf\x06\x26\xc9\x7c\xdb\xf4\xc2\x97\x58\x40\x7f\x6d\x06\xc7\xe9\x61\x06\xdb\x81\x1c\x8e\xe9\xad\x05\xec\x59\x1c\xd0\x05\xc0\xae\xb9\x9d\xbd\xb2\xb6\xcd\x0c\x06\xc7\x1a\x52\x1c\x97\x93\xf2\xa7\xac\x35\xe8\x96\x1f\x11\xba\x9e\xf2\xf7\xc3\xae\xa7\x9d\x78\x15\x7d\x09\x67\xec\xca\xb7\xf8\xf7\x34\x89\x59\x9a\x94\xe3\x52\x7a\x19\xa4\xb3\xbd\x7f\xff\xba\xbb\xb8\x08\x2f\x57\xc9\x2a\xf3\x37\x6c\x01\xae\x44\xf2\x3c\x8e\xc4\xb3\xb8\x08\x63\x30\x7c\xc7\xe3\xe1\xc0\x25\xee\x70\x34\x21\x63\xdb\xee\xf7\x89\x6d\xf7\x5d\x0c\x0f\x2c\x62\xdb\x03\x1b\xc2\x3d\xa7\x4f\xec\xde\x00\x61\x7a\x43\x9b\xc0\x0f\x0f\x77\x21\xdc\xe3\xe1\x01\x84\x87\x3c\x3c\x82\x30\xc2\xc3\x40\xb3\xfb\x5d\x1e\xee\x3b\xc4\xee\xf7\x11\x66\x60\xdb\xc4\x1e\x74\x2d\x0c\xf7\x5c\x02\x3f\x10\x1e\xf6\x2d\x62\x0f\x07\x88\x73\x38\x18\x42\x98\xc7\x0f\x21\x7e\xd8\x85\xb0\x6b\x0d\x09\xfc\xf0\xf0\x08\xc2\x88\xdf\xed\x59\xc4\x76\x07\x03\x08\x8f\xfa\x2e\xb1\x47\x98\xd7\xb1\x9c\x21\x71\xac\x6e\x1f\xc2\x5d\xab\x4f\x9c\xae\x35\xc0\xf0\xa0\x47\xe0\x87\x87\x47\xc4\xe9\x0e\x79\xbc\x6b\x13\xf8\xe1\x61\x80\x77\x11\x4f\xcf\x72\x88\xd3\xb3\xba\x18\xee\x76\x09\xfc\x60\x78\x04\xf1\x23\x87\x87\x87\xc4\xe9\x5b\x50\x2f\xa7\x6f\x8d\x20\x3c\xc2\x70\xd7\x22\x4e\xbf\x8b\x38\xfb\x03\x9b\x38\xfd\x01\xc2\x0f\x1c\x8b\xc0\x0f\x0f\xf7\x21\x8c\x34\x0c\xba\x36\x71\x06\x5d\x0e\xd3\x85\xf8\xee\x10\xc3\x43\x87\x38\x03\xe4\x83\x33\x70\x47\xc4\x19\x8c\x30\xef\xb0\xe7\x12\xf8\xc1\x70\xbf\x4b\x9c\x21\xf2\xd9\x19\xf6\x47\xc4\x19\x0e\x38\xcc\xa0\x0f\x61\xe4\xc3\xd0\x1d\x10\x67\xe8\x22\x8c\x6b\x0f\x09\xfc\x60\x78\x38\x20\xf0\xc3\xc3\x23\x08\x23\xfd\x2e\xf0\xc4\x75\xb1\x5c\x77\xd4\x25\xf0\x03\xe1\x11\xf0\x64\x64\x21\x9d\xa3\xde\x80\xc0\xcf\x84\x8c\xbb\x96\xe5\x12\xf8\xc1\xb0\x63\x13\xf8\x81\xb0\xdd\xed\x91\xae\xdd\x45\x18\xbb\xe7\x90\xae\xdd\xeb\xf1\xf0\x00\xc2\x23\x0c\xf7\x87\xa4\xcb\xfb\x61\xd7\x19\x58\x04\x7e\x78\xb8\x0b\xe1\x2e\x86\x87\x10\x3f\xe4\xf1\xc3\x01\x84\x87\x18\x1e\xb9\xa4\xeb\x8c\x10\x4f\x77\xd4\x25\xdd\xee\x08\xea\xdb\xed\x59\x7d\x02\x3f\x10\x86\xb6\x80\x1f\x1e\x76\x49\xb7\xdf\xe3\x61\xa0\xa7\xdf\x83\xba\x74\x07\xdd\x2e\x81\x1f\x1e\x1e\x90\xee\x40\xc4\xf7\xfb\xa4\x3b\xc0\xb6\xeb\x0e\x07\x36\x81\x1f\x1e\xee\x41\x18\xcb\x1d\x0e\x21\x7e\xc8\x61\x5c\x88\x77\x31\xde\x05\x18\x17\xf9\xdf\x05\x1e\x76\x39\x0f\xbb\xee\xa8\x0f\x61\x11\x3f\x84\x30\xd6\x65\xd4\xef\x92\xee\x08\xfb\x73\x77\x34\x70\x49\x77\xc4\x71\x8e\x86\x3d\x08\x23\xfc\x08\xf0\x8f\x46\x48\xc3\x68\xd4\x25\x3d\xcb\x01\xbe\xf5\xac\xae\x4b\xe0\x07\xc2\x76\xcf\x26\x3d\xce\xe7\x1e\xf0\x19\x7e\x30\xdc\xb7\x48\xcf\xee\xdb\x3c\xdc\x85\x70\x17\xc3\x6e\x8f\xf4\x6c\x17\xf0\xf7\x7a\x3d\x97\xf4\x06\x38\xd6\x7a\xa3\xfe\x88\xc0\xcf\x84\x8c\xfb\x23\x6b\x40\xfa\x23\x6c\xdf\xfe\xa8\xeb\x92\xfe\x08\x79\xd8\x1f\x0d\x2d\xd2\x1f\xa1\x7c\x18\x58\x96\x43\x06\x16\x8e\x97\x81\x35\x70\xc9\xc0\x42\xfe\x0c\xac\xa1\x4d\x06\x16\xb6\xd7\xc0\x72\x07\x04\x7e\x78\x78\x44\x06\x16\xb6\xdd\xc0\xb6\x46\x04\x7e\x30\xdc\xef\x93\x81\x8d\xfd\x79\xd0\xb5\xbb\x04\x7e\x20\xdc\xeb\x3a\x64\xd0\xeb\xf6\x78\x78\x44\x06\x3d\xa4\x61\xd0\xeb\x5b\x04\x7e\x78\x78\x08\x61\xc4\x33\x18\x8e\xc8\x60\xe0\x62\xfc\xc8\x76\xc8\x60\x64\xf7\x31\x3c\xe8\x11\xf8\xe1\xe1\x01\x19\x8c\x86\x1c\x66\x08\x30\xc8\xf3\xc1\x68\xe8\x42\x18\xea\x3b\xb4\xec\x11\x19\x5a\x0e\xd0\x33\x1c\xd8\x03\x32\xe4\x63\x76\x38\x18\xba\x64\x38\xc0\xf1\xe2\x3a\x56\x97\xb8\x0e\xf2\xcd\x75\xba\x3d\xe2\x3a\xd8\x16\xae\xe3\xba\xc4\x75\xb0\xbd\x5c\xe8\xab\x6e\x17\xf9\xe3\xf6\x2c\x8b\xb8\x3d\x94\x0f\xb6\xd3\xed\x5a\x04\x7e\xfb\xf8\xd5\xeb\xd9\x04\x7e\x81\x8e\x5e\xd7\xb2\x7b\x04\x7f\xc5\xd7\x08\xbf\x46\xfc\xab\xd7\x87\x2f\x6c\xdd\x41\xcf\x01\xd6\xc2\x2f\x7c\xf5\x2d\xa7\x47\x06\x7d\x0b\x25\xf1\xa0\x6f\xf5\x07\xf0\xc5\xf9\xd2\x77\x80\x31\xf0\x8b\x5f\x7d\x67\x84\x8e\x55\xb1\x0d\x5d\x6b\x34\x24\xf0\x8b\x69\xae\x6d\xd9\x04\x7e\x1d\xf1\xe5\xc2\x97\xcd\x21\xed\xbe\x03\x5f\xfd\x9e\xf8\x1a\xe1\x17\x9f\x59\x46\x76\xaf\x4b\xf0\x4f\x5f\x7c\xe3\x5c\x33\xb2\x91\xd3\x18\xe0\xe9\x62\x26\x1a\x39\x36\xcc\x3f\x23\x07\x5b\xda\xb6\x47\xdd\x81\x43\xf0\x0f\x60\x1f\xc1\x34\xd1\x27\xfc\x8f\xf8\xee\x0e\xe0\x7b\x80\x54\x8f\xec\xe1\x70\x60\xc1\xf7\x68\x34\x9a\x4c\xf8\xa4\x17\xe4\xf3\xe3\x18\xa6\x1f\x22\x26\xb7\x41\x0f\xe6\x1e\x0c\x0d\x89\x2d\x26\x1b\x98\x6b\x90\xb0\x61\x8f\xd8\x43\x31\x19\xc1\x3c\x83\xd3\x8c\x03\xb3\x0c\x86\x60\x8e\x41\x2c\x23\x08\xf1\xc9\xc6\x25\x0e\x0e\x0b\xc7\xee\x13\xc7\x46\x41\xea\x38\xc4\x71\xc4\xf4\x03\xb3\x0f\x86\x1c\xe2\x74\xc5\xd4\x03\x33\x0f\x9f\x60\x60\x7e\xc1\x10\xcc\x28\x7c\x72\xc1\xf9\x04\xa7\x0d\x87\x38\x7d\x14\xb4\xfd\x1e\x71\x90\xcd\x4e\x1f\x52\xb9\xa0\x07\x99\xdf\xe5\x22\x1f\xa4\x3f\x0a\x6a\x90\xd3\x5c\x4c\xf7\x88\x83\x02\xc6\x19\x8d\x88\x10\x8f\x20\x11\xb1\x83\x76\x6d\x90\xc3\x28\x5a\xec\x11\xe9\x3a\x18\x72\x7a\xa4\xeb\xa0\x68\x76\x5c\xd2\x45\xb6\x76\x41\x26\x72\x91\x08\x52\x13\xbb\x52\xb7\x0f\xf2\x73\xc4\xc5\x24\x48\x4c\xe8\x88\x03\x87\xf4\x50\x44\xf6\x06\x3d\xd2\x43\xee\xf6\x06\x03\xd2\x43\x51\xd6\x1b\x80\x44\x41\xc1\x34\xb4\x48\x0f\xf9\xdc\x1b\x3a\xa4\x87\x03\xad\x37\xec\x11\xae\x52\x80\x46\xd1\xc3\x89\xa8\x3f\xea\x92\xfe\x88\x8b\x11\x94\x10\x38\x08\x5d\x32\x44\x3e\x0f\x6d\x9b\x0c\xb1\x0b\x0e\xed\x2e\x19\xe2\x90\x1e\xda\x43\x32\xc4\x09\x6d\xe8\x58\x64\x88\xd3\xeb\xd0\x71\xc9\x10\xeb\x31\xec\x76\xc9\x10\xeb\x31\xec\xf6\xc9\xb0\xcb\xbb\x50\x97\x8c\x1c\xc0\x3c\xea\xda\x64\x84\xed\x31\xea\xf5\xc9\x08\x7b\xc9\x68\xd0\x25\x23\xae\x00\x59\xa0\x0c\x59\xd8\x9a\xb6\x05\x0a\x87\x6d\xf1\x2e\x6a\x41\x87\xc6\xee\xe8\x42\x27\x70\x79\x2f\x70\x1d\xdb\x26\xae\x83\xc3\xd5\x75\xec\x01\x84\xb9\x50\x70\x2c\xe2\x3a\x0e\x17\x04\x0e\x08\x08\x14\x22\xae\xe3\x40\xde\x2e\x8f\xef\x01\x0c\xf6\x08\x17\xba\x84\xcb\xfb\x84\xeb\xf4\xfa\x10\xe6\x65\xf5\x01\x7f\x9f\xc3\xf7\x01\x0f\xf6\x0c\xb7\x6b\xa1\x70\x41\x1a\xa0\x59\xe1\x07\xc3\x8e\x4d\x5c\xde\xb2\x2e\x28\x40\x2e\x1f\x52\x6e\x0f\xf0\xf4\x38\x9e\x5e\xbf\x0b\x61\x2e\x98\xfa\x43\x08\x23\xcd\xbd\x01\x84\x07\x3c\x3c\x04\x81\x85\xad\xe7\xf6\x5c\xc8\xeb\x3a\x3c\x3c\x80\x30\xd6\xa5\x37\x82\x78\x2e\xec\xfa\x5d\x9b\xb8\x7d\x54\x68\xdc\x7e\x77\x44\x5c\x3e\xd1\xba\xfd\x5e\x8f\xb8\xfd\x3e\xd6\xa5\x3f\xb0\x88\xdb\x47\x3e\xbb\xfd\x91\x43\xdc\x81\x85\x79\x07\x5d\x08\x63\x8b\xb9\x83\xbe\x4b\xe0\x07\xc3\x00\x3f\x40\xe5\xc0\x05\xe1\xee\x0a\xe1\x3b\xb4\x7a\x04\x7e\x78\x78\x00\x61\xa4\x19\xba\x8a\x3b\xc4\x9e\xee\x0e\xed\x3e\x84\xfb\x3c\x3c\x82\x30\xcf\x0b\xfc\x19\xf2\x76\x19\x3a\x00\xe3\x70\x98\xae\x45\xe0\x87\x87\xbb\x10\x1e\xf0\x30\xe4\xed\xf2\xbc\x3d\xc8\xdb\xe3\x79\x7b\x00\x83\x0a\x99\x0b\x4a\x2d\xfc\xf0\x30\xd0\xd3\xe7\xf0\xc0\x7f\xae\x90\xb9\xc3\x21\xc4\x0f\x39\x4e\x17\xe0\x5d\x0e\x0f\xfc\x1c\x72\x7e\xba\x30\x49\xb8\x9c\x27\x2e\xd4\x91\x2b\xc1\xae\x6b\x43\xbc\xcd\xe3\x6d\x88\xe7\xf5\x72\x61\xe2\x71\xbb\x22\xec\x42\x18\xcb\x75\xa1\x7d\x5d\xde\xbe\x2e\xb4\xaf\xcb\xdb\xd7\x1d\x8c\x08\xfc\x60\x78\xd4\x27\x2e\x57\x4a\x5c\x98\xfc\x5c\x3e\xf9\x8d\x40\x58\x8c\x7a\xa8\xa8\x8d\xa0\xcf\x8c\xfa\x3d\x1c\x2b\xa0\xdc\x8f\xfa\xa8\x50\x8e\x06\x96\x05\x03\x07\xc7\xd5\xc0\x76\xc9\x68\xe0\x88\x51\xe4\x90\x11\x6f\xc7\x11\x28\xb5\xa3\x41\x8f\xc7\xf7\x01\xbe\x2f\xc2\x3d\x08\xf3\xbc\x20\xc4\x07\x62\x04\x0e\x20\x7e\xc0\xe3\x87\x10\x8f\xf2\x62\x34\x18\x02\x9e\xa1\x88\x87\xb2\x5c\x0e\x3f\x72\xc9\x68\x88\xbc\x1a\x41\xbb\x8f\xb8\x8c\x18\x41\xdb\x8d\x86\x28\x79\x47\xc3\xee\x10\xc2\x48\xf3\xb0\xe7\x90\xd1\x10\xc7\xd7\x08\x94\xe9\xd1\x90\xd7\x11\xda\x0b\x7e\x78\x18\xe2\xb1\xef\x8d\x86\x23\x80\x47\xa5\x7f\x34\x1c\xf5\x20\x8c\x38\x5d\xa7\x47\x46\x2e\xf6\x99\x91\xeb\x0c\x21\x8c\x78\x5c\x10\x2b\x2e\x2f\xd7\x85\xc9\xca\xe5\xe5\xba\xdd\x11\x84\xb9\x6c\x81\x09\x1c\x7f\xf1\xcb\xb6\x1c\x62\x5b\x7c\x7a\x05\x2b\xba\x47\x06\x5d\x4e\x21\x1a\xc6\x38\x49\x77\x39\x0e\x94\x44\x56\xcf\xed\x73\x0b\x09\x43\x03\x82\xcb\x23\x56\x3e\x03\x86\xd9\x49\xed\xcd\x55\xf9\x88\xa6\x85\x7e\xd3\x55\xdb\x50\xb9\xea\x3d\x37\xe8\xcb\x72\xe2\xd8\x9a\x8c\xad\xc9\xdd\x1d\x7d\x55\x89\x4f\x26\x63\x7b\x52\xde\xc1\xd8\x4e\x5e\xf9\xe9\x36\x3a\xfc\xf3\x95\x27\x2a\x8d\x74\x2b\x31\x5f\x38\x26\xa9\xe1\x60\x1c\x87\xcf\xb6\xec\xfc\xb4\xdd\x46\x9d\x04\x7c\x30\x42\x39\x28\x9c\xf8\xac\x6d\xdf\xcb\xa2\xef\x65\x9d\x4b\xa6\xf1\x83\x55\xcf\x35\x84\xa6\xaa\xe7\x89\x95\xaa\x17\xf1\x3f\x5e\xf5\x02\xc7\x83\x55\x2f\x81\x3d\x5e\xf5\xe9\x55\x90\x72\xb3\xbf\x61\x1b\x66\xcd\xda\xc1\x4e\x39\xe7\x31\x02\xe4\xa9\x06\x35\xbd\x32\xc0\x9b\x30\x4b\x6b\x30\xd5\xf2\xeb\x40\x4d\x14\x59\xbe\xef\xd3\x9d\xd2\xba\x87\x47\x5f\x76\x1d\xe0\xb4\x6f\x3b\xc3\x56\x8b\xbe\xb4\x07\xd6\x4e\x6d\x25\xc4\xa3\x2f\x6d\x67\xb8\x63\x7b\x6a\x27\x37\xa8\xb9\x63\x79\xf6\x96\x41\x5f\xf9\xbd\x6e\xdf\x69\xb5\x0c\xfa\xd2\xef\xf5\x7a\xc3\xbb\xbb\x91\x65\xd9\xbe\x4f\x31\xe0\x60\x00\x4a\xb0\x47\x56\x0f\xca\xf0\x7b\x8e\x3d\xb2\x5b\x2d\xdb\xe9\xf6\xed\x0d\x91\xda\xeb\x59\x5d\x07\x53\xfb\x7d\xc7\xea\x62\x1c\x0c\x46\x9e\x63\xd0\x73\xfa\x7d\x1e\xd7\xb7\x7a\x16\x8f\xeb\x5b\xbd\x91\x8c\x1b\x3a\x22\xce\xee\x4a\x38\xc7\x95\x70\xdd\xe1\x40\xc4\xf5\x05\x05\x83\x7e\xdf\xb6\x38\x55\x5d\x5b\x66\xb6\x41\x1c\xf2\xdc\x18\x74\x31\xd6\x19\x38\x76\x4f\xec\x2a\x3f\xd0\x72\x6b\xbb\x40\x79\x7c\x00\xd7\x9a\x97\x8e\x9e\xd1\xee\x19\x6b\xe8\x76\xf9\x5a\xa5\x18\x70\xd6\x76\x52\x2c\x56\x9a\xc2\x69\x29\x2d\xd6\x80\x77\x99\xf0\xd1\x63\x30\xbf\x5c\xb4\x91\x99\xe6\x4b\xf9\x48\x74\xdb\xde\x4e\xb7\x7c\x46\x92\x2d\x3f\x93\xcb\x79\xb6\xe7\xdc\xab\x1e\xec\x81\x24\x74\x6e\xb9\xee\x41\x0b\x12\xe3\x60\x4d\x7c\x8b\xc4\x25\xc2\x5a\xad\x0d\xc3\x88\xb7\xaa\x04\x94\x16\x3c\x13\xd3\x34\x5f\x31\x13\x3d\x54\x6d\xe7\x0e\x11\x37\xfc\x94\xd7\x39\xf3\x13\x44\x9a\x29\x48\xe3\x97\x7e\xba\xfd\x08\xda\xcc\x34\x49\x06\x28\xe5\x1d\xfb\x57\x69\xab\x95\xb5\xdb\x44\x3e\x44\x1d\xc6\x97\xfc\xc5\xd6\xfc\xa5\xc2\xfc\x15\xa5\x52\xa5\x4b\xc7\x5b\xca\xaf\x7a\x2b\x50\x3c\xa5\xcd\x1d\x9f\xa9\xae\x2f\xf1\x1d\xe9\x59\xc2\x5e\x70\xa7\xca\x51\x72\xf9\xe2\x1b\x4d\xb3\x30\x89\x75\xa2\x33\x7a\xc3\x5e\x2c\xa3\x20\x84\x0f\xbb\x63\x0f\xf0\xee\xd2\x23\xd9\x67\x01\xa3\xd5\xbc\x8e\x65\x0f\xdb\x96\xdb\x96\x18\xd8\x8c\x2e\xf9\x0b\xd6\xc2\x9d\x82\xae\x7a\xdb\xe8\xf0\x33\x73\xa7\xb7\x4b\x71\x18\x2a\xe9\xfc\x3d\x49\x16\x5f\x82\x14\xe6\x05\x79\x70\x44\xff\xeb\xc7\x8f\xef\xb5\x0d\x5f\xb3\x2d\xeb\x8f\x3a\x49\xa4\x0f\xd0\x64\x79\x9b\x83\xfc\xf7\xff\xeb\xff\x84\x94\x19\xcd\xbe\xb2\x64\xf9\x01\x00\x42\xbe\xf7\x79\x1a\xb2\x08\x00\xfe\xeb\x7f\xd3\xfe\x68\x30\xf8\x30\xb5\xff\xfe\x5f\xff\x1b\x40\x33\x9a\xb1\x37\x74\x99\xf9\x63\xfd\x8a\xd1\x74\xd1\x39\x99\xa6\x49\x14\x1d\x25\x29\x3f\x31\x90\xe9\xa4\x48\xa0\x34\xae\x44\x9e\xd2\x74\x11\xc6\x41\x54\x89\xfe\x7c\x5a\x8f\xd8\x0b\xe2\x98\xce\x78\xf4\x04\x39\x7b\x19\x66\x8c\xa6\x6f\xe3\x90\x19\x1c\x4c\x27\xeb\xae\x76\x9b\xdf\x4b\x8c\x62\xe8\x06\x93\x54\xbd\xd5\x24\xd2\xe1\xb4\x60\xf4\xdd\x9d\xd1\xfc\x86\xbc\xf0\x3e\x51\xfd\x46\x6f\xb6\x3b\x55\x2c\xe2\x08\x6c\xd9\x23\x9f\xd1\x90\xd3\xf4\x1e\xc9\x8a\x7e\x9d\xe4\x81\xf2\x0d\x9c\x90\x9f\xfd\xc6\xfd\xfb\x20\x0e\xe7\x34\x63\x52\xcc\xac\x87\x30\xcc\xed\xd4\xcf\x3a\xc1\x72\xd9\x6a\xe1\x9f\xce\x45\x30\xfd\x7a\x99\x26\xab\x78\x76\x9f\xee\xac\xf1\x3d\xc3\x9d\xbe\xea\xcb\x64\xb9\x5a\xea\xf7\x26\xb1\x4c\xaf\x99\x46\x16\x5c\x64\x3b\x4a\x18\xb7\xdc\xf9\x21\xd7\xe2\xa8\x04\x8c\xcf\x56\xab\x84\x40\xe6\xe1\x91\xdc\x8f\x74\x2a\xbe\xde\xce\xb8\x3b\x63\x66\x7a\x46\xa9\xc1\xf5\x38\x49\x17\x41\xa4\x57\x9b\xdc\xbc\x2f\x5f\x5a\xa9\x57\x44\x64\xc4\x9a\xdc\x9b\x24\x41\x32\xa3\x90\xc6\xec\xa4\x74\x9e\x53\x7d\x26\xf5\x92\x32\xdc\xa9\x0b\xe3\x4b\x0e\x7a\x4c\xa7\xe8\x82\x5b\xc9\xbd\x56\x19\x59\x9b\xbd\x73\x0d\x59\x4a\x48\x7e\xa6\xe1\xe5\x55\xe3\xf5\xeb\xf5\x58\xae\x30\x0f\xa0\x99\x26\x4b\xf1\x92\x2e\x8c\xf1\x64\x2f\x0a\x97\x17\x49\x50\x7a\xd8\x93\x9f\x74\xa0\x1d\x7a\x43\xa7\x7b\xc9\x62\x11\xc4\x33\x43\x87\x7c\xba\xea\x68\x09\x90\x2d\x83\x8c\xd1\x83\x34\x59\xac\x47\x93\x93\x56\xc2\x86\x19\xf5\xda\x61\x6c\xbc\x8a\x25\xe5\x54\x83\xc3\x2c\x3c\x2c\xe2\xbf\x92\x33\x8c\x4f\x77\xa8\xc7\xb6\x8b\xcf\x56\x0b\x5a\x71\x03\x35\x1a\x83\xfa\xdf\xef\xe5\xb8\xf9\x7e\x91\xcc\x6e\x3d\xda\x81\x3f\x24\x9c\x26\xb1\xc7\x0c\xda\x81\x40\xb3\xa7\x5d\x21\x5b\x5e\x84\x8b\xe0\x92\x66\x2f\x00\xb0\x3d\x1a\xe8\xa0\x65\x64\x3e\x64\x45\x81\x28\x8f\x2e\xcf\x92\x29\x1e\x96\xe0\xb1\xa6\x70\xbb\x2d\xc4\x93\x89\x7e\x9f\xe7\xf2\x19\xdd\xcf\x41\x9a\x19\xeb\x05\x2e\xf9\x8e\x38\xbc\xec\x5e\x3e\xd4\x04\xd2\x40\x05\x33\x32\x92\x2a\xcf\x33\x25\xf1\x34\x0a\xa7\x5f\xd5\x93\x10\x82\xaa\x79\x32\x5d\x65\xf9\x13\x4d\x51\x82\x8f\xf5\x92\x18\x18\x5c\xe9\xc5\xf9\x95\x17\xec\x6c\xf2\xe0\x19\xef\x33\x3e\x93\x19\xca\x6f\x7c\xfc\x4a\x0c\xd3\x28\x89\x69\xc3\xed\x7f\xa8\x2d\x07\x36\x0a\x7c\x2a\x36\xb3\x01\x19\x0c\xe6\xa4\x7e\x10\x46\xd0\x52\xc7\xe1\x53\x65\x40\x54\x70\xd1\xbf\xad\x82\xa8\x51\x5b\x54\x70\x4a\xa4\xe2\x54\x8c\xc0\xfa\x10\xda\x07\x0e\xda\x8e\xc5\x54\x19\xfe\xbd\x38\x50\x8b\xd8\xc5\x35\xc7\xa2\x84\x2d\x7d\xa2\x03\xee\xe3\xe4\x7a\x2f\x89\x9a\x4f\x53\xa7\xc9\xb5\x64\xff\x34\x89\x56\x8b\x58\x1e\xa5\x4e\xbe\xd1\x74\x1e\x25\xd7\xfe\xc6\x46\x5a\x20\x51\x8f\xc1\x27\xdf\xea\xef\x30\xfe\x4a\x9c\x0f\x37\x33\x07\x37\x64\x19\x6a\x09\x65\xfc\x66\x23\xf2\x35\xcd\x8e\xd4\x56\xf1\xa1\x66\x5d\x47\xec\xd3\x3c\xd8\x58\xc4\x23\xbd\x01\x8a\xe2\x65\x89\x9e\x20\x0a\xcb\x4b\x93\x3e\x03\x65\x71\x8f\x95\xf7\x78\x37\xe1\x59\x8a\x23\xd5\xc9\xb5\xd2\x4d\x78\xa1\x4a\x84\x2c\x8c\xf7\x9c\x92\x5e\x39\xd7\x61\x62\x3b\x48\x83\xc5\x9a\x56\x67\x42\x4d\xcb\xbd\x7d\xcf\xc2\x6f\xe7\x3e\xc5\x3f\x3c\x62\x95\x46\x79\x4f\xc0\x3b\x1a\x99\x9f\x16\xae\x09\xc2\x39\xe0\x56\x8f\x14\x83\xcd\x1a\x84\x31\x4d\xd5\x48\xf1\x0e\xfd\xde\x15\xa8\x7a\x91\x3c\x90\x2f\x28\x2b\x9d\x5e\xce\x8f\x3a\xab\xcd\x21\xbd\x40\xa1\x03\x23\x7c\x8a\x5a\xf8\x83\x0a\x97\xd3\x76\x18\x87\xac\x9d\x7c\xd5\x3d\xd1\x68\xc5\xbd\x9b\x8c\xc6\x33\xa9\x87\xbe\x8d\xe7\xc9\xb9\x61\x6e\x63\x36\x59\xeb\x76\x18\xcf\x13\x35\x6f\xa5\x06\x9d\x8c\xdd\x46\xe8\xc1\x65\x19\x05\xb7\xbe\x3e\x8f\xe8\x8d\xde\x58\xa3\xce\x32\x49\x99\xdd\x49\x62\x11\x2f\x6f\xb8\x88\xea\xa8\x27\x90\xd5\x7b\x41\x87\x49\x30\x33\xcc\x6d\xa1\x1b\x96\x6a\x50\x72\xe0\x52\x79\xcf\x5f\x9b\xa7\xc9\x42\x43\xd6\x7b\x3a\xe1\x6c\x31\xef\x1f\x64\xa8\xda\xd9\x9a\x01\x81\x96\xfa\xa1\xf1\x5a\xcb\xd1\x6b\xed\x7d\x29\xee\x47\xf8\x51\xbf\xe7\xd3\x9c\x1f\x0f\x4d\xcb\xe9\x4d\xf4\x35\x6c\x1f\xd4\xb3\x70\x06\x5c\x26\x19\x13\x58\x8d\xef\xe8\x26\x27\xef\x15\x3a\x09\xd2\xcb\x6f\xde\xf8\xbb\x40\x0e\xb6\x8b\xb7\xb6\x34\xe7\x5e\x7a\xf5\x5b\xa5\x11\x19\xaf\x87\x9b\x98\xeb\x19\xf8\x18\x9b\x6b\x5d\xb2\x74\x6f\xa8\x33\xc7\x57\xf6\xa7\x53\xba\x64\x87\x41\x7c\xb9\x02\xc5\xc4\xa8\x09\x3f\xb5\xca\xe5\xbe\xac\x93\xf1\xf7\xa0\x9c\xdd\xa3\x64\x9e\xa4\x94\x6b\xf7\x7b\x49\x94\xa4\x5e\x79\xe4\x43\x91\x07\x65\x08\xc3\x24\x85\x45\xb0\x2e\xcf\xeb\x32\x84\x61\x92\xe9\x2a\xcd\x92\x74\x1d\xfc\x5e\x91\x6a\x98\x64\x9e\x70\x3d\xbb\x91\x18\x9e\x24\xa0\x0e\x82\x45\x18\xdd\xae\x81\xe3\x89\x48\x6f\x46\x3f\x1d\x1f\x7a\x82\x87\x9f\x8e\x0f\xf1\x79\xfe\xfb\x49\xf5\xcd\xe2\xa6\x96\xdb\x03\xc5\x69\x0f\x54\x2c\xda\x30\x04\x72\xb5\xaa\x9e\x15\x93\x1a\x4e\xb7\x4a\x01\x92\xcf\x18\xb9\x44\x59\x06\x60\x07\x7d\x48\x66\xb9\x53\xb6\xc6\x44\xf5\x85\xcc\x2a\x58\x7e\x3b\x76\x8f\x13\xf6\x50\xa5\x1e\xeb\x8f\x4a\x57\x6a\x38\xad\xdd\x34\x06\xea\xef\x14\x89\xfc\xda\x94\x43\x68\x61\x86\xd7\x67\x32\xca\xb4\xd5\xb2\x23\x9f\x1f\x6f\x1e\xe0\xf5\xd1\x4b\xf9\xa0\x65\xf7\x8d\xd5\xca\xae\x92\x6b\xb5\x4e\xf9\x52\x00\xc5\xb7\x3d\x73\x4b\x04\xfd\x41\xc9\x09\x6b\x27\x0f\x8d\xe9\xc4\x4b\xef\x0b\x57\xc0\xe2\xd2\x70\xe1\x7d\xe3\x49\x2d\x67\x4a\xd9\x2c\x2f\xe8\x01\x91\x5a\x20\x1e\x5e\xff\x16\x66\xe1\x45\x44\x75\x7e\x66\x4f\x1c\x75\xaf\x58\x97\x46\x3e\xd7\x9a\x24\xf4\xa9\xa1\xa3\x2e\xa8\x93\x41\xcf\x02\x53\x82\x1a\x3a\x57\x06\x75\xd2\x73\x2d\x7c\x28\x32\x15\x1a\x6e\x2a\xd4\x44\x52\x19\x0f\xd2\x3c\x39\x37\x49\xe0\xd7\x26\x62\xe9\x85\x27\xa2\x00\x63\xe8\xb3\xf0\x9b\x6e\x6e\x07\x62\x7e\x9b\x66\xd9\x29\xbd\x61\xbe\xbe\x4c\xb2\x90\x3b\x51\x0a\x2e\xb2\x24\x5a\x31\xba\x2d\xe6\x3e\x4f\x8b\x93\x98\x6e\xc3\x04\xd8\x9e\x85\x29\xb7\x2c\x3d\x8d\xeb\x22\xdb\x2c\x59\x7a\x9a\x6d\xfd\x71\x3b\xa2\x73\xe6\x69\xbd\x3f\x6e\x23\xb1\x9e\x36\xb2\xfe\xb8\xcd\xe9\xf5\x34\xd7\xfa\xe3\xf6\x22\x8c\xdb\xf2\xdb\x81\xef\xe0\xa6\xad\xa6\x5f\x24\x37\xed\xec\x2a\x98\x25\xd7\x9e\x66\x69\x96\xe6\x2c\x6f\x8a\x8b\x89\x0f\xc9\xab\x2d\x7d\xfb\x22\x49\x67\x34\xf5\x9e\x93\x47\xcb\x92\x28\x9c\x6d\xeb\x68\x85\x45\x7e\x59\xa3\xa9\xf2\x8c\x27\xe8\xe6\x76\xd4\x49\xe2\x08\x64\xbd\x32\x89\x97\x26\xb4\xa8\xca\xd7\x9c\x89\xc0\x3f\x64\xa2\xa7\xd9\x92\x47\x7c\xe1\x2e\x02\x4d\x77\x97\xb1\x34\xbc\x58\x31\x6a\xe8\x59\x3a\xd5\xf3\xd9\xc8\xac\x27\xd3\x60\x11\xd1\x2c\xd3\xc9\x86\x65\x92\xa0\x13\x2c\x97\x34\x9e\x71\x71\x11\x99\x85\x2a\x57\x4a\x08\xf8\xf5\x08\xa1\x1f\x72\x55\xf3\x1d\xbd\x45\x9b\x1e\x02\xef\x83\x25\xea\x8b\x32\xae\xe9\xda\x01\x67\xa8\xd4\x16\xbf\x0a\x48\xc1\x24\x55\xe5\xbb\x0a\xe2\x59\xc4\x1d\x82\x8f\x75\x34\x53\x93\x15\xcb\x9f\x7f\x38\x80\x88\x8f\xe5\xbb\x59\x13\x32\xd6\xbf\xd2\xdb\x59\x72\x1d\xe7\x70\xef\xe8\xed\x9b\xe4\x3a\x6e\x00\x5b\xa6\x58\xfd\x02\xee\x08\x22\x1a\x00\x57\x4b\x15\xea\xd3\xb2\x0a\xc2\xe8\x0d\x7b\x1b\x2f\x15\xe2\x4e\x65\x4c\x09\x74\x92\x57\xf9\x7d\xb0\xf4\xb9\x71\x53\xe1\x9e\xaa\xd0\x40\xce\x30\xbe\xcc\xaa\x90\xaf\x45\xbc\x0a\x1b\x44\xec\xa7\xf4\x7d\x32\xc3\xe5\xac\x58\x3e\x92\x81\x97\xd9\xdf\xc6\x19\x4d\xd9\x51\x90\x31\xea\x6f\x88\x23\xf8\x57\xc9\x82\xbe\xa3\xb7\x19\x5f\x91\xcd\xdd\x74\x2d\x83\xcb\xa6\xe8\x29\x4b\xa3\xa3\x68\x95\xbd\x0f\xe3\x55\xf6\x57\x9a\x26\x7f\x4d\x92\x45\x8e\x0b\x52\xf7\xf6\x92\xe5\x6d\x09\xfe\xb3\x28\x50\x44\x05\x4b\xee\x8c\x30\x44\x16\x2e\x83\x59\x53\x0a\x9f\xdf\xf3\x14\x50\x20\xb2\x65\x30\xa5\x27\x34\x9e\x65\xaf\xe5\x57\x51\xcc\x55\x90\x06\x53\x46\xd3\xfd\x78\x9a\x00\x47\x7c\x7d\xc5\xe6\x6d\x37\xd7\xaf\x59\x80\x39\xf7\xb3\x69\xb0\x2c\xea\xbe\x0c\xb2\xec\x3d\x65\xc1\xe7\x3c\x26\x88\x18\x02\x7e\xb9\x0a\x98\xaf\x53\x04\xd7\xf3\xa4\xb7\x08\x5d\xd0\x1b\xb1\x9c\x14\x9e\x54\xa7\x2c\x88\x98\xec\x4e\x74\x26\xaf\x94\x2c\xe8\x2c\x0c\x80\xbb\xbb\x29\x3d\x80\xbf\x05\xdb\x53\xfa\x2d\x4c\x56\xd9\xae\x42\x47\x61\xe1\xa8\x3d\x64\x77\xca\xed\xa7\xef\x7b\xbb\x1f\xf6\xf6\xb9\xae\xa2\xba\x47\xe3\xd1\xba\x49\xc4\xe3\x5e\x35\x00\x11\xaf\x9b\xe4\x68\xf7\xe4\xa4\x96\x0c\x91\xba\x49\x4e\x4e\x8f\xdf\x1e\xd5\x12\x31\x56\x37\x4b\x34\x29\x36\x70\x5c\xbb\x0b\x23\x4c\x52\xde\x28\xbe\xdf\xdc\x68\x3b\x25\xb1\xd0\xf9\xc6\x94\x53\xfc\x06\x35\x3d\xba\xa6\x3c\xbc\xcc\x16\x45\x8d\x92\x86\x5f\x7b\x6b\x94\x2f\xe6\x77\xf9\xf0\x7f\x35\x45\x44\x57\xf0\xe2\x82\x6f\xf1\x3c\x3d\xf3\xad\x6d\xf6\xb2\x2c\x9e\xe4\xee\x1c\x93\x57\x09\x84\x77\x82\x1c\x60\xcc\x26\xdb\x74\x87\xd6\xdf\xb4\x49\xc7\xd6\x84\xa4\x63\x7b\x22\xee\x67\x56\x49\x12\x3a\xdc\xba\x4c\xf7\xcd\x12\x94\xde\xaf\x61\xd9\x2a\x5e\xcb\x34\x21\x9d\x1b\x2b\xbf\x06\x9b\x2a\xe5\xca\x5e\xae\xd0\x9a\x6c\xb5\x84\xb1\x2d\x2e\xb9\xe9\x66\xf9\xc5\xd9\xbc\xc5\x93\xf8\xf3\x29\x0c\x07\x96\x26\x5f\x15\x33\x37\x07\x30\xd7\x13\x90\xcb\xec\x86\x45\xe0\xa6\xeb\x04\xb4\x73\x7d\x15\x4e\xaf\xcc\x0e\x4b\x0e\x93\x6b\xe9\xe3\x19\x5f\xcf\xa4\x28\xb5\xde\xd1\xdb\x56\x6b\x83\xa2\xec\x78\x47\x6f\xef\xee\xf4\xa9\x8e\x6f\x3a\xe8\xdf\xe0\xaf\x78\x2d\x88\x0f\xef\x56\x4b\xbf\x48\x93\xeb\x8c\xa6\xed\xaf\xf4\x56\xf6\x6f\x55\x96\xb4\x5a\xe8\xfa\x4d\xee\x56\xca\xce\xd1\x4c\xd9\x57\x7a\x8b\x40\xdb\x94\x8b\x6d\x2c\xde\x48\xfd\xb4\x4c\xac\x49\x52\x75\xfb\xd3\x32\xb7\x6c\xc7\x95\xfe\xff\x65\xc2\x2b\xbf\xeb\xb4\x5a\x46\xaa\x16\xbe\x9d\x8a\x0e\xde\xcc\x78\xa3\x89\xaa\x14\x5d\x56\x82\x78\xa2\xb1\x74\xa0\x2a\x3c\x43\x25\xcb\xa3\x34\x59\x06\x97\x7c\xb1\xd9\x5c\xd7\xe5\x44\x5e\xbe\xb1\xb5\xbb\x5c\x7e\x48\xe2\x3d\x96\x46\x27\x50\x43\x81\xb0\xdc\x78\x95\x0d\xa1\xd2\x27\xdf\x6f\xaa\x45\x89\xcd\x9c\x56\xcb\x50\x1a\x51\xe5\x62\xbd\x0a\xeb\xbb\x54\xae\x56\xd4\x55\x97\x8a\x54\x7f\xa8\x57\x7e\x5a\x96\xf3\xdb\x2e\x74\x04\xd1\xc4\xd2\x6c\x2b\xe3\xab\x47\xb5\xfe\x61\xd8\x2f\x5f\x52\x7c\x1e\x0b\x10\xb5\x6d\xd3\x24\xce\xb0\x84\x29\x9f\x3f\x1e\x63\x32\x1e\x3b\x58\x4f\x30\xaa\x48\xeb\xbc\x5f\x27\xe6\xf7\xd0\x4f\xc4\x46\x43\x3a\x4e\x26\xf2\xe5\x40\x09\x53\xdc\x79\x8e\x5b\x2d\x23\xf6\x63\xe1\xc9\x55\xea\x3a\x64\x4c\x49\x3a\x31\xc1\x0c\xf1\xfd\xa0\xd5\x92\x3b\x67\x1b\x7e\x82\xf0\xcc\x90\x31\x00\x73\xff\x43\xdc\xba\xab\xf2\xea\xd7\xb0\x4a\x75\xcc\xc5\xab\x00\x7f\xde\xd0\x79\x36\xce\x31\x72\x1f\x9d\xf2\xf2\x18\xaa\xad\xdc\x9f\x08\x89\xfd\xc6\x59\xbb\xc3\x67\x67\x12\xac\x49\x16\x73\x33\x89\xd6\xa4\xc3\xe4\x4c\xae\xd6\x24\xe2\xe4\x4c\xa6\x7e\x3e\x04\xc8\xca\xdf\x28\xab\x30\x30\x28\x38\xcb\xc8\xd2\x2f\x27\xed\xc8\x14\x18\x2c\x42\xf8\x79\x79\x88\xcc\xfc\x8d\x17\xbf\x9c\x8d\xcf\xae\xb7\xce\x26\xf2\x79\xee\x14\xf9\x10\x2c\x4d\xe9\x61\xbf\xac\x87\x8a\xe5\x55\x20\xa6\x1d\x44\x4c\xf7\x66\xad\xd6\xb4\xd5\x5a\xb5\x5a\x06\xba\x85\x5d\xf9\x1b\xb6\xb9\x7d\x91\xd2\xe0\x2b\x5f\x51\x4d\xc1\x86\xcb\x41\x9d\x8a\xac\x92\x93\x5c\x65\x84\xac\x43\x06\x56\x64\x8e\xcb\x7e\x3e\x2e\x34\xf0\xe7\xdb\x73\x9f\x19\xd3\x1d\x5d\x1c\xa2\xd2\xbd\xd5\x8e\x8e\x48\x97\x3b\x3a\xb0\x46\xcf\xb7\x80\x79\x87\xb9\xf4\x61\xea\x08\xb2\xaf\x27\x42\xf4\xa8\x62\x88\x2c\xfc\xef\xa2\xe7\x78\x79\x1f\x22\x98\xea\x29\x50\xc0\x30\x6f\x4a\x82\x88\x79\x2b\x02\x85\x78\xcb\x7b\x72\xeb\x97\x0c\x02\x5c\x3b\xe3\x61\x63\x81\xd3\xd7\x6d\xab\x65\x5c\xfa\x53\x7f\xe5\x2f\xf1\x56\x5b\xb1\xa9\x5d\x1f\xa3\xc6\xdc\xbf\xed\x04\x18\x67\xb6\x5a\xc6\xdc\x9f\x77\xa6\x41\x14\x09\xa7\x5b\x2a\xa7\xc8\xc2\x34\x4d\xb2\x7a\xca\x44\x37\xc7\x71\x6d\xcc\xfd\xc8\x24\xf3\x0d\xdf\x8f\xe0\x63\xc3\xf7\x83\xbb\xbb\xe9\xdd\xdd\xea\xee\x6e\xc9\xcb\xf2\xfd\xab\x56\xcb\x58\xf9\xc8\xea\x46\xda\xd2\x0e\x27\x5d\xd2\xa6\xbc\x82\x50\x11\x26\xbc\x4c\xc7\xf7\x65\x57\xcc\x0f\x0e\x21\x1a\x11\x27\xce\xed\x5c\xee\xd8\x9e\x45\x6c\xf3\xc9\x33\x1a\x56\x23\x36\xcd\x70\x8e\x64\x07\x77\x77\xb5\xe7\x79\xe6\xdc\xef\x83\xec\x1e\xbe\x1f\xee\x40\xbd\x3c\xec\x24\xf0\xb5\xc2\x2f\xec\x2a\xbe\x1f\xb6\x5a\x06\xb4\x8e\x49\xf4\x3f\x8c\x75\xdf\x9f\x4b\xd2\x2c\xe2\x40\x65\x57\xc8\xaa\x4b\xe1\x80\xe1\x62\x7b\xe3\x12\x19\x37\xdd\xd9\x58\xdd\xdd\x5d\x42\xe0\x12\xc7\xcf\xc6\x74\xe7\xc2\xd7\xb7\x7b\xba\xb7\x31\xc5\x84\x15\x24\x4c\x5b\xad\x8d\x15\x26\x0c\x74\x6f\xc5\xbf\x2f\xf1\x7b\xa8\x7b\x3c\xe3\xb4\xd5\x32\x20\xc2\xd5\x4d\x0f\xfe\xf6\x75\xfc\xd3\xe5\x7f\x1c\x9d\xcc\xfd\x2e\x90\xc5\xb9\xb8\xa3\xff\x61\x6c\xeb\x5b\x17\x5b\x39\x9d\x0e\xb1\x4d\x4f\xa1\x7a\x9e\x1f\xff\x34\x55\x30\x25\xfa\x5e\x1e\xcd\x9c\xfb\xb2\x7f\xac\x6b\x17\x02\xd4\x9d\xd7\x92\x21\xa9\xac\xef\x98\xaf\xfc\x41\xaf\xd5\x3a\x7f\xe9\x8f\xfa\x88\xb1\x49\x71\x39\x6f\x0f\x7a\xb2\xef\xba\xed\x8b\x90\x35\xf7\x5a\xbb\xa8\x2e\xe7\xfa\x39\x0c\x86\xaa\x76\xb5\xbd\xa6\x0c\xf3\xde\x00\xfc\xc2\x5e\x6c\x28\xe0\xee\x6e\x29\xa6\x9d\x8a\x2d\xca\xfb\xb6\xfe\x07\x7d\x6b\x2e\x94\xf8\x35\x4a\xd9\x5c\x3c\xaf\x2d\x97\x0b\xb9\xf7\xad\xb7\xf1\xb7\x20\x0a\x67\x5a\x20\xd6\xd0\xf4\xad\x8a\xb3\x90\xb9\xd9\x98\xef\x43\xa2\xcd\xe8\x3c\x8c\x71\x85\x0e\xfd\x53\x4a\x81\x84\x2e\x2a\xa5\x06\x5a\xd2\x13\xe4\x62\x43\xdd\x87\x82\x48\xe0\xaf\xb3\x35\xe4\x58\xff\xb2\xd9\x0f\x60\x08\x66\x33\x11\x5b\xf5\x18\x23\x5e\x33\x80\xe9\x37\x2c\x8b\xc9\xf3\xca\x5c\x1d\xe6\xee\xd3\xb8\xef\xed\x50\xf5\xbd\x0d\xe9\xe3\x6c\x02\x19\x84\x1b\x6b\xee\x8c\xe3\x5d\xfe\x6d\x50\xd3\xfc\x9e\xfa\x00\xc5\xa7\x9a\xfb\x74\x27\x15\x82\xd4\x67\x9e\x91\xa2\x7c\x17\xc0\x1e\x25\xa2\x75\xd8\x3d\x09\x85\xc7\x81\x26\xc2\xe4\xcb\x0f\x24\xec\x64\x49\xaa\x1c\x6f\xc2\xca\x89\xc5\xe8\xf2\x94\x2f\xe9\x03\xf8\xbd\x64\xb1\x0c\x52\x61\x3f\x88\x04\xc2\x94\x0f\xf3\x5e\x3a\xff\x69\x2a\xdd\x1f\xa7\x93\xe6\xf6\x6e\xe4\x7d\x7d\x81\xbf\x26\x13\x73\x2b\x87\x2f\x5a\x1d\x05\x69\x46\xd3\xed\xb4\x93\x52\x7c\xd1\x96\x4f\x94\x21\xfa\xcd\x0c\xfd\x94\xbf\x68\xf6\x8e\xde\x9e\xd0\xbf\xad\x68\x3c\xa5\x0d\x9e\x17\x4b\x7b\x99\xc2\x0f\x2e\x7a\xb6\x49\x3b\x61\x96\x7b\x1d\x32\x9b\xc9\x01\x1e\x8a\xb2\x99\xc9\xbd\x75\x2a\xa5\xee\x8a\xfe\xf8\xc4\x32\xef\xcb\x25\xf2\x95\x0b\xa5\x67\x1a\xf5\x25\x3d\xd9\x77\x42\x93\x30\xd3\x2b\x63\x4c\x0b\xaf\x9c\xd2\x21\x63\x3c\xd3\x92\xb9\x96\x09\x66\xa0\xef\x9c\xea\x50\xfe\x91\xbc\x35\x42\xf9\xd3\xbd\x4f\x6d\xf6\xac\xf9\x84\xb2\xf2\xfe\x65\x01\x6b\x30\x42\xc7\xec\xf1\x4e\x55\xa8\x30\xeb\xde\x58\x5c\x37\x8c\x73\xdf\x50\x1a\x7a\x60\xad\x3c\xda\xdd\xe0\xd7\x81\x8d\x53\x3e\xfe\x9b\x06\x37\x18\x3e\x30\xb2\x73\x5f\xf7\x0a\xee\x07\x97\xba\x85\xe2\x5d\x5a\xee\x16\x8b\xb8\x75\xd3\x51\xaa\x9c\xca\xaa\x37\x18\x13\xbe\x3c\x04\xc1\x7b\xa8\x59\x5d\xee\x03\xbb\xa3\xd4\x20\xef\x30\x5f\x65\x18\x16\x2f\xc0\x08\xb4\xad\x56\x59\xee\x17\x2f\xc1\xa8\xf2\xde\x2c\x91\x82\xaf\x41\x3d\xb1\xfc\x35\xfd\x01\x97\xc6\xaa\x1e\x81\x70\x55\x4c\xf6\x11\x9e\xdd\xc8\x61\xf8\xfd\x0c\xf2\x9d\xcf\xf9\x5e\x29\xde\x9e\x10\xae\x08\x96\xa3\x9d\x09\x11\xfa\x56\x39\xbe\x3b\x41\x9d\xb9\x14\xd7\x9b\x70\x0d\xba\x14\xd9\x9f\xdc\x3f\xc2\x67\x6c\x8c\xb5\x5b\x84\xca\xc1\xf0\x06\xfb\x17\x97\xf9\x50\x63\x9d\x92\x31\x03\x3d\xd5\xa3\xf7\xd5\x87\xa4\x44\x17\xcb\x4b\x08\x49\x52\xec\x3b\x1a\xa1\xb2\x72\x11\x4a\x6b\x0e\x82\xd2\x42\x0b\x8b\xe5\xa9\x8d\xa9\x62\xcd\x54\x17\xd2\x77\x98\x97\x12\xc0\x7d\x5f\x50\x90\x3e\x85\x02\x05\xe9\x9a\x35\xf8\x9d\xd4\x63\x55\xd4\xe1\x03\xa8\xf9\xa4\x5b\xd4\x0c\xf2\x6f\xe7\xa7\xeb\x55\x93\xc9\xdf\xb0\x08\x35\xb2\x2a\xf2\xec\x69\x9c\xe3\x2c\x6a\xa2\x2e\xfe\x6d\x59\xdf\x54\x44\xa0\x4c\x20\xcd\x6b\x7c\x25\xd5\x12\x54\xd4\x22\x73\xa4\x64\xce\xa9\x53\x49\x66\xfc\xc9\x36\x8c\x53\x0a\xc5\xe7\x70\xaa\xf9\x52\x12\xe6\x91\x4a\x63\xd6\x76\x20\x76\x28\xa0\x23\xa1\xe9\xd9\x83\x81\xb4\xa3\x92\x19\xbd\xbb\xb3\x07\xc3\xca\xb7\xab\x7c\xef\x3c\xb4\xbe\xe1\xad\x5f\xbd\xb8\xbf\xaf\x48\x3f\xd4\x06\xa6\x7c\xd5\x64\xf5\xf0\xaa\xc9\xf2\x91\x55\x93\xd9\x43\xab\x26\xf3\x87\x56\x4d\xb6\xcb\xe2\x29\x33\xc6\x16\xd1\xc7\x9f\x3e\xbc\xfb\xf0\xf1\xcb\x87\x89\x4e\x66\xfc\x7f\x78\x65\x9c\xe8\xe3\xfd\x93\xbd\x89\x4e\xf4\x3f\xe8\x64\x09\xff\xc3\x3b\xcd\x0e\xd1\xc7\x07\xf6\x44\x27\xb1\xa1\xff\xe1\xe3\x11\x24\x8f\x8f\x74\x93\x2c\x21\xe0\x74\xff\xa1\x0b\xb8\x2e\xc0\x39\x12\xee\xcf\x08\xf7\xe7\x1c\xae\x97\xc3\xf5\x00\xae\x2b\xe1\x8e\x11\xee\x38\x87\xeb\xe7\x70\x7d\x80\xeb\x49\xb8\x13\x84\x3b\xc9\xe1\x06\x39\xdc\x00\xe0\xfa\x48\xf6\xd8\xc6\xec\x08\xe0\xe6\x00\x50\xb1\x83\x81\x00\x18\xe6\x00\xa3\x1c\xc0\x05\x80\xa1\x00\x70\x25\x40\xd7\xce\x01\x46\x00\xe0\x0a\x80\x51\x0e\xe0\x48\x00\x07\x98\x7a\x30\xe2\x00\x8e\x95\x03\xe4\xcc\x71\x6c\x64\xa2\x25\x20\xec\x1c\x22\x67\x8b\xc3\xd9\x6c\x0b\x88\xae\x84\xe8\x15\x85\x20\x83\x6d\x47\x40\xf4\x72\x88\xbc\x94\x91\x43\xf4\xff\x82\xd1\xa1\x11\x18\xfa\xbf\xe8\x26\x09\x0c\xfd\x17\xdd\x04\xa6\xcd\xd0\x7b\x07\xd1\xed\x0d\x00\x88\x0c\x9d\xaf\x0e\x7e\x58\x2d\xce\x75\x93\x7f\xef\x46\x4c\xfd\x7c\x4f\x59\xc0\xbf\x27\x64\xdc\xb7\x88\xee\xfc\xcb\x8f\x65\xb5\x89\xde\xfd\xa7\x1f\xcb\xea\x10\xbd\xf7\xcf\x3f\x96\xb5\x4b\xf4\xfe\x1f\x7f\x2c\x6b\x8f\xe8\x83\x5f\x7e\x2c\x6b\x9f\xe8\xc3\xd6\x8f\x65\x1d\x10\xdd\xfd\xd3\x8f\x65\x1d\x12\x7d\x64\xfc\x50\xd6\x9e\x4b\x74\xcb\xcc\xb3\x96\xb6\xc2\xd7\x21\xa8\x02\xa1\x1b\x8c\x11\xd1\xdb\xe7\xeb\xf1\xac\x89\xc7\xac\x43\xa2\xfb\x5b\x3f\x94\x75\xd8\xfd\xd1\x52\x07\xf6\x8f\x17\x6a\x13\x7d\xeb\x4f\x3f\x92\x15\x04\xcd\xeb\x77\x27\x47\x13\x9d\xa4\x86\xfe\x1f\x3a\xd1\xcf\x2e\x74\x13\xc2\x67\x17\x3a\xd1\xff\x03\x33\xc3\x50\x06\x81\x73\xba\xfb\x7a\xa2\x93\xd0\xd0\xcf\x18\x8e\xf8\xbf\xea\x26\x99\x93\x19\xa6\xbb\x36\xd1\xff\xf6\x67\x20\x21\x30\xf4\x3f\xe7\xd9\x80\x93\xd7\x5f\x44\xf4\x97\x3c\x7a\x30\x22\x3a\xdd\x17\xd1\xfb\x05\xb4\x43\xf4\xf4\x58\x44\x1f\x17\xd1\x3d\xa2\xb3\x53\x11\x7d\x5a\x44\x8f\x88\x7e\xfb\x6f\x22\xfa\xdf\x8a\xe8\x3e\xd1\x57\x9f\x44\xf4\xa7\x3c\x1a\x1a\x26\x7c\x2b\xa2\xdf\x16\xd1\x23\xa2\x27\x1f\x45\xf4\xc7\x02\x89\x45\xf4\xe5\x91\x88\x3e\xca\xa3\x1d\x14\xbc\xdf\x45\xfc\xb8\x88\x07\x71\x3a\xb9\x17\xf1\x13\x25\xde\x22\xfa\xd9\xd9\x9d\x48\x38\x3b\x2b\x52\x40\x40\xef\xed\x1e\x9d\xe4\x53\x1e\xf2\xa5\x4f\xf4\x60\x57\x40\xef\x16\xd4\x74\x89\x9e\x9d\x88\xe8\x93\x82\x8b\x2e\xd1\x67\x6f\x44\xf4\x9b\xa2\x4a\x16\xd1\xe7\x07\x22\xfa\xa0\x88\xb6\x89\x7e\xf9\x93\x88\xfe\xa9\x88\x76\x88\x7e\xf5\xb3\x88\xfe\xb9\x88\xee\x11\xfd\xdf\xff\x35\x97\xdc\xff\xaa\x9b\x64\x96\xa7\xf5\x89\xfe\xf5\x5d\x9e\xf6\x4e\x8e\xc2\xbd\x88\x06\xe9\x39\x17\xee\x08\x37\x20\x7a\x74\x98\xc3\x1d\xaa\x38\x6c\x77\x40\xf4\x6d\x0f\x12\xe7\x39\xb3\x1c\xa2\x6f\x9e\xe9\x6a\x1c\xce\xe1\xfb\x1f\x4e\xf7\x8f\x61\x92\x39\x4b\x75\xb2\x22\x2b\x9e\x02\xb3\xec\xc9\xcf\x6f\x0f\x4e\x4b\x1c\x1c\x59\x44\xff\xfb\x5f\x45\x75\xfe\x5a\x70\xd0\x25\xfa\xcd\x5f\x44\xf4\x5f\x0a\x0e\x0e\x89\x3e\xdd\x2b\x89\xa9\x3d\x65\xc0\x80\x5c\xda\x13\x03\x65\x40\xf4\x6f\x9f\x4b\x90\x9f\x2b\x90\x9f\xc5\x38\x1e\x10\xfd\xe2\x75\x5e\xeb\xd7\xb2\xd6\xa1\xb1\x24\x33\x00\x18\xba\x44\x8f\x3f\x94\x65\x63\x05\xd5\x07\x8e\x6a\x38\x24\xfa\xe2\xbd\xa0\xfa\xbd\x5e\xf0\xce\x25\x3a\x79\x09\xf1\x99\x31\x57\x78\x0a\x95\xef\xbc\x6a\x88\xb7\x89\xfe\x62\x27\x27\xe9\x9c\x4f\xc3\x3b\x45\x4b\xa1\x46\xb2\x77\x7a\x7c\x58\x52\xc0\x50\x0d\xd9\x3d\x3c\x2d\x45\x02\xae\xf1\xe1\xee\x51\x19\xb4\xeb\x10\x5d\x13\x84\xfe\x4b\x21\x34\x40\x85\x38\xae\xc2\x8e\xa0\x4d\x8f\xdf\xef\x7f\xf8\x54\x8a\xee\x01\xf0\xd1\xf1\xe9\xc9\xde\x71\x99\x8a\x1e\xe8\x5d\x27\x7b\xc7\x87\xef\xca\xf1\x30\x14\x5f\x1f\xef\xef\x96\xa3\x11\xfa\xed\x87\x93\xfd\x63\xa0\x1b\x39\xfa\x8e\xde\xf2\x63\x59\x9c\xcb\x9c\xb6\x2e\xf4\x9f\x9f\x3f\xbe\xdf\x57\xa0\x7e\x4e\x16\xb4\x04\x03\x94\x1e\xfd\xf4\xe9\x48\x81\x39\x0a\x2e\xe9\xa7\xa5\x0a\xd5\x03\x4c\x6f\xf6\x0f\x15\xa0\x37\x34\x2a\xe1\xe9\x63\x2f\x7e\xa3\x40\xec\xc7\xb3\x12\x44\x0f\x4b\x7a\xc3\x75\x60\xb5\x2c\xdc\x2b\x56\x21\xa1\x51\x4a\x14\xed\xa6\x69\x72\x5d\x21\x09\xa4\x4b\x05\x19\x82\xd5\xb0\x01\x13\x8f\xdf\xfe\xf4\x33\x30\x8b\x19\xfa\x1f\xc6\x7b\x20\xda\x3f\xee\xa9\x30\xd0\x39\x0e\xf7\x0f\x72\x90\x37\x08\xf2\x46\x01\xb1\x7b\x40\xff\x87\x4f\xef\x0f\x3f\xee\x95\x9b\x63\x04\xcc\x79\x77\x04\x7a\xe6\x32\x07\x1f\x0d\x31\xd2\x2e\x47\xba\x18\xe9\x94\x23\x47\x18\xd9\x2d\x45\xda\x96\x85\xb1\xbd\x4a\xac\x8d\xb1\xfd\x4a\xac\x83\xb1\x83\x4a\x6c\x17\x63\x87\x95\xd8\x1e\xc6\xba\x95\xd8\x3e\xc6\x8e\x2a\xb1\xbc\x0e\x5b\x93\x1f\x9a\xb1\x2d\x5e\xaf\xf6\x0f\xe6\xe6\x4c\xfd\x53\x99\x22\x9b\xd7\xff\x45\x25\x96\xf3\xaa\x53\x8e\x05\x21\x35\x7e\xbd\x8b\x8d\x75\x65\x94\xed\xa8\x9a\x21\x35\x40\x7b\xe5\xcb\x9b\x02\x36\xb7\xa5\x6a\xc6\x14\xcc\x49\xe3\xe3\xfd\xc3\x8f\xbb\x0a\x78\x6e\x52\xd5\x6c\x2a\x17\x4d\x08\x3e\xe4\x05\x70\x6e\x57\xd5\x0c\x2b\x50\x0f\xc6\x5f\xde\x7e\x38\x41\x60\x61\x5c\x99\x15\xeb\xca\xc1\x89\xe1\xf5\xf1\xdb\xd3\x76\x0e\x36\x2c\xc0\x46\x39\xd8\x50\x80\x6d\xe5\x60\x6e\x0e\x26\x2c\xad\x47\x96\xae\x54\xc9\xb2\xf6\x3a\x5a\xbe\x1e\x50\x3d\x1e\xaa\x6e\x57\xaf\x31\xf1\xf1\xd4\x20\x50\xfd\x0f\xfd\x09\x94\xa0\xf4\x6a\xa0\x63\xa3\x4c\x47\xf9\x34\xea\x2f\x0a\x11\x78\x2c\x81\x9f\x4a\xc8\x57\x63\xd4\x93\x3d\x15\x44\xf5\x25\x30\xfd\x0f\xe3\x9f\x75\x4f\xff\xc3\xc7\x9f\x75\xcf\x28\x03\xe7\x5b\x6e\x19\x16\x0b\xb4\x1a\xd5\xc5\xdc\xf2\x1a\xc4\x53\x98\x0f\x52\xf4\x57\xd7\xf8\xdd\xaf\xac\xf2\x01\x56\xf9\xe0\xb1\x2a\xf3\x37\xa7\x7e\x6d\x8d\xc5\xf4\xf3\x78\xa5\xcb\xa7\x8b\xd5\x4a\xeb\x7f\x18\xf7\xff\xf1\x18\xb5\xbc\x9c\xdf\x80\x60\x98\x0a\x1f\x1f\x1c\x0f\x9c\xf3\xad\x1c\x20\xad\x9e\x23\xd9\x90\x6d\xb8\xa3\xff\xe1\x3f\xa0\x25\xc6\xdd\x27\x8d\x96\x7c\x6e\xfd\x95\xac\x1c\x3c\x89\x95\xb8\xf1\xf1\xeb\x99\x29\xa7\xfa\xc7\x69\xae\xf5\xd4\x92\xb8\x79\x98\xe0\xc3\x30\x7e\x42\xdb\x7b\xe5\x43\x7f\xca\xf0\xa9\x1d\x6e\x7a\xda\x38\xda\xc5\x71\xb4\xfb\x94\xc6\x2b\x74\x99\xdf\x9f\x13\x4f\x69\xba\xdf\x9c\x17\xaf\x91\x17\xaf\x1f\xe5\x05\x37\xb9\xfc\xc6\x7d\xec\x35\x35\xbb\x0e\x97\x74\x8f\x5f\xc9\xcc\x1e\xa9\xd7\xa3\xa5\x8b\x65\x9d\xea\xf3\xdc\xc5\xfe\xc7\xf3\xd7\xe8\xe5\xd5\xae\x3a\xe1\xcb\x20\xcb\x44\x89\x17\x34\xc5\x91\x2f\x99\x6e\x36\x6e\xdd\xab\xd3\x68\x7e\x6e\xae\xe1\xc8\x8b\x38\x3d\x67\xcb\x6b\xc5\xba\xad\xf3\x83\x6d\x4e\x7e\xd1\x38\x45\xb3\x86\xc7\x76\xd5\xd8\xb1\x8c\xed\xa9\xb1\x60\xe8\xf3\xe8\xbe\x1a\x3d\x91\xb1\x03\x35\xf6\x17\x19\x3b\x54\x63\xcf\x65\xac\x9b\x93\xf5\x1f\x82\xac\x51\x1e\x33\xd2\xef\x1f\x6b\x23\xb1\x52\xf6\xac\x2e\x02\x9c\xe6\xf9\xaa\x8c\x7e\x48\x51\x79\x70\xc7\xe0\x31\x32\xe5\x12\xe0\xb3\xe9\x14\x19\xff\xd3\x08\xe5\x6b\x04\x8d\xc7\x62\xd6\x50\x79\x49\xd9\x1b\x71\xdb\xcf\x30\xe1\x2b\x77\xf5\x22\x4e\xc3\xf3\x83\x0e\x51\x14\x2c\x33\x3a\x2b\x9e\xb3\xc8\x31\xe5\x77\x7e\x1a\xfb\xfc\x9a\x52\xf1\x14\x50\x5e\xd2\xee\x9c\xd1\x94\xa3\x50\xbc\xec\xa4\x9d\xa9\x28\xf6\x34\xd9\x8f\x67\xfc\x3a\x40\x6a\x92\xbe\xb5\x4e\x2e\xe0\x50\xca\xaf\x9a\x36\x51\xf8\x9f\x46\xe0\x3a\xb4\x6b\x7c\xe9\x3c\x26\xea\xc4\x88\xfa\x5f\x1e\x17\xb9\xb8\x5e\xd3\xdc\x4f\xd5\x89\x45\x3e\xa1\xb9\xa4\xb1\x91\x3b\xa3\x91\x27\xa6\x3b\x57\x29\x9d\x13\x5d\x27\x3a\x3f\x59\xef\xc7\x09\xe1\x97\x93\x6f\x69\x46\x84\x2b\x17\x08\xf2\x79\xe8\x22\x48\x33\xfc\x5c\x84\x71\xb8\x08\xff\x1e\x5c\x44\x3c\x99\xbb\x3e\xd1\xb7\x44\x61\x61\x1c\x53\xee\xb7\x6d\x4b\x27\xc2\x03\x4a\x39\x91\x3b\x2a\x7a\x6c\x3a\xd3\xff\xb7\x27\xb1\xe1\x73\x33\x1b\x94\x4e\x5a\x55\xde\x8a\xcb\x6a\xaa\x9e\xdd\x6a\x35\xf4\x27\x0e\xb6\xb3\x7e\xe8\xe3\xa9\xa0\x1f\xdc\x1b\xf5\xf4\xff\xfd\xd1\x1a\xf2\x85\xb8\xff\x31\x1b\x3a\x59\xb1\xf5\x0d\x8d\x89\x4f\x6b\xe8\x5f\x2d\xb3\x7f\x85\x28\xdc\xae\xf1\xf2\xee\x2e\xad\xc8\x47\x55\x32\xee\x54\xe7\x6e\xa5\x11\xf8\xb1\xd6\xb5\x8a\xf8\x53\x64\x8d\xea\xdd\xa5\x4a\x45\x49\x0a\x19\xe6\xfd\x23\x12\xf2\x51\x55\x9e\x2f\x17\x3f\xda\xb5\x1e\xe8\xbf\x55\x0b\x45\xdc\xb2\xfc\xdd\xa6\xbd\xf2\x32\x54\x83\xef\x81\x86\x39\xab\x76\x8b\x55\x31\x9d\xe4\x19\x30\xbd\x7d\xae\xfb\xbe\x6c\xd9\x1d\xfd\xff\xd0\xd7\xd0\xc9\x7b\x2c\xcc\x3d\xf6\xc6\x03\xdd\x0b\x8a\x39\x08\xa6\x2c\x49\x0d\xf3\x09\x5a\xa1\xe8\xad\x0d\x4a\x21\x94\xa4\x5b\xba\xef\xa7\xe6\x3a\x13\x41\x71\x7d\x61\x29\xde\x03\xc2\x07\xc8\x2b\x7c\x65\x6c\xeb\x6d\x40\x7e\x77\x27\xd6\x01\x15\x26\x84\x6d\xdf\xf6\xc2\x2d\xf9\x8e\xd8\xc3\x25\x87\xb9\xaf\xcd\xe7\x68\xf2\xe2\x60\x5e\x93\x7f\xae\x68\x36\x0d\xd2\xd9\x5e\xb2\x2a\xde\x67\x13\x07\x51\x8a\xfb\x3d\xcd\xd8\x3a\x8b\x64\x16\xce\x43\x9a\x66\xf9\xe5\xc3\xe2\x70\x0d\xc7\x3f\x66\x13\x9f\x8e\xd9\xe4\xee\x6e\xc3\x26\xfa\x9f\xc4\x39\xee\x31\x9b\x88\x89\xa2\x54\xfc\xd6\x56\xcd\x17\xc8\x83\xa5\xfa\x63\x1d\xbb\x17\x08\x5b\x96\x46\x3a\xc1\xab\x01\x84\x5f\x09\x98\xac\xc9\xad\x9c\xeb\x5d\x37\x1e\x4b\x44\xbd\x64\xe5\xef\x9d\xb6\xed\x55\x40\x5e\x55\x41\x6c\xcf\x5a\x47\xbc\xe2\xea\x2b\x60\xd3\xab\x75\xef\x97\x0a\xbe\x6f\x14\x4d\x50\xb8\x74\x16\x5e\x28\xad\xed\x07\xcf\x2f\x3f\xd0\x36\xa1\x7c\x33\x2b\xc4\x43\xa6\xad\x16\x1d\x87\x93\xed\xb4\xd5\x32\xd8\xdd\x9d\xfe\x27\x9d\x8f\xb7\x71\x38\x31\x79\x2b\x8d\xc3\x09\xbf\x4b\x96\xe2\xed\x1d\xb5\x8d\x48\xfa\xc4\x8a\x8a\xc3\xa0\x6b\x57\x86\x38\x37\x0c\x4a\xa0\x84\x27\xa3\x6c\xea\xd6\xcd\x58\x2d\xc4\xfa\x51\x78\xc8\xaa\x0f\x83\x34\x58\x06\xe8\x7c\xc2\xdf\x40\x55\xa5\x88\x90\x67\x48\xbf\xd1\x34\xa3\x5f\x14\xb8\x0d\x5c\xd2\xad\x25\x08\x2f\x05\x69\x78\x19\xc6\xe8\x33\x40\x00\x16\x31\xe2\x1a\xfb\x8a\x25\x7b\x41\x9a\x86\xc1\x25\x3d\x46\x9a\x25\x64\x3d\x25\x7f\xdf\x3f\x4b\xd2\xcf\xdc\x7f\x89\x04\x2e\x45\xaa\x70\xaf\xa3\x30\xfe\x5a\x86\xc2\x28\x22\xef\x22\xd3\x94\xa9\xf4\x15\x31\xa5\x1a\x7f\x0e\x67\x34\xa9\x54\x16\xe3\x84\x1b\x81\x34\x98\x7e\xa5\x8c\xce\x84\x47\x02\x0e\x57\x8e\x7d\xf2\x49\x5f\x7e\x9e\xbd\xfe\xe0\x34\x7a\x86\xf4\x75\xe1\x35\x60\x99\x64\xf9\xcb\x92\x57\xf9\x45\x7e\x9e\x57\xbd\x32\x8f\x2f\xd9\x37\xf4\x0c\xc5\x35\x0e\x66\xd2\x10\x52\x0b\x98\x74\x4b\xb2\x4c\x32\xfe\x6e\x29\xbf\xad\x51\xc3\x5c\x1c\x53\x6f\xf0\xaa\x97\x93\xe8\x2b\xb4\x8b\xe3\xba\x8d\xd8\x2a\x07\x62\x0b\x37\x8e\xa2\xda\xb4\xa8\x35\xbb\xbb\x2b\x2a\x4e\xd5\xd9\xab\x11\x73\xf5\xf8\xbf\x4a\x2d\x7f\xe7\x3e\xbf\x33\x87\x5c\xdc\x2e\x1d\x3e\xcf\x11\x86\x33\x1a\x33\x21\x4b\xa4\x54\x79\x47\x6f\x33\x93\x8e\x1f\x85\x19\xb3\xc9\xc4\x97\x6e\xe8\x65\x3d\x5e\xd6\x39\xb3\x2d\xeb\xfc\x35\x5c\x72\xcf\xe9\xa5\x5b\xa2\x58\x93\xd3\xe4\x2b\x15\x26\xb4\x1e\xc6\x8c\x5e\xe2\x73\xc0\x29\x7a\x14\x36\x73\x39\xe9\xa7\x1d\x7c\x2a\x3c\x7f\x42\x50\x2f\x68\x2b\xc0\xc5\xc4\x2d\x60\x3b\x2c\xf9\xb4\x5c\xaa\x37\xd6\xc3\x27\x71\xa0\xd5\x7a\x14\xa4\x73\x15\x64\x1f\xaf\xe3\xa3\x34\x59\xd2\x94\xdd\x1a\xa1\x29\xcf\xeb\x3e\xce\xbb\x10\x0f\xd6\xd3\x71\x36\x69\xb5\x50\x2c\x43\x50\xf8\x77\x42\xb6\x88\x5b\x0a\xc5\x09\x74\x99\x1d\x3a\xaf\xa8\x9b\xb9\x0d\xb9\xfc\x0d\xeb\xbe\xf0\xe4\xbf\xbe\x76\x82\x89\xeb\x6a\x26\x93\x1b\x6a\xd5\x40\x97\xf4\x8a\xf7\x95\xde\x96\x09\xca\xdb\xea\xc1\x42\xc6\xe1\xe4\x3e\x27\x5a\xcf\x6e\x17\x17\x49\xa4\x6f\xc8\x16\xac\x17\x97\x5f\xd6\x10\x9d\x43\x4b\x52\x4d\x69\x7b\xde\x71\xfe\x84\x18\x38\x21\x4d\x14\xcb\x77\xdd\x35\x5e\x5e\x89\x6e\x39\x3c\xe2\xa7\x0d\x0f\x6c\xe7\xe0\x09\xed\x1c\x4f\xb6\xe9\x38\x98\xdc\xdd\x19\xf0\xc7\xd7\xff\xa4\x9b\xf7\xf9\xba\xa8\x32\x22\x88\xde\x16\x73\x73\x67\x7a\x65\xf2\x0b\xb9\xe1\xdc\xe0\xee\x76\x0b\x45\xa1\x89\x33\x2c\x0d\xd4\xdb\x69\x01\x58\x44\x1a\x0b\xd2\x4b\xca\xa0\x79\xa4\x13\xb0\x60\xf6\x2d\x88\xa7\xd4\xb0\x71\x5d\x16\x10\xfb\x0f\x22\x7e\x1f\x66\x59\x18\x5f\x96\x31\x49\x3d\xea\x41\x99\xc4\xc5\x7e\x5d\xd4\x57\xc6\x3f\x5d\x33\xfe\xf3\x9b\x48\x94\xf7\x86\x5c\x77\xe3\x63\xbf\x36\xec\x05\x18\xf7\x30\x81\x30\x6b\xdb\x90\xdf\x2c\x5b\x37\x02\x44\x6a\x75\x00\x08\xa4\x8a\x09\xb2\x3e\xef\x58\x00\x4f\xb6\x1f\x1c\x32\xca\x05\x44\x89\xfd\xfe\x81\x4e\xcf\x39\x52\xed\xf3\xcd\x6d\x40\xe9\xd7\xb5\x2e\x4e\x37\x0b\x5f\x32\x77\x77\x9b\xfa\x66\xfe\xb5\x16\xd5\xdb\xbc\xbc\x75\xd3\xe1\xf4\x4a\xbe\xbd\x3d\x0e\xda\x7f\x3f\x9f\xbc\x08\xd7\x13\xf6\x96\x0f\xde\x27\xa0\xb2\xda\xa3\xc9\x8b\x07\x66\x3e\xec\x2f\x25\xff\x8d\x38\xfe\xf3\x0a\xe5\x93\x20\xf7\x37\x2e\x04\x0c\x41\x56\x7b\xb2\xd2\xdb\x6a\xe1\xc5\xf0\x20\x34\x1f\xa0\x65\x16\xe4\x56\xa8\xc0\xaa\x34\x86\x8a\x19\x09\x54\x73\xdd\x6f\xab\xf8\xc4\x83\xe9\x15\x5c\xa2\xd3\xd7\xf0\x48\xe8\x32\x0e\xc1\xc8\x1a\x41\x62\xe6\xac\x53\x23\xe1\xef\x1b\xfb\x65\x2e\x18\x19\xb0\x75\x5d\xcf\x2a\x57\xab\xc2\xfc\x8d\x66\x7e\x3d\x24\xc9\x55\xf1\x5d\x52\xb0\xa0\x20\x79\xfd\x0f\x7b\x95\xd5\x1e\x9d\x4f\xb6\x5e\x5c\xae\xeb\x5a\x4a\x15\x1b\x7a\xbd\x55\x74\x0b\xe9\xcb\xa2\x51\x4f\x69\xdb\xad\x96\x7e\xa3\x97\x95\x3b\xa1\x87\xe5\xba\xa3\x4d\x6c\x73\x47\x16\x68\x34\xd0\x6b\xdd\x40\xe7\x0d\xda\x73\x4e\xb0\xe9\x3d\x04\x7c\x36\xdb\x7a\x71\x69\x3e\x50\xab\xfa\x50\xe6\xfd\x1a\xf4\x65\x59\x29\xe8\x19\x9b\xfa\x26\xf7\xb6\xb3\x89\xde\x76\xea\x6c\xe7\x88\x34\xd9\xd2\xf5\x49\x41\xb9\x0e\x08\x4a\xf4\x31\xbd\xdc\xbf\x59\x1a\xfa\xf8\xec\xec\xec\x4c\xdf\x42\xd7\xd8\x44\xbf\x94\xf9\xd6\x6a\x7a\x78\xbb\x34\x0a\x32\xf6\x36\x9e\xd1\x1b\x5f\x02\x93\x8d\x14\x1d\xd4\x1b\x4a\xa6\x66\xb5\x42\x2c\x8c\x28\x62\x2f\x0a\x19\x4d\xd1\x55\x04\x48\xf8\xad\x86\xe6\xc1\xdb\x93\xb2\x24\xa5\xf8\xb6\x2d\x9d\xbc\x89\x6a\xaa\x69\x32\x03\x00\x71\xf6\xdd\xdd\xe9\x67\x67\xca\x2c\x0c\x32\x05\xf9\x59\x4d\xc8\x4d\xf9\xe9\x95\xef\x33\x73\xad\x18\xe1\xce\x85\xb6\x64\x3e\x52\x65\xb9\x7a\xc5\xb4\xc8\xb6\xa5\xcc\x8b\xfc\xd6\xbb\xd1\x34\x3b\x3c\xc8\xaa\xf5\x3d\x4a\xf8\x74\xab\x9b\x0b\x9b\xfa\xa6\xb7\xa9\x6f\x12\x7d\x53\xf7\xf4\x4d\x9d\x40\x95\x3d\xf8\x21\x81\xa7\xff\xaf\x3a\xb9\xf0\xf0\x1c\x39\xf5\xf4\x3f\xe8\x64\xee\xe9\x67\x73\x9d\xc4\x9e\x7e\x16\xeb\x24\xf5\xf0\x38\x2f\xf3\xf0\x34\xf9\x37\x4f\x3f\xfb\xa6\x93\x1b\xaf\x56\xc6\xfa\xe1\x3d\xf9\xee\xdc\xc3\x70\xd9\x7e\x60\x87\x39\x1f\x48\x94\xd8\x03\x18\x34\xab\xe7\x95\xd0\x7b\x76\x09\x28\x74\x37\x64\x53\xcb\x05\x95\xaa\x7e\x20\x7b\xc5\x43\x6a\x32\x77\x75\x90\x7b\x15\x9f\x5e\x71\x15\x88\xf9\x74\x2c\x22\x26\xeb\x66\xa3\x86\xbb\x92\xac\xd5\x32\x98\xcf\x0a\xef\x23\xa6\x49\xd8\xfa\x26\x6f\x5a\x49\xe1\x9e\xbb\x2e\xa3\xe4\x22\x88\x1a\xe8\x06\x69\x9a\xc6\x41\xc4\xed\x67\x4f\x3b\x59\x06\xb1\xb6\xe4\x78\x32\x6d\xb1\xca\x98\x76\x41\x35\x9e\x5d\x07\xad\xbf\x3e\xe4\x65\x05\xeb\xe3\x9e\x6f\x3a\xde\xdd\x51\x75\x34\x8e\xad\x89\x90\x22\x1b\x39\x8a\x87\xa6\x0f\xd4\x14\xb4\x79\x92\x72\x63\x7e\xbb\x6a\xa2\xab\xc8\xed\xea\xc8\x23\x50\x5c\x23\xc3\x04\x4c\x7d\x15\x09\x84\x7f\xee\xa4\xff\xea\xa1\x39\x62\x9d\xc9\x9e\xeb\xbf\xd5\x86\x78\x71\x96\x09\xd7\x40\x79\x57\x12\xd7\xb9\x5f\x9c\x65\x5b\x2f\x2e\x17\xdb\x6c\x1d\x7f\x53\x95\x10\x54\x11\x38\xbb\x53\x53\x7a\x7f\xc2\xb5\x85\x22\xbb\xf9\xc4\x1a\x10\xda\x6a\xb5\xed\x7c\xe2\xec\x84\x90\xf9\xe3\xdc\x68\x94\xda\x79\xa3\x24\x31\xd5\x92\x39\x34\xc8\x96\x4e\xb4\x79\xb2\x8a\x67\x6a\x9f\xbf\x57\xf8\xa2\x28\xcf\xfe\xf7\xe6\xf8\x92\x25\xe5\x7f\xc7\x0b\x02\x9e\x5c\x16\xde\x3b\x3d\x3e\xf4\xc4\xda\xf0\xde\xc7\x0f\xa7\xc7\x1f\xf3\xcf\xdd\xc3\x53\xee\x49\x86\xbc\xdf\x3f\xdd\x15\x6e\x64\xd6\x14\x21\x0d\x52\xff\xfb\xfe\xc9\xde\xee\xd1\xbe\xe7\x0c\xc9\xfe\xc9\x1e\xfc\x39\xb0\x3d\xdb\x76\xc8\x81\xe3\xd9\x76\x97\x1c\x74\x3d\xdb\xee\x91\x83\x9e\x67\xdb\x7d\x72\xd0\xf7\x6c\x7b\x40\x0e\x06\x9e\x6d\x0f\xc9\xc1\xd0\xb3\x6d\x97\x1c\xb8\x9e\x6d\x8f\xc8\xc1\xc8\xb3\x1d\x8b\x1c\xd8\x96\x67\x3b\x36\x39\xb0\x6d\xcf\x76\x1c\x72\x60\x3b\x9e\xed\x74\xc9\xc7\x0f\xfb\x5e\x6f\x44\x4e\xbf\x7c\xf4\xfa\x16\x39\xfd\xf9\x78\x7f\xdf\xeb\xdb\xe4\xe0\xe3\xa7\x63\xaf\xef\x90\x83\xb7\x9f\xf7\xbd\x7e\x97\x9c\xbc\xfd\x8b\xd7\xef\x91\x93\xfd\xcf\xfb\x1f\xbc\x7e\x9f\xec\xbf\xfd\xe9\xe7\x53\xaf\x3f\x20\x1f\xde\x7e\xd8\xf7\xfa\x43\xf2\xd7\xfd\xe3\x8f\x5e\xcf\x25\xaf\x77\xf7\xde\x9d\x1c\xed\xee\xed\x7b\x2e\x79\xfd\xee\xe4\x08\xfe\x9c\x78\x2e\x39\xdd\x7d\xed\x8d\xc8\x9f\x3d\xd7\x26\x5f\x3c\x77\x48\xf6\xbd\xc1\x88\x1c\x7b\xae\x43\x4e\x3d\xb7\x47\xfe\xcd\x73\x47\xe4\x93\xe7\xf6\xc9\x5b\x6f\xd8\x25\x1f\xbd\xe1\x88\x1c\x79\xae\x45\xf6\x76\x8f\x4e\xce\x0f\x3f\xee\xbd\xf3\x1c\xfe\xa1\x86\xe1\xef\xae\x37\xe8\x93\x13\xcf\xed\x92\x37\xde\xc0\x25\x07\xde\xd0\x22\x3f\x79\x43\x9b\xfc\xec\x0d\x1d\xf2\xaf\xde\xb0\x47\xde\x79\xc3\x3e\x39\xf4\x86\x03\x82\xf7\x3d\x3c\xbb\x0b\x01\xf8\x73\xbc\x7f\xfa\xe9\xf8\x83\x08\xc1\x9f\xbf\x7a\x23\x8b\xfc\xc5\x73\x5d\xb2\xe7\x0d\x86\xe4\xb3\xe7\x0e\xc8\x6b\x6f\x30\x20\x1f\xbc\xa1\x4b\xde\x7b\xc3\x21\xe1\xb5\xeb\x3a\xe4\xe4\x08\x7e\x8f\x8e\xdf\x7e\x38\x3d\x3f\xd9\x3b\xde\xdf\xff\xe0\xf5\xe0\xfb\xf4\x64\x0f\x02\x27\x7b\xc7\x1f\x0f\x0f\x39\xed\x76\xaf\x4f\xf0\x9e\x01\x86\xf0\x6a\x81\x67\x8f\xc8\xeb\x63\xfc\xc3\xef\x14\x78\xbd\x3e\x84\xe0\xcf\xcf\x1f\xdf\xef\x7b\xdd\x01\x39\xda\xfd\x69\xff\xfc\xd3\x91\xd7\xed\x92\xa3\x9f\xf8\xdf\x37\xfb\x87\xfb\xa7\xfb\x5e\x6f\x00\x21\xf8\xb3\xff\xe1\x8d\xd7\xed\x73\xd0\x37\x1f\xbf\x7c\xf0\xba\x3d\xc2\x8f\xfb\x8b\x10\xfe\x85\xcc\x2e\xc1\xd8\x9e\x45\xf0\x58\xbe\xd7\x1d\x91\xc3\xfd\x83\x53\xaf\x3b\x24\xe2\x7c\xbd\x67\xf7\x7a\xe4\xdd\x91\xe5\x8d\x06\xe4\xdd\x91\xed\x8d\x86\xe4\xdd\x91\xe3\x8d\x5c\xf2\xee\xa8\xeb\x8d\x46\xe4\xdd\x51\xcf\xb3\x2d\x8b\xbc\x3b\xea\x7b\xb6\x65\x93\x77\x47\x03\xcf\xb6\x1c\xf2\xee\x68\xe8\xd9\x56\x97\xbc\x3b\x72\x3d\xdb\x02\x1c\x23\xcf\xb6\xfa\xe4\xdd\xd1\xf9\xd1\xe1\xa7\x13\xcf\xb6\x00\xd3\xf9\xee\x9b\x37\x32\xf8\xfe\xed\x07\x8c\x07\x9c\xe7\x27\x9f\x5e\x9f\x1e\xef\xee\x9d\xe6\xdf\xa7\xbb\xc7\x9e\x6d\x0d\x10\xf0\xd3\xe1\xe9\xdb\xa3\xc3\x7f\x93\xdf\x6f\xde\x7e\x7e\xfb\x66\xdf\xb3\x6d\x1b\xbf\xf6\xf7\xde\xbe\xdf\x3d\xf4\x6c\xdb\xc2\xc2\xf6\x8f\xdf\x7e\x7c\x83\x5f\x1f\x76\x3f\xbf\xfd\x69\xf7\x74\xff\x1c\x7a\xa4\x67\x43\x13\xca\x98\x83\x8f\xc7\x5f\x76\x8f\xdf\x78\xf6\x60\x48\xf8\x81\x72\xcf\x86\xae\xf3\xe9\xf0\x50\x36\xa4\xed\x76\xc9\x97\xb7\x1f\xde\x7c\xfc\x72\xfe\xf1\xf3\xfe\xf1\xe7\xb7\xfb\x5f\x3c\xdb\x75\xc8\x6b\x64\xdd\x87\xfd\x93\x13\x68\x17\xc7\x1e\xa8\x31\xc8\x5e\xc7\x1e\xae\x19\xdc\xc2\x28\xcf\x9d\xbe\x3e\x78\x4d\x5a\x3a\x7e\x7d\xf8\xb2\xf4\x03\xbb\xaf\x78\x5f\x5a\x3d\x71\xeb\x35\x3e\x21\xf5\x8c\x33\xb9\xf7\xa4\x7c\xea\xf4\x31\x84\x4f\x38\xde\x28\x51\x9e\x26\xa7\xc9\x83\x04\x3e\x7e\xc4\xb9\x40\xf5\x3a\x61\x2c\x59\xfc\x5a\x6c\x7c\x63\x5f\x1c\x9d\x98\x7e\x6d\x46\xf7\x9c\x13\x8f\xb5\x07\x59\x48\xf9\xc1\x3f\xe8\x34\x29\x9d\xd3\x94\xc6\x53\xfa\x3e\x88\x83\x92\xfd\x08\x73\x73\x3d\x5d\xf1\xf8\x56\x7d\x57\x8e\xe8\x2f\xf8\xa3\x56\xcb\x34\x99\x87\x11\xcd\x5e\xa0\x62\xc2\x67\xf2\x86\xa2\x64\xf6\x22\x21\xdb\xfe\x78\xf1\xef\x74\x8a\x9b\xc7\x99\xc1\xcc\xfa\xf6\x9e\xd4\x46\x70\xbd\x8f\x16\x39\x0d\x4a\xd8\x98\xe2\xd3\xae\xb5\x7d\xd6\xa6\x3a\x30\x7a\x99\xa4\x21\x95\x53\xef\x03\x10\x39\x83\x7d\x5d\x86\xf4\xc7\xb2\xec\x2e\x97\x34\x48\x51\x8f\xd2\x8b\xf0\xa3\xd9\xf6\x92\xe5\x2d\xdf\x6a\xd2\xf3\xe0\xa3\x99\x4e\x40\xc9\xc8\x7c\x9d\xff\x7d\x1c\x1c\xfb\x17\xba\xbc\xce\x83\x8f\x66\x2a\xdc\x64\xcb\xd0\xa3\x59\xde\x87\xd9\x94\x46\x51\x10\xd3\x64\x95\xf9\x7a\xe9\xf3\xc1\xcc\xb7\x6f\xf2\xa5\xdc\xcc\x1f\x7f\x0f\x67\xde\x93\x99\x4d\x18\xbd\x61\x9e\xc2\x71\xcd\x98\x27\x31\xcb\x88\x36\x4d\xa2\x24\xcd\x88\xc6\x9f\x5b\x33\xf5\x7b\xf2\x04\xc4\x79\x1b\x08\xbc\xf0\xad\xb5\x34\xde\x2c\x4f\xc2\x20\xb9\x25\x10\xe4\xcc\x7b\x52\x66\xd9\xdb\x44\xe6\xbc\xf3\x3d\x29\x73\xde\xb6\x22\x77\xd1\xd6\x4f\xcb\x8e\x9d\x49\xe6\xe5\x3d\xeb\x49\x19\x4b\xed\x2c\xf2\x43\x5c\x47\xbf\x9f\x34\xb6\x7a\x5d\x06\xf8\xdf\x41\x77\x6d\x5f\xa6\xed\x45\x32\xa3\xba\x37\x7e\x2a\x9f\xd0\x93\xdb\x18\x7f\x85\x2b\xfb\xc2\x89\x28\x29\x1c\x7b\x12\xc5\x61\xe8\x84\xe8\xfc\x68\x94\x16\xc4\xda\x6e\xc4\x7e\x4a\xb5\x19\x65\x54\x38\x48\x09\xa6\x5f\x7f\xf9\x72\x45\x57\x69\x98\xb1\x70\xda\x39\x8b\xcf\xe2\x4d\x40\xbf\xe9\x69\xbb\x2b\x96\x70\x48\xed\x22\xc8\x50\xf3\xd7\xe2\xe0\x5b\x78\x19\xb0\x24\xed\x44\xe2\x01\x1c\xef\x2c\xd6\xf0\xdf\x26\x8d\xdb\xab\x6c\x53\xf3\x5f\x69\x9b\x40\xda\x26\xd1\x70\xed\x03\xbe\x73\x6a\x36\x01\x3d\x24\x7a\xda\x9b\x30\x0b\x2e\x22\xaa\x05\xf1\xad\x20\x2b\xa5\x11\x2e\x74\x2c\x56\xf1\x25\xd8\xed\x67\xf1\xa6\xac\x1c\x90\x93\x65\xab\x05\xd5\xf6\x58\x1a\x6d\xed\x46\x4c\x5b\xd0\x20\xce\x78\x4e\x80\x94\x75\x2f\x20\x21\x46\x6b\x80\x2c\x88\xc9\x41\x31\xaa\x01\x16\x98\x07\x0d\x95\x3b\xfa\x69\x87\x59\x1b\x4c\x8d\x22\xe6\x19\x8d\xb7\x61\x13\xfd\x22\x49\x22\x9d\xe8\x6f\xe7\x5a\x46\x19\xd1\x56\xf1\x2c\xa1\x99\xc6\xae\xa8\xc6\xbd\xee\x6a\x1f\x4f\xa0\xf4\x76\x7e\x9d\xa6\xfd\xea\xcd\xfe\xa1\x96\xd2\x45\xb0\x24\x5a\x96\x68\xec\x2a\x60\x5a\x89\x26\x0d\xec\x36\x3a\xd3\xc2\xac\x1c\xdf\x91\xd4\x0b\x9a\x7f\x8c\xd2\x13\xca\xb4\xeb\x2b\xca\xae\x68\x8a\x64\x06\x11\x93\xbb\x1b\x99\x16\x64\x5a\xa0\x01\x6e\x8c\x4a\x52\x1e\x31\x83\xbe\x14\x4f\x99\x84\xcd\x09\xc9\x68\x3c\xcb\xda\xd7\x57\x01\x7b\x06\x2d\xf9\x93\x03\xe3\x3c\x24\xbc\x56\x92\x92\xe7\xd5\x09\xd1\xf7\xb8\xef\xab\x4c\xbb\x42\xe3\xb5\x20\x36\xcc\x34\xee\x6f\x7e\x86\x3d\x5c\x13\x6b\x35\x1d\xfe\x4f\x3b\xa1\xf1\x0c\x46\xc7\xfe\xc9\x9e\xb6\x4c\xe9\x3c\xbc\xe9\x00\x10\x96\xd2\x91\x40\xbb\xb3\x99\x66\x3b\xae\xc6\x12\x44\xbd\x8a\xd1\x48\xa5\x33\x2d\x77\xda\x0f\xb5\x0f\x63\xed\x06\xcf\x48\x00\x02\x85\xbc\x4e\x47\xfb\x12\x84\x0c\xfd\x4a\x42\x76\xf9\xc2\x86\x86\xbe\x56\xb5\x20\x9e\x69\x19\xa5\x1a\xf0\x06\xd3\x45\x56\x4d\x8e\xae\xe2\x5f\x16\xdc\x66\x1d\x4d\x33\x4e\xaf\xc2\x4c\xbb\x4e\xe2\x4d\xa6\x5d\x27\xe9\x57\xed\x9a\x46\x11\x0c\xd1\x65\x14\xb0\x79\x92\x2e\x32\x68\xb6\x94\x22\xb6\x3a\x16\x89\x7f\x49\x53\x0e\x8c\xfb\x8b\x20\xa6\xc4\xbe\x15\x52\x9a\x25\x0b\xce\x44\xe9\x38\x2f\xeb\x98\xd8\x98\xab\x59\x78\x11\xd1\xf6\x05\x8d\xa2\x76\x06\xb2\xf3\xf1\x06\x15\xf2\x16\xd4\xb3\xb6\x7c\x2d\xd4\xe3\xca\x14\xa0\x4b\x5e\x00\x32\x9d\xe8\x2b\x3c\x09\xf6\xe9\xf8\x50\x4b\xe6\x48\xbc\x3c\x46\xa7\x01\x80\x86\xa5\x75\x34\x6d\x7f\xb1\x64\xb7\x72\x4d\x14\x68\x8d\x13\x4d\x90\x85\x80\xd8\xe9\xc4\x0b\xa1\xed\x58\x79\xfb\x13\x89\x7e\x32\xb9\xc5\x48\xd8\x7c\x3b\xd7\x58\xba\xa2\xa4\x4c\x50\xc6\xfd\xcb\x51\xad\x78\xd1\x4b\xbb\x0e\xa3\x48\xe3\x8f\x43\x68\x81\xf6\x85\x5e\x94\x1e\x1f\xed\x68\x57\x8c\x2d\x33\xef\xc5\x8b\xeb\xeb\xeb\xce\x75\xb7\x93\xa4\x97\x2f\x4e\x8f\x5f\xa8\x44\x66\x2f\xa0\x9f\xbe\xe1\xef\xda\x40\x0d\x4b\x89\x5a\x4a\xff\xb6\x0a\x53\x9a\x41\xf3\x2d\xc2\x2c\xc3\xf6\x4a\x93\x05\xef\x99\x60\x22\x69\x5f\xae\x28\x5f\x29\xd3\xf8\xdb\x4c\x30\x06\x32\xca\xb0\xfb\x62\x2d\x90\xf5\x9c\xd4\x80\x31\xba\x58\x62\x5a\x90\x7d\xcd\x91\x20\x5b\x95\x12\xc2\xb9\x16\xd3\x29\xcd\xb2\x20\xbd\xed\x40\x95\xf2\x6e\x9a\x69\x8b\xe0\x96\xbf\x4a\x75\x25\xd6\x8d\xd4\x8c\x40\x2e\xcd\x18\x20\x08\x99\x36\x0b\x67\x08\xca\x0f\x54\x01\x8f\x90\xf4\x80\x97\xc9\x7b\x1f\x0e\x53\x21\x11\xe9\x0d\xa3\x71\x86\xf5\xbe\x0e\xd9\x15\x92\xa7\x97\xf8\xa1\xab\x85\x5d\x05\xdf\xa8\xfa\xcd\x12\x4d\xbc\x0f\x54\x66\x62\x67\x73\x42\xf4\xa2\xd1\xda\xa8\x3f\x3d\xde\x2f\x14\x55\x4c\x4f\x2f\x2f\x0c\x7b\x40\x34\xfe\x9f\x09\x93\x31\x22\x21\xfa\x69\xb9\x43\x60\x34\x1f\xfb\xf4\x86\xf1\x6a\xc4\x89\x96\xa0\x54\xe5\x89\x81\x7c\x7c\x28\xc3\x9e\xab\x10\x86\x0a\xdd\xf3\x08\xd3\x49\xbe\xd9\xa8\xef\x9d\x9c\x68\x7c\xc7\x5c\x8c\x27\x85\x2e\x44\xbd\x66\x30\xf1\x34\x68\x87\x83\x24\xd5\xe8\x4d\xb0\x58\x46\x7c\xb6\x5f\xa5\x91\x21\xbb\xf0\x65\x92\x74\x2e\xa3\x17\x41\x4c\x67\xa7\xef\x4c\x48\x8d\xc2\x98\x06\x69\xfb\x32\x0d\x66\x21\x8d\x99\xc1\x92\xa5\x76\x81\xc6\x23\xd1\x2e\x22\xe8\x79\x29\x9d\x99\x95\x3a\x66\xe1\xdf\x7f\xcf\x2a\x6a\x80\xbf\xa3\x69\xc2\xa7\x75\x06\x9d\x02\xd4\x90\x2a\xab\xe5\x03\x5d\xbf\x27\x29\xb2\x8c\x46\xd6\xda\xd6\x1f\xe1\x3f\x08\x4e\x69\xcc\x68\x2a\x09\xe4\xba\x00\x9f\x40\x7f\xbd\xee\x21\xe4\x98\x20\x8f\x6b\x11\xd9\x55\xb2\x8a\x60\x16\x8a\x67\xda\xeb\x13\xcd\xd8\x3c\x3b\xbb\xb1\xdc\x4d\xa2\x05\x5f\x03\xed\x97\x9f\xcd\x8e\xa6\x7d\x84\xfe\x7a\x1d\x66\xb4\x92\x15\xa6\x58\x35\x3b\x64\x1d\xce\x37\x91\xbb\xf9\xec\xd8\x5e\x04\xcb\x76\xf2\x8d\xa6\x69\x38\xa3\xd9\xb3\x38\xcc\xf5\x5d\x64\xab\x4e\x36\x71\xe2\x03\x69\xb6\xa4\xd3\x70\x1e\xd2\x19\x6a\x1d\xb1\x96\x70\xbb\x5a\x7b\xcb\x50\x15\xd2\x32\xdc\x18\xd1\x82\x34\x0d\x6e\x89\x98\x0c\x69\x30\xbd\xd2\x96\x62\x57\x07\xc0\xa0\x22\xc5\x04\x0e\x02\x72\x9a\xcc\x28\xce\xc7\x90\x24\x8e\x9a\x28\xf8\xb9\x02\x56\x2b\x40\x0b\x59\x46\xa3\x79\x47\x7b\x1b\x73\x88\x72\xe9\x8d\xe5\xa6\x74\x4a\xc3\x6f\x65\x0d\xa2\x5a\x2e\x7c\x08\xf1\xa5\x02\x36\x76\x9e\xef\xba\xa5\x7b\xdf\xf5\x2d\xdc\xd2\x5b\x39\xf6\xc8\xd1\x89\x4e\xf2\x2f\x4b\x27\x7a\x3b\xff\xb2\x75\xa2\x77\xf2\xaf\xae\x4e\x34\xc8\x8d\x9f\x7d\xd7\xd5\xef\xef\x41\x3c\xe2\xcd\x97\x76\x12\xb7\xe9\x4d\xf8\x04\x9d\xad\x6c\x19\x6d\x58\x79\x97\xfb\x22\x14\x48\x94\x2c\x38\xcf\x20\x66\xac\x1d\xbf\x04\x03\xed\xc3\xe7\xd1\x29\x7f\xdf\x5c\x83\x22\xb9\x2c\xe4\x87\x5f\xdb\x17\x51\x18\x7f\x7d\x56\xbf\x51\x3a\x7d\x9d\x02\x44\xc7\x4b\x44\xfc\xda\xc5\xad\x54\x81\x6a\xa5\xb6\xa7\xb7\xd3\xe8\x79\x02\x6a\x6c\xd3\x2e\xe9\x5b\xd6\x24\xef\xb8\x38\x29\xc8\xb2\xb0\xf0\x14\x26\xbf\x30\xd6\x16\x61\x14\x85\x19\x9d\x26\xf1\x2c\xc3\x96\xdd\xd5\xd8\x75\xa2\x51\xfe\x66\x91\xec\x43\x40\xea\x3c\x4c\x33\x06\xa2\x05\x9f\xea\x41\xbd\x36\xb9\xd6\xa2\x24\xbe\x54\x6b\x22\xc6\xe2\x05\xd5\x92\x98\x68\x1c\x71\x09\x36\x64\x2a\xcc\x7c\xae\x56\xf8\xc7\xe6\xc1\xc0\x70\xfa\x7d\xa2\x59\xfc\xff\x9d\x7e\x75\x32\xe4\x93\x9c\x90\x89\xe2\x09\x47\x41\x2e\x2f\x1c\xd2\xdb\xcb\x20\xa2\x8c\xd1\xdf\x42\x4c\xe8\x1f\x05\x0e\xb1\x30\x22\xd5\x34\xa9\xe5\x8a\xa2\x90\xdd\x28\x51\xa6\x41\x0c\xdc\xa8\x4a\x15\x3e\xba\x61\x82\x2e\x24\x8c\x06\xe6\x5b\xa3\xf4\x01\xce\x82\x6c\x40\xb3\x72\x86\xdd\x8c\x3e\x55\x14\x05\x5a\xbc\x5a\xd0\x34\x9c\xa2\x41\x77\xa3\x85\xb1\x30\x35\x38\xef\x54\x82\x3f\x43\x1d\xd7\x90\x1c\x2d\x92\x8c\xa1\x55\x3d\xcd\x32\x91\x97\x9f\x92\xd5\x34\x2e\x3a\xe3\x69\xb4\x9a\xd1\x4c\xfb\xa7\xe3\x9f\x5e\x13\xed\x9f\x8e\x8f\x7f\xfa\xe9\xf5\x6b\xa2\x81\x36\xd3\xe9\x74\x4c\x0c\x05\x22\x18\xa0\x65\x74\x2b\xf0\xc4\xc1\x02\xad\x55\x30\x41\x53\xb0\x0c\xb2\x44\x5b\x06\x29\x93\x0d\x9b\xb1\x64\xfa\x55\xfb\x8b\x6d\x03\x8a\x0e\xbb\x61\xda\x3c\x8c\x38\xc9\xff\x96\xac\x90\xde\x55\x46\x35\xbe\xc2\x00\xdc\xe1\xa4\xdf\x72\x94\x6a\xf3\x70\x01\x58\x74\x52\x18\xb4\x17\xfc\x0d\xd4\x4b\x3a\xcb\xab\x92\x01\xbe\xf9\x2a\xe2\xd6\xca\xd7\x70\xb9\x04\x0d\x26\xd0\xb2\x45\x10\x45\xc0\xcf\x0b\x8a\xbd\x2e\x8c\x67\xe1\x94\x66\x85\x94\xc9\x05\x6c\x63\x7b\x8b\x2e\xb9\xbc\x05\xd9\x97\xe1\xea\xc9\xe3\x3d\xb1\x58\x4b\x53\x24\xdf\xee\x8a\x25\x8b\x80\x85\xd3\x20\x8a\x80\x8b\xcb\x5b\x6d\x91\x00\x0f\x32\x79\x5d\x4d\x1a\x94\x53\x79\xf3\x15\x0b\x5f\x65\xb4\x2d\x78\xd1\xe6\x12\xb2\x0d\x99\x9f\x45\x45\x5d\xfa\xb1\x04\xf9\xaf\x32\x5a\x88\x5f\xa4\xec\x82\x5e\x05\xdf\xc2\x04\x95\x0e\x5c\xa9\x6f\xe7\x54\xb6\xf1\xc8\xe9\xf3\x69\xa8\xcf\x01\x28\xfc\x69\xc0\xcd\xe0\x82\x0b\xfc\x48\x2b\xe0\x0f\xe3\x4b\xce\x7f\x96\x46\xed\x65\xb4\xca\xda\x8b\x30\x5e\x65\xed\xbf\xd3\x34\x69\xff\x3d\x49\x16\xcf\x51\x7b\xac\xba\xda\xb3\x07\x78\x8f\xa2\x55\xf6\x02\x2f\xbb\xbd\xf8\x2b\x4d\x13\x6d\x2a\x97\x0e\xa0\x80\xce\x59\xfc\x76\xae\xcd\x83\x28\x93\xe0\xe8\x80\xf9\xe1\x4c\x02\x12\x93\x51\x0d\xca\xb4\x5f\xce\xd5\xd2\x30\xcb\x0c\x14\x4f\x76\x55\xaa\xe3\xf4\x89\x6c\x6d\x52\xe6\x70\x39\x6c\x0f\xf8\x16\xd2\x0c\x0c\x2c\x5e\x47\x54\xc3\x7e\xd9\x03\x66\x5f\x25\xdc\xf2\xc2\xea\x74\xce\xf0\x22\xf0\x16\xd6\x67\x6b\x4f\xd2\x59\x02\xe4\x18\x0a\x8c\x3c\x63\x4e\xed\xb7\x36\xde\xe5\xfd\x15\xe4\x7e\xd6\x10\x43\x8d\xdc\xcf\x8f\x90\xfb\x59\x92\xfb\xb9\x4e\x6e\x81\xb1\x20\x97\x06\x19\x6b\x07\x59\x18\xc4\xed\x60\x71\x11\x5e\xae\x92\x55\xd6\x0e\xb2\x36\xbb\x4e\xda\xfc\x65\xdd\x5f\xbf\x24\xb6\x1f\x64\x4c\xdb\x85\x32\xb4\x5d\x59\x46\xa1\xa6\x65\xdc\x1a\x85\xc9\x9c\x17\xa8\xe1\xbd\x60\x4e\x5d\x1c\x5c\x44\xb4\x8d\x8b\x4c\xed\xfc\x11\xa5\x1f\xa1\xe7\x34\x5d\x51\xe0\x08\xc7\xc8\x97\xad\x64\xdf\x54\x68\x21\x9c\x35\x00\x19\x5e\xc6\x09\x5f\x1a\x5a\xa0\x70\xfe\x42\x37\xa3\x48\x4b\x29\x08\x43\x2e\x87\x81\x47\x17\xb7\x8c\x6a\xdf\x68\xca\x6d\x6f\x2e\xe2\xf9\x5b\x0b\x15\xcc\x5a\x4a\x2f\x83\x74\x16\xd1\x4c\x80\xf1\xb5\x06\x26\x7b\xb9\xa8\xea\x45\x12\x3d\x61\x9d\xa8\x36\xa1\xb3\x34\xcc\x58\xc0\xa8\xac\x69\x38\xd7\xae\xf3\xa9\x01\xc4\x19\xe0\xd5\xae\xf1\xfe\xb4\x36\x4f\x62\x56\x31\xb4\xd1\x56\x49\xa2\xd9\x8b\x0b\xbe\xcc\x9b\x5b\xda\x1d\x4d\x3b\x90\x1c\x91\x62\x91\x7b\xd5\x57\xb1\x75\x34\xed\xc3\x2a\x8a\x70\x71\x24\x5f\x11\xaf\x56\x0b\xba\x15\x47\xff\x3c\x05\xd5\x2a\x37\x62\xbd\x6a\x9c\x64\xa1\xc2\x18\x6e\xdb\xee\x6b\x20\x2c\x35\x7b\x50\x56\x0b\x4c\xac\x34\xcc\xd4\xf5\x8a\x37\xd4\x38\x91\x96\x5c\xa9\x22\xcf\x57\xb0\x1f\xa2\x5f\xed\x4e\x5c\xdf\x6d\xe4\xbc\xe8\x8b\x21\x30\x5a\x21\x26\x9f\x0e\x71\xf1\xee\x29\xb6\x6e\xe3\xac\x73\x02\x3a\x6f\xa0\x89\xd7\xd1\xa5\x12\x98\xaf\xe0\xe5\xfa\x00\x4a\x93\xeb\x34\x04\x21\xd2\x38\x21\xd7\xc8\x42\xe0\x1f\xd5\x0a\xa2\x48\xac\x50\x63\xb9\x2c\xe1\x45\x6b\xfc\xe9\xef\xe8\x56\x92\x90\xdd\x66\x8c\x2e\x9a\x29\x99\xd1\xa9\xed\x3c\xdb\x26\x2b\xa4\xc6\xb1\xd2\x3c\x40\xc5\x66\xa6\xae\x03\x72\x45\xab\x64\x1e\x61\x13\xc2\x48\x5c\x81\xd6\x05\x7a\xd6\x9b\xfd\x3d\xed\x28\x0d\xbf\x81\x19\xf3\x1e\xcc\x66\xdb\x01\x0a\x69\xfc\x2d\x4c\x93\x18\x6c\x97\x67\x92\xf7\xfd\x74\xff\xf8\xbd\xa7\xe3\x0a\x7a\xdb\xe9\x0f\xb8\x05\x71\x5f\x36\xa1\xa4\xe6\xa2\x14\xa3\x7d\x0b\xd2\x10\xb8\x92\x91\xf2\x62\x00\xf0\x0b\x06\x71\x7b\x1e\x2c\xc2\xe8\x09\x73\xac\xd2\xb9\x37\xf5\x37\xf4\xdf\x83\xcf\x2b\xed\x24\x88\x33\xed\x7d\x12\x27\x60\x24\xef\x83\x40\x4c\x62\xf9\x7d\x90\x52\x0a\x41\xa2\xe9\xef\x69\x1c\x21\xc8\xa9\xe8\x5d\x3a\xd1\x16\x49\x9c\xe0\x1a\xc9\xa6\xb2\x46\x24\x56\xa1\x84\xac\x42\xc2\xf2\x7d\x81\xbc\x67\xc2\x30\x2e\xc8\x7f\xf6\xfa\x98\xdd\x27\x7a\x18\xb3\x0a\xcb\xb0\x44\xc0\x05\x03\x61\x19\xde\xd0\x28\x53\xca\x58\x24\x5c\x33\x79\x9e\xf1\x17\xc4\x2c\x0c\xa2\x30\xc8\xe8\xac\xba\x10\x56\x46\x9b\x1b\x3b\xa2\x48\xf9\x5c\xfc\x8f\xae\xbc\x3a\x3d\x8b\x68\xf2\xa7\x6a\x6f\x16\xe8\x7f\x60\xf1\xf5\x2a\x59\xd0\xf6\x57\x7a\x9b\xb5\xf9\xc9\x96\x5f\xb9\xce\x06\xe8\x5e\xd0\x7c\x5f\x40\x4c\x9f\xa5\xd6\xce\xbd\x89\xf0\x9d\x20\x50\x77\x2a\xd9\x50\x45\x82\x3c\x9f\x4f\xb5\xaf\xf4\x76\x8a\xd7\xf8\xd0\x12\x15\xb3\x3a\x48\xb2\x3c\x0b\x57\x94\x3e\x9f\xe2\x6a\x56\xd6\x84\x94\x97\x88\xf5\xfd\x4a\x6f\xe5\x73\x42\xcf\xdc\x89\xce\xd7\xe4\x76\xb5\x45\xb0\x84\xb9\x1f\x97\x02\xc5\x66\x11\xc8\x91\xe2\x22\x14\x50\xfb\x4e\x49\xcd\x0d\x51\x0d\x14\x7b\xb0\xb0\x17\x30\x0f\xc8\xf3\xa0\x90\x33\xd3\xe6\x09\x48\x4a\x3a\xd3\x2e\x6e\x35\xbe\xc9\x08\x15\x12\x98\x78\xdd\x84\x11\x3c\xa3\xd3\x10\x66\xee\x24\xd5\xae\xe8\x4d\x20\x3f\xb9\x09\x98\x11\xb4\xe0\xf9\x5e\x60\x7e\x78\x4c\xa0\x11\xe4\x35\x58\xd3\x72\x45\x1c\x0c\x55\x64\x7f\x92\x4b\x4b\x22\x96\x04\xc4\x66\x59\x09\xe9\x01\x96\x35\x07\xa5\x81\xde\x2c\xa3\x20\xc6\x0d\x07\x69\x23\xcf\x41\xc3\x60\x04\xb7\xfb\x2a\xab\xe8\x87\x5f\x8e\xe3\x19\x5f\xdb\x3b\xc1\x65\x3d\x4d\x6d\x9a\xb3\xf8\xfb\x59\xac\x69\xa8\x43\xb7\x77\x23\xd6\x7e\xa7\x7b\x9a\x5e\x39\x51\xa5\x93\x02\x86\x1b\x2d\x87\x00\x85\x4f\x97\x2b\x49\x3f\x43\xe4\xd9\xe6\xcf\xfb\x87\x87\x1f\xcf\xce\xe2\xb3\x4d\xfd\x2c\xc6\x15\xbf\x45\x70\xd3\xe6\xb5\x6e\xcb\x86\x7a\xbc\xf7\xe7\x67\x40\x6c\x9a\x8b\x9d\xf7\xc1\x8d\xc6\xcf\x7a\x43\xc5\x03\xed\xcd\xde\x09\xd1\x3e\x9e\xec\x11\xed\xe8\x3d\x32\x6f\xf7\xe8\xa4\xe8\x29\x17\x14\x06\x2c\x28\x0f\x97\xe1\x37\xaa\xad\x96\xd8\x65\x0b\x35\x95\x37\x3b\x8c\x4d\x7c\xa6\x85\x0f\xce\x20\xa5\xed\x39\x84\x7e\xe5\xf8\x9c\x26\xf1\x37\x9a\x32\x0d\x51\xf3\x7e\xc7\x5b\x3a\x4c\xb5\x03\xe8\x32\xf4\x6f\xab\xf0\x5b\x10\x51\x50\x06\x0b\xc3\x30\xa2\xe5\xad\x5a\xbe\xc3\x2c\x77\x77\x33\x41\x2d\x0b\xc4\xaa\xbd\xd8\xbc\xfe\x21\xdb\xb5\xba\x09\x9f\x6f\xb9\xf3\x71\x1e\x68\x11\x0d\x66\x78\xf7\x07\x0b\x11\xab\x9c\x9c\x82\x64\x95\xd1\x36\x3f\xf3\x30\x8d\xc2\xe9\xd7\xa7\x9a\x6f\x4d\x8a\xcb\x26\x46\x80\x06\xca\xf5\x52\xbe\x94\x71\xb1\x62\x2c\x89\x35\xc4\x9e\x15\x0b\x6a\xc5\xbe\x23\x0c\x92\x6f\x7c\xad\x73\x46\x97\x34\x86\xc1\x22\x87\x83\x20\x10\x89\x6a\x73\x4c\x7a\x6e\x3c\x00\xae\x0f\x09\xa3\x1e\x5f\xee\x41\x41\x28\xd8\x8c\xa7\x3b\x5a\x82\x0e\x88\xa3\x33\x6d\x11\x4e\xa1\xa7\xa4\x5c\x89\xc2\x0d\xbe\x06\xec\xcf\xa8\xb9\x72\xdc\xc6\x22\x36\x71\x48\x97\xf4\x48\x9f\x0c\x26\x44\x7f\x8f\x55\x47\xc4\x82\x01\xd8\xab\xe3\xba\xa9\x20\x97\xea\x8b\x28\xa2\x5d\xa3\xc1\x25\x8d\x8e\x45\x38\x83\x2a\x95\xb8\xc9\x77\xe1\xe2\xf6\x5f\x6c\x5b\xd9\xd2\x37\xb8\xcc\x84\xa6\xce\xcf\x8b\xe0\xce\x4c\xac\xfd\xc5\xb6\xab\x78\x1b\x1a\xc9\xc8\x42\x94\xcc\x60\xea\x04\x0c\xc6\x9a\x58\x00\x5a\x70\x3e\x48\xe5\x9d\x57\xec\x5b\x18\xac\x23\xd0\xc4\x7a\x59\x9a\xef\xf3\xa6\x30\x96\x69\xb8\x08\xd2\x5b\x53\xa4\x77\xce\x62\x1b\x12\x45\x56\x23\x58\xdd\x84\x51\x58\x06\x70\x00\x80\x13\x69\xf0\x55\xea\x72\xfa\xb3\x3a\xd2\xd9\xba\xae\x7e\xf6\x5b\xf5\x27\x18\x4e\xd7\x49\x3a\x6b\xe3\xd5\xed\x36\xde\x4e\x69\x43\xbe\xe7\x74\x29\x7d\xfc\xcb\xd9\x59\x76\x76\x36\x3e\x3b\x9b\x18\xe6\xf7\xfb\x97\xaf\xce\xf4\xcd\xb3\xb3\x5f\x36\xfe\xe5\x9f\xfe\xf9\x8f\xad\x3f\x91\x6d\xef\xbf\x4c\x14\x3d\x6a\xf3\x98\x5e\xae\xa2\x20\x85\x99\x24\xa5\xf9\x8e\xf6\x55\x10\x31\x7e\x3d\x46\xcc\x4f\xc0\x01\xde\x0e\x19\x0b\x52\x66\x72\xa1\x9b\x2f\xaf\x89\x9a\x83\x6d\x0b\xd6\x85\x58\x3b\x0d\x94\x9d\xa7\x69\x14\x64\x28\xf7\x52\x8a\x0b\xd9\x62\x1a\x9c\x2a\x66\x7e\xe7\x2c\xfe\x42\xb5\x00\x6d\x17\xfd\x1f\x3a\x8a\x68\xbd\xa3\x2b\x1b\x27\xa0\x7c\x2f\x03\x76\x95\x69\x73\xdc\xf3\x8f\xc1\x96\x41\x82\xa4\x45\x9a\x64\x14\xc7\x65\x8d\x8f\x4f\x34\x9e\x9f\xc3\xc8\x7f\x74\x4a\xac\xd4\x9f\xc1\x4a\xd1\x29\x69\x3c\xfb\x7d\x38\xd9\xd8\x95\xf8\x50\xf9\x2d\x78\x30\xf9\xd3\xe3\xf5\xe6\x97\xab\x82\x28\x2a\xef\x81\xe6\x1b\x25\x9c\x9a\xdf\xaa\xe3\x9c\xc5\x9f\x32\xbe\x21\x42\x6f\x96\x72\x97\xb3\x58\xfd\xcd\x56\x29\x2a\xeb\xa1\xd8\xc8\xc2\x3e\x83\x36\x43\x12\xc6\x7c\x22\x5b\x06\x97\xbf\xa5\x52\x0e\xe8\xb4\xd5\xf2\xc5\x2c\xb9\x8e\x9f\xa9\x98\xd7\xb3\x3e\x49\x39\x2f\x65\x5b\xab\xa0\x97\xa1\x0a\x25\x5d\x5f\x06\x59\xd6\x0e\x22\xd6\xe6\x2a\xed\x73\x0f\x8d\xaa\xcb\x68\xaa\x3a\x51\xac\xd7\x40\x01\x78\xf6\xd0\xee\x74\x46\x72\x20\x08\xe5\xa6\x10\xc6\xe2\x28\xdd\x2d\x5f\x3a\x49\x57\x71\x0c\xcd\xc4\x0f\x13\x85\xb1\x16\xe4\xea\x10\x0b\x2e\x8a\x03\x8b\xb7\xc9\x4a\x9b\xe1\x59\x35\xdc\xf7\xe5\x73\xd7\x66\xa6\x9d\xe9\xdc\xcf\x2f\x16\x17\x5c\x9c\xe9\x9a\xf4\x9e\xa6\x05\xd3\x29\x8d\x68\x1a\xb0\x24\x05\x5e\xe2\x79\xa6\x38\x61\x79\x91\x58\x18\x0b\x2e\xb4\x90\x6d\x66\xda\x05\x65\x8c\x6f\x2e\xc8\xb6\xc8\xa8\xaa\xca\xf1\x85\x16\x24\x07\x2c\x07\xae\xea\xaf\x32\xf4\x36\xa2\x7d\x0b\x17\x30\x77\xd3\x45\x30\xe5\x7d\x35\xef\x25\x39\x3b\xb0\x99\x2f\xa8\x3c\x46\x08\x32\x4f\x65\x8f\xa6\xe8\x85\xb5\x3c\x19\xcc\x52\x0a\x19\x1c\x1a\x5b\x45\x51\x0a\x8a\x43\xb6\xf9\xd9\x3c\x31\xed\x63\xef\x10\xd3\x34\xde\x32\xcc\xbb\x03\x2e\xc8\xff\xae\xfd\x01\xad\x85\xff\xd9\x21\xca\x9b\x47\xcf\xed\x11\xf5\x4c\xbf\x5f\x97\x40\x8b\xe3\x77\xed\x12\xef\xa1\x84\xff\xd9\x25\xf2\x2e\x51\xf0\xe3\x19\x5d\xa2\x9e\xe9\x77\xee\x12\xdf\x7e\xbd\xe5\x89\x78\x3e\x6b\x97\x94\x65\xd8\x13\xf8\x7c\x8e\xb4\x42\x59\xe2\x38\x53\x9b\xca\x2b\x20\x4f\x5f\x37\xd0\x57\x6c\xde\x76\x75\x32\x96\x01\x3d\x0d\xae\xf9\xcd\x05\x6e\x63\xd3\xe2\x21\x6f\x9e\x05\xed\xa3\x59\xc0\x82\xe2\x14\x55\x7e\x00\x16\x29\x12\xc7\x24\xc2\x19\xdf\xea\xcf\xf0\xc0\xc2\x26\xa2\xdf\x44\x56\x6d\xa6\xc1\x35\x3f\xa2\xc6\x67\xd9\x76\x12\xa3\x7a\xc1\xd2\xe4\xeb\x13\x94\xb0\xe2\xf6\x49\xd3\x1e\x33\x47\x99\x0f\x10\x3c\xfe\x88\x1b\x37\xf1\xad\x96\x17\x52\x29\x3c\x59\xb1\xe5\xea\x09\x2a\xb0\x52\x72\x83\x5e\xb3\xae\xe4\x5c\xa3\xe1\xc5\x28\x65\x5f\x04\x69\x5b\x9c\xc8\xf9\xc1\x6a\x9f\x5e\xe1\x3e\x21\x9e\x72\x50\x34\xa6\x85\x5c\xb3\x11\x75\xbc\xbe\xa2\x34\x6a\x2f\x82\x5b\x5c\x11\x69\x07\x69\x9a\x5c\xb7\x9f\xb6\x7e\xd3\x58\x67\x1c\xee\x7c\x27\x42\x1c\xf6\xa7\xa9\x30\x6a\xb3\x69\x4a\x69\xac\x5d\xac\xe6\x73\x9a\xf2\x53\x2c\x6f\xf6\xf7\xf6\xde\xbd\xd7\x8c\xdd\xe2\xfd\x06\x8d\x3f\xe0\xa0\xa1\xbb\xaf\xdc\xbe\xa4\x44\x18\xba\x48\xaf\x64\x28\x9e\xd3\x17\x26\x23\x5d\xac\x22\x3c\xdb\x0d\x35\xe0\x8b\x3d\x28\x11\x98\x14\x1a\x8c\x2e\x96\x49\x1a\xa4\x61\x74\xab\xcd\xf8\x3d\x17\x94\x06\x57\x49\x54\xa8\xb8\xa8\xee\x7d\xa5\xb7\x85\xdc\x54\x8c\xa6\x69\xb2\xa0\x99\xb6\x5a\x72\x11\xca\x2b\x09\xaa\x61\x9a\x69\x46\x44\xb3\xcc\x04\x61\x94\x8a\x55\x9f\x45\xc0\xb5\xcb\x4c\x93\x8b\xdc\x74\x16\x32\xdc\x31\xfc\x16\xbe\x88\x83\x38\x41\x70\x8e\x85\xb3\xe6\x05\x5b\xac\x6e\x1a\x1a\x27\xf9\x46\xdb\x8b\x55\xc4\xc2\x65\x14\x3e\x65\x06\x29\x1a\xc6\x56\x37\x1c\x0a\x14\xf9\xce\x06\x6e\x37\x68\x33\x1a\xb1\x00\xe4\x29\x67\xae\xe0\xea\x34\x40\x31\x2b\xe4\xa5\xe0\x38\x42\x74\x40\x9d\xc2\x8d\xf4\xe4\x5a\x9b\x07\x19\x17\x07\xa8\x24\xab\xca\x31\x76\xa8\xdf\x45\xf0\xd4\xe4\x8d\x94\xd3\xb9\xdc\x93\x23\xeb\x87\xca\x0f\xb3\xa4\xed\x58\x8e\x03\x24\x14\xe1\x9c\x1a\xfc\xdb\x8e\x92\xe9\x57\x3a\x83\xb2\xd4\xcd\x9c\x7c\x44\xe7\x34\x1a\x6f\x3e\xee\x9d\xf0\x85\x99\xb7\x27\x1f\x11\x97\x38\x14\xa0\x9c\x49\xc0\x95\x7a\x96\x06\x71\x16\x89\xdb\x04\x46\x14\x7e\xa5\xda\x65\x1a\x2c\xaf\xc2\x69\x06\xe9\x19\x20\xf9\x74\x7a\xd0\x76\x65\xf7\xcd\xb4\x6c\xb5\x5c\x26\xa9\xbc\xc1\x92\x64\xf2\xe8\x1c\xd5\x38\x79\x7c\x0f\x2e\x96\x57\xa8\x4a\xcc\x9b\x06\x71\xf9\x00\x97\x16\xe0\x24\xcd\xc2\x85\x58\x64\xca\xeb\xc2\x17\x30\x8b\xfb\x26\xf2\xec\x98\x3c\x5f\xcc\xc2\xe9\x57\xbe\x98\xc0\xe9\x5b\xc5\x78\xec\x00\x94\x07\xbe\x51\x0c\x13\xe3\x57\x50\x3b\x68\x3c\xa3\xb8\x7c\x8f\xd0\x11\xbd\x0c\xa6\xb7\x9a\xf2\x7a\x8b\xe8\x39\xb8\x48\xce\x9d\xa7\x3e\xff\x64\x8b\xba\xd1\x0c\xc3\x79\x4b\xe3\x2f\x86\x35\x9d\x70\x61\xf5\xe3\x2d\xe2\xa4\x57\xda\x9e\x66\xcf\x3b\xea\xa8\x57\x2f\xca\xe0\xdd\x89\x8c\xdd\x46\x34\xbb\xa2\xfc\x9a\x87\xdc\x5e\xa9\xee\x79\xe7\x3e\xef\xd5\xd2\xdb\x20\x36\x9e\x4d\x02\x0e\xf3\x28\x8c\x69\xbb\xd8\xf7\x5b\x65\x30\xe3\xec\x9d\x9c\x70\x49\x84\x07\xf3\xd8\x6d\x24\xc5\x5e\xee\x14\x5b\x9f\x34\x5f\x4b\xce\x9d\xa9\xf8\xe2\xa2\x34\xbf\x48\x63\x34\x5d\xd4\xce\x61\x1b\xef\x79\x77\xa6\x49\x9c\xb1\x74\x35\x65\x49\xda\x74\x39\x1b\xf2\xac\x2e\x4e\x56\x17\x35\x37\x86\xc9\x45\x46\xd3\x6f\x34\xcd\xce\xfd\xef\xdc\xa1\x09\xc2\x75\x82\xd9\xec\xb5\x38\x23\x57\xba\x44\xce\xef\x7f\xc7\xf4\x5a\x93\xa0\x85\xab\x2d\xe1\xa8\x90\x23\x28\x08\xa6\xe3\x74\xe2\xd7\xe3\xc7\xe9\x44\xdc\xed\x36\x95\x72\x15\x07\x33\xab\x8b\x6c\x9a\x86\x17\x55\xe7\xd7\xa2\x99\x4b\xb4\xdf\xdd\x19\x95\x98\x31\x9d\xf8\xe3\x89\xf0\x0f\x53\x8a\xee\x2c\x57\xd9\xd5\xba\x42\x57\xf1\xba\x62\x15\xff\x34\x25\x74\xfc\x9d\x14\xee\x46\x46\x7f\x1b\x7f\x43\x45\x2c\x5b\x61\x83\xa2\x33\x9f\x6d\xe9\xc0\x55\x3a\x9d\x61\xdc\x6f\xeb\x4b\x4b\x64\xfa\x90\x30\x2d\x2f\x75\xc6\xf3\xa4\x9d\x0c\x46\x2f\x35\x42\xe9\x7f\xa7\x4a\xe9\x72\x75\x11\x85\xd9\x55\x89\x4a\x92\x2a\x4f\x1c\x85\xd0\x5c\xf4\x65\xa2\xf8\x83\x53\xde\x14\x08\x89\x45\xe8\x96\x6d\x92\x64\x4c\x27\xc0\x0d\xee\x67\xbb\xa1\x7e\x49\xab\x65\x24\xfe\x78\x02\x7d\x6c\x1a\x30\x23\x31\x4d\x92\x42\xdc\x4e\xc2\x59\x99\x9a\x5e\xe2\x8f\xd3\x89\x49\x92\x5a\x11\x96\xb9\xc6\x6d\xc1\xf5\x54\x27\xc2\xc7\xf2\x71\x72\xbd\x87\x82\x85\x7f\x9e\x84\x7f\xa7\xf9\xc7\x29\xbd\x61\xbb\xf9\x96\x35\x3a\x39\x38\xc1\x59\xbd\xee\xd2\x08\x8c\x84\xdd\x34\x0d\x6e\xfd\xf1\x44\xb8\x05\xc2\x83\x68\xe8\xe8\xfc\xdc\xa7\x77\x77\xae\x70\x49\xcc\x4a\x48\x45\x67\x2e\x97\x24\x9f\xce\x90\x12\xc4\x54\xfd\x55\x1f\x89\x7b\x2d\x22\x27\xa7\xdf\x80\xca\xaa\x50\xc7\xc9\xf5\x87\x64\x46\xcf\xd1\xef\xb3\x9a\xd0\x1c\xfb\x71\x3e\xcf\x28\x53\xe3\xaf\x93\x74\xf6\x3a\xa5\xc1\xd7\xf7\x01\x9b\x5e\x1d\xd2\x39\x5b\x9b\x78\x8c\xcf\x6c\xac\x4b\x7d\x8f\xeb\x9b\xb9\xff\x69\xce\x40\xa5\x2b\x5d\x52\x74\xd8\xdf\xe0\xc8\x92\x57\x10\xbd\xf9\xd7\x38\x4a\xca\x5c\x17\xdd\xcc\x5c\x57\x02\x7f\xf5\x63\x9d\xb3\xcc\x2a\x9a\x75\x58\xf0\x61\x91\xb5\x1e\x37\x15\xea\x1a\x11\x64\x94\xed\x15\x30\xf5\x2e\x54\xee\x30\x4d\x4d\x2e\x40\x5e\xf9\xf2\xf1\x3f\x40\x59\x82\x30\x9a\x72\xa5\xc9\x35\xa1\x6d\xbb\x99\x39\x38\x2f\x1f\x27\xd7\xeb\xaa\x25\xd3\x33\xc3\x36\x85\xa3\xaf\xb5\x38\xb2\xb5\x0e\xe6\x0b\x0e\x0b\xc9\x62\x11\xda\x4c\x8f\xb8\xef\x5b\xa2\xa8\x36\xc8\x0a\x2c\x4f\xc0\xd3\xe0\xc6\xbe\x40\x24\xc0\xf0\xb5\x39\xe1\x7e\x2e\x4f\x5c\x87\x7a\x99\x2c\x1f\x60\x18\x4f\x7d\x88\x5d\x02\xe2\xe9\xcc\x6a\xec\xa4\x6d\xba\x96\xbe\xd5\xff\x47\xde\xbb\xf6\xc8\x91\x6c\x89\x61\x9f\x0c\x7d\xb3\x61\xf8\x8b\xe0\xfd\x52\x15\x3b\x5b\x93\x39\x95\x55\xcc\x6a\x92\x33\x9c\xca\x4e\xf6\x36\x9b\x8f\xcb\x19\x72\x48\x75\x37\xe7\xd5\xec\xe1\x64\x57\x45\x75\xe7\x65\x56\x46\xdd\xc8\xa8\x7e\x0c\xab\x57\x82\x21\x09\x5e\x5b\x92\x65\x43\x90\x04\x7b\x6d\xc9\xf6\xca\x2b\x19\x82\x21\x09\x82\x5f\x5a\xd9\xc0\x1d\x7f\xf7\x7f\xb8\xbf\xc4\x88\x57\x66\x3c\xb3\xaa\x39\x73\xaf\x16\xf0\xe0\xe2\xb2\x2b\x23\xe2\xc4\x89\x13\x11\x27\x4e\x9c\x38\x8f\xea\x6c\x0d\xfd\x18\xeb\x6c\x6f\xae\xe3\xc7\x3f\xdf\x88\x4c\x5c\xd6\xd3\x11\xa9\x83\xb6\x5b\x63\x84\x51\x1c\x91\x35\x80\x2a\x33\xa1\x5e\x1d\x66\x33\x4e\xf0\x36\x91\x91\x33\x71\xbf\x1f\x7a\x3a\xe9\x63\xda\x0d\x3d\x2e\x9c\x3d\x61\x48\x2f\x66\x26\xed\x5a\xe7\x06\x46\xfe\x89\xae\xc1\x99\x88\xaf\x81\xe8\xa5\x03\x3b\xdf\x33\x02\xf5\x4d\x6f\x89\x55\xc6\xfe\xa7\x48\xfc\x9c\x07\x84\x13\x39\x66\x1f\xb3\x27\x41\x7b\x50\x92\x9d\x8a\x9c\x5b\x87\xcf\x9f\xd5\xd9\x0a\x8c\x0a\x9c\x74\xf5\x91\x48\x8f\xef\x92\xfb\x2b\xcd\x0a\x74\x01\x42\x17\x6e\x71\x0b\xcf\xf4\x14\x4a\x80\xa9\xc8\x17\x02\x13\x11\xf7\x52\x3f\xa5\x87\x79\x25\x8c\x09\x83\x70\x07\x80\x71\x3e\x9c\xb1\xf3\xe0\x2c\x27\x90\x99\x1d\xda\x07\x94\x0c\x56\xe4\x84\x56\xb2\xf4\x10\x49\x4b\x59\xda\x1d\xb9\xc4\x85\x61\x75\x55\x4e\xf6\x98\x95\xb2\x1e\xf9\xdf\xa8\xc6\x65\xf9\x3d\x54\x92\x2c\x2f\x21\x0e\xa0\x88\x35\x6b\x50\x39\x5b\x2c\x60\x39\xdd\x3b\xcb\x0b\x96\x3e\xce\x5a\x05\xd8\x89\x83\x44\x91\xac\xc5\xd0\xbd\x52\xd0\x7c\x9e\x93\x67\x79\x09\x5f\x48\xea\xaf\x59\x2d\x15\x24\xde\x95\x20\x53\x96\x38\x8f\x5b\xcf\x36\xd1\x52\xc8\x58\x32\xc4\x3b\x78\x3f\x75\x96\xec\x04\xf4\xa2\x83\x0a\x28\x63\x35\xee\xa3\x8b\x0e\x5a\x32\xcb\x88\x13\x16\xc6\x80\xc7\xcf\x8c\xa0\xbb\xfd\x60\x14\x8e\xe1\x76\xdc\xeb\x6d\x0e\x87\xee\x59\x81\x8d\xba\xb8\x2c\x4c\xb8\x60\x61\x03\xa1\xa2\xa3\xdd\x9c\x22\x42\x5c\x88\xb4\x82\x89\x9d\x62\xa8\xb5\x85\xb0\x31\xf8\x23\x78\x1c\xd1\x0b\x08\x73\xa9\x64\x4b\x2d\xc9\x57\xab\x80\x7e\x42\x17\x25\xc4\x32\xf1\x99\x58\xb3\x54\x12\xa6\xb3\x1e\x00\x10\x46\x58\x5b\xa1\x79\xc8\x97\x7c\x95\xc6\xec\xda\x87\x65\x48\x4d\x6d\xb5\xec\xd4\x04\x73\xf1\x81\x81\xcd\x37\x7a\xbd\x20\x4f\xcd\xa5\x1f\x55\x37\x03\x12\x8e\x5d\xbc\x15\x3b\x29\xc6\xf8\x31\x5d\x83\x49\x9e\xf0\xab\x5d\x99\x92\x41\x15\x65\xa9\x79\x11\x18\x96\x68\x0a\x99\xd4\x19\xe4\x3c\xd4\x6b\x3e\x2c\xe1\x25\x39\xc8\x4f\xe8\x45\x7f\xb5\xca\xee\x97\x5a\xc8\x64\x75\xf3\xe6\xd1\x39\xca\xa7\x81\x8b\x89\x87\x49\xd5\x4f\xb3\x28\x4f\x35\x70\x3c\x8b\x44\x47\xae\x89\x8b\x0c\x97\x01\xd8\x6d\x6c\xd5\x99\xd7\x36\xd7\xe4\x4a\xe7\xfa\x0e\x2a\x3b\x90\x07\x35\xe0\xfb\x0f\x78\x36\xe3\x55\x39\xa9\x13\xc7\xed\x65\x18\x1a\xf2\x2f\xbe\x7a\x07\xeb\x6c\x72\x81\x35\x19\x0e\x7a\x5f\x4f\x58\x78\x7b\x18\x72\xc5\x81\xdd\xe3\xa2\xc8\x09\x27\x84\xeb\x2a\x4d\x0f\x2c\x54\x42\xb6\xd2\xba\xa3\x30\xaa\x52\xc8\x18\x99\x88\x87\x97\x68\xbf\xdc\xf3\x72\x20\xb2\xed\x31\xc1\x25\xc2\x5a\x83\x7c\x78\x31\x91\x91\x60\x2b\xab\xb8\xd7\x63\xd1\x84\x61\xc9\x10\x14\xf2\xcd\x03\x66\x9a\x19\xe0\x08\xaa\x73\x12\x46\x1a\x26\xab\x95\xd6\x92\x9f\x92\x7c\x77\x78\xa4\xb0\x79\x76\x75\x02\xf7\x8a\x7c\xb1\xb7\xc4\xb4\x9d\x71\x38\xf3\x50\xcf\x2d\xeb\xce\xb1\xac\x79\xf0\xf0\x6d\x9b\xaf\x84\x6d\x77\x16\xab\xb6\x8c\xaa\xbb\xf9\x25\xc6\xc5\xc8\xd6\xf0\x24\x35\x01\x1d\x69\xd9\xd2\xc9\xcf\x81\xca\xa6\x84\xe4\x54\x74\xac\xea\x6d\x38\x18\x49\xb2\x28\x55\x37\x5e\x8b\xd6\xc6\x89\x1d\x9d\xf4\x47\xa1\x1a\xa1\xde\x31\xc1\x91\xcd\x0f\xd5\x35\x49\xd9\x16\xd6\xd6\x5e\x1e\xae\x6b\x42\xb6\xed\x43\xec\xa6\x24\xd7\x78\xac\x6b\xae\xdd\x9c\x80\x6f\x2f\x33\xfa\x7f\xad\x4d\xb4\x68\x86\x53\xa2\xb1\x82\xf7\x11\x4f\xc5\x39\xc5\xd9\x00\xe1\x19\x49\x0d\x21\xcc\x58\x80\xfd\x94\x47\xa1\x2e\x53\x7b\xc6\xda\x4f\x06\x12\x0e\x4a\xba\x23\xb3\xed\x98\x8f\xa9\x48\x6d\xf9\x74\x90\x85\x75\xd6\x0b\x43\x60\x5b\x96\x53\x88\x29\xfe\xab\x95\x53\x9e\x23\x38\x7f\x0b\xc9\x19\x46\xcb\xd3\x33\x77\x95\x26\xf6\x8a\xbb\xfc\x62\x42\xa9\x26\x33\xbc\x1b\x85\x59\x35\xc9\x73\x5e\xce\x33\xf4\xb8\x2a\x91\xbc\x80\x0f\x33\x92\x85\xf9\x2c\xb8\xdd\x4d\x09\x1b\xfe\xe1\xd5\x02\xd2\xdd\xa2\xc0\x57\xa1\x11\xd6\x4a\xfe\xcd\x74\xf6\x0c\xec\x43\x38\x41\x98\xbd\x4c\x34\xdf\x9b\x11\x30\xd1\x55\x04\x0d\x3f\x4b\x49\xbb\x8c\x52\xb8\xc5\x6a\x8d\xa1\x9f\x45\x44\x67\xe8\xd6\x41\x4d\xd2\x33\xe7\x55\x2b\x1d\x64\x11\x4e\x0b\x7e\x2a\x6b\x6b\x32\xc5\xfd\xb4\xe0\x29\x0f\x60\x5a\xf4\x61\x92\xa5\xf1\xb5\x67\x7a\x99\xfd\x21\xac\x9a\xbb\x00\xa9\xb3\xef\xe8\x30\xe3\x34\xcd\x76\x70\x1f\x8e\xe3\x34\x2d\x77\x60\x1f\x8f\x5b\x59\x4d\x14\x47\x65\xd8\x87\xfd\xf6\x4a\x65\xe8\x93\x42\xfa\x69\xc5\x96\x24\xed\x8d\x93\x7b\x92\x92\xe1\x02\xc3\xf3\x1c\x2d\xab\x9a\xd5\xcc\x82\x89\x50\x76\xad\x1b\xd7\xa4\x1e\xd7\x44\x1d\x57\x5f\xd7\xa5\x71\x92\x4f\xbc\xb2\x91\xbe\x65\x35\x48\x61\x98\x2c\x36\xbd\x6d\xd9\x42\x99\x7b\x75\x2c\x22\xe2\x58\x11\x0b\x2f\x7a\x15\xcb\x38\x45\xa7\x8a\xd3\x6c\x99\x12\x9d\x35\xcf\x82\xe5\x86\xf4\x5a\xd6\xf4\x5a\x6a\xeb\x00\xf6\xb5\xdf\x36\x76\xcb\x0d\x89\x07\x7f\x3b\x04\x5b\xde\x88\x60\x2d\x8c\x73\x11\x86\xd7\xfc\x0c\xaa\x65\x45\xb6\x62\x19\x1f\xde\x18\xf1\x4d\xa6\x78\x0d\x03\x58\xb8\xb6\x7f\xe5\x3c\xcc\xe8\x11\xc3\x7c\x58\xd7\x9c\x67\xaa\x64\xd2\x22\xf5\xb0\xec\x11\x62\x19\x1c\xc1\x63\x71\x81\xb3\x8e\xad\x8d\x59\x8b\x29\xe3\x88\xa5\xe8\x91\x65\xb4\x5c\x09\xba\x78\x9f\xa6\xd0\x71\xb1\xa9\x59\x07\xb6\xe6\xdb\x3a\x4e\xb1\x98\x9a\x29\x2c\x20\x81\x7b\x67\x19\xae\x82\xe7\x19\x39\x1b\xce\xf3\x32\xc0\x11\x09\x43\x35\xc3\xa7\xc8\x0d\xe5\x11\xa2\x15\x18\x1b\x4a\x10\xf6\x19\x9e\xb7\x49\x9f\x2c\x37\x0a\x4c\x6b\xfc\xa0\x43\xc0\xcc\xc3\x7a\xc3\xc6\xb5\xfc\x56\x45\x65\x94\xa5\x30\xa1\x77\x0a\x9e\x32\xa8\x6a\x97\x15\x22\xb2\xb9\x34\x19\xc5\x11\x0e\xd7\x30\x78\xdc\x87\x61\x54\xae\xe9\x13\x0e\xd2\x6a\x50\x46\x78\xbb\xea\xf5\xca\x5e\xaf\xaa\x59\x7e\xb1\xd1\x2e\x03\x1d\x10\x26\xc4\x7b\x65\x2a\xac\x0d\xa6\x0d\x11\x80\xa8\x4c\x63\x8a\xc3\xe8\x5a\x9e\xea\x2a\xcb\xa4\x07\x50\xaf\x47\xba\xd6\x3c\xf6\x7a\xc4\x77\xd9\x62\x0a\x91\xb3\x08\xf3\x63\xf7\xb6\xdd\x56\x11\x50\xba\x6d\x5b\xa0\x3e\xf9\x8c\x3a\xec\xe0\x33\x4f\xc3\xd0\x3e\xc7\xcc\x2a\x2e\x4e\xd2\x32\x37\x76\x17\x75\x3e\xd0\x89\x46\x53\x47\xcf\x4a\xb1\x53\x1b\xdb\x5c\xbc\x96\xae\x4b\xc6\x5a\xed\xcf\x5a\x8d\xa5\xeb\x20\x58\x3a\x51\xb9\xf6\xcb\xf0\x1c\xd4\xa4\xce\x16\x9e\xf9\x1e\xff\x9e\xe5\x25\x3c\x20\x19\x7b\x88\x78\xa3\x71\x01\x96\xb4\x15\x9a\x94\x64\x97\x7c\xfd\xd3\xf0\x2c\xab\x5a\xee\x0c\x21\x4c\xad\x26\x5a\x96\x48\x1f\x5a\x94\x6a\x36\x4a\x9c\x39\x01\x90\x30\x21\xb9\xaf\x2b\x38\x22\xd8\x8e\x8c\xc0\x46\xdd\x27\x92\x1d\xfb\x30\xf9\x7a\x1f\x5d\xec\x96\x13\x58\x11\x84\x5d\x04\xea\xf5\xc0\xd7\x83\xfd\x17\x5f\x81\x6e\x4a\x21\xa3\x29\xfc\x22\x9b\x43\x31\xea\x7a\x9b\xad\x1d\xb0\x64\x9d\x5f\xe5\xe4\x4c\x2a\x90\xdf\x58\x86\x08\xea\xc1\x36\x18\x25\x4a\xfe\x79\x13\x53\x61\x11\xd1\xcd\x9b\xda\x35\x73\x4d\xe3\x24\xef\xa6\x92\xb1\xf6\xdb\x76\x12\x0c\xa3\xee\x1a\x9a\xae\x56\x5d\x5d\xb7\x53\x77\x68\x90\x5a\xae\xc5\xaa\x2f\x31\x56\x07\x9d\x97\x74\x05\x8a\x81\x6e\x42\x25\xde\xc0\x45\x22\x95\xbf\x75\x9b\x13\x97\x27\x34\x55\x0b\x77\x06\xa3\x71\x0b\x2e\x6a\x55\x06\x7c\x0d\xe2\x6a\xf5\xb8\x51\x46\xe4\x69\x1c\x51\x9a\x57\xdb\x70\x38\xa1\xfb\xf2\x0b\xe6\xe0\x23\x9e\xf5\xaa\x7e\x5f\x6a\x4b\xd5\xe2\xa3\x8a\x59\xc1\x94\x4a\xf6\xb8\xbc\x8f\x93\xbc\x75\xb6\x4a\xb9\xdf\x07\x23\x1f\x05\x29\xf0\xdd\x72\xca\x79\x88\x7f\xb1\x35\xab\x9b\xdc\x6f\x5d\x1e\x89\x4c\x14\xf6\x9e\x6b\x84\x0c\xd6\x2c\x3f\xcf\x22\x92\x33\x61\x8d\xa7\x99\x0e\xef\x2a\xf2\xb4\x69\x7d\x86\x75\x4d\x1d\x96\x53\x97\xeb\x53\x87\x8f\xa3\x56\x71\x85\x2b\xbd\xc9\x76\x5a\x09\x3a\x80\x83\x97\xbb\x5f\x80\x34\x4d\xf3\x9a\x81\xec\xac\x1b\x60\x1e\x91\x70\x7c\x94\x47\xe4\x98\xd2\xb0\xba\x56\x16\xb9\xef\xe1\x68\x3f\x2b\x4f\xa1\xb9\x63\xa2\x9c\x8f\x01\xa5\xde\x1e\xeb\x25\x22\xd4\xfb\x32\xe9\x30\x92\xc9\xac\x37\x6a\x89\xc3\x84\x37\xab\x7a\xbd\x20\xa7\xf8\xb0\x73\x27\x40\x47\xf1\x71\x84\x8e\x46\xc7\x61\xc4\xbe\x3e\x2a\xa7\x41\x45\xbf\x55\xf4\x5b\xe8\xd6\x7e\x71\x37\xc0\x5a\xf7\x6e\xe6\x4b\xab\x85\x58\x36\xdf\x6c\xdc\xbb\x24\x88\x39\xdd\xa9\xec\x32\x24\x48\xe6\x4d\x95\x19\x65\x5f\x57\xb7\x42\xcd\x24\xcd\x3c\x1d\x03\x0f\xa3\x1d\x32\x77\xc3\x5a\xae\x0b\x59\x2f\xd8\xa4\xaa\x93\xc1\x53\x89\xdd\x68\x2e\x3f\x70\x22\x32\x58\x83\x91\x83\xd6\x7e\x78\x54\x92\x50\xa0\x41\x39\x21\x35\xac\xaa\x7e\x9e\x39\x73\x9a\x44\x45\x99\xab\x84\xd9\x43\x45\x85\xab\x88\x1b\x43\x45\x67\x1a\xdd\xd8\xf1\x1d\xe0\x30\x9a\xa8\xef\x06\x94\xe4\x67\x51\x1c\x55\x61\xb4\x54\xd3\x88\x96\xfd\xa2\x0f\x3e\x00\x61\xb4\x48\x27\xc3\x0a\x66\x78\x72\x16\x2c\xf9\x11\x16\x0c\x46\x69\xba\x58\xad\x16\xf7\x91\x98\xa0\xa9\x0d\x11\x45\xfa\xf5\xee\x2c\x0c\xa3\x99\x96\xa7\xf4\x3b\xd0\x2f\xfa\x59\x18\x9d\xa6\x53\x31\xe5\x33\x06\xff\x94\xc3\x9c\xa7\xa8\xaf\x83\x38\x3d\x8a\x8f\xc3\x84\x76\x3e\x5f\xad\xe6\xdb\x95\x34\x88\xac\x77\x52\x80\xa3\x45\x34\x8f\xe8\x4d\x60\x98\x4d\xa7\xec\x63\x40\xe8\x92\xe5\xff\xd9\x56\x7a\xdc\x00\x8f\xdb\x1d\xea\xc6\x79\xc2\x0a\x0f\x15\xc5\x4b\x84\xf5\x67\x24\x97\xfd\x28\x4f\xde\x53\x9b\x8b\xbd\xc4\xe8\x3c\x9f\x42\xdc\x58\x58\x49\x7b\x6d\x66\x84\xa6\x98\x9c\x8d\xe2\x68\x24\x9f\x3c\xf1\xb2\xa0\x4d\x1a\xa3\x88\xda\xa3\x56\xb6\xa8\x11\x1a\xd6\x5b\x4d\xed\x79\x52\x3f\xbe\xd0\x9d\xbf\x97\x4d\xce\x34\x1b\x0b\x29\xf4\xe9\xe5\xef\xae\x79\x69\x91\x55\x84\xef\x6b\x46\x6e\xb5\x61\x53\xc4\x2d\xdc\x9c\x38\x3e\x62\xa6\xe9\xd3\x37\x69\x37\x6e\x5a\x31\xbb\x41\x66\x6a\x26\x3e\x72\x33\xff\xaf\xce\x20\x2c\x9e\xd7\x5e\x05\x6f\xd2\x51\xd3\xe4\x10\x2d\x27\x67\x0d\x5a\x79\xc5\x47\x0d\xa7\x8f\xca\x69\x0d\x5b\x8c\x54\x46\x4a\xe1\x2b\xe4\xe5\x65\x3a\xfa\x58\x94\x13\x5c\x7c\xc9\x33\x13\x49\x13\x87\x69\x7e\xae\xe2\x2d\xad\x1e\xd5\x6f\x84\x5b\x75\x56\x4d\xef\x9a\xe9\x30\xff\xf4\xf0\xd1\x83\x57\x4f\xde\xa4\x5d\x79\xa4\x5b\x33\x62\x5b\x44\x55\x75\xad\x7a\x41\x54\x82\x8b\x29\xbd\xc3\x72\xaa\x7f\xc8\xab\xe7\xd2\x22\x5b\xfb\xba\x27\x5e\x30\xa7\xaa\x9d\x8c\x85\x86\xc2\x9d\x67\x79\x39\x7d\x5c\x3f\x8c\x7b\xcf\x55\xa8\xbe\x9e\x63\x2e\x49\x50\xfe\x44\x6a\xb3\x5e\x5c\xeb\x06\x30\x63\xaa\xf6\x21\x2c\x0f\x60\x86\xaa\xde\x2f\x53\x87\x30\xb3\xe0\x5a\x82\xba\xc6\x29\x76\x49\x13\x1b\x8e\xab\xba\x2a\x27\xea\x33\x63\x6d\x17\x0c\x83\xf0\x1d\x6e\x68\x8c\x22\xf1\x83\x62\x9a\xe6\xc3\xac\x9c\x9c\xf1\xab\x9c\x2c\xe0\x1c\xb9\x2e\xe2\x3f\x23\x2c\xe7\xa4\xe2\x7f\x8a\xe6\x33\x34\x59\x56\xa2\x75\xcd\xcd\xe5\x77\xfe\xeb\xba\x46\x85\xe8\xa8\x54\x06\x2a\x2a\x2c\x1d\x13\x05\x5a\x83\x08\xd2\x10\xd1\xc6\xa1\x62\xa2\x8e\xe2\xba\x39\x42\xa5\x76\x48\x59\x8f\xf4\x74\x90\xb7\xe3\x20\x64\x66\xb2\x35\x67\x69\x34\x72\x3f\xcf\x6a\xed\xe6\xab\x55\xae\x7e\x89\xba\x66\x9d\x66\x39\x22\x6d\x7c\x09\xea\xf5\xba\x01\xc0\xe8\x82\xe5\x44\x05\x79\xd9\x41\x61\x12\xa2\x14\xa9\x97\xba\x7c\x16\xa0\x06\x42\xa5\x92\x37\xa9\x2c\x00\x55\x98\x84\x55\x5a\x19\x00\x2a\xb6\xec\xd1\x50\xd6\xdc\xae\xea\x3f\x43\x18\x34\x8a\x8b\xa6\xc6\x7d\xa5\x06\x51\x6a\x28\xbd\xa7\xda\x60\x42\x7d\x82\xb6\xb5\xb9\xde\x81\x41\x38\x96\x60\x54\xb9\xc0\xd8\x4c\x28\x3a\xd2\x16\x80\xd2\xdb\x31\x3f\xa7\x4b\x91\xf7\x95\x9e\x1d\x8f\xac\xc4\xf1\xcc\x16\xa7\x43\x77\x10\x73\x23\xab\x77\x17\x08\x93\x52\x47\x57\x62\x74\x6d\x4d\x73\x43\x83\x6e\xda\x10\x41\xb7\xef\x90\xd9\xcc\xeb\xe0\x10\x0c\xcd\x4e\x5e\x71\xd7\x5e\x84\x08\xf7\xc8\xcd\x3a\x0c\x57\x34\x65\x39\x97\x95\xd1\xd4\x22\x78\xb8\x06\x30\xc7\x78\x3d\xe4\x66\x64\x0a\x68\x83\xdb\xa8\x4a\x59\xf6\x8e\xe7\xc8\x2f\xcc\x0e\x14\xc1\xce\xf3\x19\xce\xe6\xf0\x4d\x0a\x9d\xfa\xa6\x47\x3c\xf4\x7b\x00\x78\x35\x69\x57\x28\x1a\x89\xc7\xc1\x49\x55\x51\x11\x2d\x05\x27\x08\x4f\x21\x1e\x77\xe2\xe4\x8c\x9d\xb6\xe3\xce\x28\x8e\xff\x20\x91\xc6\x30\xe3\x4e\x76\x52\xa1\x62\x49\x60\xc2\xc2\xcf\xf2\x62\x10\x81\x39\xfa\xe1\x69\x59\x42\xcc\x4f\xea\xaf\xe9\x12\xe7\x16\xfe\xf2\xad\xbf\xee\x0f\x4f\x52\xf0\xfb\x80\x89\x49\x8a\xa2\x4b\xad\x63\x60\x38\xe1\xea\x9c\xaf\xb8\xc3\x40\x36\x9d\x3e\x3a\x87\x25\x79\x96\x57\x04\x32\xcd\x29\x86\x2c\xa4\xa1\x38\x33\xcb\x7d\xf6\xf3\x8d\x9a\xd6\x50\xb5\x53\x6c\x8e\x5e\x57\x27\x92\x76\x09\x19\x9e\xa0\xe9\x95\x49\x9d\x79\x86\x4f\xf3\x72\xdc\x89\x17\x97\xc9\x22\x9b\x4e\xf3\xf2\x94\xff\xd0\x88\xa5\x50\x26\x91\xd7\xde\x71\xe7\x2c\x9f\x4e\x61\x99\x70\x0d\xdd\xb8\x73\x9e\xe1\x60\x30\x60\x42\xdf\x80\x47\x1b\x12\x41\xf3\x59\x97\x61\x32\xb8\x80\x27\x6f\x73\x32\x60\x5e\x55\x7c\x87\x8c\x59\xa2\x91\x64\x30\x47\x3f\x38\x3e\x03\x55\x42\x90\x54\xaf\x47\xab\x0e\x47\x60\x7e\x88\x16\xe9\xda\x4a\x3c\x57\x67\x0a\x26\x59\x31\x09\x54\x9c\xa9\x50\x49\x09\x3d\xe0\x43\x0f\x3b\x1f\x75\x6e\x87\xa0\x36\xd8\x34\x17\x1f\x03\x0a\xc2\x44\xb7\x21\x02\x97\x03\xba\x3d\xde\x75\x64\x62\x8a\x71\xe7\xa4\x40\x93\xb7\x49\xa7\x23\x29\xda\xd6\x67\xc2\x53\xc4\x0c\x36\xaa\x7b\x0d\x22\x32\x3c\x83\xd9\xd4\x69\x12\x4a\xe9\xb9\x57\x55\xcf\xf2\xf2\xed\x1b\x1b\x7b\x16\xcd\xd6\x51\xd3\x30\xdb\xc4\xb0\x60\xc1\x72\xa4\xeb\x9c\xd1\x84\xeb\x30\x7d\xa4\x71\x61\x67\xb5\x0e\x6b\x41\x16\xc2\xd2\x01\xeb\x72\xc0\x8b\x80\x5e\xd1\xc0\x53\x2c\x76\x38\xcd\x09\x15\x9b\x41\x04\x08\x5e\xc2\xf6\x36\xd5\x02\x16\xc5\xe4\x0c\x4e\xde\x82\x08\x30\x97\xc3\xf6\xfa\xd9\x92\xa0\x09\x9a\x2f\x0a\xc8\x82\x40\xa0\xd9\x6c\x93\xfa\x2c\x3e\xd6\xc6\xd5\xb3\x05\xc9\x0a\xee\xcd\xc4\x32\x18\xb6\xb6\xc0\x88\x8f\x14\x5e\x92\x13\x74\xd9\x5e\x97\x64\x27\x4c\xea\x04\x11\x18\x8c\xac\xaa\x3a\x4f\x98\x64\x18\x12\x1e\x78\x74\xcc\x9d\x61\xf9\x99\x9e\x18\x4b\x5a\x89\x1d\x3b\x6e\x82\xb9\x26\x75\x4c\xd6\x71\x67\x74\x77\x71\xc9\x7f\x0b\xff\xd7\x41\x91\x9f\x66\x64\x89\x61\x25\xf6\xb8\xc6\x66\x24\x6b\x19\x5c\x8d\x85\x03\x73\xd2\xa9\xbf\x5d\xd6\x0c\xe7\xe2\x2c\x27\x70\xc0\x3a\x1b\x77\x16\x18\xea\xec\x69\x49\xe8\x0e\xe2\xe0\x3b\xdd\x7c\xbe\x40\x98\x64\x25\xa1\x7b\x85\x31\x03\x6b\x35\x0a\x2a\x18\x34\xb1\xb9\xb2\x88\xac\x24\xb9\x32\x3f\xde\x34\xae\xbc\x0e\x02\x73\xda\x36\x00\xb0\xbb\xdb\x8d\xa0\x10\x7a\xa3\x63\x22\x64\x0d\x8a\x5f\xf2\x6e\x0c\x64\x8e\xce\xe1\x4f\x85\x01\xcb\xe9\x4f\x05\x31\xc9\xca\x89\x42\x97\x9b\x43\x61\x19\x02\x64\xf3\x3d\xb4\xb8\xba\x51\x6b\xee\xd7\x2c\x9b\xb3\x5b\xee\x8d\xda\x4f\x31\x5a\x80\xc8\x99\xac\x79\x81\x99\x0f\x7f\xed\x86\x10\x75\x47\xd7\x61\xbd\x10\x2d\x48\x6f\xe1\xd5\x14\x5d\x94\x35\x2e\x0f\xd0\xf4\xea\x73\x78\xf5\x10\x5d\x94\x0e\x8c\x30\xd7\x3b\x54\x0e\xa6\x39\xcd\xcf\x81\x59\x6b\x98\x4f\x53\xae\x92\x19\x63\x74\x31\xa0\xb2\x5a\x05\xcc\x3a\x06\x27\x30\x36\x7c\x23\x33\xcd\xf2\x4b\x38\xb5\x45\x01\xe7\x11\x4f\xf9\x93\xe3\x88\x67\x9f\x81\x41\x5c\x73\x6f\xd6\x98\x89\xd1\x10\xb4\xe0\x12\xea\x83\xec\xd4\x7d\x58\xb0\xd2\xc1\x49\x76\x0a\x5c\x4d\xd6\x0c\xd0\x1a\xd0\x46\xe7\xb0\xc5\x8f\xc4\xa8\x78\x7c\x11\x15\x5f\x1b\x9f\xc6\xa0\xb9\x41\xf7\x31\x2a\xa6\xce\xc1\xcd\x50\x31\x05\x46\x3d\x65\x5a\x09\x5a\xb0\x2a\x83\x19\xc2\x54\x0a\x69\x12\x94\x00\xa3\x4d\x3b\x15\xac\x55\x61\x4d\x8b\x04\x14\xaa\x03\x15\x68\x6b\x1d\x59\xc3\x53\xaa\x2a\x98\xf3\xaf\xed\xc8\xb7\xa0\xa3\x00\x0d\x55\xbd\xd8\x2e\x86\x59\xfb\xee\x50\xea\x29\xe8\xf0\xaf\x19\x86\x19\xb0\xab\x19\xb4\x63\xc1\x61\xf2\x22\x27\x57\x72\xd1\xac\x5b\xd3\x0a\xb0\x50\xbc\x71\x82\x33\x42\x16\x7a\xce\xcb\xad\x38\x8e\x6f\x55\xe7\xa7\x40\x18\x39\x9f\xcb\xf5\x43\xef\x49\x6d\xd7\xa2\x2f\x0e\x82\x3c\x02\xb4\xa5\x1c\xe3\xf9\xa9\x3a\xb8\x1f\x10\x9a\x0f\x78\xbc\x24\x84\x81\x52\x45\x17\x18\x2e\xe7\x45\x59\x81\x28\x0f\xbd\x35\x44\xf2\x0b\x10\x81\xd1\x70\xa4\x75\x66\x90\xc8\x71\xd5\x22\x68\x41\x6f\x64\x05\x9c\x11\xfa\xaf\x97\x88\x8c\x37\x1f\x66\xf8\x14\xba\xe4\x4c\xca\x42\xd8\x2c\x85\x76\x6d\x65\xc4\x6a\x66\x96\x01\x61\xc5\x0e\xf0\x9b\x08\x4c\x7a\xfd\xb5\xa3\xac\x85\x9b\xc5\x65\x2d\xa3\x2c\x2e\xe5\xa8\x17\x97\x89\x08\x41\xc4\x7f\xa0\x45\x36\x61\x14\x88\x5d\xd8\x09\x09\xf7\x91\x90\x70\x6b\xd5\xad\x77\x99\xa9\xad\x5d\xe8\x3b\x0e\x63\x78\x49\x9e\x96\x8b\xa5\xa4\x0e\x8f\xd4\xf5\xb2\x69\x74\x28\x2b\xb8\x4e\x23\x76\x49\xad\xbd\xc7\xec\x9b\x7f\x05\xc9\x63\x54\x92\xc7\x4c\x5e\x74\x79\x97\xea\xd2\xe8\xac\xa9\x0b\x5d\xd2\x2a\x3f\x69\x28\xc4\x03\x19\x43\x3f\x25\xab\x95\xf4\x4c\x64\x0e\x6d\xea\x2b\x41\x0b\x66\xa7\x6e\xcc\x0c\x97\x6a\x0f\x76\x6d\xe3\x7d\xc5\xef\x39\xaf\x70\xa1\xbb\xe5\xee\x04\xeb\xee\x5d\x67\x18\xce\x40\x04\x5d\x17\xb4\x46\xbf\x26\xec\xb6\x9b\xcb\x6e\xeb\x6d\x8b\xb5\x0e\x85\x39\xbe\x07\xa2\xb0\xfc\x33\x20\x6a\x36\x54\x16\xc4\x0d\x08\xc0\x36\x88\xa5\xf0\x51\x6f\x81\xba\x2d\xab\x17\x24\xd3\x62\x59\x8e\x87\x52\xe3\xc1\x4a\x03\x43\x5e\x13\x1f\xdb\x27\x5f\xa6\x43\x60\x76\xe4\x9b\xad\x00\x76\x3d\x6a\x5f\xec\x1e\xa8\xd0\xb9\xde\x19\xbc\x96\xa1\x9f\x42\xf2\x40\xb7\x77\xdf\x0c\x4f\xc3\x48\xbe\x0d\x63\x2f\x7c\x37\xc6\x06\xe4\x16\xdc\x35\xd8\x4f\xe7\xd9\xa9\x43\xfd\xe7\x83\xcd\xab\x6f\x08\x5b\x8f\x49\xb1\x0e\x34\xab\xbd\x21\x64\x87\x3f\xea\x1a\xe8\x75\x8b\xd6\x1e\xf6\x9a\x97\x35\x3b\xb6\x44\x53\xd6\xba\x2e\xb8\x86\xd2\x8c\xc7\x21\x9d\xc4\x4e\x21\xd9\x2b\x72\x58\x92\x26\x26\x87\xbc\xf1\x0a\xb3\xad\x77\xe2\x9c\x82\x43\xfe\x47\xc4\xcf\x2a\x38\x64\xff\xd6\x96\xc8\xae\x17\x42\xbf\xa2\xb7\xc6\xab\x35\xfe\x86\x86\x7d\x10\xf2\x1e\xd7\xc3\x6c\x8f\x0c\x62\x02\xe5\xa3\x6a\x83\x2a\x25\x29\x1f\xc4\x9a\x21\xae\x47\x8d\xbd\x4f\xb4\xef\x4c\x2f\x10\x0c\xe9\x8a\xc8\x26\x67\xd0\xe5\x5c\xfd\x3e\x6f\xd1\x6d\x4b\x6f\xbf\x79\x58\x77\x44\x9d\xa8\x51\x09\x5a\xde\xe1\xab\xc9\x19\x9c\x2e\x0b\xb8\x0f\xa7\x38\xbb\x68\xe1\xb2\x4d\x14\x04\xed\x81\x51\x3c\x2d\x41\xe3\xd6\xa0\x1a\x30\x42\x61\xa6\xab\xc8\xf8\x49\x63\xfe\xa2\xd5\x14\x07\x99\x10\x0f\x0d\x3f\xcb\x08\xa6\xe4\xba\x85\x56\x94\x96\x89\x6e\x1e\x73\xc8\x42\x7e\xb0\x47\x98\xa0\xf6\x95\xa3\x7c\x98\xa1\x52\x17\xd5\x36\xeb\x38\xbb\xf8\x92\x87\x8a\xdc\x47\x17\xd5\x9b\x00\x47\x79\xcb\xe9\x28\x48\xf7\xd4\x49\x19\x66\x09\x79\xa6\xbe\xa1\x2b\x24\x94\x7b\x9b\x56\x48\xbc\xb5\x52\x25\xae\x92\x02\x99\x5b\xc5\x77\xa0\xb3\x4d\xa4\xce\x14\x9d\xce\xb8\xe5\x29\x47\x08\x74\x9b\xf0\xdc\x99\xac\x07\xfb\x60\x71\xf9\xfe\x22\x9a\x27\xe6\x10\x4b\x20\xfb\xb4\x24\x41\x4b\xd7\x7e\xd8\x73\x98\x55\x4b\x0c\x35\x54\x1c\x1b\x82\x59\x93\x48\x23\x19\x61\x5b\x62\x48\x4b\x2d\x5a\x18\x56\x5f\x55\xc1\xd0\x0f\x83\x26\xff\xb7\xf2\xe0\x23\xea\xfe\x0c\x97\xa8\xfa\x02\x92\x2d\x09\x52\x74\xa1\xf2\x32\x62\x7e\x56\x11\x38\x58\x64\xe5\xba\x01\x56\x8b\xac\xd4\x46\xc8\x1a\x59\xa3\xa4\xd5\x06\x17\x08\xbf\xcd\xd8\xc1\x68\xf5\xa2\x04\x16\x09\xc0\xd7\x60\x88\xe1\x02\x66\x24\x18\xc5\x71\xd8\x07\xaf\x31\x08\xd5\x2f\x1a\x8d\x6c\x7d\x51\x0d\x54\xad\xf8\x20\xab\x60\x91\x97\xf0\x67\x1a\xcf\x89\x00\x07\x5c\x5d\x98\x2b\x1e\xc4\xf5\x82\x37\x2a\x6a\xcf\x46\x5f\x3b\xfa\x6d\x20\x7d\xc5\xcf\x3b\xd8\xdc\x6f\x5a\xb4\x21\x9c\x36\xf2\x89\xd0\x29\x00\xa8\x64\xc2\xaa\xfd\x14\xe1\x27\xf0\xad\x51\x1c\xb3\xd7\x1b\xda\x2d\xfd\xa1\xbb\x7a\xb5\x52\xbf\x1e\x60\x18\xe1\xa1\x24\x55\xea\x22\x00\x62\x2f\xf4\x87\x68\xa1\xcd\xa9\x75\xdb\x30\xa1\x1a\xe3\x77\xd7\x97\xf5\x1c\xda\x12\xcf\x2b\xc0\xf9\x29\xc3\xf8\x07\x84\xe6\x8f\x33\x16\x15\xb1\x51\x68\xd4\xd2\x4f\x56\xc0\x76\xb8\x16\x36\x02\xae\x9f\x8b\x9a\x5c\xd0\x3e\xfa\xb5\x52\xf6\xc9\xc5\xb2\x82\x4d\x2f\xe2\xbc\x82\x4f\xc2\xb0\x6c\xc0\x94\x05\xa4\xf8\xc4\x4b\x11\x72\xa0\xb1\xdc\x49\x53\xad\xe1\xf1\x1c\x22\x17\xd9\xea\xdb\xd9\x55\x39\x11\xe7\x6f\xf5\x30\x9f\xc3\x92\xa5\x51\x7d\x23\xc2\xe3\xa8\x47\x9b\x08\x5a\xd8\x3c\x8a\xbf\x6b\xcc\x6d\xd8\x5d\xf6\x3a\x52\x46\x02\x85\x76\x6d\x1f\x5d\x1c\x22\x7e\x4e\x07\x50\x13\x5d\x98\xc5\xac\x30\xa3\x0b\xc2\x30\x82\xb6\x10\xd3\x72\x68\xbb\xd1\xb6\xc5\x6e\x97\x1c\xca\xc7\x63\xd9\x05\x0a\x31\xdb\x67\x1a\x58\x0b\xe5\xac\xfc\xbc\x96\x2f\x78\x3c\xba\x7c\x38\x1b\x56\xf3\x0c\x93\xc7\x05\x42\xf8\x61\x4e\xc7\x18\xe8\x4d\xb4\xe5\x33\x94\x3a\x6b\xc5\x7e\xc0\x80\xf9\x91\xb7\x55\x62\x54\x3f\x44\x8b\xe7\xcc\x7c\x40\x5a\x23\x36\x45\x9c\xf4\xa2\x54\xb6\x1f\x10\xa7\x1a\x9a\x9b\x20\x88\x67\x79\x5f\x17\x4c\x6e\x50\x02\x20\xc4\x32\xd6\x4b\x0d\xcc\xf4\xc1\xa9\x92\x10\xf7\xd5\xd5\x2b\x56\x60\x15\x46\xcc\x4c\xc9\xa8\x6e\x70\x15\xa1\x64\x62\x77\x17\xf1\xaf\x22\xba\x98\xf5\xf8\xf8\x52\xd2\xc7\x2d\x95\xe8\x39\x9d\x6a\xdb\x85\x33\xc0\x67\x70\x46\x5a\x9a\x11\x69\xd4\xa0\xb7\x3a\x44\x8b\x01\xef\xad\x75\xb5\xaa\x9b\xcf\xda\xf2\xba\x49\xa9\x25\xe5\xeb\x5b\xc5\xa7\x09\x97\x63\xf7\xad\x9a\x8f\xec\xae\xfa\xde\x59\x6e\x59\x46\x6b\xc6\xaa\x6d\xe2\x35\xa2\x34\x66\x95\xda\xc4\x68\x5e\x63\x73\x11\x9a\xd7\x8f\xa0\xf8\xe3\xcd\x3a\xd9\x59\x54\xb3\x66\x84\x5d\xbb\xea\xe7\x21\xca\x10\x0d\xb3\x60\x36\xa9\x2a\x17\x75\x71\x57\xe7\x65\xf1\xdd\x75\xa2\xf3\x26\xfd\x7a\x43\x7c\xd7\x1b\xa8\x5c\x6f\x0e\xc5\x66\x0b\xa4\x66\x92\x7e\x7c\xd0\xdc\xcc\x02\xa2\x7c\xd7\xee\x42\xb0\x76\x99\xf7\xb2\xfe\xb6\x9b\xac\x77\x58\x2d\x03\x56\xad\x26\x55\xa3\x67\xe7\xf8\xcd\x95\xc7\x16\xaa\x88\x7f\xa3\xad\x5d\xbf\x65\x9b\x42\x1f\xd3\x61\xa3\x6b\x4e\xa2\x30\x00\x15\x1a\x5c\xbb\xa0\xb1\x86\x4c\x61\x68\xb0\x85\xc6\xaa\xb8\xab\xb3\x40\xa1\xbd\x55\x5e\x7c\x55\x87\x5b\xad\xaa\xc9\x6a\x1a\x98\xc2\x52\xd2\x81\xb4\x62\xaa\x68\xe1\xcd\xcd\x57\x6d\xac\x1d\x23\x53\xae\xec\x3f\x15\xff\x76\xe8\xc2\x74\x74\x26\xdc\x09\x6c\x6c\x7f\x2b\x98\xd8\xb0\xc3\x64\x73\x52\x98\x70\x12\x73\xf2\x6d\xf9\x72\x0d\x0d\x98\xa3\xdb\xba\x15\x64\x03\x59\xdf\xb1\x73\xf1\xb4\x18\x7e\xea\x9c\x62\xdd\x0e\xe1\xc3\x5f\xb7\xce\xb6\xed\xdd\x41\x37\xab\x3a\x34\x45\x6f\x64\xcd\x6a\xeb\x43\xf2\x7b\xed\x03\x6b\xff\xd6\x18\xaa\x0f\xdf\xeb\xe7\x7d\x83\x05\xa8\x00\x74\xaf\x41\x73\xfd\x6f\x8a\x81\x1c\xc3\x4f\xc3\x41\x42\xf9\x8b\xb7\xfa\xcd\x15\x72\xf3\x5e\x1d\xb0\xd6\xac\x7c\xf5\x2c\x34\x1d\x46\xa4\x6b\x03\x56\x3d\x53\xbb\x29\x91\xbe\xa7\x22\xe6\xfb\xc3\x7c\xca\x2c\xb1\x61\x39\xa1\x07\x11\x4b\x10\x85\x4f\x21\x61\xa6\xd8\x80\x45\x77\x4b\xd3\x5c\x5b\xc2\xbc\xe1\x23\xd9\x00\x4e\x65\xca\x9b\x19\x2a\xa6\x32\xad\xb0\x06\x45\x78\xae\x98\xbe\xcd\x11\xf6\xc5\x54\xc0\xe1\xf5\x75\xe3\x09\x4c\xa9\x13\x21\xdf\x82\x92\x22\xbb\x49\xf0\xa8\xb4\xb6\xaa\xf4\xd1\x73\xa9\x84\xa3\xa2\x09\xb9\xe1\x3a\xb5\x6d\x75\xb5\x79\xe7\x3b\x4b\xe3\xe4\x6c\xbb\x48\xce\xa4\x87\xeb\x24\x85\xfd\x33\x16\x8e\xab\x9b\x96\x21\xfd\x57\x31\xc5\x9f\xd0\x0f\xa8\xd7\x6b\xcc\xf3\xd3\x74\x12\xe2\x20\x8b\x50\xc8\x82\x7c\x69\x4a\x68\xe1\xad\x50\xf5\x7a\x95\x55\xbf\xa2\xf5\x2b\x67\xfd\xac\x9b\xa2\x5e\x2f\xab\xbd\x17\x45\xf4\x85\x19\x24\x93\x33\x19\xfc\x20\x98\x70\x4f\x84\x65\xf8\x4e\x5a\xed\x17\xe8\x34\x00\x7b\x68\x59\x4c\xcb\x0f\x49\x87\xd5\x66\xe6\xf9\xcc\x74\x61\xdc\x01\xfd\x49\x98\xb0\x2c\x9a\xd7\x59\x37\x5d\xee\x98\xcb\x57\xdb\xd1\xcb\x28\x0b\xa3\xa5\x1d\x21\xc2\xbd\x11\x32\x3a\x16\xad\x76\x38\xce\xd2\x4c\x73\x3f\xaa\x39\x68\xe0\x19\x4e\xf8\x3e\x23\x59\x37\x06\xee\xd7\x60\xe0\x92\xfc\x3b\xc2\x85\xd2\xdd\x3e\x87\xe8\x62\x28\x5b\x35\x34\xda\x2d\xc0\xba\x26\xe8\x36\x64\xea\xfb\x7d\xe0\x28\x37\xe2\xaa\xb4\x42\xb0\x99\x9d\x56\x33\x0c\xdd\xa6\x6d\x0e\x1c\xac\x2a\x2e\x34\x5a\xe0\xd8\x98\x98\x95\x43\x3f\x05\x27\xf4\x0a\x50\x47\x74\xb5\x5f\x56\x1d\xf7\x85\x23\x58\xef\xd7\xe3\x36\x13\x04\x75\xd9\xd8\x71\x85\x6a\x3d\x69\xea\xbf\xcd\xf4\x7a\x4d\x42\x12\x67\x85\x1d\x7f\xd1\x11\x3c\x1e\xfb\xf8\x1b\xb3\xb3\x83\x2d\x77\x40\x19\xd8\x49\x25\x0e\xbb\xb2\xb5\xbc\xf1\x50\x62\xef\x16\x85\xa5\xe2\x62\x51\xe0\xba\x7e\x2e\xdd\x38\x71\xbd\x6b\x0e\x61\xaf\xb2\x66\xed\x91\xeb\x6b\x19\xca\xd8\xdf\xfa\x76\x8e\x6d\xeb\x57\x75\x6b\x42\x5d\x11\xb5\xee\x66\x7a\x2d\x82\xf6\x79\x07\xcb\xd5\x69\x11\x5e\xa7\x43\x19\x8c\x6a\x1f\x40\x55\x1a\x33\x23\xce\x34\x67\x0f\x56\xa9\xe7\x11\xe0\xd6\x13\xcf\xd3\x30\x4c\x88\x8b\x76\xd8\xa2\x9d\x26\x27\x0b\x6a\x10\x8b\xad\x79\x87\xa1\x06\x72\x69\xde\x5e\x4c\xdf\xc8\x26\x92\x30\x8c\xe2\x30\xca\x87\xf0\x92\xc0\x72\x1a\x90\x88\x38\xfc\x62\xdd\x6a\x91\x35\xcf\xf3\xa8\x28\x9e\x67\x97\x6f\x5c\x79\x02\x6c\x3d\xa1\xa9\xee\xb2\x54\x04\x1b\x69\xad\x06\x7e\xc0\x4c\x7f\xde\xa2\xd0\xaa\xf5\xd8\x87\x68\xe1\x78\x60\xf5\xe8\x7e\x74\x5d\x07\xdc\x58\xaf\x21\x34\xc2\xd0\xaf\xfe\xf5\x8e\x3f\xc2\xaa\xbe\x5b\x10\x39\x08\x13\x72\x1f\xd3\xc3\x20\xc5\xa6\xbb\x09\xab\x74\x88\x16\xdd\x94\xd4\xf1\x84\xcd\x32\x19\xa8\xde\xd4\xce\x6f\x44\x31\xa1\x4c\xfe\x8b\x4c\xb4\xb6\x45\x93\x04\x64\x70\x43\xdd\x7c\xc8\x22\xc3\x37\xf1\xde\x6f\x48\xeb\xd6\x9d\xa3\x28\xca\x1c\x8f\xef\x4c\x16\x67\x0f\xbb\x1e\xe8\xb7\xfc\x48\xb7\x5a\xbb\x69\x6a\x48\xd7\x9e\x75\xcf\xd3\xc0\x8c\x24\xa0\xc4\x61\x94\x4e\x3b\xbe\x78\x80\xd6\x8b\x8d\x78\x01\x68\xa6\x5e\x7d\xba\xe9\xf5\xe4\x13\xa9\x55\x41\xbc\xde\x48\x81\x5b\x2a\x85\x85\x8a\x53\x3e\x69\x49\x8f\x22\xeb\x49\x4b\x9a\x69\xae\x7d\xcb\xd3\xbc\x88\xb4\x51\x6d\xd6\xc4\xd2\xc3\xb0\x6e\xb5\x2a\x22\x48\x96\x48\xac\xf8\x92\x7b\xb4\xc0\xa9\x46\x37\x25\x0c\xc5\x43\x58\x90\x8c\xb6\xc1\xa9\x7b\x39\x0c\x48\x82\xd9\x62\xc5\x69\x1c\x1a\x31\xbe\x34\xf6\x81\xef\xe7\xac\x56\x1e\x46\xb8\xeb\x01\xe6\x5f\xd2\x38\xb2\xdd\x6f\xda\x8c\x59\x8c\x11\x38\x24\x3b\x9e\x68\x39\x60\x81\x25\x49\xf6\x1c\x4d\x61\xf8\x6e\x92\x55\xb0\xc3\x5a\x31\x5b\xea\xe1\xc3\x17\xcf\xdf\x3c\x7c\xf4\xec\x70\xf7\xcd\xcb\xa7\x5f\x3f\x7a\x36\x26\xa9\xa8\xfe\xcd\x47\x26\xa1\x94\x78\x1d\xfc\x32\x91\xf8\x81\x3d\x7b\xfa\xc5\x23\x0b\x96\xf3\x89\x6e\x1d\xa4\x97\xbb\x4f\x36\x83\xf4\x91\x46\xd7\x3a\x1b\x57\xd0\xc4\xe0\xfa\xc8\x2f\x36\x0a\x27\xae\x4d\x17\xa4\x88\x51\xe2\x5e\x8a\xac\xb0\x7d\x11\x46\x38\xca\x1d\x0c\xe2\x5d\x3e\x1d\xc3\x61\x3e\x85\x25\xc9\x67\x39\xc4\xd1\xd5\x18\x8a\x27\xea\x6f\xa2\xcb\xfa\xef\xaf\xaf\xaf\x9b\xb9\x65\xe9\x07\xd9\xb4\xaa\x7e\x76\x63\xa6\x44\x4b\xe3\x84\xb0\x48\x59\x2c\x4b\x27\xc3\xab\x89\x96\xd5\xef\x93\x10\xa7\x79\x60\x96\x1f\x11\x99\x52\xb0\x89\xc6\x72\x84\x87\xf9\xf4\x38\xc5\xca\x6c\x69\x9e\x70\xe3\xe6\x0b\x2c\xa7\x9b\xf6\x2e\x9e\xa5\xcc\xbe\x1c\x08\x29\x34\x39\xb6\x70\x60\x4e\x81\x63\x1e\x33\x82\x87\x2c\xfd\x09\x03\x47\xfd\xd4\x39\xf6\xe1\xd5\x00\x0f\xaf\xbc\x74\x41\x1f\xa5\x22\xfe\x5f\xe5\xe3\x22\x28\xa9\x18\x17\xa9\x24\x17\x29\xdd\x5c\xa4\xba\x5f\xb2\x5a\x65\x18\x55\x37\xe7\x22\x55\x78\x6d\xb3\x11\x3f\x17\xa9\x7d\xf5\xdd\xa2\xc7\xfb\xd9\x6b\x70\x97\xc6\x4d\xf7\x12\x73\x7f\xf4\x6c\x25\x5a\xe6\xd9\x49\x92\x04\x37\x7c\x80\x74\x28\x8d\xbb\x9e\xd7\x16\x79\x1b\x18\xf8\x14\xb7\xb5\xca\x7c\x2b\x0c\xcd\x53\x59\x7f\xab\xc4\xbe\xb7\x4a\xa2\xc4\x58\x69\xe9\x40\x04\x70\xcd\x93\xdc\xad\x90\x54\x6a\xee\xb4\x57\x18\xaf\xbf\xff\xba\xf4\x2d\xaa\x2a\xc4\x77\x65\x64\x76\x7f\x6b\xc7\xd2\x1f\xd5\x2e\x5a\x6b\x5e\xab\x9a\xee\x37\x7a\x3c\x5b\x77\x25\xb6\xe9\x6c\xbe\x01\xca\x18\x71\x89\x57\x21\xac\xd4\x35\xe9\xec\x18\xe8\x78\xe3\x0b\x67\x7f\xe4\xd1\x2e\x6d\x4e\x77\xe4\x79\xd7\xab\xb5\x1a\xeb\x69\x6e\xf6\xee\x79\xa5\xb9\x6e\x63\x27\xaa\x07\xb0\x73\x53\x37\x3e\x02\x72\xcb\xf0\xc0\x7f\xc3\x19\x46\x73\xca\x6f\xf6\x98\x52\x68\x78\x71\x96\x4f\xce\xc2\x21\x41\xcf\xd0\x05\xc4\x7b\x59\x45\xc5\x5b\xca\xb3\x09\x2e\x3e\x87\x57\xab\x15\x1c\xce\x21\xc9\x3e\x87\x57\x61\xaf\x07\xce\x41\x4a\xaf\x0b\x5c\x5a\x55\x9d\xc6\xa4\x37\x4d\x0b\xca\xdc\x81\xda\x66\x80\x2e\x38\x8a\x19\x52\xe2\xb6\xb5\x20\x8d\xb4\x2c\xfc\xb4\xdf\xd1\x49\x1c\x13\x1d\xde\x79\x56\x2c\x21\x73\xad\xb6\x3f\x33\x65\xa3\xed\x0f\x14\xfb\x39\x6e\x8b\xe3\x9b\x91\x5f\xb1\x22\x68\xf1\x12\xa3\x45\x76\x9a\x71\x84\xdb\xac\xa5\x6b\xd3\x3a\xf1\x1a\xb4\xce\x6a\x5a\x7a\x23\x7f\x93\xc2\x1d\x79\x57\x18\x03\xe1\x1f\xb9\xbe\x23\x2e\x65\xa2\x73\x28\x24\x4d\x97\x99\xbf\x27\x7e\x1c\x34\x82\xfb\x31\xe7\xa4\x4a\xe4\xe1\xb5\x52\x45\x8b\xef\x18\x56\x68\x89\x27\x50\x4d\xd7\xab\x47\x06\x94\xa9\xc1\xeb\x0f\x2f\x16\x14\x9b\xaa\x09\x1d\xe8\x00\x2d\xa2\x08\xf2\x20\x20\xca\x4f\x31\xf2\x8d\x92\x00\xcb\xcf\x5f\x1e\xb2\x48\x84\x87\x22\xcd\xb6\x63\x91\x62\x34\xcb\x0b\xf8\x74\xaa\x3b\x57\xe4\xf3\x0c\x5f\x1d\x88\x10\x25\x75\xf0\x40\x08\x4b\x5e\x21\x2b\x08\xc4\x65\x46\xa0\xbf\x4a\x1d\xdf\xc4\x06\xa8\x56\x30\xe3\x19\x36\x09\x20\xd5\xa0\x77\x66\xf8\x42\x35\x68\xa1\x1a\x8c\xac\x4e\x11\xbd\x49\x48\xa1\xd6\xe6\x37\x88\x7d\xe1\x6a\xbe\x71\x88\x85\xba\xb1\x10\x7a\x14\xc1\x45\x6d\xd0\xd8\xe0\x3a\x43\x10\x1a\x99\x98\x55\xe8\x27\xd9\xe4\x2d\x7f\x85\x95\x29\x9f\x49\x76\x72\x40\xd0\x42\xf9\x22\x64\xa3\x43\x51\x50\xbb\xda\x9e\x8b\x8d\x75\x88\x16\x6a\xbf\xf2\x33\x97\x45\x36\xcd\xcd\x79\x70\x96\x2d\x20\x0f\xf3\x2e\x72\xbe\x2b\xdf\x87\x0f\x9e\xbd\xd8\xfb\x5c\xad\xce\x5c\xec\x6c\x28\x0f\x8a\xbc\x7c\xbb\x77\x35\x29\xe0\x9b\xf4\x68\x14\xc7\xd1\x28\x8e\xc5\x28\xe6\x57\x2f\xca\xbd\xa6\xd2\x9b\x9a\x96\xca\x37\x8b\xa4\x86\x4f\x9f\xda\xe1\x4c\xf7\x67\xd4\x82\x56\xb2\xf1\xbf\x28\x5f\x2c\x09\xe3\x91\x76\xc9\xe7\xf0\xaa\x22\x18\xbd\x85\x76\x21\x63\x3e\xbb\x18\xa3\x0b\x5a\x49\x9b\x50\x38\x83\x19\x79\x8e\x96\x15\xdc\x87\x0b\x84\x49\xf5\xa6\x0e\x3f\x79\x02\x8b\x62\x77\x39\xcd\xd1\x3a\x9b\xfe\x8c\x56\x92\xc6\xf5\x4d\x2b\x35\xf8\x00\x2c\x8a\x01\xaf\x66\xd5\xd2\xbd\x72\x17\x18\x16\x28\xa3\xec\x2b\x5b\x12\x0d\xe8\x17\x88\x5e\xa7\x26\xec\x10\x78\x96\x57\x44\x5d\x4c\xd5\x5b\x82\x16\x6a\x85\x07\xb0\x28\x9a\x91\x54\xd9\x39\x9c\x0a\x46\xa8\x44\xca\x94\x1f\xf8\x5e\x17\xe5\x62\xc5\x5a\x71\x35\xcf\x65\x7e\xfd\x2f\x0f\xd5\xd9\x7c\x2b\xf8\xad\x28\x94\xec\x57\xad\x92\xa3\x3a\x99\xb9\x58\x86\x4f\x5f\xa8\xe5\x90\x85\x21\x65\x73\xf0\x10\x67\xa7\x7c\xa5\x37\x71\x43\xd1\xe2\xea\x45\xc9\x45\x1c\x65\xe2\x58\xf4\x2f\x16\x50\x77\xaf\xc8\x27\x6f\xb9\x0b\xa3\x51\xcc\x3e\x3e\x58\x12\x82\x4a\xa5\x88\x76\xc3\x77\x1f\x0f\x8e\xc6\x98\x80\xa4\x14\xcb\x56\x5b\xbf\x19\xec\xce\x08\xc4\xbc\x3c\x96\x37\x29\x16\x3b\x89\x32\xce\x37\xc1\xbd\x38\xda\xba\x53\x5f\x53\xe4\xe5\x4d\xee\xe9\xe6\x02\x43\x5e\x72\x96\x1f\xc0\xd5\x0a\x88\x9d\x0f\x22\xf3\xc1\x15\x95\x92\x3e\xfb\x30\x9b\x5e\x05\xe1\xb5\xca\xbe\xae\x23\xf7\x36\x4e\xdf\xb1\x7d\x3c\x06\xec\x1f\x10\x3d\x78\xb4\xfb\x7c\x0c\xe8\xff\x83\xe8\xd5\x17\x0f\x1f\xed\x33\xbd\x0e\xa8\xff\x04\x1a\x20\x4d\x43\xa2\xf6\xae\x2a\x61\x3d\x2d\x48\x76\xc2\xfd\x2e\xef\xb9\xcb\x9b\x71\xbb\x3c\xf1\x95\x53\x10\x0e\x31\x5c\x14\xd9\x04\x06\xb7\x5e\xdf\xba\x75\x1a\x01\xa0\x66\xb0\x15\x26\xfa\x18\xce\x2a\xf9\xb8\xc8\x7f\x0c\xa7\x30\x9b\x90\xfc\x9c\xb9\x91\x45\x4a\x81\x58\x6d\xd6\x41\x1f\x18\x1d\x6b\x8d\x86\xd9\x74\xfa\x42\x86\x8e\x65\xd1\xb9\xa3\x77\x20\x2b\xc8\xe0\x14\x0f\xe6\x68\x0a\xc1\x58\x93\xca\x52\x1e\x0a\x1f\xee\x00\x58\x0e\x96\x15\x48\xd3\x32\x3b\xcf\x4f\x33\x82\xf0\xb0\xc8\xca\xd3\x65\x76\x0a\x75\x49\x78\x87\x47\xdb\x1a\x03\xcc\xec\xd4\xb3\x82\x80\x31\xe0\xc1\x97\xa9\x24\x7c\xb5\x80\x68\xd6\x81\x3b\x46\xab\x31\x6f\x15\xdd\xfa\x2e\xa0\x7f\xac\x58\x9c\x89\xac\x20\xab\x02\xce\x18\x90\x55\x0d\x2e\xfc\xe0\xd6\x90\xc0\x8a\x04\x30\x5c\xad\x02\x98\xca\xe8\x5e\xb8\xde\xa3\x54\x88\x78\x82\x9f\xa3\x29\x73\xf6\x65\xa3\xa3\xcc\x98\x45\x95\x19\xe4\xd5\x80\x4a\xe7\xcd\x17\x7d\xc4\x3a\x94\x07\xb2\xd2\xd3\xea\x39\x24\x59\xfd\xb3\x86\x2b\xa0\xb5\xc1\xe0\x4d\xeb\x16\x15\x2c\xa7\xd5\xe0\xe2\x2c\x23\x7a\xa3\x5b\xdf\x05\xb0\x9a\x64\x0b\xb8\xba\x37\x38\xc9\xc9\xea\x04\xa3\x8b\x0a\xe2\xc1\x5b\x78\x65\x8d\x98\x57\xb4\xc6\x7c\x40\x41\x7f\x75\x96\x11\xde\xd9\x72\x4a\x25\xe3\x01\xe3\xc9\x15\xf3\x16\x1b\xdb\xba\x7a\x28\x83\x9a\x7f\x57\xe4\x27\x03\x29\x77\x8e\x83\xd7\x07\xfd\xf0\x56\x98\x90\x1d\xec\xe7\xe1\x15\x9e\x00\x2a\xdc\x8a\x46\xcc\xfb\x37\x23\xd9\x2b\x5c\x04\x84\x45\x64\x1f\xaf\x6b\x0c\xc3\xeb\x08\x08\xb6\x3e\x28\x15\xbe\xce\xb0\x36\xd6\x62\xaf\xa7\x72\xfe\x9d\x00\xfb\x0f\x04\x70\x8a\xb3\x92\xc0\x29\x48\xd3\x54\x2d\x1d\x2e\xe8\xfe\xad\xe8\xcd\x3b\xf2\x37\x5f\xad\xf4\x14\xb0\x5e\x04\x3b\x79\xd5\x21\x78\x09\x3b\x27\x4b\xd2\xb9\x80\x9d\x29\x62\x66\x65\x67\xd9\x39\xec\x34\x3d\x75\x08\x92\x11\x0c\x3b\x2a\x88\x6a\x08\x18\x89\x5a\x8e\xb5\xeb\x08\x34\x62\x04\x0f\x23\x67\x2e\x35\x3b\xd8\x00\x4b\xe2\xa4\xb6\xcb\xe7\xd9\xa9\xb5\xcc\x35\xf1\xd2\x0a\x2a\x60\xc1\x60\x22\xef\xa6\x20\x98\xbc\x6d\x42\x90\x5e\x97\x1b\x43\xa9\x13\x62\xd6\x90\xf8\x0e\xe6\x3b\x68\xfd\xfe\xad\x6b\xb0\x7d\xa1\xef\xdd\xc6\x5b\x74\x9e\x2d\x58\xfa\x09\x9c\x4f\x61\xa5\xc3\x12\xbc\x6f\xb5\x82\x9d\xbc\xac\x48\x56\x4e\x28\xef\x7a\x71\xf2\x4b\x38\x21\x74\xf9\x9d\x93\x46\xdd\xff\x3c\x5b\x08\x8d\x5f\x40\xb7\xa5\x55\x54\x41\xf2\x42\xf6\x12\xc0\x30\x1c\xeb\x4b\xac\x61\xe2\x1d\x1d\xb5\x39\x9a\x36\x0b\x46\x46\x90\xcd\xca\x0e\x62\x58\xf0\x3c\xd9\x74\x3c\x3c\x3c\xe8\x09\x8b\x45\x69\xaf\x10\x45\x50\x0d\xba\x5d\xab\xc5\x60\x42\xc5\x5e\x63\xbb\xa9\x63\x66\x89\xac\x7b\x3d\x50\x2e\xe7\x27\x10\x2b\x7c\xfc\x28\x3e\x76\x7e\x1e\x1d\xef\x60\x87\x5c\x0d\xc7\xae\xaf\x76\xfb\x9d\x23\x18\xc1\xe3\x71\x2d\x86\x37\xf8\xfa\xf6\xc0\x5e\x23\xda\xf3\xf5\xc2\x2a\x0e\x16\x59\x01\x09\x81\xbe\x19\x16\x09\x2a\x7c\x93\x6c\x7c\x64\x54\x60\x8d\x72\x71\x8d\xe7\xff\xbc\xe4\x9d\xa4\xf5\xd7\x8a\xa0\xc9\xdb\x3d\xa5\x68\x38\x41\xe5\x24\xa3\x4b\x03\x86\x75\x6a\xa2\x4e\x5e\x76\xa0\x4c\xfe\xd0\xf8\x5d\xf3\x40\xe4\xd5\x17\xd9\x17\x01\x0a\x57\x2b\xb4\x1d\xaf\x56\xe8\xfe\xd6\xdd\xbb\xa1\x66\x53\x27\x9c\xdd\x3b\x4c\x2f\x43\x41\x89\xa1\xb2\x74\xe5\x7d\xc0\x56\xc6\x11\x39\x6e\x82\x3e\xc3\x23\x74\x2c\x53\x43\xd4\x98\x96\x08\xcf\x99\xa4\xb7\x77\x70\xc0\x6b\x24\x3c\xe9\x86\x63\x7c\x47\xe8\x38\xad\xc2\xeb\x6b\x6c\x5c\xba\xcd\xec\x65\x3c\xde\x81\xd2\x90\xed\x08\xf3\x62\xbf\x41\x2b\x57\x3a\x6e\x75\xa3\xb8\x67\x58\xd9\x24\x19\x9d\xb0\x0e\xc2\xd6\x6e\x41\x8b\xab\x01\x2a\x45\x5c\x34\x73\x35\x69\x92\x78\xb7\x4b\xd9\xc5\xb2\x82\x03\x21\xd0\x0e\xf8\x8d\x78\xc0\x02\x25\x1a\x2d\xdd\x22\x37\x83\xc0\x04\xee\x26\x10\xdb\x20\xa3\x22\xb7\x13\x88\x57\x34\xe7\x70\xa8\x60\xb4\x28\x96\xd5\x60\x9e\x97\xcb\x6a\xf0\x03\xc4\x68\xf0\x03\x42\x73\x2f\x1b\xa4\x2d\x5e\x16\xcb\xea\x39\xad\xff\x2d\xc4\xe8\x5b\x84\xe6\x69\x0d\x6b\xe2\x44\x42\x6b\xbd\xc7\xfa\xaf\x5b\x88\xf0\x5f\xad\x4d\x64\xac\x95\xc8\xe2\xef\x4d\x94\x16\xbe\x4f\x61\x56\x91\x41\x56\xe5\x59\x39\xc8\xe6\x27\xf9\xe9\x12\x2d\xab\x41\x56\x0d\xc8\x05\x1a\xf0\xf4\x7f\xc6\x96\x1d\x5e\x4c\x86\x18\x9e\x66\x78\xba\xf7\xcb\xb7\xbb\xb2\x09\x43\x8f\xdf\xb0\x06\x4c\x80\x1a\x4c\x50\x49\x30\x2a\x4c\x34\xcf\x89\xb8\x88\xdd\x7b\x90\x33\x05\x36\x46\x85\xa0\xad\x68\x7e\x82\x8a\xa9\xc5\x61\xae\xca\xc9\x03\x54\x4c\x0f\xb2\x19\x3c\x20\x22\xa2\x83\xda\x80\xa2\x7c\xc2\x64\x54\xb3\x69\xfb\x66\xe1\x20\x28\xe8\xdd\xea\x01\x6b\x4f\x91\xd9\x60\xbf\xb8\x1b\x2a\x48\x39\x8f\x02\x3a\x0c\x5a\x60\x8d\x61\x52\xe4\x0b\x36\x7d\x03\x96\x5d\xd3\x4b\xb5\x3d\x59\xef\x2b\x5a\x4d\xef\x72\x0a\x27\xa3\x2d\x6f\xcb\x87\xb4\x54\x34\x50\xc2\xdd\xba\x50\x6c\x42\x88\x31\x14\xeb\x28\xb8\x0e\xbe\x2f\x43\x59\xf0\xc5\xc4\x6b\xca\x20\x66\x1b\x81\x96\x9a\x18\xef\xc9\x62\x04\x9f\xe2\x1d\x9d\xa1\x39\xa4\xa2\x79\x35\x90\xca\x64\xcf\x66\xa0\x15\x3f\x87\x57\xc2\x28\x8a\xae\x52\x5a\x94\x97\xd3\xbc\x3c\xad\xcc\xb3\x48\x15\x5e\x44\x15\xce\x0e\xd8\xc1\x41\x79\xb8\x7d\x46\x85\x04\x5f\xbd\x73\x35\xcc\xa6\xd3\x07\xe2\x6f\x8a\xf3\x84\x89\xf9\xb0\xb1\xcc\x16\x51\xea\x59\xfc\x7d\x7a\x7e\x28\x78\x75\x16\x35\x97\x15\x3c\xd3\x15\xdf\x7e\x6d\xcb\x47\x32\xa2\x3f\x67\xbf\x80\x12\x6e\x9e\x5d\x0e\xf8\x6d\x70\x50\xc1\x5f\x2d\x69\x45\xc7\x8a\x99\x67\x97\xfc\xed\xe5\x40\xd4\x61\xdb\x7b\x0e\xa7\x79\xc6\xa9\x9e\x61\x38\x98\xd1\xbf\xbc\x84\x67\x95\x29\xe5\x77\x31\x7c\x4c\xff\x15\x20\x48\x26\x04\x48\x71\x89\xf2\xb7\x27\x19\x13\x1c\x1f\xb1\x7a\xbc\x35\x0b\xc5\xce\x6f\xa2\x93\x22\x9f\xbc\x75\x73\x42\xa7\xce\xa6\x69\xcf\x83\x27\x9e\x30\x7d\x8d\x6b\x89\x3e\x37\x74\x3a\x6c\xa1\x2e\xb2\xd3\xcd\x16\x1c\xad\xa8\x2f\x38\xb0\xc8\xaa\x8a\xde\x9c\x07\x42\xce\x72\x09\xb9\xbd\x5e\x00\xd3\xae\xd0\xf6\x36\x77\xfc\x65\x05\xf1\xee\x29\x2c\x89\xbc\x26\x3e\xcf\x26\x9d\x17\x07\x9d\xaf\x6f\x85\xbd\x1e\x58\xa0\xc5\x72\x01\xba\x29\x1a\xf2\x86\x87\x57\x0b\x18\x32\x07\x97\xaa\xda\x2d\xc8\x17\xac\xbb\x06\x05\x76\x7a\xfc\x2e\x71\xa0\x67\x8d\x89\x04\x5b\x01\xeb\x90\xf8\x19\x71\xa0\x97\x7f\x27\x0e\xe7\x2d\x53\xc8\x9b\x7d\xc9\x5a\x60\x38\x81\xf9\x39\x1c\xc0\x72\x82\xa6\x16\x57\xbb\xf5\x5d\xb0\x24\xb3\xc1\xbd\x15\xce\x2e\x74\x3d\x81\x26\x37\x7d\xa8\x8b\x8b\x33\x84\x3b\x0e\xc0\x9d\x0f\xfb\x2c\xba\x13\x60\x20\x81\x79\x91\x79\x24\x2a\x32\xb4\xf8\x32\xa4\x52\xd4\x5b\xa9\x90\x76\xdf\xec\x34\x8d\xb5\xde\x12\x31\x25\xb7\xaf\x99\x54\x81\x37\x6d\x4e\x32\x3c\x10\x26\x8a\x0e\x46\x6d\xbe\x09\x72\x4e\x2d\x7a\x63\xf1\xc2\x07\xf3\xec\x8a\xed\xfe\x41\x86\x31\xba\x18\xb8\x18\x88\x5b\x93\x0e\x2d\x48\xe8\x1c\x0e\xe6\xf5\x3b\x9f\x17\x1d\xfb\xe5\x50\xa0\x45\xb1\xf8\xd9\xa7\xd4\x80\xea\x98\xcf\x46\x4a\x73\xcf\xea\x59\x3e\x23\x03\xfe\x00\xbf\x46\xcc\x63\x55\x9f\xb2\x9a\x0d\x87\x23\x42\x3f\xea\x19\x1a\x5b\x4f\x2c\x73\x1f\x2f\xe5\xb4\x60\xb1\xac\x27\x95\x67\x2a\x6a\xc9\xb1\x09\x01\xaa\x37\x1b\x50\xc9\x68\xb3\xb6\xcc\x1e\x81\x35\xbe\x40\x78\x3a\x60\xf6\x5a\x03\xb6\xa3\x07\x05\x9c\xad\x13\xdd\xec\xfc\x77\xa9\x53\x52\x73\xd5\x73\x75\xb9\x89\xb8\xe8\xc8\xac\xb7\x49\xa7\xa2\xa2\xab\xd7\x39\x4b\xc1\x77\xa3\x6e\x79\xd6\xbe\x4d\xfa\x95\x35\xaf\xaf\x75\xad\x33\x86\xd9\xf4\x80\x20\x9c\x9d\xc2\xc0\x7c\x10\x10\x55\x98\x6a\xec\x6a\xb7\x28\x82\x30\x22\xbd\x1e\x69\x7b\x18\xd0\x53\xbd\xd2\xf6\xbe\x38\x81\x1c\xb8\xa7\x71\x05\xc9\x03\x9c\x4d\xde\x42\x02\xa7\x9e\xc0\x91\xf2\xf1\x68\x78\xa2\x57\x84\x7e\x90\x8a\x2a\xc2\xe9\x2e\xd5\x3c\x41\x42\xeb\x6d\xd3\x17\x0f\xd4\x5b\x91\x65\xe4\x51\x82\x86\xba\x49\xe4\x44\x49\x27\x94\x8a\x98\x7f\x6c\x07\x46\x4e\x3d\x7b\x80\xee\x57\xae\x16\x72\xad\x0d\x95\x6a\x3d\xa4\x7a\xb4\x17\xa1\xcb\xc4\xc0\xbc\x36\x35\xef\x57\x55\xe0\x7c\x8b\x75\x3f\xde\x86\x6e\xeb\x84\x9f\x17\xba\x57\x13\xda\x5c\x3c\x7c\x13\xbc\x61\x3c\x5b\xb3\x63\xff\xac\xac\x0d\xb9\x6b\xbd\x61\xff\xff\x64\x56\x5c\xd7\x41\xdf\xac\x6c\x18\x0d\xd9\x44\xc7\x03\x10\x2f\xcb\x3d\x34\x9f\x67\xe5\x74\xaf\xc8\xaa\xca\x78\x6d\x54\xe2\x6d\x0a\x86\x7a\x0a\x49\x00\x60\x79\x9e\x63\x54\xce\x61\x49\x40\x98\x00\x71\x13\xab\x35\xad\xb8\xd7\xe3\xa9\x76\xf1\x6a\x15\xe0\xf4\xdd\xb5\xea\x46\x20\x12\xd0\xf3\x3e\xd9\x6b\x23\x0c\xde\x65\xf8\x94\x5f\xcd\xc6\x3c\x44\x78\x8e\xc6\xe2\xf5\x7b\xb8\x58\x56\x67\xf4\xa6\xda\x74\x39\xc6\x11\x2a\x1f\x5d\xe6\xc4\x50\xe1\xd0\xca\x68\x11\x84\x51\x3e\x5c\x96\xec\x4a\x5b\x14\xf5\x93\x3a\xfd\xaa\x0e\x61\x52\xa0\x0a\x52\x71\x11\x5e\xe6\x04\x84\xbd\x9e\x90\xce\xd9\xf7\x20\xac\x8f\x1a\x1b\x8e\x8a\x3f\x25\x5f\xe0\x9b\xab\xbc\x7a\xa9\xae\xcf\x35\x41\x67\x53\x97\xe9\x91\x0f\xb2\x8e\x94\xe5\x7e\x5c\x8b\x53\x26\xf6\xd6\xda\xd3\xd3\x21\x9e\xa0\xe9\x95\x6f\x34\x16\x49\x37\xef\x95\x2e\x06\x1f\x58\x7a\xb4\x55\xd5\x97\x19\x36\xf2\x42\xa7\x40\xa6\xf3\x00\x32\xff\x5c\x6d\x41\x22\xff\x92\x81\x64\xf9\xa9\xc5\x9f\xcc\x17\x10\x93\xab\xe0\xfb\x0f\xde\xe1\xeb\x0f\xde\xc1\xeb\xef\x45\x1e\x6e\x1f\x3f\x72\x84\x47\x8d\x53\x79\x61\xb3\xd6\x7d\xa3\x33\x72\xda\x53\x69\x8a\xa3\xda\x7e\x81\x0f\x2f\x00\x75\x5a\x12\xe6\xb2\x04\xec\xf6\xba\x97\x47\x13\xd2\xac\x05\x14\x77\x05\x59\x0b\x4b\xb8\xba\x31\x60\x6d\x8c\xc5\x1b\xc0\xd5\xb5\x6e\xea\xb1\xae\x01\xb9\x36\x6c\xbf\x09\xb4\xd1\xa4\xb9\xe7\x4d\x53\xb8\x59\xab\xd0\x31\x23\x02\xa0\x7b\x3a\x85\xc2\x50\x97\x2c\x95\xd9\xae\xf5\x7e\xa1\x62\x72\x6d\x69\x6d\xbd\x98\x9a\x7a\x17\x4f\x28\x42\xb5\x5f\x87\x42\x87\x3d\xdf\xc8\x17\xad\x6e\xfd\xa2\x25\xdf\xdb\x5b\x54\x0a\xaf\x83\xaf\x47\xa3\xe4\x75\xd5\xaf\x1f\xdf\x7b\x3d\xb0\x87\x5f\x1c\x50\x30\x47\xa3\xe3\x1d\xb7\xc5\xcf\xd6\xd8\xfd\x7d\x24\x9c\x8b\x9d\x85\x5e\x79\xcc\xa4\xd8\x06\x44\x50\xd5\xe6\x4a\xce\xf7\x14\x86\xba\x20\xbe\x99\x1a\x3c\x85\xd1\x39\xca\x05\xff\xdb\x5c\x09\x9e\x42\x2d\x10\xa3\xba\xb4\x3c\x11\x3e\xf1\x86\x35\x01\x1f\x58\x94\xa7\x64\x08\x7f\xb5\xcc\x8a\x2a\xc0\x61\x92\x9b\x46\x02\x14\x89\xe6\xed\xb6\xea\x4c\xf3\x8a\x49\xc8\xe3\x0e\x85\xd2\x41\xb3\x0e\x85\xd3\xb9\x60\xfb\xbb\x33\xcd\x67\x33\x5a\x6b\x86\xd1\xbc\xc3\x05\xa6\x61\xa7\x43\x77\x40\x87\xaf\xf2\x4e\x5e\xb1\x97\xbc\x35\x1b\x6f\x23\xe9\x4a\xa1\x52\xbe\x99\xc4\xa4\xb6\x68\x5b\x29\xf5\x53\x82\xbd\xb7\x1b\x16\x58\xa2\x29\x1c\x4c\x97\x98\xbd\x61\x03\x7b\xf3\x6a\x0f\x16\xe1\x0e\x88\x87\x9f\x54\x60\x0c\x62\x2f\x03\xac\x37\xeb\x01\x3d\x4d\xda\xba\xb6\x73\x67\x02\x69\xe5\x27\xb4\xb4\xcc\x18\x52\x1c\xe8\xe7\x64\xf8\xfc\xc5\xab\x83\x47\x6f\xf6\x1f\xbd\x7c\xb1\x7f\xf8\xe6\xe1\xd3\x83\xdd\x07\xcf\x1e\x3d\xdc\x01\xde\x7c\x9c\x94\x6e\x21\x18\xfb\x2b\x2c\x50\x5e\x12\x88\x43\xff\x60\xb2\x73\xc8\xaf\x67\xeb\x92\x50\x70\x88\xd2\x2a\x82\xe7\x83\x6a\xe3\xe8\xba\xe1\xf6\x3a\xe8\xfa\x0a\xf0\x1f\xc4\x3e\xa8\xa6\xdd\xbd\x0e\xaf\xed\x72\xfa\x6d\x13\x26\x78\x83\x93\x47\x3f\x2e\x9b\x10\xc3\x7e\x8c\xf9\x5b\xec\x61\x4e\x0c\x37\x01\xc3\xb4\x79\x48\x58\x0d\x1f\xa2\x18\x56\x04\x61\x6b\xaa\x6a\xc6\x9e\x0f\x67\xc3\x49\x91\xcd\x17\x3c\x48\x6e\x14\x9b\xb6\xe8\x32\x72\xeb\x88\xb2\x1e\xb5\x36\x7f\xe5\x74\x34\xe0\x39\x23\x46\x32\xec\x57\x93\x8c\x72\x4f\x5b\x09\x01\x89\x70\x18\xd5\x80\xee\xe3\xd5\x4a\xfe\x9d\xa6\xb8\xd7\x6b\xbc\x1f\x42\xd3\x3b\xcf\x58\x52\xb2\x5e\xda\x8d\x7d\xeb\x8a\x3d\x47\xf1\xfe\x5f\xc8\xda\x8e\x73\xbd\x1d\xfa\x68\x9d\xf2\x84\x9b\x7c\x7a\x94\x27\xc2\xdc\x1b\xd6\x3e\x7f\x74\x5f\xf3\x76\x6f\xda\xf6\x83\x13\xb4\x4b\x09\xc2\x3b\x68\x5b\x50\x5a\x1a\x0e\xf1\x76\xd0\x4d\x65\x32\x22\x16\xd0\x5a\x8d\x7a\xcb\xfc\xfa\x27\x30\x2f\x6c\xa9\xde\x21\x49\x7e\x04\x6d\xb6\xef\x89\x28\x1d\xaa\xc1\x6e\x55\x93\x5d\xe8\x59\x7d\xa1\x1e\x09\xe2\xe0\xaa\x9c\xe8\x8b\xe9\x4d\x20\x1d\xe6\xad\x51\x00\x96\xcd\xd9\x4f\x16\x33\x32\x6e\x1b\x5d\xd4\x48\xb7\xeb\x84\xe1\x8f\xa0\x6f\x94\xce\x0d\x53\xa7\x7a\xba\xe1\x20\x05\x4a\xad\xa3\x54\x7b\x37\xee\xdf\x50\xf3\x88\x6d\xd0\x91\xa1\xff\x78\x4b\x1e\xed\x80\xdd\x39\xec\xfa\x1c\x03\xbd\x81\x88\x7e\x50\x47\x83\xcd\x91\x66\xc2\x5c\xc9\xd9\xf6\xad\x7b\xad\x5f\xd3\xed\x0d\x6e\xa7\xb1\x9d\x8a\x7d\x97\x10\x38\x5f\x90\x0e\x41\x1d\xd1\xba\x73\x92\x4d\x3b\x22\xd1\x01\xe8\xd7\x92\x16\xd4\x23\x96\x9f\x8a\x9d\xa1\x66\xe7\x37\x88\x61\xe5\x1f\x63\x26\x3f\xcb\x79\xc9\x83\xfa\x50\xb2\xdc\x8f\x79\x0c\x1e\xc3\x73\x44\x50\xc5\x61\x7e\xee\xe6\x9a\x44\x09\xd9\xa8\xa8\x46\x6a\x0f\x15\xe1\x72\x3d\x18\x25\xf8\x7e\x1a\xd7\xae\xb6\x75\xf9\x11\x3e\xde\x86\x61\x82\x07\x83\xd0\x68\xc8\x14\x17\x36\x4b\x56\x86\xe1\xc4\x68\xcd\x04\xc9\x18\xe5\x3f\x65\x86\x64\x8a\x8a\xd6\x29\x92\xb1\x07\x12\xf7\xea\x4b\xa1\x9a\xb9\xa5\x11\x4e\xc4\xa4\x6e\xc7\x3c\x8a\x12\x61\x5e\xe5\x44\xa4\x8f\x69\xa2\x4e\x98\xf1\x99\xf2\x81\xb2\xc5\x6b\x87\x21\x41\xfc\x34\xc5\xf4\xa8\x0c\xb9\xdb\xbc\x5c\x33\x1c\x0a\x7b\xa9\xc9\x43\x51\xa6\x0d\x62\xc1\x1c\x98\x83\x30\x22\x83\xc1\x35\xb7\x9e\xd3\x67\xe3\x2c\x9f\x31\xef\xd3\x80\x34\xa3\xd4\xba\x5f\x2c\xab\xb3\x61\xb6\x58\xc8\x9b\xa6\x51\x1e\xa1\x30\x62\x98\x89\xe0\x88\xd9\x65\xc0\x7e\x0e\x48\x14\x0b\x53\x08\x8a\xec\xfd\x98\xfb\x8e\x6e\xa7\x2d\x63\x94\x16\x77\x4d\x98\x45\xa7\x0b\x55\x1d\x8b\xa9\x74\x03\xab\x16\x45\x3e\x81\x4e\x6c\xe5\x4a\xae\xa2\xca\x58\x96\xcb\xb2\x21\x45\x49\xc9\x95\x56\x7c\x5c\xfd\xb4\xba\x96\x7c\x86\x07\xa4\xe2\x91\xa5\x49\x78\x2d\x77\xd9\x97\x87\xfc\xac\xd9\x87\xa7\x74\x35\x32\x47\x01\xa6\x1c\x6a\x4e\xdd\x5a\x1a\x0a\xb0\x57\xb8\xe5\x01\x82\xd0\xdc\x21\xa5\xab\x97\x7f\x2d\x40\x53\xe0\x15\x3e\x78\xbd\x47\xa5\xad\xd0\xf2\x40\x13\x69\x0b\xec\xd5\xd9\xde\xc3\xcb\xec\x14\xbe\x5a\x78\xae\xbe\xc6\x6d\x4c\x73\xa7\x4f\xd6\x0d\x4d\xdb\x8f\xaa\xc2\x67\xb4\x1e\xa3\x87\xe8\xc2\xa7\x93\xf8\x69\x38\xf5\xbd\x92\x6a\x2b\x4e\xcf\xf2\xf2\xb7\x46\xa5\x0d\xba\xfe\xed\x91\xc3\xdb\xf9\x45\xbe\x80\xc2\xe7\xdd\x4e\x9d\xe8\xe1\x71\xb1\xad\xf1\xd3\x12\x82\x1d\x39\x2e\xf0\xee\x4b\xfa\xf1\x70\x86\xf0\xa3\x6c\x72\x16\xb8\xdc\x38\x34\xd6\x7e\x3f\x6e\x82\x50\x70\x55\x14\xdf\xe0\x71\x1d\x3a\x9e\xc9\xf1\x74\x63\x06\x30\xd4\x1f\x5a\x1b\xd5\x99\x25\x34\xd9\x43\xd1\x53\x5c\xf9\x2e\x4e\xd0\xce\x97\xc0\xfa\xdf\x2d\x0a\x87\x17\x99\xc7\xbf\xac\xc1\xd8\x41\xb1\x8d\xf4\x20\xd2\x3c\xdf\x05\xce\x24\xf6\x86\x4f\x4b\x1a\x48\xcb\xd0\xde\x52\x75\x68\x66\xfa\x92\xd4\xe7\xc4\x00\x83\x66\x64\x9f\x7f\xf0\x6d\x02\x59\xc3\x22\x6b\x9b\xaf\x63\xfd\x94\xad\x58\xe0\xa7\x5d\x33\xa1\x83\x52\xb8\x31\x4d\x0d\x63\xef\xcd\x29\xe7\x6a\xb8\xfe\xf0\xa9\xe9\x2c\x0d\x7d\xfc\xd7\xd5\x19\xc2\x17\x19\x9e\x8a\xb5\xd4\x92\x30\xcf\xa7\x64\xe1\x77\x73\x1e\xb6\xc7\x29\x41\x26\xa4\xdf\x0f\xa5\xec\xd2\x88\x8f\xe4\xf8\x7e\xad\xff\x3c\x47\xf9\xb4\xa3\x63\xce\xc5\x45\xbb\x51\xa8\x49\x5f\xed\xf7\xe8\xc4\x0f\xd2\xa1\x44\x88\x36\xba\x9a\xfb\xd4\x28\x94\xad\xfd\x3c\x84\xf4\x89\xe1\xe4\x3e\xa5\xf1\x60\xe0\xa4\xe5\xf6\xfb\xd1\xd2\x59\xcf\x7f\xb4\x40\x62\x0d\x0f\x36\xe3\xdb\x00\xf5\x77\x2e\xdc\x1b\x45\x78\xb2\xe9\xd0\x9a\x3e\xa4\xdc\xd7\x1f\x45\x71\x04\x85\x78\x66\x15\xc7\xbc\xb0\x45\x63\x23\x06\xb6\x4b\x6c\x55\xe3\xfb\xcf\x1d\x8b\xe1\xfc\x62\x16\xc0\x30\x19\x8c\xba\x75\x94\x13\x1b\xfb\xc8\x4b\x73\xf3\x18\xb0\xc3\x33\x1b\xe4\x96\xe7\xa9\x15\x58\xa0\x45\xa7\x64\x1c\x28\x9e\xd9\x85\xab\x55\x1c\x35\xd7\x44\x9e\x79\x2b\x4f\x49\x4a\x06\xa3\x41\x40\xa5\xa1\x3f\xc0\x7d\x9c\xe4\xdb\xce\x1d\x96\xe4\xfd\x14\xcb\x44\x1d\xb2\xab\x20\x97\x09\x5f\xac\x30\x08\xde\xe7\x62\x02\xf1\x02\x43\x47\x8e\xe7\x73\xd2\x94\x06\x1b\xe9\x38\x3c\x7d\x4c\xe1\x04\xe1\xcc\x65\xec\xc4\xa2\x40\x40\xfb\x94\x97\x2d\x94\x6e\x5b\x9d\x07\xad\x73\xcf\x72\x46\xf4\x3c\xca\x1a\x2e\x84\x6d\x70\xda\xde\x76\x1d\x3e\x84\x6d\xa0\x6a\xcf\x44\x0f\x38\xc5\xf0\xd0\x02\x53\xdb\x2e\xb6\xb7\x6d\x02\x50\xb9\x1a\x73\x0b\xc6\x50\xcd\xb3\xc7\xd3\x73\xb3\xdf\xec\x4f\x2b\xbc\x84\xfa\x84\x6d\x01\x76\xbc\x7e\x1b\xbe\x0f\x35\x10\xcb\x6a\xd6\x02\x66\xdb\xde\x86\x66\x73\x87\x95\xab\x07\x8c\xc7\x7c\xb6\x1e\x7b\x1d\x78\xc4\x25\xc8\x37\xf6\x0f\x46\x6d\x9e\x30\x10\x95\x2c\xb3\xff\x25\x99\xc3\x72\x69\xab\x78\xbb\xa3\x6b\xf5\x89\x10\x95\xec\x0d\x49\x0b\xdc\xe1\x78\x13\xd4\xb2\x11\x07\x61\x82\x1d\xd9\xfe\xd9\x8b\xcf\x14\x5d\x94\x80\xca\xd7\xde\x1a\xcb\x45\x7b\x39\x0b\x17\xd8\x24\x77\xd2\x42\xb8\xa8\xb1\x49\x89\x13\x04\x5b\x26\x75\x60\x98\xc7\xf4\xd7\x1e\x8b\x22\xa8\x8c\x30\xea\xc6\x61\x0b\x02\x7c\x08\x0a\xe1\x94\x40\x52\xeb\xe1\xea\xb7\x08\x57\x27\x27\xc5\x12\xaf\xc5\x70\x14\x86\xee\x28\xd7\x66\x86\x51\xf6\x9c\x17\x26\xb9\x16\x8a\xec\x43\x71\x78\x0d\x4a\x34\x85\x47\x7c\x17\x81\x59\x56\x54\x10\x1c\x77\xde\x75\x3a\x27\xe8\x92\x6e\x8c\xbc\x3c\x1d\x77\xb8\xf1\xe4\xe0\x04\x5d\x26\x9d\x8e\xe9\x67\x3d\xee\x10\x9c\x95\x15\x0f\xa2\xaf\x66\x76\xed\xc8\x76\x42\x21\xba\xb5\xb8\x6c\xbe\x31\xa4\xc6\x9d\x0a\x15\xf9\x34\xb9\x1e\x5e\x4c\x18\x1e\xb4\x63\xe1\x01\x3e\xee\xe4\x65\x91\x97\x70\x70\x52\xa0\xc9\xdb\xa4\xd3\xa1\xc8\x0f\xb2\x22\x3f\x2d\xc7\x9d\x09\xa4\x0c\x3e\xe9\x48\x5d\xeb\x24\x2b\x26\x81\xfa\xb4\xa8\x1b\xa6\x84\x9d\x8f\x3a\x5b\x61\xd2\xe9\x30\x80\x52\xfb\xe7\xac\x2f\x73\x15\x5e\x8f\x31\x42\x84\xe2\xe3\x06\x39\xee\x7c\xe8\x78\x7c\x70\x5b\xbb\x24\x0e\x20\x8d\x0a\x72\x0d\x94\xc6\xce\x45\x05\xc3\xa7\x8e\x67\xe5\xa3\xd3\x30\xee\xc4\xde\x62\x8c\x2e\xf4\x62\xee\xca\xac\xbd\x36\x8f\x3b\xf1\xf0\x93\x4a\xa9\x63\x3d\xde\x8e\xd9\x04\xf8\x6a\x88\xd7\xdb\x71\x47\x1c\xe0\xbe\x7a\x62\xda\xdb\x9f\x89\x93\xeb\x3f\x7c\x0b\xaf\x66\x38\x9b\xc3\xaa\xc3\x90\xa5\xf3\xc0\x2c\x00\xde\x75\xd0\x22\x9b\xb0\x74\xc3\xa3\x61\x9c\x74\xae\x3b\x1d\x82\xd4\xaf\x31\xfb\x7a\x3d\x6c\xc6\x48\xdb\x66\x65\x3e\xe7\xd1\x08\xca\x6c\x0e\xc7\x1c\x68\xa2\x7e\x6f\x08\xa1\xe2\xe6\xa0\x54\xa8\x35\xcb\x09\xe4\x9f\x07\x2c\xdf\x0d\x5d\xb4\xb3\xbc\xcc\x09\xd4\x6a\x91\x7c\x9e\x97\xa7\x03\xc9\x2f\xc6\x1d\x98\x55\x70\x90\x33\xbf\x0e\x1d\x8b\x1c\x43\x51\xa5\xbe\x16\x26\xd7\xc0\x64\xe2\x67\x30\x9b\x6a\x01\xf2\xf3\xd0\x0e\xfe\xd4\xce\x14\x94\x3c\xd1\xaa\xb1\x74\x13\xa1\xa8\x76\x50\xe0\xc5\xc0\xae\x3b\x29\xb2\xaa\xfa\x22\x9b\xc3\x14\x28\xac\xc4\x51\x71\x7d\x56\x69\x9e\x4e\x7a\x83\x5d\xac\x95\x9a\x9b\x20\x0c\x79\x7a\x6a\x3f\x1c\xb1\xbb\x5b\x01\x61\x74\x11\x86\x49\xcd\x85\x38\xfb\x11\x7b\xbe\x05\xb9\x64\x23\xb6\x32\xb8\x80\x27\x6f\x73\x32\x60\x2c\x53\x50\x41\xac\xdd\xc8\xe2\xac\x9d\x51\x1c\xcf\x2b\xc6\xb4\x32\x9c\x0c\xe6\xe8\x87\xf7\x69\x07\x22\xeb\x76\x87\x1c\x52\x87\x16\x36\x20\xfc\x69\x8a\x1a\xf3\xa9\xd9\x29\x84\x58\x89\xd0\x94\x25\xa3\x9d\xec\x0f\xe8\x0c\xc0\x9b\xae\x6a\xbb\xad\xb2\xb8\x39\xcf\x99\xe2\xec\x54\x78\x09\xf2\x53\x06\x62\xe0\x6d\xbc\x61\x6a\xf4\xc1\xa7\x9f\x2e\x2e\x3d\xab\x67\x14\x2f\x2e\xeb\x65\xc2\x7e\x58\x3b\xdb\x93\x27\xda\x42\x67\x03\xd1\xe7\x48\x15\x55\x1a\xb9\x4a\x95\xa0\x00\xf3\xcd\x04\x11\x98\x9e\x14\xfc\x4f\xb7\xea\xd4\x47\x13\x4b\x70\x69\x32\x6e\xaa\xfb\xbf\xa5\x5a\x33\x72\x67\x25\x87\xbe\xb5\x15\xf0\x86\xd2\x99\x79\x51\x70\xea\x75\x21\xd9\x87\xe7\x10\x57\xf0\xcb\x7c\x0a\x51\xd0\x1d\x39\x68\x2e\x02\x7b\x3a\x2e\x34\x66\x7e\x67\xaf\xb1\x85\x14\xd5\x7d\x96\x16\x35\x85\xbc\x8a\x3b\x2a\xb9\xb5\x3d\xf3\xd4\xd1\x47\x7d\x28\x88\x60\xbb\xf6\x93\x2a\xf1\xab\xeb\x43\xdb\xec\xa8\xae\x72\x04\x8f\xad\x57\x55\x07\x88\xc4\x65\x5d\x85\xd1\x45\xc5\xc2\x87\x1c\x91\xe3\x56\x8c\xf9\x3e\xd4\x4d\x0b\x9a\x37\xec\xa3\xe3\x28\x4f\x61\x92\x6f\x93\x24\x97\x09\xd7\x90\xfa\xf8\xca\x2e\x29\x39\xbd\xa5\x30\x63\x7c\xa4\xca\xc6\x61\x94\x6f\x93\xc1\xa8\xd7\xeb\xb2\x44\x2a\x4a\x2c\x26\x26\x3f\x4a\x1d\x20\x08\x7b\x3d\xd1\x1c\xbc\x2e\x81\x0c\x52\xdf\xc1\xc3\x5f\xa2\xbc\x0c\x40\x9b\x5d\xb2\x78\xb8\x75\x65\x98\x30\x91\x84\xa1\x8a\x5b\x2b\x48\x9e\x9f\xbb\xd5\x36\xcc\x9c\x84\xbe\x9b\xfa\xa2\xd4\xd3\x9b\xf2\x14\xda\xa6\x01\xf4\x41\xd5\x6f\x8f\x36\x46\x51\x9e\xc6\x49\xbe\x0d\xad\xa9\xf3\xf2\xfd\x4b\x7a\x6a\x83\x30\x41\x36\xef\x34\xdb\x50\xb2\x33\xba\x02\x7a\x5c\x29\xf9\xf5\x70\x3f\xd7\x55\xbf\x74\x66\xf7\xd1\x45\x80\xc2\x6b\x47\x54\x78\x73\x50\x9e\xf7\xca\x24\x9f\x05\xd5\xfd\x98\x0f\xa3\xf4\xbd\xbf\x57\x61\xc2\x61\x35\x34\x5e\xf7\xf4\x5e\xba\x1e\x99\xd4\x94\x32\xd2\x10\x44\x2a\xbe\x58\x09\x0b\xea\x1c\x84\xd7\x32\xb3\x8c\x6f\x34\x2c\xaf\x4b\xfb\x78\x47\x0d\xa3\xdc\x15\x47\xa0\x65\x6e\xe7\x7d\x6e\xa0\xe7\x8f\x9d\x98\x32\xc2\x9a\x99\x44\xdd\x35\x94\xd5\xd9\x36\xd7\xdf\xee\xb9\x0b\x2e\x2b\xc4\x51\xce\x6f\xc4\x28\xaa\x12\xb8\x8d\x77\x02\x94\xc2\xa8\x4a\x71\x9f\x84\xe3\x00\xa5\x38\xaa\x52\xd8\x27\xb5\x90\xa2\x3e\xf8\xa1\xc8\x19\xcc\x56\x10\xef\xe9\x26\xaf\x77\x0a\x38\x6b\x54\x4d\xba\x4a\x2c\xf3\xb7\x8a\x17\x4c\xd4\xb6\x17\x28\xc2\x49\xb5\x4d\x92\xaa\xdf\x0f\x73\x85\x39\x56\xc7\xcd\xc2\x45\x7d\x9f\x15\xea\x02\xe7\x25\xf1\xec\xd0\x98\x19\x57\x5e\x4c\x86\x15\xe1\x46\x72\x2c\xe9\xf6\x36\x4e\x4c\x7f\xce\x0b\x9c\x2d\x32\x26\x5d\xd6\x2b\xaa\xf5\x69\xc4\x32\x9d\x44\xf3\x79\x4e\x9e\xe5\x25\x94\x76\x90\xf2\xc0\x2c\xe1\x05\xfd\x1c\x08\x3d\x46\x15\x95\x29\x1e\x90\x28\x4b\xbb\xa3\x64\xbd\x9a\xbd\x5f\xde\xf7\x19\x92\x05\x59\xda\x8d\xa3\xd2\x5d\x3c\x58\x0f\x3a\x8c\xb2\x5e\xaf\xeb\x23\xc3\x4e\x50\x09\xca\x2d\x4f\x2a\xc2\x04\x95\xa8\x1c\x8c\xc2\xbe\xfe\x11\xd3\x1d\x52\xa6\x38\x1c\x3b\xaa\xf3\x2c\xb1\x74\xd4\x05\x0b\xc7\xab\xbb\xe1\x2d\x8a\x9c\x7c\x95\x4f\x21\xbd\x3e\x70\x1f\xb2\xa0\xaa\x33\x88\xca\xd3\xf3\xac\xdf\x0f\xb5\xa1\x18\xef\x86\x17\x13\x76\xa8\x17\x47\x67\xc7\xe2\xef\xa8\xad\x7a\x56\x4d\xf2\xbc\x69\x51\xff\x34\x9e\x44\xf9\x76\x7b\x8e\xa6\x70\xc7\xb1\x0d\x05\xb2\x0c\x42\x45\xb0\xb0\x1d\x94\x75\xe8\x0a\x61\x41\x73\xcc\x6a\xad\x88\x89\x71\xd4\xa1\x6b\xd7\xa1\xdf\x8d\xf5\xc5\x33\xcf\xae\x4e\x58\x34\x9e\xbd\x3a\x3b\x21\x5d\x80\xfd\xb4\xbc\x5e\xff\x32\xa0\xb2\x84\x3a\xd0\x42\xb3\x0f\x7e\x1e\x53\x1a\xf3\x1d\xd7\x90\x6a\x62\xe6\xbb\x25\x6d\xef\x1d\xd6\x27\xc2\x6a\xf4\x06\xa1\xa2\xc3\xb1\xa3\x09\x74\xd7\xf7\x5a\x4c\x9e\x36\x78\x1f\xea\x2f\x9d\x42\xec\xe0\x46\xad\x56\x47\x3b\xd6\x97\xb1\xef\x95\x47\xe9\xc2\x4c\xaf\xd6\xd6\x8b\x40\x7d\xc7\xf5\x71\xec\xa3\xa2\x07\x05\xc1\xa4\x6e\xf6\x10\x88\xd1\x45\xba\xee\xf8\x4c\xd6\x21\xbe\x16\xb6\xd9\x4a\x9f\xd3\x57\x8b\x60\x83\x23\xba\xbd\xa3\x28\x0e\xc3\xb1\xdc\xe9\x3f\x01\xc8\xf8\xa7\x41\xe8\x8f\x28\x0c\x81\x87\x6a\x87\x37\xfa\x59\x20\x7b\x66\x9e\x0a\xfb\x8f\x21\x9c\xbe\xcf\x1b\x70\xa2\x1f\x70\xb6\x0a\x66\x39\x2f\xfd\x1e\xd1\x33\x84\xe7\x66\xcf\x3a\x1b\xce\x96\x04\xed\x65\x18\xe7\xd9\x29\xdc\x67\xfb\x60\x47\xef\x91\xd3\x45\x0e\xa1\x45\x6a\x61\x57\xdc\x67\xed\x43\xd5\x77\x3a\x1d\xce\xba\xd5\x9f\x90\x34\x15\xf3\xc5\x4f\x06\xda\x43\xe5\x9f\x2f\xca\x94\x5b\xec\xe8\x20\xce\x2a\x78\x88\x58\x84\x10\xcf\x6c\xa8\x06\xb8\x4e\x6a\x9b\x59\x0a\xcd\xd3\x28\x1f\xce\x98\x65\xf6\x59\x4e\x20\x8b\x7f\x5a\x3b\x8a\xf4\x47\xa1\xd3\x9a\xd3\x3b\x7f\x02\xdd\x7d\xcb\xcc\xbf\xc9\xec\xdf\x2e\x43\x99\x89\xee\x6e\x2a\xc0\x44\x38\x85\x3b\xb5\x25\x2d\x3d\x45\xc6\xc4\xb0\x35\xb7\x4e\xd0\x46\x8b\x98\x1a\xbc\xcb\xa8\xf8\xf0\xd1\xe3\xdd\x57\xcf\x0e\xdf\xec\xbd\x78\xf6\x62\x5f\x9a\xed\xfa\x2e\xf1\xed\xcb\xe4\x98\x22\x65\xc9\x3f\x25\x9a\x72\x3b\xfc\xa0\x0a\xb7\x37\xd8\x6c\x7d\x6c\x6a\x23\x58\x5d\x9e\x9b\x6c\xef\x2c\xc3\x55\x80\xc3\xa8\xb1\x1a\x71\xb8\xe6\x04\xfc\x8e\x57\x7a\x17\xd3\xc6\x8b\x06\xbb\xd7\x4a\xa9\x5a\xd3\x59\x7d\xb7\xad\xa3\xb6\xd3\xc7\x8b\xa7\xd2\xcd\x7e\x23\x70\x9b\xcb\xb7\x0d\xa5\x16\x8c\x76\x4f\xd0\xf9\xe6\x28\x29\x7b\x37\x68\xc4\x5e\x99\xdf\x8d\xf1\x8a\x5a\x92\x6d\xbd\x4a\x46\xad\x23\x4c\x7e\xce\x11\x3e\x80\x86\xbb\xd6\x26\x23\xdc\x17\x46\xa5\x4e\x2d\x88\x26\x6a\xd0\xed\xc9\x4f\x9f\x04\x6f\xa7\x24\xc1\xeb\x09\x80\x7f\x67\x04\x98\xe5\x45\xe1\xcb\x55\xea\xe4\xb2\x1e\x8c\xe3\x28\x6e\x68\x81\xd3\x38\xc1\x96\x41\x90\x50\x91\xd0\xe1\x37\x17\xe4\xb8\xc5\x72\x68\x03\x32\xe5\x6b\xd8\x3c\x74\x12\xca\x2b\xe4\xd6\xd6\xaf\x0e\x92\x40\xe3\x2a\x8f\x53\xa2\x59\x17\xf3\x6c\xe5\xda\xed\x9f\x0e\x0e\xf3\x81\x38\xfc\x13\x73\x36\xc9\x8e\x99\x75\xd4\xa5\xe4\xf5\xf1\x0d\x06\x60\x43\x84\xdd\xce\xb2\x49\xb3\x6c\xb8\xe9\x2f\xc5\xcb\x46\x82\x39\x49\x44\x58\x5e\x9b\xfd\xa1\x3d\xa4\x04\xe0\x5d\x58\x7e\xe9\x11\x5b\x32\x88\xb8\x61\x85\x51\x9e\xe2\x01\x19\x04\x30\x55\x8e\x3a\x3c\x20\x61\xd8\x1f\x25\xb9\xb8\xa5\xd5\x9a\xa6\x80\x44\x79\x44\xfa\xb0\x59\x94\x28\x85\x83\x51\x82\xee\xa7\x71\x82\xa4\xfb\x52\x0b\x0b\xea\xa3\xb5\x7b\xd0\x6b\x48\x46\x4f\xa2\x76\x02\x28\x3b\x8b\xcd\x0b\x1d\x7a\xee\x1f\x3a\x4a\xf3\x01\xee\x8f\xa2\x2a\xcd\x0d\x02\x20\x36\x7c\xd8\x4d\x91\x45\x01\x1c\xc1\xa8\x6a\xc6\x5f\xa6\x71\x52\x6e\xc3\xa4\x5c\xbf\xaf\xaa\x7e\xf9\x5e\x0c\x88\xbc\x07\x03\x12\xaa\x04\x16\x82\x7e\x33\x6a\x39\x44\xb7\xd5\xca\x74\x07\xd6\x34\x14\xa6\xce\xc1\xa3\x24\xf8\x79\x06\xa4\x08\x22\xeb\xd6\xbf\x2a\xb3\x40\xee\x49\x26\x35\x51\x1e\x69\x2c\xaf\x9a\x54\xc3\xef\x7c\x1e\x69\x4e\x81\xd8\x23\x5c\x1a\x94\xd1\xc8\x66\x13\x9a\xb8\xc5\x1d\x2c\x2c\x70\x6f\x42\xa6\xe6\xe2\xfa\x13\x8e\x1f\x76\x91\x70\xdd\x59\xe4\x83\x63\xb3\x15\xeb\xd3\x71\xc3\xa3\x40\xe2\xa7\xfb\xd3\xbc\xff\x01\xe9\xbe\x5a\xc5\x4d\x90\xa6\xfa\xda\x74\x43\x44\x2d\x3e\xed\xca\xb7\x53\x5f\x25\x11\xce\x4f\xf3\x52\xd1\xe8\x41\xb2\x0f\x8b\x8c\xe4\xe7\x26\xc2\xfc\x1e\xd1\x3e\xa8\x16\x0f\x5b\x2f\x60\x7f\x80\x2e\x93\x3a\x09\x54\x03\x02\xf4\x71\x84\x23\x1f\x87\xa4\x97\xd4\xa6\x2e\x69\x89\x1a\x60\x7b\xda\xde\x64\x48\x6e\x3a\x98\x3e\xcf\x2a\xda\xad\x11\x0f\x7e\x37\x48\xab\x7c\xc0\x11\x99\xe2\xbd\x35\x3d\x6d\x31\xde\xdc\x7d\x6e\x16\xc1\x83\x35\xda\x74\x0e\xf6\x55\xd1\x7d\xfd\x98\x60\xab\xc3\x47\xbb\x64\x53\x0f\x6b\x5f\xbf\x2e\x6c\x30\x26\x8c\x2e\xbc\x9e\x7b\xaa\xed\xc0\x1b\x15\x6e\xad\x3f\x68\xdc\x90\x78\x9e\x7f\xf5\x86\x92\x38\x6b\xa4\xee\x5c\xa7\x22\x81\x37\xb4\xea\x47\xd0\x70\xc5\x63\xc8\x88\x24\xa6\x6b\x30\x57\xde\x1a\xd7\x60\x5f\xd5\x35\xdb\x46\xd0\xd4\xda\x7c\x14\x4d\x1b\x63\x24\xb6\xaa\x1e\x5a\x7a\xfa\x51\x8b\x6c\xcd\xa6\xd1\x38\xa3\xec\xd0\x18\xb4\xe3\x60\xc0\xe5\x10\xef\xdd\xa2\xae\xa9\x67\x78\xa5\x72\xfa\x48\xb3\xc0\xf6\xf1\x6a\x93\x3f\x8e\x6b\xc7\x8c\x4d\x9a\x48\x56\xe9\x55\x89\x53\x29\xb3\xe1\x46\x6b\x34\xa9\xfc\xa5\xb3\xe5\x58\x46\xed\x74\xd0\x95\x7b\x42\x59\x16\x04\x9c\x1a\xe1\xf6\x28\xdc\xe4\xc2\x20\xb4\xaf\x75\xfa\x71\x49\x05\xa1\xe7\xfc\xaa\x7e\xc4\x6b\x5c\x90\xd6\x3f\x67\xc2\xc1\xa0\x45\xe8\x8b\xba\x30\x94\x7e\x4b\xeb\x7d\xd2\x30\xba\x48\x82\x3c\x25\x03\x18\xb2\x54\xf2\x01\x4e\xf1\x80\x49\xef\xb3\x02\xd1\x1b\xfb\x2d\x27\xc7\x0f\x07\x23\x5e\x1f\x7b\x94\x0a\x7d\xfc\x07\xee\x82\x30\xca\xdd\x6a\xc4\x7e\x6e\xb5\xe0\x5d\x19\xca\xea\x9a\x51\x36\x3e\xfe\x54\x48\xc9\xb9\x83\xbf\x78\xaf\xaf\xcb\xc8\x00\xd2\x7b\xbf\x53\xe0\xcc\x45\xde\x69\xef\x12\x70\x2b\x4c\x5d\x6b\x60\xb3\x65\x29\xd4\x83\xae\x13\xd7\x08\x19\x64\x8a\xc6\x7e\x16\xa7\x9b\x85\xb5\xc4\x41\xc6\x6a\x35\x18\xc9\xd8\x2e\x6b\xa2\xa4\xb2\x3a\x1e\xf7\x1b\xc3\x36\xb3\x3d\x08\xae\x05\xc8\xca\xe0\x11\x86\xf2\x19\xf0\xa6\x38\x39\x40\xbd\x1f\x4e\x8e\xc1\x79\x5f\x2a\xf2\xf2\xf4\x01\x54\x55\x53\x5a\xac\xa3\xb6\xa0\xd0\x16\x6a\x76\xc4\x59\x91\x16\x5c\x1c\x3f\xf9\x2c\x70\x9f\x33\x70\x93\x10\xd4\x2d\x66\xb5\xd7\xd1\x56\x1c\x87\x11\x3f\x05\x4f\x60\x51\x1c\xfc\x6a\x09\x8b\xc9\x99\xe8\xea\x8d\xb4\x9d\x50\x92\x01\x9e\x5a\xc9\x00\xc3\x1d\xab\xd2\xa2\xc8\x6a\x57\x25\x06\x16\xea\x70\xdb\x8f\x4d\x1f\x36\xaa\x55\x64\x74\x37\x8e\xc3\x70\xbc\xa6\x85\xbc\x63\xb9\xf3\xf4\xc9\x9b\xac\x62\xc8\x9e\x55\x8f\xb9\x75\x62\xbd\xb3\x91\x88\x6f\x2e\xef\x4f\xce\x4c\xb7\xdc\xea\x8e\x29\xa5\x50\xc9\x2c\x57\x53\x7d\x96\x0a\xc4\x94\xb8\x5a\xcb\x8a\x4a\x2f\x2d\xfb\xfa\x45\x7d\x52\xb6\xec\xea\xe6\x38\xad\xfd\xff\xdc\xaa\x39\x6f\x37\x4f\x6b\x0b\x8a\x96\x6e\x1a\x33\x8b\xb6\x88\xe0\xbb\xd6\x2b\x60\x0b\x48\xfb\xc9\xb0\x0d\x74\x73\x52\xb6\x80\x6c\x6c\x62\xda\x40\xed\x9b\x67\xef\x7a\xa6\xf9\xd5\x46\x80\x77\xa5\x8b\x84\x45\x4c\xdf\x8d\xdc\x38\xf3\xe5\x13\xa5\xe9\x82\x3f\x16\x8c\xca\x97\x31\xdd\x65\x2f\xe7\x2e\x3e\x8a\x1b\x43\xad\x6e\x6b\xf8\x1b\x23\xfe\x92\xc7\x1e\xcc\xb4\x8c\x93\xfd\x44\x28\x8d\x13\xb4\x9d\x4b\xe3\x20\xd4\xef\x87\xf9\x11\x3a\x56\xcd\x1b\x91\x54\xd0\xa9\x01\xb6\xda\x44\x00\x33\xb2\x96\x47\xbe\xb0\x39\xff\x55\x39\xe1\x12\xa6\x54\x85\xb7\xc7\xc3\x68\xd3\xb3\x19\xe1\x40\xda\x62\xf3\xea\xce\x0a\x2d\x8b\x4c\x0d\xeb\x00\xa3\x2e\x94\xee\xd8\xae\xd0\x0e\xbd\x5e\xc0\xfd\xc2\x55\xfb\x71\x67\xcd\x30\x52\x99\xa3\xa7\x8a\x0b\x11\xe1\x4f\xda\x04\xee\xda\x34\x66\x83\x59\xd5\x94\x9c\x5a\x3a\x63\xe3\xd6\x5e\x4d\x7f\x17\xa3\x6f\xe2\xd5\xda\xc7\xa8\xf0\x66\x49\x41\x0c\x94\x7d\xea\xb7\xc9\x6a\x81\x30\x02\xfe\x38\x1e\x4a\xe8\x01\x27\x8e\x42\x90\xe7\xed\xb5\xbc\xf5\x32\xcd\xe2\xef\x8a\x5a\x2d\x31\x5d\x0d\x92\xbc\x47\x70\x9f\xc8\x11\x52\xf0\x14\x12\x7e\x23\xac\xab\xc1\x70\x9d\xa9\xf6\x9a\x9b\x4e\x3e\x0b\xf0\x7d\x52\x3f\x2e\xd4\xb1\xbe\xb9\x50\xd4\x38\x5c\x81\x08\x0c\x46\x80\x47\xa2\x73\x6e\xd6\x7a\x8f\xf0\x24\xd6\xc2\x40\xc1\x5e\x03\xc2\xf1\x46\xca\x51\xde\x0a\x29\x70\x85\x20\xb7\xd1\xfa\xfe\x83\x77\x78\x00\xaf\x3b\xfd\xce\xf7\xfd\xef\x3f\xb0\x7d\x2b\x84\xa3\x37\xd3\x26\x2c\x9e\x67\xf8\x34\x2f\xaf\x17\x97\xdf\xaf\x83\x3d\x41\x05\xd8\x44\xed\xe4\x58\xea\x9a\x38\xc8\x22\xb1\x82\x08\x04\xa0\x75\x2a\xc4\x3d\x08\x44\x9d\xf6\x7a\xf4\x1a\x0f\x42\xe0\x71\x2b\x3e\x55\xb2\x9a\xd0\xb3\xb4\xd7\xcb\x87\x79\xb5\x87\x8a\x22\x5b\x54\xd0\xb4\x0e\x66\x87\x80\xac\xbe\x97\x61\x48\xd8\xfd\xcf\x1f\x33\xb6\x71\x18\xf3\xac\x67\x35\xe6\x68\x22\x5c\x95\x1d\x0b\x41\x17\x98\xb9\xb3\x77\xc8\x62\xdf\xbb\x13\xe6\x0f\x59\xa2\x7c\x2d\x28\xb6\xb5\x6c\x92\xea\x22\x97\x59\x01\xb3\x0a\x76\x7c\x90\x1e\xed\x3e\x1f\x93\x3a\x40\x66\x9b\x27\x20\x88\x88\x75\x73\x00\x8a\x23\x35\x2b\x67\xae\xd2\x7c\x4f\xf2\x08\xce\xdc\xaa\x53\x14\x3c\x83\x33\xc2\x3f\x03\xe6\x46\x0d\x12\x1e\x03\xb0\x0d\xc3\x3a\xed\x7f\x83\xa6\xb5\xa6\x75\xff\xe3\x93\xac\x82\x45\x5e\xca\xd0\xa2\xef\x81\xb4\xc0\xce\x81\x37\x1d\x8e\x40\x5a\xf8\x0d\xff\x04\xea\x29\x33\x27\x93\x95\x6c\x4e\x41\xfa\x79\xad\x56\xb3\x9d\xf3\xba\xb4\x9b\x75\x8b\x56\xed\x66\x5d\xcb\x73\x4d\x73\x32\xfd\xa0\x3e\x43\xa0\x13\x56\xab\x9e\xf6\x0c\x5d\x7c\x8b\xd0\xfc\xab\x0c\x97\x79\x79\x6a\x05\xd3\xe4\xe3\xf8\xa1\xa9\xc1\x7d\x0e\x59\x11\xd4\x8e\x48\xb3\xce\xe6\xfe\x99\x66\x4b\xc5\x3b\x93\x16\x0d\x2e\x78\x19\xf0\xd4\x36\xdc\x31\x45\x24\x82\x93\x22\x9b\xbc\x4d\xec\x08\x05\xbf\x3f\x9b\x6d\x6d\x6d\x6d\x25\x75\xb8\x8f\x71\xa7\xc8\xf0\x29\x4c\x44\x34\x02\x9c\x4d\xf3\x65\x35\xee\xdc\x5b\x5c\x26\x8a\x2b\xf9\x27\x77\x93\x45\x36\x9d\xb2\x18\x08\xf1\x70\x0b\xce\x3b\xf1\xf0\x2e\xfb\xff\xfa\x6f\xee\xf5\xc9\xff\xc4\xc2\xb3\x93\x96\x26\x0e\x07\xd1\xda\xf9\x17\x5e\x72\x2c\x06\xd9\xf4\x97\xcb\x8a\x8c\x3b\xf4\x50\xab\x8b\x59\xb0\x13\x9e\x00\x59\x96\x30\xd7\x5f\x4f\x2b\x5a\x66\x37\xf1\xd1\xcd\x76\x99\x14\x3e\xa0\x96\xb8\xcc\xb7\x34\x6d\x25\x1c\x70\x1a\xa7\xaa\xf0\x5a\x3c\xef\x5a\xe0\xd5\x08\x13\xf9\xf0\x39\xac\xaa\xec\x14\x3e\xcf\xca\xec\x14\xe2\x21\x86\x8b\x22\x9b\xc0\x7d\x99\xf8\xb4\x0a\x90\x0a\x41\xd4\x8e\x8e\xea\x14\xdf\xa3\x38\xfe\x68\x0d\x7b\x6a\xe2\x9a\x87\xc7\xbe\x95\xc5\xd7\xca\xac\xc9\xaf\xe1\x50\x68\xa9\x59\x33\xc4\xad\xd0\x82\xd3\x50\x44\xd8\xd1\xb0\x00\x34\x0a\x9d\x2c\xe7\x33\x6b\x0b\x8d\xd7\x41\x16\xa7\x68\x4b\x0d\x6b\x36\xec\x5e\x5a\xb6\xfd\x8b\x73\x88\xa9\xfc\xa3\xbf\x4f\xd6\x7b\x1e\xf1\x62\x65\xbf\xd7\x03\xd5\x45\x63\xa5\xde\xe6\x7b\x5e\x6d\x65\xee\x60\x63\x27\x8e\xee\x2e\x2e\xd5\xed\x7a\x79\x39\xe0\x3b\xf6\x86\xdb\xb3\x65\x1b\x3a\xf6\x99\xdf\x3b\xbf\x33\xba\x17\xcf\x2b\x19\xb8\xc1\xb7\xeb\x7c\x3e\xfa\x46\x6b\xe0\x20\xc7\x66\xbe\xcc\x90\x9e\x06\x0b\x0c\x69\xcd\xda\xee\x23\x82\xc3\x8a\xa0\xc5\x4b\x8c\x16\xd9\x69\xc6\x0f\x8d\xeb\x88\xde\x1b\xbd\x54\x6f\x4e\xcc\x76\x75\xac\x77\xde\x9c\xa7\x6f\xbb\x8e\xd8\x0b\x6b\xf3\x9d\x69\x43\x50\x19\x0e\xf4\xf6\xd0\x5c\x2e\x87\x9f\xdc\x75\x51\xdf\xbd\xb5\xad\xfd\xac\x6d\x0f\xf1\xda\xc3\x7c\x84\xf7\x8a\x1c\xaa\x31\xa6\xd8\x86\x89\x72\x77\xa1\x0e\xc5\x87\x33\x41\x8b\x34\xc0\xf2\x2d\x2e\x97\xea\x96\x5b\x5b\x4a\x90\x77\x47\xb3\x02\xce\x08\x6d\xc7\x1f\x38\x72\xc3\x64\x7c\x6d\x9c\x7c\x01\x3e\x69\xac\xba\x35\x04\x1b\x45\xb5\x7d\xd3\x35\xaa\x84\x91\x48\x6f\x43\xe4\x6d\xcc\xa8\xe0\x91\x76\xd6\x4c\x20\x88\xde\x13\x90\xca\x63\xbd\x45\x1a\x73\x35\x66\xca\xd1\x31\x93\x26\x37\x58\x71\x5c\xef\x7f\x1d\x91\xd5\x6a\xc4\x14\xe9\x3e\x87\x4d\x3d\xb7\x66\xfd\xb0\x8c\x78\xc9\x63\x8c\xe6\x75\x5e\x79\xc3\xbd\xd9\xfb\xb8\x8a\x16\x57\xdc\x7a\xeb\x10\xd5\x6d\x6d\xe5\x98\x23\xcf\x4c\x93\xe9\xbe\x44\x24\x9f\x40\x7a\x8b\x32\x23\x29\x28\x47\x8a\x12\x9a\x4a\xea\xf0\xf7\xd0\xe2\x4a\x9e\xea\x74\xd8\x8c\x0a\xea\x45\xcb\x7b\x68\x2c\x30\x04\x61\x42\x14\xa1\x90\x8e\x63\x40\x90\x82\x55\x85\x96\x78\x02\xe9\x55\xc0\x60\x02\xe6\xd1\xe2\x64\xf8\x2c\x9a\x91\xcd\xc6\xd9\xe7\xd6\xe0\x1e\x1b\xc4\xec\xd0\x82\x93\xfa\x2e\xd0\x51\x9e\xe2\x61\x56\x4e\xce\xf8\x4d\x33\xaa\xea\x9f\x2f\x98\x92\x20\x2a\x53\xcc\x63\x37\xb0\xe2\x4c\xfe\xe2\xa5\x09\x1e\x72\x94\x77\x8b\x82\xf5\x8a\x61\x19\x90\x30\x42\x7c\xc2\x65\x37\xca\x9c\x9b\xeb\x25\xc2\x43\x78\x49\x60\x39\xed\xf5\x02\x66\xc1\xcb\xae\xf1\x41\x1e\x55\x4d\x51\x50\x46\x59\x18\x46\xc4\x2b\x7e\xb4\x18\xc6\x34\x38\x68\x81\x0e\xbc\x2a\xaa\x4a\xd6\x4f\xf2\x59\xc0\xaf\x3c\xec\x68\x53\x54\x0c\xa1\xe2\xf2\x27\x23\x4c\x0c\x2b\x92\x61\x22\x48\x86\xe5\x6f\x8a\x29\xcb\x2f\xf6\xf5\x60\xff\xc5\x57\xa0\x9b\x62\xe6\x55\xf2\x45\x36\x87\x4c\xd3\x0e\x7e\x9f\x45\x12\x4c\x95\xef\xbd\x1e\x38\x78\xb9\xfb\x05\xfb\xa6\x0c\xb7\x29\x0e\xb0\x56\xc2\x62\x47\x60\x78\x9e\xa3\x65\x75\x90\x9f\x14\x79\x79\x9a\x84\xac\x8a\xfe\x31\x22\x7d\xdb\xc5\xb7\x71\x71\xc1\xc2\xf9\xb9\xad\x0e\x1c\xc2\x72\xca\xfa\x1c\xb0\x3f\xc5\x12\x50\xc7\x17\xd0\xa1\xcb\x5a\xbf\x95\xb1\x96\xf0\x92\x68\xe3\x54\x3e\x44\xd5\x26\x63\x2c\xd5\x00\x1c\x22\xc5\x34\x9f\xae\x7d\x74\x51\xbf\x54\x44\x6c\x1c\xea\x97\xfe\x28\x94\xb1\x42\x14\x47\xea\xbc\x3c\x0d\xca\x88\x44\xba\x13\x7b\x19\x0e\xaa\x56\x56\xe8\xd8\x19\x7e\xaf\x37\x6d\x0d\x07\xa1\x70\xd9\x94\x42\xba\x93\xb5\xfa\xbd\xc2\xc4\x29\x61\xa6\x23\x34\xf9\xa8\xfb\x49\xa6\x0f\x2e\x81\x27\xfc\xbc\xb7\xbf\xf2\xcb\xc3\x3a\xa3\xbc\x33\xff\x94\x91\x74\xfe\x7d\xfd\x9a\x85\xc1\x2a\xd2\x7b\xe4\x35\xeb\x04\x9a\x2c\xcf\x39\x0f\xa2\xee\x41\x77\x01\xcb\x57\xb8\x70\x65\x9e\x9a\x9c\x61\x44\x57\xa5\xf6\x73\x78\x82\xd1\x45\x05\xf1\x8e\xfe\x93\xc1\x39\xcc\x4e\x82\x77\x4b\x5c\x8c\xe1\x75\x38\x16\xad\xe8\xf7\x00\x46\xe0\xcd\x49\x91\x95\x6f\x41\xb8\x26\x2e\x0e\xad\xce\xa7\x1f\x4e\x5f\xe1\xc2\xa7\x94\x74\x2c\x92\x7c\x16\x88\xcc\x7e\x70\xb5\xd2\xed\x53\xe0\xe5\x22\x2b\xa7\xcd\x21\xd0\x7a\x40\x48\x01\x2a\xf0\x76\x15\x86\x61\xaf\xd7\x0d\xa0\x50\xc7\xdf\xdf\x8a\xef\xdc\x5b\xad\xe0\xb0\x82\x19\x9e\x9c\x05\xb7\x8e\x5e\x57\xaf\x8f\x5e\x1f\x07\xe1\xbb\xeb\xed\xfb\xe0\xc3\xd7\xaf\xbf\xfb\xfe\xf8\x56\x78\x3f\x8d\x43\x1e\xe0\x47\x56\x04\xdf\x1d\x65\x83\x1f\x76\x07\xdf\x1e\x8b\x7f\xe3\xc1\xa7\xfd\xe1\xe0\xf8\xa3\xf1\xad\x5b\x20\xdc\x8e\x43\xa9\xfe\xe4\xa1\x09\x02\x30\x06\xd1\x28\x3c\x8a\x8f\xb9\x3a\x14\xcc\xb3\xbc\x20\x08\x8c\x75\x55\x1e\xa4\x47\x37\x59\x50\x18\x7d\x28\xae\x22\x7c\x8e\xe9\x1e\xf1\x2e\x5a\x1e\x6c\xd4\x52\x49\xd1\x6b\x0f\x9a\xc0\xaa\x82\xd3\x07\x57\xb2\xe1\x2f\xb2\x72\x5a\x40\xfc\x46\xbe\xf8\x8a\xdb\x2a\x9c\xc1\x8c\x3c\x6f\xd2\xd6\x55\x72\x69\xeb\xd9\xec\xba\xed\xd9\xec\xf8\x39\xd4\xd2\x6b\xda\x8d\x23\x38\x94\x81\xf2\xf6\xd1\x45\x5a\x6b\x2e\x02\x38\x9c\x30\xa9\xff\x1b\x5b\xf4\x76\xbc\x19\x84\xb7\xd6\xa8\x39\xc4\x4e\xef\x8f\x94\x0e\x85\x29\x6d\xdd\xa7\xec\xf2\xeb\x75\xc0\xf8\x1b\x6f\x7f\x14\x75\xd5\x4b\x66\x9a\xc2\x21\x9d\x82\x5e\xcf\xec\xe2\xbe\xfb\x91\x78\xdd\x1b\x63\xaf\xd7\xa5\xa2\xbf\x46\xa1\xc1\x28\x5d\x67\x1e\x67\xf7\xbf\xae\x11\x7f\xde\xd8\x59\xf7\xe2\xc3\x5e\x8e\xc6\x3f\xe3\x03\x52\x18\x39\xc9\x17\xc0\x61\x56\x90\xcf\xe1\xd5\x6a\xd5\x25\x32\xa3\x97\xbd\x24\xe9\xea\x91\xaf\x44\x66\xb6\xf8\xa0\x1b\xd7\xc6\x59\xce\xa6\x23\x53\x08\xd5\x59\x47\x2d\xce\x1d\xa2\x47\xe5\x54\x0d\x62\x6c\x75\x34\xa2\x32\x96\xa9\x51\xa0\x3c\x3d\x54\x56\x91\x16\xf5\x0d\x96\xa7\xd9\x29\x9c\xae\x56\xae\xd5\xb3\xe3\x8b\x58\x27\x9b\x35\xc3\xf6\xc5\xd8\xa3\x17\xdf\x66\xfb\xdc\x55\xae\xbb\xde\x26\xec\xd2\x5b\xaf\x7f\xd1\x26\x1c\x2b\xb1\xee\x94\xe9\xb9\x19\xe5\xdc\xc4\x39\x6b\xe2\x22\x07\x50\xbc\x5b\x52\x71\xac\x0e\xa4\xd7\xf4\x57\x8b\x0a\x2f\xc4\x79\x62\x06\xc8\xb9\xe1\xa1\xd0\x88\x1e\x1b\x08\xf9\xa1\x8c\xf1\xd7\xe0\xd3\x85\x3c\xf0\xd4\xe7\xf0\x8a\xad\xd5\x09\xc1\x05\x5b\xac\x70\x38\x87\x24\xfb\x1c\x5e\x49\x73\xd6\x4e\xdb\x6b\xb6\x60\xe5\xea\xa3\xbe\x55\x98\x5a\x61\x91\x8d\x43\xd5\x32\x30\x63\x32\xad\x73\x53\xb1\xf6\x9c\x79\x53\x56\xb8\x47\x47\xc5\x12\xf5\xf6\x7a\x5b\xb4\x1a\xcf\x2a\x4c\x47\xc1\xff\x12\x3b\xdc\x4c\xe8\x5b\x67\x76\x64\x17\xea\x20\xd4\xb3\xd3\x52\x99\x12\xec\xa1\x65\x31\xed\x94\x88\x74\x58\x9d\xce\x3c\x2b\x97\x59\x51\x5c\x75\xa6\x4b\xd8\x21\xa8\x73\x01\x4f\x3a\x18\x52\x09\x94\x51\xbf\x6a\x18\xc1\x72\xa1\x60\x1c\x37\x58\x39\x17\x81\x69\x0b\x67\xac\x43\xfb\x65\x75\xe3\x8b\x9d\xb2\xec\xbb\x35\x3a\x35\x86\xf2\x13\xe5\x4e\x6b\x77\xf8\xda\xcd\x3c\xda\x60\x33\x03\x7e\x6f\xd6\x2c\x7a\x58\x94\xca\x5d\x8c\xd1\x05\x15\x18\xdf\x18\xcb\x52\x17\x1d\xb3\xc5\xa2\x10\x36\x7c\xfc\x6d\x4b\x12\xcf\xc8\x46\x1f\x84\xbd\x1e\x60\x61\xd3\xeb\x69\xd0\x5d\xe2\x2c\xc1\x96\x61\xf1\x10\x16\x24\x0b\x60\x28\xac\xdd\xab\x79\x86\xc9\xe3\x02\x21\xfc\x30\x3f\xcf\xa7\x90\xdb\x3d\x67\x27\x95\xea\x34\xd8\x7e\x4c\x47\x55\x0a\x7e\xef\x05\xe8\x07\x78\x3b\xde\x01\x0f\xc0\x18\xec\x02\xa1\xe8\xcb\xd1\xb0\x82\xe5\x54\x46\x75\x1a\x62\xb8\x80\x19\x09\x50\xe8\xe2\x34\xd7\xd7\x8e\x75\x75\x83\x65\xd3\x76\x80\xf8\x4d\x21\x05\x5f\xd3\x24\x30\x6f\x55\x35\x38\xb9\x2f\x0f\xa9\xcb\x72\x41\x04\x61\x87\xbe\x88\xb1\x5d\x91\xb2\x9e\x83\xf1\x9a\x73\xfa\xd0\xe2\x7a\xcd\x37\x8e\xb8\x98\x37\x4f\x03\x81\x4a\xc6\x3f\xde\xb8\x1c\xaa\x99\xea\x49\x3e\x6c\x05\xb7\x5e\x97\xb7\x4e\xe7\x11\x78\x8d\xe9\x74\xa7\xce\x0b\x10\x31\x8d\xc0\x4e\x70\x36\x79\x0b\x09\x9c\x0a\x6e\x16\x90\x14\xfc\xde\xd1\x56\x1c\xff\x11\xe8\x93\x3e\xfb\x73\xf4\x47\xa0\xb9\x64\x29\xcb\xa7\xe5\xea\xb7\x87\x16\x57\x8e\x09\x59\x56\x50\xac\x2e\x9e\xec\x97\x56\x5b\xad\x02\xc7\x9b\x82\xc9\xba\x7d\xdc\x47\x65\xe1\x7e\xc5\x26\x2a\x45\x0a\x4e\xfb\x1a\xa5\x38\x3f\x58\xbb\xab\xce\x29\x20\xf2\x65\x6e\x26\xd9\xae\x56\xb1\xf0\xa3\xb3\xf6\xb2\xbf\x07\xbf\xa9\xa2\x73\x8b\xaf\x56\x71\xc2\x9c\x13\xe0\x76\x1a\xaf\x56\x64\x9b\x5d\xaa\x38\xb3\xf1\x65\x38\x5d\xad\xbc\xb9\x4c\x35\xd3\xcc\x3a\x33\xad\x44\xc6\x78\xae\x0f\x46\xdd\x75\x56\x1b\xca\xb3\x68\x84\xc5\x2e\x52\xf4\x0f\x41\x6b\xa0\xe6\xf6\x4d\xe2\x5f\x72\x8a\xb1\x9c\x3f\x72\x91\x62\xe2\xb6\x73\x43\x23\x9e\xd5\x0a\xc4\x7e\xc9\x5d\x68\xdc\x77\xd6\x1a\x18\x4a\xf3\x40\xa7\xd9\x9d\x25\xb2\xcc\xaf\x5e\x68\x23\x53\x4d\xb2\xd8\x97\xbd\xab\x49\x01\xdf\xd0\xcb\xb0\x94\xd8\x5b\x8d\x1b\x7f\x1b\x7d\x8f\x8e\x0d\xd3\x7c\x27\x78\xbf\x15\xa9\x99\xda\xc4\xa7\x2c\xaa\x1d\x3b\xac\x5c\x28\x5e\xa5\x57\x4b\xe6\x93\x0d\x7b\x71\xa4\x4c\x69\x49\xe1\xe4\x3c\x28\xac\xd5\xe8\x76\x2a\x70\x85\xbe\x16\x30\x83\xf0\x5a\x71\xaf\xb0\x9b\xca\x9c\x4b\xd7\x51\x3e\xc4\x64\x0a\x17\x01\x28\xf2\x13\xc1\xf3\x5f\x1d\x3e\xbe\x07\x42\x15\xe3\xa7\x2f\xec\xc1\xcb\x3b\x6f\x1d\x88\x4f\xea\x91\x9f\xbe\xe0\x0f\x4d\xd7\x3a\x84\x8d\x1e\xf6\x75\xc8\x9a\x9a\xd1\xf2\x10\xd6\x40\xf2\xf7\x98\xc7\x38\xd3\x22\x9f\x50\x90\x52\x07\xcf\xf2\xe6\xb1\x0a\x81\xde\x4b\xd4\x0e\x99\xa5\xc6\xe7\x05\x2f\x31\x9a\xe5\xae\xe5\xa6\x60\x0c\x89\xa8\x65\xce\xba\x06\x74\xb1\xac\xce\xec\xa3\x85\xe3\xa8\xb4\x30\x30\xad\xd5\xca\xb0\x3e\xa6\xf7\xb2\x05\x59\x62\x38\x7d\xa3\x9f\xde\xf5\xe7\x48\x06\x05\xe3\xb1\x96\xc5\xd1\x58\x7f\x88\x58\x5c\x1f\xa5\x4c\xfe\x12\xd2\x9d\x9c\x4f\x63\x94\x39\x8a\xac\x2f\x29\x8c\x60\xcb\x80\xf5\x88\x8b\x76\x6b\x73\x09\xb5\x4d\x88\x14\x28\xb4\x89\x90\xf7\xa2\x02\x9d\x06\xe0\x55\x79\xc6\x94\x5e\xd3\x4e\x53\x9b\xe7\x4f\xf6\xc3\xf5\xeb\x9f\x0d\xd0\xe8\xa4\x82\xf8\x1c\xe2\x69\xe7\xcb\xc3\xce\x5b\xd9\x82\x82\xff\xec\xe0\xc5\x17\x43\xae\xeb\xcf\x67\x57\x96\xf2\xd8\xe8\xce\xc8\xf6\xed\x0d\x0e\x4e\x49\x93\xe0\x24\xc4\xda\x54\x42\x9e\xf2\x57\xcc\x5d\xa4\xbe\xe4\x3c\x7d\xf1\x46\x5a\x84\xeb\x7d\xac\xd9\x44\x66\x75\x03\x23\x7f\x43\x16\xb0\x88\xb2\x0d\xa7\x49\xbf\x3a\xcf\x5c\x12\xe0\x99\xaf\xd5\x74\xd7\x2c\xf4\x2f\xcf\x99\x92\x97\xd9\x84\xe4\xe7\xb0\xf3\xf4\x45\x07\x9d\xfc\x12\x4e\xc8\x10\x24\x26\x20\x25\x61\xda\x1a\xb4\x8a\xf2\xdf\x11\x62\x7d\xf0\x1a\xb3\x38\xeb\xfe\x4d\xc1\xe2\x1d\xaf\x23\xea\xe8\x63\x9b\xe1\xd4\x04\x0f\x72\x85\x69\xb7\x2f\x38\xd6\x5b\x51\xb6\xf7\xc7\xa8\xe5\xed\x91\xd3\xd2\xd1\xa7\x76\x8a\x30\xfb\x99\x4a\x9c\x20\xea\x13\x9b\x23\x31\x5d\x9d\x16\x4c\x1c\x22\x8d\x19\xce\x01\x7b\x2e\xe7\x7c\xe1\x60\x7f\xef\x8d\x08\xe3\x27\x4e\xb5\x26\x9f\x5c\x5b\xb5\x06\x1a\xaf\xa0\x85\x02\x34\x21\x79\xab\x88\x07\x82\xc6\x05\x33\x05\xf8\xf4\x24\xd8\xba\x7b\x37\xea\xc8\xff\x0b\x81\x56\xb7\xf1\x24\xe5\x75\xe3\xa8\x43\xff\x27\x6b\x9d\xa0\xa2\xd1\x45\xcc\x32\xba\x0a\xe4\xaf\x9c\x64\x45\x3e\xa9\x7f\x9e\xf0\x64\xae\xe2\xd7\xb2\x9c\x42\x5c\xe4\xa5\x12\x5e\x98\xe0\xfc\x2d\xa4\xab\x76\x79\x7a\xd6\x00\x29\x99\x5b\x9a\xfa\x5b\x48\x4a\xf2\x8b\x11\xa5\x58\x0d\x47\x2c\x25\xbe\x02\x3e\xcc\x48\xa6\x44\xe6\x9d\x28\x49\x5d\x95\xcf\x8e\x84\xaf\xd7\xd6\xd4\xab\x11\xeb\x98\x2a\xf7\x01\x23\x41\xbc\x59\xc5\xdd\xea\x01\x33\x56\x5d\xd3\x40\x9b\x3b\xee\x73\xcd\xcd\x34\xca\xe5\x3c\x00\x8e\x05\xa9\xb4\x55\xd6\x4e\x0a\xc4\x2c\x82\x75\x0d\xf6\x9f\x3c\x60\xf3\xdb\x5a\xb1\x72\x25\xcd\x70\x6c\x80\x56\xa2\xb1\x38\x67\x7e\x89\x41\x6d\xc5\x1e\xf3\x94\xb0\x7e\x9d\x9c\xbb\x4c\x85\xf0\x88\x1c\xb3\x45\x7e\x44\x8e\x1b\x49\x42\x9b\x55\x6b\x9e\x87\x13\x54\x4e\x32\x66\xb4\xd7\x8a\x9f\x3b\x19\xf4\x5f\xc4\xdd\xfc\x17\x7a\xef\xad\xa7\xb1\xba\xd1\x6c\xdf\x72\xb5\x30\x17\x8c\xd8\x33\x9f\x7c\x08\xf4\xca\xcc\x6a\xad\xd9\xb4\x75\xd8\x2e\x5f\xd8\x18\x6b\xaa\xad\x49\x14\xd7\x7a\x6b\xb2\x1d\x15\xbb\xf5\x4c\xc9\xbf\xd9\x44\xd5\x7a\x54\x36\x4f\x75\x35\xee\xcb\xd6\xd5\x67\xa9\x0e\x43\xa6\x4e\x52\x0d\x80\xcf\x91\xf2\xb3\x79\x02\x6c\x66\x48\x20\x5c\xcf\x4f\xaf\x47\x77\x96\xc0\x57\xf2\xc7\xf6\x5d\xcb\xd8\xcf\x1e\x2a\x49\x96\x97\xc6\x0d\x52\x0a\x21\x6a\x40\x34\x67\x22\x1d\x33\x11\x08\xdc\xcc\x24\xad\x5a\x64\x25\xe0\xb1\xf9\xd8\xa5\x3e\xca\xd3\xa3\xe3\xc4\x98\xab\xae\x63\x9b\x48\xfb\x2a\x69\x25\xdb\xd4\x0e\xcd\x4d\xe6\x6d\xee\x34\xb7\x6d\x3e\x0a\x40\x0d\x83\x97\x6b\x83\xfd\x19\x60\x66\x62\xfb\x95\x70\xac\xa1\x1f\xa5\x3e\x51\x2c\x83\x80\xc8\x9d\x5b\x87\x1f\x13\x4b\x42\xb4\x15\x9e\x3c\xfc\xab\x6c\x2c\x16\x4a\x90\x8b\x24\x38\x4d\xb6\x3c\x5a\x83\x17\x8b\x7d\x28\xf2\x72\xa4\x00\x68\x59\x7f\x94\xd5\x15\xa0\x7e\x0a\x3a\xf5\x07\x10\x11\x95\x43\xd4\xb1\x07\xf5\xd5\xc7\x1b\xb1\xac\x3c\xe2\x1b\x60\xe6\x7f\x1a\x1f\x89\xc3\x08\xb1\x81\x10\x78\x49\x1e\xf2\x0c\xbd\x39\x2a\x53\x14\x46\xda\xe2\xac\xc7\x21\x92\x51\xb2\x41\x48\xde\x12\x47\x44\x65\x2c\x23\x69\x9c\xa1\xad\x5d\x05\x06\xfd\x04\xc2\x48\xfd\xf9\x46\x18\xf0\xc8\xda\x14\x3c\xfd\x5b\x92\x28\x62\xca\x5f\xdd\x98\x91\x42\x68\x32\xb2\x28\x29\xf7\x72\x91\x64\xa8\xc3\x62\x6f\xb4\x6e\x9a\x79\x46\x26\x67\xb0\xf2\xee\x1a\xc0\x2f\x58\x20\x4d\x69\x75\x34\xeb\xc0\xd5\xea\x76\x9a\x72\x73\xb0\xc3\xab\x85\xee\x27\xac\x6c\x2f\xc5\x04\xef\xaa\x80\x62\x62\xbb\x81\x42\xd4\xd5\x0a\xd6\x7f\xe9\x7b\x5f\x50\xae\xfe\xbd\x5a\x39\xe8\x49\x9b\x4b\x0a\x09\x00\xda\x56\xe3\xbb\x4a\x94\x68\xbb\xc8\xdc\x30\xf2\x29\xcb\xb9\x43\xc2\x6e\xda\xed\x12\x65\x8f\x48\x88\x74\x01\x77\x53\xd8\xac\x64\x51\xc0\xb7\x41\xd3\x8a\xed\x8e\xd5\xaa\x6b\xb0\x4c\x5a\x01\x36\x3f\xeb\x0a\xda\xfa\xe4\x95\xb4\x4f\xed\x27\x47\x93\xa7\xbb\x72\x29\x7b\x6c\xe1\x1a\xfa\x24\x69\x72\xc3\x33\xab\xa9\xe8\x31\x86\x32\xcf\x2c\xe9\x65\x6c\x1e\x51\xd2\xab\x58\x97\x26\x90\xe3\x63\xed\x09\x5e\x9f\x30\xd2\x1a\xca\x82\x49\x3c\x38\x48\x33\x5c\x73\xf8\xb2\x3f\x8b\x60\x16\x33\x95\xd2\xb2\xc6\x54\xe5\x0a\xd6\xce\x59\xf5\xe3\xfe\x93\x07\x0c\x5b\x47\x9c\x30\xb8\x7d\x6f\x07\xf6\xef\x8d\xe1\x35\xbd\xed\x45\xe6\x99\x49\x87\xe8\x45\x3b\x8c\xec\x4e\x4c\x69\xce\x21\x03\xec\xe0\xb1\x25\xd1\x1c\xc1\x63\xfd\x18\x30\x4e\x6f\x2d\xb6\xbb\x02\xde\x31\x4f\x3b\x6e\x52\x8e\x8d\xa6\xe6\x71\xd9\xc8\x54\xf3\xfc\x32\xa8\x22\xe3\x6e\x37\xbc\x7d\xfb\xf6\xed\xf0\x9a\xb8\x07\xac\xca\xa6\x8e\x01\x23\xc7\x80\xc9\xb1\x6b\x85\x4f\x24\x67\xac\x9e\x53\x56\x69\xfb\x46\xd9\x1c\x32\xac\x0d\xf3\x7d\xb0\x9e\xd6\x7c\x92\x84\xdc\x92\x4c\xb2\x53\xca\x9e\x0c\xd6\xda\x1d\xd1\x2a\x2e\xa6\xdb\x8d\x85\x2d\x39\xac\xa5\x0e\xa2\xf1\xdb\x8e\x94\x2d\x24\x2d\x7b\x3d\x5b\x5c\x48\x73\xf3\x13\xad\xa5\x08\x05\xf4\x72\x57\xff\x92\x65\xfc\xd0\x17\x45\xec\x07\x2d\x31\x4e\xd1\x34\x37\xbe\xb4\x11\xf8\xa9\x2d\xf5\xd6\xbb\x62\xed\x31\xe4\x00\x5c\x9b\x18\x3b\x77\x59\x73\xba\xec\x40\xf5\x58\x15\x27\xea\xd8\x48\x7f\xa5\xa5\x00\xf4\x74\x76\xc0\x4c\x8f\xad\xf4\x5e\x6b\x7b\x14\xb9\x9f\x68\xe5\xb1\x96\x0c\x4a\xad\xc5\x60\xb5\x76\xac\xeb\x68\x6f\xd4\x37\x7b\x2f\x36\xba\x67\xf1\xd0\x37\xc1\xc0\x91\x91\xca\x93\x56\xec\xe8\x38\xc2\x69\x1c\xa1\x34\x8e\x2a\x9e\x84\x8b\xc5\x98\x96\x71\x69\x38\x4b\xc9\x52\x7a\x6f\x9a\xc2\x97\x28\x2f\xc9\x2e\x09\xca\x30\x2a\xd2\x6c\x3b\xfd\xf8\xee\xdd\xdb\x77\x77\x46\xe3\xad\x24\xdb\x1e\x6d\xdd\xdb\x41\xfd\xb4\xe0\xf8\xd2\x7e\xf9\x34\x65\xe1\x76\x3a\xda\xa1\x82\x5f\x41\x7b\x18\x85\xe3\x00\x31\xd9\x88\x09\x5a\xef\x2a\x82\xc7\x50\x52\x17\x47\x28\x8c\x6a\xb2\x8c\xab\xeb\x90\x21\xc5\x1c\x1a\xec\xda\x65\x54\x84\x11\x97\x56\xc6\xdd\x58\x69\xd7\x1d\x5d\x53\xb9\xbf\xec\x17\x74\x5c\x61\x54\xf6\xd3\x42\x26\x7b\x44\xbd\xde\xa6\x5d\x13\xb7\x5a\x2f\x62\x3f\x66\xe2\xdf\x57\x87\x8f\xef\xd1\xbd\x34\x85\x18\x44\xdc\xf5\x65\xf8\xe5\xe1\x70\x4f\xbe\xee\x3e\xcf\x16\x4c\xef\xf2\xe5\xa1\xff\xd5\x24\x85\x51\x63\xc5\xc1\x4a\x1a\x45\xb4\x9d\xca\x9f\x55\x50\xac\x62\x79\x0b\xa7\x45\xac\x78\x97\xca\x70\x05\x0f\x48\x46\xe0\x1b\xa1\x2f\xf9\xf2\x70\xf8\xb2\xfe\x18\x34\x95\x5e\x95\x6f\x4b\x74\x51\xca\x6c\xb5\x05\xcc\xa6\x79\x79\xfa\x1c\x4d\xf3\x59\x0e\xf1\x9b\x14\xc8\xd7\x50\x9c\xe5\x85\xb3\x24\x2b\x0a\x74\xc1\xad\x40\xd9\xf4\x73\x4b\x13\xc5\x02\x12\x55\x93\xc3\x7c\x0e\x9f\xe5\xf3\x9c\xbc\x49\xb7\xe0\x1d\xa1\x5c\x20\x33\x49\x46\x8e\x64\xae\x52\x56\x3d\xe0\xef\x3d\xc8\xd9\xea\xc7\xa8\xa8\x81\xf2\x92\xda\xc4\xe1\x2b\x9c\x93\x46\x91\xc7\x0b\x1f\xc2\xc9\x68\xab\x6e\x50\x3f\xbe\x3f\x2a\x27\x88\x8e\x31\x05\x4b\x32\x1b\xdc\x13\xa3\x98\x67\x97\x7c\xd3\xb0\xb8\x6c\xe5\x04\xa6\xa3\x78\x4b\x60\x7a\x91\xe1\xf2\x55\x99\xcf\x17\xfc\x9e\xa9\x18\x48\x4e\x94\x39\xaf\x1a\x4a\xab\x4b\xa1\xe2\x35\x9f\xc4\x7c\xd2\x9e\x8c\xc4\xbf\x5b\xe2\xdf\xdb\xa9\x0d\x69\x78\x0a\xc9\xf3\x6c\x11\x80\x07\xf2\x1e\xf7\xe4\x59\x0a\x9e\xc8\x97\xe9\x27\xfb\xca\x0f\x3e\x98\x83\xab\x8a\xc0\xf9\x2b\x32\xbb\xd7\xd0\x5d\x2d\x79\x86\x26\x6f\xe1\x54\x29\x9b\x8c\x5e\x66\x84\x40\x5c\xaa\x79\xc8\x96\x8b\x29\x53\x1d\x8a\x96\x6c\xfd\xd4\x6a\x93\xec\x1c\x4e\xcd\x25\xc5\x5f\xbe\x9b\x35\xc5\x18\xd3\x97\x87\x8a\x40\xea\x5c\xa4\x94\xfb\xb4\x54\xdb\x7b\xf6\x74\xef\xf3\x74\xd4\x0e\x6a\x7f\xf7\x49\x7a\x3b\x32\x16\x76\x9b\xb4\x2d\x4a\xa4\xac\x7d\xb2\x9c\xa5\x84\x5f\x69\xc4\x9e\x41\x55\x2a\xa6\x95\x42\x91\xf5\x32\x7c\x5a\xa5\x47\xc7\xd7\x66\x57\x7e\x45\xa0\xdc\xeb\xec\x33\x6b\xf0\xb8\x16\xc5\x15\xf5\xf1\x83\xe5\x2c\x80\xab\x55\x1d\xe5\x86\x7d\xdc\xc5\xa7\x4c\xb5\x21\xe4\xfc\xd6\x1e\x35\xd0\xb6\x1e\x92\x8e\xc1\x45\x80\xb5\x70\x1f\x2c\x67\xf6\x60\x28\xb9\xec\xe3\x7f\x07\x8e\x0d\x02\xae\x85\x5e\x8f\xd0\xee\x83\x92\xba\x7e\xa6\xe7\xc9\x80\xe2\x2e\x33\x31\x0b\xea\xf2\xa3\xf8\x38\x85\xad\xb4\xc9\x33\x7c\xea\x0f\x57\xce\x60\x40\x96\xd4\xa8\xce\x64\x5a\x9b\xe7\xe3\x68\x14\xd7\x0f\xce\x71\x9a\xe6\xbd\x5e\x90\xa7\x24\x8c\x72\x79\x96\x90\xb6\x9e\xb3\xe9\x79\x56\x4e\x1c\x6f\xe5\x0b\x54\xf5\xb9\xb2\xdb\xd7\x74\x01\xe1\xdb\x7d\x38\xcf\xf2\x32\x2f\x4f\xb5\x09\xd0\x55\x8e\x27\xcb\x59\x2d\xa8\x08\xc8\xad\xc4\xa0\x70\x29\x37\xba\x01\xbc\x68\xd4\x0a\x71\x82\xca\x6a\x39\x87\x37\x04\xda\xef\xaf\x01\x9b\x57\x7b\x88\x32\x58\xa7\x6f\xad\xa2\x83\x3c\x59\xce\xe4\xd5\x7f\x39\x13\x8b\x45\x24\xa0\x5a\xa0\x4a\xf4\xa0\xb0\x25\x7b\x32\xce\x9b\x97\x37\xca\xd3\xea\x8d\xa6\x34\x52\x2f\xd4\xd9\xb9\x43\xe7\xcc\x43\xc1\x48\x70\xf5\xa9\xae\x27\xbd\x10\x07\xbe\xf6\x1a\x68\x37\x39\x85\xc4\x78\xcb\x08\x65\x86\x97\x9a\xf5\xd7\xad\x9e\x3c\xab\x4f\x80\xe6\xdb\xbe\x7e\xc2\xb0\x6f\x82\x91\xc9\xd3\x86\x7d\x13\xac\x5f\x9e\x3c\xec\xdb\x56\xa4\x9d\x42\xec\xdb\xed\x56\x82\x88\x18\x80\x16\x4d\xb4\x41\x19\x81\x02\x1b\x9a\x89\x31\xe9\x44\xb3\x28\xe0\xa0\x9c\xa4\x89\x02\x40\x12\x46\x12\x85\x13\x43\x7c\xdb\x57\xbe\xc9\xa3\x37\x56\xbe\xc9\x63\x78\xa4\x7c\x93\x47\xf2\x96\xf2\xed\xb6\x3c\xa6\xad\x93\xcd\xfd\xfc\x23\x3b\x5b\x77\x9e\x8f\xda\xaa\xc5\x75\xb5\xad\xcd\xa0\xfd\x54\x21\x62\xb3\xc3\xfd\x26\x72\xa8\x45\x2e\x53\xbe\x75\x3e\x0c\xd8\x9e\x5f\x4e\xe0\xc2\xb6\x97\x5e\x63\x12\xcd\x55\x02\xaf\xd2\x3b\x61\x14\xd4\x6e\x12\x82\x55\xd4\x4b\xad\xb1\x57\x2f\xc8\xd3\xea\x39\x24\x59\xaf\x27\x5d\x81\x42\xde\xfe\x5e\x18\xd5\x0e\x17\xfc\xcb\xe8\x63\xa9\x1a\xe7\x12\xe2\x70\x86\xd1\x9c\xf2\xbf\x3d\x96\xa0\xbe\xc9\x1a\x61\xf8\x44\xf5\x6f\x6f\x45\xb7\xb7\xa2\xad\xbb\x77\x43\x7a\xa9\xd9\xb4\xf1\x3e\xba\x50\x5b\xd6\x71\xcd\x84\xb1\x3c\xf3\xe6\xe3\x16\xf4\xe3\x32\xfd\xf4\xe3\x7e\x30\x18\x7d\xc4\x12\xd8\x90\xec\x9b\xfb\xf1\x4e\x3c\x1e\x85\x51\xb9\x4a\x71\xc4\x8c\x94\x9f\x83\xbe\xab\xe3\x32\xec\xa3\x7e\xe5\xb0\x67\x57\x02\x94\x29\x4e\x1e\x63\xee\x1b\xdc\xa4\x30\x12\x5e\x13\xd1\x56\xd8\xbf\xbd\x95\x6c\xd8\x9d\x05\x7b\xb9\x00\x63\xde\xec\xf7\x81\xb3\x02\x73\x90\x18\x5b\xcb\xce\xb5\x34\xf6\x77\x9f\xd0\xb9\xe4\x78\x55\xbd\x5e\x50\xa6\xb7\xb7\xa2\x51\xf3\x69\xa7\xec\xa7\xf1\xf8\x8e\xfe\x61\x34\xde\xd2\x3f\x6c\x8d\xcb\x7e\x7a\x9b\xde\x1f\x6f\x6f\x6d\x4a\x46\x8d\x68\xdc\x97\x67\xcc\xfe\xae\x5d\x8d\x0c\xb7\x4b\x69\x5c\x05\x31\x46\x38\x00\xe2\x0e\xd6\x61\x43\xec\xb0\xf9\x60\x86\x5b\x6c\xc6\x23\x18\x5e\x4b\xb5\x66\xbd\x8e\x2d\x1b\x73\x6b\xbb\xd5\x46\x39\x96\x12\xc0\xbc\x20\x36\xd2\xa8\x90\x16\xa5\x13\x70\xd2\xb5\xaa\x36\xa7\x74\x10\x26\x5a\x0c\x5f\xb5\x16\xed\x51\x2a\x47\xd5\xef\x54\xb8\x80\xf6\xe7\x93\xe5\xac\xd6\x21\x9b\x60\x86\x93\xac\x28\x78\xc4\x0a\xb3\x3c\xb4\xbe\x70\x99\x37\x95\xd4\x32\xba\x4e\x53\xec\x28\xa0\x72\x6d\x0a\x85\x0d\x14\x93\x4c\x70\x67\x9a\x73\xdf\x22\x16\x73\xb8\x43\xce\x60\xa7\xa2\x95\xbb\xc0\x26\x33\xa7\x96\x4b\x55\xc6\x2f\x97\x69\xea\xbe\x7c\xee\x28\xb4\x16\x26\x45\x63\x68\x41\x6f\x4c\x8e\x5c\xca\x33\xc3\x24\xc9\x83\x9b\xaf\xb5\x75\x07\x6f\x66\xde\x82\x54\x41\x52\xdf\x9a\x55\x50\x4d\xc8\x45\x73\x65\xd3\x2b\x73\xf0\xa1\xc8\xc9\xdf\x39\xcf\x8a\x25\xec\xcc\x10\xee\x00\xb9\x84\x07\x50\x00\x04\xe3\xce\x87\x7d\x18\xf2\xcd\x93\x57\x68\xb0\x15\x6f\x6d\x81\xf1\x7b\xdd\x6d\xd5\x7d\xc8\xe8\x3f\x60\xde\x4e\x53\x3f\xb8\xb8\x05\x5c\x6c\x81\x7b\x3f\x38\xa3\xeb\x96\xcb\xb5\x45\x6b\x57\x35\xfb\x2d\xe7\x05\xb7\xc5\x7b\x0b\xaf\xaa\x80\x1f\xd6\x7b\xa3\x70\x38\xcb\xe9\x8a\x0d\x60\x7a\xbf\xeb\x46\x74\xb5\x82\x6c\x2d\x52\xe6\xb5\x4b\x82\x70\x7b\xb4\x75\x2f\x1c\xce\xb3\x05\x6d\x03\x5e\xbf\xbe\x04\x7d\x7a\x24\xfd\xb0\xc8\xa6\x81\x5e\x73\x48\x90\xe0\x36\xa3\x8f\xc3\x68\x2b\x0c\xc5\xe3\xa6\x74\x9a\xd2\x14\x0a\xf0\xa2\xb3\x0f\x4f\x1f\x5d\x2e\x82\xef\x8f\x3e\x78\x07\xaf\x8f\xbf\xb7\xc7\xa9\x69\x9f\x74\x26\x25\xfe\xee\x10\xfa\xab\x8b\xed\x61\xf4\x7a\xf8\x08\x0f\x9f\x3c\x3b\x1e\x3e\x79\xc6\xde\x62\x9a\x9f\xec\xb5\x06\x37\x9c\x92\x59\x00\xd2\x35\xdd\xdc\x01\xa3\x3c\xb5\x2f\x5c\x3c\x5f\x9f\xf4\xb6\x37\x87\xa4\x5e\x0a\x91\xf4\x17\xce\xab\x45\x46\x97\x3f\xd8\xdb\x1b\x81\x28\x97\x57\x9e\x38\x1a\x85\x11\x14\xc9\x6c\xeb\x4b\x61\x30\x0a\xc3\xf1\x60\xc4\x9b\x07\x79\x5d\xcc\x98\x6f\xc0\xfc\x12\x02\x05\x04\xaa\x93\xa1\x79\x7a\x41\xee\x5e\x50\x5f\xe4\xb2\xb1\x69\xbd\x77\xf0\xd4\xed\x1f\x25\xef\x88\x2c\x4f\x1f\x64\x37\xe4\x84\xdc\x4f\xc1\x1f\x82\x5e\x8f\x6c\xa7\xe0\x8f\x80\x3d\xe2\x83\xa7\xc0\xad\x30\x14\xef\xe7\xa6\xb6\xb0\x4f\x28\xb2\x2e\xc5\x05\x1d\x3b\x48\x28\xa3\xdc\x71\x37\xdd\x71\xb7\x1a\x07\x58\x5c\xff\x56\x2b\x2c\x9e\xf0\x01\x9d\x7a\xf9\x67\x38\xa6\x83\x88\xc5\x20\x3e\x05\x37\x04\x2f\xa1\xef\xd0\xb5\x25\x13\xc2\x1f\xf7\x53\x32\xc6\x47\xf1\x71\x4a\x18\xf4\x8e\x80\xbe\x03\x7a\x3d\x30\x06\xdd\x94\xec\xd4\xed\x3c\x84\xa0\x2d\x9d\x84\x93\x05\xca\xb2\x1b\x12\x58\x91\x80\x84\x3b\xae\xa5\x40\x29\x3a\x76\x23\x1f\xa9\xcb\xce\xb7\xf3\x48\x5e\x88\xc8\x28\x7c\xaf\x10\x2d\xac\xaf\xb1\x3e\x8c\xad\xc2\x2c\x6c\x44\x04\x8b\xe0\xf5\xe5\xe8\xe4\xf5\xeb\xd5\xeb\xcb\xf8\x93\xf0\x56\xc8\x76\x17\x5b\x43\xf9\x2c\xc8\xeb\x29\x0a\x72\x4a\x35\x00\xa2\xfc\x68\x74\xcc\x38\xc4\xc3\x8c\xc0\x30\xa2\x5b\x02\x87\xef\x68\x69\x3f\x25\x5c\xce\xae\x23\xc9\x1c\xc5\xc7\x32\x6e\x06\x71\x2a\x69\x7b\xbd\x00\xa5\x80\x20\xd4\x29\x10\xb7\x76\x57\xda\x50\xe0\xdd\x94\x7d\xc8\xcb\x29\xbc\x7c\x31\x0b\xc0\xef\xb1\x38\xc3\x28\x05\x70\x7e\x02\xa7\x53\x38\xed\xc0\x6a\x92\x2d\x60\xdd\x54\xad\x19\x46\x12\xcf\x01\xc5\x9a\xe3\xa0\x69\xb3\x45\xff\xdc\x95\xa7\x03\x2f\x17\x39\x86\x53\x0a\x4b\x6b\x18\x46\x68\x27\xd0\x0c\xea\x5b\xa6\x60\xdc\xc9\x4e\x10\x26\xc2\x78\x1f\x45\x14\xab\x7a\xe7\x04\xfc\x17\x7b\x52\x69\xe6\x98\xd4\x03\xee\xc6\xe1\xb5\x4d\xbc\x3e\xf6\x90\x6f\x27\x50\xe1\xf6\x89\x80\x2c\x26\xa3\xe1\x46\xd8\xb7\x75\x95\x85\x86\xfb\x94\x66\x69\xd3\x0c\x47\xa3\x70\x67\x6b\x3c\x0a\x39\x5a\x96\x74\x22\x56\xb3\xf5\x58\xc6\x75\x72\xb4\xf6\x11\x3c\x3e\x22\xc7\x49\xbe\x93\x77\xd9\xef\x61\x7e\x5a\x22\x0c\x77\xd8\xfa\xe7\xae\xa7\xf7\xc1\x5f\x05\xf2\x51\xdc\x7a\x2c\xd8\xd1\xa4\x11\xf0\x94\xb6\xce\xcb\xd3\xce\xbd\xc1\x49\x4e\x3a\x13\x5e\xa9\x43\x85\x9e\x71\x27\xbe\x04\x7d\xa2\x9e\x78\xb1\x7e\xe4\x85\xe3\x9c\x39\x39\xf3\xd8\x3f\xd1\x11\x8e\xc8\xb1\x08\x15\x6a\x3d\x0f\xf4\x7a\x8e\x8e\xe1\x94\x8a\xf4\x7d\x20\xfa\xb3\x1c\x27\x48\xb8\x29\x38\x79\x5d\x58\x07\xce\x25\xc6\xed\x7e\x71\xf0\xd4\x48\xc5\x11\x91\xf0\xdd\x9d\x54\xe6\xd9\x50\xb5\x32\x4d\x1a\x94\x80\x84\xe3\xad\xd8\x59\xc9\x4e\x70\x12\x90\xcd\x47\xa2\x14\x76\x28\x6e\x9d\xe7\x62\x38\x6e\x29\xf4\xe1\xa3\x3d\x07\xf6\x42\x0c\x6d\xa2\xac\x44\xa3\x38\x14\x61\xc0\x47\x63\x9f\x06\xc0\xf4\x58\x4f\x89\x1a\x9c\xfb\x36\x6f\xe7\x7b\xdc\x92\x2a\x69\x95\x12\xfc\xf1\x93\xec\x8c\x6e\x6f\x8d\xef\xc5\xa1\xee\x2e\xa4\x24\x6a\x36\x4b\xaa\x26\xdd\xdb\x3e\x3c\xa5\xa3\x62\x3a\x75\x66\xd2\xac\x5e\x2d\x3b\x77\xc7\x56\x43\x35\xd1\x55\x40\xb4\xda\x1f\xdb\xb5\x9b\xf4\x39\x46\xdd\x4f\xec\xba\x4d\x7e\x17\xa3\xee\x68\x6b\xac\x6c\x37\xf6\xc8\x66\x5e\x4f\xf5\x34\x1f\x46\xfb\x2d\xc7\x30\xf4\x74\x1a\x7a\xfd\xdb\xb1\x5d\xdf\x72\x6e\xd4\x9b\xdc\x31\x9b\x78\xdf\x28\xb5\x39\xbf\xe3\x27\xb0\x97\x1a\x1f\x9b\xa4\xab\x17\xd8\x49\x36\x79\xcb\x12\xf0\x1e\xc0\x72\x5a\x3d\x90\xbf\xf4\x2e\x47\xf0\xb6\xad\xde\x10\x92\x90\xfd\x26\x36\xf6\xab\xc4\xcc\x35\x75\x55\x4e\x98\x9e\x8d\xd9\x84\x04\xfa\x04\xc6\xf1\xd6\x66\x9d\x3e\xdc\xdf\x7d\xf2\x73\xf5\x39\xb2\xa6\x51\x04\x37\x7b\xb1\x24\x8b\x25\x31\xc8\x12\x8f\xcc\x8d\x6b\xc5\x42\x33\x5b\xdc\x36\x17\x7c\x3d\x13\x73\x48\x32\x36\x09\x8f\xd8\x59\x6f\x35\xfc\x74\x4c\x76\x3c\x4d\xa5\x7b\xd9\x6e\x41\x18\x84\xaf\xce\x32\xf2\x46\x5a\x2a\x6e\x58\x3d\xf5\xeb\x20\xeb\x4a\xd1\x06\x75\x52\xc0\x65\x15\x10\xfa\x06\xea\xec\xde\x62\x55\x6e\xe0\x37\x01\xe9\xc3\xd6\x3d\x7c\xee\x9b\xa1\xee\xb3\x4f\xc6\x82\xf4\x77\x1c\x8c\x47\x4b\x19\x65\xf2\x9e\xf8\xce\xbd\xb1\xa9\xb1\x16\xcf\x38\x75\x0d\x3a\x9d\x81\xa7\x92\xcd\x7a\xcd\xee\x5c\x6c\x3b\xa8\xfd\xc6\xd7\xb7\x54\xfb\x14\xcf\x20\x81\xce\xc6\xb7\xe2\xf8\x8e\x3d\xec\x07\x5a\x8c\x89\x66\xdc\x75\xd6\x85\xf7\x38\x51\x1f\x3e\xda\xeb\xbc\xc4\xf9\x79\x46\xa0\x7a\xb0\x8a\x93\x95\x4b\x53\xaa\x6e\x41\x3e\xfc\xec\x8d\x52\xf9\xf7\xa3\x83\xbd\xfa\xef\xbd\x83\xa7\xf5\xdf\x2f\x94\xef\x5f\x1e\xde\xdd\x4a\x95\xc6\x47\xe0\x75\x0c\x8e\x55\x91\x4d\x29\xfa\xf7\xbc\x25\x7f\x09\x1c\x7b\xfd\x65\xeb\xdc\x82\xcd\x73\x1d\xeb\xe7\xa4\xad\x4d\x93\xb4\xb4\xb9\x06\xf1\x66\xa4\xad\xd9\x0c\xe1\x8b\x0c\x4f\x0f\xb3\x93\x03\x82\x16\x46\x87\xe5\x9a\x96\xf3\xc7\x10\x4e\x8d\x36\xe7\x72\xc8\x35\x08\xb5\x74\xd6\x5a\x8a\xdb\xfa\x33\x73\x62\xc6\x5a\xbf\xff\xbe\xa3\x29\x7b\x02\x1a\x01\xb5\xda\x7f\xe0\xab\x16\x6b\xd5\xfe\x43\xef\xbc\xfd\x47\xde\x92\xbf\xac\x82\x86\xe1\x3b\xda\x75\x2a\x1f\xed\x24\x5f\x12\x7d\x79\xaf\x18\xfa\x90\xb9\x3e\x07\xec\x00\x6d\xa8\xff\xb1\x46\xc3\xbf\xac\x91\xf0\xf7\x0c\x24\x74\xf5\x92\xb4\xdc\x54\x9e\xb5\x83\x30\x01\xbf\x07\xba\x29\xae\xa3\xf3\xd4\x17\xef\x47\x07\x7b\x20\xc2\x5c\x95\x51\x2b\x9b\x3d\x5a\x8d\x6b\x51\x85\xa8\x88\xfe\x55\x2f\xad\x7e\xfd\xd7\x65\xd1\xa3\x83\xbd\xe1\x43\xff\xa4\x17\x79\x09\xed\x45\xf6\xeb\xbf\xa1\x36\x7f\x74\x93\x35\x63\x72\xbc\x26\x39\xb2\xbe\x6b\x7e\xfd\x9f\xaa\x5d\xfc\xa2\xb5\x0b\xb9\x79\xf4\x02\x23\xc5\x78\x10\xea\xf0\xff\xb6\x0a\xff\x79\x0b\x2f\xe0\x32\xd9\x33\x37\x21\xfe\x8e\x0a\xe5\x0b\x1f\xb5\xff\x0b\xb5\xd6\x0b\x5f\xad\xbf\xab\xd6\x7a\xa9\xa7\x80\xb6\x0c\x76\xe4\x9a\x68\xde\x18\xdc\x37\x7c\x0d\xdb\xbf\xaf\xf6\xf0\xa5\x0f\x8f\x7f\xa0\xd6\xfa\xca\x57\xeb\x1f\xaa\xb5\xbe\xf6\xd5\xfa\xaf\xd5\x5a\xdf\xfa\xa9\xac\xbf\x31\x81\xdf\x3b\xda\x19\x25\x5b\x13\x7d\xdf\xfd\xfa\xbf\x51\x80\x1d\x81\x23\x63\xab\x39\x68\xe4\xd4\x7d\xb5\x5b\x19\x5a\x64\xdd\x3b\x78\xaa\x13\xf1\x4f\x34\x2c\x5e\xbf\xf6\x6f\xb2\xff\x56\xab\x79\xdc\xca\x1a\xb4\x37\x29\xf7\x54\x06\x30\xa4\xfb\x9f\xb6\xeb\xa6\xa4\xe1\x26\xc2\x52\x89\xfb\xf5\x04\xb7\xbe\x0b\x5e\x4f\xfb\x61\x12\x0c\x3f\x0a\x3f\xb8\x15\x26\x78\x27\xa8\xab\xa4\xf8\x68\xeb\xd8\x54\xf5\xbe\x60\x6c\xe6\x68\x74\x1c\xc1\x30\x1c\x1b\xca\x04\xf1\xa6\xf2\xe2\x60\xcf\x15\x7e\x41\xc2\x0d\xc3\xeb\xeb\x96\x25\xaa\x91\xef\xbf\xd3\x88\xf2\xdd\xfa\x49\x7c\x9f\x85\xfe\x8f\xd4\x65\xf7\xe6\xe7\xed\x81\xe1\xdd\xb1\xf0\x66\x20\x5c\x1a\x4d\x9d\xd9\xbf\x8f\x64\x55\x09\x0d\xda\xb8\xf3\xe8\x60\xaf\x13\x5f\x6e\xc5\x1d\xd0\x27\xbe\x33\xec\x5a\xc5\xf3\xf7\xd7\xe3\x09\xee\xb1\x60\x72\x1a\x9a\xe6\x1d\x7b\x96\x17\x45\x00\x1e\x79\xcf\x4d\xad\xcf\x3f\x78\x5f\xda\xc8\x3d\xe0\x78\xd8\x12\xde\x0f\xe0\x16\x10\xa7\xa0\xd6\x52\x7b\xdf\x30\x50\x93\x26\x0d\x44\x58\x33\xfc\xa1\x78\x57\x53\x9e\x19\x83\xe6\x29\x50\x7b\x5d\x7f\xe2\xaa\xca\xdf\xe6\xb4\x7a\xb7\xc0\x58\x76\x62\x8e\x49\x74\xfa\x44\xbc\xd1\xff\x42\xfc\xfb\xd4\x0b\x59\x3e\x22\xbe\xaf\x44\xce\xb5\x75\x74\x9d\xfc\x41\xe7\x56\x27\x13\xab\xdc\xa3\xb3\xfb\xe9\x5d\xac\xe9\x60\x83\xd5\x12\x68\xfc\x20\xd4\x7e\x7d\xa4\xfd\xea\x6b\xbf\x06\xda\xaf\xa1\xf6\xeb\x96\xb6\x02\x23\xe2\x5d\x83\xb6\x30\x96\xcf\xb8\x66\x19\x87\xb5\x1f\x85\x53\x50\x14\x2b\x8e\x02\x0c\xb4\xfc\x88\x4e\xb3\x28\x1c\x26\xb5\x85\x69\xbe\x03\x82\xe6\x05\xea\x49\x9c\xe6\x63\x10\xd2\x0f\xab\x15\x18\x28\x05\x23\x5a\xf0\x91\x28\x18\x2a\x05\x5b\xb4\xa0\x0f\xba\x74\x23\x80\x5b\xf4\x5f\xa9\x23\x78\x72\x3b\xcd\xd7\xab\x43\x0b\x74\xda\xbc\x96\xd7\xe8\x76\x2a\x48\xf8\xab\xf9\x87\x7d\xd2\xff\x90\xbd\x94\x7b\x55\xf1\xea\x0c\x7e\xec\x38\xff\xe8\xf7\x4f\x6c\x49\xdf\xbe\x22\x2b\x70\xee\xb5\xd7\xaf\xaf\xb7\x4a\x93\x4f\x3d\x5d\x83\xb4\xed\x22\xe3\xd2\xca\x7e\x0e\xaf\x16\xd9\x54\x04\x08\x90\x50\xee\xbf\x2f\x94\x51\x03\x65\xf8\xd8\x89\xe2\x70\x62\x41\x16\x8f\xb3\x91\x29\x7e\xb2\xaf\x0a\xc0\xa2\x39\xd9\xe6\x6e\xd8\xb6\x7d\x36\xbb\xf6\x6c\x01\x05\x0a\x72\xd7\xb9\x0d\x54\x02\xac\x5c\xb7\xb5\x7d\xab\xda\xb5\xaf\xda\x96\x56\xed\x8f\x7c\xd5\xea\x2b\xe2\x8b\x83\x3d\x2a\xa5\x78\x1d\x59\xb8\xe2\xbb\x9c\xa2\x8b\xc3\x9c\x14\x50\x11\x40\x14\x00\x5b\x62\x51\x70\x60\xcd\xf7\x3b\xc7\x1e\x17\xa5\x46\x82\x12\xd1\xec\x13\xe6\xd6\x5f\x6b\xf8\xe5\x8b\xd7\xad\xad\x50\xfa\x88\xb6\x1b\xd4\x2a\x1e\x86\x51\x95\x1e\x1d\x0b\xa7\x27\x9c\xf4\xfb\xa5\x74\x78\x6a\xa0\x1f\x6d\x7d\x54\x1e\x87\x51\x91\xb2\xbf\xfa\xa3\xe3\x24\xbb\x9f\xa2\xe6\x2d\x13\xec\x80\x6e\x5a\xec\x04\x45\xe3\x1c\x79\x39\x1a\x1d\xa2\xbd\x83\x83\xa0\x08\xd9\x0b\xe3\x51\x76\x9c\x16\xe1\x58\xad\x82\x4f\x4f\x0e\xd1\xd7\xa3\x11\x2b\xa4\xb5\x2a\xfe\x56\x9d\xf5\x41\x02\xfa\x45\x18\x5e\x57\x7a\xaa\x72\xaf\x28\x7e\x7c\x27\x01\xfd\x4a\x58\x60\x24\x20\xec\x83\xbf\x04\x54\x7a\x7f\xaa\xd3\xb5\xce\xd7\xff\xee\x04\x4d\xaf\xc6\x35\x71\xaf\xd5\x36\x23\x63\x96\xfd\x13\xc1\x84\x02\xc9\xac\x6d\x02\x10\x6e\x90\x19\x84\x61\x82\x1d\x0f\x03\x8d\xe7\x29\x73\x72\x64\x11\x7b\xe5\x23\x6f\xcc\x23\xb3\x0b\xc9\x98\x34\x03\x54\xd0\x1c\x1d\x6b\xef\x70\x90\x49\xba\x5a\xf9\xef\x64\x18\x0f\x74\x5f\xcd\x00\x6b\x58\xdc\x5d\x43\x4c\x71\x2f\xd8\x6b\xd2\xbe\xa6\xc1\x30\xbc\x95\x0b\xa4\xa4\xe8\x72\x34\x92\xe9\x1b\x46\xc0\xf7\x68\xc2\x5a\x07\x2d\xd9\x6e\x35\xb9\x68\xeb\xfd\xe0\xd4\x39\x69\x9d\x32\xd0\x4d\x91\x62\xc9\x7c\x79\xa6\x6e\x5d\x90\x51\xc3\x7a\xe3\x0a\xd2\x3b\x4e\xe7\x6e\x4c\x25\x9a\x8a\x1b\x44\x3a\x78\xcb\xdd\xad\x8d\x48\xfd\xdd\xd1\x64\x51\xc5\xa3\xad\xdb\x77\xee\x7e\xfc\xc9\xf1\x47\xec\x2e\x76\x4b\x5f\x03\x22\x09\x49\x46\xd0\x09\x27\xbd\x3d\xf1\xee\x74\x32\xfc\xf6\xc6\xad\xe7\xb0\xbe\x1c\x3f\xf9\xe4\x13\x07\x7a\x8d\x4d\xaf\xb5\x2c\xb5\xa4\x1d\x7c\xdb\x72\xeb\x5b\x1c\xe5\x49\xe0\x1c\xd8\x77\xc9\x71\x3f\x09\xe8\x3f\x1f\x85\x41\x12\x1c\xbd\xae\x5e\x1f\x1c\x7f\x14\x86\x3b\x1f\xdc\x62\xbc\x08\xa7\x74\x34\x51\x9e\x92\xa3\xdb\xc7\x61\xd4\x70\x03\x96\x9a\x7a\x8c\x23\xc6\x15\xf2\x6b\x73\x6e\xdd\x42\xe6\x12\x5f\x9e\x93\xce\x1c\x4d\x97\x05\x34\x26\xa5\x51\x13\x1f\x81\x3f\x04\x6d\x87\x46\xce\x5e\x96\x0f\x16\xd9\x84\x9e\x18\x79\x86\x4f\x99\xd9\x54\xd8\x40\x18\xee\xb6\x34\xe7\xab\xe9\xd5\xc2\xd7\xf6\xc1\xda\xb6\x4c\xbd\xe5\x69\xbd\xb7\xb6\x35\x0b\x6f\xef\x6b\xfe\x70\x6d\x73\xa6\x91\xf6\xb4\x7e\x74\x73\xd4\xed\x37\x0d\x8f\x52\xf8\xe0\xe9\xf0\xf1\x4d\xa9\x7a\x13\xe0\x4f\xda\xc5\x04\xad\xa1\xd2\xc7\x60\xa4\x02\xf9\xc5\x26\x40\x64\xb0\x63\x1d\x4c\x24\x7e\x8d\x2c\xa0\x4f\x9d\x2c\xa2\x6e\x9a\xf0\x50\xd4\xdc\x12\x9f\x44\x23\x73\xd0\x66\x5a\x95\xa4\x09\x54\x19\x27\x78\x9b\x24\xb8\xdf\x0f\x37\x7b\x44\x38\x78\x3a\xfc\x2c\x6d\xb6\xc9\xce\x67\xd6\xbd\xc8\xd0\x21\x51\x26\x14\x77\x53\xbc\x33\x4a\x53\x6c\x3c\x53\x42\x9c\x55\x70\xf7\x04\x51\xb1\x7d\xbc\x65\x97\x8b\xc7\xab\xf1\xed\xc6\xf6\xd9\x2a\x73\x40\x7c\x00\x0b\x74\xa1\xa1\xfc\xb9\x8a\xf2\xe7\x3f\x19\xe5\x43\xc4\xb6\x00\xc7\xd9\x44\x8c\xd5\x78\x96\x97\xd0\x8d\xdc\x21\xe2\xbb\x4f\x45\xef\xd9\x5a\x56\x43\xe1\x55\xbe\x3d\xf7\xbc\xa5\x39\x0f\xd9\xdc\xda\xfc\xe5\xda\xe6\xf4\x22\xeb\x6d\x7e\xd0\xd2\xfc\x5c\x58\x3a\xf8\x59\xdd\xa1\xa1\xd7\x51\x7c\x28\xb7\xd3\x91\x49\x5b\x09\xaf\x85\xfd\x1d\x81\xfb\x87\x4e\xfd\xe9\xc1\xd3\xe1\xd7\x2d\xa8\x6a\x93\xe3\x41\xf6\xdb\xdf\xf9\x36\x3c\xc9\x26\x6f\x3d\xfb\xf0\x08\x7c\x5f\xbf\x1a\x51\xe6\xd5\xa0\x99\xdd\x80\x8f\xad\x79\xe0\xe8\x7b\x28\x71\xe2\x26\xf0\xc4\x31\x9b\x47\xf1\x31\xdb\x4e\xf5\x2f\xd3\xa9\x69\x9d\xa2\x9e\xcd\xe9\xa4\xfd\x3c\x36\x41\xdc\x8f\x93\xad\xbb\x1f\x27\xb1\x06\x66\xe8\x48\x4a\xaa\x3d\x88\x8b\x4c\x9c\x9c\x04\xfb\xe8\xc2\xcf\xe5\x67\x0d\xe1\x7f\xd1\x7c\x3d\xdd\x64\xf8\x3b\x2c\xe2\x48\x5d\xe4\xe0\x6a\xbb\x45\x21\xe6\xbb\xb2\x78\x08\xcf\x97\xc3\x4b\x77\xc5\x64\x05\x5d\x0d\xb7\x33\xcf\xa5\x34\x4e\xc8\xb6\xb6\xc1\x12\x22\xd7\x9b\x62\x59\x27\x85\x3a\x72\xac\x98\x3d\x72\xc6\x79\x66\x3e\x37\x6c\x08\x5a\x58\xbd\xf9\x20\x0f\x73\x95\x3b\xe7\xbe\xcd\x5b\xfc\x6c\xc3\x1a\xe9\xc3\x2a\x7e\xbe\x61\x69\xf3\x30\xf7\xbd\xcd\x10\x35\xa2\x8a\xc2\xef\x48\x7f\x6b\xb5\xba\x5b\x2f\x15\xd2\x1f\x1d\xef\x94\xcb\xa2\x18\x8b\x65\x48\xfa\x5b\x51\x1c\x5e\xd7\x90\x70\x0b\xa4\xbb\xab\xd5\x96\x03\x12\x8b\x7e\x04\xfa\x1a\xc0\x3e\xe8\x44\xca\xa7\xdb\xf6\xa7\x3b\xec\x53\x08\xae\x15\xa5\x64\x9b\xbe\x82\x07\x23\x52\x10\x6a\x88\x8a\xd2\x38\x41\x06\x51\x51\xbf\x2f\xe3\x40\x89\x2e\x51\x14\x33\x20\xd5\xf6\xed\x38\x8c\xd3\xb4\xda\xc9\xa5\xda\x6a\x3c\xe2\x3f\x79\x4c\xd0\x98\x1e\xc1\xf4\xa7\x8c\x2d\x48\x65\x05\xfa\x5b\xc6\x05\x8d\xc7\x77\xf8\x07\x35\xd2\xdf\xf8\xae\x80\xc1\xa3\x85\xc6\xe3\x4f\x44\x23\x19\x07\x34\x1e\xdf\xab\xbf\xc8\x48\xa0\xf1\xf8\x53\xfe\xcd\x8c\xfd\x37\xde\x62\x38\x04\x79\x1d\xa7\xb4\x46\x67\x14\x8e\xb7\x0c\x84\x46\xe3\x2d\x1b\xa3\xd1\x78\x4b\x47\x69\x34\xde\x32\x71\x1a\x8d\xb7\x6c\xa4\x46\xe3\x2d\x8a\x15\x8b\x0a\x68\xc6\x36\xe5\x39\xc3\x3a\x8c\x8c\x77\xe3\x90\x93\xf3\x5e\x98\xdb\x71\x3f\xab\xc1\xed\xb8\xae\x7c\x9b\xf6\x42\x6b\x8b\xd4\x90\x65\x8a\x03\x14\x86\xae\x76\xb9\x8c\x97\x15\xa9\x85\x69\x19\xa1\x7e\x7a\xb7\xce\x58\xc6\xbd\xdf\x83\x2c\x65\x39\x88\x42\x7e\x49\xcb\x67\x01\xea\xa7\x5b\x51\x76\x5f\xea\x2e\x64\xb4\x53\xb1\x62\x26\xa8\x24\x79\xb9\x84\x89\xa3\xdf\xec\xba\x46\xf6\x53\x86\xac\x0f\x35\x11\xa8\x4b\x21\xc4\x1d\x4a\x00\x2b\x9e\x69\x35\xb8\xd3\x10\xe0\x0e\x23\xc0\x3b\xee\x32\x4a\xc7\x9e\xd4\xc4\x28\x5d\x8d\x55\x2a\x28\x01\xc3\x54\x2a\x70\x05\x1d\x51\x60\xa5\x69\xf6\x1e\x94\xb0\xfa\xce\xae\x05\x29\x7c\x68\x69\x14\xa8\xee\xa7\x9f\xc6\xbd\x5e\xb5\x9d\x7e\xfa\xc9\x8e\x73\x1d\x7c\x1a\xf7\xef\x8d\xab\xfb\xe9\x28\xe6\xf5\x46\xf1\x27\x6c\x6d\x39\x28\x36\x8a\xe3\xfe\xbd\xf0\x3a\x57\xa3\x05\xda\xe2\x84\xa9\x2e\x33\x2f\x64\xa7\xb6\x2a\x2a\x0c\xe5\x98\x74\x4d\x35\x17\x04\xe6\xbe\xf3\xa1\x34\x3d\xb2\xef\x2a\xe7\x6c\xd8\x2e\x2f\xc4\x25\x68\x76\xcb\xc7\x6a\x3b\xd5\x47\xd4\x16\x93\xa8\x8c\x10\xf6\x47\xd2\x59\xb4\x45\x8e\x1a\x25\x6b\x24\x16\x96\x89\x29\x01\x7d\xdc\x07\xfb\x40\xd7\x45\xdc\x2f\x3d\x63\x3e\x02\x3b\xa5\x71\x78\xfd\x45\xc1\x9f\x11\x73\xa4\x4e\xc1\xce\x5a\xa9\x6f\x54\x82\x90\x31\xc2\xcd\xdb\x6c\xf1\x36\x1f\xdf\xa8\x9f\xad\x64\x94\xc4\x09\x9d\xf3\xf1\xdd\x36\x61\xcc\x6e\x7a\x37\x2e\x0d\xb9\x74\xe1\x9d\x9a\xee\xc2\xf1\x38\xe1\x7e\x91\xa9\xd0\x8c\xec\x9b\x6b\x7d\xf8\xc1\xc2\x37\xe9\x1f\x78\x7b\xfd\x10\x2c\x3e\xf4\xec\x8f\x5f\x79\xa0\x75\x7e\x05\x5a\x35\x90\x49\xcc\xde\x0b\x47\x69\x2a\xcd\x52\xdf\x4b\x5f\xea\x53\xc4\x70\x13\x7b\x96\x8c\x74\xeb\xb7\xdb\xc5\x28\x64\x9a\x84\xf7\xec\xa2\x51\x21\x6f\x30\x92\x3b\xbf\xfd\x6e\xe8\x68\xee\xbe\x3f\xc1\x1e\xed\x3e\xdf\x64\x20\x1f\xff\x56\x7b\x18\x59\xd6\x41\x52\x4b\xcb\x21\x75\x58\x14\xca\x31\x33\x4d\xb9\x56\x17\xf9\xaf\x7c\x8b\x1c\x7b\x57\x32\xe5\x71\x94\x3b\x28\xaf\x64\xf1\x71\x34\x8a\xc3\xc1\x88\xc7\x80\xca\x99\x9a\x59\x2d\x1f\xa9\xe5\x89\x35\x14\xc3\xe9\x05\x47\xb9\x77\xbc\xb5\xbe\x2f\x8e\x8c\x3b\x15\xf6\x1d\x67\x1f\x60\xf7\xf7\x6a\xf3\x27\x70\xde\x43\xe5\xeb\x81\x78\x3a\x76\x7f\x3f\x02\xf7\x89\x97\xd7\x75\x7c\x45\xc3\xe5\x8d\x5e\xe0\x39\xb0\xa5\x97\x26\xe7\x9e\xfe\x3f\xbc\xf0\x35\xb9\xf4\xb4\xf8\xe8\xd2\xdb\x89\xbb\xc9\xf0\x07\xf3\x9c\xed\xea\x77\x9c\xed\x51\x68\xf3\xce\x7c\x16\x50\xf6\x29\x72\xa1\xab\xb5\xb7\x84\x35\x48\xb2\xfe\xf5\xb7\xce\xeb\x21\xe0\x8e\x8e\xc5\xf1\xca\x0c\x97\x6c\x99\xcb\x0f\x80\xb9\x32\x68\xb2\xc5\x87\x3f\x78\xe9\xf0\x83\x8f\xd8\xef\xbc\xeb\xe0\xc3\x95\xbf\xe8\xda\x5f\xf4\x47\x46\x91\x16\xc3\x72\x26\x9f\x4f\xd5\xa8\x84\xee\x40\x79\xd5\x04\xe7\x2c\x09\xa0\x0c\x90\xf5\xe4\x99\x12\x1d\xf0\xb4\x98\x67\x8b\x07\x59\x05\xdf\xa8\x61\xa9\x9b\x18\x06\x2a\x7c\x23\x24\xb5\x9d\x2b\xde\x80\xd8\xeb\x75\xf5\x18\xe6\xb2\x67\x35\x65\x1e\xab\xfe\x86\xdb\xf9\xe8\xdf\x31\x14\xd9\x9f\x78\x95\x14\xee\x88\x00\x09\x59\x55\xe5\xa7\x65\xf0\xee\xda\x1c\x42\x04\x85\x66\xa8\xf9\x24\x62\xa5\xab\xa1\x15\x14\x98\x1b\x85\x49\x30\x9d\x46\xc3\xa4\x41\x50\x0d\x8b\x00\xa8\xb8\x57\x47\x50\xe8\x83\x63\x10\x81\x53\x25\x4c\x13\xed\x07\xd6\x39\x4b\x1b\x18\x11\x4c\xef\x2b\x38\xf1\xd7\xef\x56\xea\xbb\xa3\x54\xf1\xe6\x5d\x61\x8b\xaf\x4e\xc3\x0d\xe6\x15\x92\x17\xe7\x10\xe3\x7c\xea\xca\x72\xc4\x41\xc0\x35\x30\x5a\x53\xbc\x18\xcd\x02\x73\x91\x9a\x53\x1a\x6a\x79\x0b\xfc\x43\xd4\x51\xd7\xe6\x38\x82\x0e\x7c\xed\x13\x63\x9e\x2d\xaa\x37\xa9\x5d\x71\x28\xee\x71\x4d\xd8\x4f\x5a\x53\x6c\x99\xba\xa1\xab\x0b\x85\x26\xdc\x3e\xcd\x1b\xb2\x85\x81\x18\x9e\x65\xd5\x8b\x8b\xf2\x25\x46\x0b\x88\xc9\x55\x00\x45\x88\x00\x56\x78\x04\x8f\xc7\xdc\xb4\x6d\x4d\x4f\xd9\x74\xea\x61\x05\x7c\x80\x69\xaa\x8f\xa1\x4e\xf1\xcd\x4a\xdd\x3b\xac\xae\x2c\x9f\x0e\x25\x4a\x8d\xcd\xb1\x07\x1b\xf7\x4a\x65\xcd\xbb\xe9\x1a\x62\xeb\x98\xb5\xd7\x75\x2d\xc9\x6a\xe3\x75\xfd\xb3\x50\x46\x4f\x54\xa4\x67\xc0\x16\xe6\x89\x44\x31\x4f\xc4\x3b\x0a\xf4\x23\x72\x9c\x62\x3d\x42\xa0\xfc\xae\xaf\x6b\x16\x4a\x5d\x30\x39\x3e\xd3\x01\x89\xdc\x3b\x0b\x2c\x2b\x88\xa9\x94\x18\xf1\x46\xd7\x4e\x12\x29\x34\x6c\xbc\xbd\x7c\x35\x8e\xe2\x63\xcf\x36\x06\xa7\x38\x5b\x9c\xe5\x13\x10\xbd\x03\xdf\x83\x31\xf8\xcd\x3f\xf8\x9b\x20\xca\xc6\xe0\x37\x7f\xff\xbf\x02\xd1\xc9\x18\xfc\xe6\xef\xfe\x31\x88\x26\xf4\xdf\xbf\x05\xa2\x29\xfd\xf7\x6f\x83\x08\xd2\x7f\xff\x33\x10\xcd\xc6\xe0\xd7\xff\x02\x44\xa7\x63\xf0\xeb\x7f\x09\xa2\x33\xfa\xf5\x4f\x41\x94\xd3\x7f\xff\x73\x10\xfd\x72\x0c\x7e\xf3\xf7\xfe\x21\x88\xde\xd2\x7f\xff\x2e\x88\x0a\xfa\xef\xdf\x02\xd1\x9c\xfe\xfb\xf7\x40\x54\xd2\x7f\xff\x1c\x44\x68\x0c\x7e\xf3\x77\xfe\x4f\x10\x2d\xe8\xbf\xff\x06\x44\xbf\xa2\xdf\xff\x1a\x88\x30\xfd\xfd\xe7\x20\xaa\xe8\xbf\xff\x16\x44\x84\x7e\xff\x13\x10\x2d\xe9\xbf\x7f\x0a\xa2\x73\xfa\xef\xbf\x06\xd1\x05\xfd\xf7\x9f\x83\xe8\x92\xfe\xfb\x9f\x80\xe8\x6a\x0c\x7e\xf3\xc7\x7f\x0a\xa2\x1f\xe8\xbf\xff\x04\x44\xe0\x1d\x18\x83\xff\xf7\xaf\x81\x08\xac\xe8\x00\xff\xf8\x1f\x83\x08\x5c\x83\x31\xf8\xf5\xff\x08\x22\xf0\x47\xf4\x8f\xff\x0d\x5c\x3b\x4e\x65\x8d\x82\xc3\x5d\x1f\x01\x4f\x70\x4e\xf2\xea\x8c\x12\xf0\xf7\x39\xd4\xf5\xc0\x1e\xf8\x80\x2d\x2b\xc0\x5d\xcd\xd7\x4d\xe8\x1d\xef\x84\x4e\x97\x64\xa2\x62\x13\x81\x3f\xa4\x7f\xfc\x5f\x20\x02\x47\x60\x0c\xfe\x9f\x7f\x05\x22\xf0\xfa\x35\xfd\xf4\x6f\x41\x04\x8e\xc1\x18\xac\x04\x8d\x7e\xfd\x4f\x05\x8d\x66\x92\x42\x7f\x2e\x29\xf4\xaf\x37\x18\xd4\xde\x9a\xad\x7e\x74\xd7\x8b\xf3\x2c\x2f\x4b\x41\x43\x8a\xe3\x8f\x7f\x5d\xe2\xf8\xe3\xdf\x17\x38\xfe\xf8\x37\x40\x04\xbe\xa3\x7f\xfc\x09\x88\xd8\x4a\xfd\xf1\x9f\x09\xb4\x7f\xfc\x53\x81\xf6\x8f\xff\xab\xc0\xfb\xc7\x7f\x22\xf0\xfe\xf1\xcf\x37\xc0\x7b\xdf\x8b\x15\x86\xa5\x83\x94\x3f\xfe\x63\x41\x4a\xba\xf6\x05\x9a\x7f\x26\xd0\xfc\xf5\x9f\x49\xa4\xfe\x99\x44\xea\xff\x90\x48\xfd\x53\x49\xcc\x7f\xba\x01\x52\x7f\xa5\x1d\xa9\xce\x24\x2b\xb3\x69\x9e\x95\x14\x3b\x0d\xa9\x1f\xff\x07\x0b\xa9\x1f\xff\x67\x49\xbb\xff\x45\xd2\xee\x5f\xaf\x47\xf3\xc7\x7f\xb3\x01\x9a\x9f\x7b\xd9\x0a\xc4\xf3\x06\x3b\x46\x16\xdf\xcc\xfe\x89\x7f\x1e\xe5\xfa\xfb\xf1\x1f\x6d\x80\xcb\x37\x3e\x5c\xd8\x63\x05\x47\x46\xdf\x13\x7f\xe6\x9f\x48\x46\x98\xef\x25\x61\xde\x49\x0a\x33\xf4\xfe\x95\x45\xaa\x7f\xbe\x01\x7a\x8f\xd6\x6d\x8f\x8f\xbd\xdb\xa3\x44\xf8\x02\x9e\xe6\x59\x79\x6b\x9a\xc9\x7d\xf2\x87\x92\x9a\x8c\xac\x7f\xb3\x1e\xc0\x3f\xf4\x6f\x98\x3f\x95\x23\xf9\x9f\xe4\x48\xfe\xf7\xf7\xda\x30\xdf\xfa\xf0\xac\x16\x35\x7a\x1e\x42\xff\xf7\x35\x9e\xff\xa5\xdc\x31\xff\xb7\xe4\x3e\xff\x42\x62\xf5\x2f\x25\x56\x7f\xb6\x1e\x99\xa3\x4f\x8e\xd7\xd0\x75\xf8\x0b\x2f\xba\x17\x70\xaa\x52\xf3\x8f\x5b\x16\xe9\x6f\x8d\xfd\x70\x5b\x7c\x2f\x86\x79\x55\x49\x72\xb2\x95\xa8\xef\xf5\x7f\xd6\xbe\xd7\xdf\x88\x35\xaa\x6f\xf9\x96\x6d\xc6\xb6\x3c\x7b\xa9\x60\xef\x22\x54\x52\x09\x78\x4e\x85\x5b\xd9\x72\x9a\xa3\x5b\x27\xb0\x28\x40\x04\xf8\x0f\x74\x7a\x9a\x9c\x64\x15\xfc\xf8\x0e\x88\xc0\xe1\xd6\xb4\x7c\x75\xb1\xbb\xb7\x5b\xff\xf7\xf0\xec\x57\x5f\xdd\xfd\x9c\xfd\xf9\xfc\xf1\xf9\xa3\x5f\x7e\xf3\xe0\x17\xa7\x8f\xb7\x4e\x6e\x7f\x96\x67\x5f\x3f\xe7\x55\xbe\xd9\xfb\xa4\xae\xfe\x8b\xc9\x03\xfe\xc7\xde\x9d\xdd\x57\x9f\x96\xdf\x8e\x9e\xef\xaa\xff\xdd\xc9\x8a\xe5\xc1\xe9\x23\xf6\x37\xac\x9e\xde\x7e\xb4\x77\xfb\x96\xf5\xdf\xbd\xb7\x0f\xa7\xf3\x4f\xaf\xbe\x99\x17\x3f\xfc\xe2\xaf\xec\xee\xee\x3e\x3e\x5b\x4c\x9e\x9c\x2e\x0f\x6f\x7f\x56\x3e\x7d\x72\xb9\xf8\xa6\xf8\xf6\x7c\x32\xff\x6c\x31\xb9\x7a\xf0\xd9\xd3\x87\x4f\x2f\x9e\x3f\x7c\x7b\xf1\xc5\x0f\xbb\x77\x79\x0f\x8f\x1e\xcb\xb6\x9f\xbf\xfa\xec\xe1\x97\xa7\x8f\xf8\x60\x1e\x3e\x7e\xfe\xf4\xf9\x57\xbb\xf1\x67\x0f\xbe\xdc\xdd\xdd\xfd\x2b\xbb\xbb\x0f\x4e\x3f\xdb\x7b\xfb\xe2\xed\xd6\xb7\x9f\x7d\x9e\x7d\xf5\x0a\x1d\x9c\xdd\x9d\x7f\xb6\xff\xf4\xe0\x60\x5e\x14\xcf\x5f\x5d\xe4\xdf\xe6\xaf\xf2\xc9\xab\x6f\xbe\xb9\x73\x71\x79\x79\x76\xf6\xcb\x5f\x3e\xfc\xc5\x93\x27\x4f\x5e\x3c\x7f\xfa\x70\xff\xed\xe3\xff\x8f\xb6\xff\xec\x75\x1e\x39\x12\xc5\xf1\xaf\x62\xcf\x8b\x1f\x66\xa0\xb1\x99\x45\x71\x8d\xb9\x17\xcd\x1c\x45\x31\x87\xc5\xe2\x82\x49\xcc\x99\x14\xc3\xae\xbf\xfb\x1f\x3a\xe7\x99\xe0\x67\xe6\xb1\xd7\x2f\xfe\x07\x20\x8e\xd4\xac\xae\xd4\x55\xd5\xd5\x22\x51\xf5\x9e\x0d\x18\xa0\x80\x56\xef\x2f\xa1\x1c\xcd\x38\x11\xee\x79\x57\x75\x4a\xae\x7b\x8d\xae\x2b\x49\x4e\xe3\x83\x89\xb3\xb5\xbc\xbd\x9c\x36\x40\xaf\xed\xa2\x84\x53\x3c\xe3\x83\x6c\xe4\x77\xcf\x70\x00\x00\x12\x30\xb8\xbc\x28\x4c\xd3\xb2\x18\x81\xe7\x05\x45\x92\x82\x20\x08\xfa\xbc\x28\xf6\xfd\x38\x18\xa1\xeb\x44\x49\x51\xc6\x32\xcf\xf3\xfe\x38\x18\x86\xb5\x59\x75\x18\xe4\xbb\xae\xaf\x6d\xdf\xe3\xf8\xf5\x5a\x96\x30\xcc\x49\xaa\x1a\xdb\x96\x55\x6f\x3b\xe2\x86\xd5\x34\xc1\x82\xef\xef\xe7\x59\x75\x5d\x27\x3e\x74\x3d\xcb\x92\xe4\x86\xcb\x46\x7d\xf7\x80\x01\xf2\xb7\x82\x8c\x3c\x08\x43\x9a\x66\x98\x37\x5d\x5e\x91\x94\x28\x0a\x92\x37\x0d\x89\x35\x6a\xde\x01\x6f\x85\xe5\x1f\xba\xa4\xc5\xda\x34\xe5\xd9\xb4\xd5\xd9\x3c\xef\xb0\x65\x3e\x6e\xe5\x6e\x72\xa7\x6f\x6a\xb0\x6b\xbb\x1c\xe2\xbe\xff\x52\x17\xf1\xd3\xd6\xf7\xd3\xee\x7d\x21\x61\x2b\xb9\xf1\x2a\x22\xe1\x2a\xb9\x31\x2a\xb9\x29\x85\xbb\x85\x20\x85\xbf\x5c\x17\x11\x7b\x52\xd8\xfb\x82\xf3\xbb\x60\xb8\x80\x01\x34\x50\x40\xa5\x87\x71\xa5\x44\x52\x29\x8c\x6a\xa9\x47\x12\x5b\x48\xd1\x0c\x72\xba\x7e\xf3\x0c\x18\x20\xd7\xa5\x34\xd4\xe3\x5d\x1e\xda\x70\x9c\xda\x36\x5e\xda\x72\x5a\x5a\x4c\x9d\xcb\x53\x9d\xf3\x83\x2b\xc6\xed\xbd\xd4\xf4\xc7\xf2\xbe\xff\x14\x7a\x68\xc7\xf0\x8f\xaf\x36\x0c\x9b\xd6\xfd\xb7\x2e\x43\xa8\x24\x25\xa7\x01\xc8\x69\xb0\x63\x5c\xb2\x63\x5c\x6d\xba\x52\xbd\x63\xd2\x4c\x6f\x9f\xeb\x7a\xbc\x2d\x1f\xd0\xc0\x29\x4f\x3e\xa9\x4c\x31\x39\x6d\x31\x39\x4f\x31\x39\x77\x31\xe5\x6c\xb9\xe1\xce\x3b\xc5\x6d\x0f\x06\x20\x21\xfd\x66\x33\x07\xd2\x27\xb3\x34\xd0\xcc\x93\x4f\xcc\x53\x7e\xeb\xd9\x29\x31\x3b\xa9\x5c\x3f\x39\x31\x3f\x81\x31\xff\xad\x63\xf7\xdf\xf9\x0b\xc4\xcf\xb5\x7c\xeb\x82\x11\xd2\x70\x08\xc7\x1c\xe4\x67\x2d\x70\x9f\x3a\xff\xa4\x1a\xf4\x46\xc1\xb2\xe0\x67\x9b\x34\x00\x90\xca\x82\x60\x98\x08\x96\xa7\xf3\xb4\x6b\xbd\x5d\xbd\x7c\x34\xad\x18\xbe\x09\xb2\x2b\xcf\xdd\x1a\xb5\x41\x8b\x7d\xda\x55\xac\xe1\x21\x4e\xec\xe7\x59\x76\x4a\x9b\x78\x79\x9b\x32\x51\x72\x23\x64\x56\x1e\x9b\x5e\xee\x8c\xb6\x7b\xe8\x99\xa9\xc4\xf4\x15\x1d\xe0\x61\x38\xcf\xa2\xeb\x3a\x40\x0a\x82\x27\x24\xc9\x8d\x18\xe0\xa1\x17\xc7\xb4\xf9\xc0\xe7\xa5\x4c\x44\x8c\x25\xc1\xcb\xcb\x79\xf6\xad\xd3\x1e\x19\xb2\xba\x56\x9c\xdc\x70\x82\x20\x7e\xb5\xe7\xd1\xbd\x26\xe7\xcc\x11\x78\xb8\x9f\x67\xdf\x45\x2d\xba\x12\x8c\x8b\x26\xc9\x8d\x24\x42\xf9\x5c\x4f\xa3\x2b\x7e\x63\xf7\x9f\x73\xf3\x86\x31\x90\x80\x06\x1f\x61\xc7\x2c\x50\xba\x12\xba\x40\xca\x9f\x01\x2e\x04\x85\x51\x0c\xa5\x60\x8b\x9d\xf5\x60\x07\x3d\xd7\x92\x7c\x18\xe8\xeb\xbd\xaa\x43\x65\x0c\xee\x86\x53\xd4\xdd\xe0\x5b\xcc\x97\xb8\x91\x03\xc0\x70\x1c\x2f\x4b\x52\xe0\x38\x4e\xfd\x8b\xff\x0a\xc2\xdb\x7f\xa3\x2c\x49\xf2\x7e\x1c\x15\xcb\x2a\xcb\x49\x51\xd4\x87\xa6\xcd\xf3\x3c\xdf\xb6\xe3\xb8\x9e\xec\x59\x4d\xd3\xac\x69\x86\xb1\x6d\xfb\x72\x97\x15\x95\xf5\x5d\xb7\xd5\xef\x4b\x16\x65\xc9\x15\x27\x2c\x61\x6d\x96\x34\x8c\x94\xab\xe7\x38\x75\x3f\x0c\x16\x80\x43\xfa\x4b\xac\x60\xe8\xba\xe6\x38\x41\xf8\x99\xee\x50\x1c\x47\xd9\x76\xbd\x24\x29\x5f\xdb\xd2\x8d\xb1\x1f\x9c\x89\x99\x5f\x5d\x8f\x9b\xb9\x9b\x5c\xe9\x9a\x5c\xe9\x9b\x5a\x89\xd8\xda\x89\xb8\x2e\xef\xfa\x69\x8b\x84\x0d\xe6\xc7\x0b\xee\xa6\xa8\xe8\x3f\x11\x0c\x7b\x22\x38\xf2\xe4\xf1\xb0\xf1\xc2\xdf\x5f\xcc\x97\xb8\xfa\x41\x8c\x93\x24\x29\x30\x3e\x79\x0a\xcd\xb2\x62\x45\xb1\x93\xee\xba\x91\xb7\xf4\x2f\x3a\xfb\x62\xe1\x26\xc6\x39\x3b\xc1\x25\x47\xc8\xd5\x16\x29\xd5\x76\x2a\xcd\xe7\x53\x82\x6d\x48\x83\x61\xf3\xce\x3b\xb6\x79\x77\x76\x37\x85\x4d\x17\x81\xf7\xb0\x71\xce\x30\x85\x4f\xb7\x81\x11\xb7\x41\xfc\xb0\x41\xe3\xb0\xf1\xc8\x94\xf2\xe2\x90\xc2\xa0\xf4\x1f\x2f\x2a\x45\xbe\xc4\xe6\x1c\x18\x4c\x2e\x9d\xad\x25\x95\xad\x25\x55\xad\x8e\xc3\xa5\x45\x4b\x96\x30\x01\x09\x84\x1f\x9e\xc6\xe4\x8a\x44\x96\xba\x84\x57\x56\x28\xd5\x5e\x28\xb5\x59\x18\x76\x65\x38\x0e\x6d\x48\x0e\x63\x24\x29\x9f\xb1\xe7\xc3\x25\xb8\x2f\xfb\x59\x1e\x49\x63\xd7\x4a\x63\x57\x4a\x53\x57\x4a\x78\x5f\x86\xe1\x50\x86\xe3\xb8\x46\xf2\x7c\x8c\xe4\xb4\xfe\x3b\x57\x4d\xf7\x07\xd3\x03\xe3\x63\x1f\x48\x0f\xf9\xe3\x72\x2d\x99\x73\x0f\x19\x24\x12\xeb\xd6\x3c\xd0\xf2\x0f\xf5\x6d\x2c\x97\x18\x88\x54\xef\xa4\x34\xdb\x4f\xed\x8b\xbe\x34\x0a\xb6\x35\xca\xf5\x4d\x9e\xdf\x7e\xdd\x53\x7e\xde\xb8\x37\x19\x68\x16\xc9\x25\x67\xca\xd5\x8e\x2b\x2d\x88\x2b\x21\x88\x2b\x2d\xae\x6b\x50\xff\x4e\x18\x41\x6c\xf3\x0e\x9f\x16\x0d\xcb\xcc\x7b\x2d\xdf\xea\xab\x0c\x23\x08\x0b\x9a\x51\x92\x81\x66\xe2\x0a\x09\x18\x56\x6c\x65\xe0\x15\xba\x11\x15\x3b\x5d\x72\xc3\x0e\x4e\x96\xad\xef\x52\x67\x19\x86\x95\x50\xab\x2c\x11\xdb\x76\x9e\x38\x2f\xf5\xbc\x63\x6a\x39\x0e\x37\x77\x1c\xcf\xd9\x44\x69\x7d\xae\x6b\x74\x50\xbc\xfd\x93\x03\x3c\xf7\x16\x61\x3f\x58\x91\x13\x44\x55\xb7\x92\x36\x37\x35\x7c\x67\x42\xd4\x39\xd8\xba\x1b\xc2\x87\x65\x59\xf5\xd2\x14\xf9\xa9\x58\x5e\xcb\xb5\x8f\xaa\x53\x1e\x96\x95\xb4\x75\x43\x17\x6a\x39\xa0\x35\xd7\xea\xf2\x64\x7c\x38\xaa\xf8\xb6\x3b\xe6\x2a\x1a\x35\xed\xd0\xc6\xdb\x41\x04\x49\x73\xf2\x7e\x28\x42\xd3\x3a\xcb\xae\xad\x79\x55\xd1\x32\x27\x71\xea\x9e\x18\x88\xdd\x3e\xab\x5a\x12\x03\x5b\xd1\x8c\x28\xcd\x77\x30\x0c\xe6\x6e\x9f\x65\x27\x8a\x92\xad\x19\x99\x97\xe4\x14\x4d\xbf\x13\x21\x49\x7b\x9b\x10\x0b\x8c\x32\x87\x43\xce\x01\x1c\x93\x00\x5c\x04\xf5\x49\x68\xb0\xb5\x1b\x8d\xb5\xdf\xf9\x73\x37\x1b\x64\xbf\xdf\x11\xc2\x81\x4f\xdb\x40\x1c\xd7\x74\x8f\xfd\xee\x22\xae\xe9\xa2\x7b\x78\x77\xe3\xa0\xb1\xcd\xfb\xdd\x7e\x9a\x8e\x6b\xde\x79\xd7\x74\x5d\x98\x78\x8f\xbb\xcb\x79\x9a\x0d\xea\x9a\x2e\x66\x86\x2e\x12\x87\x0d\xba\x87\x17\x97\x08\x11\xec\xbc\xdf\xbd\xf7\x58\xfa\x01\x87\x20\x44\x48\xf9\x54\xb8\xf8\x61\xfe\x0b\x0d\xdb\x34\x3f\x69\x9c\xa1\x8b\x90\x01\xe2\xf8\xa6\xeb\xb8\x6e\xe3\xb9\xa6\xeb\xf9\x61\xe3\x3d\x53\xd7\xa5\x42\xca\xda\xdf\x70\xf7\x3b\x6a\xba\xae\x1b\x87\x2e\xfa\x74\x17\x37\x0c\x29\xdc\x37\x5d\xdf\x4d\x1b\xf4\x99\xba\x9e\x19\x5e\x3c\x2a\xe3\xf1\x67\x48\xe1\x66\xf1\x41\x17\xa1\x5c\xe4\x0d\x17\xa4\x61\x13\xc4\x29\x82\x1d\xc5\xd0\xb6\xcd\xd8\x8f\xe5\xd8\x96\xe5\x38\x8e\xed\xb8\xb4\xe8\x38\x8d\x48\xdc\xaf\xe5\xd8\x8f\x93\x32\xb7\xd9\x38\x8d\xa7\x32\x8f\x97\x69\x6a\xcf\xe9\x0d\x37\x8d\xe5\x38\x97\xc7\x38\x96\xc7\x34\x8f\x27\x39\x96\xe7\xb4\x8c\xe5\xb8\x8e\x98\x32\x4f\x4c\x3c\x8d\xaf\x69\x59\x6f\xea\x76\x9c\xd3\xda\x31\xe3\x34\x5e\xa7\x79\xfd\x84\x5b\x47\x6c\xda\x3b\x71\x5a\x2b\xfa\x36\x94\x9d\x3a\x8c\xaf\x71\x1d\xdb\xeb\xda\x92\xd3\xda\x89\xda\xd2\xc2\x49\x7f\x9d\xc6\x57\x39\xa9\xdb\xc4\x2a\xf3\x0a\x4d\x6b\x79\x81\x53\x8b\x37\x5d\xdf\x4f\x1b\x1e\xab\x5c\xd4\x0d\x29\x14\x79\xa6\x04\x11\x53\xb8\x77\xc4\xf6\x0a\x4d\xcf\x97\x92\x64\xeb\x15\x7e\xe5\xc4\x89\xde\x92\x35\x0e\x17\x51\xbd\xaf\x02\x79\x59\x2e\xb7\xf8\x54\x4e\xaa\xd0\xa5\x6b\x13\x12\x23\x1a\x47\xe3\x38\x85\xeb\x38\x5e\xd6\x23\x2e\x5f\xec\xa4\x2f\x8c\xe3\xba\x94\x1f\xba\x0d\x76\xa6\xa9\x67\xa6\x2b\x76\x66\xba\x47\x65\xf7\x7e\x9c\xc6\xb5\x9c\xd4\xd7\x9b\x97\x4a\x4c\xf6\xf6\x96\xac\x27\x48\xfc\x74\x46\xab\xe6\xe5\x77\xb1\xb2\x30\x18\x52\x1d\x8f\x44\x3e\xd1\x57\xbc\x77\x22\xa9\xaf\x0f\x34\x8d\xf4\x17\x0b\x3a\xb1\xda\xde\xf6\xcc\x7d\xd8\x33\x77\x1b\x40\x6f\x71\x13\xe8\x01\x0e\x0c\x20\x48\x59\xe2\x38\x3b\x18\x77\x8b\x86\x39\x5e\x1d\x25\xc5\x74\x34\x23\x28\x12\x98\x50\x76\xf3\x70\x1c\x6e\x18\xa5\xd0\x76\x94\x39\xc8\x5d\x89\x90\x0f\xf9\xb0\xb9\x7a\xe8\x95\xd0\xb6\x9c\x3c\x2b\x06\x97\x56\xa2\xab\xe0\x20\x8d\x3c\xcd\x51\xec\x04\x2b\x9c\x0f\x74\xa8\x44\x16\xea\xc0\xcd\x30\x8e\x49\xec\x78\xfd\x66\x06\x3b\x38\x88\xab\x59\x9f\x75\x2d\x0f\xb1\xe1\x59\x6d\xbd\xbc\x69\x10\x57\xa6\x66\x6b\x59\x19\x22\xc3\xb1\xe0\x7e\x71\xe7\x5d\x3e\x22\xa6\x82\x6b\x5e\x1a\x23\xc3\x72\xe0\x76\x58\x3e\x68\x78\x35\x5f\x2f\x8a\x16\x07\x8e\x87\xe2\x3b\x52\xec\x6f\x1a\x35\xd7\x2c\xb2\x92\x04\x8e\x83\xc2\xcb\x3e\xf4\xd5\x5e\xd2\xf5\x59\x77\x72\x27\x6b\xd6\x9b\x46\x73\x97\x23\x22\x2c\x9d\x37\x8d\x36\xd0\x2d\xab\x1e\x97\x26\x94\xad\x53\x3e\xec\x0f\x1a\x81\xae\x5b\x75\x3d\x2c\x83\xac\xd8\x8a\xe0\x20\xf5\xa0\xcc\x81\x6b\x79\xed\xb6\x23\xc3\x6e\xc5\xac\xf7\x96\x43\x56\x92\xc8\xb2\xda\x6d\xd9\x9b\x21\xb6\x55\x17\xe1\xf8\x5e\xfd\x94\xa3\x5d\x16\x37\x9c\xa2\x11\x13\x1c\x6e\x98\xe4\xc8\x09\x2c\x78\xdc\x17\x33\x9c\xe2\x4a\x6c\x85\x7a\x18\xa6\xc8\xb0\x3c\xb8\x1d\x76\x33\x8c\xab\x12\x13\xda\xe6\x3e\xdd\xa3\xd8\x8b\x5a\x7c\x27\x8a\x21\x8e\x6d\xcc\x6b\xbb\xbb\x32\xa5\xb1\xe3\xf4\x6f\x39\x86\x2a\x8e\x31\xb7\xed\x5e\x2f\x49\xf9\xd4\x55\x73\x97\xcb\xa8\xc4\x04\xa4\x55\x96\x3e\xb4\x3d\xab\x1c\xf7\x26\x94\xa3\x98\x15\x5b\xb4\x19\x35\x3d\xb4\xad\xa0\x6e\x87\x3d\x94\xad\x8a\x79\xd3\x58\xe6\x35\x8a\xbc\xa8\xdd\x76\x62\x18\xac\x92\xf4\x5b\xb4\xbb\xcf\xf7\x67\xec\x78\xe3\xf6\xa6\x61\x5b\xa4\xef\x79\x9d\xfe\x58\x9f\xae\x07\x00\x0b\x72\xa0\x01\x43\x02\x72\x18\xb1\x46\x2d\x3b\xe0\x23\xe6\x71\x82\xe4\xcc\x84\x1c\x99\xf4\x71\xb2\xf5\xc8\x38\xaa\xa6\x5b\xd9\x90\xd4\x3b\xa3\x58\x8d\x7b\x72\x9c\x24\xc7\xfe\x5b\x89\xc3\x9e\x06\x04\xc3\x78\x0d\x5f\xcf\xa3\x9a\xb8\x5e\x74\xd4\xc3\x5b\x0f\xaa\x01\x40\xff\x25\xe6\xd1\x35\x2a\xef\x06\xa7\xb0\x6e\x2d\x03\xce\x78\x8f\x09\xd2\xdb\xe0\x40\x10\x0e\x66\xc9\xc2\x74\x59\xf3\x82\x66\x48\xa3\x13\xbc\xed\x63\x30\xcd\xea\xbd\x9e\x82\xa8\xe9\x46\xd9\x87\xc1\x8d\xa0\x15\xa6\xe5\x1c\xae\x1f\x95\xc0\x31\xac\xba\x6e\x06\xe3\x9d\x20\xf4\xc9\x7b\x93\x8d\xef\x8c\xe3\xd1\x47\x0e\xcb\xc0\x05\x0e\x70\xde\xe7\xb4\x37\x05\x2d\x08\xf2\x94\x37\x0e\xa5\x10\x38\x9b\xeb\xbb\x31\xe0\x0c\x2f\x5f\x97\x34\x0d\xad\xe8\xea\xf3\x27\x3f\x8c\x53\x6c\x07\x06\x28\x97\x22\x0d\x0e\xeb\xf0\x05\x84\x1f\xda\x29\xb1\x02\xaf\x9c\x01\xd0\x4f\x00\x0c\x76\xde\x38\xa9\xbf\x0b\x46\x03\x64\x20\x02\x0e\x04\xfd\x6e\x56\x67\xd5\x74\x9c\xa0\x6a\x7a\x96\x27\x77\x90\xef\x44\x71\x70\x6c\x39\x09\x9d\xa4\xe9\x46\x9e\xbb\x6f\x9e\x19\x46\xe0\x4e\xb6\x7e\xe7\x3a\x86\xb1\x06\x49\xf1\x3e\x3f\x29\x02\xcb\x71\x92\x34\x84\xb6\x65\x18\x79\x51\xf0\xb2\x72\xb5\x18\x8e\xe3\xa4\x61\xf0\x0d\xc3\xc8\xcb\xa2\xe1\xa5\xf7\x96\x31\x7e\x08\xa7\xd2\x66\x28\xea\x4c\x1d\xd1\xef\xfd\x8e\x01\x62\xfd\xb1\xdf\x59\x55\x2d\xf6\xa1\x29\x28\x49\x90\x37\xb2\x6c\xbd\x79\xe2\xb8\x41\x1e\x7d\x49\x33\xca\x7a\xd8\xdd\x80\xa0\xaf\x82\xd3\xf0\xd3\x2c\xc9\xf6\xdb\xb6\x91\xb4\xa0\x95\xc8\xc2\x04\xaf\xbe\x2b\x53\xe2\x06\xd1\x15\x2f\x86\x34\x2c\x27\xd6\xf7\x11\x7e\xd4\x96\x2c\x8a\x22\xb8\x7f\xdb\xfb\x74\xc6\x35\x00\xf7\x8d\xa7\x37\x66\x03\xfb\xc2\xdf\xcb\x24\x60\xac\x1e\x0e\x19\x07\xd4\x20\x01\x39\xc3\xd4\xbc\xa0\xbf\x75\xec\x04\x7d\xbf\x13\xc4\xce\x32\x4c\xc7\xb7\xe2\x43\x57\xa2\x20\xf8\xcc\xa3\xdf\xb9\xdd\x3b\x07\xd7\x35\xed\x4b\x6e\xbd\x0f\xc5\x47\x5e\x2e\xfe\x9c\x6f\xe3\xff\x98\xab\xff\x63\x0e\x5e\x03\xc0\x0c\xdb\x7b\xfb\x9c\x79\xbe\x4e\x70\xc5\xec\xb9\x77\x1e\x29\x81\xf1\x9d\xbb\xd2\xbc\x17\xf4\xef\xb3\x76\x1e\x33\x5f\xce\xda\x9a\x13\x58\x9f\x63\x45\x15\xff\x3c\x96\x44\xc1\xcf\x63\xd5\x2f\x63\xc1\xef\xce\xe9\xff\xab\x31\x7e\x99\xa6\xd8\xf7\xbc\x76\x5d\xde\x79\x77\x74\x45\x11\xa4\x19\xa6\xc9\xa0\xc1\x6b\xeb\x45\xf0\xb8\x89\x02\xf2\xb9\x62\xcc\xb1\x7d\xe8\x8b\x03\x38\x00\x74\xc5\xb6\xa2\xae\xeb\x46\x90\x16\x52\x30\x5c\x15\x8b\x7b\x9b\x46\xef\xdc\x15\xdd\xca\x9b\x82\xa7\x15\xc5\x6a\x4e\xbb\x1e\x94\x21\xb2\x1c\xaf\x1e\xc3\x04\x91\x2d\xa5\xf4\x9a\xa6\x79\xc7\x68\xdb\xf1\xea\xfe\x83\x26\x7d\x78\x0d\xd2\xc8\xe3\x9b\x0f\x3d\x2f\x9b\xe5\x6e\x7e\xf0\x81\x72\xbc\xa4\x44\xbe\xe7\xf5\xf3\xb2\x37\xb4\x62\x8d\x28\x82\x0a\x8a\x76\x0f\x42\xcb\x69\xc7\x65\x4f\x8b\x72\x62\x85\x1a\x6e\xe4\x59\x7d\xcb\x75\x3d\x8a\xe6\x1e\x46\xd1\xf9\x96\x75\x5e\x94\xd8\xf7\x82\xfe\x40\xde\xeb\x6f\x45\x2d\x82\xb4\x8a\x7a\x4f\xc3\x88\xd9\xd8\x3c\xee\x00\xc8\xb9\x72\x4b\x82\xc8\x1d\xd4\x07\x03\x67\x5f\xec\x91\xe1\x68\x00\x4c\xe6\x73\x9d\x35\xc3\xc8\xf3\xc2\x79\xdb\xc3\x95\xf9\xb0\x73\xc9\x31\x15\x2d\x0b\x92\xf4\xf3\xb7\x03\xae\x62\xc5\xae\x97\x3e\xe1\x0a\x19\xec\x44\xb1\xc3\xdc\xe7\x79\xc0\xd0\xd7\xe4\x67\x1f\xe1\x9c\x7a\xea\x44\xd1\xf8\x80\x6b\x78\x9a\xf9\xe2\x23\x52\x1f\x98\x96\x55\xd6\xe9\x1b\x4e\xf9\x80\xeb\x07\xf9\xed\x5f\x79\xdb\x34\xbc\xac\x28\x91\xf7\x05\xce\xb0\xac\xb2\x6d\x9a\x0f\x7c\x5f\xce\x46\xa1\x61\x7d\xe2\xfb\x80\x73\x9c\xb7\xfe\x43\xd3\xf8\x80\xe3\x65\xe5\xcd\xdf\x27\x9c\x69\x59\x79\x5d\x7c\xac\x49\xf4\x39\x57\xfa\x19\xdf\xc7\x5c\xe7\xed\x83\x2c\xbd\x31\x00\x30\x8f\x5e\x56\x1e\x8a\xd4\x6e\x30\x9e\x48\xac\x23\x54\x92\x95\x33\x80\x05\x00\x24\x69\x31\x5e\x8f\xce\x3b\x18\x96\xef\x24\xcb\xb3\x70\xcb\x48\x0a\xba\x54\x0b\xde\x2a\xab\x46\x9c\x3d\x57\x12\x12\x27\x40\x42\x63\x1f\x4c\xd3\x76\xda\x57\xdf\x09\x8a\xe6\x38\x97\x34\x80\xfb\x7d\xbb\x1e\x8e\x5b\xf7\x7d\x1d\xa8\x56\x32\x1e\x48\x3a\x6f\xf4\x3b\xb9\x67\x00\xd8\x38\x86\x3b\x73\x07\xd0\x3c\x5d\x49\x6f\x5e\x0a\x60\x0c\x40\x61\xb6\xed\x0e\x76\x1f\x18\x1c\x41\x4b\x07\x93\x6f\xca\x8e\x9b\x27\xdc\xd6\x2c\xa0\x19\xee\x00\x87\x59\xf2\xb9\xc6\x15\xfa\x98\x47\x72\xa9\xe7\x74\xe0\x0b\xac\x44\xe3\x40\xab\x02\x14\x2e\xb7\x57\xaf\xcd\x80\xf7\xd3\x1d\x91\x24\x23\xa7\x19\x41\xda\x0d\xce\xa9\x25\x86\xe5\x50\x02\xc7\x73\xe4\xb1\x6a\x9c\xac\xd7\x5e\xc3\xe6\x9f\x07\x34\x1c\x00\x20\xe6\x00\xd4\x39\x9c\x4b\xa5\x12\xe9\x01\xae\x57\xdb\xc5\xe0\x64\xce\xac\x0b\xc5\xe6\x88\x2f\xbf\xab\xa8\x80\xce\xc1\x0d\xe4\x8c\xc1\x97\x52\x29\x85\xfd\xb5\xda\x2e\x1a\xfb\x0b\x18\x30\x9a\xdf\xfe\xe6\xc7\x80\x2f\x04\xc0\xe7\x59\x8a\x01\xc5\x23\x44\x53\x1b\x00\x23\xd0\xb7\x2f\x77\x74\x61\x88\xeb\xfe\xe3\xf8\xd2\x26\x24\xce\x9a\xf9\x71\xaf\xb4\x2b\x65\x83\x53\xb7\x6b\x12\x4f\x3b\x75\x8d\xb3\x6d\x8e\xa3\xbc\x0d\xcb\xfb\x80\xa7\xb0\x12\xcf\xdc\x6e\x05\x90\x84\xf9\x8e\xbd\xc9\x79\x9d\x85\x69\x87\x88\x01\x7e\xf6\x15\x86\x41\x23\xc5\xf2\xcb\x0b\x73\x4a\x04\xaa\xda\x9d\x6c\x18\x67\x79\x2c\xc8\x0d\x9a\x83\x27\xa5\xd5\x39\x98\x81\x60\xd2\x29\x96\x6b\xc2\x03\x9f\x9d\xcb\xc8\x3c\x02\xfa\xa0\xdc\x09\x60\xc1\x28\xf7\xb3\x87\x79\x28\x94\x3d\x91\x52\x87\x56\x2c\xc9\x6f\xa1\x00\x11\x64\xe5\x5c\x86\x47\x1b\x0b\x9c\xec\xe4\xf5\xb3\x8b\x24\x8c\x62\xe3\xc7\xb8\xa7\x69\x38\x14\xb1\x66\xb6\x4c\x42\x4c\x4a\x53\x3b\x5a\x7d\xec\xb7\x52\xea\xd7\x9c\x48\xe5\x17\xa2\x07\x22\x15\x11\x54\x72\xc1\x84\xec\x35\x26\x64\x88\xfa\x7c\xca\x56\x2a\x34\x8a\xe7\x62\x3e\x2b\x8f\xf3\x76\x19\x8a\x4a\x21\x3b\xab\xbe\x58\x29\x71\x66\xc2\xd4\xa0\x95\xb8\x14\x61\x77\x71\x20\xac\xbd\x11\x0d\x2b\xa0\x36\x74\xd9\xeb\x30\x09\x3a\xff\xc2\x5d\xa2\xf1\x7c\x41\xbb\x9d\xeb\xbd\xcd\x0b\x97\x9d\xb4\xee\xa3\x81\xdf\x2f\x3d\x00\xb4\xb5\xaf\xae\xbf\x91\xa4\x9c\x12\x71\xdb\xda\xed\x2a\x47\xb5\x4f\x12\x30\x25\x8a\x70\x2d\x04\xca\x0b\x98\x8f\x61\x7b\xea\x16\x78\x1c\xd6\x03\x24\x28\x57\x77\x19\xbb\xd1\xa8\xb8\x01\x20\x37\x06\x1b\x28\x04\x71\xbb\xde\x49\x4a\x90\x99\x6a\xc7\x2f\xc3\x35\x62\x9d\x14\x25\x7d\xeb\x65\x1e\xbe\x2a\xd7\x12\x43\x04\x21\x52\xa9\x2f\xa2\x19\xf4\x22\xb4\x4f\x78\xbe\xb0\x6d\xc7\x23\x69\x39\x2c\x53\xa7\x5d\x1d\x36\x97\x3c\x04\xf1\x8b\x5b\x22\xda\x29\x0c\x59\x6d\x9c\xeb\x20\xdd\x93\xc3\xdb\xb4\xf7\x59\x6c\x0a\xb1\xe7\xdd\x7a\x86\xf1\xa9\x94\xc1\xa4\xe0\x97\xe5\x31\x2e\x9d\xe6\xaa\x7a\xe6\xe9\x02\x5a\xbb\x2f\x27\xb8\x0c\xe8\x43\x86\x8a\x9a\x69\x88\x88\x37\x75\xdc\x56\x85\xe0\x11\x26\x92\x83\xbd\x02\x0d\x29\xfa\xc2\xc2\x2b\x91\x6f\xba\xc3\x83\x50\x9b\x90\xc9\x5a\x98\xad\xc2\xf7\xec\xdb\x1d\x26\xdc\x0b\xc6\x40\xc2\x63\x94\x11\x23\xf5\xca\x59\x78\xec\xdc\x29\x8e\xbe\x64\xd1\x0f\xa9\xec\x3c\xd6\x59\x48\x29\x93\x5f\xd0\x93\xd0\x97\x93\xde\x07\xfb\x0c\x43\xe3\xc2\x04\x5c\x21\xfa\xcf\x51\xc0\x23\x40\x1b\x4d\x49\xa2\x82\x5c\xdc\xf1\x5e\x7e\x5d\x0a\x3f\x01\x03\x90\xdf\xd9\xb7\x77\x13\xd0\x29\x02\x3e\x7e\x77\x12\x40\x77\xee\x42\x92\xcc\x19\x02\xfa\xa2\xce\x62\xe2\x66\x17\x03\x2f\x2e\x06\x8d\x6c\x05\x14\x4e\xb2\xfd\xd8\x2d\x3a\x95\x6e\x6d\x6e\x67\x20\xb5\x67\x43\xef\x79\x87\xeb\x72\x8a\x16\x13\xf7\x51\xec\x96\x69\x06\xb5\xe2\x85\xb2\xaf\xf3\xc1\xe3\xea\xe2\x80\x9b\xca\x41\xee\xb9\xca\xcf\x01\xba\xc9\x66\x28\x5a\xdc\xde\xca\x6c\x7b\xe3\x61\x70\xcd\x39\x7f\xce\x89\x08\x0f\x67\xa0\x4a\xcb\xa4\xd1\xe4\xe5\x59\x90\x8e\xa2\xbe\x02\xcf\x4a\x97\x99\xdd\xf8\x27\xd2\x9e\xc1\x69\x21\xfc\x0d\xbd\x23\x05\xaa\x1f\x0b\x9a\x91\x57\x1a\x31\x52\x0b\xb6\xc0\x6c\x94\xb9\xfa\xd0\xf4\x5c\xb6\x28\xd9\x64\xc8\x82\xf7\xc1\xb5\x76\x66\x95\xbf\x2b\x2c\x91\x00\x22\xb1\xcd\x57\x6e\x8d\x8f\x04\xe3\x1b\x8a\xda\x3d\xcc\xb0\x4b\x48\x13\xcd\x1b\xcb\xb5\x57\xaf\x7b\x45\xae\x01\xec\xcd\x1c\x4d\xa5\x3a\x36\x83\xa2\xa7\xa9\x58\x73\x13\x05\x8a\x3d\x3f\x8c\xcc\x48\xea\x09\xe8\x39\xab\x17\xb1\xcd\x59\xc7\xe4\x1b\x04\xcc\xd4\xf7\xc1\x4f\x17\xaf\xf2\x48\x0f\x85\x30\xa7\xca\x7c\xcc\xa1\x88\x5c\x4a\xa3\xe6\x69\x82\x1e\xb4\xa3\xc3\x95\xdb\x40\x60\x05\x93\x26\xcc\xd6\xe4\x38\xf9\x4c\xe2\xe7\xd9\xb4\x86\x06\xf2\x88\xae\x0b\x32\xb9\x3c\x13\x36\xe7\x2f\xe5\x73\x63\xfd\xe7\x99\xe5\xea\x23\x51\x03\x79\x06\x40\x36\xc0\x64\xfb\x55\x57\x40\xab\x2f\x1c\xd8\x0b\x11\x6b\x6c\x70\xaf\x10\xb6\x10\xd3\xea\xdd\x90\xe7\x75\x98\x9e\xb1\x86\x1a\x98\x77\x77\x0f\xea\x46\x6f\xce\x12\x33\x5b\xc1\x17\xc0\x5b\x1f\xd9\xeb\xaa\x67\x10\x1e\x46\xbc\xe1\x24\xb9\x32\xb9\x33\x9e\x66\xcf\xb3\x40\x6c\xc0\x02\x84\xe5\x0a\x22\xc6\xdc\x86\x8d\x38\x66\x23\xe2\x4b\xfc\x78\xd6\x4a\x3f\x63\x8b\x04\xd6\x0c\x7b\xc9\xa1\x5e\x16\x58\x1e\x61\xcd\x55\xc7\x1e\xd6\x53\xaa\x27\xf5\x05\x3f\x80\x75\xbb\x3e\x1e\xa9\x4a\xe6\xb7\x3e\x41\x95\x25\xbb\xf3\x8a\x72\x2a\x66\x56\xe8\x2f\x34\x97\x7b\x5e\xa5\x1f\x7e\x1b\xf9\xaf\x07\x6d\x48\x6a\x2e\xf7\x1d\x1c\xc7\x1e\x3d\x9f\x53\x10\x06\xc1\xc6\x91\x55\x83\x56\x97\x97\x9d\x3a\xa4\x3b\xd4\x28\xa2\x96\x0e\x6c\x44\xd5\xa3\x3e\x36\x00\xc4\x31\x76\x18\x18\x0a\xe6\x40\x4f\x63\x3c\xbb\xd2\xfa\x40\x72\x70\xc2\x94\x30\x0e\x7a\xc8\xce\xd9\x5b\xe8\x02\xad\x4c\xaf\x05\x04\x6e\x52\x46\xdf\xeb\xe1\x0a\xed\x33\x00\x4c\xc8\xa9\x5c\x20\xd5\x97\xe3\x25\x5d\x8d\x13\xb9\xdf\xaf\x8d\xf4\x5c\x68\xe8\x2a\x69\x5e\xe5\xc9\x77\x7d\x7c\xd8\x5a\x96\x82\xf6\x88\xaa\x2b\x37\xc3\x06\x5d\x37\xf2\x50\x5a\x9e\x27\x76\x06\xca\xf4\x41\x2c\x78\xa0\x5d\x2e\x70\xae\x1a\x34\xaf\x30\x74\x37\xa0\x86\xe3\x18\x21\x84\x2c\xc5\x12\xb2\xb4\xec\x0c\xbc\x17\xdc\xd0\x13\xc3\xfb\xa4\x9f\xe8\x2b\xda\xfb\xe4\x48\x13\x07\xdc\x3f\xc0\x0b\x7a\xf6\xbb\x88\x12\x9b\xdb\xe6\x92\xf8\x44\x77\x5e\x9f\x6e\x4d\x16\x26\xf4\x88\x28\x3b\x16\xbe\x98\x91\xa2\xf3\xe8\x8a\x51\x60\x5f\xc5\xf5\x71\x57\x21\x12\x09\x18\x1e\xe7\x8e\x4d\x1e\x46\x91\x07\xfe\xd5\xe7\xe1\xb9\x72\xe3\x15\xdc\xbb\xd7\x2b\x55\x93\x69\x7d\x06\x9b\xae\x41\x25\x1b\x5d\x4b\x80\x5f\x6f\x20\x00\x80\xbe\xb6\x77\x5a\xf3\x93\xdc\x66\x6f\xa2\x65\x8e\x32\xfe\xda\x6e\x4c\x05\x1a\x86\x7b\x00\x06\x58\x8d\x0f\x81\xc7\xf6\xd0\x65\xa5\xa1\xf6\xf7\x9e\xf6\x68\xbb\xec\x85\x66\xde\x80\x61\x7e\x7e\x6c\x18\xfb\x7a\x9e\xd7\xf6\x10\x6a\xac\x3f\x1e\xb7\xc0\x56\x66\x46\x7f\x9d\x20\x07\xaa\x51\xc2\x3d\x92\x5c\xef\xe7\x8c\xea\xe8\x23\x47\x0b\x1c\x30\x92\x0c\x72\x20\x3c\xe0\xe8\xde\x11\x3b\x4c\xb3\xb9\xfb\x14\xc9\x15\xb5\x97\xe3\xc9\x26\xa6\xb4\x06\xe0\x30\x0a\x9a\x87\x9a\x97\x65\x82\x65\xc9\xc1\xd5\x7e\xc4\x5e\x08\xa8\x3c\x72\xa6\xd0\x03\x0e\x07\xc0\x85\xdd\x71\xd2\xc0\xa0\xe9\x46\x8a\xbb\xe3\x8c\x61\x4b\xc3\x74\xeb\xac\x5a\xd3\x57\x7c\x25\x2e\x48\xce\xae\x5d\xf7\x5a\xfd\x9b\x26\xb5\x73\x65\x8d\x84\x57\x9f\xd6\x29\x58\x57\x54\xe7\xa4\x46\x5f\x9f\x9e\x97\x9d\xbb\x37\xbc\xae\x3c\x9d\xb3\xb9\xec\x36\xcb\xd3\xe7\x83\xe5\x0e\x40\x37\x3a\xf0\x6e\xf4\x2c\x1c\xa8\xa5\xdf\x13\x09\x4f\x18\x2e\xce\x74\x01\xb2\xd0\x2a\xa8\x43\x46\x07\x34\x28\xe2\x1a\x02\xda\x05\x02\x9b\xc5\x30\x69\xe3\x01\x00\xb4\x84\xaf\x2c\xb2\xdf\xe2\x9b\xe0\xb2\xe7\x2b\x63\xcb\xf0\x75\x76\xf1\x82\x2e\x3c\x1e\xab\x44\x9f\xde\x91\x40\x69\x6e\x37\x1b\x70\x80\x66\xc2\xd7\xfa\x1c\xa9\x80\xb1\xe9\x45\xdb\x5c\x60\x38\x1c\xd8\x84\xe5\xde\x2c\xa7\x15\x89\x2f\xc0\x06\x0c\x66\xef\xaa\x5b\x8d\xa5\x09\x2e\x7a\x08\xb4\xe2\x4c\x46\x2e\x37\x13\xa0\x6f\x3d\x93\xbf\x52\x7b\x9f\x6d\x51\x35\x38\xfe\x7a\xe9\xf5\x18\xbd\x3c\x80\x74\x4b\xca\x87\x91\xf8\x39\x39\xe8\xc1\x45\xad\x76\xc3\x7a\xa1\xcf\xaa\xe5\xd7\x0a\xc3\x73\x61\x3b\x31\x04\x86\x62\x41\xb9\x9e\xd8\x9e\xdb\xb7\x1b\x99\xf5\xad\xe7\xa8\x5c\xc4\xa6\x30\xbe\x89\xd9\x12\xec\x69\x95\xe4\x2e\x6a\xed\x2f\x6b\xeb\x60\xb7\x0f\x7d\xd9\x1c\x6b\x93\x21\x80\x65\x40\xed\xea\xf6\xc0\x99\x7d\x12\xe4\xc0\xd0\xe8\x7b\xe4\x6e\x00\x34\x80\x36\x77\x1b\x42\x1e\xed\x73\x54\x47\xcb\xbc\xb3\x71\xe1\xc7\x30\x19\x67\xd3\x40\x63\x31\x85\x57\xc3\xea\x71\x61\x45\x33\x2c\xaa\x27\xa9\xcf\x0f\x8c\xc2\xe5\x0c\xfb\x4c\xf8\x87\xb6\xdd\x00\x00\xac\xb3\xd9\x78\xd3\x39\x2d\x01\x37\xed\x36\x0d\x9a\x56\x3c\x0c\x49\xa9\xae\x2b\xcc\xdd\x9e\x13\xfa\x12\xe8\x2e\xd7\xee\xa9\xd4\x4c\xe1\x5c\xe6\x55\x54\x34\xd5\x9a\x5e\x01\xef\xe6\x97\xe5\xf4\x37\xa7\xf3\x55\xcc\x96\xd5\x21\xaa\x22\x4f\x01\xb8\xfb\xf1\xe4\xb5\xe4\x9f\xa3\x9c\x2b\x20\x84\x6f\xfe\xb4\x58\x58\xba\x2f\xc6\x3d\x48\x86\xc7\x2b\xe0\x84\x1b\xd3\xbc\x26\xc3\x94\x73\x3a\x1b\x8a\xad\xbb\x7b\x72\xb5\x08\x63\x3b\x5c\x5d\xee\x61\xbd\xe8\x8c\xe4\xe8\xd2\xc1\xc6\x5c\x8e\x0d\xb0\xb1\xb8\x9a\xdd\x54\xa0\xb1\x5a\x21\xc6\x77\x00\x40\x93\x2b\x97\x85\x9f\x09\xfd\x12\x1c\x72\x42\x1d\x4c\x27\x47\xd8\xb4\xab\x8f\xb5\x11\xba\x7d\x9b\x7d\x97\xe2\xe7\x1a\xad\xf1\x47\x39\x33\x40\x64\x6e\x7c\xbd\xc5\x02\x47\xe5\xf2\xc7\xef\x02\xdd\x51\xcf\x15\xcc\xa4\xbc\x16\xaa\x6a\xde\x9f\x37\xed\xc2\xef\x67\xb9\x05\x74\x2e\xed\x97\x53\x2c\x19\x1a\x28\xa0\xa1\x95\xfb\xc0\x23\xb3\x4e\xc9\x83\x9b\x1c\x5c\x49\x45\x13\x42\x04\x8d\x98\x4f\xeb\x42\x3c\x1f\x72\x57\xa7\xf2\xf5\xc5\x6d\xe1\xe3\x00\xa2\x41\x4b\x1c\xeb\x4c\x8d\x96\xd0\x00\xa4\xa8\x02\x2c\xd8\x18\x2f\xf2\x66\xce\x1c\x0e\xe4\x70\xd1\x3a\xc0\x5e\x85\x4e\x0f\xb6\xa0\xd1\xa5\xf0\xb5\x9c\xce\x3d\xad\xa6\x8c\x26\x9f\xa5\x56\x7b\x12\xcc\xb4\x34\x7d\x05\x12\x50\x12\xec\x06\xa8\x7e\xe6\xf8\xc6\xb6\x04\x8e\xa1\x2f\x49\x9c\x99\x2c\x03\x47\xe6\xa0\x8a\xe3\xfd\x31\x34\x89\x02\x91\x57\x75\xef\xd0\x69\x68\xc7\xc3\x9f\x03\xd9\x33\x4b\x88\x37\x3e\x9e\x1f\x1a\x35\xa5\x31\x40\x2f\xe3\xc9\xa0\x0d\xc0\x32\xec\x3c\x0e\x7d\xff\x58\x97\xf4\x02\x13\x4c\x46\xe5\xd7\x92\x4b\xcb\xc0\xcf\xdd\xd6\x00\x12\x7e\xc1\xb7\xb9\xe6\x68\xae\xa4\x9b\xfe\x6e\x5c\x95\x12\x86\x14\xdb\x80\x8d\xca\x7b\x56\xfb\x59\x5e\x40\xb6\xfa\x4a\xaf\x55\x9c\xfb\x34\xf4\xf0\x9c\xe0\x83\xc2\x91\x51\xcd\x35\x14\x70\xfb\x2b\x0e\xf5\x31\xd9\xc3\xab\x7c\xad\xa7\x66\xaa\xf0\x03\xad\x28\x90\xe6\x0a\xbb\x5f\x85\x4e\x9e\x5d\xb5\x88\x13\x1c\x5d\x47\xe2\x86\x5f\xfa\xd5\x4a\xef\xf4\xd0\x33\x25\xe3\x8a\xd3\x79\xf1\x4e\x07\x40\x2c\xbb\xb0\x37\x60\xe7\x00\x2b\xe0\x46\x63\x00\x38\x13\xfe\x75\xb1\x2e\x4f\xcb\xba\xd7\x59\xe0\x35\xf6\x10\x63\x78\xfb\x44\xcd\x67\x3b\x8e\x72\xa6\x65\x75\x53\x88\xe0\xb9\x92\x6e\x0f\x38\xc0\xe4\x00\x0c\x8a\x59\x2f\xea\x45\xa9\x0d\xd6\xd3\xb6\x80\x71\x3e\x9e\xe9\x33\xca\x3c\xdc\xe0\xbd\x18\x28\xc4\xa9\x46\x83\xde\xb0\x1d\x27\x92\x6c\x19\xeb\xca\xe0\x8e\x15\x13\x28\xfa\x7a\xbf\x98\x57\x02\x76\xc6\x9b\xee\x96\x39\xb9\xe9\xed\xd5\x5b\x3b\x38\x8b\xf0\x46\x61\x1f\x7d\x14\xcb\xf3\x35\x52\xc7\x3c\x2e\x1e\xe7\xf0\xc2\x15\x13\x2f\x75\xb6\x6c\xb6\xdb\x2d\x1c\x02\x72\x44\x24\x5d\x4b\x62\x60\x01\x1d\xb8\x4b\x9b\x30\x5d\x1f\x27\x53\x2d\xe0\x8a\x60\x91\x50\xd8\xcd\xb5\xeb\x99\x77\x9e\x92\x61\xd3\x11\x15\xbd\xa3\x8f\x83\xf2\xc0\x8d\x7d\x5d\xd5\xf7\xa9\xc5\xd4\x18\xc3\x01\xb8\x30\x95\xcb\xd3\xd5\xd0\x26\x09\x9f\x22\x66\x60\x36\xf4\x0a\x71\x52\x46\x03\xb1\x48\x5a\x3a\x3a\xab\x67\x7a\xac\x2e\x4a\xe4\x2a\x38\xa7\x04\x4e\xb6\x2f\x6f\x2f\x14\xd7\x47\xfa\xfe\x2c\x1c\x5e\xc5\x7b\xf8\x61\x25\x55\xe4\x45\x68\x2b\x24\xfd\x53\xdc\xbd\x3d\xdb\x14\xa0\xe6\x8d\x47\x0f\xaa\xf3\xda\xb6\xfa\xe2\xe8\x05\x91\xdd\x85\xc3\xd1\x67\x04\xe2\xf8\xcb\x10\x4e\x97\x35\x25\xf4\xb3\x17\xb6\x20\x05\x80\xce\xd1\x81\x40\xd5\xd2\xca\x41\x00\x85\x6e\xa3\xb7\x65\xc3\xe5\x62\x77\x15\x30\x3d\xd9\x82\xea\x94\xc8\x97\x5e\x21\xcb\x75\x9f\x77\xdc\xc2\x1a\x3a\xa0\xae\x9c\x63\xd0\xfc\x15\x48\x34\x68\x1f\x81\x88\x3f\x7a\x21\x60\x7a\x19\x00\xd6\xcb\x2e\x7a\x28\x87\x25\x09\xed\xe4\x15\x3a\x44\x52\x3d\x9f\x94\x46\xf8\xa7\xa9\x74\xfc\xa3\x7d\x65\xda\x5c\x36\x86\xb8\xb9\x5f\x9e\x79\x63\xaa\xc1\xde\x1e\xcc\xfb\xc8\xc5\xe6\x11\x6c\xac\x15\xad\x1e\xdb\x99\xc9\x78\x74\x0d\x21\xce\x74\x69\xe0\x34\x80\x63\xc7\x57\xaf\x91\xb4\x41\x83\x15\xe4\xeb\xc9\x8f\x92\xba\xb4\x95\x88\x29\x29\xbe\x3d\x95\x3e\xee\xf4\x02\x60\xe7\x8d\x18\xbd\xde\x7c\xb4\x54\xb1\xf5\xba\xd8\xb3\x00\x34\x4c\xbc\xb1\x00\x10\x57\x5e\x04\xab\xff\x6c\xc4\x1e\x7b\x66\xe8\xb2\x08\x94\xef\xb0\x19\xa0\x82\x36\x60\x68\x03\xee\x1f\x13\x84\x18\xcc\x4d\x7a\xad\xcc\x5b\xb7\x43\xec\x00\x83\x51\x50\x54\x6b\x39\x4c\x27\x6f\x2e\x88\x45\xc3\xa6\x1e\xd2\xe3\xde\xdb\xd4\x79\x4f\xb0\x06\xd5\x33\xd2\x06\xae\x0a\xee\xf4\xfa\xb4\x6f\xda\xc7\x63\x7c\xe1\xb4\xf1\x87\x75\x7b\x7f\xee\x39\x55\x10\x63\x74\x8d\x98\x6d\xe3\x5e\x08\xe7\x15\xfc\x54\x3a\x75\x0c\x22\x10\xa2\x24\xf4\x74\xc3\xce\x0e\xfd\xd8\x3b\x31\x7a\xf3\x86\xca\x89\xb4\x50\x31\x2b\x32\x0d\x61\x19\x82\x72\x27\xb3\xd3\xc1\xe5\x36\x00\x42\x9d\x9f\xef\xbb\x02\x2a\xc3\xca\xc1\x05\xd0\x8f\x3e\xb8\xc9\x15\x71\xa0\x5b\x95\xdd\x90\x6a\xf6\x13\x08\xb1\x75\xc3\xb3\xd9\x20\xa4\x5b\x50\xdf\xd9\x72\x74\xb7\x15\xa0\x77\x99\x7a\xf3\xc1\xd1\x0a\x58\x28\x77\x9a\x9f\x33\x84\xde\x11\x4a\xd3\x29\xc4\xa2\xa6\xf4\xc6\x89\x76\x28\x76\x27\x43\x68\x41\xfb\x34\x38\xc0\x1c\x10\x4f\x27\xef\x75\x00\x44\x82\xe7\x25\x7e\xde\x4c\x70\x9f\xa1\xf6\xca\xdf\x7d\xb7\xa7\x58\x17\xbf\xca\x02\x42\xd3\xec\x5a\x8f\xcd\x06\xb9\x11\x21\x90\x46\xbc\x0a\xae\x25\x5d\xd0\x28\x8c\x7a\xd5\x97\xa7\xd4\xad\xd0\xb3\x61\xa8\x90\x30\x38\xc0\xf1\x27\x44\x18\x67\xee\x86\x9f\xc6\x0b\xf5\x7e\xb2\x1f\xcc\xd5\x7b\xda\xeb\x05\xa6\xdc\x0c\x4a\xc8\xeb\x55\xc6\x5d\x1b\x08\x0e\xdf\x02\x02\xb9\xb8\xe0\xae\x94\x90\xf1\xe8\x1f\x5b\x90\x07\xa0\x06\x24\x42\xe8\x22\x6e\xc1\x33\xa1\xb0\xe2\xab\xa2\x28\x4d\x1b\x6f\xf6\x83\x4f\xb0\xa9\x57\xc2\x4e\xd0\x7b\x1b\x89\x5b\xa9\x70\xf3\x84\xf4\x81\xf6\xf9\x3e\x8f\x06\x3c\xc4\x8d\x8d\x0d\xcb\xa3\xe1\xd4\x07\x39\xbd\x28\x29\xfa\x4c\xf0\xd2\xd2\xaf\xe8\x53\x7e\x51\x97\xb6\x7f\xad\x25\xb2\x39\xf7\x07\xa8\x60\x82\xba\x63\xba\xbb\x9f\x35\x9e\xbb\x24\xf6\x68\xb9\x1b\x2f\x01\x94\x27\x5a\x73\xc4\x48\xee\x95\x90\xd7\x97\xea\x3f\x79\x7c\x62\x09\x47\x96\xc1\x86\x5f\x0b\xef\xaa\x86\x4c\x4c\xcc\x77\x35\xdd\x2f\xf5\xf9\x8e\x5f\xf4\xa5\x78\x1e\x14\x71\xa1\xae\x44\xc8\xa8\x0f\x92\xc6\x20\xb7\xb1\x45\xe6\xc5\x72\xca\x62\x14\x76\x8b\x2b\x25\x93\x03\x0e\xc4\xd3\x33\xf6\xec\xc7\x3c\xbf\x59\xf5\x87\x2c\x43\x16\x77\xea\xcf\x20\xe8\x70\x64\x63\x91\x28\x0b\x96\x5a\x79\xce\xdb\x9d\x80\x2c\xff\xa1\xc3\x32\xdb\x15\x3a\x84\x37\x91\xd3\x4f\xcb\x0b\x9a\x71\x04\x7d\x1e\x71\x06\x75\xfa\x3d\xed\x92\x9e\x11\x3b\xda\x6d\xca\x15\x66\x0c\x81\xf6\x9a\x47\x00\x11\xca\xd6\xb7\xa8\x0a\xd5\xd3\xfa\xd0\xae\x06\xd9\x9f\xf8\xf2\x62\x8d\xe3\x12\x87\x98\x78\xea\xe5\x25\xbf\x8b\x00\x67\x43\x2e\x07\x3f\x7d\xf7\xad\x97\xaf\xca\x36\xca\xb3\x19\x2a\x93\xbe\xfb\x0b\x75\xfd\xee\xc7\xef\x3e\x06\xa0\xa1\xfb\xcd\x0b\x58\xa5\x4b\xeb\xe6\x06\x2b\x42\xde\xbf\x65\xb9\x5b\x4e\xc1\x39\xf9\xdb\x11\x3e\x5e\x12\xc9\x99\x77\x82\x0b\xd8\xb2\x15\x13\xfc\x63\x44\x48\x69\xfb\x9d\x41\xaa\xc2\x83\x81\xf6\xe2\xe3\x45\x00\xc0\x9f\x4e\x9d\x32\x40\x21\x75\x51\xaf\xdf\x03\x79\x00\x17\x96\x6d\x00\x90\x95\x01\x00\x12\xc3\x01\xc0\x5e\x3f\x6e\xe8\x39\x00\xa2\xb3\x01\xc0\x8e\x6f\xcc\xfa\x90\x03\x40\xa7\x5b\xa7\x0e\xe6\xe3\x63\xe5\xc3\xd2\x82\x53\x0e\x3c\x6e\x00\xda\x58\xa8\x57\xd1\xae\xfe\xb0\xbd\x66\xb3\xf8\xe6\x04\x00\xac\xd2\x06\x80\x5a\x6a\x74\xa6\x38\x50\x9a\x03\xc0\x2b\x85\x6c\x72\xbc\x93\xdd\xa7\xc5\xf7\x9b\xd9\xd7\x52\x02\xc2\xe0\xf3\x76\xc5\xa9\x95\x3d\xb9\x76\x37\xf9\x32\x96\x66\xdd\x0f\x6f\xae\xd4\xd9\x32\x1f\x58\x1e\x16\x25\x0b\x87\x24\x8b\x57\x27\x0b\xc7\x5f\x25\xd8\x35\x79\xce\x03\x7d\x59\x18\x3d\xa8\x0c\xbe\x2d\xe9\x3e\xf7\x22\x89\x03\x2c\xcf\xb4\x86\x5f\x37\x4b\x0f\xe3\xb6\x0e\x77\xa9\x27\xe1\xf1\x1e\x46\x8d\x27\xca\x65\x67\x07\x4b\x6d\xca\x7c\x9d\x2c\x67\x43\x9d\x29\x45\x92\x97\x5b\x82\x53\x17\xa7\x5a\xcb\x21\x66\x58\xe4\xb8\x50\x97\x28\x23\x89\xd7\xab\x95\x9b\x17\x96\xeb\x68\x60\xae\xbf\x5e\xce\x0a\x96\xa9\xa7\xef\x58\xf7\xcc\x94\x39\xb2\x7c\x6f\x9d\xa2\xe9\x65\xbe\x9c\xc9\xee\x9a\x24\x71\x21\x22\xc2\x1a\xd6\xcc\x4c\x85\x4f\x13\x3c\x8c\xae\xdd\xf9\xf2\xd0\x98\xd4\xa5\x61\x0b\x0b\xf2\x8e\x91\xa5\x18\x94\x8f\x73\x39\x5e\x07\x5e\x8e\x00\x86\xed\x2e\x87\x3c\x5f\x44\x9e\x98\x60\xcc\x7c\x5d\xc2\x46\x7c\x5e\x12\xe0\x22\x68\x95\x99\xb5\xbd\x6d\x4e\x8a\x1e\xcf\xd9\x95\x6e\x94\x5e\xc5\xea\xb4\x75\xbd\x2c\xa9\xdb\x8d\xeb\x81\x2e\x01\x3e\x57\x37\xd6\x66\xf6\x04\xc8\x34\x27\x4b\xa5\x04\xf2\xbe\x94\x18\x20\xe5\x52\x2e\xd1\xb2\x30\xa4\x0f\x93\x31\x47\x6c\x7e\x30\x34\x90\x41\x59\xde\x8c\x1c\xd4\xd0\x43\xe2\x6b\x8b\xa6\x8d\x57\x81\x19\x66\x6d\xf8\x0b\xc7\xd0\xca\xb0\x8b\x54\x3c\x11\x85\x56\xd6\x45\x92\xe3\x86\x8b\xa7\x41\x9d\x03\x93\xa7\xad\xba\x6d\x9c\xb6\x1b\x48\xb5\x55\xfd\xdb\xd4\xdc\x46\x8a\xd0\x1f\x8a\x0c\xb3\x06\x53\x3f\x32\x9b\x4b\x8c\x09\xb0\x08\x49\x5d\xc8\x0b\xa9\xce\x0f\xec\xb5\xc8\x1b\x05\x90\xf0\x15\x6f\xfc\xd3\xd0\xa0\x09\x81\xc0\xc1\x5e\x71\x45\xa5\x5f\x84\x2c\x4a\x91\xb4\x49\x83\x44\x08\x52\x9c\xbd\xd2\x1b\x3a\xc1\x12\xa6\x6b\xd5\x4b\x7e\xea\x3d\xf1\x7c\x32\xe3\x86\x70\x85\x64\x36\x86\x51\x62\x11\x46\x0e\x70\xb4\x3c\x6d\x97\x46\xd1\x47\x21\xad\xe2\x42\x11\x4b\xd7\xd1\x13\x49\x9c\xe2\x1d\x02\x02\xb0\xfa\xa0\x3a\x76\xd7\xb5\x19\x9d\x79\x3c\x75\xef\x4e\xcd\xc2\x73\xcd\x2e\xe9\x13\x52\xf1\x09\x3b\x6f\x9a\x25\x38\xfa\x0b\x8b\xbc\x80\x95\x46\x1c\xa3\x39\xdf\xe7\x0c\xf3\xc1\x18\x0a\x31\xf2\x4d\xc6\x6b\x69\xba\xea\x9b\xe6\x62\x9e\xe2\xd0\x3e\xef\x1e\xae\x5f\x2c\x2d\x56\x4d\xd5\xf2\xda\x10\xec\xb5\xaa\xc8\xfa\xf0\x05\x00\x9c\xbc\xa8\x85\x46\x7d\xf8\x32\x15\xbe\xc2\x53\x25\xb1\x5b\x7f\xde\xc4\x59\x2f\x78\x1e\x5d\xb1\x48\x84\xb9\x9b\xcc\xbd\x80\x57\x64\x97\x0e\x7d\x88\x2c\x09\x87\x24\xb4\xb7\x49\xf2\x54\x69\x4b\xa1\x34\xa4\xf3\x61\x30\x76\x01\x6f\x29\x25\x4d\x3e\xa5\x52\x3f\x73\xac\x46\x11\x3a\x0b\x44\x0f\xc9\xb5\x7a\x42\x20\x96\xa6\x2f\x57\xb1\x16\x54\x7b\x6f\xcd\x67\xbc\x3f\xa9\xcb\x98\x40\x37\x6f\x3e\x35\xaa\x39\x79\x8a\xc2\xaf\xb7\x65\xdb\x43\x06\x8c\xc4\x16\x1b\xa5\xc6\x98\x9c\xf7\xa0\x6b\xd6\x4f\x33\x2c\x93\xf0\x1b\x75\x29\x32\xe8\x82\xac\x50\xb6\x40\x09\x06\x94\x0b\xb4\x5a\xe7\xa1\xda\xaf\x5c\x21\xa7\xf6\xb2\xd0\x1c\xce\x84\x00\x11\xcd\x88\xb7\xc9\x7e\xbc\x1b\x0a\xc3\xa4\xf3\x48\x0f\x57\x44\x60\xa9\x4c\xa4\x59\x92\xf4\xd7\x4e\x46\xae\x3d\x74\xb9\x8e\x17\x28\x51\xe5\x40\x7d\xa0\xcf\xe2\x7c\x0a\x42\x6d\x06\xe5\x46\x9b\x0a\xfa\xec\x54\x08\x2b\xcd\x93\x84\x56\x1b\xba\x75\xcf\x75\x3d\x51\x7b\x6f\xa2\xdb\xa5\xf0\xcd\x58\xbe\x1a\x8e\x42\x47\xea\x2a\xb7\xb9\xab\xca\xa6\xb2\x5a\x45\x23\xd1\x43\xb4\x94\x1c\x0f\x06\xc0\x48\xbc\x28\x42\x0d\x80\xa0\xbb\x58\x61\xd8\x98\xc1\xd9\xe3\x65\xc8\x3e\x17\x41\x72\x27\x72\x52\x0f\xe8\x20\xa5\x50\x02\x3a\xf5\xc7\xf3\x22\x57\xf4\xae\xc9\x0c\x04\x1d\xbb\x7f\x11\x82\x28\xcc\x05\x10\xce\x19\x0c\xaf\x19\xb2\xd2\xc7\xe1\x69\xc6\x24\x70\x4d\xea\xba\x0a\xe3\xc5\x46\x0e\xc0\x55\xef\xb2\xdc\x78\x90\x14\x45\x9e\xaf\xe8\x21\xa2\xb9\x30\x4b\x83\x51\xa6\xde\xda\x9b\x1b\x80\x7a\x14\x8a\xd9\x93\x84\xfb\xe7\xf3\xd2\xf1\x52\x04\x3d\x93\xf3\x44\x1f\x23\x5a\x9c\x56\x6c\xd6\xb3\xca\xec\xf3\xdd\xc6\x31\x5a\x22\xab\x80\xf1\xa0\xb2\x48\xa1\x84\x56\xbc\xd0\x0e\x0b\x23\xe1\x5d\x6a\xd4\x2a\x03\xce\x5b\x6e\x6b\xf1\xa2\x1e\x67\xdd\xe5\x2a\xb6\xcf\x47\x8c\x8c\xf5\xea\x15\x71\x0d\xad\xa8\xe5\xd9\x06\x6e\xae\x78\xa1\x07\x23\x62\x95\xe9\xaa\x10\x81\xd8\x29\x87\x5e\xb6\x3d\x11\x28\x5b\x84\x2b\xc1\xd0\x8a\x8c\xec\xd0\x70\x63\x30\xbd\x03\xcf\x89\x02\xe7\x8c\x26\x9b\xd6\x38\xea\x95\x98\x35\x30\x37\x86\x83\x34\xf0\x52\xcc\x3a\xd9\x7d\xdb\x74\x0d\x3d\xc8\x5c\xc7\xd3\xce\x2b\x26\xeb\x74\x79\x9a\xe5\x4e\x6d\xa8\x1d\xf5\xae\xc1\x38\x2d\xe5\xfc\x6c\x21\x79\xbe\xdf\x9d\x53\x71\xad\x92\x31\x67\x8e\xe6\x1c\xae\xe7\x4b\x73\x44\x5f\x84\x78\xf7\x2b\x2d\x45\x6e\x83\x25\xba\x59\xd8\xad\x6b\x57\x86\x51\x3f\x48\x92\x41\x03\xa9\xe8\x9c\x31\x7f\xc5\xc8\xe2\x60\x3a\xad\xf0\xa5\xc7\xa4\xda\x91\x02\xda\xa3\xc5\x4b\x2c\xf5\xcc\x0b\x60\xe6\xdd\xa1\x94\x83\xd5\xcb\xa8\x10\x50\x1f\x00\x70\xce\xa7\x8e\xdf\xc5\x3a\x94\xee\x89\x02\xd4\x35\x4d\x4d\xb1\xc4\x5c\x8f\x37\x33\x35\xf1\x8e\x5b\x5a\xec\x3a\x11\xf1\xc3\xab\x2e\xa2\x96\x25\x44\x7e\x33\x8c\xd5\x5a\xf2\x4d\x7d\x0c\xb3\x7e\x46\x38\x21\xb0\xd0\xc1\xe2\x1a\xbb\xa1\x95\xcb\x4c\x8c\x26\x5a\xb5\xb3\xb5\xdb\x8c\xd5\x8c\x06\x58\x16\x16\x98\x70\x28\xa3\x46\x13\xb0\xb8\x8c\xf0\x65\x72\x67\xf9\xb2\xd7\x32\x50\x2c\xc7\x5a\x34\xb8\xf7\x66\xcb\x98\x72\x5b\x48\x57\x54\xf3\x9b\x86\x6b\xb3\x93\x87\x44\xb3\x38\x2f\x0c\x1e\x5f\x8b\x83\xcb\xa7\xee\xa8\x5c\x55\x3d\x8b\xa4\xe8\x91\x92\x9f\xd9\x52\xe8\x5b\xfd\x5c\x2e\xec\x0c\xdd\x4e\xf2\x21\x9d\xed\xd3\xc4\xa8\xec\x81\xa4\xae\x6b\xe9\x5c\x59\x99\x70\x67\xce\xfc\x94\x23\x92\x35\xb4\x75\x6f\x50\x89\xbd\x3e\x77\x65\xa2\x63\xb1\xed\x9d\x5e\x0e\xbd\xb6\x79\xb0\xbe\x19\xe6\xa9\xc6\xde\xe7\xfd\x26\xae\x7e\xbc\xec\xd8\xf9\x7a\x15\xa6\xa1\xd8\x29\xdf\xaa\x06\x60\x7a\x1b\x4d\xb7\x80\xca\x9e\xa6\xd7\xbc\x00\xd2\x22\xbb\x7c\xa0\x12\x97\xe7\xf5\x63\xea\x9c\x97\x4f\x53\x1a\xdc\x08\x75\x54\xba\xfb\x65\x37\x21\xc0\x1a\xeb\xc3\x34\xc0\x30\x44\x01\x2c\x3f\x4f\x9d\xa6\xe1\xaa\xe7\xc1\x8c\xeb\x47\x4c\x50\x1c\x1c\x90\x03\x8f\xb3\x2c\x9b\xb6\x1b\x4e\xaa\xf9\x91\x1b\x62\x1c\xcf\xa4\x54\xe1\xf2\x20\x68\xd2\x56\x09\x26\x9f\xf0\xf0\xce\xcb\x09\x9b\x72\xf0\xe0\xc4\x58\x60\x20\x45\xe0\xcd\x2c\x6f\xed\xcf\x27\xf9\xca\x45\xed\xd0\xb1\xba\xd6\x84\x32\x02\x8f\xd3\x4a\xc0\x76\xd2\x70\xe0\x36\x2d\x58\xc5\x1e\x3b\x0d\xb1\x56\x22\x67\x18\x6c\x11\x38\x06\xad\x1a\x1d\x08\x5a\x5c\xc6\x91\x67\xc6\x34\x29\x10\x32\x31\x43\xf9\x88\x19\xa9\x67\xea\x1b\xda\xe3\x36\x2e\xc4\x4c\x5f\xf5\x46\x88\x1f\xf8\x50\xd3\xdb\x49\xe7\x82\xd8\x2b\x5a\x9a\x48\xc2\x0d\xe5\x36\xd8\x54\xae\xce\x68\xef\x22\x90\x39\xd1\xa2\x19\xb5\x75\x45\x26\x7a\xf9\x9b\x93\x6c\xc2\xe0\x6b\xb2\x64\xa1\x41\xe7\x16\xd3\x08\x23\x09\xd0\x8d\xbd\x66\xc8\x40\x13\x88\xf2\xfa\xda\xca\x2b\xa1\xba\xf8\x32\x49\x0a\x02\x0b\xf2\x21\xaa\xaf\xc1\xb6\x4d\x98\x0d\xc3\x46\x5e\x38\x4e\xdb\xcd\x8b\xe4\xca\xb2\x6d\x35\x3c\xe0\xd3\x50\xc5\xc9\xaa\xe7\xf3\x79\x9b\xb8\x10\xf3\xe1\x2b\xfb\xc2\x32\x20\x92\x37\xd2\x6d\x6f\xd0\x02\xcf\xb7\x4e\x6b\x52\xea\x51\xd1\x85\xc8\xdc\x11\x81\x4c\x9b\x16\xa7\xe0\x1c\x9b\xa4\x93\x59\x20\xe2\x10\x25\xaf\x04\x44\xba\x0b\x06\x21\xea\xc9\x3b\x4e\xad\x81\x10\x8e\xeb\x66\x5b\x77\xdb\xd7\x40\x9f\xbb\xbd\xb5\xd6\x2b\xf0\xb7\xe6\xe4\x9d\xc1\x32\x99\xa3\x41\x92\xfd\xe2\xf6\x3a\x7d\x42\x61\x49\x61\xaf\x23\x63\x39\xe4\x1a\xef\x48\xb9\xaa\xb3\x34\xeb\x96\x6a\x79\xcc\xba\x6d\x5c\x01\x47\x54\x01\xad\x3b\x3b\x5f\xd0\xdc\xeb\x76\xb6\xba\x90\x54\x6a\x28\x55\xd1\xe4\x78\x1c\x36\xd0\xab\x2e\x23\xb6\x5d\xea\x97\x7f\xe7\xcb\xb6\x75\x4c\x4d\xc6\xdd\x40\xaf\xe9\xc1\x6a\x52\x6b\xcd\x29\xc4\x66\x83\x52\x62\x53\x7f\x5b\xb8\x97\x9d\xb1\xf7\x66\x0f\x37\xec\x80\x30\xfc\xc1\x76\xe9\xaa\x32\x25\xa4\xe1\x97\xcc\x80\xc3\x85\x48\x98\x54\x42\x04\x88\x57\xf8\x3d\x27\x5a\x8d\xa3\x4c\x72\x32\x35\xcf\x2e\x21\xb0\x9c\xfa\xa3\xe3\xee\xaa\xe2\xbb\xe8\x72\x4c\xe0\xd2\xf0\xe3\x59\x2b\x35\x46\xdf\x25\xb8\xc6\x68\x8f\x23\xe6\x8d\xf5\x01\xb9\x35\x2d\x1c\xf3\x5c\xcd\xe9\x6c\x5c\x9d\xde\xe3\x6c\xd9\xd1\xde\x70\x91\xed\xe2\xea\x24\xc8\x79\x4b\xc5\x44\x19\x88\xeb\xa5\x5a\x32\xa8\x86\xdd\x75\x5a\x4c\x47\xea\xac\x87\xec\xb3\x58\x40\xc1\xc1\xd3\x4f\xe2\x70\x21\x25\x9c\x5a\x20\x0d\x27\x54\x99\x08\x73\x9e\x6c\x34\x10\xcf\x77\x8a\x7e\x96\x3e\x47\xac\x4b\xe1\x73\x27\x4f\x2b\x17\x7b\x00\xc5\xe4\xae\x1d\x00\x5c\xc6\x0d\x38\x6b\xe0\xfd\x71\x18\xd2\xe5\x59\x5b\x55\x07\x2d\xc2\x1c\x3e\xbd\x04\x50\x15\xe6\x57\xaf\x1a\x82\x83\x25\x23\xd1\x17\x7b\xe3\x8f\x70\x83\x02\xd4\x8d\x56\x73\x06\x00\xbf\x61\x52\xcb\x76\x97\x9e\x47\x6f\xac\x0a\x9d\x23\xdf\x61\x5b\x57\x42\x7b\xc2\x59\x56\x6f\xbf\x6a\x6e\xdf\x53\x9a\xbe\x97\x0d\xdf\x31\xa0\x51\x69\x4d\xbb\x88\x45\x5a\x63\xe2\x62\x17\xbd\xc4\x21\xf6\xda\xd8\x2b\xdb\xcc\x09\xc8\xc1\x7a\xdf\x19\x70\xf5\xef\x84\xf8\xb8\x3c\xa2\x5b\x91\x79\xb3\x08\x72\xcb\x38\x00\x1c\x9e\xfc\x74\x93\x04\xb1\x10\x99\xb5\xce\xc4\x2c\x7d\xb6\x9a\x3e\xc4\xb7\x2d\x6f\x0e\x18\x45\x2a\xbf\xb6\xe7\x2a\x68\x29\x06\x0e\xaa\xbb\x6c\xe5\xfc\x4b\x5c\xc1\x83\x1c\x63\x0d\x60\xf6\x90\x6c\xa0\x47\xfa\x9e\xd5\xb7\xad\x52\x6c\x11\x35\xd8\xd7\x0a\x35\x39\xd6\x30\xdd\x96\x5f\xa9\x64\x4f\xac\x41\x4e\x6e\x69\x28\x3f\x72\xc0\x64\xd9\x0a\x82\x22\x7f\xc2\x8f\xf4\x2a\x57\x87\x06\x26\x9f\x80\x84\x26\xbc\xcd\x39\x8a\x39\x84\xcd\x3c\x2f\x9c\xb5\xc0\x06\xcf\x30\x7c\xe9\x05\x09\x8f\x60\x48\x6d\xe3\x4d\x41\x0f\xac\xe5\x03\xed\xb8\x70\x23\xf2\x00\x7e\x00\xa4\x40\xa4\x57\x4a\xff\xb0\xf9\xec\x95\x34\xda\x93\x3c\x40\x4d\xde\x88\xd3\x5a\xfd\x5b\x49\x06\xd7\x5b\xa8\xf7\x0c\xb8\xee\xa9\x77\xbb\xa3\xd0\x8a\xdb\x66\x8a\xa6\x1b\x49\xf0\xeb\xe3\x31\x76\x2b\xc6\xb6\x2b\x79\xc7\x29\x73\x3e\x3d\xb5\x3c\x84\x57\x2e\x98\x4f\x0d\x27\xc5\xea\x9e\x9e\x6d\x7e\x75\xae\xb5\xa9\x82\x19\x46\x37\x01\xf8\x5b\x99\xd1\x5b\x9e\xe7\x7d\xa4\x39\x2c\xd9\x4b\x57\xf2\xd9\x72\x62\x5c\xbd\x9c\xfc\xd9\x4e\xb4\x7d\x62\x14\xf1\xdc\x88\x7a\x56\x15\x05\xbd\x0e\x6d\x7e\xea\xf0\xc6\xcc\x7c\x12\x12\xe4\xd5\xdf\x33\x7b\x08\xd3\x73\x8f\x98\xe7\x7a\x11\x81\x6f\xe6\x57\x14\xcf\x2c\x1b\x3e\x0b\x28\xa5\xaf\xbc\xcf\x56\x0a\x66\x3b\xb9\xbb\x19\x26\xe7\xf4\x0b\x0c\x78\x86\xe3\x76\xcc\xb9\x85\x3d\x9d\x73\xc0\xdd\xd2\xde\xe9\x8a\x8c\xef\x3c\x41\x3d\x17\x80\x1c\xb8\x5d\x41\xe7\xce\x48\x87\xb3\x49\x97\xac\x9d\xa3\x47\x47\x74\xfc\x6d\x3c\x5e\x3c\x3f\xc3\x2c\xc4\xdc\x60\x22\xec\x4a\xac\x1a\x46\x44\x0b\xa0\x0b\xc7\x90\x55\x67\xe5\xd0\xf3\x42\xe4\xf4\x95\x3a\xfc\x0d\xa2\x93\x2e\xa0\x9f\xac\x94\x69\x53\x10\xa9\xde\x15\x30\x20\xe0\xdb\xb6\x1a\x4a\x32\x18\x87\x96\x31\x3d\x6d\x44\xdb\x48\xcd\x25\x7d\xe4\x13\xc7\x20\x35\x6e\x1a\x88\x70\x1f\xdb\x2e\x84\xe5\x1d\xbe\x48\xb2\x77\xa7\xa5\x89\x18\x87\xf9\x6c\x6e\x04\x0a\x3d\xb7\x81\xc4\xc2\x3b\x83\x3d\xb6\xb6\x50\x18\x03\x38\x1e\x23\x80\x95\xd0\xd6\x7b\x33\x95\x9c\xc1\x1d\xd7\x33\xe2\xa3\x55\x2d\xc4\xfc\x6a\x30\xcd\x3d\xab\x96\x8c\x0a\x0c\x89\x49\x54\xa4\xc4\xea\x1b\x84\x3b\x72\x0a\xc5\x61\x28\x72\xb6\xb0\x09\x4c\xa0\xdc\x8e\xb3\xda\xb0\x02\x7f\x89\x7c\x0b\xfc\xa3\x45\xa8\x74\x7f\xde\x39\x98\x5b\x92\xb1\xde\x6d\xf7\x61\xa7\x29\x3c\xf2\x60\x30\x1f\xf7\x88\x5b\x92\xdd\x00\x25\x80\xed\xac\x61\x32\xe5\x65\xb2\xb6\xd5\xfb\x9e\x1d\xc8\x31\x51\xf4\x24\x61\x8e\x70\x0d\x86\x78\x63\xa7\xa1\x98\x74\x93\x4b\x61\x69\x20\x80\x4e\xaf\x47\x51\x0a\xe2\xbc\x2c\x03\x8d\xd3\x7d\x51\x3a\xed\x18\x0e\x79\xd6\xe0\xda\x8e\x8c\xfd\x3a\x75\x01\x13\x27\x4e\x8e\x6f\x83\x9a\x24\x4e\x34\xbb\xa1\xcb\xa8\x40\x76\xc2\x42\x89\x1c\x7b\x20\x8a\x97\xed\x31\x83\xdf\x81\x84\x93\xf4\x59\x80\xe1\xe7\xbe\xba\x81\x39\x5e\x35\x80\xa5\x3e\x21\xaf\x8c\xb0\x10\x7b\xc1\x81\xd1\xab\x47\x5c\x62\x70\xed\x22\x04\xb1\x0b\x43\xb1\x2a\x5f\x0b\x0a\x4d\xdb\x26\x92\x25\x81\xb2\x8b\xfa\x38\x63\x8e\xca\x0d\x78\x0a\xe8\x6b\x33\x58\xb9\x93\xc0\x8c\x7d\x63\xe0\xce\x38\x1f\xce\x8b\x61\x6b\xb4\x27\xcb\x63\x76\x1c\x38\x6f\x67\x3e\xb1\x18\xa6\x93\xc3\x79\xc8\xc6\x2b\xbd\x3c\x9c\x1a\x13\xad\x7d\x12\x98\x42\x09\x87\x76\x85\x1c\x34\xdf\x94\x59\x7b\xf4\x68\x08\x71\x17\x8c\x22\x01\xa7\xf2\x2a\x7e\xe3\x34\x91\x1f\x85\x14\x82\x76\xb8\xc6\xa9\x3c\xd8\xcc\x8b\xeb\x39\xc2\xab\x05\xc6\xce\x22\xa8\x10\x86\x79\xbf\x23\xcb\x50\xae\x56\x74\x15\x75\x46\x96\xe4\xdb\xda\xee\x3d\x51\x70\xaa\xbe\xbf\x2c\xfe\xc1\x95\xab\xb4\x27\x26\x51\xa6\xfe\xfd\x74\xc7\x71\xeb\x0c\x9f\x0e\xf3\x62\xba\x4d\x44\x0b\x29\xb1\x98\xef\xe7\x7c\xe9\xef\x1c\x62\x43\x33\xfd\x2a\xf2\xbc\x04\xc9\xa1\x4f\x17\x1a\x82\x2e\xfc\xe1\x9c\xf3\x93\x85\x39\x53\x23\x4d\x5e\xaa\x2b\x3b\xaf\x50\xfa\x6e\xb7\x79\x57\x38\x8e\x9f\xa4\xe8\x1d\xb7\x06\xda\x19\x70\xe6\xca\xba\x22\xa0\xdb\x88\x9b\x88\xcb\x4d\xbd\x4c\x4b\x29\x34\x36\x60\x1d\x05\x97\x6e\xb5\x7c\xf3\x33\x96\xcd\x66\x48\x01\x1b\x46\x9e\x0f\xc7\x9a\x02\xa7\x23\x96\x41\xd6\xe5\x91\xc3\xed\x42\xb7\x00\xd3\x5d\xcc\x13\xbc\x73\x2b\x68\x20\x41\x9b\x4b\xe8\x50\x78\xf5\x91\xd1\x78\x38\x1a\x25\x98\xf9\x70\xa9\x79\x3d\x94\x2e\xa0\x27\xad\xfc\x58\xdc\x3c\x93\x7b\xc3\xa5\xeb\xe7\x45\x34\x85\x69\x77\x0b\x97\xe6\x85\x51\xac\x50\xbc\x6c\xad\x07\x36\xcc\xbc\x03\x8e\x26\x60\x2c\x6e\xf6\x2c\x36\x5d\xd1\xe3\x76\xf5\xee\xc6\x5a\xaf\xc7\xd2\x4a\xe9\xe6\x8e\xd8\x62\xc9\x3d\x71\x4e\x8b\x04\xcb\x8e\x56\x95\x40\x3e\xe3\x89\x86\x00\xb8\x05\x66\xc7\x78\xf7\x4e\xd5\xef\x98\xbc\xf2\x07\x57\x4a\xd5\x0d\x84\x59\x47\xb9\x09\xbc\xa9\xb0\x5c\x9b\x8b\x96\x0b\xcd\xb3\x62\x45\x7a\x63\x2d\x55\x39\xb7\x81\x4c\xcd\x50\xbd\x44\x41\xf9\x0a\x37\x00\x86\xb0\xf1\x3a\xf0\x58\x60\x7b\x5f\xad\x80\x56\xfa\x84\x01\x08\xad\x38\xbb\x94\x6b\xf4\x01\x2f\x91\x03\x74\xa6\x74\xcb\xba\x6c\x9c\xba\xec\x60\x88\x8f\xf9\x8e\x3b\xb1\x7d\x37\x54\x41\xcb\xaf\xd3\x90\xb5\x3e\x35\x44\x46\x8b\x91\x3b\xca\x36\xaa\xaa\x39\x57\x29\x94\x24\x7b\xd3\x1d\x66\x8a\x38\xe0\x72\x66\xbf\x98\x78\x92\xf4\xac\x21\x03\x89\x64\x05\x7a\x9a\xf7\x9b\xf6\xc0\xfa\x4b\xf7\x82\x5c\x2a\x15\x9f\x18\x0d\x12\x44\xaa\xf2\x55\x87\xe1\xf4\xa2\x0f\xe2\xf3\x19\x4c\x1b\x51\x4e\x30\xe5\x69\x25\xb1\xa5\xf8\x83\xb9\x19\x2a\x2b\xfa\xa2\xd0\x4a\xe2\x84\x08\xb7\x34\x9f\x75\x3d\xef\x0f\x5d\xa6\x29\x12\x53\x2b\x13\x52\x2c\x35\xe0\x83\x65\x3d\xda\x3d\x60\x42\xdd\x71\x16\xed\x76\xa2\x25\xb4\xe1\xb7\xe4\x91\xdb\xb6\xf6\x60\x59\xfc\x9a\x19\x3e\xd2\x0a\xe4\xf5\x66\xb5\xe3\x78\x19\x01\xcf\x99\xfa\x26\x19\x16\xb0\x42\x37\xa5\x41\x69\x48\x46\x9e\x4b\xb7\x91\xbc\x24\x10\xa8\x2c\x86\xcb\x43\x3a\x6f\x21\x3b\x0f\xb1\x79\xe9\x5f\xca\x81\x9b\xf3\x78\xaa\xb4\x56\xe9\x5b\x66\x5a\xa5\x5f\xdc\x75\x7e\x33\x4b\x98\x69\xe5\xb8\xe0\x50\xda\x6e\x21\x65\x1e\xee\x06\x3c\x24\x93\xe6\x46\x4e\xcd\x56\x10\xfc\xec\xce\x1c\x7e\xc0\x7d\x53\x8f\xc5\x7c\xc1\x23\x12\xd9\xfb\x0c\xc0\xaa\xc2\xac\x93\x34\x15\xed\x13\x9d\xe4\x33\x89\xa8\xa4\x81\x9d\x16\x73\xe0\x31\xec\xc1\x78\xdf\x5c\x94\x00\x16\x35\x70\x69\x07\x50\x29\x5f\x35\xbc\xe6\x55\x86\x22\xe2\x40\x7d\x94\xa5\x1c\x48\xd5\xc2\x49\x37\x8c\xce\x73\x4f\x89\x86\xb7\x05\xed\x18\x87\x2e\x7b\xd9\x35\x0f\x59\xdf\xa9\xf3\x56\x93\x20\xa6\x1d\x9b\xb6\xcc\x7a\x6a\x6e\xcb\xeb\x22\x38\x29\x2b\x31\x4d\x3d\x0f\x05\x3f\xbf\xd4\x4b\x18\x25\x8a\xda\x21\xb9\x8a\xb9\x30\x2b\x31\x93\xbe\x1a\xfe\xcb\xea\x0b\xe7\xce\xa1\x53\x77\xe2\x88\x31\x26\xe9\xe3\xbe\xb8\xb3\x29\x70\x74\xac\xe7\x5d\x9c\xd6\x95\xed\x2a\x4e\xe8\xe5\xde\x68\x76\xf8\x53\x04\xb4\xde\xbb\x74\x72\xe7\xd0\x73\x11\x1f\x5d\xaf\x92\x77\xf0\x14\xc1\x5d\xb4\x6e\xe9\xe3\xe4\xe0\x79\xd7\xd2\x59\x52\xc7\xd7\x2c\x4c\x7e\x9f\x70\x82\x19\xf8\xfc\x7e\x25\x9f\xce\x49\x1c\x24\x4a\x65\x64\xb0\xe1\x80\xad\xd6\x36\x46\x81\xdc\x7b\x23\xba\x33\xcb\xb4\xa5\x05\x6c\x1b\xe6\x49\xe2\x41\xab\x0e\xa1\x44\x89\xe5\x22\x56\x36\xc3\x44\xb0\x12\x82\xbb\x22\xf4\xfe\xed\xd6\x38\xfd\x65\x60\xda\xa6\xa0\x81\x15\x68\x2d\xa8\x38\xf2\xca\x45\x38\xd3\xdf\x8f\x6c\x62\x83\xd5\x09\x45\xd3\xdf\xca\x11\x7d\x44\xdd\x6d\x82\x8e\x7b\x9d\x68\xa0\x1c\x5f\xaf\xcb\xb0\xf1\xbc\xd7\x0e\xc6\x18\x37\xd7\x72\x8e\xc6\xde\x75\x97\xa8\x9a\xe5\x27\x0d\x0f\xa5\xbf\x31\x5c\x99\x16\x87\x38\x5c\xa1\x87\x38\xac\x69\xf7\x9c\x6f\x39\xdb\xe2\x31\x4c\xee\xfe\x65\xf7\xe9\x8e\xf3\x70\xac\x7a\xa1\x7a\xd5\x93\x18\x84\xc2\xfb\x25\x3b\x13\x9c\xe4\x8f\xab\x76\x87\x24\xdd\x0f\x2f\xe1\x4e\xbf\x24\xee\x9a\x65\x4c\xff\x8a\x3b\x98\xf7\xcf\xca\x1f\x17\x7c\x9d\xb8\xd9\x6d\x84\xf9\x61\xdc\xee\xbc\xf8\x80\xcd\x07\x94\x66\x27\x3e\xbf\x20\x4a\xb8\x85\xab\x72\xdb\x46\x74\x55\xf6\xa5\x36\xe7\x0b\x8e\x27\xf7\x99\xcc\xb0\xe5\x8a\xdc\x39\xdf\xdf\x5c\xc9\x75\x8e\x0c\xe9\x2f\xcf\x4b\xd7\xf9\xb3\x8d\x84\xcd\xb4\x95\x22\x95\x2a\x95\x3a\x5c\xec\xd0\x2d\x7a\xf3\x7e\x40\x72\x4c\x3c\xa6\x47\xd5\x1c\x4f\x70\xb2\xe5\xf6\x44\x6f\xaf\x9c\xc5\x81\x7b\x01\xab\x45\xa4\x23\x11\xad\x18\xbf\x5a\x90\x04\x4b\xf4\x95\xc6\x62\x8d\x54\xc9\x6d\xf6\x30\x49\xb6\xe8\xea\x15\xa3\xcd\x0c\xe7\x31\x16\xe4\x52\x79\xb4\x70\x51\x42\x77\xa9\xa5\xa1\x81\xd0\x86\x12\xa6\xf4\xe9\xb2\x65\xf4\xb8\x5e\x98\xa6\x14\x83\x65\x87\xa6\x95\x19\x04\x2f\x5c\xb1\x44\x67\x21\x2b\xc9\x56\xf8\x56\xf6\x4e\xc9\x17\x89\x8f\xa0\x93\x68\x1f\xb0\xc1\xf9\x76\xba\x29\xae\xea\x92\x34\x84\xa1\xd7\x65\xc1\x9e\x62\xf7\x6a\x79\xd3\xd0\xd6\xdb\x0b\xc6\x22\xc0\x99\x52\x65\x1f\x0c\x21\x81\x45\x16\xd2\x1c\x9a\x49\xbd\x52\xdb\x58\x0c\x68\xdf\x45\x29\xdb\x5d\xae\x2b\xef\xd2\x08\xe6\x6a\x7e\xb8\xf0\xdb\x24\x6d\xda\x1d\x60\xe9\x2b\x4e\x84\x3d\x02\x7c\x60\xc4\x94\xca\x11\x06\xe0\x25\xf2\x5e\x53\x49\x9e\x82\x43\xcf\x54\x94\xe1\x1b\xeb\xe6\x3f\xa6\x98\x75\xfa\xd0\x66\xf0\x46\xca\x76\x57\x92\x37\xf8\x41\x49\x1b\x6b\x25\xb4\xbb\x9f\xae\x6e\x53\x46\x9e\xbf\xe2\x72\x7d\x79\x7a\x15\x50\xdd\xfc\xa0\xf7\x56\x65\xe0\x25\x4e\x2e\x02\xb2\x81\x41\xf6\x0e\x51\xb3\xf5\x78\x4f\xaa\x2d\xa0\x2f\x40\xcd\x69\x9b\xb9\xdf\x2e\x9e\x1d\x0c\x11\x6c\x00\xc3\xb1\xd9\x15\xce\xc4\xcb\x91\xb4\x03\x41\xeb\xcb\x21\xb8\x56\x0b\x4f\x38\x5d\xe6\xd7\x2d\x68\xe5\x31\xd8\xee\x77\xfb\x29\x45\xfe\x3c\xa3\x18\xc9\x72\x92\xe9\x6a\x01\xef\x18\x12\xd7\x75\xec\xa6\x0b\xf4\xd6\x0b\xd4\xf3\x89\x50\x8f\xcb\xe2\xdb\x04\x4a\x87\xa5\xbb\x30\xa6\x6a\x5d\xd9\xdb\xa6\xc1\xa7\xb9\x5f\x9f\xb2\x0b\xe9\x27\x45\x21\x55\xaa\x9f\x03\xe6\x0f\x68\x44\x95\xae\xd2\xd8\x4d\x74\x18\xbc\x79\xa3\x1e\xc1\xc3\x1e\x6e\x9b\x2a\x6b\xc7\x8c\x2f\xd2\x72\x5f\x03\x91\xb8\x3c\xc7\xd7\x4e\x91\x81\x28\x19\x06\xec\x27\x4f\x67\x31\xdb\xda\xc9\xbb\x91\xbc\xdc\xd2\xd5\xee\x91\x29\x12\xf4\x0a\x01\x0d\x0d\xdb\x1d\xd0\x5b\x2a\xb8\xea\x18\xe1\xcb\x84\x06\xe6\xba\xbe\x35\xcb\x2d\xd6\xf4\x56\x3b\xf5\x4d\xe4\x82\x0f\xbd\x1d\xa9\xde\x55\x81\x79\xed\x99\x2b\x0d\x58\x85\xd8\x58\x2a\xbb\xa5\x28\xeb\x5e\x09\x3d\xc7\x52\x4d\x11\x9c\x75\x75\x9c\x84\x79\xf1\x75\xf2\x00\xd0\x63\x63\xcc\x2e\xd0\x59\x20\xf7\x00\x03\xe9\xdd\x3c\x90\xa8\x13\x00\xcd\x00\x52\xa7\x5e\xe2\xfb\x5e\x3a\xed\x37\x7c\x4e\x73\x7a\x8d\x5b\x62\x0a\x08\x89\x89\xf0\x16\xba\x59\x35\x92\x75\x9a\x6d\xc0\x30\x40\x73\xe1\x46\xc7\x8a\x9e\x30\x74\x3b\x9c\x39\xb0\xf2\x0a\xc7\x35\xf2\x02\xf5\x91\xfc\xf4\x87\xf6\x69\x62\x0b\xb1\x1f\x30\x09\xbc\xd9\xe1\x0b\x47\x32\x9b\x23\x6b\x13\x3d\x49\x33\x4a\x1f\x5c\x51\xce\x23\xaf\x23\xf8\x68\x2b\xf2\x51\x7d\x16\x75\xab\x57\x19\x7a\xed\xc2\xd6\x3c\x76\xdf\x58\xb2\x47\xfb\x74\xb0\xdd\xed\xf9\xa1\x8d\x73\xf4\x11\x2c\x9a\x87\x4c\xd3\xf5\x82\x65\x99\x4f\x0c\x7a\x34\x72\xf9\xe1\xc9\x56\x21\xd6\x32\x35\xec\x28\x45\x9a\x7e\x9a\x76\x73\x59\x7a\x31\xb3\xad\xea\x8b\x70\x4a\x99\x8a\x7c\x28\x0e\x2c\xba\xe1\xc8\xce\x25\xf4\x20\x43\x53\x30\xb2\x80\x44\xc9\xb3\xa1\xf0\x99\x90\x40\x68\x49\xbd\xf2\xa2\x78\xa9\x15\x17\x74\xba\x93\x03\x3b\x93\x77\x1c\x6a\x08\xcf\x95\xf4\x6c\x36\x37\xf1\x66\xc7\x33\x3a\xe6\xdb\xcb\x2f\xaf\xab\x32\x51\x0f\xfa\xb2\xde\xd6\xaa\x6f\xad\x4c\x69\xfa\x2e\x14\x60\xb3\x35\x9b\x2b\x48\x1e\x62\x62\x03\x83\xb9\x09\x34\xb4\x0a\x5c\x4c\x98\x0f\xbb\x2f\xf0\x6b\x85\xc5\x05\xb3\x27\x58\x91\x63\x14\x9d\x77\x54\x17\xcf\xdb\x63\x70\x69\x85\xc0\xb8\x29\x34\xd1\x65\xd4\x5d\x8c\xb8\x65\xee\x8e\xfb\xe8\x76\x9a\xe6\x8e\x2a\x08\x8c\x8d\x08\x7a\x70\x7e\x4f\xd0\xaf\x64\x3a\x28\x4a\xc2\xb3\x6d\x95\x88\x3a\x48\xe7\xea\x6a\x49\xfa\xee\x12\x7d\xeb\xeb\xdb\x50\x58\xd7\xb5\xea\xf3\x42\x63\x37\x98\x03\x2f\x9f\x7b\xf5\x56\x6e\x3f\x81\x32\x3d\x23\x47\x03\x14\x0f\x57\x06\x99\x62\x29\x96\x14\x35\xdc\x55\xbd\x71\xa1\xe2\x1b\x76\x2f\x15\xd8\xb5\x3b\x31\xeb\x52\x7d\x4c\x3b\x35\x95\xa4\x80\x54\xb0\x40\x86\xef\xb7\x61\xc8\xca\x3d\xce\x12\x2d\x28\x77\x7e\x10\xa3\x3b\x2b\x5d\x5a\x07\xee\xb0\x21\x6d\x6e\x11\xd5\x5d\xee\xbb\x7c\x23\xd7\xea\x45\xc2\x18\x9c\xea\xb7\xe0\x25\xaa\x48\x3b\xdd\x4e\x6f\x0e\xe8\x26\x9c\xc2\xa3\xb5\x2d\x25\x72\x1a\xe3\xae\x02\xb7\x87\x5e\xed\x3e\x4b\x3b\xe3\xc2\x8b\x9a\xc9\xe7\x4c\xa2\x71\x7f\x03\x71\x6f\x89\x24\x32\x4e\xbd\xb5\xa8\xd6\x6d\x25\xae\xe4\xe3\x3c\x94\xdb\x55\xa0\xfa\x1d\x43\x8f\xca\x43\x1a\xe7\x0a\xcd\xf6\x14\xf0\x45\x6b\x8c\x5e\x68\x09\xa9\xd5\x86\xe3\xe0\x86\xcd\xe8\x62\xd2\x99\xec\x75\x78\xcd\x5e\xb6\xc7\x0f\x59\xec\xb5\x36\x7a\x59\xaa\xab\xc6\x93\x57\x7d\x49\x63\x4b\xbd\x22\xf9\x71\xb2\xbe\xdd\x84\x70\xa1\x70\x94\x41\x4d\x9c\x30\x4d\xca\x6d\xe5\xd4\x2c\x41\xdc\xe4\x12\x27\xb2\xf4\x7a\x9a\xdb\xa1\x21\xdb\x50\x4e\x07\x3a\x3b\x44\x3f\xbc\xcc\x31\x58\x98\x64\x75\x14\xda\x52\xe4\xc0\x78\x42\xc6\x99\xf0\x3e\xcc\x98\x77\xd8\x4c\x6e\xe9\xa3\x63\x89\x51\x0e\xc9\xbe\x76\x15\x46\x0c\xd2\x9b\x8b\x92\x90\x69\x26\x1a\x95\x03\x90\x6d\x09\x84\xc6\xb3\x2a\x5e\x84\x8e\x79\x5e\xfc\x01\x7a\xb4\xfc\xcc\x2f\x1c\xbd\xb6\xea\x38\xcf\xb7\xde\x96\x7c\xaa\x39\x1d\x9e\x31\x64\x6a\x02\x65\x65\xba\x14\xea\x2e\x95\xbd\x8b\xc7\xb8\x8e\x83\x72\xaa\x55\x77\xe1\xd7\xcb\x3e\x2b\x87\xa3\x9e\xea\x79\xec\xc5\xea\x77\xb5\x75\x57\xaf\x57\xaf\x0b\x4c\xfa\xa2\x74\x0c\x7b\x3f\x52\xf1\x01\xa5\xe1\x39\x30\x0e\xe9\x79\xce\x0a\x84\x73\xdf\xaa\x57\x13\x84\x54\xa2\x7a\x2d\x9e\xc4\xbb\xe6\x0c\x2c\xfa\xaa\x47\xe3\x3c\x6b\x77\xe3\x1c\x89\x21\x85\x18\x2a\x7d\xe3\x95\x9d\xd8\xd3\x0a\x1a\xcf\x84\x83\x50\x5d\x1d\xe7\x55\x07\xe2\x86\x13\xd8\x45\x16\x14\x8a\x53\x52\x7b\x4a\x6d\x98\x8d\x51\xdb\xa3\x18\xfd\xca\x66\x82\x75\x14\x62\xb6\x78\xbe\x3b\xea\xcf\x97\x0f\x46\xb2\x85\x5f\x01\xb5\xbf\x68\xef\x82\xde\xcc\x97\x8c\x1d\xf9\x03\x4f\x22\x4c\x49\x06\xd9\x71\xc8\x8d\x33\x21\x17\x18\xf4\xa8\xa0\x22\xc4\x9a\xe1\xa5\x98\x07\x36\xbb\x21\x5c\xa0\xcc\xc6\x1c\xba\x88\x9b\x93\xbd\x72\x57\xaa\x43\xc8\xf2\xd9\xbf\xaf\xbc\xce\x61\x30\x1a\x6c\x13\x24\xdc\xf8\x0c\x1d\x46\xfc\x39\x4a\xcf\xb0\x35\x5e\x55\x2c\xc6\xe1\x15\x08\x27\x7b\x6f\x3f\x2f\x74\xb7\x2f\xe2\x85\x70\x6c\xd2\x3e\xf6\x04\x15\x01\x00\x40\xf6\x4d\xde\x13\xcd\x3a\xf0\xcd\x46\x6f\xef\x47\xe8\xf1\x70\x68\x80\x43\x63\x39\x54\xb5\x01\xaa\xda\xda\xe6\xb2\xdc\xae\x57\xce\xa6\x57\xe0\x50\x6d\x00\xeb\x15\xd8\xf4\xc8\xaa\x99\x1c\x00\xc0\xb8\xb0\xe9\x16\x70\x28\xf0\x70\x68\x0f\x4b\x8c\x9a\x43\xd8\xd5\x40\xab\xc0\xae\x1d\xf0\xae\x59\xf0\xa6\xb9\xc6\xae\xb1\xfd\xa9\xb3\xfd\x71\x67\xe0\xed\xce\xf6\x9b\x76\x8f\xa3\x1b\xfd\xf1\x7c\x16\x58\x8e\xab\x9b\x0a\xc1\x04\x92\xf4\xed\x87\xa5\x49\xdf\x25\xd1\x02\xa5\xd1\x92\x7d\xf7\xe3\x77\x4b\xb6\x2f\xd0\xd0\x44\x65\xf7\xdd\x8f\xdf\xd9\x6b\xf6\xe3\x9f\x50\xf4\x4f\x60\xcd\xff\x84\xc2\x08\xf9\x27\xf8\xfa\x1f\x38\xfa\x1f\x18\xf2\xa7\x0b\x0c\xc3\xf0\xb7\x51\x16\x51\x97\x67\x4d\x9f\x43\xaf\x6c\x9a\xcb\xbe\xfb\x1a\x31\xf2\x57\xf2\x7f\x33\xfb\x8f\x78\x7a\xf3\xf1\x17\xf8\xf6\x17\xe4\xfa\x4d\x04\x79\xb9\x40\x22\x07\xd8\xaf\xa7\xe6\xe5\xf2\xa7\x29\x7b\xfd\xe5\xb3\x3f\xdb\x07\xc4\x0f\x3f\x66\x7f\xcd\xf6\xa1\x9f\x96\xf9\xa7\xff\xfe\x98\xfd\x1f\xfd\x8f\x4d\x19\xff\x47\xf9\xf7\xbf\xff\xf8\xdb\xda\x72\x3f\x4e\x3f\xfc\xf7\x77\xeb\x9c\xfd\x69\x5e\xa6\x32\x59\xbe\xfb\xdb\x97\x3a\x69\x69\xf6\x2c\xbb\xec\x97\x5a\x76\xcb\x8f\xdf\xfd\xbf\xff\x97\xcd\xda\x47\x87\xb1\xef\x7e\xfc\xef\x57\xd4\xac\xd9\x7f\xfc\x19\xfe\xfb\xcf\x3d\x5d\x7f\x53\x22\xee\x97\x56\x0e\xd9\xcf\x04\xbe\x14\xf3\xdc\x97\x68\xca\xa2\x9f\xcb\x58\x26\x7d\x3b\x7c\xa9\x20\xeb\x96\xd9\xf6\x73\xf9\xca\x9f\x6b\x7e\xfe\x34\x7d\x7e\x2f\x67\xe6\x13\xb0\xcb\x7f\xfa\x33\xf2\xf3\x98\x95\x75\x69\xd9\xe5\xcc\xaf\x38\x7e\xb9\xf9\x1b\xbc\x3f\x57\xa8\xfd\xe9\xbf\xe7\x25\x9a\x96\xcf\x92\xb8\x59\x97\x7e\x7c\xf8\xfb\xdf\x7f\xe9\x32\xf1\x9b\xda\x87\xbf\x4e\xfe\x98\xf2\xbb\xd2\x77\xff\xc0\x0e\xfc\x4d\x8a\x7f\xfd\x9c\xfd\x0f\x82\xff\xf5\x43\x69\x5f\x4a\xa5\xfe\xa1\x0e\x3e\x40\x99\xbe\x5b\xb2\x6e\xf9\xa5\xfd\xfa\xd7\x30\x49\x13\xcd\xb3\x5a\xce\xcb\xa7\x69\x44\xc9\x52\xbe\xb2\xef\x7e\xf8\xfb\x8f\xdf\x90\x63\x1d\xde\xe6\xf6\x07\x25\x84\xdf\xd8\xff\xf6\x2f\xd9\xc8\xfe\x9a\x46\x4b\xf4\xc9\xca\x27\xaa\xdf\x28\x9d\xfb\xec\x9a\x3b\x7f\xff\xc3\x8f\x73\xb6\xd8\x65\x9b\xf5\xeb\xf2\xfd\x6f\x75\xf6\x87\xca\xc9\xba\xf4\xa7\xe5\x8f\xf5\xf2\xf7\x8f\x5a\xc2\xdf\x10\xe5\x3d\xef\xeb\x05\x79\xbe\x8d\xa5\x3c\x7f\xcb\xd5\xf7\x7f\xfe\x1a\x47\x9d\x1d\x69\xbf\xfd\xae\x98\xfe\xd7\x2b\xfa\xa5\x89\xcf\x1f\x99\xd7\x07\x3c\x8a\x52\x3f\xfd\xf4\xd3\x07\x3a\xa6\x4f\x7f\xae\x8d\xfa\x67\xe4\x6f\xe5\xf3\x7b\xe4\xfa\xdb\x5b\xff\xf3\x3f\x08\xf9\xd5\xf7\xdb\x1f\x4f\xfd\xb6\x10\xc8\x0f\x3f\x5b\x28\x8a\x52\x7f\xfe\x07\x64\x9f\x9c\x17\x51\x97\x36\x19\xe8\x0e\xfb\x8b\x26\x99\x8f\x08\xf3\x5e\x8d\x8f\xa6\x2d\xbf\xd5\xc0\x1f\x50\xf8\x96\x49\xfc\xda\x5e\xfc\x5b\x86\x37\x65\x6d\xff\xca\x7e\xb5\xbd\x6f\x7b\xea\x67\x67\x9f\x2f\xec\xfd\x52\x30\xfa\x87\x1f\x7f\x29\xaf\xf8\xc5\x33\xff\xb9\x1f\x7d\xf8\xec\x37\x41\xb2\x2e\xfd\xfb\xdf\xfe\x49\x5c\x80\xbf\x61\x9b\x6f\x39\xbf\xb1\xd6\x7f\x3c\xfe\xd3\x9f\x91\xbf\x7d\xd6\x42\xfd\xac\x02\xf9\xb7\xec\xa7\xe5\xb7\x52\xff\xdf\xdf\xd9\xf4\xbc\xc6\x9f\x8d\xbe\xbf\x9f\xbe\x48\x32\xbd\xd9\xfd\xe1\x3f\xfe\x35\xe4\x0f\x3f\x2e\xbf\xd6\x3f\xfe\x5c\xe9\xe9\xfb\xec\x87\xbf\x7f\x38\xc8\x47\xff\x8d\x7f\x16\x0a\xff\xf6\x0f\x4d\x6d\xbe\x41\xe9\x5f\x28\xfd\x9f\x29\xfc\x87\xaf\x2a\x3c\xff\xcc\x60\xf9\x66\xf0\xb7\x76\xf7\x2d\x1b\xfd\x7d\x7d\xd9\x37\xc2\x1f\xff\x30\x64\xfe\xed\x9b\xeb\xf7\xe7\xec\xb7\xfa\xff\xb5\xe7\xdd\x57\x22\xff\x52\xb3\xf7\xc7\xef\xbe\xfb\xe1\x6f\xd3\x6f\x3a\xdb\x66\xbf\x17\x61\xfa\xa2\xe3\x7f\x10\xe3\x9b\x91\xef\x5f\x39\xd1\x1f\xb0\xf7\x55\x8b\xb6\x4f\x44\x7f\x1d\xd7\x6c\x3a\xac\xac\xc9\x92\xa5\x9f\xbe\xff\xee\x17\x80\xbf\x7c\x56\x8d\xff\x6c\x8d\x3b\x7d\xe2\xf8\xba\x5b\xd1\xb7\x70\xec\x6f\x88\xbf\x4c\xfd\x36\x7f\xf7\xc3\x5f\xfb\xe7\xf3\xad\xc7\x7e\xb8\x4c\xbf\x7e\xfe\xe3\xf8\xff\x51\xa1\xfe\xaf\x4d\xf6\x5c\x7e\xfa\x19\x56\xcd\x9e\xcb\xe5\xbb\x61\xff\xc6\xa6\xf4\x39\x63\xe9\x87\x9f\xca\x7f\x09\x55\x64\x65\x5e\xfc\x8a\x59\xfc\xf8\xfa\x2f\x67\x35\x65\x97\x89\xdf\x9c\xf9\xb7\xcf\x36\x4c\x7f\x38\x3f\xcf\x16\xba\x5f\x3f\x9d\xa4\x29\xb3\x6e\x31\xb3\x64\xf9\xfe\x17\x0b\xfe\x62\x29\xff\x5a\xe6\xaf\x40\xbf\x16\xf6\xab\xdb\x1f\xdd\xf0\x7e\xea\x3f\xff\x7f\x1b\xec\x8b\x32\xfa\x2f\x1f\xbe\x0d\xf8\x1b\xf9\xff\x01\xf8\xef\xd9\xff\xfc\xcf\x1f\xfb\xc7\xcf\x05\x8a\xff\xc9\xb6\xfd\xb1\x51\xc2\x5f\xfb\xec\x1f\x06\xed\x3f\xe8\xf0\xfe\x7b\xcd\x7d\xf7\x6d\x55\x7d\xf7\xdd\xdf\x7f\xcc\xfe\xfe\x56\xfb\x5f\x7f\xc3\x89\x98\x35\x43\x36\xfd\x54\xfe\xff\x27\x29\x9d\xbe\xff\x68\x45\x3e\x7d\x8f\xfd\xf0\xe3\xfc\xad\x14\xf5\x8b\x38\xff\xef\x97\xc4\x33\xfb\xa3\xc4\x30\x4a\x53\xa6\x88\xa6\xaf\xea\x32\x97\xcf\xef\xb3\xff\xf3\xd3\x77\x7f\xfa\xee\x67\xdf\xee\xbe\x5f\xbe\x18\xd6\xff\xfb\xb5\xbb\x5d\xf1\xce\xcb\x97\x2f\x65\xbc\x7f\x37\xfe\x9f\xd9\x7f\xfd\x7f\xff\xdf\xf7\x9f\xf1\xef\x0f\xef\xfe\xf0\xdb\x60\xfe\x2b\xc0\x71\xf9\x7a\x20\x8e\xe6\xec\x1d\x25\xfe\x3c\xfd\x8e\xd6\xfe\x73\x1d\xf7\xf7\xce\xf5\xfd\x57\x37\xdf\xa6\xf5\x51\xe3\xf8\xfb\xf2\x87\xff\xfc\x7a\xe2\x5f\x90\xff\xfa\xb9\x90\xf2\xff\x7e\xc6\x7f\xa2\x5f\x3a\xd6\xfc\x1b\x53\x90\xff\xba\xfc\x94\xfd\xc7\xbf\x35\x0b\xfd\xb7\x59\x43\xbf\xd0\xf9\x92\xb2\xfc\x7a\xeb\xd3\x47\xcc\xf7\xde\xf4\x35\xc6\xe3\x87\x1f\x7e\xf8\x25\x9e\xff\x06\xd9\x65\xfa\x0b\xf2\x7f\x7e\xb7\x6c\x7d\xf3\xd1\x67\xec\xab\xe1\x6d\x8a\x86\xe8\xa3\x1d\x94\xf6\xce\xfe\xbe\x46\xf5\x13\xfc\xe3\xe5\x77\xcb\xf9\x7f\xbe\x1a\x98\x3f\x1a\x73\xd0\xfd\xb2\xf4\xed\xff\xfd\x1d\x93\x7f\xf9\xcb\xd7\x22\x7d\xc2\x7f\xb6\x3c\xf9\xa6\x92\x7e\x27\xeb\x5f\xcb\xd9\x9b\xa2\x61\xc8\xd2\x9f\xfe\xfc\x6b\xfb\x30\xf4\xa7\x9f\x7e\x9a\x7e\x6e\xee\x50\x3e\xbf\xff\x5f\x5a\xe3\xd7\x2c\x7d\xf6\x7d\xfd\x50\xc1\x3f\xf6\xce\x9b\xfe\x76\xb9\xf4\x3f\xc0\x3f\xd7\xf0\xfe\xdf\x70\xfa\x87\x04\x7f\xf8\xeb\xd0\x0f\xdf\xff\xf0\x9f\xe8\x7f\xfd\xce\x05\xfe\x99\x61\xbc\x57\xed\xc3\x9a\xd0\x7f\xc6\xc1\x37\xe7\xfd\xe7\xbf\x6b\x88\x5f\xe6\xfd\xf4\xbb\xf1\x75\x02\xcb\x32\xfd\xf8\xdd\x9f\xbe\xfb\x11\xf9\xaf\xdf\x19\xe9\x6f\x51\x7e\x74\x27\x4f\x7e\x67\xac\xfb\x8f\xf0\x8f\xff\x02\xeb\xd7\xf1\xe9\x9f\x7a\xcc\xb7\x79\xcc\x7e\x9c\xfe\xeb\x6b\x06\xf7\xcb\xe5\xdf\x72\xac\x1f\x3f\xec\xea\xdf\x74\xe2\x7f\xa2\xb6\xef\x7e\x84\xff\x88\xa7\xaf\x37\xb8\x38\x6b\x9a\xff\x1f\x7b\xef\xa2\xdd\x36\x8e\x24\x80\xfe\x8a\xcc\xed\x56\xc8\x08\x92\xf9\xd0\x5b\x86\xbd\x89\xe3\x4c\x67\x27\x8f\xbe\xb1\xbb\x7b\xfa\xca\x5a\x2f\x2d\xc1\x12\x27\x32\xa9\x06\xa1\xd8\x9e\x58\xfb\xed\xf7\xa0\x00\x52\x24\x01\x52\x72\xd2\xd9\x99\xbd\x67\x73\x4e\x64\x90\xac\x2a\x14\x80\x42\xa1\x50\x00\x0a\x7a\x03\xb4\x58\x37\x9f\x83\x78\xed\x2f\x5f\x92\xe5\x52\x65\x32\xb1\xba\xc4\x18\x77\x1d\xd1\x19\xa1\x70\xd9\x1b\x36\xee\x16\x01\x23\x46\xc9\xbc\x23\x1d\x5d\xf6\x22\x65\x6c\x90\x63\x2b\x92\xb0\x8a\x56\x1f\x42\xc1\x56\xe1\xcb\x4d\x34\x5d\xc7\xa6\x55\xb0\x5f\x79\x85\xbe\x26\x44\x9d\x3e\x67\x65\x32\xfc\x4c\x28\x3b\x8b\x34\x45\xbd\xc7\xb6\xf5\x44\x0d\xa5\x12\x29\x57\x51\x96\x52\xbe\x7b\xad\x62\x55\x87\xb5\x66\xb3\x60\xba\xf8\x94\x06\xfe\x9c\x7c\x84\x3a\xae\x28\xed\x3d\xb6\x0b\x32\xe1\x4f\x3f\xc5\x2b\x7f\x4a\xaa\x90\xf8\x94\x61\x17\x0b\xcc\xbf\xae\xcc\xb7\xf0\x22\x24\xf7\x2c\xb9\x05\x39\x4b\x26\x5e\x04\x37\xec\xc3\x5a\xf5\x40\x5d\x65\x6f\x62\x9a\xbf\x25\x9f\xc9\xd2\x2c\xce\xf6\x01\xf9\x4d\x55\xf9\xb7\xb8\xc5\xa9\x8e\xd0\xd1\x70\x3b\xb6\x3a\xb9\x41\x14\x05\x28\x82\xab\x12\x4c\x86\xc9\xd8\x9e\x58\x47\x0e\x6f\x6a\xec\x58\xc9\x85\x7b\x3b\x07\x05\x65\xf0\xb8\x47\x91\xd2\xa7\xc5\x35\xea\x8c\x51\xd3\x92\x8a\x6b\xc4\x9a\xcd\x7a\x3d\x38\xd2\x08\xc6\xa8\x38\xa2\x6e\x15\x08\x4d\x35\x65\xd0\x68\x20\x1b\x45\x15\x5a\x95\xca\xe1\xa3\x20\x53\xf2\x0a\x7e\xdd\x2d\x5c\x63\x7b\x32\x62\xdb\x1a\x50\x24\x3e\xf1\x6a\x66\xde\x1d\xd9\x9a\xae\x81\x15\xaf\x17\x64\xfa\xaa\xe8\xb4\xda\x2f\xdb\x86\x26\x5b\xa5\x43\xf1\x69\xa1\x8e\x13\x0d\x58\x53\xcd\xe3\xab\x3b\x28\x94\xeb\xb5\xb8\x88\xff\xe9\x45\xbb\xd7\x14\xad\x8c\x15\x55\x89\xe9\x46\xe1\x62\xd7\x11\x0c\xbe\x94\x57\x94\x7f\x05\x87\x7b\x57\x8c\x82\xa9\x91\x96\x7b\x9d\xb4\xdc\x97\x48\xcb\x7b\x72\x0f\x77\xea\xff\x8b\x4a\x4c\x51\xe3\x0a\xa6\x7f\xa6\x64\x4a\xf8\xdc\xfc\x2b\x39\x7f\x4a\x17\xdb\x93\x25\xae\xfb\x92\x6b\xd3\xbf\x42\x00\x30\x6b\x3a\xda\x92\x96\xfa\x5d\x11\x1d\x09\xb2\x4d\x07\x51\x9c\xb8\xc2\x8f\xb1\x7b\x42\xc6\xce\xa4\xe9\x0c\x6d\xc4\x8e\xec\x13\x86\xed\x21\x2b\x6d\x95\xb2\x66\xa0\x47\xf6\x09\xc5\xf6\x90\x96\x75\x13\x45\x6d\xcb\x7e\xa1\x16\x8c\x2a\x35\x8d\x59\x45\xf7\xbe\xc8\x8e\x84\xb9\x3b\xc8\x09\xdc\x98\xef\x70\x8d\xae\xa8\xee\xbd\x47\x48\x18\x21\xde\x84\xaf\x82\x78\xb5\xf4\x1f\xd4\x5a\x1d\xc5\x77\x01\x9b\x2e\x4c\x18\xa5\xbe\x4c\xfd\x98\xd4\xec\x21\xe7\x41\x37\xd2\x7c\x0c\xe6\x0b\x65\x8e\x71\xaf\x94\xd7\x42\x4a\x3d\x3f\x34\x9c\x11\x2b\x0e\x4a\xbc\xf2\xb7\xf7\xaa\x17\xf2\xe2\x92\x6e\x32\x6b\x24\xae\x4a\x06\xc6\x9c\x52\xc6\xde\x92\x9b\xaf\xe4\x4b\x5b\xbb\x65\x0c\xb8\x82\x01\x9d\x10\x3d\x89\x8e\x37\xcc\x38\x39\x8b\x63\xac\x90\xeb\xa6\x2e\x0f\x7a\xac\xe9\xb3\x02\x8b\xd1\xe0\xf6\x9c\xf9\x94\x8f\xcf\x4a\xc1\xb9\x41\x81\xdf\xf9\x6c\xd1\xba\xf5\xef\x95\x3e\xcf\xbf\x36\x29\x52\x7b\xfe\xc3\x2c\x88\x57\xe5\x78\xfc\x2b\xe0\x15\x67\x0e\x52\xe6\x14\x5d\xa5\x13\xb5\x6f\x11\xb3\xbc\x6c\x7c\x83\x5c\xe4\xdb\xb8\xbc\x11\x8b\x78\x1b\x9d\x51\xc8\x41\x4b\x8c\xc2\x3f\xdb\x24\x14\xda\xab\x28\x2a\xd9\x09\x46\x19\x8e\x36\x83\x66\xd0\xd0\x6b\x9b\xac\x60\x96\xcd\xfd\x6f\xfd\xfb\xb7\x00\xb0\x5b\x42\x35\x03\x14\x64\xaf\x0c\xf6\x42\xc4\x9a\x88\x36\x9b\x28\x68\x36\x4b\x8c\x52\x69\xb9\x52\x64\x17\xbf\x5f\x2f\xfd\xf0\x13\x34\xdd\x81\xad\x4e\x9f\x72\xd8\x01\x72\x94\x39\x7f\xf5\xac\x7c\x7f\xe0\x6c\x83\x14\xd4\xb3\xb8\x0c\xf2\x7f\xb3\xc8\xfc\x33\x05\x06\x3b\x7a\x89\xd1\x18\x1c\xf9\xc6\x6e\x38\xdf\x24\x2c\xf4\x9f\x29\x2c\x15\x93\xce\x6f\x16\x96\xfd\xe6\x97\x7b\x4d\x24\x15\xad\x5b\xd6\x26\xc9\x9c\x72\x1d\x2f\xcc\xa0\x38\x45\x87\xca\x28\xcc\x2a\xf7\xb3\x90\x72\x0d\xa6\x2b\x6e\xb1\x0e\x44\x5e\x17\xd1\xaa\x94\xd3\x27\x13\x93\x1d\xaa\x42\xd4\xac\xa7\xc8\x51\xca\xe1\x9f\x24\x4f\xe2\x93\x32\x7d\xfe\xae\xf5\x2b\xab\xe4\x4f\xab\x62\xde\x5e\xff\xaa\xf5\x0b\xbd\xe7\xff\x47\x3e\xa2\x71\xd0\x68\x4c\x70\x54\xe5\x0a\xf8\x93\x66\x33\x2b\x4a\x3e\xeb\x66\x33\xd3\x85\xcf\x67\x88\xdf\x38\xef\xfc\xbe\xbe\x91\x9f\x92\x29\xec\x47\xb2\xf4\x59\xf0\xf9\x6b\xb8\xfc\xee\x0e\x1c\x4a\x56\xc4\x67\xa9\x5b\x21\xbd\x49\xad\xba\xf1\x54\xc1\x2c\x5f\x79\xd2\x75\xd9\x07\x0b\x05\x98\xea\x16\x36\x1f\x1f\x8b\x6f\x67\xe4\x26\xb3\x1e\x23\xc4\x46\x45\xe5\x02\x19\x14\xb4\x1a\x09\x67\xaf\xc8\xe7\x60\x4a\xb6\x37\xa1\xe7\x8a\xc5\x0b\x73\x6c\x27\xfb\xc3\x72\x42\x77\x13\xdc\x9f\x18\xc7\x86\x6a\xb2\x88\x6f\x6a\x6d\x07\xb1\x69\xc0\x06\x12\xc3\x2a\xae\xe5\x72\x3e\xcc\xa0\x75\x6a\xb7\xce\xce\x4f\x1b\xc6\xf8\xd8\x1e\xb9\xbd\xee\xc8\x9e\x1a\xca\x4a\x23\xa7\x42\xef\x3f\xb3\xe6\x3a\x0c\xa6\xd1\x8c\xec\x41\xac\xdf\x19\x0d\x3a\xa5\xc4\x96\x41\xb8\xbe\x2f\xa1\xc2\x8b\xdf\x30\x4a\x10\xe3\x29\x25\x24\x34\x2c\xc5\x15\xa7\x32\xe0\x8d\xda\xb6\x6d\x7b\xc0\x83\x96\x96\xac\x17\xb9\x5f\xb0\xaa\xb4\x5a\x90\x84\x95\x5d\x55\x71\xe2\x8c\xdc\xea\x6a\xd8\x59\x98\x93\x2e\x2f\x83\xba\x18\xf4\x4d\xaa\xe6\x41\xa7\x6a\xbe\xd5\x5f\x98\xe7\xf1\xd7\x6f\x57\x35\xff\xca\x6e\xf0\x9f\x7e\xd5\x7a\x03\x79\x89\xa0\x3c\x3c\xc1\x8b\x44\xc6\x4e\xf2\xc2\x99\x68\x5b\x42\xba\x0d\xbf\x77\x39\xb1\xf0\x44\x7e\x5f\xd5\xcd\xfc\xeb\xd3\x25\xf1\x69\x79\x5b\x63\xfb\x44\x4c\x15\x6a\x05\x7a\xcc\xbf\x8e\xd5\x95\xe2\xa1\xc7\xf5\x9d\xca\x0e\x87\xc6\x5f\x36\x45\xa3\x91\xc0\xd6\x84\xe2\x2e\xe1\xd4\x1f\xeb\x58\xdb\x61\xc3\x1e\xb1\xa3\xe4\xc3\xd6\xd1\x27\x29\x98\x63\x32\x66\x93\x89\x95\x6e\x9f\xd0\xaa\x5c\x20\x6e\x9c\x94\xaa\x64\x4b\x75\x2a\x29\xae\x20\x7f\xc5\xad\x4a\x9f\x73\x7b\x0a\xd6\x0a\x3e\xb0\x2b\x5d\x3e\x31\x61\x30\x24\xc6\x84\x99\x36\x8a\x5a\xaf\xce\x5e\xbf\xf8\xe5\xed\xc5\xd5\xe9\x4f\x2f\x3e\x9e\x9f\x5d\x28\x0d\x9f\x85\x77\x9e\x08\xef\x3e\x11\xde\xd3\xc0\xe7\x7d\x8b\x45\x64\xff\x33\x99\x9d\x46\xcb\x58\x27\x5d\xc5\x9c\x28\x89\x83\x7f\x10\xd3\xf1\x5c\xe5\x4b\x74\x17\xe7\x32\xea\x16\x33\x8a\x68\x30\x0f\x42\x10\x8e\x7c\xfd\xf6\x8a\x90\xf9\x8d\x3e\x05\x68\xc7\x1d\x66\x73\x51\xb2\x59\x46\x73\xd3\x38\x27\x34\xf0\x97\xb5\x55\x44\x59\x8d\x92\x3f\xd6\x24\x66\x64\x56\xcb\x34\x74\xed\x13\x79\x58\xf9\xb3\x96\xa1\x54\x66\x06\xe8\xaf\x00\x93\x1e\x51\xd8\xc2\x7c\x0e\xc8\x1d\xa7\xdd\x8a\x1f\xc2\xe9\x39\x58\xf8\x2f\x28\xf1\xcd\x5c\x05\x0c\x86\x82\x5f\xe2\xc9\x84\x6d\xbb\x69\x4a\x69\x86\x7b\xc7\x7e\x17\xad\x63\x82\x61\x77\xfc\x58\xdd\x82\xf1\x99\xb9\xb6\x04\x71\x88\x57\x02\x14\x46\xf4\xd6\x5f\x0a\x28\xb0\x63\x1c\xe2\x15\x61\x6e\xf9\xd7\xb3\xcf\xb0\xf1\x56\x2d\x5a\xb2\x8b\xa2\x70\x42\x82\x84\xfe\xf5\x92\x34\x01\xb7\x49\x00\x59\xad\xba\x18\x76\xcd\x06\x51\xf8\xce\x0f\xfd\x39\xa1\xad\x59\x10\x73\x34\x53\x9d\xcd\xf1\x46\x7a\x19\xc0\x7e\xd2\x1a\x8b\x6a\x40\xb7\x26\xe8\xb6\x8c\xbc\xe7\xd6\xb6\xdb\x6a\x07\x0c\x67\xaf\xa3\xe9\x3a\x2e\xca\x86\x6d\x77\x8a\xb0\x6b\x76\x23\xea\x43\x01\x55\x44\x27\x9e\x53\x3d\xa8\xa3\x52\xe5\x16\x8a\x0e\xd8\x55\x40\xc5\x0c\xe8\xa7\x60\x36\x23\xb0\xab\x3c\x47\xb9\x2d\xa5\xa4\xdd\x4b\x44\xa3\xdd\x1b\x06\x37\xe6\x81\xb6\x61\xd3\x0d\xff\x60\x57\x6b\x37\xa4\x21\xb0\xac\x8b\x9f\xc4\x7c\x10\xbc\x5f\xca\x27\xfe\x12\xdd\x2b\xf2\x88\x1e\x14\x48\x94\xce\x80\x95\x9a\x4b\x27\xdb\xd9\xf9\xae\x1e\x4a\x4e\xf1\xf9\xf0\x51\x04\xe0\xef\x36\xc5\x19\x39\x25\x5c\xaf\x29\x22\x54\xda\x07\xf5\x7d\x42\x5d\x77\x8b\x17\xd1\x9d\xd0\xf7\xa6\xb5\xd9\xc0\x71\x80\x9a\x3a\x5a\x28\xb2\xb7\xdd\x7e\x87\x0f\xec\x4d\x71\xda\xf4\xed\xc3\x5f\x4a\xe3\x9f\x3a\x00\x3a\xf9\x31\xc3\xf1\x34\x9b\xfa\xb4\x56\x5a\x3a\x9c\x28\x5f\xe4\xd8\x51\x06\xaf\x1d\x50\x90\xde\x50\x49\x91\xf6\x1e\x70\x9c\x27\x0d\x38\xce\xd3\x07\x1c\xa8\x65\xae\xcd\xae\xfd\xe9\x27\xae\xd2\x84\xd8\x3d\x69\x9c\x51\x2c\xc3\xef\x39\xce\x68\x72\xdb\x8e\x30\xea\xc7\xec\xc8\xa2\x7e\xcd\x8d\x29\xca\x57\x75\x4c\x49\x0e\x3f\x7d\xdd\xb0\x22\xb0\xcc\xa7\x0c\x13\xce\xfe\xc3\x44\x11\xb4\x62\x98\x70\x9e\x32\x4c\x38\x4f\x19\x26\xec\x3d\x86\x09\x6d\x0b\x95\xac\x96\x28\xfb\x01\x00\x58\x0e\x19\xba\xc1\xa2\x04\x41\xbb\x23\x59\x2c\x04\x97\x20\xc0\xf0\xb2\x6b\x26\x23\x81\xd5\xb5\xd7\x32\xaa\xfa\x4d\x90\x17\x51\x19\x1b\xdb\x01\xaa\x62\x4c\xaa\xc4\x4d\x86\x2d\xcd\x24\x48\x8f\xc6\x3f\x95\x8c\x45\x70\x86\x76\x97\x94\xc7\x84\xbd\x5c\xdf\xdc\x10\x65\x4b\x03\x34\x9a\xd2\x4b\x28\xb9\xa1\x24\x5e\x98\x8a\x45\x57\x32\x1b\xdd\x7b\xfc\xcc\x8e\x93\xd6\xd7\x8d\x93\x4e\xf1\x70\xcc\xc2\xa7\x25\xde\xb7\xe0\xc6\x74\xe0\x9c\xa6\x18\x17\x1f\x1f\xed\x03\x61\xea\x66\xfc\x8d\x99\xfd\x3d\x28\xc0\x36\x8a\x94\x91\x49\xec\x65\x3e\x3e\x76\xfa\x48\x9d\xd7\x24\x1f\x07\xf5\x8e\xe3\xa0\x10\x77\x1c\x47\x39\x56\x22\x60\x46\xc1\x11\x1d\x05\x8d\x86\x05\x3e\xf8\x60\x62\x1d\x63\xcf\xae\xd7\xd9\x11\xf6\x7a\x27\x31\x66\x4d\x0f\x36\x13\xb5\xc5\xbb\x76\xef\x24\xc4\xac\xd9\x86\x77\x03\xf1\x6e\xc0\xe1\x4c\xd6\xc0\x7d\xab\x39\x80\x0f\x8e\x2d\xbe\x38\x36\x07\x97\x9f\x1c\xdb\x1e\xc2\xc6\xfd\x13\x53\x29\x8c\xf4\x74\xea\x0b\x93\x7e\xac\x28\x8c\x84\xb1\x86\x0e\xe4\x10\x3d\x62\x67\xd8\x4e\x92\xee\xb0\x93\x24\xdb\xc3\x5e\x92\xec\x0f\xfb\x29\x6c\x77\xe8\xba\xe2\xa1\x8e\x9b\xee\xd0\x6d\xa7\x0f\xde\xd0\xed\xa4\x0f\x9d\xa1\xdb\x4b\x1f\x06\x43\xb7\x9f\x3e\x38\xbd\xa1\x37\x80\xa7\x1d\xec\x0f\xdb\x02\xac\xaa\x14\x43\x4f\x10\x76\x61\x06\x14\x34\x9c\xc9\x89\x19\x34\xb0\x8b\x9a\xbc\x74\xa6\x92\xc3\xad\xcf\xa6\x0b\xd8\x06\x6e\xba\x9d\x4e\x9d\xb7\x22\x92\x89\x86\xb3\x4d\xba\x13\xcb\xaa\xd7\xcd\x98\xe7\x6c\x21\x4e\xd0\x82\x8a\x11\x60\xf0\x85\xe1\x04\x18\xbb\x13\x6b\xd8\xae\xe4\x23\xfc\x36\x3e\xc2\x52\x3e\xc2\x22\x1f\x8e\x2d\x05\xe7\xdb\x64\xa3\x38\x64\x53\x1a\x51\xd3\xf8\x25\xfc\x14\x46\x77\x61\xed\xfc\x2f\x1f\x6b\x7e\xd2\x61\x87\xb5\x1f\x67\x2d\x03\x69\x0e\x69\x89\x5e\x83\xa3\xa3\x23\xa7\xff\x18\x1f\x1d\x0d\x1e\x43\xa1\x2f\x4a\x00\xf5\xcc\x14\x57\xb5\x3f\x07\x53\x72\xce\x7c\xb6\x56\x34\xc5\x9f\x65\x11\xab\x43\x7c\xd1\x03\x6c\x34\xd4\xb3\x33\x8e\xd5\x30\x46\xea\x87\x7b\xf8\xf0\xd1\x28\xd7\x95\xca\xd8\x5f\xcc\xce\x0e\x8d\x6a\x5f\x4a\x11\xe1\xeb\xd8\xcb\x3b\xee\xa2\x1b\xf6\x91\xcf\x3d\x72\x95\x5c\x3d\x97\x2d\x3f\x9a\xa4\xf9\x98\x33\xc7\x8b\x1f\x15\x97\xcf\x9f\x6a\x2e\x57\x10\x4b\x27\x3c\xe5\x16\x85\xc2\x4b\x95\xcd\x20\x46\xdb\x22\x46\xb5\xc0\xef\x34\x8f\x1e\x54\x1e\xe4\xd1\x46\xad\x29\x31\x5f\x92\xcf\x64\x59\x8a\x13\xe3\x31\xc7\x9a\x28\x8e\x5b\x51\x17\xe7\xec\x61\x59\xb6\x52\x70\xe4\x9c\x38\x43\x70\x23\x4b\xa9\x66\xe9\x9c\xb2\xd4\x55\xfa\x61\x05\x74\x8c\xe9\x96\xba\x81\x8c\xeb\x65\x34\xfd\x64\x14\x5c\x93\x7a\x4b\xa2\x94\xc6\x3a\x9c\x11\xca\xad\xa1\x3c\x9d\xce\xb0\xac\xd3\x94\xf1\xe2\x53\xc3\xda\xc8\x3d\x97\x3f\xba\x18\x3b\x45\xcd\xa6\xa0\xbe\x5c\x06\xe1\x27\x03\x51\xd5\xfb\x2d\xe4\xee\x23\x99\x17\xd7\x25\xb4\xca\x48\x5d\x66\xdc\xca\x9d\x29\x97\x55\x2d\x55\x9e\x72\x12\x08\xeb\x1a\xf5\x3a\x2c\x73\xe8\xc4\x11\x36\x40\x17\x2b\x03\xa6\xd7\x9a\xb5\x08\x55\x6a\xd4\x73\x15\x7c\xfa\x2d\xfb\x4d\x45\x01\x61\x92\xfe\x37\x75\x0b\x82\x0e\xec\x77\x45\xe2\x15\xc7\x0a\x8b\xe8\x1e\x99\x2a\x5d\x47\x70\xf1\xf8\xa8\x29\x96\x96\x91\xc7\x47\x3b\x3d\x63\xfd\x26\x5c\xad\xd9\x4f\x22\xa4\x01\x8e\xe1\x04\x71\x61\x2b\x4c\x72\x04\x9a\x65\x36\x6e\x80\x41\x1a\x24\xfb\x74\x21\xae\x09\x39\x0a\xc6\xf6\x04\x5a\x93\x1c\x07\xe3\x68\x32\x76\x26\xdb\xe8\x25\xdc\xae\x1d\x45\xc7\x98\x8e\xe0\xd0\xab\xd8\x51\x7b\xb3\x8c\x22\x6a\x9a\xb4\x11\x59\x87\xae\x85\x38\x1a\x13\x68\x98\x35\x1c\xf0\x09\x41\xf0\x06\xa0\xcd\x38\x6d\x2b\xa1\x68\x8f\x22\xd8\x3e\x9f\x64\xb0\x49\xd9\xa4\x9c\xcd\xe4\xe8\xdc\x31\x6e\x7b\x1d\xb7\x5e\x37\xc9\x11\x6e\xb7\xdb\xbd\xc7\xc7\x81\x6d\x73\xe3\x85\x40\xca\x15\x29\x72\x8c\x1d\x67\x60\xb7\xeb\x75\x0e\xe6\x3a\x03\xa7\x5e\x77\x5c\xaf\x03\x46\x3a\x7c\x6e\xb7\x6d\xcf\x85\xcf\x9d\x8e\x6b\x7b\xf0\xae\xeb\xf5\xda\x02\xa5\xdb\x76\x3b\x1d\xf1\xae\x63\x73\x43\x99\xbf\xeb\xd8\xed\x41\xf2\xae\xe7\xca\x77\x8e\x97\xc0\xb9\xfd\x04\xce\xeb\x75\xe5\xbb\x8e\x64\xa1\xdb\xe9\x38\xb6\x60\xcb\x73\x12\x64\x67\xd0\xed\xda\x02\x1b\x92\x7d\x78\xeb\x76\x5d\xa7\xed\x88\x8e\x1d\xe0\xf1\xb8\xd7\xed\xa3\x7e\x6f\x30\x41\x63\xc7\xe9\x74\x90\xe3\x74\xfa\x90\xee\xda\xc8\x71\xba\x0e\x4f\xb7\xdd\x0e\x72\xda\x5d\x80\x69\xf7\x1c\xc4\x7f\x44\xda\xe3\xe9\xb6\x48\x77\x79\xba\x27\xd2\x03\x9e\x06\xf8\x8e\xd7\x45\x4e\xc7\x13\xe9\x8e\x8b\x9c\x4e\x07\x60\xba\x8e\x83\x9c\xae\x67\x43\xba\xdd\x47\xfc\x87\xa7\x7b\x1d\x1b\x39\xbd\x2e\xd0\xec\x75\x7b\x3c\x2d\xde\xf7\xf8\xfb\x9e\xc7\xd3\x7d\xbb\x87\xf8\x8f\x48\x0f\x78\x1a\xe8\xf7\xdb\x36\x72\xfa\xdd\x2e\x4f\x0f\x3a\x7d\xe4\x0c\x00\xd7\xb5\xdd\x1e\x72\x6d\xaf\xc3\xd3\x9e\xdd\x41\xae\x67\x77\x21\xdd\x6d\x23\xfe\x23\xd2\x03\xe4\x7a\x3d\xf1\xbe\xef\x20\xfe\x23\xd2\x1c\xbe\x0f\x74\xda\xb6\x8b\xdc\xb6\xed\x41\xda\xf3\x10\xff\x81\xf4\x80\xbf\x1f\xb8\x22\xdd\x43\x6e\xc7\xe6\xe5\x72\x3b\xf6\x80\xa7\x07\x90\xf6\x6c\xe4\x76\x3c\xa0\xd9\xe9\x3a\xc8\xed\x74\x01\xbe\xeb\xda\x88\xff\x88\x74\x87\xa7\x81\x87\xae\xe7\x20\xb7\xeb\x09\x18\x8f\xbf\xf7\x7a\x90\xee\xb9\xc8\xed\x42\x3d\xb8\xdd\xfe\x00\xb9\xdd\x01\xe0\xf6\xda\x7d\xc4\x7f\x20\xdd\xf1\x90\xdb\x83\x7a\x76\x7b\x9d\x01\x72\x7b\x5d\x01\xd3\xed\xf0\x34\xd4\x43\xaf\xdf\x45\x6e\xaf\x0f\x30\x7d\xa7\x87\xf8\x0f\xa4\x7b\x5d\xc4\x7f\x44\x7a\xc0\xd3\xc0\x7f\x9f\xd7\x49\xbf\x0f\xf9\xf6\x07\x1e\xe2\x3f\x3c\x3d\xe0\x75\x32\xb0\x81\xcf\x41\xbb\x8b\xf8\xcf\x04\x8d\x3d\xdb\xee\x23\xfe\x03\x69\xd7\x41\xfc\x87\xa7\x1d\xaf\x8d\x3c\xc7\x03\x18\xa7\xed\x22\xcf\x69\xb7\x45\xba\xcb\xd3\x03\x48\x77\x7a\xc8\x13\x72\xe8\xb9\x5d\x1b\xf1\x1f\x91\xf6\x78\xda\x83\x74\x8f\xbf\xef\x89\xf7\xbd\x2e\x4f\xf7\x20\x3d\xe8\x23\xcf\x1d\x00\x1d\x6f\xe0\x21\xcf\x1b\xf0\xf2\x7a\x6d\xbb\x83\xf8\x0f\x4f\xf3\xb6\xe0\x3f\x22\xdd\x47\x5e\xa7\x2d\xd2\x9c\x9f\x4e\x9b\x97\xc5\xeb\x7a\x1e\xe2\x3f\x22\xdd\x45\x5e\x57\xbe\xef\x74\x90\xd7\x85\xb6\xf3\x7a\x5d\x07\xf1\x1f\x91\x6e\xf3\x34\xe4\xdb\xeb\xf1\xf7\x3d\x01\xd3\xe7\xef\xfb\xf0\xbe\xcf\x61\xfa\x50\xff\x1e\xaf\x43\x4f\xd4\xa1\xd7\x1f\x74\x78\x5a\xbe\xef\xf1\x34\x94\x65\xd0\xf1\x90\x37\x00\x79\xf6\x06\xdd\x3e\xf2\x06\x82\xe6\xa0\xd7\xe6\x69\x80\x1f\x70\xfa\x83\x01\xf0\x30\x18\x78\xa8\x6d\xbb\xbc\xde\xda\xb6\xd7\x47\xfc\x87\xa7\x9d\xb6\x83\xda\xa2\x9e\xdb\xbc\x9e\xf9\x0f\xa4\x3b\x36\x6a\x3b\x1d\x47\xa4\x3d\x9e\xf6\x20\xdd\x6f\xa3\xb6\xd3\xe7\xf4\xdb\xed\x76\x1f\xb5\xbb\xd0\xd7\xda\x83\xce\x00\xf1\x9f\x09\x1a\x77\x06\x76\x17\x75\x06\xd0\xbe\x9d\x81\xd7\x47\x9d\x01\xd4\x61\x67\xd0\xb3\x51\x67\x00\xfa\xa1\x6b\xdb\x2e\xea\xda\xd0\x5f\xba\x76\xb7\x8f\xba\x36\xd4\x4f\xd7\xee\x39\xa8\x6b\x43\x7b\x75\xed\x7e\x17\xf1\x1f\x91\x1e\xa0\xae\x0d\x6d\xd7\x75\xec\x01\xe2\x3f\x90\xee\x74\x50\xd7\x01\x79\xee\x7a\x8e\x87\xf8\x0f\x4f\xb7\x3d\x17\x75\xdb\x5e\x5b\xa4\x07\xa8\xdb\x06\x1e\xba\xed\x8e\x8d\xf8\x8f\x48\xf7\x78\x1a\xe8\x74\x7b\x03\xd4\xed\xf6\xe1\xfd\xc0\x71\x51\x77\xe0\x74\x20\xdd\x6d\x23\xfe\x23\xd2\x5d\xd4\x1d\xf4\x04\x4c\x8f\xc3\x40\x9d\x77\x07\xbd\x3e\x4f\xf3\xf2\xf6\x6c\x67\x80\x7a\xb6\xcb\xf9\xe9\x75\x9d\x2e\xea\x89\x3e\xdb\xeb\xf6\xfa\xa8\xd7\x85\xfe\xd2\x77\x6d\x0f\xf5\x5d\xa8\xb7\xbe\xeb\xb5\x51\xdf\x85\xb6\xe8\xbb\xfd\x3e\xea\xbb\xd0\x5e\x7d\x2e\xab\x7d\x0f\xea\xa7\xdf\xb6\x6d\xd4\x6f\x83\x7e\x70\x5c\xcf\xb3\x11\xff\xed\xc0\x53\xbb\xed\x20\xfe\xcb\xf9\x68\x7b\xb6\xd3\x46\xf0\x2b\x9f\x06\xf0\x34\x10\x4f\xed\x0e\x7f\x82\xd6\xed\xb6\x5d\x5e\xb5\xfc\x97\x3f\x75\x6c\xb7\x8d\xba\x1d\x1b\x34\x71\xb7\x63\x77\xba\xfc\x49\xd4\x4b\xc7\xe5\x15\xc3\x7f\xe1\xa9\xe3\xf2\x27\xa1\xab\xba\x7d\x7b\xd0\x43\xfc\x17\xbe\xf5\x1d\xdb\x41\xfc\xd7\x95\x4f\x7d\xfe\xe4\x08\x48\xa7\xe3\xf2\xa7\x4e\x5b\x3e\x0d\xe0\x49\x8c\x2c\x03\xa7\xed\x21\xf8\xd3\x91\xcf\x30\xd6\x0c\x1c\xa8\x69\x48\x88\xef\x72\x24\x1a\xb8\x0e\x1f\x7f\x06\x2e\xb4\xb4\xe3\x0c\xbc\xae\x8b\xe0\x0f\xa7\x3e\xe0\xc3\x44\x07\x89\x3f\xf2\xd9\xeb\xf2\xe7\x2e\x70\x3d\x70\x7a\xbd\xae\xcd\x9f\x07\x83\xc1\x64\x32\x92\x83\x7b\x6a\xa4\x04\xe9\x78\x6f\x63\x8c\x83\x13\xd2\x0a\xd7\xcb\x61\x70\xe4\xb9\x8f\x8f\xc1\x31\x76\xdc\x5e\xbd\x1e\x1c\x39\x5d\xfb\x84\xb4\xa6\x51\xc8\x68\xb4\x1c\x32\x33\xb0\x4e\xec\x21\xe5\x7f\xdc\xa1\xb3\xd9\x98\x5f\x38\x92\x8d\x12\x00\x7b\x63\x7d\x9f\x58\x33\x21\xb9\xab\x7d\x24\xf3\xb3\xfb\x95\x69\x98\x27\xc3\xff\x7c\x1c\xff\xe7\xe5\xe5\xcc\x6f\xfe\xe3\xf2\xb2\xd5\x9c\x34\x2c\xd3\x5c\x30\xb6\x8a\x4f\x86\x97\x97\x87\x97\x97\x87\x96\x69\x9a\xe3\x1c\xc0\xe5\x65\xcb\x1c\x8b\xc7\xc9\x17\x17\x75\x37\x96\xf5\x68\x9a\x97\x97\xb3\x2f\x0e\xf2\x36\x97\x97\x2d\xeb\x0b\xff\x23\x1e\xad\x47\x73\x19\x4d\xfd\xe5\x22\x8a\x99\x65\x99\x43\xf1\xbe\xb3\xb1\x4e\xcc\xcb\xcb\xc3\x31\xe4\x71\x77\x79\xd9\xba\xbc\x6c\xfe\xf8\xdf\x93\xe7\xd6\x73\xf3\xf2\xf2\x64\x6c\x37\x07\xf0\x7a\x7c\x79\x39\xb9\xbc\x34\x2f\x2f\x2d\x00\x3c\xb9\xbc\x3c\xf8\xb7\x7f\xff\xe1\xc7\xfa\xb3\xe7\x0d\x34\x1c\xfd\xf7\xe5\x25\x16\xa8\x93\xe7\xd6\x89\xf9\x6f\x5f\x85\x66\x99\x3f\x40\x0d\x64\xf8\x98\x34\x2c\xc3\x42\x11\xb6\x4b\x63\xf1\x24\x26\x71\x28\x0e\xb2\x7e\x7a\xe7\xb3\xe9\x82\xd0\x37\x33\x1c\x49\x13\x98\x46\x77\x32\xa2\xc2\x9b\x59\x8c\xc7\xc9\x26\x82\xe5\x16\x78\xfb\x96\x92\x79\x10\x33\x42\x33\x94\xcc\x00\xc1\xa4\xf3\x0b\xb8\xb4\xde\x84\x33\x72\x3f\x74\x36\x96\x36\xe0\x0f\x63\xfe\x74\x71\x11\xbd\x8a\x6e\x0b\x41\x7f\x44\x96\xb3\x68\xba\xbe\x85\x00\x89\x5b\xd6\xe2\xe2\x71\x48\xce\x57\x70\xf3\xf0\x31\xba\xdb\xd2\x60\x19\xf7\x4f\x42\x24\x17\x1a\x2c\x5f\xc8\x31\x9b\x8c\x68\xbd\x2e\x62\x32\xc9\x60\x12\xe9\x39\xb8\x22\x24\xce\x44\x9c\xd8\xd6\x8c\xe0\xa0\x75\x1d\x84\x22\xf4\x0f\x62\x16\x22\xad\x8b\x37\xef\xce\xae\x5e\x9e\xbd\xfe\xf0\xf1\xec\xea\xed\x9b\xf7\x7f\x7d\xf3\xfa\x77\xc5\xaf\x42\xd8\x4f\x0f\x5c\xfe\x65\x7b\x24\xf3\x09\x75\x12\x93\x6d\x80\x71\x34\x49\x82\xa9\x61\x52\x4e\xf0\x57\x7f\x19\xcc\x84\x1f\xc3\x5f\x2e\xaf\xfd\xe9\xa7\x3d\xe8\x7e\x56\x91\x48\x71\xba\xa5\xb4\x3a\x2e\xf6\xf7\xe0\xc6\x14\x11\xfc\x64\xf4\x11\x8a\xbf\x6c\x92\x2a\x55\x64\xef\x00\xe3\xa8\x5e\x3f\x60\x16\x5b\xd0\xe8\xae\xc6\xfb\xf9\x99\xf0\x30\xca\x42\xd6\x6e\xd7\x31\xab\x5d\x93\x9a\x50\x19\x33\x23\x51\x09\x5f\x02\x19\xb5\x50\x25\xda\x68\x20\x4a\xe6\xe4\x7e\x48\x90\xa4\x32\x64\x28\x23\x94\xb4\xb5\x7d\x40\x6a\xa1\x87\x54\x53\x13\x68\x45\x83\x88\x06\xec\x61\x48\x5b\x49\x92\x4f\x09\x13\xc5\x2a\x58\xf1\x67\xb3\x0c\x27\x17\xd1\xdb\x20\xe6\x4a\x13\x05\xad\x60\x96\xaf\x49\x2d\x68\xd1\x8d\x69\x1f\x24\xae\xca\x6c\x53\xc9\x19\x64\x76\x9f\x75\x29\x50\xd3\x19\xb1\x63\x6c\x8f\x58\xb3\x69\xc1\x76\x83\x84\xf7\x23\x0d\xce\x98\x4d\xd2\xef\xd9\x90\x56\x35\x0d\xf9\xe4\xc0\x05\x9c\x88\x22\x89\xc7\x57\x07\x62\x03\x40\xd6\xdd\x9b\x83\x82\xf3\x3b\x44\x39\xb1\x54\x2d\x69\xd9\xb2\x6f\x0f\x08\x6b\xca\x0f\xdb\x27\x52\x8d\x50\x2c\x6c\x30\xe3\x73\x59\x2b\xd7\x84\xda\x52\x22\xc7\x42\x07\xf6\x28\x9d\x38\xe7\x9b\x52\xa7\x88\x72\x01\x0b\x85\xfe\x1a\x93\x09\x44\xba\xb2\xbe\xb0\x6c\x10\xd8\x51\x52\x14\x8a\xed\x11\xad\x28\x0a\x6d\x34\x72\x11\x0a\xf3\xc5\xa1\x93\x74\xb9\x6b\x16\xbd\x4d\x39\x32\x19\x0a\x20\xc0\x56\x94\x06\x66\x04\xd1\x0a\x34\x32\x9e\x6e\x41\xd1\x05\x5e\x8c\x80\x7d\x0d\x96\x99\x2b\x0d\x62\x28\xb7\xe7\xf6\xf1\x51\xd9\x32\x26\x02\x27\x06\x21\x90\x6a\x82\xbf\xcc\xe2\x86\x43\x88\xed\x51\x78\x94\xf0\x39\x0a\x1b\x0d\x2b\x36\x43\x4b\xd6\xfa\x66\x53\xd0\x9f\xb9\x62\x16\x46\x11\x51\x9d\xe3\x09\x0a\x30\x13\xad\x1c\xa1\x18\x93\xd6\x74\x11\x2c\x67\xef\xa3\x19\x89\x51\x28\x23\x59\x4a\xbe\x85\x4a\x30\x59\x0b\x34\x07\xd4\xd8\x41\xf8\xf8\xc8\x95\x58\x98\x74\x38\x29\x27\x34\x6d\x31\x1f\x87\x63\x23\x5c\xdf\x5e\x13\x6a\x1c\x60\xce\x55\x74\x53\x63\x19\xed\x72\x62\x0f\xb3\x8f\x13\xb4\xc4\x61\x2b\xe0\xc9\x86\x9f\x2c\x54\x2e\xb0\x3d\x5a\x1c\xa5\xad\xbc\x48\x5a\x79\x8a\xe3\xf1\x62\x82\xd6\x78\x9a\xe3\x13\xb0\x3f\xdc\x98\x3e\xf0\xb8\x3e\xc6\xb6\x00\x4f\x16\xb8\xa7\x94\xf8\x8c\xbc\x08\xa7\x8b\x88\xca\x50\x84\xa6\x8f\x58\x32\x68\x48\x69\xc8\xd3\x4c\x0f\x5c\x26\x4c\xf1\x2e\xe3\x61\x8c\xa7\xad\x30\x9a\x91\x8b\x87\x55\x12\x55\x4d\x06\xfb\xe4\x55\x68\x4e\xd1\x4a\xec\x41\x82\xfc\x67\x78\xca\x09\x1b\x2f\x0c\x8c\xf1\x0c\xf0\xde\xfb\xb7\x64\x5b\x69\xb3\x56\x10\x86\x84\xfe\x74\xf1\xee\x2d\x36\x0c\x34\x6b\xf9\xab\x15\x09\x67\xa7\xbc\x49\xcc\x95\x54\x10\xc0\xda\xb6\x95\xd4\xdd\x51\x37\xd8\x1e\xdd\x1c\x69\x60\x46\x37\x49\xc5\xcd\x71\xf6\xf3\xf8\x66\x82\x6e\xf1\xbc\xa2\x0e\x9b\xce\x01\xc6\xb7\xc9\xa0\x98\x29\xe1\x79\x12\xcc\xf5\xb7\x80\x2d\xa0\xc8\x73\xb4\x42\x3e\xba\x95\x5e\x65\xb9\x8e\xb3\x68\xe0\x3d\x50\xa7\x80\xba\x16\x91\x46\x85\xd6\x5b\x59\xe8\xc0\x2c\xca\xe1\x36\x82\xec\xd2\x2a\x08\xa5\x55\x26\x8f\x5f\x21\x87\x0d\x45\x10\xd3\x90\xdd\x85\x75\x36\x9d\x44\x29\x83\x7e\x56\x2d\x25\x76\x57\x4b\x20\x26\x42\x68\xf8\x46\xd2\x97\x6b\x41\x3e\x0a\x36\x0a\x5a\x33\xea\xcf\xe7\xfe\xf5\x12\xd6\x80\xe8\x89\x19\xb4\x16\x94\xdc\xc0\x27\xe6\xd3\x39\x61\xd8\xb8\x82\xe3\x79\x06\x0a\xb8\x1a\x81\x3d\x45\x5c\xa7\x90\x90\x50\xd3\x98\x2e\x83\xe9\x27\x63\xab\x7a\x84\x1d\xc2\x52\xd5\x6e\x52\x3e\x06\x59\xd6\x70\x7f\xe4\x83\x20\xa3\xb8\xf8\x0c\xc7\x0f\xc2\x58\xaf\xbd\x8a\xd9\xa0\xc2\xd1\xa2\xac\x64\x94\x8c\x62\xe3\x09\xa2\xd8\x19\xd1\x23\x9f\xce\xa1\xf6\x72\x6a\x9f\x8d\x69\xd3\x99\xe0\xf4\xdb\x98\x4e\x52\x25\x14\x60\xd2\x5a\xf9\x94\x84\x8c\x93\x47\x22\xe4\x5f\xd2\xa7\x47\x11\x1f\xff\xe4\xfa\xdb\x4b\x72\x13\x51\x62\xb2\x71\x34\xe1\x43\x76\x20\x77\x5b\x89\x1e\x58\x1c\x82\x2b\xa5\xb9\xd0\xfe\x28\x10\xfb\x33\x20\x08\xb7\xd2\x33\x21\x00\x67\xf6\xfd\xd8\x9e\x58\xc8\x83\xcd\x1c\x19\xf5\x52\xb0\xff\x44\xab\x73\xf8\xd4\x04\xf4\x6b\x5c\x6a\x6a\x1c\xa7\x16\xd1\x5a\x14\x2e\x1f\x6a\xb2\x61\x6a\x7e\x2d\x0e\xc2\xf9\x92\x6c\x41\xa4\xa5\x18\xe5\xfb\x17\xef\x7e\x30\xe3\x15\x32\x1b\xe3\x28\x17\x1d\x5a\xf6\x2c\x14\xea\x65\xf9\x82\xdc\x03\x4b\x66\x6c\xe5\x0d\xbf\xac\x5e\xe4\x55\x12\x5a\xc8\xde\x40\x28\x47\x5c\xe8\xdf\xd2\x2e\x4b\xb3\xfa\x22\x06\x92\x2c\x1b\x36\x0a\x2c\xb4\xdc\xc1\x81\x5f\xc9\xc1\x92\x4f\x43\x6c\xf0\x70\x2f\x54\xda\xd3\x1d\xb4\x17\x16\x5a\xe7\xb0\x82\xc6\xb6\x6a\x56\x3b\x90\xd7\x95\x8c\x4d\x11\x43\x2b\x0b\x39\x72\x2d\x25\xd6\xcd\x94\xb0\x6b\xdb\x88\xb5\xc4\xe8\x1e\x10\x8a\xe3\xff\x89\x08\xb6\x5f\x36\xa3\x78\x0c\x4b\xe7\x2f\xcf\xde\x4e\x0a\x06\x45\x1a\xee\xf7\x9a\x2c\x97\xa6\xb5\x41\x12\xf4\xed\xeb\x52\xc8\x24\x2a\x60\x06\xfa\xd7\x8b\x09\xde\x22\x26\x6f\x5f\xbf\xd6\xbd\x3d\xfd\x58\x4a\x39\x1f\x87\x2f\x43\xff\xe5\x79\x39\xdf\x49\x04\xbe\x0c\xf8\x4f\x17\xa5\xe0\xcc\xbf\xce\x00\x9e\x7f\x28\x05\x4c\x22\xe9\x65\xa1\xdf\x54\x43\xbf\xc9\xb2\x7c\x76\x7e\x5a\x02\x2d\x16\x4d\x99\xcf\x88\xb9\xe0\x60\x2f\x7e\x3e\x7b\x65\x6d\xe4\x62\xdb\x97\xcd\x28\x1c\x1b\x63\xa3\x88\xcb\xb8\x2a\xf4\x6f\x85\x9f\xa2\x35\x5d\x53\xae\x17\x7f\xe6\xaf\xb0\x8d\x72\x14\x4f\xcf\xdf\x5c\xfd\xfc\xe2\xe3\x8b\x77\xdc\xf2\x1c\x1b\x93\x6f\x20\xf5\xe1\xfc\x94\x13\x69\xfd\xfc\xd5\x14\x5e\x9d\x9e\x03\x85\xab\x02\x85\x1c\xd0\x9b\xbf\xbc\xff\xf0\xf1\x4c\xb0\xfb\x9f\x0a\xbb\x25\xa0\xad\xa9\xc2\x94\xdc\x37\xcf\x3f\x9e\x29\x1f\x61\x9d\x57\x58\x06\xa6\x95\x67\xf2\xfd\x87\x8f\xef\x5e\xbc\x05\xbc\x57\x0a\xde\x2e\x8c\x77\x1a\x36\x3e\x13\x1a\x93\x37\xd5\x88\x63\xe3\x47\x4d\xcb\x64\x03\x2c\x22\xb6\xfb\xdc\x95\x8e\x38\x7f\xf9\x29\x58\xbd\xe7\xba\x79\xe1\x53\xa8\x10\xd9\xf5\x5e\xbc\x9f\xe4\x86\x69\x9d\x44\x26\x2c\x8e\x84\xfe\xfe\xb2\x19\xf9\x63\xe3\xc4\x28\x47\xfc\x19\xd6\xf5\x4d\xe3\xc4\xb0\x36\xc8\x1f\x1b\xc7\x7b\xc0\x1e\x4b\xd8\x83\x3d\x60\x0f\x04\xac\x5d\x01\xc9\x45\xcf\x74\xec\xe7\xa4\x35\x4f\x9e\x2c\x40\x72\x9e\x88\xd4\x70\x00\xcd\x7d\x2a\x9a\x0b\x68\xde\x53\xd1\x3c\x40\x6b\x3f\x15\xad\x0d\x68\x9d\xa7\xa2\x75\x00\xad\xfb\x54\xb4\x2e\xa0\xf5\x9e\x8a\xd6\x03\xb4\xfe\x53\xd1\xfa\x80\x36\x78\x2a\xda\x80\xa3\xb5\x7e\x28\xc7\x8a\x62\x06\xd2\xf4\x83\x90\xa6\x67\xc6\xb3\x8a\x2c\x24\xf0\x33\xe3\x99\x10\xd3\x5a\x95\x98\x26\x94\x6b\x52\xa6\x9f\xed\x03\xfc\x4c\x02\x8f\xca\x80\x93\xab\x57\x64\x01\x39\xf0\x57\xf6\xe1\x25\xef\xc3\xcb\xb1\xf1\xef\x05\x7d\xc3\xad\x8d\x14\x39\x13\xbf\xd5\x64\xd6\x06\x2d\x5b\x2f\xca\x81\x93\xd8\xa6\x12\xf2\xe5\x2e\xc8\x57\xd1\x5d\x28\x61\x4f\x77\xc1\xca\x28\x80\x12\xfc\xd5\x2e\xf0\x24\xce\x86\x84\x3f\xdb\x05\x9f\x44\xbb\x94\xf0\xaf\x77\xc1\xe7\x02\x4d\x4a\xa4\xbf\xec\x42\xca\x86\x82\x94\x38\x3f\xed\xcc\x28\xb9\xe6\x46\xc0\xbf\xd9\xb3\x9e\x2e\xfc\x6b\x89\xf1\x1f\xe5\x18\xf9\x98\x87\x12\xfe\xaf\x3b\xe1\x33\x45\x7e\xbb\x4b\x72\x20\x62\x97\x04\x7e\x57\x0e\x9c\x09\xef\x25\x81\x7f\xde\x05\x9c\x95\xc9\xf3\x72\xe0\x24\x32\x92\x84\xbc\x50\x20\x93\x19\xca\x91\x5b\xaf\x1f\xd0\x7a\x3d\x1b\xee\x47\x22\xfd\x6d\x47\x95\x64\x59\xf9\x7f\xf7\x95\xcc\xb4\x85\xc6\xc6\x7f\x55\xf5\xc0\x42\x28\x17\x99\x8d\x5f\x8e\xa0\xc4\x55\x91\x28\xd7\xe5\x28\x65\x51\x4e\x24\xe6\xb4\xa2\x7a\x35\x41\x44\x24\xd6\xac\x1c\xab\x10\x33\x42\x22\x14\x67\xd9\x19\x04\x25\x80\x83\x44\xb9\xa9\xa8\x86\x5f\x0b\x5d\x67\x5e\x0e\x9b\x84\x0a\x90\x90\x8b\xaa\xf2\x8a\x23\x89\x02\x70\x59\x55\xa5\x79\xd0\xdb\xea\x16\x56\x6a\x2f\xac\x92\xff\xed\x46\x70\x09\xbd\x52\xa0\xe5\xb6\x54\x2a\xb6\xa5\x1a\x07\xc6\x30\xb3\xb3\x99\x63\x71\xb4\x3f\x34\x7e\x0d\xa3\x66\x60\x8c\x03\xe8\x08\xb9\x9d\xb0\x32\xab\xe2\xad\x25\xb9\x71\x26\xb3\xe5\x53\x82\xc7\xa5\xe0\xe9\xde\x49\x09\xb9\x2e\x83\xcc\xed\x79\x94\x7d\x46\x37\xe6\x21\x19\x2c\x2a\x45\x8d\x4a\xc7\xbe\xc5\xe8\x20\x1f\x29\x83\xc8\xef\xd8\x9e\x60\x43\x24\x0d\xc4\x5f\xcb\x89\x18\x76\x26\xd8\x90\x69\xf1\x21\x9d\x4f\x61\x77\x82\x8d\xf4\x29\xfd\x88\x3d\xf1\x5a\xbc\xf8\x70\x7e\x8a\xdb\x13\x6c\x7c\x38\x3f\x95\x10\xc2\x54\xc7\x1d\x0e\x25\xd2\xe2\xc3\xab\xd3\x73\xdc\x9d\x60\xe3\xd5\xe9\xb9\x78\x21\xe6\x36\xb8\x37\xc1\x86\x48\x1a\x1b\x73\xf1\xf8\x68\x2e\xf0\x97\x8d\x25\xa6\xf6\xd3\x92\x25\xf0\xcc\x0a\x73\x90\xdd\xc2\x59\x3c\xb8\x96\x86\x36\x89\x79\x65\xe1\xa4\xb2\x74\x2b\xd9\x70\x2d\xa4\x36\x4c\xd7\x14\xad\xd1\x2a\x3d\x8f\x34\xda\x86\xa0\x4d\x6f\x12\x53\xf7\x8f\xaf\x29\x8d\xe6\x3e\x23\x57\x8b\x60\xbe\xd0\x5d\x5c\x93\x87\x68\x28\x27\xee\xf2\xdf\xb1\x61\x24\x2b\x73\x49\xa6\x47\xab\xc2\x8b\x46\x03\x7c\x77\x14\x93\x71\xfe\xc3\x04\x75\x3a\xee\xa0\x7b\x84\xcd\x29\x16\x9d\xf2\x34\x9a\x91\x17\xac\x50\x0a\xcb\xaa\xd7\xa7\x47\xb8\xd3\xf5\x9c\x01\x50\x5a\x57\x41\x37\x1c\x0b\x05\xf1\x7b\xff\xbd\xb9\xb6\xd4\x8d\xc1\x79\xe6\xe9\x68\x1a\x85\x2c\x08\xd7\x64\x33\xc5\x8e\xed\xb6\x9f\x9b\xd3\x26\xf0\x64\x35\xcc\x75\xb3\xd3\xf5\x5c\xdb\x6a\x74\x3b\x1d\xaf\x8b\x68\x03\x27\x8a\x43\xcd\x71\x03\xfb\x61\x01\xfe\x08\x4f\x05\xbb\x3d\xaf\xed\x59\xc9\x89\x8f\x4c\x63\xcb\x6d\xeb\x49\x93\x0f\x69\x2d\x08\x6b\xf1\x49\x3c\xa6\x13\xb9\xbc\xaf\x88\x4f\x72\x46\x26\xfb\x2e\xb9\xd2\xc8\xa4\x68\x9a\xdb\x83\x9e\xba\x32\x86\xbc\xd2\x39\xf1\xd0\xfa\x12\x16\xa8\x27\x35\x92\xac\x33\x14\x94\x97\x69\xc0\x46\x76\xc3\x92\x7f\x9f\xcb\xbf\x0d\xf9\xb7\x29\xff\xb6\x8c\xa1\x8a\x59\x3c\x12\x90\x9c\x17\xc8\x1e\x2c\xe5\x94\xcb\xe0\xb2\xa7\x55\x79\xce\x65\x70\x6e\x16\xae\x51\x0e\xe7\x65\xe1\x9a\x7b\xe6\xdb\xaa\xc8\x77\x93\xef\xba\x52\x99\x64\xb1\x0f\x2b\xb8\x41\x5a\x6c\x94\x97\xa9\x66\x33\x4b\xee\xbd\xac\xee\x0f\x46\xe6\x3c\xb8\x11\x2a\x99\x6c\x9d\x16\x6e\x56\x24\x8c\x48\xe2\x3f\x56\x60\x78\x39\x8c\xcd\xde\xb4\xff\xbb\x02\xd2\xc9\x41\xf6\x0c\x9d\x18\x67\x46\x25\x4b\xab\x13\xb3\x24\xfa\x5a\x12\xf9\xe1\x6a\x37\x95\x7f\x4b\xa8\xe4\x41\x50\x51\x6d\x65\x71\x7e\x52\x8a\xc9\xfc\xeb\xf3\x4c\x74\x88\xf2\xec\xb0\x82\xfa\x4f\x0d\x14\xb3\x93\xdf\xe3\x12\x7e\xff\x67\xe3\x0c\x54\xb1\x39\x23\x37\xfe\x7a\xc9\xaa\x5a\xb1\xec\x38\xe1\xd9\xf9\x69\x2d\xd9\x4c\x58\xfb\x31\x6e\xc1\x41\x9a\x9c\xf6\x94\x1d\x52\xe8\xe5\x28\x79\x3c\x3f\x31\x19\xde\x3e\x8d\xe9\x04\x19\x87\x86\xd8\x80\x04\x39\xe6\x3d\x7d\xd6\x90\x43\x17\xbc\x84\x55\xc1\x93\x4a\xd4\x05\x62\x4a\xad\xce\x35\xe7\xaf\x4a\x1b\xb3\x06\xbe\x63\x18\x09\xb8\x8d\x29\xfd\xe1\x8f\x8f\xe9\xd3\xcb\xb3\xb7\x5b\xd3\x35\x03\x92\xc4\xd0\xd8\xf6\x86\x22\x1f\xc2\xf3\x2c\xd6\x99\xd5\x33\x67\xa9\x23\x5a\xbd\xfb\x08\xf0\xb2\x91\xd6\x2b\x8f\x71\x49\x70\xdd\x35\x76\x2c\x60\x4b\xc5\x7e\x49\xe1\x8b\xf9\x8a\xed\x09\x17\x1c\x47\x4b\xc8\xb2\x36\x5a\x52\xdb\x6d\x8a\xda\xf2\xa5\x36\x56\xc1\x92\xd3\x1d\x3e\x95\x55\x26\xec\xb5\x62\xf4\xc0\x2c\xd1\x06\xa6\x43\x7a\x8c\x0d\xdb\xa8\xd7\xe9\x11\x36\x06\x46\x15\x34\x76\xec\xe7\x55\xc4\x68\xd6\x5a\xb2\xad\x66\xbb\x3f\x34\x46\x86\xfe\xea\xae\xaf\x6d\xd5\x1c\x3f\x86\x51\xb0\x48\x52\x63\x3d\xb5\x49\x7c\xeb\x8b\x9f\xd8\x24\x89\x11\x02\x24\x0b\xee\xb6\xe2\x68\x79\xfe\x26\x43\x53\xf4\xd1\xe5\xc9\x32\xa1\x94\x1f\x18\xf4\x92\xa7\xbc\x05\xef\xb6\xf2\x56\xf8\x07\xe1\xf5\xae\x23\xca\xa7\xe7\x6f\x6a\xd3\x68\x46\x52\x85\xa2\x95\x08\x7d\xbe\xe9\x9d\x9b\x4a\xd6\xd8\x30\xf2\x95\xf8\xea\xf4\x7c\x57\x47\xae\xee\xc1\x23\xb1\x8b\x46\xec\x9d\x44\x37\xc9\x35\xc8\x39\x13\x55\x39\xd1\x0c\x43\x42\xce\xee\xf8\xe1\x8f\xd4\xea\x9b\x69\x22\x1c\xa4\x62\x80\x6e\xb8\xbe\x9f\x09\x12\xcf\x8c\x3f\x9e\x0d\x67\xf8\x99\x6d\xfc\xf1\x2c\x53\xac\x67\xc6\x0a\x5e\x77\x1d\x63\x95\x7d\x6f\x50\x63\xa8\x10\x4f\xcf\x27\x36\x1c\xed\xf9\xe2\xec\xd1\x44\x38\x6a\x4c\xb3\x35\x68\xdc\x72\x92\x86\x7d\x6b\x68\x47\x91\xb2\xc6\x7d\x75\x7a\x5e\xfb\x99\xc9\xa6\x9d\x59\x68\x86\x0d\xa3\xa8\x28\x0a\x67\xa2\x7f\x36\x1a\xb5\xc6\x4d\xc3\xf8\x81\x1a\x8d\x59\x63\xfb\xfe\xf2\x32\xd7\x2f\x8c\xc6\x2a\x57\xaf\x8d\x3f\x34\x65\x56\x2b\x74\xbf\xbc\x1b\xe5\x79\xef\x5f\x6e\x21\x03\xb2\xec\x7a\xf9\x28\x56\x85\x56\x35\x96\xca\xfc\x1e\x3a\x33\x4b\x70\x97\xca\xd4\xe6\xf6\xf8\x68\xfc\x00\xca\xee\xf1\xd1\x68\x40\xe2\x44\x13\x51\x4a\xc0\xee\xa1\x9a\xcb\xb2\xd1\xe4\x9f\x47\xcb\x77\x66\xe1\x58\x18\xd2\x83\x6c\x87\x4d\x9f\x5e\x9e\xbd\x7d\x7c\xdc\x6f\x3c\xce\x57\xa1\x95\xee\xb1\xca\x7c\x55\x0f\x0a\x03\x8e\xba\x5d\x5b\xd0\x52\xe1\xc5\x02\xe0\xee\x23\xc5\x3a\x54\xa9\xcc\xaa\x70\x25\x88\x06\x19\x6a\xae\x3a\x28\xc0\xb6\x86\x0b\xf8\x73\x05\x7f\xbb\x4d\xa0\x9c\x8a\xfe\xda\x7d\x85\xd0\xf7\x18\x35\x0b\x97\x59\x65\x0d\x4a\x35\xeb\xad\x1c\xa4\x67\x86\x7f\xe6\x66\x21\xc5\xd3\x1d\x5b\x59\x52\x6f\x55\x90\x39\x60\xdf\x8a\xee\x42\x42\x5f\x95\xec\xab\x8b\x57\x7e\x68\xf0\x2c\x32\xfb\x2b\x17\x64\xb9\x8c\x6a\x77\x11\x5d\xce\x0c\x44\x72\x5b\x2d\x99\xf0\x91\x51\xcc\xe4\x4d\xdc\xbf\x05\x33\x88\x97\xc3\x72\x37\x7f\x8f\x92\x0b\x33\x6f\xa2\x90\xfd\x26\xee\xc6\x36\xae\xa3\xe5\x2c\xbd\x0e\x3c\x87\x1e\x17\xd1\x33\xee\xca\xed\x26\x33\x66\x21\xde\x8b\xa2\xc7\xc7\xe0\x00\xe3\x78\xf3\x55\x1b\x77\x22\x14\x63\x6a\xba\x5d\x4b\x75\x5a\xbe\xfc\xf0\x56\xb8\x26\x79\x42\xb8\x0b\x7f\x79\xff\xea\xec\xe3\xdb\x37\xef\xcf\xc0\x2f\x99\x3e\x89\x8f\x2f\xdf\xbe\x79\xff\x57\x70\x44\x42\x4a\x3a\x18\xdf\xff\x7a\xf6\xf1\xfc\x0c\xf7\x27\xd8\x90\xe9\xf4\xc3\x9b\xf3\x37\x2f\xdf\x9e\x61\xa7\x2b\xbe\x89\x47\x63\x63\x46\x8f\x8f\x66\xb4\x75\x40\x86\xc2\xfc\xf7\xcb\xfc\x90\xea\xb5\xd8\xc9\x99\x13\x11\xac\xe9\x63\x74\x17\xff\x3f\x6b\xb2\x26\x5b\xf3\x56\x7e\x79\x4d\xfd\x5b\x12\x9f\x7f\x0a\xe0\x12\x61\x3b\xff\xf1\x45\x18\xdc\xc2\x84\x0e\xa0\x72\x53\x90\x95\x9f\x5c\x4c\x2e\xea\xfc\xe7\x28\x5a\xc2\xb1\xaa\xb8\xf5\x2a\xba\x55\x3e\x25\x52\x05\x27\x7a\x30\xc6\x21\x44\x98\x09\x4a\x6e\x69\x4d\xaf\x3d\xf9\xda\x6c\x74\x9e\xd5\x3f\x78\xf9\x3f\x8a\x82\x69\x0f\x09\x15\xeb\x4a\x74\xf0\x2f\x31\xf3\x29\x1b\x12\x44\xc2\xd9\x90\xa5\x27\x4f\xb4\x35\x94\x06\x59\xd0\xd7\xdf\x5d\x10\xce\xa2\xbb\x96\x9c\xfe\xe7\x3f\xe6\x11\xdf\x46\xd1\x6a\x7b\x04\xc8\x2a\xc6\x04\xcf\x82\x65\x45\x42\x77\x95\x75\xc0\x88\x88\xee\x95\xee\xd7\x4f\x06\x17\x9d\x04\x34\x1a\x47\xb8\x63\x7d\x9f\x42\x88\xbd\xdd\x55\xd2\x07\xb2\x4e\x10\xdb\x5e\xe0\xad\xb4\x89\x2c\x44\xdb\x22\x5c\x58\xf5\x41\x51\x44\x46\x04\xeb\x49\x8c\xed\x49\x0b\xda\x34\x45\xd7\x41\x90\x70\x96\x39\x48\xe1\xa4\x07\x29\x4a\x18\x12\xbb\x6a\xf5\xd4\xa8\xcc\xef\x88\x64\x3c\xf0\xa5\x50\x56\x49\xcf\xe5\x00\x24\x9c\x1d\xb3\xcc\xf5\x81\x25\x30\x89\x99\xb6\xb3\xf3\x97\xf7\xef\x24\xc8\x1b\xef\x1e\xc5\x73\x12\x54\xdb\x87\xa0\xa2\x46\xac\x49\xb4\xc1\xcc\x0f\x5d\xdd\xdd\x85\x49\xbc\xc6\xed\x76\x63\x35\x46\x7e\x02\x93\x53\xfb\x4a\x06\xa7\x62\xdb\x2e\xa1\x25\xf7\xef\x43\x8c\xe9\x18\x13\xb1\x6c\xb2\x67\xbc\x75\x70\x84\xfd\x17\x09\x67\xff\x55\x0b\xe2\x1a\x8b\xa2\xda\xd2\xa7\x73\xd2\xaa\xbd\x8b\x62\x56\x5b\x06\x9f\xc8\xf2\xa1\xe6\xd7\xae\xfd\x59\xed\xf4\xfc\x23\xb8\xc4\x4a\x22\xb4\x8f\xe2\x23\xcc\x46\x71\x72\xa2\xc0\xc7\xb1\x72\x25\x05\x84\x2f\x5c\x96\xdf\x6b\xe1\x5b\x68\x91\xcc\xe1\x16\x6a\xdc\x1e\x8c\xe3\xa6\xfe\x46\x3d\x5d\x46\x6a\x35\x27\x81\x6a\x7c\x46\xea\xf5\x62\x50\xe0\x6c\x34\xa6\xa2\xb5\x7c\x3f\x6c\x3a\x69\x4f\x99\x96\x05\x1e\x5a\xe3\xc2\xf6\xde\xc4\xf8\x78\x4d\xfd\x39\x98\x1d\x16\x5a\xc1\x31\x8e\xa4\x8c\x45\x16\x78\xc3\x53\x12\x8e\xe3\x49\x9a\x4e\xfa\x9e\xa8\xd4\x1b\xa5\xcd\x35\x28\x10\x98\xbe\x1c\x2c\x2b\x64\x37\x95\x83\x50\x8b\x92\x25\xf1\x63\x62\xde\x58\x9b\xa4\xf4\x73\x6c\x8f\xe6\x47\xc1\x68\x9e\xb4\xf3\x2d\x5e\x8e\xe7\x93\xb1\x3d\x41\x0f\x22\xe5\x4c\xd0\xb5\x48\xb9\x70\x76\xeb\x1a\x74\xf6\x1c\x63\xbc\xa8\xd7\xcd\x5b\xdc\x74\x2c\x74\x7b\x80\xf1\xb4\x5e\x37\xa7\x07\xca\xb4\x45\xd6\x66\xbd\x6e\xae\xea\x75\x33\x7b\x00\x66\x05\xb5\x67\xa1\x75\xce\x34\x83\x09\x2c\xef\xd5\x82\xaa\x9e\x9a\x65\x05\x37\x9c\xde\xc1\x8c\xd3\xc4\x55\x65\xf6\xa7\x7f\xac\x03\x4a\x4c\xcb\x42\xb3\x27\x30\xc1\xb9\xd8\x8b\xac\x88\x69\x77\x6b\xcd\x8a\x47\xbc\xe4\xde\xce\xe6\xe7\x60\x46\x22\xc3\x42\x0a\x40\x52\xa8\xa6\x10\x55\x23\x73\x90\xe8\x0a\xc2\xd1\xdd\xa2\x53\x7c\x9b\x44\xa8\xbb\xe3\x49\xa7\xcf\x5b\xe0\xae\x1e\x81\x95\xc7\xed\x91\xc7\x47\x85\xae\x38\x9d\x01\x66\xaa\x85\x4e\x8f\xfa\xf5\xba\x79\xda\xc0\x7d\xcb\x42\x1c\x31\xb5\xfe\xea\xf5\x12\xcc\x4c\xe4\x28\xc0\x00\xb3\xb0\x14\xfa\x5a\x1c\xff\x00\x48\x69\x29\x0a\x41\x3a\xc7\x57\xa3\x2b\x7c\x8a\x4e\xf1\x39\x72\xea\x77\xf5\x7a\x86\x95\x8d\x84\x16\xb6\x63\x29\xed\x05\xf4\xde\x3c\xf1\x7a\xdd\x74\x3b\x3d\x8c\xf1\x55\xbd\x6e\x5e\x61\xa7\x63\x21\xb7\xd3\xc5\x18\x9f\x72\xe2\xd8\xb6\x2c\x74\x75\xe4\x76\xba\xe5\x0c\xcf\x9b\xd3\x68\x19\xd1\xa6\xd1\xb8\xe2\xf5\x53\x05\x9b\x00\x9e\xc2\xfa\x29\x9f\x94\x5f\x5b\xab\x06\x7e\x76\xc4\x85\xa2\x06\x28\x58\x82\xde\x05\x33\xd2\x9c\x2e\x7c\x6a\x1c\x3f\x6b\x3c\x34\x8c\xa3\x43\x0e\x73\x6c\xa4\x11\xaa\x1f\xf2\x3e\xce\x63\xb7\xd3\x29\xa3\x25\x96\x2d\xca\xa9\x49\xdf\xd6\x83\xf4\x7d\xd5\x8d\xe1\xaa\x81\x8d\xba\x7f\xbb\x1a\xe5\xfc\x49\x47\xf2\xc3\x92\xe5\xdf\x1f\xcb\xf7\xf3\xed\xfb\xc4\xe5\xb2\x6a\xe0\x87\x23\x6c\xd4\x8c\x13\xa3\x1e\x5e\xc7\xab\x91\x31\x7c\xd8\x4c\xf1\xed\x66\xf3\x5d\xbb\x5b\xda\xe7\x2b\x14\x5d\x16\x63\x6d\x6d\x68\xe9\xb0\x9b\x9b\xe9\x55\x0c\xbb\xca\x42\xcc\x6d\xc0\x78\xbf\x05\x53\xc1\x40\x5f\x24\x3d\xc5\x0d\x25\x5e\xa3\x82\x91\x5d\x3c\x25\x0e\x54\xce\x93\xc0\xb5\x05\xcb\x03\xc2\x5a\x29\x7e\x32\x09\x9b\x72\xa8\x8e\x1a\xbb\x51\x2a\x6c\x8e\x8a\x0c\xc6\xf6\x04\x4e\xe5\x91\x7a\x3d\x3d\x3a\x0a\x17\xb2\x68\x87\xfc\x00\xb3\xd2\x6f\xd1\xf6\xd2\x5b\xb8\x17\x37\x96\xcf\x41\x68\x06\x25\xd1\x77\xe1\xa0\xa9\x19\x69\x2d\x9c\xc7\xc7\xf8\xc8\xb6\x04\x4b\xe1\x1e\x03\xb2\x8f\x29\xc6\x38\x3a\xe1\x06\xf1\xd0\x46\x4b\x1c\x71\x33\xe3\x84\xf1\x47\x8d\x7d\x35\x0a\x35\xd2\x22\x88\xa7\x4d\x97\x38\x19\x22\xe4\xa3\xa5\x9c\xdc\x2e\x70\xdc\x8c\x44\xfc\xb2\xa7\x50\xd0\xdd\x9d\x09\x66\xde\xc2\xb2\x50\x74\x80\x71\x9c\x9c\x7b\x0d\xfe\x34\xb6\x63\x64\xa3\xa9\xba\x74\xa4\x11\x86\x2c\xc9\xd0\x52\xce\x1a\xeb\xe9\x6b\xb6\x8b\xa5\xa1\x0f\x82\x7a\xdd\x0c\xb0\x93\x1c\x42\x2b\x3b\x14\x39\x0b\x3e\x6f\x8f\x45\x46\xd2\xe5\xb2\x10\xee\x96\x40\x59\x37\x5a\xf8\xf4\x1d\xf1\xe3\x35\x4d\x60\x1a\xc6\xea\xde\x40\x09\x1e\x8b\x56\x98\x3c\x15\x69\x49\x6e\x18\x66\x55\x58\x77\xc1\x8c\x2d\xf2\x48\xf0\x4a\x35\xe0\x0a\x38\xcf\x4d\xda\x64\x96\xc4\x4c\x3d\x61\x1f\x09\x1f\x64\x09\xc5\xfe\x0e\x5f\xd8\x76\x66\x90\xa8\xbb\x2b\x72\xcf\x48\x38\x8b\x1f\x1f\x33\xb3\x68\x98\x84\x62\xe9\x4a\x02\x7f\xa8\x6c\xb6\x0f\x37\x8f\x8f\x5f\xae\xae\xa0\x19\xaf\xae\x86\xe3\xc9\x26\x08\x63\xe6\x87\x53\x12\xdd\xd4\x5e\x50\xea\x3f\xd4\xeb\xc5\x43\x34\x29\x38\x66\x9b\x4c\x2e\xa9\xe2\x02\xf5\x50\x0b\xc2\x1a\xb3\x58\x6b\xe1\xc7\x1f\xee\xc2\xd4\x6f\x45\x2d\xb8\x4b\x8a\x4e\x30\x1b\xd3\x89\xb5\x51\x82\xee\x40\x11\x33\x1e\x3e\xe9\xc9\x98\x46\x61\xcc\xe8\x7a\xca\x22\x8a\xd9\x86\x00\x18\x62\x5b\xf1\xc3\xd2\x09\x43\x4f\x64\x21\x85\x0c\x99\xd4\x1a\x9a\x41\x06\x8c\x6e\xd3\x28\x24\x77\xb5\xc0\xda\xf0\x1a\xff\x06\x27\xdb\xc0\x42\x21\xa6\x66\x1f\x74\x8b\xe9\x58\x68\x89\xa9\xe9\x3a\x7c\x6a\x73\x0e\x27\x03\x5b\x37\x34\xba\x3d\x95\x63\xbb\xe9\x74\x6d\x0b\x4d\xb3\xd1\x7a\x16\xc8\x98\x1b\x1a\x47\x5d\xc9\xee\xc2\xdf\x3e\x7c\x14\xfe\x3b\x9e\x10\xaf\x52\xd7\x1d\x78\xed\x14\x4f\xdb\xba\x2c\xee\xa2\xd8\xfc\x18\x27\xda\x93\xb4\xa6\xfe\x72\x29\x3c\x1b\xe2\xda\xb8\xa4\x75\xc2\xdc\xbe\xbf\xb0\x75\x75\x0d\xee\x17\x4c\x79\x3a\x3b\x66\xe2\x80\xbf\xc9\x08\x39\x8e\xf9\x8b\x20\x0c\xd2\xb3\xc4\xb1\x69\xa1\x30\xbd\x86\x80\x7f\xbd\x8d\x66\x44\x78\xc0\x96\xad\x54\x7d\xbc\xe3\x2f\x4d\x06\x00\x4b\x3f\x16\x17\x01\xbc\x8a\xee\xc2\x8b\xe0\x96\x60\x9b\xbf\xf6\xa7\x2c\xf8\x4c\x72\x18\x38\x4a\xd6\x2a\xc3\xc4\x5f\x16\x98\x0c\x91\x9c\xac\x14\xf8\xc1\x4a\x3f\x81\xa2\x8b\xde\x24\x0a\x7a\x41\x83\xdb\x04\x3e\x17\x48\x27\xf5\xc9\x5d\x45\x21\x07\x82\xad\xa6\x02\x13\xee\x65\x78\x17\x7d\x26\x3b\x11\xdf\x25\x90\x45\x6c\x5e\xdc\xfd\xb0\xd3\x9d\xe7\x19\xec\x5f\x56\xfb\xe1\x8a\x8d\xee\x9b\x5c\x0d\xc9\xcb\x87\x14\xaf\x3d\x44\x01\x4a\x6b\x3c\x5d\xdc\x16\xb5\xd4\x8a\x6e\x6e\x4c\x83\xd1\xe0\xd6\x40\x65\xb5\x97\x09\x1c\x54\xb4\x49\x0a\x27\xce\xa1\x0c\xb3\xe8\x2e\x34\xca\xaa\xc4\xca\xf3\x2c\x44\x4a\x5d\x68\x48\x98\x0b\xbf\x8a\x37\xf5\x28\xfc\x93\x19\x4b\x2f\x23\xd0\x2c\x04\xc9\x8e\x24\x7d\xdb\xc5\xea\xdd\xa0\x12\xc5\x94\xd1\x62\xc6\xc2\x8f\x53\x14\x03\x7d\x99\x13\x36\xd4\x4a\xb4\xec\x68\x62\x49\x28\xc5\x38\xcf\xb9\x0d\x75\x10\x67\xe1\x2c\x89\xea\x62\x1e\x90\xc7\xc7\x03\x66\xc9\x0b\x02\xf9\xfc\x5b\x04\x66\x1d\x3b\xe2\xc1\x99\x70\x3b\x37\x5c\xdf\x12\xca\x1b\x63\x78\x00\x81\xcf\x6e\x82\xf9\x3a\x79\xde\x58\xfb\x94\x29\xb5\x3e\x2e\xc8\x3d\xfb\x5e\x85\xe2\x66\xa5\x28\x8f\x28\x9e\x61\x8c\xb6\x96\x2d\x16\xc5\x11\x26\x16\x78\x11\x03\x3c\x9e\x8c\x82\xdc\x12\x19\xf5\xc3\x78\xe9\x27\xde\xe8\xb7\x41\x48\x2e\x22\xa1\xf4\xcd\x9c\xec\xcd\x09\x83\x40\xc3\x16\x3a\xb0\x11\xdc\x3d\x46\x2d\x2b\xf5\x30\x45\x90\x61\xc3\x19\x45\x47\xc2\x70\x76\x20\x24\x81\x3c\x7c\xaf\x10\x8a\xf8\x48\xb3\x9b\x81\x18\x1d\xd8\xd6\x28\x6e\x05\xf1\x6f\x94\x5b\x6e\xb3\x93\x60\xbc\x8d\xac\x3b\x69\x60\x7f\x28\x0b\xe3\xc3\xec\x35\xdb\x86\x65\x59\xc3\xc7\xbd\x73\xe7\xb6\x2c\x4c\x1c\xf6\x64\x22\x0d\x7c\x71\xeb\xaf\x4c\xed\xb9\x34\x79\x4e\xde\x9c\x22\x38\x22\x67\xb5\xfe\x1e\x05\xa1\x19\xb6\x82\xf8\xdd\xf9\x6f\xe0\xc4\x8f\x4f\x8c\x4b\x7a\x19\x1a\x43\xe3\x32\x34\xf6\x90\xc5\x6c\x3f\xcd\xf7\x3e\x55\x91\x08\x39\x2a\x51\x81\x42\x87\xbd\x2b\xaa\x82\x38\x01\x48\xbc\xcf\x05\xdd\x50\x55\x89\x55\xa6\xb3\x88\x1a\x66\x5b\xa8\x60\x4c\xc3\x2c\x39\x23\x59\x86\xc1\x8d\x14\x14\xe2\x00\xf9\xd8\x1e\xf9\xdb\x4b\xb3\xfc\x44\xc4\x96\x98\x8c\xfd\xc9\x28\x6a\xe0\xe5\xd8\x99\x20\x4e\x6b\x39\x76\x27\x3c\x83\x63\xec\xd7\xeb\x71\xb3\x89\x02\x48\x85\xcd\xa6\x25\xe3\x25\x84\x8f\x8f\x29\x25\x11\xb0\x49\xcc\x4b\xa2\x56\x4c\x7c\x3a\x5d\x98\x87\x97\x71\xe3\x87\xc3\x6d\xf0\x98\x69\xbd\x6e\x2e\xb6\x73\xbd\x05\x9f\x73\xa0\xc5\x11\x8e\xd3\xce\xb7\xd9\x5a\xf8\x69\x50\x05\x3e\xf3\xc9\x57\x98\xea\xa9\xcf\x46\x91\x1a\x7d\xa7\x95\x2c\xcd\x0a\xfc\x76\x41\xc1\xda\x58\xdc\x4c\x09\xe2\xb7\x41\xb8\xbe\xaf\xd7\x49\xb2\xa1\x32\xab\xc4\xd2\x40\x1f\xf0\x49\xb8\x12\x42\x72\x17\x6f\x35\xb7\x8a\x53\x94\x15\xa5\xec\x85\x65\xbe\xd2\xb5\x8f\xa2\xe7\x42\xb8\x26\x76\xe9\x4f\x70\x5c\x54\x69\xd0\x8d\x32\xd0\xf1\x6f\x2f\x96\xcb\xb2\xbe\x13\xc8\x91\xea\xc5\x72\xf9\x02\x8c\xb7\x74\xdb\x6f\x59\xf7\x10\x66\x95\x66\xe0\x14\x04\xa5\xd5\x95\xae\xb1\x94\x91\x99\x13\x61\x40\x8a\x4e\x76\x1a\x45\x74\xa6\x0b\xe0\x05\xcb\x12\xe2\xab\x49\x34\xd6\x80\x7c\x95\xb1\x6f\xb5\xb3\x75\x8d\x9f\x02\x94\x71\x22\x3a\x63\x7b\xd2\x6c\x22\x50\xf5\xe2\x4f\x43\x59\xfc\x10\x37\x3f\x95\x94\x02\x0c\x12\xb9\xd5\xf8\x36\x5a\x87\xac\xba\x28\xc9\x01\xb8\x8b\x28\x99\x52\xeb\xca\x66\xf1\xce\xaf\x2c\x67\x71\xde\x9f\x2b\xa5\x96\x93\xe4\xb4\x40\xc7\x58\xdc\xcb\x43\x4f\xec\xa1\xc9\x8e\x61\x57\x66\x13\x73\x83\x6a\xdb\xe3\x53\xb7\x0f\x43\xcd\x8e\x6d\x21\xfe\xdf\x64\x87\xb8\x63\x5b\x87\xf0\xcd\xbf\x8e\x4d\x66\x35\x20\x0d\xb7\x59\x98\x4e\xfb\x39\xb3\x54\x89\x48\x95\x6c\xae\xd8\x36\x84\x91\xb9\x5e\x33\x16\x85\xdc\x3e\x81\x8b\xee\x49\xc8\x5e\x09\xcf\x65\xaa\xa8\x67\xd4\x9f\xe7\xea\x2e\xdd\xfe\x2a\x6b\xf7\x74\x19\x4c\x3f\x9d\xf2\x4f\x26\x81\x08\x08\x8b\xe0\x86\xfd\x95\x3c\xc8\x55\xa2\x28\x3c\xe7\x2f\x00\xca\x24\xf2\x62\x20\x51\x41\x29\xe2\x16\x14\x02\xee\xa4\xb0\x6e\x15\xec\xab\x68\x7d\x9d\x81\xf5\x34\xb0\xc9\x1c\x1f\xc4\x7e\xb5\x05\x96\x25\xf0\x67\xb3\xdd\x03\xd0\x81\xad\x54\xa9\x16\xaf\x72\x5a\x94\x33\x91\xf3\x3b\x6f\x4a\x0c\x66\x3e\x3a\x1a\x65\x53\x23\xad\xe5\xbd\x17\xd9\xf5\xca\xd0\xcf\x79\xd4\xe6\x7e\x13\x32\x42\x3f\xfb\x4b\x3e\x81\xa4\x38\x26\x2c\x79\xa1\xd1\xee\x24\x8b\xc8\xb5\x49\xc7\x56\x95\xb1\x7e\xc0\xd7\x68\xe7\xf2\x52\x95\xcf\x7c\xbe\xb5\xbe\xca\x29\x57\x54\x19\xd8\x36\x69\xb5\x54\x56\xe0\xae\xfa\xe5\x83\x8f\xd2\x73\xb7\x3d\xa7\x54\xa3\xc7\xb9\x31\x28\x5d\xc0\x2e\x7c\x3c\x0b\x93\x65\x06\x9d\x66\x37\x89\x46\x6b\x64\xba\xe2\x9e\x99\xbf\x15\x21\xff\x6c\xb4\x63\x08\x4b\x76\xb4\x56\xfa\x23\xca\xb3\xa9\x2e\x48\x05\x62\x55\xe5\xc0\xd8\x6f\xa7\x2a\x24\x6b\xc3\x97\xd2\xe3\xc6\xfd\xb8\xe2\xb3\x3d\x99\x80\x5d\x58\x09\xd2\x68\xa8\x55\x9f\xd1\x6c\xa5\xd1\x3f\x4b\x8a\x3f\xda\x96\x52\x5f\xbd\xbf\x7d\xf8\xf8\x2a\x55\xe0\xfc\xd3\x6f\x11\x9d\xbd\x60\xa6\x6e\xe0\xc8\x28\xcd\x3f\x9d\x8f\xb7\x6f\xde\x9f\xe5\xf8\xe0\x96\xfc\x0b\x39\x65\x2a\xb2\xa2\x0e\x35\x1a\x7e\xcc\x90\xdc\xd5\x5e\xf9\x8c\x58\xbc\xdd\x78\xaf\x32\xad\x91\xc9\xe4\xb2\x8a\xe2\x13\x3b\x6e\xdb\xb6\xf0\xda\xb5\xae\x66\x81\xf0\xe1\xbe\xa6\xd1\xed\xdb\x04\x30\x3d\xdb\x4e\xac\x63\xc7\xb6\xd2\xf2\x6c\x87\x17\x3e\x9f\x28\xa1\x9e\x1e\xf7\x5d\x16\xc9\xe1\x31\x69\xad\xfc\x39\xf9\x1b\x12\x7f\x7f\x4f\x36\xe4\x6c\xe9\x36\x1a\x85\xf2\x57\xf2\xa7\x0b\x49\x92\x1a\x0f\x5b\x4b\x41\xcf\x0d\x37\xad\x24\x3f\x16\xda\x09\xec\x24\xc0\xbf\x97\x99\x19\x5c\xeb\x96\xca\x8a\xda\xef\x4e\xf4\xfd\xe7\x2c\x9c\x6d\x2f\x1c\xd7\x7c\x73\x26\xc2\xc7\xb0\xdd\x24\xf6\x54\x7d\x57\xa1\x82\xb0\x94\xce\x93\x8a\xec\x8f\x2a\xb5\x42\x39\xa6\x3d\xc1\xf6\xb0\xea\xab\xc6\x3c\x1e\x56\xb3\xca\x3b\x74\xa2\x63\x04\xb5\x8b\x28\xe9\xd3\x25\x19\x95\x9a\x76\xf9\x2a\x53\xcc\xe6\x6d\xbd\x15\x31\x8f\xed\xca\x32\x6b\x4a\xd5\x4c\x6e\x86\x2e\x92\x3a\xb2\x2b\xf4\x34\x54\x60\x89\x8e\xcf\xb5\xcc\x75\x76\xbf\x63\x3e\x5a\xfb\x2e\xdd\x2e\xe8\x94\x68\x76\xc1\x03\x44\x78\x07\xb7\x42\xb9\x82\x17\x90\x8d\xc6\x86\x5b\xa1\x9c\x6f\x5c\xda\x0b\xc6\x36\x27\x22\x9d\x68\xe5\x2c\x49\x6d\x95\x31\x4c\x8b\x6a\x22\xad\x4a\xd5\xa8\x2a\x56\xb3\xba\xd5\x4d\xc6\x64\x09\xe2\x95\x62\xc9\x08\x14\x74\xe0\x7c\x45\xfb\xe3\xb1\xb6\xf5\x95\x2b\xb2\xf8\x0c\xae\xb8\x23\x8e\xcf\xa6\x26\xa5\xfd\x05\x8f\xd5\x8b\xb6\x38\x95\x49\x61\x8a\x5c\xa2\xaa\x7e\x59\x69\xec\x9a\x72\xb7\x54\x81\xc8\x34\x0a\x3f\x13\xca\x7e\x95\xa7\x59\x4f\xa3\xe5\x45\x94\x06\x75\x81\x00\x74\x9a\x2d\x0a\x52\x0c\xb9\x6e\x0b\xb0\x3d\xe2\x89\x63\x1c\xc0\xad\xaf\xb6\xb8\x78\x53\x58\x0c\xb4\xd9\x1c\x6d\x23\xe7\x16\xe7\xb4\xa2\x77\x97\x6a\x59\xc5\x87\x4a\xf7\xf0\x3f\x8a\xc6\x4d\xf6\x4c\xee\x2e\x9c\x58\x24\x8a\x70\x80\x62\xb8\xac\xaf\x19\xa1\x10\xdb\xe0\x33\x0b\x6e\x4c\x11\xe0\x84\x26\xd1\x13\x22\x4b\xee\xd0\x88\x8e\xed\x7a\xbd\xf8\xb1\xe9\x58\x23\x2b\x6a\x36\xc5\xdd\x64\xc1\x11\x4d\x5d\x3f\x05\xc8\xa0\xc1\x21\x83\x46\x63\x93\x6e\xec\x5a\x42\xe6\x68\x01\x7f\x80\x00\xd8\x70\xe3\xa5\xa8\x47\x33\x6c\x34\xd0\xb2\xd9\xb4\x10\xcc\x24\xc7\x0b\xf9\xda\x6f\x34\xd0\xa2\xd1\xb0\x04\x43\x72\xab\x63\x10\xf3\x22\xf2\xca\x3d\x27\x2b\x9f\xfa\x2c\xa2\x66\x8e\x4b\x6b\x64\x49\xea\x4d\xa7\x48\x3f\x6a\x36\x79\x42\x96\xa1\xe1\x64\x4a\xb1\x0f\x79\x5e\x34\x6b\x64\x49\x2e\x1b\x4e\x81\x4f\x14\x88\x84\x74\xf9\x49\x7f\x54\xd4\x88\x9b\x21\x12\xd9\x0c\xb7\xbb\x42\x9a\x51\x23\x6c\xf8\x0d\xf5\x5e\xc8\x68\x19\x17\xd7\xad\x72\x36\x60\x95\x8d\x27\x47\x94\x34\x2a\xbf\xd6\x30\x1f\x33\xb9\xab\x9a\xcb\x5d\xc9\xf0\x9d\x9d\x29\x24\x4e\x3e\x2d\x4f\xc9\x28\xf6\x0d\x5c\x65\xb4\x8f\xf8\xe2\xd3\xed\x00\xfa\xab\xbf\x5c\x93\xf8\xa3\xd8\x55\x38\x33\xad\x13\xc9\xfc\x50\xfe\x6d\x24\xdc\x89\xd2\x14\x78\xd4\xb4\xa6\xc6\x0e\x33\x6a\xa6\x35\x9e\x7c\xd9\x3c\xbb\x34\x8c\x34\x42\x38\xb1\x8e\xb1\xad\x2d\xb2\x30\x81\xf7\x9c\x6d\x71\xed\x47\xf6\xa9\x64\x55\x0a\x36\x88\x6d\x4c\xbf\x05\xe3\xfb\xd9\x6d\xc0\x18\xa1\xd6\x88\x65\xd6\x92\xc5\xad\xe0\x78\xfd\x7d\x62\xe4\x3e\xf1\x00\x8b\xb2\xc8\xa7\x39\xd8\xb1\x63\x29\xa2\x50\x73\x5b\x47\xaf\x3a\x07\x84\xd7\xe5\x93\x56\xfd\x8c\xb7\x6c\xdd\x91\x64\xd7\xe8\x34\x2e\x63\x75\xa5\x2e\x7b\x5e\x4d\xe1\xe2\x64\x6c\xa3\x64\x03\x53\x96\xf3\xa2\xff\x5c\xce\x76\xe1\x65\xb5\xc8\x17\x29\x0d\x35\x84\xbe\x76\x81\xb2\xa2\xf0\x67\xe1\xec\xc9\x45\xdf\xc3\x71\x0c\x9b\xdd\x75\x36\x44\xd3\x29\xd6\x1a\x94\xec\xe4\x40\xa9\x00\x69\x63\x55\xd6\xda\x58\x43\x8a\x9b\x7a\xa5\x02\xa2\x13\x1d\x98\xc3\x94\x62\x14\x5b\x54\x18\x80\x89\x79\xa8\x4e\x38\xc6\x5b\x6f\xf1\xb7\xf1\x26\xac\x51\x4b\xf3\x56\xe5\x97\xcb\x8b\x70\x5b\xed\x12\x90\xdc\x3d\x4d\xa5\x55\xab\xf7\xa0\x16\xb8\x4e\x56\xa9\x63\x75\xb9\xbd\xc6\x15\xf5\x31\x03\x4b\x39\xb3\x24\x5d\xaf\x73\xe3\xe0\x98\x57\x43\x7e\x07\x9e\x66\xad\x24\x2b\x83\x7a\xe7\x91\x52\xf7\x4d\x4c\x34\xd5\xa5\x80\x8b\x2a\x2c\x03\xd6\xc1\x1e\xd9\x27\xa6\x56\x01\xa2\x03\xdb\x1a\xea\xb8\xd1\xea\x01\xa0\x54\xca\x3d\x9f\x4d\x1d\x38\x56\xba\x91\x2e\xbf\x9f\x08\x07\xff\xa3\x23\x40\xba\x6a\x2b\x0e\x83\xa6\xee\xf3\xe2\x88\x90\x84\x90\x49\xb6\x4c\x4a\x5f\x4b\x9c\x06\x93\xc1\x72\xe5\x29\xbb\xb1\x4a\xee\x96\x95\x07\x70\x3f\x46\x77\xe2\x50\x69\xe2\xae\x5c\xfa\x31\xfb\x48\xa6\x11\x9d\x91\x99\xb4\x8f\x73\xee\xcc\xec\xf7\xc4\x2e\xce\x53\x48\x35\x4e\x14\x9a\x86\xe0\x25\x59\xa4\xcc\x45\xba\xc9\x9e\x87\xd3\x60\x52\x12\x07\xff\x20\x7b\x62\x16\x6a\x42\xe3\xf5\xcf\x31\x12\x85\x82\x58\x8e\x50\xe6\x0a\x32\x55\x1b\x47\x4a\x98\x9e\x0d\xb2\xb5\x43\xb0\x66\xb1\x35\xf1\xce\xa8\x2b\x61\xc7\x76\xae\x8b\xab\x00\xc9\x51\x95\x62\x73\x8d\x48\x22\xca\x4a\x43\x96\x50\xd2\x57\x94\xdc\xa7\x1a\x84\xa4\x1a\x5b\x6c\x34\xcd\xb7\x52\x6e\x15\xe1\x49\x84\x84\xfc\x4b\x98\x72\x89\x4a\x0a\x9f\x1b\xc3\x46\x26\x79\x7c\x64\xa9\x1b\xb2\x42\x1e\x55\xdc\xaa\x3a\x58\x54\xb2\xfd\x5c\x25\xa6\xab\x12\xcd\xee\x67\x95\x7a\x55\xfe\x56\xb1\x0b\x3f\x81\xbb\xb2\xae\x0b\x8c\x16\x6f\xc8\xcb\x49\xb3\x62\x28\x96\x91\x52\x5a\x44\x1c\xca\x93\xc1\x23\xd4\x16\xc9\x69\x90\x72\xcc\xa2\xa3\x62\xf8\x35\x82\x71\x92\x27\x32\x7c\x62\x8f\x2a\xee\x04\x18\x65\xfa\x65\xde\xaf\xf2\x5c\xdf\x23\xf5\x6d\x9b\x44\x6e\x39\xc0\x38\xed\xb2\xa5\x40\xb8\x78\x53\x4c\xa2\xa8\x34\x93\xbf\xcc\x7a\x77\x35\xd1\x43\x2d\xbb\x56\x53\x53\xb2\x51\x41\x9a\x33\x9e\x30\x74\x50\xbc\x91\x3e\x0a\x7f\x5b\x10\x92\x67\x4d\x5e\xac\x07\x81\x93\x99\xff\x7b\xc2\xab\x33\x92\x6f\xa4\xb7\x16\x10\x41\x41\xb7\x5e\x7d\x78\x77\xf5\xea\xec\xed\xc5\x8b\x2b\xe1\x6b\xd6\x37\xce\x70\x0f\xfc\x9f\x5f\xfc\xe5\x6c\x7b\x20\xb8\x48\x41\xd3\x81\x4b\xc6\x8e\x6d\xb0\x9d\xb4\x1c\xcf\x19\x52\xf7\x05\x6c\x14\x2b\x2a\x5a\x4f\x17\x62\x66\xa5\x4c\x5d\xb9\x2c\xc3\xf7\xdf\x31\x69\x31\x9e\x80\xbb\x7a\xc4\x22\x82\x96\x50\xd5\x0a\xc2\x96\x5a\x53\xa5\x36\xda\x9d\x21\x82\xdb\x0f\x77\x8a\x63\x03\xeb\xca\xbd\x35\x92\x92\x4e\xb9\xd3\x3c\xca\x46\xde\xc8\x5e\x5a\x72\xb2\xdd\x9a\x77\x78\x49\x4f\x2e\xc3\xc3\x39\x32\x2e\xa9\x61\x0d\xc9\xf6\x02\xfd\x28\xbd\x99\x02\x34\x61\x1a\xe2\xd5\xb8\x09\xee\xc9\xcc\x40\x2c\x77\x6e\xc2\x70\x6d\x50\xcb\x79\xbd\x59\x78\x0b\xe7\x32\xf8\x6c\x39\x20\x21\xfb\x5b\xd3\xb1\xa5\x2e\xcf\x9e\xf5\x90\x5f\x7f\x57\xbe\xfe\x43\x78\x35\x0d\xc7\xb6\x6d\xfe\xf6\x26\x9a\xae\x63\xb3\xcc\x7e\x50\xd8\x16\xb3\xeb\x1c\xcf\xb9\x57\x92\xe3\xdc\x3b\xe0\x37\xf7\x86\xb3\x98\x7b\x21\xb9\x12\xf3\x90\xb6\xf5\xe4\xf0\x1f\xe0\x87\x21\x2b\x9f\xc2\x6d\x43\xaf\x23\x7a\x91\x18\x9b\x01\x62\xad\x69\xb4\x7a\x50\x2f\x51\x4d\xa2\x9a\x5f\xf3\xde\x44\x28\x6c\xa7\x7c\x73\x76\x22\x77\xc4\x4d\x97\xc1\xea\x3a\xf2\xe9\xec\x95\xcf\xfc\x56\x4c\x18\xff\x6b\x1a\x62\x67\x2e\x2d\xec\x58\x1b\x92\x32\x78\x46\xee\xd9\xe1\x6a\xe9\x07\xa1\x8a\xa5\xeb\x95\xbc\x20\x7e\xcc\x88\x8e\x5d\xb8\xca\x85\x45\x2b\x5e\x1f\xfe\xdc\x17\x4d\x24\x37\xef\xa6\x70\xdb\xf8\xd7\x14\x07\x26\x45\xf9\xf2\xc9\xed\xa2\xd6\xf6\xda\x3f\xb8\xd5\x16\xee\xa1\xf2\xf9\x78\x0d\x55\x0a\x81\x9e\xe4\xf6\x39\xe0\x46\x04\x47\x6b\x4d\xfd\x70\x4a\x96\x26\xb1\x36\xa3\xbd\xaa\xad\x5e\xa7\xa6\xb6\x3a\xe7\xb9\xea\xb4\x94\xfa\xe3\x88\xc5\x2a\x9d\x6b\xaa\x54\x2c\x0a\xdc\x46\x9f\xa1\xd9\xb9\x2d\xf0\x4b\x38\x23\x54\xac\x32\xc3\xf9\x61\x1c\x21\xd6\xa2\x5c\x26\x61\xd5\xb9\x4c\x0a\x44\x2f\x45\x4c\x96\xbf\xd0\x52\x70\x91\x0c\x7f\x06\xb5\xf9\x7f\x27\x93\xfe\x55\x4f\x26\x55\x9c\xf8\x49\x2e\x22\x2c\x3f\xed\x13\x64\x2e\x97\x66\x28\x68\x5d\x89\x58\x16\xc9\xec\x94\xa2\xa0\x70\xb6\x66\x8f\x0d\xfd\xa0\x20\xab\x7d\x64\x57\x00\xf3\xa7\x1c\x1f\x10\xba\x77\x47\x76\x02\xe8\x69\x5b\xc4\x6f\xe5\xe4\xbb\x6a\x6f\x9c\x84\x91\xd5\x25\xd7\x11\x67\x91\xb4\x5e\xcd\xc4\xd5\x51\x80\xdb\x71\x31\xa4\x0c\x35\xa4\xc3\x54\xc6\x53\x5f\xde\x91\x60\x54\x81\xf3\x81\xc7\xb0\x2b\x41\x60\xb4\x32\x9a\x83\xc1\x60\x40\x6e\x4b\x20\xb3\x77\x54\x1a\xbf\x95\x91\x23\x2c\xbd\xac\xc0\x34\x7c\x1a\xf8\xc9\xd1\x7d\x64\x30\xba\x26\x69\xc1\x72\x82\xa6\x39\xc2\x9a\xa7\xbb\x63\xaa\x4f\x72\xb5\xce\xa7\xf9\xca\xfa\x72\xf2\xb9\xc4\x53\x57\x2c\xc7\x9c\xb0\x97\xdc\x50\x0f\xc2\xf9\x29\x18\x15\x1f\x41\x13\x8e\x84\xa9\x0c\xe2\x5b\xaf\x8b\x87\x85\x9c\x8b\x98\x19\xd1\xc6\x19\xa8\xac\x08\xe2\x2d\x42\xba\x47\x5d\x20\x48\x70\x94\x83\xce\x3b\x02\xc4\xd8\x04\x11\x75\x83\x7f\x90\xe9\xc2\x0f\xe7\x64\x66\x40\x78\x25\xb6\x31\xa9\xe9\x58\xca\xba\xc8\x69\xc6\x8b\x14\xfd\x9f\x16\xff\x5f\xa8\xc5\xd3\x23\xf8\xa5\x3a\x9c\xb6\xae\x7c\x5e\xbb\x70\xac\x12\xea\x19\x02\xcb\x41\x84\x44\xca\x84\x8d\x69\xf3\xe7\x65\xe2\x15\xa4\x4f\x57\xea\xb7\xfe\xbd\x70\x09\xec\xd0\xb4\xc0\x49\xba\x36\x1a\x67\x21\x73\x17\xbc\x6e\x79\x25\x16\x12\x57\x7d\xa7\xcb\xc0\xd2\x55\x2a\x37\xc0\x24\x37\xbe\x26\x5b\x71\x20\x07\xb9\xa4\x32\x27\xec\xf4\x61\xba\x0c\xa6\x62\x61\x9f\x5a\x49\x78\x1c\x51\x21\x99\x7b\x2b\xd2\x8a\xf8\x53\x06\x9d\xe5\x3e\x55\x51\x56\x09\xc1\x8d\x49\x8e\xb3\x20\x96\x72\x73\xbd\xbc\xac\xfd\x88\xc0\x85\xed\xb9\x72\x4f\xf2\x11\x86\x64\x9b\x92\x3f\xa5\x58\x37\x11\x3d\xf3\xa7\x9a\x72\x65\x06\x3e\xa5\x93\x65\xb7\x87\x24\xe7\x84\x60\x8b\x48\x70\x44\x61\x7b\x08\x33\x21\xbe\x25\x5c\xfc\x0f\x33\xf0\x27\x0c\xc2\x73\xc2\x4a\x17\x39\xaa\x24\x81\x58\x13\xe5\x60\xa6\x36\x6a\x5e\x35\x0d\x5c\x38\x96\xb1\x5a\x17\x8e\x23\xed\x24\x92\x6b\xe7\x49\x1a\xd8\x30\xbd\x62\x1c\x1e\xd3\xce\x75\x62\x36\x1a\x8a\xc8\x16\x81\xd2\x91\x26\x2b\xd6\x56\x76\x88\x10\x67\x5f\x9d\xc4\x29\x27\x73\x2b\x6e\xcd\x5c\xe5\xa3\xef\xed\x5b\xb5\x59\x92\xcd\x66\xd3\x51\x6a\x7a\xb5\x0c\xa6\xa4\x74\x07\x11\xdc\x42\xef\x8e\x02\xf5\x66\x67\x2e\x2b\x74\x1c\x34\xdd\xec\xcd\xce\xc1\x44\x9e\x39\xe3\x14\x22\x4c\x46\xd1\x51\x8e\x01\x06\xe7\x27\x77\x32\x1d\x59\x7b\xa8\x8f\xa8\xc1\x52\x05\x22\xc9\x63\xb6\x09\x6e\x4c\x5a\xaf\x6f\xf7\xe3\x09\x46\x72\x50\xce\x28\x3a\xe6\xac\x35\x9b\x7b\x70\xb2\xbd\x3b\x78\x1f\x96\xac\x49\xe6\x84\x9f\x3d\x8a\xd2\xcd\x39\xfb\x95\x9b\x34\x78\xc9\xe9\x38\x9a\x6c\xf7\x9b\x4a\x69\x48\x23\x2a\xe6\xa5\x2b\x7f\x20\xb4\x00\xdb\xcc\xc3\x8e\x8a\x72\xd8\xc0\x71\x5e\xc0\xf3\xf0\xaa\x8c\xc6\x56\x36\x8e\xb2\xcc\x0d\xd3\xf4\x0e\xf6\x9c\x64\x71\x14\xd5\x57\x97\xd7\xa5\x99\x18\x85\xc9\x0d\xcd\x2a\x93\xf9\x5e\xd8\x4c\x9e\xb3\x8c\x91\xe2\x79\xb7\x45\x70\x93\x58\xab\xb1\x32\x93\x86\xa8\x35\xec\x08\xdb\x96\x50\xef\x47\xf6\xe3\x63\x1a\x49\x50\xf2\xa1\x5c\xe9\x0d\x1c\xd5\x12\x51\xaf\x45\x6b\x56\x8b\x6e\x6a\x94\x5b\x75\x86\x88\xc0\xd3\xa0\x47\xb6\x8a\x77\xea\x87\x61\xc4\x6a\xc0\x51\x4d\x46\x20\x8a\x21\xb6\x7c\x00\x17\x83\x3f\x44\xe1\xac\x06\x3b\x76\x6a\xb6\x20\x44\x8f\xed\x54\x6e\x85\xb0\xda\x5b\x61\x8d\x09\xe3\x62\xd2\x90\xeb\x8e\x73\xf1\x68\x25\xeb\x9d\xa4\xc1\x1a\xb4\x99\x1b\x97\x82\x1b\x33\x38\xb6\xad\xed\x15\x4e\x49\xbb\x05\xb9\xce\x53\x10\xac\x24\x62\x51\xa2\x39\xd4\x76\x69\xe8\x74\x98\x90\x8f\x7c\x1f\xc8\x74\xfa\x32\xee\x8b\x9b\xc5\xf2\xfd\x42\x33\xa6\x28\x3a\xb5\x41\xac\x1f\xf3\x25\xa8\x30\xb3\x03\x3a\x5d\x2f\x7d\xfa\x36\x88\xd9\x4e\x3b\xfb\xbb\x6c\x3d\x02\x8b\x34\x3d\xa2\x98\x7d\x58\x45\xd1\x72\x1b\x3a\x33\x08\x7f\x89\x09\xfe\xb2\xd1\x2d\x83\xca\x80\x5d\xc5\x19\xd2\xf6\xec\x1f\xde\x9e\x32\xe1\x54\xf3\x01\xc8\x85\x95\xfc\x9e\xdc\x25\xeb\x38\x02\x66\x15\xad\xd2\xf3\x78\x90\xf9\x18\x26\x57\xdb\x49\x22\x69\x7d\x78\xf9\x1f\x67\xa7\x17\x57\x6f\x5e\x5d\xbd\xb8\xb8\xf8\xf8\xe6\xe5\x2f\x17\x67\x5c\x37\x22\x56\x8c\xa3\x05\x21\x0b\x73\x11\x2e\x78\xc7\x7b\x3a\x6d\x4d\x9f\x8a\xd6\xcb\x59\x8d\x77\x2b\x99\x4b\xcd\x0f\x93\xbe\x05\xaf\x1f\x08\xab\xc9\xfa\x99\x19\xd6\x48\x5c\x32\x59\x7b\x7a\xd6\xe9\x81\x09\x92\x86\x4c\x33\xd3\xa0\xa9\xa2\xc2\x20\xe8\x40\x31\x64\x6e\x5a\xbb\x4a\xeb\x94\xc5\x52\xda\x8a\x02\x37\xb0\x49\xeb\x2a\x02\xb9\x93\xa7\x34\x46\xdb\x4b\xc8\x77\x72\x8d\x68\x8b\x25\x9b\x6d\x1d\xdb\xb2\x8a\x0d\x93\x2b\x4d\x5e\x37\x8b\x58\x7a\xef\xfd\x5b\x70\xaf\x92\x6c\x4c\x6e\x43\xae\x49\x04\xba\x2c\xb1\x31\xf3\x99\xdf\x8c\xae\xff\xde\x0c\x66\x06\x0a\x72\xdc\xc3\x9d\xdc\xba\xf8\xc9\x7f\xfa\x9e\x0f\x70\xa3\xc3\xaa\x70\xe9\x45\x85\xc9\xd6\x48\x06\x5b\x23\xbf\xd7\xcd\xfc\x8e\x2d\xae\xe6\x77\xe0\x6e\x7e\x6a\x3a\xae\x08\x45\xe4\x38\x16\xf2\xb7\x12\x30\x27\xc9\x18\xf5\xf2\xe1\x4d\x26\xae\xa4\x18\x06\xf8\xbc\xf6\x00\x63\x5f\xc6\x02\x18\x2d\xb1\xb1\xe0\x10\x06\xc6\xf3\x88\xb1\x07\xd8\x78\x76\x02\x53\xd9\xd6\x4f\x3c\x6d\xfa\xd6\x90\x3f\x46\xad\xbf\xc9\x47\x19\xf1\xcc\x34\x16\x8c\xad\xe2\xa1\x81\x93\xb3\xf4\xcb\x48\xdc\x9d\x24\xc4\x62\x1a\x2d\x4f\x8c\xbb\x38\x1e\x1e\x1e\x1a\x43\xe3\x0e\xfe\x5a\x8d\x22\xe8\x22\x8a\x99\xf2\x72\xe5\xb3\x45\xe8\xdf\x92\x86\x71\x17\x1b\x68\xaa\xd0\x17\x31\x07\xd0\x1a\x66\x90\x61\xeb\x34\x0a\x43\xe1\xb3\x7e\xed\xf3\x19\xfd\x83\xb9\x40\x71\xca\x44\x6c\xa1\x95\x8c\xb7\xfd\x1b\xb9\xbe\xb8\xf8\xdd\x5c\xa2\x35\x9a\x22\x51\x5c\x7f\xcd\x16\x57\x2c\xfa\x44\x42\xab\x15\xad\x48\x68\x5a\x23\x99\x9b\xba\x17\x65\x1d\x2e\x23\x7f\x66\xa0\x4c\xef\xe3\x7a\x6d\xd9\x9a\x2e\xa3\x98\x98\xd6\x46\xe7\x24\xcf\xae\xa1\x6d\x57\x28\xcc\x08\x0e\x2d\x66\x17\xcb\xd2\x93\xdc\x63\x32\x11\x21\xf0\x58\xc3\xb1\x4a\x87\xfe\x9b\x20\x9c\xd5\x6e\x41\x5c\x6a\xcf\x8c\x06\x69\x18\xcf\x5a\xdb\xb0\x69\x6c\x23\x2c\xb8\x2f\x46\xeb\xd0\x67\xcc\x9f\x2e\xe4\x1f\x63\xd8\x46\xc5\x77\xad\xbf\xc7\xf9\xd7\x2b\x7f\xfa\xc9\x9f\x93\xd6\xdf\xe3\x28\x34\x86\x9e\xcd\x3f\xdd\x04\x8c\xff\x37\x86\x9d\xcc\x13\x60\xa6\x2f\x0a\x68\x0e\xbc\x5f\x2f\x97\xf1\x94\x12\x12\x66\x92\xc6\xb0\x5b\xfa\xad\x35\x8d\x63\x63\xe8\xb9\xe5\x00\x3c\xcf\x22\x7e\x21\x6b\x8f\x7f\x96\x82\x3f\x8b\x8a\x5f\xdb\xf9\xaf\x69\xca\x18\xf6\x4a\xbe\x40\x9e\xbd\xcd\x28\x68\x7d\x22\x0f\xb1\x66\xc6\x24\x3b\x35\xff\x6a\xc6\xd6\x06\x05\x2d\x4a\xe2\x68\xf9\x99\xe0\x08\x91\x16\xb9\x5f\x45\x94\xc5\x38\x40\x41\x2b\x98\x61\x77\x90\x17\x13\xae\x23\x13\x90\x2f\x5c\xee\x87\x22\xf0\x67\x4b\x36\x19\xba\xf5\x83\x70\x68\x6c\x1b\x0b\xad\x68\xf0\xd9\x67\xa0\x1f\xf6\x24\xc5\x9b\x4e\xd2\x91\xed\x56\x45\x44\x11\x3a\xa1\x97\x6a\x70\xb5\x67\xed\xc6\x0f\x96\x64\x36\xac\x1d\x2e\xa2\x5b\x72\xf8\xb0\x9e\xf9\xc1\x21\xef\x90\xc1\x67\x72\xb8\xa2\xd1\x6c\x3d\x65\xf1\xa1\x6b\x3b\x9d\x43\xe8\x63\x87\x31\x9d\x1e\xce\x03\xb6\x58\x5f\xb7\xa6\xd1\xad\x44\x10\x9f\xfe\x1e\x1f\x86\xd1\x8c\x5c\x09\x41\x8e\x0f\x81\xd9\xc3\x65\x70\x7d\xe8\xcf\x66\x51\x18\x97\xcb\x48\xed\x97\x90\xdc\xaf\xc8\x94\x91\x59\x0d\xfa\x6f\xcd\x74\x86\xb6\x75\x19\xfe\x1e\xad\x6b\xb7\xfe\x43\x2d\x24\x64\xc6\x47\x70\x7f\xb5\xa2\xd1\x8a\x06\x3e\x23\x35\xde\x7f\x09\xad\xb1\xa8\x26\x16\x01\x61\xf0\xae\xdd\x04\x3c\xc5\x47\xb1\xcb\xf0\xb1\xd6\x92\x15\x96\xe6\x56\xfb\xc2\x5f\xf3\x7f\x89\xcf\x7d\x58\x83\x35\xec\x51\xf2\x9e\x45\xab\x61\xcd\x1e\x19\xd6\xbe\x8d\xb1\xed\x09\x49\x9b\xe4\xc4\xfb\x2b\xda\x77\x2b\xc4\x92\x62\x4e\x76\x73\x04\x27\xd6\xe8\xff\x0b\x00\x00\xff\xff\xa0\x84\x6a\x64\x9b\x12\x05\x00") func staticJsGottyBundleJsBytes() ([]byte, error) { return bindataRead( @@ -209,7 +209,7 @@ func staticJsGottyBundleJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/js/gotty-bundle.js", size: 329326, mode: os.FileMode(436), modTime: time.Unix(1503388521, 0)} + info := bindataFileInfo{name: "static/js/gotty-bundle.js", size: 332443, mode: os.FileMode(436), modTime: time.Unix(1503453489, 0)} a := &asset{bytes: bytes, info: info} return a, nil } From d0f6481cabaa2d52b796bfbc9ba4bfef00758b38 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Wed, 23 Aug 2017 11:04:41 +0900 Subject: [PATCH 66/82] Fix typo in CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d270e85..191bbf9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,7 +4,7 @@ GoTTY is MIT licensed and accepts contributions via GitHub pull requests. We als ## Reporting a bug -Reporting a bug is always welcome and one the best ways to contribute. A good bug report helps the developers to improve the product much easier. We therefore would like to ask you to fill out the quesions on the issue template as much as possible. That helps us to figure out what's happening and discover the root cause. +Reporting a bug is always welcome and one of the best ways to contribute. A good bug report helps the developers to improve the product much easier. We therefore would like to ask you to fill out the quesions on the issue template as much as possible. That helps us to figure out what's happening and discover the root cause. ## Requesting a new feature From 4d682aa01da4236574046e4cb1a6cd11aefa05a5 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Wed, 23 Aug 2017 11:11:04 +0900 Subject: [PATCH 67/82] Add "apple symbols' to xterm font list Since Chrome on Mac OS doesn't show characters like U+1696, we need to add a font that has those characters as a fallback target. --- resources/xterm_customize.css | 4 ++-- server/asset.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/xterm_customize.css b/resources/xterm_customize.css index 32420b8..8e4ddd9 100644 --- a/resources/xterm_customize.css +++ b/resources/xterm_customize.css @@ -1,9 +1,9 @@ .terminal { - font-family: "DejaVu Sans Mono", "Everson Mono", FreeMono, Menlo, Terminal, monospace; + font-family: "DejaVu Sans Mono", "Everson Mono", FreeMono, Menlo, Terminal, monospace, "Apple Symbols"; } .xterm-overlay { - font-family: "DejaVu Sans Mono", "Everson Mono", FreeMono, Menlo, Terminal, monospace; + font-family: "DejaVu Sans Mono", "Everson Mono", FreeMono, Menlo, Terminal, monospace, "Apple Symbols"; border-radius: 15px; font-size: xx-large; color: black; diff --git a/server/asset.go b/server/asset.go index 2049c30..a0409ba 100644 --- a/server/asset.go +++ b/server/asset.go @@ -114,7 +114,7 @@ func staticCssXtermCss() (*asset, error) { return a, nil } -var _staticCssXterm_customizeCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x8e\xc1\x4e\xf3\x40\x0c\x84\xef\x79\x0a\xab\x52\xa5\xff\x97\xb2\x51\x8a\x14\x81\xb6\x57\xe0\xd6\x13\x88\xbb\x9b\x38\x65\xe9\xc6\x8e\xbc\x9b\x92\x80\xfa\xee\x28\x64\x0b\x7d\x01\x2e\xd6\x8c\x35\x9e\xcf\x45\x24\xed\x1c\xa3\x87\xcf\x0c\x00\xa0\x15\x8e\xa6\xc5\xce\xf9\xc9\xc2\xea\x9e\xde\xf0\x65\x80\x27\xe4\x00\x3b\x61\x59\xe5\xb0\x7a\x38\x91\x06\xe1\x8b\x7f\x54\xa2\x59\xe6\xb0\x23\xf6\x92\xc3\x73\x2a\xcc\xa1\x13\x96\xd0\x63\x4d\xdb\xec\x9c\x65\xc5\x38\xa3\x8c\x9c\x48\x3d\x4e\x7f\x8b\x9b\xab\xf7\xa2\x0d\xa9\x51\x6c\xdc\x10\x2c\x6c\xaa\x7e\xdc\xfe\x32\x83\xfb\x20\x0b\xe3\x68\x3c\xea\x21\x5d\xd4\xe2\x45\x2d\xec\x3d\xd6\xc7\xd4\x81\xf5\xf1\xa0\x32\x70\x63\xe1\xfd\xd5\xc5\x14\x94\x1e\x6b\x17\x27\x0b\x65\x71\x5b\x2d\xab\x1e\x9b\xc6\xf1\x61\x5e\xdd\x50\x07\x65\x51\x7d\xcf\x1f\x9d\x52\x12\x5c\x74\xc2\x16\x70\x1f\xc4\x0f\x97\xc2\x28\xbd\x85\xaa\x5c\x2f\xce\x53\x1b\xaf\x6c\x54\xe4\xd0\x8a\x76\x76\x91\x1e\x23\xfd\x33\x55\xb9\xce\x61\x9e\xff\x97\xd4\x10\x48\x4d\x20\x4f\x75\xb4\xc0\xc2\x74\x75\x9c\x98\xe9\x6d\xd8\xdc\x95\x5d\x00\xc2\x40\xc6\xf1\x36\x3b\x7f\x05\x00\x00\xff\xff\xd2\xd9\x6e\xaa\x04\x02\x00\x00") +var _staticCssXterm_customizeCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x8e\x41\x6b\xe3\x30\x10\x85\xef\xfe\x15\x83\x21\xb0\x0b\x96\x71\x16\xcc\x2e\xca\x69\xa1\xed\x2d\xa7\x94\xde\xc7\xf6\x38\x55\x23\xcd\x08\x49\x4e\xed\x96\xfc\xf7\xe2\xda\x69\xf3\x0b\x7a\x19\xde\x1b\x3d\xbd\x6f\xca\x44\xc1\x19\x46\x0b\xef\x19\x00\x40\x2f\x9c\x54\x8f\xce\xd8\x49\x43\x7e\x47\x2f\xf8\x34\xc0\x01\x39\xc2\x5e\x58\xf2\x02\xf2\xfb\x33\x85\x28\x7c\xf5\x0f\x81\x68\x96\x05\xec\x89\xad\x14\xf0\xb8\x16\x16\xe0\x84\x25\x7a\x6c\xa9\x80\xfc\xbf\xf7\x96\xe0\x30\xb9\x46\x6c\xcc\x77\xd9\x25\xcb\xca\x71\x66\x2b\x39\x53\xb0\x38\xfd\x30\x7f\x66\x35\x12\x3a\x0a\x2a\x60\x67\x86\xa8\x61\x5b\xfb\x71\xf7\x7d\x44\x34\x6f\xa4\x61\x1c\x95\xc5\x70\xa4\xe5\xa1\x15\x2b\x41\x43\x63\xb1\x3d\xad\x1d\xd8\x9e\x8e\x41\x06\xee\x34\xbc\x3e\x9b\xb4\x06\xc5\x63\x6b\xd2\xa4\xa1\x2a\xff\xd6\xcb\xca\x63\xd7\x19\x3e\xce\xab\x3f\xe4\xa0\x2a\xeb\xcf\xf9\xa5\xd7\x94\x44\x93\x8c\xb0\x06\x6c\xa2\xd8\xe1\x5a\x98\xc4\x6b\xa8\xab\xcd\xe2\x2c\xf5\xe9\xc6\xa6\x80\x1c\x7b\x09\x4e\x2f\xd2\x62\xa2\x5f\xaa\xae\x36\x05\xcc\xf3\xf7\x92\x1a\x22\x05\x15\xc9\x52\x9b\x34\xb0\x30\xdd\x7c\x5e\x99\xeb\xd9\xb0\xfd\x57\xb9\x08\x84\x91\x94\xe1\x5d\x76\xf9\x08\x00\x00\xff\xff\xa9\x5f\x6b\xf4\x26\x02\x00\x00") func staticCssXterm_customizeCssBytes() ([]byte, error) { return bindataRead( @@ -129,7 +129,7 @@ func staticCssXterm_customizeCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/css/xterm_customize.css", size: 516, mode: os.FileMode(436), modTime: time.Unix(1503381631, 0)} + info := bindataFileInfo{name: "static/css/xterm_customize.css", size: 550, mode: os.FileMode(436), modTime: time.Unix(1503454064, 0)} a := &asset{bytes: bytes, info: info} return a, nil } From 248f51b290dfa5f68ecb0e3ef31dd0ca1e5a53d1 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Wed, 23 Aug 2017 11:15:41 +0900 Subject: [PATCH 68/82] Release v2.0.0-alpha.1 --- Makefile | 8 +++++--- version.go | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 884925a..cc2d52c 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,8 @@ OUTPUT_DIR = ./builds -GIT_COMMIT = `git rev-parse HEAD | cut -c1-10` -BUILD_OPTIONS = -ldflags "-X main.CommitID=$(GIT_COMMIT)" +GIT_COMMIT = `git rev-parse HEAD | cut -c1-7` +VERSION = 2.0.0-alpha.1 +BUILD_OPTIONS = -ldflags "-X main.Version=$(VERSION) -X main.CommitID=$(GIT_COMMIT)" + gotty: server/asset.go main.go server/*.go webtty/*.go backend/*.go Makefile godep go build ${BUILD_OPTIONS} @@ -66,7 +68,7 @@ cross_compile: targz: mkdir -p ${OUTPUT_DIR}/dist - cd ${OUTPUT_DIR}/pkg/; for osarch in *; do (cd $$osarch; tar zcvf ../../dist/gotty_$$osarch.tar.gz ./*); done; + cd ${OUTPUT_DIR}/pkg/; for osarch in *; do (cd $$osarch; tar zcvf ../../dist/gotty_${VERSION}_$$osarch.tar.gz ./*); done; shasums: cd ${OUTPUT_DIR}/dist; sha256sum * > ./SHA256SUMS diff --git a/version.go b/version.go index bdab2f0..ab7b913 100644 --- a/version.go +++ b/version.go @@ -1,4 +1,4 @@ package main -var Version = "2.0.0-alpha" +var Version = "unknown_version" var CommitID = "unknown_commit" From ba1aa690edf2c9e7d2606b907fa5f537991c6f60 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Wed, 23 Aug 2017 15:32:12 +0900 Subject: [PATCH 69/82] Use libapps utf8 decoder --- js/dist/gotty-bundle.js | 62 +++++++++++++++++------------------ js/src/webtty.ts | 10 +++--- js/typings/libapps/index.d.ts | 4 +++ server/asset.go | 6 ++-- 4 files changed, 43 insertions(+), 39 deletions(-) diff --git a/js/dist/gotty-bundle.js b/js/dist/gotty-bundle.js index 501e7a9..794fdab 100644 --- a/js/dist/gotty-bundle.js +++ b/js/dist/gotty-bundle.js @@ -1,4 +1,4 @@ -!function(e){function t(i){if(r[i])return r[i].exports;var o=r[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var r={};t.m=e,t.c=r,t.i=function(e){return e},t.d=function(e,r,i){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=28)}([function(e,t,r){"use strict";function i(e){var t=this;if(!(this instanceof i))return new i(arguments[0],arguments[1],arguments[2]);t.browser=S,t.cancel=i.cancel,u.EventEmitter.call(this),"number"==typeof e&&(e={cols:arguments[0],rows:arguments[1],handler:arguments[2]}),e=e||{},Object.keys(i.defaults).forEach(function(r){null==e[r]&&(e[r]=i.options[r],i[r]!==i.defaults[r]&&(e[r]=i[r])),t[r]=e[r]}),8===e.colors.length?e.colors=e.colors.concat(i._colors.slice(8)):16===e.colors.length?e.colors=e.colors.concat(i._colors.slice(16)):10===e.colors.length?e.colors=e.colors.slice(0,-2).concat(i._colors.slice(8,-2),e.colors.slice(-2)):18===e.colors.length&&(e.colors=e.colors.concat(i._colors.slice(16,-2),e.colors.slice(-2))),this.colors=e.colors,this.options=e,this.parent=e.body||e.parent||(A?A.getElementsByTagName("body")[0]:null),this.cols=e.cols||e.geometry[0],this.rows=e.rows||e.geometry[1],this.geometry=[this.cols,this.rows],e.handler&&this.on("data",e.handler),this.ybase=0,this.ydisp=0,this.x=0,this.y=0,this.cursorState=0,this.cursorHidden=!1,this.convertEol,this.queue="",this.scrollTop=0,this.scrollBottom=this.rows-1,this.customKeyEventHandler=null,this.cursorBlinkInterval=null,this.applicationKeypad=!1,this.applicationCursor=!1,this.originMode=!1,this.insertMode=!1,this.wraparoundMode=!0,this.normal=null,this.charset=null,this.gcharset=null,this.glevel=0,this.charsets=[null],this.decLocator,this.x10Mouse,this.vt200Mouse,this.vt300Mouse,this.normalMouse,this.mouseEvents,this.sendFocus,this.utfMouse,this.sgrMouse,this.urxvtMouse,this.element,this.children,this.refreshStart,this.refreshEnd,this.savedX,this.savedY,this.savedCols,this.readable=!0,this.writable=!0,this.defAttr=131840,this.curAttr=this.defAttr,this.params=[],this.currentParam=0,this.prefix="",this.postfix="",this.inputHandler=new m.InputHandler(this),this.parser=new y.Parser(this.inputHandler,this),this.renderer=this.renderer||null,this.selectionManager=this.selectionManager||null,this.linkifier=this.linkifier||new _.Linkifier,this.writeBuffer=[],this.writeInProgress=!1,this.xoffSentToCatchUp=!1,this.writeStopped=!1,this.surrogate_high="",this.lines=new f.CircularList(this.scrollback);for(var r=this.rows;r--;)this.lines.push(this.blankLine());this.selectionManager&&this.selectionManager.setBuffer(this.lines),this.tabs,this.setupStops(),this.userScrolling=!1}function o(e,t,r,i){Array.isArray(e)||(e=[e]),e.forEach(function(e){e.addEventListener(t,r,i||!1)})}function s(e,t,r,i){e.removeEventListener(t,r,i||!1)}function n(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function a(e,t){var r=e.browser.isMac&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.browser.isMSWindows&&t.altKey&&t.ctrlKey&&!t.metaKey;return"keypress"==t.type?r:r&&(!t.keyCode||t.keyCode>47)}function l(e,t,r){var o=e<<16|t<<8|r;if(null!=l._cache[o])return l._cache[o];for(var s,n,a,h,c,u=1/0,p=-1,d=0;d47)}function l(e,t,r){var o=e<<16|t<<8|r;if(null!=l._cache[o])return l._cache[o];for(var s,n,a,h,c,u=1/0,d=-1,p=0;p>16&255,e>>8&255,255&e]);return t}(),i.defaults={colors:i.colors,theme:"default",convertEol:!1,termName:"xterm",geometry:[80,24],cursorBlink:!1,cursorStyle:"block",visualBell:!1,popOnBell:!1,scrollback:1e3,screenKeys:!1,debug:!1,cancelEvents:!1,disableStdin:!1,useFlowControl:!1,tabStopWidth:8},i.options={},i.focus=null,function(e,t,r){if(e.forEach)return e.forEach(t,r);for(var i=0;it){var o=this.lines.length-t,s=this.ydisp-o<0;this.lines.trimStart(o),this.ybase=Math.max(this.ybase-o,0),this.ydisp=Math.max(this.ydisp-o,0),s&&this.refresh(0,this.rows-1)}this.lines.maxLength=t,this.viewport.syncScrollArea()}}switch(this[e]=t,this.options[e]=t,e){case"cursorBlink":this.setCursorBlinking(t);break;case"cursorStyle":this.element.classList.toggle("xterm-cursor-style-underline","underline"===t),this.element.classList.toggle("xterm-cursor-style-bar","bar"===t);break;case"tabStopWidth":this.setupStops()}},i.prototype.restartCursorBlinking=function(){this.setCursorBlinking(this.options.cursorBlink)},i.prototype.setCursorBlinking=function(e){if(this.element.classList.toggle("xterm-cursor-blink",e),this.clearCursorBlinkingInterval(),e){var t=this;this.cursorBlinkInterval=setInterval(function(){t.element.classList.toggle("xterm-cursor-blink-on")},600)}},i.prototype.clearCursorBlinkingInterval=function(){this.element.classList.remove("xterm-cursor-blink-on"),this.cursorBlinkInterval&&(clearInterval(this.cursorBlinkInterval),this.cursorBlinkInterval=null)},i.bindFocus=function(e){o(e.textarea,"focus",function(t){e.sendFocus&&e.send(g.C0.ESC+"[I"),e.element.classList.add("focus"),e.showCursor(),e.restartCursorBlinking.apply(e),i.focus=e,e.emit("focus",{terminal:e})})},i.prototype.blur=function(){return this.textarea.blur()},i.bindBlur=function(e){o(e.textarea,"blur",function(t){e.refresh(e.y,e.y),e.sendFocus&&e.send(g.C0.ESC+"[O"),e.element.classList.remove("focus"),e.clearCursorBlinkingInterval.apply(e),i.focus=null,e.emit("blur",{terminal:e})})},i.prototype.initGlobal=function(){var e=this,t=this;i.bindKeys(this),i.bindFocus(this),i.bindBlur(this),o(this.element,"copy",function(r){e.mouseEvents||d.copyHandler(r,t,e.selectionManager)});var r=function(e){return d.pasteHandler(e,t)};o(this.textarea,"paste",r),o(this.element,"paste",r),t.browser.isFirefox?o(this.element,"mousedown",function(t){2==t.button&&d.rightClickHandler(t,e.textarea,e.selectionManager)}):o(this.element,"contextmenu",function(t){d.rightClickHandler(t,e.textarea,e.selectionManager)}),t.browser.isLinux&&o(this.element,"auxclick",function(t){1===t.button&&d.moveTextAreaUnderMouseCursor(t,e.textarea,e.selectionManager)})},i.bindKeys=function(e){o(e.element,"keydown",function(t){A.activeElement==this&&e.keyDown(t)},!0),o(e.element,"keypress",function(t){A.activeElement==this&&e.keyPress(t)},!0),o(e.element,"keyup",function(t){h(t)||e.focus(e)},!0),o(e.textarea,"keydown",function(t){e.keyDown(t)},!0),o(e.textarea,"keypress",function(t){e.keyPress(t),this.value=""},!0),o(e.textarea,"compositionstart",e.compositionHelper.compositionstart.bind(e.compositionHelper)),o(e.textarea,"compositionupdate",e.compositionHelper.compositionupdate.bind(e.compositionHelper)),o(e.textarea,"compositionend",e.compositionHelper.compositionend.bind(e.compositionHelper)),e.on("refresh",e.compositionHelper.updateCompositionElements.bind(e.compositionHelper)),e.on("refresh",function(t){e.queueLinkification(t.start,t.end)})},i.prototype.insertRow=function(e){return"object"!=typeof e&&(e=A.createElement("div")),this.rowContainer.appendChild(e),this.children.push(e),e},i.prototype.open=function(e,t){var r=this,i=this,s=0;if(this.parent=e||this.parent,!this.parent)throw new Error("Terminal requires a parent element.");for(this.context=this.parent.ownerDocument.defaultView,this.document=this.parent.ownerDocument,this.body=this.document.getElementsByTagName("body")[0],this.element=this.document.createElement("div"),this.element.classList.add("terminal"),this.element.classList.add("xterm"),this.element.classList.add("xterm-theme-"+this.theme),this.setCursorBlinking(this.options.cursorBlink),this.element.setAttribute("tabindex",0),this.viewportElement=A.createElement("div"),this.viewportElement.classList.add("xterm-viewport"),this.element.appendChild(this.viewportElement),this.viewportScrollArea=A.createElement("div"),this.viewportScrollArea.classList.add("xterm-scroll-area"),this.viewportElement.appendChild(this.viewportScrollArea),this.selectionContainer=A.createElement("div"),this.selectionContainer.classList.add("xterm-selection"),this.element.appendChild(this.selectionContainer),this.rowContainer=A.createElement("div"),this.rowContainer.classList.add("xterm-rows"),this.element.appendChild(this.rowContainer),this.children=[],this.linkifier.attachToDom(A,this.children),this.helperContainer=A.createElement("div"),this.helperContainer.classList.add("xterm-helpers"),this.element.appendChild(this.helperContainer),this.textarea=A.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this.textarea.addEventListener("focus",function(){i.emit("focus",{terminal:i})}),this.textarea.addEventListener("blur",function(){i.emit("blur",{terminal:i})}),this.helperContainer.appendChild(this.textarea),this.compositionView=A.createElement("div"),this.compositionView.classList.add("composition-view"),this.compositionHelper=new c.CompositionHelper(this.textarea,this.compositionView,this),this.helperContainer.appendChild(this.compositionView),this.charSizeStyleElement=A.createElement("style"),this.helperContainer.appendChild(this.charSizeStyleElement);s div{height:"+this.charMeasure.height+"px;}"},i.prototype.bindMouse=function(){function e(e){var t,r;if(t=n(e),r=v.getRawByteCoords(e,l.rowContainer,l.charMeasure,l.cols,l.rows))switch(i(t,r),e.overrideType||e.type){case"mousedown":h=t;break;case"mouseup":h=32}}function t(e){var t,r=h;(t=v.getRawByteCoords(e,l.rowContainer,l.charMeasure,l.cols,l.rows))&&i(r+=32,t)}function r(e,t){if(l.utfMouse){if(2047===t)return e.push(0);t<127?e.push(t):(t>2047&&(t=2047),e.push(192|t>>6),e.push(128|63&t))}else{if(255===t)return e.push(0);t>127&&(t=127),e.push(t)}}function i(e,t){if(l.vt300Mouse){e&=3,t.x-=32,t.y-=32;var i=g.C0.ESC+"[24";if(0===e)i+="1";else if(1===e)i+="3";else if(2===e)i+="5";else{if(3===e)return;i+="0"}return i+="~["+t.x+","+t.y+"]\r",void l.send(i)}return l.decLocator?(e&=3,t.x-=32,t.y-=32,0===e?e=2:1===e?e=4:2===e?e=6:3===e&&(e=3),void l.send(g.C0.ESC+"["+e+";"+(3===e?4:0)+";"+t.y+";"+t.x+";"+(t.page||0)+"&w")):l.urxvtMouse?(t.x-=32,t.y-=32,t.x++,t.y++,void l.send(g.C0.ESC+"["+e+";"+t.x+";"+t.y+"M")):l.sgrMouse?(t.x-=32,t.y-=32,void l.send(g.C0.ESC+"[<"+((3==(3&e)?-4&e:e)-32)+";"+t.x+";"+t.y+(3==(3&e)?"m":"M"))):(r(i=[],e),r(i,t.x),r(i,t.y),void l.send(g.C0.ESC+"[M"+String.fromCharCode.apply(String,i)))}function n(e){var t,r,i,o,s;switch(e.overrideType||e.type){case"mousedown":t=null!=e.button?+e.button:null!=e.which?e.which-1:null,l.browser.isMSIE&&(t=1===t?0:4===t?1:t);break;case"mouseup":t=3;break;case"DOMMouseScroll":t=e.detail<0?64:65;break;case"wheel":t=e.wheelDeltaY>0?64:65}return r=e.shiftKey?4:0,i=e.metaKey?8:0,o=e.ctrlKey?16:0,s=r|i|o,l.vt200Mouse?s&=o:l.normalMouse||(s=0),t=32+(s<<2)+t}var a=this.element,l=this,h=32;o(a,"mousedown",function(r){if(l.mouseEvents)return e(r),l.focus(),l.vt200Mouse?(r.overrideType="mouseup",e(r),l.cancel(r)):(l.normalMouse&&o(l.document,"mousemove",t),l.x10Mouse||o(l.document,"mouseup",function r(i){return e(i),l.normalMouse&&s(l.document,"mousemove",t),s(l.document,"mouseup",r),l.cancel(i)}),l.cancel(r))}),o(a,"wheel",function(t){if(l.mouseEvents&&!(l.x10Mouse||l.vt300Mouse||l.decLocator))return e(t),l.cancel(t)}),o(a,"wheel",function(e){if(!l.mouseEvents)return l.viewport.onWheel(e),l.cancel(e)}),o(a,"touchstart",function(e){if(!l.mouseEvents)return l.viewport.onTouchStart(e),l.cancel(e)}),o(a,"touchmove",function(e){if(!l.mouseEvents)return l.viewport.onTouchMove(e),l.cancel(e)})},i.prototype.destroy=function(){this.readable=!1,this.writable=!1,this._events={},this.handler=function(){},this.write=function(){},this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element)},i.prototype.refresh=function(e,t){this.renderer&&this.renderer.queueRefresh(e,t)},i.prototype.queueLinkification=function(e,t){if(this.linkifier)for(var r=e;r<=t;r++)this.linkifier.linkifyRow(r)},i.prototype.showCursor=function(){this.cursorState||(this.cursorState=1,this.refresh(this.y,this.y))},i.prototype.scroll=function(e){var t;this.lines.length===this.lines.maxLength&&(this.lines.trimStart(1),this.ybase--,0!==this.ydisp&&this.ydisp--),this.ybase++,this.userScrolling||(this.ydisp=this.ybase),t=this.ybase+this.rows-1,(t-=this.rows-1-this.scrollBottom)===this.lines.length?this.lines.push(this.blankLine(void 0,e)):this.lines.splice(t,0,this.blankLine(void 0,e)),0!==this.scrollTop&&(0!==this.ybase&&(this.ybase--,this.userScrolling||(this.ydisp=this.ybase)),this.lines.splice(this.ybase+this.scrollTop,1)),this.updateRange(this.scrollTop),this.updateRange(this.scrollBottom),this.emit("scroll",this.ydisp)},i.prototype.scrollDisp=function(e,t){if(e<0){if(0===this.ydisp)return;this.userScrolling=!0}else e+this.ydisp>=this.ybase&&(this.userScrolling=!1);this.ydisp+=e,this.ydisp>this.ybase?this.ydisp=this.ybase:this.ydisp<0&&(this.ydisp=0),t||this.emit("scroll",this.ydisp),this.refresh(0,this.rows-1)},i.prototype.scrollPages=function(e){this.scrollDisp(e*(this.rows-1))},i.prototype.scrollToTop=function(){this.scrollDisp(-this.ydisp)},i.prototype.scrollToBottom=function(){this.scrollDisp(this.ybase-this.ydisp)},i.prototype.write=function(e){if(this.writeBuffer.push(e),this.options.useFlowControl&&!this.xoffSentToCatchUp&&this.writeBuffer.length>=5&&(this.send(g.C0.DC3),this.xoffSentToCatchUp=!0),!this.writeInProgress&&this.writeBuffer.length>0){this.writeInProgress=!0;var t=this;setTimeout(function(){t.innerWrite()})}},i.prototype.innerWrite=function(){for(var e=this.writeBuffer.splice(0,300);e.length>0;){var t=e.shift();t.length;this.xoffSentToCatchUp&&0===e.length&&0===this.writeBuffer.length&&(this.send(g.C0.DC1),this.xoffSentToCatchUp=!1),this.refreshStart=this.y,this.refreshEnd=this.y;var r=this.parser.parse(t);this.parser.setState(r),this.updateRange(this.y),this.refresh(this.refreshStart,this.refreshEnd)}if(this.writeBuffer.length>0){var i=this;setTimeout(function(){i.innerWrite()},0)}else this.writeInProgress=!1},i.prototype.writeln=function(e){this.write(e+"\r\n")},i.prototype.attachCustomKeydownHandler=function(e){console.warn("attachCustomKeydownHandler() is DEPRECATED and will be removed soon. Please use attachCustomKeyEventHandler() instead."),this.attachCustomKeyEventHandler(e)},i.prototype.attachCustomKeyEventHandler=function(e){this.customKeyEventHandler=e},i.prototype.setHypertextLinkHandler=function(e){if(!this.linkifier)throw new Error("Cannot attach a hypertext link handler before Terminal.open is called");this.linkifier.setHypertextLinkHandler(e),this.refresh(0,this.rows-1)},i.prototype.setHypertextValidationCallback=function(e){if(!this.linkifier)throw new Error("Cannot attach a hypertext validation callback before Terminal.open is called");this.linkifier.setHypertextValidationCallback(e),this.refresh(0,this.rows-1)},i.prototype.registerLinkMatcher=function(e,t,r){if(this.linkifier){var i=this.linkifier.registerLinkMatcher(e,t,r);return this.refresh(0,this.rows-1),i}},i.prototype.deregisterLinkMatcher=function(e){this.linkifier&&this.linkifier.deregisterLinkMatcher(e)&&this.refresh(0,this.rows-1)},i.prototype.hasSelection=function(){return this.selectionManager.hasSelection},i.prototype.getSelection=function(){return this.selectionManager.selectionText},i.prototype.clearSelection=function(){this.selectionManager.clearSelection()},i.prototype.selectAll=function(){this.selectionManager.selectAll()},i.prototype.keyDown=function(e){if(this.customKeyEventHandler&&!1===this.customKeyEventHandler(e))return!1;if(this.restartCursorBlinking(),!this.compositionHelper.keydown.bind(this.compositionHelper)(e))return this.ybase!==this.ydisp&&this.scrollToBottom(),!1;var t=this.evaluateKeyEscapeSequence(e);return t.key===g.C0.DC3?this.writeStopped=!0:t.key===g.C0.DC1&&(this.writeStopped=!1),t.scrollDisp?(this.scrollDisp(t.scrollDisp),this.cancel(e,!0)):!!a(this,e)||(t.cancel&&this.cancel(e,!0),!t.key||(this.emit("keydown",e),this.emit("key",t.key,e),this.showCursor(),this.handler(t.key),this.cancel(e,!0)))},i.prototype.evaluateKeyEscapeSequence=function(e){var t={cancel:!1,key:void 0,scrollDisp:void 0},r=e.shiftKey<<0|e.altKey<<1|e.ctrlKey<<2|e.metaKey<<3;switch(e.keyCode){case 8:if(e.shiftKey){t.key=g.C0.BS;break}t.key=g.C0.DEL;break;case 9:if(e.shiftKey){t.key=g.C0.ESC+"[Z";break}t.key=g.C0.HT,t.cancel=!0;break;case 13:t.key=g.C0.CR,t.cancel=!0;break;case 27:t.key=g.C0.ESC,t.cancel=!0;break;case 37:r?(t.key=g.C0.ESC+"[1;"+(r+1)+"D",t.key==g.C0.ESC+"[1;3D"&&(t.key=this.browser.isMac?g.C0.ESC+"b":g.C0.ESC+"[1;5D")):this.applicationCursor?t.key=g.C0.ESC+"OD":t.key=g.C0.ESC+"[D";break;case 39:r?(t.key=g.C0.ESC+"[1;"+(r+1)+"C",t.key==g.C0.ESC+"[1;3C"&&(t.key=this.browser.isMac?g.C0.ESC+"f":g.C0.ESC+"[1;5C")):this.applicationCursor?t.key=g.C0.ESC+"OC":t.key=g.C0.ESC+"[C";break;case 38:r?(t.key=g.C0.ESC+"[1;"+(r+1)+"A",t.key==g.C0.ESC+"[1;3A"&&(t.key=g.C0.ESC+"[1;5A")):this.applicationCursor?t.key=g.C0.ESC+"OA":t.key=g.C0.ESC+"[A";break;case 40:r?(t.key=g.C0.ESC+"[1;"+(r+1)+"B",t.key==g.C0.ESC+"[1;3B"&&(t.key=g.C0.ESC+"[1;5B")):this.applicationCursor?t.key=g.C0.ESC+"OB":t.key=g.C0.ESC+"[B";break;case 45:e.shiftKey||e.ctrlKey||(t.key=g.C0.ESC+"[2~");break;case 46:t.key=r?g.C0.ESC+"[3;"+(r+1)+"~":g.C0.ESC+"[3~";break;case 36:r?t.key=g.C0.ESC+"[1;"+(r+1)+"H":this.applicationCursor?t.key=g.C0.ESC+"OH":t.key=g.C0.ESC+"[H";break;case 35:r?t.key=g.C0.ESC+"[1;"+(r+1)+"F":this.applicationCursor?t.key=g.C0.ESC+"OF":t.key=g.C0.ESC+"[F";break;case 33:e.shiftKey?t.scrollDisp=-(this.rows-1):t.key=g.C0.ESC+"[5~";break;case 34:e.shiftKey?t.scrollDisp=this.rows-1:t.key=g.C0.ESC+"[6~";break;case 112:t.key=r?g.C0.ESC+"[1;"+(r+1)+"P":g.C0.ESC+"OP";break;case 113:t.key=r?g.C0.ESC+"[1;"+(r+1)+"Q":g.C0.ESC+"OQ";break;case 114:t.key=r?g.C0.ESC+"[1;"+(r+1)+"R":g.C0.ESC+"OR";break;case 115:t.key=r?g.C0.ESC+"[1;"+(r+1)+"S":g.C0.ESC+"OS";break;case 116:t.key=r?g.C0.ESC+"[15;"+(r+1)+"~":g.C0.ESC+"[15~";break;case 117:t.key=r?g.C0.ESC+"[17;"+(r+1)+"~":g.C0.ESC+"[17~";break;case 118:t.key=r?g.C0.ESC+"[18;"+(r+1)+"~":g.C0.ESC+"[18~";break;case 119:t.key=r?g.C0.ESC+"[19;"+(r+1)+"~":g.C0.ESC+"[19~";break;case 120:t.key=r?g.C0.ESC+"[20;"+(r+1)+"~":g.C0.ESC+"[20~";break;case 121:t.key=r?g.C0.ESC+"[21;"+(r+1)+"~":g.C0.ESC+"[21~";break;case 122:t.key=r?g.C0.ESC+"[23;"+(r+1)+"~":g.C0.ESC+"[23~";break;case 123:t.key=r?g.C0.ESC+"[24;"+(r+1)+"~":g.C0.ESC+"[24~";break;default:!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?this.browser.isMac||!e.altKey||e.ctrlKey||e.metaKey?this.browser.isMac&&!e.altKey&&!e.ctrlKey&&e.metaKey&&65===e.keyCode&&this.selectAll():e.keyCode>=65&&e.keyCode<=90?t.key=g.C0.ESC+String.fromCharCode(e.keyCode+32):192===e.keyCode?t.key=g.C0.ESC+"`":e.keyCode>=48&&e.keyCode<=57&&(t.key=g.C0.ESC+(e.keyCode-48)):e.keyCode>=65&&e.keyCode<=90?t.key=String.fromCharCode(e.keyCode-64):32===e.keyCode?t.key=String.fromCharCode(0):e.keyCode>=51&&e.keyCode<=55?t.key=String.fromCharCode(e.keyCode-51+27):56===e.keyCode?t.key=String.fromCharCode(127):219===e.keyCode?t.key=String.fromCharCode(27):220===e.keyCode?t.key=String.fromCharCode(28):221===e.keyCode&&(t.key=String.fromCharCode(29))}return t},i.prototype.setgLevel=function(e){this.glevel=e,this.charset=this.charsets[e]},i.prototype.setgCharset=function(e,t){this.charsets[e]=t,this.glevel===e&&(this.charset=t)},i.prototype.keyPress=function(e){var t;if(this.customKeyEventHandler&&!1===this.customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(null==e.which)t=e.keyCode;else{if(0===e.which||0===e.charCode)return!1;t=e.which}return!(!t||(e.altKey||e.ctrlKey||e.metaKey)&&!a(this,e))&&(t=String.fromCharCode(t),this.emit("keypress",t,e),this.emit("key",t,e),this.showCursor(),this.handler(t),!0)},i.prototype.send=function(e){var t=this;this.queue||setTimeout(function(){t.handler(t.queue),t.queue=""},1),this.queue+=e},i.prototype.bell=function(){if(this.visualBell){var e=this;this.element.style.borderColor="white",setTimeout(function(){e.element.style.borderColor=""},10),this.popOnBell&&this.focus()}},i.prototype.log=function(){if(this.debug&&this.context.console&&this.context.console.log){var e=Array.prototype.slice.call(arguments);this.context.console.log.apply(this.context.console,e)}},i.prototype.error=function(){if(this.debug&&this.context.console&&this.context.console.error){var e=Array.prototype.slice.call(arguments);this.context.console.error.apply(this.context.console,e)}},i.prototype.resize=function(e,t){if(!isNaN(e)&&!isNaN(t)){t>this.getOption("scrollback")&&this.setOption("scrollback",t);var r,i,o,s,n;if(e!==this.cols||t!==this.rows){if(e<1&&(e=1),t<1&&(t=1),(o=this.cols)0&&this.lines.length<=this.ybase+this.y+n+1?(this.ybase--,n++,this.ydisp>0&&this.ydisp--):this.lines.push(this.blankLine())),this.children.lengtht;)if(this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++)),this.children.length>t){if(!(r=this.children.shift()))continue;r.parentNode.removeChild(r)}this.rows=t,this.y>=t&&(this.y=t-1),n&&(this.y+=n),this.x>=e&&(this.x=e-1),this.scrollTop=0,this.scrollBottom=t-1,this.charMeasure.measure(),this.refresh(0,this.rows-1),this.normal=null,this.geometry=[this.cols,this.rows],this.emit("resize",{terminal:this,cols:e,rows:t})}}},i.prototype.updateRange=function(e){ethis.refreshEnd&&(this.refreshEnd=e)},i.prototype.maxRange=function(){this.refreshStart=0,this.refreshEnd=this.rows-1},i.prototype.setupStops=function(e){for(null!=e?this.tabs[e]||(e=this.prevStop(e)):(this.tabs={},e=0);e0;);return e>=this.cols?this.cols-1:e<0?0:e},i.prototype.nextStop=function(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e=this.cols?this.cols-1:e<0?0:e},i.prototype.eraseRight=function(e,t){var r=this.lines.get(this.ybase+t);if(r){for(var i=[this.eraseAttr()," ",1];ethis.scrollBottom&&(this.y--,this.scroll()),this.x>=this.cols&&this.x--},i.prototype.reverseIndex=function(){this.y===this.scrollTop?(this.lines.shiftElements(this.y+this.ybase,this.rows-1,1),this.lines.set(this.y+this.ybase,this.blankLine(!0)),this.updateRange(this.scrollTop),this.updateRange(this.scrollBottom)):this.y--},i.prototype.reset=function(){this.options.rows=this.rows,this.options.cols=this.cols;var e=this.customKeyEventHandler,t=this.cursorBlinkInterval;i.call(this,this.options),this.customKeyEventHandler=e,this.cursorBlinkInterval=t,this.refresh(0,this.rows-1),this.viewport.syncScrollArea()},i.prototype.tabSet=function(){this.tabs[this.x]=!0},i.prototype.matchColor=l,l._cache={},l.distance=function(e,t,r,i,o,s){return Math.pow(30*(e-i),2)+Math.pow(59*(t-o),2)+Math.pow(11*(r-s),2)},i.EventEmitter=u.EventEmitter,i.inherits=n,i.on=o,i.off=s,i.cancel=function(e,t){if(this.cancelEvents||t)return e.preventDefault(),e.stopPropagation(),!1},e.exports=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(){this._events=this._events||{}}return e.prototype.on=function(e,t){this._events[e]=this._events[e]||[],this._events[e].push(t)},e.prototype.off=function(e,t){if(this._events[e])for(var r=this._events[e],i=r.length;i--;)if(r[i]===t||r[i].listener===t)return void r.splice(i,1)},e.prototype.removeAllListeners=function(e){this._events[e]&&delete this._events[e]},e.prototype.once=function(e,t){function r(){var i=Array.prototype.slice.call(arguments);return this.off(e,r),t.apply(this,i)}return r.listener=t,this.on(e,r)},e.prototype.emit=function(e){for(var t=[],r=1;r=0},function(e,t,r){"use strict";function i(e,t){if(null==e.pageX)return null;for(var r=e.pageX,i=e.pageY;t&&t!==self.document.documentElement;)r-=t.offsetLeft,i-=t.offsetTop,t="offsetParent"in t?t.offsetParent:t.parentElement;return[r,i]}function o(e,t,r,o,s,n){var a=i(e,t);return a[0]=Math.ceil((a[0]+(n?r.width/2:0))/r.width),a[1]=Math.ceil(a[1]/r.height),a[0]=Math.min(Math.max(a[0],1),o+1),a[1]=Math.min(Math.max(a[1],1),s+1),a}Object.defineProperty(t,"__esModule",{value:!0}),t.getCoordsRelativeToElement=i,t.getCoords=o,t.getRawByteCoords=function(e,t,r,i,s){var n=o(e,t,r,i,s),a=n[0],l=n[1];return a+=32,l+=32,{x:a,y:l}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(14),o=function(){function e(e){this.elem=e,i.hterm.defaultStorage=new i.lib.Storage.Memory,this.term=new i.hterm.Terminal,this.term.getPrefs().set("send-encoding","raw"),this.term.decorate(this.elem),this.io=this.term.io.push(),this.term.installKeyboard()}return e.prototype.info=function(){return{columns:this.columns,rows:this.rows}},e.prototype.output=function(e){null!=this.term.io&&this.term.io.writeUTF16(e)},e.prototype.showMessage=function(e,t){this.message=e,t>0?this.term.io.showOverlay(e,t):this.term.io.showOverlay(e,null)},e.prototype.removeMessage=function(){this.term.io.showOverlay(this.message,0)},e.prototype.setWindowTitle=function(e){this.term.setWindowTitle(e)},e.prototype.setPreferences=function(e){var t=this;Object.keys(e).forEach(function(r){t.term.getPrefs().set(r,e[r])})},e.prototype.onInput=function(e){this.io.onVTKeystroke=function(t){e(t)},this.io.sendString=function(t){e(t)}},e.prototype.onResize=function(e){var t=this;this.io.onTerminalResize=function(r,i){t.columns=r,t.rows=i,e(r,i)}},e.prototype.deactivate=function(){this.io.onVTKeystroke=null,this.io.sendString=null,this.io.onTerminalResize=null,this.term.uninstallKeyboard()},e.prototype.reset=function(){this.removeMessage(),this.term.installKeyboard()},e.prototype.close=function(){this.term.uninstallKeyboard()},e}();t.Hterm=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){this.url=e,this.protocols=t}return e.prototype.create=function(){return new o(this.url,this.protocols)},e}();t.ConnectionFactory=i;var o=function(){function e(e,t){this.bare=new WebSocket(e,t)}return e.prototype.open=function(){},e.prototype.close=function(){this.bare.close()},e.prototype.send=function(e){this.bare.send(e)},e.prototype.isOpen=function(){return this.bare.readyState==WebSocket.CONNECTING||this.bare.readyState==WebSocket.OPEN},e.prototype.onOpen=function(e){this.bare.onopen=function(t){e()}},e.prototype.onReceive=function(e){this.bare.onmessage=function(t){e(t.data)}},e.prototype.onClose=function(e){this.bare.onclose=function(t){e()}},e}();t.Connection=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.protocols=["webtty"],t.msgInputUnknown="0",t.msgInput="1",t.msgPing="2",t.msgResizeTerminal="3",t.msgUnknownOutput="0",t.msgOutput="1",t.msgPong="2",t.msgSetWindowTitle="3",t.msgSetPreferences="4",t.msgSetReconnect="5";var i=function(){function e(e,t,r,i){this.term=e,this.connectionFactory=t,this.args=r,this.authToken=i,this.reconnect=-1}return e.prototype.open=function(){var e,r,i=this,o=this.connectionFactory.create(),s=function(){o.onOpen(function(){var r=i.term.info();o.send(JSON.stringify({Arguments:i.args,AuthToken:i.authToken}));var s=function(e,r){o.send(t.msgResizeTerminal+JSON.stringify({columns:e,rows:r}))};i.term.onResize(s),s(r.columns,r.rows),i.term.onInput(function(e){o.send(t.msgInput+e)}),e=setInterval(function(){o.send(t.msgPing)},3e4)}),o.onReceive(function(e){var r=e.slice(1);switch(e[0]){case t.msgOutput:i.term.output(decodeURIComponent(Array.prototype.map.call(atob(r),function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join("")));break;case t.msgPong:break;case t.msgSetWindowTitle:i.term.setWindowTitle(r);break;case t.msgSetPreferences:var o=JSON.parse(r);i.term.setPreferences(o);break;case t.msgSetReconnect:var s=JSON.parse(r);console.log("Enabling reconnect: "+s+" seconds"),i.reconnect=s}}),o.onClose(function(){clearInterval(e),i.term.deactivate(),i.term.showMessage("Connection Closed",0),i.reconnect>0&&(r=setTimeout(function(){o=i.connectionFactory.create(),i.term.reset(),s()},1e3*i.reconnect))}),o.open()};return s(),function(){clearTimeout(r),o.close()}},e}();t.WebTTY=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(0);i.loadAddon("fit");var o=function(){function e(e){var t=this;this.elem=e,this.term=new i,this.message=e.ownerDocument.createElement("div"),this.message.className="xterm-overlay",this.messageTimeout=2e3,this.resizeListener=function(){t.term.fit(),t.term.scrollToBottom(),t.showMessage(String(t.term.cols)+"x"+String(t.term.rows),t.messageTimeout)},this.term.on("open",function(){t.resizeListener(),window.addEventListener("resize",function(){t.resizeListener()})}),this.term.open(e,!0)}return e.prototype.info=function(){return{columns:this.term.cols,rows:this.term.rows}},e.prototype.output=function(e){this.term.write(e)},e.prototype.showMessage=function(e,t){var r=this;this.message.textContent=e,this.elem.appendChild(this.message),this.messageTimer&&clearTimeout(this.messageTimer),t>0&&(this.messageTimer=setTimeout(function(){r.elem.removeChild(r.message)},t))},e.prototype.removeMessage=function(){this.message.parentNode==this.elem&&this.elem.removeChild(this.message)},e.prototype.setWindowTitle=function(e){document.title=e},e.prototype.setPreferences=function(e){},e.prototype.onInput=function(e){this.term.on("data",function(t){e(t)})},e.prototype.onResize=function(e){this.term.on("resize",function(t){e(t.cols,t.rows)})},e.prototype.deactivate=function(){this.term.off("data"),this.term.off("resize"),this.term.blur()},e.prototype.reset=function(){this.removeMessage(),this.term.clear()},e.prototype.close=function(){window.removeEventListener("resize",this.resizeListener),this.term.destroy()},e}();t.Xterm=o},function(e,t,r){"use strict";/*! +Object.defineProperty(t,"__esModule",{value:!0});var c=r(15),u=r(1),d=r(22),p=r(23),f=r(25),g=r(2),m=r(16),y=r(18),b=r(19),_=r(17),C=r(20),w=r(24),S=r(9),v=r(10),A="undefined"!=typeof window?window.document:null;n(i,u.EventEmitter),i.prototype.eraseAttr=function(){return-512&this.defAttr|511&this.curAttr},i.tangoColors=["#2e3436","#cc0000","#4e9a06","#c4a000","#3465a4","#75507b","#06989a","#d3d7cf","#555753","#ef2929","#8ae234","#fce94f","#729fcf","#ad7fa8","#34e2e2","#eeeeec"],i.colors=function(){function e(e,r,i){o.push("#"+t(e)+t(r)+t(i))}function t(e){return(e=e.toString(16)).length<2?"0"+e:e}var r,o=i.tangoColors.slice(),s=[0,95,135,175,215,255];for(r=0;r<216;r++)e(s[r/36%6|0],s[r/6%6|0],s[r%6]);for(r=0;r<24;r++)e(s=8+10*r,s,s);return o}(),i._colors=i.colors.slice(),i.vcolors=function(){for(var e,t=[],r=i.colors,o=0;o<256;o++)e=parseInt(r[o].substring(1),16),t.push([e>>16&255,e>>8&255,255&e]);return t}(),i.defaults={colors:i.colors,theme:"default",convertEol:!1,termName:"xterm",geometry:[80,24],cursorBlink:!1,cursorStyle:"block",visualBell:!1,popOnBell:!1,scrollback:1e3,screenKeys:!1,debug:!1,cancelEvents:!1,disableStdin:!1,useFlowControl:!1,tabStopWidth:8},i.options={},i.focus=null,function(e,t,r){if(e.forEach)return e.forEach(t,r);for(var i=0;it){var o=this.lines.length-t,s=this.ydisp-o<0;this.lines.trimStart(o),this.ybase=Math.max(this.ybase-o,0),this.ydisp=Math.max(this.ydisp-o,0),s&&this.refresh(0,this.rows-1)}this.lines.maxLength=t,this.viewport.syncScrollArea()}}switch(this[e]=t,this.options[e]=t,e){case"cursorBlink":this.setCursorBlinking(t);break;case"cursorStyle":this.element.classList.toggle("xterm-cursor-style-underline","underline"===t),this.element.classList.toggle("xterm-cursor-style-bar","bar"===t);break;case"tabStopWidth":this.setupStops()}},i.prototype.restartCursorBlinking=function(){this.setCursorBlinking(this.options.cursorBlink)},i.prototype.setCursorBlinking=function(e){if(this.element.classList.toggle("xterm-cursor-blink",e),this.clearCursorBlinkingInterval(),e){var t=this;this.cursorBlinkInterval=setInterval(function(){t.element.classList.toggle("xterm-cursor-blink-on")},600)}},i.prototype.clearCursorBlinkingInterval=function(){this.element.classList.remove("xterm-cursor-blink-on"),this.cursorBlinkInterval&&(clearInterval(this.cursorBlinkInterval),this.cursorBlinkInterval=null)},i.bindFocus=function(e){o(e.textarea,"focus",function(t){e.sendFocus&&e.send(g.C0.ESC+"[I"),e.element.classList.add("focus"),e.showCursor(),e.restartCursorBlinking.apply(e),i.focus=e,e.emit("focus",{terminal:e})})},i.prototype.blur=function(){return this.textarea.blur()},i.bindBlur=function(e){o(e.textarea,"blur",function(t){e.refresh(e.y,e.y),e.sendFocus&&e.send(g.C0.ESC+"[O"),e.element.classList.remove("focus"),e.clearCursorBlinkingInterval.apply(e),i.focus=null,e.emit("blur",{terminal:e})})},i.prototype.initGlobal=function(){var e=this,t=this;i.bindKeys(this),i.bindFocus(this),i.bindBlur(this),o(this.element,"copy",function(r){e.mouseEvents||p.copyHandler(r,t,e.selectionManager)});var r=function(e){return p.pasteHandler(e,t)};o(this.textarea,"paste",r),o(this.element,"paste",r),t.browser.isFirefox?o(this.element,"mousedown",function(t){2==t.button&&p.rightClickHandler(t,e.textarea,e.selectionManager)}):o(this.element,"contextmenu",function(t){p.rightClickHandler(t,e.textarea,e.selectionManager)}),t.browser.isLinux&&o(this.element,"auxclick",function(t){1===t.button&&p.moveTextAreaUnderMouseCursor(t,e.textarea,e.selectionManager)})},i.bindKeys=function(e){o(e.element,"keydown",function(t){A.activeElement==this&&e.keyDown(t)},!0),o(e.element,"keypress",function(t){A.activeElement==this&&e.keyPress(t)},!0),o(e.element,"keyup",function(t){h(t)||e.focus(e)},!0),o(e.textarea,"keydown",function(t){e.keyDown(t)},!0),o(e.textarea,"keypress",function(t){e.keyPress(t),this.value=""},!0),o(e.textarea,"compositionstart",e.compositionHelper.compositionstart.bind(e.compositionHelper)),o(e.textarea,"compositionupdate",e.compositionHelper.compositionupdate.bind(e.compositionHelper)),o(e.textarea,"compositionend",e.compositionHelper.compositionend.bind(e.compositionHelper)),e.on("refresh",e.compositionHelper.updateCompositionElements.bind(e.compositionHelper)),e.on("refresh",function(t){e.queueLinkification(t.start,t.end)})},i.prototype.insertRow=function(e){return"object"!=typeof e&&(e=A.createElement("div")),this.rowContainer.appendChild(e),this.children.push(e),e},i.prototype.open=function(e,t){var r=this,i=this,s=0;if(this.parent=e||this.parent,!this.parent)throw new Error("Terminal requires a parent element.");for(this.context=this.parent.ownerDocument.defaultView,this.document=this.parent.ownerDocument,this.body=this.document.getElementsByTagName("body")[0],this.element=this.document.createElement("div"),this.element.classList.add("terminal"),this.element.classList.add("xterm"),this.element.classList.add("xterm-theme-"+this.theme),this.setCursorBlinking(this.options.cursorBlink),this.element.setAttribute("tabindex",0),this.viewportElement=A.createElement("div"),this.viewportElement.classList.add("xterm-viewport"),this.element.appendChild(this.viewportElement),this.viewportScrollArea=A.createElement("div"),this.viewportScrollArea.classList.add("xterm-scroll-area"),this.viewportElement.appendChild(this.viewportScrollArea),this.selectionContainer=A.createElement("div"),this.selectionContainer.classList.add("xterm-selection"),this.element.appendChild(this.selectionContainer),this.rowContainer=A.createElement("div"),this.rowContainer.classList.add("xterm-rows"),this.element.appendChild(this.rowContainer),this.children=[],this.linkifier.attachToDom(A,this.children),this.helperContainer=A.createElement("div"),this.helperContainer.classList.add("xterm-helpers"),this.element.appendChild(this.helperContainer),this.textarea=A.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this.textarea.addEventListener("focus",function(){i.emit("focus",{terminal:i})}),this.textarea.addEventListener("blur",function(){i.emit("blur",{terminal:i})}),this.helperContainer.appendChild(this.textarea),this.compositionView=A.createElement("div"),this.compositionView.classList.add("composition-view"),this.compositionHelper=new c.CompositionHelper(this.textarea,this.compositionView,this),this.helperContainer.appendChild(this.compositionView),this.charSizeStyleElement=A.createElement("style"),this.helperContainer.appendChild(this.charSizeStyleElement);s div{height:"+this.charMeasure.height+"px;}"},i.prototype.bindMouse=function(){function e(e){var t,r;if(t=n(e),r=v.getRawByteCoords(e,l.rowContainer,l.charMeasure,l.cols,l.rows))switch(i(t,r),e.overrideType||e.type){case"mousedown":h=t;break;case"mouseup":h=32}}function t(e){var t,r=h;(t=v.getRawByteCoords(e,l.rowContainer,l.charMeasure,l.cols,l.rows))&&i(r+=32,t)}function r(e,t){if(l.utfMouse){if(2047===t)return e.push(0);t<127?e.push(t):(t>2047&&(t=2047),e.push(192|t>>6),e.push(128|63&t))}else{if(255===t)return e.push(0);t>127&&(t=127),e.push(t)}}function i(e,t){if(l.vt300Mouse){e&=3,t.x-=32,t.y-=32;var i=g.C0.ESC+"[24";if(0===e)i+="1";else if(1===e)i+="3";else if(2===e)i+="5";else{if(3===e)return;i+="0"}return i+="~["+t.x+","+t.y+"]\r",void l.send(i)}return l.decLocator?(e&=3,t.x-=32,t.y-=32,0===e?e=2:1===e?e=4:2===e?e=6:3===e&&(e=3),void l.send(g.C0.ESC+"["+e+";"+(3===e?4:0)+";"+t.y+";"+t.x+";"+(t.page||0)+"&w")):l.urxvtMouse?(t.x-=32,t.y-=32,t.x++,t.y++,void l.send(g.C0.ESC+"["+e+";"+t.x+";"+t.y+"M")):l.sgrMouse?(t.x-=32,t.y-=32,void l.send(g.C0.ESC+"[<"+((3==(3&e)?-4&e:e)-32)+";"+t.x+";"+t.y+(3==(3&e)?"m":"M"))):(r(i=[],e),r(i,t.x),r(i,t.y),void l.send(g.C0.ESC+"[M"+String.fromCharCode.apply(String,i)))}function n(e){var t,r,i,o,s;switch(e.overrideType||e.type){case"mousedown":t=null!=e.button?+e.button:null!=e.which?e.which-1:null,l.browser.isMSIE&&(t=1===t?0:4===t?1:t);break;case"mouseup":t=3;break;case"DOMMouseScroll":t=e.detail<0?64:65;break;case"wheel":t=e.wheelDeltaY>0?64:65}return r=e.shiftKey?4:0,i=e.metaKey?8:0,o=e.ctrlKey?16:0,s=r|i|o,l.vt200Mouse?s&=o:l.normalMouse||(s=0),t=32+(s<<2)+t}var a=this.element,l=this,h=32;o(a,"mousedown",function(r){if(l.mouseEvents)return e(r),l.focus(),l.vt200Mouse?(r.overrideType="mouseup",e(r),l.cancel(r)):(l.normalMouse&&o(l.document,"mousemove",t),l.x10Mouse||o(l.document,"mouseup",function r(i){return e(i),l.normalMouse&&s(l.document,"mousemove",t),s(l.document,"mouseup",r),l.cancel(i)}),l.cancel(r))}),o(a,"wheel",function(t){if(l.mouseEvents&&!(l.x10Mouse||l.vt300Mouse||l.decLocator))return e(t),l.cancel(t)}),o(a,"wheel",function(e){if(!l.mouseEvents)return l.viewport.onWheel(e),l.cancel(e)}),o(a,"touchstart",function(e){if(!l.mouseEvents)return l.viewport.onTouchStart(e),l.cancel(e)}),o(a,"touchmove",function(e){if(!l.mouseEvents)return l.viewport.onTouchMove(e),l.cancel(e)})},i.prototype.destroy=function(){this.readable=!1,this.writable=!1,this._events={},this.handler=function(){},this.write=function(){},this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element)},i.prototype.refresh=function(e,t){this.renderer&&this.renderer.queueRefresh(e,t)},i.prototype.queueLinkification=function(e,t){if(this.linkifier)for(var r=e;r<=t;r++)this.linkifier.linkifyRow(r)},i.prototype.showCursor=function(){this.cursorState||(this.cursorState=1,this.refresh(this.y,this.y))},i.prototype.scroll=function(e){var t;this.lines.length===this.lines.maxLength&&(this.lines.trimStart(1),this.ybase--,0!==this.ydisp&&this.ydisp--),this.ybase++,this.userScrolling||(this.ydisp=this.ybase),t=this.ybase+this.rows-1,(t-=this.rows-1-this.scrollBottom)===this.lines.length?this.lines.push(this.blankLine(void 0,e)):this.lines.splice(t,0,this.blankLine(void 0,e)),0!==this.scrollTop&&(0!==this.ybase&&(this.ybase--,this.userScrolling||(this.ydisp=this.ybase)),this.lines.splice(this.ybase+this.scrollTop,1)),this.updateRange(this.scrollTop),this.updateRange(this.scrollBottom),this.emit("scroll",this.ydisp)},i.prototype.scrollDisp=function(e,t){if(e<0){if(0===this.ydisp)return;this.userScrolling=!0}else e+this.ydisp>=this.ybase&&(this.userScrolling=!1);this.ydisp+=e,this.ydisp>this.ybase?this.ydisp=this.ybase:this.ydisp<0&&(this.ydisp=0),t||this.emit("scroll",this.ydisp),this.refresh(0,this.rows-1)},i.prototype.scrollPages=function(e){this.scrollDisp(e*(this.rows-1))},i.prototype.scrollToTop=function(){this.scrollDisp(-this.ydisp)},i.prototype.scrollToBottom=function(){this.scrollDisp(this.ybase-this.ydisp)},i.prototype.write=function(e){if(this.writeBuffer.push(e),this.options.useFlowControl&&!this.xoffSentToCatchUp&&this.writeBuffer.length>=5&&(this.send(g.C0.DC3),this.xoffSentToCatchUp=!0),!this.writeInProgress&&this.writeBuffer.length>0){this.writeInProgress=!0;var t=this;setTimeout(function(){t.innerWrite()})}},i.prototype.innerWrite=function(){for(var e=this.writeBuffer.splice(0,300);e.length>0;){var t=e.shift();t.length;this.xoffSentToCatchUp&&0===e.length&&0===this.writeBuffer.length&&(this.send(g.C0.DC1),this.xoffSentToCatchUp=!1),this.refreshStart=this.y,this.refreshEnd=this.y;var r=this.parser.parse(t);this.parser.setState(r),this.updateRange(this.y),this.refresh(this.refreshStart,this.refreshEnd)}if(this.writeBuffer.length>0){var i=this;setTimeout(function(){i.innerWrite()},0)}else this.writeInProgress=!1},i.prototype.writeln=function(e){this.write(e+"\r\n")},i.prototype.attachCustomKeydownHandler=function(e){console.warn("attachCustomKeydownHandler() is DEPRECATED and will be removed soon. Please use attachCustomKeyEventHandler() instead."),this.attachCustomKeyEventHandler(e)},i.prototype.attachCustomKeyEventHandler=function(e){this.customKeyEventHandler=e},i.prototype.setHypertextLinkHandler=function(e){if(!this.linkifier)throw new Error("Cannot attach a hypertext link handler before Terminal.open is called");this.linkifier.setHypertextLinkHandler(e),this.refresh(0,this.rows-1)},i.prototype.setHypertextValidationCallback=function(e){if(!this.linkifier)throw new Error("Cannot attach a hypertext validation callback before Terminal.open is called");this.linkifier.setHypertextValidationCallback(e),this.refresh(0,this.rows-1)},i.prototype.registerLinkMatcher=function(e,t,r){if(this.linkifier){var i=this.linkifier.registerLinkMatcher(e,t,r);return this.refresh(0,this.rows-1),i}},i.prototype.deregisterLinkMatcher=function(e){this.linkifier&&this.linkifier.deregisterLinkMatcher(e)&&this.refresh(0,this.rows-1)},i.prototype.hasSelection=function(){return this.selectionManager.hasSelection},i.prototype.getSelection=function(){return this.selectionManager.selectionText},i.prototype.clearSelection=function(){this.selectionManager.clearSelection()},i.prototype.selectAll=function(){this.selectionManager.selectAll()},i.prototype.keyDown=function(e){if(this.customKeyEventHandler&&!1===this.customKeyEventHandler(e))return!1;if(this.restartCursorBlinking(),!this.compositionHelper.keydown.bind(this.compositionHelper)(e))return this.ybase!==this.ydisp&&this.scrollToBottom(),!1;var t=this.evaluateKeyEscapeSequence(e);return t.key===g.C0.DC3?this.writeStopped=!0:t.key===g.C0.DC1&&(this.writeStopped=!1),t.scrollDisp?(this.scrollDisp(t.scrollDisp),this.cancel(e,!0)):!!a(this,e)||(t.cancel&&this.cancel(e,!0),!t.key||(this.emit("keydown",e),this.emit("key",t.key,e),this.showCursor(),this.handler(t.key),this.cancel(e,!0)))},i.prototype.evaluateKeyEscapeSequence=function(e){var t={cancel:!1,key:void 0,scrollDisp:void 0},r=e.shiftKey<<0|e.altKey<<1|e.ctrlKey<<2|e.metaKey<<3;switch(e.keyCode){case 8:if(e.shiftKey){t.key=g.C0.BS;break}t.key=g.C0.DEL;break;case 9:if(e.shiftKey){t.key=g.C0.ESC+"[Z";break}t.key=g.C0.HT,t.cancel=!0;break;case 13:t.key=g.C0.CR,t.cancel=!0;break;case 27:t.key=g.C0.ESC,t.cancel=!0;break;case 37:r?(t.key=g.C0.ESC+"[1;"+(r+1)+"D",t.key==g.C0.ESC+"[1;3D"&&(t.key=this.browser.isMac?g.C0.ESC+"b":g.C0.ESC+"[1;5D")):this.applicationCursor?t.key=g.C0.ESC+"OD":t.key=g.C0.ESC+"[D";break;case 39:r?(t.key=g.C0.ESC+"[1;"+(r+1)+"C",t.key==g.C0.ESC+"[1;3C"&&(t.key=this.browser.isMac?g.C0.ESC+"f":g.C0.ESC+"[1;5C")):this.applicationCursor?t.key=g.C0.ESC+"OC":t.key=g.C0.ESC+"[C";break;case 38:r?(t.key=g.C0.ESC+"[1;"+(r+1)+"A",t.key==g.C0.ESC+"[1;3A"&&(t.key=g.C0.ESC+"[1;5A")):this.applicationCursor?t.key=g.C0.ESC+"OA":t.key=g.C0.ESC+"[A";break;case 40:r?(t.key=g.C0.ESC+"[1;"+(r+1)+"B",t.key==g.C0.ESC+"[1;3B"&&(t.key=g.C0.ESC+"[1;5B")):this.applicationCursor?t.key=g.C0.ESC+"OB":t.key=g.C0.ESC+"[B";break;case 45:e.shiftKey||e.ctrlKey||(t.key=g.C0.ESC+"[2~");break;case 46:t.key=r?g.C0.ESC+"[3;"+(r+1)+"~":g.C0.ESC+"[3~";break;case 36:r?t.key=g.C0.ESC+"[1;"+(r+1)+"H":this.applicationCursor?t.key=g.C0.ESC+"OH":t.key=g.C0.ESC+"[H";break;case 35:r?t.key=g.C0.ESC+"[1;"+(r+1)+"F":this.applicationCursor?t.key=g.C0.ESC+"OF":t.key=g.C0.ESC+"[F";break;case 33:e.shiftKey?t.scrollDisp=-(this.rows-1):t.key=g.C0.ESC+"[5~";break;case 34:e.shiftKey?t.scrollDisp=this.rows-1:t.key=g.C0.ESC+"[6~";break;case 112:t.key=r?g.C0.ESC+"[1;"+(r+1)+"P":g.C0.ESC+"OP";break;case 113:t.key=r?g.C0.ESC+"[1;"+(r+1)+"Q":g.C0.ESC+"OQ";break;case 114:t.key=r?g.C0.ESC+"[1;"+(r+1)+"R":g.C0.ESC+"OR";break;case 115:t.key=r?g.C0.ESC+"[1;"+(r+1)+"S":g.C0.ESC+"OS";break;case 116:t.key=r?g.C0.ESC+"[15;"+(r+1)+"~":g.C0.ESC+"[15~";break;case 117:t.key=r?g.C0.ESC+"[17;"+(r+1)+"~":g.C0.ESC+"[17~";break;case 118:t.key=r?g.C0.ESC+"[18;"+(r+1)+"~":g.C0.ESC+"[18~";break;case 119:t.key=r?g.C0.ESC+"[19;"+(r+1)+"~":g.C0.ESC+"[19~";break;case 120:t.key=r?g.C0.ESC+"[20;"+(r+1)+"~":g.C0.ESC+"[20~";break;case 121:t.key=r?g.C0.ESC+"[21;"+(r+1)+"~":g.C0.ESC+"[21~";break;case 122:t.key=r?g.C0.ESC+"[23;"+(r+1)+"~":g.C0.ESC+"[23~";break;case 123:t.key=r?g.C0.ESC+"[24;"+(r+1)+"~":g.C0.ESC+"[24~";break;default:!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?this.browser.isMac||!e.altKey||e.ctrlKey||e.metaKey?this.browser.isMac&&!e.altKey&&!e.ctrlKey&&e.metaKey&&65===e.keyCode&&this.selectAll():e.keyCode>=65&&e.keyCode<=90?t.key=g.C0.ESC+String.fromCharCode(e.keyCode+32):192===e.keyCode?t.key=g.C0.ESC+"`":e.keyCode>=48&&e.keyCode<=57&&(t.key=g.C0.ESC+(e.keyCode-48)):e.keyCode>=65&&e.keyCode<=90?t.key=String.fromCharCode(e.keyCode-64):32===e.keyCode?t.key=String.fromCharCode(0):e.keyCode>=51&&e.keyCode<=55?t.key=String.fromCharCode(e.keyCode-51+27):56===e.keyCode?t.key=String.fromCharCode(127):219===e.keyCode?t.key=String.fromCharCode(27):220===e.keyCode?t.key=String.fromCharCode(28):221===e.keyCode&&(t.key=String.fromCharCode(29))}return t},i.prototype.setgLevel=function(e){this.glevel=e,this.charset=this.charsets[e]},i.prototype.setgCharset=function(e,t){this.charsets[e]=t,this.glevel===e&&(this.charset=t)},i.prototype.keyPress=function(e){var t;if(this.customKeyEventHandler&&!1===this.customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(null==e.which)t=e.keyCode;else{if(0===e.which||0===e.charCode)return!1;t=e.which}return!(!t||(e.altKey||e.ctrlKey||e.metaKey)&&!a(this,e))&&(t=String.fromCharCode(t),this.emit("keypress",t,e),this.emit("key",t,e),this.showCursor(),this.handler(t),!0)},i.prototype.send=function(e){var t=this;this.queue||setTimeout(function(){t.handler(t.queue),t.queue=""},1),this.queue+=e},i.prototype.bell=function(){if(this.visualBell){var e=this;this.element.style.borderColor="white",setTimeout(function(){e.element.style.borderColor=""},10),this.popOnBell&&this.focus()}},i.prototype.log=function(){if(this.debug&&this.context.console&&this.context.console.log){var e=Array.prototype.slice.call(arguments);this.context.console.log.apply(this.context.console,e)}},i.prototype.error=function(){if(this.debug&&this.context.console&&this.context.console.error){var e=Array.prototype.slice.call(arguments);this.context.console.error.apply(this.context.console,e)}},i.prototype.resize=function(e,t){if(!isNaN(e)&&!isNaN(t)){t>this.getOption("scrollback")&&this.setOption("scrollback",t);var r,i,o,s,n;if(e!==this.cols||t!==this.rows){if(e<1&&(e=1),t<1&&(t=1),(o=this.cols)0&&this.lines.length<=this.ybase+this.y+n+1?(this.ybase--,n++,this.ydisp>0&&this.ydisp--):this.lines.push(this.blankLine())),this.children.lengtht;)if(this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++)),this.children.length>t){if(!(r=this.children.shift()))continue;r.parentNode.removeChild(r)}this.rows=t,this.y>=t&&(this.y=t-1),n&&(this.y+=n),this.x>=e&&(this.x=e-1),this.scrollTop=0,this.scrollBottom=t-1,this.charMeasure.measure(),this.refresh(0,this.rows-1),this.normal=null,this.geometry=[this.cols,this.rows],this.emit("resize",{terminal:this,cols:e,rows:t})}}},i.prototype.updateRange=function(e){ethis.refreshEnd&&(this.refreshEnd=e)},i.prototype.maxRange=function(){this.refreshStart=0,this.refreshEnd=this.rows-1},i.prototype.setupStops=function(e){for(null!=e?this.tabs[e]||(e=this.prevStop(e)):(this.tabs={},e=0);e0;);return e>=this.cols?this.cols-1:e<0?0:e},i.prototype.nextStop=function(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e=this.cols?this.cols-1:e<0?0:e},i.prototype.eraseRight=function(e,t){var r=this.lines.get(this.ybase+t);if(r){for(var i=[this.eraseAttr()," ",1];ethis.scrollBottom&&(this.y--,this.scroll()),this.x>=this.cols&&this.x--},i.prototype.reverseIndex=function(){this.y===this.scrollTop?(this.lines.shiftElements(this.y+this.ybase,this.rows-1,1),this.lines.set(this.y+this.ybase,this.blankLine(!0)),this.updateRange(this.scrollTop),this.updateRange(this.scrollBottom)):this.y--},i.prototype.reset=function(){this.options.rows=this.rows,this.options.cols=this.cols;var e=this.customKeyEventHandler,t=this.cursorBlinkInterval;i.call(this,this.options),this.customKeyEventHandler=e,this.cursorBlinkInterval=t,this.refresh(0,this.rows-1),this.viewport.syncScrollArea()},i.prototype.tabSet=function(){this.tabs[this.x]=!0},i.prototype.matchColor=l,l._cache={},l.distance=function(e,t,r,i,o,s){return Math.pow(30*(e-i),2)+Math.pow(59*(t-o),2)+Math.pow(11*(r-s),2)},i.EventEmitter=u.EventEmitter,i.inherits=n,i.on=o,i.off=s,i.cancel=function(e,t){if(this.cancelEvents||t)return e.preventDefault(),e.stopPropagation(),!1},e.exports=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(){this._events=this._events||{}}return e.prototype.on=function(e,t){this._events[e]=this._events[e]||[],this._events[e].push(t)},e.prototype.off=function(e,t){if(this._events[e])for(var r=this._events[e],i=r.length;i--;)if(r[i]===t||r[i].listener===t)return void r.splice(i,1)},e.prototype.removeAllListeners=function(e){this._events[e]&&delete this._events[e]},e.prototype.once=function(e,t){function r(){var i=Array.prototype.slice.call(arguments);return this.off(e,r),t.apply(this,i)}return r.listener=t,this.on(e,r)},e.prototype.emit=function(e){for(var t=[],r=1;r=3?r[2].replace(/^\s*at\s+/,""):r[1].replace(/^\s*global code@/,"")}for(var o=0;ot.length&&(t=t.repeat(e/t.length+1)),t.slice(0,e)+String(this))}),String.prototype.padEnd||(String.prototype.padEnd=function(e,t){return(e-=this.length)<=0?String(this):(void 0===t&&(t=" "),e>t.length&&(t=t.repeat(e/t.length+1)),String(this)+t.slice(0,e))}),i.colors={},i.colors.re_={hex16:/#([a-f0-9])([a-f0-9])([a-f0-9])/i,hex24:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/i,rgb:new RegExp("^/s*rgb/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*/)/s*$".replace(/\//g,"\\"),"i"),rgba:new RegExp("^/s*rgba/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*(?:,/s*(/d+(?:/./d+)?)/s*)/)/s*$".replace(/\//g,"\\"),"i"),rgbx:new RegExp("^/s*rgba?/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*(?:,/s*(/d+(?:/./d+)?)/s*)?/)/s*$".replace(/\//g,"\\"),"i"),x11rgb:/^\s*rgb:([a-f0-9]{1,4})\/([a-f0-9]{1,4})\/([a-f0-9]{1,4})\s*$/i,name:/[a-z][a-z0-9\s]+/},i.colors.rgbToX11=function(e){function t(e){return e=(257*Math.min(e,255)).toString(16),i.f.zpad(e,4)}var r=e.match(i.colors.re_.rgbx);return r?"rgb:"+t(r[1])+"/"+t(r[2])+"/"+t(r[3]):null},i.colors.x11HexToCSS=function(e){if(!e.startsWith("#"))return null;if(e=e.substr(1),-1==[3,6,9,12].indexOf(e.length))return null;if(e.match(/[^a-f0-9]/i))return null;var t=e.length/3,r=e.substr(0,t),o=e.substr(t,t),s=e.substr(t+t,t);return i.colors.arrayToRGBA([r,o,s].map(function(e){return e=parseInt(e,16),2==t?e:1==t?e<<4:e>>4*(t-2)}))},i.colors.x11ToCSS=function(e){var t=e.match(i.colors.re_.x11rgb);return t?(t.splice(0,1),i.colors.arrayToRGBA(t.map(function(e){return 1==e.length?parseInt(e+e,16):2==e.length?parseInt(e,16):(3==e.length&&(e+=e.substr(2)),Math.round(parseInt(e,16)/257))}))):e.startsWith("#")?i.colors.x11HexToCSS(e):i.colors.nameToRGB(e)},i.colors.hexToRGB=function(e){function t(e){4==e.length&&(e=e.replace(r,function(e,t,r,i){return"#"+t+t+r+r+i+i}));var t=e.match(o);return t?"rgb("+parseInt(t[1],16)+", "+parseInt(t[2],16)+", "+parseInt(t[3],16)+")":null}var r=i.colors.re_.hex16,o=i.colors.re_.hex24;if(e instanceof Array)for(var s=0;s3?e[3]:1;return"rgba("+e[0]+", "+e[1]+", "+e[2]+", "+t+")"},i.colors.setAlpha=function(e,t){var r=i.colors.crackRGB(e);return r[3]=t,i.colors.arrayToRGBA(r)},i.colors.mix=function(e,t,r){for(var o=i.colors.crackRGB(e),s=i.colors.crackRGB(t),n=0;n<4;++n){var a=s[n]-o[n];o[n]=Math.round(parseInt(o[n])+a*r)}return i.colors.arrayToRGBA(o)},i.colors.crackRGB=function(e){if(e.startsWith("rgba")){if(t=e.match(i.colors.re_.rgba))return t.shift(),t}else{var t=e.match(i.colors.re_.rgb);if(t)return t.shift(),t.push(1),t}return console.error("Couldn't crack: "+e),null},i.colors.nameToRGB=function(e){return e in i.colors.colorNames?i.colors.colorNames[e]:(e=e.toLowerCase())in i.colors.colorNames?i.colors.colorNames[e]:(e=e.replace(/\s+/g,""))in i.colors.colorNames?i.colors.colorNames[e]:null},i.colors.stockColorPalette=i.colors.hexToRGB(["#000000","#CC0000","#4E9A06","#C4A000","#3465A4","#75507B","#06989A","#D3D7CF","#555753","#EF2929","#00BA13","#FCE94F","#729FCF","#F200CB","#00B5BD","#EEEEEC","#000000","#00005F","#000087","#0000AF","#0000D7","#0000FF","#005F00","#005F5F","#005F87","#005FAF","#005FD7","#005FFF","#008700","#00875F","#008787","#0087AF","#0087D7","#0087FF","#00AF00","#00AF5F","#00AF87","#00AFAF","#00AFD7","#00AFFF","#00D700","#00D75F","#00D787","#00D7AF","#00D7D7","#00D7FF","#00FF00","#00FF5F","#00FF87","#00FFAF","#00FFD7","#00FFFF","#5F0000","#5F005F","#5F0087","#5F00AF","#5F00D7","#5F00FF","#5F5F00","#5F5F5F","#5F5F87","#5F5FAF","#5F5FD7","#5F5FFF","#5F8700","#5F875F","#5F8787","#5F87AF","#5F87D7","#5F87FF","#5FAF00","#5FAF5F","#5FAF87","#5FAFAF","#5FAFD7","#5FAFFF","#5FD700","#5FD75F","#5FD787","#5FD7AF","#5FD7D7","#5FD7FF","#5FFF00","#5FFF5F","#5FFF87","#5FFFAF","#5FFFD7","#5FFFFF","#870000","#87005F","#870087","#8700AF","#8700D7","#8700FF","#875F00","#875F5F","#875F87","#875FAF","#875FD7","#875FFF","#878700","#87875F","#878787","#8787AF","#8787D7","#8787FF","#87AF00","#87AF5F","#87AF87","#87AFAF","#87AFD7","#87AFFF","#87D700","#87D75F","#87D787","#87D7AF","#87D7D7","#87D7FF","#87FF00","#87FF5F","#87FF87","#87FFAF","#87FFD7","#87FFFF","#AF0000","#AF005F","#AF0087","#AF00AF","#AF00D7","#AF00FF","#AF5F00","#AF5F5F","#AF5F87","#AF5FAF","#AF5FD7","#AF5FFF","#AF8700","#AF875F","#AF8787","#AF87AF","#AF87D7","#AF87FF","#AFAF00","#AFAF5F","#AFAF87","#AFAFAF","#AFAFD7","#AFAFFF","#AFD700","#AFD75F","#AFD787","#AFD7AF","#AFD7D7","#AFD7FF","#AFFF00","#AFFF5F","#AFFF87","#AFFFAF","#AFFFD7","#AFFFFF","#D70000","#D7005F","#D70087","#D700AF","#D700D7","#D700FF","#D75F00","#D75F5F","#D75F87","#D75FAF","#D75FD7","#D75FFF","#D78700","#D7875F","#D78787","#D787AF","#D787D7","#D787FF","#D7AF00","#D7AF5F","#D7AF87","#D7AFAF","#D7AFD7","#D7AFFF","#D7D700","#D7D75F","#D7D787","#D7D7AF","#D7D7D7","#D7D7FF","#D7FF00","#D7FF5F","#D7FF87","#D7FFAF","#D7FFD7","#D7FFFF","#FF0000","#FF005F","#FF0087","#FF00AF","#FF00D7","#FF00FF","#FF5F00","#FF5F5F","#FF5F87","#FF5FAF","#FF5FD7","#FF5FFF","#FF8700","#FF875F","#FF8787","#FF87AF","#FF87D7","#FF87FF","#FFAF00","#FFAF5F","#FFAF87","#FFAFAF","#FFAFD7","#FFAFFF","#FFD700","#FFD75F","#FFD787","#FFD7AF","#FFD7D7","#FFD7FF","#FFFF00","#FFFF5F","#FFFF87","#FFFFAF","#FFFFD7","#FFFFFF","#080808","#121212","#1C1C1C","#262626","#303030","#3A3A3A","#444444","#4E4E4E","#585858","#626262","#6C6C6C","#767676","#808080","#8A8A8A","#949494","#9E9E9E","#A8A8A8","#B2B2B2","#BCBCBC","#C6C6C6","#D0D0D0","#DADADA","#E4E4E4","#EEEEEE"]),i.colors.colorPalette=i.colors.stockColorPalette,i.colors.colorNames={aliceblue:"rgb(240, 248, 255)",antiquewhite:"rgb(250, 235, 215)",antiquewhite1:"rgb(255, 239, 219)",antiquewhite2:"rgb(238, 223, 204)",antiquewhite3:"rgb(205, 192, 176)",antiquewhite4:"rgb(139, 131, 120)",aquamarine:"rgb(127, 255, 212)",aquamarine1:"rgb(127, 255, 212)",aquamarine2:"rgb(118, 238, 198)",aquamarine3:"rgb(102, 205, 170)",aquamarine4:"rgb(69, 139, 116)",azure:"rgb(240, 255, 255)",azure1:"rgb(240, 255, 255)",azure2:"rgb(224, 238, 238)",azure3:"rgb(193, 205, 205)",azure4:"rgb(131, 139, 139)",beige:"rgb(245, 245, 220)",bisque:"rgb(255, 228, 196)",bisque1:"rgb(255, 228, 196)",bisque2:"rgb(238, 213, 183)",bisque3:"rgb(205, 183, 158)",bisque4:"rgb(139, 125, 107)",black:"rgb(0, 0, 0)",blanchedalmond:"rgb(255, 235, 205)",blue:"rgb(0, 0, 255)",blue1:"rgb(0, 0, 255)",blue2:"rgb(0, 0, 238)",blue3:"rgb(0, 0, 205)",blue4:"rgb(0, 0, 139)",blueviolet:"rgb(138, 43, 226)",brown:"rgb(165, 42, 42)",brown1:"rgb(255, 64, 64)",brown2:"rgb(238, 59, 59)",brown3:"rgb(205, 51, 51)",brown4:"rgb(139, 35, 35)",burlywood:"rgb(222, 184, 135)",burlywood1:"rgb(255, 211, 155)",burlywood2:"rgb(238, 197, 145)",burlywood3:"rgb(205, 170, 125)",burlywood4:"rgb(139, 115, 85)",cadetblue:"rgb(95, 158, 160)",cadetblue1:"rgb(152, 245, 255)",cadetblue2:"rgb(142, 229, 238)",cadetblue3:"rgb(122, 197, 205)",cadetblue4:"rgb(83, 134, 139)",chartreuse:"rgb(127, 255, 0)",chartreuse1:"rgb(127, 255, 0)",chartreuse2:"rgb(118, 238, 0)",chartreuse3:"rgb(102, 205, 0)",chartreuse4:"rgb(69, 139, 0)",chocolate:"rgb(210, 105, 30)",chocolate1:"rgb(255, 127, 36)",chocolate2:"rgb(238, 118, 33)",chocolate3:"rgb(205, 102, 29)",chocolate4:"rgb(139, 69, 19)",coral:"rgb(255, 127, 80)",coral1:"rgb(255, 114, 86)",coral2:"rgb(238, 106, 80)",coral3:"rgb(205, 91, 69)",coral4:"rgb(139, 62, 47)",cornflowerblue:"rgb(100, 149, 237)",cornsilk:"rgb(255, 248, 220)",cornsilk1:"rgb(255, 248, 220)",cornsilk2:"rgb(238, 232, 205)",cornsilk3:"rgb(205, 200, 177)",cornsilk4:"rgb(139, 136, 120)",cyan:"rgb(0, 255, 255)",cyan1:"rgb(0, 255, 255)",cyan2:"rgb(0, 238, 238)",cyan3:"rgb(0, 205, 205)",cyan4:"rgb(0, 139, 139)",darkblue:"rgb(0, 0, 139)",darkcyan:"rgb(0, 139, 139)",darkgoldenrod:"rgb(184, 134, 11)",darkgoldenrod1:"rgb(255, 185, 15)",darkgoldenrod2:"rgb(238, 173, 14)",darkgoldenrod3:"rgb(205, 149, 12)",darkgoldenrod4:"rgb(139, 101, 8)",darkgray:"rgb(169, 169, 169)",darkgreen:"rgb(0, 100, 0)",darkgrey:"rgb(169, 169, 169)",darkkhaki:"rgb(189, 183, 107)",darkmagenta:"rgb(139, 0, 139)",darkolivegreen:"rgb(85, 107, 47)",darkolivegreen1:"rgb(202, 255, 112)",darkolivegreen2:"rgb(188, 238, 104)",darkolivegreen3:"rgb(162, 205, 90)",darkolivegreen4:"rgb(110, 139, 61)",darkorange:"rgb(255, 140, 0)",darkorange1:"rgb(255, 127, 0)",darkorange2:"rgb(238, 118, 0)",darkorange3:"rgb(205, 102, 0)",darkorange4:"rgb(139, 69, 0)",darkorchid:"rgb(153, 50, 204)",darkorchid1:"rgb(191, 62, 255)",darkorchid2:"rgb(178, 58, 238)",darkorchid3:"rgb(154, 50, 205)",darkorchid4:"rgb(104, 34, 139)",darkred:"rgb(139, 0, 0)",darksalmon:"rgb(233, 150, 122)",darkseagreen:"rgb(143, 188, 143)",darkseagreen1:"rgb(193, 255, 193)",darkseagreen2:"rgb(180, 238, 180)",darkseagreen3:"rgb(155, 205, 155)",darkseagreen4:"rgb(105, 139, 105)",darkslateblue:"rgb(72, 61, 139)",darkslategray:"rgb(47, 79, 79)",darkslategray1:"rgb(151, 255, 255)",darkslategray2:"rgb(141, 238, 238)",darkslategray3:"rgb(121, 205, 205)",darkslategray4:"rgb(82, 139, 139)",darkslategrey:"rgb(47, 79, 79)",darkturquoise:"rgb(0, 206, 209)",darkviolet:"rgb(148, 0, 211)",debianred:"rgb(215, 7, 81)",deeppink:"rgb(255, 20, 147)",deeppink1:"rgb(255, 20, 147)",deeppink2:"rgb(238, 18, 137)",deeppink3:"rgb(205, 16, 118)",deeppink4:"rgb(139, 10, 80)",deepskyblue:"rgb(0, 191, 255)",deepskyblue1:"rgb(0, 191, 255)",deepskyblue2:"rgb(0, 178, 238)",deepskyblue3:"rgb(0, 154, 205)",deepskyblue4:"rgb(0, 104, 139)",dimgray:"rgb(105, 105, 105)",dimgrey:"rgb(105, 105, 105)",dodgerblue:"rgb(30, 144, 255)",dodgerblue1:"rgb(30, 144, 255)",dodgerblue2:"rgb(28, 134, 238)",dodgerblue3:"rgb(24, 116, 205)",dodgerblue4:"rgb(16, 78, 139)",firebrick:"rgb(178, 34, 34)",firebrick1:"rgb(255, 48, 48)",firebrick2:"rgb(238, 44, 44)",firebrick3:"rgb(205, 38, 38)",firebrick4:"rgb(139, 26, 26)",floralwhite:"rgb(255, 250, 240)",forestgreen:"rgb(34, 139, 34)",gainsboro:"rgb(220, 220, 220)",ghostwhite:"rgb(248, 248, 255)",gold:"rgb(255, 215, 0)",gold1:"rgb(255, 215, 0)",gold2:"rgb(238, 201, 0)",gold3:"rgb(205, 173, 0)",gold4:"rgb(139, 117, 0)",goldenrod:"rgb(218, 165, 32)",goldenrod1:"rgb(255, 193, 37)",goldenrod2:"rgb(238, 180, 34)",goldenrod3:"rgb(205, 155, 29)",goldenrod4:"rgb(139, 105, 20)",gray:"rgb(190, 190, 190)",gray0:"rgb(0, 0, 0)",gray1:"rgb(3, 3, 3)",gray10:"rgb(26, 26, 26)",gray100:"rgb(255, 255, 255)",gray11:"rgb(28, 28, 28)",gray12:"rgb(31, 31, 31)",gray13:"rgb(33, 33, 33)",gray14:"rgb(36, 36, 36)",gray15:"rgb(38, 38, 38)",gray16:"rgb(41, 41, 41)",gray17:"rgb(43, 43, 43)",gray18:"rgb(46, 46, 46)",gray19:"rgb(48, 48, 48)",gray2:"rgb(5, 5, 5)",gray20:"rgb(51, 51, 51)",gray21:"rgb(54, 54, 54)",gray22:"rgb(56, 56, 56)",gray23:"rgb(59, 59, 59)",gray24:"rgb(61, 61, 61)",gray25:"rgb(64, 64, 64)",gray26:"rgb(66, 66, 66)",gray27:"rgb(69, 69, 69)",gray28:"rgb(71, 71, 71)",gray29:"rgb(74, 74, 74)",gray3:"rgb(8, 8, 8)",gray30:"rgb(77, 77, 77)",gray31:"rgb(79, 79, 79)",gray32:"rgb(82, 82, 82)",gray33:"rgb(84, 84, 84)",gray34:"rgb(87, 87, 87)",gray35:"rgb(89, 89, 89)",gray36:"rgb(92, 92, 92)",gray37:"rgb(94, 94, 94)",gray38:"rgb(97, 97, 97)",gray39:"rgb(99, 99, 99)",gray4:"rgb(10, 10, 10)",gray40:"rgb(102, 102, 102)",gray41:"rgb(105, 105, 105)",gray42:"rgb(107, 107, 107)",gray43:"rgb(110, 110, 110)",gray44:"rgb(112, 112, 112)",gray45:"rgb(115, 115, 115)",gray46:"rgb(117, 117, 117)",gray47:"rgb(120, 120, 120)",gray48:"rgb(122, 122, 122)",gray49:"rgb(125, 125, 125)",gray5:"rgb(13, 13, 13)",gray50:"rgb(127, 127, 127)",gray51:"rgb(130, 130, 130)",gray52:"rgb(133, 133, 133)",gray53:"rgb(135, 135, 135)",gray54:"rgb(138, 138, 138)",gray55:"rgb(140, 140, 140)",gray56:"rgb(143, 143, 143)",gray57:"rgb(145, 145, 145)",gray58:"rgb(148, 148, 148)",gray59:"rgb(150, 150, 150)",gray6:"rgb(15, 15, 15)",gray60:"rgb(153, 153, 153)",gray61:"rgb(156, 156, 156)",gray62:"rgb(158, 158, 158)",gray63:"rgb(161, 161, 161)",gray64:"rgb(163, 163, 163)",gray65:"rgb(166, 166, 166)",gray66:"rgb(168, 168, 168)",gray67:"rgb(171, 171, 171)",gray68:"rgb(173, 173, 173)",gray69:"rgb(176, 176, 176)",gray7:"rgb(18, 18, 18)",gray70:"rgb(179, 179, 179)",gray71:"rgb(181, 181, 181)",gray72:"rgb(184, 184, 184)",gray73:"rgb(186, 186, 186)",gray74:"rgb(189, 189, 189)",gray75:"rgb(191, 191, 191)",gray76:"rgb(194, 194, 194)",gray77:"rgb(196, 196, 196)",gray78:"rgb(199, 199, 199)",gray79:"rgb(201, 201, 201)",gray8:"rgb(20, 20, 20)",gray80:"rgb(204, 204, 204)",gray81:"rgb(207, 207, 207)",gray82:"rgb(209, 209, 209)",gray83:"rgb(212, 212, 212)",gray84:"rgb(214, 214, 214)",gray85:"rgb(217, 217, 217)",gray86:"rgb(219, 219, 219)",gray87:"rgb(222, 222, 222)",gray88:"rgb(224, 224, 224)",gray89:"rgb(227, 227, 227)",gray9:"rgb(23, 23, 23)",gray90:"rgb(229, 229, 229)",gray91:"rgb(232, 232, 232)",gray92:"rgb(235, 235, 235)",gray93:"rgb(237, 237, 237)",gray94:"rgb(240, 240, 240)",gray95:"rgb(242, 242, 242)",gray96:"rgb(245, 245, 245)",gray97:"rgb(247, 247, 247)",gray98:"rgb(250, 250, 250)",gray99:"rgb(252, 252, 252)",green:"rgb(0, 255, 0)",green1:"rgb(0, 255, 0)",green2:"rgb(0, 238, 0)",green3:"rgb(0, 205, 0)",green4:"rgb(0, 139, 0)",greenyellow:"rgb(173, 255, 47)",grey:"rgb(190, 190, 190)",grey0:"rgb(0, 0, 0)",grey1:"rgb(3, 3, 3)",grey10:"rgb(26, 26, 26)",grey100:"rgb(255, 255, 255)",grey11:"rgb(28, 28, 28)",grey12:"rgb(31, 31, 31)",grey13:"rgb(33, 33, 33)",grey14:"rgb(36, 36, 36)",grey15:"rgb(38, 38, 38)",grey16:"rgb(41, 41, 41)",grey17:"rgb(43, 43, 43)",grey18:"rgb(46, 46, 46)",grey19:"rgb(48, 48, 48)",grey2:"rgb(5, 5, 5)",grey20:"rgb(51, 51, 51)",grey21:"rgb(54, 54, 54)",grey22:"rgb(56, 56, 56)",grey23:"rgb(59, 59, 59)",grey24:"rgb(61, 61, 61)",grey25:"rgb(64, 64, 64)",grey26:"rgb(66, 66, 66)",grey27:"rgb(69, 69, 69)",grey28:"rgb(71, 71, 71)",grey29:"rgb(74, 74, 74)",grey3:"rgb(8, 8, 8)",grey30:"rgb(77, 77, 77)",grey31:"rgb(79, 79, 79)",grey32:"rgb(82, 82, 82)",grey33:"rgb(84, 84, 84)",grey34:"rgb(87, 87, 87)",grey35:"rgb(89, 89, 89)",grey36:"rgb(92, 92, 92)",grey37:"rgb(94, 94, 94)",grey38:"rgb(97, 97, 97)",grey39:"rgb(99, 99, 99)",grey4:"rgb(10, 10, 10)",grey40:"rgb(102, 102, 102)",grey41:"rgb(105, 105, 105)",grey42:"rgb(107, 107, 107)",grey43:"rgb(110, 110, 110)",grey44:"rgb(112, 112, 112)",grey45:"rgb(115, 115, 115)",grey46:"rgb(117, 117, 117)",grey47:"rgb(120, 120, 120)",grey48:"rgb(122, 122, 122)",grey49:"rgb(125, 125, 125)",grey5:"rgb(13, 13, 13)",grey50:"rgb(127, 127, 127)",grey51:"rgb(130, 130, 130)",grey52:"rgb(133, 133, 133)",grey53:"rgb(135, 135, 135)",grey54:"rgb(138, 138, 138)",grey55:"rgb(140, 140, 140)",grey56:"rgb(143, 143, 143)",grey57:"rgb(145, 145, 145)",grey58:"rgb(148, 148, 148)",grey59:"rgb(150, 150, 150)",grey6:"rgb(15, 15, 15)",grey60:"rgb(153, 153, 153)",grey61:"rgb(156, 156, 156)",grey62:"rgb(158, 158, 158)",grey63:"rgb(161, 161, 161)",grey64:"rgb(163, 163, 163)",grey65:"rgb(166, 166, 166)",grey66:"rgb(168, 168, 168)",grey67:"rgb(171, 171, 171)",grey68:"rgb(173, 173, 173)",grey69:"rgb(176, 176, 176)",grey7:"rgb(18, 18, 18)",grey70:"rgb(179, 179, 179)",grey71:"rgb(181, 181, 181)",grey72:"rgb(184, 184, 184)",grey73:"rgb(186, 186, 186)",grey74:"rgb(189, 189, 189)",grey75:"rgb(191, 191, 191)",grey76:"rgb(194, 194, 194)",grey77:"rgb(196, 196, 196)",grey78:"rgb(199, 199, 199)",grey79:"rgb(201, 201, 201)",grey8:"rgb(20, 20, 20)",grey80:"rgb(204, 204, 204)",grey81:"rgb(207, 207, 207)",grey82:"rgb(209, 209, 209)",grey83:"rgb(212, 212, 212)",grey84:"rgb(214, 214, 214)",grey85:"rgb(217, 217, 217)",grey86:"rgb(219, 219, 219)",grey87:"rgb(222, 222, 222)",grey88:"rgb(224, 224, 224)",grey89:"rgb(227, 227, 227)",grey9:"rgb(23, 23, 23)",grey90:"rgb(229, 229, 229)",grey91:"rgb(232, 232, 232)",grey92:"rgb(235, 235, 235)",grey93:"rgb(237, 237, 237)",grey94:"rgb(240, 240, 240)",grey95:"rgb(242, 242, 242)",grey96:"rgb(245, 245, 245)",grey97:"rgb(247, 247, 247)",grey98:"rgb(250, 250, 250)",grey99:"rgb(252, 252, 252)",honeydew:"rgb(240, 255, 240)",honeydew1:"rgb(240, 255, 240)",honeydew2:"rgb(224, 238, 224)",honeydew3:"rgb(193, 205, 193)",honeydew4:"rgb(131, 139, 131)",hotpink:"rgb(255, 105, 180)",hotpink1:"rgb(255, 110, 180)",hotpink2:"rgb(238, 106, 167)",hotpink3:"rgb(205, 96, 144)",hotpink4:"rgb(139, 58, 98)",indianred:"rgb(205, 92, 92)",indianred1:"rgb(255, 106, 106)",indianred2:"rgb(238, 99, 99)",indianred3:"rgb(205, 85, 85)",indianred4:"rgb(139, 58, 58)",ivory:"rgb(255, 255, 240)",ivory1:"rgb(255, 255, 240)",ivory2:"rgb(238, 238, 224)",ivory3:"rgb(205, 205, 193)",ivory4:"rgb(139, 139, 131)",khaki:"rgb(240, 230, 140)",khaki1:"rgb(255, 246, 143)",khaki2:"rgb(238, 230, 133)",khaki3:"rgb(205, 198, 115)",khaki4:"rgb(139, 134, 78)",lavender:"rgb(230, 230, 250)",lavenderblush:"rgb(255, 240, 245)",lavenderblush1:"rgb(255, 240, 245)",lavenderblush2:"rgb(238, 224, 229)",lavenderblush3:"rgb(205, 193, 197)",lavenderblush4:"rgb(139, 131, 134)",lawngreen:"rgb(124, 252, 0)",lemonchiffon:"rgb(255, 250, 205)",lemonchiffon1:"rgb(255, 250, 205)",lemonchiffon2:"rgb(238, 233, 191)",lemonchiffon3:"rgb(205, 201, 165)",lemonchiffon4:"rgb(139, 137, 112)",lightblue:"rgb(173, 216, 230)",lightblue1:"rgb(191, 239, 255)",lightblue2:"rgb(178, 223, 238)",lightblue3:"rgb(154, 192, 205)",lightblue4:"rgb(104, 131, 139)",lightcoral:"rgb(240, 128, 128)",lightcyan:"rgb(224, 255, 255)",lightcyan1:"rgb(224, 255, 255)",lightcyan2:"rgb(209, 238, 238)",lightcyan3:"rgb(180, 205, 205)",lightcyan4:"rgb(122, 139, 139)",lightgoldenrod:"rgb(238, 221, 130)",lightgoldenrod1:"rgb(255, 236, 139)",lightgoldenrod2:"rgb(238, 220, 130)",lightgoldenrod3:"rgb(205, 190, 112)",lightgoldenrod4:"rgb(139, 129, 76)",lightgoldenrodyellow:"rgb(250, 250, 210)",lightgray:"rgb(211, 211, 211)",lightgreen:"rgb(144, 238, 144)",lightgrey:"rgb(211, 211, 211)",lightpink:"rgb(255, 182, 193)",lightpink1:"rgb(255, 174, 185)",lightpink2:"rgb(238, 162, 173)",lightpink3:"rgb(205, 140, 149)",lightpink4:"rgb(139, 95, 101)",lightsalmon:"rgb(255, 160, 122)",lightsalmon1:"rgb(255, 160, 122)",lightsalmon2:"rgb(238, 149, 114)",lightsalmon3:"rgb(205, 129, 98)",lightsalmon4:"rgb(139, 87, 66)",lightseagreen:"rgb(32, 178, 170)",lightskyblue:"rgb(135, 206, 250)",lightskyblue1:"rgb(176, 226, 255)",lightskyblue2:"rgb(164, 211, 238)",lightskyblue3:"rgb(141, 182, 205)",lightskyblue4:"rgb(96, 123, 139)",lightslateblue:"rgb(132, 112, 255)",lightslategray:"rgb(119, 136, 153)",lightslategrey:"rgb(119, 136, 153)",lightsteelblue:"rgb(176, 196, 222)",lightsteelblue1:"rgb(202, 225, 255)",lightsteelblue2:"rgb(188, 210, 238)",lightsteelblue3:"rgb(162, 181, 205)",lightsteelblue4:"rgb(110, 123, 139)",lightyellow:"rgb(255, 255, 224)",lightyellow1:"rgb(255, 255, 224)",lightyellow2:"rgb(238, 238, 209)",lightyellow3:"rgb(205, 205, 180)",lightyellow4:"rgb(139, 139, 122)",limegreen:"rgb(50, 205, 50)",linen:"rgb(250, 240, 230)",magenta:"rgb(255, 0, 255)",magenta1:"rgb(255, 0, 255)",magenta2:"rgb(238, 0, 238)",magenta3:"rgb(205, 0, 205)",magenta4:"rgb(139, 0, 139)",maroon:"rgb(176, 48, 96)",maroon1:"rgb(255, 52, 179)",maroon2:"rgb(238, 48, 167)",maroon3:"rgb(205, 41, 144)",maroon4:"rgb(139, 28, 98)",mediumaquamarine:"rgb(102, 205, 170)",mediumblue:"rgb(0, 0, 205)",mediumorchid:"rgb(186, 85, 211)",mediumorchid1:"rgb(224, 102, 255)",mediumorchid2:"rgb(209, 95, 238)",mediumorchid3:"rgb(180, 82, 205)",mediumorchid4:"rgb(122, 55, 139)",mediumpurple:"rgb(147, 112, 219)",mediumpurple1:"rgb(171, 130, 255)",mediumpurple2:"rgb(159, 121, 238)",mediumpurple3:"rgb(137, 104, 205)",mediumpurple4:"rgb(93, 71, 139)",mediumseagreen:"rgb(60, 179, 113)",mediumslateblue:"rgb(123, 104, 238)",mediumspringgreen:"rgb(0, 250, 154)",mediumturquoise:"rgb(72, 209, 204)",mediumvioletred:"rgb(199, 21, 133)",midnightblue:"rgb(25, 25, 112)",mintcream:"rgb(245, 255, 250)",mistyrose:"rgb(255, 228, 225)",mistyrose1:"rgb(255, 228, 225)",mistyrose2:"rgb(238, 213, 210)",mistyrose3:"rgb(205, 183, 181)",mistyrose4:"rgb(139, 125, 123)",moccasin:"rgb(255, 228, 181)",navajowhite:"rgb(255, 222, 173)",navajowhite1:"rgb(255, 222, 173)",navajowhite2:"rgb(238, 207, 161)",navajowhite3:"rgb(205, 179, 139)",navajowhite4:"rgb(139, 121, 94)",navy:"rgb(0, 0, 128)",navyblue:"rgb(0, 0, 128)",oldlace:"rgb(253, 245, 230)",olivedrab:"rgb(107, 142, 35)",olivedrab1:"rgb(192, 255, 62)",olivedrab2:"rgb(179, 238, 58)",olivedrab3:"rgb(154, 205, 50)",olivedrab4:"rgb(105, 139, 34)",orange:"rgb(255, 165, 0)",orange1:"rgb(255, 165, 0)",orange2:"rgb(238, 154, 0)",orange3:"rgb(205, 133, 0)",orange4:"rgb(139, 90, 0)",orangered:"rgb(255, 69, 0)",orangered1:"rgb(255, 69, 0)",orangered2:"rgb(238, 64, 0)",orangered3:"rgb(205, 55, 0)",orangered4:"rgb(139, 37, 0)",orchid:"rgb(218, 112, 214)",orchid1:"rgb(255, 131, 250)",orchid2:"rgb(238, 122, 233)",orchid3:"rgb(205, 105, 201)",orchid4:"rgb(139, 71, 137)",palegoldenrod:"rgb(238, 232, 170)",palegreen:"rgb(152, 251, 152)",palegreen1:"rgb(154, 255, 154)",palegreen2:"rgb(144, 238, 144)",palegreen3:"rgb(124, 205, 124)",palegreen4:"rgb(84, 139, 84)",paleturquoise:"rgb(175, 238, 238)",paleturquoise1:"rgb(187, 255, 255)",paleturquoise2:"rgb(174, 238, 238)",paleturquoise3:"rgb(150, 205, 205)",paleturquoise4:"rgb(102, 139, 139)",palevioletred:"rgb(219, 112, 147)",palevioletred1:"rgb(255, 130, 171)",palevioletred2:"rgb(238, 121, 159)",palevioletred3:"rgb(205, 104, 137)",palevioletred4:"rgb(139, 71, 93)",papayawhip:"rgb(255, 239, 213)",peachpuff:"rgb(255, 218, 185)",peachpuff1:"rgb(255, 218, 185)",peachpuff2:"rgb(238, 203, 173)",peachpuff3:"rgb(205, 175, 149)",peachpuff4:"rgb(139, 119, 101)",peru:"rgb(205, 133, 63)",pink:"rgb(255, 192, 203)",pink1:"rgb(255, 181, 197)",pink2:"rgb(238, 169, 184)",pink3:"rgb(205, 145, 158)",pink4:"rgb(139, 99, 108)",plum:"rgb(221, 160, 221)",plum1:"rgb(255, 187, 255)",plum2:"rgb(238, 174, 238)",plum3:"rgb(205, 150, 205)",plum4:"rgb(139, 102, 139)",powderblue:"rgb(176, 224, 230)",purple:"rgb(160, 32, 240)",purple1:"rgb(155, 48, 255)",purple2:"rgb(145, 44, 238)",purple3:"rgb(125, 38, 205)",purple4:"rgb(85, 26, 139)",red:"rgb(255, 0, 0)",red1:"rgb(255, 0, 0)",red2:"rgb(238, 0, 0)",red3:"rgb(205, 0, 0)",red4:"rgb(139, 0, 0)",rosybrown:"rgb(188, 143, 143)",rosybrown1:"rgb(255, 193, 193)",rosybrown2:"rgb(238, 180, 180)",rosybrown3:"rgb(205, 155, 155)",rosybrown4:"rgb(139, 105, 105)",royalblue:"rgb(65, 105, 225)",royalblue1:"rgb(72, 118, 255)",royalblue2:"rgb(67, 110, 238)",royalblue3:"rgb(58, 95, 205)",royalblue4:"rgb(39, 64, 139)",saddlebrown:"rgb(139, 69, 19)",salmon:"rgb(250, 128, 114)",salmon1:"rgb(255, 140, 105)",salmon2:"rgb(238, 130, 98)",salmon3:"rgb(205, 112, 84)",salmon4:"rgb(139, 76, 57)",sandybrown:"rgb(244, 164, 96)",seagreen:"rgb(46, 139, 87)",seagreen1:"rgb(84, 255, 159)",seagreen2:"rgb(78, 238, 148)",seagreen3:"rgb(67, 205, 128)",seagreen4:"rgb(46, 139, 87)",seashell:"rgb(255, 245, 238)",seashell1:"rgb(255, 245, 238)",seashell2:"rgb(238, 229, 222)",seashell3:"rgb(205, 197, 191)",seashell4:"rgb(139, 134, 130)",sienna:"rgb(160, 82, 45)",sienna1:"rgb(255, 130, 71)",sienna2:"rgb(238, 121, 66)",sienna3:"rgb(205, 104, 57)",sienna4:"rgb(139, 71, 38)",skyblue:"rgb(135, 206, 235)",skyblue1:"rgb(135, 206, 255)",skyblue2:"rgb(126, 192, 238)",skyblue3:"rgb(108, 166, 205)",skyblue4:"rgb(74, 112, 139)",slateblue:"rgb(106, 90, 205)",slateblue1:"rgb(131, 111, 255)",slateblue2:"rgb(122, 103, 238)",slateblue3:"rgb(105, 89, 205)",slateblue4:"rgb(71, 60, 139)",slategray:"rgb(112, 128, 144)",slategray1:"rgb(198, 226, 255)",slategray2:"rgb(185, 211, 238)",slategray3:"rgb(159, 182, 205)",slategray4:"rgb(108, 123, 139)",slategrey:"rgb(112, 128, 144)",snow:"rgb(255, 250, 250)",snow1:"rgb(255, 250, 250)",snow2:"rgb(238, 233, 233)",snow3:"rgb(205, 201, 201)",snow4:"rgb(139, 137, 137)",springgreen:"rgb(0, 255, 127)",springgreen1:"rgb(0, 255, 127)",springgreen2:"rgb(0, 238, 118)",springgreen3:"rgb(0, 205, 102)",springgreen4:"rgb(0, 139, 69)",steelblue:"rgb(70, 130, 180)",steelblue1:"rgb(99, 184, 255)",steelblue2:"rgb(92, 172, 238)",steelblue3:"rgb(79, 148, 205)",steelblue4:"rgb(54, 100, 139)",tan:"rgb(210, 180, 140)",tan1:"rgb(255, 165, 79)",tan2:"rgb(238, 154, 73)",tan3:"rgb(205, 133, 63)",tan4:"rgb(139, 90, 43)",thistle:"rgb(216, 191, 216)",thistle1:"rgb(255, 225, 255)",thistle2:"rgb(238, 210, 238)",thistle3:"rgb(205, 181, 205)",thistle4:"rgb(139, 123, 139)",tomato:"rgb(255, 99, 71)",tomato1:"rgb(255, 99, 71)",tomato2:"rgb(238, 92, 66)",tomato3:"rgb(205, 79, 57)",tomato4:"rgb(139, 54, 38)",turquoise:"rgb(64, 224, 208)",turquoise1:"rgb(0, 245, 255)",turquoise2:"rgb(0, 229, 238)",turquoise3:"rgb(0, 197, 205)",turquoise4:"rgb(0, 134, 139)",violet:"rgb(238, 130, 238)",violetred:"rgb(208, 32, 144)",violetred1:"rgb(255, 62, 150)",violetred2:"rgb(238, 58, 140)",violetred3:"rgb(205, 50, 120)",violetred4:"rgb(139, 34, 82)",wheat:"rgb(245, 222, 179)",wheat1:"rgb(255, 231, 186)",wheat2:"rgb(238, 216, 174)",wheat3:"rgb(205, 186, 150)",wheat4:"rgb(139, 126, 102)",white:"rgb(255, 255, 255)",whitesmoke:"rgb(245, 245, 245)",yellow:"rgb(255, 255, 0)",yellow1:"rgb(255, 255, 0)",yellow2:"rgb(238, 238, 0)",yellow3:"rgb(205, 205, 0)",yellow4:"rgb(139, 139, 0)",yellowgreen:"rgb(154, 205, 50)"},i.f={},i.f.createEnum=function(e){return new String(e)},i.f.replaceVars=function(e,t){return e.replace(/%([a-z]*)\(([^\)]+)\)/gi,function(e,r,o){if(void 0===t[o])throw"Unknown variable: "+o;var s=t[o];if(r in i.f.replaceVars.functions)s=i.f.replaceVars.functions[r](s);else if(r)throw"Unknown escape function: "+r;return s})},i.f.replaceVars.functions={encodeURI:encodeURI,encodeURIComponent:encodeURIComponent,escapeHTML:function(e){var t={"<":"<",">":">","&":"&",'"':""","'":"'"};return e.replace(/[<>&\"\']/g,function(e){return t[e]})}},i.f.getAcceptLanguages=function(e){i.f.getAcceptLanguages.chromeSupported()?chrome.i18n.getAcceptLanguages(e):setTimeout(function(){e([navigator.language.replace(/-/g,"_")])},0)},i.f.getAcceptLanguages.chromeSupported=function(){return window.chrome&&chrome.i18n},i.f.parseQuery=function(e){e.startsWith("?")&&(e=e.substr(1));for(var t={},r=e.split("&"),i=0;ir?r:e},i.f.zpad=function(e,t){return String(e).padStart(t,"0")},i.f.getWhitespace=function(e){if(e<=0)return"";var t=this.getWhitespace;for(t.whitespace||(t.whitespace=" ");e>t.whitespace.length;)t.whitespace+=t.whitespace;return t.whitespace.substr(0,e)},i.f.alarm=function(e,t){var r=t||5e3,o=i.f.getStack(1);return function(){var t=setTimeout(function(){var i="string"==typeof e?i:e.name;i=i?": "+i:"",console.warn("lib.f.alarm: timeout expired: "+r/1e3+"s"+i),console.log(o),t=null},r),i=function(e){return function(){return t&&(clearTimeout(t),t=null),e.apply(null,arguments)}};return"string"==typeof e?i:i(e)}()},i.f.getStack=function(e){var t,r=e?e+2:2;try{throw new Error}catch(e){t=e.stack.split("\n")}for(var i={},o=r;o=0&&this.observers.splice(t,1)},i.PreferenceManager.Record.prototype.get=function(){return this.currentValue===this.DEFAULT_VALUE?/^(string|number)$/.test(typeof this.defaultValue)?this.defaultValue:"object"==typeof this.defaultValue?JSON.parse(JSON.stringify(this.defaultValue)):this.defaultValue:this.currentValue},i.PreferenceManager.prototype.deactivate=function(){if(!this.isActive_)throw new Error("Not activated");this.isActive_=!1,this.storage.removeObserver(this.storageObserver_)},i.PreferenceManager.prototype.activate=function(){if(this.isActive_)throw new Error("Already activated");this.isActive_=!0,this.storage.addObserver(this.storageObserver_)},i.PreferenceManager.prototype.readStorage=function(e){function t(){0==--r&&e&&e()}var r=0,i=Object.keys(this.prefRecords_).map(function(e){return this.prefix+e}.bind(this));this.trace&&console.log("Preferences read: "+this.prefix),this.storage.getItems(i,function(i){var o=this.prefix.length;for(var s in i){var n=i[s],a=s.substr(o),l=a in this.childLists_&&JSON.stringify(n)!=JSON.stringify(this.prefRecords_[a].currentValue);this.prefRecords_[a].currentValue=n,l&&(r++,this.syncChildList(a,t))}0==r&&e&&setTimeout(e)}.bind(this))},i.PreferenceManager.prototype.definePreference=function(e,t,r){var o=this.prefRecords_[e];o?this.changeDefault(e,t):o=this.prefRecords_[e]=new i.PreferenceManager.Record(e,t),r&&o.addObserver(r)},i.PreferenceManager.prototype.definePreferences=function(e){for(var t=0;t=0&&s.splice(l,1),!this.childLists_[e][a]){var h=this.childFactories_[e](this,a);if(!h){console.warn("Unable to restore child: "+e+": "+a);continue}h.trace=this.trace,this.childLists_[e][a]=h,r++,h.readStorage(function(){0==--r&&t&&t()})}}for(n=0;n=0;i--){var o=e[i],s=this.storage_.getItem(o);if("string"==typeof s)try{r[o]=JSON.parse(s)}catch(e){r[o]=s}else e.splice(i,1)}setTimeout(t.bind(null,r),0)},i.Storage.Local.prototype.setItem=function(e,t,r){this.storage_.setItem(e,JSON.stringify(t)),r&&setTimeout(r,0)},i.Storage.Local.prototype.setItems=function(e,t){for(var r in e)this.storage_.setItem(r,JSON.stringify(e[r]));t&&setTimeout(t,0)},i.Storage.Local.prototype.removeItem=function(e,t){this.storage_.removeItem(e),t&&setTimeout(t,0)},i.Storage.Local.prototype.removeItems=function(e,t){for(var r=0;r=0;i--){var o=e[i],s=this.storage_[o];if("string"==typeof s)try{r[o]=JSON.parse(s)}catch(e){r[o]=s}else e.splice(i,1)}setTimeout(t.bind(null,r),0)},i.Storage.Memory.prototype.setItem=function(e,t,r){var i=this.storage_[e];this.storage_[e]=JSON.stringify(t);var o={};o[e]={oldValue:i,newValue:t},setTimeout(function(){for(var e=0;e{let t="";switch(e){case"debug":case"warn":case"error":t=e.toUpperCase()+": "}const r=this.console_[e];this[e]=this.console_[e]=((...e)=>{this.save&&(this.data+=this.prefix_+t+e.join(" ")+"\n"),r.apply(this.console_,e)})}),["group","groupCollapsed"].forEach(e=>{const t=this.console_[e];this[e]=this.console_[e]=((e="")=>{t(e),this.save&&(this.data+=this.prefix_+e+"\n"),this.prefix_=" ".repeat(++this.prefixStack_)})});const t=this.console_.groupEnd;this.groupEnd=this.console_.groupEnd=(()=>{t(),this.prefix_=" ".repeat(--this.prefixStack_)})},i.TestManager.Suite=function(e){function t(t,r){this.testManager_=t,this.suiteName=e,this.setup(r)}return t.suiteName=e,t.addTest=i.TestManager.Suite.addTest,t.disableTest=i.TestManager.Suite.disableTest,t.getTest=i.TestManager.Suite.getTest,t.getTestList=i.TestManager.Suite.getTestList,t.testList_=[],t.testMap_={},t.prototype=Object.create(i.TestManager.Suite.prototype),t.constructor=i.TestManager.Suite,i.TestManager.Suite.subclasses.push(t),t},i.TestManager.Suite.subclasses=[],i.TestManager.Suite.addTest=function(e,t){if(e in this.testMap_)throw"Duplicate test name: "+e;var r=new i.TestManager.Test(this,e,t);this.testMap_[e]=r,this.testList_.push(r)},i.TestManager.Suite.disableTest=function(e,t){if(e in this.testMap_)throw"Duplicate test name: "+e;var r=new i.TestManager.Test(this,e,t);console.log("Disabled test: "+r.fullName)},i.TestManager.Suite.getTest=function(e){return this.testMap_[e]},i.TestManager.Suite.getTestList=function(){return this.testList_},i.TestManager.Suite.prototype.setDefaults=function(e,t){for(var r in t)this[r]=r in e?e[r]:t[r]},i.TestManager.Suite.prototype.setup=function(e){},i.TestManager.Suite.prototype.preamble=function(e,t){},i.TestManager.Suite.prototype.postamble=function(e,t){},i.TestManager.Test=function(e,t,r){this.suiteClass=e,this.testName=t,this.fullName=e.suiteName+"["+t+"]",this.testFunction_=r},i.TestManager.Test.prototype.run=function(e){try{this.testFunction_.apply(e.suite,[e,e.testRun.cx])}catch(t){if(t instanceof i.TestManager.Result.TestComplete)return;e.println("Test raised an exception: "+t),t.stack&&(t.stack instanceof Array?e.println(t.stack.join("\n")):e.println(t.stack)),e.completeTest_(e.FAILED,!1)}},i.TestManager.TestRun=function(e,t){this.testManager=e,this.log=e.log,this.cx=t||{},this.failures=[],this.passes=[],this.startDate=null,this.duration=null,this.currentResult=null,this.maxFailures=0,this.panic=!1,this.testQueue_=[]},i.TestManager.TestRun.prototype.ALL_TESTS=i.f.createEnum(""),i.TestManager.TestRun.prototype.selectTest=function(e){this.testQueue_.push(e)},i.TestManager.TestRun.prototype.selectSuite=function(e,t){for(var r=t||this.ALL_TESTS,i=0,o=e.getTestList(),s=0;s500&&this.log.warn("Slow test took "+this.msToSeconds_(e.duration)),this.log.groupEnd(),e.status==e.FAILED)this.failures.push(e),this.currentSuite=null;else{if(e.status!=e.PASSED)return this.log.error("Unknown result status: "+e.test.fullName+": "+e.status),this.panic=!0;this.passes.push(e)}this.runNextTest_()},i.TestManager.TestRun.prototype.onResultReComplete=function(e,t){this.log.error("Late complete for test: "+e.test.fullName+": "+t);var r=this.passes.indexOf(e);r>=0&&(this.passes.splice(r,1),this.failures.push(e))},i.TestManager.TestRun.prototype.runNextTest_=function(){if(this.panic||!this.testQueue_.length)return this.onTestRunComplete_();if(this.maxFailures&&this.failures.length>=this.maxFailures)return this.log.error("Maximum failure count reached, aborting test run."),this.onTestRunComplete_();var e=this.testQueue_[0],t=this.currentResult?this.currentResult.suite:null;try{t&&t instanceof e.suiteClass||(t&&this.log.groupEnd(),this.log.group(e.suiteClass.suiteName),t=new e.suiteClass(this.testManager,this.cx))}catch(e){return this.log.error("Exception during setup: "+(e.stack?e.stack:e)),this.panic=!0,void this.onTestRunComplete_()}try{this.log.group(e.testName),this.currentResult=new i.TestManager.Result(this,t,e),this.testManager.testPreamble(this.currentResult,this.cx),t.preamble(this.currentResult,this.cx),this.testQueue_.shift()}catch(e){return this.log.error("Unexpected exception during test preamble: "+(e.stack?e.stack:e)),this.log.groupEnd(),this.panic=!0,void this.onTestRunComplete_()}try{this.currentResult.run()}catch(e){this.log.error("Unexpected exception during test run: "+(e.stack?e.stack:e)),this.panic=!0}},i.TestManager.TestRun.prototype.run=function(){this.log.info("Running "+this.testQueue_.length+" test(s)"),window.onerror=this.onUncaughtException_.bind(this),this.startDate=new Date,this.runNextTest_()},i.TestManager.TestRun.prototype.msToSeconds_=function(e){return(e/1e3).toFixed(2)+"s"},i.TestManager.TestRun.prototype.summarize=function(){if(this.failures.length)for(var e=0;e1?"\n"+t.join("\n"):t.join("\n")}if(e!==t&&!(t instanceof Array&&this.arrayEQ_(e,t))){var o=r?"["+r+"]":"";this.fail("assertEQ"+o+": "+this.getCallerLocation_(1)+": "+i(e)+" !== "+i(t))}},i.TestManager.Result.prototype.assert=function(e,t){if(!0!==e){var r=t?"["+t+"]":"";this.fail("assert"+r+": "+this.getCallerLocation_(1)+": "+String(e))}},i.TestManager.Result.prototype.getCallerLocation_=function(e){try{throw new Error}catch(r){var t=r.stack.split("\n")[e+2].match(/([^/]+:\d+):\d+\)?$/);return t?t[1]:"???"}},i.TestManager.Result.prototype.println=function(e){this.testRun.log.info(e)},i.TestManager.Result.prototype.fail=function(e){arguments.length&&this.println(e),this.completeTest_(this.FAILED,!0)},i.TestManager.Result.prototype.pass=function(){this.completeTest_(this.PASSED,!0)},i.UTF8Decoder=function(){this.bytesLeft=0,this.codePoint=0,this.lowerBound=0},i.UTF8Decoder.prototype.decode=function(e){for(var t="",r=0;r1114111?t+="�":o<65536?t+=String.fromCharCode(o):(o-=65536,t+=String.fromCharCode(55296+(o>>>10&1023),56320+(1023&o)))}}else t+="�",this.bytesLeft=0,r--}return t},i.decodeUTF8=function(e){return(new i.UTF8Decoder).decode(e)},i.encodeUTF8=function(e){for(var t="",r=0;r>>6),s=1):i<=65535?(t+=String.fromCharCode(224|i>>>12),s=2):(t+=String.fromCharCode(240|i>>>18),s=3);s>0;)s--,t+=String.fromCharCode(128|i>>>6*s&63)}return t},i.wc={},i.wc.nulWidth=0,i.wc.controlWidth=0,i.wc.regardCjkAmbiguous=!1,i.wc.cjkAmbiguousWidth=2,i.wc.combining=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],i.wc.ambiguous=[[161,161],[164,164],[167,168],[170,170],[174,174],[176,180],[182,186],[188,191],[198,198],[208,208],[215,216],[222,225],[230,230],[232,234],[236,237],[240,240],[242,243],[247,250],[252,252],[254,254],[257,257],[273,273],[275,275],[283,283],[294,295],[299,299],[305,307],[312,312],[319,322],[324,324],[328,331],[333,333],[338,339],[358,359],[363,363],[462,462],[464,464],[466,466],[468,468],[470,470],[472,472],[474,474],[476,476],[593,593],[609,609],[708,708],[711,711],[713,715],[717,717],[720,720],[728,731],[733,733],[735,735],[913,929],[931,937],[945,961],[963,969],[1025,1025],[1040,1103],[1105,1105],[8208,8208],[8211,8214],[8216,8217],[8220,8221],[8224,8226],[8228,8231],[8240,8240],[8242,8243],[8245,8245],[8251,8251],[8254,8254],[8308,8308],[8319,8319],[8321,8324],[8364,8364],[8451,8451],[8453,8453],[8457,8457],[8467,8467],[8470,8470],[8481,8482],[8486,8486],[8491,8491],[8531,8532],[8539,8542],[8544,8555],[8560,8569],[8592,8601],[8632,8633],[8658,8658],[8660,8660],[8679,8679],[8704,8704],[8706,8707],[8711,8712],[8715,8715],[8719,8719],[8721,8721],[8725,8725],[8730,8730],[8733,8736],[8739,8739],[8741,8741],[8743,8748],[8750,8750],[8756,8759],[8764,8765],[8776,8776],[8780,8780],[8786,8786],[8800,8801],[8804,8807],[8810,8811],[8814,8815],[8834,8835],[8838,8839],[8853,8853],[8857,8857],[8869,8869],[8895,8895],[8978,8978],[9312,9449],[9451,9547],[9552,9587],[9600,9615],[9618,9621],[9632,9633],[9635,9641],[9650,9651],[9654,9655],[9660,9661],[9664,9665],[9670,9672],[9675,9675],[9678,9681],[9698,9701],[9711,9711],[9733,9734],[9737,9737],[9742,9743],[9748,9749],[9756,9756],[9758,9758],[9792,9792],[9794,9794],[9824,9825],[9827,9829],[9831,9834],[9836,9837],[9839,9839],[10045,10045],[10102,10111],[57344,63743],[65533,65533],[983040,1048573],[1048576,1114109]],i.wc.isSpace=function(e){var t,r=0,o=i.wc.combining.length-1;if(ei.wc.combining[o][1])return!1;for(;o>=r;)if(t=Math.floor((r+o)/2),e>i.wc.combining[t][1])r=t+1;else{if(!(ei.wc.ambiguous[o][1])return!1;for(;o>=r;)if(t=Math.floor((r+o)/2),e>i.wc.ambiguous[t][1])r=t+1;else{if(!(e=127&&e<160?i.wc.controlWidth:e<127?1:i.wc.isSpace(e)?0:1+(e>=4352&&(e<=4447||9001==e||9002==e||e>=11904&&e<=42191&&12351!=e||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072&&e<=196605||e>=196608&&e<=262141))},i.wc.charWidthRegardAmbiguous=function(e){return i.wc.isCjkAmbiguous(e)?i.wc.cjkAmbiguousWidth:i.wc.charWidthDisregardAmbiguous(e)},i.wc.strWidth=function(e){for(var t,r=0,o=0;ot);o++);if(void 0!=r){for(s=o,n=0;sr&&s--,e.substring(o,s)}return e.substr(o)},i.wc.substring=function(e,t,r){return i.wc.substr(e,t,r-t)},i.resource.add("libdot/changelog/version","text/plain","1.16"),i.resource.add("libdot/changelog/date","text/plain","2017-08-16"),i.rtdep("lib.Storage");var o={};o.windowType=null,o.zoomWarningMessage="ZOOM != 100%",o.notifyCopyMessage="✂",o.desktopNotificationTitle="♪ %(title) ♪",o.testDeps=["hterm.ScrollPort.Tests","hterm.Screen.Tests","hterm.Terminal.Tests","hterm.VT.Tests","hterm.VT.CannedTests"],i.registerInit("hterm",function(e){function t(t){o.windowType=t.type,setTimeout(e,0)}o.defaultStorage||(window.chrome&&chrome.storage&&chrome.storage.sync?o.defaultStorage=new i.Storage.Chrome(chrome.storage.sync):o.defaultStorage=new i.Storage.Local);var r=!1;if(window.chrome&&chrome.runtime&&chrome.runtime.getManifest){var s=chrome.runtime.getManifest();r=s.app&&s.app.background}r?setTimeout(t.bind(null,{type:"popup"}),0):window.chrome&&chrome.tabs?chrome.tabs.getCurrent(function(r){r&&window.chrome?chrome.windows.get(r.windowId,null,t):(o.windowType="normal",setTimeout(e,0))}):setTimeout(t.bind(null,{type:"normal"}),0)}),o.getClientSize=function(e){return e.getBoundingClientRect()},o.getClientWidth=function(e){return e.getBoundingClientRect().width},o.getClientHeight=function(e){return e.getBoundingClientRect().height},o.copySelectionToClipboard=function(e){try{e.execCommand("copy")}catch(e){}},o.pasteFromClipboard=function(e){try{return e.execCommand("paste")}catch(e){return!1}},o.notify=function(e){var t=(e,t)=>void 0!==e?e:t;void 0!==e&&null!==e||(e={});var r={body:e.body,icon:t(e.icon,i.resource.getDataUrl("hterm/images/icon-96"))},s=t(e.title,window.document.title);s||(s="hterm"),s=i.f.replaceVars(o.desktopNotificationTitle,{title:s});var n=new Notification(s,r);return n.onclick=function(){window.focus(),this.close()},n},o.Size=function(e,t){this.width=e,this.height=t},o.Size.prototype.resize=function(e,t){this.width=e,this.height=t},o.Size.prototype.clone=function(){return new o.Size(this.width,this.height)},o.Size.prototype.setTo=function(e){this.width=e.width,this.height=e.height},o.Size.prototype.equals=function(e){return this.width==e.width&&this.height==e.height},o.Size.prototype.toString=function(){return"[hterm.Size: "+this.width+", "+this.height+"]"},o.RowCol=function(e,t,r){this.row=e,this.column=t,this.overflow=!!r},o.RowCol.prototype.move=function(e,t,r){this.row=e,this.column=t,this.overflow=!!r},o.RowCol.prototype.clone=function(){return new o.RowCol(this.row,this.column,this.overflow)},o.RowCol.prototype.setTo=function(e){this.row=e.row,this.column=e.column,this.overflow=e.overflow},o.RowCol.prototype.equals=function(e){return this.row==e.row&&this.column==e.column&&this.overflow==e.overflow},o.RowCol.prototype.toString=function(){return"[hterm.RowCol: "+this.row+", "+this.column+", "+this.overflow+"]"},i.rtdep("lib.f"),o.Frame=function(e,t,r){this.terminal_=e,this.div_=e.div_,this.url=t,this.options=r||{},this.iframe_=null,this.container_=null,this.messageChannel_=null},o.Frame.prototype.onMessage_=function(e){switch(e.data.name){case"ipc-init-ok":return void this.sendTerminalInfo_();case"terminal-info-ok":return this.container_.style.display="flex",this.messageChannel_.port1.onmessage=this.onMessage.bind(this),void this.onLoad();default:return void console.log("Unknown message from frame:",e.data)}},o.Frame.prototype.onMessage=function(){},o.Frame.prototype.onLoad_=function(){this.messageChannel_=new MessageChannel,this.messageChannel_.port1.onmessage=this.onMessage_.bind(this),this.messageChannel_.port1.start(),this.iframe_.contentWindow.postMessage({name:"ipc-init",argv:[{messagePort:this.messageChannel_.port2}]},this.url,[this.messageChannel_.port2])},o.Frame.prototype.onLoad=function(){},o.Frame.prototype.sendTerminalInfo_=function(){i.f.getAcceptLanguages(function(e){this.postMessage("terminal-info",[{acceptLanguages:e,foregroundColor:this.terminal_.getForegroundColor(),backgroundColor:this.terminal_.getBackgroundColor(),cursorColor:this.terminal_.getCursorColor(),fontSize:this.terminal_.getFontSize(),fontFamily:this.terminal_.getFontFamily(),baseURL:i.f.getURL("/")}])}.bind(this))},o.Frame.prototype.onCloseClicked_=function(){this.close()},o.Frame.prototype.close=function(){this.container_&&this.container_.parentNode&&(this.container_.parentNode.removeChild(this.container_),this.onClose())},o.Frame.prototype.onClose=function(){},o.Frame.prototype.postMessage=function(e,t){if(!this.messageChannel_)throw new Error("Message channel is not set up.");this.messageChannel_.port1.postMessage({name:e,argv:t})},o.Frame.prototype.show=function(){function e(e,r){return e in t.options?t.options[e]:r}var t=this,t=this;if(this.container_&&this.container_.parentNode)console.error("Frame already visible");else{var r=o.getClientSize(this.div_),i=e("width",640),s=e("height",480),n=(r.width,r.height,this.terminal_.document_),a=this.container_=n.createElement("div");a.style.cssText="position: absolute;display: none;flex-direction: column;top: 10%;left: 4%;width: 90%;height: 80%;min-height: 20%;max-height: 80%;box-shadow: 0 0 2px "+this.terminal_.getForegroundColor()+";border: 2px "+this.terminal_.getForegroundColor()+" solid;";var l=this.iframe_=n.createElement("iframe");l.onload=this.onLoad_.bind(this),l.style.cssText="display: flex;flex: 1;width: 100%",l.setAttribute("src",this.url),l.setAttribute("seamless",!0),a.appendChild(l),this.div_.appendChild(a)}},i.rtdep("hterm.Keyboard.KeyMap"),o.Keyboard=function(e){this.terminal=e,this.keyboardElement_=null,this.handlers_=[["focusout",this.onFocusOut_.bind(this)],["keydown",this.onKeyDown_.bind(this)],["keypress",this.onKeyPress_.bind(this)],["keyup",this.onKeyUp_.bind(this)],["textInput",this.onTextInput_.bind(this)]],this.keyMap=new o.Keyboard.KeyMap(this),this.bindings=new o.Keyboard.Bindings(this),this.altGrMode="none",this.shiftInsertPaste=!0,this.homeKeysScroll=!1,this.pageKeysScroll=!1,this.ctrlPlusMinusZeroZoom=!0,this.ctrlCCopy=!1,this.ctrlVPaste=!1,this.applicationKeypad=!1,this.applicationCursor=!1,this.backspaceSendsBackspace=!1,this.characterEncoding="utf-8",this.metaSendsEscape=!0,this.passMetaV=!0,this.altSendsWhat="escape",this.altIsMeta=!1,this.altBackspaceIsMetaBackspace=!1,this.altKeyPressed=0,this.mediaKeysAreFKeys=!1,this.previousAltSendsWhat_=null},o.Keyboard.KeyActions={CANCEL:i.f.createEnum("CANCEL"),DEFAULT:i.f.createEnum("DEFAULT"),PASS:i.f.createEnum("PASS"),STRIP:i.f.createEnum("STRIP")},o.Keyboard.prototype.encode=function(e){return"utf-8"==this.characterEncoding?this.terminal.vt.encodeUTF8(e):e},o.Keyboard.prototype.installKeyboard=function(e){if(e!=this.keyboardElement_){e&&this.keyboardElement_&&this.installKeyboard(null);for(var t=0;t=32&&(r=e.charCode);r&&this.terminal.onVTKeystroke(String.fromCharCode(r)),e.preventDefault(),e.stopPropagation()}},o.Keyboard.prototype.preventChromeAppNonCtrlShiftDefault_=function(e){window.chrome&&window.chrome.app&&window.chrome.app.window&&(e.ctrlKey&&e.shiftKey||e.preventDefault())},o.Keyboard.prototype.onFocusOut_=function(e){this.altKeyPressed=0},o.Keyboard.prototype.onKeyUp_=function(e){18==e.keyCode&&(this.altKeyPressed=this.altKeyPressed&~(1<=64&&_<=95&&(f=String.fromCharCode(_-64))),u&&"8-bit"==this.altSendsWhat&&1==f.length){var _=f.charCodeAt(0)+128;f=String.fromCharCode(_)}(u&&"escape"==this.altSendsWhat||p&&this.metaSendsEscape)&&(f=""+f)}this.terminal.onVTKeystroke(f)}else console.warn("Invalid action: "+JSON.stringify(f))}else console.warn("No definition for keyCode: "+e.keyCode)},o.Keyboard.Bindings=function(){this.bindings_={}},o.Keyboard.Bindings.prototype.clear=function(){this.bindings_={}},o.Keyboard.Bindings.prototype.addBinding_=function(e,t){var r=null,i=this.bindings_[e.keyCode];if(i)for(var s=0;s",p,s(f,d),p,p],[191,"/?",p,i(a("_"),a("?")),p,p],[17,"[CTRL]",d,d,d,d],[18,"[ALT]",d,d,d,d],[91,"[LAPL]",d,d,d,d],[32," ",p,a("@"),p,p],[92,"[RAPL]",d,d,d,d],[93,"[RMENU]",d,d,d,d],[42,"[PRTSCR]",d,d,d,d],[145,"[SCRLK]",d,d,d,d],[19,"[BREAK]",d,d,d,d],[45,"[INSERT]",l("onKeyInsert_"),p,p,p],[36,"[HOME]",l("onKeyHome_"),p,p,p],[33,"[PGUP]",l("onKeyPageUp_"),p,p,p],[46,"[DEL]",l("onKeyDel_"),p,p,p],[35,"[END]",l("onKeyEnd_"),p,p,p],[34,"[PGDOWN]",l("onKeyPageDown_"),p,p,p],[38,"[UP]",l("onKeyArrowUp_"),p,p,p],[40,"[DOWN]",l("onKeyArrowDown_"),p,p,p],[39,"[RIGHT]",t("","OC"),p,p,p],[37,"[LEFT]",t("","OD"),p,p,p],[144,"[NUMLOCK]",d,d,d,d],[96,"[KP0]",p,p,p,p],[97,"[KP1]",p,p,p,p],[98,"[KP2]",p,p,p,p],[99,"[KP3]",p,p,p,p],[100,"[KP4]",p,p,p,p],[101,"[KP5]",p,p,p,p],[102,"[KP6]",p,p,p,p],[103,"[KP7]",p,p,p,p],[104,"[KP8]",p,p,p,p],[105,"[KP9]",p,p,p,p],[107,"[KP+]",p,l("onPlusMinusZero_"),p,l("onPlusMinusZero_")],[109,"[KP-]",p,l("onPlusMinusZero_"),p,l("onPlusMinusZero_")],[106,"[KP*]",p,p,p,p],[111,"[KP/]",p,p,p,p],[110,"[KP.]",p,p,p,p],[166,"[BACK]",h(n("OP","")),p,"[23~",p],[167,"[FWD]",h(n("OQ","")),p,"[24~",p],[168,"[RELOAD]",h(n("OR","")),p,"[25~",p],[183,"[FSCR]",h(n("OS","")),p,"[26~",p],[182,"[WINS]",h("[15~"),p,"[28~",p],[216,"[BRIT-]",h("[17~"),p,"[29~",p],[217,"[BRIT+]",h("[18~"),p,"[31~",p])},o.Keyboard.KeyMap.prototype.onKeyInsert_=function(e){return this.keyboard.shiftInsertPaste&&e.shiftKey?o.Keyboard.KeyActions.PASS:"[2~"},o.Keyboard.KeyMap.prototype.onKeyHome_=function(e){return!this.keyboard.homeKeysScroll^e.shiftKey?e.altey||e.ctrlKey||e.shiftKey||!this.keyboard.applicationCursor?"":"OH":(this.keyboard.terminal.scrollHome(),o.Keyboard.KeyActions.CANCEL)},o.Keyboard.KeyMap.prototype.onKeyEnd_=function(e){return!this.keyboard.homeKeysScroll^e.shiftKey?e.altKey||e.ctrlKey||e.shiftKey||!this.keyboard.applicationCursor?"":"OF":(this.keyboard.terminal.scrollEnd(),o.Keyboard.KeyActions.CANCEL)},o.Keyboard.KeyMap.prototype.onKeyPageUp_=function(e){return!this.keyboard.pageKeysScroll^e.shiftKey?"[5~":(this.keyboard.terminal.scrollPageUp(),o.Keyboard.KeyActions.CANCEL)},o.Keyboard.KeyMap.prototype.onKeyDel_=function(e){return this.keyboard.altBackspaceIsMetaBackspace&&this.keyboard.altKeyPressed&&!e.altKey?"":"[3~"},o.Keyboard.KeyMap.prototype.onKeyPageDown_=function(e){return!this.keyboard.pageKeysScroll^e.shiftKey?"[6~":(this.keyboard.terminal.scrollPageDown(),o.Keyboard.KeyActions.CANCEL)},o.Keyboard.KeyMap.prototype.onKeyArrowUp_=function(e){return!this.keyboard.applicationCursor&&e.shiftKey?(this.keyboard.terminal.scrollLineUp(),o.Keyboard.KeyActions.CANCEL):e.shiftKey||e.ctrlKey||e.altKey||e.metaKey||!this.keyboard.applicationCursor?"":"OA"},o.Keyboard.KeyMap.prototype.onKeyArrowDown_=function(e){return!this.keyboard.applicationCursor&&e.shiftKey?(this.keyboard.terminal.scrollLineDown(),o.Keyboard.KeyActions.CANCEL):e.shiftKey||e.ctrlKey||e.altKey||e.metaKey||!this.keyboard.applicationCursor?"":"OB"},o.Keyboard.KeyMap.prototype.onClear_=function(e,t){return this.keyboard.terminal.wipeContents(),o.Keyboard.KeyActions.CANCEL},o.Keyboard.KeyMap.prototype.onCtrlNum_=function(e,t){function r(e){return String.fromCharCode(e.charCodeAt(0)-64)}if(this.keyboard.terminal.passCtrlNumber&&!e.shiftKey)return o.Keyboard.KeyActions.PASS;switch(t.keyCap.substr(0,1)){case"1":return"1";case"2":return r("@");case"3":return r("[");case"4":return r("\\");case"5":return r("]");case"6":return r("^");case"7":return r("_");case"8":return"";case"9":return"9"}},o.Keyboard.KeyMap.prototype.onAltNum_=function(e,t){return this.keyboard.terminal.passAltNumber&&!e.shiftKey?o.Keyboard.KeyActions.PASS:o.Keyboard.KeyActions.DEFAULT},o.Keyboard.KeyMap.prototype.onMetaNum_=function(e,t){return this.keyboard.terminal.passMetaNumber&&!e.shiftKey?o.Keyboard.KeyActions.PASS:o.Keyboard.KeyActions.DEFAULT},o.Keyboard.KeyMap.prototype.onCtrlC_=function(e,t){var r=this.keyboard.terminal.getDocument().getSelection();if(!r.isCollapsed){if(this.keyboard.ctrlCCopy&&!e.shiftKey)return this.keyboard.terminal.clearSelectionAfterCopy&&setTimeout(r.collapseToEnd.bind(r),50),o.Keyboard.KeyActions.PASS;if(!this.keyboard.ctrlCCopy&&e.shiftKey)return this.keyboard.terminal.clearSelectionAfterCopy&&setTimeout(r.collapseToEnd.bind(r),50),this.keyboard.terminal.copySelectionToClipboard(),o.Keyboard.KeyActions.CANCEL}return""},o.Keyboard.KeyMap.prototype.onCtrlN_=function(e,t){return e.shiftKey?(window.open(document.location.href,"","chrome=no,close=yes,resize=yes,scrollbars=yes,minimizable=yes,width="+window.innerWidth+",height="+window.innerHeight),o.Keyboard.KeyActions.CANCEL):""},o.Keyboard.KeyMap.prototype.onCtrlV_=function(e,t){return!e.shiftKey&&this.keyboard.ctrlVPaste||e.shiftKey&&!this.keyboard.ctrlVPaste?this.keyboard.terminal.paste()?o.Keyboard.KeyActions.CANCEL:o.Keyboard.KeyActions.PASS:""},o.Keyboard.KeyMap.prototype.onMetaN_=function(e,t){return e.shiftKey?(window.open(document.location.href,"","chrome=no,close=yes,resize=yes,scrollbars=yes,minimizable=yes,width="+window.outerWidth+",height="+window.outerHeight),o.Keyboard.KeyActions.CANCEL):o.Keyboard.KeyActions.DEFAULT},o.Keyboard.KeyMap.prototype.onMetaC_=function(e,t){var r=this.keyboard.terminal.getDocument();return e.shiftKey||r.getSelection().isCollapsed?t.keyCap.substr(e.shiftKey?1:0,1):(this.keyboard.terminal.clearSelectionAfterCopy&&setTimeout(function(){r.getSelection().collapseToEnd()},50),o.Keyboard.KeyActions.PASS)},o.Keyboard.KeyMap.prototype.onMetaV_=function(e,t){return e.shiftKey?o.Keyboard.KeyActions.PASS:this.keyboard.passMetaV?o.Keyboard.KeyActions.PASS:o.Keyboard.KeyActions.DEFAULT},o.Keyboard.KeyMap.prototype.onPlusMinusZero_=function(e,t){if(!(this.keyboard.ctrlPlusMinusZeroZoom^e.shiftKey))return"-_"==t.keyCap?"":o.Keyboard.KeyActions.CANCEL;if(1!=this.keyboard.terminal.getZoomFactor())return o.Keyboard.KeyActions.PASS;var r=t.keyCap.substr(0,1);if("0"==r)this.keyboard.terminal.setFontSize(0);else{var i=this.keyboard.terminal.getFontSize();"-"==r||"[KP-]"==t.keyCap?i-=1:i+=1,this.keyboard.terminal.setFontSize(i)}return o.Keyboard.KeyActions.CANCEL},o.Keyboard.KeyPattern=function(e){this.wildcardCount=0,this.keyCode=e.keyCode,o.Keyboard.KeyPattern.modifiers.forEach(function(t){this[t]=e[t]||!1,"*"==this[t]&&this.wildcardCount++}.bind(this))},o.Keyboard.KeyPattern.modifiers=["shift","ctrl","alt","meta"],o.Keyboard.KeyPattern.sortCompare=function(e,t){return e.wildcardCountt.wildcardCount?1:0},o.Keyboard.KeyPattern.prototype.match_=function(e,t){if(this.keyCode!=e.keyCode)return!1;var r=!0;return o.Keyboard.KeyPattern.modifiers.forEach(function(i){var o=i in e&&e[i];r&&(t||"*"!=this[i])&&this[i]!=o&&(r=!1)}.bind(this)),r},o.Keyboard.KeyPattern.prototype.matchKeyDown=function(e){return this.match_(e,!1)},o.Keyboard.KeyPattern.prototype.matchKeyPattern=function(e){return this.match_(e,!0)},o.Options=function(e){this.wraparound=!e||e.wraparound,this.reverseWraparound=!!e&&e.reverseWraparound,this.originMode=!!e&&e.originMode,this.autoCarriageReturn=!!e&&e.autoCarriageReturn,this.cursorVisible=!!e&&e.cursorVisible,this.cursorBlink=!!e&&e.cursorBlink,this.insertMode=!!e&&e.insertMode,this.reverseVideo=!!e&&e.reverseVideo,this.bracketedPaste=!!e&&e.bracketedPaste},i.rtdep("hterm.Keyboard.KeyActions"),o.Parser=function(){this.source="",this.pos=0,this.ch=null},o.Parser.prototype.error=function(e){return new Error("Parse error at "+this.pos+": "+e)},o.Parser.prototype.isComplete=function(){return this.pos==this.source.length},o.Parser.prototype.reset=function(e,t){this.source=e,this.pos=t||0,this.ch=e.substr(0,1)},o.Parser.prototype.parseKeySequence=function(){var e={keyCode:null};for(var t in o.Parser.identifiers.modifierKeys)e[o.Parser.identifiers.modifierKeys[t]]=!1;for(;this.pos 'none', else => 'right-alt'\n'none': Disable any AltGr related munging.\n'ctrl-alt': Assume Ctrl+Alt means AltGr.\n'left-alt': Assume left Alt means AltGr.\n'right-alt': Assume right Alt means AltGr.\n"],"alt-backspace-is-meta-backspace":[o.PreferenceManager.categories.Keyboard,!1,"bool","If set, undoes the Chrome OS Alt-Backspace->DEL remap, so that alt-backspace indeed is alt-backspace."],"alt-is-meta":[o.PreferenceManager.categories.Keyboard,!1,"bool","Set whether the alt key acts as a meta key or as a distinct alt key."],"alt-sends-what":[o.PreferenceManager.categories.Keyboard,"escape",["escape","8-bit","browser-key"],"Controls how the alt key is handled.\n\n escape....... Send an ESC prefix.\n 8-bit........ Add 128 to the unshifted character as in xterm.\n browser-key.. Wait for the keypress event and see what the browser \n says. (This won't work well on platforms where the \n browser performs a default action for some alt sequences.)"],"audible-bell-sound":[o.PreferenceManager.categories.Sounds,"lib-resource:hterm/audio/bell","url","URL of the terminal bell sound. Empty string for no audible bell."],"desktop-notification-bell":[o.PreferenceManager.categories.Sounds,!1,"bool",'If true, terminal bells in the background will create a Web Notification. https://www.w3.org/TR/notifications/\n\nDisplaying notifications requires permission from the user. When this option is set to true, hterm will attempt to ask the user for permission if necessary. Note browsers may not show this permission request if it did not originate from a user action.\n\nChrome extensions with the "notifications" permission have permission to display notifications.'],"background-color":[o.PreferenceManager.categories.Appearance,"rgb(16, 16, 16)","color","The background color for text with no other color attributes."],"background-image":[o.PreferenceManager.categories.Appearance,"","string","CSS value of the background image. Empty string for no image.\n\nFor example:\n url(https://goo.gl/anedTK)\n linear-gradient(top bottom, blue, red)"],"background-size":[o.PreferenceManager.categories.Appearance,"","string","CSS value of the background image size. Defaults to none."],"background-position":[o.PreferenceManager.categories.Appearance,"","string","CSS value of the background image position.\n\nFor example:\n 10% 10%\n center"],"backspace-sends-backspace":[o.PreferenceManager.categories.Keyboard,!1,"bool","If true, the backspace should send BS ('\\x08', aka ^H). Otherwise the backspace key should send '\\x7f'."],"character-map-overrides":[o.PreferenceManager.categories.Appearance,null,"value",'This is specified as an object. It is a sparse array, where each property is the character set code and the value is an object that is a sparse array itself. In that sparse array, each property is the received character and the value is the displayed character.\n\nFor example:\n {"0":{"+":"\\u2192",",":"\\u2190","-":"\\u2191",".":"\\u2193", "0":"\\u2588"}}'],"close-on-exit":[o.PreferenceManager.categories.Miscellaneous,!0,"bool","Whether or not to close the window when the command exits."],"cursor-blink":[o.PreferenceManager.categories.Appearance,!1,"bool","Whether or not to blink the cursor by default."],"cursor-blink-cycle":[o.PreferenceManager.categories.Appearance,[1e3,500],"value","The cursor blink rate in milliseconds.\n\nA two element array, the first of which is how long the cursor should be on, second is how long it should be off."],"cursor-color":[o.PreferenceManager.categories.Appearance,"rgba(255, 0, 0, 0.5)","color","The color of the visible cursor."],"color-palette-overrides":[o.PreferenceManager.categories.Appearance,null,"value","Override colors in the default palette.\n\nThis can be specified as an array or an object. If specified as an object it is assumed to be a sparse array, where each property is a numeric index into the color palette.\n\nValues can be specified as almost any css color value. This includes #RGB, #RRGGBB, rgb(...), rgba(...), and any color names that are also part of the stock X11 rgb.txt file.\n\nYou can use 'null' to specify that the default value should be not be changed. This is useful for skipping a small number of indices when the value is specified as an array."],"copy-on-select":[o.PreferenceManager.categories.CopyPaste,!0,"bool","Automatically copy mouse selection to the clipboard."],"use-default-window-copy":[o.PreferenceManager.categories.CopyPaste,!1,"bool","Whether to use the default window copy behavior"],"clear-selection-after-copy":[o.PreferenceManager.categories.CopyPaste,!0,"bool","Whether to clear the selection after copying."],"ctrl-plus-minus-zero-zoom":[o.PreferenceManager.categories.Keyboard,!0,"bool","If true, Ctrl-Plus/Minus/Zero controls zoom.\nIf false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_, Ctrl-Plus/Zero do nothing."],"ctrl-c-copy":[o.PreferenceManager.categories.Keyboard,!1,"bool","Ctrl+C copies if true, send ^C to host if false.\nCtrl+Shift+C sends ^C to host if true, copies if false."],"ctrl-v-paste":[o.PreferenceManager.categories.Keyboard,!1,"bool","Ctrl+V pastes if true, send ^V to host if false.\nCtrl+Shift+V sends ^V to host if true, pastes if false."],"east-asian-ambiguous-as-two-column":[o.PreferenceManager.categories.Keyboard,!1,"bool","Set whether East Asian Ambiguous characters have two column width."],"enable-8-bit-control":[o.PreferenceManager.categories.Keyboard,!1,"bool","True to enable 8-bit control characters, false to ignore them.\n\nWe'll respect the two-byte versions of these control characters regardless of this setting."],"enable-bold":[o.PreferenceManager.categories.Appearance,null,"tristate","True if we should use bold weight font for text with the bold/bright attribute. False to use the normal weight font. Null to autodetect."],"enable-bold-as-bright":[o.PreferenceManager.categories.Appearance,!0,"bool","True if we should use bright colors (8-15 on a 16 color palette) for any text with the bold attribute. False otherwise."],"enable-blink":[o.PreferenceManager.categories.Appearance,!0,"bool","True if we should respect the blink attribute. False to ignore it. "],"enable-clipboard-notice":[o.PreferenceManager.categories.CopyPaste,!0,"bool","Show a message in the terminal when the host writes to the clipboard."],"enable-clipboard-write":[o.PreferenceManager.categories.CopyPaste,!0,"bool","Allow the host to write directly to the system clipboard."],"enable-dec12":[o.PreferenceManager.categories.Miscellaneous,!1,"bool","Respect the host's attempt to change the cursor blink status using DEC Private Mode 12."],environment:[o.PreferenceManager.categories.Miscellaneous,{TERM:"xterm-256color"},"value","The default environment variables, as an object."],"font-family":[o.PreferenceManager.categories.Appearance,'"DejaVu Sans Mono", "Everson Mono", FreeMono, "Menlo", "Terminal", monospace',"string","Default font family for the terminal text."],"font-size":[o.PreferenceManager.categories.Appearance,15,"int","The default font size in pixels."],"font-smoothing":[o.PreferenceManager.categories.Appearance,"antialiased","string","CSS font-smoothing property."],"foreground-color":[o.PreferenceManager.categories.Appearance,"rgb(240, 240, 240)","color","The foreground color for text with no other color attributes."],"home-keys-scroll":[o.PreferenceManager.categories.Keyboard,!1,"bool","If true, home/end will control the terminal scrollbar and shift home/end will send the VT keycodes. If false then home/end sends VT codes and shift home/end scrolls."],keybindings:[o.PreferenceManager.categories.Keyboard,null,"value",'A map of key sequence to key actions. Key sequences include zero or more modifier keys followed by a key code. Key codes can be decimal or hexadecimal numbers, or a key identifier. Key actions can be specified a string to send to the host, or an action identifier. For a full explanation of the format, see https://goo.gl/LWRndr.\n\nSample keybindings:\n{\n "Ctrl-Alt-K": "clearScrollback",\n "Ctrl-Shift-L": "PASS",\n "Ctrl-H": "\'HELLO\\n\'"\n}'],"max-string-sequence":[o.PreferenceManager.categories.Encoding,1e5,"int","Max length of a DCS, OSC, PM, or APS sequence before we give up and ignore the code."],"media-keys-are-fkeys":[o.PreferenceManager.categories.Keyboard,!1,"bool","If true, convert media keys to their Fkey equivalent. If false, let the browser handle the keys."],"meta-sends-escape":[o.PreferenceManager.categories.Keyboard,!0,"bool","Set whether the meta key sends a leading escape or not."],"mouse-right-click-paste":[o.PreferenceManager.categories.CopyPaste,!0,"bool",'Paste on right mouse button clicks.\n\nThis option is activate independent of the "mouse-paste-button" setting.\n\nNote: This will handle left & right handed mice correctly.'],"mouse-paste-button":[o.PreferenceManager.categories.CopyPaste,null,[null,0,1,2,3,4,5,6],"Mouse paste button, or null to autodetect.\n\nFor autodetect, we'll use the middle mouse button for non-X11 platforms (including Chrome OS). On X11, we'll use the right mouse button (since the native window manager should paste via the middle mouse button).\n\n0 == left (primary) button.\n1 == middle (auxiliary) button.\n2 == right (secondary) button.\n\nThis option is activate independent of the \"mouse-right-click-paste\" setting.\n\nNote: This will handle left & right handed mice correctly."],"word-break-match-left":[o.PreferenceManager.categories.CopyPaste,"[^\\s\\[\\](){}<>\"'\\^!@#$%&*,;:`]","string",'Regular expression to halt matching to the left (start) of a selection.\n\nNormally this is a character class to reject specific characters.\nWe allow "~" and "." by default as paths frequently start with those.'],"word-break-match-right":[o.PreferenceManager.categories.CopyPaste,"[^\\s\\[\\](){}<>\"'\\^!@#$%&*,;:~.`]","string","Regular expression to halt matching to the right (end) of a selection.\n\nNormally this is a character class to reject specific characters."],"word-break-match-middle":[o.PreferenceManager.categories.CopyPaste,"[^\\s\\[\\](){}<>\"'\\^]*","string","Regular expression to match all the characters in the middle.\n\nNormally this is a character class to reject specific characters.\n\nUsed to expand the selection surrounding the starting point."],"page-keys-scroll":[o.PreferenceManager.categories.Keyboard,!1,"bool","If true, page up/down will control the terminal scrollbar and shift page up/down will send the VT keycodes. If false then page up/down sends VT codes and shift page up/down scrolls."],"pass-alt-number":[o.PreferenceManager.categories.Keyboard,null,"tristate","Set whether we should pass Alt-1..9 to the browser.\n\nThis is handy when running hterm in a browser tab, so that you don't lose Chrome's \"switch to tab\" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs.\n\nIf true, Alt-1..9 will be handled by the browser. If false, Alt-1..9 will be sent to the host. If null, autodetect based on browser platform and window type."],"pass-ctrl-number":[o.PreferenceManager.categories.Keyboard,null,"tristate","Set whether we should pass Ctrl-1..9 to the browser.\n\nThis is handy when running hterm in a browser tab, so that you don't lose Chrome's \"switch to tab\" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs.\n\nIf true, Ctrl-1..9 will be handled by the browser. If false, Ctrl-1..9 will be sent to the host. If null, autodetect based on browser platform and window type."],"pass-meta-number":[o.PreferenceManager.categories.Keyboard,null,"tristate","Set whether we should pass Meta-1..9 to the browser.\n\nThis is handy when running hterm in a browser tab, so that you don't lose Chrome's \"switch to tab\" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs.\n\nIf true, Meta-1..9 will be handled by the browser. If false, Meta-1..9 will be sent to the host. If null, autodetect based on browser platform and window type."],"pass-meta-v":[o.PreferenceManager.categories.Keyboard,!0,"bool","Set whether meta-V gets passed to host."],"receive-encoding":[o.PreferenceManager.categories.Encoding,"utf-8",["utf-8","raw"],"Set the expected encoding for data received from the host.\n\nValid values are 'utf-8' and 'raw'."],"scroll-on-keystroke":[o.PreferenceManager.categories.Scrolling,!0,"bool","If true, scroll to the bottom on any keystroke."],"scroll-on-output":[o.PreferenceManager.categories.Scrolling,!1,"bool","If true, scroll to the bottom on terminal output."],"scrollbar-visible":[o.PreferenceManager.categories.Scrolling,!0,"bool","The vertical scrollbar mode."],"scroll-wheel-may-send-arrow-keys":[o.PreferenceManager.categories.Scrolling,!1,"bool","When using the alternative screen buffer, and DECCKM (Application Cursor Keys) is active, mouse wheel scroll events will emulate arrow keys.\n\nIt can be temporarily disabled by holding the shift key.\n\nThis frequently comes up when using pagers (less) or reading man pages or text editors (vi/nano) or using screen/tmux."],"scroll-wheel-move-multiplier":[o.PreferenceManager.categories.Scrolling,1,"int","The multiplier for the pixel delta in wheel events caused by the scroll wheel. Alters how fast the page scrolls."],"send-encoding":[o.PreferenceManager.categories.Encoding,"utf-8",["utf-8","raw"],"Set the encoding for data sent to host."],"terminal-encoding":[o.PreferenceManager.categories.Encoding,"iso-2022",["iso-2022","utf-8","utf-8-locked"],"The default terminal encoding (DOCS).\n\nISO-2022 enables character map translations (like graphics maps).\nUTF-8 disables support for those.\n\nThe locked variant means the encoding cannot be changed at runtime via terminal escape sequences.\n\nYou should stick with UTF-8 unless you notice broken rendering with legacy applications."],"shift-insert-paste":[o.PreferenceManager.categories.Keyboard,!0,"bool","Shift + Insert pastes if true, sent to host if false."],"user-css":[o.PreferenceManager.categories.Appearance,"","url","URL of user stylesheet to include in the terminal document."],"user-css-text":[o.PreferenceManager.categories.Appearance,"","multiline-string","Custom CSS text for styling the terminal."]},o.PreferenceManager.prototype=Object.create(i.PreferenceManager.prototype),o.PreferenceManager.constructor=o.PreferenceManager,o.PubSub=function(){this.observers_={}},o.PubSub.addBehavior=function(e){var t=new o.PubSub;for(var r in o.PubSub.prototype)e[r]=o.PubSub.prototype[r].bind(t)},o.PubSub.prototype.subscribe=function(e,t){e in this.observers_||(this.observers_[e]=[]),this.observers_[e].push(t)},o.PubSub.prototype.unsubscribe=function(e,t){var r=this.observers_[e];if(!r)throw"Invalid subject: "+e;var i=r.indexOf(t);if(i<0)throw"Not subscribed: "+e;r.splice(i,1)},o.PubSub.prototype.publish=function(e,t,r){function i(e){e=e&&this.setCursorPosition(this.cursorPosition.row,e-1)},o.Screen.prototype.shiftRow=function(){return this.shiftRows(1)[0]},o.Screen.prototype.shiftRows=function(e){return this.rowsArray.splice(0,e)},o.Screen.prototype.unshiftRow=function(e){this.rowsArray.splice(0,0,e)},o.Screen.prototype.unshiftRows=function(e){this.rowsArray.unshift.apply(this.rowsArray,e)},o.Screen.prototype.popRow=function(){return this.popRows(1)[0]},o.Screen.prototype.popRows=function(e){return this.rowsArray.splice(this.rowsArray.length-e,e)},o.Screen.prototype.pushRow=function(e){this.rowsArray.push(e)},o.Screen.prototype.pushRows=function(e){e.push.apply(this.rowsArray,e)},o.Screen.prototype.insertRow=function(e,t){this.rowsArray.splice(e,0,t)},o.Screen.prototype.insertRows=function(e,t){for(var r=0;r=this.rowsArray.length?(console.error("Row out of bounds: "+e),e=this.rowsArray.length-1):e<0&&(console.error("Row out of bounds: "+e),e=0),t>=this.columnCount_?(console.error("Column out of bounds: "+t),t=this.columnCount_-1):t<0&&(console.error("Column out of bounds: "+t),t=0),this.cursorPosition.overflow=!1;var r=this.rowsArray[e],i=r.firstChild;i||(i=r.ownerDocument.createTextNode(""),r.appendChild(i));var s=0;for(r==this.cursorRowNode_?t>=this.cursorPosition.column-this.cursorOffset_&&(i=this.cursorNode_,s=this.cursorPosition.column-this.cursorOffset_):this.cursorRowNode_=r,this.cursorPosition.move(e,t);i;){var n=t-s,a=o.TextAttributes.nodeWidth(i);if(!i.nextSibling||a>n)return this.cursorNode_=i,void(this.cursorOffset_=n);s+=a,i=i.nextSibling}}else console.warn("Attempt to set cursor position on empty screen.")},o.Screen.prototype.syncSelectionCaret=function(e){try{e.collapse(this.cursorNode_,this.cursorOffset_)}catch(e){}},o.Screen.prototype.splitNode_=function(e,t){var r=e.cloneNode(!1),s=e.textContent;e.textContent=o.TextAttributes.nodeSubstr(e,0,t),r.textContent=i.wc.substr(s,t),r.textContent&&e.parentNode.insertBefore(r,e.nextSibling),e.textContent||e.parentNode.removeChild(e)},o.Screen.prototype.maybeClipCurrentRow=function(){var e=o.TextAttributes.nodeWidth(this.cursorRowNode_);if(e<=this.columnCount_)this.cursorPosition.column>=this.columnCount_&&(this.setCursorPosition(this.cursorPosition.row,this.columnCount_-1),this.cursorPosition.overflow=!0);else{var t=this.cursorPosition.column;this.setCursorPosition(this.cursorPosition.row,this.columnCount_-1),e=o.TextAttributes.nodeWidth(this.cursorNode_),this.cursorOffset_o.TextAttributes.nodeWidth(e);){if(!e.hasAttribute("line-overflow")||!e.nextSibling)return-1;t-=o.TextAttributes.nodeWidth(e),e=e.nextSibling}return this.getNodeAndOffsetWithinRow_(e,t)},o.Screen.prototype.getNodeAndOffsetWithinRow_=function(e,t){for(var r=0;ro)){var d=i.wc.substring(h,o,i.wc.strWidth(h)),f=new RegExp("^"+l+a),g=d.match(f);if(g){var m=o+i.wc.strWidth(g[0]);-1==m||ms.rowIndex)t();else if(i.focusNode==i.anchorNode)i.anchorOffset=this.lastRowCount_},o.ScrollPort.prototype.drawTopFold_=function(e){if(!this.selection.startRow||this.selection.startRow.rowIndex>=e)this.rowNodes_.firstChild!=this.topFold_&&this.rowNodes_.insertBefore(this.topFold_,this.rowNodes_.firstChild);else{if(!this.selection.isMultiline||this.selection.endRow.rowIndex>=e)this.selection.startRow.nextSibling!=this.topFold_&&this.rowNodes_.insertBefore(this.topFold_,this.selection.startRow.nextSibling);else for(this.selection.endRow.nextSibling!=this.topFold_&&this.rowNodes_.insertBefore(this.topFold_,this.selection.endRow.nextSibling);this.selection.startRow.nextSibling!=this.selection.endRow;)this.rowNodes_.removeChild(this.selection.startRow.nextSibling);for(;this.rowNodes_.firstChild!=this.selection.startRow;)this.rowNodes_.removeChild(this.rowNodes_.firstChild)}},o.ScrollPort.prototype.drawBottomFold_=function(e){if(!this.selection.endRow||this.selection.endRow.rowIndex<=e)this.rowNodes_.lastChild!=this.bottomFold_&&this.rowNodes_.appendChild(this.bottomFold_);else{if(!this.selection.isMultiline||this.selection.startRow.rowIndex<=e)this.bottomFold_.nextSibling!=this.selection.endRow&&this.rowNodes_.insertBefore(this.bottomFold_,this.selection.endRow);else for(this.bottomFold_.nextSibling!=this.selection.startRow&&this.rowNodes_.insertBefore(this.bottomFold_,this.selection.startRow);this.selection.startRow.nextSibling!=this.selection.endRow;)this.rowNodes_.removeChild(this.selection.startRow.nextSibling);for(;this.rowNodes_.lastChild!=this.selection.endRow;)this.rowNodes_.removeChild(this.rowNodes_.lastChild)}},o.ScrollPort.prototype.drawVisibleRows_=function(e,t){function r(e,t){for(;e!=t;){if(!e)throw"Did not encounter target node";if(e==i.bottomFold_)throw"Encountered bottom fold before target node";var r=e;e=e.nextSibling,r.parentNode.removeChild(r)}}for(var i=this,o=this.selection.startRow,s=this.selection.endRow,n=this.bottomFold_,a=this.topFold_.nextSibling,l=Math.min(this.visibleRowCount,this.rowProvider_.getRowCount()),h=0;h=this.lastRowCount_;var t=e*this.characterSize.height+this.visibleRowTopMargin,r=this.getScrollMax_();t>r&&(t=r),this.screen_.scrollTop!=t&&(this.screen_.scrollTop=t,this.scheduleRedraw())},o.ScrollPort.prototype.scrollRowToBottom=function(e){this.syncScrollHeight(),this.isScrolledEnd=e+this.visibleRowCount>=this.lastRowCount_;var t=e*this.characterSize.height+this.visibleRowTopMargin+this.visibleRowBottomMargin;(t-=this.visibleRowCount*this.characterSize.height)<0&&(t=0),this.screen_.scrollTop!=t&&(this.screen_.scrollTop=t)},o.ScrollPort.prototype.getTopRowIndex=function(){return Math.round(this.screen_.scrollTop/this.characterSize.height)},o.ScrollPort.prototype.getBottomRowIndex=function(e){return e+this.visibleRowCount-1},o.ScrollPort.prototype.onScroll_=function(e){var t=this.getScreenSize();t.width==this.lastScreenWidth_&&t.height==this.lastScreenHeight_?(this.redraw_(),this.publish("scroll",{scrollPort:this})):this.resize()},o.ScrollPort.prototype.onScrollWheel=function(e){},o.ScrollPort.prototype.onScrollWheel_=function(e){if(this.onScrollWheel(e),!e.defaultPrevented){var t=this.scrollWheelDelta(e),r=this.screen_.scrollTop-t;r<0&&(r=0);var i=this.getScrollMax_();r>i&&(r=i),r!=this.screen_.scrollTop&&(this.screen_.scrollTop=r,e.preventDefault())}},o.ScrollPort.prototype.scrollWheelDelta=function(e){var t;switch(e.deltaMode){case WheelEvent.DOM_DELTA_PIXEL:t=e.deltaY*this.scrollWheelMultiplier_;break;case WheelEvent.DOM_DELTA_LINE:t=e.deltaY*this.characterSize.height;break;case WheelEvent.DOM_DELTA_PAGE:t=e.deltaY*this.characterSize.height*this.screen_.getHeight()}return-1*t},o.ScrollPort.prototype.onTouch=function(e){},o.ScrollPort.prototype.onTouch_=function(e){if(this.onTouch(e),!e.defaultPrevented){var t,r,i=function(e){return{id:e.identifier,y:e.clientY,x:e.clientX}};switch(e.type){case"touchstart":for(t=0;tn&&(s=n),s!=this.screen_.scrollTop&&(this.screen_.scrollTop=s)}e.preventDefault()}},o.ScrollPort.prototype.onResize_=function(e){this.syncCharacterSize(),this.resize()},o.ScrollPort.prototype.onCopy=function(e){},o.ScrollPort.prototype.onCopy_=function(e){if(this.onCopy(e),!e.defaultPrevented&&(this.resetSelectBags_(),this.selection.sync(),this.selection.startRow&&!(this.selection.endRow.rowIndex-this.selection.startRow.rowIndex<2))){var t=this.getTopRowIndex(),r=this.getBottomRowIndex(t);if(this.selection.startRow.rowIndexr){var o;o=this.selection.startRow.rowIndex>r?this.selection.startRow.rowIndex+1:this.bottomFold_.previousSibling.rowIndex+1,this.bottomSelectBag_.textContent=this.rowProvider_.getRowsText(o,this.selection.endRow.rowIndex),this.rowNodes_.insertBefore(this.bottomSelectBag_,this.selection.endRow)}}},o.ScrollPort.prototype.onBodyKeyDown_=function(e){if(this.ctrlVPaste){var t=String.fromCharCode(e.which).toLowerCase();(e.ctrlKey||e.metaKey)&&"v"==t&&this.pasteTarget_.focus()}},o.ScrollPort.prototype.onPaste_=function(e){this.pasteTarget_.focus();var t=this;setTimeout(function(){t.publish("paste",{text:t.pasteTarget_.value}),t.pasteTarget_.value="",t.screen_.focus()},0)},o.ScrollPort.prototype.handlePasteTargetTextInput_=function(e){e.stopPropagation()},o.ScrollPort.prototype.setScrollbarVisible=function(e){this.screen_.style.overflowY=e?"scroll":"hidden"},o.ScrollPort.prototype.setScrollWheelMoveMultipler=function(e){this.scrollWheelMultiplier_=e},i.rtdep("lib.colors","lib.PreferenceManager","lib.resource","lib.wc","lib.f","hterm.Keyboard","hterm.Options","hterm.PreferenceManager","hterm.Screen","hterm.ScrollPort","hterm.Size","hterm.TextAttributes","hterm.VT"),o.Terminal=function(e){this.profileId_=null,this.primaryScreen_=new o.Screen,this.alternateScreen_=new o.Screen,this.screen_=this.primaryScreen_,this.screenSize=new o.Size(0,0),this.scrollPort_=new o.ScrollPort(this),this.scrollPort_.subscribe("resize",this.onResize_.bind(this)),this.scrollPort_.subscribe("scroll",this.onScroll_.bind(this)),this.scrollPort_.subscribe("paste",this.onPaste_.bind(this)),this.scrollPort_.onCopy=this.onCopy_.bind(this),this.div_=null,this.document_=window.document,this.scrollbackRows_=[],this.tabStops_=[],this.defaultTabStops=!0,this.vtScrollTop_=null,this.vtScrollBottom_=null,this.cursorNode_=null,this.cursorShape_=o.Terminal.cursorShape.BLOCK,this.cursorColor_=null,this.cursorBlinkCycle_=[100,100],this.myOnCursorBlink_=this.onCursorBlink_.bind(this),this.backgroundColor_=null,this.foregroundColor_=null,this.scrollOnOutput_=null,this.scrollOnKeystroke_=null,this.scrollWheelArrowKeys_=null,this.defeatMouseReports_=!1,this.bellAudio_=this.document_.createElement("audio"),this.bellAudio_.id="hterm:bell-audio",this.bellAudio_.setAttribute("preload","auto"),this.bellNotificationList_=[],this.desktopNotificationBell_=!1,this.savedOptions_={},this.options_=new o.Options,this.timeouts_={},this.vt=new o.VT(this),this.keyboard=new o.Keyboard(this),this.io=new o.Terminal.IO(this),this.enableMouseDragScroll=!0,this.copyOnSelect=null,this.mouseRightClickPaste=null,this.mousePasteButton=null,this.useDefaultWindowCopy=!1,this.clearSelectionAfterCopy=!0,this.realizeSize_(80,24),this.setDefaultTabStops(),this.setProfile(e||"default",function(){this.onTerminalReady()}.bind(this))},o.Terminal.cursorShape={BLOCK:"BLOCK",BEAM:"BEAM",UNDERLINE:"UNDERLINE"},o.Terminal.prototype.onTerminalReady=function(){},o.Terminal.prototype.tabWidth=8,o.Terminal.prototype.setProfile=function(e,t){this.profileId_=e.replace(/\//g,"");var r=this;this.prefs_&&this.prefs_.deactivate(),this.prefs_=new o.PreferenceManager(this.profileId_),this.prefs_.addObservers(null,{"alt-gr-mode":function(e){e=null==e?"en-us"==navigator.language.toLowerCase()?"none":"right-alt":"string"==typeof e?e.toLowerCase():"none",/^(none|ctrl-alt|left-alt|right-alt)$/.test(e)||(e="none"),r.keyboard.altGrMode=e},"alt-backspace-is-meta-backspace":function(e){r.keyboard.altBackspaceIsMetaBackspace=e},"alt-is-meta":function(e){r.keyboard.altIsMeta=e},"alt-sends-what":function(e){/^(escape|8-bit|browser-key)$/.test(e)||(e="escape"),r.keyboard.altSendsWhat=e},"audible-bell-sound":function(e){var t=e.match(/^lib-resource:(\S+)/);t?r.bellAudio_.setAttribute("src",i.resource.getDataUrl(t[1])):r.bellAudio_.setAttribute("src",e)},"desktop-notification-bell":function(e){e&&Notification?(r.desktopNotificationBell_="granted"===Notification.permission,r.desktopNotificationBell_||console.warn("desktop-notification-bell is true but we do not have permission to display notifications.")):r.desktopNotificationBell_=!1},"background-color":function(e){r.setBackgroundColor(e)},"background-image":function(e){r.scrollPort_.setBackgroundImage(e)},"background-size":function(e){r.scrollPort_.setBackgroundSize(e)},"background-position":function(e){r.scrollPort_.setBackgroundPosition(e)},"backspace-sends-backspace":function(e){r.keyboard.backspaceSendsBackspace=e},"character-map-overrides":function(e){null==e||e instanceof Object?(r.vt.characterMaps.reset(),r.vt.characterMaps.setOverrides(e)):console.warn("Preference character-map-modifications is not an object: "+e)},"cursor-blink":function(e){r.setCursorBlink(!!e)},"cursor-blink-cycle":function(e){e instanceof Array&&"number"==typeof e[0]&&"number"==typeof e[1]?r.cursorBlinkCycle_=e:r.cursorBlinkCycle_="number"==typeof e?[e,e]:[100,100]},"cursor-color":function(e){r.setCursorColor(e)},"color-palette-overrides":function(e){if(null==e||e instanceof Object||e instanceof Array){if(i.colors.colorPalette=i.colors.stockColorPalette.concat(),e)for(var t in e){var o=parseInt(t);if(isNaN(o)||o<0||o>255)console.log("Invalid value in palette: "+t+": "+e[t]);else if(e[o]){var s=i.colors.normalizeCSS(e[o]);s&&(i.colors.colorPalette[o]=s)}}r.primaryScreen_.textAttributes.resetColorPalette(),r.alternateScreen_.textAttributes.resetColorPalette()}else console.warn("Preference color-palette-overrides is not an array or object: "+e)},"copy-on-select":function(e){r.copyOnSelect=!!e},"use-default-window-copy":function(e){r.useDefaultWindowCopy=!!e},"clear-selection-after-copy":function(e){r.clearSelectionAfterCopy=!!e},"ctrl-plus-minus-zero-zoom":function(e){r.keyboard.ctrlPlusMinusZeroZoom=e},"ctrl-c-copy":function(e){r.keyboard.ctrlCCopy=e},"ctrl-v-paste":function(e){r.keyboard.ctrlVPaste=e,r.scrollPort_.setCtrlVPaste(e)},"east-asian-ambiguous-as-two-column":function(e){i.wc.regardCjkAmbiguous=e},"enable-8-bit-control":function(e){r.vt.enable8BitControl=!!e},"enable-bold":function(e){r.syncBoldSafeState()},"enable-bold-as-bright":function(e){r.primaryScreen_.textAttributes.enableBoldAsBright=!!e,r.alternateScreen_.textAttributes.enableBoldAsBright=!!e},"enable-blink":function(e){r.syncBlinkState()},"enable-clipboard-write":function(e){r.vt.enableClipboardWrite=!!e},"enable-dec12":function(e){r.vt.enableDec12=!!e},"font-family":function(e){r.syncFontFamily()},"font-size":function(e){r.setFontSize(e)},"font-smoothing":function(e){r.syncFontFamily()},"foreground-color":function(e){r.setForegroundColor(e)},"home-keys-scroll":function(e){r.keyboard.homeKeysScroll=e},keybindings:function(e){if(r.keyboard.bindings.clear(),e)if(e instanceof Object)try{r.keyboard.bindings.addBindings(e)}catch(e){console.error("Error in keybindings preference: "+e)}else console.error("Error in keybindings preference: Expected object")},"max-string-sequence":function(e){r.vt.maxStringSequence=e},"media-keys-are-fkeys":function(e){r.keyboard.mediaKeysAreFKeys=e},"meta-sends-escape":function(e){r.keyboard.metaSendsEscape=e},"mouse-right-click-paste":function(e){r.mouseRightClickPaste=e},"mouse-paste-button":function(e){r.syncMousePasteButton()},"page-keys-scroll":function(e){r.keyboard.pageKeysScroll=e},"pass-alt-number":function(e){null==e&&(e=!window.navigator.userAgent.match(/Mac OS X/)&&"popup"!=o.windowType),r.passAltNumber=e},"pass-ctrl-number":function(e){null==e&&(e=!window.navigator.userAgent.match(/Mac OS X/)&&"popup"!=o.windowType),r.passCtrlNumber=e},"pass-meta-number":function(e){null==e&&(e=window.navigator.userAgent.match(/Mac OS X/)&&"popup"!=o.windowType),r.passMetaNumber=e},"pass-meta-v":function(e){r.keyboard.passMetaV=e},"receive-encoding":function(e){/^(utf-8|raw)$/.test(e)||(console.warn('Invalid value for "receive-encoding": '+e),e="utf-8"),r.vt.characterEncoding=e},"scroll-on-keystroke":function(e){r.scrollOnKeystroke_=e},"scroll-on-output":function(e){r.scrollOnOutput_=e},"scrollbar-visible":function(e){r.setScrollbarVisible(e)},"scroll-wheel-may-send-arrow-keys":function(e){r.scrollWheelArrowKeys_=e},"scroll-wheel-move-multiplier":function(e){r.setScrollWheelMoveMultipler(e)},"send-encoding":function(e){/^(utf-8|raw)$/.test(e)||(console.warn('Invalid value for "send-encoding": '+e),e="utf-8"),r.keyboard.characterEncoding=e},"shift-insert-paste":function(e){r.keyboard.shiftInsertPaste=e},"terminal-encoding":function(e){r.vt.setEncoding(e)},"user-css":function(e){r.scrollPort_.setUserCssUrl(e)},"user-css-text":function(e){r.scrollPort_.setUserCssText(e)},"word-break-match-left":function(e){r.primaryScreen_.wordBreakMatchLeft=e,r.alternateScreen_.wordBreakMatchLeft=e},"word-break-match-right":function(e){r.primaryScreen_.wordBreakMatchRight=e,r.alternateScreen_.wordBreakMatchRight=e},"word-break-match-middle":function(e){r.primaryScreen_.wordBreakMatchMiddle=e,r.alternateScreen_.wordBreakMatchMiddle=e}}),this.prefs_.readStorage(function(){this.prefs_.notifyAll(),t&&t()}.bind(this))},o.Terminal.prototype.getPrefs=function(){return this.prefs_},o.Terminal.prototype.setBracketedPaste=function(e){this.options_.bracketedPaste=e},o.Terminal.prototype.setCursorColor=function(e){this.cursorColor_=e,this.cursorNode_.style.backgroundColor=e,this.cursorNode_.style.borderColor=e},o.Terminal.prototype.getCursorColor=function(){return this.cursorColor_},o.Terminal.prototype.setSelectionEnabled=function(e){this.enableMouseDragScroll=e},o.Terminal.prototype.setBackgroundColor=function(e){this.backgroundColor_=i.colors.normalizeCSS(e),this.primaryScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.alternateScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.scrollPort_.setBackgroundColor(e)},o.Terminal.prototype.getBackgroundColor=function(){return this.backgroundColor_},o.Terminal.prototype.setForegroundColor=function(e){this.foregroundColor_=i.colors.normalizeCSS(e),this.primaryScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.alternateScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.scrollPort_.setForegroundColor(e)},o.Terminal.prototype.getForegroundColor=function(){return this.foregroundColor_},o.Terminal.prototype.runCommandClass=function(e,t){var r=this.prefs_.get("environment");"object"==typeof r&&null!=r||(r={});var i=this;this.command=new e({argString:t||"",io:this.io.push(),environment:r,onExit:function(e){i.io.pop(),i.uninstallKeyboard(),i.prefs_.get("close-on-exit")&&window.close()}}),this.installKeyboard(),this.command.run()},o.Terminal.prototype.isPrimaryScreen=function(){return this.screen_==this.primaryScreen_},o.Terminal.prototype.installKeyboard=function(){this.keyboard.installKeyboard(this.scrollPort_.getDocument().body)},o.Terminal.prototype.uninstallKeyboard=function(){this.keyboard.installKeyboard(null)},o.Terminal.prototype.setCssVar=function(e,t,r="--hterm-"){this.document_.documentElement.style.setProperty(`${r}${e}`,t)},o.Terminal.prototype.setFontSize=function(e){0===e&&(e=this.prefs_.get("font-size")),this.scrollPort_.setFontSize(e),this.setCssVar("charsize-width",this.scrollPort_.characterSize.width+"px"),this.setCssVar("charsize-height",this.scrollPort_.characterSize.height+"px")},o.Terminal.prototype.getFontSize=function(){return this.scrollPort_.getFontSize()},o.Terminal.prototype.getFontFamily=function(){return this.scrollPort_.getFontFamily()},o.Terminal.prototype.syncFontFamily=function(){this.scrollPort_.setFontFamily(this.prefs_.get("font-family"),this.prefs_.get("font-smoothing")),this.syncBoldSafeState()},o.Terminal.prototype.syncMousePasteButton=function(){var e=this.prefs_.get("mouse-paste-button");if("number"!=typeof e){var t=navigator.userAgent.match(/\(X11;\s+(\S+)/);t&&"CrOS"!=t[1]?this.mousePasteButton=2:this.mousePasteButton=1}else this.mousePasteButton=e},o.Terminal.prototype.syncBoldSafeState=function(){var e=this.prefs_.get("enable-bold");if(null!==e)return this.primaryScreen_.textAttributes.enableBold=e,void(this.alternateScreen_.textAttributes.enableBold=e);var t=this.scrollPort_.measureCharacterSize(),r=this.scrollPort_.measureCharacterSize("bold"),i=t.equals(r);i||console.warn("Bold characters disabled: Size of bold weight differs from normal. Font family is: "+this.scrollPort_.getFontFamily()),this.primaryScreen_.textAttributes.enableBold=i,this.alternateScreen_.textAttributes.enableBold=i},o.Terminal.prototype.syncBlinkState=function(){this.setCssVar("node-duration",this.prefs_.get("enable-blink")?"0.7s":"0")},o.Terminal.prototype.syncMouseStyle=function(){this.setCssVar("mouse-cursor-style",this.vt.mouseReport==this.vt.MOUSE_REPORT_DISABLED?"var(--hterm-mouse-cursor-text)":"var(--hterm-mouse-cursor-pointer)")},o.Terminal.prototype.saveCursor=function(){return this.screen_.cursorPosition.clone()},o.Terminal.prototype.getTextAttributes=function(){return this.screen_.textAttributes},o.Terminal.prototype.setTextAttributes=function(e){this.screen_.textAttributes=e},o.Terminal.prototype.getZoomFactor=function(){return this.scrollPort_.characterSize.zoomFactor},o.Terminal.prototype.setWindowTitle=function(e){window.document.title=e},o.Terminal.prototype.restoreCursor=function(e){var t=i.f.clamp(e.row,0,this.screenSize.height-1),r=i.f.clamp(e.column,0,this.screenSize.width-1);this.screen_.setCursorPosition(t,r),(e.column>r||e.column==r&&e.overflow)&&(this.screen_.cursorPosition.overflow=!0)},o.Terminal.prototype.clearCursorOverflow=function(){this.screen_.cursorPosition.overflow=!1},o.Terminal.prototype.setCursorShape=function(e){this.cursorShape_=e,this.restyleCursor_()},o.Terminal.prototype.getCursorShape=function(){return this.cursorShape_},o.Terminal.prototype.setWidth=function(e){null!=e?(this.div_.style.width=Math.ceil(this.scrollPort_.characterSize.width*e+this.scrollPort_.currentScrollbarWidthPx)+"px",this.realizeSize_(e,this.screenSize.height),this.scheduleSyncCursorPosition_()):this.div_.style.width="100%"},o.Terminal.prototype.setHeight=function(e){null!=e?(this.div_.style.height=this.scrollPort_.characterSize.height*e+"px",this.realizeSize_(this.screenSize.width,e),this.scheduleSyncCursorPosition_()):this.div_.style.height="100%"},o.Terminal.prototype.realizeSize_=function(e,t){e!=this.screenSize.width&&this.realizeWidth_(e),t!=this.screenSize.height&&this.realizeHeight_(t),this.io.onTerminalResize_(e,t)},o.Terminal.prototype.realizeWidth_=function(e){if(e<=0)throw new Error("Attempt to realize bad width: "+e);var t=e-this.screen_.getWidth();if(this.screenSize.width=e,this.screen_.setColumnCount(e),t>0)this.defaultTabStops&&this.setDefaultTabStops(this.screenSize.width-t);else for(var r=this.tabStops_.length-1;r>=0&&!(this.tabStops_[r]0){if(t<=this.scrollbackRows_.length){var s=Math.min(t,this.scrollbackRows_.length),n=this.scrollbackRows_.splice(this.scrollbackRows_.length-s,s);this.screen_.unshiftRows(n),t-=s,r.row+=s}t&&this.appendRows_(t)}this.setVTScrollRegion(null,null),this.restoreCursor(r)},o.Terminal.prototype.scrollHome=function(){this.scrollPort_.scrollRowToTop(0)},o.Terminal.prototype.scrollEnd=function(){this.scrollPort_.scrollRowToBottom(this.getRowCount())},o.Terminal.prototype.scrollPageUp=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e-this.screenSize.height+1)},o.Terminal.prototype.scrollPageDown=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e+this.screenSize.height-1)},o.Terminal.prototype.scrollLineUp=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e-1)},o.Terminal.prototype.scrollLineDown=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e+1)},o.Terminal.prototype.wipeContents=function(){this.scrollbackRows_.length=0,this.scrollPort_.resetCache(),[this.primaryScreen_,this.alternateScreen_].forEach(function(e){var t=e.getHeight();t>0&&(this.renumberRows_(0,t),this.clearHome(e))}.bind(this)),this.syncCursorPosition_(),this.scrollPort_.invalidate()},o.Terminal.prototype.reset=function(){this.clearAllTabStops(),this.setDefaultTabStops(),this.clearHome(this.primaryScreen_),this.primaryScreen_.textAttributes.reset(),this.clearHome(this.alternateScreen_),this.alternateScreen_.textAttributes.reset(),this.setCursorBlink(!!this.prefs_.get("cursor-blink")),this.vt.reset(),this.softReset()},o.Terminal.prototype.softReset=function(){this.options_=new o.Options,this.options_.cursorBlink=!!this.timeouts_.cursorBlink,this.primaryScreen_.textAttributes.resetColorPalette(),this.alternateScreen_.textAttributes.resetColorPalette(),this.setVTScrollRegion(null,null),this.setCursorVisible(!0)},o.Terminal.prototype.forwardTabStop=function(){for(var e=this.screen_.cursorPosition.column,t=0;te)return void this.setCursorColumn(this.tabStops_[t]);var r=this.screen_.cursorPosition.overflow;this.setCursorColumn(this.screenSize.width-1),this.screen_.cursorPosition.overflow=r},o.Terminal.prototype.backwardTabStop=function(){for(var e=this.screen_.cursorPosition.column,t=this.tabStops_.length-1;t>=0;t--)if(this.tabStops_[t]=0;t--){if(this.tabStops_[t]==e)return;if(this.tabStops_[t]0){var n=this.screen_.shiftRows(s);Array.prototype.push.apply(this.scrollbackRows_,n),this.scrollPort_.isScrolledEnd&&this.scheduleScrollDown_()}t>=this.screen_.rowsArray.length&&(t=this.screen_.rowsArray.length-1),this.setAbsoluteCursorPosition(t,0)},o.Terminal.prototype.moveRows_=function(e,t,r){var i=this.screen_.removeRows(e,t);this.screen_.insertRows(r,i);var o,s;e=this.screenSize.width&&(a=!0,n=this.screenSize.width-this.screen_.cursorPosition.column),a&&!this.options_.wraparound?(s=i.wc.substr(e,t,n-1)+i.wc.substr(e,r-1),n=r):s=i.wc.substr(e,t,n);for(var l=o.TextAttributes.splitWidecharString(s),h=0;h=0;o--)this.setAbsoluteCursorPosition(t+o,0),this.screen_.clearCursorRow()},o.Terminal.prototype.deleteLines=function(e){var t=this.saveCursor(),r=t.row,i=this.getVTScrollBottom(),o=i-r+1,s=i-(e=Math.min(e,o))+1;e!=o&&this.moveRows_(r,e,s);for(var n=0;nt)this.setCssVar("cursor-offset-row","-1");else{this.options_.cursorVisible&&"none"==this.cursorNode_.style.display&&(this.cursorNode_.style.display=""),this.setCssVar("cursor-offset-row",`${r-e} + `+`${this.scrollPort_.visibleRowTopMargin}px`),this.setCssVar("cursor-offset-col",this.screen_.cursorPosition.column),this.cursorNode_.setAttribute("title","("+this.screen_.cursorPosition.column+", "+this.screen_.cursorPosition.row+")");var i=this.document_.getSelection();i&&i.isCollapsed&&this.screen_.syncSelectionCaret(i)}},o.Terminal.prototype.restyleCursor_=function(){var e=this.cursorShape_;"false"==this.cursorNode_.getAttribute("focus")&&(e=o.Terminal.cursorShape.BLOCK);var t=this.cursorNode_.style;switch(e){case o.Terminal.cursorShape.BEAM:t.height="var(--hterm-charsize-height)",t.backgroundColor="transparent",t.borderBottomStyle=null,t.borderLeftStyle="solid";break;case o.Terminal.cursorShape.UNDERLINE:t.height=this.scrollPort_.characterSize.baseline+"px",t.backgroundColor="transparent",t.borderBottomStyle="solid",t.borderLeftStyle=null;break;default:t.height="var(--hterm-charsize-height)",t.backgroundColor=this.cursorColor_,t.borderBottomStyle=null,t.borderLeftStyle=null}},o.Terminal.prototype.scheduleSyncCursorPosition_=function(){if(!this.timeouts_.syncCursor){var e=this;this.timeouts_.syncCursor=setTimeout(function(){e.syncCursorPosition_(),delete e.timeouts_.syncCursor},0)}},o.Terminal.prototype.showZoomWarning_=function(e){if(!this.zoomWarningNode_){if(!e)return;this.zoomWarningNode_=this.document_.createElement("div"),this.zoomWarningNode_.id="hterm:zoom-warning",this.zoomWarningNode_.style.cssText="color: black;background-color: #ff2222;font-size: large;border-radius: 8px;opacity: 0.75;padding: 0.2em 0.5em 0.2em 0.5em;top: 0.5em;right: 1.2em;position: absolute;-webkit-text-size-adjust: none;-webkit-user-select: none;-moz-text-size-adjust: none;-moz-user-select: none;",this.zoomWarningNode_.addEventListener("click",function(e){this.parentNode.removeChild(this)})}this.zoomWarningNode_.textContent=i.MessageManager.replaceReferences(o.zoomWarningMessage,[parseInt(100*this.scrollPort_.characterSize.zoomFactor)]),this.zoomWarningNode_.style.fontFamily=this.prefs_.get("font-family"),e?this.zoomWarningNode_.parentNode||this.div_.parentNode.appendChild(this.zoomWarningNode_):this.zoomWarningNode_.parentNode&&this.zoomWarningNode_.parentNode.removeChild(this.zoomWarningNode_)},o.Terminal.prototype.showOverlay=function(e,t){if(!this.overlayNode_){if(!this.div_)return;this.overlayNode_=this.document_.createElement("div"),this.overlayNode_.style.cssText="border-radius: 15px;font-size: xx-large;opacity: 0.75;padding: 0.2em 0.5em 0.2em 0.5em;position: absolute;-webkit-user-select: none;-webkit-transition: opacity 180ms ease-in;-moz-user-select: none;-moz-transition: opacity 180ms ease-in;",this.overlayNode_.addEventListener("mousedown",function(e){e.preventDefault(),e.stopPropagation()},!0)}this.overlayNode_.style.color=this.prefs_.get("background-color"),this.overlayNode_.style.backgroundColor=this.prefs_.get("foreground-color"),this.overlayNode_.style.fontFamily=this.prefs_.get("font-family"),this.overlayNode_.textContent=e,this.overlayNode_.style.opacity="0.75",this.overlayNode_.parentNode||this.div_.appendChild(this.overlayNode_);var r=o.getClientSize(this.div_),i=o.getClientSize(this.overlayNode_);this.overlayNode_.style.top=(r.height-i.height)/2+"px",this.overlayNode_.style.left=(r.width-i.width-this.scrollPort_.currentScrollbarWidthPx)/2+"px";var s=this;this.overlayTimeout_&&clearTimeout(this.overlayTimeout_),null!==t&&(this.overlayTimeout_=setTimeout(function(){s.overlayNode_.style.opacity="0",s.overlayTimeout_=setTimeout(function(){s.overlayNode_.parentNode&&s.overlayNode_.parentNode.removeChild(s.overlayNode_),s.overlayTimeout_=null,s.overlayNode_.style.opacity="0.75"},200)},t||1500))},o.Terminal.prototype.paste=function(){return o.pasteFromClipboard(this.document_)},o.Terminal.prototype.copyStringToClipboard=function(e){this.prefs_.get("enable-clipboard-notice")&&setTimeout(this.showOverlay.bind(this,o.notifyCopyMessage,500),200);var t=this.document_.createElement("pre");t.id="hterm:copy-to-clipboard-source",t.textContent=e,t.style.cssText="-webkit-user-select: text;-moz-user-select: text;position: absolute;top: -99px",this.document_.body.appendChild(t);var r=this.document_.getSelection(),i=r.anchorNode,s=r.anchorOffset,n=r.focusNode,a=r.focusOffset;r.selectAllChildren(t),o.copySelectionToClipboard(this.document_),r.extend&&(r.collapse(i,s),r.extend(n,a)),t.parentNode.removeChild(t)},o.Terminal.prototype.getSelectionText=function(){var e=this.scrollPort_.selection;if(e.sync(),e.isCollapsed)return null;var t=e.startOffset,r=e.startNode;if("X-ROW"!=r.nodeName)for("#text"==r.nodeName&&"SPAN"==r.parentNode.nodeName&&(r=r.parentNode);r.previousSibling;)r=r.previousSibling,t+=o.TextAttributes.nodeWidth(r);var s=o.TextAttributes.nodeWidth(e.endNode)-e.endOffset;if("X-ROW"!=(r=e.endNode).nodeName)for("#text"==r.nodeName&&"SPAN"==r.parentNode.nodeName&&(r=r.parentNode);r.nextSibling;)r=r.nextSibling,s+=o.TextAttributes.nodeWidth(r);var n=this.getRowsText(e.startRow.rowIndex,e.endRow.rowIndex+1);return i.wc.substring(n,t,i.wc.strWidth(n)-s)},o.Terminal.prototype.copySelectionToClipboard=function(){var e=this.getSelectionText();null!=e&&this.copyStringToClipboard(e)},o.Terminal.prototype.overlaySize=function(){this.showOverlay(this.screenSize.width+"x"+this.screenSize.height)},o.Terminal.prototype.onVTKeystroke=function(e){this.scrollOnKeystroke_&&this.scrollPort_.scrollRowToBottom(this.getRowCount()),this.io.onVTKeystroke(this.keyboard.encode(e))},o.Terminal.prototype.openUrl=function(e){window.chrome&&window.chrome.browser?chrome.browser.openTab({url:e}):window.open(e,"_blank").focus()},o.Terminal.prototype.openSelectedUrl_=function(){var e=this.getSelectionText();if((null!=e||(this.screen_.expandSelection(this.document_.getSelection()),null!=(e=this.getSelectionText())))&&!(e.length>2048||e.search(/[\s\[\](){}<>"'\\^`]/)>=0)){if(e.search("^[a-zA-Z][a-zA-Z0-9+.-]*://")<0)switch(e.split(":",1)[0]){case"mailto":break;default:e="http://"+e}this.openUrl(e)}},o.Terminal.prototype.onMouse_=function(e){if(!e.processedByTerminalHandler_){var t=!this.defeatMouseReports_&&this.vt.mouseReport!=this.vt.MOUSE_REPORT_DISABLED;if(e.processedByTerminalHandler_=!0,e.terminalRow=parseInt((e.clientY-this.scrollPort_.visibleRowTopMargin)/this.scrollPort_.characterSize.height)+1,e.terminalColumn=parseInt(e.clientX/this.scrollPort_.characterSize.width)+1,!("mousedown"==e.type&&e.terminalColumn>this.screenSize.width)){if(this.options_.cursorVisible&&!t&&(e.terminalRow-1==this.screen_.cursorPosition.row&&e.terminalColumn-1==this.screen_.cursorPosition.column?this.cursorNode_.style.display="none":"none"==this.cursorNode_.style.display&&(this.cursorNode_.style.display="")),"mousedown"==e.type&&(e.altKey||!t?(this.defeatMouseReports_=!0,this.setSelectionEnabled(!0)):(this.defeatMouseReports_=!1,this.document_.getSelection().collapseToEnd(),this.setSelectionEnabled(!1),e.preventDefault())),t)this.scrollBlockerNode_.engaged||("mousedown"==e.type?(this.scrollBlockerNode_.engaged=!0,this.scrollBlockerNode_.style.top=e.clientY-5+"px",this.scrollBlockerNode_.style.left=e.clientX-5+"px"):"mousemove"==e.type&&(this.document_.getSelection().collapseToEnd(),e.preventDefault())),this.onMouse(e);else{if("dblclick"==e.type&&this.copyOnSelect&&(this.screen_.expandSelection(this.document_.getSelection()),this.copySelectionToClipboard(this.document_)),"click"==e.type&&!e.shiftKey&&(e.ctrlKey||e.metaKey))return clearTimeout(this.timeouts_.openUrl),void(this.timeouts_.openUrl=setTimeout(this.openSelectedUrl_.bind(this),500));if("mousedown"==e.type&&(this.mouseRightClickPaste&&2==e.button||e.button==this.mousePasteButton)&&(this.paste()||console.warning("Could not paste manually due to web restrictions")),"mouseup"==e.type&&0==e.button&&this.copyOnSelect&&!this.document_.getSelection().isCollapsed&&this.copySelectionToClipboard(this.document_),"mousemove"!=e.type&&"mouseup"!=e.type||!this.scrollBlockerNode_.engaged||(this.scrollBlockerNode_.engaged=!1,this.scrollBlockerNode_.style.top="-99px"),this.scrollWheelArrowKeys_&&!e.shiftKey&&this.keyboard.applicationCursor&&!this.isPrimaryScreen()&&"wheel"==e.type){var r=this.scrollPort_.scrollWheelDelta(e),o=i.f.smartFloorDivide(Math.abs(r),this.scrollPort_.characterSize.height),s="O"+(r<0?"B":"A");this.io.sendString(s.repeat(o)),e.preventDefault()}}"mouseup"==e.type&&this.document_.getSelection().isCollapsed&&(this.defeatMouseReports_=!1)}}},o.Terminal.prototype.onMouse=function(e){},o.Terminal.prototype.onFocusChange_=function(e){this.cursorNode_.setAttribute("focus",e),this.restyleCursor_(),!0===e&&this.closeBellNotifications_()},o.Terminal.prototype.onScroll_=function(){this.scheduleSyncCursorPosition_()},o.Terminal.prototype.onPaste_=function(e){var t=e.text.replace(/\n/gm,"\r");t=this.keyboard.encode(t),this.options_.bracketedPaste&&(t="[200~"+t+"[201~"),this.io.sendString(t)},o.Terminal.prototype.onCopy_=function(e){this.useDefaultWindowCopy||(e.preventDefault(),setTimeout(this.copySelectionToClipboard.bind(this),0))},o.Terminal.prototype.onResize_=function(){var e=Math.floor(this.scrollPort_.getScreenWidth()/this.scrollPort_.characterSize.width)||0,t=i.f.smartFloorDivide(this.scrollPort_.getScreenHeight(),this.scrollPort_.characterSize.height)||0;if(!(e<=0||t<=0)){var r=e!=this.screenSize.width||t!=this.screenSize.height;this.realizeSize_(e,t),this.showZoomWarning_(1!=this.scrollPort_.characterSize.zoomFactor),r&&this.overlaySize(),this.restyleCursor_(),this.scheduleSyncCursorPosition_()}},o.Terminal.prototype.onCursorBlink_=function(){this.options_.cursorBlink?"false"==this.cursorNode_.getAttribute("focus")||"0"==this.cursorNode_.style.opacity?(this.cursorNode_.style.opacity="1",this.timeouts_.cursorBlink=setTimeout(this.myOnCursorBlink_,this.cursorBlinkCycle_[0])):(this.cursorNode_.style.opacity="0",this.timeouts_.cursorBlink=setTimeout(this.myOnCursorBlink_,this.cursorBlinkCycle_[1])):delete this.timeouts_.cursorBlink},o.Terminal.prototype.setScrollbarVisible=function(e){this.scrollPort_.setScrollbarVisible(e)},o.Terminal.prototype.setScrollWheelMoveMultipler=function(e){this.scrollPort_.setScrollWheelMoveMultipler(e)},o.Terminal.prototype.closeBellNotifications_=function(){this.bellNotificationList_.forEach(function(e){e.close()}),this.bellNotificationList_.length=0},i.rtdep("lib.encodeUTF8"),o.Terminal.IO=function(e){this.terminal_=e,this.previousIO_=null},o.Terminal.IO.prototype.showOverlay=function(e,t){this.terminal_.showOverlay(e,t)},o.Terminal.IO.prototype.createFrame=function(e,t){return new o.Frame(this.terminal_,e,t)},o.Terminal.IO.prototype.setTerminalProfile=function(e){this.terminal_.setProfile(e)},o.Terminal.IO.prototype.push=function(){var e=new o.Terminal.IO(this.terminal_);return e.keyboardCaptured_=this.keyboardCaptured_,e.columnCount=this.columnCount,e.rowCount=this.rowCount,e.previousIO_=this.terminal_.io,this.terminal_.io=e,e},o.Terminal.IO.prototype.pop=function(){this.terminal_.io=this.previousIO_},o.Terminal.IO.prototype.sendString=function(e){console.log("Unhandled sendString: "+e)},o.Terminal.IO.prototype.onVTKeystroke=function(e){console.log("Unobserverd VT keystroke: "+JSON.stringify(e))},o.Terminal.IO.prototype.onTerminalResize_=function(e,t){for(var r=this;r;)r.columnCount=e,r.rowCount=t,r=r.previousIO_;this.onTerminalResize(e,t)},o.Terminal.IO.prototype.onTerminalResize=function(e,t){},o.Terminal.IO.prototype.writeUTF8=function(e){if(this.terminal_.io!=this)throw"Attempt to print from inactive IO object.";this.terminal_.interpret(e)},o.Terminal.IO.prototype.writelnUTF8=function(e){if(this.terminal_.io!=this)throw"Attempt to print from inactive IO object.";this.terminal_.interpret(e+"\r\n")},o.Terminal.IO.prototype.print=o.Terminal.IO.prototype.writeUTF16=function(e){this.writeUTF8(i.encodeUTF8(e))},o.Terminal.IO.prototype.println=o.Terminal.IO.prototype.writelnUTF16=function(e){this.writelnUTF8(i.encodeUTF8(e))},i.rtdep("lib.colors"),o.TextAttributes=function(e){this.document_=e,this.foregroundSource=this.SRC_DEFAULT,this.backgroundSource=this.SRC_DEFAULT,this.foreground=this.DEFAULT_COLOR,this.background=this.DEFAULT_COLOR,this.defaultForeground="rgb(255, 255, 255)",this.defaultBackground="rgb(0, 0, 0)",this.bold=!1,this.faint=!1,this.italic=!1,this.blink=!1,this.underline=!1,this.strikethrough=!1,this.inverse=!1,this.invisible=!1,this.wcNode=!1,this.asciiNode=!0,this.tileData=null,this.colorPalette=null,this.resetColorPalette()},o.TextAttributes.prototype.enableBold=!0,o.TextAttributes.prototype.enableBoldAsBright=!0,o.TextAttributes.prototype.DEFAULT_COLOR=i.f.createEnum(""),o.TextAttributes.prototype.SRC_DEFAULT="default",o.TextAttributes.prototype.SRC_RGB="rgb",o.TextAttributes.prototype.setDocument=function(e){this.document_=e},o.TextAttributes.prototype.clone=function(){var e=new o.TextAttributes(null);for(var t in this)e[t]=this[t];return e.colorPalette=this.colorPalette.concat(),e},o.TextAttributes.prototype.reset=function(){this.foregroundSource=this.SRC_DEFAULT,this.backgroundSource=this.SRC_DEFAULT,this.foreground=this.DEFAULT_COLOR,this.background=this.DEFAULT_COLOR,this.bold=!1,this.faint=!1,this.italic=!1,this.blink=!1,this.underline=!1,this.strikethrough=!1,this.inverse=!1,this.invisible=!1,this.wcNode=!1,this.asciiNode=!0},o.TextAttributes.prototype.resetColorPalette=function(){this.colorPalette=i.colors.colorPalette.concat(),this.syncColors()},o.TextAttributes.prototype.isDefault=function(){return this.foregroundSource==this.SRC_DEFAULT&&this.backgroundSource==this.SRC_DEFAULT&&!this.bold&&!this.faint&&!this.italic&&!this.blink&&!this.underline&&!this.strikethrough&&!this.inverse&&!this.invisible&&!this.wcNode&&this.asciiNode&&null==this.tileData},o.TextAttributes.prototype.createContainer=function(e){if(this.isDefault())return this.document_.createTextNode(e);var t=this.document_.createElement("span"),r=t.style,i=[];this.foreground!=this.DEFAULT_COLOR&&(r.color=this.foreground),this.background!=this.DEFAULT_COLOR&&(r.backgroundColor=this.background),this.enableBold&&this.bold&&(r.fontWeight="bold"),this.faint&&(t.faint=!0),this.italic&&(r.fontStyle="italic"),this.blink&&(i.push("blink-node"),t.blinkNode=!0);var o="";return this.underline&&(o+=" underline",t.underline=!0),this.strikethrough&&(o+=" line-through",t.strikethrough=!0),o&&(r.textDecoration=o),this.wcNode&&(i.push("wc-node"),t.wcNode=!0,t.asciiNode=!1),null!=this.tileData&&(i.push("tile"),i.push("tile_"+this.tileData),t.tileNode=!0),e&&(t.textContent=e),i.length&&(t.className=i.join(" ")),t},o.TextAttributes.prototype.matchesContainer=function(e){if("string"==typeof e||3==e.nodeType)return this.isDefault();var t=e.style;return!(this.wcNode||e.wcNode||this.asciiNode!=this.asciiNode||null!=this.tileData||e.tileNode||this.foreground!=t.color||this.background!=t.backgroundColor||(this.enableBold&&this.bold)!=!!t.fontWeight||this.blink!=e.blinkNode||this.italic!=!!t.fontStyle||!!this.underline!=!!e.underline||!!this.strikethrough!=!!e.strikethrough)},o.TextAttributes.prototype.setDefaults=function(e,t){this.defaultForeground=e,this.defaultBackground=t,this.syncColors()},o.TextAttributes.prototype.syncColors=function(){var e=this.foregroundSource,t=this.backgroundSource,r=this.DEFAULT_COLOR,o=this.DEFAULT_COLOR;if(this.inverse&&(e=this.backgroundSource,t=this.foregroundSource,r=this.defaultBackground,o=this.defaultForeground),this.enableBoldAsBright&&this.bold&&e!=this.SRC_DEFAULT&&e!=this.SRC_RGB&&(e=function(e){return e<8?e+8:e}(e)),this.invisible&&(e=t,r=this.defaultBackground),e!=this.SRC_RGB&&(this.foreground=e==this.SRC_DEFAULT?r:this.colorPalette[e]),this.faint&&!this.invisible){var s=this.foreground==this.DEFAULT_COLOR?this.defaultForeground:this.foreground;this.foreground=i.colors.mix(s,"rgb(0, 0, 0)",.3333)}t!=this.SRC_RGB&&(this.background=t==this.SRC_DEFAULT?o:this.colorPalette[t])},o.TextAttributes.containersMatch=function(e,t){if("string"==typeof e)return o.TextAttributes.containerIsDefault(t);if(e.nodeType!=t.nodeType)return!1;if(3==e.nodeType)return!0;var r=e.style,i=t.style;return r.color==i.color&&r.backgroundColor==i.backgroundColor&&r.fontWeight==i.fontWeight&&r.fontStyle==i.fontStyle&&r.textDecoration==i.textDecoration},o.TextAttributes.containerIsDefault=function(e){return"string"==typeof e||3==e.nodeType},o.TextAttributes.nodeWidth=function(e){return e.asciiNode?e.textContent.length:i.wc.strWidth(e.textContent)},o.TextAttributes.nodeSubstr=function(e,t,r){return e.asciiNode?e.textContent.substr(t,r):i.wc.substr(e.textContent,t,r)},o.TextAttributes.nodeSubstring=function(e,t,r){return e.asciiNode?e.textContent.substring(t,r):i.wc.substring(e.textContent,t,r)},o.TextAttributes.splitWidecharString=function(e){for(var t=[],r=0,o=0,s=!0,n=0;n0?0:1),n|=r,t=""+String.fromCharCode(n)+o+s,e.preventDefault();break;case"mousedown":var n=Math.min(e.button,2)+32;n|=r,t=""+String.fromCharCode(n)+o+s;break;case"mouseup":t="#"+o+s;break;case"mousemove":this.mouseReport==this.MOUSE_REPORT_DRAG&&e.buttons&&(n=32,1&e.buttons?n+=0:4&e.buttons?n+=1:2&e.buttons?n+=2:n+=3,n+=32,n|=r,t=""+String.fromCharCode(n)+o+s);break;case"click":case"dblclick":break;default:console.error("Unknown mouse event: "+e.type,e)}t&&this.terminal.io.sendString(t)}},o.VT.prototype.interpret=function(e){for(this.parseState_.resetBuf(this.decode(e));!this.parseState_.isComplete();){var t=this.parseState_.func,r=this.parseState_.pos,e=this.parseState_.buf;if(this.parseState_.func.call(this,this.parseState_),this.parseState_.func==t&&this.parseState_.pos==r&&this.parseState_.buf==e)throw"Parser did not alter the state!"}},o.VT.prototype.decode=function(e){return"utf-8"==this.characterEncoding?this.decodeUTF8(e):e},o.VT.prototype.encodeUTF8=function(e){return i.encodeUTF8(e)},o.VT.prototype.decodeUTF8=function(e){return this.utf8Decoder_.decode(e)},o.VT.prototype.setEncoding=function(e){switch(e){default:console.warn('Invalid value for "terminal-encoding": '+e);case"iso-2022":this.codingSystemUtf8_=!1,this.codingSystemLocked_=!1;break;case"utf-8-locked":this.codingSystemUtf8_=!0,this.codingSystemLocked_=!0;break;case"utf-8":this.codingSystemUtf8_=!0,this.codingSystemLocked_=!1}this.updateEncodingState_()},o.VT.prototype.updateEncodingState_=function(){var e=Object.keys(o.VT.CC1).filter(e=>!this.codingSystemUtf8_||e.charCodeAt()<128).map(e=>"\\x"+i.f.zpad(e.charCodeAt().toString(16),2)).join("");this.cc1Pattern_=new RegExp(`[${e}]`)},o.VT.prototype.parseUnknown_=function(e){function t(e){!r.codingSystemUtf8_&&r[r.GL].GL&&(e=r[r.GL].GL(e)),r.terminal.print(e)}var r=this,i=e.peekRemainingBuf(),o=i.search(this.cc1Pattern_);return 0==o?(this.dispatch("CC1",i.substr(0,1),e),void e.advance(1)):-1==o?(t(i),void e.reset()):(t(i.substr(0,o)),this.dispatch("CC1",i.substr(o,1),e),void e.advance(o+1))},o.VT.prototype.parseCSI_=function(e){var t=e.peekChar(),r=e.args;t>="@"&&t<="~"?(this.dispatch("CSI",this.leadingModifier_+this.trailingModifier_+t,e),e.resetParseFunction()):";"==t?this.trailingModifier_?e.resetParseFunction():(r.length||r.push(""),r.push("")):t>="0"&&t<="9"?this.trailingModifier_?e.resetParseFunction():r.length?r[r.length-1]+=t:r[0]=t:t>=" "&&t<="?"&&":"!=t?r.length?this.trailingModifier_+=t:this.leadingModifier_+=t:this.cc1Pattern_.test(t)?this.dispatch("CC1",t,e):e.resetParseFunction(),e.advance(1)},o.VT.prototype.parseUntilStringTerminator_=function(e){var t=e.peekRemainingBuf(),r=t.search(/(\x1b\\|\x07)/),i=e.args;if(i.length||(i[0]="",i[1]=new Date),-1==r){i[0]+=t;var o;return i[0].length>this.maxStringSequence&&(o="too long: "+i[0].length),-1!=i[0].indexOf("")&&(o="embedded escape: "+i[0].indexOf("")),new Date-i[1]>this.oscTimeLimit_&&(o="timeout expired: "+new Date-i[1]),o?(console.log("parseUntilStringTerminator_: aborting: "+o,i[0]),e.reset(i[0]),!1):(e.advance(t.length),!0)}return i[0].length+r>this.maxStringSequence?(e.reset(i[0]+t),!1):(i[0]+=t.substr(0,r),e.resetParseFunction(),e.advance(r+(""==t.substr(r,1)?2:1)),!0)},o.VT.prototype.dispatch=function(e,t,r){var i=o.VT[e][t];i?i!=o.VT.ignore?"CC1"==e&&t>""&&!this.enable8BitControl?console.warn("Ignoring 8-bit control code: 0x"+t.charCodeAt(0).toString(16)):i.apply(this,[r,t]):this.warnUnimplemented&&console.warn("Ignored "+e+" code: "+JSON.stringify(t)):this.warnUnimplemented&&console.warn("Unknown "+e+" code: "+JSON.stringify(t))},o.VT.prototype.setANSIMode=function(e,t){4==e?this.terminal.setInsertMode(t):20==e?this.terminal.setAutoCarriageReturn(t):this.warnUnimplemented&&console.warn("Unimplemented ANSI Mode: "+e)},o.VT.prototype.setDECMode=function(e,t){switch(parseInt(e,10)){case 1:this.terminal.keyboard.applicationCursor=t;break;case 3:this.allowColumnWidthChanges_&&(this.terminal.setWidth(t?132:80),this.terminal.clearHome(),this.terminal.setVTScrollRegion(null,null));break;case 5:this.terminal.setReverseVideo(t);break;case 6:this.terminal.setOriginMode(t);break;case 7:this.terminal.setWraparound(t);break;case 12:this.enableDec12&&this.terminal.setCursorBlink(t);break;case 25:this.terminal.setCursorVisible(t);break;case 30:this.terminal.setScrollbarVisible(t);break;case 40:this.terminal.allowColumnWidthChanges_=t;break;case 45:this.terminal.setReverseWraparound(t);break;case 67:this.terminal.keyboard.backspaceSendsBackspace=t;break;case 1e3:this.mouseReport=t?this.MOUSE_REPORT_CLICK:this.MOUSE_REPORT_DISABLED,this.terminal.syncMouseStyle();break;case 1002:this.mouseReport=t?this.MOUSE_REPORT_DRAG:this.MOUSE_REPORT_DISABLED,this.terminal.syncMouseStyle();break;case 1010:this.terminal.scrollOnOutput=t;break;case 1011:this.terminal.scrollOnKeystroke=t;break;case 1036:this.terminal.keyboard.metaSendsEscape=t;break;case 1039:t?this.terminal.keyboard.previousAltSendsWhat_||(this.terminal.keyboard.previousAltSendsWhat_=this.terminal.keyboard.altSendsWhat,this.terminal.keyboard.altSendsWhat="escape"):this.terminal.keyboard.previousAltSendsWhat_&&(this.terminal.keyboard.altSendsWhat=this.terminal.keyboard.previousAltSendsWhat_,this.terminal.keyboard.previousAltSendsWhat_=null);break;case 47:case 1047:this.terminal.setAlternateMode(t);break;case 1048:this.savedState_.save();case 1049:t?(this.savedState_.save(),this.terminal.setAlternateMode(t),this.terminal.clear()):(this.terminal.setAlternateMode(t),this.savedState_.restore());break;case 2004:this.terminal.setBracketedPaste(t);break;default:this.warnUnimplemented&&console.warn("Unimplemented DEC Private Mode: "+e)}},o.VT.ignore=function(){},o.VT.CC1={},o.VT.ESC={},o.VT.CSI={},o.VT.OSC={},o.VT.VT52={},o.VT.CC1["\0"]=o.VT.ignore,o.VT.CC1[""]=o.VT.ignore,o.VT.CC1[""]=function(){this.terminal.ringBell()},o.VT.CC1["\b"]=function(){this.terminal.cursorLeft(1)},o.VT.CC1["\t"]=function(){this.terminal.forwardTabStop()},o.VT.CC1["\n"]=function(){this.terminal.formFeed()},o.VT.CC1["\v"]=o.VT.CC1["\n"],o.VT.CC1["\f"]=o.VT.CC1["\n"],o.VT.CC1["\r"]=function(){this.terminal.setCursorColumn(0)},o.VT.CC1[""]=function(){this.GL="G1"},o.VT.CC1[""]=function(){this.GL="G0"},o.VT.CC1[""]=o.VT.ignore,o.VT.CC1[""]=o.VT.ignore,o.VT.CC1[""]=function(e){"G1"==this.GL&&(this.GL="G0"),e.resetParseFunction(),this.terminal.print("?")},o.VT.CC1[""]=o.VT.CC1[""],o.VT.CC1[""]=function(e){function t(e){var r=e.consumeChar();""!=r&&(this.dispatch("ESC",r,e),e.func==t&&e.resetParseFunction())}e.func=t},o.VT.CC1[""]=o.VT.ignore,o.VT.CC1["„"]=o.VT.ESC.D=function(){this.terminal.lineFeed()},o.VT.CC1["…"]=o.VT.ESC.E=function(){this.terminal.setCursorColumn(0),this.terminal.cursorDown(1)},o.VT.CC1["ˆ"]=o.VT.ESC.H=function(){this.terminal.setTabStop(this.terminal.getCursorColumn())},o.VT.CC1[""]=o.VT.ESC.M=function(){this.terminal.reverseLineFeed()},o.VT.CC1["Ž"]=o.VT.ESC.N=o.VT.ignore,o.VT.CC1[""]=o.VT.ESC.O=o.VT.ignore,o.VT.CC1[""]=o.VT.ESC.P=function(e){e.resetArguments(),e.func=this.parseUntilStringTerminator_},o.VT.CC1["–"]=o.VT.ESC.V=o.VT.ignore,o.VT.CC1["—"]=o.VT.ESC.W=o.VT.ignore,o.VT.CC1["˜"]=o.VT.ESC.X=o.VT.ignore,o.VT.CC1["š"]=o.VT.ESC.Z=function(){this.terminal.io.sendString("[?1;2c")},o.VT.CC1["›"]=o.VT.ESC["["]=function(e){e.resetArguments(),this.leadingModifier_="",this.trailingModifier_="",e.func=this.parseCSI_},o.VT.CC1["œ"]=o.VT.ESC["\\"]=o.VT.ignore,o.VT.CC1[""]=o.VT.ESC["]"]=function(e){function t(e){if(this.parseUntilStringTerminator_(e)&&e.func!=t){var r=e.args[0].match(/^(\d+);(.*)$/);r?(e.args[0]=r[2],this.dispatch("OSC",r[1],e)):console.warn("Invalid OSC: "+JSON.stringify(e.args[0]))}}e.resetArguments(),e.func=t},o.VT.CC1["ž"]=o.VT.ESC["^"]=function(e){e.resetArguments(),e.func=this.parseUntilStringTerminator_},o.VT.CC1["Ÿ"]=o.VT.ESC._=function(e){e.resetArguments(),e.func=this.parseUntilStringTerminator_},o.VT.ESC[" "]=function(e){e.func=function(e){var t=e.consumeChar();this.warnUnimplemented&&console.warn("Unimplemented sequence: ESC 0x20 "+t),e.resetParseFunction()}},o.VT.ESC["#"]=function(e){e.func=function(e){"8"==e.consumeChar()&&this.terminal.fill("E"),e.resetParseFunction()}},o.VT.ESC["%"]=function(e){e.func=function(e){var t=e.consumeChar();if(this.codingSystemLocked_)return"/"==t&&e.consumeChar(),void e.resetParseFunction();switch(t){case"@":this.setEncoding("iso-2022");break;case"G":this.setEncoding("utf-8");break;case"/":switch(t=e.consumeChar()){case"G":case"H":case"I":this.setEncoding("utf-8-locked");break;default:this.warnUnimplemented&&console.warn("Unknown ESC % / argument: "+JSON.stringify(t))}break;default:this.warnUnimplemented&&console.warn("Unknown ESC % argument: "+JSON.stringify(t))}e.resetParseFunction()}},o.VT.ESC["("]=o.VT.ESC[")"]=o.VT.ESC["*"]=o.VT.ESC["+"]=o.VT.ESC["-"]=o.VT.ESC["."]=o.VT.ESC["/"]=function(e,t){e.func=function(e){var r=e.consumeChar();if(""==r)return e.resetParseFunction(),void e.func();var i=this.characterMaps.getMap(r);void 0!==i?"("==t?this.G0=i:")"==t||"-"==t?this.G1=i:"*"==t||"."==t?this.G2=i:"+"!=t&&"/"!=t||(this.G3=i):this.warnUnimplemented&&console.log('Invalid character set for "'+t+'": '+r),e.resetParseFunction()}},o.VT.ESC[6]=o.VT.ignore,o.VT.ESC[7]=function(){this.savedState_.save()},o.VT.ESC[8]=function(){this.savedState_.restore()},o.VT.ESC[9]=o.VT.ignore,o.VT.ESC["="]=function(){this.terminal.keyboard.applicationKeypad=!0},o.VT.ESC[">"]=function(){this.terminal.keyboard.applicationKeypad=!1},o.VT.ESC.F=o.VT.ignore,o.VT.ESC.c=function(){this.reset(),this.terminal.reset()},o.VT.ESC.l=o.VT.ESC.m=o.VT.ignore,o.VT.ESC.n=function(){this.GL="G2"},o.VT.ESC.o=function(){this.GL="G3"},o.VT.ESC["|"]=function(){this.GR="G3"},o.VT.ESC["}"]=function(){this.GR="G2"},o.VT.ESC["~"]=function(){this.GR="G1"},o.VT.OSC[0]=function(e){this.terminal.setWindowTitle(e.args[0])},o.VT.OSC[2]=o.VT.OSC[0],o.VT.OSC[4]=function(e){for(var t=e.args[0].split(";"),r=parseInt(t.length/2),o=this.terminal.getTextAttributes().colorPalette,s=[],n=0;n=o.length||("?"!=l?(l=i.colors.x11ToCSS(l))&&(o[a]=l):(l=i.colors.rgbToX11(o[a]))&&s.push(a+";"+l))}s.length&&this.terminal.io.sendString("]4;"+s.join(";")+"")},o.VT.OSC[9]=function(e){o.notify({body:e.args[0]})},o.VT.OSC[10]=function(e){var t=e.args[0].split(";");if(t){var r=i.colors.x11ToCSS(t.shift());r&&this.terminal.setForegroundColor(r),t.length>0&&(e.args[0]=t.join(";"),o.VT.OSC[11].apply(this,[e]))}},o.VT.OSC[11]=function(e){var t=e.args[0].split(";");if(t){var r=i.colors.x11ToCSS(t.shift());r&&this.terminal.setBackgroundColor(r)}},o.VT.OSC[50]=function(e){var t=e.args[0].match(/CursorShape=(.)/i);if(t)switch(t[1]){case"1":this.terminal.setCursorShape(o.Terminal.cursorShape.BEAM);break;case"2":this.terminal.setCursorShape(o.Terminal.cursorShape.UNDERLINE);break;default:this.terminal.setCursorShape(o.Terminal.cursorShape.BLOCK)}else console.warn("Could not parse OSC 50 args: "+e.args[0])},o.VT.OSC[52]=function(e){var t=e.args[0].match(/^[cps01234567]*;(.*)/);if(t){var r=window.atob(t[1]);r&&this.terminal.copyStringToClipboard(this.decode(r))}},o.VT.OSC[777]=function(e){var t;switch(e.args[0].split(";",1)[0]){case"notify":var r,i;(t=e.args[0].match(/^[^;]+;([^;]*)(;([\s\S]*))?$/))&&(r=t[1],i=t[3]),o.notify({title:r,body:i});break;default:console.warn("Unknown urxvt module: "+e.args[0])}},o.VT.CSI["@"]=function(e){this.terminal.insertSpace(e.iarg(0,1))},o.VT.CSI.A=function(e){this.terminal.cursorUp(e.iarg(0,1))},o.VT.CSI.B=function(e){this.terminal.cursorDown(e.iarg(0,1))},o.VT.CSI.C=function(e){this.terminal.cursorRight(e.iarg(0,1))},o.VT.CSI.D=function(e){this.terminal.cursorLeft(e.iarg(0,1))},o.VT.CSI.E=function(e){this.terminal.cursorDown(e.iarg(0,1)),this.terminal.setCursorColumn(0)},o.VT.CSI.F=function(e){this.terminal.cursorUp(e.iarg(0,1)),this.terminal.setCursorColumn(0)},o.VT.CSI.G=function(e){this.terminal.setCursorColumn(e.iarg(0,1)-1)},o.VT.CSI.H=function(e){this.terminal.setCursorPosition(e.iarg(0,1)-1,e.iarg(1,1)-1)},o.VT.CSI.I=function(e){var t=e.iarg(0,1);t=i.f.clamp(t,1,this.terminal.screenSize.width);for(var r=0;rT"]=o.VT.ignore,o.VT.CSI.X=function(e){this.terminal.eraseToRight(e.iarg(0,1))},o.VT.CSI.Z=function(e){var t=e.iarg(0,1);t=i.f.clamp(t,1,this.terminal.screenSize.width);for(var r=0;rc"]=function(e){this.terminal.io.sendString("[>0;256;0c")},o.VT.CSI.d=function(e){this.terminal.setAbsoluteCursorRow(e.iarg(0,1)-1)},o.VT.CSI.f=o.VT.CSI.H,o.VT.CSI.g=function(e){e.args[0]&&0!=e.args[0]?3==e.args[0]&&this.terminal.clearAllTabStops():this.terminal.clearTabStopAtCursor(!1)},o.VT.CSI.h=function(e){for(var t=0;t=i.colorPalette.length)continue;i.foregroundSource=a}else if(39==s)i.foregroundSource=i.SRC_DEFAULT;else if(s<48)i.backgroundSource=s-40;else if(48==s){var n=r(o);if(null!=n)i.backgroundSource=i.SRC_RGB,i.background=n,o+=5;else{var a=t(o);if(null==a)break;if(o+=2,a>=i.colorPalette.length)continue;i.backgroundSource=a}}else i.backgroundSource=i.SRC_DEFAULT;else s>=90&&s<=97?i.foregroundSource=s-90+8:s>=100&&s<=107&&(i.backgroundSource=s-100+8)}i.setDefaults(this.terminal.getForegroundColor(),this.terminal.getBackgroundColor())}else i.reset()},o.VT.CSI[">m"]=o.VT.ignore,o.VT.CSI.n=function(e){if(5==e.args[0])this.terminal.io.sendString("0n");else if(6==e.args[0]){var t=this.terminal.getCursorRow()+1,r=this.terminal.getCursorColumn()+1;this.terminal.io.sendString("["+t+";"+r+"R")}},o.VT.CSI[">n"]=o.VT.ignore,o.VT.CSI["?n"]=function(e){if(6==e.args[0]){var t=this.terminal.getCursorRow()+1,r=this.terminal.getCursorColumn()+1;this.terminal.io.sendString("["+t+";"+r+"R")}else 15==e.args[0]?this.terminal.io.sendString("[?11n"):25==e.args[0]?this.terminal.io.sendString("[?21n"):26==e.args[0]?this.terminal.io.sendString("[?12;1;0;0n"):53==e.args[0]&&this.terminal.io.sendString("[?50n")},o.VT.CSI[">p"]=o.VT.ignore,o.VT.CSI["!p"]=function(){this.reset(),this.terminal.softReset()},o.VT.CSI.$p=o.VT.ignore,o.VT.CSI["?$p"]=o.VT.ignore,o.VT.CSI['"p']=o.VT.ignore,o.VT.CSI.q=o.VT.ignore,o.VT.CSI[" q"]=function(e){var t=e.args[0];0==t||1==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.BLOCK),this.terminal.setCursorBlink(!0)):2==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.BLOCK),this.terminal.setCursorBlink(!1)):3==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.UNDERLINE),this.terminal.setCursorBlink(!0)):4==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.UNDERLINE),this.terminal.setCursorBlink(!1)):5==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.BEAM),this.terminal.setCursorBlink(!0)):6==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.BEAM),this.terminal.setCursorBlink(!1)):console.warn("Unknown cursor style: "+t)},o.VT.CSI['"q']=o.VT.ignore,o.VT.CSI.r=function(e){var t=e.args,r=t[0]?parseInt(t[0],10)-1:null,i=t[1]?parseInt(t[1],10)-1:null;this.terminal.setVTScrollRegion(r,i),this.terminal.setCursorPosition(0,0)},o.VT.CSI["?r"]=o.VT.ignore,o.VT.CSI.$r=o.VT.ignore,o.VT.CSI.s=function(){this.savedState_.save()},o.VT.CSI["?s"]=o.VT.ignore,o.VT.CSI.t=o.VT.ignore,o.VT.CSI.$t=o.VT.ignore,o.VT.CSI[">t"]=o.VT.ignore,o.VT.CSI[" t"]=o.VT.ignore,o.VT.CSI.u=function(){this.savedState_.restore()},o.VT.CSI[" u"]=o.VT.ignore,o.VT.CSI.$v=o.VT.ignore,o.VT.CSI["'w"]=o.VT.ignore,o.VT.CSI.x=o.VT.ignore,o.VT.CSI["*x"]=o.VT.ignore,o.VT.CSI.$x=o.VT.ignore,o.VT.CSI.z=function(e){if(!(e.args.length<1)){var t=e.args[0];if(0==t){if(e.args.length<2)return;this.terminal.getTextAttributes().tileData=e.args[1]}else 1==t&&(this.terminal.getTextAttributes().tileData=null)}},o.VT.CSI["'z"]=o.VT.ignore,o.VT.CSI.$z=o.VT.ignore,o.VT.CSI["'{"]=o.VT.ignore,o.VT.CSI["'|"]=o.VT.ignore,o.VT.CSI["'}"]=o.VT.ignore,o.VT.CSI["'~"]=o.VT.ignore,i.rtdep("lib.f"),o.VT.CharacterMap=function(e,t){this.description=e,this.GL=null,this.glmapBase_=t,this.sync_()},o.VT.CharacterMap.prototype.sync_=function(e){if(!this.glmapBase_&&!e)return this.GL=null,delete this.glmap_,void delete this.glre_;this.glmap_=e?Object.assign({},this.glmapBase_,e):this.glmapBase_;var t=Object.keys(this.glmap_).map(e=>"\\x"+i.f.zpad(e.charCodeAt(0).toString(16)));this.glre_=new RegExp("["+t.join("")+"]","g"),this.GL=(e=>e.replace(this.glre_,e=>this.glmap_[e]))},o.VT.CharacterMap.prototype.reset=function(){this.glmap_!==this.glmapBase_&&this.sync_()},o.VT.CharacterMap.prototype.setOverrides=function(e){this.sync_(e)},o.VT.CharacterMap.prototype.clone=function(){var e=new o.VT.CharacterMap(this.description,this.glmapBase_);return this.glmap_!==this.glmapBase_&&e.setOverrides(this.glmap_),e},o.VT.CharacterMaps=function(){this.maps_=o.VT.CharacterMaps.DefaultMaps,this.mapsBase_=this.maps_},o.VT.CharacterMaps.prototype.getMap=function(e){return this.maps_.hasOwnProperty(e)?this.maps_[e]:void 0},o.VT.CharacterMaps.prototype.addMap=function(e,t){this.maps_===this.mapsBase_&&(this.maps_=Object.assign({},this.mapsBase_)),this.maps_[e]=t},o.VT.CharacterMaps.prototype.reset=function(){this.maps_!==o.VT.CharacterMaps.DefaultMaps&&(this.maps_=o.VT.CharacterMaps.DefaultMaps)},o.VT.CharacterMaps.prototype.setOverrides=function(e){this.maps_===this.mapsBase_&&(this.maps_=Object.assign({},this.mapsBase_));for(var t in e){var r=this.getMap(t);void 0!==r?(this.maps_[t]=r.clone(),this.maps_[t].setOverrides(e[t])):this.addMap(t,new o.VT.CharacterMap("user "+t,e[t]))}},o.VT.CharacterMaps.DefaultMaps={},o.VT.CharacterMaps.DefaultMaps[0]=new o.VT.CharacterMap("graphic",{"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"}),o.VT.CharacterMaps.DefaultMaps.A=new o.VT.CharacterMap("british",{"#":"£"}),o.VT.CharacterMaps.DefaultMaps.B=new o.VT.CharacterMap("us",null),o.VT.CharacterMaps.DefaultMaps[4]=new o.VT.CharacterMap("dutch",{"#":"£","@":"¾","[":"IJ","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"}),o.VT.CharacterMaps.DefaultMaps.C=o.VT.CharacterMaps.DefaultMaps[5]=new o.VT.CharacterMap("finnish",{"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"}),o.VT.CharacterMaps.DefaultMaps.R=new o.VT.CharacterMap("french",{"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"}),o.VT.CharacterMaps.DefaultMaps.Q=new o.VT.CharacterMap("french canadian",{"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"}),o.VT.CharacterMaps.DefaultMaps.K=new o.VT.CharacterMap("german",{"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"}),o.VT.CharacterMaps.DefaultMaps.Y=new o.VT.CharacterMap("italian",{"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"}),o.VT.CharacterMaps.DefaultMaps.E=o.VT.CharacterMaps.DefaultMaps[6]=new o.VT.CharacterMap("norwegian/danish",{"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"}),o.VT.CharacterMaps.DefaultMaps.Z=new o.VT.CharacterMap("spanish",{"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"}),o.VT.CharacterMaps.DefaultMaps[7]=o.VT.CharacterMaps.DefaultMaps.H=new o.VT.CharacterMap("swedish",{"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"}),o.VT.CharacterMaps.DefaultMaps["="]=new o.VT.CharacterMap("swiss",{"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}),i.resource.add("hterm/audio/bell","audio/ogg;base64","T2dnUwACAAAAAAAAAADhqW5KAAAAAMFvEjYBHgF2b3JiaXMAAAAAAYC7AAAAAAAAAHcBAAAAAAC4AU9nZ1MAAAAAAAAAAAAA4aluSgEAAAAAesI3EC3//////////////////8kDdm9yYmlzHQAAAFhpcGguT3JnIGxpYlZvcmJpcyBJIDIwMDkwNzA5AAAAAAEFdm9yYmlzKUJDVgEACAAAADFMIMWA0JBVAAAQAABgJCkOk2ZJKaWUoSh5mJRISSmllMUwiZiUicUYY4wxxhhjjDHGGGOMIDRkFQAABACAKAmOo+ZJas45ZxgnjnKgOWlOOKcgB4pR4DkJwvUmY26mtKZrbs4pJQgNWQUAAAIAQEghhRRSSCGFFGKIIYYYYoghhxxyyCGnnHIKKqigggoyyCCDTDLppJNOOumoo4466ii00EILLbTSSkwx1VZjrr0GXXxzzjnnnHPOOeecc84JQkNWAQAgAAAEQgYZZBBCCCGFFFKIKaaYcgoyyIDQkFUAACAAgAAAAABHkRRJsRTLsRzN0SRP8ixREzXRM0VTVE1VVVVVdV1XdmXXdnXXdn1ZmIVbuH1ZuIVb2IVd94VhGIZhGIZhGIZh+H3f933f930gNGQVACABAKAjOZbjKaIiGqLiOaIDhIasAgBkAAAEACAJkiIpkqNJpmZqrmmbtmirtm3LsizLsgyEhqwCAAABAAQAAAAAAKBpmqZpmqZpmqZpmqZpmqZpmqZpmmZZlmVZlmVZlmVZlmVZlmVZlmVZlmVZlmVZlmVZlmVZlmVZlmVZQGjIKgBAAgBAx3Ecx3EkRVIkx3IsBwgNWQUAyAAACABAUizFcjRHczTHczzHczxHdETJlEzN9EwPCA1ZBQAAAgAIAAAAAABAMRzFcRzJ0SRPUi3TcjVXcz3Xc03XdV1XVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVYHQkFUAAAQAACGdZpZqgAgzkGEgNGQVAIAAAAAYoQhDDAgNWQUAAAQAAIih5CCa0JrzzTkOmuWgqRSb08GJVJsnuamYm3POOeecbM4Z45xzzinKmcWgmdCac85JDJqloJnQmnPOeRKbB62p0ppzzhnnnA7GGWGcc85p0poHqdlYm3POWdCa5qi5FJtzzomUmye1uVSbc84555xzzjnnnHPOqV6czsE54Zxzzonam2u5CV2cc875ZJzuzQnhnHPOOeecc84555xzzglCQ1YBAEAAAARh2BjGnYIgfY4GYhQhpiGTHnSPDpOgMcgppB6NjkZKqYNQUhknpXSC0JBVAAAgAACEEFJIIYUUUkghhRRSSCGGGGKIIaeccgoqqKSSiirKKLPMMssss8wyy6zDzjrrsMMQQwwxtNJKLDXVVmONteaec645SGultdZaK6WUUkoppSA0ZBUAAAIAQCBkkEEGGYUUUkghhphyyimnoIIKCA1ZBQAAAgAIAAAA8CTPER3RER3RER3RER3RER3P8RxREiVREiXRMi1TMz1VVFVXdm1Zl3Xbt4Vd2HXf133f141fF4ZlWZZlWZZlWZZlWZZlWZZlCUJDVgEAIAAAAEIIIYQUUkghhZRijDHHnINOQgmB0JBVAAAgAIAAAAAAR3EUx5EcyZEkS7IkTdIszfI0T/M00RNFUTRNUxVd0RV10xZlUzZd0zVl01Vl1XZl2bZlW7d9WbZ93/d93/d93/d93/d939d1IDRkFQAgAQCgIzmSIimSIjmO40iSBISGrAIAZAAABACgKI7iOI4jSZIkWZImeZZniZqpmZ7pqaIKhIasAgAAAQAEAAAAAACgaIqnmIqniIrniI4oiZZpiZqquaJsyq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7rukBoyCoAQAIAQEdyJEdyJEVSJEVyJAcIDVkFAMgAAAgAwDEcQ1Ikx7IsTfM0T/M00RM90TM9VXRFFwgNWQUAAAIACAAAAAAAwJAMS7EczdEkUVIt1VI11VItVVQ9VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV1TRN0zSB0JCVAAAZAAAjQQYZhBCKcpBCbj1YCDHmJAWhOQahxBiEpxAzDDkNInSQQSc9uJI5wwzz4FIoFURMg40lN44gDcKmXEnlOAhCQ1YEAFEAAIAxyDHEGHLOScmgRM4xCZ2UyDknpZPSSSktlhgzKSWmEmPjnKPSScmklBhLip2kEmOJrQAAgAAHAIAAC6HQkBUBQBQAAGIMUgophZRSzinmkFLKMeUcUko5p5xTzjkIHYTKMQadgxAppRxTzinHHITMQeWcg9BBKAAAIMABACDAQig0ZEUAECcA4HAkz5M0SxQlSxNFzxRl1xNN15U0zTQ1UVRVyxNV1VRV2xZNVbYlTRNNTfRUVRNFVRVV05ZNVbVtzzRl2VRV3RZV1bZl2xZ+V5Z13zNNWRZV1dZNVbV115Z9X9ZtXZg0zTQ1UVRVTRRV1VRV2zZV17Y1UXRVUVVlWVRVWXZlWfdVV9Z9SxRV1VNN2RVVVbZV2fVtVZZ94XRVXVdl2fdVWRZ+W9eF4fZ94RhV1dZN19V1VZZ9YdZlYbd13yhpmmlqoqiqmiiqqqmqtm2qrq1bouiqoqrKsmeqrqzKsq+rrmzrmiiqrqiqsiyqqiyrsqz7qizrtqiquq3KsrCbrqvrtu8LwyzrunCqrq6rsuz7qizruq3rxnHrujB8pinLpqvquqm6um7runHMtm0co6rqvirLwrDKsu/rui+0dSFRVXXdlF3jV2VZ921fd55b94WybTu/rfvKceu60vg5z28cubZtHLNuG7+t+8bzKz9hOI6lZ5q2baqqrZuqq+uybivDrOtCUVV9XZVl3zddWRdu3zeOW9eNoqrquirLvrDKsjHcxm8cuzAcXds2jlvXnbKtC31jyPcJz2vbxnH7OuP2daOvDAnHjwAAgAEHAIAAE8pAoSErAoA4AQAGIecUUxAqxSB0EFLqIKRUMQYhc05KxRyUUEpqIZTUKsYgVI5JyJyTEkpoKZTSUgehpVBKa6GU1lJrsabUYu0gpBZKaS2U0lpqqcbUWowRYxAy56RkzkkJpbQWSmktc05K56CkDkJKpaQUS0otVsxJyaCj0kFIqaQSU0mptVBKa6WkFktKMbYUW24x1hxKaS2kEltJKcYUU20txpojxiBkzknJnJMSSmktlNJa5ZiUDkJKmYOSSkqtlZJSzJyT0kFIqYOOSkkptpJKTKGU1kpKsYVSWmwx1pxSbDWU0lpJKcaSSmwtxlpbTLV1EFoLpbQWSmmttVZraq3GUEprJaUYS0qxtRZrbjHmGkppraQSW0mpxRZbji3GmlNrNabWam4x5hpbbT3WmnNKrdbUUo0txppjbb3VmnvvIKQWSmktlNJiai3G1mKtoZTWSiqxlZJabDHm2lqMOZTSYkmpxZJSjC3GmltsuaaWamwx5ppSi7Xm2nNsNfbUWqwtxppTS7XWWnOPufVWAADAgAMAQIAJZaDQkJUAQBQAAEGIUs5JaRByzDkqCULMOSepckxCKSlVzEEIJbXOOSkpxdY5CCWlFksqLcVWaykptRZrLQAAoMABACDABk2JxQEKDVkJAEQBACDGIMQYhAYZpRiD0BikFGMQIqUYc05KpRRjzknJGHMOQioZY85BKCmEUEoqKYUQSkklpQIAAAocAAACbNCUWByg0JAVAUAUAABgDGIMMYYgdFQyKhGETEonqYEQWgutddZSa6XFzFpqrbTYQAithdYySyXG1FpmrcSYWisAAOzAAQDswEIoNGQlAJAHAEAYoxRjzjlnEGLMOegcNAgx5hyEDirGnIMOQggVY85BCCGEzDkIIYQQQuYchBBCCKGDEEIIpZTSQQghhFJK6SCEEEIppXQQQgihlFIKAAAqcAAACLBRZHOCkaBCQ1YCAHkAAIAxSjkHoZRGKcYglJJSoxRjEEpJqXIMQikpxVY5B6GUlFrsIJTSWmw1dhBKaS3GWkNKrcVYa64hpdZirDXX1FqMteaaa0otxlprzbkAANwFBwCwAxtFNicYCSo0ZCUAkAcAgCCkFGOMMYYUYoox55xDCCnFmHPOKaYYc84555RijDnnnHOMMeecc845xphzzjnnHHPOOeecc44555xzzjnnnHPOOeecc84555xzzgkAACpwAAAIsFFkc4KRoEJDVgIAqQAAABFWYowxxhgbCDHGGGOMMUYSYowxxhhjbDHGGGOMMcaYYowxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGFtrrbXWWmuttdZaa6211lprrQBAvwoHAP8HG1ZHOCkaCyw0ZCUAEA4AABjDmHOOOQYdhIYp6KSEDkIIoUNKOSglhFBKKSlzTkpKpaSUWkqZc1JSKiWlllLqIKTUWkottdZaByWl1lJqrbXWOgiltNRaa6212EFIKaXWWostxlBKSq212GKMNYZSUmqtxdhirDGk0lJsLcYYY6yhlNZaazHGGGstKbXWYoy1xlprSam11mKLNdZaCwDgbnAAgEiwcYaVpLPC0eBCQ1YCACEBAARCjDnnnHMQQgghUoox56CDEEIIIURKMeYcdBBCCCGEjDHnoIMQQgghhJAx5hx0EEIIIYQQOucchBBCCKGEUkrnHHQQQgghlFBC6SCEEEIIoYRSSikdhBBCKKGEUkopJYQQQgmllFJKKaWEEEIIoYQSSimllBBCCKWUUkoppZQSQgghlFJKKaWUUkIIoZRQSimllFJKCCGEUkoppZRSSgkhhFBKKaWUUkopIYQSSimllFJKKaUAAIADBwCAACPoJKPKImw04cIDUGjISgCADAAAcdhq6ynWyCDFnISWS4SQchBiLhFSijlHsWVIGcUY1ZQxpRRTUmvonGKMUU+dY0oxw6yUVkookYLScqy1dswBAAAgCAAwECEzgUABFBjIAIADhAQpAKCwwNAxXAQE5BIyCgwKx4Rz0mkDABCEyAyRiFgMEhOqgaJiOgBYXGDIB4AMjY20iwvoMsAFXdx1IIQgBCGIxQEUkICDE2544g1PuMEJOkWlDgIAAAAA4AAAHgAAkg0gIiKaOY4Ojw+QEJERkhKTE5QAAAAAALABgA8AgCQFiIiIZo6jw+MDJERkhKTE5AQlAAAAAAAAAAAACAgIAAAAAAAEAAAACAhPZ2dTAAQYOwAAAAAAAOGpbkoCAAAAmc74DRgyNjM69TAzOTk74dnLubewsbagmZiNp4d0KbsExSY/I3XUTwJgkeZdn1HY4zoj33/q9DFtv3Ui1/jmx7lCUtPt18/sYf9MkgAsAGRBd3gMGP4sU+qCPYBy9VrA3YqJosW3W2/ef1iO/u3cg8ZG/57jU+pPmbGEJUgkfnaI39DbPqxddZphbMRmCc5rKlkUMkyx8iIoug5dJv1OYH9a59c+3Gevqc7Z2XFdDjL/qHztRfjWEWxJ/aiGezjohu9HsCZdQBKbiH0VtU/3m85lDG2T/+xkZcYnX+E+aqzv/xTgOoTFG+x7SNqQ4N+oAABSxuVXw77Jd5bmmTmuJakX7509HH0kGYKvARPpwfOSAPySPAc2EkneDwB2HwAAJlQDYK5586N79GJCjx4+p6aDUd27XSvRyXLJkIC5YZ1jLv5lpOhZTz0s+DmnF1diptrnM6UDgIW11Xh8cHTd0/SmbgOAdxcyWwMAAGIrZ3fNSfZbzKiYrK4+tPqtnMVLOeWOG2kVvUY+p2PJ/hkCl5aFRO4TLGYPZcIU3vYM1hohS4jHFlnyW/2T5J7kGsShXWT8N05V+3C/GPqJ1QdWisGPxEzHqXISBPIinWDUt7IeJv/f5OtzBxpTzZZQ+CYEhHXfqG4aABQli72GJhN4oJv+hXcApAJSErAW8G2raAX4NUcABnVt77CzZAB+LsHcVe+Q4h+QB1wh/ZrJTPxSBdI8mgTeAdTsQOoFUEng9BHcVPhxSRRYkKWZJXOFYP6V4AEripJoEjXgA2wJRZHSExmJDm8F0A6gEXsg5a4ZsALItrMB7+fh7UKLvYWSdtsDwFf1mzYzS1F82N1h2Oyt2e76B1QdS0SAsQigLPMOgJS9JRC7hFXA6kUsLFNKD5cA5cTRvgSqPc3Fl99xW3QTi/MHR8DEm6WnvaVQATwRqRKjywQ9BrrhugR2AKTsPQeQckrAOgDOhbTESyrXQ50CkNpXdtWjW7W2/3UjeX3U95gIdalfRAoAmqUEiwp53hCdcCwlg47fcbfzlmQMAgaBkh7c+fcDgF+ifwDXfzegLPcLYJsAAJQArTXjnh/uXGy3v1Hk3pV6/3t5ruW81f6prfbM2Q3WNVy98BwUtbCwhFhAWuPev6Oe/4ZaFQUcgKrVs4defzh1TADA1DEh5b3VlDaECw5b+bPfkKos3tIAue3vJZOih3ga3l6O3PSfIkrLv0PAS86PPdL7g8oc2KteNFKKzKRehOv2gJoFLBPXmaXvPBQILgJon0bbWBszrYZYYwE7jl2j+vTdU7Vpk21LiU0QajPkywAAHqbUC0/YsYOdb4e6BOp7E0cCi04Ao/TgD8ZVAMid6h/A8IeBNkp6/xsAACZELEYIk+yvI6Qz1NN6lIftB/6IMWjWJNOqPTMedAmyaj6Es0QBklJpiSWWHnQ2CoYbGWAmt+0gLQBFKCBnp2QUUQZ/1thtZDBJUpFWY82z34ocorB62oX7qB5y0oPAv/foxH25wVmgIHf2xFOr8leZcBq1Kx3ZvCq9Bga639AxuHuPNL/71YCF4EywJpqHFAX6XF0sjVbuANnvvdLcrufYwOM/iDa6iA468AYAAB6mNBMXcgTD8HSRqJ4vw8CjAlCEPACASlX/APwPOJKl9xQAAAPmnev2eWp33Xgyw3Dvfz6myGk3oyP8YTKsCOvzAgALQi0o1c6Nzs2O2Pg2h4ACIJAgAGP0aNn5x0BDgVfH7u2TtyfDcRIuYAyQhBF/lvSRAttgA6TPbWZA9gaUrZWAUEAA+Dx47Q3/r87HxUUqZmB0BmUuMlojFjHt1gDunnvuX8MImsjSq5WkzSzGS62OEIlOufWWezxWpv6FBgDgJVltfXFYtNAAnqU0xQoD0YLiXo5cF5QV4CnY1tBLAkZCOABAhbk/AM+/AwSCCdlWAAAMcFjS7owb8GVDzveDiZvznbt2tF4bL5odN1YKl88TAEABCZvufq9YCTBtMwVAQUEAwGtNltzSaHvADYC3TxLVjqiRA+OZAMhzcqEgRcAOwoCgvdTxsTHLQEF6+oOb2+PAI8ciPQcXg7pOY+LjxQSv2fjmFuj34gGwz310/bGK6z3xgT887eomWULEaDd04wHetYxdjcgV2SxvSwn0VoZXJRqkRC5ASQ/muVoAUsX7AgAQMBNaVwAAlABRxT/1PmfqLqSRNDbhXb07berpB3b94jpuWEZjBCD2OcdXFpCKEgCDfcFPMw8AAADUwT4lnUm50lmwrpMMhPQIKj6u0E8fr2vGBngMNdIlrZsigjahljud6AFVg+tzXwUnXL3TJLpajaWKA4VAAAAMiFfqJgKAZ08XrtS3dxtQNYcpPvYEG8ClvrQRJgBephwnNWJjtGqmp6VEPSvBe7EBiU3qgJbQAwD4Le8LAMDMhHbNAAAlgK+tFs5O+YyJc9yCnJa3rxLPulGnxwsXV9Fsk2k4PisCAHC8FkwbGE9gJQAAoMnyksj0CdFMZLLgoz8M+FxziwYBgIx+zHiCBAKAlBKNpF1sO9JpVcyEi9ar15YlHgrut5fPJnkdJ6vEwZPyAHQBIEDUrlMcBAAd2KAS0Qq+JwRsE4AJZtMnAD6GnOYwYlOIZvtzUNdjreB7fiMkWI0CmBB6AIAKc38A9osEFlTSGECB+cbeRDC0aRpLHqNPplcK/76Lxn2rpmqyXsYJWRi/FQAAAKBQk9MCAOibrQBQADCDsqpooPutd+05Ce9g6iEdiYXgVmQAI4+4wskEBEiBloNQ6Ki0/KTQ0QjWfjxzi+AeuXKoMjEVfQOZzr0y941qLgM2AExvbZOqcxZ6J6krlrj4y2j9AdgKDx6GnJsVLhbc42uq584+ouSdNBpoCiCVHrz+WzUA/DDtD8ATgA3h0lMCAAzcFv+S+fSSNkeYWlTpb34mf2RfmqqJeMeklhHAfu7VoAEACgAApKRktL+KkQDWMwYCUAAAAHCKsp80xhp91UjqQBw3x45cetqkjQEyu3G9B6N+R650Uq8OVig7wOm6Wun0ea4lKDPoabJs6aLqgbhPzpv4KR4iODilw88ZpY7q1IOMcbASAOAVtmcCnobcrkG4KGS7/ZnskVWRNF9J0RUHKOnByy9WA8Dv6L4AAARMCQUA4GritfVM2lcZfH3Q3T/vZ47J2YHhcmBazjfdyuV25gLAzrc0cwAAAAAYCh6PdwAAAGyWjFW4yScjaWa2mGcofHxWxewKALglWBpLUvwwk+UOh5eNGyUOs1/EF+pZr+ud5OzoGwYdAABg2p52LiSgAY/ZVlOmilEgHn6G3OcwYjzI7vOj1t6xsx4S3lBY96EUQBF6AIBAmPYH4PoGYCoJAADWe+OZJZi7/x76/yH7Lzf9M5XzRKnFPmveMsilQHwVAAAAAKB3LQD8PCIAAADga0QujBLywzeJ4a6Z/ERVBAUlAEDqvoM7BQBAuAguzFqILtmjH3Kd4wfKobnOhA3z85qWoRPm9hwoOHoDAAlCbwDAA56FHAuXflHo3fe2ttG9XUDeA9YmYCBQ0oPr/1QC8IvuCwAAApbUAQCK22MmE3O78VAbHQT9PIPNoT9zNc3l2Oe7TAVLANBufT8MAQAAAGzT4PS8AQAAoELGHb2uaCwwEv1EWhFriUkbAaAZ27/fVZnTZXbWz3BwWpjUaMZKRj7dZ0J//gUeTdpVEwAAZOFsNxKAjQSgA+ABPoY8Jj5y2wje81jsXc/1TOQWTDYZBmAkNDiqVwuA2NJ9AQAAEBKAt9Vrsfs/2N19MO91S9rd8EHTZHnzC5MYmfQEACy/FBcAAADA5c4gi4z8RANs/m6FNXVo9DV46JG1BBDukqlw/Va5G7QbuGVSI+2aZaoLXJrdVj2zlC9Z5QEAEFz/5QzgVZwAAAAA/oXcxyC6WfTu+09Ve/c766J4VTAGUFmA51+VANKi/QPoPwYgYAkA715OH4S0s5KDHvj99MMq8TPFc3roKZnGOoT1bmIhVgc7XAMBAAAAAMAW1VbQw3gapzOpJd+Kd2fc4iSO62fJv9+movui1wUNPAj059N3OVxzk4gV73PmE8FIA2F5mRq37Evc76vLXfF4rD5UJJAw46hW6LZCb5sNLdx+kzMCAAB+hfy95+965ZCLP7B3/VlTHCvDEKtQhTm4KiCgAEAbrfbWTPssAAAAXpee1tVrozYYn41wD1aeYtkKfswN5/SXPO0JDnhO/4laUortv/s412fybe/nONdncoCHnBVliu0CQGBWlPY/5Kwom2L/kruPM6Q7oz4tvDQy+bZ3HzOi+gNHA4DZEgA="),i.resource.add("hterm/images/icon-96","image/png;base64","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"),i.resource.add("hterm/concat/date","text/plain","Tue, 22 Aug 2017 06:42:31 +0000"),i.resource.add("hterm/changelog/version","text/plain","1.70"),i.resource.add("hterm/changelog/date","text/plain","2017-08-16"),i.resource.add("hterm/git/HEAD","text/plain","git rev-parse HEAD"),e.exports={hterm:o,lib:i}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,r){this.textarea=e,this.compositionView=t,this.terminal=r,this.isComposing=!1,this.isSendingComposition=!1,this.compositionPosition={start:null,end:null}}return e.prototype.compositionstart=function(){this.isComposing=!0,this.compositionPosition.start=this.textarea.value.length,this.compositionView.textContent="",this.compositionView.classList.add("active")},e.prototype.compositionupdate=function(e){var t=this;this.compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(function(){t.compositionPosition.end=t.textarea.value.length},0)},e.prototype.compositionend=function(){this.finalizeComposition(!0)},e.prototype.keydown=function(e){if(this.isComposing||this.isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this.finalizeComposition(!1)}return 229!==e.keyCode||(this.handleAnyTextareaChanges(),!1)},e.prototype.finalizeComposition=function(e){var t=this;if(this.compositionView.classList.remove("active"),this.isComposing=!1,this.clearTextareaPosition(),e){var r={start:this.compositionPosition.start,end:this.compositionPosition.end};this.isSendingComposition=!0,setTimeout(function(){if(t.isSendingComposition){t.isSendingComposition=!1;var e=void 0;e=t.isComposing?t.textarea.value.substring(r.start,r.end):t.textarea.value.substring(r.start),t.terminal.handler(e)}},0)}else{this.isSendingComposition=!1;var i=this.textarea.value.substring(this.compositionPosition.start,this.compositionPosition.end);this.terminal.handler(i)}},e.prototype.handleAnyTextareaChanges=function(){var e=this,t=this.textarea.value;setTimeout(function(){if(!e.isComposing){var r=e.textarea.value.replace(t,"");r.length>0&&e.terminal.handler(r)}},0)},e.prototype.updateCompositionElements=function(e){var t=this;if(this.isComposing){var r=this.terminal.element.querySelector(".terminal-cursor");if(r){var i=this.terminal.element.querySelector(".xterm-rows").offsetTop+r.offsetTop;this.compositionView.style.left=r.offsetLeft+"px",this.compositionView.style.top=i+"px",this.compositionView.style.height=r.offsetHeight+"px",this.compositionView.style.lineHeight=r.offsetHeight+"px";var o=this.compositionView.getBoundingClientRect();this.textarea.style.left=r.offsetLeft+"px",this.textarea.style.top=i+"px",this.textarea.style.width=o.width+"px",this.textarea.style.height=o.height+"px",this.textarea.style.lineHeight=o.height+"px"}e||setTimeout(function(){return t.updateCompositionElements(!0)},0)}},e.prototype.clearTextareaPosition=function(){this.textarea.style.left="",this.textarea.style.top=""},e}();t.CompositionHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(2),o=r(3),s=function(){function e(e){this._terminal=e}return e.prototype.addChar=function(e,t){if(e>=" "){var r=n(t);this._terminal.charset&&this._terminal.charset[e]&&(e=this._terminal.charset[e]);var i=this._terminal.y+this._terminal.ybase;if(!r&&this._terminal.x)return void(this._terminal.lines.get(i)[this._terminal.x-1]&&(this._terminal.lines.get(i)[this._terminal.x-1][2]?this._terminal.lines.get(i)[this._terminal.x-1][1]+=e:this._terminal.lines.get(i)[this._terminal.x-2]&&(this._terminal.lines.get(i)[this._terminal.x-2][1]+=e),this._terminal.updateRange(this._terminal.y)));if(this._terminal.x+r-1>=this._terminal.cols)if(this._terminal.wraparoundMode)this._terminal.x=0,++this._terminal.y>this._terminal.scrollBottom?(this._terminal.y--,this._terminal.scroll(!0)):this._terminal.lines.get(this._terminal.y).isWrapped=!0;else if(2===r)return;if(i=this._terminal.y+this._terminal.ybase,this._terminal.insertMode)for(var o=0;othis._terminal.scrollBottom&&(this._terminal.y--,this._terminal.scroll()),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.carriageReturn=function(){this._terminal.x=0},e.prototype.backspace=function(){this._terminal.x>0&&this._terminal.x--},e.prototype.tab=function(){this._terminal.x=this._terminal.nextStop()},e.prototype.shiftOut=function(){this._terminal.setgLevel(1)},e.prototype.shiftIn=function(){this._terminal.setgLevel(0)},e.prototype.insertChars=function(e){var t,r,i,o;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.x,o=[this._terminal.eraseAttr()," ",1];t--&&i=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.cursorForward=function(e){var t=e[0];t<1&&(t=1),this._terminal.x+=t,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.cursorBackward=function(e){var t=e[0];t<1&&(t=1),this._terminal.x>=this._terminal.cols&&this._terminal.x--,this._terminal.x-=t,this._terminal.x<0&&(this._terminal.x=0)},e.prototype.cursorNextLine=function(e){var t=e[0];t<1&&(t=1),this._terminal.y+=t,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x=0},e.prototype.cursorPrecedingLine=function(e){var t=e[0];t<1&&(t=1),this._terminal.y-=t,this._terminal.y<0&&(this._terminal.y=0),this._terminal.x=0},e.prototype.cursorCharAbsolute=function(e){var t=e[0];t<1&&(t=1),this._terminal.x=t-1},e.prototype.cursorPosition=function(e){var t,r;t=e[0]-1,r=e.length>=2?e[1]-1:0,t<0?t=0:t>=this._terminal.rows&&(t=this._terminal.rows-1),r<0?r=0:r>=this._terminal.cols&&(r=this._terminal.cols-1),this._terminal.x=r,this._terminal.y=t},e.prototype.cursorForwardTab=function(e){for(var t=e[0]||1;t--;)this._terminal.x=this._terminal.nextStop()},e.prototype.eraseInDisplay=function(e){var t;switch(e[0]){case 0:for(this._terminal.eraseRight(this._terminal.x,this._terminal.y),t=this._terminal.y+1;t0&&(this._terminal.lines.trimStart(r),this._terminal.ybase=Math.max(this._terminal.ybase-r,0),this._terminal.ydisp=Math.max(this._terminal.ydisp-r,0))}},e.prototype.eraseInLine=function(e){switch(e[0]){case 0:this._terminal.eraseRight(this._terminal.x,this._terminal.y);break;case 1:this._terminal.eraseLeft(this._terminal.x,this._terminal.y);break;case 2:this._terminal.eraseLine(this._terminal.y)}},e.prototype.insertLines=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.rows-1-this._terminal.scrollBottom,i=this._terminal.rows-1+this._terminal.ybase-i+1;t--;)this._terminal.lines.length===this._terminal.lines.maxLength&&(this._terminal.lines.trimStart(1),this._terminal.ybase--,this._terminal.ydisp--,r--,i--),this._terminal.lines.splice(r,0,this._terminal.blankLine(!0)),this._terminal.lines.splice(i,1);this._terminal.updateRange(this._terminal.y),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.deleteLines=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.rows-1-this._terminal.scrollBottom,i=this._terminal.rows-1+this._terminal.ybase-i;t--;)this._terminal.lines.length===this._terminal.lines.maxLength&&(this._terminal.lines.trimStart(1),this._terminal.ybase-=1,this._terminal.ydisp-=1),this._terminal.lines.splice(i+1,0,this._terminal.blankLine(!0)),this._terminal.lines.splice(r,1);this._terminal.updateRange(this._terminal.y),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.deleteChars=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=[this._terminal.eraseAttr()," ",1];t--;)this._terminal.lines.get(r).splice(this._terminal.x,1),this._terminal.lines.get(r).push(i)},e.prototype.scrollUp=function(e){for(var t=e[0]||1;t--;)this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollTop,1),this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollBottom,0,this._terminal.blankLine());this._terminal.updateRange(this._terminal.scrollTop),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.scrollDown=function(e){for(var t=e[0]||1;t--;)this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollBottom,1),this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollTop,0,this._terminal.blankLine());this._terminal.updateRange(this._terminal.scrollTop),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.eraseChars=function(e){var t,r,i,o;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.x,o=[this._terminal.eraseAttr()," ",1];t--&&i=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.HPositionRelative=function(e){var t=e[0];t<1&&(t=1),this._terminal.x+=t,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.repeatPrecedingCharacter=function(e){for(var t=e[0]||1,r=this._terminal.lines.get(this._terminal.ybase+this._terminal.y),i=r[this._terminal.x-1]||[this._terminal.defAttr," ",1];t--;)r[this._terminal.x++]=i},e.prototype.sendDeviceAttributes=function(e){e[0]>0||(this._terminal.prefix?">"===this._terminal.prefix&&(this._terminal.is("xterm")?this._terminal.send(i.C0.ESC+"[>0;276;0c"):this._terminal.is("rxvt-unicode")?this._terminal.send(i.C0.ESC+"[>85;95;0c"):this._terminal.is("linux")?this._terminal.send(e[0]+"c"):this._terminal.is("screen")&&this._terminal.send(i.C0.ESC+"[>83;40003;0c")):this._terminal.is("xterm")||this._terminal.is("rxvt-unicode")||this._terminal.is("screen")?this._terminal.send(i.C0.ESC+"[?1;2c"):this._terminal.is("linux")&&this._terminal.send(i.C0.ESC+"[?6c"))},e.prototype.linePosAbsolute=function(e){var t=e[0];t<1&&(t=1),this._terminal.y=t-1,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1)},e.prototype.VPositionRelative=function(e){var t=e[0];t<1&&(t=1),this._terminal.y+=t,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.HVPosition=function(e){e[0]<1&&(e[0]=1),e[1]<1&&(e[1]=1),this._terminal.y=e[0]-1,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x=e[1]-1,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.tabClear=function(e){var t=e[0];t<=0?delete this._terminal.tabs[this._terminal.x]:3===t&&(this._terminal.tabs={})},e.prototype.setMode=function(e){if(e.length>1)for(var t=0;t1e3,this._terminal.mouseEvents=!0,this._terminal.element.classList.add("enable-mouse-events"),this._terminal.selectionManager.disable(),this._terminal.log("Binding to mouse events.");break;case 1004:this._terminal.sendFocus=!0;break;case 1005:this._terminal.utfMouse=!0;break;case 1006:this._terminal.sgrMouse=!0;break;case 1015:this._terminal.urxvtMouse=!0;break;case 25:this._terminal.cursorHidden=!1;break;case 1049:case 47:case 1047:if(!this._terminal.normal){var r={lines:this._terminal.lines,ybase:this._terminal.ybase,ydisp:this._terminal.ydisp,x:this._terminal.x,y:this._terminal.y,scrollTop:this._terminal.scrollTop,scrollBottom:this._terminal.scrollBottom,tabs:this._terminal.tabs};this._terminal.reset(),this._terminal.viewport.syncScrollArea(),this._terminal.normal=r,this._terminal.showCursor()}}}else switch(e[0]){case 4:this._terminal.insertMode=!0}},e.prototype.resetMode=function(e){if(e.length>1)for(var t=0;t>18,s=this._terminal.curAttr>>9&511,n=511&this._terminal.curAttr;i=30&&t<=37?s=t-30:t>=40&&t<=47?n=t-40:t>=90&&t<=97?s=(t+=8)-90:t>=100&&t<=107?n=(t+=8)-100:0===t?(o=this._terminal.defAttr>>18,s=this._terminal.defAttr>>9&511,n=511&this._terminal.defAttr):1===t?o|=1:4===t?o|=2:5===t?o|=4:7===t?o|=8:8===t?o|=16:22===t?o&=-2:24===t?o&=-3:25===t?o&=-5:27===t?o&=-9:28===t?o&=-17:39===t?s=this._terminal.defAttr>>9&511:49===t?n=511&this._terminal.defAttr:38===t?2===e[i+1]?(i+=2,-1===(s=this._terminal.matchColor(255&e[i],255&e[i+1],255&e[i+2]))&&(s=511),i+=2):5===e[i+1]&&(s=t=255&e[i+=2]):48===t?2===e[i+1]?(i+=2,-1===(n=this._terminal.matchColor(255&e[i],255&e[i+1],255&e[i+2]))&&(n=511),i+=2):5===e[i+1]&&(n=t=255&e[i+=2]):100===t?(s=this._terminal.defAttr>>9&511,n=511&this._terminal.defAttr):this._terminal.error("Unknown SGR attribute: %d.",t);this._terminal.curAttr=o<<18|s<<9|n}else this._terminal.curAttr=this._terminal.defAttr},e.prototype.deviceStatus=function(e){if(this._terminal.prefix){if("?"===this._terminal.prefix)switch(e[0]){case 6:this._terminal.send(i.C0.ESC+"[?"+(this._terminal.y+1)+";"+(this._terminal.x+1)+"R")}}else switch(e[0]){case 5:this._terminal.send(i.C0.ESC+"[0n");break;case 6:this._terminal.send(i.C0.ESC+"["+(this._terminal.y+1)+";"+(this._terminal.x+1)+"R")}},e.prototype.softReset=function(e){this._terminal.cursorHidden=!1,this._terminal.insertMode=!1,this._terminal.originMode=!1,this._terminal.wraparoundMode=!0,this._terminal.applicationKeypad=!1,this._terminal.viewport.syncScrollArea(),this._terminal.applicationCursor=!1,this._terminal.scrollTop=0,this._terminal.scrollBottom=this._terminal.rows-1,this._terminal.curAttr=this._terminal.defAttr,this._terminal.x=this._terminal.y=0,this._terminal.charset=null,this._terminal.glevel=0,this._terminal.charsets=[null]},e.prototype.setCursorStyle=function(e){var t=e[0]<1?1:e[0];switch(t){case 1:case 2:this._terminal.setOption("cursorStyle","block");break;case 3:case 4:this._terminal.setOption("cursorStyle","underline");break;case 5:case 6:this._terminal.setOption("cursorStyle","bar")}var r=t%2==1;this._terminal.setOption("cursorBlink",r)},e.prototype.setScrollRegion=function(e){this._terminal.prefix||(this._terminal.scrollTop=(e[0]||1)-1,this._terminal.scrollBottom=(e[1]&&e[1]<=this._terminal.rows?e[1]:this._terminal.rows)-1,this._terminal.x=0,this._terminal.y=0)},e.prototype.saveCursor=function(e){this._terminal.savedX=this._terminal.x,this._terminal.savedY=this._terminal.y},e.prototype.restoreCursor=function(e){this._terminal.x=this._terminal.savedX||0,this._terminal.y=this._terminal.savedY||0},e}();t.InputHandler=s;var n=function(e){function t(e){var t,r=0,o=i.length-1;if(ei[o][1])return!1;for(;o>=r;)if(t=Math.floor((r+o)/2),e>i[t][1])r=t+1;else{if(!(e=4352&&(e<=4447||9001===e||9002===e||e>=11904&&e<=42191&&12351!==e||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072&&e<=196605||e>=196608&&e<=262141)}var i=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];return function(i){return 0===i?e.nul:i<32||i>=127&&i<160?e.control:t(i)?0:r(i)?2:1}}({nul:0,control:0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=new RegExp("(?:^|[^\\da-z\\.-]+)((https?:\\/\\/)((([\\da-z\\.-]+)\\.([a-z\\.]{2,6}))|((\\d{1,3}\\.){3}\\d{1,3})|(localhost))(:\\d{1,5})?(\\/[\\/\\w\\.\\-%~]*)*(\\?[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?(#[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?)($|[^\\/\\w\\.\\-%]+)"),o=0,s=function(){function e(){this._nextLinkMatcherId=o,this._rowTimeoutIds=[],this._linkMatchers=[],this.registerLinkMatcher(i,null,{matchIndex:1})}return e.prototype.attachToDom=function(e,t){this._document=e,this._rows=t},e.prototype.linkifyRow=function(t){if(this._document){var r=this._rowTimeoutIds[t];r&&clearTimeout(r),this._rowTimeoutIds[t]=setTimeout(this._linkifyRow.bind(this,t),e.TIME_BEFORE_LINKIFY)}},e.prototype.setHypertextLinkHandler=function(e){this._linkMatchers[o].handler=e},e.prototype.setHypertextValidationCallback=function(e){this._linkMatchers[o].validationCallback=e},e.prototype.registerLinkMatcher=function(e,t,r){if(void 0===r&&(r={}),this._nextLinkMatcherId!==o&&!t)throw new Error("handler must be defined");var i={id:this._nextLinkMatcherId++,regex:e,handler:t,matchIndex:r.matchIndex,validationCallback:r.validationCallback,priority:r.priority||0};return this._addLinkMatcherToList(i),i.id},e.prototype._addLinkMatcherToList=function(e){if(0!==this._linkMatchers.length){for(var t=this._linkMatchers.length-1;t>=0;t--)if(e.priority<=this._linkMatchers[t].priority)return void this._linkMatchers.splice(t+1,0,e);this._linkMatchers.splice(0,0,e)}else this._linkMatchers.push(e)},e.prototype.deregisterLinkMatcher=function(e){for(var t=1;t0){if(i.validationCallback)for(var s=function(e){var t=o[e];i.validationCallback(t.textContent,t,function(e){e||t.classList.add("xterm-invalid-link")})},n=0;n=0){var p=this._createAnchorElement(a,t.handler,i);if(c.textContent.length===a.length)if(3===c.nodeType)this._replaceNode(c,p);else{var d=c;if("A"===d.nodeName)return r;d.innerHTML="",d.appendChild(p)}else if(c.childNodes.length>1)for(var f=0;f"]=function(e){return e.setPrefix(">")},a["!"]=function(e){return e.setPrefix("!")},a[0]=function(e){return e.setParam(10*e.getParam())},a[1]=function(e){return e.setParam(10*e.getParam()+1)},a[2]=function(e){return e.setParam(10*e.getParam()+2)},a[3]=function(e){return e.setParam(10*e.getParam()+3)},a[4]=function(e){return e.setParam(10*e.getParam()+4)},a[5]=function(e){return e.setParam(10*e.getParam()+5)},a[6]=function(e){return e.setParam(10*e.getParam()+6)},a[7]=function(e){return e.setParam(10*e.getParam()+7)},a[8]=function(e){return e.setParam(10*e.getParam()+8)},a[9]=function(e){return e.setParam(10*e.getParam()+9)},a.$=function(e){return e.setPostfix("$")},a['"']=function(e){return e.setPostfix('"')},a[" "]=function(e){return e.setPostfix(" ")},a["'"]=function(e){return e.setPostfix("'")},a[";"]=function(e){return e.finalizeParam()},a[i.C0.CAN]=function(e){return e.setState(h.NORMAL)};var l={};l["@"]=function(e,t,r){return e.insertChars(t)},l.A=function(e,t,r){return e.cursorUp(t)},l.B=function(e,t,r){return e.cursorDown(t)},l.C=function(e,t,r){return e.cursorForward(t)},l.D=function(e,t,r){return e.cursorBackward(t)},l.E=function(e,t,r){return e.cursorNextLine(t)},l.F=function(e,t,r){return e.cursorPrecedingLine(t)},l.G=function(e,t,r){return e.cursorCharAbsolute(t)},l.H=function(e,t,r){return e.cursorPosition(t)},l.I=function(e,t,r){return e.cursorForwardTab(t)},l.J=function(e,t,r){return e.eraseInDisplay(t)},l.K=function(e,t,r){return e.eraseInLine(t)},l.L=function(e,t,r){return e.insertLines(t)},l.M=function(e,t,r){return e.deleteLines(t)},l.P=function(e,t,r){return e.deleteChars(t)},l.S=function(e,t,r){return e.scrollUp(t)},l.T=function(e,t,r){t.length<2&&!r&&e.scrollDown(t)},l.X=function(e,t,r){return e.eraseChars(t)},l.Z=function(e,t,r){return e.cursorBackwardTab(t)},l["`"]=function(e,t,r){return e.charPosAbsolute(t)},l.a=function(e,t,r){return e.HPositionRelative(t)},l.b=function(e,t,r){return e.repeatPrecedingCharacter(t)},l.c=function(e,t,r){return e.sendDeviceAttributes(t)},l.d=function(e,t,r){return e.linePosAbsolute(t)},l.e=function(e,t,r){return e.VPositionRelative(t)},l.f=function(e,t,r){return e.HVPosition(t)},l.g=function(e,t,r){return e.tabClear(t)},l.h=function(e,t,r){return e.setMode(t)},l.l=function(e,t,r){return e.resetMode(t)},l.m=function(e,t,r){return e.charAttributes(t)},l.n=function(e,t,r){return e.deviceStatus(t)},l.p=function(e,t,r){switch(r){case"!":e.softReset(t)}},l.q=function(e,t,r,i){" "===i&&e.setCursorStyle(t)},l.r=function(e,t){return e.setScrollRegion(t)},l.s=function(e,t){return e.saveCursor(t)},l.u=function(e,t){return e.restoreCursor(t)},l[i.C0.CAN]=function(e,t,r,i,o){return o.setState(h.NORMAL)};var h;!function(e){e[e.NORMAL=0]="NORMAL",e[e.ESCAPED=1]="ESCAPED",e[e.CSI_PARAM=2]="CSI_PARAM",e[e.CSI=3]="CSI",e[e.OSC=4]="OSC",e[e.CHARSET=5]="CHARSET",e[e.DCS=6]="DCS",e[e.IGNORE=7]="IGNORE"}(h||(h={}));var c=function(){function e(e,t){this._inputHandler=e,this._terminal=t,this._state=h.NORMAL}return e.prototype.parse=function(e){var t,r,c,u,p=e.length;for(this._position=0,this._terminal.surrogate_high&&(e=this._terminal.surrogate_high+e,this._terminal.surrogate_high="");this._position":this._terminal.log("Switching back to normal keypad."),this._terminal.applicationKeypad=!1,this._terminal.viewport.syncScrollArea(),this._state=h.NORMAL;break;default:this._state=h.NORMAL,this._terminal.error("Unknown ESC control: %s.",r)}break;case h.CHARSET:r in o.CHARSETS?(t=o.CHARSETS[r],"/"===r&&this.skipNextChar()):t=o.DEFAULT_CHARSET,this._terminal.setgCharset(this._terminal.gcharset,t),this._terminal.gcharset=null,this._state=h.NORMAL;break;case h.OSC:if(r===i.C0.ESC||r===i.C0.BEL){switch(r===i.C0.ESC&&this._position++,this._terminal.params.push(this._terminal.currentParam),this._terminal.params[0]){case 0:case 1:case 2:this._terminal.params[1]&&(this._terminal.title=this._terminal.params[1],this._terminal.handleTitle(this._terminal.title))}this._terminal.params=[],this._terminal.currentParam=0,this._state=h.NORMAL}else this._terminal.params.length?this._terminal.currentParam+=r:r>="0"&&r<="9"?this._terminal.currentParam=10*this._terminal.currentParam+r.charCodeAt(0)-48:";"===r&&(this._terminal.params.push(this._terminal.currentParam),this._terminal.currentParam="");break;case h.CSI_PARAM:if(r in a){a[r](this);break}this.finalizeParam(),this._state=h.CSI;case h.CSI:r in l?l[r](this._inputHandler,this._terminal.params,this._terminal.prefix,this._terminal.postfix,this):this._terminal.error("Unknown CSI code: %s.",r),this._state=h.NORMAL,this._terminal.prefix="",this._terminal.postfix="";break;case h.DCS:if(r===i.C0.ESC||r===i.C0.BEL){r===i.C0.ESC&&this._position++;var d=void 0,f=void 0;switch(this._terminal.prefix){case"":break;case"$q":switch(d=this._terminal.currentParam,f=!1,d){case'"q':d='0"q';break;case'"p':d='61"p';break;case"r":d=this._terminal.scrollTop+1+";"+(this._terminal.scrollBottom+1)+"r";break;case"m":d="0m";break;default:this._terminal.error("Unknown DCS Pt: %s.",d),d=""}this._terminal.send(i.C0.ESC+"P"+ +f+"$r"+d+i.C0.ESC+"\\");break;case"+p":break;case"+q":d=this._terminal.currentParam,f=!1,this._terminal.send(i.C0.ESC+"P"+ +f+"+r"+d+i.C0.ESC+"\\");break;default:this._terminal.error("Unknown DCS prefix: %s.",this._terminal.prefix)}this._terminal.currentParam=0,this._terminal.prefix="",this._state=h.NORMAL}else this._terminal.currentParam?this._terminal.currentParam+=r:this._terminal.prefix||"$"===r||"+"===r?2===this._terminal.prefix.length?this._terminal.currentParam=r:this._terminal.prefix+=r:this._terminal.currentParam=r;break;case h.IGNORE:r!==i.C0.ESC&&r!==i.C0.BEL||(r===i.C0.ESC&&this._position++,this._state=h.NORMAL)}}return this._state},e.prototype.setState=function(e){this._state=e},e.prototype.setPrefix=function(e){this._terminal.prefix=e},e.prototype.setPostfix=function(e){this._terminal.postfix=e},e.prototype.setParam=function(e){this._terminal.currentParam=e},e.prototype.getParam=function(){return this._terminal.currentParam},e.prototype.finalizeParam=function(){this._terminal.params.push(this._terminal.currentParam),this._terminal.currentParam=0},e.prototype.skipNextChar=function(){this._position++},e}();t.Parser=c},function(e,t,r){"use strict";function i(e){var t=e.ownerDocument.createElement("span");t.innerHTML="hello world",e.appendChild(t);var r=t.offsetWidth,i=t.offsetHeight;t.style.fontWeight="bold";var o=t.offsetWidth,s=t.offsetHeight;return e.removeChild(t),r!==o||i!==s}Object.defineProperty(t,"__esModule",{value:!0});var o,s=r(26);!function(e){e[e.BOLD=1]="BOLD",e[e.UNDERLINE=2]="UNDERLINE",e[e.BLINK=4]="BLINK",e[e.INVERSE=8]="INVERSE",e[e.INVISIBLE=16]="INVISIBLE"}(o||(o={}));var n=null,a=function(){function e(e){this._terminal=e,this._refreshRowsQueue=[],this._refreshFramesSkipped=0,this._refreshAnimationFrame=null,this._spanElementObjectPool=new s.DomElementObjectPool("span"),null===n&&(n=i(this._terminal.element)),this._spanElementObjectPool=new s.DomElementObjectPool("span")}return e.prototype.queueRefresh=function(e,t){this._refreshRowsQueue.push({start:e,end:t}),this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame(this._refreshLoop.bind(this)))},e.prototype._refreshLoop=function(){if(this._terminal.writeBuffer.length>0&&this._refreshFramesSkipped++<=5)this._refreshAnimationFrame=window.requestAnimationFrame(this._refreshLoop.bind(this));else{this._refreshFramesSkipped=0;var e,t;if(this._refreshRowsQueue.length>4)e=0,t=this._terminal.rows-1;else{e=this._refreshRowsQueue[0].start,t=this._refreshRowsQueue[0].end;for(var r=1;rt&&(t=this._refreshRowsQueue[r].end)}this._refreshRowsQueue=[],this._refreshAnimationFrame=null,this._refresh(e,t)}},e.prototype._refresh=function(e,t){var r;t-e>=this._terminal.rows/2&&(r=this._terminal.element.parentNode)&&this._terminal.element.removeChild(this._terminal.rowContainer);var i=this._terminal.cols,s=e;for(t>=this._terminal.rows&&(this._terminal.log("`end` is too large. Most likely a bad CSR."),t=this._terminal.rows-1);s<=t;s++){var a=s+this._terminal.ydisp,l=this._terminal.lines.get(a),h=void 0;h=this._terminal.y===s-(this._terminal.ybase-this._terminal.ydisp)&&this._terminal.cursorState&&!this._terminal.cursorHidden?this._terminal.x:-1;for(var c=this._terminal.defAttr,u=document.createDocumentFragment(),p="",d=void 0;this._terminal.children[s].children.length;){var f=this._terminal.children[s].children[0];this._terminal.children[s].removeChild(f),this._spanElementObjectPool.release(f)}for(var g=0;g>9&511,w=m>>18;if(w&o.BOLD&&(n||d.classList.add("xterm-bold"),C<8&&(C+=8)),w&o.UNDERLINE&&d.classList.add("xterm-underline"),w&o.BLINK&&d.classList.add("xterm-blink"),w&o.INVERSE){var S=_;_=C,C=S,1&w&&C<8&&(C+=8)}w&o.INVISIBLE&&d.classList.add("xterm-hidden"),w&o.INVERSE&&(257===_&&(_=15),256===C&&(C=0)),_<256&&d.classList.add("xterm-bg-color-"+_),C<256&&d.classList.add("xterm-color-"+C)}if(2===b)p+=''+y+"";else if(y.charCodeAt(0)>255)p+=''+y+"";else switch(y){case"&":p+="&";break;case"<":p+="<";break;case">":p+=">";break;default:p+=y<=" "?" ":y}c=m}}p&&!d&&(d=this._spanElementObjectPool.acquire()),d&&(p&&(d.innerHTML=p,p=""),u.appendChild(d),d=null),this._terminal.children[s].appendChild(u)}r&&this._terminal.element.appendChild(this._terminal.rowContainer),this._terminal.emit("refresh",{element:this._terminal.element,start:e,end:t})},e.prototype.refreshSelection=function(e,t){for(;this._terminal.selectionContainer.children.length;)this._terminal.selectionContainer.removeChild(this._terminal.selectionContainer.children[0]);if(e&&t){var r=e[1]-this._terminal.ydisp,i=t[1]-this._terminal.ydisp,o=Math.max(r,0),s=Math.min(i,this._terminal.rows-1);if(!(o>=this._terminal.rows||s<0)){var n=document.createDocumentFragment(),a=r===o?e[0]:0,l=o===s?t[0]:this._terminal.cols;n.appendChild(this._createSelectionElement(o,a,l));var h=s-o-1;if(n.appendChild(this._createSelectionElement(o+1,0,this._terminal.cols,h)),o!==s){var c=i===s?t[0]:this._terminal.cols;n.appendChild(this._createSelectionElement(s,0,c))}this._terminal.selectionContainer.appendChild(n)}}},e.prototype._createSelectionElement=function(e,t,r,i){void 0===i&&(i=1);var o=document.createElement("div");return o.style.height=i*this._terminal.charMeasure.height+"px",o.style.top=e*this._terminal.charMeasure.height+"px",o.style.left=t*this._terminal.charMeasure.width+"px",o.style.width=this._terminal.charMeasure.width*(r-t)+"px",o},e}();t.Renderer=a},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o,s=r(9),n=r(8),a=r(1),l=r(21),h=String.fromCharCode(160),c=new RegExp(h,"g");!function(e){e[e.NORMAL=0]="NORMAL",e[e.WORD=1]="WORD",e[e.LINE=2]="LINE"}(o||(o={}));var u=function(e){function t(t,r,i,s){var n=e.call(this)||this;return n._terminal=t,n._buffer=r,n._rowContainer=i,n._charMeasure=s,n._initListeners(),n.enable(),n._model=new l.SelectionModel(t),n._lastMouseDownTime=0,n._activeSelectionMode=o.NORMAL,n}return i(t,e),t.prototype._initListeners=function(){var e=this;this._bufferTrimListener=function(t){return e._onTrim(t)},this._mouseMoveListener=function(t){return e._onMouseMove(t)},this._mouseDownListener=function(t){return e._onMouseDown(t)},this._mouseUpListener=function(t){return e._onMouseUp(t)}},t.prototype.disable=function(){this.clearSelection(),this._buffer.off("trim",this._bufferTrimListener),this._rowContainer.removeEventListener("mousedown",this._mouseDownListener)},t.prototype.enable=function(){this._buffer.on("trim",this._bufferTrimListener),this._rowContainer.addEventListener("mousedown",this._mouseDownListener)},t.prototype.setBuffer=function(e){this._buffer=e,this.clearSelection()},Object.defineProperty(t.prototype,"hasSelection",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t)&&(e[0]!==t[0]||e[1]!==t[1])},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectionText",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";var r=e[1]===t[1]?t[0]:null,i=[];i.push(this._translateBufferLineToString(this._buffer.get(e[1]),!0,e[0],r));for(var o=e[1]+1;o<=t[1]-1;o++){var s=this._buffer.get(o),a=this._translateBufferLineToString(s,!0);s.isWrapped?i[i.length-1]+=a:i.push(a)}if(e[1]!==t[1]){var s=this._buffer.get(t[1]),a=this._translateBufferLineToString(s,!0,0,t[0]);s.isWrapped?i[i.length-1]+=a:i.push(a)}return i.map(function(e){return e.replace(c," ")}).join(n.isMSWindows?"\r\n":"\n")},enumerable:!0,configurable:!0}),t.prototype.clearSelection=function(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh()},t.prototype._translateBufferLineToString=function(e,t,r,i){void 0===r&&(r=0),void 0===i&&(i=null);for(var o="",s=r,n=i,a=0;a=a&&s--,i>=a&&n--)}var h=n||e.length;if(t){var c=o.search(/\s+$/);if(-1!==c&&(h=Math.min(h,c)),h<=s)return""}return o.substring(s,h)},t.prototype.refresh=function(e){var t=this;this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame(function(){return t._refresh()})),n.isLinux&&e&&this.selectionText.length&&this.emit("newselection",this.selectionText)},t.prototype._refresh=function(){this._refreshAnimationFrame=null,this.emit("refresh",{start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd})},t.prototype.selectAll=function(){this._model.isSelectAllActive=!0,this.refresh()},t.prototype._onTrim=function(e){this._model.onTrim(e)&&this.refresh()},t.prototype._getMouseBufferCoords=function(e){var t=s.getCoords(e,this._rowContainer,this._charMeasure,this._terminal.cols,this._terminal.rows,!0);return t[0]--,t[1]--,t[1]+=this._terminal.ydisp,t},t.prototype._getMouseEventScrollAmount=function(e){var t=s.getCoordsRelativeToElement(e,this._rowContainer)[1],r=this._terminal.rows*this._charMeasure.height;return t>=0&&t<=r?0:(t>r&&(t-=r),t=Math.min(Math.max(t,-50),50),(t/=50)/Math.abs(t)+Math.round(14*t))},t.prototype._onMouseDown=function(e){0===e.button&&(e.preventDefault(),this._dragScrollAmount=0,this._setMouseClickCount(e),e.shiftKey?this._onShiftClick(e):1===this._clickCount?this._onSingleClick(e):2===this._clickCount?this._onDoubleClick(e):3===this._clickCount&&this._onTripleClick(e),this._addMouseDownListeners(),this.refresh(!0))},t.prototype._addMouseDownListeners=function(){var e=this;this._rowContainer.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._rowContainer.ownerDocument.addEventListener("mouseup",this._mouseUpListener),this._dragScrollIntervalTimer=setInterval(function(){return e._dragScroll()},50)},t.prototype._removeMouseDownListeners=function(){this._rowContainer.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._rowContainer.ownerDocument.removeEventListener("mouseup",this._mouseUpListener),clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=null},t.prototype._onShiftClick=function(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))},t.prototype._onSingleClick=function(e){this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=o.NORMAL,this._model.selectionStart=this._getMouseBufferCoords(e),this._model.selectionStart&&(this._model.selectionEnd=null,0===this._buffer.get(this._model.selectionStart[1])[this._model.selectionStart[0]][2]&&this._model.selectionStart[0]++)},t.prototype._onDoubleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=o.WORD,this._selectWordAt(t))},t.prototype._onTripleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=o.LINE,this._selectLineAt(t[1]))},t.prototype._setMouseClickCount=function(e){var t=(new Date).getTime();(t-this._lastMouseDownTime>400||this._distanceFromLastMousePosition(e)>10)&&(this._clickCount=0),this._lastMouseDownTime=t,this._lastMousePosition=[e.pageX,e.pageY],this._clickCount++},t.prototype._distanceFromLastMousePosition=function(e){return Math.max(Math.abs(this._lastMousePosition[0]-e.pageX),Math.abs(this._lastMousePosition[1]-e.pageY))},t.prototype._onMouseMove=function(e){var t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),this._activeSelectionMode===o.LINE?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._terminal.cols-1:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]0?this._model.selectionEnd=[this._terminal.cols-1,this._terminal.ydisp+this._terminal.rows]:this._model.selectionEnd=[0,this._terminal.ydisp],this.refresh())},t.prototype._onMouseUp=function(e){this._removeMouseDownListeners()},t.prototype._convertViewportColToCharacterIndex=function(e,t){for(var r=t[0],i=0;t[0]>=i;i++)0===e[i][2]&&r--;return r},t.prototype._getWordAt=function(e){var t=this._buffer.get(e[1]),r=this._translateBufferLineToString(t,!1),i=this._convertViewportColToCharacterIndex(t,e),o=i,s=e[0]-o,n=0,a=0;if(" "===r.charAt(o)){for(;o>0&&" "===r.charAt(o-1);)o--;for(;i0&&!this._isCharWordSeparator(r.charAt(o-1));)0===t[l-1][2]&&(n++,l--),o--,l--;for(;i+1=0},t.prototype._selectLineAt=function(e){this._model.selectionStart=[0,e],this._model.selectionStartLength=this._terminal.cols},t}(a.EventEmitter);t.SelectionManager=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e){this._terminal=e,this.clearSelection()}return e.prototype.clearSelection=function(){this.selectionStart=null,this.selectionEnd=null,this.isSelectAllActive=!1,this.selectionStartLength=0},Object.defineProperty(e.prototype,"finalSelectionStart",{get:function(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"finalSelectionEnd",{get:function(){return this.isSelectAllActive?[this._terminal.cols,this._terminal.ybase+this._terminal.rows-1]:this.selectionStart?!this.selectionEnd||this.areSelectionValuesReversed()?[this.selectionStart[0]+this.selectionStartLength,this.selectionStart[1]]:this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]?[Math.max(this.selectionStart[0]+this.selectionStartLength,this.selectionEnd[0]),this.selectionEnd[1]]:this.selectionEnd:null},enumerable:!0,configurable:!0}),e.prototype.areSelectionValuesReversed=function(){var e=this.selectionStart,t=this.selectionEnd;return e[1]>t[1]||e[1]===t[1]&&e[0]>t[0]},e.prototype.onTrim=function(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)},e}();t.SelectionModel=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,r,i){var o=this;this.terminal=e,this.viewportElement=t,this.scrollArea=r,this.charMeasure=i,this.currentRowHeight=0,this.lastRecordedBufferLength=0,this.lastRecordedViewportHeight=0,this.terminal.on("scroll",this.syncScrollArea.bind(this)),this.terminal.on("resize",this.syncScrollArea.bind(this)),this.viewportElement.addEventListener("scroll",this.onScroll.bind(this)),setTimeout(function(){return o.syncScrollArea()},0)}return e.prototype.refresh=function(){if(this.charMeasure.height>0){var e=this.charMeasure.height!==this.currentRowHeight;e&&(this.currentRowHeight=this.charMeasure.height,this.viewportElement.style.lineHeight=this.charMeasure.height+"px",this.terminal.rowContainer.style.lineHeight=this.charMeasure.height+"px");var t=this.lastRecordedViewportHeight!==this.terminal.rows;(e||t)&&(this.lastRecordedViewportHeight=this.terminal.rows,this.viewportElement.style.height=this.charMeasure.height*this.terminal.rows+"px",this.terminal.selectionContainer.style.height=this.viewportElement.style.height),this.scrollArea.style.height=this.charMeasure.height*this.lastRecordedBufferLength+"px"}},e.prototype.syncScrollArea=function(){this.lastRecordedBufferLength!==this.terminal.lines.length?(this.lastRecordedBufferLength=this.terminal.lines.length,this.refresh()):this.lastRecordedViewportHeight!==this.terminal.rows?this.refresh():this.charMeasure.height!==this.currentRowHeight&&this.refresh();var e=this.terminal.ydisp*this.currentRowHeight;this.viewportElement.scrollTop!==e&&(this.viewportElement.scrollTop=e)},e.prototype.onScroll=function(e){var t=Math.round(this.viewportElement.scrollTop/this.currentRowHeight)-this.terminal.ydisp;this.terminal.scrollDisp(t,!0)},e.prototype.onWheel=function(e){if(0!==e.deltaY){var t=1;e.deltaMode===WheelEvent.DOM_DELTA_LINE?t=this.currentRowHeight:e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t=this.currentRowHeight*this.terminal.rows),this.viewportElement.scrollTop+=e.deltaY*t,e.preventDefault()}},e.prototype.onTouchStart=function(e){this.lastTouchY=e.touches[0].pageY},e.prototype.onTouchMove=function(e){var t=this.lastTouchY-e.touches[0].pageY;this.lastTouchY=e.touches[0].pageY,0!==t&&(this.viewportElement.scrollTop+=t,e.preventDefault())},e}();t.Viewport=i},function(e,t,r){"use strict";function i(e,t){return t?e.replace(/\r?\n/g,"\r"):e}function o(e,t){t.style.position="fixed",t.style.width="20px",t.style.height="20px",t.style.left=e.clientX-10+"px",t.style.top=e.clientY-10+"px",t.style.zIndex="1000",t.focus(),setTimeout(function(){t.style.position=null,t.style.width=null,t.style.height=null,t.style.left=null,t.style.top=null,t.style.zIndex=null},4)}Object.defineProperty(t,"__esModule",{value:!0}),t.prepareTextForTerminal=i,t.copyHandler=function(e,t,r){t.browser.isMSIE?window.clipboardData.setData("Text",r.selectionText):e.clipboardData.setData("text/plain",r.selectionText),e.preventDefault()},t.pasteHandler=function(e,t){e.stopPropagation();var r=function(r){return r=i(r,t.browser.isMSWindows),t.handler(r),t.textarea.value="",t.emit("paste",r),t.cancel(e)};t.browser.isMSIE?window.clipboardData&&r(window.clipboardData.getData("Text")):e.clipboardData&&r(e.clipboardData.getData("text/plain"))},t.moveTextAreaUnderMouseCursor=o,t.rightClickHandler=function(e,t,r){o(e,t),t.value=r.selectionText,t.select()}},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t,r){var i=e.call(this)||this;return i._document=t,i._parentElement=r,i}return i(t,e),Object.defineProperty(t.prototype,"width",{get:function(){return this._width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this._height},enumerable:!0,configurable:!0}),t.prototype.measure=function(){var e=this;this._measureElement?this._doMeasure():(this._measureElement=this._document.createElement("span"),this._measureElement.style.position="absolute",this._measureElement.style.top="0",this._measureElement.style.left="-9999em",this._measureElement.textContent="W",this._measureElement.setAttribute("aria-hidden","true"),this._parentElement.appendChild(this._measureElement),setTimeout(function(){return e._doMeasure()},0))},t.prototype._doMeasure=function(){var e=this._measureElement.getBoundingClientRect();0!==e.width&&0!==e.height&&(this._width===e.width&&this._height===e.height||(this._width=e.width,this._height=e.height,this.emit("charsizechanged")))},t}(r(1).EventEmitter);t.CharMeasure=o},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var r=e.call(this)||this;return r._array=new Array(t),r._startIndex=0,r._length=0,r}return i(t,e),Object.defineProperty(t.prototype,"maxLength",{get:function(){return this._array.length},set:function(e){for(var t=new Array(e),r=0;rthis._length)for(var t=this._length;t=e;o--)this._array[this._getCyclicIndex(o+r.length)]=this._array[this._getCyclicIndex(o)];for(var o=0;othis.maxLength){var s=this._length+r.length-this.maxLength;this._startIndex+=s,this._length=this.maxLength,this.emit("trim",s)}else this._length+=r.length}},t.prototype.trimStart=function(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.emit("trim",e)},t.prototype.shiftElements=function(e,t,r){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+r<0)throw new Error("Cannot shift elements in list beyond index 0");if(r>0){for(o=t-1;o>=0;o--)this.set(e+o+r,this.get(e+o));var i=e+t+r-this._length;if(i>0)for(this._length+=i;this._length>this.maxLength;)this._length--,this._startIndex++,this.emit("trim",1)}else for(var o=0;o=0}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(10),o=r(13),s=r(12),n=r(11),a=document.getElementById("terminal");if(null!==a){var l;l="hterm"==gotty_term?new i.Hterm(a):new o.Xterm(a);var h=("https:"==window.location.protocol?"wss://":"ws://")+window.location.host+window.location.pathname+"ws",c=window.location.search,u=new n.ConnectionFactory(h,s.protocols),p=new s.WebTTY(l,u,c,gotty_auth_token).open();window.addEventListener("unload",function(){p(),l.close()})}},function(e,t,r){function i(e){return r(o(e))}function o(e){var t=s[e];if(!(t+1))throw new Error("Cannot find module '"+e+"'.");return t}var s={"./attach/attach":4,"./attach/attach.js":4,"./attach/package.json":30,"./fit/fit":5,"./fit/fit.js":5,"./fit/package.json":31,"./fullscreen/fullscreen":6,"./fullscreen/fullscreen.css":32,"./fullscreen/fullscreen.js":6,"./fullscreen/package.json":33,"./terminado/package.json":34,"./terminado/terminado":7,"./terminado/terminado.js":7};i.keys=function(){return Object.keys(s)},i.resolve=o,e.exports=i,i.id=29},function(e,t){e.exports={name:"xterm.attach",main:"attach.js",private:!0}},function(e,t){e.exports={name:"xterm.fit",main:"fit.js",private:!0}},function(e,t){throw new Error("Module parse failed: /home/yudai/archive/products/2015/gotty/src/github.com/yudai/gotty/js/node_modules/xterm/lib/addons/fullscreen/fullscreen.css Unexpected token (1:0)\nYou may need an appropriate loader to handle this file type.\n| .xterm.fullscreen {\n| position: fixed;\n| top: 0;")},function(e,t){e.exports={name:"xterm.fullscreen",main:"fullscreen.js",private:!0}},function(e,t){e.exports={name:"xterm.terminado",main:"terminado.js",private:!0}}]); \ No newline at end of file +if(void 0!==i)throw new Error('Global "lib" object already exists.');var i={};i.runtimeDependencies_={},i.initCallbacks_=[],i.rtdep=function(e){var t;try{throw new Error}catch(e){var r=e.stack.split("\n");t=r.length>=3?r[2].replace(/^\s*at\s+/,""):r[1].replace(/^\s*global code@/,"")}for(var o=0;ot.length&&(t=t.repeat(e/t.length+1)),t.slice(0,e)+String(this))}),String.prototype.padEnd||(String.prototype.padEnd=function(e,t){return(e-=this.length)<=0?String(this):(void 0===t&&(t=" "),e>t.length&&(t=t.repeat(e/t.length+1)),String(this)+t.slice(0,e))}),i.colors={},i.colors.re_={hex16:/#([a-f0-9])([a-f0-9])([a-f0-9])/i,hex24:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/i,rgb:new RegExp("^/s*rgb/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*/)/s*$".replace(/\//g,"\\"),"i"),rgba:new RegExp("^/s*rgba/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*(?:,/s*(/d+(?:/./d+)?)/s*)/)/s*$".replace(/\//g,"\\"),"i"),rgbx:new RegExp("^/s*rgba?/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*(?:,/s*(/d+(?:/./d+)?)/s*)?/)/s*$".replace(/\//g,"\\"),"i"),x11rgb:/^\s*rgb:([a-f0-9]{1,4})\/([a-f0-9]{1,4})\/([a-f0-9]{1,4})\s*$/i,name:/[a-z][a-z0-9\s]+/},i.colors.rgbToX11=function(e){function t(e){return e=(257*Math.min(e,255)).toString(16),i.f.zpad(e,4)}var r=e.match(i.colors.re_.rgbx);return r?"rgb:"+t(r[1])+"/"+t(r[2])+"/"+t(r[3]):null},i.colors.x11HexToCSS=function(e){if(!e.startsWith("#"))return null;if(e=e.substr(1),-1==[3,6,9,12].indexOf(e.length))return null;if(e.match(/[^a-f0-9]/i))return null;var t=e.length/3,r=e.substr(0,t),o=e.substr(t,t),s=e.substr(t+t,t);return i.colors.arrayToRGBA([r,o,s].map(function(e){return e=parseInt(e,16),2==t?e:1==t?e<<4:e>>4*(t-2)}))},i.colors.x11ToCSS=function(e){var t=e.match(i.colors.re_.x11rgb);return t?(t.splice(0,1),i.colors.arrayToRGBA(t.map(function(e){return 1==e.length?parseInt(e+e,16):2==e.length?parseInt(e,16):(3==e.length&&(e+=e.substr(2)),Math.round(parseInt(e,16)/257))}))):e.startsWith("#")?i.colors.x11HexToCSS(e):i.colors.nameToRGB(e)},i.colors.hexToRGB=function(e){function t(e){4==e.length&&(e=e.replace(r,function(e,t,r,i){return"#"+t+t+r+r+i+i}));var t=e.match(o);return t?"rgb("+parseInt(t[1],16)+", "+parseInt(t[2],16)+", "+parseInt(t[3],16)+")":null}var r=i.colors.re_.hex16,o=i.colors.re_.hex24;if(e instanceof Array)for(var s=0;s3?e[3]:1;return"rgba("+e[0]+", "+e[1]+", "+e[2]+", "+t+")"},i.colors.setAlpha=function(e,t){var r=i.colors.crackRGB(e);return r[3]=t,i.colors.arrayToRGBA(r)},i.colors.mix=function(e,t,r){for(var o=i.colors.crackRGB(e),s=i.colors.crackRGB(t),n=0;n<4;++n){var a=s[n]-o[n];o[n]=Math.round(parseInt(o[n])+a*r)}return i.colors.arrayToRGBA(o)},i.colors.crackRGB=function(e){if(e.startsWith("rgba")){if(t=e.match(i.colors.re_.rgba))return t.shift(),t}else{var t=e.match(i.colors.re_.rgb);if(t)return t.shift(),t.push(1),t}return console.error("Couldn't crack: "+e),null},i.colors.nameToRGB=function(e){return e in i.colors.colorNames?i.colors.colorNames[e]:(e=e.toLowerCase())in i.colors.colorNames?i.colors.colorNames[e]:(e=e.replace(/\s+/g,""))in i.colors.colorNames?i.colors.colorNames[e]:null},i.colors.stockColorPalette=i.colors.hexToRGB(["#000000","#CC0000","#4E9A06","#C4A000","#3465A4","#75507B","#06989A","#D3D7CF","#555753","#EF2929","#00BA13","#FCE94F","#729FCF","#F200CB","#00B5BD","#EEEEEC","#000000","#00005F","#000087","#0000AF","#0000D7","#0000FF","#005F00","#005F5F","#005F87","#005FAF","#005FD7","#005FFF","#008700","#00875F","#008787","#0087AF","#0087D7","#0087FF","#00AF00","#00AF5F","#00AF87","#00AFAF","#00AFD7","#00AFFF","#00D700","#00D75F","#00D787","#00D7AF","#00D7D7","#00D7FF","#00FF00","#00FF5F","#00FF87","#00FFAF","#00FFD7","#00FFFF","#5F0000","#5F005F","#5F0087","#5F00AF","#5F00D7","#5F00FF","#5F5F00","#5F5F5F","#5F5F87","#5F5FAF","#5F5FD7","#5F5FFF","#5F8700","#5F875F","#5F8787","#5F87AF","#5F87D7","#5F87FF","#5FAF00","#5FAF5F","#5FAF87","#5FAFAF","#5FAFD7","#5FAFFF","#5FD700","#5FD75F","#5FD787","#5FD7AF","#5FD7D7","#5FD7FF","#5FFF00","#5FFF5F","#5FFF87","#5FFFAF","#5FFFD7","#5FFFFF","#870000","#87005F","#870087","#8700AF","#8700D7","#8700FF","#875F00","#875F5F","#875F87","#875FAF","#875FD7","#875FFF","#878700","#87875F","#878787","#8787AF","#8787D7","#8787FF","#87AF00","#87AF5F","#87AF87","#87AFAF","#87AFD7","#87AFFF","#87D700","#87D75F","#87D787","#87D7AF","#87D7D7","#87D7FF","#87FF00","#87FF5F","#87FF87","#87FFAF","#87FFD7","#87FFFF","#AF0000","#AF005F","#AF0087","#AF00AF","#AF00D7","#AF00FF","#AF5F00","#AF5F5F","#AF5F87","#AF5FAF","#AF5FD7","#AF5FFF","#AF8700","#AF875F","#AF8787","#AF87AF","#AF87D7","#AF87FF","#AFAF00","#AFAF5F","#AFAF87","#AFAFAF","#AFAFD7","#AFAFFF","#AFD700","#AFD75F","#AFD787","#AFD7AF","#AFD7D7","#AFD7FF","#AFFF00","#AFFF5F","#AFFF87","#AFFFAF","#AFFFD7","#AFFFFF","#D70000","#D7005F","#D70087","#D700AF","#D700D7","#D700FF","#D75F00","#D75F5F","#D75F87","#D75FAF","#D75FD7","#D75FFF","#D78700","#D7875F","#D78787","#D787AF","#D787D7","#D787FF","#D7AF00","#D7AF5F","#D7AF87","#D7AFAF","#D7AFD7","#D7AFFF","#D7D700","#D7D75F","#D7D787","#D7D7AF","#D7D7D7","#D7D7FF","#D7FF00","#D7FF5F","#D7FF87","#D7FFAF","#D7FFD7","#D7FFFF","#FF0000","#FF005F","#FF0087","#FF00AF","#FF00D7","#FF00FF","#FF5F00","#FF5F5F","#FF5F87","#FF5FAF","#FF5FD7","#FF5FFF","#FF8700","#FF875F","#FF8787","#FF87AF","#FF87D7","#FF87FF","#FFAF00","#FFAF5F","#FFAF87","#FFAFAF","#FFAFD7","#FFAFFF","#FFD700","#FFD75F","#FFD787","#FFD7AF","#FFD7D7","#FFD7FF","#FFFF00","#FFFF5F","#FFFF87","#FFFFAF","#FFFFD7","#FFFFFF","#080808","#121212","#1C1C1C","#262626","#303030","#3A3A3A","#444444","#4E4E4E","#585858","#626262","#6C6C6C","#767676","#808080","#8A8A8A","#949494","#9E9E9E","#A8A8A8","#B2B2B2","#BCBCBC","#C6C6C6","#D0D0D0","#DADADA","#E4E4E4","#EEEEEE"]),i.colors.colorPalette=i.colors.stockColorPalette,i.colors.colorNames={aliceblue:"rgb(240, 248, 255)",antiquewhite:"rgb(250, 235, 215)",antiquewhite1:"rgb(255, 239, 219)",antiquewhite2:"rgb(238, 223, 204)",antiquewhite3:"rgb(205, 192, 176)",antiquewhite4:"rgb(139, 131, 120)",aquamarine:"rgb(127, 255, 212)",aquamarine1:"rgb(127, 255, 212)",aquamarine2:"rgb(118, 238, 198)",aquamarine3:"rgb(102, 205, 170)",aquamarine4:"rgb(69, 139, 116)",azure:"rgb(240, 255, 255)",azure1:"rgb(240, 255, 255)",azure2:"rgb(224, 238, 238)",azure3:"rgb(193, 205, 205)",azure4:"rgb(131, 139, 139)",beige:"rgb(245, 245, 220)",bisque:"rgb(255, 228, 196)",bisque1:"rgb(255, 228, 196)",bisque2:"rgb(238, 213, 183)",bisque3:"rgb(205, 183, 158)",bisque4:"rgb(139, 125, 107)",black:"rgb(0, 0, 0)",blanchedalmond:"rgb(255, 235, 205)",blue:"rgb(0, 0, 255)",blue1:"rgb(0, 0, 255)",blue2:"rgb(0, 0, 238)",blue3:"rgb(0, 0, 205)",blue4:"rgb(0, 0, 139)",blueviolet:"rgb(138, 43, 226)",brown:"rgb(165, 42, 42)",brown1:"rgb(255, 64, 64)",brown2:"rgb(238, 59, 59)",brown3:"rgb(205, 51, 51)",brown4:"rgb(139, 35, 35)",burlywood:"rgb(222, 184, 135)",burlywood1:"rgb(255, 211, 155)",burlywood2:"rgb(238, 197, 145)",burlywood3:"rgb(205, 170, 125)",burlywood4:"rgb(139, 115, 85)",cadetblue:"rgb(95, 158, 160)",cadetblue1:"rgb(152, 245, 255)",cadetblue2:"rgb(142, 229, 238)",cadetblue3:"rgb(122, 197, 205)",cadetblue4:"rgb(83, 134, 139)",chartreuse:"rgb(127, 255, 0)",chartreuse1:"rgb(127, 255, 0)",chartreuse2:"rgb(118, 238, 0)",chartreuse3:"rgb(102, 205, 0)",chartreuse4:"rgb(69, 139, 0)",chocolate:"rgb(210, 105, 30)",chocolate1:"rgb(255, 127, 36)",chocolate2:"rgb(238, 118, 33)",chocolate3:"rgb(205, 102, 29)",chocolate4:"rgb(139, 69, 19)",coral:"rgb(255, 127, 80)",coral1:"rgb(255, 114, 86)",coral2:"rgb(238, 106, 80)",coral3:"rgb(205, 91, 69)",coral4:"rgb(139, 62, 47)",cornflowerblue:"rgb(100, 149, 237)",cornsilk:"rgb(255, 248, 220)",cornsilk1:"rgb(255, 248, 220)",cornsilk2:"rgb(238, 232, 205)",cornsilk3:"rgb(205, 200, 177)",cornsilk4:"rgb(139, 136, 120)",cyan:"rgb(0, 255, 255)",cyan1:"rgb(0, 255, 255)",cyan2:"rgb(0, 238, 238)",cyan3:"rgb(0, 205, 205)",cyan4:"rgb(0, 139, 139)",darkblue:"rgb(0, 0, 139)",darkcyan:"rgb(0, 139, 139)",darkgoldenrod:"rgb(184, 134, 11)",darkgoldenrod1:"rgb(255, 185, 15)",darkgoldenrod2:"rgb(238, 173, 14)",darkgoldenrod3:"rgb(205, 149, 12)",darkgoldenrod4:"rgb(139, 101, 8)",darkgray:"rgb(169, 169, 169)",darkgreen:"rgb(0, 100, 0)",darkgrey:"rgb(169, 169, 169)",darkkhaki:"rgb(189, 183, 107)",darkmagenta:"rgb(139, 0, 139)",darkolivegreen:"rgb(85, 107, 47)",darkolivegreen1:"rgb(202, 255, 112)",darkolivegreen2:"rgb(188, 238, 104)",darkolivegreen3:"rgb(162, 205, 90)",darkolivegreen4:"rgb(110, 139, 61)",darkorange:"rgb(255, 140, 0)",darkorange1:"rgb(255, 127, 0)",darkorange2:"rgb(238, 118, 0)",darkorange3:"rgb(205, 102, 0)",darkorange4:"rgb(139, 69, 0)",darkorchid:"rgb(153, 50, 204)",darkorchid1:"rgb(191, 62, 255)",darkorchid2:"rgb(178, 58, 238)",darkorchid3:"rgb(154, 50, 205)",darkorchid4:"rgb(104, 34, 139)",darkred:"rgb(139, 0, 0)",darksalmon:"rgb(233, 150, 122)",darkseagreen:"rgb(143, 188, 143)",darkseagreen1:"rgb(193, 255, 193)",darkseagreen2:"rgb(180, 238, 180)",darkseagreen3:"rgb(155, 205, 155)",darkseagreen4:"rgb(105, 139, 105)",darkslateblue:"rgb(72, 61, 139)",darkslategray:"rgb(47, 79, 79)",darkslategray1:"rgb(151, 255, 255)",darkslategray2:"rgb(141, 238, 238)",darkslategray3:"rgb(121, 205, 205)",darkslategray4:"rgb(82, 139, 139)",darkslategrey:"rgb(47, 79, 79)",darkturquoise:"rgb(0, 206, 209)",darkviolet:"rgb(148, 0, 211)",debianred:"rgb(215, 7, 81)",deeppink:"rgb(255, 20, 147)",deeppink1:"rgb(255, 20, 147)",deeppink2:"rgb(238, 18, 137)",deeppink3:"rgb(205, 16, 118)",deeppink4:"rgb(139, 10, 80)",deepskyblue:"rgb(0, 191, 255)",deepskyblue1:"rgb(0, 191, 255)",deepskyblue2:"rgb(0, 178, 238)",deepskyblue3:"rgb(0, 154, 205)",deepskyblue4:"rgb(0, 104, 139)",dimgray:"rgb(105, 105, 105)",dimgrey:"rgb(105, 105, 105)",dodgerblue:"rgb(30, 144, 255)",dodgerblue1:"rgb(30, 144, 255)",dodgerblue2:"rgb(28, 134, 238)",dodgerblue3:"rgb(24, 116, 205)",dodgerblue4:"rgb(16, 78, 139)",firebrick:"rgb(178, 34, 34)",firebrick1:"rgb(255, 48, 48)",firebrick2:"rgb(238, 44, 44)",firebrick3:"rgb(205, 38, 38)",firebrick4:"rgb(139, 26, 26)",floralwhite:"rgb(255, 250, 240)",forestgreen:"rgb(34, 139, 34)",gainsboro:"rgb(220, 220, 220)",ghostwhite:"rgb(248, 248, 255)",gold:"rgb(255, 215, 0)",gold1:"rgb(255, 215, 0)",gold2:"rgb(238, 201, 0)",gold3:"rgb(205, 173, 0)",gold4:"rgb(139, 117, 0)",goldenrod:"rgb(218, 165, 32)",goldenrod1:"rgb(255, 193, 37)",goldenrod2:"rgb(238, 180, 34)",goldenrod3:"rgb(205, 155, 29)",goldenrod4:"rgb(139, 105, 20)",gray:"rgb(190, 190, 190)",gray0:"rgb(0, 0, 0)",gray1:"rgb(3, 3, 3)",gray10:"rgb(26, 26, 26)",gray100:"rgb(255, 255, 255)",gray11:"rgb(28, 28, 28)",gray12:"rgb(31, 31, 31)",gray13:"rgb(33, 33, 33)",gray14:"rgb(36, 36, 36)",gray15:"rgb(38, 38, 38)",gray16:"rgb(41, 41, 41)",gray17:"rgb(43, 43, 43)",gray18:"rgb(46, 46, 46)",gray19:"rgb(48, 48, 48)",gray2:"rgb(5, 5, 5)",gray20:"rgb(51, 51, 51)",gray21:"rgb(54, 54, 54)",gray22:"rgb(56, 56, 56)",gray23:"rgb(59, 59, 59)",gray24:"rgb(61, 61, 61)",gray25:"rgb(64, 64, 64)",gray26:"rgb(66, 66, 66)",gray27:"rgb(69, 69, 69)",gray28:"rgb(71, 71, 71)",gray29:"rgb(74, 74, 74)",gray3:"rgb(8, 8, 8)",gray30:"rgb(77, 77, 77)",gray31:"rgb(79, 79, 79)",gray32:"rgb(82, 82, 82)",gray33:"rgb(84, 84, 84)",gray34:"rgb(87, 87, 87)",gray35:"rgb(89, 89, 89)",gray36:"rgb(92, 92, 92)",gray37:"rgb(94, 94, 94)",gray38:"rgb(97, 97, 97)",gray39:"rgb(99, 99, 99)",gray4:"rgb(10, 10, 10)",gray40:"rgb(102, 102, 102)",gray41:"rgb(105, 105, 105)",gray42:"rgb(107, 107, 107)",gray43:"rgb(110, 110, 110)",gray44:"rgb(112, 112, 112)",gray45:"rgb(115, 115, 115)",gray46:"rgb(117, 117, 117)",gray47:"rgb(120, 120, 120)",gray48:"rgb(122, 122, 122)",gray49:"rgb(125, 125, 125)",gray5:"rgb(13, 13, 13)",gray50:"rgb(127, 127, 127)",gray51:"rgb(130, 130, 130)",gray52:"rgb(133, 133, 133)",gray53:"rgb(135, 135, 135)",gray54:"rgb(138, 138, 138)",gray55:"rgb(140, 140, 140)",gray56:"rgb(143, 143, 143)",gray57:"rgb(145, 145, 145)",gray58:"rgb(148, 148, 148)",gray59:"rgb(150, 150, 150)",gray6:"rgb(15, 15, 15)",gray60:"rgb(153, 153, 153)",gray61:"rgb(156, 156, 156)",gray62:"rgb(158, 158, 158)",gray63:"rgb(161, 161, 161)",gray64:"rgb(163, 163, 163)",gray65:"rgb(166, 166, 166)",gray66:"rgb(168, 168, 168)",gray67:"rgb(171, 171, 171)",gray68:"rgb(173, 173, 173)",gray69:"rgb(176, 176, 176)",gray7:"rgb(18, 18, 18)",gray70:"rgb(179, 179, 179)",gray71:"rgb(181, 181, 181)",gray72:"rgb(184, 184, 184)",gray73:"rgb(186, 186, 186)",gray74:"rgb(189, 189, 189)",gray75:"rgb(191, 191, 191)",gray76:"rgb(194, 194, 194)",gray77:"rgb(196, 196, 196)",gray78:"rgb(199, 199, 199)",gray79:"rgb(201, 201, 201)",gray8:"rgb(20, 20, 20)",gray80:"rgb(204, 204, 204)",gray81:"rgb(207, 207, 207)",gray82:"rgb(209, 209, 209)",gray83:"rgb(212, 212, 212)",gray84:"rgb(214, 214, 214)",gray85:"rgb(217, 217, 217)",gray86:"rgb(219, 219, 219)",gray87:"rgb(222, 222, 222)",gray88:"rgb(224, 224, 224)",gray89:"rgb(227, 227, 227)",gray9:"rgb(23, 23, 23)",gray90:"rgb(229, 229, 229)",gray91:"rgb(232, 232, 232)",gray92:"rgb(235, 235, 235)",gray93:"rgb(237, 237, 237)",gray94:"rgb(240, 240, 240)",gray95:"rgb(242, 242, 242)",gray96:"rgb(245, 245, 245)",gray97:"rgb(247, 247, 247)",gray98:"rgb(250, 250, 250)",gray99:"rgb(252, 252, 252)",green:"rgb(0, 255, 0)",green1:"rgb(0, 255, 0)",green2:"rgb(0, 238, 0)",green3:"rgb(0, 205, 0)",green4:"rgb(0, 139, 0)",greenyellow:"rgb(173, 255, 47)",grey:"rgb(190, 190, 190)",grey0:"rgb(0, 0, 0)",grey1:"rgb(3, 3, 3)",grey10:"rgb(26, 26, 26)",grey100:"rgb(255, 255, 255)",grey11:"rgb(28, 28, 28)",grey12:"rgb(31, 31, 31)",grey13:"rgb(33, 33, 33)",grey14:"rgb(36, 36, 36)",grey15:"rgb(38, 38, 38)",grey16:"rgb(41, 41, 41)",grey17:"rgb(43, 43, 43)",grey18:"rgb(46, 46, 46)",grey19:"rgb(48, 48, 48)",grey2:"rgb(5, 5, 5)",grey20:"rgb(51, 51, 51)",grey21:"rgb(54, 54, 54)",grey22:"rgb(56, 56, 56)",grey23:"rgb(59, 59, 59)",grey24:"rgb(61, 61, 61)",grey25:"rgb(64, 64, 64)",grey26:"rgb(66, 66, 66)",grey27:"rgb(69, 69, 69)",grey28:"rgb(71, 71, 71)",grey29:"rgb(74, 74, 74)",grey3:"rgb(8, 8, 8)",grey30:"rgb(77, 77, 77)",grey31:"rgb(79, 79, 79)",grey32:"rgb(82, 82, 82)",grey33:"rgb(84, 84, 84)",grey34:"rgb(87, 87, 87)",grey35:"rgb(89, 89, 89)",grey36:"rgb(92, 92, 92)",grey37:"rgb(94, 94, 94)",grey38:"rgb(97, 97, 97)",grey39:"rgb(99, 99, 99)",grey4:"rgb(10, 10, 10)",grey40:"rgb(102, 102, 102)",grey41:"rgb(105, 105, 105)",grey42:"rgb(107, 107, 107)",grey43:"rgb(110, 110, 110)",grey44:"rgb(112, 112, 112)",grey45:"rgb(115, 115, 115)",grey46:"rgb(117, 117, 117)",grey47:"rgb(120, 120, 120)",grey48:"rgb(122, 122, 122)",grey49:"rgb(125, 125, 125)",grey5:"rgb(13, 13, 13)",grey50:"rgb(127, 127, 127)",grey51:"rgb(130, 130, 130)",grey52:"rgb(133, 133, 133)",grey53:"rgb(135, 135, 135)",grey54:"rgb(138, 138, 138)",grey55:"rgb(140, 140, 140)",grey56:"rgb(143, 143, 143)",grey57:"rgb(145, 145, 145)",grey58:"rgb(148, 148, 148)",grey59:"rgb(150, 150, 150)",grey6:"rgb(15, 15, 15)",grey60:"rgb(153, 153, 153)",grey61:"rgb(156, 156, 156)",grey62:"rgb(158, 158, 158)",grey63:"rgb(161, 161, 161)",grey64:"rgb(163, 163, 163)",grey65:"rgb(166, 166, 166)",grey66:"rgb(168, 168, 168)",grey67:"rgb(171, 171, 171)",grey68:"rgb(173, 173, 173)",grey69:"rgb(176, 176, 176)",grey7:"rgb(18, 18, 18)",grey70:"rgb(179, 179, 179)",grey71:"rgb(181, 181, 181)",grey72:"rgb(184, 184, 184)",grey73:"rgb(186, 186, 186)",grey74:"rgb(189, 189, 189)",grey75:"rgb(191, 191, 191)",grey76:"rgb(194, 194, 194)",grey77:"rgb(196, 196, 196)",grey78:"rgb(199, 199, 199)",grey79:"rgb(201, 201, 201)",grey8:"rgb(20, 20, 20)",grey80:"rgb(204, 204, 204)",grey81:"rgb(207, 207, 207)",grey82:"rgb(209, 209, 209)",grey83:"rgb(212, 212, 212)",grey84:"rgb(214, 214, 214)",grey85:"rgb(217, 217, 217)",grey86:"rgb(219, 219, 219)",grey87:"rgb(222, 222, 222)",grey88:"rgb(224, 224, 224)",grey89:"rgb(227, 227, 227)",grey9:"rgb(23, 23, 23)",grey90:"rgb(229, 229, 229)",grey91:"rgb(232, 232, 232)",grey92:"rgb(235, 235, 235)",grey93:"rgb(237, 237, 237)",grey94:"rgb(240, 240, 240)",grey95:"rgb(242, 242, 242)",grey96:"rgb(245, 245, 245)",grey97:"rgb(247, 247, 247)",grey98:"rgb(250, 250, 250)",grey99:"rgb(252, 252, 252)",honeydew:"rgb(240, 255, 240)",honeydew1:"rgb(240, 255, 240)",honeydew2:"rgb(224, 238, 224)",honeydew3:"rgb(193, 205, 193)",honeydew4:"rgb(131, 139, 131)",hotpink:"rgb(255, 105, 180)",hotpink1:"rgb(255, 110, 180)",hotpink2:"rgb(238, 106, 167)",hotpink3:"rgb(205, 96, 144)",hotpink4:"rgb(139, 58, 98)",indianred:"rgb(205, 92, 92)",indianred1:"rgb(255, 106, 106)",indianred2:"rgb(238, 99, 99)",indianred3:"rgb(205, 85, 85)",indianred4:"rgb(139, 58, 58)",ivory:"rgb(255, 255, 240)",ivory1:"rgb(255, 255, 240)",ivory2:"rgb(238, 238, 224)",ivory3:"rgb(205, 205, 193)",ivory4:"rgb(139, 139, 131)",khaki:"rgb(240, 230, 140)",khaki1:"rgb(255, 246, 143)",khaki2:"rgb(238, 230, 133)",khaki3:"rgb(205, 198, 115)",khaki4:"rgb(139, 134, 78)",lavender:"rgb(230, 230, 250)",lavenderblush:"rgb(255, 240, 245)",lavenderblush1:"rgb(255, 240, 245)",lavenderblush2:"rgb(238, 224, 229)",lavenderblush3:"rgb(205, 193, 197)",lavenderblush4:"rgb(139, 131, 134)",lawngreen:"rgb(124, 252, 0)",lemonchiffon:"rgb(255, 250, 205)",lemonchiffon1:"rgb(255, 250, 205)",lemonchiffon2:"rgb(238, 233, 191)",lemonchiffon3:"rgb(205, 201, 165)",lemonchiffon4:"rgb(139, 137, 112)",lightblue:"rgb(173, 216, 230)",lightblue1:"rgb(191, 239, 255)",lightblue2:"rgb(178, 223, 238)",lightblue3:"rgb(154, 192, 205)",lightblue4:"rgb(104, 131, 139)",lightcoral:"rgb(240, 128, 128)",lightcyan:"rgb(224, 255, 255)",lightcyan1:"rgb(224, 255, 255)",lightcyan2:"rgb(209, 238, 238)",lightcyan3:"rgb(180, 205, 205)",lightcyan4:"rgb(122, 139, 139)",lightgoldenrod:"rgb(238, 221, 130)",lightgoldenrod1:"rgb(255, 236, 139)",lightgoldenrod2:"rgb(238, 220, 130)",lightgoldenrod3:"rgb(205, 190, 112)",lightgoldenrod4:"rgb(139, 129, 76)",lightgoldenrodyellow:"rgb(250, 250, 210)",lightgray:"rgb(211, 211, 211)",lightgreen:"rgb(144, 238, 144)",lightgrey:"rgb(211, 211, 211)",lightpink:"rgb(255, 182, 193)",lightpink1:"rgb(255, 174, 185)",lightpink2:"rgb(238, 162, 173)",lightpink3:"rgb(205, 140, 149)",lightpink4:"rgb(139, 95, 101)",lightsalmon:"rgb(255, 160, 122)",lightsalmon1:"rgb(255, 160, 122)",lightsalmon2:"rgb(238, 149, 114)",lightsalmon3:"rgb(205, 129, 98)",lightsalmon4:"rgb(139, 87, 66)",lightseagreen:"rgb(32, 178, 170)",lightskyblue:"rgb(135, 206, 250)",lightskyblue1:"rgb(176, 226, 255)",lightskyblue2:"rgb(164, 211, 238)",lightskyblue3:"rgb(141, 182, 205)",lightskyblue4:"rgb(96, 123, 139)",lightslateblue:"rgb(132, 112, 255)",lightslategray:"rgb(119, 136, 153)",lightslategrey:"rgb(119, 136, 153)",lightsteelblue:"rgb(176, 196, 222)",lightsteelblue1:"rgb(202, 225, 255)",lightsteelblue2:"rgb(188, 210, 238)",lightsteelblue3:"rgb(162, 181, 205)",lightsteelblue4:"rgb(110, 123, 139)",lightyellow:"rgb(255, 255, 224)",lightyellow1:"rgb(255, 255, 224)",lightyellow2:"rgb(238, 238, 209)",lightyellow3:"rgb(205, 205, 180)",lightyellow4:"rgb(139, 139, 122)",limegreen:"rgb(50, 205, 50)",linen:"rgb(250, 240, 230)",magenta:"rgb(255, 0, 255)",magenta1:"rgb(255, 0, 255)",magenta2:"rgb(238, 0, 238)",magenta3:"rgb(205, 0, 205)",magenta4:"rgb(139, 0, 139)",maroon:"rgb(176, 48, 96)",maroon1:"rgb(255, 52, 179)",maroon2:"rgb(238, 48, 167)",maroon3:"rgb(205, 41, 144)",maroon4:"rgb(139, 28, 98)",mediumaquamarine:"rgb(102, 205, 170)",mediumblue:"rgb(0, 0, 205)",mediumorchid:"rgb(186, 85, 211)",mediumorchid1:"rgb(224, 102, 255)",mediumorchid2:"rgb(209, 95, 238)",mediumorchid3:"rgb(180, 82, 205)",mediumorchid4:"rgb(122, 55, 139)",mediumpurple:"rgb(147, 112, 219)",mediumpurple1:"rgb(171, 130, 255)",mediumpurple2:"rgb(159, 121, 238)",mediumpurple3:"rgb(137, 104, 205)",mediumpurple4:"rgb(93, 71, 139)",mediumseagreen:"rgb(60, 179, 113)",mediumslateblue:"rgb(123, 104, 238)",mediumspringgreen:"rgb(0, 250, 154)",mediumturquoise:"rgb(72, 209, 204)",mediumvioletred:"rgb(199, 21, 133)",midnightblue:"rgb(25, 25, 112)",mintcream:"rgb(245, 255, 250)",mistyrose:"rgb(255, 228, 225)",mistyrose1:"rgb(255, 228, 225)",mistyrose2:"rgb(238, 213, 210)",mistyrose3:"rgb(205, 183, 181)",mistyrose4:"rgb(139, 125, 123)",moccasin:"rgb(255, 228, 181)",navajowhite:"rgb(255, 222, 173)",navajowhite1:"rgb(255, 222, 173)",navajowhite2:"rgb(238, 207, 161)",navajowhite3:"rgb(205, 179, 139)",navajowhite4:"rgb(139, 121, 94)",navy:"rgb(0, 0, 128)",navyblue:"rgb(0, 0, 128)",oldlace:"rgb(253, 245, 230)",olivedrab:"rgb(107, 142, 35)",olivedrab1:"rgb(192, 255, 62)",olivedrab2:"rgb(179, 238, 58)",olivedrab3:"rgb(154, 205, 50)",olivedrab4:"rgb(105, 139, 34)",orange:"rgb(255, 165, 0)",orange1:"rgb(255, 165, 0)",orange2:"rgb(238, 154, 0)",orange3:"rgb(205, 133, 0)",orange4:"rgb(139, 90, 0)",orangered:"rgb(255, 69, 0)",orangered1:"rgb(255, 69, 0)",orangered2:"rgb(238, 64, 0)",orangered3:"rgb(205, 55, 0)",orangered4:"rgb(139, 37, 0)",orchid:"rgb(218, 112, 214)",orchid1:"rgb(255, 131, 250)",orchid2:"rgb(238, 122, 233)",orchid3:"rgb(205, 105, 201)",orchid4:"rgb(139, 71, 137)",palegoldenrod:"rgb(238, 232, 170)",palegreen:"rgb(152, 251, 152)",palegreen1:"rgb(154, 255, 154)",palegreen2:"rgb(144, 238, 144)",palegreen3:"rgb(124, 205, 124)",palegreen4:"rgb(84, 139, 84)",paleturquoise:"rgb(175, 238, 238)",paleturquoise1:"rgb(187, 255, 255)",paleturquoise2:"rgb(174, 238, 238)",paleturquoise3:"rgb(150, 205, 205)",paleturquoise4:"rgb(102, 139, 139)",palevioletred:"rgb(219, 112, 147)",palevioletred1:"rgb(255, 130, 171)",palevioletred2:"rgb(238, 121, 159)",palevioletred3:"rgb(205, 104, 137)",palevioletred4:"rgb(139, 71, 93)",papayawhip:"rgb(255, 239, 213)",peachpuff:"rgb(255, 218, 185)",peachpuff1:"rgb(255, 218, 185)",peachpuff2:"rgb(238, 203, 173)",peachpuff3:"rgb(205, 175, 149)",peachpuff4:"rgb(139, 119, 101)",peru:"rgb(205, 133, 63)",pink:"rgb(255, 192, 203)",pink1:"rgb(255, 181, 197)",pink2:"rgb(238, 169, 184)",pink3:"rgb(205, 145, 158)",pink4:"rgb(139, 99, 108)",plum:"rgb(221, 160, 221)",plum1:"rgb(255, 187, 255)",plum2:"rgb(238, 174, 238)",plum3:"rgb(205, 150, 205)",plum4:"rgb(139, 102, 139)",powderblue:"rgb(176, 224, 230)",purple:"rgb(160, 32, 240)",purple1:"rgb(155, 48, 255)",purple2:"rgb(145, 44, 238)",purple3:"rgb(125, 38, 205)",purple4:"rgb(85, 26, 139)",red:"rgb(255, 0, 0)",red1:"rgb(255, 0, 0)",red2:"rgb(238, 0, 0)",red3:"rgb(205, 0, 0)",red4:"rgb(139, 0, 0)",rosybrown:"rgb(188, 143, 143)",rosybrown1:"rgb(255, 193, 193)",rosybrown2:"rgb(238, 180, 180)",rosybrown3:"rgb(205, 155, 155)",rosybrown4:"rgb(139, 105, 105)",royalblue:"rgb(65, 105, 225)",royalblue1:"rgb(72, 118, 255)",royalblue2:"rgb(67, 110, 238)",royalblue3:"rgb(58, 95, 205)",royalblue4:"rgb(39, 64, 139)",saddlebrown:"rgb(139, 69, 19)",salmon:"rgb(250, 128, 114)",salmon1:"rgb(255, 140, 105)",salmon2:"rgb(238, 130, 98)",salmon3:"rgb(205, 112, 84)",salmon4:"rgb(139, 76, 57)",sandybrown:"rgb(244, 164, 96)",seagreen:"rgb(46, 139, 87)",seagreen1:"rgb(84, 255, 159)",seagreen2:"rgb(78, 238, 148)",seagreen3:"rgb(67, 205, 128)",seagreen4:"rgb(46, 139, 87)",seashell:"rgb(255, 245, 238)",seashell1:"rgb(255, 245, 238)",seashell2:"rgb(238, 229, 222)",seashell3:"rgb(205, 197, 191)",seashell4:"rgb(139, 134, 130)",sienna:"rgb(160, 82, 45)",sienna1:"rgb(255, 130, 71)",sienna2:"rgb(238, 121, 66)",sienna3:"rgb(205, 104, 57)",sienna4:"rgb(139, 71, 38)",skyblue:"rgb(135, 206, 235)",skyblue1:"rgb(135, 206, 255)",skyblue2:"rgb(126, 192, 238)",skyblue3:"rgb(108, 166, 205)",skyblue4:"rgb(74, 112, 139)",slateblue:"rgb(106, 90, 205)",slateblue1:"rgb(131, 111, 255)",slateblue2:"rgb(122, 103, 238)",slateblue3:"rgb(105, 89, 205)",slateblue4:"rgb(71, 60, 139)",slategray:"rgb(112, 128, 144)",slategray1:"rgb(198, 226, 255)",slategray2:"rgb(185, 211, 238)",slategray3:"rgb(159, 182, 205)",slategray4:"rgb(108, 123, 139)",slategrey:"rgb(112, 128, 144)",snow:"rgb(255, 250, 250)",snow1:"rgb(255, 250, 250)",snow2:"rgb(238, 233, 233)",snow3:"rgb(205, 201, 201)",snow4:"rgb(139, 137, 137)",springgreen:"rgb(0, 255, 127)",springgreen1:"rgb(0, 255, 127)",springgreen2:"rgb(0, 238, 118)",springgreen3:"rgb(0, 205, 102)",springgreen4:"rgb(0, 139, 69)",steelblue:"rgb(70, 130, 180)",steelblue1:"rgb(99, 184, 255)",steelblue2:"rgb(92, 172, 238)",steelblue3:"rgb(79, 148, 205)",steelblue4:"rgb(54, 100, 139)",tan:"rgb(210, 180, 140)",tan1:"rgb(255, 165, 79)",tan2:"rgb(238, 154, 73)",tan3:"rgb(205, 133, 63)",tan4:"rgb(139, 90, 43)",thistle:"rgb(216, 191, 216)",thistle1:"rgb(255, 225, 255)",thistle2:"rgb(238, 210, 238)",thistle3:"rgb(205, 181, 205)",thistle4:"rgb(139, 123, 139)",tomato:"rgb(255, 99, 71)",tomato1:"rgb(255, 99, 71)",tomato2:"rgb(238, 92, 66)",tomato3:"rgb(205, 79, 57)",tomato4:"rgb(139, 54, 38)",turquoise:"rgb(64, 224, 208)",turquoise1:"rgb(0, 245, 255)",turquoise2:"rgb(0, 229, 238)",turquoise3:"rgb(0, 197, 205)",turquoise4:"rgb(0, 134, 139)",violet:"rgb(238, 130, 238)",violetred:"rgb(208, 32, 144)",violetred1:"rgb(255, 62, 150)",violetred2:"rgb(238, 58, 140)",violetred3:"rgb(205, 50, 120)",violetred4:"rgb(139, 34, 82)",wheat:"rgb(245, 222, 179)",wheat1:"rgb(255, 231, 186)",wheat2:"rgb(238, 216, 174)",wheat3:"rgb(205, 186, 150)",wheat4:"rgb(139, 126, 102)",white:"rgb(255, 255, 255)",whitesmoke:"rgb(245, 245, 245)",yellow:"rgb(255, 255, 0)",yellow1:"rgb(255, 255, 0)",yellow2:"rgb(238, 238, 0)",yellow3:"rgb(205, 205, 0)",yellow4:"rgb(139, 139, 0)",yellowgreen:"rgb(154, 205, 50)"},i.f={},i.f.createEnum=function(e){return new String(e)},i.f.replaceVars=function(e,t){return e.replace(/%([a-z]*)\(([^\)]+)\)/gi,function(e,r,o){if(void 0===t[o])throw"Unknown variable: "+o;var s=t[o];if(r in i.f.replaceVars.functions)s=i.f.replaceVars.functions[r](s);else if(r)throw"Unknown escape function: "+r;return s})},i.f.replaceVars.functions={encodeURI:encodeURI,encodeURIComponent:encodeURIComponent,escapeHTML:function(e){var t={"<":"<",">":">","&":"&",'"':""","'":"'"};return e.replace(/[<>&\"\']/g,function(e){return t[e]})}},i.f.getAcceptLanguages=function(e){i.f.getAcceptLanguages.chromeSupported()?chrome.i18n.getAcceptLanguages(e):setTimeout(function(){e([navigator.language.replace(/-/g,"_")])},0)},i.f.getAcceptLanguages.chromeSupported=function(){return window.chrome&&chrome.i18n},i.f.parseQuery=function(e){e.startsWith("?")&&(e=e.substr(1));for(var t={},r=e.split("&"),i=0;ir?r:e},i.f.zpad=function(e,t){return String(e).padStart(t,"0")},i.f.getWhitespace=function(e){if(e<=0)return"";var t=this.getWhitespace;for(t.whitespace||(t.whitespace=" ");e>t.whitespace.length;)t.whitespace+=t.whitespace;return t.whitespace.substr(0,e)},i.f.alarm=function(e,t){var r=t||5e3,o=i.f.getStack(1);return function(){var t=setTimeout(function(){var i="string"==typeof e?i:e.name;i=i?": "+i:"",console.warn("lib.f.alarm: timeout expired: "+r/1e3+"s"+i),console.log(o),t=null},r),i=function(e){return function(){return t&&(clearTimeout(t),t=null),e.apply(null,arguments)}};return"string"==typeof e?i:i(e)}()},i.f.getStack=function(e){var t,r=e?e+2:2;try{throw new Error}catch(e){t=e.stack.split("\n")}for(var i={},o=r;o=0&&this.observers.splice(t,1)},i.PreferenceManager.Record.prototype.get=function(){return this.currentValue===this.DEFAULT_VALUE?/^(string|number)$/.test(typeof this.defaultValue)?this.defaultValue:"object"==typeof this.defaultValue?JSON.parse(JSON.stringify(this.defaultValue)):this.defaultValue:this.currentValue},i.PreferenceManager.prototype.deactivate=function(){if(!this.isActive_)throw new Error("Not activated");this.isActive_=!1,this.storage.removeObserver(this.storageObserver_)},i.PreferenceManager.prototype.activate=function(){if(this.isActive_)throw new Error("Already activated");this.isActive_=!0,this.storage.addObserver(this.storageObserver_)},i.PreferenceManager.prototype.readStorage=function(e){function t(){0==--r&&e&&e()}var r=0,i=Object.keys(this.prefRecords_).map(function(e){return this.prefix+e}.bind(this));this.trace&&console.log("Preferences read: "+this.prefix),this.storage.getItems(i,function(i){var o=this.prefix.length;for(var s in i){var n=i[s],a=s.substr(o),l=a in this.childLists_&&JSON.stringify(n)!=JSON.stringify(this.prefRecords_[a].currentValue);this.prefRecords_[a].currentValue=n,l&&(r++,this.syncChildList(a,t))}0==r&&e&&setTimeout(e)}.bind(this))},i.PreferenceManager.prototype.definePreference=function(e,t,r){var o=this.prefRecords_[e];o?this.changeDefault(e,t):o=this.prefRecords_[e]=new i.PreferenceManager.Record(e,t),r&&o.addObserver(r)},i.PreferenceManager.prototype.definePreferences=function(e){for(var t=0;t=0&&s.splice(l,1),!this.childLists_[e][a]){var h=this.childFactories_[e](this,a);if(!h){console.warn("Unable to restore child: "+e+": "+a);continue}h.trace=this.trace,this.childLists_[e][a]=h,r++,h.readStorage(function(){0==--r&&t&&t()})}}for(n=0;n=0;i--){var o=e[i],s=this.storage_.getItem(o);if("string"==typeof s)try{r[o]=JSON.parse(s)}catch(e){r[o]=s}else e.splice(i,1)}setTimeout(t.bind(null,r),0)},i.Storage.Local.prototype.setItem=function(e,t,r){this.storage_.setItem(e,JSON.stringify(t)),r&&setTimeout(r,0)},i.Storage.Local.prototype.setItems=function(e,t){for(var r in e)this.storage_.setItem(r,JSON.stringify(e[r]));t&&setTimeout(t,0)},i.Storage.Local.prototype.removeItem=function(e,t){this.storage_.removeItem(e),t&&setTimeout(t,0)},i.Storage.Local.prototype.removeItems=function(e,t){for(var r=0;r=0;i--){var o=e[i],s=this.storage_[o];if("string"==typeof s)try{r[o]=JSON.parse(s)}catch(e){r[o]=s}else e.splice(i,1)}setTimeout(t.bind(null,r),0)},i.Storage.Memory.prototype.setItem=function(e,t,r){var i=this.storage_[e];this.storage_[e]=JSON.stringify(t);var o={};o[e]={oldValue:i,newValue:t},setTimeout(function(){for(var e=0;e{let t="";switch(e){case"debug":case"warn":case"error":t=e.toUpperCase()+": "}const r=this.console_[e];this[e]=this.console_[e]=((...e)=>{this.save&&(this.data+=this.prefix_+t+e.join(" ")+"\n"),r.apply(this.console_,e)})}),["group","groupCollapsed"].forEach(e=>{const t=this.console_[e];this[e]=this.console_[e]=((e="")=>{t(e),this.save&&(this.data+=this.prefix_+e+"\n"),this.prefix_=" ".repeat(++this.prefixStack_)})});const t=this.console_.groupEnd;this.groupEnd=this.console_.groupEnd=(()=>{t(),this.prefix_=" ".repeat(--this.prefixStack_)})},i.TestManager.Suite=function(e){function t(t,r){this.testManager_=t,this.suiteName=e,this.setup(r)}return t.suiteName=e,t.addTest=i.TestManager.Suite.addTest,t.disableTest=i.TestManager.Suite.disableTest,t.getTest=i.TestManager.Suite.getTest,t.getTestList=i.TestManager.Suite.getTestList,t.testList_=[],t.testMap_={},t.prototype=Object.create(i.TestManager.Suite.prototype),t.constructor=i.TestManager.Suite,i.TestManager.Suite.subclasses.push(t),t},i.TestManager.Suite.subclasses=[],i.TestManager.Suite.addTest=function(e,t){if(e in this.testMap_)throw"Duplicate test name: "+e;var r=new i.TestManager.Test(this,e,t);this.testMap_[e]=r,this.testList_.push(r)},i.TestManager.Suite.disableTest=function(e,t){if(e in this.testMap_)throw"Duplicate test name: "+e;var r=new i.TestManager.Test(this,e,t);console.log("Disabled test: "+r.fullName)},i.TestManager.Suite.getTest=function(e){return this.testMap_[e]},i.TestManager.Suite.getTestList=function(){return this.testList_},i.TestManager.Suite.prototype.setDefaults=function(e,t){for(var r in t)this[r]=r in e?e[r]:t[r]},i.TestManager.Suite.prototype.setup=function(e){},i.TestManager.Suite.prototype.preamble=function(e,t){},i.TestManager.Suite.prototype.postamble=function(e,t){},i.TestManager.Test=function(e,t,r){this.suiteClass=e,this.testName=t,this.fullName=e.suiteName+"["+t+"]",this.testFunction_=r},i.TestManager.Test.prototype.run=function(e){try{this.testFunction_.apply(e.suite,[e,e.testRun.cx])}catch(t){if(t instanceof i.TestManager.Result.TestComplete)return;e.println("Test raised an exception: "+t),t.stack&&(t.stack instanceof Array?e.println(t.stack.join("\n")):e.println(t.stack)),e.completeTest_(e.FAILED,!1)}},i.TestManager.TestRun=function(e,t){this.testManager=e,this.log=e.log,this.cx=t||{},this.failures=[],this.passes=[],this.startDate=null,this.duration=null,this.currentResult=null,this.maxFailures=0,this.panic=!1,this.testQueue_=[]},i.TestManager.TestRun.prototype.ALL_TESTS=i.f.createEnum(""),i.TestManager.TestRun.prototype.selectTest=function(e){this.testQueue_.push(e)},i.TestManager.TestRun.prototype.selectSuite=function(e,t){for(var r=t||this.ALL_TESTS,i=0,o=e.getTestList(),s=0;s500&&this.log.warn("Slow test took "+this.msToSeconds_(e.duration)),this.log.groupEnd(),e.status==e.FAILED)this.failures.push(e),this.currentSuite=null;else{if(e.status!=e.PASSED)return this.log.error("Unknown result status: "+e.test.fullName+": "+e.status),this.panic=!0;this.passes.push(e)}this.runNextTest_()},i.TestManager.TestRun.prototype.onResultReComplete=function(e,t){this.log.error("Late complete for test: "+e.test.fullName+": "+t);var r=this.passes.indexOf(e);r>=0&&(this.passes.splice(r,1),this.failures.push(e))},i.TestManager.TestRun.prototype.runNextTest_=function(){if(this.panic||!this.testQueue_.length)return this.onTestRunComplete_();if(this.maxFailures&&this.failures.length>=this.maxFailures)return this.log.error("Maximum failure count reached, aborting test run."),this.onTestRunComplete_();var e=this.testQueue_[0],t=this.currentResult?this.currentResult.suite:null;try{t&&t instanceof e.suiteClass||(t&&this.log.groupEnd(),this.log.group(e.suiteClass.suiteName),t=new e.suiteClass(this.testManager,this.cx))}catch(e){return this.log.error("Exception during setup: "+(e.stack?e.stack:e)),this.panic=!0,void this.onTestRunComplete_()}try{this.log.group(e.testName),this.currentResult=new i.TestManager.Result(this,t,e),this.testManager.testPreamble(this.currentResult,this.cx),t.preamble(this.currentResult,this.cx),this.testQueue_.shift()}catch(e){return this.log.error("Unexpected exception during test preamble: "+(e.stack?e.stack:e)),this.log.groupEnd(),this.panic=!0,void this.onTestRunComplete_()}try{this.currentResult.run()}catch(e){this.log.error("Unexpected exception during test run: "+(e.stack?e.stack:e)),this.panic=!0}},i.TestManager.TestRun.prototype.run=function(){this.log.info("Running "+this.testQueue_.length+" test(s)"),window.onerror=this.onUncaughtException_.bind(this),this.startDate=new Date,this.runNextTest_()},i.TestManager.TestRun.prototype.msToSeconds_=function(e){return(e/1e3).toFixed(2)+"s"},i.TestManager.TestRun.prototype.summarize=function(){if(this.failures.length)for(var e=0;e1?"\n"+t.join("\n"):t.join("\n")}if(e!==t&&!(t instanceof Array&&this.arrayEQ_(e,t))){var o=r?"["+r+"]":"";this.fail("assertEQ"+o+": "+this.getCallerLocation_(1)+": "+i(e)+" !== "+i(t))}},i.TestManager.Result.prototype.assert=function(e,t){if(!0!==e){var r=t?"["+t+"]":"";this.fail("assert"+r+": "+this.getCallerLocation_(1)+": "+String(e))}},i.TestManager.Result.prototype.getCallerLocation_=function(e){try{throw new Error}catch(r){var t=r.stack.split("\n")[e+2].match(/([^/]+:\d+):\d+\)?$/);return t?t[1]:"???"}},i.TestManager.Result.prototype.println=function(e){this.testRun.log.info(e)},i.TestManager.Result.prototype.fail=function(e){arguments.length&&this.println(e),this.completeTest_(this.FAILED,!0)},i.TestManager.Result.prototype.pass=function(){this.completeTest_(this.PASSED,!0)},i.UTF8Decoder=function(){this.bytesLeft=0,this.codePoint=0,this.lowerBound=0},i.UTF8Decoder.prototype.decode=function(e){for(var t="",r=0;r1114111?t+="�":o<65536?t+=String.fromCharCode(o):(o-=65536,t+=String.fromCharCode(55296+(o>>>10&1023),56320+(1023&o)))}}else t+="�",this.bytesLeft=0,r--}return t},i.decodeUTF8=function(e){return(new i.UTF8Decoder).decode(e)},i.encodeUTF8=function(e){for(var t="",r=0;r>>6),s=1):i<=65535?(t+=String.fromCharCode(224|i>>>12),s=2):(t+=String.fromCharCode(240|i>>>18),s=3);s>0;)s--,t+=String.fromCharCode(128|i>>>6*s&63)}return t},i.wc={},i.wc.nulWidth=0,i.wc.controlWidth=0,i.wc.regardCjkAmbiguous=!1,i.wc.cjkAmbiguousWidth=2,i.wc.combining=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],i.wc.ambiguous=[[161,161],[164,164],[167,168],[170,170],[174,174],[176,180],[182,186],[188,191],[198,198],[208,208],[215,216],[222,225],[230,230],[232,234],[236,237],[240,240],[242,243],[247,250],[252,252],[254,254],[257,257],[273,273],[275,275],[283,283],[294,295],[299,299],[305,307],[312,312],[319,322],[324,324],[328,331],[333,333],[338,339],[358,359],[363,363],[462,462],[464,464],[466,466],[468,468],[470,470],[472,472],[474,474],[476,476],[593,593],[609,609],[708,708],[711,711],[713,715],[717,717],[720,720],[728,731],[733,733],[735,735],[913,929],[931,937],[945,961],[963,969],[1025,1025],[1040,1103],[1105,1105],[8208,8208],[8211,8214],[8216,8217],[8220,8221],[8224,8226],[8228,8231],[8240,8240],[8242,8243],[8245,8245],[8251,8251],[8254,8254],[8308,8308],[8319,8319],[8321,8324],[8364,8364],[8451,8451],[8453,8453],[8457,8457],[8467,8467],[8470,8470],[8481,8482],[8486,8486],[8491,8491],[8531,8532],[8539,8542],[8544,8555],[8560,8569],[8592,8601],[8632,8633],[8658,8658],[8660,8660],[8679,8679],[8704,8704],[8706,8707],[8711,8712],[8715,8715],[8719,8719],[8721,8721],[8725,8725],[8730,8730],[8733,8736],[8739,8739],[8741,8741],[8743,8748],[8750,8750],[8756,8759],[8764,8765],[8776,8776],[8780,8780],[8786,8786],[8800,8801],[8804,8807],[8810,8811],[8814,8815],[8834,8835],[8838,8839],[8853,8853],[8857,8857],[8869,8869],[8895,8895],[8978,8978],[9312,9449],[9451,9547],[9552,9587],[9600,9615],[9618,9621],[9632,9633],[9635,9641],[9650,9651],[9654,9655],[9660,9661],[9664,9665],[9670,9672],[9675,9675],[9678,9681],[9698,9701],[9711,9711],[9733,9734],[9737,9737],[9742,9743],[9748,9749],[9756,9756],[9758,9758],[9792,9792],[9794,9794],[9824,9825],[9827,9829],[9831,9834],[9836,9837],[9839,9839],[10045,10045],[10102,10111],[57344,63743],[65533,65533],[983040,1048573],[1048576,1114109]],i.wc.isSpace=function(e){var t,r=0,o=i.wc.combining.length-1;if(ei.wc.combining[o][1])return!1;for(;o>=r;)if(t=Math.floor((r+o)/2),e>i.wc.combining[t][1])r=t+1;else{if(!(ei.wc.ambiguous[o][1])return!1;for(;o>=r;)if(t=Math.floor((r+o)/2),e>i.wc.ambiguous[t][1])r=t+1;else{if(!(e=127&&e<160?i.wc.controlWidth:e<127?1:i.wc.isSpace(e)?0:1+(e>=4352&&(e<=4447||9001==e||9002==e||e>=11904&&e<=42191&&12351!=e||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072&&e<=196605||e>=196608&&e<=262141))},i.wc.charWidthRegardAmbiguous=function(e){return i.wc.isCjkAmbiguous(e)?i.wc.cjkAmbiguousWidth:i.wc.charWidthDisregardAmbiguous(e)},i.wc.strWidth=function(e){for(var t,r=0,o=0;ot);o++);if(void 0!=r){for(s=o,n=0;sr&&s--,e.substring(o,s)}return e.substr(o)},i.wc.substring=function(e,t,r){return i.wc.substr(e,t,r-t)},i.resource.add("libdot/changelog/version","text/plain","1.16"),i.resource.add("libdot/changelog/date","text/plain","2017-08-16"),i.rtdep("lib.Storage");var o={};o.windowType=null,o.zoomWarningMessage="ZOOM != 100%",o.notifyCopyMessage="✂",o.desktopNotificationTitle="♪ %(title) ♪",o.testDeps=["hterm.ScrollPort.Tests","hterm.Screen.Tests","hterm.Terminal.Tests","hterm.VT.Tests","hterm.VT.CannedTests"],i.registerInit("hterm",function(e){function t(t){o.windowType=t.type,setTimeout(e,0)}o.defaultStorage||(window.chrome&&chrome.storage&&chrome.storage.sync?o.defaultStorage=new i.Storage.Chrome(chrome.storage.sync):o.defaultStorage=new i.Storage.Local);var r=!1;if(window.chrome&&chrome.runtime&&chrome.runtime.getManifest){var s=chrome.runtime.getManifest();r=s.app&&s.app.background}r?setTimeout(t.bind(null,{type:"popup"}),0):window.chrome&&chrome.tabs?chrome.tabs.getCurrent(function(r){r&&window.chrome?chrome.windows.get(r.windowId,null,t):(o.windowType="normal",setTimeout(e,0))}):setTimeout(t.bind(null,{type:"normal"}),0)}),o.getClientSize=function(e){return e.getBoundingClientRect()},o.getClientWidth=function(e){return e.getBoundingClientRect().width},o.getClientHeight=function(e){return e.getBoundingClientRect().height},o.copySelectionToClipboard=function(e){try{e.execCommand("copy")}catch(e){}},o.pasteFromClipboard=function(e){try{return e.execCommand("paste")}catch(e){return!1}},o.notify=function(e){var t=(e,t)=>void 0!==e?e:t;void 0!==e&&null!==e||(e={});var r={body:e.body,icon:t(e.icon,i.resource.getDataUrl("hterm/images/icon-96"))},s=t(e.title,window.document.title);s||(s="hterm"),s=i.f.replaceVars(o.desktopNotificationTitle,{title:s});var n=new Notification(s,r);return n.onclick=function(){window.focus(),this.close()},n},o.Size=function(e,t){this.width=e,this.height=t},o.Size.prototype.resize=function(e,t){this.width=e,this.height=t},o.Size.prototype.clone=function(){return new o.Size(this.width,this.height)},o.Size.prototype.setTo=function(e){this.width=e.width,this.height=e.height},o.Size.prototype.equals=function(e){return this.width==e.width&&this.height==e.height},o.Size.prototype.toString=function(){return"[hterm.Size: "+this.width+", "+this.height+"]"},o.RowCol=function(e,t,r){this.row=e,this.column=t,this.overflow=!!r},o.RowCol.prototype.move=function(e,t,r){this.row=e,this.column=t,this.overflow=!!r},o.RowCol.prototype.clone=function(){return new o.RowCol(this.row,this.column,this.overflow)},o.RowCol.prototype.setTo=function(e){this.row=e.row,this.column=e.column,this.overflow=e.overflow},o.RowCol.prototype.equals=function(e){return this.row==e.row&&this.column==e.column&&this.overflow==e.overflow},o.RowCol.prototype.toString=function(){return"[hterm.RowCol: "+this.row+", "+this.column+", "+this.overflow+"]"},i.rtdep("lib.f"),o.Frame=function(e,t,r){this.terminal_=e,this.div_=e.div_,this.url=t,this.options=r||{},this.iframe_=null,this.container_=null,this.messageChannel_=null},o.Frame.prototype.onMessage_=function(e){switch(e.data.name){case"ipc-init-ok":return void this.sendTerminalInfo_();case"terminal-info-ok":return this.container_.style.display="flex",this.messageChannel_.port1.onmessage=this.onMessage.bind(this),void this.onLoad();default:return void console.log("Unknown message from frame:",e.data)}},o.Frame.prototype.onMessage=function(){},o.Frame.prototype.onLoad_=function(){this.messageChannel_=new MessageChannel,this.messageChannel_.port1.onmessage=this.onMessage_.bind(this),this.messageChannel_.port1.start(),this.iframe_.contentWindow.postMessage({name:"ipc-init",argv:[{messagePort:this.messageChannel_.port2}]},this.url,[this.messageChannel_.port2])},o.Frame.prototype.onLoad=function(){},o.Frame.prototype.sendTerminalInfo_=function(){i.f.getAcceptLanguages(function(e){this.postMessage("terminal-info",[{acceptLanguages:e,foregroundColor:this.terminal_.getForegroundColor(),backgroundColor:this.terminal_.getBackgroundColor(),cursorColor:this.terminal_.getCursorColor(),fontSize:this.terminal_.getFontSize(),fontFamily:this.terminal_.getFontFamily(),baseURL:i.f.getURL("/")}])}.bind(this))},o.Frame.prototype.onCloseClicked_=function(){this.close()},o.Frame.prototype.close=function(){this.container_&&this.container_.parentNode&&(this.container_.parentNode.removeChild(this.container_),this.onClose())},o.Frame.prototype.onClose=function(){},o.Frame.prototype.postMessage=function(e,t){if(!this.messageChannel_)throw new Error("Message channel is not set up.");this.messageChannel_.port1.postMessage({name:e,argv:t})},o.Frame.prototype.show=function(){function e(e,r){return e in t.options?t.options[e]:r}var t=this,t=this;if(this.container_&&this.container_.parentNode)console.error("Frame already visible");else{var r=o.getClientSize(this.div_),i=e("width",640),s=e("height",480),n=(r.width,r.height,this.terminal_.document_),a=this.container_=n.createElement("div");a.style.cssText="position: absolute;display: none;flex-direction: column;top: 10%;left: 4%;width: 90%;height: 80%;min-height: 20%;max-height: 80%;box-shadow: 0 0 2px "+this.terminal_.getForegroundColor()+";border: 2px "+this.terminal_.getForegroundColor()+" solid;";var l=this.iframe_=n.createElement("iframe");l.onload=this.onLoad_.bind(this),l.style.cssText="display: flex;flex: 1;width: 100%",l.setAttribute("src",this.url),l.setAttribute("seamless",!0),a.appendChild(l),this.div_.appendChild(a)}},i.rtdep("hterm.Keyboard.KeyMap"),o.Keyboard=function(e){this.terminal=e,this.keyboardElement_=null,this.handlers_=[["focusout",this.onFocusOut_.bind(this)],["keydown",this.onKeyDown_.bind(this)],["keypress",this.onKeyPress_.bind(this)],["keyup",this.onKeyUp_.bind(this)],["textInput",this.onTextInput_.bind(this)]],this.keyMap=new o.Keyboard.KeyMap(this),this.bindings=new o.Keyboard.Bindings(this),this.altGrMode="none",this.shiftInsertPaste=!0,this.homeKeysScroll=!1,this.pageKeysScroll=!1,this.ctrlPlusMinusZeroZoom=!0,this.ctrlCCopy=!1,this.ctrlVPaste=!1,this.applicationKeypad=!1,this.applicationCursor=!1,this.backspaceSendsBackspace=!1,this.characterEncoding="utf-8",this.metaSendsEscape=!0,this.passMetaV=!0,this.altSendsWhat="escape",this.altIsMeta=!1,this.altBackspaceIsMetaBackspace=!1,this.altKeyPressed=0,this.mediaKeysAreFKeys=!1,this.previousAltSendsWhat_=null},o.Keyboard.KeyActions={CANCEL:i.f.createEnum("CANCEL"),DEFAULT:i.f.createEnum("DEFAULT"),PASS:i.f.createEnum("PASS"),STRIP:i.f.createEnum("STRIP")},o.Keyboard.prototype.encode=function(e){return"utf-8"==this.characterEncoding?this.terminal.vt.encodeUTF8(e):e},o.Keyboard.prototype.installKeyboard=function(e){if(e!=this.keyboardElement_){e&&this.keyboardElement_&&this.installKeyboard(null);for(var t=0;t=32&&(r=e.charCode);r&&this.terminal.onVTKeystroke(String.fromCharCode(r)),e.preventDefault(),e.stopPropagation()}},o.Keyboard.prototype.preventChromeAppNonCtrlShiftDefault_=function(e){window.chrome&&window.chrome.app&&window.chrome.app.window&&(e.ctrlKey&&e.shiftKey||e.preventDefault())},o.Keyboard.prototype.onFocusOut_=function(e){this.altKeyPressed=0},o.Keyboard.prototype.onKeyUp_=function(e){18==e.keyCode&&(this.altKeyPressed=this.altKeyPressed&~(1<=64&&_<=95&&(f=String.fromCharCode(_-64))),u&&"8-bit"==this.altSendsWhat&&1==f.length){var _=f.charCodeAt(0)+128;f=String.fromCharCode(_)}(u&&"escape"==this.altSendsWhat||d&&this.metaSendsEscape)&&(f=""+f)}this.terminal.onVTKeystroke(f)}else console.warn("Invalid action: "+JSON.stringify(f))}else console.warn("No definition for keyCode: "+e.keyCode)},o.Keyboard.Bindings=function(){this.bindings_={}},o.Keyboard.Bindings.prototype.clear=function(){this.bindings_={}},o.Keyboard.Bindings.prototype.addBinding_=function(e,t){var r=null,i=this.bindings_[e.keyCode];if(i)for(var s=0;s",d,s(f,p),d,d],[191,"/?",d,i(a("_"),a("?")),d,d],[17,"[CTRL]",p,p,p,p],[18,"[ALT]",p,p,p,p],[91,"[LAPL]",p,p,p,p],[32," ",d,a("@"),d,d],[92,"[RAPL]",p,p,p,p],[93,"[RMENU]",p,p,p,p],[42,"[PRTSCR]",p,p,p,p],[145,"[SCRLK]",p,p,p,p],[19,"[BREAK]",p,p,p,p],[45,"[INSERT]",l("onKeyInsert_"),d,d,d],[36,"[HOME]",l("onKeyHome_"),d,d,d],[33,"[PGUP]",l("onKeyPageUp_"),d,d,d],[46,"[DEL]",l("onKeyDel_"),d,d,d],[35,"[END]",l("onKeyEnd_"),d,d,d],[34,"[PGDOWN]",l("onKeyPageDown_"),d,d,d],[38,"[UP]",l("onKeyArrowUp_"),d,d,d],[40,"[DOWN]",l("onKeyArrowDown_"),d,d,d],[39,"[RIGHT]",t("","OC"),d,d,d],[37,"[LEFT]",t("","OD"),d,d,d],[144,"[NUMLOCK]",p,p,p,p],[96,"[KP0]",d,d,d,d],[97,"[KP1]",d,d,d,d],[98,"[KP2]",d,d,d,d],[99,"[KP3]",d,d,d,d],[100,"[KP4]",d,d,d,d],[101,"[KP5]",d,d,d,d],[102,"[KP6]",d,d,d,d],[103,"[KP7]",d,d,d,d],[104,"[KP8]",d,d,d,d],[105,"[KP9]",d,d,d,d],[107,"[KP+]",d,l("onPlusMinusZero_"),d,l("onPlusMinusZero_")],[109,"[KP-]",d,l("onPlusMinusZero_"),d,l("onPlusMinusZero_")],[106,"[KP*]",d,d,d,d],[111,"[KP/]",d,d,d,d],[110,"[KP.]",d,d,d,d],[166,"[BACK]",h(n("OP","")),d,"[23~",d],[167,"[FWD]",h(n("OQ","")),d,"[24~",d],[168,"[RELOAD]",h(n("OR","")),d,"[25~",d],[183,"[FSCR]",h(n("OS","")),d,"[26~",d],[182,"[WINS]",h("[15~"),d,"[28~",d],[216,"[BRIT-]",h("[17~"),d,"[29~",d],[217,"[BRIT+]",h("[18~"),d,"[31~",d])},o.Keyboard.KeyMap.prototype.onKeyInsert_=function(e){return this.keyboard.shiftInsertPaste&&e.shiftKey?o.Keyboard.KeyActions.PASS:"[2~"},o.Keyboard.KeyMap.prototype.onKeyHome_=function(e){return!this.keyboard.homeKeysScroll^e.shiftKey?e.altey||e.ctrlKey||e.shiftKey||!this.keyboard.applicationCursor?"":"OH":(this.keyboard.terminal.scrollHome(),o.Keyboard.KeyActions.CANCEL)},o.Keyboard.KeyMap.prototype.onKeyEnd_=function(e){return!this.keyboard.homeKeysScroll^e.shiftKey?e.altKey||e.ctrlKey||e.shiftKey||!this.keyboard.applicationCursor?"":"OF":(this.keyboard.terminal.scrollEnd(),o.Keyboard.KeyActions.CANCEL)},o.Keyboard.KeyMap.prototype.onKeyPageUp_=function(e){return!this.keyboard.pageKeysScroll^e.shiftKey?"[5~":(this.keyboard.terminal.scrollPageUp(),o.Keyboard.KeyActions.CANCEL)},o.Keyboard.KeyMap.prototype.onKeyDel_=function(e){return this.keyboard.altBackspaceIsMetaBackspace&&this.keyboard.altKeyPressed&&!e.altKey?"":"[3~"},o.Keyboard.KeyMap.prototype.onKeyPageDown_=function(e){return!this.keyboard.pageKeysScroll^e.shiftKey?"[6~":(this.keyboard.terminal.scrollPageDown(),o.Keyboard.KeyActions.CANCEL)},o.Keyboard.KeyMap.prototype.onKeyArrowUp_=function(e){return!this.keyboard.applicationCursor&&e.shiftKey?(this.keyboard.terminal.scrollLineUp(),o.Keyboard.KeyActions.CANCEL):e.shiftKey||e.ctrlKey||e.altKey||e.metaKey||!this.keyboard.applicationCursor?"":"OA"},o.Keyboard.KeyMap.prototype.onKeyArrowDown_=function(e){return!this.keyboard.applicationCursor&&e.shiftKey?(this.keyboard.terminal.scrollLineDown(),o.Keyboard.KeyActions.CANCEL):e.shiftKey||e.ctrlKey||e.altKey||e.metaKey||!this.keyboard.applicationCursor?"":"OB"},o.Keyboard.KeyMap.prototype.onClear_=function(e,t){return this.keyboard.terminal.wipeContents(),o.Keyboard.KeyActions.CANCEL},o.Keyboard.KeyMap.prototype.onCtrlNum_=function(e,t){function r(e){return String.fromCharCode(e.charCodeAt(0)-64)}if(this.keyboard.terminal.passCtrlNumber&&!e.shiftKey)return o.Keyboard.KeyActions.PASS;switch(t.keyCap.substr(0,1)){case"1":return"1";case"2":return r("@");case"3":return r("[");case"4":return r("\\");case"5":return r("]");case"6":return r("^");case"7":return r("_");case"8":return"";case"9":return"9"}},o.Keyboard.KeyMap.prototype.onAltNum_=function(e,t){return this.keyboard.terminal.passAltNumber&&!e.shiftKey?o.Keyboard.KeyActions.PASS:o.Keyboard.KeyActions.DEFAULT},o.Keyboard.KeyMap.prototype.onMetaNum_=function(e,t){return this.keyboard.terminal.passMetaNumber&&!e.shiftKey?o.Keyboard.KeyActions.PASS:o.Keyboard.KeyActions.DEFAULT},o.Keyboard.KeyMap.prototype.onCtrlC_=function(e,t){var r=this.keyboard.terminal.getDocument().getSelection();if(!r.isCollapsed){if(this.keyboard.ctrlCCopy&&!e.shiftKey)return this.keyboard.terminal.clearSelectionAfterCopy&&setTimeout(r.collapseToEnd.bind(r),50),o.Keyboard.KeyActions.PASS;if(!this.keyboard.ctrlCCopy&&e.shiftKey)return this.keyboard.terminal.clearSelectionAfterCopy&&setTimeout(r.collapseToEnd.bind(r),50),this.keyboard.terminal.copySelectionToClipboard(),o.Keyboard.KeyActions.CANCEL}return""},o.Keyboard.KeyMap.prototype.onCtrlN_=function(e,t){return e.shiftKey?(window.open(document.location.href,"","chrome=no,close=yes,resize=yes,scrollbars=yes,minimizable=yes,width="+window.innerWidth+",height="+window.innerHeight),o.Keyboard.KeyActions.CANCEL):""},o.Keyboard.KeyMap.prototype.onCtrlV_=function(e,t){return!e.shiftKey&&this.keyboard.ctrlVPaste||e.shiftKey&&!this.keyboard.ctrlVPaste?this.keyboard.terminal.paste()?o.Keyboard.KeyActions.CANCEL:o.Keyboard.KeyActions.PASS:""},o.Keyboard.KeyMap.prototype.onMetaN_=function(e,t){return e.shiftKey?(window.open(document.location.href,"","chrome=no,close=yes,resize=yes,scrollbars=yes,minimizable=yes,width="+window.outerWidth+",height="+window.outerHeight),o.Keyboard.KeyActions.CANCEL):o.Keyboard.KeyActions.DEFAULT},o.Keyboard.KeyMap.prototype.onMetaC_=function(e,t){var r=this.keyboard.terminal.getDocument();return e.shiftKey||r.getSelection().isCollapsed?t.keyCap.substr(e.shiftKey?1:0,1):(this.keyboard.terminal.clearSelectionAfterCopy&&setTimeout(function(){r.getSelection().collapseToEnd()},50),o.Keyboard.KeyActions.PASS)},o.Keyboard.KeyMap.prototype.onMetaV_=function(e,t){return e.shiftKey?o.Keyboard.KeyActions.PASS:this.keyboard.passMetaV?o.Keyboard.KeyActions.PASS:o.Keyboard.KeyActions.DEFAULT},o.Keyboard.KeyMap.prototype.onPlusMinusZero_=function(e,t){if(!(this.keyboard.ctrlPlusMinusZeroZoom^e.shiftKey))return"-_"==t.keyCap?"":o.Keyboard.KeyActions.CANCEL;if(1!=this.keyboard.terminal.getZoomFactor())return o.Keyboard.KeyActions.PASS;var r=t.keyCap.substr(0,1);if("0"==r)this.keyboard.terminal.setFontSize(0);else{var i=this.keyboard.terminal.getFontSize();"-"==r||"[KP-]"==t.keyCap?i-=1:i+=1,this.keyboard.terminal.setFontSize(i)}return o.Keyboard.KeyActions.CANCEL},o.Keyboard.KeyPattern=function(e){this.wildcardCount=0,this.keyCode=e.keyCode,o.Keyboard.KeyPattern.modifiers.forEach(function(t){this[t]=e[t]||!1,"*"==this[t]&&this.wildcardCount++}.bind(this))},o.Keyboard.KeyPattern.modifiers=["shift","ctrl","alt","meta"],o.Keyboard.KeyPattern.sortCompare=function(e,t){return e.wildcardCountt.wildcardCount?1:0},o.Keyboard.KeyPattern.prototype.match_=function(e,t){if(this.keyCode!=e.keyCode)return!1;var r=!0;return o.Keyboard.KeyPattern.modifiers.forEach(function(i){var o=i in e&&e[i];r&&(t||"*"!=this[i])&&this[i]!=o&&(r=!1)}.bind(this)),r},o.Keyboard.KeyPattern.prototype.matchKeyDown=function(e){return this.match_(e,!1)},o.Keyboard.KeyPattern.prototype.matchKeyPattern=function(e){return this.match_(e,!0)},o.Options=function(e){this.wraparound=!e||e.wraparound,this.reverseWraparound=!!e&&e.reverseWraparound,this.originMode=!!e&&e.originMode,this.autoCarriageReturn=!!e&&e.autoCarriageReturn,this.cursorVisible=!!e&&e.cursorVisible,this.cursorBlink=!!e&&e.cursorBlink,this.insertMode=!!e&&e.insertMode,this.reverseVideo=!!e&&e.reverseVideo,this.bracketedPaste=!!e&&e.bracketedPaste},i.rtdep("hterm.Keyboard.KeyActions"),o.Parser=function(){this.source="",this.pos=0,this.ch=null},o.Parser.prototype.error=function(e){return new Error("Parse error at "+this.pos+": "+e)},o.Parser.prototype.isComplete=function(){return this.pos==this.source.length},o.Parser.prototype.reset=function(e,t){this.source=e,this.pos=t||0,this.ch=e.substr(0,1)},o.Parser.prototype.parseKeySequence=function(){var e={keyCode:null};for(var t in o.Parser.identifiers.modifierKeys)e[o.Parser.identifiers.modifierKeys[t]]=!1;for(;this.pos 'none', else => 'right-alt'\n'none': Disable any AltGr related munging.\n'ctrl-alt': Assume Ctrl+Alt means AltGr.\n'left-alt': Assume left Alt means AltGr.\n'right-alt': Assume right Alt means AltGr.\n"],"alt-backspace-is-meta-backspace":[o.PreferenceManager.categories.Keyboard,!1,"bool","If set, undoes the Chrome OS Alt-Backspace->DEL remap, so that alt-backspace indeed is alt-backspace."],"alt-is-meta":[o.PreferenceManager.categories.Keyboard,!1,"bool","Set whether the alt key acts as a meta key or as a distinct alt key."],"alt-sends-what":[o.PreferenceManager.categories.Keyboard,"escape",["escape","8-bit","browser-key"],"Controls how the alt key is handled.\n\n escape....... Send an ESC prefix.\n 8-bit........ Add 128 to the unshifted character as in xterm.\n browser-key.. Wait for the keypress event and see what the browser \n says. (This won't work well on platforms where the \n browser performs a default action for some alt sequences.)"],"audible-bell-sound":[o.PreferenceManager.categories.Sounds,"lib-resource:hterm/audio/bell","url","URL of the terminal bell sound. Empty string for no audible bell."],"desktop-notification-bell":[o.PreferenceManager.categories.Sounds,!1,"bool",'If true, terminal bells in the background will create a Web Notification. https://www.w3.org/TR/notifications/\n\nDisplaying notifications requires permission from the user. When this option is set to true, hterm will attempt to ask the user for permission if necessary. Note browsers may not show this permission request if it did not originate from a user action.\n\nChrome extensions with the "notifications" permission have permission to display notifications.'],"background-color":[o.PreferenceManager.categories.Appearance,"rgb(16, 16, 16)","color","The background color for text with no other color attributes."],"background-image":[o.PreferenceManager.categories.Appearance,"","string","CSS value of the background image. Empty string for no image.\n\nFor example:\n url(https://goo.gl/anedTK)\n linear-gradient(top bottom, blue, red)"],"background-size":[o.PreferenceManager.categories.Appearance,"","string","CSS value of the background image size. Defaults to none."],"background-position":[o.PreferenceManager.categories.Appearance,"","string","CSS value of the background image position.\n\nFor example:\n 10% 10%\n center"],"backspace-sends-backspace":[o.PreferenceManager.categories.Keyboard,!1,"bool","If true, the backspace should send BS ('\\x08', aka ^H). Otherwise the backspace key should send '\\x7f'."],"character-map-overrides":[o.PreferenceManager.categories.Appearance,null,"value",'This is specified as an object. It is a sparse array, where each property is the character set code and the value is an object that is a sparse array itself. In that sparse array, each property is the received character and the value is the displayed character.\n\nFor example:\n {"0":{"+":"\\u2192",",":"\\u2190","-":"\\u2191",".":"\\u2193", "0":"\\u2588"}}'],"close-on-exit":[o.PreferenceManager.categories.Miscellaneous,!0,"bool","Whether or not to close the window when the command exits."],"cursor-blink":[o.PreferenceManager.categories.Appearance,!1,"bool","Whether or not to blink the cursor by default."],"cursor-blink-cycle":[o.PreferenceManager.categories.Appearance,[1e3,500],"value","The cursor blink rate in milliseconds.\n\nA two element array, the first of which is how long the cursor should be on, second is how long it should be off."],"cursor-color":[o.PreferenceManager.categories.Appearance,"rgba(255, 0, 0, 0.5)","color","The color of the visible cursor."],"color-palette-overrides":[o.PreferenceManager.categories.Appearance,null,"value","Override colors in the default palette.\n\nThis can be specified as an array or an object. If specified as an object it is assumed to be a sparse array, where each property is a numeric index into the color palette.\n\nValues can be specified as almost any css color value. This includes #RGB, #RRGGBB, rgb(...), rgba(...), and any color names that are also part of the stock X11 rgb.txt file.\n\nYou can use 'null' to specify that the default value should be not be changed. This is useful for skipping a small number of indices when the value is specified as an array."],"copy-on-select":[o.PreferenceManager.categories.CopyPaste,!0,"bool","Automatically copy mouse selection to the clipboard."],"use-default-window-copy":[o.PreferenceManager.categories.CopyPaste,!1,"bool","Whether to use the default window copy behavior"],"clear-selection-after-copy":[o.PreferenceManager.categories.CopyPaste,!0,"bool","Whether to clear the selection after copying."],"ctrl-plus-minus-zero-zoom":[o.PreferenceManager.categories.Keyboard,!0,"bool","If true, Ctrl-Plus/Minus/Zero controls zoom.\nIf false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_, Ctrl-Plus/Zero do nothing."],"ctrl-c-copy":[o.PreferenceManager.categories.Keyboard,!1,"bool","Ctrl+C copies if true, send ^C to host if false.\nCtrl+Shift+C sends ^C to host if true, copies if false."],"ctrl-v-paste":[o.PreferenceManager.categories.Keyboard,!1,"bool","Ctrl+V pastes if true, send ^V to host if false.\nCtrl+Shift+V sends ^V to host if true, pastes if false."],"east-asian-ambiguous-as-two-column":[o.PreferenceManager.categories.Keyboard,!1,"bool","Set whether East Asian Ambiguous characters have two column width."],"enable-8-bit-control":[o.PreferenceManager.categories.Keyboard,!1,"bool","True to enable 8-bit control characters, false to ignore them.\n\nWe'll respect the two-byte versions of these control characters regardless of this setting."],"enable-bold":[o.PreferenceManager.categories.Appearance,null,"tristate","True if we should use bold weight font for text with the bold/bright attribute. False to use the normal weight font. Null to autodetect."],"enable-bold-as-bright":[o.PreferenceManager.categories.Appearance,!0,"bool","True if we should use bright colors (8-15 on a 16 color palette) for any text with the bold attribute. False otherwise."],"enable-blink":[o.PreferenceManager.categories.Appearance,!0,"bool","True if we should respect the blink attribute. False to ignore it. "],"enable-clipboard-notice":[o.PreferenceManager.categories.CopyPaste,!0,"bool","Show a message in the terminal when the host writes to the clipboard."],"enable-clipboard-write":[o.PreferenceManager.categories.CopyPaste,!0,"bool","Allow the host to write directly to the system clipboard."],"enable-dec12":[o.PreferenceManager.categories.Miscellaneous,!1,"bool","Respect the host's attempt to change the cursor blink status using DEC Private Mode 12."],environment:[o.PreferenceManager.categories.Miscellaneous,{TERM:"xterm-256color"},"value","The default environment variables, as an object."],"font-family":[o.PreferenceManager.categories.Appearance,'"DejaVu Sans Mono", "Everson Mono", FreeMono, "Menlo", "Terminal", monospace',"string","Default font family for the terminal text."],"font-size":[o.PreferenceManager.categories.Appearance,15,"int","The default font size in pixels."],"font-smoothing":[o.PreferenceManager.categories.Appearance,"antialiased","string","CSS font-smoothing property."],"foreground-color":[o.PreferenceManager.categories.Appearance,"rgb(240, 240, 240)","color","The foreground color for text with no other color attributes."],"home-keys-scroll":[o.PreferenceManager.categories.Keyboard,!1,"bool","If true, home/end will control the terminal scrollbar and shift home/end will send the VT keycodes. If false then home/end sends VT codes and shift home/end scrolls."],keybindings:[o.PreferenceManager.categories.Keyboard,null,"value",'A map of key sequence to key actions. Key sequences include zero or more modifier keys followed by a key code. Key codes can be decimal or hexadecimal numbers, or a key identifier. Key actions can be specified a string to send to the host, or an action identifier. For a full explanation of the format, see https://goo.gl/LWRndr.\n\nSample keybindings:\n{\n "Ctrl-Alt-K": "clearScrollback",\n "Ctrl-Shift-L": "PASS",\n "Ctrl-H": "\'HELLO\\n\'"\n}'],"max-string-sequence":[o.PreferenceManager.categories.Encoding,1e5,"int","Max length of a DCS, OSC, PM, or APS sequence before we give up and ignore the code."],"media-keys-are-fkeys":[o.PreferenceManager.categories.Keyboard,!1,"bool","If true, convert media keys to their Fkey equivalent. If false, let the browser handle the keys."],"meta-sends-escape":[o.PreferenceManager.categories.Keyboard,!0,"bool","Set whether the meta key sends a leading escape or not."],"mouse-right-click-paste":[o.PreferenceManager.categories.CopyPaste,!0,"bool",'Paste on right mouse button clicks.\n\nThis option is activate independent of the "mouse-paste-button" setting.\n\nNote: This will handle left & right handed mice correctly.'],"mouse-paste-button":[o.PreferenceManager.categories.CopyPaste,null,[null,0,1,2,3,4,5,6],"Mouse paste button, or null to autodetect.\n\nFor autodetect, we'll use the middle mouse button for non-X11 platforms (including Chrome OS). On X11, we'll use the right mouse button (since the native window manager should paste via the middle mouse button).\n\n0 == left (primary) button.\n1 == middle (auxiliary) button.\n2 == right (secondary) button.\n\nThis option is activate independent of the \"mouse-right-click-paste\" setting.\n\nNote: This will handle left & right handed mice correctly."],"word-break-match-left":[o.PreferenceManager.categories.CopyPaste,"[^\\s\\[\\](){}<>\"'\\^!@#$%&*,;:`]","string",'Regular expression to halt matching to the left (start) of a selection.\n\nNormally this is a character class to reject specific characters.\nWe allow "~" and "." by default as paths frequently start with those.'],"word-break-match-right":[o.PreferenceManager.categories.CopyPaste,"[^\\s\\[\\](){}<>\"'\\^!@#$%&*,;:~.`]","string","Regular expression to halt matching to the right (end) of a selection.\n\nNormally this is a character class to reject specific characters."],"word-break-match-middle":[o.PreferenceManager.categories.CopyPaste,"[^\\s\\[\\](){}<>\"'\\^]*","string","Regular expression to match all the characters in the middle.\n\nNormally this is a character class to reject specific characters.\n\nUsed to expand the selection surrounding the starting point."],"page-keys-scroll":[o.PreferenceManager.categories.Keyboard,!1,"bool","If true, page up/down will control the terminal scrollbar and shift page up/down will send the VT keycodes. If false then page up/down sends VT codes and shift page up/down scrolls."],"pass-alt-number":[o.PreferenceManager.categories.Keyboard,null,"tristate","Set whether we should pass Alt-1..9 to the browser.\n\nThis is handy when running hterm in a browser tab, so that you don't lose Chrome's \"switch to tab\" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs.\n\nIf true, Alt-1..9 will be handled by the browser. If false, Alt-1..9 will be sent to the host. If null, autodetect based on browser platform and window type."],"pass-ctrl-number":[o.PreferenceManager.categories.Keyboard,null,"tristate","Set whether we should pass Ctrl-1..9 to the browser.\n\nThis is handy when running hterm in a browser tab, so that you don't lose Chrome's \"switch to tab\" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs.\n\nIf true, Ctrl-1..9 will be handled by the browser. If false, Ctrl-1..9 will be sent to the host. If null, autodetect based on browser platform and window type."],"pass-meta-number":[o.PreferenceManager.categories.Keyboard,null,"tristate","Set whether we should pass Meta-1..9 to the browser.\n\nThis is handy when running hterm in a browser tab, so that you don't lose Chrome's \"switch to tab\" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs.\n\nIf true, Meta-1..9 will be handled by the browser. If false, Meta-1..9 will be sent to the host. If null, autodetect based on browser platform and window type."],"pass-meta-v":[o.PreferenceManager.categories.Keyboard,!0,"bool","Set whether meta-V gets passed to host."],"receive-encoding":[o.PreferenceManager.categories.Encoding,"utf-8",["utf-8","raw"],"Set the expected encoding for data received from the host.\n\nValid values are 'utf-8' and 'raw'."],"scroll-on-keystroke":[o.PreferenceManager.categories.Scrolling,!0,"bool","If true, scroll to the bottom on any keystroke."],"scroll-on-output":[o.PreferenceManager.categories.Scrolling,!1,"bool","If true, scroll to the bottom on terminal output."],"scrollbar-visible":[o.PreferenceManager.categories.Scrolling,!0,"bool","The vertical scrollbar mode."],"scroll-wheel-may-send-arrow-keys":[o.PreferenceManager.categories.Scrolling,!1,"bool","When using the alternative screen buffer, and DECCKM (Application Cursor Keys) is active, mouse wheel scroll events will emulate arrow keys.\n\nIt can be temporarily disabled by holding the shift key.\n\nThis frequently comes up when using pagers (less) or reading man pages or text editors (vi/nano) or using screen/tmux."],"scroll-wheel-move-multiplier":[o.PreferenceManager.categories.Scrolling,1,"int","The multiplier for the pixel delta in wheel events caused by the scroll wheel. Alters how fast the page scrolls."],"send-encoding":[o.PreferenceManager.categories.Encoding,"utf-8",["utf-8","raw"],"Set the encoding for data sent to host."],"terminal-encoding":[o.PreferenceManager.categories.Encoding,"iso-2022",["iso-2022","utf-8","utf-8-locked"],"The default terminal encoding (DOCS).\n\nISO-2022 enables character map translations (like graphics maps).\nUTF-8 disables support for those.\n\nThe locked variant means the encoding cannot be changed at runtime via terminal escape sequences.\n\nYou should stick with UTF-8 unless you notice broken rendering with legacy applications."],"shift-insert-paste":[o.PreferenceManager.categories.Keyboard,!0,"bool","Shift + Insert pastes if true, sent to host if false."],"user-css":[o.PreferenceManager.categories.Appearance,"","url","URL of user stylesheet to include in the terminal document."],"user-css-text":[o.PreferenceManager.categories.Appearance,"","multiline-string","Custom CSS text for styling the terminal."]},o.PreferenceManager.prototype=Object.create(i.PreferenceManager.prototype),o.PreferenceManager.constructor=o.PreferenceManager,o.PubSub=function(){this.observers_={}},o.PubSub.addBehavior=function(e){var t=new o.PubSub;for(var r in o.PubSub.prototype)e[r]=o.PubSub.prototype[r].bind(t)},o.PubSub.prototype.subscribe=function(e,t){e in this.observers_||(this.observers_[e]=[]),this.observers_[e].push(t)},o.PubSub.prototype.unsubscribe=function(e,t){var r=this.observers_[e];if(!r)throw"Invalid subject: "+e;var i=r.indexOf(t);if(i<0)throw"Not subscribed: "+e;r.splice(i,1)},o.PubSub.prototype.publish=function(e,t,r){function i(e){e=e&&this.setCursorPosition(this.cursorPosition.row,e-1)},o.Screen.prototype.shiftRow=function(){return this.shiftRows(1)[0]},o.Screen.prototype.shiftRows=function(e){return this.rowsArray.splice(0,e)},o.Screen.prototype.unshiftRow=function(e){this.rowsArray.splice(0,0,e)},o.Screen.prototype.unshiftRows=function(e){this.rowsArray.unshift.apply(this.rowsArray,e)},o.Screen.prototype.popRow=function(){return this.popRows(1)[0]},o.Screen.prototype.popRows=function(e){return this.rowsArray.splice(this.rowsArray.length-e,e)},o.Screen.prototype.pushRow=function(e){this.rowsArray.push(e)},o.Screen.prototype.pushRows=function(e){e.push.apply(this.rowsArray,e)},o.Screen.prototype.insertRow=function(e,t){this.rowsArray.splice(e,0,t)},o.Screen.prototype.insertRows=function(e,t){for(var r=0;r=this.rowsArray.length?(console.error("Row out of bounds: "+e),e=this.rowsArray.length-1):e<0&&(console.error("Row out of bounds: "+e),e=0),t>=this.columnCount_?(console.error("Column out of bounds: "+t),t=this.columnCount_-1):t<0&&(console.error("Column out of bounds: "+t),t=0),this.cursorPosition.overflow=!1;var r=this.rowsArray[e],i=r.firstChild;i||(i=r.ownerDocument.createTextNode(""),r.appendChild(i));var s=0;for(r==this.cursorRowNode_?t>=this.cursorPosition.column-this.cursorOffset_&&(i=this.cursorNode_,s=this.cursorPosition.column-this.cursorOffset_):this.cursorRowNode_=r,this.cursorPosition.move(e,t);i;){var n=t-s,a=o.TextAttributes.nodeWidth(i);if(!i.nextSibling||a>n)return this.cursorNode_=i,void(this.cursorOffset_=n);s+=a,i=i.nextSibling}}else console.warn("Attempt to set cursor position on empty screen.")},o.Screen.prototype.syncSelectionCaret=function(e){try{e.collapse(this.cursorNode_,this.cursorOffset_)}catch(e){}},o.Screen.prototype.splitNode_=function(e,t){var r=e.cloneNode(!1),s=e.textContent;e.textContent=o.TextAttributes.nodeSubstr(e,0,t),r.textContent=i.wc.substr(s,t),r.textContent&&e.parentNode.insertBefore(r,e.nextSibling),e.textContent||e.parentNode.removeChild(e)},o.Screen.prototype.maybeClipCurrentRow=function(){var e=o.TextAttributes.nodeWidth(this.cursorRowNode_);if(e<=this.columnCount_)this.cursorPosition.column>=this.columnCount_&&(this.setCursorPosition(this.cursorPosition.row,this.columnCount_-1),this.cursorPosition.overflow=!0);else{var t=this.cursorPosition.column;this.setCursorPosition(this.cursorPosition.row,this.columnCount_-1),e=o.TextAttributes.nodeWidth(this.cursorNode_),this.cursorOffset_o.TextAttributes.nodeWidth(e);){if(!e.hasAttribute("line-overflow")||!e.nextSibling)return-1;t-=o.TextAttributes.nodeWidth(e),e=e.nextSibling}return this.getNodeAndOffsetWithinRow_(e,t)},o.Screen.prototype.getNodeAndOffsetWithinRow_=function(e,t){for(var r=0;ro)){var p=i.wc.substring(h,o,i.wc.strWidth(h)),f=new RegExp("^"+l+a),g=p.match(f);if(g){var m=o+i.wc.strWidth(g[0]);-1==m||ms.rowIndex)t();else if(i.focusNode==i.anchorNode)i.anchorOffset=this.lastRowCount_},o.ScrollPort.prototype.drawTopFold_=function(e){if(!this.selection.startRow||this.selection.startRow.rowIndex>=e)this.rowNodes_.firstChild!=this.topFold_&&this.rowNodes_.insertBefore(this.topFold_,this.rowNodes_.firstChild);else{if(!this.selection.isMultiline||this.selection.endRow.rowIndex>=e)this.selection.startRow.nextSibling!=this.topFold_&&this.rowNodes_.insertBefore(this.topFold_,this.selection.startRow.nextSibling);else for(this.selection.endRow.nextSibling!=this.topFold_&&this.rowNodes_.insertBefore(this.topFold_,this.selection.endRow.nextSibling);this.selection.startRow.nextSibling!=this.selection.endRow;)this.rowNodes_.removeChild(this.selection.startRow.nextSibling);for(;this.rowNodes_.firstChild!=this.selection.startRow;)this.rowNodes_.removeChild(this.rowNodes_.firstChild)}},o.ScrollPort.prototype.drawBottomFold_=function(e){if(!this.selection.endRow||this.selection.endRow.rowIndex<=e)this.rowNodes_.lastChild!=this.bottomFold_&&this.rowNodes_.appendChild(this.bottomFold_);else{if(!this.selection.isMultiline||this.selection.startRow.rowIndex<=e)this.bottomFold_.nextSibling!=this.selection.endRow&&this.rowNodes_.insertBefore(this.bottomFold_,this.selection.endRow);else for(this.bottomFold_.nextSibling!=this.selection.startRow&&this.rowNodes_.insertBefore(this.bottomFold_,this.selection.startRow);this.selection.startRow.nextSibling!=this.selection.endRow;)this.rowNodes_.removeChild(this.selection.startRow.nextSibling);for(;this.rowNodes_.lastChild!=this.selection.endRow;)this.rowNodes_.removeChild(this.rowNodes_.lastChild)}},o.ScrollPort.prototype.drawVisibleRows_=function(e,t){function r(e,t){for(;e!=t;){if(!e)throw"Did not encounter target node";if(e==i.bottomFold_)throw"Encountered bottom fold before target node";var r=e;e=e.nextSibling,r.parentNode.removeChild(r)}}for(var i=this,o=this.selection.startRow,s=this.selection.endRow,n=this.bottomFold_,a=this.topFold_.nextSibling,l=Math.min(this.visibleRowCount,this.rowProvider_.getRowCount()),h=0;h=this.lastRowCount_;var t=e*this.characterSize.height+this.visibleRowTopMargin,r=this.getScrollMax_();t>r&&(t=r),this.screen_.scrollTop!=t&&(this.screen_.scrollTop=t,this.scheduleRedraw())},o.ScrollPort.prototype.scrollRowToBottom=function(e){this.syncScrollHeight(),this.isScrolledEnd=e+this.visibleRowCount>=this.lastRowCount_;var t=e*this.characterSize.height+this.visibleRowTopMargin+this.visibleRowBottomMargin;(t-=this.visibleRowCount*this.characterSize.height)<0&&(t=0),this.screen_.scrollTop!=t&&(this.screen_.scrollTop=t)},o.ScrollPort.prototype.getTopRowIndex=function(){return Math.round(this.screen_.scrollTop/this.characterSize.height)},o.ScrollPort.prototype.getBottomRowIndex=function(e){return e+this.visibleRowCount-1},o.ScrollPort.prototype.onScroll_=function(e){var t=this.getScreenSize();t.width==this.lastScreenWidth_&&t.height==this.lastScreenHeight_?(this.redraw_(),this.publish("scroll",{scrollPort:this})):this.resize()},o.ScrollPort.prototype.onScrollWheel=function(e){},o.ScrollPort.prototype.onScrollWheel_=function(e){if(this.onScrollWheel(e),!e.defaultPrevented){var t=this.scrollWheelDelta(e),r=this.screen_.scrollTop-t;r<0&&(r=0);var i=this.getScrollMax_();r>i&&(r=i),r!=this.screen_.scrollTop&&(this.screen_.scrollTop=r,e.preventDefault())}},o.ScrollPort.prototype.scrollWheelDelta=function(e){var t;switch(e.deltaMode){case WheelEvent.DOM_DELTA_PIXEL:t=e.deltaY*this.scrollWheelMultiplier_;break;case WheelEvent.DOM_DELTA_LINE:t=e.deltaY*this.characterSize.height;break;case WheelEvent.DOM_DELTA_PAGE:t=e.deltaY*this.characterSize.height*this.screen_.getHeight()}return-1*t},o.ScrollPort.prototype.onTouch=function(e){},o.ScrollPort.prototype.onTouch_=function(e){if(this.onTouch(e),!e.defaultPrevented){var t,r,i=function(e){return{id:e.identifier,y:e.clientY,x:e.clientX}};switch(e.type){case"touchstart":for(t=0;tn&&(s=n),s!=this.screen_.scrollTop&&(this.screen_.scrollTop=s)}e.preventDefault()}},o.ScrollPort.prototype.onResize_=function(e){this.syncCharacterSize(),this.resize()},o.ScrollPort.prototype.onCopy=function(e){},o.ScrollPort.prototype.onCopy_=function(e){if(this.onCopy(e),!e.defaultPrevented&&(this.resetSelectBags_(),this.selection.sync(),this.selection.startRow&&!(this.selection.endRow.rowIndex-this.selection.startRow.rowIndex<2))){var t=this.getTopRowIndex(),r=this.getBottomRowIndex(t);if(this.selection.startRow.rowIndexr){var o;o=this.selection.startRow.rowIndex>r?this.selection.startRow.rowIndex+1:this.bottomFold_.previousSibling.rowIndex+1,this.bottomSelectBag_.textContent=this.rowProvider_.getRowsText(o,this.selection.endRow.rowIndex),this.rowNodes_.insertBefore(this.bottomSelectBag_,this.selection.endRow)}}},o.ScrollPort.prototype.onBodyKeyDown_=function(e){if(this.ctrlVPaste){var t=String.fromCharCode(e.which).toLowerCase();(e.ctrlKey||e.metaKey)&&"v"==t&&this.pasteTarget_.focus()}},o.ScrollPort.prototype.onPaste_=function(e){this.pasteTarget_.focus();var t=this;setTimeout(function(){t.publish("paste",{text:t.pasteTarget_.value}),t.pasteTarget_.value="",t.screen_.focus()},0)},o.ScrollPort.prototype.handlePasteTargetTextInput_=function(e){e.stopPropagation()},o.ScrollPort.prototype.setScrollbarVisible=function(e){this.screen_.style.overflowY=e?"scroll":"hidden"},o.ScrollPort.prototype.setScrollWheelMoveMultipler=function(e){this.scrollWheelMultiplier_=e},i.rtdep("lib.colors","lib.PreferenceManager","lib.resource","lib.wc","lib.f","hterm.Keyboard","hterm.Options","hterm.PreferenceManager","hterm.Screen","hterm.ScrollPort","hterm.Size","hterm.TextAttributes","hterm.VT"),o.Terminal=function(e){this.profileId_=null,this.primaryScreen_=new o.Screen,this.alternateScreen_=new o.Screen,this.screen_=this.primaryScreen_,this.screenSize=new o.Size(0,0),this.scrollPort_=new o.ScrollPort(this),this.scrollPort_.subscribe("resize",this.onResize_.bind(this)),this.scrollPort_.subscribe("scroll",this.onScroll_.bind(this)),this.scrollPort_.subscribe("paste",this.onPaste_.bind(this)),this.scrollPort_.onCopy=this.onCopy_.bind(this),this.div_=null,this.document_=window.document,this.scrollbackRows_=[],this.tabStops_=[],this.defaultTabStops=!0,this.vtScrollTop_=null,this.vtScrollBottom_=null,this.cursorNode_=null,this.cursorShape_=o.Terminal.cursorShape.BLOCK,this.cursorColor_=null,this.cursorBlinkCycle_=[100,100],this.myOnCursorBlink_=this.onCursorBlink_.bind(this),this.backgroundColor_=null,this.foregroundColor_=null,this.scrollOnOutput_=null,this.scrollOnKeystroke_=null,this.scrollWheelArrowKeys_=null,this.defeatMouseReports_=!1,this.bellAudio_=this.document_.createElement("audio"),this.bellAudio_.id="hterm:bell-audio",this.bellAudio_.setAttribute("preload","auto"),this.bellNotificationList_=[],this.desktopNotificationBell_=!1,this.savedOptions_={},this.options_=new o.Options,this.timeouts_={},this.vt=new o.VT(this),this.keyboard=new o.Keyboard(this),this.io=new o.Terminal.IO(this),this.enableMouseDragScroll=!0,this.copyOnSelect=null,this.mouseRightClickPaste=null,this.mousePasteButton=null,this.useDefaultWindowCopy=!1,this.clearSelectionAfterCopy=!0,this.realizeSize_(80,24),this.setDefaultTabStops(),this.setProfile(e||"default",function(){this.onTerminalReady()}.bind(this))},o.Terminal.cursorShape={BLOCK:"BLOCK",BEAM:"BEAM",UNDERLINE:"UNDERLINE"},o.Terminal.prototype.onTerminalReady=function(){},o.Terminal.prototype.tabWidth=8,o.Terminal.prototype.setProfile=function(e,t){this.profileId_=e.replace(/\//g,"");var r=this;this.prefs_&&this.prefs_.deactivate(),this.prefs_=new o.PreferenceManager(this.profileId_),this.prefs_.addObservers(null,{"alt-gr-mode":function(e){e=null==e?"en-us"==navigator.language.toLowerCase()?"none":"right-alt":"string"==typeof e?e.toLowerCase():"none",/^(none|ctrl-alt|left-alt|right-alt)$/.test(e)||(e="none"),r.keyboard.altGrMode=e},"alt-backspace-is-meta-backspace":function(e){r.keyboard.altBackspaceIsMetaBackspace=e},"alt-is-meta":function(e){r.keyboard.altIsMeta=e},"alt-sends-what":function(e){/^(escape|8-bit|browser-key)$/.test(e)||(e="escape"),r.keyboard.altSendsWhat=e},"audible-bell-sound":function(e){var t=e.match(/^lib-resource:(\S+)/);t?r.bellAudio_.setAttribute("src",i.resource.getDataUrl(t[1])):r.bellAudio_.setAttribute("src",e)},"desktop-notification-bell":function(e){e&&Notification?(r.desktopNotificationBell_="granted"===Notification.permission,r.desktopNotificationBell_||console.warn("desktop-notification-bell is true but we do not have permission to display notifications.")):r.desktopNotificationBell_=!1},"background-color":function(e){r.setBackgroundColor(e)},"background-image":function(e){r.scrollPort_.setBackgroundImage(e)},"background-size":function(e){r.scrollPort_.setBackgroundSize(e)},"background-position":function(e){r.scrollPort_.setBackgroundPosition(e)},"backspace-sends-backspace":function(e){r.keyboard.backspaceSendsBackspace=e},"character-map-overrides":function(e){null==e||e instanceof Object?(r.vt.characterMaps.reset(),r.vt.characterMaps.setOverrides(e)):console.warn("Preference character-map-modifications is not an object: "+e)},"cursor-blink":function(e){r.setCursorBlink(!!e)},"cursor-blink-cycle":function(e){e instanceof Array&&"number"==typeof e[0]&&"number"==typeof e[1]?r.cursorBlinkCycle_=e:r.cursorBlinkCycle_="number"==typeof e?[e,e]:[100,100]},"cursor-color":function(e){r.setCursorColor(e)},"color-palette-overrides":function(e){if(null==e||e instanceof Object||e instanceof Array){if(i.colors.colorPalette=i.colors.stockColorPalette.concat(),e)for(var t in e){var o=parseInt(t);if(isNaN(o)||o<0||o>255)console.log("Invalid value in palette: "+t+": "+e[t]);else if(e[o]){var s=i.colors.normalizeCSS(e[o]);s&&(i.colors.colorPalette[o]=s)}}r.primaryScreen_.textAttributes.resetColorPalette(),r.alternateScreen_.textAttributes.resetColorPalette()}else console.warn("Preference color-palette-overrides is not an array or object: "+e)},"copy-on-select":function(e){r.copyOnSelect=!!e},"use-default-window-copy":function(e){r.useDefaultWindowCopy=!!e},"clear-selection-after-copy":function(e){r.clearSelectionAfterCopy=!!e},"ctrl-plus-minus-zero-zoom":function(e){r.keyboard.ctrlPlusMinusZeroZoom=e},"ctrl-c-copy":function(e){r.keyboard.ctrlCCopy=e},"ctrl-v-paste":function(e){r.keyboard.ctrlVPaste=e,r.scrollPort_.setCtrlVPaste(e)},"east-asian-ambiguous-as-two-column":function(e){i.wc.regardCjkAmbiguous=e},"enable-8-bit-control":function(e){r.vt.enable8BitControl=!!e},"enable-bold":function(e){r.syncBoldSafeState()},"enable-bold-as-bright":function(e){r.primaryScreen_.textAttributes.enableBoldAsBright=!!e,r.alternateScreen_.textAttributes.enableBoldAsBright=!!e},"enable-blink":function(e){r.syncBlinkState()},"enable-clipboard-write":function(e){r.vt.enableClipboardWrite=!!e},"enable-dec12":function(e){r.vt.enableDec12=!!e},"font-family":function(e){r.syncFontFamily()},"font-size":function(e){r.setFontSize(e)},"font-smoothing":function(e){r.syncFontFamily()},"foreground-color":function(e){r.setForegroundColor(e)},"home-keys-scroll":function(e){r.keyboard.homeKeysScroll=e},keybindings:function(e){if(r.keyboard.bindings.clear(),e)if(e instanceof Object)try{r.keyboard.bindings.addBindings(e)}catch(e){console.error("Error in keybindings preference: "+e)}else console.error("Error in keybindings preference: Expected object")},"max-string-sequence":function(e){r.vt.maxStringSequence=e},"media-keys-are-fkeys":function(e){r.keyboard.mediaKeysAreFKeys=e},"meta-sends-escape":function(e){r.keyboard.metaSendsEscape=e},"mouse-right-click-paste":function(e){r.mouseRightClickPaste=e},"mouse-paste-button":function(e){r.syncMousePasteButton()},"page-keys-scroll":function(e){r.keyboard.pageKeysScroll=e},"pass-alt-number":function(e){null==e&&(e=!window.navigator.userAgent.match(/Mac OS X/)&&"popup"!=o.windowType),r.passAltNumber=e},"pass-ctrl-number":function(e){null==e&&(e=!window.navigator.userAgent.match(/Mac OS X/)&&"popup"!=o.windowType),r.passCtrlNumber=e},"pass-meta-number":function(e){null==e&&(e=window.navigator.userAgent.match(/Mac OS X/)&&"popup"!=o.windowType),r.passMetaNumber=e},"pass-meta-v":function(e){r.keyboard.passMetaV=e},"receive-encoding":function(e){/^(utf-8|raw)$/.test(e)||(console.warn('Invalid value for "receive-encoding": '+e),e="utf-8"),r.vt.characterEncoding=e},"scroll-on-keystroke":function(e){r.scrollOnKeystroke_=e},"scroll-on-output":function(e){r.scrollOnOutput_=e},"scrollbar-visible":function(e){r.setScrollbarVisible(e)},"scroll-wheel-may-send-arrow-keys":function(e){r.scrollWheelArrowKeys_=e},"scroll-wheel-move-multiplier":function(e){r.setScrollWheelMoveMultipler(e)},"send-encoding":function(e){/^(utf-8|raw)$/.test(e)||(console.warn('Invalid value for "send-encoding": '+e),e="utf-8"),r.keyboard.characterEncoding=e},"shift-insert-paste":function(e){r.keyboard.shiftInsertPaste=e},"terminal-encoding":function(e){r.vt.setEncoding(e)},"user-css":function(e){r.scrollPort_.setUserCssUrl(e)},"user-css-text":function(e){r.scrollPort_.setUserCssText(e)},"word-break-match-left":function(e){r.primaryScreen_.wordBreakMatchLeft=e,r.alternateScreen_.wordBreakMatchLeft=e},"word-break-match-right":function(e){r.primaryScreen_.wordBreakMatchRight=e,r.alternateScreen_.wordBreakMatchRight=e},"word-break-match-middle":function(e){r.primaryScreen_.wordBreakMatchMiddle=e,r.alternateScreen_.wordBreakMatchMiddle=e}}),this.prefs_.readStorage(function(){this.prefs_.notifyAll(),t&&t()}.bind(this))},o.Terminal.prototype.getPrefs=function(){return this.prefs_},o.Terminal.prototype.setBracketedPaste=function(e){this.options_.bracketedPaste=e},o.Terminal.prototype.setCursorColor=function(e){this.cursorColor_=e,this.cursorNode_.style.backgroundColor=e,this.cursorNode_.style.borderColor=e},o.Terminal.prototype.getCursorColor=function(){return this.cursorColor_},o.Terminal.prototype.setSelectionEnabled=function(e){this.enableMouseDragScroll=e},o.Terminal.prototype.setBackgroundColor=function(e){this.backgroundColor_=i.colors.normalizeCSS(e),this.primaryScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.alternateScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.scrollPort_.setBackgroundColor(e)},o.Terminal.prototype.getBackgroundColor=function(){return this.backgroundColor_},o.Terminal.prototype.setForegroundColor=function(e){this.foregroundColor_=i.colors.normalizeCSS(e),this.primaryScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.alternateScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.scrollPort_.setForegroundColor(e)},o.Terminal.prototype.getForegroundColor=function(){return this.foregroundColor_},o.Terminal.prototype.runCommandClass=function(e,t){var r=this.prefs_.get("environment");"object"==typeof r&&null!=r||(r={});var i=this;this.command=new e({argString:t||"",io:this.io.push(),environment:r,onExit:function(e){i.io.pop(),i.uninstallKeyboard(),i.prefs_.get("close-on-exit")&&window.close()}}),this.installKeyboard(),this.command.run()},o.Terminal.prototype.isPrimaryScreen=function(){return this.screen_==this.primaryScreen_},o.Terminal.prototype.installKeyboard=function(){this.keyboard.installKeyboard(this.scrollPort_.getDocument().body)},o.Terminal.prototype.uninstallKeyboard=function(){this.keyboard.installKeyboard(null)},o.Terminal.prototype.setCssVar=function(e,t,r="--hterm-"){this.document_.documentElement.style.setProperty(`${r}${e}`,t)},o.Terminal.prototype.setFontSize=function(e){0===e&&(e=this.prefs_.get("font-size")),this.scrollPort_.setFontSize(e),this.setCssVar("charsize-width",this.scrollPort_.characterSize.width+"px"),this.setCssVar("charsize-height",this.scrollPort_.characterSize.height+"px")},o.Terminal.prototype.getFontSize=function(){return this.scrollPort_.getFontSize()},o.Terminal.prototype.getFontFamily=function(){return this.scrollPort_.getFontFamily()},o.Terminal.prototype.syncFontFamily=function(){this.scrollPort_.setFontFamily(this.prefs_.get("font-family"),this.prefs_.get("font-smoothing")),this.syncBoldSafeState()},o.Terminal.prototype.syncMousePasteButton=function(){var e=this.prefs_.get("mouse-paste-button");if("number"!=typeof e){var t=navigator.userAgent.match(/\(X11;\s+(\S+)/);t&&"CrOS"!=t[1]?this.mousePasteButton=2:this.mousePasteButton=1}else this.mousePasteButton=e},o.Terminal.prototype.syncBoldSafeState=function(){var e=this.prefs_.get("enable-bold");if(null!==e)return this.primaryScreen_.textAttributes.enableBold=e,void(this.alternateScreen_.textAttributes.enableBold=e);var t=this.scrollPort_.measureCharacterSize(),r=this.scrollPort_.measureCharacterSize("bold"),i=t.equals(r);i||console.warn("Bold characters disabled: Size of bold weight differs from normal. Font family is: "+this.scrollPort_.getFontFamily()),this.primaryScreen_.textAttributes.enableBold=i,this.alternateScreen_.textAttributes.enableBold=i},o.Terminal.prototype.syncBlinkState=function(){this.setCssVar("node-duration",this.prefs_.get("enable-blink")?"0.7s":"0")},o.Terminal.prototype.syncMouseStyle=function(){this.setCssVar("mouse-cursor-style",this.vt.mouseReport==this.vt.MOUSE_REPORT_DISABLED?"var(--hterm-mouse-cursor-text)":"var(--hterm-mouse-cursor-pointer)")},o.Terminal.prototype.saveCursor=function(){return this.screen_.cursorPosition.clone()},o.Terminal.prototype.getTextAttributes=function(){return this.screen_.textAttributes},o.Terminal.prototype.setTextAttributes=function(e){this.screen_.textAttributes=e},o.Terminal.prototype.getZoomFactor=function(){return this.scrollPort_.characterSize.zoomFactor},o.Terminal.prototype.setWindowTitle=function(e){window.document.title=e},o.Terminal.prototype.restoreCursor=function(e){var t=i.f.clamp(e.row,0,this.screenSize.height-1),r=i.f.clamp(e.column,0,this.screenSize.width-1);this.screen_.setCursorPosition(t,r),(e.column>r||e.column==r&&e.overflow)&&(this.screen_.cursorPosition.overflow=!0)},o.Terminal.prototype.clearCursorOverflow=function(){this.screen_.cursorPosition.overflow=!1},o.Terminal.prototype.setCursorShape=function(e){this.cursorShape_=e,this.restyleCursor_()},o.Terminal.prototype.getCursorShape=function(){return this.cursorShape_},o.Terminal.prototype.setWidth=function(e){null!=e?(this.div_.style.width=Math.ceil(this.scrollPort_.characterSize.width*e+this.scrollPort_.currentScrollbarWidthPx)+"px",this.realizeSize_(e,this.screenSize.height),this.scheduleSyncCursorPosition_()):this.div_.style.width="100%"},o.Terminal.prototype.setHeight=function(e){null!=e?(this.div_.style.height=this.scrollPort_.characterSize.height*e+"px",this.realizeSize_(this.screenSize.width,e),this.scheduleSyncCursorPosition_()):this.div_.style.height="100%"},o.Terminal.prototype.realizeSize_=function(e,t){e!=this.screenSize.width&&this.realizeWidth_(e),t!=this.screenSize.height&&this.realizeHeight_(t),this.io.onTerminalResize_(e,t)},o.Terminal.prototype.realizeWidth_=function(e){if(e<=0)throw new Error("Attempt to realize bad width: "+e);var t=e-this.screen_.getWidth();if(this.screenSize.width=e,this.screen_.setColumnCount(e),t>0)this.defaultTabStops&&this.setDefaultTabStops(this.screenSize.width-t);else for(var r=this.tabStops_.length-1;r>=0&&!(this.tabStops_[r]0){if(t<=this.scrollbackRows_.length){var s=Math.min(t,this.scrollbackRows_.length),n=this.scrollbackRows_.splice(this.scrollbackRows_.length-s,s);this.screen_.unshiftRows(n),t-=s,r.row+=s}t&&this.appendRows_(t)}this.setVTScrollRegion(null,null),this.restoreCursor(r)},o.Terminal.prototype.scrollHome=function(){this.scrollPort_.scrollRowToTop(0)},o.Terminal.prototype.scrollEnd=function(){this.scrollPort_.scrollRowToBottom(this.getRowCount())},o.Terminal.prototype.scrollPageUp=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e-this.screenSize.height+1)},o.Terminal.prototype.scrollPageDown=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e+this.screenSize.height-1)},o.Terminal.prototype.scrollLineUp=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e-1)},o.Terminal.prototype.scrollLineDown=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e+1)},o.Terminal.prototype.wipeContents=function(){this.scrollbackRows_.length=0,this.scrollPort_.resetCache(),[this.primaryScreen_,this.alternateScreen_].forEach(function(e){var t=e.getHeight();t>0&&(this.renumberRows_(0,t),this.clearHome(e))}.bind(this)),this.syncCursorPosition_(),this.scrollPort_.invalidate()},o.Terminal.prototype.reset=function(){this.clearAllTabStops(),this.setDefaultTabStops(),this.clearHome(this.primaryScreen_),this.primaryScreen_.textAttributes.reset(),this.clearHome(this.alternateScreen_),this.alternateScreen_.textAttributes.reset(),this.setCursorBlink(!!this.prefs_.get("cursor-blink")),this.vt.reset(),this.softReset()},o.Terminal.prototype.softReset=function(){this.options_=new o.Options,this.options_.cursorBlink=!!this.timeouts_.cursorBlink,this.primaryScreen_.textAttributes.resetColorPalette(),this.alternateScreen_.textAttributes.resetColorPalette(),this.setVTScrollRegion(null,null),this.setCursorVisible(!0)},o.Terminal.prototype.forwardTabStop=function(){for(var e=this.screen_.cursorPosition.column,t=0;te)return void this.setCursorColumn(this.tabStops_[t]);var r=this.screen_.cursorPosition.overflow;this.setCursorColumn(this.screenSize.width-1),this.screen_.cursorPosition.overflow=r},o.Terminal.prototype.backwardTabStop=function(){for(var e=this.screen_.cursorPosition.column,t=this.tabStops_.length-1;t>=0;t--)if(this.tabStops_[t]=0;t--){if(this.tabStops_[t]==e)return;if(this.tabStops_[t]0){var n=this.screen_.shiftRows(s);Array.prototype.push.apply(this.scrollbackRows_,n),this.scrollPort_.isScrolledEnd&&this.scheduleScrollDown_()}t>=this.screen_.rowsArray.length&&(t=this.screen_.rowsArray.length-1),this.setAbsoluteCursorPosition(t,0)},o.Terminal.prototype.moveRows_=function(e,t,r){var i=this.screen_.removeRows(e,t);this.screen_.insertRows(r,i);var o,s;e=this.screenSize.width&&(a=!0,n=this.screenSize.width-this.screen_.cursorPosition.column),a&&!this.options_.wraparound?(s=i.wc.substr(e,t,n-1)+i.wc.substr(e,r-1),n=r):s=i.wc.substr(e,t,n);for(var l=o.TextAttributes.splitWidecharString(s),h=0;h=0;o--)this.setAbsoluteCursorPosition(t+o,0),this.screen_.clearCursorRow()},o.Terminal.prototype.deleteLines=function(e){var t=this.saveCursor(),r=t.row,i=this.getVTScrollBottom(),o=i-r+1,s=i-(e=Math.min(e,o))+1;e!=o&&this.moveRows_(r,e,s);for(var n=0;nt)this.setCssVar("cursor-offset-row","-1");else{this.options_.cursorVisible&&"none"==this.cursorNode_.style.display&&(this.cursorNode_.style.display=""),this.setCssVar("cursor-offset-row",`${r-e} + `+`${this.scrollPort_.visibleRowTopMargin}px`),this.setCssVar("cursor-offset-col",this.screen_.cursorPosition.column),this.cursorNode_.setAttribute("title","("+this.screen_.cursorPosition.column+", "+this.screen_.cursorPosition.row+")");var i=this.document_.getSelection();i&&i.isCollapsed&&this.screen_.syncSelectionCaret(i)}},o.Terminal.prototype.restyleCursor_=function(){var e=this.cursorShape_;"false"==this.cursorNode_.getAttribute("focus")&&(e=o.Terminal.cursorShape.BLOCK);var t=this.cursorNode_.style;switch(e){case o.Terminal.cursorShape.BEAM:t.height="var(--hterm-charsize-height)",t.backgroundColor="transparent",t.borderBottomStyle=null,t.borderLeftStyle="solid";break;case o.Terminal.cursorShape.UNDERLINE:t.height=this.scrollPort_.characterSize.baseline+"px",t.backgroundColor="transparent",t.borderBottomStyle="solid",t.borderLeftStyle=null;break;default:t.height="var(--hterm-charsize-height)",t.backgroundColor=this.cursorColor_,t.borderBottomStyle=null,t.borderLeftStyle=null}},o.Terminal.prototype.scheduleSyncCursorPosition_=function(){if(!this.timeouts_.syncCursor){var e=this;this.timeouts_.syncCursor=setTimeout(function(){e.syncCursorPosition_(),delete e.timeouts_.syncCursor},0)}},o.Terminal.prototype.showZoomWarning_=function(e){if(!this.zoomWarningNode_){if(!e)return;this.zoomWarningNode_=this.document_.createElement("div"),this.zoomWarningNode_.id="hterm:zoom-warning",this.zoomWarningNode_.style.cssText="color: black;background-color: #ff2222;font-size: large;border-radius: 8px;opacity: 0.75;padding: 0.2em 0.5em 0.2em 0.5em;top: 0.5em;right: 1.2em;position: absolute;-webkit-text-size-adjust: none;-webkit-user-select: none;-moz-text-size-adjust: none;-moz-user-select: none;",this.zoomWarningNode_.addEventListener("click",function(e){this.parentNode.removeChild(this)})}this.zoomWarningNode_.textContent=i.MessageManager.replaceReferences(o.zoomWarningMessage,[parseInt(100*this.scrollPort_.characterSize.zoomFactor)]),this.zoomWarningNode_.style.fontFamily=this.prefs_.get("font-family"),e?this.zoomWarningNode_.parentNode||this.div_.parentNode.appendChild(this.zoomWarningNode_):this.zoomWarningNode_.parentNode&&this.zoomWarningNode_.parentNode.removeChild(this.zoomWarningNode_)},o.Terminal.prototype.showOverlay=function(e,t){if(!this.overlayNode_){if(!this.div_)return;this.overlayNode_=this.document_.createElement("div"),this.overlayNode_.style.cssText="border-radius: 15px;font-size: xx-large;opacity: 0.75;padding: 0.2em 0.5em 0.2em 0.5em;position: absolute;-webkit-user-select: none;-webkit-transition: opacity 180ms ease-in;-moz-user-select: none;-moz-transition: opacity 180ms ease-in;",this.overlayNode_.addEventListener("mousedown",function(e){e.preventDefault(),e.stopPropagation()},!0)}this.overlayNode_.style.color=this.prefs_.get("background-color"),this.overlayNode_.style.backgroundColor=this.prefs_.get("foreground-color"),this.overlayNode_.style.fontFamily=this.prefs_.get("font-family"),this.overlayNode_.textContent=e,this.overlayNode_.style.opacity="0.75",this.overlayNode_.parentNode||this.div_.appendChild(this.overlayNode_);var r=o.getClientSize(this.div_),i=o.getClientSize(this.overlayNode_);this.overlayNode_.style.top=(r.height-i.height)/2+"px",this.overlayNode_.style.left=(r.width-i.width-this.scrollPort_.currentScrollbarWidthPx)/2+"px";var s=this;this.overlayTimeout_&&clearTimeout(this.overlayTimeout_),null!==t&&(this.overlayTimeout_=setTimeout(function(){s.overlayNode_.style.opacity="0",s.overlayTimeout_=setTimeout(function(){s.overlayNode_.parentNode&&s.overlayNode_.parentNode.removeChild(s.overlayNode_),s.overlayTimeout_=null,s.overlayNode_.style.opacity="0.75"},200)},t||1500))},o.Terminal.prototype.paste=function(){return o.pasteFromClipboard(this.document_)},o.Terminal.prototype.copyStringToClipboard=function(e){this.prefs_.get("enable-clipboard-notice")&&setTimeout(this.showOverlay.bind(this,o.notifyCopyMessage,500),200);var t=this.document_.createElement("pre");t.id="hterm:copy-to-clipboard-source",t.textContent=e,t.style.cssText="-webkit-user-select: text;-moz-user-select: text;position: absolute;top: -99px",this.document_.body.appendChild(t);var r=this.document_.getSelection(),i=r.anchorNode,s=r.anchorOffset,n=r.focusNode,a=r.focusOffset;r.selectAllChildren(t),o.copySelectionToClipboard(this.document_),r.extend&&(r.collapse(i,s),r.extend(n,a)),t.parentNode.removeChild(t)},o.Terminal.prototype.getSelectionText=function(){var e=this.scrollPort_.selection;if(e.sync(),e.isCollapsed)return null;var t=e.startOffset,r=e.startNode;if("X-ROW"!=r.nodeName)for("#text"==r.nodeName&&"SPAN"==r.parentNode.nodeName&&(r=r.parentNode);r.previousSibling;)r=r.previousSibling,t+=o.TextAttributes.nodeWidth(r);var s=o.TextAttributes.nodeWidth(e.endNode)-e.endOffset;if("X-ROW"!=(r=e.endNode).nodeName)for("#text"==r.nodeName&&"SPAN"==r.parentNode.nodeName&&(r=r.parentNode);r.nextSibling;)r=r.nextSibling,s+=o.TextAttributes.nodeWidth(r);var n=this.getRowsText(e.startRow.rowIndex,e.endRow.rowIndex+1);return i.wc.substring(n,t,i.wc.strWidth(n)-s)},o.Terminal.prototype.copySelectionToClipboard=function(){var e=this.getSelectionText();null!=e&&this.copyStringToClipboard(e)},o.Terminal.prototype.overlaySize=function(){this.showOverlay(this.screenSize.width+"x"+this.screenSize.height)},o.Terminal.prototype.onVTKeystroke=function(e){this.scrollOnKeystroke_&&this.scrollPort_.scrollRowToBottom(this.getRowCount()),this.io.onVTKeystroke(this.keyboard.encode(e))},o.Terminal.prototype.openUrl=function(e){window.chrome&&window.chrome.browser?chrome.browser.openTab({url:e}):window.open(e,"_blank").focus()},o.Terminal.prototype.openSelectedUrl_=function(){var e=this.getSelectionText();if((null!=e||(this.screen_.expandSelection(this.document_.getSelection()),null!=(e=this.getSelectionText())))&&!(e.length>2048||e.search(/[\s\[\](){}<>"'\\^`]/)>=0)){if(e.search("^[a-zA-Z][a-zA-Z0-9+.-]*://")<0)switch(e.split(":",1)[0]){case"mailto":break;default:e="http://"+e}this.openUrl(e)}},o.Terminal.prototype.onMouse_=function(e){if(!e.processedByTerminalHandler_){var t=!this.defeatMouseReports_&&this.vt.mouseReport!=this.vt.MOUSE_REPORT_DISABLED;if(e.processedByTerminalHandler_=!0,e.terminalRow=parseInt((e.clientY-this.scrollPort_.visibleRowTopMargin)/this.scrollPort_.characterSize.height)+1,e.terminalColumn=parseInt(e.clientX/this.scrollPort_.characterSize.width)+1,!("mousedown"==e.type&&e.terminalColumn>this.screenSize.width)){if(this.options_.cursorVisible&&!t&&(e.terminalRow-1==this.screen_.cursorPosition.row&&e.terminalColumn-1==this.screen_.cursorPosition.column?this.cursorNode_.style.display="none":"none"==this.cursorNode_.style.display&&(this.cursorNode_.style.display="")),"mousedown"==e.type&&(e.altKey||!t?(this.defeatMouseReports_=!0,this.setSelectionEnabled(!0)):(this.defeatMouseReports_=!1,this.document_.getSelection().collapseToEnd(),this.setSelectionEnabled(!1),e.preventDefault())),t)this.scrollBlockerNode_.engaged||("mousedown"==e.type?(this.scrollBlockerNode_.engaged=!0,this.scrollBlockerNode_.style.top=e.clientY-5+"px",this.scrollBlockerNode_.style.left=e.clientX-5+"px"):"mousemove"==e.type&&(this.document_.getSelection().collapseToEnd(),e.preventDefault())),this.onMouse(e);else{if("dblclick"==e.type&&this.copyOnSelect&&(this.screen_.expandSelection(this.document_.getSelection()),this.copySelectionToClipboard(this.document_)),"click"==e.type&&!e.shiftKey&&(e.ctrlKey||e.metaKey))return clearTimeout(this.timeouts_.openUrl),void(this.timeouts_.openUrl=setTimeout(this.openSelectedUrl_.bind(this),500));if("mousedown"==e.type&&(this.mouseRightClickPaste&&2==e.button||e.button==this.mousePasteButton)&&(this.paste()||console.warning("Could not paste manually due to web restrictions")),"mouseup"==e.type&&0==e.button&&this.copyOnSelect&&!this.document_.getSelection().isCollapsed&&this.copySelectionToClipboard(this.document_),"mousemove"!=e.type&&"mouseup"!=e.type||!this.scrollBlockerNode_.engaged||(this.scrollBlockerNode_.engaged=!1,this.scrollBlockerNode_.style.top="-99px"),this.scrollWheelArrowKeys_&&!e.shiftKey&&this.keyboard.applicationCursor&&!this.isPrimaryScreen()&&"wheel"==e.type){var r=this.scrollPort_.scrollWheelDelta(e),o=i.f.smartFloorDivide(Math.abs(r),this.scrollPort_.characterSize.height),s="O"+(r<0?"B":"A");this.io.sendString(s.repeat(o)),e.preventDefault()}}"mouseup"==e.type&&this.document_.getSelection().isCollapsed&&(this.defeatMouseReports_=!1)}}},o.Terminal.prototype.onMouse=function(e){},o.Terminal.prototype.onFocusChange_=function(e){this.cursorNode_.setAttribute("focus",e),this.restyleCursor_(),!0===e&&this.closeBellNotifications_()},o.Terminal.prototype.onScroll_=function(){this.scheduleSyncCursorPosition_()},o.Terminal.prototype.onPaste_=function(e){var t=e.text.replace(/\n/gm,"\r");t=this.keyboard.encode(t),this.options_.bracketedPaste&&(t="[200~"+t+"[201~"),this.io.sendString(t)},o.Terminal.prototype.onCopy_=function(e){this.useDefaultWindowCopy||(e.preventDefault(),setTimeout(this.copySelectionToClipboard.bind(this),0))},o.Terminal.prototype.onResize_=function(){var e=Math.floor(this.scrollPort_.getScreenWidth()/this.scrollPort_.characterSize.width)||0,t=i.f.smartFloorDivide(this.scrollPort_.getScreenHeight(),this.scrollPort_.characterSize.height)||0;if(!(e<=0||t<=0)){var r=e!=this.screenSize.width||t!=this.screenSize.height;this.realizeSize_(e,t),this.showZoomWarning_(1!=this.scrollPort_.characterSize.zoomFactor),r&&this.overlaySize(),this.restyleCursor_(),this.scheduleSyncCursorPosition_()}},o.Terminal.prototype.onCursorBlink_=function(){this.options_.cursorBlink?"false"==this.cursorNode_.getAttribute("focus")||"0"==this.cursorNode_.style.opacity?(this.cursorNode_.style.opacity="1",this.timeouts_.cursorBlink=setTimeout(this.myOnCursorBlink_,this.cursorBlinkCycle_[0])):(this.cursorNode_.style.opacity="0",this.timeouts_.cursorBlink=setTimeout(this.myOnCursorBlink_,this.cursorBlinkCycle_[1])):delete this.timeouts_.cursorBlink},o.Terminal.prototype.setScrollbarVisible=function(e){this.scrollPort_.setScrollbarVisible(e)},o.Terminal.prototype.setScrollWheelMoveMultipler=function(e){this.scrollPort_.setScrollWheelMoveMultipler(e)},o.Terminal.prototype.closeBellNotifications_=function(){this.bellNotificationList_.forEach(function(e){e.close()}),this.bellNotificationList_.length=0},i.rtdep("lib.encodeUTF8"),o.Terminal.IO=function(e){this.terminal_=e,this.previousIO_=null},o.Terminal.IO.prototype.showOverlay=function(e,t){this.terminal_.showOverlay(e,t)},o.Terminal.IO.prototype.createFrame=function(e,t){return new o.Frame(this.terminal_,e,t)},o.Terminal.IO.prototype.setTerminalProfile=function(e){this.terminal_.setProfile(e)},o.Terminal.IO.prototype.push=function(){var e=new o.Terminal.IO(this.terminal_);return e.keyboardCaptured_=this.keyboardCaptured_,e.columnCount=this.columnCount,e.rowCount=this.rowCount,e.previousIO_=this.terminal_.io,this.terminal_.io=e,e},o.Terminal.IO.prototype.pop=function(){this.terminal_.io=this.previousIO_},o.Terminal.IO.prototype.sendString=function(e){console.log("Unhandled sendString: "+e)},o.Terminal.IO.prototype.onVTKeystroke=function(e){console.log("Unobserverd VT keystroke: "+JSON.stringify(e))},o.Terminal.IO.prototype.onTerminalResize_=function(e,t){for(var r=this;r;)r.columnCount=e,r.rowCount=t,r=r.previousIO_;this.onTerminalResize(e,t)},o.Terminal.IO.prototype.onTerminalResize=function(e,t){},o.Terminal.IO.prototype.writeUTF8=function(e){if(this.terminal_.io!=this)throw"Attempt to print from inactive IO object.";this.terminal_.interpret(e)},o.Terminal.IO.prototype.writelnUTF8=function(e){if(this.terminal_.io!=this)throw"Attempt to print from inactive IO object.";this.terminal_.interpret(e+"\r\n")},o.Terminal.IO.prototype.print=o.Terminal.IO.prototype.writeUTF16=function(e){this.writeUTF8(i.encodeUTF8(e))},o.Terminal.IO.prototype.println=o.Terminal.IO.prototype.writelnUTF16=function(e){this.writelnUTF8(i.encodeUTF8(e))},i.rtdep("lib.colors"),o.TextAttributes=function(e){this.document_=e,this.foregroundSource=this.SRC_DEFAULT,this.backgroundSource=this.SRC_DEFAULT,this.foreground=this.DEFAULT_COLOR,this.background=this.DEFAULT_COLOR,this.defaultForeground="rgb(255, 255, 255)",this.defaultBackground="rgb(0, 0, 0)",this.bold=!1,this.faint=!1,this.italic=!1,this.blink=!1,this.underline=!1,this.strikethrough=!1,this.inverse=!1,this.invisible=!1,this.wcNode=!1,this.asciiNode=!0,this.tileData=null,this.colorPalette=null,this.resetColorPalette()},o.TextAttributes.prototype.enableBold=!0,o.TextAttributes.prototype.enableBoldAsBright=!0,o.TextAttributes.prototype.DEFAULT_COLOR=i.f.createEnum(""),o.TextAttributes.prototype.SRC_DEFAULT="default",o.TextAttributes.prototype.SRC_RGB="rgb",o.TextAttributes.prototype.setDocument=function(e){this.document_=e},o.TextAttributes.prototype.clone=function(){var e=new o.TextAttributes(null);for(var t in this)e[t]=this[t];return e.colorPalette=this.colorPalette.concat(),e},o.TextAttributes.prototype.reset=function(){this.foregroundSource=this.SRC_DEFAULT,this.backgroundSource=this.SRC_DEFAULT,this.foreground=this.DEFAULT_COLOR,this.background=this.DEFAULT_COLOR,this.bold=!1,this.faint=!1,this.italic=!1,this.blink=!1,this.underline=!1,this.strikethrough=!1,this.inverse=!1,this.invisible=!1,this.wcNode=!1,this.asciiNode=!0},o.TextAttributes.prototype.resetColorPalette=function(){this.colorPalette=i.colors.colorPalette.concat(),this.syncColors()},o.TextAttributes.prototype.isDefault=function(){return this.foregroundSource==this.SRC_DEFAULT&&this.backgroundSource==this.SRC_DEFAULT&&!this.bold&&!this.faint&&!this.italic&&!this.blink&&!this.underline&&!this.strikethrough&&!this.inverse&&!this.invisible&&!this.wcNode&&this.asciiNode&&null==this.tileData},o.TextAttributes.prototype.createContainer=function(e){if(this.isDefault())return this.document_.createTextNode(e);var t=this.document_.createElement("span"),r=t.style,i=[];this.foreground!=this.DEFAULT_COLOR&&(r.color=this.foreground),this.background!=this.DEFAULT_COLOR&&(r.backgroundColor=this.background),this.enableBold&&this.bold&&(r.fontWeight="bold"),this.faint&&(t.faint=!0),this.italic&&(r.fontStyle="italic"),this.blink&&(i.push("blink-node"),t.blinkNode=!0);var o="";return this.underline&&(o+=" underline",t.underline=!0),this.strikethrough&&(o+=" line-through",t.strikethrough=!0),o&&(r.textDecoration=o),this.wcNode&&(i.push("wc-node"),t.wcNode=!0,t.asciiNode=!1),null!=this.tileData&&(i.push("tile"),i.push("tile_"+this.tileData),t.tileNode=!0),e&&(t.textContent=e),i.length&&(t.className=i.join(" ")),t},o.TextAttributes.prototype.matchesContainer=function(e){if("string"==typeof e||3==e.nodeType)return this.isDefault();var t=e.style;return!(this.wcNode||e.wcNode||this.asciiNode!=this.asciiNode||null!=this.tileData||e.tileNode||this.foreground!=t.color||this.background!=t.backgroundColor||(this.enableBold&&this.bold)!=!!t.fontWeight||this.blink!=e.blinkNode||this.italic!=!!t.fontStyle||!!this.underline!=!!e.underline||!!this.strikethrough!=!!e.strikethrough)},o.TextAttributes.prototype.setDefaults=function(e,t){this.defaultForeground=e,this.defaultBackground=t,this.syncColors()},o.TextAttributes.prototype.syncColors=function(){var e=this.foregroundSource,t=this.backgroundSource,r=this.DEFAULT_COLOR,o=this.DEFAULT_COLOR;if(this.inverse&&(e=this.backgroundSource,t=this.foregroundSource,r=this.defaultBackground,o=this.defaultForeground),this.enableBoldAsBright&&this.bold&&e!=this.SRC_DEFAULT&&e!=this.SRC_RGB&&(e=function(e){return e<8?e+8:e}(e)),this.invisible&&(e=t,r=this.defaultBackground),e!=this.SRC_RGB&&(this.foreground=e==this.SRC_DEFAULT?r:this.colorPalette[e]),this.faint&&!this.invisible){var s=this.foreground==this.DEFAULT_COLOR?this.defaultForeground:this.foreground;this.foreground=i.colors.mix(s,"rgb(0, 0, 0)",.3333)}t!=this.SRC_RGB&&(this.background=t==this.SRC_DEFAULT?o:this.colorPalette[t])},o.TextAttributes.containersMatch=function(e,t){if("string"==typeof e)return o.TextAttributes.containerIsDefault(t);if(e.nodeType!=t.nodeType)return!1;if(3==e.nodeType)return!0;var r=e.style,i=t.style;return r.color==i.color&&r.backgroundColor==i.backgroundColor&&r.fontWeight==i.fontWeight&&r.fontStyle==i.fontStyle&&r.textDecoration==i.textDecoration},o.TextAttributes.containerIsDefault=function(e){return"string"==typeof e||3==e.nodeType},o.TextAttributes.nodeWidth=function(e){return e.asciiNode?e.textContent.length:i.wc.strWidth(e.textContent)},o.TextAttributes.nodeSubstr=function(e,t,r){return e.asciiNode?e.textContent.substr(t,r):i.wc.substr(e.textContent,t,r)},o.TextAttributes.nodeSubstring=function(e,t,r){return e.asciiNode?e.textContent.substring(t,r):i.wc.substring(e.textContent,t,r)},o.TextAttributes.splitWidecharString=function(e){for(var t=[],r=0,o=0,s=!0,n=0;n0?0:1),n|=r,t=""+String.fromCharCode(n)+o+s,e.preventDefault();break;case"mousedown":var n=Math.min(e.button,2)+32;n|=r,t=""+String.fromCharCode(n)+o+s;break;case"mouseup":t="#"+o+s;break;case"mousemove":this.mouseReport==this.MOUSE_REPORT_DRAG&&e.buttons&&(n=32,1&e.buttons?n+=0:4&e.buttons?n+=1:2&e.buttons?n+=2:n+=3,n+=32,n|=r,t=""+String.fromCharCode(n)+o+s);break;case"click":case"dblclick":break;default:console.error("Unknown mouse event: "+e.type,e)}t&&this.terminal.io.sendString(t)}},o.VT.prototype.interpret=function(e){for(this.parseState_.resetBuf(this.decode(e));!this.parseState_.isComplete();){var t=this.parseState_.func,r=this.parseState_.pos,e=this.parseState_.buf;if(this.parseState_.func.call(this,this.parseState_),this.parseState_.func==t&&this.parseState_.pos==r&&this.parseState_.buf==e)throw"Parser did not alter the state!"}},o.VT.prototype.decode=function(e){return"utf-8"==this.characterEncoding?this.decodeUTF8(e):e},o.VT.prototype.encodeUTF8=function(e){return i.encodeUTF8(e)},o.VT.prototype.decodeUTF8=function(e){return this.utf8Decoder_.decode(e)},o.VT.prototype.setEncoding=function(e){switch(e){default:console.warn('Invalid value for "terminal-encoding": '+e);case"iso-2022":this.codingSystemUtf8_=!1,this.codingSystemLocked_=!1;break;case"utf-8-locked":this.codingSystemUtf8_=!0,this.codingSystemLocked_=!0;break;case"utf-8":this.codingSystemUtf8_=!0,this.codingSystemLocked_=!1}this.updateEncodingState_()},o.VT.prototype.updateEncodingState_=function(){var e=Object.keys(o.VT.CC1).filter(e=>!this.codingSystemUtf8_||e.charCodeAt()<128).map(e=>"\\x"+i.f.zpad(e.charCodeAt().toString(16),2)).join("");this.cc1Pattern_=new RegExp(`[${e}]`)},o.VT.prototype.parseUnknown_=function(e){function t(e){!r.codingSystemUtf8_&&r[r.GL].GL&&(e=r[r.GL].GL(e)),r.terminal.print(e)}var r=this,i=e.peekRemainingBuf(),o=i.search(this.cc1Pattern_);return 0==o?(this.dispatch("CC1",i.substr(0,1),e),void e.advance(1)):-1==o?(t(i),void e.reset()):(t(i.substr(0,o)),this.dispatch("CC1",i.substr(o,1),e),void e.advance(o+1))},o.VT.prototype.parseCSI_=function(e){var t=e.peekChar(),r=e.args;t>="@"&&t<="~"?(this.dispatch("CSI",this.leadingModifier_+this.trailingModifier_+t,e),e.resetParseFunction()):";"==t?this.trailingModifier_?e.resetParseFunction():(r.length||r.push(""),r.push("")):t>="0"&&t<="9"?this.trailingModifier_?e.resetParseFunction():r.length?r[r.length-1]+=t:r[0]=t:t>=" "&&t<="?"&&":"!=t?r.length?this.trailingModifier_+=t:this.leadingModifier_+=t:this.cc1Pattern_.test(t)?this.dispatch("CC1",t,e):e.resetParseFunction(),e.advance(1)},o.VT.prototype.parseUntilStringTerminator_=function(e){var t=e.peekRemainingBuf(),r=t.search(/(\x1b\\|\x07)/),i=e.args;if(i.length||(i[0]="",i[1]=new Date),-1==r){i[0]+=t;var o;return i[0].length>this.maxStringSequence&&(o="too long: "+i[0].length),-1!=i[0].indexOf("")&&(o="embedded escape: "+i[0].indexOf("")),new Date-i[1]>this.oscTimeLimit_&&(o="timeout expired: "+new Date-i[1]),o?(console.log("parseUntilStringTerminator_: aborting: "+o,i[0]),e.reset(i[0]),!1):(e.advance(t.length),!0)}return i[0].length+r>this.maxStringSequence?(e.reset(i[0]+t),!1):(i[0]+=t.substr(0,r),e.resetParseFunction(),e.advance(r+(""==t.substr(r,1)?2:1)),!0)},o.VT.prototype.dispatch=function(e,t,r){var i=o.VT[e][t];i?i!=o.VT.ignore?"CC1"==e&&t>""&&!this.enable8BitControl?console.warn("Ignoring 8-bit control code: 0x"+t.charCodeAt(0).toString(16)):i.apply(this,[r,t]):this.warnUnimplemented&&console.warn("Ignored "+e+" code: "+JSON.stringify(t)):this.warnUnimplemented&&console.warn("Unknown "+e+" code: "+JSON.stringify(t))},o.VT.prototype.setANSIMode=function(e,t){4==e?this.terminal.setInsertMode(t):20==e?this.terminal.setAutoCarriageReturn(t):this.warnUnimplemented&&console.warn("Unimplemented ANSI Mode: "+e)},o.VT.prototype.setDECMode=function(e,t){switch(parseInt(e,10)){case 1:this.terminal.keyboard.applicationCursor=t;break;case 3:this.allowColumnWidthChanges_&&(this.terminal.setWidth(t?132:80),this.terminal.clearHome(),this.terminal.setVTScrollRegion(null,null));break;case 5:this.terminal.setReverseVideo(t);break;case 6:this.terminal.setOriginMode(t);break;case 7:this.terminal.setWraparound(t);break;case 12:this.enableDec12&&this.terminal.setCursorBlink(t);break;case 25:this.terminal.setCursorVisible(t);break;case 30:this.terminal.setScrollbarVisible(t);break;case 40:this.terminal.allowColumnWidthChanges_=t;break;case 45:this.terminal.setReverseWraparound(t);break;case 67:this.terminal.keyboard.backspaceSendsBackspace=t;break;case 1e3:this.mouseReport=t?this.MOUSE_REPORT_CLICK:this.MOUSE_REPORT_DISABLED,this.terminal.syncMouseStyle();break;case 1002:this.mouseReport=t?this.MOUSE_REPORT_DRAG:this.MOUSE_REPORT_DISABLED,this.terminal.syncMouseStyle();break;case 1010:this.terminal.scrollOnOutput=t;break;case 1011:this.terminal.scrollOnKeystroke=t;break;case 1036:this.terminal.keyboard.metaSendsEscape=t;break;case 1039:t?this.terminal.keyboard.previousAltSendsWhat_||(this.terminal.keyboard.previousAltSendsWhat_=this.terminal.keyboard.altSendsWhat,this.terminal.keyboard.altSendsWhat="escape"):this.terminal.keyboard.previousAltSendsWhat_&&(this.terminal.keyboard.altSendsWhat=this.terminal.keyboard.previousAltSendsWhat_,this.terminal.keyboard.previousAltSendsWhat_=null);break;case 47:case 1047:this.terminal.setAlternateMode(t);break;case 1048:this.savedState_.save();case 1049:t?(this.savedState_.save(),this.terminal.setAlternateMode(t),this.terminal.clear()):(this.terminal.setAlternateMode(t),this.savedState_.restore());break;case 2004:this.terminal.setBracketedPaste(t);break;default:this.warnUnimplemented&&console.warn("Unimplemented DEC Private Mode: "+e)}},o.VT.ignore=function(){},o.VT.CC1={},o.VT.ESC={},o.VT.CSI={},o.VT.OSC={},o.VT.VT52={},o.VT.CC1["\0"]=o.VT.ignore,o.VT.CC1[""]=o.VT.ignore,o.VT.CC1[""]=function(){this.terminal.ringBell()},o.VT.CC1["\b"]=function(){this.terminal.cursorLeft(1)},o.VT.CC1["\t"]=function(){this.terminal.forwardTabStop()},o.VT.CC1["\n"]=function(){this.terminal.formFeed()},o.VT.CC1["\v"]=o.VT.CC1["\n"],o.VT.CC1["\f"]=o.VT.CC1["\n"],o.VT.CC1["\r"]=function(){this.terminal.setCursorColumn(0)},o.VT.CC1[""]=function(){this.GL="G1"},o.VT.CC1[""]=function(){this.GL="G0"},o.VT.CC1[""]=o.VT.ignore,o.VT.CC1[""]=o.VT.ignore,o.VT.CC1[""]=function(e){"G1"==this.GL&&(this.GL="G0"),e.resetParseFunction(),this.terminal.print("?")},o.VT.CC1[""]=o.VT.CC1[""],o.VT.CC1[""]=function(e){function t(e){var r=e.consumeChar();""!=r&&(this.dispatch("ESC",r,e),e.func==t&&e.resetParseFunction())}e.func=t},o.VT.CC1[""]=o.VT.ignore,o.VT.CC1["„"]=o.VT.ESC.D=function(){this.terminal.lineFeed()},o.VT.CC1["…"]=o.VT.ESC.E=function(){this.terminal.setCursorColumn(0),this.terminal.cursorDown(1)},o.VT.CC1["ˆ"]=o.VT.ESC.H=function(){this.terminal.setTabStop(this.terminal.getCursorColumn())},o.VT.CC1[""]=o.VT.ESC.M=function(){this.terminal.reverseLineFeed()},o.VT.CC1["Ž"]=o.VT.ESC.N=o.VT.ignore,o.VT.CC1[""]=o.VT.ESC.O=o.VT.ignore,o.VT.CC1[""]=o.VT.ESC.P=function(e){e.resetArguments(),e.func=this.parseUntilStringTerminator_},o.VT.CC1["–"]=o.VT.ESC.V=o.VT.ignore,o.VT.CC1["—"]=o.VT.ESC.W=o.VT.ignore,o.VT.CC1["˜"]=o.VT.ESC.X=o.VT.ignore,o.VT.CC1["š"]=o.VT.ESC.Z=function(){this.terminal.io.sendString("[?1;2c")},o.VT.CC1["›"]=o.VT.ESC["["]=function(e){e.resetArguments(),this.leadingModifier_="",this.trailingModifier_="",e.func=this.parseCSI_},o.VT.CC1["œ"]=o.VT.ESC["\\"]=o.VT.ignore,o.VT.CC1[""]=o.VT.ESC["]"]=function(e){function t(e){if(this.parseUntilStringTerminator_(e)&&e.func!=t){var r=e.args[0].match(/^(\d+);(.*)$/);r?(e.args[0]=r[2],this.dispatch("OSC",r[1],e)):console.warn("Invalid OSC: "+JSON.stringify(e.args[0]))}}e.resetArguments(),e.func=t},o.VT.CC1["ž"]=o.VT.ESC["^"]=function(e){e.resetArguments(),e.func=this.parseUntilStringTerminator_},o.VT.CC1["Ÿ"]=o.VT.ESC._=function(e){e.resetArguments(),e.func=this.parseUntilStringTerminator_},o.VT.ESC[" "]=function(e){e.func=function(e){var t=e.consumeChar();this.warnUnimplemented&&console.warn("Unimplemented sequence: ESC 0x20 "+t),e.resetParseFunction()}},o.VT.ESC["#"]=function(e){e.func=function(e){"8"==e.consumeChar()&&this.terminal.fill("E"),e.resetParseFunction()}},o.VT.ESC["%"]=function(e){e.func=function(e){var t=e.consumeChar();if(this.codingSystemLocked_)return"/"==t&&e.consumeChar(),void e.resetParseFunction();switch(t){case"@":this.setEncoding("iso-2022");break;case"G":this.setEncoding("utf-8");break;case"/":switch(t=e.consumeChar()){case"G":case"H":case"I":this.setEncoding("utf-8-locked");break;default:this.warnUnimplemented&&console.warn("Unknown ESC % / argument: "+JSON.stringify(t))}break;default:this.warnUnimplemented&&console.warn("Unknown ESC % argument: "+JSON.stringify(t))}e.resetParseFunction()}},o.VT.ESC["("]=o.VT.ESC[")"]=o.VT.ESC["*"]=o.VT.ESC["+"]=o.VT.ESC["-"]=o.VT.ESC["."]=o.VT.ESC["/"]=function(e,t){e.func=function(e){var r=e.consumeChar();if(""==r)return e.resetParseFunction(),void e.func();var i=this.characterMaps.getMap(r);void 0!==i?"("==t?this.G0=i:")"==t||"-"==t?this.G1=i:"*"==t||"."==t?this.G2=i:"+"!=t&&"/"!=t||(this.G3=i):this.warnUnimplemented&&console.log('Invalid character set for "'+t+'": '+r),e.resetParseFunction()}},o.VT.ESC[6]=o.VT.ignore,o.VT.ESC[7]=function(){this.savedState_.save()},o.VT.ESC[8]=function(){this.savedState_.restore()},o.VT.ESC[9]=o.VT.ignore,o.VT.ESC["="]=function(){this.terminal.keyboard.applicationKeypad=!0},o.VT.ESC[">"]=function(){this.terminal.keyboard.applicationKeypad=!1},o.VT.ESC.F=o.VT.ignore,o.VT.ESC.c=function(){this.reset(),this.terminal.reset()},o.VT.ESC.l=o.VT.ESC.m=o.VT.ignore,o.VT.ESC.n=function(){this.GL="G2"},o.VT.ESC.o=function(){this.GL="G3"},o.VT.ESC["|"]=function(){this.GR="G3"},o.VT.ESC["}"]=function(){this.GR="G2"},o.VT.ESC["~"]=function(){this.GR="G1"},o.VT.OSC[0]=function(e){this.terminal.setWindowTitle(e.args[0])},o.VT.OSC[2]=o.VT.OSC[0],o.VT.OSC[4]=function(e){for(var t=e.args[0].split(";"),r=parseInt(t.length/2),o=this.terminal.getTextAttributes().colorPalette,s=[],n=0;n=o.length||("?"!=l?(l=i.colors.x11ToCSS(l))&&(o[a]=l):(l=i.colors.rgbToX11(o[a]))&&s.push(a+";"+l))}s.length&&this.terminal.io.sendString("]4;"+s.join(";")+"")},o.VT.OSC[9]=function(e){o.notify({body:e.args[0]})},o.VT.OSC[10]=function(e){var t=e.args[0].split(";");if(t){var r=i.colors.x11ToCSS(t.shift());r&&this.terminal.setForegroundColor(r),t.length>0&&(e.args[0]=t.join(";"),o.VT.OSC[11].apply(this,[e]))}},o.VT.OSC[11]=function(e){var t=e.args[0].split(";");if(t){var r=i.colors.x11ToCSS(t.shift());r&&this.terminal.setBackgroundColor(r)}},o.VT.OSC[50]=function(e){var t=e.args[0].match(/CursorShape=(.)/i);if(t)switch(t[1]){case"1":this.terminal.setCursorShape(o.Terminal.cursorShape.BEAM);break;case"2":this.terminal.setCursorShape(o.Terminal.cursorShape.UNDERLINE);break;default:this.terminal.setCursorShape(o.Terminal.cursorShape.BLOCK)}else console.warn("Could not parse OSC 50 args: "+e.args[0])},o.VT.OSC[52]=function(e){var t=e.args[0].match(/^[cps01234567]*;(.*)/);if(t){var r=window.atob(t[1]);r&&this.terminal.copyStringToClipboard(this.decode(r))}},o.VT.OSC[777]=function(e){var t;switch(e.args[0].split(";",1)[0]){case"notify":var r,i;(t=e.args[0].match(/^[^;]+;([^;]*)(;([\s\S]*))?$/))&&(r=t[1],i=t[3]),o.notify({title:r,body:i});break;default:console.warn("Unknown urxvt module: "+e.args[0])}},o.VT.CSI["@"]=function(e){this.terminal.insertSpace(e.iarg(0,1))},o.VT.CSI.A=function(e){this.terminal.cursorUp(e.iarg(0,1))},o.VT.CSI.B=function(e){this.terminal.cursorDown(e.iarg(0,1))},o.VT.CSI.C=function(e){this.terminal.cursorRight(e.iarg(0,1))},o.VT.CSI.D=function(e){this.terminal.cursorLeft(e.iarg(0,1))},o.VT.CSI.E=function(e){this.terminal.cursorDown(e.iarg(0,1)),this.terminal.setCursorColumn(0)},o.VT.CSI.F=function(e){this.terminal.cursorUp(e.iarg(0,1)),this.terminal.setCursorColumn(0)},o.VT.CSI.G=function(e){this.terminal.setCursorColumn(e.iarg(0,1)-1)},o.VT.CSI.H=function(e){this.terminal.setCursorPosition(e.iarg(0,1)-1,e.iarg(1,1)-1)},o.VT.CSI.I=function(e){var t=e.iarg(0,1);t=i.f.clamp(t,1,this.terminal.screenSize.width);for(var r=0;rT"]=o.VT.ignore,o.VT.CSI.X=function(e){this.terminal.eraseToRight(e.iarg(0,1))},o.VT.CSI.Z=function(e){var t=e.iarg(0,1);t=i.f.clamp(t,1,this.terminal.screenSize.width);for(var r=0;rc"]=function(e){this.terminal.io.sendString("[>0;256;0c")},o.VT.CSI.d=function(e){this.terminal.setAbsoluteCursorRow(e.iarg(0,1)-1)},o.VT.CSI.f=o.VT.CSI.H,o.VT.CSI.g=function(e){e.args[0]&&0!=e.args[0]?3==e.args[0]&&this.terminal.clearAllTabStops():this.terminal.clearTabStopAtCursor(!1)},o.VT.CSI.h=function(e){for(var t=0;t=i.colorPalette.length)continue;i.foregroundSource=a}else if(39==s)i.foregroundSource=i.SRC_DEFAULT;else if(s<48)i.backgroundSource=s-40;else if(48==s){var n=r(o);if(null!=n)i.backgroundSource=i.SRC_RGB,i.background=n,o+=5;else{var a=t(o);if(null==a)break;if(o+=2,a>=i.colorPalette.length)continue;i.backgroundSource=a}}else i.backgroundSource=i.SRC_DEFAULT;else s>=90&&s<=97?i.foregroundSource=s-90+8:s>=100&&s<=107&&(i.backgroundSource=s-100+8)}i.setDefaults(this.terminal.getForegroundColor(),this.terminal.getBackgroundColor())}else i.reset()},o.VT.CSI[">m"]=o.VT.ignore,o.VT.CSI.n=function(e){if(5==e.args[0])this.terminal.io.sendString("0n");else if(6==e.args[0]){var t=this.terminal.getCursorRow()+1,r=this.terminal.getCursorColumn()+1;this.terminal.io.sendString("["+t+";"+r+"R")}},o.VT.CSI[">n"]=o.VT.ignore,o.VT.CSI["?n"]=function(e){if(6==e.args[0]){var t=this.terminal.getCursorRow()+1,r=this.terminal.getCursorColumn()+1;this.terminal.io.sendString("["+t+";"+r+"R")}else 15==e.args[0]?this.terminal.io.sendString("[?11n"):25==e.args[0]?this.terminal.io.sendString("[?21n"):26==e.args[0]?this.terminal.io.sendString("[?12;1;0;0n"):53==e.args[0]&&this.terminal.io.sendString("[?50n")},o.VT.CSI[">p"]=o.VT.ignore,o.VT.CSI["!p"]=function(){this.reset(),this.terminal.softReset()},o.VT.CSI.$p=o.VT.ignore,o.VT.CSI["?$p"]=o.VT.ignore,o.VT.CSI['"p']=o.VT.ignore,o.VT.CSI.q=o.VT.ignore,o.VT.CSI[" q"]=function(e){var t=e.args[0];0==t||1==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.BLOCK),this.terminal.setCursorBlink(!0)):2==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.BLOCK),this.terminal.setCursorBlink(!1)):3==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.UNDERLINE),this.terminal.setCursorBlink(!0)):4==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.UNDERLINE),this.terminal.setCursorBlink(!1)):5==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.BEAM),this.terminal.setCursorBlink(!0)):6==t?(this.terminal.setCursorShape(o.Terminal.cursorShape.BEAM),this.terminal.setCursorBlink(!1)):console.warn("Unknown cursor style: "+t)},o.VT.CSI['"q']=o.VT.ignore,o.VT.CSI.r=function(e){var t=e.args,r=t[0]?parseInt(t[0],10)-1:null,i=t[1]?parseInt(t[1],10)-1:null;this.terminal.setVTScrollRegion(r,i),this.terminal.setCursorPosition(0,0)},o.VT.CSI["?r"]=o.VT.ignore,o.VT.CSI.$r=o.VT.ignore,o.VT.CSI.s=function(){this.savedState_.save()},o.VT.CSI["?s"]=o.VT.ignore,o.VT.CSI.t=o.VT.ignore,o.VT.CSI.$t=o.VT.ignore,o.VT.CSI[">t"]=o.VT.ignore,o.VT.CSI[" t"]=o.VT.ignore,o.VT.CSI.u=function(){this.savedState_.restore()},o.VT.CSI[" u"]=o.VT.ignore,o.VT.CSI.$v=o.VT.ignore,o.VT.CSI["'w"]=o.VT.ignore,o.VT.CSI.x=o.VT.ignore,o.VT.CSI["*x"]=o.VT.ignore,o.VT.CSI.$x=o.VT.ignore,o.VT.CSI.z=function(e){if(!(e.args.length<1)){var t=e.args[0];if(0==t){if(e.args.length<2)return;this.terminal.getTextAttributes().tileData=e.args[1]}else 1==t&&(this.terminal.getTextAttributes().tileData=null)}},o.VT.CSI["'z"]=o.VT.ignore,o.VT.CSI.$z=o.VT.ignore,o.VT.CSI["'{"]=o.VT.ignore,o.VT.CSI["'|"]=o.VT.ignore,o.VT.CSI["'}"]=o.VT.ignore,o.VT.CSI["'~"]=o.VT.ignore,i.rtdep("lib.f"),o.VT.CharacterMap=function(e,t){this.description=e,this.GL=null,this.glmapBase_=t,this.sync_()},o.VT.CharacterMap.prototype.sync_=function(e){if(!this.glmapBase_&&!e)return this.GL=null,delete this.glmap_,void delete this.glre_;this.glmap_=e?Object.assign({},this.glmapBase_,e):this.glmapBase_;var t=Object.keys(this.glmap_).map(e=>"\\x"+i.f.zpad(e.charCodeAt(0).toString(16)));this.glre_=new RegExp("["+t.join("")+"]","g"),this.GL=(e=>e.replace(this.glre_,e=>this.glmap_[e]))},o.VT.CharacterMap.prototype.reset=function(){this.glmap_!==this.glmapBase_&&this.sync_()},o.VT.CharacterMap.prototype.setOverrides=function(e){this.sync_(e)},o.VT.CharacterMap.prototype.clone=function(){var e=new o.VT.CharacterMap(this.description,this.glmapBase_);return this.glmap_!==this.glmapBase_&&e.setOverrides(this.glmap_),e},o.VT.CharacterMaps=function(){this.maps_=o.VT.CharacterMaps.DefaultMaps,this.mapsBase_=this.maps_},o.VT.CharacterMaps.prototype.getMap=function(e){return this.maps_.hasOwnProperty(e)?this.maps_[e]:void 0},o.VT.CharacterMaps.prototype.addMap=function(e,t){this.maps_===this.mapsBase_&&(this.maps_=Object.assign({},this.mapsBase_)),this.maps_[e]=t},o.VT.CharacterMaps.prototype.reset=function(){this.maps_!==o.VT.CharacterMaps.DefaultMaps&&(this.maps_=o.VT.CharacterMaps.DefaultMaps)},o.VT.CharacterMaps.prototype.setOverrides=function(e){this.maps_===this.mapsBase_&&(this.maps_=Object.assign({},this.mapsBase_));for(var t in e){var r=this.getMap(t);void 0!==r?(this.maps_[t]=r.clone(),this.maps_[t].setOverrides(e[t])):this.addMap(t,new o.VT.CharacterMap("user "+t,e[t]))}},o.VT.CharacterMaps.DefaultMaps={},o.VT.CharacterMaps.DefaultMaps[0]=new o.VT.CharacterMap("graphic",{"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"}),o.VT.CharacterMaps.DefaultMaps.A=new o.VT.CharacterMap("british",{"#":"£"}),o.VT.CharacterMaps.DefaultMaps.B=new o.VT.CharacterMap("us",null),o.VT.CharacterMaps.DefaultMaps[4]=new o.VT.CharacterMap("dutch",{"#":"£","@":"¾","[":"IJ","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"}),o.VT.CharacterMaps.DefaultMaps.C=o.VT.CharacterMaps.DefaultMaps[5]=new o.VT.CharacterMap("finnish",{"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"}),o.VT.CharacterMaps.DefaultMaps.R=new o.VT.CharacterMap("french",{"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"}),o.VT.CharacterMaps.DefaultMaps.Q=new o.VT.CharacterMap("french canadian",{"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"}),o.VT.CharacterMaps.DefaultMaps.K=new o.VT.CharacterMap("german",{"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"}),o.VT.CharacterMaps.DefaultMaps.Y=new o.VT.CharacterMap("italian",{"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"}),o.VT.CharacterMaps.DefaultMaps.E=o.VT.CharacterMaps.DefaultMaps[6]=new o.VT.CharacterMap("norwegian/danish",{"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"}),o.VT.CharacterMaps.DefaultMaps.Z=new o.VT.CharacterMap("spanish",{"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"}),o.VT.CharacterMaps.DefaultMaps[7]=o.VT.CharacterMaps.DefaultMaps.H=new o.VT.CharacterMap("swedish",{"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"}),o.VT.CharacterMaps.DefaultMaps["="]=new o.VT.CharacterMap("swiss",{"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}),i.resource.add("hterm/audio/bell","audio/ogg;base64","T2dnUwACAAAAAAAAAADhqW5KAAAAAMFvEjYBHgF2b3JiaXMAAAAAAYC7AAAAAAAAAHcBAAAAAAC4AU9nZ1MAAAAAAAAAAAAA4aluSgEAAAAAesI3EC3//////////////////8kDdm9yYmlzHQAAAFhpcGguT3JnIGxpYlZvcmJpcyBJIDIwMDkwNzA5AAAAAAEFdm9yYmlzKUJDVgEACAAAADFMIMWA0JBVAAAQAABgJCkOk2ZJKaWUoSh5mJRISSmllMUwiZiUicUYY4wxxhhjjDHGGGOMIDRkFQAABACAKAmOo+ZJas45ZxgnjnKgOWlOOKcgB4pR4DkJwvUmY26mtKZrbs4pJQgNWQUAAAIAQEghhRRSSCGFFGKIIYYYYoghhxxyyCGnnHIKKqigggoyyCCDTDLppJNOOumoo4466ii00EILLbTSSkwx1VZjrr0GXXxzzjnnnHPOOeecc84JQkNWAQAgAAAEQgYZZBBCCCGFFFKIKaaYcgoyyIDQkFUAACAAgAAAAABHkRRJsRTLsRzN0SRP8ixREzXRM0VTVE1VVVVVdV1XdmXXdnXXdn1ZmIVbuH1ZuIVb2IVd94VhGIZhGIZhGIZh+H3f933f930gNGQVACABAKAjOZbjKaIiGqLiOaIDhIasAgBkAAAEACAJkiIpkqNJpmZqrmmbtmirtm3LsizLsgyEhqwCAAABAAQAAAAAAKBpmqZpmqZpmqZpmqZpmqZpmqZpmmZZlmVZlmVZlmVZlmVZlmVZlmVZlmVZlmVZlmVZlmVZlmVZlmVZQGjIKgBAAgBAx3Ecx3EkRVIkx3IsBwgNWQUAyAAACABAUizFcjRHczTHczzHczxHdETJlEzN9EwPCA1ZBQAAAgAIAAAAAABAMRzFcRzJ0SRPUi3TcjVXcz3Xc03XdV1XVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVYHQkFUAAAQAACGdZpZqgAgzkGEgNGQVAIAAAAAYoQhDDAgNWQUAAAQAAIih5CCa0JrzzTkOmuWgqRSb08GJVJsnuamYm3POOeecbM4Z45xzzinKmcWgmdCac85JDJqloJnQmnPOeRKbB62p0ppzzhnnnA7GGWGcc85p0poHqdlYm3POWdCa5qi5FJtzzomUmye1uVSbc84555xzzjnnnHPOqV6czsE54Zxzzonam2u5CV2cc875ZJzuzQnhnHPOOeecc84555xzzglCQ1YBAEAAAARh2BjGnYIgfY4GYhQhpiGTHnSPDpOgMcgppB6NjkZKqYNQUhknpXSC0JBVAAAgAACEEFJIIYUUUkghhRRSSCGGGGKIIaeccgoqqKSSiirKKLPMMssss8wyy6zDzjrrsMMQQwwxtNJKLDXVVmONteaec645SGultdZaK6WUUkoppSA0ZBUAAAIAQCBkkEEGGYUUUkghhphyyimnoIIKCA1ZBQAAAgAIAAAA8CTPER3RER3RER3RER3RER3P8RxREiVREiXRMi1TMz1VVFVXdm1Zl3Xbt4Vd2HXf133f141fF4ZlWZZlWZZlWZZlWZZlWZZlCUJDVgEAIAAAAEIIIYQUUkghhZRijDHHnINOQgmB0JBVAAAgAIAAAAAAR3EUx5EcyZEkS7IkTdIszfI0T/M00RNFUTRNUxVd0RV10xZlUzZd0zVl01Vl1XZl2bZlW7d9WbZ93/d93/d93/d93/d939d1IDRkFQAgAQCgIzmSIimSIjmO40iSBISGrAIAZAAABACgKI7iOI4jSZIkWZImeZZniZqpmZ7pqaIKhIasAgAAAQAEAAAAAACgaIqnmIqniIrniI4oiZZpiZqquaJsyq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7rukBoyCoAQAIAQEdyJEdyJEVSJEVyJAcIDVkFAMgAAAgAwDEcQ1Ikx7IsTfM0T/M00RM90TM9VXRFFwgNWQUAAAIACAAAAAAAwJAMS7EczdEkUVIt1VI11VItVVQ9VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV1TRN0zSB0JCVAAAZAAAjQQYZhBCKcpBCbj1YCDHmJAWhOQahxBiEpxAzDDkNInSQQSc9uJI5wwzz4FIoFURMg40lN44gDcKmXEnlOAhCQ1YEAFEAAIAxyDHEGHLOScmgRM4xCZ2UyDknpZPSSSktlhgzKSWmEmPjnKPSScmklBhLip2kEmOJrQAAgAAHAIAAC6HQkBUBQBQAAGIMUgophZRSzinmkFLKMeUcUko5p5xTzjkIHYTKMQadgxAppRxTzinHHITMQeWcg9BBKAAAIMABACDAQig0ZEUAECcA4HAkz5M0SxQlSxNFzxRl1xNN15U0zTQ1UVRVyxNV1VRV2xZNVbYlTRNNTfRUVRNFVRVV05ZNVbVtzzRl2VRV3RZV1bZl2xZ+V5Z13zNNWRZV1dZNVbV115Z9X9ZtXZg0zTQ1UVRVTRRV1VRV2zZV17Y1UXRVUVVlWVRVWXZlWfdVV9Z9SxRV1VNN2RVVVbZV2fVtVZZ94XRVXVdl2fdVWRZ+W9eF4fZ94RhV1dZN19V1VZZ9YdZlYbd13yhpmmlqoqiqmiiqqqmqtm2qrq1bouiqoqrKsmeqrqzKsq+rrmzrmiiqrqiqsiyqqiyrsqz7qizrtqiquq3KsrCbrqvrtu8LwyzrunCqrq6rsuz7qizruq3rxnHrujB8pinLpqvquqm6um7runHMtm0co6rqvirLwrDKsu/rui+0dSFRVXXdlF3jV2VZ921fd55b94WybTu/rfvKceu60vg5z28cubZtHLNuG7+t+8bzKz9hOI6lZ5q2baqqrZuqq+uybivDrOtCUVV9XZVl3zddWRdu3zeOW9eNoqrquirLvrDKsjHcxm8cuzAcXds2jlvXnbKtC31jyPcJz2vbxnH7OuP2daOvDAnHjwAAgAEHAIAAE8pAoSErAoA4AQAGIecUUxAqxSB0EFLqIKRUMQYhc05KxRyUUEpqIZTUKsYgVI5JyJyTEkpoKZTSUgehpVBKa6GU1lJrsabUYu0gpBZKaS2U0lpqqcbUWowRYxAy56RkzkkJpbQWSmktc05K56CkDkJKpaQUS0otVsxJyaCj0kFIqaQSU0mptVBKa6WkFktKMbYUW24x1hxKaS2kEltJKcYUU20txpojxiBkzknJnJMSSmktlNJa5ZiUDkJKmYOSSkqtlZJSzJyT0kFIqYOOSkkptpJKTKGU1kpKsYVSWmwx1pxSbDWU0lpJKcaSSmwtxlpbTLV1EFoLpbQWSmmttVZraq3GUEprJaUYS0qxtRZrbjHmGkppraQSW0mpxRZbji3GmlNrNabWam4x5hpbbT3WmnNKrdbUUo0txppjbb3VmnvvIKQWSmktlNJiai3G1mKtoZTWSiqxlZJabDHm2lqMOZTSYkmpxZJSjC3GmltsuaaWamwx5ppSi7Xm2nNsNfbUWqwtxppTS7XWWnOPufVWAADAgAMAQIAJZaDQkJUAQBQAAEGIUs5JaRByzDkqCULMOSepckxCKSlVzEEIJbXOOSkpxdY5CCWlFksqLcVWaykptRZrLQAAoMABACDABk2JxQEKDVkJAEQBACDGIMQYhAYZpRiD0BikFGMQIqUYc05KpRRjzknJGHMOQioZY85BKCmEUEoqKYUQSkklpQIAAAocAAACbNCUWByg0JAVAUAUAABgDGIMMYYgdFQyKhGETEonqYEQWgutddZSa6XFzFpqrbTYQAithdYySyXG1FpmrcSYWisAAOzAAQDswEIoNGQlAJAHAEAYoxRjzjlnEGLMOegcNAgx5hyEDirGnIMOQggVY85BCCGEzDkIIYQQQuYchBBCCKGDEEIIpZTSQQghhFJK6SCEEEIppXQQQgihlFIKAAAqcAAACLBRZHOCkaBCQ1YCAHkAAIAxSjkHoZRGKcYglJJSoxRjEEpJqXIMQikpxVY5B6GUlFrsIJTSWmw1dhBKaS3GWkNKrcVYa64hpdZirDXX1FqMteaaa0otxlprzbkAANwFBwCwAxtFNicYCSo0ZCUAkAcAgCCkFGOMMYYUYoox55xDCCnFmHPOKaYYc84555RijDnnnHOMMeecc845xphzzjnnHHPOOeecc44555xzzjnnnHPOOeecc84555xzzgkAACpwAAAIsFFkc4KRoEJDVgIAqQAAABFWYowxxhgbCDHGGGOMMUYSYowxxhhjbDHGGGOMMcaYYowxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGFtrrbXWWmuttdZaa6211lprrQBAvwoHAP8HG1ZHOCkaCyw0ZCUAEA4AABjDmHOOOQYdhIYp6KSEDkIIoUNKOSglhFBKKSlzTkpKpaSUWkqZc1JSKiWlllLqIKTUWkottdZaByWl1lJqrbXWOgiltNRaa6212EFIKaXWWostxlBKSq212GKMNYZSUmqtxdhirDGk0lJsLcYYY6yhlNZaazHGGGstKbXWYoy1xlprSam11mKLNdZaCwDgbnAAgEiwcYaVpLPC0eBCQ1YCACEBAARCjDnnnHMQQgghUoox56CDEEIIIURKMeYcdBBCCCGEjDHnoIMQQgghhJAx5hx0EEIIIYQQOucchBBCCKGEUkrnHHQQQgghlFBC6SCEEEIIoYRSSikdhBBCKKGEUkopJYQQQgmllFJKKaWEEEIIoYQSSimllBBCCKWUUkoppZQSQgghlFJKKaWUUkIIoZRQSimllFJKCCGEUkoppZRSSgkhhFBKKaWUUkopIYQSSimllFJKKaUAAIADBwCAACPoJKPKImw04cIDUGjISgCADAAAcdhq6ynWyCDFnISWS4SQchBiLhFSijlHsWVIGcUY1ZQxpRRTUmvonGKMUU+dY0oxw6yUVkookYLScqy1dswBAAAgCAAwECEzgUABFBjIAIADhAQpAKCwwNAxXAQE5BIyCgwKx4Rz0mkDABCEyAyRiFgMEhOqgaJiOgBYXGDIB4AMjY20iwvoMsAFXdx1IIQgBCGIxQEUkICDE2544g1PuMEJOkWlDgIAAAAA4AAAHgAAkg0gIiKaOY4Ojw+QEJERkhKTE5QAAAAAALABgA8AgCQFiIiIZo6jw+MDJERkhKTE5AQlAAAAAAAAAAAACAgIAAAAAAAEAAAACAhPZ2dTAAQYOwAAAAAAAOGpbkoCAAAAmc74DRgyNjM69TAzOTk74dnLubewsbagmZiNp4d0KbsExSY/I3XUTwJgkeZdn1HY4zoj33/q9DFtv3Ui1/jmx7lCUtPt18/sYf9MkgAsAGRBd3gMGP4sU+qCPYBy9VrA3YqJosW3W2/ef1iO/u3cg8ZG/57jU+pPmbGEJUgkfnaI39DbPqxddZphbMRmCc5rKlkUMkyx8iIoug5dJv1OYH9a59c+3Gevqc7Z2XFdDjL/qHztRfjWEWxJ/aiGezjohu9HsCZdQBKbiH0VtU/3m85lDG2T/+xkZcYnX+E+aqzv/xTgOoTFG+x7SNqQ4N+oAABSxuVXw77Jd5bmmTmuJakX7509HH0kGYKvARPpwfOSAPySPAc2EkneDwB2HwAAJlQDYK5586N79GJCjx4+p6aDUd27XSvRyXLJkIC5YZ1jLv5lpOhZTz0s+DmnF1diptrnM6UDgIW11Xh8cHTd0/SmbgOAdxcyWwMAAGIrZ3fNSfZbzKiYrK4+tPqtnMVLOeWOG2kVvUY+p2PJ/hkCl5aFRO4TLGYPZcIU3vYM1hohS4jHFlnyW/2T5J7kGsShXWT8N05V+3C/GPqJ1QdWisGPxEzHqXISBPIinWDUt7IeJv/f5OtzBxpTzZZQ+CYEhHXfqG4aABQli72GJhN4oJv+hXcApAJSErAW8G2raAX4NUcABnVt77CzZAB+LsHcVe+Q4h+QB1wh/ZrJTPxSBdI8mgTeAdTsQOoFUEng9BHcVPhxSRRYkKWZJXOFYP6V4AEripJoEjXgA2wJRZHSExmJDm8F0A6gEXsg5a4ZsALItrMB7+fh7UKLvYWSdtsDwFf1mzYzS1F82N1h2Oyt2e76B1QdS0SAsQigLPMOgJS9JRC7hFXA6kUsLFNKD5cA5cTRvgSqPc3Fl99xW3QTi/MHR8DEm6WnvaVQATwRqRKjywQ9BrrhugR2AKTsPQeQckrAOgDOhbTESyrXQ50CkNpXdtWjW7W2/3UjeX3U95gIdalfRAoAmqUEiwp53hCdcCwlg47fcbfzlmQMAgaBkh7c+fcDgF+ifwDXfzegLPcLYJsAAJQArTXjnh/uXGy3v1Hk3pV6/3t5ruW81f6prfbM2Q3WNVy98BwUtbCwhFhAWuPev6Oe/4ZaFQUcgKrVs4defzh1TADA1DEh5b3VlDaECw5b+bPfkKos3tIAue3vJZOih3ga3l6O3PSfIkrLv0PAS86PPdL7g8oc2KteNFKKzKRehOv2gJoFLBPXmaXvPBQILgJon0bbWBszrYZYYwE7jl2j+vTdU7Vpk21LiU0QajPkywAAHqbUC0/YsYOdb4e6BOp7E0cCi04Ao/TgD8ZVAMid6h/A8IeBNkp6/xsAACZELEYIk+yvI6Qz1NN6lIftB/6IMWjWJNOqPTMedAmyaj6Es0QBklJpiSWWHnQ2CoYbGWAmt+0gLQBFKCBnp2QUUQZ/1thtZDBJUpFWY82z34ocorB62oX7qB5y0oPAv/foxH25wVmgIHf2xFOr8leZcBq1Kx3ZvCq9Bga639AxuHuPNL/71YCF4EywJpqHFAX6XF0sjVbuANnvvdLcrufYwOM/iDa6iA468AYAAB6mNBMXcgTD8HSRqJ4vw8CjAlCEPACASlX/APwPOJKl9xQAAAPmnev2eWp33Xgyw3Dvfz6myGk3oyP8YTKsCOvzAgALQi0o1c6Nzs2O2Pg2h4ACIJAgAGP0aNn5x0BDgVfH7u2TtyfDcRIuYAyQhBF/lvSRAttgA6TPbWZA9gaUrZWAUEAA+Dx47Q3/r87HxUUqZmB0BmUuMlojFjHt1gDunnvuX8MImsjSq5WkzSzGS62OEIlOufWWezxWpv6FBgDgJVltfXFYtNAAnqU0xQoD0YLiXo5cF5QV4CnY1tBLAkZCOABAhbk/AM+/AwSCCdlWAAAMcFjS7owb8GVDzveDiZvznbt2tF4bL5odN1YKl88TAEABCZvufq9YCTBtMwVAQUEAwGtNltzSaHvADYC3TxLVjqiRA+OZAMhzcqEgRcAOwoCgvdTxsTHLQEF6+oOb2+PAI8ciPQcXg7pOY+LjxQSv2fjmFuj34gGwz310/bGK6z3xgT887eomWULEaDd04wHetYxdjcgV2SxvSwn0VoZXJRqkRC5ASQ/muVoAUsX7AgAQMBNaVwAAlABRxT/1PmfqLqSRNDbhXb07berpB3b94jpuWEZjBCD2OcdXFpCKEgCDfcFPMw8AAADUwT4lnUm50lmwrpMMhPQIKj6u0E8fr2vGBngMNdIlrZsigjahljud6AFVg+tzXwUnXL3TJLpajaWKA4VAAAAMiFfqJgKAZ08XrtS3dxtQNYcpPvYEG8ClvrQRJgBephwnNWJjtGqmp6VEPSvBe7EBiU3qgJbQAwD4Le8LAMDMhHbNAAAlgK+tFs5O+YyJc9yCnJa3rxLPulGnxwsXV9Fsk2k4PisCAHC8FkwbGE9gJQAAoMnyksj0CdFMZLLgoz8M+FxziwYBgIx+zHiCBAKAlBKNpF1sO9JpVcyEi9ar15YlHgrut5fPJnkdJ6vEwZPyAHQBIEDUrlMcBAAd2KAS0Qq+JwRsE4AJZtMnAD6GnOYwYlOIZvtzUNdjreB7fiMkWI0CmBB6AIAKc38A9osEFlTSGECB+cbeRDC0aRpLHqNPplcK/76Lxn2rpmqyXsYJWRi/FQAAAKBQk9MCAOibrQBQADCDsqpooPutd+05Ce9g6iEdiYXgVmQAI4+4wskEBEiBloNQ6Ki0/KTQ0QjWfjxzi+AeuXKoMjEVfQOZzr0y941qLgM2AExvbZOqcxZ6J6krlrj4y2j9AdgKDx6GnJsVLhbc42uq584+ouSdNBpoCiCVHrz+WzUA/DDtD8ATgA3h0lMCAAzcFv+S+fSSNkeYWlTpb34mf2RfmqqJeMeklhHAfu7VoAEACgAApKRktL+KkQDWMwYCUAAAAHCKsp80xhp91UjqQBw3x45cetqkjQEyu3G9B6N+R650Uq8OVig7wOm6Wun0ea4lKDPoabJs6aLqgbhPzpv4KR4iODilw88ZpY7q1IOMcbASAOAVtmcCnobcrkG4KGS7/ZnskVWRNF9J0RUHKOnByy9WA8Dv6L4AAARMCQUA4GritfVM2lcZfH3Q3T/vZ47J2YHhcmBazjfdyuV25gLAzrc0cwAAAAAYCh6PdwAAAGyWjFW4yScjaWa2mGcofHxWxewKALglWBpLUvwwk+UOh5eNGyUOs1/EF+pZr+ud5OzoGwYdAABg2p52LiSgAY/ZVlOmilEgHn6G3OcwYjzI7vOj1t6xsx4S3lBY96EUQBF6AIBAmPYH4PoGYCoJAADWe+OZJZi7/x76/yH7Lzf9M5XzRKnFPmveMsilQHwVAAAAAKB3LQD8PCIAAADga0QujBLywzeJ4a6Z/ERVBAUlAEDqvoM7BQBAuAguzFqILtmjH3Kd4wfKobnOhA3z85qWoRPm9hwoOHoDAAlCbwDAA56FHAuXflHo3fe2ttG9XUDeA9YmYCBQ0oPr/1QC8IvuCwAAApbUAQCK22MmE3O78VAbHQT9PIPNoT9zNc3l2Oe7TAVLANBufT8MAQAAAGzT4PS8AQAAoELGHb2uaCwwEv1EWhFriUkbAaAZ27/fVZnTZXbWz3BwWpjUaMZKRj7dZ0J//gUeTdpVEwAAZOFsNxKAjQSgA+ABPoY8Jj5y2wje81jsXc/1TOQWTDYZBmAkNDiqVwuA2NJ9AQAAEBKAt9Vrsfs/2N19MO91S9rd8EHTZHnzC5MYmfQEACy/FBcAAADA5c4gi4z8RANs/m6FNXVo9DV46JG1BBDukqlw/Va5G7QbuGVSI+2aZaoLXJrdVj2zlC9Z5QEAEFz/5QzgVZwAAAAA/oXcxyC6WfTu+09Ve/c766J4VTAGUFmA51+VANKi/QPoPwYgYAkA715OH4S0s5KDHvj99MMq8TPFc3roKZnGOoT1bmIhVgc7XAMBAAAAAMAW1VbQw3gapzOpJd+Kd2fc4iSO62fJv9+movui1wUNPAj059N3OVxzk4gV73PmE8FIA2F5mRq37Evc76vLXfF4rD5UJJAw46hW6LZCb5sNLdx+kzMCAAB+hfy95+965ZCLP7B3/VlTHCvDEKtQhTm4KiCgAEAbrfbWTPssAAAAXpee1tVrozYYn41wD1aeYtkKfswN5/SXPO0JDnhO/4laUortv/s412fybe/nONdncoCHnBVliu0CQGBWlPY/5Kwom2L/kruPM6Q7oz4tvDQy+bZ3HzOi+gNHA4DZEgA="),i.resource.add("hterm/images/icon-96","image/png;base64","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"),i.resource.add("hterm/concat/date","text/plain","Tue, 22 Aug 2017 06:42:31 +0000"),i.resource.add("hterm/changelog/version","text/plain","1.70"),i.resource.add("hterm/changelog/date","text/plain","2017-08-16"),i.resource.add("hterm/git/HEAD","text/plain","git rev-parse HEAD"),e.exports={hterm:o,lib:i}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CHARSETS={},t.DEFAULT_CHARSET=t.CHARSETS.B,t.CHARSETS[0]={"`":"◆",a:"▒",b:"\t",c:"\f",d:"\r",e:"\n",f:"°",g:"±",h:"␤",i:"\v",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"},t.CHARSETS.A={"#":"£"},t.CHARSETS.B=null,t.CHARSETS[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"},t.CHARSETS.C=t.CHARSETS[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},t.CHARSETS.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"},t.CHARSETS.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"},t.CHARSETS.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"},t.CHARSETS.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},t.CHARSETS.E=t.CHARSETS[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"},t.CHARSETS.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"},t.CHARSETS.H=t.CHARSETS[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},t.CHARSETS["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}},function(e,t,r){/** + * Implements the attach method, that attaches the terminal to a WebSocket stream. + * @module xterm/addons/attach/attach + * @license MIT + */ +!function(t){e.exports=t(r(0))}(function(e){"use strict";var t={};return t.attach=function(e,t,r,i){r=void 0===r||r,e.socket=t,e._flushBuffer=function(){e.write(e._attachSocketBuffer),e._attachSocketBuffer=null,clearTimeout(e._attachSocketBufferTimer),e._attachSocketBufferTimer=null},e._pushToBuffer=function(t){e._attachSocketBuffer?e._attachSocketBuffer+=t:(e._attachSocketBuffer=t,setTimeout(e._flushBuffer,10))},e._getMessage=function(t){i?e._pushToBuffer(t.data):e.write(t.data)},e._sendData=function(e){t.send(e)},t.addEventListener("message",e._getMessage),r&&e.on("data",e._sendData),t.addEventListener("close",e.detach.bind(e,t)),t.addEventListener("error",e.detach.bind(e,t))},t.detach=function(e,t){e.off("data",e._sendData),(t=void 0===t?e.socket:t)&&t.removeEventListener("message",e._getMessage),delete e.socket},e.prototype.attach=function(e,r,i){return t.attach(this,e,r,i)},e.prototype.detach=function(e){return t.detach(this,e)},t})},function(e,t,r){/** + * Fit terminal columns and rows to the dimensions of its DOM element. + * + * ## Approach + * - Rows: Truncate the division of the terminal parent element height by the terminal row height. + * + * - Columns: Truncate the division of the terminal parent element width by the terminal character + * width (apply display: inline at the terminal row and truncate its width with the current + * number of columns). + * @module xterm/addons/fit/fit + * @license MIT + */ +!function(t){e.exports=t(r(0))}(function(e){var t={};return t.proposeGeometry=function(e){if(!e.element.parentElement)return null;var t,r,i,o,s=window.getComputedStyle(e.element.parentElement),n=parseInt(s.getPropertyValue("height")),a=Math.max(0,parseInt(s.getPropertyValue("width"))-17),l=window.getComputedStyle(e.element),h=n-(parseInt(l.getPropertyValue("padding-top"))+parseInt(l.getPropertyValue("padding-bottom"))),c=a-(parseInt(l.getPropertyValue("padding-right"))+parseInt(l.getPropertyValue("padding-left"))),u=(e.rowContainer,e.rowContainer.firstElementChild),d=u.innerHTML;return u.style.display="inline",u.innerHTML="W",i=u.getBoundingClientRect().width,u.style.display="",t=u.getBoundingClientRect().height,u.innerHTML=d,r=parseInt(h/t),o=parseInt(c/i),{cols:o,rows:r}},t.fit=function(e){var r=t.proposeGeometry(e);r&&e.resize(r.cols,r.rows)},e.prototype.proposeGeometry=function(){return t.proposeGeometry(this)},e.prototype.fit=function(){return t.fit(this)},t})},function(e,t,r){/** + * Fullscreen addon for xterm.js + * @module xterm/addons/fullscreen/fullscreen + * @license MIT + */ +!function(t){e.exports=t(r(0))}(function(e){var t={};return t.toggleFullScreen=function(e,t){var r;r=void 0===t?e.element.classList.contains("fullscreen")?"remove":"add":t?"add":"remove",e.element.classList[r]("fullscreen")},e.prototype.toggleFullscreen=function(e){t.toggleFullScreen(this,e)},t})},function(e,t,r){/** + * This module provides methods for attaching a terminal to a terminado WebSocket stream. + * + * @module xterm/addons/terminado/terminado + * @license MIT + */ +!function(t){e.exports=t(r(0))}(function(e){"use strict";var t={};return t.terminadoAttach=function(e,t,r,i){r=void 0===r||r,e.socket=t,e._flushBuffer=function(){e.write(e._attachSocketBuffer),e._attachSocketBuffer=null,clearTimeout(e._attachSocketBufferTimer),e._attachSocketBufferTimer=null},e._pushToBuffer=function(t){e._attachSocketBuffer?e._attachSocketBuffer+=t:(e._attachSocketBuffer=t,setTimeout(e._flushBuffer,10))},e._getMessage=function(t){var r=JSON.parse(t.data);"stdout"==r[0]&&(i?e._pushToBuffer(r[1]):e.write(r[1]))},e._sendData=function(e){t.send(JSON.stringify(["stdin",e]))},e._setSize=function(e){t.send(JSON.stringify(["set_size",e.rows,e.cols]))},t.addEventListener("message",e._getMessage),r&&e.on("data",e._sendData),e.on("resize",e._setSize),t.addEventListener("close",e.terminadoDetach.bind(e,t)),t.addEventListener("error",e.terminadoDetach.bind(e,t))},t.terminadoDetach=function(e,t){e.off("data",e._sendData),(t=void 0===t?e.socket:t)&&t.removeEventListener("message",e._getMessage),delete e.socket},e.prototype.terminadoAttach=function(e,r,i){return t.terminadoAttach(this,e,r,i)},e.prototype.terminadoDetach=function(e){return t.terminadoDetach(this,e)},t})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(27),o="undefined"==typeof navigator,s=o?"node":navigator.userAgent,n=o?"node":navigator.platform;t.isFirefox=!!~s.indexOf("Firefox"),t.isMSIE=!!~s.indexOf("MSIE")||!!~s.indexOf("Trident"),t.isMac=i.contains(["Macintosh","MacIntel","MacPPC","Mac68K"],n),t.isIpad="iPad"===n,t.isIphone="iPhone"===n,t.isMSWindows=i.contains(["Windows","Win16","Win32","WinCE"],n),t.isLinux=n.indexOf("Linux")>=0},function(e,t,r){"use strict";function i(e,t){if(null==e.pageX)return null;for(var r=e.pageX,i=e.pageY;t&&t!==self.document.documentElement;)r-=t.offsetLeft,i-=t.offsetTop,t="offsetParent"in t?t.offsetParent:t.parentElement;return[r,i]}function o(e,t,r,o,s,n){var a=i(e,t);return a[0]=Math.ceil((a[0]+(n?r.width/2:0))/r.width),a[1]=Math.ceil(a[1]/r.height),a[0]=Math.min(Math.max(a[0],1),o+1),a[1]=Math.min(Math.max(a[1],1),s+1),a}Object.defineProperty(t,"__esModule",{value:!0}),t.getCoordsRelativeToElement=i,t.getCoords=o,t.getRawByteCoords=function(e,t,r,i,s){var n=o(e,t,r,i,s),a=n[0],l=n[1];return a+=32,l+=32,{x:a,y:l}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(3),o=function(){function e(e){this.elem=e,i.hterm.defaultStorage=new i.lib.Storage.Memory,this.term=new i.hterm.Terminal,this.term.getPrefs().set("send-encoding","raw"),this.term.decorate(this.elem),this.io=this.term.io.push(),this.term.installKeyboard()}return e.prototype.info=function(){return{columns:this.columns,rows:this.rows}},e.prototype.output=function(e){null!=this.term.io&&this.term.io.writeUTF16(e)},e.prototype.showMessage=function(e,t){this.message=e,t>0?this.term.io.showOverlay(e,t):this.term.io.showOverlay(e,null)},e.prototype.removeMessage=function(){this.term.io.showOverlay(this.message,0)},e.prototype.setWindowTitle=function(e){this.term.setWindowTitle(e)},e.prototype.setPreferences=function(e){var t=this;Object.keys(e).forEach(function(r){t.term.getPrefs().set(r,e[r])})},e.prototype.onInput=function(e){this.io.onVTKeystroke=function(t){e(t)},this.io.sendString=function(t){e(t)}},e.prototype.onResize=function(e){var t=this;this.io.onTerminalResize=function(r,i){t.columns=r,t.rows=i,e(r,i)}},e.prototype.deactivate=function(){this.io.onVTKeystroke=null,this.io.sendString=null,this.io.onTerminalResize=null,this.term.uninstallKeyboard()},e.prototype.reset=function(){this.removeMessage(),this.term.installKeyboard()},e.prototype.close=function(){this.term.uninstallKeyboard()},e}();t.Hterm=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){this.url=e,this.protocols=t}return e.prototype.create=function(){return new o(this.url,this.protocols)},e}();t.ConnectionFactory=i;var o=function(){function e(e,t){this.bare=new WebSocket(e,t)}return e.prototype.open=function(){},e.prototype.close=function(){this.bare.close()},e.prototype.send=function(e){this.bare.send(e)},e.prototype.isOpen=function(){return this.bare.readyState==WebSocket.CONNECTING||this.bare.readyState==WebSocket.OPEN},e.prototype.onOpen=function(e){this.bare.onopen=function(t){e()}},e.prototype.onReceive=function(e){this.bare.onmessage=function(t){e(t.data)}},e.prototype.onClose=function(e){this.bare.onclose=function(t){e()}},e}();t.Connection=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(3);t.protocols=["webtty"],t.msgInputUnknown="0",t.msgInput="1",t.msgPing="2",t.msgResizeTerminal="3",t.msgUnknownOutput="0",t.msgOutput="1",t.msgPong="2",t.msgSetWindowTitle="3",t.msgSetPreferences="4",t.msgSetReconnect="5";var o=function(){function e(e,t,r,i){this.term=e,this.connectionFactory=t,this.args=r,this.authToken=i,this.reconnect=-1}return e.prototype.open=function(){var e,r,o=this,s=this.connectionFactory.create(),n=new i.lib.UTF8Decoder,a=function(){s.onOpen(function(){var r=o.term.info();s.send(JSON.stringify({Arguments:o.args,AuthToken:o.authToken}));var i=function(e,r){s.send(t.msgResizeTerminal+JSON.stringify({columns:e,rows:r}))};o.term.onResize(i),i(r.columns,r.rows),o.term.onInput(function(e){s.send(t.msgInput+e)}),e=setInterval(function(){s.send(t.msgPing)},3e4)}),s.onReceive(function(e){var r=e.slice(1);switch(e[0]){case t.msgOutput:o.term.output(n.decode(atob(r)));break;case t.msgPong:break;case t.msgSetWindowTitle:o.term.setWindowTitle(r);break;case t.msgSetPreferences:var i=JSON.parse(r);o.term.setPreferences(i);break;case t.msgSetReconnect:var s=JSON.parse(r);console.log("Enabling reconnect: "+s+" seconds"),o.reconnect=s}}),s.onClose(function(){clearInterval(e),o.term.deactivate(),o.term.showMessage("Connection Closed",0),o.reconnect>0&&(r=setTimeout(function(){s=o.connectionFactory.create(),o.term.reset(),a()},1e3*o.reconnect))}),s.open()};return a(),function(){clearTimeout(r),s.close()}},e}();t.WebTTY=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(0);i.loadAddon("fit");var o=function(){function e(e){var t=this;this.elem=e,this.term=new i,this.message=e.ownerDocument.createElement("div"),this.message.className="xterm-overlay",this.messageTimeout=2e3,this.resizeListener=function(){t.term.fit(),t.term.scrollToBottom(),t.showMessage(String(t.term.cols)+"x"+String(t.term.rows),t.messageTimeout)},this.term.on("open",function(){t.resizeListener(),window.addEventListener("resize",function(){t.resizeListener()})}),this.term.open(e,!0)}return e.prototype.info=function(){return{columns:this.term.cols,rows:this.term.rows}},e.prototype.output=function(e){this.term.write(e)},e.prototype.showMessage=function(e,t){var r=this;this.message.textContent=e,this.elem.appendChild(this.message),this.messageTimer&&clearTimeout(this.messageTimer),t>0&&(this.messageTimer=setTimeout(function(){r.elem.removeChild(r.message)},t))},e.prototype.removeMessage=function(){this.message.parentNode==this.elem&&this.elem.removeChild(this.message)},e.prototype.setWindowTitle=function(e){document.title=e},e.prototype.setPreferences=function(e){},e.prototype.onInput=function(e){this.term.on("data",function(t){e(t)})},e.prototype.onResize=function(e){this.term.on("resize",function(t){e(t.cols,t.rows)})},e.prototype.deactivate=function(){this.term.off("data"),this.term.off("resize"),this.term.blur()},e.prototype.reset=function(){this.removeMessage(),this.term.clear()},e.prototype.close=function(){window.removeEventListener("resize",this.resizeListener),this.term.destroy()},e}();t.Xterm=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,r){this.textarea=e,this.compositionView=t,this.terminal=r,this.isComposing=!1,this.isSendingComposition=!1,this.compositionPosition={start:null,end:null}}return e.prototype.compositionstart=function(){this.isComposing=!0,this.compositionPosition.start=this.textarea.value.length,this.compositionView.textContent="",this.compositionView.classList.add("active")},e.prototype.compositionupdate=function(e){var t=this;this.compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(function(){t.compositionPosition.end=t.textarea.value.length},0)},e.prototype.compositionend=function(){this.finalizeComposition(!0)},e.prototype.keydown=function(e){if(this.isComposing||this.isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this.finalizeComposition(!1)}return 229!==e.keyCode||(this.handleAnyTextareaChanges(),!1)},e.prototype.finalizeComposition=function(e){var t=this;if(this.compositionView.classList.remove("active"),this.isComposing=!1,this.clearTextareaPosition(),e){var r={start:this.compositionPosition.start,end:this.compositionPosition.end};this.isSendingComposition=!0,setTimeout(function(){if(t.isSendingComposition){t.isSendingComposition=!1;var e=void 0;e=t.isComposing?t.textarea.value.substring(r.start,r.end):t.textarea.value.substring(r.start),t.terminal.handler(e)}},0)}else{this.isSendingComposition=!1;var i=this.textarea.value.substring(this.compositionPosition.start,this.compositionPosition.end);this.terminal.handler(i)}},e.prototype.handleAnyTextareaChanges=function(){var e=this,t=this.textarea.value;setTimeout(function(){if(!e.isComposing){var r=e.textarea.value.replace(t,"");r.length>0&&e.terminal.handler(r)}},0)},e.prototype.updateCompositionElements=function(e){var t=this;if(this.isComposing){var r=this.terminal.element.querySelector(".terminal-cursor");if(r){var i=this.terminal.element.querySelector(".xterm-rows").offsetTop+r.offsetTop;this.compositionView.style.left=r.offsetLeft+"px",this.compositionView.style.top=i+"px",this.compositionView.style.height=r.offsetHeight+"px",this.compositionView.style.lineHeight=r.offsetHeight+"px";var o=this.compositionView.getBoundingClientRect();this.textarea.style.left=r.offsetLeft+"px",this.textarea.style.top=i+"px",this.textarea.style.width=o.width+"px",this.textarea.style.height=o.height+"px",this.textarea.style.lineHeight=o.height+"px"}e||setTimeout(function(){return t.updateCompositionElements(!0)},0)}},e.prototype.clearTextareaPosition=function(){this.textarea.style.left="",this.textarea.style.top=""},e}();t.CompositionHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(2),o=r(4),s=function(){function e(e){this._terminal=e}return e.prototype.addChar=function(e,t){if(e>=" "){var r=n(t);this._terminal.charset&&this._terminal.charset[e]&&(e=this._terminal.charset[e]);var i=this._terminal.y+this._terminal.ybase;if(!r&&this._terminal.x)return void(this._terminal.lines.get(i)[this._terminal.x-1]&&(this._terminal.lines.get(i)[this._terminal.x-1][2]?this._terminal.lines.get(i)[this._terminal.x-1][1]+=e:this._terminal.lines.get(i)[this._terminal.x-2]&&(this._terminal.lines.get(i)[this._terminal.x-2][1]+=e),this._terminal.updateRange(this._terminal.y)));if(this._terminal.x+r-1>=this._terminal.cols)if(this._terminal.wraparoundMode)this._terminal.x=0,++this._terminal.y>this._terminal.scrollBottom?(this._terminal.y--,this._terminal.scroll(!0)):this._terminal.lines.get(this._terminal.y).isWrapped=!0;else if(2===r)return;if(i=this._terminal.y+this._terminal.ybase,this._terminal.insertMode)for(var o=0;othis._terminal.scrollBottom&&(this._terminal.y--,this._terminal.scroll()),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.carriageReturn=function(){this._terminal.x=0},e.prototype.backspace=function(){this._terminal.x>0&&this._terminal.x--},e.prototype.tab=function(){this._terminal.x=this._terminal.nextStop()},e.prototype.shiftOut=function(){this._terminal.setgLevel(1)},e.prototype.shiftIn=function(){this._terminal.setgLevel(0)},e.prototype.insertChars=function(e){var t,r,i,o;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.x,o=[this._terminal.eraseAttr()," ",1];t--&&i=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.cursorForward=function(e){var t=e[0];t<1&&(t=1),this._terminal.x+=t,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.cursorBackward=function(e){var t=e[0];t<1&&(t=1),this._terminal.x>=this._terminal.cols&&this._terminal.x--,this._terminal.x-=t,this._terminal.x<0&&(this._terminal.x=0)},e.prototype.cursorNextLine=function(e){var t=e[0];t<1&&(t=1),this._terminal.y+=t,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x=0},e.prototype.cursorPrecedingLine=function(e){var t=e[0];t<1&&(t=1),this._terminal.y-=t,this._terminal.y<0&&(this._terminal.y=0),this._terminal.x=0},e.prototype.cursorCharAbsolute=function(e){var t=e[0];t<1&&(t=1),this._terminal.x=t-1},e.prototype.cursorPosition=function(e){var t,r;t=e[0]-1,r=e.length>=2?e[1]-1:0,t<0?t=0:t>=this._terminal.rows&&(t=this._terminal.rows-1),r<0?r=0:r>=this._terminal.cols&&(r=this._terminal.cols-1),this._terminal.x=r,this._terminal.y=t},e.prototype.cursorForwardTab=function(e){for(var t=e[0]||1;t--;)this._terminal.x=this._terminal.nextStop()},e.prototype.eraseInDisplay=function(e){var t;switch(e[0]){case 0:for(this._terminal.eraseRight(this._terminal.x,this._terminal.y),t=this._terminal.y+1;t0&&(this._terminal.lines.trimStart(r),this._terminal.ybase=Math.max(this._terminal.ybase-r,0),this._terminal.ydisp=Math.max(this._terminal.ydisp-r,0))}},e.prototype.eraseInLine=function(e){switch(e[0]){case 0:this._terminal.eraseRight(this._terminal.x,this._terminal.y);break;case 1:this._terminal.eraseLeft(this._terminal.x,this._terminal.y);break;case 2:this._terminal.eraseLine(this._terminal.y)}},e.prototype.insertLines=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.rows-1-this._terminal.scrollBottom,i=this._terminal.rows-1+this._terminal.ybase-i+1;t--;)this._terminal.lines.length===this._terminal.lines.maxLength&&(this._terminal.lines.trimStart(1),this._terminal.ybase--,this._terminal.ydisp--,r--,i--),this._terminal.lines.splice(r,0,this._terminal.blankLine(!0)),this._terminal.lines.splice(i,1);this._terminal.updateRange(this._terminal.y),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.deleteLines=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.rows-1-this._terminal.scrollBottom,i=this._terminal.rows-1+this._terminal.ybase-i;t--;)this._terminal.lines.length===this._terminal.lines.maxLength&&(this._terminal.lines.trimStart(1),this._terminal.ybase-=1,this._terminal.ydisp-=1),this._terminal.lines.splice(i+1,0,this._terminal.blankLine(!0)),this._terminal.lines.splice(r,1);this._terminal.updateRange(this._terminal.y),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.deleteChars=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=[this._terminal.eraseAttr()," ",1];t--;)this._terminal.lines.get(r).splice(this._terminal.x,1),this._terminal.lines.get(r).push(i)},e.prototype.scrollUp=function(e){for(var t=e[0]||1;t--;)this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollTop,1),this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollBottom,0,this._terminal.blankLine());this._terminal.updateRange(this._terminal.scrollTop),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.scrollDown=function(e){for(var t=e[0]||1;t--;)this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollBottom,1),this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollTop,0,this._terminal.blankLine());this._terminal.updateRange(this._terminal.scrollTop),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.eraseChars=function(e){var t,r,i,o;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.x,o=[this._terminal.eraseAttr()," ",1];t--&&i=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.HPositionRelative=function(e){var t=e[0];t<1&&(t=1),this._terminal.x+=t,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.repeatPrecedingCharacter=function(e){for(var t=e[0]||1,r=this._terminal.lines.get(this._terminal.ybase+this._terminal.y),i=r[this._terminal.x-1]||[this._terminal.defAttr," ",1];t--;)r[this._terminal.x++]=i},e.prototype.sendDeviceAttributes=function(e){e[0]>0||(this._terminal.prefix?">"===this._terminal.prefix&&(this._terminal.is("xterm")?this._terminal.send(i.C0.ESC+"[>0;276;0c"):this._terminal.is("rxvt-unicode")?this._terminal.send(i.C0.ESC+"[>85;95;0c"):this._terminal.is("linux")?this._terminal.send(e[0]+"c"):this._terminal.is("screen")&&this._terminal.send(i.C0.ESC+"[>83;40003;0c")):this._terminal.is("xterm")||this._terminal.is("rxvt-unicode")||this._terminal.is("screen")?this._terminal.send(i.C0.ESC+"[?1;2c"):this._terminal.is("linux")&&this._terminal.send(i.C0.ESC+"[?6c"))},e.prototype.linePosAbsolute=function(e){var t=e[0];t<1&&(t=1),this._terminal.y=t-1,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1)},e.prototype.VPositionRelative=function(e){var t=e[0];t<1&&(t=1),this._terminal.y+=t,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.HVPosition=function(e){e[0]<1&&(e[0]=1),e[1]<1&&(e[1]=1),this._terminal.y=e[0]-1,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x=e[1]-1,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.tabClear=function(e){var t=e[0];t<=0?delete this._terminal.tabs[this._terminal.x]:3===t&&(this._terminal.tabs={})},e.prototype.setMode=function(e){if(e.length>1)for(var t=0;t1e3,this._terminal.mouseEvents=!0,this._terminal.element.classList.add("enable-mouse-events"),this._terminal.selectionManager.disable(),this._terminal.log("Binding to mouse events.");break;case 1004:this._terminal.sendFocus=!0;break;case 1005:this._terminal.utfMouse=!0;break;case 1006:this._terminal.sgrMouse=!0;break;case 1015:this._terminal.urxvtMouse=!0;break;case 25:this._terminal.cursorHidden=!1;break;case 1049:case 47:case 1047:if(!this._terminal.normal){var r={lines:this._terminal.lines,ybase:this._terminal.ybase,ydisp:this._terminal.ydisp,x:this._terminal.x,y:this._terminal.y,scrollTop:this._terminal.scrollTop,scrollBottom:this._terminal.scrollBottom,tabs:this._terminal.tabs};this._terminal.reset(),this._terminal.viewport.syncScrollArea(),this._terminal.normal=r,this._terminal.showCursor()}}}else switch(e[0]){case 4:this._terminal.insertMode=!0}},e.prototype.resetMode=function(e){if(e.length>1)for(var t=0;t>18,s=this._terminal.curAttr>>9&511,n=511&this._terminal.curAttr;i=30&&t<=37?s=t-30:t>=40&&t<=47?n=t-40:t>=90&&t<=97?s=(t+=8)-90:t>=100&&t<=107?n=(t+=8)-100:0===t?(o=this._terminal.defAttr>>18,s=this._terminal.defAttr>>9&511,n=511&this._terminal.defAttr):1===t?o|=1:4===t?o|=2:5===t?o|=4:7===t?o|=8:8===t?o|=16:22===t?o&=-2:24===t?o&=-3:25===t?o&=-5:27===t?o&=-9:28===t?o&=-17:39===t?s=this._terminal.defAttr>>9&511:49===t?n=511&this._terminal.defAttr:38===t?2===e[i+1]?(i+=2,-1===(s=this._terminal.matchColor(255&e[i],255&e[i+1],255&e[i+2]))&&(s=511),i+=2):5===e[i+1]&&(s=t=255&e[i+=2]):48===t?2===e[i+1]?(i+=2,-1===(n=this._terminal.matchColor(255&e[i],255&e[i+1],255&e[i+2]))&&(n=511),i+=2):5===e[i+1]&&(n=t=255&e[i+=2]):100===t?(s=this._terminal.defAttr>>9&511,n=511&this._terminal.defAttr):this._terminal.error("Unknown SGR attribute: %d.",t);this._terminal.curAttr=o<<18|s<<9|n}else this._terminal.curAttr=this._terminal.defAttr},e.prototype.deviceStatus=function(e){if(this._terminal.prefix){if("?"===this._terminal.prefix)switch(e[0]){case 6:this._terminal.send(i.C0.ESC+"[?"+(this._terminal.y+1)+";"+(this._terminal.x+1)+"R")}}else switch(e[0]){case 5:this._terminal.send(i.C0.ESC+"[0n");break;case 6:this._terminal.send(i.C0.ESC+"["+(this._terminal.y+1)+";"+(this._terminal.x+1)+"R")}},e.prototype.softReset=function(e){this._terminal.cursorHidden=!1,this._terminal.insertMode=!1,this._terminal.originMode=!1,this._terminal.wraparoundMode=!0,this._terminal.applicationKeypad=!1,this._terminal.viewport.syncScrollArea(),this._terminal.applicationCursor=!1,this._terminal.scrollTop=0,this._terminal.scrollBottom=this._terminal.rows-1,this._terminal.curAttr=this._terminal.defAttr,this._terminal.x=this._terminal.y=0,this._terminal.charset=null,this._terminal.glevel=0,this._terminal.charsets=[null]},e.prototype.setCursorStyle=function(e){var t=e[0]<1?1:e[0];switch(t){case 1:case 2:this._terminal.setOption("cursorStyle","block");break;case 3:case 4:this._terminal.setOption("cursorStyle","underline");break;case 5:case 6:this._terminal.setOption("cursorStyle","bar")}var r=t%2==1;this._terminal.setOption("cursorBlink",r)},e.prototype.setScrollRegion=function(e){this._terminal.prefix||(this._terminal.scrollTop=(e[0]||1)-1,this._terminal.scrollBottom=(e[1]&&e[1]<=this._terminal.rows?e[1]:this._terminal.rows)-1,this._terminal.x=0,this._terminal.y=0)},e.prototype.saveCursor=function(e){this._terminal.savedX=this._terminal.x,this._terminal.savedY=this._terminal.y},e.prototype.restoreCursor=function(e){this._terminal.x=this._terminal.savedX||0,this._terminal.y=this._terminal.savedY||0},e}();t.InputHandler=s;var n=function(e){function t(e){var t,r=0,o=i.length-1;if(ei[o][1])return!1;for(;o>=r;)if(t=Math.floor((r+o)/2),e>i[t][1])r=t+1;else{if(!(e=4352&&(e<=4447||9001===e||9002===e||e>=11904&&e<=42191&&12351!==e||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072&&e<=196605||e>=196608&&e<=262141)}var i=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];return function(i){return 0===i?e.nul:i<32||i>=127&&i<160?e.control:t(i)?0:r(i)?2:1}}({nul:0,control:0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=new RegExp("(?:^|[^\\da-z\\.-]+)((https?:\\/\\/)((([\\da-z\\.-]+)\\.([a-z\\.]{2,6}))|((\\d{1,3}\\.){3}\\d{1,3})|(localhost))(:\\d{1,5})?(\\/[\\/\\w\\.\\-%~]*)*(\\?[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?(#[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?)($|[^\\/\\w\\.\\-%]+)"),o=0,s=function(){function e(){this._nextLinkMatcherId=o,this._rowTimeoutIds=[],this._linkMatchers=[],this.registerLinkMatcher(i,null,{matchIndex:1})}return e.prototype.attachToDom=function(e,t){this._document=e,this._rows=t},e.prototype.linkifyRow=function(t){if(this._document){var r=this._rowTimeoutIds[t];r&&clearTimeout(r),this._rowTimeoutIds[t]=setTimeout(this._linkifyRow.bind(this,t),e.TIME_BEFORE_LINKIFY)}},e.prototype.setHypertextLinkHandler=function(e){this._linkMatchers[o].handler=e},e.prototype.setHypertextValidationCallback=function(e){this._linkMatchers[o].validationCallback=e},e.prototype.registerLinkMatcher=function(e,t,r){if(void 0===r&&(r={}),this._nextLinkMatcherId!==o&&!t)throw new Error("handler must be defined");var i={id:this._nextLinkMatcherId++,regex:e,handler:t,matchIndex:r.matchIndex,validationCallback:r.validationCallback,priority:r.priority||0};return this._addLinkMatcherToList(i),i.id},e.prototype._addLinkMatcherToList=function(e){if(0!==this._linkMatchers.length){for(var t=this._linkMatchers.length-1;t>=0;t--)if(e.priority<=this._linkMatchers[t].priority)return void this._linkMatchers.splice(t+1,0,e);this._linkMatchers.splice(0,0,e)}else this._linkMatchers.push(e)},e.prototype.deregisterLinkMatcher=function(e){for(var t=1;t0){if(i.validationCallback)for(var s=function(e){var t=o[e];i.validationCallback(t.textContent,t,function(e){e||t.classList.add("xterm-invalid-link")})},n=0;n=0){var d=this._createAnchorElement(a,t.handler,i);if(c.textContent.length===a.length)if(3===c.nodeType)this._replaceNode(c,d);else{var p=c;if("A"===p.nodeName)return r;p.innerHTML="",p.appendChild(d)}else if(c.childNodes.length>1)for(var f=0;f"]=function(e){return e.setPrefix(">")},a["!"]=function(e){return e.setPrefix("!")},a[0]=function(e){return e.setParam(10*e.getParam())},a[1]=function(e){return e.setParam(10*e.getParam()+1)},a[2]=function(e){return e.setParam(10*e.getParam()+2)},a[3]=function(e){return e.setParam(10*e.getParam()+3)},a[4]=function(e){return e.setParam(10*e.getParam()+4)},a[5]=function(e){return e.setParam(10*e.getParam()+5)},a[6]=function(e){return e.setParam(10*e.getParam()+6)},a[7]=function(e){return e.setParam(10*e.getParam()+7)},a[8]=function(e){return e.setParam(10*e.getParam()+8)},a[9]=function(e){return e.setParam(10*e.getParam()+9)},a.$=function(e){return e.setPostfix("$")},a['"']=function(e){return e.setPostfix('"')},a[" "]=function(e){return e.setPostfix(" ")},a["'"]=function(e){return e.setPostfix("'")},a[";"]=function(e){return e.finalizeParam()},a[i.C0.CAN]=function(e){return e.setState(h.NORMAL)};var l={};l["@"]=function(e,t,r){return e.insertChars(t)},l.A=function(e,t,r){return e.cursorUp(t)},l.B=function(e,t,r){return e.cursorDown(t)},l.C=function(e,t,r){return e.cursorForward(t)},l.D=function(e,t,r){return e.cursorBackward(t)},l.E=function(e,t,r){return e.cursorNextLine(t)},l.F=function(e,t,r){return e.cursorPrecedingLine(t)},l.G=function(e,t,r){return e.cursorCharAbsolute(t)},l.H=function(e,t,r){return e.cursorPosition(t)},l.I=function(e,t,r){return e.cursorForwardTab(t)},l.J=function(e,t,r){return e.eraseInDisplay(t)},l.K=function(e,t,r){return e.eraseInLine(t)},l.L=function(e,t,r){return e.insertLines(t)},l.M=function(e,t,r){return e.deleteLines(t)},l.P=function(e,t,r){return e.deleteChars(t)},l.S=function(e,t,r){return e.scrollUp(t)},l.T=function(e,t,r){t.length<2&&!r&&e.scrollDown(t)},l.X=function(e,t,r){return e.eraseChars(t)},l.Z=function(e,t,r){return e.cursorBackwardTab(t)},l["`"]=function(e,t,r){return e.charPosAbsolute(t)},l.a=function(e,t,r){return e.HPositionRelative(t)},l.b=function(e,t,r){return e.repeatPrecedingCharacter(t)},l.c=function(e,t,r){return e.sendDeviceAttributes(t)},l.d=function(e,t,r){return e.linePosAbsolute(t)},l.e=function(e,t,r){return e.VPositionRelative(t)},l.f=function(e,t,r){return e.HVPosition(t)},l.g=function(e,t,r){return e.tabClear(t)},l.h=function(e,t,r){return e.setMode(t)},l.l=function(e,t,r){return e.resetMode(t)},l.m=function(e,t,r){return e.charAttributes(t)},l.n=function(e,t,r){return e.deviceStatus(t)},l.p=function(e,t,r){switch(r){case"!":e.softReset(t)}},l.q=function(e,t,r,i){" "===i&&e.setCursorStyle(t)},l.r=function(e,t){return e.setScrollRegion(t)},l.s=function(e,t){return e.saveCursor(t)},l.u=function(e,t){return e.restoreCursor(t)},l[i.C0.CAN]=function(e,t,r,i,o){return o.setState(h.NORMAL)};var h;!function(e){e[e.NORMAL=0]="NORMAL",e[e.ESCAPED=1]="ESCAPED",e[e.CSI_PARAM=2]="CSI_PARAM",e[e.CSI=3]="CSI",e[e.OSC=4]="OSC",e[e.CHARSET=5]="CHARSET",e[e.DCS=6]="DCS",e[e.IGNORE=7]="IGNORE"}(h||(h={}));var c=function(){function e(e,t){this._inputHandler=e,this._terminal=t,this._state=h.NORMAL}return e.prototype.parse=function(e){var t,r,c,u,d=e.length;for(this._position=0,this._terminal.surrogate_high&&(e=this._terminal.surrogate_high+e,this._terminal.surrogate_high="");this._position":this._terminal.log("Switching back to normal keypad."),this._terminal.applicationKeypad=!1,this._terminal.viewport.syncScrollArea(),this._state=h.NORMAL;break;default:this._state=h.NORMAL,this._terminal.error("Unknown ESC control: %s.",r)}break;case h.CHARSET:r in o.CHARSETS?(t=o.CHARSETS[r],"/"===r&&this.skipNextChar()):t=o.DEFAULT_CHARSET,this._terminal.setgCharset(this._terminal.gcharset,t),this._terminal.gcharset=null,this._state=h.NORMAL;break;case h.OSC:if(r===i.C0.ESC||r===i.C0.BEL){switch(r===i.C0.ESC&&this._position++,this._terminal.params.push(this._terminal.currentParam),this._terminal.params[0]){case 0:case 1:case 2:this._terminal.params[1]&&(this._terminal.title=this._terminal.params[1],this._terminal.handleTitle(this._terminal.title))}this._terminal.params=[],this._terminal.currentParam=0,this._state=h.NORMAL}else this._terminal.params.length?this._terminal.currentParam+=r:r>="0"&&r<="9"?this._terminal.currentParam=10*this._terminal.currentParam+r.charCodeAt(0)-48:";"===r&&(this._terminal.params.push(this._terminal.currentParam),this._terminal.currentParam="");break;case h.CSI_PARAM:if(r in a){a[r](this);break}this.finalizeParam(),this._state=h.CSI;case h.CSI:r in l?l[r](this._inputHandler,this._terminal.params,this._terminal.prefix,this._terminal.postfix,this):this._terminal.error("Unknown CSI code: %s.",r),this._state=h.NORMAL,this._terminal.prefix="",this._terminal.postfix="";break;case h.DCS:if(r===i.C0.ESC||r===i.C0.BEL){r===i.C0.ESC&&this._position++;var p=void 0,f=void 0;switch(this._terminal.prefix){case"":break;case"$q":switch(p=this._terminal.currentParam,f=!1,p){case'"q':p='0"q';break;case'"p':p='61"p';break;case"r":p=this._terminal.scrollTop+1+";"+(this._terminal.scrollBottom+1)+"r";break;case"m":p="0m";break;default:this._terminal.error("Unknown DCS Pt: %s.",p),p=""}this._terminal.send(i.C0.ESC+"P"+ +f+"$r"+p+i.C0.ESC+"\\");break;case"+p":break;case"+q":p=this._terminal.currentParam,f=!1,this._terminal.send(i.C0.ESC+"P"+ +f+"+r"+p+i.C0.ESC+"\\");break;default:this._terminal.error("Unknown DCS prefix: %s.",this._terminal.prefix)}this._terminal.currentParam=0,this._terminal.prefix="",this._state=h.NORMAL}else this._terminal.currentParam?this._terminal.currentParam+=r:this._terminal.prefix||"$"===r||"+"===r?2===this._terminal.prefix.length?this._terminal.currentParam=r:this._terminal.prefix+=r:this._terminal.currentParam=r;break;case h.IGNORE:r!==i.C0.ESC&&r!==i.C0.BEL||(r===i.C0.ESC&&this._position++,this._state=h.NORMAL)}}return this._state},e.prototype.setState=function(e){this._state=e},e.prototype.setPrefix=function(e){this._terminal.prefix=e},e.prototype.setPostfix=function(e){this._terminal.postfix=e},e.prototype.setParam=function(e){this._terminal.currentParam=e},e.prototype.getParam=function(){return this._terminal.currentParam},e.prototype.finalizeParam=function(){this._terminal.params.push(this._terminal.currentParam),this._terminal.currentParam=0},e.prototype.skipNextChar=function(){this._position++},e}();t.Parser=c},function(e,t,r){"use strict";function i(e){var t=e.ownerDocument.createElement("span");t.innerHTML="hello world",e.appendChild(t);var r=t.offsetWidth,i=t.offsetHeight;t.style.fontWeight="bold";var o=t.offsetWidth,s=t.offsetHeight;return e.removeChild(t),r!==o||i!==s}Object.defineProperty(t,"__esModule",{value:!0});var o,s=r(26);!function(e){e[e.BOLD=1]="BOLD",e[e.UNDERLINE=2]="UNDERLINE",e[e.BLINK=4]="BLINK",e[e.INVERSE=8]="INVERSE",e[e.INVISIBLE=16]="INVISIBLE"}(o||(o={}));var n=null,a=function(){function e(e){this._terminal=e,this._refreshRowsQueue=[],this._refreshFramesSkipped=0,this._refreshAnimationFrame=null,this._spanElementObjectPool=new s.DomElementObjectPool("span"),null===n&&(n=i(this._terminal.element)),this._spanElementObjectPool=new s.DomElementObjectPool("span")}return e.prototype.queueRefresh=function(e,t){this._refreshRowsQueue.push({start:e,end:t}),this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame(this._refreshLoop.bind(this)))},e.prototype._refreshLoop=function(){if(this._terminal.writeBuffer.length>0&&this._refreshFramesSkipped++<=5)this._refreshAnimationFrame=window.requestAnimationFrame(this._refreshLoop.bind(this));else{this._refreshFramesSkipped=0;var e,t;if(this._refreshRowsQueue.length>4)e=0,t=this._terminal.rows-1;else{e=this._refreshRowsQueue[0].start,t=this._refreshRowsQueue[0].end;for(var r=1;rt&&(t=this._refreshRowsQueue[r].end)}this._refreshRowsQueue=[],this._refreshAnimationFrame=null,this._refresh(e,t)}},e.prototype._refresh=function(e,t){var r;t-e>=this._terminal.rows/2&&(r=this._terminal.element.parentNode)&&this._terminal.element.removeChild(this._terminal.rowContainer);var i=this._terminal.cols,s=e;for(t>=this._terminal.rows&&(this._terminal.log("`end` is too large. Most likely a bad CSR."),t=this._terminal.rows-1);s<=t;s++){var a=s+this._terminal.ydisp,l=this._terminal.lines.get(a),h=void 0;h=this._terminal.y===s-(this._terminal.ybase-this._terminal.ydisp)&&this._terminal.cursorState&&!this._terminal.cursorHidden?this._terminal.x:-1;for(var c=this._terminal.defAttr,u=document.createDocumentFragment(),d="",p=void 0;this._terminal.children[s].children.length;){var f=this._terminal.children[s].children[0];this._terminal.children[s].removeChild(f),this._spanElementObjectPool.release(f)}for(var g=0;g>9&511,w=m>>18;if(w&o.BOLD&&(n||p.classList.add("xterm-bold"),C<8&&(C+=8)),w&o.UNDERLINE&&p.classList.add("xterm-underline"),w&o.BLINK&&p.classList.add("xterm-blink"),w&o.INVERSE){var S=_;_=C,C=S,1&w&&C<8&&(C+=8)}w&o.INVISIBLE&&p.classList.add("xterm-hidden"),w&o.INVERSE&&(257===_&&(_=15),256===C&&(C=0)),_<256&&p.classList.add("xterm-bg-color-"+_),C<256&&p.classList.add("xterm-color-"+C)}if(2===b)d+=''+y+"";else if(y.charCodeAt(0)>255)d+=''+y+"";else switch(y){case"&":d+="&";break;case"<":d+="<";break;case">":d+=">";break;default:d+=y<=" "?" ":y}c=m}}d&&!p&&(p=this._spanElementObjectPool.acquire()),p&&(d&&(p.innerHTML=d,d=""),u.appendChild(p),p=null),this._terminal.children[s].appendChild(u)}r&&this._terminal.element.appendChild(this._terminal.rowContainer),this._terminal.emit("refresh",{element:this._terminal.element,start:e,end:t})},e.prototype.refreshSelection=function(e,t){for(;this._terminal.selectionContainer.children.length;)this._terminal.selectionContainer.removeChild(this._terminal.selectionContainer.children[0]);if(e&&t){var r=e[1]-this._terminal.ydisp,i=t[1]-this._terminal.ydisp,o=Math.max(r,0),s=Math.min(i,this._terminal.rows-1);if(!(o>=this._terminal.rows||s<0)){var n=document.createDocumentFragment(),a=r===o?e[0]:0,l=o===s?t[0]:this._terminal.cols;n.appendChild(this._createSelectionElement(o,a,l));var h=s-o-1;if(n.appendChild(this._createSelectionElement(o+1,0,this._terminal.cols,h)),o!==s){var c=i===s?t[0]:this._terminal.cols;n.appendChild(this._createSelectionElement(s,0,c))}this._terminal.selectionContainer.appendChild(n)}}},e.prototype._createSelectionElement=function(e,t,r,i){void 0===i&&(i=1);var o=document.createElement("div");return o.style.height=i*this._terminal.charMeasure.height+"px",o.style.top=e*this._terminal.charMeasure.height+"px",o.style.left=t*this._terminal.charMeasure.width+"px",o.style.width=this._terminal.charMeasure.width*(r-t)+"px",o},e}();t.Renderer=a},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o,s=r(10),n=r(9),a=r(1),l=r(21),h=String.fromCharCode(160),c=new RegExp(h,"g");!function(e){e[e.NORMAL=0]="NORMAL",e[e.WORD=1]="WORD",e[e.LINE=2]="LINE"}(o||(o={}));var u=function(e){function t(t,r,i,s){var n=e.call(this)||this;return n._terminal=t,n._buffer=r,n._rowContainer=i,n._charMeasure=s,n._initListeners(),n.enable(),n._model=new l.SelectionModel(t),n._lastMouseDownTime=0,n._activeSelectionMode=o.NORMAL,n}return i(t,e),t.prototype._initListeners=function(){var e=this;this._bufferTrimListener=function(t){return e._onTrim(t)},this._mouseMoveListener=function(t){return e._onMouseMove(t)},this._mouseDownListener=function(t){return e._onMouseDown(t)},this._mouseUpListener=function(t){return e._onMouseUp(t)}},t.prototype.disable=function(){this.clearSelection(),this._buffer.off("trim",this._bufferTrimListener),this._rowContainer.removeEventListener("mousedown",this._mouseDownListener)},t.prototype.enable=function(){this._buffer.on("trim",this._bufferTrimListener),this._rowContainer.addEventListener("mousedown",this._mouseDownListener)},t.prototype.setBuffer=function(e){this._buffer=e,this.clearSelection()},Object.defineProperty(t.prototype,"hasSelection",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t)&&(e[0]!==t[0]||e[1]!==t[1])},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectionText",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";var r=e[1]===t[1]?t[0]:null,i=[];i.push(this._translateBufferLineToString(this._buffer.get(e[1]),!0,e[0],r));for(var o=e[1]+1;o<=t[1]-1;o++){var s=this._buffer.get(o),a=this._translateBufferLineToString(s,!0);s.isWrapped?i[i.length-1]+=a:i.push(a)}if(e[1]!==t[1]){var s=this._buffer.get(t[1]),a=this._translateBufferLineToString(s,!0,0,t[0]);s.isWrapped?i[i.length-1]+=a:i.push(a)}return i.map(function(e){return e.replace(c," ")}).join(n.isMSWindows?"\r\n":"\n")},enumerable:!0,configurable:!0}),t.prototype.clearSelection=function(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh()},t.prototype._translateBufferLineToString=function(e,t,r,i){void 0===r&&(r=0),void 0===i&&(i=null);for(var o="",s=r,n=i,a=0;a=a&&s--,i>=a&&n--)}var h=n||e.length;if(t){var c=o.search(/\s+$/);if(-1!==c&&(h=Math.min(h,c)),h<=s)return""}return o.substring(s,h)},t.prototype.refresh=function(e){var t=this;this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame(function(){return t._refresh()})),n.isLinux&&e&&this.selectionText.length&&this.emit("newselection",this.selectionText)},t.prototype._refresh=function(){this._refreshAnimationFrame=null,this.emit("refresh",{start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd})},t.prototype.selectAll=function(){this._model.isSelectAllActive=!0,this.refresh()},t.prototype._onTrim=function(e){this._model.onTrim(e)&&this.refresh()},t.prototype._getMouseBufferCoords=function(e){var t=s.getCoords(e,this._rowContainer,this._charMeasure,this._terminal.cols,this._terminal.rows,!0);return t[0]--,t[1]--,t[1]+=this._terminal.ydisp,t},t.prototype._getMouseEventScrollAmount=function(e){var t=s.getCoordsRelativeToElement(e,this._rowContainer)[1],r=this._terminal.rows*this._charMeasure.height;return t>=0&&t<=r?0:(t>r&&(t-=r),t=Math.min(Math.max(t,-50),50),(t/=50)/Math.abs(t)+Math.round(14*t))},t.prototype._onMouseDown=function(e){0===e.button&&(e.preventDefault(),this._dragScrollAmount=0,this._setMouseClickCount(e),e.shiftKey?this._onShiftClick(e):1===this._clickCount?this._onSingleClick(e):2===this._clickCount?this._onDoubleClick(e):3===this._clickCount&&this._onTripleClick(e),this._addMouseDownListeners(),this.refresh(!0))},t.prototype._addMouseDownListeners=function(){var e=this;this._rowContainer.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._rowContainer.ownerDocument.addEventListener("mouseup",this._mouseUpListener),this._dragScrollIntervalTimer=setInterval(function(){return e._dragScroll()},50)},t.prototype._removeMouseDownListeners=function(){this._rowContainer.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._rowContainer.ownerDocument.removeEventListener("mouseup",this._mouseUpListener),clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=null},t.prototype._onShiftClick=function(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))},t.prototype._onSingleClick=function(e){this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=o.NORMAL,this._model.selectionStart=this._getMouseBufferCoords(e),this._model.selectionStart&&(this._model.selectionEnd=null,0===this._buffer.get(this._model.selectionStart[1])[this._model.selectionStart[0]][2]&&this._model.selectionStart[0]++)},t.prototype._onDoubleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=o.WORD,this._selectWordAt(t))},t.prototype._onTripleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=o.LINE,this._selectLineAt(t[1]))},t.prototype._setMouseClickCount=function(e){var t=(new Date).getTime();(t-this._lastMouseDownTime>400||this._distanceFromLastMousePosition(e)>10)&&(this._clickCount=0),this._lastMouseDownTime=t,this._lastMousePosition=[e.pageX,e.pageY],this._clickCount++},t.prototype._distanceFromLastMousePosition=function(e){return Math.max(Math.abs(this._lastMousePosition[0]-e.pageX),Math.abs(this._lastMousePosition[1]-e.pageY))},t.prototype._onMouseMove=function(e){var t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),this._activeSelectionMode===o.LINE?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._terminal.cols-1:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]0?this._model.selectionEnd=[this._terminal.cols-1,this._terminal.ydisp+this._terminal.rows]:this._model.selectionEnd=[0,this._terminal.ydisp],this.refresh())},t.prototype._onMouseUp=function(e){this._removeMouseDownListeners()},t.prototype._convertViewportColToCharacterIndex=function(e,t){for(var r=t[0],i=0;t[0]>=i;i++)0===e[i][2]&&r--;return r},t.prototype._getWordAt=function(e){var t=this._buffer.get(e[1]),r=this._translateBufferLineToString(t,!1),i=this._convertViewportColToCharacterIndex(t,e),o=i,s=e[0]-o,n=0,a=0;if(" "===r.charAt(o)){for(;o>0&&" "===r.charAt(o-1);)o--;for(;i0&&!this._isCharWordSeparator(r.charAt(o-1));)0===t[l-1][2]&&(n++,l--),o--,l--;for(;i+1=0},t.prototype._selectLineAt=function(e){this._model.selectionStart=[0,e],this._model.selectionStartLength=this._terminal.cols},t}(a.EventEmitter);t.SelectionManager=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e){this._terminal=e,this.clearSelection()}return e.prototype.clearSelection=function(){this.selectionStart=null,this.selectionEnd=null,this.isSelectAllActive=!1,this.selectionStartLength=0},Object.defineProperty(e.prototype,"finalSelectionStart",{get:function(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"finalSelectionEnd",{get:function(){return this.isSelectAllActive?[this._terminal.cols,this._terminal.ybase+this._terminal.rows-1]:this.selectionStart?!this.selectionEnd||this.areSelectionValuesReversed()?[this.selectionStart[0]+this.selectionStartLength,this.selectionStart[1]]:this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]?[Math.max(this.selectionStart[0]+this.selectionStartLength,this.selectionEnd[0]),this.selectionEnd[1]]:this.selectionEnd:null},enumerable:!0,configurable:!0}),e.prototype.areSelectionValuesReversed=function(){var e=this.selectionStart,t=this.selectionEnd;return e[1]>t[1]||e[1]===t[1]&&e[0]>t[0]},e.prototype.onTrim=function(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)},e}();t.SelectionModel=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,r,i){var o=this;this.terminal=e,this.viewportElement=t,this.scrollArea=r,this.charMeasure=i,this.currentRowHeight=0,this.lastRecordedBufferLength=0,this.lastRecordedViewportHeight=0,this.terminal.on("scroll",this.syncScrollArea.bind(this)),this.terminal.on("resize",this.syncScrollArea.bind(this)),this.viewportElement.addEventListener("scroll",this.onScroll.bind(this)),setTimeout(function(){return o.syncScrollArea()},0)}return e.prototype.refresh=function(){if(this.charMeasure.height>0){var e=this.charMeasure.height!==this.currentRowHeight;e&&(this.currentRowHeight=this.charMeasure.height,this.viewportElement.style.lineHeight=this.charMeasure.height+"px",this.terminal.rowContainer.style.lineHeight=this.charMeasure.height+"px");var t=this.lastRecordedViewportHeight!==this.terminal.rows;(e||t)&&(this.lastRecordedViewportHeight=this.terminal.rows,this.viewportElement.style.height=this.charMeasure.height*this.terminal.rows+"px",this.terminal.selectionContainer.style.height=this.viewportElement.style.height),this.scrollArea.style.height=this.charMeasure.height*this.lastRecordedBufferLength+"px"}},e.prototype.syncScrollArea=function(){this.lastRecordedBufferLength!==this.terminal.lines.length?(this.lastRecordedBufferLength=this.terminal.lines.length,this.refresh()):this.lastRecordedViewportHeight!==this.terminal.rows?this.refresh():this.charMeasure.height!==this.currentRowHeight&&this.refresh();var e=this.terminal.ydisp*this.currentRowHeight;this.viewportElement.scrollTop!==e&&(this.viewportElement.scrollTop=e)},e.prototype.onScroll=function(e){var t=Math.round(this.viewportElement.scrollTop/this.currentRowHeight)-this.terminal.ydisp;this.terminal.scrollDisp(t,!0)},e.prototype.onWheel=function(e){if(0!==e.deltaY){var t=1;e.deltaMode===WheelEvent.DOM_DELTA_LINE?t=this.currentRowHeight:e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t=this.currentRowHeight*this.terminal.rows),this.viewportElement.scrollTop+=e.deltaY*t,e.preventDefault()}},e.prototype.onTouchStart=function(e){this.lastTouchY=e.touches[0].pageY},e.prototype.onTouchMove=function(e){var t=this.lastTouchY-e.touches[0].pageY;this.lastTouchY=e.touches[0].pageY,0!==t&&(this.viewportElement.scrollTop+=t,e.preventDefault())},e}();t.Viewport=i},function(e,t,r){"use strict";function i(e,t){return t?e.replace(/\r?\n/g,"\r"):e}function o(e,t){t.style.position="fixed",t.style.width="20px",t.style.height="20px",t.style.left=e.clientX-10+"px",t.style.top=e.clientY-10+"px",t.style.zIndex="1000",t.focus(),setTimeout(function(){t.style.position=null,t.style.width=null,t.style.height=null,t.style.left=null,t.style.top=null,t.style.zIndex=null},4)}Object.defineProperty(t,"__esModule",{value:!0}),t.prepareTextForTerminal=i,t.copyHandler=function(e,t,r){t.browser.isMSIE?window.clipboardData.setData("Text",r.selectionText):e.clipboardData.setData("text/plain",r.selectionText),e.preventDefault()},t.pasteHandler=function(e,t){e.stopPropagation();var r=function(r){return r=i(r,t.browser.isMSWindows),t.handler(r),t.textarea.value="",t.emit("paste",r),t.cancel(e)};t.browser.isMSIE?window.clipboardData&&r(window.clipboardData.getData("Text")):e.clipboardData&&r(e.clipboardData.getData("text/plain"))},t.moveTextAreaUnderMouseCursor=o,t.rightClickHandler=function(e,t,r){o(e,t),t.value=r.selectionText,t.select()}},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t,r){var i=e.call(this)||this;return i._document=t,i._parentElement=r,i}return i(t,e),Object.defineProperty(t.prototype,"width",{get:function(){return this._width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this._height},enumerable:!0,configurable:!0}),t.prototype.measure=function(){var e=this;this._measureElement?this._doMeasure():(this._measureElement=this._document.createElement("span"),this._measureElement.style.position="absolute",this._measureElement.style.top="0",this._measureElement.style.left="-9999em",this._measureElement.textContent="W",this._measureElement.setAttribute("aria-hidden","true"),this._parentElement.appendChild(this._measureElement),setTimeout(function(){return e._doMeasure()},0))},t.prototype._doMeasure=function(){var e=this._measureElement.getBoundingClientRect();0!==e.width&&0!==e.height&&(this._width===e.width&&this._height===e.height||(this._width=e.width,this._height=e.height,this.emit("charsizechanged")))},t}(r(1).EventEmitter);t.CharMeasure=o},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var r=e.call(this)||this;return r._array=new Array(t),r._startIndex=0,r._length=0,r}return i(t,e),Object.defineProperty(t.prototype,"maxLength",{get:function(){return this._array.length},set:function(e){for(var t=new Array(e),r=0;rthis._length)for(var t=this._length;t=e;o--)this._array[this._getCyclicIndex(o+r.length)]=this._array[this._getCyclicIndex(o)];for(var o=0;othis.maxLength){var s=this._length+r.length-this.maxLength;this._startIndex+=s,this._length=this.maxLength,this.emit("trim",s)}else this._length+=r.length}},t.prototype.trimStart=function(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.emit("trim",e)},t.prototype.shiftElements=function(e,t,r){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+r<0)throw new Error("Cannot shift elements in list beyond index 0");if(r>0){for(o=t-1;o>=0;o--)this.set(e+o+r,this.get(e+o));var i=e+t+r-this._length;if(i>0)for(this._length+=i;this._length>this.maxLength;)this._length--,this._startIndex++,this.emit("trim",1)}else for(var o=0;o=0}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(11),o=r(14),s=r(13),n=r(12),a=document.getElementById("terminal");if(null!==a){var l;l="hterm"==gotty_term?new i.Hterm(a):new o.Xterm(a);var h=("https:"==window.location.protocol?"wss://":"ws://")+window.location.host+window.location.pathname+"ws",c=window.location.search,u=new n.ConnectionFactory(h,s.protocols),d=new s.WebTTY(l,u,c,gotty_auth_token).open();window.addEventListener("unload",function(){d(),l.close()})}},function(e,t,r){function i(e){return r(o(e))}function o(e){var t=s[e];if(!(t+1))throw new Error("Cannot find module '"+e+"'.");return t}var s={"./attach/attach":5,"./attach/attach.js":5,"./attach/package.json":30,"./fit/fit":6,"./fit/fit.js":6,"./fit/package.json":31,"./fullscreen/fullscreen":7,"./fullscreen/fullscreen.css":32,"./fullscreen/fullscreen.js":7,"./fullscreen/package.json":33,"./terminado/package.json":34,"./terminado/terminado":8,"./terminado/terminado.js":8};i.keys=function(){return Object.keys(s)},i.resolve=o,e.exports=i,i.id=29},function(e,t){e.exports={name:"xterm.attach",main:"attach.js",private:!0}},function(e,t){e.exports={name:"xterm.fit",main:"fit.js",private:!0}},function(e,t){throw new Error("Module parse failed: /home/yudai/archive/products/2015/gotty/src/github.com/yudai/gotty/js/node_modules/xterm/lib/addons/fullscreen/fullscreen.css Unexpected token (1:0)\nYou may need an appropriate loader to handle this file type.\n| .xterm.fullscreen {\n| position: fixed;\n| top: 0;")},function(e,t){e.exports={name:"xterm.fullscreen",main:"fullscreen.js",private:!0}},function(e,t){e.exports={name:"xterm.terminado",main:"terminado.js",private:!0}}]); \ No newline at end of file diff --git a/js/src/webtty.ts b/js/src/webtty.ts index a536385..8ff2146 100644 --- a/js/src/webtty.ts +++ b/js/src/webtty.ts @@ -1,3 +1,5 @@ +import { lib } from "libapps" + export const protocols = ["webtty"]; export const msgInputUnknown = '0'; @@ -62,6 +64,8 @@ export class WebTTY { let pingTimer: number; let reconnectTimeout: number; + const decoder = new lib.UTF8Decoder() + const setup = () => { connection.onOpen(() => { const termInfo = this.term.info(); @@ -104,11 +108,7 @@ export class WebTTY { const payload = data.slice(1); switch (data[0]) { case msgOutput: - this.term.output( - decodeURIComponent(Array.prototype.map.call(atob(payload), function(c) { - return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); - }).join('')) - ); + this.term.output(decoder.decode(atob(payload))); break; case msgPong: break; diff --git a/js/typings/libapps/index.d.ts b/js/typings/libapps/index.d.ts index 7d3888a..81eb66d 100644 --- a/js/typings/libapps/index.d.ts +++ b/js/typings/libapps/index.d.ts @@ -44,4 +44,8 @@ export declare namespace lib { export var Storage: { Memory: Memory } + + export class UTF8Decoder { + decode(str: string) + } } diff --git a/server/asset.go b/server/asset.go index a0409ba..04ec3c7 100644 --- a/server/asset.go +++ b/server/asset.go @@ -129,7 +129,7 @@ func staticCssXterm_customizeCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/css/xterm_customize.css", size: 550, mode: os.FileMode(436), modTime: time.Unix(1503454064, 0)} + info := bindataFileInfo{name: "static/css/xterm_customize.css", size: 550, mode: os.FileMode(436), modTime: time.Unix(1503469811, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -194,7 +194,7 @@ func staticJsBundleJs() (*asset, error) { return a, nil } -var _staticJsGottyBundleJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x6b\x6f\x23\x4b\x96\x20\x06\xbf\x81\xf9\xe0\xf7\xfb\x99\xca\x3b\xa3\x9b\x59\x0c\x51\x99\x7c\x49\x22\x95\xa5\x61\xf1\x71\x4b\x7b\x55\x52\xb5\xc8\xba\xd5\x77\x55\xea\xdb\x29\x32\x28\x66\x57\x32\x93\x9d\x19\x94\x4a\x2d\xb1\xbd\x30\xd6\x0b\x2c\x60\x18\x6b\x63\xb1\xde\x0f\x0b\x78\x6d\xcf\x7a\x76\x8d\x85\xb1\x6b\x2c\xfc\x9a\x59\x1b\x98\xfb\x03\xfc\x1f\xfa\x97\x18\x71\xe2\x91\x11\x99\x49\xaa\xee\xed\x9e\x81\x3f\xb8\x54\x24\x33\xe3\x44\x9c\x38\x71\xe2\x44\xc4\x89\x13\x27\x22\x76\x66\xab\x68\x42\x82\x38\xb2\xb0\xfd\x28\x9e\x0d\x62\x05\xf6\x63\x30\xb3\x92\xab\xe0\xda\x4e\x30\x59\x25\x91\x41\x9f\xab\xf8\xd3\x32\x4e\x48\xda\xb9\xf3\x13\x23\xf6\x68\x90\xf7\x18\xb4\x03\x14\xb6\x77\x5c\xc4\x81\xed\xc7\xf5\xba\xc3\x13\x61\x9a\x68\xe2\x87\xa1\x15\x8b\xb4\x28\x46\xd9\x33\xb1\x51\x5c\x0d\xbd\x1d\x27\x0b\x5b\x53\xdc\x89\xf7\xb8\xee\x90\xea\xc2\xc3\x88\x54\x27\x5e\x82\x48\x35\xf0\x54\x52\x05\xfe\x35\x22\xd5\xa9\x02\x41\x09\x0a\xec\x47\x52\x8d\xe9\xa3\xfd\xf4\x74\x71\xf3\x0b\x3c\x21\xd5\x29\x9e\x05\x11\x7e\x9b\xc4\x4b\x9c\x90\x07\x88\xf6\x38\x89\xa3\x59\x70\xbb\x4a\xfc\x9b\x10\x03\xf9\xd1\x6a\x81\xf9\x9b\x83\x6e\x31\x69\x07\x6b\x9b\xe2\x8f\xb4\x9c\x19\x79\x78\x77\x17\x57\xbf\xfb\x0e\xa7\x6f\xe2\xe9\x2a\xc4\x27\x32\x46\x46\x1a\xcd\xd4\x5f\x85\x64\xdd\x2e\x01\x4a\x0e\x91\xea\xd4\x4a\x90\xe9\x9b\x28\xb1\x51\x42\xb3\x8b\xd5\xe2\x10\x99\x84\x97\x64\x99\xc4\x24\x26\x0f\x4b\x5c\x9d\xfb\xe9\xc5\x7d\x24\xca\xc4\xb8\x4c\x13\x50\x1c\x4b\xcf\x34\x11\xb1\x48\x35\xf5\x6a\x87\xf6\xda\xba\x52\x51\xa2\xc4\x7e\x34\x57\x29\x36\x52\x92\x04\x13\x62\x76\x64\xbd\x07\xa2\x80\xc4\x23\xf3\x20\xed\x04\x33\x6b\xc7\xa2\x4f\x46\x10\xa5\xc4\x8f\x26\x38\x9e\x19\x81\x2d\x44\x22\xc2\xf7\x46\x60\xf9\xc9\xed\x6a\x81\x23\x92\x5e\x39\xd7\x28\x7b\x71\xd5\x97\xda\xb5\xdd\x21\xd5\x9b\x24\xbe\x4f\x71\xe2\x8d\x68\xa5\x52\x6c\xa1\x17\xf0\x07\xb4\xaa\x0e\xee\x70\x44\x06\x8b\x80\x10\x9c\xb0\xd2\xd0\x9c\x6d\x64\x46\xab\xc5\x0d\x4e\x4c\xcf\xa3\xc5\x8e\x67\x06\xde\xdd\xb5\xb0\xf7\x38\x89\xc3\xb4\xad\x65\x4e\xd1\xb7\x35\x0a\xe6\x7e\x34\x0d\x71\xd2\x56\x29\x59\xdb\x08\x7b\xf8\xe9\xe9\x71\x8d\x38\x4f\x3f\xe2\x87\xd4\x0a\x44\x7d\xa5\x76\x75\x16\x27\x03\x7f\x32\xb7\x24\xd7\x12\xfb\x31\x5a\x85\xa1\xe7\xe1\xab\xe4\x9a\x66\x7f\x95\x5c\x7b\x41\x35\x5e\x52\x68\x7a\x95\x5c\xa3\xe0\x2a\xb9\xde\xf1\xbc\x0c\x8b\x1a\xf1\x2a\xb9\xb6\x6d\x44\xe8\x33\x0d\x58\xdb\xe8\xd0\xf3\x3c\x5c\x9d\xc4\x61\x9c\xa4\xd5\x10\x47\xb7\x64\x7e\x22\xde\x33\xc0\x24\x8e\x26\x3e\xb1\x82\xea\x77\x3c\x20\x0d\x83\x09\xb6\x0e\x6d\xbb\xed\xb6\x7e\x1b\x0c\x6e\x8b\xa2\x70\x3e\x0b\x05\x4b\xe1\xa0\xbd\x9a\xbd\x91\x20\x0a\x44\xb9\x14\x7b\x35\x9a\x47\x49\x41\x29\x5b\x3e\x9f\xd0\x4d\xa8\x6d\x44\xc5\x23\x8f\x87\x05\xf2\x7a\xa1\xbd\x07\x7d\x5d\xfa\x09\x8e\x88\x87\xab\x37\xf1\xf4\xe1\xe9\x09\xf3\x80\xa7\x27\xab\x7b\xd2\xad\xde\x62\x32\x08\x31\x48\xc7\xab\x87\xb1\x7f\x7b\xee\x2f\xb0\x65\xd2\xa8\xa6\x7d\xe5\x5c\xb7\x69\xc5\x67\x99\xf1\xac\x52\x8a\xe6\x16\xc7\x0b\x4c\x92\x07\x2a\x7b\x00\xa7\x02\xe8\x61\xf8\xd1\xe0\x2e\x87\x8b\x00\xef\x4a\xa2\xcb\x12\x5e\x23\xda\xa6\x41\x5e\x77\x77\x59\x31\x22\xcb\x9c\xfa\xc4\x37\x33\x08\x27\xe4\xe1\xc6\x4f\xb1\xe7\xf0\x97\x69\x90\x2e\xc5\xcb\x27\x19\x2a\x1e\x26\xab\x24\x8d\x93\x11\xf1\x09\xd6\x83\x5e\x07\xd3\x29\x8e\xbc\x1d\x57\x14\x2e\xba\xc3\x09\x19\xc4\x21\x7b\xff\xe5\x0a\xaf\x30\xf4\x23\xf4\x2d\x9d\x24\x71\x18\x8e\x63\x99\x11\x0b\x78\x15\x13\x12\x2f\x3c\x59\x88\x3d\x81\x6c\x95\x92\x78\xf1\x35\x7e\x80\x56\xfd\x9a\x11\xef\x51\x56\xaa\x14\xbc\x0a\x83\xe8\xe3\x69\x44\x70\x72\xe7\x87\x0a\xd4\x5f\x2e\xc3\x60\xe2\xd3\x4a\xfc\x1a\x3f\x2c\xfd\xa9\x24\x52\x81\xf4\x00\x85\x84\xc4\x49\x70\x1b\x44\x6f\xe2\x29\x96\x41\x41\x94\xe2\x84\x68\x41\xf7\x89\xbf\xf4\x93\x78\x15\x4d\x59\x30\x2f\x4c\x14\x27\x0b\x8d\x82\xc9\xdc\x4f\x52\x4c\x94\x90\xdb\x92\xa0\x10\xdf\xe1\x50\x32\x95\xc1\x53\xef\x8a\xc6\xe0\x35\x3e\xc5\x93\xb3\x78\xe2\x93\x38\xe1\xd5\xe3\x3a\x6f\xe2\x55\xca\x05\xf3\x8e\xd4\x1c\xfd\xbd\xae\xbd\x33\xb2\x94\x80\x05\x7d\x04\x96\x72\xc1\x49\x71\x34\x1d\xc6\x93\x15\x7f\x5d\x91\x99\x12\x3b\xbd\x4d\x94\xb7\x55\xf2\xe9\x8e\x28\xef\x98\x09\xbd\x20\x3e\x08\xa7\x09\x8e\xb8\x38\xe2\x59\x82\xd3\xf9\x88\xf8\x09\xd1\x42\x06\xd1\x94\xa3\xf6\xef\xf0\xf4\xa7\xca\xf3\xb7\xca\x73\x2f\x93\x6b\xec\x4f\xe9\x88\x2a\x19\x7d\x9f\x04\x44\x0b\x98\xe2\x59\x97\x90\xc4\x73\xeb\xee\x61\x23\x13\x4f\x08\x53\x23\xc8\x96\xec\x2f\x52\xef\xea\x5a\x46\xa4\x0d\xf9\x2d\x0d\x15\xd5\xb0\x4c\xf0\x2c\xf8\x24\xe5\x76\x19\xa7\x44\x7d\x0f\xa2\xe5\x2a\x93\x47\x7c\x6f\x2c\xaa\xa7\x4a\x10\x1f\x73\x44\x66\x29\x8f\xf4\x50\x7d\x0b\x2f\x56\x01\x07\x52\x12\x24\x38\x9a\xe2\x04\x73\xc2\xc5\xdb\xd3\x53\x26\x31\x29\x0e\x31\x8c\x28\x6f\xfc\xc8\xbf\x15\x31\xf3\xa1\x6a\x0a\xda\x42\x82\x59\x20\xa2\xca\xd7\xa7\x27\x4a\xd7\x77\xd5\x33\x11\x90\xf1\x17\xbf\x5a\xcd\x66\x38\x91\x5c\x82\xb0\x53\xaa\x29\xdc\x26\x38\x4d\x65\x5b\xf8\x14\xcf\x66\x23\x1c\x91\x71\xdc\xf3\xc9\x64\xfe\x6e\xa9\xb4\x92\x80\xe0\x11\x89\x97\x4b\x9c\x35\xbd\x74\x95\x24\xf1\xad\x4f\xf0\x77\xf3\xe0\x76\x2e\x19\x1a\x06\x11\x4e\x81\x49\xb3\x6a\x2f\x48\x26\xab\xd0\x4f\xce\x82\x94\x58\x4a\x2f\x71\xe3\x4f\x3e\xda\x9d\x59\x9c\x58\x4c\x7b\x92\xdd\x45\x27\xd9\xdb\xeb\xd8\x19\x9e\xea\x72\x95\xce\x59\xca\x9b\xd0\x8f\x3e\x9e\x05\x11\xb6\x6c\xbb\x53\xca\x26\xde\x4b\xe6\x83\xab\x29\x26\x8c\x03\x56\x86\x98\xd7\x10\xf1\x6f\x64\xc3\x21\xab\x25\x2d\x62\x6a\x71\xd8\x2a\xc5\xc9\x08\xc8\x0d\xa2\x5b\x6f\xc7\x5d\x4b\xb5\x28\x66\x5a\x13\xd5\x2c\xbb\x49\xe2\x3f\x54\x83\x14\x7e\x2d\x6c\x3f\x3d\x59\xd8\xbb\xc2\xd7\x74\x88\x2a\x68\x0d\xd8\x7e\xc4\x55\x7f\x3a\x85\x06\x4b\x79\x82\x23\x4a\x14\xc5\xf4\xf4\xb4\xe3\xda\x6b\x3b\xcb\x23\xcd\xf2\xc0\xd5\x04\x2f\xe2\x3b\xbc\x31\x99\x4c\xc4\x35\x44\xf9\x9e\x58\xf6\xa3\xe8\xcb\x53\x92\xac\x26\x24\x4e\x3c\xbc\x4e\x32\xad\xd1\x53\x34\x48\x84\x95\x70\x5a\x81\x49\x86\xd9\x67\x98\xb9\xb2\x2b\x34\xb7\x6a\x90\xbe\xf1\x27\xbb\xbb\xa4\xea\x87\xe4\x6b\xfc\xb0\xbb\xbb\x43\xaa\x13\x92\x84\xe2\x79\x81\x89\xff\x35\x86\x31\x56\x49\x32\x7a\x1f\x44\xd3\xf8\x3e\x55\x13\x96\xa6\xe3\x4a\xb1\xf9\x11\x3f\x2c\xa9\xa8\x52\x9d\xaf\x4a\xc9\x3b\x49\xda\xc9\xee\xae\xb5\x03\xba\x5a\x2f\x9e\xe2\xa7\x27\xf9\xf8\xb2\x71\xa0\xb0\x24\x14\x1a\x2e\x9b\xa2\xe0\xe3\x63\xb7\xf5\x44\x8e\x8f\x0f\x9f\x12\xaa\xce\xd2\x86\xb5\xe3\x85\xd5\xef\x26\xfe\x64\x8e\xaf\x62\x39\xbd\x51\x82\xa4\xa0\xa6\x28\x42\x3e\x9a\xa3\x09\x5a\x79\xee\xbe\x83\x96\xde\x9e\x8b\xa6\x9e\xd3\x99\x1e\x07\xd5\x3b\x4d\xa7\xe9\x4c\x2b\x15\x98\x32\xa5\x9e\x04\x5d\x4d\xaf\x51\xe4\x31\xb5\xd8\x63\xea\xa8\x47\x15\x50\x44\xf5\x2e\x6b\xe2\x85\xd5\x69\xc0\xb4\x6a\x5e\xf7\x90\x9b\x6d\xdb\x8f\x4b\x6f\xda\xb9\x49\xb0\xff\x71\x3d\x39\x5e\xed\xee\x5a\x2b\x6f\x82\x96\xde\xd4\x5e\x17\x89\xf5\x96\x59\xd9\xe7\xca\xcc\x88\xeb\x87\x92\x5d\xee\x41\xee\xfd\x50\x7d\x5f\xef\xbf\xd8\xf9\x3d\xe3\x85\xf1\x89\xe0\x64\x61\x58\x73\x42\x96\x69\x7b\x7f\x3f\x5a\x2e\x7e\x41\x85\x69\xb1\xbf\xf4\x27\x1f\xfd\x5b\xbc\x0f\x11\x6c\x1a\xf5\x0f\xa9\x26\x16\xa5\xd8\x78\x73\x3a\x86\xf7\x3b\x9c\xa4\x94\x8a\x5a\xf5\xb0\xea\xd2\x10\xcf\x83\xd8\xfb\x67\xa7\xbd\xc1\xf9\x68\xe0\x79\x34\xb0\x17\x2f\x1f\x92\xe0\x76\x4e\x0c\x6b\x62\x1b\x35\xc7\x6d\xec\xd5\x1c\xb7\x85\x8c\x51\xbc\x4a\x26\xf8\xcc\x0f\x12\xe3\x6d\x12\xdc\xf9\x04\x1b\xbd\x78\xb1\xf4\xa3\x87\x8c\x9e\xfb\xfb\xfb\x6a\x0a\xf1\x42\x3f\x48\x28\x61\x76\x29\xce\x1a\xc5\x59\x47\x46\x6f\x9e\x04\x29\x89\x97\x73\x9c\x18\x7f\x09\xcf\x66\x09\x56\x90\xdd\x06\x64\xbe\xba\x81\xd2\x4d\xe6\xbf\xf8\xc5\x3e\xa0\xa2\x9f\xb7\x38\x59\x04\x29\x94\x25\x48\x8d\x39\x4e\xf0\xcd\x83\x71\x9b\xf8\x11\xc1\x53\x64\xcc\x12\x8c\x8d\x78\x66\xd0\xe1\xfe\x16\x23\x83\xc4\x06\xa5\x71\x89\x93\x94\x76\x15\x37\xc4\x0f\xa2\x20\xba\x35\x7c\x63\x12\x2f\x1f\x28\xbe\x78\x66\xc0\x1c\x2a\x8d\x67\xe4\xde\x4f\xb0\xe1\x47\x53\xc3\x4f\xd3\x78\x12\xf8\x04\x4f\x8d\x69\x3c\x81\xc9\x09\x68\x35\xc6\x2c\x08\x71\x6a\x58\x64\x8e\x0d\x73\xc4\x53\x98\x36\xe4\x33\xc5\x7e\x48\x11\x06\x91\x41\xc1\x02\x6a\xdc\x07\x64\x1e\xaf\x88\x91\x60\x36\xa3\x0b\xe2\x08\x19\x41\x34\x09\x57\x53\x4a\x89\x00\x87\xc1\x22\xe0\x99\xd0\xe4\xc0\xb1\x94\xe2\x23\xb1\x41\xb5\x02\x20\x18\x19\x8b\x78\x1a\xcc\xe8\x2f\x86\xf2\x2d\x57\x37\x61\x90\xce\x91\x41\x85\x35\x09\x6e\x56\x04\x23\x23\xa5\x81\x50\xfd\x88\x96\x66\x3f\x4e\x8c\x14\x87\x40\xdc\x24\x5e\x06\x38\x65\x85\xce\x68\x84\x68\x34\xa3\x25\x65\x2e\xe1\xec\x4a\x69\xc8\xfd\x3c\x5e\xe8\xe5\x09\x80\xaa\xd9\x2a\x89\x82\x74\x8e\x21\xd9\x34\x36\xd2\x18\xf2\xa5\x33\x36\x1a\x42\x53\xcc\xe2\x30\x8c\xef\x69\x19\x27\x71\x34\x0d\x40\xe9\x6f\x8b\x6a\x1c\xcf\xb1\xe1\xdf\xc4\x77\x18\xca\xc5\xe4\x23\x8a\x49\x30\x61\x15\x00\x55\xb2\xcc\xaa\x9a\x83\xd2\xb9\x1f\x86\xc6\x0d\xe6\xfc\xc3\x53\x23\x88\x28\x36\x1a\x2a\x8a\x96\x50\x3a\x68\xcb\x25\x81\x1f\x1a\xcb\x38\x81\x8c\xf3\x45\xae\x4a\x42\x5e\x0f\x8c\xd1\xc5\x70\xfc\xbe\x7b\x39\x30\x4e\x47\xc6\xdb\xcb\x8b\x6f\x4e\xfb\x83\xbe\x61\x76\x47\xc6\xe9\xc8\x44\xc6\xfb\xd3\xf1\xeb\x8b\x77\x63\xe3\x7d\xf7\xf2\xb2\x7b\x3e\xfe\xd6\xb8\x18\x1a\xdd\xf3\x6f\x8d\xaf\x4f\xcf\xfb\xc8\x18\xfc\xf4\xed\xe5\x60\x34\x32\x2e\x2e\x29\xb6\xd3\x37\x6f\xcf\x4e\x07\x7d\x64\x9c\x9e\xf7\xce\xde\xf5\x4f\xcf\xbf\x32\x5e\xbd\x1b\x1b\xe7\x17\x63\xe3\xec\xf4\xcd\xe9\x78\xd0\x37\xc6\x17\x90\x27\xc7\x76\x3a\x18\x51\x7c\x6f\x06\x97\xbd\xd7\xdd\xf3\x71\xf7\xd5\xe9\xd9\xe9\xf8\x5b\x44\x71\x0d\x4f\xc7\xe7\x14\xf3\xf0\xe2\xd2\xe8\x1a\x6f\xbb\x97\xe3\xd3\xde\xbb\xb3\xee\xa5\xf1\xf6\xdd\xe5\xdb\x8b\xd1\xc0\xe8\x9e\xf7\x8d\xf3\x8b\xf3\xd3\xf3\xe1\xe5\xe9\xf9\x57\x83\x37\x83\xf3\x71\xd5\x38\x3d\x37\xce\x2f\x8c\xc1\x37\x83\xf3\xb1\x31\x7a\xdd\x3d\x3b\xa3\xb9\x51\x74\xdd\x77\xe3\xd7\x17\x97\x94\x50\xa3\x77\xf1\xf6\xdb\xcb\xd3\xaf\x5e\x8f\x8d\xd7\x17\x67\xfd\xc1\xe5\xc8\x78\x35\x30\xce\x4e\xbb\xaf\xce\x06\x2c\xb7\xf3\x6f\x8d\xde\x59\xf7\xf4\x0d\x32\xfa\xdd\x37\xdd\xaf\x06\x90\xea\x62\xfc\x7a\x00\x85\xa4\x31\x19\x99\xc6\xfb\xd7\x03\x1a\x4a\x73\xed\x9e\x1b\xdd\xde\xf8\xf4\xe2\x9c\x96\xa7\x77\x71\x3e\xbe\xec\xf6\xc6\xc8\x18\x5f\x5c\x8e\x65\xea\xf7\xa7\xa3\x01\x32\xba\x97\xa7\x23\xca\x99\xe1\xe5\xc5\x1b\x28\x29\xe5\xee\xc5\x90\xc6\x3a\x3d\xa7\x49\xcf\x07\x0c\x11\xe5\xbc\x5e\x41\x17\x97\xf0\xfe\x6e\x34\x90\x38\x8d\xfe\xa0\x7b\x76\x7a\xfe\xd5\xc8\x38\x3d\xcf\x57\x28\xad\xe5\xfd\xdf\x2b\x37\x33\x11\x64\x66\x26\x22\x13\x3d\xde\xf9\xe1\x0a\xb7\x77\x9c\xb5\x0d\x06\xb4\x89\x97\x58\x6e\xd3\x46\x2b\xfa\x6b\xa3\xa5\x97\x58\xb5\x9a\x8d\xa6\xf4\xb7\x6e\xa3\x19\xfd\x6d\xda\xe8\x96\xfe\xda\x68\x41\x63\xb5\x6c\xf4\x40\x7f\x0f\x6d\x74\x43\x7f\x8f\x6c\xf4\x1d\xfd\x3d\xb0\x51\x8f\x46\x73\x6c\x74\x4f\x7f\x1b\x36\x1a\x79\x89\x75\x68\xa3\x3b\x2f\xb1\x8e\x6c\xd4\xf5\xcc\x55\xc4\xc8\x9b\x9a\x3b\xc2\x92\x72\x0f\xe3\xf2\x09\xfb\xa9\x8a\x7e\x08\x66\xbc\x9d\xc8\x0a\x72\x46\x19\x1b\x05\x8a\xf9\x09\x27\x7e\x8a\x41\x4d\x2f\x98\xb7\xf6\x9a\x6e\x6d\x57\x55\xde\x9f\x9a\xae\xbb\xab\xaa\xf6\x6b\x14\x54\x89\x1f\xdd\xc6\x3d\x36\x7d\xbf\x32\xbf\xa8\xe1\x7a\xa3\xde\x32\x91\xf9\xc5\x64\xe2\x38\x8e\x43\x9f\x1a\xf8\xc8\x77\x58\x58\xc3\xe7\x61\xf5\x46\xab\xe9\x37\xe8\xd3\x41\xb3\xe9\x1c\xdc\xd0\x27\xa7\x75\x74\x78\xe4\xd3\xa7\x69\x7d\x7a\x30\x99\xd1\xa7\x66\xb3\x79\xd0\xac\xd3\x27\x3c\xab\x1d\xd5\x8e\xe8\xd3\xa1\x8f\x6b\x75\x48\x3b\x9b\xe0\xa3\x06\xc4\x3b\xa8\x1d\xcd\x58\x0a\x7f\x7a\x30\xf3\x0f\x59\x1e\xb8\x86\x6b\x90\x96\xfe\x9b\x98\xd7\x28\x10\x96\x06\xa5\xb4\x72\xe0\xc5\xc2\xf0\x18\x33\x05\xd6\xfc\xc2\xac\x10\x0b\xdb\x15\x62\x25\xf4\x2b\xb0\x15\x0d\x85\x64\xa3\xb4\x85\x3d\x5c\x25\xf1\x88\x24\x41\x74\x0b\x46\x19\xae\x4e\x1c\xd7\x4e\x4c\xc7\xac\xe0\x36\x66\xe6\x50\x14\x7b\x1a\xc3\xb8\x1d\xc4\x46\xa9\x77\xe5\xa0\xa3\x26\x72\xeb\x4d\xe4\x1e\x34\x51\xcd\x6d\xa2\x5a\xb3\xc9\x74\x98\xc4\x73\x3a\xc9\x71\xcd\x6d\x75\x92\x4a\xc5\xc6\x56\x7a\x95\xec\xd7\x5b\x7f\xd0\x7a\x72\xae\x11\x7d\xce\x1e\xff\xa0\x75\x6d\xab\x49\x1a\x22\x85\x77\x58\x71\x9d\x17\x09\x4a\x51\x6a\x0b\x93\x65\xbc\xb6\xa8\x28\x70\x43\x8d\x17\xe8\xb6\x19\x0a\xba\x2b\xe1\x15\xd7\xa9\x30\x22\x74\x62\x92\xc8\x64\x28\xf6\x9c\x4e\x7c\x5c\x6b\xb6\x3a\x31\xcd\xd3\x83\x69\xd7\x69\x44\xac\xe4\x2a\xbe\xae\x42\x4f\xcb\xd8\x63\x23\x2a\xff\x84\xb1\xf8\x0a\xbf\x7c\xe9\xb6\x76\x6b\xcd\x26\xc2\x2f\x5f\x1e\xc2\x43\xad\xd9\xdc\xc5\xd7\x92\x4e\xc2\xe8\x14\x06\x39\xb0\x18\xc6\x49\xda\x0e\x32\x5b\x11\x5e\xe0\xb6\xc9\x23\x98\x28\xb3\x80\xb4\xe9\xa4\x07\x27\x8b\x73\x9f\x46\x00\x35\xc6\x44\xc2\x7a\xd3\xbe\x3a\x74\x50\xad\x71\x8d\x14\x23\x06\x4d\x20\x0c\x2d\x0f\x21\x6e\x9b\x37\x61\x3c\xf9\x68\xa2\xbb\x20\x5d\xf9\xe1\x2b\x1c\x02\xca\x65\xbc\xbc\x88\xc4\x4b\x36\x35\x6a\xbb\xb8\x4e\x5f\x31\x8e\xbe\xc6\x0f\x29\x05\x4e\xf1\xcd\xea\x16\x90\x82\x79\x94\x4d\xf9\x01\x10\xa4\x74\xfe\x3c\x22\xd3\x20\xa2\xef\xab\x14\x0f\xc3\xf8\xbe\x17\x47\x24\xe1\x74\xfb\x37\x74\x5e\xf3\x3e\x98\x92\x79\xfb\x90\xb6\x34\x61\x0e\x7b\xa4\x2f\xb3\x78\xb2\x4a\x99\x11\x23\x6f\x14\x0e\x66\x96\x9c\xc5\xd8\xd2\x8c\x2d\xa6\x35\x34\x8a\x54\x8d\x03\xcf\xe9\x04\xc7\x58\x68\xbf\x41\xa5\x62\x13\x66\xb4\x4d\x10\xbe\x0a\xae\x51\x80\xb0\xbd\xd6\xa6\x42\xc1\xcc\x52\xec\xad\xb6\x6e\xd6\x06\x13\x2c\x66\xfd\x22\x41\x74\xee\x0a\x59\x11\xaa\xeb\x60\xfb\xb3\x6d\xdf\xbb\xbb\x09\x9f\x42\x4a\x29\x48\xd6\xaa\x69\x17\x69\x14\x5d\xe1\x6b\xd5\x62\x8b\xaf\x33\x66\x15\x40\x6b\xbd\xfb\x63\x6c\x2c\x5a\xf6\xd9\x34\x13\x7f\x22\x7e\x82\x7d\x16\xcb\xb2\xd7\x5a\xd2\x5b\x4c\x2e\x20\x93\x9c\xa1\x1f\xac\xed\x54\xf1\x30\x14\x82\x6d\x32\x4f\xe2\x7b\x30\xb5\x0f\x92\x24\x4e\xac\x2f\xcf\x63\x83\xd1\x08\x8a\x9d\xf1\x11\x3f\x18\xe6\x97\x15\x5c\xf9\xd2\xfc\x52\x16\xfa\x2e\x0e\xa6\x86\xb3\xe3\x79\xaa\x39\xf4\x0a\x5f\x9f\xe4\xde\xdb\xf4\x9d\x16\x4e\x23\x30\xfd\x73\x24\x30\xbd\x0f\xc8\x04\x26\x2a\x13\x3f\xc5\x66\xd6\x08\xcc\x76\x30\xb3\xc8\xb1\x34\x0d\x88\xc9\xa7\x39\xc2\x84\x50\x15\x8f\xea\x56\x59\x74\x03\x06\x53\x23\xc4\x69\x6a\x90\xb9\xcf\x54\x5a\xb6\x52\x40\x15\x31\x8a\xc1\x30\xa5\x0c\x54\x3c\xd3\x32\x2b\x12\x77\xc5\xb4\xa9\x6a\x1f\xc5\x84\xea\x75\xf1\x3d\x9e\x56\xa1\xf5\xa7\x71\x88\xab\xf7\x7e\x12\x59\x89\x8d\x76\xdc\x35\xa5\x48\x67\x18\x65\x29\x30\x42\xb1\x59\xb0\x36\xf0\x92\x88\x39\x67\x01\xb4\x47\x50\xea\x65\xa6\xda\xbd\xf8\xd8\xe9\x28\x91\x48\x12\x2c\xc0\xd4\x66\xc5\x9a\x79\xf7\x8d\x4f\xe6\xd5\x85\xff\xc9\xca\xc2\xf6\x62\xe4\xd8\xaa\xd5\x37\x17\x87\xa1\xa7\x71\x52\x6e\x1d\xe1\x86\x3b\xcb\x41\x8a\x8d\xd6\x5e\x2b\xd9\x2f\xfc\x4f\x67\x40\xa6\xc7\x6d\x7d\x77\x01\xbe\xa7\x4a\x6d\x35\x7d\x88\x26\xcc\x22\xd2\x4d\xb0\x6f\xd9\xeb\x35\xaf\x3d\x2e\x35\x22\x81\xd2\x64\x08\x12\x35\xab\x74\x8e\x66\x5b\x98\x5c\x7a\x59\x20\xed\xd2\x89\xcd\xa6\xb9\x1d\x25\x05\xf4\x9f\x3c\x05\x37\x51\x56\x27\xa1\x9f\xa6\x67\x41\x4a\xaa\x24\xbe\xbd\x0d\xb1\xc5\xba\xe4\x3d\x96\x62\x2f\xa5\x49\xf6\xa8\x7e\x93\xd0\x22\x99\xc8\xcc\x9e\x3d\x5a\x61\xe8\x87\x63\xbb\xf1\x13\x13\x99\xf4\x1b\x30\xa8\x74\xaa\x1d\x6c\x56\x34\x69\x4d\x5a\xeb\x8d\x89\x4e\xca\xfc\x24\x57\x72\xb5\xe3\xd8\xc4\x1b\x85\xb3\xaa\xb9\xdc\x2e\xb4\xd5\x4d\xa8\x71\x26\xa8\x9f\x59\xf4\x1b\xa8\x2d\x84\xc5\x72\x47\x88\xfd\x44\xc7\x2e\x8c\xf5\x96\x8d\xf4\xa5\xc2\x8d\x56\xfd\x14\x13\x99\x48\x2d\xf5\x0f\xa2\x69\x2f\x8e\x4c\x7b\x8d\x5a\x8e\x93\x67\xef\x16\x1a\x0b\x4c\x2e\xe6\xc8\x0c\x6d\x1b\x73\xdc\xb8\x56\xb1\xbb\x6b\x41\xc6\xb2\x64\x9b\x22\x6e\x46\x01\x43\x30\x54\xe6\x4d\xc0\x6d\xf8\x5a\xd5\xc5\x16\x96\xe3\x08\x32\x61\x20\x31\xb3\xd1\x8b\xd8\x8f\x38\x33\xfe\xef\xee\xb2\x17\xeb\xb6\xda\x73\xaa\x83\x51\xaf\x62\x5e\x9d\x9a\x36\xc2\x25\x45\xf6\xa7\x53\x8b\xa3\xa3\x11\xd2\x79\x7c\xcf\xd8\x47\xab\xb4\x5c\x5a\x61\xd5\xe5\xc1\xc2\xb6\x54\x1f\x30\x45\xbd\x08\x88\xc0\x84\x1e\x29\x03\x83\xc8\x0f\xdb\x78\x6d\xaf\x73\x32\x7a\x13\xae\x4a\x66\x09\xb9\xa1\x92\x46\xb2\x24\x3f\x5e\x69\x49\x0a\xec\xa0\x91\xf3\xdc\x10\x3d\x1d\xae\x3e\x20\x5c\x7d\x80\xc2\x6d\x63\xd0\xc5\x06\x06\x09\x99\xc8\x78\xb4\x45\xc6\x8a\xac\x01\xcd\x4a\x70\x87\xd1\xb9\x95\x39\x41\x14\x90\xaf\xc2\xf8\x46\x97\x57\x50\x95\xa1\x65\x21\xb1\x16\x0f\x7c\xa1\xfa\x21\x5f\xa3\x50\x04\x47\x0b\xa1\xac\xe3\x01\xb1\xd6\xfa\x91\x39\x89\x97\x0f\x0a\xdb\x12\xca\x36\x65\x49\xe9\xe9\x69\x5a\xa5\x51\xc4\x5a\x48\x82\x08\x30\x51\xb7\xaf\xdb\x7c\xfa\x9a\x94\x39\x64\x4c\xab\x4b\x3f\x25\x58\x60\x00\x7f\x84\x0e\x27\x23\xab\x3e\x88\x03\x1e\x0f\x79\x0a\x33\x08\x51\x2c\xc8\xc3\x20\xc1\xb3\xf8\xd3\x49\x3e\x36\xd0\x3e\x8d\xef\x23\x5d\x16\x6a\x9e\x47\xaa\x37\x2b\x42\xe2\x68\x77\x77\x5a\x05\xd3\x4f\x2f\x0c\x26\x1f\xe5\x22\x0f\x52\x84\xa9\xb4\x84\xed\x22\xeb\x22\x9a\x62\x81\xa3\x95\x9e\xd9\x8f\xc3\xaf\x15\xef\x2c\x88\x56\x9f\x76\x77\xf3\x59\xfa\xab\x4f\x13\x8a\x55\xcf\xcf\xf5\xf4\xd2\x51\x61\x1d\xe3\x4f\x84\x0e\xd1\xef\xe8\xb0\x07\x4b\x7c\xbc\x49\x3f\x4f\x88\x68\x70\x54\xb0\x0a\x0d\x4e\x92\xf2\x11\x3f\x14\xd9\xdc\xad\xfa\x13\x12\xdc\x61\xbe\x7a\xce\x94\x4d\xda\xd2\x3e\xe2\x87\x7e\x7c\x4f\xe3\xac\xd1\x8e\x43\x2b\x59\x47\xc5\x6c\xfb\x9f\x8d\xeb\x2d\x8d\xbe\x11\xd9\x6a\xa9\x63\xa2\xba\xff\xd3\x13\x57\xd0\x2d\xac\xa4\xca\xe4\xaf\xb4\x38\xe5\x74\x6b\x89\x4a\x08\xd7\x28\xe4\xfa\x13\xd5\x4c\x3d\xd3\x2c\x43\x32\x89\x17\xcb\x38\x65\x96\x4a\xda\xd1\x9a\xe0\xda\x20\xc3\x5e\xe3\x70\x89\x93\x6a\x3e\x16\xd4\x90\x55\x12\xd3\xde\x82\x7f\xb5\x9c\xfa\xb4\x2d\x3d\x93\x01\x8b\xf6\xa3\x72\xc0\xd1\xf4\x59\xf4\x38\x9a\x6e\xc3\x8d\xc1\xc9\x81\x77\xdd\xe5\xc8\x18\x81\xbd\x2c\x5c\x78\x6b\xfc\x00\xbc\x7a\x8d\x81\x67\x03\x5f\x38\x65\xbe\x04\x16\xa9\xa6\x6c\xb1\xbb\x8a\xa3\x69\x49\x1f\x9d\xe2\x84\x5c\xc6\xf7\x25\x5d\x9e\x19\xc3\xe4\x34\x33\xaa\x31\xf7\xa4\x6e\x75\x92\x60\x9f\x08\x81\xb6\xcc\x69\x70\x67\x0a\xa7\x95\x84\x4d\xd8\xfd\x20\xc2\x09\x1d\x41\x70\x34\xed\xcd\x83\x70\x6a\x49\xcd\x8b\x2f\xc7\xb3\xc9\x2c\xb6\x11\xd6\x09\x8a\x97\x38\x3f\x39\xcb\x56\x56\x51\xc0\x7e\x52\x3a\x47\xe7\x0a\xa0\x70\x81\x79\x7a\x52\x5e\xd1\x8e\xf2\x52\x98\xc7\x99\x63\x3e\x6a\x19\x09\xfe\xe5\x2a\x48\x70\x6a\xf8\x06\x8b\x6b\x88\x51\xd3\x64\x16\x01\xb1\xe6\x48\xa5\xc4\x53\x70\x56\xe3\xfb\x08\x27\x7d\x6e\x57\x14\x73\xc6\x6f\x02\x7c\xcf\x17\xff\x39\x64\x73\x1a\x16\xef\x26\x9e\x3e\x78\x5a\x8a\xe7\xbc\x76\x34\x8d\x3f\x97\xb4\xac\x62\x36\xcd\x10\x40\x5b\x12\xc3\xf7\x33\xd1\x98\x99\xe8\x33\xe2\xec\x81\xe1\x69\x8f\x4f\x48\xe1\xc5\x46\x3f\x74\x1a\xa0\x67\x93\x62\xd2\x25\x7c\x79\xc6\xa2\x33\x94\x20\x9a\xe2\x4f\xa6\x9c\x2d\x8a\x39\x9d\xe8\x5f\xcb\xc5\xb3\x34\x6e\x79\x11\x44\xa4\x7c\x79\x55\x69\x2e\xc3\x96\xcb\x23\x9b\x5e\x7e\x16\x49\x59\xf4\x72\xaa\x98\x7d\x60\x8f\xf6\x54\x9b\x4a\xb3\x91\xc0\x0c\xb7\x9d\x73\xd6\x90\x6d\x75\x2b\x8d\xc5\xe8\x1b\x68\x14\xf1\x9e\x65\x5d\x11\x63\x49\xff\xb1\x95\x26\xad\xa3\x29\xa5\x86\x2a\x21\xcf\x12\xa2\xa2\xc9\xf5\x50\xd2\xcb\x44\x7a\xa6\x54\x7d\x42\xfc\xc9\x7c\x1c\xf7\xe3\x85\xd5\xd5\x63\xf3\xc4\x73\xe8\xa6\x3f\xaf\x08\xb9\xb8\xe5\xa5\x60\x91\x9e\x2f\x48\x0e\x99\xf0\x0a\xe1\x83\x5b\x91\x0e\x01\x31\x73\x31\xb7\x51\xb1\xb7\x31\x91\xde\x48\xfd\x15\x89\x27\x71\x92\xd0\xc1\x03\x99\xf1\x6c\xf6\x39\xf1\xfd\x65\x40\xfc\x30\xf8\x15\xfe\xac\x24\xe9\x12\x87\xe1\x64\x8e\xa9\x0e\x69\xce\xfc\x30\xc5\x85\x04\xc4\xbf\x39\xa5\x5d\x85\x70\x9f\x92\x80\x82\xdf\x4a\x61\x0e\x6a\x3f\x06\x9b\x26\x81\xc1\x1a\x74\xdc\x67\x10\xe6\x66\x71\x19\xbe\xfc\xb4\x49\x41\x97\x17\x87\x42\x15\x8b\xfc\xa4\xcb\xa6\x54\x0e\xe8\xb8\xb3\x55\xd4\x72\x71\xf3\x95\xac\x80\xa1\xfb\x2b\x49\xc6\xf4\x0f\x70\xa6\x99\x54\x7b\xf9\xf0\xdc\x34\xa8\x2c\x4f\xd5\x9d\xec\xd9\xa2\xe6\xd2\xda\x99\x1f\xe2\x28\xf8\x15\x06\x43\xda\xc6\xfe\x1e\xac\x5c\x9b\xda\x58\x31\xa7\x12\x9c\x76\x27\xcd\xac\xb5\x9d\xb4\x52\x61\x7e\x5c\x52\x57\xb2\xec\x9c\xf6\x51\x44\x8b\xb5\x31\x81\x66\xf2\x06\xfb\xe9\x2a\x61\xee\x48\xf7\xd5\x5e\x16\x22\x7a\x92\xf2\x16\xac\x24\x05\xc5\x0f\x7c\x31\x83\x5f\xe1\xc9\xdc\x8f\x6e\xf1\x34\x27\x64\x5c\xa3\x54\xcb\x94\x5a\x52\xc2\x54\x5c\x0b\x9e\x79\x6e\x2c\x01\xf2\x96\xd5\x6f\xf8\xab\xc5\xe6\xe9\x25\xa3\xcd\xa6\xd1\xab\x90\x53\xde\x83\x90\x66\x70\x53\xbd\xe4\xaf\xaa\x57\x62\xc1\x85\x90\x46\xed\x55\x47\xb9\x60\x85\x26\x30\xf3\x16\xc7\x83\x4d\x34\x14\xfc\xe9\xca\x35\x69\xaa\x00\x4b\x7a\xa5\xc7\xa8\x48\x6b\x61\xae\x50\x63\xae\x50\x6f\xc1\x1d\xe1\xfb\x6c\x4c\xcc\x65\x20\x7b\x0f\x36\xa9\xc2\x28\x29\x2c\xae\xa8\x41\x0c\x4f\x56\x97\x14\x3d\xd3\x09\x34\x11\x10\xcb\x02\x45\x7a\x84\x11\x49\x62\x28\xa8\x0f\x85\x5e\xec\xb7\xc3\x5f\x6e\x9f\x17\xbe\xaa\xc2\x34\x64\xd9\x88\x2d\xe9\x80\x31\x1a\x74\xfd\xc8\x33\xbf\x8d\x57\xc6\x34\x98\xc2\x3a\xc6\xd2\x87\x85\x10\x6c\xfc\x1c\xd8\xf2\x73\x43\x6c\x79\x30\x82\xc8\xf8\xb9\x50\xe5\x73\x53\x08\xcb\xfe\x79\xf5\x43\x64\x76\xa2\x8a\x67\x8e\xcb\xd2\x46\xf1\xbd\x21\x56\x7a\x0c\x12\x1b\x3f\x27\xc9\x0a\xff\xdc\xb8\x59\x11\x03\xaa\x57\xb8\x17\x31\xc7\xb1\xea\x2f\x52\xa3\x5e\x75\x0c\x13\x51\x84\x01\x31\xee\x83\x30\x14\xe9\x21\x39\x8c\x41\x3f\xcf\x2f\xb6\x50\xb5\xc0\xdb\x71\xd6\x84\xaf\x59\x88\x8a\x2d\xd8\x60\x72\xd6\x10\x61\x26\x03\x1f\xfe\x4c\xf4\x28\x36\x5c\x0d\xd2\x5e\x1c\x86\xfe\x32\xc5\xd3\x0e\x9d\x18\xc4\x21\xf6\xa3\x6c\x13\x09\x39\xd9\x21\x6d\xf3\x92\x76\x0f\xa6\xe7\x61\xf0\x32\xb4\x9f\x9e\x02\xb9\x64\xc7\xeb\x80\x2a\xd2\x60\x51\x11\x7d\x00\x1b\xa1\x28\xf7\x4c\x98\x25\x86\xb1\x3f\xed\x4e\xa7\x85\xc5\x32\x21\x03\x56\xed\xc8\xb6\xcc\xea\xbe\x59\xc1\x15\x93\x7e\xe7\xe6\x96\x65\x9d\x51\xc1\x72\x5d\xd6\xff\x82\xd4\xd3\xd6\x4c\xfb\x77\xb3\xca\x54\x90\xfb\x60\x8a\xf7\x68\xec\xc7\x7b\x58\xff\x35\x2b\xb5\x17\x85\x5e\x0d\x40\x15\x73\xf9\xa9\xb3\xe6\xc9\x98\xa3\xb9\x9e\xf0\x33\x92\xc1\x2a\xdb\x4b\x63\x1a\xdc\x3d\xce\x71\x70\x3b\x27\x65\xc9\x18\x84\xa5\x33\x73\x86\x61\xc1\xdc\x4d\x5e\x15\x7c\x89\x01\x81\xef\x26\xf1\x68\xa7\x80\x12\xef\x8e\xd6\xf7\xa5\x7f\xff\xea\x81\xe0\x5e\x1c\x27\xd3\xd4\xc2\x28\xd4\x3b\xb7\x50\xa5\x81\xbe\xc5\x61\xca\xe2\xa4\xb6\xcd\x97\xb1\x02\x58\xd3\x46\xb8\x1a\xdf\xe1\x24\x09\xa6\x78\xfc\xb0\xc4\x4f\x4f\x5c\x18\xd8\x32\x56\x66\x62\x6c\xcf\x3d\xa2\x2e\x03\x01\x64\xb5\xa4\xe1\xf5\xda\x3a\xe7\xdf\x21\xd6\xb1\xe7\x1d\x8b\xfc\xf6\xf4\xee\xee\x06\x56\x52\xf1\xea\x35\x44\x14\x47\x92\x44\xae\xca\x86\xd2\xf1\x1f\x5e\x6b\x4e\xe3\x00\x3a\x0a\xb9\x86\x0f\x66\x04\xc7\xee\x90\x63\xb7\x76\x70\x82\xc5\x1a\x79\xdb\x22\x2f\x69\xe4\xdd\x5d\x8b\x78\xf4\x81\x32\x03\x60\xee\x51\xed\x89\xbc\x7c\xd9\xca\x02\x6a\x87\x4f\xad\xfa\x2e\xb1\xed\x35\x0e\x53\x0c\xd9\x34\x9b\x1b\x72\x79\xe9\xd6\x18\x4e\xb7\x96\xa1\x24\xb6\xc2\xa4\x40\xa1\x3d\xdb\xf5\x60\x3f\xe2\x5d\xaf\x8e\x48\xf5\xd3\x1e\x14\xb6\xfa\x40\x7f\x3b\xcc\xe1\x40\x31\xdd\xd7\x1a\x26\x15\x08\xd8\xbf\x64\x07\x15\xcf\x74\xcd\x0e\xa5\xca\x08\x66\x96\x2b\x03\xeb\x59\x60\x4d\x06\x36\x59\x20\xcd\xb9\x0e\x81\x8c\xfa\x0e\x85\x39\xa6\x70\xb0\xa5\x6f\xbf\xbe\x32\x2b\xa4\xfa\xa9\x62\x22\xfa\xfb\x50\x31\xaf\x3f\x24\x26\xeb\x86\x43\xb6\x98\x10\x28\x0e\xb9\xd9\x46\x8f\x13\xab\xac\x10\xe0\xf4\x8b\x4f\xb0\x57\x6b\xbb\xfc\xa9\xd1\xae\xf1\xa7\x56\x1b\x68\x01\xc3\x51\xdd\xd6\xf2\x50\x4a\x0d\x3d\x48\xc7\xac\x30\xc2\x4f\x1a\x6d\xc7\x86\x77\x20\xae\xc3\x89\xa5\x70\x52\x5d\xfa\xb7\xf8\xe9\x89\xc2\x77\xef\x4d\xdb\x6e\x87\xca\xee\x8f\x13\x2b\x4f\x1a\x4d\x58\xa1\x6f\x95\xca\x73\x79\x8b\x3c\x20\xcf\x37\x0c\xb5\xd8\x66\x52\x44\xbc\x01\xd9\xb1\x59\xb1\x68\x21\xac\xfa\x2e\xb6\x4f\xf6\x1a\xbb\xb8\x8d\xed\xbd\x7a\xcd\x2e\x64\x91\xc5\x32\x17\x66\x1b\x32\xb4\xdb\x56\x62\x05\x74\xda\x49\xfb\x02\x2b\xa0\xd4\x8b\x87\x87\x8d\xbc\x7b\x63\x56\x98\x97\x55\x75\x96\xc4\x0b\xda\xdb\xf6\xe2\x29\xe6\xab\x37\x0c\x82\x02\xdb\xd6\x7d\xeb\x65\x33\x46\x01\x8a\x51\x2a\x7d\x17\x3e\xb3\xbf\x60\x5b\x85\x76\x3c\xcc\xad\xf5\x27\x15\xf1\xd4\x16\x80\xfb\x79\x30\x99\x9f\xf0\xdf\x3d\x17\xc2\x51\xa8\xf9\xce\x9f\x0e\x58\x4b\xa2\x4d\xed\xc4\x69\x37\xe0\xd7\x6d\xeb\x4b\xd2\xb2\x2f\x22\x5e\x5d\x0d\xef\x5f\xbc\x81\xaa\x61\x9a\x27\x05\xe3\xea\x14\x13\x3f\x08\x8f\x9d\x93\x56\xa3\xdd\x6a\xaa\xb1\xef\xe7\x18\xf3\x48\xf0\xd8\xc7\x21\xf1\xbf\x7d\xc9\x63\x0a\x59\x4f\x3c\x5c\x4d\xe7\xc1\x8c\x7c\x8d\x1f\xa8\x10\xa2\xc0\xc3\xc2\x81\xff\xe4\xb0\xed\xa0\xd8\xc3\xc2\xb9\xff\xc4\x6d\xb5\x1d\x94\x7a\xc9\x53\xf0\x14\xa3\x50\xd9\xf0\x74\x92\xee\x7a\x71\x3b\x54\xb7\x38\x3d\x3d\x59\xa9\xe7\xd0\xd1\xbb\x5e\xab\x58\xe9\xf1\x71\xcd\xae\x10\xf0\x7f\xf3\x3d\x4d\x11\x08\x99\x7d\x93\xf6\xbb\x9d\xd8\xf2\xcb\xd7\x81\x12\xde\xbb\x28\xeb\x5b\xb2\xa7\xb2\x12\x1b\x85\x52\xcd\xd0\xc8\xb2\x12\xad\x76\x3d\xc9\x5a\xc4\x53\x31\x87\x2c\x2b\xa1\x82\xa8\x91\xbf\xbb\x1b\x5b\xa1\xb4\x32\x72\xa2\x16\xf1\x1d\x36\x11\xa1\x09\xc5\xd6\xaf\xa7\xa7\x92\x78\xea\x2a\x86\x91\x58\x41\xb6\x53\xd8\x0a\x68\x62\x2d\x9f\x74\x4b\x3e\x25\x30\x8a\x5b\x25\x3d\xa0\xca\x8d\x5a\x90\x35\x55\xb5\x7c\xc4\xeb\x5f\x33\x96\xe7\x59\xb8\xbb\xbb\x63\xa9\x45\x51\x7b\x6f\xfa\x96\x75\x83\x76\xc6\x6d\xa2\x64\x47\x36\xe6\xc6\xc6\xae\x9d\xd2\x1a\x0b\x33\xa7\x94\x38\x7a\x4f\x13\x52\x4d\x40\x22\xc5\x12\x29\x89\x57\x93\x39\x5f\x59\xf9\xe1\x98\xc7\x34\x35\x73\xc5\xd9\x82\x9e\xf1\xfa\x47\x62\x7f\x13\xdf\xe1\x02\x72\x5d\x2b\x9a\xe2\x94\x24\xf1\x43\x41\x09\xcc\x36\xd3\xb9\xf9\xcd\x74\x3c\xe0\x3b\x0c\xb9\x7b\x8f\x6b\x3e\x59\xe6\xfb\xdc\x14\x4c\x6b\x65\x87\x57\x49\x38\x6f\x62\x5c\x11\x17\x76\x34\x36\x7f\x3f\x8f\xa7\x78\x23\x80\x2f\x9b\x97\x4c\xee\xf3\xee\x30\x30\xdf\xc9\x29\xcb\xda\xe4\x57\x7a\x2e\xf1\xb9\x25\x2c\xd7\x5c\x8a\xd5\x7d\x94\xc7\x58\x5c\xcd\x29\xba\xad\xe9\x16\x4a\x3b\xdb\x89\x86\x3b\xc9\xb1\x47\xc0\xdb\x35\x67\xc5\x64\x4f\x0f\x97\xf1\xbd\x95\xe4\x7d\x6e\xa4\xcf\x44\x51\x51\xcf\x36\xdb\x3e\x3d\x59\xf9\x20\xcf\xd5\x27\x7d\xf0\xf2\xc0\xfd\xb9\xec\x7c\x2e\xd0\x67\x17\xce\x1e\x20\xaa\xeb\x18\xf3\x2f\xf3\x3c\xd5\xe7\x4c\xfa\x73\xd1\x71\x63\x5e\xe2\x65\xe6\xaa\x5e\x66\x7b\x7b\x48\xfa\x09\x82\xfb\x18\xe7\x3e\x73\x25\xdb\x53\xa3\x52\x1d\x61\x9e\xdf\x28\x27\x4a\xc9\xdc\xd1\xb2\xc8\x36\xf7\x5b\xe0\x49\x95\xc9\x2d\xb2\xc8\x9e\xba\x61\x78\x8f\x59\x06\x94\xed\xc4\xb6\x5e\x20\xbe\x33\x5d\x09\x29\xdb\x25\xc8\xe6\xc7\x08\xdb\x76\x5b\x89\x99\x2e\xc1\x29\x99\x20\x3e\xbf\x2e\x8b\x9f\x31\x40\x6e\x72\xde\xdd\xb5\x32\xae\xd0\x02\x08\x5e\x0a\x9e\xfd\x00\x46\xd8\xa8\x84\x9e\x1c\x67\x64\xc6\xc8\x15\xf1\xd9\xbc\x10\x26\xa8\x96\x1e\x67\x7b\x04\xce\x42\x75\xb2\x2a\x2c\x14\x19\x7d\xa5\xa2\xd6\xa7\x84\x17\x9a\x0e\x3e\x76\xe0\xd7\xf1\x54\x29\x11\x6a\x73\x91\x0f\x74\x22\x0f\x6a\x37\x2f\x1a\x44\x7f\x59\xc2\xca\xfc\x7e\x4b\xbe\xcb\x13\xe2\x57\xc4\xd6\x7d\x96\x3a\x4b\x7c\x52\xca\xe3\x76\x16\x7a\xec\xc8\xaa\x62\xdb\xe2\x6d\x44\xf8\xa2\xe7\x46\x66\x6c\xb3\xc4\x94\x31\xea\xad\x7f\x8b\x75\x67\x09\x85\xff\x94\x8b\x16\x7e\x61\xa9\x48\x4a\xb1\x8c\xe3\x71\xbc\x2c\x3a\x02\x66\x48\xf6\x9e\xa9\xaf\x71\xcc\x77\xdf\x6f\xc1\xa1\x08\xed\x46\x6c\xb9\xb1\x40\x71\x1b\x54\x76\x13\xcb\x95\x68\x66\x57\xe3\x0b\x92\xba\xf7\xf9\xee\x2e\x5b\x50\x2e\x6c\x2c\xe6\x7d\x8a\x8a\x8e\x3b\xcd\x7a\x4d\x51\x5d\x99\xc6\xde\xef\xd5\xed\x8d\x3b\x94\x1d\x9b\xaf\x5a\xe7\x76\x35\x6f\xce\xc2\xe1\x5c\x29\x6c\x83\x76\x3a\x8a\xff\x62\x8a\xc9\x38\x58\xe0\x78\x45\x74\x2f\xc5\x20\x8a\x70\xf2\x9e\x26\xb5\xe8\x40\x9d\xf7\x0b\x10\xc0\xd2\xad\x0e\x5e\x81\x24\xde\xfc\x1d\x54\x77\x1c\xbb\x83\x25\x89\x1d\xe1\x4b\xc9\x55\x6b\xcb\xee\x10\xe1\x5b\xbf\x89\xa5\xec\xf4\x0e\x71\xa4\x86\x6c\x9e\x45\x0e\x94\x71\xd8\xdd\xcc\x61\x57\x6f\x0f\x30\x66\x78\xea\x48\x95\x9d\x05\xc0\x83\x3b\xca\xae\x6e\xb6\x69\x9e\xfd\x58\x84\xb7\x69\x1e\x98\x62\x02\xc3\xa0\x95\x6c\xea\xc2\x1e\xec\x92\x01\x72\xdb\x69\x04\xf6\xba\x4c\x56\xb3\x9a\x67\xa6\x83\x2d\x35\x1c\xe8\x35\x8c\x1c\x66\xdf\x30\xca\x45\xc6\x2d\x69\x39\x61\x54\xec\x0a\x00\x60\xe1\x8a\xf9\x21\xf9\xc0\xed\x84\x59\x2a\xb6\x3e\xda\x13\x27\x64\xd0\x79\xcb\xeb\xbc\xa2\x46\xa7\x93\xaa\x89\xd4\xdc\x9c\xc8\x02\x5f\xf6\xfe\xe0\xed\xe5\xa0\xd7\x1d\x0f\xfa\xb0\xbb\x11\x2c\xaf\x37\xd8\x60\x5a\xd9\xd4\x48\xe3\x38\xaa\x1a\x6f\x43\xec\xa7\xd8\x58\xa5\xd8\xc8\xe1\x53\x8f\xe9\xa0\x08\xa3\x94\x60\x7f\x5a\x15\x0b\x44\xdb\x62\xe7\x0d\x9a\x5b\xe2\x16\x19\x55\x7e\x4e\x08\x2e\xf8\x38\xbf\x7e\x58\xe2\x84\xe0\x4f\x84\x2a\x7a\x65\xd8\xa8\x0a\x9e\xd3\xf2\x0a\x0e\x2d\x3d\x3f\x02\x97\x7f\x20\xd0\xf0\x8d\xb9\x40\x6a\xd0\x44\x06\xd7\x96\x8d\x1b\x3c\x8b\x13\x6c\x48\x9b\x79\xbc\xc4\xb0\x13\x78\xe2\x87\x21\x9e\x9a\x76\x27\xa7\x29\x6e\x20\xcf\xc2\x3f\x64\x60\x51\x70\x7c\xe3\x87\xc1\x94\x1d\x71\xe2\xb3\xcd\x0e\xbf\xc3\x92\xde\x49\xe4\x50\x1e\xd8\x4a\xf1\xdb\x14\xb8\x48\xec\x0f\x2a\x77\x82\x6f\x83\x94\xe0\x84\xf2\xed\x0d\xed\x81\xb4\x6a\x95\xdb\x92\x72\xe5\x55\x9a\xb5\x42\x56\x09\x2e\x8e\xa2\xa3\x7a\x1c\x6f\x58\x71\x09\xd6\xf9\x59\xd8\x76\xda\xb8\x00\xcb\xec\xf9\x00\x94\x91\x53\x8a\xc0\xc2\xf6\xf6\x8d\x19\x1a\x0d\x73\x3f\x95\xcb\x1a\x9b\x1c\xa8\x0b\x4b\x4c\x6a\xa2\xc2\xc6\xa3\x1f\x8e\x4e\x06\x8c\xf1\x27\x52\xe2\x7b\x5f\x8a\xb1\x1c\x95\x1e\x3f\xbf\x2d\x8a\x45\xef\x86\x45\xbf\xfd\x0d\x34\x75\xc3\x30\x8f\x83\x7b\x70\x96\x2a\x33\xa5\x5d\xcd\xee\xee\x8e\x2b\x46\xce\xd2\x08\x16\x16\x86\x8c\x1d\x57\xae\x67\x97\x7a\xc9\x5b\x42\x33\x29\xba\x30\x72\x7f\x53\xe6\xb0\x58\x1e\xc7\xce\x32\x32\x32\xa5\xad\x6c\x66\xa6\x2b\x7f\x34\x57\x57\x51\x64\xaa\xf8\xce\x0f\x57\x3e\xc1\xb4\x1c\xe9\xc4\x5f\xe2\x11\xfe\xe5\x0a\xc3\x21\x13\x59\x3b\xa0\x14\x79\x9e\x27\xd4\xad\x93\x6c\xd0\x92\xa7\xbe\x38\xed\x5c\x2c\x57\xe8\x11\xb9\xd3\x61\x6c\x44\x14\x8d\xf3\xc4\x2a\xa8\xa0\xca\x8b\x58\x62\xe7\xa6\x0f\xb4\xe3\xd8\x76\x7b\x67\xc7\x67\xab\xd5\x70\x9c\x8a\x38\x1a\x8e\x97\x56\x8d\x8a\xd8\xf9\x1f\x62\xa6\xc5\xf4\x79\xe9\xcb\x8b\xb5\x39\xcf\x47\xfc\x60\x22\x88\x2e\x01\xda\x56\x07\x08\x99\x0b\x7f\x6d\x1a\xaf\x8c\xb6\x9c\x78\x6d\xe4\x6d\x71\x96\xee\x3d\x32\x44\xed\x1d\x17\x7d\xc4\x0f\x6d\x3e\xdd\xcc\x58\xc1\x43\xd6\x48\xb5\xa7\x1e\x1f\x3b\x4f\x98\x9f\x91\x72\x7c\xec\x3e\x49\x43\xea\xf1\x71\xed\x49\x5a\x59\x8f\x8f\xeb\x99\x2d\x9a\x9f\xe0\xc1\xcc\xcf\xc6\x61\x1b\x36\x71\x0a\x7c\x54\x83\xa5\x95\x08\x55\xf8\x6a\xc4\x0f\x15\x51\xc2\xfa\x83\x33\xc5\x02\x6c\x1c\x6d\x49\xce\x0c\xe9\x7f\xd9\x2c\x22\x79\x3d\xce\x0e\xf4\xdb\x71\x54\x7c\x6e\xbd\xad\xc4\xeb\x5d\x6e\x8a\x57\x3b\x68\xeb\x39\x6d\x8a\x58\x3f\x68\x27\x27\x56\x81\x2a\xb7\x63\x56\xac\xa4\xe2\xda\x15\xb3\xcf\xab\xdd\xd3\xe1\xf5\xbe\x49\xe5\x17\x20\xcc\x12\xa0\x1e\x69\x73\x92\xc5\xbd\x31\xdb\x5a\xc2\x66\xdf\x14\x26\x85\xc2\xe1\x63\x27\x79\x42\x2e\xfa\x66\xbb\x40\x5c\xdf\xd4\x4a\x70\xf4\x5c\x09\x7a\x1b\x4a\xd0\xfb\xcc\x12\xcc\xf2\x25\xe8\xfd\x90\x12\xf4\x4a\x4a\xd0\xd3\x4b\x70\xf8\x5c\x09\xba\x1b\x4a\xd0\xcd\x4a\xa0\x53\xd8\xfd\x21\x14\x76\x4b\x28\xec\x6a\x14\x36\x9c\xe7\x28\x7c\xb5\x81\xc2\x57\x9b\x28\x7c\xf5\x43\x28\x7c\x55\x42\xe1\x2b\x9d\xc2\x66\x3b\x6b\x66\x4f\x59\x3b\x87\x0e\x30\x97\xb2\xf6\x6b\xd3\xd6\xd2\xb6\x38\xf6\x44\xa9\xf4\xab\x7a\x56\xb8\x5f\x6b\x02\x50\xff\xb5\x5e\x7b\xad\x76\x91\x62\x95\x35\xaf\xcd\xcf\x2e\xe7\xeb\x92\x72\xbe\xd6\x73\x6b\x3e\x93\xdb\xf0\xf3\x73\x1b\x96\xe4\x36\xd4\x73\xab\x2b\x5c\x3d\x51\x07\x1e\x6f\x4f\x33\xc8\x14\x11\x35\x73\x5c\x6a\x6c\xc4\xa4\xe0\x29\xa2\x69\xe9\x68\x5c\xb7\x56\x56\x57\x4a\xf9\xdf\xaa\x75\x75\xf1\x36\x97\xba\xfe\x4c\xea\x9f\x68\xa9\x7f\x92\x4b\xdd\x78\x26\xf5\xa5\x96\xfa\x32\x97\xba\xf9\x4c\xea\x91\x96\x7a\x94\x4b\x5d\x2a\xa3\x6e\x73\x93\x90\xba\xcd\x3c\xe3\x0e\x4a\x11\x1c\x6c\x44\x70\x90\x47\x70\x58\x8a\xe0\x70\x23\x82\xc3\x3c\x82\xa3\x52\x04\x47\x1b\x11\x1c\xe5\x10\xd4\x9c\x32\x04\x35\x67\x13\x82\x9a\x93\x47\xe0\x96\x22\x70\x37\x22\x70\xf3\x08\x4a\xa5\xaf\xb6\xb1\xab\xa8\xd5\xf3\x08\x4a\x05\xb0\xd6\xd8\x88\xa0\x21\x11\x70\xb7\xaf\xf6\x8e\xd2\xb7\xe9\x5d\x1e\x53\x73\x9e\x32\xbd\xe6\xa4\x38\xac\x3d\x3d\xed\xa8\x11\x15\x4c\x9b\xd3\xec\xee\xca\x34\xf0\x28\x0f\x9a\x93\x89\x76\x77\x5b\x4d\xf5\xf8\x33\xed\x24\x41\x98\x56\xb4\x25\xec\xa5\xd7\x6a\xf2\x8d\x68\xf4\xf5\xd8\x3b\x72\xf2\x5d\x53\x89\x67\x41\xa6\x98\x55\xea\x35\xbb\xed\x1e\xd5\xd4\xfc\x0a\x7d\xdb\xcf\x4d\x35\xc3\xc6\xa1\x96\x61\xf3\xa0\x38\x26\x65\xf8\xf7\x1a\x87\xf6\x67\x91\xbb\x95\xca\xbd\x56\xc3\x6e\xd7\xcb\x88\x2c\x4b\xe6\x68\x19\x36\x5d\x9d\xdc\xe6\x67\x65\xd8\x74\x2b\xb5\x03\xbb\xdd\x6c\x7d\x66\x9e\x2e\x8d\x5d\x73\x8f\x3e\x33\x3a\xc4\xae\x39\x9f\x1b\xfb\x90\xc6\x76\x75\x99\xb0\xb6\xc4\x3f\xb2\xa5\xef\x0f\x29\x58\x72\x6e\xcf\xe0\x5c\xd8\x82\xad\x80\x9f\x17\x8b\x33\xcf\xdb\x14\xf3\x59\x9b\x38\x3c\xb6\xec\x2c\x8e\xdb\x1e\x8f\x59\xb2\x66\xaa\xa4\x13\xa7\x31\xf0\x5c\x98\x3f\x91\x9e\x53\x71\xb6\x0c\x3b\x17\x4b\xd6\x18\xff\x1c\x26\xcd\x72\xbd\x1b\x61\xa0\x08\x66\x2d\xc4\xcb\x5e\xa4\xb7\x16\x3f\x6a\x9b\x79\xc5\x40\x14\x5e\x27\xd2\x75\x8b\xd5\x2b\xc0\x9f\x9e\xf8\x31\xd6\x02\xa5\xcc\x98\x88\x28\xbc\xa6\x76\xac\x1d\xf2\xf4\x64\x6d\xef\x4f\xec\xdd\xdd\x6c\x3a\x6a\x83\xeb\x4d\x99\x00\x90\xfc\x64\x93\x6f\x0d\x25\xa5\xd3\xd0\xcf\x99\x82\xda\x74\xc2\x99\xaf\xfb\x68\x5a\x32\xb3\x24\xf2\xbc\x05\x58\xfa\x7e\x7a\xda\xb4\x76\x91\x4d\x6f\x21\x22\x9d\xa8\x8b\x43\x9d\xd7\x48\x98\xf9\x21\xa4\x92\x37\xb9\xde\x60\xdd\x0e\x23\x2a\x31\x3b\xcf\x48\xdd\xa3\xce\xa8\x91\x7b\xd1\xc8\x43\x88\xab\x37\x71\x32\xc5\x09\x1c\x57\xe5\x99\xf7\xf3\x80\x60\x13\x95\x13\x8a\xb7\xa5\xa4\x94\x8a\x4d\x6c\xf2\xf8\x24\xdd\x4f\x38\x67\xb8\x0b\xe3\xdb\x32\xca\xe1\x44\x25\x61\x54\x60\x5b\x15\xab\xdc\xc4\x5e\x1e\x4a\x11\x49\x0f\x63\x38\xf6\x55\xa9\x99\x30\x98\x60\x76\xec\x90\x3c\x5a\x9e\x9b\x49\x4b\xb0\x70\x37\xb3\x32\x30\xc2\x79\xf2\x71\x92\xe8\x7e\x05\x3f\xbe\x00\x80\xea\x77\x50\x04\xc0\xf3\x83\x0a\x91\xe0\x34\xf8\x15\x2e\x39\x3e\x28\x48\xcf\xfd\x73\x30\x82\xf2\x47\x62\xdb\x8f\x84\x2d\xf0\xca\x73\x91\x2c\xf5\x58\x20\x5b\x0e\xce\x65\x50\x44\xf8\x61\x04\xcc\x45\x0f\x45\xb4\xbb\x91\x66\x33\x76\x50\x3b\x11\xaf\xec\x58\x21\x58\xd3\x76\xc1\xd7\x92\xb6\x01\x78\x24\xf4\xd1\x8a\xb3\x54\xf6\x31\x06\x2f\x91\x94\x1f\xd5\x2e\x4e\xa1\x36\x0d\x13\xb9\xd7\x28\x28\xfa\x27\x74\x82\xbd\xbd\x0e\xa4\x51\x1d\x34\x6e\x31\xb1\x02\x79\xaa\x1b\xd6\xce\x3a\xe6\x30\x58\x58\x4d\xb3\xcd\x32\xec\x90\xf9\xc2\x29\xc5\x19\x69\x28\xce\x8a\x83\x22\xcf\x41\xf1\x31\xb1\xd9\xe1\x6d\x6a\x3b\xec\xc4\x95\xca\x31\xd1\x72\xe4\x64\x90\x4a\x66\x61\xd4\x1c\x1b\x5e\x3a\x99\x15\x3b\x8b\x5e\xf0\xe3\x78\xa8\x44\x15\xf7\x44\x77\x88\x88\x84\x77\x08\x5b\xb1\x77\x72\x6e\x24\xaa\x4f\x46\xf9\x19\xcf\xf9\x9d\xcf\x82\x56\x8e\x48\xdd\x56\x04\xe3\x04\x70\x3a\xde\xdb\x33\x5e\x92\x8e\x5d\x7e\x20\x53\x49\x31\xf5\x08\x85\x72\xb9\x9a\x97\x49\xbc\xb4\xec\xb6\xea\xab\xa1\x16\xb1\x52\xd9\x40\xf2\x4b\x71\x52\x56\xe2\xe9\x60\xbe\xb2\x6b\xdb\xb4\xf9\x04\xd1\x0a\x77\x92\x4d\x0e\x54\x09\x3f\xa1\x09\x2e\x14\xe0\xe3\xfa\xc3\x4b\x8f\xc8\xda\xf2\xc8\x9e\x6b\xa3\x48\xbe\x57\x3c\xb1\xb7\xf2\xd3\xcb\x6c\xe0\xff\xe4\x61\xb9\x99\xe4\x99\x03\xfc\xe5\xc1\xfd\x9b\x77\x3f\x6d\xdb\xaa\x52\x38\x40\xff\x99\xab\x0e\x94\x21\x92\xf5\x15\xea\x76\x3f\x18\x7d\xe1\x7a\x0f\xcc\xee\xf4\x20\x6b\x7b\xbd\x2e\xdb\x36\x01\x4b\xc7\xda\x10\x89\x8f\x55\x5a\x61\xcd\x58\x70\x43\x5b\xd0\xa6\x6a\xc8\x4b\x35\x78\x10\x4d\x73\x11\x07\xd1\xd4\xcb\x2f\x6e\x2e\xfc\x4f\xb9\x3c\xa5\xf3\x9a\x82\xdc\x29\x5f\x28\x67\x1c\x2b\xe8\x77\xbc\x85\x6b\xc5\xa0\xd2\xcd\x9d\x84\x99\x48\x12\xff\x86\x2a\x79\x70\xde\x38\x1b\x0c\x13\x7c\x47\xd3\x51\x5d\x8b\x0b\x29\x8d\xe3\x3d\xae\x11\xf6\x1c\xbb\xc3\x19\x41\xd9\xd8\xc1\x15\x2f\xdf\xc3\x6a\x87\x58\xd9\xb6\x9a\x87\xb7\xe3\xe8\x34\x8a\xac\x4a\x29\x14\x7e\xeb\x4c\xe0\xec\xce\x4e\x86\x6a\x6f\x0f\x5f\xef\xee\xe2\x97\x4e\x47\xae\x3c\xe0\x97\x59\x1f\x7b\x22\x9f\xf6\xdc\x36\x3e\x76\x4e\x9c\x76\x4e\x0b\x89\xf0\x27\xf2\x63\x32\xae\x54\x20\x63\x85\x03\x3f\x92\x00\x38\xe4\xf4\x32\xb8\x9d\xe7\x95\x6f\xc5\xe3\x21\xeb\xcc\xd5\xfe\x04\xfa\xf3\x24\x73\x06\x09\x78\x43\x90\xc7\xa6\x5a\x36\x1f\x4c\x72\x35\x55\xb1\x13\x38\x7b\x90\xbb\x56\xa9\x1e\x12\x45\x55\xc1\x4f\xf1\x19\x9e\xfd\x68\xe2\x9e\x21\x8c\xd2\x8e\x2b\x95\x0e\xa6\x23\xdb\x67\x53\x05\xab\x7c\x39\x05\x46\x77\xa6\x7b\x7a\xca\xde\xb3\x65\x54\x0c\xc3\x9d\xe8\x5d\xca\x09\x67\x49\x34\x8f\x3a\xee\x02\xe9\x2a\x5d\xb3\xbc\x02\x45\xbb\x25\xc5\x73\x3a\x99\x67\x8e\x2b\xb8\x0e\x9b\x57\xb1\xe2\xfe\xf9\xcc\x25\x04\xdb\x3a\xc1\xcd\xde\x76\x65\xf5\x16\x44\xb8\x38\x45\xcc\x04\xce\x72\x50\xbe\xf3\x91\xd4\x94\xd6\xf7\x15\xef\x29\x94\x8a\x6c\x97\xeb\x2e\x57\xd7\x70\xe8\x2a\x9c\xdc\xb1\xbb\x6b\x05\xd5\x20\x7d\x9f\xf8\xb0\x9c\x47\xec\x4e\xac\x88\x63\x5c\xa9\xd8\xc1\x55\x7c\xed\x25\xa2\xfd\x04\xb9\xca\x9e\x97\x5e\xcb\x75\xb2\x49\xa6\xda\x65\xea\x54\xce\xa9\x2a\x2d\x43\x09\x67\xe6\xb3\x16\xce\xcf\x65\xad\x98\xa6\x5d\x85\x63\x2e\x2e\x66\x05\x27\x94\x82\xe7\xb3\x60\xb0\xf0\x5c\x53\xcf\x51\x95\xae\x9b\x9f\xbd\xe4\xaa\x54\x37\xbf\xa0\x27\xbf\x54\xc8\x08\x18\x07\x24\x2c\xab\x65\x48\x49\x28\xd0\x2c\xd4\x32\x14\x49\x6d\x3f\x15\x2e\xf7\x2f\x0b\xc3\xb6\x1c\xfe\x85\x47\x2a\x03\x5a\x76\xa6\x0b\xc8\xba\xe4\x45\xf9\xb4\xb7\x97\x57\xd5\xef\x30\x1c\xb8\x9b\xcb\x95\x37\x9a\xbc\x67\xec\x89\xaa\x47\x81\x46\x23\x8e\x61\x11\x9a\x48\xc6\x4a\xb5\x89\xc8\xf9\x66\xd6\xd2\x37\xc4\xcf\xda\xdc\x8e\xf3\x3b\x72\x86\xe5\x0d\xe1\xa1\x58\x76\xcd\xac\x92\x13\x11\xa6\x7c\x49\x4d\x5b\x83\x81\x92\x9e\xb5\x13\xc5\xdd\xaf\xd4\x20\x22\x9c\xa1\x4b\xce\x01\xec\x04\xd9\x65\x67\x5a\x1e\xf2\xe8\xc0\x52\x0f\x29\xb4\x09\x9f\x47\x9e\xd7\xd6\x36\x9f\xf0\xa9\xb1\x87\xea\x08\x25\xfc\x81\x21\x96\x09\x53\x51\x57\x58\xf8\x64\x32\x67\x73\xf7\x10\x89\x7b\x2a\xa8\x52\x92\xdd\x76\x91\x73\xf0\x61\x33\x37\xd9\xd0\xe1\x44\xd3\x65\x7c\x6f\xd5\x9d\x17\x16\xde\x0b\x6c\x54\xb3\x2b\x32\xb0\x79\xf4\xc2\x22\x7b\xb1\x1e\xe8\xba\x2f\xac\x64\x2f\xa5\x81\x94\x18\xf5\xcc\x72\x4f\x3f\xc2\x1c\x05\xd5\x20\x9a\xe3\x24\x20\xa9\x17\xa1\xa0\x1a\x47\x5e\x4c\x7f\x66\x33\x2f\x45\xe2\x2e\xba\x0d\xdb\x07\xd4\x93\x98\x9f\x9e\xd4\x6d\x8f\x09\x6c\xbb\xe8\x33\x83\x37\x1c\xa3\x98\x92\x78\xf9\x36\x89\x97\xfe\xad\xcf\xb7\x24\xef\xb8\x6b\x84\xc5\x1d\x87\x5e\xb0\x2e\x1c\xbe\xac\xdd\xc8\xf7\xa3\xce\x93\x0f\x36\xec\xa2\xe5\xd5\x26\x36\x87\xa8\x2f\x4f\x4f\x8f\xeb\xb5\x52\x10\xb9\x39\x3c\xbf\x87\x42\x4d\x04\xb6\x46\xfd\xfd\xe9\x49\x1c\x03\x93\x85\xc9\x5d\x9f\x48\xc3\x3c\x9b\x6d\xe0\x6f\x96\xd2\xce\xdd\x14\x94\x41\x50\xe0\x25\xda\x7c\x9b\x5f\x52\x49\xbb\xa9\xa7\x27\xb8\xa2\x32\xe4\x1b\xf3\xd5\xad\xa9\xe0\x6a\x21\xbd\x6f\x03\xe4\xe6\x88\x62\x53\xaf\x6e\x18\x8a\x5d\xfd\x25\xde\xdd\x19\x11\xbb\xbb\x53\x1c\x62\xc2\x7d\x44\xb3\xf0\x5c\x41\xf3\x92\x9e\xbb\xa7\x87\xd5\xd8\xe7\x59\x65\x54\xbf\xa0\x78\x36\x83\xbb\x2d\x11\x51\x2c\x32\x28\xdb\x8a\x9a\x64\x1c\x20\xf2\x10\x04\x9a\x40\x27\x8f\x0e\x41\x05\xb5\x9a\xd9\x17\xe1\x78\x76\xb7\x93\x1c\x4b\x0a\x04\xcb\x61\x9b\xcc\x55\xb2\xe7\x5e\x7b\xd9\x8d\x8a\xc9\x75\x67\x4b\x15\x06\x85\x2a\x64\xe7\xbd\x07\x02\xa7\x50\x31\xd4\xd2\xe4\x85\x26\x2c\xad\x16\x95\x2b\xba\x28\xae\x11\x5e\x83\x0b\xb5\xd6\x15\xfc\xce\x1b\x9d\x76\x79\x2a\xae\x9e\xbf\x3b\xf3\xcc\x0f\x8e\x89\x70\x75\x74\xf1\xda\x33\xff\x19\x78\x1a\xff\xd4\x33\xff\x59\xfa\x34\xa0\x4f\xff\x1c\x3c\x5d\x8c\x3d\xf3\x9f\x87\xa7\xf3\x9f\x78\xe6\xbf\x40\x9f\xba\xbd\xaf\x3d\xf3\x5f\xa4\x4f\xaf\x06\x67\x9e\xf9\x2f\xc1\xd3\xc8\x33\x3f\xdc\xd0\xa7\xd7\x63\xcf\xfc\x00\x87\x05\x9e\x0d\x3d\xf3\x43\x44\x9f\xbe\xa1\x61\x77\xf4\x69\x48\xc3\x66\xf4\xa9\x77\xe9\x99\x1f\x12\x46\x81\x67\xfe\xcb\xf0\x70\xea\x99\xff\x0a\x7d\xe8\x9f\x0d\x3c\xf3\x5f\x85\xa7\x9e\xeb\x99\xff\x1a\x7b\xaa\x79\xe6\xbf\xce\x9e\xea\x9e\xf9\x6f\xb0\xa7\x86\x67\xfe\x9b\xf4\xe9\xbc\xfb\xb5\x67\xfe\x5b\x80\xe4\xdb\x73\xcf\xfc\xb7\x59\x29\x5e\x79\xe6\xbf\x03\x79\x75\xcf\x3d\xf3\xdf\x85\xb0\x37\x9e\xf9\xef\x41\xb4\x77\xaf\x3c\xf3\xdf\x87\xa0\x51\xcf\x33\xff\x03\x20\x6e\xe4\x99\xff\x21\x7d\xf8\x6a\xe4\x99\xff\x11\x7d\xb8\x1c\x79\xe6\x7f\x4c\x1f\xde\x8d\x3c\xf3\x3f\x81\x74\x6f\x3d\xaa\x09\xe2\x6a\x9f\x96\xfd\x3f\x35\xd7\x16\xa9\xf6\x1c\xf0\x85\xe8\x39\xde\xe3\x9a\x2a\x57\xbf\xd3\xaa\x43\xa4\xda\x7b\xdd\xbd\x1c\x0d\xc6\x23\xd8\x2c\x57\xed\x0f\x86\xdd\x77\x67\xe3\xef\x78\xa8\x97\xc1\xab\xaf\x94\xc8\x57\xce\xb5\xf7\x68\xfe\xdc\x6c\x9b\xbf\xf9\x6f\xfe\x9a\x89\xfc\xb6\xf9\x9b\xbf\xf5\x5f\x9b\xe8\xa6\x0d\xb5\x33\x69\x43\x35\x4c\xdb\xac\x0e\xda\x50\x51\xb3\xb6\xf9\x67\xff\xc8\x44\xb7\x6d\xf3\xcf\xfe\xb1\x89\xe6\x6d\xf3\x37\x7f\xe3\x8f\x4c\x14\xb4\xa1\xee\x7e\xd1\x36\x7f\xf3\x37\xff\xb6\x89\x3e\xd2\xdf\xbf\x61\xa2\x90\xfe\xfe\x17\x26\x5a\xd0\xdf\xbf\x69\xa2\x88\xfe\xfe\xa9\x89\xe2\xb6\xf9\x9b\xff\xf2\xff\x34\xd1\x92\xfe\xfe\x89\x89\x7e\x49\xc3\xff\x8a\x89\x12\xfa\xfe\xa7\x26\x4a\xe9\xef\x3f\x35\x11\xa1\xe1\x7f\xc7\x44\x2b\xfa\xfb\x47\x26\xba\xa3\xbf\xff\xc4\x44\xf7\xf4\xf7\x1f\x9a\xe8\x13\xfd\xfd\xcf\x4c\xf4\xd0\x36\x7f\xf3\xd7\xff\xc8\x44\xbf\xa2\xbf\x7f\xcf\x44\xe6\xa3\xd9\x36\xff\x9f\xbf\x62\x22\xf3\x89\x96\xed\xaf\xff\x5d\x13\x99\x6b\xb3\x6d\xfe\xd9\xff\x60\x22\xf3\xd7\xf4\xe1\x7f\x33\xd7\x0a\x1f\xaa\x5d\xef\xd1\xfc\x82\x45\xd0\xc2\x5f\x71\x13\x50\xc6\xb1\xc6\x75\x16\x15\x99\x7f\x48\x1f\xfe\x2f\x13\x99\x57\x66\xdb\x0c\x7e\x61\x22\xf3\xc3\x07\x1a\xf4\x4f\x4d\x64\x5e\x9b\x6d\xf3\x89\xd3\xf2\x67\x7f\x9f\xd3\x32\x13\x94\xfc\xa9\xa0\xe4\x9f\xe8\x39\xf6\x94\xba\xba\x6a\xd2\xcc\x28\xea\xef\xff\xaa\x40\xfd\xfd\xdf\xe2\xa8\xbf\xff\xcf\x4d\x64\xfe\x8c\x3e\xfc\x1d\x13\x41\x1d\x7e\xff\x0f\x78\x6e\xdf\xff\x11\xcf\xed\xfb\xff\x95\x67\xf7\xfd\xdf\xe3\xd9\x7d\xff\xa7\x7a\x76\x97\xf9\xd2\x7c\xff\x77\x79\x69\x68\x2d\xf3\x2c\xff\x98\x67\xf9\x67\x7f\x2c\x32\xf8\x07\x22\x83\xff\x43\x64\xf0\xf7\x45\x79\xfe\xbe\x9e\xc1\x4f\xbc\x47\x1d\xef\xf7\xff\x7d\x01\xef\xf7\xff\x93\x28\xca\xff\x2c\x8a\xf2\x4f\x9e\xcf\xe9\xfb\x3f\xd1\x73\xfa\x9a\xe7\x04\x54\x6e\x62\xda\xdf\xd9\xcc\x22\x51\x23\xdf\xff\xb7\x3a\xde\x6f\x0b\x15\xfe\xc7\x9b\x59\x04\xf4\xfe\x5c\xd0\xfb\x28\x0a\x0e\x39\xfd\x2f\x85\x12\xfc\x43\x3d\xa7\x81\x5a\xf7\xad\x6b\xc1\xb9\xbf\x2a\xca\xf3\xd7\x64\x76\x7f\x7b\xb3\x10\xfc\x91\xc8\xf7\x7f\x14\xf9\xfe\xef\xcf\x09\xc1\x5f\xde\x5c\xc2\xff\x4e\x66\xf9\x5f\x09\x21\xf8\xbf\x85\x4c\xff\x23\x91\xc1\x3f\x16\x19\xfc\xb1\x8e\xf7\xb5\x5a\x9e\x03\x59\x9e\xbf\xbe\xa5\x7e\x7e\x17\x42\x7d\x65\x7a\xa6\x68\xa5\x50\x0d\xba\xfc\xfd\x83\xed\xf2\xf7\x1d\xaf\x20\x5d\x0c\xb7\x88\xcb\x9f\x98\xeb\x62\x77\xbe\xff\xe2\x05\xdc\x6e\xb5\x58\xf2\xe9\x24\x1c\x66\xc4\x37\x30\x2c\x30\x99\xc7\x53\x64\x90\xb9\x2f\x36\x35\x60\x16\x41\xd8\x8c\xe1\x1a\x36\xe3\x3d\xbe\x19\xc5\x93\x8f\x98\xd0\x81\x01\xfb\x0b\xb8\x82\xeb\x0f\x17\xd0\xff\xb3\x23\x8a\xf6\xfd\xe9\x34\x8e\xd2\x7d\x86\x84\xff\x94\x5c\x67\xb7\xff\x7b\x3b\xfa\x99\xb1\x42\x73\x27\x56\x62\x39\x76\xee\x6a\x13\x6d\x2c\xe2\xee\xbf\xca\x0d\xdf\x2c\x97\xc2\xb4\xc7\x7e\x4c\x3c\x79\xaa\x53\xf2\xf4\x94\xd0\x89\x03\x90\xef\x11\x84\xab\xdf\xcd\xc2\x55\x3a\xe7\x77\x79\x6a\xcb\xa5\x7c\x77\x51\xf5\x3b\x86\x98\x15\x99\x45\xa4\x93\x8f\x92\x60\xd6\x2b\x83\x65\x4e\x2c\xc0\x96\xc6\xa3\xc0\x4d\x38\x00\x06\x88\xa8\x72\xf6\x1d\xd5\xee\xc7\x71\x9e\x3c\xe0\x55\x49\xe2\x93\xd2\xd0\x8a\x47\xda\xe5\x84\x78\x44\x5d\x2c\xd6\x99\x81\x5c\x5a\x01\x94\x86\x5b\x4c\xde\xe0\x34\xf5\x55\x7b\x3c\x9d\x51\x9c\xe4\xe8\xb3\x48\x75\xea\x13\xdf\x6e\x0b\xde\xf1\x77\x40\x92\xe2\x68\xda\xf7\x89\xaf\xab\xfc\x6c\xb7\x1c\x86\xdb\xd4\x8b\x67\x7e\x2d\x58\xae\xa6\x4e\x84\x8d\x92\xdd\x5d\xac\x5d\xdb\x2c\xb1\xdb\xa5\x78\x26\x61\x9c\x02\x96\x29\xa6\x1c\xe0\x27\x1a\x23\x62\x97\x47\x87\x85\xd8\xd2\xe8\x70\x0f\x3e\x2e\x88\x19\xad\x0d\x3a\x61\x28\xa3\xc7\x22\x99\xf4\x91\x13\x21\x7a\x6d\x62\xef\xee\x92\xd2\x1b\x48\x37\x96\x9a\x4f\x87\x04\x0a\x5d\x77\x2f\x0a\x3f\x13\x7d\xbd\x71\x70\x8f\x0b\x80\xe9\xe9\x0b\xa5\x52\xd2\x32\x98\xf0\xd6\x58\x23\xb2\x2e\x51\x14\x79\xcf\x32\x0c\x48\xd6\x5b\x4c\xe2\x70\xb5\x88\x52\xd8\x2a\x07\x87\x58\xf1\x0b\x05\xa7\xc1\x02\x47\xa9\xb8\xcd\x2f\x20\xa9\xd1\xbf\x78\x23\x4f\x3b\xfe\x3d\x03\x30\x7d\xf1\x85\xd1\x5d\x2e\x93\x98\xf7\x1c\x7b\xc6\x65\x7c\x9f\xb6\x8d\x71\xb2\x8a\x26\x3e\x4c\x0b\x29\xa2\xbb\x00\xae\x15\xe4\x97\x02\xca\x9c\xf5\x03\x94\x0d\x76\x38\x96\x71\xf3\xa0\xc7\x4a\xe2\x7b\x0e\x12\x99\xee\x19\x3d\x46\xf3\x8f\xcc\x08\x0e\xef\x2a\xe4\x33\x99\xfb\x89\x3f\x21\x38\xa1\x59\xb0\x28\x16\xcc\xc3\x8c\x69\x90\x2e\x43\xff\xa1\x6d\x04\x51\x18\x44\xb4\x27\x2e\x52\x08\xd7\x28\x0a\x62\x28\xb3\x18\x06\x38\x10\x8e\x46\xe6\xd7\x33\x53\xdc\xd9\xcd\x3c\x9c\xf5\xf6\xe6\xbe\x79\x16\x10\xfa\xf9\xad\x7b\xe5\x62\x47\xbc\x4c\xe2\x65\x9c\xe2\xaf\xc4\xda\x64\x7e\x5b\x1d\xce\x1d\x6c\x21\x4e\xba\xe4\x08\xe0\x5e\x3c\xed\x48\x20\x8f\x5f\x9d\x77\x8b\x49\x2f\x5e\x2c\x57\x04\x4f\xe1\x88\x36\x6b\x13\x26\x14\x65\xf7\x9b\xc1\xf2\x86\x98\xac\x7c\x43\xe7\x26\x96\xc9\x2a\xdd\xb4\x6d\xe4\x67\x77\xfb\x38\x68\x6b\x9a\x7b\xbe\x86\xb7\xe7\x1e\xd8\x28\x7c\x9e\x24\x1b\xcd\xbd\x68\xcf\x92\x38\xc3\x12\x9c\x4b\x7f\x3a\x0d\xa2\xdb\x3d\x12\x2f\x4d\xdb\xae\x7c\x56\xdc\x1b\x30\xb6\x9a\xb6\x6d\xa3\x89\xe7\x7f\x66\x06\x09\x2f\xef\xe7\x65\x11\xe2\x19\x81\x0c\x56\x9e\x85\xf5\x03\xd4\xf4\xd7\xea\x2c\x48\x52\xc1\x75\x58\x53\xb7\xd1\xd2\x5b\xb1\xcd\xbe\xaf\xc7\x6f\xce\x84\x50\xac\xb8\xd3\x11\x97\x77\xcf\x64\xf2\x6e\x22\x25\xae\x67\xbe\x37\x51\xe0\xad\x28\x61\xaf\xe2\x55\x44\x49\xe9\x85\x01\x8e\xc8\x25\x9c\x36\xc9\x4e\xc6\x43\x05\x54\x26\x22\x5b\x12\xb1\xaa\xd6\xf2\x59\xa2\x24\x13\x8f\xf9\x3e\xb1\x51\x9c\xbd\x4f\xf6\x03\x1b\x3d\xc2\xb2\x78\xcc\x96\xc5\x93\x35\xed\xf6\x67\x39\x43\x0e\x37\x9c\xe5\x85\x1d\xb6\x7f\xd1\xe1\x89\xad\xb7\x5b\x09\x5b\x93\x4f\x98\x57\x8c\xde\xe7\x6e\x6c\x27\x4a\xdf\x9b\x47\x4f\x3b\xe1\x1c\x1a\x8d\x32\x25\xe9\x2c\x20\x22\xfa\xd6\x1e\x7b\x15\x86\xec\x56\x3c\x03\x7a\x06\x63\x16\x27\xf2\xa0\xc9\xcd\xbd\x87\x4c\xa5\x3c\xfe\x39\xf4\x25\xec\xb2\x22\x4a\xe3\x08\xb2\x28\x5b\x93\xeb\x24\xfa\x10\x5b\x3c\x14\x7e\xc2\x04\x36\xb5\xcc\x8c\x58\xd3\x3e\x31\xd9\xf8\x6b\xb6\x4d\x7f\x3a\x35\xdb\xe4\x84\xfd\x8a\xe0\xb2\x7b\x6b\xae\x92\x6b\x1d\x89\x5e\x17\x19\xb9\x69\x9e\x5c\xaa\xed\xe4\x4b\xf3\x79\x63\xea\x78\x1e\xa4\x06\xaf\x84\x65\x12\xdf\x05\x53\x9c\x72\x65\x3d\x85\xda\x62\x83\x3b\xbb\x0e\x59\x57\xd5\xf9\xdb\x34\x2e\x55\xda\x37\xd6\xae\x4c\x96\x3d\xfd\x79\x6b\xef\x32\xa3\xee\xff\xaf\xc6\xff\x85\xaa\xf1\xac\x23\xfb\x4b\xa3\x8b\x73\x71\x9c\x04\xd3\xda\x3b\x66\x4a\xa6\xf1\x8a\x98\x9e\x97\x5c\x39\xd7\xbb\xbb\x56\x51\xe1\x4f\xae\xdc\xeb\x4c\xdd\x87\xb7\xe7\xb5\x7d\xc8\x8a\xdd\x36\x1a\xcc\x1e\xac\x2b\x9a\x4f\x10\x99\x08\x67\x89\xc9\x48\xf7\x6b\xdc\x92\x16\x93\xef\x98\x63\x13\x66\xeb\x87\x18\x3a\xdc\x6b\xfb\x77\x38\xa5\x10\xb7\x9c\x88\x7c\x04\x81\xcf\x4c\x36\xa4\x44\xf7\x7f\xd8\xac\x63\x73\x3a\x5a\xa4\x1c\xf4\xff\x6b\xf3\x90\x2d\xcd\x58\x9f\x90\xe4\x22\x6e\x9e\x99\x6c\x2e\x70\x19\xb6\xfe\xe7\xcc\x55\x7e\x17\x8b\x80\x89\x55\x3b\xa0\x8a\x83\x72\xe1\xb3\x3c\xf5\x38\xf2\xef\x82\x5b\x9f\xc4\x09\x4a\xbd\xf8\xc4\x8c\xe2\x29\x36\xdb\x32\x10\x8e\x64\xea\xde\xe2\x88\xa0\xa8\x0c\xbc\x0c\x7d\x32\x8b\x93\x45\x87\x64\x77\x72\x79\x3b\x3b\xbf\x4e\xa5\x1b\x86\xc9\x43\x4d\x2a\x49\xec\xf4\xca\x5c\x04\x1a\x64\xda\x4f\x4f\x7a\xe8\x38\x09\xa6\x38\x22\x22\x99\x3f\x81\xeb\x81\xf9\xd0\x78\x65\xbe\xf1\x27\x41\x44\xe2\x74\x6e\x22\xfa\x7c\x1a\x11\x1c\xb2\xc7\xb7\x6f\x7b\xec\xa1\x75\xf8\xb5\x79\x8d\x22\x86\xe0\x74\xe9\x4f\x3d\x33\x78\xeb\xd3\xa2\x7b\x11\x0f\x9b\xc7\x11\xa6\xa1\xf4\x37\x0b\x7f\x33\x7a\x0f\x0a\x73\xaa\x67\xc9\x03\x4d\x44\x9f\xdc\x16\xfb\xad\xd7\xd8\x6f\x6f\x90\xe5\x05\x97\x77\x79\x51\x56\x16\x08\x30\xed\x97\x9e\xf3\x4c\xfd\x96\x1c\x86\x2b\x76\x3e\x2c\xfd\x5b\xfc\x53\x6d\xda\xa1\x1c\x59\xc7\xa0\x70\xec\x26\x7d\xfa\xb6\x43\x76\x77\xc9\x8e\xe7\xa5\x38\x9c\x65\xb7\xdc\x88\x07\xae\x03\x77\xec\x64\xcf\x23\xb4\x11\xa6\x98\x9c\xe1\x19\x41\x41\xf6\x3e\x8e\x97\x88\x78\x26\x7b\x79\x0b\x13\x16\x33\x88\x0c\x72\x22\x22\xb0\xb0\x76\x6e\x36\xc3\xc7\xc8\xab\x04\x05\xd7\xd9\xc1\xa9\x31\x1f\x18\xc1\x1d\x9b\xf5\xe2\xbe\xc7\x8a\x28\x06\x55\xff\xca\xb9\x66\xd3\x9b\x09\x0e\x42\xcb\xa2\xef\x15\x2b\x3a\x49\x98\x26\xbd\x5f\x6b\x3b\xb6\xbd\xcf\xdf\x6c\xe4\x5f\xb9\x6a\x74\xfa\xba\x9f\x70\xfd\x99\x42\x05\xb2\x45\x10\x59\x72\xd2\x44\x83\x91\x6b\xa3\xb8\xe2\xaa\x18\x72\x71\x5c\x88\x93\x42\x9c\xf5\x8f\x58\x45\x82\x59\x56\x9c\x4c\xd3\x4b\x1c\xfa\x24\xb8\xc3\xe3\x58\x5c\xb9\x10\xa8\x60\x2f\x66\x6f\xda\x29\xd0\x45\x47\x88\x54\x9c\xed\x1e\x2b\x41\xc8\xf7\x22\x5a\x98\xd0\x8b\xae\xdc\x6b\xc9\x43\x38\x0f\x3a\x84\xef\xc7\x4f\x6d\x1f\x3d\xb4\xc3\x75\x89\x61\xf5\x77\xd3\xa5\xb8\x0d\xda\xa5\x6c\x3c\xa5\x9b\x79\x35\x85\x78\xe1\x61\x14\x54\xe7\xa0\xa3\xf3\x0d\x80\x23\x12\x27\x74\x64\x8f\xf0\xbd\x11\x54\xc3\xe0\xa6\xca\x43\xaa\x6f\xf0\x22\x4e\x1e\x90\x74\xea\xe2\x51\x58\x6a\x71\x18\x4d\x06\x66\xd3\x42\x3c\x4b\x2d\x1b\xdc\x87\x4c\x3a\x84\xec\xe1\x68\x12\xd3\xa9\x95\x89\xcc\xc4\xbf\xcf\xae\x37\x01\x02\x26\x71\xe2\x13\x9c\x1d\x47\x29\xce\xd5\xe7\x0e\xf4\x10\x2b\xe0\x77\xb6\xab\x29\x83\x28\x25\x7e\x18\x7e\x8d\x1f\x6e\x62\x3f\x99\x5a\x76\x99\x8f\x44\x10\xcd\xe2\xe2\xf4\xe6\x91\xdb\x37\xda\xc2\x39\x88\xbe\x70\x2f\x66\xe1\x87\xb3\xce\x79\x0a\xac\xc8\x72\xa5\xcf\xe1\x98\xeb\xaf\x4a\x24\x77\xdf\x12\x24\x83\x5e\xf3\x6e\x3c\x74\x5b\x60\xa3\xc4\xb9\xd3\x29\x0b\xea\x54\xe6\xc4\xc1\x07\x4f\x0f\x23\xf2\xd2\x39\xd1\x90\xd2\x94\x17\x77\x38\x09\xfd\x07\x48\xd0\xde\x02\xe5\xb7\x97\x16\xbd\x28\x0a\x59\x0b\xaf\xa1\x12\x34\x2a\x41\xc8\xc9\x97\x03\x13\xd6\x09\x6f\x70\xa2\x03\x84\x7a\xa4\x22\x2f\x98\xc8\xe0\x04\x47\x13\x5c\xb2\xcf\x8d\xed\x5e\xd2\xef\x20\x97\x17\x9e\xab\x47\x09\x93\x52\x11\x4c\x10\xbe\x4a\xae\xe1\x00\x57\xdd\xf5\xe3\x34\xca\xd7\x28\x17\xbc\x6a\x1c\x7d\x33\xfe\x1a\x3f\xa4\x24\x89\x3f\xea\xea\x2e\xb8\xd2\x0a\x01\x05\xa5\x92\x6d\x3c\x2b\x46\xca\xe7\x76\x99\xdf\x6d\x53\xdc\x29\x06\x39\x8b\x36\x95\x8f\x0f\xfa\x0f\x11\xc2\xea\x25\x88\x30\xdf\xb7\x00\x61\x80\xad\xf3\x16\x59\xb8\xab\xd1\x27\xc5\x4a\x2e\x14\x30\xdb\x10\xa0\x97\x49\x0b\x2f\x50\x96\x41\x81\xeb\xab\xa8\xd8\x20\x73\x92\x57\xe6\xc7\xa7\xc9\xe3\x33\xed\x5b\x43\x07\x8a\x72\xb9\x00\x97\x93\xc2\x9c\x4d\x5e\x43\x27\x16\xff\x45\xba\x76\x65\xcd\x7a\x95\xc8\x8d\xa5\x50\x10\xe6\xa0\x58\xd6\x6f\xb1\x8b\x80\x4a\x0c\x33\xb4\xfb\xe5\x57\x6e\xac\x92\x30\x87\x2b\x2b\x66\x2f\x8e\x22\x76\x1c\xd3\xd0\x9f\x90\x38\x79\xf0\x82\x0e\xbb\xf8\xfc\x39\x1a\x6f\x7c\x7e\xb3\x8f\x9c\xf2\xb3\xe3\x7c\xcb\x1c\xd0\xb4\x0b\x0e\xed\xc7\xcf\xa9\x20\x8a\x9e\x81\xf2\x15\x5a\xd8\x48\x99\xc5\x97\xcb\x3c\x5a\xd7\x9e\x5e\xe4\xf2\x57\x7d\x8d\x20\x5d\x82\xfd\xe9\x03\x3b\xd4\xd7\x93\xc5\xa9\xf6\x2e\xce\xcf\x07\xbd\xf1\xe9\xf9\x57\xfc\xcc\xd1\x2d\x71\x2f\xde\x0e\xce\xf3\x2d\x59\xcf\x56\x23\x34\x8e\x74\x9e\x40\x67\x50\xd6\x17\x4c\x70\x70\x57\xd2\x5d\x72\x24\x8b\x92\x89\x76\xb6\x1e\x96\xc7\xd6\xd3\x19\x9d\xc3\x95\xab\x86\x8c\xa2\xbc\xa0\xfc\xce\x1b\x05\x22\x8a\x94\x5f\x99\xf7\xf8\x86\x90\x07\xf3\x1a\x91\xea\x22\xbd\x85\xce\xf7\x5d\xf4\x31\x8a\xef\x23\xcf\x74\x4c\x25\xd4\x33\x5d\xfe\xfa\x96\xf6\x42\x66\x8d\xbf\xb1\x7e\x47\xf4\x42\x9e\x59\xe7\xe1\x1c\xcb\x05\x1b\xa1\x25\x2e\xf1\x2e\x91\xc5\x2a\xb2\x91\x3e\x70\x49\x64\x23\x7d\x30\x32\x1b\x59\xf8\x25\x9e\x30\x66\xc1\x05\x15\xcf\xb4\x78\x36\x5f\xcd\xd4\x26\xe1\x0b\x5c\x68\x97\xdc\xff\xcf\x4f\x6e\xa1\x53\x87\xe7\x15\x99\x8f\xe3\x8f\x38\xa2\xea\x29\xeb\x24\x45\xce\x7b\xee\xe7\x34\x44\xf0\x74\xa6\x14\xb0\x33\xf8\xe5\x96\xc9\x5c\xde\xbc\x97\xb1\x6c\xa4\x5d\x66\x13\x73\x19\xb7\x72\x18\x13\x2f\x10\x3d\xf3\x2c\xb6\xec\x4e\x5c\x6a\x54\x79\xec\x0a\xa7\xc3\x76\x00\xa5\x42\x5d\x51\x1c\x1a\x20\x9e\xd7\x36\xeb\x34\x35\xfd\x3a\xa1\x99\x03\xd2\x92\x0a\xaf\xe4\x33\x12\x4a\x1c\x16\x86\x76\xdb\x5e\x77\x38\x89\x62\xbc\xb5\x52\x1b\xa5\xcc\x8c\xce\x74\x3c\x66\x49\x47\x32\x1a\x48\x9c\x66\x69\x54\x29\x00\x68\x05\x8e\x96\xc7\x9b\x2e\xc9\x57\xe3\x53\x81\xb5\xd7\xa8\x8e\x1b\x70\x1a\x7d\xd6\xd4\x0b\x76\x6a\x38\x50\x0c\x3c\x5d\x5d\x5b\x9e\x13\x76\xe5\x5c\xf3\x23\xc2\x14\x09\x6e\x0b\x5a\xe1\xcd\xa2\x0a\xf3\x14\xbf\xbb\x3c\x85\x9b\xeb\x22\x1c\x11\x2b\xef\x9f\xba\xf0\x97\xdc\x3b\x95\xc4\x37\x56\x62\xa3\xa2\xd1\xc3\xfc\x03\xb3\x62\x99\x8e\x63\x56\xb2\x4d\xf9\x5d\x62\x39\x76\x95\xc4\x6c\xf4\xb7\xdc\x96\x6d\x73\x12\xf7\x6a\xf6\xda\xae\xfe\x22\x0e\x22\xcb\x34\x6d\x5b\x3b\xe8\x48\xb6\xad\x76\x3e\x50\x6f\x62\xa2\x18\x39\x65\x30\x29\x22\xd3\x9b\x60\x9b\x0d\x5b\x8a\x85\x31\xb1\x3b\x19\x2e\x25\xa6\x15\x97\xe2\x92\xcd\xb6\xcd\xe4\x4d\xc7\xa4\xec\x00\xb7\xcc\x41\xe4\xdf\x84\x41\x74\x6b\xc8\x06\xd7\x36\xcc\x4a\x5a\x31\x8d\x94\x06\x4c\x53\x93\x4a\x4e\xd6\x1a\xd3\x35\xaf\x65\xe8\x82\x55\xa1\x00\xf3\xaf\x94\x16\x2c\x05\x2e\x53\xcb\x2c\x19\xa6\xcc\x05\x2c\x33\xeb\x8f\x0d\x40\x3a\x85\xeb\x61\x95\x4c\x5f\x3a\xbb\xbb\x56\xe2\x95\xef\xd2\x8f\x99\x7d\x64\x53\x33\xe7\x19\x82\x26\x46\x5b\x3d\x1d\x82\x5d\x5c\x7f\xa1\xa0\xb7\xb9\xe0\xc2\xc5\x63\xd2\xc0\x9e\x5a\x36\xca\x97\x4e\x64\x9f\xd0\xf8\x62\x44\x97\xe3\xca\x7b\x7c\x33\x1e\x7f\xfb\xe7\xe5\x43\x9f\x58\x0e\x15\x02\x79\xad\x97\x65\xce\x02\x62\xda\xdb\x55\x9c\xa2\xc2\xcd\x27\xc3\xb9\xc9\x2d\xd2\xa7\x60\xb9\xfb\x91\x37\xdf\x4c\xc9\x53\xb0\xd5\x9e\x73\x7f\x81\x3d\x7e\xe5\x68\xcc\x66\x52\xa6\x16\x8d\xb3\xcf\xab\xe1\xba\xe8\xe4\x69\x87\x25\x0c\xa8\x9a\xe2\xc4\xaa\x6d\x16\xd0\x4a\xe3\x2f\xc5\xdd\x4e\x9a\x1c\xf1\x36\xcc\x23\x83\x6e\x58\x31\x3f\x89\xfb\x75\x44\x38\xeb\x0b\x49\x8e\x24\x31\xc1\xe1\x3d\x24\xbf\x47\x0d\x69\x04\xe9\xc4\x5a\x36\xe2\x0b\xda\x45\xc3\xb4\x30\x7c\x6f\x4d\xae\xde\x44\x4a\x33\xa5\xd2\x07\x87\x3b\xfe\xd8\x39\xbd\x2c\xb6\x32\xab\x97\x45\x7e\x7e\x6a\x9f\xc5\xe7\xeb\x3f\x9f\x3d\x7d\xcf\x76\x44\x74\x34\xa1\x50\xef\x81\xc3\xd9\x35\x1e\xc5\xeb\x36\x17\xc2\x50\x9e\x17\x96\x64\x77\x57\x6b\x77\x05\xb8\x8d\x58\xe7\x50\x00\x6c\xe8\x2c\x12\x46\x81\xb6\xa5\x5d\x66\xbf\x66\x2b\x06\x9f\x6f\x3a\x10\x05\xcd\x36\xcb\x7b\xd9\x49\x07\xca\x8d\x24\xc5\x3b\x48\xb2\x2c\x3f\xd3\xb2\x20\xcd\xa7\xb0\x39\xcf\xc3\x9f\x6d\x4e\xf8\x4c\x0b\x80\x14\x7c\xb6\x10\x52\x98\xda\x17\x2c\x09\x25\x73\x7b\x1d\x51\xa1\x11\x70\x85\x9e\xed\xb8\xe7\xab\xfb\x05\x9f\xaa\x8d\x33\x78\x86\x57\x2e\xd5\x68\x4d\x87\x86\xf2\xec\xd4\xf0\x9b\x70\x95\xfc\xb6\x33\x72\x10\xbf\x67\xe7\xe1\xbc\x27\x28\x5d\x14\x12\x7c\x28\xe9\xf0\x74\xa3\x20\x5c\xae\xa3\x4c\xdb\x7f\xfa\x59\xd3\xf6\xfd\x17\x3b\xbf\x67\xbc\x30\xc2\xe0\xc6\x5f\x2e\x53\xc3\x9a\x13\xb2\x4c\xdb\xfb\xfb\xd1\x72\xf1\x0b\x38\xce\x77\x7f\xe9\x4f\x3e\xfa\xb7\x78\x9f\x47\xb1\xb5\x75\xe9\x57\xa3\xfe\x5e\x7d\xaf\x17\xfa\xab\x14\x03\xe0\x0e\x27\xe0\xb6\xe5\x56\x0f\x9c\xaa\x43\x83\x3c\x8f\xa7\xdc\x3f\x3b\xed\x0d\xce\x47\x03\xcf\xa3\xc1\xfb\xfb\x46\x2f\x5e\x3e\x80\x9f\x8c\x61\x4d\x6c\xa3\xe6\x38\xad\xbd\x9a\xe3\x1c\x19\xe3\x39\x36\x7a\xf3\x24\x5e\x04\xab\x85\x71\x31\x32\xa8\x36\x1c\x27\x69\xd5\xe8\x86\xa1\x01\x09\x52\x83\x56\x44\x72\x87\xa7\x55\x86\x8b\x63\xbc\xc4\xd3\x20\x65\xd7\x44\x53\x22\xfc\x68\x0a\x87\xc2\x07\x91\x91\xc6\xab\x64\x82\x21\xe4\x26\x88\xfc\xe4\xc1\x98\xc5\xc9\x22\x45\xcc\xab\x2b\x4e\xe0\x37\x5e\x11\x8e\x68\x11\x4f\xe5\xb5\x3b\xc8\xf0\x13\x6c\x2c\xa9\x4e\x4d\x08\x9e\x0a\x8f\x80\x29\x73\xdb\x25\x73\x6c\xcc\xe2\x30\x8c\xef\xa9\x16\x44\x55\x1e\x38\xfd\x38\xa5\x89\x04\x32\x4c\xda\x1a\x99\x86\x61\xbc\xc8\xd1\x0a\x8e\x79\x9c\x48\xaa\xad\x1a\x8b\x55\x4a\x8c\x04\x13\x3f\x88\x98\xcb\xf0\x4d\x7c\x47\x41\x9c\x65\x1c\x53\x14\x93\x60\x82\x11\x4c\xe0\x8d\x30\x48\x09\x73\x45\xcb\x88\x88\xa6\x39\x0a\xa7\x41\x3a\x09\x7d\xda\xc7\x55\xb7\x51\x13\x44\x2a\x9f\x04\x35\xcb\x24\x9e\xae\x26\x38\x23\x88\xa3\x90\x64\xfd\x56\x04\x71\x64\xbc\xc0\xa2\xcb\xf2\x45\x55\xee\xc7\x89\x11\x93\x39\x4e\x8c\x85\x4f\x70\x12\xf8\x61\x9a\xd5\x85\x70\xce\xe3\x38\xd4\xc2\x68\xe5\x3c\xc7\x01\xa0\xa0\x39\x44\xfe\x02\x53\xf2\xbe\x8a\xe3\xdb\x10\x1b\xa7\xd1\xa4\x6a\x44\x71\x06\x13\xce\x92\xb2\x90\x11\xc3\x19\x27\xa9\xb1\xf0\x1f\x8c\x1b\xb8\x72\x60\x6a\x90\xd8\xc0\xd1\x34\x4e\x52\x4c\x05\x69\x99\xc4\x8b\x98\x80\xe3\xc8\x74\x35\x21\xa9\x31\xc5\x49\x70\x87\xa7\xc6\x2c\x89\x17\x1c\x15\x70\x27\x8d\x67\xe4\x9e\x8a\x16\x17\x3d\x23\x5d\xe2\x09\x95\x3a\x63\x99\x04\x54\x22\x13\x2a\x6f\x11\x93\xbc\x34\xcd\x4a\xc2\x91\x8c\x5f\x9f\x8e\x8c\xd1\xc5\x70\xfc\xbe\x7b\x39\x30\x4e\x47\xc6\xdb\xcb\x8b\x6f\x4e\xfb\x83\xbe\xf1\xea\x5b\x63\xfc\x7a\x60\xf4\x2e\xde\x7e\x7b\x79\xfa\xd5\xeb\xb1\xf1\xfa\xe2\xac\x3f\xb8\x1c\x19\xdd\xf3\xbe\xd1\xbb\x38\x1f\x5f\x9e\xbe\x7a\x37\xbe\xb8\x1c\x71\x4c\x66\x77\x64\x9c\x8e\x4c\x00\x77\xcf\xbf\x35\x06\x3f\x7d\x7b\x39\x18\x8d\x8c\x8b\x4b\xe3\xf4\xcd\xdb\xb3\xd3\x41\xdf\x78\xdf\xbd\xbc\xec\x9e\x8f\x4f\x07\x23\x64\x9c\x9e\xf7\xce\xde\xf5\x4f\xcf\xbf\x42\xc6\xab\x77\x63\xe3\xfc\x62\xcc\xf1\x9c\x9d\xbe\x39\x1d\x0f\xfa\xc6\xf8\x02\x01\x01\xc5\xc4\xc6\xc5\xd0\x78\x33\xb8\xec\xbd\xee\x9e\x8f\xbb\xaf\x4e\xcf\x4e\xc7\xdf\x42\xae\xc3\xd3\xf1\x39\xcd\x71\x78\x71\xc9\x71\x75\x8d\xb7\xdd\xcb\xf1\x69\xef\xdd\x59\xf7\xd2\x78\xfb\xee\xf2\xed\xc5\x68\x60\xd0\x82\xf6\x4f\x47\xbd\xb3\xee\xe9\x9b\x41\xbf\x6a\x9c\x9e\x1b\xe7\x17\xc6\xe0\x9b\xc1\xf9\xd8\x18\xbd\xee\x9e\x9d\xe9\xe5\xe6\xa8\x2e\xde\x9f\x0f\x2e\x69\x61\xd4\xa2\x1b\xaf\x06\xc6\xd9\x69\xf7\xd5\xd9\x80\x66\x0a\xc5\xee\x9f\x5e\x0e\x7a\x63\x5a\xbe\xec\xa9\x77\xda\x1f\x9c\x8f\xbb\x67\x88\xe3\x1a\xbd\x1d\xf4\x4e\xbb\x67\xc8\x18\xfc\x74\xf0\xe6\xed\x59\xf7\xf2\x5b\xc4\x31\x8f\x06\x3f\x79\x37\x38\x1f\x9f\x76\xcf\x8c\x7e\xf7\x4d\xf7\xab\xc1\xc8\xb0\x3e\x8b\x53\x6f\x2f\x2f\x7a\xef\x2e\x07\x6f\x68\x21\x2e\x86\xc6\xe8\xdd\xab\xd1\xf8\x74\xfc\x6e\x3c\x30\xbe\xba\xb8\xe8\x43\x2d\x8c\x06\x97\xdf\x9c\xf6\x06\xa3\x8e\x71\x76\x31\x02\x26\xbe\x1b\x0d\x04\x49\xfd\xee\xb8\x0b\x44\xbc\xbd\xbc\x18\x9e\x8e\x47\x1d\xfa\xfc\xea\xdd\xe8\x14\x38\x7a\x7a\x3e\x1e\x5c\x5e\xbe\x7b\x3b\x3e\xbd\x38\xb7\x8d\xd7\x17\xef\x07\xdf\x0c\x2e\x8d\x5e\xf7\xdd\x68\xd0\x07\xd6\x5f\x9c\xd3\xc2\x4b\x99\x1a\x5c\x5c\x7e\x4b\x33\xa0\xbc\x81\xfa\x41\xc6\xfb\xd7\x83\xf1\xeb\xc1\x25\xe5\x36\x70\xb0\x4b\x59\x33\x1a\x5f\x9e\xf6\xc6\x6a\xb4\x8b\x4b\x63\x7c\x71\x29\x4a\x98\x95\xdd\x38\x1f\x7c\x75\x76\xfa\xd5\xe0\xbc\x37\xa0\x71\x2e\x28\xae\xf7\xa7\xa3\x81\x6d\x74\x2f\x4f\x47\x34\xc2\x29\x90\x60\xbc\xef\x7e\x6b\x5c\xbc\x03\x26\xd0\x6a\x7c\x37\x1a\x88\x0a\x1c\xea\xc2\x8e\xa0\xca\x8d\xd3\xa1\xd1\xed\x7f\x73\x4a\x0b\xc2\x93\xbc\xbd\x18\x8d\x4e\xb9\x58\x01\x2b\x7b\xaf\x79\x65\x54\xc1\x7d\x2a\x98\xf1\xfb\xb1\x76\x3c\x2f\x28\x5c\x2f\xf1\x25\xbb\x94\xda\x30\xc3\xe0\xc6\x34\x62\x98\x67\x19\x7e\x08\x66\x4e\x03\x7f\x0a\x52\x92\x56\xbf\x14\xf3\xa9\xc7\x75\x27\xa8\x26\xab\x88\x04\x0b\xdc\xc7\x54\x23\xc5\xd1\x24\xc0\xe9\x77\xde\xe3\x1a\xb6\x63\x07\x44\xdc\x1c\x91\x7e\xe7\x5d\x5d\xd3\x09\x29\x99\xe2\x65\xd9\xc5\x67\xc9\xc3\x63\x8e\x96\xf5\xc4\x07\xf3\x86\x62\xf9\x20\xfe\xe4\x23\x6c\xf5\x25\x96\xf9\x21\x32\xed\x0e\xf1\xb2\xeb\x86\xea\x27\xc9\x55\xed\xba\x9a\xe0\x65\xe8\x4f\xb0\xb5\xff\xb3\x0f\xe9\x0b\x9f\x7c\x48\x2b\xfb\xc8\x34\xed\x76\x72\xe5\xe6\x80\xb7\xac\xa8\x74\xa8\xf9\x43\x88\xb3\x16\x2b\xf1\x6c\x1f\x6b\x61\x8f\x6c\x5c\xa9\x30\x62\x52\x65\x8f\x6c\x0c\x7b\x64\x53\xb8\x57\xc5\x8f\x26\x38\x9e\x19\x60\x59\xb1\x79\x61\xf9\xe6\xd7\x00\xa5\xec\x74\x2b\xbe\x0a\xcc\x74\x99\x12\xde\x5d\xa5\xd7\x9d\xe8\xe9\xc9\xda\x1e\xc5\xbb\xba\xb6\x51\x94\xdd\xbe\x4b\xf9\x8d\xa3\x74\x95\xe0\xcb\xb2\xfa\xc8\x5b\xf9\xbc\x9d\xec\xc4\x14\xb8\x46\xbc\xbc\x1e\x95\xdd\xda\xe5\x11\xae\xc8\x35\x8a\x3d\x22\xea\xa4\x6a\xda\xd2\x71\xfa\xe9\x29\xc5\xe1\x0c\x45\x9e\xd3\x89\x8e\x63\xc1\xc2\x88\xb2\x10\x8e\xd0\x8a\xaf\xa2\x6b\xaa\x94\xd8\xb9\xeb\x70\xbe\x7c\x43\x3b\xfa\xe8\xd6\x30\xbf\xac\x90\xca\x97\xa6\x11\xa4\x46\x84\x31\x1d\xe0\x6e\x1e\xbe\x84\x4b\x9d\xbd\x1d\x97\x9f\x54\x9f\x7a\xe9\x15\x45\x74\xbd\x06\x1f\xef\xe2\x6d\x29\x43\x3f\x08\xf1\xd4\xe0\xb4\x1b\x53\x41\xfc\x83\x31\x99\xe3\xc9\x47\x76\x7f\x8f\xb8\xcc\xe3\x34\x0a\xf2\xe7\xed\x88\xa3\x51\x72\xc2\xcc\x18\x7f\x85\x11\xb9\xb6\x11\x11\xc2\x5e\x3a\xa9\xcb\x27\xd5\xd7\xda\x83\x99\x25\x24\x58\x88\x56\x92\xdd\x13\xb5\xbb\x4b\x2c\x93\x26\x07\x83\xd2\x95\x73\x6d\xa3\xf4\xca\xbd\xb6\x82\xea\xac\xea\x87\x7e\xb2\xb0\x62\x7e\x69\xb3\x81\x2d\x7b\x4d\x05\xd1\x14\xc8\xcd\x1d\xe1\x19\x54\xc2\x16\xc1\xe3\x38\x31\x82\x08\xee\x8d\x91\x17\xc3\xb7\x0d\x3a\xc3\x01\xbb\xc8\x36\x91\xb2\x6c\xd5\xfd\x2f\x86\x25\x5e\x7e\x9a\xa6\xe2\x6c\xec\x4f\xe1\xd4\xac\xa7\x27\x6b\x23\xac\x94\xe1\x16\xe6\xf7\x08\x72\xd6\x1c\x7b\xce\x89\x30\x42\xcc\x83\xd4\x6e\x5b\x99\x5f\x19\x9c\xf1\x67\x1a\x26\x9c\xfa\xa5\xdc\x8b\xe5\x11\xda\xdc\xb1\x4f\x2c\xbc\x2f\xc2\x2b\x70\x07\x1f\xb7\x4f\x3a\x08\xdb\x15\x15\xab\xbd\xb6\x4b\xcb\x30\x88\xa6\x1b\x4a\x30\xd0\x16\x9f\xfe\x82\xe8\x57\x11\x55\xd4\xc2\x50\xfa\x03\x3a\x3b\x8c\x93\x94\x75\xc1\xec\xb9\x9a\xe0\xef\xbc\xc7\x39\xfe\xe4\xb6\xda\xfb\x5f\x58\x57\xfe\xde\xcc\xd9\x3b\xba\xb6\xcb\x9e\xf6\x03\x34\xc7\x9f\x6a\x0d\x35\xe2\x63\x6d\x6d\x6f\x7e\xd9\x0f\x50\x72\x7b\xd3\xa6\xd2\x75\x89\x6f\x07\x9f\x96\x96\xf9\xb3\xfd\xf4\x45\x72\x7b\xb3\x9f\xbe\xd8\xb7\xf6\xd3\x17\xd6\xfe\xf4\xd1\x45\xf5\xb5\xbd\x9f\xbe\x40\xcf\xbc\xef\xd3\xaf\xdf\x37\xb3\x9e\xfa\xc3\xfe\xfe\x2d\x6c\x52\xb4\x91\x19\x98\x36\xcd\xcb\x2f\xcb\xcc\xff\x31\xb9\x59\x27\x6d\x1e\x54\xb1\x4e\xda\xfb\xd5\xfd\x69\xc5\x3e\xa1\x00\xfb\x73\xe8\xf8\x54\x4a\xc7\xc9\xef\x96\x90\x93\x67\x29\xf9\xe4\xba\xb4\x02\x60\x4c\xa3\x0f\x59\xed\xb8\xa8\xb1\xb6\x3f\xec\x3f\x1b\x90\xbe\xf8\xfd\xfd\x00\x51\x7d\xbf\xbd\x7f\xe5\xef\xfd\xea\x9a\x7e\x39\x7b\x47\x1f\xd2\xeb\xca\xbe\x2a\x47\xb7\x37\xe3\xf8\xa7\xae\xab\x9f\x2e\x21\x8c\xa5\x44\x3d\x26\xca\xb3\x6a\xcd\x83\x17\xd2\x2f\x0b\xa3\x5a\xb3\x69\xeb\xeb\x04\x88\x76\x63\xbf\x5a\xfa\x53\x0b\xa3\x86\xbd\x16\xa3\x3c\x1c\x33\x63\xa9\xb2\x4b\xf3\xfd\x24\x3d\xcc\x92\x13\x93\x96\xd2\xac\x10\xe6\xfc\x5b\x31\xf7\xd9\x73\x4d\x79\xae\x5f\xdb\x6d\xe6\x08\x2d\x11\x7d\x72\xdd\xd7\xf8\xd3\x38\xee\x8d\x46\x25\xbb\x83\xe0\xd6\x9f\xf4\x7d\x40\xe6\x96\xf9\x85\x69\x6b\x0e\x7a\xc1\xcc\xc2\x54\xfd\x58\xdd\xa4\x24\xb1\x5c\x1b\xed\xb9\x9e\x77\x55\x47\x2d\x74\x84\xdc\xda\x75\x76\x52\x95\x68\xee\x85\xd4\xbc\x50\xfb\x57\x3f\xe3\x8c\xdf\x0f\xec\xe2\xd6\x23\x79\xe7\xdf\x7e\x9d\x5d\x1d\xc3\x32\x74\x10\xec\x16\x91\xef\x04\x2e\x83\x56\xde\x2b\x44\x71\xc0\x93\xe5\xf5\xa9\x16\x32\x8e\x2f\xbf\x7a\xd5\xb5\xae\xc0\x67\xef\xba\xba\xf0\x97\x56\x89\x2f\x2b\xce\xb6\xa2\x60\x44\x6b\xa6\x06\xfe\xba\x6d\x17\x7e\x8e\x8f\x1b\x6d\xfc\xf2\x65\xe3\x85\x45\x60\x49\xc7\xd6\x99\x5a\xe4\xa8\x28\x4c\x49\x4d\x32\x59\xcd\x8e\x3d\x39\xb1\x48\x76\x73\xa2\x9b\x75\x5f\x1a\xf5\x64\x13\xdd\x6e\x76\x4d\xe2\x49\x56\x82\x0a\x94\xa1\x5d\x2b\x05\x02\xc8\xaa\xab\xf7\x2b\x5a\xb8\x92\x31\xb3\x66\xdb\x08\xa4\x36\x89\x57\xd1\xd4\xd2\x13\xee\xd7\x9a\x07\xb4\x97\x85\x53\xd9\x73\x12\x73\x52\x26\x68\x16\xb6\xdb\x32\x9c\xb6\x2f\x28\x11\x3f\xd2\x8c\x07\xcf\x69\xdc\xcb\xaf\x5e\x6d\x69\x54\x0d\x9d\x5c\x0f\xcb\xce\x20\x41\x25\x7b\x16\xd8\x5a\xdd\x17\x66\x85\x54\x48\x25\xa9\x24\x95\xa0\x12\x88\x95\xd3\xac\x5e\x62\xa5\x16\x68\x8b\xb2\xcc\x6c\xa3\x16\x01\xef\xc9\x96\x5d\x31\x91\xa1\x05\xd7\xca\x83\xeb\x3c\xd8\x36\x59\xab\x13\xaa\x8f\x52\xf3\x30\xfc\xa0\xb8\x10\x58\x6b\x40\x0b\x29\xea\xcf\x42\xf7\x4c\x3d\xa7\x93\x1e\x8b\xf2\x77\xd2\x4a\xc5\xc6\x54\x03\x26\x16\xfd\xe1\x47\xc6\x62\xfa\x9a\x9d\x04\x99\xef\xb3\x5e\xab\x07\xa0\x15\xd8\xcb\xf8\x22\x53\x4c\x12\x7f\xf2\x91\x55\x93\xc2\xa1\x2f\xcc\x8a\xec\xaf\x2c\xa5\xe8\xce\xb5\x7d\x7c\xec\xb6\x9e\x34\xde\xd9\xc7\xc7\x87\x4f\x1a\xdb\xec\xe3\xe3\xdc\x32\x29\x6a\xf1\x2e\x6a\x7b\xf1\x13\xcf\xe9\x24\x59\xf1\x13\x28\x7e\xc2\x8a\x9f\x3c\x5f\x7c\x76\x7a\x6b\xf0\x2b\x9c\x6f\xa4\x72\x89\x64\xa3\x1c\x0b\xc1\xd4\x84\x58\x74\xc7\x55\x82\x53\x9a\xe7\x09\x7e\x56\xc0\x95\xa6\x5c\xda\x4d\xf0\x09\x5c\xfd\x04\x5f\xd5\xaf\xdb\x2e\x2f\x05\x15\x49\xdf\x32\x2b\xf8\xca\xb9\x66\xf2\x86\xaf\x5c\xf9\x54\xe3\x4f\x84\xca\x9c\x92\x57\x8a\x49\x37\x5c\xce\xfd\x0d\xaa\xf8\xe6\x1a\xa6\x43\x86\x47\xca\xfb\x9f\x44\x2d\xcd\x22\xf8\x54\xb8\xc6\x30\x9b\x37\x96\x65\x81\xd2\x92\x60\xd8\x2f\x4a\xa7\x46\x8d\x4e\xa5\x22\x7d\xa9\xd3\xab\xe8\x7a\x8f\x4e\x68\x3a\xf4\xcb\x2b\xeb\x88\x28\xc0\xae\xf8\x2f\x12\xb9\xca\x55\x4a\x73\xac\xd2\x2c\x72\xcd\x8f\x7b\x7a\xe5\x53\x86\x9b\x36\x3b\xb5\x6b\xe3\x38\xec\x67\x57\xd9\x89\x79\x0a\x22\x6b\x39\xb1\xdd\x9c\x90\x9d\x82\x5d\x92\x98\xcd\xa5\x5c\x8a\x86\x03\xb5\xc3\xc9\x2d\xb3\x17\xaf\xc2\x69\xf4\x25\x31\xa0\x18\x74\x2a\x84\x6d\x94\x1b\xdc\xa5\xe8\x95\xca\x38\x9b\xe1\x0a\x66\xd0\x9f\x73\x7f\x81\xd3\x93\x92\xb0\x2b\x7c\xdd\x86\x1e\x96\xc4\x67\xf1\x3d\x4e\x7a\x7e\x8a\x2d\xdb\xfe\x11\x08\x32\x7d\x2d\xad\x50\x85\xcd\xfc\xa1\x58\x72\x45\x4c\x49\x3c\xf9\x08\xc7\xef\xbd\xf5\x43\x4c\x08\xf6\x8a\x2d\xf5\xca\xfc\xc2\x81\x7f\x26\x32\xbf\xe8\xf5\xc4\x53\x63\x70\xd4\x75\x5a\x10\xd6\xe8\xf2\xb0\x7a\xa3\xd5\xec\x36\xe8\xd3\x41\xb3\xe9\x1c\xbc\xa2\x4f\x4e\xeb\xe8\xf0\xa8\x4b\x9f\xfa\xf5\xfe\x41\x6f\x48\x9f\x9a\xcd\xe6\x41\xb3\x4e\x9f\x06\xc3\xda\x51\xed\x08\xe2\x39\xaf\xba\x2e\x84\x0d\x7b\x83\xa3\x06\xc4\x3b\xa8\x1d\x0d\x59\x8a\x61\xcd\x71\x7a\xaf\x78\xbc\xe6\xab\x3e\xa4\xa5\xff\x7a\x2c\x4c\x50\x45\x7f\x9b\x43\xf1\x74\x78\x20\x9e\xba\x32\xac\x2f\xc3\x86\x3c\xac\x39\x14\x69\x9b\xc3\xa6\x0c\x13\x69\x9b\xc3\xae\x0c\xeb\xcb\x30\x91\xf6\xf0\x40\xa4\x3d\x3c\x68\xca\x30\x91\xf6\xf0\xa0\x2b\xc3\xfa\x32\x4c\xa4\xed\xca\x7c\xbb\x32\xdf\xae\xcc\xb7\x2b\xf3\xed\xca\x7c\xbb\x32\xdf\xbe\xcc\xb7\x2f\xf3\xed\xcb\x7c\xfb\x32\xdf\xbe\xcc\xb7\x2f\xf3\x1d\xca\x7c\x87\x32\xdf\xa1\xcc\x77\x28\xf3\x1d\xca\x7c\x87\x3c\x5f\xca\x29\x96\x96\x3e\x35\x65\x18\x4b\x4b\x9f\xba\x32\xac\x2f\xc3\x44\x5a\xc1\x67\xfa\xd4\x94\x61\x22\xad\xe0\x33\x7d\xea\xcb\x30\x91\x56\xf0\x99\x3e\x35\x65\x98\x48\x2b\xf8\x4c\x9f\xfa\x32\x4c\xa4\xed\xca\x7c\xbb\x32\xdf\xae\xcc\xb7\x2b\xf3\xed\xca\x7c\xbb\x32\xdf\xbe\xcc\xb7\x2f\xf3\xed\xcb\x7c\xfb\x32\xdf\xbe\xcc\xb7\x2f\xf3\x1d\xca\x7c\x87\x32\xdf\xa1\xcc\x77\x28\xf3\x1d\xca\x7c\x05\x9f\x69\x69\x59\x5a\xfa\xd4\x94\x61\x2c\x2d\x7d\xea\xca\xb0\xbe\x0c\x13\x69\x05\x9f\xe9\x53\x53\x86\x89\xb4\x82\xcf\xf4\xa9\x2f\xc3\x44\x5a\xc1\x67\xfa\xd4\x94\x61\x22\xad\xe0\x33\x7d\xea\xcb\x30\x91\xb6\x2b\xf3\xed\xca\x7c\xbb\x32\xdf\xae\xcc\xb7\x2b\xf3\xed\xca\x7c\xfb\x32\xdf\xbe\xcc\xb7\x2f\xf3\xed\xcb\x7c\xfb\x32\xdf\xbe\xcc\x77\x28\xf3\x1d\xca\x7c\x87\x32\xdf\xa1\xcc\x77\x28\xf3\x15\x7c\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4a\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\xee\x4b\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x1e\x4a\x79\x76\x0e\xe9\x1f\x7d\x72\x6b\xf4\x0f\x9e\x7a\xf4\x8f\x3e\xd5\x5a\xf4\x8f\x3e\xd5\x1d\xfa\x07\x4f\x5d\xfa\x47\x9f\x1a\xf0\x0f\x9e\x06\xf4\x8f\x3e\x35\x0f\xe9\x1f\x7d\x82\xa4\x80\xaf\xd5\xa3\x7f\xf4\xe9\xa0\x45\xff\xa0\xe7\x82\x8c\xe1\xa9\x4b\xff\xe8\xd3\x51\x83\xfe\xc1\xd3\x80\xfe\x41\xcb\x03\x30\x7d\x7a\x55\xa3\x7f\xf0\xd4\xa3\x7f\xf4\x09\x10\x03\xbe\xbe\x43\xff\xe0\xa9\x4b\xff\xe8\x13\x10\x05\xf8\x40\xbf\x1a\x98\xd7\x8a\x05\x65\x52\xaa\x2a\x16\xb4\x48\x54\xa2\x7d\x7a\x8f\x7e\x18\x4c\xf0\x4d\xb8\xc2\x6d\x30\x0d\xd4\x1a\x0e\x32\x6a\x8d\x43\x64\xd4\x9a\x4d\xdb\x44\x7e\x44\x82\x5f\xae\x30\xdc\xfd\xc4\x63\x34\x69\x8c\x7a\x13\x19\x35\x37\x1f\xc3\x15\x51\x28\xb4\x7e\x44\xa3\x1c\xe5\xa2\xd4\x78\x94\x3a\xcd\xa2\x56\x47\x46\xcd\x69\xe4\xa2\xd4\x79\x14\xa7\x89\x0c\xf7\xa8\x86\x0c\xf7\xa0\x95\x8b\xd2\x60\x51\x5c\x9a\x87\x5b\x77\x91\xe1\xd6\x1c\x1a\xe5\x97\x2b\x7f\xe1\x27\x41\xc4\x69\x75\x6b\x07\x50\x10\x4a\x48\x4d\x83\xbb\xcf\x45\xe0\x74\xba\x2e\xa5\x93\x12\xeb\x1e\x1d\x6a\x11\x38\x95\xae\x53\xa3\x65\xa0\xa4\x1e\xe8\x24\x70\x1a\x5b\x40\x22\xfd\x72\xa1\x14\xbf\x5a\x25\x1a\xaf\x21\x73\xc6\x6b\x0a\x72\xb7\xc0\x04\xef\x6a\x0d\x4e\x53\xad\x7e\x28\x60\x82\x9c\xa3\x3a\x27\xa7\xe6\xc8\x74\x92\x5b\xae\x20\xa5\x4e\xab\xe5\x06\x07\xb7\x92\x14\x9a\x02\xbe\x80\x91\x37\x41\xfa\x4b\x29\x12\x40\x45\x0d\x58\xd0\x92\x30\x77\x1b\x50\xab\x64\xb7\x8e\x0c\xf7\xb0\x2e\x81\x5a\xf5\x1e\x52\x60\xf3\x50\x02\xb5\x8a\xad\xd1\x18\xce\x01\x05\x86\x74\x42\x08\x20\x07\x19\xf4\x3f\x0b\x8c\x26\x73\x3c\xf5\xc3\x45\x1c\x4d\x35\xd1\x93\xe5\xcf\x24\x9b\xa5\x63\xdc\xa4\xa1\x6e\x79\x70\x4d\x0b\x06\xfe\xd2\xe0\xba\x16\x2c\x51\x37\xd4\x60\xce\xd5\x70\x85\xef\x82\x38\xc4\x44\x14\xe5\x10\x19\x0d\x5a\x2b\x35\x60\x50\x12\xdf\x47\x1c\xd2\x6a\x22\xa3\x51\xa3\x1f\x01\x50\xb9\xda\x6a\xd0\x8f\x80\xa8\x2c\x6d\x1e\xd1\x8f\x80\xa8\xfc\x6c\xba\xf4\x23\x20\x2a\x33\x29\x4b\xea\x40\xf6\x2a\x09\x1f\xee\xe3\x58\x30\xac\x46\x1b\xd8\x61\x83\x92\xaf\x81\xb5\x0a\x76\xa9\xe4\x34\x35\xb8\x4a\x90\x7b\x74\x80\x0c\xb7\xa1\xc1\xb5\x6a\x3e\x70\xa0\x3a\x55\xb8\x56\xd3\x6e\x13\x19\x87\x14\x3c\xf1\xa7\x98\x64\x95\x76\xd4\x04\xf1\x40\x86\xdb\x72\x54\xa8\x68\xbe\xcd\x9a\x10\xdb\xa6\x96\x5a\xb4\x5e\xca\xdd\x5a\xed\x48\xd4\xa4\x84\x8b\xd6\x02\x85\xa7\xc4\xb3\x2a\x95\x70\x4e\x1c\x48\x67\xbd\x21\xaa\x76\x32\xf7\x13\x92\xe0\x55\x5a\xe8\x5e\x1c\x0d\x5a\xe8\x5c\x74\x70\xa1\x6b\xd1\xc1\x85\x8e\x45\x07\xe7\xbb\x15\x06\x8d\x27\x71\xe8\xcb\x2e\xda\xa5\xec\xa6\x49\xeb\x1a\x54\xad\x52\x20\xae\xde\x52\xc1\x5a\x8d\x52\xe2\xea\x75\x15\xac\x55\x28\x10\x77\xa4\x82\xd5\xfa\x04\xe2\x00\x1a\x27\x7e\x98\xcf\xf5\xd0\x11\x10\x8d\x20\xb7\x81\x8c\xc3\x96\x00\x69\xc4\x38\x2d\x35\x95\x4a\xc8\x91\x4b\x73\x13\x10\x8d\x06\xda\xb0\x0e\x18\x24\x9a\x85\xf1\x3d\x4e\x32\xb9\x72\x1d\xca\xa1\x06\x08\x86\x88\x93\x06\xe1\x47\x55\xe6\x61\x10\xac\x39\x0a\xd4\xdd\x0e\xd6\x7a\xbd\x7a\x4d\x0a\x15\x07\xab\x64\xd7\x20\xff\x03\x35\x6b\x7d\x48\x6b\x89\x21\x6d\xf2\xe0\x47\xb2\x93\x51\x06\x04\x1a\xee\x6e\x02\x64\x9d\x98\x32\x4c\x50\x40\xd6\x8d\x29\x63\x04\x05\x64\x1d\x99\x32\x40\x4c\xfd\xe4\x63\xbe\x03\xcd\x20\x1a\x65\xb9\x54\xb7\x71\x38\xc5\x51\x22\x3a\x19\xde\xbf\xd0\x2f\x37\x1f\x43\x93\x81\x43\x68\xef\xf9\x28\x9a\x2c\x1c\xd0\x36\xd9\xc8\x47\xd1\x84\xb3\x01\x83\x47\x3e\x8a\xc6\x60\xc7\x45\xc6\xa1\x88\x91\xf8\x0f\xa2\x47\xa6\x30\xfe\x25\xa1\x18\x2b\xe5\x74\xf8\xe0\xc3\x41\x5b\x12\x7e\x9c\xfb\x1f\x03\x51\xfe\x23\x31\xd6\xc1\x70\x46\xc1\x0b\xff\x16\x47\xc4\x57\x88\xd2\xb8\x1b\x87\xc1\x1d\x56\xf2\x3e\x64\x63\x21\x97\x69\x3d\x86\x60\x21\x34\x4a\xd6\x96\x6a\x85\x48\xa2\xd7\x39\x94\x0a\x8d\xd3\x28\x44\x12\x7d\x4f\x4b\xf4\x3d\x47\x4e\x21\x8e\xe0\xa3\x2b\xaa\xbd\x25\xea\x34\x4e\xfc\xe8\x56\xd5\x1a\xdc\x86\xc2\x2d\x06\x2d\xf4\x41\x3a\xb8\xd0\x07\xe9\xe0\x42\x1f\xa4\x83\xf3\x7d\x50\x06\x9d\xcc\x03\x21\x8b\xcd\x3a\x32\x40\x87\xcd\xca\x0f\x60\xd1\x6b\x43\x97\x52\x13\xcd\x29\x83\x0b\x06\x1e\xd0\x11\x58\xb6\xaa\x0c\x2e\x78\xd7\x6c\x08\xfc\x7a\x7a\x41\x9c\xd3\x40\x46\x36\xa6\x50\x78\x82\xa7\xba\x18\x08\xba\x53\x50\x6d\x04\x4b\x40\x55\x82\x81\x54\xd4\x6e\x8a\x7d\x45\x44\xdc\x06\x68\x5a\x94\x73\x8d\x7a\x2e\x86\xab\xaa\x87\xc0\xfb\xa3\x7c\x14\x29\x20\xa2\xdb\x70\x0f\x9d\x5c\x14\x59\xc4\xa6\xd0\x79\x25\x8f\x44\x14\x59\xca\xa6\xe8\x14\x24\x1b\x52\x3a\x4c\x64\xfd\xc9\x41\x8d\x8a\x8e\xca\x07\x88\x90\xb5\xc6\xc6\x01\x32\x0e\x8e\xe8\x27\x0f\x97\xc3\xbf\xab\x75\x7d\x5a\x1c\xa9\x02\xb8\x5a\x2f\xa8\xc5\x91\x6a\x80\xab\x75\x88\x5a\x1c\xa1\x0a\xd4\x0a\x9d\x1c\x8f\x82\x37\x91\x4b\x56\xc9\x2f\x57\x71\x90\x62\xa5\xd3\x6d\xd1\x2f\x11\x41\x53\x13\xe9\x78\xe2\x80\xaa\x45\xa1\xf8\x26\xf0\x23\x29\x17\x35\xaa\x1f\xd1\x91\x93\xc1\xf0\x72\x19\x44\xda\x58\x05\xa3\xd9\x81\x02\x74\xb7\x42\xb5\x56\x46\x3f\x75\x15\xaa\x35\xb2\x16\xb4\x43\x05\xaa\x77\xa3\x7c\x5c\xa6\xc0\xf4\xe3\x83\x36\x58\x40\x43\xe2\x15\x93\x81\xdd\x67\xe0\xd9\xd0\x05\x0d\x8d\x57\x5a\x06\xcf\x46\x30\x68\x68\xbc\xc2\x32\xb8\x32\x90\x39\x59\x23\x0b\x16\x4a\x27\xcf\x3a\x8f\xa6\x14\x4d\x0a\xc4\x9b\x80\xf1\xf4\x56\x55\x1c\xea\xc0\xcb\x86\x24\x5c\x82\xdd\x67\xe0\x82\xe5\x87\x7c\x20\xe4\x05\x93\x70\xc1\x74\x18\x23\x5b\xb2\x60\x12\x2e\xd8\xde\x42\xc6\xc1\xa1\x28\xd7\x2c\x48\xf0\x4d\x12\x88\xa9\x11\x70\xac\x0e\xdd\x8b\x0a\x54\x65\x81\x4a\x59\xe3\x50\x85\xaa\xb2\x40\x09\x6f\x68\x69\x55\x59\xa0\x31\xea\x5a\x5a\x55\x16\x6a\x94\x68\xaa\xbe\xcd\x42\xaa\x8a\x69\x16\x03\x68\xa1\x60\x58\xa0\xc2\x32\x8b\x13\x9c\x12\xa5\xe3\xe2\xbd\x21\xa7\xfb\xd6\x0f\xa2\xf4\x26\x4e\x62\x31\x41\x71\x40\xd1\x12\xda\xd6\xed\x3c\x4e\x89\x8a\x1d\x14\xb1\xcc\x62\x41\xc7\x7b\x6d\xea\xc2\x35\x68\x1a\xee\x6e\x02\x68\xaa\x1b\xd5\x0d\x04\x40\x9f\xc5\xd4\x33\x80\x3e\x7d\x39\xc8\x00\x8a\xda\x53\x83\xb6\x45\x67\x79\xf5\x9a\x0a\xd5\xc6\x40\xda\x23\x43\xf3\x2b\x57\x77\x68\x6f\xcc\xd8\x52\xaa\xea\x40\x49\x8e\x54\xb0\xde\x3e\xa1\xf9\x53\x70\x26\xfe\x47\xd0\xf6\xd8\x17\x87\x38\xaa\x86\x27\x02\x85\x44\x23\x83\xfe\x17\x81\x3c\x2a\xab\x6d\x5e\xe3\x0c\xe0\x68\xb5\x2d\x3b\x65\x00\xba\x99\xf4\xb3\x8f\x00\xf0\xb2\xd6\x5d\x64\xb0\x8f\x00\xf0\x52\xd2\x41\x8f\x7d\x04\x80\x97\x8f\x6a\xc8\xec\x23\x00\x4d\x0e\x38\x54\x24\x15\x00\x2d\xde\x3f\xbb\xc8\x60\x1f\x01\x38\xe0\x80\x3a\x9b\xa0\x37\x64\x1e\x87\x1c\xd0\x42\x06\xfb\x08\xc0\x11\x07\x1c\x2a\x2d\x49\x19\x6c\xe8\x0c\x1c\x19\xa2\xd4\x35\xce\x11\x36\x29\xe7\x13\x73\x00\x70\x76\x80\xa6\x00\x1f\x01\x10\x78\x5a\xc8\x60\x1f\x01\xe0\xec\x60\x33\x7f\x3e\xfb\x07\x80\x98\x0e\xba\x6c\x30\x6d\xc9\x3c\x38\x3b\x98\x15\x81\x5b\x12\x00\xc0\xd9\xd1\x6a\x21\x83\x7d\x04\xe0\x20\x9b\x59\xb2\x8f\x00\x70\x76\x1c\xb8\xc8\x60\x1f\x01\xe0\xec\x38\x68\x20\x83\x7d\x38\x80\x53\x7b\x88\x8c\x43\xa6\x66\x43\x20\x67\xc7\x01\x1d\x27\xe1\x23\x00\x9c\x1d\x6c\xf0\xe4\x03\x28\x00\x6a\xd9\xd8\xcb\x3e\x02\x20\x32\xa0\x53\x46\xf8\x08\x80\x18\xad\xe9\x60\x09\x1f\x01\xe0\xec\xa0\x8a\x38\xfb\x08\x00\x67\xc7\x51\x0d\x19\xec\x23\x00\x9c\x1d\x47\x0d\x64\xb0\x8f\x00\x70\x76\x1c\x1d\x20\x83\x7d\x04\x80\xb3\xe3\xe8\x08\x19\xec\xc3\x01\x52\x27\x62\x23\xa6\x2b\x5a\x58\xc3\x11\x80\x1a\x57\x67\x5d\x47\x64\xdf\x70\xcb\x07\x24\x80\x09\xdd\x86\xce\x07\xc4\x97\x80\xd5\x55\xf5\x9c\x7f\x09\x98\x54\xdd\x6b\x30\x47\x10\x13\x05\x80\x35\x05\xac\xc9\xed\x31\xae\x2b\xf3\x6b\x09\xd8\x01\xef\xec\x5c\x57\xe6\x77\x20\x74\x28\xd0\x4c\x1d\x31\x6f\x05\xd8\xa1\x80\xd5\x40\x6b\x15\xaa\x2b\xc0\x8e\x04\xac\x29\x2c\x7d\x35\x91\x9f\x20\x05\xac\x2f\xf4\x23\xc2\x05\xbf\xe8\xbc\x41\x7c\x09\x98\xe0\x17\x8c\xc0\xfc\x4b\xc0\x04\xbf\x40\x85\xe6\x5f\x02\x26\xf8\x55\x07\x85\xb5\x29\xec\x60\x00\x93\x7d\x29\x8c\xb8\xec\x4b\xc0\x04\x91\x0d\x87\xcf\x73\xdc\x86\xcc\xaf\xa5\x2a\xe4\xfc\x4b\xc0\x04\xbf\x1a\x30\x3f\x6a\x0a\xbb\x19\xc0\x0e\x15\x5d\x50\x7c\x09\x98\xe0\x17\xcc\x00\xf8\x17\x87\x89\xec\x60\x40\xe0\x13\x68\x08\x77\x94\x29\x8f\xf8\x12\x30\xa9\x43\x53\x0d\x8f\x7f\x09\x98\xe0\x17\x58\xde\xf8\x97\x80\xc9\x29\x22\x55\xdd\xf9\x97\x80\x49\x25\x85\x66\xc5\xbf\x04\x4c\xf0\x8b\xf6\x39\xe2\x4b\xc0\x44\x01\x5a\x30\x5e\xb2\x2f\x01\x13\xfc\xa2\x3d\x8f\xf8\x12\x30\xc1\x2f\xb0\x09\xf0\x2f\x01\x13\xfc\x3a\x68\xc1\x02\x82\x58\x45\xa0\x30\x81\x52\x68\xbf\x22\xaf\x03\xc1\x2f\xda\x0b\x89\x2f\x01\x13\xfc\x3a\xa4\x24\xf0\x2f\x01\x93\x53\xa7\x86\xb0\xa5\xca\x1e\xe9\x40\xf0\xeb\x90\x92\xc0\xbf\x04\x4c\xf0\x8b\x99\x07\xd8\x97\x80\x09\x7e\x51\x2d\x59\x7c\x09\x98\xe0\x17\xed\x97\xc4\x97\x80\x89\xc2\x1d\xb5\xc0\x26\x2f\x0c\xf3\x00\x13\xfc\x3a\x02\xfb\x1c\xfb\x12\xb0\x23\xa1\x56\xb8\x5c\x05\xaa\x39\x22\xbf\x43\x01\x62\x73\x09\xd9\xbe\x0f\xc5\x90\xef\x80\x26\xde\x10\x73\x6a\x80\x49\xa3\x04\x58\x57\xd9\x97\x80\x09\x0d\xc7\x39\x82\xe9\x90\x98\x13\x01\x4c\xa8\x37\xb4\x7b\x12\x5f\x02\xd6\x10\x30\x9a\x15\xff\x12\xb0\xa6\x80\xd1\xac\xf8\x97\x80\xb5\x04\x8c\x2d\x49\x89\x75\x29\x80\x1d\x08\x35\x13\x4c\xc5\xec\x4b\xc0\x44\xc1\x61\xc1\x85\x7f\x09\x98\xe0\x17\x18\x79\xf9\x17\x87\x09\x10\x9d\x6b\xc3\x47\x84\x0b\x7e\x81\x45\x9a\x7f\x09\x98\xe0\x17\x18\x0e\xf9\x97\x80\x49\x8d\x50\x2e\x6e\xc8\x3e\xea\x48\xf0\xab\x7e\x00\xc6\x4c\x61\xd1\x04\x98\xe0\x17\x5b\xd4\x93\x0a\x38\xc0\x04\xbf\xc0\x44\xce\xbf\x04\x4c\xf0\x2b\x5b\x15\x92\x7d\xd4\x91\xe0\x17\x9d\xee\x8a\x2f\x01\x13\xfc\x02\x5d\x9f\x7f\x09\x98\x60\x0a\x98\xec\xf9\x17\xc0\x54\xf3\x9a\xb4\x96\xab\x46\x8b\x42\x78\xce\xbc\x29\xc3\x73\xd6\x4d\x19\x9e\x33\x6e\xca\xf0\x07\x1c\x86\xf1\xbd\xd2\x87\xb0\x29\x12\x2b\x0e\xde\xa8\x2f\xe3\x32\x7d\x19\x97\xe9\xcb\x78\x93\xbe\x8c\xb7\xe9\xcb\x78\x93\xbe\x8c\x37\xe9\xcb\x78\x93\xbe\x8c\x37\xe9\xcb\x78\x93\xbe\x8c\x37\xe9\xcb\x78\x93\xbe\x8c\x37\xe9\xcb\x78\x93\xbe\x8c\xcb\xf4\x65\xbc\x49\x5f\xc6\x9b\xf4\x65\xbc\x49\x5f\xc6\x9b\xf4\x65\xbc\x49\x5f\xc6\x9b\xf4\x65\xbc\x49\x5f\xc6\x9b\xf4\x65\xbc\x49\x5f\xc6\x9b\xf4\x65\x5c\xa6\x2f\xe3\x4d\xfa\x32\xde\xa4\x2f\xe3\x4d\xfa\x32\xde\xa4\x2f\xe3\x4d\xfa\x32\xde\xa4\x2f\xe3\x4d\xfa\x32\xde\xa4\x2f\xe3\x4d\xfa\x32\xde\xa4\x2f\xe3\x0d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa0\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x0d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa0\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x0d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa0\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa2\x2f\xe3\x2d\xfa\x32\xde\xa8\x2f\xcf\xe3\x08\x3f\x4c\xf1\xbd\x4a\x29\xf3\x47\x70\x14\x68\xd1\x8b\x4c\x03\x17\x1d\xc9\xa0\x9e\x04\xb8\xe0\x4b\xc6\x16\x0b\x05\xb8\xc4\x9d\xcc\x05\x30\xc9\x2d\x4b\xb1\x61\xf8\xd0\xc9\x80\xba\xc3\x87\x93\x83\x16\x7c\x3e\xdc\xd6\x41\x06\xd5\xdc\x3e\x5a\xb0\xcc\x92\x01\x55\xab\x37\xed\x80\xc1\x59\x2f\x88\xa6\xda\x2a\x1a\xa4\x14\x3a\x8b\x04\x6a\x34\x41\xae\x4e\x4b\x85\xab\x54\x49\x35\x45\x42\x55\xaa\x0e\x85\x17\x93\x84\xe6\xc9\x82\x61\x21\xb8\x8b\x93\x87\x82\xf2\x0f\x15\x04\x20\x77\x0b\x4c\xf7\x31\x91\x35\x07\x30\xdd\xc1\x44\x56\x1b\xc0\x74\xef\x12\x59\x67\x8a\x8f\x02\x93\x95\xba\x1c\x98\x01\xa4\x7b\xbc\xb4\xc4\xc0\x0c\x30\x9d\x14\x47\x28\x09\x00\xd3\x5d\x38\x0f\x85\x72\x04\x30\x9d\x14\xaa\x06\x53\xa6\x84\xfe\x1d\x8e\xa6\x38\x11\x48\x05\x31\xac\x45\x08\xe8\x4d\xb8\x4a\xe7\x1a\x4d\x8e\x68\x6c\x5a\x14\xf7\x33\xe2\xe8\x9e\xa8\x0d\xd1\xb9\x68\x71\xf4\x72\xd4\xc1\x59\x2c\x1f\xa7\xe8\x8b\x0a\xeb\x35\xa1\x7f\x1f\xa9\x8b\xf3\x90\x43\x93\xbb\x2c\x84\x78\x11\x47\x93\x79\x30\x9b\xc9\xe5\xfd\x6c\x91\x0c\xf4\x56\x35\x86\xfb\x7c\x14\xbd\x32\xea\x62\xf4\x53\xa3\xe8\xe2\x01\x8a\x48\x1e\x8b\x5e\x94\x03\xa1\xef\x86\xc1\xed\x5c\x71\xca\x63\x53\x65\x58\xa4\x04\x95\x51\x82\x55\x0f\x0a\xe6\xfe\x0b\x33\x5a\x09\x57\x3d\x28\x98\xef\x2f\xa8\x87\x12\xae\x7a\x50\x80\xe3\x2f\x2f\xa7\x80\xab\x1e\x14\xa2\xf7\x11\x70\xd5\xd3\x0c\xb4\x4b\x58\x69\xad\x49\xfc\x99\xb7\x12\xab\xeb\x6c\xc2\x2d\xc1\xee\x33\x70\x6d\x14\xce\x3c\x0a\x24\x5c\x6a\x2e\xba\x7b\x95\x84\x37\x54\xed\x3e\x73\x25\x00\x78\x7e\xe5\x90\x09\xa5\x2b\xb4\x72\x3d\x8e\xee\x66\xdd\x2a\x47\xa4\x8b\xb7\x53\x8e\x49\x97\x6f\x47\xab\xf0\xf2\x15\x45\x3a\x0a\x83\x62\xa8\xc7\x51\x4d\x29\xca\x70\xe6\x66\x59\xca\x05\x48\x70\x26\x15\x5f\x19\x58\x71\x63\x11\xa3\x12\xeb\xe1\x05\x7c\x5b\xf2\xfc\xc0\x03\xde\x1a\xd0\xfb\x49\xb0\xd6\xcd\x1f\x80\xce\xd9\x54\xe1\xda\xe0\xd3\xaa\x09\xdd\x58\xc2\x75\x0f\x33\xe6\x3e\xa8\xc2\x55\x2e\x81\xdb\xaa\x23\xa9\xd3\xdc\x78\x20\xff\x96\x74\xe3\x51\x22\xb8\xcf\xc6\xd0\x68\x04\x2f\x37\xb7\xa1\xc7\xd0\xa8\xa4\x75\x75\x74\xa8\x47\x50\xc9\xa4\x33\xfe\x96\xac\x4b\xdd\x99\xa8\x5e\xe3\x1e\x18\xcc\xad\x9d\xc5\x50\x3d\x3c\x5c\xe6\x64\xdd\x92\x5d\xb4\x12\xc3\x55\xe6\x12\x35\x30\x7b\x65\x2d\x49\xf7\xf3\x70\x5b\x0d\x51\x9b\x59\x63\xd2\x5d\x3d\xc0\x83\x07\x6a\x54\x69\x4f\xba\xb7\x07\xa8\x03\xb5\xba\xd6\x10\x72\xde\x46\x6e\x5d\xcc\xe1\x55\x5a\x74\x87\x23\xd7\x95\xbe\x97\xcd\x7a\x2e\x0e\xde\x1a\x87\x60\x1c\xaa\x1d\xa4\x98\x4b\xd4\x94\x1a\x14\x71\x34\x6f\xbd\x9a\xde\xcd\xc8\x48\x9a\xb7\x9e\xeb\xe8\xec\x11\x91\x54\x6f\x3d\x98\x62\xa9\x0c\x12\x91\x34\x77\xbd\x1c\x8f\xf4\x56\x2b\xd5\x8d\x5a\x43\x8f\x50\x54\x48\xf2\x31\x8a\x6a\x89\x93\xcb\xa4\xa8\x9c\x1c\x3a\x7a\x8c\xa2\x8a\xc2\x99\xb7\x50\xfd\x20\x9b\xa2\x73\xe5\x42\x17\xe1\x48\xed\x75\xb8\x12\x63\x9b\x48\xf3\xaf\x64\xf6\x63\xc1\x6a\x0e\x72\xb7\xc0\xd4\x02\x49\xee\x73\x98\x5a\x14\x39\x18\x73\x98\x5a\x08\xe9\xcf\xb9\xf0\x93\x58\xb4\x7f\x90\x8d\x06\x55\x25\x5b\x12\xa2\x12\xd2\xac\x89\x59\x34\x83\x69\xee\x39\x87\x42\x25\x66\x30\x95\x10\x68\x24\xd0\x5f\x32\x98\xe6\x9a\x23\x14\xe2\x05\x9e\x06\xab\x45\x61\x97\x4c\x6e\x0b\x0b\x8b\x55\xd8\x39\xc1\x8a\x09\x30\xcd\x9f\x92\xce\xd1\x0f\x9b\xa2\x3b\x56\x23\xa8\x03\xaa\xeb\xc8\xa6\xa7\x46\x51\xc7\xd4\xa3\xa6\x64\xb4\x12\x43\x1d\x55\xb3\x4e\x40\x8d\xa1\x8e\xab\xcd\xa6\x64\x3a\xc4\x58\xae\x92\x65\x28\xca\xd9\x38\x10\x5d\x80\x9b\x8f\x21\x7b\x2c\x97\x5b\xc3\x54\x52\x59\x14\x69\xe4\x01\xd1\x74\x75\x5a\x59\x14\x69\x1b\x3b\xe0\xee\x67\x2a\xb1\x2c\x8a\xe8\xb1\xea\xcc\x36\xac\xd2\xaa\x77\xc0\x30\x00\x80\x4d\x05\xec\x79\x3c\x4a\xae\x53\x83\xf6\xec\x34\x74\x5a\xd2\x65\x12\x44\xb7\xf9\x85\x15\xe6\x31\x27\x23\xe5\x9c\x13\x0f\x6a\xd2\xb2\x90\xc5\x61\xfe\x89\x99\x77\xea\x11\x58\x02\x84\xa2\xbf\x08\xa6\x91\xae\x18\xb2\xce\x4c\x28\x11\x8b\x20\x22\x93\x04\xfb\x0b\x75\x72\xcc\x55\x58\x00\xa7\xe4\x21\x89\xd3\xc2\x2e\xa3\x1a\xd8\x35\x25\xb8\xb0\xd1\x28\x07\x2f\xec\x35\x62\x4a\x87\x84\x17\xb7\x1b\x81\x1d\x4a\xc2\x8b\x3b\x8e\xc0\xfe\xb0\x88\x27\x13\x3f\x0d\xa2\x7c\xee\x2c\x75\xe4\xdf\xf9\xbf\x88\x0b\x3e\x6e\x35\xa9\x36\x28\x11\xdc\x67\x63\xe8\xde\x67\x07\xc2\x44\xa8\xc4\xd0\xdd\xd0\xa4\xea\xa8\xc4\xd0\x8b\xe1\x72\xfb\x7b\xe4\xdf\x3d\xa8\x8d\x98\x29\xc4\x34\xb4\xe0\xd7\x0f\x90\x38\x9c\x86\xfe\x44\x96\xa9\x2e\xcc\x19\xd0\xa3\x82\x0b\xf8\x34\xf1\x6f\x44\xb7\x01\x9b\x7e\x6a\x7c\x5f\x91\x84\xca\x59\x80\xf0\x46\x6f\xd5\x54\xb0\x9c\x04\x08\x2d\xba\x79\xa8\x82\xd5\x39\x40\xd6\xcf\x4b\x70\xc1\xbd\x18\xe6\x5a\x45\xc7\xf3\x16\x5f\xff\x2b\x71\x3a\xd7\x41\x9a\x4a\x45\x33\xcd\x40\x1a\xd3\xeb\x75\x15\xa4\x29\x7b\x8e\x0a\xc9\xac\x0d\x50\xf4\xa3\x1c\xcc\xdd\x06\x54\x69\x69\x35\x72\x40\x6d\x9b\x57\x33\x07\xd4\x76\x7a\x1d\x08\x60\xd6\x49\x33\x4f\x44\xd6\xf5\x35\x24\x4c\x63\x4b\xdd\x15\x2d\x53\xef\x99\x81\x31\x60\xe7\x83\x56\xaf\x75\xca\x35\xb9\xd8\xc2\x8c\x9f\x7a\x7f\x4c\x89\x61\x7d\x1c\x1d\xb2\x96\x7e\x88\x4b\x67\x39\x4c\xd3\x74\x44\x14\x65\x22\xc0\xac\x5e\xb0\xf5\xac\xa6\x82\x5d\x55\x46\x80\x78\xe8\xd8\x24\xbc\x56\x3e\x91\x90\xf0\xba\x3a\x25\x67\x9a\xb2\x06\x17\x8b\x62\xc2\x2d\xf5\x50\x40\x73\x9d\xa6\x7b\xd0\xd4\x66\x82\x5a\x14\x69\xff\x3e\xd0\x66\x93\x5a\x1c\xd9\x16\x1a\x9b\xf1\xc8\x06\xa1\xcf\x2a\xb5\x38\x0d\x65\x20\x57\x66\x96\x34\x4e\xae\x0f\x07\x6b\x2e\x5b\xca\x6a\x1c\xe4\xa3\xe8\xf2\xe0\x88\xa5\x03\x2d\x8e\x2e\x16\x50\x37\x85\xac\x74\xe9\x68\xa8\x12\x20\xe3\xe4\x85\x04\x26\x6b\x4b\x7f\xe9\x3f\xf8\xf7\xf3\x60\xa9\xcd\x70\x61\xd8\x01\x38\xf6\x27\xf3\xe5\x6a\x36\x53\xc1\x6c\x49\xa2\xa9\x82\xdd\x67\xe0\x7a\x87\x2b\xd7\x41\x24\x5c\xef\x6e\x9b\x62\xae\x27\xe1\xba\xf3\xef\x91\x98\xec\x2d\x71\xb2\xca\xf7\x19\xb0\xa0\x93\x9f\x9e\x32\xdb\x86\x80\xe8\x3b\xa0\x5c\x61\x64\x2a\x4e\x4a\x8f\xc4\x42\x49\x71\x3e\xda\x14\x6b\x4e\x85\xa9\x28\x50\x07\x90\x70\x25\x86\x62\xa8\xb7\x16\xb8\x54\xbb\x1c\xa2\x13\x71\x20\xc5\x35\x5c\x2d\xf4\xed\x57\x52\xd9\xa0\x20\xdd\x17\x59\x6a\x89\x14\xa4\xfb\x21\xd7\xa4\x4c\xc6\xf7\x53\x6d\x27\x1e\x9b\x23\x36\xc4\x20\xa3\x29\x6c\x94\x44\x30\xed\x37\x32\x90\x6c\xfc\xdc\x9b\x9d\xd3\xa9\xa9\x68\x94\x1d\x8d\x8c\x50\x4d\x37\xab\x71\x4f\x76\x4e\xa9\xaa\x94\x81\x16\x2b\xcd\x29\x7a\x4f\xce\x3b\xf9\x5c\x2b\xc9\x42\x73\x13\x06\x1e\x9a\x9b\x2a\xf0\xd0\xdc\x24\x01\x42\xe3\xf4\x41\xdd\x1a\xcc\x77\xf1\x08\x83\xab\x04\x17\x5c\xc7\x99\x95\x43\xc2\x0b\xbe\xe3\x6c\x9a\x25\xe1\x05\xe7\x71\xb6\x83\x47\xc2\x0b\xde\xe3\x6c\x15\x3d\x89\x1f\x7c\x65\x82\xdb\x92\xdd\x7e\x4d\x83\xba\x99\x32\xc9\x76\xb7\x36\x35\x30\x27\xae\x75\xc0\x8d\xff\xac\x7a\x24\x58\xf8\x6c\x1c\xf2\xa9\x80\x9e\xb3\xf0\x63\x39\x62\x63\x23\xab\xa3\xd4\x9f\x4e\x43\xac\x32\x4e\xdb\x7e\xaa\x1b\x5e\xa4\x55\x10\x86\xc0\x12\x9b\x4b\xc3\x11\xe5\x2d\x31\xb7\xd0\xfe\x10\x26\x51\x25\x86\x16\xda\x9f\x1e\x66\x48\xb5\xbe\xad\x85\x8c\xe6\x01\x80\xa2\xa9\x5a\xc5\x35\x2a\xa0\x60\xfe\x80\x99\xa0\xae\xfc\x37\x5a\x62\xe8\x39\x50\x60\x6e\x36\x2e\xf1\x61\xef\x48\x81\x72\x6a\x0f\xe4\xfe\x3e\x58\x0b\xcf\x6d\xdd\x6a\x1d\xc8\x21\x4f\x85\x36\x36\x64\x9b\xce\x71\xa8\xee\xdf\xe5\xda\xe0\xa1\x02\x75\xb7\x83\x75\x33\xe4\x91\x30\x89\x08\xb0\x6e\x80\x3c\x10\x76\x6b\x01\x2e\xac\x15\x30\x23\x66\x1a\xe0\x28\xf2\x95\x4e\x82\x4e\x0c\xc1\xc2\xcf\x20\x85\x81\x0c\xc6\x31\x06\x2b\x0c\x60\x60\x01\x63\xb0\xc2\xc0\xc5\x6a\x0e\x60\xf9\x01\x8b\x95\x72\x83\x45\x0c\x34\xe2\x9c\x31\x4c\xb1\x97\x29\x50\xd1\x65\x41\xbf\x03\xe3\x82\x8a\x58\xee\x05\x3f\xe4\x4e\x00\xac\x51\xe8\xd6\x2f\x30\x66\xba\xb2\x87\xcd\xcf\x11\x69\x96\x47\xb2\x6b\x96\x50\x49\x16\x1d\x0b\x5c\xb9\x15\x4b\xc2\x25\x61\xe0\x66\x23\x8d\xf5\x12\x5e\x57\x34\xf1\xc3\xa3\x02\x7a\x41\x1b\x65\xb0\xa3\x91\xa6\xda\xdb\x6a\xa2\x49\x82\x82\x56\xd8\xdf\x77\x74\xa8\xd9\x0f\x0b\x7b\xfb\x0e\x9b\x9a\xf1\xb0\xb0\xaf\x0f\xa6\xea\x99\xd1\x20\xbf\xa7\x8f\xb1\x35\xb3\x89\x15\x4c\x7d\x39\xf2\xa2\x9c\xad\x4c\x2e\x4f\x51\x48\x71\x91\x46\x82\x0a\x8b\x33\x4c\x95\xa6\xa0\xc2\xa2\x0c\x53\xa4\x29\xa8\xb8\x18\x03\x5a\x54\xf9\xec\xbe\x29\x7c\x7b\x14\xb0\xfb\x0c\x3c\xe7\x46\xc9\xb6\xf9\x29\xf0\x9c\x3b\x25\xf3\xb5\x52\xe0\x39\xb7\x4a\xf0\x7f\xcb\x59\x42\x0f\xa4\x73\x11\x0c\x43\x79\x1b\xe8\xd1\x11\xf7\xff\xe0\xf5\x9b\xb3\x7e\xb2\xb3\x5f\xb2\x36\x91\xb3\x7b\xc2\x3c\xb8\x21\x87\xf2\xbc\xc5\x13\x56\x91\x1c\x29\x7b\x44\xae\xff\xf0\x75\x67\xb1\xd0\x49\xfc\xa8\x30\x3f\x3c\xe0\x29\x0a\xb3\x43\xd0\x13\x89\x1f\x15\xe6\x86\x2d\x0e\xc8\xcf\x0c\x61\xf8\x26\xf3\x20\x25\xa1\x3c\x9d\xa1\x25\x36\x3f\xc2\x89\x30\x1c\xa8\x9b\x09\xe4\x7c\x81\x43\x75\x2b\x87\x1c\x3b\x39\x54\xb7\x71\x48\x43\x30\x87\xea\xa6\x01\x29\xed\x24\x5e\xf8\x24\x56\x72\x3d\x3a\xe2\x1d\x25\x83\xb8\x9b\x41\xda\x92\x78\x8d\x77\xa1\x0c\xa4\x92\x42\x2b\x08\x7a\x50\x06\xd2\x16\xc3\x1b\xbc\x07\xcd\x4d\xa9\x5a\xd2\x73\xc4\xd1\xa0\x8a\x2c\x67\xc7\x7d\xe4\xe7\x51\x8e\x76\xd8\x47\x7e\x06\xe5\x68\x47\x7d\xe4\xe7\x4e\x8e\x76\xd2\x87\xba\x33\x37\x1b\xfe\x19\xde\xfc\x8c\x8a\x76\x22\x30\x87\x85\x4e\xa2\x74\x32\x05\x06\x7a\xe8\x0e\x4a\xe7\x51\xe0\x31\xd6\xd0\xc0\xda\x6c\x5f\x3a\x09\x96\xce\x9e\x28\xd5\xe0\xe9\x79\x3f\xc7\xbe\xa0\xb9\x91\x19\x9b\x8e\x04\x48\x5f\x36\x74\x85\x67\x15\xc0\x74\xf9\x02\xef\xaf\x86\x80\xe9\xd2\xd5\x12\x45\x01\x98\x2e\x5b\x2d\xd1\x4b\x14\x77\x7f\xca\x4a\x03\x50\xba\x88\x3f\x16\x8f\x1e\x82\x11\xbc\x7c\x4d\xc2\x91\x90\xc2\x62\x44\x06\x2a\xac\x42\x64\xa0\xc2\xf2\x43\x06\x2a\xac\x3b\x64\x20\xcd\x18\xa1\x1a\xa4\xd6\x28\xa8\xce\xd8\xcd\x0b\x33\x71\xe5\x67\xb4\x5a\x94\x9d\x49\x1b\xe1\x7b\x83\x9f\x05\xcd\x0e\x4b\x9e\x89\x03\x63\xbf\xf1\x93\xb4\xfc\x16\x12\xe5\x4c\xd9\x3f\xb0\xe0\x9c\xfe\x17\xf6\x07\xcb\xba\xfa\xd9\x07\xfb\xba\x62\x7f\xb0\xf7\x6f\x03\xf5\x38\xf0\x04\xc5\x70\x98\x6f\x76\xd5\xc4\x55\x7c\xcd\xee\x02\x31\xf9\xed\xd7\xc6\x9d\x9f\x04\xfe\x4d\x88\xdb\x86\x59\x89\xf9\xd5\xca\x84\xdf\x69\x93\xb0\x63\x73\x35\xc2\xaa\x02\x7f\x6a\xa7\xde\x46\xd8\x55\x72\x6d\xf1\xeb\x6e\x0c\x8a\x28\x97\x29\x4e\x27\xfe\x12\x1b\x22\x3a\xcd\x3b\x91\x77\xc6\xae\x8b\xdc\xc8\x10\x7b\x8f\x38\xe2\x17\x19\xb7\xe5\x13\x92\x4f\xf2\x72\xe3\x76\x31\x08\xb1\x5c\x5f\x8f\xdf\x9c\xb5\x8b\xa7\x50\x3f\x9a\xc7\x66\xdb\xdc\x0d\x49\xc7\x44\xe6\x4b\xfa\x78\x0b\x8f\xbb\xf4\xd1\x5f\x2c\x3b\x26\xfa\xd2\xfc\xb2\x6d\xee\xfe\x72\x15\x03\xe0\x4b\x0a\xf8\xa2\x7e\xd4\x31\xe5\x75\xb7\x4a\xf5\x5c\x1d\xbf\xdc\xfd\x60\x7e\xf8\xf2\x7a\xff\xb6\xe4\x1a\x65\x83\x5c\xe1\xeb\xb5\xbd\x66\x05\xbd\xc5\xa4\x3b\x99\xe0\x25\x39\xf3\xa3\xdb\x95\x7f\x9b\xbb\x7d\xb2\x3c\x4a\x75\x32\x4f\xe2\x05\x1e\xad\x96\xcb\x38\x21\x78\x6a\xd9\x27\x2c\xa4\x1a\xb8\x87\x51\x49\x02\x0b\xdb\xed\xf2\x0b\x3d\xb1\x75\x15\xf9\x77\xc1\xad\x4f\xe2\xa4\x1a\xf2\xf8\x59\x51\xf6\xf6\x6f\x91\xf9\x9d\x69\x5f\xdb\x6b\xb8\xe4\xe5\xf3\xe8\x29\xb9\x60\x9f\xdf\xf0\xc8\x22\xee\xee\x2a\xe4\x32\xa4\x70\xc2\xf5\x4f\x56\x38\x79\xd0\xca\xaf\x9f\x51\x7d\x62\xda\xfc\x04\x7c\x79\x1b\x83\x9d\xdd\x64\x44\x9b\x1e\x5c\x9c\xc0\xae\x23\xda\x35\x6d\x14\x78\x4e\x27\x38\x16\x77\xec\x74\x02\x71\x85\x53\xec\x25\x57\xc1\xb5\x88\xe9\x99\x76\x87\x5c\x95\x5c\x92\x1d\x5f\x39\xd7\xf6\xb5\x57\x0a\x71\xaf\xe5\x11\xdc\x44\xf2\xe5\xdd\xe5\x59\x59\x73\xcf\xa0\x9b\x6b\x8e\x5f\x52\xc4\xe3\xd1\x0a\xc3\x2a\xda\x1f\xcd\x62\x8e\x37\xff\xce\xd1\xf2\xce\x2a\xf4\x17\xcb\xc2\xb9\xe6\x42\xb0\x8f\xc9\x09\x69\xe3\x97\xc9\x49\x22\x48\xfa\xd5\xd2\x2f\xbf\xf9\x26\xeb\xd4\xe4\x0d\x3f\x16\x41\xa6\x63\x66\xa2\xf3\x1e\xba\xfa\xa5\x3f\xc1\x85\xf3\xc8\x8f\x3d\x87\x9f\x10\x6e\x9a\x9d\xec\xde\x65\x3d\x15\xd4\x37\xa9\xde\xcb\x80\xa7\x27\xed\xd5\x33\x0d\xf9\xcf\xb4\x3b\xf8\xa5\x0a\x14\x82\x60\xab\x81\x15\x4f\x7d\x93\x87\xfe\xab\xc9\xe4\x5d\x1c\xa2\xb7\x86\xfb\x97\xca\xaf\xf1\x7d\x7a\x6a\xe2\x3a\x5c\x75\x00\xe5\x1d\x11\x7f\xf2\xd1\x72\xe5\x51\xf3\xb9\xcb\xb8\xc8\x86\x8b\x76\xd9\x1d\x6b\x26\xbb\xba\xde\xf4\xe4\x6d\x4e\x27\x41\x1b\xc3\x79\xe7\x9d\xc0\x0b\x4e\x4c\xda\x7b\x06\x6d\xd3\x44\xda\x2d\x5a\x66\x18\xdc\x08\x22\xdb\x06\x61\xd8\x0d\xfc\x69\x19\x50\x0d\x85\x76\xb8\xfb\x2e\xae\x57\xcc\xd4\xac\x04\x36\x52\xaf\x33\x8f\x6d\x44\x3c\x76\xf4\x78\x42\x9b\x4f\x89\x30\x17\x05\x8f\xec\xee\x5a\xfa\x35\xc3\x02\x8b\x8d\x30\xbf\x01\x8d\xbe\x21\x79\x6f\x9a\xbd\x16\xfd\x66\x69\x09\x03\x3a\x2a\x5a\x99\xcc\x00\x0f\x8b\xb7\x07\xd0\xd6\x7e\x82\x2b\xb5\x76\x6d\xfb\x0d\x72\xa4\xec\xf6\x38\x79\xdd\x5b\x40\xfb\x8d\xd8\x4b\x3a\xf1\x31\x51\xef\x7a\x0b\xae\xe2\xbd\xe4\x1a\xc6\xc3\x4d\xd7\xca\xc9\x5b\x57\x18\xa5\xe9\xc2\x4f\xc8\x30\x8c\xe3\xa4\x1f\xdc\x05\xd3\xf2\x6b\x9e\xf1\x3e\x41\x01\x3b\xdb\x7f\x82\x83\xd0\x4a\x32\x2c\x7b\xc9\xb1\x8b\xf7\x1a\x27\x41\x1b\xc0\x33\x8a\x89\x5f\x3f\x30\xab\x26\x7e\x34\x8d\x17\xa7\xd1\x86\x3b\xca\x94\x14\xec\xde\x00\x88\x6e\xd9\x2f\x2c\xb2\x87\x2b\xae\x6d\x57\xa0\xed\xf2\x2b\x7a\xdf\xf8\x91\x7f\xab\x5e\x18\x2e\x6e\x1f\x16\x23\x40\xfa\x1d\x1c\xe5\x5f\x7e\x5f\x4c\x71\x78\x58\xb3\x5b\x71\x72\x28\xe4\xd5\x38\x26\x8e\x68\xcf\x9d\x07\xaf\x22\x76\x0d\x00\x80\xb5\xbb\xab\x53\xef\x71\x5d\x24\x57\xb9\x7d\xcb\x9f\x4e\xdf\x88\xa8\xda\xd5\x1e\xea\xb5\x76\xd9\xe5\x81\x57\xe4\xba\x93\x54\x81\xe8\x79\x1c\x4e\x71\x92\x9e\x68\xd9\x5d\x91\x6b\x4f\xde\x63\xad\x9c\xdd\xff\xfb\x4c\xd1\xba\xfa\xd9\x87\xf4\xc3\xef\x53\x2d\xeb\xf7\x35\x2d\x4b\xb9\x70\xc5\xa0\x79\x68\x39\x5c\x05\xfa\x2d\x02\xd7\xd5\x09\xbb\xcb\x7b\x6d\xb7\x37\x67\xbe\xbd\xd8\xb3\x20\x9a\x76\xa3\xe9\x59\xec\x97\x15\x9f\x8a\x83\xbc\xdb\x24\x81\xe1\xf3\x84\xf6\x43\xfc\xb2\x85\x76\x9a\x3d\xa3\x40\x5c\x8e\x13\x59\x76\x9b\x58\x31\x4a\xd9\x1d\x4c\x41\xa1\x12\x27\x71\x34\xf1\x69\x92\xd8\xbb\xba\x46\x29\xfd\x8a\x0a\x17\x40\x87\x0a\x45\x16\xbf\xa9\x19\x98\x71\x29\x6f\xd5\xb6\x30\x0a\x6c\x94\x54\x6f\x82\x88\x5d\xe2\x8d\x76\x9c\xdc\xbb\x6b\xdb\xeb\xec\xdd\xee\x44\xac\x0f\xd8\xc8\x8e\x70\x13\x1f\xe8\xf0\xc5\x4a\x43\xbb\x83\x9f\xbe\x39\x7b\x4d\xc8\xf2\x12\xff\x72\x85\x53\xd2\x09\xaa\x71\x44\x53\xe2\x48\x1b\x45\x6b\x8e\xe3\x51\x06\x11\x9f\xac\xd2\x13\x56\x08\x45\xcc\xac\xff\x97\xbd\x77\xdb\x8e\x5b\x47\x12\x05\x1f\xe6\x61\xde\xe6\x71\x5e\xea\x61\x28\x76\x57\x8a\x2c\x21\xd3\x24\xf3\xc6\xa4\x4c\xab\x65\x59\xda\xdb\x6d\xd9\x56\x49\xb2\x5d\x5d\xa9\xdc\x3a\x54\x26\x52\x62\x9b\x49\x66\x91\x48\x4b\x2a\x4b\xd5\x6b\xcd\x5f\x9c\xb5\xe6\x0b\xce\x3f\xcc\x9a\x7f\x39\x3f\x30\xbf\x30\x2b\x02\x00\x09\x5e\x52\x17\xef\xbd\x7b\xce\xc3\x71\xd5\x4e\x81\x40\x20\x10\x08\x00\x81\x08\x5c\x02\xff\x7a\xf2\xf1\x03\x57\x53\x8c\xb0\x93\xd2\x6c\x99\xc4\x19\x3d\xa5\x37\xcc\x34\x09\x33\x4c\xd3\x4b\x5b\xad\xd4\x90\x08\x4a\x15\x21\x21\x7f\x9e\x5e\xff\x69\xff\x54\x27\x14\xbe\x33\x1a\xcf\x1a\x6b\x57\xe3\xdb\xa3\xd6\xc0\xd9\x3f\x1b\x67\xb3\x2d\xb3\xa4\x6c\x2a\xf3\x37\x1b\xa7\x6d\x7b\x72\xff\x30\x27\xeb\xa5\x3e\x4e\xd8\x43\xf8\x2e\x29\x6b\x6e\x10\xf9\xdc\x8f\x56\x1a\x02\xa6\xe8\x76\xf9\x90\xa0\x93\xdc\x7e\x28\xa9\x35\xa8\x31\xb6\x5a\x46\xe8\x57\x14\x5e\xf9\xf6\x38\x35\x4d\xb2\x11\x9a\x95\xb7\x44\xf8\xac\x28\x2d\x10\x51\x8a\x78\x4b\x24\x37\x90\xd2\x1d\xea\xa5\xea\xdb\x54\xb5\x67\x79\x40\xd5\xf0\xc7\xf8\xea\x63\x73\x17\x0f\x09\x33\x4d\x2f\x7c\x90\xd5\xcb\x34\x99\xd2\x2c\x7b\x6b\xbb\xf1\x2e\xe3\xef\x29\xaf\x13\x62\x3e\xed\xfc\x0d\x54\xe2\x13\x1a\xd1\x29\x4b\xd2\xdd\x28\x32\xf4\x31\x54\x79\xa2\x9b\x84\xbf\x0d\xc4\xd4\xb7\x81\x90\xac\xa6\x02\x0c\x36\x4e\x27\x0f\x77\x81\xa6\x6c\x8d\x2f\xf6\x80\xfe\x9f\xe3\xd5\x81\x1a\x5d\x3c\xef\xf2\x1d\xa7\x61\x5f\x19\x29\xcc\x14\xd3\x70\x6a\x8a\xf9\xb9\xfa\xbc\x4b\x10\x6f\x32\x0d\x81\xa1\x39\x3a\x2c\xb8\xfc\x10\x2c\xe8\x96\xfe\x4f\xf0\x15\xce\xb6\x50\xc5\x61\x26\x49\xf3\x09\x1b\x2d\x53\x26\x07\x78\x4a\x12\x1f\x2a\xb7\x9d\x94\x4c\x05\x1f\x4d\x05\x4c\xf2\x93\xc2\x5c\x98\x98\xa4\x0c\xf7\xcf\x02\xee\x69\xf3\x5c\x87\x25\x9f\x96\x4b\x29\xd1\xef\x8d\x0a\x33\x94\x82\xcc\x2d\xfd\x5c\xdf\x4a\xc5\xbb\x5b\x59\xae\xc8\x1a\x89\xb9\xad\x9f\xeb\xbe\x1f\xee\xd0\x0e\xa3\x37\x6c\x8f\x4f\x0a\x7e\xe6\x51\x7c\xbf\x28\x47\x16\x82\x48\xc6\xe9\xe0\x28\x95\x3d\xac\x3e\x6f\x83\x48\x40\xdc\x19\x4b\xd2\xe0\x92\xfa\x94\xa8\x9f\x1f\x2f\xf0\x95\xf8\xf4\x9c\x13\x90\xc4\x27\x3c\x7e\xef\x2a\x88\x2f\xe9\xb9\x2a\xa3\x10\x20\xcc\x76\xa7\x2c\xfc\x46\xcf\xfd\x0d\x9b\xc7\x04\xf0\x1d\xb0\xe2\x55\xff\x14\x94\xec\x0d\x7b\x3b\x57\x77\xf5\x17\xfa\x76\xda\xa1\xf1\x4c\xb0\xf4\x85\x6e\xde\xdd\x19\xe9\x96\x0f\x21\x22\xba\x24\x9d\x87\x37\x7e\x5a\x7c\x1d\xd3\x69\x92\xce\xf8\x63\xc1\x9c\x37\xf8\x1e\xaf\xa4\x97\xbf\x18\x8c\x09\xd3\xab\x30\x9a\x1d\x04\xd0\xff\xe5\xeb\xc2\x45\xfc\x61\x98\x31\x8c\x6b\xe4\x93\xd2\xbb\xdf\xec\x1f\xec\x7e\x3a\x3c\x3d\xff\xbc\x7b\xf8\x69\xdf\x2f\xaf\xd0\x18\xba\x48\x05\x8b\xb1\x01\x0b\xa7\xb5\x89\xe9\xa0\x88\x4b\x8e\xcf\xe8\x3c\x58\x45\xec\x73\x10\xad\xa8\xcf\x04\x8d\xab\x34\xa5\xb1\x8c\x83\x98\x12\x1d\x1c\x28\x91\x75\xf6\xc7\x93\xe6\x6a\x70\x02\x1e\xa8\xcd\x93\x6b\xfe\x34\xf4\xc1\x6c\x26\x1b\xa2\xae\x22\xe6\xe4\xf2\xa7\x9b\xb8\x45\xf4\x04\xa4\x29\x5d\x24\xdf\x68\x23\x5e\xc5\xd6\x2b\xb0\xe7\xef\x2a\x9a\xdb\xec\x95\x6f\x09\xf5\xb1\x48\x17\x0f\x07\x32\x62\x3f\x95\x82\xd2\xa4\x54\xcc\x8f\xb5\x86\xf2\x1b\x9a\x6a\xe7\xc5\x2f\x06\x37\x55\xee\xe2\xd5\xe2\x82\xa6\xe6\x3f\xbf\xe0\xaf\xa0\x09\xbb\xa5\xd6\x07\xcc\x9d\x5a\x94\xa7\xf3\x37\xb5\x0b\x6b\xa7\x06\xb2\xa3\x08\x4f\x0c\xf2\x42\xc3\xf9\xad\x51\x2f\x41\x28\x92\xa5\x22\x6a\xd5\x79\x6c\x64\xcc\xa8\x1c\xe2\x95\xa7\x89\x37\xca\x12\xa1\xfe\x8e\xf0\x87\x84\x69\x32\xef\x4c\x37\xb7\xd7\x48\x10\x21\x8a\x2a\x1d\xc0\x68\x14\x53\x6b\x9a\x52\xe9\x9a\xcd\xb4\x3e\x46\xea\xae\x78\xc4\xfc\x21\x72\xad\x32\xb9\xca\x20\xf8\x41\x5a\xa1\x48\x21\x6f\xd7\xbd\x3f\x68\x7e\xb7\x7c\xbf\xdd\x4e\x5b\x2d\xda\x6a\xc1\x94\x22\x1e\xfd\x23\xa1\xff\x11\xbb\x4a\xe7\x2b\xbd\x15\x1a\xb5\x2a\x36\xcd\x75\xc6\x99\x22\x6e\xb7\xa8\xaa\x83\x8a\xfa\xa2\xf8\x6e\xb5\x54\x9b\x5f\x2f\xea\x90\x69\x40\x33\xce\xb8\x05\x1e\xb3\xcc\x97\x4b\xca\xde\x32\xba\x00\x65\x27\x2f\x3f\x94\xcb\x6a\x4a\x36\xa9\x97\xe4\x2f\x39\xe2\x82\xb2\x29\x5e\x40\x0f\xc7\xd9\x84\x04\x7e\x26\x67\xcc\xc4\x24\x91\x1f\xe4\x8a\xa1\x22\xdc\x5b\xad\xca\x38\x88\xcd\x0d\xbf\x69\x68\xa8\xfc\x19\x07\x93\xd2\x20\x10\xb5\x7f\x08\xc4\x8f\x49\xd4\x6a\x19\xe9\xd6\x96\xa8\xef\x6d\x3c\xdd\x93\x64\x18\x01\x68\x76\xf7\x96\xef\xf3\xa6\x52\x16\x6d\x68\x49\xd5\x7f\xb4\x53\xcc\xe8\x3c\x8c\x69\x01\xd1\xa8\x26\x2b\x8c\xcc\xc9\xa5\x93\xed\x64\x47\x30\x07\x26\xef\x37\x7c\xd4\xe3\x6c\xe4\x35\x67\x40\xeb\x67\xbd\x68\xc4\xac\x24\x6d\xb5\x92\x52\x67\x4f\x9f\x5d\x87\x75\xea\xab\xb5\xcd\x8a\xb7\x2b\x99\xd4\x4f\xab\xb9\x0d\x30\x9d\xc7\xd6\x84\xe0\x5f\x5b\xfc\x75\x26\x4f\x24\x03\xdb\x28\xa5\x71\xd3\xfc\x5c\x2f\x8a\x48\xb5\x22\x89\xf3\xc6\xad\x29\x43\x04\xac\x88\x26\xe5\x03\x78\xca\x6a\xea\x07\xc4\x3e\xae\x81\x28\x2c\xae\xda\x74\x60\x13\xb5\x5a\x4f\x7b\xbc\xfd\xad\x78\xb1\x7d\x19\xa4\xc1\xc2\xd3\xb8\xda\x94\x71\x0d\x9c\x8a\x49\xb2\xaa\x4b\xc9\x99\x9a\x30\xb3\xaa\x44\xe3\x6b\xfc\x69\x3e\xee\x4a\x32\xa6\x5e\xb8\xb4\xa0\x96\x79\x3d\x71\x35\xb1\x69\x74\xa5\x93\xb2\x04\x45\xfb\xe3\x31\x1e\xc5\x09\x0b\xe7\xb7\xbb\x51\xa4\x8a\x77\x49\x32\x6d\xa6\x92\x2b\x62\x98\x51\x34\xe4\x5a\x9d\xa4\x5a\x90\x80\x5f\xa7\x8b\x54\x87\x1f\xce\x89\x4f\x65\x0a\x2d\x76\x26\x52\x9f\xa1\xea\x2f\xf7\x23\x9a\xdb\x48\xd9\xa3\x68\x04\x18\x87\x13\xb4\xeb\x11\xad\x40\xa4\xa8\x43\x6a\xf6\x22\x1a\x32\xa5\x84\x6b\xa8\x8f\x32\x85\x6b\xc4\x38\x2c\x9a\xa5\x12\x51\xec\x18\x8a\x3d\x2e\xc5\x1e\x94\xf8\x29\x69\xdb\x1b\x7e\xa1\xb4\x25\x0d\x9d\xe7\xcd\x0a\x34\xb6\x80\x51\x0d\xc7\x0e\x32\x89\x9b\x77\x89\x89\x6f\x88\x6a\x50\xb3\xed\x8d\xe4\xee\xae\x8a\x6c\xdb\xe4\xeb\xe9\xf9\x22\xa8\x61\x93\x41\xbf\xdf\xed\x57\x1e\xd5\xe5\x50\xf8\x4a\x6f\x42\x7a\x26\x61\xdc\x06\xdc\xd2\x3d\x28\x64\x9b\x4f\x3d\x6b\x06\x36\x1f\xf9\xc5\xbb\xc8\xb1\x30\x75\x8a\x69\x93\xc4\x9d\x94\xe2\x1b\xb3\x91\x61\x36\x49\x81\x71\x32\xf1\x63\x22\x14\xe3\x44\xce\x9b\xc0\x2c\x92\x99\x24\x7e\x5c\x5f\x00\x05\xa9\xce\x7f\x21\xcc\x2e\x29\xc3\x34\x8c\x52\x28\x91\x96\x58\xd1\x32\x24\xf4\xd3\x9c\x7b\xcc\xdc\x06\x76\x86\x30\xb7\x49\xa5\x39\x24\x76\x89\xba\xd4\x34\xc9\x8c\x46\x94\xd1\xda\xf4\x0b\xd5\x62\x6b\xec\x92\x92\x6a\xdd\xdc\x6f\x50\xbe\xd0\xa6\x79\xfd\x01\xf1\x82\x50\x5a\x14\x66\x4c\x8c\x24\x65\x65\xb2\x4c\x1a\x8e\x49\x5c\xa9\xd1\x42\xb3\xbc\xdf\x9d\xd6\xf0\x6f\x4a\xfc\xfa\xe6\x16\xdd\xda\xd4\x65\x3f\xdc\xdc\x2a\x1e\x50\x4f\xf3\x77\x75\xd7\xd6\x7a\x16\xce\xe7\xf9\xdc\x51\x5b\x7f\xcd\xc7\xfc\xf7\x60\x36\xa3\x33\xef\xfb\x3d\xe1\xed\x8a\xc1\x69\xb2\x58\x24\xb1\x87\xb3\x05\x0e\x61\xaa\x0e\x5c\x68\x27\x56\x18\x3e\xe3\x70\x62\xee\xa4\x1d\x9e\x67\x0c\x9f\x13\x7f\xc3\xf2\xd2\x0e\x62\xce\x23\x4a\x02\x41\x15\x03\xe3\x70\x12\xc6\x9a\x00\xbf\xbb\xcb\xbf\x39\x42\xb0\xd1\x45\x97\x9b\x8d\x99\xc0\xa5\xf0\xe1\x91\x16\x2f\xa9\x47\x6b\x99\x60\x91\xa4\xd4\x31\xb3\xba\x5a\x5b\x6e\x50\x93\xc4\xbe\xf1\x38\xd7\x71\xc1\x9a\x58\xe6\x76\xfc\x32\x91\x75\x8e\xe5\xee\x6e\xe0\x27\xe3\x78\x42\x22\x45\x84\x04\x28\xad\x22\xb4\x23\x73\xd3\x31\x82\x51\xb0\xd1\xd4\xe1\x83\x09\xc7\x74\xf5\xb0\xb0\xe0\x58\x37\xae\xcc\xef\xd5\x85\xc6\xe0\x22\xa2\x1a\x4b\xb4\x94\x82\xda\x5c\x97\x78\x81\xb9\x3d\x4d\x62\x16\xc6\x2b\x7a\x7f\x55\x17\x34\xcd\x34\xf9\x57\x04\xb4\xd3\x2b\xd5\xb0\x50\xf7\x0c\xa5\x29\xc1\x5a\x2d\x66\x98\xf7\xe6\x3d\x2e\x99\xf1\x87\xa6\x33\x95\x4b\x0f\x0c\xf5\x6c\x1c\x4f\x26\xdb\x1b\x1c\x8b\xa2\xe5\xb2\x27\x58\x3b\x59\x69\xd1\xf7\x37\x9d\x4a\x1b\x0c\x49\x30\x42\x8c\x92\xb9\x63\x12\x56\xd2\xe8\x37\x9a\x0c\xf9\x56\xcb\x60\x4f\x5b\x97\xa9\xea\x14\x4f\xe3\x40\x45\x79\x41\xc5\xc5\x1f\x4f\xb6\x4b\x3b\x53\x35\x59\xf8\x5d\x91\xe1\x6a\x8b\xb0\x22\x63\x08\x19\x53\x13\x0f\x2e\x14\xc2\x3f\x5f\x15\x4d\x1e\xd0\x8e\x4a\xdc\x4f\x26\x4f\x63\xd2\x63\x19\x9b\xf8\x46\xe5\xd4\x27\x97\x3d\x7f\x1f\x23\xb6\xde\x11\x32\x23\x33\x09\xed\xcc\x93\x74\x3f\x98\x5e\x19\xf5\xf6\x7b\x96\x89\x16\xce\xe7\xcd\xbb\x2e\x52\x2d\xcf\x15\x74\x76\x77\xb7\xf1\xe2\x17\x63\x15\x73\x4b\x63\x76\x77\x91\x24\x11\x0d\x62\xb1\x48\x74\xc7\x4d\xd4\xea\x5a\x11\x35\xef\xee\x90\xf1\x8f\x6a\x64\xaa\xa5\xd7\x7c\xdc\x60\xdd\xe8\xaa\x4f\x7f\x8f\x8c\x2e\xa8\xb5\x91\x96\x16\x93\x08\x33\x51\x6b\x78\x7c\x75\xac\x92\x51\x1a\x49\xb5\x21\xe4\x55\xe1\x1e\x57\x4a\x55\x16\x3c\xb8\xd9\xdb\x60\x1b\x33\xb4\x25\x1f\x2d\x23\xa3\xbf\x23\x73\xc5\x36\x05\xb7\x00\x14\x56\x87\x9c\xbb\x0f\xf0\x7e\xa7\xca\x7a\x56\x5e\x89\xc9\xf8\x4a\x4c\x59\x08\xe2\x0e\x54\x2d\xe3\x1a\x11\xf7\xa8\x44\x35\x89\x3a\x07\x3c\x30\xaa\x08\x85\xe9\xf8\x51\x4e\x5f\xfe\x7e\x53\x44\x7e\x6e\x07\x19\xfd\x18\x21\xf4\x66\x99\xa4\x6c\x37\xfb\xd7\x2c\x89\xeb\xf2\xfa\xfb\x7d\x83\xbc\x2e\x89\xae\x70\x6e\xac\x91\xe4\xd0\xe3\x54\x81\xaf\x68\xe6\xec\xb1\x13\x69\xdb\xfc\x14\x01\xc8\xd0\xef\xe1\xcc\x4b\xc8\xbf\x67\x49\xec\x95\xb5\x7f\x46\x12\xb3\x44\x3e\x9f\xea\xc1\x80\xfa\xae\xec\x35\x95\xd8\xc9\x26\xdb\x59\x45\xea\x37\x0a\x7d\xa4\xbd\x0c\x99\x9f\x72\x7b\x74\x21\x39\x5c\x00\x4d\x07\x69\xb2\x28\x33\xb5\x3e\x52\xd7\x32\xaf\xe0\x19\x50\xf2\xd8\xf1\xbd\x70\x26\x0d\xd2\xf2\x94\x39\x4e\x26\xdb\xd9\xdd\x9d\x21\x13\x0b\xb3\xd6\x60\x04\x0f\x22\x25\xd0\xb1\x2b\x04\x1b\x88\x13\x18\x2e\xac\xd1\xdc\x3e\x7a\xa2\x14\xa9\xaf\x28\xd5\x37\x4f\xca\x8b\x8a\x8f\xaf\x53\x54\x37\xec\x1e\xe1\xea\x86\x32\x7a\xef\xee\x2c\xdf\x67\x9d\x28\xc8\xd8\x5b\x69\x0a\x16\xa9\x30\x58\xa5\x94\x93\x6b\xb0\xf5\xc5\x5b\x33\x3f\x09\x5c\x1f\x01\xdf\x15\xa3\xac\xb2\xf2\x43\x12\x6c\xbf\x4e\x4c\xaf\xb9\x2c\xcb\xfc\xb0\xd4\xa9\xb6\x33\xdf\xf7\xc3\x5a\xf7\xcb\x7c\x6e\xbd\x09\xdb\x14\xa5\x22\x98\xe4\xad\x96\x51\xce\xef\xe7\x56\x5e\x72\x77\x07\x2d\x0a\xa1\x9d\x0a\x42\x2f\x69\x9a\x84\x52\x53\xec\xaa\xa6\x34\x4b\x56\xe9\x94\xfa\xdf\x65\x28\x3b\xe7\x86\x59\x9e\x04\x96\x53\xdd\xa2\x2d\x92\x8b\x8c\xb8\x04\x08\x2d\xe6\x31\x12\x07\x0b\xea\x51\x32\x0b\x58\xe0\xa5\x65\x7c\xd5\x63\x11\xaa\x7d\xdc\x88\xb7\x62\xd3\xb2\xca\x59\x6a\x09\x88\x22\x30\x97\x80\xb9\x09\xbb\x86\xd2\x2a\x49\x6f\x02\x16\xfc\x0f\x40\x56\x07\x38\xd6\x44\xdb\xa7\x34\x6a\x9c\x9e\xcb\x90\x98\x22\x4f\x15\x22\xf3\xf5\xad\xb4\x03\x6d\xb2\xa5\x13\x08\x4a\xf4\x72\x4b\x06\x26\x15\xae\x9f\x16\x91\x9d\x3d\x3c\x56\xd2\x30\x70\x79\xfa\xb9\xdc\xed\x4d\x4a\x1b\xd5\xe2\x30\x8a\x9c\x4e\x41\x12\x40\x6f\x9b\x41\x07\x82\x91\x4e\x63\xb9\x89\x94\x27\xd5\x34\xd2\x32\x05\x15\xb9\xc2\xb3\xd4\x1b\xa9\x5c\x30\x48\x6f\xbf\x44\xae\x22\x51\xf1\xb0\x48\x99\xf4\xda\xd1\x91\x22\x69\x9c\x4e\x84\x78\x5a\x4b\xd7\xd3\x76\x89\xcf\xd5\x6d\xe2\xb5\xb8\x9e\xb9\x39\x7c\xae\xee\x0e\xe3\xaa\x49\x75\x7b\xf8\xbc\xba\x3f\xbc\xb6\x68\x3c\xb9\xba\xbe\xc1\x79\xba\x61\x92\xca\xae\x8f\x38\x0e\xbf\x16\xad\xd8\x26\x7b\xe0\xa8\xc6\x79\xde\x6b\x9f\x82\xa8\xba\xd0\xf4\x03\x98\xb2\x06\x92\x8a\x93\x72\xdf\xef\xb7\x43\x65\x7f\x23\x47\x0d\x33\x60\x48\xd2\x27\xa1\x7e\x98\xc8\xec\x29\x44\x16\xaa\xe8\x83\xb8\x38\xd8\x73\xd0\x3d\x4c\xdb\x1a\x7c\x87\xc9\x34\x88\x6a\xa7\x1d\x93\xfa\x29\x95\x5c\x3e\x88\xe3\x6a\x11\x64\x14\x58\x88\x88\x0b\x66\xb3\xfd\x6f\x34\x66\xb9\x44\xd0\x45\x2e\x5d\x6e\x49\x9d\x48\x72\xd6\xc8\x06\x24\xa7\x49\x3d\x38\xaf\x1d\xa6\x97\x14\xed\xa6\x34\xa8\x0a\x85\xfc\x28\x57\x12\xcd\x6a\xa7\x0e\x8a\x58\xd3\x2b\xc2\x78\xb3\x42\xce\xe7\x65\x70\x19\x0b\xe0\xf9\x8c\x2f\xfb\x13\x98\xfe\x13\xff\xbb\x44\x03\xd3\xa3\x00\xf1\xd2\x42\xc9\x4e\x7c\x6b\x3b\x59\x27\x9d\x92\x06\xe9\x94\x4c\x8c\x90\x6f\x27\xad\x63\xcd\xaf\x90\x4e\x55\x54\xff\x79\xc2\xa9\x5a\xf2\x6f\x23\x9b\xaa\x58\x9b\x45\x93\x62\xab\xa8\x62\x05\x8d\x42\xbe\xd9\x53\x3b\xab\x9f\x9a\x2c\xbd\xfd\x9e\xaa\x07\xfe\x52\xb3\x38\x77\x7f\xaf\xda\x8e\xbc\x4b\xa3\xf6\x9d\x9a\x4f\x23\xf0\x81\xb5\xf5\x7b\x12\xfa\x72\xe9\xbc\x6d\x6f\x87\xaf\xc0\x52\x68\xb7\xa5\x79\x40\xc7\xe1\x44\xda\x06\xb5\xca\x24\xcd\x95\xc9\x78\x65\xc6\xc9\x44\xad\x4f\xa6\xd4\x07\xd3\x32\x6e\x1c\x50\x75\x2b\xe5\x87\x2b\xba\x4e\x22\xd7\xe4\x26\x6f\x05\x52\x3d\xf6\x60\xe2\xf6\xbd\x52\x7a\xfa\xb4\x02\xd7\x72\x56\x59\x49\xa9\x15\x9f\x56\x8b\xa7\xe3\x74\x62\x9a\xdb\x95\x85\xe2\x47\x28\x78\x96\x7c\x17\x9d\x8f\xfc\x68\x11\xeb\x7b\x10\x68\x43\xb4\xa6\xff\x34\x16\x0f\xb5\x7c\xa4\x92\xef\xe9\x22\x51\x6f\xae\x3d\x61\x9e\xf8\x7e\x5f\x47\xf0\xdb\x88\xaf\x1a\xae\xff\x3c\xf9\x55\x2b\xba\x2e\xc0\xe4\x55\xbd\xed\xf2\x49\x84\xd2\xfc\xc4\xc6\x69\x69\xce\x50\x13\xc1\xbc\xcc\xa7\x10\x6e\x81\xdc\x6f\x57\x59\x4b\x9a\x2f\x55\xe5\x27\x09\x7c\x6b\x9b\xae\x9b\x6e\x68\xc3\x74\x43\x27\x06\x2b\x9f\xe8\xb7\x1e\x13\xba\x35\x56\x3c\x59\xea\x8a\xc5\xaf\xdf\x4d\xda\xae\xa3\xec\xb7\x15\xb7\xe2\x1a\xf1\xff\x2f\x62\xb6\x56\xc3\x87\x35\xdf\x1a\xf7\xab\x11\xb5\xe3\x66\x7c\x55\x37\x81\x6e\x9c\xa0\xe9\x9f\xf7\xd5\xb0\xe8\x9c\xec\xf7\xe8\x86\x49\xad\x1b\x3e\x3c\x01\xac\x63\x45\xb5\xb1\x65\x43\x97\xb7\x9b\x28\x6e\x37\xad\x1d\x8a\xa1\x32\x14\xa1\x0f\xdc\x93\x6a\x7a\x95\x73\xb8\xa7\xbd\xfd\xdb\xb3\x25\x2d\x1f\xc2\x7b\x64\xc2\x58\x23\x21\x1b\x86\xa7\xba\x53\xaa\x74\x88\x1f\xc7\xff\x8c\x19\xa9\xb9\xec\x71\x3a\x99\xac\x99\x8d\x4e\x69\xc6\xd6\xdf\xec\x4b\x2e\x7d\x7a\x77\xc7\x4f\x04\x2a\x90\x9d\xc3\xe4\xb2\x92\xb9\x76\x24\x08\xd2\x8e\x57\xf1\x3a\x4f\x06\xe5\xcc\x02\x58\xee\x0a\xac\xc7\x9d\xc4\x02\x74\x2f\x59\x2c\xa1\xaa\x25\xfc\xeb\xf3\x31\x9a\xb1\xa3\x94\x06\x8b\x8b\xa8\x7a\xc5\xf2\x91\x4c\x49\xc6\x9e\x92\xeb\x30\xb9\x54\x20\x7c\xb1\xb7\x2f\x35\x94\xe0\x1b\xcd\x8f\x36\xcf\x02\x16\xf8\xba\xae\x5e\x72\x38\xaf\x7c\xe3\xdd\xd5\x73\x5f\x1c\x2e\x16\xb8\xce\x7d\x4a\xc6\x7a\x94\x5c\xea\x44\x9f\xd1\x8b\x15\xfc\x0d\xe3\x79\xa2\x13\xfd\x3a\x48\x63\x9d\xe8\x78\x3d\x46\x9f\xe4\x3b\x9a\xd4\x7f\xf5\x3d\xa2\x4c\x63\xbe\xae\x6f\x67\xd7\xa1\x90\x95\xd3\x20\xa3\x02\x83\x87\x61\xcc\xce\x83\x1c\x85\x07\x76\x5e\xe9\xda\x0a\x9e\x40\xb8\x07\x4a\x58\xbe\xe5\x2c\xc8\x92\xc2\x0f\xd7\x01\x2a\x09\xbe\x61\x74\x3a\x1d\x6a\xfa\xaf\x0a\x46\xe4\xfb\x57\x01\x0b\xb6\xd4\xc3\xbf\xe7\x5b\x6c\x8b\x76\xfe\x3d\x09\x63\x43\xd7\x74\x73\x0b\xaf\xdc\x92\x54\x5c\x06\x2e\xa1\x86\x3e\x62\xde\x9b\x64\xac\x5f\xa6\xc9\x6a\xa9\x13\xfe\x77\x2f\x89\xa2\x60\x99\xd1\x59\x85\x09\x9c\x6e\xf6\x2c\xba\xa9\xaf\xeb\x48\x37\xea\x92\x4f\x20\x9e\x0a\x82\xcb\xed\xaa\x69\x7a\x27\xa5\x4b\x1a\x30\x63\x6b\xab\xd6\xc4\x58\x8b\xed\x46\xf2\x3a\x58\xa3\xfd\x78\xc6\x67\x16\xf9\xb5\x06\xc8\x37\x0c\x4e\xec\x03\xe5\xb7\xdb\x8d\xe5\x57\x3a\xf2\xc9\x2a\x64\x6b\x8f\x9e\x17\x86\x06\x2b\xb2\x9c\xe7\xcb\x3f\x90\xf5\x83\x72\xbd\x25\xa3\x6c\xb5\x04\x39\x9b\xef\xb3\x95\x40\x40\x61\x85\xa2\xfd\x06\x0a\x64\x1a\x61\x9d\x59\x98\x05\x17\x11\x5d\x0b\xa9\xa4\x13\xdc\xc9\x5b\x0b\x29\xd2\x0a\x28\x3c\x87\xf4\x00\x24\xa4\x13\x86\x95\x85\x20\x57\xc9\x45\xdd\x97\xfc\x5a\x51\x21\x2f\xe4\xc1\x05\x2e\xff\x8c\x26\xb4\x39\x2c\x1e\x3b\x81\x66\x4f\x57\x53\x96\xa4\x4d\x34\x34\xb5\x4b\x27\x5b\x5d\x4c\xa3\x20\xcb\xa8\x38\x30\xc8\x4c\xc2\x1a\x5b\x50\x81\x04\xa2\x1f\xe0\x70\xc3\xb9\xe2\x5c\xbb\x96\x35\x15\x6b\xf5\xc5\x69\x4c\x48\xd0\x70\xd3\x02\x97\xeb\xf9\x6c\xd4\x2c\xd7\x85\x50\x27\x4c\xde\x26\x10\x38\x61\x98\x89\xcb\x5d\x39\x7f\x79\xa5\xd2\xe6\x4e\x59\xea\x08\xff\x79\x44\x97\xae\x3d\xbc\xe1\x24\xcc\x10\x17\x9e\x63\xee\xcc\x57\x51\x04\x3d\x7a\x0d\xd1\xb2\x3f\xae\x3b\xb2\xa2\xb0\xe3\x41\x04\xe5\x23\x73\x75\x1c\xc8\xbf\x66\x0c\x25\x45\xae\xe1\x54\x44\xcd\x9a\x67\xa8\x2e\x81\x41\xc5\x8d\xfb\x1d\xd0\x20\x3c\xb0\xb0\x9e\x50\xc0\x6a\xf9\xe0\x9c\x5c\xcd\xb1\x7c\xda\xac\x5c\xcb\xf6\xc4\x79\xb9\xd6\x59\x8a\xa5\x12\xc0\xb8\x07\x43\x44\x8a\x2b\x60\x23\xca\x26\x21\xcf\x64\xcb\xa2\xef\x18\x21\xb7\xb6\xf4\xb1\xbe\xc5\xb6\xf4\x89\x5e\xe4\x39\x10\xe8\xcf\xfd\xb4\xa9\x78\x55\xa7\xab\x28\x44\xdc\x05\x45\x15\x8d\x98\xf1\x44\xa9\x64\x4c\x09\xd7\x45\x8e\x57\x71\x67\x7a\x33\x91\x66\x0f\xef\xf7\xa5\x1b\xc7\xe5\xc2\x8f\x69\xb6\x8a\x18\x46\x49\x75\x49\x5c\x72\xde\x06\x56\x86\x31\x8b\x62\x43\x87\x64\x2d\x0d\xc2\x8c\xce\xb4\x20\xd6\xe8\xcd\x94\x2e\x99\x70\xb2\x04\xe2\x85\xbb\xc1\xc0\x23\x70\x18\xaa\xdd\x70\xde\x29\x90\x09\x10\x31\x89\xc3\x74\x68\x7a\xb5\x54\xd3\x24\xb4\x33\x15\x04\x41\xe9\xe7\x06\xed\x1c\xec\xbe\x3d\xdc\x7f\x43\x36\x6c\xbe\x42\xdb\xa0\x1c\x36\x2d\xfd\x28\xb3\x90\x6c\x44\xd4\x59\xe1\x57\x28\x4f\x37\x3e\xbb\xbb\x93\xf7\x3f\xe7\x41\x18\xad\x52\x2e\x12\xf9\x64\x98\x4b\x48\xa1\x32\x07\x29\x7b\x13\x30\x8a\x9e\x48\x84\xbe\xb6\x4a\x03\x28\x56\x89\x12\xdb\xca\x9c\xbf\x4a\xfc\x22\xb8\x39\x90\x25\x58\xb2\x80\x38\x9c\xe6\xba\x1f\xd0\xfb\xe7\x15\x5d\xd1\x73\x71\x6f\xb3\xa1\x9e\x4a\x77\xd9\x3d\x3c\x3c\x3f\xdd\x3f\x39\x3d\xa9\x5d\x3e\x7d\x19\x44\x51\x1b\xb0\x65\xaf\xf0\x02\xea\xc3\x78\x32\xbc\x0b\x5e\x13\x43\x15\x92\xd4\x75\xa1\xa7\xe0\xab\x6a\x0a\x65\xd3\x84\xdd\xdd\x21\xfe\xbc\x0e\x24\xc4\x93\xbd\x25\x81\x66\x98\x24\xf3\xad\xed\xac\x38\x90\x9b\xc9\xf3\x1a\xb1\x9f\x8c\x33\xee\x55\x4c\x1e\x37\xcc\x51\x99\xe2\x84\x41\xde\x0f\x8f\xe9\xe5\xfe\xcd\x92\x6f\x41\xa7\xfc\xd8\x5c\x9c\x0f\x67\xd3\xcc\x8f\xcd\x4a\xff\x00\x45\xe2\x86\x9f\xe6\xc9\xc2\x86\xcf\x99\x65\xc4\x26\x09\xb7\xb6\xee\x55\x8f\x2d\x4f\x61\xcc\x51\xc0\x18\x4d\xd7\x9c\x66\xf1\x2d\x71\x09\xff\x91\xe9\x5d\x5d\x66\x14\x9a\xa6\xc2\xf6\x46\xed\xa2\xc8\x3d\x4e\x27\x44\x39\xde\x24\x9a\x22\x4a\x2e\xc5\x61\xe3\x0f\x09\x4e\x60\x99\xb6\x00\x49\x42\x67\x1a\x47\x0d\x4a\xde\x34\x0d\x19\x4d\xc3\x40\x78\x3a\xa8\x69\x17\xf5\x4a\x27\xf1\xa7\x78\x1a\xac\x2e\xaf\xd8\xbe\x94\x1d\xe7\x4d\x67\xfa\x2d\xdf\xa7\x85\x7b\x17\x99\x47\x8b\xc2\x8b\xc7\xa4\x96\x6e\xf2\xeb\x1d\x4a\x76\xee\x31\xc3\xd3\x70\x00\xcf\x74\x53\x08\xb6\x0d\x6b\x5b\xde\xec\x2c\x0d\xd2\x56\x8b\x6e\xf8\x45\x99\xe2\xae\x62\x09\xa4\x43\x6f\x96\x74\xca\xe8\x0c\x0f\x8d\x09\x97\x07\xf9\x91\x15\x7d\xb6\xc2\x35\xa9\xed\x86\x1b\xc0\x22\x3f\x27\x49\x9c\x92\x2a\x27\x1d\xed\x7f\x78\xf3\xf6\xc3\x4f\xe8\x84\x42\x0f\xe6\x8c\xa6\xd2\x50\x80\x36\xa1\xf2\x94\x9a\xa0\x2e\x17\xc1\x9a\xbe\x15\x6e\xe9\x5c\x6f\x01\xf3\xcc\x6b\x26\x1c\xd2\x0b\x35\xa4\x8a\x97\x6e\xe9\x44\xc3\x39\xcb\xd3\xb7\x52\xb3\x41\x82\x55\x84\x71\x03\x40\x21\x9d\xc9\x86\xbd\x4e\x40\x3f\x64\xa6\x97\xf7\x1a\xa9\x70\x95\x52\x88\x56\x7a\xad\x81\xd8\x6d\x97\xa5\x70\x51\x15\x69\xe7\x18\x4a\xf5\xc0\xf8\x35\x14\x29\x2e\x86\xcc\x96\x2e\x3a\x05\x91\xdc\x92\x52\xbf\x00\x80\x18\x05\x60\x91\x9d\x26\x27\x74\x9a\xc4\xb3\xec\xbc\x4c\x99\xbc\xd3\x97\xad\x16\x8b\x20\x0d\xff\x4e\x0d\x53\xee\xcc\x26\x31\xf2\x57\x11\xff\xca\x6c\x54\xe7\x80\x58\x65\xf2\xaa\x67\x23\xeb\xac\x2a\xad\xd5\x91\x8d\xda\x3a\x4d\x23\xbf\x79\x43\x35\xae\x8a\x94\x94\x0c\x89\xa3\xb4\xb6\x61\xc8\xdb\x03\x37\x30\x35\x67\x5c\xd5\xaa\x25\xb2\x1b\x65\xc1\xb5\xde\x79\xe5\xf0\x51\xba\x6f\x18\x6b\x39\x1a\xe8\xbb\x86\xf0\xa9\xb5\x23\xfe\x7a\xf9\x9d\x49\x31\x4d\x5a\xf7\x62\x1b\x9a\x8f\x24\xda\x39\xda\x3d\x39\xd9\x7f\xb3\x53\xed\xd2\xd2\x61\x8e\x47\xf3\x96\x7a\xd5\xb7\xe4\x7d\xff\x42\xce\x9d\x44\xc9\x35\x1f\x3e\x2c\x49\xbe\x36\x36\x37\xad\xb5\x75\xa5\xbf\xc9\xc2\x40\x7a\xf1\x71\x60\x96\x7b\x55\x7e\x51\x52\x19\x37\x7c\x6e\x84\xae\x81\x3e\x69\xbe\x37\x56\xcb\x54\x65\x49\x89\x97\xf9\x91\xa8\x55\xc4\x34\x29\xea\xd0\xd5\x89\x3a\xd4\xf9\xb5\x90\x9c\x19\x65\x4e\x6e\xab\x23\x43\xce\xec\x18\x97\xae\xe2\x0f\xf4\x86\xf1\xc1\xfe\x8c\xce\x75\x4c\x1b\xba\x57\xae\x8a\x29\xf4\x1f\xe2\x7d\x3d\x01\xab\xcd\x93\x34\xb7\x96\x1a\x2b\xc0\x4a\xb7\xd1\x04\xc5\xca\x76\x52\x8a\x37\x70\x4a\x23\x5d\x2c\xf0\xa7\xf9\x95\xb4\x6a\x63\x3c\xa1\x5a\x2a\x1b\x9a\x3c\x03\x20\x23\xef\xee\x36\xaa\x5a\x92\x38\xe5\xa8\xb6\x5d\x7d\x0c\x1b\x66\x3e\x0f\x29\x4a\xa1\xe8\x9f\x15\x79\xf4\xca\xaf\xc2\xad\xeb\x18\xef\x83\x9b\x70\xb1\x5a\x68\x02\x81\x36\x4d\x56\x31\xd3\x52\x1a\xc0\x1c\x4e\xb4\xe0\x22\x49\x59\x18\x5f\xf2\x1e\x9f\xae\xe2\x8e\x9c\x65\x1a\x09\xe4\xeb\xe6\x95\xea\x8d\xad\x09\x61\x0d\x53\xd8\x4e\xd3\x84\x07\x9d\xdc\xc3\x4e\x8e\x32\xa6\xd5\x2a\x19\x23\x54\x31\xb1\xee\xee\x0c\xa6\x8c\xce\x26\x71\x8e\x71\x86\x9a\xa9\xb0\xba\xd0\x37\x20\xbd\x2e\xa1\x34\xaa\x32\x2d\x97\x61\xea\xbe\x50\x33\x23\x73\x45\x45\xe3\xd3\xba\x86\x76\xeb\xd3\x44\x14\x77\xfe\xb4\x96\xad\xf7\xb9\xb8\x55\x2b\x95\xeb\xa2\x8d\x06\x44\x6d\x09\x82\x27\xf0\x45\x08\x46\x64\xae\x9a\xfc\x16\xa6\x73\xc3\x8c\x5d\xc8\x73\x96\x5b\xd8\x0f\x83\x55\x7a\xb9\xf0\xf9\xf6\x28\x27\x1b\xe5\xbe\x60\x2a\x76\x43\x59\xfa\xc3\xcc\x6d\xea\x14\xcf\x66\x78\xb9\x77\xa6\xab\xd8\x78\xee\x84\xa5\x12\x9e\xae\xe2\x27\xce\x59\x4f\x92\x35\x0d\xee\xef\x84\x0a\xa3\x1f\xaf\xe2\x18\x8a\x15\xd3\x53\x4d\xd6\x08\x15\xd0\xc8\x4c\xbd\xa6\x7d\x08\xb6\xd4\x35\xf0\x9a\x9b\x26\xc5\xb6\x15\xda\x16\xf9\xa1\xe9\x40\x9d\x3d\x1b\x56\xb5\x0c\xfa\xc2\xa6\x5d\xb3\xc3\x92\x83\xf0\x86\xce\x0c\xc7\xdc\xd2\x33\xfd\x09\xa6\x93\xd4\xb0\x9a\x64\x71\x45\x62\x9a\x0d\xdb\x7e\x15\x90\x62\xd3\x4f\x69\x73\x3e\x7d\x7b\x55\xbd\x70\x4c\x27\x15\x1d\x7a\xbb\xb9\x21\x6a\xfa\xc5\xa9\xe8\x28\x5a\x18\xcb\xf9\xce\x7b\x42\x33\x6a\xd7\x34\xa5\x5a\x9c\x48\x21\x5d\xe5\x8e\x90\x0b\x8d\xcb\x56\x62\x21\x28\x5f\x62\x47\x45\x83\x15\xe3\x57\xae\xa9\x3e\x71\x29\x43\xe8\x36\x18\x16\x56\x0a\x4f\x68\xb4\x86\x84\x9b\xd7\xc6\x65\xa6\xa2\x29\x05\x1e\x5f\x5f\xd2\x78\x06\x46\xd3\x63\x19\x78\xbb\xf8\xa2\x7d\x1e\x05\xe7\xda\x93\xaf\x0b\xdb\xaf\x19\x5c\xb5\x1f\xeb\xab\x1e\x5c\xb5\xf2\xe9\x9a\xba\xa8\x99\xd5\x0d\x41\xe1\x37\xa0\xbe\x0e\xab\x3f\xc1\x8a\xcd\x7b\x46\xda\x60\xb6\x81\x91\x56\x28\x7a\x2a\x18\x8f\x7d\x94\xe9\x4d\x22\x66\xdd\x90\xc7\x92\x53\xb1\xdf\x6a\xaa\x1d\x61\xa3\xd4\x13\xc4\xba\x81\x70\x06\x7c\x0e\x93\x38\x0a\xbe\xd2\xd2\xe1\x2c\x9c\xf1\xae\xcc\x27\x88\x40\xfb\x16\x44\x2b\xaa\x05\xf1\x4c\x49\x42\x2f\x9a\xda\x22\x49\x29\xba\x16\xce\x15\x93\x06\xcb\xb3\xb0\x35\xd7\x8c\x8b\xf2\x8d\x2c\x3a\x65\x6a\x17\xad\x37\x75\x73\x47\x5e\xd7\xf2\x25\x1b\x56\xd4\xbb\xc6\x57\xc9\x90\xfa\x38\x2a\xb1\xaf\xb8\x11\xab\xf2\x0b\x32\xcf\xb4\x64\xc5\x7e\x2b\x26\x08\xee\x02\xb5\x0d\xcb\x7b\x82\xd4\x56\xab\xec\x6d\x59\x4d\x93\xb3\xbf\xac\x55\x83\x89\x2a\x92\xd4\x49\xa5\xbe\x50\x58\xa3\xac\x54\xb1\xfa\x96\xcd\x5a\xc6\x3d\x6b\x79\x40\x20\x50\xba\x36\x4c\x2c\x55\x8b\x58\x9a\xdf\x8d\x40\x85\x65\x93\xdf\x4b\xcc\xdd\x4e\x0b\xe1\xfd\xd2\xb9\xbb\x53\x6f\x16\x3e\x2a\x36\x78\x81\x8f\xb2\x28\x48\xd3\xe0\x76\xff\xcf\x0d\xdc\xd9\xa0\x60\x7c\xc8\x75\x2d\xda\x6a\x6d\x30\xf4\xd7\x23\x08\xda\xf0\x59\xd9\x14\xd9\xb0\xb7\xd7\x1c\x0c\xd9\xda\x4a\x4d\xc8\x39\x4e\x27\x1b\xe8\xf7\xb2\xc8\x21\x57\xcd\x1e\xa7\x33\xcb\x68\xca\xf6\xff\x5c\x9b\x94\xf2\xdd\xe1\x50\x9c\x22\xd7\xf9\x35\x66\xc5\x3b\xb7\x34\x67\xa8\x70\xd0\x5e\x38\x7c\x57\x7c\x6b\xaf\xbb\xd7\x5d\x3d\x0c\x64\xde\x2b\xd7\x36\x85\x01\x65\xef\x00\x8a\x2d\xa6\xec\x3b\x78\xea\x07\xae\x2a\x6c\xf8\x3e\x6b\xb5\x36\x1a\x5c\xb4\x8a\x69\x5d\x36\x05\xb6\x80\x99\xdf\x1a\xdc\xd1\xc7\xfa\x56\xba\xa5\x4f\x74\x4f\xd7\xb7\x73\xc5\xc1\xd0\x25\x4b\xf4\xad\x44\x18\xb2\x57\xe2\xce\x65\x10\x45\x34\x3d\x4c\xa6\xd8\x7b\xcf\x0d\x9b\x1f\x9f\xd8\x02\x0e\x6d\xe9\xda\x86\xef\xe3\x07\x33\xeb\x7b\x1d\x6b\xf8\xde\xd0\x3b\xac\x0d\xdf\xcf\x9d\x55\xb3\x9d\x7c\x5b\xaa\x91\x48\xac\xc0\x53\x48\xcc\x9b\xe6\x09\xa4\xd5\xd1\x34\x2c\x3b\x35\xb9\x57\x4f\xe5\x89\xce\xb4\xee\x62\x7d\x4c\xb7\x9c\x49\x07\x97\xa5\x8d\x17\xc6\xf8\x97\x17\x93\x2d\xef\x6c\xb6\x65\xc2\xcf\x99\xb9\xf3\xcf\x2f\x8a\xd6\xdf\x61\x63\x7b\xe2\xe9\x3b\x3b\x3b\xfa\xe3\xc4\x0a\x19\xdc\xbc\xff\x01\xb2\x20\x57\xc7\x9f\x20\xd7\x80\xb5\x25\x4c\x55\x69\x21\x7a\x94\x14\xfc\xf4\x71\x41\x5f\x5f\xe5\xab\x57\x21\xc8\xb2\xda\x54\xd4\x80\x92\xab\x47\x12\xe5\xa7\xd3\x03\xf7\x0d\x3e\x46\x91\xd6\x32\x5f\xdc\x32\x9a\x1d\xd2\x39\x2b\x8e\x1a\xcd\xe8\x51\x12\xc6\x79\x44\x94\x5c\xd3\xf4\x75\xb2\x8a\x67\xbe\x55\xc1\x56\x72\xaa\x06\x31\x6b\xf6\x3b\x74\x9d\x34\x1c\x54\x13\xcb\xea\x78\x57\x3f\xdd\x4b\x66\x74\x97\x19\x29\x2e\x9a\x58\x62\x2e\xc8\x89\x33\xc3\x97\xbe\xed\x0c\x77\xd8\x96\x00\x47\x50\xcf\x1e\x39\x2f\xfd\xb0\xd5\x0a\x5f\xfa\x8e\xd3\xdd\x31\x2a\x15\x08\xdb\xf6\xc8\x21\x95\x6a\xda\xb5\x5a\xd9\x8e\x6b\x7a\x8e\xd3\xcb\x51\x75\x47\x0d\xa8\x1c\xa7\x57\x45\xe5\xd4\x50\x39\x56\x0f\x70\xf5\xac\x1c\x57\x6f\xd8\x84\xab\x67\x55\x71\x75\x6b\xb8\x06\xfd\x7e\x77\x00\xc8\xdc\x1c\x59\xdf\x6e\x44\xe6\x56\x91\xf5\x1a\x08\x1b\x0d\xed\xbe\x63\x7a\x4e\xbf\x60\x59\xbf\x89\x65\x4e\xbf\xc6\xb2\x7e\x9d\xb6\xa1\x6d\xb9\xee\xa0\x67\x7a\x6c\xcb\xd7\xff\xdf\xff\xe7\xff\xd6\x73\xbf\xdb\xb6\x93\xd3\x6b\x8f\xec\x62\x92\xcf\xd1\xb5\xdb\xd5\x8e\x56\x21\xe2\xe5\xcb\x81\xb9\x65\x84\x6d\x68\x17\x52\xef\x0a\xaa\xa7\xc3\x3c\x8f\xbc\x06\x54\xd0\x78\x77\xd7\xef\x3b\xa3\xc1\x4b\x3f\x69\xb5\x92\x97\x7e\x7f\xd8\xed\x75\xef\xee\x92\x57\xb6\x6d\xf7\x6c\xdb\xde\x91\x84\x7b\xc9\x4b\xe4\x34\x44\x70\xd1\xd7\x99\xa7\xc9\x62\x4f\xf4\x49\x23\x31\x3d\x23\x69\xf3\xd6\x20\x6b\x60\xb0\xa4\x2d\x23\x79\xf5\xea\x95\x6d\xb5\x6c\xcb\xe9\x9a\xa4\x3f\xe8\x3a\xd6\x96\x01\x1f\xad\xc4\x34\xc5\x55\x7b\x4d\x16\x5b\xe5\xb1\x45\xd2\x76\xbb\xf4\x32\x8c\x78\x3e\xe6\xf4\xc0\x6d\x32\xb1\xb9\x02\xa2\x8c\x45\x53\x64\x10\xc2\x4b\xbc\x65\x54\xcd\xfd\xe3\x63\x12\xeb\x23\x5b\x16\xb9\x69\x86\xc8\x95\x6e\xde\xf4\x82\xe1\x02\x64\xd0\xb5\x47\xb8\x4b\xbb\x65\xe7\x65\xe4\x27\xbf\x4b\xf8\xb7\x6c\x73\x5b\xa0\x57\x1a\x6b\xc7\xe0\xf8\x07\x5b\x06\xe7\x62\x68\xbe\x7c\x69\x5b\x66\xce\x53\x02\x04\x7b\x82\x08\xb1\xaf\x2b\x28\x42\x87\x06\x40\x35\x97\x1b\x66\x59\x6e\x6c\xe7\x5e\xe3\x60\x14\x58\x38\x44\x9b\x1b\xd6\x1e\x39\x77\xe1\xab\x57\xaf\x06\x26\xc9\x7c\xdb\xf4\xc2\x97\x58\x40\x7f\x6d\x06\xc7\xe9\x61\x06\xdb\x81\x1c\x8e\xe9\xad\x05\xec\x59\x1c\xd0\x05\xc0\xae\xb9\x9d\xbd\xb2\xb6\xcd\x0c\x06\xc7\x1a\x52\x1c\x97\x93\xf2\xa7\xac\x35\xe8\x96\x1f\x11\xba\x9e\xf2\xf7\xc3\xae\xa7\x9d\x78\x15\x7d\x09\x67\xec\xca\xb7\xf8\xf7\x34\x89\x59\x9a\x94\xe3\x52\x7a\x19\xa4\xb3\xbd\x7f\xff\xba\xbb\xb8\x08\x2f\x57\xc9\x2a\xf3\x37\x6c\x01\xae\x44\xf2\x3c\x8e\xc4\xb3\xb8\x08\x63\x30\x7c\xc7\xe3\xe1\xc0\x25\xee\x70\x34\x21\x63\xdb\xee\xf7\x89\x6d\xf7\x5d\x0c\x0f\x2c\x62\xdb\x03\x1b\xc2\x3d\xa7\x4f\xec\xde\x00\x61\x7a\x43\x9b\xc0\x0f\x0f\x77\x21\xdc\xe3\xe1\x01\x84\x87\x3c\x3c\x82\x30\xc2\xc3\x40\xb3\xfb\x5d\x1e\xee\x3b\xc4\xee\xf7\x11\x66\x60\xdb\xc4\x1e\x74\x2d\x0c\xf7\x5c\x02\x3f\x10\x1e\xf6\x2d\x62\x0f\x07\x88\x73\x38\x18\x42\x98\xc7\x0f\x21\x7e\xd8\x85\xb0\x6b\x0d\x09\xfc\xf0\xf0\x08\xc2\x88\xdf\xed\x59\xc4\x76\x07\x03\x08\x8f\xfa\x2e\xb1\x47\x98\xd7\xb1\x9c\x21\x71\xac\x6e\x1f\xc2\x5d\xab\x4f\x9c\xae\x35\xc0\xf0\xa0\x47\xe0\x87\x87\x47\xc4\xe9\x0e\x79\xbc\x6b\x13\xf8\xe1\x61\x80\x77\x11\x4f\xcf\x72\x88\xd3\xb3\xba\x18\xee\x76\x09\xfc\x60\x78\x04\xf1\x23\x87\x87\x87\xc4\xe9\x5b\x50\x2f\xa7\x6f\x8d\x20\x3c\xc2\x70\xd7\x22\x4e\xbf\x8b\x38\xfb\x03\x9b\x38\xfd\x01\xc2\x0f\x1c\x8b\xc0\x0f\x0f\xf7\x21\x8c\x34\x0c\xba\x36\x71\x06\x5d\x0e\xd3\x85\xf8\xee\x10\xc3\x43\x87\x38\x03\xe4\x83\x33\x70\x47\xc4\x19\x8c\x30\xef\xb0\xe7\x12\xf8\xc1\x70\xbf\x4b\x9c\x21\xf2\xd9\x19\xf6\x47\xc4\x19\x0e\x38\xcc\xa0\x0f\x61\xe4\xc3\xd0\x1d\x10\x67\xe8\x22\x8c\x6b\x0f\x09\xfc\x60\x78\x38\x20\xf0\xc3\xc3\x23\x08\x23\xfd\x2e\xf0\xc4\x75\xb1\x5c\x77\xd4\x25\xf0\x03\xe1\x11\xf0\x64\x64\x21\x9d\xa3\xde\x80\xc0\xcf\x84\x8c\xbb\x96\xe5\x12\xf8\xc1\xb0\x63\x13\xf8\x81\xb0\xdd\xed\x91\xae\xdd\x45\x18\xbb\xe7\x90\xae\xdd\xeb\xf1\xf0\x00\xc2\x23\x0c\xf7\x87\xa4\xcb\xfb\x61\xd7\x19\x58\x04\x7e\x78\xb8\x0b\xe1\x2e\x86\x87\x10\x3f\xe4\xf1\xc3\x01\x84\x87\x18\x1e\xb9\xa4\xeb\x8c\x10\x4f\x77\xd4\x25\xdd\xee\x08\xea\xdb\xed\x59\x7d\x02\x3f\x10\x86\xb6\x80\x1f\x1e\x76\x49\xb7\xdf\xe3\x61\xa0\xa7\xdf\x83\xba\x74\x07\xdd\x2e\x81\x1f\x1e\x1e\x90\xee\x40\xc4\xf7\xfb\xa4\x3b\xc0\xb6\xeb\x0e\x07\x36\x81\x1f\x1e\xee\x41\x18\xcb\x1d\x0e\x21\x7e\xc8\x61\x5c\x88\x77\x31\xde\x05\x18\x17\xf9\xdf\x05\x1e\x76\x39\x0f\xbb\xee\xa8\x0f\x61\x11\x3f\x84\x30\xd6\x65\xd4\xef\x92\xee\x08\xfb\x73\x77\x34\x70\x49\x77\xc4\x71\x8e\x86\x3d\x08\x23\xfc\x08\xf0\x8f\x46\x48\xc3\x68\xd4\x25\x3d\xcb\x01\xbe\xf5\xac\xae\x4b\xe0\x07\xc2\x76\xcf\x26\x3d\xce\xe7\x1e\xf0\x19\x7e\x30\xdc\xb7\x48\xcf\xee\xdb\x3c\xdc\x85\x70\x17\xc3\x6e\x8f\xf4\x6c\x17\xf0\xf7\x7a\x3d\x97\xf4\x06\x38\xd6\x7a\xa3\xfe\x88\xc0\xcf\x84\x8c\xfb\x23\x6b\x40\xfa\x23\x6c\xdf\xfe\xa8\xeb\x92\xfe\x08\x79\xd8\x1f\x0d\x2d\xd2\x1f\xa1\x7c\x18\x58\x96\x43\x06\x16\x8e\x97\x81\x35\x70\xc9\xc0\x42\xfe\x0c\xac\xa1\x4d\x06\x16\xb6\xd7\xc0\x72\x07\x04\x7e\x78\x78\x44\x06\x16\xb6\xdd\xc0\xb6\x46\x04\x7e\x30\xdc\xef\x93\x81\x8d\xfd\x79\xd0\xb5\xbb\x04\x7e\x20\xdc\xeb\x3a\x64\xd0\xeb\xf6\x78\x78\x44\x06\x3d\xa4\x61\xd0\xeb\x5b\x04\x7e\x78\x78\x08\x61\xc4\x33\x18\x8e\xc8\x60\xe0\x62\xfc\xc8\x76\xc8\x60\x64\xf7\x31\x3c\xe8\x11\xf8\xe1\xe1\x01\x19\x8c\x86\x1c\x66\x08\x30\xc8\xf3\xc1\x68\xe8\x42\x18\xea\x3b\xb4\xec\x11\x19\x5a\x0e\xd0\x33\x1c\xd8\x03\x32\xe4\x63\x76\x38\x18\xba\x64\x38\xc0\xf1\xe2\x3a\x56\x97\xb8\x0e\xf2\xcd\x75\xba\x3d\xe2\x3a\xd8\x16\xae\xe3\xba\xc4\x75\xb0\xbd\x5c\xe8\xab\x6e\x17\xf9\xe3\xf6\x2c\x8b\xb8\x3d\x94\x0f\xb6\xd3\xed\x5a\x04\x7e\xfb\xf8\xd5\xeb\xd9\x04\x7e\x81\x8e\x5e\xd7\xb2\x7b\x04\x7f\xc5\xd7\x08\xbf\x46\xfc\xab\xd7\x87\x2f\x6c\xdd\x41\xcf\x01\xd6\xc2\x2f\x7c\xf5\x2d\xa7\x47\x06\x7d\x0b\x25\xf1\xa0\x6f\xf5\x07\xf0\xc5\xf9\xd2\x77\x80\x31\xf0\x8b\x5f\x7d\x67\x84\x8e\x55\xb1\x0d\x5d\x6b\x34\x24\xf0\x8b\x69\xae\x6d\xd9\x04\x7e\x1d\xf1\xe5\xc2\x97\xcd\x21\xed\xbe\x03\x5f\xfd\x9e\xf8\x1a\xe1\x17\x9f\x59\x46\x76\xaf\x4b\xf0\x4f\x5f\x7c\xe3\x5c\x33\xb2\x91\xd3\x18\xe0\xe9\x62\x26\x1a\x39\x36\xcc\x3f\x23\x07\x5b\xda\xb6\x47\xdd\x81\x43\xf0\x0f\x60\x1f\xc1\x34\xd1\x27\xfc\x8f\xf8\xee\x0e\xe0\x7b\x80\x54\x8f\xec\xe1\x70\x60\xc1\xf7\x68\x34\x9a\x4c\xf8\xa4\x17\xe4\xf3\xe3\x18\xa6\x1f\x22\x26\xb7\x41\x0f\xe6\x1e\x0c\x0d\x89\x2d\x26\x1b\x98\x6b\x90\xb0\x61\x8f\xd8\x43\x31\x19\xc1\x3c\x83\xd3\x8c\x03\xb3\x0c\x86\x60\x8e\x41\x2c\x23\x08\xf1\xc9\xc6\x25\x0e\x0e\x0b\xc7\xee\x13\xc7\x46\x41\xea\x38\xc4\x71\xc4\xf4\x03\xb3\x0f\x86\x1c\xe2\x74\xc5\xd4\x03\x33\x0f\x9f\x60\x60\x7e\xc1\x10\xcc\x28\x7c\x72\xc1\xf9\x04\xa7\x0d\x87\x38\x7d\x14\xb4\xfd\x1e\x71\x90\xcd\x4e\x1f\x52\xb9\xa0\x07\x99\xdf\xe5\x22\x1f\xa4\x3f\x0a\x6a\x90\xd3\x5c\x4c\xf7\x88\x83\x02\xc6\x19\x8d\x88\x10\x8f\x20\x11\xb1\x83\x76\x6d\x90\xc3\x28\x5a\xec\x11\xe9\x3a\x18\x72\x7a\xa4\xeb\xa0\x68\x76\x5c\xd2\x45\xb6\x76\x41\x26\x72\x91\x08\x52\x13\xbb\x52\xb7\x0f\xf2\x73\xc4\xc5\x24\x48\x4c\xe8\x88\x03\x87\xf4\x50\x44\xf6\x06\x3d\xd2\x43\xee\xf6\x06\x03\xd2\x43\x51\xd6\x1b\x80\x44\x41\xc1\x34\xb4\x48\x0f\xf9\xdc\x1b\x3a\xa4\x87\x03\xad\x37\xec\x11\xae\x52\x80\x46\xd1\xc3\x89\xa8\x3f\xea\x92\xfe\x88\x8b\x11\x94\x10\x38\x08\x5d\x32\x44\x3e\x0f\x6d\x9b\x0c\xb1\x0b\x0e\xed\x2e\x19\xe2\x90\x1e\xda\x43\x32\xc4\x09\x6d\xe8\x58\x64\x88\xd3\xeb\xd0\x71\xc9\x10\xeb\x31\xec\x76\xc9\x10\xeb\x31\xec\xf6\xc9\xb0\xcb\xbb\x50\x97\x8c\x1c\xc0\x3c\xea\xda\x64\x84\xed\x31\xea\xf5\xc9\x08\x7b\xc9\x68\xd0\x25\x23\xae\x00\x59\xa0\x0c\x59\xd8\x9a\xb6\x05\x0a\x87\x6d\xf1\x2e\x6a\x41\x87\xc6\xee\xe8\x42\x27\x70\x79\x2f\x70\x1d\xdb\x26\xae\x83\xc3\xd5\x75\xec\x01\x84\xb9\x50\x70\x2c\xe2\x3a\x0e\x17\x04\x0e\x08\x08\x14\x22\xae\xe3\x40\xde\x2e\x8f\xef\x01\x0c\xf6\x08\x17\xba\x84\xcb\xfb\x84\xeb\xf4\xfa\x10\xe6\x65\xf5\x01\x7f\x9f\xc3\xf7\x01\x0f\xf6\x0c\xb7\x6b\xa1\x70\x41\x1a\xa0\x59\xe1\x07\xc3\x8e\x4d\x5c\xde\xb2\x2e\x28\x40\x2e\x1f\x52\x6e\x0f\xf0\xf4\x38\x9e\x5e\xbf\x0b\x61\x2e\x98\xfa\x43\x08\x23\xcd\xbd\x01\x84\x07\x3c\x3c\x04\x81\x85\xad\xe7\xf6\x5c\xc8\xeb\x3a\x3c\x3c\x80\x30\xd6\xa5\x37\x82\x78\x2e\xec\xfa\x5d\x9b\xb8\x7d\x54\x68\xdc\x7e\x77\x44\x5c\x3e\xd1\xba\xfd\x5e\x8f\xb8\xfd\x3e\xd6\xa5\x3f\xb0\x88\xdb\x47\x3e\xbb\xfd\x91\x43\xdc\x81\x85\x79\x07\x5d\x08\x63\x8b\xb9\x83\xbe\x4b\xe0\x07\xc3\x00\x3f\x40\xe5\xc0\x05\xe1\xee\x0a\xe1\x3b\xb4\x7a\x04\x7e\x78\x78\x00\x61\xa4\x19\xba\x8a\x3b\xc4\x9e\xee\x0e\xed\x3e\x84\xfb\x3c\x3c\x82\x30\xcf\x0b\xfc\x19\xf2\x76\x19\x3a\x00\xe3\x70\x98\xae\x45\xe0\x87\x87\xbb\x10\x1e\xf0\x30\xe4\xed\xf2\xbc\x3d\xc8\xdb\xe3\x79\x7b\x00\x83\x0a\x99\x0b\x4a\x2d\xfc\xf0\x30\xd0\xd3\xe7\xf0\xc0\x7f\xae\x90\xb9\xc3\x21\xc4\x0f\x39\x4e\x17\xe0\x5d\x0e\x0f\xfc\x1c\x72\x7e\xba\x30\x49\xb8\x9c\x27\x2e\xd4\x91\x2b\xc1\xae\x6b\x43\xbc\xcd\xe3\x6d\x88\xe7\xf5\x72\x61\xe2\x71\xbb\x22\xec\x42\x18\xcb\x75\xa1\x7d\x5d\xde\xbe\x2e\xb4\xaf\xcb\xdb\xd7\x1d\x8c\x08\xfc\x60\x78\xd4\x27\x2e\x57\x4a\x5c\x98\xfc\x5c\x3e\xf9\x8d\x40\x58\x8c\x7a\xa8\xa8\x8d\xa0\xcf\x8c\xfa\x3d\x1c\x2b\xa0\xdc\x8f\xfa\xa8\x50\x8e\x06\x96\x05\x03\x07\xc7\xd5\xc0\x76\xc9\x68\xe0\x88\x51\xe4\x90\x11\x6f\xc7\x11\x28\xb5\xa3\x41\x8f\xc7\xf7\x01\xbe\x2f\xc2\x3d\x08\xf3\xbc\x20\xc4\x07\x62\x04\x0e\x20\x7e\xc0\xe3\x87\x10\x8f\xf2\x62\x34\x18\x02\x9e\xa1\x88\x87\xb2\x5c\x0e\x3f\x72\xc9\x68\x88\xbc\x1a\x41\xbb\x8f\xb8\x8c\x18\x41\xdb\x8d\x86\x28\x79\x47\xc3\xee\x10\xc2\x48\xf3\xb0\xe7\x90\xd1\x10\xc7\xd7\x08\x94\xe9\xd1\x90\xd7\x11\xda\x0b\x7e\x78\x18\xe2\xb1\xef\x8d\x86\x23\x80\x47\xa5\x7f\x34\x1c\xf5\x20\x8c\x38\x5d\xa7\x47\x46\x2e\xf6\x99\x91\xeb\x0c\x21\x8c\x78\x5c\x10\x2b\x2e\x2f\xd7\x85\xc9\xca\xe5\xe5\xba\xdd\x11\x84\xb9\x6c\x81\x09\x1c\x7f\xf1\xcb\xb6\x1c\x62\x5b\x7c\x7a\x05\x2b\xba\x47\x06\x5d\x4e\x21\x1a\xc6\x38\x49\x77\x39\x0e\x94\x44\x56\xcf\xed\x73\x0b\x09\x43\x03\x82\xcb\x23\x56\x3e\x03\x86\xd9\x49\xed\xcd\x55\xf9\x88\xa6\x85\x7e\xd3\x55\xdb\x50\xb9\xea\x3d\x37\xe8\xcb\x72\xe2\xd8\x9a\x8c\xad\xc9\xdd\x1d\x7d\x55\x89\x4f\x26\x63\x7b\x52\xde\xc1\xd8\x4e\x5e\xf9\xe9\x36\x3a\xfc\xf3\x95\x27\x2a\x8d\x74\x2b\x31\x5f\x38\x26\xa9\xe1\x60\x1c\x87\xcf\xb6\xec\xfc\xb4\xdd\x46\x9d\x04\x7c\x30\x42\x39\x28\x9c\xf8\xac\x6d\xdf\xcb\xa2\xef\x65\x9d\x4b\xa6\xf1\x83\x55\xcf\x35\x84\xa6\xaa\xe7\x89\x95\xaa\x17\xf1\x3f\x5e\xf5\x02\xc7\x83\x55\x2f\x81\x3d\x5e\xf5\xe9\x55\x90\x72\xb3\xbf\x61\x1b\x66\xcd\xda\xc1\x4e\x39\xe7\x31\x02\xe4\xa9\x06\x35\xbd\x32\xc0\x9b\x30\x4b\x6b\x30\xd5\xf2\xeb\x40\x4d\x14\x59\xbe\xef\xd3\x9d\xd2\xba\x87\x47\x5f\x76\x1d\xe0\xb4\x6f\x3b\xc3\x56\x8b\xbe\xb4\x07\xd6\x4e\x6d\x25\xc4\xa3\x2f\x6d\x67\xb8\x63\x7b\x6a\x27\x37\xa8\xb9\x63\x79\xf6\x96\x41\x5f\xf9\xbd\x6e\xdf\x69\xb5\x0c\xfa\xd2\xef\xf5\x7a\xc3\xbb\xbb\x91\x65\xd9\xbe\x4f\x31\xe0\x60\x00\x4a\xb0\x47\x56\x0f\xca\xf0\x7b\x8e\x3d\xb2\x5b\x2d\xdb\xe9\xf6\xed\x0d\x91\xda\xeb\x59\x5d\x07\x53\xfb\x7d\xc7\xea\x62\x1c\x0c\x46\x9e\x63\xd0\x73\xfa\x7d\x1e\xd7\xb7\x7a\x16\x8f\xeb\x5b\xbd\x91\x8c\x1b\x3a\x22\xce\xee\x4a\x38\xc7\x95\x70\xdd\xe1\x40\xc4\xf5\x05\x05\x83\x7e\xdf\xb6\x38\x55\x5d\x5b\x66\xb6\x41\x1c\xf2\xdc\x18\x74\x31\xd6\x19\x38\x76\x4f\xec\x2a\x3f\xd0\x72\x6b\xbb\x40\x79\x7c\x00\xd7\x9a\x97\x8e\x9e\xd1\xee\x19\x6b\xe8\x76\xf9\x5a\xa5\x18\x70\xd6\x76\x52\x2c\x56\x9a\xc2\x69\x29\x2d\xd6\x80\x77\x99\xf0\xd1\x63\x30\xbf\x5c\xb4\x91\x99\xe6\x4b\xf9\x48\x74\xdb\xde\x4e\xb7\x7c\x46\x92\x2d\x3f\x93\xcb\x79\xb6\xe7\xdc\xab\x1e\xec\x81\x24\x74\x6e\xb9\xee\x41\x0b\x12\xe3\x60\x4d\x7c\x8b\xc4\x25\xc2\x5a\xad\x0d\xc3\x88\xb7\xaa\x04\x94\x16\x3c\x13\xd3\x34\x5f\x31\x13\x3d\x54\x6d\xe7\x0e\x11\x37\xfc\x94\xd7\x39\xf3\x13\x44\x9a\x29\x48\xe3\x97\x7e\xba\xfd\x08\xda\xcc\x34\x49\x06\x28\xe5\x1d\xfb\x57\x69\xab\x95\xb5\xdb\x44\x3e\x44\x1d\xc6\x97\xfc\xc5\xd6\xfc\xa5\xc2\xfc\x15\xa5\x52\xa5\x4b\xc7\x5b\xca\xaf\x7a\x2b\x50\x3c\xa5\xcd\x1d\x9f\xa9\xae\x2f\xf1\x1d\xe9\x59\xc2\x5e\x70\xa7\xca\x51\x72\xf9\xe2\x1b\x4d\xb3\x30\x89\x75\xa2\x33\x7a\xc3\x5e\x2c\xa3\x20\x84\x0f\xbb\x63\x0f\xf0\xee\xd2\x23\xd9\x67\x01\xa3\xd5\xbc\x8e\x65\x0f\xdb\x96\xdb\x96\x18\xd8\x8c\x2e\xf9\x0b\xd6\xc2\x9d\x82\xae\x7a\xdb\xe8\xf0\x33\x73\xa7\xb7\x4b\x71\x18\x2a\xe9\xfc\x3d\x49\x16\x5f\x82\x14\xe6\x05\x79\x70\x44\xff\xeb\xc7\x8f\xef\xb5\x0d\x5f\xb3\x2d\xeb\x8f\x3a\x49\xa4\x0f\xd0\x64\x79\x9b\x83\xfc\xf7\xff\xeb\xff\x84\x94\x19\xcd\xbe\xb2\x64\xf9\x01\x00\x42\xbe\xf7\x79\x1a\xb2\x08\x00\xfe\xeb\x7f\xd3\xfe\x68\x30\xf8\x30\xb5\xff\xfe\x5f\xff\x1b\x40\x33\x9a\xb1\x37\x74\x99\xf9\x63\xfd\x8a\xd1\x74\xd1\x39\x99\xa6\x49\x14\x1d\x25\x29\x3f\x31\x90\xe9\xa4\x48\xa0\x34\xae\x44\x9e\xd2\x74\x11\xc6\x41\x54\x89\xfe\x7c\x5a\x8f\xd8\x0b\xe2\x98\xce\x78\xf4\x04\x39\x7b\x19\x66\x8c\xa6\x6f\xe3\x90\x19\x1c\x4c\x27\xeb\xae\x76\x9b\xdf\x4b\x8c\x62\xe8\x06\x93\x54\xbd\xd5\x24\xd2\xe1\xb4\x60\xf4\xdd\x9d\xd1\xfc\x86\xbc\xf0\x3e\x51\xfd\x46\x6f\xb6\x3b\x55\x2c\xe2\x08\x6c\xd9\x23\x9f\xd1\x90\xd3\xf4\x1e\xc9\x8a\x7e\x9d\xe4\x81\xf2\x0d\x9c\x90\x9f\xfd\xc6\xfd\xfb\x20\x0e\xe7\x34\x63\x52\xcc\xac\x87\x30\xcc\xed\xd4\xcf\x3a\xc1\x72\xd9\x6a\xe1\x9f\xce\x45\x30\xfd\x7a\x99\x26\xab\x78\x76\x9f\xee\xac\xf1\x3d\xc3\x9d\xbe\xea\xcb\x64\xb9\x5a\xea\xf7\x26\xb1\x4c\xaf\x99\x46\x16\x5c\x64\x3b\x4a\x18\xb7\xdc\xf9\x21\xd7\xe2\xa8\x04\x8c\xcf\x56\xab\x84\x40\xe6\xe1\x91\xdc\x8f\x74\x2a\xbe\xde\xce\xb8\x3b\x63\x66\x7a\x46\xa9\xc1\xf5\x38\x49\x17\x41\xa4\x57\x9b\xdc\xbc\x2f\x5f\x5a\xa9\x57\x44\x64\xc4\x9a\xdc\x9b\x24\x41\x32\xa3\x90\xc6\xec\xa4\x74\x9e\x53\x7d\x26\xf5\x92\x32\xdc\xa9\x0b\xe3\x4b\x0e\x7a\x4c\xa7\xe8\x82\x5b\xc9\xbd\x56\x19\x59\x9b\xbd\x73\x0d\x59\x4a\x48\x7e\xa6\xe1\xe5\x55\xe3\xf5\xeb\xf5\x58\xae\x30\x0f\xa0\x99\x26\x4b\xf1\x92\x2e\x8c\xf1\x64\x2f\x0a\x97\x17\x49\x50\x7a\xd8\x93\x9f\x74\xa0\x1d\x7a\x43\xa7\x7b\xc9\x62\x11\xc4\x33\x43\x87\x7c\xba\xea\x68\x09\x90\x2d\x83\x8c\xd1\x83\x34\x59\xac\x47\x93\x93\x56\xc2\x86\x19\xf5\xda\x61\x6c\xbc\x8a\x25\xe5\x54\x83\xc3\x2c\x3c\x2c\xe2\xbf\x92\x33\x8c\x4f\x77\xa8\xc7\xb6\x8b\xcf\x56\x0b\x5a\x71\x03\x35\x1a\x83\xfa\xdf\xef\xe5\xb8\xf9\x7e\x91\xcc\x6e\x3d\xda\x81\x3f\x24\x9c\x26\xb1\xc7\x0c\xda\x81\x40\xb3\xa7\x5d\x21\x5b\x5e\x84\x8b\xe0\x92\x66\x2f\x00\xb0\x3d\x1a\xe8\xa0\x65\x64\x3e\x64\x45\x81\x28\x8f\x2e\xcf\x92\x29\x1e\x96\xe0\xb1\xa6\x70\xbb\x2d\xc4\x93\x89\x7e\x9f\xe7\xf2\x19\xdd\xcf\x41\x9a\x19\xeb\x05\x2e\xf9\x8e\x38\xbc\xec\x5e\x3e\xd4\x04\xd2\x40\x05\x33\x32\x92\x2a\xcf\x33\x25\xf1\x34\x0a\xa7\x5f\xd5\x93\x10\x82\xaa\x79\x32\x5d\x65\xf9\x13\x4d\x51\x82\x8f\xf5\x92\x18\x18\x5c\xe9\xc5\xf9\x95\x17\xec\x6c\xf2\xe0\x19\xef\x33\x3e\x93\x19\xca\x6f\x7c\xfc\x4a\x0c\xd3\x28\x89\x69\xc3\xed\x7f\xa8\x2d\x07\x36\x0a\x7c\x2a\x36\xb3\x01\x19\x0c\xe6\xa4\x7e\x10\x46\xd0\x52\xc7\xe1\x53\x65\x40\x54\x70\xd1\xbf\xad\x82\xa8\x51\x5b\x54\x70\x4a\xa4\xe2\x54\x8c\xc0\xfa\x10\xda\x07\x0e\xda\x8e\xc5\x54\x19\xfe\xbd\x38\x50\x8b\xd8\xc5\x35\xc7\xa2\x84\x2d\x7d\xa2\x03\xee\xe3\xe4\x7a\x2f\x89\x9a\x4f\x53\xa7\xc9\xb5\x64\xff\x34\x89\x56\x8b\x58\x1e\xa5\x4e\xbe\xd1\x74\x1e\x25\xd7\xfe\xc6\x46\x5a\x20\x51\x8f\xc1\x27\xdf\xea\xef\x30\xfe\x4a\x9c\x0f\x37\x33\x07\x37\x64\x19\x6a\x09\x65\xfc\x66\x23\xf2\x35\xcd\x8e\xd4\x56\xf1\xa1\x66\x5d\x47\xec\xd3\x3c\xd8\x58\xc4\x23\xbd\x01\x8a\xe2\x65\x89\x9e\x20\x0a\xcb\x4b\x93\x3e\x03\x65\x71\x8f\x95\xf7\x78\x37\xe1\x59\x8a\x23\xd5\xc9\xb5\xd2\x4d\x78\xa1\x4a\x84\x2c\x8c\xf7\x9c\x92\x5e\x39\xd7\x61\x62\x3b\x48\x83\xc5\x9a\x56\x67\x42\x4d\xcb\xbd\x7d\xcf\xc2\x6f\xe7\x3e\xc5\x3f\x3c\x62\x95\x46\x79\x4f\xc0\x3b\x1a\x99\x9f\x16\xae\x09\xc2\x39\xe0\x56\x8f\x14\x83\xcd\x1a\x84\x31\x4d\xd5\x48\xf1\x0e\xfd\xde\x15\xa8\x7a\x91\x3c\x90\x2f\x28\x2b\x9d\x5e\xce\x8f\x3a\xab\xcd\x21\xbd\x40\xa1\x03\x23\x7c\x8a\x5a\xf8\x83\x0a\x97\xd3\x76\x18\x87\xac\x9d\x7c\xd5\x3d\xd1\x68\xc5\xbd\x9b\x8c\xc6\x33\xa9\x87\xbe\x8d\xe7\xc9\xb9\x61\x6e\x63\x36\x59\xeb\x76\x18\xcf\x13\x35\x6f\xa5\x06\x9d\x8c\xdd\x46\xe8\xc1\x65\x19\x05\xb7\xbe\x3e\x8f\xe8\x8d\xde\x58\xa3\xce\x32\x49\x99\xdd\x49\x62\x11\x2f\x6f\xb8\x88\xea\xa8\x27\x90\xd5\x7b\x41\x87\x49\x30\x33\xcc\x6d\xa1\x1b\x96\x6a\x50\x72\xe0\x52\x79\xcf\x5f\x9b\xa7\xc9\x42\x43\xd6\x7b\x3a\xe1\x6c\x31\xef\x1f\x64\xa8\xda\xd9\x9a\x01\x81\x96\xfa\xa1\xf1\x5a\xcb\xd1\x6b\xed\x7d\x29\xee\x47\xf8\x51\xbf\xe7\xd3\x9c\x1f\x0f\x4d\xcb\xe9\x4d\xf4\x35\x6c\x1f\xd4\xb3\x70\x06\x5c\x26\x19\x13\x58\x8d\xef\xe8\x26\x27\xef\x15\x3a\x09\xd2\xcb\x6f\xde\xf8\xbb\x40\x0e\xb6\x8b\xb7\xb6\x34\xe7\x5e\x7a\xf5\x5b\xa5\x11\x19\xaf\x87\x9b\x98\xeb\x19\xf8\x18\x9b\x6b\x5d\xb2\x74\x6f\xa8\x33\xc7\x57\xf6\xa7\x53\xba\x64\x87\x41\x7c\xb9\x02\xc5\xc4\xa8\x09\x3f\xb5\xca\xe5\xbe\xac\x93\xf1\xf7\xa0\x9c\xdd\xa3\x64\x9e\xa4\x94\x6b\xf7\x7b\x49\x94\xa4\x5e\x79\xe4\x43\x91\x07\x65\x08\xc3\x24\x85\x45\xb0\x2e\xcf\xeb\x32\x84\x61\x92\xe9\x2a\xcd\x92\x74\x1d\xfc\x5e\x91\x6a\x98\x64\x9e\x70\x3d\xbb\x91\x18\x9e\x24\xa0\x0e\x82\x45\x18\xdd\xae\x81\xe3\x89\x48\x6f\x46\x3f\x1d\x1f\x7a\x82\x87\x9f\x8e\x0f\xf1\x79\xfe\xfb\x49\xf5\xcd\xe2\xa6\x96\xdb\x03\xc5\x69\x0f\x54\x2c\xda\x30\x04\x72\xb5\xaa\x9e\x15\x93\x1a\x4e\xb7\x4a\x01\x92\xcf\x18\xb9\x44\x59\x06\x60\x07\x7d\x48\x66\xb9\x53\xb6\xc6\x44\xf5\x85\xcc\x2a\x58\x7e\x3b\x76\x8f\x13\xf6\x50\xa5\x1e\xeb\x8f\x4a\x57\x6a\x38\xad\xdd\x34\x06\xea\xef\x14\x89\xfc\xda\x94\x43\x68\x61\x86\xd7\x67\x32\xca\xb4\xd5\xb2\x23\x9f\x1f\x6f\x1e\xe0\xf5\xd1\x4b\xf9\xa0\x65\xf7\x8d\xd5\xca\xae\x92\x6b\xb5\x4e\xf9\x52\x00\xc5\xb7\x3d\x73\x4b\x04\xfd\x41\xc9\x09\x6b\x27\x0f\x8d\xe9\xc4\x4b\xef\x0b\x57\xc0\xe2\xd2\x70\xe1\x7d\xe3\x49\x2d\x67\x4a\xd9\x2c\x2f\xe8\x01\x91\x5a\x20\x1e\x5e\xff\x16\x66\xe1\x45\x44\x75\x7e\x66\x4f\x1c\x75\xaf\x58\x97\x46\x3e\xd7\x9a\x24\xf4\xa9\xa1\xa3\x2e\xa8\x93\x41\xcf\x02\x53\x82\x1a\x3a\x57\x06\x75\xd2\x73\x2d\x7c\x28\x32\x15\x1a\x6e\x2a\xd4\x44\x52\x19\x0f\xd2\x3c\x39\x37\x49\xe0\xd7\x26\x62\xe9\x85\x27\xa2\x00\x63\xe8\xb3\xf0\x9b\x6e\x6e\x07\x62\x7e\x9b\x66\xd9\x29\xbd\x61\xbe\xbe\x4c\xb2\x90\x3b\x51\x0a\x2e\xb2\x24\x5a\x31\xba\x2d\xe6\x3e\x4f\x8b\x93\x98\x6e\xc3\x04\xd8\x9e\x85\x29\xb7\x2c\x3d\x8d\xeb\x22\xdb\x2c\x59\x7a\x9a\x6d\xfd\x71\x3b\xa2\x73\xe6\x69\xbd\x3f\x6e\x23\xb1\x9e\x36\xb2\xfe\xb8\xcd\xe9\xf5\x34\xd7\xfa\xe3\xf6\x22\x8c\xdb\xf2\xdb\x81\xef\xe0\xa6\xad\xa6\x5f\x24\x37\xed\xec\x2a\x98\x25\xd7\x9e\x66\x69\x96\xe6\x2c\x6f\x8a\x8b\x89\x0f\xc9\xab\x2d\x7d\xfb\x22\x49\x67\x34\xf5\x9e\x93\x47\xcb\x92\x28\x9c\x6d\xeb\x68\x85\x45\x7e\x59\xa3\xa9\xf2\x8c\x27\xe8\xe6\x76\xd4\x49\xe2\x08\x64\xbd\x32\x89\x97\x26\xb4\xa8\xca\xd7\x9c\x89\xc0\x3f\x64\xa2\xa7\xd9\x92\x47\x7c\xe1\x2e\x02\x4d\x77\x97\xb1\x34\xbc\x58\x31\x6a\xe8\x59\x3a\xd5\xf3\xd9\xc8\xac\x27\xd3\x60\x11\xd1\x2c\xd3\xc9\x86\x65\x92\xa0\x13\x2c\x97\x34\x9e\x71\x71\x11\x99\x85\x2a\x57\x4a\x08\xf8\xf5\x08\xa1\x1f\x72\x55\xf3\x1d\xbd\x45\x9b\x1e\x02\xef\x83\x25\xea\x8b\x32\xae\xe9\xda\x01\x67\xa8\xd4\x16\xbf\x0a\x48\xc1\x24\x55\xe5\xbb\x0a\xe2\x59\xc4\x1d\x82\x8f\x75\x34\x53\x93\x15\xcb\x9f\x7f\x38\x80\x88\x8f\xe5\xbb\x59\x13\x32\xd6\xbf\xd2\xdb\x59\x72\x1d\xe7\x70\xef\xe8\xed\x9b\xe4\x3a\x6e\x00\x5b\xa6\x58\xfd\x02\xee\x08\x22\x1a\x00\x57\x4b\x15\xea\xd3\xb2\x0a\xc2\xe8\x0d\x7b\x1b\x2f\x15\xe2\x4e\x65\x4c\x09\x74\x92\x57\xf9\x7d\xb0\xf4\xb9\x71\x53\xe1\x9e\xaa\xd0\x40\xce\x30\xbe\xcc\xaa\x90\xaf\x45\xbc\x0a\x1b\x44\xec\xa7\xf4\x7d\x32\xc3\xe5\xac\x58\x3e\x92\x81\x97\xd9\xdf\xc6\x19\x4d\xd9\x51\x90\x31\xea\x6f\x88\x23\xf8\x57\xc9\x82\xbe\xa3\xb7\x19\x5f\x91\xcd\xdd\x74\x2d\x83\xcb\xa6\xe8\x29\x4b\xa3\xa3\x68\x95\xbd\x0f\xe3\x55\xf6\x57\x9a\x26\x7f\x4d\x92\x45\x8e\x0b\x52\xf7\xf6\x92\xe5\x6d\x09\xfe\xb3\x28\x50\x44\x05\x4b\xee\x8c\x30\x44\x16\x2e\x83\x59\x53\x0a\x9f\xdf\xf3\x14\x50\x20\xb2\x65\x30\xa5\x27\x34\x9e\x65\xaf\xe5\x57\x51\xcc\x55\x90\x06\x53\x46\xd3\xfd\x78\x9a\x00\x47\x7c\x7d\xc5\xe6\x6d\x37\xd7\xaf\x59\x80\x39\xf7\xb3\x69\xb0\x2c\xea\xbe\x0c\xb2\xec\x3d\x65\xc1\xe7\x3c\x26\x88\x18\x02\x7e\xb9\x0a\x98\xaf\x53\x04\xd7\xf3\xa4\xb7\x08\x5d\xd0\x1b\xb1\x9c\x14\x9e\x54\xa7\x2c\x88\x98\xec\x4e\x74\x26\xaf\x94\x2c\xe8\x2c\x0c\x80\xbb\xbb\x29\x3d\x80\xbf\x05\xdb\x53\xfa\x2d\x4c\x56\xd9\xae\x42\x47\x61\xe1\xa8\x3d\x64\x77\xca\xed\xa7\xef\x7b\xbb\x1f\xf6\xf6\xb9\xae\xa2\xba\x47\xe3\xd1\xba\x49\xc4\xe3\x5e\x35\x00\x11\xaf\x9b\xe4\x68\xf7\xe4\xa4\x96\x0c\x91\xba\x49\x4e\x4e\x8f\xdf\x1e\xd5\x12\x31\x56\x37\x4b\x34\x29\x36\x70\x5c\xbb\x0b\x23\x4c\x52\xde\x28\xbe\xdf\xdc\x68\x3b\x25\xb1\xd0\xf9\xc6\x94\x53\xfc\x06\x35\x3d\xba\xa6\x3c\xbc\xcc\x16\x45\x8d\x92\x86\x5f\x7b\x6b\x94\x2f\xe6\x77\xf9\xf0\x7f\x35\x45\x44\x57\xf0\xe2\x82\x6f\xf1\x3c\x3d\xf3\xad\x6d\xf6\xb2\x2c\x9e\xe4\xee\x1c\x93\x57\x09\x84\x77\x82\x1c\x60\xcc\x26\xdb\x74\x87\xd6\xdf\xb4\x49\xc7\xd6\x84\xa4\x63\x7b\x22\xee\x67\x56\x49\x12\x3a\xdc\xba\x4c\xf7\xcd\x12\x94\xde\xaf\x61\xd9\x2a\x5e\xcb\x34\x21\x9d\x1b\x2b\xbf\x06\x9b\x2a\xe5\xca\x5e\xae\xd0\x9a\x6c\xb5\x84\xb1\x2d\x2e\xb9\xe9\x66\xf9\xc5\xd9\xbc\xc5\x93\xf8\xf3\x29\x0c\x07\x96\x26\x5f\x15\x33\x37\x07\x30\xd7\x13\x90\xcb\xec\x86\x45\xe0\xa6\xeb\x04\xb4\x73\x7d\x15\x4e\xaf\xcc\x0e\x4b\x0e\x93\x6b\xe9\xe3\x19\x5f\xcf\xa4\x28\xb5\xde\xd1\xdb\x56\x6b\x83\xa2\xec\x78\x47\x6f\xef\xee\xf4\xa9\x8e\x6f\x3a\xe8\xdf\xe0\xaf\x78\x2d\x88\x0f\xef\x56\x4b\xbf\x48\x93\xeb\x8c\xa6\xed\xaf\xf4\x56\xf6\x6f\x55\x96\xb4\x5a\xe8\xfa\x4d\xee\x56\xca\xce\xd1\x4c\xd9\x57\x7a\x8b\x40\xdb\x94\x8b\x6d\x2c\xde\x48\xfd\xb4\x4c\xac\x49\x52\x75\xfb\xd3\x32\xb7\x6c\xc7\x95\xfe\xff\x65\xc2\x2b\xbf\xeb\xb4\x5a\x46\xaa\x16\xbe\x9d\x8a\x0e\xde\xcc\x78\xa3\x89\xaa\x14\x5d\x56\x82\x78\xa2\xb1\x74\xa0\x2a\x3c\x43\x25\xcb\xa3\x34\x59\x06\x97\x7c\xb1\xd9\x5c\xd7\xe5\x44\x5e\xbe\xb1\xb5\xbb\x5c\x7e\x48\xe2\x3d\x96\x46\x27\x50\x43\x81\xb0\xdc\x78\x95\x0d\xa1\xd2\x27\xdf\x6f\xaa\x45\x89\xcd\x9c\x56\xcb\x50\x1a\x51\xe5\x62\xbd\x0a\xeb\xbb\x54\xae\x56\xd4\x55\x97\x8a\x54\x7f\xa8\x57\x7e\x5a\x96\xf3\xdb\x2e\x74\x04\xd1\xc4\xd2\x6c\x2b\xe3\xab\x47\xb5\xfe\x61\xd8\x2f\x5f\x52\x7c\x1e\x0b\x10\xb5\x6d\xd3\x24\xce\xb0\x84\x29\x9f\x3f\x1e\x63\x32\x1e\x3b\x58\x4f\x30\xaa\x48\xeb\xbc\x5f\x27\xe6\xf7\xd0\x4f\xc4\x46\x43\x3a\x4e\x26\xf2\xe5\x40\x09\x53\xdc\x79\x8e\x5b\x2d\x23\xf6\x63\xe1\xc9\x55\xea\x3a\x64\x4c\x49\x3a\x31\xc1\x0c\xf1\xfd\xa0\xd5\x92\x3b\x67\x1b\x7e\x82\xf0\xcc\x90\x31\x00\x73\xff\x43\xdc\xba\xab\xf2\xea\xd7\xb0\x4a\x75\xcc\xc5\xab\x00\x7f\xde\xd0\x79\x36\xce\x31\x72\x1f\x9d\xf2\xf2\x18\xaa\xad\xdc\x9f\x08\x89\xfd\xc6\x59\xbb\xc3\x67\x67\x12\xac\x49\x16\x73\x33\x89\xd6\xa4\xc3\xe4\x4c\xae\xd6\x24\xe2\xe4\x4c\xa6\x7e\x3e\x04\xc8\xca\xdf\x28\xab\x30\x30\x28\x38\xcb\xc8\xd2\x2f\x27\xed\xc8\x14\x18\x2c\x42\xf8\x79\x79\x88\xcc\xfc\x8d\x17\xbf\x9c\x8d\xcf\xae\xb7\xce\x26\xf2\x79\xee\x14\xf9\x10\x2c\x4d\xe9\x61\xbf\xac\x87\x8a\xe5\x55\x20\xa6\x1d\x44\x4c\xf7\x66\xad\xd6\xb4\xd5\x5a\xb5\x5a\x06\xba\x85\x5d\xf9\x1b\xb6\xb9\x7d\x91\xd2\xe0\x2b\x5f\x51\x4d\xc1\x86\xcb\x41\x9d\x8a\xac\x92\x93\x5c\x65\x84\xac\x43\x06\x56\x64\x8e\xcb\x7e\x3e\x2e\x34\xf0\xe7\xdb\x73\x9f\x19\xd3\x1d\x5d\x1c\xa2\xd2\xbd\xd5\x8e\x8e\x48\x97\x3b\x3a\xb0\x46\xcf\xb7\x80\x79\x87\xb9\xf4\x61\xea\x08\xb2\xaf\x27\x42\xf4\xa8\x62\x88\x2c\xfc\xef\xa2\xe7\x78\x79\x1f\x22\x98\xea\x29\x50\xc0\x30\x6f\x4a\x82\x88\x79\x2b\x02\x85\x78\xcb\x7b\x72\xeb\x97\x0c\x02\x5c\x3b\xe3\x61\x63\x81\xd3\xd7\x6d\xab\x65\x5c\xfa\x53\x7f\xe5\x2f\xf1\x56\x5b\xb1\xa9\x5d\x1f\xa3\xc6\xdc\xbf\xed\x04\x18\x67\xb6\x5a\xc6\xdc\x9f\x77\xa6\x41\x14\x09\xa7\x5b\x2a\xa7\xc8\xc2\x34\x4d\xb2\x7a\xca\x44\x37\xc7\x71\x6d\xcc\xfd\xc8\x24\xf3\x0d\xdf\x8f\xe0\x63\xc3\xf7\x83\xbb\xbb\xe9\xdd\xdd\xea\xee\x6e\xc9\xcb\xf2\xfd\xab\x56\xcb\x58\xf9\xc8\xea\x46\xda\xd2\x0e\x27\x5d\xd2\xa6\xbc\x82\x50\x11\x26\xbc\x4c\xc7\xf7\x65\x57\xcc\x0f\x0e\x21\x1a\x11\x27\xce\xed\x5c\xee\xd8\x9e\x45\x6c\xf3\xc9\x33\x1a\x56\x23\x36\xcd\x70\x8e\x64\x07\x77\x77\xb5\xe7\x79\xe6\xdc\xef\x83\xec\x1e\xbe\x1f\xee\x40\xbd\x3c\xec\x24\xf0\xb5\xc2\x2f\xec\x2a\xbe\x1f\xb6\x5a\x06\xb4\x8e\x49\xf4\x3f\x8c\x75\xdf\x9f\x4b\xd2\x2c\xe2\x40\x65\x57\xc8\xaa\x4b\xe1\x80\xe1\x62\x7b\xe3\x12\x19\x37\xdd\xd9\x58\xdd\xdd\x5d\x42\xe0\x12\xc7\xcf\xc6\x74\xe7\xc2\xd7\xb7\x7b\xba\xb7\x31\xc5\x84\x15\x24\x4c\x5b\xad\x8d\x15\x26\x0c\x74\x6f\xc5\xbf\x2f\xf1\x7b\xa8\x7b\x3c\xe3\xb4\xd5\x32\x20\xc2\xd5\x4d\x0f\xfe\xf6\x75\xfc\xd3\xe5\x7f\x1c\x9d\xcc\xfd\x2e\x90\xc5\xb9\xb8\xa3\xff\x61\x6c\xeb\x5b\x17\x5b\x39\x9d\x0e\xb1\x4d\x4f\xa1\x7a\x9e\x1f\xff\x34\x55\x30\x25\xfa\x5e\x1e\xcd\x9c\xfb\xb2\x7f\xac\x6b\x17\x02\xd4\x9d\xd7\x92\x21\xa9\xac\xef\x98\xaf\xfc\x41\xaf\xd5\x3a\x7f\xe9\x8f\xfa\x88\xb1\x49\x71\x39\x6f\x0f\x7a\xb2\xef\xba\xed\x8b\x90\x35\xf7\x5a\xbb\xa8\x2e\xe7\xfa\x39\x0c\x86\xaa\x76\xb5\xbd\xa6\x0c\xf3\xde\x00\xfc\xc2\x5e\x6c\x28\xe0\xee\x6e\x29\xa6\x9d\x8a\x2d\xca\xfb\xb6\xfe\x07\x7d\x6b\x2e\x94\xf8\x35\x4a\xd9\x5c\x3c\xaf\x2d\x97\x0b\xb9\xf7\xad\xb7\xf1\xb7\x20\x0a\x67\x5a\x20\xd6\xd0\xf4\xad\x8a\xb3\x90\xb9\xd9\x98\xef\x43\xa2\xcd\xe8\x3c\x8c\x71\x85\x0e\xfd\x53\x4a\x81\x84\x2e\x2a\xa5\x06\x5a\xd2\x13\xe4\x62\x43\xdd\x87\x82\x48\xe0\xaf\xb3\x35\xe4\x58\xff\xb2\xd9\x0f\x60\x08\x66\x33\x11\x5b\xf5\x18\x23\x5e\x33\x80\xe9\x37\x2c\x8b\xc9\xf3\xca\x5c\x1d\xe6\xee\xd3\xb8\xef\xed\x50\xf5\xbd\x0d\xe9\xe3\x6c\x02\x19\x84\x1b\x6b\xee\x8c\xe3\x5d\xfe\x6d\x50\xd3\xfc\x9e\xfa\x00\xc5\xa7\x9a\xfb\x74\x27\x15\x82\xd4\x67\x9e\x91\xa2\x7c\x17\xc0\x1e\x25\xa2\x75\xd8\x3d\x09\x85\xc7\x81\x26\xc2\xe4\xcb\x0f\x24\xec\x64\x49\xaa\x1c\x6f\xc2\xca\x89\xc5\xe8\xf2\x94\x2f\xe9\x03\xf8\xbd\x64\xb1\x0c\x52\x61\x3f\x88\x04\xc2\x94\x0f\xf3\x5e\x3a\xff\x69\x2a\xdd\x1f\xa7\x93\xe6\xf6\x6e\xe4\x7d\x7d\x81\xbf\x26\x13\x73\x2b\x87\x2f\x5a\x1d\x05\x69\x46\xd3\xed\xb4\x93\x52\x7c\xd1\x96\x4f\x94\x21\xfa\xcd\x0c\xfd\x94\xbf\x68\xf6\x8e\xde\x9e\xd0\xbf\xad\x68\x3c\xa5\x0d\x9e\x17\x4b\x7b\x99\xc2\x0f\x2e\x7a\xb6\x49\x3b\x61\x96\x7b\x1d\x32\x9b\xc9\x01\x1e\x8a\xb2\x99\xc9\xbd\x75\x2a\xa5\xee\x8a\xfe\xf8\xc4\x32\xef\xcb\x25\xf2\x95\x0b\xa5\x67\x1a\xf5\x25\x3d\xd9\x77\x42\x93\x30\xd3\x2b\x63\x4c\x0b\xaf\x9c\xd2\x21\x63\x3c\xd3\x92\xb9\x96\x09\x66\xa0\xef\x9c\xea\x50\xfe\x91\xbc\x35\x42\xf9\xd3\xbd\x4f\x6d\xf6\xac\xf9\x84\xb2\xf2\xfe\x65\x01\x6b\x30\x42\xc7\xec\xf1\x4e\x55\xa8\x30\xeb\xde\x58\x5c\x37\x8c\x73\xdf\x50\x1a\x7a\x60\xad\x3c\xda\xdd\xe0\xd7\x81\x8d\x53\x3e\xfe\x9b\x06\x37\x18\x3e\x30\xb2\x73\x5f\xf7\x0a\xee\x07\x97\xba\x85\xe2\x5d\x5a\xee\x16\x8b\xb8\x75\xd3\x51\xaa\x9c\xca\xaa\x37\x18\x13\xbe\x3c\x04\xc1\x7b\xa8\x59\x5d\xee\x03\xbb\xa3\xd4\x20\xef\x30\x5f\x65\x18\x16\x2f\xc0\x08\xb4\xad\x56\x59\xee\x17\x2f\xc1\xa8\xf2\xde\x2c\x91\x82\xaf\x41\x3d\xb1\xfc\x35\xfd\x01\x97\xc6\xaa\x1e\x81\x70\x55\x4c\xf6\x11\x9e\xdd\xc8\x61\xf8\xfd\x0c\xf2\x9d\xcf\xf9\x5e\x29\xde\x9e\x10\xae\x08\x96\xa3\x9d\x09\x11\xfa\x56\x39\xbe\x3b\x41\x9d\xb9\x14\xd7\x9b\x70\x0d\xba\x14\xd9\x9f\xdc\x3f\xc2\x67\x6c\x8c\xb5\x5b\x84\xca\xc1\xf0\x06\xfb\x17\x97\xf9\x50\x63\x9d\x92\x31\x03\x3d\xd5\xa3\xf7\xd5\x87\xa4\x44\x17\xcb\x4b\x08\x49\x52\xec\x3b\x1a\xa1\xb2\x72\x11\x4a\x6b\x0e\x82\xd2\x42\x0b\x8b\xe5\xa9\x8d\xa9\x62\xcd\x54\x17\xd2\x77\x98\x97\x12\xc0\x7d\x5f\x50\x90\x3e\x85\x02\x05\xe9\x9a\x35\xf8\x9d\xd4\x63\x55\xd4\xe1\x03\xa8\xf9\xa4\x5b\xd4\x0c\xf2\x6f\xe7\xa7\xeb\x55\x93\xc9\xdf\xb0\x08\x35\xb2\x2a\xf2\xec\x69\x9c\xe3\x2c\x6a\xa2\x2e\xfe\x6d\x59\xdf\x54\x44\xa0\x4c\x20\xcd\x6b\x7c\x25\xd5\x12\x54\xd4\x22\x73\xa4\x64\xce\xa9\x53\x49\x66\xfc\xc9\x36\x8c\x53\x0a\xc5\xe7\x70\xaa\xf9\x52\x12\xe6\x91\x4a\x63\xd6\x76\x20\x76\x28\xa0\x23\xa1\xe9\xd9\x83\x81\xb4\xa3\x92\x19\xbd\xbb\xb3\x07\xc3\xca\xb7\xab\x7c\xef\x3c\xb4\xbe\xe1\xad\x5f\xbd\xb8\xbf\xaf\x48\x3f\xd4\x06\xa6\x7c\xd5\x64\xf5\xf0\xaa\xc9\xf2\x91\x55\x93\xd9\x43\xab\x26\xf3\x87\x56\x4d\xb6\xcb\xe2\x29\x33\xc6\x16\xd1\xc7\x9f\x3e\xbc\xfb\xf0\xf1\xcb\x87\x89\x4e\x66\xfc\x7f\x78\x65\x9c\xe8\xe3\xfd\x93\xbd\x89\x4e\xf4\x3f\xe8\x64\x09\xff\xc3\x3b\xcd\x0e\xd1\xc7\x07\xf6\x44\x27\xb1\xa1\xff\xe1\xe3\x11\x24\x8f\x8f\x74\x93\x2c\x21\xe0\x74\xff\xa1\x0b\xb8\x2e\xc0\x39\x12\xee\xcf\x08\xf7\xe7\x1c\xae\x97\xc3\xf5\x00\xae\x2b\xe1\x8e\x11\xee\x38\x87\xeb\xe7\x70\x7d\x80\xeb\x49\xb8\x13\x84\x3b\xc9\xe1\x06\x39\xdc\x00\xe0\xfa\x48\xf6\xd8\xc6\xec\x08\xe0\xe6\x00\x50\xb1\x83\x81\x00\x18\xe6\x00\xa3\x1c\xc0\x05\x80\xa1\x00\x70\x25\x40\xd7\xce\x01\x46\x00\xe0\x0a\x80\x51\x0e\xe0\x48\x00\x07\x98\x7a\x30\xe2\x00\x8e\x95\x03\xe4\xcc\x71\x6c\x64\xa2\x25\x20\xec\x1c\x22\x67\x8b\xc3\xd9\x6c\x0b\x88\xae\x84\xe8\x15\x85\x20\x83\x6d\x47\x40\xf4\x72\x88\xbc\x94\x91\x43\xf4\xff\x82\xd1\xa1\x11\x18\xfa\xbf\xe8\x26\x09\x0c\xfd\x17\xdd\x04\xa6\xcd\xd0\x7b\x07\xd1\xed\x0d\x00\x88\x0c\x9d\xaf\x0e\x7e\x58\x2d\xce\x75\x93\x7f\xef\x46\x4c\xfd\x7c\x4f\x59\xc0\xbf\x27\x64\xdc\xb7\x88\xee\xfc\xcb\x8f\x65\xb5\x89\xde\xfd\xa7\x1f\xcb\xea\x10\xbd\xf7\xcf\x3f\x96\xb5\x4b\xf4\xfe\x1f\x7f\x2c\x6b\x8f\xe8\x83\x5f\x7e\x2c\x6b\x9f\xe8\xc3\xd6\x8f\x65\x1d\x10\xdd\xfd\xd3\x8f\x65\x1d\x12\x7d\x64\xfc\x50\xd6\x9e\x4b\x74\xcb\xcc\xb3\x96\xb6\xc2\xd7\x21\xa8\x02\xa1\x1b\x8c\x11\xd1\xdb\xe7\xeb\xf1\xac\x89\xc7\xac\x43\xa2\xfb\x5b\x3f\x94\x75\xd8\xfd\xd1\x52\x07\xf6\x8f\x17\x6a\x13\x7d\xeb\x4f\x3f\x92\x15\x04\xcd\xeb\x77\x27\x47\x13\x9d\xa4\x86\xfe\x1f\x3a\xd1\xcf\x2e\x74\x13\xc2\x67\x17\x3a\xd1\xff\x03\x33\xc3\x50\x06\x81\x73\xba\xfb\x7a\xa2\x93\xd0\xd0\xcf\x18\x8e\xf8\xbf\xea\x26\x99\x93\x19\xa6\xbb\x36\xd1\xff\xf6\x67\x20\x21\x30\xf4\x3f\xe7\xd9\x80\x93\xd7\x5f\x44\xf4\x97\x3c\x7a\x30\x22\x3a\xdd\x17\xd1\xfb\x05\xb4\x43\xf4\xf4\x58\x44\x1f\x17\xd1\x3d\xa2\xb3\x53\x11\x7d\x5a\x44\x8f\x88\x7e\xfb\x6f\x22\xfa\xdf\x8a\xe8\x3e\xd1\x57\x9f\x44\xf4\xa7\x3c\x1a\x1a\x26\x7c\x2b\xa2\xdf\x16\xd1\x23\xa2\x27\x1f\x45\xf4\xc7\x02\x89\x45\xf4\xe5\x91\x88\x3e\xca\xa3\x1d\x14\xbc\xdf\x45\xfc\xb8\x88\x07\x71\x3a\xb9\x17\xf1\x13\x25\xde\x22\xfa\xd9\xd9\x9d\x48\x38\x3b\x2b\x52\x40\x40\xef\xed\x1e\x9d\xe4\x53\x1e\xf2\xa5\x4f\xf4\x60\x57\x40\xef\x16\xd4\x74\x89\x9e\x9d\x88\xe8\x93\x82\x8b\x2e\xd1\x67\x6f\x44\xf4\x9b\xa2\x4a\x16\xd1\xe7\x07\x22\xfa\xa0\x88\xb6\x89\x7e\xf9\x93\x88\xfe\xa9\x88\x76\x88\x7e\xf5\xb3\x88\xfe\xb9\x88\xee\x11\xfd\xdf\xff\x35\x97\xdc\xff\xaa\x9b\x64\x96\xa7\xf5\x89\xfe\xf5\x5d\x9e\xf6\x4e\x8e\xc2\xbd\x88\x06\xe9\x39\x17\xee\x08\x37\x20\x7a\x74\x98\xc3\x1d\xaa\x38\x6c\x77\x40\xf4\x6d\x0f\x12\xe7\x39\xb3\x1c\xa2\x6f\x9e\xe9\x6a\x1c\xce\xe1\xfb\x1f\x4e\xf7\x8f\x61\x92\x39\x4b\x75\xb2\x22\x2b\x9e\x02\xb3\xec\xc9\xcf\x6f\x0f\x4e\x4b\x1c\x1c\x59\x44\xff\xfb\x5f\x45\x75\xfe\x5a\x70\xd0\x25\xfa\xcd\x5f\x44\xf4\x5f\x0a\x0e\x0e\x89\x3e\xdd\x2b\x89\xa9\x3d\x65\xc0\x80\x5c\xda\x13\x03\x65\x40\xf4\x6f\x9f\x4b\x90\x9f\x2b\x90\x9f\xc5\x38\x1e\x10\xfd\xe2\x75\x5e\xeb\xd7\xb2\xd6\xa1\xb1\x24\x33\x00\x18\xba\x44\x8f\x3f\x94\x65\x63\x05\xd5\x07\x8e\x6a\x38\x24\xfa\xe2\xbd\xa0\xfa\xbd\x5e\xf0\xce\x25\x3a\x79\x09\xf1\x99\x31\x57\x78\x0a\x95\xef\xbc\x6a\x88\xb7\x89\xfe\x62\x27\x27\xe9\x9c\x4f\xc3\x3b\x45\x4b\xa1\x46\xb2\x77\x7a\x7c\x58\x52\xc0\x50\x0d\xd9\x3d\x3c\x2d\x45\x02\xae\xf1\xe1\xee\x51\x19\xb4\xeb\x10\x5d\x13\x84\xfe\x4b\x21\x34\x40\x85\x38\xae\xc2\x8e\xa0\x4d\x8f\xdf\xef\x7f\xf8\x54\x8a\xee\x01\xf0\xd1\xf1\xe9\xc9\xde\x71\x99\x8a\x1e\xe8\x5d\x27\x7b\xc7\x87\xef\xca\xf1\x30\x14\x5f\x1f\xef\xef\x96\xa3\x11\xfa\xed\x87\x93\xfd\x63\xa0\x1b\x39\xfa\x8e\xde\xf2\x63\x59\x9c\xcb\x9c\xb6\x2e\xf4\x9f\x9f\x3f\xbe\xdf\x57\xa0\x7e\x4e\x16\xb4\x04\x03\x94\x1e\xfd\xf4\xe9\x48\x81\x39\x0a\x2e\xe9\xa7\xa5\x0a\xd5\x03\x4c\x6f\xf6\x0f\x15\xa0\x37\x34\x2a\xe1\xe9\x63\x2f\x7e\xa3\x40\xec\xc7\xb3\x12\x44\x0f\x4b\x7a\xc3\x75\x60\xb5\x2c\xdc\x2b\x56\x21\xa1\x51\x4a\x14\xed\xa6\x69\x72\x5d\x21\x09\xa4\x4b\x05\x19\x82\xd5\xb0\x01\x13\x8f\xdf\xfe\xf4\x33\x30\x8b\x19\xfa\x1f\xc6\x7b\x20\xda\x3f\xee\xa9\x30\xd0\x39\x0e\xf7\x0f\x72\x90\x37\x08\xf2\x46\x01\xb1\x7b\x40\xff\x87\x4f\xef\x0f\x3f\xee\x95\x9b\x63\x04\xcc\x79\x77\x04\x7a\xe6\x32\x07\x1f\x0d\x31\xd2\x2e\x47\xba\x18\xe9\x94\x23\x47\x18\xd9\x2d\x45\xda\x96\x85\xb1\xbd\x4a\xac\x8d\xb1\xfd\x4a\xac\x83\xb1\x83\x4a\x6c\x17\x63\x87\x95\xd8\x1e\xc6\xba\x95\xd8\x3e\xc6\x8e\x2a\xb1\xbc\x0e\x5b\x93\x1f\x9a\xb1\x2d\x5e\xaf\xf6\x0f\xe6\xe6\x4c\xfd\x53\x99\x22\x9b\xd7\xff\x45\x25\x96\xf3\xaa\x53\x8e\x05\x21\x35\x7e\xbd\x8b\x8d\x75\x65\x94\xed\xa8\x9a\x21\x35\x40\x7b\xe5\xcb\x9b\x02\x36\xb7\xa5\x6a\xc6\x14\xcc\x49\xe3\xe3\xfd\xc3\x8f\xbb\x0a\x78\x6e\x52\xd5\x6c\x2a\x17\x4d\x08\x3e\xe4\x05\x70\x6e\x57\xd5\x0c\x2b\x50\x0f\xc6\x5f\xde\x7e\x38\x41\x60\x61\x5c\x99\x15\xeb\xca\xc1\x89\xe1\xf5\xf1\xdb\xd3\x76\x0e\x36\x2c\xc0\x46\x39\xd8\x50\x80\x6d\xe5\x60\x6e\x0e\x26\x2c\xad\x47\x96\xae\x54\xc9\xb2\xf6\x3a\x5a\xbe\x1e\x50\x3d\x1e\xaa\x6e\x57\xaf\x31\xf1\xf1\xd4\x20\x50\xfd\x0f\xfd\x09\x94\xa0\xf4\x6a\xa0\x63\xa3\x4c\x47\xf9\x34\xea\x2f\x0a\x11\x78\x2c\x81\x9f\x4a\xc8\x57\x63\xd4\x93\x3d\x15\x44\xf5\x25\x30\xfd\x0f\xe3\x9f\x75\x4f\xff\xc3\xc7\x9f\x75\xcf\x28\x03\xe7\x5b\x6e\x19\x16\x0b\xb4\x1a\xd5\xc5\xdc\xf2\x1a\xc4\x53\x98\x0f\x52\xf4\x57\xd7\xf8\xdd\xaf\xac\xf2\x01\x56\xf9\xe0\xb1\x2a\xf3\x37\xa7\x7e\x6d\x8d\xc5\xf4\xf3\x78\xa5\xcb\xa7\x8b\xd5\x4a\xeb\x7f\x18\xf7\xff\xf1\x18\xb5\xbc\x9c\xdf\x80\x60\x98\x0a\x1f\x1f\x1c\x0f\x9c\xf3\xad\x1c\x20\xad\x9e\x23\xd9\x90\x6d\xb8\xa3\xff\xe1\x3f\xa0\x25\xc6\xdd\x27\x8d\x96\x7c\x6e\xfd\x95\xac\x1c\x3c\x89\x95\xb8\xf1\xf1\xeb\x99\x29\xa7\xfa\xc7\x69\xae\xf5\xd4\x92\xb8\x79\x98\xe0\xc3\x30\x7e\x42\xdb\x7b\xe5\x43\x7f\xca\xf0\xa9\x1d\x6e\x7a\xda\x38\xda\xc5\x71\xb4\xfb\x94\xc6\x2b\x74\x99\xdf\x9f\x13\x4f\x69\xba\xdf\x9c\x17\xaf\x91\x17\xaf\x1f\xe5\x05\x37\xb9\xfc\xc6\x7d\xec\x35\x35\xbb\x0e\x97\x74\x8f\x5f\xc9\xcc\x1e\xa9\xd7\xa3\xa5\x8b\x65\x9d\xea\xf3\xdc\xc5\xfe\xc7\xf3\xd7\xe8\xe5\xd5\xae\x3a\xe1\xcb\x20\xcb\x44\x89\x17\x34\xc5\x91\x2f\x99\x6e\x36\x6e\xdd\xab\xd3\x68\x7e\x6e\xae\xe1\xc8\x8b\x38\x3d\x67\xcb\x6b\xc5\xba\xad\xf3\x83\x6d\x4e\x7e\xd1\x38\x45\xb3\x86\xc7\x76\xd5\xd8\xb1\x8c\xed\xa9\xb1\x60\xe8\xf3\xe8\xbe\x1a\x3d\x91\xb1\x03\x35\xf6\x17\x19\x3b\x54\x63\xcf\x65\xac\x9b\x93\xf5\x1f\x82\xac\x51\x1e\x33\xd2\xef\x1f\x6b\x23\xb1\x52\xf6\xac\x2e\x02\x9c\xe6\xf9\xaa\x8c\x7e\x48\x51\x79\x70\xc7\xe0\x31\x32\xe5\x12\xe0\xb3\xe9\x14\x19\xff\xd3\x08\xe5\x6b\x04\x8d\xc7\x62\xd6\x50\x79\x49\xd9\x1b\x71\xdb\xcf\x30\xe1\x2b\x77\xf5\x22\x4e\xc3\xf3\x83\x0e\x51\x14\x2c\x33\x3a\x2b\x9e\xb3\xc8\x31\xe5\x77\x7e\x1a\xfb\xfc\x9a\x52\xf1\x14\x50\x5e\xd2\xee\x9c\xd1\x94\xa3\x50\xbc\xec\xa4\x9d\xa9\x28\xf6\x34\xd9\x8f\x67\xfc\x3a\x40\x6a\x92\xbe\xb5\x4e\x2e\xe0\x50\xca\xaf\x9a\x36\x51\xf8\x9f\x46\xe0\x3a\xb4\x6b\x7c\xe9\x3c\x26\xea\xc4\x88\xfa\x5f\x1e\x17\xb9\xb8\x5e\xd3\xdc\x4f\xd5\x89\x45\x3e\xa1\xb9\xa4\xb1\x91\x3b\xa3\x91\x27\xa6\x3b\x57\x29\x9d\x13\x5d\x27\x3a\x3f\x59\xef\xc7\x09\xe1\x97\x93\x6f\x69\x46\x84\x2b\x17\x08\xf2\x79\xe8\x22\x48\x33\xfc\x5c\x84\x71\xb8\x08\xff\x1e\x5c\x44\x3c\x99\xbb\x3e\xd1\xb7\x44\x61\x61\x1c\x53\xee\xb7\x6d\x4b\x27\xc2\x03\x4a\x39\x91\x3b\x2a\x7a\x6c\x3a\xd3\xff\xb7\x27\xb1\xe1\x73\x33\x1b\x94\x4e\x5a\x55\xde\x8a\xcb\x6a\xaa\x9e\xdd\x6a\x35\xf4\x27\x0e\xb6\xb3\x7e\xe8\xe3\xa9\xa0\x1f\xdc\x1b\xf5\xf4\xff\xfd\xd1\x1a\xf2\x85\xb8\xff\x31\x1b\x3a\x59\xb1\xf5\x0d\x8d\x89\x4f\x6b\xe8\x5f\x2d\xb3\x7f\x85\x28\xdc\xae\xf1\xf2\xee\x2e\xad\xc8\x47\x55\x32\xee\x54\xe7\x6e\xa5\x11\xf8\xb1\xd6\xb5\x8a\xf8\x53\x64\x8d\xea\xdd\xa5\x4a\x45\x49\x0a\x19\xe6\xfd\x23\x12\xf2\x51\x55\x9e\x2f\x17\x3f\xda\xb5\x1e\xe8\xbf\x55\x0b\x45\xdc\xb2\xfc\xdd\xa6\xbd\xf2\x32\x54\x83\xef\x81\x86\x39\xab\x76\x8b\x55\x31\x9d\xe4\x19\x30\xbd\x7d\xae\xfb\xbe\x6c\xd9\x1d\xfd\xff\xd0\xd7\xd0\xc9\x7b\x2c\xcc\x3d\xf6\xc6\x03\xdd\x0b\x8a\x39\x08\xa6\x2c\x49\x0d\xf3\x09\x5a\xa1\xe8\xad\x0d\x4a\x21\x94\xa4\x5b\xba\xef\xa7\xe6\x3a\x13\x41\x71\x7d\x61\x29\xde\x03\xc2\x07\xc8\x2b\x7c\x65\x6c\xeb\x6d\x40\x7e\x77\x27\xd6\x01\x15\x26\x84\x6d\xdf\xf6\xc2\x2d\xf9\x8e\xd8\xc3\x25\x87\xb9\xaf\xcd\xe7\x68\xf2\xe2\x60\x5e\x93\x7f\xae\x68\x36\x0d\xd2\xd9\x5e\xb2\x2a\xde\x67\x13\x07\x51\x8a\xfb\x3d\xcd\xd8\x3a\x8b\x64\x16\xce\x43\x9a\x66\xf9\xe5\xc3\xe2\x70\x0d\xc7\x3f\x66\x13\x9f\x8e\xd9\xe4\xee\x6e\xc3\x26\xfa\x9f\xc4\x39\xee\x31\x9b\x88\x89\xa2\x54\xfc\xd6\x56\xcd\x17\xc8\x83\xa5\xfa\x63\x1d\xbb\x17\x08\x5b\x96\x46\x3a\xc1\xab\x01\x84\x5f\x09\x98\xac\xc9\xad\x9c\xeb\x5d\x37\x1e\x4b\x44\xbd\x64\xe5\xef\x9d\xb6\xed\x55\x40\x5e\x55\x41\x6c\xcf\x5a\x47\xbc\xe2\xea\x2b\x60\xd3\xab\x75\xef\x97\x0a\xbe\x6f\x14\x4d\x50\xb8\x74\x16\x5e\x28\xad\xed\x07\xcf\x2f\x3f\xd0\x36\xa1\x7c\x33\x2b\xc4\x43\xa6\xad\x16\x1d\x87\x93\xed\xb4\xd5\x32\xd8\xdd\x9d\xfe\x27\x9d\x8f\xb7\x71\x38\x31\x79\x2b\x8d\xc3\x09\xbf\x4b\x96\xe2\xed\x1d\xb5\x8d\x48\xfa\xc4\x8a\x8a\xc3\xa0\x6b\x57\x86\x38\x37\x0c\x4a\xa0\x84\x27\xa3\x6c\xea\xd6\xcd\x58\x2d\xc4\xfa\x51\x78\xc8\xaa\x0f\x83\x34\x58\x06\xe8\x7c\xc2\xdf\x40\x55\xa5\x88\x90\x67\x48\xbf\xd1\x34\xa3\x5f\x14\xb8\x0d\x5c\xd2\xad\x25\x08\x2f\x05\x69\x78\x19\xc6\xe8\x33\x40\x00\x16\x31\xe2\x1a\xfb\x8a\x25\x7b\x41\x9a\x86\xc1\x25\x3d\x46\x9a\x25\x64\x3d\x25\x7f\xdf\x3f\x4b\xd2\xcf\xdc\x7f\x89\x04\x2e\x45\xaa\x70\xaf\xa3\x30\xfe\x5a\x86\xc2\x28\x22\xef\x22\xd3\x94\xa9\xf4\x15\x31\xa5\x1a\x7f\x0e\x67\x34\xa9\x54\x16\xe3\x84\x1b\x81\x34\x98\x7e\xa5\x8c\xce\x84\x47\x02\x0e\x57\x8e\x7d\xf2\x49\x5f\x7e\x9e\xbd\xfe\xe0\x34\x7a\x86\xf4\x75\xe1\x35\x60\x99\x64\xf9\xcb\x92\x57\xf9\x45\x7e\x9e\x57\xbd\x32\x8f\x2f\xd9\x37\xf4\x0c\xc5\x35\x0e\x66\xd2\x10\x52\x0b\x98\x74\x4b\xb2\x4c\x32\xfe\x6e\x29\xbf\xad\x51\xc3\x5c\x1c\x53\x6f\xf0\xaa\x97\x93\xe8\x2b\xb4\x8b\xe3\xba\x8d\xd8\x2a\x07\x62\x0b\x37\x8e\xa2\xda\xb4\xa8\x35\xbb\xbb\x2b\x2a\x4e\xd5\xd9\xab\x11\x73\xf5\xf8\xbf\x4a\x2d\x7f\xe7\x3e\xbf\x33\x87\x5c\xdc\x2e\x1d\x3e\xcf\x11\x86\x33\x1a\x33\x21\x4b\xa4\x54\x79\x47\x6f\x33\x93\x8e\x1f\x85\x19\xb3\xc9\xc4\x97\x6e\xe8\x65\x3d\x5e\xd6\x39\xb3\x2d\xeb\xfc\x35\x5c\x72\xcf\xe9\xa5\x5b\xa2\x58\x93\xd3\xe4\x2b\x15\x26\xb4\x1e\xc6\x8c\x5e\xe2\x73\xc0\x29\x7a\x14\x36\x73\x39\xe9\xa7\x1d\x7c\x2a\x3c\x7f\x42\x50\x2f\x68\x2b\xc0\xc5\xc4\x2d\x60\x3b\x2c\xf9\xb4\x5c\xaa\x37\xd6\xc3\x27\x71\xa0\xd5\x7a\x14\xa4\x73\x15\x64\x1f\xaf\xe3\xa3\x34\x59\xd2\x94\xdd\x1a\xa1\x29\xcf\xeb\x3e\xce\xbb\x10\x0f\xd6\xd3\x71\x36\x69\xb5\x50\x2c\x43\x50\xf8\x77\x42\xb6\x88\x5b\x0a\xc5\x09\x74\x99\x1d\x3a\xaf\xa8\x9b\xb9\x0d\xb9\xfc\x0d\xeb\xbe\xf0\xe4\xbf\xbe\x76\x82\x89\xeb\x6a\x26\x93\x1b\x6a\xd5\x40\x97\xf4\x8a\xf7\x95\xde\x96\x09\xca\xdb\xea\xc1\x42\xc6\xe1\xe4\x3e\x27\x5a\xcf\x6e\x17\x17\x49\xa4\x6f\xc8\x16\xac\x17\x97\x5f\xd6\x10\x9d\x43\x4b\x52\x4d\x69\x7b\xde\x71\xfe\x84\x18\x38\x21\x4d\x14\xcb\x77\xdd\x35\x5e\x5e\x89\x6e\x39\x3c\xe2\xa7\x0d\x0f\x6c\xe7\xe0\x09\xed\x1c\x4f\xb6\xe9\x38\x98\xdc\xdd\x19\xf0\xc7\xd7\xff\xa4\x9b\xf7\xf9\xba\xa8\x32\x22\x88\xde\x16\x73\x73\x67\x7a\x65\xf2\x0b\xb9\xe1\xdc\xe0\xee\x76\x0b\x45\xa1\x89\x33\x2c\x0d\xd4\xdb\x69\x01\x58\x44\x1a\x0b\xd2\x4b\xca\xa0\x79\xa4\x13\xb0\x60\xf6\x2d\x88\xa7\xd4\xb0\x71\x5d\x16\x10\xfb\x0f\x22\x7e\x1f\x66\x59\x18\x5f\x96\x31\x49\x3d\xea\x41\x99\xc4\xc5\x7e\x5d\xd4\x57\xc6\x3f\x5d\x33\xfe\xf3\x9b\x48\x94\xf7\x86\x5c\x77\xe3\x63\xbf\x36\xec\x05\x18\xf7\x30\x81\x30\x6b\xdb\x90\xdf\x2c\x5b\x37\x02\x44\x6a\x75\x00\x08\xa4\x8a\x09\xb2\x3e\xef\x58\x00\x4f\xb6\x1f\x1c\x32\xca\x05\x44\x89\xfd\xfe\x81\x4e\xcf\x39\x52\xed\xf3\xcd\x6d\x40\xe9\xd7\xb5\x2e\x4e\x37\x0b\x5f\x32\x77\x77\x9b\xfa\x66\xfe\xb5\x16\xd5\xdb\xbc\xbc\x75\xd3\xe1\xf4\x4a\xbe\xbd\x3d\x0e\xda\x7f\x3f\x9f\xbc\x08\xd7\x13\xf6\x96\x0f\xde\x27\xa0\xb2\xda\xa3\xc9\x8b\x07\x66\x3e\xec\x2f\x25\xff\x8d\x38\xfe\xf3\x0a\xe5\x93\x20\xf7\x37\x2e\x04\x0c\x41\x56\x7b\xb2\xd2\xdb\x6a\xe1\xc5\xf0\x20\x34\x1f\xa0\x65\x16\xe4\x56\xa8\xc0\xaa\x34\x86\x8a\x19\x09\x54\x73\xdd\x6f\xab\xf8\xc4\x83\xe9\x15\x5c\xa2\xd3\xd7\xf0\x48\xe8\x32\x0e\xc1\xc8\x1a\x41\x62\xe6\xac\x53\x23\xe1\xef\x1b\xfb\x65\x2e\x18\x19\xb0\x75\x5d\xcf\x2a\x57\xab\xc2\xfc\x8d\x66\x7e\x3d\x24\xc9\x55\xf1\x5d\x52\xb0\xa0\x20\x79\xfd\x0f\x7b\x95\xd5\x1e\x9d\x4f\xb6\x5e\x5c\xae\xeb\x5a\x4a\x15\x1b\x7a\xbd\x55\x74\x0b\xe9\xcb\xa2\x51\x4f\x69\xdb\xad\x96\x7e\xa3\x97\x95\x3b\xa1\x87\xe5\xba\xa3\x4d\x6c\x73\x47\x16\x68\x34\xd0\x6b\xdd\x40\xe7\x0d\xda\x73\x4e\xb0\xe9\x3d\x04\x7c\x36\xdb\x7a\x71\x69\x3e\x50\xab\xfa\x50\xe6\xfd\x1a\xf4\x65\x59\x29\xe8\x19\x9b\xfa\x26\xf7\xb6\xb3\x89\xde\x76\xea\x6c\xe7\x88\x34\xd9\xd2\xf5\x49\x41\xb9\x0e\x08\x4a\xf4\x31\xbd\xdc\xbf\x59\x1a\xfa\xf8\xec\xec\xec\x4c\xdf\x42\xd7\xd8\x44\xbf\x94\xf9\xd6\x6a\x7a\x78\xbb\x34\x0a\x32\xf6\x36\x9e\xd1\x1b\x5f\x02\x93\x8d\x14\x1d\xd4\x1b\x4a\xa6\x66\xb5\x42\x2c\x8c\x28\x62\x2f\x0a\x19\x4d\xd1\x55\x04\x48\xf8\xad\x86\xe6\xc1\xdb\x93\xb2\x24\xa5\xf8\xb6\x2d\x9d\xbc\x89\x6a\xaa\x69\x32\x03\x00\x71\xf6\xdd\xdd\xe9\x67\x67\xca\x2c\x0c\x32\x05\xf9\x59\x4d\xc8\x4d\xf9\xe9\x95\xef\x33\x73\xad\x18\xe1\xce\x85\xb6\x64\x3e\x52\x65\xb9\x7a\xc5\xb4\xc8\xb6\xa5\xcc\x8b\xfc\xd6\xbb\xd1\x34\x3b\x3c\xc8\xaa\xf5\x3d\x4a\xf8\x74\xab\x9b\x0b\x9b\xfa\xa6\xb7\xa9\x6f\x12\x7d\x53\xf7\xf4\x4d\x9d\x40\x95\x3d\xf8\x21\x81\xa7\xff\xaf\x3a\xb9\xf0\xf0\x1c\x39\xf5\xf4\x3f\xe8\x64\xee\xe9\x67\x73\x9d\xc4\x9e\x7e\x16\xeb\x24\xf5\xf0\x38\x2f\xf3\xf0\x34\xf9\x37\x4f\x3f\xfb\xa6\x93\x1b\xaf\x56\xc6\xfa\xe1\x3d\xf9\xee\xdc\xc3\x70\xd9\x7e\x60\x87\x39\x1f\x48\x94\xd8\x03\x18\x34\xab\xe7\x95\xd0\x7b\x76\x09\x28\x74\x37\x64\x53\xcb\x05\x95\xaa\x7e\x20\x7b\xc5\x43\x6a\x32\x77\x75\x90\x7b\x15\x9f\x5e\x71\x15\x88\xf9\x74\x2c\x22\x26\xeb\x66\xa3\x86\xbb\x92\xac\xd5\x32\x98\xcf\x0a\xef\x23\xa6\x49\xd8\xfa\x26\x6f\x5a\x49\xe1\x9e\xbb\x2e\xa3\xe4\x22\x88\x1a\xe8\x06\x69\x9a\xc6\x41\xc4\xed\x67\x4f\x3b\x59\x06\xb1\xb6\xe4\x78\x32\x6d\xb1\xca\x98\x76\x41\x35\x9e\x5d\x07\xad\xbf\x3e\xe4\x65\x05\xeb\xe3\x9e\x6f\x3a\xde\xdd\x51\x75\x34\x8e\xad\x89\x90\x22\x1b\x39\x8a\x87\xa6\x0f\xd4\x14\xb4\x79\x92\x72\x63\x7e\xbb\x6a\xa2\xab\xc8\xed\xea\xc8\x23\x50\x5c\x23\xc3\x04\x4c\x7d\x15\x09\x84\x7f\xee\xa4\xff\xea\xa1\x39\x62\x9d\xc9\x9e\xeb\xbf\xd5\x86\x78\x71\x96\x09\xd7\x40\x79\x57\x12\xd7\xb9\x5f\x9c\x65\x5b\x2f\x2e\x17\xdb\x6c\x1d\x7f\x53\x95\x10\x54\x11\x38\xbb\x53\x53\x7a\x7f\xc2\xb5\x85\x22\xbb\xf9\xc4\x1a\x10\xda\x6a\xb5\xed\x7c\xe2\xec\x84\x90\xf9\xe3\xdc\x68\x94\xda\x79\xa3\x24\x31\xd5\x92\x39\x34\xc8\x96\x4e\xb4\x79\xb2\x8a\x67\x6a\x9f\xbf\x57\xf8\xa2\x28\xcf\xfe\xf7\xe6\xf8\x92\x25\xe5\x7f\xc7\x0b\x02\x9e\x5c\x16\xde\x3b\x3d\x3e\xf4\xc4\xda\xf0\xde\xc7\x0f\xa7\xc7\x1f\xf3\xcf\xdd\xc3\x53\xee\x49\x86\xbc\xdf\x3f\xdd\x15\x6e\x64\xd6\x14\x21\x0d\x52\xff\xfb\xfe\xc9\xde\xee\xd1\xbe\xe7\x0c\xc9\xfe\xc9\x1e\xfc\x39\xb0\x3d\xdb\x76\xc8\x81\xe3\xd9\x76\x97\x1c\x74\x3d\xdb\xee\x91\x83\x9e\x67\xdb\x7d\x72\xd0\xf7\x6c\x7b\x40\x0e\x06\x9e\x6d\x0f\xc9\xc1\xd0\xb3\x6d\x97\x1c\xb8\x9e\x6d\x8f\xc8\xc1\xc8\xb3\x1d\x8b\x1c\xd8\x96\x67\x3b\x36\x39\xb0\x6d\xcf\x76\x1c\x72\x60\x3b\x9e\xed\x74\xc9\xc7\x0f\xfb\x5e\x6f\x44\x4e\xbf\x7c\xf4\xfa\x16\x39\xfd\xf9\x78\x7f\xdf\xeb\xdb\xe4\xe0\xe3\xa7\x63\xaf\xef\x90\x83\xb7\x9f\xf7\xbd\x7e\x97\x9c\xbc\xfd\x8b\xd7\xef\x91\x93\xfd\xcf\xfb\x1f\xbc\x7e\x9f\xec\xbf\xfd\xe9\xe7\x53\xaf\x3f\x20\x1f\xde\x7e\xd8\xf7\xfa\x43\xf2\xd7\xfd\xe3\x8f\x5e\xcf\x25\xaf\x77\xf7\xde\x9d\x1c\xed\xee\xed\x7b\x2e\x79\xfd\xee\xe4\x08\xfe\x9c\x78\x2e\x39\xdd\x7d\xed\x8d\xc8\x9f\x3d\xd7\x26\x5f\x3c\x77\x48\xf6\xbd\xc1\x88\x1c\x7b\xae\x43\x4e\x3d\xb7\x47\xfe\xcd\x73\x47\xe4\x93\xe7\xf6\xc9\x5b\x6f\xd8\x25\x1f\xbd\xe1\x88\x1c\x79\xae\x45\xf6\x76\x8f\x4e\xce\x0f\x3f\xee\xbd\xf3\x1c\xfe\xa1\x86\xe1\xef\xae\x37\xe8\x93\x13\xcf\xed\x92\x37\xde\xc0\x25\x07\xde\xd0\x22\x3f\x79\x43\x9b\xfc\xec\x0d\x1d\xf2\xaf\xde\xb0\x47\xde\x79\xc3\x3e\x39\xf4\x86\x03\x82\xf7\x3d\x3c\xbb\x0b\x01\xf8\x73\xbc\x7f\xfa\xe9\xf8\x83\x08\xc1\x9f\xbf\x7a\x23\x8b\xfc\xc5\x73\x5d\xb2\xe7\x0d\x86\xe4\xb3\xe7\x0e\xc8\x6b\x6f\x30\x20\x1f\xbc\xa1\x4b\xde\x7b\xc3\x21\xe1\xb5\xeb\x3a\xe4\xe4\x08\x7e\x8f\x8e\xdf\x7e\x38\x3d\x3f\xd9\x3b\xde\xdf\xff\xe0\xf5\xe0\xfb\xf4\x64\x0f\x02\x27\x7b\xc7\x1f\x0f\x0f\x39\xed\x76\xaf\x4f\xf0\x9e\x01\x86\xf0\x6a\x81\x67\x8f\xc8\xeb\x63\xfc\xc3\xef\x14\x78\xbd\x3e\x84\xe0\xcf\xcf\x1f\xdf\xef\x7b\xdd\x01\x39\xda\xfd\x69\xff\xfc\xd3\x91\xd7\xed\x92\xa3\x9f\xf8\xdf\x37\xfb\x87\xfb\xa7\xfb\x5e\x6f\x00\x21\xf8\xb3\xff\xe1\x8d\xd7\xed\x73\xd0\x37\x1f\xbf\x7c\xf0\xba\x3d\xc2\x8f\xfb\x8b\x10\xfe\x85\xcc\x2e\xc1\xd8\x9e\x45\xf0\x58\xbe\xd7\x1d\x91\xc3\xfd\x83\x53\xaf\x3b\x24\xe2\x7c\xbd\x67\xf7\x7a\xe4\xdd\x91\xe5\x8d\x06\xe4\xdd\x91\xed\x8d\x86\xe4\xdd\x91\xe3\x8d\x5c\xf2\xee\xa8\xeb\x8d\x46\xe4\xdd\x51\xcf\xb3\x2d\x8b\xbc\x3b\xea\x7b\xb6\x65\x93\x77\x47\x03\xcf\xb6\x1c\xf2\xee\x68\xe8\xd9\x56\x97\xbc\x3b\x72\x3d\xdb\x02\x1c\x23\xcf\xb6\xfa\xe4\xdd\xd1\xf9\xd1\xe1\xa7\x13\xcf\xb6\x00\xd3\xf9\xee\x9b\x37\x32\xf8\xfe\xed\x07\x8c\x07\x9c\xe7\x27\x9f\x5e\x9f\x1e\xef\xee\x9d\xe6\xdf\xa7\xbb\xc7\x9e\x6d\x0d\x10\xf0\xd3\xe1\xe9\xdb\xa3\xc3\x7f\x93\xdf\x6f\xde\x7e\x7e\xfb\x66\xdf\xb3\x6d\x1b\xbf\xf6\xf7\xde\xbe\xdf\x3d\xf4\x6c\xdb\xc2\xc2\xf6\x8f\xdf\x7e\x7c\x83\x5f\x1f\x76\x3f\xbf\xfd\x69\xf7\x74\xff\x1c\x7a\xa4\x67\x43\x13\xca\x98\x83\x8f\xc7\x5f\x76\x8f\xdf\x78\xf6\x60\x48\xf8\x81\x72\xcf\x86\xae\xf3\xe9\xf0\x50\x36\xa4\xed\x76\xc9\x97\xb7\x1f\xde\x7c\xfc\x72\xfe\xf1\xf3\xfe\xf1\xe7\xb7\xfb\x5f\x3c\xdb\x75\xc8\x6b\x64\xdd\x87\xfd\x93\x13\x68\x17\xc7\x1e\xa8\x31\xc8\x5e\xc7\x1e\xae\x19\xdc\xc2\x28\xcf\x9d\xbe\x3e\x78\x4d\x5a\x3a\x7e\x7d\xf8\xb2\xf4\x03\xbb\xaf\x78\x5f\x5a\x3d\x71\xeb\x35\x3e\x21\xf5\x8c\x33\xb9\xf7\xa4\x7c\xea\xf4\x31\x84\x4f\x38\xde\x28\x51\x9e\x26\xa7\xc9\x83\x04\x3e\x7e\xc4\xb9\x40\xf5\x3a\x61\x2c\x59\xfc\x5a\x6c\x7c\x63\x5f\x1c\x9d\x98\x7e\x6d\x46\xf7\x9c\x13\x8f\xb5\x07\x59\x48\xf9\xc1\x3f\xe8\x34\x29\x9d\xd3\x94\xc6\x53\xfa\x3e\x88\x83\x92\xfd\x08\x73\x73\x3d\x5d\xf1\xf8\x56\x7d\x57\x8e\xe8\x2f\xf8\xa3\x56\xcb\x34\x99\x87\x11\xcd\x5e\xa0\x62\xc2\x67\xf2\x86\xa2\x64\xf6\x22\x21\xdb\xfe\x78\xf1\xef\x74\x8a\x9b\xc7\x99\xc1\xcc\xfa\xf6\x9e\xd4\x46\x70\xbd\x8f\x16\x39\x0d\x4a\xd8\x98\xe2\xd3\xae\xb5\x7d\xd6\xa6\x3a\x30\x7a\x99\xa4\x21\x95\x53\xef\x03\x10\x39\x83\x7d\x5d\x86\xf4\xc7\xb2\xec\x2e\x97\x34\x48\x51\x8f\xd2\x8b\xf0\xa3\xd9\xf6\x92\xe5\x2d\xdf\x6a\xd2\xf3\xe0\xa3\x99\x4e\x40\xc9\xc8\x7c\x9d\xff\x7d\x1c\x1c\xfb\x17\xba\xbc\xce\x83\x8f\x66\x2a\xdc\x64\xcb\xd0\xa3\x59\xde\x87\xd9\x94\x46\x51\x10\xd3\x64\x95\xf9\x7a\xe9\xf3\xc1\xcc\xb7\x6f\xf2\xa5\xdc\xcc\x1f\x7f\x0f\x67\xde\x93\x99\x4d\x18\xbd\x61\x9e\xc2\x71\xcd\x98\x27\x31\xcb\x88\x36\x4d\xa2\x24\xcd\x88\xc6\x9f\x5b\x33\xf5\x7b\xf2\x04\xc4\x79\x1b\x08\xbc\xf0\xad\xb5\x34\xde\x2c\x4f\xc2\x20\xb9\x25\x10\xe4\xcc\x7b\x52\x66\xd9\xdb\x44\xe6\xbc\xf3\x3d\x29\x73\xde\xb6\x22\x77\xd1\xd6\x4f\xcb\x8e\x9d\x49\xe6\xe5\x3d\xeb\x49\x19\x4b\xed\x2c\xf2\x43\x5c\x47\xbf\x9f\x34\xb6\x7a\x5d\x06\xf8\xdf\x41\x77\x6d\x5f\xa6\xed\x45\x32\xa3\xba\x37\x7e\x2a\x9f\xd0\x93\xdb\x18\x7f\x85\x2b\xfb\xc2\x89\x28\x29\x1c\x7b\x12\xc5\x61\xe8\x84\xe8\xfc\x68\x94\x16\xc4\xda\x6e\xc4\x7e\x4a\xb5\x19\x65\x54\x38\x48\x09\xa6\x5f\x7f\xf9\x72\x45\x57\x69\x98\xb1\x70\xda\x39\x8b\xcf\xe2\x4d\x40\xbf\xe9\x69\xbb\x2b\x96\x70\x48\xed\x22\xc8\x50\xf3\xd7\xe2\xe0\x5b\x78\x19\xb0\x24\xed\x44\xe2\x01\x1c\xef\x2c\xd6\xf0\xdf\x26\x8d\xdb\xab\x6c\x53\xf3\x5f\x69\x9b\x40\xda\x26\xd1\x70\xed\x03\xbe\x73\x6a\x36\x01\x3d\x24\x7a\xda\x9b\x30\x0b\x2e\x22\xaa\x05\xf1\xad\x20\x2b\xa5\x11\x2e\x74\x2c\x56\xf1\x25\xd8\xed\x67\xf1\xa6\xac\x1c\x90\x93\x65\xab\x05\xd5\xf6\x58\x1a\x6d\xed\x46\x4c\x5b\xd0\x20\xce\x78\x4e\x80\x94\x75\x2f\x20\x21\x46\x6b\x80\x2c\x88\xc9\x41\x31\xaa\x01\x16\x98\x07\x0d\x95\x3b\xfa\x69\x87\x59\x1b\x4c\x8d\x22\xe6\x19\x8d\xb7\x61\x13\xfd\x22\x49\x22\x9d\xe8\x6f\xe7\x5a\x46\x19\xd1\x56\xf1\x2c\xa1\x99\xc6\xae\xa8\xc6\xbd\xee\x6a\x1f\x4f\xa0\xf4\x76\x7e\x9d\xa6\xfd\xea\xcd\xfe\xa1\x96\xd2\x45\xb0\x24\x5a\x96\x68\xec\x2a\x60\x5a\x89\x26\x0d\xec\x36\x3a\xd3\xc2\xac\x1c\xdf\x91\xd4\x0b\x9a\x7f\x8c\xd2\x13\xca\xb4\xeb\x2b\xca\xae\x68\x8a\x64\x06\x11\x93\xbb\x1b\x99\x16\x64\x5a\xa0\x01\x6e\x8c\x4a\x52\x1e\x31\x83\xbe\x14\x4f\x99\x84\xcd\x09\xc9\x68\x3c\xcb\xda\xd7\x57\x01\x7b\x06\x2d\xf9\x93\x03\xe3\x3c\x24\xbc\x56\x92\x92\xe7\xd5\x09\xd1\xf7\xb8\xef\xab\x4c\xbb\x42\xe3\xb5\x20\x36\xcc\x34\xee\x6f\x7e\x86\x3d\x5c\x13\x6b\x35\x1d\xfe\x4f\x3b\xa1\xf1\x0c\x46\xc7\xfe\xc9\x9e\xb6\x4c\xe9\x3c\xbc\xe9\x00\x10\x96\xd2\x91\x40\xbb\xb3\x99\x66\x3b\xae\xc6\x12\x44\xbd\x8a\xd1\x48\xa5\x33\x2d\x77\xda\x0f\xb5\x0f\x63\xed\x06\xcf\x48\x00\x02\x85\xbc\x4e\x47\xfb\x12\x84\x0c\xfd\x4a\x42\x76\xf9\xc2\x86\x86\xbe\x56\xb5\x20\x9e\x69\x19\xa5\x1a\xf0\x06\xd3\x45\x56\x4d\x8e\xae\xe2\x5f\x16\xdc\x66\x1d\x4d\x33\x4e\xaf\xc2\x4c\xbb\x4e\xe2\x4d\xa6\x5d\x27\xe9\x57\xed\x9a\x46\x11\x0c\xd1\x65\x14\xb0\x79\x92\x2e\x32\x68\xb6\x94\x22\xb6\x3a\x16\x89\x7f\x49\x53\x0e\x8c\xfb\x8b\x20\xa6\xc4\xbe\x15\x52\x9a\x25\x0b\xce\x44\xe9\x38\x2f\xeb\x98\xd8\x98\xab\x59\x78\x11\xd1\xf6\x05\x8d\xa2\x76\x06\xb2\xf3\xf1\x06\x15\xf2\x16\xd4\xb3\xb6\x7c\x2d\xd4\xe3\xca\x14\xa0\x4b\x5e\x00\x32\x9d\xe8\x2b\x3c\x09\xf6\xe9\xf8\x50\x4b\xe6\x48\xbc\x3c\x46\xa7\x01\x80\x86\xa5\x75\x34\x6d\x7f\xb1\x64\xb7\x72\x4d\x14\x68\x8d\x13\x4d\x90\x85\x80\xd8\xe9\xc4\x0b\xa1\xed\x58\x79\xfb\x13\x89\x7e\x32\xb9\xc5\x48\xd8\x7c\x3b\xd7\x58\xba\xa2\xa4\x4c\x50\xc6\xfd\xcb\x51\xad\x78\xd1\x4b\xbb\x0e\xa3\x48\xe3\x8f\x43\x68\x81\xf6\x85\x5e\x94\x1e\x1f\xed\x68\x57\x8c\x2d\x33\xef\xc5\x8b\xeb\xeb\xeb\xce\x75\xb7\x93\xa4\x97\x2f\x4e\x8f\x5f\xa8\x44\x66\x2f\xa0\x9f\xbe\xe1\xef\xda\x40\x0d\x4b\x89\x5a\x4a\xff\xb6\x0a\x53\x9a\x41\xf3\x2d\xc2\x2c\xc3\xf6\x4a\x93\x05\xef\x99\x60\x22\x69\x5f\xae\x28\x5f\x29\xd3\xf8\xdb\x4c\x30\x06\x32\xca\xb0\xfb\x62\x2d\x90\xf5\x9c\xd4\x80\x31\xba\x58\x62\x5a\x90\x7d\xcd\x91\x20\x5b\x95\x12\xc2\xb9\x16\xd3\x29\xcd\xb2\x20\xbd\xed\x40\x95\xf2\x6e\x9a\x69\x8b\xe0\x96\xbf\x4a\x75\x25\xd6\x8d\xd4\x8c\x40\x2e\xcd\x18\x20\x08\x99\x36\x0b\x67\x08\xca\x0f\x54\x01\x8f\x90\xf4\x80\x97\xc9\x7b\x1f\x0e\x53\x21\x11\xe9\x0d\xa3\x71\x86\xf5\xbe\x0e\xd9\x15\x92\xa7\x97\xf8\xa1\xab\x85\x5d\x05\xdf\xa8\xfa\xcd\x12\x4d\xbc\x0f\x54\x66\x62\x67\x73\x42\xf4\xa2\xd1\xda\xa8\x3f\x3d\xde\x2f\x14\x55\x4c\x4f\x2f\x2f\x0c\x7b\x40\x34\xfe\x9f\x09\x93\x31\x22\x21\xfa\x69\xb9\x43\x60\x34\x1f\xfb\xf4\x86\xf1\x6a\xc4\x89\x96\xa0\x54\xe5\x89\x81\x7c\x7c\x28\xc3\x9e\xab\x10\x86\x0a\xdd\xf3\x08\xd3\x49\xbe\xd9\xa8\xef\x9d\x9c\x68\x7c\xc7\x5c\x8c\x27\x85\x2e\x44\xbd\x66\x30\xf1\x34\x68\x87\x83\x24\xd5\xe8\x4d\xb0\x58\x46\x7c\xb6\x5f\xa5\x91\x21\xbb\xf0\x65\x92\x74\x2e\xa3\x17\x41\x4c\x67\xa7\xef\x4c\x48\x8d\xc2\x98\x06\x69\xfb\x32\x0d\x66\x21\x8d\x99\xc1\x92\xa5\x76\x81\xc6\x23\xd1\x2e\x22\xe8\x79\x29\x9d\x99\x95\x3a\x66\xe1\xdf\x7f\xcf\x2a\x6a\x80\xbf\xa3\x69\xc2\xa7\x75\x06\x9d\x02\xd4\x90\x2a\xab\xe5\x03\x5d\xbf\x27\x29\xb2\x8c\x46\xd6\xda\xd6\x1f\xe1\x3f\x08\x4e\x69\xcc\x68\x2a\x09\xe4\xba\x00\x9f\x40\x7f\xbd\xee\x21\xe4\x98\x20\x8f\x6b\x11\xd9\x55\xb2\x8a\x60\x16\x8a\x67\xda\xeb\x13\xcd\xd8\x3c\x3b\xbb\xb1\xdc\x4d\xa2\x05\x5f\x03\xed\x97\x9f\xcd\x8e\xa6\x7d\x84\xfe\x7a\x1d\x66\xb4\x92\x15\xa6\x58\x35\x3b\x64\x1d\xce\x37\x91\xbb\xf9\xec\xd8\x5e\x04\xcb\x76\xf2\x8d\xa6\x69\x38\xa3\xd9\xb3\x38\xcc\xf5\x5d\x64\xab\x4e\x36\x71\xe2\x03\x69\xb6\xa4\xd3\x70\x1e\xd2\x19\x6a\x1d\xb1\x96\x70\xbb\x5a\x7b\xcb\x50\x15\xd2\x32\xdc\x18\xd1\x82\x34\x0d\x6e\x89\x98\x0c\x69\x30\xbd\xd2\x96\x62\x57\x07\xc0\xa0\x22\xc5\x04\x0e\x02\x72\x9a\xcc\x28\xce\xc7\x90\x24\x8e\x9a\x28\xf8\xb9\x02\x56\x2b\x40\x0b\x59\x46\xa3\x79\x47\x7b\x1b\x73\x88\x72\xe9\x8d\xe5\xa6\x74\x4a\xc3\x6f\x65\x0d\xa2\x5a\x2e\x7c\x08\xf1\xa5\x02\x36\x76\x9e\xef\xba\xa5\x7b\xdf\xf5\x2d\xdc\xd2\x5b\x39\xf6\xc8\xd1\x89\x4e\xf2\x2f\x4b\x27\x7a\x3b\xff\xb2\x75\xa2\x77\xf2\xaf\xae\x4e\x34\xc8\x8d\x9f\x7d\xd7\xd5\xef\xef\x41\x3c\xe2\xcd\x97\x76\x12\xb7\xe9\x4d\xf8\x04\x9d\xad\x6c\x19\x6d\x58\x79\x97\xfb\x22\x14\x48\x94\x2c\x38\xcf\x20\x66\xac\x1d\xbf\x04\x03\xed\xc3\xe7\xd1\x29\x7f\xdf\x5c\x83\x22\xb9\x2c\xe4\x87\x5f\xdb\x17\x51\x18\x7f\x7d\x56\xbf\x51\x3a\x7d\x9d\x02\x44\xc7\x4b\x44\xfc\xda\xc5\xad\x54\x81\x6a\xa5\xb6\xa7\xb7\xd3\xe8\x79\x02\x6a\x6c\xd3\x2e\xe9\x5b\xd6\x24\xef\xb8\x38\x29\xc8\xb2\xb0\xf0\x14\x26\xbf\x30\xd6\x16\x61\x14\x85\x19\x9d\x26\xf1\x2c\xc3\x96\xdd\xd5\xd8\x75\xa2\x51\xfe\x66\x91\xec\x43\x40\xea\x3c\x4c\x33\x06\xa2\x05\x9f\xea\x41\xbd\x36\xb9\xd6\xa2\x24\xbe\x54\x6b\x22\xc6\xe2\x05\xd5\x92\x98\x68\x1c\x71\x09\x36\x64\x2a\xcc\x7c\xae\x56\xf8\xc7\xe6\xc1\xc0\x70\xfa\x7d\xa2\x59\xfc\xff\x9d\x7e\x75\x32\xe4\x93\x9c\x90\x89\xe2\x09\x47\x41\x2e\x2f\x1c\xd2\xdb\xcb\x20\xa2\x8c\xd1\xdf\x42\x4c\xe8\x1f\x05\x0e\xb1\x30\x22\xd5\x34\xa9\xe5\x8a\xa2\x90\xdd\x28\x51\xa6\x41\x0c\xdc\xa8\x4a\x15\x3e\xba\x61\x82\x2e\x24\x8c\x06\xe6\x5b\xa3\xf4\x01\xce\x82\x6c\x40\xb3\x72\x86\xdd\x8c\x3e\x55\x14\x05\x5a\xbc\x5a\xd0\x34\x9c\xa2\x41\x77\xa3\x85\xb1\x30\x35\x38\xef\x54\x82\x3f\x43\x1d\xd7\x90\x1c\x2d\x92\x8c\xa1\x55\x3d\xcd\x32\x91\x97\x9f\x92\xd5\x34\x2e\x3a\xe3\x69\xb4\x9a\xd1\x4c\xfb\xa7\xe3\x9f\x5e\x13\xed\x9f\x8e\x8f\x7f\xfa\xe9\xf5\x6b\xa2\x81\x36\xd3\xe9\x74\x4c\x0c\x05\x22\x18\xa0\x65\x74\x2b\xf0\xc4\xc1\x02\xad\x55\x30\x41\x53\xb0\x0c\xb2\x44\x5b\x06\x29\x93\x0d\x9b\xb1\x64\xfa\x55\xfb\x8b\x6d\x03\x8a\x0e\xbb\x61\xda\x3c\x8c\x38\xc9\xff\x96\xac\x90\xde\x55\x46\x35\xbe\xc2\x00\xdc\xe1\xa4\xdf\x72\x94\x6a\xf3\x70\x01\x58\x74\x52\x18\xb4\x17\xfc\x0d\xd4\x4b\x3a\xcb\xab\x92\x01\xbe\xf9\x2a\xe2\xd6\xca\xd7\x70\xb9\x04\x0d\x26\xd0\xb2\x45\x10\x45\xc0\xcf\x0b\x8a\xbd\x2e\x8c\x67\xe1\x94\x66\x85\x94\xc9\x05\x6c\x63\x7b\x8b\x2e\xb9\xbc\x05\xd9\x97\xe1\xea\xc9\xe3\x3d\xb1\x58\x4b\x53\x24\xdf\xee\x8a\x25\x8b\x80\x85\xd3\x20\x8a\x80\x8b\xcb\x5b\x6d\x91\x00\x0f\x32\x79\x5d\x4d\x1a\x94\x53\x79\xf3\x15\x0b\x5f\x65\xb4\x2d\x78\xd1\xe6\x12\xb2\x0d\x99\x9f\x45\x45\x5d\xfa\xb1\x04\xf9\xaf\x32\x5a\x88\x5f\xa4\xec\x82\x5e\x05\xdf\xc2\x04\x95\x0e\x5c\xa9\x6f\xe7\x54\xb6\xf1\xc8\xe9\xf3\x69\xa8\xcf\x01\x28\xfc\x69\xc0\xcd\xe0\x82\x0b\xfc\x48\x2b\xe0\x0f\xe3\x4b\xce\x7f\x96\x46\xed\x65\xb4\xca\xda\x8b\x30\x5e\x65\xed\xbf\xd3\x34\x69\xff\x3d\x49\x16\xcf\x51\x7b\xac\xba\xda\xb3\x07\x78\x8f\xa2\x55\xf6\x02\x2f\xbb\xbd\xf8\x2b\x4d\x13\x6d\x2a\x97\x0e\xa0\x80\xce\x59\xfc\x76\xae\xcd\x83\x28\x93\xe0\xe8\x80\xf9\xe1\x4c\x02\x12\x93\x51\x0d\xca\xb4\x5f\xce\xd5\xd2\x30\xcb\x0c\x14\x4f\x76\x55\xaa\xe3\xf4\x89\x6c\x6d\x52\xe6\x70\x39\x6c\x0f\xf8\x16\xd2\x0c\x0c\x2c\x5e\x47\x54\xc3\x7e\xd9\x03\x66\x5f\x25\xdc\xf2\xc2\xea\x74\xce\xf0\x22\xf0\x16\xd6\x67\x6b\x4f\xd2\x59\x02\xe4\x18\x0a\x8c\x3c\x63\x4e\xed\xb7\x36\xde\xe5\xfd\x15\xe4\x7e\xd6\x10\x43\x8d\xdc\xcf\x8f\x90\xfb\x59\x92\xfb\xb9\x4e\x6e\x81\xb1\x20\x97\x06\x19\x6b\x07\x59\x18\xc4\xed\x60\x71\x11\x5e\xae\x92\x55\xd6\x0e\xb2\x36\xbb\x4e\xda\xfc\x65\xdd\x5f\xbf\x24\xb6\x1f\x64\x4c\xdb\x85\x32\xb4\x5d\x59\x46\xa1\xa6\x65\xdc\x1a\x85\xc9\x9c\x17\xa8\xe1\xbd\x60\x4e\x5d\x1c\x5c\x44\xb4\x8d\x8b\x4c\xed\xfc\x11\xa5\x1f\xa1\xe7\x34\x5d\x51\xe0\x08\xc7\xc8\x97\xad\x64\xdf\x54\x68\x21\x9c\x35\x00\x19\x5e\xc6\x09\x5f\x1a\x5a\xa0\x70\xfe\x42\x37\xa3\x48\x4b\x29\x08\x43\x2e\x87\x81\x47\x17\xb7\x8c\x6a\xdf\x68\xca\x6d\x6f\x2e\xe2\xf9\x5b\x0b\x15\xcc\x5a\x4a\x2f\x83\x74\x16\xd1\x4c\x80\xf1\xb5\x06\x26\x7b\xb9\xa8\xea\x45\x12\x3d\x61\x9d\xa8\x36\xa1\xb3\x34\xcc\x58\xc0\xa8\xac\x69\x38\xd7\xae\xf3\xa9\x01\xc4\x19\xe0\xd5\xae\xf1\xfe\xb4\x36\x4f\x62\x56\x31\xb4\xd1\x56\x49\xa2\xd9\x8b\x0b\xbe\xcc\x9b\x5b\xda\x1d\x4d\x3b\x90\x1c\x91\x62\x91\x7b\xd5\x57\xb1\x75\x34\xed\xc3\x2a\x8a\x70\x71\x24\x5f\x11\xaf\x56\x0b\xba\x15\x47\xff\x3c\x05\xd5\x2a\x37\x62\xbd\x6a\x9c\x64\xa1\xc2\x18\x6e\xdb\xee\x6b\x20\x2c\x35\x7b\x50\x56\x0b\x4c\xac\x34\xcc\xd4\xf5\x8a\x37\xd4\x38\x91\x96\x5c\xa9\x22\xcf\x57\xb0\x1f\xa2\x5f\xed\x4e\x5c\xdf\x6d\xe4\xbc\xe8\x8b\x21\x30\x5a\x21\x26\x9f\x0e\x71\xf1\xee\x29\xb6\x6e\xe3\xac\x73\x02\x3a\x6f\xa0\x89\xd7\xd1\xa5\x12\x98\xaf\xe0\xe5\xfa\x00\x4a\x93\xeb\x34\x04\x21\xd2\x38\x21\xd7\xc8\x42\xe0\x1f\xd5\x0a\xa2\x48\xac\x50\x63\xb9\x2c\xe1\x45\x6b\xfc\xe9\xef\xe8\x56\x92\x90\xdd\x66\x8c\x2e\x9a\x29\x99\xd1\xa9\xed\x3c\xdb\x26\x2b\xa4\xc6\xb1\xd2\x3c\x40\xc5\x66\xa6\xae\x03\x72\x45\xab\x64\x1e\x61\x13\xc2\x48\x5c\x81\xd6\x05\x7a\xd6\x9b\xfd\x3d\xed\x28\x0d\xbf\x81\x19\xf3\x1e\xcc\x66\xdb\x01\x0a\x69\xfc\x2d\x4c\x93\x18\x6c\x97\x67\x92\xf7\xfd\x74\xff\xf8\xbd\xa7\xe3\x0a\x7a\xdb\xe9\x0f\xb8\x05\x71\x5f\x36\xa1\xa4\xe6\xa2\x14\xa3\x7d\x0b\xd2\x10\xb8\x92\x91\xf2\x62\x00\xf0\x0b\x06\x71\x7b\x1e\x2c\xc2\xe8\x09\x73\xac\xd2\xb9\x37\xf5\x37\xf4\xdf\x83\xcf\x2b\xed\x24\x88\x33\xed\x7d\x12\x27\x60\x24\xef\x83\x40\x4c\x62\xf9\x7d\x90\x52\x0a\x41\xa2\xe9\xef\x69\x1c\x21\xc8\xa9\xe8\x5d\x3a\xd1\x16\x49\x9c\xe0\x1a\xc9\xa6\xb2\x46\x24\x56\xa1\x84\xac\x42\xc2\xf2\x7d\x81\xbc\x67\xc2\x30\x2e\xc8\x7f\xf6\xfa\x98\xdd\x27\x7a\x18\xb3\x0a\xcb\xb0\x44\xc0\x05\x03\x61\x19\xde\xd0\x28\x53\xca\x58\x24\x5c\x33\x79\x9e\xf1\x17\xc4\x2c\x0c\xa2\x30\xc8\xe8\xac\xba\x10\x56\x46\x9b\x1b\x3b\xa2\x48\xf9\x5c\xfc\x8f\xae\xbc\x3a\x3d\x8b\x68\xf2\xa7\x6a\x6f\x16\xe8\x7f\x60\xf1\xf5\x2a\x59\xd0\xf6\x57\x7a\x9b\xb5\xf9\xc9\x96\x5f\xb9\xce\x06\xe8\x5e\xd0\x7c\x5f\x40\x4c\x9f\xa5\xd6\xce\xbd\x89\xf0\x9d\x20\x50\x77\x2a\xd9\x50\x45\x82\x3c\x9f\x4f\xb5\xaf\xf4\x76\x8a\xd7\xf8\xd0\x12\x15\xb3\x3a\x48\xb2\x3c\x0b\x57\x94\x3e\x9f\xe2\x6a\x56\xd6\x84\x94\x97\x88\xf5\xfd\x4a\x6f\xe5\x73\x42\xcf\xdc\x89\xce\xd7\xe4\x76\xb5\x45\xb0\x84\xb9\x1f\x97\x02\xc5\x66\x11\xc8\x91\xe2\x22\x14\x50\xfb\x4e\x49\xcd\x0d\x51\x0d\x14\x7b\xb0\xb0\x17\x30\x0f\xc8\xf3\xa0\x90\x33\xd3\xe6\x09\x48\x4a\x3a\xd3\x2e\x6e\x35\xbe\xc9\x08\x15\x12\x98\x78\xdd\x84\x11\x3c\xa3\xd3\x10\x66\xee\x24\xd5\xae\xe8\x4d\x20\x3f\xb9\x09\x98\x11\xb4\xe0\xf9\x5e\x60\x7e\x78\x4c\xa0\x11\xe4\x35\x58\xd3\x72\x45\x1c\x0c\x55\x64\x7f\x92\x4b\x4b\x22\x96\x04\xc4\x66\x59\x09\xe9\x01\x96\x35\x07\xa5\x81\xde\x2c\xa3\x20\xc6\x0d\x07\x69\x23\xcf\x41\xc3\x60\x04\xb7\xfb\x2a\xab\xe8\x87\x5f\x8e\xe3\x19\x5f\xdb\x3b\xc1\x65\x3d\x4d\x6d\x9a\xb3\xf8\xfb\x59\xac\x69\xa8\x43\xb7\x77\x23\xd6\x7e\xa7\x7b\x9a\x5e\x39\x51\xa5\x93\x02\x86\x1b\x2d\x87\x00\x85\x4f\x97\x2b\x49\x3f\x43\xe4\xd9\xe6\xcf\xfb\x87\x87\x1f\xcf\xce\xe2\xb3\x4d\xfd\x2c\xc6\x15\xbf\x45\x70\xd3\xe6\xb5\x6e\xcb\x86\x7a\xbc\xf7\xe7\x67\x40\x6c\x9a\x8b\x9d\xf7\xc1\x8d\xc6\xcf\x7a\x43\xc5\x03\xed\xcd\xde\x09\xd1\x3e\x9e\xec\x11\xed\xe8\x3d\x32\x6f\xf7\xe8\xa4\xe8\x29\x17\x14\x06\x2c\x28\x0f\x97\xe1\x37\xaa\xad\x96\xd8\x65\x0b\x35\x95\x37\x3b\x8c\x4d\x7c\xa6\x85\x0f\xce\x20\xa5\xed\x39\x84\x7e\xe5\xf8\x9c\x26\xf1\x37\x9a\x32\x0d\x51\xf3\x7e\xc7\x5b\x3a\x4c\xb5\x03\xe8\x32\xf4\x6f\xab\xf0\x5b\x10\x51\x50\x06\x0b\xc3\x30\xa2\xe5\xad\x5a\xbe\xc3\x2c\x77\x77\x33\x41\x2d\x0b\xc4\xaa\xbd\xd8\xbc\xfe\x21\xdb\xb5\xba\x09\x9f\x6f\xb9\xf3\x71\x1e\x68\x11\x0d\x66\x78\xf7\x07\x0b\x11\xab\x9c\x9c\x82\x64\x95\xd1\x36\x3f\xf3\x30\x8d\xc2\xe9\xd7\xa7\x9a\x6f\x4d\x8a\xcb\x26\x46\x80\x06\xca\xf5\x52\xbe\x94\x71\xb1\x62\x2c\x89\x35\xc4\x9e\x15\x0b\x6a\xc5\xbe\x23\x0c\x92\x6f\x7c\xad\x73\x46\x97\x34\x86\xc1\x22\x87\x83\x20\x10\x89\x6a\x73\x4c\x7a\x6e\x3c\x00\xae\x0f\x09\xa3\x1e\x5f\xee\x41\x41\x28\xd8\x8c\xa7\x3b\x5a\x82\x0e\x88\xa3\x33\x6d\x11\x4e\xa1\xa7\xa4\x5c\x89\xc2\x0d\xbe\x06\xec\xcf\xa8\xb9\x72\xdc\xc6\x22\x36\x71\x48\x97\xf4\x48\x9f\x0c\x26\x44\x7f\x8f\x55\x47\xc4\x82\x01\xd8\xab\xe3\xba\xa9\x20\x97\xea\x8b\x28\xa2\x5d\xa3\xc1\x25\x8d\x8e\x45\x38\x83\x2a\x95\xb8\xc9\x77\xe1\xe2\xf6\x5f\x6c\x5b\xd9\xd2\x37\xb8\xcc\x84\xa6\xce\xcf\x8b\xe0\xce\x4c\xac\xfd\xc5\xb6\xab\x78\x1b\x1a\xc9\xc8\x42\x94\xcc\x60\xea\x04\x0c\xc6\x9a\x58\x00\x5a\x70\x3e\x48\xe5\x9d\x57\xec\x5b\x18\xac\x23\xd0\xc4\x7a\x59\x9a\xef\xf3\xa6\x30\x96\x69\xb8\x08\xd2\x5b\x53\xa4\x77\xce\x62\x1b\x12\x45\x56\x23\x58\xdd\x84\x51\x58\x06\x70\x00\x80\x13\x69\xf0\x55\xea\x72\xfa\xb3\x3a\xd2\xd9\xba\xae\x7e\xf6\x5b\xf5\x27\x18\x4e\xd7\x49\x3a\x6b\xe3\xd5\xed\x36\xde\x4e\x69\x43\xbe\xe7\x74\x29\x7d\xfc\xcb\xd9\x59\x76\x76\x36\x3e\x3b\x9b\x18\xe6\xf7\xfb\x97\xaf\xce\xf4\xcd\xb3\xb3\x5f\x36\xfe\xe5\x9f\xfe\xf9\x8f\xad\x3f\x91\x6d\xef\xbf\x4c\x14\x3d\x6a\xf3\x98\x5e\xae\xa2\x20\x85\x99\x24\xa5\xf9\x8e\xf6\x55\x10\x31\x7e\x3d\x46\xcc\x4f\xc0\x01\xde\x0e\x19\x0b\x52\x66\x72\xa1\x9b\x2f\xaf\x89\x9a\x83\x6d\x0b\xd6\x85\x58\x3b\x0d\x94\x9d\xa7\x69\x14\x64\x28\xf7\x52\x8a\x0b\xd9\x62\x1a\x9c\x2a\x66\x7e\xe7\x2c\xfe\x42\xb5\x00\x6d\x17\xfd\x1f\x3a\x8a\x68\xbd\xa3\x2b\x1b\x27\xa0\x7c\x2f\x03\x76\x95\x69\x73\xdc\xf3\x8f\xc1\x96\x41\x82\xa4\x45\x9a\x64\x14\xc7\x65\x8d\x8f\x4f\x34\x9e\x9f\xc3\xc8\x7f\x74\x4a\xac\xd4\x9f\xc1\x4a\xd1\x29\x69\x3c\xfb\x7d\x38\xd9\xd8\x95\xf8\x50\xf9\x2d\x78\x30\xf9\xd3\xe3\xf5\xe6\x97\xab\x82\x28\x2a\xef\x81\xe6\x1b\x25\x9c\x9a\xdf\xaa\xe3\x9c\xc5\x9f\x32\xbe\x21\x42\x6f\x96\x72\x97\xb3\x58\xfd\xcd\x56\x29\x2a\xeb\xa1\xd8\xc8\xc2\x3e\x83\x36\x43\x12\xc6\x7c\x22\x5b\x06\x97\xbf\xa5\x52\x0e\xe8\xb4\xd5\xf2\xc5\x2c\xb9\x8e\x9f\xa9\x98\xd7\xb3\x3e\x49\x39\x2f\x65\x5b\xab\xa0\x97\xa1\x0a\x25\x5d\x5f\x06\x59\xd6\x0e\x22\xd6\xe6\x2a\xed\x73\x0f\x8d\xaa\xcb\x68\xaa\x3a\x51\xac\xd7\x40\x01\x78\xf6\xd0\xee\x74\x46\x72\x20\x08\xe5\xa6\x10\xc6\xe2\x28\xdd\x2d\x5f\x3a\x49\x57\x71\x0c\xcd\xc4\x0f\x13\x85\xb1\x16\xe4\xea\x10\x0b\x2e\x8a\x03\x8b\xb7\xc9\x4a\x9b\xe1\x59\x35\xdc\xf7\xe5\x73\xd7\x66\xa6\x9d\xe9\xdc\xcf\x2f\x16\x17\x5c\x9c\xe9\x9a\xf4\x9e\xa6\x05\xd3\x29\x8d\x68\x1a\xb0\x24\x05\x5e\xe2\x79\xa6\x38\x61\x79\x91\x58\x18\x0b\x2e\xb4\x90\x6d\x66\xda\x05\x65\x8c\x6f\x2e\xc8\xb6\xc8\xa8\xaa\xca\xf1\x85\x16\x24\x07\x2c\x07\xae\xea\xaf\x32\xf4\x36\xa2\x7d\x0b\x17\x30\x77\xd3\x45\x30\xe5\x7d\x35\xef\x25\x39\x3b\xb0\x99\x2f\xa8\x3c\x46\x08\x32\x4f\x65\x8f\xa6\xe8\x85\xb5\x3c\x19\xcc\x52\x0a\x19\x1c\x1a\x5b\x45\x51\x0a\x8a\x43\xb6\xf9\xd9\x3c\x31\xed\x63\xef\x10\xd3\x34\xde\x32\xcc\xbb\x03\x2e\xc8\xff\xae\xfd\x01\xad\x85\xff\xd9\x21\xca\x9b\x47\xcf\xed\x11\xf5\x4c\xbf\x5f\x97\x40\x8b\xe3\x77\xed\x12\xef\xa1\x84\xff\xd9\x25\xf2\x2e\x51\xf0\xe3\x19\x5d\xa2\x9e\xe9\x77\xee\x12\xdf\x7e\xbd\xe5\x89\x78\x3e\x6b\x97\x94\x65\xd8\x13\xf8\x7c\x8e\xb4\x42\x59\xe2\x38\x53\x9b\xca\x2b\x20\x4f\x5f\x37\xd0\x57\x6c\xde\x76\x75\x32\x96\x01\x3d\x0d\xae\xf9\xcd\x05\x6e\x63\xd3\xe2\x21\x6f\x9e\x05\xed\xa3\x59\xc0\x82\xe2\x14\x55\x7e\x00\x16\x29\x12\xc7\x24\xc2\x19\xdf\xea\xcf\xf0\xc0\xc2\x26\xa2\xdf\x44\x56\x6d\xa6\xc1\x35\x3f\xa2\xc6\x67\xd9\x76\x12\xa3\x7a\xc1\xd2\xe4\xeb\x13\x94\xb0\xe2\xf6\x49\xd3\x1e\x33\x47\x99\x0f\x10\x3c\xfe\x88\x1b\x37\xf1\xad\x96\x17\x52\x29\x3c\x59\xb1\xe5\xea\x09\x2a\xb0\x52\x72\x83\x5e\xb3\xae\xe4\x5c\xa3\xe1\xc5\x28\x65\x5f\x04\x69\x5b\x9c\xc8\xf9\xc1\x6a\x9f\x5e\xe1\x3e\x21\x9e\x72\x50\x34\xa6\x85\x5c\xb3\x11\x75\xbc\xbe\xa2\x34\x6a\x2f\x82\x5b\x5c\x11\x69\x07\x69\x9a\x5c\xb7\x9f\xb6\x7e\xd3\x58\x67\x1c\xee\x7c\x27\x42\x1c\xf6\xa7\xa9\x30\x6a\xb3\x69\x4a\x69\xac\x5d\xac\xe6\x73\x9a\xf2\x53\x2c\x6f\xf6\xf7\xf6\xde\xbd\xd7\x8c\xdd\xe2\xfd\x06\x8d\x3f\xe0\xa0\xa1\xbb\xaf\xdc\xbe\xa4\x44\x18\xba\x48\xaf\x64\x28\x9e\xd3\x17\x26\x23\x5d\xac\x22\x3c\xdb\x0d\x35\xe0\x8b\x3d\x28\x11\x98\x14\x1a\x8c\x2e\x96\x49\x1a\xa4\x61\x74\xab\xcd\xf8\x3d\x17\x94\x06\x57\x49\x54\xa8\xb8\xa8\xee\x7d\xa5\xb7\x85\xdc\x54\x8c\xa6\x69\xb2\xa0\x99\xb6\x5a\x72\x11\xca\x2b\x09\xaa\x61\x9a\x69\x46\x44\xb3\xcc\x04\x61\x94\x8a\x55\x9f\x45\xc0\xb5\xcb\x4c\x93\x8b\xdc\x74\x16\x32\xdc\x31\xfc\x16\xbe\x88\x83\x38\x41\x70\x8e\x85\xb3\xe6\x05\x5b\xac\x6e\x1a\x1a\x27\xf9\x46\xdb\x8b\x55\xc4\xc2\x65\x14\x3e\x65\x06\x29\x1a\xc6\x56\x37\x1c\x0a\x14\xf9\xce\x06\x6e\x37\x68\x33\x1a\xb1\x00\xe4\x29\x67\xae\xe0\xea\x34\x40\x31\x2b\xe4\xa5\xe0\x38\x42\x74\x40\x9d\xc2\x8d\xf4\xe4\x5a\x9b\x07\x19\x17\x07\xa8\x24\xab\xca\x31\x76\xa8\xdf\x45\xf0\xd4\xe4\x8d\x94\xd3\xb9\xdc\x93\x23\xeb\x87\xca\x0f\xb3\xa4\xed\x58\x8e\x03\x24\x14\xe1\x9c\x1a\xfc\xdb\x8e\x92\xe9\x57\x3a\x83\xb2\xd4\xcd\x9c\x7c\x44\xe7\x34\x1a\x6f\x3e\xee\x9d\xf0\x85\x99\xb7\x27\x1f\x11\x97\x38\x14\xa0\x9c\x49\xc0\x95\x7a\x96\x06\x71\x16\x89\xdb\x04\x46\x14\x7e\xa5\xda\x65\x1a\x2c\xaf\xc2\x69\x06\xe9\x19\x20\xf9\x74\x7a\xd0\x76\x65\xf7\xcd\xb4\x6c\xb5\x5c\x26\xa9\xbc\xc1\x92\x64\xf2\xe8\x1c\xd5\x38\x79\x7c\x0f\x2e\x96\x57\xa8\x4a\xcc\x9b\x06\x71\xf9\x00\x97\x16\xe0\x24\xcd\xc2\x85\x58\x64\xca\xeb\xc2\x17\x30\x8b\xfb\x26\xf2\xec\x98\x3c\x5f\xcc\xc2\xe9\x57\xbe\x98\xc0\xe9\x5b\xc5\x78\xec\x00\x94\x07\xbe\x51\x0c\x13\xe3\x57\x50\x3b\x68\x3c\xa3\xb8\x7c\x8f\xd0\x11\xbd\x0c\xa6\xb7\x9a\xf2\x7a\x8b\xe8\x39\xb8\x48\xce\x9d\xa7\x3e\xff\x64\x8b\xba\xd1\x0c\xc3\x79\x4b\xe3\x2f\x86\x35\x9d\x70\x61\xf5\xe3\x2d\xe2\xa4\x57\xda\x9e\x66\xcf\x3b\xea\xa8\x57\x2f\xca\xe0\xdd\x89\x8c\xdd\x46\x34\xbb\xa2\xfc\x9a\x87\xdc\x5e\xa9\xee\x79\xe7\x3e\xef\xd5\xd2\xdb\x20\x36\x9e\x4d\x02\x0e\xf3\x28\x8c\x69\xbb\xd8\xf7\x5b\x65\x30\xe3\xec\x9d\x9c\x70\x49\x84\x07\xf3\xd8\x6d\x24\xc5\x5e\xee\x14\x5b\x9f\x34\x5f\x4b\xce\x9d\xa9\xf8\xe2\xa2\x34\xbf\x48\x63\x34\x5d\xd4\xce\x61\x1b\xef\x79\x77\xa6\x49\x9c\xb1\x74\x35\x65\x49\xda\x74\x39\x1b\xf2\xac\x2e\x4e\x56\x17\x35\x37\x86\xc9\x45\x46\xd3\x6f\x34\xcd\xce\xfd\xef\xdc\xa1\x09\xc2\x75\x82\xd9\xec\xb5\x38\x23\x57\xba\x44\xce\xef\x7f\xc7\xf4\x5a\x93\xa0\x85\xab\x2d\xe1\xa8\x90\x23\x28\x08\xa6\xe3\x74\xe2\xd7\xe3\xc7\xe9\x44\xdc\xed\x36\x95\x72\x15\x07\x33\xab\x8b\x6c\x9a\x86\x17\x55\xe7\xd7\xa2\x99\x4b\xb4\xdf\xdd\x19\x95\x98\x31\x9d\xf8\xe3\x89\xf0\x0f\x53\x8a\xee\x2c\x57\xd9\xd5\xba\x42\x57\xf1\xba\x62\x15\xff\x34\x25\x74\xfc\x9d\x14\xee\x46\x46\x7f\x1b\x7f\x43\x45\x2c\x5b\x61\x83\xa2\x33\x9f\x6d\xe9\xc0\x55\x3a\x9d\x61\xdc\x6f\xeb\x4b\x4b\x64\xfa\x90\x30\x2d\x2f\x75\xc6\xf3\xa4\x9d\x0c\x46\x2f\x35\x42\xe9\x7f\xa7\x4a\xe9\x72\x75\x11\x85\xd9\x55\x89\x4a\x92\x2a\x4f\x1c\x85\xd0\x5c\xf4\x65\xa2\xf8\x83\x53\xde\x14\x08\x89\x45\xe8\x96\x6d\x92\x64\x4c\x27\xc0\x0d\xee\x67\xbb\xa1\x7e\x49\xab\x65\x24\xfe\x78\x02\x7d\x6c\x1a\x30\x23\x31\x4d\x92\x42\xdc\x4e\xc2\x59\x99\x9a\x5e\xe2\x8f\xd3\x89\x49\x92\x5a\x11\x96\xb9\xc6\x6d\xc1\xf5\x54\x27\xc2\xc7\xf2\x71\x72\xbd\x87\x82\x85\x7f\x9e\x84\x7f\xa7\xf9\xc7\x29\xbd\x61\xbb\xf9\x96\x35\x3a\x39\x38\xc1\x59\xbd\xee\xd2\x08\x8c\x84\xdd\x34\x0d\x6e\xfd\xf1\x44\xb8\x05\xc2\x83\x68\xe8\xe8\xfc\xdc\xa7\x77\x77\xae\x70\x49\xcc\x4a\x48\x45\x67\x2e\x97\x24\x9f\xce\x90\x12\xc4\x54\xfd\x55\x1f\x89\x7b\x2d\x22\x27\xa7\xdf\x80\xca\xaa\x50\xc7\xc9\xf5\x87\x64\x46\xcf\xd1\xef\xb3\x9a\xd0\x1c\xfb\x71\x3e\xcf\x28\x53\xe3\xaf\x93\x74\xf6\x3a\xa5\xc1\xd7\xf7\x01\x9b\x5e\x1d\xd2\x39\x5b\x9b\x78\x8c\xcf\x6c\xac\x4b\x7d\x8f\xeb\x9b\xb9\xff\x69\xce\x40\xa5\x2b\x5d\x52\x74\xd8\xdf\xe0\xc8\x92\x57\x10\xbd\xf9\xd7\x38\x4a\xca\x5c\x17\xdd\xcc\x5c\x57\x02\x7f\xf5\x63\x9d\xb3\xcc\x2a\x9a\x75\x58\xf0\x61\x91\xb5\x1e\x37\x15\xea\x1a\x11\x64\x94\xed\x15\x30\xf5\x2e\x54\xee\x30\x4d\x4d\x2e\x40\x5e\xf9\xf2\xf1\x3f\x40\x59\x82\x30\x9a\x72\xa5\xc9\x35\xa1\x6d\xbb\x99\x39\x38\x2f\x1f\x27\xd7\xeb\xaa\x25\xd3\x33\xc3\x36\x85\xa3\xaf\xb5\x38\xb2\xb5\x0e\xe6\x0b\x0e\x0b\xc9\x62\x11\xda\x4c\x8f\xb8\xef\x5b\xa2\xa8\x36\xc8\x0a\x2c\x4f\xc0\xd3\xe0\xc6\xbe\x40\x24\xc0\xf0\xb5\x39\xe1\x7e\x2e\x4f\x5c\x87\x7a\x99\x2c\x1f\x60\x18\x4f\x7d\x88\x5d\x02\xe2\xe9\xcc\x6a\xec\xa4\x6d\xba\x96\xbe\xd5\xff\x47\xde\xbb\xf6\xc8\x91\x6c\x89\x61\x9f\x0c\x7d\xb3\x61\xf8\x8b\xe0\xfd\x52\x15\x3b\x5b\x93\x39\x95\x55\xcc\x6a\x92\x33\x9c\xca\x4e\xf6\x36\x9b\x8f\xcb\x19\x72\x48\x75\x37\xe7\xd5\xec\xe1\x64\x57\x45\x75\xe7\x65\x56\x46\xdd\xc8\xa8\x7e\x0c\xab\x57\x82\x21\x09\x5e\x5b\x92\x65\x43\x90\x04\x7b\x6d\xc9\xf6\xca\x2b\x19\x82\x21\x09\x82\x5f\x5a\xd9\xc0\x1d\x7f\xf7\x7f\xb8\xbf\xc4\x88\x57\x66\x3c\xb3\xaa\x39\x73\xaf\x16\xf0\xe0\xe2\xb2\x2b\x23\xe2\xc4\x89\x13\x11\x27\x4e\x9c\x38\x8f\xea\x6c\x0d\xfd\x18\xeb\x6c\x6f\xae\xe3\xc7\x3f\xdf\x88\x4c\x5c\xd6\xd3\x11\xa9\x83\xb6\x5b\x63\x84\x51\x1c\x91\x35\x80\x2a\x33\xa1\x5e\x1d\x66\x33\x4e\xf0\x36\x91\x91\x33\x71\xbf\x1f\x7a\x3a\xe9\x63\xda\x0d\x3d\x2e\x9c\x3d\x61\x48\x2f\x66\x26\xed\x5a\xe7\x06\x46\xfe\x89\xae\xc1\x99\x88\xaf\x81\xe8\xa5\x03\x3b\xdf\x33\x02\xf5\x4d\x6f\x89\x55\xc6\xfe\xa7\x48\xfc\x9c\x07\x84\x13\x39\x66\x1f\xb3\x27\x41\x7b\x50\x92\x9d\x8a\x9c\x5b\x87\xcf\x9f\xd5\xd9\x0a\x8c\x0a\x9c\x74\xf5\x91\x48\x8f\xef\x92\xfb\x2b\xcd\x0a\x74\x01\x42\x17\x6e\x71\x0b\xcf\xf4\x14\x4a\x80\xa9\xc8\x17\x02\x13\x11\xf7\x52\x3f\xa5\x87\x79\x25\x8c\x09\x83\x70\x07\x80\x71\x3e\x9c\xb1\xf3\xe0\x2c\x27\x90\x99\x1d\xda\x07\x94\x0c\x56\xe4\x84\x56\xb2\xf4\x10\x49\x4b\x59\xda\x1d\xb9\xc4\x85\x61\x75\x55\x4e\xf6\x98\x95\xb2\x1e\xf9\xdf\xa8\xc6\x65\xf9\x3d\x54\x92\x2c\x2f\x21\x0e\xa0\x88\x35\x6b\x50\x39\x5b\x2c\x60\x39\xdd\x3b\xcb\x0b\x96\x3e\xce\x5a\x05\xd8\x89\x83\x44\x91\xac\xc5\xd0\xbd\x52\xd0\x7c\x9e\x93\x67\x79\x09\x5f\x48\xea\xaf\x59\x2d\x15\x24\xde\x95\x20\x53\x96\x38\x8f\x5b\xcf\x36\xd1\x52\xc8\x58\x32\xc4\x3b\x78\x3f\x75\x96\xec\x04\xf4\xa2\x83\x0a\x28\x63\x35\xee\xa3\x8b\x0e\x5a\x32\xcb\x88\x13\x16\xc6\x80\xc7\xcf\x8c\xa0\xbb\xfd\x60\x14\x8e\xe1\x76\xdc\xeb\x6d\x0e\x87\xee\x59\x81\x8d\xba\xb8\x2c\x4c\xb8\x60\x61\x03\xa1\xa2\xa3\xdd\x9c\x22\x42\x5c\x88\xb4\x82\x89\x9d\x62\xa8\xb5\x85\xb0\x31\xf8\x23\x78\x1c\xd1\x0b\x08\x73\xa9\x64\x4b\x2d\xc9\x57\xab\x80\x7e\x42\x17\x25\xc4\x32\xf1\x99\x58\xb3\x54\x12\xa6\xb3\x1e\x00\x10\x46\x58\x5b\xa1\x79\xc8\x97\x7c\x95\xc6\xec\xda\x87\x65\x48\x4d\x6d\xb5\xec\xd4\x04\x73\xf1\x81\x81\xcd\x37\x7a\xbd\x20\x4f\xcd\xa5\x1f\x55\x37\x03\x12\x8e\x5d\xbc\x15\x3b\x29\xc6\xf8\x31\x5d\x83\x49\x9e\xf0\xab\x5d\x99\x92\x41\x15\x65\xa9\x79\x11\x18\x96\x68\x0a\x99\xd4\x19\xe4\x3c\xd4\x6b\x3e\x2c\xe1\x25\x39\xc8\x4f\xe8\x45\x7f\xb5\xca\xee\x97\x5a\xc8\x64\x75\xf3\xe6\xd1\x39\xca\xa7\x81\x8b\x89\x87\x49\xd5\x4f\xb3\x28\x4f\x35\x70\x3c\x8b\x44\x47\xae\x89\x8b\x0c\x97\x01\xd8\x6d\x6c\xd5\x99\xd7\x36\xd7\xe4\x4a\xe7\xfa\x0e\x2a\x3b\x90\x07\x35\xe0\xfb\x0f\x78\x36\xe3\x55\x39\xa9\x13\xc7\xed\x65\x18\x1a\xf2\x2f\xbe\x7a\x07\xeb\x6c\x72\x81\x35\x19\x0e\x7a\x5f\x4f\x58\x78\x7b\x18\x72\xc5\x81\xdd\xe3\xa2\xc8\x09\x27\x84\xeb\x2a\x4d\x0f\x2c\x54\x42\xb6\xd2\xba\xa3\x30\xaa\x52\xc8\x18\x99\x88\x87\x97\x68\xbf\xdc\xf3\x72\x20\xb2\xed\x31\xc1\x25\xc2\x5a\x83\x7c\x78\x31\x91\x91\x60\x2b\xab\xb8\xd7\x63\xd1\x84\x61\xc9\x10\x14\xf2\xcd\x03\x66\x9a\x19\xe0\x08\xaa\x73\x12\x46\x1a\x26\xab\x95\xd6\x92\x9f\x92\x7c\x77\x78\xa4\xb0\x79\x76\x75\x02\xf7\x8a\x7c\xb1\xb7\xc4\xb4\x9d\x71\x38\xf3\x50\xcf\x2d\xeb\xce\xb1\xac\x79\xf0\xf0\x6d\x9b\xaf\x84\x6d\x77\x16\xab\xb6\x8c\xaa\xbb\xf9\x25\xc6\xc5\xc8\xd6\xf0\x24\x35\x01\x1d\x69\xd9\xd2\xc9\xcf\x81\xca\xa6\x84\xe4\x54\x74\xac\xea\x6d\x38\x18\x49\xb2\x28\x55\x37\x5e\x8b\xd6\xc6\x89\x1d\x9d\xf4\x47\xa1\x1a\xa1\xde\x31\xc1\x91\xcd\x0f\xd5\x35\x49\xd9\x16\xd6\xd6\x5e\x1e\xae\x6b\x42\xb6\xed\x43\xec\xa6\x24\xd7\x78\xac\x6b\xae\xdd\x9c\x80\x6f\x2f\x33\xfa\x7f\xad\x4d\xb4\x68\x86\x53\xa2\xb1\x82\xf7\x11\x4f\xc5\x39\xc5\xd9\x00\xe1\x19\x49\x0d\x21\xcc\x58\x80\xfd\x94\x47\xa1\x2e\x53\x7b\xc6\xda\x4f\x06\x12\x0e\x4a\xba\x23\xb3\xed\x98\x8f\xa9\x48\x6d\xf9\x74\x90\x85\x75\xd6\x0b\x43\x60\x5b\x96\x53\x88\x29\xfe\xab\x95\x53\x9e\x23\x38\x7f\x0b\xc9\x19\x46\xcb\xd3\x33\x77\x95\x26\xf6\x8a\xbb\xfc\x62\x42\xa9\x26\x33\xbc\x1b\x85\x59\x35\xc9\x73\x5e\xce\x33\xf4\xb8\x2a\x91\xbc\x80\x0f\x33\x92\x85\xf9\x2c\xb8\xdd\x4d\x09\x1b\xfe\xe1\xd5\x02\xd2\xdd\xa2\xc0\x57\xa1\x11\xd6\x4a\xfe\xcd\x74\xf6\x0c\xec\x43\x38\x41\x98\xbd\x4c\x34\xdf\x9b\x11\x30\xd1\x55\x04\x0d\x3f\x4b\x49\xbb\x8c\x52\xb8\xc5\x6a\x8d\xa1\x9f\x45\x44\x67\xe8\xd6\x41\x4d\xd2\x33\xe7\x55\x2b\x1d\x64\x11\x4e\x0b\x7e\x2a\x6b\x6b\x32\xc5\xfd\xb4\xe0\x29\x0f\x60\x5a\xf4\x61\x92\xa5\xf1\xb5\x67\x7a\x99\xfd\x21\xac\x9a\xbb\x00\xa9\xb3\xef\xe8\x30\xe3\x34\xcd\x76\x70\x1f\x8e\xe3\x34\x2d\x77\x60\x1f\x8f\x5b\x59\x4d\x14\x47\x65\xd8\x87\xfd\xf6\x4a\x65\xe8\x93\x42\xfa\x69\xc5\x96\x24\xed\x8d\x93\x7b\x92\x92\xe1\x02\xc3\xf3\x1c\x2d\xab\x9a\xd5\xcc\x82\x89\x50\x76\xad\x1b\xd7\xa4\x1e\xd7\x44\x1d\x57\x5f\xd7\xa5\x71\x92\x4f\xbc\xb2\x91\xbe\x65\x35\x48\x61\x98\x2c\x36\xbd\x6d\xd9\x42\x99\x7b\x75\x2c\x22\xe2\x58\x11\x0b\x2f\x7a\x15\xcb\x38\x45\xa7\x8a\xd3\x6c\x99\x12\x9d\x35\xcf\x82\xe5\x86\xf4\x5a\xd6\xf4\x5a\x6a\xeb\x00\xf6\xb5\xdf\x36\x76\xcb\x0d\x89\x07\x7f\x3b\x04\x5b\xde\x88\x60\x2d\x8c\x73\x11\x86\xd7\xfc\x0c\xaa\x65\x45\xb6\x62\x19\x1f\xde\x18\xf1\x4d\xa6\x78\x0d\x03\x58\xb8\xb6\x7f\xe5\x3c\xcc\xe8\x11\xc3\x7c\x58\xd7\x9c\x67\xaa\x64\xd2\x22\xf5\xb0\xec\x11\x62\x19\x1c\xc1\x63\x71\x81\xb3\x8e\xad\x8d\x59\x8b\x29\xe3\x88\xa5\xe8\x91\x65\xb4\x5c\x09\xba\x78\x9f\xa6\xd0\x71\xb1\xa9\x59\x07\xb6\xe6\xdb\x3a\x4e\xb1\x98\x9a\x29\x2c\x20\x81\x7b\x67\x19\xae\x82\xe7\x19\x39\x1b\xce\xf3\x32\xc0\x11\x09\x43\x35\xc3\xa7\xc8\x0d\xe5\x11\xa2\x15\x18\x1b\x4a\x10\xf6\x19\x9e\xb7\x49\x9f\x2c\x37\x0a\x4c\x6b\xfc\xa0\x43\xc0\xcc\xc3\x7a\xc3\xc6\xb5\xfc\x56\x45\x65\x94\xa5\x30\xa1\x77\x0a\x9e\x32\xa8\x6a\x97\x15\x22\xb2\xb9\x34\x19\xc5\x11\x0e\xd7\x30\x78\xdc\x87\x61\x54\xae\xe9\x13\x0e\xd2\x6a\x50\x46\x78\xbb\xea\xf5\xca\x5e\xaf\xaa\x59\x7e\xb1\xd1\x2e\x03\x1d\x10\x26\xc4\x7b\x65\x2a\xac\x0d\xa6\x0d\x11\x80\xa8\x4c\x63\x8a\xc3\xe8\x5a\x9e\xea\x2a\xcb\xa4\x07\x50\xaf\x47\xba\xd6\x3c\xf6\x7a\xc4\x77\xd9\x62\x0a\x91\xb3\x08\xf3\x63\xf7\xb6\xdd\x56\x11\x50\xba\x6d\x5b\xa0\x3e\xf9\x8c\x3a\xec\xe0\x33\x4f\xc3\xd0\x3e\xc7\xcc\x2a\x2e\x4e\xd2\x32\x37\x76\x17\x75\x3e\xd0\x89\x46\x53\x47\xcf\x4a\xb1\x53\x1b\xdb\x5c\xbc\x96\xae\x4b\xc6\x5a\xed\xcf\x5a\x8d\xa5\xeb\x20\x58\x3a\x51\xb9\xf6\xcb\xf0\x1c\xd4\xa4\xce\x16\x9e\xf9\x1e\xff\x9e\xe5\x25\x3c\x20\x19\x7b\x88\x78\xa3\x71\x01\x96\xb4\x15\x9a\x94\x64\x97\x7c\xfd\xd3\xf0\x2c\xab\x5a\xee\x0c\x21\x4c\xad\x26\x5a\x96\x48\x1f\x5a\x94\x6a\x36\x4a\x9c\x39\x01\x90\x30\x21\xb9\xaf\x2b\x38\x22\xd8\x8e\x8c\xc0\x46\xdd\x27\x92\x1d\xfb\x30\xf9\x7a\x1f\x5d\xec\x96\x13\x58\x11\x84\x5d\x04\xea\xf5\xc0\xd7\x83\xfd\x17\x5f\x81\x6e\x4a\x21\xa3\x29\xfc\x22\x9b\x43\x31\xea\x7a\x9b\xad\x1d\xb0\x64\x9d\x5f\xe5\xe4\x4c\x2a\x90\xdf\x58\x86\x08\xea\xc1\x36\x18\x25\x4a\xfe\x79\x13\x53\x61\x11\xd1\xcd\x9b\xda\x35\x73\x4d\xe3\x24\xef\xa6\x92\xb1\xf6\xdb\x76\x12\x0c\xa3\xee\x1a\x9a\xae\x56\x5d\x5d\xb7\x53\x77\x68\x90\x5a\xae\xc5\xaa\x2f\x31\x56\x07\x9d\x97\x74\x05\x8a\x81\x6e\x42\x25\xde\xc0\x45\x22\x95\xbf\x75\x9b\x13\x97\x27\x34\x55\x0b\x77\x06\xa3\x71\x0b\x2e\x6a\x55\x06\x7c\x0d\xe2\x6a\xf5\xb8\x51\x46\xe4\x69\x1c\x51\x9a\x57\xdb\x70\x38\xa1\xfb\xf2\x0b\xe6\xe0\x23\x9e\xf5\xaa\x7e\x5f\x6a\x4b\xd5\xe2\xa3\x8a\x59\xc1\x94\x4a\xf6\xb8\xbc\x8f\x93\xbc\x75\xb6\x4a\xb9\xdf\x07\x23\x1f\x05\x29\xf0\xdd\x72\xca\x79\x88\x7f\xb1\x35\xab\x9b\xdc\x6f\x5d\x1e\x89\x4c\x14\xf6\x9e\x6b\x84\x0c\xd6\x2c\x3f\xcf\x22\x92\x33\x61\x8d\xa7\x99\x0e\xef\x2a\xf2\xb4\x69\x7d\x86\x75\x4d\x1d\x96\x53\x97\xeb\x53\x87\x8f\xa3\x56\x71\x85\x2b\xbd\xc9\x76\x5a\x09\x3a\x80\x83\x97\xbb\x5f\x80\x34\x4d\xf3\x9a\x81\xec\xac\x1b\x60\x1e\x91\x70\x7c\x94\x47\xe4\x98\xd2\xb0\xba\x56\x16\xb9\xef\xe1\x68\x3f\x2b\x4f\xa1\xb9\x63\xa2\x9c\x8f\x01\xa5\xde\x1e\xeb\x25\x22\xd4\xfb\x32\xe9\x30\x92\xc9\xac\x37\x6a\x89\xc3\x84\x37\xab\x7a\xbd\x20\xa7\xf8\xb0\x73\x27\x40\x47\xf1\x71\x84\x8e\x46\xc7\x61\xc4\xbe\x3e\x2a\xa7\x41\x45\xbf\x55\xf4\x5b\xe8\xd6\x7e\x71\x37\xc0\x5a\xf7\x6e\xe6\x4b\xab\x85\x58\x36\xdf\x6c\xdc\xbb\x24\x88\x39\xdd\xa9\xec\x32\x24\x48\xe6\x4d\x95\x19\x65\x5f\x57\xb7\x42\xcd\x24\xcd\x3c\x1d\x03\x0f\xa3\x1d\x32\x77\xc3\x5a\xae\x0b\x59\x2f\xd8\xa4\xaa\x93\xc1\x53\x89\xdd\x68\x2e\x3f\x70\x22\x32\x58\x83\x91\x83\xd6\x7e\x78\x54\x92\x50\xa0\x41\x39\x21\x35\xac\xaa\x7e\x9e\x39\x73\x9a\x44\x45\x99\xab\x84\xd9\x43\x45\x85\xab\x88\x1b\x43\x45\x67\x1a\xdd\xd8\xf1\x1d\xe0\x30\x9a\xa8\xef\x06\x94\xe4\x67\x51\x1c\x55\x61\xb4\x54\xd3\x88\x96\xfd\xa2\x0f\x3e\x00\x61\xb4\x48\x27\xc3\x0a\x66\x78\x72\x16\x2c\xf9\x11\x16\x0c\x46\x69\xba\x58\xad\x16\xf7\x91\x98\xa0\xa9\x0d\x11\x45\xfa\xf5\xee\x2c\x0c\xa3\x99\x96\xa7\xf4\x3b\xd0\x2f\xfa\x59\x18\x9d\xa6\x53\x31\xe5\x33\x06\xff\x94\xc3\x9c\xa7\xa8\xaf\x83\x38\x3d\x8a\x8f\xc3\x84\x76\x3e\x5f\xad\xe6\xdb\x95\x34\x88\xac\x77\x52\x80\xa3\x45\x34\x8f\xe8\x4d\x60\x98\x4d\xa7\xec\x63\x40\xe8\x92\xe5\xff\xd9\x56\x7a\xdc\x00\x8f\xdb\x1d\xea\xc6\x79\xc2\x0a\x0f\x15\xc5\x4b\x84\xf5\x67\x24\x97\xfd\x28\x4f\xde\x53\x9b\x8b\xbd\xc4\xe8\x3c\x9f\x42\xdc\x58\x58\x49\x7b\x6d\x66\x84\xa6\x98\x9c\x8d\xe2\x68\x24\x9f\x3c\xf1\xb2\xa0\x4d\x1a\xa3\x88\xda\xa3\x56\xb6\xa8\x11\x1a\xd6\x5b\x4d\xed\x79\x52\x3f\xbe\xd0\x9d\xbf\x97\x4d\xce\x34\x1b\x0b\x29\xf4\xe9\xe5\xef\xae\x79\x69\x91\x55\x84\xef\x6b\x46\x6e\xb5\x61\x53\xc4\x2d\xdc\x9c\x38\x3e\x62\xa6\xe9\xd3\x37\x69\x37\x6e\x5a\x31\xbb\x41\x66\x6a\x26\x3e\x72\x33\xff\xaf\xce\x20\x2c\x9e\xd7\x5e\x05\x6f\xd2\x51\xd3\xe4\x10\x2d\x27\x67\x0d\x5a\x79\xc5\x47\x0d\xa7\x8f\xca\x69\x0d\x5b\x8c\x54\x46\x4a\xe1\x2b\xe4\xe5\x65\x3a\xfa\x58\x94\x13\x5c\x7c\xc9\x33\x13\x49\x13\x87\x69\x7e\xae\xe2\x2d\xad\x1e\xd5\x6f\x84\x5b\x75\x56\x4d\xef\x9a\xe9\x30\xff\xf4\xf0\xd1\x83\x57\x4f\xde\xa4\x5d\x79\xa4\x5b\x33\x62\x5b\x44\x55\x75\xad\x7a\x41\x54\x82\x8b\x29\xbd\xc3\x72\xaa\x7f\xc8\xab\xe7\xd2\x22\x5b\xfb\xba\x27\x5e\x30\xa7\xaa\x9d\x8c\x85\x86\xc2\x9d\x67\x79\x39\x7d\x5c\x3f\x8c\x7b\xcf\x55\xa8\xbe\x9e\x63\x2e\x49\x50\xfe\x44\x6a\xb3\x5e\x5c\xeb\x06\x30\x63\xaa\xf6\x21\x2c\x0f\x60\x86\xaa\xde\x2f\x53\x87\x30\xb3\xe0\x5a\x82\xba\xc6\x29\x76\x49\x13\x1b\x8e\xab\xba\x2a\x27\xea\x33\x63\x6d\x17\x0c\x83\xf0\x1d\x6e\x68\x8c\x22\xf1\x83\x62\x9a\xe6\xc3\xac\x9c\x9c\xf1\xab\x9c\x2c\xe0\x1c\xb9\x2e\xe2\x3f\x23\x2c\xe7\xa4\xe2\x7f\x8a\xe6\x33\x34\x59\x56\xa2\x75\xcd\xcd\xe5\x77\xfe\xeb\xba\x46\x85\xe8\xa8\x54\x06\x2a\x2a\x2c\x1d\x13\x05\x5a\x83\x08\xd2\x10\xd1\xc6\xa1\x62\xa2\x8e\xe2\xba\x39\x42\xa5\x76\x48\x59\x8f\xf4\x74\x90\xb7\xe3\x20\x64\x66\xb2\x35\x67\x69\x34\x72\x3f\xcf\x6a\xed\xe6\xab\x55\xae\x7e\x89\xba\x66\x9d\x66\x39\x22\x6d\x7c\x09\xea\xf5\xba\x01\xc0\xe8\x82\xe5\x44\x05\x79\xd9\x41\x61\x12\xa2\x14\xa9\x97\xba\x7c\x16\xa0\x06\x42\xa5\x92\x37\xa9\x2c\x00\x55\x98\x84\x55\x5a\x19\x00\x2a\xb6\xec\xd1\x50\xd6\xdc\xae\xea\x3f\x43\x18\x34\x8a\x8b\xa6\xc6\x7d\xa5\x06\x51\x6a\x28\xbd\xa7\xda\x60\x42\x7d\x82\xb6\xb5\xb9\xde\x81\x41\x38\x96\x60\x54\xb9\xc0\xd8\x4c\x28\x3a\xd2\x16\x80\xd2\xdb\x31\x3f\xa7\x4b\x91\xf7\x95\x9e\x1d\x8f\xac\xc4\xf1\xcc\x16\xa7\x43\x77\x10\x73\x23\xab\x77\x17\x08\x93\x52\x47\x57\x62\x74\x6d\x4d\x73\x43\x83\x6e\xda\x10\x41\xb7\xef\x90\xd9\xcc\xeb\xe0\x10\x0c\xcd\x4e\x5e\x71\xd7\x5e\x84\x08\xf7\xc8\xcd\x3a\x0c\x57\x34\x65\x39\x97\x95\xd1\xd4\x22\x78\xb8\x06\x30\xc7\x78\x3d\xe4\x66\x64\x0a\x68\x83\xdb\xa8\x4a\x59\xf6\x8e\xe7\xc8\x2f\xcc\x0e\x14\xc1\xce\xf3\x19\xce\xe6\xf0\x4d\x0a\x9d\xfa\xa6\x47\x3c\xf4\x7b\x00\x78\x35\x69\x57\x28\x1a\x89\xc7\xc1\x49\x55\x51\x11\x2d\x05\x27\x08\x4f\x21\x1e\x77\xe2\xe4\x8c\x9d\xb6\xe3\xce\x28\x8e\xff\x20\x91\xc6\x30\xe3\x4e\x76\x52\xa1\x62\x49\x60\xc2\xc2\xcf\xf2\x62\x10\x81\x39\xfa\xe1\x69\x59\x42\xcc\x4f\xea\xaf\xe9\x12\xe7\x16\xfe\xf2\xad\xbf\xee\x0f\x4f\x52\xf0\xfb\x80\x89\x49\x8a\xa2\x4b\xad\x63\x60\x38\xe1\xea\x9c\xaf\xb8\xc3\x40\x36\x9d\x3e\x3a\x87\x25\x79\x96\x57\x04\x32\xcd\x29\x86\x2c\xa4\xa1\x38\x33\xcb\x7d\xf6\xf3\x8d\x9a\xd6\x50\xb5\x53\x6c\x8e\x5e\x57\x27\x92\x76\x09\x19\x9e\xa0\xe9\x95\x49\x9d\x79\x86\x4f\xf3\x72\xdc\x89\x17\x97\xc9\x22\x9b\x4e\xf3\xf2\x94\xff\xd0\x88\xa5\x50\x26\x91\xd7\xde\x71\xe7\x2c\x9f\x4e\x61\x99\x70\x0d\xdd\xb8\x73\x9e\xe1\x60\x30\x60\x42\xdf\x80\x47\x1b\x12\x41\xf3\x59\x97\x61\x32\xb8\x80\x27\x6f\x73\x32\x60\x5e\x55\x7c\x87\x8c\x59\xa2\x91\x64\x30\x47\x3f\x38\x3e\x03\x55\x42\x90\x54\xaf\x47\xab\x0e\x47\x60\x7e\x88\x16\xe9\xda\x4a\x3c\x57\x67\x0a\x26\x59\x31\x09\x54\x9c\xa9\x50\x49\x09\x3d\xe0\x43\x0f\x3b\x1f\x75\x6e\x87\xa0\x36\xd8\x34\x17\x1f\x03\x0a\xc2\x44\xb7\x21\x02\x97\x03\xba\x3d\xde\x75\x64\x62\x8a\x71\xe7\xa4\x40\x93\xb7\x49\xa7\x23\x29\xda\xd6\x67\xc2\x53\xc4\x0c\x36\xaa\x7b\x0d\x22\x32\x3c\x83\xd9\xd4\x69\x12\x4a\xe9\xb9\x57\x55\xcf\xf2\xf2\xed\x1b\x1b\x7b\x16\xcd\xd6\x51\xd3\x30\xdb\xc4\xb0\x60\xc1\x72\xa4\xeb\x9c\xd1\x84\xeb\x30\x7d\xa4\x71\x61\x67\xb5\x0e\x6b\x41\x16\xc2\xd2\x01\xeb\x72\xc0\x8b\x80\x5e\xd1\xc0\x53\x2c\x76\x38\xcd\x09\x15\x9b\x41\x04\x08\x5e\xc2\xf6\x36\xd5\x02\x16\xc5\xe4\x0c\x4e\xde\x82\x08\x30\x97\xc3\xf6\xfa\xd9\x92\xa0\x09\x9a\x2f\x0a\xc8\x82\x40\xa0\xd9\x6c\x93\xfa\x2c\x3e\xd6\xc6\xd5\xb3\x05\xc9\x0a\xee\xcd\xc4\x32\x18\xb6\xb6\xc0\x88\x8f\x14\x5e\x92\x13\x74\xd9\x5e\x97\x64\x27\x4c\xea\x04\x11\x18\x8c\xac\xaa\x3a\x4f\x98\x64\x18\x12\x1e\x78\x74\xcc\x9d\x61\xf9\x99\x9e\x18\x4b\x5a\x89\x1d\x3b\x6e\x82\xb9\x26\x75\x4c\xd6\x71\x67\x74\x77\x71\xc9\x7f\x0b\xff\xd7\x41\x91\x9f\x66\x64\x89\x61\x25\xf6\xb8\xc6\x66\x24\x6b\x19\x5c\x8d\x85\x03\x73\xd2\xa9\xbf\x5d\xd6\x0c\xe7\xe2\x2c\x27\x70\xc0\x3a\x1b\x77\x16\x18\xea\xec\x69\x49\xe8\x0e\xe2\xe0\x3b\xdd\x7c\xbe\x40\x98\x64\x25\xa1\x7b\x85\x31\x03\x6b\x35\x0a\x2a\x18\x34\xb1\xb9\xb2\x88\xac\x24\xb9\x32\x3f\xde\x34\xae\xbc\x0e\x02\x73\xda\x36\x00\xb0\xbb\xdb\x8d\xa0\x10\x7a\xa3\x63\x22\x64\x0d\x8a\x5f\xf2\x6e\x0c\x64\x8e\xce\xe1\x4f\x85\x01\xcb\xe9\x4f\x05\x31\xc9\xca\x89\x42\x97\x9b\x43\x61\x19\x02\x64\xf3\x3d\xb4\xb8\xba\x51\x6b\xee\xd7\x2c\x9b\xb3\x5b\xee\x8d\xda\x4f\x31\x5a\x80\xc8\x99\xac\x79\x81\x99\x0f\x7f\xed\x86\x10\x75\x47\xd7\x61\xbd\x10\x2d\x48\x6f\xe1\xd5\x14\x5d\x94\x35\x2e\x0f\xd0\xf4\xea\x73\x78\xf5\x10\x5d\x94\x0e\x8c\x30\xd7\x3b\x54\x0e\xa6\x39\xcd\xcf\x81\x59\x6b\x98\x4f\x53\xae\x92\x19\x63\x74\x31\xa0\xb2\x5a\x05\xcc\x3a\x06\x27\x30\x36\x7c\x23\x33\xcd\xf2\x4b\x38\xb5\x45\x01\xe7\x11\x4f\xf9\x93\xe3\x88\x67\x9f\x81\x41\x5c\x73\x6f\xd6\x98\x89\xd1\x10\xb4\xe0\x12\xea\x83\xec\xd4\x7d\x58\xb0\xd2\xc1\x49\x76\x0a\x5c\x4d\xd6\x0c\xd0\x1a\xd0\x46\xe7\xb0\xc5\x8f\xc4\xa8\x78\x7c\x11\x15\x5f\x1b\x9f\xc6\xa0\xb9\x41\xf7\x31\x2a\xa6\xce\xc1\xcd\x50\x31\x05\x46\x3d\x65\x5a\x09\x5a\xb0\x2a\x83\x19\xc2\x54\x0a\x69\x12\x94\x00\xa3\x4d\x3b\x15\xac\x55\x61\x4d\x8b\x04\x14\xaa\x03\x15\x68\x6b\x1d\x59\xc3\x53\xaa\x2a\x98\xf3\xaf\xed\xc8\xb7\xa0\xa3\x00\x0d\x55\xbd\xd8\x2e\x86\x59\xfb\xee\x50\xea\x29\xe8\xf0\xaf\x19\x86\x19\xb0\xab\x19\xb4\x63\xc1\x61\xf2\x22\x27\x57\x72\xd1\xac\x5b\xd3\x0a\xb0\x50\xbc\x71\x82\x33\x42\x16\x7a\xce\xcb\xad\x38\x8e\x6f\x55\xe7\xa7\x40\x18\x39\x9f\xcb\xf5\x43\xef\x49\x6d\xd7\xa2\x2f\x0e\x82\x3c\x02\xb4\xa5\x1c\xe3\xf9\xa9\x3a\xb8\x1f\x10\x9a\x0f\x78\xbc\x24\x84\x81\x52\x45\x17\x18\x2e\xe7\x45\x59\x81\x28\x0f\xbd\x35\x44\xf2\x0b\x10\x81\xd1\x70\xa4\x75\x66\x90\xc8\x71\xd5\x22\x68\x41\x6f\x64\x05\x9c\x11\xfa\xaf\x97\x88\x8c\x37\x1f\x66\xf8\x14\xba\xe4\x4c\xca\x42\xd8\x2c\x85\x76\x6d\x65\xc4\x6a\x66\x96\x01\x61\xc5\x0e\xf0\x9b\x08\x4c\x7a\xfd\xb5\xa3\xac\x85\x9b\xc5\x65\x2d\xa3\x2c\x2e\xe5\xa8\x17\x97\x89\x08\x41\xc4\x7f\xa0\x45\x36\x61\x14\x88\x5d\xd8\x09\x09\xf7\x91\x90\x70\x6b\xd5\xad\x77\x99\xa9\xad\x5d\xe8\x3b\x0e\x63\x78\x49\x9e\x96\x8b\xa5\xa4\x0e\x8f\xd4\xf5\xb2\x69\x74\x28\x2b\xb8\x4e\x23\x76\x49\xad\xbd\xc7\xec\x9b\x7f\x05\xc9\x63\x54\x92\xc7\x4c\x5e\x74\x79\x97\xea\xd2\xe8\xac\xa9\x0b\x5d\xd2\x2a\x3f\x69\x28\xc4\x03\x19\x43\x3f\x25\xab\x95\xf4\x4c\x64\x0e\x6d\xea\x2b\x41\x0b\x66\xa7\x6e\xcc\x0c\x97\x6a\x0f\x76\x6d\xe3\x7d\xc5\xef\x39\xaf\x70\xa1\xbb\xe5\xee\x04\xeb\xee\x5d\x67\x18\xce\x40\x04\x5d\x17\xb4\x46\xbf\x26\xec\xb6\x9b\xcb\x6e\xeb\x6d\x8b\xb5\x0e\x85\x39\xbe\x07\xa2\xb0\xfc\x33\x20\x6a\x36\x54\x16\xc4\x0d\x08\xc0\x36\x88\xa5\xf0\x51\x6f\x81\xba\x2d\xab\x17\x24\xd3\x62\x59\x8e\x87\x52\xe3\xc1\x4a\x03\x43\x5e\x13\x1f\xdb\x27\x5f\xa6\x43\x60\x76\xe4\x9b\xad\x00\x76\x3d\x6a\x5f\xec\x1e\xa8\xd0\xb9\xde\x19\xbc\x96\xa1\x9f\x42\xf2\x40\xb7\x77\xdf\x0c\x4f\xc3\x48\xbe\x0d\x63\x2f\x7c\x37\xc6\x06\xe4\x16\xdc\x35\xd8\x4f\xe7\xd9\xa9\x43\xfd\xe7\x83\xcd\xab\x6f\x08\x5b\x8f\x49\xb1\x0e\x34\xab\xbd\x21\x64\x87\x3f\xea\x1a\xe8\x75\x8b\xd6\x1e\xf6\x9a\x97\x35\x3b\xb6\x44\x53\xd6\xba\x2e\xb8\x86\xd2\x8c\xc7\x21\x9d\xc4\x4e\x21\xd9\x2b\x72\x58\x92\x26\x26\x87\xbc\xf1\x0a\xb3\xad\x77\xe2\x9c\x82\x43\xfe\x47\xc4\xcf\x2a\x38\x64\xff\xd6\x96\xc8\xae\x17\x42\xbf\xa2\xb7\xc6\xab\x35\xfe\x86\x86\x7d\x10\xf2\x1e\xd7\xc3\x6c\x8f\x0c\x62\x02\xe5\xa3\x6a\x83\x2a\x25\x29\x1f\xc4\x9a\x21\xae\x47\x8d\xbd\x4f\xb4\xef\x4c\x2f\x10\x0c\xe9\x8a\xc8\x26\x67\xd0\xe5\x5c\xfd\x3e\x6f\xd1\x6d\x4b\x6f\xbf\x79\x58\x77\x44\x9d\xa8\x51\x09\x5a\xde\xe1\xab\xc9\x19\x9c\x2e\x0b\xb8\x0f\xa7\x38\xbb\x68\xe1\xb2\x4d\x14\x04\xed\x81\x51\x3c\x2d\x41\xe3\xd6\xa0\x1a\x30\x42\x61\xa6\xab\xc8\xf8\x49\x63\xfe\xa2\xd5\x14\x07\x99\x10\x0f\x0d\x3f\xcb\x08\xa6\xe4\xba\x85\x56\x94\x96\x89\x6e\x1e\x73\xc8\x42\x7e\xb0\x47\x98\xa0\xf6\x95\xa3\x7c\x98\xa1\x52\x17\xd5\x36\xeb\x38\xbb\xf8\x92\x87\x8a\xdc\x47\x17\xd5\x9b\x00\x47\x79\xcb\xe9\x28\x48\xf7\xd4\x49\x19\x66\x09\x79\xa6\xbe\xa1\x2b\x24\x94\x7b\x9b\x56\x48\xbc\xb5\x52\x25\xae\x92\x02\x99\x5b\xc5\x77\xa0\xb3\x4d\xa4\xce\x14\x9d\xce\xb8\xe5\x29\x47\x08\x74\x9b\xf0\xdc\x99\xac\x07\xfb\x60\x71\xf9\xfe\x22\x9a\x27\xe6\x10\x4b\x20\xfb\xb4\x24\x41\x4b\xd7\x7e\xd8\x73\x98\x55\x4b\x0c\x35\x54\x1c\x1b\x82\x59\x93\x48\x23\x19\x61\x5b\x62\x48\x4b\x2d\x5a\x18\x56\x5f\x55\xc1\xd0\x0f\x83\x26\xff\xb7\xf2\xe0\x23\xea\xfe\x0c\x97\xa8\xfa\x02\x92\x2d\x09\x52\x74\xa1\xf2\x32\x62\x7e\x56\x11\x38\x58\x64\xe5\xba\x01\x56\x8b\xac\xd4\x46\xc8\x1a\x59\xa3\xa4\xd5\x06\x17\x08\xbf\xcd\xd8\xc1\x68\xf5\xa2\x04\x16\x09\xc0\xd7\x60\x88\xe1\x02\x66\x24\x18\xc5\x71\xd8\x07\xaf\x31\x08\xd5\x2f\x1a\x8d\x6c\x7d\x51\x0d\x54\xad\xf8\x20\xab\x60\x91\x97\xf0\x67\x1a\xcf\x89\x00\x07\x5c\x5d\x98\x2b\x1e\xc4\xf5\x82\x37\x2a\x6a\xcf\x46\x5f\x3b\xfa\x6d\x20\x7d\xc5\xcf\x3b\xd8\xdc\x6f\x5a\xb4\x21\x9c\x36\xf2\x89\xd0\x29\x00\xa8\x64\xc2\xaa\xfd\x14\xe1\x27\xf0\xad\x51\x1c\xb3\xd7\x1b\xda\x2d\xfd\xa1\xbb\x7a\xb5\x52\xbf\x1e\x60\x18\xe1\xa1\x24\x55\xea\x22\x00\x62\x2f\xf4\x87\x68\xa1\xcd\xa9\x75\xdb\x30\xa1\x1a\xe3\x77\xd7\x97\xf5\x1c\xda\x12\xcf\x2b\xc0\xf9\x29\xc3\xf8\x07\x84\xe6\x8f\x33\x16\x15\xb1\x51\x68\xd4\xd2\x4f\x56\xc0\x76\xb8\x16\x36\x02\xae\x9f\x8b\x9a\x5c\xd0\x3e\xfa\xb5\x52\xf6\xc9\xc5\xb2\x82\x4d\x2f\xe2\xbc\x82\x4f\xc2\xb0\x6c\xc0\x94\x05\xa4\xf8\xc4\x4b\x11\x72\xa0\xb1\xdc\x49\x53\xad\xe1\xf1\x1c\x22\x17\xd9\xea\xdb\xd9\x55\x39\x11\xe7\x6f\xf5\x30\x9f\xc3\x92\xa5\x51\x7d\x23\xc2\xe3\xa8\x47\x9b\x08\x5a\xd8\x3c\x8a\xbf\x6b\xcc\x6d\xd8\x5d\xf6\x3a\x52\x46\x02\x85\x76\x6d\x1f\x5d\x1c\x22\x7e\x4e\x07\x50\x13\x5d\x98\xc5\xac\x30\xa3\x0b\xc2\x30\x82\xb6\x10\xd3\x72\x68\xbb\xd1\xb6\xc5\x6e\x97\x1c\xca\xc7\x63\xd9\x05\x0a\x31\xdb\x67\x1a\x58\x0b\xe5\xac\xfc\xbc\x96\x2f\x78\x3c\xba\x7c\x38\x1b\x56\xf3\x0c\x93\xc7\x05\x42\xf8\x61\x4e\xc7\x18\xe8\x4d\xb4\xe5\x33\x94\x3a\x6b\xc5\x7e\xc0\x80\xf9\x91\xb7\x55\x62\x54\x3f\x44\x8b\xe7\xcc\x7c\x40\x5a\x23\x36\x45\x9c\xf4\xa2\x54\xb6\x1f\x10\xa7\x1a\x9a\x9b\x20\x88\x67\x79\x5f\x17\x4c\x6e\x50\x02\x20\xc4\x32\xd6\x4b\x0d\xcc\xf4\xc1\xa9\x92\x10\xf7\xd5\xd5\x2b\x56\x60\x15\x46\xcc\x4c\xc9\xa8\x6e\x70\x15\xa1\x64\x62\x77\x17\xf1\xaf\x22\xba\x98\xf5\xf8\xf8\x52\xd2\xc7\x2d\x95\xe8\x39\x9d\x6a\xdb\x85\x33\xc0\x67\x70\x46\x5a\x9a\x11\x69\xd4\xa0\xb7\x3a\x44\x8b\x01\xef\xad\x75\xb5\xaa\x9b\xcf\xda\xf2\xba\x49\xa9\x25\xe5\xeb\x5b\xc5\xa7\x09\x97\x63\xf7\xad\x9a\x8f\xec\xae\xfa\xde\x59\x6e\x59\x46\x6b\xc6\xaa\x6d\xe2\x35\xa2\x34\x66\x95\xda\xc4\x68\x5e\x63\x73\x11\x9a\xd7\x8f\xa0\xf8\xe3\xcd\x3a\xd9\x59\x54\xb3\x66\x84\x5d\xbb\xea\xe7\x21\xca\x10\x0d\xb3\x60\x36\xa9\x2a\x17\x75\x71\x57\xe7\x65\xf1\xdd\x75\xa2\xf3\x26\xfd\x7a\x43\x7c\xd7\x1b\xa8\x5c\x6f\x0e\xc5\x66\x0b\xa4\x66\x92\x7e\x7c\xd0\xdc\xcc\x02\xa2\x7c\xd7\xee\x42\xb0\x76\x99\xf7\xb2\xfe\xb6\x9b\xac\x77\x58\x2d\x03\x56\xad\x26\x55\xa3\x67\xe7\xf8\xcd\x95\xc7\x16\xaa\x88\x7f\xa3\xad\x5d\xbf\x65\x9b\x42\x1f\xd3\x61\xa3\x6b\x4e\xa2\x30\x00\x15\x1a\x5c\xbb\xa0\xb1\x86\x4c\x61\x68\xb0\x85\xc6\xaa\xb8\xab\xb3\x40\xa1\xbd\x55\x5e\x7c\x55\x87\x5b\xad\xaa\xc9\x6a\x1a\x98\xc2\x52\xd2\x81\xb4\x62\xaa\x68\xe1\xcd\xcd\x57\x6d\xac\x1d\x23\x53\xae\xec\x3f\x15\xff\x76\xe8\xc2\x74\x74\x26\xdc\x09\x6c\x6c\x7f\x2b\x98\xd8\xb0\xc3\x64\x73\x52\x98\x70\x12\x73\xf2\x6d\xf9\x72\x0d\x0d\x98\xa3\xdb\xba\x15\x64\x03\x59\xdf\xb1\x73\xf1\xb4\x18\x7e\xea\x9c\x62\xdd\x0e\xe1\xc3\x5f\xb7\xce\xb6\xed\xdd\x41\x37\xab\x3a\x34\x45\x6f\x64\xcd\x6a\xeb\x43\xf2\x7b\xed\x03\x6b\xff\xd6\x18\xaa\x0f\xdf\xeb\xe7\x7d\x83\x05\xa8\x00\x74\xaf\x41\x73\xfd\x6f\x8a\x81\x1c\xc3\x4f\xc3\x41\x42\xf9\x8b\xb7\xfa\xcd\x15\x72\xf3\x5e\x1d\xb0\xd6\xac\x7c\xf5\x2c\x34\x1d\x46\xa4\x6b\x03\x56\x3d\x53\xbb\x29\x91\xbe\xa7\x22\xe6\xfb\xc3\x7c\xca\x2c\xb1\x61\x39\xa1\x07\x11\x4b\x10\x85\x4f\x21\x61\xa6\xd8\x80\x45\x77\x4b\xd3\x5c\x5b\xc2\xbc\xe1\x23\xd9\x00\x4e\x65\xca\x9b\x19\x2a\xa6\x32\xad\xb0\x06\x45\x78\xae\x98\xbe\xcd\x11\xf6\xc5\x54\xc0\xe1\xf5\x75\xe3\x09\x4c\xa9\x13\x21\xdf\x82\x92\x22\xbb\x49\xf0\xa8\xb4\xb6\xaa\xf4\xd1\x73\xa9\x84\xa3\xa2\x09\xb9\xe1\x3a\xb5\x6d\x75\xb5\x79\xe7\x3b\x4b\xe3\xe4\x6c\xbb\x48\xce\xa4\x87\xeb\x24\x85\xfd\x33\x16\x8e\xab\x9b\x96\x21\xfd\x57\x31\xc5\x9f\xd0\x0f\xa8\xd7\x6b\xcc\xf3\xd3\x74\x12\xe2\x20\x8b\x50\xc8\x82\x7c\x69\x4a\x68\xe1\xad\x50\xf5\x7a\x95\x55\xbf\xa2\xf5\x2b\x67\xfd\xac\x9b\xa2\x5e\x2f\xab\xbd\x17\x45\xf4\x85\x19\x24\x93\x33\x19\xfc\x20\x98\x70\x4f\x84\x65\xf8\x4e\x5a\xed\x17\xe8\x34\x00\x7b\x68\x59\x4c\xcb\x0f\x49\x87\xd5\x66\xe6\xf9\xcc\x74\x61\xdc\x01\xfd\x49\x98\xb0\x2c\x9a\xd7\x59\x37\x5d\xee\x98\xcb\x57\xdb\xd1\xcb\x28\x0b\xa3\xa5\x1d\x21\xc2\xbd\x11\x32\x3a\x16\xad\x76\x38\xce\xd2\x4c\x73\x3f\xaa\x39\x68\xe0\x19\x4e\xf8\x3e\x23\x59\x37\x06\xee\xd7\x60\xe0\x92\xfc\x3b\xc2\x85\xd2\xdd\x3e\x87\xe8\x62\x28\x5b\x35\x34\xda\x2d\xc0\xba\x26\xe8\x36\x64\xea\xfb\x7d\xe0\x28\x37\xe2\xaa\xb4\x42\xb0\x99\x9d\x56\x33\x0c\xdd\xa6\x6d\x0e\x1c\xac\x2a\x2e\x34\x5a\xe0\xd8\x98\x98\x95\x43\x3f\x05\x27\xf4\x0a\x50\x47\x74\xb5\x5f\x56\x1d\xf7\x85\x23\x58\xef\xd7\xe3\x36\x13\x04\x75\xd9\xd8\x71\x85\x6a\x3d\x69\xea\xbf\xcd\xf4\x7a\x4d\x42\x12\x67\x85\x1d\x7f\xd1\x11\x3c\x1e\xfb\xf8\x1b\xb3\xb3\x83\x2d\x77\x40\x19\xd8\x49\x25\x0e\xbb\xb2\xb5\xbc\xf1\x50\x62\xef\x16\x85\xa5\xe2\x62\x51\xe0\xba\x7e\x2e\xdd\x38\x71\xbd\x6b\x0e\x61\xaf\xb2\x66\xed\x91\xeb\x6b\x19\xca\xd8\xdf\xfa\x76\x8e\x6d\xeb\x57\x75\x6b\x42\x5d\x11\xb5\xee\x66\x7a\x2d\x82\xf6\x79\x07\xcb\xd5\x69\x11\x5e\xa7\x43\x19\x8c\x6a\x1f\x40\x55\x1a\x33\x23\xce\x34\x67\x0f\x56\xa9\xe7\x11\xe0\xd6\x13\xcf\xd3\x30\x4c\x88\x8b\x76\xd8\xa2\x9d\x26\x27\x0b\x6a\x10\x8b\xad\x79\x87\xa1\x06\x72\x69\xde\x5e\x4c\xdf\xc8\x26\x92\x30\x8c\xe2\x30\xca\x87\xf0\x92\xc0\x72\x1a\x90\x88\x38\xfc\x62\xdd\x6a\x91\x35\xcf\xf3\xa8\x28\x9e\x67\x97\x6f\x5c\x79\x02\x6c\x3d\xa1\xa9\xee\xb2\x54\x04\x1b\x69\xad\x06\x7e\xc0\x4c\x7f\xde\xa2\xd0\xaa\xf5\xd8\x87\x68\xe1\x78\x60\xf5\xe8\x7e\x74\x5d\x07\xdc\x58\xaf\x21\x34\xc2\xd0\xaf\xfe\xf5\x8e\x3f\xc2\xaa\xbe\x5b\x10\x39\x08\x13\x72\x1f\xd3\xc3\x20\xc5\xa6\xbb\x09\xab\x74\x88\x16\xdd\x94\xd4\xf1\x84\xcd\x32\x19\xa8\xde\xd4\xce\x6f\x44\x31\xa1\x4c\xfe\x8b\x4c\xb4\xb6\x45\x93\x04\x64\x70\x43\xdd\x7c\xc8\x22\xc3\x37\xf1\xde\x6f\x48\xeb\xd6\x9d\xa3\x28\xca\x1c\x8f\xef\x4c\x16\x67\x0f\xbb\x1e\xe8\xb7\xfc\x48\xb7\x5a\xbb\x69\x6a\x48\xd7\x9e\x75\xcf\xd3\xc0\x8c\x24\xa0\xc4\x61\x94\x4e\x3b\xbe\x78\x80\xd6\x8b\x8d\x78\x01\x68\xa6\x5e\x7d\xba\xe9\xf5\xe4\x13\xa9\x55\x41\xbc\xde\x48\x81\x5b\x2a\x85\x85\x8a\x53\x3e\x69\x49\x8f\x22\xeb\x49\x4b\x9a\x69\xae\x7d\xcb\xd3\xbc\x88\xb4\x51\x6d\xd6\xc4\xd2\xc3\xb0\x6e\xb5\x2a\x22\x48\x96\x48\xac\xf8\x92\x7b\xb4\xc0\xa9\x46\x37\x25\x0c\xc5\x43\x58\x90\x8c\xb6\xc1\xa9\x7b\x39\x0c\x48\x82\xd9\x62\xc5\x69\x1c\x1a\x31\xbe\x34\xf6\x81\xef\xe7\xac\x56\x1e\x46\xb8\xeb\x01\xe6\x5f\xd2\x38\xb2\xdd\x6f\xda\x8c\x59\x8c\x11\x38\x24\x3b\x9e\x68\x39\x60\x81\x25\x49\xf6\x1c\x4d\x61\xf8\x6e\x92\x55\xb0\xc3\x5a\x31\x5b\xea\xe1\xc3\x17\xcf\xdf\x3c\x7c\xf4\xec\x70\xf7\xcd\xcb\xa7\x5f\x3f\x7a\x36\x26\xa9\xa8\xfe\xcd\x47\x26\xa1\x94\x78\x1d\xfc\x32\x91\xf8\x81\x3d\x7b\xfa\xc5\x23\x0b\x96\xf3\x89\x6e\x1d\xa4\x97\xbb\x4f\x36\x83\xf4\x91\x46\xd7\x3a\x1b\x57\xd0\xc4\xe0\xfa\xc8\x2f\x36\x0a\x27\xae\x4d\x17\xa4\x88\x51\xe2\x5e\x8a\xac\xb0\x7d\x11\x46\x38\xca\x1d\x0c\xe2\x5d\x3e\x1d\xc3\x61\x3e\x85\x25\xc9\x67\x39\xc4\xd1\xd5\x18\x8a\x27\xea\x6f\xa2\xcb\xfa\xef\xaf\xaf\xaf\x9b\xb9\x65\xe9\x07\xd9\xb4\xaa\x7e\x76\x63\xa6\x44\x4b\xe3\x84\xb0\x48\x59\x2c\x4b\x27\xc3\xab\x89\x96\xd5\xef\x93\x10\xa7\x79\x60\x96\x1f\x11\x99\x52\xb0\x89\xc6\x72\x84\x87\xf9\xf4\x38\xc5\xca\x6c\x69\x9e\x70\xe3\xe6\x0b\x2c\xa7\x9b\xf6\x2e\x9e\xa5\xcc\xbe\x1c\x08\x29\x34\x39\xb6\x70\x60\x4e\x81\x63\x1e\x33\x82\x87\x2c\xfd\x09\x03\x47\xfd\xd4\x39\xf6\xe1\xd5\x00\x0f\xaf\xbc\x74\x41\x1f\xa5\x22\xfe\x5f\xe5\xe3\x22\x28\xa9\x18\x17\xa9\x24\x17\x29\xdd\x5c\xa4\xba\x5f\xb2\x5a\x65\x18\x55\x37\xe7\x22\x55\x78\x6d\xb3\x11\x3f\x17\xa9\x7d\xf5\xdd\xa2\xc7\xfb\xd9\x6b\x70\x97\xc6\x4d\xf7\x12\x73\x7f\xf4\x6c\x25\x5a\xe6\xd9\x49\x92\x04\x37\x7c\x80\x74\x28\x8d\xbb\x9e\xd7\x16\x79\x1b\x18\xf8\x14\xb7\xb5\xca\x7c\x2b\x0c\xcd\x53\x59\x7f\xab\xc4\xbe\xb7\x4a\xa2\xc4\x58\x69\xe9\x40\x04\x70\xcd\x93\xdc\xad\x90\x54\x6a\xee\xb4\x57\x18\xaf\xbf\xff\xba\xf4\x2d\xaa\x2a\xc4\x77\x65\x64\x76\x7f\x6b\xc7\xd2\x1f\xd5\x2e\x5a\x6b\x5e\xab\x9a\xee\x37\x7a\x3c\x5b\x77\x25\xb6\xe9\x6c\xbe\x01\xca\x18\x71\x89\x57\x21\xac\xd4\x35\xe9\xec\x18\xe8\x78\xe3\x0b\x67\x7f\xe4\xd1\x2e\x6d\x4e\x77\xe4\x79\xd7\xab\xb5\x1a\xeb\x69\x6e\xf6\xee\x79\xa5\xb9\x6e\x63\x27\xaa\x07\xb0\x73\x53\x37\x3e\x02\x72\xcb\xf0\xc0\x7f\xc3\x19\x46\x73\xca\x6f\xf6\x98\x52\x68\x78\x71\x96\x4f\xce\xc2\x21\x41\xcf\xd0\x05\xc4\x7b\x59\x45\xc5\x5b\xca\xb3\x09\x2e\x3e\x87\x57\xab\x15\x1c\xce\x21\xc9\x3e\x87\x57\x61\xaf\x07\xce\x41\x4a\xaf\x0b\x5c\x5a\x55\x9d\xc6\xa4\x37\x4d\x0b\xca\xdc\x81\xda\x66\x80\x2e\x38\x8a\x19\x52\xe2\xb6\xb5\x20\x8d\xb4\x2c\xfc\xb4\xdf\xd1\x49\x1c\x13\x1d\xde\x79\x56\x2c\x21\x73\xad\xb6\x3f\x33\x65\xa3\xed\x0f\x14\xfb\x39\x6e\x8b\xe3\x9b\x91\x5f\xb1\x22\x68\xf1\x12\xa3\x45\x76\x9a\x71\x84\xdb\xac\xa5\x6b\xd3\x3a\xf1\x1a\xb4\xce\x6a\x5a\x7a\x23\x7f\x93\xc2\x1d\x79\x57\x18\x03\xe1\x1f\xb9\xbe\x23\x2e\x65\xa2\x73\x28\x24\x4d\x97\x99\xbf\x27\x7e\x1c\x34\x82\xfb\x31\xe7\xa4\x4a\xe4\xe1\xb5\x52\x45\x8b\xef\x18\x56\x68\x89\x27\x50\x4d\xd7\xab\x47\x06\x94\xa9\xc1\xeb\x0f\x2f\x16\x14\x9b\xaa\x09\x1d\xe8\x00\x2d\xa2\x08\xf2\x20\x20\xca\x4f\x31\xf2\x8d\x92\x00\xcb\xcf\x5f\x1e\xb2\x48\x84\x87\x22\xcd\xb6\x63\x91\x62\x34\xcb\x0b\xf8\x74\xaa\x3b\x57\xe4\xf3\x0c\x5f\x1d\x88\x10\x25\x75\xf0\x40\x08\x4b\x5e\x21\x2b\x08\xc4\x65\x46\xa0\xbf\x4a\x1d\xdf\xc4\x06\xa8\x56\x30\xe3\x19\x36\x09\x20\xd5\xa0\x77\x66\xf8\x42\x35\x68\xa1\x1a\x8c\xac\x4e\x11\xbd\x49\x48\xa1\xd6\xe6\x37\x88\x7d\xe1\x6a\xbe\x71\x88\x85\xba\xb1\x10\x7a\x14\xc1\x45\x6d\xd0\xd8\xe0\x3a\x43\x10\x1a\x99\x98\x55\xe8\x27\xd9\xe4\x2d\x7f\x85\x95\x29\x9f\x49\x76\x72\x40\xd0\x42\xf9\x22\x64\xa3\x43\x51\x50\xbb\xda\x9e\x8b\x8d\x75\x88\x16\x6a\xbf\xf2\x33\x97\x45\x36\xcd\xcd\x79\x70\x96\x2d\x20\x0f\xf3\x2e\x72\xbe\x2b\xdf\x87\x0f\x9e\xbd\xd8\xfb\x5c\xad\xce\x5c\xec\x6c\x28\x0f\x8a\xbc\x7c\xbb\x77\x35\x29\xe0\x9b\xf4\x68\x14\xc7\xd1\x28\x8e\xc5\x28\xe6\x57\x2f\xca\xbd\xa6\xd2\x9b\x9a\x96\xca\x37\x8b\xa4\x86\x4f\x9f\xda\xe1\x4c\xf7\x67\xd4\x82\x56\xb2\xf1\xbf\x28\x5f\x2c\x09\xe3\x91\x76\xc9\xe7\xf0\xaa\x22\x18\xbd\x85\x76\x21\x63\x3e\xbb\x18\xa3\x0b\x5a\x49\x9b\x50\x38\x83\x19\x79\x8e\x96\x15\xdc\x87\x0b\x84\x49\xf5\xa6\x0e\x3f\x79\x02\x8b\x62\x77\x39\xcd\xd1\x3a\x9b\xfe\x8c\x56\x92\xc6\xf5\x4d\x2b\x35\xf8\x00\x2c\x8a\x01\xaf\x66\xd5\xd2\xbd\x72\x17\x18\x16\x28\xa3\xec\x2b\x5b\x12\x0d\xe8\x17\x88\x5e\xa7\x26\xec\x10\x78\x96\x57\x44\x5d\x4c\xd5\x5b\x82\x16\x6a\x85\x07\xb0\x28\x9a\x91\x54\xd9\x39\x9c\x0a\x46\xa8\x44\xca\x94\x1f\xf8\x5e\x17\xe5\x62\xc5\x5a\x71\x35\xcf\x65\x7e\xfd\x2f\x0f\xd5\xd9\x7c\x2b\xf8\xad\x28\x94\xec\x57\xad\x92\xa3\x3a\x99\xb9\x58\x86\x4f\x5f\xa8\xe5\x90\x85\x21\x65\x73\xf0\x10\x67\xa7\x7c\xa5\x37\x71\x43\xd1\xe2\xea\x45\xc9\x45\x1c\x65\xe2\x58\xf4\x2f\x16\x50\x77\xaf\xc8\x27\x6f\xb9\x0b\xa3\x51\xcc\x3e\x3e\x58\x12\x82\x4a\xa5\x88\x76\xc3\x77\x1f\x0f\x8e\xc6\x98\x80\xa4\x14\xcb\x56\x5b\xbf\x19\xec\xce\x08\xc4\xbc\x3c\x96\x37\x29\x16\x3b\x89\x32\xce\x37\xc1\xbd\x38\xda\xba\x53\x5f\x53\xe4\xe5\x4d\xee\xe9\xe6\x02\x43\x5e\x72\x96\x1f\xc0\xd5\x0a\x88\x9d\x0f\x22\xf3\xc1\x15\x95\x92\x3e\xfb\x30\x9b\x5e\x05\xe1\xb5\xca\xbe\xae\x23\xf7\x36\x4e\xdf\xb1\x7d\x3c\x06\xec\x1f\x10\x3d\x78\xb4\xfb\x7c\x0c\xe8\xff\x83\xe8\xd5\x17\x0f\x1f\xed\x33\xbd\x0e\xa8\xff\x04\x1a\x20\x4d\x43\xa2\xf6\xae\x2a\x61\x3d\x2d\x48\x76\xc2\xfd\x2e\xef\xb9\xcb\x9b\x71\xbb\x3c\xf1\x95\x53\x10\x0e\x31\x5c\x14\xd9\x04\x06\xb7\x5e\xdf\xba\x75\x1a\x01\xa0\x66\xb0\x15\x26\xfa\x18\xce\x2a\xf9\xb8\xc8\x7f\x0c\xa7\x30\x9b\x90\xfc\x9c\xb9\x91\x45\x4a\x81\x58\x6d\xd6\x41\x1f\x18\x1d\x6b\x8d\x86\xd9\x74\xfa\x42\x86\x8e\x65\xd1\xb9\xa3\x77\x20\x2b\xc8\xe0\x14\x0f\xe6\x68\x0a\xc1\x58\x93\xca\x52\x1e\x0a\x1f\xee\x00\x58\x0e\x96\x15\x48\xd3\x32\x3b\xcf\x4f\x33\x82\xf0\xb0\xc8\xca\xd3\x65\x76\x0a\x75\x49\x78\x87\x47\xdb\x1a\x03\xcc\xec\xd4\xb3\x82\x80\x31\xe0\xc1\x97\xa9\x24\x7c\xb5\x80\x68\xd6\x81\x3b\x46\xab\x31\x6f\x15\xdd\xfa\x2e\xa0\x7f\xac\x58\x9c\x89\xac\x20\xab\x02\xce\x18\x90\x55\x0d\x2e\xfc\xe0\xd6\x90\xc0\x8a\x04\x30\x5c\xad\x02\x98\xca\xe8\x5e\xb8\xde\xa3\x54\x88\x78\x82\x9f\xa3\x29\x73\xf6\x65\xa3\xa3\xcc\x98\x45\x95\x19\xe4\xd5\x80\x4a\xe7\xcd\x17\x7d\xc4\x3a\x94\x07\xb2\xd2\xd3\xea\x39\x24\x59\xfd\xb3\x86\x2b\xa0\xb5\xc1\xe0\x4d\xeb\x16\x15\x2c\xa7\xd5\xe0\xe2\x2c\x23\x7a\xa3\x5b\xdf\x05\xb0\x9a\x64\x0b\xb8\xba\x37\x38\xc9\xc9\xea\x04\xa3\x8b\x0a\xe2\xc1\x5b\x78\x65\x8d\x98\x57\xb4\xc6\x7c\x40\x41\x7f\x75\x96\x11\xde\xd9\x72\x4a\x25\xe3\x01\xe3\xc9\x15\xf3\x16\x1b\xdb\xba\x7a\x28\x83\x9a\x7f\x57\xe4\x27\x03\x29\x77\x8e\x83\xd7\x07\xfd\xf0\x56\x98\x90\x1d\xec\xe7\xe1\x15\x9e\x00\x2a\xdc\x8a\x46\xcc\xfb\x37\x23\xd9\x2b\x5c\x04\x84\x45\x64\x1f\xaf\x6b\x0c\xc3\xeb\x08\x08\xb6\x3e\x28\x15\xbe\xce\xb0\x36\xd6\x62\xaf\xa7\x72\xfe\x9d\x00\xfb\x0f\x04\x70\x8a\xb3\x92\xc0\x29\x48\xd3\x54\x2d\x1d\x2e\xe8\xfe\xad\xe8\xcd\x3b\xf2\x37\x5f\xad\xf4\x14\xb0\x5e\x04\x3b\x79\xd5\x21\x78\x09\x3b\x27\x4b\xd2\xb9\x80\x9d\x29\x62\x66\x65\x67\xd9\x39\xec\x34\x3d\x75\x08\x92\x11\x0c\x3b\x2a\x88\x6a\x08\x18\x89\x5a\x8e\xb5\xeb\x08\x34\x62\x04\x0f\x23\x67\x2e\x35\x3b\xd8\x00\x4b\xe2\xa4\xb6\xcb\xe7\xd9\xa9\xb5\xcc\x35\xf1\xd2\x0a\x2a\x60\xc1\x60\x22\xef\xa6\x20\x98\xbc\x6d\x42\x90\x5e\x97\x1b\x43\xa9\x13\x62\xd6\x90\xf8\x0e\xe6\x3b\x68\xfd\xfe\xad\x6b\xb0\x7d\xa1\xef\xdd\xc6\x5b\x74\x9e\x2d\x58\xfa\x09\x9c\x4f\x61\xa5\xc3\x12\xbc\x6f\xb5\x82\x9d\xbc\xac\x48\x56\x4e\x28\xef\x7a\x71\xf2\x4b\x38\x21\x74\xf9\x9d\x93\x46\xdd\xff\x3c\x5b\x08\x8d\x5f\x40\xb7\xa5\x55\x54\x41\xf2\x42\xf6\x12\xc0\x30\x1c\xeb\x4b\xac\x61\xe2\x1d\x1d\xb5\x39\x9a\x36\x0b\x46\x46\x90\xcd\xca\x0e\x62\x58\xf0\x3c\xd9\x74\x3c\x3c\x3c\xe8\x09\x8b\x45\x69\xaf\x10\x45\x50\x0d\xba\x5d\xab\xc5\x60\x42\xc5\x5e\x63\xbb\xa9\x63\x66\x89\xac\x7b\x3d\x50\x2e\xe7\x27\x10\x2b\x7c\xfc\x28\x3e\x76\x7e\x1e\x1d\xef\x60\x87\x5c\x0d\xc7\xae\xaf\x76\xfb\x9d\x23\x18\xc1\xe3\x71\x2d\x86\x37\xf8\xfa\xf6\xc0\x5e\x23\xda\xf3\xf5\xc2\x2a\x0e\x16\x59\x01\x09\x81\xbe\x19\x16\x09\x2a\x7c\x93\x6c\x7c\x64\x54\x60\x8d\x72\x71\x8d\xe7\xff\xbc\xe4\x9d\xa4\xf5\xd7\x8a\xa0\xc9\xdb\x3d\xa5\x68\x38\x41\xe5\x24\xa3\x4b\x03\x86\x75\x6a\xa2\x4e\x5e\x76\xa0\x4c\xfe\xd0\xf8\x5d\xf3\x40\xe4\xd5\x17\xd9\x17\x01\x0a\x57\x2b\xb4\x1d\xaf\x56\xe8\xfe\xd6\xdd\xbb\xa1\x66\x53\x27\x9c\xdd\x3b\x4c\x2f\x43\x41\x89\xa1\xb2\x74\xe5\x7d\xc0\x56\xc6\x11\x39\x6e\x82\x3e\xc3\x23\x74\x2c\x53\x43\xd4\x98\x96\x08\xcf\x99\xa4\xb7\x77\x70\xc0\x6b\x24\x3c\xe9\x86\x63\x7c\x47\xe8\x38\xad\xc2\xeb\x6b\x6c\x5c\xba\xcd\xec\x65\x3c\xde\x81\xd2\x90\xed\x08\xf3\x62\xbf\x41\x2b\x57\x3a\x6e\x75\xa3\xb8\x67\x58\xd9\x24\x19\x9d\xb0\x0e\xc2\xd6\x6e\x41\x8b\xab\x01\x2a\x45\x5c\x34\x73\x35\x69\x92\x78\xb7\x4b\xd9\xc5\xb2\x82\x03\x21\xd0\x0e\xf8\x8d\x78\xc0\x02\x25\x1a\x2d\xdd\x22\x37\x83\xc0\x04\xee\x26\x10\xdb\x20\xa3\x22\xb7\x13\x88\x57\x34\xe7\x70\xa8\x60\xb4\x28\x96\xd5\x60\x9e\x97\xcb\x6a\xf0\x03\xc4\x68\xf0\x03\x42\x73\x2f\x1b\xa4\x2d\x5e\x16\xcb\xea\x39\xad\xff\x2d\xc4\xe8\x5b\x84\xe6\x69\x0d\x6b\xe2\x44\x42\x6b\xbd\xc7\xfa\xaf\x5b\x88\xf0\x5f\xad\x4d\x64\xac\x95\xc8\xe2\xef\x4d\x94\x16\xbe\x4f\x61\x56\x91\x41\x56\xe5\x59\x39\xc8\xe6\x27\xf9\xe9\x12\x2d\xab\x41\x56\x0d\xc8\x05\x1a\xf0\xf4\x7f\xc6\x96\x1d\x5e\x4c\x86\x18\x9e\x66\x78\xba\xf7\xcb\xb7\xbb\xb2\x09\x43\x8f\xdf\xb0\x06\x4c\x80\x1a\x4c\x50\x49\x30\x2a\x4c\x34\xcf\x89\xb8\x88\xdd\x7b\x90\x33\x05\x36\x46\x85\xa0\xad\x68\x7e\x82\x8a\xa9\xc5\x61\xae\xca\xc9\x03\x54\x4c\x0f\xb2\x19\x3c\x20\x22\xa2\x83\xda\x80\xa2\x7c\xc2\x64\x54\xb3\x69\xfb\x66\xe1\x20\x28\xe8\xdd\xea\x01\x6b\x4f\x91\xd9\x60\xbf\xb8\x1b\x2a\x48\x39\x8f\x02\x3a\x0c\x5a\x60\x8d\x61\x52\xe4\x0b\x36\x7d\x03\x96\x5d\xd3\x4b\xb5\x3d\x59\xef\x2b\x5a\x4d\xef\x72\x0a\x27\xa3\x2d\x6f\xcb\x87\xb4\x54\x34\x50\xc2\xdd\xba\x50\x6c\x42\x88\x31\x14\xeb\x28\xb8\x0e\xbe\x2f\x43\x59\xf0\xc5\xc4\x6b\xca\x20\x66\x1b\x81\x96\x9a\x18\xef\xc9\x62\x04\x9f\xe2\x1d\x9d\xa1\x39\xa4\xa2\x79\x35\x90\xca\x64\xcf\x66\xa0\x15\x3f\x87\x57\xc2\x28\x8a\xae\x52\x5a\x94\x97\xd3\xbc\x3c\xad\xcc\xb3\x48\x15\x5e\x44\x15\xce\x0e\xd8\xc1\x41\x79\xb8\x7d\x46\x85\x04\x5f\xbd\x73\x35\xcc\xa6\xd3\x07\xe2\x6f\x8a\xf3\x84\x89\xf9\xb0\xb1\xcc\x16\x51\xea\x59\xfc\x7d\x7a\x7e\x28\x78\x75\x16\x35\x97\x15\x3c\xd3\x15\xdf\x7e\x6d\xcb\x47\x32\xa2\x3f\x67\xbf\x80\x12\x6e\x9e\x5d\x0e\xf8\x6d\x70\x50\xc1\x5f\x2d\x69\x45\xc7\x8a\x99\x67\x97\xfc\xed\xe5\x40\xd4\x61\xdb\x7b\x0e\xa7\x79\xc6\xa9\x9e\x61\x38\x98\xd1\xbf\xbc\x84\x67\x95\x29\xe5\x77\x31\x7c\x4c\xff\x15\x20\x48\x26\x04\x48\x71\x89\xf2\xb7\x27\x19\x13\x1c\x1f\xb1\x7a\xbc\x35\x0b\xc5\xce\x6f\xa2\x93\x22\x9f\xbc\x75\x73\x42\xa7\xce\xa6\x69\xcf\x83\x27\x9e\x30\x7d\x8d\x6b\x89\x3e\x37\x74\x3a\x6c\xa1\x2e\xb2\xd3\xcd\x16\x1c\xad\xa8\x2f\x38\xb0\xc8\xaa\x8a\xde\x9c\x07\x42\xce\x72\x09\xb9\xbd\x5e\x00\xd3\xae\xd0\xf6\x36\x77\xfc\x65\x05\xf1\xee\x29\x2c\x89\xbc\x26\x3e\xcf\x26\x9d\x17\x07\x9d\xaf\x6f\x85\xbd\x1e\x58\xa0\xc5\x72\x01\xba\x29\x1a\xf2\x86\x87\x57\x0b\x18\x32\x07\x97\xaa\xda\x2d\xc8\x17\xac\xbb\x06\x05\x76\x7a\xfc\x2e\x71\xa0\x67\x8d\x89\x04\x5b\x01\xeb\x90\xf8\x19\x71\xa0\x97\x7f\x27\x0e\xe7\x2d\x53\xc8\x9b\x7d\xc9\x5a\x60\x38\x81\xf9\x39\x1c\xc0\x72\x82\xa6\x16\x57\xbb\xf5\x5d\xb0\x24\xb3\xc1\xbd\x15\xce\x2e\x74\x3d\x81\x26\x37\x7d\xa8\x8b\x8b\x33\x84\x3b\x0e\xc0\x9d\x0f\xfb\x2c\xba\x13\x60\x20\x81\x79\x91\x79\x24\x2a\x32\xb4\xf8\x32\xa4\x52\xd4\x5b\xa9\x90\x76\xdf\xec\x34\x8d\xb5\xde\x12\x31\x25\xb7\xaf\x99\x54\x81\x37\x6d\x4e\x32\x3c\x10\x26\x8a\x0e\x46\x6d\xbe\x09\x72\x4e\x2d\x7a\x63\xf1\xc2\x07\xf3\xec\x8a\xed\xfe\x41\x86\x31\xba\x18\xb8\x18\x88\x5b\x93\x0e\x2d\x48\xe8\x1c\x0e\xe6\xf5\x3b\x9f\x17\x1d\xfb\xe5\x50\xa0\x45\xb1\xf8\xd9\xa7\xd4\x80\xea\x98\xcf\x46\x4a\x73\xcf\xea\x59\x3e\x23\x03\xfe\x00\xbf\x46\xcc\x63\x55\x9f\xb2\x9a\x0d\x87\x23\x42\x3f\xea\x19\x1a\x5b\x4f\x2c\x73\x1f\x2f\xe5\xb4\x60\xb1\xac\x27\x95\x67\x2a\x6a\xc9\xb1\x09\x01\xaa\x37\x1b\x50\xc9\x68\xb3\xb6\xcc\x1e\x81\x35\xbe\x40\x78\x3a\x60\xf6\x5a\x03\xb6\xa3\x07\x05\x9c\xad\x13\xdd\xec\xfc\x77\xa9\x53\x52\x73\xd5\x73\x75\xb9\x89\xb8\xe8\xc8\xac\xb7\x49\xa7\xa2\xa2\xab\xd7\x39\x4b\xc1\x77\xa3\x6e\x79\xd6\xbe\x4d\xfa\x95\x35\xaf\xaf\x75\xad\x33\x86\xd9\xf4\x80\x20\x9c\x9d\xc2\xc0\x7c\x10\x10\x55\x98\x6a\xec\x6a\xb7\x28\x82\x30\x22\xbd\x1e\x69\x7b\x18\xd0\x53\xbd\xd2\xf6\xbe\x38\x81\x1c\xb8\xa7\x71\x05\xc9\x03\x9c\x4d\xde\x42\x02\xa7\x9e\xc0\x91\xf2\xf1\x68\x78\xa2\x57\x84\x7e\x90\x8a\x2a\xc2\xe9\x2e\xd5\x3c\x41\x42\xeb\x6d\xd3\x17\x0f\xd4\x5b\x91\x65\xe4\x51\x82\x86\xba\x49\xe4\x44\x49\x27\x94\x8a\x98\x7f\x6c\x07\x46\x4e\x3d\x7b\x80\xee\x57\xae\x16\x72\xad\x0d\x95\x6a\x3d\xa4\x7a\xb4\x17\xa1\xcb\xc4\xc0\xbc\x36\x35\xef\x57\x55\xe0\x7c\x8b\x75\x3f\xde\x86\x6e\xeb\x84\x9f\x17\xba\x57\x13\xda\x5c\x3c\x7c\x13\xbc\x61\x3c\x5b\xb3\x63\xff\xac\xac\x0d\xb9\x6b\xbd\x61\xff\xff\x64\x56\x5c\xd7\x41\xdf\xac\x6c\x18\x0d\xd9\x44\xc7\x03\x10\x2f\xcb\x3d\x34\x9f\x67\xe5\x74\xaf\xc8\xaa\xca\x78\x6d\x54\xe2\x6d\x0a\x86\x7a\x0a\x49\x00\x60\x79\x9e\x63\x54\xce\x61\x49\x40\x98\x00\x71\x13\xab\x35\xad\xb8\xd7\xe3\xa9\x76\xf1\x6a\x15\xe0\xf4\xdd\xb5\xea\x46\x20\x12\xd0\xf3\x3e\xd9\x6b\x23\x0c\xde\x65\xf8\x94\x5f\xcd\xc6\x3c\x44\x78\x8e\xc6\xe2\xf5\x7b\xb8\x58\x56\x67\xf4\xa6\xda\x74\x39\xc6\x11\x2a\x1f\x5d\xe6\xc4\x50\xe1\xd0\xca\x68\x11\x84\x51\x3e\x5c\x96\xec\x4a\x5b\x14\xf5\x93\x3a\xfd\xaa\x0e\x61\x52\xa0\x0a\x52\x71\x11\x5e\xe6\x04\x84\xbd\x9e\x90\xce\xd9\xf7\x20\xac\x8f\x1a\x1b\x8e\x8a\x3f\x25\x5f\xe0\x9b\xab\xbc\x7a\xa9\xae\xcf\x35\x41\x67\x53\x97\xe9\x91\x0f\xb2\x8e\x94\xe5\x7e\x5c\x8b\x53\x26\xf6\xd6\xda\xd3\xd3\x21\x9e\xa0\xe9\x95\x6f\x34\x16\x49\x37\xef\x95\x2e\x06\x1f\x58\x7a\xb4\x55\xd5\x97\x19\x36\xf2\x42\xa7\x40\xa6\xf3\x00\x32\xff\x5c\x6d\x41\x22\xff\x92\x81\x64\xf9\xa9\xc5\x9f\xcc\x17\x10\x93\xab\xe0\xfb\x0f\xde\xe1\xeb\x0f\xde\xc1\xeb\xef\x45\x1e\x6e\x1f\x3f\x72\x84\x47\x8d\x53\x79\x61\xb3\xd6\x7d\xa3\x33\x72\xda\x53\x69\x8a\xa3\xda\x7e\x81\x0f\x2f\x00\x75\x5a\x12\xe6\xb2\x04\xec\xf6\xba\x97\x47\x13\xd2\xac\x05\x14\x77\x05\x59\x0b\x4b\xb8\xba\x31\x60\x6d\x8c\xc5\x1b\xc0\xd5\xb5\x6e\xea\xb1\xae\x01\xb9\x36\x6c\xbf\x09\xb4\xd1\xa4\xb9\xe7\x4d\x53\xb8\x59\xab\xd0\x31\x23\x02\xa0\x7b\x3a\x85\xc2\x50\x97\x2c\x95\xd9\xae\xf5\x7e\xa1\x62\x72\x6d\x69\x6d\xbd\x98\x9a\x7a\x17\x4f\x28\x42\xb5\x5f\x87\x42\x87\x3d\xdf\xc8\x17\xad\x6e\xfd\xa2\x25\xdf\xdb\x5b\x54\x0a\xaf\x83\xaf\x47\xa3\xe4\x75\xd5\xaf\x1f\xdf\x7b\x3d\xb0\x87\x5f\x1c\x50\x30\x47\xa3\xe3\x1d\xb7\xc5\xcf\xd6\xd8\xfd\x7d\x24\x9c\x8b\x9d\x85\x5e\x79\xcc\xa4\xd8\x06\x44\x50\xd5\xe6\x4a\xce\xf7\x14\x86\xba\x20\xbe\x99\x1a\x3c\x85\xd1\x39\xca\x05\xff\xdb\x5c\x09\x9e\x42\x2d\x10\xa3\xba\xb4\x3c\x11\x3e\xf1\x86\x35\x01\x1f\x58\x94\xa7\x64\x08\x7f\xb5\xcc\x8a\x2a\xc0\x61\x92\x9b\x46\x02\x14\x89\xe6\xed\xb6\xea\x4c\xf3\x8a\x49\xc8\xe3\x0e\x85\xd2\x41\xb3\x0e\x85\xd3\xb9\x60\xfb\xbb\x33\xcd\x67\x33\x5a\x6b\x86\xd1\xbc\xc3\x05\xa6\x61\xa7\x43\x77\x40\x87\xaf\xf2\x4e\x5e\xb1\x97\xbc\x35\x1b\x6f\x23\xe9\x4a\xa1\x52\xbe\x99\xc4\xa4\xb6\x68\x5b\x29\xf5\x53\x82\xbd\xb7\x1b\x16\x58\xa2\x29\x1c\x4c\x97\x98\xbd\x61\x03\x7b\xf3\x6a\x0f\x16\xe1\x0e\x88\x87\x9f\x54\x60\x0c\x62\x2f\x03\xac\x37\xeb\x01\x3d\x4d\xda\xba\xb6\x73\x67\x02\x69\xe5\x27\xb4\xb4\xcc\x18\x52\x1c\xe8\xe7\x64\xf8\xfc\xc5\xab\x83\x47\x6f\xf6\x1f\xbd\x7c\xb1\x7f\xf8\xe6\xe1\xd3\x83\xdd\x07\xcf\x1e\x3d\xdc\x01\xde\x7c\x9c\x94\x6e\x21\x18\xfb\x2b\x2c\x50\x5e\x12\x88\x43\xff\x60\xb2\x73\xc8\xaf\x67\xeb\x92\x50\x70\x88\xd2\x2a\x82\xe7\x83\x6a\xe3\xe8\xba\xe1\xf6\x3a\xe8\xfa\x0a\xf0\x1f\xc4\x3e\xa8\xa6\xdd\xbd\x0e\xaf\xed\x72\xfa\x6d\x13\x26\x78\x83\x93\x47\x3f\x2e\x9b\x10\xc3\x7e\x8c\xf9\x5b\xec\x61\x4e\x0c\x37\x01\xc3\xb4\x79\x48\x58\x0d\x1f\xa2\x18\x56\x04\x61\x6b\xaa\x6a\xc6\x9e\x0f\x67\xc3\x49\x91\xcd\x17\x3c\x48\x6e\x14\x9b\xb6\xe8\x32\x72\xeb\x88\xb2\x1e\xb5\x36\x7f\xe5\x74\x34\xe0\x39\x23\x46\x32\xec\x57\x93\x8c\x72\x4f\x5b\x09\x01\x89\x70\x18\xd5\x80\xee\xe3\xd5\x4a\xfe\x9d\xa6\xb8\xd7\x6b\xbc\x1f\x42\xd3\x3b\xcf\x58\x52\xb2\x5e\xda\x8d\x7d\xeb\x8a\x3d\x47\xf1\xfe\x5f\xc8\xda\x8e\x73\xbd\x1d\xfa\x68\x9d\xf2\x84\x9b\x7c\x7a\x94\x27\xc2\xdc\x1b\xd6\x3e\x7f\x74\x5f\xf3\x76\x6f\xda\xf6\x83\x13\xb4\x4b\x09\xc2\x3b\x68\x5b\x50\x5a\x1a\x0e\xf1\x76\xd0\x4d\x65\x32\x22\x16\xd0\x5a\x8d\x7a\xcb\xfc\xfa\x27\x30\x2f\x6c\xa9\xde\x21\x49\x7e\x04\x6d\xb6\xef\x89\x28\x1d\xaa\xc1\x6e\x55\x93\x5d\xe8\x59\x7d\xa1\x1e\x09\xe2\xe0\xaa\x9c\xe8\x8b\xe9\x4d\x20\x1d\xe6\xad\x51\x00\x96\xcd\xd9\x4f\x16\x33\x32\x6e\x1b\x5d\xd4\x48\xb7\xeb\x84\xe1\x8f\xa0\x6f\x94\xce\x0d\x53\xa7\x7a\xba\xe1\x20\x05\x4a\xad\xa3\x54\x7b\x37\xee\xdf\x50\xf3\x88\x6d\xd0\x91\xa1\xff\x78\x4b\x1e\xed\x80\xdd\x39\xec\xfa\x1c\x03\xbd\x81\x88\x7e\x50\x47\x83\xcd\x91\x66\xc2\x5c\xc9\xd9\xf6\xad\x7b\xad\x5f\xd3\xed\x0d\x6e\xa7\xb1\x9d\x8a\x7d\x97\x10\x38\x5f\x90\x0e\x41\x1d\xd1\xba\x73\x92\x4d\x3b\x22\xd1\x01\xe8\xd7\x92\x16\xd4\x23\x96\x9f\x8a\x9d\xa1\x66\xe7\x37\x88\x61\xe5\x1f\x63\x26\x3f\xcb\x79\xc9\x83\xfa\x50\xb2\xdc\x8f\x79\x0c\x1e\xc3\x73\x44\x50\xc5\x61\x7e\xee\xe6\x9a\x44\x09\xd9\xa8\xa8\x46\x6a\x0f\x15\xe1\x72\x3d\x18\x25\xf8\x7e\x1a\xd7\xae\xb6\x75\xf9\x11\x3e\xde\x86\x61\x82\x07\x83\xd0\x68\xc8\x14\x17\x36\x4b\x56\x86\xe1\xc4\x68\xcd\x04\xc9\x18\xe5\x3f\x65\x86\x64\x8a\x8a\xd6\x29\x92\xb1\x07\x12\xf7\xea\x4b\xa1\x9a\xb9\xa5\x11\x4e\xc4\xa4\x6e\xc7\x3c\x8a\x12\x61\x5e\xe5\x44\xa4\x8f\x69\xa2\x4e\x98\xf1\x99\xf2\x81\xb2\xc5\x6b\x87\x21\x41\xfc\x34\xc5\xf4\xa8\x0c\xb9\xdb\xbc\x5c\x33\x1c\x0a\x7b\xa9\xc9\x43\x51\xa6\x0d\x62\xc1\x1c\x98\x83\x30\x22\x83\xc1\x35\xb7\x9e\xd3\x67\xe3\x2c\x9f\x31\xef\xd3\x80\x34\xa3\xd4\xba\x5f\x2c\xab\xb3\x61\xb6\x58\xc8\x9b\xa6\x51\x1e\xa1\x30\x62\x98\x89\xe0\x88\xd9\x65\xc0\x7e\x0e\x48\x14\x0b\x53\x08\x8a\xec\xfd\x98\xfb\x8e\x6e\xa7\x2d\x63\x94\x16\x77\x4d\x98\x45\xa7\x0b\x55\x1d\x8b\xa9\x74\x03\xab\x16\x45\x3e\x81\x4e\x6c\xe5\x4a\xae\xa2\xca\x58\x96\xcb\xb2\x21\x45\x49\xc9\x95\x56\x7c\x5c\xfd\xb4\xba\x96\x7c\x86\x07\xa4\xe2\x91\xa5\x49\x78\x2d\x77\xd9\x97\x87\xfc\xac\xd9\x87\xa7\x74\x35\x32\x47\x01\xa6\x1c\x6a\x4e\xdd\x5a\x1a\x0a\xb0\x57\xb8\xe5\x01\x82\xd0\xdc\x21\xa5\xab\x97\x7f\x2d\x40\x53\xe0\x15\x3e\x78\xbd\x47\xa5\xad\xd0\xf2\x40\x13\x69\x0b\xec\xd5\xd9\xde\xc3\xcb\xec\x14\xbe\x5a\x78\xae\xbe\xc6\x6d\x4c\x73\xa7\x4f\xd6\x0d\x4d\xdb\x8f\xaa\xc2\x67\xb4\x1e\xa3\x87\xe8\xc2\xa7\x93\xf8\x69\x38\xf5\xbd\x92\x6a\x2b\x4e\xcf\xf2\xf2\xb7\x46\xa5\x0d\xba\xfe\xed\x91\xc3\xdb\xf9\x45\xbe\x80\xc2\xe7\xdd\x4e\x9d\xe8\xe1\x71\xb1\xad\xf1\xd3\x12\x82\x1d\x39\x2e\xf0\xee\x4b\xfa\xf1\x70\x86\xf0\xa3\x6c\x72\x16\xb8\xdc\x38\x34\xd6\x7e\x3f\x6e\x82\x50\x70\x55\x14\xdf\xe0\x71\x1d\x3a\x9e\xc9\xf1\x74\x63\x06\x30\xd4\x1f\x5a\x1b\xd5\x99\x25\x34\xd9\x43\xd1\x53\x5c\xf9\x2e\x4e\xd0\xce\x97\xc0\xfa\xdf\x2d\x0a\x87\x17\x99\xc7\xbf\xac\xc1\xd8\x41\xb1\x8d\xf4\x20\xd2\x3c\xdf\x05\xce\x24\xf6\x86\x4f\x4b\x1a\x48\xcb\xd0\xde\x52\x75\x68\x66\xfa\x92\xd4\xe7\xc4\x00\x83\x66\x64\x9f\x7f\xf0\x6d\x02\x59\xc3\x22\x6b\x9b\xaf\x63\xfd\x94\xad\x58\xe0\xa7\x5d\x33\xa1\x83\x52\xb8\x31\x4d\x0d\x63\xef\xcd\x29\xe7\x6a\xb8\xfe\xf0\xa9\xe9\x2c\x0d\x7d\xfc\xd7\xd5\x19\xc2\x17\x19\x9e\x8a\xb5\xd4\x92\x30\xcf\xa7\x64\xe1\x77\x73\x1e\xb6\xc7\x29\x41\x26\xa4\xdf\x0f\xa5\xec\xd2\x88\x8f\xe4\xf8\x7e\xad\xff\x3c\x47\xf9\xb4\xa3\x63\xce\xc5\x45\xbb\x51\xa8\x49\x5f\xed\xf7\xe8\xc4\x0f\xd2\xa1\x44\x88\x36\xba\x9a\xfb\xd4\x28\x94\xad\xfd\x3c\x84\xf4\x89\xe1\xe4\x3e\xa5\xf1\x60\xe0\xa4\xe5\xf6\xfb\xd1\xd2\x59\xcf\x7f\xb4\x40\x62\x0d\x0f\x36\xe3\xdb\x00\xf5\x77\x2e\xdc\x1b\x45\x78\xb2\xe9\xd0\x9a\x3e\xa4\xdc\xd7\x1f\x45\x71\x04\x85\x78\x66\x15\xc7\xbc\xb0\x45\x63\x23\x06\xb6\x4b\x6c\x55\xe3\xfb\xcf\x1d\x8b\xe1\xfc\x62\x16\xc0\x30\x19\x8c\xba\x75\x94\x13\x1b\xfb\xc8\x4b\x73\xf3\x18\xb0\xc3\x33\x1b\xe4\x96\xe7\xa9\x15\x58\xa0\x45\xa7\x64\x1c\x28\x9e\xd9\x85\xab\x55\x1c\x35\xd7\x44\x9e\x79\x2b\x4f\x49\x4a\x06\xa3\x41\x40\xa5\xa1\x3f\xc0\x7d\x9c\xe4\xdb\xce\x1d\x96\xe4\xfd\x14\xcb\x44\x1d\xb2\xab\x20\x97\x09\x5f\xac\x30\x08\xde\xe7\x62\x02\xf1\x02\x43\x47\x8e\xe7\x73\xd2\x94\x06\x1b\xe9\x38\x3c\x7d\x4c\xe1\x04\xe1\xcc\x65\xec\xc4\xa2\x40\x40\xfb\x94\x97\x2d\x94\x6e\x5b\x9d\x07\xad\x73\xcf\x72\x46\xf4\x3c\xca\x1a\x2e\x84\x6d\x70\xda\xde\x76\x1d\x3e\x84\x6d\xa0\x6a\xcf\x44\x0f\x38\xc5\xf0\xd0\x02\x53\xdb\x2e\xb6\xb7\x6d\x02\x50\xb9\x1a\x73\x0b\xc6\x50\xcd\xb3\xc7\xd3\x73\xb3\xdf\xec\x4f\x2b\xbc\x84\xfa\x84\x6d\x01\x76\xbc\x7e\x1b\xbe\x0f\x35\x10\xcb\x6a\xd6\x02\x66\xdb\xde\x86\x66\x73\x87\x95\xab\x07\x8c\xc7\x7c\xb6\x1e\x7b\x1d\x78\xc4\x25\xc8\x37\xf6\x0f\x46\x6d\x9e\x30\x10\x95\x2c\xb3\xff\x25\x99\xc3\x72\x69\xab\x78\xbb\xa3\x6b\xf5\x89\x10\x95\xec\x0d\x49\x0b\xdc\xe1\x78\x13\xd4\xb2\x11\x07\x61\x82\x1d\xd9\xfe\xd9\x8b\xcf\x14\x5d\x94\x80\xca\xd7\xde\x1a\xcb\x45\x7b\x39\x0b\x17\xd8\x24\x77\xd2\x42\xb8\xa8\xb1\x49\x89\x13\x04\x5b\x26\x75\x60\x98\xc7\xf4\xd7\x1e\x8b\x22\xa8\x8c\x30\xea\xc6\x61\x0b\x02\x7c\x08\x0a\xe1\x94\x40\x52\xeb\xe1\xea\xb7\x08\x57\x27\x27\xc5\x12\xaf\xc5\x70\x14\x86\xee\x28\xd7\x66\x86\x51\xf6\x9c\x17\x26\xb9\x16\x8a\xec\x43\x71\x78\x0d\x4a\x34\x85\x47\x7c\x17\x81\x59\x56\x54\x10\x1c\x77\xde\x75\x3a\x27\xe8\x92\x6e\x8c\xbc\x3c\x1d\x77\xb8\xf1\xe4\xe0\x04\x5d\x26\x9d\x8e\xe9\x67\x3d\xee\x10\x9c\x95\x15\x0f\xa2\xaf\x66\x76\xed\xc8\x76\x42\x21\xba\xb5\xb8\x6c\xbe\x31\xa4\xc6\x9d\x0a\x15\xf9\x34\xb9\x1e\x5e\x4c\x18\x1e\xb4\x63\xe1\x01\x3e\xee\xe4\x65\x91\x97\x70\x70\x52\xa0\xc9\xdb\xa4\xd3\xa1\xc8\x0f\xb2\x22\x3f\x2d\xc7\x9d\x09\xa4\x0c\x3e\xe9\x48\x5d\xeb\x24\x2b\x26\x81\xfa\xb4\xa8\x1b\xa6\x84\x9d\x8f\x3a\x5b\x61\xd2\xe9\x30\x80\x52\xfb\xe7\xac\x2f\x73\x15\x5e\x8f\x31\x42\x84\xe2\xe3\x06\x39\xee\x7c\xe8\x78\x7c\x70\x5b\xbb\x24\x0e\x20\x8d\x0a\x72\x0d\x94\xc6\xce\x45\x05\xc3\xa7\x8e\x67\xe5\xa3\xd3\x30\xee\xc4\xde\x62\x8c\x2e\xf4\x62\xee\xca\xac\xbd\x36\x8f\x3b\xf1\xf0\x93\x4a\xa9\x63\x3d\xde\x8e\xd9\x04\xf8\x6a\x88\xd7\xdb\x71\x47\x1c\xe0\xbe\x7a\x62\xda\xdb\x9f\x89\x93\xeb\x3f\x7c\x0b\xaf\x66\x38\x9b\xc3\xaa\xc3\x90\xa5\xf3\xc0\x2c\x00\xde\x75\xd0\x22\x9b\xb0\x74\xc3\xa3\x61\x9c\x74\xae\x3b\x1d\x82\xd4\xaf\x31\xfb\x7a\x3d\x6c\xc6\x48\xdb\x66\x65\x3e\xe7\xd1\x08\xca\x6c\x0e\xc7\x1c\x68\xa2\x7e\x6f\x08\xa1\xe2\xe6\xa0\x54\xa8\x35\xcb\x09\xe4\x9f\x07\x2c\xdf\x0d\x5d\xb4\xb3\xbc\xcc\x09\xd4\x6a\x91\x7c\x9e\x97\xa7\x03\xc9\x2f\xc6\x1d\x98\x55\x70\x90\x33\xbf\x0e\x1d\x8b\x1c\x43\x51\xa5\xbe\x16\x26\xd7\xc0\x64\xe2\x67\x30\x9b\x6a\x01\xf2\xf3\xd0\x0e\xfe\xd4\xce\x14\x94\x3c\xd1\xaa\xb1\x74\x13\xa1\xa8\x76\x50\xe0\xc5\xc0\xae\x3b\x29\xb2\xaa\xfa\x22\x9b\xc3\x14\x28\xac\xc4\x51\x71\x7d\x56\x69\x9e\x4e\x7a\x83\x5d\xac\x95\x9a\x9b\x20\x0c\x79\x7a\x6a\x3f\x1c\xb1\xbb\x5b\x01\x61\x74\x11\x86\x49\xcd\x85\x38\xfb\x11\x7b\xbe\x05\xb9\x64\x23\xb6\x32\xb8\x80\x27\x6f\x73\x32\x60\x2c\x53\x50\x41\xac\xdd\xc8\xe2\xac\x9d\x51\x1c\xcf\x2b\xc6\xb4\x32\x9c\x0c\xe6\xe8\x87\xf7\x69\x07\x22\xeb\x76\x87\x1c\x52\x87\x16\x36\x20\xfc\x69\x8a\x1a\xf3\xa9\xd9\x29\x84\x58\x89\xd0\x94\x25\xa3\x9d\xec\x0f\xe8\x0c\xc0\x9b\xae\x6a\xbb\xad\xb2\xb8\x39\xcf\x99\xe2\xec\x54\x78\x09\xf2\x53\x06\x62\xe0\x6d\xbc\x61\x6a\xf4\xc1\xa7\x9f\x2e\x2e\x3d\xab\x67\x14\x2f\x2e\xeb\x65\xc2\x7e\x58\x3b\xdb\x93\x27\xda\x42\x67\x03\xd1\xe7\x48\x15\x55\x1a\xb9\x4a\x95\xa0\x00\xf3\xcd\x04\x11\x98\x9e\x14\xfc\x4f\xb7\xea\xd4\x47\x13\x4b\x70\x69\x32\x6e\xaa\xfb\xbf\xa5\x5a\x33\x72\x67\x25\x87\xbe\xb5\x15\xf0\x86\xd2\x99\x79\x51\x70\xea\x75\x21\xd9\x87\xe7\x10\x57\xf0\xcb\x7c\x0a\x51\xd0\x1d\x39\x68\x2e\x02\x7b\x3a\x2e\x34\x66\x7e\x67\xaf\xb1\x85\x14\xd5\x7d\x96\x16\x35\x85\xbc\x8a\x3b\x2a\xb9\xb5\x3d\xf3\xd4\xd1\x47\x7d\x28\x88\x60\xbb\xf6\x93\x2a\xf1\xab\xeb\x43\xdb\xec\xa8\xae\x72\x04\x8f\xad\x57\x55\x07\x88\xc4\x65\x5d\x85\xd1\x45\xc5\xc2\x87\x1c\x91\xe3\x56\x8c\xf9\x3e\xd4\x4d\x0b\x9a\x37\xec\xa3\xe3\x28\x4f\x61\x92\x6f\x93\x24\x97\x09\xd7\x90\xfa\xf8\xca\x2e\x29\x39\xbd\xa5\x30\x63\x7c\xa4\xca\xc6\x61\x94\x6f\x93\xc1\xa8\xd7\xeb\xb2\x44\x2a\x4a\x2c\x26\x26\x3f\x4a\x1d\x20\x08\x7b\x3d\xd1\x1c\xbc\x2e\x81\x0c\x52\xdf\xc1\xc3\x5f\xa2\xbc\x0c\x40\x9b\x5d\xb2\x78\xb8\x75\x65\x98\x30\x91\x84\xa1\x8a\x5b\x2b\x48\x9e\x9f\xbb\xd5\x36\xcc\x9c\x84\xbe\x9b\xfa\xa2\xd4\xd3\x9b\xf2\x14\xda\xa6\x01\xf4\x41\xd5\x6f\x8f\x36\x46\x51\x9e\xc6\x49\xbe\x0d\xad\xa9\xf3\xf2\xfd\x4b\x7a\x6a\x83\x30\x41\x36\xef\x34\xdb\x50\xb2\x33\xba\x02\x7a\x5c\x29\xf9\xf5\x70\x3f\xd7\x55\xbf\x74\x66\xf7\xd1\x45\x80\xc2\x6b\x47\x54\x78\x73\x50\x9e\xf7\xca\x24\x9f\x05\xd5\xfd\x98\x0f\xa3\xf4\xbd\xbf\x57\x61\xc2\x61\x35\x34\x5e\xf7\xf4\x5e\xba\x1e\x99\xd4\x94\x32\xd2\x10\x44\x2a\xbe\x58\x09\x0b\xea\x1c\x84\xd7\x32\xb3\x8c\x6f\x34\x2c\xaf\x4b\xfb\x78\x47\x0d\xa3\xdc\x15\x47\xa0\x65\x6e\xe7\x7d\x6e\xa0\xe7\x8f\x9d\x98\x32\xc2\x9a\x99\x44\xdd\x35\x94\xd5\xd9\x36\xd7\xdf\xee\xb9\x0b\x2e\x2b\xc4\x51\xce\x6f\xc4\x28\xaa\x12\xb8\x8d\x77\x02\x94\xc2\xa8\x4a\x71\x9f\x84\xe3\x00\xa5\x38\xaa\x52\xd8\x27\xb5\x90\xa2\x3e\xf8\xa1\xc8\x19\xcc\x56\x10\xef\xe9\x26\xaf\x77\x0a\x38\x6b\x54\x4d\xba\x4a\x2c\xf3\xb7\x8a\x17\x4c\xd4\xb6\x17\x28\xc2\x49\xb5\x4d\x92\xaa\xdf\x0f\x73\x85\x39\x56\xc7\xcd\xc2\x45\x7d\x9f\x15\xea\x02\xe7\x25\xf1\xec\xd0\x98\x19\x57\x5e\x4c\x86\x15\xe1\x46\x72\x2c\xe9\xf6\x36\x4e\x4c\x7f\xce\x0b\x9c\x2d\x32\x26\x5d\xd6\x2b\xaa\xf5\x69\xc4\x32\x9d\x44\xf3\x79\x4e\x9e\xe5\x25\x94\x76\x90\xf2\xc0\x2c\xe1\x05\xfd\x1c\x08\x3d\x46\x15\x95\x29\x1e\x90\x28\x4b\xbb\xa3\x64\xbd\x9a\xbd\x5f\xde\xf7\x19\x92\x05\x59\xda\x8d\xa3\xd2\x5d\x3c\x58\x0f\x3a\x8c\xb2\x5e\xaf\xeb\x23\xc3\x4e\x50\x09\xca\x2d\x4f\x2a\xc2\x04\x95\xa8\x1c\x8c\xc2\xbe\xfe\x11\xd3\x1d\x52\xa6\x38\x1c\x3b\xaa\xf3\x2c\xb1\x74\xd4\x05\x0b\xc7\xab\xbb\xe1\x2d\x8a\x9c\x7c\x95\x4f\x21\xbd\x3e\x70\x1f\xb2\xa0\xaa\x33\x88\xca\xd3\xf3\xac\xdf\x0f\xb5\xa1\x18\xef\x86\x17\x13\x76\xa8\x17\x47\x67\xc7\xe2\xef\xa8\xad\x7a\x56\x4d\xf2\xbc\x69\x51\xff\x34\x9e\x44\xf9\x76\x7b\x8e\xa6\x70\xc7\xb1\x0d\x05\xb2\x0c\x42\x45\xb0\xb0\x1d\x94\x75\xe8\x0a\x61\x41\x73\xcc\x6a\xad\x88\x89\x71\xd4\xa1\x6b\xd7\xa1\xdf\x8d\xf5\xc5\x33\xcf\xae\x4e\x58\x34\x9e\xbd\x3a\x3b\x21\x5d\x80\xfd\xb4\xbc\x5e\xff\x32\xa0\xb2\x84\x3a\xd0\x42\xb3\x0f\x7e\x1e\x53\x1a\xf3\x1d\xd7\x90\x6a\x62\xe6\xbb\x25\x6d\xef\x1d\xd6\x27\xc2\x6a\xf4\x06\xa1\xa2\xc3\xb1\xa3\x09\x74\xd7\xf7\x5a\x4c\x9e\x36\x78\x1f\xea\x2f\x9d\x42\xec\xe0\x46\xad\x56\x47\x3b\xd6\x97\xb1\xef\x95\x47\xe9\xc2\x4c\xaf\xd6\xd6\x8b\x40\x7d\xc7\xf5\x71\xec\xa3\xa2\x07\x05\xc1\xa4\x6e\xf6\x10\x88\xd1\x45\xba\xee\xf8\x4c\xd6\x21\xbe\x16\xb6\xd9\x4a\x9f\xd3\x57\x8b\x60\x83\x23\xba\xbd\xa3\x28\x0e\xc3\xb1\xdc\xe9\x3f\x01\xc8\xf8\xa7\x41\xe8\x8f\x28\x0c\x81\x87\x6a\x87\x37\xfa\x59\x20\x7b\x66\x9e\x0a\xfb\x8f\x21\x9c\xbe\xcf\x1b\x70\xa2\x1f\x70\xb6\x0a\x66\x39\x2f\xfd\x1e\xd1\x33\x84\xe7\x66\xcf\x3a\x1b\xce\x96\x04\xed\x65\x18\xe7\xd9\x29\xdc\x67\xfb\x60\x47\xef\x91\xd3\x45\x0e\xa1\x45\x6a\x61\x57\xdc\x67\xed\x43\xd5\x77\x3a\x1d\xce\xba\xd5\x9f\x90\x34\x15\xf3\xc5\x4f\x06\xda\x43\xe5\x9f\x2f\xca\x94\x5b\xec\xe8\x20\xce\x2a\x78\x88\x58\x84\x10\xcf\x6c\xa8\x06\xb8\x4e\x6a\x9b\x59\x0a\xcd\xd3\x28\x1f\xce\x98\x65\xf6\x59\x4e\x20\x8b\x7f\x5a\x3b\x8a\xf4\x47\xa1\xd3\x9a\xd3\x3b\x7f\x02\xdd\x7d\xcb\xcc\xbf\xc9\xec\xdf\x2e\x43\x99\x89\xee\x6e\x2a\xc0\x44\x38\x85\x3b\xb5\x25\x2d\x3d\x45\xc6\xc4\xb0\x35\xb7\x4e\xd0\x46\x8b\x98\x1a\xbc\xcb\xa8\xf8\xf0\xd1\xe3\xdd\x57\xcf\x0e\xdf\xec\xbd\x78\xf6\x62\x5f\x9a\xed\xfa\x2e\xf1\xed\xcb\xe4\x98\x22\x65\xc9\x3f\x25\x9a\x72\x3b\xfc\xa0\x0a\xb7\x37\xd8\x6c\x7d\x6c\x6a\x23\x58\x5d\x9e\x9b\x6c\xef\x2c\xc3\x55\x80\xc3\xa8\xb1\x1a\x71\xb8\xe6\x04\xfc\x8e\x57\x7a\x17\xd3\xc6\x8b\x06\xbb\xd7\x4a\xa9\x5a\xd3\x59\x7d\xb7\xad\xa3\xb6\xd3\xc7\x8b\xa7\xd2\xcd\x7e\x23\x70\x9b\xcb\xb7\x0d\xa5\x16\x8c\x76\x4f\xd0\xf9\xe6\x28\x29\x7b\x37\x68\xc4\x5e\x99\xdf\x8d\xf1\x8a\x5a\x92\x6d\xbd\x4a\x46\xad\x23\x4c\x7e\xce\x11\x3e\x80\x86\xbb\xd6\x26\x23\xdc\x17\x46\xa5\x4e\x2d\x88\x26\x6a\xd0\xed\xc9\x4f\x9f\x04\x6f\xa7\x24\xc1\xeb\x09\x80\x7f\x67\x04\x98\xe5\x45\xe1\xcb\x55\xea\xe4\xb2\x1e\x8c\xe3\x28\x6e\x68\x81\xd3\x38\xc1\x96\x41\x90\x50\x91\xd0\xe1\x37\x17\xe4\xb8\xc5\x72\x68\x03\x32\xe5\x6b\xd8\x3c\x74\x12\xca\x2b\xe4\xd6\xd6\xaf\x0e\x92\x40\xe3\x2a\x8f\x53\xa2\x59\x17\xf3\x6c\xe5\xda\xed\x9f\x0e\x0e\xf3\x81\x38\xfc\x13\x73\x36\xc9\x8e\x99\x75\xd4\xa5\xe4\xf5\xf1\x0d\x06\x60\x43\x84\xdd\xce\xb2\x49\xb3\x6c\xb8\xe9\x2f\xc5\xcb\x46\x82\x39\x49\x44\x58\x5e\x9b\xfd\xa1\x3d\xa4\x04\xe0\x5d\x58\x7e\xe9\x11\x5b\x32\x88\xb8\x61\x85\x51\x9e\xe2\x01\x19\x04\x30\x55\x8e\x3a\x3c\x20\x61\xd8\x1f\x25\xb9\xb8\xa5\xd5\x9a\xa6\x80\x44\x79\x44\xfa\xb0\x59\x94\x28\x85\x83\x51\x82\xee\xa7\x71\x82\xa4\xfb\x52\x0b\x0b\xea\xa3\xb5\x7b\xd0\x6b\x48\x46\x4f\xa2\x76\x02\x28\x3b\x8b\xcd\x0b\x1d\x7a\xee\x1f\x3a\x4a\xf3\x01\xee\x8f\xa2\x2a\xcd\x0d\x02\x20\x36\x7c\xd8\x4d\x91\x45\x01\x1c\xc1\xa8\x6a\xc6\x5f\xa6\x71\x52\x6e\xc3\xa4\x5c\xbf\xaf\xaa\x7e\xf9\x5e\x0c\x88\xbc\x07\x03\x12\xaa\x04\x16\x82\x7e\x33\x6a\x39\x44\xb7\xd5\xca\x74\x07\xd6\x34\x14\xa6\xce\xc1\xa3\x24\xf8\x79\x06\xa4\x08\x22\xeb\xd6\xbf\x2a\xb3\x40\xee\x49\x26\x35\x51\x1e\x69\x2c\xaf\x9a\x54\xc3\xef\x7c\x1e\x69\x4e\x81\xd8\x23\x5c\x1a\x94\xd1\xc8\x66\x13\x9a\xb8\xc5\x1d\x2c\x2c\x70\x6f\x42\xa6\xe6\xe2\xfa\x13\x8e\x1f\x76\x91\x70\xdd\x59\xe4\x83\x63\xb3\x15\xeb\xd3\x71\xc3\xa3\x40\xe2\xa7\xfb\xd3\xbc\xff\x01\xe9\xbe\x5a\xc5\x4d\x90\xa6\xfa\xda\x74\x43\x44\x2d\x3e\xed\xca\xb7\x53\x5f\x25\x11\xce\x4f\xf3\x52\xd1\xe8\x41\xb2\x0f\x8b\x8c\xe4\xe7\x26\xc2\xfc\x1e\xd1\x3e\xa8\x16\x0f\x5b\x2f\x60\x7f\x80\x2e\x93\x3a\x09\x54\x03\x02\xf4\x71\x84\x23\x1f\x87\xa4\x97\xd4\xa6\x2e\x69\x89\x1a\x60\x7b\xda\xde\x64\x48\x6e\x3a\x98\x3e\xcf\x2a\xda\xad\x11\x0f\x7e\x37\x48\xab\x7c\xc0\x11\x99\xe2\xbd\x35\x3d\x6d\x31\xde\xdc\x7d\x6e\x16\xc1\x83\x35\xda\x74\x0e\xf6\x55\xd1\x7d\xfd\x98\x60\xab\xc3\x47\xbb\x64\x53\x0f\x6b\x5f\xbf\x2e\x6c\x30\x26\x8c\x2e\xbc\x9e\x7b\xaa\xed\xc0\x1b\x15\x6e\xad\x3f\x68\xdc\x90\x78\x9e\x7f\xf5\x86\x92\x38\x6b\xa4\xee\x5c\xa7\x22\x81\x37\xb4\xea\x47\xd0\x70\xc5\x63\xc8\x88\x24\xa6\x6b\x30\x57\xde\x1a\xd7\x60\x5f\xd5\x35\xdb\x46\xd0\xd4\xda\x7c\x14\x4d\x1b\x63\x24\xb6\xaa\x1e\x5a\x7a\xfa\x51\x8b\x6c\xcd\xa6\xd1\x38\xa3\xec\xd0\x18\xb4\xe3\x60\xc0\xe5\x10\xef\xdd\xa2\xae\xa9\x67\x78\xa5\x72\xfa\x48\xb3\xc0\xf6\xf1\x6a\x93\x3f\x8e\x6b\xc7\x8c\x4d\x9a\x48\x56\xe9\x55\x89\x53\x29\xb3\xe1\x46\x6b\x34\xa9\xfc\xa5\xb3\xe5\x58\x46\xed\x74\xd0\x95\x7b\x42\x59\x16\x04\x9c\x1a\xe1\xf6\x28\xdc\xe4\xc2\x20\xb4\xaf\x75\xfa\x71\x49\x05\xa1\xe7\xfc\xaa\x7e\xc4\x6b\x5c\x90\xd6\x3f\x67\xc2\xc1\xa0\x45\xe8\x8b\xba\x30\x94\x7e\x4b\xeb\x7d\xd2\x30\xba\x48\x82\x3c\x25\x03\x18\xb2\x54\xf2\x01\x4e\xf1\x80\x49\xef\xb3\x02\xd1\x1b\xfb\x2d\x27\xc7\x0f\x07\x23\x5e\x1f\x7b\x94\x0a\x7d\xfc\x07\xee\x82\x30\xca\xdd\x6a\xc4\x7e\x6e\xb5\xe0\x5d\x19\xca\xea\x9a\x51\x36\x3e\xfe\x54\x48\xc9\xb9\x83\xbf\x78\xaf\xaf\xcb\xc8\x00\xd2\x7b\xbf\x53\xe0\xcc\x45\xde\x69\xef\x12\x70\x2b\x4c\x5d\x6b\x60\xb3\x65\x29\xd4\x83\xae\x13\xd7\x08\x19\x64\x8a\xc6\x7e\x16\xa7\x9b\x85\xb5\xc4\x41\xc6\x6a\x35\x18\xc9\xd8\x2e\x6b\xa2\xa4\xb2\x3a\x1e\xf7\x1b\xc3\x36\xb3\x3d\x08\xae\x05\xc8\xca\xe0\x11\x86\xf2\x19\xf0\xa6\x38\x39\x40\xbd\x1f\x4e\x8e\xc1\x79\x5f\x2a\xf2\xf2\xf4\x01\x54\x55\x53\x5a\xac\xa3\xb6\xa0\xd0\x16\x6a\x76\xc4\x59\x91\x16\x5c\x1c\x3f\xf9\x2c\x70\x9f\x33\x70\x93\x10\xd4\x2d\x66\xb5\xd7\xd1\x56\x1c\x87\x11\x3f\x05\x4f\x60\x51\x1c\xfc\x6a\x09\x8b\xc9\x99\xe8\xea\x8d\xb4\x9d\x50\x92\x01\x9e\x5a\xc9\x00\xc3\x1d\xab\xd2\xa2\xc8\x6a\x57\x25\x06\x16\xea\x70\xdb\x8f\x4d\x1f\x36\xaa\x55\x64\x74\x37\x8e\xc3\x70\xbc\xa6\x85\xbc\x63\xb9\xf3\xf4\xc9\x9b\xac\x62\xc8\x9e\x55\x8f\xb9\x75\x62\xbd\xb3\x91\x88\x6f\x2e\xef\x4f\xce\x4c\xb7\xdc\xea\x8e\x29\xa5\x50\xc9\x2c\x57\x53\x7d\x96\x0a\xc4\x94\xb8\x5a\xcb\x8a\x4a\x2f\x2d\xfb\xfa\x45\x7d\x52\xb6\xec\xea\xe6\x38\xad\xfd\xff\xdc\xaa\x39\x6f\x37\x4f\x6b\x0b\x8a\x96\x6e\x1a\x33\x8b\xb6\x88\xe0\xbb\xd6\x2b\x60\x0b\x48\xfb\xc9\xb0\x0d\x74\x73\x52\xb6\x80\x6c\x6c\x62\xda\x40\xed\x9b\x67\xef\x7a\xa6\xf9\xd5\x46\x80\x77\xa5\x8b\x84\x45\x4c\xdf\x8d\xdc\x38\xf3\xe5\x13\xa5\xe9\x82\x3f\x16\x8c\xca\x97\x31\xdd\x65\x2f\xe7\x2e\x3e\x8a\x1b\x43\xad\x6e\x6b\xf8\x1b\x23\xfe\x92\xc7\x1e\xcc\xb4\x8c\x93\xfd\x44\x28\x8d\x13\xb4\x9d\x4b\xe3\x20\xd4\xef\x87\xf9\x11\x3a\x56\xcd\x1b\x91\x54\xd0\xa9\x01\xb6\xda\x44\x00\x33\xb2\x96\x47\xbe\xb0\x39\xff\x55\x39\xe1\x12\xa6\x54\x85\xb7\xc7\xc3\x68\xd3\xb3\x19\xe1\x40\xda\x62\xf3\xea\xce\x0a\x2d\x8b\x4c\x0d\xeb\x00\xa3\x2e\x94\xee\xd8\xae\xd0\x0e\xbd\x5e\xc0\xfd\xc2\x55\xfb\x71\x67\xcd\x30\x52\x99\xa3\xa7\x8a\x0b\x11\xe1\x4f\xda\x04\xee\xda\x34\x66\x83\x59\xd5\x94\x9c\x5a\x3a\x63\xe3\xd6\x5e\x4d\x7f\x17\xa3\x6f\xe2\xd5\xda\xc7\xa8\xf0\x66\x49\x41\x0c\x94\x7d\xea\xb7\xc9\x6a\x81\x30\x02\xfe\x38\x1e\x4a\xe8\x01\x27\x8e\x42\x90\xe7\xed\xb5\xbc\xf5\x32\xcd\xe2\xef\x8a\x5a\x2d\x31\x5d\x0d\x92\xbc\x47\x70\x9f\xc8\x11\x52\xf0\x14\x12\x7e\x23\xac\xab\xc1\x70\x9d\xa9\xf6\x9a\x9b\x4e\x3e\x0b\xf0\x7d\x52\x3f\x2e\xd4\xb1\xbe\xb9\x50\xd4\x38\x5c\x81\x08\x0c\x46\x80\x47\xa2\x73\x6e\xd6\x7a\x8f\xf0\x24\xd6\xc2\x40\xc1\x5e\x03\xc2\xf1\x46\xca\x51\xde\x0a\x29\x70\x85\x20\xb7\xd1\xfa\xfe\x83\x77\x78\x00\xaf\x3b\xfd\xce\xf7\xfd\xef\x3f\xb0\x7d\x2b\x84\xa3\x37\xd3\x26\x2c\x9e\x67\xf8\x34\x2f\xaf\x17\x97\xdf\xaf\x83\x3d\x41\x05\xd8\x44\xed\xe4\x58\xea\x9a\x38\xc8\x22\xb1\x82\x08\x04\xa0\x75\x2a\xc4\x3d\x08\x44\x9d\xf6\x7a\xf4\x1a\x0f\x42\xe0\x71\x2b\x3e\x55\xb2\x9a\xd0\xb3\xb4\xd7\xcb\x87\x79\xb5\x87\x8a\x22\x5b\x54\xd0\xb4\x0e\x66\x87\x80\xac\xbe\x97\x61\x48\xd8\xfd\xcf\x1f\x33\xb6\x71\x18\xf3\xac\x67\x35\xe6\x68\x22\x5c\x95\x1d\x0b\x41\x17\x98\xb9\xb3\x77\xc8\x62\xdf\xbb\x13\xe6\x0f\x59\xa2\x7c\x2d\x28\xb6\xb5\x6c\x92\xea\x22\x97\x59\x01\xb3\x0a\x76\x7c\x90\x1e\xed\x3e\x1f\x93\x3a\x40\x66\x9b\x27\x20\x88\x88\x75\x73\x00\x8a\x23\x35\x2b\x67\xae\xd2\x7c\x4f\xf2\x08\xce\xdc\xaa\x53\x14\x3c\x83\x33\xc2\x3f\x03\xe6\x46\x0d\x12\x1e\x03\xb0\x0d\xc3\x3a\xed\x7f\x83\xa6\xb5\xa6\x75\xff\xe3\x93\xac\x82\x45\x5e\xca\xd0\xa2\xef\x81\xb4\xc0\xce\x81\x37\x1d\x8e\x40\x5a\xf8\x0d\xff\x04\xea\x29\x33\x27\x93\x95\x6c\x4e\x41\xfa\x79\xad\x56\xb3\x9d\xf3\xba\xb4\x9b\x75\x8b\x56\xed\x66\x5d\xcb\x73\x4d\x73\x32\xfd\xa0\x3e\x43\xa0\x13\x56\xab\x9e\xf6\x0c\x5d\x7c\x8b\xd0\xfc\xab\x0c\x97\x79\x79\x6a\x05\xd3\xe4\xe3\xf8\xa1\xa9\xc1\x7d\x0e\x59\x11\xd4\x8e\x48\xb3\xce\xe6\xfe\x99\x66\x4b\xc5\x3b\x93\x16\x0d\x2e\x78\x19\xf0\xd4\x36\xdc\x31\x45\x24\x82\x93\x22\x9b\xbc\x4d\xec\x08\x05\xbf\x3f\x9b\x6d\x6d\x6d\x6d\x25\x75\xb8\x8f\x71\xa7\xc8\xf0\x29\x4c\x44\x34\x02\x9c\x4d\xf3\x65\x35\xee\xdc\x5b\x5c\x26\x8a\x2b\xf9\x27\x77\x93\x45\x36\x9d\xb2\x18\x08\xf1\x70\x0b\xce\x3b\xf1\xf0\x2e\xfb\xff\xfa\x6f\xee\xf5\xc9\xff\xc4\xc2\xb3\x93\x96\x26\x0e\x07\xd1\xda\xf9\x17\x5e\x72\x2c\x06\xd9\xf4\x97\xcb\x8a\x8c\x3b\xf4\x50\xab\x8b\x59\xb0\x13\x9e\x00\x59\x96\x30\xd7\x5f\x4f\x2b\x5a\x66\x37\xf1\xd1\xcd\x76\x99\x14\x3e\xa0\x96\xb8\xcc\xb7\x34\x6d\x25\x1c\x70\x1a\xa7\xaa\xf0\x5a\x3c\xef\x5a\xe0\xd5\x08\x13\xf9\xf0\x39\xac\xaa\xec\x14\x3e\xcf\xca\xec\x14\xe2\x21\x86\x8b\x22\x9b\xc0\x7d\x99\xf8\xb4\x0a\x90\x0a\x41\xd4\x8e\x8e\xea\x14\xdf\xa3\x38\xfe\x68\x0d\x7b\x6a\xe2\x9a\x87\xc7\xbe\x95\xc5\xd7\xca\xac\xc9\xaf\xe1\x50\x68\xa9\x59\x33\xc4\xad\xd0\x82\xd3\x50\x44\xd8\xd1\xb0\x00\x34\x0a\x9d\x2c\xe7\x33\x6b\x0b\x8d\xd7\x41\x16\xa7\x68\x4b\x0d\x6b\x36\xec\x5e\x5a\xb6\xfd\x8b\x73\x88\xa9\xfc\xa3\xbf\x4f\xd6\x7b\x1e\xf1\x62\x65\xbf\xd7\x03\xd5\x45\x63\xa5\xde\xe6\x7b\x5e\x6d\x65\xee\x60\x63\x27\x8e\xee\x2e\x2e\xd5\xed\x7a\x79\x39\xe0\x3b\xf6\x86\xdb\xb3\x65\x1b\x3a\xf6\x99\xdf\x3b\xbf\x33\xba\x17\xcf\x2b\x19\xb8\xc1\xb7\xeb\x7c\x3e\xfa\x46\x6b\xe0\x20\xc7\x66\xbe\xcc\x90\x9e\x06\x0b\x0c\x69\xcd\xda\xee\x23\x82\xc3\x8a\xa0\xc5\x4b\x8c\x16\xd9\x69\xc6\x0f\x8d\xeb\x88\xde\x1b\xbd\x54\x6f\x4e\xcc\x76\x75\xac\x77\xde\x9c\xa7\x6f\xbb\x8e\xd8\x0b\x6b\xf3\x9d\x69\x43\x50\x19\x0e\xf4\xf6\xd0\x5c\x2e\x87\x9f\xdc\x75\x51\xdf\xbd\xb5\xad\xfd\xac\x6d\x0f\xf1\xda\xc3\x7c\x84\xf7\x8a\x1c\xaa\x31\xa6\xd8\x86\x89\x72\x77\xa1\x0e\xc5\x87\x33\x41\x8b\x34\xc0\xf2\x2d\x2e\x97\xea\x96\x5b\x5b\x4a\x90\x77\x47\xb3\x02\xce\x08\x6d\xc7\x1f\x38\x72\xc3\x64\x7c\x6d\x9c\x7c\x01\x3e\x69\xac\xba\x35\x04\x1b\x45\xb5\x7d\xd3\x35\xaa\x84\x91\x48\x6f\x43\xe4\x6d\xcc\xa8\xe0\x91\x76\xd6\x4c\x20\x88\xde\x13\x90\xca\x63\xbd\x45\x1a\x73\x35\x66\xca\xd1\x31\x93\x26\x37\x58\x71\x5c\xef\x7f\x1d\x91\xd5\x6a\xc4\x14\xe9\x3e\x87\x4d\x3d\xb7\x66\xfd\xb0\x8c\x78\xc9\x63\x8c\xe6\x75\x5e\x79\xc3\xbd\xd9\xfb\xb8\x8a\x16\x57\xdc\x7a\xeb\x10\xd5\x6d\x6d\xe5\x98\x23\xcf\x4c\x93\xe9\xbe\x44\x24\x9f\x40\x7a\x8b\x32\x23\x29\x28\x47\x8a\x12\x9a\x4a\xea\xf0\xf7\xd0\xe2\x4a\x9e\xea\x74\xd8\x8c\x0a\xea\x45\xcb\x7b\x68\x2c\x30\x04\x61\x42\x14\xa1\x90\x8e\x63\x40\x90\x82\x55\x85\x96\x78\x02\xe9\x55\xc0\x60\x02\xe6\xd1\xe2\x64\xf8\x2c\x9a\x91\xcd\xc6\xd9\xe7\xd6\xe0\x1e\x1b\xc4\xec\xd0\x82\x93\xfa\x2e\xd0\x51\x9e\xe2\x61\x56\x4e\xce\xf8\x4d\x33\xaa\xea\x9f\x2f\x98\x92\x20\x2a\x53\xcc\x63\x37\xb0\xe2\x4c\xfe\xe2\xa5\x09\x1e\x72\x94\x77\x8b\x82\xf5\x8a\x61\x19\x90\x30\x42\x7c\xc2\x65\x37\xca\x9c\x9b\xeb\x25\xc2\x43\x78\x49\x60\x39\xed\xf5\x02\x66\xc1\xcb\xae\xf1\x41\x1e\x55\x4d\x51\x50\x46\x59\x18\x46\xc4\x2b\x7e\xb4\x18\xc6\x34\x38\x68\x81\x0e\xbc\x2a\xaa\x4a\xd6\x4f\xf2\x59\xc0\xaf\x3c\xec\x68\x53\x54\x0c\xa1\xe2\xf2\x27\x23\x4c\x0c\x2b\x92\x61\x22\x48\x86\xe5\x6f\x8a\x29\xcb\x2f\xf6\xf5\x60\xff\xc5\x57\xa0\x9b\x62\xe6\x55\xf2\x45\x36\x87\x4c\xd3\x0e\x7e\x9f\x45\x12\x4c\x95\xef\xbd\x1e\x38\x78\xb9\xfb\x05\xfb\xa6\x0c\xb7\x29\x0e\xb0\x56\xc2\x62\x47\x60\x78\x9e\xa3\x65\x75\x90\x9f\x14\x79\x79\x9a\x84\xac\x8a\xfe\x31\x22\x7d\xdb\xc5\xb7\x71\x71\xc1\xc2\xf9\xb9\xad\x0e\x1c\xc2\x72\xca\xfa\x1c\xb0\x3f\xc5\x12\x50\xc7\x17\xd0\xa1\xcb\x5a\xbf\x95\xb1\x96\xf0\x92\x68\xe3\x54\x3e\x44\xd5\x26\x63\x2c\xd5\x00\x1c\x22\xc5\x34\x9f\xae\x7d\x74\x51\xbf\x54\x44\x6c\x1c\xea\x97\xfe\x28\x94\xb1\x42\x14\x47\xea\xbc\x3c\x0d\xca\x88\x44\xba\x13\x7b\x19\x0e\xaa\x56\x56\xe8\xd8\x19\x7e\xaf\x37\x6d\x0d\x07\xa1\x70\xd9\x94\x42\xba\x93\xb5\xfa\xbd\xc2\xc4\x29\x61\xa6\x23\x34\xf9\xa8\xfb\x49\xa6\x0f\x2e\x81\x27\xfc\xbc\xb7\xbf\xf2\xcb\xc3\x3a\xa3\xbc\x33\xff\x94\x91\x74\xfe\x7d\xfd\x9a\x85\xc1\x2a\xd2\x7b\xe4\x35\xeb\x04\x9a\x2c\xcf\x39\x0f\xa2\xee\x41\x77\x01\xcb\x57\xb8\x70\x65\x9e\x9a\x9c\x61\x44\x57\xa5\xf6\x73\x78\x82\xd1\x45\x05\xf1\x8e\xfe\x93\xc1\x39\xcc\x4e\x82\x77\x4b\x5c\x8c\xe1\x75\x38\x16\xad\xe8\xf7\x00\x46\xe0\xcd\x49\x91\x95\x6f\x41\xb8\x26\x2e\x0e\xad\xce\xa7\x1f\x4e\x5f\xe1\xc2\xa7\x94\x74\x2c\x92\x7c\x16\x88\xcc\x7e\x70\xb5\xd2\xed\x53\xe0\xe5\x22\x2b\xa7\xcd\x21\xd0\x7a\x40\x48\x01\x2a\xf0\x76\x15\x86\x61\xaf\xd7\x0d\xa0\x50\xc7\xdf\xdf\x8a\xef\xdc\x5b\xad\xe0\xb0\x82\x19\x9e\x9c\x05\xb7\x8e\x5e\x57\xaf\x8f\x5e\x1f\x07\xe1\xbb\xeb\xed\xfb\xe0\xc3\xd7\xaf\xbf\xfb\xfe\xf8\x56\x78\x3f\x8d\x43\x1e\xe0\x47\x56\x04\xdf\x1d\x65\x83\x1f\x76\x07\xdf\x1e\x8b\x7f\xe3\xc1\xa7\xfd\xe1\xe0\xf8\xa3\xf1\xad\x5b\x20\xdc\x8e\x43\xa9\xfe\xe4\xa1\x09\x02\x30\x06\xd1\x28\x3c\x8a\x8f\xb9\x3a\x14\xcc\xb3\xbc\x20\x08\x8c\x75\x55\x1e\xa4\x47\x37\x59\x50\x18\x7d\x28\xae\x22\x7c\x8e\xe9\x1e\xf1\x2e\x5a\x1e\x6c\xd4\x52\x49\xd1\x6b\x0f\x9a\xc0\xaa\x82\xd3\x07\x57\xb2\xe1\x2f\xb2\x72\x5a\x40\xfc\x46\xbe\xf8\x8a\xdb\x2a\x9c\xc1\x8c\x3c\x6f\xd2\xd6\x55\x72\x69\xeb\xd9\xec\xba\xed\xd9\xec\xf8\x39\xd4\xd2\x6b\xda\x8d\x23\x38\x94\x81\xf2\xf6\xd1\x45\x5a\x6b\x2e\x02\x38\x9c\x30\xa9\xff\x1b\x5b\xf4\x76\xbc\x19\x84\xb7\xd6\xa8\x39\xc4\x4e\xef\x8f\x94\x0e\x85\x29\x6d\xdd\xa7\xec\xf2\xeb\x75\xc0\xf8\x1b\x6f\x7f\x14\x75\xd5\x4b\x66\x9a\xc2\x21\x9d\x82\x5e\xcf\xec\xe2\xbe\xfb\x91\x78\xdd\x1b\x63\xaf\xd7\xa5\xa2\xbf\x46\xa1\xc1\x28\x5d\x67\x1e\x67\xf7\xbf\xae\x11\x7f\xde\xd8\x59\xf7\xe2\xc3\x5e\x8e\xc6\x3f\xe3\x03\x52\x18\x39\xc9\x17\xc0\x61\x56\x90\xcf\xe1\xd5\x6a\xd5\x25\x32\xa3\x97\xbd\x24\xe9\xea\x91\xaf\x44\x66\xb6\xf8\xa0\x1b\xd7\xc6\x59\xce\xa6\x23\x53\x08\xd5\x59\x47\x2d\xce\x1d\xa2\x47\xe5\x54\x0d\x62\x6c\x75\x34\xa2\x32\x96\xa9\x51\xa0\x3c\x3d\x54\x56\x91\x16\xf5\x0d\x96\xa7\xd9\x29\x9c\xae\x56\xae\xd5\xb3\xe3\x8b\x58\x27\x9b\x35\xc3\xf6\xc5\xd8\xa3\x17\xdf\x66\xfb\xdc\x55\xae\xbb\xde\x26\xec\xd2\x5b\xaf\x7f\xd1\x26\x1c\x2b\xb1\xee\x94\xe9\xb9\x19\xe5\xdc\xc4\x39\x6b\xe2\x22\x07\x50\xbc\x5b\x52\x71\xac\x0e\xa4\xd7\xf4\x57\x8b\x0a\x2f\xc4\x79\x62\x06\xc8\xb9\xe1\xa1\xd0\x88\x1e\x1b\x08\xf9\xa1\x8c\xf1\xd7\xe0\xd3\x85\x3c\xf0\xd4\xe7\xf0\x8a\xad\xd5\x09\xc1\x05\x5b\xac\x70\x38\x87\x24\xfb\x1c\x5e\x49\x73\xd6\x4e\xdb\x6b\xb6\x60\xe5\xea\xa3\xbe\x55\x98\x5a\x61\x91\x8d\x43\xd5\x32\x30\x63\x32\xad\x73\x53\xb1\xf6\x9c\x79\x53\x56\xb8\x47\x47\xc5\x12\xf5\xf6\x7a\x5b\xb4\x1a\xcf\x2a\x4c\x47\xc1\xff\x12\x3b\xdc\x4c\xe8\x5b\x67\x76\x64\x17\xea\x20\xd4\xb3\xd3\x52\x99\x12\xec\xa1\x65\x31\xed\x94\x88\x74\x58\x9d\xce\x3c\x2b\x97\x59\x51\x5c\x75\xa6\x4b\xd8\x21\xa8\x73\x01\x4f\x3a\x18\x52\x09\x94\x51\xbf\x6a\x18\xc1\x72\xa1\x60\x1c\x37\x58\x39\x17\x81\x69\x0b\x67\xac\x43\xfb\x65\x75\xe3\x8b\x9d\xb2\xec\xbb\x35\x3a\x35\x86\xf2\x13\xe5\x4e\x6b\x77\xf8\xda\xcd\x3c\xda\x60\x33\x03\x7e\x6f\xd6\x2c\x7a\x58\x94\xca\x5d\x8c\xd1\x05\x15\x18\xdf\x18\xcb\x52\x17\x1d\xb3\xc5\xa2\x10\x36\x7c\xfc\x6d\x4b\x12\xcf\xc8\x46\x1f\x84\xbd\x1e\x60\x61\xd3\xeb\x69\xd0\x5d\xe2\x2c\xc1\x96\x61\xf1\x10\x16\x24\x0b\x60\x28\xac\xdd\xab\x79\x86\xc9\xe3\x02\x21\xfc\x30\x3f\xcf\xa7\x90\xdb\x3d\x67\x27\x95\xea\x34\xd8\x7e\x4c\x47\x55\x0a\x7e\xef\x05\xe8\x07\x78\x3b\xde\x01\x0f\xc0\x18\xec\x02\xa1\xe8\xcb\xd1\xb0\x82\xe5\x54\x46\x75\x1a\x62\xb8\x80\x19\x09\x50\xe8\xe2\x34\xd7\xd7\x8e\x75\x75\x83\x65\xd3\x76\x80\xf8\x4d\x21\x05\x5f\xd3\x24\x30\x6f\x55\x35\x38\xb9\x2f\x0f\xa9\xcb\x72\x41\x04\x61\x87\xbe\x88\xb1\x5d\x91\xb2\x9e\x83\xf1\x9a\x73\xfa\xd0\xe2\x7a\xcd\x37\x8e\xb8\x98\x37\x4f\x03\x81\x4a\xc6\x3f\xde\xb8\x1c\xaa\x99\xea\x49\x3e\x6c\x05\xb7\x5e\x97\xb7\x4e\xe7\x11\x78\x8d\xe9\x74\xa7\xce\x0b\x10\x31\x8d\xc0\x4e\x70\x36\x79\x0b\x09\x9c\x0a\x6e\x16\x90\x14\xfc\xde\xd1\x56\x1c\xff\x11\xe8\x93\x3e\xfb\x73\xf4\x47\xa0\xb9\x64\x29\xcb\xa7\xe5\xea\xb7\x87\x16\x57\x8e\x09\x59\x56\x50\xac\x2e\x9e\xec\x97\x56\x5b\xad\x02\xc7\x9b\x82\xc9\xba\x7d\xdc\x47\x65\xe1\x7e\xc5\x26\x2a\x45\x0a\x4e\xfb\x1a\xa5\x38\x3f\x58\xbb\xab\xce\x29\x20\xf2\x65\x6e\x26\xd9\xae\x56\xb1\xf0\xa3\xb3\xf6\xb2\xbf\x07\xbf\xa9\xa2\x73\x8b\xaf\x56\x71\xc2\x9c\x13\xe0\x76\x1a\xaf\x56\x64\x9b\x5d\xaa\x38\xb3\xf1\x65\x38\x5d\xad\xbc\xb9\x4c\x35\xd3\xcc\x3a\x33\xad\x44\xc6\x78\xae\x0f\x46\xdd\x75\x56\x1b\xca\xb3\x68\x84\xc5\x2e\x52\xf4\x0f\x41\x6b\xa0\xe6\xf6\x4d\xe2\x5f\x72\x8a\xb1\x9c\x3f\x72\x91\x62\xe2\xb6\x73\x43\x23\x9e\xd5\x0a\xc4\x7e\xc9\x5d\x68\xdc\x77\xd6\x1a\x18\x4a\xf3\x40\xa7\xd9\x9d\x25\xb2\xcc\xaf\x5e\x68\x23\x53\x4d\xb2\xd8\x97\xbd\xab\x49\x01\xdf\xd0\xcb\xb0\x94\xd8\x5b\x8d\x1b\x7f\x1b\x7d\x8f\x8e\x0d\xd3\x7c\x27\x78\xbf\x15\xa9\x99\xda\xc4\xa7\x2c\xaa\x1d\x3b\xac\x5c\x28\x5e\xa5\x57\x4b\xe6\x93\x0d\x7b\x71\xa4\x4c\x69\x49\xe1\xe4\x3c\x28\xac\xd5\xe8\x76\x2a\x70\x85\xbe\x16\x30\x83\xf0\x5a\x71\xaf\xb0\x9b\xca\x9c\x4b\xd7\x51\x3e\xc4\x64\x0a\x17\x01\x28\xf2\x13\xc1\xf3\x5f\x1d\x3e\xbe\x07\x42\x15\xe3\xa7\x2f\xec\xc1\xcb\x3b\x6f\x1d\x88\x4f\xea\x91\x9f\xbe\xe0\x0f\x4d\xd7\x3a\x84\x8d\x1e\xf6\x75\xc8\x9a\x9a\xd1\xf2\x10\xd6\x40\xf2\xf7\x98\xc7\x38\xd3\x22\x9f\x50\x90\x52\x07\xcf\xf2\xe6\xb1\x0a\x81\xde\x4b\xd4\x0e\x99\xa5\xc6\xe7\x05\x2f\x31\x9a\xe5\xae\xe5\xa6\x60\x0c\x89\xa8\x65\xce\xba\x06\x74\xb1\xac\xce\xec\xa3\x85\xe3\xa8\xb4\x30\x30\xad\xd5\xca\xb0\x3e\xa6\xf7\xb2\x05\x59\x62\x38\x7d\xa3\x9f\xde\xf5\xe7\x48\x06\x05\xe3\xb1\x96\xc5\xd1\x58\x7f\x88\x58\x5c\x1f\xa5\x4c\xfe\x12\xd2\x9d\x9c\x4f\x63\x94\x39\x8a\xac\x2f\x29\x8c\x60\xcb\x80\xf5\x88\x8b\x76\x6b\x73\x09\xb5\x4d\x88\x14\x28\xb4\x89\x90\xf7\xa2\x02\x9d\x06\xe0\x55\x79\xc6\x94\x5e\xd3\x4e\x53\x9b\xe7\x4f\xf6\xc3\xf5\xeb\x9f\x0d\xd0\xe8\xa4\x82\xf8\x1c\xe2\x69\xe7\xcb\xc3\xce\x5b\xd9\x82\x82\xff\xec\xe0\xc5\x17\x43\xae\xeb\xcf\x67\x57\x96\xf2\xd8\xe8\xce\xc8\xf6\xed\x0d\x0e\x4e\x49\x93\xe0\x24\xc4\xda\x54\x42\x9e\xf2\x57\xcc\x5d\xa4\xbe\xe4\x3c\x7d\xf1\x46\x5a\x84\xeb\x7d\xac\xd9\x44\x66\x75\x03\x23\x7f\x43\x16\xb0\x88\xb2\x0d\xa7\x49\xbf\x3a\xcf\x5c\x12\xe0\x99\xaf\xd5\x74\xd7\x2c\xf4\x2f\xcf\x99\x92\x97\xd9\x84\xe4\xe7\xb0\xf3\xf4\x45\x07\x9d\xfc\x12\x4e\xc8\x10\x24\x26\x20\x25\x61\xda\x1a\xb4\x8a\xf2\xdf\x11\x62\x7d\xf0\x1a\xb3\x38\xeb\xfe\x4d\xc1\xe2\x1d\xaf\x23\xea\xe8\x63\x9b\xe1\xd4\x04\x0f\x72\x85\x69\xb7\x2f\x38\xd6\x5b\x51\xb6\xf7\xc7\xa8\xe5\xed\x91\xd3\xd2\xd1\xa7\x76\x8a\x30\xfb\x99\x4a\x9c\x20\xea\x13\x9b\x23\x31\x5d\x9d\x16\x4c\x1c\x22\x8d\x19\xce\x01\x7b\x2e\xe7\x7c\xe1\x60\x7f\xef\x8d\x08\xe3\x27\x4e\xb5\x26\x9f\x5c\x5b\xb5\x06\x1a\xaf\xa0\x85\x02\x34\x21\x79\xab\x88\x07\x82\xc6\x05\x33\x05\xf8\xf4\x24\xd8\xba\x7b\x37\xea\xc8\xff\x0b\x81\x56\xb7\xf1\x24\xe5\x75\xe3\xa8\x43\xff\x27\x6b\x9d\xa0\xa2\xd1\x45\xcc\x32\xba\x0a\xe4\xaf\x9c\x64\x45\x3e\xa9\x7f\x9e\xf0\x64\xae\xe2\xd7\xb2\x9c\x42\x5c\xe4\xa5\x12\x5e\x98\xe0\xfc\x2d\xa4\xab\x76\x79\x7a\xd6\x00\x29\x99\x5b\x9a\xfa\x5b\x48\x4a\xf2\x8b\x11\xa5\x58\x0d\x47\x2c\x25\xbe\x02\x3e\xcc\x48\xa6\x44\xe6\x9d\x28\x49\x5d\x95\xcf\x8e\x84\xaf\xd7\xd6\xd4\xab\x11\xeb\x98\x2a\xf7\x01\x23\x41\xbc\x59\xc5\xdd\xea\x01\x33\x56\x5d\xd3\x40\x9b\x3b\xee\x73\xcd\xcd\x34\xca\xe5\x3c\x00\x8e\x05\xa9\xb4\x55\xd6\x4e\x0a\xc4\x2c\x82\x75\x0d\xf6\x9f\x3c\x60\xf3\xdb\x5a\xb1\x72\x25\xcd\x70\x6c\x80\x56\xa2\xb1\x38\x67\x7e\x89\x41\x6d\xc5\x1e\xf3\x94\xb0\x7e\x9d\x9c\xbb\x4c\x85\xf0\x88\x1c\xb3\x45\x7e\x44\x8e\x1b\x49\x42\x9b\x55\x6b\x9e\x87\x13\x54\x4e\x32\x66\xb4\xd7\x8a\x9f\x3b\x19\xf4\x5f\xc4\xdd\xfc\x17\x7a\xef\xad\xa7\xb1\xba\xd1\x6c\xdf\x72\xb5\x30\x17\x8c\xd8\x33\x9f\x7c\x08\xf4\xca\xcc\x6a\xad\xd9\xb4\x75\xd8\x2e\x5f\xd8\x18\x6b\xaa\xad\x49\x14\xd7\x7a\x6b\xb2\x1d\x15\xbb\xf5\x4c\xc9\xbf\xd9\x44\xd5\x7a\x54\x36\x4f\x75\x35\xee\xcb\xd6\xd5\x67\xa9\x0e\x43\xa6\x4e\x52\x0d\x80\xcf\x91\xf2\xb3\x79\x02\x6c\x66\x48\x20\x5c\xcf\x4f\xaf\x47\x77\x96\xc0\x57\xf2\xc7\xf6\x5d\xcb\xd8\xcf\x1e\x2a\x49\x96\x97\xc6\x0d\x52\x0a\x21\x6a\x40\x34\x67\x22\x1d\x33\x11\x08\xdc\xcc\x24\xad\x5a\x64\x25\xe0\xb1\xf9\xd8\xa5\x3e\xca\xd3\xa3\xe3\xc4\x98\xab\xae\x63\x9b\x48\xfb\x2a\x69\x25\xdb\xd4\x0e\xcd\x4d\xe6\x6d\xee\x34\xb7\x6d\x3e\x0a\x40\x0d\x83\x97\x6b\x83\xfd\x19\x60\x66\x62\xfb\x95\x70\xac\xa1\x1f\xa5\x3e\x51\x2c\x83\x80\xc8\x9d\x5b\x87\x1f\x13\x4b\x42\xb4\x15\x9e\x3c\xfc\xab\x6c\x2c\x16\x4a\x90\x8b\x24\x38\x4d\xb6\x3c\x5a\x83\x17\x8b\x7d\x28\xf2\x72\xa4\x00\x68\x59\x7f\x94\xd5\x15\xa0\x7e\x0a\x3a\xf5\x07\x10\x11\x95\x43\xd4\xb1\x07\xf5\xd5\xc7\x1b\xb1\xac\x3c\xe2\x1b\x60\xe6\x7f\x1a\x1f\x89\xc3\x08\xb1\x81\x10\x78\x49\x1e\xf2\x0c\xbd\x39\x2a\x53\x14\x46\xda\xe2\xac\xc7\x21\x92\x51\xb2\x41\x48\xde\x12\x47\x44\x65\x2c\x23\x69\x9c\xa1\xad\x5d\x05\x06\xfd\x04\xc2\x48\xfd\xf9\x46\x18\xf0\xc8\xda\x14\x3c\xfd\x5b\x92\x28\x62\xca\x5f\xdd\x98\x91\x42\x68\x32\xb2\x28\x29\xf7\x72\x91\x64\xa8\xc3\x62\x6f\xb4\x6e\x9a\x79\x46\x26\x67\xb0\xf2\xee\x1a\xc0\x2f\x58\x20\x4d\x69\x75\x34\xeb\xc0\xd5\xea\x76\x9a\x72\x73\xb0\xc3\xab\x85\xee\x27\xac\x6c\x2f\xc5\x04\xef\xaa\x80\x62\x62\xbb\x81\x42\xd4\xd5\x0a\xd6\x7f\xe9\x7b\x5f\x50\xae\xfe\xbd\x5a\x39\xe8\x49\x9b\x4b\x0a\x09\x00\xda\x56\xe3\xbb\x4a\x94\x68\xbb\xc8\xdc\x30\xf2\x29\xcb\xb9\x43\xc2\x6e\xda\xed\x12\x65\x8f\x48\x88\x74\x01\x77\x53\xd8\xac\x64\x51\xc0\xb7\x41\xd3\x8a\xed\x8e\xd5\xaa\x6b\xb0\x4c\x5a\x01\x36\x3f\xeb\x0a\xda\xfa\xe4\x95\xb4\x4f\xed\x27\x47\x93\xa7\xbb\x72\x29\x7b\x6c\xe1\x1a\xfa\x24\x69\x72\xc3\x33\xab\xa9\xe8\x31\x86\x32\xcf\x2c\xe9\x65\x6c\x1e\x51\xd2\xab\x58\x97\x26\x90\xe3\x63\xed\x09\x5e\x9f\x30\xd2\x1a\xca\x82\x49\x3c\x38\x48\x33\x5c\x73\xf8\xb2\x3f\x8b\x60\x16\x33\x95\xd2\xb2\xc6\x54\xe5\x0a\xd6\xce\x59\xf5\xe3\xfe\x93\x07\x0c\x5b\x47\x9c\x30\xb8\x7d\x6f\x07\xf6\xef\x8d\xe1\x35\xbd\xed\x45\xe6\x99\x49\x87\xe8\x45\x3b\x8c\xec\x4e\x4c\x69\xce\x21\x03\xec\xe0\xb1\x25\xd1\x1c\xc1\x63\xfd\x18\x30\x4e\x6f\x2d\xb6\xbb\x02\xde\x31\x4f\x3b\x6e\x52\x8e\x8d\xa6\xe6\x71\xd9\xc8\x54\xf3\xfc\x32\xa8\x22\xe3\x6e\x37\xbc\x7d\xfb\xf6\xed\xf0\x9a\xb8\x07\xac\xca\xa6\x8e\x01\x23\xc7\x80\xc9\xb1\x6b\x85\x4f\x24\x67\xac\x9e\x53\x56\x69\xfb\x46\xd9\x1c\x32\xac\x0d\xf3\x7d\xb0\x9e\xd6\x7c\x92\x84\xdc\x92\x4c\xb2\x53\xca\x9e\x0c\xd6\xda\x1d\xd1\x2a\x2e\xa6\xdb\x8d\x85\x2d\x39\xac\xa5\x0e\xa2\xf1\xdb\x8e\x94\x2d\x24\x2d\x7b\x3d\x5b\x5c\x48\x73\xf3\x13\xad\xa5\x08\x05\xf4\x72\x57\xff\x92\x65\xfc\xd0\x17\x45\xec\x07\x2d\x31\x4e\xd1\x34\x37\xbe\xb4\x11\xf8\xa9\x2d\xf5\xd6\xbb\x62\xed\x31\xe4\x00\x5c\x9b\x18\x3b\x77\x59\x73\xba\xec\x40\xf5\x58\x15\x27\xea\xd8\x48\x7f\xa5\xa5\x00\xf4\x74\x76\xc0\x4c\x8f\xad\xf4\x5e\x6b\x7b\x14\xb9\x9f\x68\xe5\xb1\x96\x0c\x4a\xad\xc5\x60\xb5\x76\xac\xeb\x68\x6f\xd4\x37\x7b\x2f\x36\xba\x67\xf1\xd0\x37\xc1\xc0\x91\x91\xca\x93\x56\xec\xe8\x38\xc2\x69\x1c\xa1\x34\x8e\x2a\x9e\x84\x8b\xc5\x98\x96\x71\x69\x38\x4b\xc9\x52\x7a\x6f\x9a\xc2\x97\x28\x2f\xc9\x2e\x09\xca\x30\x2a\xd2\x6c\x3b\xfd\xf8\xee\xdd\xdb\x77\x77\x46\xe3\xad\x24\xdb\x1e\x6d\xdd\xdb\x41\xfd\xb4\xe0\xf8\xd2\x7e\xf9\x34\x65\xe1\x76\x3a\xda\xa1\x82\x5f\x41\x7b\x18\x85\xe3\x00\x31\xd9\x88\x09\x5a\xef\x2a\x82\xc7\x50\x52\x17\x47\x28\x8c\x6a\xb2\x8c\xab\xeb\x90\x21\xc5\x1c\x1a\xec\xda\x65\x54\x84\x11\x97\x56\xc6\xdd\x58\x69\xd7\x1d\x5d\x53\xb9\xbf\xec\x17\x74\x5c\x61\x54\xf6\xd3\x42\x26\x7b\x44\xbd\xde\xa6\x5d\x13\xb7\x5a\x2f\x62\x3f\x66\xe2\xdf\x57\x87\x8f\xef\xd1\xbd\x34\x85\x18\x44\xdc\xf5\x65\xf8\xe5\xe1\x70\x4f\xbe\xee\x3e\xcf\x16\x4c\xef\xf2\xe5\xa1\xff\xd5\x24\x85\x51\x63\xc5\xc1\x4a\x1a\x45\xb4\x9d\xca\x9f\x55\x50\xac\x62\x79\x0b\xa7\x45\xac\x78\x97\xca\x70\x05\x0f\x48\x46\xe0\x1b\xa1\x2f\xf9\xf2\x70\xf8\xb2\xfe\x18\x34\x95\x5e\x95\x6f\x4b\x74\x51\xca\x6c\xb5\x05\xcc\xa6\x79\x79\xfa\x1c\x4d\xf3\x59\x0e\xf1\x9b\x14\xc8\xd7\x50\x9c\xe5\x85\xb3\x24\x2b\x0a\x74\xc1\xad\x40\xd9\xf4\x73\x4b\x13\xc5\x02\x12\x55\x93\xc3\x7c\x0e\x9f\xe5\xf3\x9c\xbc\x49\xb7\xe0\x1d\xa1\x5c\x20\x33\x49\x46\x8e\x64\xae\x52\x56\x3d\xe0\xef\x3d\xc8\xd9\xea\xc7\xa8\xa8\x81\xf2\x92\xda\xc4\xe1\x2b\x9c\x93\x46\x91\xc7\x0b\x1f\xc2\xc9\x68\xab\x6e\x50\x3f\xbe\x3f\x2a\x27\x88\x8e\x31\x05\x4b\x32\x1b\xdc\x13\xa3\x98\x67\x97\x7c\xd3\xb0\xb8\x6c\xe5\x04\xa6\xa3\x78\x4b\x60\x7a\x91\xe1\xf2\x55\x99\xcf\x17\xfc\x9e\xa9\x18\x48\x4e\x94\x39\xaf\x1a\x4a\xab\x4b\xa1\xe2\x35\x9f\xc4\x7c\xd2\x9e\x8c\xc4\xbf\x5b\xe2\xdf\xdb\xa9\x0d\x69\x78\x0a\xc9\xf3\x6c\x11\x80\x07\xf2\x1e\xf7\xe4\x59\x0a\x9e\xc8\x97\xe9\x27\xfb\xca\x0f\x3e\x98\x83\xab\x8a\xc0\xf9\x2b\x32\xbb\xd7\xd0\x5d\x2d\x79\x86\x26\x6f\xe1\x54\x29\x9b\x8c\x5e\x66\x84\x40\x5c\xaa\x79\xc8\x96\x8b\x29\x53\x1d\x8a\x96\x6c\xfd\xd4\x6a\x93\xec\x1c\x4e\xcd\x25\xc5\x5f\xbe\x9b\x35\xc5\x18\xd3\x97\x87\x8a\x40\xea\x5c\xa4\x94\xfb\xb4\x54\xdb\x7b\xf6\x74\xef\xf3\x74\xd4\x0e\x6a\x7f\xf7\x49\x7a\x3b\x32\x16\x76\x9b\xb4\x2d\x4a\xa4\xac\x7d\xb2\x9c\xa5\x84\x5f\x69\xc4\x9e\x41\x55\x2a\xa6\x95\x42\x91\xf5\x32\x7c\x5a\xa5\x47\xc7\xd7\x66\x57\x7e\x45\xa0\xdc\xeb\xec\x33\x6b\xf0\xb8\x16\xc5\x15\xf5\xf1\x83\xe5\x2c\x80\xab\x55\x1d\xe5\x86\x7d\xdc\xc5\xa7\x4c\xb5\x21\xe4\xfc\xd6\x1e\x35\xd0\xb6\x1e\x92\x8e\xc1\x45\x80\xb5\x70\x1f\x2c\x67\xf6\x60\x28\xb9\xec\xe3\x7f\x07\x8e\x0d\x02\xae\x85\x5e\x8f\xd0\xee\x83\x92\xba\x7e\xa6\xe7\xc9\x80\xe2\x2e\x33\x31\x0b\xea\xf2\xa3\xf8\x38\x85\xad\xb4\xc9\x33\x7c\xea\x0f\x57\xce\x60\x40\x96\xd4\xa8\xce\x64\x5a\x9b\xe7\xe3\x68\x14\xd7\x0f\xce\x71\x9a\xe6\xbd\x5e\x90\xa7\x24\x8c\x72\x79\x96\x90\xb6\x9e\xb3\xe9\x79\x56\x4e\x1c\x6f\xe5\x0b\x54\xf5\xb9\xb2\xdb\xd7\x74\x01\xe1\xdb\x7d\x38\xcf\xf2\x32\x2f\x4f\xb5\x09\xd0\x55\x8e\x27\xcb\x59\x2d\xa8\x08\xc8\xad\xc4\xa0\x70\x29\x37\xba\x01\xbc\x68\xd4\x0a\x71\x82\xca\x6a\x39\x87\x37\x04\xda\xef\xaf\x01\x9b\x57\x7b\x88\x32\x58\xa7\x6f\xad\xa2\x83\x3c\x59\xce\xe4\xd5\x7f\x39\x13\x8b\x45\x24\xa0\x5a\xa0\x4a\xf4\xa0\xb0\x25\x7b\x32\xce\x9b\x97\x37\xca\xd3\xea\x8d\xa6\x34\x52\x2f\xd4\xd9\xb9\x43\xe7\xcc\x43\xc1\x48\x70\xf5\xa9\xae\x27\xbd\x10\x07\xbe\xf6\x1a\x68\x37\x39\x85\xc4\x78\xcb\x08\x65\x86\x97\x9a\xf5\xd7\xad\x9e\x3c\xab\x4f\x80\xe6\xdb\xbe\x7e\xc2\xb0\x6f\x82\x91\xc9\xd3\x86\x7d\x13\xac\x5f\x9e\x3c\xec\xdb\x56\xa4\x9d\x42\xec\xdb\xed\x56\x82\x88\x18\x80\x16\x4d\xb4\x41\x19\x81\x02\x1b\x9a\x89\x31\xe9\x44\xb3\x28\xe0\xa0\x9c\xa4\x89\x02\x40\x12\x46\x12\x85\x13\x43\x7c\xdb\x57\xbe\xc9\xa3\x37\x56\xbe\xc9\x63\x78\xa4\x7c\x93\x47\xf2\x96\xf2\xed\xb6\x3c\xa6\xad\x93\xcd\xfd\xfc\x23\x3b\x5b\x77\x9e\x8f\xda\xaa\xc5\x75\xb5\xad\xcd\xa0\xfd\x54\x21\x62\xb3\xc3\xfd\x26\x72\xa8\x45\x2e\x53\xbe\x75\x3e\x0c\xd8\x9e\x5f\x4e\xe0\xc2\xb6\x97\x5e\x63\x12\xcd\x55\x02\xaf\xd2\x3b\x61\x14\xd4\x6e\x12\x82\x55\xd4\x4b\xad\xb1\x57\x2f\xc8\xd3\xea\x39\x24\x59\xaf\x27\x5d\x81\x42\xde\xfe\x5e\x18\xd5\x0e\x17\xfc\xcb\xe8\x63\xa9\x1a\xe7\x12\xe2\x70\x86\xd1\x9c\xf2\xbf\x3d\x96\xa0\xbe\xc9\x1a\x61\xf8\x44\xf5\x6f\x6f\x45\xb7\xb7\xa2\xad\xbb\x77\x43\x7a\xa9\xd9\xb4\xf1\x3e\xba\x50\x5b\xd6\x71\xcd\x84\xb1\x3c\xf3\xe6\xe3\x16\xf4\xe3\x32\xfd\xf4\xe3\x7e\x30\x18\x7d\xc4\x12\xd8\x90\xec\x9b\xfb\xf1\x4e\x3c\x1e\x85\x51\xb9\x4a\x71\xc4\x8c\x94\x9f\x83\xbe\xab\xe3\x32\xec\xa3\x7e\xe5\xb0\x67\x57\x02\x94\x29\x4e\x1e\x63\xee\x1b\xdc\xa4\x30\x12\x5e\x13\xd1\x56\xd8\xbf\xbd\x95\x6c\xd8\x9d\x05\x7b\xb9\x00\x63\xde\xec\xf7\x81\xb3\x02\x73\x90\x18\x5b\xcb\xce\xb5\x34\xf6\x77\x9f\xd0\xb9\xe4\x78\x55\xbd\x5e\x50\xa6\xb7\xb7\xa2\x51\xf3\x69\xa7\xec\xa7\xf1\xf8\x8e\xfe\x61\x34\xde\xd2\x3f\x6c\x8d\xcb\x7e\x7a\x9b\xde\x1f\x6f\x6f\x6d\x4a\x46\x8d\x68\xdc\x97\x67\xcc\xfe\xae\x5d\x8d\x0c\xb7\x4b\x69\x5c\x05\x31\x46\x38\x00\xe2\x0e\xd6\x61\x43\xec\xb0\xf9\x60\x86\x5b\x6c\xc6\x23\x18\x5e\x4b\xb5\x66\xbd\x8e\x2d\x1b\x73\x6b\xbb\xd5\x46\x39\x96\x12\xc0\xbc\x20\x36\xd2\xa8\x90\x16\xa5\x13\x70\xd2\xb5\xaa\x36\xa7\x74\x10\x26\x5a\x0c\x5f\xb5\x16\xed\x51\x2a\x47\xd5\xef\x54\xb8\x80\xf6\xe7\x93\xe5\xac\xd6\x21\x9b\x60\x86\x93\xac\x28\x78\xc4\x0a\xb3\x3c\xb4\xbe\x70\x99\x37\x95\xd4\x32\xba\x4e\x53\xec\x28\xa0\x72\x6d\x0a\x85\x0d\x14\x93\x4c\x70\x67\x9a\x73\xdf\x22\x16\x73\xb8\x43\xce\x60\xa7\xa2\x95\xbb\xc0\x26\x33\xa7\x96\x4b\x55\xc6\x2f\x97\x69\xea\xbe\x7c\xee\x28\xb4\x16\x26\x45\x63\x68\x41\x6f\x4c\x8e\x5c\xca\x33\xc3\x24\xc9\x83\x9b\xaf\xb5\x75\x07\x6f\x66\xde\x82\x54\x41\x52\xdf\x9a\x55\x50\x4d\xc8\x45\x73\x65\xd3\x2b\x73\xf0\xa1\xc8\xc9\xdf\x39\xcf\x8a\x25\xec\xcc\x10\xee\x00\xb9\x84\x07\x50\x00\x04\xe3\xce\x87\x7d\x18\xf2\xcd\x93\x57\x68\xb0\x15\x6f\x6d\x81\xf1\x7b\xdd\x6d\xd5\x7d\xc8\xe8\x3f\x60\xde\x4e\x53\x3f\xb8\xb8\x05\x5c\x6c\x81\x7b\x3f\x38\xa3\xeb\x96\xcb\xb5\x45\x6b\x57\x35\xfb\x2d\xe7\x05\xb7\xc5\x7b\x0b\xaf\xaa\x80\x1f\xd6\x7b\xa3\x70\x38\xcb\xe9\x8a\x0d\x60\x7a\xbf\xeb\x46\x74\xb5\x82\x6c\x2d\x52\xe6\xb5\x4b\x82\x70\x7b\xb4\x75\x2f\x1c\xce\xb3\x05\x6d\x03\x5e\xbf\xbe\x04\x7d\x7a\x24\xfd\xb0\xc8\xa6\x81\x5e\x73\x48\x90\xe0\x36\xa3\x8f\xc3\x68\x2b\x0c\xc5\xe3\xa6\x74\x9a\xd2\x14\x0a\xf0\xa2\xb3\x0f\x4f\x1f\x5d\x2e\x82\xef\x8f\x3e\x78\x07\xaf\x8f\xbf\xb7\xc7\xa9\x69\x9f\x74\x26\x25\xfe\xee\x10\xfa\xab\x8b\xed\x61\xf4\x7a\xf8\x08\x0f\x9f\x3c\x3b\x1e\x3e\x79\xc6\xde\x62\x9a\x9f\xec\xb5\x06\x37\x9c\x92\x59\x00\xd2\x35\xdd\xdc\x01\xa3\x3c\xb5\x2f\x5c\x3c\x5f\x9f\xf4\xb6\x37\x87\xa4\x5e\x0a\x91\xf4\x17\xce\xab\x45\x46\x97\x3f\xd8\xdb\x1b\x81\x28\x97\x57\x9e\x38\x1a\x85\x11\x14\xc9\x6c\xeb\x4b\x61\x30\x0a\xc3\xf1\x60\xc4\x9b\x07\x79\x5d\xcc\x98\x6f\xc0\xfc\x12\x02\x05\x04\xaa\x93\xa1\x79\x7a\x41\xee\x5e\x50\x5f\xe4\xb2\xb1\x69\xbd\x77\xf0\xd4\xed\x1f\x25\xef\x88\x2c\x4f\x1f\x64\x37\xe4\x84\xdc\x4f\xc1\x1f\x82\x5e\x8f\x6c\xa7\xe0\x8f\x80\x3d\xe2\x83\xa7\xc0\xad\x30\x14\xef\xe7\xa6\xb6\xb0\x4f\x28\xb2\x2e\xc5\x05\x1d\x3b\x48\x28\xa3\xdc\x71\x37\xdd\x71\xb7\x1a\x07\x58\x5c\xff\x56\x2b\x2c\x9e\xf0\x01\x9d\x7a\xf9\x67\x38\xa6\x83\x88\xc5\x20\x3e\x05\x37\x04\x2f\xa1\xef\xd0\xb5\x25\x13\xc2\x1f\xf7\x53\x32\xc6\x47\xf1\x71\x4a\x18\xf4\x8e\x80\xbe\x03\x7a\x3d\x30\x06\xdd\x94\xec\xd4\xed\x3c\x84\xa0\x2d\x9d\x84\x93\x05\xca\xb2\x1b\x12\x58\x91\x80\x84\x3b\xae\xa5\x40\x29\x3a\x76\x23\x1f\xa9\xcb\xce\xb7\xf3\x48\x5e\x88\xc8\x28\x7c\xaf\x10\x2d\xac\xaf\xb1\x3e\x8c\xad\xc2\x2c\x6c\x44\x04\x8b\xe0\xf5\xe5\xe8\xe4\xf5\xeb\xd5\xeb\xcb\xf8\x93\xf0\x56\xc8\x76\x17\x5b\x43\xf9\x2c\xc8\xeb\x29\x0a\x72\x4a\x35\x00\xa2\xfc\x68\x74\xcc\x38\xc4\xc3\x8c\xc0\x30\xa2\x5b\x02\x87\xef\x68\x69\x3f\x25\x5c\xce\xae\x23\xc9\x1c\xc5\xc7\x32\x6e\x06\x71\x2a\x69\x7b\xbd\x00\xa5\x80\x20\xd4\x29\x10\xb7\x76\x57\xda\x50\xe0\xdd\x94\x7d\xc8\xcb\x29\xbc\x7c\x31\x0b\xc0\xef\xb1\x38\xc3\x28\x05\x70\x7e\x02\xa7\x53\x38\xed\xc0\x6a\x92\x2d\x60\xdd\x54\xad\x19\x46\x12\xcf\x01\xc5\x9a\xe3\xa0\x69\xb3\x45\xff\xdc\x95\xa7\x03\x2f\x17\x39\x86\x53\x0a\x4b\x6b\x18\x46\x68\x27\xd0\x0c\xea\x5b\xa6\x60\xdc\xc9\x4e\x10\x26\xc2\x78\x1f\x45\x14\xab\x7a\xe7\x04\xfc\x17\x7b\x52\x69\xe6\x98\xd4\x03\xee\xc6\xe1\xb5\x4d\xbc\x3e\xf6\x90\x6f\x27\x50\xe1\xf6\x89\x80\x2c\x26\xa3\xe1\x46\xd8\xb7\x75\x95\x85\x86\xfb\x94\x66\x69\xd3\x0c\x47\xa3\x70\x67\x6b\x3c\x0a\x39\x5a\x96\x74\x22\x56\xb3\xf5\x58\xc6\x75\x72\xb4\xf6\x11\x3c\x3e\x22\xc7\x49\xbe\x93\x77\xd9\xef\x61\x7e\x5a\x22\x0c\x77\xd8\xfa\xe7\xae\xa7\xf7\xc1\x5f\x05\xf2\x51\xdc\x7a\x2c\xd8\xd1\xa4\x11\xf0\x94\xb6\xce\xcb\xd3\xce\xbd\xc1\x49\x4e\x3a\x13\x5e\xa9\x43\x85\x9e\x71\x27\xbe\x04\x7d\xa2\x9e\x78\xb1\x7e\xe4\x85\xe3\x9c\x39\x39\xf3\xd8\x3f\xd1\x11\x8e\xc8\xb1\x08\x15\x6a\x3d\x0f\xf4\x7a\x8e\x8e\xe1\x94\x8a\xf4\x7d\x20\xfa\xb3\x1c\x27\x48\xb8\x29\x38\x79\x5d\x58\x07\xce\x25\xc6\xed\x7e\x71\xf0\xd4\x48\xc5\x11\x91\xf0\xdd\x9d\x54\xe6\xd9\x50\xb5\x32\x4d\x1a\x94\x80\x84\xe3\xad\xd8\x59\xc9\x4e\x70\x12\x90\xcd\x47\xa2\x14\x76\x28\x6e\x9d\xe7\x62\x38\x6e\x29\xf4\xe1\xa3\x3d\x07\xf6\x42\x0c\x6d\xa2\xac\x44\xa3\x38\x14\x61\xc0\x47\x63\x9f\x06\xc0\xf4\x58\x4f\x89\x1a\x9c\xfb\x36\x6f\xe7\x7b\xdc\x92\x2a\x69\x95\x12\xfc\xf1\x93\xec\x8c\x6e\x6f\x8d\xef\xc5\xa1\xee\x2e\xa4\x24\x6a\x36\x4b\xaa\x26\xdd\xdb\x3e\x3c\xa5\xa3\x62\x3a\x75\x66\xd2\xac\x5e\x2d\x3b\x77\xc7\x56\x43\x35\xd1\x55\x40\xb4\xda\x1f\xdb\xb5\x9b\xf4\x39\x46\xdd\x4f\xec\xba\x4d\x7e\x17\xa3\xee\x68\x6b\xac\x6c\x37\xf6\xc8\x66\x5e\x4f\xf5\x34\x1f\x46\xfb\x2d\xc7\x30\xf4\x74\x1a\x7a\xfd\xdb\xb1\x5d\xdf\x72\x6e\xd4\x9b\xdc\x31\x9b\x78\xdf\x28\xb5\x39\xbf\xe3\x27\xb0\x97\x1a\x1f\x9b\xa4\xab\x17\xd8\x49\x36\x79\xcb\x12\xf0\x1e\xc0\x72\x5a\x3d\x90\xbf\xf4\x2e\x47\xf0\xb6\xad\xde\x10\x92\x90\xfd\x26\x36\xf6\xab\xc4\xcc\x35\x75\x55\x4e\x98\x9e\x8d\xd9\x84\x04\xfa\x04\xc6\xf1\xd6\x66\x9d\x3e\xdc\xdf\x7d\xf2\x73\xf5\x39\xb2\xa6\x51\x04\x37\x7b\xb1\x24\x8b\x25\x31\xc8\x12\x8f\xcc\x8d\x6b\xc5\x42\x33\x5b\xdc\x36\x17\x7c\x3d\x13\x73\x48\x32\x36\x09\x8f\xd8\x59\x6f\x35\xfc\x74\x4c\x76\x3c\x4d\xa5\x7b\xd9\x6e\x41\x18\x84\xaf\xce\x32\xf2\x46\x5a\x2a\x6e\x58\x3d\xf5\xeb\x20\xeb\x4a\xd1\x06\x75\x52\xc0\x65\x15\x10\xfa\x06\xea\xec\xde\x62\x55\x6e\xe0\x37\x01\xe9\xc3\xd6\x3d\x7c\xee\x9b\xa1\xee\xb3\x4f\xc6\x82\xf4\x77\x1c\x8c\x47\x4b\x19\x65\xf2\x9e\xf8\xce\xbd\xb1\xa9\xb1\x16\xcf\x38\x75\x0d\x3a\x9d\x81\xa7\x92\xcd\x7a\xcd\xee\x5c\x6c\x3b\xa8\xfd\xc6\xd7\xb7\x54\xfb\x14\xcf\x20\x81\xce\xc6\xb7\xe2\xf8\x8e\x3d\xec\x07\x5a\x8c\x89\x66\xdc\x75\xd6\x85\xf7\x38\x51\x1f\x3e\xda\xeb\xbc\xc4\xf9\x79\x46\xa0\x7a\xb0\x8a\x93\x95\x4b\x53\xaa\x6e\x41\x3e\xfc\xec\x8d\x52\xf9\xf7\xa3\x83\xbd\xfa\xef\xbd\x83\xa7\xf5\xdf\x2f\x94\xef\x5f\x1e\xde\xdd\x4a\x95\xc6\x47\xe0\x75\x0c\x8e\x55\x91\x4d\x29\xfa\xf7\xbc\x25\x7f\x09\x1c\x7b\xfd\x65\xeb\xdc\x82\xcd\x73\x1d\xeb\xe7\xa4\xad\x4d\x93\xb4\xb4\xb9\x06\xf1\x66\xa4\xad\xd9\x0c\xe1\x8b\x0c\x4f\x0f\xb3\x93\x03\x82\x16\x46\x87\xe5\x9a\x96\xf3\xc7\x10\x4e\x8d\x36\xe7\x72\xc8\x35\x08\xb5\x74\xd6\x5a\x8a\xdb\xfa\x33\x73\x62\xc6\x5a\xbf\xff\xbe\xa3\x29\x7b\x02\x1a\x01\xb5\xda\x7f\xe0\xab\x16\x6b\xd5\xfe\x43\xef\xbc\xfd\x47\xde\x92\xbf\xac\x82\x86\xe1\x3b\xda\x75\x2a\x1f\xed\x24\x5f\x12\x7d\x79\xaf\x18\xfa\x90\xb9\x3e\x07\xec\x00\x6d\xa8\xff\xb1\x46\xc3\xbf\xac\x91\xf0\xf7\x0c\x24\x74\xf5\x92\xb4\xdc\x54\x9e\xb5\x83\x30\x01\xbf\x07\xba\x29\xae\xa3\xf3\xd4\x17\xef\x47\x07\x7b\x20\xc2\x5c\x95\x51\x2b\x9b\x3d\x5a\x8d\x6b\x51\x85\xa8\x88\xfe\x55\x2f\xad\x7e\xfd\xd7\x65\xd1\xa3\x83\xbd\xe1\x43\xff\xa4\x17\x79\x09\xed\x45\xf6\xeb\xbf\xa1\x36\x7f\x74\x93\x35\x63\x72\xbc\x26\x39\xb2\xbe\x6b\x7e\xfd\x9f\xaa\x5d\xfc\xa2\xb5\x0b\xb9\x79\xf4\x02\x23\xc5\x78\x10\xea\xf0\xff\xb6\x0a\xff\x79\x0b\x2f\xe0\x32\xd9\x33\x37\x21\xfe\x8e\x0a\xe5\x0b\x1f\xb5\xff\x0b\xb5\xd6\x0b\x5f\xad\xbf\xab\xd6\x7a\xa9\xa7\x80\xb6\x0c\x76\xe4\x9a\x68\xde\x18\xdc\x37\x7c\x0d\xdb\xbf\xaf\xf6\xf0\xa5\x0f\x8f\x7f\xa0\xd6\xfa\xca\x57\xeb\x1f\xaa\xb5\xbe\xf6\xd5\xfa\xaf\xd5\x5a\xdf\xfa\xa9\xac\xbf\x31\x81\xdf\x3b\xda\x19\x25\x5b\x13\x7d\xdf\xfd\xfa\xbf\x51\x80\x1d\x81\x23\x63\xab\x39\x68\xe4\xd4\x7d\xb5\x5b\x19\x5a\x64\xdd\x3b\x78\xaa\x13\xf1\x4f\x34\x2c\x5e\xbf\xf6\x6f\xb2\xff\x56\xab\x79\xdc\xca\x1a\xb4\x37\x29\xf7\x54\x06\x30\xa4\xfb\x9f\xb6\xeb\xa6\xa4\xe1\x26\xc2\x52\x89\xfb\xf5\x04\xb7\xbe\x0b\x5e\x4f\xfb\x61\x12\x0c\x3f\x0a\x3f\xb8\x15\x26\x78\x27\xa8\xab\xa4\xf8\x68\xeb\xd8\x54\xf5\xbe\x60\x6c\xe6\x68\x74\x1c\xc1\x30\x1c\x1b\xca\x04\xf1\xa6\xf2\xe2\x60\xcf\x15\x7e\x41\xc2\x0d\xc3\xeb\xeb\x96\x25\xaa\x91\xef\xbf\xd3\x88\xf2\xdd\xfa\x49\x7c\x9f\x85\xfe\x8f\xd4\x65\xf7\xe6\xe7\xed\x81\xe1\xdd\xb1\xf0\x66\x20\x5c\x1a\x4d\x9d\xd9\xbf\x8f\x64\x55\x09\x0d\xda\xb8\xf3\xe8\x60\xaf\x13\x5f\x6e\xc5\x1d\xd0\x27\xbe\x33\xec\x5a\xc5\xf3\xf7\xd7\xe3\x09\xee\xb1\x60\x72\x1a\x9a\xe6\x1d\x7b\x96\x17\x45\x00\x1e\x79\xcf\x4d\xad\xcf\x3f\x78\x5f\xda\xc8\x3d\xe0\x78\xd8\x12\xde\x0f\xe0\x16\x10\xa7\xa0\xd6\x52\x7b\xdf\x30\x50\x93\x26\x0d\x44\x58\x33\xfc\xa1\x78\x57\x53\x9e\x19\x83\xe6\x29\x50\x7b\x5d\x7f\xe2\xaa\xca\xdf\xe6\xb4\x7a\xb7\xc0\x58\x76\x62\x8e\x49\x74\xfa\x44\xbc\xd1\xff\x42\xfc\xfb\xd4\x0b\x59\x3e\x22\xbe\xaf\x44\xce\xb5\x75\x74\x9d\xfc\x41\xe7\x56\x27\x13\xab\xdc\xa3\xb3\xfb\xe9\x5d\xac\xe9\x60\x83\xd5\x12\x68\xfc\x20\xd4\x7e\x7d\xa4\xfd\xea\x6b\xbf\x06\xda\xaf\xa1\xf6\xeb\x96\xb6\x02\x23\xe2\x5d\x83\xb6\x30\x96\xcf\xb8\x66\x19\x87\xb5\x1f\x85\x53\x50\x14\x2b\x8e\x02\x0c\xb4\xfc\x88\x4e\xb3\x28\x1c\x26\xb5\x85\x69\xbe\x03\x82\xe6\x05\xea\x49\x9c\xe6\x63\x10\xd2\x0f\xab\x15\x18\x28\x05\x23\x5a\xf0\x91\x28\x18\x2a\x05\x5b\xb4\xa0\x0f\xba\x74\x23\x80\x5b\xf4\x5f\xa9\x23\x78\x72\x3b\xcd\xd7\xab\x43\x0b\x74\xda\xbc\x96\xd7\xe8\x76\x2a\x48\xf8\xab\xf9\x87\x7d\xd2\xff\x90\xbd\x94\x7b\x55\xf1\xea\x0c\x7e\xec\x38\xff\xe8\xf7\x4f\x6c\x49\xdf\xbe\x22\x2b\x70\xee\xb5\xd7\xaf\xaf\xb7\x4a\x93\x4f\x3d\x5d\x83\xb4\xed\x22\xe3\xd2\xca\x7e\x0e\xaf\x16\xd9\x54\x04\x08\x90\x50\xee\xbf\x2f\x94\x51\x03\x65\xf8\xd8\x89\xe2\x70\x62\x41\x16\x8f\xb3\x91\x29\x7e\xb2\xaf\x0a\xc0\xa2\x39\xd9\xe6\x6e\xd8\xb6\x7d\x36\xbb\xf6\x6c\x01\x05\x0a\x72\xd7\xb9\x0d\x54\x02\xac\x5c\xb7\xb5\x7d\xab\xda\xb5\xaf\xda\x96\x56\xed\x8f\x7c\xd5\xea\x2b\xe2\x8b\x83\x3d\x2a\xa5\x78\x1d\x59\xb8\xe2\xbb\x9c\xa2\x8b\xc3\x9c\x14\x50\x11\x40\x14\x00\x5b\x62\x51\x70\x60\xcd\xf7\x3b\xc7\x1e\x17\xa5\x46\x82\x12\xd1\xec\x13\xe6\xd6\x5f\x6b\xf8\xe5\x8b\xd7\xad\xad\x50\xfa\x88\xb6\x1b\xd4\x2a\x1e\x86\x51\x95\x1e\x1d\x0b\xa7\x27\x9c\xf4\xfb\xa5\x74\x78\x6a\xa0\x1f\x6d\x7d\x54\x1e\x87\x51\x91\xb2\xbf\xfa\xa3\xe3\x24\xbb\x9f\xa2\xe6\x2d\x13\xec\x80\x6e\x5a\xec\x04\x45\xe3\x1c\x79\x39\x1a\x1d\xa2\xbd\x83\x83\xa0\x08\xd9\x0b\xe3\x51\x76\x9c\x16\xe1\x58\xad\x82\x4f\x4f\x0e\xd1\xd7\xa3\x11\x2b\xa4\xb5\x2a\xfe\x56\x9d\xf5\x41\x02\xfa\x45\x18\x5e\x57\x7a\xaa\x72\xaf\x28\x7e\x7c\x27\x01\xfd\x4a\x58\x60\x24\x20\xec\x83\xbf\x04\x54\x7a\x7f\xaa\xd3\xb5\xce\xd7\xff\xee\x04\x4d\xaf\xc6\x35\x71\xaf\xd5\x36\x23\x63\x96\xfd\x13\xc1\x84\x02\xc9\xac\x6d\x02\x10\x6e\x90\x19\x84\x61\x82\x1d\x0f\x03\x8d\xe7\x29\x73\x72\x64\x11\x7b\xe5\x23\x6f\xcc\x23\xb3\x0b\xc9\x98\x34\x03\x54\xd0\x1c\x1d\x6b\xef\x70\x90\x49\xba\x5a\xf9\xef\x64\x18\x0f\x74\x5f\xcd\x00\x6b\x58\xdc\x5d\x43\x4c\x71\x2f\xd8\x6b\xd2\xbe\xa6\xc1\x30\xbc\x95\x0b\xa4\xa4\xe8\x72\x34\x92\xe9\x1b\x46\xc0\xf7\x68\xc2\x5a\x07\x2d\xd9\x6e\x35\xb9\x68\xeb\xfd\xe0\xd4\x39\x69\x9d\x32\xd0\x4d\x91\x62\xc9\x7c\x79\xa6\x6e\x5d\x90\x51\xc3\x7a\xe3\x0a\xd2\x3b\x4e\xe7\x6e\x4c\x25\x9a\x8a\x1b\x44\x3a\x78\xcb\xdd\xad\x8d\x48\xfd\xdd\xd1\x64\x51\xc5\xa3\xad\xdb\x77\xee\x7e\xfc\xc9\xf1\x47\xec\x2e\x76\x4b\x5f\x03\x22\x09\x49\x46\xd0\x09\x27\xbd\x3d\xf1\xee\x74\x32\xfc\xf6\xc6\xad\xe7\xb0\xbe\x1c\x3f\xf9\xe4\x13\x07\x7a\x8d\x4d\xaf\xb5\x2c\xb5\xa4\x1d\x7c\xdb\x72\xeb\x5b\x1c\xe5\x49\xe0\x1c\xd8\x77\xc9\x71\x3f\x09\xe8\x3f\x1f\x85\x41\x12\x1c\xbd\xae\x5e\x1f\x1c\x7f\x14\x86\x3b\x1f\xdc\x62\xbc\x08\xa7\x74\x34\x51\x9e\x92\xa3\xdb\xc7\x61\xd4\x70\x03\x96\x9a\x7a\x8c\x23\xc6\x15\xf2\x6b\x73\x6e\xdd\x42\xe6\x12\x5f\x9e\x93\xce\x1c\x4d\x97\x05\x34\x26\xa5\x51\x13\x1f\x81\x3f\x04\x6d\x87\x46\xce\x5e\x96\x0f\x16\xd9\x84\x9e\x18\x79\x86\x4f\x99\xd9\x54\xd8\x40\x18\xee\xb6\x34\xe7\xab\xe9\xd5\xc2\xd7\xf6\xc1\xda\xb6\x4c\xbd\xe5\x69\xbd\xb7\xb6\x35\x0b\x6f\xef\x6b\xfe\x70\x6d\x73\xa6\x91\xf6\xb4\x7e\x74\x73\xd4\xed\x37\x0d\x8f\x52\xf8\xe0\xe9\xf0\xf1\x4d\xa9\x7a\x13\xe0\x4f\xda\xc5\x04\xad\xa1\xd2\xc7\x60\xa4\x02\xf9\xc5\x26\x40\x64\xb0\x63\x1d\x4c\x24\x7e\x8d\x2c\xa0\x4f\x9d\x2c\xa2\x6e\x9a\xf0\x50\xd4\xdc\x12\x9f\x44\x23\x73\xd0\x66\x5a\x95\xa4\x09\x54\x19\x27\x78\x9b\x24\xb8\xdf\x0f\x37\x7b\x44\x38\x78\x3a\xfc\x2c\x6d\xb6\xc9\xce\x67\xd6\xbd\xc8\xd0\x21\x51\x26\x14\x77\x53\xbc\x33\x4a\x53\x6c\x3c\x53\x42\x9c\x55\x70\xf7\x04\x51\xb1\x7d\xbc\x65\x97\x8b\xc7\xab\xf1\xed\xc6\xf6\xd9\x2a\x73\x40\x7c\x00\x0b\x74\xa1\xa1\xfc\xb9\x8a\xf2\xe7\x3f\x19\xe5\x43\xc4\xb6\x00\xc7\xd9\x44\x8c\xd5\x78\x96\x97\xd0\x8d\xdc\x21\xe2\xbb\x4f\x45\xef\xd9\x5a\x56\x43\xe1\x55\xbe\x3d\xf7\xbc\xa5\x39\x0f\xd9\xdc\xda\xfc\xe5\xda\xe6\xf4\x22\xeb\x6d\x7e\xd0\xd2\xfc\x5c\x58\x3a\xf8\x59\xdd\xa1\xa1\xd7\x51\x7c\x28\xb7\xd3\x91\x49\x5b\x09\xaf\x85\xfd\x1d\x81\xfb\x87\x4e\xfd\xe9\xc1\xd3\xe1\xd7\x2d\xa8\x6a\x93\xe3\x41\xf6\xdb\xdf\xf9\x36\x3c\xc9\x26\x6f\x3d\xfb\xf0\x08\x7c\x5f\xbf\x1a\x51\xe6\xd5\xa0\x99\xdd\x80\x8f\xad\x79\xe0\xe8\x7b\x28\x71\xe2\x26\xf0\xc4\x31\x9b\x47\xf1\x31\xdb\x4e\xf5\x2f\xd3\xa9\x69\x9d\xa2\x9e\xcd\xe9\xa4\xfd\x3c\x36\x41\xdc\x8f\x93\xad\xbb\x1f\x27\xb1\x06\x66\xe8\x48\x4a\xaa\x3d\x88\x8b\x4c\x9c\x9c\x04\xfb\xe8\xc2\xcf\xe5\x67\x0d\xe1\x7f\xd1\x7c\x3d\xdd\x64\xf8\x3b\x2c\xe2\x48\x5d\xe4\xe0\x6a\xbb\x45\x21\xe6\xbb\xb2\x78\x08\xcf\x97\xc3\x4b\x77\xc5\x64\x05\x5d\x0d\xb7\x33\xcf\xa5\x34\x4e\xc8\xb6\xb6\xc1\x12\x22\xd7\x9b\x62\x59\x27\x85\x3a\x72\xac\x98\x3d\x72\xc6\x79\x66\x3e\x37\x6c\x08\x5a\x58\xbd\xf9\x20\x0f\x73\x95\x3b\xe7\xbe\xcd\x5b\xfc\x6c\xc3\x1a\xe9\xc3\x2a\x7e\xbe\x61\x69\xf3\x30\xf7\xbd\xcd\x10\x35\xa2\x8a\xc2\xef\x48\x7f\x6b\xb5\xba\x5b\x2f\x15\xd2\x1f\x1d\xef\x94\xcb\xa2\x18\x8b\x65\x48\xfa\x5b\x51\x1c\x5e\xd7\x90\x70\x0b\xa4\xbb\xab\xd5\x96\x03\x12\x8b\x7e\x04\xfa\x1a\xc0\x3e\xe8\x44\xca\xa7\xdb\xf6\xa7\x3b\xec\x53\x08\xae\x15\xa5\x64\x9b\xbe\x82\x07\x23\x52\x10\x6a\x88\x8a\xd2\x38\x41\x06\x51\x51\xbf\x2f\xe3\x40\x89\x2e\x51\x14\x33\x20\xd5\xf6\xed\x38\x8c\xd3\xb4\xda\xc9\xa5\xda\x6a\x3c\xe2\x3f\x79\x4c\xd0\x98\x1e\xc1\xf4\xa7\x8c\x2d\x48\x65\x05\xfa\x5b\xc6\x05\x8d\xc7\x77\xf8\x07\x35\xd2\xdf\xf8\xae\x80\xc1\xa3\x85\xc6\xe3\x4f\x44\x23\x19\x07\x34\x1e\xdf\xab\xbf\xc8\x48\xa0\xf1\xf8\x53\xfe\xcd\x8c\xfd\x37\xde\x62\x38\x04\x79\x1d\xa7\xb4\x46\x67\x14\x8e\xb7\x0c\x84\x46\xe3\x2d\x1b\xa3\xd1\x78\x4b\x47\x69\x34\xde\x32\x71\x1a\x8d\xb7\x6c\xa4\x46\xe3\x2d\x8a\x15\x8b\x0a\x68\xc6\x36\xe5\x39\xc3\x3a\x8c\x8c\x77\xe3\x90\x93\xf3\x5e\x98\xdb\x71\x3f\xab\xc1\xed\xb8\xae\x7c\x9b\xf6\x42\x6b\x8b\xd4\x90\x65\x8a\x03\x14\x86\xae\x76\xb9\x8c\x97\x15\xa9\x85\x69\x19\xa1\x7e\x7a\xb7\xce\x58\xc6\xbd\xdf\x83\x2c\x65\x39\x88\x42\x7e\x49\xcb\x67\x01\xea\xa7\x5b\x51\x76\x5f\xea\x2e\x64\xb4\x53\xb1\x62\x26\xa8\x24\x79\xb9\x84\x89\xa3\xdf\xec\xba\x46\xf6\x53\x86\xac\x0f\x35\x11\xa8\x4b\x21\xc4\x1d\x4a\x00\x2b\x9e\x69\x35\xb8\xd3\x10\xe0\x0e\x23\xc0\x3b\xee\x32\x4a\xc7\x9e\xd4\xc4\x28\x5d\x8d\x55\x2a\x28\x01\xc3\x54\x2a\x70\x05\x1d\x51\x60\xa5\x69\xf6\x1e\x94\xb0\xfa\xce\xae\x05\x29\x7c\x68\x69\x14\xa8\xee\xa7\x9f\xc6\xbd\x5e\xb5\x9d\x7e\xfa\xc9\x8e\x73\x1d\x7c\x1a\xf7\xef\x8d\xab\xfb\xe9\x28\xe6\xf5\x46\xf1\x27\x6c\x6d\x39\x28\x36\x8a\xe3\xfe\xbd\xf0\x3a\x57\xa3\x05\xda\xe2\x84\xa9\x2e\x33\x2f\x64\xa7\xb6\x2a\x2a\x0c\xe5\x98\x74\x4d\x35\x17\x04\xe6\xbe\xf3\xa1\x34\x3d\xb2\xef\x2a\xe7\x6c\xd8\x2e\x2f\xc4\x25\x68\x76\xcb\xc7\x6a\x3b\xd5\x47\xd4\x16\x93\xa8\x8c\x10\xf6\x47\xd2\x59\xb4\x45\x8e\x1a\x25\x6b\x24\x16\x96\x89\x29\x01\x7d\xdc\x07\xfb\x40\xd7\x45\xdc\x2f\x3d\x63\x3e\x02\x3b\xa5\x71\x78\xfd\x45\xc1\x9f\x11\x73\xa4\x4e\xc1\xce\x5a\xa9\x6f\x54\x82\x90\x31\xc2\xcd\xdb\x6c\xf1\x36\x1f\xdf\xa8\x9f\xad\x64\x94\xc4\x09\x9d\xf3\xf1\xdd\x36\x61\xcc\x6e\x7a\x37\x2e\x0d\xb9\x74\xe1\x9d\x9a\xee\xc2\xf1\x38\xe1\x7e\x91\xa9\xd0\x8c\xec\x9b\x6b\x7d\xf8\xc1\xc2\x37\xe9\x1f\x78\x7b\xfd\x10\x2c\x3e\xf4\xec\x8f\x5f\x79\xa0\x75\x7e\x05\x5a\x35\x90\x49\xcc\xde\x0b\x47\x69\x2a\xcd\x52\xdf\x4b\x5f\xea\x53\xc4\x70\x13\x7b\x96\x8c\x74\xeb\xb7\xdb\xc5\x28\x64\x9a\x84\xf7\xec\xa2\x51\x21\x6f\x30\x92\x3b\xbf\xfd\x6e\xe8\x68\xee\xbe\x3f\xc1\x1e\xed\x3e\xdf\x64\x20\x1f\xff\x56\x7b\x18\x59\xd6\x41\x52\x4b\xcb\x21\x75\x58\x14\xca\x31\x33\x4d\xb9\x56\x17\xf9\xaf\x7c\x8b\x1c\x7b\x57\x32\xe5\x71\x94\x3b\x28\xaf\x64\xf1\x71\x34\x8a\xc3\xc1\x88\xc7\x80\xca\x99\x9a\x59\x2d\x1f\xa9\xe5\x89\x35\x14\xc3\xe9\x05\x47\xb9\x77\xbc\xb5\xbe\x2f\x8e\x8c\x3b\x15\xf6\x1d\x67\x1f\x60\xf7\xf7\x6a\xf3\x27\x70\xde\x43\xe5\xeb\x81\x78\x3a\x76\x7f\x3f\x02\xf7\x89\x97\xd7\x75\x7c\x45\xc3\xe5\x8d\x5e\xe0\x39\xb0\xa5\x97\x26\xe7\x9e\xfe\x3f\xbc\xf0\x35\xb9\xf4\xb4\xf8\xe8\xd2\xdb\x89\xbb\xc9\xf0\x07\xf3\x9c\xed\xea\x77\x9c\xed\x51\x68\xf3\xce\x7c\x16\x50\xf6\x29\x72\xa1\xab\xb5\xb7\x84\x35\x48\xb2\xfe\xf5\xb7\xce\xeb\x21\xe0\x8e\x8e\xc5\xf1\xca\x0c\x97\x6c\x99\xcb\x0f\x80\xb9\x32\x68\xb2\xc5\x87\x3f\x78\xe9\xf0\x83\x8f\xd8\xef\xbc\xeb\xe0\xc3\x95\xbf\xe8\xda\x5f\xf4\x47\x46\x91\x16\xc3\x72\x26\x9f\x4f\xd5\xa8\x84\xee\x40\x79\xd5\x04\xe7\x2c\x09\xa0\x0c\x90\xf5\xe4\x99\x12\x1d\xf0\xb4\x98\x67\x8b\x07\x59\x05\xdf\xa8\x61\xa9\x9b\x18\x06\x2a\x7c\x23\x24\xb5\x9d\x2b\xde\x80\xd8\xeb\x75\xf5\x18\xe6\xb2\x67\x35\x65\x1e\xab\xfe\x86\xdb\xf9\xe8\xdf\x31\x14\xd9\x9f\x78\x95\x14\xee\x88\x00\x09\x59\x55\xe5\xa7\x65\xf0\xee\xda\x1c\x42\x04\x85\x66\xa8\xf9\x24\x62\xa5\xab\xa1\x15\x14\x98\x1b\x85\x49\x30\x9d\x46\xc3\xa4\x41\x50\x0d\x8b\x00\xa8\xb8\x57\x47\x50\xe8\x83\x63\x10\x81\x53\x25\x4c\x13\xed\x07\xd6\x39\x4b\x1b\x18\x11\x4c\xef\x2b\x38\xf1\xd7\xef\x56\xea\xbb\xa3\x54\xf1\xe6\x5d\x61\x8b\xaf\x4e\xc3\x0d\xe6\x15\x92\x17\xe7\x10\xe3\x7c\xea\xca\x72\xc4\x41\xc0\x35\x30\x5a\x53\xbc\x18\xcd\x02\x73\x91\x9a\x53\x1a\x6a\x79\x0b\xfc\x43\xd4\x51\xd7\xe6\x38\x82\x0e\x7c\xed\x13\x63\x9e\x2d\xaa\x37\xa9\x5d\x71\x28\xee\x71\x4d\xd8\x4f\x5a\x53\x6c\x99\xba\xa1\xab\x0b\x85\x26\xdc\x3e\xcd\x1b\xb2\x85\x81\x18\x9e\x65\xd5\x8b\x8b\xf2\x25\x46\x0b\x88\xc9\x55\x00\x45\x88\x00\x56\x78\x04\x8f\xc7\xdc\xb4\x6d\x4d\x4f\xd9\x74\xea\x61\x05\x7c\x80\x69\xaa\x8f\xa1\x4e\xf1\xcd\x4a\xdd\x3b\xac\xae\x2c\x9f\x0e\x25\x4a\x8d\xcd\xb1\x07\x1b\xf7\x4a\x65\xcd\xbb\xe9\x1a\x62\xeb\x98\xb5\xd7\x75\x2d\xc9\x6a\xe3\x75\xfd\xb3\x50\x46\x4f\x54\xa4\x67\xc0\x16\xe6\x89\x44\x31\x4f\xc4\x3b\x0a\xf4\x23\x72\x9c\x62\x3d\x42\xa0\xfc\xae\xaf\x6b\x16\x4a\x5d\x30\x39\x3e\xd3\x01\x89\xdc\x3b\x0b\x2c\x2b\x88\xa9\x94\x18\xf1\x46\xd7\x4e\x12\x29\x34\x6c\xbc\xbd\x7c\x35\x8e\xe2\x63\xcf\x36\x06\xa7\x38\x5b\x9c\xe5\x13\x10\xbd\x03\xdf\x83\x31\xf8\xcd\x3f\xf8\x9b\x20\xca\xc6\xe0\x37\x7f\xff\xbf\x02\xd1\xc9\x18\xfc\xe6\xef\xfe\x31\x88\x26\xf4\xdf\xbf\x05\xa2\x29\xfd\xf7\x6f\x83\x08\xd2\x7f\xff\x33\x10\xcd\xc6\xe0\xd7\xff\x02\x44\xa7\x63\xf0\xeb\x7f\x09\xa2\x33\xfa\xf5\x4f\x41\x94\xd3\x7f\xff\x73\x10\xfd\x72\x0c\x7e\xf3\xf7\xfe\x21\x88\xde\xd2\x7f\xff\x2e\x88\x0a\xfa\xef\xdf\x02\xd1\x9c\xfe\xfb\xf7\x40\x54\xd2\x7f\xff\x1c\x44\x68\x0c\x7e\xf3\x77\xfe\x4f\x10\x2d\xe8\xbf\xff\x06\x44\xbf\xa2\xdf\xff\x1a\x88\x30\xfd\xfd\xe7\x20\xaa\xe8\xbf\xff\x16\x44\x84\x7e\xff\x13\x10\x2d\xe9\xbf\x7f\x0a\xa2\x73\xfa\xef\xbf\x06\xd1\x05\xfd\xf7\x9f\x83\xe8\x92\xfe\xfb\x9f\x80\xe8\x6a\x0c\x7e\xf3\xc7\x7f\x0a\xa2\x1f\xe8\xbf\xff\x04\x44\xe0\x1d\x18\x83\xff\xf7\xaf\x81\x08\xac\xe8\x00\xff\xf8\x1f\x83\x08\x5c\x83\x31\xf8\xf5\xff\x08\x22\xf0\x47\xf4\x8f\xff\x0d\x5c\x3b\x4e\x65\x8d\x82\xc3\x5d\x1f\x01\x4f\x70\x4e\xf2\xea\x8c\x12\xf0\xf7\x39\xd4\xf5\xc0\x1e\xf8\x80\x2d\x2b\xc0\x5d\xcd\xd7\x4d\xe8\x1d\xef\x84\x4e\x97\x64\xa2\x62\x13\x81\x3f\xa4\x7f\xfc\x5f\x20\x02\x47\x60\x0c\xfe\x9f\x7f\x05\x22\xf0\xfa\x35\xfd\xf4\x6f\x41\x04\x8e\xc1\x18\xac\x04\x8d\x7e\xfd\x4f\x05\x8d\x66\x92\x42\x7f\x2e\x29\xf4\xaf\x37\x18\xd4\xde\x9a\xad\x7e\x74\xd7\x8b\xf3\x2c\x2f\x4b\x41\x43\x8a\xe3\x8f\x7f\x5d\xe2\xf8\xe3\xdf\x17\x38\xfe\xf8\x37\x40\x04\xbe\xa3\x7f\xfc\x09\x88\xd8\x4a\xfd\xf1\x9f\x09\xb4\x7f\xfc\x53\x81\xf6\x8f\xff\xab\xc0\xfb\xc7\x7f\x22\xf0\xfe\xf1\xcf\x37\xc0\x7b\xdf\x8b\x15\x86\xa5\x83\x94\x3f\xfe\x63\x41\x4a\xba\xf6\x05\x9a\x7f\x26\xd0\xfc\xf5\x9f\x49\xa4\xfe\x99\x44\xea\xff\x90\x48\xfd\x53\x49\xcc\x7f\xba\x01\x52\x7f\xa5\x1d\xa9\xce\x24\x2b\xb3\x69\x9e\x95\x14\x3b\x0d\xa9\x1f\xff\x07\x0b\xa9\x1f\xff\x67\x49\xbb\xff\x45\xd2\xee\x5f\xaf\x47\xf3\xc7\x7f\xb3\x01\x9a\x9f\x7b\xd9\x0a\xc4\xf3\x06\x3b\x46\x16\xdf\xcc\xfe\x89\x7f\x1e\xe5\xfa\xfb\xf1\x1f\x6d\x80\xcb\x37\x3e\x5c\xd8\x63\x05\x47\x46\xdf\x13\x7f\xe6\x9f\x48\x46\x98\xef\x25\x61\xde\x49\x0a\x33\xf4\xfe\x95\x45\xaa\x7f\xbe\x01\x7a\x8f\xd6\x6d\x8f\x8f\xbd\xdb\xa3\x44\xf8\x02\x9e\xe6\x59\x79\x6b\x9a\xc9\x7d\xf2\x87\x92\x9a\x8c\xac\x7f\xb3\x1e\xc0\x3f\xf4\x6f\x98\x3f\x95\x23\xf9\x9f\xe4\x48\xfe\xf7\xf7\xda\x30\xdf\xfa\xf0\xac\x16\x35\x7a\x1e\x42\xff\xf7\x35\x9e\xff\xa5\xdc\x31\xff\xb7\xe4\x3e\xff\x42\x62\xf5\x2f\x25\x56\x7f\xb6\x1e\x99\xa3\x4f\x8e\xd7\xd0\x75\xf8\x0b\x2f\xba\x17\x70\xaa\x52\xf3\x8f\x5b\x16\xe9\x6f\x8d\xfd\x70\x5b\x7c\x2f\x86\x79\x55\x49\x72\xb2\x95\xa8\xef\xf5\x7f\xd6\xbe\xd7\xdf\x88\x35\xaa\x6f\xf9\x96\x6d\xc6\xb6\x3c\x7b\xa9\x60\xef\x22\x54\x52\x09\x78\x4e\x85\x5b\xd9\x72\x9a\xa3\x5b\x27\xb0\x28\x40\x04\xf8\x0f\x74\x7a\x9a\x9c\x64\x15\xfc\xf8\x0e\x88\xc0\xe1\xd6\xb4\x7c\x75\xb1\xbb\xb7\x5b\xff\xf7\xf0\xec\x57\x5f\xdd\xfd\x9c\xfd\xf9\xfc\xf1\xf9\xa3\x5f\x7e\xf3\xe0\x17\xa7\x8f\xb7\x4e\x6e\x7f\x96\x67\x5f\x3f\xe7\x55\xbe\xd9\xfb\xa4\xae\xfe\x8b\xc9\x03\xfe\xc7\xde\x9d\xdd\x57\x9f\x96\xdf\x8e\x9e\xef\xaa\xff\xdd\xc9\x8a\xe5\xc1\xe9\x23\xf6\x37\xac\x9e\xde\x7e\xb4\x77\xfb\x96\xf5\xdf\xbd\xb7\x0f\xa7\xf3\x4f\xaf\xbe\x99\x17\x3f\xfc\xe2\xaf\xec\xee\xee\x3e\x3e\x5b\x4c\x9e\x9c\x2e\x0f\x6f\x7f\x56\x3e\x7d\x72\xb9\xf8\xa6\xf8\xf6\x7c\x32\xff\x6c\x31\xb9\x7a\xf0\xd9\xd3\x87\x4f\x2f\x9e\x3f\x7c\x7b\xf1\xc5\x0f\xbb\x77\x79\x0f\x8f\x1e\xcb\xb6\x9f\xbf\xfa\xec\xe1\x97\xa7\x8f\xf8\x60\x1e\x3e\x7e\xfe\xf4\xf9\x57\xbb\xf1\x67\x0f\xbe\xdc\xdd\xdd\xfd\x2b\xbb\xbb\x0f\x4e\x3f\xdb\x7b\xfb\xe2\xed\xd6\xb7\x9f\x7d\x9e\x7d\xf5\x0a\x1d\x9c\xdd\x9d\x7f\xb6\xff\xf4\xe0\x60\x5e\x14\xcf\x5f\x5d\xe4\xdf\xe6\xaf\xf2\xc9\xab\x6f\xbe\xb9\x73\x71\x79\x79\x76\xf6\xcb\x5f\x3e\xfc\xc5\x93\x27\x4f\x5e\x3c\x7f\xfa\x70\xff\xed\xe3\xff\x8f\xb6\xff\xec\x75\x1e\x39\x12\xc5\xf1\xaf\x62\xcf\x8b\x1f\x66\xa0\xb1\x99\x45\x71\x8d\xb9\x17\xcd\x1c\x45\x31\x87\xc5\xe2\x82\x49\xcc\x99\x14\xc3\xae\xbf\xfb\x1f\x3a\xe7\x99\xe0\x67\xe6\xb1\xd7\x2f\xfe\x07\x20\x8e\xd4\xac\xae\xd4\x55\xd5\xd5\x22\x51\xf5\x9e\x0d\x18\xa0\x80\x56\xef\x2f\xa1\x1c\xcd\x38\x11\xee\x79\x57\x75\x4a\xae\x7b\x8d\xae\x2b\x49\x4e\xe3\x83\x89\xb3\xb5\xbc\xbd\x9c\x36\x40\xaf\xed\xa2\x84\x53\x3c\xe3\x83\x6c\xe4\x77\xcf\x70\x00\x00\x12\x30\xb8\xbc\x28\x4c\xd3\xb2\x18\x81\xe7\x05\x45\x92\x82\x20\x08\xfa\xbc\x28\xf6\xfd\x38\x18\xa1\xeb\x44\x49\x51\xc6\x32\xcf\xf3\xfe\x38\x18\x86\xb5\x59\x75\x18\xe4\xbb\xae\xaf\x6d\xdf\xe3\xf8\xf5\x5a\x96\x30\xcc\x49\xaa\x1a\xdb\x96\x55\x6f\x3b\xe2\x86\xd5\x34\xc1\x82\xef\xef\xe7\x59\x75\x5d\x27\x3e\x74\x3d\xcb\x92\xe4\x86\xcb\x46\x7d\xf7\x80\x01\xf2\xb7\x82\x8c\x3c\x08\x43\x9a\x66\x98\x37\x5d\x5e\x91\x94\x28\x0a\x92\x37\x0d\x89\x35\x6a\xde\x01\x6f\x85\xe5\x1f\xba\xa4\xc5\xda\x34\xe5\xd9\xb4\xd5\xd9\x3c\xef\xb0\x65\x3e\x6e\xe5\x6e\x72\xa7\x6f\x6a\xb0\x6b\xbb\x1c\xe2\xbe\xff\x52\x17\xf1\xd3\xd6\xf7\xd3\xee\x7d\x21\x61\x2b\xb9\xf1\x2a\x22\xe1\x2a\xb9\x31\x2a\xb9\x29\x85\xbb\x85\x20\x85\xbf\x5c\x17\x11\x7b\x52\xd8\xfb\x82\xf3\xbb\x60\xb8\x80\x01\x34\x50\x40\xa5\x87\x71\xa5\x44\x52\x29\x8c\x6a\xa9\x47\x12\x5b\x48\xd1\x0c\x72\xba\x7e\xf3\x0c\x18\x20\xd7\xa5\x34\xd4\xe3\x5d\x1e\xda\x70\x9c\xda\x36\x5e\xda\x72\x5a\x5a\x4c\x9d\xcb\x53\x9d\xf3\x83\x2b\xc6\xed\xbd\xd4\xf4\xc7\xf2\xbe\xff\x14\x7a\x68\xc7\xf0\x8f\xaf\x36\x0c\x9b\xd6\xfd\xb7\x2e\x43\xa8\x24\x25\xa7\x01\xc8\x69\xb0\x63\x5c\xb2\x63\x5c\x6d\xba\x52\xbd\x63\xd2\x4c\x6f\x9f\xeb\x7a\xbc\x2d\x1f\xd0\xc0\x29\x4f\x3e\xa9\x4c\x31\x39\x6d\x31\x39\x4f\x31\x39\x77\x31\xe5\x6c\xb9\xe1\xce\x3b\xc5\x6d\x0f\x06\x20\x21\xfd\x66\x33\x07\xd2\x27\xb3\x34\xd0\xcc\x93\x4f\xcc\x53\x7e\xeb\xd9\x29\x31\x3b\xa9\x5c\x3f\x39\x31\x3f\x81\x31\xff\xad\x63\xf7\xdf\xf9\x0b\xc4\xcf\xb5\x7c\xeb\x82\x11\xd2\x70\x08\xc7\x1c\xe4\x67\x2d\x70\x9f\x3a\xff\xa4\x1a\xf4\x46\xc1\xb2\xe0\x67\x9b\x34\x00\x90\xca\x82\x60\x98\x08\x96\xa7\xf3\xb4\x6b\xbd\x5d\xbd\x7c\x34\xad\x18\xbe\x09\xb2\x2b\xcf\xdd\x1a\xb5\x41\x8b\x7d\xda\x55\xac\xe1\x21\x4e\xec\xe7\x59\x76\x4a\x9b\x78\x79\x9b\x32\x51\x72\x23\x64\x56\x1e\x9b\x5e\xee\x8c\xb6\x7b\xe8\x99\xa9\xc4\xf4\x15\x1d\xe0\x61\x38\xcf\xa2\xeb\x3a\x40\x0a\x82\x27\x24\xc9\x8d\x18\xe0\xa1\x17\xc7\xb4\xf9\xc0\xe7\xa5\x4c\x44\x8c\x25\xc1\xcb\xcb\x79\xf6\xad\xd3\x1e\x19\xb2\xba\x56\x9c\xdc\x70\x82\x20\x7e\xb5\xe7\xd1\xbd\x26\xe7\xcc\x11\x78\xb8\x9f\x67\xdf\x45\x2d\xba\x12\x8c\x8b\x26\xc9\x8d\x24\x42\xf9\x5c\x4f\xa3\x2b\x7e\x63\xf7\x9f\x73\xf3\x86\x31\x90\x80\x06\x1f\x61\xc7\x2c\x50\xba\x12\xba\x40\xca\x9f\x01\x2e\x04\x85\x51\x0c\xa5\x60\x8b\x9d\xf5\x60\x07\x3d\xd7\x92\x7c\x18\xe8\xeb\xbd\xaa\x43\x65\x0c\xee\x86\x53\xd4\xdd\xe0\x5b\xcc\x97\xb8\x91\x03\xc0\x70\x1c\x2f\x4b\x52\xe0\x38\x4e\xfd\x8b\xff\x0a\xc2\xdb\x7f\xa3\x2c\x49\xf2\x7e\x1c\x15\xcb\x2a\xcb\x49\x51\xd4\x87\xa6\xcd\xf3\x3c\xdf\xb6\xe3\xb8\x9e\xec\x59\x4d\xd3\xac\x69\x86\xb1\x6d\xfb\x72\x97\x15\x95\xf5\x5d\xb7\xd5\xef\x4b\x16\x65\xc9\x15\x27\x2c\x61\x6d\x96\x34\x8c\x94\xab\xe7\x38\x75\x3f\x0c\x16\x80\x43\xfa\x4b\xac\x60\xe8\xba\xe6\x38\x41\xf8\x99\xee\x50\x1c\x47\xd9\x76\xbd\x24\x29\x5f\xdb\xd2\x8d\xb1\x1f\x9c\x89\x99\x5f\x5d\x8f\x9b\xb9\x9b\x5c\xe9\x9a\x5c\xe9\x9b\x5a\x89\xd8\xda\x89\xb8\x2e\xef\xfa\x69\x8b\x84\x0d\xe6\xc7\x0b\xee\xa6\xa8\xe8\x3f\x11\x0c\x7b\x22\x38\xf2\xe4\xf1\xb0\xf1\xc2\xdf\x5f\xcc\x97\xb8\xfa\x41\x8c\x93\x24\x29\x30\x3e\x79\x0a\xcd\xb2\x62\x45\xb1\x93\xee\xba\x91\xb7\xf4\x2f\x3a\xfb\x62\xe1\x26\xc6\x39\x3b\xc1\x25\x47\xc8\xd5\x16\x29\xd5\x76\x2a\xcd\xe7\x53\x82\x6d\x48\x83\x61\xf3\xce\x3b\xb6\x79\x77\x76\x37\x85\x4d\x17\x81\xf7\xb0\x71\xce\x30\x85\x4f\xb7\x81\x11\xb7\x41\xfc\xb0\x41\xe3\xb0\xf1\xc8\x94\xf2\xe2\x90\xc2\xa0\xf4\x1f\x2f\x2a\x45\xbe\xc4\xe6\x1c\x18\x4c\x2e\x9d\xad\x25\x95\xad\x25\x55\xad\x8e\xc3\xa5\x45\x4b\x96\x30\x01\x09\x84\x1f\x9e\xc6\xe4\x8a\x44\x96\xba\x84\x57\x56\x28\xd5\x5e\x28\xb5\x59\x18\x76\x65\x38\x0e\x6d\x48\x0e\x63\x24\x29\x9f\xb1\xe7\xc3\x25\xb8\x2f\xfb\x59\x1e\x49\x63\xd7\x4a\x63\x57\x4a\x53\x57\x4a\x78\x5f\x86\xe1\x50\x86\xe3\xb8\x46\xf2\x7c\x8c\xe4\xb4\xfe\x3b\x57\x4d\xf7\x07\xd3\x03\xe3\x63\x1f\x48\x0f\xf9\xe3\x72\x2d\x99\x73\x0f\x19\x24\x12\xeb\xd6\x3c\xd0\xf2\x0f\xf5\x6d\x2c\x97\x18\x88\x54\xef\xa4\x34\xdb\x4f\xed\x8b\xbe\x34\x0a\xb6\x35\xca\xf5\x4d\x9e\xdf\x7e\xdd\x53\x7e\xde\xb8\x37\x19\x68\x16\xc9\x25\x67\xca\xd5\x8e\x2b\x2d\x88\x2b\x21\x88\x2b\x2d\xae\x6b\x50\xff\x4e\x18\x41\x6c\xf3\x0e\x9f\x16\x0d\xcb\xcc\x7b\x2d\xdf\xea\xab\x0c\x23\x08\x0b\x9a\x51\x92\x81\x66\xe2\x0a\x09\x18\x56\x6c\x65\xe0\x15\xba\x11\x15\x3b\x5d\x72\xc3\x0e\x4e\x96\xad\xef\x52\x67\x19\x86\x95\x50\xab\x2c\x11\xdb\x76\x9e\x38\x2f\xf5\xbc\x63\x6a\x39\x0e\x37\x77\x1c\xcf\xd9\x44\x69\x7d\xae\x6b\x74\x50\xbc\xfd\x93\x03\x3c\xf7\x16\x61\x3f\x58\x91\x13\x44\x55\xb7\x92\x36\x37\x35\x7c\x67\x42\xd4\x39\xd8\xba\x1b\xc2\x87\x65\x59\xf5\xd2\x14\xf9\xa9\x58\x5e\xcb\xb5\x8f\xaa\x53\x1e\x96\x95\xb4\x75\x43\x17\x6a\x39\xa0\x35\xd7\xea\xf2\x64\x7c\x38\xaa\xf8\xb6\x3b\xe6\x2a\x1a\x35\xed\xd0\xc6\xdb\x41\x04\x49\x73\xf2\x7e\x28\x42\xd3\x3a\xcb\xae\xad\x79\x55\xd1\x32\x27\x71\xea\x9e\x18\x88\xdd\x3e\xab\x5a\x12\x03\x5b\xd1\x8c\x28\xcd\x77\x30\x0c\xe6\x6e\x9f\x65\x27\x8a\x92\xad\x19\x99\x97\xe4\x14\x4d\xbf\x13\x21\x49\x7b\x9b\x10\x0b\x8c\x32\x87\x43\xce\x01\x1c\x93\x00\x5c\x04\xf5\x49\x68\xb0\xb5\x1b\x8d\xb5\xdf\xf9\x73\x37\x1b\x64\xbf\xdf\x11\xc2\x81\x4f\xdb\x40\x1c\xd7\x74\x8f\xfd\xee\x22\xae\xe9\xa2\x7b\x78\x77\xe3\xa0\xb1\xcd\xfb\xdd\x7e\x9a\x8e\x6b\xde\x79\xd7\x74\x5d\x98\x78\x8f\xbb\xcb\x79\x9a\x0d\xea\x9a\x2e\x66\x86\x2e\x12\x87\x0d\xba\x87\x17\x97\x08\x11\xec\xbc\xdf\xbd\xf7\x58\xfa\x01\x87\x20\x44\x48\xf9\x54\xb8\xf8\x61\xfe\x0b\x0d\xdb\x34\x3f\x69\x9c\xa1\x8b\x90\x01\xe2\xf8\xa6\xeb\xb8\x6e\xe3\xb9\xa6\xeb\xf9\x61\xe3\x3d\x53\xd7\xa5\x42\xca\xda\xdf\x70\xf7\x3b\x6a\xba\xae\x1b\x87\x2e\xfa\x74\x17\x37\x0c\x29\xdc\x37\x5d\xdf\x4d\x1b\xf4\x99\xba\x9e\x19\x5e\x3c\x2a\xe3\xf1\x67\x48\xe1\x66\xf1\x41\x17\xa1\x5c\xe4\x0d\x17\xa4\x61\x13\xc4\x29\x82\x1d\xc5\xd0\xb6\xcd\xd8\x8f\xe5\xd8\x96\xe5\x38\x8e\xed\xb8\xb4\xe8\x38\x8d\x48\xdc\xaf\xe5\xd8\x8f\x93\x32\xb7\xd9\x38\x8d\xa7\x32\x8f\x97\x69\x6a\xcf\xe9\x0d\x37\x8d\xe5\x38\x97\xc7\x38\x96\xc7\x34\x8f\x27\x39\x96\xe7\xb4\x8c\xe5\xb8\x8e\x98\x32\x4f\x4c\x3c\x8d\xaf\x69\x59\x6f\xea\x76\x9c\xd3\xda\x31\xe3\x34\x5e\xa7\x79\xfd\x84\x5b\x47\x6c\xda\x3b\x71\x5a\x2b\xfa\x36\x94\x9d\x3a\x8c\xaf\x71\x1d\xdb\xeb\xda\x92\xd3\xda\x89\xda\xd2\xc2\x49\x7f\x9d\xc6\x57\x39\xa9\xdb\xc4\x2a\xf3\x0a\x4d\x6b\x79\x81\x53\x8b\x37\x5d\xdf\x4f\x1b\x1e\xab\x5c\xd4\x0d\x29\x14\x79\xa6\x04\x11\x53\xb8\x77\xc4\xf6\x0a\x4d\xcf\x97\x92\x64\xeb\x15\x7e\xe5\xc4\x89\xde\x92\x35\x0e\x17\x51\xbd\xaf\x02\x79\x59\x2e\xb7\xf8\x54\x4e\xaa\xd0\xa5\x6b\x13\x12\x23\x1a\x47\xe3\x38\x85\xeb\x38\x5e\xd6\x23\x2e\x5f\xec\xa4\x2f\x8c\xe3\xba\x94\x1f\xba\x0d\x76\xa6\xa9\x67\xa6\x2b\x76\x66\xba\x47\x65\xf7\x7e\x9c\xc6\xb5\x9c\xd4\xd7\x9b\x97\x4a\x4c\xf6\xf6\x96\xac\x27\x48\xfc\x74\x46\xab\xe6\xe5\x77\xb1\xb2\x30\x18\x52\x1d\x8f\x44\x3e\xd1\x57\xbc\x77\x22\xa9\xaf\x0f\x34\x8d\xf4\x17\x0b\x3a\xb1\xda\xde\xf6\xcc\x7d\xd8\x33\x77\x1b\x40\x6f\x71\x13\xe8\x01\x0e\x0c\x20\x48\x59\xe2\x38\x3b\x18\x77\x8b\x86\x39\x5e\x1d\x25\xc5\x74\x34\x23\x28\x12\x98\x50\x76\xf3\x70\x1c\x6e\x18\xa5\xd0\x76\x94\x39\xc8\x5d\x89\x90\x0f\xf9\xb0\xb9\x7a\xe8\x95\xd0\xb6\x9c\x3c\x2b\x06\x97\x56\xa2\xab\xe0\x20\x8d\x3c\xcd\x51\xec\x04\x2b\x9c\x0f\x74\xa8\x44\x16\xea\xc0\xcd\x30\x8e\x49\xec\x78\xfd\x66\x06\x3b\x38\x88\xab\x59\x9f\x75\x2d\x0f\xb1\xe1\x59\x6d\xbd\xbc\x69\x10\x57\xa6\x66\x6b\x59\x19\x22\xc3\xb1\xe0\x7e\x71\xe7\x5d\x3e\x22\xa6\x82\x6b\x5e\x1a\x23\xc3\x72\xe0\x76\x58\x3e\x68\x78\x35\x5f\x2f\x8a\x16\x07\x8e\x87\xe2\x3b\x52\xec\x6f\x1a\x35\xd7\x2c\xb2\x92\x04\x8e\x83\xc2\xcb\x3e\xf4\xd5\x5e\xd2\xf5\x59\x77\x72\x27\x6b\xd6\x9b\x46\x73\x97\x23\x22\x2c\x9d\x37\x8d\x36\xd0\x2d\xab\x1e\x97\x26\x94\xad\x53\x3e\xec\x0f\x1a\x81\xae\x5b\x75\x3d\x2c\x83\xac\xd8\x8a\xe0\x20\xf5\xa0\xcc\x81\x6b\x79\xed\xb6\x23\xc3\x6e\xc5\xac\xf7\x96\x43\x56\x92\xc8\xb2\xda\x6d\xd9\x9b\x21\xb6\x55\x17\xe1\xf8\x5e\xfd\x94\xa3\x5d\x16\x37\x9c\xa2\x11\x13\x1c\x6e\x98\xe4\xc8\x09\x2c\x78\xdc\x17\x33\x9c\xe2\x4a\x6c\x85\x7a\x18\xa6\xc8\xb0\x3c\xb8\x1d\x76\x33\x8c\xab\x12\x13\xda\xe6\x3e\xdd\xa3\xd8\x8b\x5a\x7c\x27\x8a\x21\x8e\x6d\xcc\x6b\xbb\xbb\x32\xa5\xb1\xe3\xf4\x6f\x39\x86\x2a\x8e\x31\xb7\xed\x5e\x2f\x49\xf9\xd4\x55\x73\x97\xcb\xa8\xc4\x04\xa4\x55\x96\x3e\xb4\x3d\xab\x1c\xf7\x26\x94\xa3\x98\x15\x5b\xb4\x19\x35\x3d\xb4\xad\xa0\x6e\x87\x3d\x94\xad\x8a\x79\xd3\x58\xe6\x35\x8a\xbc\xa8\xdd\x76\x62\x18\xac\x92\xf4\x5b\xb4\xbb\xcf\xf7\x67\xec\x78\xe3\xf6\xa6\x61\x5b\xa4\xef\x79\x9d\xfe\x58\x9f\xae\x07\x00\x0b\x72\xa0\x01\x43\x02\x72\x18\xb1\x46\x2d\x3b\xe0\x23\xe6\x71\x82\xe4\xcc\x84\x1c\x99\xf4\x71\xb2\xf5\xc8\x38\xaa\xa6\x5b\xd9\x90\xd4\x3b\xa3\x58\x8d\x7b\x72\x9c\x24\xc7\xfe\x5b\x89\xc3\x9e\x06\x04\xc3\x78\x0d\x5f\xcf\xa3\x9a\xb8\x5e\x74\xd4\xc3\x5b\x0f\xaa\x01\x40\xff\x25\xe6\xd1\x35\x2a\xef\x06\xa7\xb0\x6e\x2d\x03\xce\x78\x8f\x09\xd2\xdb\xe0\x40\x10\x0e\x66\xc9\xc2\x74\x59\xf3\x82\x66\x48\xa3\x13\xbc\xed\x63\x30\xcd\xea\xbd\x9e\x82\xa8\xe9\x46\xd9\x87\xc1\x8d\xa0\x15\xa6\xe5\x1c\xae\x1f\x95\xc0\x31\xac\xba\x6e\x06\xe3\x9d\x20\xf4\xc9\x7b\x93\x8d\xef\x8c\xe3\xd1\x47\x0e\xcb\xc0\x05\x0e\x70\xde\xe7\xb4\x37\x05\x2d\x08\xf2\x94\x37\x0e\xa5\x10\x38\x9b\xeb\xbb\x31\xe0\x0c\x2f\x5f\x97\x34\x0d\xad\xe8\xea\xf3\x27\x3f\x8c\x53\x6c\x07\x06\x28\x97\x22\x0d\x0e\xeb\xf0\x05\x84\x1f\xda\x29\xb1\x02\xaf\x9c\x01\xd0\x4f\x00\x0c\x76\xde\x38\xa9\xbf\x0b\x46\x03\x64\x20\x02\x0e\x04\xfd\x6e\x56\x67\xd5\x74\x9c\xa0\x6a\x7a\x96\x27\x77\x90\xef\x44\x71\x70\x6c\x39\x09\x9d\xa4\xe9\x46\x9e\xbb\x6f\x9e\x19\x46\xe0\x4e\xb6\x7e\xe7\x3a\x86\xb1\x06\x49\xf1\x3e\x3f\x29\x02\xcb\x71\x92\x34\x84\xb6\x65\x18\x79\x51\xf0\xb2\x72\xb5\x18\x8e\xe3\xa4\x61\xf0\x0d\xc3\xc8\xcb\xa2\xe1\xa5\xf7\x96\x31\x7e\x08\xa7\xd2\x66\x28\xea\x4c\x1d\xd1\xef\xfd\x8e\x01\x62\xfd\xb1\xdf\x59\x55\x2d\xf6\xa1\x29\x28\x49\x90\x37\xb2\x6c\xbd\x79\xe2\xb8\x41\x1e\x7d\x49\x33\xca\x7a\xd8\xdd\x80\xa0\xaf\x82\xd3\xf0\xd3\x2c\xc9\xf6\xdb\xb6\x91\xb4\xa0\x95\xc8\xc2\x04\xaf\xbe\x2b\x53\xe2\x06\xd1\x15\x2f\x86\x34\x2c\x27\xd6\xf7\x11\x7e\xd4\x96\x2c\x8a\x22\xb8\x7f\xdb\xfb\x74\xc6\x35\x00\xf7\x8d\xa7\x37\x66\x03\xfb\xc2\xdf\xcb\x24\x60\xac\x1e\x0e\x19\x07\xd4\x20\x01\x39\xc3\xd4\xbc\xa0\xbf\x75\xec\x04\x7d\xbf\x13\xc4\xce\x32\x4c\xc7\xb7\xe2\x43\x57\xa2\x20\xf8\xcc\xa3\xdf\xb9\xdd\x3b\x07\xd7\x35\xed\x4b\x6e\xbd\x0f\xc5\x47\x5e\x2e\xfe\x9c\x6f\xe3\xff\x98\xab\xff\x63\x0e\x5e\x03\xc0\x0c\xdb\x7b\xfb\x9c\x79\xbe\x4e\x70\xc5\xec\xb9\x77\x1e\x29\x81\xf1\x9d\xbb\xd2\xbc\x17\xf4\xef\xb3\x76\x1e\x33\x5f\xce\xda\x9a\x13\x58\x9f\x63\x45\x15\xff\x3c\x96\x44\xc1\xcf\x63\xd5\x2f\x63\xc1\xef\xce\xe9\xff\xab\x31\x7e\x99\xa6\xd8\xf7\xbc\x76\x5d\xde\x79\x77\x74\x45\x11\xa4\x19\xa6\xc9\xa0\xc1\x6b\xeb\x45\xf0\xb8\x89\x02\xf2\xb9\x62\xcc\xb1\x7d\xe8\x8b\x03\x38\x00\x74\xc5\xb6\xa2\xae\xeb\x46\x90\x16\x52\x30\x5c\x15\x8b\x7b\x9b\x46\xef\xdc\x15\xdd\xca\x9b\x82\xa7\x15\xc5\x6a\x4e\xbb\x1e\x94\x21\xb2\x1c\xaf\x1e\xc3\x04\x91\x2d\xa5\xf4\x9a\xa6\x79\xc7\x68\xdb\xf1\xea\xfe\x83\x26\x7d\x78\x0d\xd2\xc8\xe3\x9b\x0f\x3d\x2f\x9b\xe5\x6e\x7e\xf0\x81\x72\xbc\xa4\x44\xbe\xe7\xf5\xf3\xb2\x37\xb4\x62\x8d\x28\x82\x0a\x8a\x76\x0f\x42\xcb\x69\xc7\x65\x4f\x8b\x72\x62\x85\x1a\x6e\xe4\x59\x7d\xcb\x75\x3d\x8a\xe6\x1e\x46\xd1\xf9\x96\x75\x5e\x94\xd8\xf7\x82\xfe\x40\xde\xeb\x6f\x45\x2d\x82\xb4\x8a\x7a\x4f\xc3\x88\xd9\xd8\x3c\xee\x00\xc8\xb9\x72\x4b\x82\xc8\x1d\xd4\x07\x03\x67\x5f\xec\x91\xe1\x68\x00\x4c\xe6\x73\x9d\x35\xc3\xc8\xf3\xc2\x79\xdb\xc3\x95\xf9\xb0\x73\xc9\x31\x15\x2d\x0b\x92\xf4\xf3\xb7\x03\xae\x62\xc5\xae\x97\x3e\xe1\x0a\x19\xec\x44\xb1\xc3\xdc\xe7\x79\xc0\xd0\xd7\xe4\x67\x1f\xe1\x9c\x7a\xea\x44\xd1\xf8\x80\x6b\x78\x9a\xf9\xe2\x23\x52\x1f\x98\x96\x55\xd6\xe9\x1b\x4e\xf9\x80\xeb\x07\xf9\xed\x5f\x79\xdb\x34\xbc\xac\x28\x91\xf7\x05\xce\xb0\xac\xb2\x6d\x9a\x0f\x7c\x5f\xce\x46\xa1\x61\x7d\xe2\xfb\x80\x73\x9c\xb7\xfe\x43\xd3\xf8\x80\xe3\x65\xe5\xcd\xdf\x27\x9c\x69\x59\x79\x5d\x7c\xac\x49\xf4\x39\x57\xfa\x19\xdf\xc7\x5c\xe7\xed\x83\x2c\xbd\x31\x00\x30\x8f\x5e\x56\x1e\x8a\xd4\x6e\x30\x9e\x48\xac\x23\x54\x92\x95\x33\x80\x05\x00\x24\x69\x31\x5e\x8f\xce\x3b\x18\x96\xef\x24\xcb\xb3\x70\xcb\x48\x0a\xba\x54\x0b\xde\x2a\xab\x46\x9c\x3d\x57\x12\x12\x27\x40\x42\x63\x1f\x4c\xd3\x76\xda\x57\xdf\x09\x8a\xe6\x38\x97\x34\x80\xfb\x7d\xbb\x1e\x8e\x5b\xf7\x7d\x1d\xa8\x56\x32\x1e\x48\x3a\x6f\xf4\x3b\xb9\x67\x00\xd8\x38\x86\x3b\x73\x07\xd0\x3c\x5d\x49\x6f\x5e\x0a\x60\x0c\x40\x61\xb6\xed\x0e\x76\x1f\x18\x1c\x41\x4b\x07\x93\x6f\xca\x8e\x9b\x27\xdc\xd6\x2c\xa0\x19\xee\x00\x87\x59\xf2\xb9\xc6\x15\xfa\x98\x47\x72\xa9\xe7\x74\xe0\x0b\xac\x44\xe3\x40\xab\x02\x14\x2e\xb7\x57\xaf\xcd\x80\xf7\xd3\x1d\x91\x24\x23\xa7\x19\x41\xda\x0d\xce\xa9\x25\x86\xe5\x50\x02\xc7\x73\xe4\xb1\x6a\x9c\xac\xd7\x5e\xc3\xe6\x9f\x07\x34\x1c\x00\x20\xe6\x00\xd4\x39\x9c\x4b\xa5\x12\xe9\x01\xae\x57\xdb\xc5\xe0\x64\xce\xac\x0b\xc5\xe6\x88\x2f\xbf\xab\xa8\x80\xce\xc1\x0d\xe4\x8c\xc1\x97\x52\x29\x85\xfd\xb5\xda\x2e\x1a\xfb\x0b\x18\x30\x9a\xdf\xfe\xe6\xc7\x80\x2f\x04\xc0\xe7\x59\x8a\x01\xc5\x23\x44\x53\x1b\x00\x23\xd0\xb7\x2f\x77\x74\x61\x88\xeb\xfe\xe3\xf8\xd2\x26\x24\xce\x9a\xf9\x71\xaf\xb4\x2b\x65\x83\x53\xb7\x6b\x12\x4f\x3b\x75\x8d\xb3\x6d\x8e\xa3\xbc\x0d\xcb\xfb\x80\xa7\xb0\x12\xcf\xdc\x6e\x05\x90\x84\xf9\x8e\xbd\xc9\x79\x9d\x85\x69\x87\x88\x01\x7e\xf6\x15\x86\x41\x23\xc5\xf2\xcb\x0b\x73\x4a\x04\xaa\xda\x9d\x6c\x18\x67\x79\x2c\xc8\x0d\x9a\x83\x27\xa5\xd5\x39\x98\x81\x60\xd2\x29\x96\x6b\xc2\x03\x9f\x9d\xcb\xc8\x3c\x02\xfa\xa0\xdc\x09\x60\xc1\x28\xf7\xb3\x87\x79\x28\x94\x3d\x91\x52\x87\x56\x2c\xc9\x6f\xa1\x00\x11\x64\xe5\x5c\x86\x47\x1b\x0b\x9c\xec\xe4\xf5\xb3\x8b\x24\x8c\x62\xe3\xc7\xb8\xa7\x69\x38\x14\xb1\x66\xb6\x4c\x42\x4c\x4a\x53\x3b\x5a\x7d\xec\xb7\x52\xea\xd7\x9c\x48\xe5\x17\xa2\x07\x22\x15\x11\x54\x72\xc1\x84\xec\x35\x26\x64\x88\xfa\x7c\xca\x56\x2a\x34\x8a\xe7\x62\x3e\x2b\x8f\xf3\x76\x19\x8a\x4a\x21\x3b\xab\xbe\x58\x29\x71\x66\xc2\xd4\xa0\x95\xb8\x14\x61\x77\x71\x20\xac\xbd\x11\x0d\x2b\xa0\x36\x74\xd9\xeb\x30\x09\x3a\xff\xc2\x5d\xa2\xf1\x7c\x41\xbb\x9d\xeb\xbd\xcd\x0b\x97\x9d\xb4\xee\xa3\x81\xdf\x2f\x3d\x00\xb4\xb5\xaf\xae\xbf\x91\xa4\x9c\x12\x71\xdb\xda\xed\x2a\x47\xb5\x4f\x12\x30\x25\x8a\x70\x2d\x04\xca\x0b\x98\x8f\x61\x7b\xea\x16\x78\x1c\xd6\x03\x24\x28\x57\x77\x19\xbb\xd1\xa8\xb8\x01\x20\x37\x06\x1b\x28\x04\x71\xbb\xde\x49\x4a\x90\x99\x6a\xc7\x2f\xc3\x35\x62\x9d\x14\x25\x7d\xeb\x65\x1e\xbe\x2a\xd7\x12\x43\x04\x21\x52\xa9\x2f\xa2\x19\xf4\x22\xb4\x4f\x78\xbe\xb0\x6d\xc7\x23\x69\x39\x2c\x53\xa7\x5d\x1d\x36\x97\x3c\x04\xf1\x8b\x5b\x22\xda\x29\x0c\x59\x6d\x9c\xeb\x20\xdd\x93\xc3\xdb\xb4\xf7\x59\x6c\x0a\xb1\xe7\xdd\x7a\x86\xf1\xa9\x94\xc1\xa4\xe0\x97\xe5\x31\x2e\x9d\xe6\xaa\x7a\xe6\xe9\x02\x5a\xbb\x2f\x27\xb8\x0c\xe8\x43\x86\x8a\x9a\x69\x88\x88\x37\x75\xdc\x56\x85\xe0\x11\x26\x92\x83\xbd\x02\x0d\x29\xfa\xc2\xc2\x2b\x91\x6f\xba\xc3\x83\x50\x9b\x90\xc9\x5a\x98\xad\xc2\xf7\xec\xdb\x1d\x26\xdc\x0b\xc6\x40\xc2\x63\x94\x11\x23\xf5\xca\x59\x78\xec\xdc\x29\x8e\xbe\x64\xd1\x0f\xa9\xec\x3c\xd6\x59\x48\x29\x93\x5f\xd0\x93\xd0\x97\x93\xde\x07\xfb\x0c\x43\xe3\xc2\x04\x5c\x21\xfa\xcf\x51\xc0\x23\x40\x1b\x4d\x49\xa2\x82\x5c\xdc\xf1\x5e\x7e\x5d\x0a\x3f\x01\x03\x90\xdf\xd9\xb7\x77\x13\xd0\x29\x02\x3e\x7e\x77\x12\x40\x77\xee\x42\x92\xcc\x19\x02\xfa\xa2\xce\x62\xe2\x66\x17\x03\x2f\x2e\x06\x8d\x6c\x05\x14\x4e\xb2\xfd\xd8\x2d\x3a\x95\x6e\x6d\x6e\x67\x20\xb5\x67\x43\xef\x79\x87\xeb\x72\x8a\x16\x13\xf7\x51\xec\x96\x69\x06\xb5\xe2\x85\xb2\xaf\xf3\xc1\xe3\xea\xe2\x80\x9b\xca\x41\xee\xb9\xca\xcf\x01\xba\xc9\x66\x28\x5a\xdc\xde\xca\x6c\x7b\xe3\x61\x70\xcd\x39\x7f\xce\x89\x08\x0f\x67\xa0\x4a\xcb\xa4\xd1\xe4\xe5\x59\x90\x8e\xa2\xbe\x02\xcf\x4a\x97\x99\xdd\xf8\x27\xd2\x9e\xc1\x69\x21\xfc\x0d\xbd\x23\x05\xaa\x1f\x0b\x9a\x91\x57\x1a\x31\x52\x0b\xb6\xc0\x6c\x94\xb9\xfa\xd0\xf4\x5c\xb6\x28\xd9\x64\xc8\x82\xf7\xc1\xb5\x76\x66\x95\xbf\x2b\x2c\x91\x00\x22\xb1\xcd\x57\x6e\x8d\x8f\x04\xe3\x1b\x8a\xda\x3d\xcc\xb0\x4b\x48\x13\xcd\x1b\xcb\xb5\x57\xaf\x7b\x45\xae\x01\xec\xcd\x1c\x4d\xa5\x3a\x36\x83\xa2\xa7\xa9\x58\x73\x13\x05\x8a\x3d\x3f\x8c\xcc\x48\xea\x09\xe8\x39\xab\x17\xb1\xcd\x59\xc7\xe4\x1b\x04\xcc\xd4\xf7\xc1\x4f\x17\xaf\xf2\x48\x0f\x85\x30\xa7\xca\x7c\xcc\xa1\x88\x5c\x4a\xa3\xe6\x69\x82\x1e\xb4\xa3\xc3\x95\xdb\x40\x60\x05\x93\x26\xcc\xd6\xe4\x38\xf9\x4c\xe2\xe7\xd9\xb4\x86\x06\xf2\x88\xae\x0b\x32\xb9\x3c\x13\x36\xe7\x2f\xe5\x73\x63\xfd\xe7\x99\xe5\xea\x23\x51\x03\x79\x06\x40\x36\xc0\x64\xfb\x55\x57\x40\xab\x2f\x1c\xd8\x0b\x11\x6b\x6c\x70\xaf\x10\xb6\x10\xd3\xea\xdd\x90\xe7\x75\x98\x9e\xb1\x86\x1a\x98\x77\x77\x0f\xea\x46\x6f\xce\x12\x33\x5b\xc1\x17\xc0\x5b\x1f\xd9\xeb\xaa\x67\x10\x1e\x46\xbc\xe1\x24\xb9\x32\xb9\x33\x9e\x66\xcf\xb3\x40\x6c\xc0\x02\x84\xe5\x0a\x22\xc6\xdc\x86\x8d\x38\x66\x23\xe2\x4b\xfc\x78\xd6\x4a\x3f\x63\x8b\x04\xd6\x0c\x7b\xc9\xa1\x5e\x16\x58\x1e\x61\xcd\x55\xc7\x1e\xd6\x53\xaa\x27\xf5\x05\x3f\x80\x75\xbb\x3e\x1e\xa9\x4a\xe6\xb7\x3e\x41\x95\x25\xbb\xf3\x8a\x72\x2a\x66\x56\xe8\x2f\x34\x97\x7b\x5e\xa5\x1f\x7e\x1b\xf9\xaf\x07\x6d\x48\x6a\x2e\xf7\x1d\x1c\xc7\x1e\x3d\x9f\x53\x10\x06\xc1\xc6\x91\x55\x83\x56\x97\x97\x9d\x3a\xa4\x3b\xd4\x28\xa2\x96\x0e\x6c\x44\xd5\xa3\x3e\x36\x00\xc4\x31\x76\x18\x18\x0a\xe6\x40\x4f\x63\x3c\xbb\xd2\xfa\x40\x72\x70\xc2\x94\x30\x0e\x7a\xc8\xce\xd9\x5b\xe8\x02\xad\x4c\xaf\x05\x04\x6e\x52\x46\xdf\xeb\xe1\x0a\xed\x33\x00\x4c\xc8\xa9\x5c\x20\xd5\x97\xe3\x25\x5d\x8d\x13\xb9\xdf\xaf\x8d\xf4\x5c\x68\xe8\x2a\x69\x5e\xe5\xc9\x77\x7d\x7c\xd8\x5a\x96\x82\xf6\x88\xaa\x2b\x37\xc3\x06\x5d\x37\xf2\x50\x5a\x9e\x27\x76\x06\xca\xf4\x41\x2c\x78\xa0\x5d\x2e\x70\xae\x1a\x34\xaf\x30\x74\x37\xa0\x86\xe3\x18\x21\x84\x2c\xc5\x12\xb2\xb4\xec\x0c\xbc\x17\xdc\xd0\x13\xc3\xfb\xa4\x9f\xe8\x2b\xda\xfb\xe4\x48\x13\x07\xdc\x3f\xc0\x0b\x7a\xf6\xbb\x88\x12\x9b\xdb\xe6\x92\xf8\x44\x77\x5e\x9f\x6e\x4d\x16\x26\xf4\x88\x28\x3b\x16\xbe\x98\x91\xa2\xf3\xe8\x8a\x51\x60\x5f\xc5\xf5\x71\x57\x21\x12\x09\x18\x1e\xe7\x8e\x4d\x1e\x46\x91\x07\xfe\xd5\xe7\xe1\xb9\x72\xe3\x15\xdc\xbb\xd7\x2b\x55\x93\x69\x7d\x06\x9b\xae\x41\x25\x1b\x5d\x4b\x80\x5f\x6f\x20\x00\x80\xbe\xb6\x77\x5a\xf3\x93\xdc\x66\x6f\xa2\x65\x8e\x32\xfe\xda\x6e\x4c\x05\x1a\x86\x7b\x00\x06\x58\x8d\x0f\x81\xc7\xf6\xd0\x65\xa5\xa1\xf6\xf7\x9e\xf6\x68\xbb\xec\x85\x66\xde\x80\x61\x7e\x7e\x6c\x18\xfb\x7a\x9e\xd7\xf6\x10\x6a\xac\x3f\x1e\xb7\xc0\x56\x66\x46\x7f\x9d\x20\x07\xaa\x51\xc2\x3d\x92\x5c\xef\xe7\x8c\xea\xe8\x23\x47\x0b\x1c\x30\x92\x0c\x72\x20\x3c\xe0\xe8\xde\x11\x3b\x4c\xb3\xb9\xfb\x14\xc9\x15\xb5\x97\xe3\xc9\x26\xa6\xb4\x06\xe0\x30\x0a\x9a\x87\x9a\x97\x65\x82\x65\xc9\xc1\xd5\x7e\xc4\x5e\x08\xa8\x3c\x72\xa6\xd0\x03\x0e\x07\xc0\x85\xdd\x71\xd2\xc0\xa0\xe9\x46\x8a\xbb\xe3\x8c\x61\x4b\xc3\x74\xeb\xac\x5a\xd3\x57\x7c\x25\x2e\x48\xce\xae\x5d\xf7\x5a\xfd\x9b\x26\xb5\x73\x65\x8d\x84\x57\x9f\xd6\x29\x58\x57\x54\xe7\xa4\x46\x5f\x9f\x9e\x97\x9d\xbb\x37\xbc\xae\x3c\x9d\xb3\xb9\xec\x36\xcb\xd3\xe7\x83\xe5\x0e\x40\x37\x3a\xf0\x6e\xf4\x2c\x1c\xa8\xa5\xdf\x13\x09\x4f\x18\x2e\xce\x74\x01\xb2\xd0\x2a\xa8\x43\x46\x07\x34\x28\xe2\x1a\x02\xda\x05\x02\x9b\xc5\x30\x69\xe3\x01\x00\xb4\x84\xaf\x2c\xb2\xdf\xe2\x9b\xe0\xb2\xe7\x2b\x63\xcb\xf0\x75\x76\xf1\x82\x2e\x3c\x1e\xab\x44\x9f\xde\x91\x40\x69\x6e\x37\x1b\x70\x80\x66\xc2\xd7\xfa\x1c\xa9\x80\xb1\xe9\x45\xdb\x5c\x60\x38\x1c\xd8\x84\xe5\xde\x2c\xa7\x15\x89\x2f\xc0\x06\x0c\x66\xef\xaa\x5b\x8d\xa5\x09\x2e\x7a\x08\xb4\xe2\x4c\x46\x2e\x37\x13\xa0\x6f\x3d\x93\xbf\x52\x7b\x9f\x6d\x51\x35\x38\xfe\x7a\xe9\xf5\x18\xbd\x3c\x80\x74\x4b\xca\x87\x91\xf8\x39\x39\xe8\xc1\x45\xad\x76\xc3\x7a\xa1\xcf\xaa\xe5\xd7\x0a\xc3\x73\x61\x3b\x31\x04\x86\x62\x41\xb9\x9e\xd8\x9e\xdb\xb7\x1b\x99\xf5\xad\xe7\xa8\x5c\xc4\xa6\x30\xbe\x89\xd9\x12\xec\x69\x95\xe4\x2e\x6a\xed\x2f\x6b\xeb\x60\xb7\x0f\x7d\xd9\x1c\x6b\x93\x21\x80\x65\x40\xed\xea\xf6\xc0\x99\x7d\x12\xe4\xc0\xd0\xe8\x7b\xe4\x6e\x00\x34\x80\x36\x77\x1b\x42\x1e\xed\x73\x54\x47\xcb\xbc\xb3\x71\xe1\xc7\x30\x19\x67\xd3\x40\x63\x31\x85\x57\xc3\xea\x71\x61\x45\x33\x2c\xaa\x27\xa9\xcf\x0f\x8c\xc2\xe5\x0c\xfb\x4c\xf8\x87\xb6\xdd\x00\x00\xac\xb3\xd9\x78\xd3\x39\x2d\x01\x37\xed\x36\x0d\x9a\x56\x3c\x0c\x49\xa9\xae\x2b\xcc\xdd\x9e\x13\xfa\x12\xe8\x2e\xd7\xee\xa9\xd4\x4c\xe1\x5c\xe6\x55\x54\x34\xd5\x9a\x5e\x01\xef\xe6\x97\xe5\xf4\x37\xa7\xf3\x55\xcc\x96\xd5\x21\xaa\x22\x4f\x01\xb8\xfb\xf1\xe4\xb5\xe4\x9f\xa3\x9c\x2b\x20\x84\x6f\xfe\xb4\x58\x58\xba\x2f\xc6\x3d\x48\x86\xc7\x2b\xe0\x84\x1b\xd3\xbc\x26\xc3\x94\x73\x3a\x1b\x8a\xad\xbb\x7b\x72\xb5\x08\x63\x3b\x5c\x5d\xee\x61\xbd\xe8\x8c\xe4\xe8\xd2\xc1\xc6\x5c\x8e\x0d\xb0\xb1\xb8\x9a\xdd\x54\xa0\xb1\x5a\x21\xc6\x77\x00\x40\x93\x2b\x97\x85\x9f\x09\xfd\x12\x1c\x72\x42\x1d\x4c\x27\x47\xd8\xb4\xab\x8f\xb5\x11\xba\x7d\x9b\x7d\x97\xe2\xe7\x1a\xad\xf1\x47\x39\x33\x40\x64\x6e\x7c\xbd\xc5\x02\x47\xe5\xf2\xc7\xef\x02\xdd\x51\xcf\x15\xcc\xa4\xbc\x16\xaa\x6a\xde\x9f\x37\xed\xc2\xef\x67\xb9\x05\x74\x2e\xed\x97\x53\x2c\x19\x1a\x28\xa0\xa1\x95\xfb\xc0\x23\xb3\x4e\xc9\x83\x9b\x1c\x5c\x49\x45\x13\x42\x04\x8d\x98\x4f\xeb\x42\x3c\x1f\x72\x57\xa7\xf2\xf5\xc5\x6d\xe1\xe3\x00\xa2\x41\x4b\x1c\xeb\x4c\x8d\x96\xd0\x00\xa4\xa8\x02\x2c\xd8\x18\x2f\xf2\x66\xce\x1c\x0e\xe4\x70\xd1\x3a\xc0\x5e\x85\x4e\x0f\xb6\xa0\xd1\xa5\xf0\xb5\x9c\xce\x3d\xad\xa6\x8c\x26\x9f\xa5\x56\x7b\x12\xcc\xb4\x34\x7d\x05\x12\x50\x12\xec\x06\xa8\x7e\xe6\xf8\xc6\xb6\x04\x8e\xa1\x2f\x49\x9c\x99\x2c\x03\x47\xe6\xa0\x8a\xe3\xfd\x31\x34\x89\x02\x91\x57\x75\xef\xd0\x69\x68\xc7\xc3\x9f\x03\xd9\x33\x4b\x88\x37\x3e\x9e\x1f\x1a\x35\xa5\x31\x40\x2f\xe3\xc9\xa0\x0d\xc0\x32\xec\x3c\x0e\x7d\xff\x58\x97\xf4\x02\x13\x4c\x46\xe5\xd7\x92\x4b\xcb\xc0\xcf\xdd\xd6\x00\x12\x7e\xc1\xb7\xb9\xe6\x68\xae\xa4\x9b\xfe\x6e\x5c\x95\x12\x86\x14\xdb\x80\x8d\xca\x7b\x56\xfb\x59\x5e\x40\xb6\xfa\x4a\xaf\x55\x9c\xfb\x34\xf4\xf0\x9c\xe0\x83\xc2\x91\x51\xcd\x35\x14\x70\xfb\x2b\x0e\xf5\x31\xd9\xc3\xab\x7c\xad\xa7\x66\xaa\xf0\x03\xad\x28\x90\xe6\x0a\xbb\x5f\x85\x4e\x9e\x5d\xb5\x88\x13\x1c\x5d\x47\xe2\x86\x5f\xfa\xd5\x4a\xef\xf4\xd0\x33\x25\xe3\x8a\xd3\x79\xf1\x4e\x07\x40\x2c\xbb\xb0\x37\x60\xe7\x00\x2b\xe0\x46\x63\x00\x38\x13\xfe\x75\xb1\x2e\x4f\xcb\xba\xd7\x59\xe0\x35\xf6\x10\x63\x78\xfb\x44\xcd\x67\x3b\x8e\x72\xa6\x65\x75\x53\x88\xe0\xb9\x92\x6e\x0f\x38\xc0\xe4\x00\x0c\x8a\x59\x2f\xea\x45\xa9\x0d\xd6\xd3\xb6\x80\x71\x3e\x9e\xe9\x33\xca\x3c\xdc\xe0\xbd\x18\x28\xc4\xa9\x46\x83\xde\xb0\x1d\x27\x92\x6c\x19\xeb\xca\xe0\x8e\x15\x13\x28\xfa\x7a\xbf\x98\x57\x02\x76\xc6\x9b\xee\x96\x39\xb9\xe9\xed\xd5\x5b\x3b\x38\x8b\xf0\x46\x61\x1f\x7d\x14\xcb\xf3\x35\x52\xc7\x3c\x2e\x1e\xe7\xf0\xc2\x15\x13\x2f\x75\xb6\x6c\xb6\xdb\x2d\x1c\x02\x72\x44\x24\x5d\x4b\x62\x60\x01\x1d\xb8\x4b\x9b\x30\x5d\x1f\x27\x53\x2d\xe0\x8a\x60\x91\x50\xd8\xcd\xb5\xeb\x99\x77\x9e\x92\x61\xd3\x11\x15\xbd\xa3\x8f\x83\xf2\xc0\x8d\x7d\x5d\xd5\xf7\xa9\xc5\xd4\x18\xc3\x01\xb8\x30\x95\xcb\xd3\xd5\xd0\x26\x09\x9f\x22\x66\x60\x36\xf4\x0a\x71\x52\x46\x03\xb1\x48\x5a\x3a\x3a\xab\x67\x7a\xac\x2e\x4a\xe4\x2a\x38\xa7\x04\x4e\xb6\x2f\x6f\x2f\x14\xd7\x47\xfa\xfe\x2c\x1c\x5e\xc5\x7b\xf8\x61\x25\x55\xe4\x45\x68\x2b\x24\xfd\x53\xdc\xbd\x3d\xdb\x14\xa0\xe6\x8d\x47\x0f\xaa\xf3\xda\xb6\xfa\xe2\xe8\x05\x91\xdd\x85\xc3\xd1\x67\x04\xe2\xf8\xcb\x10\x4e\x97\x35\x25\xf4\xb3\x17\xb6\x20\x05\x80\xce\xd1\x81\x40\xd5\xd2\xca\x41\x00\x85\x6e\xa3\xb7\x65\xc3\xe5\x62\x77\x15\x30\x3d\xd9\x82\xea\x94\xc8\x97\x5e\x21\xcb\x75\x9f\x77\xdc\xc2\x1a\x3a\xa0\xae\x9c\x63\xd0\xfc\x15\x48\x34\x68\x1f\x81\x88\x3f\x7a\x21\x60\x7a\x19\x00\xd6\xcb\x2e\x7a\x28\x87\x25\x09\xed\xe4\x15\x3a\x44\x52\x3d\x9f\x94\x46\xf8\xa7\xa9\x74\xfc\xa3\x7d\x65\xda\x5c\x36\x86\xb8\xb9\x5f\x9e\x79\x63\xaa\xc1\xde\x1e\xcc\xfb\xc8\xc5\xe6\x11\x6c\xac\x15\xad\x1e\xdb\x99\xc9\x78\x74\x0d\x21\xce\x74\x69\xe0\x34\x80\x63\xc7\x57\xaf\x91\xb4\x41\x83\x15\xe4\xeb\xc9\x8f\x92\xba\xb4\x95\x88\x29\x29\xbe\x3d\x95\x3e\xee\xf4\x02\x60\xe7\x8d\x18\xbd\xde\x7c\xb4\x54\xb1\xf5\xba\xd8\xb3\x00\x34\x4c\xbc\xb1\x00\x10\x57\x5e\x04\xab\xff\x6c\xc4\x1e\x7b\x66\xe8\xb2\x08\x94\xef\xb0\x19\xa0\x82\x36\x60\x68\x03\xee\x1f\x13\x84\x18\xcc\x4d\x7a\xad\xcc\x5b\xb7\x43\xec\x00\x83\x51\x50\x54\x6b\x39\x4c\x27\x6f\x2e\x88\x45\xc3\xa6\x1e\xd2\xe3\xde\xdb\xd4\x79\x4f\xb0\x06\xd5\x33\xd2\x06\xae\x0a\xee\xf4\xfa\xb4\x6f\xda\xc7\x63\x7c\xe1\xb4\xf1\x87\x75\x7b\x7f\xee\x39\x55\x10\x63\x74\x8d\x98\x6d\xe3\x5e\x08\xe7\x15\xfc\x54\x3a\x75\x0c\x22\x10\xa2\x24\xf4\x74\xc3\xce\x0e\xfd\xd8\x3b\x31\x7a\xf3\x86\xca\x89\xb4\x50\x31\x2b\x32\x0d\x61\x19\x82\x72\x27\xb3\xd3\xc1\xe5\x36\x00\x42\x9d\x9f\xef\xbb\x02\x2a\xc3\xca\xc1\x05\xd0\x8f\x3e\xb8\xc9\x15\x71\xa0\x5b\x95\xdd\x90\x6a\xf6\x13\x08\xb1\x75\xc3\xb3\xd9\x20\xa4\x5b\x50\xdf\xd9\x72\x74\xb7\x15\xa0\x77\x99\x7a\xf3\xc1\xd1\x0a\x58\x28\x77\x9a\x9f\x33\x84\xde\x11\x4a\xd3\x29\xc4\xa2\xa6\xf4\xc6\x89\x76\x28\x76\x27\x43\x68\x41\xfb\x34\x38\xc0\x1c\x10\x4f\x27\xef\x75\x00\x44\x82\xe7\x25\x7e\xde\x4c\x70\x9f\xa1\xf6\xca\xdf\x7d\xb7\xa7\x58\x17\xbf\xca\x02\x42\xd3\xec\x5a\x8f\xcd\x06\xb9\x11\x21\x90\x46\xbc\x0a\xae\x25\x5d\xd0\x28\x8c\x7a\xd5\x97\xa7\xd4\xad\xd0\xb3\x61\xa8\x90\x30\x38\xc0\xf1\x27\x44\x18\x67\xee\x86\x9f\xc6\x0b\xf5\x7e\xb2\x1f\xcc\xd5\x7b\xda\xeb\x05\xa6\xdc\x0c\x4a\xc8\xeb\x55\xc6\x5d\x1b\x08\x0e\xdf\x02\x02\xb9\xb8\xe0\xae\x94\x90\xf1\xe8\x1f\x5b\x90\x07\xa0\x06\x24\x42\xe8\x22\x6e\xc1\x33\xa1\xb0\xe2\xab\xa2\x28\x4d\x1b\x6f\xf6\x83\x4f\xb0\xa9\x57\xc2\x4e\xd0\x7b\x1b\x89\x5b\xa9\x70\xf3\x84\xf4\x81\xf6\xf9\x3e\x8f\x06\x3c\xc4\x8d\x8d\x0d\xcb\xa3\xe1\xd4\x07\x39\xbd\x28\x29\xfa\x4c\xf0\xd2\xd2\xaf\xe8\x53\x7e\x51\x97\xb6\x7f\xad\x25\xb2\x39\xf7\x07\xa8\x60\x82\xba\x63\xba\xbb\x9f\x35\x9e\xbb\x24\xf6\x68\xb9\x1b\x2f\x01\x94\x27\x5a\x73\xc4\x48\xee\x95\x90\xd7\x97\xea\x3f\x79\x7c\x62\x09\x47\x96\xc1\x86\x5f\x0b\xef\xaa\x86\x4c\x4c\xcc\x77\x35\xdd\x2f\xf5\xf9\x8e\x5f\xf4\xa5\x78\x1e\x14\x71\xa1\xae\x44\xc8\xa8\x0f\x92\xc6\x20\xb7\xb1\x45\xe6\xc5\x72\xca\x62\x14\x76\x8b\x2b\x25\x93\x03\x0e\xc4\xd3\x33\xf6\xec\xc7\x3c\xbf\x59\xf5\x87\x2c\x43\x16\x77\xea\xcf\x20\xe8\x70\x64\x63\x91\x28\x0b\x96\x5a\x79\xce\xdb\x9d\x80\x2c\xff\xa1\xc3\x32\xdb\x15\x3a\x84\x37\x91\xd3\x4f\xcb\x0b\x9a\x71\x04\x7d\x1e\x71\x06\x75\xfa\x3d\xed\x92\x9e\x11\x3b\xda\x6d\xca\x15\x66\x0c\x81\xf6\x9a\x47\x00\x11\xca\xd6\xb7\xa8\x0a\xd5\xd3\xfa\xd0\xae\x06\xd9\x9f\xf8\xf2\x62\x8d\xe3\x12\x87\x98\x78\xea\xe5\x25\xbf\x8b\x00\x67\x43\x2e\x07\x3f\x7d\xf7\xad\x97\xaf\xca\x36\xca\xb3\x19\x2a\x93\xbe\xfb\x0b\x75\xfd\xee\xc7\xef\x3e\x06\xa0\xa1\xfb\xcd\x0b\x58\xa5\x4b\xeb\xe6\x06\x2b\x42\xde\xbf\x65\xb9\x5b\x4e\xc1\x39\xf9\xdb\x11\x3e\x5e\x12\xc9\x99\x77\x82\x0b\xd8\xb2\x15\x13\xfc\x63\x44\x48\x69\xfb\x9d\x41\xaa\xc2\x83\x81\xf6\xe2\xe3\x45\x00\xc0\x9f\x4e\x9d\x32\x40\x21\x75\x51\xaf\xdf\x03\x79\x00\x17\x96\x6d\x00\x90\x95\x01\x00\x12\xc3\x01\xc0\x5e\x3f\x6e\xe8\x39\x00\xa2\xb3\x01\xc0\x8e\x6f\xcc\xfa\x90\x03\x40\xa7\x5b\xa7\x0e\xe6\xe3\x63\xe5\xc3\xd2\x82\x53\x0e\x3c\x6e\x00\xda\x58\xa8\x57\xd1\xae\xfe\xb0\xbd\x66\xb3\xf8\xe6\x04\x00\xac\xd2\x06\x80\x5a\x6a\x74\xa6\x38\x50\x9a\x03\xc0\x2b\x85\x6c\x72\xbc\x93\xdd\xa7\xc5\xf7\x9b\xd9\xd7\x52\x02\xc2\xe0\xf3\x76\xc5\xa9\x95\x3d\xb9\x76\x37\xf9\x32\x96\x66\xdd\x0f\x6f\xae\xd4\xd9\x32\x1f\x58\x1e\x16\x25\x0b\x87\x24\x8b\x57\x27\x0b\xc7\x5f\x25\xd8\x35\x79\xce\x03\x7d\x59\x18\x3d\xa8\x0c\xbe\x2d\xe9\x3e\xf7\x22\x89\x03\x2c\xcf\xb4\x86\x5f\x37\x4b\x0f\xe3\xb6\x0e\x77\xa9\x27\xe1\xf1\x1e\x46\x8d\x27\xca\x65\x67\x07\x4b\x6d\xca\x7c\x9d\x2c\x67\x43\x9d\x29\x45\x92\x97\x5b\x82\x53\x17\xa7\x5a\xcb\x21\x66\x58\xe4\xb8\x50\x97\x28\x23\x89\xd7\xab\x95\x9b\x17\x96\xeb\x68\x60\xae\xbf\x5e\xce\x0a\x96\xa9\xa7\xef\x58\xf7\xcc\x94\x39\xb2\x7c\x6f\x9d\xa2\xe9\x65\xbe\x9c\xc9\xee\x9a\x24\x71\x21\x22\xc2\x1a\xd6\xcc\x4c\x85\x4f\x13\x3c\x8c\xae\xdd\xf9\xf2\xd0\x98\xd4\xa5\x61\x0b\x0b\xf2\x8e\x91\xa5\x18\x94\x8f\x73\x39\x5e\x07\x5e\x8e\x00\x86\xed\x2e\x87\x3c\x5f\x44\x9e\x98\x60\xcc\x7c\x5d\xc2\x46\x7c\x5e\x12\xe0\x22\x68\x95\x99\xb5\xbd\x6d\x4e\x8a\x1e\xcf\xd9\x95\x6e\x94\x5e\xc5\xea\xb4\x75\xbd\x2c\xa9\xdb\x8d\xeb\x81\x2e\x01\x3e\x57\x37\xd6\x66\xf6\x04\xc8\x34\x27\x4b\xa5\x04\xf2\xbe\x94\x18\x20\xe5\x52\x2e\xd1\xb2\x30\xa4\x0f\x93\x31\x47\x6c\x7e\x30\x34\x90\x41\x59\xde\x8c\x1c\xd4\xd0\x43\xe2\x6b\x8b\xa6\x8d\x57\x81\x19\x66\x6d\xf8\x0b\xc7\xd0\xca\xb0\x8b\x54\x3c\x11\x85\x56\xd6\x45\x92\xe3\x86\x8b\xa7\x41\x9d\x03\x93\xa7\xad\xba\x6d\x9c\xb6\x1b\x48\xb5\x55\xfd\xdb\xd4\xdc\x46\x8a\xd0\x1f\x8a\x0c\xb3\x06\x53\x3f\x32\x9b\x4b\x8c\x09\xb0\x08\x49\x5d\xc8\x0b\xa9\xce\x0f\xec\xb5\xc8\x1b\x05\x90\xf0\x15\x6f\xfc\xd3\xd0\xa0\x09\x81\xc0\xc1\x5e\x71\x45\xa5\x5f\x84\x2c\x4a\x91\xb4\x49\x83\x44\x08\x52\x9c\xbd\xd2\x1b\x3a\xc1\x12\xa6\x6b\xd5\x4b\x7e\xea\x3d\xf1\x7c\x32\xe3\x86\x70\x85\x64\x36\x86\x51\x62\x11\x46\x0e\x70\xb4\x3c\x6d\x97\x46\xd1\x47\x21\xad\xe2\x42\x11\x4b\xd7\xd1\x13\x49\x9c\xe2\x1d\x02\x02\xb0\xfa\xa0\x3a\x76\xd7\xb5\x19\x9d\x79\x3c\x75\xef\x4e\xcd\xc2\x73\xcd\x2e\xe9\x13\x52\xf1\x09\x3b\x6f\x9a\x25\x38\xfa\x0b\x8b\xbc\x80\x95\x46\x1c\xa3\x39\xdf\xe7\x0c\xf3\xc1\x18\x0a\x31\xf2\x4d\xc6\x6b\x69\xba\xea\x9b\xe6\x62\x9e\xe2\xd0\x3e\xef\x1e\xae\x5f\x2c\x2d\x56\x4d\xd5\xf2\xda\x10\xec\xb5\xaa\xc8\xfa\xf0\x05\x00\x9c\xbc\xa8\x85\x46\x7d\xf8\x32\x15\xbe\xc2\x53\x25\xb1\x5b\x7f\xde\xc4\x59\x2f\x78\x1e\x5d\xb1\x48\x84\xb9\x9b\xcc\xbd\x80\x57\x64\x97\x0e\x7d\x88\x2c\x09\x87\x24\xb4\xb7\x49\xf2\x54\x69\x4b\xa1\x34\xa4\xf3\x61\x30\x76\x01\x6f\x29\x25\x4d\x3e\xa5\x52\x3f\x73\xac\x46\x11\x3a\x0b\x44\x0f\xc9\xb5\x7a\x42\x20\x96\xa6\x2f\x57\xb1\x16\x54\x7b\x6f\xcd\x67\xbc\x3f\xa9\xcb\x98\x40\x37\x6f\x3e\x35\xaa\x39\x79\x8a\xc2\xaf\xb7\x65\xdb\x43\x06\x8c\xc4\x16\x1b\xa5\xc6\x98\x9c\xf7\xa0\x6b\xd6\x4f\x33\x2c\x93\xf0\x1b\x75\x29\x32\xe8\x82\xac\x50\xb6\x40\x09\x06\x94\x0b\xb4\x5a\xe7\xa1\xda\xaf\x5c\x21\xa7\xf6\xb2\xd0\x1c\xce\x84\x00\x11\xcd\x88\xb7\xc9\x7e\xbc\x1b\x0a\xc3\xa4\xf3\x48\x0f\x57\x44\x60\xa9\x4c\xa4\x59\x92\xf4\xd7\x4e\x46\xae\x3d\x74\xb9\x8e\x17\x28\x51\xe5\x40\x7d\xa0\xcf\xe2\x7c\x0a\x42\x6d\x06\xe5\x46\x9b\x0a\xfa\xec\x54\x08\x2b\xcd\x93\x84\x56\x1b\xba\x75\xcf\x75\x3d\x51\x7b\x6f\xa2\xdb\xa5\xf0\xcd\x58\xbe\x1a\x8e\x42\x47\xea\x2a\xb7\xb9\xab\xca\xa6\xb2\x5a\x45\x23\xd1\x43\xb4\x94\x1c\x0f\x06\xc0\x48\xbc\x28\x42\x0d\x80\xa0\xbb\x58\x61\xd8\x98\xc1\xd9\xe3\x65\xc8\x3e\x17\x41\x72\x27\x72\x52\x0f\xe8\x20\xa5\x50\x02\x3a\xf5\xc7\xf3\x22\x57\xf4\xae\xc9\x0c\x04\x1d\xbb\x7f\x11\x82\x28\xcc\x05\x10\xce\x19\x0c\xaf\x19\xb2\xd2\xc7\xe1\x69\xc6\x24\x70\x4d\xea\xba\x0a\xe3\xc5\x46\x0e\xc0\x55\xef\xb2\xdc\x78\x90\x14\x45\x9e\xaf\xe8\x21\xa2\xb9\x30\x4b\x83\x51\xa6\xde\xda\x9b\x1b\x80\x7a\x14\x8a\xd9\x93\x84\xfb\xe7\xf3\xd2\xf1\x52\x04\x3d\x93\xf3\x44\x1f\x23\x5a\x9c\x56\x6c\xd6\xb3\xca\xec\xf3\xdd\xc6\x31\x5a\x22\xab\x80\xf1\xa0\xb2\x48\xa1\x84\x56\xbc\xd0\x0e\x0b\x23\xe1\x5d\x6a\xd4\x2a\x03\xce\x5b\x6e\x6b\xf1\xa2\x1e\x67\xdd\xe5\x2a\xb6\xcf\x47\x8c\x8c\xf5\xea\x15\x71\x0d\xad\xa8\xe5\xd9\x06\x6e\xae\x78\xa1\x07\x23\x62\x95\xe9\xaa\x10\x81\xd8\x29\x87\x5e\xb6\x3d\x11\x28\x5b\x84\x2b\xc1\xd0\x8a\x8c\xec\xd0\x70\x63\x30\xbd\x03\xcf\x89\x02\xe7\x8c\x26\x9b\xd6\x38\xea\x95\x98\x35\x30\x37\x86\x83\x34\xf0\x52\xcc\x3a\xd9\x7d\xdb\x74\x0d\x3d\xc8\x5c\xc7\xd3\xce\x2b\x26\xeb\x74\x79\x9a\xe5\x4e\x6d\xa8\x1d\xf5\xae\xc1\x38\x2d\xe5\xfc\x6c\x21\x79\xbe\xdf\x9d\x53\x71\xad\x92\x31\x67\x8e\xe6\x1c\xae\xe7\x4b\x73\x44\x5f\x84\x78\xf7\x2b\x2d\x45\x6e\x83\x25\xba\x59\xd8\xad\x6b\x57\x86\x51\x3f\x48\x92\x41\x03\xa9\xe8\x9c\x31\x7f\xc5\xc8\xe2\x60\x3a\xad\xf0\xa5\xc7\xa4\xda\x91\x02\xda\xa3\xc5\x4b\x2c\xf5\xcc\x0b\x60\xe6\xdd\xa1\x94\x83\xd5\xcb\xa8\x10\x50\x1f\x00\x70\xce\xa7\x8e\xdf\xc5\x3a\x94\xee\x89\x02\xd4\x35\x4d\x4d\xb1\xc4\x5c\x8f\x37\x33\x35\xf1\x8e\x5b\x5a\xec\x3a\x11\xf1\xc3\xab\x2e\xa2\x96\x25\x44\x7e\x33\x8c\xd5\x5a\xf2\x4d\x7d\x0c\xb3\x7e\x46\x38\x21\xb0\xd0\xc1\xe2\x1a\xbb\xa1\x95\xcb\x4c\x8c\x26\x5a\xb5\xb3\xb5\xdb\x8c\xd5\x8c\x06\x58\x16\x16\x98\x70\x28\xa3\x46\x13\xb0\xb8\x8c\xf0\x65\x72\x67\xf9\xb2\xd7\x32\x50\x2c\xc7\x5a\x34\xb8\xf7\x66\xcb\x98\x72\x5b\x48\x57\x54\xf3\x9b\x86\x6b\xb3\x93\x87\x44\xb3\x38\x2f\x0c\x1e\x5f\x8b\x83\xcb\xa7\xee\xa8\x5c\x55\x3d\x8b\xa4\xe8\x91\x92\x9f\xd9\x52\xe8\x5b\xfd\x5c\x2e\xec\x0c\xdd\x4e\xf2\x21\x9d\xed\xd3\xc4\xa8\xec\x81\xa4\xae\x6b\xe9\x5c\x59\x99\x70\x67\xce\xfc\x94\x23\x92\x35\xb4\x75\x6f\x50\x89\xbd\x3e\x77\x65\xa2\x63\xb1\xed\x9d\x5e\x0e\xbd\xb6\x79\xb0\xbe\x19\xe6\xa9\xc6\xde\xe7\xfd\x26\xae\x7e\xbc\xec\xd8\xf9\x7a\x15\xa6\xa1\xd8\x29\xdf\xaa\x06\x60\x7a\x1b\x4d\xb7\x80\xca\x9e\xa6\xd7\xbc\x00\xd2\x22\xbb\x7c\xa0\x12\x97\xe7\xf5\x63\xea\x9c\x97\x4f\x53\x1a\xdc\x08\x75\x54\xba\xfb\x65\x37\x21\xc0\x1a\xeb\xc3\x34\xc0\x30\x44\x01\x2c\x3f\x4f\x9d\xa6\xe1\xaa\xe7\xc1\x8c\xeb\x47\x4c\x50\x1c\x1c\x90\x03\x8f\xb3\x2c\x9b\xb6\x1b\x4e\xaa\xf9\x91\x1b\x62\x1c\xcf\xa4\x54\xe1\xf2\x20\x68\xd2\x56\x09\x26\x9f\xf0\xf0\xce\xcb\x09\x9b\x72\xf0\xe0\xc4\x58\x60\x20\x45\xe0\xcd\x2c\x6f\xed\xcf\x27\xf9\xca\x45\xed\xd0\xb1\xba\xd6\x84\x32\x02\x8f\xd3\x4a\xc0\x76\xd2\x70\xe0\x36\x2d\x58\xc5\x1e\x3b\x0d\xb1\x56\x22\x67\x18\x6c\x11\x38\x06\xad\x1a\x1d\x08\x5a\x5c\xc6\x91\x67\xc6\x34\x29\x10\x32\x31\x43\xf9\x88\x19\xa9\x67\xea\x1b\xda\xe3\x36\x2e\xc4\x4c\x5f\xf5\x46\x88\x1f\xf8\x50\xd3\xdb\x49\xe7\x82\xd8\x2b\x5a\x9a\x48\xc2\x0d\xe5\x36\xd8\x54\xae\xce\x68\xef\x22\x90\x39\xd1\xa2\x19\xb5\x75\x45\x26\x7a\xf9\x9b\x93\x6c\xc2\xe0\x6b\xb2\x64\xa1\x41\xe7\x16\xd3\x08\x23\x09\xd0\x8d\xbd\x66\xc8\x40\x13\x88\xf2\xfa\xda\xca\x2b\xa1\xba\xf8\x32\x49\x0a\x02\x0b\xf2\x21\xaa\xaf\xc1\xb6\x4d\x98\x0d\xc3\x46\x5e\x38\x4e\xdb\xcd\x8b\xe4\xca\xb2\x6d\x35\x3c\xe0\xd3\x50\xc5\xc9\xaa\xe7\xf3\x79\x9b\xb8\x10\xf3\xe1\x2b\xfb\xc2\x32\x20\x92\x37\xd2\x6d\x6f\xd0\x02\xcf\xb7\x4e\x6b\x52\xea\x51\xd1\x85\xc8\xdc\x11\x81\x4c\x9b\x16\xa7\xe0\x1c\x9b\xa4\x93\x59\x20\xe2\x10\x25\xaf\x04\x44\xba\x0b\x06\x21\xea\xc9\x3b\x4e\xad\x81\x10\x8e\xeb\x66\x5b\x77\xdb\xd7\x40\x9f\xbb\xbd\xb5\xd6\x2b\xf0\xb7\xe6\xe4\x9d\xc1\x32\x99\xa3\x41\x92\xfd\xe2\xf6\x3a\x7d\x42\x61\x49\x61\xaf\x23\x63\x39\xe4\x1a\xef\x48\xb9\xaa\xb3\x34\xeb\x96\x6a\x79\xcc\xba\x6d\x5c\x01\x47\x54\x01\xad\x3b\x3b\x5f\xd0\xdc\xeb\x76\xb6\xba\x90\x54\x6a\x28\x55\xd1\xe4\x78\x1c\x36\xd0\xab\x2e\x23\xb6\x5d\xea\x97\x7f\xe7\xcb\xb6\x75\x4c\x4d\xc6\xdd\x40\xaf\xe9\xc1\x6a\x52\x6b\xcd\x29\xc4\x66\x83\x52\x62\x53\x7f\x5b\xb8\x97\x9d\xb1\xf7\x66\x0f\x37\xec\x80\x30\xfc\xc1\x76\xe9\xaa\x32\x25\xa4\xe1\x97\xcc\x80\xc3\x85\x48\x98\x54\x42\x04\x88\x57\xf8\x3d\x27\x5a\x8d\xa3\x4c\x72\x32\x35\xcf\x2e\x21\xb0\x9c\xfa\xa3\xe3\xee\xaa\xe2\xbb\xe8\x72\x4c\xe0\xd2\xf0\xe3\x59\x2b\x35\x46\xdf\x25\xb8\xc6\x68\x8f\x23\xe6\x8d\xf5\x01\xb9\x35\x2d\x1c\xf3\x5c\xcd\xe9\x6c\x5c\x9d\xde\xe3\x6c\xd9\xd1\xde\x70\x91\xed\xe2\xea\x24\xc8\x79\x4b\xc5\x44\x19\x88\xeb\xa5\x5a\x32\xa8\x86\xdd\x75\x5a\x4c\x47\xea\xac\x87\xec\xb3\x58\x40\xc1\xc1\xd3\x4f\xe2\x70\x21\x25\x9c\x5a\x20\x0d\x27\x54\x99\x08\x73\x9e\x6c\x34\x10\xcf\x77\x8a\x7e\x96\x3e\x47\xac\x4b\xe1\x73\x27\x4f\x2b\x17\x7b\x00\xc5\xe4\xae\x1d\x00\x5c\xc6\x0d\x38\x6b\xe0\xfd\x71\x18\xd2\xe5\x59\x5b\x55\x07\x2d\xc2\x1c\x3e\xbd\x04\x50\x15\xe6\x57\xaf\x1a\x82\x83\x25\x23\xd1\x17\x7b\xe3\x8f\x70\x83\x02\xd4\x8d\x56\x73\x06\x00\xbf\x61\x52\xcb\x76\x97\x9e\x47\x6f\xac\x0a\x9d\x23\xdf\x61\x5b\x57\x42\x7b\xc2\x59\x56\x6f\xbf\x6a\x6e\xdf\x53\x9a\xbe\x97\x0d\xdf\x31\xa0\x51\x69\x4d\xbb\x88\x45\x5a\x63\xe2\x62\x17\xbd\xc4\x21\xf6\xda\xd8\x2b\xdb\xcc\x09\xc8\xc1\x7a\xdf\x19\x70\xf5\xef\x84\xf8\xb8\x3c\xa2\x5b\x91\x79\xb3\x08\x72\xcb\x38\x00\x1c\x9e\xfc\x74\x93\x04\xb1\x10\x99\xb5\xce\xc4\x2c\x7d\xb6\x9a\x3e\xc4\xb7\x2d\x6f\x0e\x18\x45\x2a\xbf\xb6\xe7\x2a\x68\x29\x06\x0e\xaa\xbb\x6c\xe5\xfc\x4b\x5c\xc1\x83\x1c\x63\x0d\x60\xf6\x90\x6c\xa0\x47\xfa\x9e\xd5\xb7\xad\x52\x6c\x11\x35\xd8\xd7\x0a\x35\x39\xd6\x30\xdd\x96\x5f\xa9\x64\x4f\xac\x41\x4e\x6e\x69\x28\x3f\x72\xc0\x64\xd9\x0a\x82\x22\x7f\xc2\x8f\xf4\x2a\x57\x87\x06\x26\x9f\x80\x84\x26\xbc\xcd\x39\x8a\x39\x84\xcd\x3c\x2f\x9c\xb5\xc0\x06\xcf\x30\x7c\xe9\x05\x09\x8f\x60\x48\x6d\xe3\x4d\x41\x0f\xac\xe5\x03\xed\xb8\x70\x23\xf2\x00\x7e\x00\xa4\x40\xa4\x57\x4a\xff\xb0\xf9\xec\x95\x34\xda\x93\x3c\x40\x4d\xde\x88\xd3\x5a\xfd\x5b\x49\x06\xd7\x5b\xa8\xf7\x0c\xb8\xee\xa9\x77\xbb\xa3\xd0\x8a\xdb\x66\x8a\xa6\x1b\x49\xf0\xeb\xe3\x31\x76\x2b\xc6\xb6\x2b\x79\xc7\x29\x73\x3e\x3d\xb5\x3c\x84\x57\x2e\x98\x4f\x0d\x27\xc5\xea\x9e\x9e\x6d\x7e\x75\xae\xb5\xa9\x82\x19\x46\x37\x01\xf8\x5b\x99\xd1\x5b\x9e\xe7\x7d\xa4\x39\x2c\xd9\x4b\x57\xf2\xd9\x72\x62\x5c\xbd\x9c\xfc\xd9\x4e\xb4\x7d\x62\x14\xf1\xdc\x88\x7a\x56\x15\x05\xbd\x0e\x6d\x7e\xea\xf0\xc6\xcc\x7c\x12\x12\xe4\xd5\xdf\x33\x7b\x08\xd3\x73\x8f\x98\xe7\x7a\x11\x81\x6f\xe6\x57\x14\xcf\x2c\x1b\x3e\x0b\x28\xa5\xaf\xbc\xcf\x56\x0a\x66\x3b\xb9\xbb\x19\x26\xe7\xf4\x0b\x0c\x78\x86\xe3\x76\xcc\xb9\x85\x3d\x9d\x73\xc0\xdd\xd2\xde\xe9\x8a\x8c\xef\x3c\x41\x3d\x17\x80\x1c\xb8\x5d\x41\xe7\xce\x48\x87\xb3\x49\x97\xac\x9d\xa3\x47\x47\x74\xfc\x6d\x3c\x5e\x3c\x3f\xc3\x2c\xc4\xdc\x60\x22\xec\x4a\xac\x1a\x46\x44\x0b\xa0\x0b\xc7\x90\x55\x67\xe5\xd0\xf3\x42\xe4\xf4\x95\x3a\xfc\x0d\xa2\x93\x2e\xa0\x9f\xac\x94\x69\x53\x10\xa9\xde\x15\x30\x20\xe0\xdb\xb6\x1a\x4a\x32\x18\x87\x96\x31\x3d\x6d\x44\xdb\x48\xcd\x25\x7d\xe4\x13\xc7\x20\x35\x6e\x1a\x88\x70\x1f\xdb\x2e\x84\xe5\x1d\xbe\x48\xb2\x77\xa7\xa5\x89\x18\x87\xf9\x6c\x6e\x04\x0a\x3d\xb7\x81\xc4\xc2\x3b\x83\x3d\xb6\xb6\x50\x18\x03\x38\x1e\x23\x80\x95\xd0\xd6\x7b\x33\x95\x9c\xc1\x1d\xd7\x33\xe2\xa3\x55\x2d\xc4\xfc\x6a\x30\xcd\x3d\xab\x96\x8c\x0a\x0c\x89\x49\x54\xa4\xc4\xea\x1b\x84\x3b\x72\x0a\xc5\x61\x28\x72\xb6\xb0\x09\x4c\xa0\xdc\x8e\xb3\xda\xb0\x02\x7f\x89\x7c\x0b\xfc\xa3\x45\xa8\x74\x7f\xde\x39\x98\x5b\x92\xb1\xde\x6d\xf7\x61\xa7\x29\x3c\xf2\x60\x30\x1f\xf7\x88\x5b\x92\xdd\x00\x25\x80\xed\xac\x61\x32\xe5\x65\xb2\xb6\xd5\xfb\x9e\x1d\xc8\x31\x51\xf4\x24\x61\x8e\x70\x0d\x86\x78\x63\xa7\xa1\x98\x74\x93\x4b\x61\x69\x20\x80\x4e\xaf\x47\x51\x0a\xe2\xbc\x2c\x03\x8d\xd3\x7d\x51\x3a\xed\x18\x0e\x79\xd6\xe0\xda\x8e\x8c\xfd\x3a\x75\x01\x13\x27\x4e\x8e\x6f\x83\x9a\x24\x4e\x34\xbb\xa1\xcb\xa8\x40\x76\xc2\x42\x89\x1c\x7b\x20\x8a\x97\xed\x31\x83\xdf\x81\x84\x93\xf4\x59\x80\xe1\xe7\xbe\xba\x81\x39\x5e\x35\x80\xa5\x3e\x21\xaf\x8c\xb0\x10\x7b\xc1\x81\xd1\xab\x47\x5c\x62\x70\xed\x22\x04\xb1\x0b\x43\xb1\x2a\x5f\x0b\x0a\x4d\xdb\x26\x92\x25\x81\xb2\x8b\xfa\x38\x63\x8e\xca\x0d\x78\x0a\xe8\x6b\x33\x58\xb9\x93\xc0\x8c\x7d\x63\xe0\xce\x38\x1f\xce\x8b\x61\x6b\xb4\x27\xcb\x63\x76\x1c\x38\x6f\x67\x3e\xb1\x18\xa6\x93\xc3\x79\xc8\xc6\x2b\xbd\x3c\x9c\x1a\x13\xad\x7d\x12\x98\x42\x09\x87\x76\x85\x1c\x34\xdf\x94\x59\x7b\xf4\x68\x08\x71\x17\x8c\x22\x01\xa7\xf2\x2a\x7e\xe3\x34\x91\x1f\x85\x14\x82\x76\xb8\xc6\xa9\x3c\xd8\xcc\x8b\xeb\x39\xc2\xab\x05\xc6\xce\x22\xa8\x10\x86\x79\xbf\x23\xcb\x50\xae\x56\x74\x15\x75\x46\x96\xe4\xdb\xda\xee\x3d\x51\x70\xaa\xbe\xbf\x2c\xfe\xc1\x95\xab\xb4\x27\x26\x51\xa6\xfe\xfd\x74\xc7\x71\xeb\x0c\x9f\x0e\xf3\x62\xba\x4d\x44\x0b\x29\xb1\x98\xef\xe7\x7c\xe9\xef\x1c\x62\x43\x33\xfd\x2a\xf2\xbc\x04\xc9\xa1\x4f\x17\x1a\x82\x2e\xfc\xe1\x9c\xf3\x93\x85\x39\x53\x23\x4d\x5e\xaa\x2b\x3b\xaf\x50\xfa\x6e\xb7\x79\x57\x38\x8e\x9f\xa4\xe8\x1d\xb7\x06\xda\x19\x70\xe6\xca\xba\x22\xa0\xdb\x88\x9b\x88\xcb\x4d\xbd\x4c\x4b\x29\x34\x36\x60\x1d\x05\x97\x6e\xb5\x7c\xf3\x33\x96\xcd\x66\x48\x01\x1b\x46\x9e\x0f\xc7\x9a\x02\xa7\x23\x96\x41\xd6\xe5\x91\xc3\xed\x42\xb7\x00\xd3\x5d\xcc\x13\xbc\x73\x2b\x68\x20\x41\x9b\x4b\xe8\x50\x78\xf5\x91\xd1\x78\x38\x1a\x25\x98\xf9\x70\xa9\x79\x3d\x94\x2e\xa0\x27\xad\xfc\x58\xdc\x3c\x93\x7b\xc3\xa5\xeb\xe7\x45\x34\x85\x69\x77\x0b\x97\xe6\x85\x51\xac\x50\xbc\x6c\xad\x07\x36\xcc\xbc\x03\x8e\x26\x60\x2c\x6e\xf6\x2c\x36\x5d\xd1\xe3\x76\xf5\xee\xc6\x5a\xaf\xc7\xd2\x4a\xe9\xe6\x8e\xd8\x62\xc9\x3d\x71\x4e\x8b\x04\xcb\x8e\x56\x95\x40\x3e\xe3\x89\x86\x00\xb8\x05\x66\xc7\x78\xf7\x4e\xd5\xef\x98\xbc\xf2\x07\x57\x4a\xd5\x0d\x84\x59\x47\xb9\x09\xbc\xa9\xb0\x5c\x9b\x8b\x96\x0b\xcd\xb3\x62\x45\x7a\x63\x2d\x55\x39\xb7\x81\x4c\xcd\x50\xbd\x44\x41\xf9\x0a\x37\x00\x86\xb0\xf1\x3a\xf0\x58\x60\x7b\x5f\xad\x80\x56\xfa\x84\x01\x08\xad\x38\xbb\x94\x6b\xf4\x01\x2f\x91\x03\x74\xa6\x74\xcb\xba\x6c\x9c\xba\xec\x60\x88\x8f\xf9\x8e\x3b\xb1\x7d\x37\x54\x41\xcb\xaf\xd3\x90\xb5\x3e\x35\x44\x46\x8b\x91\x3b\xca\x36\xaa\xaa\x39\x57\x29\x94\x24\x7b\xd3\x1d\x66\x8a\x38\xe0\x72\x66\xbf\x98\x78\x92\xf4\xac\x21\x03\x89\x64\x05\x7a\x9a\xf7\x9b\xf6\xc0\xfa\x4b\xf7\x82\x5c\x2a\x15\x9f\x18\x0d\x12\x44\xaa\xf2\x55\x87\xe1\xf4\xa2\x0f\xe2\xf3\x19\x4c\x1b\x51\x4e\x30\xe5\x69\x25\xb1\xa5\xf8\x83\xb9\x19\x2a\x2b\xfa\xa2\xd0\x4a\xe2\x84\x08\xb7\x34\x9f\x75\x3d\xef\x0f\x5d\xa6\x29\x12\x53\x2b\x13\x52\x2c\x35\xe0\x83\x65\x3d\xda\x3d\x60\x42\xdd\x71\x16\xed\x76\xa2\x25\xb4\xe1\xb7\xe4\x91\xdb\xb6\xf6\x60\x59\xfc\x9a\x19\x3e\xd2\x0a\xe4\xf5\x66\xb5\xe3\x78\x19\x01\xcf\x99\xfa\x26\x19\x16\xb0\x42\x37\xa5\x41\x69\x48\x46\x9e\x4b\xb7\x91\xbc\x24\x10\xa8\x2c\x86\xcb\x43\x3a\x6f\x21\x3b\x0f\xb1\x79\xe9\x5f\xca\x81\x9b\xf3\x78\xaa\xb4\x56\xe9\x5b\x66\x5a\xa5\x5f\xdc\x75\x7e\x33\x4b\x98\x69\xe5\xb8\xe0\x50\xda\x6e\x21\x65\x1e\xee\x06\x3c\x24\x93\xe6\x46\x4e\xcd\x56\x10\xfc\xec\xce\x1c\x7e\xc0\x7d\x53\x8f\xc5\x7c\xc1\x23\x12\xd9\xfb\x0c\xc0\xaa\xc2\xac\x93\x34\x15\xed\x13\x9d\xe4\x33\x89\xa8\xa4\x81\x9d\x16\x73\xe0\x31\xec\xc1\x78\xdf\x5c\x94\x00\x16\x35\x70\x69\x07\x50\x29\x5f\x35\xbc\xe6\x55\x86\x22\xe2\x40\x7d\x94\xa5\x1c\x48\xd5\xc2\x49\x37\x8c\xce\x73\x4f\x89\x86\xb7\x05\xed\x18\x87\x2e\x7b\xd9\x35\x0f\x59\xdf\xa9\xf3\x56\x93\x20\xa6\x1d\x9b\xb6\xcc\x7a\x6a\x6e\xcb\xeb\x22\x38\x29\x2b\x31\x4d\x3d\x0f\x05\x3f\xbf\xd4\x4b\x18\x25\x8a\xda\x21\xb9\x8a\xb9\x30\x2b\x31\x93\xbe\x1a\xfe\xcb\xea\x0b\xe7\xce\xa1\x53\x77\xe2\x88\x31\x26\xe9\xe3\xbe\xb8\xb3\x29\x70\x74\xac\xe7\x5d\x9c\xd6\x95\xed\x2a\x4e\xe8\xe5\xde\x68\x76\xf8\x53\x04\xb4\xde\xbb\x74\x72\xe7\xd0\x73\x11\x1f\x5d\xaf\x92\x77\xf0\x14\xc1\x5d\xb4\x6e\xe9\xe3\xe4\xe0\x79\xd7\xd2\x59\x52\xc7\xd7\x2c\x4c\x7e\x9f\x70\x82\x19\xf8\xfc\x7e\x25\x9f\xce\x49\x1c\x24\x4a\x65\x64\xb0\xe1\x80\xad\xd6\x36\x46\x81\xdc\x7b\x23\xba\x33\xcb\xb4\xa5\x05\x6c\x1b\xe6\x49\xe2\x41\xab\x0e\xa1\x44\x89\xe5\x22\x56\x36\xc3\x44\xb0\x12\x82\xbb\x22\xf4\xfe\xed\xd6\x38\xfd\x65\x60\xda\xa6\xa0\x81\x15\x68\x2d\xa8\x38\xf2\xca\x45\x38\xd3\xdf\x8f\x6c\x62\x83\xd5\x09\x45\xd3\xdf\xca\x11\x7d\x44\xdd\x6d\x82\x8e\x7b\x9d\x68\xa0\x1c\x5f\xaf\xcb\xb0\xf1\xbc\xd7\x0e\xc6\x18\x37\xd7\x72\x8e\xc6\xde\x75\x97\xa8\x9a\xe5\x27\x0d\x0f\xa5\xbf\x31\x5c\x99\x16\x87\x38\x5c\xa1\x87\x38\xac\x69\xf7\x9c\x6f\x39\xdb\xe2\x31\x4c\xee\xfe\x65\xf7\xe9\x8e\xf3\x70\xac\x7a\xa1\x7a\xd5\x93\x18\x84\xc2\xfb\x25\x3b\x13\x9c\xe4\x8f\xab\x76\x87\x24\xdd\x0f\x2f\xe1\x4e\xbf\x24\xee\x9a\x65\x4c\xff\x8a\x3b\x98\xf7\xcf\xca\x1f\x17\x7c\x9d\xb8\xd9\x6d\x84\xf9\x61\xdc\xee\xbc\xf8\x80\xcd\x07\x94\x66\x27\x3e\xbf\x20\x4a\xb8\x85\xab\x72\xdb\x46\x74\x55\xf6\xa5\x36\xe7\x0b\x8e\x27\xf7\x99\xcc\xb0\xe5\x8a\xdc\x39\xdf\xdf\x5c\xc9\x75\x8e\x0c\xe9\x2f\xcf\x4b\xd7\xf9\xb3\x8d\x84\xcd\xb4\x95\x22\x95\x2a\x95\x3a\x5c\xec\xd0\x2d\x7a\xf3\x7e\x40\x72\x4c\x3c\xa6\x47\xd5\x1c\x4f\x70\xb2\xe5\xf6\x44\x6f\xaf\x9c\xc5\x81\x7b\x01\xab\x45\xa4\x23\x11\xad\x18\xbf\x5a\x90\x04\x4b\xf4\x95\xc6\x62\x8d\x54\xc9\x6d\xf6\x30\x49\xb6\xe8\xea\x15\xa3\xcd\x0c\xe7\x31\x16\xe4\x52\x79\xb4\x70\x51\x42\x77\xa9\xa5\xa1\x81\xd0\x86\x12\xa6\xf4\xe9\xb2\x65\xf4\xb8\x5e\x98\xa6\x14\x83\x65\x87\xa6\x95\x19\x04\x2f\x5c\xb1\x44\x67\x21\x2b\xc9\x56\xf8\x56\xf6\x4e\xc9\x17\x89\x8f\xa0\x93\x68\x1f\xb0\xc1\xf9\x76\xba\x29\xae\xea\x92\x34\x84\xa1\xd7\x65\xc1\x9e\x62\xf7\x6a\x79\xd3\xd0\xd6\xdb\x0b\xc6\x22\xc0\x99\x52\x65\x1f\x0c\x21\x81\x45\x16\xd2\x1c\x9a\x49\xbd\x52\xdb\x58\x0c\x68\xdf\x45\x29\xdb\x5d\xae\x2b\xef\xd2\x08\xe6\x6a\x7e\xb8\xf0\xdb\x24\x6d\xda\x1d\x60\xe9\x2b\x4e\x84\x3d\x02\x7c\x60\xc4\x94\xca\x11\x06\xe0\x25\xf2\x5e\x53\x49\x9e\x82\x43\xcf\x54\x94\xe1\x1b\xeb\xe6\x3f\xa6\x98\x75\xfa\xd0\x66\xf0\x46\xca\x76\x57\x92\x37\xf8\x41\x49\x1b\x6b\x25\xb4\xbb\x9f\xae\x6e\x53\x46\x9e\xbf\xe2\x72\x7d\x79\x7a\x15\x50\xdd\xfc\xa0\xf7\x56\x65\xe0\x25\x4e\x2e\x02\xb2\x81\x41\xf6\x0e\x51\xb3\xf5\x78\x4f\xaa\x2d\xa0\x2f\x40\xcd\x69\x9b\xb9\xdf\x2e\x9e\x1d\x0c\x11\x6c\x00\xc3\xb1\xd9\x15\xce\xc4\xcb\x91\xb4\x03\x41\xeb\xcb\x21\xb8\x56\x0b\x4f\x38\x5d\xe6\xd7\x2d\x68\xe5\x31\xd8\xee\x77\xfb\x29\x45\xfe\x3c\xa3\x18\xc9\x72\x92\xe9\x6a\x01\xef\x18\x12\xd7\x75\xec\xa6\x0b\xf4\xd6\x0b\xd4\xf3\x89\x50\x8f\xcb\xe2\xdb\x04\x4a\x87\xa5\xbb\x30\xa6\x6a\x5d\xd9\xdb\xa6\xc1\xa7\xb9\x5f\x9f\xb2\x0b\xe9\x27\x45\x21\x55\xaa\x9f\x03\xe6\x0f\x68\x44\x95\xae\xd2\xd8\x4d\x74\x18\xbc\x79\xa3\x1e\xc1\xc3\x1e\x6e\x9b\x2a\x6b\xc7\x8c\x2f\xd2\x72\x5f\x03\x91\xb8\x3c\xc7\xd7\x4e\x91\x81\x28\x19\x06\xec\x27\x4f\x67\x31\xdb\xda\xc9\xbb\x91\xbc\xdc\xd2\xd5\xee\x91\x29\x12\xf4\x0a\x01\x0d\x0d\xdb\x1d\xd0\x5b\x2a\xb8\xea\x18\xe1\xcb\x84\x06\xe6\xba\xbe\x35\xcb\x2d\xd6\xf4\x56\x3b\xf5\x4d\xe4\x82\x0f\xbd\x1d\xa9\xde\x55\x81\x79\xed\x99\x2b\x0d\x58\x85\xd8\x58\x2a\xbb\xa5\x28\xeb\x5e\x09\x3d\xc7\x52\x4d\x11\x9c\x75\x75\x9c\x84\x79\xf1\x75\xf2\x00\xd0\x63\x63\xcc\x2e\xd0\x59\x20\xf7\x00\x03\xe9\xdd\x3c\x90\xa8\x13\x00\xcd\x00\x52\xa7\x5e\xe2\xfb\x5e\x3a\xed\x37\x7c\x4e\x73\x7a\x8d\x5b\x62\x0a\x08\x89\x89\xf0\x16\xba\x59\x35\x92\x75\x9a\x6d\xc0\x30\x40\x73\xe1\x46\xc7\x8a\x9e\x30\x74\x3b\x9c\x39\xb0\xf2\x0a\xc7\x35\xf2\x02\xf5\x91\xfc\xf4\x87\xf6\x69\x62\x0b\xb1\x1f\x30\x09\xbc\xd9\xe1\x0b\x47\x32\x9b\x23\x6b\x13\x3d\x49\x33\x4a\x1f\x5c\x51\xce\x23\xaf\x23\xf8\x68\x2b\xf2\x51\x7d\x16\x75\xab\x57\x19\x7a\xed\xc2\xd6\x3c\x76\xdf\x58\xb2\x47\xfb\x74\xb0\xdd\xed\xf9\xa1\x8d\x73\xf4\x11\x2c\x9a\x87\x4c\xd3\xf5\x82\x65\x99\x4f\x0c\x7a\x34\x72\xf9\xe1\xc9\x56\x21\xd6\x32\x35\xec\x28\x45\x9a\x7e\x9a\x76\x73\x59\x7a\x31\xb3\xad\xea\x8b\x70\x4a\x99\x8a\x7c\x28\x0e\x2c\xba\xe1\xc8\xce\x25\xf4\x20\x43\x53\x30\xb2\x80\x44\xc9\xb3\xa1\xf0\x99\x90\x40\x68\x49\xbd\xf2\xa2\x78\xa9\x15\x17\x74\xba\x93\x03\x3b\x93\x77\x1c\x6a\x08\xcf\x95\xf4\x6c\x36\x37\xf1\x66\xc7\x33\x3a\xe6\xdb\xcb\x2f\xaf\xab\x32\x51\x0f\xfa\xb2\xde\xd6\xaa\x6f\xad\x4c\x69\xfa\x2e\x14\x60\xb3\x35\x9b\x2b\x48\x1e\x62\x62\x03\x83\xb9\x09\x34\xb4\x0a\x5c\x4c\x98\x0f\xbb\x2f\xf0\x6b\x85\xc5\x05\xb3\x27\x58\x91\x63\x14\x9d\x77\x54\x17\xcf\xdb\x63\x70\x69\x85\xc0\xb8\x29\x34\xd1\x65\xd4\x5d\x8c\xb8\x65\xee\x8e\xfb\xe8\x76\x9a\xe6\x8e\x2a\x08\x8c\x8d\x08\x7a\x70\x7e\x4f\xd0\xaf\x64\x3a\x28\x4a\xc2\xb3\x6d\x95\x88\x3a\x48\xe7\xea\x6a\x49\xfa\xee\x12\x7d\xeb\xeb\xdb\x50\x58\xd7\xb5\xea\xf3\x42\x63\x37\x98\x03\x2f\x9f\x7b\xf5\x56\x6e\x3f\x81\x32\x3d\x23\x47\x03\x14\x0f\x57\x06\x99\x62\x29\x96\x14\x35\xdc\x55\xbd\x71\xa1\xe2\x1b\x76\x2f\x15\xd8\xb5\x3b\x31\xeb\x52\x7d\x4c\x3b\x35\x95\xa4\x80\x54\xb0\x40\x86\xef\xb7\x61\xc8\xca\x3d\xce\x12\x2d\x28\x77\x7e\x10\xa3\x3b\x2b\x5d\x5a\x07\xee\xb0\x21\x6d\x6e\x11\xd5\x5d\xee\xbb\x7c\x23\xd7\xea\x45\xc2\x18\x9c\xea\xb7\xe0\x25\xaa\x48\x3b\xdd\x4e\x6f\x0e\xe8\x26\x9c\xc2\xa3\xb5\x2d\x25\x72\x1a\xe3\xae\x02\xb7\x87\x5e\xed\x3e\x4b\x3b\xe3\xc2\x8b\x9a\xc9\xe7\x4c\xa2\x71\x7f\x03\x71\x6f\x89\x24\x32\x4e\xbd\xb5\xa8\xd6\x6d\x25\xae\xe4\xe3\x3c\x94\xdb\x55\xa0\xfa\x1d\x43\x8f\xca\x43\x1a\xe7\x0a\xcd\xf6\x14\xf0\x45\x6b\x8c\x5e\x68\x09\xa9\xd5\x86\xe3\xe0\x86\xcd\xe8\x62\xd2\x99\xec\x75\x78\xcd\x5e\xb6\xc7\x0f\x59\xec\xb5\x36\x7a\x59\xaa\xab\xc6\x93\x57\x7d\x49\x63\x4b\xbd\x22\xf9\x71\xb2\xbe\xdd\x84\x70\xa1\x70\x94\x41\x4d\x9c\x30\x4d\xca\x6d\xe5\xd4\x2c\x41\xdc\xe4\x12\x27\xb2\xf4\x7a\x9a\xdb\xa1\x21\xdb\x50\x4e\x07\x3a\x3b\x44\x3f\xbc\xcc\x31\x58\x98\x64\x75\x14\xda\x52\xe4\xc0\x78\x42\xc6\x99\xf0\x3e\xcc\x98\x77\xd8\x4c\x6e\xe9\xa3\x63\x89\x51\x0e\xc9\xbe\x76\x15\x46\x0c\xd2\x9b\x8b\x92\x90\x69\x26\x1a\x95\x03\x90\x6d\x09\x84\xc6\xb3\x2a\x5e\x84\x8e\x79\x5e\xfc\x01\x7a\xb4\xfc\xcc\x2f\x1c\xbd\xb6\xea\x38\xcf\xb7\xde\x96\x7c\xaa\x39\x1d\x9e\x31\x64\x6a\x02\x65\x65\xba\x14\xea\x2e\x95\xbd\x8b\xc7\xb8\x8e\x83\x72\xaa\x55\x77\xe1\xd7\xcb\x3e\x2b\x87\xa3\x9e\xea\x79\xec\xc5\xea\x77\xb5\x75\x57\xaf\x57\xaf\x0b\x4c\xfa\xa2\x74\x0c\x7b\x3f\x52\xf1\x01\xa5\xe1\x39\x30\x0e\xe9\x79\xce\x0a\x84\x73\xdf\xaa\x57\x13\x84\x54\xa2\x7a\x2d\x9e\xc4\xbb\xe6\x0c\x2c\xfa\xaa\x47\xe3\x3c\x6b\x77\xe3\x1c\x89\x21\x85\x18\x2a\x7d\xe3\x95\x9d\xd8\xd3\x0a\x1a\xcf\x84\x83\x50\x5d\x1d\xe7\x55\x07\xe2\x86\x13\xd8\x45\x16\x14\x8a\x53\x52\x7b\x4a\x6d\x98\x8d\x51\xdb\xa3\x18\xfd\xca\x66\x82\x75\x14\x62\xb6\x78\xbe\x3b\xea\xcf\x97\x0f\x46\xb2\x85\x5f\x01\xb5\xbf\x68\xef\x82\xde\xcc\x97\x8c\x1d\xf9\x03\x4f\x22\x4c\x49\x06\xd9\x71\xc8\x8d\x33\x21\x17\x18\xf4\xa8\xa0\x22\xc4\x9a\xe1\xa5\x98\x07\x36\xbb\x21\x5c\xa0\xcc\xc6\x1c\xba\x88\x9b\x93\xbd\x72\x57\xaa\x43\xc8\xf2\xd9\xbf\xaf\xbc\xce\x61\x30\x1a\x6c\x13\x24\xdc\xf8\x0c\x1d\x46\xfc\x39\x4a\xcf\xb0\x35\x5e\x55\x2c\xc6\xe1\x15\x08\x27\x7b\x6f\x3f\x2f\x74\xb7\x2f\xe2\x85\x70\x6c\xd2\x3e\xf6\x04\x15\x01\x00\x40\xf6\x4d\xde\x13\xcd\x3a\xf0\xcd\x46\x6f\xef\x47\xe8\xf1\x70\x68\x80\x43\x63\x39\x54\xb5\x01\xaa\xda\xda\xe6\xb2\xdc\xae\x57\xce\xa6\x57\xe0\x50\x6d\x00\xeb\x15\xd8\xf4\xc8\xaa\x99\x1c\x00\xc0\xb8\xb0\xe9\x16\x70\x28\xf0\x70\x68\x0f\x4b\x8c\x9a\x43\xd8\xd5\x40\xab\xc0\xae\x1d\xf0\xae\x59\xf0\xa6\xb9\xc6\xae\xb1\xfd\xa9\xb3\xfd\x71\x67\xe0\xed\xce\xf6\x9b\x76\x8f\xa3\x1b\xfd\xf1\x7c\x16\x58\x8e\xab\x9b\x0a\xc1\x04\x92\xf4\xed\x87\xa5\x49\xdf\x25\xd1\x02\xa5\xd1\x92\x7d\xf7\xe3\x77\x4b\xb6\x2f\xd0\xd0\x44\x65\xf7\xdd\x8f\xdf\xd9\x6b\xf6\xe3\x9f\x50\xf4\x4f\x60\xcd\xff\x84\xc2\x08\xf9\x27\xf8\xfa\x1f\x38\xfa\x1f\x18\xf2\xa7\x0b\x0c\xc3\xf0\xb7\x51\x16\x51\x97\x67\x4d\x9f\x43\xaf\x6c\x9a\xcb\xbe\xfb\x1a\x31\xf2\x57\xf2\x7f\x33\xfb\x8f\x78\x7a\xf3\xf1\x17\xf8\xf6\x17\xe4\xfa\x4d\x04\x79\xb9\x40\x22\x07\xd8\xaf\xa7\xe6\xe5\xf2\xa7\x29\x7b\xfd\xe5\xb3\x3f\xdb\x07\xc4\x0f\x3f\x66\x7f\xcd\xf6\xa1\x9f\x96\xf9\xa7\xff\xfe\x98\xfd\x1f\xfd\x8f\x4d\x19\xff\x47\xf9\xf7\xbf\xff\xf8\xdb\xda\x72\x3f\x4e\x3f\xfc\xf7\x77\xeb\x9c\xfd\x69\x5e\xa6\x32\x59\xbe\xfb\xdb\x97\x3a\x69\x69\xf6\x2c\xbb\xec\x97\x5a\x76\xcb\x8f\xdf\xfd\xbf\xff\x97\xcd\xda\x47\x87\xb1\xef\x7e\xfc\xef\x57\xd4\xac\xd9\x7f\xfc\x19\xfe\xfb\xcf\x3d\x5d\x7f\x53\x22\xee\x97\x56\x0e\xd9\xcf\x04\xbe\x14\xf3\xdc\x97\x68\xca\xa2\x9f\xcb\x58\x26\x7d\x3b\x7c\xa9\x20\xeb\x96\xd9\xf6\x73\xf9\xca\x9f\x6b\x7e\xfe\x34\x7d\x7e\x2f\x67\xe6\x13\xb0\xcb\x7f\xfa\x33\xf2\xf3\x98\x95\x75\x69\xd9\xe5\xcc\xaf\x38\x7e\xb9\xf9\x1b\xbc\x3f\x57\xa8\xfd\xe9\xbf\xe7\x25\x9a\x96\xcf\x92\xb8\x59\x97\x7e\x7c\xf8\xfb\xdf\x7f\xe9\x32\xf1\x9b\xda\x87\xbf\x4e\xfe\x98\xf2\xbb\xd2\x77\xff\xc0\x0e\xfc\x4d\x8a\x7f\xfd\x9c\xfd\x0f\x82\xff\xf5\x43\x69\x5f\x4a\xa5\xfe\xa1\x0e\x3e\x40\x99\xbe\x5b\xb2\x6e\xf9\xa5\xfd\xfa\xd7\x30\x49\x13\xcd\xb3\x5a\xce\xcb\xa7\x69\x44\xc9\x52\xbe\xb2\xef\x7e\xf8\xfb\x8f\xdf\x90\x63\x1d\xde\xe6\xf6\x07\x25\x84\xdf\xd8\xff\xf6\x2f\xd9\xc8\xfe\x9a\x46\x4b\xf4\xc9\xca\x27\xaa\xdf\x28\x9d\xfb\xec\x9a\x3b\x7f\xff\xc3\x8f\x73\xb6\xd8\x65\x9b\xf5\xeb\xf2\xfd\x6f\x75\xf6\x87\xca\xc9\xba\xf4\xa7\xe5\x8f\xf5\xf2\xf7\x8f\x5a\xc2\xdf\x10\xe5\x3d\xef\xeb\x05\x79\xbe\x8d\xa5\x3c\x7f\xcb\xd5\xf7\x7f\xfe\x1a\x47\x9d\x1d\x69\xbf\xfd\xae\x98\xfe\xd7\x2b\xfa\xa5\x89\xcf\x1f\x99\xd7\x07\x3c\x8a\x52\x3f\xfd\xf4\xd3\x07\x3a\xa6\x4f\x7f\xae\x8d\xfa\x67\xe4\x6f\xe5\xf3\x7b\xe4\xfa\xdb\x5b\xff\xf3\x3f\x08\xf9\xd5\xf7\xdb\x1f\x4f\xfd\xb6\x10\xc8\x0f\x3f\x5b\x28\x8a\x52\x7f\xfe\x07\x64\x9f\x9c\x17\x51\x97\x36\x19\xe8\x0e\xfb\x8b\x26\x99\x8f\x08\xf3\x5e\x8d\x8f\xa6\x2d\xbf\xd5\xc0\x1f\x50\xf8\x96\x49\xfc\xda\x5e\xfc\x5b\x86\x37\x65\x6d\xff\xca\x7e\xb5\xbd\x6f\x7b\xea\x67\x67\x9f\x2f\xec\xfd\x52\x30\xfa\x87\x1f\x7f\x29\xaf\xf8\xc5\x33\xff\xb9\x1f\x7d\xf8\xec\x37\x41\xb2\x2e\xfd\xfb\xdf\xfe\x49\x5c\x80\xbf\x61\x9b\x6f\x39\xbf\xb1\xd6\x7f\x3c\xfe\xd3\x9f\x91\xbf\x7d\xd6\x42\xfd\xac\x02\xf9\xb7\xec\xa7\xe5\xb7\x52\xff\xdf\xdf\xd9\xf4\xbc\xc6\x9f\x8d\xbe\xbf\x9f\xbe\x48\x32\xbd\xd9\xfd\xe1\x3f\xfe\x35\xe4\x0f\x3f\x2e\xbf\xd6\x3f\xfe\x5c\xe9\xe9\xfb\xec\x87\xbf\x7f\x38\xc8\x47\xff\x8d\x7f\x16\x0a\xff\xf6\x0f\x4d\x6d\xbe\x41\xe9\x5f\x28\xfd\x9f\x29\xfc\x87\xaf\x2a\x3c\xff\xcc\x60\xf9\x66\xf0\xb7\x76\xf7\x2d\x1b\xfd\x7d\x7d\xd9\x37\xc2\x1f\xff\x30\x64\xfe\xed\x9b\xeb\xf7\xe7\xec\xb7\xfa\xff\xb5\xe7\xdd\x57\x22\xff\x52\xb3\xf7\xc7\xef\xbe\xfb\xe1\x6f\xd3\x6f\x3a\xdb\x66\xbf\x17\x61\xfa\xa2\xe3\x7f\x10\xe3\x9b\x91\xef\x5f\x39\xd1\x1f\xb0\xf7\x55\x8b\xb6\x4f\x44\x7f\x1d\xd7\x6c\x3a\xac\xac\xc9\x92\xa5\x9f\xbe\xff\xee\x17\x80\xbf\x7c\x56\x8d\xff\x6c\x8d\x3b\x7d\xe2\xf8\xba\x5b\xd1\xb7\x70\xec\x6f\x88\xbf\x4c\xfd\x36\x7f\xf7\xc3\x5f\xfb\xe7\xf3\xad\xc7\x7e\xb8\x4c\xbf\x7e\xfe\xe3\xf8\xff\x51\xa1\xfe\xaf\x4d\xf6\x5c\x7e\xfa\x19\x56\xcd\x9e\xcb\xe5\xbb\x61\xff\xc6\xa6\xf4\x39\x63\xe9\x87\x9f\xca\x7f\x09\x55\x64\x65\x5e\xfc\x8a\x59\xfc\xf8\xfa\x2f\x67\x35\x65\x97\x89\xdf\x9c\xf9\xb7\xcf\x36\x4c\x7f\x38\x3f\xcf\x16\xba\x5f\x3f\x9d\xa4\x29\xb3\x6e\x31\xb3\x64\xf9\xfe\x17\x0b\xfe\x62\x29\xff\x5a\xe6\xaf\x40\xbf\x16\xf6\xab\xdb\x1f\xdd\xf0\x7e\xea\x3f\xff\x7f\x1b\xec\x8b\x32\xfa\x2f\x1f\xbe\x0d\xf8\x1b\xf9\xff\x01\xf8\xef\xd9\xff\xfc\xcf\x1f\xfb\xc7\xcf\x05\x8a\xff\xc9\xb6\xfd\xb1\x51\xc2\x5f\xfb\xec\x1f\x06\xed\x3f\xe8\xf0\xfe\x7b\xcd\x7d\xf7\x6d\x55\x7d\xf7\xdd\xdf\x7f\xcc\xfe\xfe\x56\xfb\x5f\x7f\xc3\x89\x98\x35\x43\x36\xfd\x54\xfe\xff\x27\x29\x9d\xbe\xff\x68\x45\x3e\x7d\x8f\xfd\xf0\xe3\xfc\xad\x14\xf5\x8b\x38\xff\xef\x97\xc4\x33\xfb\xa3\xc4\x30\x4a\x53\xa6\x88\xa6\xaf\xea\x32\x97\xcf\xef\xb3\xff\xf3\xd3\x77\x7f\xfa\xee\x67\xdf\xee\xbe\x5f\xbe\x18\xd6\xff\xfb\xb5\xbb\x5d\xf1\xce\xcb\x97\x2f\x65\xbc\x7f\x37\xfe\x9f\xd9\x7f\xfd\x7f\xff\xdf\xf7\x9f\xf1\xef\x0f\xef\xfe\xf0\xdb\x60\xfe\x2b\xc0\x71\xf9\x7a\x20\x8e\xe6\xec\x1d\x25\xfe\x3c\xfd\x8e\xd6\xfe\x73\x1d\xf7\xf7\xce\xf5\xfd\x57\x37\xdf\xa6\xf5\x51\xe3\xf8\xfb\xf2\x87\xff\xfc\x7a\xe2\x5f\x90\xff\xfa\xb9\x90\xf2\xff\x7e\xc6\x7f\xa2\x5f\x3a\xd6\xfc\x1b\x53\x90\xff\xba\xfc\x94\xfd\xc7\xbf\x35\x0b\xfd\xb7\x59\x43\xbf\xd0\xf9\x92\xb2\xfc\x7a\xeb\xd3\x47\xcc\xf7\xde\xf4\x35\xc6\xe3\x87\x1f\x7e\xf8\x25\x9e\xff\x06\xd9\x65\xfa\x0b\xf2\x7f\x7e\xb7\x6c\x7d\xf3\xd1\x67\xec\xab\xe1\x6d\x8a\x86\xe8\xa3\x1d\x94\xf6\xce\xfe\xbe\x46\xf5\x13\xfc\xe3\xe5\x77\xcb\xf9\x7f\xbe\x1a\x98\x3f\x1a\x73\xd0\xfd\xb2\xf4\xed\xff\xfd\x1d\x93\x7f\xf9\xcb\xd7\x22\x7d\xc2\x7f\xb6\x3c\xf9\xa6\x92\x7e\x27\xeb\x5f\xcb\xd9\x9b\xa2\x61\xc8\xd2\x9f\xfe\xfc\x6b\xfb\x30\xf4\xa7\x9f\x7e\x9a\x7e\x6e\xee\x50\x3e\xbf\xff\x5f\x5a\xe3\xd7\x2c\x7d\xf6\x7d\xfd\x50\xc1\x3f\xf6\xce\x9b\xfe\x76\xb9\xf4\x3f\xc0\x3f\xd7\xf0\xfe\xdf\x70\xfa\x87\x04\x7f\xf8\xeb\xd0\x0f\xdf\xff\xf0\x9f\xe8\x7f\xfd\xce\x05\xfe\x99\x61\xbc\x57\xed\xc3\x9a\xd0\x7f\xc6\xc1\x37\xe7\xfd\xe7\xbf\x6b\x88\x5f\xe6\xfd\xf4\xbb\xf1\x75\x02\xcb\x32\xfd\xf8\xdd\x9f\xbe\xfb\x11\xf9\xaf\xdf\x19\xe9\x6f\x51\x7e\x74\x27\x4f\x7e\x67\xac\xfb\x8f\xf0\x8f\xff\x02\xeb\xd7\xf1\xe9\x9f\x7a\xcc\xb7\x79\xcc\x7e\x9c\xfe\xeb\x6b\x06\xf7\xcb\xe5\xdf\x72\xac\x1f\x3f\xec\xea\xdf\x74\xe2\x7f\xa2\xb6\xef\x7e\x84\xff\x88\xa7\xaf\x37\xb8\x38\x6b\x9a\xff\x1f\x7b\xef\xa2\xdd\x36\x8e\x24\x80\xfe\x8a\xcc\xed\x56\xc8\x08\x92\xf9\xd0\x5b\x86\xbd\x89\xe3\x4c\x67\x27\x8f\xbe\xb1\xbb\x7b\xfa\xca\x5a\x2f\x2d\xc1\x12\x27\x32\xa9\x06\xa1\xd8\x9e\x58\xfb\xed\xf7\xa0\x00\x52\x24\x01\x52\x72\xd2\xd9\x99\xbd\x67\x73\x4e\x64\x90\xac\x2a\x14\x80\x42\xa1\x50\x00\x0a\x7a\x03\xb4\x58\x37\x9f\x83\x78\xed\x2f\x5f\x92\xe5\x52\x65\x32\xb1\xba\xc4\x18\x77\x1d\xd1\x19\xa1\x70\xd9\x1b\x36\xee\x16\x01\x23\x46\xc9\xbc\x23\x1d\x5d\xf6\x22\x65\x6c\x90\x63\x2b\x92\xb0\x8a\x56\x1f\x42\xc1\x56\xe1\xcb\x4d\x34\x5d\xc7\xa6\x55\xb0\x5f\x79\x85\xbe\x26\x44\x9d\x3e\x67\x65\x32\xfc\x4c\x28\x3b\x8b\x34\x45\xbd\xc7\xb6\xf5\x44\x0d\xa5\x12\x29\x57\x51\x96\x52\xbe\x7b\xad\x62\x55\x87\xb5\x66\xb3\x60\xba\xf8\x94\x06\xfe\x9c\x7c\x84\x3a\xae\x28\xed\x3d\xb6\x0b\x32\xe1\x4f\x3f\xc5\x2b\x7f\x4a\xaa\x90\xf8\x94\x61\x17\x0b\xcc\xbf\xae\xcc\xb7\xf0\x22\x24\xf7\x2c\xb9\x05\x39\x4b\x26\x5e\x04\x37\xec\xc3\x5a\xf5\x40\x5d\x65\x6f\x62\x9a\xbf\x25\x9f\xc9\xd2\x2c\xce\xf6\x01\xf9\x4d\x55\xf9\xb7\xb8\xc5\xa9\x8e\xd0\xd1\x70\x3b\xb6\x3a\xb9\x41\x14\x05\x28\x82\xab\x12\x4c\x86\xc9\xd8\x9e\x58\x47\x0e\x6f\x6a\xec\x58\xc9\x85\x7b\x3b\x07\x05\x65\xf0\xb8\x47\x91\xd2\xa7\xc5\x35\xea\x8c\x51\xd3\x92\x8a\x6b\xc4\x9a\xcd\x7a\x3d\x38\xd2\x08\xc6\xa8\x38\xa2\x6e\x15\x08\x4d\x35\x65\xd0\x68\x20\x1b\x45\x15\x5a\x95\xca\xe1\xa3\x20\x53\xf2\x0a\x7e\xdd\x2d\x5c\x63\x7b\x32\x62\xdb\x1a\x50\x24\x3e\xf1\x6a\x66\xde\x1d\xd9\x9a\xae\x81\x15\xaf\x17\x64\xfa\xaa\xe8\xb4\xda\x2f\xdb\x86\x26\x5b\xa5\x43\xf1\x69\xa1\x8e\x13\x0d\x58\x53\xcd\xe3\xab\x3b\x28\x94\xeb\xb5\xb8\x88\xff\xe9\x45\xbb\xd7\x14\xad\x8c\x15\x55\x89\xe9\x46\xe1\x62\xd7\x11\x0c\xbe\x94\x57\x94\x7f\x05\x87\x7b\x57\x8c\x82\xa9\x91\x96\x7b\x9d\xb4\xdc\x97\x48\xcb\x7b\x72\x0f\x77\xea\xff\x8b\x4a\x4c\x51\xe3\x0a\xa6\x7f\xa6\x64\x4a\xf8\xdc\xfc\x2b\x39\x7f\x4a\x17\xdb\x93\x25\xae\xfb\x92\x6b\xd3\xbf\x42\x00\x30\x6b\x3a\xda\x92\x96\xfa\x5d\x11\x1d\x09\xb2\x4d\x07\x51\x9c\xb8\xc2\x8f\xb1\x7b\x42\xc6\xce\xa4\xe9\x0c\x6d\xc4\x8e\xec\x13\x86\xed\x21\x2b\x6d\x95\xb2\x66\xa0\x47\xf6\x09\xc5\xf6\x90\x96\x75\x13\x45\x6d\xcb\x7e\xa1\x16\x8c\x2a\x35\x8d\x59\x45\xf7\xbe\xc8\x8e\x84\xb9\x3b\xc8\x09\xdc\x98\xef\x70\x8d\xae\xa8\xee\xbd\x47\x48\x18\x21\xde\x84\xaf\x82\x78\xb5\xf4\x1f\xd4\x5a\x1d\xc5\x77\x01\x9b\x2e\x4c\x18\xa5\xbe\x4c\xfd\x98\xd4\xec\x21\xe7\x41\x37\xd2\x7c\x0c\xe6\x0b\x65\x8e\x71\xaf\x94\xd7\x42\x4a\x3d\x3f\x34\x9c\x11\x2b\x0e\x4a\xbc\xf2\xb7\xf7\xaa\x17\xf2\xe2\x92\x6e\x32\x6b\x24\xae\x4a\x06\xc6\x9c\x52\xc6\xde\x92\x9b\xaf\xe4\x4b\x5b\xbb\x65\x0c\xb8\x82\x01\x9d\x10\x3d\x89\x8e\x37\xcc\x38\x39\x8b\x63\xac\x90\xeb\xa6\x2e\x0f\x7a\xac\xe9\xb3\x02\x8b\xd1\xe0\xf6\x9c\xf9\x94\x8f\xcf\x4a\xc1\xb9\x41\x81\xdf\xf9\x6c\xd1\xba\xf5\xef\x95\x3e\xcf\xbf\x36\x29\x52\x7b\xfe\xc3\x2c\x88\x57\xe5\x78\xfc\x2b\xe0\x15\x67\x0e\x52\xe6\x14\x5d\xa5\x13\xb5\x6f\x11\xb3\xbc\x6c\x7c\x83\x5c\xe4\xdb\xb8\xbc\x11\x8b\x78\x1b\x9d\x51\xc8\x41\x4b\x8c\xc2\x3f\xdb\x24\x14\xda\xab\x28\x2a\xd9\x09\x46\x19\x8e\x36\x83\x66\xd0\xd0\x6b\x9b\xac\x60\x96\xcd\xfd\x6f\xfd\xfb\xb7\x00\xb0\x5b\x42\x35\x03\x14\x64\xaf\x0c\xf6\x42\xc4\x9a\x88\x36\x9b\x28\x68\x36\x4b\x8c\x52\x69\xb9\x52\x64\x17\xbf\x5f\x2f\xfd\xf0\x13\x34\xdd\x81\xad\x4e\x9f\x72\xd8\x01\x72\x94\x39\x7f\xf5\xac\x7c\x7f\xe0\x6c\x83\x14\xd4\xb3\xb8\x0c\xf2\x7f\xb3\xc8\xfc\x33\x05\x06\x3b\x7a\x89\xd1\x18\x1c\xf9\xc6\x6e\x38\xdf\x24\x2c\xf4\x9f\x29\x2c\x15\x93\xce\x6f\x16\x96\xfd\xe6\x97\x7b\x4d\x24\x15\xad\x5b\xd6\x26\xc9\x9c\x72\x1d\x2f\xcc\xa0\x38\x45\x87\xca\x28\xcc\x2a\xf7\xb3\x90\x72\x0d\xa6\x2b\x6e\xb1\x0e\x44\x5e\x17\xd1\xaa\x94\xd3\x27\x13\x93\x1d\xaa\x42\xd4\xac\xa7\xc8\x51\xca\xe1\x9f\x24\x4f\xe2\x93\x32\x7d\xfe\xae\xf5\x2b\xab\xe4\x4f\xab\x62\xde\x5e\xff\xaa\xf5\x0b\xbd\xe7\xff\x47\x3e\xa2\x71\xd0\x68\x4c\x70\x54\xe5\x0a\xf8\x93\x66\x33\x2b\x4a\x3e\xeb\x66\x33\xd3\x85\xcf\x67\x88\xdf\x38\xef\xfc\xbe\xbe\x91\x9f\x92\x29\xec\x47\xb2\xf4\x59\xf0\xf9\x6b\xb8\xfc\xee\x0e\x1c\x4a\x56\xc4\x67\xa9\x5b\x21\xbd\x49\xad\xba\xf1\x54\xc1\x2c\x5f\x79\xd2\x75\xd9\x07\x0b\x05\x98\xea\x16\x36\x1f\x1f\x8b\x6f\x67\xe4\x26\xb3\x1e\x23\xc4\x46\x45\xe5\x02\x19\x14\xb4\x1a\x09\x67\xaf\xc8\xe7\x60\x4a\xb6\x37\xa1\xe7\x8a\xc5\x0b\x73\x6c\x27\xfb\xc3\x72\x42\x77\x13\xdc\x9f\x18\xc7\x86\x6a\xb2\x88\x6f\x6a\x6d\x07\xb1\x69\xc0\x06\x12\xc3\x2a\xae\xe5\x72\x3e\xcc\xa0\x75\x6a\xb7\xce\xce\x4f\x1b\xc6\xf8\xd8\x1e\xb9\xbd\xee\xc8\x9e\x1a\xca\x4a\x23\xa7\x42\xef\x3f\xb3\xe6\x3a\x0c\xa6\xd1\x8c\xec\x41\xac\xdf\x19\x0d\x3a\xa5\xc4\x96\x41\xb8\xbe\x2f\xa1\xc2\x8b\xdf\x30\x4a\x10\xe3\x29\x25\x24\x34\x2c\xc5\x15\xa7\x32\xe0\x8d\xda\xb6\x6d\x7b\xc0\x83\x96\x96\xac\x17\xb9\x5f\xb0\xaa\xb4\x5a\x90\x84\x95\x5d\x55\x71\xe2\x8c\xdc\xea\x6a\xd8\x59\x98\x93\x2e\x2f\x83\xba\x18\xf4\x4d\xaa\xe6\x41\xa7\x6a\xbe\xd5\x5f\x98\xe7\xf1\xd7\x6f\x57\x35\xff\xca\x6e\xf0\x9f\x7e\xd5\x7a\x03\x79\x89\xa0\x3c\x3c\xc1\x8b\x44\xc6\x4e\xf2\xc2\x99\x68\x5b\x42\xba\x0d\xbf\x77\x39\xb1\xf0\x44\x7e\x5f\xd5\xcd\xfc\xeb\xd3\x25\xf1\x69\x79\x5b\x63\xfb\x44\x4c\x15\x6a\x05\x7a\xcc\xbf\x8e\xd5\x95\xe2\xa1\xc7\xf5\x9d\xca\x0e\x87\xc6\x5f\x36\x45\xa3\x91\xc0\xd6\x84\xe2\x2e\xe1\xd4\x1f\xeb\x58\xdb\x61\xc3\x1e\xb1\xa3\xe4\xc3\xd6\xd1\x27\x29\x98\x63\x32\x66\x93\x89\x95\x6e\x9f\xd0\xaa\x5c\x20\x6e\x9c\x94\xaa\x64\x4b\x75\x2a\x29\xae\x20\x7f\xc5\xad\x4a\x9f\x73\x7b\x0a\xd6\x0a\x3e\xb0\x2b\x5d\x3e\x31\x61\x30\x24\xc6\x84\x99\x36\x8a\x5a\xaf\xce\x5e\xbf\xf8\xe5\xed\xc5\xd5\xe9\x4f\x2f\x3e\x9e\x9f\x5d\x28\x0d\x9f\x85\x77\x9e\x08\xef\x3e\x11\xde\xd3\xc0\xe7\x7d\x8b\x45\x64\xff\x33\x99\x9d\x46\xcb\x58\x27\x5d\xc5\x9c\x28\x89\x83\x7f\x10\xd3\xf1\x5c\xe5\x4b\x74\x17\xe7\x32\xea\x16\x33\x8a\x68\x30\x0f\x42\x10\x8e\x7c\xfd\xf6\x8a\x90\xf9\x8d\x3e\x05\x68\xc7\x1d\x66\x73\x51\xb2\x59\x46\x73\xd3\x38\x27\x34\xf0\x97\xb5\x55\x44\x59\x8d\x92\x3f\xd6\x24\x66\x64\x56\xcb\x34\x74\xed\x13\x79\x58\xf9\xb3\x96\xa1\x54\x66\x06\xe8\xaf\x00\x93\x1e\x51\xd8\xc2\x7c\x0e\xc8\x1d\xa7\xdd\x8a\x1f\xc2\xe9\x39\x58\xf8\x2f\x28\xf1\xcd\x5c\x05\x0c\x86\x82\x5f\xe2\xc9\x84\x6d\xbb\x69\x4a\x69\x86\x7b\xc7\x7e\x17\xad\x63\x82\x61\x77\xfc\x58\xdd\x82\xf1\x99\xb9\xb6\x04\x71\x88\x57\x02\x14\x46\xf4\xd6\x5f\x0a\x28\xb0\x63\x1c\xe2\x15\x61\x6e\xf9\xd7\xb3\xcf\xb0\xf1\x56\x2d\x5a\xb2\x8b\xa2\x70\x42\x82\x84\xfe\xf5\x92\x34\x01\xb7\x49\x00\x59\xad\xba\x18\x76\xcd\x06\x51\xf8\xce\x0f\xfd\x39\xa1\xad\x59\x10\x73\x34\x53\x9d\xcd\xf1\x46\x7a\x19\xc0\x7e\xd2\x1a\x8b\x6a\x40\xb7\x26\xe8\xb6\x8c\xbc\xe7\xd6\xb6\xdb\x6a\x07\x0c\x67\xaf\xa3\xe9\x3a\x2e\xca\x86\x6d\x77\x8a\xb0\x6b\x76\x23\xea\x43\x01\x55\x44\x27\x9e\x53\x3d\xa8\xa3\x52\xe5\x16\x8a\x0e\xd8\x55\x40\xc5\x0c\xe8\xa7\x60\x36\x23\xb0\xab\x3c\x47\xb9\x2d\xa5\xa4\xdd\x4b\x44\xa3\xdd\x1b\x06\x37\xe6\x81\xb6\x61\xd3\x0d\xff\x60\x57\x6b\x37\xa4\x21\xb0\xac\x8b\x9f\xc4\x7c\x10\xbc\x5f\xca\x27\xfe\x12\xdd\x2b\xf2\x88\x1e\x14\x48\x94\xce\x80\x95\x9a\x4b\x27\xdb\xd9\xf9\xae\x1e\x4a\x4e\xf1\xf9\xf0\x51\x04\xe0\xef\x36\xc5\x19\x39\x25\x5c\xaf\x29\x22\x54\xda\x07\xf5\x7d\x42\x5d\x77\x8b\x17\xd1\x9d\xd0\xf7\xa6\xb5\xd9\xc0\x71\x80\x9a\x3a\x5a\x28\xb2\xb7\xdd\x7e\x87\x0f\xec\x4d\x71\xda\xf4\xed\xc3\x5f\x4a\xe3\x9f\x3a\x00\x3a\xf9\x31\xc3\xf1\x34\x9b\xfa\xb4\x56\x5a\x3a\x9c\x28\x5f\xe4\xd8\x51\x06\xaf\x1d\x50\x90\xde\x50\x49\x91\xf6\x1e\x70\x9c\x27\x0d\x38\xce\xd3\x07\x1c\xa8\x65\xae\xcd\xae\xfd\xe9\x27\xae\xd2\x84\xd8\x3d\x69\x9c\x51\x2c\xc3\xef\x39\xce\x68\x72\xdb\x8e\x30\xea\xc7\xec\xc8\xa2\x7e\xcd\x8d\x29\xca\x57\x75\x4c\x49\x0e\x3f\x7d\xdd\xb0\x22\xb0\xcc\xa7\x0c\x13\xce\xfe\xc3\x44\x11\xb4\x62\x98\x70\x9e\x32\x4c\x38\x4f\x19\x26\xec\x3d\x86\x09\x6d\x0b\x95\xac\x96\x28\xfb\x01\x00\x58\x0e\x19\xba\xc1\xa2\x04\x41\xbb\x23\x59\x2c\x04\x97\x20\xc0\xf0\xb2\x6b\x26\x23\x81\xd5\xb5\xd7\x32\xaa\xfa\x4d\x90\x17\x51\x19\x1b\xdb\x01\xaa\x62\x4c\xaa\xc4\x4d\x86\x2d\xcd\x24\x48\x8f\xc6\x3f\x95\x8c\x45\x70\x86\x76\x97\x94\xc7\x84\xbd\x5c\xdf\xdc\x10\x65\x4b\x03\x34\x9a\xd2\x4b\x28\xb9\xa1\x24\x5e\x98\x8a\x45\x57\x32\x1b\xdd\x7b\xfc\xcc\x8e\x93\xd6\xd7\x8d\x93\x4e\xf1\x70\xcc\xc2\xa7\x25\xde\xb7\xe0\xc6\x74\xe0\x9c\xa6\x18\x17\x1f\x1f\xed\x03\x61\xea\x66\xfc\x8d\x99\xfd\x3d\x28\xc0\x36\x8a\x94\x91\x49\xec\x65\x3e\x3e\x76\xfa\x48\x9d\xd7\x24\x1f\x07\xf5\x8e\xe3\xa0\x10\x77\x1c\x47\x39\x56\x22\x60\x46\xc1\x11\x1d\x05\x8d\x86\x05\x3e\xf8\x60\x62\x1d\x63\xcf\xae\xd7\xd9\x11\xf6\x7a\x27\x31\x66\x4d\x0f\x36\x13\xb5\xc5\xbb\x76\xef\x24\xc4\xac\xd9\x86\x77\x03\xf1\x6e\xc0\xe1\x4c\xd6\xc0\x7d\xab\x39\x80\x0f\x8e\x2d\xbe\x38\x36\x07\x97\x9f\x1c\xdb\x1e\xc2\xc6\xfd\x13\x53\x29\x8c\xf4\x74\xea\x0b\x93\x7e\xac\x28\x8c\x84\xb1\x86\x0e\xe4\x10\x3d\x62\x67\xd8\x4e\x92\xee\xb0\x93\x24\xdb\xc3\x5e\x92\xec\x0f\xfb\x29\x6c\x77\xe8\xba\xe2\xa1\x8e\x9b\xee\xd0\x6d\xa7\x0f\xde\xd0\xed\xa4\x0f\x9d\xa1\xdb\x4b\x1f\x06\x43\xb7\x9f\x3e\x38\xbd\xa1\x37\x80\xa7\x1d\xec\x0f\xdb\x02\xac\xaa\x14\x43\x4f\x10\x76\x61\x06\x14\x34\x9c\xc9\x89\x19\x34\xb0\x8b\x9a\xbc\x74\xa6\x92\xc3\xad\xcf\xa6\x0b\xd8\x06\x6e\xba\x9d\x4e\x9d\xb7\x22\x92\x89\x86\xb3\x4d\xba\x13\xcb\xaa\xd7\xcd\x98\xe7\x6c\x21\x4e\xd0\x82\x8a\x11\x60\xf0\x85\xe1\x04\x18\xbb\x13\x6b\xd8\xae\xe4\x23\xfc\x36\x3e\xc2\x52\x3e\xc2\x22\x1f\x8e\x2d\x05\xe7\xdb\x64\xa3\x38\x64\x53\x1a\x51\xd3\xf8\x25\xfc\x14\x46\x77\x61\xed\xfc\x2f\x1f\x6b\x7e\xd2\x61\x87\xb5\x1f\x67\x2d\x03\x69\x0e\x69\x89\x5e\x83\xa3\xa3\x23\xa7\xff\x18\x1f\x1d\x0d\x1e\x43\xa1\x2f\x4a\x00\xf5\xcc\x14\x57\xb5\x3f\x07\x53\x72\xce\x7c\xb6\x56\x34\xc5\x9f\x65\x11\xab\x43\x7c\xd1\x03\x6c\x34\xd4\xb3\x33\x8e\xd5\x30\x46\xea\x87\x7b\xf8\xf0\xd1\x28\xd7\x95\xca\xd8\x5f\xcc\xce\x0e\x8d\x6a\x5f\x4a\x11\xe1\xeb\xd8\xcb\x3b\xee\xa2\x1b\xf6\x91\xcf\x3d\x72\x95\x5c\x3d\x97\x2d\x3f\x9a\xa4\xf9\x98\x33\xc7\x8b\x1f\x15\x97\xcf\x9f\x6a\x2e\x57\x10\x4b\x27\x3c\xe5\x16\x85\xc2\x4b\x95\xcd\x20\x46\xdb\x22\x46\xb5\xc0\xef\x34\x8f\x1e\x54\x1e\xe4\xd1\x46\xad\x29\x31\x5f\x92\xcf\x64\x59\x8a\x13\xe3\x31\xc7\x9a\x28\x8e\x5b\x51\x17\xe7\xec\x61\x59\xb6\x52\x70\xe4\x9c\x38\x43\x70\x23\x4b\xa9\x66\xe9\x9c\xb2\xd4\x55\xfa\x61\x05\x74\x8c\xe9\x96\xba\x81\x8c\xeb\x65\x34\xfd\x64\x14\x5c\x93\x7a\x4b\xa2\x94\xc6\x3a\x9c\x11\xca\xad\xa1\x3c\x9d\xce\xb0\xac\xd3\x94\xf1\xe2\x53\xc3\xda\xc8\x3d\x97\x3f\xba\x18\x3b\x45\xcd\xa6\xa0\xbe\x5c\x06\xe1\x27\x03\x51\xd5\xfb\x2d\xe4\xee\x23\x99\x17\xd7\x25\xb4\xca\x48\x5d\x66\xdc\xca\x9d\x29\x97\x55\x2d\x55\x9e\x72\x12\x08\xeb\x1a\xf5\x3a\x2c\x73\xe8\xc4\x11\x36\x40\x17\x2b\x03\xa6\xd7\x9a\xb5\x08\x55\x6a\xd4\x73\x15\x7c\xfa\x2d\xfb\x4d\x45\x01\x61\x92\xfe\x37\x75\x0b\x82\x0e\xec\x77\x45\xe2\x15\xc7\x0a\x8b\xe8\x1e\x99\x2a\x5d\x47\x70\xf1\xf8\xa8\x29\x96\x96\x91\xc7\x47\x3b\x3d\x63\xfd\x26\x5c\xad\xd9\x4f\x22\xa4\x01\x8e\xe1\x04\x71\x61\x2b\x4c\x72\x04\x9a\x65\x36\x6e\x80\x41\x1a\x24\xfb\x74\x21\xae\x09\x39\x0a\xc6\xf6\x04\x5a\x93\x1c\x07\xe3\x68\x32\x76\x26\xdb\xe8\x25\xdc\xae\x1d\x45\xc7\x98\x8e\xe0\xd0\xab\xd8\x51\x7b\xb3\x8c\x22\x6a\x9a\xb4\x11\x59\x87\xae\x85\x38\x1a\x13\x68\x98\x35\x1c\xf0\x09\x41\xf0\x06\xa0\xcd\x38\x6d\x2b\xa1\x68\x8f\x22\xd8\x3e\x9f\x64\xb0\x49\xd9\xa4\x9c\xcd\xe4\xe8\xdc\x31\x6e\x7b\x1d\xb7\x5e\x37\xc9\x11\x6e\xb7\xdb\xbd\xc7\xc7\x81\x6d\x73\xe3\x85\x40\xca\x15\x29\x72\x8c\x1d\x67\x60\xb7\xeb\x75\x0e\xe6\x3a\x03\xa7\x5e\x77\x5c\xaf\x03\x46\x3a\x7c\x6e\xb7\x6d\xcf\x85\xcf\x9d\x8e\x6b\x7b\xf0\xae\xeb\xf5\xda\x02\xa5\xdb\x76\x3b\x1d\xf1\xae\x63\x73\x43\x99\xbf\xeb\xd8\xed\x41\xf2\xae\xe7\xca\x77\x8e\x97\xc0\xb9\xfd\x04\xce\xeb\x75\xe5\xbb\x8e\x64\xa1\xdb\xe9\x38\xb6\x60\xcb\x73\x12\x64\x67\xd0\xed\xda\x02\x1b\x92\x7d\x78\xeb\x76\x5d\xa7\xed\x88\x8e\x1d\xe0\xf1\xb8\xd7\xed\xa3\x7e\x6f\x30\x41\x63\xc7\xe9\x74\x90\xe3\x74\xfa\x90\xee\xda\xc8\x71\xba\x0e\x4f\xb7\xdd\x0e\x72\xda\x5d\x80\x69\xf7\x1c\xc4\x7f\x44\xda\xe3\xe9\xb6\x48\x77\x79\xba\x27\xd2\x03\x9e\x06\xf8\x8e\xd7\x45\x4e\xc7\x13\xe9\x8e\x8b\x9c\x4e\x07\x60\xba\x8e\x83\x9c\xae\x67\x43\xba\xdd\x47\xfc\x87\xa7\x7b\x1d\x1b\x39\xbd\x2e\xd0\xec\x75\x7b\x3c\x2d\xde\xf7\xf8\xfb\x9e\xc7\xd3\x7d\xbb\x87\xf8\x8f\x48\x0f\x78\x1a\xe8\xf7\xdb\x36\x72\xfa\xdd\x2e\x4f\x0f\x3a\x7d\xe4\x0c\x00\xd7\xb5\xdd\x1e\x72\x6d\xaf\xc3\xd3\x9e\xdd\x41\xae\x67\x77\x21\xdd\x6d\x23\xfe\x23\xd2\x03\xe4\x7a\x3d\xf1\xbe\xef\x20\xfe\x23\xd2\x1c\xbe\x0f\x74\xda\xb6\x8b\xdc\xb6\xed\x41\xda\xf3\x10\xff\x81\xf4\x80\xbf\x1f\xb8\x22\xdd\x43\x6e\xc7\xe6\xe5\x72\x3b\xf6\x80\xa7\x07\x90\xf6\x6c\xe4\x76\x3c\xa0\xd9\xe9\x3a\xc8\xed\x74\x01\xbe\xeb\xda\x88\xff\x88\x74\x87\xa7\x81\x87\xae\xe7\x20\xb7\xeb\x09\x18\x8f\xbf\xf7\x7a\x90\xee\xb9\xc8\xed\x42\x3d\xb8\xdd\xfe\x00\xb9\xdd\x01\xe0\xf6\xda\x7d\xc4\x7f\x20\xdd\xf1\x90\xdb\x83\x7a\x76\x7b\x9d\x01\x72\x7b\x5d\x01\xd3\xed\xf0\x34\xd4\x43\xaf\xdf\x45\x6e\xaf\x0f\x30\x7d\xa7\x87\xf8\x0f\xa4\x7b\x5d\xc4\x7f\x44\x7a\xc0\xd3\xc0\x7f\x9f\xd7\x49\xbf\x0f\xf9\xf6\x07\x1e\xe2\x3f\x3c\x3d\xe0\x75\x32\xb0\x81\xcf\x41\xbb\x8b\xf8\xcf\x04\x8d\x3d\xdb\xee\x23\xfe\x03\x69\xd7\x41\xfc\x87\xa7\x1d\xaf\x8d\x3c\xc7\x03\x18\xa7\xed\x22\xcf\x69\xb7\x45\xba\xcb\xd3\x03\x48\x77\x7a\xc8\x13\x72\xe8\xb9\x5d\x1b\xf1\x1f\x91\xf6\x78\xda\x83\x74\x8f\xbf\xef\x89\xf7\xbd\x2e\x4f\xf7\x20\x3d\xe8\x23\xcf\x1d\x00\x1d\x6f\xe0\x21\xcf\x1b\xf0\xf2\x7a\x6d\xbb\x83\xf8\x0f\x4f\xf3\xb6\xe0\x3f\x22\xdd\x47\x5e\xa7\x2d\xd2\x9c\x9f\x4e\x9b\x97\xc5\xeb\x7a\x1e\xe2\x3f\x22\xdd\x45\x5e\x57\xbe\xef\x74\x90\xd7\x85\xb6\xf3\x7a\x5d\x07\xf1\x1f\x91\x6e\xf3\x34\xe4\xdb\xeb\xf1\xf7\x3d\x01\xd3\xe7\xef\xfb\xf0\xbe\xcf\x61\xfa\x50\xff\x1e\xaf\x43\x4f\xd4\xa1\xd7\x1f\x74\x78\x5a\xbe\xef\xf1\x34\x94\x65\xd0\xf1\x90\x37\x00\x79\xf6\x06\xdd\x3e\xf2\x06\x82\xe6\xa0\xd7\xe6\x69\x80\x1f\x70\xfa\x83\x01\xf0\x30\x18\x78\xa8\x6d\xbb\xbc\xde\xda\xb6\xd7\x47\xfc\x87\xa7\x9d\xb6\x83\xda\xa2\x9e\xdb\xbc\x9e\xf9\x0f\xa4\x3b\x36\x6a\x3b\x1d\x47\xa4\x3d\x9e\xf6\x20\xdd\x6f\xa3\xb6\xd3\xe7\xf4\xdb\xed\x76\x1f\xb5\xbb\xd0\xd7\xda\x83\xce\x00\xf1\x9f\x09\x1a\x77\x06\x76\x17\x75\x06\xd0\xbe\x9d\x81\xd7\x47\x9d\x01\xd4\x61\x67\xd0\xb3\x51\x67\x00\xfa\xa1\x6b\xdb\x2e\xea\xda\xd0\x5f\xba\x76\xb7\x8f\xba\x36\xd4\x4f\xd7\xee\x39\xa8\x6b\x43\x7b\x75\xed\x7e\x17\xf1\x1f\x91\x1e\xa0\xae\x0d\x6d\xd7\x75\xec\x01\xe2\x3f\x90\xee\x74\x50\xd7\x01\x79\xee\x7a\x8e\x87\xf8\x0f\x4f\xb7\x3d\x17\x75\xdb\x5e\x5b\xa4\x07\xa8\xdb\x06\x1e\xba\xed\x8e\x8d\xf8\x8f\x48\xf7\x78\x1a\xe8\x74\x7b\x03\xd4\xed\xf6\xe1\xfd\xc0\x71\x51\x77\xe0\x74\x20\xdd\x6d\x23\xfe\x23\xd2\x5d\xd4\x1d\xf4\x04\x4c\x8f\xc3\x40\x9d\x77\x07\xbd\x3e\x4f\xf3\xf2\xf6\x6c\x67\x80\x7a\xb6\xcb\xf9\xe9\x75\x9d\x2e\xea\x89\x3e\xdb\xeb\xf6\xfa\xa8\xd7\x85\xfe\xd2\x77\x6d\x0f\xf5\x5d\xa8\xb7\xbe\xeb\xb5\x51\xdf\x85\xb6\xe8\xbb\xfd\x3e\xea\xbb\xd0\x5e\x7d\x2e\xab\x7d\x0f\xea\xa7\xdf\xb6\x6d\xd4\x6f\x83\x7e\x70\x5c\xcf\xb3\x11\xff\xed\xc0\x53\xbb\xed\x20\xfe\xcb\xf9\x68\x7b\xb6\xd3\x46\xf0\x2b\x9f\x06\xf0\x34\x10\x4f\xed\x0e\x7f\x82\xd6\xed\xb6\x5d\x5e\xb5\xfc\x97\x3f\x75\x6c\xb7\x8d\xba\x1d\x1b\x34\x71\xb7\x63\x77\xba\xfc\x49\xd4\x4b\xc7\xe5\x15\xc3\x7f\xe1\xa9\xe3\xf2\x27\xa1\xab\xba\x7d\x7b\xd0\x43\xfc\x17\xbe\xf5\x1d\xdb\x41\xfc\xd7\x95\x4f\x7d\xfe\xe4\x08\x48\xa7\xe3\xf2\xa7\x4e\x5b\x3e\x0d\xe0\x49\x8c\x2c\x03\xa7\xed\x21\xf8\xd3\x91\xcf\x30\xd6\x0c\x1c\xa8\x69\x48\x88\xef\x72\x24\x1a\xb8\x0e\x1f\x7f\x06\x2e\xb4\xb4\xe3\x0c\xbc\xae\x8b\xe0\x0f\xa7\x3e\xe0\xc3\x44\x07\x89\x3f\xf2\xd9\xeb\xf2\xe7\x2e\x70\x3d\x70\x7a\xbd\xae\xcd\x9f\x07\x83\xc1\x64\x32\x92\x83\x7b\x6a\xa4\x04\xe9\x78\x6f\x63\x8c\x83\x13\xd2\x0a\xd7\xcb\x61\x70\xe4\xb9\x8f\x8f\xc1\x31\x76\xdc\x5e\xbd\x1e\x1c\x39\x5d\xfb\x84\xb4\xa6\x51\xc8\x68\xb4\x1c\x32\x33\xb0\x4e\xec\x21\xe5\x7f\xdc\xa1\xb3\xd9\x98\x5f\x38\x92\x8d\x12\x00\x7b\x63\x7d\x9f\x58\x33\x21\xb9\xab\x7d\x24\xf3\xb3\xfb\x95\x69\x98\x27\xc3\xff\x7c\x1c\xff\xe7\xe5\xe5\xcc\x6f\xfe\xe3\xf2\xb2\xd5\x9c\x34\x2c\xd3\x5c\x30\xb6\x8a\x4f\x86\x97\x97\x87\x97\x97\x87\x96\x69\x9a\xe3\x1c\xc0\xe5\x65\xcb\x1c\x8b\xc7\xc9\x17\x17\x75\x37\x96\xf5\x68\x9a\x97\x97\xb3\x2f\x0e\xf2\x36\x97\x97\x2d\xeb\x0b\xff\x23\x1e\xad\x47\x73\x19\x4d\xfd\xe5\x22\x8a\x99\x65\x99\x43\xf1\xbe\xb3\xb1\x4e\xcc\xcb\xcb\xc3\x31\xe4\x71\x77\x79\xd9\xba\xbc\x6c\xfe\xf8\xdf\x93\xe7\xd6\x73\xf3\xf2\xf2\x64\x6c\x37\x07\xf0\x7a\x7c\x79\x39\xb9\xbc\x34\x2f\x2f\x2d\x00\x3c\xb9\xbc\x3c\xf8\xb7\x7f\xff\xe1\xc7\xfa\xb3\xe7\x0d\x34\x1c\xfd\xf7\xe5\x25\x16\xa8\x93\xe7\xd6\x89\xf9\x6f\x5f\x85\x66\x99\x3f\x40\x0d\x64\xf8\x98\x34\x2c\xc3\x42\x11\xb6\x4b\x63\xf1\x24\x26\x71\x28\x0e\xb2\x7e\x7a\xe7\xb3\xe9\x82\xd0\x37\x33\x1c\x49\x13\x98\x46\x77\x32\xa2\xc2\x9b\x59\x8c\xc7\xc9\x26\x82\xe5\x16\x78\xfb\x96\x92\x79\x10\x33\x42\x33\x94\xcc\x00\xc1\xa4\xf3\x0b\xb8\xb4\xde\x84\x33\x72\x3f\x74\x36\x96\x36\xe0\x0f\x63\xfe\x74\x71\x11\xbd\x8a\x6e\x0b\x41\x7f\x44\x96\xb3\x68\xba\xbe\x85\x00\x89\x5b\xd6\xe2\xe2\x71\x48\xce\x57\x70\xf3\xf0\x31\xba\xdb\xd2\x60\x19\xf7\x4f\x42\x24\x17\x1a\x2c\x5f\xc8\x31\x9b\x8c\x68\xbd\x2e\x62\x32\xc9\x60\x12\xe9\x39\xb8\x22\x24\xce\x44\x9c\xd8\xd6\x8c\xe0\xa0\x75\x1d\x84\x22\xf4\x0f\x62\x16\x22\xad\x8b\x37\xef\xce\xae\x5e\x9e\xbd\xfe\xf0\xf1\xec\xea\xed\x9b\xf7\x7f\x7d\xf3\xfa\x77\xc5\xaf\x42\xd8\x4f\x0f\x5c\xfe\x65\x7b\x24\xf3\x09\x75\x12\x93\x6d\x80\x71\x34\x49\x82\xa9\x61\x52\x4e\xf0\x57\x7f\x19\xcc\x84\x1f\xc3\x5f\x2e\xaf\xfd\xe9\xa7\x3d\xe8\x7e\x56\x91\x48\x71\xba\xa5\xb4\x3a\x2e\xf6\xf7\xe0\xc6\x14\x11\xfc\x64\xf4\x11\x8a\xbf\x6c\x92\x2a\x55\x64\xef\x00\xe3\xa8\x5e\x3f\x60\x16\x5b\xd0\xe8\xae\xc6\xfb\xf9\x99\xf0\x30\xca\x42\xd6\x6e\xd7\x31\xab\x5d\x93\x9a\x50\x19\x33\x23\x51\x09\x5f\x02\x19\xb5\x50\x25\xda\x68\x20\x4a\xe6\xe4\x7e\x48\x90\xa4\x32\x64\x28\x23\x94\xb4\xb5\x7d\x40\x6a\xa1\x87\x54\x53\x13\x68\x45\x83\x88\x06\xec\x61\x48\x5b\x49\x92\x4f\x09\x13\xc5\x2a\x58\xf1\x67\xb3\x0c\x27\x17\xd1\xdb\x20\xe6\x4a\x13\x05\xad\x60\x96\xaf\x49\x2d\x68\xd1\x8d\x69\x1f\x24\xae\xca\x6c\x53\xc9\x19\x64\x76\x9f\x75\x29\x50\xd3\x19\xb1\x63\x6c\x8f\x58\xb3\x69\xc1\x76\x83\x84\xf7\x23\x0d\xce\x98\x4d\xd2\xef\xd9\x90\x56\x35\x0d\xf9\xe4\xc0\x05\x9c\x88\x22\x89\xc7\x57\x07\x62\x03\x40\xd6\xdd\x9b\x83\x82\xf3\x3b\x44\x39\xb1\x54\x2d\x69\xd9\xb2\x6f\x0f\x08\x6b\xca\x0f\xdb\x27\x52\x8d\x50\x2c\x6c\x30\xe3\x73\x59\x2b\xd7\x84\xda\x52\x22\xc7\x42\x07\xf6\x28\x9d\x38\xe7\x9b\x52\xa7\x88\x72\x01\x0b\x85\xfe\x1a\x93\x09\x44\xba\xb2\xbe\xb0\x6c\x10\xd8\x51\x52\x14\x8a\xed\x11\xad\x28\x0a\x6d\x34\x72\x11\x0a\xf3\xc5\xa1\x93\x74\xb9\x6b\x16\xbd\x4d\x39\x32\x19\x0a\x20\xc0\x56\x94\x06\x66\x04\xd1\x0a\x34\x32\x9e\x6e\x41\xd1\x05\x5e\x8c\x80\x7d\x0d\x96\x99\x2b\x0d\x62\x28\xb7\xe7\xf6\xf1\x51\xd9\x32\x26\x02\x27\x06\x21\x90\x6a\x82\xbf\xcc\xe2\x86\x43\x88\xed\x51\x78\x94\xf0\x39\x0a\x1b\x0d\x2b\x36\x43\x4b\xd6\xfa\x66\x53\xd0\x9f\xb9\x62\x16\x46\x11\x51\x9d\xe3\x09\x0a\x30\x13\xad\x1c\xa1\x18\x93\xd6\x74\x11\x2c\x67\xef\xa3\x19\x89\x51\x28\x23\x59\x4a\xbe\x85\x4a\x30\x59\x0b\x34\x07\xd4\xd8\x41\xf8\xf8\xc8\x95\x58\x98\x74\x38\x29\x27\x34\x6d\x31\x1f\x87\x63\x23\x5c\xdf\x5e\x13\x6a\x1c\x60\xce\x55\x74\x53\x63\x19\xed\x72\x62\x0f\xb3\x8f\x13\xb4\xc4\x61\x2b\xe0\xc9\x86\x9f\x2c\x54\x2e\xb0\x3d\x5a\x1c\xa5\xad\xbc\x48\x5a\x79\x8a\xe3\xf1\x62\x82\xd6\x78\x9a\xe3\x13\xb0\x3f\xdc\x98\x3e\xf0\xb8\x3e\xc6\xb6\x00\x4f\x16\xb8\xa7\x94\xf8\x8c\xbc\x08\xa7\x8b\x88\xca\x50\x84\xa6\x8f\x58\x32\x68\x48\x69\xc8\xd3\x4c\x0f\x5c\x26\x4c\xf1\x2e\xe3\x61\x8c\xa7\xad\x30\x9a\x91\x8b\x87\x55\x12\x55\x4d\x06\xfb\xe4\x55\x68\x4e\xd1\x4a\xec\x41\x82\xfc\x67\x78\xca\x09\x1b\x2f\x0c\x8c\xf1\x0c\xf0\xde\xfb\xb7\x64\x5b\x69\xb3\x56\x10\x86\x84\xfe\x74\xf1\xee\x2d\x36\x0c\x34\x6b\xf9\xab\x15\x09\x67\xa7\xbc\x49\xcc\x95\x54\x10\xc0\xda\xb6\x95\xd4\xdd\x51\x37\xd8\x1e\xdd\x1c\x69\x60\x46\x37\x49\xc5\xcd\x71\xf6\xf3\xf8\x66\x82\x6e\xf1\xbc\xa2\x0e\x9b\xce\x01\xc6\xb7\xc9\xa0\x98\x29\xe1\x79\x12\xcc\xf5\xb7\x80\x2d\xa0\xc8\x73\xb4\x42\x3e\xba\x95\x5e\x65\xb9\x8e\xb3\x68\xe0\x3d\x50\xa7\x80\xba\x16\x91\x46\x85\xd6\x5b\x59\xe8\xc0\x2c\xca\xe1\x36\x82\xec\xd2\x2a\x08\xa5\x55\x26\x8f\x5f\x21\x87\x0d\x45\x10\xd3\x90\xdd\x85\x75\x36\x9d\x44\x29\x83\x7e\x56\x2d\x25\x76\x57\x4b\x20\x26\x42\x68\xf8\x46\xd2\x97\x6b\x41\x3e\x0a\x36\x0a\x5a\x33\xea\xcf\xe7\xfe\xf5\x12\xd6\x80\xe8\x89\x19\xb4\x16\x94\xdc\xc0\x27\xe6\xd3\x39\x61\xd8\xb8\x82\xe3\x79\x06\x0a\xb8\x1a\x81\x3d\x45\x5c\xa7\x90\x90\x50\xd3\x98\x2e\x83\xe9\x27\x63\xab\x7a\x84\x1d\xc2\x52\xd5\x6e\x52\x3e\x06\x59\xd6\x70\x7f\xe4\x83\x20\xa3\xb8\xf8\x0c\xc7\x0f\xc2\x58\xaf\xbd\x8a\xd9\xa0\xc2\xd1\xa2\xac\x64\x94\x8c\x62\xe3\x09\xa2\xd8\x19\xd1\x23\x9f\xce\xa1\xf6\x72\x6a\x9f\x8d\x69\xd3\x99\xe0\xf4\xdb\x98\x4e\x52\x25\x14\x60\xd2\x5a\xf9\x94\x84\x8c\x93\x47\x22\xe4\x5f\xd2\xa7\x47\x11\x1f\xff\xe4\xfa\xdb\x4b\x72\x13\x51\x62\xb2\x71\x34\xe1\x43\x76\x20\x77\x5b\x89\x1e\x58\x1c\x82\x2b\xa5\xb9\xd0\xfe\x28\x10\xfb\x33\x20\x08\xb7\xd2\x33\x21\x00\x67\xf6\xfd\xd8\x9e\x58\xc8\x83\xcd\x1c\x19\xf5\x52\xb0\xff\x44\xab\x73\xf8\xd4\x04\xf4\x6b\x5c\x6a\x6a\x1c\xa7\x16\xd1\x5a\x14\x2e\x1f\x6a\xb2\x61\x6a\x7e\x2d\x0e\xc2\xf9\x92\x6c\x41\xa4\xa5\x18\xe5\xfb\x17\xef\x7e\x30\xe3\x15\x32\x1b\xe3\x28\x17\x1d\x5a\xf6\x2c\x14\xea\x65\xf9\x82\xdc\x03\x4b\x66\x6c\xe5\x0d\xbf\xac\x5e\xe4\x55\x12\x5a\xc8\xde\x40\x28\x47\x5c\xe8\xdf\xd2\x2e\x4b\xb3\xfa\x22\x06\x92\x2c\x1b\x36\x0a\x2c\xb4\xdc\xc1\x81\x5f\xc9\xc1\x92\x4f\x43\x6c\xf0\x70\x2f\x54\xda\xd3\x1d\xb4\x17\x16\x5a\xe7\xb0\x82\xc6\xb6\x6a\x56\x3b\x90\xd7\x95\x8c\x4d\x11\x43\x2b\x0b\x39\x72\x2d\x25\xd6\xcd\x94\xb0\x6b\xdb\x88\xb5\xc4\xe8\x1e\x10\x8a\xe3\xff\x89\x08\xb6\x5f\x36\xa3\x78\x0c\x4b\xe7\x2f\xcf\xde\x4e\x0a\x06\x45\x1a\xee\xf7\x9a\x2c\x97\xa6\xb5\x41\x12\xf4\xed\xeb\x52\xc8\x24\x2a\x60\x06\xfa\xd7\x8b\x09\xde\x22\x26\x6f\x5f\xbf\xd6\xbd\x3d\xfd\x58\x4a\x39\x1f\x87\x2f\x43\xff\xe5\x79\x39\xdf\x49\x04\xbe\x0c\xf8\x4f\x17\xa5\xe0\xcc\xbf\xce\x00\x9e\x7f\x28\x05\x4c\x22\xe9\x65\xa1\xdf\x54\x43\xbf\xc9\xb2\x7c\x76\x7e\x5a\x02\x2d\x16\x4d\x99\xcf\x88\xb9\xe0\x60\x2f\x7e\x3e\x7b\x65\x6d\xe4\x62\xdb\x97\xcd\x28\x1c\x1b\x63\xa3\x88\xcb\xb8\x2a\xf4\x6f\x85\x9f\xa2\x35\x5d\x53\xae\x17\x7f\xe6\xaf\xb0\x8d\x72\x14\x4f\xcf\xdf\x5c\xfd\xfc\xe2\xe3\x8b\x77\xdc\xf2\x1c\x1b\x93\x6f\x20\xf5\xe1\xfc\x94\x13\x69\xfd\xfc\xd5\x14\x5e\x9d\x9e\x03\x85\xab\x02\x85\x1c\xd0\x9b\xbf\xbc\xff\xf0\xf1\x4c\xb0\xfb\x9f\x0a\xbb\x25\xa0\xad\xa9\xc2\x94\xdc\x37\xcf\x3f\x9e\x29\x1f\x61\x9d\x57\x58\x06\xa6\x95\x67\xf2\xfd\x87\x8f\xef\x5e\xbc\x05\xbc\x57\x0a\xde\x2e\x8c\x77\x1a\x36\x3e\x13\x1a\x93\x37\xd5\x88\x63\xe3\x47\x4d\xcb\x64\x03\x2c\x22\xb6\xfb\xdc\x95\x8e\x38\x7f\xf9\x29\x58\xbd\xe7\xba\x79\xe1\x53\xa8\x10\xd9\xf5\x5e\xbc\x9f\xe4\x86\x69\x9d\x44\x26\x2c\x8e\x84\xfe\xfe\xb2\x19\xf9\x63\xe3\xc4\x28\x47\xfc\x19\xd6\xf5\x4d\xe3\xc4\xb0\x36\xc8\x1f\x1b\xc7\x7b\xc0\x1e\x4b\xd8\x83\x3d\x60\x0f\x04\xac\x5d\x01\xc9\x45\xcf\x74\xec\xe7\xa4\x35\x4f\x9e\x2c\x40\x72\x9e\x88\xd4\x70\x00\xcd\x7d\x2a\x9a\x0b\x68\xde\x53\xd1\x3c\x40\x6b\x3f\x15\xad\x0d\x68\x9d\xa7\xa2\x75\x00\xad\xfb\x54\xb4\x2e\xa0\xf5\x9e\x8a\xd6\x03\xb4\xfe\x53\xd1\xfa\x80\x36\x78\x2a\xda\x80\xa3\xb5\x7e\x28\xc7\x8a\x62\x06\xd2\xf4\x83\x90\xa6\x67\xc6\xb3\x8a\x2c\x24\xf0\x33\xe3\x99\x10\xd3\x5a\x95\x98\x26\x94\x6b\x52\xa6\x9f\xed\x03\xfc\x4c\x02\x8f\xca\x80\x93\xab\x57\x64\x01\x39\xf0\x57\xf6\xe1\x25\xef\xc3\xcb\xb1\xf1\xef\x05\x7d\xc3\xad\x8d\x14\x39\x13\xbf\xd5\x64\xd6\x06\x2d\x5b\x2f\xca\x81\x93\xd8\xa6\x12\xf2\xe5\x2e\xc8\x57\xd1\x5d\x28\x61\x4f\x77\xc1\xca\x28\x80\x12\xfc\xd5\x2e\xf0\x24\xce\x86\x84\x3f\xdb\x05\x9f\x44\xbb\x94\xf0\xaf\x77\xc1\xe7\x02\x4d\x4a\xa4\xbf\xec\x42\xca\x86\x82\x94\x38\x3f\xed\xcc\x28\xb9\xe6\x46\xc0\xbf\xd9\xb3\x9e\x2e\xfc\x6b\x89\xf1\x1f\xe5\x18\xf9\x98\x87\x12\xfe\xaf\x3b\xe1\x33\x45\x7e\xbb\x4b\x72\x20\x62\x97\x04\x7e\x57\x0e\x9c\x09\xef\x25\x81\x7f\xde\x05\x9c\x95\xc9\xf3\x72\xe0\x24\x32\x92\x84\xbc\x50\x20\x93\x19\xca\x91\x5b\xaf\x1f\xd0\x7a\x3d\x1b\xee\x47\x22\xfd\x6d\x47\x95\x64\x59\xf9\x7f\xf7\x95\xcc\xb4\x85\xc6\xc6\x7f\x55\xf5\xc0\x42\x28\x17\x99\x8d\x5f\x8e\xa0\xc4\x55\x91\x28\xd7\xe5\x28\x65\x51\x4e\x24\xe6\xb4\xa2\x7a\x35\x41\x44\x24\xd6\xac\x1c\xab\x10\x33\x42\x22\x14\x67\xd9\x19\x04\x25\x80\x83\x44\xb9\xa9\xa8\x86\x5f\x0b\x5d\x67\x5e\x0e\x9b\x84\x0a\x90\x90\x8b\xaa\xf2\x8a\x23\x89\x02\x70\x59\x55\xa5\x79\xd0\xdb\xea\x16\x56\x6a\x2f\xac\x92\xff\xed\x46\x70\x09\xbd\x52\xa0\xe5\xb6\x54\x2a\xb6\xa5\x1a\x07\xc6\x30\xb3\xb3\x99\x63\x71\xb4\x3f\x34\x7e\x0d\xa3\x66\x60\x8c\x03\xe8\x08\xb9\x9d\xb0\x32\xab\xe2\xad\x25\xb9\x71\x26\xb3\xe5\x53\x82\xc7\xa5\xe0\xe9\xde\x49\x09\xb9\x2e\x83\xcc\xed\x79\x94\x7d\x46\x37\xe6\x21\x19\x2c\x2a\x45\x8d\x4a\xc7\xbe\xc5\xe8\x20\x1f\x29\x83\xc8\xef\xd8\x9e\x60\x43\x24\x0d\xc4\x5f\xcb\x89\x18\x76\x26\xd8\x90\x69\xf1\x21\x9d\x4f\x61\x77\x82\x8d\xf4\x29\xfd\x88\x3d\xf1\x5a\xbc\xf8\x70\x7e\x8a\xdb\x13\x6c\x7c\x38\x3f\x95\x10\xc2\x54\xc7\x1d\x0e\x25\xd2\xe2\xc3\xab\xd3\x73\xdc\x9d\x60\xe3\xd5\xe9\xb9\x78\x21\xe6\x36\xb8\x37\xc1\x86\x48\x1a\x1b\x73\xf1\xf8\x68\x2e\xf0\x97\x8d\x25\xa6\xf6\xd3\x92\x25\xf0\xcc\x0a\x73\x90\xdd\xc2\x59\x3c\xb8\x96\x86\x36\x89\x79\x65\xe1\xa4\xb2\x74\x2b\xd9\x70\x2d\xa4\x36\x4c\xd7\x14\xad\xd1\x2a\x3d\x8f\x34\xda\x86\xa0\x4d\x6f\x12\x53\xf7\x8f\xaf\x29\x8d\xe6\x3e\x23\x57\x8b\x60\xbe\xd0\x5d\x5c\x93\x87\x68\x28\x27\xee\xf2\xdf\xb1\x61\x24\x2b\x73\x49\xa6\x47\xab\xc2\x8b\x46\x03\x7c\x77\x14\x93\x71\xfe\xc3\x04\x75\x3a\xee\xa0\x7b\x84\xcd\x29\x16\x9d\xf2\x34\x9a\x91\x17\xac\x50\x0a\xcb\xaa\xd7\xa7\x47\xb8\xd3\xf5\x9c\x01\x50\x5a\x57\x41\x37\x1c\x0b\x05\xf1\x7b\xff\xbd\xb9\xb6\xd4\x8d\xc1\x79\xe6\xe9\x68\x1a\x85\x2c\x08\xd7\x64\x33\xc5\x8e\xed\xb6\x9f\x9b\xd3\x26\xf0\x64\x35\xcc\x75\xb3\xd3\xf5\x5c\xdb\x6a\x74\x3b\x1d\xaf\x8b\x68\x03\x27\x8a\x43\xcd\x71\x03\xfb\x61\x01\xfe\x08\x4f\x05\xbb\x3d\xaf\xed\x59\xc9\x89\x8f\x4c\x63\xcb\x6d\xeb\x49\x93\x0f\x69\x2d\x08\x6b\xf1\x49\x3c\xa6\x13\xb9\xbc\xaf\x88\x4f\x72\x46\x26\xfb\x2e\xb9\xd2\xc8\xa4\x68\x9a\xdb\x83\x9e\xba\x32\x86\xbc\xd2\x39\xf1\xd0\xfa\x12\x16\xa8\x27\x35\x92\xac\x33\x14\x94\x97\x69\xc0\x46\x76\xc3\x92\x7f\x9f\xcb\xbf\x0d\xf9\xb7\x29\xff\xb6\x8c\xa1\x8a\x59\x3c\x12\x90\x9c\x17\xc8\x1e\x2c\xe5\x94\xcb\xe0\xb2\xa7\x55\x79\xce\x65\x70\x6e\x16\xae\x51\x0e\xe7\x65\xe1\x9a\x7b\xe6\xdb\xaa\xc8\x77\x93\xef\xba\x52\x99\x64\xb1\x0f\x2b\xb8\x41\x5a\x6c\x94\x97\xa9\x66\x33\x4b\xee\xbd\xac\xee\x0f\x46\xe6\x3c\xb8\x11\x2a\x99\x6c\x9d\x16\x6e\x56\x24\x8c\x48\xe2\x3f\x56\x60\x78\x39\x8c\xcd\xde\xb4\xff\xbb\x02\xd2\xc9\x41\xf6\x0c\x9d\x18\x67\x46\x25\x4b\xab\x13\xb3\x24\xfa\x5a\x12\xf9\xe1\x6a\x37\x95\x7f\x4b\xa8\xe4\x41\x50\x51\x6d\x65\x71\x7e\x52\x8a\xc9\xfc\xeb\xf3\x4c\x74\x88\xf2\xec\xb0\x82\xfa\x4f\x0d\x14\xb3\x93\xdf\xe3\x12\x7e\xff\x67\xe3\x0c\x54\xb1\x39\x23\x37\xfe\x7a\xc9\xaa\x5a\xb1\xec\x38\xe1\xd9\xf9\x69\x2d\xd9\x4c\x58\xfb\x31\x6e\xc1\x41\x9a\x9c\xf6\x94\x1d\x52\xe8\xe5\x28\x79\x3c\x3f\x31\x19\xde\x3e\x8d\xe9\x04\x19\x87\x86\xd8\x80\x04\x39\xe6\x3d\x7d\xd6\x90\x43\x17\xbc\x84\x55\xc1\x93\x4a\xd4\x05\x62\x4a\xad\xce\x35\xe7\xaf\x4a\x1b\xb3\x06\xbe\x63\x18\x09\xb8\x8d\x29\xfd\xe1\x8f\x8f\xe9\xd3\xcb\xb3\xb7\x5b\xd3\x35\x03\x92\xc4\xd0\xd8\xf6\x86\x22\x1f\xc2\xf3\x2c\xd6\x99\xd5\x33\x67\xa9\x23\x5a\xbd\xfb\x08\xf0\xb2\x91\xd6\x2b\x8f\x71\x49\x70\xdd\x35\x76\x2c\x60\x4b\xc5\x7e\x49\xe1\x8b\xf9\x8a\xed\x09\x17\x1c\x47\x4b\xc8\xb2\x36\x5a\x52\xdb\x6d\x8a\xda\xf2\xa5\x36\x56\xc1\x92\xd3\x1d\x3e\x95\x55\x26\xec\xb5\x62\xf4\xc0\x2c\xd1\x06\xa6\x43\x7a\x8c\x0d\xdb\xa8\xd7\xe9\x11\x36\x06\x46\x15\x34\x76\xec\xe7\x55\xc4\x68\xd6\x5a\xb2\xad\x66\xbb\x3f\x34\x46\x86\xfe\xea\xae\xaf\x6d\xd5\x1c\x3f\x86\x51\xb0\x48\x52\x63\x3d\xb5\x49\x7c\xeb\x8b\x9f\xd8\x24\x89\x11\x02\x24\x0b\xee\xb6\xe2\x68\x79\xfe\x26\x43\x53\xf4\xd1\xe5\xc9\x32\xa1\x94\x1f\x18\xf4\x92\xa7\xbc\x05\xef\xb6\xf2\x56\xf8\x07\xe1\xf5\xae\x23\xca\xa7\xe7\x6f\x6a\xd3\x68\x46\x52\x85\xa2\x95\x08\x7d\xbe\xe9\x9d\x9b\x4a\xd6\xd8\x30\xf2\x95\xf8\xea\xf4\x7c\x57\x47\xae\xee\xc1\x23\xb1\x8b\x46\xec\x9d\x44\x37\xc9\x35\xc8\x39\x13\x55\x39\xd1\x0c\x43\x42\xce\xee\xf8\xe1\x8f\xd4\xea\x9b\x69\x22\x1c\xa4\x62\x80\x6e\xb8\xbe\x9f\x09\x12\xcf\x8c\x3f\x9e\x0d\x67\xf8\x99\x6d\xfc\xf1\x2c\x53\xac\x67\xc6\x0a\x5e\x77\x1d\x63\x95\x7d\x6f\x50\x63\xa8\x10\x4f\xcf\x27\x36\x1c\xed\xf9\xe2\xec\xd1\x44\x38\x6a\x4c\xb3\x35\x68\xdc\x72\x92\x86\x7d\x6b\x68\x47\x91\xb2\xc6\x7d\x75\x7a\x5e\xfb\x99\xc9\xa6\x9d\x59\x68\x86\x0d\xa3\xa8\x28\x0a\x67\xa2\x7f\x36\x1a\xb5\xc6\x4d\xc3\xf8\x81\x1a\x8d\x59\x63\xfb\xfe\xf2\x32\xd7\x2f\x8c\xc6\x2a\x57\xaf\x8d\x3f\x34\x65\x56\x2b\x74\xbf\xbc\x1b\xe5\x79\xef\x5f\x6e\x21\x03\xb2\xec\x7a\xf9\x28\x56\x85\x56\x35\x96\xca\xfc\x1e\x3a\x33\x4b\x70\x97\xca\xd4\xe6\xf6\xf8\x68\xfc\x00\xca\xee\xf1\xd1\x68\x40\xe2\x44\x13\x51\x4a\xc0\xee\xa1\x9a\xcb\xb2\xd1\xe4\x9f\x47\xcb\x77\x66\xe1\x58\x18\xd2\x83\x6c\x87\x4d\x9f\x5e\x9e\xbd\x7d\x7c\xdc\x6f\x3c\xce\x57\xa1\x95\xee\xb1\xca\x7c\x55\x0f\x0a\x03\x8e\xba\x5d\x5b\xd0\x52\xe1\xc5\x02\xe0\xee\x23\xc5\x3a\x54\xa9\xcc\xaa\x70\x25\x88\x06\x19\x6a\xae\x3a\x28\xc0\xb6\x86\x0b\xf8\x73\x05\x7f\xbb\x4d\xa0\x9c\x8a\xfe\xda\x7d\x85\xd0\xf7\x18\x35\x0b\x97\x59\x65\x0d\x4a\x35\xeb\xad\x1c\xa4\x67\x86\x7f\xe6\x66\x21\xc5\xd3\x1d\x5b\x59\x52\x6f\x55\x90\x39\x60\xdf\x8a\xee\x42\x42\x5f\x95\xec\xab\x8b\x57\x7e\x68\xf0\x2c\x32\xfb\x2b\x17\x64\xb9\x8c\x6a\x77\x11\x5d\xce\x0c\x44\x72\x5b\x2d\x99\xf0\x91\x51\xcc\xe4\x4d\xdc\xbf\x05\x33\x88\x97\xc3\x72\x37\x7f\x8f\x92\x0b\x33\x6f\xa2\x90\xfd\x26\xee\xc6\x36\xae\xa3\xe5\x2c\xbd\x0e\x3c\x87\x1e\x17\xd1\x33\xee\xca\xed\x26\x33\x66\x21\xde\x8b\xa2\xc7\xc7\xe0\x00\xe3\x78\xf3\x55\x1b\x77\x22\x14\x63\x6a\xba\x5d\x4b\x75\x5a\xbe\xfc\xf0\x56\xb8\x26\x79\x42\xb8\x0b\x7f\x79\xff\xea\xec\xe3\xdb\x37\xef\xcf\xc0\x2f\x99\x3e\x89\x8f\x2f\xdf\xbe\x79\xff\x57\x70\x44\x42\x4a\x3a\x18\xdf\xff\x7a\xf6\xf1\xfc\x0c\xf7\x27\xd8\x90\xe9\xf4\xc3\x9b\xf3\x37\x2f\xdf\x9e\x61\xa7\x2b\xbe\x89\x47\x63\x63\x46\x8f\x8f\x66\xb4\x75\x40\x86\xc2\xfc\xf7\xcb\xfc\x90\xea\xb5\xd8\xc9\x99\x13\x11\xac\xe9\x63\x74\x17\xff\x3f\x6b\xb2\x26\x5b\xf3\x56\x7e\x79\x4d\xfd\x5b\x12\x9f\x7f\x0a\xe0\x12\x61\x3b\xff\xf1\x45\x18\xdc\xc2\x84\x0e\xa0\x72\x53\x90\x95\x9f\x5c\x4c\x2e\xea\xfc\xe7\x28\x5a\xc2\xb1\xaa\xb8\xf5\x2a\xba\x55\x3e\x25\x52\x05\x27\x7a\x30\xc6\x21\x44\x98\x09\x4a\x6e\x69\x4d\xaf\x3d\xf9\xda\x6c\x74\x9e\xd5\x3f\x78\xf9\x3f\x8a\x82\x69\x0f\x09\x15\xeb\x4a\x74\xf0\x2f\x31\xf3\x29\x1b\x12\x44\xc2\xd9\x90\xa5\x27\x4f\xb4\x35\x94\x06\x59\xd0\xd7\xdf\x5d\x10\xce\xa2\xbb\x96\x9c\xfe\xe7\x3f\xe6\x11\xdf\x46\xd1\x6a\x7b\x04\xc8\x2a\xc6\x04\xcf\x82\x65\x45\x42\x77\x95\x75\xc0\x88\x88\xee\x95\xee\xd7\x4f\x06\x17\x9d\x04\x34\x1a\x47\xb8\x63\x7d\x9f\x42\x88\xbd\xdd\x55\xd2\x07\xb2\x4e\x10\xdb\x5e\xe0\xad\xb4\x89\x2c\x44\xdb\x22\x5c\x58\xf5\x41\x51\x44\x46\x04\xeb\x49\x8c\xed\x49\x0b\xda\x34\x45\xd7\x41\x90\x70\x96\x39\x48\xe1\xa4\x07\x29\x4a\x18\x12\xbb\x6a\xf5\xd4\xa8\xcc\xef\x88\x64\x3c\xf0\xa5\x50\x56\x49\xcf\xe5\x00\x24\x9c\x1d\xb3\xcc\xf5\x81\x25\x30\x89\x99\xb6\xb3\xf3\x97\xf7\xef\x24\xc8\x1b\xef\x1e\xc5\x73\x12\x54\xdb\x87\xa0\xa2\x46\xac\x49\xb4\xc1\xcc\x0f\x5d\xdd\xdd\x85\x49\xbc\xc6\xed\x76\x63\x35\x46\x7e\x02\x93\x53\xfb\x4a\x06\xa7\x62\xdb\x2e\xa1\x25\xf7\xef\x43\x8c\xe9\x18\x13\xb1\x6c\xb2\x67\xbc\x75\x70\x84\xfd\x17\x09\x67\xff\x55\x0b\xe2\x1a\x8b\xa2\xda\xd2\xa7\x73\xd2\xaa\xbd\x8b\x62\x56\x5b\x06\x9f\xc8\xf2\xa1\xe6\xd7\xae\xfd\x59\xed\xf4\xfc\x23\xb8\xc4\x4a\x22\xb4\x8f\xe2\x23\xcc\x46\x71\x72\xa2\xc0\xc7\xb1\x72\x25\x05\x84\x2f\x5c\x96\xdf\x6b\xe1\x5b\x68\x91\xcc\xe1\x16\x6a\xdc\x1e\x8c\xe3\xa6\xfe\x46\x3d\x5d\x46\x6a\x35\x27\x81\x6a\x7c\x46\xea\xf5\x62\x50\xe0\x6c\x34\xa6\xa2\xb5\x7c\x3f\x6c\x3a\x69\x4f\x99\x96\x05\x1e\x5a\xe3\xc2\xf6\xde\xc4\xf8\x78\x4d\xfd\x39\x98\x1d\x16\x5a\xc1\x31\x8e\xa4\x8c\x45\x16\x78\xc3\x53\x12\x8e\xe3\x49\x9a\x4e\xfa\x9e\xa8\xd4\x1b\xa5\xcd\x35\x28\x10\x98\xbe\x1c\x2c\x2b\x64\x37\x95\x83\x50\x8b\x92\x25\xf1\x63\x62\xde\x58\x9b\xa4\xf4\x73\x6c\x8f\xe6\x47\xc1\x68\x9e\xb4\xf3\x2d\x5e\x8e\xe7\x93\xb1\x3d\x41\x0f\x22\xe5\x4c\xd0\xb5\x48\xb9\x70\x76\xeb\x1a\x74\xf6\x1c\x63\xbc\xa8\xd7\xcd\x5b\xdc\x74\x2c\x74\x7b\x80\xf1\xb4\x5e\x37\xa7\x07\xca\xb4\x45\xd6\x66\xbd\x6e\xae\xea\x75\x33\x7b\x00\x66\x05\xb5\x67\xa1\x75\xce\x34\x83\x09\x2c\xef\xd5\x82\xaa\x9e\x9a\x65\x05\x37\x9c\xde\xc1\x8c\xd3\xc4\x55\x65\xf6\xa7\x7f\xac\x03\x4a\x4c\xcb\x42\xb3\x27\x30\xc1\xb9\xd8\x8b\xac\x88\x69\x77\x6b\xcd\x8a\x47\xbc\xe4\xde\xce\xe6\xe7\x60\x46\x22\xc3\x42\x0a\x40\x52\xa8\xa6\x10\x55\x23\x73\x90\xe8\x0a\xc2\xd1\xdd\xa2\x53\x7c\x9b\x44\xa8\xbb\xe3\x49\xa7\xcf\x5b\xe0\xae\x1e\x81\x95\xc7\xed\x91\xc7\x47\x85\xae\x38\x9d\x01\x66\xaa\x85\x4e\x8f\xfa\xf5\xba\x79\xda\xc0\x7d\xcb\x42\x1c\x31\xb5\xfe\xea\xf5\x12\xcc\x4c\xe4\x28\xc0\x00\xb3\xb0\x14\xfa\x5a\x1c\xff\x00\x48\x69\x29\x0a\x41\x3a\xc7\x57\xa3\x2b\x7c\x8a\x4e\xf1\x39\x72\xea\x77\xf5\x7a\x86\x95\x8d\x84\x16\xb6\x63\x29\xed\x05\xf4\xde\x3c\xf1\x7a\xdd\x74\x3b\x3d\x8c\xf1\x55\xbd\x6e\x5e\x61\xa7\x63\x21\xb7\xd3\xc5\x18\x9f\x72\xe2\xd8\xb6\x2c\x74\x75\xe4\x76\xba\xe5\x0c\xcf\x9b\xd3\x68\x19\xd1\xa6\xd1\xb8\xe2\xf5\x53\x05\x9b\x00\x9e\xc2\xfa\x29\x9f\x94\x5f\x5b\xab\x06\x7e\x76\xc4\x85\xa2\x06\x28\x58\x82\xde\x05\x33\xd2\x9c\x2e\x7c\x6a\x1c\x3f\x6b\x3c\x34\x8c\xa3\x43\x0e\x73\x6c\xa4\x11\xaa\x1f\xf2\x3e\xce\x63\xb7\xd3\x29\xa3\x25\x96\x2d\xca\xa9\x49\xdf\xd6\x83\xf4\x7d\xd5\x8d\xe1\xaa\x81\x8d\xba\x7f\xbb\x1a\xe5\xfc\x49\x47\xf2\xc3\x92\xe5\xdf\x1f\xcb\xf7\xf3\xed\xfb\xc4\xe5\xb2\x6a\xe0\x87\x23\x6c\xd4\x8c\x13\xa3\x1e\x5e\xc7\xab\x91\x31\x7c\xd8\x4c\xf1\xed\x66\xf3\x5d\xbb\x5b\xda\xe7\x2b\x14\x5d\x16\x63\x6d\x6d\x68\xe9\xb0\x9b\x9b\xe9\x55\x0c\xbb\xca\x42\xcc\x6d\xc0\x78\xbf\x05\x53\xc1\x40\x5f\x24\x3d\xc5\x0d\x25\x5e\xa3\x82\x91\x5d\x3c\x25\x0e\x54\xce\x93\xc0\xb5\x05\xcb\x03\xc2\x5a\x29\x7e\x32\x09\x9b\x72\xa8\x8e\x1a\xbb\x51\x2a\x6c\x8e\x8a\x0c\xc6\xf6\x04\x4e\xe5\x91\x7a\x3d\x3d\x3a\x0a\x17\xb2\x68\x87\xfc\x00\xb3\xd2\x6f\xd1\xf6\xd2\x5b\xb8\x17\x37\x96\xcf\x41\x68\x06\x25\xd1\x77\xe1\xa0\xa9\x19\x69\x2d\x9c\xc7\xc7\xf8\xc8\xb6\x04\x4b\xe1\x1e\x03\xb2\x8f\x29\xc6\x38\x3a\xe1\x06\xf1\xd0\x46\x4b\x1c\x71\x33\xe3\x84\xf1\x47\x8d\x7d\x35\x0a\x35\xd2\x22\x88\xa7\x4d\x97\x38\x19\x22\xe4\xa3\xa5\x9c\xdc\x2e\x70\xdc\x8c\x44\xfc\xb2\xa7\x50\xd0\xdd\x9d\x09\x66\xde\xc2\xb2\x50\x74\x80\x71\x9c\x9c\x7b\x0d\xfe\x34\xb6\x63\x64\xa3\xa9\xba\x74\xa4\x11\x86\x2c\xc9\xd0\x52\xce\x1a\xeb\xe9\x6b\xb6\x8b\xa5\xa1\x0f\x82\x7a\xdd\x0c\xb0\x93\x1c\x42\x2b\x3b\x14\x39\x0b\x3e\x6f\x8f\x45\x46\xd2\xe5\xb2\x10\xee\x96\x40\x59\x37\x5a\xf8\xf4\x1d\xf1\xe3\x35\x4d\x60\x1a\xc6\xea\xde\x40\x09\x1e\x8b\x56\x98\x3c\x15\x69\x49\x6e\x18\x66\x55\x58\x77\xc1\x8c\x2d\xf2\x48\xf0\x4a\x35\xe0\x0a\x38\xcf\x4d\xda\x64\x96\xc4\x4c\x3d\x61\x1f\x09\x1f\x64\x09\xc5\xfe\x0e\x5f\xd8\x76\x66\x90\xa8\xbb\x2b\x72\xcf\x48\x38\x8b\x1f\x1f\x33\xb3\x68\x98\x84\x62\xe9\x4a\x02\x7f\xa8\x6c\xb6\x0f\x37\x8f\x8f\x5f\xae\xae\xa0\x19\xaf\xae\x86\xe3\xc9\x26\x08\x63\xe6\x87\x53\x12\xdd\xd4\x5e\x50\xea\x3f\xd4\xeb\xc5\x43\x34\x29\x38\x66\x9b\x4c\x2e\xa9\xe2\x02\xf5\x50\x0b\xc2\x1a\xb3\x58\x6b\xe1\xc7\x1f\xee\xc2\xd4\x6f\x45\x2d\xb8\x4b\x8a\x4e\x30\x1b\xd3\x89\xb5\x51\x82\xee\x40\x11\x33\x1e\x3e\xe9\xc9\x98\x46\x61\xcc\xe8\x7a\xca\x22\x8a\xd9\x86\x00\x18\x62\x5b\xf1\xc3\xd2\x09\x43\x4f\x64\x21\x85\x0c\x99\xd4\x1a\x9a\x41\x06\x8c\x6e\xd3\x28\x24\x77\xb5\xc0\xda\xf0\x1a\xff\x06\x27\xdb\xc0\x42\x21\xa6\x66\x1f\x74\x8b\xe9\x58\x68\x89\xa9\xe9\x3a\x7c\x6a\x73\x0e\x27\x03\x5b\x37\x34\xba\x3d\x95\x63\xbb\xe9\x74\x6d\x0b\x4d\xb3\xd1\x7a\x16\xc8\x98\x1b\x1a\x47\x5d\xc9\xee\xc2\xdf\x3e\x7c\x14\xfe\x3b\x9e\x10\xaf\x52\xd7\x1d\x78\xed\x14\x4f\xdb\xba\x2c\xee\xa2\xd8\xfc\x18\x27\xda\x93\xb4\xa6\xfe\x72\x29\x3c\x1b\xe2\xda\xb8\xa4\x75\xc2\xdc\xbe\xbf\xb0\x75\x75\x0d\xee\x17\x4c\x79\x3a\x3b\x66\xe2\x80\xbf\xc9\x08\x39\x8e\xf9\x8b\x20\x0c\xd2\xb3\xc4\xb1\x69\xa1\x30\xbd\x86\x80\x7f\xbd\x8d\x66\x44\x78\xc0\x96\xad\x54\x7d\xbc\xe3\x2f\x4d\x06\x00\x4b\x3f\x16\x17\x01\xbc\x8a\xee\xc2\x8b\xe0\x96\x60\x9b\xbf\xf6\xa7\x2c\xf8\x4c\x72\x18\x38\x4a\xd6\x2a\xc3\xc4\x5f\x16\x98\x0c\x91\x9c\xac\x14\xf8\xc1\x4a\x3f\x81\xa2\x8b\xde\x24\x0a\x7a\x41\x83\xdb\x04\x3e\x17\x48\x27\xf5\xc9\x5d\x45\x21\x07\x82\xad\xa6\x02\x13\xee\x65\x78\x17\x7d\x26\x3b\x11\xdf\x25\x90\x45\x6c\x5e\xdc\xfd\xb0\xd3\x9d\xe7\x19\xec\x5f\x56\xfb\xe1\x8a\x8d\xee\x9b\x5c\x0d\xc9\xcb\x87\x14\xaf\x3d\x44\x01\x4a\x6b\x3c\x5d\xdc\x16\xb5\xd4\x8a\x6e\x6e\x4c\x83\xd1\xe0\xd6\x40\x65\xb5\x97\x09\x1c\x54\xb4\x49\x0a\x27\xce\xa1\x0c\xb3\xe8\x2e\x34\xca\xaa\xc4\xca\xf3\x2c\x44\x4a\x5d\x68\x48\x98\x0b\xbf\x8a\x37\xf5\x28\xfc\x93\x19\x4b\x2f\x23\xd0\x2c\x04\xc9\x8e\x24\x7d\xdb\xc5\xea\xdd\xa0\x12\xc5\x94\xd1\x62\xc6\xc2\x8f\x53\x14\x03\x7d\x99\x13\x36\xd4\x4a\xb4\xec\x68\x62\x49\x28\xc5\x38\xcf\xb9\x0d\x75\x10\x67\xe1\x2c\x89\xea\x62\x1e\x90\xc7\xc7\x03\x66\xc9\x0b\x02\xf9\xfc\x5b\x04\x66\x1d\x3b\xe2\xc1\x99\x70\x3b\x37\x5c\xdf\x12\xca\x1b\x63\x78\x00\x81\xcf\x6e\x82\xf9\x3a\x79\xde\x58\xfb\x94\x29\xb5\x3e\x2e\xc8\x3d\xfb\x5e\x85\xe2\x66\xa5\x28\x8f\x28\x9e\x61\x8c\xb6\x96\x2d\x16\xc5\x11\x26\x16\x78\x11\x03\x3c\x9e\x8c\x82\xdc\x12\x19\xf5\xc3\x78\xe9\x27\xde\xe8\xb7\x41\x48\x2e\x22\xa1\xf4\xcd\x9c\xec\xcd\x09\x83\x40\xc3\x16\x3a\xb0\x11\xdc\x3d\x46\x2d\x2b\xf5\x30\x45\x90\x61\xc3\x19\x45\x47\xc2\x70\x76\x20\x24\x81\x3c\x7c\xaf\x10\x8a\xf8\x48\xb3\x9b\x81\x18\x1d\xd8\xd6\x28\x6e\x05\xf1\x6f\x94\x5b\x6e\xb3\x93\x60\xbc\x8d\xac\x3b\x69\x60\x7f\x28\x0b\xe3\xc3\xec\x35\xdb\x86\x65\x59\xc3\xc7\xbd\x73\xe7\xb6\x2c\x4c\x1c\xf6\x64\x22\x0d\x7c\x71\xeb\xaf\x4c\xed\xb9\x34\x79\x4e\xde\x9c\x22\x38\x22\x67\xb5\xfe\x1e\x05\xa1\x19\xb6\x82\xf8\xdd\xf9\x6f\xe0\xc4\x8f\x4f\x8c\x4b\x7a\x19\x1a\x43\xe3\x32\x34\xf6\x90\xc5\x6c\x3f\xcd\xf7\x3e\x55\x91\x08\x39\x2a\x51\x81\x42\x87\xbd\x2b\xaa\x82\x38\x01\x48\xbc\xcf\x05\xdd\x50\x55\x89\x55\xa6\xb3\x88\x1a\x66\x5b\xa8\x60\x4c\xc3\x2c\x39\x23\x59\x86\xc1\x8d\x14\x14\xe2\x00\xf9\xd8\x1e\xf9\xdb\x4b\xb3\xfc\x44\xc4\x96\x98\x8c\xfd\xc9\x28\x6a\xe0\xe5\xd8\x99\x20\x4e\x6b\x39\x76\x27\x3c\x83\x63\xec\xd7\xeb\x71\xb3\x89\x02\x48\x85\xcd\xa6\x25\xe3\x25\x84\x8f\x8f\x29\x25\x11\xb0\x49\xcc\x4b\xa2\x56\x4c\x7c\x3a\x5d\x98\x87\x97\x71\xe3\x87\xc3\x6d\xf0\x98\x69\xbd\x6e\x2e\xb6\x73\xbd\x05\x9f\x73\xa0\xc5\x11\x8e\xd3\xce\xb7\xd9\x5a\xf8\x69\x50\x05\x3e\xf3\xc9\x57\x98\xea\xa9\xcf\x46\x91\x1a\x7d\xa7\x95\x2c\xcd\x0a\xfc\x76\x41\xc1\xda\x58\xdc\x4c\x09\xe2\xb7\x41\xb8\xbe\xaf\xd7\x49\xb2\xa1\x32\xab\xc4\xd2\x40\x1f\xf0\x49\xb8\x12\x42\x72\x17\x6f\x35\xb7\x8a\x53\x94\x15\xa5\xec\x85\x65\xbe\xd2\xb5\x8f\xa2\xe7\x42\xb8\x26\x76\xe9\x4f\x70\x5c\x54\x69\xd0\x8d\x32\xd0\xf1\x6f\x2f\x96\xcb\xb2\xbe\x13\xc8\x91\xea\xc5\x72\xf9\x02\x8c\xb7\x74\xdb\x6f\x59\xf7\x10\x66\x95\x66\xe0\x14\x04\xa5\xd5\x95\xae\xb1\x94\x91\x99\x13\x61\x40\x8a\x4e\x76\x1a\x45\x74\xa6\x0b\xe0\x05\xcb\x12\xe2\xab\x49\x34\xd6\x80\x7c\x95\xb1\x6f\xb5\xb3\x75\x8d\x9f\x02\x94\x71\x22\x3a\x63\x7b\xd2\x6c\x22\x50\xf5\xe2\x4f\x43\x59\xfc\x10\x37\x3f\x95\x94\x02\x0c\x12\xb9\xd5\xf8\x36\x5a\x87\xac\xba\x28\xc9\x01\xb8\x8b\x28\x99\x52\xeb\xca\x66\xf1\xce\xaf\x2c\x67\x71\xde\x9f\x2b\xa5\x96\x93\xe4\xb4\x40\xc7\x58\xdc\xcb\x43\x4f\xec\xa1\xc9\x8e\x61\x57\x66\x13\x73\x83\x6a\xdb\xe3\x53\xb7\x0f\x43\xcd\x8e\x6d\x21\xfe\xdf\x64\x87\xb8\x63\x5b\x87\xf0\xcd\xbf\x8e\x4d\x66\x35\x20\x0d\xb7\x59\x98\x4e\xfb\x39\xb3\x54\x89\x48\x95\x6c\xae\xd8\x36\x84\x91\xb9\x5e\x33\x16\x85\xdc\x3e\x81\x8b\xee\x49\xc8\x5e\x09\xcf\x65\xaa\xa8\x67\xd4\x9f\xe7\xea\x2e\xdd\xfe\x2a\x6b\xf7\x74\x19\x4c\x3f\x9d\xf2\x4f\x26\x81\x08\x08\x8b\xe0\x86\xfd\x95\x3c\xc8\x55\xa2\x28\x3c\xe7\x2f\x00\xca\x24\xf2\x62\x20\x51\x41\x29\xe2\x16\x14\x02\xee\xa4\xb0\x6e\x15\xec\xab\x68\x7d\x9d\x81\xf5\x34\xb0\xc9\x1c\x1f\xc4\x7e\xb5\x05\x96\x25\xf0\x67\xb3\xdd\x03\xd0\x81\xad\x54\xa9\x16\xaf\x72\x5a\x94\x33\x91\xf3\x3b\x6f\x4a\x0c\x66\x3e\x3a\x1a\x65\x53\x23\xad\xe5\xbd\x17\xd9\xf5\xca\xd0\xcf\x79\xd4\xe6\x7e\x13\x32\x42\x3f\xfb\x4b\x3e\x81\xa4\x38\x26\x2c\x79\xa1\xd1\xee\x24\x8b\xc8\xb5\x49\xc7\x56\x95\xb1\x7e\xc0\xd7\x68\xe7\xf2\x52\x95\xcf\x7c\xbe\xb5\xbe\xca\x29\x57\x54\x19\xd8\x36\x69\xb5\x54\x56\xe0\xae\xfa\xe5\x83\x8f\xd2\x73\xb7\x3d\xa7\x54\xa3\xc7\xb9\x31\x28\x5d\xc0\x2e\x7c\x3c\x0b\x93\x65\x06\x9d\x66\x37\x89\x46\x6b\x64\xba\xe2\x9e\x99\xbf\x15\x21\xff\x6c\xb4\x63\x08\x4b\x76\xb4\x56\xfa\x23\xca\xb3\xa9\x2e\x48\x05\x62\x55\xe5\xc0\xd8\x6f\xa7\x2a\x24\x6b\xc3\x97\xd2\xe3\xc6\xfd\xb8\xe2\xb3\x3d\x99\x80\x5d\x58\x09\xd2\x68\xa8\x55\x9f\xd1\x6c\xa5\xd1\x3f\x4b\x8a\x3f\xda\x96\x52\x5f\xbd\xbf\x7d\xf8\xf8\x2a\x55\xe0\xfc\xd3\x6f\x11\x9d\xbd\x60\xa6\x6e\xe0\xc8\x28\xcd\x3f\x9d\x8f\xb7\x6f\xde\x9f\xe5\xf8\xe0\x96\xfc\x0b\x39\x65\x2a\xb2\xa2\x0e\x35\x1a\x7e\xcc\x90\xdc\xd5\x5e\xf9\x8c\x58\xbc\xdd\x78\xaf\x32\xad\x91\xc9\xe4\xb2\x8a\xe2\x13\x3b\x6e\xdb\xb6\xf0\xda\xb5\xae\x66\x81\xf0\xe1\xbe\xa6\xd1\xed\xdb\x04\x30\x3d\xdb\x4e\xac\x63\xc7\xb6\xd2\xf2\x6c\x87\x17\x3e\x9f\x28\xa1\x9e\x1e\xf7\x5d\x16\xc9\xe1\x31\x69\xad\xfc\x39\xf9\x1b\x12\x7f\x7f\x4f\x36\xe4\x6c\xe9\x36\x1a\x85\xf2\x57\xf2\xa7\x0b\x49\x92\x1a\x0f\x5b\x4b\x41\xcf\x0d\x37\xad\x24\x3f\x16\xda\x09\xec\x24\xc0\xbf\x97\x99\x19\x5c\xeb\x96\xca\x8a\xda\xef\x4e\xf4\xfd\xe7\x2c\x9c\x6d\x2f\x1c\xd7\x7c\x73\x26\xc2\xc7\xb0\xdd\x24\xf6\x54\x7d\x57\xa1\x82\xb0\x94\xce\x93\x8a\xec\x8f\x2a\xb5\x42\x39\xa6\x3d\xc1\xf6\xb0\xea\xab\xc6\x3c\x1e\x56\xb3\xca\x3b\x74\xa2\x63\x04\xb5\x8b\x28\xe9\xd3\x25\x19\x95\x9a\x76\xf9\x2a\x53\xcc\xe6\x6d\xbd\x15\x31\x8f\xed\xca\x32\x6b\x4a\xd5\x4c\x6e\x86\x2e\x92\x3a\xb2\x2b\xf4\x34\x54\x60\x89\x8e\xcf\xb5\xcc\x75\x76\xbf\x63\x3e\x5a\xfb\x2e\xdd\x2e\xe8\x94\x68\x76\xc1\x03\x44\x78\x07\xb7\x42\xb9\x82\x17\x90\x8d\xc6\x86\x5b\xa1\x9c\x6f\x5c\xda\x0b\xc6\x36\x27\x22\x9d\x68\xe5\x2c\x49\x6d\x95\x31\x4c\x8b\x6a\x22\xad\x4a\xd5\xa8\x2a\x56\xb3\xba\xd5\x4d\xc6\x64\x09\xe2\x95\x62\xc9\x08\x14\x74\xe0\x7c\x45\xfb\xe3\xb1\xb6\xf5\x95\x2b\xb2\xf8\x0c\xae\xb8\x23\x8e\xcf\xa6\x26\xa5\xfd\x05\x8f\xd5\x8b\xb6\x38\x95\x49\x61\x8a\x5c\xa2\xaa\x7e\x59\x69\xec\x9a\x72\xb7\x54\x81\xc8\x34\x0a\x3f\x13\xca\x7e\x95\xa7\x59\x4f\xa3\xe5\x45\x94\x06\x75\x81\x00\x74\x9a\x2d\x0a\x52\x0c\xb9\x6e\x0b\xb0\x3d\xe2\x89\x63\x1c\xc0\xad\xaf\xb6\xb8\x78\x53\x58\x0c\xb4\xd9\x1c\x6d\x23\xe7\x16\xe7\xb4\xa2\x77\x97\x6a\x59\xc5\x87\x4a\xf7\xf0\x3f\x8a\xc6\x4d\xf6\x4c\xee\x2e\x9c\x58\x24\x8a\x70\x80\x62\xb8\xac\xaf\x19\xa1\x10\xdb\xe0\x33\x0b\x6e\x4c\x11\xe0\x84\x26\xd1\x13\x22\x4b\xee\xd0\x88\x8e\xed\x7a\xbd\xf8\xb1\xe9\x58\x23\x2b\x6a\x36\xc5\xdd\x64\xc1\x11\x4d\x5d\x3f\x05\xc8\xa0\xc1\x21\x83\x46\x63\x93\x6e\xec\x5a\x42\xe6\x68\x01\x7f\x80\x00\xd8\x70\xe3\xa5\xa8\x47\x33\x6c\x34\xd0\xb2\xd9\xb4\x10\xcc\x24\xc7\x0b\xf9\xda\x6f\x34\xd0\xa2\xd1\xb0\x04\x43\x72\xab\x63\x10\xf3\x22\xf2\xca\x3d\x27\x2b\x9f\xfa\x2c\xa2\x66\x8e\x4b\x6b\x64\x49\xea\x4d\xa7\x48\x3f\x6a\x36\x79\x42\x96\xa1\xe1\x64\x4a\xb1\x0f\x79\x5e\x34\x6b\x64\x49\x2e\x1b\x4e\x81\x4f\x14\x88\x84\x74\xf9\x49\x7f\x54\xd4\x88\x9b\x21\x12\xd9\x0c\xb7\xbb\x42\x9a\x51\x23\x6c\xf8\x0d\xf5\x5e\xc8\x68\x19\x17\xd7\xad\x72\x36\x60\x95\x8d\x27\x47\x94\x34\x2a\xbf\xd6\x30\x1f\x33\xb9\xab\x9a\xcb\x5d\xc9\xf0\x9d\x9d\x29\x24\x4e\x3e\x2d\x4f\xc9\x28\xf6\x0d\x5c\x65\xb4\x8f\xf8\xe2\xd3\xed\x00\xfa\xab\xbf\x5c\x93\xf8\xa3\xd8\x55\x38\x33\xad\x13\xc9\xfc\x50\xfe\x6d\x24\xdc\x89\xd2\x14\x78\xd4\xb4\xa6\xc6\x0e\x33\x6a\xa6\x35\x9e\x7c\xd9\x3c\xbb\x34\x8c\x34\x42\x38\xb1\x8e\xb1\xad\x2d\xb2\x30\x81\xf7\x9c\x6d\x71\xed\x47\xf6\xa9\x64\x55\x0a\x36\x88\x6d\x4c\xbf\x05\xe3\xfb\xd9\x6d\xc0\x18\xa1\xd6\x88\x65\xd6\x92\xc5\xad\xe0\x78\xfd\x7d\x62\xe4\x3e\xf1\x00\x8b\xb2\xc8\xa7\x39\xd8\xb1\x63\x29\xa2\x50\x73\x5b\x47\xaf\x3a\x07\x84\xd7\xe5\x93\x56\xfd\x8c\xb7\x6c\xdd\x91\x64\xd7\xe8\x34\x2e\x63\x75\xa5\x2e\x7b\x5e\x4d\xe1\xe2\x64\x6c\xa3\x64\x03\x53\x96\xf3\xa2\xff\x5c\xce\x76\xe1\x65\xb5\xc8\x17\x29\x0d\x35\x84\xbe\x76\x81\xb2\xa2\xf0\x67\xe1\xec\xc9\x45\xdf\xc3\x71\x0c\x9b\xdd\x75\x36\x44\xd3\x29\xd6\x1a\x94\xec\xe4\x40\xa9\x00\x69\x63\x55\xd6\xda\x58\x43\x8a\x9b\x7a\xa5\x02\xa2\x13\x1d\x98\xc3\x94\x62\x14\x5b\x54\x18\x80\x89\x79\xa8\x4e\x38\xc6\x5b\x6f\xf1\xb7\xf1\x26\xac\x51\x4b\xf3\x56\xe5\x97\xcb\x8b\x70\x5b\xed\x12\x90\xdc\x3d\x4d\xa5\x55\xab\xf7\xa0\x16\xb8\x4e\x56\xa9\x63\x75\xb9\xbd\xc6\x15\xf5\x31\x03\x4b\x39\xb3\x24\x5d\xaf\x73\xe3\xe0\x98\x57\x43\x7e\x07\x9e\x66\xad\x24\x2b\x83\x7a\xe7\x91\x52\xf7\x4d\x4c\x34\xd5\xa5\x80\x8b\x2a\x2c\x03\xd6\xc1\x1e\xd9\x27\xa6\x56\x01\xa2\x03\xdb\x1a\xea\xb8\xd1\xea\x01\xa0\x54\xca\x3d\x9f\x4d\x1d\x38\x56\xba\x91\x2e\xbf\x9f\x08\x07\xff\xa3\x23\x40\xba\x6a\x2b\x0e\x83\xa6\xee\xf3\xe2\x88\x90\x84\x90\x49\xb6\x4c\x4a\x5f\x4b\x9c\x06\x93\xc1\x72\xe5\x29\xbb\xb1\x4a\xee\x96\x95\x07\x70\x3f\x46\x77\xe2\x50\x69\xe2\xae\x5c\xfa\x31\xfb\x48\xa6\x11\x9d\x91\x99\xb4\x8f\x73\xee\xcc\xec\xf7\xc4\x2e\xce\x53\x48\x35\x4e\x14\x9a\x86\xe0\x25\x59\xa4\xcc\x45\xba\xc9\x9e\x87\xd3\x60\x52\x12\x07\xff\x20\x7b\x62\x16\x6a\x42\xe3\xf5\xcf\x31\x12\x85\x82\x58\x8e\x50\xe6\x0a\x32\x55\x1b\x47\x4a\x98\x9e\x0d\xb2\xb5\x43\xb0\x66\xb1\x35\xf1\xce\xa8\x2b\x61\xc7\x76\xae\x8b\xab\x00\xc9\x51\x95\x62\x73\x8d\x48\x22\xca\x4a\x43\x96\x50\xd2\x57\x94\xdc\xa7\x1a\x84\xa4\x1a\x5b\x6c\x34\xcd\xb7\x52\x6e\x15\xe1\x49\x84\x84\xfc\x4b\x98\x72\x89\x4a\x0a\x9f\x1b\xc3\x46\x26\x79\x7c\x64\xa9\x1b\xb2\x42\x1e\x55\xdc\xaa\x3a\x58\x54\xb2\xfd\x5c\x25\xa6\xab\x12\xcd\xee\x67\x95\x7a\x55\xfe\x56\xb1\x0b\x3f\x81\xbb\xb2\xae\x0b\x8c\x16\x6f\xc8\xcb\x49\xb3\x62\x28\x96\x91\x52\x5a\x44\x1c\xca\x93\xc1\x23\xd4\x16\xc9\x69\x90\x72\xcc\xa2\xa3\x62\xf8\x35\x82\x71\x92\x27\x32\x7c\x62\x8f\x2a\xee\x04\x18\x65\xfa\x65\xde\xaf\xf2\x5c\xdf\x23\xf5\x6d\x9b\x44\x6e\x39\xc0\x38\xed\xb2\xa5\x40\xb8\x78\x53\x4c\xa2\xa8\x34\x93\xbf\xcc\x7a\x77\x35\xd1\x43\x2d\xbb\x56\x53\x53\xb2\x51\x41\x9a\x33\x9e\x30\x74\x50\xbc\x91\x3e\x0a\x7f\x5b\x10\x92\x67\x4d\x5e\xac\x07\x81\x93\x99\xff\x7b\xc2\xab\x33\x92\x6f\xa4\xb7\x16\x10\x41\x41\xb7\x5e\x7d\x78\x77\xf5\xea\xec\xed\xc5\x8b\x2b\xe1\x6b\xd6\x37\xce\x70\x0f\xfc\x9f\x5f\xfc\xe5\x6c\x7b\x20\xb8\x48\x41\xd3\x81\x4b\xc6\x8e\x6d\xb0\x9d\xb4\x1c\xcf\x19\x52\xf7\x05\x6c\x14\x2b\x2a\x5a\x4f\x17\x62\x66\xa5\x4c\x5d\xb9\x2c\xc3\xf7\xdf\x31\x69\x31\x9e\x80\xbb\x7a\xc4\x22\x82\x96\x50\xd5\x0a\xc2\x96\x5a\x53\xa5\x36\xda\x9d\x21\x82\xdb\x0f\x77\x8a\x63\x03\xeb\xca\xbd\x35\x92\x92\x4e\xb9\xd3\x3c\xca\x46\xde\xc8\x5e\x5a\x72\xb2\xdd\x9a\x77\x78\x49\x4f\x2e\xc3\xc3\x39\x32\x2e\xa9\x61\x0d\xc9\xf6\x02\xfd\x28\xbd\x99\x02\x34\x61\x1a\xe2\xd5\xb8\x09\xee\xc9\xcc\x40\x2c\x77\x6e\xc2\x70\x6d\x50\xcb\x79\xbd\x59\x78\x0b\xe7\x32\xf8\x6c\x39\x20\x21\xfb\x5b\xd3\xb1\xa5\x2e\xcf\x9e\xf5\x90\x5f\x7f\x57\xbe\xfe\x43\x78\x35\x0d\xc7\xb6\x6d\xfe\xf6\x26\x9a\xae\x63\xb3\xcc\x7e\x50\xd8\x16\xb3\xeb\x1c\xcf\xb9\x57\x92\xe3\xdc\x3b\xe0\x37\xf7\x86\xb3\x98\x7b\x21\xb9\x12\xf3\x90\xb6\xf5\xe4\xf0\x1f\xe0\x87\x21\x2b\x9f\xc2\x6d\x43\xaf\x23\x7a\x91\x18\x9b\x01\x62\xad\x69\xb4\x7a\x50\x2f\x51\x4d\xa2\x9a\x5f\xf3\xde\x44\x28\x6c\xa7\x7c\x73\x76\x22\x77\xc4\x4d\x97\xc1\xea\x3a\xf2\xe9\xec\x95\xcf\xfc\x56\x4c\x18\xff\x6b\x1a\x62\x67\x2e\x2d\xec\x58\x1b\x92\x32\x78\x46\xee\xd9\xe1\x6a\xe9\x07\xa1\x8a\xa5\xeb\x95\xbc\x20\x7e\xcc\x88\x8e\x5d\xb8\xca\x85\x45\x2b\x5e\x1f\xfe\xdc\x17\x4d\x24\x37\xef\xa6\x70\xdb\xf8\xd7\x14\x07\x26\x45\xf9\xf2\xc9\xed\xa2\xd6\xf6\xda\x3f\xb8\xd5\x16\xee\xa1\xf2\xf9\x78\x0d\x55\x0a\x81\x9e\xe4\xf6\x39\xe0\x46\x04\x47\x6b\x4d\xfd\x70\x4a\x96\x26\xb1\x36\xa3\xbd\xaa\xad\x5e\xa7\xa6\xb6\x3a\xe7\xb9\xea\xb4\x94\xfa\xe3\x88\xc5\x2a\x9d\x6b\xaa\x54\x2c\x0a\xdc\x46\x9f\xa1\xd9\xb9\x2d\xf0\x4b\x38\x23\x54\xac\x32\xc3\xf9\x61\x1c\x21\xd6\xa2\x5c\x26\x61\xd5\xb9\x4c\x0a\x44\x2f\x45\x4c\x96\xbf\xd0\x52\x70\x91\x0c\x7f\x06\xb5\xf9\x7f\x27\x93\xfe\x55\x4f\x26\x55\x9c\xf8\x49\x2e\x22\x2c\x3f\xed\x13\x64\x2e\x97\x66\x28\x68\x5d\x89\x58\x16\xc9\xec\x94\xa2\xa0\x70\xb6\x66\x8f\x0d\xfd\xa0\x20\xab\x7d\x64\x57\x00\xf3\xa7\x1c\x1f\x10\xba\x77\x47\x76\x02\xe8\x69\x5b\xc4\x6f\xe5\xe4\xbb\x6a\x6f\x9c\x84\x91\xd5\x25\xd7\x11\x67\x91\xb4\x5e\xcd\xc4\xd5\x51\x80\xdb\x71\x31\xa4\x0c\x35\xa4\xc3\x54\xc6\x53\x5f\xde\x91\x60\x54\x81\xf3\x81\xc7\xb0\x2b\x41\x60\xb4\x32\x9a\x83\xc1\x60\x40\x6e\x4b\x20\xb3\x77\x54\x1a\xbf\x95\x91\x23\x2c\xbd\xac\xc0\x34\x7c\x1a\xf8\xc9\xd1\x7d\x64\x30\xba\x26\x69\xc1\x72\x82\xa6\x39\xc2\x9a\xa7\xbb\x63\xaa\x4f\x72\xb5\xce\xa7\xf9\xca\xfa\x72\xf2\xb9\xc4\x53\x57\x2c\xc7\x9c\xb0\x97\xdc\x50\x0f\xc2\xf9\x29\x18\x15\x1f\x41\x13\x8e\x84\xa9\x0c\xe2\x5b\xaf\x8b\x87\x85\x9c\x8b\x98\x19\xd1\xc6\x19\xa8\xac\x08\xe2\x2d\x42\xba\x47\x5d\x20\x48\x70\x94\x83\xce\x3b\x02\xc4\xd8\x04\x11\x75\x83\x7f\x90\xe9\xc2\x0f\xe7\x64\x66\x40\x78\x25\xb6\x31\xa9\xe9\x58\xca\xba\xc8\x69\xc6\x8b\x14\xfd\x9f\x16\xff\x5f\xa8\xc5\xd3\x23\xf8\xa5\x3a\x9c\xb6\xae\x7c\x5e\xbb\x70\xac\x12\xea\x19\x02\xcb\x41\x84\x44\xca\x84\x8d\x69\xf3\xe7\x65\xe2\x15\xa4\x4f\x57\xea\xb7\xfe\xbd\x70\x09\xec\xd0\xb4\xc0\x49\xba\x36\x1a\x67\x21\x73\x17\xbc\x6e\x79\x25\x16\x12\x57\x7d\xa7\xcb\xc0\xd2\x55\x2a\x37\xc0\x24\x37\xbe\x26\x5b\x71\x20\x07\xb9\xa4\x32\x27\xec\xf4\x61\xba\x0c\xa6\x62\x61\x9f\x5a\x49\x78\x1c\x51\x21\x99\x7b\x2b\xd2\x8a\xf8\x53\x06\x9d\xe5\x3e\x55\x51\x56\x09\xc1\x8d\x49\x8e\xb3\x20\x96\x72\x73\xbd\xbc\xac\xfd\x88\xc0\x85\xed\xb9\x72\x4f\xf2\x11\x86\x64\x9b\x92\x3f\xa5\x58\x37\x11\x3d\xf3\xa7\x9a\x72\x65\x06\x3e\xa5\x93\x65\xb7\x87\x24\xe7\x84\x60\x8b\x48\x70\x44\x61\x7b\x08\x33\x21\xbe\x25\x5c\xfc\x0f\x33\xf0\x27\x0c\xc2\x73\xc2\x4a\x17\x39\xaa\x24\x81\x58\x13\xe5\x60\xa6\x36\x6a\x5e\x35\x0d\x5c\x38\x96\xb1\x5a\x17\x8e\x23\xed\x24\x92\x6b\xe7\x49\x1a\xd8\x30\xbd\x62\x1c\x1e\xd3\xce\x75\x62\x36\x1a\x8a\xc8\x16\x81\xd2\x91\x26\x2b\xd6\x56\x76\x88\x10\x67\x5f\x9d\xc4\x29\x27\x73\x2b\x6e\xcd\x5c\xe5\xa3\xef\xed\x5b\xb5\x59\x92\xcd\x66\xd3\x51\x6a\x7a\xb5\x0c\xa6\xa4\x74\x07\x11\xdc\x42\xef\x8e\x02\xf5\x66\x67\x2e\x2b\x74\x1c\x34\xdd\xec\xcd\xce\xc1\x44\x9e\x39\xe3\x14\x22\x4c\x46\xd1\x51\x8e\x01\x06\xe7\x27\x77\x32\x1d\x59\x7b\xa8\x8f\xa8\xc1\x52\x05\x22\xc9\x63\xb6\x09\x6e\x4c\x5a\xaf\x6f\xf7\xe3\x09\x46\x72\x50\xce\x28\x3a\xe6\xac\x35\x9b\x7b\x70\xb2\xbd\x3b\x78\x1f\x96\xac\x49\xe6\x84\x9f\x3d\x8a\xd2\xcd\x39\xfb\x95\x9b\x34\x78\xc9\xe9\x38\x9a\x6c\xf7\x9b\x4a\x69\x48\x23\x2a\xe6\xa5\x2b\x7f\x20\xb4\x00\xdb\xcc\xc3\x8e\x8a\x72\xd8\xc0\x71\x5e\xc0\xf3\xf0\xaa\x8c\xc6\x56\x36\x8e\xb2\xcc\x0d\xd3\xf4\x0e\xf6\x9c\x64\x71\x14\xd5\x57\x97\xd7\xa5\x99\x18\x85\xc9\x0d\xcd\x2a\x93\xf9\x5e\xd8\x4c\x9e\xb3\x8c\x91\xe2\x79\xb7\x45\x70\x93\x58\xab\xb1\x32\x93\x86\xa8\x35\xec\x08\xdb\x96\x50\xef\x47\xf6\xe3\x63\x1a\x49\x50\xf2\xa1\x5c\xe9\x0d\x1c\xd5\x12\x51\xaf\x45\x6b\x56\x8b\x6e\x6a\x94\x5b\x75\x86\x88\xc0\xd3\xa0\x47\xb6\x8a\x77\xea\x87\x61\xc4\x6a\xc0\x51\x4d\x46\x20\x8a\x21\xb6\x7c\x00\x17\x83\x3f\x44\xe1\xac\x06\x3b\x76\x6a\xb6\x20\x44\x8f\xed\x54\x6e\x85\xb0\xda\x5b\x61\x8d\x09\xe3\x62\xd2\x90\xeb\x8e\x73\xf1\x68\x25\xeb\x9d\xa4\xc1\x1a\xb4\x99\x1b\x97\x82\x1b\x33\x38\xb6\xad\xed\x15\x4e\x49\xbb\x05\xb9\xce\x53\x10\xac\x24\x62\x51\xa2\x39\xd4\x76\x69\xe8\x74\x98\x90\x8f\x7c\x1f\xc8\x74\xfa\x32\xee\x8b\x9b\xc5\xf2\xfd\x42\x33\xa6\x28\x3a\xb5\x41\xac\x1f\xf3\x25\xa8\x30\xb3\x03\x3a\x5d\x2f\x7d\xfa\x36\x88\xd9\x4e\x3b\xfb\xbb\x6c\x3d\x02\x8b\x34\x3d\xa2\x98\x7d\x58\x45\xd1\x72\x1b\x3a\x33\x08\x7f\x89\x09\xfe\xb2\xd1\x2d\x83\xca\x80\x5d\xc5\x19\xd2\xf6\xec\x1f\xde\x9e\x32\xe1\x54\xf3\x01\xc8\x85\x95\xfc\x9e\xdc\x25\xeb\x38\x02\x66\x15\xad\xd2\xf3\x78\x90\xf9\x18\x26\x57\xdb\x49\x22\x69\x7d\x78\xf9\x1f\x67\xa7\x17\x57\x6f\x5e\x5d\xbd\xb8\xb8\xf8\xf8\xe6\xe5\x2f\x17\x67\x5c\x37\x22\x56\x8c\xa3\x05\x21\x0b\x73\x11\x2e\x78\xc7\x7b\x3a\x6d\x4d\x9f\x8a\xd6\xcb\x59\x8d\x77\x2b\x99\x4b\xcd\x0f\x93\xbe\x05\xaf\x1f\x08\xab\xc9\xfa\x99\x19\xd6\x48\x5c\x32\x59\x7b\x7a\xd6\xe9\x81\x09\x92\x86\x4c\x33\xd3\xa0\xa9\xa2\xc2\x20\xe8\x40\x31\x64\x6e\x5a\xbb\x4a\xeb\x94\xc5\x52\xda\x8a\x02\x37\xb0\x49\xeb\x2a\x02\xb9\x93\xa7\x34\x46\xdb\x4b\xc8\x77\x72\x8d\x68\x8b\x25\x9b\x6d\x1d\xdb\xb2\x8a\x0d\x93\x2b\x4d\x5e\x37\x8b\x58\x7a\xef\xfd\x5b\x70\xaf\x92\x6c\x4c\x6e\x43\xae\x49\x04\xba\x2c\xb1\x31\xf3\x99\xdf\x8c\xae\xff\xde\x0c\x66\x06\x0a\x72\xdc\xc3\x9d\xdc\xba\xf8\xc9\x7f\xfa\x9e\x0f\x70\xa3\xc3\xaa\x70\xe9\x45\x85\xc9\xd6\x48\x06\x5b\x23\xbf\xd7\xcd\xfc\x8e\x2d\xae\xe6\x77\xe0\x6e\x7e\x6a\x3a\xae\x08\x45\xe4\x38\x16\xf2\xb7\x12\x30\x27\xc9\x18\xf5\xf2\xe1\x4d\x26\xae\xa4\x18\x06\xf8\xbc\xf6\x00\x63\x5f\xc6\x02\x18\x2d\xb1\xb1\xe0\x10\x06\xc6\xf3\x88\xb1\x07\xd8\x78\x76\x02\x53\xd9\xd6\x4f\x3c\x6d\xfa\xd6\x90\x3f\x46\xad\xbf\xc9\x47\x19\xf1\xcc\x34\x16\x8c\xad\xe2\xa1\x81\x93\xb3\xf4\xcb\x48\xdc\x9d\x24\xc4\x62\x1a\x2d\x4f\x8c\xbb\x38\x1e\x1e\x1e\x1a\x43\xe3\x0e\xfe\x5a\x8d\x22\xe8\x22\x8a\x99\xf2\x72\xe5\xb3\x45\xe8\xdf\x92\x86\x71\x17\x1b\x68\xaa\xd0\x17\x31\x07\xd0\x1a\x66\x90\x61\xeb\x34\x0a\x43\xe1\xb3\x7e\xed\xf3\x19\xfd\x83\xb9\x40\x71\xca\x44\x6c\xa1\x95\x8c\xb7\xfd\x1b\xb9\xbe\xb8\xf8\xdd\x5c\xa2\x35\x9a\x22\x51\x5c\x7f\xcd\x16\x57\x2c\xfa\x44\x42\xab\x15\xad\x48\x68\x5a\x23\x99\x9b\xba\x17\x65\x1d\x2e\x23\x7f\x66\xa0\x4c\xef\xe3\x7a\x6d\xd9\x9a\x2e\xa3\x98\x98\xd6\x46\xe7\x24\xcf\xae\xa1\x6d\x57\x28\xcc\x08\x0e\x2d\x66\x17\xcb\xd2\x93\xdc\x63\x32\x11\x21\xf0\x58\xc3\xb1\x4a\x87\xfe\x9b\x20\x9c\xd5\x6e\x41\x5c\x6a\xcf\x8c\x06\x69\x18\xcf\x5a\xdb\xb0\x69\x6c\x23\x2c\xb8\x2f\x46\xeb\xd0\x67\xcc\x9f\x2e\xe4\x1f\x63\xd8\x46\xc5\x77\xad\xbf\xc7\xf9\xd7\x2b\x7f\xfa\xc9\x9f\x93\xd6\xdf\xe3\x28\x34\x86\x9e\xcd\x3f\xdd\x04\x8c\xff\x37\x86\x9d\xcc\x13\x60\xa6\x2f\x0a\x68\x0e\xbc\x5f\x2f\x97\xf1\x94\x12\x12\x66\x92\xc6\xb0\x5b\xfa\xad\x35\x8d\x63\x63\xe8\xb9\xe5\x00\x3c\xcf\x22\x7e\x21\x6b\x8f\x7f\x96\x82\x3f\x8b\x8a\x5f\xdb\xf9\xaf\x69\xca\x18\xf6\x4a\xbe\x40\x9e\xbd\xcd\x28\x68\x7d\x22\x0f\xb1\x66\xc6\x24\x3b\x35\xff\x6a\xc6\xd6\x06\x05\x2d\x4a\xe2\x68\xf9\x99\xe0\x08\x91\x16\xb9\x5f\x45\x94\xc5\x38\x40\x41\x2b\x98\x61\x77\x90\x17\x13\xae\x23\x13\x90\x2f\x5c\xee\x87\x22\xf0\x67\x4b\x36\x19\xba\xf5\x83\x70\x68\x6c\x1b\x0b\xad\x68\xf0\xd9\x67\xa0\x1f\xf6\x24\xc5\x9b\x4e\xd2\x91\xed\x56\x45\x44\x11\x3a\xa1\x97\x6a\x70\xb5\x67\xed\xc6\x0f\x96\x64\x36\xac\x1d\x2e\xa2\x5b\x72\xf8\xb0\x9e\xf9\xc1\x21\xef\x90\xc1\x67\x72\xb8\xa2\xd1\x6c\x3d\x65\xf1\xa1\x6b\x3b\x9d\x43\xe8\x63\x87\x31\x9d\x1e\xce\x03\xb6\x58\x5f\xb7\xa6\xd1\xad\x44\x10\x9f\xfe\x1e\x1f\x86\xd1\x8c\x5c\x09\x41\x8e\x0f\x81\xd9\xc3\x65\x70\x7d\xe8\xcf\x66\x51\x18\x97\xcb\x48\xed\x97\x90\xdc\xaf\xc8\x94\x91\x59\x0d\xfa\x6f\xcd\x74\x86\xb6\x75\x19\xfe\x1e\xad\x6b\xb7\xfe\x43\x2d\x24\x64\xc6\x47\x70\x7f\xb5\xa2\xd1\x8a\x06\x3e\x23\x35\xde\x7f\x09\xad\xb1\xa8\x26\x16\x01\x61\xf0\xae\xdd\x04\x3c\xc5\x47\xb1\xcb\xf0\xb1\xd6\x92\x15\x96\xe6\x56\xfb\xc2\x5f\xf3\x7f\x89\xcf\x7d\x58\x83\x35\xec\x51\xf2\x9e\x45\xab\x61\xcd\x1e\x19\xd6\xbe\x8d\xb1\xed\x09\x49\x9b\xe4\xc4\xfb\x2b\xda\x77\x2b\xc4\x92\x62\x4e\x76\x73\x04\x27\xd6\xe8\xff\x0b\x00\x00\xff\xff\xa0\x84\x6a\x64\x9b\x12\x05\x00") +var _staticJsGottyBundleJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\xfd\x79\x77\xe3\x38\xb2\x28\x88\x9f\xdf\x32\x33\xe7\xbc\x3f\x66\xdf\x57\x9a\xdd\x4f\x45\x96\x60\x99\xd4\xe2\x45\x32\xd3\x4f\x69\xd9\x95\x7e\xed\xb4\xf3\xda\xce\xae\x5b\xa3\x54\x67\xd3\x52\xc8\x62\x27\x45\xaa\x41\xc8\x4e\xb7\xa5\x3b\x5f\x7d\x0e\x56\x02\x24\x25\xbb\xea\x76\xdf\x99\xca\x92\x4c\x21\xb0\x04\x02\x81\x40\x44\x20\x40\xec\x4c\x97\xc9\x98\x44\x69\xe2\x80\xfb\x22\x9f\x2d\xe2\x44\xee\x4b\x34\x75\xf0\x30\x1a\xb9\x18\xc8\x12\x27\x16\x7d\x6e\xc0\xf7\x45\x8a\x49\xd6\x7b\x0c\xb1\x95\x06\x34\x29\x78\x89\xba\x11\x8a\xbb\x3b\x3e\x12\xc0\xee\xcb\x7a\xdd\x13\x85\x80\x16\x1a\x87\x71\xec\xa4\xb2\x2c\x4a\x51\xfe\x4c\x5c\x94\x36\xe2\x60\xc7\xcb\xd3\xd6\xb4\x6e\x1c\xbc\xac\x7b\xa4\x31\x0f\x00\x91\xc6\x38\xc0\x88\x34\xa2\x40\x47\x55\xd6\xbf\x46\xa4\x31\xd1\x20\x08\xa3\xc8\x7d\x21\x8d\x94\x3e\xba\xab\xd5\xf5\xfd\x5f\x60\x4c\x1a\x13\x98\x46\x09\x7c\xc2\xe9\x02\x30\x79\x66\xd9\x5e\xc6\x69\x32\x8d\x1e\x96\x38\xbc\x8f\x81\xa1\x9f\x2c\xe7\x20\x7e\x79\xe8\x01\x48\x37\x5a\xbb\xb4\xfe\xc4\x68\x99\xa3\x07\xb5\x1a\x34\xbe\x7e\x85\xec\x63\x3a\x59\xc6\x70\xa2\x72\xe4\xa8\xd1\x46\xc3\x65\x4c\xd6\xdd\x0a\xa0\xa2\x10\x69\x4c\x1c\x8c\xec\xd0\x46\xd8\x45\x98\x36\x97\xea\xdd\x21\xaa\x88\xe8\xc9\x02\xa7\x24\x25\xcf\x0b\x68\xcc\xc2\xec\xfa\x29\x91\x7d\xe2\x54\xa6\x05\x68\x1d\x8b\xc0\xb6\x11\x71\x48\x23\x0b\x9a\x87\xee\xda\x19\xea\x55\x22\xec\xbe\xd8\xcb\x0c\xac\x8c\xe0\x68\x4c\xec\x9e\x1a\xf7\x48\x76\x90\x04\x64\x16\x65\xbd\x68\xea\xec\x38\xf4\xc9\x8a\x92\x8c\x84\xc9\x18\xd2\xa9\x15\xb9\x92\x25\x12\x78\xb2\x22\x27\xc4\x0f\xcb\x39\x24\x24\x1b\x7a\x23\x94\xff\xf0\xf5\x1f\xcd\x91\xdb\x23\x8d\x7b\x9c\x3e\x65\x80\x83\x5b\x3a\xa8\xb4\xb6\x38\x88\xc4\x03\x5a\x36\xce\x1e\x21\x21\x67\xf3\x88\x10\xc0\xbc\x37\xb4\x65\x17\xd9\xc9\x72\x7e\x0f\xd8\x0e\x02\xda\xed\x74\x6a\x41\xad\xe6\x40\xf0\x32\x4e\xe3\xac\x6b\x34\x4e\xab\xef\x1a\x18\xcc\xc2\x64\x12\x03\xee\xea\x98\xac\x5d\x04\x01\xac\x56\x2f\x6b\x24\x68\xfa\x0d\x9e\x33\x27\x92\xe3\x95\xb9\x8d\x69\x8a\xcf\xc2\xf1\xcc\x51\x54\xc3\xee\x4b\xb2\x8c\xe3\x20\x80\x21\x1e\xd1\xe6\x87\x78\x14\x44\x8d\x74\x41\xa1\xd9\x10\x8f\x50\x34\xc4\xa3\x9d\x20\xc8\x6b\xd1\x33\x0e\xf1\xc8\x75\x11\xa1\xcf\x34\x61\xed\xa2\xc3\x20\x08\xa0\x31\x4e\xe3\x14\x67\x8d\x18\x92\x07\x32\x3b\x91\xbf\x73\xc0\x38\x4d\xc6\x21\x71\xa2\xc6\x57\x91\x90\xc5\xd1\x18\x9c\x43\xd7\xed\xfa\xfb\xff\x9a\x1a\xfc\x7d\x5a\x85\xf7\xa6\x2a\x78\x09\x0f\xed\x36\xdd\x8d\x08\x51\x20\x2a\x94\xd8\x6d\xd2\x36\x2a\x3a\x4a\xc9\xf2\x76\x44\x37\x55\xed\x22\xca\x1e\xc5\x7a\x78\xa2\x18\x17\x2a\x3d\xe8\xcf\x45\x88\x21\x21\x01\x34\xee\xd3\xc9\xf3\x6a\x05\x22\x61\xb5\x72\xfa\x27\xfd\xc6\x03\x90\xb3\x18\x18\x77\xbc\x7f\xbe\x0b\x1f\xae\xc2\x39\x38\x36\xcd\x6a\xbb\x43\x6f\xd4\xa5\x03\x9f\x37\x26\x9a\xca\x68\x35\x0f\x90\xce\x81\xe0\x67\xca\x7b\x0c\x4e\x19\x30\x00\xf6\xc7\x80\xfb\x02\x2e\x13\x82\xa1\xaa\x2e\x2f\x38\x42\x74\x4e\x33\x7e\xad\xd5\x78\x37\x12\xc7\x9e\x84\x24\xb4\x73\x88\x40\xe4\xf9\x3e\xcc\x20\xf0\xc4\x8f\x49\x94\x2d\xe4\x8f\xef\x2a\x55\x3e\x8c\x97\x38\x4b\xf1\x2d\x09\x09\x98\x49\x1f\xa2\xc9\x04\x92\x60\xc7\x97\x9d\x4b\x1e\x01\x93\xb3\x34\xe6\xbf\xff\xba\x84\x25\x30\x39\x42\x7f\x65\x63\x9c\xc6\xf1\x5d\xaa\x1a\xe2\x09\xef\x53\x42\xd2\x79\xa0\x3a\xb1\x2b\x2b\x5b\x66\x24\x9d\xff\x01\x9e\xd9\xac\xfe\xc0\x91\x0f\x28\x29\x75\x0c\xde\xc7\x51\xf2\xed\x22\x21\x80\x1f\xc3\x58\x83\x86\x8b\x45\x1c\x8d\x43\x3a\x88\x7f\x80\xe7\x45\x38\x51\x48\x6a\x90\x53\x56\x85\x82\xa4\x38\x7a\x88\x92\x8f\xe9\x04\x54\x52\x94\x64\x80\x89\x91\xf4\x84\xc3\x45\x88\xd3\x65\x32\xe1\xc9\xa2\x33\x49\x8a\xe7\x06\x06\xe3\x59\x88\x33\x20\x5a\xca\x43\x45\x52\x0c\x8f\x10\x2b\xa2\x72\x78\x16\x0c\x69\x0e\x31\xe2\x13\x18\x5f\xa6\xe3\x90\xa4\x58\x0c\x8f\xef\x7d\x4c\x97\x99\x60\xcc\x47\xd2\xf4\xcc\xdf\x2d\xe3\x37\x47\x4b\x4b\x98\xd3\x47\x46\x52\xc1\x38\x19\x24\x93\xf3\x74\xbc\x14\x3f\x97\x64\xaa\xe5\xce\x1e\xb0\xf6\x6b\x89\xbf\x3f\x12\xed\x37\x70\xa6\x97\xc8\x47\xf1\x04\x43\x22\xd8\x11\xa6\x18\xb2\xd9\x2d\x09\x31\x31\x52\xce\x92\x89\xa8\x3a\x7c\x84\xc9\x3f\x6b\xcf\xbf\x68\xcf\xa7\x39\x5f\x43\x38\xa1\x2b\xaa\x22\xf4\x13\x8e\x88\x91\x30\x81\x69\x9f\x10\x1c\xf8\x2d\xff\xb0\x9d\xb3\x27\x4b\xd3\x33\xa8\x99\x1c\xce\xb3\x60\x38\x52\x19\xe9\x44\xfe\x44\x53\xe5\x30\x2c\x30\x4c\xa3\xef\x8a\x6f\x17\x69\x46\xf4\xdf\x51\xb2\x58\xe6\xfc\x08\x4f\xd6\xbc\x71\xa1\x25\x89\x35\x47\x36\x96\x89\x4c\xcf\x8d\x4f\xec\x87\x53\xaa\x03\x69\x05\x30\x24\x13\xc0\x20\x10\x97\xbf\x56\xab\x9c\x63\x32\x88\x81\xad\x28\x1f\xc3\x24\x7c\x90\x39\x8b\xa9\x7a\x09\x3a\x43\xa2\x69\x24\xb3\xaa\x9f\xab\x15\xc5\xeb\x6b\xe3\x52\x26\xe4\xf4\x85\xf7\xcb\xe9\x14\xb0\xa2\x12\x4b\xbb\xa0\x9a\xc2\x03\x86\x2c\x53\x73\xe1\x7b\x3a\x9d\xde\x42\x42\xee\xd2\xd3\x90\x8c\x67\x9f\x17\xda\x2c\x89\x08\xdc\x92\x74\xb1\x80\x7c\xea\x65\x4b\x8c\xd3\x87\x90\xc0\xd7\x59\xf4\x30\x53\x04\x8d\xa3\x04\x32\x46\xa4\x69\xe3\x34\xc2\xe3\x65\x1c\xe2\xcb\x28\x23\x8e\x26\x25\xee\xc3\xf1\x37\xb7\x37\x4d\xb1\xc3\xb5\x27\x25\x2e\x7a\x78\x77\xb7\xe7\xe6\xf5\x34\x16\xcb\x6c\xc6\x4b\xde\xc7\x61\xf2\xed\x32\x4a\xc0\x71\xdd\x5e\x25\x99\x84\x94\x2c\x26\x37\x32\x20\x9c\x02\x4e\x5e\xb1\x18\x21\x12\xde\xab\x89\x43\x96\x0b\xda\xc5\xcc\x11\xb0\x65\x06\xf8\x96\xa1\x1b\x25\x0f\xc1\x8e\xbf\x56\x6a\x51\xca\xb5\x26\xaa\x59\xf6\x31\x0e\x9f\x1b\x51\xc6\xfe\x3a\xe0\xae\x56\x0e\x04\x43\x18\xd1\x25\xaa\xa4\x35\x80\xfb\x02\x8d\x70\x32\x61\x13\x96\xd2\x04\x12\x8a\x14\xad\x69\xb5\xda\xf1\xdd\xb5\x9b\xb7\x91\xe5\x6d\x40\x03\xc3\x3c\x7d\x84\x8d\xc5\x54\x21\xa1\x21\xaa\xdf\xd8\x71\x5f\xa4\x2c\xcf\x08\x5e\x8e\x49\x8a\x03\x58\xe3\x5c\x6b\x0c\x34\x0d\x12\x81\x96\x4e\x07\x10\xe7\x35\x87\xbc\x66\xa1\xec\x4a\xcd\xad\x11\x65\x1f\xc3\x71\xad\x46\x1a\x61\x4c\xfe\x00\xcf\xb5\xda\x0e\x69\x8c\x09\x8e\xe5\xf3\x1c\x48\xf8\x07\x60\x6b\xac\x56\xe4\xf6\xe7\x28\x99\xa4\x4f\x99\x5e\xb0\xb2\x9c\x50\x8a\xed\x6f\xf0\xbc\xa0\xac\x4a\x75\xbe\x06\x45\xef\x04\x77\x71\xad\xe6\xec\x30\x5d\xed\x34\x9d\xc0\x6a\xa5\x1e\xdf\xb5\x0f\x34\x92\xc4\x52\xc3\xe5\x26\x0a\x1c\x1f\xfb\xfb\x2b\x72\x7c\x7c\xb8\xc2\x54\x9d\xa5\x13\x6b\x27\x88\x1b\x5f\xc7\xe1\x78\x06\xc3\x54\x99\x37\x5a\x92\x62\xd4\x0c\x25\x28\x44\x33\x34\x46\xcb\xc0\xdf\xf3\xd0\x24\xd8\xf5\xd1\x22\xf0\x7a\x8b\xe3\xa8\xf1\x68\xe8\x34\xbd\x45\xbd\xce\x4c\xa6\x2c\x50\xa0\xe1\x62\x84\x92\x80\xab\xc5\x01\x57\x47\x03\xaa\x80\x22\xaa\x77\x39\xe3\x20\x6e\x4c\x22\xae\x55\x8b\xb1\x67\xad\xb9\xae\xfb\x32\x09\x16\xbd\x7b\x0c\xe1\xb7\xf5\xf8\x78\x59\xab\x39\xcb\x60\x8c\x26\xc1\xc2\x5d\x97\x91\x0d\x26\x79\xdf\x67\x9a\x65\x24\xf4\x43\x45\x2e\xff\xa0\xf0\xfb\x50\xff\xbd\xde\xfb\x71\xe7\xdf\x59\x3f\x5a\xdf\x09\xe0\xb9\xe5\xcc\x08\x59\x64\xdd\xbd\xbd\x64\x31\xff\x0b\x65\xa6\xf9\xde\x22\x1c\x7f\x0b\x1f\x60\x8f\x65\x70\x69\xd6\xff\x40\x35\xb1\x24\x03\xeb\xe3\xc5\x1d\xfb\xfd\x08\x38\xa3\x58\x34\x1b\x87\x0d\x9f\xa6\x04\x01\xcb\xbd\x77\x79\x71\x7a\x76\x75\x7b\x16\x04\x34\xf1\x34\x5d\x3c\xe3\xe8\x61\x46\x2c\x67\xec\x5a\x4d\xcf\x6f\xef\x36\x3d\x7f\x1f\x59\xb7\xe9\x12\x8f\xe1\x32\x8c\xb0\xf5\x09\x47\x8f\x21\x01\xeb\x34\x9d\x2f\xc2\xe4\x39\xc7\xe7\xe9\xe9\xa9\x91\xb1\x7c\x71\x18\x61\x8a\x98\x5b\x59\x67\x93\xd6\xd9\x42\xd6\xe9\x0c\x47\x19\x49\x17\x33\xc0\xd6\x7f\x84\xe9\x14\x83\x56\xd9\x43\x44\x66\xcb\x7b\xd6\xbb\xf1\xec\x2f\x7f\xd9\x63\x55\xd1\xcf\x27\xc0\xf3\x28\x63\x7d\x89\x32\x6b\x06\x18\xee\x9f\xad\x07\x1c\x26\x04\x26\xc8\x9a\x62\x00\x2b\x9d\x5a\x74\xb9\x7f\x00\x64\x91\xd4\xa2\x38\x2e\x00\x67\x54\x54\xdc\x93\x30\x4a\xa2\xe4\xc1\x0a\xad\x71\xba\x78\xa6\xf5\xa5\x53\x8b\xd9\x50\x59\x3a\x25\x4f\x21\x06\x2b\x4c\x26\x56\x98\x65\xe9\x38\x0a\x09\x4c\xac\x49\x3a\x66\xc6\x09\xd3\x6a\xac\x69\x14\x43\x66\x39\x64\x06\x96\x7d\x2b\x4a\xd8\x2e\x6b\x67\x02\x61\x4c\x2b\x8c\x12\x8b\x82\x25\xd4\x7a\x8a\xc8\x2c\x5d\x12\x0b\x03\xb7\xe8\xa2\x34\x41\x56\x94\x8c\xe3\xe5\x84\x62\x22\xc1\x71\x34\x8f\x44\x23\xb4\x38\xa3\x58\x46\xeb\x23\xa9\x45\xb5\x02\x86\x30\xb2\xe6\xe9\x24\x9a\xd2\xbf\xc0\xfa\xb7\x58\xde\xc7\x51\x36\x43\x16\x65\x56\x1c\xdd\x2f\x09\x20\x2b\xa3\x89\x6c\xf8\x11\xed\xcd\x5e\x8a\xad\x0c\x62\x86\xdc\x38\x5d\x44\x90\xf1\x4e\xe7\x38\xb2\x6c\xb4\xa1\x05\x25\x2e\x11\xe4\xca\x68\xca\xd3\x2c\x9d\x9b\xfd\x89\x18\x56\xd3\x25\x4e\xa2\x6c\x06\xac\xd8\x24\xb5\xb2\x94\xb5\x4b\x2d\x36\x9a\x42\x4b\x4c\xd3\x38\x4e\x9f\x68\x1f\xc7\x69\x32\x89\x98\xd2\xdf\x95\xc3\x78\x37\x03\x2b\xbc\x4f\x1f\x81\xf5\x8b\xf3\x47\x92\x92\x68\xcc\x07\x80\x0d\xc9\x22\x1f\x6a\x01\xca\x66\x61\x1c\x5b\xf7\x20\xe8\x07\x13\x2b\x4a\x68\x6d\x34\x55\x76\x0d\x53\x3c\xe8\xcc\x25\x51\x18\x5b\x8b\x14\xb3\x86\x8b\x5d\x6e\x28\x44\x3e\x9c\x59\xb7\xd7\xe7\x77\x3f\xf7\x6f\xce\xac\x8b\x5b\xeb\xd3\xcd\xf5\x1f\x2f\x06\x67\x03\xcb\xee\xdf\x5a\x17\xb7\x36\xb2\x7e\xbe\xb8\xfb\x70\xfd\xf9\xce\xfa\xb9\x7f\x73\xd3\xbf\xba\xfb\xc5\xba\x3e\xb7\xfa\x57\xbf\x58\x7f\xb8\xb8\x1a\x20\xeb\xec\x9f\x3f\xdd\x9c\xdd\xde\x5a\xd7\x37\xb4\xb6\x8b\x8f\x9f\x2e\x2f\xce\x06\xc8\xba\xb8\x3a\xbd\xfc\x3c\xb8\xb8\xfa\xc9\x7a\xff\xf9\xce\xba\xba\xbe\xb3\x2e\x2f\x3e\x5e\xdc\x9d\x0d\xac\xbb\x6b\xd6\xa6\xa8\xed\xe2\xec\x96\xd6\xf7\xf1\xec\xe6\xf4\x43\xff\xea\xae\xff\xfe\xe2\xf2\xe2\xee\x17\x44\xeb\x3a\xbf\xb8\xbb\xa2\x35\x9f\x5f\xdf\x58\x7d\xeb\x53\xff\xe6\xee\xe2\xf4\xf3\x65\xff\xc6\xfa\xf4\xf9\xe6\xd3\xf5\xed\x99\xd5\xbf\x1a\x58\x57\xd7\x57\x17\x57\xe7\x37\x17\x57\x3f\x9d\x7d\x3c\xbb\xba\x6b\x58\x17\x57\xd6\xd5\xb5\x75\xf6\xc7\xb3\xab\x3b\xeb\xf6\x43\xff\xf2\x92\xb6\x46\xab\xeb\x7f\xbe\xfb\x70\x7d\x43\x11\xb5\x4e\xaf\x3f\xfd\x72\x73\xf1\xd3\x87\x3b\xeb\xc3\xf5\xe5\xe0\xec\xe6\xd6\x7a\x7f\x66\x5d\x5e\xf4\xdf\x5f\x9e\xf1\xd6\xae\x7e\xb1\x4e\x2f\xfb\x17\x1f\x91\x35\xe8\x7f\xec\xff\x74\xc6\x4a\x5d\xdf\x7d\x38\x63\x9d\xa4\x39\x39\x9a\xd6\xcf\x1f\xce\x68\x2a\x6d\xb5\x7f\x65\xf5\x4f\xef\x2e\xae\xaf\x68\x7f\x4e\xaf\xaf\xee\x6e\xfa\xa7\x77\xc8\xba\xbb\xbe\xb9\x53\xa5\x7f\xbe\xb8\x3d\x43\x56\xff\xe6\xe2\x96\x52\xe6\xfc\xe6\xfa\x23\xeb\x29\xa5\xee\xf5\x39\xcd\x75\x71\x45\x8b\x5e\x9d\xf1\x8a\x28\xe5\xcd\x01\xba\xbe\x61\xbf\x3f\xdf\x9e\xa9\x3a\xad\xc1\x59\xff\xf2\xe2\xea\xa7\x5b\xeb\xe2\xaa\x38\xa0\x74\x94\xf7\xfe\x5d\xb5\x9b\x89\x20\x3b\x77\x11\xd9\xe8\xe5\x31\x8c\x97\xd0\xdd\xf1\xd6\x2e\x73\xa0\x8d\x03\xec\xf8\x1d\x17\x2d\xe9\x5f\x17\x4d\x02\xec\x34\x9b\x2e\x5a\xd0\xbf\x2d\x17\x4d\xe9\xdf\x8e\x8b\x1e\xe8\x5f\x17\xcd\x69\xae\x7d\x17\x3d\xd3\xbf\x87\x2e\xba\xa7\x7f\x8f\x5c\xf4\x95\xfe\x3d\x70\xd1\x29\xcd\xe6\xb9\xe8\x89\xfe\x6d\xbb\xe8\x36\xc0\xce\x91\x8b\x1e\x29\xd8\x73\x51\x3f\xb0\x97\x09\xc7\x6f\x62\xef\x48\x57\xca\x13\x5b\x98\x4f\xf8\x9f\x86\x14\x44\xcc\xe4\xed\x25\x4e\x54\xf0\xca\xb8\x28\xd2\xfc\x4f\x80\xc3\x0c\x98\x9e\x5e\xf2\x6f\xed\x76\xfc\x66\x4d\xd7\xde\x57\x1d\xdf\xaf\xe9\xba\xfd\x1a\x45\x0d\x12\x26\x0f\xe9\x29\xb7\xdf\x87\xf6\xef\x9a\xd0\x6a\xb7\xf6\x6d\x64\xff\x6e\x3c\xf6\x3c\xcf\xa3\x4f\x6d\x38\x0a\x3d\x9e\xd6\x0e\x45\x5a\xab\xbd\xdf\x09\xdb\xf4\xe9\xa0\xd3\xf1\x0e\xee\xe9\x93\xb7\x7f\x74\x78\x14\xd2\xa7\x49\x6b\x72\x30\x9e\xd2\xa7\x4e\xa7\x73\xd0\x69\xd1\x27\x98\x36\x8f\x9a\x47\xf4\xe9\x30\x84\x66\x8b\x95\x9d\x8e\xe1\xa8\xcd\xf2\x1d\x34\x8f\xa6\xbc\x44\x38\x39\x98\x86\x87\xbc\x0d\x68\x42\x93\x95\xa5\xff\x8d\xed\x11\x8a\xa4\xab\x41\xeb\xad\x5a\x79\x41\x7a\x1e\x53\xae\xc1\xda\xbf\xb3\xeb\xc4\x01\xb7\x4e\x1c\x4c\xbf\x22\x57\x53\x51\x48\xbe\x4c\x3b\x10\x40\x83\xa4\xb7\x04\x47\xc9\x03\xf3\xca\x08\x7d\xe2\xb8\x79\x62\x7b\x76\x1d\xba\xc0\xfd\xa1\x28\x0d\x0c\x82\x09\x47\x88\x8b\xb2\x60\xe8\xa1\xa3\x0e\xf2\x5b\x1d\xe4\x1f\x74\x50\xd3\xef\xa0\x66\xa7\xc3\x95\x18\x1c\x78\x3d\x7c\xdc\xf4\xf7\x7b\xb8\x5e\x77\xc1\xc9\x86\x78\xaf\xb5\xff\xef\xf7\x57\xde\x08\xd1\xe7\xfc\xf1\xdf\xef\x8f\x5c\xbd\x48\x5b\x96\x08\x0e\xeb\xbe\xf7\x23\x46\x19\xca\x5c\xe9\xb3\x4c\xd7\x0e\x65\x05\xe1\xa9\x09\x22\xd3\x39\x43\x41\x8f\x15\xb4\x12\x4a\x15\x20\x42\x2d\x13\xac\x8a\xa1\x34\xf0\x7a\xe9\x71\xb3\xb3\xdf\x4b\x69\x9b\x01\xb3\xbb\x2e\x12\xe2\xe0\x61\x3a\x6a\x30\x51\xcb\xc9\xe3\x22\x3a\x01\x08\x27\xf1\x10\xde\xbd\xf3\xf7\x6b\xcd\x4e\x07\xc1\xbb\x77\x87\xec\xa1\xd9\xe9\xd4\x60\xa4\xf0\x24\x1c\x4f\xe9\x91\x63\x2e\xc3\x14\x67\xdd\x28\x77\x16\xc1\x1c\xba\xb6\xc8\x60\xa3\xdc\x05\xd2\xa5\x56\x0f\xe0\xf9\x55\x48\x33\x30\x3d\xc6\x46\xd2\x7d\xd3\x1d\x1e\x7a\xa8\xd9\x1e\x21\xcd\x8b\x41\x0b\x48\x4f\xcb\x73\x0c\x5d\xfb\x3e\x4e\xc7\xdf\x6c\xf4\x18\x65\xcb\x30\x7e\x0f\x31\xab\x72\x91\x2e\xae\x13\xf9\x23\xb7\x8d\xba\x3e\xb4\xe8\x4f\x80\xe4\x0f\xf0\x9c\x51\xe0\x04\xee\x97\x0f\xac\x52\xe6\x1f\xe5\x36\x3f\x03\x44\x19\x35\xa0\x6f\xc9\x24\x4a\xe8\xef\x65\x06\xe7\x71\xfa\x74\x9a\x26\x04\x0b\xbc\xc3\x7b\x6a\xd8\xfc\x1c\x4d\xc8\xac\x7b\x48\x67\x9a\xf4\x87\xbd\xd0\x1f\xd3\x74\xbc\xcc\xb8\x17\xa3\xe8\x15\x8e\xa6\x8e\x32\x63\x5c\xe5\xc7\x96\x76\x0d\xcd\xa2\x74\xe3\x28\xf0\x7a\xd1\x31\x48\xf5\x37\xaa\xd7\x5d\xc2\xbd\xb6\x18\xc1\x30\x1a\xa1\x08\x81\xbb\x36\x6c\xa1\x68\xea\x68\x0e\x57\xd7\xf4\x6b\x33\x1f\x2c\x70\xc1\x48\x10\x35\x5e\x59\x53\x84\x2a\x3b\xe0\xbe\xd9\xf9\x5d\xab\x61\x61\x43\x2a\x2e\xc0\x6b\xdd\xb7\x8b\x0c\x8c\x86\x30\xd2\x5d\xb6\x30\xca\x89\x55\x02\xad\x4d\xf1\xc7\xc9\x58\x76\xed\x73\x3b\x13\xbe\x93\x10\x43\xc8\x73\x39\xee\xda\x28\xfa\x00\xe4\x9a\x35\x52\xf0\xf4\x33\x77\x3b\xd5\x3c\x2c\x0d\x61\x97\xcc\x70\xfa\xc4\x7c\xed\x67\x18\xa7\xd8\xf9\xe1\x2a\xb5\x38\x8e\x4c\xb3\xb3\xbe\xc1\xb3\x65\xff\x50\x87\xfa\x0f\xf6\x0f\xaa\xd3\x8f\x69\x34\xb1\xbc\x9d\x20\xd0\xfd\xa1\x43\x18\x9d\x14\x7e\x77\xe9\x6f\xda\x39\x03\xc1\xec\x1f\x88\x60\xf6\x14\x91\x31\xb3\x54\xc6\x61\x06\x76\x3e\x09\xec\x6e\x34\x75\xc8\xb1\xf2\x0d\x48\xeb\xd3\xbe\x05\x42\xa8\x8e\x47\x95\xab\x3c\xbb\xc5\x56\x53\x2b\x86\x2c\xb3\xc8\x2c\xe4\x3a\x2d\xdf\x2a\xa0\x9a\x18\xad\xc1\xb2\x15\x0f\xd4\x03\xdb\xb1\xeb\xaa\xee\xba\xed\x52\xdd\x3e\x49\x09\x55\xec\xd2\x27\x98\x34\xd8\xec\xcf\xd2\x18\x1a\x4f\x21\x4e\x1c\xec\xa2\x1d\x7f\x4d\x31\x32\x09\x46\x49\xca\x08\xa1\x39\x2d\xf8\x1c\x78\x47\xa4\xd1\x59\x02\xed\x12\x94\x05\xb9\xaf\x76\x37\x3d\xf6\x7a\x5a\x26\x82\xa3\x39\xf3\xb5\x39\xa9\xe1\xdf\xfd\x18\x92\x59\x63\x1e\x7e\x77\xf2\xb4\xdd\x14\x79\xae\xee\xf6\x2d\xe4\xe1\xd5\xd3\x3c\x99\x70\x8f\x08\xcf\x9d\xe3\x21\xcd\x49\xeb\xae\xb5\xe6\xe7\xe1\xf7\x4b\x86\x66\x20\x9c\x7d\x8f\x11\x3c\x51\xad\xb6\x91\x3d\x27\x63\xee\x12\xe9\x63\x08\x1d\x77\xbd\x16\xa3\x27\xb8\x46\x16\xd0\xa6\x0c\x41\x72\x64\x35\xe1\x68\x77\xa5\xcf\xe5\x34\x4f\xa4\x22\x9d\xb8\xdc\xce\xed\x69\x25\x98\xfc\x14\x25\x84\x8f\xb2\x31\x8e\xc3\x2c\xbb\x8c\x32\xd2\x20\xe9\xc3\x43\x0c\x0e\x17\xc9\xbb\xbc\xc4\x6e\x46\x8b\xec\x52\xfd\x06\xd3\x2e\xd9\xc8\xce\x9f\x03\x3a\x60\xe8\xd7\xd7\x76\x1f\x62\x1b\xd9\xf4\x9b\xd5\xa0\xe3\xa9\x0b\xd8\xbc\x6b\xca\x9d\xb4\x36\x27\x13\xb5\xca\x42\x5c\xe8\xb9\x2e\x38\x36\xd1\x46\xa3\xac\xee\x2f\x77\x4b\x73\x75\x53\xd5\x90\x33\xea\x1b\xbb\x7e\xcf\x46\x0b\x81\xdc\xef\x88\x21\xc4\x66\xed\xd2\x5b\xef\xb8\xc8\xdc\x2b\xdc\xe8\xd6\xcf\x80\xa8\x42\x7a\xaf\x7f\x15\x4e\xbb\x69\x62\xbb\x6b\xb4\xef\x79\x45\xf2\x6e\xc1\xb1\x44\xe4\x72\x8b\xdc\xd3\xb6\xb1\xc5\x8d\x9b\x15\xb5\x9a\xc3\x1a\x56\x3d\xdb\x94\x71\x73\x15\x6c\x09\x66\x83\x79\x1f\x09\x27\xbe\x31\x74\xa9\x03\x6a\x1d\x41\x36\x5b\x48\xec\x7c\xf5\x22\xee\x0b\xe4\xde\xff\x5a\x8d\xff\x70\x1e\x1a\xa7\x5e\xe3\xec\xf6\xb4\x6e\x0f\x2f\x6c\x17\x41\x45\x97\xc3\xc9\xc4\x11\xd5\xd1\x0c\xd9\x2c\x7d\xe2\xe4\xa3\x43\x5a\xcd\xad\x6c\xdb\xe5\xd9\x01\x57\xa9\x0f\x40\xab\x9e\x47\x44\xd6\x84\x5e\x28\x01\xa3\x24\x8c\xbb\xb0\x76\xd7\x05\x1e\xbd\x8f\x97\x15\x56\x42\x61\xa9\xa4\x99\x1c\x45\x8f\xf7\x46\x91\x12\x39\x68\xe6\x22\x35\xa4\xa4\x83\xc6\x33\x82\xc6\x33\xeb\xdc\x36\x02\x5d\x6f\x20\x90\xe4\x89\x9c\x46\x5b\x78\xac\x4c\x1a\xa6\x59\x49\xea\x70\x3c\xb7\x12\x27\x4a\x22\xf2\x53\x9c\xde\x9b\xfc\xca\x54\x65\x36\xb3\x90\xdc\x8c\x67\x74\xa1\xfa\xa1\xd8\xa4\xd0\x18\xc7\x48\xa1\xa4\x13\x09\xa9\x31\xfb\x91\x3d\x4e\x17\xcf\x1a\xd9\x30\x25\x9b\xb6\xa7\xb4\x5a\x2d\x1a\x34\x8b\xdc\x0c\xc1\x88\x30\x22\x9a\x0e\x76\x57\xd8\xaf\xb8\x2a\x22\x63\xd1\x58\x84\x19\x01\x59\x03\x0b\x48\xe8\x09\x34\xf2\xe1\x63\x79\x58\xc8\x43\x11\xc3\x1c\x42\x34\x17\xf2\x79\x84\x61\x9a\x7e\x3f\x29\xe6\x66\xb8\x4f\xd2\xa7\xc4\xe4\x85\x66\x10\x90\xc6\xfd\x92\x90\x34\xa9\xd5\x16\x0d\xe6\xfb\x39\x8d\xa3\xf1\x37\xb5\xcb\x83\x34\x66\xaa\xec\x61\xb7\x4c\xba\x84\x96\x98\x43\xb2\x34\x1b\xfb\x6d\xf5\x1b\xdd\xbb\x8c\x92\xe5\xf7\x5a\xad\xd8\x64\xb8\xfc\x3e\xa6\xb5\x9a\xed\xf9\x81\xd9\x3b\xca\xac\x77\xf0\x9d\xd0\x25\xfa\x33\x5d\xf6\xd8\x1e\x9f\x98\xd2\xaf\x23\x22\x27\x1c\x65\xac\xd2\x84\x53\xa8\x7c\x83\xe7\x32\x99\xfb\x8d\x70\x4c\xa2\x47\x10\xdb\xe7\x5c\xd9\xa4\x33\xed\x1b\x3c\x0f\xd2\x27\x9a\x67\x8d\x76\x3c\x3a\xc8\x66\x55\xdc\xb9\xff\xe6\xba\x3e\xd1\xec\x1b\x2b\x5b\x2e\xcc\x9a\xa8\xee\xbf\x5a\x09\x05\xdd\x01\xad\x54\xce\x7f\x95\xdd\xa9\xc6\xdb\x28\x54\x81\xb8\x81\xa1\xd0\x9f\xa8\x66\x1a\xd8\x76\x55\x25\xe3\x74\xbe\x48\x33\xee\xaa\xa4\x82\xd6\x66\xb1\x0d\x2a\xed\x03\xc4\x0b\xc0\x8d\x62\x2e\x36\x42\x4e\x45\x4e\x77\x4b\xfd\xcb\xc5\x24\xa4\x73\xe9\x95\x06\x78\xb6\xdf\xd4\x02\x24\x93\x57\xab\x87\x64\xb2\xad\x6e\x60\x51\x0e\x42\x74\x57\x57\xc6\x11\x3c\xcd\xd3\x65\xb8\xc6\xaf\xa8\xd7\x1c\x31\x16\xda\x20\x76\x4e\x79\x30\x81\x43\x1a\x19\xdf\xed\x6e\x40\x32\xa9\x90\xd1\x19\x60\x72\x93\x3e\x55\x88\x3c\x3b\x65\xc6\x69\xee\x54\xe3\xf1\x49\xfd\xc6\x18\x43\x48\x24\x43\x3b\xf6\x24\x7a\xb4\x65\xd4\x0a\xe6\x06\x7b\x18\x25\x80\xe9\x0a\x02\xc9\xe4\x74\x16\xc5\x13\x47\x69\x5e\x62\x3f\x9e\x1b\xb3\xe0\x22\x30\x11\x4a\x17\x50\x34\xce\xf2\xad\x55\x14\xf1\x3f\x19\xb5\xd1\x85\x02\x28\x63\x60\x56\x2b\xed\x27\xda\xd1\x7e\x94\xec\x38\xfb\x4e\xac\x5a\x16\x86\xbf\x2e\x23\x0c\x99\x15\x5a\x3c\xaf\x25\x57\x4d\x9b\x7b\x04\xe4\xa6\x23\xe5\x92\x40\xab\xb3\x91\x3e\x25\x80\x07\xc2\xaf\x28\x6d\xc6\x3f\x46\xf0\x24\x76\xff\x05\x64\x73\x19\x9e\xef\x3e\x9d\x3c\x07\x46\x89\xd7\xc2\x76\x0c\x8d\xbf\x50\xb4\x6a\x60\x36\x59\x08\x4c\x5b\x92\xcb\xf7\x2b\xd9\xb8\x9b\xe8\x0d\x79\x76\x99\xe3\x69\x57\x18\xa4\xec\x87\x8b\x7e\xad\x19\x60\x36\x93\x01\xe9\x13\xb1\x3f\xe3\x50\x0b\x25\x4a\x26\xf0\xdd\x56\xd6\xa2\xb4\xe9\xa4\x7c\xad\x66\xcf\xca\xbc\xd5\x5d\x90\x99\x8a\xfd\xd5\xb9\xb9\xaa\xb6\x42\x1b\xb9\x79\xf9\x26\x94\xf2\xec\xd5\x58\x71\xff\xc0\x2e\x95\x54\x9b\x7a\xb3\x11\xc1\xbc\x6e\xb7\x10\xad\xa1\xe6\xea\x56\x1c\xcb\xd9\x37\xe0\x28\xf3\xbd\x4a\xba\x72\x8d\x15\xf2\x63\x2b\x4e\x86\xa0\xa9\xc4\x86\x2a\x21\xaf\x22\xa2\x57\x53\x90\x50\x2a\xcc\x44\x85\xa6\x34\x42\x42\xc2\xf1\xec\x2e\x1d\xa4\x73\xa7\x6f\xe6\x16\x85\x67\x4c\x4c\xbf\xad\x0b\x85\xbc\xd5\xbd\xe0\x99\x5e\xef\x48\xa1\x32\x19\x16\x22\x16\xb7\x32\x1e\x12\x62\x17\x72\x6e\xc3\x62\x77\x63\x21\x73\x92\x86\x4b\x92\x8e\x53\x8c\xe9\xe2\x81\xec\x74\x3a\x7d\x4b\xfe\x70\x11\x91\x30\x8e\xfe\x06\x6f\x2a\x92\x2d\x20\x8e\xc7\x33\xa0\x3a\xa4\x3d\x0d\xe3\x0c\x4a\x05\x48\x78\x7f\x41\x45\x85\x8c\x9f\x52\x80\x52\xe0\x4a\xc9\x06\x75\x5f\xa2\x4d\x46\x60\xb4\x66\x3a\xee\x2b\x15\x16\xac\xb8\xbc\xbe\xa2\xd9\xa4\x55\x57\x64\x87\xd2\x10\xcb\xf6\x54\xcc\xa6\x52\x0e\xe8\xba\xb3\x95\xd5\x0a\x79\x8b\x83\xac\x81\x99\xf8\xab\x28\xc6\xf5\x0f\x16\x4d\x33\x6e\x9c\x16\xd3\x0b\x66\x50\x55\x9b\x7a\x3c\xd9\xab\x5d\x2d\x94\x75\xf3\x40\xc4\xdb\xe8\x6f\xc0\x1c\x69\x1b\xe5\x3d\xf3\x72\x6d\x9a\x63\xe5\x96\x2a\xea\x74\x7b\x59\xee\xad\xed\x65\xf5\x3a\x0f\xe4\x52\xba\x92\xe3\x16\xb4\x8f\x72\xb5\x60\xac\x09\xb4\x91\x8f\x10\x66\x4b\xcc\xe3\x91\x9e\x1a\xa7\x79\x8a\x94\x24\xd5\x33\x58\x2b\xca\x14\x3f\x16\x8c\x19\xfd\x0d\xc6\xb3\x30\x79\x80\x49\x81\xc9\x84\x46\xa9\xf7\x29\x73\x14\x87\xe9\x75\xcd\x45\xe3\x85\xb5\x84\xa1\x37\x69\xfc\x51\xfc\x74\xb8\x9d\x5e\xb1\xda\x6c\x5a\xbd\x4a\x2d\x15\x43\x08\x69\x03\xf7\x8d\x1b\xf1\x53\x0f\x4b\x2c\xc5\x10\xd2\xac\xa7\x8d\xdb\x42\xb2\x86\x13\x73\xf3\x96\xd7\x83\x4d\x38\x94\x02\xea\xaa\x35\x69\xaa\x00\x2b\x7c\x55\xc8\xa8\x2c\xeb\x80\x50\xa8\x41\x28\xd4\x5b\xea\x4e\xe0\x29\x5f\x13\x0b\x0d\x28\xe9\xc1\x8d\x2a\x40\xb8\xb4\xb9\xa2\x27\xf1\x7a\xf2\xb1\xa4\xd5\x73\x9d\xc0\x60\x01\xb9\x2d\x50\xc6\x47\x3a\x91\x54\x0d\x25\xf5\xa1\x24\xc5\xfe\x75\xf5\x57\xfb\xe7\x65\xb0\xaa\x74\x0d\x39\x2e\xe2\x5b\x3a\xcc\x19\xcd\x74\xfd\x24\xb0\x7f\x49\x97\xd6\x24\x9a\xb0\x7d\x8c\x45\xc8\x36\x42\xc0\xfa\x33\x23\xcb\x9f\x2d\x79\xe6\xc1\x8a\x12\xeb\xcf\x52\x95\x2f\x98\x10\x8e\xfb\xe7\xc6\x97\xc4\xee\x25\xf5\xc0\xbe\xab\x2a\x9b\xa4\x4f\x96\xdc\xe9\xb1\x48\x6a\xfd\x99\xe0\x25\xfc\xd9\xba\x5f\x12\x8b\x0d\xaf\x8c\x2f\xe2\x91\x63\x8d\xbf\x64\x56\xab\xe1\x59\x36\xa2\x15\x46\xc4\x7a\x8a\xe2\x58\x96\x67\xc5\xd9\x1a\xf4\xe7\xe2\x66\x0b\x55\x0b\x82\x1d\x6f\x4d\xc4\x9e\x85\x1c\xd8\x92\x0f\xa6\xe0\x0d\x91\x6e\x32\x16\xc4\x9f\xb3\x1e\xad\x0d\x1a\x51\x76\x9a\xc6\x71\xb8\xc8\x60\xd2\xa3\x86\x41\x1a\x43\x98\xe4\xa7\x48\xc8\xc9\x0e\xe9\xda\x37\x54\x3c\xd8\x41\x00\x2c\xcc\xd0\x5d\xad\x22\xb5\x65\x27\xc6\x80\x2a\xd2\xcc\xa3\x22\x65\x00\x5f\xa1\x28\xf5\x6c\x66\x25\xc6\x69\x38\xe9\x4f\x26\xa5\xcd\x32\xc9\x03\x4e\xf3\xc8\x75\xec\xc6\x9e\x5d\x87\xba\x4d\xbf\x0b\xb6\x65\x95\x30\x2a\x79\xae\xab\xe4\x2f\xe3\x7a\x3a\x9b\xa9\x7c\xb7\x1b\x5c\x05\x79\x8a\x26\xb0\x4b\x73\xbf\x3c\xb1\xfd\x5f\xbb\xde\xfc\xb1\x24\xd5\x18\xa8\x6e\x2f\xbe\xf7\xd6\xa2\x18\x8f\x34\x37\x0b\xbe\xa1\x18\xdb\x65\x7b\x67\x4d\xa2\xc7\x97\x19\x44\x0f\x33\x52\x55\x8c\x43\x78\x39\xbb\xe0\x18\x96\xc4\xdd\x14\x55\x21\xb6\x18\x10\x0b\xde\x24\x01\x15\x0a\x08\x07\x8f\x74\xbc\x6f\xc2\xa7\xf7\xcf\x04\x4e\xd3\x14\x4f\x32\x07\x50\x6c\x0a\xb7\x58\xc7\x81\xfe\x4a\xe3\x8c\xe7\xc9\x5c\x57\x6c\x63\x45\x6c\x4f\x1b\x41\x23\x7d\x04\x8c\xa3\x09\xdc\x3d\x2f\x60\xb5\x12\xcc\xc0\xb7\xb1\x72\x17\x63\x77\x16\x10\x7d\x1b\x88\x41\x96\x0b\x9a\xde\x6a\xae\x0b\xf1\x1d\x72\x1f\x7b\xd6\x73\xc8\xbf\x1e\xdf\x5a\x2d\x72\x70\x3d\x68\x35\x11\xd1\x02\x49\xb0\xda\x95\x8d\x55\xe4\x3f\xfb\xd9\xf4\xda\x07\x4c\x50\xa8\x3d\x7c\xe6\x46\xf0\xdc\x1e\x39\xf6\x9b\x07\x27\x20\xf7\xc8\xbb\x0e\x79\x47\x33\xd7\x6a\x0e\x09\xe8\x03\x25\x06\x83\xf9\x47\xcd\x15\x79\xf7\x6e\x3f\x4f\x68\x1e\xae\xf6\x5b\x35\xe2\xba\x6b\x88\x33\x60\xcd\x74\x3a\x1b\x5a\x79\xe7\x37\x79\x9d\x7e\x33\xaf\x92\xb8\x1a\x91\x22\x0d\xf7\xfc\xd8\x83\xfb\x02\xb5\xa0\x85\x48\xe3\xfb\x2e\xeb\x6c\xe3\x99\xfe\xed\xf1\x80\x03\xcd\x75\xdf\x6c\xdb\x94\x21\xd8\x01\x26\x37\xaa\x07\xb6\x6f\xf7\x28\x56\x56\x34\x75\x7c\x95\xd8\xca\x13\x9b\x2a\xb1\xc3\x13\x69\xcb\x2d\x96\xc8\xb1\xef\x51\x98\x67\xcb\x08\x5b\xfa\xeb\x5f\x86\x76\x9d\x34\xbe\xd7\x6d\x44\xff\x3e\xd7\xed\xd1\x17\x6c\x73\x31\x1c\xf3\xcd\x84\x48\x8b\xc8\xcd\x4f\x7a\x9c\x38\x55\x9d\x60\x51\xbf\x70\x02\x41\xb3\xeb\x8b\xa7\x76\xb7\x29\x9e\xf6\xbb\x0c\x17\xe6\x38\x6a\xb9\x46\x1b\x5a\xaf\x99\x04\xe9\xd9\x75\x8e\xf8\x49\xbb\xeb\xb9\xec\x37\x43\xae\x27\x90\xa5\x70\xd2\x58\x84\x0f\xb0\x5a\x51\x78\xed\xc9\x76\xdd\x6e\xac\x1d\xff\x38\x71\x8a\xa8\xd1\x82\x75\xfa\xab\x5e\x7f\xad\x6d\xd9\x06\x6b\xf3\x23\xaf\x5a\x9e\x33\x29\x57\xbc\xa1\xb2\x63\xbb\xee\xd0\x4e\x38\xad\x1a\xb8\x27\xbb\xed\x1a\x74\xc1\xdd\x6d\x35\xdd\x52\x13\x79\x2e\x7b\x6e\x77\x59\x83\x6e\xd7\xc1\x4e\x44\xcd\x4e\x2a\x0b\x9c\x88\x62\x2f\x1f\x9e\x37\xd2\xee\xa3\x5d\xe7\x51\x56\x8d\x29\x4e\xe7\x54\xda\x9e\xa6\x13\x10\xbb\x37\x1c\x82\x22\xd7\x35\x83\xeb\xd5\x34\x46\x11\x4a\x51\xa6\x62\x17\xde\x28\x2f\xf8\x59\xa1\x9d\x00\x84\xb7\xfe\xa4\x2e\x9f\xba\x12\xf0\x34\x8b\xc6\xb3\x13\xf1\x77\xd7\x67\xe9\x28\x36\x82\xe7\x2f\xce\xf8\x4c\xa2\x53\xed\xc4\xeb\xb6\xd9\x5f\xbf\x6b\x6e\x49\x2b\x59\x44\x82\x96\x9e\x3e\xb8\xfe\xc8\x86\x86\x6b\x9e\x14\x0c\x8d\x09\x90\x30\x8a\x8f\xbd\x93\xfd\x76\x77\xbf\xa3\xe7\x7e\x9a\x01\x88\x4c\xec\x71\x00\x31\x09\x7f\x79\x27\x72\x4a\x5e\xc7\x01\x34\xb2\x59\x34\x25\x7f\x80\x67\xca\x84\x28\x0a\x40\x46\xf0\x9f\x1c\x76\x3d\x94\x06\x20\xa3\xfb\x4f\xfc\xfd\xae\x87\xb2\x00\xaf\xa2\x55\x8a\x62\xed\xc4\xd3\x49\x56\x0b\xd2\x6e\xac\x9f\x71\x5a\xad\x9c\x2c\xf0\xe8\xea\xdd\x6a\xd6\x9d\xec\xf8\xb8\xe9\xd6\x09\x8b\x7f\x0b\x03\x43\x11\x88\xb9\x7f\x93\xca\xdd\x5e\xea\x84\xd5\xfb\x40\x58\x48\x17\x6d\x7f\x4b\x49\x2a\x07\xbb\x28\x56\x6a\x86\x81\x96\x83\x8d\xd1\x0d\x14\x69\x91\x28\xc5\x03\xb2\x1c\x4c\x19\xd1\x40\xbf\x56\x4b\x9d\x58\x79\x19\x05\x52\xf3\xf4\x11\x6c\x44\x68\x41\x79\xf6\x6b\xb5\xaa\xc8\xa7\xef\x62\x58\xd8\x89\xf2\xa3\xc2\x4e\x44\x0b\x1b\xed\x64\x5b\xda\xa9\x80\xd1\xba\x75\xd4\x23\xaa\xdc\xe8\x1d\x59\x53\x55\x2b\x44\x62\xfc\x0d\x67\x79\x91\x84\xb5\xda\x8e\xa3\x77\x45\x97\xde\xf4\x57\x2e\x06\xdd\x9c\xda\x44\x6b\x8e\x6c\x6c\x8d\xaf\x5d\x3b\x95\x23\x16\xe7\x41\x29\x69\xf2\x33\x2d\x48\x35\x01\x55\x29\xa8\x4a\x49\xba\x1c\xcf\xc4\xce\xca\xaf\xaf\xf9\x8e\x96\xe6\xa1\x38\x5b\xaa\xe7\xb4\xfe\x8d\xb5\x7f\x4c\x1f\xa1\x54\xb9\xa9\x15\x4d\x20\x23\x38\x7d\x2e\x29\x81\xf9\x69\x3a\xbf\x78\x9a\x4e\x24\x7c\x05\xd6\x7a\xf0\xb2\x16\xc6\xb2\x38\xe8\xa6\xd5\xb4\xd6\x8e\x78\x55\xa4\x8b\x29\x26\x14\x71\xe9\x47\xe3\xf6\xfb\x55\x3a\x81\x8d\x00\xb1\x6d\x5e\x61\xdc\x17\xc3\x61\x98\xbd\x53\x50\x96\x0d\xe3\x57\x45\x2e\x09\xdb\x92\x6d\xd7\xdc\xc8\xdd\x7d\x54\xac\xb1\xbc\x9b\x53\x0e\x5b\x33\x3d\x94\x6e\x7e\x14\x0d\x7a\xf8\x38\x20\x2c\xda\xb5\xe0\xc5\xe4\x4f\xcf\x37\xe9\x93\x83\x8b\x31\x37\x2a\x66\xa2\xac\xa8\xe7\xa7\x6d\x57\x2b\xa7\x98\x14\xf8\xa6\xd1\xc7\x7e\x3c\x8b\x78\x2e\xb7\xd8\x0a\x93\xd9\xa5\x97\x0f\x10\x3d\x74\x8c\xc7\x97\x05\x81\x1e\x73\xa6\xe2\xb9\xe8\xba\x31\xab\x88\x32\xf3\xf5\x28\xb3\xdd\x5d\xa4\xe2\x04\x59\xf8\x98\xa0\x3e\x0f\x25\xdb\xd5\xb3\x52\x1d\x61\x56\x3c\x29\x27\x7b\xc9\xc3\xd1\xf2\xcc\xae\x88\x5b\x10\x45\x35\xe3\x16\x39\x64\x57\x3f\x31\xbc\xcb\x3d\x03\xda\x79\x62\xd7\xec\x90\x38\x9a\xae\xa5\x54\x1d\x13\xe4\xf6\x31\x02\xd7\xed\x6a\x39\xb3\x05\x0b\x4a\x26\x48\xd8\xd7\x55\xf9\x73\x02\xa8\x53\xce\xb5\x9a\x93\x53\x85\x76\x40\xd2\x52\xd2\xec\x57\x10\xc2\x45\x15\xf8\x14\x28\xa3\x1a\x46\xbe\xcc\xcf\xed\x42\x66\xa0\x3a\x66\x9e\xed\x19\x04\x09\x75\x63\x55\x7a\x28\x72\xfc\x2a\x59\x6d\x40\x11\x2f\x4d\x1d\x38\xf6\xd8\x5f\x2f\xd0\xb9\x44\xaa\xcd\x65\x3a\x50\x43\x9e\xa9\xdd\xa2\x6b\x2c\xfb\xbb\x0a\x52\x16\x0f\x5c\x8a\x63\x9e\x2c\x7f\x5d\x9e\xdd\xe7\xa5\xf3\xc2\x27\x95\x34\xee\xe6\xa9\xc7\x9e\x1a\x2a\x7e\x2e\xde\x45\x44\x6c\x7a\x6e\x24\xc6\x36\x4f\x4c\x15\xa1\x3e\x85\x0f\x60\x06\x4b\x68\xf4\xa7\x54\x74\xe0\x47\x47\xaf\xa4\xb2\x96\xbb\xf4\x2e\x5d\x94\x03\x01\xf3\x4a\x76\x5f\x19\xaf\xbb\x54\x1c\xbf\xdf\x52\x87\xc6\xb4\x1b\x6b\x2b\xac\x05\x5a\xd8\xa0\x76\x9c\x58\xed\x44\x73\xbf\x9a\xd8\x90\x34\xa3\xcf\x6b\x35\xbe\xa1\x5c\x3a\x59\x2c\x64\x8a\x5e\x9d\x08\x9a\x0d\x3a\x72\xb8\x72\x8d\x7d\x70\xda\x72\x37\x1e\x51\xf6\x5c\xb1\x6b\x5d\x38\xd6\xbc\xb9\x09\x4f\x50\xa5\x74\x0e\xda\xeb\x69\xf1\x8b\x19\x90\xbb\x68\x0e\xe9\x92\x98\x51\x8a\x51\x92\x00\xfe\x99\x16\x75\xe8\x42\x5d\x8c\x0b\x90\xc0\xca\xa3\x0e\x41\x09\x25\x31\xfd\x3d\xd4\xf2\x3c\xb7\x07\x0a\xc5\x9e\x8c\xa5\x14\xaa\xb5\xe3\xf6\x88\x8c\xad\xdf\x44\x52\xfe\xfa\x0e\xf9\x4e\x0d\x35\x3d\xcb\x14\xa8\xa2\xb0\xbf\x99\xc2\xbe\x39\x1f\xd8\x9a\x11\xe8\x2b\x55\xfe\x32\x00\x91\xdc\xd3\x8e\x75\xf3\x53\xf3\xfc\x8f\x43\xc4\x9c\x16\x89\x19\x10\xb6\x0c\x3a\x78\x93\x08\x7b\x76\x2b\x16\xc8\x6d\xaf\x23\x70\xd7\x55\xbc\x9a\x8f\x3c\x77\x1d\x6c\x19\xe1\xc8\x1c\x61\xe4\x71\xff\x86\x55\xcd\x32\x7e\xc5\xcc\x89\x93\xb2\x28\x60\x00\x07\xea\xf6\x17\xfc\x45\xf8\x09\xf3\x52\x7c\x7f\xf4\x54\xbe\x22\x83\xda\x2d\x1f\x8a\x8a\x1a\x35\x27\x75\x17\xa9\xbd\xb9\x90\xc3\x62\xd9\x07\x67\x9f\x6e\xce\x4e\xfb\x77\x67\x03\x76\xbc\x91\x79\x5e\xef\xc1\xe2\x5a\xd9\xc4\xca\xd2\x34\x69\x58\x9f\x62\x08\x33\xb0\x96\x19\x58\x85\xfa\xf4\xf7\x74\xd0\x0a\x93\x8c\x40\x38\x69\xc8\x0d\xa2\x6d\xb9\x8b\x0e\xcd\x2d\x79\xcb\x84\xaa\x7e\x51\x08\x94\x62\x9c\x3f\x3c\x2f\x00\x13\xf8\x4e\xa8\xa2\x57\x55\x1b\x55\xc1\x0b\x5a\x5e\x29\xa0\xe5\x34\x4c\x58\xc8\x3f\x43\xd0\x0a\xad\x99\xac\xd4\xa2\x85\x2c\xa1\x2d\x5b\xf7\x30\x4d\x31\x58\xca\x67\x9e\x2e\x80\x1d\x05\x1e\x87\x71\x0c\x13\xdb\xed\x15\x34\xc5\x0d\xe8\x39\xf0\x6b\x16\x16\xad\x8e\x3f\x86\x71\x34\xe1\xef\x38\x09\xf9\x61\x87\xbf\x63\x4f\x1f\x55\xe5\xac\x3f\xec\x28\xc5\xbf\xa6\xc3\x65\x64\x7f\x55\xbf\x31\x3c\x44\x19\x01\x4c\xe9\xf6\x91\x4a\x20\x63\x58\xd5\xb1\xa4\x42\x7f\xb5\x69\xad\xa1\x55\x51\x97\xa8\xa2\xa7\x47\x1c\x6f\xd8\x71\x89\xd6\x45\x2b\x6c\x3b\x6e\x82\x81\x55\xf3\x62\x01\xca\xd1\xa9\xac\xc0\x01\x77\xfb\xc1\x0c\x03\x87\x59\x98\xa9\x6d\x8d\x4d\x01\xd4\xa5\x2d\x26\xbd\x50\xe9\xe0\xd1\xaf\xaf\x4e\x25\xdc\xc1\x77\x52\x11\x7b\x5f\x59\x63\x75\x55\x66\xfe\xe2\xb1\x28\x9e\xbd\x1f\x97\xe3\xf6\x37\xe0\xd4\x8f\xe3\x62\x1d\x22\x82\xb3\x52\x99\xa9\x14\x35\xb5\xda\x8e\x2f\x57\xce\xca\x0c\x0e\x48\x47\xc6\x8e\xaf\xf6\xb3\x2b\xa3\xe4\x1d\xa9\x99\x94\x43\x18\x45\xbc\x29\x0f\x58\xac\xce\xe3\xe6\x0d\x59\xb9\xd2\x56\x65\x99\x99\xca\x1f\x6d\xd5\xd7\x14\x99\x06\x3c\x86\xf1\x32\x24\x40\xfb\x91\x8d\xc3\x05\xdc\xc2\x5f\x97\xc0\xde\x32\x91\xcf\x03\x8a\x51\x10\x04\x52\xdd\x3a\xc9\x17\x2d\xf5\xda\x17\xaf\x5b\xc8\xe5\x4b\x3d\xa2\xf0\x7a\x18\x17\x11\x4d\xe3\x3c\x71\x4a\x2a\xa8\xf6\x43\x6e\xb1\x0b\xd7\x07\xda\xf1\x5c\xb7\xbb\xb3\x13\xf2\xdd\x6a\xf6\x3e\x15\xf9\x6e\x38\xd1\x5b\x3d\x2b\xe2\x2f\x00\x91\x96\x16\xd7\xe7\x55\x2c\x2f\x18\x36\xcf\x37\x78\xb6\x11\xcb\xae\x00\xc6\x51\x07\x96\x32\x93\xf1\xda\x34\x5f\x15\x6e\x05\xf6\xda\x48\xdb\xb2\x95\x1e\xbc\xf0\x8a\xba\x3b\x3e\xfa\x06\xcf\x5d\x61\x6e\xe6\xa4\x10\x29\x6b\xa4\xfb\x53\x8f\x8f\xbd\x15\x88\x97\xa4\x1c\x1f\xfb\x2b\xe5\x48\x3d\x3e\x6e\xae\x94\x97\xf5\xf8\xb8\x95\xfb\xa2\xc5\x2b\x3c\xb8\xfb\xd9\x3a\xec\xb2\x43\x9c\xb2\x3e\xaa\xc1\xd2\x41\x64\x43\xf8\xfe\x56\xbc\x55\x44\x4b\x1b\x9c\x5d\x6a\x1e\x60\xeb\x68\x4b\x71\xee\x48\xff\x3f\xed\x72\x25\x1f\xee\xf2\x37\xfa\xed\x78\x7a\x7d\x7e\xab\xab\xe5\x3b\xbd\xd9\x94\xaf\x79\xd0\x35\x5b\xda\x94\xb1\x75\xd0\xc5\x27\x4e\x09\x2b\xbf\x67\xd7\x1d\x5c\xf7\xdd\xba\x3d\x10\xc3\x1e\x98\xf0\xd6\xc0\xa6\xfc\xcb\x20\xdc\x13\xa0\xbf\xd3\xe6\x24\xcf\x7b\x6f\x77\x8d\x82\x9d\x81\x2d\x5d\x0a\xa5\xb7\x8f\x9d\x14\x11\xb9\x1e\xd8\xdd\x12\x72\x03\xdb\xe8\xc1\xd1\x6b\x3d\x38\xdd\xd0\x83\xd3\x37\xf6\x60\x5a\xec\xc1\xe9\xaf\xe9\xc1\x69\x45\x0f\x4e\xcd\x1e\x1c\xbe\xd6\x83\xfe\x86\x1e\xf4\xf3\x1e\x98\x18\xf6\x7f\x0d\x86\xfd\x0a\x0c\xfb\x06\x86\x6d\xef\x35\x0c\xdf\x6f\xc0\xf0\xfd\x26\x0c\xdf\xff\x1a\x0c\xdf\x57\x60\xf8\xde\xc4\xb0\xd3\xcd\xa7\xd9\x2a\x9f\xe7\x4c\x00\x16\x4a\x36\xff\xc5\x76\x8d\xb2\xfb\xa2\x76\xac\x0d\xfa\xb0\x95\x77\xee\x5f\x0c\x06\x68\xfd\x8b\x39\x7a\xfb\xdd\x32\xc6\x3a\x69\x3e\xd8\x6f\xee\xe7\x87\x8a\x7e\x7e\x30\x5b\xeb\xbc\xd2\xda\xf9\xdb\x5b\x3b\xaf\x68\xed\xdc\x6c\xad\xa5\x51\xf5\x44\x5f\x78\x82\x5d\xc3\x21\x53\xae\xa8\x53\xa0\x52\x7b\x63\x4d\x5a\x3d\xe5\x6a\xf6\xcd\x6a\x7c\xbf\x59\x35\x56\x5a\xff\x3f\xe9\x63\x75\xfd\xa9\x50\xba\xf5\x4a\xe9\x7f\x32\x4a\xff\x53\xa1\x74\xfb\x95\xd2\x37\x46\xe9\x9b\x42\xe9\xce\x2b\xa5\x6f\x8d\xd2\xb7\x85\xd2\x95\x3c\xea\x77\x36\x31\xa9\xdf\x29\x12\xee\xa0\xb2\x82\x83\x8d\x15\x1c\x14\x2b\x38\xac\xac\xe0\x70\x63\x05\x87\xc5\x0a\x8e\x2a\x2b\x38\xda\x58\xc1\x51\xa1\x82\xa6\x57\x55\x41\xd3\xdb\x54\x41\xd3\x2b\x56\xe0\x57\x56\xe0\x6f\xac\xc0\x2f\x56\x50\xc9\x7d\xcd\x8d\xa2\xa2\xd9\x2a\x56\x50\xc9\x80\xcd\xf6\xc6\x0a\xda\xaa\x02\x11\xf6\xd5\xdd\xd1\x64\x9b\x29\xf2\xb8\x9a\xb3\xca\xf5\x9a\x93\xf2\xb2\xb6\x5a\xed\xe8\x19\xb5\x9a\x36\x97\xa9\xd5\x54\x19\xf6\xa8\xde\x34\xa7\x0a\xd5\x6a\xfb\x1d\xfd\xfd\x67\xc6\xab\x04\x99\x59\xd1\x55\xb0\x77\xc1\x7e\x47\x1c\x44\xa3\x3f\x8f\x83\x23\xaf\x28\x9a\x2a\x22\x0b\x72\xc5\xac\xde\x6a\xba\x5d\xff\xa8\xa9\xb7\x57\x92\x6d\x7f\xb6\xf5\x06\xdb\x87\x46\x83\x9d\x83\xf2\x9a\x94\xd7\xbf\xdb\x3e\x74\xdf\x84\xee\x56\x2c\x77\xf7\xdb\x6e\xb7\x55\x85\x64\x55\x31\xcf\x68\xb0\xe3\x9b\xe8\x76\xde\xd4\x60\xc7\xaf\x37\x0f\xdc\x6e\x67\xff\x8d\x6d\xfa\x34\x77\xd3\x3f\x7a\x63\x76\x96\xbb\xe9\xbd\x35\xf7\x21\xcd\xed\x9b\x3c\xe1\x6c\xc9\x7f\xe4\xaa\xd8\x1f\x52\xf2\xe4\x3c\x5c\xb2\x17\xc3\x96\x7c\x05\xe2\x85\xb1\x90\x47\xde\x66\x20\xac\x36\xf9\xf6\xd8\xaa\x77\x71\x3c\x9c\x8a\x9c\x15\x7b\xa6\x5a\x39\xf9\x36\x06\xd1\x0a\x8f\x27\x32\x5b\x2a\x5b\xcb\xec\xe4\x62\xc5\x1e\xe3\x3f\xc0\x68\x56\xfb\xdd\x08\x18\x46\xcc\x6a\x21\x41\xfe\x43\x45\x6b\x89\x77\x6d\xf3\xa8\x18\x96\x45\x8c\x89\x0a\xdd\xe2\xe3\xca\xe0\xab\x95\x78\x8f\xb5\xac\x52\x35\x4c\x64\x16\x31\x52\x3b\xce\x0e\x59\xad\x9c\xed\xf2\xc4\xad\xd5\x72\x73\xd4\x65\xa1\x37\x55\x0c\x40\x8a\xc6\xa6\x38\x1a\x4a\x2a\xcd\xd0\xb7\x98\xa0\x2e\x35\x38\x8b\x63\x9f\x4c\x2a\x2c\x4b\xa2\xde\xb7\xc0\xb6\xbe\x57\xab\x4d\x7b\x17\xb9\x79\xcb\x32\x52\x43\x5d\xbe\xd5\x79\x8d\xa4\x9b\x9f\xa5\xd4\x8b\x2e\xd7\x7b\x30\xfd\x30\x72\x10\xf3\xf7\x19\xe9\x67\xd4\x39\x36\xea\x2c\x1a\x79\x8e\xa1\x71\x9f\xe2\x09\x60\xf6\xba\xaa\xc0\x7e\x9a\x45\x04\x6c\x54\x8d\x28\x6c\x2b\x49\x31\x95\x87\xd8\xd4\xeb\x93\xcc\x38\xe1\x82\xe3\x2e\x4e\x1f\xaa\x30\x67\x6f\x54\x92\x4e\x05\x7e\x54\xb1\x21\x5c\xec\xd5\xa9\xb4\x22\x15\x61\xcc\xde\xfb\xaa\x8d\x4c\x1c\x8d\x81\xbf\x76\x48\xbd\x5b\x5e\xb8\x49\x2b\x6a\x11\x61\x66\x55\x60\x04\x45\xf4\x01\x63\x33\xae\xe0\xb7\x77\x80\x55\xf5\x77\xe8\x02\xab\xe7\x57\x75\x02\x43\x16\xfd\x0d\x2a\x5e\x1f\x14\x65\x57\xe1\x15\x73\x82\x8a\x47\xe2\xba\x2f\x84\x6f\xf0\xaa\xf7\x22\x39\xfa\x6b\x81\x5c\xb5\x38\x57\x41\x11\x11\x2f\x23\xe0\x21\x7a\x28\xa1\xe2\x46\xb9\xcd\xf8\x9b\xda\x89\xfc\xc9\x5f\x2b\xc4\xf6\xb4\x7d\x16\x6b\x49\xe7\x00\x7b\x24\xf4\xd1\x49\xf3\x52\xee\x31\xb0\x28\x91\x4c\xbc\xab\x5d\xbe\x86\xda\xb6\x6c\xe4\x8f\x50\x54\x8e\x4f\xe8\x45\xbb\xbb\x3d\x56\x46\x0f\xd0\x78\x00\xe2\x44\xea\xad\x6e\x60\xbc\xec\x58\xc0\xd8\xc6\x6a\x96\x1f\x96\xe1\x6f\x99\x2f\xbd\xa6\x38\x47\x0d\xa5\x79\x77\x50\x12\x78\x28\x3d\x26\x2e\x7f\x79\x9b\x3e\x0f\x7b\x69\xbd\x7e\x4c\x8c\x16\x05\x1a\xa4\x9e\x7b\x18\x8d\xc0\x86\x77\x5e\xee\xc5\xce\xb3\x97\xe2\x38\x9e\xeb\x49\xdd\x3f\x31\x03\x22\x12\x19\x1d\xc2\x77\xec\xbd\x42\x18\x89\x1e\x93\x51\xfd\x92\xe7\xe2\xc9\x67\x89\xab\xa8\x48\x3f\x56\xc4\xd6\x09\x46\xe9\x74\x77\xd7\x7a\x47\x7a\x6e\xf5\x0b\x99\x2a\xba\x69\x66\x28\xf5\xcb\x37\xa2\x4c\xd2\x85\xe3\x76\xf5\x58\x0d\xbd\x8b\xf5\xfa\x06\x94\xdf\xc9\x37\x65\xe1\xc0\x04\x8b\x9d\x5d\xd7\xa5\xd3\x27\x4a\x96\xd0\xc3\x9b\x02\xa8\xb0\x78\x43\x13\xbb\x51\x40\xac\xeb\xcf\xef\x02\xa2\x46\x2b\x20\xbb\xbe\x8b\x12\xf5\xbb\x1e\xc8\xb3\x95\xdf\xdf\xe5\x0b\xff\xf7\x00\xd4\x61\x92\x57\xde\xe0\xaf\xde\xdc\xbf\xf9\xf4\xd3\xb6\xa3\x2a\xa5\x37\xe8\xbf\x72\xd7\x81\xb6\x44\x72\x59\xa1\x1f\xf7\x63\xab\x2f\xbb\xdf\x03\xf8\xa5\x1e\x64\xed\xae\xd7\x55\xc7\x26\xd8\xd6\xb1\xb1\x44\xc2\xb1\x8e\x2b\xdb\x33\x96\xd4\x30\x36\xb4\xa9\x1a\xf2\x4e\x4f\x3e\x4b\x26\x85\x8c\x67\xc9\x24\x28\x6e\x6e\xce\xc3\xef\x85\x36\x55\xf0\x9a\x56\xb9\x57\xbd\x51\xce\x29\x56\xd2\xef\xc4\x0c\x37\xba\x41\xb9\x5b\x04\x09\x73\x96\x24\xe1\x3d\x55\xf2\xd8\x0b\xc7\xf9\x62\x88\xe1\x91\x96\xa3\xba\x96\x60\x52\x9a\x27\x78\x59\x23\x08\x3c\xb7\x27\x08\x41\xc9\xd8\x83\x7a\x50\x94\xb0\xc6\x4b\xac\x5c\x57\x6f\x23\xd8\xf1\x4c\x1c\x65\x53\x95\x18\xca\xb8\x75\xce\x70\x6e\x6f\x27\xaf\x6a\x77\x17\x46\xb5\x1a\xbc\xf3\x7a\x6a\xe7\x01\xde\xe5\x32\xf6\x44\x3d\xed\xfa\x5d\x38\xf6\x4e\xbc\x6e\x41\x0b\x49\xe0\x3b\xf9\x2d\x0d\xd7\xeb\xac\x61\x8d\x02\xbf\x11\x01\xf6\x92\xd3\x9b\xe8\x61\x56\x54\xbe\xb5\x88\x87\x5c\x98\xeb\xf2\x84\xc9\x73\x9c\x07\x83\x44\x62\x22\xa8\xd7\xa6\x3a\xae\x58\x4c\x0a\x23\x55\x77\x31\x7b\xf7\xa0\x08\xad\xd2\x23\x24\xca\xaa\x42\x98\xc1\x25\x4c\x7f\x33\x72\xaf\x20\x46\x71\x87\x7a\xbd\x07\x74\x65\x7b\x33\x56\x6c\x97\xaf\xa0\xc0\x98\xc1\x74\xab\x55\xfe\x3b\xdf\x46\x05\xb6\xdc\x49\xe9\x52\x8d\x38\x2f\x62\x44\xd4\x89\x10\x48\x5f\x13\xcd\xea\x0e\x14\xe3\x9a\x94\xc0\xeb\xe5\x91\x39\xbe\xa4\x3a\x3b\xbc\x0a\x5a\xf8\xe7\x2b\xb7\x10\x6c\x13\x82\x9b\xa3\xed\xaa\xc6\x2d\x4a\xa0\x6c\x22\xe6\x0c\xe7\x78\xa8\x28\x7c\x14\x36\x95\xe3\x3d\x14\x92\x42\x1b\xc8\x6e\xb5\xee\x32\x1c\xb1\x97\xae\xb2\x37\x77\xd4\x6a\x4e\xd4\x88\xb2\x9f\x71\xc8\xb6\xf3\x88\xdb\x4b\x35\x76\x4c\xeb\x75\x37\x1a\xa6\xa3\x00\xcb\xf9\x13\x15\x06\x7b\x56\x79\x2f\xd7\xc9\x26\x9e\xea\x56\xa9\x53\x85\xa0\xaa\xac\xaa\x4a\xf6\xd2\x7c\x3e\xc3\xc5\x7b\x59\xeb\xb6\xed\x36\xd8\x6b\x2e\xae\xa7\xa5\x20\x94\x52\xe4\xb3\x24\xb0\x8c\x5c\xd3\xdf\xa3\xaa\x42\x37\xdf\xbc\xe5\xaa\x0d\xb7\xb8\xa1\xa7\xb8\x55\xc8\x11\xb8\x8b\x48\x5c\x35\xca\xac\x24\xa1\x40\xbb\x34\xca\xac\x4b\xfa\xfc\xa9\x0b\xbe\x7f\x57\x5a\xb6\xd5\xf2\x2f\x23\x52\x39\xd0\x71\x73\x5d\x40\x8d\xa5\xe8\xca\xf7\xdd\xdd\xa2\xaa\xfe\x08\xec\x85\xbb\x85\x56\xc5\xa4\x29\x46\xc6\x9e\xe8\x7a\x14\xd3\x68\xe4\x6b\x58\xa4\x26\x92\x93\x52\x9f\x22\xca\xde\xcc\x67\xfa\x86\xfc\xf9\x9c\xdb\xf1\xfe\x4e\xc1\xb0\x62\x22\x3c\x97\xfb\x6e\xb8\x55\x0a\x2c\xc2\x95\x2f\xa5\x69\x1b\x30\xa6\xa4\xe7\xf3\x44\x0b\xf7\xab\x74\x88\xc8\x60\xe8\x8a\xf7\x00\xf6\xa2\xfc\xb6\x33\xa3\x0d\xf5\xea\xc0\xca\x08\x29\xb4\xa9\xbe\x80\xbc\xae\xad\x6d\x7e\xc3\xa7\x41\x1e\xaa\x23\x54\xd0\x87\x2d\xb1\x9c\x99\xca\xba\xc2\x3c\x24\xe3\x19\xb7\xdd\x63\x24\x2f\xaa\xa0\x4a\x49\x7e\xdd\x45\x21\xc0\x87\x5b\x6e\x6a\xa2\xb3\x37\x9a\x2e\xd2\x27\xa7\xe5\xfd\xe8\xc0\x6e\xe4\xa2\xa6\x5b\x57\x89\x9d\xa3\x1f\x1d\xb2\x9b\x9a\x89\xbe\xff\xa3\x83\x77\x33\x9a\x48\x91\xd1\xdf\x59\x1e\x98\xaf\x30\x47\x51\x23\x4a\x66\x80\x23\x92\x05\x09\x8a\x1a\x69\x12\xa4\xf4\xcf\x74\x1a\x64\x48\x5e\x46\xb7\xe1\xf8\x80\xfe\x26\xe6\xd5\x4a\x3f\xf6\x88\xd9\xb1\x8b\x01\x77\x78\xb3\xd7\x28\x66\x24\x5d\x7c\xc2\xe9\x22\x7c\x08\xc5\x91\xe4\x1d\x7f\x8d\x40\x5e\x72\x18\x44\xeb\xd2\xcb\x97\x8d\x2b\xf9\x7e\xd3\x0b\xe5\xa3\x0d\xa7\x68\xc5\xb0\xc9\xc3\x21\xfa\x8f\xd5\xea\x65\xbd\xd6\x3a\xa2\x0e\x87\x17\xcf\x50\xe8\x85\x98\xaf\xd1\xfc\xbd\x5a\xc9\xd7\xc0\xe4\x69\xea\xd4\x27\x32\x6a\x9e\x4e\x37\xd0\x37\x2f\xe9\x16\xae\x0a\xca\x21\x28\x0a\xb0\x61\x6f\x8b\x5b\x2a\xa9\x98\x5a\xad\xd8\x1d\x95\xb1\x38\x98\xaf\x1f\x4d\x65\xa1\x16\x2a\xfa\x36\x42\x7e\x01\x29\x6e\x7a\xf5\xe3\x58\x9e\xea\xaf\x88\xee\xce\x91\xa8\xd5\x26\x10\x03\x11\x31\xa2\x79\x7a\xa1\xa3\x45\x4e\x2f\x5c\xd4\xc3\x47\xec\x6d\x5e\x19\x3d\x2e\x28\x9d\x4e\xd9\xe5\x96\x88\x68\x1e\x19\x94\x1f\x45\xc5\x39\x05\x88\x7a\x09\x02\x2d\x60\xa2\x47\x97\xa0\x92\x5a\xcd\xfd\x8b\xec\xf5\xec\x7e\x0f\x1f\x2b\x0c\x24\xc9\xd9\x31\x99\x21\xde\xf5\x47\x41\x7e\xa5\x22\x1e\xf5\xb6\x0c\x61\x54\x1a\x42\xfe\xbe\xf7\x48\xd6\x29\x55\x0c\xbd\x37\x45\xa6\x89\x2b\x87\x45\xa7\x8a\xc9\x8a\x6b\x04\x6b\x16\x42\x6d\x88\x82\xbf\xfb\xa4\x33\x6e\x4f\x85\xc6\xd5\xe7\xcb\xc0\xfe\xe2\xd9\x08\x1a\xb7\xd7\x1f\x02\xfb\xff\xc3\x9e\xee\xfe\x39\xb0\xff\xbf\xf4\xe9\x8c\x3e\xfd\xff\xd8\xd3\xf5\x5d\x60\xff\xff\xd9\xd3\xd5\x3f\x05\xf6\x7f\x42\x9f\xfa\xa7\x7f\x08\xec\xff\x94\x3e\xbd\x3f\xbb\x0c\xec\xff\x8c\x3d\xdd\x06\xf6\x97\x7b\xfa\xf4\xe1\x2e\xb0\xbf\xb0\x97\x05\x5e\x9e\x07\xf6\x97\x84\x3e\xfd\x91\xa6\x3d\xd2\xa7\x73\x9a\x36\xa5\x4f\xa7\x37\x81\xfd\x05\x73\x0c\x02\xfb\x3f\x67\x0f\x17\x81\xfd\x5f\xd0\x87\xc1\xe5\x59\x60\xff\x97\xec\xe9\xd4\x0f\xec\xff\x8a\x3f\x35\x03\xfb\xbf\xe6\x4f\xad\xc0\xfe\x6f\xf8\x53\x3b\xb0\xff\x5b\xfa\x74\xd5\xff\x43\x60\xff\x77\xac\x92\x5f\xae\x02\xfb\xbf\xe7\xbd\x78\x1f\xd8\xff\x03\x6b\xab\x7f\x15\xd8\xff\x23\x4b\xfb\x18\xd8\xff\x13\xcb\xf6\xf9\x7d\x60\xff\xcf\x2c\xe9\xf6\x34\xb0\xff\x17\x86\xdc\x6d\x60\xff\xaf\xf4\xe1\xa7\xdb\xc0\xfe\xdf\xe8\xc3\xcd\x6d\x60\xff\xef\xf4\xe1\xf3\x6d\x60\xff\x1f\xac\xdc\xa7\x80\x6a\x82\xd0\x18\xd0\xbe\xff\x5f\xf6\xda\x21\x8d\x53\x8f\xc5\x42\x9c\x7a\xc1\xcb\x9a\x2a\x57\x5b\x87\x4e\xdc\x5f\x14\x47\xf7\xe1\x62\x91\x6d\xbb\xc1\x48\x64\x31\xef\x30\x7a\x7f\x3b\xd8\x6d\xed\x9e\xc6\xe1\x32\x03\xe3\x32\x23\xbf\x71\xe0\x35\x3c\x7e\x9b\x91\x28\x69\xde\x67\xb4\xb7\x57\xba\x7e\xc8\xdb\xdf\x6d\x7a\xde\x11\xbb\x80\xe6\x74\x86\xd3\x79\xb4\x9c\x5b\xd7\xb7\x56\x7f\x49\x66\x29\xce\x1a\x56\x3f\x8e\xc5\xed\x3b\x16\x55\x40\xf0\x23\x4c\x1a\xbc\x2e\x51\xe3\x0d\xa8\xcb\x76\xd8\x65\x5c\xc9\x84\x85\x6c\x47\x89\xc5\x6f\x3f\x62\x29\xf7\x51\x12\xe2\x67\x6b\x9a\xe2\x79\x86\xf8\x4b\x38\x52\x2c\x2f\xfb\x11\x15\xb1\xbb\x7c\x44\x54\x05\xb2\x42\x0c\xe2\xfe\x1d\x02\x13\x6b\x81\xd3\xc7\x68\x02\x13\x8b\xcc\x42\xb2\xf1\x3a\x1d\x5a\x48\x56\x06\xa4\x6b\xa0\x69\x59\xd6\x8f\x05\x5c\xd9\x2d\x38\x02\xc9\x71\x3a\x01\x6b\xbe\xcc\x88\x85\x81\x84\xe2\xd2\xa2\xc2\x8d\x3c\xa2\x26\x7e\xf9\x0e\xe2\x97\xf2\xd0\xc9\xce\x6e\x58\xd2\x90\x60\x17\xf6\xe8\x18\x4e\xa2\x6c\x1c\x87\xd1\x1c\x70\x63\x1b\x36\x51\xa2\xd3\x49\x62\xb3\xc0\xe9\x64\x39\x86\x1c\x21\x51\x45\xf1\xa2\xa0\xdf\x86\x90\xa8\x4c\x74\xd8\xbc\xdd\x49\x5c\x96\x94\x92\x19\x60\x6b\x1e\x12\xc0\x51\x18\x67\xf9\x58\xb0\x61\x24\x33\x89\x90\xde\x19\xa3\x9f\x57\x10\xb1\x2a\xd8\x4b\xef\xc3\x39\xbb\x91\xea\xa7\x34\x7d\x88\xc1\xba\x48\xc6\x0d\x2b\x49\x73\x18\x1b\x93\x88\x5f\xf5\xc4\x3a\x99\xf0\x3a\x53\x9c\x59\xf3\xf0\xd9\xba\x67\x07\x02\xd8\x35\x4b\x90\x4c\x52\x9c\x01\x65\xa4\x05\x4e\xe7\x29\x01\x8b\xd3\x8a\x64\xd6\x04\x70\xf4\x08\x13\x6b\x8a\xd3\xb9\xa8\x8a\x18\xd7\x5a\xc9\x7b\xa6\xb2\x05\x8c\x29\xd7\x59\x0b\x1c\x51\x8e\xc4\x94\xdf\x12\xed\xae\x25\x93\xd9\xef\x3e\x5c\xdc\x56\xdf\x8f\xf4\xfe\x17\x76\xd5\x4e\xf9\x2e\xa1\xfe\xd5\x80\xdf\xff\x73\xf1\xfe\xf3\xdd\xf5\xcd\xad\xa8\x49\xdc\xa7\xc4\xc0\xfd\xab\x5f\xb4\x8b\x93\xe4\xad\x49\xda\x9d\x48\xda\x05\x4a\x48\xde\xa0\x24\xea\xc9\xef\x51\x42\x0c\x81\x72\xe1\x8a\x0b\x95\x58\xab\xda\x85\x4a\xa2\xae\xea\x6b\x95\x6e\xce\xac\xc1\xc5\x2d\xbb\x00\xe9\x6c\xb0\xe1\x46\xa5\xbc\xdf\xa2\xaa\xeb\x9f\xaf\xce\x6e\xf8\xe5\x4a\x79\xd7\x2b\xee\x55\x1a\x5c\xdc\x9c\x9d\xde\xd1\xfe\xe5\x4f\xa7\x17\x83\xb3\xab\xbb\xfe\x25\x12\x75\xdd\x7e\x3a\x3b\xbd\xe8\x5f\x22\xeb\xec\x9f\xcf\x3e\x7e\xba\xec\xdf\xfc\x82\x44\xcd\xb7\x67\xff\xf4\xf9\xec\xea\xee\xa2\x7f\xa9\x6e\x66\x72\xde\x44\xa9\x4f\x37\xd7\xa7\x9f\x6f\xd8\x1d\x51\x94\x3c\xb7\x9f\xdf\xdf\xde\x5d\xdc\x7d\xbe\x3b\xb3\x7e\xba\xbe\x1e\xb0\x51\xb8\x3d\xbb\xf9\xe3\xc5\xe9\xd9\x6d\xcf\xba\xbc\xbe\x65\x44\xfc\x7c\x7b\x26\x51\x1a\xf4\xef\xfa\x0c\x89\x4f\x37\xd7\xe7\x17\x77\xb7\x3d\xfa\xfc\xfe\xf3\xed\x05\xa3\xe8\xc5\xd5\xdd\xd9\xcd\xcd\xe7\x4f\x77\x17\xd7\x57\xae\xf5\xe1\xfa\xe7\xb3\x3f\x9e\xdd\x58\xa7\xfd\xcf\xb7\x67\x03\x46\xfa\xeb\x2b\xda\x79\xc5\x53\x67\xd7\x37\xec\x1a\xad\xea\x9b\xa4\xf2\xcb\xa3\x6e\xef\x6e\x2e\x4e\xef\xf4\x6c\xd7\x37\xec\x46\x29\x51\x53\xde\x77\xeb\xea\xec\xa7\xcb\x8b\x9f\xce\xae\x4e\xcf\x8c\xdb\xa6\x5c\x75\xdb\x14\xbb\xa2\xea\x17\xeb\xe7\xfe\x2f\xf2\xbe\x29\x71\x93\x94\x1c\xc0\x73\x93\xd9\x11\x1b\x72\xeb\xe2\xdc\xea\x0f\xfe\x78\x41\x3b\x22\x8a\x7c\xba\xbe\xbd\xbd\x10\x6c\xc5\x48\x79\xfa\x41\x0c\x06\xbf\x6e\x2a\x9a\x3a\xea\x82\x8f\xa8\x7c\xff\x06\x7f\x65\x94\x65\xc7\xd1\xbd\x6d\xf1\xb7\xd3\x5a\x61\x8c\x21\x9c\x3c\x5b\xf0\x3d\xca\x48\xd6\xf8\x41\x5a\x0c\x2f\xeb\x5e\xd4\xc0\xcb\x84\x44\x73\x18\xc0\x02\x92\x09\x24\xe3\x08\xb2\xaf\xfc\xb2\x98\x28\x89\x88\x3c\xd7\x91\x7d\xa5\x9a\x61\xd4\xc0\x64\x02\x8b\xaa\x63\xc9\xf8\xf9\xa5\x80\xcb\x7a\x1c\x8a\xcb\x3e\xe4\x4d\x92\x19\x09\xc7\xdf\x98\x22\x4e\x1c\xaa\xc7\xb8\x3d\x12\xe4\x87\x01\x5b\x27\x78\xd8\x1c\x35\x30\x2c\xe2\x70\x0c\xce\xde\x9f\xbe\x64\x3f\x86\xe4\x4b\x56\xdf\x43\xb6\xed\x76\xf1\xd0\x2f\x00\x1f\x78\x57\xe9\x52\xf3\x1f\x58\x9e\xb5\xd4\x3b\xb9\x96\x59\xd2\x60\xa9\xb6\xc9\x90\xc9\x34\x0d\x36\x65\x1a\xac\x71\xcb\x39\xd3\xcb\x5d\xd1\x59\xa1\x9a\x46\x28\xe3\x7b\x4f\xe2\xfd\x5b\xdc\xae\xae\xa0\xdd\x30\x1b\xf5\x92\xd5\xca\xd9\x9e\x25\x18\x8e\x5c\x94\xe4\xef\xc6\xa1\xf4\x86\x24\x5b\x62\xb8\xa9\x1a\x8f\xd2\x5b\xaf\x76\x72\x7f\x26\xe1\x77\xb2\x54\x35\xa4\xd9\x52\xd5\x19\x86\x84\xaa\xe4\x44\x8e\x49\xc3\x76\x51\x16\xf0\x1b\xc1\x56\xab\x0c\xe2\x29\x4a\x02\xaf\x97\x1c\xa7\x92\x84\x89\xb8\xea\x72\xc7\x49\x87\xc9\x88\x2a\x25\x6e\xe1\xb0\xda\x0f\x1f\xa9\xa0\x4f\x1e\x2c\xfb\x87\x3a\xa9\xff\x60\xb3\xbb\x56\x00\xe8\x02\x77\xff\xfc\x03\x7b\xe5\x52\xb0\xe3\x8b\x38\xf2\x2c\xc8\x86\xb4\xa2\xd1\x9a\xd6\x09\xe5\xb3\x4c\xe7\x61\x14\xc3\xc4\x12\xb8\x5b\x13\x89\xfc\xb3\xc5\xdf\x6c\xc9\x6c\x7e\x79\xd4\xe6\x22\x89\x8a\xde\x70\xe9\xb8\x2c\x30\xb3\xbc\x46\x0a\x91\x91\x8b\x88\x64\xf6\x4a\xcf\x6a\xb1\x28\x4a\x0b\xee\x6d\xc9\xc1\x92\xb5\x70\x7e\x8a\xb3\x56\x23\x8e\x4d\x8b\x77\x2d\xbb\x9e\x0d\xbd\x91\x8b\xb2\xa1\x3f\x72\xa2\xc6\xb4\x11\xc6\x21\x9e\x3b\xa9\x78\xa5\x12\xb5\xd4\xd7\x94\x11\x6d\x59\xb9\xf6\x4e\xe9\x32\x59\x24\x8d\x53\x6c\x45\x09\x3b\xd5\xa5\x5e\xdb\xd6\xb5\xd2\x84\x12\xc2\x76\x7b\xdb\x58\xca\x71\xf5\x80\x8c\x14\x79\xee\x1a\x89\x58\x17\x6d\xef\x27\x9c\xb0\x3d\xad\xd5\xca\xd9\x08\xab\x24\xb8\x03\xe2\x94\xbf\x20\xcd\x71\xe0\x9d\x88\x8b\xce\x68\xb2\xdb\x75\xf2\x37\xda\xb1\x1d\x78\xdb\xb2\xd9\x9e\x9c\x76\x6a\x35\x20\x74\xba\x43\x48\x1c\xd8\x93\xe9\x75\x76\x42\x5e\x5d\x4b\x0f\x6e\x5d\xaf\xd5\x5d\xbb\x95\x7d\x38\x4b\x26\x1b\x7a\x70\x66\xc4\xd8\xfc\x1b\xe1\xaf\x57\x54\xd7\x3b\xe3\xb2\x6b\xa6\xc4\xf5\x69\x4c\x04\x8b\xcb\xd5\x30\x7c\x0d\x5e\x66\xf0\xdd\xdf\xef\xee\xfd\xce\x19\x86\xbb\x53\x6f\xf7\x68\xe4\x56\x3d\xed\x45\x68\x06\xdf\x9b\x6d\x3d\xe3\x4b\x73\xed\x6e\xfe\xb1\x17\x21\xfc\x70\xdf\xa5\xdc\x75\x03\x0f\x67\xdf\x17\x8e\xfd\xa7\xbd\xec\x47\xfc\x70\xbf\x97\xfd\xb8\xe7\xec\x65\x3f\x3a\x7b\x93\x17\x1f\xb5\xd6\xee\x5e\xf6\x23\x7a\xe5\xf7\x1e\xfd\xfa\xbd\x9d\x4b\xea\x2f\x7b\x7b\x0f\xc8\xfe\xf2\xc5\x76\x91\x1d\xd9\x2e\x6d\x2b\xac\x6a\x2c\xfc\x2d\xad\x39\x27\x5d\x91\x54\x77\x4e\xba\x7b\x8d\xbd\x49\xdd\x3d\xa1\x00\xf7\x2d\x78\x7c\xaf\xc4\xe3\xe4\xef\x8b\xc8\xc9\xab\x98\x7c\xf7\x7d\x3a\x00\x6c\x4d\xa3\x0f\xf9\xe8\xf8\xa8\xbd\x76\xbf\xec\xbd\x9a\x90\xfd\xf8\xfb\xbd\x08\x51\x7d\xbf\xbb\x37\x0c\x77\xff\x36\xa2\x5f\xde\xee\xd1\x97\x6c\x54\xdf\xd3\xf9\xe8\xe1\xfe\x2e\xfd\x67\xdf\x37\x7d\x3f\xc6\xbb\xeb\xa4\x3f\x30\x70\x9a\x9d\x83\x1f\xf9\x0d\x53\x11\x9d\x1b\xcd\x4e\xc7\x75\x8d\xfb\x0a\x11\x15\x63\x7f\x5b\x84\x13\x07\x50\xdb\x5d\xcb\x55\x9e\x39\x81\x1d\x9d\x77\x69\xbb\xdf\xf3\x3b\xd9\x4e\x6c\xda\x4b\xbb\x4e\x1c\xba\xa6\xbb\xec\xc5\x88\xf4\xb9\xa9\x3d\xb7\x46\x2e\x7b\x1f\x96\x86\xfc\x77\xdf\xff\x00\xdf\xef\xd2\xd3\xdb\xdb\xd2\x91\x58\xf1\xc2\xd1\xec\xe7\x88\xb0\x0b\x18\xd5\x69\x3a\x76\x9b\x65\x34\x65\x77\x2d\xf2\xdb\x04\x1d\xdf\x45\xbb\x7e\x10\x0c\x5b\x68\x1f\x1d\x21\xbf\x39\xca\xf7\x91\xe4\x74\x2f\x95\x16\x9d\xda\x1b\xfe\x49\x10\x7e\x2f\x32\x33\xc9\x03\xfc\xbc\x82\xbd\x16\x3f\xd8\xc5\x1b\xf4\x10\x71\xd9\x7b\xb1\xc4\x6f\xc2\x5e\xd5\xa4\xfd\xae\xd3\x14\xb5\xc7\x26\xfb\x1b\x52\x2d\xe4\x2e\xbd\xf9\xe9\x7d\xdf\x19\x62\x94\xa2\x6c\xd4\x98\x87\x0b\xa7\x6a\xcb\x2d\xbf\x37\x11\xd8\x3d\x89\xcd\x20\x20\x27\xd0\xf5\xd9\x9f\xe3\xe3\x76\x17\xde\xbd\x6b\xff\xe8\x90\xdd\xa6\xbb\xe6\x9b\x55\x39\x51\xcb\x14\x95\x9d\xa9\x18\x49\xce\xab\xb9\x53\xf2\xc4\x21\xf9\x7b\x0d\xfc\x5c\x7c\x19\xd8\x93\x4d\x78\xfb\xf9\x4b\x0c\x4e\xf2\x1e\xd4\x59\x1f\xba\xcd\x4a\x20\x03\x39\x2d\xfd\xed\x07\x0e\xd4\x73\x62\x36\x5d\x17\x31\xae\xc5\xe9\x32\x99\x38\x66\xc1\xbd\x66\xe7\x80\x4a\x59\x16\x33\x5d\xe0\x98\x93\x2a\x46\x73\xc0\x55\x37\x46\x36\xe8\xfc\x62\x3d\x12\x1b\x8e\x22\x79\x46\xf3\xde\xfc\xf4\x7e\xcb\xa4\x6a\x9b\xe8\x06\xa0\x84\x01\x46\xc5\xfd\x10\x75\xb5\xc4\xef\xec\x3a\xa9\x93\x3a\xae\xe3\x7a\x54\x8f\xd6\xae\xdb\x33\xc7\x25\xd5\x46\x81\xce\x28\xc7\xae\xab\xde\x92\xa1\x3f\xa2\x1d\xae\xdb\xc8\x32\x92\x9b\xd5\xc9\x2d\x91\xec\xda\x7c\xd6\x49\xd5\x47\x1b\x79\xb6\xfc\xb0\xab\x48\xcd\xc4\x66\x9b\xcd\x90\xb2\xfe\xac\x6e\x52\x0f\xbc\x5e\x96\xdf\x16\x99\xd5\xeb\x2e\x50\x0d\x98\x38\xf4\x8f\x08\xe8\x02\xfa\x33\x8f\xd3\x28\xca\xac\x0f\xfa\xf6\x64\x89\xbc\x9c\x2e\xaa\xc4\x18\x87\xe3\x6f\x7c\x98\x34\x0a\xfd\xce\xae\x2b\x79\xe5\x68\x5d\xf7\x46\x2e\xbb\x27\xde\xa0\x9d\x7b\x7c\x7c\xb8\x32\xc8\xe6\x1e\x1f\x7b\x05\xf1\xb7\x2f\x44\xd4\xf6\xee\xf3\x4b\x55\x41\xf7\xa2\xc3\x10\xf3\xee\xe3\xd7\xbb\xcf\x63\xab\xa2\xbf\x41\x71\x92\xaa\x8d\x9b\x8d\x7c\x2c\x19\xd3\x60\x62\x29\x8e\x1b\x04\x32\xda\xe6\x09\xbc\xca\xe0\xda\x54\xae\x14\x13\xc2\x80\x6b\x9d\xc0\xb0\x35\xea\xfa\xf2\x22\x7f\xba\x96\x3a\x76\x1d\x86\xde\x88\xf3\x1b\x0c\x7d\xf5\xd4\x14\x4f\x84\xf2\x9c\xd6\x56\x06\xa4\x1f\x2f\x66\xe1\x06\x55\x7c\xf3\x08\xd3\x25\x23\x20\xd5\xf2\x07\xeb\xbd\x99\x47\xdf\x4b\x2f\x19\xc8\xed\xc6\xaa\x26\x50\x56\x91\x4c\x5c\x61\x1a\xb5\x7b\xf5\x7a\xc2\x31\x0c\x83\x6c\x98\x8c\x76\xa9\x41\xd3\xa3\x5f\x41\x95\x20\xa2\x00\xb7\x1e\xfe\x88\xd5\xa6\x4d\x25\xce\xa9\x8e\xb3\x6c\xb5\xb8\xee\x99\x83\x4f\x09\x6e\xbb\x7c\x4f\x6d\xe3\x3a\x1c\xe6\x07\xcd\xa5\x9d\x82\xc8\x5a\x19\xb6\x9b\x0b\xf2\x18\xd5\x8a\xc2\xe2\x15\xb1\xb4\x1a\x01\x34\x42\x87\x1d\xfb\x34\x5d\xc6\x93\xe4\x07\x62\xb1\x6e\x50\x53\x08\x5c\x54\x58\xdc\x15\xeb\x55\xf2\x38\xb7\x70\x25\x31\xe8\x9f\xab\x70\x0e\xd9\x49\x45\xda\x10\x46\x5d\x71\xb3\xf2\x65\xfa\x04\xf8\x34\xcc\xc0\x71\xdd\xdf\x50\x41\xae\xaf\x65\x75\xaa\xb0\xd9\xbf\xb6\x96\x42\x17\x33\x92\x8e\xbf\xb1\xcd\xf1\x4f\x61\x0c\x84\x40\x50\x9e\xa9\x43\xfb\x77\x9e\x27\x2f\xc0\x3e\x3d\x55\x57\x61\x9f\x1d\xf5\xf9\x55\xd8\xa7\xed\xbe\x76\x15\x76\x3f\xbf\x0a\xfb\xbd\xba\x0a\xbb\x4f\x9f\x06\xad\xc1\xc1\xe9\xb9\x79\x15\xf6\xd9\xb9\xbc\x0a\xdb\xf3\xde\xf7\x7d\x96\x76\x7e\x7a\x76\xd4\x3e\x17\x57\x61\x9f\xf3\x12\xe7\x4d\xcf\x3b\x7d\x2f\xf2\x75\xde\x0f\x58\x59\xfa\xdf\x29\x4f\x93\x58\xd1\xbf\x9d\x73\xf9\x74\x78\x20\x9f\xfa\x2a\x6d\xa0\xd2\xce\x45\x5a\xe7\x5c\x96\xed\x9c\x77\x54\x9a\x2c\xdb\x39\xef\xab\xb4\x81\x4a\x93\x65\x0f\x0f\x64\xd9\xc3\x83\x8e\x4a\x93\x65\x0f\x0f\xfa\x2a\x6d\xa0\xd2\x64\xd9\xbe\x6a\xb7\xaf\xda\xed\xab\x76\xfb\xaa\xdd\xbe\x6a\xb7\xaf\xda\x1d\xa8\x76\x07\xaa\xdd\x81\x6a\x77\xa0\xda\x1d\xa8\x76\x07\xaa\xdd\x73\xd5\xee\xb9\x6a\xf7\x5c\xb5\x7b\xae\xda\x3d\x57\xed\x9e\x8b\x76\x29\xa5\x78\x59\xfa\xd4\x51\x69\xbc\x2c\x7d\xea\xab\xb4\x81\x4a\x93\x65\x25\x9d\xe9\x53\x47\xa5\xc9\xb2\x92\xce\xf4\x69\xa0\xd2\x64\x59\x49\x67\xfa\xd4\x51\x69\xb2\xac\xa4\x33\x7d\x1a\xa8\x34\x59\xb6\xaf\xda\xed\xab\x76\xfb\xaa\xdd\xbe\x6a\xb7\xaf\xda\xed\xab\x76\x07\xaa\xdd\x81\x6a\x77\xa0\xda\x1d\xa8\x76\x07\xaa\xdd\x81\x6a\xf7\x5c\xb5\x7b\xae\xda\x3d\x57\xed\x9e\xab\x76\xcf\x55\xbb\x92\xce\xb4\xb7\xbc\x2c\x7d\xea\xa8\x34\x5e\x96\x3e\xf5\x55\xda\x40\xa5\xc9\xb2\x92\xce\xf4\xa9\xa3\xd2\x64\x59\x49\x67\xfa\x34\x50\x69\xb2\xac\xa4\x33\x7d\xea\xa8\x34\x59\x56\xd2\x99\x3e\x0d\x54\x9a\x2c\xdb\x57\xed\xf6\x55\xbb\x7d\xd5\x6e\x5f\xb5\xdb\x57\xed\xf6\x55\xbb\x03\xd5\xee\x40\xb5\x3b\x50\xed\x0e\x54\xbb\x03\xd5\xee\x40\xb5\x7b\xae\xda\x3d\x57\xed\x9e\xab\x76\xcf\x55\xbb\xe7\xaa\x5d\x49\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\x3e\x57\xfc\x7c\xae\xf8\xf9\x5c\xf1\xf3\xb9\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\x3e\x57\xfc\x7c\xae\xf8\xf9\x5c\xf1\xf3\xb9\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\x3e\x57\xfc\x7c\xae\xf8\xf9\x5c\xf1\xf3\xb9\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\x3e\x57\xfc\x7c\xae\xf8\xf9\x5c\xf1\xf3\xb9\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\xf6\x0e\xe9\x3f\xfa\xe4\x37\xe9\x3f\xf6\x74\x4a\xff\xd1\xa7\xe6\x3e\xfd\x47\x9f\x5a\x1e\xfd\xc7\x9e\xfa\xf4\x1f\x7d\x6a\xb3\xff\xd8\xd3\x19\xfd\x47\x9f\x3a\x87\xf4\x1f\x7d\x62\x45\x59\x7d\xfb\xa7\xf4\x1f\x7d\x3a\xd8\xa7\xff\x98\xe4\x62\x0d\xb3\xa7\x3e\xfd\x47\x9f\x8e\xda\xf4\x1f\x7b\x3a\xa3\xff\xd8\xcc\x63\x60\xfa\xf4\xbe\x49\xff\xb1\xa7\x53\xfa\x8f\x3e\xb1\x8a\x59\x7d\x03\x8f\xfe\x63\x4f\x7d\xfa\x8f\x3e\x31\xa4\x58\x7d\x4c\xbf\x3a\xb3\x47\x9a\x07\x65\x5c\xa9\x2a\x96\xb4\x48\x54\xa1\x7d\x06\x2f\x61\x1c\x8d\xe1\x3e\x5e\x42\x97\xb9\x06\x9a\x6d\x0f\x59\xcd\xf6\x21\xb2\x9a\x9d\x8e\x6b\xa3\x30\x21\xd1\x5f\x97\xc0\x4e\x66\x8a\x1c\x1d\x9a\xa3\xd5\x41\x56\xd3\x2f\xe6\xf0\x65\x16\x0a\x6d\x1d\xd1\x2c\x47\x85\x2c\x4d\x91\xa5\x45\x9b\x68\xb6\x90\xd5\xf4\xda\x85\x2c\x2d\x91\xc5\xeb\x20\xcb\x3f\x6a\x22\xcb\x3f\xd8\x2f\x64\x69\xf3\x2c\x3e\x6d\xc3\x6f\xf9\xc8\xf2\x9b\x1e\xcd\xf2\xd7\x65\x38\x0f\x71\x94\x08\x5c\xfd\xe6\x01\xeb\x08\x45\xa4\x69\xc0\xfd\xd7\x32\x08\x3c\x7d\x9f\xe2\x49\x91\xf5\x8f\x0e\x8d\x0c\x02\x4b\xdf\x6b\xd2\x3e\x50\x54\x0f\x4c\x14\x04\x8e\xfb\x0c\x45\xfa\xe5\xb3\x5e\xfc\x6d\x89\x0d\x5a\xb3\xc6\x39\xad\x29\xc8\xdf\x02\x93\xb4\x6b\xb6\x05\x4e\xcd\xd6\xa1\x84\x49\x74\x8e\x5a\x02\x9d\xa6\xa7\xca\x29\x6a\xf9\x12\x95\x16\x1d\x96\x7b\x88\x1e\x14\x2a\xb4\x04\xfb\x62\x84\xbc\x8f\xb2\xbf\x2a\x96\x60\x58\x34\x19\x09\xf6\x15\xcc\xdf\x06\x34\x06\xd9\x6f\x21\xcb\x3f\x6c\x29\xa0\x31\xbc\x87\x14\xd8\x39\x54\x40\x63\x60\x9b\x34\x87\x77\x40\x81\x31\x35\x08\x19\xc8\x43\x16\xfd\x9f\x27\x26\xe3\x19\x4c\xc2\x78\x9e\x26\x13\x83\xf5\x54\xff\x73\xce\xe6\xe5\x38\x35\x69\xaa\x5f\x9d\xdc\x34\x92\x19\x7d\x69\x72\xcb\x48\x56\x55\xb7\xf5\x64\x41\xd5\x78\x09\x8f\x51\x1a\x03\x91\x5d\x39\x44\x56\x9b\x8e\x4a\x93\x11\x08\xa7\x4f\x89\x80\xec\x77\x90\xd5\x6e\xd2\x8f\x04\xe8\x54\xdd\x6f\xd3\x8f\x84\xe8\x24\xed\x1c\xd1\x8f\x84\xe8\xf4\xec\xf8\xf4\x23\x21\x3a\x31\x29\x49\x5a\x0c\xed\x25\x8e\x9f\x9f\xd2\x54\x12\xac\x49\x27\xd8\x61\x9b\xa2\x6f\x80\x8d\x01\xf6\x29\xe7\x74\x0c\xb8\x8e\x90\x7f\x74\x80\x2c\xbf\x6d\xc0\x8d\x61\x3e\xf0\xd8\x70\xea\x70\x63\xa4\xfd\x0e\xb2\x0e\x29\x78\x1c\x4e\x80\xe4\x83\x76\xd4\x61\xec\x81\x2c\x7f\xdf\xd3\xa1\x72\xfa\x76\x9a\x92\x6d\x3b\x46\x69\x39\x7b\x29\x75\x9b\xcd\x23\x39\x92\x0a\x2e\x67\x0b\xeb\x3c\x45\x9e\x0f\xa9\x82\x0b\xe4\x18\x77\xb6\xda\x72\x68\xc7\xb3\x10\x13\x0c\xcb\xac\x24\x5e\x3c\x03\x5a\x12\x2e\x26\xb8\x24\x5a\x4c\x70\x49\xb0\x98\xe0\xa2\x58\xe1\xd0\x74\x9c\xc6\xa1\x12\xd1\x3e\x25\x37\x2d\xda\x32\xa0\xfa\x90\x32\xe4\x5a\xfb\x3a\xd8\x18\x51\x8a\x5c\xab\xa5\x83\x8d\x01\x65\xc8\x1d\xe9\x60\x7d\x3c\x19\x72\x0c\x9a\xe2\x30\x2e\xb6\x7a\xe8\x49\x88\x81\x90\xdf\x46\xd6\xe1\xbe\x04\x19\xc8\x78\xfb\x7a\x29\x1d\x91\x23\x9f\xb6\x26\x21\x06\x0e\x74\x62\x1d\x70\x48\x32\x8d\xd3\x27\xc0\x39\x5f\xf9\x1e\xa5\x50\x9b\x31\x86\xcc\x93\x45\xf1\x37\x9d\xe7\xd9\x22\xd8\xf4\x34\xa8\xbf\x1d\x6c\x48\xbd\x56\x53\x31\x95\x00\xeb\x68\x37\x59\xfb\x07\x7a\xd3\xe6\x92\xb6\x2f\x97\xb4\xf1\x73\x98\x28\x21\xa3\x2d\x08\x34\xdd\xdf\x04\xc8\x85\x98\xb6\x4c\x50\x40\x2e\xc6\xb4\x35\x82\x02\x72\x41\xa6\x2d\x10\x93\x10\x7f\x2b\x0a\xd0\x1c\x62\x60\x56\x28\xf5\x90\xc6\x13\x48\xb0\x14\x32\x42\xbe\xd0\x2f\xbf\x98\xc3\xe0\x81\x43\x36\xdf\x8b\x59\x0c\x5e\x38\xa0\x73\xb2\x5d\xcc\x62\x30\x67\x9b\x2d\x1e\xc5\x2c\x06\x81\x3d\x1f\x59\x87\x32\x07\x0e\x9f\xa5\x44\xa6\x30\xf1\xa5\xa0\x00\x5a\x3f\x3d\xb1\xf8\x08\xd0\x96\x82\xdf\x66\xe1\xb7\x48\xf6\xff\x48\xae\x75\x6c\x39\xa3\xe0\x79\xf8\x00\x09\x09\x35\xa4\x0c\xea\xa6\x71\xf4\x08\x5a\xdb\x87\x7c\x2d\x14\x3c\x6d\xe6\x90\x24\x64\x93\x92\xcf\xa5\x66\x29\x93\x94\x3a\x87\x4a\xa1\xf1\xda\xa5\x4c\x52\xf6\xec\x4b\xd9\x73\xe4\x95\xf2\x48\x3a\xfa\x72\xd8\xf7\xe5\x98\xa6\x38\x4c\x1e\x74\xad\xc1\x6f\x6b\xd4\xe2\xd0\x92\x0c\x32\xc1\x25\x19\x64\x82\x4b\x32\xc8\x04\x17\x65\x50\x0e\x1d\xcf\x22\xc9\x8b\x9d\x16\xb2\x98\x0e\x9b\xf7\x9f\x81\xa5\xd4\x66\x22\xa5\x29\xa7\x53\x0e\x97\x04\x3c\xa0\x2b\xb0\x9a\x55\x39\x5c\xd2\xae\xd3\x96\xf5\x9b\xe5\x25\x72\x5e\x1b\x59\xf9\x9a\x42\xe1\x18\x26\x26\x1b\x48\xbc\x33\xa6\xda\x48\x92\x30\x55\x89\x2d\xa4\x72\x74\x33\x08\x35\x16\xf1\xdb\x4c\xd3\xa2\x94\x6b\xb7\x0a\x39\x7c\x5d\x3d\x64\xb4\x3f\x2a\x66\x51\x0c\x22\xc5\x86\x7f\xe8\x15\xb2\xa8\x2e\x76\xa4\xce\xab\x68\x24\xb3\xa8\x5e\x76\xa4\x50\x50\x64\xc8\xe8\x32\x91\xcb\x93\x83\x26\x65\x1d\x9d\x0e\x2c\x43\x3e\x1b\xdb\x07\xc8\x3a\x38\xa2\x9f\x22\x5c\x2d\xff\xbe\x21\xfa\x8c\x3c\x4a\x05\xf0\x0d\x29\x68\xe4\x51\x6a\x80\x6f\x08\x44\x23\x8f\x54\x05\x9a\x25\x21\x27\xb2\xc0\x26\x74\xc9\x12\xff\x75\x99\x46\x19\x68\x42\x77\x9f\x7e\xc9\x0c\x86\x9a\x48\xd7\x13\x8f\xa9\x5a\x14\x0a\xf7\x51\x98\x28\xbe\x68\x52\xfd\x88\xae\x9c\x1c\x06\x8b\x45\x94\x18\x6b\x15\x5b\xcd\x0e\x34\xa0\xbf\x15\x6a\xcc\x32\xfa\x69\xe9\x50\x63\x92\xed\xb3\x79\xa8\x41\x4d\x31\x2a\xd6\x65\x0a\xcc\xbe\x3d\x1b\x8b\x05\x9b\x48\x62\x60\x72\xb0\xff\x0a\x3c\x5f\xba\xd8\x44\x13\x83\x96\xc3\xf3\x15\x8c\x4d\x34\x31\x60\x39\x5c\x5b\xc8\xbc\x7c\x92\x45\x73\x4d\xc8\x73\xe1\xd1\x51\xac\x49\x81\xb0\x09\x98\x4e\x1e\x74\xc5\xa1\xc5\x68\xd9\x56\x88\x2b\xb0\xff\x0a\x5c\x92\xfc\x50\x2c\x84\xa2\x63\x0a\x2e\x89\xce\xd6\xc8\x7d\xd5\x31\x05\x97\x64\xdf\x47\xd6\xc1\xa1\xec\xd7\x34\xc2\x70\x8f\x23\x69\x1a\x31\x8a\xb5\x98\x78\xd1\x81\x3a\x2f\x50\x2e\x6b\x1f\xea\x50\x9d\x17\x28\xe2\x6d\xa3\xac\xce\x0b\x34\x47\xcb\x28\xab\xf3\x42\x93\x22\x4d\xd5\xb7\x69\x4c\x55\x31\xc3\x63\xc0\x66\x28\x73\x2c\x50\x66\x99\xa6\x18\x32\xa2\x09\x2e\x21\x0d\x05\xde\x0f\x61\x94\x64\xf7\x29\x4e\xa5\x81\xe2\x31\x45\x4b\x6a\x5b\x0f\xb3\x34\x23\x7a\xed\x4c\x11\xcb\x3d\x16\x74\xbd\x37\x4c\x17\xa1\x41\xd3\x74\x7f\x13\xc0\x50\xdd\xa8\x6e\x20\x01\xa6\x15\xd3\xca\x01\xa6\xf9\x72\x90\x03\x34\xb5\xa7\xc9\xe6\x16\xb5\xf2\x5a\x4d\x1d\x6a\xac\x81\x54\x22\xb3\xe9\x57\xad\xee\x50\x69\xcc\xc9\x52\xa9\xea\xb0\x9e\x1c\xe9\x60\x73\x7e\xb2\xe9\x4f\xc1\x39\xfb\x1f\xb1\xb9\xc7\xbf\x04\xc4\xd3\x35\x3c\x99\x28\x39\x1a\x59\xf4\x7f\x99\x28\xb2\xf2\xd1\x16\x23\xce\x01\x9e\x31\xda\x4a\x28\x33\xa0\x9f\x73\x3f\xff\x48\x80\xe8\x6b\xcb\x47\x16\xff\x48\x80\xe8\x25\x5d\xf4\xf8\x47\x02\x44\xff\xa8\x86\xcc\x3f\x12\xd0\x11\x80\x43\x8d\x53\x19\x60\x5f\xc8\x67\x1f\x59\xfc\x23\x01\x07\x02\xd0\xe2\x06\x7a\x5b\xb5\x71\x28\x00\xfb\xc8\xe2\x1f\x09\x38\x12\x80\x43\x6d\x26\x69\x8b\x0d\xb5\xc0\x91\x25\x7b\xdd\x14\x14\xe1\x46\xb9\x30\xcc\x19\x40\x90\x83\x69\x0a\xec\x23\x01\xb2\x9e\x7d\x64\xf1\x8f\x04\x08\x72\x70\xcb\x5f\x58\xff\x0c\x20\xcd\x41\x9f\x2f\xa6\xfb\xaa\x0d\x41\x0e\xee\x45\x10\x9e\x04\x06\x10\xe4\xd8\xdf\x47\x16\xff\x48\xc0\x41\x6e\x59\xf2\x8f\x04\x08\x72\x1c\xf8\xc8\xe2\x1f\x09\x10\xe4\x38\x68\x23\x8b\x7f\x04\x40\x60\x7b\x88\xac\x43\xae\x66\xb3\x44\x41\x8e\x03\xba\x4e\xb2\x8f\x04\x08\x72\xf0\xc5\x53\x2c\xa0\x0c\xd0\xcc\xd7\x5e\xfe\x91\x00\xd9\x00\x35\x19\xd9\x47\x02\xe4\x6a\x4d\x17\x4b\xf6\x91\x00\x41\x0e\xaa\x88\xf3\x8f\x04\x08\x72\x1c\x35\x91\xc5\x3f\x12\x20\xc8\x71\xd4\x46\x16\xff\x48\x80\x20\xc7\xd1\x01\xb2\xf8\x47\x02\x04\x39\x8e\x8e\x90\xc5\x3f\x02\xa0\x74\x22\xbe\x62\xfa\x72\x86\xb5\x3d\x09\x68\x0a\x75\xd6\xf7\x64\xf3\x6d\xbf\x7a\x41\x62\x30\xa9\xdb\x50\x7b\x40\x7e\x49\x58\x4b\x57\xcf\xc5\x97\x84\x29\xd5\xbd\xc9\x6c\x04\x69\x28\x30\x58\x47\xc2\x3a\xc2\x1f\xe3\xfb\xaa\xbd\x7d\x09\x3b\x10\xc2\xce\xf7\x55\x7b\x07\x52\x87\x62\x9a\xa9\x27\xed\x56\x06\x3b\x94\xb0\x26\xd3\x5a\xa5\xea\xca\x60\x47\x12\xd6\x91\x9e\xbe\xa6\x6c\x4f\xa2\xc2\xbc\x2f\xf4\x23\xd3\x25\xbd\xa8\xdd\x20\xbf\x24\x4c\xd2\x8b\xad\xc0\xe2\x4b\xc2\x24\xbd\x98\x0a\x2d\xbe\x24\x4c\xd2\xab\xc5\x14\xd6\x8e\xf4\x83\x31\x98\x92\xa5\x6c\xc5\xe5\x5f\x12\x26\x91\x6c\x7b\xc2\xce\xf1\xdb\xaa\xbd\x7d\x5d\x21\x17\x5f\x12\x26\xe9\xd5\x66\xf6\x51\x47\xfa\xcd\x18\xec\x50\xd3\x05\xe5\x97\x84\x49\x7a\x31\x0b\x40\x7c\x09\x98\x6c\x8e\x2d\x08\xc2\x80\x66\xe9\x9e\x66\xf2\xc8\x2f\x09\x53\x3a\x34\xd5\xf0\xc4\x97\x84\x49\x7a\x31\xcf\x9b\xf8\x92\x30\x65\x22\x52\xd5\x5d\x7c\x49\x98\x52\x52\x68\x53\xe2\x4b\xc2\x24\xbd\xa8\xcc\x91\x5f\x12\x26\x3b\xb0\xcf\xd6\x4b\xfe\x25\x61\x92\x5e\x54\xf2\xc8\x2f\x09\x93\xf4\x62\x3e\x01\xf1\x25\x61\x92\x5e\x07\xfb\x6c\x03\x41\xee\x22\x50\x98\xac\x52\x6a\xbf\xb2\xad\x03\x49\x2f\x2a\x85\xe4\x97\x84\x49\x7a\x1d\x52\x14\xc4\x97\x84\x29\xd3\xa9\x2d\x7d\xa9\x4a\x22\x1d\x48\x7a\x1d\x52\x14\xc4\x97\x84\x49\x7a\x71\xf7\x00\xff\x92\x30\x49\x2f\xaa\x25\xcb\x2f\x09\x93\xf4\xa2\x72\x49\x7e\x49\x98\xec\xdc\xd1\x3e\xf3\xc9\x4b\xc7\x3c\x83\x49\x7a\x1d\x31\xff\x1c\xff\x92\xb0\x23\xa9\x56\xf8\x42\x05\x6a\x7a\xb2\xbd\x43\x09\xe2\xb6\x84\x9a\xdf\x87\x72\xc9\xf7\x98\x26\xde\x96\x36\x35\x83\x29\xa7\x04\xf3\xae\xf2\x2f\x09\x93\x1a\x8e\x77\xc4\xcc\x21\x69\x13\x31\x98\x54\x6f\xa8\x78\x92\x5f\x12\xd6\x96\x30\xda\x94\xf8\x92\xb0\x8e\x84\xd1\xa6\xc4\x97\x84\xed\x4b\x18\xdf\x92\x92\xfb\x52\x0c\x76\x20\xd5\x4c\xe6\x2a\xe6\x5f\x12\x26\x3b\xce\x36\x5c\xc4\x97\x84\x49\x7a\x31\x27\xaf\xf8\x12\x30\x09\xa2\xb6\x36\xfb\xc8\x74\x49\x2f\xe6\x91\x16\x5f\x12\x26\xe9\xc5\x1c\x87\xe2\x4b\xc2\x94\x46\xa8\x36\x37\x94\x8c\x3a\x92\xf4\x6a\x1d\x30\x67\xa6\xf4\x68\x32\x98\xa4\x17\xdf\xd4\x53\x0a\x38\x83\x49\x7a\x31\x17\xb9\xf8\x92\x30\x49\xaf\x7c\x57\x48\xc9\xa8\x23\x49\x2f\x6a\xee\xca\x2f\x09\x93\xf4\x62\xba\xbe\xf8\x92\x30\x49\x14\xe6\xb2\x17\x5f\x0c\xa6\xbb\xd7\x94\xb7\x5c\x77\x5a\x94\xd2\x0b\xee\x4d\x95\x5e\xf0\x6e\xaa\xf4\x82\x73\x53\xa5\x3f\x43\x1c\xa7\x4f\x9a\x0c\xe1\x26\x12\xef\x0e\x6c\xd4\x97\xa1\x4a\x5f\x86\x2a\x7d\x19\x36\xe9\xcb\xb0\x4d\x5f\x86\x4d\xfa\x32\x6c\xd2\x97\x61\x93\xbe\x0c\x9b\xf4\x65\xd8\xa4\x2f\xc3\x26\x7d\x19\x36\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x54\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x6c\xd2\x97\x61\x93\xbe\x0c\x9b\xf4\x65\xd8\xa4\x2f\xc3\x26\x7d\x19\x36\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x54\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x6c\xd2\x97\x61\x93\xbe\x0c\x9b\xf4\x65\xd8\xa4\x2f\xc3\x26\x7d\x19\x36\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x6c\xd0\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa0\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x41\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x83\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x06\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x0d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\xa3\xbe\x3c\x4b\x13\x78\x9e\xc0\x93\x8e\x29\x8f\x47\xf0\x34\x68\x39\x8a\xcc\x00\x97\x03\xc9\xd8\x38\x49\x70\x29\x96\x8c\x6f\x16\x4a\x70\x45\x38\x99\xcf\xc0\xa4\xb0\x2d\xc5\x97\xe1\x43\x2f\x07\x9a\x01\x1f\x5e\x01\x5a\x8a\xf9\xf0\xf7\x0f\x72\xa8\x11\xf6\xb1\xcf\xb6\x59\x72\xa0\xee\xf5\xa6\x02\x98\x05\xeb\x45\xc9\xc4\xd8\x45\x63\x25\xa5\xce\xa2\x80\x06\x4e\xac\x55\x6f\x5f\x87\xeb\x58\x29\x35\x45\x41\x75\xac\x0e\x65\x14\x93\x82\x16\xd1\x62\xcb\x42\xf4\x98\xe2\xe7\x92\xf2\xcf\x06\x88\x81\xfc\x2d\x30\x33\xc6\x44\x8d\x1c\x83\x99\x01\x26\x6a\xd8\x18\xcc\x8c\x2e\x51\x63\xa6\xc5\x28\x70\x5e\x69\xa9\x85\x99\x81\xcc\x88\x97\x7d\xb9\x30\x33\x98\x89\x8a\x27\x95\x04\x06\x33\x43\x38\x0f\xa5\x72\xc4\x60\x26\x2a\x54\x0d\xa6\x44\x89\xc3\x47\x48\x26\x80\x65\xa5\x12\x19\x3e\x23\x24\xf4\x3e\x5e\x66\x33\x03\x27\x4f\x4e\x36\x23\x8b\xff\x86\x3c\x66\x24\x6a\x5b\x0a\x17\x23\x8f\xd9\x8f\x16\x0b\x16\x2b\xe6\x29\xc7\xa2\xb2\xfd\x9a\x38\x7c\x4a\xf4\xcd\x79\xd6\x42\x47\x84\x2c\xc4\x30\x4f\x93\xf1\x2c\x9a\x4e\xd5\xf6\x7e\xbe\x49\xc6\xf4\x56\x3d\x87\xff\x7a\x16\x73\x30\x5a\x72\xf5\xd3\xb3\x98\xec\xc1\x14\x91\x62\x2d\x66\x57\x0e\xa4\xbe\x1b\x47\x0f\x33\x2d\x28\x8f\x9b\xca\x6c\x93\x92\xa9\x8c\x0a\xac\x47\x50\xf0\xf0\x5f\x66\xd1\x2a\xb8\x1e\x41\xc1\x63\x7f\x99\x7a\xa8\xe0\x7a\x04\x05\x0b\xfc\x15\xfd\x94\x70\x3d\x82\x42\x4a\x1f\x09\xd7\x23\xcd\x98\x76\xc9\x76\x5a\x9b\xaa\xfe\x3c\x5a\x89\x8f\x75\x6e\x70\x2b\xb0\xff\x0a\xdc\x58\x85\xf3\x88\x02\x05\x57\x9a\x8b\x19\x5e\xa5\xe0\x6d\x5d\xbb\xcf\x43\x09\x18\xbc\xb8\x73\xc8\x99\xd2\x97\x5a\xb9\x99\xc7\x0c\xb3\xde\xaf\xae\xc8\x64\x6f\xaf\xba\x26\x93\xbf\x3d\x63\xc0\xab\x77\x14\xe9\x2a\xcc\x14\x43\x33\x8f\xee\x4a\xd1\x96\x33\x3f\x6f\x52\x6d\x40\xb2\x60\x52\xf9\x95\x83\xb5\x30\x16\xb9\x2a\x71\x09\x2f\xe1\xdb\x8a\x17\x17\x1e\x16\xad\xc1\xa4\x9f\x02\x1b\x62\xfe\x80\xe9\x9c\x1d\x1d\x6e\x2c\x3e\xfb\x4d\xa9\x1b\x2b\xb8\x19\x61\xc6\xc3\x07\x75\xb8\x4e\x25\x16\xb6\xea\x29\xec\x8c\x30\x1e\xd6\xfe\xbe\x0a\xe3\xd1\x32\xf8\xaf\xe6\x30\x70\x64\x51\x6e\x7e\xdb\xcc\x61\x60\x49\xc7\xea\xe8\xd0\xcc\xa0\xa3\x49\x2d\xfe\x7d\x35\x96\x66\x30\x51\xab\x29\x22\x30\x78\x58\x3b\xcf\xa1\x47\x78\xf8\x3c\xc8\x7a\x5f\x89\x68\x2d\x87\xaf\xd9\x12\x4d\xe6\xf6\xca\x67\x92\x19\xe7\xe1\xef\xb7\xe5\x68\xe6\x93\xc9\x0c\xf5\x60\x11\x3c\x6c\x44\xb5\xf9\x64\x46\x7b\x30\x75\xa0\xd9\x32\x26\x42\x21\xda\xc8\x6f\x49\x1b\x5e\xc7\xc5\x0c\x38\xf2\x7d\x15\x7b\xd9\x69\x15\xf2\xc0\xd6\x3c\x04\x20\xd6\x05\xa4\xb4\x25\x9a\xda\x08\xca\x3c\x46\xb4\x5e\xd3\x14\x33\x2a\x93\x11\xad\xe7\x7b\x26\x79\x64\x26\x3d\x5a\x8f\x99\x58\x3a\x81\x64\x26\x23\x5c\xaf\x40\x23\x73\xd6\x2a\x75\xa3\xd9\x36\x33\x94\x15\x92\x62\x8e\xb2\x5a\xe2\x15\x1a\x29\x2b\x27\x87\x9e\x99\xa3\xac\xa2\x08\xe2\xcd\xf5\x38\xc8\x8e\x14\xae\x82\xe9\x12\x48\x74\xa9\x23\x94\x18\xd7\x46\x46\x7c\x25\xf7\x1f\x4b\x52\x0b\x90\xbf\x05\xa6\x77\x48\x51\x5f\xc0\xf4\xae\xa8\xc5\x58\xc0\xf4\x4e\xa8\x78\xce\x79\x88\x53\x39\xff\x19\x6f\xb4\xa9\x2a\xb9\xaf\x20\x3a\x22\x9d\xa6\xb4\xa2\x39\xcc\x08\xcf\x39\x94\x2a\x31\x87\xe9\x88\xb0\x49\xc2\xe4\x25\x87\x19\xa1\x39\x52\x21\x9e\xc3\x24\x5a\xce\x4b\xa7\x64\x0a\x47\x58\x78\xae\xd2\xc9\x09\xde\x4d\x06\x33\xe2\x29\xa9\x8d\x7e\xd8\x91\xe2\x58\xcf\xa0\x2f\xa8\xbe\xa7\xa6\x9e\x9e\x45\x5f\x53\x8f\x3a\x8a\xd0\x5a\x0e\x7d\x55\xcd\x85\x80\x9e\x43\x5f\x57\x3b\x1d\x45\x74\x96\x63\xb1\xc4\x8b\x58\xf6\xb3\x7d\x20\x45\x80\x5f\xcc\xa1\x24\x96\x2f\xbc\x61\x3a\xaa\x3c\x8b\x72\xf2\x30\xd6\xf4\x4d\x5c\x79\x16\xe5\x1b\x3b\x10\xe1\x67\x3a\xb2\x3c\x8b\x94\x58\x2d\xee\x1b\xd6\x71\x35\x05\x30\x5b\x00\x98\x4f\x85\xf9\xf3\x44\x96\x82\x50\x63\xf3\xd9\x6b\x9b\xb8\x64\x0b\x1c\x25\x0f\xc5\x8d\x15\x1e\x31\xa7\x32\x15\x82\x13\x0f\x9a\xca\xb3\x90\xe7\xe1\xf1\x89\x79\x74\xea\x11\xf3\x04\x48\x45\x7f\x1e\x4d\x12\x53\x31\xe4\xc2\x4c\x2a\x11\xf3\x28\x21\x63\x0c\xe1\x5c\x37\x8e\x85\x0a\xcb\xc0\x19\x79\xc6\x69\x56\x3a\x65\xd4\x64\x7e\x4d\x05\x2e\x1d\x34\x2a\xc0\x4b\x67\x8d\xb8\xd2\xa1\xe0\xe5\xe3\x46\xcc\x0f\xa5\xe0\xe5\x13\x47\xcc\xff\x30\x4f\xc7\xe3\x30\x8b\x92\x62\xeb\xbc\x74\x12\x3e\x86\x7f\x49\x4b\x31\x6e\x4d\xa5\x36\x68\x19\xfc\x57\x73\x98\xd1\x67\x07\xd2\x45\xa8\xe5\x30\xc3\xd0\x94\xea\xa8\xe5\x30\xbb\xe1\x0b\xff\x7b\x12\x3e\x3e\xeb\x93\x98\x2b\xc4\x34\xb5\x14\xd7\xcf\x20\x69\x3c\x89\xc3\xb1\xea\x53\x4b\xba\x33\x98\x44\x65\x21\xe0\x13\x1c\xde\x4b\xb1\xc1\x0e\xfd\x34\xc5\xb9\x22\x05\x55\x56\x80\x8c\x46\xdf\x6f\xea\x60\x65\x04\x48\x2d\xba\x73\xa8\x83\x75\x1b\x20\x97\xf3\x0a\x5c\x0a\x2f\x66\xb6\x56\x39\xf0\x7c\x5f\xec\xff\x55\x04\x9d\x9b\x20\x43\xa5\xa2\x8d\xe6\x20\x83\xe8\xad\x96\x0e\x32\x94\x3d\x4f\x87\xe4\xde\x06\xd6\xf5\xa3\x02\xcc\xdf\x06\xd4\x71\xd9\x6f\x17\x80\xc6\x31\xaf\x4e\x01\x68\x9c\xf4\x3a\x90\xc0\x5c\x48\xf3\x48\x44\x2e\xfa\xda\x0a\x66\x90\xa5\xe5\xcb\x99\x69\x4a\x66\x46\x18\xe6\xe7\x63\xb3\xde\x10\xca\x4d\xb5\xd9\xc2\x9d\x9f\xa6\x3c\xa6\xc8\x70\x19\x47\x97\xac\x45\x18\x43\xa5\x95\xc3\x35\x4d\x4f\x66\xd1\x0c\x01\xee\xf5\x62\x47\xcf\x9a\x3a\xd8\xd7\x79\x84\x21\xcf\x04\x9b\x82\x37\xab\x0d\x09\x05\x6f\xe9\x26\x39\xd7\x94\x0d\xb8\xdc\x14\x93\x61\xa9\x87\x12\x5a\x10\x9a\xfe\x41\xc7\xb0\x04\x8d\x2c\xca\xff\x7d\x60\x58\x93\x46\x1e\x35\x17\xda\x9b\xeb\x51\x13\xc2\xb4\x2a\x8d\x3c\x6d\x6d\x21\xd7\x2c\x4b\x9a\xa7\x20\xc3\x99\x37\x97\x6f\x65\xb5\x0f\x8a\x59\x4c\x7e\xf0\xe4\xd6\x81\x91\xc7\x64\x0b\x36\x36\xa5\xa6\x4c\xee\x68\xeb\x1c\xa0\xf2\x14\x99\x84\x19\x6b\x8b\x70\x11\x3e\x87\x4f\xb3\x68\x61\x58\xb8\x6c\xd9\x61\x70\x08\xc7\xb3\xc5\x72\x3a\xd5\xc1\x7c\x4b\xa2\xa3\x83\xfd\x57\xe0\xa6\xc0\x55\xfb\x20\x0a\x6e\x8a\xdb\x8e\xb4\xf5\x14\xdc\x0c\xfe\x3d\x92\xc6\xde\x02\xf0\xb2\x28\x33\xd8\x86\x4e\xd1\x3c\xe5\xbe\x0d\x09\x31\x4f\x40\xf9\xd2\xc9\x54\x36\x4a\x8f\xe4\x46\x49\xd9\x1e\xed\xc8\x3d\xa7\x92\x29\xca\xb0\x63\x90\x78\x29\x97\x62\x36\x6e\xfb\x2c\xa4\xda\x17\x10\x13\x89\x03\xc5\xae\xf1\x72\x6e\x1e\xbf\x52\xca\x06\x05\x99\xb1\xc8\x4a\x4b\xa4\x20\x33\x0e\xb9\xa9\x78\x32\x7d\x9a\x18\x27\xf1\xb8\x8d\xd8\x96\x8b\x8c\xa1\xb0\x51\x14\x99\x6b\xbf\x9d\x83\xd4\xe4\x17\xd1\xec\x02\x4f\x43\x45\xa3\xe4\x68\xe7\x88\x1a\xba\x59\x53\x44\xb2\x0b\x4c\x75\xa5\x8c\x69\xb1\xca\x9d\x62\x4a\x72\x21\xe4\x0b\xb3\x24\x4f\x2d\x18\x0c\x22\xb5\x60\x2a\x88\xd4\x82\x91\xc0\x52\xd3\xec\x59\x3f\x1a\x2c\x4e\xf1\x48\x87\xab\x02\x97\x42\xc7\xb9\x97\x43\xc1\x4b\xb1\xe3\xdc\xcc\x52\xf0\x52\xf0\x38\x3f\xc1\xa3\xe0\xa5\xe8\x71\xbe\x8b\x8e\xd3\xe7\x50\x33\x70\xf7\x95\xd8\x6f\x1a\x50\x3f\x57\x26\xf9\xe9\xd6\x8e\x01\x16\xc8\xed\x1f\x08\xe7\x3f\x1f\x1e\x05\x96\x31\x1b\x87\xc2\x14\x30\x5b\x96\x71\x2c\x47\x7c\x6d\xe4\x63\x94\x85\x93\x49\x0c\x3a\xe1\x8c\xe3\xa7\xa6\xe3\x45\x79\x05\xd9\x12\x58\xe1\x73\x69\x7b\xb2\xbf\x15\xee\x16\x2a\x0f\x99\x11\x55\xe1\x68\xa1\xf2\xf4\x30\xaf\xd4\x90\x6d\xfb\xc8\xea\x1c\x30\x50\x32\xd1\x87\xb8\x49\x19\x94\xb9\x3f\x98\x25\x68\x2a\xff\xed\x7d\xb9\xf4\x1c\x68\x30\x3f\x5f\x97\xc4\xb2\x77\xa4\x41\x05\xb6\x07\xea\x7c\x1f\xdb\x0b\x2f\x1c\xdd\xda\x3f\x50\x4b\x9e\x0e\x6d\x6f\x68\x36\x9b\x41\xac\x9f\xdf\x15\xda\xe0\xa1\x06\xf5\xb7\x83\x4d\x37\xe4\x91\x74\x89\x48\xb0\xe9\x80\x3c\x90\x7e\x6b\x09\x2e\xed\x15\x70\x27\x66\x16\x41\x92\x84\x9a\x90\xa0\x86\x21\xf3\xf0\x73\x48\x69\x21\x63\xeb\x18\x87\x95\x16\x30\xe6\x01\xe3\xb0\xd2\xc2\xc5\x47\x8e\xc1\x8a\x0b\x16\xef\xe5\x06\x8f\x18\xd3\x88\x0b\xce\x30\xcd\x5f\xa6\x41\xa5\xc8\x62\x72\x87\xad\x0b\x7a\xc5\xea\x2c\xf8\xa1\x08\x02\xe0\x93\xc2\xf4\x7e\x31\x67\xa6\xaf\x24\x6c\xd1\x46\xa4\x4d\x1e\x29\xd1\xac\xa0\x0a\x2d\xba\x16\xf8\xea\x28\x96\x82\x2b\xc4\x58\x98\x8d\x72\xd6\x2b\x78\x4b\xd3\xc4\x0f\x8f\x4a\xd5\x4b\xdc\x28\x81\x3d\x03\x35\xdd\xdf\xd6\x94\x53\x92\x29\x68\xa5\xf3\x7d\x47\x87\x86\xff\xb0\x74\xb6\xef\xb0\x63\x38\x0f\x4b\xe7\xfa\x98\xa9\x9e\x3b\x0d\x8a\x67\xfa\x38\x59\x73\x9f\x58\xc9\xd5\x57\x40\x2f\x29\xf8\xca\xd4\xf6\x14\x85\x94\x37\x69\x14\xa8\xb4\x39\xc3\x55\x69\x0a\x2a\x6d\xca\x70\x45\x9a\x82\xca\x9b\x31\x4c\x8b\xaa\xb6\xee\x3b\x32\xb6\x47\x03\xfb\xaf\xc0\x0b\x61\x94\xfc\x98\x9f\x06\x2f\x84\x53\xf2\x58\x2b\x0d\x5e\x08\xab\x64\xf1\x6f\x05\x4f\xe8\x81\x0a\x2e\x62\xcb\x50\xd1\x07\x7a\x74\x24\xe2\x3f\xc4\xf8\x16\xbc\x9f\xfc\xdd\x2f\xf9\x9c\x28\xf8\x3d\x99\x1d\xdc\x56\x4b\x79\xd1\xe3\xc9\x76\x91\x3c\xc5\x7b\x44\xed\xff\x88\x7d\x67\xb9\xd1\x49\xc2\xa4\x64\x1f\x1e\x88\x12\x25\xeb\x90\xe9\x89\x24\x4c\x4a\xb6\xe1\xbe\x00\x14\x2d\x43\xb6\x7c\x93\x59\x94\x91\x58\xbd\x9d\x61\x5f\x1e\x7e\x64\x6f\x84\x11\x40\xd3\x4d\xa0\xec\x05\x01\x35\xbd\x1c\x6a\xed\x14\x50\xd3\xc7\xa1\x1c\xc1\x02\x6a\xba\x06\x14\xb7\x93\x74\x1e\x92\x54\x6b\xf5\xe8\x48\x08\x4a\x0e\xf1\x37\x83\x8c\x2d\xf1\xa6\x10\xa1\x1c\xa4\xa3\x42\x07\x88\x49\x50\x0e\x32\x36\xc3\xdb\x42\x82\x16\x4c\xaa\x7d\x15\x39\xe2\x19\x50\x8d\x97\xf3\xd7\x7d\x14\xed\x28\xcf\x78\xd9\x47\xd1\x82\xf2\x8c\x57\x7d\x14\x6d\x27\xcf\x78\xd3\x87\x7e\x32\x37\x5f\xfe\x79\xbd\x45\x8b\x8a\x0a\x11\x66\xc3\x32\x21\x51\x69\x4c\x31\x07\x3d\x13\x07\x95\x76\x14\x8b\x18\x6b\x1b\x60\xc3\xda\x57\x41\x82\x95\xd6\x13\xc5\x9a\x45\x7a\x3e\xcd\x20\x94\x38\xb7\x73\x67\xd3\x91\x04\x99\xdb\x86\xbe\x8c\xac\x62\x30\x93\xbf\x58\xf4\x57\x5b\xc2\x4c\xee\xda\x97\x5d\x61\x30\x93\xb7\xf6\xa5\x94\x28\x9f\xfe\x54\x83\xc6\x40\xd9\x3c\xfd\x56\x7e\xf5\x10\x5b\xc1\xab\xf7\x24\x3c\x05\x29\x6d\x46\xe4\xa0\xd2\x2e\x44\x0e\x2a\x6d\x3f\xe4\xa0\xd2\xbe\x43\x0e\x32\x9c\x11\xba\x43\x6a\x8d\xa2\xc6\x94\xdf\xbc\x30\x6d\x8c\x31\x84\x04\xce\x92\xe5\xbc\xea\x9d\xb4\x09\x3c\x59\xe2\x5d\xd0\xfc\x65\xc9\x53\xf9\xc2\xd8\x3f\x86\xc6\x55\x85\xda\x2d\x24\xda\x3b\x65\xff\xbd\xc3\xde\xd3\xff\xa3\xfb\xc5\x71\x86\x7f\xfa\xe2\x8e\xea\xee\x17\x77\xef\x21\xd2\x5f\x07\x8e\x51\xca\x5e\xe6\x9b\x5f\x35\x31\x4c\x47\xfc\x2e\x10\xfb\x73\xf2\x2d\x49\x9f\x12\xeb\x31\xc4\x51\x78\x1f\x43\xd7\xb2\xeb\x69\x8f\xbf\x6e\x9b\x88\x3b\x6d\x30\x7f\x6d\xae\x81\x58\x43\xd6\x9f\xb9\x59\xb0\x11\x36\xc4\x23\x47\x5c\x77\x63\xb1\xcb\xc2\xcd\x46\x21\x1b\x87\x0b\xb0\x64\x76\xda\xb6\xba\x22\x3a\x5b\x97\xa9\x91\x57\x1c\xbc\x40\x32\x4e\x27\xf0\xf9\xe6\xa2\xab\x9e\x90\x7a\x3a\x4d\xe7\x8b\x34\x81\x84\x74\xcb\x49\x88\xb7\xfa\xe1\xee\xe3\x65\xb7\xfc\x16\xea\x17\xfb\xd8\xee\xda\xb5\x98\xf4\x6c\x64\xbf\xa3\x8f\x0f\xec\xb1\x46\x1f\xc3\xf9\xa2\x67\xa3\x1f\xec\x1f\xba\x76\xed\xaf\xcb\x94\x01\x7e\xa0\x80\xdf\xb5\x8e\x7a\xf6\xba\x57\x1e\x9e\xe1\xf1\xbb\xda\x17\xfb\xcb\x0f\xa3\xbd\x07\x54\x75\xeb\xe4\x10\x46\x6b\x7e\xb1\xf7\xb4\xf1\x00\xa4\x3f\x1e\xc3\x82\x5c\x86\xc9\xc3\x32\x7c\x00\xf3\xa2\xca\xea\x2c\x8d\xf1\x0c\xa7\x73\xb8\x5d\x2e\x16\x29\x26\x30\x71\xdc\x13\x9e\xd2\x88\xfc\xc3\xa4\xa2\x80\x03\x6e\x57\xbb\xb0\x45\xbb\x82\x06\x9c\x61\x12\x3e\x46\x0f\x21\x49\x71\x23\x16\xf9\xf3\xae\xec\xee\x3d\x20\xfb\xab\xed\x8e\xdc\x35\xbb\xe4\xe5\x6d\xf8\xe8\x77\xdc\x88\x4e\xf3\x6b\x81\x44\xc6\x5a\x4d\x43\x97\x57\xca\xde\x70\xfd\x4f\x4b\xc0\xcf\x81\x79\x35\xa6\xfe\x8e\xea\x13\xdb\x15\x6f\xc0\x57\xb7\x31\xb8\xf9\x4d\x46\x74\xea\xb1\x8b\x13\xf8\x75\x44\x35\xdb\x45\x51\xe0\xf5\xa2\xe3\xfc\xde\x57\x79\x85\x53\x1a\xb0\x0b\x5f\x45\xce\xc0\x76\x7b\x64\x38\x81\x22\xd3\x38\xe9\xd0\x1b\xb9\xa3\xa0\x12\xe2\x8f\xd4\x2b\xb8\x89\xa2\xcb\xe7\x9b\xcb\xaa\xe9\x9e\x43\x37\x8f\x9c\xb8\xa4\x48\xe4\xa3\x03\x06\x7a\xb5\xbf\x99\xc4\xa2\xde\xe2\x6f\x51\xad\x10\x56\x71\x38\x5f\x94\xde\x6b\x2e\x19\xfb\x98\x9c\x90\x2e\xbc\xc3\x27\x58\xa2\xf4\xb7\x45\x58\x7d\xf3\x4d\x2e\xd4\xd4\x0d\x3f\x0e\x41\xb6\x67\xe7\xac\xf3\x33\x13\xf5\x8b\x70\x0c\xa5\xf7\x91\x1f\x07\x9e\x78\x43\xb8\x6d\x8b\xeb\x0a\xd8\x35\x3a\x46\x29\x7e\xf7\x7c\xe3\x49\x25\xb0\xbb\x3e\xf3\x9f\x81\x6d\xa9\xff\x6c\xb7\x07\xef\x74\xa0\x64\x04\x57\x4f\xac\x07\xfa\x2f\xf5\xd2\x7f\xbd\x98\xba\x8b\x43\x4a\x6b\x76\xff\x52\xe5\x6b\xe6\xc9\x6a\xd5\x81\x16\xbb\xea\x80\xf5\xf7\x96\x84\xe3\x6f\x8e\xaf\x5e\x35\x5f\xb8\x8c\x8b\x04\xd5\xf3\x92\xdf\xb1\x66\x67\x8c\x9e\x76\xa0\x6e\x73\x3a\x89\xba\xc0\xde\x77\xde\x8b\x82\xe8\xc4\xa6\xd2\x33\xea\xda\x36\x32\x6e\xd1\xb2\xe3\xe8\x5e\x22\xd9\xb5\x08\xaf\xdd\x82\xef\x8b\x88\x6a\x28\x54\xe0\xee\xf9\xd0\xaa\xdb\x99\x5d\x8f\x5c\x55\x34\x4e\x1f\x9c\xd4\x45\x24\xe0\xaf\x1e\xc7\x74\xfa\x54\x30\x73\x99\xf1\x48\xad\xe6\x8c\x63\x08\xb1\xec\x07\x91\xb5\xb8\x08\xc4\x0d\x68\xf4\x17\xca\xef\x25\x5e\x4b\xb9\x59\xd9\xc3\x88\xae\x8a\x4e\xce\x33\x8c\x86\xe5\xdb\x03\xe8\x6c\x3f\x81\x7a\xb3\xdb\xdc\x7e\x83\x1c\xa9\xba\x3d\x6e\x9d\x5f\x33\xfc\xb2\x46\x69\x80\x7b\xe9\x31\x29\xdc\x2c\xbc\x8b\x47\x6c\x3d\xdc\x74\xad\x9c\xba\x75\x85\x63\x9a\xcd\x43\x4c\xce\xe3\x34\xc5\x83\xe8\x31\x9a\x14\xef\x70\x16\x57\xdc\xec\x11\x14\xf1\x77\xfb\x8f\x21\x8a\x1d\x9c\xd7\xb2\x8b\x8f\x7d\xd8\x6d\x9f\x44\x5d\x06\x9e\xd2\x9a\xc4\xf5\x03\xd3\x06\x0e\x93\x49\x3a\xbf\x48\x36\xdc\x51\xa6\x95\xe0\xf7\x06\xb0\xec\x8e\xfb\xa3\x43\x76\xa1\xee\xbb\x6e\x9d\xcd\xdd\x8f\x90\x65\xe1\x03\x7c\x0c\x93\xf0\x01\x70\xf9\xaa\x6a\xb9\x02\x64\x5f\xd9\xab\xfc\xab\xef\x8b\x29\x2f\x0f\x6b\x7e\x2b\x4e\xa1\x0a\x75\x35\x8e\x0d\x09\x95\xdc\x45\xf0\x32\xe1\xd7\x00\x30\x30\xbf\x70\x7a\xce\xf1\xcb\x82\x97\x75\x19\x5d\xed\xf6\xad\x70\x32\xf9\x28\xb3\x56\x5e\x45\x4d\xb5\x97\xfc\xf2\xc0\x21\x19\xf5\x70\x83\x21\x3d\x4b\xe3\x09\xe0\xec\xc4\x68\x6e\x48\x46\x01\x96\xbf\xb4\x77\xf7\xff\x9e\x2b\x5a\xc3\x3f\x7d\xc9\xbe\xfc\x9e\x6a\x59\xbf\x37\xb4\x2c\xed\xc2\x15\x8b\xb6\x61\xb4\x30\x8c\xcc\x5b\x04\x46\x8d\x71\x9a\x10\x48\xc8\xda\xed\x6e\x6e\x7c\x7b\xb7\xa7\x51\x32\xe9\x27\x93\xcb\x34\xac\xea\x7e\xe1\xa2\x70\xba\x7c\x9e\x50\x39\x24\x2e\x5b\xe8\x66\xf9\x33\x92\x97\x68\x9f\x24\x8e\xdb\x25\x4e\x8a\x32\x7e\x07\x53\x54\x1a\xc4\x71\x9a\x8c\x43\x5a\x24\x0d\x86\x23\x94\xd1\xaf\xa4\x74\xb1\x7f\xac\x61\xc4\x2f\xf4\x16\x44\xbc\x81\x29\x60\x48\xc6\x54\x07\x41\x91\x8b\x70\xe3\x3e\x4a\x26\xfc\xae\xee\x1d\xaf\xf0\xdb\x77\xdd\x75\xfe\xdb\xed\x25\x5c\x06\x6c\x24\x47\xbc\x89\x0e\x74\xf9\xe2\xbd\xa1\xe2\xe0\x9f\x3f\x5e\x7e\x20\x64\x71\x03\x7f\x5d\x42\x46\x7a\x51\x23\x4d\x68\x49\x48\x8c\x55\xb4\xe9\x79\x01\x25\x10\x09\xc9\x32\x3b\xe1\x9d\xd0\xd8\xcc\xf9\x8f\xb7\xd7\x57\x5c\x4d\x71\xa2\x06\x86\x6c\x91\x26\x19\xdc\xc1\x77\xe2\xba\x88\x38\xae\xdb\xc5\xb5\x1a\x76\x64\x05\x46\x47\x50\xd4\x48\x17\x90\x38\xf6\x4f\x67\x77\x36\x02\xfa\x3b\x83\x64\x52\xd9\xbb\x12\xdd\x5e\xb5\x06\xbe\xfc\xde\xf9\x32\xa9\xbb\x86\xb2\xa9\xad\xdf\xfc\xd6\xf5\xf5\x76\x4a\x96\x5b\x7d\x1d\xb1\x6d\xf5\x3d\x00\xa9\x1e\x10\x79\xdd\x8f\x65\x4c\x01\x57\xb0\x9d\x9a\x12\x30\x52\xf6\x83\xa1\xd6\x30\x8d\xb1\x56\x73\xa2\xa0\xa0\xf0\x0a\x4c\x1c\x70\x5d\xb4\x13\xb9\x85\xbb\x44\xf8\xaa\x28\x2d\x10\xd1\x8a\xb8\x4b\x44\x19\x48\xf8\x04\xba\x58\xbf\x9b\xaa\x74\x2d\x0f\x55\x35\x82\x21\xbb\xf5\xb1\x9a\xc5\x23\x44\x5c\xb7\x1b\x6d\x25\xf5\x02\xa7\x63\xc8\xb2\x0b\xff\x30\xe9\x13\x7e\x9f\xf2\x26\x21\x16\x40\xe3\xaf\x54\x25\xbe\x85\x18\xc6\x24\xc5\xfd\x38\x76\xec\x21\xed\xf2\xc8\x76\x11\xbf\x1b\x88\x18\x37\xec\x53\xb4\xaa\x1a\x70\xc8\x10\x8f\xb6\xb3\x40\x55\xb1\xca\x1b\x7b\xa8\xfe\xaf\xea\xb5\x29\x36\xb6\xb8\xde\xe5\x85\x2d\xc3\x81\x36\x53\x88\x2b\x96\x61\xec\x8a\xf5\xb9\x78\xbd\x4b\x98\xfc\x40\x2c\x96\x99\x0e\x47\x83\x84\x0f\x57\xe1\x1c\xea\xf6\xef\xe8\xaf\x68\x52\x67\x2a\x0e\x71\x11\x56\x0b\x36\xb3\x4c\x89\x9c\xe0\x18\xa5\x01\xed\x5c\x2f\x35\x4c\x85\x80\x99\x0a\x0c\x14\xa4\xb9\xb9\x30\x72\x91\x99\xef\xf7\x22\xdf\xdb\xd6\xb9\x06\x49\x3f\x2f\x16\x52\xa2\xaf\x9d\x02\x31\xb4\x86\xdc\xba\xfd\xd5\xae\x63\x71\xef\x56\xa6\x14\x59\x27\x75\x7b\xf6\x57\x3b\x08\xa2\x13\x68\x10\xf8\x4e\x4e\xf9\xa2\x10\x64\x5d\x60\xf7\x17\xa9\xca\x22\x2a\x92\xd9\x72\xf0\x09\x4b\x0e\x2b\xaf\xdb\x54\x24\xb0\xba\x33\x92\xe2\xf0\x01\x02\x40\xfa\xcf\xeb\x7b\x76\x4b\x3c\xfe\xca\x11\x48\x93\x5b\x9e\x7e\x3a\x0b\x93\x07\xf8\xaa\xcb\x28\x96\x21\xca\xfa\x63\x12\x3d\xc2\xd7\x60\xc7\xe7\x29\x21\xfd\x1d\x12\x70\x44\x0e\x82\xa9\x92\xbd\xe3\xf7\x94\xba\x6b\xef\xd9\x3d\xdc\x80\x64\x22\x48\xba\x67\xbb\xab\x95\x83\xeb\x01\x7d\x42\x82\x25\x61\x1a\x7d\x0f\x70\xfe\xeb\x06\xc6\x29\x9e\xf0\xcb\x82\x39\x6d\xd8\x7d\xbc\x12\x5f\x7e\x63\x30\x03\x8c\x67\x51\x3c\x39\x0f\x29\xff\xcb\xdb\x85\xf3\xf4\xcb\x28\x23\x2c\xad\x92\x4e\x1a\x77\x0f\xce\xce\xfb\x9f\x2f\xef\xbe\xfe\xb1\x7f\xf9\xf9\x2c\x30\x3d\x34\x8e\x2d\xa0\xd4\x62\xac\xa8\x85\xe3\x5a\x45\x74\xaa\x88\x4b\x8a\x4f\x60\x1a\x2e\x63\xf2\xc7\x30\x5e\x42\x40\x04\x8e\x4b\x8c\x21\x91\x69\x34\xc5\xc0\x83\x67\x4a\x65\x9f\x83\xe1\xa8\xba\x1b\x1c\x81\x2d\xbd\x79\x73\xcf\xdf\x56\x7d\x38\x99\xc8\x81\x28\xab\x88\x0a\x5d\x7e\x75\x13\xb7\x88\xde\x50\x29\x86\x79\xfa\x08\x95\xf5\x6a\xb6\x5e\x5e\xbb\xba\x57\xd1\xed\x91\x77\x81\x27\xd4\xc7\x1c\x2e\x2e\x0e\x24\xc8\x7f\x2b\x06\xc6\xa2\x94\xaf\x8f\xa5\x81\x0a\x2a\x86\xea\x64\xef\x4f\x0e\x37\x55\x56\xc9\x72\x7e\x0f\xd8\xfd\xfd\x1e\xbf\x05\x4d\xd8\x2d\x25\x1e\x70\x4f\x4a\x49\x5d\x9b\xdf\xa9\x9d\x5b\x3b\xa5\x2c\x27\x9a\xf0\x64\x8f\xbc\xd1\x68\xfa\xec\x94\x5b\x10\x8a\xa4\xd1\x44\xa9\x3b\xaf\xcd\x8c\x09\xc8\x29\x5e\xb8\x9a\x78\xc7\x94\x08\xe5\x7b\x84\xaf\x52\x62\xc9\xb2\x13\xdb\xed\x6d\x90\x20\x42\x14\x15\x18\xc0\xa9\x14\x53\x1b\x86\x52\x63\xcd\x6a\x5c\x5f\x43\xb5\x2f\x2e\x31\xdf\x86\xae\x67\xa2\xab\x4d\x82\xdf\x88\x2b\x6d\x52\xc8\xdb\x4d\xf7\x0f\xba\x2f\x5e\x10\xec\xee\xe2\x5a\x0d\x6a\x35\xba\xa4\x88\x4b\xff\x50\x14\x5c\x33\x56\x69\x7c\x83\x67\xa1\x51\xeb\x62\xd3\xdd\x64\x9c\x69\xe2\xb6\x0e\xba\x0e\x2a\xfa\xcb\xc4\x77\xad\xa6\xdb\xfc\x76\xde\x87\xcc\xa2\x38\xb3\x15\x37\xaf\xc7\x35\xe9\xf2\x00\xe4\x82\xc0\x9c\x2a\x3b\xaa\xfd\x48\xba\xd5\xb4\x62\x52\x2f\x51\x37\x39\x32\x87\xb2\x2b\x6e\x40\x8f\x86\xd9\x08\x85\x41\x26\x57\xcc\xd4\x45\x71\x10\x2a\xc5\x50\x13\xee\xb5\x5a\x61\x1e\x24\xee\x4e\x50\x35\x35\x74\xfa\x0c\xc3\x91\x31\x09\x44\xef\xb7\x65\x09\x12\x14\xd7\x6a\x0e\xae\xd7\x45\x7f\x9f\x93\xf1\xa9\x44\xc3\x09\xa9\x66\xb7\xf6\x82\x80\x0f\x95\xe6\xb4\x01\x43\xd5\x7f\x95\x29\x26\x30\x8d\x12\xc8\x73\x54\xaa\xc9\x1a\x21\x15\xba\x30\xea\xa5\x27\x82\x38\x74\xf1\x1e\xf0\x59\xcf\x56\xa3\x6e\x75\x01\x66\xfd\x6c\x16\x8d\xac\x28\xc2\xb5\x5a\x6a\x30\x3b\xfe\xd5\x7d\xd8\xa4\xbe\x7a\x3d\x92\xdf\x5d\x49\xa4\x7e\x5a\x2c\xed\x50\xd3\x79\xe8\x8d\x10\xfb\xeb\x8b\xbf\xcd\xd1\x1b\xd1\x60\x63\x84\x21\xa9\x5a\x9f\xcb\x4d\x21\xa9\x56\xa4\x89\x1a\xdc\x92\x32\x84\xa8\x15\x51\xa5\x7c\x50\x9a\x92\x92\xfa\x41\x53\x5f\xd7\x40\x34\x12\x17\x6d\x3a\x6a\x13\xd5\x6a\x6f\xbb\xbc\xfd\x42\xdc\xd8\xbe\x08\x71\x38\xef\x5a\x5c\x6d\xca\xb8\x06\x0e\x62\x91\x2c\xea\x52\x72\xa5\x46\xc4\x2d\x2a\xd1\xec\x36\x7e\xac\xe6\x9d\x21\x63\xca\x8d\x4b\x0b\x6a\xa1\xfa\xc9\xbc\x89\x55\xb3\x0b\x8f\x4c\x09\xca\xec\x8f\xd7\x68\x94\xa4\x24\x9a\x3e\xf7\xe3\x58\x17\xef\x12\x65\xa8\xc6\x92\x2b\x62\xac\xa0\x18\xc8\x8d\x3a\x49\xb1\x21\x91\x7f\x93\x2e\x52\x9c\x7e\x6c\x4d\x7c\x2b\x51\x20\xdf\x99\xc0\x01\x61\xaa\xbf\xdc\x8f\xa8\x1e\x23\x6d\x8f\xa2\x32\xc3\x30\x1a\x31\xbb\x9e\x55\x2b\x2a\xd2\xd4\x21\xbd\x78\x9e\x4c\x0b\x61\xc4\x35\xd4\x57\x89\xc2\x35\x62\x36\x2d\xaa\xa5\x12\xd2\xec\x18\x60\x1c\x87\x19\x07\xa5\x01\x46\xbb\xfe\x4e\x90\x2b\x6d\x69\x05\xf3\x0c\x96\x54\x63\x0b\x09\x58\x6c\xee\x30\x22\x71\xf3\x2e\x75\xd9\x1d\xa2\x16\xed\x59\x6f\x27\x5d\xad\x8a\x95\xf5\x5c\xee\x4f\x57\x4e\x50\xc7\x47\xfb\x9d\x4e\xab\x53\xb8\x54\x97\xe7\x62\xb7\xf4\xa6\xa8\xed\x22\xc2\x6d\xc0\xba\xdd\xa5\x8d\xf4\xf8\xd2\xb3\x61\x62\xf3\x99\x9f\xdf\x8b\x9c\x08\x53\x27\x5f\x36\x51\xd2\xc0\xc0\xee\x98\x8d\x1d\xb7\x4a\x0a\x0c\xd3\x51\x90\x20\xa1\x18\xa7\x72\xdd\xa4\xc4\x42\x99\x8b\x92\xd7\xf5\x05\xaa\x20\x95\xe9\x2f\x84\xd9\x03\x10\x06\x63\x49\x1a\x26\xd2\x12\xcb\x47\x06\x45\x01\x56\xd4\x23\x6e\x8f\x92\x33\xa2\x6b\x9b\x54\x9a\x23\xe4\x1b\xd8\x61\xd7\x45\x13\x88\x81\x40\x69\xf9\xa5\xdd\x22\x1b\xec\x12\x43\xb5\xae\xe6\x1b\x26\x5f\xa0\x6a\x5d\xdf\x22\x5e\x58\x2e\x2b\x8e\x32\x22\x66\x92\xe6\x99\x34\x51\x63\x73\x92\x79\x6a\xac\xc8\x35\xf7\xbb\x71\xa9\xfe\x1f\x64\xfd\xf6\x0f\x75\xa8\xff\x60\x4b\x3e\xfc\xa1\x9e\x5f\xa0\x8e\xd5\xbd\xba\x1b\x7b\x3d\x89\xa6\x53\xb5\x76\x94\xfc\xaf\x6a\xce\xbf\x84\x93\x09\x4c\xba\x2f\x6b\xc4\xc7\x95\x3d\x8e\xd3\xf9\x3c\x4d\xba\x6c\xb5\x60\x53\x18\xf4\x89\x4b\xc7\x89\xe4\x86\xcf\x30\x1a\xb9\x27\xb8\xc1\xcb\x0c\xe9\xcf\x51\xb0\xe3\x75\x71\x83\xd5\xac\x12\x0c\x81\xa0\x8b\x81\x61\x34\x8a\x12\x4b\x64\x5f\xad\xd4\x6f\x5e\x21\xb5\xd1\x05\xcb\x4d\x86\x44\xd4\xa5\xd1\xe1\x95\x11\x37\xd4\xa3\x8d\x44\xf0\x50\x6a\x30\x66\x56\x56\x6b\xcd\x01\x75\x51\x12\x38\xaf\x53\x9d\x39\xac\x91\xe7\xf6\x92\xe3\x54\xf6\x39\x91\xbb\xbb\x61\x90\x0e\x93\x11\x8a\x35\x11\x12\x32\x69\x15\x33\x3b\x52\x99\x8e\x31\x9d\x05\x3b\x55\x0c\x1f\x8e\x78\x4d\xb3\xed\xc2\x82\xd7\xba\x33\x73\x5f\x8a\x8e\xc6\xf0\x3e\x06\x8b\xa4\x16\x06\xaa\x36\x97\x25\x5e\xe8\xf6\xc6\x69\x42\xa2\x64\x09\xeb\x59\x59\xd0\x54\xe3\x14\xcc\x10\xd5\x4e\x67\xba\x61\xa1\xef\x19\x4a\x53\x82\xd4\x6a\xc4\x71\xd7\xee\x9a\xb9\xcc\xf8\x45\xd3\x99\x4e\xa5\x2d\x53\x3d\x1b\x26\xa3\x51\x6f\x87\xd7\xa2\x69\xb9\xe4\x0d\xd6\x4e\x66\x38\x7d\xff\xae\x4b\x69\x85\x21\x49\x8d\x10\xc7\x30\x77\x5c\x44\x0c\x8d\x7e\xa7\xca\x90\xaf\xd5\x1c\xf2\x36\xbf\x4c\x51\xa7\x78\x1b\x05\x0a\xca\x0b\x53\x5c\x82\xe1\xa8\x67\xec\x4c\x95\x64\xe1\x8b\x26\xc3\xf5\x11\x21\x79\xc1\x88\x16\xc4\x2e\x0b\x5c\xc8\x85\xbf\xf2\x8a\xa6\x5b\xb4\x23\x83\xfa\xe9\xe8\x6d\x44\x7a\xad\x60\x15\xdd\x40\x2e\x7d\xd2\xed\xf9\x8f\x31\x62\xcb\x8c\x90\x39\x99\x8b\xa0\x31\x4d\xf1\x59\x38\x9e\x39\xe5\xf1\xfb\x55\x26\x5a\x34\x9d\x56\xef\xba\x48\xb5\x5c\x29\xe8\x64\xb5\xda\xd9\xfb\x93\xb3\x4c\xb8\xa5\x31\x59\xdd\xa7\x69\x0c\x61\x22\x9c\x44\x2b\x6e\xa2\x16\x7d\x45\xe0\xae\x56\x8c\xf0\xaf\x6a\x64\xba\xa5\x57\x1d\x6e\xb0\x69\x76\x95\x97\xbf\x57\x66\x17\xed\xb5\x83\x0d\x67\x12\x22\x2e\xd3\x1a\x5e\xf7\x8e\x15\x0a\x4a\x23\xa9\x34\x85\xba\xc5\x7c\xaf\x2b\xa5\x3a\x09\xb6\x6e\xf6\x56\xd8\xc6\x84\xd9\x92\xaf\xb6\x91\xc1\x3f\x90\xb8\x62\x9b\x82\x5b\x00\x1a\xa9\x23\x4e\xdd\x2d\xb4\x3f\x29\x92\x9e\x98\x9e\x98\x8c\x7b\x62\x4c\x21\xc8\x76\xa0\x4a\x05\x37\x88\xb8\x57\x25\xaa\x8b\xf4\x35\x60\xcb\xac\x42\x40\x97\xe3\x57\x29\xfd\xf0\x8f\x5b\x22\x54\xdc\x0e\x23\xf4\x6b\x88\xc0\xf7\x45\x8a\x49\x3f\xfb\x8f\x59\x9a\x94\xe5\xf5\xcb\xba\x42\x5e\x1b\xa2\x2b\x9a\x3a\x1b\x24\x39\xe5\x38\x5d\xe0\x6b\x9a\x39\x79\x2d\x22\xad\xc7\xa3\x08\xa8\x0c\x7d\x89\x26\xdd\x14\xfd\x25\x4b\x93\xae\xa9\xfd\x13\x94\xba\x06\xfa\x7c\xa9\xa7\x06\xd4\x8b\xb6\xd7\x64\x90\x93\x8c\x7a\x59\x41\xea\x57\x0a\x7d\x86\xbb\x99\x53\x45\xb9\xbd\xea\x48\x8e\xe6\x14\xa7\x73\x9c\xce\x4d\xa2\x96\x67\xea\x46\xe2\xe5\x34\xa3\x98\xbc\x16\xbe\x17\x4d\xa4\x41\x6a\x2e\x99\xc3\x74\xd4\xcb\x56\x2b\x47\x02\x73\xb3\xd6\x21\x88\x05\x22\xa5\x94\xb1\x0b\x08\x3b\xac\x4e\x4a\x70\x61\x8d\x2a\xfb\xe8\x8d\x52\xa4\xec\x51\x2a\x6f\x9e\x98\x4e\xc5\xd7\xfd\x14\xc5\x0d\xbb\x57\xa8\xba\xa3\xcd\xde\xd5\xca\x0b\x02\xd2\x88\xc3\x8c\x5c\x48\x53\x30\x87\xd2\xc9\x2a\xa5\x9c\xf4\xc1\x96\x9d\xb7\xae\x8a\x04\x2e\xcf\x80\x17\xcd\x28\x2b\x78\x7e\x50\xca\xc6\xaf\x91\xc0\x13\x97\x65\x59\x10\x19\x4c\xd5\xcb\x82\x20\x88\x4a\xec\x97\x05\xdc\x7a\x13\xb6\x29\x93\x8a\xd4\x24\xaf\xd5\x1c\xb3\x7c\xa0\xac\xbc\x74\xb5\xa2\x23\x4a\x9f\x4e\x0a\x15\x76\xd3\xaa\x45\x08\xbb\x62\x57\x15\x43\x96\x2e\xf1\x18\x82\x17\xf9\x94\x7d\xe5\x86\x99\x02\x51\xcb\xa9\x6c\xd1\xe6\xe0\xbc\x20\x73\x01\xd2\x11\xeb\x12\x94\x84\x73\xe8\x02\x9a\x84\x24\xec\x62\xb3\xbe\x62\x58\x84\x6e\x1f\x57\xd6\x5b\xb0\x69\x49\x21\x96\x5a\x66\x64\x22\x50\x49\x40\x65\xc2\x6e\xc0\xb4\x88\xd2\x20\x24\xe1\xff\x0b\xd0\x6a\x50\x8a\x55\xe1\xf6\x19\xc7\x95\xcb\xb3\x99\x93\x41\x64\x54\x21\x23\xbe\x5d\xc7\x0d\x3a\x26\x75\x1b\xd1\x47\x59\xbd\xdc\x92\xa1\x8b\x0a\xd7\x4f\xf3\xc4\xc6\x29\x0b\x2b\xa9\x98\xb8\x1c\xfe\x55\xee\xf6\xa6\xc6\x46\xb5\x08\x46\x91\xcb\x29\x95\x04\x94\xdb\x26\x94\x81\xe8\x4c\x87\x44\x6e\x22\x29\x50\x49\x23\x35\x31\x28\xc8\x15\x5e\xa4\x3c\x48\x66\xc3\x54\x7a\x07\x06\xba\x9a\x44\x65\xc1\x22\x26\xea\xa5\xd0\x91\x1c\x34\xc4\x23\x21\x9e\x36\xe2\xf5\xb6\x5d\xe2\xaf\xfa\x36\xf1\xc6\xba\x7e\xe5\xe6\xf0\x57\x7d\x77\x98\x79\x4d\x8a\xdb\xc3\x5f\x8b\xfb\xc3\x1b\x9b\x66\x91\xab\x9b\x07\x9c\xc3\x1d\x17\x15\x76\x7d\x44\x38\xfc\xc6\x6a\xc5\x36\xd9\x96\x50\x8d\xaf\x8a\x6b\xdf\x52\x51\xd1\xd1\xf4\x1b\x6a\xca\x2a\x50\xca\x23\xe5\x5e\xd6\xbd\x48\xdb\xdf\x50\x55\xd3\x15\x30\x42\xf8\x4d\x55\x6f\x47\x32\x7b\x0b\x92\xb9\x2a\xba\xb5\x2e\x9e\xed\xd7\x54\xb7\x1d\xb7\x0d\xf5\x5d\xa6\xe3\x30\x2e\x45\x3b\xa6\xe5\x28\x15\x25\x1f\x44\xb8\x5a\x4c\x0b\x8a\x5a\x90\x48\x0b\x27\x93\xb3\x47\x48\x88\x92\x08\xb6\x28\x65\xcb\x2d\xa9\x5b\x89\xce\x06\xd9\xc0\xd0\xa9\x52\x0f\xbe\x96\x82\xe9\x25\x46\x7d\x0c\x61\x51\x28\xa8\x50\xae\x34\x9e\x94\xa2\x0e\xf2\x54\xb7\x9b\x3f\xb3\x93\x15\x72\x3d\x37\xb3\xcb\x54\x9a\x5d\xad\xf8\x92\x9f\xa8\xe9\x3f\x0a\x5e\x64\x35\x74\x79\x14\x59\xba\x38\x57\xb2\xd3\xc0\xeb\xa5\x9b\xa4\x53\x5a\x21\x9d\xd2\x91\x13\xf1\xed\xa4\x4d\xa4\xf9\x57\x48\xa7\x62\x55\xff\x76\xc2\xa9\xd8\xf2\xdf\x47\x36\x15\x6b\xad\x16\x4d\x9a\xad\xa2\x8b\x15\x66\x14\xf2\xcd\x9e\x52\xac\x3e\x76\x09\x7e\x7e\xc1\x7a\xc0\x1f\x76\xf3\xb8\xfb\xb5\x6e\x3b\x72\x96\x66\xda\x37\x76\xdf\x86\xe0\x16\xdf\xfa\x1a\x45\x81\x74\x9d\xef\xfa\xbd\xe8\x1d\xb5\x14\x76\x77\xa5\x79\x00\xc3\x68\x24\x6d\x83\x52\x67\xd2\xea\xce\x64\xbc\x33\xc3\x74\xa4\xf7\x27\xd3\xfa\xc3\x60\x19\x37\x0e\x40\xdf\x4a\xf9\xcd\x1d\xdd\x24\x91\x4b\x72\x93\x8f\x02\x2a\x86\x3d\xb8\x6c\xfb\x5e\x6b\x1d\xbf\xad\xc1\x8d\x94\xd5\x3c\x29\xa5\xe6\x71\xb1\x79\x18\xe2\x91\xeb\xf6\x0a\x8e\xe2\x57\x30\xf8\x55\xf2\x5d\x30\x1f\xfa\xad\x4d\x6c\xe6\x20\xaa\x0d\x41\x49\xff\xa9\x6c\x9e\xf6\xf2\x95\x4e\x7e\x84\x79\xaa\x9f\x5c\x7b\xc3\x3a\xf1\xb2\x2e\x57\xf0\xf7\x11\x5f\xa5\xba\xfe\xed\xe4\x57\xa9\xe9\xb2\x00\x93\x47\xf5\x7a\x66\x24\x82\xb1\x3e\x91\x21\x36\xd6\x0c\x1d\x48\xcd\x4b\xb5\x84\x70\x0b\x64\xdd\x2b\x92\x16\x55\x1f\xaa\x52\x91\x04\x81\xd7\x83\x4d\xcb\x0d\x54\x2c\x37\x30\x72\x88\x19\xd1\xef\xbd\x26\x74\x4b\xa4\x78\xb3\xd4\x15\xce\xaf\x7f\x98\xb4\xdd\x84\xd9\xdf\x57\xdc\x8a\x63\xc4\xff\x8f\x88\xd9\x52\x0f\xb7\x6b\xbe\x25\xea\x17\x13\x4a\xe1\x66\xdc\xab\x9b\x52\x36\x4e\x99\xe9\xaf\x78\x35\xca\x99\x93\xfc\x23\xd8\x30\x2d\xb1\xe1\xf6\x05\x60\x13\x29\x8a\x83\x2d\x07\xda\xdc\x6e\x02\xb6\xdd\xb4\x71\x2a\x46\xda\x54\xa4\x3c\xb0\x46\x45\x78\x91\x72\x6c\x4f\xbb\xf7\xf7\x27\x0b\x36\x83\xf0\x5e\x59\x30\x36\x48\xc8\x8a\xe9\xa9\xef\x94\x6a\x0c\xf1\xdb\xeb\xff\x15\x2b\x52\x75\xdb\x43\x3c\x1a\x6d\x58\x8d\xee\x20\x23\x9b\x4f\xf6\xa5\x0f\x01\xac\x56\x3c\x22\x50\xcb\xd9\xb8\x4c\x1f\x0a\x85\x4b\x21\x41\x14\x76\xb3\x4c\x36\xbd\xc9\xc0\x2c\x2c\x32\xcb\x5d\x81\xcd\x75\xa7\x89\xc8\x7a\x9a\xce\x17\xb4\xab\x46\xfd\x9b\xcb\x11\xc8\xc8\x27\x0c\xe1\xfc\x3e\x2e\x1e\xb1\x7c\xa5\x50\x9a\x91\xb7\x94\xba\x4c\x1f\xb4\x1c\x81\xd8\xdb\x97\x1a\x4a\xf8\x08\x2a\xb4\x79\x12\x92\x30\xb0\x6d\xfd\x90\xc3\xd7\xc2\x6f\x76\x76\xf5\x6b\x20\x82\x8b\x45\x5d\x5f\x03\x40\x43\x3b\x4e\x1f\x6c\x64\x4f\xe0\x7e\x49\xff\x46\xc9\x34\xb5\x91\xfd\x14\xe2\xc4\x46\x36\x3b\x1e\x63\x8f\xd4\x8e\x26\x04\xef\x5e\x62\x20\x16\x09\x6c\xbb\x97\x3d\x45\x42\x56\x8e\xc3\x0c\x44\x0d\x5d\xf6\xcc\x8a\xf3\x47\x5e\x45\x97\xda\x79\xc6\xb1\x15\x16\x81\xb0\xa6\x98\x10\xb5\xe5\x2c\xd0\x92\xc2\x8f\xf9\x01\x0a\x80\xc0\x71\x1a\x8d\x06\xb8\xc1\xbb\x9c\x10\x6a\xff\x2a\x24\x61\x5d\x0f\xfe\xfd\x5a\x27\x75\x68\xfc\x25\x8d\x12\xc7\xb6\x6c\xb7\xce\x8e\xdc\x22\x2c\x0e\x03\x1b\x55\x53\x1e\x71\xd7\x2e\x1a\xda\x0f\x38\x5d\x2e\x6c\xc4\xff\x9e\xa6\x71\x1c\x2e\x32\x98\x14\x88\xc0\xf1\x26\xbf\x0a\x6f\x08\x6c\x9b\xe1\xcd\x74\xc9\x37\x20\x0f\x02\x61\x73\x5c\x2d\xcb\x6e\x60\x58\x40\x48\x9c\x7a\xbd\x34\xc4\xac\x17\xbd\x4a\xf4\x1a\xac\x47\x67\xc9\x84\xaf\x2c\xf2\xd7\x86\x4c\x81\xe3\x70\x64\xb7\xb4\xbf\xbb\x5b\xd9\x7e\x81\x91\x6f\x97\x11\xd9\x18\x7a\x9e\x1b\x1a\x24\x2f\xf2\x55\xb9\x7f\x68\xd1\x2b\xed\x78\x4b\x06\x64\xb9\xa0\x72\x56\xed\xb3\x19\x59\xa8\xc2\x4a\x9b\x0e\x2a\x30\x90\x30\x44\x1a\x93\x28\x0b\xef\x63\xd8\x98\x53\x83\x23\xb6\x93\xb7\x31\xa7\x80\xe5\xb9\x58\x1c\xd2\x96\x9c\x14\x8e\x08\xeb\x2c\x7d\xe4\x2a\xb9\xe8\xfb\x82\x1f\x2b\xca\xe5\x85\x0c\x5c\xe0\xf2\xcf\xa9\xaa\x56\xe5\x65\x61\x27\x74\xd8\xf1\x72\x4c\x52\x5c\x85\x43\xd5\xb8\x34\xb2\xe5\xfd\x38\x0e\xb3\x0c\x44\xc0\x20\x71\x11\xa9\x1c\x41\x2d\x27\x45\x7a\x0b\x85\x2b\xe2\x8a\x95\x76\x2d\x7b\x2a\x7c\xf5\x79\x34\x26\x05\x58\x6c\xd3\x82\xb9\xeb\xf9\x6a\x54\x2d\xd7\x85\x50\x47\x44\x9e\x26\x10\x75\xd2\x69\x26\x0e\x77\x29\xfa\xf2\x4e\xe1\x6a\xa6\x34\x18\xe1\xdf\x0e\x69\xe3\xd8\xc3\x80\xa3\x30\x61\x75\xb1\x38\xe6\xc6\x74\x19\xc7\x94\xa3\x37\x20\x2d\xf9\x71\x53\xc8\x8a\x46\x8e\xad\x15\x98\x21\x73\xe5\x3a\x18\xfd\xaa\x6b\x30\x14\xb9\x8a\xa8\x88\x92\x35\x4f\x98\xba\x44\x0d\x2a\x6e\xdc\x9f\x50\x0d\xa2\x4b\x2d\xac\x37\x34\xb0\x5c\x6c\x5d\x93\x8b\x25\x16\x6f\x5b\x95\x4b\xc5\xde\xb8\x2e\x97\x98\x25\x77\x95\xd0\x1a\x4f\xe9\x14\x91\xe2\x8a\x92\x91\xc9\x26\x21\xcf\xe4\xc8\xb2\x77\xc7\x08\xb9\x55\xb7\x87\x76\x9d\xd4\xed\x91\x9d\x97\x39\x17\xd5\x7f\x0d\x70\x55\xf3\xba\x4e\x57\x50\x88\xf8\x2b\x28\x8a\xd5\x88\x15\x4f\xb4\x8a\x86\x80\xb8\x2e\x72\xb3\x4c\x1a\xe3\xef\x23\x69\xf6\x70\xbe\x37\x4e\x1c\x9b\x8d\xdf\x40\xb6\x8c\x09\x4b\x92\xea\x92\x38\xe4\xdc\xa3\xa4\x8c\x12\x12\x27\x8e\x4d\xc1\x16\x0e\xa3\x0c\x26\x56\x98\x58\xf0\x7d\x0c\x0b\x22\x5e\xb2\x44\xc5\x0b\x7f\x0d\x06\x0b\x81\x63\x4f\xa5\x13\xce\x27\x79\x65\x22\x8b\x58\xc4\xe9\x72\xe8\x76\x4b\x50\xd7\x45\xd0\x18\x0b\x84\x68\xeb\x5f\x1d\x68\x9c\xf7\x2f\x2e\xcf\x06\x68\xc7\xe7\x1e\xda\x0a\xe5\xb0\xca\xf5\xa3\xad\x42\x72\x10\x99\xce\x4a\xbf\x85\xf2\xf4\x3d\x20\xab\x95\x3c\xff\x39\x0d\xa3\x78\x89\xb9\x48\xe4\x8b\xa1\x92\x90\x42\x65\x0e\x31\x19\x84\x04\xd8\x9b\x48\x84\xbe\xb6\xc4\x21\x6d\x56\x4b\x12\xdb\xca\x9c\xbe\x5a\xfa\x3c\xfc\x7e\x2e\x5b\xf0\x64\x03\x49\x34\x56\xba\x1f\xc5\xf7\x9f\x96\xb0\x84\xaf\xe2\xdc\x66\x45\x3f\x35\x76\xe9\x5f\x5e\x7e\xbd\x3b\xbb\xbd\xbb\x2d\x1d\x3e\x3d\x0e\xe3\x78\x97\xd6\x96\xbd\x63\x07\x50\xb7\xd7\x93\xb1\xb3\xe0\x25\x31\x54\x40\x49\xf7\x0b\xbd\xa5\xbe\xa2\xa6\x60\x9a\x26\x64\xb5\x62\xf5\xab\x3e\xa0\x88\x45\xf6\x1a\x02\xcd\x71\x51\x16\x78\xbd\x2c\x0f\xc8\xcd\x64\xbc\x46\x12\xa4\xc3\x8c\xbf\x55\x4c\x86\x1b\xaa\xaa\x5c\x11\x61\xa0\xf8\xf0\x06\x1e\xce\xbe\x2f\xf8\x16\x34\xe6\x61\x73\x89\x9a\xce\xae\xab\xc2\x66\xe5\xfb\x01\x72\xe0\x4e\x80\x15\x58\xd8\xf0\x8a\x58\x4e\xe2\xa2\xa8\x5e\x5f\xeb\x6f\x6c\x79\x0b\x61\x3e\x85\x84\x00\xde\x10\xcd\x12\x78\xe2\x10\xfe\x2b\xcb\xbb\xee\x66\x14\x9a\xa6\x46\xf6\x4a\xed\x22\x2f\x3d\xc4\x23\xa4\x85\x37\x89\xa1\x88\xd3\x07\x11\x6c\x7c\x95\xb2\x05\x2c\xb3\xe6\x54\x92\xc0\xff\xcd\xde\xbb\x6d\xc7\xad\x23\x89\x82\x0f\xf3\x30\x6f\xf3\x38\x2f\xf5\x30\x14\xba\x2b\x4d\x96\x90\x69\x92\x79\x63\x32\x4d\xab\x65\x59\xda\xdb\xed\x9b\x4a\x92\xed\xea\x4a\x69\xfb\x50\x99\x48\x89\x6d\x26\x99\x4d\x22\x75\xd9\x96\xaa\xd7\x9a\xbf\x38\x6b\xcd\x17\x9c\x7f\x98\x35\xff\x72\x7e\x60\x7e\x61\x56\x04\x00\xde\x33\x25\x79\xef\x7d\xd6\x3c\x1c\x57\xed\x14\x08\x06\x02\x81\x40\x20\x22\x00\x02\x81\x99\x26\x50\x83\x93\x37\x4d\x02\xce\x92\xc0\x97\x91\x0e\x6a\xde\x45\xbd\xd1\x71\xf4\x29\x9a\xfa\xab\x8b\x4b\xbe\xaf\x74\xc7\xd7\xa6\x3d\xfd\xa6\xe7\xb1\x3c\xbc\x8b\x2a\xa3\x85\xc1\xf9\x43\x5a\x8b\x18\xe2\x78\x47\xa1\xb8\x88\x98\xe1\x6a\x38\x80\x67\xc4\x90\x8a\x6d\xcb\x1c\xab\x93\x9d\xa5\x41\xda\x6a\xb1\x2d\x2f\xaf\x53\x9e\x55\x2c\x81\x74\xd8\xcd\x92\x4d\x39\x9b\xe1\xa6\x31\x19\xf2\x20\xdb\xb2\x42\x66\x2b\x5c\x93\x1a\x37\x9c\x00\x96\xe5\x05\x49\x72\x97\x54\xf9\xd5\xe1\xfe\x87\xd7\x6f\x3e\xfc\x84\x41\x28\x88\x3f\xe7\x2c\x51\x13\x05\xe8\x13\xa6\x76\xa9\x49\xea\x32\x15\xac\x91\xed\x60\x9b\x08\xbf\x05\xa6\x67\x6e\x33\xe1\xf0\x3e\x77\x43\xaa\x78\xd9\x36\xa1\x1a\xda\x2c\x97\x6c\x27\x46\x83\x06\xab\x28\xe3\x06\x80\x5c\x3b\xd3\x2d\x6b\x9d\x82\xde\x34\x4d\x2f\x7f\x6b\x64\x32\x54\x4a\xae\x5a\xd9\xb5\x06\x6a\xb7\x5d\xd6\xc2\x79\x53\xd4\x3c\x47\x2f\x34\x0f\x26\xbf\x7a\x41\x8b\xcb\x21\xb3\x4d\xa4\x50\x50\xc5\x2d\xa5\xf5\x73\x00\xc8\x29\x00\x2c\xd2\x93\xf8\x98\x4d\xe3\x68\x96\x7e\x2d\x53\xa6\xce\xf4\xa5\xab\xc5\xc2\x4f\x82\x5f\x99\x6e\xa8\x2f\xb3\x71\x84\xfc\x2d\xa8\xff\x82\x35\xaa\x73\x40\xae\x32\xb9\xd5\xbd\x91\x75\x56\x95\xd6\xea\xe8\x56\x6d\x9d\xa6\x91\xdf\xa2\xa3\x1a\x57\x45\x4a\x4e\x86\xc2\x51\x5a\xdb\xd0\xd5\xe9\x81\x1b\x30\xcd\xa9\x70\xb5\x6a\x2f\xf9\x4d\x61\xc1\xb5\x2e\xbc\x6a\xf8\x14\xc4\x37\x88\xb4\x0c\x0d\xc8\xae\x2e\x63\x6a\xed\xc8\xbf\x6e\x76\x66\x52\x9a\x49\xf3\x5e\x7e\x86\x16\x23\x89\x75\x0e\x77\x8f\x8f\xf7\x5f\xef\x54\x45\x5a\x05\xcc\x71\x59\xd6\x53\x2f\xfb\xa6\x3a\xef\x9f\xeb\xb9\xe3\x30\xbe\x16\xc3\x87\xc7\xf1\xb7\xc6\xee\x66\xb5\xbe\xae\xc8\x9b\xaa\x0c\xb4\x97\x18\x07\x46\x59\xaa\xb2\x83\x92\x85\x71\x23\x6c\x23\x88\x06\xc6\xa4\xf9\xde\xd8\x2c\xa3\xa8\x4b\x4a\xbc\xcc\xb6\x44\xad\x42\xae\x29\x55\x87\xa1\x4e\x8a\x43\x5d\x1c\x0b\xc9\x98\x51\xe6\xe4\xb8\x38\x32\x94\x65\xc7\xbc\x64\x15\x7d\x60\x37\x5c\x0c\xf6\x27\x08\xd7\x11\x6b\x10\xaf\xcc\x15\x2b\xd0\xff\x0e\xcf\xeb\x49\x58\x6d\x1e\x27\xd9\x6c\xa9\xb1\x01\xbc\x74\x1a\x4d\x52\x5c\xf8\x9c\x94\xe0\x09\x9c\xd2\x48\x97\x0b\xfc\x49\x76\x24\xad\xda\x19\x8f\x68\x56\x91\x0d\x4d\x91\x01\x90\x91\x77\x77\x5b\x55\x2f\x49\xee\x72\x2c\xf6\x5d\x7d\x0c\xeb\x46\x66\x87\x0a\x4e\xa1\x94\xcf\x8a\x3e\x7a\xe9\x55\xe1\xd6\x09\xc6\x7b\xff\x26\x58\xac\x16\x9a\x44\xa0\x4d\xe3\x55\xc4\xb5\x84\xf9\x60\xc3\xa9\xe6\x9f\xc7\x09\x0f\xa2\x0b\x21\xf1\xc9\x2a\xea\x28\x2b\xd3\x48\xa0\x58\x37\xaf\x34\x6f\x62\x9e\x51\xde\x60\xc2\x76\x9a\x0c\x1e\x08\xb9\x8b\x42\x8e\x3a\xa6\xd5\x2a\x4d\x46\x58\x61\x8a\x75\x77\xa7\xf3\xc2\xe8\x6c\x52\xe7\x98\xa7\x17\x0b\xe5\xb3\x2e\x8c\x0d\xc8\xae\x4b\x28\xf5\xaa\x4e\xcb\x74\x58\xf1\xbb\x50\x33\x23\x33\x47\x45\x13\x66\x5d\xc3\x79\xeb\xe3\x54\x94\x08\xfe\xb4\x96\xad\xf7\x99\xba\x2d\x36\x2a\xf3\x45\x1b\x27\x10\xb5\x25\x08\xf1\x42\x2c\x42\x70\xaa\x4a\xd5\xf4\xb7\x9c\x3a\x37\x58\xec\x5c\x9f\xf3\x6c\x86\xbd\x19\xac\x22\xe5\x32\xe6\xdb\x83\x9c\x6c\xd4\xfb\x92\xa9\x28\x86\xaa\xf6\xcd\xcc\x6d\x12\x8a\x27\x33\xbc\x2c\x9d\xc9\x2a\xd2\x9f\x6a\xb0\x8a\x84\x27\xab\xe8\x91\x36\xeb\x51\xba\xa6\x21\xfc\x9d\x74\x61\xc8\xd1\x2a\x8a\xa0\x5a\x69\x9e\x6a\xba\x46\xba\x80\x7a\x6a\x90\x9a\xf7\x21\xd9\x52\xf7\xc0\x6b\x61\x9a\x0a\x73\x5b\xe9\x6d\xd1\x1f\x32\x07\x45\xeb\xd9\xb0\xaa\xa5\xb3\xe7\x16\xeb\x1a\x1d\x1e\x1f\x04\x37\x6c\xa6\xdb\xc6\x36\x49\xc9\x23\xa6\x4e\xca\xc3\x6a\xd2\xc5\x15\x8d\x69\x34\x7c\xf6\xab\x80\xe4\x1f\xfd\x0a\x7d\x2e\xcc\xb7\x5b\xf5\x0b\x27\xec\xac\xe2\x43\x8f\x9b\x3b\xa2\xe6\x5f\x9c\x48\x41\xd1\x82\x48\xd9\x3b\xf7\x11\xdd\xa8\x5d\xb3\x84\x69\x51\xac\x94\x74\x95\x3b\x52\x2f\x34\x2e\x5b\xc9\x85\xa0\x6c\x89\x1d\x1d\x0d\x9e\x8f\x5f\xb5\xa6\xfa\xc8\xa5\x0c\xe9\xdb\x60\x5a\xce\x52\xc4\x8b\xc6\xd9\x90\x0c\xf3\xda\xb8\xcc\x94\x77\xa5\xc4\xe3\x91\x25\x8b\x66\x30\x69\x7a\xa8\x80\xe8\x17\x4f\xf6\xcf\x83\xe0\xc2\x7b\xf2\x88\x9c\xfb\x35\x83\x17\xe7\x8f\xf5\x55\x0f\xe1\x5a\x79\x6c\x4d\x5b\x8a\x85\x8b\x1f\x04\x65\xdc\x80\xfa\x3a\x2c\x79\xc4\x2c\x36\x93\x8c\xa4\x61\xda\x06\x93\xb4\xdc\xd1\x2b\x82\x89\xdc\x07\x99\xde\xa4\x62\xd6\x0d\x79\xac\x39\x91\xdf\x5b\x8d\xa2\x20\x6c\x95\x24\x41\xae\x1b\xc8\x60\xc0\x5f\xc1\x88\xa3\xe2\x2b\x2d\x1d\xce\x82\x99\x10\x65\x61\x20\x7c\xed\xca\x0f\x57\x4c\xf3\xa3\x59\xe1\x15\x46\xd1\xd4\x16\x71\xc2\x30\xb4\x70\xe6\x98\x34\xcc\x3c\xf3\xb9\xe6\x9a\x71\x51\x3e\x91\xc5\xa6\xbc\x28\xa2\xf5\xae\x6e\x16\xe4\x75\x3d\x5f\x9a\xc3\xca\x76\xd7\xf8\xaa\x18\x52\x1f\x47\x25\xf6\xe5\x27\x62\x8b\xfc\x82\xc2\x33\x2d\x5e\xf1\xdf\x8b\x09\x92\xbb\x40\x6d\xc3\xf2\x9e\x24\xb5\xd5\x2a\x47\x5b\x2e\xbe\x53\xd6\x5f\xb5\xaa\x61\x8a\x2a\x5f\x15\x8d\x4a\x7d\xa1\xb0\x46\x59\xa9\x61\xf5\x4f\x36\x6b\x19\xf7\xa4\xe5\x01\x89\xa0\x20\xda\x60\x58\xaa\x33\x62\x35\xfd\x6e\x04\xca\x67\x36\xd9\xb9\xc4\x2c\xec\xb4\x54\xde\x2f\xec\xbb\xbb\xe2\xc9\xc2\x07\xd5\x86\xa8\xf0\x41\x16\xf9\x49\xe2\xdf\xee\xff\xb5\x81\x3b\x5b\x0c\x26\x1f\x6a\x5d\x8b\xb5\x5a\x5b\x1c\xe3\xf5\x48\x82\xb6\x3c\x5e\x9e\x8a\x6c\x59\xe3\x35\x1b\x43\xb6\xb7\x13\x03\x4a\x4e\x92\xb3\x2d\x8c\x7b\x99\x97\x50\xab\x66\x0f\xd3\x99\xa6\x2c\xe1\xfb\x7f\xad\x19\xa5\xec\xeb\x70\x20\x77\x91\x13\x71\x8c\xb9\x10\x9d\x5b\x4d\x67\x98\x0c\xd0\x9e\x07\x7c\x2f\xc4\xd6\x5e\x77\xae\xbb\xba\x19\xc8\xb8\x2f\x1c\xdb\x94\x13\x28\x6b\x07\x50\x6c\xf3\xc2\x77\x07\xb7\xf8\x80\xab\x0a\x5b\x9e\xc7\x5b\xad\xad\x86\x10\xad\xd2\xac\xab\xae\xc0\x1e\x30\xb2\x53\x83\x3b\x64\x42\xb6\x93\x6d\x72\x46\x5c\x42\xc6\x99\xe3\xa0\x13\xc5\x12\xb2\x1d\xcb\x89\xec\xa5\x3c\x73\xe9\x87\x21\x4b\xde\xc5\x53\x94\xde\xaf\xba\x25\xb6\x4f\x6c\x03\x87\xb6\x89\xb6\xe5\x79\xf8\xc0\x8d\xfa\xb7\x8e\x35\x7c\x6f\x90\x0e\x73\xcb\xf3\xb2\x60\xd5\x7c\x27\xfb\x2c\xd5\x48\x24\x36\xe0\x31\x24\x66\x5d\xf3\x08\xd2\xea\x68\x1a\x96\x9d\x9a\xc2\xab\x27\x6a\x47\x67\x52\x0f\xb1\x3e\x61\xdb\xf6\x59\x07\x97\xa5\xf5\xe7\xfa\xe4\x97\xe7\x67\xdb\xee\xe9\x6c\xdb\x80\x9f\x53\x63\xe7\x9f\x9f\xe7\xbd\xbf\xc3\x27\xd6\x99\x4b\x76\x76\x76\xc8\xc3\xc4\x4a\x1d\xdc\xfc\xfd\x03\x74\x41\xe6\x8e\x3f\x42\xaf\x01\x6b\x4b\x98\xaa\xda\x42\x4a\x94\x52\xfc\xec\x61\x45\x5f\x5f\xe5\xab\x37\xc1\x4f\xd3\x9a\x29\x6a\x40\x29\xdc\x23\x85\xf2\xd3\xc9\x81\xf3\x1a\x2f\xa3\x48\x6a\x85\xcf\x6f\x39\x4b\xdf\xb1\x39\xcf\xb7\x1a\xcd\xd8\x61\x1c\x44\x59\x46\x18\x5f\xb3\xe4\x55\xbc\x8a\x66\x9e\x59\xc1\x56\x0a\xaa\x06\x39\x6b\xbe\x77\x10\x42\x1b\x36\xaa\xc9\x65\x75\x3c\xab\x9f\xec\xc5\x33\xb6\xcb\xf5\x04\x17\x4d\x4c\x69\x0b\x32\xe2\x8c\xe0\x85\x67\xd9\xc3\x1d\xbe\x2d\xc1\x11\xd4\xb5\x46\xf6\x0b\x2f\x68\xb5\x82\x17\x9e\x6d\x77\x77\xf4\x4a\x03\x82\xb6\x35\xb2\x69\xa5\x99\x56\xad\x55\x96\xed\x18\xae\x6d\xf7\x32\x54\xdd\x51\x03\x2a\xdb\xee\x55\x51\xd9\x35\x54\xb6\xd9\x03\x5c\x3d\x33\xc3\xd5\x1b\x36\xe1\xea\x99\x55\x5c\xdd\x1a\xae\x41\xbf\xdf\x1d\x00\x32\x27\x43\xd6\xb7\x1a\x91\x39\x55\x64\xbd\x06\xc2\x46\x43\xab\x6f\x1b\xae\xdd\xcf\x59\xd6\x6f\x62\x99\xdd\xaf\xb1\xac\x5f\xa7\x6d\x68\x99\x8e\x33\xe8\x19\x2e\xdf\xf6\xc8\xff\xfb\xff\xfc\xdf\x24\x8b\xbb\x6d\xd9\x19\xbd\xd6\xc8\xca\x8d\x7c\x86\xae\xdd\xae\x0a\x5a\x85\x88\x17\x2f\x06\xc6\xb6\x1e\xb4\xa1\x5f\x68\x5d\x14\x8a\x91\x0e\xb3\x32\xea\x18\x50\x4e\xe3\xdd\x5d\xbf\x6f\x8f\x06\x2f\xbc\xb8\xd5\x8a\x5f\x78\xfd\x61\xb7\xd7\xbd\xbb\x8b\x5f\x5a\x96\xd5\xb3\x2c\x6b\x47\x11\xee\xc6\x2f\x90\xd3\x90\x21\x54\x5f\x67\x9e\xc4\x8b\x3d\x29\x93\x7a\x6c\xb8\x7a\xdc\x16\xbd\x41\xd7\xc0\x60\x4d\xdb\x7a\xfc\xf2\xe5\x4b\xcb\x6c\x59\xa6\xdd\x35\x68\x7f\xd0\xb5\xcd\x6d\x1d\x1e\x5a\xb1\x61\xc8\xa3\xf6\x9a\xaa\xb6\xca\x63\x93\x26\xed\x76\xe9\x66\x18\x79\x7d\xcc\xc9\x81\xd3\x34\xc5\x16\x0e\x48\x61\x2c\x1a\xb2\x80\x54\x5e\xf2\x2e\xa3\x6a\xe9\x1f\x1f\x93\xd8\x1e\xd5\xb3\xc8\x4d\x23\x40\xae\x74\xb3\xae\x97\x0c\x97\x20\x83\xae\x35\xc2\xaf\xb4\xdb\x56\x56\x47\xb6\xf3\xbb\x84\x7f\xdb\x32\xc6\x12\x7d\xa1\xb3\x76\x74\x81\x7f\xb0\xad\x0b\x2e\x06\xc6\x8b\x17\x96\x69\x64\x3c\xa5\x40\xb0\x2b\x89\x90\xdf\x75\x25\x45\x18\xd0\x00\xa8\x16\x7a\xc3\x28\xeb\x8d\x71\x16\x35\x0e\x46\x81\x89\x43\xb4\xb9\x63\xad\x91\x7d\x17\xbc\x7c\xf9\x72\x60\xd0\xd4\xb3\x0c\x37\x78\x81\x15\xf4\xd7\x16\xb0\xed\x1e\x16\xb0\x6c\x28\x61\x1b\xee\x5a\xc0\x9e\x29\x00\x1d\x00\xec\x1a\xe3\xf4\xa5\x39\x36\x52\x18\x1c\x6b\x48\xb1\x1d\x41\xca\x5f\xd2\xd6\xa0\x5b\xbe\x44\xe8\x7a\x2a\xee\x0f\xbb\x9e\x76\xa2\x55\xf8\x25\x98\xf1\x4b\xcf\x14\xcf\xd3\x38\xe2\x49\x5c\xce\x4b\xd8\x85\x9f\xcc\xf6\xfe\xfd\xdb\xee\xe2\x3c\xb8\x58\xc5\xab\xd4\xdb\xb2\x24\x78\x21\x53\x94\xb1\x15\x9e\xc5\x79\x10\xc1\xc4\x77\x32\x19\x0e\x1c\xea\x0c\x47\x67\x74\x62\x59\xfd\x3e\xb5\xac\xbe\x83\xe9\x81\x49\x2d\x6b\x60\x41\xba\x67\xf7\xa9\xd5\x1b\x20\x4c\x6f\x68\x51\xf8\x11\xe9\x2e\xa4\x7b\x22\x3d\x80\xf4\x50\xa4\x47\x90\x46\x78\x18\x68\x56\xbf\x2b\xd2\x7d\x9b\x5a\xfd\x3e\xc2\x0c\x2c\x8b\x5a\x83\xae\x89\xe9\x9e\x43\xe1\x07\xd2\xc3\xbe\x49\xad\xe1\x00\x71\x0e\x07\x43\x48\x8b\xfc\x21\xe4\x0f\xbb\x90\x76\xcc\x21\x85\x1f\x91\x1e\x41\x1a\xf1\x3b\x3d\x93\x5a\xce\x60\x00\xe9\x51\xdf\xa1\xd6\x08\xcb\xda\xa6\x3d\xa4\xb6\xd9\xed\x43\xba\x6b\xf6\xa9\xdd\x35\x07\x98\x1e\xf4\x28\xfc\x88\xf4\x88\xda\xdd\xa1\xc8\x77\x2c\x0a\x3f\x22\x0d\xf0\x0e\xe2\xe9\x99\x36\xb5\x7b\x66\x17\xd3\xdd\x2e\x85\x1f\x4c\x8f\x20\x7f\x64\x8b\xf4\x90\xda\x7d\x13\xda\x65\xf7\xcd\x11\xa4\x47\x98\xee\x9a\xd4\xee\x77\x11\x67\x7f\x60\x51\xbb\x3f\x40\xf8\x81\x6d\x52\xf8\x11\xe9\x3e\xa4\x91\x86\x41\xd7\xa2\xf6\xa0\x2b\x60\xba\x90\xdf\x1d\x62\x7a\x68\x53\x7b\x80\x7c\xb0\x07\xce\x88\xda\x83\x11\x96\x1d\xf6\x1c\x0a\x3f\x98\xee\x77\xa9\x3d\x44\x3e\xdb\xc3\xfe\x88\xda\xc3\x81\x80\x19\xf4\x21\x8d\x7c\x18\x3a\x03\x6a\x0f\x1d\x84\x71\xac\x21\x85\x1f\x4c\x0f\x07\x14\x7e\x44\x7a\x04\x69\xa4\xdf\x01\x9e\x38\x0e\xd6\xeb\x8c\xba\x14\x7e\x20\x3d\x02\x9e\x8c\x4c\xa4\x73\xd4\x1b\x50\xf8\x39\xa3\x93\xae\x69\x3a\x14\x7e\x30\x6d\x5b\x14\x7e\x20\x6d\x75\x7b\xb4\x6b\x75\x11\xc6\xea\xd9\xb4\x6b\xf5\x7a\x22\x3d\x80\xf4\x08\xd3\xfd\x21\xed\x0a\x39\xec\xda\x03\x93\xc2\x8f\x48\x77\x21\xdd\xc5\xf4\x10\xf2\x87\x22\x7f\x38\x80\xf4\x10\xd3\x23\x87\x76\xed\x11\xe2\xe9\x8e\xba\xb4\xdb\x1d\x41\x7b\xbb\x3d\xb3\x4f\xe1\x07\xd2\xd0\x17\xf0\x23\xd2\x0e\xed\xf6\x7b\x22\x0d\xf4\xf4\x7b\xd0\x96\xee\xa0\xdb\xa5\xf0\x23\xd2\x03\xda\x1d\xc8\xfc\x7e\x9f\x76\x07\xd8\x77\xdd\xe1\xc0\xa2\xf0\x23\xd2\x3d\x48\x63\xbd\xc3\x21\xe4\x0f\x05\x8c\x03\xf9\x0e\xe6\x3b\x00\xe3\x20\xff\xbb\xc0\xc3\xae\xe0\x61\xd7\x19\xf5\x21\x2d\xf3\x87\x90\xc6\xb6\x8c\xfa\x5d\xda\x1d\xa1\x3c\x77\x47\x03\x87\x76\x47\x02\xe7\x68\xd8\x83\x34\xc2\x8f\x00\xff\x68\x84\x34\x8c\x46\x5d\xda\x33\x6d\xe0\x5b\xcf\xec\x3a\x14\x7e\x20\x6d\xf5\x2c\xda\x13\x7c\xee\x01\x9f\xe1\x07\xd3\x7d\x93\xf6\xac\xbe\x25\xd2\x5d\x48\x77\x31\xed\xf4\x68\xcf\x72\x00\x7f\xaf\xd7\x73\x68\x6f\x80\x63\xad\x37\xea\x8f\x28\xfc\x9c\xd1\x49\x7f\x64\x0e\x68\x7f\x84\xfd\xdb\x1f\x75\x1d\xda\x1f\x21\x0f\xfb\xa3\xa1\x49\xfb\x23\xd4\x0f\x03\xd3\xb4\xe9\xc0\xc4\xf1\x32\x30\x07\x0e\x1d\x98\xc8\x9f\x81\x39\xb4\xe8\xc0\xc4\xfe\x1a\x98\xce\x80\xc2\x8f\x48\x8f\xe8\xc0\xc4\xbe\x1b\x58\xe6\x88\xc2\x0f\xa6\xfb\x7d\x3a\xb0\x50\x9e\x07\x5d\xab\x4b\xe1\x07\xd2\xbd\xae\x4d\x07\xbd\x6e\x4f\xa4\x47\x74\xd0\x43\x1a\x06\xbd\xbe\x49\xe1\x47\xa4\x87\x90\x46\x3c\x83\xe1\x88\x0e\x06\x0e\xe6\x8f\x2c\x9b\x0e\x46\x56\x1f\xd3\x83\x1e\x85\x1f\x91\x1e\xd0\xc1\x68\x28\x60\x86\x00\x83\x3c\x1f\x8c\x86\x0e\xa4\xa1\xbd\x43\xd3\x1a\xd1\xa1\x69\x03\x3d\xc3\x81\x35\xa0\x43\x31\x66\x87\x83\xa1\x43\x87\x03\x1c\x2f\x8e\x6d\x76\xa9\x63\x23\xdf\x1c\xbb\xdb\xa3\x8e\x8d\x7d\xe1\xd8\x8e\x43\x1d\x1b\xfb\xcb\x01\x59\x75\xba\xc8\x1f\xa7\x67\x9a\xd4\xe9\xa1\x7e\xb0\xec\x6e\xd7\xa4\xf0\xdb\xc7\xa7\x5e\xcf\xa2\xf0\x0b\x74\xf4\xba\xa6\xd5\xa3\xf8\x2b\x9f\x46\xf8\x34\x12\x4f\xbd\x3e\x3c\x61\xef\x0e\x7a\x36\xb0\x16\x7e\xe1\xa9\x6f\xda\x3d\x3a\xe8\x9b\xa8\x89\x07\x7d\xb3\x3f\x80\x27\xc1\x97\xbe\x0d\x8c\x81\x5f\x7c\xea\xdb\x23\x0c\xac\x8a\x7d\xe8\x98\xa3\x21\x85\x5f\x7c\xe7\x58\xa6\x45\xe1\xd7\x96\x4f\x0e\x3c\x59\x02\xd2\xea\xdb\xf0\xd4\xef\xc9\xa7\x11\x3e\x09\xcb\x32\xb2\x7a\x5d\x8a\x7f\xfa\xf2\x19\x6d\xcd\xc8\x42\x4e\x63\x42\xbc\x97\x96\x68\x64\x5b\x60\x7f\x46\x36\xf6\xb4\x65\x8d\xba\x03\x9b\xe2\x1f\xc0\x3e\x02\x33\xd1\xa7\xe2\x8f\x7c\xee\x0e\xe0\x79\x80\x54\x8f\xac\xe1\x70\x60\xc2\xf3\x68\x34\x3a\x3b\x13\x46\xcf\xcf\xec\xe3\x04\xcc\x0f\x95\xc6\x6d\xd0\x03\xdb\x83\xa9\x21\xb5\xa4\xb1\x01\x5b\x83\x84\x0d\x7b\xd4\x1a\x4a\x63\x04\x76\x06\xcd\x8c\x0d\x56\x06\x53\x60\x63\x10\xcb\x08\x52\xc2\xd8\x38\xd4\xc6\x61\x61\x5b\x7d\x6a\x5b\xa8\x48\x6d\x9b\xda\xb6\x34\x3f\x60\x7d\x30\x65\x53\xbb\x2b\x4d\x0f\x58\x1e\x61\x60\xc0\xbe\x60\x0a\x2c\x8a\x30\x2e\x68\x4f\xd0\x6c\xd8\xd4\xee\xa3\xa2\xed\xf7\xa8\x8d\x6c\xb6\xfb\xf0\x56\x28\x7a\xd0\xf9\x5d\xa1\xf2\x41\xfb\xa3\xa2\x06\x3d\x2d\xd4\x74\x8f\xda\xa8\x60\xec\xd1\x88\x4a\xf5\x08\x1a\x11\x05\xb4\x6b\x81\x1e\x46\xd5\x62\x8d\x68\xd7\xc6\x94\xdd\xa3\x5d\x1b\x55\xb3\xed\xd0\x2e\xb2\xb5\x0b\x3a\x51\xa8\x44\xd0\x9a\x28\x4a\xdd\x3e\xe8\xcf\x91\x50\x93\xa0\x31\x41\x10\x07\x36\xed\xa1\x8a\xec\x0d\x7a\xb4\x87\xdc\xed\x0d\x06\xb4\x87\xaa\xac\x37\x00\x8d\x82\x8a\x69\x68\xd2\x1e\xf2\xb9\x37\xb4\x69\x0f\x07\x5a\x6f\xd8\xa3\xc2\xa5\x00\x8f\xa2\x87\x86\xa8\x3f\xea\xd2\xfe\x48\xa8\x11\xd4\x10\x38\x08\x1d\x3a\x44\x3e\x0f\x2d\x8b\x0e\x51\x04\x87\x56\x97\x0e\x71\x48\x0f\xad\x21\x1d\xa2\x41\x1b\xda\x26\x1d\xa2\x79\x1d\xda\x0e\x1d\x62\x3b\x86\xdd\x2e\x1d\x62\x3b\x86\xdd\x3e\x1d\x76\x85\x08\x75\xe9\xc8\x06\xcc\xa3\xae\x45\x47\xd8\x1f\xa3\x5e\x9f\x8e\x50\x4a\x46\x83\x2e\x1d\x09\x07\xc8\x04\x67\xc8\xc4\xde\xb4\x4c\x70\x38\x2c\x53\x88\xa8\x09\x02\x8d\xe2\xe8\x80\x10\x38\x42\x0a\x1c\xdb\xb2\xa8\x63\xe3\x70\x75\x6c\x6b\x00\x69\xa1\x14\x6c\x93\x3a\xb6\x2d\x14\x81\x0d\x0a\x02\x95\x88\x63\xdb\x50\xb6\x2b\xf2\x7b\x00\x83\x12\xe1\x80\x48\x38\x42\x26\x1c\xbb\xd7\x87\xb4\xa8\xab\x0f\xf8\xfb\x02\xbe\x0f\x78\x50\x32\x9c\xae\x89\xca\x05\x69\x80\x6e\x85\x1f\x4c\xdb\x16\x75\x44\xcf\x3a\xe0\x00\x39\x62\x48\x39\x3d\xc0\xd3\x13\x78\x7a\xfd\x2e\xa4\x85\x62\xea\x0f\x21\x8d\x34\xf7\x06\x90\x1e\x88\xf4\x10\x14\x16\xf6\x9e\xd3\x73\xa0\xac\x63\x8b\xf4\x00\xd2\xd8\x96\xde\x08\xf2\x85\xb2\xeb\x77\x2d\xea\xf4\xd1\xa1\x71\xfa\xdd\x11\x75\x84\xa1\x75\xfa\xbd\x1e\x75\xfa\x7d\x6c\x4b\x7f\x60\x52\xa7\x8f\x7c\x76\xfa\x23\x9b\x3a\x03\x13\xcb\x0e\xba\x90\xc6\x1e\x73\x06\x7d\x87\xc2\x0f\xa6\x01\x7e\x80\xce\x81\x03\xca\xdd\x91\xca\x77\x68\xf6\x28\xfc\x88\xf4\x00\xd2\x48\x33\x88\x8a\x33\x44\x49\x77\x86\x56\x1f\xd2\x7d\x91\x1e\x41\x5a\x94\x05\xfe\x0c\x45\xbf\x0c\x6d\x80\xb1\x05\x4c\xd7\xa4\xf0\x23\xd2\x5d\x48\x0f\x44\x1a\xca\x76\x45\xd9\x1e\x94\xed\x89\xb2\x3d\x80\x41\x87\xcc\x01\xa7\x16\x7e\x44\x1a\xe8\xe9\x0b\x78\xe0\xbf\x70\xc8\x9c\xe1\x10\xf2\x87\x02\xa7\x03\xf0\x8e\x80\x07\x7e\x0e\x05\x3f\x1d\x30\x12\x8e\xe0\x89\x03\x6d\x14\x4e\xb0\xe3\x58\x90\x6f\x89\x7c\x0b\xf2\x45\xbb\x1c\x30\x3c\x4e\x57\xa6\x1d\x48\x63\xbd\x0e\xf4\xaf\x23\xfa\xd7\x81\xfe\x75\x44\xff\x3a\x83\x11\x85\x1f\x4c\x8f\xfa\xd4\x11\x4e\x89\x03\xc6\xcf\x11\xc6\x6f\x04\xca\x62\xd4\x43\x47\x6d\x04\x32\x33\xea\xf7\x70\xac\x80\x73\x3f\xea\xa3\x43\x39\x1a\x98\x26\x0c\x1c\x1c\x57\x03\xcb\xa1\xa3\x81\x2d\x47\x91\x4d\x47\xa2\x1f\x47\xe0\xd4\x8e\x06\x3d\x91\xdf\x07\xf8\xbe\x4c\xf7\x20\x2d\xca\x82\x12\x1f\xc8\x11\x38\x80\xfc\x81\xc8\x1f\x42\x3e\xea\x8b\xd1\x60\x08\x78\x86\x32\x1f\xea\x72\x04\xfc\xc8\xa1\xa3\x21\xf2\x6a\x04\xfd\x3e\x12\x3a\x62\x04\x7d\x37\x1a\xa2\xe6\x1d\x0d\xbb\x43\x48\x23\xcd\xc3\x9e\x4d\x47\x43\x1c\x5f\x23\x70\xa6\x47\x43\xd1\x46\xe8\x2f\xf8\x11\x69\xc8\x47\xd9\x1b\x0d\x47\x00\x8f\x4e\xff\x68\x38\xea\x41\x1a\x71\x3a\x76\x8f\x8e\x1c\x94\x99\x91\x63\x0f\x21\x8d\x78\x1c\x50\x2b\x8e\xa8\xd7\x01\x63\xe5\x88\x7a\x9d\xee\x08\xd2\x42\xb7\x80\x01\xc7\x5f\x7c\xb2\x4c\x9b\x5a\xa6\x30\xaf\x30\x8b\xee\xd1\x41\x57\x50\x88\x13\x63\x34\xd2\x5d\x81\x03\x35\x91\xd9\x73\xfa\x62\x86\x84\xa9\x01\xc5\xe5\x11\x33\xb3\x80\x41\x7a\x5c\xbb\x73\x55\x5d\xa2\x69\x62\xdc\xf4\xe2\xdc\xb0\x70\xd4\x7b\xae\xb3\x17\xe5\x97\x13\xf3\x6c\x62\x9e\xdd\xdd\xb1\x97\x95\xfc\xf8\x6c\x62\x9d\x95\xbf\x60\x8c\xe3\x97\x5e\x32\xc6\x80\x7f\x5e\xe1\x8a\x4a\x3d\xd9\x8e\x8d\xe7\xb6\x41\x6b\x38\xb8\xc0\xe1\xf1\x6d\x2b\xdb\x6d\xb7\x55\x27\x01\x2f\x8c\x28\x6c\x14\x8e\x3d\xde\xb6\xee\x55\xd5\xf7\xaa\xcd\xa5\xa9\xf1\xc6\xa6\x67\x1e\x42\x53\xd3\xb3\x97\x95\xa6\xe7\xf9\x3f\xde\xf4\x1c\xc7\xc6\xa6\x97\xc0\x1e\x6e\xfa\xf4\xd2\x4f\xc4\xb4\xbf\xe1\x33\xcc\x9a\xb5\x83\x9d\x72\xc9\x23\x04\xc8\xde\xea\xcc\x70\xcb\x00\xaf\x83\x34\xa9\xc1\x54\xeb\xaf\x03\x35\x51\x64\x7a\x9e\xc7\x76\x4a\xeb\x1e\x2e\x7b\xd1\xb5\x81\xd3\x9e\x65\x0f\x5b\x2d\xf6\xc2\x1a\x98\x3b\xb5\x95\x10\x97\xbd\xb0\xec\xe1\x8e\xe5\x16\x85\x5c\x67\xc6\x8e\xe9\x5a\xdb\x3a\x7b\xe9\xf5\xba\x7d\xbb\xd5\xd2\xd9\x0b\xaf\xd7\xeb\x0d\xef\xee\x46\xa6\x69\x79\x1e\xc3\x84\x8d\x09\xa8\xc1\x1a\x99\x3d\xa8\xc3\xeb\xd9\xd6\xc8\x6a\xb5\x2c\xbb\xdb\xb7\xb6\xe4\xdb\x5e\xcf\xec\xda\xf8\xb6\xdf\xb7\xcd\x2e\xe6\xc1\x60\x14\x25\x06\x3d\xbb\xdf\x17\x79\x7d\xb3\x67\x8a\xbc\xbe\xd9\x1b\xa9\xbc\xa1\x2d\xf3\xac\xae\x82\xb3\x1d\x05\xd7\x1d\x0e\x64\x5e\x5f\x52\x30\xe8\xf7\x2d\x53\x50\xd5\xb5\x54\x61\x0b\xd4\xa1\x28\x8d\x49\x07\x73\xed\x81\x6d\xf5\xe4\x57\xe5\x0d\x3d\xb7\x56\x04\xca\xe3\x03\xb8\xd6\xbc\x74\xf4\x84\x7e\x4f\x79\x83\xd8\x65\x6b\x95\x72\xc0\x99\xe3\x38\x5f\xac\x34\x64\xd0\x52\x96\xaf\x01\xef\x72\x19\xa3\x47\xe7\x5e\xb9\x6a\x3d\x35\x8c\x17\xea\x92\xe8\xb6\x35\x4e\xb6\x3d\x4e\xe3\x6d\x2f\x55\xcb\x79\x96\x6b\xdf\x17\x23\xd8\x03\x49\x18\xdc\x72\xdd\x85\x16\x34\xc2\xc1\x1a\x7b\x26\x8d\x4a\x84\xb5\x5a\x5b\xba\x1e\x6d\x57\x09\x28\x2d\x78\xc6\x86\x61\xbc\xe4\x06\x46\xa8\x1a\x67\x01\x11\xb7\xbc\x44\xb4\x39\xf5\x62\x44\x9a\x16\x90\x46\x2f\xbc\x64\xfc\x00\xda\xd4\x30\x68\x0a\x28\xd5\x19\xfb\x97\x49\xab\x95\xb6\xdb\x54\x5d\x44\x1d\x44\x17\xe2\xc6\xd6\xec\xa6\xc2\xec\x16\xa5\x52\xa3\x4b\xdb\x5b\xca\xb7\x7a\x17\xa0\xc4\x9b\xb6\x08\x7c\x56\x0c\x7d\x89\xf7\x48\xcf\x62\xfe\x5c\x04\x55\x0e\xe3\x8b\xe7\x57\x2c\x49\x83\x38\x22\x94\x70\x76\xc3\x9f\x2f\x43\x3f\x80\x07\xab\x63\x0d\xf0\xec\xd2\x03\xc5\x67\x3e\x67\xd5\xb2\xb6\x69\x0d\xdb\xa6\xd3\x56\x18\xf8\x8c\x2d\xc5\x0d\xd6\x32\x9c\x02\x29\x46\xdb\xe8\x88\x3d\x73\x27\xb7\x4b\xb9\x19\x2a\xee\xfc\x1a\xc7\x8b\x2f\x7e\x02\x76\x41\x6d\x1c\x21\x7f\xff\xf8\xf1\xbd\xb6\xe5\x69\x96\x69\xfe\x99\xd0\x58\xc5\x00\x8d\x97\xb7\x19\xc8\x7f\xff\xbf\xfe\x4f\x78\x33\x63\xe9\x37\x1e\x2f\x3f\x00\x40\x20\xbe\x7d\x9e\x04\x3c\x04\x80\xff\xfa\xdf\xb4\x3f\xeb\x1c\x1e\x0c\xed\xbf\xff\xd7\xff\x06\xd0\x9c\xa5\xfc\x35\x5b\xa6\xde\x84\x5c\x72\x96\x2c\x3a\xc7\xd3\x24\x0e\xc3\xc3\x38\x11\x3b\x06\x52\x42\xf3\x17\x8c\x45\x95\xcc\x13\x96\x2c\x82\xc8\x0f\x2b\xd9\x9f\x4f\xea\x19\x7b\x7e\x14\xb1\x99\xc8\x3e\x43\xce\x5e\x04\x29\x67\xc9\x9b\x28\xe0\xba\x00\x23\x74\xdd\xd1\x6e\xe3\x7b\x89\x51\x1c\xc3\x60\xd2\x6a\xb4\x9a\x58\x05\x9c\x96\x8c\xbe\xbb\xd3\x9b\xef\x90\x97\xd1\x27\xaa\xcf\x18\xcd\x76\xa7\x8a\x45\x6e\x81\x2d\x47\xe4\xd3\x1b\x4a\x1a\xee\x03\x45\x31\xae\x93\xda\x50\xbe\x85\x06\xf9\xc9\x77\xdc\xbf\xf7\xa3\x60\xce\x52\xae\xd4\xcc\x7a\x08\xdd\x18\x27\x5e\xda\xf1\x97\xcb\x56\x0b\xff\x74\xce\xfd\xe9\xb7\x8b\x24\x5e\x45\xb3\xfb\x64\x67\x4d\xec\x19\x11\xf4\x95\x2c\xe3\xe5\x6a\x49\xee\x0d\x6a\x1a\x6e\x33\x8d\xdc\x3f\x4f\x77\x0a\x69\xfc\xe4\x2e\x36\xb9\xe6\x5b\x25\x60\x7c\xb6\x5a\x25\x04\xaa\x8c\xc8\x14\x71\xa4\x13\xf9\xf4\x66\x26\xc2\x19\x73\xc3\xd5\x4b\x1d\x4e\xa2\x38\x59\xf8\x21\xa9\x76\xb9\x71\x5f\x3e\xb4\x52\x6f\x88\x2c\x88\x2d\xb9\x37\x68\x8c\x64\x86\x01\x8b\xf8\x71\x69\x3f\x67\xf1\x9a\xd4\x0b\xc6\xf1\x4b\x5d\x10\x5d\x08\xd0\x23\x36\xc5\x10\xdc\x85\xd2\x6b\x9d\x91\xb5\xc5\x3b\xd7\x50\xa4\x84\xe4\x67\x16\x5c\x5c\x36\x1e\xbf\x5e\x8f\xe5\x12\xcb\x00\x9a\x69\xbc\x94\x37\xe9\xc2\x18\x8f\xf7\xc2\x60\x79\x1e\xfb\xa5\x8b\x3d\xc5\x4e\x07\xd6\x61\x37\x6c\xba\x17\x2f\x16\x7e\x34\xd3\x09\x94\x23\xc5\x40\x4b\x80\x6c\xe9\xa7\x9c\x1d\x24\xf1\x62\x3d\x9a\x8c\xb4\x12\x36\x2c\x48\x6a\x9b\xb1\xf1\x28\x96\xd2\x53\x0d\x01\xb3\x70\xb3\x88\xf7\x52\x59\x18\x8f\xed\x30\x97\x8f\xf3\xc7\x56\x0b\x7a\x71\x0b\x3d\x1a\x9d\x79\xdf\xef\xd5\xb8\xf9\x7e\x1e\xcf\x6e\x5d\xd6\x81\x3f\x34\x98\xc6\x91\xcb\x75\xd6\x81\x44\x73\xa4\x5d\xa9\x5b\x9e\x07\x0b\xff\x82\xa5\xcf\x01\xb0\x3d\x1a\x10\xf0\x32\x52\x0f\x8a\xa2\x42\x54\x5b\x97\x67\xf1\x14\x37\x4b\x88\x5c\x43\x86\xdd\x96\xea\xc9\xc0\xb8\xcf\x73\x75\x8d\xee\x67\x3f\x49\xf5\xf5\x0a\x97\x7e\x47\x1c\x6e\x7a\xaf\x2e\x6a\x02\x6d\x50\x04\xd3\x53\x9a\x14\xae\x67\x8a\xa3\x69\x18\x4c\xbf\x15\x77\x42\x48\xaa\xe6\xf1\x74\x95\x66\x57\x34\x85\x31\x5e\xd6\x4b\x23\x60\x70\x45\x8a\xb3\x23\x2f\x28\x6c\x6a\xe3\x99\x90\x19\x8f\xab\x02\xe5\x3b\x3e\x7e\x23\x86\x69\x18\x47\xac\xe1\xf4\x3f\xb4\x56\x00\xeb\x39\xbe\x22\x36\xa3\x01\x19\x0c\xe6\xb8\xbe\x11\x46\xd2\x52\xc7\xe1\xb1\xc2\x80\xa8\xe0\x62\xff\xb1\xf2\xc3\x46\x6f\xb1\x80\x53\x21\x95\xbb\x62\x24\xd6\x4d\x68\x37\x6c\xb4\x9d\x48\x53\x19\xfc\x9a\x6f\xa8\x45\xec\xf2\x98\x63\x5e\xc3\x36\x39\x23\x80\xfb\x28\xbe\xde\x8b\xc3\xe6\xdd\xd4\x49\x7c\xad\xd8\x3f\x8d\xc3\xd5\x22\x52\x5b\xa9\xe3\x2b\x96\xcc\xc3\xf8\xda\xdb\xda\x4a\x72\x24\xc5\x6d\xf0\xf1\x55\xfd\x1e\xc6\xdf\x88\x73\x73\x37\x0b\x70\x5d\xd5\x51\xac\xa1\x8c\xdf\x68\x44\xbe\xa6\xdb\x91\xda\x2a\x3e\xf4\xac\xeb\x88\x3d\x96\x25\x1b\xab\x78\x40\x1a\xa0\x2a\x51\x97\x94\x04\x59\x59\x56\x9b\x8a\x19\xa8\xaa\x7b\xa8\xbe\x87\xc5\x44\x14\xc9\xb7\x54\xc7\xd7\x05\x31\x11\x95\x16\x32\x54\x65\x42\x72\x4a\x7e\xe5\x9c\x80\x61\x3b\x48\xfc\xc5\x9a\x5e\xe7\xd2\x4d\xcb\xa2\x7d\xcf\x82\xab\xaf\x1e\xc3\x3f\x22\x63\x95\x84\x99\x24\xe0\x19\x8d\xd4\x4b\xf2\xd0\x04\xc1\x1c\x70\x17\xb7\x14\xc3\x9c\xd5\x0f\x22\x96\x14\x33\xe5\x3d\xf4\x7b\x97\xe0\xea\x85\x6a\x43\xbe\xa4\xac\xb4\x7b\x39\xdb\xea\x5c\xec\x0e\x15\x05\x0a\x03\x18\xe1\x55\xd4\x32\x1e\x54\xb0\x9c\xb6\x83\x28\xe0\xed\xf8\x1b\x71\x65\xa7\xe5\xe7\x6e\x52\x16\xcd\x94\x1f\xfa\x26\x9a\xc7\x5f\x75\x63\x8c\xc5\x54\xab\xdb\x41\x34\x8f\x8b\x65\x2b\x2d\xe8\xa4\xfc\x36\xc4\x08\x2e\xcb\xd0\xbf\xf5\xc8\x3c\x64\x37\xa4\xb1\x45\x9d\x65\x9c\x70\xab\x13\x47\x32\x5f\x9d\x70\x91\xcd\x29\xee\x40\x2e\x9e\x0b\x7a\x17\xfb\x33\xdd\x18\x4b\xdf\xb0\xd4\x82\x52\x00\x97\xca\x7d\xfe\xda\x3c\x89\x17\x1a\xb2\xde\x25\x54\xb0\xc5\xb8\xdf\xc8\xd0\xa2\xb0\x35\x03\x02\x2d\xf5\x4d\xe3\xb5\x9e\x63\xd7\xda\xfb\x52\xde\x8f\xf0\xa3\x7e\xce\xa7\xb9\x3c\x6e\x9a\x56\xe6\x4d\xca\x1a\xf6\x0f\xfa\x59\x68\x01\x97\x71\xca\x25\x56\xfd\x3b\x86\xc9\xc9\xa4\x82\x50\x3f\xb9\xb8\x72\x27\xdf\x25\x72\x98\xbb\xb8\x6b\x6b\xb3\xef\x55\x54\xbf\x55\x12\xd2\xc9\x7a\xb8\x33\x63\x3d\x03\x1f\x62\x73\x4d\x24\x4b\xe7\x86\x3a\x73\xbc\x65\x7f\x3a\x65\x4b\xfe\xce\x8f\x2e\x56\xe0\x98\xe8\x35\xe5\x57\x6c\x72\x59\x96\x09\x9d\x7c\xf7\xcb\xc5\x5d\x46\xe7\x71\xc2\x84\x77\xbf\x17\x87\x71\xe2\x96\x47\x3e\x54\x79\x50\x86\xd0\x0d\x9a\xcf\x08\xd6\x95\x79\x55\x86\xd0\x0d\x3a\x5d\x25\x69\x9c\xac\x83\xdf\xcb\xdf\xea\x06\x9d\xc7\xc2\xcf\x6e\x24\x46\xbc\x92\x50\x07\xfe\x22\x08\x6f\xd7\xc0\x89\x97\x48\x6f\xca\x3e\x1d\xbd\x73\x25\x0f\x3f\x1d\xbd\xc3\xeb\xf9\xef\xcf\xaa\x77\x16\x37\xf5\xdc\x1e\x38\x4e\x7b\xe0\x62\xb1\x86\x21\x90\xb9\x55\xf5\xa2\xf8\xaa\x61\x77\xab\x52\x20\x99\xc5\xc8\x34\xca\xd2\x87\x79\xd0\x87\x78\x96\x05\x65\x6b\x7c\x59\xbc\x21\xb3\x0a\x96\x9d\x8e\xdd\x13\x84\x6d\x6a\xd4\x43\xf2\x58\x10\xa5\x86\xdd\xda\x4d\x63\xa0\x7e\x4f\x91\x2c\xaf\x4d\x05\x84\x16\xa4\x78\x7c\x26\x65\x5c\x5b\x2d\x3b\xea\xfa\xf1\xe6\x01\x5e\x1f\xbd\x4c\x0c\x5a\x7e\xdf\xd8\xac\xf4\x32\xbe\x2e\xb6\x29\x5b\x0a\x60\x78\xb7\x67\x36\x13\xc1\x78\x50\xca\x60\xed\x64\xa9\x09\x3b\x73\x93\xfb\x3c\x14\xb0\x3c\x34\x9c\x47\xdf\x78\x54\xcf\x19\x4a\x37\xab\x03\x7a\x40\xa4\xe6\xcb\x8b\xd7\xaf\x82\x34\x38\x0f\x19\x11\x7b\xf6\xe4\x56\xf7\xca\xec\x52\xcf\x6c\xad\x41\x03\x8f\xe9\x04\x7d\x41\x42\x07\x3d\x13\xa6\x12\x4c\x27\xc2\x19\x24\xb4\xe7\x98\x78\x51\x64\x22\x3d\xdc\x44\xba\x89\xb4\x32\x1e\xd4\xf4\xe4\xab\x41\x7d\xaf\x66\x88\x55\x14\x9e\x90\x01\x8c\x4e\x66\xc1\x15\x31\xc6\xbe\xb4\x6f\xd3\x34\x3d\x61\x37\xdc\x23\xcb\x38\x0d\x44\x10\x25\xff\x3c\x8d\xc3\x15\x67\x63\x69\xfb\x5c\x2d\x8a\x23\x36\x06\x03\xd8\x9e\x05\x89\x98\x59\xba\x9a\xf0\x45\xc6\x3c\x5e\xba\x9a\x65\xfe\x79\x1c\xb2\x39\x77\xb5\xde\x9f\xc7\x48\xac\xab\x8d\xcc\x3f\x8f\x05\xbd\xae\xe6\x98\x7f\x1e\x2f\x82\xa8\xad\x9e\x6d\x78\xf6\x6f\xda\xc5\xf7\xe7\xf1\x4d\x3b\xbd\xf4\x67\xf1\xb5\xab\x99\x9a\xa9\xd9\xcb\x9b\xfc\x60\xe2\x26\x7d\xb5\x4d\xc6\xe7\x71\x32\x63\x89\xfb\x94\x32\x5a\x1a\x87\xc1\x6c\x4c\x70\x16\x16\x7a\x65\x8f\xa6\xca\x33\xf1\x82\x18\xe3\xb0\x13\x47\x21\xe8\xfa\x82\x11\x2f\x19\xb4\xb0\xca\xd7\x8c\x89\xc0\x3f\x64\xa2\xab\x59\x8a\x47\x62\xe1\x2e\x04\x4f\x77\x97\xf3\x24\x38\x5f\x71\xa6\x93\x34\x99\x92\xcc\x1a\x19\xf5\xd7\xcc\x5f\x84\x2c\x4d\x09\xdd\x32\x0d\xea\x77\xfc\xe5\x92\x45\x33\xa1\x2e\x42\x23\x77\xe5\x4a\x2f\x7c\x71\x3c\x42\xfa\x87\xc2\xd5\x7c\xcb\x6e\x71\x4e\x0f\x89\xf7\xfe\x12\xfd\x45\x95\xd7\x74\xec\x40\x30\x54\x79\x8b\xdf\x24\xa4\x64\x52\xd1\xe5\xbb\xf4\xa3\x59\x28\x02\x82\x4f\x08\x4e\x53\xe3\x15\xcf\xae\x7f\x38\x80\x8c\x8f\xe5\xb3\x59\x67\x74\x42\xbe\xb1\xdb\x59\x7c\x1d\x65\x70\x6f\xd9\xed\xeb\xf8\x3a\x6a\x00\x5b\x26\xd8\xfc\x1c\xee\x10\x32\x1a\x00\x57\xcb\x22\xd4\xa7\x65\x15\x84\xb3\x1b\xfe\x26\x5a\x16\x88\x3b\x51\x39\x25\xd0\xb3\xac\xc9\xef\xfd\xa5\x27\x26\x37\x15\xee\x15\x1d\x1a\x28\x19\x44\x17\x69\x15\xf2\x95\xcc\x2f\xc2\xfa\x21\xff\x29\x79\x1f\xcf\x70\x39\x2b\x52\x97\x64\xe0\x61\xf6\x37\x51\xca\x12\x7e\xe8\xa7\x9c\x79\x5b\x72\x0b\xfe\x65\xbc\x60\x6f\xd9\x6d\x2a\x56\x64\xb3\x30\x5d\x4b\xff\xa2\x29\x7b\xca\x93\xf0\x30\x5c\xa5\xef\x83\x68\x95\xfe\x9d\x25\xf1\xdf\xe3\x78\x91\xe1\x82\xb7\x7b\x7b\xf1\xf2\xb6\x04\xff\x59\x56\x28\xb3\xfc\xa5\x08\x46\x18\x20\x0b\x97\xfe\xac\xe9\x8d\xb0\xef\xd9\x1b\x70\x20\xd2\xa5\x3f\x65\xc7\x2c\x9a\xa5\xaf\xd4\x53\x5e\xcd\xa5\x9f\xf8\x53\xce\x92\xfd\x68\x1a\x03\x47\x3c\xb2\xe2\xf3\xb6\x93\xf9\xd7\xdc\xc7\x92\xfb\xe9\xd4\x5f\xe6\x6d\x5f\xfa\x69\xfa\x9e\x71\xff\x73\x96\xe3\x87\x1c\x01\xbf\x5c\xfa\xdc\x23\x0c\xc1\x49\xf6\xea\x0d\x42\xe7\xf4\x86\x3c\x23\x45\xbc\xaa\x53\xe6\x87\x5c\x89\x13\x9b\xa9\x23\x25\x0b\x36\x0b\x7c\xe0\xee\x6e\xc2\x0e\xe0\x6f\xce\xf6\x84\x5d\x05\xf1\x2a\xdd\x2d\xd0\x91\xcf\x70\x8a\x12\xb2\x3b\x15\xf3\xa7\xef\x7b\xbb\x1f\xf6\xf6\x85\xaf\x52\x0c\x8f\x26\xb2\x89\x41\xe5\xe5\x5e\x35\x00\x99\x4f\x0c\x7a\xb8\x7b\x7c\x5c\x7b\x0d\x99\xc4\xa0\xc7\x27\x47\x6f\x0e\x6b\x2f\x31\x97\x18\x25\x9a\x0a\x73\xe0\xa8\x76\x16\x46\x4e\x49\x45\xa7\x78\x5e\x73\xa7\xed\x94\xd4\x42\xe7\x8a\x17\x76\xf1\xeb\xcc\x70\xd9\x9a\xfa\xf0\x30\x5b\x18\x36\x6a\x1a\x71\xec\xad\x51\xbf\x18\xdf\x99\x34\xcc\xd5\x37\x32\xbb\x82\x17\x17\x7c\xf3\xeb\xe9\xb9\x67\x8e\xf9\x8b\xb2\x7a\x52\x5f\xe7\xb8\x3a\x4a\x20\xa3\x13\x64\x00\x13\x7e\x36\x66\x3b\xac\x7e\xa7\x4d\x32\x31\xcf\x68\x32\xb1\xce\xe4\xf9\xcc\x2a\x49\xd2\x87\x5b\x57\xe8\xbe\x59\x83\xb2\xfb\x35\x2c\x5b\x45\x6b\x99\x26\xb5\x73\x63\xe3\xd7\x60\x2b\x6a\xb9\x72\x94\x2b\x9c\x4d\xb6\x5a\x72\xb2\x2d\x0f\xb9\x11\xa3\x7c\xe3\x6c\xd6\xe3\x71\xf4\xf9\x04\x86\x03\x4f\xe2\x6f\x85\x69\x6e\x06\x60\xac\x27\x20\xd3\xd9\x0d\x8b\xc0\x4d\xc7\x09\x58\xe7\xfa\x32\x98\x5e\x1a\x1d\x1e\xbf\x8b\xaf\x55\x8c\x67\xbc\x3d\x93\xa1\xd6\x7a\xcb\x6e\x5b\xad\x2d\x86\xba\xe3\x2d\xbb\xbd\xbb\x23\x53\x82\x77\x3a\x90\x2b\xf8\x2b\x6f\x0b\x12\xc3\xbb\xd5\x22\xe7\x49\x7c\x9d\xb2\xa4\xfd\x8d\xdd\x2a\xf9\x2e\xea\x92\x56\x0b\x43\xbf\xa9\xaf\x95\x4a\x38\x9a\x29\xfb\xc6\x6e\x11\x68\xcc\x84\xda\xc6\xea\xf5\xc4\x4b\xca\xc4\x1a\x34\x29\x7e\xfe\x34\x8d\x6d\xcb\x76\x54\xfc\x7f\xf5\xe2\xa5\xd7\xb5\x5b\x2d\x3d\x29\x56\x3e\x4e\xa4\x80\x37\x33\x5e\x6f\xa2\x2a\xc1\x90\x95\xa0\x9e\x58\xa4\x02\xa8\xca\xc8\x50\xf1\xf2\x30\x89\x97\xfe\x85\x58\x6c\x36\xd6\x89\x9c\x2c\x2b\x3e\x6c\xed\x2e\x97\x1f\xe2\x68\x8f\x27\xe1\x31\xb4\x50\x22\x2c\x77\x5e\xe5\x83\x50\xe9\x51\x7c\x6f\xaa\x65\xc9\x8f\x39\xad\x96\x5e\xe8\xc4\x22\x17\xeb\x4d\x58\x2f\x52\x99\x5b\x51\x77\x5d\x2a\x5a\x7d\x93\x54\x7e\x5a\x96\xcb\x5b\x0e\x08\x82\xec\x62\x35\x6d\x2b\xe3\xab\x67\xb5\xfe\xa1\x5b\x2f\x5e\x30\xbc\x1e\x0b\x10\xb5\x2d\xc3\xa0\xf6\xb0\x84\x29\xb3\x1f\x0f\x31\x19\xb7\x1d\xac\x27\x18\x5d\xa4\x75\xd1\xaf\x63\xe3\x7b\xe0\xc5\xf2\x43\x43\x32\x89\xcf\xd4\xcd\x81\x0a\x26\x3f\xf3\x1c\xb5\x5a\x7a\xe4\x45\x32\x92\xab\xf2\x75\xe8\x84\xd1\xe4\xcc\x80\x69\x88\xe7\xf9\xad\x96\xfa\x72\xb6\xe5\xc5\x08\xcf\x75\x95\x03\x30\xf7\x3f\xc4\xad\xbb\x2a\xaf\x7e\x0b\xab\x8a\x81\xb9\x44\x13\xe0\xcf\x6b\x36\x4f\x27\x19\x46\x11\xa3\x53\x1d\x1e\x43\xb7\x55\xc4\x13\xa1\x91\xd7\x68\xb5\x3b\xc2\x3a\x53\x7f\xcd\x6b\x69\x9b\x69\xb8\xe6\x3d\x18\x67\x7a\xb9\xe6\x25\x1a\x67\x3a\xf5\xb2\x21\x40\x57\xde\x56\xd9\x85\x81\x41\x21\x58\x46\x73\x06\x8a\x57\x3b\xea\x0d\x0c\x16\xa9\xfc\xdc\x2c\x45\x97\xde\xd6\xf3\x5f\x4e\x27\xa7\xd7\xdb\xa7\x67\xea\x7a\xee\x04\xf9\xe0\x2f\x0d\x15\x61\xbf\xec\x87\xca\xe5\x55\x20\xa6\xed\x87\x9c\xb8\xcb\x56\x6b\xda\x6a\xad\x5a\x2d\x1d\xc3\xc2\xae\xbc\x2d\xcb\x18\x9f\x27\xcc\xff\x26\x56\x54\x13\x98\xc3\x65\xa0\x76\x45\x57\x29\x23\x57\x19\x21\xeb\x90\xc1\x2c\x32\xc3\x65\x3d\x1d\x17\x4e\xf0\xe7\xe3\xb9\xc7\xf5\xe9\x0e\x91\x9b\xa8\x88\xbb\xda\x21\x88\x74\xb6\x43\x80\x35\x24\xfb\x04\x2c\x04\xe6\xc2\x03\xd3\xe1\xa7\xdf\x8e\xa5\xea\x29\xaa\x21\xba\xf0\xbe\x4b\xc9\x71\x33\x19\xa2\xf8\xd6\x2d\x40\x01\xc3\xdc\x29\xf5\x43\xee\xae\x28\x54\xe2\xce\xee\xe9\xad\x57\x9a\x10\xe0\xda\x99\x48\xeb\x0b\x34\x5f\xb7\xad\x96\x7e\xe1\x4d\xbd\x95\x87\x8e\x75\x90\x7f\xd4\xae\x8f\x51\x7d\xee\xdd\x76\x7c\xcc\x33\x5a\x2d\x7d\xee\xcd\x3b\x53\x3f\x0c\x65\xd0\xad\x22\xa7\xe8\xc2\x30\x0c\xba\x7a\x8c\xa1\x9b\xe3\xb8\xd6\xe7\x5e\x68\xd0\xf9\x96\xe7\x85\xf0\xb0\xe5\x79\xfe\xdd\xdd\xf4\xee\x6e\x75\x77\x37\x13\x75\x79\xde\x65\xab\xa5\xaf\x3c\x64\x75\x23\x6d\x49\x47\x90\xae\x68\x2b\xdc\x82\x50\x51\x26\xa2\x4e\xdb\xf3\x94\x28\x66\x1b\x87\x10\x8d\xcc\x93\xfb\x76\x2e\x76\x2c\xd7\xa4\x96\xf1\x68\x8b\x86\xcd\x88\x0c\x23\x98\x23\xd9\xfe\xdd\x5d\xed\x7a\x9e\xb9\x88\xfb\xa0\xc4\xc3\xf3\x82\x1d\x68\x97\x8b\x42\x02\x4f\x2b\x7c\x42\x51\xf1\xbc\xa0\xd5\xd2\xa1\x77\x0c\x4a\xfe\x34\x21\x9e\x37\x57\xa4\x99\xd4\x86\xc6\xae\x90\x55\x17\x32\x00\xc3\xf9\x78\xeb\x02\x19\x37\xdd\xd9\x5a\xdd\xdd\x5d\x40\xe2\x02\xc7\xcf\xd6\x74\xe7\xdc\x23\xe3\x1e\x71\xb7\xa6\xf8\x62\x05\x2f\xa6\xad\xd6\xd6\x0a\x5f\x0c\x88\xbb\x12\xcf\x17\xf8\x3c\x24\xae\x28\x38\x6d\xb5\x74\xc8\x70\x88\xe1\xc2\xdf\x3e\xc1\x3f\x5d\xf1\xc7\x26\x74\xee\x75\x81\x2c\xc1\xc5\x1d\xf2\xa7\x89\x45\xb6\xcf\xb7\x33\x3a\x6d\x6a\x19\x6e\x81\xea\x79\xb6\xfd\xd3\x28\x82\x15\xb2\xef\xd5\xd6\xcc\xb9\xa7\xe4\x63\x5d\xbf\x50\xa0\xee\x6b\xed\x35\xbc\x2a\xfb\x3b\xc6\x4b\x6f\xd0\x6b\xb5\xbe\xbe\xf0\x46\x7d\xc4\xd8\xe4\xb8\x7c\x6d\x0f\x7a\x4a\x76\x9d\xf6\x79\xc0\x9b\xa5\xd6\xca\x9b\x2b\xb8\xfe\x15\x06\x43\xd5\xbb\x1a\xaf\xa9\xc3\xb8\xd7\x01\xbf\x9c\x2f\x36\x54\x70\x77\x37\x93\x66\xa7\x32\x17\x15\xb2\x4d\xfe\x44\xb6\xe7\xd2\x89\x5f\xe3\x94\xcd\xe5\xf5\xda\x6a\xb9\x50\x44\xdf\x7a\x13\x5d\xf9\x61\x30\xd3\x7c\xb9\x86\x46\xb6\x2b\xc1\x42\xe6\x46\x63\xb9\x0f\xb1\x36\x63\xf3\x20\xc2\x15\x3a\x8c\x4f\xa9\x14\x12\x86\xa8\x54\x1e\x68\xc9\x4f\x50\x8b\x0d\xf5\x18\x0a\xf2\x85\xb8\x9d\xad\xa1\xc4\xfa\x9b\xcd\x7e\x00\x83\x3f\x9b\xc9\xdc\x6a\xc4\x18\x79\x9b\x01\x98\xdf\xa0\xac\x26\xbf\x56\x6c\x75\x90\x85\x4f\x13\xb1\xb7\x83\x62\xec\x6d\x78\x3f\x49\xcf\xa0\x80\x0c\x63\x2d\x82\x71\xbc\xcd\x9e\x75\x66\x18\xdf\x13\x0f\xa0\x84\xa9\xb9\x4f\x76\x12\xa9\x48\x3d\xee\xea\x09\xea\x77\x09\xec\x32\x2a\x7b\x87\xdf\xd3\x40\x46\x1c\x68\x22\x4c\xdd\xfc\x40\x83\x4e\x1a\x27\x85\xed\x4d\xd8\x38\xb9\x18\x5d\x36\xf9\x8a\x3e\x80\xdf\x8b\x17\x4b\x3f\x91\xf3\x07\xf9\x82\xf2\xc2\x83\x71\xaf\x82\xff\x34\xd5\xee\x4d\x92\xb3\xe6\xfe\x6e\xe4\x7d\x7d\x81\xbf\xa6\x13\xb3\x59\x8e\x58\xb4\x3a\xf4\x93\x94\x25\xe3\xa4\x93\x30\xbc\xd1\x56\x18\xca\x00\xe3\x66\x06\x5e\x22\x6e\x34\x7b\xcb\x6e\x8f\xd9\x7f\xac\x58\x34\x65\x0d\x91\x17\x4b\xdf\x32\x65\x1c\x5c\x8c\x6c\x93\x74\x82\x34\x8b\x3a\x64\x34\x93\x03\x3c\x94\x75\x73\x43\x44\xeb\x2c\xd4\xba\x2b\xe5\xf1\x91\x75\xde\x97\x6b\x14\x2b\x17\x05\xc9\xd4\xeb\x4b\x7a\x4a\x76\x02\x83\x72\xc3\x2d\x63\x4c\xf2\xa8\x9c\x2a\x20\x63\x34\xd3\xe2\xb9\x96\x4a\x66\x60\xec\x9c\xea\x50\xfe\x91\xb2\x35\x42\xc5\xd5\xbd\x8f\xed\xf6\xb4\x79\x87\x72\xe1\xfe\xcb\x1c\x56\xe7\x94\x4d\xf8\xc3\x42\x95\xbb\x30\xeb\xee\x58\x5c\x37\x8c\xb3\xd8\x50\x1a\x46\x60\xad\x5c\xda\xdd\x10\xd7\x81\x4f\x12\x31\xfe\x9b\x06\x37\x4c\x7c\x60\x64\x67\xb1\xee\x0b\xb8\x37\x2e\x75\x4b\xc7\xbb\xb4\xdc\x2d\x17\x71\xeb\x53\x47\xe5\x72\x16\x56\xbd\x61\x32\xe1\xa9\x4d\x10\x42\x42\x8d\xea\x72\x1f\xcc\x3b\x4a\x1d\xf2\x16\xcb\x55\x86\x61\x7e\x03\x8c\x44\xdb\x6a\x95\xf5\x7e\x7e\x13\x4c\x51\xdf\x1b\x25\x52\xf0\x36\xa8\x47\xd6\xbf\x46\x1e\x70\x69\xac\x1a\x11\x08\x57\xc5\x94\x8c\x88\xe2\x7a\x06\x23\xce\x67\xd0\xef\xc2\xe6\xbb\xa5\x7c\xeb\x8c\x0a\x47\xb0\x9c\x6d\x9f\x51\xe9\x6f\x95\xf3\xbb\x67\xe8\x33\x97\xf2\x7a\x67\xc2\x83\x2e\x65\xf6\xcf\xee\x1f\xe0\x33\x76\xc6\xda\x4f\x84\x85\x8d\xe1\x0d\xf3\x5f\x5c\xe6\x43\x8f\x75\x4a\x27\x1c\xfc\x54\x97\xdd\x57\x2f\x92\x92\x22\x96\xd5\x10\xd0\x38\xff\xee\xa8\x07\x85\x95\x8b\x40\xcd\xe6\x20\xa9\x66\x68\x41\xbe\x3c\xb5\x35\x2d\xcc\x66\xaa\x0b\xe9\x3b\xdc\x4d\x28\xe0\xbe\xcf\x29\x48\x1e\x43\x41\x01\xe9\x9a\x35\xf8\x9d\xc4\xe5\x55\xd4\xc1\x06\xd4\xc2\xe8\xe6\x2d\x83\xf2\xe3\x6c\x77\x7d\x71\xca\xe4\x6d\x99\x94\xe9\x69\x15\x79\xfa\x38\xce\x09\x16\x35\x51\x17\xfd\xbe\xac\x6f\xaa\xc2\x2f\x18\x90\xe6\x35\xbe\x92\x6b\x09\x2e\x6a\x5e\x38\x2c\x14\xce\xa8\x2b\x92\xcc\xc5\x95\x6d\x98\x57\xa8\x14\xaf\xc3\xa9\x96\x4b\x68\x90\x65\x16\x3a\xb3\xf6\x05\x62\x87\x01\x3a\x1a\x18\xae\x35\x18\xa8\x79\x54\x3c\x63\x77\x77\xd6\x60\x58\x79\x76\x0a\xcf\x3b\x9b\xd6\x37\xdc\xf5\xab\x17\xf7\xf7\x15\xed\x87\xde\xc0\x54\xac\x9a\xac\x36\xaf\x9a\xcc\x1e\x58\x35\x59\x6e\x5a\x35\x99\x6f\x5a\x35\x19\x97\xd5\x53\xaa\x4f\x4c\x4a\x26\x9f\x3e\xbc\xfd\xf0\xf1\xcb\x87\x33\x42\x97\xe2\x7f\x78\x64\x9c\x92\xc9\xfe\xf1\xde\x19\xa1\xe4\x4f\x84\xce\xe0\x7f\x78\xa6\xd9\xa6\x64\x72\x60\x9d\x11\x1a\xe9\xe4\x4f\x1f\x0f\xe1\xf5\xe4\x90\x18\x74\x06\x09\xbb\xfb\x0f\x22\xe1\xba\x00\x67\x2b\xb8\xbf\x22\xdc\x5f\x33\xb8\x5e\x06\xd7\x03\xb8\xae\x82\x3b\x42\xb8\xa3\x0c\xae\x9f\xc1\xf5\x01\xae\xa7\xe0\x8e\x11\xee\x38\x83\x1b\x64\x70\x03\x80\xeb\x23\xd9\x13\x0b\x8b\x23\x80\x93\x01\x40\xc3\x0e\x06\x12\x60\x98\x01\x8c\x32\x00\x07\x00\x86\x12\xc0\x51\x00\x5d\x2b\x03\x18\x01\x80\x23\x01\x46\x19\x80\xad\x00\x6c\x60\xea\xc1\x48\x00\xd8\x66\x06\x90\x31\xc7\xb6\x90\x89\xa6\x84\xb0\x32\x88\x8c\x2d\xb6\x60\xb3\x25\x21\xba\x0a\xa2\x97\x57\x82\x0c\xb6\x6c\x09\xd1\xcb\x20\xb2\x5a\x46\x36\x25\xff\x05\xb3\x03\xdd\xd7\xc9\xbf\x10\x83\xfa\x3a\xf9\x85\x18\xc0\xb4\x25\x46\xef\xa0\xc4\xda\x02\x80\x50\x27\x62\x75\xf0\xc3\x6a\xf1\x95\x18\xe2\x79\x37\xe4\xc5\xc7\xf7\x8c\xfb\xe2\xf9\x8c\x4e\xfa\x26\x25\xf6\xbf\xfc\x58\x51\x8b\x92\xee\x3f\xfd\x58\x51\x9b\x92\xde\x3f\xff\x58\xd1\x2e\x25\xfd\x3f\xff\x58\xd1\x1e\x25\x83\x5f\x7e\xac\x68\x9f\x92\x61\xeb\xc7\x8a\x0e\x28\x71\xfe\xf2\x63\x45\x87\x94\x8c\xf4\x1f\x2a\xda\x73\x28\x31\x8d\xac\x68\xe9\x53\xf8\x3a\x04\x55\x20\x0c\x83\x31\xa2\xa4\xfd\x75\x3d\x9e\x35\xf9\x58\x74\x48\x89\xb7\xfd\x43\x45\x87\xdd\x1f\xad\x75\x60\xfd\x78\xa5\x16\x25\xdb\x7f\xf9\x91\xa2\xa0\x68\x5e\xbd\x3d\x3e\x3c\x23\x34\xd1\xc9\x7f\x12\x4a\x4e\xcf\x89\x01\xe9\xd3\x73\x42\xc9\x7f\x62\x61\x18\xca\xa0\x70\x4e\x76\x5f\x9d\x11\x1a\xe8\xe4\x94\xe3\x88\xff\x3b\x31\xe8\x9c\x2e\xf1\xbd\x63\x51\xf2\x1f\x7f\x05\x12\x7c\x9d\xfc\x35\x2b\x06\x9c\xbc\xfe\x22\xb3\xbf\x64\xd9\x83\x11\x25\x6c\x5f\x66\xef\xe7\xd0\x36\x25\xc9\x91\xcc\x3e\xca\xb3\x7b\x94\xf0\x13\x99\x7d\x92\x67\x8f\x28\xb9\xfd\x37\x99\xfd\x6f\x79\x76\x9f\x92\xd5\x27\x99\xfd\x29\xcb\x86\x8e\x09\xde\xc8\xec\x37\x79\xf6\x88\x92\xf8\xa3\xcc\xfe\x98\x23\x31\x29\x59\x1e\xca\xec\xc3\x2c\xdb\x46\xc5\xfb\x5d\xe6\x4f\xf2\x7c\x50\xa7\x67\xf7\x32\xff\xac\x90\x6f\x52\x72\x7a\x7a\x27\x5f\x9c\x9e\xe6\x6f\x40\x41\xef\xed\x1e\x1e\x67\x26\x0f\xf9\xd2\xa7\xc4\xdf\x95\xd0\xbb\x39\x35\x5d\x4a\xd2\x63\x99\x7d\x9c\x73\xd1\xa1\x64\xf6\x5a\x66\xbf\xce\x9b\x64\x52\x32\x3f\x90\xd9\x07\x79\xb6\x45\xc9\xc5\x4f\x32\xfb\xa7\x3c\xdb\xa6\xe4\xf2\x67\x99\xfd\x73\x9e\xdd\xa3\xe4\xdf\xff\x35\xd3\xdc\xff\x4a\x0c\xba\xcc\xde\xf5\x29\xf9\xf6\x36\x7b\xf7\x56\x8d\xc2\xbd\x90\xf9\xc9\x57\xa1\xdc\x11\x6e\x40\x49\xf8\x2e\x83\x7b\x57\xc4\x61\x39\x03\x4a\xc6\x2e\xbc\x9c\x67\xcc\xb2\x29\x79\x76\x4a\x8a\x79\x68\xc3\xf7\x3f\x9c\xec\x1f\x81\x91\x39\x4d\x08\x5d\xd1\x95\x78\x03\x56\xf6\xf8\xe7\x37\x07\x27\x25\x0e\x8e\x4c\x4a\x7e\xfd\xbb\x6c\xce\xdf\x73\x0e\x3a\x94\xdc\xfc\x4d\x66\xff\x2d\xe7\xe0\x90\x92\xe9\x5e\x49\x4d\xed\x15\x06\x0c\xe8\xa5\x3d\x39\x50\x06\x94\x5c\x7d\x2e\x41\x7e\xae\x40\x7e\x96\xe3\x78\x40\xc9\xf9\xab\xac\xd5\xaf\x54\xab\x03\x7d\x46\x97\x00\x30\x74\x28\x89\x3e\x94\x75\x63\x05\xd5\x07\x81\x6a\x38\xa4\x64\xf1\x5e\x52\xfd\x9e\xe4\xbc\x73\x28\xa1\x2f\x20\x3f\xd5\xe7\x05\x9e\x42\xe3\x3b\x2f\x1b\xf2\x2d\x4a\x9e\xef\x64\x24\x7d\x15\x66\x78\x27\xef\x29\xf4\x48\xf6\x4e\x8e\xde\x95\x1c\x30\x74\x43\x76\xdf\x9d\x94\x32\x01\xd7\xe4\xdd\xee\x61\x19\xb4\x6b\x53\xa2\x49\x42\xff\x25\x57\x1a\xe0\x42\x1c\x55\x61\x47\xd0\xa7\x47\xef\xf7\x3f\x7c\x2a\x65\xf7\x00\xf8\xf0\xe8\xe4\x78\xef\xa8\x4c\x45\x0f\xfc\xae\xe3\xbd\xa3\x77\x6f\xcb\xf9\x30\x14\x5f\x1d\xed\xef\x96\xb3\x11\xfa\xcd\x87\xe3\xfd\x23\xa0\x1b\x39\xfa\x96\xdd\x8a\x6d\x59\x82\xcb\x82\xb6\x2e\xc8\xcf\xcf\x1f\xdf\xef\x17\xa0\x7e\x8e\x17\xac\x04\x03\x94\x1e\xfe\xf4\xe9\xb0\x00\x73\xe8\x5f\xb0\x4f\xcb\x22\x54\x0f\x30\xbd\xde\x7f\x57\x00\x7a\xcd\xc2\x12\x9e\x3e\x4a\xf1\xeb\x02\xc4\x7e\x34\x2b\x41\xf4\xb0\xa6\xd7\xc2\x07\x2e\xd6\x85\xdf\x8a\x8b\x90\xd0\x29\x25\x8a\x76\x93\x24\xbe\xae\x90\x04\xda\xa5\x82\x0c\xc1\x6a\xd8\x80\x89\x47\x6f\x7e\xfa\x19\x98\xc5\x75\xf2\xa7\xc9\x1e\xa8\xf6\x8f\x7b\x45\x18\x10\x8e\x77\xfb\x07\x19\xc8\x6b\x04\x79\x5d\x00\xb1\x7a\x40\xff\x87\x4f\xef\xdf\x7d\xdc\x2b\x77\xc7\x08\x98\xf3\xf6\x10\xfc\xcc\x59\x06\x3e\x1a\x62\xa6\x55\xce\x74\x30\xd3\x2e\x67\x8e\x30\xb3\x5b\xca\xb4\x4c\x13\x73\x7b\x95\x5c\x0b\x73\xfb\x95\x5c\x1b\x73\x07\x95\xdc\x2e\xe6\x0e\x2b\xb9\x3d\xcc\x75\x2a\xb9\x7d\xcc\x1d\x55\x72\x45\x1b\xb6\xcf\x7e\xc8\x62\x9b\xa2\x5d\xed\x1f\x2c\x2d\x98\xfa\x97\x32\x45\x96\x68\xff\xf3\x4a\xae\xe0\x55\xa7\x9c\x0b\x4a\x6a\xf2\x6a\x17\x3b\xeb\x52\x2f\xcf\xa3\x6a\x13\xa9\x01\xce\x57\xbe\xbc\xce\x61\xb3\xb9\x54\x6d\x32\x05\x36\x69\x72\xb4\xff\xee\xe3\x6e\x01\x3c\x9b\x52\xd5\xe6\x54\x0e\x4e\x21\xc4\x90\x97\xc0\xd9\xbc\xaa\x36\xb1\x02\xf7\x60\xf2\xe5\xcd\x87\x63\x04\x96\x93\x2b\xa3\x32\xbb\xb2\xd1\x30\xbc\x3a\x7a\x73\xd2\xce\xc0\x86\x39\xd8\x28\x03\x1b\x4a\xb0\xed\x0c\xcc\xc9\xc0\xe4\x4c\xeb\x81\xa5\xab\xa2\x66\x59\x7b\x1c\x2d\x5b\x0f\xa8\x6e\x0f\x2d\x7e\xae\x5e\x33\xc5\xc7\x5d\x83\x40\xf5\x3f\xc8\x23\x28\x41\xed\xd5\x40\xc7\x56\x99\x8e\xf2\x6e\xd4\x5f\x0a\x44\xe0\xb6\x04\xb1\x2b\x21\x5b\x8d\x29\xee\xec\xa9\x20\xaa\x2f\x81\x91\x3f\x4d\x7e\x26\x2e\xf9\xd3\xc7\x9f\x89\xab\x97\x81\xb3\x4f\x6e\x29\x56\x0b\xb4\xea\xd5\xc5\xdc\xf2\x1a\xc4\x63\x98\x0f\x5a\xf4\x37\xb7\xf8\xed\x6f\x6c\xf2\x01\x36\xf9\xe0\xa1\x26\x8b\x3b\xa7\x7e\x6b\x8b\xa5\xf9\x79\xb8\xd1\xe5\xdd\xc5\xc5\x46\x93\x3f\x4d\xfa\xff\x78\x88\x5a\x51\xcf\xef\x40\x30\x98\xc2\x87\x07\xc7\x86\x7d\xbe\x95\x0d\xa4\xd5\x7d\x24\x5b\xaa\x0f\x77\xc8\x9f\xfe\x13\x7a\x62\xd2\x7d\xd4\x68\xc9\x6c\xeb\x6f\x64\xe5\xe0\x51\xac\xc4\x0f\x1f\xbf\x9d\x99\xca\xd4\x3f\x4c\x73\x4d\x52\x4b\xea\x66\x33\xc1\xef\x82\xe8\x11\x7d\xef\x96\x37\xfd\x15\x86\x4f\x6d\x73\xd3\xe3\xc6\xd1\x2e\x8e\xa3\xdd\xc7\x74\x5e\xee\xcb\xfc\xf1\x9c\x78\x4c\xd7\xfd\xee\xbc\x78\x85\xbc\x78\xf5\x20\x2f\xc4\x94\xcb\x6b\xfc\x8e\xbd\xa6\x65\xd7\xc1\x92\xed\x89\x23\x99\xe9\x03\xed\x7a\xb0\x76\xb9\xac\x53\xbd\x9e\x3b\xff\xfe\xf1\xf4\x35\x7a\x75\xb4\xab\x4e\xf8\xd2\x4f\x53\x59\xe3\x39\x4b\x70\xe4\x2b\xa6\x1b\x8d\x9f\xee\x8b\x66\x34\xdb\x37\xd7\xb0\xe5\x45\xee\x9e\xb3\xd4\xb1\x62\x62\x11\xb1\xb1\xcd\xce\x0e\x1a\x27\x38\xad\x11\xb9\xdd\x62\xee\x44\xe5\xf6\x8a\xb9\x30\xd1\x17\xd9\xfd\x62\xf6\x99\xca\x1d\x14\x73\x7f\x51\xb9\xc3\x62\xee\x57\x95\xeb\x64\x64\xfd\xa7\x24\x6b\x94\xe5\x8c\xc8\xfd\x43\x7d\x24\x57\xca\x9e\x24\x22\xc0\x69\x51\xae\xca\xe8\x4d\x8e\xca\xc6\x2f\x06\x0f\x91\xa9\x96\x00\x9f\x4c\xa7\x2c\xf8\x3f\x8c\x50\xb1\x46\xd0\xb8\x2d\x66\x0d\x95\x17\x8c\xbf\x96\xa7\xfd\x74\x03\x9e\xb2\x50\x2f\x72\x37\xbc\xd8\xe8\x10\x86\xfe\x32\x65\xb3\xfc\x3a\x8b\x0c\x53\x76\xe6\xa7\x51\xe6\xd7\xd4\x8a\xbb\x80\xb2\x9a\x76\xe7\x9c\x25\x02\x45\x21\xca\x4e\xd2\x99\xca\x6a\x4f\xe2\xfd\x68\x26\x8e\x03\x24\x06\xed\x9b\xeb\xf4\x02\x0e\xa5\xec\xa8\x69\x13\x85\xff\xc3\x08\x5c\x87\x76\x4d\x2c\x9d\x87\x54\x9d\x1c\x51\xff\xcb\xc3\x2a\x17\xd7\x6b\x9a\xe5\xb4\x68\x58\xd4\x15\x9a\x4b\x16\xe9\x59\x30\x1a\xb5\x63\xba\x73\x99\xb0\x39\x25\x84\x12\xb1\xb3\xde\x8b\x62\x2a\x0e\x27\xdf\xb2\x94\xca\x50\x2e\x90\x14\x76\xe8\xdc\x4f\x52\x7c\x5c\x04\x51\xb0\x08\x7e\xf5\xcf\x43\xf1\x5a\x84\x3e\x21\xdb\xb2\xb2\x20\x8a\x98\x88\xdb\xb6\x4d\xa8\x8c\x80\x52\x7e\x29\x02\x15\x3d\x64\xce\xc8\xff\xf6\x28\x36\x7c\x6e\x66\x43\x41\x48\xab\xce\x5b\x7e\x58\xad\xe8\x67\xb7\x5a\x0d\xf2\x24\xc0\x76\xd6\x0f\x7d\xdc\x15\xf4\x83\xdf\x46\x5d\xf2\xbf\x3f\xd8\x42\xb1\x10\xf7\xff\xcf\x8e\x8e\x57\x7c\x7d\x47\xe3\xcb\xc7\x75\xf4\x6f\xd6\xd9\xbf\x41\x15\x8e\x6b\xbc\xbc\xbb\x4b\x2a\xfa\xb1\xa8\x19\x77\xaa\xb6\xbb\xd0\x09\x62\x5b\xeb\x5a\x47\xfc\x31\xba\xa6\x18\xdd\xa5\x4a\x45\x49\x0b\xe9\xc6\xfd\x03\x1a\xf2\x41\x57\x5e\x2c\x17\x3f\x28\x5a\x1b\xe4\xb7\x3a\x43\x91\xa7\x2c\xff\x30\xb3\x57\x5e\x86\x6a\x88\x3d\xd0\x60\xb3\x6a\xa7\x58\x0b\x53\x27\xb5\x07\x8c\xb4\xbf\x12\xcf\x53\x3d\xbb\x43\xfe\x0f\xb2\x86\x4e\x21\xb1\x60\x7b\xac\xad\x0d\xe2\x05\xd5\x1c\xf8\x53\x1e\x27\xba\xf1\x08\xaf\x50\x4a\x6b\x83\x53\x08\x35\x11\x93\x78\x5e\x62\xac\x9b\x22\x14\x42\x5f\x98\x85\xe8\x01\xc1\x06\xf2\xf2\x58\x19\x63\xd2\x06\xe4\x77\x77\x72\x1d\xb0\xc0\x84\xa0\xed\x59\x6e\xb0\xad\xee\x11\xdb\x5c\x73\x90\xc5\xda\x7c\x8a\x27\x2f\x37\xe6\x35\xc5\xe7\x0a\x67\x53\x3f\x99\xed\xc5\xab\xfc\x7e\x36\xb9\x11\x25\x3f\xdf\xd3\x8c\xad\xb3\x88\x67\xc1\x3c\x60\x49\x9a\x1d\x3e\xcc\x37\xd7\x08\xfc\x13\x7e\xe6\xb1\x09\x3f\xbb\xbb\xdb\xb2\x28\xf9\x8b\xdc\xc7\x3d\xe1\x67\xd2\x50\x94\xaa\xdf\xde\xae\xc5\x02\xd9\x58\xab\x37\x21\x28\x5e\xa0\x6c\x79\x12\x12\x8a\x47\x03\xa8\x38\x12\x70\xb6\xa6\x74\x61\x5f\xef\xba\xf1\x58\x22\xea\x05\x2f\x3f\xef\xb4\x2d\xb7\x02\xf2\xb2\x0a\x62\xb9\xe6\x3a\xe2\x0b\xa1\xbe\x7c\x3e\xbd\x5c\x77\x7f\xa9\xe4\xfb\x56\xde\x05\x79\x48\x67\x19\x85\xd2\x1c\x6f\xdc\xbf\xbc\xa1\x6f\x02\x75\x67\x56\x80\x9b\x4c\x5b\x2d\x36\x09\xce\xc6\x49\xab\xa5\xf3\xbb\x3b\xf2\x17\x22\xc6\xdb\x24\x38\x33\x44\x2f\x4d\x82\x33\x71\x96\x2c\xc1\xd3\x3b\xc5\x3e\xa2\xc9\x23\x1b\x2a\x37\x83\xae\x5d\x19\x12\xdc\xd0\x19\x85\x1a\x1e\x8d\xb2\x49\xac\x9b\xb1\x9a\x88\xf5\xa3\x8c\x90\x55\x1f\x06\x89\xbf\xf4\x31\xf8\x84\xb7\x85\xae\x4a\x9e\xa1\xf6\x90\x5e\xb1\x24\x65\x5f\x0a\x70\x5b\xb8\xa4\x5b\x7b\x21\xa3\x14\x24\xc1\x45\x10\x61\xcc\x00\x09\x98\xe7\xc8\x63\xec\x2b\x1e\xef\xf9\x49\x12\xf8\x17\xec\x08\x69\x56\x90\xf5\x37\xd9\xfd\xfe\x69\x9c\x7c\x16\xf1\x4b\x14\x70\x29\xb3\x08\xf7\x2a\x0c\xa2\x6f\x65\x28\xcc\xa2\xea\x2c\x32\x4b\x78\x91\xbe\x3c\xa7\xd4\xe2\xcf\xc1\x8c\xc5\x95\xc6\x62\x9e\x0c\x23\x90\xf8\xd3\x6f\x8c\xb3\x99\x8c\x48\x20\xe0\xca\xb9\x8f\xde\xe9\x2b\xf6\xb3\xd7\x2f\x9c\xc6\xc8\x90\x1e\x91\x51\x03\x96\x71\x9a\xdd\x2c\x79\x99\x1d\xe4\x17\x65\x8b\x47\xe6\xf1\x26\xfb\x06\xc9\x28\x84\xc6\xc1\x42\x1a\x42\x6a\x3e\x57\x61\x49\x96\x71\x2a\xee\x2d\x15\xa7\x35\x6a\x98\xf3\x6d\xea\x0d\x51\xf5\x32\x12\xbd\x02\xed\x72\xbb\x6e\x23\xb6\xca\x86\xd8\x3c\x8c\xa3\x6c\x36\xcb\x5b\xcd\xef\xee\xf2\x86\xb3\xa2\xf5\x6a\xc4\x5c\xdd\xfe\x5f\xa4\x56\xdc\x73\x9f\x9d\x99\x43\x2e\x8e\x4b\x9b\xcf\x33\x84\xc1\x8c\x45\x5c\xea\x12\xa5\x55\xde\xb2\xdb\xd4\x60\x93\x07\x61\x26\xfc\xec\xcc\x53\x61\xe8\x55\x3b\x5e\xd4\x39\x33\x56\x6d\xfe\x16\x2c\x45\xe4\xf4\xd2\x29\x51\x6c\xc9\x49\xfc\x8d\xc9\x29\x34\x09\x22\xce\x2e\xf0\x3a\xe0\x04\x23\x0a\x1b\x99\x9e\xf4\x92\x0e\x5e\x15\x9e\x5d\x21\x48\x72\xda\x72\x70\x69\xb8\x25\x6c\x87\xc7\x9f\x96\xcb\xe2\x89\xf5\xe0\x51\x1c\x68\xb5\x1e\x04\xe9\x5c\xfa\xe9\xc7\xeb\xe8\x30\x89\x97\x2c\xe1\xb7\x7a\x60\xa8\xfd\xba\x0f\xf3\x2e\xc0\x8d\xf5\x6c\x92\x9e\xb5\x5a\xa8\x96\x21\x29\xe3\x3b\x21\x5b\xe4\x29\x85\x7c\x07\xba\x2a\x0e\xc2\x2b\xdb\x66\x8c\xa1\x94\xb7\x65\xde\xe7\x91\xfc\xd7\xb7\x4e\x32\x71\x5d\xcb\xd4\xeb\x86\x56\x35\xd0\xa5\xa2\xe2\x7d\x63\xb7\x65\x82\xb2\xbe\xda\x58\xc9\x24\x38\xbb\xcf\x88\x26\xe9\xed\xe2\x3c\x0e\xc9\x96\xea\xc1\x7a\x75\xd9\x61\x0d\x29\x1c\x5a\x9c\x68\x85\xbe\x17\x82\xf3\x17\xc4\x20\x08\x69\xa2\x58\xdd\xeb\xae\x89\xfa\x4a\x74\xab\xe1\x11\x3d\x6e\x78\x60\x3f\xfb\x8f\xe8\xe7\xe8\x6c\xcc\x26\xfe\xd9\xdd\x9d\x0e\x7f\x3c\xf2\x17\x62\xdc\x67\xeb\xa2\x85\x11\x41\x49\x5b\xda\xe6\xce\xf4\xd2\x10\x07\x72\x83\xb9\x2e\xc2\xed\xe6\x8e\x42\x13\x67\x78\xe2\x17\x4f\xa7\xf9\x30\x23\xd2\xb8\x9f\x5c\x30\x0e\xdd\xa3\x82\x80\xf9\xb3\x2b\x3f\x9a\x32\xdd\xc2\x75\x59\x40\xec\x6d\x44\xfc\x3e\x48\xd3\x20\xba\x28\x63\x52\x7e\xd4\x46\x9d\x24\xd4\x7e\x5d\xd5\x57\xc6\x3f\x5b\x33\xfe\xb3\x93\x48\x4c\x48\x43\xe6\xbb\x89\xb1\x5f\x1b\xf6\x12\x4c\x44\x98\x40\x98\xb5\x7d\x28\x4e\x96\xad\x1b\x01\xf2\x6d\x75\x00\x48\xa4\x85\x29\xc8\xfa\xb2\x13\x09\x7c\x36\xde\x38\x64\x0a\x07\x10\x15\xf6\xfb\x0d\x42\x2f\x38\x52\x95\xf9\xe6\x3e\x60\xec\xdb\xda\x10\xa7\xcf\xf2\x58\x32\x77\x77\xcf\xc8\xb3\xec\x69\x2d\xaa\x37\x59\x7d\xeb\xcc\xe1\xf4\x52\xdd\xbd\x3d\xf1\xdb\xbf\x7e\x3d\x7b\x1e\xac\x27\xec\x8d\x18\xbc\x8f\x40\x65\xb6\x47\x67\xcf\x37\x58\x3e\x94\x97\x52\xfc\x46\x1c\xff\x59\x83\x32\x23\x28\xe2\x8d\x4b\x05\x43\x91\xd5\xae\x6a\xf4\xb8\x58\x79\x3e\x3c\x28\xcb\x06\x68\x99\x05\xd9\x2c\x54\x62\x2d\x74\x46\x11\x33\x12\x58\x2c\x75\x3f\x2e\xe2\x93\x17\xa6\x57\x70\x49\xa1\xaf\xe1\x51\xd0\x65\x1c\x92\x91\x35\x82\xa4\xe5\xac\x53\xa3\xe0\xef\x1b\xe5\x32\x53\x8c\x1c\xd8\xba\x4e\xb2\xca\xcd\xaa\x30\x7f\xab\x99\x5f\x9b\x34\x79\x51\x7d\x97\x1c\x2c\xa8\x48\x1d\xff\x43\xa9\x32\xdb\xa3\xaf\x67\xdb\xcf\x2f\xd6\x89\x56\xa1\x89\x0d\x52\x6f\xe6\x62\xa1\x62\x59\x34\xfa\x29\x6d\xab\xd5\x22\x37\xa4\xec\xdc\x49\x3f\x2c\xf3\x1d\x2d\x6a\x19\x3b\xaa\x42\xbd\x81\x5e\xf3\x06\x84\xd7\x6f\xcf\x05\xc1\x86\xbb\x09\xf8\x74\xb6\xfd\xfc\xc2\xd8\xd0\xaa\xfa\x50\x16\x72\x0d\xfe\xb2\x6a\x14\x48\xc6\x33\xf2\x4c\x44\xdb\x79\x86\xd1\x76\xea\x6c\x17\x88\x34\xd5\xd3\x75\xa3\x50\x38\x0e\x08\x4e\xf4\x11\xbb\xd8\xbf\x59\xea\x64\x72\x7a\x7a\x7a\x4a\xb6\x31\x34\x36\x25\x17\xaa\xdc\x5a\x4f\x0f\x4f\x97\x86\x7e\xca\xdf\x44\x33\x76\xe3\x29\x60\xba\x95\x60\x80\x7a\xbd\x50\xa8\xd9\xad\x90\x0b\x23\x05\xb5\x17\x06\x9c\x25\x18\x2a\x02\x34\xfc\x76\x43\xf7\xe0\xe9\x49\x55\x53\xa1\xfa\xb6\xa5\x82\xbc\xc9\x66\x16\xdf\xa9\x02\x00\x24\xd8\x77\x77\x47\x4e\x4f\x0b\x56\x18\x74\x0a\xf2\xb3\xfa\x22\x9b\xca\x4f\x2f\x3d\x8f\x1b\x6b\xd5\x88\x08\x2e\xb4\xad\xca\xd1\x2a\xcb\x8b\x47\x4c\xf3\x62\xdb\x05\xbb\x28\x4e\xbd\xeb\x4d\xd6\x61\x23\xab\xd6\x4b\x94\x8c\xe9\x56\x9f\x2e\x3c\x23\xcf\xdc\x67\xe4\x19\x25\xcf\x88\x4b\x9e\x11\x0a\x4d\x76\xe1\x87\xfa\x2e\xf9\x5f\x09\x3d\x77\x71\x1f\x39\x73\xc9\x9f\x08\x9d\xbb\xe4\x74\x4e\x68\xe4\x92\xd3\x88\xd0\xc4\xc5\xed\xbc\xdc\xc5\xdd\xe4\x57\x2e\x39\xbd\x22\xf4\xc6\xad\xd5\xb1\x7e\x78\x9f\x7d\xb7\xef\x61\xb8\x8c\x37\x7c\x61\xce\x06\x12\xa3\xd6\x00\x06\xcd\xea\x69\x35\xf4\x9e\x5c\x03\x2a\xdd\x2d\xd5\xd5\x6a\x41\xa5\xea\x1f\x28\xa9\xd8\xe4\x26\x8b\x50\x07\x59\x54\xf1\xe9\xa5\x70\x81\xb8\xc7\x26\x32\xe3\x6c\x9d\x35\x6a\x38\x2b\xc9\x5b\x2d\x9d\x7b\x3c\x8f\x3e\x62\x18\x94\xaf\xef\xf2\xa6\x95\x14\x11\xb9\xeb\x22\x8c\xcf\xfd\xb0\x81\x6e\xd0\xa6\x49\xe4\x87\x62\xfe\xec\x6a\xc7\x4b\x3f\xd2\x96\x02\x4f\xaa\x2d\x56\x29\xd7\xce\x99\x26\x8a\x13\xf0\xfa\xeb\x43\x5e\x35\xb0\x3e\xee\xc5\x47\xc7\xbb\x3b\x56\x1c\x8d\x13\xf3\x4c\x6a\x91\xad\x0c\xc5\x26\xf3\x81\x9e\x82\x36\x8f\x13\x31\x99\x1f\x57\xa7\xe8\x45\xe4\x56\x75\xe4\x51\xa8\xae\x91\x61\x12\xa6\xbe\x8a\x04\xca\x3f\x0b\xd2\x7f\xb9\xc9\x46\xac\x9b\xb2\x67\xfe\x6f\xb5\x23\x9e\x9f\xa6\x32\x34\x50\x26\x4a\xf2\x38\xf7\xf3\xd3\x74\xfb\xf9\xc5\x62\xcc\xd7\xf1\x37\x29\x12\x82\x2e\x82\x60\x77\x62\xa8\xe8\x4f\xb8\xb6\x90\x17\x37\x1e\xd9\x02\xca\x5a\xad\xb6\x95\x19\xce\x4e\x00\x85\x3f\xce\xf5\x46\xad\x9d\x75\x4a\x1c\x31\x2d\x9e\x43\x87\x6c\x13\xaa\xcd\xe3\x55\x34\x2b\xca\xfc\x7d\x81\x2f\x05\xe7\xd9\xfb\xde\x9c\x5f\x9a\x49\x79\xdf\xf1\x80\x80\xab\x96\x85\xf7\x4e\x8e\xde\xb9\x72\x6d\x78\xef\xe3\x87\x93\xa3\x8f\xd9\xe3\xee\xbb\x13\x11\x49\x86\xbe\xdf\x3f\xd9\x95\x61\x64\xd6\x54\xa1\x26\xa4\xde\xf7\xfd\xe3\xbd\xdd\xc3\x7d\xd7\x1e\xd2\xfd\xe3\x3d\xf8\x73\x60\xb9\x96\x65\xd3\x03\xdb\xb5\xac\x2e\x3d\xe8\xba\x96\xd5\xa3\x07\x3d\xd7\xb2\xfa\xf4\xa0\xef\x5a\xd6\x80\x1e\x0c\x5c\xcb\x1a\xd2\x83\xa1\x6b\x59\x0e\x3d\x70\x5c\xcb\x1a\xd1\x83\x91\x6b\xd9\x26\x3d\xb0\x4c\xd7\xb2\x2d\x7a\x60\x59\xae\x65\xdb\xf4\xc0\xb2\x5d\xcb\xee\xd2\x8f\x1f\xf6\xdd\xde\x88\x9e\x7c\xf9\xe8\xf6\x4d\x7a\xf2\xf3\xd1\xfe\xbe\xdb\xb7\xe8\xc1\xc7\x4f\x47\x6e\xdf\xa6\x07\x6f\x3e\xef\xbb\xfd\x2e\x3d\x7e\xf3\x37\xb7\xdf\xa3\xc7\xfb\x9f\xf7\x3f\xb8\xfd\x3e\xdd\x7f\xf3\xd3\xcf\x27\x6e\x7f\x40\x3f\xbc\xf9\xb0\xef\xf6\x87\xf4\xef\xfb\x47\x1f\xdd\x9e\x43\x5f\xed\xee\xbd\x3d\x3e\xdc\xdd\xdb\x77\x1d\xfa\xea\xed\xf1\x21\xfc\x39\x76\x1d\x7a\xb2\xfb\xca\x1d\xd1\xbf\xba\x8e\x45\xbf\xb8\xce\x90\xee\xbb\x83\x11\x3d\x72\x1d\x9b\x9e\xb8\x4e\x8f\xfe\x9b\xeb\x8c\xe8\x27\xd7\xe9\xd3\x37\xee\xb0\x4b\x3f\xba\xc3\x11\x3d\x74\x1d\x93\xee\xed\x1e\x1e\x7f\x7d\xf7\x71\xef\xad\x6b\x8b\x87\x62\x1a\xfe\xee\xba\x83\x3e\x3d\x76\x9d\x2e\x7d\xed\x0e\x1c\x7a\xe0\x0e\x4d\xfa\x93\x3b\xb4\xe8\xcf\xee\xd0\xa6\xff\xea\x0e\x7b\xf4\xad\x3b\xec\xd3\x77\xee\x70\x40\xf1\xbc\x87\x6b\x75\x21\x01\x7f\x8e\xf6\x4f\x3e\x1d\x7d\x90\x29\xf8\xf3\x77\x77\x64\xd2\xbf\xb9\x8e\x43\xf7\xdc\xc1\x90\x7e\x76\x9d\x01\x7d\xe5\x0e\x06\xf4\x83\x3b\x74\xe8\x7b\x77\x38\xa4\xa2\x75\x5d\x9b\x1e\x1f\xc2\xef\xe1\xd1\x9b\x0f\x27\x5f\x8f\xf7\x8e\xf6\xf7\x3f\xb8\x3d\x78\x3e\x39\xde\x83\xc4\xf1\xde\xd1\xc7\x77\xef\x04\xed\x56\xaf\x4f\xf1\x9c\x01\xa6\xf0\x68\x81\x6b\x8d\xe8\xab\x23\xfc\x23\xce\x14\xb8\xbd\x3e\xa4\xe0\xcf\xcf\x1f\xdf\xef\xbb\xdd\x01\x3d\xdc\xfd\x69\xff\xeb\xa7\x43\xb7\xdb\xa5\x87\x3f\x89\xbf\xaf\xf7\xdf\xed\x9f\xec\xbb\xbd\x01\xa4\xe0\xcf\xfe\x87\xd7\x6e\xb7\x2f\x40\x5f\x7f\xfc\xf2\xc1\xed\xf6\xa8\xd8\xee\x2f\x53\xf8\x17\x0a\x3b\x14\x73\x7b\x26\xc5\x6d\xf9\x6e\x77\x44\xdf\xed\x1f\x9c\xb8\xdd\x21\x95\xfb\xeb\x5d\xab\xd7\xa3\x6f\x0f\x4d\x77\x34\xa0\x6f\x0f\x2d\x77\x34\xa4\x6f\x0f\x6d\x77\xe4\xd0\xb7\x87\x5d\x77\x34\xa2\x6f\x0f\x7b\xae\x65\x9a\xf4\xed\x61\xdf\xb5\x4c\x8b\xbe\x3d\x1c\xb8\x96\x69\xd3\xb7\x87\x43\xd7\x32\xbb\xf4\xed\xa1\xe3\x5a\x26\xe0\x18\xb9\x96\xd9\xa7\x6f\x0f\xbf\x1e\xbe\xfb\x74\xec\x5a\x26\x60\xfa\xba\xfb\xfa\xb5\x4a\xbe\x7f\xf3\x01\xf3\x01\xe7\xd7\xe3\x4f\xaf\x4e\x8e\x76\xf7\x4e\xb2\xe7\x93\xdd\x23\xd7\x32\x07\x08\xf8\xe9\xdd\xc9\x9b\xc3\x77\xff\xa6\x9e\x5f\xbf\xf9\xfc\xe6\xf5\xbe\x6b\x59\x16\x3e\xed\xef\xbd\x79\xbf\xfb\xce\xb5\x2c\x13\x2b\xdb\x3f\x7a\xf3\xf1\x35\x3e\x7d\xd8\xfd\xfc\xe6\xa7\xdd\x93\xfd\xaf\x20\x91\xae\x05\x5d\xa8\x72\x0e\x3e\x1e\x7d\xd9\x3d\x7a\xed\x5a\x83\x21\x15\x1b\xca\x5d\x0b\x44\xe7\xd3\xbb\x77\xaa\x23\x2d\xa7\x4b\xbf\xbc\xf9\xf0\xfa\xe3\x97\xaf\x1f\x3f\xef\x1f\x7d\x7e\xb3\xff\xc5\xb5\x1c\x9b\xbe\x42\xd6\x7d\xd8\x3f\x3e\x86\x7e\xb1\xad\x41\x31\x07\xd9\x6b\x5b\xc3\x35\x83\x5b\x4e\xca\xb3\xa0\xaf\x1b\x8f\x49\xab\xc0\xaf\x9b\x0f\x4b\x6f\xf8\xfa\x8a\xe7\xa5\x8b\x3b\x6e\xdd\xc6\x2b\xa4\x9e\xb0\x27\xf7\x9e\x96\x77\x9d\x3e\x84\xf0\x11\xdb\x1b\x15\xca\x93\xf8\x24\xde\x48\xe0\xc3\x5b\x9c\x73\x54\xaf\x62\xce\xe3\xc5\x6f\xc5\x26\x3e\xec\xcb\xad\x13\xd3\x6f\xcd\xe8\x9e\xb2\xe3\xb1\x76\x21\x0b\x2d\x5f\xf8\x07\x42\x93\xb0\x39\x4b\x58\x34\x65\xef\xfd\xc8\x2f\xcd\x1f\xc1\x36\xd7\xdf\x17\x22\xbe\x55\xef\x95\xa3\xe4\xb9\xb8\xd4\x6a\x99\xc4\xf3\x20\x64\xe9\x73\x74\x4c\x84\x25\x6f\xa8\x4a\x15\xcf\x5f\xa4\xe3\x8f\xe7\xff\xce\xa6\xf8\xf1\x38\xd5\xb9\x51\xff\xbc\xa7\xbc\x11\x5c\xef\x63\x79\x49\x9d\x51\x3e\x61\x78\xb5\x6b\xed\x3b\x6b\x53\x1b\x38\xbb\x88\x93\x80\x29\xd3\xbb\x01\x22\x63\xb0\x47\x54\x8a\x3c\x54\x64\x77\xb9\x64\x7e\x82\x7e\x14\xc9\xd3\x0f\x16\xdb\x8b\x97\xb7\xe2\x53\x13\xc9\x92\x0f\x16\x3a\x06\x27\x23\xf5\x88\xf8\xfb\x30\x38\xca\x17\x86\xbc\xce\x92\x0f\x16\xca\xc3\x64\xab\xd4\x83\x45\xde\x07\xe9\x94\x85\xa1\x1f\xb1\x78\x95\x7a\xa4\xf4\xb8\xb1\xf0\xed\xeb\x6c\x29\x37\xf5\x26\xdf\x83\x99\xfb\x68\x66\x53\xce\x6e\xb8\x5b\xe0\xb8\xa6\xcf\xe3\x88\xa7\x54\x9b\xc6\x61\x9c\xa4\x54\x13\xd7\xad\x19\xe4\x9e\x3e\x02\x71\xd6\x07\x12\x2f\x3c\x6b\x2d\x4d\x74\xcb\xa3\x30\x28\x6e\x49\x04\x19\xf3\x1e\x55\x58\x49\x9b\x2c\x9c\x09\xdf\xa3\x0a\x67\x7d\x2b\x4b\xe7\x7d\xfd\xb8\xe2\x28\x4c\xaa\xac\x90\xac\x47\x15\x2c\xf5\xb3\x2c\x0f\x79\x1d\x72\x7f\xd6\xd8\xeb\x75\x1d\xe0\x7d\x07\xdf\xb5\x7d\x91\xb4\x17\xf1\x8c\x11\x77\xf2\x58\x3e\x61\x24\xb7\x09\xfe\xca\x50\xf6\x79\x10\x51\x9a\x07\xf6\xa4\x85\x80\xa1\x67\x94\x88\xad\x51\x9a\x1f\x69\xbb\x21\xff\x29\xd1\x66\x8c\x33\x19\x20\xc5\x9f\x7e\xfb\xe5\xcb\x25\x5b\x25\x41\xca\x83\x69\xe7\x34\x3a\x8d\x9e\x01\xfa\x67\xae\xb6\xbb\xe2\xb1\x80\xd4\xce\xfd\x14\x3d\x7f\x2d\xf2\xaf\x82\x0b\x9f\xc7\x49\x27\x94\x17\xe0\xb8\xa7\x91\x86\xff\x9e\xb1\xa8\xbd\x4a\x9f\x69\xde\x4b\xed\x19\x90\xf6\x8c\x6a\xb8\xf6\x01\xcf\x19\x35\xcf\x00\x3d\xbc\x74\xb5\xd7\x41\xea\x9f\x87\x4c\xf3\xa3\x5b\x49\x56\xc2\x42\x5c\xe8\x58\xac\xa2\x0b\x98\xb7\x9f\x46\xcf\x54\xe3\x80\x9c\x34\x5d\x2d\x98\xb6\xc7\x93\x70\x7b\x37\xe4\xda\x82\xf9\x51\x2a\x4a\x02\xa4\x6a\x7b\x0e\x09\x39\x5a\x03\x64\x4e\x4c\x06\x8a\x59\x0d\xb0\xc0\x3c\xe8\xa8\x2c\xd0\x4f\x3b\x48\xdb\x30\xd5\xc8\x73\x9e\xd0\x79\x5b\x16\x25\xe7\x71\x1c\x12\x4a\xde\xcc\xb5\x94\x71\xaa\xad\xa2\x59\xcc\x52\x8d\x5f\x32\x4d\x44\xdd\xd5\x3e\x1e\x43\xed\xed\xec\x38\x4d\xfb\xe5\xeb\xfd\x77\x5a\xc2\x16\xfe\x92\x6a\x69\xac\xf1\x4b\x9f\x6b\x25\x9a\x34\x98\xb7\xb1\x99\x16\xa4\xe5\xfc\x8e\xa2\x5e\xd2\xfc\x63\x94\x1e\x33\xae\x5d\x5f\x32\x7e\xc9\x12\x24\xd3\x0f\xb9\xfa\xba\x91\x6a\x7e\xaa\xf9\x1a\xe0\xc6\xac\x38\x11\x19\x33\x90\xa5\x68\xca\x15\x6c\x46\x48\xca\xa2\x59\xda\xbe\xbe\xf4\xf9\x13\x68\xc9\xae\x1c\x98\x64\x29\x19\xb5\x92\x96\x22\xaf\x9e\x51\xb2\x27\x62\x5f\xa5\xda\x25\x4e\x5e\x73\x62\x83\x54\x13\xf1\xe6\x67\x28\xe1\x9a\x5c\xab\xe9\x88\x7f\xda\x31\x8b\x66\x30\x3a\xf6\x8f\xf7\xb4\x65\xc2\xe6\xc1\x4d\x07\x80\xb0\x96\x8e\x02\xda\x9d\xcd\x34\xcb\x76\x34\x1e\x23\xea\x55\x84\x93\x54\x36\xd3\xb2\xa0\xfd\xd0\xfa\x20\xd2\x6e\x70\x8f\x04\x20\x28\x90\xd7\xe9\x68\x5f\xfc\x80\x63\x5c\x49\x28\xae\x6e\xd8\xd0\x30\xd6\xaa\xe6\x47\x33\x2d\x65\x4c\x03\xde\xe0\x7b\x59\x54\x53\xa3\x2b\xff\x97\xfa\xb7\x69\x47\xd3\xf4\x93\xcb\x20\xd5\xae\xe3\xe8\x19\xd7\xae\xe3\xe4\x9b\x76\xcd\xc2\x10\x86\xe8\x32\xf4\xf9\x3c\x4e\x16\x29\x74\x5b\xc2\x10\x5b\x1d\x8b\xc2\xbf\x64\x89\x00\xc6\xef\x8b\xa0\xa6\xe4\x77\x2b\xa4\x34\x8d\x17\x82\x89\x2a\x70\x5e\xda\x31\xb0\x33\x57\xb3\xe0\x3c\x64\xed\x73\x16\x86\xed\x14\x74\xe7\xc3\x1d\x2a\xf5\x2d\xb8\x67\x6d\x75\x5b\xa8\x2b\x9c\x29\x40\x17\x3f\x07\x64\x84\x92\x15\xee\x04\xfb\x74\xf4\x4e\x8b\xe7\x48\xbc\xda\x46\xa7\x01\x80\x86\xb5\x75\x34\x6d\x7f\xb1\xe4\xb7\x6a\x4d\x14\x68\x8d\x62\x4d\x92\x85\x80\x28\x74\xf2\x86\xd0\x76\x54\xb8\xfb\x13\x89\x7e\x34\xb9\xf9\x48\x78\xf6\x66\xae\xf1\x64\xc5\x68\x99\xa0\x54\xc4\x97\x63\x5a\x7e\xa3\x97\x76\x1d\x84\xa1\x26\x2e\x87\xd0\x7c\xed\x0b\x3b\x2f\x5d\x3e\xda\xd1\x2e\x39\x5f\xa6\xee\xf3\xe7\xd7\xd7\xd7\x9d\xeb\x6e\x27\x4e\x2e\x9e\x9f\x1c\x3d\x2f\x12\x99\x3e\x07\x39\x7d\x2d\xee\xb5\x81\x16\x96\x5e\x6a\x09\xfb\x8f\x55\x90\xb0\x14\xba\x6f\x11\xa4\x29\xf6\x57\x12\x2f\x84\x64\xc2\x14\x49\xfb\x72\xc9\xc4\x4a\x99\x26\xee\x66\x82\x31\x90\x32\x8e\xe2\x8b\xad\x40\xd6\x0b\x52\x7d\xce\xd9\x62\x89\xef\xfc\xf4\x5b\x86\x04\xd9\x5a\xa8\x21\x98\x6b\x11\x9b\xb2\x34\xf5\x93\xdb\x0e\x34\x29\x13\xd3\x54\x5b\xf8\xb7\xe2\x56\xaa\x4b\xb9\x6e\x54\x2c\x08\xe4\xb2\x94\x03\x82\x80\x6b\xb3\x60\x86\xa0\x62\x43\x15\xf0\x08\x49\xf7\x45\x9d\x42\xfa\x70\x98\x4a\x8d\xc8\x6e\x38\x8b\x52\x6c\xf7\x75\xc0\x2f\x91\x3c\x52\xe2\x07\x29\x56\x76\xe9\x5f\xb1\xe2\x33\x8f\x35\x79\x3f\x50\x99\x89\x9d\x67\x67\x94\xe4\x9d\xd6\x46\xff\xe9\x61\xb9\x28\xb8\x62\x24\xb9\x38\xd7\xad\x01\xd5\xc4\x7f\x06\x18\x63\x44\x42\xc9\x49\x59\x20\x30\x5b\x8c\x7d\x76\xc3\x45\x33\xa2\x58\x8b\x51\xab\x8a\x97\xbe\xba\x7c\x28\x45\xc9\x2d\x10\x86\x0e\xdd\xd3\x08\x23\x34\xfb\xd8\x48\xf6\x8e\x8f\x35\xf1\xc5\x5c\x8e\xa7\x02\x5d\x88\x7a\xcd\x60\x12\xef\xa0\x1f\x0e\xe2\x44\x63\x37\xfe\x62\x19\x0a\x6b\xbf\x4a\x42\x5d\x89\xf0\x45\x1c\x77\x2e\xc2\xe7\x7e\xc4\x66\x27\x6f\x0d\x78\x1b\x06\x11\xf3\x93\xf6\x45\xe2\xcf\x02\x16\x71\x9d\xc7\x4b\xed\x1c\x27\x8f\x54\x3b\x0f\x41\xf2\x12\x36\x33\x2a\x6d\x4c\x83\x5f\xff\xc8\x26\x6a\x80\xbf\xa3\x69\x32\xa6\x75\x0a\x42\x01\x6e\x48\x95\xd5\xea\x82\xae\x3f\x92\x14\x55\x47\x23\x6b\x2d\xf3\xcf\xf0\x1f\x24\xa7\x2c\xe2\x2c\x51\x04\x0a\x5f\x40\x18\xd0\xdf\xee\x7b\x48\x3d\x26\xc9\x13\x5e\x44\x7a\x19\xaf\x42\xb0\x42\xd1\x4c\x7b\x75\xac\xe9\xcf\x4e\x4f\x6f\x4c\xe7\x19\xd5\xfc\x6f\xbe\xf6\xcb\xcf\x46\x47\xd3\x3e\x82\xbc\x5e\x07\x29\xab\x14\x05\x13\x5b\x2c\x0e\x45\x87\xf3\x67\xc8\xdd\xcc\x3a\xb6\x17\xfe\xb2\x1d\x5f\xb1\x24\x09\x66\x2c\x7d\x12\x87\x85\xbf\x8b\x6c\x25\xf4\x19\x1a\x3e\xd0\x66\x4b\x36\x0d\xe6\x01\x9b\xa1\xd7\x11\x69\xb1\x98\x57\x6b\x6f\x38\xba\x42\x5a\x8a\x1f\x46\x34\x3f\x49\xfc\x5b\x2a\x8d\x21\xf3\xa7\x97\xda\x52\x7e\xd5\x01\x30\x68\x48\x6e\xc0\x41\x41\x4e\xe3\x19\x43\x7b\x0c\xaf\xe4\x56\x93\x02\x7e\xe1\x80\xd5\x2a\xd0\x02\x9e\xb2\x70\xde\xd1\xde\x44\x02\xa2\x5c\x7b\x63\xbd\x09\x9b\xb2\xe0\xaa\xec\x41\x54\xeb\x85\x07\xa9\xbe\x8a\x80\x8d\xc2\xf3\x9d\x98\xc4\xfd\x4e\xb6\xf1\x93\xde\xca\xb6\x46\x36\xa1\x84\x66\x4f\x26\xa1\xa4\x9d\x3d\x59\x84\x92\x4e\xf6\xd4\x25\x54\x83\xd2\xf8\xd8\x77\x1c\x72\x7f\x0f\xea\x11\x4f\xbe\xb4\xe3\xa8\xcd\x6e\x82\x47\xf8\x6c\xe5\x99\xd1\x96\x99\x89\xdc\x17\xe9\x40\xa2\x66\x41\x3b\x83\x98\xb1\x75\xe2\x10\x0c\xf4\x8f\xb0\xa3\x53\x71\xbf\xb9\x06\x55\x0a\x5d\x28\x36\xbf\xb6\xcf\xc3\x20\xfa\xf6\x24\xb9\x29\x08\x7d\x9d\x02\x44\x27\x6a\x44\xfc\xda\xf9\xad\x72\x81\x6a\xb5\xb6\xa7\xb7\xd3\xf0\x69\x0a\x6a\x62\xb1\x2e\xed\x9b\xe6\x59\x26\xb8\x68\x14\x54\x5d\x58\x79\x02\xc6\x2f\x88\xb4\x45\x10\x86\x41\xca\xa6\x71\x34\x4b\xb1\x67\x77\x35\x7e\x1d\x6b\x4c\xdc\x59\xa4\x64\x08\x48\x9d\x07\x49\xca\x41\xb5\xe0\x55\x3d\xe8\xd7\xc6\xd7\x5a\x18\x47\x17\xc5\x96\xc8\xb1\x78\xce\xb4\x38\xa2\x9a\x40\x5c\x82\x0d\x78\x11\x66\x3e\x2f\x36\xf8\xc7\xec\xa0\xaf\xdb\xfd\x3e\xd5\x4c\xf1\xff\x4e\xbf\x6a\x0c\x85\x91\x93\x3a\x51\x5e\xe1\x28\xc9\x15\x95\xc3\xfb\xf6\xd2\x0f\x19\xe7\xec\xf7\x50\x13\xe4\xa3\xc4\x21\x17\x46\x94\x9b\xa6\xbc\x5c\x59\x15\xb2\x1b\x35\xca\xd4\x8f\x80\x1b\x55\xad\x22\x46\x37\x18\xe8\x5c\xc3\x68\x30\x7d\x6b\xd4\x3e\xc0\x59\xd0\x0d\x38\xad\x9c\xa1\x98\xb1\xc7\xaa\x22\x5f\x8b\x56\x0b\x96\x04\x53\x9c\xd0\xdd\x68\x41\x24\xa7\x1a\x82\x77\x45\x82\x3f\x43\x1b\xd7\x90\x1c\x2e\xe2\x94\xe3\xac\x7a\x9a\xa6\xb2\xac\xd8\x25\xab\x69\x42\x75\x46\xd3\x70\x35\x63\xa9\xf6\x4f\x47\x3f\xbd\xa2\xda\x3f\x1d\x1d\xfd\xf4\xd3\xab\x57\x54\x03\x6f\xa6\xd3\xe9\x18\x98\xf2\x65\xd2\xc7\x99\xd1\xad\xc4\x13\xf9\x0b\x9c\xad\xc2\x14\x34\x81\x99\x41\x1a\x6b\x4b\x3f\xe1\xaa\x63\x53\x1e\x4f\xbf\x69\x7f\xb3\x2c\x40\xd1\xe1\x37\x5c\x9b\x07\xa1\x20\xf9\xdf\xe2\x15\xd2\xbb\x4a\x99\x26\x56\x18\x80\x3b\x82\xf4\x5b\x81\xb2\xd8\x3d\x42\x01\xe6\x42\x0a\x83\xf6\x5c\xdc\x81\x7a\xc1\x66\x59\x53\x52\xc0\x37\x5f\x85\x62\xb6\xf2\x2d\x58\x2e\xc1\x83\xf1\xb5\x74\xe1\x87\x21\xf0\xf3\x9c\xa1\xd4\x05\xd1\x2c\x98\xb2\x34\xd7\x32\x99\x82\x6d\xec\x6f\x29\x92\xcb\x5b\xd0\x7d\x29\xae\x9e\x3c\x2c\x89\xf9\x5a\x5a\x41\xf3\xed\xae\x78\xbc\xf0\x79\x30\xf5\xc3\x10\xb8\xb8\xbc\xd5\x16\x31\xf0\x20\x55\xc7\xd5\xd4\x84\x72\xaa\x4e\xbe\x62\xe5\xab\x94\xb5\x25\x2f\xda\x42\x43\xb6\xa1\xf0\x93\xa8\xa8\x6b\x3f\x1e\x23\xff\x8b\x8c\x96\xea\x17\x29\x3b\x67\x97\xfe\x55\x10\xa3\xd3\x81\x2b\xf5\xed\x8c\xca\x36\x6e\x39\x7d\x3a\x0d\x75\x1b\x80\xca\x9f\xf9\x62\x1a\x9c\x73\x41\x6c\x69\x05\xfc\x41\x74\x21\xf8\xcf\x93\xb0\xbd\x0c\x57\x69\x7b\x11\x44\xab\xb4\xfd\x2b\x4b\xe2\xf6\xaf\x71\xbc\x78\x8a\xdb\x63\xd6\xdd\x9e\x3d\xc0\x7b\x18\xae\xd2\xe7\x78\xd8\xed\xf9\xdf\x59\x12\x6b\x53\xb5\x74\x00\x15\x74\x4e\xa3\x37\x73\x6d\xee\x87\xa9\x02\xc7\x00\xcc\x9b\x0b\x49\x48\x7c\x8d\x6e\x50\xaa\xfd\xf2\xb5\x58\x1b\x16\x99\x81\xe3\xc9\x2f\x4b\x6d\x9c\x3e\x92\xad\x4d\xce\x1c\x2e\x87\xed\x01\xdf\x02\x96\xc2\x04\x4b\xb4\x11\xdd\xb0\x5f\xf6\x80\xd9\x97\xb1\x98\x79\x61\x73\x3a\xa7\x78\x10\x78\x1b\xdb\xb3\xbd\xa7\xe8\x2c\x01\x0a\x0c\x39\x46\x51\x30\xa3\xf6\xaa\x8d\x67\x79\x7f\x03\xb9\x9f\x35\xc4\x50\x23\xf7\xf3\x03\xe4\x7e\x56\xe4\x7e\xae\x93\x9b\x63\xcc\xc9\x65\x7e\xca\xdb\x7e\x1a\xf8\x51\xdb\x5f\x9c\x07\x17\xab\x78\x95\xb6\xfd\xb4\xcd\xaf\xe3\xb6\xb8\x59\xf7\xb7\x2f\x89\xed\xfb\x29\xd7\x76\xa1\x0e\x6d\x57\xd5\x91\xbb\x69\xa9\x98\x8d\x82\x31\x17\x15\x6a\x78\x2e\x58\x50\x17\xf9\xe7\x21\x6b\xe3\x22\x53\x3b\xbb\x44\xe9\x47\xe8\x39\x49\x56\x0c\x38\x22\x30\x8a\x65\x2b\x25\x9b\x05\x5a\xa8\x60\x0d\x40\x06\x17\x51\x2c\x96\x86\x16\xa8\x9c\xbf\xb0\x67\x61\xa8\x25\x0c\x94\xa1\xd0\xc3\xc0\xa3\xf3\x5b\xce\xb4\x2b\x96\x88\xb9\xb7\x50\xf1\xe2\xae\x85\x0a\x66\x2d\x61\x17\x7e\x32\x0b\x59\x2a\xc1\xc4\x5a\x03\x57\x52\x2e\x9b\x7a\x1e\x87\x8f\x58\x27\xaa\x19\x74\x9e\x04\x29\xf7\x39\x53\x2d\x0d\xe6\xda\x75\x66\x1a\x40\x9d\x01\x5e\xed\x1a\xcf\x4f\x6b\xf3\x38\xe2\x95\x89\x36\xce\x55\xe2\x70\xf6\xfc\x5c\x2c\xf3\x66\x33\xed\x8e\xa6\x1d\x28\x8e\x28\xb5\x28\xa2\xea\x17\xb1\x75\x34\xed\xc3\x2a\x0c\x71\x71\x24\x5b\x11\xaf\x36\x0b\xc4\x4a\xa0\x7f\x9a\x83\x6a\x96\x3b\xb1\xde\x34\x41\xb2\x74\x61\x74\xa7\x6d\xf5\x35\x50\x96\x9a\x35\x28\xbb\x05\x06\x36\x1a\x2c\x75\xbd\xe1\x0d\x2d\x8e\xd5\x4c\xae\xd4\x90\xa7\x3b\xd8\x9b\xe8\x2f\x8a\x93\xf0\x77\x1b\x39\x2f\x65\x31\x00\x46\x17\x88\xc9\xcc\x21\x2e\xde\x3d\x66\xae\xdb\x68\x75\x8e\xc1\xe7\xf5\x35\x79\x3b\xba\x72\x02\xb3\x15\xbc\xcc\x1f\x40\x6d\x72\x9d\x04\xa0\x44\x1a\x0d\x72\x8d\x2c\x04\xfe\x51\xaf\x20\x0c\xe5\x0a\x35\xd6\xcb\x63\x51\xb5\x26\xae\xfe\x0e\x6f\x15\x09\xe9\x6d\xca\xd9\xa2\x99\x92\x19\x9b\x5a\xf6\x93\xe7\x64\xb9\xd6\x38\x2a\x74\x0f\x50\xf1\x2c\x2d\xae\x03\x0a\x47\xab\x34\x3d\xc2\x2e\x84\x91\xb8\x02\xaf\x0b\xfc\xac\xd7\xfb\x7b\xda\x61\x12\x5c\xc1\x34\xe6\x3d\x4c\x9b\x2d\x1b\x28\x64\xd1\x55\x90\xc4\x11\xcc\x5d\x9e\x48\xde\xf7\x93\xfd\xa3\xf7\x2e\xc1\x15\xf4\xb6\xdd\x1f\x88\x19\xc4\x7d\x79\x0a\xa5\x3c\x97\x42\x35\xda\x95\x9f\x04\xc0\x95\x94\x96\x17\x03\x80\x5f\x30\x88\xdb\x73\x7f\x11\x84\x8f\xb0\xb1\x05\xe1\x7e\x46\x5e\xb3\x7f\xf7\x3f\xaf\xb4\x63\x3f\x4a\xb5\xf7\x71\x14\xc3\x24\x79\x1f\x14\x62\x1c\xa9\xe7\x83\x84\x31\x48\x52\x8d\xbc\x67\x51\x88\x20\x27\x52\xba\x08\xd5\x16\x71\x14\xe3\x1a\xc9\xb3\xc2\x1a\x91\x5c\x85\x92\xba\x0a\x09\xcb\xbe\x0b\x64\x92\x09\xc3\x38\x27\xff\xc9\xeb\x63\x56\x9f\x92\x20\xe2\x15\x96\x61\x8d\x80\x0b\x06\xc2\x32\xb8\x61\x61\x5a\xa8\x63\x11\x0b\xcf\xe4\x69\x93\x3f\x3f\xe2\x81\x1f\x06\x7e\xca\x66\xd5\x85\xb0\x32\xda\x6c\xb2\x23\xab\x54\xd7\xc5\xff\xe8\xca\xab\xdd\x33\xa9\xa6\x7e\xaa\xf3\xcd\x1c\xfd\x0f\x2c\xbe\x5e\xc6\x0b\xd6\xfe\xc6\x6e\xd3\xb6\xd8\xd9\xf2\x1b\xd7\xd9\x00\xdd\x73\x96\x7d\x17\x90\xe6\xb3\xd4\xdb\x59\x34\x11\xf1\x25\x08\xdc\x9d\x4a\x31\x74\x91\xa0\xcc\xe7\x13\xed\x1b\xbb\x9d\xe2\x31\x3e\x9c\x89\x4a\xab\x0e\x9a\x2c\x2b\x22\x1c\xa5\xcf\x27\xb8\x9a\x95\x36\x21\x15\x35\x62\x7b\xbf\xb1\x5b\x75\x9d\xd0\x13\xbf\x44\x67\x6b\x72\xbb\xda\xc2\x5f\x82\xed\xc7\xa5\x40\xf9\xb1\x08\xf4\x48\x7e\x10\x0a\xa8\x7d\x5b\x78\x9b\x4d\x44\x35\x70\xec\x61\x86\xbd\x00\x3b\xa0\xf6\x83\x42\xc9\x54\x9b\xc7\xa0\x29\xd9\x4c\x3b\xbf\xd5\xc4\x47\x46\x68\x90\xc4\x24\xda\x26\x27\xc1\x33\x36\x0d\xc0\x72\xc7\x89\x76\xc9\x6e\x7c\xf5\x28\xa6\x80\x29\xc5\x19\xbc\xf8\x16\x98\x6d\x1e\x93\x68\x24\x79\x0d\xb3\x69\xb5\x22\x0e\x13\x55\x64\x7f\x9c\x69\x4b\x2a\x97\x04\xe4\xc7\xb2\x12\xd2\x03\xac\x6b\x0e\x4e\x03\xbb\x59\x86\x7e\x84\x1f\x1c\xd4\x1c\x79\x0e\x1e\x06\xa7\xf8\xb9\xaf\xb2\x8a\xfe\xee\xcb\x51\x34\x13\x6b\x7b\xc7\xb8\xac\xa7\x15\xbb\xe6\x34\xfa\x7e\x1a\x69\x1a\xfa\xd0\xed\xdd\x90\xb7\xdf\x12\x57\x23\x95\x1d\x55\x84\xe6\x30\x62\xd2\xf2\x0e\xa0\xf0\xea\xf2\xc2\xab\x9f\x21\xf3\xf4\xd9\xcf\xfb\xef\xde\x7d\x3c\x3d\x8d\x4e\x9f\x91\xd3\x08\x57\xfc\x16\xfe\x4d\x5b\xb4\xba\xad\x3a\xea\x61\xe9\xcf\xf6\x80\x58\x2c\x53\x3b\xef\xfd\x1b\x4d\xec\xf5\x86\x86\xfb\xda\xeb\xbd\x63\xaa\x7d\x3c\xde\xa3\xda\xe1\x7b\x64\xde\xee\xe1\x71\x2e\x29\xe7\x0c\x06\x2c\x38\x0f\x17\xc1\x15\xd3\x56\x4b\x14\xd9\xdc\x4d\x15\xdd\x0e\x63\x13\xaf\x69\x11\x83\xd3\x4f\x58\x7b\x0e\xa9\xdf\x38\x3e\xa7\x71\x74\xc5\x12\xae\x21\x6a\x21\x77\xa2\xa7\x83\x44\x3b\x00\x91\x61\xff\xb1\x0a\xae\xfc\x90\x81\x33\x98\x4f\x0c\x43\x56\xfe\x54\x2b\xbe\x30\xab\xaf\xbb\xa9\xa4\x96\xfb\x72\xd5\x5e\x7e\xbc\xfe\xa1\xb9\x6b\xf5\x23\x7c\xf6\xc9\x5d\x8c\x73\x5f\x0b\x99\x3f\xc3\xb3\x3f\x58\x89\x5c\xe5\x14\x14\xc4\xab\x94\xb5\xc5\x9e\x87\x69\x18\x4c\xbf\x3d\x76\xfa\xd6\xe4\xb8\x3c\xc3\x0c\xf0\x40\x85\x5f\x2a\x96\x32\xce\x57\x9c\xc7\x91\x86\xd8\xd3\x7c\x41\x2d\xff\xee\x08\x83\xe4\x4a\xac\x75\xce\xd8\x92\x45\x30\x58\xd4\x70\x90\x04\x22\x51\x6d\x81\x89\x64\x93\x07\xc0\xf5\x21\xe6\xcc\x15\xcb\x3d\xa8\x08\x25\x9b\x71\x77\x47\x4b\xd2\x01\x79\x6c\xa6\x2d\x82\x29\x48\x4a\x22\x9c\x28\xfc\xc0\xd7\x80\xfd\x09\x2d\x2f\x6c\xb7\x31\xa9\x45\x6d\xda\xa5\x3d\xda\xa7\x83\x33\x4a\xde\x63\xd3\x11\xb1\x64\x00\x4a\x75\x54\x9f\x2a\xa8\xa5\xfa\x3c\x8b\x6a\xd7\x38\xe1\x52\x93\x8e\x45\x30\x83\x26\x95\xb8\x29\xbe\xc2\x45\xed\xbf\x59\x56\xe1\x93\xbe\x2e\x74\x26\x74\x75\xb6\x5f\x04\xbf\xcc\x44\xda\xdf\x2c\xab\x8a\xb7\xa1\x93\xf4\x34\x40\xcd\x0c\x53\x1d\x9f\xc3\x58\x93\x0b\x40\x0b\xc1\x07\xe5\xbc\x8b\x86\x5d\x05\xfe\x3a\x02\x0d\x6c\x97\xa9\x79\x9e\xe8\x0a\x7d\x99\x04\x0b\x3f\xb9\x35\xe4\xfb\xce\x69\x64\xc1\x4b\x59\x54\xf7\x57\x37\x41\x18\x94\x01\x6c\x00\x10\x44\xea\x62\x95\xba\xfc\xfe\x49\x82\x74\xba\x4e\xd4\x4f\x7f\x2f\x79\x82\xe1\x74\x1d\x27\xb3\x36\x1e\xdd\x6e\xe3\xe9\x94\x36\x94\x7b\x8a\x48\x91\xc9\x2f\xa7\xa7\xe9\xe9\xe9\xe4\xf4\xf4\x4c\x37\xbe\xdf\xbf\x78\x79\x4a\x9e\x9d\x9e\xfe\xb2\xf5\x2f\xff\xf4\xcf\x7f\x6e\xfd\x85\x8e\xdd\xff\x72\x56\xf0\xa3\x9e\x1d\xb1\x8b\x55\xe8\x27\x60\x49\x12\x96\x7d\xd1\xbe\xf4\x43\x2e\x8e\xc7\x48\xfb\x04\x1c\x10\xfd\x90\x72\x3f\xe1\x86\x50\xba\xd9\xf2\x9a\x6c\x39\xcc\x6d\x61\x76\x21\xd7\x4e\xfd\xc2\x97\xa7\x69\xe8\xa7\xa8\xf7\x12\x86\x0b\xd9\xd2\x0c\x4e\x0b\xd3\xfc\xce\x69\xf4\x85\x69\x3e\xce\x5d\xc8\x3f\x08\xaa\x68\xd2\x21\x85\x0f\x27\xe0\x7c\x2f\x7d\x7e\x99\x6a\x73\xfc\xe6\x1f\xc1\x5c\x06\x09\x52\x33\xd2\x38\x65\x38\x2e\x6b\x7c\x7c\xe4\xe4\xf9\x29\x8c\xfc\x47\xa7\xc4\x4a\xf2\x04\x56\x4a\xa1\x64\xd1\xec\x8f\xe1\x64\xa3\x28\x89\xa1\xf2\x7b\xf0\xe0\xec\x2f\x0f\xb7\x5b\x1c\xae\xf2\xc3\xb0\xfc\x0d\x34\xfb\x50\x22\xa8\xf9\xbd\x04\xe7\x34\xfa\x94\x8a\x0f\x22\xec\x66\xa9\xbe\x72\xe6\xab\xbf\xe9\x2a\x41\x67\x3d\x90\x1f\xb2\x50\x66\x70\xce\x10\x07\x91\x30\x64\x4b\xff\xe2\xf7\x74\xca\x01\x9d\xb6\x5a\x3e\x9f\xc5\xd7\xd1\x13\x1d\xf3\x7a\xd1\x47\x39\xe7\xa5\x62\x6b\x1d\xf4\x32\x54\xee\xa4\x93\xa5\x9f\xa6\x6d\x3f\xe4\x6d\xe1\xd2\x3e\x75\xd3\x68\x71\x19\xad\xe8\x4e\xe4\xeb\x35\x50\x01\xee\x3d\xb4\x3a\x9d\x91\x1a\x08\xd2\xb9\xc9\x95\xb1\xdc\x4a\x77\x2b\x96\x4e\x92\x55\x14\x41\x37\x89\xcd\x44\x41\xa4\xf9\x99\x3b\xc4\xfd\xf3\x7c\xc3\xe2\x6d\xbc\xd2\x66\xb8\x57\x0d\xbf\xfb\x0a\xdb\xf5\x2c\xd5\x4e\x89\x88\xf3\x8b\xd5\xf9\xe7\xa7\x44\x53\xd1\xd3\x34\x7f\x3a\x65\x21\x4b\x7c\x1e\x27\xc0\x4b\xdc\xcf\x14\xc5\x3c\xab\x12\x2b\xe3\xfe\xb9\x16\xf0\x67\xa9\x76\xce\x38\x17\x1f\x17\x54\x5f\xa4\xac\xe8\xca\x89\x85\x16\x24\x07\x66\x0e\xc2\xd5\x5f\xa5\x18\x6d\x44\xbb\x0a\x16\x60\xbb\xd9\xc2\x9f\x0a\x59\xcd\xa4\x24\x63\x07\x76\xf3\x39\x53\xdb\x08\x41\xe7\x15\xd9\xa3\x15\xfc\xc2\x5a\x99\x14\xac\x54\x81\x0c\x01\x8d\xbd\x52\x70\x0a\xf2\x4d\xb6\xd9\xde\x3c\x69\xf6\x51\x3a\xa4\x99\xc6\x53\x86\x99\x38\xe0\x82\xfc\x1f\x2a\x0f\x38\x5b\xf8\x9f\x02\x51\xfe\x78\xf4\x54\x89\xa8\x17\xfa\xe3\x44\x02\x67\x1c\x7f\xa8\x48\xbc\x87\x1a\xfe\xa7\x48\x64\x22\x91\xf3\xe3\x09\x22\x51\x2f\xf4\x07\x8b\xc4\xd5\x6f\x9f\x79\x22\x9e\xcf\xda\x05\xe3\x29\x4a\x82\xb0\xe7\x48\x2b\xd4\x25\xb7\x33\xb5\x99\x3a\x02\xf2\xf8\x75\x03\xb2\xe2\xf3\xb6\x43\xe8\x44\x25\x48\xe2\x5f\x8b\x93\x0b\x62\x8e\xcd\xf2\x8b\xbc\x45\x11\x9c\x1f\xcd\x7c\xee\xe7\xbb\xa8\xb2\x0d\xb0\x48\x91\xdc\x26\x11\xcc\xc4\xa7\xfe\x14\x37\x2c\x3c\x43\xf4\xcf\x90\x55\xcf\x12\xff\x5a\x6c\x51\x13\x56\xb6\x1d\x47\xe8\x5e\xf0\x24\xfe\xf6\x08\x27\x2c\x3f\x7d\xd2\xf4\x8d\x59\xa0\xcc\x06\x08\x6e\x7f\xc4\x0f\x37\xd1\xad\x96\x55\x52\xa9\x3c\x5e\xf1\xe5\xea\x11\x2e\x70\xa1\xe6\x06\xbf\x66\x5d\xcd\x99\x47\x23\xaa\x29\xd4\x7d\xee\x27\x6d\xb9\x23\xe7\x07\x9b\x7d\x72\x89\xdf\x09\x71\x97\x43\xc1\x63\x5a\xa8\x35\x1b\xd9\xc6\xeb\x4b\xc6\xc2\xf6\xc2\xbf\xc5\x15\x91\xb6\x9f\x24\xf1\x75\xfb\x71\xeb\x37\x8d\x6d\xc6\xe1\x2e\xbe\x44\xc8\xcd\xfe\x2c\x91\x93\xda\x74\x9a\x30\x16\x69\xe7\xab\xf9\x9c\x25\x62\x17\xcb\xeb\xfd\xbd\xbd\xb7\xef\x35\x7d\x37\xbf\xbf\x41\x13\x17\x38\x68\x18\xee\x2b\x9b\x5f\x32\x2a\x27\xba\x48\xaf\x62\x28\xee\xd3\x97\x53\x46\xb6\x58\x85\xb8\xb7\x1b\x5a\x20\x16\x7b\x50\x23\x70\xa5\x34\x38\x5b\x2c\xe3\xc4\x4f\x82\xf0\x56\x9b\x89\x73\x2e\xa8\x0d\x2e\xe3\x30\x77\x71\xd1\xdd\xfb\xc6\x6e\x73\xbd\x59\x98\x34\x4d\xe3\x05\x4b\xb5\xd5\x52\xa8\x50\xd1\x48\x70\x0d\x93\x54\xd3\x43\x96\xa6\x06\x28\xa3\x44\xae\xfa\x2c\x7c\xe1\x5d\xa6\x9a\x5a\xe4\x66\xb3\x80\xe3\x17\xc3\xab\xe0\x79\xe4\x47\x31\x82\x0b\x2c\x82\x35\xcf\xf9\x62\x75\xd3\xd0\x39\xf1\x15\x6b\x2f\x56\x21\x0f\x96\x61\xf0\x18\x0b\x92\x77\x8c\x55\xfc\xe0\x90\xa3\xc8\xbe\x6c\xe0\xe7\x06\x6d\xc6\x42\xee\x83\x3e\x15\xcc\x95\x5c\x9d\xfa\xa8\x66\xa5\xbe\x94\x1c\x47\x88\x0e\xb8\x53\xf8\x21\x3d\xbe\xd6\xe6\x7e\x2a\xd4\x01\x3a\xc9\x45\xe7\x18\x05\xea\x0f\x51\x3c\x35\x7d\xa3\xf4\x74\xa6\xf7\xd4\xc8\xfa\xa1\xfa\x83\x34\x6e\xdb\xa6\x6d\x03\x09\x79\x3a\xa3\x06\xff\xb6\xc3\x78\xfa\x8d\xcd\xa0\xae\xe2\xc7\x9c\x6c\x44\x67\x34\xea\xaf\x3f\xee\x1d\x8b\x85\x99\x37\xc7\x1f\x11\x97\xdc\x14\x50\xd8\x93\x80\x2b\xf5\x3c\xf1\xa3\x34\x94\xa7\x09\xf4\x30\xf8\xc6\xb4\x8b\xc4\x5f\x5e\x06\xd3\x14\xde\xa7\x80\xe4\xd3\xc9\x41\xdb\x51\xe2\x9b\x6a\xe9\x6a\xb9\x8c\x13\x75\x82\x25\x4e\xd5\xd6\x39\xa6\x09\xf2\xc4\x37\xb8\x48\x1d\xa1\x2a\x31\x6f\xea\x47\xe5\x0d\x5c\x9a\x8f\x46\x9a\x07\x0b\xb9\xc8\x94\xb5\x45\x2c\x60\xe6\xe7\x4d\xd4\xde\x31\xb5\xbf\x98\x07\xd3\x6f\x62\x31\x41\xd0\xb7\x8a\x70\xdb\x01\x38\x0f\xe2\x43\x31\x18\xc6\x6f\xe0\x76\xb0\x68\xc6\x70\xf9\x1e\xa1\x43\x76\xe1\x4f\x6f\xb5\xc2\xed\x2d\x52\x72\x70\x91\x5c\x04\x4f\x7d\xfa\xce\x96\xe2\x87\x66\x18\xce\xdb\x9a\xb8\x31\xac\x69\x87\x0b\xaf\x6f\x6f\x91\x3b\xbd\x92\xf6\x34\x7d\xda\x56\x47\x52\x3d\x28\x83\x67\x27\x52\x7e\x1b\xb2\xf4\x92\x89\x63\x1e\xea\xf3\x4a\xf5\x9b\x77\x16\xf3\xbe\x58\x7b\x1b\xd4\xc6\x93\x49\xc0\x61\x1e\x06\x11\x6b\xe7\xdf\xfd\x56\x29\x58\x9c\xbd\xe3\x63\xa1\x89\x70\x63\x1e\xbf\x0d\x95\xda\xcb\x82\x62\x93\xb3\xe6\x63\xc9\x59\x30\x15\x4f\x1e\x94\x16\x07\x69\xf4\xa6\x83\xda\x19\x6c\xe3\x39\xef\xce\x34\x8e\x52\x9e\xac\xa6\x3c\x4e\x9a\x0e\x67\x43\x99\xd5\xf9\xf1\xea\xbc\x16\xc6\x30\x3e\x4f\x59\x72\xc5\x92\xf4\xab\xf7\x5d\x04\x34\x41\xb8\x8e\x3f\x9b\xbd\x92\x7b\xe4\x4a\x87\xc8\xc5\xf9\xef\x88\x5d\x6b\x0a\x34\x0f\xb5\x25\x03\x15\x0a\x04\x39\xc1\x6c\x92\x9c\x79\xf5\xfc\x49\x72\x26\xcf\x76\x1b\x85\x7a\x0b\x01\x66\x56\xe7\xe9\x34\x09\xce\xab\xc1\xaf\x65\x37\x97\x68\xbf\xbb\xd3\x2b\x39\x13\x76\xe6\x4d\xce\x64\x7c\x98\x52\x76\x67\xb9\x4a\x2f\xd7\x55\xba\x8a\xd6\x55\x5b\x88\x4f\x53\x42\x27\xee\x49\x11\x61\x64\xc8\x9b\xe8\x0a\x1d\xb1\x74\x85\x1d\x8a\xc1\x7c\xc6\x2a\x80\xab\x0a\x3a\xc3\x45\xdc\xd6\x17\xa6\x2c\xf4\x21\xe6\x5a\x56\xeb\x4c\x94\x49\x3a\x29\x8c\x5e\xa6\x07\x2a\xfe\x4e\x95\xd2\xe5\xea\x3c\x0c\xd2\xcb\x12\x95\x34\x29\x5c\x71\x14\x40\x77\xb1\x17\x71\x21\x1e\x5c\xe1\x4e\x81\x80\x9a\x94\x6d\x5b\x06\x8d\x27\xec\x0c\xb8\x21\xe2\x6c\x37\xb4\x2f\x6e\xb5\xf4\xd8\x9b\x9c\x81\x8c\x4d\x7d\xae\xc7\x86\x41\x13\xc8\xdb\x89\x05\x2b\x13\xc3\x8d\xbd\x49\x72\x66\xd0\xb8\x56\x85\x69\xac\x09\x5b\x70\x3d\x25\x54\xc6\x58\x3e\x8a\xaf\xf7\x50\xb1\x88\xc7\xe3\xe0\x57\x96\x3d\x9c\xb0\x1b\xbe\x9b\x7d\xb2\xc6\x20\x07\xc7\x68\xd5\xeb\x21\x8d\x60\x92\xb0\x9b\x24\xfe\xad\x37\x39\x93\x61\x81\x70\x23\x1a\x06\x3a\xff\xea\xb1\xbb\x3b\x47\x86\x24\xe6\x25\xa4\x52\x98\xcb\x35\xa9\xab\x33\x94\x06\x31\x8a\xf1\xaa\x0f\xe5\xb9\x16\x59\x52\xd0\xaf\x43\x63\x8b\x50\x47\xf1\xf5\x87\x78\xc6\xbe\x62\xdc\xe7\xe2\x8b\xe6\xdc\x8f\xf3\x79\xca\x78\x31\xff\x3a\x4e\x66\xaf\x12\xe6\x7f\x7b\xef\xf3\xe9\xe5\x3b\x36\xe7\x6b\x5f\x1e\xe1\x35\x1b\xeb\xde\xbe\xc7\xf5\xcd\x2c\xfe\xb4\x60\x60\x41\x94\x2e\x18\x06\xec\x6f\x08\x64\x29\x1a\x88\xd1\xfc\x6b\x1c\xa5\x65\xae\x4b\x31\x33\xd6\xd5\x20\x6e\xfd\x58\x17\x2c\xb3\x8a\x66\x1d\x16\xbc\x58\x64\x6d\xc4\xcd\x02\x75\x8d\x08\x52\xc6\xf7\x72\x98\xba\x08\x95\x05\xa6\xa9\xcb\x25\xc8\x4b\x4f\x5d\xfe\x07\x28\x4b\x10\x7a\x53\xa9\x24\xbe\xa6\xac\x6d\x35\x33\x07\xed\xf2\x51\x7c\xbd\xae\x59\xea\x7d\xaa\x5b\x86\x0c\xf4\xb5\x16\x47\xba\x36\xc0\x7c\xce\x61\xa9\x59\x4c\xca\x9a\xe9\x91\xe7\x7d\x4b\x14\xd5\x06\x59\x8e\xe5\x11\x78\x1a\xc2\xd8\xe7\x88\x24\x18\xde\x36\x27\xc3\xcf\x65\x2f\xd7\xa1\x5e\xc6\xcb\x0d\x0c\x13\x6f\x37\xb1\x4b\x42\x3c\x9e\x59\x8d\x42\xda\x66\x6b\xe9\x5b\xa5\x97\x0f\xf0\x0f\x55\xe7\xe6\xe2\x65\xfa\x44\xf6\x93\xd8\x24\x7c\xbd\x32\x21\x59\xd0\xf6\x5a\x1b\x19\x35\x29\x7f\x00\x51\x5a\xbd\x50\x2f\x0b\xb3\x69\x8e\x93\x17\x5c\x45\xce\x4c\xb6\xb7\x8d\x35\x95\x6c\x27\x50\x0d\x98\x8b\xc6\x9a\x12\x06\x13\xb3\x2a\xef\x36\xf6\x0d\xa3\xeb\x3b\x3a\x43\x57\x25\xfc\x01\x8c\x6b\xf9\x80\xf6\xdd\xe7\xac\x3c\xe8\x6b\x6e\x55\x65\xfc\x03\x11\xbf\xa7\x81\x68\x24\x0e\xf7\xc7\xec\x29\xd4\x6b\x48\x52\x95\xca\x3b\xb7\x4e\xde\xbf\xcb\x6e\x2b\xa8\x00\x08\xd6\x65\x26\x11\xcc\x77\x24\xce\x2b\xcd\xc3\xf8\x9a\x18\x4d\xb4\x99\x1b\x74\xe6\x9a\x97\x0a\xa1\x27\xef\x0b\x61\x63\x19\xf7\xb2\x6c\xa5\x3b\x41\x2a\x37\x13\xea\xc6\x0e\x21\x6e\xd0\x99\xa3\x3d\xb8\x0c\x38\xc3\x6d\x87\x75\x03\xa5\x82\x15\x35\x62\x8b\xf0\x7a\x88\xf1\x86\x77\xde\x96\xd5\xe4\x2e\x74\xd2\xdb\x68\xba\x87\xbb\x94\xcb\x91\xff\x2b\x60\xc2\x97\xdf\x8b\x23\xee\x07\x11\x4b\x74\x26\x63\xcd\x56\xb8\xec\x2f\x97\x2c\x9a\xed\x5d\x06\x21\x5e\x1f\x57\x93\x82\xa4\x91\x06\x45\x22\x7f\x90\xc2\x66\x49\x89\x17\x8b\x80\xbf\x0b\x22\xf6\x51\x71\xff\x01\x69\x49\x19\x5f\x2b\x09\xea\xca\x92\x46\x73\xbb\x66\x98\x94\xae\x90\xa9\xf9\x10\xdf\xd9\x4b\xaf\xf1\xcd\x8e\x0e\x13\x9d\x38\x64\x2a\x56\xe3\x51\x7c\xad\xc5\x2b\xdc\x19\x71\x8e\x61\x0c\x44\xfc\x4c\xca\x9a\xcb\xb7\x2d\xc3\x65\x2f\xcc\x56\xeb\xf1\x78\x60\xcc\x4a\x6a\x8a\xc2\x55\xa3\x44\x38\x16\x75\x24\xe0\x3a\xd6\x8b\x03\x21\xbc\x89\x90\x8d\x68\xcc\x46\x37\xb4\x36\x84\x92\x4a\xe3\x27\xec\x8c\xc2\x04\x04\x8f\x54\xa2\xa8\x8d\x83\xbb\x3b\x1d\xb2\xe2\xeb\x88\x25\xea\xe2\x33\x29\xb3\xe0\x09\x43\xaf\xeb\x84\x18\x34\x29\x49\x68\x60\x08\x91\x4f\x3d\x13\xa7\x7d\x89\x0a\xa9\x59\x92\x96\x9d\x8c\x61\x4d\x7a\xa0\x5d\xd7\x1b\xad\x96\x1e\x78\x55\xd1\xa7\xe9\xd3\x90\x18\x6e\x93\x6e\x4d\x1a\x39\x86\xfa\x18\x64\x70\x1c\x8c\xc5\xd4\x2e\xf2\x78\x3b\xa5\xbe\x57\x9d\x08\x74\xa2\x78\xc6\xd0\xeb\xd4\x03\x11\xea\x35\xe8\x44\xec\x86\x1f\x07\xe7\x30\xd1\xbf\xbb\xf3\x5f\x46\xa5\x90\xc9\xc5\xc1\x1b\xd0\xab\x38\x98\xe9\x4d\x4a\xdc\x18\xa7\xdb\x9e\x4f\x03\xaf\x84\x4e\xdc\x22\xa1\x29\x99\xb8\xf6\x93\x48\x27\xbb\xf9\x5e\x75\x3c\xb5\x2d\x56\x72\xd5\xe1\x7a\x2d\x8e\x34\x26\x82\x1a\x88\xf1\x47\xd6\x0c\xc6\xdb\x68\x9a\x5d\x1c\xb7\xe7\x27\xac\xe2\xff\x26\xb7\xdf\x59\x76\x9b\x9c\x5e\xeb\x8c\x06\x7e\xdf\x4f\x31\xbc\x3d\x33\xc4\xc2\x41\xbd\xc6\x65\x18\x70\xc1\x88\xa6\xa9\x34\x18\xac\x38\x62\x28\x69\x5b\x96\x41\x53\x8f\xa1\x22\x93\xf1\xf0\xc6\xa5\xa7\xe6\x7e\x39\x96\xb7\xed\xa1\xe3\x42\x93\x52\x81\xa0\x73\x3d\x55\x91\x60\xd3\xda\xeb\x56\x0b\xa3\x09\xb3\x08\x09\x94\xfe\xcd\x2b\xdc\x9a\xa9\x27\x94\x15\xfb\xc4\xa0\x25\x4a\xee\xee\x4a\x25\x85\x95\x14\xa3\x63\x8d\x17\xb6\xf0\x6f\xcf\xd9\x5e\x18\x2c\xf7\x56\x09\x94\xab\x18\x67\x11\xea\x79\x83\xdc\x35\x88\xb5\x08\x1e\xfe\xa2\xae\x57\x8c\x4d\x73\x96\x1a\xb4\x8a\xaa\xfb\xf8\x49\x4c\x93\x22\x7b\x40\x27\x15\x2f\xa0\xe3\x1b\x86\xf4\xf8\xf7\x20\xe5\xb1\x8c\x14\x5c\x6c\x90\xea\x17\xac\x6d\x29\xb6\x14\x40\x1f\x2d\x8b\xb5\x81\x63\x36\x54\xb2\x6d\x19\xc5\x08\xf5\x0d\x1d\x4c\xeb\xfa\xb0\x28\x93\xa0\xb6\x92\x92\xec\x05\xc6\x43\x45\xf8\x8b\xba\x11\x7b\x2a\xcb\x4b\x3a\xb6\xa9\xaf\x9b\x35\x81\x18\x5e\xd5\xe8\xff\xd9\x6a\x62\x8d\x67\x89\xc7\x4b\xaa\xe0\x47\xdc\x53\x69\xa7\x84\x1a\xe0\xe2\x46\xd2\x8a\x13\x56\x11\xc0\x6d\x4f\x44\xa1\x8e\xbc\x7a\x8f\x6d\xb6\x0c\xdc\x68\x47\x30\x22\xfd\x17\xa6\x68\x53\xe8\xd5\xfd\xd3\xb6\x6f\x64\xb7\x5e\x54\x1c\xb6\x55\x34\x63\x09\xd0\x7f\x77\xd7\xe8\xcf\xf1\x24\xf8\xc6\xf8\x65\x12\xaf\x2e\x2e\x9b\x41\xf2\xd8\x2b\xcd\xef\xaf\xa7\xc0\x35\x75\xc3\x7b\xe5\xa5\x9f\x4e\x83\x40\xbc\x17\x37\xf4\x34\x01\xf1\x20\x64\xaf\x7d\xee\x1b\xc1\x5c\xef\x6e\x79\x1c\x9b\x7f\x72\xbb\x64\x30\x5a\x0a\xf8\x8b\xd8\x38\x96\x52\x69\x5c\xb3\x47\xb4\xaf\xd9\x34\x4e\xf0\xcb\x44\x9e\x9f\xb7\x00\x5d\x57\x19\x34\xfc\xd2\xe3\x9b\x7d\x94\xb0\xd9\xad\x2e\x29\xf4\x4b\xca\xcb\x0a\xbd\x66\xa8\xb9\x77\xd9\x38\xd5\xf2\xda\x3e\x4d\xbc\x50\x58\xe5\x92\x4c\x7a\xc9\xb6\x17\x8a\x2b\x0f\x98\x17\x6e\xb3\xb1\xef\x99\xf7\x6b\xba\x17\xf7\x1f\xb2\x34\x9f\x0b\xf0\xec\xf6\x9d\x32\x4e\xd3\xf3\xfc\x9d\x64\x9b\xb9\xa6\xe7\x45\x3b\x6c\x3b\x71\x37\xaa\x1a\x6a\xd2\xc8\xd8\x66\xdb\x9b\x81\x22\x63\x9d\x17\xb2\xed\xa5\x28\x92\x50\x9b\x60\xf7\xd4\xe3\x9d\x65\xc2\xae\x82\x78\x95\x66\xaa\x66\xae\x4f\xe5\x62\xd7\x43\xed\x9a\x66\xed\x9a\x16\xdb\xb5\x5d\x5e\x4b\x13\x2c\x9f\xae\xf5\x8d\xca\x43\xb6\x84\xc9\x30\xc6\xb3\xc7\xce\xb6\xea\x4e\x59\xb3\x74\xcc\x28\x6f\x90\x88\xd9\x5a\xf2\x52\xbc\x71\x0a\xba\x4a\xf0\x6c\xe5\xf1\xb2\x6a\x9e\xeb\xab\x47\xf2\x6b\x95\xf1\x6b\x55\x92\x03\xb6\x5d\x7a\xae\x53\xb7\x7a\x24\xf3\xd8\x1f\xc3\xb0\xd5\x93\x18\xb6\x41\x71\xce\x0c\xe3\x5e\xd8\xa0\xcc\x57\x44\x89\x45\x3d\xfc\x68\xc2\x1f\xd3\xc5\x0f\x28\x80\x59\xd3\xf0\x4f\x1b\x8d\x19\x98\x18\x3c\xc3\xfa\x80\x3d\x2b\x7a\x26\x1b\xbc\x1e\xbc\x3d\x42\x8a\xc1\x84\x9d\xc9\x09\x5c\xcd\x6c\x3d\x5a\xb5\x54\x7d\x1c\x29\x8a\x6b\x7c\x99\xd2\x5d\x09\x65\xf7\xde\xf3\x58\xc3\xc4\x26\x53\x1d\x49\xad\xbf\x6b\xe6\x34\x91\x5d\x33\x63\x21\xe3\x6c\xef\xd2\x4f\x52\xfd\xbd\xcf\x2f\x3b\x8b\x20\xd2\x13\xca\x0d\xa3\x78\xc3\xa7\xbc\x1b\x6a\x8d\x13\x5d\xc0\xf1\x48\x0f\xa2\x6e\xc3\x83\x4d\xde\x27\xde\x8d\xc2\xbc\x8c\x3e\xd6\xe0\x60\x06\x46\x36\x60\xcd\xcc\x7f\x4b\x69\x44\x7d\x8f\x8d\x61\x4e\x21\xae\x0c\x4a\x37\xfb\x0a\x94\x3f\xde\x9b\xa4\x26\x4d\x8c\x07\x14\x7c\xb2\xcd\x0c\x1a\x3d\x50\x27\x6b\x7b\x69\x3b\xa2\xc9\x8b\xb4\xd5\x8a\x5a\xad\x34\x53\xf9\xe1\xa3\x46\x19\xd1\x88\x31\xe6\x6b\xa7\x4c\x61\x6d\x80\x95\x9a\x48\x08\x8d\x3c\x13\x68\xb0\xee\x95\x55\x2f\xaa\x4c\x30\x40\xad\x16\xdf\xaa\xf5\x63\xab\xc5\xd7\x4d\xb6\x70\x41\xe4\x92\x26\xc2\xec\x76\xeb\x65\x0b\x0e\xca\xd6\xa6\x21\x90\x59\xbe\x0a\x0c\x1a\xbe\xaa\x35\x34\xea\x76\xac\x0a\xd2\xa4\x49\x36\xf4\x4d\xbd\x8a\xec\x3e\xd0\x69\x89\xa7\x0d\x35\x17\x5e\x37\xae\xc6\xe6\x13\xaf\x55\xd3\x24\xe3\xc1\xd5\x9f\x07\x57\x2c\x9b\x0c\xc1\xaa\x91\x94\xfb\xf5\x3e\xbc\x40\x35\xcd\x6e\x0b\xf7\xd7\x7d\xfc\x7b\x17\x44\xec\x98\xfb\xf8\x21\xe2\x6b\x49\x0b\xe0\xa5\xad\xac\xca\x49\x9c\xe4\x97\xb3\x3a\x97\x7e\xba\x61\xce\x60\x30\xaf\x56\xa4\x74\x4b\xe4\x3a\xb2\x80\x6b\x75\x92\x84\x72\x22\x64\x8c\x4e\xf2\x76\x79\x81\x83\xb2\xcd\xc4\x48\x6a\x8a\xe3\x44\xa9\xe3\x75\x94\xfc\xed\x28\xbe\xde\x8d\xa6\x2c\xe5\x71\xd2\xc4\xa0\x56\x8b\xfc\xad\x7d\xf4\xf1\x0b\xd9\xf2\x00\x73\x3c\x63\x1f\xfc\x05\x93\xad\xce\x86\xd9\x83\x0d\x56\xaa\xf3\x4b\xc0\x2f\xd5\x02\xf2\xd7\xda\x46\x84\xa2\x61\x6b\x5b\xe3\xc2\xfd\xf3\x55\x4a\xe5\x8e\x88\xad\x20\x87\xce\x94\xab\x67\x8e\x83\x2d\x4f\x29\xd6\xed\x4d\x23\x89\x19\x74\xeb\x01\x9e\xde\xdd\x6d\x95\xd7\x76\xb2\x0a\x2b\xac\x56\xb2\x98\x6e\x2b\x8a\x8b\x8d\x0e\x22\x90\x40\xd9\xd0\xc7\x70\x49\x14\x68\x62\x51\x51\xbf\x6d\xe5\x16\x57\x5c\x68\x5a\x7c\xb9\xd3\xb6\xdc\x0d\xb4\x14\x41\x11\xf9\x03\x84\x17\xc1\xcd\x7c\x31\x22\xf0\x4c\x0a\x3c\x4f\x5f\xb0\xce\x14\xc6\xe5\x07\x3c\xe0\x23\x3f\xeb\xa5\xdb\xdb\x6a\xb5\xb4\xf8\x7a\x92\xe2\x2e\x98\xa8\x70\x7b\x5c\xb0\x9d\x8c\x83\x8d\xbd\x15\xa9\xf1\xde\xb6\xd6\x71\x10\x90\xef\x46\x33\xa1\x43\xd6\x0b\x5b\x2e\xdd\xfc\xe5\x46\xf1\x18\xab\x8b\xc2\x7e\x50\x46\x78\xfb\x01\xf1\x5b\x23\x44\xaa\x27\x6a\xed\xc9\xbb\x63\xad\x14\xad\x29\xb3\xf1\x33\x6c\x53\xd7\x25\xaa\xeb\x82\x72\xd7\x25\x67\x74\xa3\xbb\x22\x16\xbd\xf9\x0b\x2f\x95\x7c\x20\xc7\x87\xbb\x1f\x88\xe7\x79\x41\xa6\x40\x76\x1e\x6a\x60\x40\xb9\xe1\x4e\x02\xca\xcf\x80\x87\xe9\x7d\x41\xc8\xd7\x7d\x38\x3a\xf2\xa3\x0b\x56\x1d\x31\x34\x10\x6d\x88\xbd\xb5\x35\x66\x22\x22\x97\xf7\xd5\xa5\xc3\xb1\xba\xcc\xfa\x51\x25\x13\x63\x2c\x8a\xa5\xad\x96\x1e\x00\x3d\x68\x77\xf4\x78\x62\x9e\xd1\x78\x62\x9d\x19\x14\x73\xf7\xa3\x99\x9e\x42\x5e\x0a\x79\x46\xf3\xea\x97\x38\x06\x98\xad\xbd\x57\xef\x4b\xcb\x9c\x58\xec\x6f\x6c\xf7\x2e\xd7\x4d\xc1\x77\xf0\x5d\x3a\x3c\x56\xf7\xa6\xaa\x1b\x65\x4f\xd3\xe7\x46\x69\x4b\x5a\xd5\x3a\xea\x6b\x14\x6d\x07\x8f\x1b\x66\x7e\x9d\x81\xb5\x24\x55\xae\x36\x2a\x78\xf0\xd8\x2b\xc5\x55\x86\x60\x22\xe2\x6a\x5b\x0d\xbc\x5e\x8f\x0f\x3c\x89\x02\x36\xa6\x3a\x24\xc3\x95\x66\x9f\x67\x2e\x1b\xb7\x44\x51\xbf\xe9\x0d\xee\x87\xa2\x61\xd3\x2b\xb1\x19\x8a\x5e\x96\xf8\x86\xe6\x5b\x4f\x0c\x3a\x2d\x7e\x37\x00\x96\x5f\x52\x93\xa6\x06\x5d\x15\xaf\x11\x8d\xb6\xc3\x6d\xf2\xcf\xc4\xa0\x33\x6f\xda\x49\x99\x9f\x4c\x2f\xf5\x95\x30\x61\x7a\xdb\xf2\xbc\xd9\xdd\xdd\xec\x65\x2c\x3b\x68\x59\xc7\x18\xd3\xf2\xf4\xee\xd2\x30\xe8\xbc\x74\x4f\xe9\x2f\x64\x3b\xdc\xf6\x0d\x7a\xe1\x2d\x65\x97\xcf\x11\xff\x85\xc0\xb9\xf0\xe2\xed\x32\x8a\x8b\x89\x79\x66\x8c\xa1\xf2\xc5\xdd\xdd\xe2\x45\xaa\x36\x44\x66\x23\x49\x4f\xe8\x8c\x2e\x28\xcc\x04\x3a\xfe\x6c\x86\x99\x3a\x07\x91\x15\xff\xea\xbb\xf4\xc4\x06\x3c\xb1\xef\xb0\xbc\x39\x4f\xee\xc2\x8b\xc3\xf0\x30\x4e\xca\x9f\x91\x9a\xf6\x8f\x8a\xcb\x7b\xb2\xed\x62\x87\x49\x7c\x15\xcc\x58\x92\xef\xb0\x52\xfb\xb5\x71\x13\x5a\x61\xcb\x99\x65\x52\x4b\x7d\xf2\x4c\x56\x21\x14\xc9\x37\x45\x64\x27\x6a\x55\x89\x8c\xa0\x4e\x36\xd4\x8a\x35\x4f\xb3\x8f\x2f\x30\xf2\xf7\xfc\xe9\x65\x69\x8f\x85\x72\xfa\xca\xef\xbf\xdf\x8b\xb7\xa1\x9f\x72\x31\xae\x91\xdd\xc5\x82\xf9\x2b\xb1\xc3\xad\x91\xc6\x7d\xdc\x9a\x3e\xfb\xea\x6d\x99\x79\x29\xdc\x37\x88\x5b\xcd\x64\xa6\xd8\xe6\xff\xe5\x92\xb1\xf0\x7d\x76\xaa\xe0\xab\x67\xe5\x45\x4e\xe2\xd5\xf4\x32\x27\x2b\x48\x45\xab\xd9\x6c\x3f\x9a\x65\xb8\x65\x4b\x55\xa4\x14\x21\x21\x87\x37\x9e\x35\x90\xef\x79\x12\x7e\x16\x37\x13\xa9\x2d\x0e\xb3\xe0\xaa\x48\xb7\xda\xf5\x58\xcc\xe3\x62\x57\x67\x9a\xd7\x5e\xda\x3a\x2c\xb2\x5e\xef\xbf\xfa\xf4\xd3\x57\x6f\x4b\x99\xf4\x5a\x8f\xd4\x77\x44\xa5\x19\x54\x26\x10\xa9\xd4\x62\x85\xda\x59\x34\x2b\x67\x04\xe9\x7b\xb5\x23\xbb\x94\xbb\x27\xbf\x60\xce\x8a\xfb\x64\x6a\x64\x14\xb4\xf3\x3c\x88\x66\x07\xd9\x87\xf1\xb5\x76\x95\x15\xbf\x9e\x27\xc2\x93\x00\xfd\xc4\xb3\x6d\xbd\x49\xb6\x36\x90\xa0\x52\xad\x1b\x61\x65\x80\x91\xd4\x72\xbd\xb8\x1c\x82\xdb\x82\x33\x0f\xea\x3e\xf1\x92\x26\x6f\xe2\x91\xed\x4a\x6f\xa3\x69\xf1\x33\x63\xb6\x2f\x98\xe9\xc6\xf7\x24\xe7\x71\x4c\xe5\x03\x50\xea\x05\x1d\x3f\x9a\x5e\x8a\xa9\x9c\x7a\x21\x34\x72\xf6\x4a\x3c\xd2\x44\xf5\x49\x2a\x92\xb2\xf8\x3c\x9e\xae\x52\x59\x3a\xd3\xe6\x2a\x5f\x3c\xdd\x67\xa4\xf0\x32\x29\x69\x85\x94\x22\xae\x32\x25\x05\x6c\x39\x21\x71\x89\x90\x52\x3b\x8a\x94\x14\x5b\x71\x9f\x9b\x50\xb5\x3a\x54\x90\x47\xb0\x0e\x6a\x76\xac\x1b\xb8\x4d\x36\xd3\x2c\xf9\x8a\xdc\xef\x23\xad\x5b\xc1\xdd\x5d\x50\xcc\xa1\x5b\x55\x98\x5c\x1c\xe3\x52\xfb\xc6\x71\xab\xb5\xa5\x93\x24\xbe\xc6\x3b\x51\x49\x10\x69\xb1\x31\x36\x62\x2f\x2e\x4e\xea\x82\xb9\x1e\xe7\x18\xd2\x22\x7b\xc7\x69\x0d\x41\x6a\x8c\x8d\xd4\x4b\x2b\x08\x52\x14\xfb\xb8\xa3\x20\x5f\xa4\x59\xd2\x60\x7a\xbe\x70\x91\x43\xbc\x2c\x40\xf0\x02\x44\xa1\x76\xaf\xd4\x18\xa3\xdc\x41\x2f\x4a\x7d\xbd\xc3\x74\xc3\x55\x68\x8a\x7e\x41\x65\x30\xc5\x74\x52\x12\x80\x42\x6d\x67\xc2\x4e\x47\xf2\xde\x57\xb0\x1d\xfb\xb5\x8b\xe3\x71\x2f\x8e\x06\x23\x08\x8f\x91\x65\xa3\x8b\x18\xe3\xa8\x4c\xae\xa2\xe8\xbe\xd6\xcd\x39\x0f\xb6\xbc\x9c\x09\xe5\xfd\x1d\xea\x36\xf3\x2c\x38\x04\x92\xa9\x05\xa9\x38\xda\x1b\xc7\x5c\x9c\xc8\xf5\x35\xa4\x35\x9e\xe1\x9d\xcb\x85\xd6\x64\x2e\xb8\xf1\x00\x62\x41\xf1\xc3\x98\xf3\x96\x15\x50\x57\xb4\x4d\x71\x51\x16\xbf\xe3\x35\xdc\x2f\x8c\x06\x45\xaa\xf3\x60\x9e\xf8\x0b\xf6\xd5\x63\x8d\xeb\x4d\xfb\x22\xf4\xbb\x4e\x04\x98\xda\x57\x28\x0b\xc9\x8f\x83\xd3\x34\x05\x17\xcd\x23\xe7\x71\x32\x63\x89\xab\x99\xe3\x4b\xb4\xb6\xae\x66\x99\xe6\x9f\xc7\x6a\x33\x8c\xab\xf9\xe7\x69\x1c\xae\x38\x1b\x63\xf8\x59\xf1\x9a\x50\xb2\x88\x7f\x7d\x13\x45\x2c\x11\x96\xfa\x6f\x20\xe2\x62\x87\xbf\xfa\xd6\x9f\xd5\x97\x4c\x3d\xf2\x4f\x04\xdd\xa4\xc2\x42\x57\x11\xa6\x42\xe1\x54\x2c\xe7\x7c\x11\x07\x06\xfc\xd9\x6c\xff\x8a\x45\xfc\x5d\x90\x72\x86\x2b\xa7\x09\xc3\x90\x86\xd2\x66\x46\x47\xf8\xf8\xb5\x78\xad\x61\x71\x9f\x62\x6e\x7a\x9b\x2a\x51\xbc\x1b\xf3\xce\x79\x3c\xbb\xad\x72\x67\xe1\x27\x17\x41\xe4\x6a\xe6\xf2\x66\xbc\xf4\x67\xb3\x20\xba\x10\x0f\x25\x66\x15\x38\x33\x56\xd3\x5e\x57\xbb\x0c\x66\x33\x16\x8d\xc5\x0a\x9d\xab\x5d\xf9\x89\xde\x6e\xa3\xd3\xd7\x16\xd1\x86\x64\xd0\x7c\xac\xd2\x18\xb7\xaf\xd9\xf9\xb7\x80\xb7\xf1\x54\x95\x18\x21\x2e\x5e\x34\x32\x6e\x2f\xe2\x5f\x1b\xb2\x49\xd1\x43\x50\x5c\xcf\x5a\x5b\x6c\x8e\xa4\xfc\x24\x5e\x7a\x0f\x02\x89\xbb\x3a\x3d\x32\xf5\xc3\xa9\x5e\xa4\x19\x9c\x4a\x60\x74\x5b\x34\xdd\xd0\xfe\xa2\x75\x0d\x92\x6d\xd8\xac\x0a\x1f\x22\x25\xc6\xb8\xbc\x87\x88\xdc\xb4\x61\x78\x7c\xd7\xd4\xc5\x14\xae\x76\x1e\xc6\xd3\x6f\x63\x4d\x53\x1c\xdd\x54\xe7\x58\x5c\x11\xd3\x7e\x14\xec\x3d\xa1\xbc\x73\xc9\xfc\x59\xe3\x96\x50\xe0\xe7\x5e\x9a\xbe\x0b\xa2\x6f\x5f\xeb\xd4\x63\x34\xdb\x06\xc8\xca\xb6\xcd\x84\x85\x18\x2c\x47\x1d\x9d\xab\x14\x11\x6b\x98\xeb\x58\xd3\x44\x5d\xad\xb4\x91\x39\xb2\x8c\x45\x0d\xb8\x6e\xda\xe2\x15\x29\x03\x56\xe8\x94\xc2\xce\x66\x01\x07\xb7\x99\x50\xc2\x93\x15\xdb\x5c\x26\x5d\xb2\x30\x9c\x5e\xb2\xe9\x37\x42\x09\x1e\x39\xdc\x0c\xef\xaf\x78\x3c\x8d\x17\xcb\x90\x61\x10\x88\x78\x3e\x7f\x0c\x3c\xc6\xc7\x7a\x34\xb8\xbf\xe4\x7e\x28\x4e\x33\xe1\x0d\x86\x1b\x4b\x24\xb1\x68\x29\xbb\xe1\xe7\xf1\xcd\x66\x58\xee\x9f\xa3\xd7\x49\x28\x69\x5b\x35\xd0\xb2\x4e\x98\xfa\x09\xe3\x22\xf0\xa8\x2b\x0e\xc3\x0a\x9b\x3e\xae\x88\x74\x21\x76\xac\x9b\x07\x73\x1d\x67\x31\x59\x5d\xcd\xea\x2f\x6f\xc4\xb3\x3c\xff\xda\x0e\x83\x0b\x9f\xaf\x12\x96\xca\x31\x5e\x52\x33\x4a\xb5\xb4\x6f\x5d\x79\x80\x79\xac\x65\x79\x37\x99\xc2\xb9\xbe\x0c\x38\x6b\x63\x65\xae\xb6\x4c\x58\x59\x3d\xad\x38\x8c\x20\x81\x5e\xdb\x0a\x16\xcb\x38\xe1\x7e\xc4\x61\xac\xa0\x32\xa8\x49\xa3\xe4\x42\x85\x27\x75\xad\x2c\x23\x2b\x29\xad\x2c\xcc\x5b\x49\x2b\x3f\x84\x01\x0f\x6d\x57\x10\xe0\xdc\xed\x49\x58\x38\xcc\xe8\xd0\x85\xcc\x50\x89\x49\xde\x93\x91\x2c\xe2\x2b\xf6\x5b\x71\xb0\x68\xf6\x5b\x51\x4c\xfd\x68\x5a\xe0\xcb\xd3\xb1\xe0\x0d\x01\xaa\xf8\x5e\xbc\xbc\x7d\x52\x69\x71\xae\x59\x15\xc7\x59\xee\x93\xca\xcf\x92\x78\x49\x68\xe3\x65\xcd\xcb\x04\xcf\xf0\x67\xc7\x10\xe8\x96\x75\x6f\x64\x82\x58\xc3\xf4\x8d\xdd\xce\xe2\xeb\x28\xa3\xe5\x55\x3c\xbb\x7d\xcb\x6e\x5f\xc7\xd7\x51\x03\x45\x89\x58\x77\x48\x1b\x94\xe6\x2c\xb8\x22\x55\xa8\x4e\x30\xf3\xc4\x92\x8c\x9b\xc4\xd7\x6d\xf0\xd5\x52\x52\x85\xa9\x68\x82\xca\x80\xcf\x7d\xa6\x79\x70\xc3\x66\x75\x57\xa0\xd1\xc4\x83\x7e\x6a\x30\xf1\x98\x4d\x2a\xcc\xad\x8e\xcd\x8c\x32\xd9\x1a\x1e\x2f\x85\x87\xfa\xca\xbf\x68\x36\x16\xf8\xb6\x7d\xee\x5f\x90\xa6\x22\x0f\x34\xb0\xd6\xa0\x47\xd9\xe1\x9a\x3e\x92\xad\x12\xf1\x45\x8a\xf4\xd6\xe9\xc9\x37\x34\xe7\xe4\x1e\xc4\xe1\xac\xb1\x71\xf3\x38\x9c\x91\x0a\x5c\xa1\x5b\x79\xbc\x44\x90\xf6\x3c\x4e\xc0\x0b\xc9\x2f\x28\x21\x95\x32\x9b\xb9\x50\x93\x8a\x5a\xb7\x28\x44\x46\xb1\xa1\x92\xec\x52\x45\xb5\xe6\x15\x40\x0b\x94\x8b\xdc\xcd\xc4\x6f\x20\xa7\x80\xd4\x28\xae\x8b\xed\x26\xcc\xdf\x3c\x3a\x0a\x70\x05\x72\x44\xae\x9f\x30\x9f\xd4\xc1\x2a\xbc\xc3\xe0\x30\x41\x18\xf0\x5b\x25\x34\x0f\xc9\x74\x01\x99\x21\xbf\x71\x92\x4b\xce\x97\xe5\x3b\x2f\x6d\xd3\x34\x9f\xa7\x57\x17\x44\x6e\x72\xbe\x52\xf2\x03\xf3\xa4\x4d\xd3\xa2\x0f\xc7\x7a\x40\x09\x94\x54\x6d\xbc\xba\x28\x36\xee\xd7\x38\x5e\xb4\x45\xbc\xa4\x38\x21\x05\x90\xb2\xc3\x70\xb3\x08\xa3\x94\xd0\xc0\x58\x0b\x21\x2f\xbf\x20\x94\x58\x1d\xab\x54\x59\x85\x45\x0d\x53\x2d\x1e\x2f\x61\x46\x16\xb2\x39\x87\xbf\x6b\x99\x88\xba\xf9\xc4\x4f\x2e\x58\x93\x9f\x09\x2a\x04\x7b\xc9\xa8\x43\x17\x5a\x5c\xbc\x99\xa5\xcd\xf1\x75\x03\xfa\xc7\x38\x4c\x65\xf8\x07\x5b\x99\x39\x37\xcb\x9b\xcc\x47\x59\xde\xa8\x56\x2f\x6f\xc6\x32\x04\x91\x78\x88\x97\xfe\x14\x39\x60\x36\x51\x27\x3d\xdc\x7d\xe9\xe1\x66\x4b\xb7\x6b\xc5\xac\x58\xba\x89\xfc\x06\x63\xcc\x6e\xf8\x9b\x68\xb9\x52\xdc\x11\x91\xba\x0e\xf3\x42\x27\x0a\xa0\xc9\x1a\xe1\x24\x35\x3b\x3d\x56\x9f\xf9\xa7\x8c\x1f\xc4\x11\x3f\x40\x7f\xb1\xe9\x74\x69\xd9\x1b\x9d\xe7\xb0\xac\xc9\x5b\x15\x96\x06\x30\x1e\xab\x18\xfa\x1e\xbf\xbb\x53\x27\x13\xf1\x40\x5b\xf1\x2b\xc1\x06\xca\x2e\x9a\x29\xab\x1c\xa9\x5e\x43\xdd\xa6\xf6\x7e\x12\xf3\x9c\x4f\x49\x58\x3e\x96\xbb\xa3\x3f\x34\xef\xba\x4c\xd8\x9c\x50\xd6\x34\x41\xcb\xd7\xd7\xe4\xbe\xed\x7c\xb2\xbb\x71\xb6\x85\xa5\x0d\xb9\x1d\x7f\x0d\x46\xb9\xf3\xaf\x82\xb1\xb4\x87\xaa\x86\xf1\x11\x0c\xc0\x01\x52\x5b\xf0\x29\xce\x02\xcb\x7b\x59\xd7\xa2\xc4\x55\xac\xda\xc1\x43\xb5\xe2\x81\x6f\xf5\x8a\xbf\x26\x33\x37\x77\xbe\xba\x0e\x01\xf7\x91\x3f\x4e\x02\x70\x7a\xf4\xff\x91\xf7\x6e\xcd\x8d\x2b\xeb\x62\xd8\x53\xca\x6f\x49\xa5\xf2\xe2\xca\x79\xa1\x70\xf6\xd1\x02\x16\x41\x0e\x40\x49\x73\x21\x07\xa3\x4d\x51\x97\xa1\x34\x92\x46\xa4\x44\x8d\xa8\xd1\x9e\x05\x92\x4d\x0a\x43\x10\xa0\x1a\xa0\x44\x69\xa4\x6d\x57\xca\x76\xe5\x24\xb6\xe3\xa4\x5c\xb6\x2b\x39\x89\x9d\xe4\x38\xc7\x4e\xb9\x52\xb6\xeb\x54\x6e\x3e\x4e\xaa\xf6\xca\x7b\xfe\xc3\xfe\x25\xa9\xbe\x01\x0d\xa0\x1b\xe4\xcc\x5a\x7b\xfb\x54\x65\x6a\x69\x91\x04\xba\xbf\xfe\xfa\xeb\xdb\xd7\xdf\x35\x7f\xb2\x4b\xa0\x02\xe1\x7c\xc7\xf0\x72\xba\x3e\x02\xe1\x56\xd2\xde\x7d\x39\x3c\x53\x46\xf2\x79\x18\x4b\xe1\x8b\x31\x4e\x41\xce\xc1\x3d\x01\xbb\x39\xb1\x47\x02\xf1\x9f\x0c\x36\x29\xbe\x24\xec\x64\x4c\x8a\x45\xa0\x71\xe9\x25\x21\x0b\xfc\x51\x17\x40\x8f\x6a\xe4\xb6\xd0\x88\x35\x6b\xd9\xd8\x12\xf1\xbb\xdc\x79\x41\x24\x94\xe9\x78\x1c\xcc\x49\x6c\x04\xc2\x86\xeb\x00\x2f\x8c\x63\x72\xb0\x1b\x2f\x35\xdb\xfa\x42\xcf\x29\x50\x26\x5f\x74\x72\x56\x81\x32\xfe\x8c\x2c\x91\x45\x1a\x42\xb9\xa0\x37\xc2\x2b\x37\xfe\x46\x02\x7b\x55\x23\x2d\x2e\x86\x99\x1f\x19\x24\x0d\x94\xf4\x2a\x0f\x2a\xe3\xa4\x64\x10\xa3\x0d\x71\x31\x6a\x58\x3f\x91\xbf\x32\xa5\x40\x20\x40\x33\xc2\xee\x5f\x03\x91\x73\xf5\xb7\xe8\xa2\xf3\xa6\x5e\x2b\x56\xac\x0b\xa2\x4e\x44\xa8\xa8\x39\x7a\xf8\xa0\x7f\x0d\x06\x33\x17\xb4\xc0\x00\xda\x77\x39\xbb\x6c\x1c\x05\x21\xa1\x60\xa4\xaa\x25\x90\xba\x35\xf0\x06\x8c\x80\x9a\xe9\x72\x3c\x7e\x2d\x36\x7f\x49\x94\xa4\x07\x19\x65\x0f\x53\x7e\x96\x3a\xb0\xc2\xa7\x1c\x5a\x21\x5a\xd6\x92\xe6\x31\xa7\x38\xe4\x07\x56\xc2\xa8\x91\xaf\x1c\xda\x87\x31\x2a\xd1\xab\xc8\x66\x1d\xda\x77\x1d\x12\x2a\xb2\xe5\xdf\x05\x9f\x54\xa8\x3b\x39\xa7\x23\x25\x5d\x53\x48\x19\x6c\x09\x79\xcd\xeb\xd0\x39\x12\xb2\xb5\x8d\x0a\xd4\xa4\xa5\x2c\x2e\xae\x12\x07\x99\x58\xc5\x17\x80\xb0\x8e\xce\x8f\x14\x1a\x4e\x23\x47\x95\x43\x19\xba\x65\xf6\xdc\x21\x2b\x07\x8a\xca\x74\xfe\xed\x2c\x9a\x24\xe6\x10\x4e\x20\xdb\xf4\x42\x35\xa7\x69\x39\xec\x09\xb0\x83\x19\x04\x09\x54\x04\x0b\x02\x5b\x93\x30\x23\x19\x6a\x5b\x92\xe2\x96\x72\xa4\x30\xb8\x3c\x2f\x82\x41\x0f\x4a\x71\xfe\x6f\x4e\xe1\x43\xcb\xfe\x0c\x97\xa8\xe8\x02\x62\xcf\x42\x9f\x93\x85\xb2\xcb\x48\xfa\x31\x8f\x40\x7b\x6a\x7b\x8b\x3a\x18\x4c\x6d\x2f\xd1\x43\x5c\x29\xd3\x4b\x54\xac\x74\xe7\xc3\xb1\x8d\x0f\xc6\x4c\x2b\x5c\x60\x11\x55\xf9\xa0\x94\x21\x98\x02\x3b\x54\x4d\xc3\xd0\x8a\xca\x47\xa8\x68\xfc\x93\x04\x8d\xb2\xf2\xa2\x08\x28\x5f\x70\xcb\x0e\x80\xeb\x78\xe0\x67\xea\x4f\x8f\x82\x53\x44\x4d\xa4\x67\xbc\x62\x44\x13\x3e\x55\x30\xa1\x36\xfa\x20\x68\x37\x86\x74\x4e\xce\x3b\x10\xdf\x6f\x72\xa4\x21\x84\x36\x4c\x45\x28\x64\x00\x78\x32\x41\xde\x7e\x2a\x24\x27\xf0\x33\xd3\x30\xb0\xf6\x06\x35\x8b\x7e\x24\x5d\xbd\x72\xa9\x1f\x75\x50\xd3\x61\x99\x91\xca\x12\x11\xc0\xc7\x1a\xfa\x53\x7f\x9a\x18\xd3\xcc\x6d\x23\x0d\x35\xd5\x7f\x71\x79\x56\x4e\x20\x2d\x91\x68\x01\x6e\x47\x18\xe3\x07\xdf\x9f\xec\xda\x38\x2a\x62\x2c\xd0\x88\xb8\x1f\xdb\x05\xf9\x70\x33\xd8\x50\xb8\xf2\x5d\x34\xbd\x0b\x66\x8f\xfe\xc4\x5b\xfc\x48\xb4\x65\xa9\xcb\x5e\xc4\x49\x01\x19\x87\x91\xb1\x01\xe3\x26\x10\xe7\x13\xcf\x58\xc8\x52\x62\xcb\xed\xc7\xc5\xe2\x3d\x9e\x40\x24\x2c\x5b\x74\x3b\xbb\xf7\xfa\xf4\xfc\x0d\xb6\x9d\x09\xf0\x70\x1a\xd5\x4f\x34\x3c\x0e\x7f\xb4\xd1\xa0\x85\xb1\x52\xfc\x4b\x6c\x6e\x83\xef\xb2\x4f\x3a\xd7\x13\x40\xa5\x6b\x2d\xff\xee\xd4\x27\xe7\xb4\x0a\x12\xac\x0b\xb6\x98\xa5\x66\x74\xaa\xa6\xe9\x20\xcb\xc4\xe4\x1c\xda\x62\xb4\xb3\x6c\xb7\x88\x0f\x25\xfd\xc9\xd8\x05\x52\x36\x5b\x66\x1a\x18\x31\xe5\xf8\xfd\x6d\xc4\x5f\x90\x78\x74\x4e\x79\x58\x0e\x26\x36\x0c\x77\x5d\xdf\x87\xdb\x0e\xea\xa3\x9a\xac\x92\x98\x3e\x65\x26\xb3\xe6\xec\x07\x52\x30\xbf\x97\xd6\xaa\xa5\x8a\x9f\xfa\xd3\x43\x6c\x3e\xc0\xac\x11\xe3\x57\x84\xf4\xf4\x2d\xab\x5f\x0a\x85\x62\x68\x62\x82\x40\xd5\xf2\xb2\x26\x30\xdf\xc0\x05\x40\x30\x58\xac\x97\x08\x58\xda\x07\x27\xa8\x69\xb0\xc8\xcf\x5e\x3a\x03\x03\x4d\xc7\x66\x4a\xa9\xe2\xa9\x5d\x85\x0a\x99\xf0\xdd\x85\x7e\x72\xac\x4b\xba\x1c\xe9\x9f\x15\x16\x61\x4e\x21\x74\x4e\x5b\x89\xe5\x42\x36\xc0\x77\x60\x18\xe6\x54\x0b\x99\x51\x43\xb2\xd6\xa9\x3f\x2d\x91\xd6\x72\x67\x2b\xbf\xf8\x32\x4b\x3e\x69\x52\x9a\xe1\xf2\x93\x4b\x45\x26\x09\x67\x7d\x97\xcd\x9a\xef\xb3\x4d\x15\xa5\xa3\x9c\x33\x8d\x16\xf4\x35\xb1\x88\x17\xb0\xd2\x10\x17\xca\x63\xa3\x49\x89\xe5\x59\x68\x52\x5e\x07\xf4\xcb\xa7\x45\xbc\x33\x2d\x96\x19\x11\x7c\xed\x8a\xd4\x43\x68\x43\x4c\x99\x05\xe3\x41\xe5\x77\x51\xd1\xee\x2a\xbc\x2c\x7e\x79\xaa\x25\xf7\xa6\xe4\xf5\x26\x94\x5d\x6f\x00\x77\xbd\x39\xa5\x8b\x4d\x65\x92\x49\xf4\x70\x2b\xbe\x99\xa9\x21\xf7\x3c\x71\x17\x02\x91\xcb\xbc\x74\xeb\xcf\xbb\xc9\x4a\xbb\x95\xd3\x61\xde\x6a\x92\x37\x7a\x16\xf6\x3f\x3d\xf3\xf0\x44\xa5\xf1\x6f\x12\x73\x57\x6e\xd9\xc6\xd1\x27\xed\xb0\xb1\x92\x1e\x44\x6a\x00\x4a\x25\xb8\xd9\x17\xb1\x35\xa4\x05\xb4\xd4\xb6\x10\x5b\x15\xaf\x24\xb7\x40\x2a\xbd\xe5\x34\xbe\xbc\xc3\x6d\xa2\x68\x7a\xab\x89\x61\x52\x4b\x49\x01\xd2\x9c\xa9\x62\x06\x6f\x62\xbe\x9a\xc5\x5a\xd0\x33\xee\xca\xfe\x53\xf1\xcf\x87\x4e\x4d\x47\x87\xd4\x9d\x20\x8b\xed\xef\x04\x93\x2c\x6c\xad\xb6\x3c\x29\xd2\x70\x6a\xe9\xc1\xcf\xf2\x97\x0b\x68\x80\x1d\xdd\x16\xcd\xa0\x2c\x90\xc5\x0d\x0b\x27\x4f\x8e\xe1\x67\x72\xa7\x58\xb4\x42\x48\xf7\x17\xcd\xb3\xd7\xd9\xd5\x81\x16\x2b\xdf\x35\x4e\x6e\x94\x19\xd5\x5c\x45\xf2\x37\xad\x83\xcc\xfa\x8d\x30\xe4\x15\xdf\x8b\xc7\x7d\x89\x09\xc8\x01\x14\xcf\xc1\xf4\xfc\x5f\x16\x03\xd6\x87\x9f\x86\x03\x83\xf2\x97\x6f\xf6\xa7\x67\xc8\xd7\xb7\x2a\x80\xb5\x60\xe6\xf3\x67\x61\xda\x61\x84\xb9\x36\x40\xde\x33\x75\xc5\x0a\x99\xef\x29\x8d\xf9\xbe\xed\x0c\xb0\x25\x36\xf0\xfa\xe8\x20\xc2\x09\xa2\xe0\x08\x84\xd8\x14\x5b\xc1\xd1\xdd\x2c\xcb\x49\x4c\x61\x52\x71\x87\x55\x00\x03\x96\xf2\x66\xe8\xbb\x03\x96\x56\x38\x01\x85\x7a\xae\xa4\x7d\x9b\x75\x28\x8b\xa9\x00\xb5\xa7\xa7\xd8\x13\x18\x51\x47\xf7\x65\x13\x8a\xb1\xec\x69\x82\xeb\x5e\x66\xa9\x32\x1f\x3d\x91\x48\x58\x77\xe3\x90\x1b\xa2\x53\x3b\x2b\xae\x4e\xdf\xf9\xae\x2d\xa3\x76\xfd\xda\xad\x5d\x33\x0f\xd7\xbe\x05\x8a\xd7\x38\x1c\xd7\x8a\xe5\x69\xe8\x93\x33\xc5\xef\xa3\x07\xfe\xea\x6a\x6c\x9e\x6f\x59\x7d\x0d\xaa\xb6\xee\x6b\x38\xc8\x57\x42\x08\x4d\xbd\x15\x82\xd5\xd5\x20\x53\x3e\x40\xe5\x03\x61\x79\x7b\xc5\xf2\x57\x57\xed\xc8\x7b\x91\x46\x5f\x18\x82\xb0\x7f\xcd\x82\x1f\xa8\x7d\xe2\x89\x30\xd3\xbe\x30\xab\x7d\xd7\x1f\xa9\x4a\xc3\x9f\xb9\x03\xef\xbb\xb0\x80\x4b\x63\xf3\x7c\x6c\xba\x50\x2d\x28\xc5\xbe\x56\xc3\x59\x34\x9f\xec\x15\x6b\xb6\x99\x9e\xbe\x89\x15\x3d\xd3\x6d\x4d\x9f\x65\x23\x44\x88\x17\x82\x8d\xfa\x92\x28\xad\x55\x6d\xcb\x4e\xb8\x1f\x45\x3b\xa8\x2a\xe9\x8e\xf6\x2d\x3d\x59\xd4\x07\xe2\xd7\x90\xc2\xa5\xf6\xef\x08\x17\x44\xf7\xec\x39\x84\x26\x83\x97\x2b\xa1\x49\xdc\x02\x32\xd7\x84\xa4\x0d\x19\xaf\xbf\x57\x05\xef\x53\x71\x55\x72\x21\x64\x37\xbb\x44\x49\x4d\x13\x9b\xb6\x09\x70\xc8\x14\x11\xa1\x91\x03\x27\x8b\x49\xba\xb0\x26\xa7\x60\x1f\x5d\x01\xa2\x88\xae\x59\xcd\xaa\xe0\xbe\x70\x09\xa2\xf5\x7a\x95\x67\x82\xc0\x4f\x9b\x6c\x5c\xa1\x48\x4e\x6a\xc9\x6f\x33\xab\xab\x71\x42\x12\x61\x81\x4d\xf9\xab\x4b\x70\x55\x95\xed\x6f\xd8\xce\x0e\xe4\xdc\x01\x59\x60\x27\x9e\x38\xf8\xca\x96\xa3\xe3\x41\xc4\xae\xbb\x6e\x46\xc4\x85\xa3\xc0\xad\xc8\x77\xe9\xd8\x89\xeb\x4b\x7c\x08\x4b\x85\x35\x0b\x8f\x5c\x59\x4d\x8d\xc5\xfe\x4e\x2e\x67\x23\x6b\xfd\xca\x2f\x4d\x90\x14\x44\x2d\xba\x99\x3e\xd1\xa0\x7d\xd2\xce\x12\x71\x9a\x0e\x17\xc9\x50\x4a\x66\xe4\x03\xc8\x73\x63\xe9\x88\x33\xf1\xd9\x03\x79\xea\x49\x18\xb8\xc5\xc4\x93\x54\xd4\x6a\xa1\x88\x76\x30\x43\xbb\x04\x9f\x4c\xa9\x11\x66\xb6\x35\x69\x37\xf8\x40\x2e\xb1\xee\x25\xed\x1b\x19\x47\x12\x06\xba\xa1\xe9\x4e\x19\xcc\x43\xe0\x0d\xd4\x50\x0f\x05\x7e\xb1\x62\xb1\xc8\x02\xf5\xbc\xef\xba\x87\xf6\xfc\x93\x28\x4f\x40\x56\x4e\x98\x16\x77\x65\x44\x04\x4b\x49\xad\x4a\x72\xc0\x58\x7e\x9e\x23\xd0\x8a\xe4\xd8\xa7\xfe\x54\xa0\x60\x95\xc8\x7e\x92\xb2\x0e\xb0\xb4\x5c\x83\x4a\x84\x81\x5c\xfc\x2b\xed\xbf\x0e\x79\x79\x37\x25\xb2\xaa\xd5\xc2\x37\x10\x1d\x06\x16\x4c\xbb\x9b\xe0\x42\xa7\xfe\x74\xc5\x0a\xa3\x78\xc2\xe9\x77\x2c\x50\x7d\x5a\x3a\xbf\x14\xc5\xa8\x30\xf9\x2f\x33\xd1\xf2\x26\x4d\x4d\x0d\x4b\x5f\x29\x9b\xd7\x70\x64\xf8\x38\xde\xfb\x57\xd2\x3a\x77\xe5\x70\x82\x32\x81\xf2\x1d\xf3\xe2\x58\xb1\x2b\x81\xfe\x4c\x8e\x74\xae\xb5\x5b\x42\x0c\x29\x5a\xb3\xe2\x71\x2a\xa5\x23\x09\x70\x71\x18\x99\xd3\x8e\x2c\x1e\x60\x46\x63\x43\x35\x00\xf1\xd0\xf3\xaa\x9b\xd5\x55\xa6\x22\xcd\x14\xa0\xda\x1b\xc6\x70\x33\xa1\x30\x15\x71\x32\x95\x16\xf3\x28\xca\xa8\xb4\x98\x99\xe6\x42\x5d\x5e\xc2\x8b\x28\xd1\xab\xe5\xaa\x64\xe4\x30\xb8\xd9\x44\x11\x1a\x24\x8b\x26\x56\x7c\x4f\x3c\x5a\xc0\x20\x41\x37\x2e\x0c\xc5\x36\x70\x43\x1b\xd5\x81\x96\x78\x3a\x94\xc2\x1a\xc4\x93\x15\x5a\x86\x96\x8a\xf1\x95\xd8\x3e\xe0\x1b\x07\x97\x72\x34\x1d\xae\x48\x80\xc9\xa7\x34\xd4\xb3\xee\x37\x79\xc6\x2c\xa9\x1e\x08\x38\x3b\x92\x68\x59\xc5\x81\x25\x43\xfb\xd0\x1f\x00\xed\x4b\xdf\x0e\x40\x01\xd7\xc2\xb6\xd4\xe5\xed\xe3\xc3\x4f\xdb\x3b\xef\x4e\xeb\x9f\xde\x37\x3f\xec\xbc\xab\x86\x16\x2d\x7e\xf1\x7d\x9a\x50\x5c\xbc\x0e\x72\x99\xa8\xc9\x81\xbd\x6b\x1e\xed\x64\x60\x09\x55\x74\x8b\x20\xbd\xaf\xef\x2d\x07\xe9\xfb\x04\x5d\xa3\x6c\x5c\x6a\x1c\x83\xeb\x7b\x39\xdb\x48\x9d\xb8\x96\x9d\x90\x34\x46\x89\x78\x2a\xe2\x97\xf9\x93\x50\x87\xba\x23\xd8\x20\xbe\x38\x83\x2a\x28\x3b\x03\xe0\x85\xce\xd0\x01\x50\xbf\xaf\x02\xaa\xa2\xbe\xd0\xe7\xd1\xf7\x0f\x4f\x4f\xf1\xd8\xe2\xf4\x83\x78\x58\x79\x3f\xbb\x2a\x16\xa2\x59\x46\x2d\xc4\x91\xb2\x70\x96\x4e\x8c\x57\x1c\x2d\xab\x58\x0c\x35\x68\x39\x6a\xfa\xfd\x65\xc8\x52\x0a\xc6\xd1\x58\x2e\x61\xd9\x19\x5c\x59\x90\x1b\xad\x84\x27\x5c\x35\x7e\x02\xbc\xc1\xb2\xad\x53\xb5\x54\xba\x2d\x01\x42\x1c\x4d\xae\x32\x38\x60\xa7\xc0\x2a\x89\x19\x41\x42\x96\xfe\x84\x8e\xfb\x45\x4b\xd8\xf7\xf2\x7d\x09\x96\xef\xa5\x74\xf1\xbf\xb7\x68\xfc\xbf\x40\xb6\x8b\xf8\xb5\x00\xef\x22\x01\xdb\x45\x3c\xf1\x2e\x12\xbc\xf1\x70\x29\x4f\xd3\x83\xaf\xdf\x45\x02\xed\x29\xbb\x8d\xc8\x77\x91\xc8\x57\x5f\xcc\x7a\x7c\x9b\xbd\x06\x71\x69\x5c\x76\x2d\x61\xf7\x47\xc9\x52\x42\xef\x24\x2b\x89\x91\xe0\x2b\x15\x90\x02\xa1\xf1\x8a\x44\xdb\xc2\x6e\x03\x25\x99\xe0\x36\x12\x99\x57\x34\x2d\x7d\x2a\x27\x75\x95\x50\xa6\xab\x0c\xb9\x18\x2b\x39\x0d\xd0\x00\xae\x4e\xcd\x11\x0b\x24\xb9\x92\x9b\xf9\x05\xaa\x8b\xef\xbf\x22\x79\x0b\x2f\x0a\x91\x5d\x19\xb1\xdd\xdf\xc2\xbe\x14\xcd\xc8\x45\x6b\x81\xb6\x2a\x6e\x7e\x29\xe5\xd9\xa2\x2b\x71\x96\xce\x69\x1d\x20\x8b\x11\x57\x93\x0a\x84\xb9\xb2\x69\x3a\x0b\x3a\x5a\x5d\xfa\xc2\x59\x34\x25\xd2\xa5\xe5\xe9\xee\x4b\xf4\x7a\x91\x54\x63\x31\xcd\xd3\xad\x4b\xb4\x34\x4f\x79\xdb\x09\xef\x01\x2c\x5c\xd4\xb1\x8f\x00\x5b\x32\x24\xf0\x5f\x79\x08\xfd\x09\xda\x6f\x1a\x58\x28\x54\xbe\xbb\x76\xfa\xd7\x5a\x39\xf4\xdf\xf9\x77\x00\x36\xec\x00\xb1\xb7\x68\xcf\x0e\xa1\x7b\x00\xee\x1f\x1f\x41\x79\x02\x42\xfb\x00\xdc\x6b\xab\xab\xca\xad\x62\xa1\xeb\x02\xe1\x56\x79\xa7\x31\xe6\x4d\x93\x83\x32\x71\xa0\xce\x6e\x80\x22\x38\x9c\x19\x52\x4d\x6c\x6b\x11\xc6\xdc\x32\xf5\xd3\xfe\x82\x06\xb1\x1a\x26\xe1\xdd\xda\xee\x0c\x60\xd7\xea\xec\x63\x2c\x6c\xcc\xfa\x03\x19\xf2\x1d\x37\xc7\xf1\x2d\x95\x5f\x31\x08\xfd\xe9\x7b\xe8\x4f\xed\x91\x4d\x10\xce\xb3\x96\x8e\x4c\xeb\xa8\x36\x68\x91\xd5\x34\xf3\x46\xbe\xb0\xc0\x26\xbb\x2b\x54\x15\xea\x1f\xb9\xb8\x21\xc2\x65\xfa\xb7\x80\x72\x9a\x22\x33\x7f\x49\xfc\x38\x90\x0a\xee\x87\x9d\x93\x02\x9a\x87\x37\x93\x2a\x9a\x3e\x87\x20\xf0\x67\xb0\x0f\xf8\x74\xbd\xc9\xc8\x80\x2c\x35\x78\xf4\xe0\x78\x8a\xb0\x09\xe2\xd0\x81\x02\xd0\x34\x8a\x20\x09\x02\xc2\xfd\xa4\x3d\x5f\x2a\x09\x30\x7b\xdc\x39\xc5\x91\x08\x4f\x69\x9a\x6d\xc1\x24\x85\xfe\xd0\x71\x41\x73\x90\x74\xae\x70\x26\x36\xbc\x6f\xd3\x10\x25\x51\xf0\x40\x00\x3c\x52\xc0\x76\x43\x00\x3d\x3b\x04\xf2\x22\x51\x7c\x93\x2c\x40\xbe\x40\x3a\x9e\x61\x9c\x00\x92\x0f\x7a\x97\x0e\x5f\xc8\x07\x2d\xe4\x83\x91\x45\x29\xa2\x97\x09\x29\x94\x5b\xfd\x2b\x62\x5f\x88\xaa\x2f\x1d\x62\x21\xaa\x4c\x99\x1e\x8e\x71\xe1\x2b\xc4\x36\xb8\xc2\x10\x84\xa9\x4c\xcc\x3c\xf4\x9e\xdd\x1f\x13\x2d\x2c\x4b\xf9\x1c\xda\xbd\x76\xe8\x4f\xb9\x27\x94\x37\x3a\xa5\x2f\x22\x57\xdb\x5b\xba\xb0\x4e\xfd\x29\xdf\x2e\x7b\x4c\x78\x91\x65\x73\x73\xb6\xaf\xed\x29\x20\x61\xde\x69\xce\x77\xee\x79\x79\xeb\xdd\x71\xe3\x80\x2f\x8e\x5d\xec\xb2\x50\xb6\x5c\xc7\x1b\x37\xee\xfb\x2e\xf8\x64\x5d\x9a\x86\xa1\x9b\x86\x41\x7b\x31\xb9\x3f\xf6\x1a\x71\xa1\x4f\x11\x2d\xb9\x67\x19\x92\xa6\x7c\xfa\xf8\x06\x87\x49\x7f\xc6\x44\xd0\x4a\xdc\xff\x63\xef\x78\x16\xe2\x3d\x32\xfb\xe6\x00\xdc\x07\x21\xf4\xc7\x20\xfb\x12\x6f\x3e\x75\x08\xfd\x3b\x54\x28\x31\xa0\x60\x08\xec\xf0\xd0\x9f\x05\xa0\x05\xa6\x3e\x0c\x83\x4f\x51\xf8\xc9\x1e\x70\xdd\xfa\x6c\xe0\xf8\x8b\x6c\xfa\x6d\x54\x88\x19\xd7\xc7\xb5\xf8\xe0\x03\xc0\x75\x4b\xa4\x58\xa6\x54\xd2\x2b\x77\x0a\x81\xeb\xdb\x68\xfb\xb2\x67\x61\x02\xe8\x91\x8f\xae\x53\x7d\x7c\x08\xbc\x73\x82\x90\x9f\x4c\xc1\x38\xf4\xa7\x7c\x81\x2d\xe0\xba\x71\x4f\x02\xfb\x16\x0c\xe8\x46\xc8\x45\xca\x64\x0f\xc8\x5a\xa7\xef\xe9\x8c\xcd\xc4\xd5\xbc\x65\xf9\xf5\x3b\xa7\xfc\x68\x8e\xe9\x7e\x4b\x5f\xb2\xed\x97\x2f\xe2\xf8\x51\x32\x73\x3a\x0d\x9b\xc7\xfc\x7b\x80\xc3\x90\xe2\x31\xd8\x86\xf6\x88\xcc\xf4\x38\x6e\xa8\x3f\xbd\x3f\xf6\x08\x8b\xc3\x0d\x1c\x8e\xfe\x85\x03\xea\x36\x5c\xa7\x3f\x26\x2e\x8c\xa9\xd7\xf8\xe1\xd6\x2c\x0c\x7d\x8f\x7b\x85\x9a\x21\xab\x8f\x04\x47\xc3\x9b\x00\xa3\x14\xce\x56\x1b\xe9\x0c\xea\xc3\x10\x40\xf2\xde\x60\x37\x29\x1c\x3b\x09\x6d\x9c\x9f\xd4\x97\x86\x5e\x59\x8f\xae\x29\xec\xf2\xc6\xd6\x74\x7c\x81\x09\xdf\x93\x2d\x5f\x05\x8f\x8f\x0a\x5d\xf9\x8a\x9e\x56\xb8\xfa\x1e\xa3\x4f\x0b\xd8\x83\x7b\x55\x7b\xe2\xb7\xaf\x27\x5d\xbc\x8c\xad\x2f\x78\x1d\x57\x15\xfc\xa1\xe8\x5b\x3b\xf5\xc3\xaa\x82\xfe\xaf\xe8\x67\x47\xdb\x3b\x2d\x2c\xd7\x51\xa2\xaf\x4a\x02\x50\x42\x42\xc2\xb7\xce\x0b\x61\x25\x35\x42\xbb\x47\xfc\x2e\x5f\x8a\xdf\xc7\xfd\x16\x79\xe2\x73\xa7\x20\x28\x43\x30\x75\xed\x3e\x50\x9f\x7d\x7c\xf6\x6c\xa4\x2b\x0a\x9f\xc1\x96\x9a\xe8\x43\x30\x0c\x98\x72\x91\xfc\x28\x0f\x80\xdd\x0f\x9d\x5b\xec\x46\xa6\x73\x2f\xe8\x6c\xcb\x1c\xf4\x6a\xaa\xe1\x44\xa5\xb2\x3d\x18\x1c\xb3\xd0\xb1\x38\x3a\xb7\xfe\x45\xb1\xdd\xb0\x34\x82\xa5\x89\x3f\x00\x4a\x35\xc1\x95\x59\x24\x14\x3e\xd8\x54\x80\x57\x9a\x05\x8a\x65\x79\xf6\xad\x33\xb2\x43\x1f\x96\x5d\xdb\x1b\xcd\xec\x11\x48\x72\xc2\x9b\x24\xda\x56\x55\x81\xd8\x4e\xdd\x76\x43\xa5\xaa\x90\xe0\xcb\x88\x13\xbe\x9f\x02\x7f\x58\x00\x9b\xa9\x5a\x55\x52\x4b\x7f\xf6\x2b\x15\x7d\x79\xc4\x71\x26\x6c\x37\x7c\x74\xc1\x10\x03\x79\x8c\xc0\x69\xbf\x78\x56\x0e\x41\x10\xaa\x40\x7b\x7c\x54\x81\xc5\xa2\x7b\xc1\x68\x8d\x22\x26\x62\x0f\x1e\xfa\x03\xec\xec\x8b\x7b\x87\x36\x63\x1c\x55\xa6\xe4\x04\x25\xc4\x9d\xc7\x4f\x92\x3d\x4e\x42\xd9\x62\x85\x9a\xc1\x21\x08\xed\xe8\x67\x04\x97\x42\xcb\x83\x41\xaa\x46\x35\x02\xe0\x0d\x82\xd2\xdd\xb5\x1d\x26\x2b\x3d\xfb\x95\x0a\x82\xbe\x3d\x05\x8f\x2f\x4b\x3d\x27\x7c\xec\x41\xff\x2e\x00\xb0\x34\x06\xf7\x99\x1e\x93\x82\x99\x3e\xb7\x11\xe8\xf3\x6b\x3b\x24\x8d\xcd\x06\x88\x33\x2e\xe1\x3d\x39\xc0\xde\x62\xd5\xac\xac\x1e\xb0\xa0\xe6\xbf\x72\x9d\x5e\x89\xf1\x9d\x55\xf5\x63\xbb\xa8\x3d\xd3\x6a\xe1\x26\x94\xef\xe1\x01\xec\x2b\x88\xb9\xa5\x95\xb0\xf7\xaf\x1d\xda\x67\xd0\x55\x43\x1c\x91\xbd\xba\xa8\x32\xd0\x9e\x74\x85\x6e\xeb\x25\x8f\xdb\xd7\x31\xd6\xa9\xb9\xb8\xba\xca\xef\xfc\x9b\x2a\x94\x1f\x08\xca\x08\xda\x5e\x08\x06\x8a\x65\x59\xfc\xdb\xf2\x14\xad\xdf\x00\xdd\xbc\x75\x79\xf5\xc7\xc7\x64\x0a\x58\x29\x82\x05\x27\x28\x84\x70\x06\x0a\xbd\x59\x58\xb8\x03\x85\x81\x8f\xcd\xca\xae\xed\x5b\x50\x88\x5b\x2a\x84\x3e\x8b\x60\x58\xe0\x41\x04\x65\x05\x93\x28\xe7\x58\x7b\xd2\x95\x98\x8d\x20\x61\xe4\xd2\x53\x2d\x1b\x6c\x00\x27\x71\xe2\xeb\x39\x13\x7b\x94\x99\xe6\x09\xf6\x32\x13\x54\x20\x03\x03\xb3\xbc\xcb\x82\xc0\xfc\x76\x1a\x02\xf3\xba\x5c\x1a\x4a\x94\x10\x33\x82\x44\x56\x30\x59\x41\x8b\xd7\x6f\x54\x02\xaf\x8b\xe4\xda\x8d\xbd\x45\x27\xf6\x14\xa7\x9f\x80\xce\x00\x04\x49\x58\x74\xef\x7b\x7c\x04\x05\xc7\x0b\x42\xdb\xeb\xa3\xbd\xeb\xb8\xf7\x19\xf4\x43\x34\xfd\x6e\xc3\x58\xdc\x7f\x68\x4f\xa9\xc4\x4f\x45\xcb\x32\xf3\x2a\x00\xe1\x31\x6b\x45\x05\x9a\x56\x4d\x4e\xb1\x78\x13\x2f\x24\x51\x9b\xf8\x83\x78\xc2\xb0\x08\xb2\xb6\x57\xf0\x31\x16\x24\x4f\x36\xea\x0f\x09\x0f\xda\xc3\xb1\x28\xb3\x33\x84\x63\x54\xd5\x95\x95\x4c\x8d\x52\x1f\xb1\xbd\xa9\xe5\xc6\xf7\x19\x27\xb2\x5e\x5d\x55\xbc\xd9\xa4\x07\x20\xb7\x8f\x5f\x1a\x57\xc2\xc7\xe6\xd5\x26\x14\xf0\xd5\xa0\x2a\x7a\x9a\xad\xbf\x79\x09\x74\x70\x55\x8d\xd8\xf0\x18\x5f\xd9\x1a\x68\xc4\xac\x3d\x99\x2f\xb8\x60\x69\x6a\xbb\x20\x0c\x81\x6c\x84\x69\x82\x0a\xd9\x20\xa7\x1e\x62\x2a\xe0\x4a\x0e\xbd\xc6\x93\x8f\xf7\xa4\x11\x2b\x7a\x1a\x84\x7e\x7f\xdc\xe0\x5e\x95\xfb\xbe\xd7\xb7\xd1\xd4\x00\x5a\x94\x9a\xa8\xe0\x78\x05\xc0\x92\x3f\xc4\x7e\xd7\x24\x10\x79\x70\x64\x1f\xa9\xbe\xf6\xf8\xe8\xbf\x36\x1e\x1f\xfd\x37\x95\x8d\x0d\x2d\x61\x53\x47\x9d\xdd\x0b\x58\x2e\x83\x40\xd1\xae\xe2\x74\xe5\x45\x05\xcf\x8c\xcb\xf0\x2a\x0e\xfa\x0c\x2e\xfd\x2b\x96\x1a\x22\xc2\xd4\xf3\xe1\x04\x73\x7a\x8d\x76\x9b\x94\xa8\x91\xa4\x1b\x82\xfe\x5d\xfa\x57\x56\xa0\x3d\x3d\xc1\xd4\xa5\x3b\x9d\xbd\x8c\xc4\x3b\xe0\x2a\xe2\x15\x91\xbe\xd8\x2f\x51\x4b\x94\x8e\x9b\x5f\x28\xe2\x11\xe6\x16\x89\x8d\x06\xac\xe0\xc3\xcc\x6a\xf1\xa7\xf7\x25\xdf\xa3\x71\xd1\xd2\xb3\x29\xc1\x89\xaf\xac\xa0\xed\x62\x16\x80\x12\x65\x68\x4b\xe4\x46\x5c\xc2\x81\x12\x53\x35\xc5\x2c\x37\x86\x80\x19\xee\x38\x10\x5b\xc9\x46\x2c\xb7\x10\x88\x94\x35\x27\x70\x10\x63\x34\x75\x67\x41\x69\xe2\x78\xb3\xa0\xf4\x00\xa0\x5f\x7a\xf0\xfd\x89\x74\x1b\x44\x35\xde\xbb\xb3\xe0\x10\x95\xef\x02\xe8\x77\x7d\x7f\x62\x45\xb0\xfa\x42\x24\x12\xb5\x1b\xb8\xfd\xa8\x06\x0d\xff\x95\x5b\x85\xc5\x5a\xd1\x33\xfb\x7b\x1c\xa5\x85\xac\x53\x60\x07\x61\xc9\x0e\x1c\xdb\x2b\xd9\x93\x9e\x33\x9a\xf9\xb3\xa0\x64\x07\xa5\xf0\xce\x2f\x91\xf4\x7f\xa9\x25\x5b\xbe\xeb\x97\x21\x18\xd9\x70\xd0\xf8\x3c\xae\xb3\x2a\x18\x3d\x72\xc3\x2a\x61\x06\xaa\xd4\xf7\xbd\x10\xfa\x6e\x1a\xcd\xdb\x90\x5e\xc4\x5e\x6e\x39\x58\x80\x0d\x7d\x97\xd2\x96\x56\xef\xf9\xee\x20\xb3\xc3\xdc\x7b\xfd\x2d\xdf\x1d\xb4\xed\x21\x68\x87\x34\xa2\x03\x5f\x01\xa1\xdc\xc3\x3c\x6a\xba\x6a\xfe\x62\x21\x20\x10\xe8\x7a\xb0\x85\xeb\x23\x64\x96\x58\x2f\xe2\x8a\x1c\x52\xc2\xa3\x00\x75\x03\xbd\xc8\xf4\xa1\xef\x3a\x53\x3c\x7c\x25\x9c\x5d\x53\x4a\xb5\x06\x2b\x77\x8e\x8a\x25\x9b\x1c\x80\xbe\x59\x91\xd6\xdc\x46\x6f\x69\x05\x2e\xdc\xad\x08\xc5\x38\x84\x18\x46\x31\x8a\x82\x2b\xd8\xf7\x59\x28\x0b\x32\x99\x48\x49\x16\xc4\x6c\x29\xd0\x4c\x12\x23\x3d\x59\x52\xc1\xa7\x48\x43\xd7\xfe\x04\x20\xd6\x3c\x28\x31\x61\xb2\x64\x31\xa0\x82\x07\xe0\x9e\x1a\x45\xa1\x59\x8a\x5e\x39\xde\xc0\xf1\x46\x41\xfa\x2c\xe2\x99\x17\x5a\x84\x6c\x07\xf8\xe0\x40\x7b\x78\xf6\x8c\xd2\x42\x78\xff\x45\x54\xd1\x1e\x0c\xb6\xe8\x77\x84\x73\x1f\xb3\xf9\x20\xb6\xcc\xa6\x51\xea\x71\xfc\x7d\x74\x7e\x70\x78\x15\xa6\xd1\x2e\x4b\xf7\x4c\x51\x7c\xfb\x85\x35\x77\x58\x44\x7f\xb2\xfd\x2a\x88\x70\x13\x7b\x5e\x22\xb7\xc1\x52\x00\x6e\x66\xa8\xa0\x60\xc6\x4c\xec\x39\xd1\xbd\xb4\x69\x19\xbc\xbc\x27\x60\xe0\xd8\x84\xea\x36\x04\xa5\x21\xfa\x26\x25\x3c\x2e\x8c\x28\x5f\x87\x60\x17\x7d\x52\x10\xa1\x4d\x19\x48\x7a\x89\x92\xd7\x0f\x6d\xcc\x38\xee\xe0\x72\xa4\x36\x0e\xc5\x4e\x6e\xa2\x7d\xd7\xe9\x8f\xc5\x3b\xa1\x50\x66\x13\xd7\x27\xc1\x13\x7b\x58\x5e\x23\x9a\xa2\x87\x29\x99\x0e\x9e\xa8\x53\x7b\xb4\xdc\x84\x43\x05\x93\x13\x4e\x99\xda\x41\x80\x6e\xce\x25\xca\x67\x89\x98\xdc\xd5\x55\x15\x58\x2b\x54\xda\x1b\xdf\xf1\x67\x01\x80\xf5\x11\xf0\x42\x76\x4d\x3c\xb4\xfb\x85\xe3\x76\xe1\xc3\x33\x6d\x75\x55\x99\xfa\xd3\xd9\x54\x59\xb1\xfc\x32\xa9\x78\x7a\x3f\x05\x1a\x76\x70\x09\x82\xba\x1b\x1e\xe1\xe6\x62\x14\xf0\xe9\xf1\xfb\xc4\x01\x9d\x35\x69\x24\xf0\x0c\x58\x84\xc4\xcf\x88\x03\xba\xfc\x0b\x71\xb8\xcd\x19\x42\x52\xad\x83\x6b\x40\xd0\x07\xce\x2d\x28\x01\xaf\xef\x0f\x32\xbb\xda\xb3\x5f\xa9\xb3\x70\x58\x7a\xf9\x08\xed\xbb\xa4\x9c\x20\xc1\x37\x7d\x97\x64\x17\x87\x3e\x2c\x08\x00\x17\xbe\x2b\xe2\xe8\x4e\x0a\x06\xa9\xa4\x2f\x32\x3b\xb4\x20\x46\x8b\x4c\x43\xc4\x45\x8d\x99\x40\x5a\x7c\xb3\x4b\x48\xac\x93\x35\x7d\x2c\xe4\x96\x55\x63\x22\xf0\xb8\x4e\xcf\x86\x25\x6a\xa2\x28\xd8\xa8\xd3\x3a\x41\xb2\x53\xd3\xd6\x70\xbc\xf0\xd2\xc4\xbe\xc7\xab\xbf\x64\x43\xe8\xdf\x95\x44\x1b\x88\x58\x92\x0e\x32\x90\xfc\x5b\x50\x9a\x44\x7a\x3e\x29\x3a\x59\xcd\x21\x45\x0b\x61\xf1\xb3\x0f\x69\x0a\xaa\x60\x3c\x63\x2e\x4d\x3c\xaa\xd7\xce\x30\x2c\x11\x05\xfc\x02\x36\x0f\x17\x6d\xe2\x92\xf1\x0e\x17\x52\xf9\xa8\xa4\x6b\x78\x3e\xe1\xcc\x7d\xe4\x2d\xa1\x05\x8e\x65\xdd\x0f\x24\x43\x11\x71\x8e\x71\x08\xd0\x64\xb5\x12\xe2\x8c\x96\xab\x8b\xed\x11\x70\xe5\x3b\x1f\x0e\x4a\xd8\x5e\xab\x84\x57\x74\xc9\x05\xc3\x45\xac\x5b\x36\xff\x9d\x25\xe4\xd4\x44\xe5\x44\x4d\x2e\xc3\x2e\x0a\x32\xeb\x2d\xd3\x28\x2d\x28\x6a\x75\x82\x53\xf0\x7d\x55\xb3\x24\x6b\xdf\x32\xed\xb2\x92\x4f\x4f\x49\xa9\x33\x04\xf6\xa0\x1d\xfa\xd0\x1e\x01\x35\xad\x10\xa0\x45\xb0\x68\xec\xbe\xee\xba\xaa\xa6\x87\xab\xab\x61\x9e\x62\x20\x99\xea\x15\xd5\x97\xc5\x09\x24\xc0\x25\x95\x03\x10\x6e\x41\xbb\x3f\x06\x21\x18\x48\x02\x47\x32\xe5\x51\xb9\x97\x2c\x08\xe4\x20\x39\x51\x84\xd0\x5d\x2a\x56\x41\x82\x8c\x6e\x53\x16\x0f\x54\x5a\x10\x67\xe4\xe1\x82\x86\x8a\x49\x24\x44\x29\x49\x28\x1e\x31\x79\xdf\xda\xa9\x9c\x7a\xd9\x0e\x8a\xb5\x5c\x39\xe4\x5a\x18\x2a\x35\xa3\x48\x95\x48\x2f\x34\x91\x89\x41\xfa\xda\x14\xeb\xaf\x02\x55\xa8\x8b\x15\x2b\x6f\x35\xb1\x75\xc2\xcf\x0b\x5d\x2a\x09\x8d\x2f\x1e\xb2\x01\x5e\x32\x9e\x6d\xba\x61\xf9\xa8\x2c\x0c\xb9\x9b\xd1\x61\xff\xff\x64\x54\x44\xd7\x41\xd9\xa8\x2c\x19\x0d\x39\x8d\x8e\x04\x20\x9c\x79\x0d\x7f\x32\xb1\xbd\x41\xc3\xb5\x83\x20\xa5\x6d\xe4\xe2\x6d\xd2\x0d\x75\x04\x42\x55\x01\xde\xad\x03\x7d\x6f\x02\xbc\x50\xd1\x6a\x0a\xbd\x89\x45\x92\x56\xb8\xba\x4a\x52\xed\xc2\xc7\x47\x15\x5a\x5f\x9e\x78\x37\x02\x9a\x80\x9e\xb4\x89\xb5\x8d\x40\xfd\x62\xc3\x11\xb9\x9a\x55\x49\x88\x70\xc7\xaf\x52\xed\x77\x79\x3a\x0b\xae\xd1\x4d\x35\x6e\xb2\x0a\x75\xdf\xdb\x99\x3b\x61\x4a\x84\x83\x0a\xfb\x53\x55\xd3\x9d\xf2\xcc\xc3\x57\x5a\xd7\x8d\x54\xea\xe8\x29\xdf\x85\xbe\xeb\x07\x00\xb1\x8b\x60\xee\x84\x8a\xb6\xba\x4a\xb9\x73\xfc\x5c\xd5\xa2\xa3\x26\x0b\x87\xc7\x1f\x91\x4f\x95\x8d\x95\x13\xbc\xe7\xe7\xe7\x82\xa0\xb3\x96\xc8\xf4\x48\x06\x39\x89\x54\xc6\xfd\x38\x62\xa7\xd2\xd8\x67\xe6\x5e\x32\x1d\x62\xcf\x1f\xdc\xcb\x7a\x93\x21\xe9\xf2\xad\xa2\xc9\x20\x03\x8b\x8e\xb6\x20\xe8\xd8\x30\x95\x17\xda\x52\x58\x3a\x0f\x85\xe5\x9f\x8b\x2c\x48\xd8\x37\x16\x48\x96\x9c\x5a\x44\x65\x3e\x05\x30\xbc\x57\x7f\xf8\xc5\x17\xf8\xf4\x8b\x2f\xe0\xe9\x07\x9a\x87\x5b\xb6\x1f\x09\xc2\xa3\x1a\x16\xbb\xb0\x65\xe6\x7d\x2c\x33\x12\xda\x53\x25\x04\x47\x91\xfd\x02\xe9\x9e\xaa\x44\x69\x49\xb0\xcb\x92\x92\xad\x9f\xf4\xf2\x88\x43\x9a\xe5\x80\x22\xae\x20\x0b\x61\x51\x57\x37\x0c\x2c\x6f\x63\x91\x06\x70\x15\xcd\x9b\xa8\xaf\x0b\x40\x2e\x0c\xdb\x9f\x06\x1a\x4b\xd2\xc4\xe3\x96\x10\xb8\x65\x66\xa1\x60\x44\x28\x40\xf1\x70\x52\x81\x61\x92\xb3\xe4\x46\x3b\x92\xfb\x69\x9c\xc9\x75\x46\x6a\x2b\xc5\x34\x2d\x77\x91\x84\x22\xe4\xdb\x15\x08\x74\xb0\xfa\x86\x69\xb4\x56\x22\x8d\x16\xd3\xb7\xe7\x88\x14\x3e\xaa\x1f\x4c\xb3\xf6\x31\x28\x46\xca\xf7\xd5\x55\xa5\x01\x8f\xdb\x08\xcc\xa5\x79\xb5\x29\xb6\xf8\xa9\x54\xc5\xcf\x4d\xea\x5c\x2c\x7c\x29\xe5\xc7\xd2\x14\x5b\x82\x08\xbc\xd8\x9c\xcb\xf9\x6e\x01\x2d\xc9\x88\x2f\x27\x06\xb7\x80\x7e\xeb\x3b\x74\xff\x5b\x5e\x08\x6e\x81\x44\x20\x46\x7e\x6a\x49\x22\x7c\xc2\x25\x4b\x2a\xa4\x63\xba\x63\x85\x65\x70\x33\xb3\xdd\x40\x85\x5a\xcd\x49\x1b\x09\x20\x24\x62\xdd\x6d\x50\x18\x38\x01\xe6\x90\xab\x05\x04\xa5\xe0\x0f\x0b\x08\x4e\xe1\x0e\xaf\xef\xc2\xc0\x19\x0e\x51\xa9\x21\xf4\x27\x05\xc2\x30\x95\x0b\x05\xb4\x02\x0a\x64\x96\x17\x9c\x00\x6b\xf2\x16\x2c\xbc\xa5\xb8\x2b\x8e\x4a\xce\x72\x1c\x13\x5f\x23\x6f\xa6\x44\xaa\x84\xec\xda\x8e\xb7\x40\xcf\x1f\x80\xd2\x60\x06\xb1\x0e\x5b\xc9\x2e\xde\x84\xc2\x42\xdb\x54\x8c\xf2\x8b\x40\xa9\x2a\x86\x74\x03\x8c\x16\x6b\x1b\x9d\x26\x79\x4d\x67\x73\x67\x2a\xcc\xca\x8f\x4a\x69\xb1\x31\x24\x3d\xd0\x6f\xc3\xf2\xe1\xf1\x59\x7b\xe7\x53\x6b\xe7\xfd\x71\xeb\xf4\xd3\x76\xb3\x5d\xdf\x7a\xb7\xb3\xbd\xa9\x48\xf3\x71\x22\xba\x69\x4a\x55\x5e\x60\xea\x3b\x5e\x08\xa0\x26\xef\x8c\x7d\x0b\xc8\xf5\x6c\x51\x12\x0a\x02\x91\x59\x45\x90\x7c\x50\x79\x3b\x7a\xd2\x70\x7b\x11\xf4\xe4\x0c\x90\x1f\xc4\x32\xa8\x69\xbb\xfb\x24\xbc\xbc\xcb\x69\x37\x0e\x13\xbc\xc4\xc9\x93\x3c\x2e\xe3\x10\xc3\x72\x8c\x89\x2e\xf6\xd4\x09\x53\x6e\x02\x29\xd3\xe6\x72\x88\x4b\xc8\x10\x85\x20\x08\x7d\x98\x19\xaa\x68\x63\x77\xca\xc3\x72\xdf\xb5\x27\x53\x12\x24\x57\x37\xd2\xb6\xe8\x2c\x72\xab\x89\xb6\x1e\xbe\x34\xd1\x72\x0a\x2a\x90\x9c\x11\x26\x0b\xfb\x15\x27\xa3\x6c\x24\x66\x82\x1a\xea\x50\xd3\x23\x40\x6f\xe0\xe3\x23\xfb\x6e\x59\x70\x75\x35\xf6\x7e\xd0\xd2\xde\x79\xa9\x29\xc5\xca\x59\x2b\x86\x6c\x5e\x61\x75\x14\x69\xff\x98\x95\x16\x9c\xeb\xf9\xd0\xcd\x45\xc2\x13\x62\xf2\x29\x11\x9e\x50\x73\x6f\x10\xf9\xfc\xa1\x75\x4d\xea\x7d\xca\x5b\x0f\x42\xd0\x22\x21\x08\x69\x20\x6f\x42\x25\xd2\x70\x50\xdd\xc1\x8a\xc5\x92\x11\xe1\x80\xd6\x7c\xd4\x5b\xec\xd7\xdf\x07\x8e\x9b\xe5\xea\x05\x9c\xe4\xf7\x20\xbb\xed\x4b\x22\x4a\x6b\x7c\xb0\x5b\xde\x64\x17\x48\x66\x9f\x96\x8c\x04\xd1\xbe\xf7\xfa\xc9\xc9\xf4\x49\x65\x0e\xf3\x99\x5e\x28\x38\x9b\xb3\x9c\x2c\xe9\xc8\xb8\x79\x74\xe1\x23\xdd\x2e\x62\x86\xbf\x07\xb2\x5e\x0a\x17\x4c\x94\xea\xe9\x2b\x3b\x49\x51\xca\xed\x25\xdf\x7a\xea\xfe\x0d\x12\x1e\xb1\x31\x3a\x2c\xf4\x1f\xa9\x49\xa2\x1d\xe0\x3b\x47\xb6\x3c\xc1\x20\x59\x81\x46\x3f\x88\xa2\xc1\x3a\x7e\xc2\x84\x39\x60\xa3\x2d\x9b\xf7\x89\x76\xd3\x6e\x6f\xe0\xb5\x65\x64\x53\xb1\xd7\xc3\x10\x4c\xa6\x61\x21\xf4\x0b\xb4\x76\xa1\x67\x0f\x0a\x34\xd1\x81\x52\x8c\x38\x2d\x90\x8c\x58\x3e\xa2\x2b\x83\xcf\xce\x9f\x22\x46\x26\xff\x18\x36\xf9\x99\x4d\x3c\x12\xd4\x07\x91\xe5\x8d\x41\x62\xf0\xa4\x3c\x47\x28\x55\x04\xe6\xe7\xe2\x5d\x33\xe4\x42\x36\x72\xa2\x91\xc8\x43\x85\xba\x5c\x97\xcc\x1a\x7c\x63\x19\x91\xab\x6d\xf4\xfe\x12\x5e\xbd\x06\x5a\x0d\x96\x4a\x5a\xaa\x22\x16\x5c\x64\xb7\x64\xae\x1b\x42\x8c\x16\x0c\x10\x8b\x51\xfe\x53\x46\x88\xa5\xa8\xc8\x1d\x22\x16\x7b\xa0\x26\x9e\x7d\x16\xe0\x33\xb7\xc4\xcc\x09\x1d\xd4\xd7\x06\x89\xa2\x14\x62\xaf\xf2\x90\xa6\x8f\x89\xa3\x4e\xa4\xe3\x33\x39\x25\x6e\x89\x47\x0e\x43\x94\xf8\x96\x05\xd1\x51\xa9\x11\xb7\x79\x36\x67\x08\x14\xac\xa9\x71\x34\xfa\x2e\xd1\x89\x29\x76\x60\x56\x35\x3d\x2c\x95\x9e\x88\xf5\x5c\x72\x34\xae\x9d\x21\xf6\x3e\x55\xc3\xb8\x97\x89\xe6\xa7\xb3\xe0\xba\x6c\x4f\xa7\xec\xa6\x99\x7a\xaf\xfb\x9a\x8e\x31\xa3\xc1\x11\xed\xb9\x8a\x7f\x96\x42\xdd\xa0\xa6\x10\x08\xd9\x37\x06\xf1\x1d\x7d\x6d\xe5\xf4\x91\x59\xdc\xc5\x61\x16\x85\x2e\x54\x51\x2c\x26\x4f\x0c\x2c\x98\xba\x4e\x1f\x08\xb1\x65\x33\x39\xd0\x83\xd4\xb4\x9c\x79\x31\x29\x3c\x44\x2e\x2b\x20\xfd\x2a\x5a\xc1\x13\xdb\x67\x48\x40\x2a\x12\x59\x3a\xd4\x9e\xd8\x2a\xeb\x9c\x92\xb3\xa6\x05\x46\x68\x36\x62\x47\x01\x2c\x1c\x8a\x4f\xdd\x88\x1b\x52\xa1\x94\xb9\x25\x01\x82\xfc\x89\x80\x4b\xe7\x2f\xff\x89\x00\x4d\xaa\x94\xf9\x20\xe5\x76\xbc\xac\x40\x4b\x02\x8d\xa6\x2d\xc8\xce\xce\xfc\x16\xde\xdb\x23\x70\x36\x95\x5c\x7d\x53\xb7\xb1\x84\x3b\x7d\x6d\x51\xd7\x12\xeb\x91\x17\xf8\x98\x8b\x31\xda\xf6\xef\x64\x32\x89\x9f\x86\x53\x51\xca\xa9\xe6\xe2\xf4\xce\xf1\x7e\x67\x54\x5a\xa2\xe9\xdf\x1d\x39\xa4\x8d\xdf\x39\x53\x40\x7d\xde\xb3\xa9\x13\x25\x7b\x9c\x91\x95\xf8\x25\x12\x82\x5d\x0a\x2e\xf0\xe2\x4b\xfa\x55\x79\xe8\xc3\x1d\xbb\x7f\xad\x8a\xdc\x38\x12\x5b\xfb\x1b\x23\x0e\x42\x41\x44\x51\x64\x81\x1b\x51\xe8\x78\xcc\xc7\xa3\x85\xa9\x02\x2d\xa9\x68\x8d\x45\x67\x19\xa6\x29\xdb\x95\x64\x8a\x2b\xd9\xc5\x09\x64\xf3\x25\xe0\xf6\xeb\xae\x2b\xf0\x22\x93\xf8\x97\xc5\x18\x0b\x28\xb6\x94\x1c\x84\x99\xe7\x8b\xc0\xa5\x89\xbd\xa4\x6a\x29\x01\x32\x63\x68\x9f\x11\x75\x24\xcc\xf4\x19\xa9\x6f\xc3\x14\x18\x7f\x18\xb6\xc8\x03\xd9\x22\x60\x25\x32\x64\xcd\xf3\x75\x8c\x54\xd9\x9c\x05\xbe\xb5\x92\x4e\xe8\xc0\xbd\x5c\x9a\xa6\x29\x63\xef\xe5\x29\x27\xaa\xb8\xf8\xf0\x89\xe8\xcc\x0c\x7d\xe4\xd7\xd5\xa1\x0f\xef\x6c\x38\xa0\x73\x29\x27\x61\x9e\x4c\xc8\x42\xee\xe6\x24\x6c\x8f\x90\x83\xac\x85\xc5\xa2\xc6\x78\x97\x98\x7d\x0c\xaf\xde\x44\xf2\xcf\x5b\xdf\x19\x14\x92\x98\x13\x76\x31\x5b\x49\x4b\x70\x5f\xf9\xf7\xe8\x9a\x1c\xa4\x40\x88\xa0\x2f\x75\x35\x97\x89\x51\xd0\xb6\xf6\xf3\x10\x52\xc6\x86\x87\x6f\x10\x8d\x4b\x25\x21\x2d\x5f\x7f\x1b\x2d\x85\xe5\xe4\x47\x0b\x08\x33\xdd\x03\x71\xff\x96\x40\xfd\x8b\x08\xf7\x58\x10\x5e\x5b\xb6\x6b\x71\x1b\x8c\xef\x2b\x9a\xba\xa1\x03\xca\x9e\x65\x5e\x1b\xe4\x65\x8e\xc4\x86\x76\xac\x1e\x66\x45\x8d\xdf\x3e\x76\x38\x86\xf3\xf1\x50\x05\x5a\xad\x64\xae\x44\x51\x4e\xb2\xd8\xeb\x52\x9a\xa7\x8f\x81\x6c\x78\xe6\x14\xb9\xd9\x79\x9a\x09\x2c\x90\x23\x53\x4a\x1d\x28\x92\xd1\x05\x8f\x8f\x86\x1e\x5f\x13\x49\xe6\x2d\xc7\x0a\xad\xb0\x64\x96\x54\xc4\x0d\xfd\x11\x2c\xc2\x9a\xf3\x5a\xb8\xc2\x6a\x4e\xd1\x82\x2c\x51\x07\x6b\x4a\x75\x58\xc2\x97\x4c\x18\x04\xa9\xba\x38\x04\x70\x0a\x81\x20\xc7\xf3\x6d\x18\xbf\x55\x97\x92\x71\x48\xda\x18\x80\xbe\x0f\x6d\x91\xb1\x13\x8e\x02\x01\xb2\xa7\x3c\xab\xc1\x35\x9b\xeb\x3c\x98\x39\xf7\x32\xce\x88\x12\xa5\x6c\xca\x85\x30\x0f\x4e\x9e\x6e\x57\xe0\x43\x98\x07\x2a\xf2\x4c\x94\x80\xe3\x0c\x0f\x33\x60\x22\xdb\xc5\xfc\xba\x71\x00\x2a\x51\x65\x62\xc1\xa8\xf1\x79\xf6\x48\x7a\x6e\xfc\x1b\x7f\xcd\x84\x97\xe0\x55\xd8\x19\xc0\x02\xed\x77\xca\xf7\x21\x02\x92\xb1\x9a\xcd\x00\xcb\xda\xde\x6a\xe9\xea\x02\x2b\x57\x09\x18\x89\xf9\x6c\xd4\xf7\x28\xf0\x88\x88\x91\x8f\xed\x1f\x52\xa5\x49\xc2\x40\xdf\xc3\x99\xfd\xe7\xe1\x04\x78\xb3\xac\x88\x77\xc5\x7c\xe2\x55\x84\xbe\x87\x75\x48\x89\xc0\x1d\x02\x9d\x60\x22\x1b\xb1\xaa\xd5\xa0\x20\xdb\x3f\xd6\xf8\x0c\xfc\x3b\x4f\x41\xfc\xb5\xb4\xc4\x6c\x9a\xff\x1e\x87\x0b\x8c\x93\x3b\x25\x42\xb8\xf0\xb1\x49\x43\x21\x08\x3c\x4d\xa2\xc0\x30\xbb\xe8\x57\x03\x47\x11\xe4\x7a\xa8\xaf\x18\x5a\x0e\x02\xa4\x0b\x1c\xe1\xb8\x40\x52\x8b\xe1\x26\x6f\x11\xa2\x46\x7a\xee\x0c\x2e\xc4\xd0\xd4\x34\x71\x94\xeb\x74\x86\x51\xac\xce\xd3\x6a\x4e\x22\x14\xd9\x77\xf4\xf0\x2a\x79\xfe\x00\x5c\x92\x55\xa4\x0c\x6d\x37\x00\xca\x55\xe1\x4b\xa1\xd0\xf3\xe7\x68\x61\x38\xde\xa8\x5a\x20\xc6\x93\xa5\x9e\x3f\xaf\x15\x0a\x69\x3f\xeb\x6a\x21\x84\xb6\x17\x90\x20\xfa\x7c\x66\xd7\x02\xab\x47\x05\xa2\x95\xe9\x3c\x7e\x86\x91\xaa\x16\x02\xdf\x75\x06\xb5\xa7\xf2\x5d\x1f\xe3\x81\x1a\xa6\x1e\xe0\xd5\x82\xe3\xb9\x8e\x07\x4a\x3d\xd7\xef\x8f\x6b\x85\x02\x42\xbe\x64\xbb\xce\xc8\xab\x16\xfa\x00\x6d\xf0\xb5\x02\x93\xb5\xf6\x6d\xb7\xaf\xf2\xaa\xc5\xa4\x61\x8a\x56\xf8\xbe\x50\xd1\x6a\x85\x02\x06\xc8\xa4\x7f\xc2\xf2\x2c\x57\xe1\x53\x15\xfa\x7e\x88\xf0\x11\x83\xac\x16\xbe\x13\x28\x1f\xc4\xd6\x2e\x35\x01\x90\x58\x04\xb9\x00\x4a\x6c\xe7\xc2\x83\x21\x43\x47\xb2\xf2\xa1\x61\xa8\x16\x0c\xe9\x6b\xe8\xdf\x25\x5f\x13\x57\xe6\x84\xb6\xb9\x5a\x30\xca\x2f\x02\xae\x4c\x46\x79\x5b\xc5\x03\x20\x2b\x41\xb5\xb7\xd5\x02\x3d\xc0\x65\xe5\xe8\xb0\xe7\xab\x89\x6b\x4f\xbf\x1c\x83\xfb\x21\xb4\x27\x20\x28\x60\x64\xd1\x38\x60\x0b\x80\x2f\x05\x7f\x6a\xf7\x71\xba\x61\xb3\x6c\xd4\x0a\x4f\x85\x42\xe8\xf3\x4f\x0d\xfc\xf4\xa9\x1c\xf7\x11\xd5\xb5\x3d\x67\x42\xa2\x11\x78\xf6\x04\x54\x09\xd0\x1a\xff\x3c\x26\x04\x8f\x9b\x80\x52\x5a\xa2\x9a\x13\x02\xf2\xb8\x84\xf3\xdd\xa0\x49\x3b\x74\x3c\x27\x04\x89\x52\xa1\x33\x71\xbc\x51\x89\xed\x17\xd5\x02\xb0\x03\x50\x72\xb0\x5f\x47\x12\x0b\x07\x02\x5a\x24\xba\x16\xd6\x9e\x94\xf4\x26\x7e\x0d\xec\x41\x22\x40\xbe\xa3\x65\x83\x3f\xe5\x6f\x0a\x5c\x9e\x68\xde\x58\x3a\x8e\x50\x14\x39\x28\x90\xd7\x4a\xb6\x6c\xdf\xb5\x83\xe0\xc8\x9e\x00\x4b\xe1\xb6\x12\x41\xc1\xc5\x59\xa5\x49\x3a\xe9\x25\x56\x71\xe2\x6d\x7a\x11\x68\x1a\x49\x4f\x2d\x87\x43\x57\x77\x2e\x20\xe8\xdf\x69\x5a\x2d\xda\x85\xc8\xf6\x43\xd7\x7c\x0e\x72\xb5\xa5\xb6\x95\xd2\x1d\xe8\x8d\x9d\xb0\x84\xb7\x4c\x4a\x05\x3a\x77\xf5\xcc\xce\x5a\x30\x0d\x63\x12\xe0\x4d\xcb\x86\xb5\xd2\xc4\x7f\xf8\x96\x7a\x8a\x9e\xb9\xdd\xf9\x02\xae\x23\x11\x36\x40\xfb\x69\x82\x9a\xb4\xaa\x59\xc8\x84\x64\x12\xa1\x71\x53\x26\x71\xb2\x6f\xa1\x11\x00\x5f\x3b\xab\xb3\x75\xb9\xc9\x4d\xf6\x9c\x01\xb4\x47\xd4\x4b\x90\x9c\x32\x00\x2a\xd2\xca\x4b\xa6\x46\x2f\xbd\x7a\x35\x9d\x4b\x66\x8f\x69\x4c\xe7\xd1\x34\xc1\x3f\x32\x2b\x5b\x92\x27\x3a\x83\xce\x12\xac\xcf\x25\xcf\xaa\xc4\x7c\x15\xcf\x41\x29\xd8\x37\x53\xd1\x95\x41\xcf\x25\x5f\xc5\xa2\x53\x19\x4d\x32\x8c\x4b\x9c\x71\x93\x5f\xff\x39\xc5\xe2\x9e\x0b\x0b\x09\xe4\xad\xb9\x80\x97\xe4\xce\xd2\x17\x05\xa1\x5c\x17\x84\x2d\x70\x0b\x60\x00\x3a\xce\x00\xf8\xea\x8a\x29\xa0\x39\x0d\xec\x29\xb8\xd0\xa4\xf3\x3b\x4b\x8d\x2d\x18\xab\x2e\xb3\xb4\x88\x28\x24\x15\xdc\x21\xce\x2d\x4f\xcd\x13\x45\x1f\x95\xa1\x40\x83\xed\x66\x55\xaa\xa1\x5c\x5c\xaf\x65\xcd\x8e\xa2\x22\x97\xe0\x2a\xa3\x55\x15\x80\xa8\x89\xac\xab\xa0\x7f\x17\xe0\xf0\x21\x97\xe1\x55\x2e\xc6\x64\x1d\x26\x4d\x0b\x62\x1d\xf6\xe5\x95\xee\x58\xa0\xe6\xbc\x0e\x6b\x0e\x4b\xb8\xe6\xf3\xca\x57\x7c\x49\x71\xd0\x2d\x05\x1b\xe3\xfb\x3c\x6f\xac\xe9\xce\xeb\xb0\x64\xae\xae\xae\xe0\x44\x2a\x5c\x2c\x26\xcc\x3f\x32\x19\xa0\xa2\xad\xae\xd2\xea\xca\x47\x4f\x61\x41\xea\x0b\xb0\xfc\xd9\x77\x3c\x55\xc9\xb3\x4b\xa6\x8a\x5b\x51\x86\x89\x34\x92\x40\xe3\x71\xcb\x05\x49\xf2\x73\xe7\xda\x86\xa5\x07\xa1\x28\xa6\x3e\x7d\x2b\x69\x8d\x53\x85\xe6\x49\x00\x65\x50\x93\xb7\xc7\x2c\x46\xba\x63\x19\x35\xe7\x35\xc8\x0c\x9d\x74\xdf\x9f\xa3\x53\x5b\xd1\x6a\x7e\x76\xef\x4c\xd7\x41\x64\xc7\x74\x55\xd0\x71\xc5\xe5\xd7\x83\x45\x27\x29\xfa\x45\x23\xdb\xf2\xef\x54\x5f\x7b\x12\x44\x85\x4f\x77\x4a\xa2\xaf\xac\x39\x43\x35\x78\x63\x90\x6e\x78\x32\xfd\x7b\xa0\xd5\x08\xac\x98\xc6\x8b\x54\xef\x9e\x48\xc9\xc4\xa7\x94\x61\x86\x20\x4c\xf0\x85\xdf\xe0\xa0\xce\xaa\xf6\xc4\x32\xcb\xc8\x7a\x83\xf3\xba\xe4\xf7\xd7\x8c\x37\xca\x3a\x3d\x02\x33\xe6\x76\x52\x75\x03\x3a\x7f\xb2\x89\x29\x75\x98\x30\x93\x88\x9a\x06\xac\x38\x5e\xe6\x49\xdd\x3d\x71\xc1\xc5\x2f\xa1\xee\x90\x1b\xb1\xaf\x07\x35\xf0\x1a\x6e\xaa\xbe\x05\xf4\xc0\x82\xc5\x50\xab\xaa\xbe\x05\xf5\xc0\x02\xc5\x30\x62\x52\x78\x85\x9f\xaf\x0b\x83\xd9\x52\xe2\x35\x97\xd1\xde\x71\xe0\x32\xbd\x8a\xd3\x55\x42\x96\xbf\x95\x6a\x30\xfd\xbc\xb5\x80\x10\xae\x05\xaf\xc3\x5a\x50\x2c\x6a\x0e\xb7\x39\x06\x57\xf1\xc4\xf5\x8b\x32\x2b\xd4\x29\x74\xbc\x50\xb2\x42\x0d\x6c\x5c\x79\xd7\x2f\x07\x21\x31\x92\xc3\x49\xb7\x5f\xc3\x5a\xda\x9f\xf3\x0e\xda\x53\x1b\x73\x97\xd1\x8c\xca\x55\x8d\x64\x4c\x27\xfd\xc9\xc4\x09\xdf\x39\x1e\x60\x76\x90\xec\xc0\xf4\xc0\x1d\x7a\xac\x52\x39\x46\xa0\x7b\x16\x2c\x85\xba\x6d\xad\x98\xb5\xc5\x62\xf6\xa2\xf7\x46\x66\x48\xa6\xda\xd6\x8a\xa1\x7b\xe2\xd7\xa5\xc5\xa0\x35\xdd\x5e\x5d\x5d\x91\x91\x61\x53\x0d\x28\xe5\x66\xbd\x20\xc4\x8c\x8a\xee\x95\x4c\xad\x98\x7c\x08\xd1\x0a\xf1\x2c\xa8\x55\x05\xc5\x49\x96\x58\xd4\x6b\x17\x87\xe3\x4d\xba\xe1\x4d\x5d\x27\x3c\x77\x06\x00\x5d\x1f\x88\x0f\x99\x1a\x44\x19\x44\xd9\xe9\x79\x5d\x2c\x6a\x89\xae\xa4\xf4\x86\x77\x7d\x7c\xa8\xbb\x97\xd7\x57\xf4\xbb\x9e\x57\xdc\x0e\xfa\x8e\x13\xd7\x88\x7e\xa6\x54\xa2\x64\xb9\x1d\xfa\x03\xb0\x29\x58\x86\x14\x59\x0c\x21\x08\x21\xb5\x1d\x64\x65\xd0\x0c\xc1\x41\x73\xd2\xc5\x72\x11\xa3\xfd\x88\x42\xd7\x2e\x42\x7f\xc5\x48\x4e\x9e\x89\x7d\xdf\xc3\xd1\x78\x1a\x51\x76\x42\x34\x01\x8b\x96\xf7\xb4\x58\x33\xc0\x6f\x09\x51\xa0\x85\x78\x1d\xfc\x3c\xa6\x34\x69\x3d\x6e\x8a\xab\x31\xb0\xef\x16\xb3\xbd\x17\x58\x9f\x50\xab\xd1\xaf\x08\x15\xad\x55\x05\x55\x80\xb8\xbc\xd4\x62\x72\x14\xe3\x7d\x9a\xd4\x74\x52\xb6\x83\x18\xb5\x66\x1a\xda\xcc\x3c\xa9\xca\xb4\x3c\x5c\x13\xe9\xf4\x6a\x79\xad\x50\xd4\x37\x45\x0f\xab\x32\x2a\x4a\x50\xa0\x9b\xd4\xd7\x29\x02\xa1\x7f\x67\x2d\x3a\x3e\x6b\x8b\x10\x5f\x08\x3b\x5d\x2b\x39\xa6\x67\x53\x75\x89\x23\x3a\xbf\x21\xdd\xd0\xb4\x2a\x5b\xe9\x3f\x01\x48\xf5\xa7\x41\x28\x9a\x08\x06\xc5\x83\xb7\xc3\x33\x7f\x16\xc8\x92\x91\x47\xcc\xfe\x2e\x00\x83\x6f\xd1\x01\xd7\x92\x07\x5c\x56\x04\x33\x9b\x78\x72\x8f\xe8\xa1\x0f\x27\xe9\x96\x93\xdb\xb0\x3d\x0b\xfd\x86\x0d\xa1\x63\x8f\x40\x0b\xaf\x83\xcd\x64\x8b\x84\x2e\xac\x0b\x39\x5c\x0b\xbe\xe2\xbe\xcb\xef\x6a\x72\xa5\xa3\xee\x2c\x9a\xfd\xb5\xd0\xb2\xe8\x78\x91\x93\x01\xb5\x10\xc8\xc7\x0b\x6d\xca\x39\x76\x74\x00\xda\x01\x38\xf5\x71\x84\x10\xc9\x68\xf0\x06\xb8\x42\x6a\xa7\xb3\x14\xa6\x4f\x23\xa7\x3c\xc4\x96\xd9\xd7\x4e\x08\x70\xfc\xd3\xc8\x51\xa4\x68\x6a\x42\x6b\x4e\xe9\xf8\x51\x74\x5b\x19\x33\xff\x38\xb3\x7f\x3e\x0f\x95\x4e\x74\xf7\xb5\x0c\x8c\x0e\x2d\xb0\x19\x59\xd2\xa2\x53\xa4\x1a\xa6\x6c\xcd\x33\x27\x68\x2c\x45\xb4\x52\x7b\x57\xaa\xe0\xf6\xce\x6e\xfd\xec\xdd\xe9\xa7\xc6\xf1\xbb\xe3\x16\x33\xdb\x95\x5d\xe2\xf3\xa7\xc9\x15\x42\x2a\xc3\xff\x78\xfe\x80\xd8\xe1\xab\x81\xf6\x7a\x89\xc5\x56\x84\x69\x69\x04\x2e\x4b\x72\x93\x35\xae\x6d\x18\xa8\x50\xd3\x63\xab\x11\x81\x6b\x8e\x4a\xee\x78\x9e\x74\x32\x2d\x3d\x69\xa0\x78\xae\x78\xbc\x35\x5d\xa6\xed\xbc\x79\x94\x77\xfa\x48\xf1\xe4\x9a\x69\xc5\x0c\x77\x7a\xfa\xe6\xa1\x94\x83\x51\xbd\xe7\xdf\x2e\x8f\x12\xb7\x76\xd5\x98\xed\x65\xf9\xdd\xf0\x5e\x11\x71\xb2\xb9\x57\x49\x3d\xb7\x87\xb5\x9f\xb3\x87\x5b\x20\xe5\xae\xb5\x4c\x0f\x5b\xd4\xa8\x54\x28\x05\x49\xb0\x1a\x68\x79\x92\xd3\xa7\x06\x5f\x5b\x61\x0d\x2e\x26\x00\xfc\xbd\x11\x60\xe8\xb8\xae\x2c\x57\xa9\x70\x97\x95\x60\x6c\xe8\x46\x4c\x0b\x68\x19\x35\x98\x31\x08\xa2\x22\x12\xd4\xfd\xf8\x82\x6c\xe4\x58\x0e\x2d\x41\x26\x67\xc1\x36\x0f\x84\x84\x92\x32\xb9\x91\xf5\xab\x80\x24\x20\x75\x95\x87\x56\x98\xb0\x2e\x26\xd9\xca\x13\xb7\x7f\xd4\x39\x48\x3a\x22\xf0\x4f\x74\xf0\x20\x0b\x46\x56\x50\x16\x91\x57\xb6\x6f\x60\x00\x4b\x22\x2c\x76\x96\xad\xc5\xd3\x86\x98\xfe\x22\xbc\xb2\x48\x60\x27\x09\x1d\xb2\x6b\xb3\x3c\xb4\x07\xe3\x00\xa4\x13\x4b\xce\x3d\xc2\x0c\x0f\x42\x6f\x58\x9a\xee\x58\xb0\x14\x96\x54\x60\x71\x47\x1d\x2c\x85\x9a\x56\x34\x6b\x0e\xbd\xa5\x45\x92\x26\x35\xd4\x1d\x3d\x2c\x82\x78\x52\xfa\x16\x28\x99\x35\xff\x8d\x65\xd4\x7c\xe6\xbe\x94\xb3\x05\x15\xfd\x85\x6b\x50\x6a\x48\x86\x4e\xa2\x7c\x02\x70\x2b\x0b\x8f\x0b\xea\xba\x23\xef\xba\x6f\x39\x25\x58\x34\xf5\xc0\x72\x52\x04\xf0\x71\xf7\xc1\x8a\xe5\x67\x28\x00\x75\xa0\x07\x71\xff\x3d\xcb\xa8\x79\xaf\x41\xcd\x5b\xbc\xae\x82\xa2\xf7\x4d\x1b\x50\xf8\x0d\x1b\x10\x15\x25\xe0\x10\xf4\xcb\x51\x4b\xc0\xba\x3d\x3e\xa6\xdd\x81\x13\x12\x8a\xb4\xcc\x41\x22\x24\xf8\x79\x3a\xc4\x31\x22\x8b\xe6\x3f\xcf\xb3\x00\xe2\x49\xc6\x24\x51\x12\x6e\xcc\x09\xe2\x54\xc3\x5f\x64\x1e\x69\x42\x86\x58\xc2\x5c\xa6\x28\x93\x20\x5b\x96\xd0\xa1\x98\xdd\x81\xd4\x02\xf7\x6b\xc8\x14\x5f\x5c\x7f\xc2\xf1\x83\x2f\x12\xa2\x3b\x0b\x53\x38\xc6\x4b\x31\x3a\x1d\x97\x3c\x0a\x18\x7e\x49\x7f\x9a\x6f\x3f\x20\xc5\x57\x2b\x23\x0e\xd2\x14\x5d\x9b\xbe\x12\xd1\xcc\x3e\x2d\xca\xb7\x13\x5d\x25\x7d\xe8\x8c\x1c\x8f\x93\xe8\x81\xb0\x05\x5c\x3b\x74\x6e\xd3\x08\x93\x7b\x44\x7e\xa7\x72\x3c\x6c\xa5\x80\xe5\x01\xba\xd2\xd4\xa9\x01\x3e\x20\x40\x11\xea\x50\x97\xed\x90\xe8\x92\x1a\x97\x0d\x73\xa2\x06\x64\x3d\x6d\xbf\xa6\x4b\x62\x3a\xa4\x7d\x9e\x79\xb4\x73\x23\x1e\xfc\x7e\x90\xe6\xf7\x01\x41\x64\x8a\x6f\x96\xf4\xe4\xc5\x78\x13\xb7\xb9\x5c\x04\x0f\x5c\x69\xd9\x31\x68\xf1\xac\xfb\xe2\x3e\x81\x5c\x87\x8f\x7c\xce\x26\xea\x56\x2b\x79\x5d\x58\xa2\x4f\xd0\xbf\x93\x7a\xee\xf1\xb6\x03\x9f\x78\xb8\x91\xfc\x20\x76\x43\x22\x79\xfe\xf9\x1b\x4a\x4d\x58\xc2\x12\xe7\x3a\xa5\x09\xbc\x41\xa6\xbc\x0e\x52\xae\x78\x18\x19\x9a\xc4\x74\x01\xe6\x9c\xae\x71\x01\xf6\x41\x54\x32\xaf\x07\x71\xa9\xe5\x7b\x11\xd7\x49\xf5\x24\x2b\xaa\x07\x19\x39\xbd\x99\xc3\x5b\xe3\x61\x4c\x9d\x51\xd9\xd0\x18\xa8\x61\xb5\x44\xf8\x10\xe9\xdd\x22\x2a\x99\xcc\xf0\x8a\xf8\x74\x33\x61\x81\x2d\xdb\xab\xd3\xfb\x63\x35\x72\xcc\x58\xa6\x0a\xdb\x2a\xa5\x22\x71\xc4\x65\xc6\xbb\xd1\x02\x49\x2a\xd1\x74\xe6\x1c\xcb\x7e\x3e\x1d\x92\xc2\x3d\x2a\x2c\x53\x55\x42\x0d\xed\xb5\xa9\x2d\x73\x61\xa0\xd2\xd7\x28\xfd\x38\xa3\x02\x95\x73\x9e\x47\x4a\xbc\xd8\x05\x69\xb1\x3a\x13\x94\x4a\x39\x4c\x9f\xbe\x02\x34\xe6\xb7\xb4\xd8\x27\x0d\xfa\x77\x35\xd5\xb1\xc2\x12\xd0\x70\x2a\x79\x15\x5a\xb0\x84\xb9\xf7\xa1\xeb\xa3\x1b\xfb\x33\xe1\x8e\xaf\x95\x4c\x52\x1e\x4a\x84\x0a\x45\xf8\x47\xe2\x17\x9a\xee\x88\xc5\x88\x45\x27\x53\x83\x34\x95\x12\x56\x47\x1b\x65\xec\xe3\x8f\x98\x14\x87\x38\xf8\x53\x7d\x7d\xf4\x2e\x2c\x01\x74\xef\x17\x32\x9c\x0e\xcd\x3b\x2d\x9d\x02\x62\x81\xa9\x68\x0e\x2c\x37\x2d\xa9\x78\x50\x74\xe2\xa6\x42\x06\xa5\x59\x63\xf9\x16\x97\x34\x0b\xcb\x89\x83\x0c\xf9\x62\x40\x67\xb1\x5d\x16\x44\x49\xc5\x65\x24\xee\x37\x29\xdb\xcc\xfc\x20\xb8\x19\x40\x99\x0c\x1e\x9a\xc6\xd4\x80\x5f\x8b\x93\x00\xd4\xb7\xe1\x24\xe8\x9c\x54\x53\xe1\x78\xa3\x2d\xc0\x8b\xa6\x12\xb1\x8e\xf2\x82\x42\x67\x50\xcb\x46\x9c\xa5\x69\xc1\xe9\xf1\xe3\x0c\x55\xf1\x39\x03\x96\x09\x41\x9d\x63\x56\xfb\xa4\x57\x0c\x43\xd3\xc9\x29\xd8\x03\xae\xdb\xbe\x99\x01\xb7\x7f\x4d\x9b\xfa\xc4\x6c\x27\xb8\x64\x80\xa3\x4c\x32\x40\x6d\x33\x53\x68\xea\xda\x91\xab\x12\x06\x0b\x92\x70\xf3\x8f\x4d\x19\x36\xbc\x55\xa4\xbe\x61\x18\x9a\x56\x5d\x50\x83\xdd\xb1\xc4\x79\xfa\xd8\x4d\x96\x33\x64\xb7\x83\x5d\x62\x9d\x18\xad\x6c\x9f\xc6\x37\x67\xf7\x27\x61\xa6\x5b\x62\x75\x87\x85\x52\xbe\x87\x2d\x57\xad\xe4\x28\xb9\x3e\x16\xe2\x26\x6a\x06\x88\x7b\xc9\x59\xd7\xc7\xd1\x49\x99\xb3\xaa\xe3\xe3\x34\xf2\xff\x13\x8b\xe6\xa4\xcd\x34\x23\x0b\x8a\x9c\x66\x62\x33\x8b\xbc\x88\xe0\xf5\x8c\x16\x30\x07\x64\x56\x65\x98\x07\x3a\x3e\x29\x73\x40\xc6\x36\x31\x79\xa0\x5a\xe9\xb3\x77\xf1\xa6\x79\xbe\x14\xe0\x3a\x73\x91\xc8\x10\x53\x76\x23\x4f\x9d\xf9\x4c\x45\x99\x76\xc1\xaf\xd2\x8d\x4a\x96\x31\x5d\x64\x2f\x27\x7e\x7d\x69\xc4\x86\x5a\x2b\xb9\xe1\x6f\x52\xf1\x97\x24\xf6\x60\x69\xcb\x38\xd6\x8e\xee\x5b\x46\xcd\x7f\xed\x30\xe3\x20\xbf\x58\xd4\x9c\x4b\xff\x8a\x37\x6f\xf4\x99\x80\x8e\x0f\xb0\x95\xc7\x02\xa4\x23\x6b\x49\xf8\x8b\xec\xce\x7f\xef\xf5\x09\x87\xc9\x44\xe1\xf9\xf1\x30\xf2\xe4\x6c\xa9\x70\x20\x79\xb1\x79\x93\xce\x0a\x39\x93\x8c\x0f\xeb\x00\xf4\x15\xc0\xdc\xb1\x45\xa1\x1d\x56\x57\x55\xe2\x17\xce\xdb\x8f\x0b\x4b\x6a\x3a\xbf\x39\x4a\x8a\x88\x10\xa1\xfe\xa4\x71\xe0\xae\x65\x63\x36\xa4\x8b\xa6\x39\xa7\x9c\xc6\x70\xbf\x13\x5a\xd3\xdf\x47\xef\xe3\x78\xb5\xd9\x63\x94\x7a\xb3\x58\x8a\xa1\x70\xeb\x54\x6e\x93\x95\x03\xc1\x54\xe4\x71\x3c\xb8\xd0\x03\x42\x1c\x29\x23\x4f\xea\x27\xf2\xd6\xb3\x34\x8b\xbf\x2f\x6a\xe5\xc4\x74\x4d\x91\xe4\x1b\x82\xfb\xe8\x82\x90\x82\x23\x10\x92\x1b\x61\x54\x0c\x68\x8b\x4c\xb5\x17\xdc\x74\x9c\xa1\x0a\xdf\x84\x91\x72\x21\x8a\xf5\x4d\x98\xa2\xd8\xe1\x4a\xd1\x95\x92\xa9\x90\x48\x74\xc2\xc5\x1a\xad\x11\x92\xc4\x9a\x1a\x28\x64\xe7\x00\x75\xbc\x61\x7c\x94\xb4\x80\xa5\x88\x42\x90\x67\xd1\xfa\xe1\x17\x5f\x60\x09\x3c\x15\x8a\x85\x1f\x8a\x3f\xfc\x22\xeb\x5b\x41\x1d\xbd\xb1\x34\x61\x7a\x68\xc3\x91\xe3\x3d\x4d\xe7\x3f\x2c\x82\xdd\xf7\x5d\x65\x19\xb1\x93\x60\xaa\x27\xd8\x41\x1c\x89\x55\xd1\x15\x55\xc9\x1d\x0a\x7a\x0f\x52\xf4\x42\x7e\x39\x74\x8d\x57\x34\x45\xe2\x56\x3c\xe2\xb2\x9a\xa0\xb3\x74\x75\xd5\x29\x3b\x41\xc3\x77\x5d\x7b\x1a\x80\xb4\x75\x30\x3e\x04\x58\xf1\x86\x0d\x41\x88\xef\x7f\xf2\x98\xb1\xb1\xc3\x98\x64\x3e\xf3\x31\x47\x6b\xd4\x55\x59\x30\x11\x92\x0c\x33\x71\xf6\xd6\x70\xec\x7b\x71\xc2\xfc\x32\x4e\x94\x9f\x08\x8a\x9d\x99\x36\xb5\xe0\xce\x61\x59\x01\xed\x00\x14\x64\x90\x76\xea\x87\xd5\x30\x0a\x90\x99\xe7\x09\xa8\xe8\x61\xe6\xe6\xa0\x70\x8e\xd4\xf8\x3d\x76\x95\x26\x6b\x92\x44\x70\x26\x56\x9d\xf4\xc5\x3b\x30\x0c\xc9\x63\x05\xbb\x51\x2b\x35\x12\x03\x30\x0f\xc3\x28\xed\x7f\x8c\x66\x66\x4e\x27\xfd\x8f\x7b\x76\x00\x5c\xc7\x63\xa1\x45\xbf\x01\x69\x8a\x9d\x00\x6f\xd4\x1d\x8a\x34\xf5\x1b\xfe\x09\xd4\xe3\x46\x8e\x25\x2b\x59\x9e\x82\xe8\xf1\x42\xa9\x66\xfe\xce\x2b\x92\x6e\x46\x35\x72\xa5\x9b\x51\x29\xc9\x35\x4d\xb8\xe9\xab\xd1\x19\x02\x84\xb0\x72\xe5\xb4\xd7\xfe\x5d\xd7\xf7\x27\xe7\x36\xf4\x1c\x6f\x94\x09\xa6\x49\xfa\xf1\x10\x97\x20\x3e\x87\xf8\x15\x48\x1c\x91\xe9\x32\xcb\xfb\x67\xa6\x6b\x72\xde\x99\xe8\x55\xe9\x8e\xbc\x53\x24\xa5\x53\xee\x98\x34\x12\x41\xcf\xb5\xfb\xe3\x5a\x36\x42\xc1\x1f\x0e\x87\x95\x4a\xa5\x52\x8b\xc2\x7d\x54\x0b\xae\x0d\x47\xa0\x46\xa3\x11\x40\x7b\xe0\xcc\x82\x6a\xe1\xe5\x74\x5e\xe3\x5c\xc9\x5f\x6c\xd4\xa6\xf6\x60\x80\x63\x20\x18\xe5\x0a\x98\x14\x8c\xf2\x06\xfe\x7f\xf4\x9d\x78\x7d\x92\xaf\x90\x7a\x76\xa2\xb7\x35\x81\x83\x68\xe4\xfc\x0b\xe6\x04\x8b\x92\x3d\xf8\x3c\x0b\xc2\x6a\x01\x1d\x6a\xd1\x6b\x1c\xec\x84\x24\x40\x66\x6f\xb0\xeb\xaf\xa4\x16\x7a\x97\xad\x22\xa3\x5b\xd6\x65\x92\xfa\x80\x66\xd8\x65\xb2\xa4\x51\x2d\xea\x80\x13\x3b\x55\x69\x4f\x54\xbd\x9b\x01\xcf\x47\x98\x70\xca\x87\x20\x08\xec\x11\x38\xb4\x3d\x7b\x04\x60\x19\x82\xa9\x6b\xf7\x41\x8b\x25\x3e\x0d\x54\x9f\x87\x40\x4b\xeb\x97\x51\x8a\x6f\xd3\x30\xbe\x5f\xb0\x3d\xc5\x71\xcd\xb5\x2b\xd9\xcc\x22\x73\x65\x18\xe7\xd7\x10\x08\xb4\xf8\xac\x19\xf4\x56\x98\x81\x13\x53\x84\xda\xd1\xe0\x00\x34\x1c\x9d\x32\xce\x67\x99\x25\x54\x5d\x04\x99\x9e\xa2\x39\x25\x32\xa3\x91\x6d\x25\x67\xd9\x1f\xdf\x02\x88\xf8\x9f\xa4\x7e\x32\x5a\xf3\x3e\x79\xcd\xad\xf7\xa8\xa3\x49\xd6\x98\x2b\xb7\xfc\x9a\xe7\x6b\xa5\x57\x70\x6a\x25\x9a\x1b\xd3\x39\xbf\x5c\xe7\xf3\x12\x59\xb1\x5f\xb9\x3c\x73\x96\xa1\x60\x9d\xc9\xbd\xf3\x0b\xe6\x4b\x63\x12\xb0\xc0\x0d\xb2\x55\x27\xf3\xd1\x4f\xd5\x56\x04\xe4\x58\xce\x97\x19\xa0\xd3\x60\x0a\x01\x2a\x19\xd9\x7d\xe8\xa0\x1c\x84\xfe\xf4\x3d\xf4\xa7\xf6\xc8\x26\x87\xc6\x93\x8e\xee\x8d\x52\xaa\xc7\x27\x66\xbe\x38\x56\x3a\x6e\xc2\xd3\x37\x5f\x46\x2c\x85\xb5\xfc\xca\xcc\x42\xe0\x37\x1c\x20\x6d\x21\xbe\x5c\x96\x5f\x6c\x88\xa8\x2f\x5e\xda\x99\xf5\x9c\x58\x1e\x54\xdb\x83\x7d\x84\x1b\xae\x03\xf8\x18\x53\x78\xc1\xe8\x8e\xf8\x65\x12\x8a\x0c\xe7\xd0\x9f\x5a\x2a\x64\xba\x38\x87\x89\x5b\x9e\x55\xb8\x20\xef\x82\x6a\x2e\x18\x86\xa8\x1e\x51\x70\x38\x29\x93\xf1\x85\x71\xf2\x29\xf8\x5a\x6c\xd5\x9d\x40\x30\x16\x54\x67\x6f\xba\xa9\x22\x9a\x4e\xd3\xdb\x84\xec\x36\x96\x2a\x20\xe1\x76\x16\x0c\xa0\xa2\x7f\x23\x20\x7e\x8f\x95\xbe\x4a\x6c\xae\xa9\x91\x12\x34\x8c\xb9\xc9\x25\x66\x1c\x91\xfb\x3f\xe9\xe1\xe3\xa3\x89\x05\xe9\x32\x87\xcd\x64\x6e\xcd\x48\xb1\xec\x93\x37\xbb\xd0\x9f\x44\x79\xe5\x53\xee\xcd\x52\xe5\xaa\x3f\xbd\x27\xd6\x5b\xa7\x7e\x54\x37\x2b\x1c\x13\xe4\x99\x89\x33\xdd\x7b\x7e\xe8\xf4\x01\xba\x45\xa5\x23\x29\x70\x47\x0a\x17\x9a\x8a\xc9\xf0\x1b\xfe\xf4\x9e\x9d\xea\xa8\xdb\x98\x0a\xfc\x45\x4b\x7a\x68\x4c\x21\x50\xb4\x5a\xc8\x31\x85\xa8\x1f\xa5\xd0\xe7\xb0\x0a\xfc\x19\xec\x03\x74\x15\x48\x6d\x02\xe9\xa3\x45\xb8\xe1\xe3\x68\x46\xd9\x6d\x1c\x3f\xce\x0d\xee\xb1\x44\xcc\x8e\x44\x70\x52\xd9\x05\x5a\x77\x2c\x58\xb6\xbd\xfe\x35\xb9\x69\xea\x41\xf4\xf3\x18\x0b\x09\x74\xcf\x82\x24\x76\x03\x7e\x6d\xb3\x5f\xe4\x6d\x0d\x96\x09\xca\x75\xd7\xc5\xad\x42\xe0\xa9\xa1\xa6\xfb\x64\xc0\x59\x33\xdc\x98\xa7\xe7\x8b\x0e\xcb\x60\x1e\x02\x6f\xb0\xba\xaa\x62\x0b\x5e\x7c\x8d\x57\x1d\x3d\x88\x5f\xa9\x9e\x6e\x6b\x9a\x1e\x4a\xd9\x8f\x1c\xc3\x98\x18\x87\x44\xa0\x03\xa9\x88\x2a\x60\xe5\x6b\xce\x50\x25\x57\x1e\x7c\xb4\x71\x22\x06\x8d\x73\xf9\x63\x11\x26\xca\x41\x68\xc3\x90\x92\x0c\xb2\xdf\x08\x53\x9c\x5f\xec\x43\xa9\x75\x7c\xae\xac\x58\x10\x7b\x95\x1c\xd9\x13\x80\x25\xed\xca\x1f\xe2\x48\x82\x16\xf7\x7c\x75\x55\x69\xbf\xaf\x1f\xe1\x67\x5c\x77\xe3\xd7\x2a\x4c\xbc\xc1\xb1\x23\x20\xb8\x75\xfc\x59\xd0\x76\x7a\xae\xe3\x8d\x6a\x1a\x2e\x92\x7c\xa8\x87\xc5\xac\x8b\x6f\xec\xe2\x02\xa9\xf3\x73\x5e\x19\x50\x06\xde\x00\xb7\x59\xc2\x5f\xe9\x14\xe0\xfb\xa7\xa2\xae\xb3\x52\xbf\x93\xbe\x7a\x60\x1e\x26\xfa\xc9\x3d\xd0\x83\x65\xfa\xe8\xf1\x01\x38\x68\x8a\x69\x32\x5c\x2d\xff\x2e\xd2\x54\xe8\xb8\x1f\xfc\x93\xa2\xa9\xb1\x58\x21\x9c\x23\xb5\xe3\x8d\x54\x4f\x0f\xf5\xa4\x13\xbb\xa7\x95\x82\xdc\xad\x50\xb0\x32\xe4\x5e\x6f\x89\x39\xac\x6a\xd4\x65\x93\x31\xe9\xc2\xad\x55\xee\x15\x46\x4f\x89\x74\x3a\xc2\xf4\x3e\x2a\x56\xc9\x14\x95\xb9\x22\x09\x3f\x2f\x6d\xcf\xeb\x9c\x46\x19\xe5\x85\xf9\xa7\x52\x49\xe7\xbf\xd5\xaf\x99\x1a\xac\xfa\xc9\x16\x49\xc9\x28\x81\x26\xce\x73\x4e\x82\xa8\x4b\xd0\x9d\x02\xef\x0c\xba\xa2\xcc\x53\xfd\x6b\xe8\xa3\x59\x99\xf8\x59\xee\x41\xff\x2e\x00\x70\x33\xf9\x13\xc3\x39\xb5\x7b\xea\x97\x19\x74\xab\xe0\x49\xab\xd2\x5a\xe8\xb9\x0a\x74\xe5\x53\xcf\xb5\xbd\xb1\xa2\x2d\x88\x8b\x83\x8a\x93\xe1\x07\x83\x33\xe8\xca\x84\x92\x82\x49\xe2\x0c\x55\x9a\xd9\x0f\x3c\x3e\x26\xed\x53\xc0\x7c\x6a\x7b\x83\xf8\x10\xc8\x3d\x20\x18\x03\xa5\x4a\x9b\xd2\x34\x6d\x75\x75\x45\x05\x54\x1c\xff\xa6\x62\xac\xbf\x7c\x7c\x04\xe5\x00\xd8\xb0\x7f\xad\x3e\xbb\xfc\x18\x7c\xbc\xfc\x78\xa5\x6a\x5f\x9e\x5e\xbf\x51\xbe\xfb\xf8\xf1\x57\x3f\x5c\x3d\xd3\xde\x58\x86\x46\x02\xfc\xb0\x82\xca\xaf\x2e\xed\xd2\x43\xbd\xd4\xbd\xa2\x9f\x46\xe9\x55\xb1\x5c\xba\xfa\xbe\xfa\xec\x99\xa2\xbd\x36\x34\x26\xfe\x24\xa1\x09\x54\xa5\xaa\xe8\xa6\x76\x69\x5c\x11\x71\xa8\x32\xb1\x1d\x37\xf4\x95\x6a\x52\x94\x07\xd0\xd1\x1d\x4e\x11\x8c\x22\xa0\x57\x11\x32\xc6\x68\x8d\x48\x27\x2d\x09\x36\x9a\x11\x49\xa1\x6b\x8f\xdf\x07\x41\x00\x06\x5b\xf7\xac\xe2\x5b\xdb\x1b\xb8\x00\x7e\x62\x1a\x5f\x7a\x5b\x05\x43\x60\x87\x87\x71\xda\xba\x80\x4d\xed\x64\x36\xbb\x95\xfc\x6c\x76\xe4\x1c\xca\x69\xd5\x5a\x31\x74\x50\x66\x81\xf2\x5a\xfe\x9d\x15\x49\x2e\x54\x50\xee\x63\xae\xff\x22\xcb\x7a\x0b\x74\x06\xda\xb3\x05\x62\x0e\xba\xd2\x8b\x26\xd7\x20\x35\xa5\x8d\xda\x64\x4d\x7e\x58\x04\x8c\xe8\x78\x8b\xa6\xbe\xc2\x5f\x32\x2d\x0b\x94\xd1\x10\xac\xae\xa6\x9b\x78\x23\x56\x12\x2f\xd2\x31\xae\xae\xae\x20\xd6\x3f\x41\xa1\x92\x69\x2d\x32\x8f\xcb\xb6\xbf\xa8\x12\x51\x6f\x6c\x2e\xd2\xf8\x60\xcd\x51\xf5\x67\x54\x20\x69\xba\x90\x7c\x2a\x28\xdb\x6e\x78\x00\xee\x1f\x1f\x57\x42\x96\xd1\x2b\x3b\x25\xd1\xec\x61\x5a\xa2\x74\xb6\x78\x75\xc5\x88\x8c\xb3\x84\x55\xcd\x34\x13\x9a\xdc\x3a\x22\x76\xee\xd4\xdf\xf1\x06\x7c\x10\xe3\x4c\x43\x26\xe2\xb1\xd2\x12\x05\xb4\xa7\x6b\xdc\x2c\x4a\x44\x7d\x03\xde\xc8\x1e\x81\xc1\xe3\xa3\x68\xf6\x6c\xca\x22\xd6\xb1\x6a\x71\xb7\x65\x31\xf6\xd0\xc5\x37\x5e\x3e\x1b\xdc\x75\x57\x5a\x05\x5f\x7a\xa3\xf9\x4f\xeb\x68\x55\x2e\xd6\x1d\x37\x3c\x5f\x47\x39\x31\x71\xae\xe3\xb8\xc8\x2a\xa0\x7a\x4b\xc4\x8e\x45\x81\xf4\xe2\xf6\x22\x56\xe1\x98\x9e\x27\xe9\x00\x39\x5f\x79\x28\xc4\xac\xc7\x12\x4c\xbe\xc6\x62\xfc\xc5\xf8\xac\x00\x12\x78\xea\x00\xdc\xe3\xb9\xda\x0f\xa1\x8b\x27\x2b\x28\x4f\x40\x68\x1f\x80\x7b\x66\xce\x5a\xc8\xd3\x66\xd3\xad\x9c\x57\xea\x67\x5e\x5a\x99\xb0\xc8\xa9\x43\x35\x63\x60\x86\x79\x5a\xe1\xa2\xc2\xf5\xc9\xe6\x8d\xb6\xc2\x06\xea\x15\x4e\xd4\xbb\xba\x5a\x41\xc5\x48\x56\x61\xd4\x0b\xf2\x8d\xae\xf0\x74\x42\xdf\x28\xb3\x23\xbe\x50\xab\x5a\x32\x3b\x2d\xe2\x29\x95\x86\x3f\x73\x07\x05\xcf\x0f\x0b\xb8\x4c\x61\x62\x7b\x33\xdb\x75\xef\x0b\x83\x19\x28\x84\x7e\xe1\x0e\xf4\x0a\x10\x20\x0e\x14\x53\x3f\x88\x37\x82\xd9\x94\xc3\xd8\x88\xb1\x12\x4e\x82\xb4\x2d\x5c\x6a\x1e\x66\x35\xab\x4b\x5f\xec\xb8\x69\xbf\x12\xa1\x13\x61\xc8\x1e\xa1\xdd\x69\xe1\x0a\x5f\xb8\x98\xcd\x25\x16\xb3\x42\xee\xcd\x09\x8b\x1e\x1c\xa5\xb2\x0e\xa1\x7f\x87\x18\xc6\x4f\xa9\x69\x99\x64\x1d\xed\xe9\xd4\xa5\x36\x7c\x44\xb7\xc5\x88\x97\xca\x46\xaf\x6a\xab\xab\x0a\x0e\x9b\x1e\x0d\x43\xd2\x25\x2e\xc3\xd8\x62\x2c\xb6\x81\x1b\xda\x2a\xd0\xa8\xb5\x7b\x30\xb1\x61\xb8\xeb\xfa\x3e\xdc\x76\x6e\x9d\x01\x20\x76\xcf\x76\x2f\xe0\x9d\x06\xf3\x8f\x69\x3d\xb0\x94\x3f\x38\x56\x8a\x2a\x7c\x6d\x6c\x2a\x5b\x4a\x55\xa9\x2b\x54\xd0\xe7\xf8\xe5\x00\x78\x03\x16\xd5\xa9\x0c\xc1\x14\xd8\xa1\xea\x6b\xa2\x9d\xe6\xe9\x49\x30\xaf\xbe\x62\xda\xe4\x1d\x20\x72\x53\x48\xba\xaf\x25\x38\x30\x69\x51\x3e\x38\xb9\x2c\x0f\xa9\xc8\x72\x81\x06\x61\x07\xb2\x88\xb1\x2b\x34\x65\x3d\x01\x23\x35\xe7\x94\xa1\x45\xe4\x9a\x9f\x04\x71\x31\xbf\x3e\x0d\x84\xef\xe1\xfd\xe3\x93\xc8\xa1\x1a\x8b\x9e\x98\x62\x4b\x7d\xf6\xd1\x7b\x36\x9a\xe8\xca\x47\x88\x86\xdb\x12\x5e\x80\xc2\xb4\x11\x58\x0f\xda\xfd\x31\x08\xc1\x80\xee\x66\x6a\x68\x29\x7f\x70\x59\x31\x8c\x5f\x2b\xc5\xb0\x88\xbf\x9a\xbf\x56\xe2\x4b\x16\x37\x7d\x72\xae\x7e\x0d\x7f\x7a\x2f\x18\x90\x59\x00\xe8\xec\x22\xc9\x7e\x51\xb1\xc7\x47\x55\xa0\x53\x48\x6f\xdd\xb2\xdd\x87\xdf\xc2\xe5\x82\x4d\xdf\xa3\x29\x38\xb3\xd7\x28\xce\xf9\x21\xb3\xba\xa2\x9c\x02\x34\x5f\xe6\x72\x9c\xed\xe3\xa3\x41\xfd\xe8\x32\x6b\x59\xde\x82\xdc\x54\x51\xb8\xc4\x1f\x1f\x8d\x1a\x76\x4e\x00\xaf\x2d\xe3\xf1\x31\x7c\x8d\x2f\x55\x64\xb3\x91\x65\x38\x7d\x7c\x94\xe6\x32\x4d\x98\x66\x46\x99\x69\x19\x32\x29\x75\xbd\x6a\xae\x2c\xb2\xda\xe0\xd4\xa2\x3a\xa4\xab\x88\x93\x3f\xa8\xb9\x81\x9a\xf3\x17\x89\x7c\xca\x71\xc6\x72\xf2\xc8\x45\x9c\x89\xdb\xe6\x57\x1a\xf1\x3c\x3e\x2a\x86\x9c\x73\xa7\x12\xf7\xcd\x85\x06\x86\xcc\x3c\x50\x68\x76\x97\x61\x59\x26\xf7\xc7\x89\x9e\xf1\x26\x59\xf8\x49\xe3\xbe\xef\x82\x4f\xe8\x32\xcc\x38\xf6\x5c\xe3\xc6\xdf\x45\xdb\xe6\x55\xca\x34\x5f\x08\x5e\x6e\x45\x9a\x4e\x6d\x22\x13\x16\x45\x8e\x1d\x99\x5c\x28\x52\xa1\x57\x4e\xe6\x93\x25\x5b\x11\xa4\x4c\xc9\x49\xe1\x24\x3c\x28\x32\xb3\x51\xec\x54\x20\x0a\x7d\x4d\x61\xaa\xda\x13\xe7\x5e\x91\xad\xca\x72\x2e\x3d\xe9\x4e\x19\x86\x03\x30\x55\x15\xd7\xe9\xd1\x3d\xff\xec\x74\xf7\xa5\xa2\xf1\x18\x37\x8f\xb3\x9d\x67\x77\xde\x28\x10\x1f\x93\x23\x37\x8f\x89\xa2\xe9\x29\x09\x61\x29\xc5\x7e\x12\x72\x42\xcc\x98\xf1\x10\x4e\x80\x24\xfa\x98\x5d\x68\x27\x22\x9f\x20\x90\x4c\x06\x8f\xf3\xe6\xe1\x02\x6a\xb2\x15\x3d\x1f\x32\x4e\x8d\x4f\x5e\xbc\x87\xfe\xd0\x11\x4d\x37\x0e\x63\x10\xd2\x52\xe9\x51\x4f\x00\x9d\xce\x82\xeb\xec\xd1\x42\x70\xe4\x6a\xa4\x30\x8d\xc4\xca\x20\x3a\xa6\x1b\xf6\x34\x9c\x41\x30\xf8\x94\x3c\xbd\xa3\xc7\x3a\x0b\x0a\x46\x62\x2d\xd3\xa3\x31\x7a\xa0\xe3\xb8\x3e\xdc\x3b\xf6\x8b\x72\x77\x6c\x3c\x53\xbd\x74\x7c\x3d\xf3\xc4\x02\x3a\xc8\xe9\x70\x32\xe2\x62\xb6\x76\x7a\x0a\xe5\x0d\x08\x63\x28\x12\x03\xc1\xee\x45\xae\x3f\x52\x95\x33\xef\x1a\x0b\xbd\x06\x85\xb8\x34\xc9\x9f\x2c\x87\x2b\x97\x3f\xa7\x40\xfb\xbd\x00\xc0\x5b\x00\x07\x85\xce\x69\x61\xcc\x6a\x20\xf0\xfb\xed\xe3\xa3\x32\x91\xf5\x3b\xc3\xfb\x8c\xf0\x38\xd5\x5c\x2a\xdb\xb7\x34\x38\x38\x22\x4d\x0d\xd6\x34\x98\x18\x4a\x40\x52\xfe\xd2\xb1\xd3\x79\x4d\x4e\xf3\xf8\x13\xb3\x08\x4f\xb6\xb1\x60\x11\xa5\x8b\xa7\x30\x92\x57\xc4\x01\x8b\xd0\xb6\x21\x34\xe9\xe7\xc7\x99\x70\x02\x24\xf3\x35\x9f\xee\x1a\x87\xfe\x25\x39\x53\x1c\xcf\xee\x87\xce\x2d\x28\x34\x8f\x0b\x7e\xef\x33\xe8\x87\x65\xa5\x96\x06\xc4\x25\x4c\x5b\x80\x96\xeb\xfd\x3b\x42\xac\xa8\x7c\x84\x38\xce\xba\x7c\x51\xe0\x78\xc7\x8b\x88\x6a\x3e\xcf\x6e\x38\x11\xc1\x55\x87\xdb\xb4\xf3\x27\x1c\x6e\xcd\xf5\xf2\xdb\xc3\xd4\x92\xb6\x48\x68\x29\x68\x33\x71\x8a\x60\xfb\x99\x80\x9e\x20\xbc\x8a\x4d\x90\x98\x2e\x4a\x0b\x46\x0f\x91\xd8\x0c\xa7\x8d\xd5\xe5\x64\x5f\x68\xb7\x1a\x9f\x68\x18\x3f\x7a\xaa\xc5\xf9\xe4\xf2\x8a\xc5\xd0\x48\x81\x44\x28\xc0\x34\x24\x69\x11\xaa\x20\x88\x5d\x30\x2d\x05\x8e\x7a\x6a\x65\x63\x43\x2f\xb0\xff\x69\x4a\xa2\x6c\xec\x49\x4a\xca\x1a\x7a\x01\xfd\xc7\x4a\xf5\x7c\x37\x96\x45\x0c\x6d\x34\x0b\xd8\x2f\x27\xb4\x5d\xa7\x1f\xfd\xec\x91\x64\xae\xf4\xd7\xcc\x1b\x00\xe8\x3a\x1e\x17\x5e\x38\x84\xce\x18\xa0\x59\x3b\x1b\x5d\xc7\x40\x3c\xec\x96\xc6\xff\xa6\x9c\x12\x7b\x92\x8a\x52\xcc\x87\x23\x66\x1c\x9f\x0b\xb6\xed\xd0\xe6\x22\xf3\xf6\xb9\xa4\xae\xdc\x63\x41\xc2\xd7\xa7\xcc\xd0\xf3\x11\xeb\xb0\x28\x77\x0b\x93\xc0\x58\xae\x60\x3d\xd8\xc2\xc6\xaa\x0b\x2a\x24\xc6\x8e\xf8\x5c\x13\x33\x0d\x6f\x36\x51\x15\xc1\x84\xe4\xea\x72\x73\xc7\x52\xe8\x28\x2a\x8b\x2a\xb4\xf6\xb6\xf0\xf8\xe6\x16\x0c\x44\x49\x33\x04\x0b\x20\x97\x68\x38\xce\x99\x9c\x63\xe0\x6b\x61\x65\x1e\x17\xd6\xaf\xe0\x10\x97\x29\x0d\x5c\x86\x57\x78\x92\x5f\x86\x57\x31\x27\x91\x18\xd5\xcc\x38\x97\xfb\xbe\xd7\xb7\xb1\xd1\x5e\x2e\x7e\xe2\x64\xd0\x7f\x19\x57\xf3\x5f\xea\xb5\xb7\x98\xc6\xfc\x42\xcb\xfa\x96\xf3\x2f\x1d\xba\x11\x4b\xc6\x93\x74\x01\x5d\x99\x71\xa9\x05\x8b\x36\x0a\xdb\x25\x0b\x1b\x93\x19\xea\xcc\x20\xd2\x6b\x7d\x66\xb0\x05\x05\x57\xa2\x91\x62\xdf\xf1\x40\x45\x72\x54\x3c\x4e\x51\x31\xe2\xcb\xb6\x92\x1c\xa5\x28\x0c\x19\x3f\x48\x11\x00\x32\x46\xdc\xcf\x58\x05\x18\x8f\x10\x45\x38\x1a\x9f\xd5\x55\xb4\xb2\x28\xbe\x6c\x7f\xcc\x5f\xb5\x78\xfb\x69\xf8\x5e\x68\x3b\x5e\xea\x06\xc9\x98\x10\x3e\x20\x9a\x30\x91\x4e\x3a\x11\x08\x58\xce\x24\x2d\x98\xda\x9e\x42\x62\xf3\xe1\x4b\xbd\xee\x58\x97\x57\xb5\xd4\x58\xad\x08\x96\x09\xb3\xaf\x62\x56\xb2\x71\x69\x2d\xbd\xc8\xa4\xd5\x85\xe6\xb6\xf1\x43\x0a\x28\xde\xe0\xd9\xdc\xc0\x5f\x55\x88\x4d\x6c\xcf\xa9\x63\x0d\x7a\xc8\xe4\x89\x74\x1a\xa8\x21\x5b\xb9\x51\xf8\x31\x3a\x25\x68\x5d\xea\xc9\x43\x9e\xb2\xca\x74\xa2\xa8\x0e\x4d\x82\x13\x67\xcb\x43\x25\xc8\x6b\xba\x0e\x69\x5e\x0e\x4b\x51\x12\x59\x7f\xb8\xd9\xa5\xfa\x45\x4b\x29\x44\x0f\x14\x3d\xe4\x77\x88\x28\xf6\x60\x72\xf6\x91\x4a\x38\x2b\x0f\x7d\xa6\x60\xf3\xbf\xc4\x3e\x62\x68\xba\x8f\x3b\x12\x82\x79\xb8\x4d\x32\xf4\x3a\xbe\x67\xf9\x9a\x9e\x98\x9c\x51\x3f\x68\x32\x4a\xdc\x09\xb6\xb7\x18\x7a\xc8\x6f\x2c\x26\x33\xce\x48\xcc\x5d\x0e\x06\x7a\xa4\x68\x3a\xff\xf3\x13\x35\xe0\x61\xa5\x11\x78\xf4\x9d\x91\x48\xc7\xc2\xdf\xa4\x31\x23\x82\x10\x67\x64\xe1\x52\xee\x39\x34\xc9\x50\x01\xc7\xde\xc8\x5d\x34\x13\x3b\xec\x5f\x83\x40\xba\x6a\x14\x72\xc1\x52\x2c\x0b\x15\xf7\x87\x05\xf0\xf8\xb8\x66\x59\xc4\x1c\xec\xf4\x7e\x9a\xf4\x13\xe6\x96\x17\x67\x82\x77\xef\x02\x3a\xb0\x2b\x2a\x47\xd4\xc7\x47\x10\x7d\x4b\xae\x7d\x4a\xb9\xe8\xf7\xe3\xa3\x80\x9e\xa8\x3a\xa3\x10\x05\x90\x58\x6a\x64\x55\xd1\x37\x89\x55\x94\x5e\x30\x4c\x95\x25\x5c\x21\xda\x8a\xb5\xb2\x12\x72\x6b\x84\x41\x44\x13\x78\xc5\x02\xf1\x4c\xa6\x2f\xc8\x32\x88\x6b\xe1\xd5\xf1\xf8\xb8\x92\xda\x32\x51\x01\x10\xff\x8c\x0a\x24\xe6\x27\x29\x94\x78\x94\x7f\x72\xc4\x79\xba\x03\x91\xb0\x27\xcb\x5c\x03\x19\x27\x1d\x7e\xe5\x99\x15\x17\x94\x18\x43\xa5\xcf\x2c\xe6\x65\x9c\x3e\xa2\x98\x57\x71\x92\x9b\xf0\x05\x0f\x23\x4f\xf0\xe8\x84\x61\xd6\x50\x19\x98\xa1\x04\x07\x66\x86\x9b\xee\x3e\x6b\x2f\x43\xb0\xcc\x66\xca\xb8\xe5\xc4\xa6\xca\x66\x70\xe2\x9c\xe5\x1f\xb6\xf6\xb6\x30\xb6\x82\x38\x61\xe0\xf5\xcb\x4d\x50\x7c\x59\x05\x4f\xe8\xb6\xa7\xa7\xcf\x4c\xd4\x45\x29\xda\x9a\x9e\x6d\x24\xcd\xcd\x09\x78\x80\x4d\x58\xcd\x70\x34\x97\xe0\x2a\x79\x0c\xa4\x4e\xef\x44\x6c\x77\x0e\xbc\x60\x9c\x36\xc5\xa4\xac\xa6\xaa\xa6\x8f\xcb\x98\xa7\x9a\x38\x73\x35\xd0\x53\x77\xbb\xf2\xda\xda\xda\x9a\xf6\x14\x8a\x3b\xcc\xf3\xa6\x82\x0e\xfb\x82\x0e\x87\x57\xa2\x19\xde\x67\x3b\x63\x70\x88\xb6\xca\xac\x6f\x54\x76\x87\xd4\x22\xc3\x7c\x19\xac\x66\xb4\x4f\x86\x1a\xb1\x24\x63\xdb\x29\xda\x9e\x52\x5b\xeb\x8a\x89\x8a\x88\x36\xdd\x15\x83\xda\x92\x83\x88\xeb\x08\x13\xfb\x6d\x81\xf1\x16\x8c\x96\xab\xab\x59\x76\xc1\x72\xd2\x8f\x50\x29\x8e\x29\x40\x97\xbb\xe8\x17\x7b\x47\x0e\x7d\xfa\x0a\xff\x40\x6f\x52\xa7\xa8\xe5\xa4\x9e\xe4\x11\xb8\x99\xe5\x7a\xa3\x55\xb1\xf0\x18\x12\x00\x8e\x4c\x8c\x85\xab\x2c\x3e\x5d\x36\x01\x7f\xac\xd2\x13\xb5\x9a\x4a\x7f\x95\x48\x01\x28\x69\xac\x8d\x4d\x8f\x33\xe9\xbd\x16\xb6\x48\x73\x3f\xa1\xc2\xd5\x44\x32\x28\xbe\x14\x86\x95\xdb\x70\x52\x46\xfb\x55\x6d\x63\x7d\x71\xaa\x79\x1c\x0f\x7d\x19\x0c\x04\x19\xa9\x24\x69\xc5\x2e\xaf\x74\x68\x19\xba\x6f\x19\x7a\x40\x92\x70\xe1\x18\xd3\x2c\x2e\x0d\xd9\x52\x6c\x0b\xdd\x9b\x06\xe0\xbd\xef\x78\x61\x3d\x54\x3d\x4d\x77\x2d\xfb\xb5\xf5\x7c\x63\x63\x6d\x63\xd3\xac\x56\x6a\xf6\x6b\xb3\xf2\x72\xd3\x2f\x5a\x2e\xc1\x17\xb5\x4b\x86\xc9\xd6\x5e\x5b\xe6\x26\x62\xfc\x5c\xd4\x82\xa9\x55\x55\x1f\xf3\x46\x98\xd1\xfa\x12\x84\xb0\x0a\x18\x75\xa1\xee\x6b\x7a\x44\x96\x6a\xf0\xa4\x61\xa4\xb0\x43\x43\xb6\xb4\xa7\xbb\x9a\x4e\xb8\x95\xea\x8a\xc1\xd5\x5b\x31\x9f\x10\xdf\xef\x15\x5d\xd4\x2f\x4d\xf7\x8a\x96\xcb\x92\x3d\xfa\xab\xab\xcb\x36\x1d\x8a\xc5\x7a\x3a\xfe\x31\xa4\x9f\x67\xa7\xbb\x2f\xd1\x5a\x1a\x00\xa8\xe8\xc4\xf5\xa5\xdc\x39\x2d\x37\x98\x76\xf7\xd0\x9e\x62\xb9\x4b\xe7\x54\xae\x35\xb1\x80\x1e\x5b\x71\xe0\x37\xb1\x20\x3a\x9b\xca\x1f\x17\xe0\xac\x62\x49\x0d\xa1\x45\x2c\xd5\x4b\xd9\x30\x00\xed\xd0\x0e\xc1\x27\x2a\x2f\xe9\x9c\x96\xdf\x47\x0f\xd5\xb8\xd0\x99\x37\xf6\xfc\x3b\x8f\x65\xab\x75\x81\x3d\x70\xbc\xd1\xa1\x3f\x70\x86\x0e\x80\x9f\x2c\x85\x69\x43\xa1\xed\xb8\xc2\x37\xb6\xeb\xfa\x77\xc4\x0a\x14\x0f\x3f\xb1\x34\xe1\x2c\x20\xfd\xa0\x7f\xea\x4c\xc0\x3b\x67\xe2\x84\x9f\xac\x0a\x58\xa7\xc2\x85\x70\xc8\xc8\x48\x90\x74\x78\xca\xf2\x07\xfc\xcb\x2d\x07\xcf\x7e\xe8\xbb\x11\x50\xf2\x26\x32\x71\x38\x87\x4e\x18\x0b\xf2\xc8\xcb\x6d\xd0\x37\x2b\x51\x85\x48\xf9\xbe\xe3\xf5\x7d\xd4\x47\x4b\x99\x85\xc3\xd2\x4b\xda\x8b\x89\x3d\x27\x8b\x06\xc7\x65\xf3\xfa\xc0\x32\x8d\x0a\xc5\xf4\xce\x86\xde\x99\xe7\x4c\xa6\xe4\x9e\xc9\x19\x48\xf6\xb9\x31\x0f\x62\x4a\xf3\x53\x21\x20\x25\xf7\x0c\x32\x68\x7b\x26\xfd\xac\xd0\xcf\x35\x2b\x0b\xa9\x3c\x02\xe1\xa1\x3d\x55\x95\x2d\x76\x8f\xdb\x7b\x67\x29\x7b\x4c\x33\xbd\xd7\xe2\x7e\x90\xce\xb4\xef\x83\x10\x4c\xce\xc2\xe1\xcb\x98\xee\xfc\x9b\x77\x7e\x7f\x0c\x06\xdc\xbb\xbe\xf9\xde\x0e\x43\x00\x3d\x3e\x0f\xd9\x6c\x3a\xc0\xa2\x43\x5a\x13\xcf\x9f\x48\x6c\x62\xdf\x82\x41\x7a\x4a\x11\xcd\x77\x3c\xa7\xf0\xc6\xd4\x39\xe5\x18\x52\xe1\x24\x45\xbb\x4f\x4e\xb1\xc6\xbb\x66\xe3\xc0\x32\xf3\x41\xb5\xea\x7b\xd6\x9a\x9e\x9a\xd8\x79\xdc\x36\x7d\xc3\x78\xed\xde\x6c\x68\x85\xe4\x4a\x43\xd7\x8c\x1f\x58\x74\x58\x11\x14\x56\xce\x86\xa3\xc0\xba\xbc\x7a\x4a\x37\x25\x17\x04\xb2\xb5\x8e\x1f\xe3\x0a\xbb\x11\x2b\xce\x89\x8f\xb7\x66\x43\x15\x3c\x3e\x46\x51\x6e\xf0\xc3\x3a\x1c\x61\xd1\x06\xe5\xf3\x73\x5b\x4c\x80\xce\xca\x21\x51\x1f\x44\x04\x58\x08\x77\x6b\x36\xcc\x76\x06\x91\x2b\x7b\xfc\x6f\x82\x6a\x8a\x80\x0b\xa1\x47\x3d\xcc\xb6\x81\x48\x1d\xa9\xe9\x49\x32\x20\x63\x05\x9b\x98\xa9\xd1\xfb\x4b\xe3\xca\x02\xb9\xb4\x71\x6c\x38\x92\x87\x2b\xc7\x30\x00\x4e\x6a\x14\x65\x32\x8d\xcc\xf3\xa1\x6e\x1a\x91\xc2\xd9\xb0\x2c\x67\x75\x55\x75\xac\x50\xd3\x1d\x76\x96\x84\x79\x2d\xdb\x83\x5b\xdb\xeb\x0b\x74\xe5\x53\x3f\x28\x12\x61\xb7\xac\xea\x14\x80\x71\x0b\x4c\x6c\xc7\x73\xbc\x51\x62\x00\x92\x22\xc7\xde\x6c\x18\x31\x2a\x14\x72\x2e\x31\x10\x5c\xb4\x1b\x7d\x05\x3c\xdd\xcc\x85\xd8\xf7\xbd\x60\x36\x01\x5f\x09\xb4\x58\x5c\x00\xd6\x09\x1a\x3e\xda\x60\x85\xbe\xb5\x9c\x0c\xb2\x37\x1b\xb2\xab\xff\x6c\x48\x27\x0b\x4d\x40\x35\xf5\x03\xda\x02\xb7\x2d\x65\x07\xe3\x36\xd6\xbc\xa1\x3d\x2d\x5a\x68\x5c\x25\xfe\x42\x6d\xdf\x0a\x64\xce\x24\x14\x0c\x03\x17\x9d\xea\xc9\xa4\x17\xf4\xc0\x4f\x68\x03\xb3\x55\x46\x20\x4c\xe9\x32\x34\x96\xe1\x25\xda\xfa\xa3\x5a\x7b\xef\xa2\x13\x20\x7e\xd6\x4a\x9e\x30\xf8\x19\xdd\xc8\xd8\x69\x83\x9f\xd1\xad\x9f\x9d\x3c\xf8\x59\x45\x4f\x9c\x42\xf8\xd9\x5a\x2e\x41\x68\x0c\xc0\x0c\x4d\x12\x9d\x4a\x05\x0a\x8c\x69\x46\xfb\x94\x24\x5a\x86\x02\x02\xca\x31\x9a\x70\x00\x18\x61\x18\x51\x08\x31\xe8\xb3\x16\xf7\x8c\x1d\xbd\x06\xf7\x8c\x1d\xc3\x26\xf7\x8c\x1d\xc9\x15\xee\xd9\x1a\x3b\xa6\x33\x27\x9b\x58\xfd\xc3\x1a\x5b\x74\x9e\x9b\x79\xc5\x8c\xa8\x58\x65\x39\x68\x3f\x95\x89\x58\xee\x70\xff\x1a\x3e\x34\x43\xae\x34\x7f\x2b\x54\x0c\x64\x3d\xbf\x84\xc0\xa9\x6d\x2f\xba\xc6\xd4\x12\xae\x12\xf0\xd1\x5a\xd7\x74\x35\x72\x93\xa0\x5b\x45\x34\xd5\x62\x7b\x75\x37\x6c\x06\x87\x20\xb4\x57\x57\x99\x2b\x90\x46\xea\xbf\xd4\xf4\xc8\xe1\x82\x3c\x31\x9f\x33\xd1\x38\xe1\x10\xcb\x43\xe8\x4f\xd0\xfe\xd7\xc0\x09\xea\xe3\xac\x11\x29\x9f\xa8\xe2\x5a\x45\x5f\xab\xe8\x95\x8d\x0d\x0d\x5d\x6a\x96\xad\xdc\xf2\xef\xf8\x9a\x51\x5c\x33\x6a\x2c\x8f\xbd\xf9\x88\x05\x7d\xd5\xb3\x5e\x3d\x2f\xaa\x25\xf3\x7b\x9c\xc0\x26\xb4\x2f\xde\x18\x9b\x46\xd5\xd4\x74\xef\xd1\x82\x3a\x36\x52\x3e\x54\x8a\xa2\x86\x3d\xad\xe8\x17\x03\x81\x3d\x3b\x17\xa0\x8c\x73\xf2\xa8\x12\xdf\xe0\x38\x85\x11\xf5\x9a\xd0\x2b\x5a\x71\xad\x52\x5b\xb2\xb9\x0c\xec\xd9\x54\xa9\x92\x6a\x7f\xa8\x08\x0b\x60\x07\x89\x6a\x66\xda\x89\xa6\x46\xab\xbe\x87\xc6\x92\xe0\x15\xac\xae\xaa\x9e\xb5\x56\xd1\xcd\xf8\xd1\xa6\x57\xb4\x8c\xea\x7a\xf2\x81\x59\xad\x24\x1f\x54\xaa\x5e\xd1\x5a\x43\xf7\xc7\xb5\xca\xb2\x64\x4c\x10\x8d\xf8\xf2\x54\xf1\xf7\xc8\xd5\x28\xe5\x76\xc9\x8c\xab\x00\x84\x3e\x54\x15\x7a\x07\x2b\xe0\x2e\x16\xf0\x78\x60\xc3\x2d\x3c\xe2\x3a\xd0\x9e\x98\x58\x33\x9a\xc7\x19\x1b\xf3\xcc\x72\x8b\x8c\x72\x32\x42\x80\xf4\x05\x31\xe6\x46\x29\xb7\xc8\x9c\x80\x6b\x2b\x99\xa2\xf1\x29\xad\x6a\xb5\x44\x0c\x5f\xbe\x14\x6a\x91\x09\x47\xf9\xe7\x88\xb9\x00\xd9\xc7\xbd\xd9\x30\x92\x21\xa7\xc1\x94\xfb\xb6\xeb\x92\x88\x15\xe9\xf7\x5a\xe6\x09\xe1\x79\x2d\x46\xad\x54\xd3\x96\x05\x05\x2f\x10\x5f\x6b\x01\x6a\x03\x85\x39\x13\x58\x18\x38\xc4\xb7\x08\xc7\x1c\x2e\x84\xd7\xa0\x10\xa0\xc2\x2b\x4a\x96\xcc\x84\x5a\x22\x51\x19\xb9\x5c\x5a\x96\xf8\xf2\xb9\xc9\xd1\x9a\x9a\x14\x55\x41\x06\x7a\x6c\x72\x24\x12\x9e\xa5\x4c\x92\x24\xb8\xc9\x6a\x67\xee\xe0\xf1\xc8\x67\x20\x05\x20\x8c\x6e\xcd\x3c\xa8\x38\xe4\x62\x7a\x66\xa3\x2b\xb3\xfa\x1d\xcd\xc9\x5f\xb8\xb5\xdd\x19\x28\x0c\x7d\x58\x50\xd8\x14\x2e\x01\x0a\x50\xa9\x16\xbe\x2b\x02\x8d\x2c\x1e\x27\xf0\x4b\x15\xa3\x52\x51\xaa\xdf\x74\xb7\xe5\xd7\x21\xa6\x7f\x09\x7b\x3b\x0d\xe4\xe0\x8c\x1c\x70\x46\x06\xdc\xb7\xc1\x31\x9f\x72\x2e\xd7\x19\x5a\x8b\x8a\x65\x75\x39\xc7\xc4\x16\x6f\x0c\xee\x03\x95\x1c\xd6\x0d\x53\x2b\x0f\x1d\x34\x63\x55\x60\xbd\x59\x11\x23\xfa\xf8\x08\xf0\x5c\x44\x9b\x57\x3d\x54\xb5\xd7\x66\xe5\xa5\x56\x9e\xd8\x53\x54\x47\xf9\xf8\x71\xae\x14\xd1\x91\xf4\x30\xb5\x07\x6a\xb2\x64\x39\xf4\xe9\x6e\x63\x3e\xd7\xf4\x8a\xa6\x51\xe5\x26\x73\x9a\x4a\x08\x14\xc0\x5d\xa1\x05\x46\x3b\xf3\xa9\xfa\xc3\xe5\x2f\xbe\x80\xa7\xab\x1f\xb2\xfd\x4c\x48\x9f\x92\x9b\x14\xfd\x5e\x08\xd1\xaf\x15\x98\xed\xc6\xea\x2a\xbc\x84\xe5\xbd\x77\x57\xe5\xbd\x77\x58\x17\x13\xff\xc4\xda\x1a\x18\xef\x94\xd8\x02\x10\xcd\xe9\xf8\x0e\xa8\x3b\x56\xf6\xc2\x45\xf2\xf5\x31\x6f\xfb\x74\x97\xf8\x4b\xa1\xcf\xfc\x85\x9d\x60\x6a\xa3\xe9\xaf\x34\x1a\xa6\xa2\x3b\xec\xca\x63\xe8\xa6\xa6\x03\x9a\xcc\x36\xba\x14\xaa\xa6\xa6\x55\x4b\x26\xa9\xae\x3a\xd1\x6b\xbc\xf9\xaa\xd8\x2f\x41\xe5\x40\xf8\x51\x32\x34\x49\x2b\xbe\xb8\x15\xbf\x48\x73\xd9\x64\x69\xdd\x68\x37\xc5\xfe\x51\xec\x8e\x88\xf3\xf4\x01\x7c\x43\xae\x85\x6f\x2c\xe5\x97\xca\xea\x6a\xf8\xda\x52\x7e\xad\x64\x7b\xdc\x6e\x2a\x62\x81\x21\xd5\x9f\xa7\xa5\x85\xc5\x10\x21\x2b\x12\x5c\xa0\xbe\x2b\x35\xb4\x51\x6e\x8a\xab\x6e\x8a\x6b\x55\x55\x48\xaf\x7f\x8f\x8f\x90\xaa\xf0\x15\x34\xf4\xec\xab\x56\x45\x9d\x30\x68\x27\x5e\x29\x5f\x09\x9e\x41\xdf\x44\x73\x8b\x25\x84\xbf\x2a\x5a\x61\x15\x5e\x1a\x57\x56\x88\xa1\x17\x28\xf4\x4d\x65\x75\x55\xa9\x2a\x2b\x56\xb8\x19\xd5\x93\x10\x02\xd5\x14\x12\x8e\xbd\xe0\xa6\x5d\x39\x04\x41\xa8\x86\xda\xa6\x68\x2a\x20\x8a\x56\xc5\xc8\xeb\xfc\xb4\x93\xad\xbc\xd0\x71\x69\x64\x14\xb2\x56\xc2\x44\x58\xdf\xd4\xfc\x48\x2d\x15\x6c\x61\x43\x23\x58\xa8\x1f\xe7\x66\xef\xe3\xc7\xc7\x8f\x73\xe3\x85\xf6\x4c\xc3\xab\x0b\xcf\x21\x67\xa8\x3a\xd1\x10\xa9\x0e\xa2\x9a\xa2\xe8\xce\xa5\x79\x85\x77\x88\x6d\x3b\x04\x9a\x8e\x96\x04\xd4\xbe\xa0\xb7\x45\x2b\x24\x7c\x76\x14\x49\xe6\xd2\xb8\x62\x71\x33\x42\xa1\x90\x76\x75\x55\xf5\x2d\x25\xf4\xfd\x82\xeb\x13\x6b\x77\xae\x0e\x02\xbe\x62\xe1\x07\x8e\x37\x00\xf3\xe3\xa1\xaa\xfc\x01\x8e\x33\xec\x5b\x0a\x98\xf4\xc0\x60\x00\x06\x05\x10\xf4\xed\x29\x88\xaa\xf2\x25\x35\x9d\xe1\x59\x42\x58\x13\x1c\x12\xd2\x6c\xda\x3e\x71\xe5\x29\x80\xf9\xd4\x81\x60\x80\x60\x25\x2a\x6a\xba\xbf\xa9\x26\x0c\xea\x73\x86\xa0\x5a\xb0\x7b\x3e\x0c\xa9\xf1\xbe\xaf\x23\xac\xa2\x95\xa3\x92\x5f\x58\xa5\x12\x8f\x71\x18\x75\x78\xc5\xd0\x9e\xb2\xc4\x2b\x42\x09\xf9\x36\x55\x1e\x6e\x31\xa4\x90\xe9\x60\xc4\xbb\x11\x94\x2d\x5d\x6e\xa2\xc1\x22\xa2\x99\x15\x57\x83\xba\xa9\x6d\x56\xaa\xa6\x46\xd0\xca\x70\x27\x74\x36\x67\x94\x65\x44\x26\x87\x4a\x5f\x82\xab\xcb\xf0\xaa\xe6\x6c\x3a\x2b\xf8\x77\xd9\x19\x79\x3e\x04\x9b\x78\xfe\x13\xd7\xd3\x37\xca\x5f\x53\x98\x52\x3c\xa3\x2c\xd8\x4c\x70\x23\x4a\x13\xd5\x76\xbc\x51\xe1\x65\xa9\xe7\x84\x85\x3e\x29\x54\x40\x4c\x4f\xb5\x60\xcc\x95\x62\xc8\x9f\x78\x46\xf2\xc8\xd3\xaa\x0e\x76\x72\x26\xb1\x7f\xf4\x4b\xa8\x87\x57\x34\x54\x68\x46\x3d\xb0\xba\x2a\x68\x18\x0c\x10\x4b\x5f\x54\x68\x7b\x19\xc7\x89\x50\x5b\x16\x1c\xbb\x2e\x2c\x02\x27\x62\xe3\xea\x47\xed\x66\x2a\x15\x87\x1e\x6a\x5f\xd6\x2d\x96\x67\x83\x97\xca\xc4\x69\x50\xd4\x50\xab\x56\x0c\x61\xa1\x6c\x82\x13\x35\x5c\xbe\x27\xdc\xcb\x02\xc2\xad\x70\x48\xbb\x23\xe6\x42\xb7\x77\x1a\x02\xec\x29\x1b\x1a\x47\x59\xd1\x4d\x43\xa3\x61\xc0\xcd\xaa\x4c\x02\x90\xf6\x58\xb7\x42\x3e\x38\xf7\x1a\xa9\x27\x53\x6e\x31\x91\x34\x4f\x09\xa2\xfc\x0c\x37\xcd\xb5\x4a\xf5\xa5\xa1\x25\xdd\x85\xb8\x44\xcd\xe9\x37\x41\x9c\xee\xad\x05\x46\xa8\x57\x58\xa6\x8e\x4d\x9a\xf9\xab\x65\x61\xa3\x9a\xa9\xc8\x27\xba\x52\xc3\x44\xe9\xe7\xd9\xd2\x71\xfa\x9c\x54\xd9\x17\xd9\xb2\x71\x7e\x97\x54\x59\xb3\x52\xe5\x96\x1b\x56\xb2\xa5\xaf\xa7\xc9\x34\x1f\xa9\xfa\x15\x41\x37\x92\xe9\x34\x92\xe5\xd7\x8c\x6c\xf9\x8c\x73\x63\xb2\xca\x7a\xba\x8a\x54\x47\x99\x18\xf3\x75\x39\x81\xa5\xd4\x78\x9e\x26\x5d\x34\xc1\x7a\x76\x7f\x8c\x13\xf0\xb6\x81\x37\x08\xb6\xd8\xaf\x64\x93\x26\x58\xcb\x8a\x37\x28\x27\x94\xd5\x89\x55\xe5\x22\xb1\xf4\x9c\xba\xf7\xfa\x58\xce\x86\x6d\x42\xd4\xe4\x00\x1a\x46\x65\xb9\x46\xb7\x5b\xf5\xbd\x9f\xab\x4d\x33\x33\x8c\x34\xb8\xd9\xf1\x2c\x9c\xce\xc2\x14\x59\x0c\x33\xbd\x70\x33\xb1\xd0\xd2\x35\xd6\xd2\x13\x3e\x1a\x89\x09\x08\x6d\x3c\x08\x3b\xf8\xac\xcf\x54\x7c\x55\x0d\x37\x25\x55\x99\x7b\x59\xdd\x0d\x31\x84\xf3\x6b\x3b\xfc\xc4\x2c\x15\x97\x2c\x6e\xc9\x65\x90\x51\x21\x7d\x89\x32\x96\x42\x78\x15\x45\x93\x75\x54\xd8\x7c\x66\xab\x12\x03\xff\x1a\x90\x32\x6c\xc5\xdd\x27\xbe\x19\xfc\x3a\x7b\x51\xa5\xa4\x5f\x17\x6c\x3c\x89\x94\x51\xe9\xbd\xc7\x58\x7f\x59\x4d\x4b\xac\xa9\x1a\x27\x2a\x81\x86\x53\x95\x14\xca\x6e\xbd\xe9\xe6\x44\xdb\xb6\x1a\xf9\x8d\x2f\xae\xc9\xb7\x49\xd5\x20\x6a\x72\x1b\xaf\x18\xc6\x7a\xb6\xdb\x5b\x89\x18\x13\x71\xbf\xa3\xac\x0b\xdf\x70\xa2\x6e\xef\x34\x0a\xef\xa1\x73\x6b\x87\x80\x3f\x58\xe9\xc9\x4a\xb8\x29\x5e\xb6\xc0\x14\x3f\x0d\xd3\x62\xdf\x77\xda\x8d\xe8\x7b\xa3\xdd\x8c\xbe\x1f\x73\xcf\x3b\xa7\x1b\x15\x8b\xab\x7c\xa9\x7c\x34\x94\x2b\x9e\x65\xe3\x5e\xfd\x7b\xd2\x37\x7f\x45\xb9\x92\xfa\xcb\x46\xb9\x05\x63\x75\x1d\x6e\xa7\x97\x57\x27\x4e\x5a\x1a\x5f\x83\x48\xb5\x30\xaf\xda\xd0\x87\x77\x36\x1c\x9c\xda\xbd\x76\xe8\x4f\x53\x0d\x7a\x0b\x6a\x4e\x76\x01\x18\xa4\xea\xdc\xb2\x2e\x47\x20\xf8\xb7\xc3\xdc\xb7\x30\xaf\xbd\x74\x4e\x4c\x23\xd1\xee\xbf\x2f\xa8\x8a\x55\x40\xa6\xc2\x17\xfb\x0f\x64\xc5\x8c\x44\xb1\xff\x50\x3a\x6e\xff\x91\xf4\xcd\x5f\xe5\x41\x03\xed\x0b\x6a\xda\x62\x4a\x3b\xb6\x2f\xd1\xb6\xa4\x57\x8c\x64\x97\x89\x3c\x47\xd9\x54\x12\x5d\xfd\x8f\x13\x34\xfc\xab\x09\x12\xfe\x41\x0a\x89\xa4\x78\x89\x59\x6e\x72\x6a\x6d\x55\xab\x29\x7f\xa0\xac\x58\x30\x8a\xce\x13\x5d\xbc\x77\xda\x0d\x45\x87\x44\x94\x11\x09\x9b\x25\x52\x8d\x27\x5a\x24\xe4\x11\xfd\x6b\x52\x5a\xfd\xe6\x6f\xb0\x57\x3b\xed\x46\x79\x5b\x3e\xe8\xae\xe3\x81\xec\x24\xfb\xcd\xdf\xe4\xab\xef\x7c\xcd\x9c\x49\xef\x78\x71\x72\xe4\xe4\xaa\xf9\xcd\x7f\xca\x37\xf1\x36\xb7\x09\xb6\x78\x92\x2f\x52\x29\xc6\x55\x2d\x09\xff\xef\xf0\xf0\x0f\x73\xf6\x02\xc2\x93\xbd\x13\x13\xe2\xef\xf2\x50\x8e\x64\xd4\xfe\x2f\xf8\x52\xc7\xb2\x52\x7f\x8f\x2f\xf5\x3e\x99\x02\x3a\x63\xb0\xc3\xe6\x44\xac\x63\x10\xdf\xf0\x13\xd8\xfe\x03\xbe\x85\x8e\x0c\x8f\x7f\xc8\x97\x3a\x97\x95\xfa\x47\x7c\xa9\x0f\xb2\x52\xff\x35\x5f\xaa\x2b\xa7\x72\x52\xc7\xa4\xfc\xc1\xe5\xa6\x59\xab\xf4\x93\xeb\xee\x37\xff\x0d\x07\xec\x52\xb9\x4c\x2d\x35\x01\x8d\x84\xb2\xaf\x7c\x2b\xc3\x0c\x59\x1b\xed\x66\x92\x88\x7f\x92\xc0\xe2\xe3\x47\xf9\x22\xfb\x6f\x13\x25\xaf\x72\xb7\x86\x84\x4e\x4a\x3c\x94\x2a\xd0\xd0\xfa\x47\xf5\x56\xac\x30\xde\x4d\xa8\xa5\x12\xf1\xeb\x51\x9f\xfd\x4a\xfd\x38\x28\x6a\x35\xb5\xfc\xbd\xf6\x8b\x67\x5a\x0d\x6e\xaa\x51\x11\x0b\x5e\x56\xae\xd2\xa2\xde\x63\xbc\xcd\x5c\x9a\x57\x3a\xd0\xb4\x6a\x4a\x98\x40\x75\x2a\xc7\xed\x86\x28\xfc\x02\x83\xab\x69\x4f\x4f\x39\x53\x34\x41\xbe\xff\x2e\x41\x94\x5f\x2d\x1e\xc4\x6f\x99\xe8\xff\x98\x9f\x76\x9f\x7e\xde\x16\x30\xde\x85\x0c\xde\x18\x84\x48\xa2\x99\xdc\xec\xbf\x85\xb3\x0a\xa8\x04\xad\x5a\xd8\x69\x37\x0a\xc6\xbc\x62\x14\x94\x62\x28\x3b\xc3\x9e\x78\x3c\xff\x70\x31\x9e\xca\x4b\x1c\x4c\x2e\x81\x66\xfa\x8e\x3d\x74\x5c\x57\x55\x76\xa4\xe7\x66\xa2\xcd\x3f\xfa\x56\xda\xb0\x35\x20\x50\x6c\x51\xef\x07\xe5\x99\x42\x4f\xc1\x44\xcd\x84\x7e\x23\x85\x1a\x33\x69\x08\xa9\x35\xc3\x2f\xa9\x5e\x8d\x53\x33\xaa\xb1\x2a\x30\xa1\x5d\xdf\x13\x15\x25\xba\xb9\x44\xb9\x67\x4a\x95\x35\x92\xee\x13\x6d\x74\x8f\xea\xe8\xdf\xd2\xcf\xa6\x14\x32\x53\x22\x7e\x2b\x47\x4e\xa4\x75\x68\x9e\xfc\x51\xe1\x59\xc1\xa6\xb3\x5c\x22\xb3\xfb\xe9\x4d\x2c\x68\x60\x89\xd9\xa2\x26\xf6\x03\x2d\xf1\xeb\xfb\xc4\xaf\x62\xe2\x57\x29\xf1\xab\x9c\xf8\xf5\x2c\x31\x03\xf5\x50\x3a\x07\xb3\xcc\x98\x33\x24\x92\x65\xa8\x45\x7e\x14\x42\x46\x91\xce\x38\x04\x50\x4d\xe4\x47\x14\x9a\x45\x41\xad\x16\x59\x98\x3a\x9b\x8a\x1a\x6b\xa0\xf6\x0c\xcb\xa9\x2a\x1a\x7a\xf0\xf8\xa8\x94\xb8\x17\x26\x7a\xf1\x3d\x7d\x51\xe6\x5e\x54\xd0\x8b\xa2\xb2\x82\x16\x82\xf2\x0c\x7d\x32\x19\xc1\xde\x9a\xe5\x2c\x16\x87\xba\xfe\x28\xd6\x96\x47\xe8\x16\x02\x10\x12\xad\xf9\x77\xc5\xb0\xf8\x1d\xd6\x94\x4b\x45\xf1\xfc\x08\x3e\x17\x9c\x7f\xe8\xf9\x8b\x2c\xa7\x9f\xbd\x22\x73\x70\x5e\xe6\x97\x8f\xae\xb7\x5c\x95\x57\x92\xa6\x15\x2b\xef\x22\x23\x92\xca\x1e\x80\xfb\xa9\x3d\xa0\x01\x02\x18\x94\x37\xdf\x0a\xc5\x8c\xa1\x94\x77\x85\x28\x96\xfb\x19\xc8\x54\x39\xab\xa7\xd9\x4f\xfc\x94\x03\xe8\xc6\x27\xdb\x44\x0c\x3b\x6b\x9f\x8d\xaf\x3d\x15\x85\x83\xe2\x8b\xcb\xac\x29\x3c\x01\x1e\x45\xb7\xb5\x56\xa6\xd8\x93\xac\x58\x25\x51\xec\xd7\xb2\x62\xd1\x15\xf1\xb8\xdd\x40\x5c\x8a\xd4\x91\x85\x08\xbe\xbd\x81\x7f\x77\xea\x84\x2e\xe0\x18\x10\x0e\x40\x85\x4e\x0a\x02\x2c\x7e\xbe\x7e\x25\x71\x51\x8a\x39\x28\x1a\xcd\xbe\x86\xdd\xfa\x23\x09\x3f\xd3\x78\x3d\xab\x68\xcc\x47\x34\xdf\xa0\x96\xf3\x30\xd4\x03\xeb\xf2\x8a\x3a\x3d\xc1\x5a\xb1\xe8\x31\x87\xa7\x18\xfa\x65\xe5\x7b\xef\x4a\xd3\x5d\x0b\x7f\x2b\x9a\x57\x35\xfb\x8d\xe5\xc7\xba\x4c\x65\x53\x59\xb1\xdc\x4d\xd5\x8d\x9d\x23\xe7\xa6\x79\xea\x37\xda\x6d\xd5\xd5\xb0\x86\xf1\xd2\xbe\xb2\x5c\xad\xca\x17\x81\xa3\xde\xa9\xff\xc1\x34\xf1\x4b\x54\x2a\x20\xba\x6a\xbb\xa8\xd4\x94\xa2\xab\x69\x4f\x41\x32\x55\xb9\x94\x15\xbf\x5a\xaf\x29\xc5\x80\x5a\x60\xd4\x14\xad\xa8\xfc\x15\x85\xa7\xf7\xab\x24\x5d\xa3\x7c\xfd\x5f\x7a\xfe\xe0\xbe\x1a\x11\xf7\x89\xaf\x63\xa6\x46\x59\x3e\x10\x98\x29\x60\x9b\x75\x96\x00\x21\x31\xc8\x54\x35\xad\x06\x05\x8a\x81\xd8\xf3\x14\x3b\x39\xe2\x88\xbd\x4c\xc9\x6b\x90\xc8\xec\x94\x33\x0e\xe3\x0e\x72\x68\x9a\x57\x09\x3d\x1c\xc0\x9c\x6e\xe2\xfd\xef\xa5\x1b\x5b\x49\x5f\x4d\x15\x26\xb0\xd8\x58\x40\x4c\x7a\x2f\x68\xc4\x69\x5f\x2d\xb5\xac\x3d\x73\x28\x52\x8c\x75\xb9\x34\x59\xfa\x06\x53\x91\x29\x4d\x70\x6d\x35\x27\xdb\x6d\x82\x2f\xaa\x7c\x1b\x9c\x28\x27\xad\x90\x07\xfa\x5a\xa4\x70\x32\x5f\x92\xa9\x3b\xc9\xc8\xf0\x61\xbd\x61\x00\xd0\x1d\xa7\xb0\x61\x20\x8e\x26\x20\x06\x91\x82\xbd\x65\xa3\xb2\x14\xa9\x7f\x75\xd9\x9f\x06\x86\x59\x59\x5b\xdf\x78\xfe\xe2\xea\x7b\x7c\x17\x7b\x96\x9c\x03\x34\x09\x89\x1d\xfa\x3d\x42\xfa\xec\xc0\x8b\xd3\xc9\x90\xdb\x1b\xb1\x9e\x83\xc9\xe9\xf8\xe2\xc5\x0b\x01\x7a\xb1\x4d\x6f\x66\x5a\x26\x92\x76\x90\x65\x4b\xac\x6f\xa1\xee\xd4\x54\x61\xc7\x7e\x55\xbb\x2a\xd6\x54\xf4\xf1\xbd\xa6\xd6\xd4\xcb\x8f\xc1\xc7\xf6\xd5\xf7\x9a\xb6\xf9\x8b\x67\x78\x2f\x82\x16\xea\x8d\xee\x58\xe1\xe5\xda\x95\xa6\xc7\xbb\x01\x4e\x4d\x5d\x85\x3a\xde\x15\x9c\xa7\xf4\xd8\x8a\x99\xcc\x19\x9c\xdf\x86\x85\x89\x3f\x98\xb9\x20\x35\x28\xb1\x98\xf8\x52\xf9\xa5\x92\x77\x68\x38\x58\xb3\xdc\x9e\xda\x7d\x74\x62\x38\x36\x1c\x61\xb3\x29\x2d\x86\x50\xae\xe7\x54\x27\xb3\xe9\x6c\x2a\xab\xbb\xb5\xb0\x2e\x16\x6f\x49\x6a\x37\x16\xd6\xc6\xe1\xed\x65\xd5\xb7\x17\x56\xc7\x12\x69\x49\xed\x9d\xaf\x47\x3d\xab\xd3\x90\x08\x85\xdb\xcd\xf2\xee\xd7\x52\xf5\x6b\x80\xef\xe5\xb3\x09\x89\x8a\x5c\x1b\x25\x93\x07\xf2\x76\x19\x20\x2c\xd8\x71\x12\x8c\x4e\x7f\x99\x19\xa0\x4d\xe1\x16\x11\x55\xad\x91\x50\xd4\xc4\x12\x3f\xd4\xcd\x74\xa7\xd3\x69\x55\x6a\x71\xa0\x4a\xa3\x06\x5f\x87\x35\x58\x2c\x6a\xcb\x29\x11\xda\xcd\xf2\xbe\x15\x2f\x93\xcd\xfd\xcc\xbd\x28\x25\x43\x42\x9b\x90\xb1\x62\xc1\x4d\xd3\xb2\x60\x4a\x4d\x09\xa0\x1d\x80\x7a\xcf\x47\x6c\x7b\xb5\x92\x7d\x4f\x95\x57\xd5\xb5\xd8\xf6\x39\xf3\x4e\x00\x71\x0b\xb8\xfe\x5d\x02\xe5\x03\x1e\xe5\x83\x9f\x8c\xf2\xa9\x8f\x97\x00\xc1\x39\x8d\x18\x2e\xf1\xce\xf1\x80\x18\xb9\x53\x9f\xac\x3e\x1e\xbd\x77\x0b\xb7\x1a\x04\x2f\x90\xad\xb9\xc3\x9c\xea\x24\x64\x73\x6e\xf5\xf7\x0b\xab\xa3\x8b\xac\xb4\x7a\x3b\xa7\xfa\x2d\xb5\x74\x90\x6f\x75\xa7\x29\xb9\x0e\xe7\x43\xf9\xda\x32\xd3\xb4\x65\xf0\x72\xb6\xbf\x4b\xe5\xcd\xa9\x50\x7e\xda\x6e\x96\x3f\xe4\xa0\x9a\x18\x1c\x09\xb2\xdd\xdf\xfb\x32\xec\xd9\xfd\xb1\x64\x1d\x5e\x2a\x3f\x44\x5a\x23\xb4\x79\xc5\x68\xda\x5f\xb1\x8f\x2d\x50\x70\x14\x25\x94\xe8\x89\x09\xdc\x17\x8c\xe6\xa5\x71\x85\x97\x53\xf4\x2b\xed\xd4\xb4\x48\x50\x8f\xc7\xb4\x9f\x7f\x1e\xa7\x41\xbc\x31\x6a\x95\x8d\xe7\x35\x23\x01\xa6\x2c\x48\x4a\x9a\x50\x88\xd3\x4c\x9c\x84\x04\x2d\xff\x4e\xbe\xcb\x0f\x63\xc2\xbf\x8d\x9f\x8e\x96\xe9\xfe\x26\x8e\x38\x12\xbd\x12\xec\x6a\x75\xd7\xa5\xe3\x1d\x64\xf6\x10\x92\x2f\x87\xbc\xad\xd3\xc1\x52\x57\x12\xb8\x5d\x4b\x2e\xa5\x46\x2d\x7c\x9d\x58\x60\xb5\x90\xcd\x37\xce\xb2\x8e\x31\x75\xe1\x15\x67\xf6\x48\x36\xce\xeb\xb4\xba\x61\x49\xd0\xd4\xea\x4d\x06\xb9\xec\xf0\xbb\xb3\x23\x5b\xbc\xee\xcf\xd6\x2d\x33\xd9\x2d\xf7\xe7\xeb\x56\x62\x1c\x26\x32\xdd\x4c\xc8\x47\x54\xe1\xf6\xbb\xb0\x58\x79\x7c\xdc\x88\xa6\x4a\x58\x34\xaf\x36\xbd\x99\xeb\x56\xe9\x34\x0c\x8b\x15\xdd\xd0\x9e\x22\x48\x30\x07\xd2\xc6\xe3\x63\x45\x00\x09\x47\x3f\x52\x8a\x09\x80\x45\xa5\xa0\x73\x8f\xd6\xb2\x8f\xd6\xf1\x23\x4d\x79\xe2\x84\x92\x79\xf2\x0a\x12\x8c\x88\x43\x28\x26\xaa\x6f\x19\x35\x3f\x45\x54\xbf\x58\x64\x71\xa0\x68\x93\xbe\x6e\x60\x20\xc1\xeb\x35\x43\x33\x2c\x2b\xd8\x74\x98\xd8\xaa\x6a\x92\x9f\x24\x26\xa8\x81\x8e\x60\xf4\x93\xc5\x16\x44\xbc\x02\xfa\xcd\xe2\x82\x1a\xd5\x75\xf2\x80\x8f\xf4\x57\xdd\xa0\x30\x48\xb4\x50\xa3\xfa\x82\x56\x62\x71\x40\x8d\xea\xcb\xe8\x09\x8b\x04\x6a\x54\x5f\x91\x67\xe9\xd8\x7f\xd5\x0a\xc6\x41\x75\xa2\x38\xa5\x11\x3a\xa6\x56\xad\xa4\x10\x32\xab\x95\x2c\x46\x66\xb5\x92\x44\xc9\xac\x56\xd2\x38\x99\xd5\x4a\x16\x29\xb3\x5a\x41\x58\xe1\xa8\x80\xe9\xd8\xa6\x24\x67\x58\x01\x93\x71\xc3\xd0\x08\x39\x5f\x6a\x4e\x36\xee\x67\x50\x5a\x33\xa2\xc2\x6b\xa8\x15\x54\x9a\xa6\x86\xf4\x2c\xa8\xfa\x9a\x26\xaa\xe7\xb0\x78\x59\x3a\xff\xd2\xf2\x74\xbf\x68\x6d\x44\x19\xcb\x88\xf7\xbb\x6a\x5b\x38\x07\x91\x46\x2e\x69\xce\x50\xf5\x8b\x56\x45\xb7\xdf\x30\xd9\x05\x8b\x76\x4a\x67\x4c\xdf\xf7\x42\xc7\x9b\x81\x9a\xa0\x5d\xfb\x29\x42\xf6\x15\x46\x56\x86\x1a\x0d\xd4\xc5\x11\x62\x1d\x11\x20\x13\xcf\x34\x28\xad\xc7\x04\x58\xc7\x04\xf8\x42\x5c\x46\x51\xdf\x6b\x11\x31\x3c\x51\x65\x9e\x0a\x5c\xc0\x30\x9e\x0a\x44\x40\x17\x72\xb0\x2c\xcb\xfe\x06\x4a\x64\xda\xb6\x9f\x28\x29\x64\x68\x25\x28\x10\xbc\xb1\x5e\x19\xab\xab\xc1\x6b\xeb\xd5\x8b\x4d\xe1\x3c\x78\x65\x14\x5f\x56\x83\x37\x96\x69\x90\x72\xa6\xf1\x02\xcf\x2d\x01\xc5\x4c\xc3\x28\xbe\xd4\x9e\x1c\x3e\x5a\x60\x96\x9d\x48\x8b\xcb\xd2\x17\xb2\x51\x56\x14\xa5\x69\xac\x4f\x49\x49\x35\x61\x04\x26\xb2\xf3\xc1\x4b\x7b\x64\x6f\x70\xe7\xac\x96\xcf\x2f\x18\x9e\x12\xaf\x96\xe7\x7c\x3d\xde\x47\x34\xcb\x26\x21\x1e\x41\x2b\x9a\xcc\x59\x34\x87\x8f\x32\x6b\x0b\x38\x16\x9c\x89\xa9\xa6\x14\x61\x51\x69\x29\x49\x59\xc4\x1b\x4f\xd2\xe7\x4b\x65\xd3\x4b\x1d\x5e\x7f\x59\xf0\xc7\xc4\x34\xf9\x21\xd8\x5c\xc8\xf5\x99\x9e\xa2\xe1\x8d\x70\xf9\x3a\x15\x52\xe7\xf9\x57\xb5\x53\xa9\x99\x35\xa3\x86\xc6\xbc\xba\x91\xc7\x8c\x65\xab\x6e\x18\x5e\x8a\x2f\x9d\x4a\x87\x66\x65\x2a\x50\x4e\x88\x35\x32\x81\x3f\x0c\x5b\xe9\xb9\x5e\xfe\xc5\x54\x36\xe8\xbf\x90\xb6\xfa\x9d\x32\xfd\x4e\xb2\x3e\x6e\x24\xd0\x0a\x37\x4a\xae\x04\xb2\x66\x60\x7d\xa1\x69\x59\xcc\x2c\xf5\x9b\xe4\xa5\x32\x41\x0c\x31\xb1\xc7\xc9\x48\x2b\xbf\xdb\x26\x4c\x0d\x4b\x12\xbe\xb1\x89\x58\x84\xbc\x44\x4f\xd6\x7f\xf7\xcd\xa0\xde\x6c\x7c\x3b\xc1\x76\xea\x87\xcb\x74\xe4\xf9\xef\xb4\x05\x33\x63\x1d\xc4\xa4\xb4\x04\x52\x01\x47\xa1\xac\x62\xd3\x94\x27\x7e\x92\xdf\xc8\x26\x39\x94\xce\x64\xb4\xc7\xa1\xdd\x81\xd3\x92\x19\x57\xba\x69\x68\x25\x93\xc4\x80\x72\xb0\x98\x99\x7f\x6f\xf2\xef\x6b\x99\xae\xa4\x9c\x5e\xa0\xee\x48\xfb\x1b\xc9\xfb\x0c\x3d\x75\xa7\x82\xb2\xe3\xec\x17\x50\xfc\x3c\x58\x5e\x05\x4e\x5a\x08\x64\x2d\x84\x92\x86\xc5\xcf\x2f\x95\x37\xa1\x74\xaf\x2b\xc8\x5e\x95\x67\x5f\xa5\x81\x27\xc0\x66\x52\x9a\xdc\x4a\xda\xff\xee\x4e\x56\x65\x2e\xa9\xf1\xfd\x5c\xda\x88\xb8\x4a\xf9\x21\x7d\xce\xae\x24\xef\x38\xaf\x4d\x2d\xbb\x77\x3a\x43\x15\x6d\x9f\x34\x17\x3a\x5f\xba\x42\xad\x41\x6a\x8b\xb5\xbf\x51\x5e\x0f\x0a\xd7\xbc\xa2\xc7\x2b\x36\x5c\xca\xf2\x5c\x72\x00\xd8\x95\x21\xc1\x5b\x7c\xf7\x20\xa5\xc3\x83\x8c\xd8\x5f\xa4\xf3\xe0\xbb\x47\xf9\xab\x27\xf9\xab\x5f\xa7\x5e\x25\x62\x58\x0e\x99\xfa\x94\x8f\x4a\x28\x0e\x94\x17\xf4\xa1\x83\x93\x00\xb2\x00\x59\x7b\xef\xb8\xe8\x80\x23\x77\x62\x4f\xb7\xec\x00\x7c\xe2\xc3\x52\xc7\x31\x0c\x78\xf8\xa9\x90\xd4\xd9\x5c\xf1\x29\x88\xab\xab\x2b\xc9\x18\xe6\xac\x65\x3e\x65\x1e\x2e\xfe\x89\xd8\xf9\x24\x9f\x43\x40\xb3\x3f\x91\x22\x16\xd8\xa4\x01\x12\xec\x20\x70\x46\x9e\xfa\xe5\x29\xdd\x05\x1d\x50\xc9\x50\xfc\x88\xc6\x4a\xe7\x43\x2b\x70\x30\x97\x0a\x93\x90\x76\x1a\xd5\x6a\x31\x82\x7c\x58\x04\x05\xb1\x7b\x51\x04\x85\xa2\x72\xa5\xe8\xca\x88\x0b\xd3\x84\xda\x01\x51\xce\xd2\x18\x86\x0e\xac\x37\x1c\x4e\x44\xfb\x9d\x4b\x7d\x71\x94\x2a\x52\x7d\x85\xda\xe2\xf3\xc3\xf0\x15\xe3\x0a\xc2\xe3\x5b\x00\xa1\x33\x10\x65\x39\x22\x20\xc0\x02\x18\xb9\x29\x5e\x52\xd5\xd4\xf4\x24\x4d\x0f\xa9\x96\xc8\x5b\x20\xef\x62\x12\xf5\xc4\x18\xeb\x40\x80\x6f\xf6\xc4\x98\xd8\xd3\xe0\x93\x95\x2d\x58\xa6\xf7\xb8\x38\xec\x27\x2a\x49\x97\x4c\x54\x51\xd4\x04\x47\x13\x62\x9f\x26\x0d\xd9\x82\x41\x94\xaf\xed\xe0\xf8\xce\x7b\x0f\xfd\x29\x80\xe1\xbd\x0a\x68\x88\x00\xfc\xf2\x12\x5c\x55\x89\x69\xdb\x82\x96\xec\xc1\x40\xb2\x15\x90\x0e\x5a\x56\xb2\x0f\x51\x8a\x6f\xfc\x56\xbc\xc2\xa2\xc2\x4c\x75\xc8\x50\x8a\x6d\x8e\x25\xd8\x88\x67\x2a\xae\xbe\x62\x2d\x20\x76\x12\xb3\xfc\xb2\xa2\x29\x19\x2c\x3d\xaf\x7f\x16\xca\x24\x13\x15\x25\x33\x60\x53\xf3\xc4\x90\x33\x4f\x84\x9b\x1c\xf4\xcb\xf0\xca\x82\xc9\x08\x81\xec\x79\x72\x5e\xe3\x50\xea\x74\x93\x23\x23\xad\x86\xba\x78\x65\x29\xb3\x00\x40\xc4\x25\xea\xa4\xd2\x93\x90\x44\x1c\x0d\x63\x6f\x2f\x59\x89\x4b\xe3\x4a\xb2\x8c\x95\x11\xb4\xa7\xd7\x4e\x5f\xd1\xbf\x28\x3f\x28\x55\xe5\xb7\xff\xf0\x6f\x29\xba\x5d\x55\x7e\xfb\x0f\xfe\x2b\x45\xef\x55\x95\xdf\xfe\xbd\x3f\x56\xf4\x3e\xfa\xfc\xdb\x8a\x3e\x40\x9f\x7f\x47\xd1\x01\xfa\xfc\xcf\x14\x7d\x58\x55\x7e\xf3\x2f\x15\x7d\x54\x55\x7e\xf3\xaf\x14\xfd\x1a\x3d\xfd\x53\x45\x77\xd0\xe7\x7f\xae\xe8\x9f\xab\xca\x6f\xff\xfe\x3f\x52\xf4\x31\xfa\xfc\x7b\x8a\xee\xa2\xcf\xbf\xad\xe8\x13\xf4\xf9\xf7\x15\xdd\x43\x9f\x7f\xa1\xe8\x7e\x55\xf9\xed\xdf\xfd\x3f\x15\x7d\x8a\x3e\xff\x8d\xa2\xdf\xa0\xe7\x7f\x5d\xd1\x21\xfa\xfd\x17\x8a\x1e\xa0\xcf\x7f\xab\xe8\x21\x7a\xfe\x27\x8a\x3e\x43\x9f\x7f\xaa\xe8\xb7\xe8\xf3\xcf\x15\xfd\x0e\x7d\xfe\x0b\x45\x9f\xa3\xcf\xff\x44\xd1\xef\xab\xca\x6f\xff\xf8\x4f\x15\xfd\x01\x7d\xfe\x53\x45\x57\xbe\x28\x55\xe5\xff\xfd\xeb\x8a\xae\x3c\xa2\x0e\xfe\xf1\x3f\x51\x74\xe5\x49\xa9\x2a\xbf\xf9\x1f\x15\x5d\xf9\x35\xfa\xf2\xbf\x29\x4f\x82\x53\x39\x41\xc1\x72\x5d\x46\xc0\x1e\x74\x42\x27\xb8\x46\x04\xfc\x43\x02\x75\x31\xb0\x2d\x19\xb0\x59\xa0\x10\x57\xf3\x45\x03\xba\x2e\x1d\xd0\xc1\x2c\xec\xf3\xd8\xe8\xca\x2f\xd1\x97\xff\x4b\xd1\x95\x4b\xa5\xaa\xfc\x3f\xff\x5a\xd1\x95\x8f\x1f\xd1\xa3\x7f\xab\xe8\xca\x95\x52\x55\x1e\x29\x8d\x7e\xf3\xcf\x28\x8d\x86\x8c\x42\x7f\xc1\x28\xf4\xe7\x4b\x74\xaa\xb1\x60\xa9\x5f\x6e\x48\x71\x1e\x3a\x9e\x47\x69\x88\x70\xfc\xf1\x6f\x30\x1c\x7f\xfc\x07\x14\xc7\x1f\xff\xa6\xa2\x2b\xbf\x42\x5f\xfe\x44\xd1\xf1\x4c\xfd\xf1\x9f\x53\xb4\x7f\xfc\x53\x8a\xf6\x8f\xff\x2b\xc5\xfb\xc7\x7f\x4a\xf1\xfe\xf1\x2f\x96\xc0\xbb\x25\xc5\x0a\x02\x4f\x40\xca\x1f\xff\x09\x25\x25\x9a\xfb\x14\xcd\x3f\xa3\x68\xfe\xe6\xcf\x18\x52\xff\x9c\x21\xf5\x7f\x30\xa4\xfe\x19\x23\xe6\x3f\x5b\x02\xa9\x93\x7c\xa4\x0a\x7d\xdb\xb3\x07\x8e\xed\x21\xec\x12\x48\xfd\xf8\x3f\x64\x90\xfa\xf1\x7f\x66\xb4\xfb\x5f\x18\xed\xfe\x7c\x31\x9a\x3f\xfe\x9b\x25\xd0\x3c\x90\x6e\x2b\x00\x4e\x62\xec\x30\x59\x64\x23\xfb\x27\xf2\x71\x64\xf3\xef\xc7\x7f\xbc\x04\x2e\x17\x32\x5c\xb0\xb2\x82\x20\x93\x5c\x13\x7f\x26\x1f\x48\x4c\x98\x1f\x18\x61\xbe\x30\x0a\x63\xf4\xfe\x75\x86\x54\xff\x62\x09\xf4\x76\x16\x2d\x8f\xe7\xd2\xe5\xe1\xf9\xf0\x0e\x8c\x1c\xdb\x7b\x36\xb0\xd9\x3a\xf9\x25\xa3\x26\x26\xeb\xdf\x8a\x3a\xf0\x8f\xe4\x0b\xe6\x4f\x59\x4f\xfe\x27\xd6\x93\xff\xfd\x9b\x16\x4c\x57\x86\x67\x30\x8d\xd0\x93\x10\xfa\xbf\x8f\xf0\xfc\x2f\xd9\x8a\xf9\xbf\xd9\xee\xf3\x2f\x19\x56\xff\x8a\x61\xf5\x67\x8b\x91\xb9\x7c\x71\xb5\x80\xae\xe5\xb7\x52\x74\xef\xc0\x80\xa7\xe6\x1f\xe7\x4c\xd2\xdf\xd9\xf6\x43\x6c\xf1\xa5\x18\x3a\x41\xc0\xc8\x89\x67\x62\x72\xad\xff\xf3\xfc\xb5\xfe\x89\xce\xd1\xe4\x92\xcf\x59\x66\x78\xc9\x63\x4d\x05\xd6\x8b\x20\x4e\x45\x25\x39\x15\x9e\xd9\xb3\x81\xe3\x3f\xeb\x01\xd7\x55\x74\x85\xfc\xf0\x47\xa3\x5a\xcf\x0e\xc0\xf3\x75\x45\x57\x4e\x2b\x03\xef\xec\xae\xde\xa8\x47\xff\xb6\xaf\x6f\xce\x37\x0e\xf0\xd7\xc3\xdd\xdb\x9d\xcf\x17\x5b\x6f\x47\xbb\x95\xde\xda\xbe\x63\x7f\x38\x24\x45\x2e\x1a\x2f\xa2\xe2\x6f\xfb\x5b\xe4\x4b\x63\xbd\x7e\xf6\xca\xeb\x9a\x87\x75\xfe\xdf\xba\xed\xce\xda\xa3\x1d\xfc\x1d\x04\xcd\xb5\x9d\xc6\xda\xb3\xcc\xbf\x97\xe3\xed\xc1\xe4\xd5\xfd\xc5\xc4\x7d\x78\x7b\x52\xaf\xd7\x77\xaf\xa7\xfd\xbd\xd1\xec\x74\x6d\xdf\x6b\xee\xcd\xa7\x17\x6e\xf7\xb6\x3f\xd9\x9f\xf6\xef\xb7\xf6\x9b\xdb\xcd\xbb\xc3\xed\xf1\xdd\xd1\x43\x7d\x83\xb4\xb0\xb3\xcb\xea\x1e\x9c\xed\x6f\x77\x46\x3b\xa4\x33\xdb\xbb\x87\xcd\xc3\xf3\xba\xb1\xbf\xd5\xa9\xd7\xeb\x27\xf5\xfa\xd6\x68\xbf\x31\x3e\x1e\x57\xba\xfb\x07\xf6\xf9\x99\xdf\xbe\xde\x98\xec\xb7\x9a\xed\xf6\xc4\x75\x0f\xcf\xee\x9c\xae\x73\xe6\xf4\xcf\x2e\x2e\xd6\xef\xe6\xf3\xeb\xeb\xcf\x9f\xb7\xdf\xee\xed\xed\x1d\x1f\x36\xb7\x5b\xe3\x5d\x54\xbb\xde\xa8\x1f\xd4\x27\xc7\x7e\xb1\xbb\x6f\x07\xeb\x1b\xdd\xf9\xc8\xfb\xec\x1d\x8c\x8e\xcf\xdd\xe3\xe3\x83\xfe\x68\x6b\x7d\xda\x5a\xdf\x1e\xef\xdf\xdd\x9e\x4d\x2e\x2a\xcf\x27\xe1\x41\x17\xf6\x82\xf5\xe9\xfe\xc9\xe8\xe8\xfc\xe4\xac\x5e\xaf\x37\xeb\x27\x3b\xa3\xeb\xeb\x56\xab\xdd\x6e\xec\xed\xee\xee\x1d\x34\x9b\x17\x17\x17\x17\xfe\xe8\xfa\x7a\x3e\xbf\xbf\x6f\xec\x79\xde\xdb\xe6\xc1\xc1\x8d\x33\x1a\x8d\xfc\xfb\xfb\x46\x63\xfb\x74\xfb\xdd\x74\xba\x7f\x74\x7c\x3c\x9b\xf8\xfe\xfa\xfa\xf3\xe7\x8e\x63\x18\x3b\xcd\x77\xef\x7a\xa7\xed\xf6\xf8\x6e\x6e\x76\xba\x9f\x21\x34\xf6\x3e\x7c\x98\x3f\x3c\x7c\xf6\x3c\xef\xed\xfb\xe3\x63\x00\xfa\xfd\x97\xeb\xfb\x27\xe3\xa3\xf3\xfa\x49\x7d\x84\x08\x74\x32\xba\xe8\x76\xb7\xb6\x1a\x0d\xd4\xee\xee\x41\xf3\xc0\xb6\x2f\xfa\xa8\x8d\xe6\xf6\xc9\x78\xf7\xac\x8e\x08\x36\xc2\xb4\xdc\x7a\x3b\x6e\xb5\xf6\x83\xd6\xe9\xbb\xa0\xf5\x70\x64\xb4\x5b\xef\x5f\x3a\xf3\xd6\xce\xc3\x87\xd6\xa1\xd1\x39\xed\xec\x98\x1d\xf4\x6f\xd0\x31\x3f\x0c\x26\x1f\x3e\x0c\x3c\xf4\x67\x76\x27\xcd\x4e\x6f\xf6\xd6\xec\xce\x9a\x9d\x5e\xa5\xd9\x19\xbc\x5a\xef\x5c\xef\x35\xbb\xd1\x5f\xf1\xed\xda\xf0\xd5\x1a\xfa\x33\x46\x47\x7b\x27\x9d\x7a\xa3\xbe\x55\x3f\xa8\x7f\x3e\xee\xf6\x3e\x1f\xd8\x4d\x67\xef\xe6\x9d\x73\x6c\x37\xb7\xaf\x9b\x76\x50\x1f\x6d\x8d\x11\xce\xf5\x46\x7d\x7f\xec\x34\xa7\xe3\x9b\xa3\xfd\xe9\xa4\x7b\x03\x27\x93\x5e\x38\x71\x60\x38\x59\x7b\x17\x38\x0f\xef\x82\xd1\xfd\xce\xf5\xcd\x1d\x1a\xea\x2d\x3c\xbc\xe8\xdf\xc1\xd6\x74\x72\xd3\x15\xff\x4d\xba\x5d\x77\xd2\xf9\xaa\xbf\x93\xbd\xcf\xcd\x83\xd1\x56\xbd\x3e\xda\xaa\xcf\xd7\x76\xfa\xf3\xb5\x9d\x71\xab\xd3\x1c\xcf\xd7\x9a\xc1\xd6\x1d\x19\xd7\x7b\x34\xf3\xeb\x5b\xf5\x33\xe7\x61\xb7\xff\xb9\xf5\xb6\xff\x70\xfa\xb6\xff\xf0\xf0\xb6\xff\x30\x7f\x3b\xd8\x39\xdd\x77\x77\x1e\x8e\x5e\xed\xdc\xbd\x6f\xd4\xcd\xee\x16\x42\x73\x54\x6f\x12\x64\xb7\xea\x87\xad\x87\xdd\x7e\xeb\x61\x1f\xd1\xf9\xcc\x59\x3b\xed\x7f\xee\x7c\xe8\x3f\xac\x7d\xe8\x1b\x6b\x1f\x10\x8d\x3b\x5f\xf3\xef\xe2\x2d\x19\x4b\x44\x8b\xc6\xde\xa0\x3b\xed\xde\x8c\xea\xa3\x87\xf1\xde\x0e\xa1\x39\x69\xf5\xc2\x3f\xb9\xde\xde\xae\xb3\x39\x79\x52\xaf\x37\x9d\xeb\x8d\x46\xc3\x36\xf6\xe1\xc3\xc3\xe9\xf8\x78\x32\x3b\x1f\xdd\xb4\xda\x3d\xe3\xe5\xde\x7e\x67\x3f\xf0\x66\xf6\xe4\x62\xb2\x46\xe6\x55\xef\x70\xbd\xbb\xbe\x31\x7f\x78\x70\xbc\x83\x49\xff\x7c\x34\x19\x34\xec\xfe\xcb\x8d\xfd\xed\xfd\x1b\xd7\xdf\xf7\x4e\x26\xde\xfb\x63\xd0\x3a\xe8\x6d\x3d\xaf\x4c\x8d\xe9\xf4\xe1\xe1\xda\xf3\xbc\xfa\x8b\xbd\xbd\xf3\xbd\x7e\xff\xe5\xc6\xd4\x98\xfa\x6f\x6f\x06\x2e\x86\x77\x3e\x68\xd8\x1b\x37\xce\xc6\xee\x7e\xf8\xf0\xe0\x4f\xce\x26\xf7\xc0\x9c\x75\xda\xbd\xfe\xcb\xf5\x8d\x8d\x8d\x78\x3e\xdf\x74\x9e\xf7\x1f\x82\x9d\x8d\xf5\xee\xfc\xe1\xc1\xf7\xec\x49\x65\xb6\xd1\xe8\x54\xfa\xfd\x97\x2f\x36\xba\xfb\x0f\xb3\x87\x13\xef\x9a\x9b\xf7\xa4\xee\xc8\x6d\x9c\x98\x17\x5b\x75\xbc\xed\xb4\xae\x2b\x5b\x9f\xf7\xbc\x8b\xe6\x68\x78\xb1\xbe\x77\x71\x7d\x72\x3d\x75\xf6\x4e\xdf\x7a\xed\xf7\xdb\xd3\xe3\xd1\x61\x7f\x34\x9d\x6e\x3d\x3f\xfa\x3c\xee\x1e\xdc\x5c\x1c\x9d\x9c\x5d\x8f\xbd\xe9\x87\x76\x83\xee\x1b\xa3\x7a\xbd\xb1\xb3\xb3\xbb\xdf\x6c\x5e\x9c\x9d\x9d\x8d\xa3\xf5\xbb\xb7\x87\xd6\xaf\x0d\xfa\xfd\x91\x7f\x73\x73\xd0\x6e\x3b\x0e\x3c\x38\x78\xf7\xfe\xf0\x30\x08\x82\xe0\xe5\xdd\xfd\xfd\xf3\x87\xed\x87\xcf\x10\x06\x87\x87\x27\x27\x77\x77\xf3\xf0\x68\xff\xe0\xdd\xf6\x87\x4e\x67\x72\x7c\x14\x02\x1b\xf4\x9f\xaf\x6f\xb4\xf7\x66\x6e\x38\xe8\xda\x07\xcf\xcf\xcf\xce\xc6\xfe\x74\xda\xae\x1b\xdd\x2d\xba\x57\x34\xb6\xc6\xe3\x9d\x9d\xbd\x3d\xd6\xee\xf4\xfa\xfe\xde\x99\x78\x7e\xb3\x79\x90\x9e\x4b\x2f\x1b\xa7\xef\x77\x5a\x6b\xad\xd4\xdf\xfb\x97\xad\x79\x6b\xc7\xe9\xb4\x76\x9c\x0f\xad\x43\xc7\x3c\x3d\x7c\x30\x3b\x9d\xdd\xce\x87\xc1\xc4\xec\xba\x6b\x1f\x7a\xe1\x7a\x67\x50\x79\xfb\x61\x68\xae\xad\x0d\xcd\x75\x73\xb8\xbb\xde\x75\xcf\xbb\xd9\xbf\x06\xdd\x57\x71\x63\x3b\xcd\x66\xf3\xe2\x84\xe0\xd4\x6d\x39\x9f\xb7\xdf\xbe\xf5\x9a\x47\xc7\x27\xa3\xc9\x56\x44\x33\x3a\xc3\x5b\x6b\x3b\x67\xf3\x8d\x9d\xfe\x7d\x77\x67\xdc\x7e\xd1\x1c\x9f\x0e\x9a\xc1\xc3\xb0\x69\x9c\x3e\x3b\x34\x8c\xd6\xd1\xee\xd9\x69\xeb\xe8\x6c\xde\x19\x18\xad\x8e\x69\xcc\xbb\xee\xd9\x43\x77\x60\x3c\x74\x5c\xc3\xec\xb8\xe6\x87\xae\x5b\xe9\x75\xdd\xf3\x17\x83\x57\xe7\xbd\xee\xab\xb5\x67\x83\xe4\xdf\xab\x81\x49\xf7\xe6\x51\xfd\xa4\x31\x6a\x3e\x4c\xda\x4d\x67\xd2\x6e\x7e\x9e\x1c\xaf\x1b\x4e\x7b\xab\xd9\xde\x83\xf5\x66\xbd\x8b\x57\x5a\x63\x74\xd0\x7c\xe1\x1c\x37\xd7\x3f\xb7\xbb\xcd\xf1\x79\xb7\x39\x01\xdd\xae\xe7\x74\x6f\xa6\x93\xee\x8b\xe9\x8d\xdd\x3c\x20\x7b\x0f\x5e\x12\x3b\xf4\x3c\x1b\xd9\xcd\x1b\x6f\xd2\xbc\xf1\x9c\x26\xf4\x9c\xe6\xba\xef\x74\xbb\x53\xa7\x7b\x73\x33\xb3\xf7\x83\xfb\x9b\x17\x70\xf6\x35\x7f\xe3\x2d\xff\xbe\xe1\xd7\x4f\xf0\x39\x30\xb8\xdf\xc7\x7f\x9d\xf6\xfe\x4e\xe7\x7e\xbf\xde\x6f\x6e\x77\xc6\xbb\xf5\xc3\x11\x26\xdf\xdd\xf6\x4e\xff\xc4\x6c\x8e\xe7\x2f\x9a\xc1\xe9\xf0\x90\xd2\xeb\xf0\x95\x71\x7a\xf8\xaa\xf3\xa1\xb5\xbb\x7b\x17\x9f\x29\xec\xe0\xbe\xdb\xaf\x1f\xb6\x5f\xec\xf4\x1f\x06\x3b\xe3\xb3\x4e\x33\x34\x3b\x4d\xd3\xec\x34\xc3\x4e\xe7\xe4\xd5\xd7\x6c\x23\xe6\x69\xeb\xc8\x78\x68\x6f\x19\xfb\x0d\x34\x96\x88\x7c\x9f\x4f\x4e\x2e\xba\xd7\x5b\x8d\x83\xfe\x74\xab\xd1\xfb\x6c\x5e\x34\xb6\xdf\x4e\xf6\xeb\xe7\xd7\xc7\x27\xf6\xf5\x7c\xcb\xd9\x99\xce\xeb\x0f\xdb\xdb\xe3\xa3\xa6\xd7\x3e\x39\x69\xf7\x5f\xcd\xf6\x9b\x1b\x77\x77\x0f\x0f\xeb\xbb\x4d\x7f\xf7\xac\x75\x38\x5a\x37\xdc\xa3\xf5\xf5\xd1\x76\xff\x60\xf2\x61\xc7\x73\x8f\xeb\xd7\x68\x7d\xee\xd4\x77\x77\x50\x17\xe6\xf7\xdb\x6f\x77\xf6\xde\xbe\x3b\x6e\xf7\x27\xa3\xd6\xe1\xfa\xbc\xd1\xad\x9c\xdd\x6f\x8f\xbd\x69\xf7\x7d\xbb\xdd\x1e\x87\xee\xf5\xe8\xe1\xa0\x7d\x3e\xd9\x99\xbc\xff\xec\x1d\xbc\x6f\xb7\xfb\x93\xb1\xbb\x75\xfd\xce\x99\x56\xc6\x3b\x93\xe3\x7d\x78\x82\x17\xea\x5b\x34\xef\x1a\xcf\xdf\x9e\x8c\xb7\xce\xb6\x4e\xd0\x02\xd9\x6b\x1e\x9e\x8d\xfc\xe9\x75\xb7\xd5\x7e\x70\xbc\xc9\x78\xf7\xdd\xc1\x21\x38\xeb\x9f\x8d\xfd\x8d\xe9\xc6\xfc\xf4\xe1\xf3\xb8\xf9\xf6\xe2\xf4\xe0\xf0\xc4\x1e\x8c\xe6\xf5\xe9\xb4\x35\x3f\x7d\x70\xbc\xb7\x6f\x9b\xa7\x87\x27\xe0\xbc\x3f\x7a\xb5\xb5\x85\x18\xa1\xe6\x21\x9a\x42\xdb\xf5\x13\x67\x64\x74\x77\xce\xea\x3b\x8d\x7e\x7d\xfd\x6d\x7d\xfc\xb0\x71\x68\xb4\xe7\x27\x6e\x7b\x7e\xb4\xfb\x30\x6f\xb9\xe6\xfc\xe8\xc8\xdc\x38\x33\x1e\x4e\x4f\xcc\xb3\x4e\xab\x73\x3f\x3f\xea\x98\x9d\x56\xa7\x32\xef\x1e\x75\x7a\x17\xee\x69\xeb\xe8\xe8\x74\xd8\x3a\xeb\xb4\x8e\x76\x3b\xad\x4e\xc7\xd8\x40\xcf\x3b\xe1\xc3\x43\xcb\xad\x74\x5a\x9d\xb5\x56\xb7\x63\xf6\xba\x6e\x65\xde\x2d\x76\x36\xba\xe6\xda\xc3\xd1\xd1\x39\x7a\x36\xc0\xe5\x4c\x73\xa3\xfb\xea\xc3\xab\x6e\xf8\xa1\x3b\x8a\xda\x38\x6d\xb5\x48\x1b\x0f\xdd\x8e\xf9\xe2\xc2\x3c\xfb\xd0\xea\x9c\x75\x3a\xee\x79\xa7\xd5\x39\xff\xd0\x75\xcf\x87\x83\x4e\xe7\x55\xf7\x55\x7b\x8e\xca\x1d\x1d\x55\x5a\x9d\x4e\xa7\xd7\xed\x54\x86\x9d\xb0\xd3\xed\xbe\x5a\xff\xd0\xea\x7c\xe8\x0c\xdc\xca\x70\xd0\x39\x6f\x75\x8b\xe7\xaf\xc0\xee\xfa\xb0\xfb\x6a\xbd\x75\x8d\xdb\x35\x5f\x75\x4c\x54\xee\x62\xd0\x75\x2f\x7a\x03\x73\xed\xfe\x7a\x3a\x99\xb8\x37\xfe\x8d\x73\x33\x71\x9c\x9b\x9b\x9b\xc9\x4d\x38\xa9\xdc\xc0\x1b\xb3\xe7\xcf\x9c\x1b\xff\x06\x1e\x04\x13\x70\x03\x6f\x1e\x0e\x82\x9b\x22\x84\x93\x07\x88\xca\xc1\x1b\xe7\x26\x70\xee\x6f\x6e\x9c\x7b\x18\xdc\x3c\xbc\xb8\x71\x1e\x60\x78\xe3\xdc\xcc\x6e\xd6\x0e\x02\xd8\xe8\xc1\x9b\x5b\x18\xce\x5e\xbe\xbb\xbb\x7f\x80\x33\xaf\x71\x03\x6f\x9e\xc3\x60\x46\xca\xcd\x6e\xd6\xe0\xdc\x7b\x0b\x67\x9f\xb7\x5e\x4e\x1d\xef\xdd\xf4\xe6\xf6\x66\x76\x33\x79\x3e\x9b\xbc\x80\x33\xef\xed\x61\x38\x31\xfa\xfe\x73\x78\x73\xeb\xc0\x77\x77\x70\xfb\x20\x98\x3d\x83\x33\xa7\x68\x0c\xda\xbb\xad\xce\x87\x0f\x03\x77\x77\xed\x73\xa7\xd2\xe9\xbe\xaa\x98\xc3\xc1\xc6\x46\xef\xd5\xfa\xf9\x7d\xef\x74\xf6\x0c\x0e\x6f\x0f\xfa\x60\xf6\xdc\xb8\x1d\x6d\x3c\x54\x5e\xf6\x67\xbd\x6e\xf8\xf6\xdd\xd1\x6c\xef\x45\x31\x2c\xbe\xec\x3d\x1c\x3c\xbc\xba\x3e\x6e\x3e\x77\xbb\x1b\x37\x95\x9e\x7d\x73\x03\xbb\xb3\x9b\x9b\xe2\xec\xbe\xe7\xdc\x6e\xc3\xe3\xb0\x71\xd6\xe9\xbc\xfa\xd0\xed\xb8\x6b\x0f\x83\xc1\x79\x6b\x30\x5b\x7b\x00\xc7\xe7\xaf\xc0\x91\x7f\x03\x6f\x66\x0e\x7c\x77\x8b\x70\xf9\xfc\xb6\x3f\x9f\xbc\xec\xcf\x1e\xea\xfd\x0f\x83\xa0\xf2\xd9\xbd\xfd\xe0\xf5\x0e\xc2\xc6\x9a\xf9\xf9\xfe\x7d\x7f\xff\xa1\x72\xdb\x9b\x7b\x6f\x5f\x1c\xcf\xde\x57\x06\xf6\xf1\xed\x76\xdd\x7b\xfb\xf9\x0e\xcd\xe7\x1d\x3c\x9f\x77\x5e\x4e\xeb\x7e\x7b\x07\xd6\xfd\xfa\x7a\xfd\xa4\xbe\xd7\x04\xfd\xb3\xb3\x79\xfd\x66\xde\xde\x32\x76\x76\xdf\xdd\x34\x0f\x5a\x67\x87\x27\x17\xd7\x7d\x63\xe3\x60\xde\xba\x3f\x3b\xdb\x99\xde\x34\xbb\xa7\x67\x07\xc1\xc5\xa8\xd3\xdc\xd8\xbf\xdf\xbf\x3f\xdd\x19\x4f\xfd\x83\xee\x69\xfb\x6c\x04\xae\xa7\x9d\xad\x03\xfb\xf9\xde\x99\xe9\xee\xc3\xc0\xee\x9d\x5d\xcc\x8c\xd1\x74\xab\x7b\x60\xb7\x2b\x67\x86\x3b\xbd\xb9\xe9\xf7\xce\xce\xfd\xbb\xd6\xc5\xbc\x7e\xbf\xf1\xbc\x35\x7e\x18\x8f\xf7\xa7\xbd\x93\xf3\xf6\x64\x1c\xa2\x36\x36\x9e\x37\xc6\xdb\xe3\xfd\x83\xa9\x7d\x72\xd6\x36\xfc\xb0\x13\xcc\xf7\xef\xed\xc6\x67\x63\xbc\xdb\xbc\xb1\x4f\xda\x67\xc6\x64\x1a\xe2\x36\xce\xc7\xbb\xe3\xf0\xe0\xb0\x77\x71\x76\x5e\x59\x9f\x9b\xd7\x73\xd4\xc6\x78\xc7\x0d\xf7\x0f\xfa\x17\x67\x67\x15\x23\x9c\x4f\xfd\xcf\x73\x67\x6b\xfc\x30\xf6\xf6\xbd\xfd\xc3\x36\x6a\xc3\x3d\xda\xb7\x37\xba\xce\x19\x6a\x63\x72\x71\xdc\x6e\x8f\x6f\x42\xb7\xbb\xdf\x7e\xd8\xbf\x3f\xc5\x6d\x5c\x1c\x1f\xb7\xc7\xe3\x69\x38\xdd\x3f\x38\x3d\xd8\x3b\x33\xc7\xd3\x83\xe0\xa2\xd3\x3e\x9f\xdc\xcd\xcd\xe9\xbc\xdd\xdb\x3e\x47\xfd\xd8\x3f\xe8\xdb\xed\xf6\xe4\x2e\x9c\xbb\xd3\xde\xe9\xbb\x8e\xb9\xb3\xeb\xbf\x23\xfd\x98\x84\x61\xa7\x0b\xed\x9b\xb5\xbd\xb3\x9d\x29\xdc\xb7\xcf\x2e\xda\xc6\xcd\x3c\x6c\x75\x61\xef\xf3\xdb\xc9\xde\x78\x3a\x85\xf6\x49\xfb\xdc\x98\x4c\xe7\xad\x6e\xef\xb3\xb3\xb6\x37\x71\x8f\xe0\x91\xdd\x3b\xb7\x27\xeb\xf3\x8d\xeb\x69\xaf\x77\xba\x76\x3e\xf1\x8e\x0e\xe0\xa0\x77\x76\xe6\xa3\x7e\x4c\x3f\xf7\x7a\x6b\x9d\x89\x77\x7b\xdb\x3c\x20\xb4\x72\x8f\xf6\x1d\xdb\x59\xdb\x33\x27\x07\xa1\xdf\x3d\x3d\x6f\x3b\x37\x73\xb7\xbb\x6f\xf7\xb6\xdf\x4e\x2a\xee\xcd\xe1\x71\xf7\xb4\x7d\x31\x9e\x4c\xe7\xdd\xfd\xf6\xe7\x06\x6a\x23\x0c\x66\xb6\x7d\x6e\x4f\xee\xe6\x1b\xd3\x69\xdb\x79\xf1\x61\x52\xf1\x8e\x82\xa3\x61\xef\xec\xfc\xe6\x0e\xb5\x71\xda\x7e\xf1\xe1\xfc\xdc\x3b\x7e\x3f\x1b\x76\xce\xeb\xf5\xed\xfa\xa8\x7e\x58\x3f\x69\xd6\xf7\xbb\xf6\xf6\xc9\x78\xff\xac\x8e\xf7\xbc\x9d\xbd\xe6\x59\xb0\xb1\x6f\xb7\xb6\xee\x1f\xb6\xc7\x37\x8d\xb3\x77\x87\xc7\x6d\x30\xed\x8f\xe7\x8d\x83\xb6\xdb\x79\xd8\xd9\x69\xee\xf7\x3e\x20\x22\x4e\xe7\x83\x8b\x8d\x46\xe3\xdc\xdd\x1d\x07\x37\xef\xfa\x9d\x73\xfb\x7e\x3c\x45\x74\x78\x77\x52\xaf\xfb\x74\xcf\xdb\x1a\x57\xf6\xe7\x27\x3b\x07\xdb\x9d\xf1\x7e\x7d\xe7\x04\x3d\xdb\x6b\xa2\x09\x57\xbf\xe8\x4e\x5b\xce\xb6\xb1\xe5\x8c\x77\xf7\x0e\x4f\x9a\x37\x67\x17\x68\x7e\x4c\x5b\xad\xcf\x68\x3c\xf7\xde\x1e\x1e\x9f\x38\x7e\xf7\xe2\xe5\xc6\xd6\x41\x63\xb2\x73\xb6\xe3\xdf\x1c\x5c\x9c\x9d\xb4\xc7\x63\x77\x7a\x82\x18\x04\xbf\x8f\x0e\xd9\xde\x51\xe3\xec\xff\x63\xef\x4d\x9b\x1c\x45\x96\x45\xc1\xef\xef\x57\x64\xeb\x99\xb5\xa5\x2e\xea\x04\x01\xda\xaa\x6e\xde\x33\xc1\x26\x16\x21\xc4\x2a\x41\xdf\xb6\x63\x08\x10\x20\x56\xb1\x08\x44\x9f\x9a\xdf\x3e\xa6\x25\xf7\xac\xee\xea\xf3\xce\x79\xf3\xc6\x6c\x3e\x54\x09\x22\x3c\xdc\x3d\x3c\x3c\x3c\xdc\x23\xc8\xf0\x35\x71\xf2\x11\x1e\x18\x40\x07\xfa\x39\x4e\x3b\x53\x10\x4d\xd3\x77\x19\xf9\x24\x04\x73\x5a\xa3\xb3\xf4\x60\xd2\xf2\xda\xaf\x2b\xd7\xb5\x54\x7b\xbc\x61\x3a\x26\x3f\x14\x5b\xcd\x94\x41\x58\x05\xae\x79\x52\x4f\x9b\xf9\x90\xc9\x93\xc2\x51\xcd\x75\x58\x02\x20\x75\x00\xc8\x54\xd9\xd0\x5c\xb6\x9c\xcb\x31\xe0\x01\x0b\x68\x60\x66\xad\xb2\xef\xf6\x71\x4a\xcf\x17\xa2\xe4\xf9\xce\x12\xf8\xed\x28\x38\xd1\x54\x58\xcc\x53\x4e\x94\x64\xdf\x37\xce\x3c\x93\xe4\x9c\xee\xa8\xe8\xec\xeb\xc8\x72\x6d\x3a\xc1\x39\x7e\x12\xe6\x14\x4d\x73\x5c\x6e\x69\xaa\x2c\xfb\x41\xc0\xf0\xc2\x58\x25\x69\x9a\xe6\xf2\x7c\x23\xcb\xb2\x1f\x06\x31\xc3\x9d\x97\x8c\xc3\xa5\x73\x0b\x42\xb1\x58\x89\x8c\x6c\xe2\xbc\xde\x91\x80\x8d\x2e\xeb\x9d\xba\x8f\xd8\xcc\x52\xe6\x82\x63\xfa\x31\xcf\xab\x67\x9e\x68\x3a\xe7\x0f\x1b\x4e\x94\xc3\x28\x6f\x0d\x73\x44\x8c\xe7\x7a\xcc\x14\x25\xc7\x6b\x67\xdd\x1e\xba\x01\x21\xd8\x2a\x36\x5f\x47\x4b\xa1\x70\x0c\xd3\x1e\xe3\x41\xee\x5a\x61\x41\x6d\x36\x43\xe6\x20\x56\x9e\x6d\xdb\x48\x76\xd6\xf7\xa2\xdb\x46\x00\x2c\x1b\x86\x68\xc8\x06\xb4\x15\xb3\x0c\x1d\x93\x54\x33\xc4\x22\x75\x10\x01\x07\xf8\x24\x19\x31\x73\xe9\x2c\x63\xdd\xcc\xb2\x76\x34\x6a\x29\x92\x4c\x99\x84\x5d\x49\x82\x6d\x9a\x57\x3f\xfa\xec\xdb\x9d\x7d\x70\x49\x14\x6f\xbe\x75\x9b\x07\x17\xbf\x9c\x7d\xf2\xb7\xf1\xb7\xbe\xfa\x5b\x1f\x3c\x02\x80\xcc\x9b\xf3\xf2\x59\x32\x4c\xe4\xe0\x82\x92\xd1\x67\x3f\x92\x03\x87\xb3\xef\x4a\x30\x6b\x33\x3b\xc7\xda\xfe\x96\xbc\xc5\xda\xa2\x6e\xaa\xd7\xb2\x60\xbf\x7d\x2a\x73\x6c\xf3\xa9\x6c\xff\x5c\x66\x7e\x88\xd3\x7f\xa8\x8c\xa9\x8a\x62\xbb\x59\xaf\x93\xba\x3a\xfb\xdd\xf6\x18\x1d\x0e\xe3\xbc\x28\x64\x02\x1c\x9b\x8c\x05\xab\x29\x3b\x1f\x5e\x47\x8c\x3c\x35\x17\x79\xd1\x00\x07\x80\xd8\x53\x09\x2b\x49\x92\x6c\xba\x01\x67\xe6\x63\x41\xa5\xcf\xaa\x91\xe9\x4b\x41\x52\xfd\x38\x60\x08\x41\x50\xe3\x4e\x8b\x72\x21\xb7\x55\x7d\x1d\x1d\x2c\x67\xc8\xab\x42\xb8\x8e\xe3\xf8\x6c\xa3\x35\x7d\x1d\x65\x17\x9a\xc4\x69\x1d\x0f\x63\xfe\x70\xe6\x43\xf2\xc3\xb8\x5a\x2a\x17\x3e\x50\x9a\xe1\x04\x7b\xb3\x5e\x67\x65\xd5\xc6\x84\xa0\x1e\xd0\x21\x3a\x17\xc4\xa5\x69\xa9\x7a\x72\xa8\x5a\x37\x08\x0b\x6a\x1e\x21\x31\x5f\x2e\xce\xfd\x1a\x9f\x82\x78\x69\xd9\x76\x77\xee\x6b\x59\x09\xdb\xcd\xda\xcc\x4e\xc3\xf3\xf8\xab\x76\x32\x1c\x26\xc2\x62\xe9\x5a\x36\xd9\x50\xfe\x36\x05\xc0\xa7\xc3\xc6\x31\x6d\x23\x5f\xac\x48\xc4\xbb\xe9\x23\x49\x13\x00\x28\xe4\x75\x9c\x45\x59\xf6\xfd\x40\x3f\xeb\xc3\x98\xbc\xe8\x39\xa7\x2b\x82\xe8\x99\x8e\x7b\xdd\x3b\xa0\xf7\x14\x9b\x66\xdc\x15\x2e\xe0\x41\x3b\x0a\x5a\x84\xbe\xc6\x03\xb2\x54\x3b\x4f\x73\x84\xd6\xa3\x22\x65\x59\xf9\x02\x17\x33\x04\x79\x9b\x23\x5c\x66\x2a\xaa\x1a\x46\xee\x19\x4e\xb8\xc0\x65\x39\x7f\x9e\x5f\x7e\x12\xc7\x0c\x2f\x08\xf6\xfa\x06\x27\xab\x6a\x98\xc4\xf1\x05\xdf\x2d\x36\xb2\x64\xf5\x8a\xef\x02\xa7\xeb\x67\xf9\x5b\x8a\x7c\x81\x63\x78\xe1\xcc\xdf\x15\x4e\x51\x55\x3f\x0a\x2e\x63\x62\x5f\xdb\x72\x4f\xf8\x2e\x6d\xf5\xf3\x1c\xa4\x88\x86\x04\x80\x5c\x65\xbc\xb0\x12\xb8\xa4\x41\x70\x87\xa3\xf4\xf9\x9e\x53\x7d\x12\x50\x00\x00\xc7\x0d\x0e\xe3\x53\xba\x3e\x91\x14\x93\x72\xea\x5a\xc5\x55\xd9\x09\x88\x70\x11\x30\x6a\xb8\x8f\xd9\x72\x6d\x70\x73\x47\x37\x87\x96\xdc\xe6\x8a\xa2\xe9\xc9\x31\x4b\xe7\x82\xa8\xeb\x90\x6b\x22\x59\xdb\x8c\x4f\xba\x11\x65\x59\x64\x2e\x54\xe7\x70\x1a\xba\x65\x43\x9c\x9d\x7b\x12\x80\x86\x26\xe9\xce\xd7\x01\xc1\x10\x7b\xee\xcc\x4b\x00\xe4\x1c\x08\x64\xd3\x2c\x41\xbb\x01\x32\x3d\x22\xb8\x13\xe9\x37\x42\x8b\x2b\x1d\x92\x44\x14\x20\x48\xfa\x04\x4e\x4a\xc8\xf8\x22\x1d\x48\x07\xdf\xe6\x43\xc9\x27\xcc\xcd\x9c\xe2\x08\x1c\x88\x7b\x13\x45\xc2\xe6\x98\x89\x25\x60\x36\x6e\x3b\xe4\x38\xd9\x27\xc8\x39\xd7\xca\xb4\x1e\x71\x24\x45\xa3\x23\x1c\xf7\x87\xab\x5a\xa4\x79\x29\x5a\xc7\x94\x7f\x0d\xd0\x70\x00\x00\xeb\x03\x10\xf9\x88\xcf\x85\x82\x2d\x99\xb8\xb4\x6f\x20\x99\xe6\x69\x25\x0a\x04\x8d\x1e\xdd\xf6\x55\x16\x80\xf0\xc1\x14\xf8\xa4\xcc\x84\x5c\xc8\x59\xd9\x78\xdf\x40\x22\xf5\x0c\x06\xe4\xf8\xf5\x9e\x1f\x09\x6e\x04\xc0\x35\x96\x22\x41\xb0\xb2\x50\x57\x03\x40\x36\xa5\xe6\x56\x23\xcd\xf3\x6d\x94\x5d\xc2\x97\xc4\x99\xe0\x94\xe2\x9f\x96\x7b\x71\x3c\xd3\x40\x27\x69\xd1\x04\x77\xd3\x45\xbd\xf5\x9a\x72\x6b\xfb\x89\x15\x2e\x73\xdc\x45\x84\x6d\x49\xb7\xaa\x09\x73\xd8\x46\xd7\x1a\xde\x8f\x3c\xcb\x4d\x87\xac\x89\x77\xd9\x1e\xc3\xe0\xc3\x8c\x62\xaa\x23\xa6\x87\x43\x78\x9f\xb4\x93\x98\xd4\xab\x55\x35\x9c\xc2\xa5\xb9\x9b\x89\x91\x0f\x4a\x30\x57\x08\x17\xf3\xc5\xf9\x0a\x2f\x75\xe8\x40\xae\x4c\xe2\x34\x33\x0a\x80\x99\x07\x3e\x2b\xd7\xd8\x1a\x85\xbd\xdd\x30\x94\xe0\x1a\x73\xfc\xa9\x35\x87\x47\x93\xbd\x0e\xe5\xab\x64\x3b\xa7\x79\xdd\x8f\x76\xa9\xcd\x61\x33\x6a\xbb\x3a\xb4\xae\x6b\xe5\xc1\x56\x54\x12\xd2\x19\x15\x42\x1c\xe9\x62\x74\x6a\xa7\x21\x97\xd5\xfe\xc8\xe5\x8f\x43\xc9\x64\x67\xf6\x68\xe6\x40\xd8\xdc\x3b\x1e\x9c\x89\x85\x6e\x18\x97\xda\x2f\xe0\x03\xdb\x55\xca\x6e\xbf\xa6\xd7\x2d\x0f\xdb\xe1\xdc\xeb\xf6\x59\x50\xcf\xd8\x92\xb4\x5c\x99\x10\xb6\x21\x8b\x18\x95\x0e\x63\xc9\x74\x14\x53\x73\x54\x83\xa1\x36\xb2\x1c\x33\xdd\x40\x34\x64\x1f\xba\x23\xdc\x6a\xbe\x94\x69\xcc\x1c\x6a\x27\xea\xf2\x20\xe3\x4b\x28\x03\x80\x50\xdb\xda\xd8\x34\x93\x09\xef\x8e\xb6\x49\xa2\x25\x35\x6f\x47\x9b\xc9\x08\x99\xb1\x2c\x12\xcd\x4d\xe1\x08\x94\x55\xde\xec\x24\x15\xac\x4e\xea\x0a\x38\x28\x1d\xa5\x1e\xd5\x10\x28\xdb\x00\xc0\xc7\x32\x65\x0a\xa3\xd1\x74\xbc\x9c\xcc\xe6\x3c\xb9\x6f\x71\x28\x1f\xdb\x94\xee\xa2\x93\x8d\x7a\x54\x4e\x9b\x05\x1f\x71\xe4\xc8\xb4\x86\xfb\xc5\x71\x14\xe7\x52\x60\x69\x1d\x52\x42\x54\x92\x32\x43\x37\xcc\xab\x22\x15\xc7\x3a\xe5\x73\xeb\xe1\x70\x13\x4c\x1d\x56\x73\x11\x58\x4d\xb6\xbe\x04\xdc\xd6\x39\xad\x1b\xf1\x1c\x8b\x15\x16\xb6\x5b\xaa\x3b\x6b\xdb\x09\xa1\x59\x08\x38\x54\xad\x0e\x55\x2a\x1a\x0b\xc9\x5b\x4b\x73\x34\x32\x8e\xba\x09\xe5\xe8\x8a\x87\x83\x88\x8c\x47\x36\xa3\x48\xb8\xb6\x98\x9b\x2b\xcb\xe1\x74\xec\x68\x8a\xc3\x20\x0b\x54\x7c\xcf\x32\x71\x7a\x5a\xc3\xa8\x36\xe2\x27\xd1\xbc\x54\x83\xcd\x5a\x9b\x2e\x91\x91\x01\x61\x24\x3c\x5f\x1d\xf8\xa1\xec\xae\xc3\x72\xbe\x6a\xe9\x8e\x3d\x6c\x38\x95\x58\x71\x61\xba\xa6\xf4\x6a\xc2\x79\xfc\x11\xde\x8d\xa4\xaa\x23\xda\x5c\xeb\x2c\x4b\x86\x48\x93\x0e\xd8\xcd\xee\x30\xc7\x6d\x40\xc8\x71\x38\x41\xe7\x7c\xb0\xc4\x33\xfe\x08\x05\x1b\x07\xe4\x80\x3f\x7b\xdf\xeb\xe9\x1c\x2d\x6c\xb0\xc1\x97\xba\x03\x88\xd4\xa8\x26\x13\xb2\xb3\x00\x01\x2d\x4a\xd6\x31\x3c\x48\xc6\x03\x48\x26\x86\x4d\x00\x5b\x05\xaf\xad\x5a\x95\x70\xb9\x69\xe2\x6b\x1e\x70\xb5\x52\x96\x32\x46\xa7\x53\x7f\x46\xb0\x8e\xb1\x0a\x5a\x55\x51\xcc\x48\x58\x5b\xfc\x46\x62\xcc\xd5\xd8\xc0\x01\x5d\x84\x39\x9f\xd1\xfb\x8d\x0f\xd0\x86\x57\x2c\x56\xa5\xdb\x84\xa7\x92\x29\x83\x80\xb1\x4f\x6f\x4a\x7f\x64\xe3\x56\x09\x16\x5c\x55\x88\xc4\x04\xda\x05\x13\x5d\x58\x1c\xcd\xb5\xea\x56\x25\xd5\x30\xbb\x61\xd2\x99\x9d\x3a\x64\xa6\xe8\x72\x18\xa0\xd2\xa9\x42\xbd\xc9\x98\x18\xca\xae\x8a\xa8\xa0\x94\x43\x7f\xb1\x12\x25\x9f\x57\x67\xbc\x42\x4e\x02\x66\x03\xc6\x91\x5e\x2e\x98\xa5\x40\x8d\x1c\x30\x72\x34\xe5\xe8\xab\x87\x95\x83\x31\xf1\x6c\xd6\xae\x31\x59\x0b\x61\x91\x55\xa6\x14\x9d\x8c\xd7\xe9\xd1\x36\x64\xa0\x35\xca\x41\x11\xf6\xa7\x46\x9e\x11\x45\x11\xd4\xbe\x82\x02\x41\x2b\x57\xb2\x27\x3b\x51\x01\x24\x9f\x92\x82\xad\x46\xab\xa7\x62\x23\x8f\x10\x32\x5a\xe6\x1b\xb7\x5a\xef\xd7\x93\x35\x0a\x63\xfa\xde\xdb\x60\xfa\x6c\xe4\x73\xae\x1d\xef\x14\x90\x81\xe4\xa0\xd3\x61\x93\x8f\xb0\x80\x74\x1d\xb2\x89\x7d\x7c\xb2\x73\xb6\xbb\x2e\x4e\x64\x11\xf8\x36\x11\x05\x13\x07\xda\x39\x94\xcf\x40\xe1\xae\xa1\x36\xbb\xce\xf3\x17\x2b\x67\x61\xf2\x25\x00\xbc\x0c\x0a\x6d\xb3\x4f\x03\xb8\xde\xcc\x4f\xd8\x71\xc8\x46\x58\x6e\x8c\x61\xac\x1a\x15\xf5\x7a\x3a\xdc\x8d\xf3\x62\xb7\x15\x51\x19\x5b\x2f\x8d\xd3\x6c\x4a\x34\x7a\xb5\x25\x9b\x80\x09\xc0\xba\x5e\x79\xc7\xb1\xe4\xc1\xb8\x65\x33\xb2\xee\xf8\x42\x61\x94\xb8\xeb\xed\xba\x60\xa8\x01\x0a\x0c\x29\x3a\x18\x6d\x31\x23\xa6\x6c\x9a\x6c\x46\x5b\x68\xbb\xda\x45\x42\x56\x62\x15\x07\x6a\x0f\x3b\xf2\x96\x14\x06\x98\x6f\x63\xf1\x58\xc2\x56\xea\x8e\x8b\x8a\xc5\x11\x59\x01\x75\x3a\x5e\xad\xdc\xc5\xc4\x9f\x66\x0e\x2a\x54\xde\x92\x11\x84\x4e\x50\xbc\x40\x3a\xa2\x3e\x9f\x31\x0b\x62\xb5\x49\xec\xcd\x71\x45\xc8\xdc\xc2\xe7\xb3\x14\xd9\x6e\xd7\x44\xd9\x15\xa6\x65\x9a\x0d\x3d\xd9\xc7\xe8\x1e\x3a\x6a\xae\x3e\x31\xf2\x08\x1d\x2e\x42\x1d\x91\xed\xfd\x2a\x3a\x35\x00\xb0\x87\xad\x4e\x22\xb0\x59\x9a\x92\xbb\xc5\xbd\x31\x21\xe5\x13\x1a\x71\xc8\x10\xc1\x41\x06\x6b\x3e\x35\xb5\x0c\x20\x86\xee\x38\x80\xc1\x94\xf3\x88\x65\x94\x8f\xe1\xb6\x04\x80\xb4\xe8\x05\x6d\x72\x11\x74\x3a\x72\x63\xb9\x1b\x2e\x97\xe3\x98\xdb\x55\x04\x3c\xe6\xc4\xf5\x7e\xcd\x2f\xa5\xc3\x4a\x13\x3d\x17\x24\x27\x7b\x3f\xa6\x4b\x44\x26\xa2\x98\xcf\x43\x75\xbd\x66\x53\x19\x25\x33\x73\x3b\x5f\x83\xa4\x82\x10\x7f\x21\x13\x8c\x40\x12\x69\x8e\xca\xba\x2e\x5b\xf0\xb0\x0a\x2a\x8b\x22\x78\x3d\x67\xd6\xe6\x14\xed\x30\x3c\x73\xb2\x82\x18\xa3\xd9\x66\x72\x20\x46\x27\x24\x5b\x81\x23\xbc\xcb\x5a\x16\x1d\x35\x46\xe2\x73\xec\x0e\x6d\x19\xa9\x98\xc6\x9e\xe5\x10\x87\xa1\xd0\x62\xd6\x91\x3c\xcc\x08\xdf\x1e\x63\x33\xd0\xd6\x6c\xbd\x5a\x2e\xe0\xc9\xd0\x24\x19\x9c\x3e\x35\x7c\x7e\x60\x19\xb0\x19\x6f\x18\xa4\xdc\x1b\xdb\x1a\x2c\xd3\xe3\xd1\x5d\x38\x45\xbd\x33\x1b\x49\x84\x43\xca\x1e\x87\x00\x1f\x4f\x81\x09\x00\x31\x4e\x96\x84\xb8\x71\x7c\x8d\x9a\xb2\xaa\x72\xe0\xf1\x63\x33\x25\xf7\x20\x26\xe9\x15\x20\x81\x1a\x6f\x60\xb0\x6a\x56\x12\x2f\xc4\xb3\xf6\xbc\xa6\xad\x92\xd4\x3b\xa2\xde\x3a\xc7\xb0\x8d\x7f\x6a\x30\xea\xb8\xeb\xc6\xc9\x69\x1e\x61\xd9\x69\x35\x35\x35\xa1\x24\xa5\x63\x07\x7c\xb0\x90\x43\x24\x1b\x3a\xe3\x65\x57\xa2\x12\xba\xf2\xd1\x00\x07\x24\xc7\x03\x1f\xcc\x57\x88\xbd\x4c\x47\x2d\x42\x50\xbe\xb1\x63\x27\x35\xaa\x55\xa7\x1d\xe5\x28\x5c\x6d\x82\x93\x1c\x10\x0c\x1c\x1f\x55\x05\x54\x95\x0f\xc6\xda\x6a\xbb\xb6\xc0\xcc\xb7\xf5\xc2\x5a\x03\x9d\x06\x00\xa2\x5a\x7c\x22\x63\x70\x31\x9d\xb0\xad\xae\x1f\xac\x84\x40\x88\x44\xaf\xc5\x38\xdb\x33\x7b\xb6\x1a\xfa\x54\x9d\xa6\xc7\x7a\x33\x15\xb9\xa4\xdc\xab\x87\xd1\x3a\xea\xd4\x6e\xae\x8e\x51\x89\xe6\x62\xa9\xde\xad\xd7\x5e\xd7\xae\xf3\xe3\x98\x21\x7c\xca\xe7\x8d\xb8\xda\x6d\x18\xb3\x5a\x02\x90\x1e\x74\xa4\x95\x33\x0a\x31\x17\xe1\x26\x1b\x39\xcc\x48\x36\x70\x32\x35\x87\x15\xb1\x00\x91\x45\x4a\x80\x00\xc1\x36\x82\x81\x08\xc1\xa0\x51\x49\xd2\x8d\xd7\x00\x00\xd1\x61\xf6\xea\x24\x6b\xb6\xd3\xb9\x41\x75\x47\x8f\x0a\xad\x63\x97\x6e\x2b\xb4\x62\xf0\xed\x62\x94\xb9\xcb\xa1\x29\xc4\xd3\xa9\x06\x68\x40\x90\xd6\xb1\xde\x1d\x66\x26\xa9\x11\x95\xd8\x18\x40\xd6\x69\xd0\xcc\xab\x65\x5c\x75\xaa\xcd\x1e\x01\x65\x92\x98\xd6\x2e\x8c\xfd\x21\x54\x00\x24\x59\x40\x0c\x3a\xe7\x40\xfb\x8a\x03\xa4\x26\x23\xfd\xa3\xab\xb5\xa5\xc6\x2e\x64\x9a\x19\x43\x99\xb4\x45\xa1\x15\xe0\xa6\x4e\xb8\x92\x9d\x8d\x3f\xc9\x25\x13\x5a\xec\x5b\x59\x3d\xa2\xbb\x7d\xc2\xd4\x7b\x0c\xf7\xe7\x4d\x87\x0d\x11\x78\x3b\x17\xc6\x1d\xd6\xfa\xda\x74\x3a\xf1\xb2\x64\xad\x2f\x68\x9b\x72\x11\xbc\x61\xbd\xca\x6c\xdd\xbd\xe3\x1b\xa8\xda\x1e\xd5\x26\x45\x8c\xcc\xda\xf0\xca\x21\x52\xc8\x11\x50\x65\x38\xa9\x8d\x0c\xe8\xe5\x66\x02\x7c\x20\x8b\xc4\xd2\x36\x1a\x00\x62\x40\x28\xad\x06\x0f\x57\xc9\xee\xb0\x38\xa8\xca\x92\xda\x06\x9b\x2d\x32\xd9\x7a\x45\x4e\x60\xdb\x19\xbe\xcf\xeb\x35\x6d\xed\x09\x92\x42\x25\xc7\xdd\x30\x39\x29\xd0\x3e\x49\xed\x1c\x66\x25\x36\x53\x00\x00\xa5\x37\x1a\x1e\xa7\x7a\x32\x42\xe2\xa4\x29\x72\x51\x0c\x56\x32\x27\xec\xc7\x35\x42\x4f\x77\x05\x7a\x9c\x13\xa9\x2f\x2e\x5d\x2e\x2e\xac\x32\xf4\xf7\x76\x10\xef\x6b\x77\x0c\x18\xc3\x87\xaa\x6e\xd3\xe8\xe9\x66\x81\x69\xfc\x22\xb7\xf7\xf6\x5a\x00\xb8\x71\x39\x79\x0d\x99\xdd\x81\xf7\x05\x60\x21\xd3\x4d\x51\xa9\x98\xdb\x56\xf2\xd2\x74\xf2\xd5\xd1\xa4\xe7\x53\x32\x3e\x16\xb2\xc2\xfb\x84\x97\x07\x4d\xba\x5c\xf3\xfb\x6a\x7e\x48\xf2\xb1\x41\xaf\xd4\x23\xe1\x4d\x68\x22\xd4\xb1\x83\xcf\x6f\x65\xd0\x50\xf8\xc2\x9b\x2e\x80\x48\x89\x01\xbb\x5d\x02\x00\x62\x5f\x80\x2a\xa6\x1c\x49\x90\x79\xe2\x9d\xd9\x89\x4c\x79\x1b\x2b\xda\xc5\xaa\x8e\xe7\x69\xdb\x94\x1b\x63\xc6\x94\x11\x1a\xe1\xab\xb0\x24\x01\x4b\x4e\x99\xa8\xd9\xce\xe9\x99\xcf\x5f\xf6\x05\xd2\x53\x54\xee\x11\xd2\x65\x44\x6b\xb1\xf0\xb3\x6e\x2a\x42\x4c\xdb\x85\x8d\x49\xf8\x5c\x0b\x75\x6c\x48\x12\x40\x00\x31\x21\x2c\x73\x66\x58\x4a\x33\x3e\x37\x9c\x13\x1d\xce\xec\x62\x38\x32\x63\xd6\x2f\xea\x6a\xb4\x5b\xf1\x69\xe4\xf2\xe3\x23\xdd\x58\xab\x13\x60\x65\x82\xa3\x29\xbd\x88\x45\x87\x00\xc0\x45\x05\xa0\x22\xf2\x01\xe2\x1b\xa5\xa4\x71\xc0\x5b\x95\x98\x02\x6a\x3c\x4f\x25\xb3\x31\x63\x89\xb3\x8e\x55\xa7\x2f\xdd\x7d\xe1\x11\x93\x5d\x28\x46\x6b\x0e\x21\x13\x82\x18\x03\x0e\x08\x0e\x36\x05\xb3\xac\xa4\x99\x58\x53\xe7\x34\x49\x40\xce\xd6\x53\x28\x12\xb1\x95\x7c\xc1\x1e\x96\xab\x3c\x76\x04\x78\x32\x5e\xb4\x29\x5a\xe4\xc9\xe1\xb4\x29\x4d\x7e\xad\x84\x30\x23\x5f\xce\x0f\xe5\x68\x26\x92\x40\x0a\xb7\x85\x4c\xc8\x80\x22\xa9\xf2\x90\x67\xd9\xaa\xae\x5c\x08\x19\x91\xde\xcc\x1f\x87\xb4\x1b\x9a\x1b\xdf\x48\x64\xc0\xe1\x10\xde\x94\x11\x4d\xd0\x21\x11\x67\x4b\x79\x2c\x84\x08\x2c\x68\x32\x22\xef\xd7\xbb\x7d\xdb\x85\x10\xf0\xea\x8d\x90\x89\x7b\xda\xd8\xc9\x92\xd5\x15\xc8\x69\x86\x0f\x0f\x0b\x5f\x44\x01\xdd\x1e\xb7\x96\x74\x70\x5a\x6b\xcc\x8f\xa3\x22\x2e\xf6\xf8\x09\xdd\xcf\x80\xeb\x0b\x54\x3b\x9e\xa7\x7c\x69\x2c\x82\xad\x83\xa3\xf5\x61\x34\xc5\xa1\xac\x56\xdd\x25\x91\x67\x64\x48\x1a\x6c\xd1\x41\xeb\x4e\x07\x30\x45\x55\xd4\x14\x68\x3e\xc0\x02\x24\x16\x49\x00\x3a\x87\x39\x42\x2a\xb4\x53\xd5\x65\xe4\x99\xeb\x58\xcb\xb7\x18\x9e\xec\x50\x65\x97\x1c\x0e\xbc\x27\x7a\x51\x1c\xb0\x60\x57\x4f\x8c\x0c\xd0\x80\xf4\x01\xc8\x05\x25\xaa\x16\x90\x10\xc9\xd4\x5a\x6c\x4c\x52\xbf\x9c\xe9\x93\x42\x99\x4f\x91\x36\xc8\x67\x43\x7d\x7f\x90\x89\x06\x6b\xf1\x91\xe3\x55\x87\x68\x2f\xd3\xa7\x1a\x9b\xcf\x88\xf1\x12\x52\xc6\x23\x44\x3f\x4c\x25\x23\xf4\x27\x8d\x94\x8c\xd7\x75\x8a\x78\x36\x1e\x0b\xd4\x2a\xb3\xb7\x7c\x39\xb6\x17\x07\x7f\x1b\xac\xba\xfc\x88\x0b\x0a\x1e\x4a\x54\x18\x37\xd3\xa9\x95\x9b\x93\xc3\x90\x93\x44\x67\x0b\x54\x20\x01\xa3\x4a\x1c\x32\xcd\xb6\x4e\x11\xcd\x71\x61\xae\x4e\x60\x2b\x2d\x23\x63\xad\x2c\x99\x19\x8f\x28\x3a\x2b\x48\x29\x71\x3a\xcd\xd6\x60\x4a\x1d\xc7\x8b\x73\xd4\xa2\x88\xa4\xac\x03\x7c\x5e\x84\xd5\xce\x10\xd1\xd8\xb1\x76\x2c\x26\x63\x1a\x7c\xb4\xf0\x09\x8f\x9a\x6c\xe0\x24\x84\xdd\xed\x77\xee\xa9\x36\xd0\x91\xbf\x00\x5d\xe1\x20\x4e\x73\xfb\x7a\x21\x18\xaf\xdc\xf3\xf3\xfc\xb4\xde\x33\x6b\xfc\xa4\x3a\x7b\x7b\x6d\xa3\xc9\xdc\xc9\x76\x6c\xbb\x6e\xbd\x46\x00\x0b\x3f\x5e\x13\xf9\x42\x3f\x36\x4d\x04\xe9\x52\x30\xf2\x96\xf3\x93\x2e\x95\x43\x98\x66\xa0\xdc\x2a\xa0\xda\x1d\x49\x5d\x36\x6f\x4c\x17\x00\xc2\x47\xf3\x11\xba\x08\x55\x1f\x98\xb0\x65\xc4\x52\x12\xc6\xb4\xcf\xa6\xe3\x39\x26\x39\x8d\xb9\xef\xb8\xc9\x51\xda\x0f\xab\x71\x5b\xb6\xb8\x8a\xc5\x84\x39\x1b\xd3\xba\x4c\x30\x63\xc0\x11\x20\x59\x99\x2c\xbe\xca\xe6\x26\x99\xf1\x00\x50\x6b\x0f\x92\x2c\xde\x0a\x27\x70\x3b\x19\xc3\x27\x76\xb2\xe8\x76\x33\x71\xb4\xe9\x14\x21\x65\x56\xc9\xd1\x13\xcb\x30\x96\xd9\xc6\xb8\x9d\x79\x63\x0b\x99\x9a\xae\xc8\x73\xc8\x45\xf9\x36\x22\xd7\x7b\x62\x71\x6a\x3a\x8f\xc7\xed\xb1\x05\xd3\x8a\x41\x00\x3d\x06\x34\x75\x38\x66\xe2\x84\x90\x09\x50\x03\xbf\xee\x98\x03\xb7\xa8\x92\x3d\x8b\x09\x2e\xde\xec\x84\x6c\x9b\x4a\x01\xc0\xba\xe9\xe8\xb0\xce\x94\x55\x32\x0b\x9a\x4c\x62\x33\x0a\x80\x98\xdc\x36\x14\x00\xa3\x31\xc3\x82\x7a\xb3\x8b\xd9\x0c\xdb\x79\x68\x55\xcd\x67\x1b\x9d\xf2\xc0\xcc\x4c\x4c\x92\x90\x91\x6c\x55\xc0\x43\x99\x9c\x72\xc7\x9a\x3c\xcb\x36\xdf\xea\x40\x26\x05\x14\x15\x13\x1a\x93\x26\x53\x03\x6c\x59\x59\x9b\xad\xb8\xd5\x32\xd3\x66\xdd\xd2\xc1\x62\x54\xf2\x26\x1a\x30\x16\x60\x49\xd4\x3b\x6d\x2a\x5e\x8e\xf1\xe7\x9d\x86\xaf\xd4\xe9\xf9\x39\xa3\x17\x73\x76\x8b\xd6\x36\xd9\x34\xf4\x71\x48\xaf\x03\xa6\x08\xf5\x68\x0b\x6c\x60\xa1\x13\x78\x67\x58\xa9\x66\x6d\xb6\xeb\x0e\x23\x9a\x75\xbe\xd7\x6d\xd1\x12\x94\xfd\xc4\xb5\x10\x1e\x86\x7d\xdd\xd3\xdc\xdc\xa0\x1b\x00\x2c\x89\x29\x97\xad\x00\xf6\xb2\xea\x03\x08\x10\xab\xcc\x9c\xf2\xfb\xd1\x09\x6d\xf6\xde\x74\xb8\x2f\x37\x0e\x3c\xd4\x24\x79\xad\x51\xa6\x45\x24\x20\x5a\x52\xe1\xc1\x68\x6a\x80\x2e\xf9\xd9\x99\x0f\x9a\x10\x40\x35\x33\x8a\x72\x57\xc2\xe8\x72\x38\x13\xa5\xd9\x50\x9d\x15\xee\x94\x66\x35\x8b\x4d\x3b\x72\x24\x9a\xc9\x4e\xa6\x01\x79\x82\x19\xc2\x39\x8f\x03\x18\x39\xb8\x1f\xe2\xdd\x54\x01\xcb\x12\x4e\xc6\xcc\x72\x63\x64\x33\xca\xc0\xc7\xfc\x7c\x48\x10\x54\x1d\x1d\xe2\x06\x36\xec\xd1\x7c\x22\x6f\xeb\xb9\xa1\x72\x10\x6a\x5b\x76\xb6\xd8\xf0\x85\x6b\xec\xd1\x2e\x26\x67\xd6\x48\xa6\x01\xcd\x74\xf0\x48\xee\x7c\xc3\xba\x2a\x2f\x9c\x6d\x9c\xf6\x44\x8e\xd7\x3b\xad\x86\x90\x99\xe1\xc1\xce\x64\x3c\xe6\x71\x43\x03\x73\x9d\x49\xc0\x68\x08\x19\x60\x29\x84\xb0\xbc\xca\x56\x8d\xe9\x9b\x20\x02\x93\xe1\x48\x62\x71\x15\x29\x47\x02\xc5\x1e\xf7\xb3\x99\x28\x1e\xa6\xda\x8a\x71\xb0\x22\x13\xac\x74\x2e\x65\xda\x70\x9b\x70\x81\xe1\x3b\x93\x0d\x10\xaf\xdf\xf3\x88\x60\x3d\x34\xb6\x72\x83\xf9\x76\xde\x49\x39\xef\x42\x82\x8b\xee\x1c\x3c\x54\xa5\x31\xba\xe3\x8f\x33\x28\xc9\x8e\x75\x38\x6c\xf4\xe5\x0a\xec\x91\xd1\x6c\x89\x49\x46\xdb\x45\xb8\x6f\x4c\xb0\x55\x42\x4f\x19\x0e\xa0\xcc\x28\x51\x0e\xd8\x84\x3e\x3a\x93\xf1\x71\xb1\xd9\x31\x78\x41\x8d\x74\x9e\x07\x0d\x3e\x0e\xd6\xe3\x85\x45\x6e\x47\xe5\x72\xe1\xb6\x50\xd4\x9d\xed\x17\x01\x05\xbb\xd3\x6c\x04\xcd\xc6\x23\x8b\x5c\xac\x26\x04\x06\x1b\xb1\xc6\x92\x47\x8a\x16\x2a\x39\xd0\x12\x5c\x08\x49\x1f\xd0\x60\x5b\xec\xb6\x6b\x6d\x55\x96\x67\x56\x37\xb9\xe7\x0d\x2b\xa3\xc8\x3a\xd3\x4c\xf1\x61\x43\x0d\x6d\xcf\xac\x22\x61\x57\x36\xcb\x11\xac\x6e\x56\x12\xc2\x53\x69\x20\xc1\x78\x6c\xeb\x59\x51\x1d\xe1\x12\x1f\xa2\xbb\xd3\xd6\x83\x53\x69\xe9\xa6\x4e\x46\xb2\x29\x61\xc4\x61\x8d\x90\xf2\x9c\x58\xc7\x2b\x13\x1e\x09\x4d\x96\xa0\x0b\x38\x2a\xea\x95\x38\x96\x27\x59\x87\x57\x47\x4a\x3e\x41\x5b\x0b\x63\x3b\x29\x84\xfc\x25\x0b\x70\xca\xa2\x7d\xf0\xd8\xfb\xde\xc7\x57\x61\x62\xfb\x5e\x09\x87\x4e\x96\xfe\x32\x1b\xf7\x06\xbd\x4b\x01\x9c\xa7\xaf\x3e\xc0\x0a\x0d\x42\x52\x1a\x44\x98\xfb\xd9\xb9\x2f\x4b\x55\x0f\x68\xdd\x3f\x4f\x84\xcb\x47\x22\x3e\x79\x76\x70\x01\x15\x26\xac\x83\x5f\x4a\xe6\x2e\xa1\x9d\x3d\xc8\xc5\x7c\x45\xc2\x6d\x70\xf9\x10\x00\x30\x9d\x1e\xb9\x24\x10\x26\x12\x2b\x45\xe7\x02\xdf\x44\x02\x55\x93\x01\xf0\x42\x13\x00\x8e\xa4\x01\xa0\xc6\x97\x0a\xc9\x07\x80\xd5\x1b\x00\xa8\xc3\x19\xb3\x94\xfb\x00\x10\x6e\x93\x2e\x72\x65\x75\x19\x79\x2b\x54\x11\x97\x06\xab\x29\x80\x1b\x0a\xce\x16\x68\x1a\x5d\x74\x2f\x6e\x54\x26\xee\x00\x00\x35\xd7\x00\xb0\x08\x45\xc2\x13\x74\xd8\xf5\x01\x60\x84\x80\x57\x68\x46\xf7\x96\x45\xb5\xd9\xc4\xe5\x46\x74\x47\x30\x86\x74\xd3\x31\x3e\xab\xa9\x8e\x4e\x5a\x85\x09\xb7\x5c\x29\x6d\xac\xa9\xc1\xa5\x1a\xcf\x98\xea\x1a\xb3\x9d\x8a\x1e\x3a\xd5\x3a\x72\x2a\x9a\x19\x73\x88\xa1\x30\xf4\x1a\x64\x61\x20\x67\x60\x2f\x33\x49\x48\x64\xfe\xda\xe6\x68\x40\x31\x64\x22\x6f\xa2\xb8\xca\x10\x5c\x93\x90\xd4\x5d\x73\xf8\xb6\xb5\xec\x78\xcd\xf2\x61\xaa\x99\x55\xa4\xf0\x4c\xe4\x54\x5d\x3c\xeb\xdc\xd9\x64\x02\x4d\x1d\x7c\x06\xe9\xfb\x3a\xcc\xb7\x24\x35\x3c\x41\x33\xc8\xf6\x26\xa3\xe3\x31\xe1\xe3\x23\xe6\x4b\xa8\xa9\xd4\x2f\xff\xf4\x1a\x54\x45\x46\x2c\xb1\x74\xe7\x09\xa5\xad\x6e\xd6\x75\x61\x17\x47\xe5\xa8\x17\x5a\x1a\x3b\x8e\x01\x8f\x6c\x2c\xa6\x14\x4f\x11\x18\xd7\xc1\x2d\x7b\x9c\x76\xc7\x35\xba\x9d\x48\x5c\xde\x58\xc1\x64\x89\x4d\x42\xd6\x0c\x57\x5d\x75\x3a\x9e\xf0\xf0\x00\x10\x44\x4b\x7d\x78\xbd\x61\x87\x3b\x6c\x2e\x97\x4c\x14\x22\xf2\xb6\x83\x1c\x60\x0c\xd1\xbd\xa7\x44\x5a\xd3\xe8\x2e\x7a\xda\x95\x06\x37\x9d\x49\xfb\xed\xa2\x68\xd2\x8c\xe7\x16\xcd\x94\xce\x80\xc4\x01\xc6\x5f\x34\x94\x46\xb6\x0e\xe0\x09\x9a\xe7\x42\x0e\xf8\x59\xc8\x91\x80\xf3\x39\x9f\x23\xf8\x79\xee\xae\x14\x52\x39\x60\xe5\x8a\x24\x00\x0f\xc2\x70\x2a\xfb\x20\x82\x57\x1c\x13\xa9\x04\x21\x1f\x03\x4c\x56\x22\x79\x53\xd1\x24\x21\xe4\x2d\x3b\xdb\x16\xa3\x40\x0c\xa3\xc0\xf1\x71\xd9\xc0\x5d\x33\xf2\x81\xc2\x10\x6a\x94\xc4\x7a\x92\xe6\x93\x45\xb2\xd8\x4c\x8b\x78\x7a\x98\x8d\xa4\x95\xc0\x23\x94\x4c\x46\x2b\x4f\xa3\x1d\xb9\x00\xd4\x70\x32\x83\x26\xd0\x64\x51\xae\xb0\x63\xc5\x37\x33\x30\xb4\x8e\xdb\x86\xd9\xc9\x22\x5c\x0c\x61\x70\xa2\xc6\xb8\xb0\x20\x8e\x23\x9e\xe5\x6c\xae\xe1\x72\x6e\x34\xe7\xb6\xde\xd1\x9d\xa2\x05\xc2\x61\x92\xb8\x3f\xf2\x3b\x29\x1b\xed\x76\xe4\xa1\x19\xd2\x01\xa7\xc4\xb2\x1c\x62\x36\x36\xc9\x11\xbb\xda\x69\x06\x81\xa2\xab\x80\xab\xd9\x6a\x36\xaa\xd2\x94\x28\x26\xa3\x8e\x5d\xc2\x60\x0e\xd4\xcc\xdc\x9f\x5a\xc3\xd0\x48\x89\x5c\xed\xa4\xf5\x72\x56\xce\x77\xb5\x07\xb9\x3b\x78\x81\x17\x58\x37\x15\xd5\xb9\x2e\x1d\x31\x7b\x6d\x52\xdc\x01\xc7\x08\x7a\xb3\xa1\x65\x65\x45\xca\xc2\xe8\xc0\xc4\x1e\x23\xba\x6e\x2d\x35\xa2\x81\xad\x05\x9d\xd8\x30\xc6\xc9\xd8\x04\x55\x82\xed\x8b\x7d\x75\x6c\x86\xd8\xb1\x5e\x0c\xeb\xd5\x66\x0e\x80\xee\x07\xd1\x3c\x5e\xac\x36\xfc\xcc\x3a\x5a\xdd\x62\x82\x4d\xb3\x6e\xca\x96\x52\xc0\x30\x68\x8d\xd9\x2c\x42\x4f\x79\xfa\x08\xd6\x81\x07\xa5\xe8\x8a\xa5\x26\x88\x35\x81\xdb\xc4\x71\x76\x0b\x42\x15\x66\xe2\x30\xdd\x20\xe0\x90\x9a\x8c\x2a\x84\xc4\x64\xc7\x85\x52\xe7\x63\x11\x3a\x24\x3c\x93\x5d\x0f\x7d\x31\x2a\x86\x30\x45\x10\xd0\x98\x8d\xe6\x0b\xad\x4d\x94\xdd\xb6\xdd\xcd\xa0\x83\x03\x4f\xd7\x65\x27\xce\xe2\x8e\x99\xcd\xf0\xf1\xb4\x6a\x5a\x8b\x04\x87\x51\xb3\x95\x43\x91\x54\xe8\xf5\x8a\x88\xa8\x8d\xeb\x61\x1e\x87\x4f\x67\x50\xe0\xc1\xd0\xb0\x86\xbd\x0a\x76\x30\x20\x40\x70\xad\x76\xa7\x85\x76\xf4\x85\x49\x91\x40\x15\x41\xe3\xa4\x05\x86\xac\x62\x33\xda\x24\x3b\x2c\x65\x81\x24\xdd\xf2\x40\xe4\xe3\xe1\x9c\x9a\x79\x2c\x41\x4d\x26\x9b\x3a\xe5\x87\xe3\x0c\x86\xc6\x07\x08\x76\x16\xbc\xb9\x58\xa1\xbb\xa0\xdb\xcd\xe7\x91\x62\x86\x0d\xa1\x08\xe8\x2e\x5d\xc0\x58\xa8\x74\x13\xb8\xd6\xe0\x69\xba\xab\xeb\x0e\xd5\xda\xd8\x9e\x42\xc1\x46\xd9\xf2\x63\x59\x17\x08\x7b\x51\xf3\x89\x6f\x2c\x78\x45\xa8\xd5\x20\xe6\x88\xdc\xae\x42\x9a\x01\x39\x20\x39\x86\x65\xe1\x18\xc0\xf0\x92\xdd\x63\xd8\xc1\x43\xbc\xd5\x51\xe6\x37\xb4\x0d\xf3\x29\x4b\x73\x19\x20\x4c\x77\x86\x8e\xe0\x4e\x5a\xed\x20\x7e\x4f\xb4\x22\x4f\xc2\xf0\xa9\xdd\x40\x73\xd3\xb6\xfc\x39\xb0\x4a\x0f\x41\x6a\x6f\x58\x13\xa7\xd3\x5a\x94\x8b\x39\x1d\xbb\x86\x21\x90\xeb\xad\xec\x03\x30\x96\x52\xcf\x97\x57\x93\xd9\x6c\xd2\x1d\xed\x15\x8b\xfa\xf3\x92\xcb\xe5\xd0\x5d\xd7\x99\xd2\x00\x38\x43\xe1\x2d\xd5\x4d\x90\x6c\xb7\x83\x52\x86\xb3\xe1\x9d\xd3\x75\xe8\xea\x80\x06\x9d\xba\x55\xa2\x72\x41\xb6\xe5\x52\xc3\x31\x82\x9b\xec\x4d\x72\x0d\x87\x81\x0b\x3b\x84\xb0\xb6\x34\x2b\x90\x1d\xc6\x98\x1d\xc4\xbd\x8c\xf8\x09\xdd\x24\x78\x10\x1d\x4a\xc9\xa0\xf7\x54\xe6\x1f\xb0\xc9\x56\xda\x1f\x6d\x3a\x26\x84\x45\xd8\x25\xa6\xe1\x0b\x6b\x6b\x8d\x0c\xd9\xbd\x27\x2d\xe6\x36\xd8\xea\x61\x9e\xf1\xda\x9a\x05\x42\x63\xe3\x82\x99\x27\x2c\xc9\xeb\x04\x12\xcb\x64\xa6\x23\xa5\x23\x20\x3e\x29\xf2\x8a\x7a\x38\x48\x7b\xd6\x8b\x11\xfa\x60\xe5\x5c\xce\x70\x5b\x4a\xf7\x96\x4d\x23\x89\xe8\x69\xe2\x4b\xb8\x9b\xae\x83\x42\xed\x0c\x86\xa0\xe8\x4e\xcc\x23\x7d\xb1\x14\x11\x9c\xe0\x7c\xa6\x54\x87\xbe\xdf\x2e\xf5\x4e\x30\xd4\x90\x54\x4a\x9a\xa0\x75\x3a\x63\x42\xe5\x80\x1e\x47\xec\x72\xb3\x17\xdd\xe1\x34\x57\x59\xc3\xb3\xd2\xba\x4e\x43\xcb\xce\x72\x8e\x93\x09\xc0\x05\xa9\x7e\xf0\x8f\xdb\x61\xa5\x63\x12\x21\x30\xe1\x9a\x74\xc5\x93\x0b\x88\x35\xc1\x42\x5b\x2e\x23\x8f\x00\x53\x96\xfa\x4c\x38\x51\x52\x68\x07\x73\x74\x03\x00\xe8\xca\x4e\xc2\x97\x6c\x64\x71\x4b\x47\x00\x8b\xda\x75\x15\x36\xc4\x8c\x35\xa3\x78\x0b\x67\x7d\x9a\xba\x41\x2b\x8d\x6c\x26\x3f\x46\x81\x9d\x50\x23\x96\x69\x64\xb9\x56\x2b\xbf\x59\xac\xf2\x52\xea\x6c\x7c\x34\xa7\xe0\x13\x85\x8b\x54\x83\xee\x0d\xb2\x20\x45\x56\x8d\xf4\x26\x69\x4a\x2c\x22\x45\x40\x51\xc8\x9c\xb4\xf2\xd0\x8e\xc5\x39\xb6\x0d\x6d\xbc\x2a\x8c\x92\x87\xda\x88\x07\x82\xaa\xab\x95\x88\x64\xeb\x52\x95\x0b\x5f\x9b\xbb\x35\x2a\x6e\xe2\x98\x4e\xbc\x8e\x81\x59\x25\xe8\x20\x12\xdf\x8e\x83\x13\xed\x17\xe9\x69\x6f\x2c\x16\x5d\xe0\x04\xd9\x30\x64\x4a\x2a\x9c\x67\x89\xd4\x55\x10\x55\xc2\xd3\x6e\xb2\xe2\xba\x64\xa7\x60\x33\x6f\x35\x74\x0d\x43\x95\xe8\x70\xaf\x20\xa9\x52\x32\x85\x3f\xe4\xd4\x3c\x89\x32\x79\xe6\x68\xf5\xae\x15\x0a\x62\xcb\x26\x99\x9e\xf1\xd6\x3a\x89\x57\xd4\x46\xb1\x7c\x57\xa4\x96\x65\x3b\x65\xeb\xcd\xb6\x6a\xb1\xee\x78\x0c\x14\x59\xd0\x5c\x26\x59\xc8\x80\xcc\x34\xd4\x6d\xcc\x99\xb7\x53\xd6\xf1\x11\x0c\x93\x61\xcb\x9f\x50\x8e\xf6\xfd\x68\x55\xa4\xfa\x71\x43\xcc\x44\x24\x9e\x47\x76\x68\xb4\x50\xab\xc0\x80\x92\xeb\x95\x22\x83\x3c\xb7\x4d\x84\xdf\x75\x12\x41\x20\xfb\x8c\x01\x25\x2e\x9d\xb6\xa3\x19\x8d\x98\x93\x9c\xc1\x29\x8a\x72\x93\x06\x9f\x2c\xfc\x93\x2f\xb3\xdb\x6d\x39\xe1\xf6\x38\x9f\xcf\x45\xae\xd9\xcf\x15\xc6\x61\x90\x96\xe1\x1d\xca\xa5\x91\x5c\xdf\x62\xa6\x3c\x0c\xcc\x75\x49\x31\x6a\xbb\xdb\x4d\x8e\x3e\x2b\x9e\x24\x2c\x8a\xc4\x79\x68\x83\x55\xa7\x3a\xa0\xe9\x08\xc4\x34\xe2\x04\xd4\x6c\x86\x75\x32\x1b\x09\xb6\x9e\xe7\x1a\x0b\x74\x99\x58\xc8\x29\x30\x13\x9c\xc7\x87\x3b\x8f\x8c\x5d\x30\xf7\x58\x0f\x65\x6c\xf2\x30\xdb\xb9\x1b\x59\x5c\x4d\x0f\xd5\xa8\x24\xc6\x52\x3c\xdf\xae\xf0\x3c\x22\x9a\x8e\xf0\xe7\x6c\x26\x88\xae\xc3\xcd\xa7\x28\xdd\x20\x8a\x30\xd6\x0f\x5a\xcb\x02\x9e\x66\x55\x82\x5c\x24\x06\x4b\xda\xc7\x4d\xa3\x3b\xcd\x3c\xdf\x88\x3c\xa7\xa2\x66\x6a\x04\xc5\x01\x19\x3a\x40\x92\xdb\x88\x9c\x98\xe2\x7c\x14\x8e\x8f\x4d\x38\x1e\x2d\x0c\xbc\x2a\x38\x61\x88\xcc\xf9\x13\xbb\x38\xe6\x9a\xa6\x20\x94\x65\xc5\x7c\x45\xd3\x62\xab\x40\x9c\xc1\xf3\x9a\x1a\x33\x80\x71\xad\x05\x3e\xd9\x67\x8c\x5f\x36\x05\x6d\x61\x1b\x64\x4c\x1d\x31\x0f\xb0\x93\xe9\xc4\x48\xa6\x70\x85\x94\xd3\x54\x8c\xdd\xd9\x6a\x4f\x04\x2c\xb9\x1c\xce\x27\x6e\x9c\xe0\x33\xc4\xc7\x0a\xae\x23\x2b\x78\x74\x62\xb9\x75\x08\x46\x6e\x3b\x97\x47\xac\xe4\x9c\xed\x54\x6d\xce\xad\x43\xdd\x68\xea\x52\xdb\x88\x20\xf3\x8d\x4c\xad\xa3\x1a\x6c\x9a\xb8\x63\xf4\x5c\x55\xc8\x53\x3c\x74\x5a\xc8\xc8\x24\xa2\x83\xad\x70\x86\x1d\x4f\x1e\x45\x0f\xc7\xdb\x76\x18\xd6\x8b\x92\x2b\x25\x75\xa1\xae\xc9\xba\x69\xe8\x00\xb1\x67\x01\x5c\xb7\x54\x09\xa1\xfe\x3a\x6d\xa9\x3d\x34\x99\xb9\xb2\xb0\x0f\x62\x1f\xdf\x5a\x31\x7c\x8c\x42\x9b\x4a\xaa\xe8\xb8\x59\x32\x61\x92\xe8\x8a\xc8\xe3\x86\x29\x45\x44\xae\xc6\xae\x5a\xfb\xb3\xa1\x46\x99\x21\x47\xb9\x9b\xa6\xa2\x8f\x9a\x47\x2d\xe3\xd6\x6a\xb0\x13\x8c\xe1\x2b\x2a\x75\xeb\x05\x19\xc2\x22\x0e\x79\x32\x62\x55\x23\x87\x74\xb9\xe1\x1c\x66\x04\xa6\xf5\x47\x89\x48\xcf\x94\x49\xa1\x88\x6b\x2d\x84\x41\xd5\x49\xab\x94\x5e\x2e\x84\x8d\x81\x56\xa7\x02\x40\x31\x73\xe8\x22\x21\xc2\x88\x25\x87\x44\x18\xb1\xa6\x47\x65\x43\x6d\xc0\xa4\x89\x13\x64\xcb\xd0\x11\x2d\x51\xdb\x7d\xb7\x5e\x75\x09\x75\xd0\x1a\x9c\xa5\xd2\xed\xbe\x1b\x4d\xca\xc6\x65\x1d\x21\x1f\x8d\xa1\x7d\xe5\xc1\x11\x62\xd4\x45\xa5\xe8\x5c\xaa\xae\xf8\x0d\x85\x99\x33\xc4\xdc\x6d\x9c\xad\x55\x4d\x38\x7c\x56\xc1\x22\x3e\x5a\xf0\x23\xcb\x67\x26\xb1\x08\xb6\xe5\x72\x46\xec\xc2\x0d\x3d\xaa\xab\x60\x43\x77\x0c\x21\x40\x5a\x0e\x82\xc2\xa8\x53\x00\x68\x8f\xce\x71\x4a\xc6\xb3\xd3\x49\xe6\xa0\x5d\xa4\xee\x53\xb8\x9a\x97\xd6\x6e\xed\x80\xd9\x1e\xdb\xec\x8f\x11\x8c\x98\x95\x37\x41\x8f\xd4\x94\x39\x59\x0d\x6c\xa2\x86\x5d\x2b\x25\x00\xf8\x14\xe3\x12\x2a\x85\x32\x06\x9d\x52\x0b\xb8\x3b\x30\x29\xd6\xa4\x21\xdc\x3a\xb4\xaa\x66\xda\x31\xa2\xdb\xd6\x25\x88\x65\x18\x33\x29\x09\xe2\x05\x21\x8a\x10\x1b\xb8\x11\xc6\x56\x5a\x90\x71\xf4\x50\xab\x63\xad\xa6\xe2\xd2\x01\x3e\xa8\x97\x2d\x09\xc6\x9b\xe5\x88\x5d\x41\x2b\x7b\x1a\x78\xeb\x92\x05\xbe\x2a\x9f\x00\x62\x75\x4c\x31\xe5\xe6\x6c\xc0\x92\x75\xe4\xb1\x9e\xbb\x4b\x44\x29\xdf\x4e\x1b\x3f\x3e\x21\xe8\x70\xbf\x89\xb4\x72\x6f\x26\x33\x12\x31\xf7\x4b\x5e\xf5\x99\x23\x5b\x83\xd5\xe4\xb0\x15\x01\xa6\xe5\x4e\x03\xb2\x61\x96\x51\x52\xd3\xec\x05\x8d\x45\x65\xea\x58\xc3\xb1\x8f\xc5\x64\xda\xf8\xe3\x99\xd3\x3a\x6a\xce\x3b\x53\xd7\xe2\x57\x3e\x20\x3d\xaf\x06\x66\xe0\xef\x90\x95\x3b\xe6\xf7\x27\x11\x14\x9b\x11\x3c\x8f\xad\x69\xe9\xa3\x98\x3e\xd2\xc8\x1d\x44\xab\x15\x22\x33\x24\xc9\x84\x6b\xd3\x61\x86\xd8\x30\xd2\xf0\x38\x20\x72\x4a\xdd\x00\xf1\x04\xd1\x87\xe1\x0a\x6c\x4c\xc0\x99\x2c\x51\xcf\xa4\x8b\xce\x7b\x47\x27\x16\x77\x93\x13\x88\x26\xd3\x51\xa7\xd6\x9b\x69\x38\x31\xc7\x53\x4b\xca\x48\x30\x6e\xdd\xf5\x74\x89\xc2\x35\xae\x29\x2e\xea\x36\x93\x11\x53\xaf\x56\x87\xb4\xc6\xa8\xa4\x9e\x2c\xf1\x99\x52\x76\xeb\x45\x78\x9a\x1f\xfd\xb9\xb2\x13\xf1\x09\xbb\x5f\xba\x5d\xe2\x8f\xf5\x71\xa4\x2c\x40\x89\xa0\xcd\x1c\x6c\x9a\xd0\x23\x1a\xdf\xf7\x33\x5b\xd4\xa9\x49\xc6\x8d\x27\xbb\x84\x66\xb7\xfb\xa3\xee\xef\x92\x82\xd0\x3a\x6c\x36\xda\x35\xa3\xa8\x5c\x08\x02\x3a\xce\x13\xbf\x93\x90\x86\x2c\x19\xc7\x1a\x4d\xc6\x9b\xd6\xd3\x72\xcb\xed\x5a\x9b\xdc\xd5\x10\x0b\x36\x8a\x3f\x46\x71\x4f\xd5\x90\x2e\x80\x5d\x62\xcc\x6c\xa8\xbd\x80\x69\xba\x6f\x34\xb2\x42\xeb\x59\x85\x00\x86\xa4\xe9\x16\xd3\xa7\x56\x46\xf8\x34\x30\x1a\x37\xd3\xd3\xc0\x63\xd2\xf5\x7c\xd1\x55\x60\x78\xc2\xb5\x3d\xdc\xb5\x24\x77\xd2\x1b\x0e\xf2\x92\xd2\x5e\xa5\xa3\x94\x99\x1e\x4e\x47\x86\x29\x11\x0a\x26\xa7\xc8\xc8\x4a\x43\x6c\x9f\x1f\x86\xa2\x09\x43\x34\x39\xd9\xa7\xaa\x0f\xef\xa0\x91\x4f\x8c\x67\xa7\x4d\x03\x13\x4e\x6a\x12\x3b\x8a\xf3\xc4\xc2\xb4\x17\xeb\x31\x20\x81\xc9\x24\xc9\x3e\x0f\x27\xe6\x21\x4f\x48\x65\x2d\x1e\xd0\xc4\x5e\xf8\x9c\x74\x60\x1c\x5d\x9e\x88\x74\x91\x8f\xac\xf6\x90\xa4\x16\xc2\xb7\x08\xc4\xf1\xeb\x25\xc1\x15\xa3\x43\x5e\x76\xf1\x74\x84\xc2\xbb\x26\x9f\x60\xd6\x92\xc4\x56\x4d\x12\x08\xa4\x0c\xf4\x35\x39\x07\xf5\x48\xac\x97\x71\x11\xd2\x32\x7d\x1a\x77\x36\x63\xd7\x8b\x80\xf5\xc7\x32\x19\x2f\xbd\x7d\xe5\xcd\x4c\x99\x23\x9d\xc5\x30\xc4\xa2\x29\x8c\xeb\xbc\x0b\x6f\x2d\x8b\xa5\xb5\x79\x33\x27\x4d\x61\x7a\xea\xf6\x0d\x16\xe0\x47\x96\x49\xc0\xe6\x94\x0c\x67\x6e\xbb\x5b\xd2\x08\x5d\x39\x87\xa8\xd5\x8c\x95\xe6\xba\xc8\x81\x01\xb9\xb2\x5a\xda\x74\xe5\xb4\x32\x08\x01\xa2\x79\x31\xe9\x09\x47\x85\xd2\xd4\x6c\xb3\xd6\x4c\x7e\x3b\x0a\xb2\xc9\x48\x39\x20\x11\xc8\xb7\x0d\x55\xe4\x41\x21\x29\xb4\x8b\x70\xf9\x08\x48\x44\x7d\x0a\xc2\x39\x5b\x56\x55\x4e\xe0\x44\x16\x84\x7a\x72\xb0\x72\xdf\x8b\x71\xb1\x1d\x1e\xb2\xba\x48\x4d\x72\xeb\xe8\x3e\xde\xe4\x0b\xc7\xd1\xed\xd2\xb0\x0c\x72\x01\x78\xdd\x0a\x04\x5b\xd7\xf2\x51\x70\xd4\xd6\x64\xbe\x49\x81\x43\x73\x52\x39\x47\x90\x5d\x5b\x1b\xa6\x72\x18\x8b\x00\x73\x37\x23\xbe\x26\xe7\xd5\xa8\x0d\x68\x70\x58\x47\x07\x9c\x23\x71\x11\x9a\x9b\x5b\x03\x81\xb7\x0b\x7e\x1c\xcc\x50\x37\x89\x6d\x9e\x9b\xcf\xb4\x20\x3a\x75\x5b\x7a\xe6\xcb\x48\x61\x12\xe3\x38\x57\x7d\xdd\x41\x48\x6d\x4a\x22\xa9\xdc\xad\xf4\x23\x49\x45\x68\x36\x09\x4f\xa5\xae\x23\x7e\x52\x32\x8e\x4a\x92\x29\x6f\x95\xb9\x77\x18\x13\xd5\x4a\x8f\x30\x56\x6d\x8b\x39\x19\x08\x56\x9e\xd4\xb0\x8e\xfa\x8d\x50\x8a\xab\x0c\xb5\x60\x1a\xc2\x66\x13\x40\x2f\x98\x05\x3e\xa5\x45\x96\x39\xcc\x5d\x18\x6e\x91\x08\x9f\xf9\x66\xa3\x40\xc6\x5a\x9f\x1f\x13\x20\xb7\xd4\x10\x9d\x5b\x96\x9f\xb5\xc3\x2a\x0f\x6b\xd5\x1e\xb3\x12\xc9\x73\xfc\xb4\x4e\xda\x6c\x14\xd0\x0b\xa9\x3d\xaa\xcc\x8a\x0e\x6b\xae\x75\x94\x51\xe8\x6e\x96\x9d\x71\x38\x34\xa9\xbc\x21\x2c\x3f\x28\xa6\xc5\x28\x81\x85\x2d\xeb\xb7\x5d\x09\x65\x4b\x7a\xa8\xc1\x25\x71\x0c\x7c\x3f\x04\xce\x49\x2a\x20\x02\x86\x21\xe6\xa4\x77\xe5\x8e\x42\x68\x45\x9c\x28\x0c\x17\xed\x35\x7f\x8f\x12\x4b\x2d\xf1\xd3\x40\xd7\x37\x8e\x8b\x2e\x71\x35\x27\xf4\x1c\x27\xc7\x94\xc1\x02\x22\xb1\xe9\x62\x04\x4d\x17\x50\x51\x85\xf3\x58\x03\x94\x2e\xe0\xdc\x34\xe2\xa7\x1b\x8f\xa2\xbc\x12\x16\x40\x83\x4d\xba\x95\xae\x16\xa6\x9e\x8e\xaa\x9c\x97\xf8\x03\x8d\x6b\x81\xa4\x02\x32\x85\x94\x0e\x9c\x7d\x2b\x38\x9f\x80\xc4\xe7\xd0\x3c\x58\x47\x27\x8f\xc0\xad\x83\x1c\x82\x92\xb1\xaa\x88\x91\x2c\x0e\x02\xd9\x44\xf5\x4f\x95\xe1\x7b\x7c\x26\x1b\x44\xb4\x83\x58\x65\x5e\xb4\x46\x60\x10\xcc\xfc\xc0\xee\x51\x3c\x4c\xd4\x15\x96\x97\x8c\x0e\x4e\xb1\x49\xaa\x74\xb9\x56\x29\xb7\x46\x4f\xd3\xf1\x7a\x29\xd7\x51\x7d\xaa\x12\xce\x6d\x8c\x03\x56\xa9\x7c\x36\xea\x8a\x8a\x43\x78\x5d\xdc\x87\x80\xef\xb6\x05\x01\x03\x30\x35\x95\x94\x5c\x2f\xd3\x85\xb4\xc4\xf8\x9a\x39\xd1\x21\xb7\x9f\x02\xcb\x4b\x67\x86\x83\x34\x0b\x84\x8f\x94\x4a\xf4\xe7\xf1\x6e\x4f\xb1\x44\x43\xa9\x0b\xa1\x6b\xf2\x89\xab\x58\x0b\xc8\x36\xc3\xa3\xd5\x00\x90\x5b\xf1\x3a\x05\xab\x0a\xd1\xda\x5a\x35\x09\x21\x73\x48\x30\x24\x04\xbd\xe5\x7c\x91\x38\x21\x95\xad\x03\x89\x0c\x8d\x30\x0a\x63\x3d\x0a\x53\x04\x66\xb6\x4c\x4a\x77\x58\xdb\xca\x8b\xb9\xe8\x8f\x8b\xdc\x4b\x36\xb3\xdc\x96\x13\x6c\xd2\xa2\x54\xbc\x58\x88\xfa\x98\xb3\x38\x4e\x6b\x24\x9d\x2c\x6c\x1a\x18\xb4\x92\x55\x0a\xee\x38\x19\x25\xf3\x80\x9b\x50\x73\xa2\x28\xdb\xa9\xb8\xc2\x32\x28\x3d\xc2\xc6\xcc\x65\x77\x18\x01\x9c\x21\xb7\xf7\x6b\x09\x41\x5c\x48\xca\xd9\xdd\xce\x2c\x9a\x51\x58\x20\xb3\xb5\x18\x8e\x1a\x17\x5f\x91\x53\x79\x41\xb1\x1b\x76\x9e\x70\x6c\x31\x9c\x4f\x5d\xbf\x94\x24\x3f\x3b\x49\x3c\x31\x9b\x60\x8b\xbd\x02\x0b\xea\xc2\x64\xcc\xaa\x3e\x25\xad\x49\x5a\x92\xae\x57\xe2\xb4\x43\x43\xb8\xc1\xa7\xce\xca\xd7\x34\x71\x45\x51\xf8\xd8\x93\x37\xc3\x64\x3e\x19\x4f\xd5\xe4\x70\x80\x0e\x80\xa1\x15\xa9\xe1\x64\x15\xa8\x96\xe1\x12\x20\x94\x39\xd9\xf7\xb9\xe9\x61\x02\x39\x30\xd8\xab\x24\xed\x5b\x84\x9f\xc0\x9a\x6f\x61\x65\x95\x1d\x85\x13\xae\x94\x87\x6e\x41\x88\x7b\xa9\xf1\x14\x35\xdc\x04\x4b\x89\x69\x94\x10\x21\x13\x7e\x1b\xd0\x28\xa1\x25\xb0\x50\xe6\x4b\x19\xc9\x9d\x42\x34\x6c\x3d\xa2\xf6\x30\xb2\x4b\x3b\x1f\x59\x21\x59\x1c\x1d\x82\x12\xc2\xed\xc9\xb0\xcd\x3c\x80\x2c\x04\xb2\x2e\xb8\x22\x48\x76\x68\xc1\x77\x8e\x3d\x73\x62\x44\x4f\x30\x1d\x39\x58\x19\x38\x2c\x1b\x03\x1d\x01\x75\x96\xd3\x6e\x0a\x50\xce\xaf\x45\x3c\x62\x16\xe4\x6c\xb4\x35\x17\xab\x30\xe4\x4d\x6e\x5f\xd1\xdc\x14\x23\x7c\x7f\x2d\xd8\xf9\x59\x83\x5a\x8c\x46\xab\x36\x4c\xe3\x15\x2f\xb5\xb3\x6e\x1a\x4d\xc0\x96\xd0\x35\x42\x55\xa2\x22\x9e\x56\x47\x68\xae\xbb\x14\x47\xc6\x51\x99\x07\x4c\x79\x5c\x40\x96\xed\x08\x8b\x74\xe8\x2f\x30\x03\xa1\x38\xb2\x90\x6a\x79\x73\x54\xb3\x40\x5f\xd2\x68\x91\x76\xf8\x50\x3e\x38\xee\x6a\x59\x19\xa5\x32\xa7\x89\xad\xe4\xa7\x5b\x37\xda\x6b\x86\xa0\x5b\x6b\x7f\x7d\x50\x52\x7c\xc7\x02\x42\xca\x0c\xc2\x59\xd2\x68\x57\xb1\xab\x34\x5b\x4c\x96\x60\xc7\x82\x25\xab\x4e\xdd\x55\x47\x23\x65\x2b\xba\x25\xb7\x38\x1c\xcb\x79\xb1\xc9\x1c\x7a\xae\x98\x1b\xa6\x1d\x4f\x76\x7a\x37\x3a\x4d\xd0\x99\x37\x31\x1b\x1c\x50\xfb\x3a\xd9\xa2\x80\xcf\xd6\x07\xb4\x25\xab\xa2\x71\x03\x44\x93\x95\x6e\x82\x9b\xc9\x22\xb7\xb8\x19\x1b\x56\xec\x5e\x23\x49\x1b\x11\x2c\xb0\x14\xe6\xd9\x66\x3a\x8d\xf5\x0c\xca\xc9\x24\x0e\x08\xa0\x9a\x62\x02\xf6\xf4\x64\x4c\xdb\x38\x99\x2d\x4f\x5e\x41\x99\xb5\x6e\xb1\xca\xa6\x09\x0f\xe8\xca\x4e\xa7\x05\x7c\x5a\x46\x8e\x08\xc2\xc3\xf1\x08\xe5\x0d\xc3\xac\x93\x5c\x3e\x6c\xe3\x71\x58\xda\x87\xcc\x30\x2a\x7b\x5f\xf2\x3b\x02\xc9\xc3\x4d\x43\xd2\xa1\x1b\x9c\xd8\x7c\x0c\xaf\xd8\xbc\x76\xd3\x5d\x39\xf5\xa9\x04\xdf\x22\x93\x76\x03\xb5\x1b\x22\xa5\xd7\x38\xb6\x3f\xa2\xd2\x3e\x9b\x60\x30\x8a\xb4\x90\xd7\x39\xf8\x84\x39\x8d\xc5\x25\xcc\x49\x1b\x0b\xb2\x5a\xe2\xc8\xd1\x63\xcf\x23\xb3\xe3\x36\x45\x98\x4d\xb7\xdf\x1c\x2a\xbc\x2e\xe8\xd2\x88\xe7\xe5\x4a\x9e\x2e\x19\x76\x85\x28\x2b\xd8\xf5\x3a\xbc\x3c\xc2\xb3\xf9\xd4\xaa\x85\x69\x73\x40\x6b\xa1\xad\x22\xa5\x84\x70\xdc\x59\x96\x13\x0f\xab\xc6\xc3\x25\xbd\xd9\x34\x06\x67\xe8\x27\x6f\x98\x41\x3b\x28\x4d\x37\xa5\x36\xb4\xe2\xa2\x09\xd9\x99\x2b\xec\x17\x39\xa4\x59\x46\x90\x29\xcb\x13\xcc\x6f\x47\xab\x62\xb5\x8f\x4f\x3b\xd0\x51\x61\xb3\x43\xa7\x47\x9f\xc2\x81\x01\x81\x5a\x1d\xb9\x87\x91\x5d\x63\x4c\xad\xc2\x1c\xc2\x11\x63\x02\xdb\x8a\x93\xc5\xa4\x29\xd7\x18\xc7\xab\xc4\xfe\xb8\x45\xe3\x12\xf1\xb7\x98\xe9\x73\xe1\x29\x41\x82\x10\x5e\x72\x09\x01\xe7\x23\x31\x0f\x91\x99\x54\x40\x8d\x47\x1c\x6a\x88\x8c\x43\xd6\xac\x5a\xb8\xa8\xc9\x7c\xbe\xb6\x6a\xcc\x91\x28\x58\x75\xbc\x1a\x99\x86\x99\x1e\x32\x81\xb3\x19\xa2\x05\xab\x9d\x10\x99\xde\x68\x6e\x23\x18\x0b\x63\x42\xc0\x18\x3a\xae\x2a\x6c\xc7\xa6\xc7\x84\x51\x64\xb1\x9e\x1e\x11\xcc\x06\xb4\xc2\xed\xb5\x13\x39\xe2\x40\xc5\xcf\x5d\x1f\x2e\x27\xd2\x7e\x91\x6c\x59\x93\xd8\x18\xe8\x4c\x33\xaa\x71\xcd\x18\xc4\x10\x33\xc4\x8d\x55\x31\x4d\xc1\x35\xe2\x12\x60\xee\x71\xeb\xcc\x5b\x1b\x30\xa6\xbc\x9d\x2d\xe8\x91\x0c\x18\x6e\xb2\x8c\x66\x8e\xef\x82\x93\xe4\x2d\x50\x92\x89\xd5\xe9\x66\x55\x6c\x29\x3d\xb3\x34\x12\x8f\x39\xaf\x35\x38\xbe\x41\x56\x33\xae\xa1\x54\x87\x30\xda\xce\x90\xb4\x99\xec\xfb\xc7\x6d\x58\x1f\xd7\xd2\xde\x9c\xa5\xe5\x8a\x68\x93\x05\x89\x54\x5b\x07\x9a\x0f\x1b\x90\xf3\xeb\x13\x2b\x6a\xd2\xb6\x75\xf6\x8d\x49\x40\x60\xe1\x13\x1a\xb9\x9c\x42\x6b\xcd\xcc\x6d\x44\x06\xb2\xae\x51\x35\xe2\xb1\xd0\xc9\x49\xf2\x11\x21\x55\xa7\xb9\xa1\x26\x48\x81\x13\xa1\x3f\x6e\xcc\x84\x3f\x98\xcd\x72\xa9\xed\x38\x7b\x53\x96\x28\x36\xa1\x68\x4e\x31\x44\x93\xd1\x65\x8e\x4e\x53\xaa\x91\xe6\x44\x93\xcd\x67\xbb\xdd\x70\xb6\x82\xaa\x8d\x36\x42\x09\x2b\x34\x2a\x52\x59\xa8\x63\x6a\xda\x88\x48\xa7\xb4\xe3\x1d\x6f\xc0\x52\x37\x9b\x0d\xf7\xae\xd4\xe5\xd8\x26\x47\xed\x59\x68\x08\xb1\x16\xdb\x27\x99\x51\xa6\xb3\x95\xb9\xd2\xf2\x69\xb3\xe0\xc5\x53\x89\x57\x5c\xb5\xac\x4d\x76\x04\xed\x0e\xc7\x76\x36\x31\x59\x4e\x96\x91\x8d\xb3\xd3\x2b\x25\x89\x74\x3f\x3d\x4c\xa0\xa9\x5b\x6b\xd9\xb0\xb0\xe7\xd2\x7e\x08\x62\x02\xd1\x52\x20\x25\x33\x73\x2c\x61\xa3\x0d\x3f\x12\x41\x19\x45\xd3\xb8\x9a\x6e\x45\x29\x11\x3b\xa9\x61\x69\xf3\x22\xb7\x93\x2b\xa5\x7b\x53\x19\x67\xe4\x98\x00\x94\x30\x6a\xa8\x99\x37\x75\x51\xca\x18\x8f\x24\x1f\x73\x45\x61\xae\xd7\xb5\xae\x3b\xe4\x91\x89\x9c\x15\x80\x57\x0d\xa9\xa4\xa6\x44\x01\x3e\x03\x18\x70\x97\xca\x69\x68\xa7\x73\x40\x90\x60\x22\xcd\x8e\xec\xb9\xce\x2d\xda\x29\x5e\xba\x3e\x51\x6f\x93\x51\x61\x8e\x38\xd2\xc6\x13\x78\xaa\x46\x43\x2f\x15\x35\x19\x41\x00\xea\xcf\xa7\xc4\x56\x90\x1c\x92\x48\xf2\xce\x07\xaa\xbf\xc7\x71\x71\x02\xc1\x99\xcd\xef\x36\x79\xb2\x53\xb0\x6a\xd4\x9e\x90\x09\x58\x97\x3a\x13\xe8\x9c\x12\x9f\xbc\xc4\x91\x1c\xd7\x9b\x49\xb9\xc1\xf2\xbe\xbd\x4e\x47\x8c\xdd\x04\xfe\x61\xb1\x0b\xa2\x44\xda\x7b\xe8\x38\xb5\x12\xe5\xd4\x6e\xe4\xca\x5b\x25\x3b\x1d\x6b\x8d\x8c\xc9\x93\xad\x8f\xae\xcc\x4a\x5c\x0f\x8b\x62\x0c\x61\x9e\xb7\x19\xe5\x92\x7d\xa0\xfd\xd3\x9a\x57\x03\x36\xe2\x67\x79\x8b\xce\x26\xca\xc6\x75\xd3\x32\x0c\xd7\x5b\xb2\xa9\x17\xc7\x91\x1e\xf2\x33\x7b\x03\x6f\x4d\x95\x88\xe9\x49\x6a\x8c\x24\xd3\x43\x5d\x70\xa0\xc0\x04\x9d\x74\xf1\x0c\x2f\x47\x1c\xb0\x54\x2e\x13\x8e\x33\x86\x4b\xd8\x0a\x2d\x96\x93\x9c\x2a\x27\x4b\x1c\x8e\x47\x6b\x83\x93\xbc\x52\x69\xd8\xa9\xb6\x2d\xd1\x83\xdf\x1c\x37\xe1\xb8\x16\x8a\xd9\x8a\x80\xea\x69\xbd\xcf\x12\xd5\x13\xe2\x2c\xb5\xe6\x88\x92\x28\xf1\x18\x38\x2b\xd6\xd1\x80\x4c\x4e\xe7\x04\x5c\xcf\xe9\xed\x48\x59\x69\x59\x80\x8f\xf7\xd8\x36\x20\x5b\x07\x0b\x7c\x6c\x46\xf8\xe9\x2c\xdd\x96\xcd\x2a\x37\x08\x61\x84\xd1\x85\xa5\xa0\xd5\x41\x32\xb0\xd1\xd4\x33\x5a\x7c\x83\x36\x9d\xa2\xb4\xa8\x30\x44\xb0\xc3\x10\x3d\xd1\x9b\x6c\x44\x1c\x9d\xe2\x34\x9b\x71\xb8\xd7\xd4\xdc\x28\x32\xdd\x72\x3f\x56\x39\xa9\x35\x46\x59\xb2\x91\x9a\x3c\x50\xc7\xf5\x3e\xf3\x03\x91\x6a\x10\x1a\x1c\x37\xf4\x31\x53\x7d\x6d\x07\x84\x62\x67\xeb\x22\x98\x31\xc8\x5e\x9e\xb8\x98\x8b\x39\x41\x84\xa4\xfb\x4c\x86\x66\xdb\x29\xb6\x0c\x05\xc4\xd0\x52\xd6\x4b\x5d\xe9\xe0\xa6\x0b\x97\xe3\xcc\x89\x80\x99\x3c\xb2\x9c\xe6\xb9\x17\xb6\x5b\xcf\x11\xcd\xb0\x65\x72\xd6\x5e\x52\x1c\x94\xe8\x48\x8a\xe5\x6e\x3c\xb5\x67\x29\xb4\x6c\xf9\xe9\xa4\xde\x1f\x27\x08\x86\xb8\xd2\xd4\x3c\xb2\x8b\x61\x52\x4c\xbb\x75\x69\x12\xb1\x55\x58\xa7\x44\x53\x05\x5b\x8f\xe5\xe5\x02\x18\x19\x7c\x4c\xda\x92\x6b\x49\x03\xa9\x16\x1e\xdf\x95\x13\x74\x9b\x4d\xc1\x36\x53\xd9\xc9\xf0\x50\x64\x6a\xb5\x50\xa7\xf5\x68\x3c\x59\x75\x27\x61\x3a\x9e\xcf\xb2\x16\x43\x4f\xfb\xf5\x30\xd6\xc7\x70\xa9\x15\x26\x13\x24\xf2\x61\x6d\xa9\x73\x57\x4d\xac\x43\x6e\x58\xf1\xc1\xc0\xb8\xce\x69\x23\x6b\xec\x1d\xb5\x35\x93\x7b\xdb\x75\xa2\xa1\x50\xb5\x1f\x8b\xcc\x64\x2c\x55\xee\x56\x5d\x8c\x87\xfe\xa9\xa3\x36\x5a\x6c\x21\x81\x40\xcf\xe4\x59\x41\xcf\x8b\x42\x98\xd6\xf4\xc2\x73\x86\x86\x03\x6d\x1d\x9e\x3b\xee\x94\xe6\x24\x0e\x9b\x3c\x2c\x4e\x68\xa9\x8f\xb2\xfc\xa8\x1c\xcc\x8a\x74\x6a\x5d\x20\x54\x81\x37\xe5\x1d\x2c\x77\x0e\xb3\x41\x48\x65\x89\x28\xce\xd4\x5d\xa5\xd4\xe8\xc0\x5b\x93\x2c\x32\x04\x92\x35\xdd\xa9\x81\x4e\x60\x45\x71\xc4\x99\x0f\x80\xd7\x38\x30\xba\x2d\x17\x2c\x34\x4f\xc9\x1d\xb4\xc9\xe1\x55\xc2\x94\x4c\x45\x13\x75\xb2\x38\x94\xe5\x34\xd3\xb8\xcd\x2c\xee\x74\x86\x94\xf9\x59\x01\xc2\xbd\x62\xcc\x50\xa3\xda\x6b\x2d\x7b\x3a\xd4\x87\x5c\xe8\x16\xfb\x14\x62\x6a\xa8\x2d\x85\x93\xbe\xe8\x16\xdd\xa9\x0d\xea\x4d\x1a\xa9\xcb\xc5\x78\xbc\x4e\x4d\x85\x80\x84\x94\xa4\x96\x27\x97\x5d\xc1\xae\xd5\xe5\xa4\x3e\x59\xaf\xf5\x1a\xcc\xbb\xb6\xd9\x1f\x63\xd3\x9a\x39\x8b\x75\x82\x3b\xdb\x56\xd4\x73\x0a\x3d\x46\x07\xb9\xeb\x22\xa3\xa1\x75\x8e\x9c\xcc\xb7\x70\xb8\x91\x8f\x5e\x87\xed\x54\x33\x5e\x2b\x88\x69\x2d\x6a\x5d\x3f\x46\x26\xdb\xe0\x23\x0c\xe2\xe7\xc2\x8c\x16\x5c\xad\x70\x35\x84\xda\xa2\xda\x7a\x46\x4a\x63\xca\x9b\xab\xa7\x80\xf5\xaa\xf5\xc6\x38\x48\xbb\xe3\x06\x1c\x26\x09\x72\x34\x67\xed\x91\x58\x43\xe8\x54\x39\xf2\xd8\xc9\x5f\xe1\x8e\x8d\x09\x4e\xce\xeb\xfa\xa4\xa1\x15\xd8\x00\x32\x71\x10\x50\x16\xa6\x14\x0b\x0a\xca\x9c\xf2\xa6\x43\xda\x14\x4a\xb9\xb4\x8c\xa1\xe1\x4f\x32\x61\x29\xec\x4f\x73\xcf\x2f\x37\xcb\x9a\x91\x68\x0c\x41\xcd\xa6\x80\xe7\x53\xc6\x43\xf3\x03\xbe\x3b\x70\x3b\x2b\x91\x8f\xfb\x2d\xbb\xb5\xc6\x60\xde\x51\xcb\xe4\xfa\x0f\x6d\x35\x88\x85\x46\xba\x36\xd1\x4e\xad\x83\xb2\x00\x00\xc0\x6f\x14\x66\xcd\x2a\x91\xb9\x51\x62\x29\x59\x9e\xac\x35\x83\x58\x32\x38\x89\x14\x8d\x2e\x34\x80\x2e\x34\xb1\x31\x28\xba\x95\xf6\x7a\x23\xed\xc1\x69\xa1\x01\x44\xda\x83\x46\xb2\xd5\x88\xf4\x01\x00\xa4\x81\x28\x46\x80\x58\x73\x06\xb1\xb4\xbc\xda\xa2\x4a\x6e\xa5\x11\x10\xf7\xa0\x15\x4f\x48\x2b\xaa\x48\x23\x1a\x72\x2b\x52\x59\x27\x51\xd9\x69\x49\x22\xcd\x92\xca\x1a\x71\xb9\xb5\xa7\xc4\xe5\x7c\x16\xa8\xba\x21\x29\xc2\x88\x34\x39\xee\xfb\x87\xa5\x4e\x96\x3a\x76\x05\xbb\x76\xe5\xf5\x06\xbd\xca\x6b\x2b\x38\x8f\xed\x30\xed\x0d\x7a\x5a\xed\x0d\xee\x50\xf4\x0e\xd4\xfe\x1d\x8a\x0c\x27\x77\xc8\xf8\x0b\x8e\x7e\xc1\x86\x77\x10\x82\x20\xc8\xf7\x51\x06\x76\xea\x7b\x71\xe6\xc3\x47\xaf\x28\xc3\x2c\x7d\x8f\x78\xf8\x30\xf9\x91\xd6\x9f\xf1\x74\xe6\xe3\x17\x64\xfa\xcb\x70\xfc\x5d\x04\x7e\x58\xc1\x2c\x0d\xa8\xf7\x4d\xfd\xb0\xba\x2b\xbc\xe3\x2f\xd7\xfc\x6c\x17\x88\xfe\xc0\x7b\xf0\xda\x3c\x2b\xaa\xf2\xf1\xf7\x4b\xeb\x2f\xd9\x20\x0e\xb7\x5f\xc2\x6f\xdf\x06\xaf\xef\x96\x1b\x14\xfd\xdf\x7b\x75\xe9\xdd\x95\x55\x11\x3a\x55\xef\xeb\xed\x9e\x34\xd7\xdb\x85\xa9\xf7\x7c\x97\x5d\x35\xe8\xfd\xfd\xef\x5e\x29\x5e\x32\x8c\xf5\x06\xbf\x1f\xed\xb8\xf6\xbe\xfc\x84\x7c\xeb\x0f\xaa\x07\x92\x05\x8a\x4a\x6b\xea\xe3\xef\xdf\x06\xd5\xc3\xed\x72\xf6\xbf\xdf\x4a\x1f\x5f\xea\x1f\x88\x57\xc0\xbf\x22\xbf\x3d\x7e\x7e\xd7\xd8\x7f\x57\x97\xab\xc6\xfe\x7b\x77\xb9\x69\xec\xbf\x8b\xcb\x45\x63\xff\x9d\xfe\xc1\x3d\x63\xff\x7d\xfc\xff\xd8\x35\x63\xaf\xe4\xf0\x00\x1e\x5f\x6e\x0c\x7b\x5d\x4e\xdc\x6e\xf9\x7c\x91\x18\xfe\xdb\xe3\xf7\xae\xf3\x0a\xf7\xff\xe4\x75\x5e\xaf\x29\x92\xaf\xc6\xea\xd7\xd1\x99\xd8\xbf\xfc\x1a\x9c\xd7\xe4\x94\xf7\xbd\xf9\x57\xdc\xa8\xf5\x9a\x80\xfc\xf8\xef\xbc\x14\xeb\x35\x25\xe1\xf1\x5f\x77\xc1\xd5\x6b\xbc\xe6\x87\x01\xff\x57\xde\x55\xf5\x9a\x12\xfd\x7a\xec\xc7\xbf\x3d\xfe\x3b\x6f\x96\x7a\x4d\xd7\xfa\x7e\x0f\xff\xf2\x25\x51\xaf\xf1\xb2\xaf\xfb\x33\x79\xee\xcf\xbf\xe5\x6e\xa7\xd7\x73\xf4\x72\x8d\xd3\xff\xce\x8b\x9a\x3e\x9a\x73\xf8\x3f\xfe\xe3\x7f\xdc\xfd\xc7\x1d\xf7\x94\xd3\xba\xbc\xab\x02\xef\xce\xae\x2a\xdb\x09\xee\x12\xaf\x0a\x32\x77\x70\x57\x05\x76\x75\x2b\xf3\xae\x00\x4f\x97\x2d\xdf\x55\xd9\x9d\x7d\xb7\xf6\xb6\x6a\xe6\x44\x5e\x75\x5e\x18\x3c\x3b\x79\x38\xa3\xfc\xbf\xae\x19\x26\xef\xda\xeb\x55\x50\xae\x9b\xa5\x25\x7c\x45\x72\xfb\xb9\x40\xc5\xa1\xe3\xa5\xa5\x77\x27\x72\xda\xff\xb8\xfb\x0f\xf8\x7f\xfc\xf4\xcc\xe1\x25\xc3\xf8\xd3\xba\x54\xdd\x17\xf7\x48\xbf\xff\xed\xfe\x4d\x96\xfd\xd7\x6b\xd1\xf5\xee\xdf\xdf\xbf\x3d\xdf\x21\xfb\x70\xa5\xf2\xf8\xb6\xcb\x83\xb0\xff\x7b\xf1\x78\xbd\x99\xf3\xf1\xf1\xb1\xf8\xc7\x3f\x8a\x81\xf7\x50\x5e\xd8\x7f\xac\x06\xde\xc3\xdf\x77\x71\x5d\x06\x44\xbd\xdb\x79\xc5\xeb\xcb\x4c\xbd\x87\xa6\x08\x2b\xef\xde\x7b\xf8\xfb\x15\xf1\xb5\xcb\x57\xc0\xf3\x12\xfa\x49\xf1\xd5\x2a\x5f\x33\x56\x85\x89\x97\xd5\xd5\xe7\xcd\xcf\x95\xdf\xc3\x71\xa9\xbb\x20\xfa\x76\x06\xc8\xeb\x32\xd0\xb2\xf7\xec\x5d\x64\xf5\x49\xe3\xbf\x7d\x5a\x0a\x3d\x56\x5f\x3e\x67\xe4\xb1\x1a\x94\x5e\xf5\x8a\xd7\x57\xc2\x18\x0c\xcf\x03\x70\xe6\xc1\xf7\x2a\xd1\x2b\x4b\xdb\xf7\xde\x70\x10\xfe\xed\x1d\x7f\xf7\xd5\x83\x6b\x57\x76\xff\xcb\x93\xec\x6e\xef\x17\x24\xa5\x97\xba\x97\x2b\xb9\xdf\xdc\xd0\x7a\xc9\x37\x71\xb9\x75\xb8\x3a\x7b\x33\xf4\xd1\x4b\xab\x45\x58\x56\x5e\xea\x15\xf7\xbd\xe4\x4a\xb5\xf7\x96\x89\xfe\xa0\xf8\xf9\x67\xef\x21\x4b\xef\x7b\x67\xf4\xbd\xd7\xd8\xfb\x9f\xe2\x71\xe2\xac\xbc\x60\x71\xbd\xb3\x04\x1e\xb6\xe1\x99\xe8\xa0\xea\x7f\x0e\xee\x15\x45\x56\x7c\x0a\x7e\x66\xf3\x5a\xf8\x21\x37\x7e\xb6\xdb\x7d\xca\xcf\x7d\xf5\xa2\x7d\xd5\xdf\x9e\x54\xef\x4b\xd5\xff\xf9\xe7\xea\xa1\xf0\x92\xec\xe8\xfd\x60\xaf\x6f\x37\x68\x3f\xa1\x38\x4b\xf5\xd5\xd5\xc0\x1f\x94\xff\xaa\xfa\x6f\x27\xc7\x35\x07\xf3\xb5\xee\x6d\xfb\x0f\xbd\x7a\xd5\xf6\x5a\x77\x6b\x7b\x96\xc1\xb7\xfe\x77\x2d\x0b\x13\x56\x2f\xd6\xc2\xb9\x24\x53\x29\xef\xec\xd4\xbd\x2b\xb2\xa6\x3c\x9b\x8f\xb3\x39\x71\xc3\xc4\x4b\xcf\x3e\x72\x79\x97\xed\xee\xc2\xaa\xbc\xa3\x24\xf1\xce\xbb\x9a\xa4\xb3\x35\x39\x63\xfa\x9f\xff\xf3\x0e\xe4\x79\x91\xdd\x2c\xc7\x2f\x77\x4a\xd6\x94\x5f\xee\xb4\xa2\x3e\xfb\xee\xde\x0d\xd1\x31\x3c\xe3\x39\xa3\x79\x63\xa7\x72\xbb\xf0\xd2\xea\x09\xe5\x5d\xe0\x85\x7e\x50\xdd\x6d\x4f\x6f\xa1\x8a\xac\xb9\x55\x3d\x11\xfd\xe5\xee\x9a\x00\xe6\x9f\x25\x74\xc9\x73\xf8\x81\x8e\xf3\x74\x63\xdf\x99\xc4\x15\xe4\xfe\x92\x13\xfb\xce\x0d\xcb\x3c\xb6\x4f\x5f\xee\xc2\x34\x0e\xd3\xb3\x25\xfe\xc8\xe1\x59\x7a\xd5\x13\x33\x67\x61\x5d\x31\x34\x61\x15\x5c\x80\x9d\xba\x38\xf3\x70\xc6\x9d\xd6\xc9\xd6\x2b\xce\x4c\xde\x44\xdf\xff\xbe\x6d\xde\x85\xd5\xf9\xdf\xff\xb2\x55\xfe\x68\x88\xf3\x22\xcb\xb3\xd2\x9b\x7b\x59\xe2\x55\xc5\xe9\xc3\x55\xf2\xde\xc3\xd3\x50\x5f\xa5\x47\x5f\xdf\x9e\xae\x93\xbf\x24\x9f\xb8\x60\x3d\xeb\xe9\x20\x1b\x94\x4f\x99\x9e\x7d\xaf\x22\xb3\x24\xaf\x2b\xcf\x55\xab\xd3\x25\x79\xfd\xe7\x98\x06\xe9\x4b\x72\xf8\xcb\x0d\xcd\x4f\xc1\x8a\x71\x8e\x4d\xee\x7b\xd7\x41\xef\xf5\xfb\x03\xfb\x51\xb4\xab\xe0\x21\xb1\xdb\x7b\x64\xf0\x87\x6d\x2e\x52\xef\xf5\xfb\xbf\x0c\x27\xfd\x41\xfc\xe7\x2c\xf5\x07\xc1\x63\xfa\xcb\xfd\x33\xce\xf8\x13\x9c\xb9\xed\xba\x61\xea\xff\x52\x65\x79\xaf\xdf\x87\x7e\x08\x76\x9b\x55\x55\x96\xf4\xfa\xfd\xfe\xc0\x79\xb4\x7f\x90\x40\x71\xeb\xef\x8f\x91\x88\xbd\x5d\x75\x21\x50\x3f\xde\x7b\x0f\x45\xd6\x90\x59\x5a\xd9\x61\xea\x9d\xd7\xce\xd7\xaf\x0f\xbb\xb0\x28\x9f\xa4\x4e\x06\x61\xec\xf6\x07\xee\x63\xfd\x10\xa6\xa9\x57\xb0\x9a\xb8\x78\x52\x8a\xfa\xe1\x92\xd9\xe4\xe1\xa6\xef\x8f\xbd\xab\xbe\xf7\x06\xaf\x60\x1f\x7b\xeb\xde\x20\x7c\xac\x2f\x29\xb2\xb2\x3a\x3d\xb3\x42\xc6\xa1\x97\x56\x8a\xe7\x54\xf7\xfd\x6b\x12\xd1\xc1\x07\x54\xbd\x41\xf5\x07\x8d\xae\x43\xfd\x86\x8e\x3b\x28\x5e\xd4\x23\x80\xab\xfe\x20\x7b\x79\x77\xe0\xb0\x3f\xf8\xdd\xc9\xe2\xf2\x4b\x36\x38\x1b\xad\x2f\xc5\xb7\xb3\xd9\xdf\x85\xd5\x87\x54\x2b\xc5\xe3\x07\x65\xbf\xf7\x2e\x59\xc8\x2f\xb7\xa3\x87\x9d\x77\x5f\x3c\x9c\x51\x0d\x8a\xb3\xd8\xca\x77\x36\xf7\xbb\xf3\xe4\x95\xed\x7d\x8f\xfe\x6c\x84\xdf\xa1\x79\xc3\xd9\xab\xa6\xbb\xb0\x7a\x02\xff\x43\x8b\x5d\xc7\xf1\x35\x53\xeb\xdd\xc5\x32\xdc\xed\xb2\xe2\x6a\x29\x1e\xf6\xe5\xf7\xad\xc7\x73\xab\x57\x8f\xff\x06\x5b\x52\x65\xbe\x1f\x7b\x67\x1e\xd5\x0b\x89\xcf\x12\x19\x7f\x2d\xde\x2e\xb1\x4f\x36\xc1\x89\xed\xb2\x3c\xaf\xab\x0f\xce\x55\x61\xcb\xfb\xde\x0b\xb3\xbd\xfe\xdf\x7a\xd7\xf5\xb7\xf7\xa5\x67\xbb\x6e\xef\x4b\xf5\xb7\xeb\xef\x53\xf1\xe0\x13\x54\xbf\x16\xbf\xbd\x45\xf2\x76\x2c\x5e\xd8\x2d\xdf\xb3\x7b\xf6\x76\xde\xf7\xe6\xc7\xd6\x54\x2d\x08\xcb\x5b\x02\xf7\xbb\xbc\xc8\x8e\xa1\xeb\x95\x37\x67\xbd\xbc\x8c\xd6\x75\x71\x0f\x53\xff\xce\x7e\xe7\xaa\xdf\xde\xdc\xec\x53\xa7\xfd\xbb\xa3\xfb\xdc\xec\xe5\xe9\xdf\xed\xbd\x3f\x13\x02\xff\xbf\x1b\xff\xbf\xd5\x8d\xbf\x1a\x32\x5e\x95\x96\x0f\x17\x23\xf8\xe4\xb5\x7f\xed\x95\x95\x9b\xd5\x55\xef\xf1\xb1\xb8\xe4\x8a\xbb\xff\xe8\xf0\x17\xbf\x0e\x7f\x7b\x71\xf7\x2f\x6f\x7f\xee\xed\x5f\x48\x95\x97\x9c\x2b\xe1\xee\x74\xff\xeb\x99\x4e\x98\xf6\x06\xde\x4b\xe3\x4a\x0d\x3b\xef\xc7\xda\x7a\xd5\xdf\xcf\x86\xb6\x77\x5d\x99\xca\x81\x77\x31\xb8\xbf\xf5\xff\x85\x21\xc5\xb5\xe2\x6a\xd0\x7b\xaf\x18\xfc\x93\x60\xe3\x59\xa3\xa9\xbf\x16\x75\x7c\xbf\xdd\xb9\x4b\xef\x6a\xff\x4f\x8b\x43\xfe\x60\x1a\xbf\x0d\x48\xde\x01\x7e\x3f\x32\xf9\x7e\x87\x3f\xc3\x46\xfd\x48\xac\xf2\xbf\xb4\xa9\xfd\xf5\x9a\x13\xb8\xb8\x47\x27\x67\xc7\xa1\x57\xa7\xd7\xa6\x6e\xef\xf1\xf1\xcc\x70\xb6\xbb\x4b\xed\x63\xe8\xdb\x55\x56\x0c\xca\xc7\xec\x6f\xbd\x34\x73\xbd\xde\x97\xe7\xc2\x87\xba\xf4\x0a\xe0\x7b\x69\x35\x48\x3f\xab\xce\x63\xbb\xda\x65\x45\xf2\xb5\x7a\x08\x4b\x26\x2c\xbc\x5d\xd6\x3e\xfe\xf4\xd3\xff\x5d\x3e\x84\xa9\xeb\xb5\xd2\xee\xbe\x77\x2b\xed\x9d\x35\x29\x2c\x45\x95\xa3\xdf\x01\x9c\x8b\x7a\xfd\x7f\xfc\xe3\x6d\xa9\x56\x84\xae\x97\x56\x4f\xcd\x6c\xe7\x92\x80\xf5\xb6\x34\xfe\xda\x13\x6d\x27\x4c\xab\xac\x0c\x7a\x83\xf3\x33\x97\x56\x5e\x7c\x7d\x5c\xad\xc8\xeb\xc3\x78\x2a\xf4\x7e\x1b\xa4\x57\x04\x5c\x6e\xbb\x8f\xbd\x70\x65\x9f\xbb\xfe\x98\xde\xca\x82\x2c\xf5\xce\xa5\xe7\xdf\x97\x72\x51\x5d\x5f\x1c\xe6\xf2\x2d\xc9\x5b\x61\x6f\x70\x7e\x1a\x8e\xaf\xbf\x18\x7a\xfd\x25\xe9\x17\x5a\x8b\x30\xad\xdb\xc7\xf4\xa5\x2f\x97\x82\x5e\xff\xbf\x1e\x91\x3f\x19\xdf\xe7\xec\xd1\xe1\x75\x8a\x3c\xe7\xa3\xf5\x1e\x72\xdb\xf7\x36\x6f\xc2\x8e\x97\x04\xf5\xb7\xda\x41\x78\x7b\x32\xbf\x56\x3f\xff\x5c\xfd\xf4\xf8\x58\x7a\xf1\xee\xc1\xcd\x9c\xfa\xe2\x18\x3c\x3d\xdc\x7c\xe0\xaf\xfd\xe2\x97\xc7\xea\x3c\x09\x4b\xaf\x5a\x78\xbb\x6a\x10\xbe\xbc\x6b\x59\x3e\xa8\x1e\x7b\xd7\x97\xd5\x25\x60\xe9\x85\xe9\x5d\xf5\xb7\x27\x80\x6b\xd9\x97\x77\xd1\xcc\x6d\x8d\xfc\xb5\x18\x84\xbf\xbd\xe4\xc2\xce\x6e\x0b\x63\x36\x28\x07\x69\xff\x96\x70\xf7\xda\xc5\xa7\x45\xd5\xfe\x15\xf9\xed\x1a\xde\x38\x5e\x18\xdf\xdf\x9f\xdf\xa1\xfb\xf4\x6f\xc5\xd5\x93\x86\xd1\x2f\x48\xbf\x0f\xdf\xde\xfa\x03\xfb\xd7\xe1\x6b\xf0\xf3\x2b\x5c\xdc\xfc\xe7\x73\xed\x13\xb2\x24\x4c\xef\x9f\x83\x26\xfb\x92\x54\xb0\x3f\xc8\xa0\xe1\x6b\x0c\xef\x60\x86\x17\x98\xf2\x02\xf3\xed\x9f\x38\x45\xba\x44\x59\x59\xe1\x96\x8a\x17\xdb\x55\x78\xf4\xb4\xec\x26\x9c\xc7\xf0\x75\xf5\x63\x76\x7d\x53\xec\x86\x38\x55\xde\xad\xf0\xbd\x2b\x31\x78\x4e\x76\x9c\xbd\x2a\x1a\xd8\x8f\xe9\xb9\x33\xf1\x63\xfa\xeb\xf0\xb7\x67\x19\x42\x8f\x18\x3a\x88\x2f\xff\xff\xde\x7e\xb1\x07\xa7\x2f\xf1\xb7\x7f\xf5\x39\xd9\xb3\x49\xc1\xce\x16\xe5\x95\xf7\xf2\x3c\xda\xde\x73\x3e\xa3\xb3\x47\xfa\xe8\x0d\xc2\x87\xcb\xc9\xdd\x99\x86\x5d\xc7\x95\x5a\x65\xc5\x79\x61\x4f\xbd\xe6\x2e\x7c\x88\xc3\xed\xc3\xad\xe4\x41\xf4\x92\xac\x38\xbd\xe4\x69\xbc\x81\x5c\x5b\x3f\x25\xb2\x7c\xa9\xbe\x46\x85\xde\xae\xbc\xef\x3f\x94\x5e\x75\xdf\x3b\xaf\x20\xbf\x78\xa9\x93\x9d\x23\xab\xde\xa0\x57\xd8\x4d\xef\x55\xda\xc7\x07\xd7\x73\xb2\xc2\xae\x6e\x49\xcf\xce\xdc\xdd\x6a\xc3\xec\x25\xc7\xee\x43\x98\x3d\x9c\x1d\x87\xd7\x89\x60\x1f\xc2\xb4\xac\xec\x38\x16\xbc\xd3\x36\xb3\x0b\xf7\xbe\xff\xed\x39\xb5\xfb\x8b\xf5\x0f\xd3\x5d\xf6\x31\xba\xf9\xfd\xb6\xbd\x71\x4d\x96\x74\x7b\xb9\x46\x6b\xd7\xac\xb3\x59\x53\x7e\x7b\xbb\x8c\x64\x75\x95\xd7\x6f\x43\xb8\x6b\x8a\xeb\xd7\x4c\xbe\x4a\x88\x7b\x66\xf9\xe2\xd6\xe8\x1a\x33\x1c\x5f\xb6\x28\x5f\xa3\x2b\x83\xac\xf9\xe0\x4d\xbd\xca\xc7\x75\xab\xf2\x06\xd5\x7f\x21\x7f\x7b\x83\xf4\xdc\x52\x3a\x7a\x45\x6c\x9f\x2e\x0d\xbe\xfc\x41\xed\x35\x7d\xe1\x1b\xc2\xd7\xa5\xfa\x03\xe9\x1b\xdd\xcf\xd0\xbc\x66\xe8\x92\x8d\xd3\x7b\x9b\x3c\xeb\x6a\x83\xb5\xb0\x8a\xbd\x8f\xe9\xb3\x2e\x08\xdf\x02\x7d\x94\xc5\x55\x65\xbc\xc2\x4b\x9d\x77\x29\xb8\x5e\x92\x31\x7f\x7d\x9d\xa6\xcf\xeb\x3f\xec\xb2\x82\x3e\xaf\xd4\xcf\xd0\xc5\x25\x40\xfa\x44\x05\x8b\x81\xf7\x6b\xf1\x5b\xff\xdb\x3b\xaa\x59\xca\xa5\xef\x47\xf4\xa6\x78\x0f\x59\x6a\x68\x82\x77\x2a\xab\x22\x8b\xde\x7a\xbb\xde\x7d\xd5\xff\xf6\xa4\xa0\xaf\xb2\x1d\x7f\x04\x7a\x4f\x4d\xb9\xf8\x7f\xdf\xeb\xdd\x0b\xe5\xa7\x39\xf5\x1e\xfe\xe2\xfe\x54\x4f\xca\xfa\x58\x0c\xaa\x8b\x9a\x3e\x86\x03\xef\x52\xf7\xed\xfd\x86\xac\xed\x54\xe1\xd1\xae\x3e\x0e\xf2\x87\x0e\xbe\xa4\x7c\x7c\xdb\xa7\x37\xe5\x1f\x38\x7b\xa9\xbd\x48\xbd\x4e\x3f\x4e\xc8\x77\x9a\xf7\x59\xbe\xb7\x37\xfa\xf8\x27\xf3\xfb\x0d\xba\x8b\x9f\xfc\xb9\x02\x7f\xce\xca\xb7\xfb\xfe\xd7\xea\x81\xbd\x18\xb1\xec\xdf\x63\x81\xbf\x63\x7a\x9f\xa7\x75\x5d\xc4\x4f\x99\x36\x2f\x1d\x39\x87\x1a\x8f\xd5\x67\x76\xcb\x29\xbc\x77\x43\xf7\xe4\x66\x78\xcd\x5d\x76\xff\x84\xed\x1d\xae\x97\x6e\x92\x59\x9a\x7a\x97\xa6\x8c\xed\x54\x59\x71\x7a\x0c\x2f\x3c\x7e\x77\x79\x78\xe6\x71\x6b\x17\xd7\x75\xe0\x39\xe2\xbf\x54\x7e\xc6\x64\x96\xbf\xde\xa1\xe8\xff\xfe\x23\x03\x74\x46\x7f\xad\x7a\x3f\xa0\x67\xc5\xfb\x38\x1b\x2f\xf0\xcf\xa7\x3c\x6f\x4c\x7b\x29\xbd\xa3\xff\x3a\x6d\xe2\xa5\x5d\xe1\xd9\xee\xe9\x92\x3a\xf7\xf1\xf1\xb9\x3b\x0f\xa4\xb4\x5c\xd2\xa4\xc6\x2d\xe7\xff\xf8\xc7\x9f\xc1\x4a\x2b\x7a\xf9\x7e\x26\xbf\x25\xfb\x86\xd1\x2c\x7d\x2b\x93\x8b\x31\xf8\xcc\x16\x38\x5e\x78\xfc\xc4\x5c\xde\x90\x24\x9f\xc4\xd9\x2f\xc7\x61\xef\xb1\x91\x6f\x05\xfd\x0e\xd7\xbb\x61\x78\xe1\xe8\xbd\xa2\xfc\xbb\x26\xc5\xd9\x2d\xf9\x5a\xbd\x52\xf8\x5f\x7b\x8d\xb7\xad\xaa\x53\xef\xb7\x41\xf5\x90\x94\xfe\xc5\x0e\xdf\x12\x59\x3f\xf6\x90\xde\xab\xd2\xc7\xde\xf0\xf6\xba\x3a\x1b\xa4\x1e\x7a\x7b\xbb\x9a\xa0\x27\x83\xf4\xd8\xc3\x6e\xe5\x37\x2c\xd2\x75\xb1\x7e\xc6\xf5\xf4\xfe\x8c\x2c\x7b\x8d\x4c\x7d\xbb\x86\x3d\x23\x53\xdf\xae\x4b\x3d\xfc\xa5\x5c\xf1\x9c\xab\xdc\x1e\x7b\xa3\xde\x9f\x4d\xac\x6b\xe4\xfa\xe2\x41\xdd\x2c\x80\xf3\x61\x8a\xde\xb2\xec\xda\x85\x7f\xb1\xef\x97\xe7\xba\x0a\xb4\x2c\xf2\xd2\xb3\xa3\x7a\xb5\x97\x4f\x94\x7f\x19\xfe\xc8\x9c\xbc\x24\x58\x3d\xfb\xf9\x97\x75\x66\x50\x3e\x7e\x4e\xfb\x66\x70\xee\xfb\x83\xf4\x95\x13\xa8\x6b\xcc\x94\xf2\x9c\xcc\xf5\x8a\x81\xfd\x1a\x6b\x79\x9b\x06\xf7\xef\x28\x15\x8f\xd9\x93\xf1\xde\x65\xf7\xfd\xaf\xe5\xa7\xdb\x2e\xbf\x83\xc2\xbf\x44\x3d\xe5\x97\xec\x9a\x6b\x1c\x3c\x75\xf3\x5c\xf0\xf4\xfc\xad\xff\xc1\xae\x7a\x67\xa5\xbc\x21\xfd\x44\x11\xa0\xf7\x84\x9e\xfc\x3c\xef\x69\x2b\xbe\xdf\xff\xf6\xf5\xc6\xe2\xd3\x92\x7c\x1f\xf6\x07\xe1\x75\xa3\xfd\xea\x06\x5e\xf7\xda\x07\xcf\x60\x17\x4d\x7c\xb3\x17\xf9\x9a\x83\x4b\x2d\xe4\xf5\xbf\xf5\x07\xde\x63\xe9\x55\xe7\xb0\xb7\x38\xda\xf1\xfd\x1b\x71\xbd\xc0\x9f\x15\xb9\xff\x6d\x80\x79\xf8\xb9\x49\xf9\x62\x0d\x3e\xec\x64\x9f\x83\xc8\x32\x0e\x1d\xef\x7e\xd8\xff\x5a\x36\x61\xe5\x04\xf7\xde\xaf\xc8\x6f\xfd\xdf\x1d\xbb\xf4\xee\x5e\x69\xf6\x97\x27\x5e\x2f\x6f\xf7\xe9\xc5\xab\x76\xbd\x7b\xbb\xca\xb6\xf7\x45\xbf\xdf\xff\xba\x2d\x3c\x3b\xfa\xfa\xd2\xee\x3c\x03\xbe\xbc\x2f\x7c\x3b\x11\x9e\x90\xbe\xf3\xde\x8a\x8f\xc8\xde\x4e\x94\x2f\xd7\x31\x7b\xb5\x23\x58\xf4\xbf\xbe\xe0\x7a\x05\x79\x1f\x7e\x8a\xeb\x79\x72\x5d\x30\x95\xef\x30\x3d\xe5\xbf\x8f\x33\xff\xbe\x47\xa7\xf6\x36\x0e\x53\xff\xee\x79\x5a\x7c\xb9\xeb\x41\x25\xd4\xbb\x2b\xcf\x05\x6e\x79\xc9\x85\xfd\x32\x67\xca\x6f\x37\x99\x5f\x6c\xe6\xeb\x21\xba\x6c\xd7\x3e\x8f\x9d\xf7\x3c\xfc\x2f\x7e\xd4\xfd\x73\xd9\x2b\xe7\xfd\xbe\xf7\x62\x40\xef\x2e\x48\xdd\xde\x00\x79\x43\xf4\xbf\x90\x9f\x7f\xbe\x2f\x1e\x5f\xed\xb0\xbe\xd6\x8c\xc7\xec\x8f\x26\xe3\x8d\xe0\xc5\x75\xba\xef\x0f\xec\xf3\x9a\x39\xf4\xb0\xff\x78\x85\xbe\x7f\x53\xa3\xf3\x6c\xec\x3f\x6f\x88\xdb\xf7\xfd\xc1\xfb\xde\x3d\x91\x2f\xce\xf0\x4f\x4b\xf0\xf3\x42\xb0\xf6\xb6\x9a\x66\xfe\xfb\x16\x01\xa4\xff\x35\x7c\x88\x33\xdb\x05\xae\x9b\xa5\xf7\xbd\x5d\x58\xf5\xfa\x7f\x6c\x3a\x3f\x7a\xc8\xb7\xe8\xf5\x5d\x34\x3a\x78\x1b\x33\x3d\x64\x4d\xea\x15\xd4\xd3\x16\xcb\x55\x98\xb7\x78\xff\xbe\xe7\x86\xc7\xa7\x00\xf4\xd6\xe2\x7a\x3a\xb3\xb4\x13\xef\xb1\x77\x39\xc6\xf8\x25\xbb\x86\x3e\xbd\x37\x60\x37\xf1\x3d\xa2\x1e\xf6\x64\x8a\xcf\xe6\xe3\x69\xc3\xf3\x8d\xa7\x73\x1d\xb6\x5d\x78\x1e\xb4\xdb\x4b\xe9\x14\x59\x1c\x6b\x19\x71\x39\x7f\xbd\x94\xbf\xd6\xa3\x5b\x12\xf1\x1b\xf0\xc5\x99\x83\x7a\x6d\x0f\x7a\x5b\x7e\xb5\x4c\xd5\x3b\x96\x9e\x22\x92\x9b\xbd\xba\xef\x9d\x95\xa1\x37\x78\xc3\xd0\x5b\x66\xef\xfb\x83\xdb\x01\xf4\xc7\x8d\xe4\xa7\x8d\xea\x3f\x6c\xfe\xed\xac\x75\xaf\x88\x9e\xb5\xcf\x1b\xfc\x84\xfc\xd3\x41\xf8\x73\xb7\x5f\x85\xe1\xcf\x5d\xfe\xf3\x58\xfc\x05\xfe\x76\x5e\xf3\xc3\xf1\xf6\x4b\x2a\xe6\xaf\x6f\x94\xa2\xf2\xda\x8a\xcc\xd2\xca\x4b\xab\x27\x8d\x3b\x6b\xdf\x83\x9d\xe7\x5e\xea\x5e\x0e\xab\xdf\x84\xc6\xfd\x0f\xca\x52\xfc\xfc\xf3\x9b\x79\xf7\xa1\xbe\x3f\xb8\x1a\x87\x0f\x15\xdf\x31\x16\xc5\x95\x83\x6b\xc8\x74\xe5\xa0\x78\x26\xff\xed\xba\xc3\xff\xe3\xb1\xfe\x53\x47\xaf\x9b\x85\xcb\xcc\xf5\x6e\x59\xae\xcf\x44\x6e\x3b\x19\x1f\xe8\xbd\xe9\xf1\x0f\x6f\x05\x3c\x6f\x77\x56\x97\x2a\xef\x87\xe3\xff\x1f\x0c\xd9\x9f\x15\xff\x7a\x70\xf1\x21\x16\xff\x10\xfa\x7f\x12\x8c\xbf\x45\xf4\x61\x12\xdc\x3c\xf0\x8b\x86\x56\xb7\xd3\xf8\x0f\xdf\x40\x7d\x37\xe4\xbe\xe2\x7d\x3e\x5a\x79\x33\x75\xce\xa5\x37\x72\xaf\xcb\xb7\x71\x5d\xfc\xaf\x86\xd0\x17\xf5\xfb\xd3\xc0\xf9\x66\x09\x3e\x3d\xc4\x79\x92\xc3\x27\x06\xef\xed\x2e\x5e\x59\x15\xd9\xe9\x55\x9c\xbd\xf9\x7f\x25\xce\x3e\x13\xb8\x71\xd5\x56\x76\xe1\xd9\x2f\xce\x76\x92\x67\x65\x78\x86\x34\x42\xaf\x79\x72\xb5\x9f\x4e\xbb\x9f\xdc\xed\xb0\x24\xaf\x80\xa9\xff\xf8\xd3\xf0\xa9\x4c\xf5\xae\xdf\x85\xbc\xe0\x78\xae\x7c\x85\x77\xf5\x54\xf7\x7b\x59\xd9\x45\xf5\xe5\xb2\x3f\xe2\xa5\xee\xe5\xe1\xdb\xa7\x41\xfe\x4b\xe3\x4b\x93\x8f\x3b\x35\xaf\xd9\x41\xbe\x4b\xf1\xe1\xda\xfa\x4d\xc7\x1f\x2e\x42\x7b\x88\xbd\xd4\xaf\x82\x4f\x65\xf0\xc6\xc2\xf5\x7a\x9f\xc3\xbc\x7c\x03\x71\xf9\x63\x91\x8b\x82\x7b\xef\xbf\x5a\x78\xd5\xa8\xce\xdd\x37\xfa\xff\xc9\x1a\xfe\x47\x6c\x78\x97\x10\xf7\xca\xca\x15\xd5\x2b\xa1\xdf\x96\xf0\xf2\xbe\x3f\xf8\xdc\x3e\x56\x9f\x0a\xc7\x4b\xdd\xc7\xea\x73\xb9\x7c\xfb\xb0\x9f\xf9\x0a\xc1\x9b\xed\x88\xdb\x80\xec\xce\xca\x12\x76\xaf\xb9\xba\xff\xe9\x3d\x8e\xc8\x3b\xb9\xe7\x50\xf6\xdd\x77\x6b\xef\x47\xf4\xb6\xf9\xf0\x99\x7a\x5d\xe0\x51\x74\xf6\xf8\xf8\x78\x41\x47\x66\xae\x77\x3b\x67\xfa\x69\xf8\x35\xdc\xdd\x0f\xc7\xaf\xab\xfe\xf1\x8f\xe1\xe4\xdd\xfb\xf4\xf3\xa6\xdf\xef\xc4\xf0\x79\xe5\x46\xd1\xd9\x4f\x6f\x90\x5d\x39\x0f\xec\xd4\x8d\x3d\x90\x9e\xb4\x9b\x24\xc9\xcb\xdf\x1c\x9d\x47\xe3\xdc\xf8\xdd\x27\x45\x1f\x28\x7c\x4f\x25\x9e\x04\xf3\x7d\xc5\xbb\xda\xa5\x17\xdd\xfb\xfe\x4c\xbd\xae\xb6\x37\xf6\x9e\xc6\xff\xbe\x3f\x78\x8e\xa7\x6e\x33\xf3\x8f\xe7\xd1\x65\xce\x7e\x17\xc4\x4b\xdd\x6f\x5f\xff\xc0\x2e\x20\xdf\xd1\xcd\x73\x3f\xbf\x33\xd6\x9f\x97\x3f\xfe\x34\xbc\x58\x3b\xef\x76\xee\xfe\xd5\x7b\xac\x5e\xf7\xfa\x6f\x1f\x74\xba\xac\xb7\xd7\xd0\xf7\xbe\xb8\xf5\xa4\x38\xb3\xdb\xff\xf2\xe7\x90\xfd\x97\x2f\x03\xe2\xdb\x48\x17\x67\x1f\xea\x32\x41\xbc\xb8\xf4\x7e\xff\x23\x53\x78\xb3\xca\x9f\xd9\x9f\x17\x4a\x7f\x22\xf4\x3f\x12\x78\xff\xeb\x1b\x63\xfd\xcc\xe0\x87\x4d\xef\xef\xe9\xe8\x87\x0d\x91\xeb\x66\xc8\xa7\x26\xf3\xeb\x77\xc7\xef\x27\xef\xb5\xfc\x5f\x62\xf4\x77\x5d\x2e\xbc\x3c\xb6\x1d\xef\xbc\x8a\xf5\xfa\x5f\x8b\x9b\xa9\x39\x3b\x7a\xde\xc7\x2e\x14\x37\x19\xbf\xe9\xc6\x77\x2d\xdf\x9f\x4d\xa2\x4f\xd8\x7b\x2b\xb9\xa7\xef\xd1\x0e\xb5\x57\x9c\x54\x2f\xf6\xce\xf1\xe6\x7d\xef\x19\xe0\x17\xa7\x2e\xca\xac\xe8\xf5\xcf\x28\x8b\x2b\x8e\xf0\x07\x71\x5c\x43\xa7\xb3\x67\xd4\xeb\xbf\x9c\x58\x43\xc5\xcb\xf3\xe7\xf6\xff\xfa\x39\x66\xec\xed\xaa\xc7\xe2\xd5\xc9\x37\xd4\xcb\xdb\xef\x2c\x4a\xd7\x16\x55\x96\x3f\x86\x7f\x0a\x75\x3d\x7f\x7e\xc6\xcc\x5e\x5e\xff\xb4\x55\x1c\xa6\x1e\xfb\xdd\x96\xb7\xa8\xf5\xd3\xf6\xdf\xf9\x8e\xf4\xeb\x5b\x4d\xfb\xf3\x3e\xbf\x03\x7d\xdf\xd9\x77\xd5\x97\x23\xf8\xc7\xec\xfa\xfb\x7d\xb0\x9b\x30\xb2\xdb\xc3\xf7\x01\x5f\xf5\xff\x0d\xf0\x37\xef\x1f\xff\xf8\x4e\x6c\xf2\xf4\x29\xcd\xf7\x97\xed\xcb\x42\x89\xbc\x9f\xb3\x9f\x1a\xed\x4f\x1c\xe8\x8f\x92\xeb\x7d\x5f\x54\xbd\xde\xab\x0d\xee\x67\x4e\x58\x2f\xce\xbd\xe2\x31\xfc\xb7\x7d\xd1\xd3\x1f\x64\x8f\xc5\x3d\xde\x1f\x94\x7f\x72\x0a\xff\xf7\x67\xc7\xd3\xfb\xcc\x31\xb4\x5d\x97\x0c\xec\xe2\x5d\xa4\x1a\xee\xee\xbd\xff\x7a\xec\xdd\xf5\x9e\xe6\xf6\x39\x2a\xf9\xfa\x16\xdf\x83\x13\xd8\x45\xe9\x55\xb7\xf8\xed\x43\xf9\xaf\xde\x6f\x3f\xff\x7c\x7f\xb5\x7f\x9f\xd6\xf6\x5f\x1b\xf3\x17\x80\x13\xf4\xbe\x60\x6b\x97\xde\xd9\x4a\xfc\x54\x7c\xa0\xd5\x3e\x7d\x13\x73\x5e\xb9\xee\xdf\x55\x9e\x55\xeb\xf2\x7d\xfc\x7d\xd8\xff\xf5\x7d\xc3\x5f\x86\xbf\x3d\xc5\xc3\x3f\xde\xe2\x57\xf4\xb7\xbf\xfd\xd5\x26\xc3\xdf\xa0\x47\xef\xcb\x5f\x6a\x85\xfe\x65\xd6\xd0\x1b\x9d\x9b\xcb\xf2\x52\x75\x9d\x23\xca\x79\x6d\x7a\x8f\xf1\xd4\xef\xf7\x9f\xed\xf9\x2b\x64\x50\xf1\xcb\xf0\xbf\x3e\x0c\x5b\x16\x97\xfd\x8f\xc0\x4d\x61\xe7\x76\x71\xb6\x42\xe2\xd9\xfb\x7b\x8f\xea\x11\x19\x40\x1f\x86\xf3\xbf\xde\x15\x5c\xb7\xab\xae\x9b\x55\x7f\xfb\xc0\xe4\x2f\xbf\xbc\xef\xd2\x15\xfe\x3c\xc7\xfb\xdf\x17\xeb\x87\xbe\x3e\x84\xe5\xba\xb0\xf3\xdc\x73\x1f\x7f\x42\xbe\x9e\x1d\x8d\xbb\xb3\xe7\xfb\xf8\xf8\x58\xdc\x74\xe8\x2c\x8b\x1f\xd4\xc6\xf7\x2c\x85\x69\xe9\x15\xd5\x45\x04\x4f\xdf\x65\x65\x8f\xc8\xd7\xec\x3f\x8b\xaf\x10\x94\xf5\x2f\x5f\x32\xfe\x28\xa7\x9f\x12\xec\x3f\xe4\x59\x7e\xdf\xff\xf5\xac\x19\x7f\x41\x31\xce\xa3\x76\xd1\x26\xf4\x8f\x38\xf8\x6e\xbb\x5f\xff\xaa\x22\xde\xda\x3d\x7e\x28\xaf\x0b\x50\x55\xc5\xa0\x77\xd7\x1b\x0c\x7f\xfb\xa0\xa4\xaf\x51\x3e\x94\xf9\xe5\x20\xe2\xbd\x2a\x0d\x90\xc1\x9f\x60\x7d\x6f\x9f\xfe\x70\xc6\x7c\x9f\x47\x6f\x50\xfc\xf6\x9e\xc1\x16\x82\xfe\xd2\xc4\x1a\x5c\xf4\xea\x2f\x4e\xe2\x3f\x10\x5b\x6f\x80\x7c\xc6\xd3\xfb\x05\x6e\xeb\xc5\xf1\xe7\x0e\xe8\x7b\xd9\x1c\xc3\xb2\xb6\x63\xc2\x8b\xe3\x8f\x4c\x3e\x79\x5d\xd7\x35\x6e\x9b\x15\xae\x57\x90\x59\x9c\x15\x8f\xbd\x26\x08\x2b\xaf\xf7\x9d\xb8\xe3\x79\x75\xf9\x21\x54\xbd\x6f\x83\x21\xf2\x41\x13\xf2\x2c\x97\xd2\x2b\x5b\xef\x6a\x76\x99\x53\x97\xf7\xef\xf7\x1d\xcf\x02\x65\x3c\xef\x63\xf8\xfc\x5a\x27\xd3\xa3\x57\x54\x74\xf6\x49\x57\xdb\x47\xa4\xff\x17\x2d\xd4\x47\x24\xdf\x37\x51\xfd\x0f\xfd\x6b\x3f\x35\xac\x1f\x97\xb5\x5f\x7e\x79\xe7\xba\xd8\x45\x11\xda\xbe\xa7\x5c\x64\xfc\x07\xbd\x6d\x1f\x91\x77\x3a\x61\x3b\x51\x99\xdb\xce\xc7\x9d\xc2\xd7\x5c\x21\x7f\xce\x42\x65\x6f\xff\x90\xee\xbb\x82\xd4\x6b\x2b\xb5\x3a\x1b\xad\xf7\xdb\xe3\xe1\xae\x92\xea\x8f\x3b\x50\xaf\xa4\xe7\x55\xfe\xc2\x3b\x7a\xf1\xfd\xfb\x68\xff\xd2\x98\xfb\xa3\xfe\xbf\xb4\x7d\x1f\xea\x5c\x6d\xf4\xd9\xd9\xf9\x24\xb8\xb9\xfe\xfd\xde\xe5\xa3\xda\xfb\xea\xf1\x72\xf4\xf9\x9f\xc3\xf3\x50\x3f\x0e\xfb\x83\xe2\x07\x17\x85\x0f\x8b\x47\x3b\xc8\x3e\xcc\x69\xaf\xb0\x4b\xef\x3c\xab\xef\xfb\x37\xc3\xf5\xb5\xfa\xe5\x97\x9f\x7f\x0e\xff\xf3\x13\xc5\xf8\xfa\x7e\x45\x7d\x31\x20\xc5\xb3\xa5\x0c\x21\x68\x80\x0c\xb2\x3f\xb0\xaa\xc5\x6d\xf9\x78\xa7\x53\x97\x00\x4c\xcf\x3f\x09\xf5\xce\x02\xf8\x5a\xbd\x48\xe0\x83\xc6\x3f\xed\x6a\xbe\x2a\xfb\x4f\xe4\x93\xa9\xf1\xf8\x61\xd7\xeb\x42\x94\x7a\xbf\x69\xf5\x63\x64\xa1\x4f\xc8\x7e\x98\x50\xe7\xb0\xf0\x33\x4e\x3e\x01\xfb\xe5\x23\x8d\x7f\x7a\x82\x5e\xfa\xc5\x64\x45\x63\x17\xee\x5f\xef\x5a\xfb\x49\xd7\xbe\xc7\xca\x47\x23\xf6\xd9\x2a\xfc\x7e\xea\x5c\x19\x24\x6c\x27\xfa\x27\x39\xfc\x61\xc1\x7c\x68\xf9\x89\xb6\xb4\x9f\x69\x4b\xfb\x1d\x6d\x59\x7a\x6d\xb5\x08\xd3\xcf\xf6\x7a\xff\x4f\xd0\x98\xf7\x16\xf7\xca\xf4\xaa\xf0\x1c\xef\x1c\x9b\xff\x93\x9c\xff\x95\x29\xf6\x83\x2c\xfd\x3f\xec\x7d\x8b\x76\xdb\x38\x92\xe8\xaf\xc8\xdc\x6e\x85\x0c\x21\x99\x0f\x89\x7a\x19\xf6\x26\x8e\x7b\x3a\x3b\x79\xf4\x8d\xd3\xdd\xd3\x57\xd6\x7a\x68\x09\x96\x38\x91\x49\x35\x09\xc5\xf1\x44\x9a\x6f\xbf\x07\x05\x90\x22\x09\x90\x92\x93\xce\xcc\xec\x3d\x9b\x73\x22\x83\x60\x55\x11\x8f\x02\x50\x28\x14\xaa\xd8\xdc\xf7\xec\x26\x89\x96\x6b\xa5\xde\x7c\x1f\x03\x60\xda\xb2\x95\x35\xad\xd4\xbb\xa2\x78\xc4\xc9\xb6\x6c\x14\xe3\x54\x15\x7e\x8a\x9d\x33\x32\xb6\x27\x2d\x7b\x68\x21\x7a\x62\x9d\x51\x6c\x0d\x69\x65\xaf\x54\x75\x43\x7c\x62\x9d\xc5\xd8\x1a\xc6\x55\xc3\x44\x9a\xb6\xc5\xb8\x90\x2b\x16\x4b\x2d\x8d\x69\xcd\xf0\x7e\x9f\x5f\x09\x89\xf1\x39\x15\xf9\x79\x5d\x37\x1b\x9b\xcd\xe8\xd2\xd4\x7d\xf0\x0a\x09\x2b\xc4\xcb\xf0\x85\xb8\x35\x2c\xb5\xaa\xc2\x40\xc7\x1a\xb2\x32\xa8\x56\x9a\x77\xc1\x7c\x21\xed\x31\x3e\x49\xf5\x35\x90\xd4\xce\x0f\xa6\x3d\xa2\xe5\x45\x89\x35\xfe\x88\x9a\x66\xb9\x72\xf0\x2d\xc6\xe9\x3a\x2d\x18\xda\xd8\x95\x05\x7b\x45\x6e\xbf\xb0\x5c\xca\xd6\xad\x2a\x80\xc3\x0b\xa0\x62\xa2\x47\xd1\x71\x87\x39\x25\x67\x79\x8d\xe5\x7c\xdd\x52\x7d\x23\x3e\x55\x8c\x59\x8e\x45\xe3\xe0\xee\x92\xfa\x31\x98\xc9\xa8\x04\x8a\xdd\x85\x7f\xd5\xdb\x56\x8c\xe4\x91\xff\x30\x0b\x92\x55\x35\x1e\x7b\x0b\x78\xe5\x9d\x83\xe0\x39\x69\xae\x52\xb1\xda\xd7\xb0\x59\x91\x37\xbe\x82\x2f\x8a\x7d\x5c\xdd\x89\x65\xbc\xad\x4a\x28\x64\xa0\x15\x42\xe1\x1f\x2d\x12\xf2\xd9\xab\xcc\x2a\xf9\x0d\x46\x15\x8e\xf2\x03\xad\xc0\x54\xcf\x36\x79\xc6\xac\xda\xfb\xdf\xf9\x9f\x5e\x01\xc0\x7e\x0e\x55\x2c\x50\xf0\x79\x69\xb1\xe7\x2c\xd6\x42\x71\xab\x85\x82\x56\xab\x42\x28\x15\x92\x6b\x8c\xac\xf2\xfb\x9b\xa5\x1f\x7e\x80\xae\x3b\xb2\xe4\xed\x53\x01\x3b\x40\xb6\xb4\xe7\xaf\xdf\x95\x1f\x0e\x9c\xef\x10\xc9\xf6\x62\x49\x28\xf9\x9f\xcc\x32\xff\x4a\x86\xc1\xb6\x9a\x63\x14\x02\x47\xb1\xb3\x4d\xfb\xab\x98\x25\xfe\x57\x32\x4b\xcd\xa6\xf3\xab\x99\xe5\xb0\xfd\xe5\x41\x1b\x49\x69\xd6\xad\xea\x93\x74\x4f\xb9\x4e\x16\x7a\xf9\x12\x34\x6f\x8c\xd2\xae\xf2\x30\x09\xa9\xd0\x61\xaa\xea\x96\xdb\x20\x35\x74\x5c\x55\x96\xf4\xd1\xc4\xc4\x80\xaa\x61\x35\xe3\x31\x7c\x94\x95\xf0\x0f\xe2\x27\xfe\x4a\xda\x3e\x7f\xd3\xf6\x15\x4d\xf2\x87\x35\x31\xeb\xaf\x7f\xd7\xf6\x85\xd1\xf3\xff\x91\x8e\x68\x1c\x98\xe6\x04\x47\x75\xaa\x80\x3f\x68\x37\xb3\x8a\xc9\x47\xd5\x6e\x66\xba\xf0\xd9\x0e\xf1\x2b\xf7\x9d\xdf\x56\x37\xf2\x63\xba\x85\x4d\x2f\x6d\xff\x3b\x2a\x70\x62\xb2\x22\x3e\xcd\xd4\x0a\xe7\xa9\xa7\xb6\xfa\xce\x93\x19\xb3\xfa\xe4\x49\x35\x64\x1f\x0c\x14\xe0\x58\x75\xb0\xb9\xd9\x94\x73\x67\xe4\x36\x77\x1e\xc3\xd9\x46\x46\x65\x0c\x19\xc8\xf7\xf1\x5e\x90\x8f\xc1\x14\x98\x3e\xb8\x59\xd3\x92\x6c\xc5\x2a\x73\x6a\xa5\xf6\x61\x05\xa6\xbb\x0d\x3e\x9d\x69\xa7\x9a\x2c\xb2\xf0\x77\x72\x6b\x07\x89\xce\x6d\xef\x35\xa3\x7c\x96\x0b\x57\x67\x82\xf6\xb9\xd5\xbe\xb8\x3c\x37\xb5\xf1\xa9\x35\x72\x7a\xde\xc8\x9a\x6a\xd2\x49\x23\xa3\x12\x7f\xfa\x48\x5b\xeb\x30\x98\x46\x33\x72\x00\xb1\x7e\x77\x34\xe8\x56\x12\x5b\x72\x2f\x11\x4a\x2a\xac\xfa\xa6\x56\x81\x98\xba\x77\x92\x54\x71\x72\x01\xdc\x51\xc7\xb2\x2c\x17\xca\xa0\xa4\x25\xda\x45\xd8\x0b\xd6\xd5\x56\x09\x92\xb9\xab\xda\x53\x92\x33\x7b\xe4\xd4\x37\xc3\xde\xca\x9c\x79\xac\x0e\xf2\x61\xd0\x57\x4d\x35\x0f\xaa\xa9\xe6\x6b\xf5\x85\xc5\x32\xfe\xf2\xf5\x53\xcd\xbf\xb3\x1a\xfc\xc7\x5f\x94\xda\x40\x56\x23\xa8\x0f\x4b\xb0\x2a\x91\xb1\x9d\x66\xd8\x13\x65\x4f\x08\xb5\xe1\xb7\xae\x27\xe6\x9a\xc8\x6f\x3b\x75\x53\xff\xe6\x7c\x49\xfc\xb8\xba\xaf\xb1\x75\x26\x9c\x15\x95\xe8\x51\xff\x26\x91\x4f\x8a\x87\x2e\x9b\xef\xe4\xe2\x30\x68\xfc\xb9\x7c\x5b\x20\x21\x60\x9a\x50\xb6\x12\xce\xf4\xb1\xb6\xb1\x5b\x36\xac\x11\x3d\x49\x5f\xec\x14\x7d\x82\x82\x3e\x26\x63\x3a\x99\x18\x99\xf9\x84\x72\xca\x05\xe2\xda\x59\xe5\x94\x6c\xc8\x4a\x25\x49\x15\xe4\xaf\x98\x54\xe9\xb3\xd2\x9e\x83\xb4\x82\x8f\xac\x5a\x95\x4f\x42\x28\x2c\x89\x09\xa1\xba\x85\xa2\xb2\xff\x7e\xa9\xe3\xf3\xf0\xf6\x23\xe1\x9d\x47\xc2\xbb\x0a\xf8\xa2\x6e\xb1\x8c\xec\x7f\x24\xb3\x73\xb8\xb1\x2f\x73\x57\xf9\x4b\xc2\x7d\xa3\xed\x3a\xd2\x9b\xe8\x3e\x29\x7c\xc8\x2b\x7f\x28\x8a\x83\x79\x10\x02\x73\x14\xdb\xb7\x57\x86\x2c\x1a\xfa\x94\xa0\x6d\x27\x7f\xc1\xd3\x93\x3e\x03\x17\x28\x2f\x49\x1c\xf8\xcb\xc6\x2a\x8a\x69\x23\x26\xbf\xaf\x49\x42\xc9\xac\x91\xeb\xe8\xc6\x07\xf2\xb0\xf2\x67\x6d\x4d\x6a\xcc\x1c\xd0\x9f\x01\x26\xbb\xa2\xb0\x83\xf9\x18\x90\x7b\x46\xbb\x9d\x3c\x84\xd3\x4b\x90\xf0\x9f\xc5\xc4\xd7\x0b\x0d\x30\x18\xf2\xf2\x12\x57\x24\x2c\xcb\xc9\x52\x52\x37\x7c\xb2\xad\xd7\xd1\x3a\x21\x18\xac\xe3\xc7\xb2\x09\xc6\x47\xea\x58\x02\xc4\x26\x6e\x05\x50\x18\xc5\x77\xfe\x92\x43\x81\x1c\x63\xa7\xb7\xfa\x76\x30\x77\xec\x2d\xdc\x87\x49\x14\x55\x93\xbd\x44\xc2\x0d\x09\x12\xfa\x37\x4b\xd2\x02\xdc\x16\x01\x64\xb9\xe9\x12\xb0\x9a\x0d\xa2\xf0\xb5\x1f\xfa\x73\x12\xb7\x67\x41\xc2\xd0\x74\x79\x37\xc7\x3a\xe9\x79\x00\xf6\xa4\x0d\x1a\x35\x80\x6e\x83\xd3\x6d\x6b\x45\xcd\xad\x65\x75\xe4\x01\x18\xce\x7e\x88\xa6\xeb\xa4\xcc\x1b\x96\xd5\x2d\xc3\xae\xe9\x2d\x6f\x0f\x09\x54\x62\x9d\x64\x1e\xab\x41\x6d\x99\x2a\x93\x50\x54\xc0\x8e\x04\xca\x77\x40\x3f\x06\xb3\x19\x01\xab\xf2\x02\xe5\x8e\xe0\x92\x4e\x2f\x65\x8d\x4e\x6f\x18\xdc\xea\x47\xca\x8e\xcd\x0c\xfe\x41\xae\x56\x1a\xa4\x21\x90\xac\xcb\xaf\xf8\x7e\x10\xb4\x5f\xd2\x2b\x96\x89\x3e\x49\xfc\x88\x1e\x24\x48\x94\xed\x80\xa5\x96\xcb\x36\xdb\xf9\xfd\xae\x1a\x4a\x6c\xf1\xd9\xf2\x51\x06\x60\x79\xdb\xf2\x8e\x3c\xbd\x25\x7c\xe8\x18\x54\x8f\x09\xf9\xdc\x2d\x59\x44\xf7\x7c\xbe\xd7\x8d\xed\x16\xae\x03\x34\xe4\xd5\x42\xe2\xbd\x9d\xf9\x1d\x3e\xb2\xb6\x8a\x8b\x6c\x5f\xb9\xfc\x65\x34\xfe\xa5\x0b\xa0\x5d\x5c\x33\x6c\x57\x61\xd4\xa7\x94\xd2\xb2\xe5\x44\x7a\x23\xd6\x8e\x2a\x78\xe5\x82\x82\xd4\x82\x4a\x86\x74\xf0\x82\x63\x3f\x6a\xc1\xb1\x1f\xbf\xe0\x40\x2b\xb3\xd9\xec\xc6\x9f\x7e\x60\x53\x1a\x67\xbb\x47\xad\x33\x92\x64\xf8\x2d\xd7\x19\xc5\xd7\x76\x2b\x8c\xfc\x32\xbf\xb2\xc8\x6f\x0b\x6b\x8a\xf4\x56\x5e\x53\xd2\xcb\x4f\x5f\xb6\xac\x70\x2c\xfd\x31\xcb\x84\x7d\xf8\x32\x51\x06\xad\x59\x26\xec\xc7\x2c\x13\xf6\x63\x96\x09\xeb\x80\x65\x42\xd9\x43\x15\xa7\x25\x92\x3d\x00\x00\x8b\x25\x43\xb5\x58\x54\x20\x28\x2d\x92\xf9\x41\x70\x05\x02\x2c\x2f\xfb\x76\x32\x02\x58\x3e\x7b\xad\xa2\xaa\x36\x82\x7c\x1f\x55\x15\x63\xb7\x40\xd5\xac\x49\xb5\xb8\xe9\xb2\xa5\xd8\x04\xa9\xd1\xd8\xab\x8a\xb5\x68\xe7\x63\xac\x86\xcb\x93\xd4\x8f\xb1\xb2\x43\xa5\x51\x12\x93\xdb\x98\x24\x0b\x5d\x92\xe8\x2a\x76\xa3\x07\xaf\x9f\xf9\x75\xd2\xf8\xb2\x75\xd2\x2e\x5f\x8e\x59\xf8\x71\x85\xf6\x2d\xb8\xd5\x6d\xb8\xa7\xc9\xd7\xc5\xcd\xc6\x3a\xe2\xa2\x6e\x4e\xdf\x98\xb3\xef\x41\x01\xb6\x84\x13\xa0\xe2\x58\x62\xe4\x4f\x4f\xed\x3e\x92\xf7\x35\xe9\xcb\x41\xb3\x6b\xdb\x28\xc4\x5d\xdb\x96\xae\x95\x70\x98\x51\x70\x12\x8f\x02\xd3\x34\x40\x07\x1f\x4c\x8c\x53\xec\x5a\xcd\x26\x3d\xc1\x6e\xef\x2c\xc1\xb4\xe5\x82\x31\x51\x87\xe7\x75\x7a\x67\x21\xa6\xad\x0e\xe4\x0d\x78\xde\x80\xc1\xe9\xd4\xc4\x7d\xa3\x35\x80\x17\xb6\xc5\xdf\xd8\x16\x03\x17\xaf\x6c\xcb\x1a\x72\x17\xc4\xba\x54\x19\xa1\xe9\x54\x57\x26\x7b\x59\x53\x19\x01\x63\x0c\x6d\xf8\x42\xb4\xc1\xf6\xb0\x93\x26\x9d\x61\x37\x4d\x76\x86\xbd\x34\xd9\x1f\xf6\x33\x58\x6f\xe8\x38\xfc\xa1\x89\x5b\xce\xd0\xe9\x64\x0f\xee\xd0\xe9\x66\x0f\xdd\xa1\xd3\xcb\x1e\x06\x43\xa7\x9f\x3d\xd8\xbd\xa1\x3b\x80\xa7\x3d\xc5\x1f\x76\x38\x58\x5d\x2d\x86\x2e\x27\xec\xc0\x0e\x28\x30\xed\xc9\x99\x1e\x98\xd8\x41\x2d\x56\x3b\x5d\xfa\xc2\x9d\x4f\xa7\x0b\x30\x03\xd7\x9d\x6e\xb7\xc9\x7a\x11\x89\x84\x69\xef\x92\xce\xc4\x30\x9a\x4d\x3d\x61\x5f\x36\x10\x23\x68\x40\xc3\x70\x30\x78\x43\x71\x0a\x8c\x9d\x89\x31\xec\xd4\x96\x23\xfc\xba\x72\x84\x95\xe5\x08\xcb\xe5\xb0\x2d\xc1\x38\x5f\xc7\x1b\xe5\x25\x3b\x8e\xa3\x58\xd7\x84\xe3\xb1\xc6\xe5\x9f\xde\x35\xfc\x74\xc0\x0e\x1b\xdf\xcf\xda\x1a\x52\x5c\xd2\xe2\xa3\x06\x47\x27\x27\x76\x7f\x93\x9c\x9c\x0c\x36\x21\x9f\x2f\x2a\x00\xd5\x85\x29\x9f\x6a\x7f\x0c\xa6\xe4\x92\xfa\x74\x2d\xcd\x14\x7f\x94\x44\x2c\x2f\xf1\x65\x0d\xb0\x66\xca\x77\x67\x6c\xc3\xd4\x46\xf2\x8b\x4f\xf0\xe2\x9d\x56\x3d\x57\x4a\x6b\x7f\xf9\x73\x56\xa8\xd5\xeb\x52\xca\x08\x5f\x56\xbc\xa2\xe2\x2e\xba\xa5\xef\x8a\x8e\x38\xa4\x6b\x7d\xe5\xbd\x6c\xf5\xd5\x24\xc5\xcb\x82\x38\x5e\x7e\x29\xa9\x7c\xfe\x50\x71\xb9\x86\x58\xb6\xe1\xa9\x96\x28\xa4\xb2\xd4\xc9\x0c\x7c\xb5\x2d\x63\xd4\x33\xfc\x5e\xf1\xe8\x41\x2e\x83\xb8\xda\xa8\x14\x25\xe6\x4b\xf2\x91\x2c\x2b\x71\x12\x3c\x66\x58\x13\x49\x71\xcb\xdb\x02\x02\xf6\x54\x68\x8f\x4f\xec\x33\x7b\x08\x6a\x64\xc1\xd5\x34\xdb\x53\x56\xaa\x4a\xdf\xae\x80\x8e\x36\xdd\x51\xd7\x90\x76\xb3\x8c\xa6\x1f\xb4\x92\x6a\x52\x2d\x49\x54\xd2\x58\x87\x33\x12\x43\xc0\x9c\x02\x9d\xee\xb0\x6a\xd0\x54\x95\xc5\x8f\x35\x63\x2b\x6c\x2e\xbf\x77\x30\xb6\xcb\x33\x9b\x84\xfa\x7c\x19\x84\x1f\x34\x14\xcb\xda\x6f\xce\x77\xef\xc8\xbc\x7c\x2e\xa1\x9c\x8c\xe4\x63\xc6\x1d\xdf\xe9\xe2\x58\xd5\x90\xf9\xa9\xc0\x81\x70\xae\xd1\x6c\xc2\x31\x87\x8a\x1d\xc1\x00\xba\xdc\x18\xb0\xbd\x56\x9c\x45\xc8\x5c\x23\xdf\xab\x60\xdb\x6f\x31\x6e\x6a\x2a\x08\x9b\xf4\xbf\xc8\x26\x08\x2a\xb0\xdf\x24\x8e\x97\x14\x2b\x34\x8a\x0f\xf8\xa8\x34\x74\x78\x29\x36\x1b\x45\xb5\x94\x05\xd9\x6c\xac\xec\x8e\x35\xb8\x65\xfa\x91\xbb\x34\xc0\xc9\x88\x3b\x47\x2f\x9c\x80\xa7\x57\xa0\x69\xce\x70\x03\x04\xd2\x20\xb5\xd3\x05\xbf\x26\xe4\x24\x18\x5b\x13\xe8\x4d\x72\x1a\x8c\xa3\xc9\xd8\x9e\xec\xbc\x97\x30\xb9\x76\x14\x9d\xe2\x78\x04\x97\x5e\xb9\x45\xed\xed\x32\x8a\x62\x5d\x8f\xcd\xc8\x38\x76\x0c\xc4\xd0\x28\x47\xc3\xd4\xb4\x41\x27\x04\xce\x1b\x80\x36\x65\xb4\x8d\x94\xa2\x35\x8a\xc0\x7c\x3e\xfd\xc0\xce\x3b\x7e\x9c\x8b\x0e\x41\x4e\x71\xc7\xed\x3a\xcd\xa6\x4e\x4e\x70\xa7\xd3\xe9\x6d\x36\x03\xcb\x62\xc2\x0b\x81\x94\xc3\x53\xe4\x14\xdb\xf6\xc0\xea\x34\x9b\x0c\xcc\xb1\x07\x76\xb3\x69\x3b\x6e\x17\x84\x74\x78\xdd\xe9\x58\xae\x03\xaf\xbb\x5d\xc7\x72\x21\xcf\x73\x7b\x1d\x8e\xe2\x75\x9c\x6e\x97\xe7\x75\x2d\x26\x28\xb3\xbc\xae\xd5\x19\xa4\x79\x3d\x47\xe4\xd9\x6e\x0a\xe7\xf4\x53\x38\xb7\xe7\x89\xbc\xae\x28\x82\xd7\xed\xda\x16\x2f\x96\x6b\xa7\xc8\xf6\xc0\xf3\x2c\x8e\x0d\xc9\x3e\xe4\x3a\x9e\x63\x77\x6c\x3e\xb0\x03\x3c\x1e\xf7\xbc\x3e\xea\xf7\x06\x13\x34\xb6\xed\x6e\x17\xd9\x76\xb7\x0f\x69\xcf\x42\xb6\xed\xd9\x2c\xdd\x71\xba\xc8\xee\x78\x00\xd3\xe9\xd9\x88\xfd\xf0\xb4\xcb\xd2\x1d\x9e\xf6\x58\xba\xc7\xd3\x03\x96\x06\xf8\xae\xeb\x21\xbb\xeb\xf2\x74\xd7\x41\x76\xb7\x0b\x30\x9e\x6d\x23\xdb\x73\x2d\x48\x77\xfa\x88\xfd\xb0\x74\xaf\x6b\x21\xbb\xe7\x01\xcd\x9e\xd7\x63\x69\x9e\xdf\x63\xf9\x3d\x97\xa5\xfb\x56\x0f\xb1\x1f\x9e\x1e\xb0\x34\xd0\xef\x77\x2c\x64\xf7\x3d\x8f\xa5\x07\xdd\x3e\xb2\x07\x80\xeb\x58\x4e\x0f\x39\x96\xdb\x65\x69\xd7\xea\x22\xc7\xb5\x3c\x48\x7b\x1d\xc4\x7e\x78\x7a\x80\x1c\xb7\xc7\xf3\xfb\x36\x62\x3f\x3c\xcd\xe0\xfb\x40\xa7\x63\x39\xc8\xe9\x58\x2e\xa4\x5d\x17\xb1\x1f\x48\x0f\x58\xfe\xc0\xe1\xe9\x1e\x72\xba\x16\xab\x97\xd3\xb5\x06\x2c\x3d\x80\xb4\x6b\x21\xa7\xeb\x02\xcd\xae\x67\x23\xa7\xeb\x01\xbc\xe7\x58\x88\xfd\xf0\x74\x97\xa5\xa1\x0c\x9e\x6b\x23\xc7\x73\x39\x8c\xcb\xf2\xdd\x1e\xa4\x7b\x0e\x72\x3c\x68\x07\xc7\xeb\x0f\x90\xe3\x0d\x00\xb7\xd7\xe9\x23\xf6\x03\xe9\xae\x8b\x9c\x1e\xb4\xb3\xd3\xeb\x0e\x90\xd3\xf3\x38\x8c\xd7\x65\x69\x68\x87\x5e\xdf\x43\x4e\xaf\x0f\x30\x7d\xbb\x87\xd8\x0f\xa4\x7b\x1e\x62\x3f\x3c\x3d\x60\x69\x28\x7f\x9f\xb5\x49\xbf\x0f\xdf\xed\x0f\x5c\xc4\x7e\x58\x7a\xc0\xda\x64\x60\x41\x39\x07\x1d\x0f\xb1\x9f\x09\x1a\xbb\x96\xd5\x47\xec\x07\xd2\x8e\x8d\xd8\x0f\x4b\xdb\x6e\x07\xb9\xb6\x0b\x30\x76\xc7\x41\xae\xdd\xe9\xf0\xb4\xc7\xd2\x03\x48\x77\x7b\xc8\xe5\x7c\xe8\x3a\x9e\x85\xd8\x0f\x4f\xbb\x2c\xed\x42\xba\xc7\xf2\x7b\x3c\xbf\xe7\xb1\x74\x0f\xd2\x83\x3e\x72\x9d\x01\xd0\x71\x07\x2e\x72\xdd\x01\xab\xaf\xdb\xb1\xba\x88\xfd\xb0\x34\xeb\x0b\xf6\xc3\xd3\x7d\xe4\x76\x3b\x3c\xcd\xca\xd3\xed\xb0\xba\xb8\x9e\xeb\x22\xf6\xc3\xd3\x1e\x72\x3d\x91\xdf\xed\x22\xd7\x83\xbe\x73\x7b\x9e\x8d\xd8\x0f\x4f\x77\x58\x1a\xbe\xdb\xeb\xb1\xfc\x1e\x87\xe9\xb3\xfc\x3e\xe4\xf7\x19\x4c\x1f\xda\xdf\x65\x6d\xe8\xf2\x36\x74\xfb\x83\x2e\x4b\x8b\xfc\x1e\x4b\x43\x5d\x06\x5d\x17\xb9\x03\xe0\x67\x77\xe0\xf5\x91\x3b\xe0\x34\x07\xbd\x0e\x4b\x03\xfc\x80\xd1\x1f\x0c\xa0\x0c\x83\x81\x8b\x3a\x96\xc3\xda\xad\x63\xb9\x7d\xc4\x7e\x58\xda\xee\xd8\xa8\xc3\xdb\xb9\xc3\xda\x99\xfd\x40\xba\x6b\xa1\x8e\xdd\xb5\x79\xda\x65\x69\x17\xd2\xfd\x0e\xea\xd8\x7d\x46\xbf\xd3\xe9\xf4\x51\xc7\x83\xb1\xd6\x19\x74\x07\x88\xfd\x4c\xd0\xb8\x3b\xb0\x3c\xd4\x1d\x40\xff\x76\x07\x6e\x1f\x75\x07\xd0\x86\xdd\x41\xcf\x42\xdd\x01\xcc\x0f\x9e\x65\x39\xc8\xb3\x60\xbc\x78\x96\xd7\x47\x9e\x05\xed\xe3\x59\x3d\x1b\x79\x16\xf4\x97\x67\xf5\x3d\xc4\x7e\x78\x7a\x80\x3c\x0b\xfa\xce\xb3\xad\x01\x62\x3f\x90\xee\x76\x91\x67\x03\x3f\x7b\xae\xed\x22\xf6\xc3\xd2\x1d\xd7\x41\x5e\xc7\xed\xf0\xf4\x00\x79\x1d\x28\x83\xd7\xe9\x5a\x88\xfd\xf0\x74\x8f\xa5\x81\x8e\xd7\x1b\x20\xcf\xeb\x43\xfe\xc0\x76\x90\x37\xb0\xbb\x90\xf6\x3a\x88\xfd\xf0\xb4\x87\xbc\x41\x8f\xc3\xf4\x18\x0c\xb4\xb9\x37\xe8\xf5\x59\x9a\xd5\xb7\x67\xd9\x03\xd4\xb3\x1c\x56\x9e\x9e\x67\x7b\xa8\xc7\xc7\x6c\xcf\xeb\xf5\x51\xcf\x83\xf1\xd2\x77\x2c\x17\xf5\x1d\x68\xb7\xbe\xe3\x76\x50\xdf\x81\xbe\xe8\x3b\xfd\x3e\xea\x3b\xd0\x5f\x7d\xc6\xab\x7d\x17\xda\xa7\xdf\xb1\x2c\xd4\xef\xc0\xfc\x60\x3b\xae\x6b\x21\xf6\xdb\x85\xa7\x4e\xc7\x46\xec\x97\x95\xa3\xe3\x5a\x76\x07\xc1\xaf\x78\x1a\xc0\xd3\x80\x3f\x75\xba\xec\x09\x7a\xd7\xeb\x38\xac\x69\xd9\x2f\x7b\xea\x5a\x4e\x07\x79\x5d\x0b\x66\x62\xaf\x6b\x75\x3d\xf6\xc4\xdb\xa5\xeb\xb0\x86\x61\xbf\xf0\xd4\x75\xd8\x13\x9f\xab\xbc\xbe\x35\xe8\x21\xf6\x0b\xef\xfa\xb6\x65\x23\xf6\xeb\x88\xa7\x3e\x7b\xb2\x39\xa4\xdd\x75\xd8\x53\xb7\x23\x9e\x06\xf0\xc4\x57\x96\x81\xdd\x71\x11\xfc\xe9\x8a\x67\x58\x6b\x06\x36\xb4\x34\x24\xf8\x7b\xb1\x12\x0d\x1c\x9b\xad\x3f\x03\x07\x7a\xda\xb6\x07\xae\xe7\x20\xf8\xc3\xa8\x0f\xd8\x32\xd1\x45\xfc\x8f\x78\x76\x3d\xf6\xec\x41\xa9\x07\x76\xaf\xe7\x59\xec\x79\x30\x18\x4c\xb2\xf8\x2c\x99\x90\xb2\x8b\x2d\x65\x61\x8c\x83\x33\xd2\x0e\xd7\xcb\x61\x70\xe2\x3a\x9b\x4d\x70\x8a\x6d\xa7\xd7\x6c\x06\x27\xb6\x67\x9d\x11\x08\x40\x14\x47\xcb\x21\xd5\x03\xe3\xcc\x1a\xc6\xec\x8f\x33\xb4\xb7\x5b\xfd\x33\x43\xb2\x50\x0a\x60\x7d\xab\xe8\x51\x21\xb9\x6f\xbc\x23\xf3\x8b\x4f\x2b\x5d\xd3\xcf\x86\xff\xbd\x19\xff\xf7\xd5\xd5\xcc\x6f\xfd\xfd\xea\xaa\xdd\x9a\x98\x86\xae\x2f\x28\x5d\x25\x67\xc3\xab\xab\xe3\xab\xab\x63\x43\xd7\xf5\x71\x01\xe0\xea\xaa\xad\x8f\xf9\xe3\xe4\xb3\x83\xbc\xad\x61\x6c\x74\xfd\xea\x6a\xf6\xd9\x46\xee\xf6\xea\xaa\x6d\x7c\x66\x7f\xf8\xa3\xb1\xd1\x97\xd1\xd4\x5f\x2e\xa2\x84\x1a\x86\x3e\xe4\xf9\xdd\xad\x71\xa6\x5f\x5d\x1d\x8f\xe1\x1b\xf7\x57\x57\xed\xab\xab\xd6\xf7\xff\x98\x3c\x35\x9e\xea\x57\x57\x67\x63\xab\x35\x80\xec\xf1\xd5\xd5\xe4\xea\x4a\xbf\xba\x32\x00\xf0\xec\xea\xea\xe8\x3f\xfe\xf3\xbb\xef\x9b\x4f\x9e\x9a\x68\x38\xfa\xc7\xd5\x15\xe6\xa8\x93\xa7\xc6\x99\xfe\x1f\x5f\x84\x66\xe8\xdf\x41\x0b\xe4\xca\x31\x31\x0d\xcd\x40\x11\xb6\x2a\x7d\xf1\xa4\x22\x71\xc8\x2f\xb2\x7e\x78\xed\xd3\xe9\x82\xc4\x2f\x67\x38\x12\x22\x70\x1c\xdd\x0b\x8f\x0a\x2f\x67\x09\x1e\xa7\x46\x04\xcb\x1d\xf0\x2e\x37\x26\xf3\x20\xa1\x24\xce\x51\xd2\x03\x08\xc0\x82\x3e\x83\x4a\xeb\x65\x38\x23\x9f\x86\xf6\x56\xe9\x21\x97\xc7\xe4\x7b\x1f\xbd\x88\xee\x54\xe1\x60\xae\x53\x07\xaa\xa9\x3b\xcb\x6b\x08\xfd\x41\x25\x4b\xbb\x0f\xc1\xed\xc3\xbb\xe8\xbe\x18\x67\x3b\x55\xff\xa4\x44\x0a\xae\xc1\x8a\x95\x1c\xd3\xc9\xa8\xec\xb6\x36\xbb\x07\x57\x86\xcc\x7b\xa9\xdd\xb5\x0c\x2f\x01\x8f\x3a\x47\xc1\xcb\x9a\x81\x48\xfb\xfd\xcb\xd7\x17\xd7\xcf\x2f\x7e\x78\xfb\xee\xe2\xfa\xd5\xcb\x37\x7f\x7e\xf9\xc3\x6f\x92\x5e\x85\xd0\x1f\x1f\x18\xff\x8b\xfe\x48\xf7\x13\xf2\x26\x26\xdf\x01\xe3\x68\x92\x3a\x53\x53\xf8\x95\xcd\x08\xfe\xe2\x2f\x83\x19\xd7\x63\xf8\xcb\xe5\x8d\x3f\xfd\x70\x00\xdd\x8f\x32\x12\x29\x6f\xb7\xa4\x5e\xc7\xe5\xf1\x1e\xdc\xea\xbb\xc0\x93\x70\x03\xf6\x73\xea\x3b\x59\xe6\xbd\x23\x8c\xa3\x66\xf3\x88\x1a\x74\x11\x47\xf7\x10\xed\xe3\x82\x6b\x18\x45\x25\x1b\x77\xeb\x84\x36\x6e\x48\x23\x8d\x1a\x97\x4e\x09\x9f\x03\xe1\xb5\x50\x26\x6a\x9a\x28\x26\x73\xf2\x69\x48\x90\xa0\x32\xa4\x28\xc7\x94\x71\x7b\xf7\x80\xe4\x4a\x0f\x63\x45\x4b\xa0\x55\x1c\x44\x71\x40\x1f\x86\x71\x3b\x4d\xb2\x2d\xe1\x28\x1f\x84\xe3\xda\x9f\xcd\x72\x25\x79\x1f\xbd\x0a\x12\x0a\xfe\xf6\xdb\xc1\xac\xd8\x92\x4a\xd0\xb2\x1a\xd3\x3a\x4a\x55\x95\xf9\xae\x12\x3b\xc8\xbc\x9d\x75\x25\x50\xcb\x1e\xd1\x53\x6c\x8d\x68\xab\x65\x80\xb9\x41\x5a\xf6\x13\x05\xce\x98\x4e\xb2\xf7\x79\x97\x56\x0d\x05\xf9\xf4\xc2\x05\xdc\x88\x22\xa9\xc6\x57\x05\x62\x01\x40\x5e\xdd\x5b\x80\x82\xfb\x3b\x65\xdf\xca\x33\x52\xcf\x69\xf9\xba\xef\x2e\x08\x2b\xea\x0f\xe6\x13\xd9\x8c\x50\xae\x6c\x30\x63\x7b\x59\xa3\xd0\x85\xca\x5a\x22\xdb\x40\x47\xd6\x28\xdb\x38\x17\xbb\x52\x35\x11\x15\x1c\x16\xf2\xf9\x6b\x4c\x26\xe0\xe9\x8a\xfb\x4b\xcf\x9c\xc0\xe6\x82\xe8\x59\xa3\xb8\xa6\x2a\xb1\x69\x16\x3c\x14\x16\xab\x13\x4f\xb2\xe3\xae\x59\xf4\x2a\x2b\x91\x4e\x51\x00\x0e\xb6\xa2\xcc\x31\x23\xb0\x56\xa0\xe0\xf1\xcc\x04\x45\xe5\x78\x31\x82\xe2\x2b\xb0\xf4\x42\x6d\x10\x45\x05\x9b\xdb\xcd\x46\x32\x19\xe3\x8e\x13\x83\x10\x48\xb5\x40\x5f\x06\xbe\xa5\x43\x6c\x8d\xc2\x93\xb4\x9c\xa3\xd0\x34\x8d\x44\x0f\xd3\xf0\x7c\xdb\x6d\x69\xfe\x2c\x54\x53\xe9\xe4\x7c\x3c\x41\x01\xa6\xbc\x97\x23\x94\x60\xd2\x9e\x2e\x82\xe5\xec\x4d\x34\x23\x09\x0a\x71\xc1\xe7\x39\x9f\x12\x74\xda\x86\x99\x03\x5a\xec\x28\xdc\x6c\xd8\x24\x16\xa6\x03\x4e\xf0\x49\x9c\xf5\x98\x8f\xc3\xb1\xc6\x83\xc8\x6b\x47\x69\x34\x4b\x9a\x9b\x5d\xce\xac\x61\xfe\x11\xa2\xe5\xf1\x98\x8c\xa6\x9f\x1e\x54\x2e\xb0\x35\x5a\x9c\x64\xbd\xbc\x48\x7b\x79\x8a\x93\xf1\x62\x82\xd6\x78\x5a\x28\x67\x1a\xd1\xd1\x87\x32\xae\x4f\xb1\xc5\xc1\x67\xa2\xf3\xb9\xfb\xff\x67\xe1\x74\x11\xc5\x69\x10\x00\x1f\xd1\x74\xd1\x10\xdc\x50\xa4\x99\x5d\xb8\x4c\x0b\xc5\x86\x8c\x8b\x31\x9e\xb6\xc3\x68\x46\xde\x3f\xac\x52\xaf\x6a\xc2\xd9\x27\x6b\x42\x7d\x8a\x66\xdc\x06\x09\xbe\xbf\xc2\x53\x46\x58\x7b\xa6\x61\x8c\x57\x80\xf7\xc6\xbf\x23\xbb\x46\x5b\xe5\x43\x97\x6b\x68\x55\xf0\x2c\x3f\x13\x13\x04\x14\x6d\xd7\x4b\xb2\x75\xd4\x2d\xb6\x46\xb7\x27\x0a\x98\xd1\x6d\xda\x70\x73\x9c\x7f\x3d\xbe\x9d\xa0\x3b\x3c\xaf\x69\xc3\x96\x7d\x84\xf1\x5d\xba\x28\xe6\x6a\x78\x99\x3a\x73\xfd\x35\xa0\x0b\xa8\xf2\x1c\xcd\x90\x8f\xee\x84\x56\x59\x9c\xe3\x2c\x4c\x7c\x00\xea\x14\x50\xd7\xdc\xd3\x28\x9f\xf5\x66\x06\x3a\xd2\xcb\x7c\xb8\xf3\x20\xbb\x34\x4a\x4c\x69\x54\xf1\xe3\x17\xf0\xa1\x29\x31\x62\xe6\xb2\xbb\x74\xce\xa6\xe2\x28\x69\xd1\xcf\x4f\x4b\xb3\x8a\x48\x14\xbe\x96\x85\xda\x0c\x4a\xe1\x06\x82\xf6\x2c\xf6\xe7\x73\xff\x66\x09\x67\x40\xf1\x99\x1e\xb4\x17\x31\xb9\x85\x57\xd4\x8f\xe7\x84\x62\xed\x1a\xae\xe7\x69\x28\x50\x46\x11\x0e\xa6\x1f\x72\xee\xeb\xb9\x1c\x42\xb3\xa9\x5d\x8f\xd9\x1a\x64\x18\xc3\xc3\x91\x8f\x02\x65\x44\x74\xd5\xec\x55\xfe\x0c\x2a\x5d\x2d\xca\x73\x46\xc5\x2a\x36\x9e\xa0\x18\xdb\xa3\xf8\xc4\x4f\x63\x05\xe5\xa7\x7d\x3a\x8e\x5b\xf6\x04\x67\xef\xc6\xf1\x24\x9b\x84\x78\xc4\xd5\x34\xa6\x01\xe2\x2e\xff\xd2\x31\x3d\x8a\xd8\xfa\x27\xce\xdf\x9e\x93\xdb\x28\x26\x3a\x1d\x47\x13\xb6\x64\x07\x85\x48\x07\xe5\x25\xb8\x96\x9b\x15\xe1\xc6\x83\x5b\x1d\x74\xc4\xf2\xc8\x04\x07\x9c\xf9\xfc\xb1\x35\x31\x90\x0b\xc6\x1c\xb9\xe9\xa5\x24\xff\xf1\x5e\x67\xf0\x99\x08\xe8\x37\x18\xd7\x34\x18\x4e\x23\x8a\x1b\x51\xb8\x7c\x68\x88\x8e\x69\xf8\x8d\x24\x08\xe7\x4b\xb2\x03\xc9\xa2\xad\x14\xc6\x17\x1b\x7e\xb0\xe3\xe5\x3c\x9b\xe0\xa8\xe0\x1d\x5a\x8c\x2c\x14\xaa\x79\xf9\x3d\xf9\x04\x45\xd2\x13\xa3\x28\xf8\xe5\xe7\x45\xd6\x24\xa1\x81\xac\x2d\xb8\x72\xc4\xa5\xf1\x2d\xe4\xb2\xec\x53\x22\x14\x6d\xbe\x18\x16\x0a\x0c\xb4\xdc\x53\x02\xbf\xb6\x04\x4b\xb6\x0d\xb1\x40\xc3\xbd\x90\x69\x4f\xf7\xd0\x5e\x18\x68\x5d\xc0\x0a\xcc\x5d\xd3\xcc\xf6\x20\xaf\x6b\x0b\x36\x45\x14\xcd\x0c\x64\x8b\xb3\x94\x44\xb5\x53\xc2\x8e\x65\x21\xda\xe6\xab\x7b\x40\x62\x9c\xfc\x33\x3c\xd8\x7e\xde\x8e\x92\x31\x1c\x9d\x3f\xbf\x78\x35\x29\x09\x14\x99\xbb\xdf\x1b\xb2\x5c\xea\xc6\x16\x09\xd0\x57\x3f\x54\x42\xa6\x5e\x01\x73\xd0\xbf\xbc\x9f\xe0\x1d\x62\x9a\xfb\xc3\x0f\xaa\xdc\xf3\x77\x95\x94\x8b\x7e\xf8\x72\xf4\x9f\x5f\x56\x97\x3b\xf5\xc0\x97\x03\xff\xf1\x7d\x25\x38\xf5\x6f\x72\x80\x97\x6f\x2b\x01\x53\x4f\x7a\x79\xe8\x97\xf5\xd0\x2f\xf3\x45\xbe\xb8\x3c\xaf\x80\xe6\x87\xa6\xd4\xa7\x44\x5f\x30\xb0\x67\x3f\x5d\xbc\x30\xb6\xe2\xb0\xed\xf3\x76\x14\x8e\xb5\xb1\x56\xc6\x85\x58\xd0\xfe\x1d\xd7\x53\xb4\xa7\xeb\x98\xcd\x8b\x3f\xb1\x2c\x6c\xa1\x02\xc5\xf3\xcb\x97\xd7\x3f\x3d\x7b\xf7\xec\x35\x93\x3c\xc7\xda\xe4\x2b\x48\xbd\xbd\x3c\x67\x44\xda\x3f\x7d\x31\x85\x17\xe7\x97\x40\xe1\xba\x44\xa1\x00\xf4\xf2\x4f\x6f\xde\xbe\xbb\xe0\xc5\xfd\x6f\xa9\xb8\x15\xa0\xed\xa9\x54\x28\x61\x37\xcf\x5e\x5e\x48\x2f\xe1\x9c\x97\x4b\x06\xba\x51\x2c\xe4\x9b\xb7\xef\x5e\x3f\x7b\x05\x78\x2f\x24\xbc\x7d\x18\xaf\x15\xc5\xf8\x48\xe2\x84\xbc\xac\x47\x1c\x6b\xdf\x2b\x7a\x26\xef\x60\x11\xd1\xfd\xf7\xae\x54\xc4\x59\xe6\x87\x60\xf5\x86\xcd\xcd\x0b\x1e\x36\x26\x14\x43\xef\xd9\x9b\x49\x61\x99\x56\x71\x64\x5a\xc4\x11\x9f\xbf\x3f\x6f\x47\xfe\x58\x3b\xd3\xaa\x11\x7f\x82\x73\x7d\x5d\x3b\xd3\x8c\x2d\xf2\xc7\xda\xe9\x01\xb0\xa7\x02\xf6\xe8\x00\xd8\x23\x0e\x6b\xd5\x40\x32\xd6\xd3\x6d\xeb\x29\x81\x98\xc1\xf0\x64\x00\x92\xfd\x48\x24\xd3\x06\x34\xe7\xb1\x68\x0e\xa0\xb9\x8f\x45\x73\x01\xad\xf3\x58\xb4\x0e\xa0\x75\x1f\x8b\xd6\x05\x34\xef\xb1\x68\x1e\xa0\xf5\x1e\x8b\xd6\x03\xb4\xfe\x63\xd1\xfa\x80\x36\x78\x2c\xda\x80\xa1\xb5\xbf\xab\xc6\x8a\x12\x0a\xdc\xf4\x1d\xe7\xa6\x27\xda\x93\x9a\x4f\x08\xe0\x27\xda\x13\xce\xa6\x8d\x3a\x36\x4d\x29\x37\x04\x4f\x3f\x39\x04\xf8\x89\x00\x1e\x55\x01\xa7\xa1\x57\x44\x05\x19\xf0\x17\x8e\xe1\x25\x1b\xc3\xcb\xb1\xf6\x9f\xa5\xf9\x86\x49\x1b\x19\x72\xce\x7f\x2b\x44\xc6\x5e\xb6\x9f\x55\x03\xa7\xbe\x4d\x05\xe4\xf3\x7d\x90\x2f\xa2\xfb\x50\xc0\x9e\xef\x83\x15\x5e\x00\x05\xf8\x8b\x7d\xe0\xa9\x9f\x0d\x01\x7f\xb1\x0f\x3e\xf5\x76\x29\xe0\x7f\xd8\x07\x5f\x70\x34\x29\x90\xfe\xb4\x0f\x29\xef\x0a\x52\xe0\xfc\xb8\xf7\x43\x69\x98\x1b\x0e\xff\xf2\xc0\x76\x7a\xef\xdf\x08\x8c\xff\xaa\xc6\x28\xfa\x3c\x14\xf0\x7f\xde\x0b\x9f\xab\xf2\xab\x7d\x9c\x03\x1e\xbb\x04\xf0\xeb\x6a\xe0\x9c\x7b\x2f\x01\xfc\xd3\x3e\xe0\x3c\x4f\x5e\x56\x03\xa7\x9e\x91\x04\xe4\x7b\x09\x32\xdd\xa1\x9c\x38\xcd\xe6\x51\xdc\x6c\xe6\xdd\xfd\x08\xa4\xbf\xec\x69\x92\x7c\x51\xfe\xef\xa1\x9c\x99\xf5\xd0\x58\xfb\x6b\xdd\x08\x2c\xb9\x72\x11\x9f\xf1\xab\x11\x24\xbf\x2a\x02\xe5\xa6\x1a\xa5\xca\xcb\x89\xc0\x9c\xd6\x34\xaf\xc2\x89\x88\xc0\x9a\x55\x63\x95\x7c\x46\x08\x84\xf2\x2e\x3b\x87\x20\x39\x70\x10\x28\xb7\x35\xcd\xf0\x4b\x69\xe8\xcc\xab\x61\x53\x57\x01\x02\x72\x51\x57\x5f\x7e\x25\x91\x03\x2e\xeb\x9a\xb4\x08\x7a\x57\xdf\xc3\x52\xeb\x85\x75\xfc\xbf\x33\x04\x17\xd0\x2b\x09\x5a\x98\xa5\xc6\xdc\x2c\x55\x3b\xd2\x86\x39\xcb\x66\x86\xc5\xd0\x7e\x57\xe8\x35\xb4\x86\x86\x31\x0e\x60\x20\x14\x2c\x61\xc5\xa7\xca\x51\x4b\x0a\xeb\x4c\xce\xe4\x53\x80\x27\x95\xe0\x99\xed\xa4\x80\x5c\x57\x41\x16\x6c\x1e\xc5\x98\x51\xad\x79\x48\x38\x8b\xca\x50\xa3\xca\xb5\x6f\x31\x3a\x2a\x7a\xca\x20\xe2\x3d\xb6\x26\x58\xe3\x49\x0d\xb1\x6c\xb1\x11\xc3\xf6\x04\x6b\x22\xcd\x5f\x64\xfb\x29\xec\x4c\xb0\x96\x3d\x65\x2f\xb1\xcb\xb3\x79\xc6\xdb\xcb\x73\xdc\x99\x60\xed\xed\xe5\xb9\x80\xe0\xa2\x3a\xee\x32\x28\x9e\xe6\x2f\x5e\x9c\x5f\x62\x6f\x82\xb5\x17\xe7\x97\x3c\x83\xef\x6d\x70\x6f\x82\x35\x9e\xd4\xb6\xfa\x62\xb3\xd1\x17\xf8\x73\x1a\x41\x7b\x5a\x71\x04\x9e\x3b\x61\x0e\xf2\x26\x9c\xe5\x8b\x6b\x99\x6b\x93\x04\xe2\xe3\xa7\x8d\xa5\x3a\xc9\x86\x38\xcd\x4a\x37\x5d\x53\xb4\x46\xb3\xec\x3e\xd2\x68\xe7\x82\x36\x8b\x24\x26\xdb\x8f\xaf\xe3\x38\x9a\xfb\x94\x5c\x2f\x82\xf9\x42\x15\xb8\xa6\x08\x61\x4a\x37\xee\x8a\xef\xb1\xa6\xa5\x27\x73\xe9\x47\x4f\x66\xa5\x0c\xd3\x04\xdd\x5d\x8c\xc9\xb8\xf8\x62\x82\xba\x5d\x67\xe0\x9d\x60\x7d\x8a\xf9\xa0\x3c\x8f\x66\xe4\x19\x2d\xd5\xc2\x30\x9a\xcd\xe9\x09\xee\x7a\xae\x3d\x00\x4a\xeb\x3a\x68\xd3\x36\x50\x90\xbc\xf1\xdf\xe8\x6b\x43\x36\x0c\x2e\x16\x3e\x1e\x4d\xa3\x90\x06\xe1\x9a\x6c\xa7\xd8\xb6\x9c\xce\x53\x7d\xda\x82\x32\x19\xa6\xbe\x6e\x75\x3d\xd7\xb1\x0c\xd3\xeb\x76\x5d\x0f\xc5\x26\x4e\x27\x0e\xf9\x8b\x5b\xb0\x87\x05\xf8\x13\x3c\xe5\xc5\xed\xb9\x1d\xd7\x48\x6f\x7c\xe4\x3a\x5b\x98\xad\xa7\x5d\x3e\x8c\x1b\x41\xd8\x48\xce\x92\x71\x3c\x11\xc7\xfb\x12\xfb\xa4\x77\x64\xf2\x79\x69\x48\x23\x3d\x46\xd3\x82\x0d\x7a\xa6\xca\x18\xb2\x46\x67\xc4\x43\xe3\x73\x58\xa2\x9e\xb6\x48\x7a\xce\x50\x9a\xbc\x74\x0d\x0c\xd9\x35\x43\xfc\x7d\x2a\xfe\x9a\xe2\x6f\x4b\xfc\x6d\x6b\x43\x19\xb3\x7c\x25\x20\xbd\x2f\x90\xbf\x58\xca\x28\x57\xc1\xe5\x6f\xab\xb2\x2f\x57\xc1\x39\x79\x38\xb3\x1a\xce\xcd\xc3\xb5\x0e\xfc\x6e\xbb\xe6\xbb\xdb\xe2\xd0\x15\x93\x49\x1e\xfb\xb8\xa6\x34\x48\x89\x8d\x8a\x3c\xd5\x6a\xe5\xc9\xbd\x11\xcd\xfd\x56\xcb\xdd\x07\xd7\x42\xe9\x23\x3b\xa5\x85\x93\x67\x09\x2d\x12\xf8\x9b\x1a\x0c\xb7\x80\xb1\x3d\x98\xf6\x3f\x6a\x20\xed\x02\x64\x4f\x53\xb1\x71\x6e\x55\x32\x94\x73\x62\x9e\x44\x5f\x49\xa2\xb8\x5c\xed\xa7\xf2\x1f\x29\x95\x22\x08\x2a\x4f\x5b\x79\x9c\x1f\xa5\x6a\x52\xff\xe6\x32\xe7\x1d\xa2\xfa\x73\x58\x42\xfd\x97\x3a\x8a\xd9\x5b\xde\xd3\x8a\xf2\xfe\x73\xfd\x0c\xd4\x15\x73\x46\x6e\xfd\xf5\x92\xd6\xf5\x62\xd5\x75\xc2\x8b\xcb\xf3\x46\x6a\x4c\xd8\xf8\x3e\x69\xc3\x45\x9a\xc2\xec\x29\x06\x24\x9f\x97\xa3\xf4\xf1\xf2\x4c\xa7\x78\xf7\x34\x8e\x27\x48\x3b\xd6\xb8\x01\x12\x7c\xb1\xa8\xe9\x33\x86\x0c\xba\xa4\x25\xac\x73\x9e\x54\x31\x5d\x20\x2a\xb5\xea\x5c\x71\xff\xaa\xb2\x33\x1b\xa0\x3b\x86\x95\x80\xc9\x98\x42\x1f\xbe\xd9\x64\x4f\xcf\x2f\x5e\xed\x44\xd7\x1c\x48\xea\x43\x63\x37\x1a\xca\xe5\xe0\x9a\x67\x7e\xce\x2c\xdf\x39\xcb\x14\xd1\x72\xec\x23\xc0\xcb\x7b\x5a\xaf\xbd\xc6\x25\xc0\x55\x61\xec\x78\xec\xf3\x2a\xf8\xf2\x77\xb9\x79\x02\x84\x52\x57\x12\x32\x8c\xad\x92\xd4\xce\x4c\x51\x59\xbf\x4c\xc6\x2a\x49\x72\xaa\xcb\xa7\xa2\xc9\xb8\xbc\x56\xf6\x1e\x98\x27\x6a\xe2\x78\x18\x9f\x62\xcd\xd2\x9a\xcd\xf8\x04\x6b\x03\xad\x0e\x1a\xdb\xd6\xd3\x3a\x62\x71\x5e\x5a\xb2\x8c\x56\xa7\x3f\xd4\x46\x9a\x3a\x74\xd7\x97\xf6\x6a\xa1\x3c\x9a\x56\x92\x48\x32\x61\x3d\x93\x49\x7c\xe3\xb3\x9f\xca\x24\xa9\x10\x02\x24\x4b\xea\xb6\xf2\x6a\x79\xf9\x32\x47\x93\x8f\xd1\xe5\xd9\x32\xa5\x54\x5c\x18\xd4\x9c\x27\xe5\x82\x76\x5b\xca\xe5\xfa\x41\xc8\xde\x77\x45\xf9\xfc\xf2\x65\x63\x1a\xcd\x48\x36\xa1\x28\x39\x42\xfd\xdd\x2c\xe6\xa6\xf4\x69\xac\x69\xc5\x46\x7c\x71\x7e\xb9\x6f\x20\xd7\x8f\xe0\x11\xb7\xa2\xe1\xb6\x93\xe8\x36\x0d\x83\x5c\x10\x51\xa5\x1b\xcd\xb0\x24\x14\xe4\x8e\xef\x7e\xcf\xa4\x3e\xc9\xe7\x45\x9e\x0d\xd0\x2d\x9b\xef\x57\x9c\xc4\x13\xed\xf7\x27\xc3\x15\x7e\x62\x69\xbf\x3f\xc9\x55\xeb\x89\xb6\x82\x6c\xcf\xd6\x56\xf9\x7c\x2d\xd6\x86\x12\xf1\xec\x7e\xa2\x69\x2b\xef\x17\xe7\xaf\x26\xc2\x55\xe3\x38\xdf\x82\xda\x1d\x23\xa9\x59\x77\x9a\x72\x15\xa9\xea\xdc\x17\xe7\x97\x8d\x9f\xa8\xe8\xda\x95\x81\x20\x14\xaa\x34\x91\x17\xee\x44\xff\xa4\x99\x0d\xf3\xd6\xd4\xbe\x8b\x35\x73\x65\xee\xf2\xaf\xae\x0a\xe3\x42\x33\x57\x85\x76\x35\x7f\x57\xd4\x59\x6e\xd0\xc3\xbe\x6d\x56\x7f\xfb\xf0\x7a\x73\x1e\x10\x75\x57\xf3\x47\xb9\x29\x94\x53\x63\x25\xcf\x1f\x30\x67\xe6\x09\xee\x9b\x32\x95\x5f\xdb\x6c\xb4\xef\x60\xb2\xdb\x6c\x34\x13\x12\x67\x0a\x8f\x52\x1c\xf6\x80\xa9\xb9\xea\x33\x8a\xef\x17\xd1\x8a\x83\x99\x2b\x16\x86\xf1\x51\x7e\xc0\x66\x4f\xcf\x2f\x5e\x6d\x36\x87\xad\xc7\xc5\x26\x34\x32\x1b\xab\xdc\x5b\xf9\xa2\x30\xe0\xc8\xe6\xda\x9c\x96\x0c\xcf\x0f\x00\xf7\x5f\x29\x56\xa1\x8a\xc9\xac\x0e\x57\x80\x28\x90\xa1\xe5\xea\x9d\x02\xec\x5a\xb8\x84\x3f\x97\xf0\x77\x66\x02\xd5\x54\xd4\x61\xf7\x25\x42\xdf\x62\xd5\x2c\x05\xb3\xca\x0b\x94\xf2\xa7\x77\x7c\x90\xdd\x19\xfe\x89\x89\x85\x31\x9e\xee\x31\x65\xc9\xb4\x55\x41\xee\x82\x7d\x3b\xba\x0f\x49\xfc\xa2\xc2\xae\x2e\x59\xf9\xa1\xc6\x3e\x91\xb3\xaf\x5c\x90\xe5\x32\x6a\xdc\x47\xf1\x72\xa6\x21\x52\x30\xb5\xa4\x5c\x47\x16\x63\x2a\x22\x71\xff\x1a\xcc\xc0\x5f\x0e\x2d\x44\xfe\x1e\xa5\x01\x33\x6f\xa3\x90\xfe\xca\x63\x63\x6b\x37\xd1\x72\x96\x85\x03\x2f\xa0\x27\x65\xf4\x9c\xba\x72\x67\x64\x46\x0d\xc4\x46\x51\xb4\xd9\x04\x47\x18\x27\xdb\x2f\x32\xdc\x89\x50\x82\x63\xdd\xf1\x0c\x59\x69\xf9\xfc\xed\x2b\xae\x9a\x64\x09\xae\x2e\xfc\xf9\xcd\x8b\x8b\x77\xaf\x5e\xbe\xb9\x00\xbd\x64\xf6\xc4\x5f\x3e\x7f\xf5\xf2\xcd\x9f\x41\x11\x09\x29\xa1\x60\x7c\xf3\xcb\xc5\xbb\xcb\x0b\xdc\x9f\x60\x4d\xa4\xb3\x17\x2f\x2f\x5f\x3e\x7f\x75\x81\x6d\x8f\xbf\xe3\x8f\xda\x56\x8f\x36\x1b\x3d\xda\x29\x20\x43\x2e\xfe\xfb\x55\x7a\x48\x39\x2c\x76\x7a\xe7\x84\x3b\x6b\x7a\x17\xdd\x27\xff\x67\x4d\xd6\x64\x27\xde\x8a\x37\x3f\xc4\xfe\x1d\x49\x2e\x3f\x04\x10\x44\xd8\x2a\xbe\x7c\x16\x06\x77\xb0\xa1\x03\xa8\xc2\x16\x64\xe5\xa7\x81\xc9\x79\x9b\xff\x14\x45\x4b\xb8\x56\x95\xb4\x5f\x44\x77\xd2\xab\x94\xab\xe0\x46\x0f\xc6\x38\x04\x0f\x33\x41\x45\x94\xd6\x2c\xec\xc9\x97\x7e\x46\xa5\x59\xfd\x9d\xd5\xff\x1d\xaf\x98\xf2\x92\x50\xb9\xad\xf8\x00\xff\x9c\x50\x3f\xa6\x43\x82\x48\x38\x1b\xd2\xec\xe6\x89\xb2\x85\x32\x27\x0b\xea\xf6\xbb\x0f\xc2\x59\x74\xdf\x16\xdb\xff\xe2\xcb\x22\xe2\xab\x28\x5a\xed\xae\x00\x19\x65\x9f\xe0\x79\xb0\x3c\x4b\xa8\x42\x59\x07\x94\x70\xef\x5e\x99\xbd\x7e\xba\xb8\xa8\x38\xc0\x34\x4f\x70\xd7\xf8\x36\x95\xe0\xb6\xdd\x75\xdc\x07\xbc\x4e\x10\xdd\x05\xf0\x96\xfa\x44\x54\xa2\x63\x10\xc6\xac\x6a\xa7\x28\xfc\x43\x04\xab\x49\x8c\xad\x49\x1b\xfa\x34\x43\x57\x41\x90\x70\x96\xbb\x48\x61\x67\x17\x29\x2a\x0a\xc4\xad\x6a\xd5\xd4\x62\xf1\xbd\x13\x92\xd3\xc0\x57\x42\x19\x15\x23\x97\x01\x90\x70\x76\x4a\x73\xe1\x03\x2b\x60\x52\x31\x6d\xef\xe0\xaf\x1e\xdf\xa9\x93\x37\x36\x3c\xca\xf7\x24\x62\xe5\x18\x82\x86\x1a\xd1\x16\x51\x3a\x33\x3f\x76\x54\xb1\x0b\x53\x7f\x8d\x3b\x73\x63\xd9\x47\x7e\x0a\x53\x98\xf6\xa5\x0f\x9c\x73\xb3\x5d\x12\x57\xc4\xdf\x07\x1f\xd3\x09\x26\xfc\xd8\xe4\x40\x7f\xeb\xa0\x08\xfb\x2b\x09\x67\x7f\x6d\x04\x49\x83\x46\x51\x63\xe9\xc7\x73\xd2\x6e\xbc\x8e\x12\xda\x58\x06\x1f\xc8\xf2\xa1\xe1\x37\x6e\xfc\x59\xe3\xfc\xf2\x1d\xa8\xc4\x2a\x3c\xb4\x8f\x92\x13\x4c\x47\x49\x7a\xa3\xc0\xc7\x89\x14\x92\x02\xdc\x17\x2e\xab\xe3\x5a\xf8\x06\x5a\xa4\x7b\xb8\x85\xec\xb7\x07\xe3\xa4\xa5\x8e\xa8\xa7\xfa\x90\xdc\xcc\xa9\xa3\x1a\x9f\x92\x66\xb3\xec\x14\x38\xef\x8d\xa9\x2c\x2d\x7f\x1a\xb6\xec\x6c\xa4\x4c\xab\x1c\x0f\xad\x71\xc9\xbc\x37\x15\x3e\x7e\x88\xfd\x39\x88\x1d\x06\x9a\xc1\x35\x8e\xb4\x8e\xe5\x22\xb0\x8e\x8f\x49\x38\x4e\x26\x59\x3a\x1d\x7b\xbc\x51\x6f\xa5\x3e\x57\xa0\x80\x63\xfa\x6a\xb0\x3c\x93\xdd\xd6\x2e\x42\xed\x98\x2c\x89\x9f\x10\xfd\xd6\xd8\xa6\xb5\x9f\x63\x6b\x34\x3f\x09\x46\xf3\xb4\x9f\xef\xf0\x72\x3c\x9f\x8c\xad\x09\x7a\xe0\x29\x7b\x82\x6e\x78\xca\x81\xbb\x5b\x37\x30\x67\xcf\x31\xc6\x8b\x66\x53\xbf\xc3\x2d\xdb\x40\x77\x47\x18\x4f\x9b\x4d\x7d\x7a\x24\x6d\x5b\x44\x6b\x36\x9b\xfa\xac\xd9\xd4\xf3\x17\x60\x66\xd0\x7a\x06\x5a\x17\x44\x33\xd8\xc0\xb2\x51\xcd\xa9\xaa\xa9\x19\x46\x70\xcb\xe8\x1d\xad\x18\x4d\x5c\x57\x67\x7f\xfa\xfb\x3a\x88\x89\x6e\x18\x68\xf5\x88\x42\xb0\x52\x1c\x44\x96\xfb\xb4\xbb\x33\x56\xe5\x2b\x5e\xc2\xb6\xb3\xf5\x31\x98\x91\x48\x33\x90\x04\x90\x56\xaa\xc5\x59\x55\xcb\x5d\x24\xba\x06\x77\x74\x77\xe8\x1c\xdf\xa5\x1e\xea\xee\x59\xd2\xee\xb3\x1e\xb8\x6f\x46\x20\xe5\x31\x79\x64\xb3\x91\xe8\xf2\xdb\x19\x20\xa6\x1a\xe8\xfc\xa4\xdf\x6c\xea\xe7\x26\xee\x1b\x06\x62\x88\x99\xf4\xd7\x6c\x56\x60\xe6\x3c\x47\x01\x06\x88\x85\x95\xd0\x37\xfc\xfa\x07\x40\x0a\x49\x91\x33\xd2\x25\xbe\x1e\x5d\xe3\x73\x74\x8e\x2f\x91\xdd\xbc\x6f\x36\x73\x45\xd9\x0a\x68\x2e\x3b\x56\xd2\x5e\xc0\xe8\x2d\x12\x6f\x36\x75\xa7\xdb\xc3\x18\x5f\x37\x9b\xfa\x35\xb6\xbb\x06\x72\xba\x1e\xc6\xf8\x9c\x11\xc7\x96\x61\xa0\xeb\x13\xa7\xeb\x55\x17\x78\xde\x9a\x46\xcb\x28\x6e\x69\xe6\x35\x6b\x9f\x3a\xd8\x14\xf0\x1c\xce\x4f\xd9\xa6\xfc\xc6\x98\x99\xf8\xc9\x09\x63\x8a\x06\xa0\x60\x01\x7a\x1f\xcc\x48\x6b\xba\xf0\x63\xed\xf4\x89\xf9\x60\x6a\x27\xc7\x0c\xe6\x54\xcb\x3c\x54\x3f\x14\x75\x9c\xa7\x4e\xb7\x5b\x45\x8b\x1f\x5b\x54\x53\x13\xba\xad\x07\xa1\xfb\x6a\x6a\xc3\x99\x89\xb5\xa6\x7f\xb7\x1a\x15\xf4\x49\x27\xe2\xc5\x92\x16\xf3\x4f\x45\xfe\x7c\x97\x9f\xaa\x5c\x66\x26\x7e\x38\xc1\x5a\x43\x3b\xd3\x9a\xe1\x4d\xb2\x1a\x69\xc3\x87\xed\x14\xdf\x6d\xb7\xdf\x74\xb8\x65\x63\xbe\x66\xa2\xcb\x63\xac\x8d\x6d\x5c\xb9\xec\x16\x76\x7a\x35\xcb\xae\x74\x10\x73\x17\x50\x36\x6e\x41\x54\xd0\xd0\x67\x41\x4f\x52\x43\xf1\x6c\x54\x12\xb2\xcb\xb7\xc4\x81\xca\x65\xea\xb8\xb6\x24\x79\x80\x5b\x2b\x49\x4f\x26\x60\xb3\x12\xca\xab\xc6\x7e\x94\x1a\x99\xa3\xe6\x03\x63\x6b\x02\xb7\xf2\x48\xb3\x99\x5d\x1d\x85\x80\x2c\xca\x25\x3f\xc0\xb4\xf2\x5d\xb4\x0b\x7a\x0b\x71\x71\x13\xf1\x1c\x84\x7a\x50\xe1\x7d\x17\x2e\x9a\xea\x91\x52\xc2\xd9\x6c\x92\x13\xcb\xe0\x45\x0a\x0f\x58\x90\x7d\x1c\x63\x8c\xa3\x33\x26\x10\x0f\x2d\xb4\xc4\x11\x13\x33\xce\x28\x7b\x54\xc8\x57\xa3\x50\xc1\x2d\x9c\x78\xd6\x75\xa9\x92\x21\x42\x3e\x5a\x8a\xcd\xed\x02\x27\xad\x88\xfb\x2f\x7b\x0c\x05\x55\xec\x4c\x10\xf3\x16\x86\x81\xa2\x23\x8c\x93\xf4\xde\x6b\xf0\x87\x15\x3b\x41\x16\x9a\xca\x47\x47\x0a\x66\xc8\x93\x0c\x0d\xe9\xae\xb1\x9a\xbe\xc2\x5c\x2c\x73\x7d\x10\x34\x9b\x7a\x80\xed\xf4\x12\x5a\xd5\xa5\xc8\x59\xf0\x71\x77\x2d\x32\x12\x2a\x97\x05\x57\xb7\x04\xd2\xb9\xd1\xc2\x8f\x5f\x13\x3f\x59\xc7\x29\x8c\xa9\xad\x3e\x69\x28\xc5\xa3\xd1\x0a\x93\xc7\x22\x2d\xc9\x2d\xc5\xb4\x0e\xeb\x3e\x98\xd1\x45\x11\x09\xb2\x64\x01\xae\x84\xf3\x54\x8f\x5b\xd4\x10\x98\x99\x26\xec\x1d\x61\x8b\x2c\x89\xb1\xbf\x47\x17\xb6\xdb\x19\xa4\xd3\xdd\x35\xf9\x44\x49\x38\x4b\x36\x9b\xdc\x2e\x1a\x36\xa1\x58\xa8\x92\x40\x1f\x2a\xba\xed\xed\xed\x66\xf3\xf9\xfa\x1a\xba\xf1\xfa\x7a\x38\x9e\x6c\x83\x30\xa1\x7e\x38\x25\xd1\x6d\xe3\x59\x1c\xfb\x0f\xcd\x66\xf9\x12\x4d\x06\x8e\xe9\x36\xf7\x95\x6c\xe2\x82\xe9\xa1\x11\x84\x0d\x6a\xd0\xf6\xc2\x4f\xde\xde\x87\x99\xde\x2a\x36\x20\x96\x54\x3c\xc1\x74\x1c\x4f\x8c\xad\xe4\x74\x07\xaa\x98\xd3\xf0\x09\x4d\xc6\x34\x0a\x13\x1a\xaf\xa7\x34\x8a\x31\xdd\x12\x00\x43\x74\xc7\x7e\x58\x28\x61\xe2\x33\x51\x49\xce\x43\x7a\x6c\x0c\xf5\x20\x07\x16\xef\xd2\x28\x24\xf7\x8d\xc0\xd8\xb2\x16\xff\x0a\x25\x9b\x6d\x19\x28\xc4\xb1\x3e\x80\xc9\x45\xb7\x0d\xb4\xc4\xb1\xee\xd8\x6c\x6f\x73\x09\x57\x03\xdb\xb7\x71\x74\x77\x2e\x16\x77\xdd\xf6\x2c\x03\x4d\xf3\xee\x7a\x16\x48\x9b\x6b\x0a\x4d\x5d\x85\x79\xe1\xaf\x6f\xdf\x71\x05\x1e\x4b\xf0\xac\x4c\x77\x07\x6a\x3b\x49\xd5\xb6\xae\x72\xbc\xc8\xad\x1f\x93\x74\xfa\x24\xed\xa9\xbf\x5c\x72\xd5\x06\x8f\x1b\x97\x76\x4f\x58\x30\xfc\x0b\xdb\xd7\x37\xa0\x7f\xc1\x31\x4b\xe7\x17\x4d\x1c\xb0\x9c\x1c\x97\xe3\x84\x65\x04\x61\x90\x5d\x26\x4e\x74\x03\x85\x59\x1c\x02\xf6\xf6\x2e\x9a\x11\xae\x02\x5b\xb6\xb3\xf9\xe3\x35\xcb\xd4\x29\x00\x2c\xfd\x84\x47\x02\x78\x11\xdd\x87\xef\x83\x3b\x82\x2d\x96\xed\x4f\x69\xf0\x91\x14\x30\x70\x94\x1e\x56\x86\xa9\xc2\x2c\xd0\x29\x22\x05\x66\x29\x95\x07\x4b\x03\x05\xaa\xce\x87\x13\xaf\xe8\xfb\x38\xb8\x4b\xe1\x0b\x9e\x74\x32\xa5\xdc\x75\x14\x32\x20\xb0\x35\xe5\x98\x10\x98\xe1\x75\xf4\x91\xec\x45\x7c\x9d\x42\x96\xb1\x59\x75\x0f\xc3\xce\x4c\xcf\x73\xd8\x3f\xaf\x0e\xc3\xe5\x96\xee\xdb\x42\x0b\x89\xe8\x43\x92\xda\x1e\xdc\x00\x65\x2d\x9e\x9d\x6e\xf3\x56\x6a\x47\xb7\xb7\xba\x46\xe3\xe0\x4e\x43\x55\xad\x97\xf3\x1c\x54\x16\x4a\x4a\x57\xce\xa1\x0e\xb3\xe8\x3e\xd4\xaa\x9a\xc4\x28\x96\x99\xb3\x94\x7c\xd2\x90\x16\x2e\xfc\xa2\xb2\xc9\x77\xe1\x1f\x5d\xb0\x2c\x1a\x81\xe2\x24\x48\x0c\x24\xa1\xdc\x2e\x37\xef\x16\x55\xcc\x4c\xb9\x69\x4c\x5b\xf8\x49\x86\xa2\xa1\xcf\x73\x42\x87\x4a\x8e\x16\x03\x8d\x9f\x09\x65\x18\x97\x05\xbd\xa1\x0a\xe2\x22\x9c\xa5\x6e\x5d\xf4\x23\xb2\xd9\x1c\x51\x43\x44\x08\x64\x1b\x70\xee\x99\x75\x6c\xf3\x07\x7b\xc2\x04\xdd\x70\x7d\x47\x62\xd6\x19\xc3\x23\xf0\x7c\x76\x1b\xcc\xd7\xe9\xf3\xd6\x38\xa4\x4e\x99\xf8\xf1\x9e\x7c\xa2\xdf\xaa\x52\x4c\xae\xe4\xf5\xe1\xd5\xd3\xb4\xd1\x4e\xb4\xc5\xbc\x3a\x5c\xc6\x02\x35\x62\x80\xc7\x93\x51\x50\x38\x23\x8b\xfd\x30\x59\xfa\xa9\x3a\xfa\x55\x10\x92\xf7\x11\x9f\xf4\xf5\x02\xef\xcd\x09\x05\x4f\xc3\x06\x3a\xb2\x10\x04\x1f\x8b\x0d\x23\x53\x31\x45\xf0\x41\xd3\x1e\x45\x27\x5c\x72\xb6\xc1\x27\x81\xb8\x7d\x2f\x11\x8a\xd8\x4a\xb3\xbf\x00\x09\x3a\xb2\x8c\x51\xd2\x0e\x92\x5f\x63\x26\xba\xcd\xce\x82\xf1\xce\xb5\xee\xc4\xc4\xfe\x50\x54\xc6\x87\xed\x6b\xbe\x0f\xab\x3e\x0d\x2f\x0f\xfe\x3a\x13\x66\x61\xe7\x70\x60\x21\x32\xcf\x17\x77\xfe\x4a\x57\x5e\x4c\x13\x17\xe5\xf5\x29\x82\x3b\x72\x46\xfb\x6f\x51\x10\xea\x61\x3b\x48\x5e\x5f\xfe\x0a\x5a\xfc\xe4\x4c\xbb\x8a\xaf\x42\x6d\xa8\x5d\x85\xda\x01\xbc\x98\x1f\xa7\xc5\xd1\x27\x4f\x24\x9c\x8f\x2a\xa6\x40\x3e\x87\xbd\x2e\x4f\x05\x49\x0a\x90\xaa\x9f\x4b\x73\x43\x5d\x23\xd6\xc9\xce\xdc\x6d\x98\x65\xa0\x92\x34\x0d\xdb\xe4\x1c\x67\x69\x1a\x93\x52\x50\x88\x03\xe4\x63\x6b\xe4\xef\xa2\x66\xf9\x29\x8b\x2d\x31\x19\xfb\x93\x51\x64\xe2\xe5\xd8\x9e\x20\x46\x6b\x39\x76\x26\xec\x03\xa7\xd8\x6f\x36\x93\x56\x0b\x05\x90\x0a\x5b\x2d\x43\x38\x4c\x08\x37\x9b\x8c\x12\xf7\xd8\xc4\x37\x26\x51\x3b\x21\x7e\x3c\x5d\xe8\xc7\x57\x89\xf9\xdd\xf1\xce\x7b\xcc\xb4\xd9\xd4\x17\xbb\xcd\xde\x82\x6d\x3a\xd0\xe2\x04\x27\xd9\xe0\xdb\xee\x44\xfc\xcc\xab\x02\xdb\xfa\x14\x1b\x4c\x56\xd5\xe7\xdd\x48\x8d\xbe\xd1\x51\x96\xe2\x08\x7e\x77\xa2\x60\x6c\x0d\x26\xa6\x04\xc9\xab\x20\x5c\x7f\x6a\x36\x49\x6a\x51\x99\x9f\xc4\x32\x4f\x1f\xf0\x8a\xeb\x12\x42\x72\x9f\xec\x66\x6e\x19\xa7\xcc\x2b\x52\xdd\x4b\xe7\x7c\x95\x87\x1f\x65\xd5\x05\xd7\x4d\xec\x9b\x3f\x41\x73\x51\x37\x83\x6e\xa5\x85\x8e\xbd\x7b\xb6\x5c\x56\x8d\x9d\x40\xac\x54\xcf\x96\xcb\x67\x20\xbc\x65\x76\xbf\x55\xc3\x83\x8b\x55\x8a\x85\x93\x13\x14\x52\x57\x76\xc8\x52\x45\x66\x4e\xb8\x00\xc9\x07\xd9\x79\x14\xc5\x33\x95\x07\x2f\x38\x97\xe0\x6f\x75\xa2\x90\x06\x44\x56\x4e\xbe\x55\x6e\xd7\x15\x8a\x0a\x98\x8c\x53\xd6\x19\x5b\x93\x56\x0b\xc1\x54\xcf\xff\x98\xd2\xe9\x07\x0f\xfd\x54\x51\x0b\x10\x48\x84\xad\xf1\x5d\xb4\x0e\x69\x7d\x55\xd2\x1b\x70\xef\xa3\x74\x4f\xad\xaa\x9b\xc1\x06\xbf\x74\x9e\xc5\xca\xfe\x54\xaa\xb5\xd8\x25\x67\x15\x3a\xc5\x3c\x30\x4f\x7c\x66\x0d\x75\x7a\x0a\x66\x99\x2d\xcc\x04\xaa\xdd\x88\xcf\xf4\x3e\x14\xb5\xba\x96\x81\xd8\x7f\x9d\x1e\xe3\xae\x65\x1c\xc3\x3b\xff\x26\xd1\xa9\x61\x42\x1a\xc2\x59\xe8\x76\xe7\x29\x35\x64\x8e\xc8\x26\xd9\x42\xb5\x2d\xf0\x23\x73\xb3\xa6\x34\x0a\x99\x7c\x02\x91\xee\x49\x48\x5f\x70\xd5\x65\x36\x51\xcf\x62\x7f\x5e\x68\xbb\xcc\xfe\x55\xb4\xee\xf9\x32\x98\x7e\x38\x67\xaf\x74\x02\x2e\x10\x16\xc1\x2d\xfd\x33\x79\x10\xc7\x44\x51\x78\xc9\x32\x00\x4a\x27\x22\x32\x10\x6f\xa0\x0c\x71\x07\x0a\x1e\x77\x32\x58\xa7\x0e\xf6\x45\xb4\xbe\xc9\xc1\xba\x0a\xd8\x74\x93\x0f\x6c\xbf\xda\x01\x8b\x1a\xf8\xb3\xd9\xfe\x05\xe8\xc8\x92\x9a\x54\x89\x57\xbb\x2d\x2a\x88\xc8\x45\xd3\x9b\x0a\x81\x99\xad\x8e\x5a\xd5\xd6\x48\x29\x79\x1f\x44\x76\xbd\xd2\xd4\x7b\x1e\xb9\xbb\x5f\x86\x94\xc4\x1f\xfd\x25\xdb\x40\xc6\x38\x21\x34\xcd\x50\xcc\xee\x24\x8f\xc8\x66\x93\xae\x25\x4f\xc6\xea\x05\x5f\x31\x3b\x57\xd7\xaa\x7a\xe7\xf3\xb5\xed\x55\x4d\xb9\xa6\xc9\x40\xb6\xc9\x9a\xa5\xb6\x01\xf7\xb5\x2f\x5b\x7c\xa4\x91\xbb\x1b\x39\x95\x33\x7a\x52\x58\x83\xb2\x13\xec\xd2\xcb\x8b\x30\xf5\xb1\xa4\x9a\xd9\x75\xa2\x98\x35\x72\x43\xf1\xc0\x8f\xbf\xe2\x3e\xff\x2c\xb4\x67\x09\x4b\x4d\x5a\x6b\xf5\x11\xd5\x9f\xa9\xaf\x48\x0d\x62\x5d\xe3\xc0\xda\x6f\x65\x53\x48\x5e\x86\xaf\xa4\xc7\x84\xfb\x71\xcd\x6b\x6b\x32\x01\xb9\xb0\x16\xc4\x34\xe5\xa6\xcf\xcd\x6c\x95\xee\x3f\x2b\xaa\x3f\xda\xd5\x52\xdd\xbc\xbf\xbe\x7d\xf7\x22\x9b\xc0\xd9\xab\x5f\xa3\x78\xf6\x8c\xea\xaa\x85\x23\x37\x69\xfe\xe1\xe5\x78\xf5\xf2\xcd\x45\xa1\x1c\x4c\x92\x7f\x26\xb6\x4c\xe5\xa2\xc8\x4b\x8d\xa2\x3c\x7a\x48\xee\x1b\x2f\x7c\x4a\x0c\xd6\x6f\x6c\x54\xe9\xc6\x48\xa7\xe2\x5c\x45\xd2\x89\x9d\x76\x2c\x8b\x6b\xed\xda\xd7\xb3\x80\x2b\x71\x7f\x88\xa3\xbb\x57\x29\x60\x76\xb9\x9d\x18\xa7\xb6\x65\x64\xf5\xd9\x2d\x2f\x6c\x3f\x51\x41\x3d\xbb\xef\xbb\x2c\x93\xc3\x63\xd2\x5e\xf9\x73\xf2\x17\xc4\xff\xfe\x96\x5a\xe4\xec\xe8\x9a\x66\xa9\xfe\xb5\xe5\x53\xf9\x24\xc9\x84\x87\x9d\xa4\xa0\x2e\x0d\x13\xad\x44\x79\x0c\xb4\x17\xd8\x4e\x81\x7f\xab\x12\x33\xd8\xac\x5b\xc9\x2b\xf2\xb8\x3b\x53\x8f\x9f\x8b\x70\xb6\x8b\x38\xae\x78\x67\x4f\xb8\x8e\x61\x67\x25\xf6\xd8\xf9\xae\x66\x0a\xc2\x82\x3b\xcf\x6a\x3e\x7f\x52\x3b\x2b\x54\x63\x5a\x13\x6c\x0d\xeb\xde\x2a\xc4\xe3\x61\x7d\x51\xd9\x80\x4e\xe7\x18\x4e\xed\x7d\x94\x8e\xe9\x8a\x0f\x55\x8a\x76\xc5\x26\x93\xc4\xe6\x5d\xbb\x95\x31\x4f\xad\xda\x3a\x2b\x6a\xd5\x4a\x43\x43\x97\x49\x9d\x58\x35\xf3\x34\x34\x60\xc5\x1c\x5f\xe8\x99\x9b\xbc\xc1\x63\xd1\x5d\xfb\xbe\xb9\x9d\xd3\xa9\x98\xd9\x79\x19\xc0\xc5\x3b\xa8\x15\xaa\x27\x78\x0e\x69\x9a\x5b\x26\x85\xb2\x72\xe3\xca\x51\x30\xb6\x18\x11\xa1\x44\xab\x2e\x92\x98\xad\x72\x82\x69\x79\x9a\xc8\x9a\x52\x16\xaa\xca\xcd\x2c\xdb\xba\x09\xa7\x2c\x41\xb2\x92\x24\x19\x8e\x82\x8e\xec\x2f\xe8\x7f\x3c\x56\xf6\xbe\x14\x23\x8b\xed\xe0\xca\x26\x71\x6c\x37\x35\xa9\x1c\x2f\x78\x2c\x47\xda\x62\x54\x26\xa5\x2d\x72\xc5\x54\xf5\xf3\x4a\x21\xd7\x54\xab\xa5\x4a\x44\xa6\x51\xf8\x91\xc4\xf4\x17\x71\x9d\xf5\x3c\x5a\xbe\x8f\x32\xaf\x2e\xe0\x81\x4e\x61\xa3\x20\xd8\x90\xcd\x6d\x01\xb6\x46\x2c\x71\x8a\x03\x08\xfb\x6a\xf1\xc8\x9b\x5c\x62\x88\x5b\xad\xd1\xce\x75\x6e\x79\x4f\xcb\x47\x77\xe5\x2c\x2b\xe9\x50\xe3\x03\xf4\x8f\xbc\x73\x53\xa3\xc9\xfd\x95\xe3\x87\x44\x11\x0e\x50\x02\xd1\xfa\x5a\x11\x0a\xb1\x05\x3a\xb3\xe0\x56\xe7\x1e\x4e\xe2\xd4\x7d\x42\x64\x08\x13\x8d\xe8\xd4\x6a\x36\xcb\x2f\x5b\xb6\x31\x32\xa2\x56\x8b\x07\x27\x0b\x4e\xe2\x4c\xf5\x53\x82\x0c\x4c\x06\x19\x98\xe6\x36\xb3\xec\x5a\xc2\xc7\xd1\x02\xfe\x00\x01\x90\xe1\xc6\x4b\xde\x8e\x7a\x68\x9a\x68\xd9\x6a\x19\x08\x76\x92\xe3\x85\xc8\xf6\x4d\x13\x2d\x4c\xd3\xe0\x05\x12\xb6\x8e\x41\xc2\xaa\xc8\x1a\xf7\x92\xac\xfc\xd8\xa7\x51\xac\x17\x4a\x69\x8c\x0c\x41\xbd\x65\x97\xe9\x47\xad\x16\x4b\x88\x3a\x98\x76\xae\x16\x87\x90\x67\x55\x33\x46\x86\x28\xa5\x69\x97\xca\x89\x02\x9e\x10\x2a\x3f\xa1\x8f\x8a\xcc\xa4\x15\x22\xfe\x99\xe1\xce\x2c\xa4\x15\x99\xa1\xe9\x9b\x72\x60\xc8\x68\x99\x94\xcf\xad\x0a\x32\x60\x9d\x8c\x27\x56\x94\xcc\x2d\xbf\x52\x30\x1f\x53\x61\x56\xcd\xf8\xae\x62\xf9\xce\xef\x14\x52\x25\x9f\xb2\x4c\xe9\x2a\xf6\x15\xa5\xca\xcd\x3e\xfc\x8d\x1f\xef\x16\xd0\x5f\xfc\xe5\x9a\x24\xef\xb8\x59\xe1\x4c\x37\xce\x44\xe1\x87\xe2\xaf\x99\x96\x8e\xd7\xa6\x54\x46\x45\x6f\x2a\xe4\x30\xad\xa1\x1b\xe3\xc9\xe7\xed\x93\x2b\x4d\xcb\x5c\x84\x13\xe3\x14\x5b\xca\x2a\x73\x11\xf8\xc0\xdd\x16\x9b\xfd\xc8\x21\x8d\x2c\x73\xc1\x16\xd1\xad\xee\xb7\x61\x7d\xbf\xb8\x0b\x28\x25\xb1\x31\xa2\xb9\xb3\x64\x1e\x16\x1c\xaf\xbf\x8d\x93\xdc\x47\xde\x60\x91\x0e\xf9\x14\x37\x3b\xf6\x1c\x45\x94\x5a\x6e\xa7\xe8\x95\xf7\x80\x90\x5d\xbd\x69\x55\xef\x78\xab\xce\x1d\x49\xfe\x8c\x4e\xa1\x32\x96\x4f\xea\xf2\x17\xd6\xa4\x52\x9c\x8d\x2d\x94\x5a\x30\xe5\x4b\x5e\xd6\x9f\x8b\xdd\x2e\x64\xd6\xb3\x7c\x99\xd2\x50\x41\xe8\x4b\x0f\x28\x6b\x2a\x7f\x11\xce\x1e\x5d\xf5\x03\x14\xc7\x60\xed\xae\x92\x21\x5a\x76\xb9\xd5\xa0\x66\x67\x47\x52\x03\x08\x19\xab\xb6\xd5\xc6\x0a\x52\x4c\xd4\xab\x64\x10\x15\xeb\xc0\x1e\xa6\x12\xa3\xdc\xa3\x5c\x00\x4c\xc5\x43\x79\xc3\x31\xde\x69\x8b\xbf\xae\x6c\x5c\x1a\x35\x14\xb9\x72\x79\x19\xbf\x70\xb5\xd5\x3e\x06\x29\x04\x6a\xaa\x6c\x5a\xb5\x06\xb5\x54\xea\xf4\x94\x3a\x91\x8f\xdb\x1b\x6c\xa2\x3e\xa5\x20\x29\xe7\x8e\xa4\x9b\x4d\x26\x1c\x9c\xb2\x66\x28\x9a\xe0\x29\xce\x4a\xf2\x3c\xa8\x56\x1e\x49\x6d\xdf\xc2\x44\xd1\x5c\x12\x38\x6f\xc2\x2a\x60\x15\xec\x89\x75\xa6\x2b\x27\x40\x74\x64\x19\x43\x55\x69\x94\xf3\x00\x50\xaa\x2c\x3d\xdb\x4d\x1d\xd9\x46\x66\x49\x57\xb4\x27\xc2\xc1\x3f\x75\x05\xc8\x4e\x6d\xf9\x6d\xd0\x4c\x7d\x5e\x5e\x11\x52\x1f\x32\xa9\xcd\xa4\xd0\xb5\x24\x99\x37\x19\x2c\x4e\x9e\xf2\x86\x55\xc2\x5c\x56\xdc\xc0\x7d\x17\xdd\xf3\x5b\xa5\xa9\xba\x72\xe9\x27\xf4\x1d\x99\x46\xf1\x8c\xcc\x84\x7c\x5c\x50\x67\xe6\xdf\xa7\x72\x71\x91\x42\x36\xe3\x44\xa1\xae\xf1\xb2\xa4\x87\x94\x05\x57\x37\xf9\x0b\x71\x0a\xcc\x98\x24\xc1\xdf\xc9\x81\x98\xa5\x96\x50\x68\xfd\x0b\x05\x89\x42\x4e\xac\x40\x28\x17\x83\x4c\x9e\x8d\x23\xc9\x4f\xcf\x16\x59\xca\x25\x58\x71\xd8\x9a\x6a\x67\xe4\x93\xb0\x53\xab\x30\xc4\x65\x80\xf4\xae\x4a\xb9\xbb\x46\x24\x65\x65\xa9\x23\x2b\x28\xa9\x1b\x4a\x18\xaa\x06\x21\xa9\xc7\xe6\x96\xa6\xc5\x5e\x2a\x9c\x22\x3c\x8a\x10\xe7\x7f\x01\x53\xcd\x51\x69\xe5\x0b\x6b\xd8\x48\x27\x9b\x0d\xcd\xd4\x90\x35\xfc\x28\xe3\xd6\xb5\xc1\xa2\xb6\xd8\x4f\x65\x62\xaa\x26\x51\x98\x3f\xcb\xd4\xeb\xbe\x6f\x94\x87\xf0\x23\x4a\x57\x35\x74\xa1\xa0\xe5\x10\x79\x05\x6e\x96\x04\xc5\x2a\x52\x52\x8f\xf0\x5b\x79\xc2\x7b\x84\xdc\x23\x85\x19\xa4\x1a\xb3\xac\xa8\x18\x7e\x09\x63\x9c\x15\x89\x0c\x1f\x39\xa2\xca\x96\x00\xa3\xdc\xb8\x2c\xea\x55\x9e\xaa\x47\xa4\xba\x6f\x53\xd7\x2d\x47\x18\x67\x43\xb6\x12\x08\x97\x43\xc5\xa4\x13\x95\x62\xf3\x97\x3b\xef\xae\x27\x7a\xac\x2c\xae\xd1\x52\xd4\x6c\x54\xe2\xe6\x9c\x26\x0c\x1d\x95\x43\xd2\x47\xe1\xaf\x0b\x42\x8a\x45\x13\x91\xf5\xc0\x73\x32\xf5\x7f\x4b\xcb\x6a\x8f\x44\x8e\xd0\xd6\x02\x22\x4c\xd0\xed\x17\x6f\x5f\x5f\xbf\xb8\x78\xf5\xfe\xd9\x35\xd7\x35\xab\x3b\x67\x78\x00\xfe\x4f\xcf\xfe\x74\xb1\xbb\x11\x5c\xa6\xa0\x18\xc0\x15\x6b\xc7\xce\xdb\x4e\x56\x8f\xa7\x14\xc9\x76\x01\x5b\x49\x8a\x8a\xd6\xd3\x05\xdf\x59\x49\x5b\x57\xc6\xcb\xf0\xfe\x37\x4c\xda\x94\x25\x20\x58\x0f\x3f\x44\x50\x12\xaa\x3b\x41\xd8\x51\x6b\xc9\xd4\x46\xfb\x3f\x88\x20\xfc\xe1\x5e\x76\x34\xb1\xaa\xde\x3b\x21\x29\x1d\x94\x7b\xc5\xa3\xbc\xeb\x8d\x7c\xd4\x92\xb3\x9d\x69\xde\xf1\x55\x7c\x76\x15\x1e\xcf\x91\x76\x15\x6b\xc6\x90\xec\x22\xe8\x47\x59\x68\x0a\x98\x09\x33\x1f\xaf\xda\x6d\xf0\x89\xcc\x34\x44\x0b\x17\x27\x34\xc7\x82\x69\xb9\x38\x6f\x96\x72\xe1\x62\x06\xdb\x2d\x07\x24\xa4\x7f\x69\xd9\x96\x98\xcb\xf3\x97\x3d\xc4\xdb\xdf\xa4\xb7\x7f\xe7\x5a\x4d\xcd\xb6\x2c\x8b\xe5\xde\x46\xd3\x75\xa2\x57\xc9\x0f\x52\xb1\xf9\xee\xba\x50\xe6\x42\x96\x28\x71\x21\x0f\xca\x5b\xc8\x61\x45\x2c\x64\x88\x52\xf1\x7d\x48\xc7\x78\xb4\xff\x0f\xd0\xc3\x90\x95\x1f\x43\xb8\xa1\x1f\xa2\xf8\x7d\x2a\x6c\x06\x88\xb6\xa7\xd1\xea\x41\x8e\xa2\x9a\xba\x35\xbf\x61\xa3\x89\xc4\x60\x4e\xf9\xf2\xe2\x4c\x58\xc4\x4d\x97\xc1\xea\x26\xf2\xe3\xd9\x0b\x9f\xfa\xed\x84\x50\xf6\x57\xd7\xb8\x65\x6e\x5c\xb2\x58\x1b\x92\x2a\x78\x4a\x3e\xd1\xe3\xd5\xd2\x0f\x42\x19\x4b\x35\x2a\x59\x45\xfc\x84\x12\x55\x71\x21\x96\x0b\x8d\x56\xac\x3d\xfc\xb9\xcf\xbb\x48\x18\xef\x66\x70\x3b\x07\xd8\x31\x0e\xf4\x18\x15\xeb\x27\xcc\x45\x8d\x5d\xdc\x3f\x08\x6b\x0b\x81\xa8\x7c\xb6\x5e\x43\x93\x82\xa7\x27\x61\x3e\x07\xa5\xe1\xde\xd1\xda\x53\x3f\x9c\x92\xa5\x4e\x8c\xed\xe8\xa0\x66\x6b\x36\x63\x5d\xd9\x9c\xf3\x42\x73\x1a\x52\xfb\x31\xc4\x72\x93\xce\x15\x4d\xca\x0f\x05\xee\xa2\x8f\xd0\xed\x4c\x16\xf8\x39\x9c\x91\x98\x9f\x32\xc3\x05\x62\x1c\x21\xda\x8e\x19\x4f\xc2\xa9\x73\x15\x17\xf0\x51\x8a\xa8\xa8\x7f\xa9\xa7\x20\x92\x0c\x7b\x86\x69\xf3\x7f\xaf\x26\xfd\xbb\x5e\x4d\xaa\xb9\xf1\x93\x46\x22\xac\xbe\xed\x13\xe4\xa2\x4b\x53\x14\xb4\xaf\xb9\x33\x8b\x74\x77\x1a\xa3\xa0\x74\xb7\xe6\x00\x83\x7e\x98\x20\xeb\x75\x64\xd7\x00\xf3\x87\x5c\x1f\xe0\x73\xef\x9e\xcf\x71\xa0\xc7\x99\x88\xdf\x89\xcd\x77\x9d\x6d\x9c\x80\x11\xcd\x25\xce\x11\x67\x91\x90\x5e\xf5\x54\xd5\x51\x82\xdb\x13\x19\x52\xf8\x1a\x52\x61\x4a\xeb\xa9\x2f\x82\x24\x68\x75\xe0\x6c\xe1\xd1\xac\x5a\x10\x58\xad\xb4\xd6\x60\x30\x18\x90\xbb\x0a\xc8\x7c\x90\x4a\xed\xd7\x2a\x72\x84\x66\xd1\x0a\x74\xcd\x8f\x03\x3f\xbd\xbb\x8f\x34\x1a\xaf\x49\x56\xb1\x02\xa3\x29\xee\xb0\x16\xe9\xee\xd9\xea\x93\x42\xab\xb3\x6d\xbe\x74\xbe\x9c\xbe\xae\xd0\xd4\x95\xeb\x31\x27\xf4\x39\x13\xd4\x83\x70\x7e\x0e\x42\xc5\x3b\x98\x09\x47\x5c\x54\x06\xf6\x6d\x36\xf9\xc3\x42\xec\x45\xf4\x1c\x6b\xe3\x1c\x54\x9e\x05\xf1\x0e\x21\xb3\x51\xe7\x08\x02\x1c\x15\xa0\x8b\x8a\x00\xbe\x36\x81\x4b\xdd\xe0\xef\x64\xba\xf0\xc3\x39\x99\x69\xe0\x5f\x89\x6e\xf5\x58\xb7\x0d\xe9\x5c\xe4\x3c\xa7\x45\x8a\xfe\x77\x16\xff\x1f\x38\x8b\x67\x77\xf0\x2b\xe7\xf0\xb8\x7d\xed\xb3\xd6\x85\x6b\x95\xd0\xce\xe0\x59\x0e\x5c\x24\xc6\x94\xcb\x98\x16\x7b\x5e\xa6\x5a\xc1\xf8\xf1\x93\xfa\x9d\xff\x89\xab\x04\xf6\xcc\xb4\x50\x92\xec\x6c\x34\xc9\x43\x16\x22\xbc\xee\xca\x4a\x0c\xc4\x63\x7d\x67\xc7\xc0\x42\x55\x2a\x0c\x60\xd2\x90\xaf\xa9\x29\x0e\x7c\x41\x1c\xa9\xcc\x09\x3d\x7f\x98\x2e\x83\x29\x3f\xd8\x8f\x8d\xd4\x3f\x0e\x6f\x90\x5c\xe0\x8a\xac\x21\xfe\x90\x45\x67\x79\x48\x53\x54\x35\x42\x70\xab\x93\xd3\x3c\x88\x21\x85\xae\x17\xd1\xda\x4f\x08\x44\x6c\x2f\xd4\x7b\x52\x74\x31\x24\xfa\x94\xfc\x21\xd5\xba\x8d\xe2\x0b\x7f\xaa\xa8\x57\x6e\xe1\x93\x06\x59\xde\x3c\x24\xbd\x27\x04\x26\x22\xc1\x49\x0c\xe6\x21\x54\x07\x07\x97\x10\xf9\x1f\x76\xe0\x8f\x58\x84\xe7\x84\x56\x1e\x72\xd4\x71\x02\x31\x26\xd2\xc5\x4c\xa5\xdb\xbc\x7a\x1a\xb8\x74\x2d\x63\xb5\x2e\x5d\x47\xda\x4b\xa4\xd0\xcf\x93\xcc\xb3\x61\x16\x63\x1c\x1e\xb3\xc1\x75\xa6\x9b\xa6\xc4\xb2\x65\xa0\x6c\xa5\xc9\xb3\xb5\x91\x5f\x22\xf8\xdd\x57\x3b\x55\xca\x89\xaf\x95\x4d\x33\x57\x45\xf7\x7b\x87\x36\x6d\x9e\x64\xab\xd5\xb2\xa5\x96\x5e\x2d\x83\x29\xa9\xb4\x20\x82\x30\xf4\xce\x28\x90\x43\x3b\x33\x5e\x89\xc7\x41\xcb\xc9\x87\x76\x0e\x26\xe2\xce\x19\xa3\x10\x61\x32\x8a\x4e\x0a\x05\xa0\x70\x7f\x72\x6f\xa1\x23\xe3\x80\xe9\x23\x32\x69\x36\x81\x08\xf2\x98\x6e\x83\x5b\x3d\x6e\x36\x77\xf6\x78\xbc\x20\x05\x28\x7b\x14\x9d\xb2\xa2\xb5\x5a\x07\x94\x64\x17\x3c\xf8\x90\x22\x19\x93\xdc\x0d\x3f\x6b\x14\x65\xc6\x39\x87\xd5\x9b\x98\xac\xe6\xf1\x38\x9a\xec\xec\x4d\x05\x37\x64\x2e\x15\x8b\xdc\x55\xbc\x10\x5a\x82\x6d\x15\x61\x47\x65\x3e\x34\x71\x52\x64\xf0\x22\xbc\xcc\xa3\x89\x91\x77\xa4\x2c\xbe\x86\xe3\x2c\x08\x7b\x81\xb3\x18\x8a\xac\xab\x2b\xce\xa5\x39\x27\x85\x69\x88\x66\xb9\x90\xc5\x51\xd8\x4a\x9f\xf3\x05\x23\xe5\xfb\x6e\x8b\xe0\x36\x95\x56\x13\x69\x27\x0d\x6e\x6b\xe8\x09\xb6\x0c\x3e\xbd\x9f\x58\x9b\x4d\xe6\x4a\x50\x94\x43\x8a\xe9\x0d\x25\x6a\xa4\xac\xde\x88\xd6\xb4\x11\xdd\x36\x62\x26\xd5\x69\xdc\x05\x8f\x19\x9f\x58\x32\xde\xb9\x1f\x86\x11\x6d\x40\x89\x1a\xc2\x05\x51\x02\xce\xe5\x03\x88\x0c\xfe\x10\x85\xb3\x06\x58\xec\x34\x2c\x4e\x28\x3e\xb5\x32\xbe\xe5\xcc\x6a\xed\x98\x35\x21\x94\xb1\x89\x29\xce\x1d\xe7\xfc\xd1\x48\xcf\x3b\x89\x49\xcd\xb8\x55\x58\x97\x82\x5b\x3d\x38\xb5\x8c\x5d\x0c\xa7\xb4\xdf\x82\xc2\xe0\x29\x31\x56\xea\xb2\x28\x9d\x39\xe4\x7e\x31\x55\x73\x18\xe7\x8f\xe2\x18\xc8\x0d\xfa\xaa\xd2\x97\x8d\xc5\x8a\xe3\x42\xb1\xa6\x48\x73\xaa\x49\x8c\xef\x8b\x35\xa8\x11\xb3\x83\x78\xba\x5e\xfa\xf1\xab\x20\xa1\x7b\xe5\xec\x6f\x62\x7a\x04\x12\x69\x76\x45\x31\xff\xb0\x8a\xa2\xe5\xce\x77\x66\x10\xfe\x9c\x10\xfc\x79\xab\x3a\x06\x15\x1e\xbb\xca\x3b\xa4\xdd\xdd\x3f\xbc\xbb\x65\xc2\xa8\x16\x3d\x90\x73\x29\xf9\x0d\xb9\x4f\xcf\x71\x38\xcc\x2a\x5a\x65\xf7\xf1\xe0\xe3\x63\xd8\x5c\xed\x36\x89\xa4\xfd\xf6\xf9\x7f\x5d\x9c\xbf\xbf\x7e\xf9\xe2\xfa\xd9\xfb\xf7\xef\x5e\x3e\xff\xf9\xfd\x05\x9b\x1b\x11\x2d\x3b\xd2\x02\x9f\x85\x05\x0f\x17\x6c\xe0\x3d\x9e\xb6\x62\x4c\x45\xeb\xe5\xac\xc1\x86\x95\xf8\x4a\xc3\x0f\xd3\xb1\x05\xd9\x0f\x84\x36\x44\xfb\xcc\x34\x63\xc4\xa3\x4c\x36\x1e\xff\xe9\xec\xc2\x04\xc9\x7c\xa6\xe9\x99\xd7\x54\xde\x60\xe0\x74\xa0\xec\x33\x37\x6b\x5d\xa9\x77\xaa\x9c\x29\xed\x58\x81\x09\xd8\xa4\x7d\x1d\x01\xdf\x89\x5b\x1a\xa3\x5d\x14\xf2\xbd\xa5\x46\x71\x9b\xa6\xc6\xb6\xb6\x65\x18\xe5\x8e\x29\xd4\xa6\x38\x37\x73\x67\x7a\x6f\xfc\x3b\x50\xaf\x92\xbc\x53\x6e\x4d\x9c\x49\x04\xaa\x4f\x62\x6d\xe6\x53\xbf\x15\xdd\xfc\xad\x15\xcc\x34\x14\x14\x4a\x0f\x41\xb9\x55\x0e\x94\xff\x70\x9b\x0f\x50\xa3\xc3\xa9\x70\x65\xa4\xc2\xd4\x34\x92\x82\x69\xe4\xb7\x0a\xcd\x6f\xdb\x3c\x36\xbf\x0d\xc1\xf9\x63\xdd\x76\xb9\x2b\x22\xdb\x31\x90\xbf\xe3\x80\x39\x49\xd7\xa8\xe7\x0f\x2f\x73\x8e\x25\xf9\x32\xc0\xf6\xb5\x47\x18\xfb\xc2\x17\xc0\x68\x89\xb5\x05\x83\xd0\x30\x9e\x47\x94\x3e\x80\xe1\xd9\x19\x6c\x65\xdb\x3f\xb2\xb4\xee\x1b\x43\xf6\x18\xb5\xff\x22\x1e\x85\xcb\x33\x5d\x5b\x50\xba\x4a\x86\x1a\x4e\xef\xd2\x2f\x23\x1e\x3c\x89\xb3\xc5\x34\x5a\x9e\x69\xf7\x49\x32\x3c\x3e\xd6\x86\xda\x3d\xfc\x35\xcc\x32\xe8\x22\x4a\xa8\x94\xb9\xf2\xe9\x22\xf4\xef\x88\xa9\xdd\x27\x1a\x9a\x4a\xf4\xb9\xcf\x01\xb4\x86\x1d\x64\xd8\x3e\x8f\xc2\x90\xeb\xac\x7f\xf0\xd9\x8e\xfe\x41\x5f\xa0\x24\x2b\x44\x62\xa0\x99\x70\xb8\xfd\x2b\xb9\x79\xff\xfe\x37\x7d\x89\xd6\x68\x8a\x78\x75\xfd\x35\x5d\x5c\xd3\xe8\x03\x09\x8d\x76\xb4\x22\xa1\x6e\x8c\xc4\xd7\x64\x5b\x94\x75\xb8\x8c\xfc\x99\x86\x72\xa3\x6f\xa6\x1b\x68\xd9\x9e\x2e\xa3\x84\xe8\xc6\x56\xa5\x24\xcf\x9f\xa1\xed\x4e\x28\xf4\x08\x2e\x2d\xe6\x0f\xcb\xb2\x9b\xdc\x63\x32\xe1\x3e\xf0\xa8\x69\x1b\x95\x4b\xff\x6d\x10\xce\x1a\x77\xc0\x2e\x8d\x27\x9a\x49\x4c\xed\x49\x7b\xe7\x37\x8d\x6e\xb9\x04\xf7\x59\x6b\x1f\xfb\x94\xfa\xd3\x85\xf8\xa3\x0d\xbb\xa8\x9c\xd7\xfe\x5b\x52\xcc\x5e\xf9\xd3\x0f\xfe\x9c\xb4\xff\x96\x44\xa1\x36\x74\x2d\xf6\xea\x36\xa0\xec\xbf\x36\xf4\x72\x4f\x80\x99\x65\x94\xd0\x6c\xc8\x5f\x2f\x97\xc9\x34\x26\x24\xcc\x25\xb5\x61\xaf\xf2\x5d\x7b\x9a\x24\xda\xd0\x75\xaa\x01\xd8\x37\xcb\xf8\xa5\x4f\xbb\xec\xb5\x60\xfc\x59\x54\x7e\xdb\x29\xbe\xcd\x52\xda\xb0\x5f\xf1\x06\xbe\xd9\xdf\x8e\x82\xf6\x07\xf2\x90\x28\x76\x4c\x62\x50\xb3\xb7\x7a\x62\x6c\x51\xd0\x8e\x49\x12\x2d\x3f\x12\x1c\x21\xd2\x26\x9f\x56\x51\x4c\x13\x1c\xa0\xa0\x1d\xcc\xb0\x33\x28\xb2\x09\x9b\x23\x53\x90\xcf\x8c\xef\x87\xdc\xf3\x67\x5b\x74\x19\xba\xf3\x83\x70\xa8\xed\x3a\x0b\xad\xe2\xe0\xa3\x4f\x61\x7e\x38\x90\x14\xeb\x3a\x41\x47\xf4\x5b\x1d\x11\x89\xe9\xf8\xbc\xd4\x80\xd8\x9e\x8d\x5b\x3f\x58\x92\xd9\xb0\x71\xbc\x88\xee\xc8\xf1\xc3\x7a\xe6\x07\xc7\x6c\x40\x06\x1f\xc9\xf1\x2a\x8e\x66\xeb\x29\x4d\x8e\x1d\xcb\xee\x1e\xc3\x18\x3b\x4e\xe2\xe9\xf1\x3c\xa0\x8b\xf5\x4d\x7b\x1a\xdd\x09\x04\xfe\xea\x6f\xc9\x71\x18\xcd\xc8\x35\x67\xe4\xe4\x18\x0a\x7b\xbc\x0c\x6e\x8e\xfd\xd9\x2c\x0a\x93\x6a\x1e\x69\xfc\x1c\x92\x4f\x2b\x32\xa5\x64\xd6\x80\xf1\xdb\xd0\xed\xa1\x65\x5c\x85\xbf\x45\xeb\xc6\x9d\xff\xd0\x08\x09\x99\xb1\x15\xdc\x5f\xad\xe2\x68\x15\x07\x3e\x25\x0d\x36\x7e\x49\xdc\xa0\x51\x83\x1f\x02\xc2\xe2\xdd\xb8\x0d\x58\x8a\xad\x62\x57\xe1\xa6\xd1\x16\x0d\x96\x7d\xad\xf1\x99\x65\xb3\x7f\xa9\xce\x7d\xd8\x80\x33\xec\x51\x9a\x4f\xa3\xd5\xb0\x61\x8d\x34\xe3\xd0\xce\xd8\x8d\x84\xb4\x4f\x0a\xec\xfd\x05\xfd\xbb\x63\x62\x41\xb1\xc0\xbb\x05\x82\x13\x63\xf4\xff\x02\x00\x00\xff\xff\x1a\xa1\x0f\x28\x4d\x12\x05\x00") func staticJsGottyBundleJsBytes() ([]byte, error) { return bindataRead( @@ -209,7 +209,7 @@ func staticJsGottyBundleJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/js/gotty-bundle.js", size: 332443, mode: os.FileMode(436), modTime: time.Unix(1503453489, 0)} + info := bindataFileInfo{name: "static/js/gotty-bundle.js", size: 332365, mode: os.FileMode(436), modTime: time.Unix(1503469127, 0)} a := &asset{bytes: bytes, info: info} return a, nil } From 973cf362fbe2ebc9e4f9cbf0e0faeba505e2a34c Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Wed, 23 Aug 2017 15:43:37 +0900 Subject: [PATCH 70/82] Remove libapps submodule --- .gitmodules | 0 libapps | 1 - 2 files changed, 1 deletion(-) delete mode 100644 .gitmodules delete mode 160000 libapps diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index e69de29..0000000 diff --git a/libapps b/libapps deleted file mode 160000 index 9dc111b..0000000 --- a/libapps +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9dc111b58c7e5af86c1b3a0cb3b04a22a8dcf584 From a6ae1210da2f375ac91bb05ecfa7de011ac6fc7a Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Thu, 24 Aug 2017 13:22:16 +0900 Subject: [PATCH 71/82] Move decoder into setup --- js/dist/gotty-bundle.js | 2 +- js/src/webtty.ts | 4 ++-- server/asset.go | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/js/dist/gotty-bundle.js b/js/dist/gotty-bundle.js index 794fdab..42b8c84 100644 --- a/js/dist/gotty-bundle.js +++ b/js/dist/gotty-bundle.js @@ -85,4 +85,4 @@ if(void 0!==i)throw new Error('Global "lib" object already exists.');var i={};i. * @module xterm/addons/terminado/terminado * @license MIT */ -!function(t){e.exports=t(r(0))}(function(e){"use strict";var t={};return t.terminadoAttach=function(e,t,r,i){r=void 0===r||r,e.socket=t,e._flushBuffer=function(){e.write(e._attachSocketBuffer),e._attachSocketBuffer=null,clearTimeout(e._attachSocketBufferTimer),e._attachSocketBufferTimer=null},e._pushToBuffer=function(t){e._attachSocketBuffer?e._attachSocketBuffer+=t:(e._attachSocketBuffer=t,setTimeout(e._flushBuffer,10))},e._getMessage=function(t){var r=JSON.parse(t.data);"stdout"==r[0]&&(i?e._pushToBuffer(r[1]):e.write(r[1]))},e._sendData=function(e){t.send(JSON.stringify(["stdin",e]))},e._setSize=function(e){t.send(JSON.stringify(["set_size",e.rows,e.cols]))},t.addEventListener("message",e._getMessage),r&&e.on("data",e._sendData),e.on("resize",e._setSize),t.addEventListener("close",e.terminadoDetach.bind(e,t)),t.addEventListener("error",e.terminadoDetach.bind(e,t))},t.terminadoDetach=function(e,t){e.off("data",e._sendData),(t=void 0===t?e.socket:t)&&t.removeEventListener("message",e._getMessage),delete e.socket},e.prototype.terminadoAttach=function(e,r,i){return t.terminadoAttach(this,e,r,i)},e.prototype.terminadoDetach=function(e){return t.terminadoDetach(this,e)},t})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(27),o="undefined"==typeof navigator,s=o?"node":navigator.userAgent,n=o?"node":navigator.platform;t.isFirefox=!!~s.indexOf("Firefox"),t.isMSIE=!!~s.indexOf("MSIE")||!!~s.indexOf("Trident"),t.isMac=i.contains(["Macintosh","MacIntel","MacPPC","Mac68K"],n),t.isIpad="iPad"===n,t.isIphone="iPhone"===n,t.isMSWindows=i.contains(["Windows","Win16","Win32","WinCE"],n),t.isLinux=n.indexOf("Linux")>=0},function(e,t,r){"use strict";function i(e,t){if(null==e.pageX)return null;for(var r=e.pageX,i=e.pageY;t&&t!==self.document.documentElement;)r-=t.offsetLeft,i-=t.offsetTop,t="offsetParent"in t?t.offsetParent:t.parentElement;return[r,i]}function o(e,t,r,o,s,n){var a=i(e,t);return a[0]=Math.ceil((a[0]+(n?r.width/2:0))/r.width),a[1]=Math.ceil(a[1]/r.height),a[0]=Math.min(Math.max(a[0],1),o+1),a[1]=Math.min(Math.max(a[1],1),s+1),a}Object.defineProperty(t,"__esModule",{value:!0}),t.getCoordsRelativeToElement=i,t.getCoords=o,t.getRawByteCoords=function(e,t,r,i,s){var n=o(e,t,r,i,s),a=n[0],l=n[1];return a+=32,l+=32,{x:a,y:l}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(3),o=function(){function e(e){this.elem=e,i.hterm.defaultStorage=new i.lib.Storage.Memory,this.term=new i.hterm.Terminal,this.term.getPrefs().set("send-encoding","raw"),this.term.decorate(this.elem),this.io=this.term.io.push(),this.term.installKeyboard()}return e.prototype.info=function(){return{columns:this.columns,rows:this.rows}},e.prototype.output=function(e){null!=this.term.io&&this.term.io.writeUTF16(e)},e.prototype.showMessage=function(e,t){this.message=e,t>0?this.term.io.showOverlay(e,t):this.term.io.showOverlay(e,null)},e.prototype.removeMessage=function(){this.term.io.showOverlay(this.message,0)},e.prototype.setWindowTitle=function(e){this.term.setWindowTitle(e)},e.prototype.setPreferences=function(e){var t=this;Object.keys(e).forEach(function(r){t.term.getPrefs().set(r,e[r])})},e.prototype.onInput=function(e){this.io.onVTKeystroke=function(t){e(t)},this.io.sendString=function(t){e(t)}},e.prototype.onResize=function(e){var t=this;this.io.onTerminalResize=function(r,i){t.columns=r,t.rows=i,e(r,i)}},e.prototype.deactivate=function(){this.io.onVTKeystroke=null,this.io.sendString=null,this.io.onTerminalResize=null,this.term.uninstallKeyboard()},e.prototype.reset=function(){this.removeMessage(),this.term.installKeyboard()},e.prototype.close=function(){this.term.uninstallKeyboard()},e}();t.Hterm=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){this.url=e,this.protocols=t}return e.prototype.create=function(){return new o(this.url,this.protocols)},e}();t.ConnectionFactory=i;var o=function(){function e(e,t){this.bare=new WebSocket(e,t)}return e.prototype.open=function(){},e.prototype.close=function(){this.bare.close()},e.prototype.send=function(e){this.bare.send(e)},e.prototype.isOpen=function(){return this.bare.readyState==WebSocket.CONNECTING||this.bare.readyState==WebSocket.OPEN},e.prototype.onOpen=function(e){this.bare.onopen=function(t){e()}},e.prototype.onReceive=function(e){this.bare.onmessage=function(t){e(t.data)}},e.prototype.onClose=function(e){this.bare.onclose=function(t){e()}},e}();t.Connection=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(3);t.protocols=["webtty"],t.msgInputUnknown="0",t.msgInput="1",t.msgPing="2",t.msgResizeTerminal="3",t.msgUnknownOutput="0",t.msgOutput="1",t.msgPong="2",t.msgSetWindowTitle="3",t.msgSetPreferences="4",t.msgSetReconnect="5";var o=function(){function e(e,t,r,i){this.term=e,this.connectionFactory=t,this.args=r,this.authToken=i,this.reconnect=-1}return e.prototype.open=function(){var e,r,o=this,s=this.connectionFactory.create(),n=new i.lib.UTF8Decoder,a=function(){s.onOpen(function(){var r=o.term.info();s.send(JSON.stringify({Arguments:o.args,AuthToken:o.authToken}));var i=function(e,r){s.send(t.msgResizeTerminal+JSON.stringify({columns:e,rows:r}))};o.term.onResize(i),i(r.columns,r.rows),o.term.onInput(function(e){s.send(t.msgInput+e)}),e=setInterval(function(){s.send(t.msgPing)},3e4)}),s.onReceive(function(e){var r=e.slice(1);switch(e[0]){case t.msgOutput:o.term.output(n.decode(atob(r)));break;case t.msgPong:break;case t.msgSetWindowTitle:o.term.setWindowTitle(r);break;case t.msgSetPreferences:var i=JSON.parse(r);o.term.setPreferences(i);break;case t.msgSetReconnect:var s=JSON.parse(r);console.log("Enabling reconnect: "+s+" seconds"),o.reconnect=s}}),s.onClose(function(){clearInterval(e),o.term.deactivate(),o.term.showMessage("Connection Closed",0),o.reconnect>0&&(r=setTimeout(function(){s=o.connectionFactory.create(),o.term.reset(),a()},1e3*o.reconnect))}),s.open()};return a(),function(){clearTimeout(r),s.close()}},e}();t.WebTTY=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(0);i.loadAddon("fit");var o=function(){function e(e){var t=this;this.elem=e,this.term=new i,this.message=e.ownerDocument.createElement("div"),this.message.className="xterm-overlay",this.messageTimeout=2e3,this.resizeListener=function(){t.term.fit(),t.term.scrollToBottom(),t.showMessage(String(t.term.cols)+"x"+String(t.term.rows),t.messageTimeout)},this.term.on("open",function(){t.resizeListener(),window.addEventListener("resize",function(){t.resizeListener()})}),this.term.open(e,!0)}return e.prototype.info=function(){return{columns:this.term.cols,rows:this.term.rows}},e.prototype.output=function(e){this.term.write(e)},e.prototype.showMessage=function(e,t){var r=this;this.message.textContent=e,this.elem.appendChild(this.message),this.messageTimer&&clearTimeout(this.messageTimer),t>0&&(this.messageTimer=setTimeout(function(){r.elem.removeChild(r.message)},t))},e.prototype.removeMessage=function(){this.message.parentNode==this.elem&&this.elem.removeChild(this.message)},e.prototype.setWindowTitle=function(e){document.title=e},e.prototype.setPreferences=function(e){},e.prototype.onInput=function(e){this.term.on("data",function(t){e(t)})},e.prototype.onResize=function(e){this.term.on("resize",function(t){e(t.cols,t.rows)})},e.prototype.deactivate=function(){this.term.off("data"),this.term.off("resize"),this.term.blur()},e.prototype.reset=function(){this.removeMessage(),this.term.clear()},e.prototype.close=function(){window.removeEventListener("resize",this.resizeListener),this.term.destroy()},e}();t.Xterm=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,r){this.textarea=e,this.compositionView=t,this.terminal=r,this.isComposing=!1,this.isSendingComposition=!1,this.compositionPosition={start:null,end:null}}return e.prototype.compositionstart=function(){this.isComposing=!0,this.compositionPosition.start=this.textarea.value.length,this.compositionView.textContent="",this.compositionView.classList.add("active")},e.prototype.compositionupdate=function(e){var t=this;this.compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(function(){t.compositionPosition.end=t.textarea.value.length},0)},e.prototype.compositionend=function(){this.finalizeComposition(!0)},e.prototype.keydown=function(e){if(this.isComposing||this.isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this.finalizeComposition(!1)}return 229!==e.keyCode||(this.handleAnyTextareaChanges(),!1)},e.prototype.finalizeComposition=function(e){var t=this;if(this.compositionView.classList.remove("active"),this.isComposing=!1,this.clearTextareaPosition(),e){var r={start:this.compositionPosition.start,end:this.compositionPosition.end};this.isSendingComposition=!0,setTimeout(function(){if(t.isSendingComposition){t.isSendingComposition=!1;var e=void 0;e=t.isComposing?t.textarea.value.substring(r.start,r.end):t.textarea.value.substring(r.start),t.terminal.handler(e)}},0)}else{this.isSendingComposition=!1;var i=this.textarea.value.substring(this.compositionPosition.start,this.compositionPosition.end);this.terminal.handler(i)}},e.prototype.handleAnyTextareaChanges=function(){var e=this,t=this.textarea.value;setTimeout(function(){if(!e.isComposing){var r=e.textarea.value.replace(t,"");r.length>0&&e.terminal.handler(r)}},0)},e.prototype.updateCompositionElements=function(e){var t=this;if(this.isComposing){var r=this.terminal.element.querySelector(".terminal-cursor");if(r){var i=this.terminal.element.querySelector(".xterm-rows").offsetTop+r.offsetTop;this.compositionView.style.left=r.offsetLeft+"px",this.compositionView.style.top=i+"px",this.compositionView.style.height=r.offsetHeight+"px",this.compositionView.style.lineHeight=r.offsetHeight+"px";var o=this.compositionView.getBoundingClientRect();this.textarea.style.left=r.offsetLeft+"px",this.textarea.style.top=i+"px",this.textarea.style.width=o.width+"px",this.textarea.style.height=o.height+"px",this.textarea.style.lineHeight=o.height+"px"}e||setTimeout(function(){return t.updateCompositionElements(!0)},0)}},e.prototype.clearTextareaPosition=function(){this.textarea.style.left="",this.textarea.style.top=""},e}();t.CompositionHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(2),o=r(4),s=function(){function e(e){this._terminal=e}return e.prototype.addChar=function(e,t){if(e>=" "){var r=n(t);this._terminal.charset&&this._terminal.charset[e]&&(e=this._terminal.charset[e]);var i=this._terminal.y+this._terminal.ybase;if(!r&&this._terminal.x)return void(this._terminal.lines.get(i)[this._terminal.x-1]&&(this._terminal.lines.get(i)[this._terminal.x-1][2]?this._terminal.lines.get(i)[this._terminal.x-1][1]+=e:this._terminal.lines.get(i)[this._terminal.x-2]&&(this._terminal.lines.get(i)[this._terminal.x-2][1]+=e),this._terminal.updateRange(this._terminal.y)));if(this._terminal.x+r-1>=this._terminal.cols)if(this._terminal.wraparoundMode)this._terminal.x=0,++this._terminal.y>this._terminal.scrollBottom?(this._terminal.y--,this._terminal.scroll(!0)):this._terminal.lines.get(this._terminal.y).isWrapped=!0;else if(2===r)return;if(i=this._terminal.y+this._terminal.ybase,this._terminal.insertMode)for(var o=0;othis._terminal.scrollBottom&&(this._terminal.y--,this._terminal.scroll()),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.carriageReturn=function(){this._terminal.x=0},e.prototype.backspace=function(){this._terminal.x>0&&this._terminal.x--},e.prototype.tab=function(){this._terminal.x=this._terminal.nextStop()},e.prototype.shiftOut=function(){this._terminal.setgLevel(1)},e.prototype.shiftIn=function(){this._terminal.setgLevel(0)},e.prototype.insertChars=function(e){var t,r,i,o;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.x,o=[this._terminal.eraseAttr()," ",1];t--&&i=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.cursorForward=function(e){var t=e[0];t<1&&(t=1),this._terminal.x+=t,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.cursorBackward=function(e){var t=e[0];t<1&&(t=1),this._terminal.x>=this._terminal.cols&&this._terminal.x--,this._terminal.x-=t,this._terminal.x<0&&(this._terminal.x=0)},e.prototype.cursorNextLine=function(e){var t=e[0];t<1&&(t=1),this._terminal.y+=t,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x=0},e.prototype.cursorPrecedingLine=function(e){var t=e[0];t<1&&(t=1),this._terminal.y-=t,this._terminal.y<0&&(this._terminal.y=0),this._terminal.x=0},e.prototype.cursorCharAbsolute=function(e){var t=e[0];t<1&&(t=1),this._terminal.x=t-1},e.prototype.cursorPosition=function(e){var t,r;t=e[0]-1,r=e.length>=2?e[1]-1:0,t<0?t=0:t>=this._terminal.rows&&(t=this._terminal.rows-1),r<0?r=0:r>=this._terminal.cols&&(r=this._terminal.cols-1),this._terminal.x=r,this._terminal.y=t},e.prototype.cursorForwardTab=function(e){for(var t=e[0]||1;t--;)this._terminal.x=this._terminal.nextStop()},e.prototype.eraseInDisplay=function(e){var t;switch(e[0]){case 0:for(this._terminal.eraseRight(this._terminal.x,this._terminal.y),t=this._terminal.y+1;t0&&(this._terminal.lines.trimStart(r),this._terminal.ybase=Math.max(this._terminal.ybase-r,0),this._terminal.ydisp=Math.max(this._terminal.ydisp-r,0))}},e.prototype.eraseInLine=function(e){switch(e[0]){case 0:this._terminal.eraseRight(this._terminal.x,this._terminal.y);break;case 1:this._terminal.eraseLeft(this._terminal.x,this._terminal.y);break;case 2:this._terminal.eraseLine(this._terminal.y)}},e.prototype.insertLines=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.rows-1-this._terminal.scrollBottom,i=this._terminal.rows-1+this._terminal.ybase-i+1;t--;)this._terminal.lines.length===this._terminal.lines.maxLength&&(this._terminal.lines.trimStart(1),this._terminal.ybase--,this._terminal.ydisp--,r--,i--),this._terminal.lines.splice(r,0,this._terminal.blankLine(!0)),this._terminal.lines.splice(i,1);this._terminal.updateRange(this._terminal.y),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.deleteLines=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.rows-1-this._terminal.scrollBottom,i=this._terminal.rows-1+this._terminal.ybase-i;t--;)this._terminal.lines.length===this._terminal.lines.maxLength&&(this._terminal.lines.trimStart(1),this._terminal.ybase-=1,this._terminal.ydisp-=1),this._terminal.lines.splice(i+1,0,this._terminal.blankLine(!0)),this._terminal.lines.splice(r,1);this._terminal.updateRange(this._terminal.y),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.deleteChars=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=[this._terminal.eraseAttr()," ",1];t--;)this._terminal.lines.get(r).splice(this._terminal.x,1),this._terminal.lines.get(r).push(i)},e.prototype.scrollUp=function(e){for(var t=e[0]||1;t--;)this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollTop,1),this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollBottom,0,this._terminal.blankLine());this._terminal.updateRange(this._terminal.scrollTop),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.scrollDown=function(e){for(var t=e[0]||1;t--;)this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollBottom,1),this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollTop,0,this._terminal.blankLine());this._terminal.updateRange(this._terminal.scrollTop),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.eraseChars=function(e){var t,r,i,o;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.x,o=[this._terminal.eraseAttr()," ",1];t--&&i=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.HPositionRelative=function(e){var t=e[0];t<1&&(t=1),this._terminal.x+=t,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.repeatPrecedingCharacter=function(e){for(var t=e[0]||1,r=this._terminal.lines.get(this._terminal.ybase+this._terminal.y),i=r[this._terminal.x-1]||[this._terminal.defAttr," ",1];t--;)r[this._terminal.x++]=i},e.prototype.sendDeviceAttributes=function(e){e[0]>0||(this._terminal.prefix?">"===this._terminal.prefix&&(this._terminal.is("xterm")?this._terminal.send(i.C0.ESC+"[>0;276;0c"):this._terminal.is("rxvt-unicode")?this._terminal.send(i.C0.ESC+"[>85;95;0c"):this._terminal.is("linux")?this._terminal.send(e[0]+"c"):this._terminal.is("screen")&&this._terminal.send(i.C0.ESC+"[>83;40003;0c")):this._terminal.is("xterm")||this._terminal.is("rxvt-unicode")||this._terminal.is("screen")?this._terminal.send(i.C0.ESC+"[?1;2c"):this._terminal.is("linux")&&this._terminal.send(i.C0.ESC+"[?6c"))},e.prototype.linePosAbsolute=function(e){var t=e[0];t<1&&(t=1),this._terminal.y=t-1,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1)},e.prototype.VPositionRelative=function(e){var t=e[0];t<1&&(t=1),this._terminal.y+=t,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.HVPosition=function(e){e[0]<1&&(e[0]=1),e[1]<1&&(e[1]=1),this._terminal.y=e[0]-1,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x=e[1]-1,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.tabClear=function(e){var t=e[0];t<=0?delete this._terminal.tabs[this._terminal.x]:3===t&&(this._terminal.tabs={})},e.prototype.setMode=function(e){if(e.length>1)for(var t=0;t1e3,this._terminal.mouseEvents=!0,this._terminal.element.classList.add("enable-mouse-events"),this._terminal.selectionManager.disable(),this._terminal.log("Binding to mouse events.");break;case 1004:this._terminal.sendFocus=!0;break;case 1005:this._terminal.utfMouse=!0;break;case 1006:this._terminal.sgrMouse=!0;break;case 1015:this._terminal.urxvtMouse=!0;break;case 25:this._terminal.cursorHidden=!1;break;case 1049:case 47:case 1047:if(!this._terminal.normal){var r={lines:this._terminal.lines,ybase:this._terminal.ybase,ydisp:this._terminal.ydisp,x:this._terminal.x,y:this._terminal.y,scrollTop:this._terminal.scrollTop,scrollBottom:this._terminal.scrollBottom,tabs:this._terminal.tabs};this._terminal.reset(),this._terminal.viewport.syncScrollArea(),this._terminal.normal=r,this._terminal.showCursor()}}}else switch(e[0]){case 4:this._terminal.insertMode=!0}},e.prototype.resetMode=function(e){if(e.length>1)for(var t=0;t>18,s=this._terminal.curAttr>>9&511,n=511&this._terminal.curAttr;i=30&&t<=37?s=t-30:t>=40&&t<=47?n=t-40:t>=90&&t<=97?s=(t+=8)-90:t>=100&&t<=107?n=(t+=8)-100:0===t?(o=this._terminal.defAttr>>18,s=this._terminal.defAttr>>9&511,n=511&this._terminal.defAttr):1===t?o|=1:4===t?o|=2:5===t?o|=4:7===t?o|=8:8===t?o|=16:22===t?o&=-2:24===t?o&=-3:25===t?o&=-5:27===t?o&=-9:28===t?o&=-17:39===t?s=this._terminal.defAttr>>9&511:49===t?n=511&this._terminal.defAttr:38===t?2===e[i+1]?(i+=2,-1===(s=this._terminal.matchColor(255&e[i],255&e[i+1],255&e[i+2]))&&(s=511),i+=2):5===e[i+1]&&(s=t=255&e[i+=2]):48===t?2===e[i+1]?(i+=2,-1===(n=this._terminal.matchColor(255&e[i],255&e[i+1],255&e[i+2]))&&(n=511),i+=2):5===e[i+1]&&(n=t=255&e[i+=2]):100===t?(s=this._terminal.defAttr>>9&511,n=511&this._terminal.defAttr):this._terminal.error("Unknown SGR attribute: %d.",t);this._terminal.curAttr=o<<18|s<<9|n}else this._terminal.curAttr=this._terminal.defAttr},e.prototype.deviceStatus=function(e){if(this._terminal.prefix){if("?"===this._terminal.prefix)switch(e[0]){case 6:this._terminal.send(i.C0.ESC+"[?"+(this._terminal.y+1)+";"+(this._terminal.x+1)+"R")}}else switch(e[0]){case 5:this._terminal.send(i.C0.ESC+"[0n");break;case 6:this._terminal.send(i.C0.ESC+"["+(this._terminal.y+1)+";"+(this._terminal.x+1)+"R")}},e.prototype.softReset=function(e){this._terminal.cursorHidden=!1,this._terminal.insertMode=!1,this._terminal.originMode=!1,this._terminal.wraparoundMode=!0,this._terminal.applicationKeypad=!1,this._terminal.viewport.syncScrollArea(),this._terminal.applicationCursor=!1,this._terminal.scrollTop=0,this._terminal.scrollBottom=this._terminal.rows-1,this._terminal.curAttr=this._terminal.defAttr,this._terminal.x=this._terminal.y=0,this._terminal.charset=null,this._terminal.glevel=0,this._terminal.charsets=[null]},e.prototype.setCursorStyle=function(e){var t=e[0]<1?1:e[0];switch(t){case 1:case 2:this._terminal.setOption("cursorStyle","block");break;case 3:case 4:this._terminal.setOption("cursorStyle","underline");break;case 5:case 6:this._terminal.setOption("cursorStyle","bar")}var r=t%2==1;this._terminal.setOption("cursorBlink",r)},e.prototype.setScrollRegion=function(e){this._terminal.prefix||(this._terminal.scrollTop=(e[0]||1)-1,this._terminal.scrollBottom=(e[1]&&e[1]<=this._terminal.rows?e[1]:this._terminal.rows)-1,this._terminal.x=0,this._terminal.y=0)},e.prototype.saveCursor=function(e){this._terminal.savedX=this._terminal.x,this._terminal.savedY=this._terminal.y},e.prototype.restoreCursor=function(e){this._terminal.x=this._terminal.savedX||0,this._terminal.y=this._terminal.savedY||0},e}();t.InputHandler=s;var n=function(e){function t(e){var t,r=0,o=i.length-1;if(ei[o][1])return!1;for(;o>=r;)if(t=Math.floor((r+o)/2),e>i[t][1])r=t+1;else{if(!(e=4352&&(e<=4447||9001===e||9002===e||e>=11904&&e<=42191&&12351!==e||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072&&e<=196605||e>=196608&&e<=262141)}var i=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];return function(i){return 0===i?e.nul:i<32||i>=127&&i<160?e.control:t(i)?0:r(i)?2:1}}({nul:0,control:0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=new RegExp("(?:^|[^\\da-z\\.-]+)((https?:\\/\\/)((([\\da-z\\.-]+)\\.([a-z\\.]{2,6}))|((\\d{1,3}\\.){3}\\d{1,3})|(localhost))(:\\d{1,5})?(\\/[\\/\\w\\.\\-%~]*)*(\\?[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?(#[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?)($|[^\\/\\w\\.\\-%]+)"),o=0,s=function(){function e(){this._nextLinkMatcherId=o,this._rowTimeoutIds=[],this._linkMatchers=[],this.registerLinkMatcher(i,null,{matchIndex:1})}return e.prototype.attachToDom=function(e,t){this._document=e,this._rows=t},e.prototype.linkifyRow=function(t){if(this._document){var r=this._rowTimeoutIds[t];r&&clearTimeout(r),this._rowTimeoutIds[t]=setTimeout(this._linkifyRow.bind(this,t),e.TIME_BEFORE_LINKIFY)}},e.prototype.setHypertextLinkHandler=function(e){this._linkMatchers[o].handler=e},e.prototype.setHypertextValidationCallback=function(e){this._linkMatchers[o].validationCallback=e},e.prototype.registerLinkMatcher=function(e,t,r){if(void 0===r&&(r={}),this._nextLinkMatcherId!==o&&!t)throw new Error("handler must be defined");var i={id:this._nextLinkMatcherId++,regex:e,handler:t,matchIndex:r.matchIndex,validationCallback:r.validationCallback,priority:r.priority||0};return this._addLinkMatcherToList(i),i.id},e.prototype._addLinkMatcherToList=function(e){if(0!==this._linkMatchers.length){for(var t=this._linkMatchers.length-1;t>=0;t--)if(e.priority<=this._linkMatchers[t].priority)return void this._linkMatchers.splice(t+1,0,e);this._linkMatchers.splice(0,0,e)}else this._linkMatchers.push(e)},e.prototype.deregisterLinkMatcher=function(e){for(var t=1;t0){if(i.validationCallback)for(var s=function(e){var t=o[e];i.validationCallback(t.textContent,t,function(e){e||t.classList.add("xterm-invalid-link")})},n=0;n=0){var d=this._createAnchorElement(a,t.handler,i);if(c.textContent.length===a.length)if(3===c.nodeType)this._replaceNode(c,d);else{var p=c;if("A"===p.nodeName)return r;p.innerHTML="",p.appendChild(d)}else if(c.childNodes.length>1)for(var f=0;f"]=function(e){return e.setPrefix(">")},a["!"]=function(e){return e.setPrefix("!")},a[0]=function(e){return e.setParam(10*e.getParam())},a[1]=function(e){return e.setParam(10*e.getParam()+1)},a[2]=function(e){return e.setParam(10*e.getParam()+2)},a[3]=function(e){return e.setParam(10*e.getParam()+3)},a[4]=function(e){return e.setParam(10*e.getParam()+4)},a[5]=function(e){return e.setParam(10*e.getParam()+5)},a[6]=function(e){return e.setParam(10*e.getParam()+6)},a[7]=function(e){return e.setParam(10*e.getParam()+7)},a[8]=function(e){return e.setParam(10*e.getParam()+8)},a[9]=function(e){return e.setParam(10*e.getParam()+9)},a.$=function(e){return e.setPostfix("$")},a['"']=function(e){return e.setPostfix('"')},a[" "]=function(e){return e.setPostfix(" ")},a["'"]=function(e){return e.setPostfix("'")},a[";"]=function(e){return e.finalizeParam()},a[i.C0.CAN]=function(e){return e.setState(h.NORMAL)};var l={};l["@"]=function(e,t,r){return e.insertChars(t)},l.A=function(e,t,r){return e.cursorUp(t)},l.B=function(e,t,r){return e.cursorDown(t)},l.C=function(e,t,r){return e.cursorForward(t)},l.D=function(e,t,r){return e.cursorBackward(t)},l.E=function(e,t,r){return e.cursorNextLine(t)},l.F=function(e,t,r){return e.cursorPrecedingLine(t)},l.G=function(e,t,r){return e.cursorCharAbsolute(t)},l.H=function(e,t,r){return e.cursorPosition(t)},l.I=function(e,t,r){return e.cursorForwardTab(t)},l.J=function(e,t,r){return e.eraseInDisplay(t)},l.K=function(e,t,r){return e.eraseInLine(t)},l.L=function(e,t,r){return e.insertLines(t)},l.M=function(e,t,r){return e.deleteLines(t)},l.P=function(e,t,r){return e.deleteChars(t)},l.S=function(e,t,r){return e.scrollUp(t)},l.T=function(e,t,r){t.length<2&&!r&&e.scrollDown(t)},l.X=function(e,t,r){return e.eraseChars(t)},l.Z=function(e,t,r){return e.cursorBackwardTab(t)},l["`"]=function(e,t,r){return e.charPosAbsolute(t)},l.a=function(e,t,r){return e.HPositionRelative(t)},l.b=function(e,t,r){return e.repeatPrecedingCharacter(t)},l.c=function(e,t,r){return e.sendDeviceAttributes(t)},l.d=function(e,t,r){return e.linePosAbsolute(t)},l.e=function(e,t,r){return e.VPositionRelative(t)},l.f=function(e,t,r){return e.HVPosition(t)},l.g=function(e,t,r){return e.tabClear(t)},l.h=function(e,t,r){return e.setMode(t)},l.l=function(e,t,r){return e.resetMode(t)},l.m=function(e,t,r){return e.charAttributes(t)},l.n=function(e,t,r){return e.deviceStatus(t)},l.p=function(e,t,r){switch(r){case"!":e.softReset(t)}},l.q=function(e,t,r,i){" "===i&&e.setCursorStyle(t)},l.r=function(e,t){return e.setScrollRegion(t)},l.s=function(e,t){return e.saveCursor(t)},l.u=function(e,t){return e.restoreCursor(t)},l[i.C0.CAN]=function(e,t,r,i,o){return o.setState(h.NORMAL)};var h;!function(e){e[e.NORMAL=0]="NORMAL",e[e.ESCAPED=1]="ESCAPED",e[e.CSI_PARAM=2]="CSI_PARAM",e[e.CSI=3]="CSI",e[e.OSC=4]="OSC",e[e.CHARSET=5]="CHARSET",e[e.DCS=6]="DCS",e[e.IGNORE=7]="IGNORE"}(h||(h={}));var c=function(){function e(e,t){this._inputHandler=e,this._terminal=t,this._state=h.NORMAL}return e.prototype.parse=function(e){var t,r,c,u,d=e.length;for(this._position=0,this._terminal.surrogate_high&&(e=this._terminal.surrogate_high+e,this._terminal.surrogate_high="");this._position":this._terminal.log("Switching back to normal keypad."),this._terminal.applicationKeypad=!1,this._terminal.viewport.syncScrollArea(),this._state=h.NORMAL;break;default:this._state=h.NORMAL,this._terminal.error("Unknown ESC control: %s.",r)}break;case h.CHARSET:r in o.CHARSETS?(t=o.CHARSETS[r],"/"===r&&this.skipNextChar()):t=o.DEFAULT_CHARSET,this._terminal.setgCharset(this._terminal.gcharset,t),this._terminal.gcharset=null,this._state=h.NORMAL;break;case h.OSC:if(r===i.C0.ESC||r===i.C0.BEL){switch(r===i.C0.ESC&&this._position++,this._terminal.params.push(this._terminal.currentParam),this._terminal.params[0]){case 0:case 1:case 2:this._terminal.params[1]&&(this._terminal.title=this._terminal.params[1],this._terminal.handleTitle(this._terminal.title))}this._terminal.params=[],this._terminal.currentParam=0,this._state=h.NORMAL}else this._terminal.params.length?this._terminal.currentParam+=r:r>="0"&&r<="9"?this._terminal.currentParam=10*this._terminal.currentParam+r.charCodeAt(0)-48:";"===r&&(this._terminal.params.push(this._terminal.currentParam),this._terminal.currentParam="");break;case h.CSI_PARAM:if(r in a){a[r](this);break}this.finalizeParam(),this._state=h.CSI;case h.CSI:r in l?l[r](this._inputHandler,this._terminal.params,this._terminal.prefix,this._terminal.postfix,this):this._terminal.error("Unknown CSI code: %s.",r),this._state=h.NORMAL,this._terminal.prefix="",this._terminal.postfix="";break;case h.DCS:if(r===i.C0.ESC||r===i.C0.BEL){r===i.C0.ESC&&this._position++;var p=void 0,f=void 0;switch(this._terminal.prefix){case"":break;case"$q":switch(p=this._terminal.currentParam,f=!1,p){case'"q':p='0"q';break;case'"p':p='61"p';break;case"r":p=this._terminal.scrollTop+1+";"+(this._terminal.scrollBottom+1)+"r";break;case"m":p="0m";break;default:this._terminal.error("Unknown DCS Pt: %s.",p),p=""}this._terminal.send(i.C0.ESC+"P"+ +f+"$r"+p+i.C0.ESC+"\\");break;case"+p":break;case"+q":p=this._terminal.currentParam,f=!1,this._terminal.send(i.C0.ESC+"P"+ +f+"+r"+p+i.C0.ESC+"\\");break;default:this._terminal.error("Unknown DCS prefix: %s.",this._terminal.prefix)}this._terminal.currentParam=0,this._terminal.prefix="",this._state=h.NORMAL}else this._terminal.currentParam?this._terminal.currentParam+=r:this._terminal.prefix||"$"===r||"+"===r?2===this._terminal.prefix.length?this._terminal.currentParam=r:this._terminal.prefix+=r:this._terminal.currentParam=r;break;case h.IGNORE:r!==i.C0.ESC&&r!==i.C0.BEL||(r===i.C0.ESC&&this._position++,this._state=h.NORMAL)}}return this._state},e.prototype.setState=function(e){this._state=e},e.prototype.setPrefix=function(e){this._terminal.prefix=e},e.prototype.setPostfix=function(e){this._terminal.postfix=e},e.prototype.setParam=function(e){this._terminal.currentParam=e},e.prototype.getParam=function(){return this._terminal.currentParam},e.prototype.finalizeParam=function(){this._terminal.params.push(this._terminal.currentParam),this._terminal.currentParam=0},e.prototype.skipNextChar=function(){this._position++},e}();t.Parser=c},function(e,t,r){"use strict";function i(e){var t=e.ownerDocument.createElement("span");t.innerHTML="hello world",e.appendChild(t);var r=t.offsetWidth,i=t.offsetHeight;t.style.fontWeight="bold";var o=t.offsetWidth,s=t.offsetHeight;return e.removeChild(t),r!==o||i!==s}Object.defineProperty(t,"__esModule",{value:!0});var o,s=r(26);!function(e){e[e.BOLD=1]="BOLD",e[e.UNDERLINE=2]="UNDERLINE",e[e.BLINK=4]="BLINK",e[e.INVERSE=8]="INVERSE",e[e.INVISIBLE=16]="INVISIBLE"}(o||(o={}));var n=null,a=function(){function e(e){this._terminal=e,this._refreshRowsQueue=[],this._refreshFramesSkipped=0,this._refreshAnimationFrame=null,this._spanElementObjectPool=new s.DomElementObjectPool("span"),null===n&&(n=i(this._terminal.element)),this._spanElementObjectPool=new s.DomElementObjectPool("span")}return e.prototype.queueRefresh=function(e,t){this._refreshRowsQueue.push({start:e,end:t}),this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame(this._refreshLoop.bind(this)))},e.prototype._refreshLoop=function(){if(this._terminal.writeBuffer.length>0&&this._refreshFramesSkipped++<=5)this._refreshAnimationFrame=window.requestAnimationFrame(this._refreshLoop.bind(this));else{this._refreshFramesSkipped=0;var e,t;if(this._refreshRowsQueue.length>4)e=0,t=this._terminal.rows-1;else{e=this._refreshRowsQueue[0].start,t=this._refreshRowsQueue[0].end;for(var r=1;rt&&(t=this._refreshRowsQueue[r].end)}this._refreshRowsQueue=[],this._refreshAnimationFrame=null,this._refresh(e,t)}},e.prototype._refresh=function(e,t){var r;t-e>=this._terminal.rows/2&&(r=this._terminal.element.parentNode)&&this._terminal.element.removeChild(this._terminal.rowContainer);var i=this._terminal.cols,s=e;for(t>=this._terminal.rows&&(this._terminal.log("`end` is too large. Most likely a bad CSR."),t=this._terminal.rows-1);s<=t;s++){var a=s+this._terminal.ydisp,l=this._terminal.lines.get(a),h=void 0;h=this._terminal.y===s-(this._terminal.ybase-this._terminal.ydisp)&&this._terminal.cursorState&&!this._terminal.cursorHidden?this._terminal.x:-1;for(var c=this._terminal.defAttr,u=document.createDocumentFragment(),d="",p=void 0;this._terminal.children[s].children.length;){var f=this._terminal.children[s].children[0];this._terminal.children[s].removeChild(f),this._spanElementObjectPool.release(f)}for(var g=0;g>9&511,w=m>>18;if(w&o.BOLD&&(n||p.classList.add("xterm-bold"),C<8&&(C+=8)),w&o.UNDERLINE&&p.classList.add("xterm-underline"),w&o.BLINK&&p.classList.add("xterm-blink"),w&o.INVERSE){var S=_;_=C,C=S,1&w&&C<8&&(C+=8)}w&o.INVISIBLE&&p.classList.add("xterm-hidden"),w&o.INVERSE&&(257===_&&(_=15),256===C&&(C=0)),_<256&&p.classList.add("xterm-bg-color-"+_),C<256&&p.classList.add("xterm-color-"+C)}if(2===b)d+=''+y+"";else if(y.charCodeAt(0)>255)d+=''+y+"";else switch(y){case"&":d+="&";break;case"<":d+="<";break;case">":d+=">";break;default:d+=y<=" "?" ":y}c=m}}d&&!p&&(p=this._spanElementObjectPool.acquire()),p&&(d&&(p.innerHTML=d,d=""),u.appendChild(p),p=null),this._terminal.children[s].appendChild(u)}r&&this._terminal.element.appendChild(this._terminal.rowContainer),this._terminal.emit("refresh",{element:this._terminal.element,start:e,end:t})},e.prototype.refreshSelection=function(e,t){for(;this._terminal.selectionContainer.children.length;)this._terminal.selectionContainer.removeChild(this._terminal.selectionContainer.children[0]);if(e&&t){var r=e[1]-this._terminal.ydisp,i=t[1]-this._terminal.ydisp,o=Math.max(r,0),s=Math.min(i,this._terminal.rows-1);if(!(o>=this._terminal.rows||s<0)){var n=document.createDocumentFragment(),a=r===o?e[0]:0,l=o===s?t[0]:this._terminal.cols;n.appendChild(this._createSelectionElement(o,a,l));var h=s-o-1;if(n.appendChild(this._createSelectionElement(o+1,0,this._terminal.cols,h)),o!==s){var c=i===s?t[0]:this._terminal.cols;n.appendChild(this._createSelectionElement(s,0,c))}this._terminal.selectionContainer.appendChild(n)}}},e.prototype._createSelectionElement=function(e,t,r,i){void 0===i&&(i=1);var o=document.createElement("div");return o.style.height=i*this._terminal.charMeasure.height+"px",o.style.top=e*this._terminal.charMeasure.height+"px",o.style.left=t*this._terminal.charMeasure.width+"px",o.style.width=this._terminal.charMeasure.width*(r-t)+"px",o},e}();t.Renderer=a},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o,s=r(10),n=r(9),a=r(1),l=r(21),h=String.fromCharCode(160),c=new RegExp(h,"g");!function(e){e[e.NORMAL=0]="NORMAL",e[e.WORD=1]="WORD",e[e.LINE=2]="LINE"}(o||(o={}));var u=function(e){function t(t,r,i,s){var n=e.call(this)||this;return n._terminal=t,n._buffer=r,n._rowContainer=i,n._charMeasure=s,n._initListeners(),n.enable(),n._model=new l.SelectionModel(t),n._lastMouseDownTime=0,n._activeSelectionMode=o.NORMAL,n}return i(t,e),t.prototype._initListeners=function(){var e=this;this._bufferTrimListener=function(t){return e._onTrim(t)},this._mouseMoveListener=function(t){return e._onMouseMove(t)},this._mouseDownListener=function(t){return e._onMouseDown(t)},this._mouseUpListener=function(t){return e._onMouseUp(t)}},t.prototype.disable=function(){this.clearSelection(),this._buffer.off("trim",this._bufferTrimListener),this._rowContainer.removeEventListener("mousedown",this._mouseDownListener)},t.prototype.enable=function(){this._buffer.on("trim",this._bufferTrimListener),this._rowContainer.addEventListener("mousedown",this._mouseDownListener)},t.prototype.setBuffer=function(e){this._buffer=e,this.clearSelection()},Object.defineProperty(t.prototype,"hasSelection",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t)&&(e[0]!==t[0]||e[1]!==t[1])},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectionText",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";var r=e[1]===t[1]?t[0]:null,i=[];i.push(this._translateBufferLineToString(this._buffer.get(e[1]),!0,e[0],r));for(var o=e[1]+1;o<=t[1]-1;o++){var s=this._buffer.get(o),a=this._translateBufferLineToString(s,!0);s.isWrapped?i[i.length-1]+=a:i.push(a)}if(e[1]!==t[1]){var s=this._buffer.get(t[1]),a=this._translateBufferLineToString(s,!0,0,t[0]);s.isWrapped?i[i.length-1]+=a:i.push(a)}return i.map(function(e){return e.replace(c," ")}).join(n.isMSWindows?"\r\n":"\n")},enumerable:!0,configurable:!0}),t.prototype.clearSelection=function(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh()},t.prototype._translateBufferLineToString=function(e,t,r,i){void 0===r&&(r=0),void 0===i&&(i=null);for(var o="",s=r,n=i,a=0;a=a&&s--,i>=a&&n--)}var h=n||e.length;if(t){var c=o.search(/\s+$/);if(-1!==c&&(h=Math.min(h,c)),h<=s)return""}return o.substring(s,h)},t.prototype.refresh=function(e){var t=this;this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame(function(){return t._refresh()})),n.isLinux&&e&&this.selectionText.length&&this.emit("newselection",this.selectionText)},t.prototype._refresh=function(){this._refreshAnimationFrame=null,this.emit("refresh",{start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd})},t.prototype.selectAll=function(){this._model.isSelectAllActive=!0,this.refresh()},t.prototype._onTrim=function(e){this._model.onTrim(e)&&this.refresh()},t.prototype._getMouseBufferCoords=function(e){var t=s.getCoords(e,this._rowContainer,this._charMeasure,this._terminal.cols,this._terminal.rows,!0);return t[0]--,t[1]--,t[1]+=this._terminal.ydisp,t},t.prototype._getMouseEventScrollAmount=function(e){var t=s.getCoordsRelativeToElement(e,this._rowContainer)[1],r=this._terminal.rows*this._charMeasure.height;return t>=0&&t<=r?0:(t>r&&(t-=r),t=Math.min(Math.max(t,-50),50),(t/=50)/Math.abs(t)+Math.round(14*t))},t.prototype._onMouseDown=function(e){0===e.button&&(e.preventDefault(),this._dragScrollAmount=0,this._setMouseClickCount(e),e.shiftKey?this._onShiftClick(e):1===this._clickCount?this._onSingleClick(e):2===this._clickCount?this._onDoubleClick(e):3===this._clickCount&&this._onTripleClick(e),this._addMouseDownListeners(),this.refresh(!0))},t.prototype._addMouseDownListeners=function(){var e=this;this._rowContainer.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._rowContainer.ownerDocument.addEventListener("mouseup",this._mouseUpListener),this._dragScrollIntervalTimer=setInterval(function(){return e._dragScroll()},50)},t.prototype._removeMouseDownListeners=function(){this._rowContainer.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._rowContainer.ownerDocument.removeEventListener("mouseup",this._mouseUpListener),clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=null},t.prototype._onShiftClick=function(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))},t.prototype._onSingleClick=function(e){this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=o.NORMAL,this._model.selectionStart=this._getMouseBufferCoords(e),this._model.selectionStart&&(this._model.selectionEnd=null,0===this._buffer.get(this._model.selectionStart[1])[this._model.selectionStart[0]][2]&&this._model.selectionStart[0]++)},t.prototype._onDoubleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=o.WORD,this._selectWordAt(t))},t.prototype._onTripleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=o.LINE,this._selectLineAt(t[1]))},t.prototype._setMouseClickCount=function(e){var t=(new Date).getTime();(t-this._lastMouseDownTime>400||this._distanceFromLastMousePosition(e)>10)&&(this._clickCount=0),this._lastMouseDownTime=t,this._lastMousePosition=[e.pageX,e.pageY],this._clickCount++},t.prototype._distanceFromLastMousePosition=function(e){return Math.max(Math.abs(this._lastMousePosition[0]-e.pageX),Math.abs(this._lastMousePosition[1]-e.pageY))},t.prototype._onMouseMove=function(e){var t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),this._activeSelectionMode===o.LINE?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._terminal.cols-1:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]0?this._model.selectionEnd=[this._terminal.cols-1,this._terminal.ydisp+this._terminal.rows]:this._model.selectionEnd=[0,this._terminal.ydisp],this.refresh())},t.prototype._onMouseUp=function(e){this._removeMouseDownListeners()},t.prototype._convertViewportColToCharacterIndex=function(e,t){for(var r=t[0],i=0;t[0]>=i;i++)0===e[i][2]&&r--;return r},t.prototype._getWordAt=function(e){var t=this._buffer.get(e[1]),r=this._translateBufferLineToString(t,!1),i=this._convertViewportColToCharacterIndex(t,e),o=i,s=e[0]-o,n=0,a=0;if(" "===r.charAt(o)){for(;o>0&&" "===r.charAt(o-1);)o--;for(;i0&&!this._isCharWordSeparator(r.charAt(o-1));)0===t[l-1][2]&&(n++,l--),o--,l--;for(;i+1=0},t.prototype._selectLineAt=function(e){this._model.selectionStart=[0,e],this._model.selectionStartLength=this._terminal.cols},t}(a.EventEmitter);t.SelectionManager=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e){this._terminal=e,this.clearSelection()}return e.prototype.clearSelection=function(){this.selectionStart=null,this.selectionEnd=null,this.isSelectAllActive=!1,this.selectionStartLength=0},Object.defineProperty(e.prototype,"finalSelectionStart",{get:function(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"finalSelectionEnd",{get:function(){return this.isSelectAllActive?[this._terminal.cols,this._terminal.ybase+this._terminal.rows-1]:this.selectionStart?!this.selectionEnd||this.areSelectionValuesReversed()?[this.selectionStart[0]+this.selectionStartLength,this.selectionStart[1]]:this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]?[Math.max(this.selectionStart[0]+this.selectionStartLength,this.selectionEnd[0]),this.selectionEnd[1]]:this.selectionEnd:null},enumerable:!0,configurable:!0}),e.prototype.areSelectionValuesReversed=function(){var e=this.selectionStart,t=this.selectionEnd;return e[1]>t[1]||e[1]===t[1]&&e[0]>t[0]},e.prototype.onTrim=function(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)},e}();t.SelectionModel=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,r,i){var o=this;this.terminal=e,this.viewportElement=t,this.scrollArea=r,this.charMeasure=i,this.currentRowHeight=0,this.lastRecordedBufferLength=0,this.lastRecordedViewportHeight=0,this.terminal.on("scroll",this.syncScrollArea.bind(this)),this.terminal.on("resize",this.syncScrollArea.bind(this)),this.viewportElement.addEventListener("scroll",this.onScroll.bind(this)),setTimeout(function(){return o.syncScrollArea()},0)}return e.prototype.refresh=function(){if(this.charMeasure.height>0){var e=this.charMeasure.height!==this.currentRowHeight;e&&(this.currentRowHeight=this.charMeasure.height,this.viewportElement.style.lineHeight=this.charMeasure.height+"px",this.terminal.rowContainer.style.lineHeight=this.charMeasure.height+"px");var t=this.lastRecordedViewportHeight!==this.terminal.rows;(e||t)&&(this.lastRecordedViewportHeight=this.terminal.rows,this.viewportElement.style.height=this.charMeasure.height*this.terminal.rows+"px",this.terminal.selectionContainer.style.height=this.viewportElement.style.height),this.scrollArea.style.height=this.charMeasure.height*this.lastRecordedBufferLength+"px"}},e.prototype.syncScrollArea=function(){this.lastRecordedBufferLength!==this.terminal.lines.length?(this.lastRecordedBufferLength=this.terminal.lines.length,this.refresh()):this.lastRecordedViewportHeight!==this.terminal.rows?this.refresh():this.charMeasure.height!==this.currentRowHeight&&this.refresh();var e=this.terminal.ydisp*this.currentRowHeight;this.viewportElement.scrollTop!==e&&(this.viewportElement.scrollTop=e)},e.prototype.onScroll=function(e){var t=Math.round(this.viewportElement.scrollTop/this.currentRowHeight)-this.terminal.ydisp;this.terminal.scrollDisp(t,!0)},e.prototype.onWheel=function(e){if(0!==e.deltaY){var t=1;e.deltaMode===WheelEvent.DOM_DELTA_LINE?t=this.currentRowHeight:e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t=this.currentRowHeight*this.terminal.rows),this.viewportElement.scrollTop+=e.deltaY*t,e.preventDefault()}},e.prototype.onTouchStart=function(e){this.lastTouchY=e.touches[0].pageY},e.prototype.onTouchMove=function(e){var t=this.lastTouchY-e.touches[0].pageY;this.lastTouchY=e.touches[0].pageY,0!==t&&(this.viewportElement.scrollTop+=t,e.preventDefault())},e}();t.Viewport=i},function(e,t,r){"use strict";function i(e,t){return t?e.replace(/\r?\n/g,"\r"):e}function o(e,t){t.style.position="fixed",t.style.width="20px",t.style.height="20px",t.style.left=e.clientX-10+"px",t.style.top=e.clientY-10+"px",t.style.zIndex="1000",t.focus(),setTimeout(function(){t.style.position=null,t.style.width=null,t.style.height=null,t.style.left=null,t.style.top=null,t.style.zIndex=null},4)}Object.defineProperty(t,"__esModule",{value:!0}),t.prepareTextForTerminal=i,t.copyHandler=function(e,t,r){t.browser.isMSIE?window.clipboardData.setData("Text",r.selectionText):e.clipboardData.setData("text/plain",r.selectionText),e.preventDefault()},t.pasteHandler=function(e,t){e.stopPropagation();var r=function(r){return r=i(r,t.browser.isMSWindows),t.handler(r),t.textarea.value="",t.emit("paste",r),t.cancel(e)};t.browser.isMSIE?window.clipboardData&&r(window.clipboardData.getData("Text")):e.clipboardData&&r(e.clipboardData.getData("text/plain"))},t.moveTextAreaUnderMouseCursor=o,t.rightClickHandler=function(e,t,r){o(e,t),t.value=r.selectionText,t.select()}},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t,r){var i=e.call(this)||this;return i._document=t,i._parentElement=r,i}return i(t,e),Object.defineProperty(t.prototype,"width",{get:function(){return this._width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this._height},enumerable:!0,configurable:!0}),t.prototype.measure=function(){var e=this;this._measureElement?this._doMeasure():(this._measureElement=this._document.createElement("span"),this._measureElement.style.position="absolute",this._measureElement.style.top="0",this._measureElement.style.left="-9999em",this._measureElement.textContent="W",this._measureElement.setAttribute("aria-hidden","true"),this._parentElement.appendChild(this._measureElement),setTimeout(function(){return e._doMeasure()},0))},t.prototype._doMeasure=function(){var e=this._measureElement.getBoundingClientRect();0!==e.width&&0!==e.height&&(this._width===e.width&&this._height===e.height||(this._width=e.width,this._height=e.height,this.emit("charsizechanged")))},t}(r(1).EventEmitter);t.CharMeasure=o},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var r=e.call(this)||this;return r._array=new Array(t),r._startIndex=0,r._length=0,r}return i(t,e),Object.defineProperty(t.prototype,"maxLength",{get:function(){return this._array.length},set:function(e){for(var t=new Array(e),r=0;rthis._length)for(var t=this._length;t=e;o--)this._array[this._getCyclicIndex(o+r.length)]=this._array[this._getCyclicIndex(o)];for(var o=0;othis.maxLength){var s=this._length+r.length-this.maxLength;this._startIndex+=s,this._length=this.maxLength,this.emit("trim",s)}else this._length+=r.length}},t.prototype.trimStart=function(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.emit("trim",e)},t.prototype.shiftElements=function(e,t,r){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+r<0)throw new Error("Cannot shift elements in list beyond index 0");if(r>0){for(o=t-1;o>=0;o--)this.set(e+o+r,this.get(e+o));var i=e+t+r-this._length;if(i>0)for(this._length+=i;this._length>this.maxLength;)this._length--,this._startIndex++,this.emit("trim",1)}else for(var o=0;o=0}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(11),o=r(14),s=r(13),n=r(12),a=document.getElementById("terminal");if(null!==a){var l;l="hterm"==gotty_term?new i.Hterm(a):new o.Xterm(a);var h=("https:"==window.location.protocol?"wss://":"ws://")+window.location.host+window.location.pathname+"ws",c=window.location.search,u=new n.ConnectionFactory(h,s.protocols),d=new s.WebTTY(l,u,c,gotty_auth_token).open();window.addEventListener("unload",function(){d(),l.close()})}},function(e,t,r){function i(e){return r(o(e))}function o(e){var t=s[e];if(!(t+1))throw new Error("Cannot find module '"+e+"'.");return t}var s={"./attach/attach":5,"./attach/attach.js":5,"./attach/package.json":30,"./fit/fit":6,"./fit/fit.js":6,"./fit/package.json":31,"./fullscreen/fullscreen":7,"./fullscreen/fullscreen.css":32,"./fullscreen/fullscreen.js":7,"./fullscreen/package.json":33,"./terminado/package.json":34,"./terminado/terminado":8,"./terminado/terminado.js":8};i.keys=function(){return Object.keys(s)},i.resolve=o,e.exports=i,i.id=29},function(e,t){e.exports={name:"xterm.attach",main:"attach.js",private:!0}},function(e,t){e.exports={name:"xterm.fit",main:"fit.js",private:!0}},function(e,t){throw new Error("Module parse failed: /home/yudai/archive/products/2015/gotty/src/github.com/yudai/gotty/js/node_modules/xterm/lib/addons/fullscreen/fullscreen.css Unexpected token (1:0)\nYou may need an appropriate loader to handle this file type.\n| .xterm.fullscreen {\n| position: fixed;\n| top: 0;")},function(e,t){e.exports={name:"xterm.fullscreen",main:"fullscreen.js",private:!0}},function(e,t){e.exports={name:"xterm.terminado",main:"terminado.js",private:!0}}]); \ No newline at end of file +!function(t){e.exports=t(r(0))}(function(e){"use strict";var t={};return t.terminadoAttach=function(e,t,r,i){r=void 0===r||r,e.socket=t,e._flushBuffer=function(){e.write(e._attachSocketBuffer),e._attachSocketBuffer=null,clearTimeout(e._attachSocketBufferTimer),e._attachSocketBufferTimer=null},e._pushToBuffer=function(t){e._attachSocketBuffer?e._attachSocketBuffer+=t:(e._attachSocketBuffer=t,setTimeout(e._flushBuffer,10))},e._getMessage=function(t){var r=JSON.parse(t.data);"stdout"==r[0]&&(i?e._pushToBuffer(r[1]):e.write(r[1]))},e._sendData=function(e){t.send(JSON.stringify(["stdin",e]))},e._setSize=function(e){t.send(JSON.stringify(["set_size",e.rows,e.cols]))},t.addEventListener("message",e._getMessage),r&&e.on("data",e._sendData),e.on("resize",e._setSize),t.addEventListener("close",e.terminadoDetach.bind(e,t)),t.addEventListener("error",e.terminadoDetach.bind(e,t))},t.terminadoDetach=function(e,t){e.off("data",e._sendData),(t=void 0===t?e.socket:t)&&t.removeEventListener("message",e._getMessage),delete e.socket},e.prototype.terminadoAttach=function(e,r,i){return t.terminadoAttach(this,e,r,i)},e.prototype.terminadoDetach=function(e){return t.terminadoDetach(this,e)},t})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(27),o="undefined"==typeof navigator,s=o?"node":navigator.userAgent,n=o?"node":navigator.platform;t.isFirefox=!!~s.indexOf("Firefox"),t.isMSIE=!!~s.indexOf("MSIE")||!!~s.indexOf("Trident"),t.isMac=i.contains(["Macintosh","MacIntel","MacPPC","Mac68K"],n),t.isIpad="iPad"===n,t.isIphone="iPhone"===n,t.isMSWindows=i.contains(["Windows","Win16","Win32","WinCE"],n),t.isLinux=n.indexOf("Linux")>=0},function(e,t,r){"use strict";function i(e,t){if(null==e.pageX)return null;for(var r=e.pageX,i=e.pageY;t&&t!==self.document.documentElement;)r-=t.offsetLeft,i-=t.offsetTop,t="offsetParent"in t?t.offsetParent:t.parentElement;return[r,i]}function o(e,t,r,o,s,n){var a=i(e,t);return a[0]=Math.ceil((a[0]+(n?r.width/2:0))/r.width),a[1]=Math.ceil(a[1]/r.height),a[0]=Math.min(Math.max(a[0],1),o+1),a[1]=Math.min(Math.max(a[1],1),s+1),a}Object.defineProperty(t,"__esModule",{value:!0}),t.getCoordsRelativeToElement=i,t.getCoords=o,t.getRawByteCoords=function(e,t,r,i,s){var n=o(e,t,r,i,s),a=n[0],l=n[1];return a+=32,l+=32,{x:a,y:l}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(3),o=function(){function e(e){this.elem=e,i.hterm.defaultStorage=new i.lib.Storage.Memory,this.term=new i.hterm.Terminal,this.term.getPrefs().set("send-encoding","raw"),this.term.decorate(this.elem),this.io=this.term.io.push(),this.term.installKeyboard()}return e.prototype.info=function(){return{columns:this.columns,rows:this.rows}},e.prototype.output=function(e){null!=this.term.io&&this.term.io.writeUTF16(e)},e.prototype.showMessage=function(e,t){this.message=e,t>0?this.term.io.showOverlay(e,t):this.term.io.showOverlay(e,null)},e.prototype.removeMessage=function(){this.term.io.showOverlay(this.message,0)},e.prototype.setWindowTitle=function(e){this.term.setWindowTitle(e)},e.prototype.setPreferences=function(e){var t=this;Object.keys(e).forEach(function(r){t.term.getPrefs().set(r,e[r])})},e.prototype.onInput=function(e){this.io.onVTKeystroke=function(t){e(t)},this.io.sendString=function(t){e(t)}},e.prototype.onResize=function(e){var t=this;this.io.onTerminalResize=function(r,i){t.columns=r,t.rows=i,e(r,i)}},e.prototype.deactivate=function(){this.io.onVTKeystroke=null,this.io.sendString=null,this.io.onTerminalResize=null,this.term.uninstallKeyboard()},e.prototype.reset=function(){this.removeMessage(),this.term.installKeyboard()},e.prototype.close=function(){this.term.uninstallKeyboard()},e}();t.Hterm=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){this.url=e,this.protocols=t}return e.prototype.create=function(){return new o(this.url,this.protocols)},e}();t.ConnectionFactory=i;var o=function(){function e(e,t){this.bare=new WebSocket(e,t)}return e.prototype.open=function(){},e.prototype.close=function(){this.bare.close()},e.prototype.send=function(e){this.bare.send(e)},e.prototype.isOpen=function(){return this.bare.readyState==WebSocket.CONNECTING||this.bare.readyState==WebSocket.OPEN},e.prototype.onOpen=function(e){this.bare.onopen=function(t){e()}},e.prototype.onReceive=function(e){this.bare.onmessage=function(t){e(t.data)}},e.prototype.onClose=function(e){this.bare.onclose=function(t){e()}},e}();t.Connection=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(3);t.protocols=["webtty"],t.msgInputUnknown="0",t.msgInput="1",t.msgPing="2",t.msgResizeTerminal="3",t.msgUnknownOutput="0",t.msgOutput="1",t.msgPong="2",t.msgSetWindowTitle="3",t.msgSetPreferences="4",t.msgSetReconnect="5";var o=function(){function e(e,t,r,i){this.term=e,this.connectionFactory=t,this.args=r,this.authToken=i,this.reconnect=-1}return e.prototype.open=function(){var e,r,o=this,s=this.connectionFactory.create(),n=function(){var a=new i.lib.UTF8Decoder;s.onOpen(function(){var r=o.term.info();s.send(JSON.stringify({Arguments:o.args,AuthToken:o.authToken}));var i=function(e,r){s.send(t.msgResizeTerminal+JSON.stringify({columns:e,rows:r}))};o.term.onResize(i),i(r.columns,r.rows),o.term.onInput(function(e){s.send(t.msgInput+e)}),e=setInterval(function(){s.send(t.msgPing)},3e4)}),s.onReceive(function(e){var r=e.slice(1);switch(e[0]){case t.msgOutput:o.term.output(a.decode(atob(r)));break;case t.msgPong:break;case t.msgSetWindowTitle:o.term.setWindowTitle(r);break;case t.msgSetPreferences:var i=JSON.parse(r);o.term.setPreferences(i);break;case t.msgSetReconnect:var s=JSON.parse(r);console.log("Enabling reconnect: "+s+" seconds"),o.reconnect=s}}),s.onClose(function(){clearInterval(e),o.term.deactivate(),o.term.showMessage("Connection Closed",0),o.reconnect>0&&(r=setTimeout(function(){s=o.connectionFactory.create(),o.term.reset(),n()},1e3*o.reconnect))}),s.open()};return n(),function(){clearTimeout(r),s.close()}},e}();t.WebTTY=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(0);i.loadAddon("fit");var o=function(){function e(e){var t=this;this.elem=e,this.term=new i,this.message=e.ownerDocument.createElement("div"),this.message.className="xterm-overlay",this.messageTimeout=2e3,this.resizeListener=function(){t.term.fit(),t.term.scrollToBottom(),t.showMessage(String(t.term.cols)+"x"+String(t.term.rows),t.messageTimeout)},this.term.on("open",function(){t.resizeListener(),window.addEventListener("resize",function(){t.resizeListener()})}),this.term.open(e,!0)}return e.prototype.info=function(){return{columns:this.term.cols,rows:this.term.rows}},e.prototype.output=function(e){this.term.write(e)},e.prototype.showMessage=function(e,t){var r=this;this.message.textContent=e,this.elem.appendChild(this.message),this.messageTimer&&clearTimeout(this.messageTimer),t>0&&(this.messageTimer=setTimeout(function(){r.elem.removeChild(r.message)},t))},e.prototype.removeMessage=function(){this.message.parentNode==this.elem&&this.elem.removeChild(this.message)},e.prototype.setWindowTitle=function(e){document.title=e},e.prototype.setPreferences=function(e){},e.prototype.onInput=function(e){this.term.on("data",function(t){e(t)})},e.prototype.onResize=function(e){this.term.on("resize",function(t){e(t.cols,t.rows)})},e.prototype.deactivate=function(){this.term.off("data"),this.term.off("resize"),this.term.blur()},e.prototype.reset=function(){this.removeMessage(),this.term.clear()},e.prototype.close=function(){window.removeEventListener("resize",this.resizeListener),this.term.destroy()},e}();t.Xterm=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,r){this.textarea=e,this.compositionView=t,this.terminal=r,this.isComposing=!1,this.isSendingComposition=!1,this.compositionPosition={start:null,end:null}}return e.prototype.compositionstart=function(){this.isComposing=!0,this.compositionPosition.start=this.textarea.value.length,this.compositionView.textContent="",this.compositionView.classList.add("active")},e.prototype.compositionupdate=function(e){var t=this;this.compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(function(){t.compositionPosition.end=t.textarea.value.length},0)},e.prototype.compositionend=function(){this.finalizeComposition(!0)},e.prototype.keydown=function(e){if(this.isComposing||this.isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this.finalizeComposition(!1)}return 229!==e.keyCode||(this.handleAnyTextareaChanges(),!1)},e.prototype.finalizeComposition=function(e){var t=this;if(this.compositionView.classList.remove("active"),this.isComposing=!1,this.clearTextareaPosition(),e){var r={start:this.compositionPosition.start,end:this.compositionPosition.end};this.isSendingComposition=!0,setTimeout(function(){if(t.isSendingComposition){t.isSendingComposition=!1;var e=void 0;e=t.isComposing?t.textarea.value.substring(r.start,r.end):t.textarea.value.substring(r.start),t.terminal.handler(e)}},0)}else{this.isSendingComposition=!1;var i=this.textarea.value.substring(this.compositionPosition.start,this.compositionPosition.end);this.terminal.handler(i)}},e.prototype.handleAnyTextareaChanges=function(){var e=this,t=this.textarea.value;setTimeout(function(){if(!e.isComposing){var r=e.textarea.value.replace(t,"");r.length>0&&e.terminal.handler(r)}},0)},e.prototype.updateCompositionElements=function(e){var t=this;if(this.isComposing){var r=this.terminal.element.querySelector(".terminal-cursor");if(r){var i=this.terminal.element.querySelector(".xterm-rows").offsetTop+r.offsetTop;this.compositionView.style.left=r.offsetLeft+"px",this.compositionView.style.top=i+"px",this.compositionView.style.height=r.offsetHeight+"px",this.compositionView.style.lineHeight=r.offsetHeight+"px";var o=this.compositionView.getBoundingClientRect();this.textarea.style.left=r.offsetLeft+"px",this.textarea.style.top=i+"px",this.textarea.style.width=o.width+"px",this.textarea.style.height=o.height+"px",this.textarea.style.lineHeight=o.height+"px"}e||setTimeout(function(){return t.updateCompositionElements(!0)},0)}},e.prototype.clearTextareaPosition=function(){this.textarea.style.left="",this.textarea.style.top=""},e}();t.CompositionHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(2),o=r(4),s=function(){function e(e){this._terminal=e}return e.prototype.addChar=function(e,t){if(e>=" "){var r=n(t);this._terminal.charset&&this._terminal.charset[e]&&(e=this._terminal.charset[e]);var i=this._terminal.y+this._terminal.ybase;if(!r&&this._terminal.x)return void(this._terminal.lines.get(i)[this._terminal.x-1]&&(this._terminal.lines.get(i)[this._terminal.x-1][2]?this._terminal.lines.get(i)[this._terminal.x-1][1]+=e:this._terminal.lines.get(i)[this._terminal.x-2]&&(this._terminal.lines.get(i)[this._terminal.x-2][1]+=e),this._terminal.updateRange(this._terminal.y)));if(this._terminal.x+r-1>=this._terminal.cols)if(this._terminal.wraparoundMode)this._terminal.x=0,++this._terminal.y>this._terminal.scrollBottom?(this._terminal.y--,this._terminal.scroll(!0)):this._terminal.lines.get(this._terminal.y).isWrapped=!0;else if(2===r)return;if(i=this._terminal.y+this._terminal.ybase,this._terminal.insertMode)for(var o=0;othis._terminal.scrollBottom&&(this._terminal.y--,this._terminal.scroll()),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.carriageReturn=function(){this._terminal.x=0},e.prototype.backspace=function(){this._terminal.x>0&&this._terminal.x--},e.prototype.tab=function(){this._terminal.x=this._terminal.nextStop()},e.prototype.shiftOut=function(){this._terminal.setgLevel(1)},e.prototype.shiftIn=function(){this._terminal.setgLevel(0)},e.prototype.insertChars=function(e){var t,r,i,o;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.x,o=[this._terminal.eraseAttr()," ",1];t--&&i=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.cursorForward=function(e){var t=e[0];t<1&&(t=1),this._terminal.x+=t,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.cursorBackward=function(e){var t=e[0];t<1&&(t=1),this._terminal.x>=this._terminal.cols&&this._terminal.x--,this._terminal.x-=t,this._terminal.x<0&&(this._terminal.x=0)},e.prototype.cursorNextLine=function(e){var t=e[0];t<1&&(t=1),this._terminal.y+=t,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x=0},e.prototype.cursorPrecedingLine=function(e){var t=e[0];t<1&&(t=1),this._terminal.y-=t,this._terminal.y<0&&(this._terminal.y=0),this._terminal.x=0},e.prototype.cursorCharAbsolute=function(e){var t=e[0];t<1&&(t=1),this._terminal.x=t-1},e.prototype.cursorPosition=function(e){var t,r;t=e[0]-1,r=e.length>=2?e[1]-1:0,t<0?t=0:t>=this._terminal.rows&&(t=this._terminal.rows-1),r<0?r=0:r>=this._terminal.cols&&(r=this._terminal.cols-1),this._terminal.x=r,this._terminal.y=t},e.prototype.cursorForwardTab=function(e){for(var t=e[0]||1;t--;)this._terminal.x=this._terminal.nextStop()},e.prototype.eraseInDisplay=function(e){var t;switch(e[0]){case 0:for(this._terminal.eraseRight(this._terminal.x,this._terminal.y),t=this._terminal.y+1;t0&&(this._terminal.lines.trimStart(r),this._terminal.ybase=Math.max(this._terminal.ybase-r,0),this._terminal.ydisp=Math.max(this._terminal.ydisp-r,0))}},e.prototype.eraseInLine=function(e){switch(e[0]){case 0:this._terminal.eraseRight(this._terminal.x,this._terminal.y);break;case 1:this._terminal.eraseLeft(this._terminal.x,this._terminal.y);break;case 2:this._terminal.eraseLine(this._terminal.y)}},e.prototype.insertLines=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.rows-1-this._terminal.scrollBottom,i=this._terminal.rows-1+this._terminal.ybase-i+1;t--;)this._terminal.lines.length===this._terminal.lines.maxLength&&(this._terminal.lines.trimStart(1),this._terminal.ybase--,this._terminal.ydisp--,r--,i--),this._terminal.lines.splice(r,0,this._terminal.blankLine(!0)),this._terminal.lines.splice(i,1);this._terminal.updateRange(this._terminal.y),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.deleteLines=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.rows-1-this._terminal.scrollBottom,i=this._terminal.rows-1+this._terminal.ybase-i;t--;)this._terminal.lines.length===this._terminal.lines.maxLength&&(this._terminal.lines.trimStart(1),this._terminal.ybase-=1,this._terminal.ydisp-=1),this._terminal.lines.splice(i+1,0,this._terminal.blankLine(!0)),this._terminal.lines.splice(r,1);this._terminal.updateRange(this._terminal.y),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.deleteChars=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=[this._terminal.eraseAttr()," ",1];t--;)this._terminal.lines.get(r).splice(this._terminal.x,1),this._terminal.lines.get(r).push(i)},e.prototype.scrollUp=function(e){for(var t=e[0]||1;t--;)this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollTop,1),this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollBottom,0,this._terminal.blankLine());this._terminal.updateRange(this._terminal.scrollTop),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.scrollDown=function(e){for(var t=e[0]||1;t--;)this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollBottom,1),this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollTop,0,this._terminal.blankLine());this._terminal.updateRange(this._terminal.scrollTop),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.eraseChars=function(e){var t,r,i,o;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.x,o=[this._terminal.eraseAttr()," ",1];t--&&i=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.HPositionRelative=function(e){var t=e[0];t<1&&(t=1),this._terminal.x+=t,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.repeatPrecedingCharacter=function(e){for(var t=e[0]||1,r=this._terminal.lines.get(this._terminal.ybase+this._terminal.y),i=r[this._terminal.x-1]||[this._terminal.defAttr," ",1];t--;)r[this._terminal.x++]=i},e.prototype.sendDeviceAttributes=function(e){e[0]>0||(this._terminal.prefix?">"===this._terminal.prefix&&(this._terminal.is("xterm")?this._terminal.send(i.C0.ESC+"[>0;276;0c"):this._terminal.is("rxvt-unicode")?this._terminal.send(i.C0.ESC+"[>85;95;0c"):this._terminal.is("linux")?this._terminal.send(e[0]+"c"):this._terminal.is("screen")&&this._terminal.send(i.C0.ESC+"[>83;40003;0c")):this._terminal.is("xterm")||this._terminal.is("rxvt-unicode")||this._terminal.is("screen")?this._terminal.send(i.C0.ESC+"[?1;2c"):this._terminal.is("linux")&&this._terminal.send(i.C0.ESC+"[?6c"))},e.prototype.linePosAbsolute=function(e){var t=e[0];t<1&&(t=1),this._terminal.y=t-1,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1)},e.prototype.VPositionRelative=function(e){var t=e[0];t<1&&(t=1),this._terminal.y+=t,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.HVPosition=function(e){e[0]<1&&(e[0]=1),e[1]<1&&(e[1]=1),this._terminal.y=e[0]-1,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x=e[1]-1,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.tabClear=function(e){var t=e[0];t<=0?delete this._terminal.tabs[this._terminal.x]:3===t&&(this._terminal.tabs={})},e.prototype.setMode=function(e){if(e.length>1)for(var t=0;t1e3,this._terminal.mouseEvents=!0,this._terminal.element.classList.add("enable-mouse-events"),this._terminal.selectionManager.disable(),this._terminal.log("Binding to mouse events.");break;case 1004:this._terminal.sendFocus=!0;break;case 1005:this._terminal.utfMouse=!0;break;case 1006:this._terminal.sgrMouse=!0;break;case 1015:this._terminal.urxvtMouse=!0;break;case 25:this._terminal.cursorHidden=!1;break;case 1049:case 47:case 1047:if(!this._terminal.normal){var r={lines:this._terminal.lines,ybase:this._terminal.ybase,ydisp:this._terminal.ydisp,x:this._terminal.x,y:this._terminal.y,scrollTop:this._terminal.scrollTop,scrollBottom:this._terminal.scrollBottom,tabs:this._terminal.tabs};this._terminal.reset(),this._terminal.viewport.syncScrollArea(),this._terminal.normal=r,this._terminal.showCursor()}}}else switch(e[0]){case 4:this._terminal.insertMode=!0}},e.prototype.resetMode=function(e){if(e.length>1)for(var t=0;t>18,s=this._terminal.curAttr>>9&511,n=511&this._terminal.curAttr;i=30&&t<=37?s=t-30:t>=40&&t<=47?n=t-40:t>=90&&t<=97?s=(t+=8)-90:t>=100&&t<=107?n=(t+=8)-100:0===t?(o=this._terminal.defAttr>>18,s=this._terminal.defAttr>>9&511,n=511&this._terminal.defAttr):1===t?o|=1:4===t?o|=2:5===t?o|=4:7===t?o|=8:8===t?o|=16:22===t?o&=-2:24===t?o&=-3:25===t?o&=-5:27===t?o&=-9:28===t?o&=-17:39===t?s=this._terminal.defAttr>>9&511:49===t?n=511&this._terminal.defAttr:38===t?2===e[i+1]?(i+=2,-1===(s=this._terminal.matchColor(255&e[i],255&e[i+1],255&e[i+2]))&&(s=511),i+=2):5===e[i+1]&&(s=t=255&e[i+=2]):48===t?2===e[i+1]?(i+=2,-1===(n=this._terminal.matchColor(255&e[i],255&e[i+1],255&e[i+2]))&&(n=511),i+=2):5===e[i+1]&&(n=t=255&e[i+=2]):100===t?(s=this._terminal.defAttr>>9&511,n=511&this._terminal.defAttr):this._terminal.error("Unknown SGR attribute: %d.",t);this._terminal.curAttr=o<<18|s<<9|n}else this._terminal.curAttr=this._terminal.defAttr},e.prototype.deviceStatus=function(e){if(this._terminal.prefix){if("?"===this._terminal.prefix)switch(e[0]){case 6:this._terminal.send(i.C0.ESC+"[?"+(this._terminal.y+1)+";"+(this._terminal.x+1)+"R")}}else switch(e[0]){case 5:this._terminal.send(i.C0.ESC+"[0n");break;case 6:this._terminal.send(i.C0.ESC+"["+(this._terminal.y+1)+";"+(this._terminal.x+1)+"R")}},e.prototype.softReset=function(e){this._terminal.cursorHidden=!1,this._terminal.insertMode=!1,this._terminal.originMode=!1,this._terminal.wraparoundMode=!0,this._terminal.applicationKeypad=!1,this._terminal.viewport.syncScrollArea(),this._terminal.applicationCursor=!1,this._terminal.scrollTop=0,this._terminal.scrollBottom=this._terminal.rows-1,this._terminal.curAttr=this._terminal.defAttr,this._terminal.x=this._terminal.y=0,this._terminal.charset=null,this._terminal.glevel=0,this._terminal.charsets=[null]},e.prototype.setCursorStyle=function(e){var t=e[0]<1?1:e[0];switch(t){case 1:case 2:this._terminal.setOption("cursorStyle","block");break;case 3:case 4:this._terminal.setOption("cursorStyle","underline");break;case 5:case 6:this._terminal.setOption("cursorStyle","bar")}var r=t%2==1;this._terminal.setOption("cursorBlink",r)},e.prototype.setScrollRegion=function(e){this._terminal.prefix||(this._terminal.scrollTop=(e[0]||1)-1,this._terminal.scrollBottom=(e[1]&&e[1]<=this._terminal.rows?e[1]:this._terminal.rows)-1,this._terminal.x=0,this._terminal.y=0)},e.prototype.saveCursor=function(e){this._terminal.savedX=this._terminal.x,this._terminal.savedY=this._terminal.y},e.prototype.restoreCursor=function(e){this._terminal.x=this._terminal.savedX||0,this._terminal.y=this._terminal.savedY||0},e}();t.InputHandler=s;var n=function(e){function t(e){var t,r=0,o=i.length-1;if(ei[o][1])return!1;for(;o>=r;)if(t=Math.floor((r+o)/2),e>i[t][1])r=t+1;else{if(!(e=4352&&(e<=4447||9001===e||9002===e||e>=11904&&e<=42191&&12351!==e||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072&&e<=196605||e>=196608&&e<=262141)}var i=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];return function(i){return 0===i?e.nul:i<32||i>=127&&i<160?e.control:t(i)?0:r(i)?2:1}}({nul:0,control:0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=new RegExp("(?:^|[^\\da-z\\.-]+)((https?:\\/\\/)((([\\da-z\\.-]+)\\.([a-z\\.]{2,6}))|((\\d{1,3}\\.){3}\\d{1,3})|(localhost))(:\\d{1,5})?(\\/[\\/\\w\\.\\-%~]*)*(\\?[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?(#[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?)($|[^\\/\\w\\.\\-%]+)"),o=0,s=function(){function e(){this._nextLinkMatcherId=o,this._rowTimeoutIds=[],this._linkMatchers=[],this.registerLinkMatcher(i,null,{matchIndex:1})}return e.prototype.attachToDom=function(e,t){this._document=e,this._rows=t},e.prototype.linkifyRow=function(t){if(this._document){var r=this._rowTimeoutIds[t];r&&clearTimeout(r),this._rowTimeoutIds[t]=setTimeout(this._linkifyRow.bind(this,t),e.TIME_BEFORE_LINKIFY)}},e.prototype.setHypertextLinkHandler=function(e){this._linkMatchers[o].handler=e},e.prototype.setHypertextValidationCallback=function(e){this._linkMatchers[o].validationCallback=e},e.prototype.registerLinkMatcher=function(e,t,r){if(void 0===r&&(r={}),this._nextLinkMatcherId!==o&&!t)throw new Error("handler must be defined");var i={id:this._nextLinkMatcherId++,regex:e,handler:t,matchIndex:r.matchIndex,validationCallback:r.validationCallback,priority:r.priority||0};return this._addLinkMatcherToList(i),i.id},e.prototype._addLinkMatcherToList=function(e){if(0!==this._linkMatchers.length){for(var t=this._linkMatchers.length-1;t>=0;t--)if(e.priority<=this._linkMatchers[t].priority)return void this._linkMatchers.splice(t+1,0,e);this._linkMatchers.splice(0,0,e)}else this._linkMatchers.push(e)},e.prototype.deregisterLinkMatcher=function(e){for(var t=1;t0){if(i.validationCallback)for(var s=function(e){var t=o[e];i.validationCallback(t.textContent,t,function(e){e||t.classList.add("xterm-invalid-link")})},n=0;n=0){var d=this._createAnchorElement(a,t.handler,i);if(c.textContent.length===a.length)if(3===c.nodeType)this._replaceNode(c,d);else{var p=c;if("A"===p.nodeName)return r;p.innerHTML="",p.appendChild(d)}else if(c.childNodes.length>1)for(var f=0;f"]=function(e){return e.setPrefix(">")},a["!"]=function(e){return e.setPrefix("!")},a[0]=function(e){return e.setParam(10*e.getParam())},a[1]=function(e){return e.setParam(10*e.getParam()+1)},a[2]=function(e){return e.setParam(10*e.getParam()+2)},a[3]=function(e){return e.setParam(10*e.getParam()+3)},a[4]=function(e){return e.setParam(10*e.getParam()+4)},a[5]=function(e){return e.setParam(10*e.getParam()+5)},a[6]=function(e){return e.setParam(10*e.getParam()+6)},a[7]=function(e){return e.setParam(10*e.getParam()+7)},a[8]=function(e){return e.setParam(10*e.getParam()+8)},a[9]=function(e){return e.setParam(10*e.getParam()+9)},a.$=function(e){return e.setPostfix("$")},a['"']=function(e){return e.setPostfix('"')},a[" "]=function(e){return e.setPostfix(" ")},a["'"]=function(e){return e.setPostfix("'")},a[";"]=function(e){return e.finalizeParam()},a[i.C0.CAN]=function(e){return e.setState(h.NORMAL)};var l={};l["@"]=function(e,t,r){return e.insertChars(t)},l.A=function(e,t,r){return e.cursorUp(t)},l.B=function(e,t,r){return e.cursorDown(t)},l.C=function(e,t,r){return e.cursorForward(t)},l.D=function(e,t,r){return e.cursorBackward(t)},l.E=function(e,t,r){return e.cursorNextLine(t)},l.F=function(e,t,r){return e.cursorPrecedingLine(t)},l.G=function(e,t,r){return e.cursorCharAbsolute(t)},l.H=function(e,t,r){return e.cursorPosition(t)},l.I=function(e,t,r){return e.cursorForwardTab(t)},l.J=function(e,t,r){return e.eraseInDisplay(t)},l.K=function(e,t,r){return e.eraseInLine(t)},l.L=function(e,t,r){return e.insertLines(t)},l.M=function(e,t,r){return e.deleteLines(t)},l.P=function(e,t,r){return e.deleteChars(t)},l.S=function(e,t,r){return e.scrollUp(t)},l.T=function(e,t,r){t.length<2&&!r&&e.scrollDown(t)},l.X=function(e,t,r){return e.eraseChars(t)},l.Z=function(e,t,r){return e.cursorBackwardTab(t)},l["`"]=function(e,t,r){return e.charPosAbsolute(t)},l.a=function(e,t,r){return e.HPositionRelative(t)},l.b=function(e,t,r){return e.repeatPrecedingCharacter(t)},l.c=function(e,t,r){return e.sendDeviceAttributes(t)},l.d=function(e,t,r){return e.linePosAbsolute(t)},l.e=function(e,t,r){return e.VPositionRelative(t)},l.f=function(e,t,r){return e.HVPosition(t)},l.g=function(e,t,r){return e.tabClear(t)},l.h=function(e,t,r){return e.setMode(t)},l.l=function(e,t,r){return e.resetMode(t)},l.m=function(e,t,r){return e.charAttributes(t)},l.n=function(e,t,r){return e.deviceStatus(t)},l.p=function(e,t,r){switch(r){case"!":e.softReset(t)}},l.q=function(e,t,r,i){" "===i&&e.setCursorStyle(t)},l.r=function(e,t){return e.setScrollRegion(t)},l.s=function(e,t){return e.saveCursor(t)},l.u=function(e,t){return e.restoreCursor(t)},l[i.C0.CAN]=function(e,t,r,i,o){return o.setState(h.NORMAL)};var h;!function(e){e[e.NORMAL=0]="NORMAL",e[e.ESCAPED=1]="ESCAPED",e[e.CSI_PARAM=2]="CSI_PARAM",e[e.CSI=3]="CSI",e[e.OSC=4]="OSC",e[e.CHARSET=5]="CHARSET",e[e.DCS=6]="DCS",e[e.IGNORE=7]="IGNORE"}(h||(h={}));var c=function(){function e(e,t){this._inputHandler=e,this._terminal=t,this._state=h.NORMAL}return e.prototype.parse=function(e){var t,r,c,u,d=e.length;for(this._position=0,this._terminal.surrogate_high&&(e=this._terminal.surrogate_high+e,this._terminal.surrogate_high="");this._position":this._terminal.log("Switching back to normal keypad."),this._terminal.applicationKeypad=!1,this._terminal.viewport.syncScrollArea(),this._state=h.NORMAL;break;default:this._state=h.NORMAL,this._terminal.error("Unknown ESC control: %s.",r)}break;case h.CHARSET:r in o.CHARSETS?(t=o.CHARSETS[r],"/"===r&&this.skipNextChar()):t=o.DEFAULT_CHARSET,this._terminal.setgCharset(this._terminal.gcharset,t),this._terminal.gcharset=null,this._state=h.NORMAL;break;case h.OSC:if(r===i.C0.ESC||r===i.C0.BEL){switch(r===i.C0.ESC&&this._position++,this._terminal.params.push(this._terminal.currentParam),this._terminal.params[0]){case 0:case 1:case 2:this._terminal.params[1]&&(this._terminal.title=this._terminal.params[1],this._terminal.handleTitle(this._terminal.title))}this._terminal.params=[],this._terminal.currentParam=0,this._state=h.NORMAL}else this._terminal.params.length?this._terminal.currentParam+=r:r>="0"&&r<="9"?this._terminal.currentParam=10*this._terminal.currentParam+r.charCodeAt(0)-48:";"===r&&(this._terminal.params.push(this._terminal.currentParam),this._terminal.currentParam="");break;case h.CSI_PARAM:if(r in a){a[r](this);break}this.finalizeParam(),this._state=h.CSI;case h.CSI:r in l?l[r](this._inputHandler,this._terminal.params,this._terminal.prefix,this._terminal.postfix,this):this._terminal.error("Unknown CSI code: %s.",r),this._state=h.NORMAL,this._terminal.prefix="",this._terminal.postfix="";break;case h.DCS:if(r===i.C0.ESC||r===i.C0.BEL){r===i.C0.ESC&&this._position++;var p=void 0,f=void 0;switch(this._terminal.prefix){case"":break;case"$q":switch(p=this._terminal.currentParam,f=!1,p){case'"q':p='0"q';break;case'"p':p='61"p';break;case"r":p=this._terminal.scrollTop+1+";"+(this._terminal.scrollBottom+1)+"r";break;case"m":p="0m";break;default:this._terminal.error("Unknown DCS Pt: %s.",p),p=""}this._terminal.send(i.C0.ESC+"P"+ +f+"$r"+p+i.C0.ESC+"\\");break;case"+p":break;case"+q":p=this._terminal.currentParam,f=!1,this._terminal.send(i.C0.ESC+"P"+ +f+"+r"+p+i.C0.ESC+"\\");break;default:this._terminal.error("Unknown DCS prefix: %s.",this._terminal.prefix)}this._terminal.currentParam=0,this._terminal.prefix="",this._state=h.NORMAL}else this._terminal.currentParam?this._terminal.currentParam+=r:this._terminal.prefix||"$"===r||"+"===r?2===this._terminal.prefix.length?this._terminal.currentParam=r:this._terminal.prefix+=r:this._terminal.currentParam=r;break;case h.IGNORE:r!==i.C0.ESC&&r!==i.C0.BEL||(r===i.C0.ESC&&this._position++,this._state=h.NORMAL)}}return this._state},e.prototype.setState=function(e){this._state=e},e.prototype.setPrefix=function(e){this._terminal.prefix=e},e.prototype.setPostfix=function(e){this._terminal.postfix=e},e.prototype.setParam=function(e){this._terminal.currentParam=e},e.prototype.getParam=function(){return this._terminal.currentParam},e.prototype.finalizeParam=function(){this._terminal.params.push(this._terminal.currentParam),this._terminal.currentParam=0},e.prototype.skipNextChar=function(){this._position++},e}();t.Parser=c},function(e,t,r){"use strict";function i(e){var t=e.ownerDocument.createElement("span");t.innerHTML="hello world",e.appendChild(t);var r=t.offsetWidth,i=t.offsetHeight;t.style.fontWeight="bold";var o=t.offsetWidth,s=t.offsetHeight;return e.removeChild(t),r!==o||i!==s}Object.defineProperty(t,"__esModule",{value:!0});var o,s=r(26);!function(e){e[e.BOLD=1]="BOLD",e[e.UNDERLINE=2]="UNDERLINE",e[e.BLINK=4]="BLINK",e[e.INVERSE=8]="INVERSE",e[e.INVISIBLE=16]="INVISIBLE"}(o||(o={}));var n=null,a=function(){function e(e){this._terminal=e,this._refreshRowsQueue=[],this._refreshFramesSkipped=0,this._refreshAnimationFrame=null,this._spanElementObjectPool=new s.DomElementObjectPool("span"),null===n&&(n=i(this._terminal.element)),this._spanElementObjectPool=new s.DomElementObjectPool("span")}return e.prototype.queueRefresh=function(e,t){this._refreshRowsQueue.push({start:e,end:t}),this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame(this._refreshLoop.bind(this)))},e.prototype._refreshLoop=function(){if(this._terminal.writeBuffer.length>0&&this._refreshFramesSkipped++<=5)this._refreshAnimationFrame=window.requestAnimationFrame(this._refreshLoop.bind(this));else{this._refreshFramesSkipped=0;var e,t;if(this._refreshRowsQueue.length>4)e=0,t=this._terminal.rows-1;else{e=this._refreshRowsQueue[0].start,t=this._refreshRowsQueue[0].end;for(var r=1;rt&&(t=this._refreshRowsQueue[r].end)}this._refreshRowsQueue=[],this._refreshAnimationFrame=null,this._refresh(e,t)}},e.prototype._refresh=function(e,t){var r;t-e>=this._terminal.rows/2&&(r=this._terminal.element.parentNode)&&this._terminal.element.removeChild(this._terminal.rowContainer);var i=this._terminal.cols,s=e;for(t>=this._terminal.rows&&(this._terminal.log("`end` is too large. Most likely a bad CSR."),t=this._terminal.rows-1);s<=t;s++){var a=s+this._terminal.ydisp,l=this._terminal.lines.get(a),h=void 0;h=this._terminal.y===s-(this._terminal.ybase-this._terminal.ydisp)&&this._terminal.cursorState&&!this._terminal.cursorHidden?this._terminal.x:-1;for(var c=this._terminal.defAttr,u=document.createDocumentFragment(),d="",p=void 0;this._terminal.children[s].children.length;){var f=this._terminal.children[s].children[0];this._terminal.children[s].removeChild(f),this._spanElementObjectPool.release(f)}for(var g=0;g>9&511,w=m>>18;if(w&o.BOLD&&(n||p.classList.add("xterm-bold"),C<8&&(C+=8)),w&o.UNDERLINE&&p.classList.add("xterm-underline"),w&o.BLINK&&p.classList.add("xterm-blink"),w&o.INVERSE){var S=_;_=C,C=S,1&w&&C<8&&(C+=8)}w&o.INVISIBLE&&p.classList.add("xterm-hidden"),w&o.INVERSE&&(257===_&&(_=15),256===C&&(C=0)),_<256&&p.classList.add("xterm-bg-color-"+_),C<256&&p.classList.add("xterm-color-"+C)}if(2===b)d+=''+y+"";else if(y.charCodeAt(0)>255)d+=''+y+"";else switch(y){case"&":d+="&";break;case"<":d+="<";break;case">":d+=">";break;default:d+=y<=" "?" ":y}c=m}}d&&!p&&(p=this._spanElementObjectPool.acquire()),p&&(d&&(p.innerHTML=d,d=""),u.appendChild(p),p=null),this._terminal.children[s].appendChild(u)}r&&this._terminal.element.appendChild(this._terminal.rowContainer),this._terminal.emit("refresh",{element:this._terminal.element,start:e,end:t})},e.prototype.refreshSelection=function(e,t){for(;this._terminal.selectionContainer.children.length;)this._terminal.selectionContainer.removeChild(this._terminal.selectionContainer.children[0]);if(e&&t){var r=e[1]-this._terminal.ydisp,i=t[1]-this._terminal.ydisp,o=Math.max(r,0),s=Math.min(i,this._terminal.rows-1);if(!(o>=this._terminal.rows||s<0)){var n=document.createDocumentFragment(),a=r===o?e[0]:0,l=o===s?t[0]:this._terminal.cols;n.appendChild(this._createSelectionElement(o,a,l));var h=s-o-1;if(n.appendChild(this._createSelectionElement(o+1,0,this._terminal.cols,h)),o!==s){var c=i===s?t[0]:this._terminal.cols;n.appendChild(this._createSelectionElement(s,0,c))}this._terminal.selectionContainer.appendChild(n)}}},e.prototype._createSelectionElement=function(e,t,r,i){void 0===i&&(i=1);var o=document.createElement("div");return o.style.height=i*this._terminal.charMeasure.height+"px",o.style.top=e*this._terminal.charMeasure.height+"px",o.style.left=t*this._terminal.charMeasure.width+"px",o.style.width=this._terminal.charMeasure.width*(r-t)+"px",o},e}();t.Renderer=a},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o,s=r(10),n=r(9),a=r(1),l=r(21),h=String.fromCharCode(160),c=new RegExp(h,"g");!function(e){e[e.NORMAL=0]="NORMAL",e[e.WORD=1]="WORD",e[e.LINE=2]="LINE"}(o||(o={}));var u=function(e){function t(t,r,i,s){var n=e.call(this)||this;return n._terminal=t,n._buffer=r,n._rowContainer=i,n._charMeasure=s,n._initListeners(),n.enable(),n._model=new l.SelectionModel(t),n._lastMouseDownTime=0,n._activeSelectionMode=o.NORMAL,n}return i(t,e),t.prototype._initListeners=function(){var e=this;this._bufferTrimListener=function(t){return e._onTrim(t)},this._mouseMoveListener=function(t){return e._onMouseMove(t)},this._mouseDownListener=function(t){return e._onMouseDown(t)},this._mouseUpListener=function(t){return e._onMouseUp(t)}},t.prototype.disable=function(){this.clearSelection(),this._buffer.off("trim",this._bufferTrimListener),this._rowContainer.removeEventListener("mousedown",this._mouseDownListener)},t.prototype.enable=function(){this._buffer.on("trim",this._bufferTrimListener),this._rowContainer.addEventListener("mousedown",this._mouseDownListener)},t.prototype.setBuffer=function(e){this._buffer=e,this.clearSelection()},Object.defineProperty(t.prototype,"hasSelection",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t)&&(e[0]!==t[0]||e[1]!==t[1])},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectionText",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";var r=e[1]===t[1]?t[0]:null,i=[];i.push(this._translateBufferLineToString(this._buffer.get(e[1]),!0,e[0],r));for(var o=e[1]+1;o<=t[1]-1;o++){var s=this._buffer.get(o),a=this._translateBufferLineToString(s,!0);s.isWrapped?i[i.length-1]+=a:i.push(a)}if(e[1]!==t[1]){var s=this._buffer.get(t[1]),a=this._translateBufferLineToString(s,!0,0,t[0]);s.isWrapped?i[i.length-1]+=a:i.push(a)}return i.map(function(e){return e.replace(c," ")}).join(n.isMSWindows?"\r\n":"\n")},enumerable:!0,configurable:!0}),t.prototype.clearSelection=function(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh()},t.prototype._translateBufferLineToString=function(e,t,r,i){void 0===r&&(r=0),void 0===i&&(i=null);for(var o="",s=r,n=i,a=0;a=a&&s--,i>=a&&n--)}var h=n||e.length;if(t){var c=o.search(/\s+$/);if(-1!==c&&(h=Math.min(h,c)),h<=s)return""}return o.substring(s,h)},t.prototype.refresh=function(e){var t=this;this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame(function(){return t._refresh()})),n.isLinux&&e&&this.selectionText.length&&this.emit("newselection",this.selectionText)},t.prototype._refresh=function(){this._refreshAnimationFrame=null,this.emit("refresh",{start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd})},t.prototype.selectAll=function(){this._model.isSelectAllActive=!0,this.refresh()},t.prototype._onTrim=function(e){this._model.onTrim(e)&&this.refresh()},t.prototype._getMouseBufferCoords=function(e){var t=s.getCoords(e,this._rowContainer,this._charMeasure,this._terminal.cols,this._terminal.rows,!0);return t[0]--,t[1]--,t[1]+=this._terminal.ydisp,t},t.prototype._getMouseEventScrollAmount=function(e){var t=s.getCoordsRelativeToElement(e,this._rowContainer)[1],r=this._terminal.rows*this._charMeasure.height;return t>=0&&t<=r?0:(t>r&&(t-=r),t=Math.min(Math.max(t,-50),50),(t/=50)/Math.abs(t)+Math.round(14*t))},t.prototype._onMouseDown=function(e){0===e.button&&(e.preventDefault(),this._dragScrollAmount=0,this._setMouseClickCount(e),e.shiftKey?this._onShiftClick(e):1===this._clickCount?this._onSingleClick(e):2===this._clickCount?this._onDoubleClick(e):3===this._clickCount&&this._onTripleClick(e),this._addMouseDownListeners(),this.refresh(!0))},t.prototype._addMouseDownListeners=function(){var e=this;this._rowContainer.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._rowContainer.ownerDocument.addEventListener("mouseup",this._mouseUpListener),this._dragScrollIntervalTimer=setInterval(function(){return e._dragScroll()},50)},t.prototype._removeMouseDownListeners=function(){this._rowContainer.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._rowContainer.ownerDocument.removeEventListener("mouseup",this._mouseUpListener),clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=null},t.prototype._onShiftClick=function(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))},t.prototype._onSingleClick=function(e){this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=o.NORMAL,this._model.selectionStart=this._getMouseBufferCoords(e),this._model.selectionStart&&(this._model.selectionEnd=null,0===this._buffer.get(this._model.selectionStart[1])[this._model.selectionStart[0]][2]&&this._model.selectionStart[0]++)},t.prototype._onDoubleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=o.WORD,this._selectWordAt(t))},t.prototype._onTripleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=o.LINE,this._selectLineAt(t[1]))},t.prototype._setMouseClickCount=function(e){var t=(new Date).getTime();(t-this._lastMouseDownTime>400||this._distanceFromLastMousePosition(e)>10)&&(this._clickCount=0),this._lastMouseDownTime=t,this._lastMousePosition=[e.pageX,e.pageY],this._clickCount++},t.prototype._distanceFromLastMousePosition=function(e){return Math.max(Math.abs(this._lastMousePosition[0]-e.pageX),Math.abs(this._lastMousePosition[1]-e.pageY))},t.prototype._onMouseMove=function(e){var t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),this._activeSelectionMode===o.LINE?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._terminal.cols-1:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]0?this._model.selectionEnd=[this._terminal.cols-1,this._terminal.ydisp+this._terminal.rows]:this._model.selectionEnd=[0,this._terminal.ydisp],this.refresh())},t.prototype._onMouseUp=function(e){this._removeMouseDownListeners()},t.prototype._convertViewportColToCharacterIndex=function(e,t){for(var r=t[0],i=0;t[0]>=i;i++)0===e[i][2]&&r--;return r},t.prototype._getWordAt=function(e){var t=this._buffer.get(e[1]),r=this._translateBufferLineToString(t,!1),i=this._convertViewportColToCharacterIndex(t,e),o=i,s=e[0]-o,n=0,a=0;if(" "===r.charAt(o)){for(;o>0&&" "===r.charAt(o-1);)o--;for(;i0&&!this._isCharWordSeparator(r.charAt(o-1));)0===t[l-1][2]&&(n++,l--),o--,l--;for(;i+1=0},t.prototype._selectLineAt=function(e){this._model.selectionStart=[0,e],this._model.selectionStartLength=this._terminal.cols},t}(a.EventEmitter);t.SelectionManager=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e){this._terminal=e,this.clearSelection()}return e.prototype.clearSelection=function(){this.selectionStart=null,this.selectionEnd=null,this.isSelectAllActive=!1,this.selectionStartLength=0},Object.defineProperty(e.prototype,"finalSelectionStart",{get:function(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"finalSelectionEnd",{get:function(){return this.isSelectAllActive?[this._terminal.cols,this._terminal.ybase+this._terminal.rows-1]:this.selectionStart?!this.selectionEnd||this.areSelectionValuesReversed()?[this.selectionStart[0]+this.selectionStartLength,this.selectionStart[1]]:this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]?[Math.max(this.selectionStart[0]+this.selectionStartLength,this.selectionEnd[0]),this.selectionEnd[1]]:this.selectionEnd:null},enumerable:!0,configurable:!0}),e.prototype.areSelectionValuesReversed=function(){var e=this.selectionStart,t=this.selectionEnd;return e[1]>t[1]||e[1]===t[1]&&e[0]>t[0]},e.prototype.onTrim=function(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)},e}();t.SelectionModel=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,r,i){var o=this;this.terminal=e,this.viewportElement=t,this.scrollArea=r,this.charMeasure=i,this.currentRowHeight=0,this.lastRecordedBufferLength=0,this.lastRecordedViewportHeight=0,this.terminal.on("scroll",this.syncScrollArea.bind(this)),this.terminal.on("resize",this.syncScrollArea.bind(this)),this.viewportElement.addEventListener("scroll",this.onScroll.bind(this)),setTimeout(function(){return o.syncScrollArea()},0)}return e.prototype.refresh=function(){if(this.charMeasure.height>0){var e=this.charMeasure.height!==this.currentRowHeight;e&&(this.currentRowHeight=this.charMeasure.height,this.viewportElement.style.lineHeight=this.charMeasure.height+"px",this.terminal.rowContainer.style.lineHeight=this.charMeasure.height+"px");var t=this.lastRecordedViewportHeight!==this.terminal.rows;(e||t)&&(this.lastRecordedViewportHeight=this.terminal.rows,this.viewportElement.style.height=this.charMeasure.height*this.terminal.rows+"px",this.terminal.selectionContainer.style.height=this.viewportElement.style.height),this.scrollArea.style.height=this.charMeasure.height*this.lastRecordedBufferLength+"px"}},e.prototype.syncScrollArea=function(){this.lastRecordedBufferLength!==this.terminal.lines.length?(this.lastRecordedBufferLength=this.terminal.lines.length,this.refresh()):this.lastRecordedViewportHeight!==this.terminal.rows?this.refresh():this.charMeasure.height!==this.currentRowHeight&&this.refresh();var e=this.terminal.ydisp*this.currentRowHeight;this.viewportElement.scrollTop!==e&&(this.viewportElement.scrollTop=e)},e.prototype.onScroll=function(e){var t=Math.round(this.viewportElement.scrollTop/this.currentRowHeight)-this.terminal.ydisp;this.terminal.scrollDisp(t,!0)},e.prototype.onWheel=function(e){if(0!==e.deltaY){var t=1;e.deltaMode===WheelEvent.DOM_DELTA_LINE?t=this.currentRowHeight:e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t=this.currentRowHeight*this.terminal.rows),this.viewportElement.scrollTop+=e.deltaY*t,e.preventDefault()}},e.prototype.onTouchStart=function(e){this.lastTouchY=e.touches[0].pageY},e.prototype.onTouchMove=function(e){var t=this.lastTouchY-e.touches[0].pageY;this.lastTouchY=e.touches[0].pageY,0!==t&&(this.viewportElement.scrollTop+=t,e.preventDefault())},e}();t.Viewport=i},function(e,t,r){"use strict";function i(e,t){return t?e.replace(/\r?\n/g,"\r"):e}function o(e,t){t.style.position="fixed",t.style.width="20px",t.style.height="20px",t.style.left=e.clientX-10+"px",t.style.top=e.clientY-10+"px",t.style.zIndex="1000",t.focus(),setTimeout(function(){t.style.position=null,t.style.width=null,t.style.height=null,t.style.left=null,t.style.top=null,t.style.zIndex=null},4)}Object.defineProperty(t,"__esModule",{value:!0}),t.prepareTextForTerminal=i,t.copyHandler=function(e,t,r){t.browser.isMSIE?window.clipboardData.setData("Text",r.selectionText):e.clipboardData.setData("text/plain",r.selectionText),e.preventDefault()},t.pasteHandler=function(e,t){e.stopPropagation();var r=function(r){return r=i(r,t.browser.isMSWindows),t.handler(r),t.textarea.value="",t.emit("paste",r),t.cancel(e)};t.browser.isMSIE?window.clipboardData&&r(window.clipboardData.getData("Text")):e.clipboardData&&r(e.clipboardData.getData("text/plain"))},t.moveTextAreaUnderMouseCursor=o,t.rightClickHandler=function(e,t,r){o(e,t),t.value=r.selectionText,t.select()}},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t,r){var i=e.call(this)||this;return i._document=t,i._parentElement=r,i}return i(t,e),Object.defineProperty(t.prototype,"width",{get:function(){return this._width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this._height},enumerable:!0,configurable:!0}),t.prototype.measure=function(){var e=this;this._measureElement?this._doMeasure():(this._measureElement=this._document.createElement("span"),this._measureElement.style.position="absolute",this._measureElement.style.top="0",this._measureElement.style.left="-9999em",this._measureElement.textContent="W",this._measureElement.setAttribute("aria-hidden","true"),this._parentElement.appendChild(this._measureElement),setTimeout(function(){return e._doMeasure()},0))},t.prototype._doMeasure=function(){var e=this._measureElement.getBoundingClientRect();0!==e.width&&0!==e.height&&(this._width===e.width&&this._height===e.height||(this._width=e.width,this._height=e.height,this.emit("charsizechanged")))},t}(r(1).EventEmitter);t.CharMeasure=o},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var r=e.call(this)||this;return r._array=new Array(t),r._startIndex=0,r._length=0,r}return i(t,e),Object.defineProperty(t.prototype,"maxLength",{get:function(){return this._array.length},set:function(e){for(var t=new Array(e),r=0;rthis._length)for(var t=this._length;t=e;o--)this._array[this._getCyclicIndex(o+r.length)]=this._array[this._getCyclicIndex(o)];for(var o=0;othis.maxLength){var s=this._length+r.length-this.maxLength;this._startIndex+=s,this._length=this.maxLength,this.emit("trim",s)}else this._length+=r.length}},t.prototype.trimStart=function(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.emit("trim",e)},t.prototype.shiftElements=function(e,t,r){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+r<0)throw new Error("Cannot shift elements in list beyond index 0");if(r>0){for(o=t-1;o>=0;o--)this.set(e+o+r,this.get(e+o));var i=e+t+r-this._length;if(i>0)for(this._length+=i;this._length>this.maxLength;)this._length--,this._startIndex++,this.emit("trim",1)}else for(var o=0;o=0}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(11),o=r(14),s=r(13),n=r(12),a=document.getElementById("terminal");if(null!==a){var l;l="hterm"==gotty_term?new i.Hterm(a):new o.Xterm(a);var h=("https:"==window.location.protocol?"wss://":"ws://")+window.location.host+window.location.pathname+"ws",c=window.location.search,u=new n.ConnectionFactory(h,s.protocols),d=new s.WebTTY(l,u,c,gotty_auth_token).open();window.addEventListener("unload",function(){d(),l.close()})}},function(e,t,r){function i(e){return r(o(e))}function o(e){var t=s[e];if(!(t+1))throw new Error("Cannot find module '"+e+"'.");return t}var s={"./attach/attach":5,"./attach/attach.js":5,"./attach/package.json":30,"./fit/fit":6,"./fit/fit.js":6,"./fit/package.json":31,"./fullscreen/fullscreen":7,"./fullscreen/fullscreen.css":32,"./fullscreen/fullscreen.js":7,"./fullscreen/package.json":33,"./terminado/package.json":34,"./terminado/terminado":8,"./terminado/terminado.js":8};i.keys=function(){return Object.keys(s)},i.resolve=o,e.exports=i,i.id=29},function(e,t){e.exports={name:"xterm.attach",main:"attach.js",private:!0}},function(e,t){e.exports={name:"xterm.fit",main:"fit.js",private:!0}},function(e,t){throw new Error("Module parse failed: /home/yudai/archive/products/2015/gotty/src/github.com/yudai/gotty/js/node_modules/xterm/lib/addons/fullscreen/fullscreen.css Unexpected token (1:0)\nYou may need an appropriate loader to handle this file type.\n| .xterm.fullscreen {\n| position: fixed;\n| top: 0;")},function(e,t){e.exports={name:"xterm.fullscreen",main:"fullscreen.js",private:!0}},function(e,t){e.exports={name:"xterm.terminado",main:"terminado.js",private:!0}}]); \ No newline at end of file diff --git a/js/src/webtty.ts b/js/src/webtty.ts index 8ff2146..a17b325 100644 --- a/js/src/webtty.ts +++ b/js/src/webtty.ts @@ -64,9 +64,9 @@ export class WebTTY { let pingTimer: number; let reconnectTimeout: number; - const decoder = new lib.UTF8Decoder() - const setup = () => { + const decoder = new lib.UTF8Decoder() + connection.onOpen(() => { const termInfo = this.term.info(); diff --git a/server/asset.go b/server/asset.go index 04ec3c7..67bc8f2 100644 --- a/server/asset.go +++ b/server/asset.go @@ -194,7 +194,7 @@ func staticJsBundleJs() (*asset, error) { return a, nil } -var _staticJsGottyBundleJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\xfd\x79\x77\xe3\x38\xb2\x28\x88\x9f\xdf\x32\x33\xe7\xbc\x3f\x66\xdf\x57\x9a\xdd\x4f\x45\x96\x60\x99\xd4\xe2\x45\x32\xd3\x4f\x69\xd9\x95\x7e\xed\xb4\xf3\xda\xce\xae\x5b\xa3\x54\x67\xd3\x52\xc8\x62\x27\x45\xaa\x41\xc8\x4e\xb7\xa5\x3b\x5f\x7d\x0e\x56\x02\x24\x25\xbb\xea\x76\xdf\x99\xca\x92\x4c\x21\xb0\x04\x02\x81\x40\x44\x20\x40\xec\x4c\x97\xc9\x98\x44\x69\xe2\x80\xfb\x22\x9f\x2d\xe2\x44\xee\x4b\x34\x75\xf0\x30\x1a\xb9\x18\xc8\x12\x27\x16\x7d\x6e\xc0\xf7\x45\x8a\x49\xd6\x7b\x0c\xb1\x95\x06\x34\x29\x78\x89\xba\x11\x8a\xbb\x3b\x3e\x12\xc0\xee\xcb\x7a\xdd\x13\x85\x80\x16\x1a\x87\x71\xec\xa4\xb2\x2c\x4a\x51\xfe\x4c\x5c\x94\x36\xe2\x60\xc7\xcb\xd3\xd6\xb4\x6e\x1c\xbc\xac\x7b\xa4\x31\x0f\x00\x91\xc6\x38\xc0\x88\x34\xa2\x40\x47\x55\xd6\xbf\x46\xa4\x31\xd1\x20\x08\xa3\xc8\x7d\x21\x8d\x94\x3e\xba\xab\xd5\xf5\xfd\x5f\x60\x4c\x1a\x13\x98\x46\x09\x7c\xc2\xe9\x02\x30\x79\x66\xd9\x5e\xc6\x69\x32\x8d\x1e\x96\x38\xbc\x8f\x81\xa1\x9f\x2c\xe7\x20\x7e\x79\xe8\x01\x48\x37\x5a\xbb\xb4\xfe\xc4\x68\x99\xa3\x07\xb5\x1a\x34\xbe\x7e\x85\xec\x63\x3a\x59\xc6\x70\xa2\x72\xe4\xa8\xd1\x46\xc3\x65\x4c\xd6\xdd\x0a\xa0\xa2\x10\x69\x4c\x1c\x8c\xec\xd0\x46\xd8\x45\x98\x36\x97\xea\xdd\x21\xaa\x88\xe8\xc9\x02\xa7\x24\x25\xcf\x0b\x68\xcc\xc2\xec\xfa\x29\x91\x7d\xe2\x54\xa6\x05\x68\x1d\x8b\xc0\xb6\x11\x71\x48\x23\x0b\x9a\x87\xee\xda\x19\xea\x55\x22\xec\xbe\xd8\xcb\x0c\xac\x8c\xe0\x68\x4c\xec\x9e\x1a\xf7\x48\x76\x90\x04\x64\x16\x65\xbd\x68\xea\xec\x38\xf4\xc9\x8a\x92\x8c\x84\xc9\x18\xd2\xa9\x15\xb9\x92\x25\x12\x78\xb2\x22\x27\xc4\x0f\xcb\x39\x24\x24\x1b\x7a\x23\x94\xff\xf0\xf5\x1f\xcd\x91\xdb\x23\x8d\x7b\x9c\x3e\x65\x80\x83\x5b\x3a\xa8\xb4\xb6\x38\x88\xc4\x03\x5a\x36\xce\x1e\x21\x21\x67\xf3\x88\x10\xc0\xbc\x37\xb4\x65\x17\xd9\xc9\x72\x7e\x0f\xd8\x0e\x02\xda\xed\x74\x6a\x41\xad\xe6\x40\xf0\x32\x4e\xe3\xac\x6b\x34\x4e\xab\xef\x1a\x18\xcc\xc2\x64\x12\x03\xee\xea\x98\xac\x5d\x04\x01\xac\x56\x2f\x6b\x24\x68\xfa\x0d\x9e\x33\x27\x92\xe3\x95\xb9\x8d\x69\x8a\xcf\xc2\xf1\xcc\x51\x54\xc3\xee\x4b\xb2\x8c\xe3\x20\x80\x21\x1e\xd1\xe6\x87\x78\x14\x44\x8d\x74\x41\xa1\xd9\x10\x8f\x50\x34\xc4\xa3\x9d\x20\xc8\x6b\xd1\x33\x0e\xf1\xc8\x75\x11\xa1\xcf\x34\x61\xed\xa2\xc3\x20\x08\xa0\x31\x4e\xe3\x14\x67\x8d\x18\x92\x07\x32\x3b\x91\xbf\x73\xc0\x38\x4d\xc6\x21\x71\xa2\xc6\x57\x91\x90\xc5\xd1\x18\x9c\x43\xd7\xed\xfa\xfb\xff\x9a\x1a\xfc\x7d\x5a\x85\xf7\xa6\x2a\x78\x09\x0f\xed\x36\xdd\x8d\x08\x51\x20\x2a\x94\xd8\x6d\xd2\x36\x2a\x3a\x4a\xc9\xf2\x76\x44\x37\x55\xed\x22\xca\x1e\xc5\x7a\x78\xa2\x18\x17\x2a\x3d\xe8\xcf\x45\x88\x21\x21\x01\x34\xee\xd3\xc9\xf3\x6a\x05\x22\x61\xb5\x72\xfa\x27\xfd\xc6\x03\x90\xb3\x18\x18\x77\xbc\x7f\xbe\x0b\x1f\xae\xc2\x39\x38\x36\xcd\x6a\xbb\x43\x6f\xd4\xa5\x03\x9f\x37\x26\x9a\xca\x68\x35\x0f\x90\xce\x81\xe0\x67\xca\x7b\x0c\x4e\x19\x30\x00\xf6\xc7\x80\xfb\x02\x2e\x13\x82\xa1\xaa\x2e\x2f\x38\x42\x74\x4e\x33\x7e\xad\xd5\x78\x37\x12\xc7\x9e\x84\x24\xb4\x73\x88\x40\xe4\xf9\x3e\xcc\x20\xf0\xc4\x8f\x49\x94\x2d\xe4\x8f\xef\x2a\x55\x3e\x8c\x97\x38\x4b\xf1\x2d\x09\x09\x98\x49\x1f\xa2\xc9\x04\x92\x60\xc7\x97\x9d\x4b\x1e\x01\x93\xb3\x34\xe6\xbf\xff\xba\x84\x25\x30\x39\x42\x7f\x65\x63\x9c\xc6\xf1\x5d\xaa\x1a\xe2\x09\xef\x53\x42\xd2\x79\xa0\x3a\xb1\x2b\x2b\x5b\x66\x24\x9d\xff\x01\x9e\xd9\xac\xfe\xc0\x91\x0f\x28\x29\x75\x0c\xde\xc7\x51\xf2\xed\x22\x21\x80\x1f\xc3\x58\x83\x86\x8b\x45\x1c\x8d\x43\x3a\x88\x7f\x80\xe7\x45\x38\x51\x48\x6a\x90\x53\x56\x85\x82\xa4\x38\x7a\x88\x92\x8f\xe9\x04\x54\x52\x94\x64\x80\x89\x91\xf4\x84\xc3\x45\x88\xd3\x65\x32\xe1\xc9\xa2\x33\x49\x8a\xe7\x06\x06\xe3\x59\x88\x33\x20\x5a\xca\x43\x45\x52\x0c\x8f\x10\x2b\xa2\x72\x78\x16\x0c\x69\x0e\x31\xe2\x13\x18\x5f\xa6\xe3\x90\xa4\x58\x0c\x8f\xef\x7d\x4c\x97\x99\x60\xcc\x47\xd2\xf4\xcc\xdf\x2d\xe3\x37\x47\x4b\x4b\x98\xd3\x47\x46\x52\xc1\x38\x19\x24\x93\xf3\x74\xbc\x14\x3f\x97\x64\xaa\xe5\xce\x1e\xb0\xf6\x6b\x89\xbf\x3f\x12\xed\x37\x70\xa6\x97\xc8\x47\xf1\x04\x43\x22\xd8\x11\xa6\x18\xb2\xd9\x2d\x09\x31\x31\x52\xce\x92\x89\xa8\x3a\x7c\x84\xc9\x3f\x6b\xcf\xbf\x68\xcf\xa7\x39\x5f\x43\x38\xa1\x2b\xaa\x22\xf4\x13\x8e\x88\x91\x30\x81\x69\x9f\x10\x1c\xf8\x2d\xff\xb0\x9d\xb3\x27\x4b\xd3\x33\xa8\x99\x1c\xce\xb3\x60\x38\x52\x19\xe9\x44\xfe\x44\x53\xe5\x30\x2c\x30\x4c\xa3\xef\x8a\x6f\x17\x69\x46\xf4\xdf\x51\xb2\x58\xe6\xfc\x08\x4f\xd6\xbc\x71\xa1\x25\x89\x35\x47\x36\x96\x89\x4c\xcf\x8d\x4f\xec\x87\x53\xaa\x03\x69\x05\x30\x24\x13\xc0\x20\x10\x97\xbf\x56\xab\x9c\x63\x32\x88\x81\xad\x28\x1f\xc3\x24\x7c\x90\x39\x8b\xa9\x7a\x09\x3a\x43\xa2\x69\x24\xb3\xaa\x9f\xab\x15\xc5\xeb\x6b\xe3\x52\x26\xe4\xf4\x85\xf7\xcb\xe9\x14\xb0\xa2\x12\x4b\xbb\xa0\x9a\xc2\x03\x86\x2c\x53\x73\xe1\x7b\x3a\x9d\xde\x42\x42\xee\xd2\xd3\x90\x8c\x67\x9f\x17\xda\x2c\x89\x08\xdc\x92\x74\xb1\x80\x7c\xea\x65\x4b\x8c\xd3\x87\x90\xc0\xd7\x59\xf4\x30\x53\x04\x8d\xa3\x04\x32\x46\xa4\x69\xe3\x34\xc2\xe3\x65\x1c\xe2\xcb\x28\x23\x8e\x26\x25\xee\xc3\xf1\x37\xb7\x37\x4d\xb1\xc3\xb5\x27\x25\x2e\x7a\x78\x77\xb7\xe7\xe6\xf5\x34\x16\xcb\x6c\xc6\x4b\xde\xc7\x61\xf2\xed\x32\x4a\xc0\x71\xdd\x5e\x25\x99\x84\x94\x2c\x26\x37\x32\x20\x9c\x02\x4e\x5e\xb1\x18\x21\x12\xde\xab\x89\x43\x96\x0b\xda\xc5\xcc\x11\xb0\x65\x06\xf8\x96\xa1\x1b\x25\x0f\xc1\x8e\xbf\x56\x6a\x51\xca\xb5\x26\xaa\x59\xf6\x31\x0e\x9f\x1b\x51\xc6\xfe\x3a\xe0\xae\x56\x0e\x04\x43\x18\xd1\x25\xaa\xa4\x35\x80\xfb\x02\x8d\x70\x32\x61\x13\x96\xd2\x04\x12\x8a\x14\xad\x69\xb5\xda\xf1\xdd\xb5\x9b\xb7\x91\xe5\x6d\x40\x03\xc3\x3c\x7d\x84\x8d\xc5\x54\x21\xa1\x21\xaa\xdf\xd8\x71\x5f\xa4\x2c\xcf\x08\x5e\x8e\x49\x8a\x03\x58\xe3\x5c\x6b\x0c\x34\x0d\x12\x81\x96\x4e\x07\x10\xe7\x35\x87\xbc\x66\xa1\xec\x4a\xcd\xad\x11\x65\x1f\xc3\x71\xad\x46\x1a\x61\x4c\xfe\x00\xcf\xb5\xda\x0e\x69\x8c\x09\x8e\xe5\xf3\x1c\x48\xf8\x07\x60\x6b\xac\x56\xe4\xf6\xe7\x28\x99\xa4\x4f\x99\x5e\xb0\xb2\x9c\x50\x8a\xed\x6f\xf0\xbc\xa0\xac\x4a\x75\xbe\x06\x45\xef\x04\x77\x71\xad\xe6\xec\x30\x5d\xed\x34\x9d\xc0\x6a\xa5\x1e\xdf\xb5\x0f\x34\x92\xc4\x52\xc3\xe5\x26\x0a\x1c\x1f\xfb\xfb\x2b\x72\x7c\x7c\xb8\xc2\x54\x9d\xa5\x13\x6b\x27\x88\x1b\x5f\xc7\xe1\x78\x06\xc3\x54\x99\x37\x5a\x92\x62\xd4\x0c\x25\x28\x44\x33\x34\x46\xcb\xc0\xdf\xf3\xd0\x24\xd8\xf5\xd1\x22\xf0\x7a\x8b\xe3\xa8\xf1\x68\xe8\x34\xbd\x45\xbd\xce\x4c\xa6\x2c\x50\xa0\xe1\x62\x84\x92\x80\xab\xc5\x01\x57\x47\x03\xaa\x80\x22\xaa\x77\x39\xe3\x20\x6e\x4c\x22\xae\x55\x8b\xb1\x67\xad\xb9\xae\xfb\x32\x09\x16\xbd\x7b\x0c\xe1\xb7\xf5\xf8\x78\x59\xab\x39\xcb\x60\x8c\x26\xc1\xc2\x5d\x97\x91\x0d\x26\x79\xdf\x67\x9a\x65\x24\xf4\x43\x45\x2e\xff\xa0\xf0\xfb\x50\xff\xbd\xde\xfb\x71\xe7\xdf\x59\x3f\x5a\xdf\x09\xe0\xb9\xe5\xcc\x08\x59\x64\xdd\xbd\xbd\x64\x31\xff\x0b\x65\xa6\xf9\xde\x22\x1c\x7f\x0b\x1f\x60\x8f\x65\x70\x69\xd6\xff\x40\x35\xb1\x24\x03\xeb\xe3\xc5\x1d\xfb\xfd\x08\x38\xa3\x58\x34\x1b\x87\x0d\x9f\xa6\x04\x01\xcb\xbd\x77\x79\x71\x7a\x76\x75\x7b\x16\x04\x34\xf1\x34\x5d\x3c\xe3\xe8\x61\x46\x2c\x67\xec\x5a\x4d\xcf\x6f\xef\x36\x3d\x7f\x1f\x59\xb7\xe9\x12\x8f\xe1\x32\x8c\xb0\xf5\x09\x47\x8f\x21\x01\xeb\x34\x9d\x2f\xc2\xe4\x39\xc7\xe7\xe9\xe9\xa9\x91\xb1\x7c\x71\x18\x61\x8a\x98\x5b\x59\x67\x93\xd6\xd9\x42\xd6\xe9\x0c\x47\x19\x49\x17\x33\xc0\xd6\x7f\x84\xe9\x14\x83\x56\xd9\x43\x44\x66\xcb\x7b\xd6\xbb\xf1\xec\x2f\x7f\xd9\x63\x55\xd1\xcf\x27\xc0\xf3\x28\x63\x7d\x89\x32\x6b\x06\x18\xee\x9f\xad\x07\x1c\x26\x04\x26\xc8\x9a\x62\x00\x2b\x9d\x5a\x74\xb9\x7f\x00\x64\x91\xd4\xa2\x38\x2e\x00\x67\x54\x54\xdc\x93\x30\x4a\xa2\xe4\xc1\x0a\xad\x71\xba\x78\xa6\xf5\xa5\x53\x8b\xd9\x50\x59\x3a\x25\x4f\x21\x06\x2b\x4c\x26\x56\x98\x65\xe9\x38\x0a\x09\x4c\xac\x49\x3a\x66\xc6\x09\xd3\x6a\xac\x69\x14\x43\x66\x39\x64\x06\x96\x7d\x2b\x4a\xd8\x2e\x6b\x67\x02\x61\x4c\x2b\x8c\x12\x8b\x82\x25\xd4\x7a\x8a\xc8\x2c\x5d\x12\x0b\x03\xb7\xe8\xa2\x34\x41\x56\x94\x8c\xe3\xe5\x84\x62\x22\xc1\x71\x34\x8f\x44\x23\xb4\x38\xa3\x58\x46\xeb\x23\xa9\x45\xb5\x02\x86\x30\xb2\xe6\xe9\x24\x9a\xd2\xbf\xc0\xfa\xb7\x58\xde\xc7\x51\x36\x43\x16\x65\x56\x1c\xdd\x2f\x09\x20\x2b\xa3\x89\x6c\xf8\x11\xed\xcd\x5e\x8a\xad\x0c\x62\x86\xdc\x38\x5d\x44\x90\xf1\x4e\xe7\x38\xb2\x6c\xb4\xa1\x05\x25\x2e\x11\xe4\xca\x68\xca\xd3\x2c\x9d\x9b\xfd\x89\x18\x56\xd3\x25\x4e\xa2\x6c\x06\xac\xd8\x24\xb5\xb2\x94\xb5\x4b\x2d\x36\x9a\x42\x4b\x4c\xd3\x38\x4e\x9f\x68\x1f\xc7\x69\x32\x89\x98\xd2\xdf\x95\xc3\x78\x37\x03\x2b\xbc\x4f\x1f\x81\xf5\x8b\xf3\x47\x92\x92\x68\xcc\x07\x80\x0d\xc9\x22\x1f\x6a\x01\xca\x66\x61\x1c\x5b\xf7\x20\xe8\x07\x13\x2b\x4a\x68\x6d\x34\x55\x76\x0d\x53\x3c\xe8\xcc\x25\x51\x18\x5b\x8b\x14\xb3\x86\x8b\x5d\x6e\x28\x44\x3e\x9c\x59\xb7\xd7\xe7\x77\x3f\xf7\x6f\xce\xac\x8b\x5b\xeb\xd3\xcd\xf5\x1f\x2f\x06\x67\x03\xcb\xee\xdf\x5a\x17\xb7\x36\xb2\x7e\xbe\xb8\xfb\x70\xfd\xf9\xce\xfa\xb9\x7f\x73\xd3\xbf\xba\xfb\xc5\xba\x3e\xb7\xfa\x57\xbf\x58\x7f\xb8\xb8\x1a\x20\xeb\xec\x9f\x3f\xdd\x9c\xdd\xde\x5a\xd7\x37\xb4\xb6\x8b\x8f\x9f\x2e\x2f\xce\x06\xc8\xba\xb8\x3a\xbd\xfc\x3c\xb8\xb8\xfa\xc9\x7a\xff\xf9\xce\xba\xba\xbe\xb3\x2e\x2f\x3e\x5e\xdc\x9d\x0d\xac\xbb\x6b\xd6\xa6\xa8\xed\xe2\xec\x96\xd6\xf7\xf1\xec\xe6\xf4\x43\xff\xea\xae\xff\xfe\xe2\xf2\xe2\xee\x17\x44\xeb\x3a\xbf\xb8\xbb\xa2\x35\x9f\x5f\xdf\x58\x7d\xeb\x53\xff\xe6\xee\xe2\xf4\xf3\x65\xff\xc6\xfa\xf4\xf9\xe6\xd3\xf5\xed\x99\xd5\xbf\x1a\x58\x57\xd7\x57\x17\x57\xe7\x37\x17\x57\x3f\x9d\x7d\x3c\xbb\xba\x6b\x58\x17\x57\xd6\xd5\xb5\x75\xf6\xc7\xb3\xab\x3b\xeb\xf6\x43\xff\xf2\x92\xb6\x46\xab\xeb\x7f\xbe\xfb\x70\x7d\x43\x11\xb5\x4e\xaf\x3f\xfd\x72\x73\xf1\xd3\x87\x3b\xeb\xc3\xf5\xe5\xe0\xec\xe6\xd6\x7a\x7f\x66\x5d\x5e\xf4\xdf\x5f\x9e\xf1\xd6\xae\x7e\xb1\x4e\x2f\xfb\x17\x1f\x91\x35\xe8\x7f\xec\xff\x74\xc6\x4a\x5d\xdf\x7d\x38\x63\x9d\xa4\x39\x39\x9a\xd6\xcf\x1f\xce\x68\x2a\x6d\xb5\x7f\x65\xf5\x4f\xef\x2e\xae\xaf\x68\x7f\x4e\xaf\xaf\xee\x6e\xfa\xa7\x77\xc8\xba\xbb\xbe\xb9\x53\xa5\x7f\xbe\xb8\x3d\x43\x56\xff\xe6\xe2\x96\x52\xe6\xfc\xe6\xfa\x23\xeb\x29\xa5\xee\xf5\x39\xcd\x75\x71\x45\x8b\x5e\x9d\xf1\x8a\x28\xe5\xcd\x01\xba\xbe\x61\xbf\x3f\xdf\x9e\xa9\x3a\xad\xc1\x59\xff\xf2\xe2\xea\xa7\x5b\xeb\xe2\xaa\x38\xa0\x74\x94\xf7\xfe\x5d\xb5\x9b\x89\x20\x3b\x77\x11\xd9\xe8\xe5\x31\x8c\x97\xd0\xdd\xf1\xd6\x2e\x73\xa0\x8d\x03\xec\xf8\x1d\x17\x2d\xe9\x5f\x17\x4d\x02\xec\x34\x9b\x2e\x5a\xd0\xbf\x2d\x17\x4d\xe9\xdf\x8e\x8b\x1e\xe8\x5f\x17\xcd\x69\xae\x7d\x17\x3d\xd3\xbf\x87\x2e\xba\xa7\x7f\x8f\x5c\xf4\x95\xfe\x3d\x70\xd1\x29\xcd\xe6\xb9\xe8\x89\xfe\x6d\xbb\xe8\x36\xc0\xce\x91\x8b\x1e\x29\xd8\x73\x51\x3f\xb0\x97\x09\xc7\x6f\x62\xef\x48\x57\xca\x13\x5b\x98\x4f\xf8\x9f\x86\x14\x44\xcc\xe4\xed\x25\x4e\x54\xf0\xca\xb8\x28\xd2\xfc\x4f\x80\xc3\x0c\x98\x9e\x5e\xf2\x6f\xed\x76\xfc\x66\x4d\xd7\xde\x57\x1d\xdf\xaf\xe9\xba\xfd\x1a\x45\x0d\x12\x26\x0f\xe9\x29\xb7\xdf\x87\xf6\xef\x9a\xd0\x6a\xb7\xf6\x6d\x64\xff\x6e\x3c\xf6\x3c\xcf\xa3\x4f\x6d\x38\x0a\x3d\x9e\xd6\x0e\x45\x5a\xab\xbd\xdf\x09\xdb\xf4\xe9\xa0\xd3\xf1\x0e\xee\xe9\x93\xb7\x7f\x74\x78\x14\xd2\xa7\x49\x6b\x72\x30\x9e\xd2\xa7\x4e\xa7\x73\xd0\x69\xd1\x27\x98\x36\x8f\x9a\x47\xf4\xe9\x30\x84\x66\x8b\x95\x9d\x8e\xe1\xa8\xcd\xf2\x1d\x34\x8f\xa6\xbc\x44\x38\x39\x98\x86\x87\xbc\x0d\x68\x42\x93\x95\xa5\xff\x8d\xed\x11\x8a\xa4\xab\x41\xeb\xad\x5a\x79\x41\x7a\x1e\x53\xae\xc1\xda\xbf\xb3\xeb\xc4\x01\xb7\x4e\x1c\x4c\xbf\x22\x57\x53\x51\x48\xbe\x4c\x3b\x10\x40\x83\xa4\xb7\x04\x47\xc9\x03\xf3\xca\x08\x7d\xe2\xb8\x79\x62\x7b\x76\x1d\xba\xc0\xfd\xa1\x28\x0d\x0c\x82\x09\x47\x88\x8b\xb2\x60\xe8\xa1\xa3\x0e\xf2\x5b\x1d\xe4\x1f\x74\x50\xd3\xef\xa0\x66\xa7\xc3\x95\x18\x1c\x78\x3d\x7c\xdc\xf4\xf7\x7b\xb8\x5e\x77\xc1\xc9\x86\x78\xaf\xb5\xff\xef\xf7\x57\xde\x08\xd1\xe7\xfc\xf1\xdf\xef\x8f\x5c\xbd\x48\x5b\x96\x08\x0e\xeb\xbe\xf7\x23\x46\x19\xca\x5c\xe9\xb3\x4c\xd7\x0e\x65\x05\xe1\xa9\x09\x22\xd3\x39\x43\x41\x8f\x15\xb4\x12\x4a\x15\x20\x42\x2d\x13\xac\x8a\xa1\x34\xf0\x7a\xe9\x71\xb3\xb3\xdf\x4b\x69\x9b\x01\xb3\xbb\x2e\x12\xe2\xe0\x61\x3a\x6a\x30\x51\xcb\xc9\xe3\x22\x3a\x01\x08\x27\xf1\x10\xde\xbd\xf3\xf7\x6b\xcd\x4e\x07\xc1\xbb\x77\x87\xec\xa1\xd9\xe9\xd4\x60\xa4\xf0\x24\x1c\x4f\xe9\x91\x63\x2e\xc3\x14\x67\xdd\x28\x77\x16\xc1\x1c\xba\xb6\xc8\x60\xa3\xdc\x05\xd2\xa5\x56\x0f\xe0\xf9\x55\x48\x33\x30\x3d\xc6\x46\xd2\x7d\xd3\x1d\x1e\x7a\xa8\xd9\x1e\x21\xcd\x8b\x41\x0b\x48\x4f\xcb\x73\x0c\x5d\xfb\x3e\x4e\xc7\xdf\x6c\xf4\x18\x65\xcb\x30\x7e\x0f\x31\xab\x72\x91\x2e\xae\x13\xf9\x23\xb7\x8d\xba\x3e\xb4\xe8\x4f\x80\xe4\x0f\xf0\x9c\x51\xe0\x04\xee\x97\x0f\xac\x52\xe6\x1f\xe5\x36\x3f\x03\x44\x19\x35\xa0\x6f\xc9\x24\x4a\xe8\xef\x65\x06\xe7\x71\xfa\x74\x9a\x26\x04\x0b\xbc\xc3\x7b\x6a\xd8\xfc\x1c\x4d\xc8\xac\x7b\x48\x67\x9a\xf4\x87\xbd\xd0\x1f\xd3\x74\xbc\xcc\xb8\x17\xa3\xe8\x15\x8e\xa6\x8e\x32\x63\x5c\xe5\xc7\x96\x76\x0d\xcd\xa2\x74\xe3\x28\xf0\x7a\xd1\x31\x48\xf5\x37\xaa\xd7\x5d\xc2\xbd\xb6\x18\xc1\x30\x1a\xa1\x08\x81\xbb\x36\x6c\xa1\x68\xea\x68\x0e\x57\xd7\xf4\x6b\x33\x1f\x2c\x70\xc1\x48\x10\x35\x5e\x59\x53\x84\x2a\x3b\xe0\xbe\xd9\xf9\x5d\xab\x61\x61\x43\x2a\x2e\xc0\x6b\xdd\xb7\x8b\x0c\x8c\x86\x30\xd2\x5d\xb6\x30\xca\x89\x55\x02\xad\x4d\xf1\xc7\xc9\x58\x76\xed\x73\x3b\x13\xbe\x93\x10\x43\xc8\x73\x39\xee\xda\x28\xfa\x00\xe4\x9a\x35\x52\xf0\xf4\x33\x77\x3b\xd5\x3c\x2c\x0d\x61\x97\xcc\x70\xfa\xc4\x7c\xed\x67\x18\xa7\xd8\xf9\xe1\x2a\xb5\x38\x8e\x4c\xb3\xb3\xbe\xc1\xb3\x65\xff\x50\x87\xfa\x0f\xf6\x0f\xaa\xd3\x8f\x69\x34\xb1\xbc\x9d\x20\xd0\xfd\xa1\x43\x18\x9d\x14\x7e\x77\xe9\x6f\xda\x39\x03\xc1\xec\x1f\x88\x60\xf6\x14\x91\x31\xb3\x54\xc6\x61\x06\x76\x3e\x09\xec\x6e\x34\x75\xc8\xb1\xf2\x0d\x48\xeb\xd3\xbe\x05\x42\xa8\x8e\x47\x95\xab\x3c\xbb\xc5\x56\x53\x2b\x86\x2c\xb3\xc8\x2c\xe4\x3a\x2d\xdf\x2a\xa0\x9a\x18\xad\xc1\xb2\x15\x0f\xd4\x03\xdb\xb1\xeb\xaa\xee\xba\xed\x52\xdd\x3e\x49\x09\x55\xec\xd2\x27\x98\x34\xd8\xec\xcf\xd2\x18\x1a\x4f\x21\x4e\x1c\xec\xa2\x1d\x7f\x4d\x31\x32\x09\x46\x49\xca\x08\xa1\x39\x2d\xf8\x1c\x78\x47\xa4\xd1\x59\x02\xed\x12\x94\x05\xb9\xaf\x76\x37\x3d\xf6\x7a\x5a\x26\x82\xa3\x39\xf3\xb5\x39\xa9\xe1\xdf\xfd\x18\x92\x59\x63\x1e\x7e\x77\xf2\xb4\xdd\x14\x79\xae\xee\xf6\x2d\xe4\xe1\xd5\xd3\x3c\x99\x70\x8f\x08\xcf\x9d\xe3\x21\xcd\x49\xeb\xae\xb5\xe6\xe7\xe1\xf7\x4b\x86\x66\x20\x9c\x7d\x8f\x11\x3c\x51\xad\xb6\x91\x3d\x27\x63\xee\x12\xe9\x63\x08\x1d\x77\xbd\x16\xa3\x27\xb8\x46\x16\xd0\xa6\x0c\x41\x72\x64\x35\xe1\x68\x77\xa5\xcf\xe5\x34\x4f\xa4\x22\x9d\xb8\xdc\xce\xed\x69\x25\x98\xfc\x14\x25\x84\x8f\xb2\x31\x8e\xc3\x2c\xbb\x8c\x32\xd2\x20\xe9\xc3\x43\x0c\x0e\x17\xc9\xbb\xbc\xc4\x6e\x46\x8b\xec\x52\xfd\x06\xd3\x2e\xd9\xc8\xce\x9f\x03\x3a\x60\xe8\xd7\xd7\x76\x1f\x62\x1b\xd9\xf4\x9b\xd5\xa0\xe3\xa9\x0b\xd8\xbc\x6b\xca\x9d\xb4\x36\x27\x13\xb5\xca\x42\x5c\xe8\xb9\x2e\x38\x36\xd1\x46\xa3\xac\xee\x2f\x77\x4b\x73\x75\x53\xd5\x90\x33\xea\x1b\xbb\x7e\xcf\x46\x0b\x81\xdc\xef\x88\x21\xc4\x66\xed\xd2\x5b\xef\xb8\xc8\xdc\x2b\xdc\xe8\xd6\xcf\x80\xa8\x42\x7a\xaf\x7f\x15\x4e\xbb\x69\x62\xbb\x6b\xb4\xef\x79\x45\xf2\x6e\xc1\xb1\x44\xe4\x72\x8b\xdc\xd3\xb6\xb1\xc5\x8d\x9b\x15\xb5\x9a\xc3\x1a\x56\x3d\xdb\x94\x71\x73\x15\x6c\x09\x66\x83\x79\x1f\x09\x27\xbe\x31\x74\xa9\x03\x6a\x1d\x41\x36\x5b\x48\xec\x7c\xf5\x22\xee\x0b\xe4\xde\xff\x5a\x8d\xff\x70\x1e\x1a\xa7\x5e\xe3\xec\xf6\xb4\x6e\x0f\x2f\x6c\x17\x41\x45\x97\xc3\xc9\xc4\x11\xd5\xd1\x0c\xd9\x2c\x7d\xe2\xe4\xa3\x43\x5a\xcd\xad\x6c\xdb\xe5\xd9\x01\x57\xa9\x0f\x40\xab\x9e\x47\x44\xd6\x84\x5e\x28\x01\xa3\x24\x8c\xbb\xb0\x76\xd7\x05\x1e\xbd\x8f\x97\x15\x56\x42\x61\xa9\xa4\x99\x1c\x45\x8f\xf7\x46\x91\x12\x39\x68\xe6\x22\x35\xa4\xa4\x83\xc6\x33\x82\xc6\x33\xeb\xdc\x36\x02\x5d\x6f\x20\x90\xe4\x89\x9c\x46\x5b\x78\xac\x4c\x1a\xa6\x59\x49\xea\x70\x3c\xb7\x12\x27\x4a\x22\xf2\x53\x9c\xde\x9b\xfc\xca\x54\x65\x36\xb3\x90\xdc\x8c\x67\x74\xa1\xfa\xa1\xd8\xa4\xd0\x18\xc7\x48\xa1\xa4\x13\x09\xa9\x31\xfb\x91\x3d\x4e\x17\xcf\x1a\xd9\x30\x25\x9b\xb6\xa7\xb4\x5a\x2d\x1a\x34\x8b\xdc\x0c\xc1\x88\x30\x22\x9a\x0e\x76\x57\xd8\xaf\xb8\x2a\x22\x63\xd1\x58\x84\x19\x01\x59\x03\x0b\x48\xe8\x09\x34\xf2\xe1\x63\x79\x58\xc8\x43\x11\xc3\x1c\x42\x34\x17\xf2\x79\x84\x61\x9a\x7e\x3f\x29\xe6\x66\xb8\x4f\xd2\xa7\xc4\xe4\x85\x66\x10\x90\xc6\xfd\x92\x90\x34\xa9\xd5\x16\x0d\xe6\xfb\x39\x8d\xa3\xf1\x37\xb5\xcb\x83\x34\x66\xaa\xec\x61\xb7\x4c\xba\x84\x96\x98\x43\xb2\x34\x1b\xfb\x6d\xf5\x1b\xdd\xbb\x8c\x92\xe5\xf7\x5a\xad\xd8\x64\xb8\xfc\x3e\xa6\xb5\x9a\xed\xf9\x81\xd9\x3b\xca\xac\x77\xf0\x9d\xd0\x25\xfa\x33\x5d\xf6\xd8\x1e\x9f\x98\xd2\xaf\x23\x22\x27\x1c\x65\xac\xd2\x84\x53\xa8\x7c\x83\xe7\x32\x99\xfb\x8d\x70\x4c\xa2\x47\x10\xdb\xe7\x5c\xd9\xa4\x33\xed\x1b\x3c\x0f\xd2\x27\x9a\x67\x8d\x76\x3c\x3a\xc8\x66\x55\xdc\xb9\xff\xe6\xba\x3e\xd1\xec\x1b\x2b\x5b\x2e\xcc\x9a\xa8\xee\xbf\x5a\x09\x05\xdd\x01\xad\x54\xce\x7f\x95\xdd\xa9\xc6\xdb\x28\x54\x81\xb8\x81\xa1\xd0\x9f\xa8\x66\x1a\xd8\x76\x55\x25\xe3\x74\xbe\x48\x33\xee\xaa\xa4\x82\xd6\x66\xb1\x0d\x2a\xed\x03\xc4\x0b\xc0\x8d\x62\x2e\x36\x42\x4e\x45\x4e\x77\x4b\xfd\xcb\xc5\x24\xa4\x73\xe9\x95\x06\x78\xb6\xdf\xd4\x02\x24\x93\x57\xab\x87\x64\xb2\xad\x6e\x60\x51\x0e\x42\x74\x57\x57\xc6\x11\x3c\xcd\xd3\x65\xb8\xc6\xaf\xa8\xd7\x1c\x31\x16\xda\x20\x76\x4e\x79\x30\x81\x43\x1a\x19\xdf\xed\x6e\x40\x32\xa9\x90\xd1\x19\x60\x72\x93\x3e\x55\x88\x3c\x3b\x65\xc6\x69\xee\x54\xe3\xf1\x49\xfd\xc6\x18\x43\x48\x24\x43\x3b\xf6\x24\x7a\xb4\x65\xd4\x0a\xe6\x06\x7b\x18\x25\x80\xe9\x0a\x02\xc9\xe4\x74\x16\xc5\x13\x47\x69\x5e\x62\x3f\x9e\x1b\xb3\xe0\x22\x30\x11\x4a\x17\x50\x34\xce\xf2\xad\x55\x14\xf1\x3f\x19\xb5\xd1\x85\x02\x28\x63\x60\x56\x2b\xed\x27\xda\xd1\x7e\x94\xec\x38\xfb\x4e\xac\x5a\x16\x86\xbf\x2e\x23\x0c\x99\x15\x5a\x3c\xaf\x25\x57\x4d\x9b\x7b\x04\xe4\xa6\x23\xe5\x92\x40\xab\xb3\x91\x3e\x25\x80\x07\xc2\xaf\x28\x6d\xc6\x3f\x46\xf0\x24\x76\xff\x05\x64\x73\x19\x9e\xef\x3e\x9d\x3c\x07\x46\x89\xd7\xc2\x76\x0c\x8d\xbf\x50\xb4\x6a\x60\x36\x59\x08\x4c\x5b\x92\xcb\xf7\x2b\xd9\xb8\x9b\xe8\x0d\x79\x76\x99\xe3\x69\x57\x18\xa4\xec\x87\x8b\x7e\xad\x19\x60\x36\x93\x01\xe9\x13\xb1\x3f\xe3\x50\x0b\x25\x4a\x26\xf0\xdd\x56\xd6\xa2\xb4\xe9\xa4\x7c\xad\x66\xcf\xca\xbc\xd5\x5d\x90\x99\x8a\xfd\xd5\xb9\xb9\xaa\xb6\x42\x1b\xb9\x79\xf9\x26\x94\xf2\xec\xd5\x58\x71\xff\xc0\x2e\x95\x54\x9b\x7a\xb3\x11\xc1\xbc\x6e\xb7\x10\xad\xa1\xe6\xea\x56\x1c\xcb\xd9\x37\xe0\x28\xf3\xbd\x4a\xba\x72\x8d\x15\xf2\x63\x2b\x4e\x86\xa0\xa9\xc4\x86\x2a\x21\xaf\x22\xa2\x57\x53\x90\x50\x2a\xcc\x44\x85\xa6\x34\x42\x42\xc2\xf1\xec\x2e\x1d\xa4\x73\xa7\x6f\xe6\x16\x85\x67\x4c\x4c\xbf\xad\x0b\x85\xbc\xd5\xbd\xe0\x99\x5e\xef\x48\xa1\x32\x19\x16\x22\x16\xb7\x32\x1e\x12\x62\x17\x72\x6e\xc3\x62\x77\x63\x21\x73\x92\x86\x4b\x92\x8e\x53\x8c\xe9\xe2\x81\xec\x74\x3a\x7d\x4b\xfe\x70\x11\x91\x30\x8e\xfe\x06\x6f\x2a\x92\x2d\x20\x8e\xc7\x33\xa0\x3a\xa4\x3d\x0d\xe3\x0c\x4a\x05\x48\x78\x7f\x41\x45\x85\x8c\x9f\x52\x80\x52\xe0\x4a\xc9\x06\x75\x5f\xa2\x4d\x46\x60\xb4\x66\x3a\xee\x2b\x15\x16\xac\xb8\xbc\xbe\xa2\xd9\xa4\x55\x57\x64\x87\xd2\x10\xcb\xf6\x54\xcc\xa6\x52\x0e\xe8\xba\xb3\x95\xd5\x0a\x79\x8b\x83\xac\x81\x99\xf8\xab\x28\xc6\xf5\x0f\x16\x4d\x33\x6e\x9c\x16\xd3\x0b\x66\x50\x55\x9b\x7a\x3c\xd9\xab\x5d\x2d\x94\x75\xf3\x40\xc4\xdb\xe8\x6f\xc0\x1c\x69\x1b\xe5\x3d\xf3\x72\x6d\x9a\x63\xe5\x96\x2a\xea\x74\x7b\x59\xee\xad\xed\x65\xf5\x3a\x0f\xe4\x52\xba\x92\xe3\x16\xb4\x8f\x72\xb5\x60\xac\x09\xb4\x91\x8f\x10\x66\x4b\xcc\xe3\x91\x9e\x1a\xa7\x79\x8a\x94\x24\xd5\x33\x58\x2b\xca\x14\x3f\x16\x8c\x19\xfd\x0d\xc6\xb3\x30\x79\x80\x49\x81\xc9\x84\x46\xa9\xf7\x29\x73\x14\x87\xe9\x75\xcd\x45\xe3\x85\xb5\x84\xa1\x37\x69\xfc\x51\xfc\x74\xb8\x9d\x5e\xb1\xda\x6c\x5a\xbd\x4a\x2d\x15\x43\x08\x69\x03\xf7\x8d\x1b\xf1\x53\x0f\x4b\x2c\xc5\x10\xd2\xac\xa7\x8d\xdb\x42\xb2\x86\x13\x73\xf3\x96\xd7\x83\x4d\x38\x94\x02\xea\xaa\x35\x69\xaa\x00\x2b\x7c\x55\xc8\xa8\x2c\xeb\x80\x50\xa8\x41\x28\xd4\x5b\xea\x4e\xe0\x29\x5f\x13\x0b\x0d\x28\xe9\xc1\x8d\x2a\x40\xb8\xb4\xb9\xa2\x27\xf1\x7a\xf2\xb1\xa4\xd5\x73\x9d\xc0\x60\x01\xb9\x2d\x50\xc6\x47\x3a\x91\x54\x0d\x25\xf5\xa1\x24\xc5\xfe\x75\xf5\x57\xfb\xe7\x65\xb0\xaa\x74\x0d\x39\x2e\xe2\x5b\x3a\xcc\x19\xcd\x74\xfd\x24\xb0\x7f\x49\x97\xd6\x24\x9a\xb0\x7d\x8c\x45\xc8\x36\x42\xc0\xfa\x33\x23\xcb\x9f\x2d\x79\xe6\xc1\x8a\x12\xeb\xcf\x52\x95\x2f\x98\x10\x8e\xfb\xe7\xc6\x97\xc4\xee\x25\xf5\xc0\xbe\xab\x2a\x9b\xa4\x4f\x96\xdc\xe9\xb1\x48\x6a\xfd\x99\xe0\x25\xfc\xd9\xba\x5f\x12\x8b\x0d\xaf\x8c\x2f\xe2\x91\x63\x8d\xbf\x64\x56\xab\xe1\x59\x36\xa2\x15\x46\xc4\x7a\x8a\xe2\x58\x96\x67\xc5\xd9\x1a\xf4\xe7\xe2\x66\x0b\x55\x0b\x82\x1d\x6f\x4d\xc4\x9e\x85\x1c\xd8\x92\x0f\xa6\xe0\x0d\x91\x6e\x32\x16\xc4\x9f\xb3\x1e\xad\x0d\x1a\x51\x76\x9a\xc6\x71\xb8\xc8\x60\xd2\xa3\x86\x41\x1a\x43\x98\xe4\xa7\x48\xc8\xc9\x0e\xe9\xda\x37\x54\x3c\xd8\x41\x00\x2c\xcc\xd0\x5d\xad\x22\xb5\x65\x27\xc6\x80\x2a\xd2\xcc\xa3\x22\x65\x00\x5f\xa1\x28\xf5\x6c\x66\x25\xc6\x69\x38\xe9\x4f\x26\xa5\xcd\x32\xc9\x03\x4e\xf3\xc8\x75\xec\xc6\x9e\x5d\x87\xba\x4d\xbf\x0b\xb6\x65\x95\x30\x2a\x79\xae\xab\xe4\x2f\xe3\x7a\x3a\x9b\xa9\x7c\xb7\x1b\x5c\x05\x79\x8a\x26\xb0\x4b\x73\xbf\x3c\xb1\xfd\x5f\xbb\xde\xfc\xb1\x24\xd5\x18\xa8\x6e\x2f\xbe\xf7\xd6\xa2\x18\x8f\x34\x37\x0b\xbe\xa1\x18\xdb\x65\x7b\x67\x4d\xa2\xc7\x97\x19\x44\x0f\x33\x52\x55\x8c\x43\x78\x39\xbb\xe0\x18\x96\xc4\xdd\x14\x55\x21\xb6\x18\x10\x0b\xde\x24\x01\x15\x0a\x08\x07\x8f\x74\xbc\x6f\xc2\xa7\xf7\xcf\x04\x4e\xd3\x14\x4f\x32\x07\x50\x6c\x0a\xb7\x58\xc7\x81\xfe\x4a\xe3\x8c\xe7\xc9\x5c\x57\x6c\x63\x45\x6c\x4f\x1b\x41\x23\x7d\x04\x8c\xa3\x09\xdc\x3d\x2f\x60\xb5\x12\xcc\xc0\xb7\xb1\x72\x17\x63\x77\x16\x10\x7d\x1b\x88\x41\x96\x0b\x9a\xde\x6a\xae\x0b\xf1\x1d\x72\x1f\x7b\xd6\x73\xc8\xbf\x1e\xdf\x5a\x2d\x72\x70\x3d\x68\x35\x11\xd1\x02\x49\xb0\xda\x95\x8d\x55\xe4\x3f\xfb\xd9\xf4\xda\x07\x4c\x50\xa8\x3d\x7c\xe6\x46\xf0\xdc\x1e\x39\xf6\x9b\x07\x27\x20\xf7\xc8\xbb\x0e\x79\x47\x33\xd7\x6a\x0e\x09\xe8\x03\x25\x06\x83\xf9\x47\xcd\x15\x79\xf7\x6e\x3f\x4f\x68\x1e\xae\xf6\x5b\x35\xe2\xba\x6b\x88\x33\x60\xcd\x74\x3a\x1b\x5a\x79\xe7\x37\x79\x9d\x7e\x33\xaf\x92\xb8\x1a\x91\x22\x0d\xf7\xfc\xd8\x83\xfb\x02\xb5\xa0\x85\x48\xe3\xfb\x2e\xeb\x6c\xe3\x99\xfe\xed\xf1\x80\x03\xcd\x75\xdf\x6c\xdb\x94\x21\xd8\x01\x26\x37\xaa\x07\xb6\x6f\xf7\x28\x56\x56\x34\x75\x7c\x95\xd8\xca\x13\x9b\x2a\xb1\xc3\x13\x69\xcb\x2d\x96\xc8\xb1\xef\x51\x98\x67\xcb\x08\x5b\xfa\xeb\x5f\x86\x76\x9d\x34\xbe\xd7\x6d\x44\xff\x3e\xd7\xed\xd1\x17\x6c\x73\x31\x1c\xf3\xcd\x84\x48\x8b\xc8\xcd\x4f\x7a\x9c\x38\x55\x9d\x60\x51\xbf\x70\x02\x41\xb3\xeb\x8b\xa7\x76\xb7\x29\x9e\xf6\xbb\x0c\x17\xe6\x38\x6a\xb9\x46\x1b\x5a\xaf\x99\x04\xe9\xd9\x75\x8e\xf8\x49\xbb\xeb\xb9\xec\x37\x43\xae\x27\x90\xa5\x70\xd2\x58\x84\x0f\xb0\x5a\x51\x78\xed\xc9\x76\xdd\x6e\xac\x1d\xff\x38\x71\x8a\xa8\xd1\x82\x75\xfa\xab\x5e\x7f\xad\x6d\xd9\x06\x6b\xf3\x23\xaf\x5a\x9e\x33\x29\x57\xbc\xa1\xb2\x63\xbb\xee\xd0\x4e\x38\xad\x1a\xb8\x27\xbb\xed\x1a\x74\xc1\xdd\x6d\x35\xdd\x52\x13\x79\x2e\x7b\x6e\x77\x59\x83\x6e\xd7\xc1\x4e\x44\xcd\x4e\x2a\x0b\x9c\x88\x62\x2f\x1f\x9e\x37\xd2\xee\xa3\x5d\xe7\x51\x56\x8d\x29\x4e\xe7\x54\xda\x9e\xa6\x13\x10\xbb\x37\x1c\x82\x22\xd7\x35\x83\xeb\xd5\x34\x46\x11\x4a\x51\xa6\x62\x17\xde\x28\x2f\xf8\x59\xa1\x9d\x00\x84\xb7\xfe\xa4\x2e\x9f\xba\x12\xf0\x34\x8b\xc6\xb3\x13\xf1\x77\xd7\x67\xe9\x28\x36\x82\xe7\x2f\xce\xf8\x4c\xa2\x53\xed\xc4\xeb\xb6\xd9\x5f\xbf\x6b\x6e\x49\x2b\x59\x44\x82\x96\x9e\x3e\xb8\xfe\xc8\x86\x86\x6b\x9e\x14\x0c\x8d\x09\x90\x30\x8a\x8f\xbd\x93\xfd\x76\x77\xbf\xa3\xe7\x7e\x9a\x01\x88\x4c\xec\x71\x00\x31\x09\x7f\x79\x27\x72\x4a\x5e\xc7\x01\x34\xb2\x59\x34\x25\x7f\x80\x67\xca\x84\x28\x0a\x40\x46\xf0\x9f\x1c\x76\x3d\x94\x06\x20\xa3\xfb\x4f\xfc\xfd\xae\x87\xb2\x00\xaf\xa2\x55\x8a\x62\xed\xc4\xd3\x49\x56\x0b\xd2\x6e\xac\x9f\x71\x5a\xad\x9c\x2c\xf0\xe8\xea\xdd\x6a\xd6\x9d\xec\xf8\xb8\xe9\xd6\x09\x8b\x7f\x0b\x03\x43\x11\x88\xb9\x7f\x93\xca\xdd\x5e\xea\x84\xd5\xfb\x40\x58\x48\x17\x6d\x7f\x4b\x49\x2a\x07\xbb\x28\x56\x6a\x86\x81\x96\x83\x8d\xd1\x0d\x14\x69\x91\x28\xc5\x03\xb2\x1c\x4c\x19\xd1\x40\xbf\x56\x4b\x9d\x58\x79\x19\x05\x52\xf3\xf4\x11\x6c\x44\x68\x41\x79\xf6\x6b\xb5\xaa\xc8\xa7\xef\x62\x58\xd8\x89\xf2\xa3\xc2\x4e\x44\x0b\x1b\xed\x64\x5b\xda\xa9\x80\xd1\xba\x75\xd4\x23\xaa\xdc\xe8\x1d\x59\x53\x55\x2b\x44\x62\xfc\x0d\x67\x79\x91\x84\xb5\xda\x8e\xa3\x77\x45\x97\xde\xf4\x57\x2e\x06\xdd\x9c\xda\x44\x6b\x8e\x6c\x6c\x8d\xaf\x5d\x3b\x95\x23\x16\xe7\x41\x29\x69\xf2\x33\x2d\x48\x35\x01\x55\x29\xa8\x4a\x49\xba\x1c\xcf\xc4\xce\xca\xaf\xaf\xf9\x8e\x96\xe6\xa1\x38\x5b\xaa\xe7\xb4\xfe\x8d\xb5\x7f\x4c\x1f\xa1\x54\xb9\xa9\x15\x4d\x20\x23\x38\x7d\x2e\x29\x81\xf9\x69\x3a\xbf\x78\x9a\x4e\x24\x7c\x05\xd6\x7a\xf0\xb2\x16\xc6\xb2\x38\xe8\xa6\xd5\xb4\xd6\x8e\x78\x55\xa4\x8b\x29\x26\x14\x71\xe9\x47\xe3\xf6\xfb\x55\x3a\x81\x8d\x00\xb1\x6d\x5e\x61\xdc\x17\xc3\x61\x98\xbd\x53\x50\x96\x0d\xe3\x57\x45\x2e\x09\xdb\x92\x6d\xd7\xdc\xc8\xdd\x7d\x54\xac\xb1\xbc\x9b\x53\x0e\x5b\x33\x3d\x94\x6e\x7e\x14\x0d\x7a\xf8\x38\x20\x2c\xda\xb5\xe0\xc5\xe4\x4f\xcf\x37\xe9\x93\x83\x8b\x31\x37\x2a\x66\xa2\xac\xa8\xe7\xa7\x6d\x57\x2b\xa7\x98\x14\xf8\xa6\xd1\xc7\x7e\x3c\x8b\x78\x2e\xb7\xd8\x0a\x93\xd9\xa5\x97\x0f\x10\x3d\x74\x8c\xc7\x97\x05\x81\x1e\x73\xa6\xe2\xb9\xe8\xba\x31\xab\x88\x32\xf3\xf5\x28\xb3\xdd\x5d\xa4\xe2\x04\x59\xf8\x98\xa0\x3e\x0f\x25\xdb\xd5\xb3\x52\x1d\x61\x56\x3c\x29\x27\x7b\xc9\xc3\xd1\xf2\xcc\xae\x88\x5b\x10\x45\x35\xe3\x16\x39\x64\x57\x3f\x31\xbc\xcb\x3d\x03\xda\x79\x62\xd7\xec\x90\x38\x9a\xae\xa5\x54\x1d\x13\xe4\xf6\x31\x02\xd7\xed\x6a\x39\xb3\x05\x0b\x4a\x26\x48\xd8\xd7\x55\xf9\x73\x02\xa8\x53\xce\xb5\x9a\x93\x53\x85\x76\x40\xd2\x52\xd2\xec\x57\x10\xc2\x45\x15\xf8\x14\x28\xa3\x1a\x46\xbe\xcc\xcf\xed\x42\x66\xa0\x3a\x66\x9e\xed\x19\x04\x09\x75\x63\x55\x7a\x28\x72\xfc\x2a\x59\x6d\x40\x11\x2f\x4d\x1d\x38\xf6\xd8\x5f\x2f\xd0\xb9\x44\xaa\xcd\x65\x3a\x50\x43\x9e\xa9\xdd\xa2\x6b\x2c\xfb\xbb\x0a\x52\x16\x0f\x5c\x8a\x63\x9e\x2c\x7f\x5d\x9e\xdd\xe7\xa5\xf3\xc2\x27\x95\x34\xee\xe6\xa9\xc7\x9e\x1a\x2a\x7e\x2e\xde\x45\x44\x6c\x7a\x6e\x24\xc6\x36\x4f\x4c\x15\xa1\x3e\x85\x0f\x60\x06\x4b\x68\xf4\xa7\x54\x74\xe0\x47\x47\xaf\xa4\xb2\x96\xbb\xf4\x2e\x5d\x94\x03\x01\xf3\x4a\x76\x5f\x19\xaf\xbb\x54\x1c\xbf\xdf\x52\x87\xc6\xb4\x1b\x6b\x2b\xac\x05\x5a\xd8\xa0\x76\x9c\x58\xed\x44\x73\xbf\x9a\xd8\x90\x34\xa3\xcf\x6b\x35\xbe\xa1\x5c\x3a\x59\x2c\x64\x8a\x5e\x9d\x08\x9a\x0d\x3a\x72\xb8\x72\x8d\x7d\x70\xda\x72\x37\x1e\x51\xf6\x5c\xb1\x6b\x5d\x38\xd6\xbc\xb9\x09\x4f\x50\xa5\x74\x0e\xda\xeb\x69\xf1\x8b\x19\x90\xbb\x68\x0e\xe9\x92\x98\x51\x8a\x51\x92\x00\xfe\x99\x16\x75\xe8\x42\x5d\x8c\x0b\x90\xc0\xca\xa3\x0e\x41\x09\x25\x31\xfd\x3d\xd4\xf2\x3c\xb7\x07\x0a\xc5\x9e\x8c\xa5\x14\xaa\xb5\xe3\xf6\x88\x8c\xad\xdf\x44\x52\xfe\xfa\x0e\xf9\x4e\x0d\x35\x3d\xcb\x14\xa8\xa2\xb0\xbf\x99\xc2\xbe\x39\x1f\xd8\x9a\x11\xe8\x2b\x55\xfe\x32\x00\x91\xdc\xd3\x8e\x75\xf3\x53\xf3\xfc\x8f\x43\xc4\x9c\x16\x89\x19\x10\xb6\x0c\x3a\x78\x93\x08\x7b\x76\x2b\x16\xc8\x6d\xaf\x23\x70\xd7\x55\xbc\x9a\x8f\x3c\x77\x1d\x6c\x19\xe1\xc8\x1c\x61\xe4\x71\xff\x86\x55\xcd\x32\x7e\xc5\xcc\x89\x93\xb2\x28\x60\x00\x07\xea\xf6\x17\xfc\x45\xf8\x09\xf3\x52\x7c\x7f\xf4\x54\xbe\x22\x83\xda\x2d\x1f\x8a\x8a\x1a\x35\x27\x75\x17\xa9\xbd\xb9\x90\xc3\x62\xd9\x07\x67\x9f\x6e\xce\x4e\xfb\x77\x67\x03\x76\xbc\x91\x79\x5e\xef\xc1\xe2\x5a\xd9\xc4\xca\xd2\x34\x69\x58\x9f\x62\x08\x33\xb0\x96\x19\x58\x85\xfa\xf4\xf7\x74\xd0\x0a\x93\x8c\x40\x38\x69\xc8\x0d\xa2\x6d\xb9\x8b\x0e\xcd\x2d\x79\xcb\x84\xaa\x7e\x51\x08\x94\x62\x9c\x3f\x3c\x2f\x00\x13\xf8\x4e\xa8\xa2\x57\x55\x1b\x55\xc1\x0b\x5a\x5e\x29\xa0\xe5\x34\x4c\x58\xc8\x3f\x43\xd0\x0a\xad\x99\xac\xd4\xa2\x85\x2c\xa1\x2d\x5b\xf7\x30\x4d\x31\x58\xca\x67\x9e\x2e\x80\x1d\x05\x1e\x87\x71\x0c\x13\xdb\xed\x15\x34\xc5\x0d\xe8\x39\xf0\x6b\x16\x16\xad\x8e\x3f\x86\x71\x34\xe1\xef\x38\x09\xf9\x61\x87\xbf\x63\x4f\x1f\x55\xe5\xac\x3f\xec\x28\xc5\xbf\xa6\xc3\x65\x64\x7f\x55\xbf\x31\x3c\x44\x19\x01\x4c\xe9\xf6\x91\x4a\x20\x63\x58\xd5\xb1\xa4\x42\x7f\xb5\x69\xad\xa1\x55\x51\x97\xa8\xa2\xa7\x47\x1c\x6f\xd8\x71\x89\xd6\x45\x2b\x6c\x3b\x6e\x82\x81\x55\xf3\x62\x01\xca\xd1\xa9\xac\xc0\x01\x77\xfb\xc1\x0c\x03\x87\x59\x98\xa9\x6d\x8d\x4d\x01\xd4\xa5\x2d\x26\xbd\x50\xe9\xe0\xd1\xaf\xaf\x4e\x25\xdc\xc1\x77\x52\x11\x7b\x5f\x59\x63\x75\x55\x66\xfe\xe2\xb1\x28\x9e\xbd\x1f\x97\xe3\xf6\x37\xe0\xd4\x8f\xe3\x62\x1d\x22\x82\xb3\x52\x99\xa9\x14\x35\xb5\xda\x8e\x2f\x57\xce\xca\x0c\x0e\x48\x47\xc6\x8e\xaf\xf6\xb3\x2b\xa3\xe4\x1d\xa9\x99\x94\x43\x18\x45\xbc\x29\x0f\x58\xac\xce\xe3\xe6\x0d\x59\xb9\xd2\x56\x65\x99\x99\xca\x1f\x6d\xd5\xd7\x14\x99\x06\x3c\x86\xf1\x32\x24\x40\xfb\x91\x8d\xc3\x05\xdc\xc2\x5f\x97\xc0\xde\x32\x91\xcf\x03\x8a\x51\x10\x04\x52\xdd\x3a\xc9\x17\x2d\xf5\xda\x17\xaf\x5b\xc8\xe5\x4b\x3d\xa2\xf0\x7a\x18\x17\x11\x4d\xe3\x3c\x71\x4a\x2a\xa8\xf6\x43\x6e\xb1\x0b\xd7\x07\xda\xf1\x5c\xb7\xbb\xb3\x13\xf2\xdd\x6a\xf6\x3e\x15\xf9\x6e\x38\xd1\x5b\x3d\x2b\xe2\x2f\x00\x91\x96\x16\xd7\xe7\x55\x2c\x2f\x18\x36\xcf\x37\x78\xb6\x11\xcb\xae\x00\xc6\x51\x07\x96\x32\x93\xf1\xda\x34\x5f\x15\x6e\x05\xf6\xda\x48\xdb\xb2\x95\x1e\xbc\xf0\x8a\xba\x3b\x3e\xfa\x06\xcf\x5d\x61\x6e\xe6\xa4\x10\x29\x6b\xa4\xfb\x53\x8f\x8f\xbd\x15\x88\x97\xa4\x1c\x1f\xfb\x2b\xe5\x48\x3d\x3e\x6e\xae\x94\x97\xf5\xf8\xb8\x95\xfb\xa2\xc5\x2b\x3c\xb8\xfb\xd9\x3a\xec\xb2\x43\x9c\xb2\x3e\xaa\xc1\xd2\x41\x64\x43\xf8\xfe\x56\xbc\x55\x44\x4b\x1b\x9c\x5d\x6a\x1e\x60\xeb\x68\x4b\x71\xee\x48\xff\x3f\xed\x72\x25\x1f\xee\xf2\x37\xfa\xed\x78\x7a\x7d\x7e\xab\xab\xe5\x3b\xbd\xd9\x94\xaf\x79\xd0\x35\x5b\xda\x94\xb1\x75\xd0\xc5\x27\x4e\x09\x2b\xbf\x67\xd7\x1d\x5c\xf7\xdd\xba\x3d\x10\xc3\x1e\x98\xf0\xd6\xc0\xa6\xfc\xcb\x20\xdc\x13\xa0\xbf\xd3\xe6\x24\xcf\x7b\x6f\x77\x8d\x82\x9d\x81\x2d\x5d\x0a\xa5\xb7\x8f\x9d\x14\x11\xb9\x1e\xd8\xdd\x12\x72\x03\xdb\xe8\xc1\xd1\x6b\x3d\x38\xdd\xd0\x83\xd3\x37\xf6\x60\x5a\xec\xc1\xe9\xaf\xe9\xc1\x69\x45\x0f\x4e\xcd\x1e\x1c\xbe\xd6\x83\xfe\x86\x1e\xf4\xf3\x1e\x98\x18\xf6\x7f\x0d\x86\xfd\x0a\x0c\xfb\x06\x86\x6d\xef\x35\x0c\xdf\x6f\xc0\xf0\xfd\x26\x0c\xdf\xff\x1a\x0c\xdf\x57\x60\xf8\xde\xc4\xb0\xd3\xcd\xa7\xd9\x2a\x9f\xe7\x4c\x00\x16\x4a\x36\xff\xc5\x76\x8d\xb2\xfb\xa2\x76\xac\x0d\xfa\xb0\x95\x77\xee\x5f\x0c\x06\x68\xfd\x8b\x39\x7a\xfb\xdd\x32\xc6\x3a\x69\x3e\xd8\x6f\xee\xe7\x87\x8a\x7e\x7e\x30\x5b\xeb\xbc\xd2\xda\xf9\xdb\x5b\x3b\xaf\x68\xed\xdc\x6c\xad\xa5\x51\xf5\x44\x5f\x78\x82\x5d\xc3\x21\x53\xae\xa8\x53\xa0\x52\x7b\x63\x4d\x5a\x3d\xe5\x6a\xf6\xcd\x6a\x7c\xbf\x59\x35\x56\x5a\xff\x3f\xe9\x63\x75\xfd\xa9\x50\xba\xf5\x4a\xe9\x7f\x32\x4a\xff\x53\xa1\x74\xfb\x95\xd2\x37\x46\xe9\x9b\x42\xe9\xce\x2b\xa5\x6f\x8d\xd2\xb7\x85\xd2\x95\x3c\xea\x77\x36\x31\xa9\xdf\x29\x12\xee\xa0\xb2\x82\x83\x8d\x15\x1c\x14\x2b\x38\xac\xac\xe0\x70\x63\x05\x87\xc5\x0a\x8e\x2a\x2b\x38\xda\x58\xc1\x51\xa1\x82\xa6\x57\x55\x41\xd3\xdb\x54\x41\xd3\x2b\x56\xe0\x57\x56\xe0\x6f\xac\xc0\x2f\x56\x50\xc9\x7d\xcd\x8d\xa2\xa2\xd9\x2a\x56\x50\xc9\x80\xcd\xf6\xc6\x0a\xda\xaa\x02\x11\xf6\xd5\xdd\xd1\x64\x9b\x29\xf2\xb8\x9a\xb3\xca\xf5\x9a\x93\xf2\xb2\xb6\x5a\xed\xe8\x19\xb5\x9a\x36\x97\xa9\xd5\x54\x19\xf6\xa8\xde\x34\xa7\x0a\xd5\x6a\xfb\x1d\xfd\xfd\x67\xc6\xab\x04\x99\x59\xd1\x55\xb0\x77\xc1\x7e\x47\x1c\x44\xa3\x3f\x8f\x83\x23\xaf\x28\x9a\x2a\x22\x0b\x72\xc5\xac\xde\x6a\xba\x5d\xff\xa8\xa9\xb7\x57\x92\x6d\x7f\xb6\xf5\x06\xdb\x87\x46\x83\x9d\x83\xf2\x9a\x94\xd7\xbf\xdb\x3e\x74\xdf\x84\xee\x56\x2c\x77\xf7\xdb\x6e\xb7\x55\x85\x64\x55\x31\xcf\x68\xb0\xe3\x9b\xe8\x76\xde\xd4\x60\xc7\xaf\x37\x0f\xdc\x6e\x67\xff\x8d\x6d\xfa\x34\x77\xd3\x3f\x7a\x63\x76\x96\xbb\xe9\xbd\x35\xf7\x21\xcd\xed\x9b\x3c\xe1\x6c\xc9\x7f\xe4\xaa\xd8\x1f\x52\xf2\xe4\x3c\x5c\xb2\x17\xc3\x96\x7c\x05\xe2\x85\xb1\x90\x47\xde\x66\x20\xac\x36\xf9\xf6\xd8\xaa\x77\x71\x3c\x9c\x8a\x9c\x15\x7b\xa6\x5a\x39\xf9\x36\x06\xd1\x0a\x8f\x27\x32\x5b\x2a\x5b\xcb\xec\xe4\x62\xc5\x1e\xe3\x3f\xc0\x68\x56\xfb\xdd\x08\x18\x46\xcc\x6a\x21\x41\xfe\x43\x45\x6b\x89\x77\x6d\xf3\xa8\x18\x96\x45\x8c\x89\x0a\xdd\xe2\xe3\xca\xe0\xab\x95\x78\x8f\xb5\xac\x52\x35\x4c\x64\x16\x31\x52\x3b\xce\x0e\x59\xad\x9c\xed\xf2\xc4\xad\xd5\x72\x73\xd4\x65\xa1\x37\x55\x0c\x40\x8a\xc6\xa6\x38\x1a\x4a\x2a\xcd\xd0\xb7\x98\xa0\x2e\x35\x38\x8b\x63\x9f\x4c\x2a\x2c\x4b\xa2\xde\xb7\xc0\xb6\xbe\x57\xab\x4d\x7b\x17\xb9\x79\xcb\x32\x52\x43\x5d\xbe\xd5\x79\x8d\xa4\x9b\x9f\xa5\xd4\x8b\x2e\xd7\x7b\x30\xfd\x30\x72\x10\xf3\xf7\x19\xe9\x67\xd4\x39\x36\xea\x2c\x1a\x79\x8e\xa1\x71\x9f\xe2\x09\x60\xf6\xba\xaa\xc0\x7e\x9a\x45\x04\x6c\x54\x8d\x28\x6c\x2b\x49\x31\x95\x87\xd8\xd4\xeb\x93\xcc\x38\xe1\x82\xe3\x2e\x4e\x1f\xaa\x30\x67\x6f\x54\x92\x4e\x05\x7e\x54\xb1\x21\x5c\xec\xd5\xa9\xb4\x22\x15\x61\xcc\xde\xfb\xaa\x8d\x4c\x1c\x8d\x81\xbf\x76\x48\xbd\x5b\x5e\xb8\x49\x2b\x6a\x11\x61\x66\x55\x60\x04\x45\xf4\x01\x63\x33\xae\xe0\xb7\x77\x80\x55\xf5\x77\xe8\x02\xab\xe7\x57\x75\x02\x43\x16\xfd\x0d\x2a\x5e\x1f\x14\x65\x57\xe1\x15\x73\x82\x8a\x47\xe2\xba\x2f\x84\x6f\xf0\xaa\xf7\x22\x39\xfa\x6b\x81\x5c\xb5\x38\x57\x41\x11\x11\x2f\x23\xe0\x21\x7a\x28\xa1\xe2\x46\xb9\xcd\xf8\x9b\xda\x89\xfc\xc9\x5f\x2b\xc4\xf6\xb4\x7d\x16\x6b\x49\xe7\x00\x7b\x24\xf4\xd1\x49\xf3\x52\xee\x31\xb0\x28\x91\x4c\xbc\xab\x5d\xbe\x86\xda\xb6\x6c\xe4\x8f\x50\x54\x8e\x4f\xe8\x45\xbb\xbb\x3d\x56\x46\x0f\xd0\x78\x00\xe2\x44\xea\xad\x6e\x60\xbc\xec\x58\xc0\xd8\xc6\x6a\x96\x1f\x96\xe1\x6f\x99\x2f\xbd\xa6\x38\x47\x0d\xa5\x79\x77\x50\x12\x78\x28\x3d\x26\x2e\x7f\x79\x9b\x3e\x0f\x7b\x69\xbd\x7e\x4c\x8c\x16\x05\x1a\xa4\x9e\x7b\x18\x8d\xc0\x86\x77\x5e\xee\xc5\xce\xb3\x97\xe2\x38\x9e\xeb\x49\xdd\x3f\x31\x03\x22\x12\x19\x1d\xc2\x77\xec\xbd\x42\x18\x89\x1e\x93\x51\xfd\x92\xe7\xe2\xc9\x67\x89\xab\xa8\x48\x3f\x56\xc4\xd6\x09\x46\xe9\x74\x77\xd7\x7a\x47\x7a\x6e\xf5\x0b\x99\x2a\xba\x69\x66\x28\xf5\xcb\x37\xa2\x4c\xd2\x85\xe3\x76\xf5\x58\x0d\xbd\x8b\xf5\xfa\x06\x94\xdf\xc9\x37\x65\xe1\xc0\x04\x8b\x9d\x5d\xd7\xa5\xd3\x27\x4a\x96\xd0\xc3\x9b\x02\xa8\xb0\x78\x43\x13\xbb\x51\x40\xac\xeb\xcf\xef\x02\xa2\x46\x2b\x20\xbb\xbe\x8b\x12\xf5\xbb\x1e\xc8\xb3\x95\xdf\xdf\xe5\x0b\xff\xf7\x00\xd4\x61\x92\x57\xde\xe0\xaf\xde\xdc\xbf\xf9\xf4\xd3\xb6\xa3\x2a\xa5\x37\xe8\xbf\x72\xd7\x81\xb6\x44\x72\x59\xa1\x1f\xf7\x63\xab\x2f\xbb\xdf\x03\xf8\xa5\x1e\x64\xed\xae\xd7\x55\xc7\x26\xd8\xd6\xb1\xb1\x44\xc2\xb1\x8e\x2b\xdb\x33\x96\xd4\x30\x36\xb4\xa9\x1a\xf2\x4e\x4f\x3e\x4b\x26\x85\x8c\x67\xc9\x24\x28\x6e\x6e\xce\xc3\xef\x85\x36\x55\xf0\x9a\x56\xb9\x57\xbd\x51\xce\x29\x56\xd2\xef\xc4\x0c\x37\xba\x41\xb9\x5b\x04\x09\x73\x96\x24\xe1\x3d\x55\xf2\xd8\x0b\xc7\xf9\x62\x88\xe1\x91\x96\xa3\xba\x96\x60\x52\x9a\x27\x78\x59\x23\x08\x3c\xb7\x27\x08\x41\xc9\xd8\x83\x7a\x50\x94\xb0\xc6\x4b\xac\x5c\x57\x6f\x23\xd8\xf1\x4c\x1c\x65\x53\x95\x18\xca\xb8\x75\xce\x70\x6e\x6f\x27\xaf\x6a\x77\x17\x46\xb5\x1a\xbc\xf3\x7a\x6a\xe7\x01\xde\xe5\x32\xf6\x44\x3d\xed\xfa\x5d\x38\xf6\x4e\xbc\x6e\x41\x0b\x49\xe0\x3b\xf9\x2d\x0d\xd7\xeb\xac\x61\x8d\x02\xbf\x11\x01\xf6\x92\xd3\x9b\xe8\x61\x56\x54\xbe\xb5\x88\x87\x5c\x98\xeb\xf2\x84\xc9\x73\x9c\x07\x83\x44\x62\x22\xa8\xd7\xa6\x3a\xae\x58\x4c\x0a\x23\x55\x77\x31\x7b\xf7\xa0\x08\xad\xd2\x23\x24\xca\xaa\x42\x98\xc1\x25\x4c\x7f\x33\x72\xaf\x20\x46\x71\x87\x7a\xbd\x07\x74\x65\x7b\x33\x56\x6c\x97\xaf\xa0\xc0\x98\xc1\x74\xab\x55\xfe\x3b\xdf\x46\x05\xb6\xdc\x49\xe9\x52\x8d\x38\x2f\x62\x44\xd4\x89\x10\x48\x5f\x13\xcd\xea\x0e\x14\xe3\x9a\x94\xc0\xeb\xe5\x91\x39\xbe\xa4\x3a\x3b\xbc\x0a\x5a\xf8\xe7\x2b\xb7\x10\x6c\x13\x82\x9b\xa3\xed\xaa\xc6\x2d\x4a\xa0\x6c\x22\xe6\x0c\xe7\x78\xa8\x28\x7c\x14\x36\x95\xe3\x3d\x14\x92\x42\x1b\xc8\x6e\xb5\xee\x32\x1c\xb1\x97\xae\xb2\x37\x77\xd4\x6a\x4e\xd4\x88\xb2\x9f\x71\xc8\xb6\xf3\x88\xdb\x4b\x35\x76\x4c\xeb\x75\x37\x1a\xa6\xa3\x00\xcb\xf9\x13\x15\x06\x7b\x56\x79\x2f\xd7\xc9\x26\x9e\xea\x56\xa9\x53\x85\xa0\xaa\xac\xaa\x4a\xf6\xd2\x7c\x3e\xc3\xc5\x7b\x59\xeb\xb6\xed\x36\xd8\x6b\x2e\xae\xa7\xa5\x20\x94\x52\xe4\xb3\x24\xb0\x8c\x5c\xd3\xdf\xa3\xaa\x42\x37\xdf\xbc\xe5\xaa\x0d\xb7\xb8\xa1\xa7\xb8\x55\xc8\x11\xb8\x8b\x48\x5c\x35\xca\xac\x24\xa1\x40\xbb\x34\xca\xac\x4b\xfa\xfc\xa9\x0b\xbe\x7f\x57\x5a\xb6\xd5\xf2\x2f\x23\x52\x39\xd0\x71\x73\x5d\x40\x8d\xa5\xe8\xca\xf7\xdd\xdd\xa2\xaa\xfe\x08\xec\x85\xbb\x85\x56\xc5\xa4\x29\x46\xc6\x9e\xe8\x7a\x14\xd3\x68\xe4\x6b\x58\xa4\x26\x92\x93\x52\x9f\x22\xca\xde\xcc\x67\xfa\x86\xfc\xf9\x9c\xdb\xf1\xfe\x4e\xc1\xb0\x62\x22\x3c\x97\xfb\x6e\xb8\x55\x0a\x2c\xc2\x95\x2f\xa5\x69\x1b\x30\xa6\xa4\xe7\xf3\x44\x0b\xf7\xab\x74\x88\xc8\x60\xe8\x8a\xf7\x00\xf6\xa2\xfc\xb6\x33\xa3\x0d\xf5\xea\xc0\xca\x08\x29\xb4\xa9\xbe\x80\xbc\xae\xad\x6d\x7e\xc3\xa7\x41\x1e\xaa\x23\x54\xd0\x87\x2d\xb1\x9c\x99\xca\xba\xc2\x3c\x24\xe3\x19\xb7\xdd\x63\x24\x2f\xaa\xa0\x4a\x49\x7e\xdd\x45\x21\xc0\x87\x5b\x6e\x6a\xa2\xb3\x37\x9a\x2e\xd2\x27\xa7\xe5\xfd\xe8\xc0\x6e\xe4\xa2\xa6\x5b\x57\x89\x9d\xa3\x1f\x1d\xb2\x9b\x9a\x89\xbe\xff\xa3\x83\x77\x33\x9a\x48\x91\xd1\xdf\x59\x1e\x98\xaf\x30\x47\x51\x23\x4a\x66\x80\x23\x92\x05\x09\x8a\x1a\x69\x12\xa4\xf4\xcf\x74\x1a\x64\x48\x5e\x46\xb7\xe1\xf8\x80\xfe\x26\xe6\xd5\x4a\x3f\xf6\x88\xd9\xb1\x8b\x01\x77\x78\xb3\xd7\x28\x66\x24\x5d\x7c\xc2\xe9\x22\x7c\x08\xc5\x91\xe4\x1d\x7f\x8d\x40\x5e\x72\x18\x44\xeb\xd2\xcb\x97\x8d\x2b\xf9\x7e\xd3\x0b\xe5\xa3\x0d\xa7\x68\xc5\xb0\xc9\xc3\x21\xfa\x8f\xd5\xea\x65\xbd\xd6\x3a\xa2\x0e\x87\x17\xcf\x50\xe8\x85\x98\xaf\xd1\xfc\xbd\x5a\xc9\xd7\xc0\xe4\x69\xea\xd4\x27\x32\x6a\x9e\x4e\x37\xd0\x37\x2f\xe9\x16\xae\x0a\xca\x21\x28\x0a\xb0\x61\x6f\x8b\x5b\x2a\xa9\x98\x5a\xad\xd8\x1d\x95\xb1\x38\x98\xaf\x1f\x4d\x65\xa1\x16\x2a\xfa\x36\x42\x7e\x01\x29\x6e\x7a\xf5\xe3\x58\x9e\xea\xaf\x88\xee\xce\x91\xa8\xd5\x26\x10\x03\x11\x31\xa2\x79\x7a\xa1\xa3\x45\x4e\x2f\x5c\xd4\xc3\x47\xec\x6d\x5e\x19\x3d\x2e\x28\x9d\x4e\xd9\xe5\x96\x88\x68\x1e\x19\x94\x1f\x45\xc5\x39\x05\x88\x7a\x09\x02\x2d\x60\xa2\x47\x97\xa0\x92\x5a\xcd\xfd\x8b\xec\xf5\xec\x7e\x0f\x1f\x2b\x0c\x24\xc9\xd9\x31\x99\x21\xde\xf5\x47\x41\x7e\xa5\x22\x1e\xf5\xb6\x0c\x61\x54\x1a\x42\xfe\xbe\xf7\x48\xd6\x29\x55\x0c\xbd\x37\x45\xa6\x89\x2b\x87\x45\xa7\x8a\xc9\x8a\x6b\x04\x6b\x16\x42\x6d\x88\x82\xbf\xfb\xa4\x33\x6e\x4f\x85\xc6\xd5\xe7\xcb\xc0\xfe\xe2\xd9\x08\x1a\xb7\xd7\x1f\x02\xfb\xff\xc3\x9e\xee\xfe\x39\xb0\xff\xbf\xf4\xe9\x8c\x3e\xfd\xff\xd8\xd3\xf5\x5d\x60\xff\xff\xd9\xd3\xd5\x3f\x05\xf6\x7f\x42\x9f\xfa\xa7\x7f\x08\xec\xff\x94\x3e\xbd\x3f\xbb\x0c\xec\xff\x8c\x3d\xdd\x06\xf6\x97\x7b\xfa\xf4\xe1\x2e\xb0\xbf\xb0\x97\x05\x5e\x9e\x07\xf6\x97\x84\x3e\xfd\x91\xa6\x3d\xd2\xa7\x73\x9a\x36\xa5\x4f\xa7\x37\x81\xfd\x05\x73\x0c\x02\xfb\x3f\x67\x0f\x17\x81\xfd\x5f\xd0\x87\xc1\xe5\x59\x60\xff\x97\xec\xe9\xd4\x0f\xec\xff\x8a\x3f\x35\x03\xfb\xbf\xe6\x4f\xad\xc0\xfe\x6f\xf8\x53\x3b\xb0\xff\x5b\xfa\x74\xd5\xff\x43\x60\xff\x77\xac\x92\x5f\xae\x02\xfb\xbf\xe7\xbd\x78\x1f\xd8\xff\x03\x6b\xab\x7f\x15\xd8\xff\x23\x4b\xfb\x18\xd8\xff\x13\xcb\xf6\xf9\x7d\x60\xff\xcf\x2c\xe9\xf6\x34\xb0\xff\x17\x86\xdc\x6d\x60\xff\xaf\xf4\xe1\xa7\xdb\xc0\xfe\xdf\xe8\xc3\xcd\x6d\x60\xff\xef\xf4\xe1\xf3\x6d\x60\xff\x1f\xac\xdc\xa7\x80\x6a\x82\xd0\x18\xd0\xbe\xff\x5f\xf6\xda\x21\x8d\x53\x8f\xc5\x42\x9c\x7a\xc1\xcb\x9a\x2a\x57\x5b\x87\x4e\xdc\x5f\x14\x47\xf7\xe1\x62\x91\x6d\xbb\xc1\x48\x64\x31\xef\x30\x7a\x7f\x3b\xd8\x6d\xed\x9e\xc6\xe1\x32\x03\xe3\x32\x23\xbf\x71\xe0\x35\x3c\x7e\x9b\x91\x28\x69\xde\x67\xb4\xb7\x57\xba\x7e\xc8\xdb\xdf\x6d\x7a\xde\x11\xbb\x80\xe6\x74\x86\xd3\x79\xb4\x9c\x5b\xd7\xb7\x56\x7f\x49\x66\x29\xce\x1a\x56\x3f\x8e\xc5\xed\x3b\x16\x55\x40\xf0\x23\x4c\x1a\xbc\x2e\x51\xe3\x0d\xa8\xcb\x76\xd8\x65\x5c\xc9\x84\x85\x6c\x47\x89\xc5\x6f\x3f\x62\x29\xf7\x51\x12\xe2\x67\x6b\x9a\xe2\x79\x86\xf8\x4b\x38\x52\x2c\x2f\xfb\x11\x15\xb1\xbb\x7c\x44\x54\x05\xb2\x42\x0c\xe2\xfe\x1d\x02\x13\x6b\x81\xd3\xc7\x68\x02\x13\x8b\xcc\x42\xb2\xf1\x3a\x1d\x5a\x48\x56\x06\xa4\x6b\xa0\x69\x59\xd6\x8f\x05\x5c\xd9\x2d\x38\x02\xc9\x71\x3a\x01\x6b\xbe\xcc\x88\x85\x81\x84\xe2\xd2\xa2\xc2\x8d\x3c\xa2\x26\x7e\xf9\x0e\xe2\x97\xf2\xd0\xc9\xce\x6e\x58\xd2\x90\x60\x17\xf6\xe8\x18\x4e\xa2\x6c\x1c\x87\xd1\x1c\x70\x63\x1b\x36\x51\xa2\xd3\x49\x62\xb3\xc0\xe9\x64\x39\x86\x1c\x21\x51\x45\xf1\xa2\xa0\xdf\x86\x90\xa8\x4c\x74\xd8\xbc\xdd\x49\x5c\x96\x94\x92\x19\x60\x6b\x1e\x12\xc0\x51\x18\x67\xf9\x58\xb0\x61\x24\x33\x89\x90\xde\x19\xa3\x9f\x57\x10\xb1\x2a\xd8\x4b\xef\xc3\x39\xbb\x91\xea\xa7\x34\x7d\x88\xc1\xba\x48\xc6\x0d\x2b\x49\x73\x18\x1b\x93\x88\x5f\xf5\xc4\x3a\x99\xf0\x3a\x53\x9c\x59\xf3\xf0\xd9\xba\x67\x07\x02\xd8\x35\x4b\x90\x4c\x52\x9c\x01\x65\xa4\x05\x4e\xe7\x29\x01\x8b\xd3\x8a\x64\xd6\x04\x70\xf4\x08\x13\x6b\x8a\xd3\xb9\xa8\x8a\x18\xd7\x5a\xc9\x7b\xa6\xb2\x05\x8c\x29\xd7\x59\x0b\x1c\x51\x8e\xc4\x94\xdf\x12\xed\xae\x25\x93\xd9\xef\x3e\x5c\xdc\x56\xdf\x8f\xf4\xfe\x17\x76\xd5\x4e\xf9\x2e\xa1\xfe\xd5\x80\xdf\xff\x73\xf1\xfe\xf3\xdd\xf5\xcd\xad\xa8\x49\xdc\xa7\xc4\xc0\xfd\xab\x5f\xb4\x8b\x93\xe4\xad\x49\xda\x9d\x48\xda\x05\x4a\x48\xde\xa0\x24\xea\xc9\xef\x51\x42\x0c\x81\x72\xe1\x8a\x0b\x95\x58\xab\xda\x85\x4a\xa2\xae\xea\x6b\x95\x6e\xce\xac\xc1\xc5\x2d\xbb\x00\xe9\x6c\xb0\xe1\x46\xa5\xbc\xdf\xa2\xaa\xeb\x9f\xaf\xce\x6e\xf8\xe5\x4a\x79\xd7\x2b\xee\x55\x1a\x5c\xdc\x9c\x9d\xde\xd1\xfe\xe5\x4f\xa7\x17\x83\xb3\xab\xbb\xfe\x25\x12\x75\xdd\x7e\x3a\x3b\xbd\xe8\x5f\x22\xeb\xec\x9f\xcf\x3e\x7e\xba\xec\xdf\xfc\x82\x44\xcd\xb7\x67\xff\xf4\xf9\xec\xea\xee\xa2\x7f\xa9\x6e\x66\x72\xde\x44\xa9\x4f\x37\xd7\xa7\x9f\x6f\xd8\x1d\x51\x94\x3c\xb7\x9f\xdf\xdf\xde\x5d\xdc\x7d\xbe\x3b\xb3\x7e\xba\xbe\x1e\xb0\x51\xb8\x3d\xbb\xf9\xe3\xc5\xe9\xd9\x6d\xcf\xba\xbc\xbe\x65\x44\xfc\x7c\x7b\x26\x51\x1a\xf4\xef\xfa\x0c\x89\x4f\x37\xd7\xe7\x17\x77\xb7\x3d\xfa\xfc\xfe\xf3\xed\x05\xa3\xe8\xc5\xd5\xdd\xd9\xcd\xcd\xe7\x4f\x77\x17\xd7\x57\xae\xf5\xe1\xfa\xe7\xb3\x3f\x9e\xdd\x58\xa7\xfd\xcf\xb7\x67\x03\x46\xfa\xeb\x2b\xda\x79\xc5\x53\x67\xd7\x37\xec\x1a\xad\xea\x9b\xa4\xf2\xcb\xa3\x6e\xef\x6e\x2e\x4e\xef\xf4\x6c\xd7\x37\xec\x46\x29\x51\x53\xde\x77\xeb\xea\xec\xa7\xcb\x8b\x9f\xce\xae\x4e\xcf\x8c\xdb\xa6\x5c\x75\xdb\x14\xbb\xa2\xea\x17\xeb\xe7\xfe\x2f\xf2\xbe\x29\x71\x93\x94\x1c\xc0\x73\x93\xd9\x11\x1b\x72\xeb\xe2\xdc\xea\x0f\xfe\x78\x41\x3b\x22\x8a\x7c\xba\xbe\xbd\xbd\x10\x6c\xc5\x48\x79\xfa\x41\x0c\x06\xbf\x6e\x2a\x9a\x3a\xea\x82\x8f\xa8\x7c\xff\x06\x7f\x65\x94\x65\xc7\xd1\xbd\x6d\xf1\xb7\xd3\x5a\x61\x8c\x21\x9c\x3c\x5b\xf0\x3d\xca\x48\xd6\xf8\x41\x5a\x0c\x2f\xeb\x5e\xd4\xc0\xcb\x84\x44\x73\x18\xc0\x02\x92\x09\x24\xe3\x08\xb2\xaf\xfc\xb2\x98\x28\x89\x88\x3c\xd7\x91\x7d\xa5\x9a\x61\xd4\xc0\x64\x02\x8b\xaa\x63\xc9\xf8\xf9\xa5\x80\xcb\x7a\x1c\x8a\xcb\x3e\xe4\x4d\x92\x19\x09\xc7\xdf\x98\x22\x4e\x1c\xaa\xc7\xb8\x3d\x12\xe4\x87\x01\x5b\x27\x78\xd8\x1c\x35\x30\x2c\xe2\x70\x0c\xce\xde\x9f\xbe\x64\x3f\x86\xe4\x4b\x56\xdf\x43\xb6\xed\x76\xf1\xd0\x2f\x00\x1f\x78\x57\xe9\x52\xf3\x1f\x58\x9e\xb5\xd4\x3b\xb9\x96\x59\xd2\x60\xa9\xb6\xc9\x90\xc9\x34\x0d\x36\x65\x1a\xac\x71\xcb\x39\xd3\xcb\x5d\xd1\x59\xa1\x9a\x46\x28\xe3\x7b\x4f\xe2\xfd\x5b\xdc\xae\xae\xa0\xdd\x30\x1b\xf5\x92\xd5\xca\xd9\x9e\x25\x18\x8e\x5c\x94\xe4\xef\xc6\xa1\xf4\x86\x24\x5b\x62\xb8\xa9\x1a\x8f\xd2\x5b\xaf\x76\x72\x7f\x26\xe1\x77\xb2\x54\x35\xa4\xd9\x52\xd5\x19\x86\x84\xaa\xe4\x44\x8e\x49\xc3\x76\x51\x16\xf0\x1b\xc1\x56\xab\x0c\xe2\x29\x4a\x02\xaf\x97\x1c\xa7\x92\x84\x89\xb8\xea\x72\xc7\x49\x87\xc9\x88\x2a\x25\x6e\xe1\xb0\xda\x0f\x1f\xa9\xa0\x4f\x1e\x2c\xfb\x87\x3a\xa9\xff\x60\xb3\xbb\x56\x00\xe8\x02\x77\xff\xfc\x03\x7b\xe5\x52\xb0\xe3\x8b\x38\xf2\x2c\xc8\x86\xb4\xa2\xd1\x9a\xd6\x09\xe5\xb3\x4c\xe7\x61\x14\xc3\xc4\x12\xb8\x5b\x13\x89\xfc\xb3\xc5\xdf\x6c\xc9\x6c\x7e\x79\xd4\xe6\x22\x89\x8a\xde\x70\xe9\xb8\x2c\x30\xb3\xbc\x46\x0a\x91\x91\x8b\x88\x64\xf6\x4a\xcf\x6a\xb1\x28\x4a\x0b\xee\x6d\xc9\xc1\x92\xb5\x70\x7e\x8a\xb3\x56\x23\x8e\x4d\x8b\x77\x2d\xbb\x9e\x0d\xbd\x91\x8b\xb2\xa1\x3f\x72\xa2\xc6\xb4\x11\xc6\x21\x9e\x3b\xa9\x78\xa5\x12\xb5\xd4\xd7\x94\x11\x6d\x59\xb9\xf6\x4e\xe9\x32\x59\x24\x8d\x53\x6c\x45\x09\x3b\xd5\xa5\x5e\xdb\xd6\xb5\xd2\x84\x12\xc2\x76\x7b\xdb\x58\xca\x71\xf5\x80\x8c\x14\x79\xee\x1a\x89\x58\x17\x6d\xef\x27\x9c\xb0\x3d\xad\xd5\xca\xd9\x08\xab\x24\xb8\x03\xe2\x94\xbf\x20\xcd\x71\xe0\x9d\x88\x8b\xce\x68\xb2\xdb\x75\xf2\x37\xda\xb1\x1d\x78\xdb\xb2\xd9\x9e\x9c\x76\x6a\x35\x20\x74\xba\x43\x48\x1c\xd8\x93\xe9\x75\x76\x42\x5e\x5d\x4b\x0f\x6e\x5d\xaf\xd5\x5d\xbb\x95\x7d\x38\x4b\x26\x1b\x7a\x70\x66\xc4\xd8\xfc\x1b\xe1\xaf\x57\x54\xd7\x3b\xe3\xb2\x6b\xa6\xc4\xf5\x69\x4c\x04\x8b\xcb\xd5\x30\x7c\x0d\x5e\x66\xf0\xdd\xdf\xef\xee\xfd\xce\x19\x86\xbb\x53\x6f\xf7\x68\xe4\x56\x3d\xed\x45\x68\x06\xdf\x9b\x6d\x3d\xe3\x4b\x73\xed\x6e\xfe\xb1\x17\x21\xfc\x70\xdf\xa5\xdc\x75\x03\x0f\x67\xdf\x17\x8e\xfd\xa7\xbd\xec\x47\xfc\x70\xbf\x97\xfd\xb8\xe7\xec\x65\x3f\x3a\x7b\x93\x17\x1f\xb5\xd6\xee\x5e\xf6\x23\x7a\xe5\xf7\x1e\xfd\xfa\xbd\x9d\x4b\xea\x2f\x7b\x7b\x0f\xc8\xfe\xf2\xc5\x76\x91\x1d\xd9\x2e\x6d\x2b\xac\x6a\x2c\xfc\x2d\xad\x39\x27\x5d\x91\x54\x77\x4e\xba\x7b\x8d\xbd\x49\xdd\x3d\xa1\x00\xf7\x2d\x78\x7c\xaf\xc4\xe3\xe4\xef\x8b\xc8\xc9\xab\x98\x7c\xf7\x7d\x3a\x00\x6c\x4d\xa3\x0f\xf9\xe8\xf8\xa8\xbd\x76\xbf\xec\xbd\x9a\x90\xfd\xf8\xfb\xbd\x08\x51\x7d\xbf\xbb\x37\x0c\x77\xff\x36\xa2\x5f\xde\xee\xd1\x97\x6c\x54\xdf\xd3\xf9\xe8\xe1\xfe\x2e\xfd\x67\xdf\x37\x7d\x3f\xc6\xbb\xeb\xa4\x3f\x30\x70\x9a\x9d\x83\x1f\xf9\x0d\x53\x11\x9d\x1b\xcd\x4e\xc7\x75\x8d\xfb\x0a\x11\x15\x63\x7f\x5b\x84\x13\x07\x50\xdb\x5d\xcb\x55\x9e\x39\x81\x1d\x9d\x77\x69\xbb\xdf\xf3\x3b\xd9\x4e\x6c\xda\x4b\xbb\x4e\x1c\xba\xa6\xbb\xec\xc5\x88\xf4\xb9\xa9\x3d\xb7\x46\x2e\x7b\x1f\x96\x86\xfc\x77\xdf\xff\x00\xdf\xef\xd2\xd3\xdb\xdb\xd2\x91\x58\xf1\xc2\xd1\xec\xe7\x88\xb0\x0b\x18\xd5\x69\x3a\x76\x9b\x65\x34\x65\x77\x2d\xf2\xdb\x04\x1d\xdf\x45\xbb\x7e\x10\x0c\x5b\x68\x1f\x1d\x21\xbf\x39\xca\xf7\x91\xe4\x74\x2f\x95\x16\x9d\xda\x1b\xfe\x49\x10\x7e\x2f\x32\x33\xc9\x03\xfc\xbc\x82\xbd\x16\x3f\xd8\xc5\x1b\xf4\x10\x71\xd9\x7b\xb1\xc4\x6f\xc2\x5e\xd5\xa4\xfd\xae\xd3\x14\xb5\xc7\x26\xfb\x1b\x52\x2d\xe4\x2e\xbd\xf9\xe9\x7d\xdf\x19\x62\x94\xa2\x6c\xd4\x98\x87\x0b\xa7\x6a\xcb\x2d\xbf\x37\x11\xd8\x3d\x89\xcd\x20\x20\x27\xd0\xf5\xd9\x9f\xe3\xe3\x76\x17\xde\xbd\x6b\xff\xe8\x90\xdd\xa6\xbb\xe6\x9b\x55\x39\x51\xcb\x14\x95\x9d\xa9\x18\x49\xce\xab\xb9\x53\xf2\xc4\x21\xf9\x7b\x0d\xfc\x5c\x7c\x19\xd8\x93\x4d\x78\xfb\xf9\x4b\x0c\x4e\xf2\x1e\xd4\x59\x1f\xba\xcd\x4a\x20\x03\x39\x2d\xfd\xed\x07\x0e\xd4\x73\x62\x36\x5d\x17\x31\xae\xc5\xe9\x32\x99\x38\x66\xc1\xbd\x66\xe7\x80\x4a\x59\x16\x33\x5d\xe0\x98\x93\x2a\x46\x73\xc0\x55\x37\x46\x36\xe8\xfc\x62\x3d\x12\x1b\x8e\x22\x79\x46\xf3\xde\xfc\xf4\x7e\xcb\xa4\x6a\x9b\xe8\x06\xa0\x84\x01\x46\xc5\xfd\x10\x75\xb5\xc4\xef\xec\x3a\xa9\x93\x3a\xae\xe3\x7a\x54\x8f\xd6\xae\xdb\x33\xc7\x25\xd5\x46\x81\xce\x28\xc7\xae\xab\xde\x92\xa1\x3f\xa2\x1d\xae\xdb\xc8\x32\x92\x9b\xd5\xc9\x2d\x91\xec\xda\x7c\xd6\x49\xd5\x47\x1b\x79\xb6\xfc\xb0\xab\x48\xcd\xc4\x66\x9b\xcd\x90\xb2\xfe\xac\x6e\x52\x0f\xbc\x5e\x96\xdf\x16\x99\xd5\xeb\x2e\x50\x0d\x98\x38\xf4\x8f\x08\xe8\x02\xfa\x33\x8f\xd3\x28\xca\xac\x0f\xfa\xf6\x64\x89\xbc\x9c\x2e\xaa\xc4\x18\x87\xe3\x6f\x7c\x98\x34\x0a\xfd\xce\xae\x2b\x79\xe5\x68\x5d\xf7\x46\x2e\xbb\x27\xde\xa0\x9d\x7b\x7c\x7c\xb8\x32\xc8\xe6\x1e\x1f\x7b\x05\xf1\xb7\x2f\x44\xd4\xf6\xee\xf3\x4b\x55\x41\xf7\xa2\xc3\x10\xf3\xee\xe3\xd7\xbb\xcf\x63\xab\xa2\xbf\x41\x71\x92\xaa\x8d\x9b\x8d\x7c\x2c\x19\xd3\x60\x62\x29\x8e\x1b\x04\x32\xda\xe6\x09\xbc\xca\xe0\xda\x54\xae\x14\x13\xc2\x80\x6b\x9d\xc0\xb0\x35\xea\xfa\xf2\x22\x7f\xba\x96\x3a\x76\x1d\x86\xde\x88\xf3\x1b\x0c\x7d\xf5\xd4\x14\x4f\x84\xf2\x9c\xd6\x56\x06\xa4\x1f\x2f\x66\xe1\x06\x55\x7c\xf3\x08\xd3\x25\x23\x20\xd5\xf2\x07\xeb\xbd\x99\x47\xdf\x4b\x2f\x19\xc8\xed\xc6\xaa\x26\x50\x56\x91\x4c\x5c\x61\x1a\xb5\x7b\xf5\x7a\xc2\x31\x0c\x83\x6c\x98\x8c\x76\xa9\x41\xd3\xa3\x5f\x41\x95\x20\xa2\x00\xb7\x1e\xfe\x88\xd5\xa6\x4d\x25\xce\xa9\x8e\xb3\x6c\xb5\xb8\xee\x99\x83\x4f\x09\x6e\xbb\x7c\x4f\x6d\xe3\x3a\x1c\xe6\x07\xcd\xa5\x9d\x82\xc8\x5a\x19\xb6\x9b\x0b\xf2\x18\xd5\x8a\xc2\xe2\x15\xb1\xb4\x1a\x01\x34\x42\x87\x1d\xfb\x34\x5d\xc6\x93\xe4\x07\x62\xb1\x6e\x50\x53\x08\x5c\x54\x58\xdc\x15\xeb\x55\xf2\x38\xb7\x70\x25\x31\xe8\x9f\xab\x70\x0e\xd9\x49\x45\xda\x10\x46\x5d\x71\xb3\xf2\x65\xfa\x04\xf8\x34\xcc\xc0\x71\xdd\xdf\x50\x41\xae\xaf\x65\x75\xaa\xb0\xd9\xbf\xb6\x96\x42\x17\x33\x92\x8e\xbf\xb1\xcd\xf1\x4f\x61\x0c\x84\x40\x50\x9e\xa9\x43\xfb\x77\x9e\x27\x2f\xc0\x3e\x3d\x55\x57\x61\x9f\x1d\xf5\xf9\x55\xd8\xa7\xed\xbe\x76\x15\x76\x3f\xbf\x0a\xfb\xbd\xba\x0a\xbb\x4f\x9f\x06\xad\xc1\xc1\xe9\xb9\x79\x15\xf6\xd9\xb9\xbc\x0a\xdb\xf3\xde\xf7\x7d\x96\x76\x7e\x7a\x76\xd4\x3e\x17\x57\x61\x9f\xf3\x12\xe7\x4d\xcf\x3b\x7d\x2f\xf2\x75\xde\x0f\x58\x59\xfa\xdf\x29\x4f\x93\x58\xd1\xbf\x9d\x73\xf9\x74\x78\x20\x9f\xfa\x2a\x6d\xa0\xd2\xce\x45\x5a\xe7\x5c\x96\xed\x9c\x77\x54\x9a\x2c\xdb\x39\xef\xab\xb4\x81\x4a\x93\x65\x0f\x0f\x64\xd9\xc3\x83\x8e\x4a\x93\x65\x0f\x0f\xfa\x2a\x6d\xa0\xd2\x64\xd9\xbe\x6a\xb7\xaf\xda\xed\xab\x76\xfb\xaa\xdd\xbe\x6a\xb7\xaf\xda\x1d\xa8\x76\x07\xaa\xdd\x81\x6a\x77\xa0\xda\x1d\xa8\x76\x07\xaa\xdd\x73\xd5\xee\xb9\x6a\xf7\x5c\xb5\x7b\xae\xda\x3d\x57\xed\x9e\x8b\x76\x29\xa5\x78\x59\xfa\xd4\x51\x69\xbc\x2c\x7d\xea\xab\xb4\x81\x4a\x93\x65\x25\x9d\xe9\x53\x47\xa5\xc9\xb2\x92\xce\xf4\x69\xa0\xd2\x64\x59\x49\x67\xfa\xd4\x51\x69\xb2\xac\xa4\x33\x7d\x1a\xa8\x34\x59\xb6\xaf\xda\xed\xab\x76\xfb\xaa\xdd\xbe\x6a\xb7\xaf\xda\xed\xab\x76\x07\xaa\xdd\x81\x6a\x77\xa0\xda\x1d\xa8\x76\x07\xaa\xdd\x81\x6a\xf7\x5c\xb5\x7b\xae\xda\x3d\x57\xed\x9e\xab\x76\xcf\x55\xbb\x92\xce\xb4\xb7\xbc\x2c\x7d\xea\xa8\x34\x5e\x96\x3e\xf5\x55\xda\x40\xa5\xc9\xb2\x92\xce\xf4\xa9\xa3\xd2\x64\x59\x49\x67\xfa\x34\x50\x69\xb2\xac\xa4\x33\x7d\xea\xa8\x34\x59\x56\xd2\x99\x3e\x0d\x54\x9a\x2c\xdb\x57\xed\xf6\x55\xbb\x7d\xd5\x6e\x5f\xb5\xdb\x57\xed\xf6\x55\xbb\x03\xd5\xee\x40\xb5\x3b\x50\xed\x0e\x54\xbb\x03\xd5\xee\x40\xb5\x7b\xae\xda\x3d\x57\xed\x9e\xab\x76\xcf\x55\xbb\xe7\xaa\x5d\x49\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\x3e\x57\xfc\x7c\xae\xf8\xf9\x5c\xf1\xf3\xb9\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\x3e\x57\xfc\x7c\xae\xf8\xf9\x5c\xf1\xf3\xb9\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\x3e\x57\xfc\x7c\xae\xf8\xf9\x5c\xf1\xf3\xb9\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\x3e\x57\xfc\x7c\xae\xf8\xf9\x5c\xf1\xf3\xb9\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\xf6\x0e\xe9\x3f\xfa\xe4\x37\xe9\x3f\xf6\x74\x4a\xff\xd1\xa7\xe6\x3e\xfd\x47\x9f\x5a\x1e\xfd\xc7\x9e\xfa\xf4\x1f\x7d\x6a\xb3\xff\xd8\xd3\x19\xfd\x47\x9f\x3a\x87\xf4\x1f\x7d\x62\x45\x59\x7d\xfb\xa7\xf4\x1f\x7d\x3a\xd8\xa7\xff\x98\xe4\x62\x0d\xb3\xa7\x3e\xfd\x47\x9f\x8e\xda\xf4\x1f\x7b\x3a\xa3\xff\xd8\xcc\x63\x60\xfa\xf4\xbe\x49\xff\xb1\xa7\x53\xfa\x8f\x3e\xb1\x8a\x59\x7d\x03\x8f\xfe\x63\x4f\x7d\xfa\x8f\x3e\x31\xa4\x58\x7d\x4c\xbf\x3a\xb3\x47\x9a\x07\x65\x5c\xa9\x2a\x96\xb4\x48\x54\xa1\x7d\x06\x2f\x61\x1c\x8d\xe1\x3e\x5e\x42\x97\xb9\x06\x9a\x6d\x0f\x59\xcd\xf6\x21\xb2\x9a\x9d\x8e\x6b\xa3\x30\x21\xd1\x5f\x97\xc0\x4e\x66\x8a\x1c\x1d\x9a\xa3\xd5\x41\x56\xd3\x2f\xe6\xf0\x65\x16\x0a\x6d\x1d\xd1\x2c\x47\x85\x2c\x4d\x91\xa5\x45\x9b\x68\xb6\x90\xd5\xf4\xda\x85\x2c\x2d\x91\xc5\xeb\x20\xcb\x3f\x6a\x22\xcb\x3f\xd8\x2f\x64\x69\xf3\x2c\x3e\x6d\xc3\x6f\xf9\xc8\xf2\x9b\x1e\xcd\xf2\xd7\x65\x38\x0f\x71\x94\x08\x5c\xfd\xe6\x01\xeb\x08\x45\xa4\x69\xc0\xfd\xd7\x32\x08\x3c\x7d\x9f\xe2\x49\x91\xf5\x8f\x0e\x8d\x0c\x02\x4b\xdf\x6b\xd2\x3e\x50\x54\x0f\x4c\x14\x04\x8e\xfb\x0c\x45\xfa\xe5\xb3\x5e\xfc\x6d\x89\x0d\x5a\xb3\xc6\x39\xad\x29\xc8\xdf\x02\x93\xb4\x6b\xb6\x05\x4e\xcd\xd6\xa1\x84\x49\x74\x8e\x5a\x02\x9d\xa6\xa7\xca\x29\x6a\xf9\x12\x95\x16\x1d\x96\x7b\x88\x1e\x14\x2a\xb4\x04\xfb\x62\x84\xbc\x8f\xb2\xbf\x2a\x96\x60\x58\x34\x19\x09\xf6\x15\xcc\xdf\x06\x34\x06\xd9\x6f\x21\xcb\x3f\x6c\x29\xa0\x31\xbc\x87\x14\xd8\x39\x54\x40\x63\x60\x9b\x34\x87\x77\x40\x81\x31\x35\x08\x19\xc8\x43\x16\xfd\x9f\x27\x26\xe3\x19\x4c\xc2\x78\x9e\x26\x13\x83\xf5\x54\xff\x73\xce\xe6\xe5\x38\x35\x69\xaa\x5f\x9d\xdc\x34\x92\x19\x7d\x69\x72\xcb\x48\x56\x55\xb7\xf5\x64\x41\xd5\x78\x09\x8f\x51\x1a\x03\x91\x5d\x39\x44\x56\x9b\x8e\x4a\x93\x11\x08\xa7\x4f\x89\x80\xec\x77\x90\xd5\x6e\xd2\x8f\x04\xe8\x54\xdd\x6f\xd3\x8f\x84\xe8\x24\xed\x1c\xd1\x8f\x84\xe8\xf4\xec\xf8\xf4\x23\x21\x3a\x31\x29\x49\x5a\x0c\xed\x25\x8e\x9f\x9f\xd2\x54\x12\xac\x49\x27\xd8\x61\x9b\xa2\x6f\x80\x8d\x01\xf6\x29\xe7\x74\x0c\xb8\x8e\x90\x7f\x74\x80\x2c\xbf\x6d\xc0\x8d\x61\x3e\xf0\xd8\x70\xea\x70\x63\xa4\xfd\x0e\xb2\x0e\x29\x78\x1c\x4e\x80\xe4\x83\x76\xd4\x61\xec\x81\x2c\x7f\xdf\xd3\xa1\x72\xfa\x76\x9a\x92\x6d\x3b\x46\x69\x39\x7b\x29\x75\x9b\xcd\x23\x39\x92\x0a\x2e\x67\x0b\xeb\x3c\x45\x9e\x0f\xa9\x82\x0b\xe4\x18\x77\xb6\xda\x72\x68\xc7\xb3\x10\x13\x0c\xcb\xac\x24\x5e\x3c\x03\x5a\x12\x2e\x26\xb8\x24\x5a\x4c\x70\x49\xb0\x98\xe0\xa2\x58\xe1\xd0\x74\x9c\xc6\xa1\x12\xd1\x3e\x25\x37\x2d\xda\x32\xa0\xfa\x90\x32\xe4\x5a\xfb\x3a\xd8\x18\x51\x8a\x5c\xab\xa5\x83\x8d\x01\x65\xc8\x1d\xe9\x60\x7d\x3c\x19\x72\x0c\x9a\xe2\x30\x2e\xb6\x7a\xe8\x49\x88\x81\x90\xdf\x46\xd6\xe1\xbe\x04\x19\xc8\x78\xfb\x7a\x29\x1d\x91\x23\x9f\xb6\x26\x21\x06\x0e\x74\x62\x1d\x70\x48\x32\x8d\xd3\x27\xc0\x39\x5f\xf9\x1e\xa5\x50\x9b\x31\x86\xcc\x93\x45\xf1\x37\x9d\xe7\xd9\x22\xd8\xf4\x34\xa8\xbf\x1d\x6c\x48\xbd\x56\x53\x31\x95\x00\xeb\x68\x37\x59\xfb\x07\x7a\xd3\xe6\x92\xb6\x2f\x97\xb4\xf1\x73\x98\x28\x21\xa3\x2d\x08\x34\xdd\xdf\x04\xc8\x85\x98\xb6\x4c\x50\x40\x2e\xc6\xb4\x35\x82\x02\x72\x41\xa6\x2d\x10\x93\x10\x7f\x2b\x0a\xd0\x1c\x62\x60\x56\x28\xf5\x90\xc6\x13\x48\xb0\x14\x32\x42\xbe\xd0\x2f\xbf\x98\xc3\xe0\x81\x43\x36\xdf\x8b\x59\x0c\x5e\x38\xa0\x73\xb2\x5d\xcc\x62\x30\x67\x9b\x2d\x1e\xc5\x2c\x06\x81\x3d\x1f\x59\x87\x32\x07\x0e\x9f\xa5\x44\xa6\x30\xf1\xa5\xa0\x00\x5a\x3f\x3d\xb1\xf8\x08\xd0\x96\x82\xdf\x66\xe1\xb7\x48\xf6\xff\x48\xae\x75\x6c\x39\xa3\xe0\x79\xf8\x00\x09\x09\x35\xa4\x0c\xea\xa6\x71\xf4\x08\x5a\xdb\x87\x7c\x2d\x14\x3c\x6d\xe6\x90\x24\x64\x93\x92\xcf\xa5\x66\x29\x93\x94\x3a\x87\x4a\xa1\xf1\xda\xa5\x4c\x52\xf6\xec\x4b\xd9\x73\xe4\x95\xf2\x48\x3a\xfa\x72\xd8\xf7\xe5\x98\xa6\x38\x4c\x1e\x74\xad\xc1\x6f\x6b\xd4\xe2\xd0\x92\x0c\x32\xc1\x25\x19\x64\x82\x4b\x32\xc8\x04\x17\x65\x50\x0e\x1d\xcf\x22\xc9\x8b\x9d\x16\xb2\x98\x0e\x9b\xf7\x9f\x81\xa5\xd4\x66\x22\xa5\x29\xa7\x53\x0e\x97\x04\x3c\xa0\x2b\xb0\x9a\x55\x39\x5c\xd2\xae\xd3\x96\xf5\x9b\xe5\x25\x72\x5e\x1b\x59\xf9\x9a\x42\xe1\x18\x26\x26\x1b\x48\xbc\x33\xa6\xda\x48\x92\x30\x55\x89\x2d\xa4\x72\x74\x33\x08\x35\x16\xf1\xdb\x4c\xd3\xa2\x94\x6b\xb7\x0a\x39\x7c\x5d\x3d\x64\xb4\x3f\x2a\x66\x51\x0c\x22\xc5\x86\x7f\xe8\x15\xb2\xa8\x2e\x76\xa4\xce\xab\x68\x24\xb3\xa8\x5e\x76\xa4\x50\x50\x64\xc8\xe8\x32\x91\xcb\x93\x83\x26\x65\x1d\x9d\x0e\x2c\x43\x3e\x1b\xdb\x07\xc8\x3a\x38\xa2\x9f\x22\x5c\x2d\xff\xbe\x21\xfa\x8c\x3c\x4a\x05\xf0\x0d\x29\x68\xe4\x51\x6a\x80\x6f\x08\x44\x23\x8f\x54\x05\x9a\x25\x21\x27\xb2\xc0\x26\x74\xc9\x12\xff\x75\x99\x46\x19\x68\x42\x77\x9f\x7e\xc9\x0c\x86\x9a\x48\xd7\x13\x8f\xa9\x5a\x14\x0a\xf7\x51\x98\x28\xbe\x68\x52\xfd\x88\xae\x9c\x1c\x06\x8b\x45\x94\x18\x6b\x15\x5b\xcd\x0e\x34\xa0\xbf\x15\x6a\xcc\x32\xfa\x69\xe9\x50\x63\x92\xed\xb3\x79\xa8\x41\x4d\x31\x2a\xd6\x65\x0a\xcc\xbe\x3d\x1b\x8b\x05\x9b\x48\x62\x60\x72\xb0\xff\x0a\x3c\x5f\xba\xd8\x44\x13\x83\x96\xc3\xf3\x15\x8c\x4d\x34\x31\x60\x39\x5c\x5b\xc8\xbc\x7c\x92\x45\x73\x4d\xc8\x73\xe1\xd1\x51\xac\x49\x81\xb0\x09\x98\x4e\x1e\x74\xc5\xa1\xc5\x68\xd9\x56\x88\x2b\xb0\xff\x0a\x5c\x92\xfc\x50\x2c\x84\xa2\x63\x0a\x2e\x89\xce\xd6\xc8\x7d\xd5\x31\x05\x97\x64\xdf\x47\xd6\xc1\xa1\xec\xd7\x34\xc2\x70\x8f\x23\x69\x1a\x31\x8a\xb5\x98\x78\xd1\x81\x3a\x2f\x50\x2e\x6b\x1f\xea\x50\x9d\x17\x28\xe2\x6d\xa3\xac\xce\x0b\x34\x47\xcb\x28\xab\xf3\x42\x93\x22\x4d\xd5\xb7\x69\x4c\x55\x31\xc3\x63\xc0\x66\x28\x73\x2c\x50\x66\x99\xa6\x18\x32\xa2\x09\x2e\x21\x0d\x05\xde\x0f\x61\x94\x64\xf7\x29\x4e\xa5\x81\xe2\x31\x45\x4b\x6a\x5b\x0f\xb3\x34\x23\x7a\xed\x4c\x11\xcb\x3d\x16\x74\xbd\x37\x4c\x17\xa1\x41\xd3\x74\x7f\x13\xc0\x50\xdd\xa8\x6e\x20\x01\xa6\x15\xd3\xca\x01\xa6\xf9\x72\x90\x03\x34\xb5\xa7\xc9\xe6\x16\xb5\xf2\x5a\x4d\x1d\x6a\xac\x81\x54\x22\xb3\xe9\x57\xad\xee\x50\x69\xcc\xc9\x52\xa9\xea\xb0\x9e\x1c\xe9\x60\x73\x7e\xb2\xe9\x4f\xc1\x39\xfb\x1f\xb1\xb9\xc7\xbf\x04\xc4\xd3\x35\x3c\x99\x28\x39\x1a\x59\xf4\x7f\x99\x28\xb2\xf2\xd1\x16\x23\xce\x01\x9e\x31\xda\x4a\x28\x33\xa0\x9f\x73\x3f\xff\x48\x80\xe8\x6b\xcb\x47\x16\xff\x48\x80\xe8\x25\x5d\xf4\xf8\x47\x02\x44\xff\xa8\x86\xcc\x3f\x12\xd0\x11\x80\x43\x8d\x53\x19\x60\x5f\xc8\x67\x1f\x59\xfc\x23\x01\x07\x02\xd0\xe2\x06\x7a\x5b\xb5\x71\x28\x00\xfb\xc8\xe2\x1f\x09\x38\x12\x80\x43\x6d\x26\x69\x8b\x0d\xb5\xc0\x91\x25\x7b\xdd\x14\x14\xe1\x46\xb9\x30\xcc\x19\x40\x90\x83\x69\x0a\xec\x23\x01\xb2\x9e\x7d\x64\xf1\x8f\x04\x08\x72\x70\xcb\x5f\x58\xff\x0c\x20\xcd\x41\x9f\x2f\xa6\xfb\xaa\x0d\x41\x0e\xee\x45\x10\x9e\x04\x06\x10\xe4\xd8\xdf\x47\x16\xff\x48\xc0\x41\x6e\x59\xf2\x8f\x04\x08\x72\x1c\xf8\xc8\xe2\x1f\x09\x10\xe4\x38\x68\x23\x8b\x7f\x04\x40\x60\x7b\x88\xac\x43\xae\x66\xb3\x44\x41\x8e\x03\xba\x4e\xb2\x8f\x04\x08\x72\xf0\xc5\x53\x2c\xa0\x0c\xd0\xcc\xd7\x5e\xfe\x91\x00\xd9\x00\x35\x19\xd9\x47\x02\xe4\x6a\x4d\x17\x4b\xf6\x91\x00\x41\x0e\xaa\x88\xf3\x8f\x04\x08\x72\x1c\x35\x91\xc5\x3f\x12\x20\xc8\x71\xd4\x46\x16\xff\x48\x80\x20\xc7\xd1\x01\xb2\xf8\x47\x02\x04\x39\x8e\x8e\x90\xc5\x3f\x02\xa0\x74\x22\xbe\x62\xfa\x72\x86\xb5\x3d\x09\x68\x0a\x75\xd6\xf7\x64\xf3\x6d\xbf\x7a\x41\x62\x30\xa9\xdb\x50\x7b\x40\x7e\x49\x58\x4b\x57\xcf\xc5\x97\x84\x29\xd5\xbd\xc9\x6c\x04\x69\x28\x30\x58\x47\xc2\x3a\xc2\x1f\xe3\xfb\xaa\xbd\x7d\x09\x3b\x10\xc2\xce\xf7\x55\x7b\x07\x52\x87\x62\x9a\xa9\x27\xed\x56\x06\x3b\x94\xb0\x26\xd3\x5a\xa5\xea\xca\x60\x47\x12\xd6\x91\x9e\xbe\xa6\x6c\x4f\xa2\xc2\xbc\x2f\xf4\x23\xd3\x25\xbd\xa8\xdd\x20\xbf\x24\x4c\xd2\x8b\xad\xc0\xe2\x4b\xc2\x24\xbd\x98\x0a\x2d\xbe\x24\x4c\xd2\xab\xc5\x14\xd6\x8e\xf4\x83\x31\x98\x92\xa5\x6c\xc5\xe5\x5f\x12\x26\x91\x6c\x7b\xc2\xce\xf1\xdb\xaa\xbd\x7d\x5d\x21\x17\x5f\x12\x26\xe9\xd5\x66\xf6\x51\x47\xfa\xcd\x18\xec\x50\xd3\x05\xe5\x97\x84\x49\x7a\x31\x0b\x40\x7c\x09\x98\x6c\x8e\x2d\x08\xc2\x80\x66\xe9\x9e\x66\xf2\xc8\x2f\x09\x53\x3a\x34\xd5\xf0\xc4\x97\x84\x49\x7a\x31\xcf\x9b\xf8\x92\x30\x65\x22\x52\xd5\x5d\x7c\x49\x98\x52\x52\x68\x53\xe2\x4b\xc2\x24\xbd\xa8\xcc\x91\x5f\x12\x26\x3b\xb0\xcf\xd6\x4b\xfe\x25\x61\x92\x5e\x54\xf2\xc8\x2f\x09\x93\xf4\x62\x3e\x01\xf1\x25\x61\x92\x5e\x07\xfb\x6c\x03\x41\xee\x22\x50\x98\xac\x52\x6a\xbf\xb2\xad\x03\x49\x2f\x2a\x85\xe4\x97\x84\x49\x7a\x1d\x52\x14\xc4\x97\x84\x29\xd3\xa9\x2d\x7d\xa9\x4a\x22\x1d\x48\x7a\x1d\x52\x14\xc4\x97\x84\x49\x7a\x71\xf7\x00\xff\x92\x30\x49\x2f\xaa\x25\xcb\x2f\x09\x93\xf4\xa2\x72\x49\x7e\x49\x98\xec\xdc\xd1\x3e\xf3\xc9\x4b\xc7\x3c\x83\x49\x7a\x1d\x31\xff\x1c\xff\x92\xb0\x23\xa9\x56\xf8\x42\x05\x6a\x7a\xb2\xbd\x43\x09\xe2\xb6\x84\x9a\xdf\x87\x72\xc9\xf7\x98\x26\xde\x96\x36\x35\x83\x29\xa7\x04\xf3\xae\xf2\x2f\x09\x93\x1a\x8e\x77\xc4\xcc\x21\x69\x13\x31\x98\x54\x6f\xa8\x78\x92\x5f\x12\xd6\x96\x30\xda\x94\xf8\x92\xb0\x8e\x84\xd1\xa6\xc4\x97\x84\xed\x4b\x18\xdf\x92\x92\xfb\x52\x0c\x76\x20\xd5\x4c\xe6\x2a\xe6\x5f\x12\x26\x3b\xce\x36\x5c\xc4\x97\x84\x49\x7a\x31\x27\xaf\xf8\x12\x30\x09\xa2\xb6\x36\xfb\xc8\x74\x49\x2f\xe6\x91\x16\x5f\x12\x26\xe9\xc5\x1c\x87\xe2\x4b\xc2\x94\x46\xa8\x36\x37\x94\x8c\x3a\x92\xf4\x6a\x1d\x30\x67\xa6\xf4\x68\x32\x98\xa4\x17\xdf\xd4\x53\x0a\x38\x83\x49\x7a\x31\x17\xb9\xf8\x92\x30\x49\xaf\x7c\x57\x48\xc9\xa8\x23\x49\x2f\x6a\xee\xca\x2f\x09\x93\xf4\x62\xba\xbe\xf8\x92\x30\x49\x14\xe6\xb2\x17\x5f\x0c\xa6\xbb\xd7\x94\xb7\x5c\x77\x5a\x94\xd2\x0b\xee\x4d\x95\x5e\xf0\x6e\xaa\xf4\x82\x73\x53\xa5\x3f\x43\x1c\xa7\x4f\x9a\x0c\xe1\x26\x12\xef\x0e\x6c\xd4\x97\xa1\x4a\x5f\x86\x2a\x7d\x19\x36\xe9\xcb\xb0\x4d\x5f\x86\x4d\xfa\x32\x6c\xd2\x97\x61\x93\xbe\x0c\x9b\xf4\x65\xd8\xa4\x2f\xc3\x26\x7d\x19\x36\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x54\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x6c\xd2\x97\x61\x93\xbe\x0c\x9b\xf4\x65\xd8\xa4\x2f\xc3\x26\x7d\x19\x36\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x54\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x6c\xd2\x97\x61\x93\xbe\x0c\x9b\xf4\x65\xd8\xa4\x2f\xc3\x26\x7d\x19\x36\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x6c\xd0\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa0\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x41\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x83\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x06\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x0d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\xa3\xbe\x3c\x4b\x13\x78\x9e\xc0\x93\x8e\x29\x8f\x47\xf0\x34\x68\x39\x8a\xcc\x00\x97\x03\xc9\xd8\x38\x49\x70\x29\x96\x8c\x6f\x16\x4a\x70\x45\x38\x99\xcf\xc0\xa4\xb0\x2d\xc5\x97\xe1\x43\x2f\x07\x9a\x01\x1f\x5e\x01\x5a\x8a\xf9\xf0\xf7\x0f\x72\xa8\x11\xf6\xb1\xcf\xb6\x59\x72\xa0\xee\xf5\xa6\x02\x98\x05\xeb\x45\xc9\xc4\xd8\x45\x63\x25\xa5\xce\xa2\x80\x06\x4e\xac\x55\x6f\x5f\x87\xeb\x58\x29\x35\x45\x41\x75\xac\x0e\x65\x14\x93\x82\x16\xd1\x62\xcb\x42\xf4\x98\xe2\xe7\x92\xf2\xcf\x06\x88\x81\xfc\x2d\x30\x33\xc6\x44\x8d\x1c\x83\x99\x01\x26\x6a\xd8\x18\xcc\x8c\x2e\x51\x63\xa6\xc5\x28\x70\x5e\x69\xa9\x85\x99\x81\xcc\x88\x97\x7d\xb9\x30\x33\x98\x89\x8a\x27\x95\x04\x06\x33\x43\x38\x0f\xa5\x72\xc4\x60\x26\x2a\x54\x0d\xa6\x44\x89\xc3\x47\x48\x26\x80\x65\xa5\x12\x19\x3e\x23\x24\xf4\x3e\x5e\x66\x33\x03\x27\x4f\x4e\x36\x23\x8b\xff\x86\x3c\x66\x24\x6a\x5b\x0a\x17\x23\x8f\xd9\x8f\x16\x0b\x16\x2b\xe6\x29\xc7\xa2\xb2\xfd\x9a\x38\x7c\x4a\xf4\xcd\x79\xd6\x42\x47\x84\x2c\xc4\x30\x4f\x93\xf1\x2c\x9a\x4e\xd5\xf6\x7e\xbe\x49\xc6\xf4\x56\x3d\x87\xff\x7a\x16\x73\x30\x5a\x72\xf5\xd3\xb3\x98\xec\xc1\x14\x91\x62\x2d\x66\x57\x0e\xa4\xbe\x1b\x47\x0f\x33\x2d\x28\x8f\x9b\xca\x6c\x93\x92\xa9\x8c\x0a\xac\x47\x50\xf0\xf0\x5f\x66\xd1\x2a\xb8\x1e\x41\xc1\x63\x7f\x99\x7a\xa8\xe0\x7a\x04\x05\x0b\xfc\x15\xfd\x94\x70\x3d\x82\x42\x4a\x1f\x09\xd7\x23\xcd\x98\x76\xc9\x76\x5a\x9b\xaa\xfe\x3c\x5a\x89\x8f\x75\x6e\x70\x2b\xb0\xff\x0a\xdc\x58\x85\xf3\x88\x02\x05\x57\x9a\x8b\x19\x5e\xa5\xe0\x6d\x5d\xbb\xcf\x43\x09\x18\xbc\xb8\x73\xc8\x99\xd2\x97\x5a\xb9\x99\xc7\x0c\xb3\xde\xaf\xae\xc8\x64\x6f\xaf\xba\x26\x93\xbf\x3d\x63\xc0\xab\x77\x14\xe9\x2a\xcc\x14\x43\x33\x8f\xee\x4a\xd1\x96\x33\x3f\x6f\x52\x6d\x40\xb2\x60\x52\xf9\x95\x83\xb5\x30\x16\xb9\x2a\x71\x09\x2f\xe1\xdb\x8a\x17\x17\x1e\x16\xad\xc1\xa4\x9f\x02\x1b\x62\xfe\x80\xe9\x9c\x1d\x1d\x6e\x2c\x3e\xfb\x4d\xa9\x1b\x2b\xb8\x19\x61\xc6\xc3\x07\x75\xb8\x4e\x25\x16\xb6\xea\x29\xec\x8c\x30\x1e\xd6\xfe\xbe\x0a\xe3\xd1\x32\xf8\xaf\xe6\x30\x70\x64\x51\x6e\x7e\xdb\xcc\x61\x60\x49\xc7\xea\xe8\xd0\xcc\xa0\xa3\x49\x2d\xfe\x7d\x35\x96\x66\x30\x51\xab\x29\x22\x30\x78\x58\x3b\xcf\xa1\x47\x78\xf8\x3c\xc8\x7a\x5f\x89\x68\x2d\x87\xaf\xd9\x12\x4d\xe6\xf6\xca\x67\x92\x19\xe7\xe1\xef\xb7\xe5\x68\xe6\x93\xc9\x0c\xf5\x60\x11\x3c\x6c\x44\xb5\xf9\x64\x46\x7b\x30\x75\xa0\xd9\x32\x26\x42\x21\xda\xc8\x6f\x49\x1b\x5e\xc7\xc5\x0c\x38\xf2\x7d\x15\x7b\xd9\x69\x15\xf2\xc0\xd6\x3c\x04\x20\xd6\x05\xa4\xb4\x25\x9a\xda\x08\xca\x3c\x46\xb4\x5e\xd3\x14\x33\x2a\x93\x11\xad\xe7\x7b\x26\x79\x64\x26\x3d\x5a\x8f\x99\x58\x3a\x81\x64\x26\x23\x5c\xaf\x40\x23\x73\xd6\x2a\x75\xa3\xd9\x36\x33\x94\x15\x92\x62\x8e\xb2\x5a\xe2\x15\x1a\x29\x2b\x27\x87\x9e\x99\xa3\xac\xa2\x08\xe2\xcd\xf5\x38\xc8\x8e\x14\xae\x82\xe9\x12\x48\x74\xa9\x23\x94\x18\xd7\x46\x46\x7c\x25\xf7\x1f\x4b\x52\x0b\x90\xbf\x05\xa6\x77\x48\x51\x5f\xc0\xf4\xae\xa8\xc5\x58\xc0\xf4\x4e\xa8\x78\xce\x79\x88\x53\x39\xff\x19\x6f\xb4\xa9\x2a\xb9\xaf\x20\x3a\x22\x9d\xa6\xb4\xa2\x39\xcc\x08\xcf\x39\x94\x2a\x31\x87\xe9\x88\xb0\x49\xc2\xe4\x25\x87\x19\xa1\x39\x52\x21\x9e\xc3\x24\x5a\xce\x4b\xa7\x64\x0a\x47\x58\x78\xae\xd2\xc9\x09\xde\x4d\x06\x33\xe2\x29\xa9\x8d\x7e\xd8\x91\xe2\x58\xcf\xa0\x2f\xa8\xbe\xa7\xa6\x9e\x9e\x45\x5f\x53\x8f\x3a\x8a\xd0\x5a\x0e\x7d\x55\xcd\x85\x80\x9e\x43\x5f\x57\x3b\x1d\x45\x74\x96\x63\xb1\xc4\x8b\x58\xf6\xb3\x7d\x20\x45\x80\x5f\xcc\xa1\x24\x96\x2f\xbc\x61\x3a\xaa\x3c\x8b\x72\xf2\x30\xd6\xf4\x4d\x5c\x79\x16\xe5\x1b\x3b\x10\xe1\x67\x3a\xb2\x3c\x8b\x94\x58\x2d\xee\x1b\xd6\x71\x35\x05\x30\x5b\x00\x98\x4f\x85\xf9\xf3\x44\x96\x82\x50\x63\xf3\xd9\x6b\x9b\xb8\x64\x0b\x1c\x25\x0f\xc5\x8d\x15\x1e\x31\xa7\x32\x15\x82\x13\x0f\x9a\xca\xb3\x90\xe7\xe1\xf1\x89\x79\x74\xea\x11\xf3\x04\x48\x45\x7f\x1e\x4d\x12\x53\x31\xe4\xc2\x4c\x2a\x11\xf3\x28\x21\x63\x0c\xe1\x5c\x37\x8e\x85\x0a\xcb\xc0\x19\x79\xc6\x69\x56\x3a\x65\xd4\x64\x7e\x4d\x05\x2e\x1d\x34\x2a\xc0\x4b\x67\x8d\xb8\xd2\xa1\xe0\xe5\xe3\x46\xcc\x0f\xa5\xe0\xe5\x13\x47\xcc\xff\x30\x4f\xc7\xe3\x30\x8b\x92\x62\xeb\xbc\x74\x12\x3e\x86\x7f\x49\x4b\x31\x6e\x4d\xa5\x36\x68\x19\xfc\x57\x73\x98\xd1\x67\x07\xd2\x45\xa8\xe5\x30\xc3\xd0\x94\xea\xa8\xe5\x30\xbb\xe1\x0b\xff\x7b\x12\x3e\x3e\xeb\x93\x98\x2b\xc4\x34\xb5\x14\xd7\xcf\x20\x69\x3c\x89\xc3\xb1\xea\x53\x4b\xba\x33\x98\x44\x65\x21\xe0\x13\x1c\xde\x4b\xb1\xc1\x0e\xfd\x34\xc5\xb9\x22\x05\x55\x56\x80\x8c\x46\xdf\x6f\xea\x60\x65\x04\x48\x2d\xba\x73\xa8\x83\x75\x1b\x20\x97\xf3\x0a\x5c\x0a\x2f\x66\xb6\x56\x39\xf0\x7c\x5f\xec\xff\x55\x04\x9d\x9b\x20\x43\xa5\xa2\x8d\xe6\x20\x83\xe8\xad\x96\x0e\x32\x94\x3d\x4f\x87\xe4\xde\x06\xd6\xf5\xa3\x02\xcc\xdf\x06\xd4\x71\xd9\x6f\x17\x80\xc6\x31\xaf\x4e\x01\x68\x9c\xf4\x3a\x90\xc0\x5c\x48\xf3\x48\x44\x2e\xfa\xda\x0a\x66\x90\xa5\xe5\xcb\x99\x69\x4a\x66\x46\x18\xe6\xe7\x63\xb3\xde\x10\xca\x4d\xb5\xd9\xc2\x9d\x9f\xa6\x3c\xa6\xc8\x70\x19\x47\x97\xac\x45\x18\x43\xa5\x95\xc3\x35\x4d\x4f\x66\xd1\x0c\x01\xee\xf5\x62\x47\xcf\x9a\x3a\xd8\xd7\x79\x84\x21\xcf\x04\x9b\x82\x37\xab\x0d\x09\x05\x6f\xe9\x26\x39\xd7\x94\x0d\xb8\xdc\x14\x93\x61\xa9\x87\x12\x5a\x10\x9a\xfe\x41\xc7\xb0\x04\x8d\x2c\xca\xff\x7d\x60\x58\x93\x46\x1e\x35\x17\xda\x9b\xeb\x51\x13\xc2\xb4\x2a\x8d\x3c\x6d\x6d\x21\xd7\x2c\x4b\x9a\xa7\x20\xc3\x99\x37\x97\x6f\x65\xb5\x0f\x8a\x59\x4c\x7e\xf0\xe4\xd6\x81\x91\xc7\x64\x0b\x36\x36\xa5\xa6\x4c\xee\x68\xeb\x1c\xa0\xf2\x14\x99\x84\x19\x6b\x8b\x70\x11\x3e\x87\x4f\xb3\x68\x61\x58\xb8\x6c\xd9\x61\x70\x08\xc7\xb3\xc5\x72\x3a\xd5\xc1\x7c\x4b\xa2\xa3\x83\xfd\x57\xe0\xa6\xc0\x55\xfb\x20\x0a\x6e\x8a\xdb\x8e\xb4\xf5\x14\xdc\x0c\xfe\x3d\x92\xc6\xde\x02\xf0\xb2\x28\x33\xd8\x86\x4e\xd1\x3c\xe5\xbe\x0d\x09\x31\x4f\x40\xf9\xd2\xc9\x54\x36\x4a\x8f\xe4\x46\x49\xd9\x1e\xed\xc8\x3d\xa7\x92\x29\xca\xb0\x63\x90\x78\x29\x97\x62\x36\x6e\xfb\x2c\xa4\xda\x17\x10\x13\x89\x03\xc5\xae\xf1\x72\x6e\x1e\xbf\x52\xca\x06\x05\x99\xb1\xc8\x4a\x4b\xa4\x20\x33\x0e\xb9\xa9\x78\x32\x7d\x9a\x18\x27\xf1\xb8\x8d\xd8\x96\x8b\x8c\xa1\xb0\x51\x14\x99\x6b\xbf\x9d\x83\xd4\xe4\x17\xd1\xec\x02\x4f\x43\x45\xa3\xe4\x68\xe7\x88\x1a\xba\x59\x53\x44\xb2\x0b\x4c\x75\xa5\x8c\x69\xb1\xca\x9d\x62\x4a\x72\x21\xe4\x0b\xb3\x24\x4f\x2d\x18\x0c\x22\xb5\x60\x2a\x88\xd4\x82\x91\xc0\x52\xd3\xec\x59\x3f\x1a\x2c\x4e\xf1\x48\x87\xab\x02\x97\x42\xc7\xb9\x97\x43\xc1\x4b\xb1\xe3\xdc\xcc\x52\xf0\x52\xf0\x38\x3f\xc1\xa3\xe0\xa5\xe8\x71\xbe\x8b\x8e\xd3\xe7\x50\x33\x70\xf7\x95\xd8\x6f\x1a\x50\x3f\x57\x26\xf9\xe9\xd6\x8e\x01\x16\xc8\xed\x1f\x08\xe7\x3f\x1f\x1e\x05\x96\x31\x1b\x87\xc2\x14\x30\x5b\x96\x71\x2c\x47\x7c\x6d\xe4\x63\x94\x85\x93\x49\x0c\x3a\xe1\x8c\xe3\xa7\xa6\xe3\x45\x79\x05\xd9\x12\x58\xe1\x73\x69\x7b\xb2\xbf\x15\xee\x16\x2a\x0f\x99\x11\x55\xe1\x68\xa1\xf2\xf4\x30\xaf\xd4\x90\x6d\xfb\xc8\xea\x1c\x30\x50\x32\xd1\x87\xb8\x49\x19\x94\xb9\x3f\x98\x25\x68\x2a\xff\xed\x7d\xb9\xf4\x1c\x68\x30\x3f\x5f\x97\xc4\xb2\x77\xa4\x41\x05\xb6\x07\xea\x7c\x1f\xdb\x0b\x2f\x1c\xdd\xda\x3f\x50\x4b\x9e\x0e\x6d\x6f\x68\x36\x9b\x41\xac\x9f\xdf\x15\xda\xe0\xa1\x06\xf5\xb7\x83\x4d\x37\xe4\x91\x74\x89\x48\xb0\xe9\x80\x3c\x90\x7e\x6b\x09\x2e\xed\x15\x70\x27\x66\x16\x41\x92\x84\x9a\x90\xa0\x86\x21\xf3\xf0\x73\x48\x69\x21\x63\xeb\x18\x87\x95\x16\x30\xe6\x01\xe3\xb0\xd2\xc2\xc5\x47\x8e\xc1\x8a\x0b\x16\xef\xe5\x06\x8f\x18\xd3\x88\x0b\xce\x30\xcd\x5f\xa6\x41\xa5\xc8\x62\x72\x87\xad\x0b\x7a\xc5\xea\x2c\xf8\xa1\x08\x02\xe0\x93\xc2\xf4\x7e\x31\x67\xa6\xaf\x24\x6c\xd1\x46\xa4\x4d\x1e\x29\xd1\xac\xa0\x0a\x2d\xba\x16\xf8\xea\x28\x96\x82\x2b\xc4\x58\x98\x8d\x72\xd6\x2b\x78\x4b\xd3\xc4\x0f\x8f\x4a\xd5\x4b\xdc\x28\x81\x3d\x03\x35\xdd\xdf\xd6\x94\x53\x92\x29\x68\xa5\xf3\x7d\x47\x87\x86\xff\xb0\x74\xb6\xef\xb0\x63\x38\x0f\x4b\xe7\xfa\x98\xa9\x9e\x3b\x0d\x8a\x67\xfa\x38\x59\x73\x9f\x58\xc9\xd5\x57\x40\x2f\x29\xf8\xca\xd4\xf6\x14\x85\x94\x37\x69\x14\xa8\xb4\x39\xc3\x55\x69\x0a\x2a\x6d\xca\x70\x45\x9a\x82\xca\x9b\x31\x4c\x8b\xaa\xb6\xee\x3b\x32\xb6\x47\x03\xfb\xaf\xc0\x0b\x61\x94\xfc\x98\x9f\x06\x2f\x84\x53\xf2\x58\x2b\x0d\x5e\x08\xab\x64\xf1\x6f\x05\x4f\xe8\x81\x0a\x2e\x62\xcb\x50\xd1\x07\x7a\x74\x24\xe2\x3f\xc4\xf8\x16\xbc\x9f\xfc\xdd\x2f\xf9\x9c\x28\xf8\x3d\x99\x1d\xdc\x56\x4b\x79\xd1\xe3\xc9\x76\x91\x3c\xc5\x7b\x44\xed\xff\x88\x7d\x67\xb9\xd1\x49\xc2\xa4\x64\x1f\x1e\x88\x12\x25\xeb\x90\xe9\x89\x24\x4c\x4a\xb6\xe1\xbe\x00\x14\x2d\x43\xb6\x7c\x93\x59\x94\x91\x58\xbd\x9d\x61\x5f\x1e\x7e\x64\x6f\x84\x11\x40\xd3\x4d\xa0\xec\x05\x01\x35\xbd\x1c\x6a\xed\x14\x50\xd3\xc7\xa1\x1c\xc1\x02\x6a\xba\x06\x14\xb7\x93\x74\x1e\x92\x54\x6b\xf5\xe8\x48\x08\x4a\x0e\xf1\x37\x83\x8c\x2d\xf1\xa6\x10\xa1\x1c\xa4\xa3\x42\x07\x88\x49\x50\x0e\x32\x36\xc3\xdb\x42\x82\x16\x4c\xaa\x7d\x15\x39\xe2\x19\x50\x8d\x97\xf3\xd7\x7d\x14\xed\x28\xcf\x78\xd9\x47\xd1\x82\xf2\x8c\x57\x7d\x14\x6d\x27\xcf\x78\xd3\x87\x7e\x32\x37\x5f\xfe\x79\xbd\x45\x8b\x8a\x0a\x11\x66\xc3\x32\x21\x51\x69\x4c\x31\x07\x3d\x13\x07\x95\x76\x14\x8b\x18\x6b\x1b\x60\xc3\xda\x57\x41\x82\x95\xd6\x13\xc5\x9a\x45\x7a\x3e\xcd\x20\x94\x38\xb7\x73\x67\xd3\x91\x04\x99\xdb\x86\xbe\x8c\xac\x62\x30\x93\xbf\x58\xf4\x57\x5b\xc2\x4c\xee\xda\x97\x5d\x61\x30\x93\xb7\xf6\xa5\x94\x28\x9f\xfe\x54\x83\xc6\x40\xd9\x3c\xfd\x56\x7e\xf5\x10\x5b\xc1\xab\xf7\x24\x3c\x05\x29\x6d\x46\xe4\xa0\xd2\x2e\x44\x0e\x2a\x6d\x3f\xe4\xa0\xd2\xbe\x43\x0e\x32\x9c\x11\xba\x43\x6a\x8d\xa2\xc6\x94\xdf\xbc\x30\x6d\x8c\x31\x84\x04\xce\x92\xe5\xbc\xea\x9d\xb4\x09\x3c\x59\xe2\x5d\xd0\xfc\x65\xc9\x53\xf9\xc2\xd8\x3f\x86\xc6\x55\x85\xda\x2d\x24\xda\x3b\x65\xff\xbd\xc3\xde\xd3\xff\xa3\xfb\xc5\x71\x86\x7f\xfa\xe2\x8e\xea\xee\x17\x77\xef\x21\xd2\x5f\x07\x8e\x51\xca\x5e\xe6\x9b\x5f\x35\x31\x4c\x47\xfc\x2e\x10\xfb\x73\xf2\x2d\x49\x9f\x12\xeb\x31\xc4\x51\x78\x1f\x43\xd7\xb2\xeb\x69\x8f\xbf\x6e\x9b\x88\x3b\x6d\x30\x7f\x6d\xae\x81\x58\x43\xd6\x9f\xb9\x59\xb0\x11\x36\xc4\x23\x47\x5c\x77\x63\xb1\xcb\xc2\xcd\x46\x21\x1b\x87\x0b\xb0\x64\x76\xda\xb6\xba\x22\x3a\x5b\x97\xa9\x91\x57\x1c\xbc\x40\x32\x4e\x27\xf0\xf9\xe6\xa2\xab\x9e\x90\x7a\x3a\x4d\xe7\x8b\x34\x81\x84\x74\xcb\x49\x88\xb7\xfa\xe1\xee\xe3\x65\xb7\xfc\x16\xea\x17\xfb\xd8\xee\xda\xb5\x98\xf4\x6c\x64\xbf\xa3\x8f\x0f\xec\xb1\x46\x1f\xc3\xf9\xa2\x67\xa3\x1f\xec\x1f\xba\x76\xed\xaf\xcb\x94\x01\x7e\xa0\x80\xdf\xb5\x8e\x7a\xf6\xba\x57\x1e\x9e\xe1\xf1\xbb\xda\x17\xfb\xcb\x0f\xa3\xbd\x07\x54\x75\xeb\xe4\x10\x46\x6b\x7e\xb1\xf7\xb4\xf1\x00\xa4\x3f\x1e\xc3\x82\x5c\x86\xc9\xc3\x32\x7c\x00\xf3\xa2\xca\xea\x2c\x8d\xf1\x0c\xa7\x73\xb8\x5d\x2e\x16\x29\x26\x30\x71\xdc\x13\x9e\xd2\x88\xfc\xc3\xa4\xa2\x80\x03\x6e\x57\xbb\xb0\x45\xbb\x82\x06\x9c\x61\x12\x3e\x46\x0f\x21\x49\x71\x23\x16\xf9\xf3\xae\xec\xee\x3d\x20\xfb\xab\xed\x8e\xdc\x35\xbb\xe4\xe5\x6d\xf8\xe8\x77\xdc\x88\x4e\xf3\x6b\x81\x44\xc6\x5a\x4d\x43\x97\x57\xca\xde\x70\xfd\x4f\x4b\xc0\xcf\x81\x79\x35\xa6\xfe\x8e\xea\x13\xdb\x15\x6f\xc0\x57\xb7\x31\xb8\xf9\x4d\x46\x74\xea\xb1\x8b\x13\xf8\x75\x44\x35\xdb\x45\x51\xe0\xf5\xa2\xe3\xfc\xde\x57\x79\x85\x53\x1a\xb0\x0b\x5f\x45\xce\xc0\x76\x7b\x64\x38\x81\x22\xd3\x38\xe9\xd0\x1b\xb9\xa3\xa0\x12\xe2\x8f\xd4\x2b\xb8\x89\xa2\xcb\xe7\x9b\xcb\xaa\xe9\x9e\x43\x37\x8f\x9c\xb8\xa4\x48\xe4\xa3\x03\x06\x7a\xb5\xbf\x99\xc4\xa2\xde\xe2\x6f\x51\xad\x10\x56\x71\x38\x5f\x94\xde\x6b\x2e\x19\xfb\x98\x9c\x90\x2e\xbc\xc3\x27\x58\xa2\xf4\xb7\x45\x58\x7d\xf3\x4d\x2e\xd4\xd4\x0d\x3f\x0e\x41\xb6\x67\xe7\xac\xf3\x33\x13\xf5\x8b\x70\x0c\xa5\xf7\x91\x1f\x07\x9e\x78\x43\xb8\x6d\x8b\xeb\x0a\xd8\x35\x3a\x46\x29\x7e\xf7\x7c\xe3\x49\x25\xb0\xbb\x3e\xf3\x9f\x81\x6d\xa9\xff\x6c\xb7\x07\xef\x74\xa0\x64\x04\x57\x4f\xac\x07\xfa\x2f\xf5\xd2\x7f\xbd\x98\xba\x8b\x43\x4a\x6b\x76\xff\x52\xe5\x6b\xe6\xc9\x6a\xd5\x81\x16\xbb\xea\x80\xf5\xf7\x96\x84\xe3\x6f\x8e\xaf\x5e\x35\x5f\xb8\x8c\x8b\x04\xd5\xf3\x92\xdf\xb1\x66\x67\x8c\x9e\x76\xa0\x6e\x73\x3a\x89\xba\xc0\xde\x77\xde\x8b\x82\xe8\xc4\xa6\xd2\x33\xea\xda\x36\x32\x6e\xd1\xb2\xe3\xe8\x5e\x22\xd9\xb5\x08\xaf\xdd\x82\xef\x8b\x88\x6a\x28\x54\xe0\xee\xf9\xd0\xaa\xdb\x99\x5d\x8f\x5c\x55\x34\x4e\x1f\x9c\xd4\x45\x24\xe0\xaf\x1e\xc7\x74\xfa\x54\x30\x73\x99\xf1\x48\xad\xe6\x8c\x63\x08\xb1\xec\x07\x91\xb5\xb8\x08\xc4\x0d\x68\xf4\x17\xca\xef\x25\x5e\x4b\xb9\x59\xd9\xc3\x88\xae\x8a\x4e\xce\x33\x8c\x86\xe5\xdb\x03\xe8\x6c\x3f\x81\x7a\xb3\xdb\xdc\x7e\x83\x1c\xa9\xba\x3d\x6e\x9d\x5f\x33\xfc\xb2\x46\x69\x80\x7b\xe9\x31\x29\xdc\x2c\xbc\x8b\x47\x6c\x3d\xdc\x74\xad\x9c\xba\x75\x85\x63\x9a\xcd\x43\x4c\xce\xe3\x34\xc5\x83\xe8\x31\x9a\x14\xef\x70\x16\x57\xdc\xec\x11\x14\xf1\x77\xfb\x8f\x21\x8a\x1d\x9c\xd7\xb2\x8b\x8f\x7d\xd8\x6d\x9f\x44\x5d\x06\x9e\xd2\x9a\xc4\xf5\x03\xd3\x06\x0e\x93\x49\x3a\xbf\x48\x36\xdc\x51\xa6\x95\xe0\xf7\x06\xb0\xec\x8e\xfb\xa3\x43\x76\xa1\xee\xbb\x6e\x9d\xcd\xdd\x8f\x90\x65\xe1\x03\x7c\x0c\x93\xf0\x01\x70\xf9\xaa\x6a\xb9\x02\x64\x5f\xd9\xab\xfc\xab\xef\x8b\x29\x2f\x0f\x6b\x7e\x2b\x4e\xa1\x0a\x75\x35\x8e\x0d\x09\x95\xdc\x45\xf0\x32\xe1\xd7\x00\x30\x30\xbf\x70\x7a\xce\xf1\xcb\x82\x97\x75\x19\x5d\xed\xf6\xad\x70\x32\xf9\x28\xb3\x56\x5e\x45\x4d\xb5\x97\xfc\xf2\xc0\x21\x19\xf5\x70\x83\x21\x3d\x4b\xe3\x09\xe0\xec\xc4\x68\x6e\x48\x46\x01\x96\xbf\xb4\x77\xf7\xff\x9e\x2b\x5a\xc3\x3f\x7d\xc9\xbe\xfc\x9e\x6a\x59\xbf\x37\xb4\x2c\xed\xc2\x15\x8b\xb6\x61\xb4\x30\x8c\xcc\x5b\x04\x46\x8d\x71\x9a\x10\x48\xc8\xda\xed\x6e\x6e\x7c\x7b\xb7\xa7\x51\x32\xe9\x27\x93\xcb\x34\xac\xea\x7e\xe1\xa2\x70\xba\x7c\x9e\x50\x39\x24\x2e\x5b\xe8\x66\xf9\x33\x92\x97\x68\x9f\x24\x8e\xdb\x25\x4e\x8a\x32\x7e\x07\x53\x54\x1a\xc4\x71\x9a\x8c\x43\x5a\x24\x0d\x86\x23\x94\xd1\xaf\xa4\x74\xb1\x7f\xac\x61\xc4\x2f\xf4\x16\x44\xbc\x81\x29\x60\x48\xc6\x54\x07\x41\x91\x8b\x70\xe3\x3e\x4a\x26\xfc\xae\xee\x1d\xaf\xf0\xdb\x77\xdd\x75\xfe\xdb\xed\x25\x5c\x06\x6c\x24\x47\xbc\x89\x0e\x74\xf9\xe2\xbd\xa1\xe2\xe0\x9f\x3f\x5e\x7e\x20\x64\x71\x03\x7f\x5d\x42\x46\x7a\x51\x23\x4d\x68\x49\x48\x8c\x55\xb4\xe9\x79\x01\x25\x10\x09\xc9\x32\x3b\xe1\x9d\xd0\xd8\xcc\xf9\x8f\xb7\xd7\x57\x5c\x4d\x71\xa2\x06\x86\x6c\x91\x26\x19\xdc\xc1\x77\xe2\xba\x88\x38\xae\xdb\xc5\xb5\x1a\x76\x64\x05\x46\x47\x50\xd4\x48\x17\x90\x38\xf6\x4f\x67\x77\x36\x02\xfa\x3b\x83\x64\x52\xd9\xbb\x12\xdd\x5e\xb5\x06\xbe\xfc\xde\xf9\x32\xa9\xbb\x86\xb2\xa9\xad\xdf\xfc\xd6\xf5\xf5\x76\x4a\x96\x5b\x7d\x1d\xb1\x6d\xf5\x3d\x00\xa9\x1e\x10\x79\xdd\x8f\x65\x4c\x01\x57\xb0\x9d\x9a\x12\x30\x52\xf6\x83\xa1\xd6\x30\x8d\xb1\x56\x73\xa2\xa0\xa0\xf0\x0a\x4c\x1c\x70\x5d\xb4\x13\xb9\x85\xbb\x44\xf8\xaa\x28\x2d\x10\xd1\x8a\xb8\x4b\x44\x19\x48\xf8\x04\xba\x58\xbf\x9b\xaa\x74\x2d\x0f\x55\x35\x82\x21\xbb\xf5\xb1\x9a\xc5\x23\x44\x5c\xb7\x1b\x6d\x25\xf5\x02\xa7\x63\xc8\xb2\x0b\xff\x30\xe9\x13\x7e\x9f\xf2\x26\x21\x16\x40\xe3\xaf\x54\x25\xbe\x85\x18\xc6\x24\xc5\xfd\x38\x76\xec\x21\xed\xf2\xc8\x76\x11\xbf\x1b\x88\x18\x37\xec\x53\xb4\xaa\x1a\x70\xc8\x10\x8f\xb6\xb3\x40\x55\xb1\xca\x1b\x7b\xa8\xfe\xaf\xea\xb5\x29\x36\xb6\xb8\xde\xe5\x85\x2d\xc3\x81\x36\x53\x88\x2b\x96\x61\xec\x8a\xf5\xb9\x78\xbd\x4b\x98\xfc\x40\x2c\x96\x99\x0e\x47\x83\x84\x0f\x57\xe1\x1c\xea\xf6\xef\xe8\xaf\x68\x52\x67\x2a\x0e\x71\x11\x56\x0b\x36\xb3\x4c\x89\x9c\xe0\x18\xa5\x01\xed\x5c\x2f\x35\x4c\x85\x80\x99\x0a\x0c\x14\xa4\xb9\xb9\x30\x72\x91\x99\xef\xf7\x22\xdf\xdb\xd6\xb9\x06\x49\x3f\x2f\x16\x52\xa2\xaf\x9d\x02\x31\xb4\x86\xdc\xba\xfd\xd5\xae\x63\x71\xef\x56\xa6\x14\x59\x27\x75\x7b\xf6\x57\x3b\x08\xa2\x13\x68\x10\xf8\x4e\x4e\xf9\xa2\x10\x64\x5d\x60\xf7\x17\xa9\xca\x22\x2a\x92\xd9\x72\xf0\x09\x4b\x0e\x2b\xaf\xdb\x54\x24\xb0\xba\x33\x92\xe2\xf0\x01\x02\x40\xfa\xcf\xeb\x7b\x76\x4b\x3c\xfe\xca\x11\x48\x93\x5b\x9e\x7e\x3a\x0b\x93\x07\xf8\xaa\xcb\x28\x96\x21\xca\xfa\x63\x12\x3d\xc2\xd7\x60\xc7\xe7\x29\x21\xfd\x1d\x12\x70\x44\x0e\x82\xa9\x92\xbd\xe3\xf7\x94\xba\x6b\xef\xd9\x3d\xdc\x80\x64\x22\x48\xba\x67\xbb\xab\x95\x83\xeb\x01\x7d\x42\x82\x25\x61\x1a\x7d\x0f\x70\xfe\xeb\x06\xc6\x29\x9e\xf0\xcb\x82\x39\x6d\xd8\x7d\xbc\x12\x5f\x7e\x63\x30\x03\x8c\x67\x51\x3c\x39\x0f\x29\xff\xcb\xdb\x85\xf3\xf4\xcb\x28\x23\x2c\xad\x92\x4e\x1a\x77\x0f\xce\xce\xfb\x9f\x2f\xef\xbe\xfe\xb1\x7f\xf9\xf9\x2c\x30\x3d\x34\x8e\x2d\xa0\xd4\x62\xac\xa8\x85\xe3\x5a\x45\x74\xaa\x88\x4b\x8a\x4f\x60\x1a\x2e\x63\xf2\xc7\x30\x5e\x42\x40\x04\x8e\x4b\x8c\x21\x91\x69\x34\xc5\xc0\x83\x67\x4a\x65\x9f\x83\xe1\xa8\xba\x1b\x1c\x81\x2d\xbd\x79\x73\xcf\xdf\x56\x7d\x38\x99\xc8\x81\x28\xab\x88\x0a\x5d\x7e\x75\x13\xb7\x88\xde\x50\x29\x86\x79\xfa\x08\x95\xf5\x6a\xb6\x5e\x5e\xbb\xba\x57\xd1\xed\x91\x77\x81\x27\xd4\xc7\x1c\x2e\x2e\x0e\x24\xc8\x7f\x2b\x06\xc6\xa2\x94\xaf\x8f\xa5\x81\x0a\x2a\x86\xea\x64\xef\x4f\x0e\x37\x55\x56\xc9\x72\x7e\x0f\xd8\xfd\xfd\x1e\xbf\x05\x4d\xd8\x2d\x25\x1e\x70\x4f\x4a\x49\x5d\x9b\xdf\xa9\x9d\x5b\x3b\xa5\x2c\x27\x9a\xf0\x64\x8f\xbc\xd1\x68\xfa\xec\x94\x5b\x10\x8a\xa4\xd1\x44\xa9\x3b\xaf\xcd\x8c\x09\xc8\x29\x5e\xb8\x9a\x78\xc7\x94\x08\xe5\x7b\x84\xaf\x52\x62\xc9\xb2\x13\xdb\xed\x6d\x90\x20\x42\x14\x15\x18\xc0\xa9\x14\x53\x1b\x86\x52\x63\xcd\x6a\x5c\x5f\x43\xb5\x2f\x2e\x31\xdf\x86\xae\x67\xa2\xab\x4d\x82\xdf\x88\x2b\x6d\x52\xc8\xdb\x4d\xf7\x0f\xba\x2f\x5e\x10\xec\xee\xe2\x5a\x0d\x6a\x35\xba\xa4\x88\x4b\xff\x50\x14\x5c\x33\x56\x69\x7c\x83\x67\xa1\x51\xeb\x62\xd3\xdd\x64\x9c\x69\xe2\xb6\x0e\xba\x0e\x2a\xfa\xcb\xc4\x77\xad\xa6\xdb\xfc\x76\xde\x87\xcc\xa2\x38\xb3\x15\x37\xaf\xc7\x35\xe9\xf2\x00\xe4\x82\xc0\x9c\x2a\x3b\xaa\xfd\x48\xba\xd5\xb4\x62\x52\x2f\x51\x37\x39\x32\x87\xb2\x2b\x6e\x40\x8f\x86\xd9\x08\x85\x41\x26\x57\xcc\xd4\x45\x71\x10\x2a\xc5\x50\x13\xee\xb5\x5a\x61\x1e\x24\xee\x4e\x50\x35\x35\x74\xfa\x0c\xc3\x91\x31\x09\x44\xef\xb7\x65\x09\x12\x14\xd7\x6a\x0e\xae\xd7\x45\x7f\x9f\x93\xf1\xa9\x44\xc3\x09\xa9\x66\xb7\xf6\x82\x80\x0f\x95\xe6\xb4\x01\x43\xd5\x7f\x95\x29\x26\x30\x8d\x12\xc8\x73\x54\xaa\xc9\x1a\x21\x15\xba\x30\xea\xa5\x27\x82\x38\x74\xf1\x1e\xf0\x59\xcf\x56\xa3\x6e\x75\x01\x66\xfd\x6c\x16\x8d\xac\x28\xc2\xb5\x5a\x6a\x30\x3b\xfe\xd5\x7d\xd8\xa4\xbe\x7a\x3d\x92\xdf\x5d\x49\xa4\x7e\x5a\x2c\xed\x50\xd3\x79\xe8\x8d\x10\xfb\xeb\x8b\xbf\xcd\xd1\x1b\xd1\x60\x63\x84\x21\xa9\x5a\x9f\xcb\x4d\x21\xa9\x56\xa4\x89\x1a\xdc\x92\x32\x84\xa8\x15\x51\xa5\x7c\x50\x9a\x92\x92\xfa\x41\x53\x5f\xd7\x40\x34\x12\x17\x6d\x3a\x6a\x13\xd5\x6a\x6f\xbb\xbc\xfd\x42\xdc\xd8\xbe\x08\x71\x38\xef\x5a\x5c\x6d\xca\xb8\x06\x0e\x62\x91\x2c\xea\x52\x72\xa5\x46\xc4\x2d\x2a\xd1\xec\x36\x7e\xac\xe6\x9d\x21\x63\xca\x8d\x4b\x0b\x6a\xa1\xfa\xc9\xbc\x89\x55\xb3\x0b\x8f\x4c\x09\xca\xec\x8f\xd7\x68\x94\xa4\x24\x9a\x3e\xf7\xe3\x58\x17\xef\x12\x65\xa8\xc6\x92\x2b\x62\xac\xa0\x18\xc8\x8d\x3a\x49\xb1\x21\x91\x7f\x93\x2e\x52\x9c\x7e\x6c\x4d\x7c\x2b\x51\x20\xdf\x99\xc0\x01\x61\xaa\xbf\xdc\x8f\xa8\x1e\x23\x6d\x8f\xa2\x32\xc3\x30\x1a\x31\xbb\x9e\x55\x2b\x2a\xd2\xd4\x21\xbd\x78\x9e\x4c\x0b\x61\xc4\x35\xd4\x57\x89\xc2\x35\x62\x36\x2d\xaa\xa5\x12\xd2\xec\x18\x60\x1c\x87\x19\x07\xa5\x01\x46\xbb\xfe\x4e\x90\x2b\x6d\x69\x05\xf3\x0c\x96\x54\x63\x0b\x09\x58\x6c\xee\x30\x22\x71\xf3\x2e\x75\xd9\x1d\xa2\x16\xed\x59\x6f\x27\x5d\xad\x8a\x95\xf5\x5c\xee\x4f\x57\x4e\x50\xc7\x47\xfb\x9d\x4e\xab\x53\xb8\x54\x97\xe7\x62\xb7\xf4\xa6\xa8\xed\x22\xc2\x6d\xc0\xba\xdd\xa5\x8d\xf4\xf8\xd2\xb3\x61\x62\xf3\x99\x9f\xdf\x8b\x9c\x08\x53\x27\x5f\x36\x51\xd2\xc0\xc0\xee\x98\x8d\x1d\xb7\x4a\x0a\x0c\xd3\x51\x90\x20\xa1\x18\xa7\x72\xdd\xa4\xc4\x42\x99\x8b\x92\xd7\xf5\x05\xaa\x20\x95\xe9\x2f\x84\xd9\x03\x10\x06\x63\x49\x1a\x26\xd2\x12\xcb\x47\x06\x45\x01\x56\xd4\x23\x6e\x8f\x92\x33\xa2\x6b\x9b\x54\x9a\x23\xe4\x1b\xd8\x61\xd7\x45\x13\x88\x81\x40\x69\xf9\xa5\xdd\x22\x1b\xec\x12\x43\xb5\xae\xe6\x1b\x26\x5f\xa0\x6a\x5d\xdf\x22\x5e\x58\x2e\x2b\x8e\x32\x22\x66\x92\xe6\x99\x34\x51\x63\x73\x92\x79\x6a\xac\xc8\x35\xf7\xbb\x71\xa9\xfe\x1f\x64\xfd\xf6\x0f\x75\xa8\xff\x60\x4b\x3e\xfc\xa1\x9e\x5f\xa0\x8e\xd5\xbd\xba\x1b\x7b\x3d\x89\xa6\x53\xb5\x76\x94\xfc\xaf\x6a\xce\xbf\x84\x93\x09\x4c\xba\x2f\x6b\xc4\xc7\x95\x3d\x8e\xd3\xf9\x3c\x4d\xba\x6c\xb5\x60\x53\x18\xf4\x89\x4b\xc7\x89\xe4\x86\xcf\x30\x1a\xb9\x27\xb8\xc1\xcb\x0c\xe9\xcf\x51\xb0\xe3\x75\x71\x83\xd5\xac\x12\x0c\x81\xa0\x8b\x81\x61\x34\x8a\x12\x4b\x64\x5f\xad\xd4\x6f\x5e\x21\xb5\xd1\x05\xcb\x4d\x86\x44\xd4\xa5\xd1\xe1\x95\x11\x37\xd4\xa3\x8d\x44\xf0\x50\x6a\x30\x66\x56\x56\x6b\xcd\x01\x75\x51\x12\x38\xaf\x53\x9d\x39\xac\x91\xe7\xf6\x92\xe3\x54\xf6\x39\x91\xbb\xbb\x61\x90\x0e\x93\x11\x8a\x35\x11\x12\x32\x69\x15\x33\x3b\x52\x99\x8e\x31\x9d\x05\x3b\x55\x0c\x1f\x8e\x78\x4d\xb3\xed\xc2\x82\xd7\xba\x33\x73\x5f\x8a\x8e\xc6\xf0\x3e\x06\x8b\xa4\x16\x06\xaa\x36\x97\x25\x5e\xe8\xf6\xc6\x69\x42\xa2\x64\x09\xeb\x59\x59\xd0\x54\xe3\x14\xcc\x10\xd5\x4e\x67\xba\x61\xa1\xef\x19\x4a\x53\x82\xd4\x6a\xc4\x71\xd7\xee\x9a\xb9\xcc\xf8\x45\xd3\x99\x4e\xa5\x2d\x53\x3d\x1b\x26\xa3\x51\x6f\x87\xd7\xa2\x69\xb9\xe4\x0d\xd6\x4e\x66\x38\x7d\xff\xae\x4b\x69\x85\x21\x49\x8d\x10\xc7\x30\x77\x5c\x44\x0c\x8d\x7e\xa7\xca\x90\xaf\xd5\x1c\xf2\x36\xbf\x4c\x51\xa7\x78\x1b\x05\x0a\xca\x0b\x53\x5c\x82\xe1\xa8\x67\xec\x4c\x95\x64\xe1\x8b\x26\xc3\xf5\x11\x21\x79\xc1\x88\x16\xc4\x2e\x0b\x5c\xc8\x85\xbf\xf2\x8a\xa6\x5b\xb4\x23\x83\xfa\xe9\xe8\x6d\x44\x7a\xad\x60\x15\xdd\x40\x2e\x7d\xd2\xed\xf9\x8f\x31\x62\xcb\x8c\x90\x39\x99\x8b\xa0\x31\x4d\xf1\x59\x38\x9e\x39\xe5\xf1\xfb\x55\x26\x5a\x34\x9d\x56\xef\xba\x48\xb5\x5c\x29\xe8\x64\xb5\xda\xd9\xfb\x93\xb3\x4c\xb8\xa5\x31\x59\xdd\xa7\x69\x0c\x61\x22\x9c\x44\x2b\x6e\xa2\x16\x7d\x45\xe0\xae\x56\x8c\xf0\xaf\x6a\x64\xba\xa5\x57\x1d\x6e\xb0\x69\x76\x95\x97\xbf\x57\x66\x17\xed\xb5\x83\x0d\x67\x12\x22\x2e\xd3\x1a\x5e\xf7\x8e\x15\x0a\x4a\x23\xa9\x34\x85\xba\xc5\x7c\xaf\x2b\xa5\x3a\x09\xb6\x6e\xf6\x56\xd8\xc6\x84\xd9\x92\xaf\xb6\x91\xc1\x3f\x90\xb8\x62\x9b\x82\x5b\x00\x1a\xa9\x23\x4e\xdd\x2d\xb4\x3f\x29\x92\x9e\x98\x9e\x98\x8c\x7b\x62\x4c\x21\xc8\x76\xa0\x4a\x05\x37\x88\xb8\x57\x25\xaa\x8b\xf4\x35\x60\xcb\xac\x42\x40\x97\xe3\x57\x29\xfd\xf0\x8f\x5b\x22\x54\xdc\x0e\x23\xf4\x6b\x88\xc0\xf7\x45\x8a\x49\x3f\xfb\x8f\x59\x9a\x94\xe5\xf5\xcb\xba\x42\x5e\x1b\xa2\x2b\x9a\x3a\x1b\x24\x39\xe5\x38\x5d\xe0\x6b\x9a\x39\x79\x2d\x22\xad\xc7\xa3\x08\xa8\x0c\x7d\x89\x26\xdd\x14\xfd\x25\x4b\x93\xae\xa9\xfd\x13\x94\xba\x06\xfa\x7c\xa9\xa7\x06\xd4\x8b\xb6\xd7\x64\x90\x93\x8c\x7a\x59\x41\xea\x57\x0a\x7d\x86\xbb\x99\x53\x45\xb9\xbd\xea\x48\x8e\xe6\x14\xa7\x73\x9c\xce\x4d\xa2\x96\x67\xea\x46\xe2\xe5\x34\xa3\x98\xbc\x16\xbe\x17\x4d\xa4\x41\x6a\x2e\x99\xc3\x74\xd4\xcb\x56\x2b\x47\x02\x73\xb3\xd6\x21\x88\x05\x22\xa5\x94\xb1\x0b\x08\x3b\xac\x4e\x4a\x70\x61\x8d\x2a\xfb\xe8\x8d\x52\xa4\xec\x51\x2a\x6f\x9e\x98\x4e\xc5\xd7\xfd\x14\xc5\x0d\xbb\x57\xa8\xba\xa3\xcd\xde\xd5\xca\x0b\x02\xd2\x88\xc3\x8c\x5c\x48\x53\x30\x87\xd2\xc9\x2a\xa5\x9c\xf4\xc1\x96\x9d\xb7\xae\x8a\x04\x2e\xcf\x80\x17\xcd\x28\x2b\x78\x7e\x50\xca\xc6\xaf\x91\xc0\x13\x97\x65\x59\x10\x19\x4c\xd5\xcb\x82\x20\x88\x4a\xec\x97\x05\xdc\x7a\x13\xb6\x29\x93\x8a\xd4\x24\xaf\xd5\x1c\xb3\x7c\xa0\xac\xbc\x74\xb5\xa2\x23\x4a\x9f\x4e\x0a\x15\x76\xd3\xaa\x45\x08\xbb\x62\x57\x15\x43\x96\x2e\xf1\x18\x82\x17\xf9\x94\x7d\xe5\x86\x99\x02\x51\xcb\xa9\x6c\xd1\xe6\xe0\xbc\x20\x73\x01\xd2\x11\xeb\x12\x94\x84\x73\xe8\x02\x9a\x84\x24\xec\x62\xb3\xbe\x62\x58\x84\x6e\x1f\x57\xd6\x5b\xb0\x69\x49\x21\x96\x5a\x66\x64\x22\x50\x49\x40\x65\xc2\x6e\xc0\xb4\x88\xd2\x20\x24\xe1\xff\x0b\xd0\x6a\x50\x8a\x55\xe1\xf6\x19\xc7\x95\xcb\xb3\x99\x93\x41\x64\x54\x21\x23\xbe\x5d\xc7\x0d\x3a\x26\x75\x1b\xd1\x47\x59\xbd\xdc\x92\xa1\x8b\x0a\xd7\x4f\xf3\xc4\xc6\x29\x0b\x2b\xa9\x98\xb8\x1c\xfe\x55\xee\xf6\xa6\xc6\x46\xb5\x08\x46\x91\xcb\x29\x95\x04\x94\xdb\x26\x94\x81\xe8\x4c\x87\x44\x6e\x22\x29\x50\x49\x23\x35\x31\x28\xc8\x15\x5e\xa4\x3c\x48\x66\xc3\x54\x7a\x07\x06\xba\x9a\x44\x65\xc1\x22\x26\xea\xa5\xd0\x91\x1c\x34\xc4\x23\x21\x9e\x36\xe2\xf5\xb6\x5d\xe2\xaf\xfa\x36\xf1\xc6\xba\x7e\xe5\xe6\xf0\x57\x7d\x77\x98\x79\x4d\x8a\xdb\xc3\x5f\x8b\xfb\xc3\x1b\x9b\x66\x91\xab\x9b\x07\x9c\xc3\x1d\x17\x15\x76\x7d\x44\x38\xfc\xc6\x6a\xc5\x36\xd9\x96\x50\x8d\xaf\x8a\x6b\xdf\x52\x51\xd1\xd1\xf4\x1b\x6a\xca\x2a\x50\xca\x23\xe5\x5e\xd6\xbd\x48\xdb\xdf\x50\x55\xd3\x15\x30\x42\xf8\x4d\x55\x6f\x47\x32\x7b\x0b\x92\xb9\x2a\xba\xb5\x2e\x9e\xed\xd7\x54\xb7\x1d\xb7\x0d\xf5\x5d\xa6\xe3\x30\x2e\x45\x3b\xa6\xe5\x28\x15\x25\x1f\x44\xb8\x5a\x4c\x0b\x8a\x5a\x90\x48\x0b\x27\x93\xb3\x47\x48\x88\x92\x08\xb6\x28\x65\xcb\x2d\xa9\x5b\x89\xce\x06\xd9\xc0\xd0\xa9\x52\x0f\xbe\x96\x82\xe9\x25\x46\x7d\x0c\x61\x51\x28\xa8\x50\xae\x34\x9e\x94\xa2\x0e\xf2\x54\xb7\x9b\x3f\xb3\x93\x15\x72\x3d\x37\xb3\xcb\x54\x9a\x5d\xad\xf8\x92\x9f\xa8\xe9\x3f\x0a\x5e\x64\x35\x74\x79\x14\x59\xba\x38\x57\xb2\xd3\xc0\xeb\xa5\x9b\xa4\x53\x5a\x21\x9d\xd2\x91\x13\xf1\xed\xa4\x4d\xa4\xf9\x57\x48\xa7\x62\x55\xff\x76\xc2\xa9\xd8\xf2\xdf\x47\x36\x15\x6b\xad\x16\x4d\x9a\xad\xa2\x8b\x15\x66\x14\xf2\xcd\x9e\x52\xac\x3e\x76\x09\x7e\x7e\xc1\x7a\xc0\x1f\x76\xf3\xb8\xfb\xb5\x6e\x3b\x72\x96\x66\xda\x37\x76\xdf\x86\xe0\x16\xdf\xfa\x1a\x45\x81\x74\x9d\xef\xfa\xbd\xe8\x1d\xb5\x14\x76\x77\xa5\x79\x00\xc3\x68\x24\x6d\x83\x52\x67\xd2\xea\xce\x64\xbc\x33\xc3\x74\xa4\xf7\x27\xd3\xfa\xc3\x60\x19\x37\x0e\x40\xdf\x4a\xf9\xcd\x1d\xdd\x24\x91\x4b\x72\x93\x8f\x02\x2a\x86\x3d\xb8\x6c\xfb\x5e\x6b\x1d\xbf\xad\xc1\x8d\x94\xd5\x3c\x29\xa5\xe6\x71\xb1\x79\x18\xe2\x91\xeb\xf6\x0a\x8e\xe2\x57\x30\xf8\x55\xf2\x5d\x30\x1f\xfa\xad\x4d\x6c\xe6\x20\xaa\x0d\x41\x49\xff\xa9\x6c\x9e\xf6\xf2\x95\x4e\x7e\x84\x79\xaa\x9f\x5c\x7b\xc3\x3a\xf1\xb2\x2e\x57\xf0\xf7\x11\x5f\xa5\xba\xfe\xed\xe4\x57\xa9\xe9\xb2\x00\x93\x47\xf5\x7a\x66\x24\x82\xb1\x3e\x91\x21\x36\xd6\x0c\x1d\x48\xcd\x4b\xb5\x84\x70\x0b\x64\xdd\x2b\x92\x16\x55\x1f\xaa\x52\x91\x04\x81\xd7\x83\x4d\xcb\x0d\x54\x2c\x37\x30\x72\x88\x19\xd1\xef\xbd\x26\x74\x4b\xa4\x78\xb3\xd4\x15\xce\xaf\x7f\x98\xb4\xdd\x84\xd9\xdf\x57\xdc\x8a\x63\xc4\xff\x8f\x88\xd9\x52\x0f\xb7\x6b\xbe\x25\xea\x17\x13\x4a\xe1\x66\xdc\xab\x9b\x52\x36\x4e\x99\xe9\xaf\x78\x35\xca\x99\x93\xfc\x23\xd8\x30\x2d\xb1\xe1\xf6\x05\x60\x13\x29\x8a\x83\x2d\x07\xda\xdc\x6e\x02\xb6\xdd\xb4\x71\x2a\x46\xda\x54\xa4\x3c\xb0\x46\x45\x78\x91\x72\x6c\x4f\xbb\xf7\xf7\x27\x0b\x36\x83\xf0\x5e\x59\x30\x36\x48\xc8\x8a\xe9\xa9\xef\x94\x6a\x0c\xf1\xdb\xeb\xff\x15\x2b\x52\x75\xdb\x43\x3c\x1a\x6d\x58\x8d\xee\x20\x23\x9b\x4f\xf6\xa5\x0f\x01\xac\x56\x3c\x22\x50\xcb\xd9\xb8\x4c\x1f\x0a\x85\x4b\x21\x41\x14\x76\xb3\x4c\x36\xbd\xc9\xc0\x2c\x2c\x32\xcb\x5d\x81\xcd\x75\xa7\x89\xc8\x7a\x9a\xce\x17\xb4\xab\x46\xfd\x9b\xcb\x11\xc8\xc8\x27\x0c\xe1\xfc\x3e\x2e\x1e\xb1\x7c\xa5\x50\x9a\x91\xb7\x94\xba\x4c\x1f\xb4\x1c\x81\xd8\xdb\x97\x1a\x4a\xf8\x08\x2a\xb4\x79\x12\x92\x30\xb0\x6d\xfd\x90\xc3\xd7\xc2\x6f\x76\x76\xf5\x6b\x20\x82\x8b\x45\x5d\x5f\x03\x40\x43\x3b\x4e\x1f\x6c\x64\x4f\xe0\x7e\x49\xff\x46\xc9\x34\xb5\x91\xfd\x14\xe2\xc4\x46\x36\x3b\x1e\x63\x8f\xd4\x8e\x26\x04\xef\x5e\x62\x20\x16\x09\x6c\xbb\x97\x3d\x45\x42\x56\x8e\xc3\x0c\x44\x0d\x5d\xf6\xcc\x8a\xf3\x47\x5e\x45\x97\xda\x79\xc6\xb1\x15\x16\x81\xb0\xa6\x98\x10\xb5\xe5\x2c\xd0\x92\xc2\x8f\xf9\x01\x0a\x80\xc0\x71\x1a\x8d\x06\xb8\xc1\xbb\x9c\x10\x6a\xff\x2a\x24\x61\x5d\x0f\xfe\xfd\x5a\x27\x75\x68\xfc\x25\x8d\x12\xc7\xb6\x6c\xb7\xce\x8e\xdc\x22\x2c\x0e\x03\x1b\x55\x53\x1e\x71\xd7\x2e\x1a\xda\x0f\x38\x5d\x2e\x6c\xc4\xff\x9e\xa6\x71\x1c\x2e\x32\x98\x14\x88\xc0\xf1\x26\xbf\x0a\x6f\x08\x6c\x9b\xe1\xcd\x74\xc9\x37\x20\x0f\x02\x61\x73\x5c\x2d\xcb\x6e\x60\x58\x40\x48\x9c\x7a\xbd\x34\xc4\xac\x17\xbd\x4a\xf4\x1a\xac\x47\x67\xc9\x84\xaf\x2c\xf2\xd7\x86\x4c\x81\xe3\x70\x64\xb7\xb4\xbf\xbb\x5b\xd9\x7e\x81\x91\x6f\x97\x11\xd9\x18\x7a\x9e\x1b\x1a\x24\x2f\xf2\x55\xb9\x7f\x68\xd1\x2b\xed\x78\x4b\x06\x64\xb9\xa0\x72\x56\xed\xb3\x19\x59\xa8\xc2\x4a\x9b\x0e\x2a\x30\x90\x30\x44\x1a\x93\x28\x0b\xef\x63\xd8\x98\x53\x83\x23\xb6\x93\xb7\x31\xa7\x80\xe5\xb9\x58\x1c\xd2\x96\x9c\x14\x8e\x08\xeb\x2c\x7d\xe4\x2a\xb9\xe8\xfb\x82\x1f\x2b\xca\xe5\x85\x0c\x5c\xe0\xf2\xcf\xa9\xaa\x56\xe5\x65\x61\x27\x74\xd8\xf1\x72\x4c\x52\x5c\x85\x43\xd5\xb8\x34\xb2\xe5\xfd\x38\x0e\xb3\x0c\x44\xc0\x20\x71\x11\xa9\x1c\x41\x2d\x27\x45\x7a\x0b\x85\x2b\xe2\x8a\x95\x76\x2d\x7b\x2a\x7c\xf5\x79\x34\x26\x05\x58\x6c\xd3\x82\xb9\xeb\xf9\x6a\x54\x2d\xd7\x85\x50\x47\x44\x9e\x26\x10\x75\xd2\x69\x26\x0e\x77\x29\xfa\xf2\x4e\xe1\x6a\xa6\x34\x18\xe1\xdf\x0e\x69\xe3\xd8\xc3\x80\xa3\x30\x61\x75\xb1\x38\xe6\xc6\x74\x19\xc7\x94\xa3\x37\x20\x2d\xf9\x71\x53\xc8\x8a\x46\x8e\xad\x15\x98\x21\x73\xe5\x3a\x18\xfd\xaa\x6b\x30\x14\xb9\x8a\xa8\x88\x92\x35\x4f\x98\xba\x44\x0d\x2a\x6e\xdc\x9f\x50\x0d\xa2\x4b\x2d\xac\x37\x34\xb0\x5c\x6c\x5d\x93\x8b\x25\x16\x6f\x5b\x95\x4b\xc5\xde\xb8\x2e\x97\x98\x25\x77\x95\xd0\x1a\x4f\xe9\x14\x91\xe2\x8a\x92\x91\xc9\x26\x21\xcf\xe4\xc8\xb2\x77\xc7\x08\xb9\x55\xb7\x87\x76\x9d\xd4\xed\x91\x9d\x97\x39\x17\xd5\x7f\x0d\x70\x55\xf3\xba\x4e\x57\x50\x88\xf8\x2b\x28\x8a\xd5\x88\x15\x4f\xb4\x8a\x86\x80\xb8\x2e\x72\xb3\x4c\x1a\xe3\xef\x23\x69\xf6\x70\xbe\x37\x4e\x1c\x9b\x8d\xdf\x40\xb6\x8c\x09\x4b\x92\xea\x92\x38\xe4\xdc\xa3\xa4\x8c\x12\x12\x27\x8e\x4d\xc1\x16\x0e\xa3\x0c\x26\x56\x98\x58\xf0\x7d\x0c\x0b\x22\x5e\xb2\x44\xc5\x0b\x7f\x0d\x06\x0b\x81\x63\x4f\xa5\x13\xce\x27\x79\x65\x22\x8b\x58\xc4\xe9\x72\xe8\x76\x4b\x50\xd7\x45\xd0\x18\x0b\x84\x68\xeb\x5f\x1d\x68\x9c\xf7\x2f\x2e\xcf\x06\x68\xc7\xe7\x1e\xda\x0a\xe5\xb0\xca\xf5\xa3\xad\x42\x72\x10\x99\xce\x4a\xbf\x85\xf2\xf4\x3d\x20\xab\x95\x3c\xff\x39\x0d\xa3\x78\x89\xb9\x48\xe4\x8b\xa1\x92\x90\x42\x65\x0e\x31\x19\x84\x04\xd8\x9b\x48\x84\xbe\xb6\xc4\x21\x6d\x56\x4b\x12\xdb\xca\x9c\xbe\x5a\xfa\x3c\xfc\x7e\x2e\x5b\xf0\x64\x03\x49\x34\x56\xba\x1f\xc5\xf7\x9f\x96\xb0\x84\xaf\xe2\xdc\x66\x45\x3f\x35\x76\xe9\x5f\x5e\x7e\xbd\x3b\xbb\xbd\xbb\x2d\x1d\x3e\x3d\x0e\xe3\x78\x97\xd6\x96\xbd\x63\x07\x50\xb7\xd7\x93\xb1\xb3\xe0\x25\x31\x54\x40\x49\xf7\x0b\xbd\xa5\xbe\xa2\xa6\x60\x9a\x26\x64\xb5\x62\xf5\xab\x3e\xa0\x88\x45\xf6\x1a\x02\xcd\x71\x51\x16\x78\xbd\x2c\x0f\xc8\xcd\x64\xbc\x46\x12\xa4\xc3\x8c\xbf\x55\x4c\x86\x1b\xaa\xaa\x5c\x11\x61\xa0\xf8\xf0\x06\x1e\xce\xbe\x2f\xf8\x16\x34\xe6\x61\x73\x89\x9a\xce\xae\xab\xc2\x66\xe5\xfb\x01\x72\xe0\x4e\x80\x15\x58\xd8\xf0\x8a\x58\x4e\xe2\xa2\xa8\x5e\x5f\xeb\x6f\x6c\x79\x0b\x61\x3e\x85\x84\x00\xde\x10\xcd\x12\x78\xe2\x10\xfe\x2b\xcb\xbb\xee\x66\x14\x9a\xa6\x46\xf6\x4a\xed\x22\x2f\x3d\xc4\x23\xa4\x85\x37\x89\xa1\x88\xd3\x07\x11\x6c\x7c\x95\xb2\x05\x2c\xb3\xe6\x54\x92\xc0\xff\xcd\xde\xbb\x6d\xc7\xad\x23\x89\x82\x0f\xf3\x30\x6f\xf3\x38\x2f\xf5\x30\x14\xba\x2b\x4d\x96\x90\x69\x92\x79\x63\x32\x4d\xab\x65\x59\xda\xdb\xed\x9b\x4a\x92\xed\xea\x4a\x69\xfb\x50\x99\x48\x89\x6d\x26\x99\x4d\x22\x75\xd9\x96\xaa\xd7\x9a\xbf\x38\x6b\xcd\x17\x9c\x7f\x98\x35\xff\x72\x7e\x60\x7e\x61\x56\x04\x00\xde\x33\x25\x79\xef\x7d\xd6\x3c\x1c\x57\xed\x14\x08\x06\x02\x81\x40\x20\x22\x00\x02\x81\x99\x26\x50\x83\x93\x37\x4d\x02\xce\x92\xc0\x97\x91\x0e\x6a\xde\x45\xbd\xd1\x71\xf4\x29\x9a\xfa\xab\x8b\x4b\xbe\xaf\x74\xc7\xd7\xa6\x3d\xfd\xa6\xe7\xb1\x3c\xbc\x8b\x2a\xa3\x85\xc1\xf9\x43\x5a\x8b\x18\xe2\x78\x47\xa1\xb8\x88\x98\xe1\x6a\x38\x80\x67\xc4\x90\x8a\x6d\xcb\x1c\xab\x93\x9d\xa5\x41\xda\x6a\xb1\x2d\x2f\xaf\x53\x9e\x55\x2c\x81\x74\xd8\xcd\x92\x4d\x39\x9b\xe1\xa6\x31\x19\xf2\x20\xdb\xb2\x42\x66\x2b\x5c\x93\x1a\x37\x9c\x00\x96\xe5\x05\x49\x72\x97\x54\xf9\xd5\xe1\xfe\x87\xd7\x6f\x3e\xfc\x84\x41\x28\x88\x3f\xe7\x2c\x51\x13\x05\xe8\x13\xa6\x76\xa9\x49\xea\x32\x15\xac\x91\xed\x60\x9b\x08\xbf\x05\xa6\x67\x6e\x33\xe1\xf0\x3e\x77\x43\xaa\x78\xd9\x36\xa1\x1a\xda\x2c\x97\x6c\x27\x46\x83\x06\xab\x28\xe3\x06\x80\x5c\x3b\xd3\x2d\x6b\x9d\x82\xde\x34\x4d\x2f\x7f\x6b\x64\x32\x54\x4a\xae\x5a\xd9\xb5\x06\x6a\xb7\x5d\xd6\xc2\x79\x53\xd4\x3c\x47\x2f\x34\x0f\x26\xbf\x7a\x41\x8b\xcb\x21\xb3\x4d\xa4\x50\x50\xc5\x2d\xa5\xf5\x73\x00\xc8\x29\x00\x2c\xd2\x93\xf8\x98\x4d\xe3\x68\x96\x7e\x2d\x53\xa6\xce\xf4\xa5\xab\xc5\xc2\x4f\x82\x5f\x99\x6e\xa8\x2f\xb3\x71\x84\xfc\x2d\xa8\xff\x82\x35\xaa\x73\x40\xae\x32\xb9\xd5\xbd\x91\x75\x56\x95\xd6\xea\xe8\x56\x6d\x9d\xa6\x91\xdf\xa2\xa3\x1a\x57\x45\x4a\x4e\x86\xc2\x51\x5a\xdb\xd0\xd5\xe9\x81\x1b\x30\xcd\xa9\x70\xb5\x6a\x2f\xf9\x4d\x61\xc1\xb5\x2e\xbc\x6a\xf8\x14\xc4\x37\x88\xb4\x0c\x0d\xc8\xae\x2e\x63\x6a\xed\xc8\xbf\x6e\x76\x66\x52\x9a\x49\xf3\x5e\x7e\x86\x16\x23\x89\x75\x0e\x77\x8f\x8f\xf7\x5f\xef\x54\x45\x5a\x05\xcc\x71\x59\xd6\x53\x2f\xfb\xa6\x3a\xef\x9f\xeb\xb9\xe3\x30\xbe\x16\xc3\x87\xc7\xf1\xb7\xc6\xee\x66\xb5\xbe\xae\xc8\x9b\xaa\x0c\xb4\x97\x18\x07\x46\x59\xaa\xb2\x83\x92\x85\x71\x23\x6c\x23\x88\x06\xc6\xa4\xf9\xde\xd8\x2c\xa3\xa8\x4b\x4a\xbc\xcc\xb6\x44\xad\x42\xae\x29\x55\x87\xa1\x4e\x8a\x43\x5d\x1c\x0b\xc9\x98\x51\xe6\xe4\xb8\x38\x32\x94\x65\xc7\xbc\x64\x15\x7d\x60\x37\x5c\x0c\xf6\x27\x08\xd7\x11\x6b\x10\xaf\xcc\x15\x2b\xd0\xff\x0e\xcf\xeb\x49\x58\x6d\x1e\x27\xd9\x6c\xa9\xb1\x01\xbc\x74\x1a\x4d\x52\x5c\xf8\x9c\x94\xe0\x09\x9c\xd2\x48\x97\x0b\xfc\x49\x76\x24\xad\xda\x19\x8f\x68\x56\x91\x0d\x4d\x91\x01\x90\x91\x77\x77\x5b\x55\x2f\x49\xee\x72\x2c\xf6\x5d\x7d\x0c\xeb\x46\x66\x87\x0a\x4e\xa1\x94\xcf\x8a\x3e\x7a\xe9\x55\xe1\xd6\x09\xc6\x7b\xff\x26\x58\xac\x16\x9a\x44\xa0\x4d\xe3\x55\xc4\xb5\x84\xf9\x60\xc3\xa9\xe6\x9f\xc7\x09\x0f\xa2\x0b\x21\xf1\xc9\x2a\xea\x28\x2b\xd3\x48\xa0\x58\x37\xaf\x34\x6f\x62\x9e\x51\xde\x60\xc2\x76\x9a\x0c\x1e\x08\xb9\x8b\x42\x8e\x3a\xa6\xd5\x2a\x4d\x46\x58\x61\x8a\x75\x77\xa7\xf3\xc2\xe8\x6c\x52\xe7\x98\xa7\x17\x0b\xe5\xb3\x2e\x8c\x0d\xc8\xae\x4b\x28\xf5\xaa\x4e\xcb\x74\x58\xf1\xbb\x50\x33\x23\x33\x47\x45\x13\x66\x5d\xc3\x79\xeb\xe3\x54\x94\x08\xfe\xb4\x96\xad\xf7\x99\xba\x2d\x36\x2a\xf3\x45\x1b\x27\x10\xb5\x25\x08\xf1\x42\x2c\x42\x70\xaa\x4a\xd5\xf4\xb7\x9c\x3a\x37\x58\xec\x5c\x9f\xf3\x6c\x86\xbd\x19\xac\x22\xe5\x32\xe6\xdb\x83\x9c\x6c\xd4\xfb\x92\xa9\x28\x86\xaa\xf6\xcd\xcc\x6d\x12\x8a\x27\x33\xbc\x2c\x9d\xc9\x2a\xd2\x9f\x6a\xb0\x8a\x84\x27\xab\xe8\x91\x36\xeb\x51\xba\xa6\x21\xfc\x9d\x74\x61\xc8\xd1\x2a\x8a\xa0\x5a\x69\x9e\x6a\xba\x46\xba\x80\x7a\x6a\x90\x9a\xf7\x21\xd9\x52\xf7\xc0\x6b\x61\x9a\x0a\x73\x5b\xe9\x6d\xd1\x1f\x32\x07\x45\xeb\xd9\xb0\xaa\xa5\xb3\xe7\x16\xeb\x1a\x1d\x1e\x1f\x04\x37\x6c\xa6\xdb\xc6\x36\x49\xc9\x23\xa6\x4e\xca\xc3\x6a\xd2\xc5\x15\x8d\x69\x34\x7c\xf6\xab\x80\xe4\x1f\xfd\x0a\x7d\x2e\xcc\xb7\x5b\xf5\x0b\x27\xec\xac\xe2\x43\x8f\x9b\x3b\xa2\xe6\x5f\x9c\x48\x41\xd1\x82\x48\xd9\x3b\xf7\x11\xdd\xa8\x5d\xb3\x84\x69\x51\xac\x94\x74\x95\x3b\x52\x2f\x34\x2e\x5b\xc9\x85\xa0\x6c\x89\x1d\x1d\x0d\x9e\x8f\x5f\xb5\xa6\xfa\xc8\xa5\x0c\xe9\xdb\x60\x5a\xce\x52\xc4\x8b\xc6\xd9\x90\x0c\xf3\xda\xb8\xcc\x94\x77\xa5\xc4\xe3\x91\x25\x8b\x66\x30\x69\x7a\xa8\x80\xe8\x17\x4f\xf6\xcf\x83\xe0\xc2\x7b\xf2\x88\x9c\xfb\x35\x83\x17\xe7\x8f\xf5\x55\x0f\xe1\x5a\x79\x6c\x4d\x5b\x8a\x85\x8b\x1f\x04\x65\xdc\x80\xfa\x3a\x2c\x79\xc4\x2c\x36\x93\x8c\xa4\x61\xda\x06\x93\xb4\xdc\xd1\x2b\x82\x89\xdc\x07\x99\xde\xa4\x62\xd6\x0d\x79\xac\x39\x91\xdf\x5b\x8d\xa2\x20\x6c\x95\x24\x41\xae\x1b\xc8\x60\xc0\x5f\xc1\x88\xa3\xe2\x2b\x2d\x1d\xce\x82\x99\x10\x65\x61\x20\x7c\xed\xca\x0f\x57\x4c\xf3\xa3\x59\xe1\x15\x46\xd1\xd4\x16\x71\xc2\x30\xb4\x70\xe6\x98\x34\xcc\x3c\xf3\xb9\xe6\x9a\x71\x51\x3e\x91\xc5\xa6\xbc\x28\xa2\xf5\xae\x6e\x16\xe4\x75\x3d\x5f\x9a\xc3\xca\x76\xd7\xf8\xaa\x18\x52\x1f\x47\x25\xf6\xe5\x27\x62\x8b\xfc\x82\xc2\x33\x2d\x5e\xf1\xdf\x8b\x09\x92\xbb\x40\x6d\xc3\xf2\x9e\x24\xb5\xd5\x2a\x47\x5b\x2e\xbe\x53\xd6\x5f\xb5\xaa\x61\x8a\x2a\x5f\x15\x8d\x4a\x7d\xa1\xb0\x46\x59\xa9\x61\xf5\x4f\x36\x6b\x19\xf7\xa4\xe5\x01\x89\xa0\x20\xda\x60\x58\xaa\x33\x62\x35\xfd\x6e\x04\xca\x67\x36\xd9\xb9\xc4\x2c\xec\xb4\x54\xde\x2f\xec\xbb\xbb\xe2\xc9\xc2\x07\xd5\x86\xa8\xf0\x41\x16\xf9\x49\xe2\xdf\xee\xff\xb5\x81\x3b\x5b\x0c\x26\x1f\x6a\x5d\x8b\xb5\x5a\x5b\x1c\xe3\xf5\x48\x82\xb6\x3c\x5e\x9e\x8a\x6c\x59\xe3\x35\x1b\x43\xb6\xb7\x13\x03\x4a\x4e\x92\xb3\x2d\x8c\x7b\x99\x97\x50\xab\x66\x0f\xd3\x99\xa6\x2c\xe1\xfb\x7f\xad\x19\xa5\xec\xeb\x70\x20\x77\x91\x13\x71\x8c\xb9\x10\x9d\x5b\x4d\x67\x98\x0c\xd0\x9e\x07\x7c\x2f\xc4\xd6\x5e\x77\xae\xbb\xba\x19\xc8\xb8\x2f\x1c\xdb\x94\x13\x28\x6b\x07\x50\x6c\xf3\xc2\x77\x07\xb7\xf8\x80\xab\x0a\x5b\x9e\xc7\x5b\xad\xad\x86\x10\xad\xd2\xac\xab\xae\xc0\x1e\x30\xb2\x53\x83\x3b\x64\x42\xb6\x93\x6d\x72\x46\x5c\x42\xc6\x99\xe3\xa0\x13\xc5\x12\xb2\x1d\xcb\x89\xec\xa5\x3c\x73\xe9\x87\x21\x4b\xde\xc5\x53\x94\xde\xaf\xba\x25\xb6\x4f\x6c\x03\x87\xb6\x89\xb6\xe5\x79\xf8\xc0\x8d\xfa\xb7\x8e\x35\x7c\x6f\x90\x0e\x73\xcb\xf3\xb2\x60\xd5\x7c\x27\xfb\x2c\xd5\x48\x24\x36\xe0\x31\x24\x66\x5d\xf3\x08\xd2\xea\x68\x1a\x96\x9d\x9a\xc2\xab\x27\x6a\x47\x67\x52\x0f\xb1\x3e\x61\xdb\xf6\x59\x07\x97\xa5\xf5\xe7\xfa\xe4\x97\xe7\x67\xdb\xee\xe9\x6c\xdb\x80\x9f\x53\x63\xe7\x9f\x9f\xe7\xbd\xbf\xc3\x27\xd6\x99\x4b\x76\x76\x76\xc8\xc3\xc4\x4a\x1d\xdc\xfc\xfd\x03\x74\x41\xe6\x8e\x3f\x42\xaf\x01\x6b\x4b\x98\xaa\xda\x42\x4a\x94\x52\xfc\xec\x61\x45\x5f\x5f\xe5\xab\x37\xc1\x4f\xd3\x9a\x29\x6a\x40\x29\xdc\x23\x85\xf2\xd3\xc9\x81\xf3\x1a\x2f\xa3\x48\x6a\x85\xcf\x6f\x39\x4b\xdf\xb1\x39\xcf\xb7\x1a\xcd\xd8\x61\x1c\x44\x59\x46\x18\x5f\xb3\xe4\x55\xbc\x8a\x66\x9e\x59\xc1\x56\x0a\xaa\x06\x39\x6b\xbe\x77\x10\x42\x1b\x36\xaa\xc9\x65\x75\x3c\xab\x9f\xec\xc5\x33\xb6\xcb\xf5\x04\x17\x4d\x4c\x69\x0b\x32\xe2\x8c\xe0\x85\x67\xd9\xc3\x1d\xbe\x2d\xc1\x11\xd4\xb5\x46\xf6\x0b\x2f\x68\xb5\x82\x17\x9e\x6d\x77\x77\xf4\x4a\x03\x82\xb6\x35\xb2\x69\xa5\x99\x56\xad\x55\x96\xed\x18\xae\x6d\xf7\x32\x54\xdd\x51\x03\x2a\xdb\xee\x55\x51\xd9\x35\x54\xb6\xd9\x03\x5c\x3d\x33\xc3\xd5\x1b\x36\xe1\xea\x99\x55\x5c\xdd\x1a\xae\x41\xbf\xdf\x1d\x00\x32\x27\x43\xd6\xb7\x1a\x91\x39\x55\x64\xbd\x06\xc2\x46\x43\xab\x6f\x1b\xae\xdd\xcf\x59\xd6\x6f\x62\x99\xdd\xaf\xb1\xac\x5f\xa7\x6d\x68\x99\x8e\x33\xe8\x19\x2e\xdf\xf6\xc8\xff\xfb\xff\xfc\xdf\x24\x8b\xbb\x6d\xd9\x19\xbd\xd6\xc8\xca\x8d\x7c\x86\xae\xdd\xae\x0a\x5a\x85\x88\x17\x2f\x06\xc6\xb6\x1e\xb4\xa1\x5f\x68\x5d\x14\x8a\x91\x0e\xb3\x32\xea\x18\x50\x4e\xe3\xdd\x5d\xbf\x6f\x8f\x06\x2f\xbc\xb8\xd5\x8a\x5f\x78\xfd\x61\xb7\xd7\xbd\xbb\x8b\x5f\x5a\x96\xd5\xb3\x2c\x6b\x47\x11\xee\xc6\x2f\x90\xd3\x90\x21\x54\x5f\x67\x9e\xc4\x8b\x3d\x29\x93\x7a\x6c\xb8\x7a\xdc\x16\xbd\x41\xd7\xc0\x60\x4d\xdb\x7a\xfc\xf2\xe5\x4b\xcb\x6c\x59\xa6\xdd\x35\x68\x7f\xd0\xb5\xcd\x6d\x1d\x1e\x5a\xb1\x61\xc8\xa3\xf6\x9a\xaa\xb6\xca\x63\x93\x26\xed\x76\xe9\x66\x18\x79\x7d\xcc\xc9\x81\xd3\x34\xc5\x16\x0e\x48\x61\x2c\x1a\xb2\x80\x54\x5e\xf2\x2e\xa3\x6a\xe9\x1f\x1f\x93\xd8\x1e\xd5\xb3\xc8\x4d\x23\x40\xae\x74\xb3\xae\x97\x0c\x97\x20\x83\xae\x35\xc2\xaf\xb4\xdb\x56\x56\x47\xb6\xf3\xbb\x84\x7f\xdb\x32\xc6\x12\x7d\xa1\xb3\x76\x74\x81\x7f\xb0\xad\x0b\x2e\x06\xc6\x8b\x17\x96\x69\x64\x3c\xa5\x40\xb0\x2b\x89\x90\xdf\x75\x25\x45\x18\xd0\x00\xa8\x16\x7a\xc3\x28\xeb\x8d\x71\x16\x35\x0e\x46\x81\x89\x43\xb4\xb9\x63\xad\x91\x7d\x17\xbc\x7c\xf9\x72\x60\xd0\xd4\xb3\x0c\x37\x78\x81\x15\xf4\xd7\x16\xb0\xed\x1e\x16\xb0\x6c\x28\x61\x1b\xee\x5a\xc0\x9e\x29\x00\x1d\x00\xec\x1a\xe3\xf4\xa5\x39\x36\x52\x18\x1c\x6b\x48\xb1\x1d\x41\xca\x5f\xd2\xd6\xa0\x5b\xbe\x44\xe8\x7a\x2a\xee\x0f\xbb\x9e\x76\xa2\x55\xf8\x25\x98\xf1\x4b\xcf\x14\xcf\xd3\x38\xe2\x49\x5c\xce\x4b\xd8\x85\x9f\xcc\xf6\xfe\xfd\xdb\xee\xe2\x3c\xb8\x58\xc5\xab\xd4\xdb\xb2\x24\x78\x21\x53\x94\xb1\x15\x9e\xc5\x79\x10\xc1\xc4\x77\x32\x19\x0e\x1c\xea\x0c\x47\x67\x74\x62\x59\xfd\x3e\xb5\xac\xbe\x83\xe9\x81\x49\x2d\x6b\x60\x41\xba\x67\xf7\xa9\xd5\x1b\x20\x4c\x6f\x68\x51\xf8\x11\xe9\x2e\xa4\x7b\x22\x3d\x80\xf4\x50\xa4\x47\x90\x46\x78\x18\x68\x56\xbf\x2b\xd2\x7d\x9b\x5a\xfd\x3e\xc2\x0c\x2c\x8b\x5a\x83\xae\x89\xe9\x9e\x43\xe1\x07\xd2\xc3\xbe\x49\xad\xe1\x00\x71\x0e\x07\x43\x48\x8b\xfc\x21\xe4\x0f\xbb\x90\x76\xcc\x21\x85\x1f\x91\x1e\x41\x1a\xf1\x3b\x3d\x93\x5a\xce\x60\x00\xe9\x51\xdf\xa1\xd6\x08\xcb\xda\xa6\x3d\xa4\xb6\xd9\xed\x43\xba\x6b\xf6\xa9\xdd\x35\x07\x98\x1e\xf4\x28\xfc\x88\xf4\x88\xda\xdd\xa1\xc8\x77\x2c\x0a\x3f\x22\x0d\xf0\x0e\xe2\xe9\x99\x36\xb5\x7b\x66\x17\xd3\xdd\x2e\x85\x1f\x4c\x8f\x20\x7f\x64\x8b\xf4\x90\xda\x7d\x13\xda\x65\xf7\xcd\x11\xa4\x47\x98\xee\x9a\xd4\xee\x77\x11\x67\x7f\x60\x51\xbb\x3f\x40\xf8\x81\x6d\x52\xf8\x11\xe9\x3e\xa4\x91\x86\x41\xd7\xa2\xf6\xa0\x2b\x60\xba\x90\xdf\x1d\x62\x7a\x68\x53\x7b\x80\x7c\xb0\x07\xce\x88\xda\x83\x11\x96\x1d\xf6\x1c\x0a\x3f\x98\xee\x77\xa9\x3d\x44\x3e\xdb\xc3\xfe\x88\xda\xc3\x81\x80\x19\xf4\x21\x8d\x7c\x18\x3a\x03\x6a\x0f\x1d\x84\x71\xac\x21\x85\x1f\x4c\x0f\x07\x14\x7e\x44\x7a\x04\x69\xa4\xdf\x01\x9e\x38\x0e\xd6\xeb\x8c\xba\x14\x7e\x20\x3d\x02\x9e\x8c\x4c\xa4\x73\xd4\x1b\x50\xf8\x39\xa3\x93\xae\x69\x3a\x14\x7e\x30\x6d\x5b\x14\x7e\x20\x6d\x75\x7b\xb4\x6b\x75\x11\xc6\xea\xd9\xb4\x6b\xf5\x7a\x22\x3d\x80\xf4\x08\xd3\xfd\x21\xed\x0a\x39\xec\xda\x03\x93\xc2\x8f\x48\x77\x21\xdd\xc5\xf4\x10\xf2\x87\x22\x7f\x38\x80\xf4\x10\xd3\x23\x87\x76\xed\x11\xe2\xe9\x8e\xba\xb4\xdb\x1d\x41\x7b\xbb\x3d\xb3\x4f\xe1\x07\xd2\xd0\x17\xf0\x23\xd2\x0e\xed\xf6\x7b\x22\x0d\xf4\xf4\x7b\xd0\x96\xee\xa0\xdb\xa5\xf0\x23\xd2\x03\xda\x1d\xc8\xfc\x7e\x9f\x76\x07\xd8\x77\xdd\xe1\xc0\xa2\xf0\x23\xd2\x3d\x48\x63\xbd\xc3\x21\xe4\x0f\x05\x8c\x03\xf9\x0e\xe6\x3b\x00\xe3\x20\xff\xbb\xc0\xc3\xae\xe0\x61\xd7\x19\xf5\x21\x2d\xf3\x87\x90\xc6\xb6\x8c\xfa\x5d\xda\x1d\xa1\x3c\x77\x47\x03\x87\x76\x47\x02\xe7\x68\xd8\x83\x34\xc2\x8f\x00\xff\x68\x84\x34\x8c\x46\x5d\xda\x33\x6d\xe0\x5b\xcf\xec\x3a\x14\x7e\x20\x6d\xf5\x2c\xda\x13\x7c\xee\x01\x9f\xe1\x07\xd3\x7d\x93\xf6\xac\xbe\x25\xd2\x5d\x48\x77\x31\xed\xf4\x68\xcf\x72\x00\x7f\xaf\xd7\x73\x68\x6f\x80\x63\xad\x37\xea\x8f\x28\xfc\x9c\xd1\x49\x7f\x64\x0e\x68\x7f\x84\xfd\xdb\x1f\x75\x1d\xda\x1f\x21\x0f\xfb\xa3\xa1\x49\xfb\x23\xd4\x0f\x03\xd3\xb4\xe9\xc0\xc4\xf1\x32\x30\x07\x0e\x1d\x98\xc8\x9f\x81\x39\xb4\xe8\xc0\xc4\xfe\x1a\x98\xce\x80\xc2\x8f\x48\x8f\xe8\xc0\xc4\xbe\x1b\x58\xe6\x88\xc2\x0f\xa6\xfb\x7d\x3a\xb0\x50\x9e\x07\x5d\xab\x4b\xe1\x07\xd2\xbd\xae\x4d\x07\xbd\x6e\x4f\xa4\x47\x74\xd0\x43\x1a\x06\xbd\xbe\x49\xe1\x47\xa4\x87\x90\x46\x3c\x83\xe1\x88\x0e\x06\x0e\xe6\x8f\x2c\x9b\x0e\x46\x56\x1f\xd3\x83\x1e\x85\x1f\x91\x1e\xd0\xc1\x68\x28\x60\x86\x00\x83\x3c\x1f\x8c\x86\x0e\xa4\xa1\xbd\x43\xd3\x1a\xd1\xa1\x69\x03\x3d\xc3\x81\x35\xa0\x43\x31\x66\x87\x83\xa1\x43\x87\x03\x1c\x2f\x8e\x6d\x76\xa9\x63\x23\xdf\x1c\xbb\xdb\xa3\x8e\x8d\x7d\xe1\xd8\x8e\x43\x1d\x1b\xfb\xcb\x01\x59\x75\xba\xc8\x1f\xa7\x67\x9a\xd4\xe9\xa1\x7e\xb0\xec\x6e\xd7\xa4\xf0\xdb\xc7\xa7\x5e\xcf\xa2\xf0\x0b\x74\xf4\xba\xa6\xd5\xa3\xf8\x2b\x9f\x46\xf8\x34\x12\x4f\xbd\x3e\x3c\x61\xef\x0e\x7a\x36\xb0\x16\x7e\xe1\xa9\x6f\xda\x3d\x3a\xe8\x9b\xa8\x89\x07\x7d\xb3\x3f\x80\x27\xc1\x97\xbe\x0d\x8c\x81\x5f\x7c\xea\xdb\x23\x0c\xac\x8a\x7d\xe8\x98\xa3\x21\x85\x5f\x7c\xe7\x58\xa6\x45\xe1\xd7\x96\x4f\x0e\x3c\x59\x02\xd2\xea\xdb\xf0\xd4\xef\xc9\xa7\x11\x3e\x09\xcb\x32\xb2\x7a\x5d\x8a\x7f\xfa\xf2\x19\x6d\xcd\xc8\x42\x4e\x63\x42\xbc\x97\x96\x68\x64\x5b\x60\x7f\x46\x36\xf6\xb4\x65\x8d\xba\x03\x9b\xe2\x1f\xc0\x3e\x02\x33\xd1\xa7\xe2\x8f\x7c\xee\x0e\xe0\x79\x80\x54\x8f\xac\xe1\x70\x60\xc2\xf3\x68\x34\x3a\x3b\x13\x46\xcf\xcf\xec\xe3\x04\xcc\x0f\x95\xc6\x6d\xd0\x03\xdb\x83\xa9\x21\xb5\xa4\xb1\x01\x5b\x83\x84\x0d\x7b\xd4\x1a\x4a\x63\x04\x76\x06\xcd\x8c\x0d\x56\x06\x53\x60\x63\x10\xcb\x08\x52\xc2\xd8\x38\xd4\xc6\x61\x61\x5b\x7d\x6a\x5b\xa8\x48\x6d\x9b\xda\xb6\x34\x3f\x60\x7d\x30\x65\x53\xbb\x2b\x4d\x0f\x58\x1e\x61\x60\xc0\xbe\x60\x0a\x2c\x8a\x30\x2e\x68\x4f\xd0\x6c\xd8\xd4\xee\xa3\xa2\xed\xf7\xa8\x8d\x6c\xb6\xfb\xf0\x56\x28\x7a\xd0\xf9\x5d\xa1\xf2\x41\xfb\xa3\xa2\x06\x3d\x2d\xd4\x74\x8f\xda\xa8\x60\xec\xd1\x88\x4a\xf5\x08\x1a\x11\x05\xb4\x6b\x81\x1e\x46\xd5\x62\x8d\x68\xd7\xc6\x94\xdd\xa3\x5d\x1b\x55\xb3\xed\xd0\x2e\xb2\xb5\x0b\x3a\x51\xa8\x44\xd0\x9a\x28\x4a\xdd\x3e\xe8\xcf\x91\x50\x93\xa0\x31\x41\x10\x07\x36\xed\xa1\x8a\xec\x0d\x7a\xb4\x87\xdc\xed\x0d\x06\xb4\x87\xaa\xac\x37\x00\x8d\x82\x8a\x69\x68\xd2\x1e\xf2\xb9\x37\xb4\x69\x0f\x07\x5a\x6f\xd8\xa3\xc2\xa5\x00\x8f\xa2\x87\x86\xa8\x3f\xea\xd2\xfe\x48\xa8\x11\xd4\x10\x38\x08\x1d\x3a\x44\x3e\x0f\x2d\x8b\x0e\x51\x04\x87\x56\x97\x0e\x71\x48\x0f\xad\x21\x1d\xa2\x41\x1b\xda\x26\x1d\xa2\x79\x1d\xda\x0e\x1d\x62\x3b\x86\xdd\x2e\x1d\x62\x3b\x86\xdd\x3e\x1d\x76\x85\x08\x75\xe9\xc8\x06\xcc\xa3\xae\x45\x47\xd8\x1f\xa3\x5e\x9f\x8e\x50\x4a\x46\x83\x2e\x1d\x09\x07\xc8\x04\x67\xc8\xc4\xde\xb4\x4c\x70\x38\x2c\x53\x88\xa8\x09\x02\x8d\xe2\xe8\x80\x10\x38\x42\x0a\x1c\xdb\xb2\xa8\x63\xe3\x70\x75\x6c\x6b\x00\x69\xa1\x14\x6c\x93\x3a\xb6\x2d\x14\x81\x0d\x0a\x02\x95\x88\x63\xdb\x50\xb6\x2b\xf2\x7b\x00\x83\x12\xe1\x80\x48\x38\x42\x26\x1c\xbb\xd7\x87\xb4\xa8\xab\x0f\xf8\xfb\x02\xbe\x0f\x78\x50\x32\x9c\xae\x89\xca\x05\x69\x80\x6e\x85\x1f\x4c\xdb\x16\x75\x44\xcf\x3a\xe0\x00\x39\x62\x48\x39\x3d\xc0\xd3\x13\x78\x7a\xfd\x2e\xa4\x85\x62\xea\x0f\x21\x8d\x34\xf7\x06\x90\x1e\x88\xf4\x10\x14\x16\xf6\x9e\xd3\x73\xa0\xac\x63\x8b\xf4\x00\xd2\xd8\x96\xde\x08\xf2\x85\xb2\xeb\x77\x2d\xea\xf4\xd1\xa1\x71\xfa\xdd\x11\x75\x84\xa1\x75\xfa\xbd\x1e\x75\xfa\x7d\x6c\x4b\x7f\x60\x52\xa7\x8f\x7c\x76\xfa\x23\x9b\x3a\x03\x13\xcb\x0e\xba\x90\xc6\x1e\x73\x06\x7d\x87\xc2\x0f\xa6\x01\x7e\x80\xce\x81\x03\xca\xdd\x91\xca\x77\x68\xf6\x28\xfc\x88\xf4\x00\xd2\x48\x33\x88\x8a\x33\x44\x49\x77\x86\x56\x1f\xd2\x7d\x91\x1e\x41\x5a\x94\x05\xfe\x0c\x45\xbf\x0c\x6d\x80\xb1\x05\x4c\xd7\xa4\xf0\x23\xd2\x5d\x48\x0f\x44\x1a\xca\x76\x45\xd9\x1e\x94\xed\x89\xb2\x3d\x80\x41\x87\xcc\x01\xa7\x16\x7e\x44\x1a\xe8\xe9\x0b\x78\xe0\xbf\x70\xc8\x9c\xe1\x10\xf2\x87\x02\xa7\x03\xf0\x8e\x80\x07\x7e\x0e\x05\x3f\x1d\x30\x12\x8e\xe0\x89\x03\x6d\x14\x4e\xb0\xe3\x58\x90\x6f\x89\x7c\x0b\xf2\x45\xbb\x1c\x30\x3c\x4e\x57\xa6\x1d\x48\x63\xbd\x0e\xf4\xaf\x23\xfa\xd7\x81\xfe\x75\x44\xff\x3a\x83\x11\x85\x1f\x4c\x8f\xfa\xd4\x11\x4e\x89\x03\xc6\xcf\x11\xc6\x6f\x04\xca\x62\xd4\x43\x47\x6d\x04\x32\x33\xea\xf7\x70\xac\x80\x73\x3f\xea\xa3\x43\x39\x1a\x98\x26\x0c\x1c\x1c\x57\x03\xcb\xa1\xa3\x81\x2d\x47\x91\x4d\x47\xa2\x1f\x47\xe0\xd4\x8e\x06\x3d\x91\xdf\x07\xf8\xbe\x4c\xf7\x20\x2d\xca\x82\x12\x1f\xc8\x11\x38\x80\xfc\x81\xc8\x1f\x42\x3e\xea\x8b\xd1\x60\x08\x78\x86\x32\x1f\xea\x72\x04\xfc\xc8\xa1\xa3\x21\xf2\x6a\x04\xfd\x3e\x12\x3a\x62\x04\x7d\x37\x1a\xa2\xe6\x1d\x0d\xbb\x43\x48\x23\xcd\xc3\x9e\x4d\x47\x43\x1c\x5f\x23\x70\xa6\x47\x43\xd1\x46\xe8\x2f\xf8\x11\x69\xc8\x47\xd9\x1b\x0d\x47\x00\x8f\x4e\xff\x68\x38\xea\x41\x1a\x71\x3a\x76\x8f\x8e\x1c\x94\x99\x91\x63\x0f\x21\x8d\x78\x1c\x50\x2b\x8e\xa8\xd7\x01\x63\xe5\x88\x7a\x9d\xee\x08\xd2\x42\xb7\x80\x01\xc7\x5f\x7c\xb2\x4c\x9b\x5a\xa6\x30\xaf\x30\x8b\xee\xd1\x41\x57\x50\x88\x13\x63\x34\xd2\x5d\x81\x03\x35\x91\xd9\x73\xfa\x62\x86\x84\xa9\x01\xc5\xe5\x11\x33\xb3\x80\x41\x7a\x5c\xbb\x73\x55\x5d\xa2\x69\x62\xdc\xf4\xe2\xdc\xb0\x70\xd4\x7b\xae\xb3\x17\xe5\x97\x13\xf3\x6c\x62\x9e\xdd\xdd\xb1\x97\x95\xfc\xf8\x6c\x62\x9d\x95\xbf\x60\x8c\xe3\x97\x5e\x32\xc6\x80\x7f\x5e\xe1\x8a\x4a\x3d\xd9\x8e\x8d\xe7\xb6\x41\x6b\x38\xb8\xc0\xe1\xf1\x6d\x2b\xdb\x6d\xb7\x55\x27\x01\x2f\x8c\x28\x6c\x14\x8e\x3d\xde\xb6\xee\x55\xd5\xf7\xaa\xcd\xa5\xa9\xf1\xc6\xa6\x67\x1e\x42\x53\xd3\xb3\x97\x95\xa6\xe7\xf9\x3f\xde\xf4\x1c\xc7\xc6\xa6\x97\xc0\x1e\x6e\xfa\xf4\xd2\x4f\xc4\xb4\xbf\xe1\x33\xcc\x9a\xb5\x83\x9d\x72\xc9\x23\x04\xc8\xde\xea\xcc\x70\xcb\x00\xaf\x83\x34\xa9\xc1\x54\xeb\xaf\x03\x35\x51\x64\x7a\x9e\xc7\x76\x4a\xeb\x1e\x2e\x7b\xd1\xb5\x81\xd3\x9e\x65\x0f\x5b\x2d\xf6\xc2\x1a\x98\x3b\xb5\x95\x10\x97\xbd\xb0\xec\xe1\x8e\xe5\x16\x85\x5c\x67\xc6\x8e\xe9\x5a\xdb\x3a\x7b\xe9\xf5\xba\x7d\xbb\xd5\xd2\xd9\x0b\xaf\xd7\xeb\x0d\xef\xee\x46\xa6\x69\x79\x1e\xc3\x84\x8d\x09\xa8\xc1\x1a\x99\x3d\xa8\xc3\xeb\xd9\xd6\xc8\x6a\xb5\x2c\xbb\xdb\xb7\xb6\xe4\xdb\x5e\xcf\xec\xda\xf8\xb6\xdf\xb7\xcd\x2e\xe6\xc1\x60\x14\x25\x06\x3d\xbb\xdf\x17\x79\x7d\xb3\x67\x8a\xbc\xbe\xd9\x1b\xa9\xbc\xa1\x2d\xf3\xac\xae\x82\xb3\x1d\x05\xd7\x1d\x0e\x64\x5e\x5f\x52\x30\xe8\xf7\x2d\x53\x50\xd5\xb5\x54\x61\x0b\xd4\xa1\x28\x8d\x49\x07\x73\xed\x81\x6d\xf5\xe4\x57\xe5\x0d\x3d\xb7\x56\x04\xca\xe3\x03\xb8\xd6\xbc\x74\xf4\x84\x7e\x4f\x79\x83\xd8\x65\x6b\x95\x72\xc0\x99\xe3\x38\x5f\xac\x34\x64\xd0\x52\x96\xaf\x01\xef\x72\x19\xa3\x47\xe7\x5e\xb9\x6a\x3d\x35\x8c\x17\xea\x92\xe8\xb6\x35\x4e\xb6\x3d\x4e\xe3\x6d\x2f\x55\xcb\x79\x96\x6b\xdf\x17\x23\xd8\x03\x49\x18\xdc\x72\xdd\x85\x16\x34\xc2\xc1\x1a\x7b\x26\x8d\x4a\x84\xb5\x5a\x5b\xba\x1e\x6d\x57\x09\x28\x2d\x78\xc6\x86\x61\xbc\xe4\x06\x46\xa8\x1a\x67\x01\x11\xb7\xbc\x44\xb4\x39\xf5\x62\x44\x9a\x16\x90\x46\x2f\xbc\x64\xfc\x00\xda\xd4\x30\x68\x0a\x28\xd5\x19\xfb\x97\x49\xab\x95\xb6\xdb\x54\x5d\x44\x1d\x44\x17\xe2\xc6\xd6\xec\xa6\xc2\xec\x16\xa5\x52\xa3\x4b\xdb\x5b\xca\xb7\x7a\x17\xa0\xc4\x9b\xb6\x08\x7c\x56\x0c\x7d\x89\xf7\x48\xcf\x62\xfe\x5c\x04\x55\x0e\xe3\x8b\xe7\x57\x2c\x49\x83\x38\x22\x94\x70\x76\xc3\x9f\x2f\x43\x3f\x80\x07\xab\x63\x0d\xf0\xec\xd2\x03\xc5\x67\x3e\x67\xd5\xb2\xb6\x69\x0d\xdb\xa6\xd3\x56\x18\xf8\x8c\x2d\xc5\x0d\xd6\x32\x9c\x02\x29\x46\xdb\xe8\x88\x3d\x73\x27\xb7\x4b\xb9\x19\x2a\xee\xfc\x1a\xc7\x8b\x2f\x7e\x02\x76\x41\x6d\x1c\x21\x7f\xff\xf8\xf1\xbd\xb6\xe5\x69\x96\x69\xfe\x99\xd0\x58\xc5\x00\x8d\x97\xb7\x19\xc8\x7f\xff\xbf\xfe\x4f\x78\x33\x63\xe9\x37\x1e\x2f\x3f\x00\x40\x20\xbe\x7d\x9e\x04\x3c\x04\x80\xff\xfa\xdf\xb4\x3f\xeb\x1c\x1e\x0c\xed\xbf\xff\xd7\xff\x06\xd0\x9c\xa5\xfc\x35\x5b\xa6\xde\x84\x5c\x72\x96\x2c\x3a\xc7\xd3\x24\x0e\xc3\xc3\x38\x11\x3b\x06\x52\x42\xf3\x17\x8c\x45\x95\xcc\x13\x96\x2c\x82\xc8\x0f\x2b\xd9\x9f\x4f\xea\x19\x7b\x7e\x14\xb1\x99\xc8\x3e\x43\xce\x5e\x04\x29\x67\xc9\x9b\x28\xe0\xba\x00\x23\x74\xdd\xd1\x6e\xe3\x7b\x89\x51\x1c\xc3\x60\xd2\x6a\xb4\x9a\x58\x05\x9c\x96\x8c\xbe\xbb\xd3\x9b\xef\x90\x97\xd1\x27\xaa\xcf\x18\xcd\x76\xa7\x8a\x45\x6e\x81\x2d\x47\xe4\xd3\x1b\x4a\x1a\xee\x03\x45\x31\xae\x93\xda\x50\xbe\x85\x06\xf9\xc9\x77\xdc\xbf\xf7\xa3\x60\xce\x52\xae\xd4\xcc\x7a\x08\xdd\x18\x27\x5e\xda\xf1\x97\xcb\x56\x0b\xff\x74\xce\xfd\xe9\xb7\x8b\x24\x5e\x45\xb3\xfb\x64\x67\x4d\xec\x19\x11\xf4\x95\x2c\xe3\xe5\x6a\x49\xee\x0d\x6a\x1a\x6e\x33\x8d\xdc\x3f\x4f\x77\x0a\x69\xfc\xe4\x2e\x36\xb9\xe6\x5b\x25\x60\x7c\xb6\x5a\x25\x04\xaa\x8c\xc8\x14\x71\xa4\x13\xf9\xf4\x66\x26\xc2\x19\x73\xc3\xd5\x4b\x1d\x4e\xa2\x38\x59\xf8\x21\xa9\x76\xb9\x71\x5f\x3e\xb4\x52\x6f\x88\x2c\x88\x2d\xb9\x37\x68\x8c\x64\x86\x01\x8b\xf8\x71\x69\x3f\x67\xf1\x9a\xd4\x0b\xc6\xf1\x4b\x5d\x10\x5d\x08\xd0\x23\x36\xc5\x10\xdc\x85\xd2\x6b\x9d\x91\xb5\xc5\x3b\xd7\x50\xa4\x84\xe4\x67\x16\x5c\x5c\x36\x1e\xbf\x5e\x8f\xe5\x12\xcb\x00\x9a\x69\xbc\x94\x37\xe9\xc2\x18\x8f\xf7\xc2\x60\x79\x1e\xfb\xa5\x8b\x3d\xc5\x4e\x07\xd6\x61\x37\x6c\xba\x17\x2f\x16\x7e\x34\xd3\x09\x94\x23\xc5\x40\x4b\x80\x6c\xe9\xa7\x9c\x1d\x24\xf1\x62\x3d\x9a\x8c\xb4\x12\x36\x2c\x48\x6a\x9b\xb1\xf1\x28\x96\xd2\x53\x0d\x01\xb3\x70\xb3\x88\xf7\x52\x59\x18\x8f\xed\x30\x97\x8f\xf3\xc7\x56\x0b\x7a\x71\x0b\x3d\x1a\x9d\x79\xdf\xef\xd5\xb8\xf9\x7e\x1e\xcf\x6e\x5d\xd6\x81\x3f\x34\x98\xc6\x91\xcb\x75\xd6\x81\x44\x73\xa4\x5d\xa9\x5b\x9e\x07\x0b\xff\x82\xa5\xcf\x01\xb0\x3d\x1a\x10\xf0\x32\x52\x0f\x8a\xa2\x42\x54\x5b\x97\x67\xf1\x14\x37\x4b\x88\x5c\x43\x86\xdd\x96\xea\xc9\xc0\xb8\xcf\x73\x75\x8d\xee\x67\x3f\x49\xf5\xf5\x0a\x97\x7e\x47\x1c\x6e\x7a\xaf\x2e\x6a\x02\x6d\x50\x04\xd3\x53\x9a\x14\xae\x67\x8a\xa3\x69\x18\x4c\xbf\x15\x77\x42\x48\xaa\xe6\xf1\x74\x95\x66\x57\x34\x85\x31\x5e\xd6\x4b\x23\x60\x70\x45\x8a\xb3\x23\x2f\x28\x6c\x6a\xe3\x99\x90\x19\x8f\xab\x02\xe5\x3b\x3e\x7e\x23\x86\x69\x18\x47\xac\xe1\xf4\x3f\xb4\x56\x00\xeb\x39\xbe\x22\x36\xa3\x01\x19\x0c\xe6\xb8\xbe\x11\x46\xd2\x52\xc7\xe1\xb1\xc2\x80\xa8\xe0\x62\xff\xb1\xf2\xc3\x46\x6f\xb1\x80\x53\x21\x95\xbb\x62\x24\xd6\x4d\x68\x37\x6c\xb4\x9d\x48\x53\x19\xfc\x9a\x6f\xa8\x45\xec\xf2\x98\x63\x5e\xc3\x36\x39\x23\x80\xfb\x28\xbe\xde\x8b\xc3\xe6\xdd\xd4\x49\x7c\xad\xd8\x3f\x8d\xc3\xd5\x22\x52\x5b\xa9\xe3\x2b\x96\xcc\xc3\xf8\xda\xdb\xda\x4a\x72\x24\xc5\x6d\xf0\xf1\x55\xfd\x1e\xc6\xdf\x88\x73\x73\x37\x0b\x70\x5d\xd5\x51\xac\xa1\x8c\xdf\x68\x44\xbe\xa6\xdb\x91\xda\x2a\x3e\xf4\xac\xeb\x88\x3d\x96\x25\x1b\xab\x78\x40\x1a\xa0\x2a\x51\x97\x94\x04\x59\x59\x56\x9b\x8a\x19\xa8\xaa\x7b\xa8\xbe\x87\xc5\x44\x14\xc9\xb7\x54\xc7\xd7\x05\x31\x11\x95\x16\x32\x54\x65\x42\x72\x4a\x7e\xe5\x9c\x80\x61\x3b\x48\xfc\xc5\x9a\x5e\xe7\xd2\x4d\xcb\xa2\x7d\xcf\x82\xab\xaf\x1e\xc3\x3f\x22\x63\x95\x84\x99\x24\xe0\x19\x8d\xd4\x4b\xf2\xd0\x04\xc1\x1c\x70\x17\xb7\x14\xc3\x9c\xd5\x0f\x22\x96\x14\x33\xe5\x3d\xf4\x7b\x97\xe0\xea\x85\x6a\x43\xbe\xa4\xac\xb4\x7b\x39\xdb\xea\x5c\xec\x0e\x15\x05\x0a\x03\x18\xe1\x55\xd4\x32\x1e\x54\xb0\x9c\xb6\x83\x28\xe0\xed\xf8\x1b\x71\x65\xa7\xe5\xe7\x6e\x52\x16\xcd\x94\x1f\xfa\x26\x9a\xc7\x5f\x75\x63\x8c\xc5\x54\xab\xdb\x41\x34\x8f\x8b\x65\x2b\x2d\xe8\xa4\xfc\x36\xc4\x08\x2e\xcb\xd0\xbf\xf5\xc8\x3c\x64\x37\xa4\xb1\x45\x9d\x65\x9c\x70\xab\x13\x47\x32\x5f\x9d\x70\x91\xcd\x29\xee\x40\x2e\x9e\x0b\x7a\x17\xfb\x33\xdd\x18\x4b\xdf\xb0\xd4\x82\x52\x00\x97\xca\x7d\xfe\xda\x3c\x89\x17\x1a\xb2\xde\x25\x54\xb0\xc5\xb8\xdf\xc8\xd0\xa2\xb0\x35\x03\x02\x2d\xf5\x4d\xe3\xb5\x9e\x63\xd7\xda\xfb\x52\xde\x8f\xf0\xa3\x7e\xce\xa7\xb9\x3c\x6e\x9a\x56\xe6\x4d\xca\x1a\xf6\x0f\xfa\x59\x68\x01\x97\x71\xca\x25\x56\xfd\x3b\x86\xc9\xc9\xa4\x82\x50\x3f\xb9\xb8\x72\x27\xdf\x25\x72\x98\xbb\xb8\x6b\x6b\xb3\xef\x55\x54\xbf\x55\x12\xd2\xc9\x7a\xb8\x33\x63\x3d\x03\x1f\x62\x73\x4d\x24\x4b\xe7\x86\x3a\x73\xbc\x65\x7f\x3a\x65\x4b\xfe\xce\x8f\x2e\x56\xe0\x98\xe8\x35\xe5\x57\x6c\x72\x59\x96\x09\x9d\x7c\xf7\xcb\xc5\x5d\x46\xe7\x71\xc2\x84\x77\xbf\x17\x87\x71\xe2\x96\x47\x3e\x54\x79\x50\x86\xd0\x0d\x9a\xcf\x08\xd6\x95\x79\x55\x86\xd0\x0d\x3a\x5d\x25\x69\x9c\xac\x83\xdf\xcb\xdf\xea\x06\x9d\xc7\xc2\xcf\x6e\x24\x46\xbc\x92\x50\x07\xfe\x22\x08\x6f\xd7\xc0\x89\x97\x48\x6f\xca\x3e\x1d\xbd\x73\x25\x0f\x3f\x1d\xbd\xc3\xeb\xf9\xef\xcf\xaa\x77\x16\x37\xf5\xdc\x1e\x38\x4e\x7b\xe0\x62\xb1\x86\x21\x90\xb9\x55\xf5\xa2\xf8\xaa\x61\x77\xab\x52\x20\x99\xc5\xc8\x34\xca\xd2\x87\x79\xd0\x87\x78\x96\x05\x65\x6b\x7c\x59\xbc\x21\xb3\x0a\x96\x9d\x8e\xdd\x13\x84\x6d\x6a\xd4\x43\xf2\x58\x10\xa5\x86\xdd\xda\x4d\x63\xa0\x7e\x4f\x91\x2c\xaf\x4d\x05\x84\x16\xa4\x78\x7c\x26\x65\x5c\x5b\x2d\x3b\xea\xfa\xf1\xe6\x01\x5e\x1f\xbd\x4c\x0c\x5a\x7e\xdf\xd8\xac\xf4\x32\xbe\x2e\xb6\x29\x5b\x0a\x60\x78\xb7\x67\x36\x13\xc1\x78\x50\xca\x60\xed\x64\xa9\x09\x3b\x73\x93\xfb\x3c\x14\xb0\x3c\x34\x9c\x47\xdf\x78\x54\xcf\x19\x4a\x37\xab\x03\x7a\x40\xa4\xe6\xcb\x8b\xd7\xaf\x82\x34\x38\x0f\x19\x11\x7b\xf6\xe4\x56\xf7\xca\xec\x52\xcf\x6c\xad\x41\x03\x8f\xe9\x04\x7d\x41\x42\x07\x3d\x13\xa6\x12\x4c\x27\xc2\x19\x24\xb4\xe7\x98\x78\x51\x64\x22\x3d\xdc\x44\xba\x89\xb4\x32\x1e\xd4\xf4\xe4\xab\x41\x7d\xaf\x66\x88\x55\x14\x9e\x90\x01\x8c\x4e\x66\xc1\x15\x31\xc6\xbe\xb4\x6f\xd3\x34\x3d\x61\x37\xdc\x23\xcb\x38\x0d\x44\x10\x25\xff\x3c\x8d\xc3\x15\x67\x63\x69\xfb\x5c\x2d\x8a\x23\x36\x06\x03\xd8\x9e\x05\x89\x98\x59\xba\x9a\xf0\x45\xc6\x3c\x5e\xba\x9a\x65\xfe\x79\x1c\xb2\x39\x77\xb5\xde\x9f\xc7\x48\xac\xab\x8d\xcc\x3f\x8f\x05\xbd\xae\xe6\x98\x7f\x1e\x2f\x82\xa8\xad\x9e\x6d\x78\xf6\x6f\xda\xc5\xf7\xe7\xf1\x4d\x3b\xbd\xf4\x67\xf1\xb5\xab\x99\x9a\xa9\xd9\xcb\x9b\xfc\x60\xe2\x26\x7d\xb5\x4d\xc6\xe7\x71\x32\x63\x89\xfb\x94\x32\x5a\x1a\x87\xc1\x6c\x4c\x70\x16\x16\x7a\x65\x8f\xa6\xca\x33\xf1\x82\x18\xe3\xb0\x13\x47\x21\xe8\xfa\x82\x11\x2f\x19\xb4\xb0\xca\xd7\x8c\x89\xc0\x3f\x64\xa2\xab\x59\x8a\x47\x62\xe1\x2e\x04\x4f\x77\x97\xf3\x24\x38\x5f\x71\xa6\x93\x34\x99\x92\xcc\x1a\x19\xf5\xd7\xcc\x5f\x84\x2c\x4d\x09\xdd\x32\x0d\xea\x77\xfc\xe5\x92\x45\x33\xa1\x2e\x42\x23\x77\xe5\x4a\x2f\x7c\x71\x3c\x42\xfa\x87\xc2\xd5\x7c\xcb\x6e\x71\x4e\x0f\x89\xf7\xfe\x12\xfd\x45\x95\xd7\x74\xec\x40\x30\x54\x79\x8b\xdf\x24\xa4\x64\x52\xd1\xe5\xbb\xf4\xa3\x59\x28\x02\x82\x4f\x08\x4e\x53\xe3\x15\xcf\xae\x7f\x38\x80\x8c\x8f\xe5\xb3\x59\x67\x74\x42\xbe\xb1\xdb\x59\x7c\x1d\x65\x70\x6f\xd9\xed\xeb\xf8\x3a\x6a\x00\x5b\x26\xd8\xfc\x1c\xee\x10\x32\x1a\x00\x57\xcb\x22\xd4\xa7\x65\x15\x84\xb3\x1b\xfe\x26\x5a\x16\x88\x3b\x51\x39\x25\xd0\xb3\xac\xc9\xef\xfd\xa5\x27\x26\x37\x15\xee\x15\x1d\x1a\x28\x19\x44\x17\x69\x15\xf2\x95\xcc\x2f\xc2\xfa\x21\xff\x29\x79\x1f\xcf\x70\x39\x2b\x52\x97\x64\xe0\x61\xf6\x37\x51\xca\x12\x7e\xe8\xa7\x9c\x79\x5b\x72\x0b\xfe\x65\xbc\x60\x6f\xd9\x6d\x2a\x56\x64\xb3\x30\x5d\x4b\xff\xa2\x29\x7b\xca\x93\xf0\x30\x5c\xa5\xef\x83\x68\x95\xfe\x9d\x25\xf1\xdf\xe3\x78\x91\xe1\x82\xb7\x7b\x7b\xf1\xf2\xb6\x04\xff\x59\x56\x28\xb3\xfc\xa5\x08\x46\x18\x20\x0b\x97\xfe\xac\xe9\x8d\xb0\xef\xd9\x1b\x70\x20\xd2\xa5\x3f\x65\xc7\x2c\x9a\xa5\xaf\xd4\x53\x5e\xcd\xa5\x9f\xf8\x53\xce\x92\xfd\x68\x1a\x03\x47\x3c\xb2\xe2\xf3\xb6\x93\xf9\xd7\xdc\xc7\x92\xfb\xe9\xd4\x5f\xe6\x6d\x5f\xfa\x69\xfa\x9e\x71\xff\x73\x96\xe3\x87\x1c\x01\xbf\x5c\xfa\xdc\x23\x0c\xc1\x49\xf6\xea\x0d\x42\xe7\xf4\x86\x3c\x23\x45\xbc\xaa\x53\xe6\x87\x5c\x89\x13\x9b\xa9\x23\x25\x0b\x36\x0b\x7c\xe0\xee\x6e\xc2\x0e\xe0\x6f\xce\xf6\x84\x5d\x05\xf1\x2a\xdd\x2d\xd0\x91\xcf\x70\x8a\x12\xb2\x3b\x15\xf3\xa7\xef\x7b\xbb\x1f\xf6\xf6\x85\xaf\x52\x0c\x8f\x26\xb2\x89\x41\xe5\xe5\x5e\x35\x00\x99\x4f\x0c\x7a\xb8\x7b\x7c\x5c\x7b\x0d\x99\xc4\xa0\xc7\x27\x47\x6f\x0e\x6b\x2f\x31\x97\x18\x25\x9a\x0a\x73\xe0\xa8\x76\x16\x46\x4e\x49\x45\xa7\x78\x5e\x73\xa7\xed\x94\xd4\x42\xe7\x8a\x17\x76\xf1\xeb\xcc\x70\xd9\x9a\xfa\xf0\x30\x5b\x18\x36\x6a\x1a\x71\xec\xad\x51\xbf\x18\xdf\x99\x34\xcc\xd5\x37\x32\xbb\x82\x17\x17\x7c\xf3\xeb\xe9\xb9\x67\x8e\xf9\x8b\xb2\x7a\x52\x5f\xe7\xb8\x3a\x4a\x20\xa3\x13\x64\x00\x13\x7e\x36\x66\x3b\xac\x7e\xa7\x4d\x32\x31\xcf\x68\x32\xb1\xce\xe4\xf9\xcc\x2a\x49\xd2\x87\x5b\x57\xe8\xbe\x59\x83\xb2\xfb\x35\x2c\x5b\x45\x6b\x99\x26\xb5\x73\x63\xe3\xd7\x60\x2b\x6a\xb9\x72\x94\x2b\x9c\x4d\xb6\x5a\x72\xb2\x2d\x0f\xb9\x11\xa3\x7c\xe3\x6c\xd6\xe3\x71\xf4\xf9\x04\x86\x03\x4f\xe2\x6f\x85\x69\x6e\x06\x60\xac\x27\x20\xd3\xd9\x0d\x8b\xc0\x4d\xc7\x09\x58\xe7\xfa\x32\x98\x5e\x1a\x1d\x1e\xbf\x8b\xaf\x55\x8c\x67\xbc\x3d\x93\xa1\xd6\x7a\xcb\x6e\x5b\xad\x2d\x86\xba\xe3\x2d\xbb\xbd\xbb\x23\x53\x82\x77\x3a\x90\x2b\xf8\x2b\x6f\x0b\x12\xc3\xbb\xd5\x22\xe7\x49\x7c\x9d\xb2\xa4\xfd\x8d\xdd\x2a\xf9\x2e\xea\x92\x56\x0b\x43\xbf\xa9\xaf\x95\x4a\x38\x9a\x29\xfb\xc6\x6e\x11\x68\xcc\x84\xda\xc6\xea\xf5\xc4\x4b\xca\xc4\x1a\x34\x29\x7e\xfe\x34\x8d\x6d\xcb\x76\x54\xfc\x7f\xf5\xe2\xa5\xd7\xb5\x5b\x2d\x3d\x29\x56\x3e\x4e\xa4\x80\x37\x33\x5e\x6f\xa2\x2a\xc1\x90\x95\xa0\x9e\x58\xa4\x02\xa8\xca\xc8\x50\xf1\xf2\x30\x89\x97\xfe\x85\x58\x6c\x36\xd6\x89\x9c\x2c\x2b\x3e\x6c\xed\x2e\x97\x1f\xe2\x68\x8f\x27\xe1\x31\xb4\x50\x22\x2c\x77\x5e\xe5\x83\x50\xe9\x51\x7c\x6f\xaa\x65\xc9\x8f\x39\xad\x96\x5e\xe8\xc4\x22\x17\xeb\x4d\x58\x2f\x52\x99\x5b\x51\x77\x5d\x2a\x5a\x7d\x93\x54\x7e\x5a\x96\xcb\x5b\x0e\x08\x82\xec\x62\x35\x6d\x2b\xe3\xab\x67\xb5\xfe\xa1\x5b\x2f\x5e\x30\xbc\x1e\x0b\x10\xb5\x2d\xc3\xa0\xf6\xb0\x84\x29\xb3\x1f\x0f\x31\x19\xb7\x1d\xac\x27\x18\x5d\xa4\x75\xd1\xaf\x63\xe3\x7b\xe0\xc5\xf2\x43\x43\x32\x89\xcf\xd4\xcd\x81\x0a\x26\x3f\xf3\x1c\xb5\x5a\x7a\xe4\x45\x32\x92\xab\xf2\x75\xe8\x84\xd1\xe4\xcc\x80\x69\x88\xe7\xf9\xad\x96\xfa\x72\xb6\xe5\xc5\x08\xcf\x75\x95\x03\x30\xf7\x3f\xc4\xad\xbb\x2a\xaf\x7e\x0b\xab\x8a\x81\xb9\x44\x13\xe0\xcf\x6b\x36\x4f\x27\x19\x46\x11\xa3\x53\x1d\x1e\x43\xb7\x55\xc4\x13\xa1\x91\xd7\x68\xb5\x3b\xc2\x3a\x53\x7f\xcd\x6b\x69\x9b\x69\xb8\xe6\x3d\x18\x67\x7a\xb9\xe6\x25\x1a\x67\x3a\xf5\xb2\x21\x40\x57\xde\x56\xd9\x85\x81\x41\x21\x58\x46\x73\x06\x8a\x57\x3b\xea\x0d\x0c\x16\xa9\xfc\xdc\x2c\x45\x97\xde\xd6\xf3\x5f\x4e\x27\xa7\xd7\xdb\xa7\x67\xea\x7a\xee\x04\xf9\xe0\x2f\x0d\x15\x61\xbf\xec\x87\xca\xe5\x55\x20\xa6\xed\x87\x9c\xb8\xcb\x56\x6b\xda\x6a\xad\x5a\x2d\x1d\xc3\xc2\xae\xbc\x2d\xcb\x18\x9f\x27\xcc\xff\x26\x56\x54\x13\x98\xc3\x65\xa0\x76\x45\x57\x29\x23\x57\x19\x21\xeb\x90\xc1\x2c\x32\xc3\x65\x3d\x1d\x17\x4e\xf0\xe7\xe3\xb9\xc7\xf5\xe9\x0e\x91\x9b\xa8\x88\xbb\xda\x21\x88\x74\xb6\x43\x80\x35\x24\xfb\x04\x2c\x04\xe6\xc2\x03\xd3\xe1\xa7\xdf\x8e\xa5\xea\x29\xaa\x21\xba\xf0\xbe\x4b\xc9\x71\x33\x19\xa2\xf8\xd6\x2d\x40\x01\xc3\xdc\x29\xf5\x43\xee\xae\x28\x54\xe2\xce\xee\xe9\xad\x57\x9a\x10\xe0\xda\x99\x48\xeb\x0b\x34\x5f\xb7\xad\x96\x7e\xe1\x4d\xbd\x95\x87\x8e\x75\x90\x7f\xd4\xae\x8f\x51\x7d\xee\xdd\x76\x7c\xcc\x33\x5a\x2d\x7d\xee\xcd\x3b\x53\x3f\x0c\x65\xd0\xad\x22\xa7\xe8\xc2\x30\x0c\xba\x7a\x8c\xa1\x9b\xe3\xb8\xd6\xe7\x5e\x68\xd0\xf9\x96\xe7\x85\xf0\xb0\xe5\x79\xfe\xdd\xdd\xf4\xee\x6e\x75\x77\x37\x13\x75\x79\xde\x65\xab\xa5\xaf\x3c\x64\x75\x23\x6d\x49\x47\x90\xae\x68\x2b\xdc\x82\x50\x51\x26\xa2\x4e\xdb\xf3\x94\x28\x66\x1b\x87\x10\x8d\xcc\x93\xfb\x76\x2e\x76\x2c\xd7\xa4\x96\xf1\x68\x8b\x86\xcd\x88\x0c\x23\x98\x23\xd9\xfe\xdd\x5d\xed\x7a\x9e\xb9\x88\xfb\xa0\xc4\xc3\xf3\x82\x1d\x68\x97\x8b\x42\x02\x4f\x2b\x7c\x42\x51\xf1\xbc\xa0\xd5\xd2\xa1\x77\x0c\x4a\xfe\x34\x21\x9e\x37\x57\xa4\x99\xd4\x86\xc6\xae\x90\x55\x17\x32\x00\xc3\xf9\x78\xeb\x02\x19\x37\xdd\xd9\x5a\xdd\xdd\x5d\x40\xe2\x02\xc7\xcf\xd6\x74\xe7\xdc\x23\xe3\x1e\x71\xb7\xa6\xf8\x62\x05\x2f\xa6\xad\xd6\xd6\x0a\x5f\x0c\x88\xbb\x12\xcf\x17\xf8\x3c\x24\xae\x28\x38\x6d\xb5\x74\xc8\x70\x88\xe1\xc2\xdf\x3e\xc1\x3f\x5d\xf1\xc7\x26\x74\xee\x75\x81\x2c\xc1\xc5\x1d\xf2\xa7\x89\x45\xb6\xcf\xb7\x33\x3a\x6d\x6a\x19\x6e\x81\xea\x79\xb6\xfd\xd3\x28\x82\x15\xb2\xef\xd5\xd6\xcc\xb9\xa7\xe4\x63\x5d\xbf\x50\xa0\xee\x6b\xed\x35\xbc\x2a\xfb\x3b\xc6\x4b\x6f\xd0\x6b\xb5\xbe\xbe\xf0\x46\x7d\xc4\xd8\xe4\xb8\x7c\x6d\x0f\x7a\x4a\x76\x9d\xf6\x79\xc0\x9b\xa5\xd6\xca\x9b\x2b\xb8\xfe\x15\x06\x43\xd5\xbb\x1a\xaf\xa9\xc3\xb8\xd7\x01\xbf\x9c\x2f\x36\x54\x70\x77\x37\x93\x66\xa7\x32\x17\x15\xb2\x4d\xfe\x44\xb6\xe7\xd2\x89\x5f\xe3\x94\xcd\xe5\xf5\xda\x6a\xb9\x50\x44\xdf\x7a\x13\x5d\xf9\x61\x30\xd3\x7c\xb9\x86\x46\xb6\x2b\xc1\x42\xe6\x46\x63\xb9\x0f\xb1\x36\x63\xf3\x20\xc2\x15\x3a\x8c\x4f\xa9\x14\x12\x86\xa8\x54\x1e\x68\xc9\x4f\x50\x8b\x0d\xf5\x18\x0a\xf2\x85\xb8\x9d\xad\xa1\xc4\xfa\x9b\xcd\x7e\x00\x83\x3f\x9b\xc9\xdc\x6a\xc4\x18\x79\x9b\x01\x98\xdf\xa0\xac\x26\xbf\x56\x6c\x75\x90\x85\x4f\x13\xb1\xb7\x83\x62\xec\x6d\x78\x3f\x49\xcf\xa0\x80\x0c\x63\x2d\x82\x71\xbc\xcd\x9e\x75\x66\x18\xdf\x13\x0f\xa0\x84\xa9\xb9\x4f\x76\x12\xa9\x48\x3d\xee\xea\x09\xea\x77\x09\xec\x32\x2a\x7b\x87\xdf\xd3\x40\x46\x1c\x68\x22\x4c\xdd\xfc\x40\x83\x4e\x1a\x27\x85\xed\x4d\xd8\x38\xb9\x18\x5d\x36\xf9\x8a\x3e\x80\xdf\x8b\x17\x4b\x3f\x91\xf3\x07\xf9\x82\xf2\xc2\x83\x71\xaf\x82\xff\x34\xd5\xee\x4d\x92\xb3\xe6\xfe\x6e\xe4\x7d\x7d\x81\xbf\xa6\x13\xb3\x59\x8e\x58\xb4\x3a\xf4\x93\x94\x25\xe3\xa4\x93\x30\xbc\xd1\x56\x18\xca\x00\xe3\x66\x06\x5e\x22\x6e\x34\x7b\xcb\x6e\x8f\xd9\x7f\xac\x58\x34\x65\x0d\x91\x17\x4b\xdf\x32\x65\x1c\x5c\x8c\x6c\x93\x74\x82\x34\x8b\x3a\x64\x34\x93\x03\x3c\x94\x75\x73\x43\x44\xeb\x2c\xd4\xba\x2b\xe5\xf1\x91\x75\xde\x97\x6b\x14\x2b\x17\x05\xc9\xd4\xeb\x4b\x7a\x4a\x76\x02\x83\x72\xc3\x2d\x63\x4c\xf2\xa8\x9c\x2a\x20\x63\x34\xd3\xe2\xb9\x96\x4a\x66\x60\xec\x9c\xea\x50\xfe\x91\xb2\x35\x42\xc5\xd5\xbd\x8f\xed\xf6\xb4\x79\x87\x72\xe1\xfe\xcb\x1c\x56\xe7\x94\x4d\xf8\xc3\x42\x95\xbb\x30\xeb\xee\x58\x5c\x37\x8c\xb3\xd8\x50\x1a\x46\x60\xad\x5c\xda\xdd\x10\xd7\x81\x4f\x12\x31\xfe\x9b\x06\x37\x4c\x7c\x60\x64\x67\xb1\xee\x0b\xb8\x37\x2e\x75\x4b\xc7\xbb\xb4\xdc\x2d\x17\x71\xeb\x53\x47\xe5\x72\x16\x56\xbd\x61\x32\xe1\xa9\x4d\x10\x42\x42\x8d\xea\x72\x1f\xcc\x3b\x4a\x1d\xf2\x16\xcb\x55\x86\x61\x7e\x03\x8c\x44\xdb\x6a\x95\xf5\x7e\x7e\x13\x4c\x51\xdf\x1b\x25\x52\xf0\x36\xa8\x47\xd6\xbf\x46\x1e\x70\x69\xac\x1a\x11\x08\x57\xc5\x94\x8c\x88\xe2\x7a\x06\x23\xce\x67\xd0\xef\xc2\xe6\xbb\xa5\x7c\xeb\x8c\x0a\x47\xb0\x9c\x6d\x9f\x51\xe9\x6f\x95\xf3\xbb\x67\xe8\x33\x97\xf2\x7a\x67\xc2\x83\x2e\x65\xf6\xcf\xee\x1f\xe0\x33\x76\xc6\xda\x4f\x84\x85\x8d\xe1\x0d\xf3\x5f\x5c\xe6\x43\x8f\x75\x4a\x27\x1c\xfc\x54\x97\xdd\x57\x2f\x92\x92\x22\x96\xd5\x10\xd0\x38\xff\xee\xa8\x07\x85\x95\x8b\x40\xcd\xe6\x20\xa9\x66\x68\x41\xbe\x3c\xb5\x35\x2d\xcc\x66\xaa\x0b\xe9\x3b\xdc\x4d\x28\xe0\xbe\xcf\x29\x48\x1e\x43\x41\x01\xe9\x9a\x35\xf8\x9d\xc4\xe5\x55\xd4\xc1\x06\xd4\xc2\xe8\xe6\x2d\x83\xf2\xe3\x6c\x77\x7d\x71\xca\xe4\x6d\x99\x94\xe9\x69\x15\x79\xfa\x38\xce\x09\x16\x35\x51\x17\xfd\xbe\xac\x6f\xaa\xc2\x2f\x18\x90\xe6\x35\xbe\x92\x6b\x09\x2e\x6a\x5e\x38\x2c\x14\xce\xa8\x2b\x92\xcc\xc5\x95\x6d\x98\x57\xa8\x14\xaf\xc3\xa9\x96\x4b\x68\x90\x65\x16\x3a\xb3\xf6\x05\x62\x87\x01\x3a\x1a\x18\xae\x35\x18\xa8\x79\x54\x3c\x63\x77\x77\xd6\x60\x58\x79\x76\x0a\xcf\x3b\x9b\xd6\x37\xdc\xf5\xab\x17\xf7\xf7\x15\xed\x87\xde\xc0\x54\xac\x9a\xac\x36\xaf\x9a\xcc\x1e\x58\x35\x59\x6e\x5a\x35\x99\x6f\x5a\x35\x19\x97\xd5\x53\xaa\x4f\x4c\x4a\x26\x9f\x3e\xbc\xfd\xf0\xf1\xcb\x87\x33\x42\x97\xe2\x7f\x78\x64\x9c\x92\xc9\xfe\xf1\xde\x19\xa1\xe4\x4f\x84\xce\xe0\x7f\x78\xa6\xd9\xa6\x64\x72\x60\x9d\x11\x1a\xe9\xe4\x4f\x1f\x0f\xe1\xf5\xe4\x90\x18\x74\x06\x09\xbb\xfb\x0f\x22\xe1\xba\x00\x67\x2b\xb8\xbf\x22\xdc\x5f\x33\xb8\x5e\x06\xd7\x03\xb8\xae\x82\x3b\x42\xb8\xa3\x0c\xae\x9f\xc1\xf5\x01\xae\xa7\xe0\x8e\x11\xee\x38\x83\x1b\x64\x70\x03\x80\xeb\x23\xd9\x13\x0b\x8b\x23\x80\x93\x01\x40\xc3\x0e\x06\x12\x60\x98\x01\x8c\x32\x00\x07\x00\x86\x12\xc0\x51\x00\x5d\x2b\x03\x18\x01\x80\x23\x01\x46\x19\x80\xad\x00\x6c\x60\xea\xc1\x48\x00\xd8\x66\x06\x90\x31\xc7\xb6\x90\x89\xa6\x84\xb0\x32\x88\x8c\x2d\xb6\x60\xb3\x25\x21\xba\x0a\xa2\x97\x57\x82\x0c\xb6\x6c\x09\xd1\xcb\x20\xb2\x5a\x46\x36\x25\xff\x05\xb3\x03\xdd\xd7\xc9\xbf\x10\x83\xfa\x3a\xf9\x85\x18\xc0\xb4\x25\x46\xef\xa0\xc4\xda\x02\x80\x50\x27\x62\x75\xf0\xc3\x6a\xf1\x95\x18\xe2\x79\x37\xe4\xc5\xc7\xf7\x8c\xfb\xe2\xf9\x8c\x4e\xfa\x26\x25\xf6\xbf\xfc\x58\x51\x8b\x92\xee\x3f\xfd\x58\x51\x9b\x92\xde\x3f\xff\x58\xd1\x2e\x25\xfd\x3f\xff\x58\xd1\x1e\x25\x83\x5f\x7e\xac\x68\x9f\x92\x61\xeb\xc7\x8a\x0e\x28\x71\xfe\xf2\x63\x45\x87\x94\x8c\xf4\x1f\x2a\xda\x73\x28\x31\x8d\xac\x68\xe9\x53\xf8\x3a\x04\x55\x20\x0c\x83\x31\xa2\xa4\xfd\x75\x3d\x9e\x35\xf9\x58\x74\x48\x89\xb7\xfd\x43\x45\x87\xdd\x1f\xad\x75\x60\xfd\x78\xa5\x16\x25\xdb\x7f\xf9\x91\xa2\xa0\x68\x5e\xbd\x3d\x3e\x3c\x23\x34\xd1\xc9\x7f\x12\x4a\x4e\xcf\x89\x01\xe9\xd3\x73\x42\xc9\x7f\x62\x61\x18\xca\xa0\x70\x4e\x76\x5f\x9d\x11\x1a\xe8\xe4\x94\xe3\x88\xff\x3b\x31\xe8\x9c\x2e\xf1\xbd\x63\x51\xf2\x1f\x7f\x05\x12\x7c\x9d\xfc\x35\x2b\x06\x9c\xbc\xfe\x22\xb3\xbf\x64\xd9\x83\x11\x25\x6c\x5f\x66\xef\xe7\xd0\x36\x25\xc9\x91\xcc\x3e\xca\xb3\x7b\x94\xf0\x13\x99\x7d\x92\x67\x8f\x28\xb9\xfd\x37\x99\xfd\x6f\x79\x76\x9f\x92\xd5\x27\x99\xfd\x29\xcb\x86\x8e\x09\xde\xc8\xec\x37\x79\xf6\x88\x92\xf8\xa3\xcc\xfe\x98\x23\x31\x29\x59\x1e\xca\xec\xc3\x2c\xdb\x46\xc5\xfb\x5d\xe6\x4f\xf2\x7c\x50\xa7\x67\xf7\x32\xff\xac\x90\x6f\x52\x72\x7a\x7a\x27\x5f\x9c\x9e\xe6\x6f\x40\x41\xef\xed\x1e\x1e\x67\x26\x0f\xf9\xd2\xa7\xc4\xdf\x95\xd0\xbb\x39\x35\x5d\x4a\xd2\x63\x99\x7d\x9c\x73\xd1\xa1\x64\xf6\x5a\x66\xbf\xce\x9b\x64\x52\x32\x3f\x90\xd9\x07\x79\xb6\x45\xc9\xc5\x4f\x32\xfb\xa7\x3c\xdb\xa6\xe4\xf2\x67\x99\xfd\x73\x9e\xdd\xa3\xe4\xdf\xff\x35\xd3\xdc\xff\x4a\x0c\xba\xcc\xde\xf5\x29\xf9\xf6\x36\x7b\xf7\x56\x8d\xc2\xbd\x90\xf9\xc9\x57\xa1\xdc\x11\x6e\x40\x49\xf8\x2e\x83\x7b\x57\xc4\x61\x39\x03\x4a\xc6\x2e\xbc\x9c\x67\xcc\xb2\x29\x79\x76\x4a\x8a\x79\x68\xc3\xf7\x3f\x9c\xec\x1f\x81\x91\x39\x4d\x08\x5d\xd1\x95\x78\x03\x56\xf6\xf8\xe7\x37\x07\x27\x25\x0e\x8e\x4c\x4a\x7e\xfd\xbb\x6c\xce\xdf\x73\x0e\x3a\x94\xdc\xfc\x4d\x66\xff\x2d\xe7\xe0\x90\x92\xe9\x5e\x49\x4d\xed\x15\x06\x0c\xe8\xa5\x3d\x39\x50\x06\x94\x5c\x7d\x2e\x41\x7e\xae\x40\x7e\x96\xe3\x78\x40\xc9\xf9\xab\xac\xd5\xaf\x54\xab\x03\x7d\x46\x97\x00\x30\x74\x28\x89\x3e\x94\x75\x63\x05\xd5\x07\x81\x6a\x38\xa4\x64\xf1\x5e\x52\xfd\x9e\xe4\xbc\x73\x28\xa1\x2f\x20\x3f\xd5\xe7\x05\x9e\x42\xe3\x3b\x2f\x1b\xf2\x2d\x4a\x9e\xef\x64\x24\x7d\x15\x66\x78\x27\xef\x29\xf4\x48\xf6\x4e\x8e\xde\x95\x1c\x30\x74\x43\x76\xdf\x9d\x94\x32\x01\xd7\xe4\xdd\xee\x61\x19\xb4\x6b\x53\xa2\x49\x42\xff\x25\x57\x1a\xe0\x42\x1c\x55\x61\x47\xd0\xa7\x47\xef\xf7\x3f\x7c\x2a\x65\xf7\x00\xf8\xf0\xe8\xe4\x78\xef\xa8\x4c\x45\x0f\xfc\xae\xe3\xbd\xa3\x77\x6f\xcb\xf9\x30\x14\x5f\x1d\xed\xef\x96\xb3\x11\xfa\xcd\x87\xe3\xfd\x23\xa0\x1b\x39\xfa\x96\xdd\x8a\x6d\x59\x82\xcb\x82\xb6\x2e\xc8\xcf\xcf\x1f\xdf\xef\x17\xa0\x7e\x8e\x17\xac\x04\x03\x94\x1e\xfe\xf4\xe9\xb0\x00\x73\xe8\x5f\xb0\x4f\xcb\x22\x54\x0f\x30\xbd\xde\x7f\x57\x00\x7a\xcd\xc2\x12\x9e\x3e\x4a\xf1\xeb\x02\xc4\x7e\x34\x2b\x41\xf4\xb0\xa6\xd7\xc2\x07\x2e\xd6\x85\xdf\x8a\x8b\x90\xd0\x29\x25\x8a\x76\x93\x24\xbe\xae\x90\x04\xda\xa5\x82\x0c\xc1\x6a\xd8\x80\x89\x47\x6f\x7e\xfa\x19\x98\xc5\x75\xf2\xa7\xc9\x1e\xa8\xf6\x8f\x7b\x45\x18\x10\x8e\x77\xfb\x07\x19\xc8\x6b\x04\x79\x5d\x00\xb1\x7a\x40\xff\x87\x4f\xef\xdf\x7d\xdc\x2b\x77\xc7\x08\x98\xf3\xf6\x10\xfc\xcc\x59\x06\x3e\x1a\x62\xa6\x55\xce\x74\x30\xd3\x2e\x67\x8e\x30\xb3\x5b\xca\xb4\x4c\x13\x73\x7b\x95\x5c\x0b\x73\xfb\x95\x5c\x1b\x73\x07\x95\xdc\x2e\xe6\x0e\x2b\xb9\x3d\xcc\x75\x2a\xb9\x7d\xcc\x1d\x55\x72\x45\x1b\xb6\xcf\x7e\xc8\x62\x9b\xa2\x5d\xed\x1f\x2c\x2d\x98\xfa\x97\x32\x45\x96\x68\xff\xf3\x4a\xae\xe0\x55\xa7\x9c\x0b\x4a\x6a\xf2\x6a\x17\x3b\xeb\x52\x2f\xcf\xa3\x6a\x13\xa9\x01\xce\x57\xbe\xbc\xce\x61\xb3\xb9\x54\x6d\x32\x05\x36\x69\x72\xb4\xff\xee\xe3\x6e\x01\x3c\x9b\x52\xd5\xe6\x54\x0e\x4e\x21\xc4\x90\x97\xc0\xd9\xbc\xaa\x36\xb1\x02\xf7\x60\xf2\xe5\xcd\x87\x63\x04\x96\x93\x2b\xa3\x32\xbb\xb2\xd1\x30\xbc\x3a\x7a\x73\xd2\xce\xc0\x86\x39\xd8\x28\x03\x1b\x4a\xb0\xed\x0c\xcc\xc9\xc0\xe4\x4c\xeb\x81\xa5\xab\xa2\x66\x59\x7b\x1c\x2d\x5b\x0f\xa8\x6e\x0f\x2d\x7e\xae\x5e\x33\xc5\xc7\x5d\x83\x40\xf5\x3f\xc8\x23\x28\x41\xed\xd5\x40\xc7\x56\x99\x8e\xf2\x6e\xd4\x5f\x0a\x44\xe0\xb6\x04\xb1\x2b\x21\x5b\x8d\x29\xee\xec\xa9\x20\xaa\x2f\x81\x91\x3f\x4d\x7e\x26\x2e\xf9\xd3\xc7\x9f\x89\xab\x97\x81\xb3\x4f\x6e\x29\x56\x0b\xb4\xea\xd5\xc5\xdc\xf2\x1a\xc4\x63\x98\x0f\x5a\xf4\x37\xb7\xf8\xed\x6f\x6c\xf2\x01\x36\xf9\xe0\xa1\x26\x8b\x3b\xa7\x7e\x6b\x8b\xa5\xf9\x79\xb8\xd1\xe5\xdd\xc5\xc5\x46\x93\x3f\x4d\xfa\xff\x78\x88\x5a\x51\xcf\xef\x40\x30\x98\xc2\x87\x07\xc7\x86\x7d\xbe\x95\x0d\xa4\xd5\x7d\x24\x5b\xaa\x0f\x77\xc8\x9f\xfe\x13\x7a\x62\xd2\x7d\xd4\x68\xc9\x6c\xeb\x6f\x64\xe5\xe0\x51\xac\xc4\x0f\x1f\xbf\x9d\x99\xca\xd4\x3f\x4c\x73\x4d\x52\x4b\xea\x66\x33\xc1\xef\x82\xe8\x11\x7d\xef\x96\x37\xfd\x15\x86\x4f\x6d\x73\xd3\xe3\xc6\xd1\x2e\x8e\xa3\xdd\xc7\x74\x5e\xee\xcb\xfc\xf1\x9c\x78\x4c\xd7\xfd\xee\xbc\x78\x85\xbc\x78\xf5\x20\x2f\xc4\x94\xcb\x6b\xfc\x8e\xbd\xa6\x65\xd7\xc1\x92\xed\x89\x23\x99\xe9\x03\xed\x7a\xb0\x76\xb9\xac\x53\xbd\x9e\x3b\xff\xfe\xf1\xf4\x35\x7a\x75\xb4\xab\x4e\xf8\xd2\x4f\x53\x59\xe3\x39\x4b\x70\xe4\x2b\xa6\x1b\x8d\x9f\xee\x8b\x66\x34\xdb\x37\xd7\xb0\xe5\x45\xee\x9e\xb3\xd4\xb1\x62\x62\x11\xb1\xb1\xcd\xce\x0e\x1a\x27\x38\xad\x11\xb9\xdd\x62\xee\x44\xe5\xf6\x8a\xb9\x30\xd1\x17\xd9\xfd\x62\xf6\x99\xca\x1d\x14\x73\x7f\x51\xb9\xc3\x62\xee\x57\x95\xeb\x64\x64\xfd\xa7\x24\x6b\x94\xe5\x8c\xc8\xfd\x43\x7d\x24\x57\xca\x9e\x24\x22\xc0\x69\x51\xae\xca\xe8\x4d\x8e\xca\xc6\x2f\x06\x0f\x91\xa9\x96\x00\x9f\x4c\xa7\x2c\xf8\x3f\x8c\x50\xb1\x46\xd0\xb8\x2d\x66\x0d\x95\x17\x8c\xbf\x96\xa7\xfd\x74\x03\x9e\xb2\x50\x2f\x72\x37\xbc\xd8\xe8\x10\x86\xfe\x32\x65\xb3\xfc\x3a\x8b\x0c\x53\x76\xe6\xa7\x51\xe6\xd7\xd4\x8a\xbb\x80\xb2\x9a\x76\xe7\x9c\x25\x02\x45\x21\xca\x4e\xd2\x99\xca\x6a\x4f\xe2\xfd\x68\x26\x8e\x03\x24\x06\xed\x9b\xeb\xf4\x02\x0e\xa5\xec\xa8\x69\x13\x85\xff\xc3\x08\x5c\x87\x76\x4d\x2c\x9d\x87\x54\x9d\x1c\x51\xff\xcb\xc3\x2a\x17\xd7\x6b\x9a\xe5\xb4\x68\x58\xd4\x15\x9a\x4b\x16\xe9\x59\x30\x1a\xb5\x63\xba\x73\x99\xb0\x39\x25\x84\x12\xb1\xb3\xde\x8b\x62\x2a\x0e\x27\xdf\xb2\x94\xca\x50\x2e\x90\x14\x76\xe8\xdc\x4f\x52\x7c\x5c\x04\x51\xb0\x08\x7e\xf5\xcf\x43\xf1\x5a\x84\x3e\x21\xdb\xb2\xb2\x20\x8a\x98\x88\xdb\xb6\x4d\xa8\x8c\x80\x52\x7e\x29\x02\x15\x3d\x64\xce\xc8\xff\xf6\x28\x36\x7c\x6e\x66\x43\x41\x48\xab\xce\x5b\x7e\x58\xad\xe8\x67\xb7\x5a\x0d\xf2\x24\xc0\x76\xd6\x0f\x7d\xdc\x15\xf4\x83\xdf\x46\x5d\xf2\xbf\x3f\xd8\x42\xb1\x10\xf7\xff\xcf\x8e\x8e\x57\x7c\x7d\x47\xe3\xcb\xc7\x75\xf4\x6f\xd6\xd9\xbf\x41\x15\x8e\x6b\xbc\xbc\xbb\x4b\x2a\xfa\xb1\xa8\x19\x77\xaa\xb6\xbb\xd0\x09\x62\x5b\xeb\x5a\x47\xfc\x31\xba\xa6\x18\xdd\xa5\x4a\x45\x49\x0b\xe9\xc6\xfd\x03\x1a\xf2\x41\x57\x5e\x2c\x17\x3f\x28\x5a\x1b\xe4\xb7\x3a\x43\x91\xa7\x2c\xff\x30\xb3\x57\x5e\x86\x6a\x88\x3d\xd0\x60\xb3\x6a\xa7\x58\x0b\x53\x27\xb5\x07\x8c\xb4\xbf\x12\xcf\x53\x3d\xbb\x43\xfe\x0f\xb2\x86\x4e\x21\xb1\x60\x7b\xac\xad\x0d\xe2\x05\xd5\x1c\xf8\x53\x1e\x27\xba\xf1\x08\xaf\x50\x4a\x6b\x83\x53\x08\x35\x11\x93\x78\x5e\x62\xac\x9b\x22\x14\x42\x5f\x98\x85\xe8\x01\xc1\x06\xf2\xf2\x58\x19\x63\xd2\x06\xe4\x77\x77\x72\x1d\xb0\xc0\x84\xa0\xed\x59\x6e\xb0\xad\xee\x11\xdb\x5c\x73\x90\xc5\xda\x7c\x8a\x27\x2f\x37\xe6\x35\xc5\xe7\x0a\x67\x53\x3f\x99\xed\xc5\xab\xfc\x7e\x36\xb9\x11\x25\x3f\xdf\xd3\x8c\xad\xb3\x88\x67\xc1\x3c\x60\x49\x9a\x1d\x3e\xcc\x37\xd7\x08\xfc\x13\x7e\xe6\xb1\x09\x3f\xbb\xbb\xdb\xb2\x28\xf9\x8b\xdc\xc7\x3d\xe1\x67\xd2\x50\x94\xaa\xdf\xde\xae\xc5\x02\xd9\x58\xab\x37\x21\x28\x5e\xa0\x6c\x79\x12\x12\x8a\x47\x03\xa8\x38\x12\x70\xb6\xa6\x74\x61\x5f\xef\xba\xf1\x58\x22\xea\x05\x2f\x3f\xef\xb4\x2d\xb7\x02\xf2\xb2\x0a\x62\xb9\xe6\x3a\xe2\x0b\xa1\xbe\x7c\x3e\xbd\x5c\x77\x7f\xa9\xe4\xfb\x56\xde\x05\x79\x48\x67\x19\x85\xd2\x1c\x6f\xdc\xbf\xbc\xa1\x6f\x02\x75\x67\x56\x80\x9b\x4c\x5b\x2d\x36\x09\xce\xc6\x49\xab\xa5\xf3\xbb\x3b\xf2\x17\x22\xc6\xdb\x24\x38\x33\x44\x2f\x4d\x82\x33\x71\x96\x2c\xc1\xd3\x3b\xc5\x3e\xa2\xc9\x23\x1b\x2a\x37\x83\xae\x5d\x19\x12\xdc\xd0\x19\x85\x1a\x1e\x8d\xb2\x49\xac\x9b\xb1\x9a\x88\xf5\xa3\x8c\x90\x55\x1f\x06\x89\xbf\xf4\x31\xf8\x84\xb7\x85\xae\x4a\x9e\xa1\xf6\x90\x5e\xb1\x24\x65\x5f\x0a\x70\x5b\xb8\xa4\x5b\x7b\x21\xa3\x14\x24\xc1\x45\x10\x61\xcc\x00\x09\x98\xe7\xc8\x63\xec\x2b\x1e\xef\xf9\x49\x12\xf8\x17\xec\x08\x69\x56\x90\xf5\x37\xd9\xfd\xfe\x69\x9c\x7c\x16\xf1\x4b\x14\x70\x29\xb3\x08\xf7\x2a\x0c\xa2\x6f\x65\x28\xcc\xa2\xea\x2c\x32\x4b\x78\x91\xbe\x3c\xa7\xd4\xe2\xcf\xc1\x8c\xc5\x95\xc6\x62\x9e\x0c\x23\x90\xf8\xd3\x6f\x8c\xb3\x99\x8c\x48\x20\xe0\xca\xb9\x8f\xde\xe9\x2b\xf6\xb3\xd7\x2f\x9c\xc6\xc8\x90\x1e\x91\x51\x03\x96\x71\x9a\xdd\x2c\x79\x99\x1d\xe4\x17\x65\x8b\x47\xe6\xf1\x26\xfb\x06\xc9\x28\x84\xc6\xc1\x42\x1a\x42\x6a\x3e\x57\x61\x49\x96\x71\x2a\xee\x2d\x15\xa7\x35\x6a\x98\xf3\x6d\xea\x0d\x51\xf5\x32\x12\xbd\x02\xed\x72\xbb\x6e\x23\xb6\xca\x86\xd8\x3c\x8c\xa3\x6c\x36\xcb\x5b\xcd\xef\xee\xf2\x86\xb3\xa2\xf5\x6a\xc4\x5c\xdd\xfe\x5f\xa4\x56\xdc\x73\x9f\x9d\x99\x43\x2e\x8e\x4b\x9b\xcf\x33\x84\xc1\x8c\x45\x5c\xea\x12\xa5\x55\xde\xb2\xdb\xd4\x60\x93\x07\x61\x26\xfc\xec\xcc\x53\x61\xe8\x55\x3b\x5e\xd4\x39\x33\x56\x6d\xfe\x16\x2c\x45\xe4\xf4\xd2\x29\x51\x6c\xc9\x49\xfc\x8d\xc9\x29\x34\x09\x22\xce\x2e\xf0\x3a\xe0\x04\x23\x0a\x1b\x99\x9e\xf4\x92\x0e\x5e\x15\x9e\x5d\x21\x48\x72\xda\x72\x70\x69\xb8\x25\x6c\x87\xc7\x9f\x96\xcb\xe2\x89\xf5\xe0\x51\x1c\x68\xb5\x1e\x04\xe9\x5c\xfa\xe9\xc7\xeb\xe8\x30\x89\x97\x2c\xe1\xb7\x7a\x60\xa8\xfd\xba\x0f\xf3\x2e\xc0\x8d\xf5\x6c\x92\x9e\xb5\x5a\xa8\x96\x21\x29\xe3\x3b\x21\x5b\xe4\x29\x85\x7c\x07\xba\x2a\x0e\xc2\x2b\xdb\x66\x8c\xa1\x94\xb7\x65\xde\xe7\x91\xfc\xd7\xb7\x4e\x32\x71\x5d\xcb\xd4\xeb\x86\x56\x35\xd0\xa5\xa2\xe2\x7d\x63\xb7\x65\x82\xb2\xbe\xda\x58\xc9\x24\x38\xbb\xcf\x88\x26\xe9\xed\xe2\x3c\x0e\xc9\x96\xea\xc1\x7a\x75\xd9\x61\x0d\x29\x1c\x5a\x9c\x68\x85\xbe\x17\x82\xf3\x17\xc4\x20\x08\x69\xa2\x58\xdd\xeb\xae\x89\xfa\x4a\x74\xab\xe1\x11\x3d\x6e\x78\x60\x3f\xfb\x8f\xe8\xe7\xe8\x6c\xcc\x26\xfe\xd9\xdd\x9d\x0e\x7f\x3c\xf2\x17\x62\xdc\x67\xeb\xa2\x85\x11\x41\x49\x5b\xda\xe6\xce\xf4\xd2\x10\x07\x72\x83\xb9\x2e\xc2\xed\xe6\x8e\x42\x13\x67\x78\xe2\x17\x4f\xa7\xf9\x30\x23\xd2\xb8\x9f\x5c\x30\x0e\xdd\xa3\x82\x80\xf9\xb3\x2b\x3f\x9a\x32\xdd\xc2\x75\x59\x40\xec\x6d\x44\xfc\x3e\x48\xd3\x20\xba\x28\x63\x52\x7e\xd4\x46\x9d\x24\xd4\x7e\x5d\xd5\x57\xc6\x3f\x5b\x33\xfe\xb3\x93\x48\x4c\x48\x43\xe6\xbb\x89\xb1\x5f\x1b\xf6\x12\x4c\x44\x98\x40\x98\xb5\x7d\x28\x4e\x96\xad\x1b\x01\xf2\x6d\x75\x00\x48\xa4\x85\x29\xc8\xfa\xb2\x13\x09\x7c\x36\xde\x38\x64\x0a\x07\x10\x15\xf6\xfb\x0d\x42\x2f\x38\x52\x95\xf9\xe6\x3e\x60\xec\xdb\xda\x10\xa7\xcf\xf2\x58\x32\x77\x77\xcf\xc8\xb3\xec\x69\x2d\xaa\x37\x59\x7d\xeb\xcc\xe1\xf4\x52\xdd\xbd\x3d\xf1\xdb\xbf\x7e\x3d\x7b\x1e\xac\x27\xec\x8d\x18\xbc\x8f\x40\x65\xb6\x47\x67\xcf\x37\x58\x3e\x94\x97\x52\xfc\x46\x1c\xff\x59\x83\x32\x23\x28\xe2\x8d\x4b\x05\x43\x91\xd5\xae\x6a\xf4\xb8\x58\x79\x3e\x3c\x28\xcb\x06\x68\x99\x05\xd9\x2c\x54\x62\x2d\x74\x46\x11\x33\x12\x58\x2c\x75\x3f\x2e\xe2\x93\x17\xa6\x57\x70\x49\xa1\xaf\xe1\x51\xd0\x65\x1c\x92\x91\x35\x82\xa4\xe5\xac\x53\xa3\xe0\xef\x1b\xe5\x32\x53\x8c\x1c\xd8\xba\x4e\xb2\xca\xcd\xaa\x30\x7f\xab\x99\x5f\x9b\x34\x79\x51\x7d\x97\x1c\x2c\xa8\x48\x1d\xff\x43\xa9\x32\xdb\xa3\xaf\x67\xdb\xcf\x2f\xd6\x89\x56\xa1\x89\x0d\x52\x6f\xe6\x62\xa1\x62\x59\x34\xfa\x29\x6d\xab\xd5\x22\x37\xa4\xec\xdc\x49\x3f\x2c\xf3\x1d\x2d\x6a\x19\x3b\xaa\x42\xbd\x81\x5e\xf3\x06\x84\xd7\x6f\xcf\x05\xc1\x86\xbb\x09\xf8\x74\xb6\xfd\xfc\xc2\xd8\xd0\xaa\xfa\x50\x16\x72\x0d\xfe\xb2\x6a\x14\x48\xc6\x33\xf2\x4c\x44\xdb\x79\x86\xd1\x76\xea\x6c\x17\x88\x34\xd5\xd3\x75\xa3\x50\x38\x0e\x08\x4e\xf4\x11\xbb\xd8\xbf\x59\xea\x64\x72\x7a\x7a\x7a\x4a\xb6\x31\x34\x36\x25\x17\xaa\xdc\x5a\x4f\x0f\x4f\x97\x86\x7e\xca\xdf\x44\x33\x76\xe3\x29\x60\xba\x95\x60\x80\x7a\xbd\x50\xa8\xd9\xad\x90\x0b\x23\x05\xb5\x17\x06\x9c\x25\x18\x2a\x02\x34\xfc\x76\x43\xf7\xe0\xe9\x49\x55\x53\xa1\xfa\xb6\xa5\x82\xbc\xc9\x66\x16\xdf\xa9\x02\x00\x24\xd8\x77\x77\x47\x4e\x4f\x0b\x56\x18\x74\x0a\xf2\xb3\xfa\x22\x9b\xca\x4f\x2f\x3d\x8f\x1b\x6b\xd5\x88\x08\x2e\xb4\xad\xca\xd1\x2a\xcb\x8b\x47\x4c\xf3\x62\xdb\x05\xbb\x28\x4e\xbd\xeb\x4d\xd6\x61\x23\xab\xd6\x4b\x94\x8c\xe9\x56\x9f\x2e\x3c\x23\xcf\xdc\x67\xe4\x19\x25\xcf\x88\x4b\x9e\x11\x0a\x4d\x76\xe1\x87\xfa\x2e\xf9\x5f\x09\x3d\x77\x71\x1f\x39\x73\xc9\x9f\x08\x9d\xbb\xe4\x74\x4e\x68\xe4\x92\xd3\x88\xd0\xc4\xc5\xed\xbc\xdc\xc5\xdd\xe4\x57\x2e\x39\xbd\x22\xf4\xc6\xad\xd5\xb1\x7e\x78\x9f\x7d\xb7\xef\x61\xb8\x8c\x37\x7c\x61\xce\x06\x12\xa3\xd6\x00\x06\xcd\xea\x69\x35\xf4\x9e\x5c\x03\x2a\xdd\x2d\xd5\xd5\x6a\x41\xa5\xea\x1f\x28\xa9\xd8\xe4\x26\x8b\x50\x07\x59\x54\xf1\xe9\xa5\x70\x81\xb8\xc7\x26\x32\xe3\x6c\x9d\x35\x6a\x38\x2b\xc9\x5b\x2d\x9d\x7b\x3c\x8f\x3e\x62\x18\x94\xaf\xef\xf2\xa6\x95\x14\x11\xb9\xeb\x22\x8c\xcf\xfd\xb0\x81\x6e\xd0\xa6\x49\xe4\x87\x62\xfe\xec\x6a\xc7\x4b\x3f\xd2\x96\x02\x4f\xaa\x2d\x56\x29\xd7\xce\x99\x26\x8a\x13\xf0\xfa\xeb\x43\x5e\x35\xb0\x3e\xee\xc5\x47\xc7\xbb\x3b\x56\x1c\x8d\x13\xf3\x4c\x6a\x91\xad\x0c\xc5\x26\xf3\x81\x9e\x82\x36\x8f\x13\x31\x99\x1f\x57\xa7\xe8\x45\xe4\x56\x75\xe4\x51\xa8\xae\x91\x61\x12\xa6\xbe\x8a\x04\xca\x3f\x0b\xd2\x7f\xb9\xc9\x46\xac\x9b\xb2\x67\xfe\x6f\xb5\x23\x9e\x9f\xa6\x32\x34\x50\x26\x4a\xf2\x38\xf7\xf3\xd3\x74\xfb\xf9\xc5\x62\xcc\xd7\xf1\x37\x29\x12\x82\x2e\x82\x60\x77\x62\xa8\xe8\x4f\xb8\xb6\x90\x17\x37\x1e\xd9\x02\xca\x5a\xad\xb6\x95\x19\xce\x4e\x00\x85\x3f\xce\xf5\x46\xad\x9d\x75\x4a\x1c\x31\x2d\x9e\x43\x87\x6c\x13\xaa\xcd\xe3\x55\x34\x2b\xca\xfc\x7d\x81\x2f\x05\xe7\xd9\xfb\xde\x9c\x5f\x9a\x49\x79\xdf\xf1\x80\x80\xab\x96\x85\xf7\x4e\x8e\xde\xb9\x72\x6d\x78\xef\xe3\x87\x93\xa3\x8f\xd9\xe3\xee\xbb\x13\x11\x49\x86\xbe\xdf\x3f\xd9\x95\x61\x64\xd6\x54\xa1\x26\xa4\xde\xf7\xfd\xe3\xbd\xdd\xc3\x7d\xd7\x1e\xd2\xfd\xe3\x3d\xf8\x73\x60\xb9\x96\x65\xd3\x03\xdb\xb5\xac\x2e\x3d\xe8\xba\x96\xd5\xa3\x07\x3d\xd7\xb2\xfa\xf4\xa0\xef\x5a\xd6\x80\x1e\x0c\x5c\xcb\x1a\xd2\x83\xa1\x6b\x59\x0e\x3d\x70\x5c\xcb\x1a\xd1\x83\x91\x6b\xd9\x26\x3d\xb0\x4c\xd7\xb2\x2d\x7a\x60\x59\xae\x65\xdb\xf4\xc0\xb2\x5d\xcb\xee\xd2\x8f\x1f\xf6\xdd\xde\x88\x9e\x7c\xf9\xe8\xf6\x4d\x7a\xf2\xf3\xd1\xfe\xbe\xdb\xb7\xe8\xc1\xc7\x4f\x47\x6e\xdf\xa6\x07\x6f\x3e\xef\xbb\xfd\x2e\x3d\x7e\xf3\x37\xb7\xdf\xa3\xc7\xfb\x9f\xf7\x3f\xb8\xfd\x3e\xdd\x7f\xf3\xd3\xcf\x27\x6e\x7f\x40\x3f\xbc\xf9\xb0\xef\xf6\x87\xf4\xef\xfb\x47\x1f\xdd\x9e\x43\x5f\xed\xee\xbd\x3d\x3e\xdc\xdd\xdb\x77\x1d\xfa\xea\xed\xf1\x21\xfc\x39\x76\x1d\x7a\xb2\xfb\xca\x1d\xd1\xbf\xba\x8e\x45\xbf\xb8\xce\x90\xee\xbb\x83\x11\x3d\x72\x1d\x9b\x9e\xb8\x4e\x8f\xfe\x9b\xeb\x8c\xe8\x27\xd7\xe9\xd3\x37\xee\xb0\x4b\x3f\xba\xc3\x11\x3d\x74\x1d\x93\xee\xed\x1e\x1e\x7f\x7d\xf7\x71\xef\xad\x6b\x8b\x87\x62\x1a\xfe\xee\xba\x83\x3e\x3d\x76\x9d\x2e\x7d\xed\x0e\x1c\x7a\xe0\x0e\x4d\xfa\x93\x3b\xb4\xe8\xcf\xee\xd0\xa6\xff\xea\x0e\x7b\xf4\xad\x3b\xec\xd3\x77\xee\x70\x40\xf1\xbc\x87\x6b\x75\x21\x01\x7f\x8e\xf6\x4f\x3e\x1d\x7d\x90\x29\xf8\xf3\x77\x77\x64\xd2\xbf\xb9\x8e\x43\xf7\xdc\xc1\x90\x7e\x76\x9d\x01\x7d\xe5\x0e\x06\xf4\x83\x3b\x74\xe8\x7b\x77\x38\xa4\xa2\x75\x5d\x9b\x1e\x1f\xc2\xef\xe1\xd1\x9b\x0f\x27\x5f\x8f\xf7\x8e\xf6\xf7\x3f\xb8\x3d\x78\x3e\x39\xde\x83\xc4\xf1\xde\xd1\xc7\x77\xef\x04\xed\x56\xaf\x4f\xf1\x9c\x01\xa6\xf0\x68\x81\x6b\x8d\xe8\xab\x23\xfc\x23\xce\x14\xb8\xbd\x3e\xa4\xe0\xcf\xcf\x1f\xdf\xef\xbb\xdd\x01\x3d\xdc\xfd\x69\xff\xeb\xa7\x43\xb7\xdb\xa5\x87\x3f\x89\xbf\xaf\xf7\xdf\xed\x9f\xec\xbb\xbd\x01\xa4\xe0\xcf\xfe\x87\xd7\x6e\xb7\x2f\x40\x5f\x7f\xfc\xf2\xc1\xed\xf6\xa8\xd8\xee\x2f\x53\xf8\x17\x0a\x3b\x14\x73\x7b\x26\xc5\x6d\xf9\x6e\x77\x44\xdf\xed\x1f\x9c\xb8\xdd\x21\x95\xfb\xeb\x5d\xab\xd7\xa3\x6f\x0f\x4d\x77\x34\xa0\x6f\x0f\x2d\x77\x34\xa4\x6f\x0f\x6d\x77\xe4\xd0\xb7\x87\x5d\x77\x34\xa2\x6f\x0f\x7b\xae\x65\x9a\xf4\xed\x61\xdf\xb5\x4c\x8b\xbe\x3d\x1c\xb8\x96\x69\xd3\xb7\x87\x43\xd7\x32\xbb\xf4\xed\xa1\xe3\x5a\x26\xe0\x18\xb9\x96\xd9\xa7\x6f\x0f\xbf\x1e\xbe\xfb\x74\xec\x5a\x26\x60\xfa\xba\xfb\xfa\xb5\x4a\xbe\x7f\xf3\x01\xf3\x01\xe7\xd7\xe3\x4f\xaf\x4e\x8e\x76\xf7\x4e\xb2\xe7\x93\xdd\x23\xd7\x32\x07\x08\xf8\xe9\xdd\xc9\x9b\xc3\x77\xff\xa6\x9e\x5f\xbf\xf9\xfc\xe6\xf5\xbe\x6b\x59\x16\x3e\xed\xef\xbd\x79\xbf\xfb\xce\xb5\x2c\x13\x2b\xdb\x3f\x7a\xf3\xf1\x35\x3e\x7d\xd8\xfd\xfc\xe6\xa7\xdd\x93\xfd\xaf\x20\x91\xae\x05\x5d\xa8\x72\x0e\x3e\x1e\x7d\xd9\x3d\x7a\xed\x5a\x83\x21\x15\x1b\xca\x5d\x0b\x44\xe7\xd3\xbb\x77\xaa\x23\x2d\xa7\x4b\xbf\xbc\xf9\xf0\xfa\xe3\x97\xaf\x1f\x3f\xef\x1f\x7d\x7e\xb3\xff\xc5\xb5\x1c\x9b\xbe\x42\xd6\x7d\xd8\x3f\x3e\x86\x7e\xb1\xad\x41\x31\x07\xd9\x6b\x5b\xc3\x35\x83\x5b\x4e\xca\xb3\xa0\xaf\x1b\x8f\x49\xab\xc0\xaf\x9b\x0f\x4b\x6f\xf8\xfa\x8a\xe7\xa5\x8b\x3b\x6e\xdd\xc6\x2b\xa4\x9e\xb0\x27\xf7\x9e\x96\x77\x9d\x3e\x84\xf0\x11\xdb\x1b\x15\xca\x93\xf8\x24\xde\x48\xe0\xc3\x5b\x9c\x73\x54\xaf\x62\xce\xe3\xc5\x6f\xc5\x26\x3e\xec\xcb\xad\x13\xd3\x6f\xcd\xe8\x9e\xb2\xe3\xb1\x76\x21\x0b\x2d\x5f\xf8\x07\x42\x93\xb0\x39\x4b\x58\x34\x65\xef\xfd\xc8\x2f\xcd\x1f\xc1\x36\xd7\xdf\x17\x22\xbe\x55\xef\x95\xa3\xe4\xb9\xb8\xd4\x6a\x99\xc4\xf3\x20\x64\xe9\x73\x74\x4c\x84\x25\x6f\xa8\x4a\x15\xcf\x5f\xa4\xe3\x8f\xe7\xff\xce\xa6\xf8\xf1\x38\xd5\xb9\x51\xff\xbc\xa7\xbc\x11\x5c\xef\x63\x79\x49\x9d\x51\x3e\x61\x78\xb5\x6b\xed\x3b\x6b\x53\x1b\x38\xbb\x88\x93\x80\x29\xd3\xbb\x01\x22\x63\xb0\x47\x54\x8a\x3c\x54\x64\x77\xb9\x64\x7e\x82\x7e\x14\xc9\xd3\x0f\x16\xdb\x8b\x97\xb7\xe2\x53\x13\xc9\x92\x0f\x16\x3a\x06\x27\x23\xf5\x88\xf8\xfb\x30\x38\xca\x17\x86\xbc\xce\x92\x0f\x16\xca\xc3\x64\xab\xd4\x83\x45\xde\x07\xe9\x94\x85\xa1\x1f\xb1\x78\x95\x7a\xa4\xf4\xb8\xb1\xf0\xed\xeb\x6c\x29\x37\xf5\x26\xdf\x83\x99\xfb\x68\x66\x53\xce\x6e\xb8\x5b\xe0\xb8\xa6\xcf\xe3\x88\xa7\x54\x9b\xc6\x61\x9c\xa4\x54\x13\xd7\xad\x19\xe4\x9e\x3e\x02\x71\xd6\x07\x12\x2f\x3c\x6b\x2d\x4d\x74\xcb\xa3\x30\x28\x6e\x49\x04\x19\xf3\x1e\x55\x58\x49\x9b\x2c\x9c\x09\xdf\xa3\x0a\x67\x7d\x2b\x4b\xe7\x7d\xfd\xb8\xe2\x28\x4c\xaa\xac\x90\xac\x47\x15\x2c\xf5\xb3\x2c\x0f\x79\x1d\x72\x7f\xd6\xd8\xeb\x75\x1d\xe0\x7d\x07\xdf\xb5\x7d\x91\xb4\x17\xf1\x8c\x11\x77\xf2\x58\x3e\x61\x24\xb7\x09\xfe\xca\x50\xf6\x79\x10\x51\x9a\x07\xf6\xa4\x85\x80\xa1\x67\x94\x88\xad\x51\x9a\x1f\x69\xbb\x21\xff\x29\xd1\x66\x8c\x33\x19\x20\xc5\x9f\x7e\xfb\xe5\xcb\x25\x5b\x25\x41\xca\x83\x69\xe7\x34\x3a\x8d\x9e\x01\xfa\x67\xae\xb6\xbb\xe2\xb1\x80\xd4\xce\xfd\x14\x3d\x7f\x2d\xf2\xaf\x82\x0b\x9f\xc7\x49\x27\x94\x17\xe0\xb8\xa7\x91\x86\xff\x9e\xb1\xa8\xbd\x4a\x9f\x69\xde\x4b\xed\x19\x90\xf6\x8c\x6a\xb8\xf6\x01\xcf\x19\x35\xcf\x00\x3d\xbc\x74\xb5\xd7\x41\xea\x9f\x87\x4c\xf3\xa3\x5b\x49\x56\xc2\x42\x5c\xe8\x58\xac\xa2\x0b\x98\xb7\x9f\x46\xcf\x54\xe3\x80\x9c\x34\x5d\x2d\x98\xb6\xc7\x93\x70\x7b\x37\xe4\xda\x82\xf9\x51\x2a\x4a\x02\xa4\x6a\x7b\x0e\x09\x39\x5a\x03\x64\x4e\x4c\x06\x8a\x59\x0d\xb0\xc0\x3c\xe8\xa8\x2c\xd0\x4f\x3b\x48\xdb\x30\xd5\xc8\x73\x9e\xd0\x79\x5b\x16\x25\xe7\x71\x1c\x12\x4a\xde\xcc\xb5\x94\x71\xaa\xad\xa2\x59\xcc\x52\x8d\x5f\x32\x4d\x44\xdd\xd5\x3e\x1e\x43\xed\xed\xec\x38\x4d\xfb\xe5\xeb\xfd\x77\x5a\xc2\x16\xfe\x92\x6a\x69\xac\xf1\x4b\x9f\x6b\x25\x9a\x34\x98\xb7\xb1\x99\x16\xa4\xe5\xfc\x8e\xa2\x5e\xd2\xfc\x63\x94\x1e\x33\xae\x5d\x5f\x32\x7e\xc9\x12\x24\xd3\x0f\xb9\xfa\xba\x91\x6a\x7e\xaa\xf9\x1a\xe0\xc6\xac\x38\x11\x19\x33\x90\xa5\x68\xca\x15\x6c\x46\x48\xca\xa2\x59\xda\xbe\xbe\xf4\xf9\x13\x68\xc9\xae\x1c\x98\x64\x29\x19\xb5\x92\x96\x22\xaf\x9e\x51\xb2\x27\x62\x5f\xa5\xda\x25\x4e\x5e\x73\x62\x83\x54\x13\xf1\xe6\x67\x28\xe1\x9a\x5c\xab\xe9\x88\x7f\xda\x31\x8b\x66\x30\x3a\xf6\x8f\xf7\xb4\x65\xc2\xe6\xc1\x4d\x07\x80\xb0\x96\x8e\x02\xda\x9d\xcd\x34\xcb\x76\x34\x1e\x23\xea\x55\x84\x93\x54\x36\xd3\xb2\xa0\xfd\xd0\xfa\x20\xd2\x6e\x70\x8f\x04\x20\x28\x90\xd7\xe9\x68\x5f\xfc\x80\x63\x5c\x49\x28\xae\x6e\xd8\xd0\x30\xd6\xaa\xe6\x47\x33\x2d\x65\x4c\x03\xde\xe0\x7b\x59\x54\x53\xa3\x2b\xff\x97\xfa\xb7\x69\x47\xd3\xf4\x93\xcb\x20\xd5\xae\xe3\xe8\x19\xd7\xae\xe3\xe4\x9b\x76\xcd\xc2\x10\x86\xe8\x32\xf4\xf9\x3c\x4e\x16\x29\x74\x5b\xc2\x10\x5b\x1d\x8b\xc2\xbf\x64\x89\x00\xc6\xef\x8b\xa0\xa6\xe4\x77\x2b\xa4\x34\x8d\x17\x82\x89\x2a\x70\x5e\xda\x31\xb0\x33\x57\xb3\xe0\x3c\x64\xed\x73\x16\x86\xed\x14\x74\xe7\xc3\x1d\x2a\xf5\x2d\xb8\x67\x6d\x75\x5b\xa8\x2b\x9c\x29\x40\x17\x3f\x07\x64\x84\x92\x15\xee\x04\xfb\x74\xf4\x4e\x8b\xe7\x48\xbc\xda\x46\xa7\x01\x80\x86\xb5\x75\x34\x6d\x7f\xb1\xe4\xb7\x6a\x4d\x14\x68\x8d\x62\x4d\x92\x85\x80\x28\x74\xf2\x86\xd0\x76\x54\xb8\xfb\x13\x89\x7e\x34\xb9\xf9\x48\x78\xf6\x66\xae\xf1\x64\xc5\x68\x99\xa0\x54\xc4\x97\x63\x5a\x7e\xa3\x97\x76\x1d\x84\xa1\x26\x2e\x87\xd0\x7c\xed\x0b\x3b\x2f\x5d\x3e\xda\xd1\x2e\x39\x5f\xa6\xee\xf3\xe7\xd7\xd7\xd7\x9d\xeb\x6e\x27\x4e\x2e\x9e\x9f\x1c\x3d\x2f\x12\x99\x3e\x07\x39\x7d\x2d\xee\xb5\x81\x16\x96\x5e\x6a\x09\xfb\x8f\x55\x90\xb0\x14\xba\x6f\x11\xa4\x29\xf6\x57\x12\x2f\x84\x64\xc2\x14\x49\xfb\x72\xc9\xc4\x4a\x99\x26\xee\x66\x82\x31\x90\x32\x8e\xe2\x8b\xad\x40\xd6\x0b\x52\x7d\xce\xd9\x62\x89\xef\xfc\xf4\x5b\x86\x04\xd9\x5a\xa8\x21\x98\x6b\x11\x9b\xb2\x34\xf5\x93\xdb\x0e\x34\x29\x13\xd3\x54\x5b\xf8\xb7\xe2\x56\xaa\x4b\xb9\x6e\x54\x2c\x08\xe4\xb2\x94\x03\x82\x80\x6b\xb3\x60\x86\xa0\x62\x43\x15\xf0\x08\x49\xf7\x45\x9d\x42\xfa\x70\x98\x4a\x8d\xc8\x6e\x38\x8b\x52\x6c\xf7\x75\xc0\x2f\x91\x3c\x52\xe2\x07\x29\x56\x76\xe9\x5f\xb1\xe2\x33\x8f\x35\x79\x3f\x50\x99\x89\x9d\x67\x67\x94\xe4\x9d\xd6\x46\xff\xe9\x61\xb9\x28\xb8\x62\x24\xb9\x38\xd7\xad\x01\xd5\xc4\x7f\x06\x18\x63\x44\x42\xc9\x49\x59\x20\x30\x5b\x8c\x7d\x76\xc3\x45\x33\xa2\x58\x8b\x51\xab\x8a\x97\xbe\xba\x7c\x28\x45\xc9\x2d\x10\x86\x0e\xdd\xd3\x08\x23\x34\xfb\xd8\x48\xf6\x8e\x8f\x35\xf1\xc5\x5c\x8e\xa7\x02\x5d\x88\x7a\xcd\x60\x12\xef\xa0\x1f\x0e\xe2\x44\x63\x37\xfe\x62\x19\x0a\x6b\xbf\x4a\x42\x5d\x89\xf0\x45\x1c\x77\x2e\xc2\xe7\x7e\xc4\x66\x27\x6f\x0d\x78\x1b\x06\x11\xf3\x93\xf6\x45\xe2\xcf\x02\x16\x71\x9d\xc7\x4b\xed\x1c\x27\x8f\x54\x3b\x0f\x41\xf2\x12\x36\x33\x2a\x6d\x4c\x83\x5f\xff\xc8\x26\x6a\x80\xbf\xa3\x69\x32\xa6\x75\x0a\x42\x01\x6e\x48\x95\xd5\xea\x82\xae\x3f\x92\x14\x55\x47\x23\x6b\x2d\xf3\xcf\xf0\x1f\x24\xa7\x2c\xe2\x2c\x51\x04\x0a\x5f\x40\x18\xd0\xdf\xee\x7b\x48\x3d\x26\xc9\x13\x5e\x44\x7a\x19\xaf\x42\xb0\x42\xd1\x4c\x7b\x75\xac\xe9\xcf\x4e\x4f\x6f\x4c\xe7\x19\xd5\xfc\x6f\xbe\xf6\xcb\xcf\x46\x47\xd3\x3e\x82\xbc\x5e\x07\x29\xab\x14\x05\x13\x5b\x2c\x0e\x45\x87\xf3\x67\xc8\xdd\xcc\x3a\xb6\x17\xfe\xb2\x1d\x5f\xb1\x24\x09\x66\x2c\x7d\x12\x87\x85\xbf\x8b\x6c\x25\xf4\x19\x1a\x3e\xd0\x66\x4b\x36\x0d\xe6\x01\x9b\xa1\xd7\x11\x69\xb1\x98\x57\x6b\x6f\x38\xba\x42\x5a\x8a\x1f\x46\x34\x3f\x49\xfc\x5b\x2a\x8d\x21\xf3\xa7\x97\xda\x52\x7e\xd5\x01\x30\x68\x48\x6e\xc0\x41\x41\x4e\xe3\x19\x43\x7b\x0c\xaf\xe4\x56\x93\x02\x7e\xe1\x80\xd5\x2a\xd0\x02\x9e\xb2\x70\xde\xd1\xde\x44\x02\xa2\x5c\x7b\x63\xbd\x09\x9b\xb2\xe0\xaa\xec\x41\x54\xeb\x85\x07\xa9\xbe\x8a\x80\x8d\xc2\xf3\x9d\x98\xc4\xfd\x4e\xb6\xf1\x93\xde\xca\xb6\x46\x36\xa1\x84\x66\x4f\x26\xa1\xa4\x9d\x3d\x59\x84\x92\x4e\xf6\xd4\x25\x54\x83\xd2\xf8\xd8\x77\x1c\x72\x7f\x0f\xea\x11\x4f\xbe\xb4\xe3\xa8\xcd\x6e\x82\x47\xf8\x6c\xe5\x99\xd1\x96\x99\x89\xdc\x17\xe9\x40\xa2\x66\x41\x3b\x83\x98\xb1\x75\xe2\x10\x0c\xf4\x8f\xb0\xa3\x53\x71\xbf\xb9\x06\x55\x0a\x5d\x28\x36\xbf\xb6\xcf\xc3\x20\xfa\xf6\x24\xb9\x29\x08\x7d\x9d\x02\x44\x27\x6a\x44\xfc\xda\xf9\xad\x72\x81\x6a\xb5\xb6\xa7\xb7\xd3\xf0\x69\x0a\x6a\x62\xb1\x2e\xed\x9b\xe6\x59\x26\xb8\x68\x14\x54\x5d\x58\x79\x02\xc6\x2f\x88\xb4\x45\x10\x86\x41\xca\xa6\x71\x34\x4b\xb1\x67\x77\x35\x7e\x1d\x6b\x4c\xdc\x59\xa4\x64\x08\x48\x9d\x07\x49\xca\x41\xb5\xe0\x55\x3d\xe8\xd7\xc6\xd7\x5a\x18\x47\x17\xc5\x96\xc8\xb1\x78\xce\xb4\x38\xa2\x9a\x40\x5c\x82\x0d\x78\x11\x66\x3e\x2f\x36\xf8\xc7\xec\xa0\xaf\xdb\xfd\x3e\xd5\x4c\xf1\xff\x4e\xbf\x6a\x0c\x85\x91\x93\x3a\x51\x5e\xe1\x28\xc9\x15\x95\xc3\xfb\xf6\xd2\x0f\x19\xe7\xec\xf7\x50\x13\xe4\xa3\xc4\x21\x17\x46\x94\x9b\xa6\xbc\x5c\x59\x15\xb2\x1b\x35\xca\xd4\x8f\x80\x1b\x55\xad\x22\x46\x37\x18\xe8\x5c\xc3\x68\x30\x7d\x6b\xd4\x3e\xc0\x59\xd0\x0d\x38\xad\x9c\xa1\x98\xb1\xc7\xaa\x22\x5f\x8b\x56\x0b\x96\x04\x53\x9c\xd0\xdd\x68\x41\x24\xa7\x1a\x82\x77\x45\x82\x3f\x43\x1b\xd7\x90\x1c\x2e\xe2\x94\xe3\xac\x7a\x9a\xa6\xb2\xac\xd8\x25\xab\x69\x42\x75\x46\xd3\x70\x35\x63\xa9\xf6\x4f\x47\x3f\xbd\xa2\xda\x3f\x1d\x1d\xfd\xf4\xd3\xab\x57\x54\x03\x6f\xa6\xd3\xe9\x18\x98\xf2\x65\xd2\xc7\x99\xd1\xad\xc4\x13\xf9\x0b\x9c\xad\xc2\x14\x34\x81\x99\x41\x1a\x6b\x4b\x3f\xe1\xaa\x63\x53\x1e\x4f\xbf\x69\x7f\xb3\x2c\x40\xd1\xe1\x37\x5c\x9b\x07\xa1\x20\xf9\xdf\xe2\x15\xd2\xbb\x4a\x99\x26\x56\x18\x80\x3b\x82\xf4\x5b\x81\xb2\xd8\x3d\x42\x01\xe6\x42\x0a\x83\xf6\x5c\xdc\x81\x7a\xc1\x66\x59\x53\x52\xc0\x37\x5f\x85\x62\xb6\xf2\x2d\x58\x2e\xc1\x83\xf1\xb5\x74\xe1\x87\x21\xf0\xf3\x9c\xa1\xd4\x05\xd1\x2c\x98\xb2\x34\xd7\x32\x99\x82\x6d\xec\x6f\x29\x92\xcb\x5b\xd0\x7d\x29\xae\x9e\x3c\x2c\x89\xf9\x5a\x5a\x41\xf3\xed\xae\x78\xbc\xf0\x79\x30\xf5\xc3\x10\xb8\xb8\xbc\xd5\x16\x31\xf0\x20\x55\xc7\xd5\xd4\x84\x72\xaa\x4e\xbe\x62\xe5\xab\x94\xb5\x25\x2f\xda\x42\x43\xb6\xa1\xf0\x93\xa8\xa8\x6b\x3f\x1e\x23\xff\x8b\x8c\x96\xea\x17\x29\x3b\x67\x97\xfe\x55\x10\xa3\xd3\x81\x2b\xf5\xed\x8c\xca\x36\x6e\x39\x7d\x3a\x0d\x75\x1b\x80\xca\x9f\xf9\x62\x1a\x9c\x73\x41\x6c\x69\x05\xfc\x41\x74\x21\xf8\xcf\x93\xb0\xbd\x0c\x57\x69\x7b\x11\x44\xab\xb4\xfd\x2b\x4b\xe2\xf6\xaf\x71\xbc\x78\x8a\xdb\x63\xd6\xdd\x9e\x3d\xc0\x7b\x18\xae\xd2\xe7\x78\xd8\xed\xf9\xdf\x59\x12\x6b\x53\xb5\x74\x00\x15\x74\x4e\xa3\x37\x73\x6d\xee\x87\xa9\x02\xc7\x00\xcc\x9b\x0b\x49\x48\x7c\x8d\x6e\x50\xaa\xfd\xf2\xb5\x58\x1b\x16\x99\x81\xe3\xc9\x2f\x4b\x6d\x9c\x3e\x92\xad\x4d\xce\x1c\x2e\x87\xed\x01\xdf\x02\x96\xc2\x04\x4b\xb4\x11\xdd\xb0\x5f\xf6\x80\xd9\x97\xb1\x98\x79\x61\x73\x3a\xa7\x78\x10\x78\x1b\xdb\xb3\xbd\xa7\xe8\x2c\x01\x0a\x0c\x39\x46\x51\x30\xa3\xf6\xaa\x8d\x67\x79\x7f\x03\xb9\x9f\x35\xc4\x50\x23\xf7\xf3\x03\xe4\x7e\x56\xe4\x7e\xae\x93\x9b\x63\xcc\xc9\x65\x7e\xca\xdb\x7e\x1a\xf8\x51\xdb\x5f\x9c\x07\x17\xab\x78\x95\xb6\xfd\xb4\xcd\xaf\xe3\xb6\xb8\x59\xf7\xb7\x2f\x89\xed\xfb\x29\xd7\x76\xa1\x0e\x6d\x57\xd5\x91\xbb\x69\xa9\x98\x8d\x82\x31\x17\x15\x6a\x78\x2e\x58\x50\x17\xf9\xe7\x21\x6b\xe3\x22\x53\x3b\xbb\x44\xe9\x47\xe8\x39\x49\x56\x0c\x38\x22\x30\x8a\x65\x2b\x25\x9b\x05\x5a\xa8\x60\x0d\x40\x06\x17\x51\x2c\x96\x86\x16\xa8\x9c\xbf\xb0\x67\x61\xa8\x25\x0c\x94\xa1\xd0\xc3\xc0\xa3\xf3\x5b\xce\xb4\x2b\x96\x88\xb9\xb7\x50\xf1\xe2\xae\x85\x0a\x66\x2d\x61\x17\x7e\x32\x0b\x59\x2a\xc1\xc4\x5a\x03\x57\x52\x2e\x9b\x7a\x1e\x87\x8f\x58\x27\xaa\x19\x74\x9e\x04\x29\xf7\x39\x53\x2d\x0d\xe6\xda\x75\x66\x1a\x40\x9d\x01\x5e\xed\x1a\xcf\x4f\x6b\xf3\x38\xe2\x95\x89\x36\xce\x55\xe2\x70\xf6\xfc\x5c\x2c\xf3\x66\x33\xed\x8e\xa6\x1d\x28\x8e\x28\xb5\x28\xa2\xea\x17\xb1\x75\x34\xed\xc3\x2a\x0c\x71\x71\x24\x5b\x11\xaf\x36\x0b\xc4\x4a\xa0\x7f\x9a\x83\x6a\x96\x3b\xb1\xde\x34\x41\xb2\x74\x61\x74\xa7\x6d\xf5\x35\x50\x96\x9a\x35\x28\xbb\x05\x06\x36\x1a\x2c\x75\xbd\xe1\x0d\x2d\x8e\xd5\x4c\xae\xd4\x90\xa7\x3b\xd8\x9b\xe8\x2f\x8a\x93\xf0\x77\x1b\x39\x2f\x65\x31\x00\x46\x17\x88\xc9\xcc\x21\x2e\xde\x3d\x66\xae\xdb\x68\x75\x8e\xc1\xe7\xf5\x35\x79\x3b\xba\x72\x02\xb3\x15\xbc\xcc\x1f\x40\x6d\x72\x9d\x04\xa0\x44\x1a\x0d\x72\x8d\x2c\x04\xfe\x51\xaf\x20\x0c\xe5\x0a\x35\xd6\xcb\x63\x51\xb5\x26\xae\xfe\x0e\x6f\x15\x09\xe9\x6d\xca\xd9\xa2\x99\x92\x19\x9b\x5a\xf6\x93\xe7\x64\xb9\xd6\x38\x2a\x74\x0f\x50\xf1\x2c\x2d\xae\x03\x0a\x47\xab\x34\x3d\xc2\x2e\x84\x91\xb8\x02\xaf\x0b\xfc\xac\xd7\xfb\x7b\xda\x61\x12\x5c\xc1\x34\xe6\x3d\x4c\x9b\x2d\x1b\x28\x64\xd1\x55\x90\xc4\x11\xcc\x5d\x9e\x48\xde\xf7\x93\xfd\xa3\xf7\x2e\xc1\x15\xf4\xb6\xdd\x1f\x88\x19\xc4\x7d\x79\x0a\xa5\x3c\x97\x42\x35\xda\x95\x9f\x04\xc0\x95\x94\x96\x17\x03\x80\x5f\x30\x88\xdb\x73\x7f\x11\x84\x8f\xb0\xb1\x05\xe1\x7e\x46\x5e\xb3\x7f\xf7\x3f\xaf\xb4\x63\x3f\x4a\xb5\xf7\x71\x14\xc3\x24\x79\x1f\x14\x62\x1c\xa9\xe7\x83\x84\x31\x48\x52\x8d\xbc\x67\x51\x88\x20\x27\x52\xba\x08\xd5\x16\x71\x14\xe3\x1a\xc9\xb3\xc2\x1a\x91\x5c\x85\x92\xba\x0a\x09\xcb\xbe\x0b\x64\x92\x09\xc3\x38\x27\xff\xc9\xeb\x63\x56\x9f\x92\x20\xe2\x15\x96\x61\x8d\x80\x0b\x06\xc2\x32\xb8\x61\x61\x5a\xa8\x63\x11\x0b\xcf\xe4\x69\x93\x3f\x3f\xe2\x81\x1f\x06\x7e\xca\x66\xd5\x85\xb0\x32\xda\x6c\xb2\x23\xab\x54\xd7\xc5\xff\xe8\xca\xab\xdd\x33\xa9\xa6\x7e\xaa\xf3\xcd\x1c\xfd\x0f\x2c\xbe\x5e\xc6\x0b\xd6\xfe\xc6\x6e\xd3\xb6\xd8\xd9\xf2\x1b\xd7\xd9\x00\xdd\x73\x96\x7d\x17\x90\xe6\xb3\xd4\xdb\x59\x34\x11\xf1\x25\x08\xdc\x9d\x4a\x31\x74\x91\xa0\xcc\xe7\x13\xed\x1b\xbb\x9d\xe2\x31\x3e\x9c\x89\x4a\xab\x0e\x9a\x2c\x2b\x22\x1c\xa5\xcf\x27\xb8\x9a\x95\x36\x21\x15\x35\x62\x7b\xbf\xb1\x5b\x75\x9d\xd0\x13\xbf\x44\x67\x6b\x72\xbb\xda\xc2\x5f\x82\xed\xc7\xa5\x40\xf9\xb1\x08\xf4\x48\x7e\x10\x0a\xa8\x7d\x5b\x78\x9b\x4d\x44\x35\x70\xec\x61\x86\xbd\x00\x3b\xa0\xf6\x83\x42\xc9\x54\x9b\xc7\xa0\x29\xd9\x4c\x3b\xbf\xd5\xc4\x47\x46\x68\x90\xc4\x24\xda\x26\x27\xc1\x33\x36\x0d\xc0\x72\xc7\x89\x76\xc9\x6e\x7c\xf5\x28\xa6\x80\x29\xc5\x19\xbc\xf8\x16\x98\x6d\x1e\x93\x68\x24\x79\x0d\xb3\x69\xb5\x22\x0e\x13\x55\x64\x7f\x9c\x69\x4b\x2a\x97\x04\xe4\xc7\xb2\x12\xd2\x03\xac\x6b\x0e\x4e\x03\xbb\x59\x86\x7e\x84\x1f\x1c\xd4\x1c\x79\x0e\x1e\x06\xa7\xf8\xb9\xaf\xb2\x8a\xfe\xee\xcb\x51\x34\x13\x6b\x7b\xc7\xb8\xac\xa7\x15\xbb\xe6\x34\xfa\x7e\x1a\x69\x1a\xfa\xd0\xed\xdd\x90\xb7\xdf\x12\x57\x23\x95\x1d\x55\x84\xe6\x30\x62\xd2\xf2\x0e\xa0\xf0\xea\xf2\xc2\xab\x9f\x21\xf3\xf4\xd9\xcf\xfb\xef\xde\x7d\x3c\x3d\x8d\x4e\x9f\x91\xd3\x08\x57\xfc\x16\xfe\x4d\x5b\xb4\xba\xad\x3a\xea\x61\xe9\xcf\xf6\x80\x58\x2c\x53\x3b\xef\xfd\x1b\x4d\xec\xf5\x86\x86\xfb\xda\xeb\xbd\x63\xaa\x7d\x3c\xde\xa3\xda\xe1\x7b\x64\xde\xee\xe1\x71\x2e\x29\xe7\x0c\x06\x2c\x38\x0f\x17\xc1\x15\xd3\x56\x4b\x14\xd9\xdc\x4d\x15\xdd\x0e\x63\x13\xaf\x69\x11\x83\xd3\x4f\x58\x7b\x0e\xa9\xdf\x38\x3e\xa7\x71\x74\xc5\x12\xae\x21\x6a\x21\x77\xa2\xa7\x83\x44\x3b\x00\x91\x61\xff\xb1\x0a\xae\xfc\x90\x81\x33\x98\x4f\x0c\x43\x56\xfe\x54\x2b\xbe\x30\xab\xaf\xbb\xa9\xa4\x96\xfb\x72\xd5\x5e\x7e\xbc\xfe\xa1\xb9\x6b\xf5\x23\x7c\xf6\xc9\x5d\x8c\x73\x5f\x0b\x99\x3f\xc3\xb3\x3f\x58\x89\x5c\xe5\x14\x14\xc4\xab\x94\xb5\xc5\x9e\x87\x69\x18\x4c\xbf\x3d\x76\xfa\xd6\xe4\xb8\x3c\xc3\x0c\xf0\x40\x85\x5f\x2a\x96\x32\xce\x57\x9c\xc7\x91\x86\xd8\xd3\x7c\x41\x2d\xff\xee\x08\x83\xe4\x4a\xac\x75\xce\xd8\x92\x45\x30\x58\xd4\x70\x90\x04\x22\x51\x6d\x81\x89\x64\x93\x07\xc0\xf5\x21\xe6\xcc\x15\xcb\x3d\xa8\x08\x25\x9b\x71\x77\x47\x4b\xd2\x01\x79\x6c\xa6\x2d\x82\x29\x48\x4a\x22\x9c\x28\xfc\xc0\xd7\x80\xfd\x09\x2d\x2f\x6c\xb7\x31\xa9\x45\x6d\xda\xa5\x3d\xda\xa7\x83\x33\x4a\xde\x63\xd3\x11\xb1\x64\x00\x4a\x75\x54\x9f\x2a\xa8\xa5\xfa\x3c\x8b\x6a\xd7\x38\xe1\x52\x93\x8e\x45\x30\x83\x26\x95\xb8\x29\xbe\xc2\x45\xed\xbf\x59\x56\xe1\x93\xbe\x2e\x74\x26\x74\x75\xb6\x5f\x04\xbf\xcc\x44\xda\xdf\x2c\xab\x8a\xb7\xa1\x93\xf4\x34\x40\xcd\x0c\x53\x1d\x9f\xc3\x58\x93\x0b\x40\x0b\xc1\x07\xe5\xbc\x8b\x86\x5d\x05\xfe\x3a\x02\x0d\x6c\x97\xa9\x79\x9e\xe8\x0a\x7d\x99\x04\x0b\x3f\xb9\x35\xe4\xfb\xce\x69\x64\xc1\x4b\x59\x54\xf7\x57\x37\x41\x18\x94\x01\x6c\x00\x10\x44\xea\x62\x95\xba\xfc\xfe\x49\x82\x74\xba\x4e\xd4\x4f\x7f\x2f\x79\x82\xe1\x74\x1d\x27\xb3\x36\x1e\xdd\x6e\xe3\xe9\x94\x36\x94\x7b\x8a\x48\x91\xc9\x2f\xa7\xa7\xe9\xe9\xe9\xe4\xf4\xf4\x4c\x37\xbe\xdf\xbf\x78\x79\x4a\x9e\x9d\x9e\xfe\xb2\xf5\x2f\xff\xf4\xcf\x7f\x6e\xfd\x85\x8e\xdd\xff\x72\x56\xf0\xa3\x9e\x1d\xb1\x8b\x55\xe8\x27\x60\x49\x12\x96\x7d\xd1\xbe\xf4\x43\x2e\x8e\xc7\x48\xfb\x04\x1c\x10\xfd\x90\x72\x3f\xe1\x86\x50\xba\xd9\xf2\x9a\x6c\x39\xcc\x6d\x61\x76\x21\xd7\x4e\xfd\xc2\x97\xa7\x69\xe8\xa7\xa8\xf7\x12\x86\x0b\xd9\xd2\x0c\x4e\x0b\xd3\xfc\xce\x69\xf4\x85\x69\x3e\xce\x5d\xc8\x3f\x08\xaa\x68\xd2\x21\x85\x0f\x27\xe0\x7c\x2f\x7d\x7e\x99\x6a\x73\xfc\xe6\x1f\xc1\x5c\x06\x09\x52\x33\xd2\x38\x65\x38\x2e\x6b\x7c\x7c\xe4\xe4\xf9\x29\x8c\xfc\x47\xa7\xc4\x4a\xf2\x04\x56\x4a\xa1\x64\xd1\xec\x8f\xe1\x64\xa3\x28\x89\xa1\xf2\x7b\xf0\xe0\xec\x2f\x0f\xb7\x5b\x1c\xae\xf2\xc3\xb0\xfc\x0d\x34\xfb\x50\x22\xa8\xf9\xbd\x04\xe7\x34\xfa\x94\x8a\x0f\x22\xec\x66\xa9\xbe\x72\xe6\xab\xbf\xe9\x2a\x41\x67\x3d\x90\x1f\xb2\x50\x66\x70\xce\x10\x07\x91\x30\x64\x4b\xff\xe2\xf7\x74\xca\x01\x9d\xb6\x5a\x3e\x9f\xc5\xd7\xd1\x13\x1d\xf3\x7a\xd1\x47\x39\xe7\xa5\x62\x6b\x1d\xf4\x32\x54\xee\xa4\x93\xa5\x9f\xa6\x6d\x3f\xe4\x6d\xe1\xd2\x3e\x75\xd3\x68\x71\x19\xad\xe8\x4e\xe4\xeb\x35\x50\x01\xee\x3d\xb4\x3a\x9d\x91\x1a\x08\xd2\xb9\xc9\x95\xb1\xdc\x4a\x77\x2b\x96\x4e\x92\x55\x14\x41\x37\x89\xcd\x44\x41\xa4\xf9\x99\x3b\xc4\xfd\xf3\x7c\xc3\xe2\x6d\xbc\xd2\x66\xb8\x57\x0d\xbf\xfb\x0a\xdb\xf5\x2c\xd5\x4e\x89\x88\xf3\x8b\xd5\xf9\xe7\xa7\x44\x53\xd1\xd3\x34\x7f\x3a\x65\x21\x4b\x7c\x1e\x27\xc0\x4b\xdc\xcf\x14\xc5\x3c\xab\x12\x2b\xe3\xfe\xb9\x16\xf0\x67\xa9\x76\xce\x38\x17\x1f\x17\x54\x5f\xa4\xac\xe8\xca\x89\x85\x16\x24\x07\x66\x0e\xc2\xd5\x5f\xa5\x18\x6d\x44\xbb\x0a\x16\x60\xbb\xd9\xc2\x9f\x0a\x59\xcd\xa4\x24\x63\x07\x76\xf3\x39\x53\xdb\x08\x41\xe7\x15\xd9\xa3\x15\xfc\xc2\x5a\x99\x14\xac\x54\x81\x0c\x01\x8d\xbd\x52\x70\x0a\xf2\x4d\xb6\xd9\xde\x3c\x69\xf6\x51\x3a\xa4\x99\xc6\x53\x86\x99\x38\xe0\x82\xfc\x1f\x2a\x0f\x38\x5b\xf8\x9f\x02\x51\xfe\x78\xf4\x54\x89\xa8\x17\xfa\xe3\x44\x02\x67\x1c\x7f\xa8\x48\xbc\x87\x1a\xfe\xa7\x48\x64\x22\x91\xf3\xe3\x09\x22\x51\x2f\xf4\x07\x8b\xc4\xd5\x6f\x9f\x79\x22\x9e\xcf\xda\x05\xe3\x29\x4a\x82\xb0\xe7\x48\x2b\xd4\x25\xb7\x33\xb5\x99\x3a\x02\xf2\xf8\x75\x03\xb2\xe2\xf3\xb6\x43\xe8\x44\x25\x48\xe2\x5f\x8b\x93\x0b\x62\x8e\xcd\xf2\x8b\xbc\x45\x11\x9c\x1f\xcd\x7c\xee\xe7\xbb\xa8\xb2\x0d\xb0\x48\x91\xdc\x26\x11\xcc\xc4\xa7\xfe\x14\x37\x2c\x3c\x43\xf4\xcf\x90\x55\xcf\x12\xff\x5a\x6c\x51\x13\x56\xb6\x1d\x47\xe8\x5e\xf0\x24\xfe\xf6\x08\x27\x2c\x3f\x7d\xd2\xf4\x8d\x59\xa0\xcc\x06\x08\x6e\x7f\xc4\x0f\x37\xd1\xad\x96\x55\x52\xa9\x3c\x5e\xf1\xe5\xea\x11\x2e\x70\xa1\xe6\x06\xbf\x66\x5d\xcd\x99\x47\x23\xaa\x29\xd4\x7d\xee\x27\x6d\xb9\x23\xe7\x07\x9b\x7d\x72\x89\xdf\x09\x71\x97\x43\xc1\x63\x5a\xa8\x35\x1b\xd9\xc6\xeb\x4b\xc6\xc2\xf6\xc2\xbf\xc5\x15\x91\xb6\x9f\x24\xf1\x75\xfb\x71\xeb\x37\x8d\x6d\xc6\xe1\x2e\xbe\x44\xc8\xcd\xfe\x2c\x91\x93\xda\x74\x9a\x30\x16\x69\xe7\xab\xf9\x9c\x25\x62\x17\xcb\xeb\xfd\xbd\xbd\xb7\xef\x35\x7d\x37\xbf\xbf\x41\x13\x17\x38\x68\x18\xee\x2b\x9b\x5f\x32\x2a\x27\xba\x48\xaf\x62\x28\xee\xd3\x97\x53\x46\xb6\x58\x85\xb8\xb7\x1b\x5a\x20\x16\x7b\x50\x23\x70\xa5\x34\x38\x5b\x2c\xe3\xc4\x4f\x82\xf0\x56\x9b\x89\x73\x2e\xa8\x0d\x2e\xe3\x30\x77\x71\xd1\xdd\xfb\xc6\x6e\x73\xbd\x59\x98\x34\x4d\xe3\x05\x4b\xb5\xd5\x52\xa8\x50\xd1\x48\x70\x0d\x93\x54\xd3\x43\x96\xa6\x06\x28\xa3\x44\xae\xfa\x2c\x7c\xe1\x5d\xa6\x9a\x5a\xe4\x66\xb3\x80\xe3\x17\xc3\xab\xe0\x79\xe4\x47\x31\x82\x0b\x2c\x82\x35\xcf\xf9\x62\x75\xd3\xd0\x39\xf1\x15\x6b\x2f\x56\x21\x0f\x96\x61\xf0\x18\x0b\x92\x77\x8c\x55\xfc\xe0\x90\xa3\xc8\xbe\x6c\xe0\xe7\x06\x6d\xc6\x42\xee\x83\x3e\x15\xcc\x95\x5c\x9d\xfa\xa8\x66\xa5\xbe\x94\x1c\x47\x88\x0e\xb8\x53\xf8\x21\x3d\xbe\xd6\xe6\x7e\x2a\xd4\x01\x3a\xc9\x45\xe7\x18\x05\xea\x0f\x51\x3c\x35\x7d\xa3\xf4\x74\xa6\xf7\xd4\xc8\xfa\xa1\xfa\x83\x34\x6e\xdb\xa6\x6d\x03\x09\x79\x3a\xa3\x06\xff\xb6\xc3\x78\xfa\x8d\xcd\xa0\xae\xe2\xc7\x9c\x6c\x44\x67\x34\xea\xaf\x3f\xee\x1d\x8b\x85\x99\x37\xc7\x1f\x11\x97\xdc\x14\x50\xd8\x93\x80\x2b\xf5\x3c\xf1\xa3\x34\x94\xa7\x09\xf4\x30\xf8\xc6\xb4\x8b\xc4\x5f\x5e\x06\xd3\x14\xde\xa7\x80\xe4\xd3\xc9\x41\xdb\x51\xe2\x9b\x6a\xe9\x6a\xb9\x8c\x13\x75\x82\x25\x4e\xd5\xd6\x39\xa6\x09\xf2\xc4\x37\xb8\x48\x1d\xa1\x2a\x31\x6f\xea\x47\xe5\x0d\x5c\x9a\x8f\x46\x9a\x07\x0b\xb9\xc8\x94\xb5\x45\x2c\x60\xe6\xe7\x4d\xd4\xde\x31\xb5\xbf\x98\x07\xd3\x6f\x62\x31\x41\xd0\xb7\x8a\x70\xdb\x01\x38\x0f\xe2\x43\x31\x18\xc6\x6f\xe0\x76\xb0\x68\xc6\x70\xf9\x1e\xa1\x43\x76\xe1\x4f\x6f\xb5\xc2\xed\x2d\x52\x72\x70\x91\x5c\x04\x4f\x7d\xfa\xce\x96\xe2\x87\x66\x18\xce\xdb\x9a\xb8\x31\xac\x69\x87\x0b\xaf\x6f\x6f\x91\x3b\xbd\x92\xf6\x34\x7d\xda\x56\x47\x52\x3d\x28\x83\x67\x27\x52\x7e\x1b\xb2\xf4\x92\x89\x63\x1e\xea\xf3\x4a\xf5\x9b\x77\x16\xf3\xbe\x58\x7b\x1b\xd4\xc6\x93\x49\xc0\x61\x1e\x06\x11\x6b\xe7\xdf\xfd\x56\x29\x58\x9c\xbd\xe3\x63\xa1\x89\x70\x63\x1e\xbf\x0d\x95\xda\xcb\x82\x62\x93\xb3\xe6\x63\xc9\x59\x30\x15\x4f\x1e\x94\x16\x07\x69\xf4\xa6\x83\xda\x19\x6c\xe3\x39\xef\xce\x34\x8e\x52\x9e\xac\xa6\x3c\x4e\x9a\x0e\x67\x43\x99\xd5\xf9\xf1\xea\xbc\x16\xc6\x30\x3e\x4f\x59\x72\xc5\x92\xf4\xab\xf7\x5d\x04\x34\x41\xb8\x8e\x3f\x9b\xbd\x92\x7b\xe4\x4a\x87\xc8\xc5\xf9\xef\x88\x5d\x6b\x0a\x34\x0f\xb5\x25\x03\x15\x0a\x04\x39\xc1\x6c\x92\x9c\x79\xf5\xfc\x49\x72\x26\xcf\x76\x1b\x85\x7a\x0b\x01\x66\x56\xe7\xe9\x34\x09\xce\xab\xc1\xaf\x65\x37\x97\x68\xbf\xbb\xd3\x2b\x39\x13\x76\xe6\x4d\xce\x64\x7c\x98\x52\x76\x67\xb9\x4a\x2f\xd7\x55\xba\x8a\xd6\x55\x5b\x88\x4f\x53\x42\x27\xee\x49\x11\x61\x64\xc8\x9b\xe8\x0a\x1d\xb1\x74\x85\x1d\x8a\xc1\x7c\xc6\x2a\x80\xab\x0a\x3a\xc3\x45\xdc\xd6\x17\xa6\x2c\xf4\x21\xe6\x5a\x56\xeb\x4c\x94\x49\x3a\x29\x8c\x5e\xa6\x07\x2a\xfe\x4e\x95\xd2\xe5\xea\x3c\x0c\xd2\xcb\x12\x95\x34\x29\x5c\x71\x14\x40\x77\xb1\x17\x71\x21\x1e\x5c\xe1\x4e\x81\x80\x9a\x94\x6d\x5b\x06\x8d\x27\xec\x0c\xb8\x21\xe2\x6c\x37\xb4\x2f\x6e\xb5\xf4\xd8\x9b\x9c\x81\x8c\x4d\x7d\xae\xc7\x86\x41\x13\xc8\xdb\x89\x05\x2b\x13\xc3\x8d\xbd\x49\x72\x66\xd0\xb8\x56\x85\x69\xac\x09\x5b\x70\x3d\x25\x54\xc6\x58\x3e\x8a\xaf\xf7\x50\xb1\x88\xc7\xe3\xe0\x57\x96\x3d\x9c\xb0\x1b\xbe\x9b\x7d\xb2\xc6\x20\x07\xc7\x68\xd5\xeb\x21\x8d\x60\x92\xb0\x9b\x24\xfe\xad\x37\x39\x93\x61\x81\x70\x23\x1a\x06\x3a\xff\xea\xb1\xbb\x3b\x47\x86\x24\xe6\x25\xa4\x52\x98\xcb\x35\xa9\xab\x33\x94\x06\x31\x8a\xf1\xaa\x0f\xe5\xb9\x16\x59\x52\xd0\xaf\x43\x63\x8b\x50\x47\xf1\xf5\x87\x78\xc6\xbe\x62\xdc\xe7\xe2\x8b\xe6\xdc\x8f\xf3\x79\xca\x78\x31\xff\x3a\x4e\x66\xaf\x12\xe6\x7f\x7b\xef\xf3\xe9\xe5\x3b\x36\xe7\x6b\x5f\x1e\xe1\x35\x1b\xeb\xde\xbe\xc7\xf5\xcd\x2c\xfe\xb4\x60\x60\x41\x94\x2e\x18\x06\xec\x6f\x08\x64\x29\x1a\x88\xd1\xfc\x6b\x1c\xa5\x65\xae\x4b\x31\x33\xd6\xd5\x20\x6e\xfd\x58\x17\x2c\xb3\x8a\x66\x1d\x16\xbc\x58\x64\x6d\xc4\xcd\x02\x75\x8d\x08\x52\xc6\xf7\x72\x98\xba\x08\x95\x05\xa6\xa9\xcb\x25\xc8\x4b\x4f\x5d\xfe\x07\x28\x4b\x10\x7a\x53\xa9\x24\xbe\xa6\xac\x6d\x35\x33\x07\xed\xf2\x51\x7c\xbd\xae\x59\xea\x7d\xaa\x5b\x86\x0c\xf4\xb5\x16\x47\xba\x36\xc0\x7c\xce\x61\xa9\x59\x4c\xca\x9a\xe9\x91\xe7\x7d\x4b\x14\xd5\x06\x59\x8e\xe5\x11\x78\x1a\xc2\xd8\xe7\x88\x24\x18\xde\x36\x27\xc3\xcf\x65\x2f\xd7\xa1\x5e\xc6\xcb\x0d\x0c\x13\x6f\x37\xb1\x4b\x42\x3c\x9e\x59\x8d\x42\xda\x66\x6b\xe9\x5b\xa5\x97\x0f\xf0\x0f\x55\xe7\xe6\xe2\x65\xfa\x44\xf6\x93\xd8\x24\x7c\xbd\x32\x21\x59\xd0\xf6\x5a\x1b\x19\x35\x29\x7f\x00\x51\x5a\xbd\x50\x2f\x0b\xb3\x69\x8e\x93\x17\x5c\x45\xce\x4c\xb6\xb7\x8d\x35\x95\x6c\x27\x50\x0d\x98\x8b\xc6\x9a\x12\x06\x13\xb3\x2a\xef\x36\xf6\x0d\xa3\xeb\x3b\x3a\x43\x57\x25\xfc\x01\x8c\x6b\xf9\x80\xf6\xdd\xe7\xac\x3c\xe8\x6b\x6e\x55\x65\xfc\x03\x11\xbf\xa7\x81\x68\x24\x0e\xf7\xc7\xec\x29\xd4\x6b\x48\x52\x95\xca\x3b\xb7\x4e\xde\xbf\xcb\x6e\x2b\xa8\x00\x08\xd6\x65\x26\x11\xcc\x77\x24\xce\x2b\xcd\xc3\xf8\x9a\x18\x4d\xb4\x99\x1b\x74\xe6\x9a\x97\x0a\xa1\x27\xef\x0b\x61\x63\x19\xf7\xb2\x6c\xa5\x3b\x41\x2a\x37\x13\xea\xc6\x0e\x21\x6e\xd0\x99\xa3\x3d\xb8\x0c\x38\xc3\x6d\x87\x75\x03\xa5\x82\x15\x35\x62\x8b\xf0\x7a\x88\xf1\x86\x77\xde\x96\xd5\xe4\x2e\x74\xd2\xdb\x68\xba\x87\xbb\x94\xcb\x91\xff\x2b\x60\xc2\x97\xdf\x8b\x23\xee\x07\x11\x4b\x74\x26\x63\xcd\x56\xb8\xec\x2f\x97\x2c\x9a\xed\x5d\x06\x21\x5e\x1f\x57\x93\x82\xa4\x91\x06\x45\x22\x7f\x90\xc2\x66\x49\x89\x17\x8b\x80\xbf\x0b\x22\xf6\x51\x71\xff\x01\x69\x49\x19\x5f\x2b\x09\xea\xca\x92\x46\x73\xbb\x66\x98\x94\xae\x90\xa9\xf9\x10\xdf\xd9\x4b\xaf\xf1\xcd\x8e\x0e\x13\x9d\x38\x64\x2a\x56\xe3\x51\x7c\xad\xc5\x2b\xdc\x19\x71\x8e\x61\x0c\x44\xfc\x4c\xca\x9a\xcb\xb7\x2d\xc3\x65\x2f\xcc\x56\xeb\xf1\x78\x60\xcc\x4a\x6a\x8a\xc2\x55\xa3\x44\x38\x16\x75\x24\xe0\x3a\xd6\x8b\x03\x21\xbc\x89\x90\x8d\x68\xcc\x46\x37\xb4\x36\x84\x92\x4a\xe3\x27\xec\x8c\xc2\x04\x04\x8f\x54\xa2\xa8\x8d\x83\xbb\x3b\x1d\xb2\xe2\xeb\x88\x25\xea\xe2\x33\x29\xb3\xe0\x09\x43\xaf\xeb\x84\x18\x34\x29\x49\x68\x60\x08\x91\x4f\x3d\x13\xa7\x7d\x89\x0a\xa9\x59\x92\x96\x9d\x8c\x61\x4d\x7a\xa0\x5d\xd7\x1b\xad\x96\x1e\x78\x55\xd1\xa7\xe9\xd3\x90\x18\x6e\x93\x6e\x4d\x1a\x39\x86\xfa\x18\x64\x70\x1c\x8c\xc5\xd4\x2e\xf2\x78\x3b\xa5\xbe\x57\x9d\x08\x74\xa2\x78\xc6\xd0\xeb\xd4\x03\x11\xea\x35\xe8\x44\xec\x86\x1f\x07\xe7\x30\xd1\xbf\xbb\xf3\x5f\x46\xa5\x90\xc9\xc5\xc1\x1b\xd0\xab\x38\x98\xe9\x4d\x4a\xdc\x18\xa7\xdb\x9e\x4f\x03\xaf\x84\x4e\xdc\x22\xa1\x29\x99\xb8\xf6\x93\x48\x27\xbb\xf9\x5e\x75\x3c\xb5\x2d\x56\x72\xd5\xe1\x7a\x2d\x8e\x34\x26\x82\x1a\x88\xf1\x47\xd6\x0c\xc6\xdb\x68\x9a\x5d\x1c\xb7\xe7\x27\xac\xe2\xff\x26\xb7\xdf\x59\x76\x9b\x9c\x5e\xeb\x8c\x06\x7e\xdf\x4f\x31\xbc\x3d\x33\xc4\xc2\x41\xbd\xc6\x65\x18\x70\xc1\x88\xa6\xa9\x34\x18\xac\x38\x62\x28\x69\x5b\x96\x41\x53\x8f\xa1\x22\x93\xf1\xf0\xc6\xa5\xa7\xe6\x7e\x39\x96\xb7\xed\xa1\xe3\x42\x93\x52\x81\xa0\x73\x3d\x55\x91\x60\xd3\xda\xeb\x56\x0b\xa3\x09\xb3\x08\x09\x94\xfe\xcd\x2b\xdc\x9a\xa9\x27\x94\x15\xfb\xc4\xa0\x25\x4a\xee\xee\x4a\x25\x85\x95\x14\xa3\x63\x8d\x17\xb6\xf0\x6f\xcf\xd9\x5e\x18\x2c\xf7\x56\x09\x94\xab\x18\x67\x11\xea\x79\x83\xdc\x35\x88\xb5\x08\x1e\xfe\xa2\xae\x57\x8c\x4d\x73\x96\x1a\xb4\x8a\xaa\xfb\xf8\x49\x4c\x93\x22\x7b\x40\x27\x15\x2f\xa0\xe3\x1b\x86\xf4\xf8\xf7\x20\xe5\xb1\x8c\x14\x5c\x6c\x90\xea\x17\xac\x6d\x29\xb6\x14\x40\x1f\x2d\x8b\xb5\x81\x63\x36\x54\xb2\x6d\x19\xc5\x08\xf5\x0d\x1d\x4c\xeb\xfa\xb0\x28\x93\xa0\xb6\x92\x92\xec\x05\xc6\x43\x45\xf8\x8b\xba\x11\x7b\x2a\xcb\x4b\x3a\xb6\xa9\xaf\x9b\x35\x81\x18\x5e\xd5\xe8\xff\xd9\x6a\x62\x8d\x67\x89\xc7\x4b\xaa\xe0\x47\xdc\x53\x69\xa7\x84\x1a\xe0\xe2\x46\xd2\x8a\x13\x56\x11\xc0\x6d\x4f\x44\xa1\x8e\xbc\x7a\x8f\x6d\xb6\x0c\xdc\x68\x47\x30\x22\xfd\x17\xa6\x68\x53\xe8\xd5\xfd\xd3\xb6\x6f\x64\xb7\x5e\x54\x1c\xb6\x55\x34\x63\x09\xd0\x7f\x77\xd7\xe8\xcf\xf1\x24\xf8\xc6\xf8\x65\x12\xaf\x2e\x2e\x9b\x41\xf2\xd8\x2b\xcd\xef\xaf\xa7\xc0\x35\x75\xc3\x7b\xe5\xa5\x9f\x4e\x83\x40\xbc\x17\x37\xf4\x34\x01\xf1\x20\x64\xaf\x7d\xee\x1b\xc1\x5c\xef\x6e\x79\x1c\x9b\x7f\x72\xbb\x64\x30\x5a\x0a\xf8\x8b\xd8\x38\x96\x52\x69\x5c\xb3\x47\xb4\xaf\xd9\x34\x4e\xf0\xcb\x44\x9e\x9f\xb7\x00\x5d\x57\x19\x34\xfc\xd2\xe3\x9b\x7d\x94\xb0\xd9\xad\x2e\x29\xf4\x4b\xca\xcb\x0a\xbd\x66\xa8\xb9\x77\xd9\x38\xd5\xf2\xda\x3e\x4d\xbc\x50\x58\xe5\x92\x4c\x7a\xc9\xb6\x17\x8a\x2b\x0f\x98\x17\x6e\xb3\xb1\xef\x99\xf7\x6b\xba\x17\xf7\x1f\xb2\x34\x9f\x0b\xf0\xec\xf6\x9d\x32\x4e\xd3\xf3\xfc\x9d\x64\x9b\xb9\xa6\xe7\x45\x3b\x6c\x3b\x71\x37\xaa\x1a\x6a\xd2\xc8\xd8\x66\xdb\x9b\x81\x22\x63\x9d\x17\xb2\xed\xa5\x28\x92\x50\x9b\x60\xf7\xd4\xe3\x9d\x65\xc2\xae\x82\x78\x95\x66\xaa\x66\xae\x4f\xe5\x62\xd7\x43\xed\x9a\x66\xed\x9a\x16\xdb\xb5\x5d\x5e\x4b\x13\x2c\x9f\xae\xf5\x8d\xca\x43\xb6\x84\xc9\x30\xc6\xb3\xc7\xce\xb6\xea\x4e\x59\xb3\x74\xcc\x28\x6f\x90\x88\xd9\x5a\xf2\x52\xbc\x71\x0a\xba\x4a\xf0\x6c\xe5\xf1\xb2\x6a\x9e\xeb\xab\x47\xf2\x6b\x95\xf1\x6b\x55\x92\x03\xb6\x5d\x7a\xae\x53\xb7\x7a\x24\xf3\xd8\x1f\xc3\xb0\xd5\x93\x18\xb6\x41\x71\xce\x0c\xe3\x5e\xd8\xa0\xcc\x57\x44\x89\x45\x3d\xfc\x68\xc2\x1f\xd3\xc5\x0f\x28\x80\x59\xd3\xf0\x4f\x1b\x8d\x19\x98\x18\x3c\xc3\xfa\x80\x3d\x2b\x7a\x26\x1b\xbc\x1e\xbc\x3d\x42\x8a\xc1\x84\x9d\xc9\x09\x5c\xcd\x6c\x3d\x5a\xb5\x54\x7d\x1c\x29\x8a\x6b\x7c\x99\xd2\x5d\x09\x65\xf7\xde\xf3\x58\xc3\xc4\x26\x53\x1d\x49\xad\xbf\x6b\xe6\x34\x91\x5d\x33\x63\x21\xe3\x6c\xef\xd2\x4f\x52\xfd\xbd\xcf\x2f\x3b\x8b\x20\xd2\x13\xca\x0d\xa3\x78\xc3\xa7\xbc\x1b\x6a\x8d\x13\x5d\xc0\xf1\x48\x0f\xa2\x6e\xc3\x83\x4d\xde\x27\xde\x8d\xc2\xbc\x8c\x3e\xd6\xe0\x60\x06\x46\x36\x60\xcd\xcc\x7f\x4b\x69\x44\x7d\x8f\x8d\x61\x4e\x21\xae\x0c\x4a\x37\xfb\x0a\x94\x3f\xde\x9b\xa4\x26\x4d\x8c\x07\x14\x7c\xb2\xcd\x0c\x1a\x3d\x50\x27\x6b\x7b\x69\x3b\xa2\xc9\x8b\xb4\xd5\x8a\x5a\xad\x34\x53\xf9\xe1\xa3\x46\x19\xd1\x88\x31\xe6\x6b\xa7\x4c\x61\x6d\x80\x95\x9a\x48\x08\x8d\x3c\x13\x68\xb0\xee\x95\x55\x2f\xaa\x4c\x30\x40\xad\x16\xdf\xaa\xf5\x63\xab\xc5\xd7\x4d\xb6\x70\x41\xe4\x92\x26\xc2\xec\x76\xeb\x65\x0b\x0e\xca\xd6\xa6\x21\x90\x59\xbe\x0a\x0c\x1a\xbe\xaa\x35\x34\xea\x76\xac\x0a\xd2\xa4\x49\x36\xf4\x4d\xbd\x8a\xec\x3e\xd0\x69\x89\xa7\x0d\x35\x17\x5e\x37\xae\xc6\xe6\x13\xaf\x55\xd3\x24\xe3\xc1\xd5\x9f\x07\x57\x2c\x9b\x0c\xc1\xaa\x91\x94\xfb\xf5\x3e\xbc\x40\x35\xcd\x6e\x0b\xf7\xd7\x7d\xfc\x7b\x17\x44\xec\x98\xfb\xf8\x21\xe2\x6b\x49\x0b\xe0\xa5\xad\xac\xca\x49\x9c\xe4\x97\xb3\x3a\x97\x7e\xba\x61\xce\x60\x30\xaf\x56\xa4\x74\x4b\xe4\x3a\xb2\x80\x6b\x75\x92\x84\x72\x22\x64\x8c\x4e\xf2\x76\x79\x81\x83\xb2\xcd\xc4\x48\x6a\x8a\xe3\x44\xa9\xe3\x75\x94\xfc\xed\x28\xbe\xde\x8d\xa6\x2c\xe5\x71\xd2\xc4\xa0\x56\x8b\xfc\xad\x7d\xf4\xf1\x0b\xd9\xf2\x00\x73\x3c\x63\x1f\xfc\x05\x93\xad\xce\x86\xd9\x83\x0d\x56\xaa\xf3\x4b\xc0\x2f\xd5\x02\xf2\xd7\xda\x46\x84\xa2\x61\x6b\x5b\xe3\xc2\xfd\xf3\x55\x4a\xe5\x8e\x88\xad\x20\x87\xce\x94\xab\x67\x8e\x83\x2d\x4f\x29\xd6\xed\x4d\x23\x89\x19\x74\xeb\x01\x9e\xde\xdd\x6d\x95\xd7\x76\xb2\x0a\x2b\xac\x56\xb2\x98\x6e\x2b\x8a\x8b\x8d\x0e\x22\x90\x40\xd9\xd0\xc7\x70\x49\x14\x68\x62\x51\x51\xbf\x6d\xe5\x16\x57\x5c\x68\x5a\x7c\xb9\xd3\xb6\xdc\x0d\xb4\x14\x41\x11\xf9\x03\x84\x17\xc1\xcd\x7c\x31\x22\xf0\x4c\x0a\x3c\x4f\x5f\xb0\xce\x14\xc6\xe5\x07\x3c\xe0\x23\x3f\xeb\xa5\xdb\xdb\x6a\xb5\xb4\xf8\x7a\x92\xe2\x2e\x98\xa8\x70\x7b\x5c\xb0\x9d\x8c\x83\x8d\xbd\x15\xa9\xf1\xde\xb6\xd6\x71\x10\x90\xef\x46\x33\xa1\x43\xd6\x0b\x5b\x2e\xdd\xfc\xe5\x46\xf1\x18\xab\x8b\xc2\x7e\x50\x46\x78\xfb\x01\xf1\x5b\x23\x44\xaa\x27\x6a\xed\xc9\xbb\x63\xad\x14\xad\x29\xb3\xf1\x33\x6c\x53\xd7\x25\xaa\xeb\x82\x72\xd7\x25\x67\x74\xa3\xbb\x22\x16\xbd\xf9\x0b\x2f\x95\x7c\x20\xc7\x87\xbb\x1f\x88\xe7\x79\x41\xa6\x40\x76\x1e\x6a\x60\x40\xb9\xe1\x4e\x02\xca\xcf\x80\x87\xe9\x7d\x41\xc8\xd7\x7d\x38\x3a\xf2\xa3\x0b\x56\x1d\x31\x34\x10\x6d\x88\xbd\xb5\x35\x66\x22\x22\x97\xf7\xd5\xa5\xc3\xb1\xba\xcc\xfa\x51\x25\x13\x63\x2c\x8a\xa5\xad\x96\x1e\x00\x3d\x68\x77\xf4\x78\x62\x9e\xd1\x78\x62\x9d\x19\x14\x73\xf7\xa3\x99\x9e\x42\x5e\x0a\x79\x46\xf3\xea\x97\x38\x06\x98\xad\xbd\x57\xef\x4b\xcb\x9c\x58\xec\x6f\x6c\xf7\x2e\xd7\x4d\xc1\x77\xf0\x5d\x3a\x3c\x56\xf7\xa6\xaa\x1b\x65\x4f\xd3\xe7\x46\x69\x4b\x5a\xd5\x3a\xea\x6b\x14\x6d\x07\x8f\x1b\x66\x7e\x9d\x81\xb5\x24\x55\xae\x36\x2a\x78\xf0\xd8\x2b\xc5\x55\x86\x60\x22\xe2\x6a\x5b\x0d\xbc\x5e\x8f\x0f\x3c\x89\x02\x36\xa6\x3a\x24\xc3\x95\x66\x9f\x67\x2e\x1b\xb7\x44\x51\xbf\xe9\x0d\xee\x87\xa2\x61\xd3\x2b\xb1\x19\x8a\x5e\x96\xf8\x86\xe6\x5b\x4f\x0c\x3a\x2d\x7e\x37\x00\x96\x5f\x52\x93\xa6\x06\x5d\x15\xaf\x11\x8d\xb6\xc3\x6d\xf2\xcf\xc4\xa0\x33\x6f\xda\x49\x99\x9f\x4c\x2f\xf5\x95\x30\x61\x7a\xdb\xf2\xbc\xd9\xdd\xdd\xec\x65\x2c\x3b\x68\x59\xc7\x18\xd3\xf2\xf4\xee\xd2\x30\xe8\xbc\x74\x4f\xe9\x2f\x64\x3b\xdc\xf6\x0d\x7a\xe1\x2d\x65\x97\xcf\x11\xff\x85\xc0\xb9\xf0\xe2\xed\x32\x8a\x8b\x89\x79\x66\x8c\xa1\xf2\xc5\xdd\xdd\xe2\x45\xaa\x36\x44\x66\x23\x49\x4f\xe8\x8c\x2e\x28\xcc\x04\x3a\xfe\x6c\x86\x99\x3a\x07\x91\x15\xff\xea\xbb\xf4\xc4\x06\x3c\xb1\xef\xb0\xbc\x39\x4f\xee\xc2\x8b\xc3\xf0\x30\x4e\xca\x9f\x91\x9a\xf6\x8f\x8a\xcb\x7b\xb2\xed\x62\x87\x49\x7c\x15\xcc\x58\x92\xef\xb0\x52\xfb\xb5\x71\x13\x5a\x61\xcb\x99\x65\x52\x4b\x7d\xf2\x4c\x56\x21\x14\xc9\x37\x45\x64\x27\x6a\x55\x89\x8c\xa0\x4e\x36\xd4\x8a\x35\x4f\xb3\x8f\x2f\x30\xf2\xf7\xfc\xe9\x65\x69\x8f\x85\x72\xfa\xca\xef\xbf\xdf\x8b\xb7\xa1\x9f\x72\x31\xae\x91\xdd\xc5\x82\xf9\x2b\xb1\xc3\xad\x91\xc6\x7d\xdc\x9a\x3e\xfb\xea\x6d\x99\x79\x29\xdc\x37\x88\x5b\xcd\x64\xa6\xd8\xe6\xff\xe5\x92\xb1\xf0\x7d\x76\xaa\xe0\xab\x67\xe5\x45\x4e\xe2\xd5\xf4\x32\x27\x2b\x48\x45\xab\xd9\x6c\x3f\x9a\x65\xb8\x65\x4b\x55\xa4\x14\x21\x21\x87\x37\x9e\x35\x90\xef\x79\x12\x7e\x16\x37\x13\xa9\x2d\x0e\xb3\xe0\xaa\x48\xb7\xda\xf5\x58\xcc\xe3\x62\x57\x67\x9a\xd7\x5e\xda\x3a\x2c\xb2\x5e\xef\xbf\xfa\xf4\xd3\x57\x6f\x4b\x99\xf4\x5a\x8f\xd4\x77\x44\xa5\x19\x54\x26\x10\xa9\xd4\x62\x85\xda\x59\x34\x2b\x67\x04\xe9\x7b\xb5\x23\xbb\x94\xbb\x27\xbf\x60\xce\x8a\xfb\x64\x6a\x64\x14\xb4\xf3\x3c\x88\x66\x07\xd9\x87\xf1\xb5\x76\x95\x15\xbf\x9e\x27\xc2\x93\x00\xfd\xc4\xb3\x6d\xbd\x49\xb6\x36\x90\xa0\x52\xad\x1b\x61\x65\x80\x91\xd4\x72\xbd\xb8\x1c\x82\xdb\x82\x33\x0f\xea\x3e\xf1\x92\x26\x6f\xe2\x91\xed\x4a\x6f\xa3\x69\xf1\x33\x63\xb6\x2f\x98\xe9\xc6\xf7\x24\xe7\x71\x4c\xe5\x03\x50\xea\x05\x1d\x3f\x9a\x5e\x8a\xa9\x9c\x7a\x21\x34\x72\xf6\x4a\x3c\xd2\x44\xf5\x49\x2a\x92\xb2\xf8\x3c\x9e\xae\x52\x59\x3a\xd3\xe6\x2a\x5f\x3c\xdd\x67\xa4\xf0\x32\x29\x69\x85\x94\x22\xae\x32\x25\x05\x6c\x39\x21\x71\x89\x90\x52\x3b\x8a\x94\x14\x5b\x71\x9f\x9b\x50\xb5\x3a\x54\x90\x47\xb0\x0e\x6a\x76\xac\x1b\xb8\x4d\x36\xd3\x2c\xf9\x8a\xdc\xef\x23\xad\x5b\xc1\xdd\x5d\x50\xcc\xa1\x5b\x55\x98\x5c\x1c\xe3\x52\xfb\xc6\x71\xab\xb5\xa5\x93\x24\xbe\xc6\x3b\x51\x49\x10\x69\xb1\x31\x36\x62\x2f\x2e\x4e\xea\x82\xb9\x1e\xe7\x18\xd2\x22\x7b\xc7\x69\x0d\x41\x6a\x8c\x8d\xd4\x4b\x2b\x08\x52\x14\xfb\xb8\xa3\x20\x5f\xa4\x59\xd2\x60\x7a\xbe\x70\x91\x43\xbc\x2c\x40\xf0\x02\x44\xa1\x76\xaf\xd4\x18\xa3\xdc\x41\x2f\x4a\x7d\xbd\xc3\x74\xc3\x55\x68\x8a\x7e\x41\x65\x30\xc5\x74\x52\x12\x80\x42\x6d\x67\xc2\x4e\x47\xf2\xde\x57\xb0\x1d\xfb\xb5\x8b\xe3\x71\x2f\x8e\x06\x23\x08\x8f\x91\x65\xa3\x8b\x18\xe3\xa8\x4c\xae\xa2\xe8\xbe\xd6\xcd\x39\x0f\xb6\xbc\x9c\x09\xe5\xfd\x1d\xea\x36\xf3\x2c\x38\x04\x92\xa9\x05\xa9\x38\xda\x1b\xc7\x5c\x9c\xc8\xf5\x35\xa4\x35\x9e\xe1\x9d\xcb\x85\xd6\x64\x2e\xb8\xf1\x00\x62\x41\xf1\xc3\x98\xf3\x96\x15\x50\x57\xb4\x4d\x71\x51\x16\xbf\xe3\x35\xdc\x2f\x8c\x06\x45\xaa\xf3\x60\x9e\xf8\x0b\xf6\xd5\x63\x8d\xeb\x4d\xfb\x22\xf4\xbb\x4e\x04\x98\xda\x57\x28\x0b\xc9\x8f\x83\xd3\x34\x05\x17\xcd\x23\xe7\x71\x32\x63\x89\xab\x99\xe3\x4b\xb4\xb6\xae\x66\x99\xe6\x9f\xc7\x6a\x33\x8c\xab\xf9\xe7\x69\x1c\xae\x38\x1b\x63\xf8\x59\xf1\x9a\x50\xb2\x88\x7f\x7d\x13\x45\x2c\x11\x96\xfa\x6f\x20\xe2\x62\x87\xbf\xfa\xd6\x9f\xd5\x97\x4c\x3d\xf2\x4f\x04\xdd\xa4\xc2\x42\x57\x11\xa6\x42\xe1\x54\x2c\xe7\x7c\x11\x07\x06\xfc\xd9\x6c\xff\x8a\x45\xfc\x5d\x90\x72\x86\x2b\xa7\x09\xc3\x90\x86\xd2\x66\x46\x47\xf8\xf8\xb5\x78\xad\x61\x71\x9f\x62\x6e\x7a\x9b\x2a\x51\xbc\x1b\xf3\xce\x79\x3c\xbb\xad\x72\x67\xe1\x27\x17\x41\xe4\x6a\xe6\xf2\x66\xbc\xf4\x67\xb3\x20\xba\x10\x0f\x25\x66\x15\x38\x33\x56\xd3\x5e\x57\xbb\x0c\x66\x33\x16\x8d\xc5\x0a\x9d\xab\x5d\xf9\x89\xde\x6e\xa3\xd3\xd7\x16\xd1\x86\x64\xd0\x7c\xac\xd2\x18\xb7\xaf\xd9\xf9\xb7\x80\xb7\xf1\x54\x95\x18\x21\x2e\x5e\x34\x32\x6e\x2f\xe2\x5f\x1b\xb2\x49\xd1\x43\x50\x5c\xcf\x5a\x5b\x6c\x8e\xa4\xfc\x24\x5e\x7a\x0f\x02\x89\xbb\x3a\x3d\x32\xf5\xc3\xa9\x5e\xa4\x19\x9c\x4a\x60\x74\x5b\x34\xdd\xd0\xfe\xa2\x75\x0d\x92\x6d\xd8\xac\x0a\x1f\x22\x25\xc6\xb8\xbc\x87\x88\xdc\xb4\x61\x78\x7c\xd7\xd4\xc5\x14\xae\x76\x1e\xc6\xd3\x6f\x63\x4d\x53\x1c\xdd\x54\xe7\x58\x5c\x11\xd3\x7e\x14\xec\x3d\xa1\xbc\x73\xc9\xfc\x59\xe3\x96\x50\xe0\xe7\x5e\x9a\xbe\x0b\xa2\x6f\x5f\xeb\xd4\x63\x34\xdb\x06\xc8\xca\xb6\xcd\x84\x85\x18\x2c\x47\x1d\x9d\xab\x14\x11\x6b\x98\xeb\x58\xd3\x44\x5d\xad\xb4\x91\x39\xb2\x8c\x45\x0d\xb8\x6e\xda\xe2\x15\x29\x03\x56\xe8\x94\xc2\xce\x66\x01\x07\xb7\x99\x50\xc2\x93\x15\xdb\x5c\x26\x5d\xb2\x30\x9c\x5e\xb2\xe9\x37\x42\x09\x1e\x39\xdc\x0c\xef\xaf\x78\x3c\x8d\x17\xcb\x90\x61\x10\x88\x78\x3e\x7f\x0c\x3c\xc6\xc7\x7a\x34\xb8\xbf\xe4\x7e\x28\x4e\x33\xe1\x0d\x86\x1b\x4b\x24\xb1\x68\x29\xbb\xe1\xe7\xf1\xcd\x66\x58\xee\x9f\xa3\xd7\x49\x28\x69\x5b\x35\xd0\xb2\x4e\x98\xfa\x09\xe3\x22\xf0\xa8\x2b\x0e\xc3\x0a\x9b\x3e\xae\x88\x74\x21\x76\xac\x9b\x07\x73\x1d\x67\x31\x59\x5d\xcd\xea\x2f\x6f\xc4\xb3\x3c\xff\xda\x0e\x83\x0b\x9f\xaf\x12\x96\xca\x31\x5e\x52\x33\x4a\xb5\xb4\x6f\x5d\x79\x80\x79\xac\x65\x79\x37\x99\xc2\xb9\xbe\x0c\x38\x6b\x63\x65\xae\xb6\x4c\x58\x59\x3d\xad\x38\x8c\x20\x81\x5e\xdb\x0a\x16\xcb\x38\xe1\x7e\xc4\x61\xac\xa0\x32\xa8\x49\xa3\xe4\x42\x85\x27\x75\xad\x2c\x23\x2b\x29\xad\x2c\xcc\x5b\x49\x2b\x3f\x84\x01\x0f\x6d\x57\x10\xe0\xdc\xed\x49\x58\x38\xcc\xe8\xd0\x85\xcc\x50\x89\x49\xde\x93\x91\x2c\xe2\x2b\xf6\x5b\x71\xb0\x68\xf6\x5b\x51\x4c\xfd\x68\x5a\xe0\xcb\xd3\xb1\xe0\x0d\x01\xaa\xf8\x5e\xbc\xbc\x7d\x52\x69\x71\xae\x59\x15\xc7\x59\xee\x93\xca\xcf\x92\x78\x49\x68\xe3\x65\xcd\xcb\x04\xcf\xf0\x67\xc7\x10\xe8\x96\x75\x6f\x64\x82\x58\xc3\xf4\x8d\xdd\xce\xe2\xeb\x28\xa3\xe5\x55\x3c\xbb\x7d\xcb\x6e\x5f\xc7\xd7\x51\x03\x45\x89\x58\x77\x48\x1b\x94\xe6\x2c\xb8\x22\x55\xa8\x4e\x30\xf3\xc4\x92\x8c\x9b\xc4\xd7\x6d\xf0\xd5\x52\x52\x85\xa9\x68\x82\xca\x80\xcf\x7d\xa6\x79\x70\xc3\x66\x75\x57\xa0\xd1\xc4\x83\x7e\x6a\x30\xf1\x98\x4d\x2a\xcc\xad\x8e\xcd\x8c\x32\xd9\x1a\x1e\x2f\x85\x87\xfa\xca\xbf\x68\x36\x16\xf8\xb6\x7d\xee\x5f\x90\xa6\x22\x0f\x34\xb0\xd6\xa0\x47\xd9\xe1\x9a\x3e\x92\xad\x12\xf1\x45\x8a\xf4\xd6\xe9\xc9\x37\x34\xe7\xe4\x1e\xc4\xe1\xac\xb1\x71\xf3\x38\x9c\x91\x0a\x5c\xa1\x5b\x79\xbc\x44\x90\xf6\x3c\x4e\xc0\x0b\xc9\x2f\x28\x21\x95\x32\x9b\xb9\x50\x93\x8a\x5a\xb7\x28\x44\x46\xb1\xa1\x92\xec\x52\x45\xb5\xe6\x15\x40\x0b\x94\x8b\xdc\xcd\xc4\x6f\x20\xa7\x80\xd4\x28\xae\x8b\xed\x26\xcc\xdf\x3c\x3a\x0a\x70\x05\x72\x44\xae\x9f\x30\x9f\xd4\xc1\x2a\xbc\xc3\xe0\x30\x41\x18\xf0\x5b\x25\x34\x0f\xc9\x74\x01\x99\x21\xbf\x71\x92\x4b\xce\x97\xe5\x3b\x2f\x6d\xd3\x34\x9f\xa7\x57\x17\x44\x6e\x72\xbe\x52\xf2\x03\xf3\xa4\x4d\xd3\xa2\x0f\xc7\x7a\x40\x09\x94\x54\x6d\xbc\xba\x28\x36\xee\xd7\x38\x5e\xb4\x45\xbc\xa4\x38\x21\x05\x90\xb2\xc3\x70\xb3\x08\xa3\x94\xd0\xc0\x58\x0b\x21\x2f\xbf\x20\x94\x58\x1d\xab\x54\x59\x85\x45\x0d\x53\x2d\x1e\x2f\x61\x46\x16\xb2\x39\x87\xbf\x6b\x99\x88\xba\xf9\xc4\x4f\x2e\x58\x93\x9f\x09\x2a\x04\x7b\xc9\xa8\x43\x17\x5a\x5c\xbc\x99\xa5\xcd\xf1\x75\x03\xfa\xc7\x38\x4c\x65\xf8\x07\x5b\x99\x39\x37\xcb\x9b\xcc\x47\x59\xde\xa8\x56\x2f\x6f\xc6\x32\x04\x91\x78\x88\x97\xfe\x14\x39\x60\x36\x51\x27\x3d\xdc\x7d\xe9\xe1\x66\x4b\xb7\x6b\xc5\xac\x58\xba\x89\xfc\x06\x63\xcc\x6e\xf8\x9b\x68\xb9\x52\xdc\x11\x91\xba\x0e\xf3\x42\x27\x0a\xa0\xc9\x1a\xe1\x24\x35\x3b\x3d\x56\x9f\xf9\xa7\x8c\x1f\xc4\x11\x3f\x40\x7f\xb1\xe9\x74\x69\xd9\x1b\x9d\xe7\xb0\xac\xc9\x5b\x15\x96\x06\x30\x1e\xab\x18\xfa\x1e\xbf\xbb\x53\x27\x13\xf1\x40\x5b\xf1\x2b\xc1\x06\xca\x2e\x9a\x29\xab\x1c\xa9\x5e\x43\xdd\xa6\xf6\x7e\x12\xf3\x9c\x4f\x49\x58\x3e\x96\xbb\xa3\x3f\x34\xef\xba\x4c\xd8\x9c\x50\xd6\x34\x41\xcb\xd7\xd7\xe4\xbe\xed\x7c\xb2\xbb\x71\xb6\x85\xa5\x0d\xb9\x1d\x7f\x0d\x46\xb9\xf3\xaf\x82\xb1\xb4\x87\xaa\x86\xf1\x11\x0c\xc0\x01\x52\x5b\xf0\x29\xce\x02\xcb\x7b\x59\xd7\xa2\xc4\x55\xac\xda\xc1\x43\xb5\xe2\x81\x6f\xf5\x8a\xbf\x26\x33\x37\x77\xbe\xba\x0e\x01\xf7\x91\x3f\x4e\x02\x70\x7a\xf4\xff\x91\xf7\x6e\xcd\x8d\x2b\xeb\x62\xd8\x53\xca\x6f\x49\xa5\xf2\xe2\xca\x79\xa1\x70\xf6\xd1\x02\x16\x41\x0e\x40\x49\x73\x21\x07\xa3\x4d\x51\x97\xa1\x34\x92\x46\xa4\x44\x8d\xa8\xd1\x9e\x05\x92\x4d\x0a\x43\x10\xa0\x1a\xa0\x44\x69\xa4\x6d\x57\xca\x76\xe5\x24\xb6\xe3\xa4\x5c\xb6\x2b\x39\x89\x9d\xe4\x38\xc7\x4e\xb9\x52\xb6\xeb\x54\x6e\x3e\x4e\xaa\xf6\xca\x7b\xfe\xc3\xfe\x25\xa9\xbe\x01\x0d\xa0\x1b\xe4\xcc\x5a\x7b\xfb\x54\x65\x6a\x69\x91\x04\xba\xbf\xfe\xfa\xeb\xdb\xd7\xdf\x35\x7f\xb2\x4b\xa0\x02\xe1\x7c\xc7\xf0\x72\xba\x3e\x02\xe1\x56\xd2\xde\x7d\x39\x3c\x53\x46\xf2\x79\x18\x4b\xe1\x8b\x31\x4e\x41\xce\xc1\x3d\x01\xbb\x39\xb1\x47\x02\xf1\x9f\x0c\x36\x29\xbe\x24\xec\x64\x4c\x8a\x45\xa0\x71\xe9\x25\x21\x0b\xfc\x51\x17\x40\x8f\x6a\xe4\xb6\xd0\x88\x35\x6b\xd9\xd8\x12\xf1\xbb\xdc\x79\x41\x24\x94\xe9\x78\x1c\xcc\x49\x6c\x04\xc2\x86\xeb\x00\x2f\x8c\x63\x72\xb0\x1b\x2f\x35\xdb\xfa\x42\xcf\x29\x50\x26\x5f\x74\x72\x56\x81\x32\xfe\x8c\x2c\x91\x45\x1a\x42\xb9\xa0\x37\xc2\x2b\x37\xfe\x46\x02\x7b\x55\x23\x2d\x2e\x86\x99\x1f\x19\x24\x0d\x94\xf4\x2a\x0f\x2a\xe3\xa4\x64\x10\xa3\x0d\x71\x31\x6a\x58\x3f\x91\xbf\x32\xa5\x40\x20\x40\x33\xc2\xee\x5f\x03\x91\x73\xf5\xb7\xe8\xa2\xf3\xa6\x5e\x2b\x56\xac\x0b\xa2\x4e\x44\xa8\xa8\x39\x7a\xf8\xa0\x7f\x0d\x06\x33\x17\xb4\xc0\x00\xda\x77\x39\xbb\x6c\x1c\x05\x21\xa1\x60\xa4\xaa\x25\x90\xba\x35\xf0\x06\x8c\x80\x9a\xe9\x72\x3c\x7e\x2d\x36\x7f\x49\x94\xa4\x07\x19\x65\x0f\x53\x7e\x96\x3a\xb0\xc2\xa7\x1c\x5a\x21\x5a\xd6\x92\xe6\x31\xa7\x38\xe4\x07\x56\xc2\xa8\x91\xaf\x1c\xda\x87\x31\x2a\xd1\xab\xc8\x66\x1d\xda\x77\x1d\x12\x2a\xb2\xe5\xdf\x05\x9f\x54\xa8\x3b\x39\xa7\x23\x25\x5d\x53\x48\x19\x6c\x09\x79\xcd\xeb\xd0\x39\x12\xb2\xb5\x8d\x0a\xd4\xa4\xa5\x2c\x2e\xae\x12\x07\x99\x58\xc5\x17\x80\xb0\x8e\xce\x8f\x14\x1a\x4e\x23\x47\x95\x43\x19\xba\x65\xf6\xdc\x21\x2b\x07\x8a\xca\x74\xfe\xed\x2c\x9a\x24\xe6\x10\x4e\x20\xdb\xf4\x42\x35\xa7\x69\x39\xec\x09\xb0\x83\x19\x04\x09\x54\x04\x0b\x02\x5b\x93\x30\x23\x19\x6a\x5b\x92\xe2\x96\x72\xa4\x30\xb8\x3c\x2f\x82\x41\x0f\x4a\x71\xfe\x6f\x4e\xe1\x43\xcb\xfe\x0c\x97\xa8\xe8\x02\x62\xcf\x42\x9f\x93\x85\xb2\xcb\x48\xfa\x31\x8f\x40\x7b\x6a\x7b\x8b\x3a\x18\x4c\x6d\x2f\xd1\x43\x5c\x29\xd3\x4b\x54\xac\x74\xe7\xc3\xb1\x8d\x0f\xc6\x4c\x2b\x5c\x60\x11\x55\xf9\xa0\x94\x21\x98\x02\x3b\x54\x4d\xc3\xd0\x8a\xca\x47\xa8\x68\xfc\x93\x04\x8d\xb2\xf2\xa2\x08\x28\x5f\x70\xcb\x0e\x80\xeb\x78\xe0\x67\xea\x4f\x8f\x82\x53\x44\x4d\xa4\x67\xbc\x62\x44\x13\x3e\x55\x30\xa1\x36\xfa\x20\x68\x37\x86\x74\x4e\xce\x3b\x10\xdf\x6f\x72\xa4\x21\x84\x36\x4c\x45\x28\x64\x00\x78\x32\x41\xde\x7e\x2a\x24\x27\xf0\x33\xd3\x30\xb0\xf6\x06\x35\x8b\x7e\x24\x5d\xbd\x72\xa9\x1f\x75\x50\xd3\x61\x99\x91\xca\x12\x11\xc0\xc7\x1a\xfa\x53\x7f\x9a\x18\xd3\xcc\x6d\x23\x0d\x35\xd5\x7f\x71\x79\x56\x4e\x20\x2d\x91\x68\x01\x6e\x47\x18\xe3\x07\xdf\x9f\xec\xda\x38\x2a\x62\x2c\xd0\x88\xb8\x1f\xdb\x05\xf9\x70\x33\xd8\x50\xb8\xf2\x5d\x34\xbd\x0b\x66\x8f\xfe\xc4\x5b\xfc\x48\xb4\x65\xa9\xcb\x5e\xc4\x49\x01\x19\x87\x91\xb1\x01\xe3\x26\x10\xe7\x13\xcf\x58\xc8\x52\x62\xcb\xed\xc7\xc5\xe2\x3d\x9e\x40\x24\x2c\x5b\x74\x3b\xbb\xf7\xfa\xf4\xfc\x0d\xb6\x9d\x09\xf0\x70\x1a\xd5\x4f\x34\x3c\x0e\x7f\xb4\xd1\xa0\x85\xb1\x52\xfc\x4b\x6c\x6e\x83\xef\xb2\x4f\x3a\xd7\x13\x40\xa5\x6b\x2d\xff\xee\xd4\x27\xe7\xb4\x0a\x12\xac\x0b\xb6\x98\xa5\x66\x74\xaa\xa6\xe9\x20\xcb\xc4\xe4\x1c\xda\x62\xb4\xb3\x6c\xb7\x88\x0f\x25\xfd\xc9\xd8\x05\x52\x36\x5b\x66\x1a\x18\x31\xe5\xf8\xfd\x6d\xc4\x5f\x90\x78\x74\x4e\x79\x58\x0e\x26\x36\x0c\x77\x5d\xdf\x87\xdb\x0e\xea\xa3\x9a\xac\x92\x98\x3e\x65\x26\xb3\xe6\xec\x07\x52\x30\xbf\x97\xd6\xaa\xa5\x8a\x9f\xfa\xd3\x43\x6c\x3e\xc0\xac\x11\xe3\x57\x84\xf4\xf4\x2d\xab\x5f\x0a\x85\x62\x68\x62\x82\x40\xd5\xf2\xb2\x26\x30\xdf\xc0\x05\x40\x30\x58\xac\x97\x08\x58\xda\x07\x27\xa8\x69\xb0\xc8\xcf\x5e\x3a\x03\x03\x4d\xc7\x66\x4a\xa9\xe2\xa9\x5d\x85\x0a\x99\xf0\xdd\x85\x7e\x72\xac\x4b\xba\x1c\xe9\x9f\x15\x16\x61\x4e\x21\x74\x4e\x5b\x89\xe5\x42\x36\xc0\x77\x60\x18\xe6\x54\x0b\x99\x51\x43\xb2\xd6\xa9\x3f\x2d\x91\xd6\x72\x67\x2b\xbf\xf8\x32\x4b\x3e\x69\x52\x9a\xe1\xf2\x93\x4b\x45\x26\x09\x67\x7d\x97\xcd\x9a\xef\xb3\x4d\x15\xa5\xa3\x9c\x33\x8d\x16\xf4\x35\xb1\x88\x17\xb0\xd2\x10\x17\xca\x63\xa3\x49\x89\xe5\x59\x68\x52\x5e\x07\xf4\xcb\xa7\x45\xbc\x33\x2d\x96\x19\x11\x7c\xed\x8a\xd4\x43\x68\x43\x4c\x99\x05\xe3\x41\xe5\x77\x51\xd1\xee\x2a\xbc\x2c\x7e\x79\xaa\x25\xf7\xa6\xe4\xf5\x26\x94\x5d\x6f\x00\x77\xbd\x39\xa5\x8b\x4d\x65\x92\x49\xf4\x70\x2b\xbe\x99\xa9\x21\xf7\x3c\x71\x17\x02\x91\xcb\xbc\x74\xeb\xcf\xbb\xc9\x4a\xbb\x95\xd3\x61\xde\x6a\x92\x37\x7a\x16\xf6\x3f\x3d\xf3\xf0\x44\xa5\xf1\x6f\x12\x73\x57\x6e\xd9\xc6\xd1\x27\xed\xb0\xb1\x92\x1e\x44\x6a\x00\x4a\x25\xb8\xd9\x17\xb1\x35\xa4\x05\xb4\xd4\xb6\x10\x5b\x15\xaf\x24\xb7\x40\x2a\xbd\xe5\x34\xbe\xbc\xc3\x6d\xa2\x68\x7a\xab\x89\x61\x52\x4b\x49\x01\xd2\x9c\xa9\x62\x06\x6f\x62\xbe\x9a\xc5\x5a\xd0\x33\xee\xca\xfe\x53\xf1\xcf\x87\x4e\x4d\x47\x87\xd4\x9d\x20\x8b\xed\xef\x04\x93\x2c\x6c\xad\xb6\x3c\x29\xd2\x70\x6a\xe9\xc1\xcf\xf2\x97\x0b\x68\x80\x1d\xdd\x16\xcd\xa0\x2c\x90\xc5\x0d\x0b\x27\x4f\x8e\xe1\x67\x72\xa7\x58\xb4\x42\x48\xf7\x17\xcd\xb3\xd7\xd9\xd5\x81\x16\x2b\xdf\x35\x4e\x6e\x94\x19\xd5\x5c\x45\xf2\x37\xad\x83\xcc\xfa\x8d\x30\xe4\x15\xdf\x8b\xc7\x7d\x89\x09\xc8\x01\x14\xcf\xc1\xf4\xfc\x5f\x16\x03\xd6\x87\x9f\x86\x03\x83\xf2\x97\x6f\xf6\xa7\x67\xc8\xd7\xb7\x2a\x80\xb5\x60\xe6\xf3\x67\x61\xda\x61\x84\xb9\x36\x40\xde\x33\x75\xc5\x0a\x99\xef\x29\x8d\xf9\xbe\xed\x0c\xb0\x25\x36\xf0\xfa\xe8\x20\xc2\x09\xa2\xe0\x08\x84\xd8\x14\x5b\xc1\xd1\xdd\x2c\xcb\x49\x4c\x61\x52\x71\x87\x55\x00\x03\x96\xf2\x66\xe8\xbb\x03\x96\x56\x38\x01\x85\x7a\xae\xa4\x7d\x9b\x75\x28\x8b\xa9\x00\xb5\xa7\xa7\xd8\x13\x18\x51\x47\xf7\x65\x13\x8a\xb1\xec\x69\x82\xeb\x5e\x66\xa9\x32\x1f\x3d\x91\x48\x58\x77\xe3\x90\x1b\xa2\x53\x3b\x2b\xae\x4e\xdf\xf9\xae\x2d\xa3\x76\xfd\xda\xad\x5d\x33\x0f\xd7\xbe\x05\x8a\xd7\x38\x1c\xd7\x8a\xe5\x69\xe8\x93\x33\xc5\xef\xa3\x07\xfe\xea\x6a\x6c\x9e\x6f\x59\x7d\x0d\xaa\xb6\xee\x6b\x38\xc8\x57\x42\x08\x4d\xbd\x15\x82\xd5\xd5\x20\x53\x3e\x40\xe5\x03\x61\x79\x7b\xc5\xf2\x57\x57\xed\xc8\x7b\x91\x46\x5f\x18\x82\xb0\x7f\xcd\x82\x1f\xa8\x7d\xe2\x89\x30\xd3\xbe\x30\xab\x7d\xd7\x1f\xa9\x4a\xc3\x9f\xb9\x03\xef\xbb\xb0\x80\x4b\x63\xf3\x7c\x6c\xba\x50\x2d\x28\xc5\xbe\x56\xc3\x59\x34\x9f\xec\x15\x6b\xb6\x99\x9e\xbe\x89\x15\x3d\xd3\x6d\x4d\x9f\x65\x23\x44\x88\x17\x82\x8d\xfa\x92\x28\xad\x55\x6d\xcb\x4e\xb8\x1f\x45\x3b\xa8\x2a\xe9\x8e\xf6\x2d\x3d\x59\xd4\x07\xe2\xd7\x90\xc2\xa5\xf6\xef\x08\x17\x44\xf7\xec\x39\x84\x26\x83\x97\x2b\xa1\x49\xdc\x02\x32\xd7\x84\xa4\x0d\x19\xaf\xbf\x57\x05\xef\x53\x71\x55\x72\x21\x64\x37\xbb\x44\x49\x4d\x13\x9b\xb6\x09\x70\xc8\x14\x11\xa1\x91\x03\x27\x8b\x49\xba\xb0\x26\xa7\x60\x1f\x5d\x01\xa2\x88\xae\x59\xcd\xaa\xe0\xbe\x70\x09\xa2\xf5\x7a\x95\x67\x82\xc0\x4f\x9b\x6c\x5c\xa1\x48\x4e\x6a\xc9\x6f\x33\xab\xab\x71\x42\x12\x61\x81\x4d\xf9\xab\x4b\x70\x55\x95\xed\x6f\xd8\xce\x0e\xe4\xdc\x01\x59\x60\x27\x9e\x38\xf8\xca\x96\xa3\xe3\x41\xc4\xae\xbb\x6e\x46\xc4\x85\xa3\xc0\xad\xc8\x77\xe9\xd8\x89\xeb\x4b\x7c\x08\x4b\x85\x35\x0b\x8f\x5c\x59\x4d\x8d\xc5\xfe\x4e\x2e\x67\x23\x6b\xfd\xca\x2f\x4d\x90\x14\x44\x2d\xba\x99\x3e\xd1\xa0\x7d\xd2\xce\x12\x71\x9a\x0e\x17\xc9\x50\x4a\x66\xe4\x03\xc8\x73\x63\xe9\x88\x33\xf1\xd9\x03\x79\xea\x49\x18\xb8\xc5\xc4\x93\x54\xd4\x6a\xa1\x88\x76\x30\x43\xbb\x04\x9f\x4c\xa9\x11\x66\xb6\x35\x69\x37\xf8\x40\x2e\xb1\xee\x25\xed\x1b\x19\x47\x12\x06\xba\xa1\xe9\x4e\x19\xcc\x43\xe0\x0d\xd4\x50\x0f\x05\x7e\xb1\x62\xb1\xc8\x02\xf5\xbc\xef\xba\x87\xf6\xfc\x93\x28\x4f\x40\x56\x4e\x98\x16\x77\x65\x44\x04\x4b\x49\xad\x4a\x72\xc0\x58\x7e\x9e\x23\xd0\x8a\xe4\xd8\xa7\xfe\x54\xa0\x60\x95\xc8\x7e\x92\xb2\x0e\xb0\xb4\x5c\x83\x4a\x84\x81\x5c\xfc\x2b\xed\xbf\x0e\x79\x79\x37\x25\xb2\xaa\xd5\xc2\x37\x10\x1d\x06\x16\x4c\xbb\x9b\xe0\x42\xa7\xfe\x74\xc5\x0a\xa3\x78\xc2\xe9\x77\x2c\x50\x7d\x5a\x3a\xbf\x14\xc5\xa8\x30\xf9\x2f\x33\xd1\xf2\x26\x4d\x4d\x0d\x4b\x5f\x29\x9b\xd7\x70\x64\xf8\x38\xde\xfb\x57\xd2\x3a\x77\xe5\x70\x82\x32\x81\xf2\x1d\xf3\xe2\x58\xb1\x2b\x81\xfe\x4c\x8e\x74\xae\xb5\x5b\x42\x0c\x29\x5a\xb3\xe2\x71\x2a\xa5\x23\x09\x70\x71\x18\x99\xd3\x8e\x2c\x1e\x60\x46\x63\x43\x35\x00\xf1\xd0\xf3\xaa\x9b\xd5\x55\xa6\x22\xcd\x14\xa0\xda\x1b\xc6\x70\x33\xa1\x30\x15\x71\x32\x95\x16\xf3\x28\xca\xa8\xb4\x98\x99\xe6\x42\x5d\x5e\xc2\x8b\x28\xd1\xab\xe5\xaa\x64\xe4\x30\xb8\xd9\x44\x11\x1a\x24\x8b\x26\x56\x7c\x4f\x3c\x5a\xc0\x20\x41\x37\x2e\x0c\xc5\x36\x70\x43\x1b\xd5\x81\x96\x78\x3a\x94\xc2\x1a\xc4\x93\x15\x5a\x86\x96\x8a\xf1\x95\xd8\x3e\xe0\x1b\x07\x97\x72\x34\x1d\xae\x48\x80\xc9\xa7\x34\xd4\xb3\xee\x37\x79\xc6\x2c\xa9\x1e\x08\x38\x3b\x92\x68\x59\xc5\x81\x25\x43\xfb\xd0\x1f\x00\xed\x4b\xdf\x0e\x40\x01\xd7\xc2\xb6\xd4\xe5\xed\xe3\xc3\x4f\xdb\x3b\xef\x4e\xeb\x9f\xde\x37\x3f\xec\xbc\xab\x86\x16\x2d\x7e\xf1\x7d\x9a\x50\x5c\xbc\x0e\x72\x99\xa8\xc9\x81\xbd\x6b\x1e\xed\x64\x60\x09\x55\x74\x8b\x20\xbd\xaf\xef\x2d\x07\xe9\xfb\x04\x5d\xa3\x6c\x5c\x6a\x1c\x83\xeb\x7b\x39\xdb\x48\x9d\xb8\x96\x9d\x90\x34\x46\x89\x78\x2a\xe2\x97\xf9\x93\x50\x87\xba\x23\xd8\x20\xbe\x38\x83\x2a\x28\x3b\x03\xe0\x85\xce\xd0\x01\x50\xbf\xaf\x02\xaa\xa2\xbe\xd0\xe7\xd1\xf7\x0f\x4f\x4f\xf1\xd8\xe2\xf4\x83\x78\x58\x79\x3f\xbb\x2a\x16\xa2\x59\x46\x2d\xc4\x91\xb2\x70\x96\x4e\x8c\x57\x1c\x2d\xab\x58\x0c\x35\x68\x39\x6a\xfa\xfd\x65\xc8\x52\x0a\xc6\xd1\x58\x2e\x61\xd9\x19\x5c\x59\x90\x1b\xad\x84\x27\x5c\x35\x7e\x02\xbc\xc1\xb2\xad\x53\xb5\x54\xba\x2d\x01\x42\x1c\x4d\xae\x32\x38\x60\xa7\xc0\x2a\x89\x19\x41\x42\x96\xfe\x84\x8e\xfb\x45\x4b\xd8\xf7\xf2\x7d\x09\x96\xef\xa5\x74\xf1\xbf\xb7\x68\xfc\xbf\x40\xb6\x8b\xf8\xb5\x00\xef\x22\x01\xdb\x45\x3c\xf1\x2e\x12\xbc\xf1\x70\x29\x4f\xd3\x83\xaf\xdf\x45\x02\xed\x29\xbb\x8d\xc8\x77\x91\xc8\x57\x5f\xcc\x7a\x7c\x9b\xbd\x06\x71\x69\x5c\x76\x2d\x61\xf7\x47\xc9\x52\x42\xef\x24\x2b\x89\x91\xe0\x2b\x15\x90\x02\xa1\xf1\x8a\x44\xdb\xc2\x6e\x03\x25\x99\xe0\x36\x12\x99\x57\x34\x2d\x7d\x2a\x27\x75\x95\x50\xa6\xab\x0c\xb9\x18\x2b\x39\x0d\xd0\x00\xae\x4e\xcd\x11\x0b\x24\xb9\x92\x9b\xf9\x05\xaa\x8b\xef\xbf\x22\x79\x0b\x2f\x0a\x91\x5d\x19\xb1\xdd\xdf\xc2\xbe\x14\xcd\xc8\x45\x6b\x81\xb6\x2a\x6e\x7e\x29\xe5\xd9\xa2\x2b\x71\x96\xce\x69\x1d\x20\x8b\x11\x57\x93\x0a\x84\xb9\xb2\x69\x3a\x0b\x3a\x5a\x5d\xfa\xc2\x59\x34\x25\xd2\xa5\xe5\xe9\xee\x4b\xf4\x7a\x91\x54\x63\x31\xcd\xd3\xad\x4b\xb4\x34\x4f\x79\xdb\x09\xef\x01\x2c\x5c\xd4\xb1\x8f\x00\x5b\x32\x24\xf0\x5f\x79\x08\xfd\x09\xda\x6f\x1a\x58\x28\x54\xbe\xbb\x76\xfa\xd7\x5a\x39\xf4\xdf\xf9\x77\x00\x36\xec\x00\xb1\xb7\x68\xcf\x0e\xa1\x7b\x00\xee\x1f\x1f\x41\x79\x02\x42\xfb\x00\xdc\x6b\xab\xab\xca\xad\x62\xa1\xeb\x02\xe1\x56\x79\xa7\x31\xe6\x4d\x93\x83\x32\x71\xa0\xce\x6e\x80\x22\x38\x9c\x19\x52\x4d\x6c\x6b\x11\xc6\xdc\x32\xf5\xd3\xfe\x82\x06\xb1\x1a\x26\xe1\xdd\xda\xee\x0c\x60\xd7\xea\xec\x63\x2c\x6c\xcc\xfa\x03\x19\xf2\x1d\x37\xc7\xf1\x2d\x95\x5f\x31\x08\xfd\xe9\x7b\xe8\x4f\xed\x91\x4d\x10\xce\xb3\x96\x8e\x4c\xeb\xa8\x36\x68\x91\xd5\x34\xf3\x46\xbe\xb0\xc0\x26\xbb\x2b\x54\x15\xea\x1f\xb9\xb8\x21\xc2\x65\xfa\xb7\x80\x72\x9a\x22\x33\x7f\x49\xfc\x38\x90\x0a\xee\x87\x9d\x93\x02\x9a\x87\x37\x93\x2a\x9a\x3e\x87\x20\xf0\x67\xb0\x0f\xf8\x74\xbd\xc9\xc8\x80\x2c\x35\x78\xf4\xe0\x78\x8a\xb0\x09\xe2\xd0\x81\x02\xd0\x34\x8a\x20\x09\x02\xc2\xfd\xa4\x3d\x5f\x2a\x09\x30\x7b\xdc\x39\xc5\x91\x08\x4f\x69\x9a\x6d\xc1\x24\x85\xfe\xd0\x71\x41\x73\x90\x74\xae\x70\x26\x36\xbc\x6f\xd3\x10\x25\x51\xf0\x40\x00\x3c\x52\xc0\x76\x43\x00\x3d\x3b\x04\xf2\x22\x51\x7c\x93\x2c\x40\xbe\x40\x3a\x9e\x61\x9c\x00\x92\x0f\x7a\x97\x0e\x5f\xc8\x07\x2d\xe4\x83\x91\x45\x29\xa2\x97\x09\x29\x94\x5b\xfd\x2b\x62\x5f\x88\xaa\x2f\x1d\x62\x21\xaa\x4c\x99\x1e\x8e\x71\xe1\x2b\xc4\x36\xb8\xc2\x10\x84\xa9\x4c\xcc\x3c\xf4\x9e\xdd\x1f\x13\x2d\x2c\x4b\xf9\x1c\xda\xbd\x76\xe8\x4f\xb9\x27\x94\x37\x3a\xa5\x2f\x22\x57\xdb\x5b\xba\xb0\x4e\xfd\x29\xdf\x2e\x7b\x4c\x78\x91\x65\x73\x73\xb6\xaf\xed\x29\x20\x61\xde\x69\xce\x77\xee\x79\x79\xeb\xdd\x71\xe3\x80\x2f\x8e\x5d\xec\xb2\x50\xb6\x5c\xc7\x1b\x37\xee\xfb\x2e\xf8\x64\x5d\x9a\x86\xa1\x9b\x86\x41\x7b\x31\xb9\x3f\xf6\x1a\x71\xa1\x4f\x11\x2d\xb9\x67\x19\x92\xa6\x7c\xfa\xf8\x06\x87\x49\x7f\xc6\x44\xd0\x4a\xdc\xff\x63\xef\x78\x16\xe2\x3d\x32\xfb\xe6\x00\xdc\x07\x21\xf4\xc7\x20\xfb\x12\x6f\x3e\x75\x08\xfd\x3b\x54\x28\x31\xa0\x60\x08\xec\xf0\xd0\x9f\x05\xa0\x05\xa6\x3e\x0c\x83\x4f\x51\xf8\xc9\x1e\x70\xdd\xfa\x6c\xe0\xf8\x8b\x6c\xfa\x6d\x54\x88\x19\xd7\xc7\xb5\xf8\xe0\x03\xc0\x75\x4b\xa4\x58\xa6\x54\xd2\x2b\x77\x0a\x81\xeb\xdb\x68\xfb\xb2\x67\x61\x02\xe8\x91\x8f\xae\x53\x7d\x7c\x08\xbc\x73\x82\x90\x9f\x4c\xc1\x38\xf4\xa7\x7c\x81\x2d\xe0\xba\x71\x4f\x02\xfb\x16\x0c\xe8\x46\xc8\x45\xca\x64\x0f\xc8\x5a\xa7\xef\xe9\x8c\xcd\xc4\xd5\xbc\x65\xf9\xf5\x3b\xa7\xfc\x68\x8e\xe9\x7e\x4b\x5f\xb2\xed\x97\x2f\xe2\xf8\x51\x32\x73\x3a\x0d\x9b\xc7\xfc\x7b\x80\xc3\x90\xe2\x31\xd8\x86\xf6\x88\xcc\xf4\x38\x6e\xa8\x3f\xbd\x3f\xf6\x08\x8b\xc3\x0d\x1c\x8e\xfe\x85\x03\xea\x36\x5c\xa7\x3f\x26\x2e\x8c\xa9\xd7\xf8\xe1\xd6\x2c\x0c\x7d\x8f\x7b\x85\x9a\x21\xab\x8f\x04\x47\xc3\x9b\x00\xa3\x14\xce\x56\x1b\xe9\x0c\xea\xc3\x10\x40\xf2\xde\x60\x37\x29\x1c\x3b\x09\x6d\x9c\x9f\xd4\x97\x86\x5e\x59\x8f\xae\x29\xec\xf2\xc6\xd6\x74\x7c\x81\x09\xdf\x93\x2d\x5f\x05\x8f\x8f\x0a\x5d\xf9\x8a\x9e\x56\xb8\xfa\x1e\xa3\x4f\x0b\xd8\x83\x7b\x55\x7b\xe2\xb7\xaf\x27\x5d\xbc\x8c\xad\x2f\x78\x1d\x57\x15\xfc\xa1\xe8\x5b\x3b\xf5\xc3\xaa\x82\xfe\xaf\xe8\x67\x47\xdb\x3b\x2d\x2c\xd7\x51\xa2\xaf\x4a\x02\x50\x42\x42\xc2\xb7\xce\x0b\x61\x25\x35\x42\xbb\x47\xfc\x2e\x5f\x8a\xdf\xc7\xfd\x16\x79\xe2\x73\xa7\x20\x28\x43\x30\x75\xed\x3e\x50\x9f\x7d\x7c\xf6\x6c\xa4\x2b\x0a\x9f\xc1\x96\x9a\xe8\x43\x30\x0c\x98\x72\x91\xfc\x28\x0f\x80\xdd\x0f\x9d\x5b\xec\x46\xa6\x73\x2f\xe8\x6c\xcb\x1c\xf4\x6a\xaa\xe1\x44\xa5\xb2\x3d\x18\x1c\xb3\xd0\xb1\x38\x3a\xb7\xfe\x45\xb1\xdd\xb0\x34\x82\xa5\x89\x3f\x00\x4a\x35\xc1\x95\x59\x24\x14\x3e\xd8\x54\x80\x57\x9a\x05\x8a\x65\x79\xf6\xad\x33\xb2\x43\x1f\x96\x5d\xdb\x1b\xcd\xec\x11\x48\x72\xc2\x9b\x24\xda\x56\x55\x81\xd8\x4e\xdd\x76\x43\xa5\xaa\x90\xe0\xcb\x88\x13\xbe\x9f\x02\x7f\x58\x00\x9b\xa9\x5a\x55\x52\x4b\x7f\xf6\x2b\x15\x7d\x79\xc4\x71\x26\x6c\x37\x7c\x74\xc1\x10\x03\x79\x8c\xc0\x69\xbf\x78\x56\x0e\x41\x10\xaa\x40\x7b\x7c\x54\x81\xc5\xa2\x7b\xc1\x68\x8d\x22\x26\x62\x0f\x1e\xfa\x03\xec\xec\x8b\x7b\x87\x36\x63\x1c\x55\xa6\xe4\x04\x25\xc4\x9d\xc7\x4f\x92\x3d\x4e\x42\xd9\x62\x85\x9a\xc1\x21\x08\xed\xe8\x67\x04\x97\x42\xcb\x83\x41\xaa\x46\x35\x02\xe0\x0d\x82\xd2\xdd\xb5\x1d\x26\x2b\x3d\xfb\x95\x0a\x82\xbe\x3d\x05\x8f\x2f\x4b\x3d\x27\x7c\xec\x41\xff\x2e\x00\xb0\x34\x06\xf7\x99\x1e\x93\x82\x99\x3e\xb7\x11\xe8\xf3\x6b\x3b\x24\x8d\xcd\x06\x88\x33\x2e\xe1\x3d\x39\xc0\xde\x62\xd5\xac\xac\x1e\xb0\xa0\xe6\xbf\x72\x9d\x5e\x89\xf1\x9d\x55\xf5\x63\xbb\xa8\x3d\xd3\x6a\xe1\x26\x94\xef\xe1\x01\xec\x2b\x88\xb9\xa5\x95\xb0\xf7\xaf\x1d\xda\x67\xd0\x55\x43\x1c\x91\xbd\xba\xa8\x32\xd0\x9e\x74\x85\x6e\xeb\x25\x8f\xdb\xd7\x31\xd6\xa9\xb9\xb8\xba\xca\xef\xfc\x9b\x2a\x94\x1f\x08\xca\x08\xda\x5e\x08\x06\x8a\x65\x59\xfc\xdb\xf2\x14\xad\xdf\x00\xdd\xbc\x75\x79\xf5\xc7\xc7\x64\x0a\x58\x29\x82\x05\x27\x28\x84\x70\x06\x0a\xbd\x59\x58\xb8\x03\x85\x81\x8f\xcd\xca\xae\xed\x5b\x50\x88\x5b\x2a\x84\x3e\x8b\x60\x58\xe0\x41\x04\x65\x05\x93\x28\xe7\x58\x7b\xd2\x95\x98\x8d\x20\x61\xe4\xd2\x53\x2d\x1b\x6c\x00\x27\x71\xe2\xeb\x39\x13\x7b\x94\x99\xe6\x09\xf6\x32\x13\x54\x20\x03\x03\xb3\xbc\xcb\x82\xc0\xfc\x76\x1a\x02\xf3\xba\x5c\x1a\x4a\x94\x10\x33\x82\x44\x56\x30\x59\x41\x8b\xd7\x6f\x54\x02\xaf\x8b\xe4\xda\x8d\xbd\x45\x27\xf6\x14\xa7\x9f\x80\xce\x00\x04\x49\x58\x74\xef\x7b\x7c\x04\x05\xc7\x0b\x42\xdb\xeb\xa3\xbd\xeb\xb8\xf7\x19\xf4\x43\x34\xfd\x6e\xc3\x58\xdc\x7f\x68\x4f\xa9\xc4\x4f\x45\xcb\x32\xf3\x2a\x00\xe1\x31\x6b\x45\x05\x9a\x56\x4d\x4e\xb1\x78\x13\x2f\x24\x51\x9b\xf8\x83\x78\xc2\xb0\x08\xb2\xb6\x57\xf0\x31\x16\x24\x4f\x36\xea\x0f\x09\x0f\xda\xc3\xb1\x28\xb3\x33\x84\x63\x54\xd5\x95\x95\x4c\x8d\x52\x1f\xb1\xbd\xa9\xe5\xc6\xf7\x19\x27\xb2\x5e\x5d\x55\xbc\xd9\xa4\x07\x20\xb7\x8f\x5f\x1a\x57\xc2\xc7\xe6\xd5\x26\x14\xf0\xd5\xa0\x2a\x7a\x9a\xad\xbf\x79\x09\x74\x70\x55\x8d\xd8\xf0\x18\x5f\xd9\x1a\x68\xc4\xac\x3d\x99\x2f\xb8\x60\x69\x6a\xbb\x20\x0c\x81\x6c\x84\x69\x82\x0a\xd9\x20\xa7\x1e\x62\x2a\xe0\x4a\x0e\xbd\xc6\x93\x8f\xf7\xa4\x11\x2b\x7a\x1a\x84\x7e\x7f\xdc\xe0\x5e\x95\xfb\xbe\xd7\xb7\xd1\xd4\x00\x5a\x94\x9a\xa8\xe0\x78\x05\xc0\x92\x3f\xc4\x7e\xd7\x24\x10\x79\x70\x64\x1f\xa9\xbe\xf6\xf8\xe8\xbf\x36\x1e\x1f\xfd\x37\x95\x8d\x0d\x2d\x61\x53\x47\x9d\xdd\x0b\x58\x2e\x83\x40\xd1\xae\xe2\x74\xe5\x45\x05\xcf\x8c\xcb\xf0\x2a\x0e\xfa\x0c\x2e\xfd\x2b\x96\x1a\x22\xc2\xd4\xf3\xe1\x04\x73\x7a\x8d\x76\x9b\x94\xa8\x91\xa4\x1b\x82\xfe\x5d\xfa\x57\x56\xa0\x3d\x3d\xc1\xd4\xa5\x3b\x9d\xbd\x8c\xc4\x3b\xe0\x2a\xe2\x15\x91\xbe\xd8\x2f\x51\x4b\x94\x8e\x9b\x5f\x28\xe2\x11\xe6\x16\x89\x8d\x06\xac\xe0\xc3\xcc\x6a\xf1\xa7\xf7\x25\xdf\xa3\x71\xd1\xd2\xb3\x29\xc1\x89\xaf\xac\xa0\xed\x62\x16\x80\x12\x65\x68\x4b\xe4\x46\x5c\xc2\x81\x12\x53\x35\xc5\x2c\x37\x86\x80\x19\xee\x38\x10\x5b\xc9\x46\x2c\xb7\x10\x88\x94\x35\x27\x70\x10\x63\x34\x75\x67\x41\x69\xe2\x78\xb3\xa0\xf4\x00\xa0\x5f\x7a\xf0\xfd\x89\x74\x1b\x44\x35\xde\xbb\xb3\xe0\x10\x95\xef\x02\xe8\x77\x7d\x7f\x62\x45\xb0\xfa\x42\x24\x12\xb5\x1b\xb8\xfd\xa8\x06\x0d\xff\x95\x5b\x85\xc5\x5a\xd1\x33\xfb\x7b\x1c\xa5\x85\xac\x53\x60\x07\x61\xc9\x0e\x1c\xdb\x2b\xd9\x93\x9e\x33\x9a\xf9\xb3\xa0\x64\x07\xa5\xf0\xce\x2f\x91\xf4\x7f\xa9\x25\x5b\xbe\xeb\x97\x21\x18\xd9\x70\xd0\xf8\x3c\xae\xb3\x2a\x18\x3d\x72\xc3\x2a\x61\x06\xaa\xd4\xf7\xbd\x10\xfa\x6e\x1a\xcd\xdb\x90\x5e\xc4\x5e\x6e\x39\x58\x80\x0d\x7d\x97\xd2\x96\x56\xef\xf9\xee\x20\xb3\xc3\xdc\x7b\xfd\x2d\xdf\x1d\xb4\xed\x21\x68\x87\x34\xa2\x03\x5f\x01\xa1\xdc\xc3\x3c\x6a\xba\x6a\xfe\x62\x21\x20\x10\xe8\x7a\xb0\x85\xeb\x23\x64\x96\x58\x2f\xe2\x8a\x1c\x52\xc2\xa3\x00\x75\x03\xbd\xc8\xf4\xa1\xef\x3a\x53\x3c\x7c\x25\x9c\x5d\x53\x4a\xb5\x06\x2b\x77\x8e\x8a\x25\x9b\x1c\x80\xbe\x59\x91\xd6\xdc\x46\x6f\x69\x05\x2e\xdc\xad\x08\xc5\x38\x84\x18\x46\x31\x8a\x82\x2b\xd8\xf7\x59\x28\x0b\x32\x99\x48\x49\x16\xc4\x6c\x29\xd0\x4c\x12\x23\x3d\x59\x52\xc1\xa7\x48\x43\xd7\xfe\x04\x20\xd6\x3c\x28\x31\x61\xb2\x64\x31\xa0\x82\x07\xe0\x9e\x1a\x45\xa1\x59\x8a\x5e\x39\xde\xc0\xf1\x46\x41\xfa\x2c\xe2\x99\x17\x5a\x84\x6c\x07\xf8\xe0\x40\x7b\x78\xf6\x8c\xd2\x42\x78\xff\x45\x54\xd1\x1e\x0c\xb6\xe8\x77\x84\x73\x1f\xb3\xf9\x20\xb6\xcc\xa6\x51\xea\x71\xfc\x7d\x74\x7e\x70\x78\x15\xa6\xd1\x2e\x4b\xf7\x4c\x51\x7c\xfb\x85\x35\x77\x58\x44\x7f\xb2\xfd\x2a\x88\x70\x13\x7b\x5e\x22\xb7\xc1\x52\x00\x6e\x66\xa8\xa0\x60\xc6\x4c\xec\x39\xd1\xbd\xb4\x69\x19\xbc\xbc\x27\x60\xe0\xd8\x84\xea\x36\x04\xa5\x21\xfa\x26\x25\x3c\x2e\x8c\x28\x5f\x87\x60\x17\x7d\x52\x10\xa1\x4d\x19\x48\x7a\x89\x92\xd7\x0f\x6d\xcc\x38\xee\xe0\x72\xa4\x36\x0e\xc5\x4e\x6e\xa2\x7d\xd7\xe9\x8f\xc5\x3b\xa1\x50\x66\x13\xd7\x27\xc1\x13\x7b\x58\x5e\x23\x9a\xa2\x87\x29\x99\x0e\x9e\xa8\x53\x7b\xb4\xdc\x84\x43\x05\x93\x13\x4e\x99\xda\x41\x80\x6e\xce\x25\xca\x67\x89\x98\xdc\xd5\x55\x15\x58\x2b\x54\xda\x1b\xdf\xf1\x67\x01\x80\xf5\x11\xf0\x42\x76\x4d\x3c\xb4\xfb\x85\xe3\x76\xe1\xc3\x33\x6d\x75\x55\x99\xfa\xd3\xd9\x54\x59\xb1\xfc\x32\xa9\x78\x7a\x3f\x05\x1a\x76\x70\x09\x82\xba\x1b\x1e\xe1\xe6\x62\x14\xf0\xe9\xf1\xfb\xc4\x01\x9d\x35\x69\x24\xf0\x0c\x58\x84\xc4\xcf\x88\x03\xba\xfc\x0b\x71\xb8\xcd\x19\x42\x52\xad\x83\x6b\x40\xd0\x07\xce\x2d\x28\x01\xaf\xef\x0f\x32\xbb\xda\xb3\x5f\xa9\xb3\x70\x58\x7a\xf9\x08\xed\xbb\xa4\x9c\x20\xc1\x37\x7d\x97\x64\x17\x87\x3e\x2c\x08\x00\x17\xbe\x2b\xe2\xe8\x4e\x0a\x06\xa9\xa4\x2f\x32\x3b\xb4\x20\x46\x8b\x4c\x43\xc4\x45\x8d\x99\x40\x5a\x7c\xb3\x4b\x48\xac\x93\x35\x7d\x2c\xe4\x96\x55\x63\x22\xf0\xb8\x4e\xcf\x86\x25\x6a\xa2\x28\xd8\xa8\xd3\x3a\x41\xb2\x53\xd3\xd6\x70\xbc\xf0\xd2\xc4\xbe\xc7\xab\xbf\x64\x43\xe8\xdf\x95\x44\x1b\x88\x58\x92\x0e\x32\x90\xfc\x5b\x50\x9a\x44\x7a\x3e\x29\x3a\x59\xcd\x21\x45\x0b\x61\xf1\xb3\x0f\x69\x0a\xaa\x60\x3c\x63\x2e\x4d\x3c\xaa\xd7\xce\x30\x2c\x11\x05\xfc\x02\x36\x0f\x17\x6d\xe2\x92\xf1\x0e\x17\x52\xf9\xa8\xa4\x6b\x78\x3e\xe1\xcc\x7d\xe4\x2d\xa1\x05\x8e\x65\xdd\x0f\x24\x43\x11\x71\x8e\x71\x08\xd0\x64\xb5\x12\xe2\x8c\x96\xab\x8b\xed\x11\x70\xe5\x3b\x1f\x0e\x4a\xd8\x5e\xab\x84\x57\x74\xc9\x05\xc3\x45\xac\x5b\x36\xff\x9d\x25\xe4\xd4\x44\xe5\x44\x4d\x2e\xc3\x2e\x0a\x32\xeb\x2d\xd3\x28\x2d\x28\x6a\x75\x82\x53\xf0\x7d\x55\xb3\x24\x6b\xdf\x32\xed\xb2\x92\x4f\x4f\x49\xa9\x33\x04\xf6\xa0\x1d\xfa\xd0\x1e\x01\x35\xad\x10\xa0\x45\xb0\x68\xec\xbe\xee\xba\xaa\xa6\x87\xab\xab\x61\x9e\x62\x20\x99\xea\x15\xd5\x97\xc5\x09\x24\xc0\x25\x95\x03\x10\x6e\x41\xbb\x3f\x06\x21\x18\x48\x02\x47\x32\xe5\x51\xb9\x97\x2c\x08\xe4\x20\x39\x51\x84\xd0\x5d\x2a\x56\x41\x82\x8c\x6e\x53\x16\x0f\x54\x5a\x10\x67\xe4\xe1\x82\x86\x8a\x49\x24\x44\x29\x49\x28\x1e\x31\x79\xdf\xda\xa9\x9c\x7a\xd9\x0e\x8a\xb5\x5c\x39\xe4\x5a\x18\x2a\x35\xa3\x48\x95\x48\x2f\x34\x91\x89\x41\xfa\xda\x14\xeb\xaf\x02\x55\xa8\x8b\x15\x2b\x6f\x35\xb1\x75\xc2\xcf\x0b\x5d\x2a\x09\x8d\x2f\x1e\xb2\x01\x5e\x32\x9e\x6d\xba\x61\xf9\xa8\x2c\x0c\xb9\x9b\xd1\x61\xff\xff\x64\x54\x44\xd7\x41\xd9\xa8\x2c\x19\x0d\x39\x8d\x8e\x04\x20\x9c\x79\x0d\x7f\x32\xb1\xbd\x41\xc3\xb5\x83\x20\xa5\x6d\xe4\xe2\x6d\xd2\x0d\x75\x04\x42\x55\x01\xde\xad\x03\x7d\x6f\x02\xbc\x50\xd1\x6a\x0a\xbd\x89\x45\x92\x56\xb8\xba\x4a\x52\xed\xc2\xc7\x47\x15\x5a\x5f\x9e\x78\x37\x02\x9a\x80\x9e\xb4\x89\xb5\x8d\x40\xfd\x62\xc3\x11\xb9\x9a\x55\x49\x88\x70\xc7\xaf\x52\xed\x77\x79\x3a\x0b\xae\xd1\x4d\x35\x6e\xb2\x0a\x75\xdf\xdb\x99\x3b\x61\x4a\x84\x83\x0a\xfb\x53\x55\xd3\x9d\xf2\xcc\xc3\x57\x5a\xd7\x8d\x54\xea\xe8\x29\xdf\x85\xbe\xeb\x07\x00\xb1\x8b\x60\xee\x84\x8a\xb6\xba\x4a\xb9\x73\xfc\x5c\xd5\xa2\xa3\x26\x0b\x87\xc7\x1f\x91\x4f\x95\x8d\x95\x13\xbc\xe7\xe7\xe7\x82\xa0\xb3\x96\xc8\xf4\x48\x06\x39\x89\x54\xc6\xfd\x38\x62\xa7\xd2\xd8\x67\xe6\x5e\x32\x1d\x62\xcf\x1f\xdc\xcb\x7a\x93\x21\xe9\xf2\xad\xa2\xc9\x20\x03\x8b\x8e\xb6\x20\xe8\xd8\x30\x95\x17\xda\x52\x58\x3a\x0f\x85\xe5\x9f\x8b\x2c\x48\xd8\x37\x16\x48\x96\x9c\x5a\x44\x65\x3e\x05\x30\xbc\x57\x7f\xf8\xc5\x17\xf8\xf4\x8b\x2f\xe0\xe9\x07\x9a\x87\x5b\xb6\x1f\x09\xc2\xa3\x1a\x16\xbb\xb0\x65\xe6\x7d\x2c\x33\x12\xda\x53\x25\x04\x47\x91\xfd\x02\xe9\x9e\xaa\x44\x69\x49\xb0\xcb\x92\x92\xad\x9f\xf4\xf2\x88\x43\x9a\xe5\x80\x22\xae\x20\x0b\x61\x51\x57\x37\x0c\x2c\x6f\x63\x91\x06\x70\x15\xcd\x9b\xa8\xaf\x0b\x40\x2e\x0c\xdb\x9f\x06\x1a\x4b\xd2\xc4\xe3\x96\x10\xb8\x65\x66\xa1\x60\x44\x28\x40\xf1\x70\x52\x81\x61\x92\xb3\xe4\x46\x3b\x92\xfb\x69\x9c\xc9\x75\x46\x6a\x2b\xc5\x34\x2d\x77\x91\x84\x22\xe4\xdb\x15\x08\x74\xb0\xfa\x86\x69\xb4\x56\x22\x8d\x16\xd3\xb7\xe7\x88\x14\x3e\xaa\x1f\x4c\xb3\xf6\x31\x28\x46\xca\xf7\xd5\x55\xa5\x01\x8f\xdb\x08\xcc\xa5\x79\xb5\x29\xb6\xf8\xa9\x54\xc5\xcf\x4d\xea\x5c\x2c\x7c\x29\xe5\xc7\xd2\x14\x5b\x82\x08\xbc\xd8\x9c\xcb\xf9\x6e\x01\x2d\xc9\x88\x2f\x27\x06\xb7\x80\x7e\xeb\x3b\x74\xff\x5b\x5e\x08\x6e\x81\x44\x20\x46\x7e\x6a\x49\x22\x7c\xc2\x25\x4b\x2a\xa4\x63\xba\x63\x85\x65\x70\x33\xb3\xdd\x40\x85\x5a\xcd\x49\x1b\x09\x20\x24\x62\xdd\x6d\x50\x18\x38\x01\xe6\x90\xab\x05\x04\xa5\xe0\x0f\x0b\x08\x4e\xe1\x0e\xaf\xef\xc2\xc0\x19\x0e\x51\xa9\x21\xf4\x27\x05\xc2\x30\x95\x0b\x05\xb4\x02\x0a\x64\x96\x17\x9c\x00\x6b\xf2\x16\x2c\xbc\xa5\xb8\x2b\x8e\x4a\xce\x72\x1c\x13\x5f\x23\x6f\xa6\x44\xaa\x84\xec\xda\x8e\xb7\x40\xcf\x1f\x80\xd2\x60\x06\xb1\x0e\x5b\xc9\x2e\xde\x84\xc2\x42\xdb\x54\x8c\xf2\x8b\x40\xa9\x2a\x86\x74\x03\x8c\x16\x6b\x1b\x9d\x26\x79\x4d\x67\x73\x67\x2a\xcc\xca\x8f\x4a\x69\xb1\x31\x24\x3d\xd0\x6f\xc3\xf2\xe1\xf1\x59\x7b\xe7\x53\x6b\xe7\xfd\x71\xeb\xf4\xd3\x76\xb3\x5d\xdf\x7a\xb7\xb3\xbd\xa9\x48\xf3\x71\x22\xba\x69\x4a\x55\x5e\x60\xea\x3b\x5e\x08\xa0\x26\xef\x8c\x7d\x0b\xc8\xf5\x6c\x51\x12\x0a\x02\x91\x59\x45\x90\x7c\x50\x79\x3b\x7a\xd2\x70\x7b\x11\xf4\xe4\x0c\x90\x1f\xc4\x32\xa8\x69\xbb\xfb\x24\xbc\xbc\xcb\x69\x37\x0e\x13\xbc\xc4\xc9\x93\x3c\x2e\xe3\x10\xc3\x72\x8c\x89\x2e\xf6\xd4\x09\x53\x6e\x02\x29\xd3\xe6\x72\x88\x4b\xc8\x10\x85\x20\x08\x7d\x98\x19\xaa\x68\x63\x77\xca\xc3\x72\xdf\xb5\x27\x53\x12\x24\x57\x37\xd2\xb6\xe8\x2c\x72\xab\x89\xb6\x1e\xbe\x34\xd1\x72\x0a\x2a\x90\x9c\x11\x26\x0b\xfb\x15\x27\xa3\x6c\x24\x66\x82\x1a\xea\x50\xd3\x23\x40\x6f\xe0\xe3\x23\xfb\x6e\x59\x70\x75\x35\xf6\x7e\xd0\xd2\xde\x79\xa9\x29\xc5\xca\x59\x2b\x86\x6c\x5e\x61\x75\x14\x69\xff\x98\x95\x16\x9c\xeb\xf9\xd0\xcd\x45\xc2\x13\x62\xf2\x29\x11\x9e\x50\x73\x6f\x10\xf9\xfc\xa1\x75\x4d\xea\x7d\xca\x5b\x0f\x42\xd0\x22\x21\x08\x69\x20\x6f\x42\x25\xd2\x70\x50\xdd\xc1\x8a\xc5\x92\x11\xe1\x80\xd6\x7c\xd4\x5b\xec\xd7\xdf\x07\x8e\x9b\xe5\xea\x05\x9c\xe4\xf7\x20\xbb\xed\x4b\x22\x4a\x6b\x7c\xb0\x5b\xde\x64\x17\x48\x66\x9f\x96\x8c\x04\xd1\xbe\xf7\xfa\xc9\xc9\xf4\x49\x65\x0e\xf3\x99\x5e\x28\x38\x9b\xb3\x9c\x2c\xe9\xc8\xb8\x79\x74\xe1\x23\xdd\x2e\x62\x86\xbf\x07\xb2\x5e\x0a\x17\x4c\x94\xea\xe9\x2b\x3b\x49\x51\xca\xed\x25\xdf\x7a\xea\xfe\x0d\x12\x1e\xb1\x31\x3a\x2c\xf4\x1f\xa9\x49\xa2\x1d\xe0\x3b\x47\xb6\x3c\xc1\x20\x59\x81\x46\x3f\x88\xa2\xc1\x3a\x7e\xc2\x84\x39\x60\xa3\x2d\x9b\xf7\x89\x76\xd3\x6e\x6f\xe0\xb5\x65\x64\x53\xb1\xd7\xc3\x10\x4c\xa6\x61\x21\xf4\x0b\xb4\x76\xa1\x67\x0f\x0a\x34\xd1\x81\x52\x8c\x38\x2d\x90\x8c\x58\x3e\xa2\x2b\x83\xcf\xce\x9f\x22\x46\x26\xff\x18\x36\xf9\x99\x4d\x3c\x12\xd4\x07\x91\xe5\x8d\x41\x62\xf0\xa4\x3c\x47\x28\x55\x04\xe6\xe7\xe2\x5d\x33\xe4\x42\x36\x72\xa2\x91\xc8\x43\x85\xba\x5c\x97\xcc\x1a\x7c\x63\x19\x91\xab\x6d\xf4\xfe\x12\x5e\xbd\x06\x5a\x0d\x96\x4a\x5a\xaa\x22\x16\x5c\x64\xb7\x64\xae\x1b\x42\x8c\x16\x0c\x10\x8b\x51\xfe\x53\x46\x88\xa5\xa8\xc8\x1d\x22\x16\x7b\xa0\x26\x9e\x7d\x16\xe0\x33\xb7\xc4\xcc\x09\x1d\xd4\xd7\x06\x89\xa2\x14\x62\xaf\xf2\x90\xa6\x8f\x89\xa3\x4e\xa4\xe3\x33\x39\x25\x6e\x89\x47\x0e\x43\x94\xf8\x96\x05\xd1\x51\xa9\x11\xb7\x79\x36\x67\x08\x14\xac\xa9\x71\x34\xfa\x2e\xd1\x89\x29\x76\x60\x56\x35\x3d\x2c\x95\x9e\x88\xf5\x5c\x72\x34\xae\x9d\x21\xf6\x3e\x55\xc3\xb8\x97\x89\xe6\xa7\xb3\xe0\xba\x6c\x4f\xa7\xec\xa6\x99\x7a\xaf\xfb\x9a\x8e\x31\xa3\xc1\x11\xed\xb9\x8a\x7f\x96\x42\xdd\xa0\xa6\x10\x08\xd9\x37\x06\xf1\x1d\x7d\x6d\xe5\xf4\x91\x59\xdc\xc5\x61\x16\x85\x2e\x54\x51\x2c\x26\x4f\x0c\x2c\x98\xba\x4e\x1f\x08\xb1\x65\x33\x39\xd0\x83\xd4\xb4\x9c\x79\x31\x29\x3c\x44\x2e\x2b\x20\xfd\x2a\x5a\xc1\x13\xdb\x67\x48\x40\x2a\x12\x59\x3a\xd4\x9e\xd8\x2a\xeb\x9c\x92\xb3\xa6\x05\x46\x68\x36\x62\x47\x01\x2c\x1c\x8a\x4f\xdd\x88\x1b\x52\xa1\x94\xb9\x25\x01\x82\xfc\x89\x80\x4b\xe7\x2f\xff\x89\x00\x4d\xaa\x94\xf9\x20\xe5\x76\xbc\xac\x40\x4b\x02\x8d\xa6\x2d\xc8\xce\xce\xfc\x16\xde\xdb\x23\x70\x36\x95\x5c\x7d\x53\xb7\xb1\x84\x3b\x7d\x6d\x51\xd7\x12\xeb\x91\x17\xf8\x98\x8b\x31\xda\xf6\xef\x64\x32\x89\x9f\x86\x53\x51\xca\xa9\xe6\xe2\xf4\xce\xf1\x7e\x67\x54\x5a\xa2\xe9\xdf\x1d\x39\xa4\x8d\xdf\x39\x53\x40\x7d\xde\xb3\xa9\x13\x25\x7b\x9c\x91\x95\xf8\x25\x12\x82\x5d\x0a\x2e\xf0\xe2\x4b\xfa\x55\x79\xe8\xc3\x1d\xbb\x7f\xad\x8a\xdc\x38\x12\x5b\xfb\x1b\x23\x0e\x42\x41\x44\x51\x64\x81\x1b\x51\xe8\x78\xcc\xc7\xa3\x85\xa9\x02\x2d\xa9\x68\x8d\x45\x67\x19\xa6\x29\xdb\x95\x64\x8a\x2b\xd9\xc5\x09\x64\xf3\x25\xe0\xf6\xeb\xae\x2b\xf0\x22\x93\xf8\x97\xc5\x18\x0b\x28\xb6\x94\x1c\x84\x99\xe7\x8b\xc0\xa5\x89\xbd\xa4\x6a\x29\x01\x32\x63\x68\x9f\x11\x75\x24\xcc\xf4\x19\xa9\x6f\xc3\x14\x18\x7f\x18\xb6\xc8\x03\xd9\x22\x60\x25\x32\x64\xcd\xf3\x75\x8c\x54\xd9\x9c\x05\xbe\xb5\x92\x4e\xe8\xc0\xbd\x5c\x9a\xa6\x29\x63\xef\xe5\x29\x27\xaa\xb8\xf8\xf0\x89\xe8\xcc\x0c\x7d\xe4\xd7\xd5\xa1\x0f\xef\x6c\x38\xa0\x73\x29\x27\x61\x9e\x4c\xc8\x42\xee\xe6\x24\x6c\x8f\x90\x83\xac\x85\xc5\xa2\xc6\x78\x97\x98\x7d\x0c\xaf\xde\x44\xf2\xcf\x5b\xdf\x19\x14\x92\x98\x13\x76\x31\x5b\x49\x4b\x70\x5f\xf9\xf7\xe8\x9a\x1c\xa4\x40\x88\xa0\x2f\x75\x35\x97\x89\x51\xd0\xb6\xf6\xf3\x10\x52\xc6\x86\x87\x6f\x10\x8d\x4b\x25\x21\x2d\x5f\x7f\x1b\x2d\x85\xe5\xe4\x47\x0b\x08\x33\xdd\x03\x71\xff\x96\x40\xfd\x8b\x08\xf7\x58\x10\x5e\x5b\xb6\x6b\x71\x1b\x8c\xef\x2b\x9a\xba\xa1\x03\xca\x9e\x65\x5e\x1b\xe4\x65\x8e\xc4\x86\x76\xac\x1e\x66\x45\x8d\xdf\x3e\x76\x38\x86\xf3\xf1\x50\x05\x5a\xad\x64\xae\x44\x51\x4e\xb2\xd8\xeb\x52\x9a\xa7\x8f\x81\x6c\x78\xe6\x14\xb9\xd9\x79\x9a\x09\x2c\x90\x23\x53\x4a\x1d\x28\x92\xd1\x05\x8f\x8f\x86\x1e\x5f\x13\x49\xe6\x2d\xc7\x0a\xad\xb0\x64\x96\x54\xc4\x0d\xfd\x11\x2c\xc2\x9a\xf3\x5a\xb8\xc2\x6a\x4e\xd1\x82\x2c\x51\x07\x6b\x4a\x75\x58\xc2\x97\x4c\x18\x04\xa9\xba\x38\x04\x70\x0a\x81\x20\xc7\xf3\x6d\x18\xbf\x55\x97\x92\x71\x48\xda\x18\x80\xbe\x0f\x6d\x91\xb1\x13\x8e\x02\x01\xb2\xa7\x3c\xab\xc1\x35\x9b\xeb\x3c\x98\x39\xf7\x32\xce\x88\x12\xa5\x6c\xca\x85\x30\x0f\x4e\x9e\x6e\x57\xe0\x43\x98\x07\x2a\xf2\x4c\x94\x80\xe3\x0c\x0f\x33\x60\x22\xdb\xc5\xfc\xba\x71\x00\x2a\x51\x65\x62\xc1\xa8\xf1\x79\xf6\x48\x7a\x6e\xfc\x1b\x7f\xcd\x84\x97\xe0\x55\xd8\x19\xc0\x02\xed\x77\xca\xf7\x21\x02\x92\xb1\x9a\xcd\x00\xcb\xda\xde\x6a\xe9\xea\x02\x2b\x57\x09\x18\x89\xf9\x6c\xd4\xf7\x28\xf0\x88\x88\x91\x8f\xed\x1f\x52\xa5\x49\xc2\x40\xdf\xc3\x99\xfd\xe7\xe1\x04\x78\xb3\xac\x88\x77\xc5\x7c\xe2\x55\x84\xbe\x87\x75\x48\x89\xc0\x1d\x02\x9d\x60\x22\x1b\xb1\xaa\xd5\xa0\x20\xdb\x3f\xd6\xf8\x0c\xfc\x3b\x4f\x41\xfc\xb5\xb4\xc4\x6c\x9a\xff\x1e\x87\x0b\x8c\x93\x3b\x25\x42\xb8\xf0\xb1\x49\x43\x21\x08\x3c\x4d\xa2\xc0\x30\xbb\xe8\x57\x03\x47\x11\xe4\x7a\xa8\xaf\x18\x5a\x0e\x02\xa4\x0b\x1c\xe1\xb8\x40\x52\x8b\xe1\x26\x6f\x11\xa2\x46\x7a\xee\x0c\x2e\xc4\xd0\xd4\x34\x71\x94\xeb\x74\x86\x51\xac\xce\xd3\x6a\x4e\x22\x14\xd9\x77\xf4\xf0\x2a\x79\xfe\x00\x5c\x92\x55\xa4\x0c\x6d\x37\x00\xca\x55\xe1\x4b\xa1\xd0\xf3\xe7\x68\x61\x38\xde\xa8\x5a\x20\xc6\x93\xa5\x9e\x3f\xaf\x15\x0a\x69\x3f\xeb\x6a\x21\x84\xb6\x17\x90\x20\xfa\x7c\x66\xd7\x02\xab\x47\x05\xa2\x95\xe9\x3c\x7e\x86\x91\xaa\x16\x02\xdf\x75\x06\xb5\xa7\xf2\x5d\x1f\xe3\x81\x1a\xa6\x1e\xe0\xd5\x82\xe3\xb9\x8e\x07\x4a\x3d\xd7\xef\x8f\x6b\x85\x02\x42\xbe\x64\xbb\xce\xc8\xab\x16\xfa\x00\x6d\xf0\xb5\x02\x93\xb5\xf6\x6d\xb7\xaf\xf2\xaa\xc5\xa4\x61\x8a\x56\xf8\xbe\x50\xd1\x6a\x85\x02\x06\xc8\xa4\x7f\xc2\xf2\x2c\x57\xe1\x53\x15\xfa\x7e\x88\xf0\x11\x83\xac\x16\xbe\x13\x28\x1f\xc4\xd6\x2e\x35\x01\x90\x58\x04\xb9\x00\x4a\x6c\xe7\xc2\x83\x21\x43\x47\xb2\xf2\xa1\x61\xa8\x16\x0c\xe9\x6b\xe8\xdf\x25\x5f\x13\x57\xe6\x84\xb6\xb9\x5a\x30\xca\x2f\x02\xae\x4c\x46\x79\x5b\xc5\x03\x20\x2b\x41\xb5\xb7\xd5\x02\x3d\xc0\x65\xe5\xe8\xb0\xe7\xab\x89\x6b\x4f\xbf\x1c\x83\xfb\x21\xb4\x27\x20\x28\x60\x64\xd1\x38\x60\x0b\x80\x2f\x05\x7f\x6a\xf7\x71\xba\x61\xb3\x6c\xd4\x0a\x4f\x85\x42\xe8\xf3\x4f\x0d\xfc\xf4\xa9\x1c\xf7\x11\xd5\xb5\x3d\x67\x42\xa2\x11\x78\xf6\x04\x54\x09\xd0\x1a\xff\x3c\x26\x04\x8f\x9b\x80\x52\x5a\xa2\x9a\x13\x02\xf2\xb8\x84\xf3\xdd\xa0\x49\x3b\x74\x3c\x27\x04\x89\x52\xa1\x33\x71\xbc\x51\x89\xed\x17\xd5\x02\xb0\x03\x50\x72\xb0\x5f\x47\x12\x0b\x07\x02\x5a\x24\xba\x16\xd6\x9e\x94\xf4\x26\x7e\x0d\xec\x41\x22\x40\xbe\xa3\x65\x83\x3f\xe5\x6f\x0a\x5c\x9e\x68\xde\x58\x3a\x8e\x50\x14\x39\x28\x90\xd7\x4a\xb6\x6c\xdf\xb5\x83\xe0\xc8\x9e\x00\x4b\xe1\xb6\x12\x41\xc1\xc5\x59\xa5\x49\x3a\xe9\x25\x56\x71\xe2\x6d\x7a\x11\x68\x1a\x49\x4f\x2d\x87\x43\x57\x77\x2e\x20\xe8\xdf\x69\x5a\x2d\xda\x85\xc8\xf6\x43\xd7\x7c\x0e\x72\xb5\xa5\xb6\x95\xd2\x1d\xe8\x8d\x9d\xb0\x84\xb7\x4c\x4a\x05\x3a\x77\xf5\xcc\xce\x5a\x30\x0d\x63\x12\xe0\x4d\xcb\x86\xb5\xd2\xc4\x7f\xf8\x96\x7a\x8a\x9e\xb9\xdd\xf9\x02\xae\x23\x11\x36\x40\xfb\x69\x82\x9a\xb4\xaa\x59\xc8\x84\x64\x12\xa1\x71\x53\x26\x71\xb2\x6f\xa1\x11\x00\x5f\x3b\xab\xb3\x75\xb9\xc9\x4d\xf6\x9c\x01\xb4\x47\xd4\x4b\x90\x9c\x32\x00\x2a\xd2\xca\x4b\xa6\x46\x2f\xbd\x7a\x35\x9d\x4b\x66\x8f\x69\x4c\xe7\xd1\x34\xc1\x3f\x32\x2b\x5b\x92\x27\x3a\x83\xce\x12\xac\xcf\x25\xcf\xaa\xc4\x7c\x15\xcf\x41\x29\xd8\x37\x53\xd1\x95\x41\xcf\x25\x5f\xc5\xa2\x53\x19\x4d\x32\x8c\x4b\x9c\x71\x93\x5f\xff\x39\xc5\xe2\x9e\x0b\x0b\x09\xe4\xad\xb9\x80\x97\xe4\xce\xd2\x17\x05\xa1\x5c\x17\x84\x2d\x70\x0b\x60\x00\x3a\xce\x00\xf8\xea\x8a\x29\xa0\x39\x0d\xec\x29\xb8\xd0\xa4\xf3\x3b\x4b\x8d\x2d\x18\xab\x2e\xb3\xb4\x88\x28\x24\x15\xdc\x21\xce\x2d\x4f\xcd\x13\x45\x1f\x95\xa1\x40\x83\xed\x66\x55\xaa\xa1\x5c\x5c\xaf\x65\xcd\x8e\xa2\x22\x97\xe0\x2a\xa3\x55\x15\x80\xa8\x89\xac\xab\xa0\x7f\x17\xe0\xf0\x21\x97\xe1\x55\x2e\xc6\x64\x1d\x26\x4d\x0b\x62\x1d\xf6\xe5\x95\xee\x58\xa0\xe6\xbc\x0e\x6b\x0e\x4b\xb8\xe6\xf3\xca\x57\x7c\x49\x71\xd0\x2d\x05\x1b\xe3\xfb\x3c\x6f\xac\xe9\xce\xeb\xb0\x64\xae\xae\xae\xe0\x44\x2a\x5c\x2c\x26\xcc\x3f\x32\x19\xa0\xa2\xad\xae\xd2\xea\xca\x47\x4f\x61\x41\xea\x0b\xb0\xfc\xd9\x77\x3c\x55\xc9\xb3\x4b\xa6\x8a\x5b\x51\x86\x89\x34\x92\x40\xe3\x71\xcb\x05\x49\xf2\x73\xe7\xda\x86\xa5\x07\xa1\x28\xa6\x3e\x7d\x2b\x69\x8d\x53\x85\xe6\x49\x00\x65\x50\x93\xb7\xc7\x2c\x46\xba\x63\x19\x35\xe7\x35\xc8\x0c\x9d\x74\xdf\x9f\xa3\x53\x5b\xd1\x6a\x7e\x76\xef\x4c\xd7\x41\x64\xc7\x74\x55\xd0\x71\xc5\xe5\xd7\x83\x45\x27\x29\xfa\x45\x23\xdb\xf2\xef\x54\x5f\x7b\x12\x44\x85\x4f\x77\x4a\xa2\xaf\xac\x39\x43\x35\x78\x63\x90\x6e\x78\x32\xfd\x7b\xa0\xd5\x08\xac\x98\xc6\x8b\x54\xef\x9e\x48\xc9\xc4\xa7\x94\x61\x86\x20\x4c\xf0\x85\xdf\xe0\xa0\xce\xaa\xf6\xc4\x32\xcb\xc8\x7a\x83\xf3\xba\xe4\xf7\xd7\x8c\x37\xca\x3a\x3d\x02\x33\xe6\x76\x52\x75\x03\x3a\x7f\xb2\x89\x29\x75\x98\x30\x93\x88\x9a\x06\xac\x38\x5e\xe6\x49\xdd\x3d\x71\xc1\xc5\x2f\xa1\xee\x90\x1b\xb1\xaf\x07\x35\xf0\x1a\x6e\xaa\xbe\x05\xf4\xc0\x82\xc5\x50\xab\xaa\xbe\x05\xf5\xc0\x02\xc5\x30\x62\x52\x78\x85\x9f\xaf\x0b\x83\xd9\x52\xe2\x35\x97\xd1\xde\x71\xe0\x32\xbd\x8a\xd3\x55\x42\x96\xbf\x95\x6a\x30\xfd\xbc\xb5\x80\x10\xae\x05\xaf\xc3\x5a\x50\x2c\x6a\x0e\xb7\x39\x06\x57\xf1\xc4\xf5\x8b\x32\x2b\xd4\x29\x74\xbc\x50\xb2\x42\x0d\x6c\x5c\x79\xd7\x2f\x07\x21\x31\x92\xc3\x49\xb7\x5f\xc3\x5a\xda\x9f\xf3\x0e\xda\x53\x1b\x73\x97\xd1\x8c\xca\x55\x8d\x64\x4c\x27\xfd\xc9\xc4\x09\xdf\x39\x1e\x60\x76\x90\xec\xc0\xf4\xc0\x1d\x7a\xac\x52\x39\x46\xa0\x7b\x16\x2c\x85\xba\x6d\xad\x98\xb5\xc5\x62\xf6\xa2\xf7\x46\x66\x48\xa6\xda\xd6\x8a\xa1\x7b\xe2\xd7\xa5\xc5\xa0\x35\xdd\x5e\x5d\x5d\x91\x91\x61\x53\x0d\x28\xe5\x66\xbd\x20\xc4\x8c\x8a\xee\x95\x4c\xad\x98\x7c\x08\xd1\x0a\xf1\x2c\xa8\x55\x05\xc5\x49\x96\x58\xd4\x6b\x17\x87\xe3\x4d\xba\xe1\x4d\x5d\x27\x3c\x77\x06\x00\x5d\x1f\x88\x0f\x99\x1a\x44\x19\x44\xd9\xe9\x79\x5d\x2c\x6a\x89\xae\xa4\xf4\x86\x77\x7d\x7c\xa8\xbb\x97\xd7\x57\xf4\xbb\x9e\x57\xdc\x0e\xfa\x8e\x13\xd7\x88\x7e\xa6\x54\xa2\x64\xb9\x1d\xfa\x03\xb0\x29\x58\x86\x14\x59\x0c\x21\x08\x21\xb5\x1d\x64\x65\xd0\x0c\xc1\x41\x73\xd2\xc5\x72\x11\xa3\xfd\x88\x42\xd7\x2e\x42\x7f\xc5\x48\x4e\x9e\x89\x7d\xdf\xc3\xd1\x78\x1a\x51\x76\x42\x34\x01\x8b\x96\xf7\xb4\x58\x33\xc0\x6f\x09\x51\xa0\x85\x78\x1d\xfc\x3c\xa6\x34\x69\x3d\x6e\x8a\xab\x31\xb0\xef\x16\xb3\xbd\x17\x58\x9f\x50\xab\xd1\xaf\x08\x15\xad\x55\x05\x55\x80\xb8\xbc\xd4\x62\x72\x14\xe3\x7d\x9a\xd4\x74\x52\xb6\x83\x18\xb5\x66\x1a\xda\xcc\x3c\xa9\xca\xb4\x3c\x5c\x13\xe9\xf4\x6a\x79\xad\x50\xd4\x37\x45\x0f\xab\x32\x2a\x4a\x50\xa0\x9b\xd4\xd7\x29\x02\xa1\x7f\x67\x2d\x3a\x3e\x6b\x8b\x10\x5f\x08\x3b\x5d\x2b\x39\xa6\x67\x53\x75\x89\x23\x3a\xbf\x21\xdd\xd0\xb4\x2a\x5b\xe9\x3f\x01\x48\xf5\xa7\x41\x28\x9a\x08\x06\xc5\x83\xb7\xc3\x33\x7f\x16\xc8\x92\x91\x47\xcc\xfe\x2e\x00\x83\x6f\xd1\x01\xd7\x92\x07\x5c\x56\x04\x33\x9b\x78\x72\x8f\xe8\xa1\x0f\x27\xe9\x96\x93\xdb\xb0\x3d\x0b\xfd\x86\x0d\xa1\x63\x8f\x40\x0b\xaf\x83\xcd\x64\x8b\x84\x2e\xac\x0b\x39\x5c\x0b\xbe\xe2\xbe\xcb\xef\x6a\x72\xa5\xa3\xee\x2c\x9a\xfd\xb5\xd0\xb2\xe8\x78\x91\x93\x01\xb5\x10\xc8\xc7\x0b\x6d\xca\x39\x76\x74\x00\xda\x01\x38\xf5\x71\x84\x10\xc9\x68\xf0\x06\xb8\x42\x6a\xa7\xb3\x14\xa6\x4f\x23\xa7\x3c\xc4\x96\xd9\xd7\x4e\x08\x70\xfc\xd3\xc8\x51\xa4\x68\x6a\x42\x6b\x4e\xe9\xf8\x51\x74\x5b\x19\x33\xff\x38\xb3\x7f\x3e\x0f\x95\x4e\x74\xf7\xb5\x0c\x8c\x0e\x2d\xb0\x19\x59\xd2\xa2\x53\xa4\x1a\xa6\x6c\xcd\x33\x27\x68\x2c\x45\xb4\x52\x7b\x57\xaa\xe0\xf6\xce\x6e\xfd\xec\xdd\xe9\xa7\xc6\xf1\xbb\xe3\x16\x33\xdb\x95\x5d\xe2\xf3\xa7\xc9\x15\x42\x2a\xc3\xff\x78\xfe\x80\xd8\xe1\xab\x81\xf6\x7a\x89\xc5\x56\x84\x69\x69\x04\x2e\x4b\x72\x93\x35\xae\x6d\x18\xa8\x50\xd3\x63\xab\x11\x81\x6b\x8e\x4a\xee\x78\x9e\x74\x32\x2d\x3d\x69\xa0\x78\xae\x78\xbc\x35\x5d\xa6\xed\xbc\x79\x94\x77\xfa\x48\xf1\xe4\x9a\x69\xc5\x0c\x77\x7a\xfa\xe6\xa1\x94\x83\x51\xbd\xe7\xdf\x2e\x8f\x12\xb7\x76\xd5\x98\xed\x65\xf9\xdd\xf0\x5e\x11\x71\xb2\xb9\x57\x49\x3d\xb7\x87\xb5\x9f\xb3\x87\x5b\x20\xe5\xae\xb5\x4c\x0f\x5b\xd4\xa8\x54\x28\x05\x49\xb0\x1a\x68\x79\x92\xd3\xa7\x06\x5f\x5b\x61\x0d\x2e\x26\x00\xfc\xbd\x11\x60\xe8\xb8\xae\x2c\x57\xa9\x70\x97\x95\x60\x6c\xe8\x46\x4c\x0b\x68\x19\x35\x98\x31\x08\xa2\x22\x12\xd4\xfd\xf8\x82\x6c\xe4\x58\x0e\x2d\x41\x26\x67\xc1\x36\x0f\x84\x84\x92\x32\xb9\x91\xf5\xab\x80\x24\x20\x75\x95\x87\x56\x98\xb0\x2e\x26\xd9\xca\x13\xb7\x7f\xd4\x39\x48\x3a\x22\xf0\x4f\x74\xf0\x20\x0b\x46\x56\x50\x16\x91\x57\xb6\x6f\x60\x00\x4b\x22\x2c\x76\x96\xad\xc5\xd3\x86\x98\xfe\x22\xbc\xb2\x48\x60\x27\x09\x1d\xb2\x6b\xb3\x3c\xb4\x07\xe3\x00\xa4\x13\x4b\xce\x3d\xc2\x0c\x0f\x42\x6f\x58\x9a\xee\x58\xb0\x14\x96\x54\x60\x71\x47\x1d\x2c\x85\x9a\x56\x34\x6b\x0e\xbd\xa5\x45\x92\x26\x35\xd4\x1d\x3d\x2c\x82\x78\x52\xfa\x16\x28\x99\x35\xff\x8d\x65\xd4\x7c\xe6\xbe\x94\xb3\x05\x15\xfd\x85\x6b\x50\x6a\x48\x86\x4e\xa2\x7c\x02\x70\x2b\x0b\x8f\x0b\xea\xba\x23\xef\xba\x6f\x39\x25\x58\x34\xf5\xc0\x72\x52\x04\xf0\x71\xf7\xc1\x8a\xe5\x67\x28\x00\x75\xa0\x07\x71\xff\x3d\xcb\xa8\x79\xaf\x41\xcd\x5b\xbc\xae\x82\xa2\xf7\x4d\x1b\x50\xf8\x0d\x1b\x10\x15\x25\xe0\x10\xf4\xcb\x51\x4b\xc0\xba\x3d\x3e\xa6\xdd\x81\x13\x12\x8a\xb4\xcc\x41\x22\x24\xf8\x79\x3a\xc4\x31\x22\x8b\xe6\x3f\xcf\xb3\x00\xe2\x49\xc6\x24\x51\x12\x6e\xcc\x09\xe2\x54\xc3\x5f\x64\x1e\x69\x42\x86\x58\xc2\x5c\xa6\x28\x93\x20\x5b\x96\xd0\xa1\x98\xdd\x81\xd4\x02\xf7\x6b\xc8\x14\x5f\x5c\x7f\xc2\xf1\x83\x2f\x12\xa2\x3b\x0b\x53\x38\xc6\x4b\x31\x3a\x1d\x97\x3c\x0a\x18\x7e\x49\x7f\x9a\x6f\x3f\x20\xc5\x57\x2b\x23\x0e\xd2\x14\x5d\x9b\xbe\x12\xd1\xcc\x3e\x2d\xca\xb7\x13\x5d\x25\x7d\xe8\x8c\x1c\x8f\x93\xe8\x81\xb0\x05\x5c\x3b\x74\x6e\xd3\x08\x93\x7b\x44\x7e\xa7\x72\x3c\x6c\xa5\x80\xe5\x01\xba\xd2\xd4\xa9\x01\x3e\x20\x40\x11\xea\x50\x97\xed\x90\xe8\x92\x1a\x97\x0d\x73\xa2\x06\x64\x3d\x6d\xbf\xa6\x4b\x62\x3a\xa4\x7d\x9e\x79\xb4\x73\x23\x1e\xfc\x7e\x90\xe6\xf7\x01\x41\x64\x8a\x6f\x96\xf4\xe4\xc5\x78\x13\xb7\xb9\x5c\x04\x0f\x5c\x69\xd9\x31\x68\xf1\xac\xfb\xe2\x3e\x81\x5c\x87\x8f\x7c\xce\x26\xea\x56\x2b\x79\x5d\x58\xa2\x4f\xd0\xbf\x93\x7a\xee\xf1\xb6\x03\x9f\x78\xb8\x91\xfc\x20\x76\x43\x22\x79\xfe\xf9\x1b\x4a\x4d\x58\xc2\x12\xe7\x3a\xa5\x09\xbc\x41\xa6\xbc\x0e\x52\xae\x78\x18\x19\x9a\xc4\x74\x01\xe6\x9c\xae\x71\x01\xf6\x41\x54\x32\xaf\x07\x71\xa9\xe5\x7b\x11\xd7\x49\xf5\x24\x2b\xaa\x07\x19\x39\xbd\x99\xc3\x5b\xe3\x61\x4c\x9d\x51\xd9\xd0\x18\xa8\x61\xb5\x44\xf8\x10\xe9\xdd\x22\x2a\x99\xcc\xf0\x8a\xf8\x74\x33\x61\x81\x2d\xdb\xab\xd3\xfb\x63\x35\x72\xcc\x58\xa6\x0a\xdb\x2a\xa5\x22\x71\xc4\x65\xc6\xbb\xd1\x02\x49\x2a\xd1\x74\xe6\x1c\xcb\x7e\x3e\x1d\x92\xc2\x3d\x2a\x2c\x53\x55\x42\x0d\xed\xb5\xa9\x2d\x73\x61\xa0\xd2\xd7\x28\xfd\x38\xa3\x02\x95\x73\x9e\x47\x4a\xbc\xd8\x05\x69\xb1\x3a\x13\x94\x4a\x39\x4c\x9f\xbe\x02\x34\xe6\xb7\xb4\xd8\x27\x0d\xfa\x77\x35\xd5\xb1\xc2\x12\xd0\x70\x2a\x79\x15\x5a\xb0\x84\xb9\xf7\xa1\xeb\xa3\x1b\xfb\x33\xe1\x8e\xaf\x95\x4c\x52\x1e\x4a\x84\x0a\x45\xf8\x47\xe2\x17\x9a\xee\x88\xc5\x88\x45\x27\x53\x83\x34\x95\x12\x56\x47\x1b\x65\xec\xe3\x8f\x98\x14\x87\x38\xf8\x53\x7d\x7d\xf4\x2e\x2c\x01\x74\xef\x17\x32\x9c\x0e\xcd\x3b\x2d\x9d\x02\x62\x81\xa9\x68\x0e\x2c\x37\x2d\xa9\x78\x50\x74\xe2\xa6\x42\x06\xa5\x59\x63\xf9\x16\x97\x34\x0b\xcb\x89\x83\x0c\xf9\x62\x40\x67\xb1\x5d\x16\x44\x49\xc5\x65\x24\xee\x37\x29\xdb\xcc\xfc\x20\xb8\x19\x40\x99\x0c\x1e\x9a\xc6\xd4\x80\x5f\x8b\x93\x00\xd4\xb7\xe1\x24\xe8\x9c\x54\x53\xe1\x78\xa3\x2d\xc0\x8b\xa6\x12\xb1\x8e\xf2\x82\x42\x67\x50\xcb\x46\x9c\xa5\x69\xc1\xe9\xf1\xe3\x0c\x55\xf1\x39\x03\x96\x09\x41\x9d\x63\x56\xfb\xa4\x57\x0c\x43\xd3\xc9\x29\xd8\x03\xae\xdb\xbe\x99\x01\xb7\x7f\x4d\x9b\xfa\xc4\x6c\x27\xb8\x64\x80\xa3\x4c\x32\x40\x6d\x33\x53\x68\xea\xda\x91\xab\x12\x06\x0b\x92\x70\xf3\x8f\x4d\x19\x36\xbc\x55\xa4\xbe\x61\x18\x9a\x56\x5d\x50\x83\xdd\xb1\xc4\x79\xfa\xd8\x4d\x96\x33\x64\xb7\x83\x5d\x62\x9d\x18\xad\x6c\x9f\xc6\x37\x67\xf7\x27\x61\xa6\x5b\x62\x75\x87\x85\x52\xbe\x87\x2d\x57\xad\xe4\x28\xb9\x3e\x16\xe2\x26\x6a\x06\x88\x7b\xc9\x59\xd7\xc7\xd1\x49\x99\xb3\xaa\xe3\xe3\x34\xf2\xff\x13\x8b\xe6\xa4\xcd\x34\x23\x0b\x8a\x9c\x66\x62\x33\x8b\xbc\x88\xe0\xf5\x8c\x16\x30\x07\x64\x56\x65\x98\x07\x3a\x3e\x29\x73\x40\xc6\x36\x31\x79\xa0\x5a\xe9\xb3\x77\xf1\xa6\x79\xbe\x14\xe0\x3a\x73\x91\xc8\x10\x53\x76\x23\x4f\x9d\xf9\x4c\x45\x99\x76\xc1\xaf\xd2\x8d\x4a\x96\x31\x5d\x64\x2f\x27\x7e\x7d\x69\xc4\x86\x5a\x2b\xb9\xe1\x6f\x52\xf1\x97\x24\xf6\x60\x69\xcb\x38\xd6\x8e\xee\x5b\x46\xcd\x7f\xed\x30\xe3\x20\xbf\x58\xd4\x9c\x4b\xff\x8a\x37\x6f\xf4\x99\x80\x8e\x0f\xb0\x95\xc7\x02\xa4\x23\x6b\x49\xf8\x8b\xec\xce\x7f\xef\xf5\x09\x87\xc9\x44\xe1\xf9\xf1\x30\xf2\xe4\x6c\xa9\x70\x20\x79\xb1\x79\x93\xce\x0a\x39\x93\x8c\x0f\xeb\x00\xf4\x15\xc0\xdc\xb1\x45\xa1\x1d\x56\x57\x55\xe2\x17\xce\xdb\x8f\x0b\x4b\x6a\x3a\xbf\x39\x4a\x8a\x88\x10\xa1\xfe\xa4\x71\xe0\xae\x65\x63\x36\xa4\x8b\xa6\x39\xa7\x9c\xc6\x70\xbf\x13\x5a\xd3\xdf\x47\xef\xe3\x78\xb5\xd9\x63\x94\x7a\xb3\x58\x8a\xa1\x70\xeb\x54\x6e\x93\x95\x03\xc1\x54\xe4\x71\x3c\xb8\xd0\x03\x42\x1c\x29\x23\x4f\xea\x27\xf2\xd6\xb3\x34\x8b\xbf\x2f\x6a\xe5\xc4\x74\x4d\x91\xe4\x1b\x82\xfb\xe8\x82\x90\x82\x23\x10\x92\x1b\x61\x54\x0c\x68\x8b\x4c\xb5\x17\xdc\x74\x9c\xa1\x0a\xdf\x84\x91\x72\x21\x8a\xf5\x4d\x98\xa2\xd8\xe1\x4a\xd1\x95\x92\xa9\x90\x48\x74\xc2\xc5\x1a\xad\x11\x92\xc4\x9a\x1a\x28\x64\xe7\x00\x75\xbc\x61\x7c\x94\xb4\x80\xa5\x88\x42\x90\x67\xd1\xfa\xe1\x17\x5f\x60\x09\x3c\x15\x8a\x85\x1f\x8a\x3f\xfc\x22\xeb\x5b\x41\x1d\xbd\xb1\x34\x61\x7a\x68\xc3\x91\xe3\x3d\x4d\xe7\x3f\x2c\x82\xdd\xf7\x5d\x65\x19\xb1\x93\x60\xaa\x27\xd8\x41\x1c\x89\x55\xd1\x15\x55\xc9\x1d\x0a\x7a\x0f\x52\xf4\x42\x7e\x39\x74\x8d\x57\x34\x45\xe2\x56\x3c\xe2\xb2\x9a\xa0\xb3\x74\x75\xd5\x29\x3b\x41\xc3\x77\x5d\x7b\x1a\x80\xb4\x75\x30\x3e\x04\x58\xf1\x86\x0d\x41\x88\xef\x7f\xf2\x98\xb1\xb1\xc3\x98\x64\x3e\xf3\x31\x47\x6b\xd4\x55\x59\x30\x11\x92\x0c\x33\x71\xf6\xd6\x70\xec\x7b\x71\xc2\xfc\x32\x4e\x94\x9f\x08\x8a\x9d\x99\x36\xb5\xe0\xce\x61\x59\x01\xed\x00\x14\x64\x90\x76\xea\x87\xd5\x30\x0a\x90\x99\xe7\x09\xa8\xe8\x61\xe6\xe6\xa0\x70\x8e\xd4\xf8\x3d\x76\x95\x26\x6b\x92\x44\x70\x26\x56\x9d\xf4\xc5\x3b\x30\x0c\xc9\x63\x05\xbb\x51\x2b\x35\x12\x03\x30\x0f\xc3\x28\xed\x7f\x8c\x66\x66\x4e\x27\xfd\x8f\x7b\x76\x00\x5c\xc7\x63\xa1\x45\xbf\x01\x69\x8a\x9d\x00\x6f\xd4\x1d\x8a\x34\xf5\x1b\xfe\x09\xd4\xe3\x46\x8e\x25\x2b\x59\x9e\x82\xe8\xf1\x42\xa9\x66\xfe\xce\x2b\x92\x6e\x46\x35\x72\xa5\x9b\x51\x29\xc9\x35\x4d\xb8\xe9\xab\xd1\x19\x02\x84\xb0\x72\xe5\xb4\xd7\xfe\x5d\xd7\xf7\x27\xe7\x36\xf4\x1c\x6f\x94\x09\xa6\x49\xfa\xf1\x10\x97\x20\x3e\x87\xf8\x15\x48\x1c\x91\xe9\x32\xcb\xfb\x67\xa6\x6b\x72\xde\x99\xe8\x55\xe9\x8e\xbc\x53\x24\xa5\x53\xee\x98\x34\x12\x41\xcf\xb5\xfb\xe3\x5a\x36\x42\xc1\x1f\x0e\x87\x95\x4a\xa5\x52\x8b\xc2\x7d\x54\x0b\xae\x0d\x47\xa0\x46\xa3\x11\x40\x7b\xe0\xcc\x82\x6a\xe1\xe5\x74\x5e\xe3\x5c\xc9\x5f\x6c\xd4\xa6\xf6\x60\x80\x63\x20\x18\xe5\x0a\x98\x14\x8c\xf2\x06\xfe\x7f\xf4\x9d\x78\x7d\x92\xaf\x90\x7a\x76\xa2\xb7\x35\x81\x83\x68\xe4\xfc\x0b\xe6\x04\x8b\x92\x3d\xf8\x3c\x0b\xc2\x6a\x01\x1d\x6a\xd1\x6b\x1c\xec\x84\x24\x40\x66\x6f\xb0\xeb\xaf\xa4\x16\x7a\x97\xad\x22\xa3\x5b\xd6\x65\x92\xfa\x80\x66\xd8\x65\xb2\xa4\x51\x2d\xea\x80\x13\x3b\x55\x69\x4f\x54\xbd\x9b\x01\xcf\x47\x98\x70\xca\x87\x20\x08\xec\x11\x38\xb4\x3d\x7b\x04\x60\x19\x82\xa9\x6b\xf7\x41\x8b\x25\x3e\x0d\x54\x9f\x87\x40\x4b\xeb\x97\x51\x8a\x6f\xd3\x30\xbe\x5f\xb0\x3d\xc5\x71\xcd\xb5\x2b\xd9\xcc\x22\x73\x65\x18\xe7\xd7\x10\x08\xb4\xf8\xac\x19\xf4\x56\x98\x81\x13\x53\x84\xda\xd1\xe0\x00\x34\x1c\x9d\x32\xce\x67\x99\x25\x54\x5d\x04\x99\x9e\xa2\x39\x25\x32\xa3\x91\x6d\x25\x67\xd9\x1f\xdf\x02\x88\xf8\x9f\xa4\x7e\x32\x5a\xf3\x3e\x79\xcd\xad\xf7\xa8\xa3\x49\xd6\x98\x2b\xb7\xfc\x9a\xe7\x6b\xa5\x57\x70\x6a\x25\x9a\x1b\xd3\x39\xbf\x5c\xe7\xf3\x12\x59\xb1\x5f\xb9\x3c\x73\x96\xa1\x60\x9d\xc9\xbd\xf3\x0b\xe6\x4b\x63\x12\xb0\xc0\x0d\xb2\x55\x27\xf3\xd1\x4f\xd5\x56\x04\xe4\x58\xce\x97\x19\xa0\xd3\x60\x0a\x01\x2a\x19\xd9\x7d\xe8\xa0\x1c\x84\xfe\xf4\x3d\xf4\xa7\xf6\xc8\x26\x87\xc6\x93\x8e\xee\x8d\x52\xaa\xc7\x27\x66\xbe\x38\x56\x3a\x6e\xc2\xd3\x37\x5f\x46\x2c\x85\xb5\xfc\xca\xcc\x42\xe0\x37\x1c\x20\x6d\x21\xbe\x5c\x96\x5f\x6c\x88\xa8\x2f\x5e\xda\x99\xf5\x9c\x58\x1e\x54\xdb\x83\x7d\x84\x1b\xae\x03\xf8\x18\x53\x78\xc1\xe8\x8e\xf8\x65\x12\x8a\x0c\xe7\xd0\x9f\x5a\x2a\x64\xba\x38\x87\x89\x5b\x9e\x55\xb8\x20\xef\x82\x6a\x2e\x18\x86\xa8\x1e\x51\x70\x38\x29\x93\xf1\x85\x71\xf2\x29\xf8\x5a\x6c\xd5\x9d\x40\x30\x16\x54\x67\x6f\xba\xa9\x22\x9a\x4e\xd3\xdb\x84\xec\x36\x96\x2a\x20\xe1\x76\x16\x0c\xa0\xa2\x7f\x23\x20\x7e\x8f\x95\xbe\x4a\x6c\xae\xa9\x91\x12\x34\x8c\xb9\xc9\x25\x66\x1c\x91\xfb\x3f\xe9\xe1\xe3\xa3\x89\x05\xe9\x32\x87\xcd\x64\x6e\xcd\x48\xb1\xec\x93\x37\xbb\xd0\x9f\x44\x79\xe5\x53\xee\xcd\x52\xe5\xaa\x3f\xbd\x27\xd6\x5b\xa7\x7e\x54\x37\x2b\x1c\x13\xe4\x99\x89\x33\xdd\x7b\x7e\xe8\xf4\x01\xba\x45\xa5\x23\x29\x70\x47\x0a\x17\x9a\x8a\xc9\xf0\x1b\xfe\xf4\x9e\x9d\xea\xa8\xdb\x98\x0a\xfc\x45\x4b\x7a\x68\x4c\x21\x50\xb4\x5a\xc8\x31\x85\xa8\x1f\xa5\xd0\xe7\xb0\x0a\xfc\x19\xec\x03\x74\x15\x48\x6d\x02\xe9\xa3\x45\xb8\xe1\xe3\x68\x46\xd9\x6d\x1c\x3f\xce\x0d\xee\xb1\x44\xcc\x8e\x44\x70\x52\xd9\x05\x5a\x77\x2c\x58\xb6\xbd\xfe\x35\xb9\x69\xea\x41\xf4\xf3\x18\x0b\x09\x74\xcf\x82\x24\x76\x03\x7e\x6d\xb3\x5f\xe4\x6d\x0d\x96\x09\xca\x75\xd7\xc5\xad\x42\xe0\xa9\xa1\xa6\xfb\x64\xc0\x59\x33\xdc\x98\xa7\xe7\x8b\x0e\xcb\x60\x1e\x02\x6f\xb0\xba\xaa\x62\x0b\x5e\x7c\x8d\x57\x1d\x3d\x88\x5f\xa9\x9e\x6e\x6b\x9a\x1e\x4a\xd9\x8f\x1c\xc3\x98\x18\x87\x44\xa0\x03\xa9\x88\x2a\x60\xe5\x6b\xce\x50\x25\x57\x1e\x7c\xb4\x71\x22\x06\x8d\x73\xf9\x63\x11\x26\xca\x41\x68\xc3\x90\x92\x0c\xb2\xdf\x08\x53\x9c\x5f\xec\x43\xa9\x75\x7c\xae\xac\x58\x10\x7b\x95\x1c\xd9\x13\x80\x25\xed\xca\x1f\xe2\x48\x82\x16\xf7\x7c\x75\x55\x69\xbf\xaf\x1f\xe1\x67\x5c\x77\xe3\xd7\x2a\x4c\xbc\xc1\xb1\x23\x20\xb8\x75\xfc\x59\xd0\x76\x7a\xae\xe3\x8d\x6a\x1a\x2e\x92\x7c\xa8\x87\xc5\xac\x8b\x6f\xec\xe2\x02\xa9\xf3\x73\x5e\x19\x50\x06\xde\x00\xb7\x59\xc2\x5f\xe9\x14\xe0\xfb\xa7\xa2\xae\xb3\x52\xbf\x93\xbe\x7a\x60\x1e\x26\xfa\xc9\x3d\xd0\x83\x65\xfa\xe8\xf1\x01\x38\x68\x8a\x69\x32\x5c\x2d\xff\x2e\xd2\x54\xe8\xb8\x1f\xfc\x93\xa2\xa9\xb1\x58\x21\x9c\x23\xb5\xe3\x8d\x54\x4f\x0f\xf5\xa4\x13\xbb\xa7\x95\x82\xdc\xad\x50\xb0\x32\xe4\x5e\x6f\x89\x39\xac\x6a\xd4\x65\x93\x31\xe9\xc2\xad\x55\xee\x15\x46\x4f\x89\x74\x3a\xc2\xf4\x3e\x2a\x56\xc9\x14\x95\xb9\x22\x09\x3f\x2f\x6d\xcf\xeb\x9c\x46\x19\xe5\x85\xf9\xa7\x52\x49\xe7\xbf\xd5\xaf\x99\x1a\xac\xfa\xc9\x16\x49\xc9\x28\x81\x26\xce\x73\x4e\x82\xa8\x4b\xd0\x9d\x02\xef\x0c\xba\xa2\xcc\x53\xfd\x6b\xe8\xa3\x59\x99\xf8\x59\xee\x41\xff\x2e\x00\x70\x33\xf9\x13\xc3\x39\xb5\x7b\xea\x97\x19\x74\xab\xe0\x49\xab\xd2\x5a\xe8\xb9\x0a\x74\xe5\x53\xcf\xb5\xbd\xb1\xa2\x2d\x88\x8b\x83\x8a\x93\xe1\x07\x83\x33\xe8\xca\x84\x92\x82\x49\xe2\x0c\x55\x9a\xd9\x0f\x3c\x3e\x26\xed\x53\xc0\x7c\x6a\x7b\x83\xf8\x10\xc8\x3d\x20\x18\x03\xa5\x4a\x9b\xd2\x34\x6d\x75\x75\x45\x05\x54\x1c\xff\xa6\x62\xac\xbf\x7c\x7c\x04\xe5\x00\xd8\xb0\x7f\xad\x3e\xbb\xfc\x18\x7c\xbc\xfc\x78\xa5\x6a\x5f\x9e\x5e\xbf\x51\xbe\xfb\xf8\xf1\x57\x3f\x5c\x3d\xd3\xde\x58\x86\x46\x02\xfc\xb0\x82\xca\xaf\x2e\xed\xd2\x43\xbd\xd4\xbd\xa2\x9f\x46\xe9\x55\xb1\x5c\xba\xfa\xbe\xfa\xec\x99\xa2\xbd\x36\x34\x26\xfe\x24\xa1\x09\x54\xa5\xaa\xe8\xa6\x76\x69\x5c\x11\x71\xa8\x32\xb1\x1d\x37\xf4\x95\x6a\x52\x94\x07\xd0\xd1\x1d\x4e\x11\x8c\x22\xa0\x57\x11\x32\xc6\x68\x8d\x48\x27\x2d\x09\x36\x9a\x11\x49\xa1\x6b\x8f\xdf\x07\x41\x00\x06\x5b\xf7\xac\xe2\x5b\xdb\x1b\xb8\x00\x7e\x62\x1a\x5f\x7a\x5b\x05\x43\x60\x87\x87\x71\xda\xba\x80\x4d\xed\x64\x36\xbb\x95\xfc\x6c\x76\xe4\x1c\xca\x69\xd5\x5a\x31\x74\x50\x66\x81\xf2\x5a\xfe\x9d\x15\x49\x2e\x54\x50\xee\x63\xae\xff\x22\xcb\x7a\x0b\x74\x06\xda\xb3\x05\x62\x0e\xba\xd2\x8b\x26\xd7\x20\x35\xa5\x8d\xda\x64\x4d\x7e\x58\x04\x8c\xe8\x78\x8b\xa6\xbe\xc2\x5f\x32\x2d\x0b\x94\xd1\x10\xac\xae\xa6\x9b\x78\x23\x56\x12\x2f\xd2\x31\xae\xae\xae\x20\xd6\x3f\x41\xa1\x92\x69\x2d\x32\x8f\xcb\xb6\xbf\xa8\x12\x51\x6f\x6c\x2e\xd2\xf8\x60\xcd\x51\xf5\x67\x54\x20\x69\xba\x90\x7c\x2a\x28\xdb\x6e\x78\x00\xee\x1f\x1f\x57\x42\x96\xd1\x2b\x3b\x25\xd1\xec\x61\x5a\xa2\x74\xb6\x78\x75\xc5\x88\x8c\xb3\x84\x55\xcd\x34\x13\x9a\xdc\x3a\x22\x76\xee\xd4\xdf\xf1\x06\x7c\x10\xe3\x4c\x43\x26\xe2\xb1\xd2\x12\x05\xb4\xa7\x6b\xdc\x2c\x4a\x44\x7d\x03\xde\xc8\x1e\x81\xc1\xe3\xa3\x68\xf6\x6c\xca\x22\xd6\xb1\x6a\x71\xb7\x65\x31\xf6\xd0\xc5\x37\x5e\x3e\x1b\xdc\x75\x57\x5a\x05\x5f\x7a\xa3\xf9\x4f\xeb\x68\x55\x2e\xd6\x1d\x37\x3c\x5f\x47\x39\x31\x71\xae\xe3\xb8\xc8\x2a\xa0\x7a\x4b\xc4\x8e\x45\x81\xf4\xe2\xf6\x22\x56\xe1\x98\x9e\x27\xe9\x00\x39\x5f\x79\x28\xc4\xac\xc7\x12\x4c\xbe\xc6\x62\xfc\xc5\xf8\xac\x00\x12\x78\xea\x00\xdc\xe3\xb9\xda\x0f\xa1\x8b\x27\x2b\x28\x4f\x40\x68\x1f\x80\x7b\x66\xce\x5a\xc8\xd3\x66\xd3\xad\x9c\x57\xea\x67\x5e\x5a\x99\xb0\xc8\xa9\x43\x35\x63\x60\x86\x79\x5a\xe1\xa2\xc2\xf5\xc9\xe6\x8d\xb6\xc2\x06\xea\x15\x4e\xd4\xbb\xba\x5a\x41\xc5\x48\x56\x61\xd4\x0b\xf2\x8d\xae\xf0\x74\x42\xdf\x28\xb3\x23\xbe\x50\xab\x5a\x32\x3b\x2d\xe2\x29\x95\x86\x3f\x73\x07\x05\xcf\x0f\x0b\xb8\x4c\x61\x62\x7b\x33\xdb\x75\xef\x0b\x83\x19\x28\x84\x7e\xe1\x0e\xf4\x0a\x10\x20\x0e\x14\x53\x3f\x88\x37\x82\xd9\x94\xc3\xd8\x88\xb1\x12\x4e\x82\xb4\x2d\x5c\x6a\x1e\x66\x35\xab\x4b\x5f\xec\xb8\x69\xbf\x12\xa1\x13\x61\xc8\x1e\xa1\xdd\x69\xe1\x0a\x5f\xb8\x98\xcd\x25\x16\xb3\x42\xee\xcd\x09\x8b\x1e\x1c\xa5\xb2\x0e\xa1\x7f\x87\x18\xc6\x4f\xa9\x69\x99\x64\x1d\xed\xe9\xd4\xa5\x36\x7c\x44\xb7\xc5\x88\x97\xca\x46\xaf\x6a\xab\xab\x0a\x0e\x9b\x1e\x0d\x43\xd2\x25\x2e\xc3\xd8\x62\x2c\xb6\x81\x1b\xda\x2a\xd0\xa8\xb5\x7b\x30\xb1\x61\xb8\xeb\xfa\x3e\xdc\x76\x6e\x9d\x01\x20\x76\xcf\x76\x2f\xe0\x9d\x06\xf3\x8f\x69\x3d\xb0\x94\x3f\x38\x56\x8a\x2a\x7c\x6d\x6c\x2a\x5b\x4a\x55\xa9\x2b\x54\xd0\xe7\xf8\xe5\x00\x78\x03\x16\xd5\xa9\x0c\xc1\x14\xd8\xa1\xea\x6b\xa2\x9d\xe6\xe9\x49\x30\xaf\xbe\x62\xda\xe4\x1d\x20\x72\x53\x48\xba\xaf\x25\x38\x30\x69\x51\x3e\x38\xb9\x2c\x0f\xa9\xc8\x72\x81\x06\x61\x07\xb2\x88\xb1\x2b\x34\x65\x3d\x01\x23\x35\xe7\x94\xa1\x45\xe4\x9a\x9f\x04\x71\x31\xbf\x3e\x0d\x84\xef\xe1\xfd\xe3\x93\xc8\xa1\x1a\x8b\x9e\x98\x62\x4b\x7d\xf6\xd1\x7b\x36\x9a\xe8\xca\x47\x88\x86\xdb\x12\x5e\x80\xc2\xb4\x11\x58\x0f\xda\xfd\x31\x08\xc1\x80\xee\x66\x6a\x68\x29\x7f\x70\x59\x31\x8c\x5f\x2b\xc5\xb0\x88\xbf\x9a\xbf\x56\xe2\x4b\x16\x37\x7d\x72\xae\x7e\x0d\x7f\x7a\x2f\x18\x90\x59\x00\xe8\xec\x22\xc9\x7e\x51\xb1\xc7\x47\x55\xa0\x53\x48\x6f\xdd\xb2\xdd\x87\xdf\xc2\xe5\x82\x4d\xdf\xa3\x29\x38\xb3\xd7\x28\xce\xf9\x21\xb3\xba\xa2\x9c\x02\x34\x5f\xe6\x72\x9c\xed\xe3\xa3\x41\xfd\xe8\x32\x6b\x59\xde\x82\xdc\x54\x51\xb8\xc4\x1f\x1f\x8d\x1a\x76\x4e\x00\xaf\x2d\xe3\xf1\x31\x7c\x8d\x2f\x55\x64\xb3\x91\x65\x38\x7d\x7c\x94\xe6\x32\x4d\x98\x66\x46\x99\x69\x19\x32\x29\x75\xbd\x6a\xae\x2c\xb2\xda\xe0\xd4\xa2\x3a\xa4\xab\x88\x93\x3f\xa8\xb9\x81\x9a\xf3\x17\x89\x7c\xca\x71\xc6\x72\xf2\xc8\x45\x9c\x89\xdb\xe6\x57\x1a\xf1\x3c\x3e\x2a\x86\x9c\x73\xa7\x12\xf7\xcd\x85\x06\x86\xcc\x3c\x50\x68\x76\x97\x61\x59\x26\xf7\xc7\x89\x9e\xf1\x26\x59\xf8\x49\xe3\xbe\xef\x82\x4f\xe8\x32\xcc\x38\xf6\x5c\xe3\xc6\xdf\x45\xdb\xe6\x55\xca\x34\x5f\x08\x5e\x6e\x45\x9a\x4e\x6d\x22\x13\x16\x45\x8e\x1d\x99\x5c\x28\x52\xa1\x57\x4e\xe6\x93\x25\x5b\x11\xa4\x4c\xc9\x49\xe1\x24\x3c\x28\x32\xb3\x51\xec\x54\x20\x0a\x7d\x4d\x61\xaa\xda\x13\xe7\x5e\x91\xad\xca\x72\x2e\x3d\xe9\x4e\x19\x86\x03\x30\x55\x15\xd7\xe9\xd1\x3d\xff\xec\x74\xf7\xa5\xa2\xf1\x18\x37\x8f\xb3\x9d\x67\x77\xde\x28\x10\x1f\x93\x23\x37\x8f\x89\xa2\xe9\x29\x09\x61\x29\xc5\x7e\x12\x72\x42\xcc\x98\xf1\x10\x4e\x80\x24\xfa\x98\x5d\x68\x27\x22\x9f\x20\x90\x4c\x06\x8f\xf3\xe6\xe1\x02\x6a\xb2\x15\x3d\x1f\x32\x4e\x8d\x4f\x5e\xbc\x87\xfe\xd0\x11\x4d\x37\x0e\x63\x10\xd2\x52\xe9\x51\x4f\x00\x9d\xce\x82\xeb\xec\xd1\x42\x70\xe4\x6a\xa4\x30\x8d\xc4\xca\x20\x3a\xa6\x1b\xf6\x34\x9c\x41\x30\xf8\x94\x3c\xbd\xa3\xc7\x3a\x0b\x0a\x46\x62\x2d\xd3\xa3\x31\x7a\xa0\xe3\xb8\x3e\xdc\x3b\xf6\x8b\x72\x77\x6c\x3c\x53\xbd\x74\x7c\x3d\xf3\xc4\x02\x3a\xc8\xe9\x70\x32\xe2\x62\xb6\x76\x7a\x0a\xe5\x0d\x08\x63\x28\x12\x03\xc1\xee\x45\xae\x3f\x52\x95\x33\xef\x1a\x0b\xbd\x06\x85\xb8\x34\xc9\x9f\x2c\x87\x2b\x97\x3f\xa7\x40\xfb\xbd\x00\xc0\x5b\x00\x07\x85\xce\x69\x61\xcc\x6a\x20\xf0\xfb\xed\xe3\xa3\x32\x91\xf5\x3b\xc3\xfb\x8c\xf0\x38\xd5\x5c\x2a\xdb\xb7\x34\x38\x38\x22\x4d\x0d\xd6\x34\x98\x18\x4a\x40\x52\xfe\xd2\xb1\xd3\x79\x4d\x4e\xf3\xf8\x13\xb3\x08\x4f\xb6\xb1\x60\x11\xa5\x8b\xa7\x30\x92\x57\xc4\x01\x8b\xd0\xb6\x21\x34\xe9\xe7\xc7\x99\x70\x02\x24\xf3\x35\x9f\xee\x1a\x87\xfe\x25\x39\x53\x1c\xcf\xee\x87\xce\x2d\x28\x34\x8f\x0b\x7e\xef\x33\xe8\x87\x65\xa5\x96\x06\xc4\x25\x4c\x5b\x80\x96\xeb\xfd\x3b\x42\xac\xa8\x7c\x84\x38\xce\xba\x7c\x51\xe0\x78\xc7\x8b\x88\x6a\x3e\xcf\x6e\x38\x11\xc1\x55\x87\xdb\xb4\xf3\x27\x1c\x6e\xcd\xf5\xf2\xdb\xc3\xd4\x92\xb6\x48\x68\x29\x68\x33\x71\x8a\x60\xfb\x99\x80\x9e\x20\xbc\x8a\x4d\x90\x98\x2e\x4a\x0b\x46\x0f\x91\xd8\x0c\xa7\x8d\xd5\xe5\x64\x5f\x68\xb7\x1a\x9f\x68\x18\x3f\x7a\xaa\xc5\xf9\xe4\xf2\x8a\xc5\xd0\x48\x81\x44\x28\xc0\x34\x24\x69\x11\xaa\x20\x88\x5d\x30\x2d\x05\x8e\x7a\x6a\x65\x63\x43\x2f\xb0\xff\x69\x4a\xa2\x6c\xec\x49\x4a\xca\x1a\x7a\x01\xfd\xc7\x4a\xf5\x7c\x37\x96\x45\x0c\x6d\x34\x0b\xd8\x2f\x27\xb4\x5d\xa7\x1f\xfd\xec\x91\x64\xae\xf4\xd7\xcc\x1b\x00\xe8\x3a\x1e\x17\x5e\x38\x84\xce\x18\xa0\x59\x3b\x1b\x5d\xc7\x40\x3c\xec\x96\xc6\xff\xa6\x9c\x12\x7b\x92\x8a\x52\xcc\x87\x23\x66\x1c\x9f\x0b\xb6\xed\xd0\xe6\x22\xf3\xf6\xb9\xa4\xae\xdc\x63\x41\xc2\xd7\xa7\xcc\xd0\xf3\x11\xeb\xb0\x28\x77\x0b\x93\xc0\x58\xae\x60\x3d\xd8\xc2\xc6\xaa\x0b\x2a\x24\xc6\x8e\xf8\x5c\x13\x33\x0d\x6f\x36\x51\x15\xc1\x84\xe4\xea\x72\x73\xc7\x52\xe8\x28\x2a\x8b\x2a\xb4\xf6\xb6\xf0\xf8\xe6\x16\x0c\x44\x49\x33\x04\x0b\x20\x97\x68\x38\xce\x99\x9c\x63\xe0\x6b\x61\x65\x1e\x17\xd6\xaf\xe0\x10\x97\x29\x0d\x5c\x86\x57\x78\x92\x5f\x86\x57\x31\x27\x91\x18\xd5\xcc\x38\x97\xfb\xbe\xd7\xb7\xb1\xd1\x5e\x2e\x7e\xe2\x64\xd0\x7f\x19\x57\xf3\x5f\xea\xb5\xb7\x98\xc6\xfc\x42\xcb\xfa\x96\xf3\x2f\x1d\xba\x11\x4b\xc6\x93\x74\x01\x5d\x99\x71\xa9\x05\x8b\x36\x0a\xdb\x25\x0b\x1b\x93\x19\xea\xcc\x20\xd2\x6b\x7d\x66\xb0\x05\x05\x57\xa2\x91\x62\xdf\xf1\x40\x45\x72\x54\x3c\x4e\x51\x31\xe2\xcb\xb6\x92\x1c\xa5\x28\x0c\x19\x3f\x48\x11\x00\x32\x46\xdc\xcf\x58\x05\x18\x8f\x10\x45\x38\x1a\x9f\xd5\x55\xb4\xb2\x28\xbe\x6c\x7f\xcc\x5f\xb5\x78\xfb\x69\xf8\x5e\x68\x3b\x5e\xea\x06\xc9\x98\x10\x3e\x20\x9a\x30\x91\x4e\x3a\x11\x08\x58\xce\x24\x2d\x98\xda\x9e\x42\x62\xf3\xe1\x4b\xbd\xee\x58\x97\x57\xb5\xd4\x58\xad\x08\x96\x09\xb3\xaf\x62\x56\xb2\x71\x69\x2d\xbd\xc8\xa4\xd5\x85\xe6\xb6\xf1\x43\x0a\x28\xde\xe0\xd9\xdc\xc0\x5f\x55\x88\x4d\x6c\xcf\xa9\x63\x0d\x7a\xc8\xe4\x89\x74\x1a\xa8\x21\x5b\xb9\x51\xf8\x31\x3a\x25\x68\x5d\xea\xc9\x43\x9e\xb2\xca\x74\xa2\xa8\x0e\x4d\x82\x13\x67\xcb\x43\x25\xc8\x6b\xba\x0e\x69\x5e\x0e\x4b\x51\x12\x59\x7f\xb8\xd9\xa5\xfa\x45\x4b\x29\x44\x0f\x14\x3d\xe4\x77\x88\x28\xf6\x60\x72\xf6\x91\x4a\x38\x2b\x0f\x7d\xa6\x60\xf3\xbf\xc4\x3e\x62\x68\xba\x8f\x3b\x12\x82\x79\xb8\x4d\x32\xf4\x3a\xbe\x67\xf9\x9a\x9e\x98\x9c\x51\x3f\x68\x32\x4a\xdc\x09\xb6\xb7\x18\x7a\xc8\x6f\x2c\x26\x33\xce\x48\xcc\x5d\x0e\x06\x7a\xa4\x68\x3a\xff\xf3\x13\x35\xe0\x61\xa5\x11\x78\xf4\x9d\x91\x48\xc7\xc2\xdf\xa4\x31\x23\x82\x10\x67\x64\xe1\x52\xee\x39\x34\xc9\x50\x01\xc7\xde\xc8\x5d\x34\x13\x3b\xec\x5f\x83\x40\xba\x6a\x14\x72\xc1\x52\x2c\x0b\x15\xf7\x87\x05\xf0\xf8\xb8\x66\x59\xc4\x1c\xec\xf4\x7e\x9a\xf4\x13\xe6\x96\x17\x67\x82\x77\xef\x02\x3a\xb0\x2b\x2a\x47\xd4\xc7\x47\x10\x7d\x4b\xae\x7d\x4a\xb9\xe8\xf7\xe3\xa3\x80\x9e\xa8\x3a\xa3\x10\x05\x90\x58\x6a\x64\x55\xd1\x37\x89\x55\x94\x5e\x30\x4c\x95\x25\x5c\x21\xda\x8a\xb5\xb2\x12\x72\x6b\x84\x41\x44\x13\x78\xc5\x02\xf1\x4c\xa6\x2f\xc8\x32\x88\x6b\xe1\xd5\xf1\xf8\xb8\x92\xda\x32\x51\x01\x10\xff\x8c\x0a\x24\xe6\x27\x29\x94\x78\x94\x7f\x72\xc4\x79\xba\x03\x91\xb0\x27\xcb\x5c\x03\x19\x27\x1d\x7e\xe5\x99\x15\x17\x94\x18\x43\xa5\xcf\x2c\xe6\x65\x9c\x3e\xa2\x98\x57\x71\x92\x9b\xf0\x05\x0f\x23\x4f\xf0\xe8\x84\x61\xd6\x50\x19\x98\xa1\x04\x07\x66\x86\x9b\xee\x3e\x6b\x2f\x43\xb0\xcc\x66\xca\xb8\xe5\xc4\xa6\xca\x66\x70\xe2\x9c\xe5\x1f\xb6\xf6\xb6\x30\xb6\x82\x38\x61\xe0\xf5\xcb\x4d\x50\x7c\x59\x05\x4f\xe8\xb6\xa7\xa7\xcf\x4c\xd4\x45\x29\xda\x9a\x9e\x6d\x24\xcd\xcd\x09\x78\x80\x4d\x58\xcd\x70\x34\x97\xe0\x2a\x79\x0c\xa4\x4e\xef\x44\x6c\x77\x0e\xbc\x60\x9c\x36\xc5\xa4\xac\xa6\xaa\xa6\x8f\xcb\x98\xa7\x9a\x38\x73\x35\xd0\x53\x77\xbb\xf2\xda\xda\xda\x9a\xf6\x14\x8a\x3b\xcc\xf3\xa6\x82\x0e\xfb\x82\x0e\x87\x57\xa2\x19\xde\x67\x3b\x63\x70\x88\xb6\xca\xac\x6f\x54\x76\x87\xd4\x22\xc3\x7c\x19\xac\x66\xb4\x4f\x86\x1a\xb1\x24\x63\xdb\x29\xda\x9e\x52\x5b\xeb\x8a\x89\x8a\x88\x36\xdd\x15\x83\xda\x92\x83\x88\xeb\x08\x13\xfb\x6d\x81\xf1\x16\x8c\x96\xab\xab\x59\x76\xc1\x72\xd2\x8f\x50\x29\x8e\x29\x40\x97\xbb\xe8\x17\x7b\x47\x0e\x7d\xfa\x0a\xff\x40\x6f\x52\xa7\xa8\xe5\xa4\x9e\xe4\x11\xb8\x99\xe5\x7a\xa3\x55\xb1\xf0\x18\x12\x00\x8e\x4c\x8c\x85\xab\x2c\x3e\x5d\x36\x01\x7f\xac\xd2\x13\xb5\x9a\x4a\x7f\x95\x48\x01\x28\x69\xac\x8d\x4d\x8f\x33\xe9\xbd\x16\xb6\x48\x73\x3f\xa1\xc2\xd5\x44\x32\x28\xbe\x14\x86\x95\xdb\x70\x52\x46\xfb\x55\x6d\x63\x7d\x71\xaa\x79\x1c\x0f\x7d\x19\x0c\x04\x19\xa9\x24\x69\xc5\x2e\xaf\x74\x68\x19\xba\x6f\x19\x7a\x40\x92\x70\xe1\x18\xd3\x2c\x2e\x0d\xd9\x52\x6c\x0b\xdd\x9b\x06\xe0\xbd\xef\x78\x61\x3d\x54\x3d\x4d\x77\x2d\xfb\xb5\xf5\x7c\x63\x63\x6d\x63\xd3\xac\x56\x6a\xf6\x6b\xb3\xf2\x72\xd3\x2f\x5a\x2e\xc1\x17\xb5\x4b\x86\xc9\xd6\x5e\x5b\xe6\x26\x62\xfc\x5c\xd4\x82\xa9\x55\x55\x1f\xf3\x46\x98\xd1\xfa\x12\x84\xb0\x0a\x18\x75\xa1\xee\x6b\x7a\x44\x96\x6a\xf0\xa4\x61\xa4\xb0\x43\x43\xb6\xb4\xa7\xbb\x9a\x4e\xb8\x95\xea\x8a\xc1\xd5\x5b\x31\x9f\x10\xdf\xef\x15\x5d\xd4\x2f\x4d\xf7\x8a\x96\xcb\x92\x3d\xfa\xab\xab\xcb\x36\x1d\x8a\xc5\x7a\x3a\xfe\x31\xa4\x9f\x67\xa7\xbb\x2f\xd1\x5a\x1a\x00\xa8\xe8\xc4\xf5\xa5\xdc\x39\x2d\x37\x98\x76\xf7\xd0\x9e\x62\xb9\x4b\xe7\x54\xae\x35\xb1\x80\x1e\x5b\x71\xe0\x37\xb1\x20\x3a\x9b\xca\x1f\x17\xe0\xac\x62\x49\x0d\xa1\x45\x2c\xd5\x4b\xd9\x30\x00\xed\xd0\x0e\xc1\x27\x2a\x2f\xe9\x9c\x96\xdf\x47\x0f\xd5\xb8\xd0\x99\x37\xf6\xfc\x3b\x8f\x65\xab\x75\x81\x3d\x70\xbc\xd1\xa1\x3f\x70\x86\x0e\x80\x9f\x2c\x85\x69\x43\xa1\xed\xb8\xc2\x37\xb6\xeb\xfa\x77\xc4\x0a\x14\x0f\x3f\xb1\x34\xe1\x2c\x20\xfd\xa0\x7f\xea\x4c\xc0\x3b\x67\xe2\x84\x9f\xac\x0a\x58\xa7\xc2\x85\x70\xc8\xc8\x48\x90\x74\x78\xca\xf2\x07\xfc\xcb\x2d\x07\xcf\x7e\xe8\xbb\x11\x50\xf2\x26\x32\x71\x38\x87\x4e\x18\x0b\xf2\xc8\xcb\x6d\xd0\x37\x2b\x51\x85\x48\xf9\xbe\xe3\xf5\x7d\xd4\x47\x4b\x99\x85\xc3\xd2\x4b\xda\x8b\x89\x3d\x27\x8b\x06\xc7\x65\xf3\xfa\xc0\x32\x8d\x0a\xc5\xf4\xce\x86\xde\x99\xe7\x4c\xa6\xe4\x9e\xc9\x19\x48\xf6\xb9\x31\x0f\x62\x4a\xf3\x53\x21\x20\x25\xf7\x0c\x32\x68\x7b\x26\xfd\xac\xd0\xcf\x35\x2b\x0b\xa9\x3c\x02\xe1\xa1\x3d\x55\x95\x2d\x76\x8f\xdb\x7b\x67\x29\x7b\x4c\x33\xbd\xd7\xe2\x7e\x90\xce\xb4\xef\x83\x10\x4c\xce\xc2\xe1\xcb\x98\xee\xfc\x9b\x77\x7e\x7f\x0c\x06\xdc\xbb\xbe\xf9\xde\x0e\x43\x00\x3d\x3e\x0f\xd9\x6c\x3a\xc0\xa2\x43\x5a\x13\xcf\x9f\x48\x6c\x62\xdf\x82\x41\x7a\x4a\x11\xcd\x77\x3c\xa7\xf0\xc6\xd4\x39\xe5\x18\x52\xe1\x24\x45\xbb\x4f\x4e\xb1\xc6\xbb\x66\xe3\xc0\x32\xf3\x41\xb5\xea\x7b\xd6\x9a\x9e\x9a\xd8\x79\xdc\x36\x7d\xc3\x78\xed\xde\x6c\x68\x85\xe4\x4a\x43\xd7\x8c\x1f\x58\x74\x58\x11\x14\x56\xce\x86\xa3\xc0\xba\xbc\x7a\x4a\x37\x25\x17\x04\xb2\xb5\x8e\x1f\xe3\x0a\xbb\x11\x2b\xce\x89\x8f\xb7\x66\x43\x15\x3c\x3e\x46\x51\x6e\xf0\xc3\x3a\x1c\x61\xd1\x06\xe5\xf3\x73\x5b\x4c\x80\xce\xca\x21\x51\x1f\x44\x04\x58\x08\x77\x6b\x36\xcc\x76\x06\x91\x2b\x7b\xfc\x6f\x82\x6a\x8a\x80\x0b\xa1\x47\x3d\xcc\xb6\x81\x48\x1d\xa9\xe9\x49\x32\x20\x63\x05\x9b\x98\xa9\xd1\xfb\x4b\xe3\xca\x02\xb9\xb4\x71\x6c\x38\x92\x87\x2b\xc7\x30\x00\x4e\x6a\x14\x65\x32\x8d\xcc\xf3\xa1\x6e\x1a\x91\xc2\xd9\xb0\x2c\x67\x75\x55\x75\xac\x50\xd3\x1d\x76\x96\x84\x79\x2d\xdb\x83\x5b\xdb\xeb\x0b\x74\xe5\x53\x3f\x28\x12\x61\xb7\xac\xea\x14\x80\x71\x0b\x4c\x6c\xc7\x73\xbc\x51\x62\x00\x92\x22\xc7\xde\x6c\x18\x31\x2a\x14\x72\x2e\x31\x10\x5c\xb4\x1b\x7d\x05\x3c\xdd\xcc\x85\xd8\xf7\xbd\x60\x36\x01\x5f\x09\xb4\x58\x5c\x00\xd6\x09\x1a\x3e\xda\x60\x85\xbe\xb5\x9c\x0c\xb2\x37\x1b\xb2\xab\xff\x6c\x48\x27\x0b\x4d\x40\x35\xf5\x03\xda\x02\xb7\x2d\x65\x07\xe3\x36\xd6\xbc\xa1\x3d\x2d\x5a\x68\x5c\x25\xfe\x42\x6d\xdf\x0a\x64\xce\x24\x14\x0c\x03\x17\x9d\xea\xc9\xa4\x17\xf4\xc0\x4f\x68\x03\xb3\x55\x46\x20\x4c\xe9\x32\x34\x96\xe1\x25\xda\xfa\xa3\x5a\x7b\xef\xa2\x13\x20\x7e\xd6\x4a\x9e\x30\xf8\x19\xdd\xc8\xd8\x69\x83\x9f\xd1\xad\x9f\x9d\x3c\xf8\x59\x45\x4f\x9c\x42\xf8\xd9\x5a\x2e\x41\x68\x0c\xc0\x0c\x4d\x12\x9d\x4a\x05\x0a\x8c\x69\x46\xfb\x94\x24\x5a\x86\x02\x02\xca\x31\x9a\x70\x00\x18\x61\x18\x51\x08\x31\xe8\xb3\x16\xf7\x8c\x1d\xbd\x06\xf7\x8c\x1d\xc3\x26\xf7\x8c\x1d\xc9\x15\xee\xd9\x1a\x3b\xa6\x33\x27\x9b\x58\xfd\xc3\x1a\x5b\x74\x9e\x9b\x79\xc5\x8c\xa8\x58\x65\x39\x68\x3f\x95\x89\x58\xee\x70\xff\x1a\x3e\x34\x43\xae\x34\x7f\x2b\x54\x0c\x64\x3d\xbf\x84\xc0\xa9\x6d\x2f\xba\xc6\xd4\x12\xae\x12\xf0\xd1\x5a\xd7\x74\x35\x72\x93\xa0\x5b\x45\x34\xd5\x62\x7b\x75\x37\x6c\x06\x87\x20\xb4\x57\x57\x99\x2b\x90\x46\xea\xbf\xd4\xf4\xc8\xe1\x82\x3c\x31\x9f\x33\xd1\x38\xe1\x10\xcb\x43\xe8\x4f\xd0\xfe\xd7\xc0\x09\xea\xe3\xac\x11\x29\x9f\xa8\xe2\x5a\x45\x5f\xab\xe8\x95\x8d\x0d\x0d\x5d\x6a\x96\xad\xdc\xf2\xef\xf8\x9a\x51\x5c\x33\x6a\x2c\x8f\xbd\xf9\x88\x05\x7d\xd5\xb3\x5e\x3d\x2f\xaa\x25\xf3\x7b\x9c\xc0\x26\xb4\x2f\xde\x18\x9b\x46\xd5\xd4\x74\xef\xd1\x82\x3a\x36\x52\x3e\x54\x8a\xa2\x86\x3d\xad\xe8\x17\x03\x81\x3d\x3b\x17\xa0\x8c\x73\xf2\xa8\x12\xdf\xe0\x38\x85\x11\xf5\x9a\xd0\x2b\x5a\x71\xad\x52\x5b\xb2\xb9\x0c\xec\xd9\x54\xa9\x92\x6a\x7f\xa8\x08\x0b\x60\x07\x89\x6a\x66\xda\x89\xa6\x46\xab\xbe\x87\xc6\x92\xe0\x15\xac\xae\xaa\x9e\xb5\x56\xd1\xcd\xf8\xd1\xa6\x57\xb4\x8c\xea\x7a\xf2\x81\x59\xad\x24\x1f\x54\xaa\x5e\xd1\x5a\x43\xf7\xc7\xb5\xca\xb2\x64\x4c\x10\x8d\xf8\xf2\x54\xf1\xf7\xc8\xd5\x28\xe5\x76\xc9\x8c\xab\x00\x84\x3e\x54\x15\x7a\x07\x2b\xe0\x2e\x16\xf0\x78\x60\xc3\x2d\x3c\xe2\x3a\xd0\x9e\x98\x58\x33\x9a\xc7\x19\x1b\xf3\xcc\x72\x8b\x8c\x72\x32\x42\x80\xf4\x05\x31\xe6\x46\x29\xb7\xc8\x9c\x80\x6b\x2b\x99\xa2\xf1\x29\xad\x6a\xb5\x44\x0c\x5f\xbe\x14\x6a\x91\x09\x47\xf9\xe7\x88\xb9\x00\xd9\xc7\xbd\xd9\x30\x92\x21\xa7\xc1\x94\xfb\xb6\xeb\x92\x88\x15\xe9\xf7\x5a\xe6\x09\xe1\x79\x2d\x46\xad\x54\xd3\x96\x05\x05\x2f\x10\x5f\x6b\x01\x6a\x03\x85\x39\x13\x58\x18\x38\xc4\xb7\x08\xc7\x1c\x2e\x84\xd7\xa0\x10\xa0\xc2\x2b\x4a\x96\xcc\x84\x5a\x22\x51\x19\xb9\x5c\x5a\x96\xf8\xf2\xb9\xc9\xd1\x9a\x9a\x14\x55\x41\x06\x7a\x6c\x72\x24\x12\x9e\xa5\x4c\x92\x24\xb8\xc9\x6a\x67\xee\xe0\xf1\xc8\x67\x20\x05\x20\x8c\x6e\xcd\x3c\xa8\x38\xe4\x62\x7a\x66\xa3\x2b\xb3\xfa\x1d\xcd\xc9\x5f\xb8\xb5\xdd\x19\x28\x0c\x7d\x58\x50\xd8\x14\x2e\x01\x0a\x50\xa9\x16\xbe\x2b\x02\x8d\x2c\x1e\x27\xf0\x4b\x15\xa3\x52\x51\xaa\xdf\x74\xb7\xe5\xd7\x21\xa6\x7f\x09\x7b\x3b\x0d\xe4\xe0\x8c\x1c\x70\x46\x06\xdc\xb7\xc1\x31\x9f\x72\x2e\xd7\x19\x5a\x8b\x8a\x65\x75\x39\xc7\xc4\x16\x6f\x0c\xee\x03\x95\x1c\xd6\x0d\x53\x2b\x0f\x1d\x34\x63\x55\x60\xbd\x59\x11\x23\xfa\xf8\x08\xf0\x5c\x44\x9b\x57\x3d\x54\xb5\xd7\x66\xe5\xa5\x56\x9e\xd8\x53\x54\x47\xf9\xf8\x71\xae\x14\xd1\x91\xf4\x30\xb5\x07\x6a\xb2\x64\x39\xf4\xe9\x6e\x63\x3e\xd7\xf4\x8a\xa6\x51\xe5\x26\x73\x9a\x4a\x08\x14\xc0\x5d\xa1\x05\x46\x3b\xf3\xa9\xfa\xc3\xe5\x2f\xbe\x80\xa7\xab\x1f\xb2\xfd\x4c\x48\x9f\x92\x9b\x14\xfd\x5e\x08\xd1\xaf\x15\x98\xed\xc6\xea\x2a\xbc\x84\xe5\xbd\x77\x57\xe5\xbd\x77\x58\x17\x13\xff\xc4\xda\x1a\x18\xef\x94\xd8\x02\x10\xcd\xe9\xf8\x0e\xa8\x3b\x56\xf6\xc2\x45\xf2\xf5\x31\x6f\xfb\x74\x97\xf8\x4b\xa1\xcf\xfc\x85\x9d\x60\x6a\xa3\xe9\xaf\x34\x1a\xa6\xa2\x3b\xec\xca\x63\xe8\xa6\xa6\x03\x9a\xcc\x36\xba\x14\xaa\xa6\xa6\x55\x4b\x26\xa9\xae\x3a\xd1\x6b\xbc\xf9\xaa\xd8\x2f\x41\xe5\x40\xf8\x51\x32\x34\x49\x2b\xbe\xb8\x15\xbf\x48\x73\xd9\x64\x69\xdd\x68\x37\xc5\xfe\x51\xec\x8e\x88\xf3\xf4\x01\x7c\x43\xae\x85\x6f\x2c\xe5\x97\xca\xea\x6a\xf8\xda\x52\x7e\xad\x64\x7b\xdc\x6e\x2a\x62\x81\x21\xd5\x9f\xa7\xa5\x85\xc5\x10\x21\x2b\x12\x5c\xa0\xbe\x2b\x35\xb4\x51\x6e\x8a\xab\x6e\x8a\x6b\x55\x55\x48\xaf\x7f\x8f\x8f\x90\xaa\xf0\x15\x34\xf4\xec\xab\x56\x45\x9d\x30\x68\x27\x5e\x29\x5f\x09\x9e\x41\xdf\x44\x73\x8b\x25\x84\xbf\x2a\x5a\x61\x15\x5e\x1a\x57\x56\x88\xa1\x17\x28\xf4\x4d\x65\x75\x55\xa9\x2a\x2b\x56\xb8\x19\xd5\x93\x10\x02\xd5\x14\x12\x8e\xbd\xe0\xa6\x5d\x39\x04\x41\xa8\x86\xda\xa6\x68\x2a\x20\x8a\x56\xc5\xc8\xeb\xfc\xb4\x93\xad\xbc\xd0\x71\x69\x64\x14\xb2\x56\xc2\x44\x58\xdf\xd4\xfc\x48\x2d\x15\x6c\x61\x43\x23\x58\xa8\x1f\xe7\x66\xef\xe3\xc7\xc7\x8f\x73\xe3\x85\xf6\x4c\xc3\xab\x0b\xcf\x21\x67\xa8\x3a\xd1\x10\xa9\x0e\xa2\x9a\xa2\xe8\xce\xa5\x79\x85\x77\x88\x6d\x3b\x04\x9a\x8e\x96\x04\xd4\xbe\xa0\xb7\x45\x2b\x24\x7c\x76\x14\x49\xe6\xd2\xb8\x62\x71\x33\x42\xa1\x90\x76\x75\x55\xf5\x2d\x25\xf4\xfd\x82\xeb\x13\x6b\x77\xae\x0e\x02\xbe\x62\xe1\x07\x8e\x37\x00\xf3\xe3\xa1\xaa\xfc\x01\x8e\x33\xec\x5b\x0a\x98\xf4\xc0\x60\x00\x06\x05\x10\xf4\xed\x29\x88\xaa\xf2\x25\x35\x9d\xe1\x59\x42\x58\x13\x1c\x12\xd2\x6c\xda\x3e\x71\xe5\x29\x80\xf9\xd4\x81\x60\x80\x60\x25\x2a\x6a\xba\xbf\xa9\x26\x0c\xea\x73\x86\xa0\x5a\xb0\x7b\x3e\x0c\xa9\xf1\xbe\xaf\x23\xac\xa2\x95\xa3\x92\x5f\x58\xa5\x12\x8f\x71\x18\x75\x78\xc5\xd0\x9e\xb2\xc4\x2b\x42\x09\xf9\x36\x55\x1e\x6e\x31\xa4\x90\xe9\x60\xc4\xbb\x11\x94\x2d\x5d\x6e\xa2\xc1\x22\xa2\x99\x15\x57\x83\xba\xa9\x6d\x56\xaa\xa6\x46\xd0\xca\x70\x27\x74\x36\x67\x94\x65\x44\x26\x87\x4a\x5f\x82\xab\xcb\xf0\xaa\xe6\x6c\x3a\x2b\xf8\x77\xd9\x19\x79\x3e\x04\x9b\x78\xfe\x13\xd7\xd3\x37\xca\x5f\x53\x98\x52\x3c\xa3\x2c\xd8\x4c\x70\x23\x4a\x13\xd5\x76\xbc\x51\xe1\x65\xa9\xe7\x84\x85\x3e\x29\x54\x40\x4c\x4f\xb5\x60\xcc\x95\x62\xc8\x9f\x78\x46\xf2\xc8\xd3\xaa\x0e\x76\x72\x26\xb1\x7f\xf4\x4b\xa8\x87\x57\x34\x54\x68\x46\x3d\xb0\xba\x2a\x68\x18\x0c\x10\x4b\x5f\x54\x68\x7b\x19\xc7\x89\x50\x5b\x16\x1c\xbb\x2e\x2c\x02\x27\x62\xe3\xea\x47\xed\x66\x2a\x15\x87\x1e\x6a\x5f\xd6\x2d\x96\x67\x83\x97\xca\xc4\x69\x50\xd4\x50\xab\x56\x0c\x61\xa1\x6c\x82\x13\x35\x5c\xbe\x27\xdc\xcb\x02\xc2\xad\x70\x48\xbb\x23\xe6\x42\xb7\x77\x1a\x02\xec\x29\x1b\x1a\x47\x59\xd1\x4d\x43\xa3\x61\xc0\xcd\xaa\x4c\x02\x90\xf6\x58\xb7\x42\x3e\x38\xf7\x1a\xa9\x27\x53\x6e\x31\x91\x34\x4f\x09\xa2\xfc\x0c\x37\xcd\xb5\x4a\xf5\xa5\xa1\x25\xdd\x85\xb8\x44\xcd\xe9\x37\x41\x9c\xee\xad\x05\x46\xa8\x57\x58\xa6\x8e\x4d\x9a\xf9\xab\x65\x61\xa3\x9a\xa9\xc8\x27\xba\x52\xc3\x44\xe9\xe7\xd9\xd2\x71\xfa\x9c\x54\xd9\x17\xd9\xb2\x71\x7e\x97\x54\x59\xb3\x52\xe5\x96\x1b\x56\xb2\xa5\xaf\xa7\xc9\x34\x1f\xa9\xfa\x15\x41\x37\x92\xe9\x34\x92\xe5\xd7\x8c\x6c\xf9\x8c\x73\x63\xb2\xca\x7a\xba\x8a\x54\x47\x99\x18\xf3\x75\x39\x81\xa5\xd4\x78\x9e\x26\x5d\x34\xc1\x7a\x76\x7f\x8c\x13\xf0\xb6\x81\x37\x08\xb6\xd8\xaf\x64\x93\x26\x58\xcb\x8a\x37\x28\x27\x94\xd5\x89\x55\xe5\x22\xb1\xf4\x9c\xba\xf7\xfa\x58\xce\x86\x6d\x42\xd4\xe4\x00\x1a\x46\x65\xb9\x46\xb7\x5b\xf5\xbd\x9f\xab\x4d\x33\x33\x8c\x34\xb8\xd9\xf1\x2c\x9c\xce\xc2\x14\x59\x0c\x33\xbd\x70\x33\xb1\xd0\xd2\x35\xd6\xd2\x13\x3e\x1a\x89\x09\x08\x6d\x3c\x08\x3b\xf8\xac\xcf\x54\x7c\x55\x0d\x37\x25\x55\x99\x7b\x59\xdd\x0d\x31\x84\xf3\x6b\x3b\xfc\xc4\x2c\x15\x97\x2c\x6e\xc9\x65\x90\x51\x21\x7d\x89\x32\x96\x42\x78\x15\x45\x93\x75\x54\xd8\x7c\x66\xab\x12\x03\xff\x1a\x90\x32\x6c\xc5\xdd\x27\xbe\x19\xfc\x3a\x7b\x51\xa5\xa4\x5f\x17\x6c\x3c\x89\x94\x51\xe9\xbd\xc7\x58\x7f\x59\x4d\x4b\xac\xa9\x1a\x27\x2a\x81\x86\x53\x95\x14\xca\x6e\xbd\xe9\xe6\x44\xdb\xb6\x1a\xf9\x8d\x2f\xae\xc9\xb7\x49\xd5\x20\x6a\x72\x1b\xaf\x18\xc6\x7a\xb6\xdb\x5b\x89\x18\x13\x71\xbf\xa3\xac\x0b\xdf\x70\xa2\x6e\xef\x34\x0a\xef\xa1\x73\x6b\x87\x80\x3f\x58\xe9\xc9\x4a\xb8\x29\x5e\xb6\xc0\x14\x3f\x0d\xd3\x62\xdf\x77\xda\x8d\xe8\x7b\xa3\xdd\x8c\xbe\x1f\x73\xcf\x3b\xa7\x1b\x15\x8b\xab\x7c\xa9\x7c\x34\x94\x2b\x9e\x65\xe3\x5e\xfd\x7b\xd2\x37\x7f\x45\xb9\x92\xfa\xcb\x46\xb9\x05\x63\x75\x1d\x6e\xa7\x97\x57\x27\x4e\x5a\x1a\x5f\x83\x48\xb5\x30\xaf\xda\xd0\x87\x77\x36\x1c\x9c\xda\xbd\x76\xe8\x4f\x53\x0d\x7a\x0b\x6a\x4e\x76\x01\x18\xa4\xea\xdc\xb2\x2e\x47\x20\xf8\xb7\xc3\xdc\xb7\x30\xaf\xbd\x74\x4e\x4c\x23\xd1\xee\xbf\x2f\xa8\x8a\x55\x40\xa6\xc2\x17\xfb\x0f\x64\xc5\x8c\x44\xb1\xff\x50\x3a\x6e\xff\x91\xf4\xcd\x5f\xe5\x41\x03\xed\x0b\x6a\xda\x62\x4a\x3b\xb6\x2f\xd1\xb6\xa4\x57\x8c\x64\x97\x89\x3c\x47\xd9\x54\x12\x5d\xfd\x8f\x13\x34\xfc\xab\x09\x12\xfe\x41\x0a\x89\xa4\x78\x89\x59\x6e\x72\x6a\x6d\x55\xab\x29\x7f\xa0\xac\x58\x30\x8a\xce\x13\x5d\xbc\x77\xda\x0d\x45\x87\x44\x94\x11\x09\x9b\x25\x52\x8d\x27\x5a\x24\xe4\x11\xfd\x6b\x52\x5a\xfd\xe6\x6f\xb0\x57\x3b\xed\x46\x79\x5b\x3e\xe8\xae\xe3\x81\xec\x24\xfb\xcd\xdf\xe4\xab\xef\x7c\xcd\x9c\x49\xef\x78\x71\x72\xe4\xe4\xaa\xf9\xcd\x7f\xca\x37\xf1\x36\xb7\x09\xb6\x78\x92\x2f\x52\x29\xc6\x55\x2d\x09\xff\xef\xf0\xf0\x0f\x73\xf6\x02\xc2\x93\xbd\x13\x13\xe2\xef\xf2\x50\x8e\x64\xd4\xfe\x2f\xf8\x52\xc7\xb2\x52\x7f\x8f\x2f\xf5\x3e\x99\x02\x3a\x63\xb0\xc3\xe6\x44\xac\x63\x10\xdf\xf0\x13\xd8\xfe\x03\xbe\x85\x8e\x0c\x8f\x7f\xc8\x97\x3a\x97\x95\xfa\x47\x7c\xa9\x0f\xb2\x52\xff\x35\x5f\xaa\x2b\xa7\x72\x52\xc7\xa4\xfc\xc1\xe5\xa6\x59\xab\xf4\x93\xeb\xee\x37\xff\x0d\x07\xec\x52\xb9\x4c\x2d\x35\x01\x8d\x84\xb2\xaf\x7c\x2b\xc3\x0c\x59\x1b\xed\x66\x92\x88\x7f\x92\xc0\xe2\xe3\x47\xf9\x22\xfb\x6f\x13\x25\xaf\x72\xb7\x86\x84\x4e\x4a\x3c\x94\x2a\xd0\xd0\xfa\x47\xf5\x56\xac\x30\xde\x4d\xa8\xa5\x12\xf1\xeb\x51\x9f\xfd\x4a\xfd\x38\x28\x6a\x35\xb5\xfc\xbd\xf6\x8b\x67\x5a\x0d\x6e\xaa\x51\x11\x0b\x5e\x56\xae\xd2\xa2\xde\x63\xbc\xcd\x5c\x9a\x57\x3a\xd0\xb4\x6a\x4a\x98\x40\x75\x2a\xc7\xed\x86\x28\xfc\x02\x83\xab\x69\x4f\x4f\x39\x53\x34\x41\xbe\xff\x2e\x41\x94\x5f\x2d\x1e\xc4\x6f\x99\xe8\xff\x98\x9f\x76\x9f\x7e\xde\x16\x30\xde\x85\x0c\xde\x18\x84\x48\xa2\x99\xdc\xec\xbf\x85\xb3\x0a\xa8\x04\xad\x5a\xd8\x69\x37\x0a\xc6\xbc\x62\x14\x94\x62\x28\x3b\xc3\x9e\x78\x3c\xff\x70\x31\x9e\xca\x4b\x1c\x4c\x2e\x81\x66\xfa\x8e\x3d\x74\x5c\x57\x55\x76\xa4\xe7\x66\xa2\xcd\x3f\xfa\x56\xda\xb0\x35\x20\x50\x6c\x51\xef\x07\xe5\x99\x42\x4f\xc1\x44\xcd\x84\x7e\x23\x85\x1a\x33\x69\x08\xa9\x35\xc3\x2f\xa9\x5e\x8d\x53\x33\xaa\xb1\x2a\x30\xa1\x5d\xdf\x13\x15\x25\xba\xb9\x44\xb9\x67\x4a\x95\x35\x92\xee\x13\x6d\x74\x8f\xea\xe8\xdf\xd2\xcf\xa6\x14\x32\x53\x22\x7e\x2b\x47\x4e\xa4\x75\x68\x9e\xfc\x51\xe1\x59\xc1\xa6\xb3\x5c\x22\xb3\xfb\xe9\x4d\x2c\x68\x60\x89\xd9\xa2\x26\xf6\x03\x2d\xf1\xeb\xfb\xc4\xaf\x62\xe2\x57\x29\xf1\xab\x9c\xf8\xf5\x2c\x31\x03\xf5\x50\x3a\x07\xb3\xcc\x98\x33\x24\x92\x65\xa8\x45\x7e\x14\x42\x46\x91\xce\x38\x04\x50\x4d\xe4\x47\x14\x9a\x45\x41\xad\x16\x59\x98\x3a\x9b\x8a\x1a\x6b\xa0\xf6\x0c\xcb\xa9\x2a\x1a\x7a\xf0\xf8\xa8\x94\xb8\x17\x26\x7a\xf1\x3d\x7d\x51\xe6\x5e\x54\xd0\x8b\xa2\xb2\x82\x16\x82\xf2\x0c\x7d\x32\x19\xc1\xde\x9a\xe5\x2c\x16\x87\xba\xfe\x28\xd6\x96\x47\xe8\x16\x02\x10\x12\xad\xf9\x77\xc5\xb0\xf8\x1d\xd6\x94\x4b\x45\xf1\xfc\x08\x3e\x17\x9c\x7f\xe8\xf9\x8b\x2c\xa7\x9f\xbd\x22\x73\x70\x5e\xe6\x97\x8f\xae\xb7\x5c\x95\x57\x92\xa6\x15\x2b\xef\x22\x23\x92\xca\x1e\x80\xfb\xa9\x3d\xa0\x01\x02\x18\x94\x37\xdf\x0a\xc5\x8c\xa1\x94\x77\x85\x28\x96\xfb\x19\xc8\x54\x39\xab\xa7\xd9\x4f\xfc\x94\x03\xe8\xc6\x27\xdb\x44\x0c\x3b\x6b\x9f\x8d\xaf\x3d\x15\x85\x83\xe2\x8b\xcb\xac\x29\x3c\x01\x1e\x45\xb7\xb5\x56\xa6\xd8\x93\xac\x58\x25\x51\xec\xd7\xb2\x62\xd1\x15\xf1\xb8\xdd\x40\x5c\x8a\xd4\x91\x85\x08\xbe\xbd\x81\x7f\x77\xea\x84\x2e\xe0\x18\x10\x0e\x40\x85\x4e\x0a\x02\x2c\x7e\xbe\x7e\x25\x71\x51\x8a\x39\x28\x1a\xcd\xbe\x86\xdd\xfa\x23\x09\x3f\xd3\x78\x3d\xab\x68\xcc\x47\x34\xdf\xa0\x96\xf3\x30\xd4\x03\xeb\xf2\x8a\x3a\x3d\xc1\x5a\xb1\xe8\x31\x87\xa7\x18\xfa\x65\xe5\x7b\xef\x4a\xd3\x5d\x0b\x7f\x2b\x9a\x57\x35\xfb\x8d\xe5\xc7\xba\x4c\x65\x53\x59\xb1\xdc\x4d\xd5\x8d\x9d\x23\xe7\xa6\x79\xea\x37\xda\x6d\xd5\xd5\xb0\x86\xf1\xd2\xbe\xb2\x5c\xad\xca\x17\x81\xa3\xde\xa9\xff\xc1\x34\xf1\x4b\x54\x2a\x20\xba\x6a\xbb\xa8\xd4\x94\xa2\xab\x69\x4f\x41\x32\x55\xb9\x94\x15\xbf\x5a\xaf\x29\xc5\x80\x5a\x60\xd4\x14\xad\xa8\xfc\x15\x85\xa7\xf7\xab\x24\x5d\xa3\x7c\xfd\x5f\x7a\xfe\xe0\xbe\x1a\x11\xf7\x89\xaf\x63\xa6\x46\x59\x3e\x10\x98\x29\x60\x9b\x75\x96\x00\x21\x31\xc8\x54\x35\xad\x06\x05\x8a\x81\xd8\xf3\x14\x3b\x39\xe2\x88\xbd\x4c\xc9\x6b\x90\xc8\xec\x94\x33\x0e\xe3\x0e\x72\x68\x9a\x57\x09\x3d\x1c\xc0\x9c\x6e\xe2\xfd\xef\xa5\x1b\x5b\x49\x5f\x4d\x15\x26\xb0\xd8\x58\x40\x4c\x7a\x2f\x68\xc4\x69\x5f\x2d\xb5\xac\x3d\x73\x28\x52\x8c\x75\xb9\x34\x59\xfa\x06\x53\x91\x29\x4d\x70\x6d\x35\x27\xdb\x6d\x82\x2f\xaa\x7c\x1b\x9c\x28\x27\xad\x90\x07\xfa\x5a\xa4\x70\x32\x5f\x92\xa9\x3b\xc9\xc8\xf0\x61\xbd\x61\x00\xd0\x1d\xa7\xb0\x61\x20\x8e\x26\x20\x06\x91\x82\xbd\x65\xa3\xb2\x14\xa9\x7f\x75\xd9\x9f\x06\x86\x59\x59\x5b\xdf\x78\xfe\xe2\xea\x7b\x7c\x17\x7b\x96\x9c\x03\x34\x09\x89\x1d\xfa\x3d\x42\xfa\xec\xc0\x8b\xd3\xc9\x90\xdb\x1b\xb1\x9e\x83\xc9\xe9\xf8\xe2\xc5\x0b\x01\x7a\xb1\x4d\x6f\x66\x5a\x26\x92\x76\x90\x65\x4b\xac\x6f\xa1\xee\xd4\x54\x61\xc7\x7e\x55\xbb\x2a\xd6\x54\xf4\xf1\xbd\xa6\xd6\xd4\xcb\x8f\xc1\xc7\xf6\xd5\xf7\x9a\xb6\xf9\x8b\x67\x78\x2f\x82\x16\xea\x8d\xee\x58\xe1\xe5\xda\x95\xa6\xc7\xbb\x01\x4e\x4d\x5d\x85\x3a\xde\x15\x9c\xa7\xf4\xd8\x8a\x99\xcc\x19\x9c\xdf\x86\x85\x89\x3f\x98\xb9\x20\x35\x28\xb1\x98\xf8\x52\xf9\xa5\x92\x77\x68\x38\x58\xb3\xdc\x9e\xda\x7d\x74\x62\x38\x36\x1c\x61\xb3\x29\x2d\x86\x50\xae\xe7\x54\x27\xb3\xe9\x6c\x2a\xab\xbb\xb5\xb0\x2e\x16\x6f\x49\x6a\x37\x16\xd6\xc6\xe1\xed\x65\xd5\xb7\x17\x56\xc7\x12\x69\x49\xed\x9d\xaf\x47\x3d\xab\xd3\x90\x08\x85\xdb\xcd\xf2\xee\xd7\x52\xf5\x6b\x80\xef\xe5\xb3\x09\x89\x8a\x5c\x1b\x25\x93\x07\xf2\x76\x19\x20\x2c\xd8\x71\x12\x8c\x4e\x7f\x99\x19\xa0\x4d\xe1\x16\x11\x55\xad\x91\x50\xd4\xc4\x12\x3f\xd4\xcd\x74\xa7\xd3\x69\x55\x6a\x71\xa0\x4a\xa3\x06\x5f\x87\x35\x58\x2c\x6a\xcb\x29\x11\xda\xcd\xf2\xbe\x15\x2f\x93\xcd\xfd\xcc\xbd\x28\x25\x43\x42\x9b\x90\xb1\x62\xc1\x4d\xd3\xb2\x60\x4a\x4d\x09\xa0\x1d\x80\x7a\xcf\x47\x6c\x7b\xb5\x92\x7d\x4f\x95\x57\xd5\xb5\xd8\xf6\x39\xf3\x4e\x00\x71\x0b\xb8\xfe\x5d\x02\xe5\x03\x1e\xe5\x83\x9f\x8c\xf2\xa9\x8f\x97\x00\xc1\x39\x8d\x18\x2e\xf1\xce\xf1\x80\x18\xb9\x53\x9f\xac\x3e\x1e\xbd\x77\x0b\xb7\x1a\x04\x2f\x90\xad\xb9\xc3\x9c\xea\x24\x64\x73\x6e\xf5\xf7\x0b\xab\xa3\x8b\xac\xb4\x7a\x3b\xa7\xfa\x2d\xb5\x74\x90\x6f\x75\xa7\x29\xb9\x0e\xe7\x43\xf9\xda\x32\xd3\xb4\x65\xf0\x72\xb6\xbf\x4b\xe5\xcd\xa9\x50\x7e\xda\x6e\x96\x3f\xe4\xa0\x9a\x18\x1c\x09\xb2\xdd\xdf\xfb\x32\xec\xd9\xfd\xb1\x64\x1d\x5e\x2a\x3f\x44\x5a\x23\xb4\x79\xc5\x68\xda\x5f\xb1\x8f\x2d\x50\x70\x14\x25\x94\xe8\x89\x09\xdc\x17\x8c\xe6\xa5\x71\x85\x97\x53\xf4\x2b\xed\xd4\xb4\x48\x50\x8f\xc7\xb4\x9f\x7f\x1e\xa7\x41\xbc\x31\x6a\x95\x8d\xe7\x35\x23\x01\xa6\x2c\x48\x4a\x9a\x50\x88\xd3\x4c\x9c\x84\x04\x2d\xff\x4e\xbe\xcb\x0f\x63\xc2\xbf\x8d\x9f\x8e\x96\xe9\xfe\x26\x8e\x38\x12\xbd\x12\xec\x6a\x75\xd7\xa5\xe3\x1d\x64\xf6\x10\x92\x2f\x87\xbc\xad\xd3\xc1\x52\x57\x12\xb8\x5d\x4b\x2e\xa5\x46\x2d\x7c\x9d\x58\x60\xb5\x90\xcd\x37\xce\xb2\x8e\x31\x75\xe1\x15\x67\xf6\x48\x36\xce\xeb\xb4\xba\x61\x49\xd0\xd4\xea\x4d\x06\xb9\xec\xf0\xbb\xb3\x23\x5b\xbc\xee\xcf\xd6\x2d\x33\xd9\x2d\xf7\xe7\xeb\x56\x62\x1c\x26\x32\xdd\x4c\xc8\x47\x54\xe1\xf6\xbb\xb0\x58\x79\x7c\xdc\x88\xa6\x4a\x58\x34\xaf\x36\xbd\x99\xeb\x56\xe9\x34\x0c\x8b\x15\xdd\xd0\x9e\x22\x48\x30\x07\xd2\xc6\xe3\x63\x45\x00\x09\x47\x3f\x52\x8a\x09\x80\x45\xa5\xa0\x73\x8f\xd6\xb2\x8f\xd6\xf1\x23\x4d\x79\xe2\x84\x92\x79\xf2\x0a\x12\x8c\x88\x43\x28\x26\xaa\x6f\x19\x35\x3f\x45\x54\xbf\x58\x64\x71\xa0\x68\x93\xbe\x6e\x60\x20\xc1\xeb\x35\x43\x33\x2c\x2b\xd8\x74\x98\xd8\xaa\x6a\x92\x9f\x24\x26\xa8\x81\x8e\x60\xf4\x93\xc5\x16\x44\xbc\x02\xfa\xcd\xe2\x82\x1a\xd5\x75\xf2\x80\x8f\xf4\x57\xdd\xa0\x30\x48\xb4\x50\xa3\xfa\x82\x56\x62\x71\x40\x8d\xea\xcb\xe8\x09\x8b\x04\x6a\x54\x5f\x91\x67\xe9\xd8\x7f\xd5\x0a\xc6\x41\x75\xa2\x38\xa5\x11\x3a\xa6\x56\xad\xa4\x10\x32\xab\x95\x2c\x46\x66\xb5\x92\x44\xc9\xac\x56\xd2\x38\x99\xd5\x4a\x16\x29\xb3\x5a\x41\x58\xe1\xa8\x80\xe9\xd8\xa6\x24\x67\x58\x01\x93\x71\xc3\xd0\x08\x39\x5f\x6a\x4e\x36\xee\x67\x50\x5a\x33\xa2\xc2\x6b\xa8\x15\x54\x9a\xa6\x86\xf4\x2c\xa8\xfa\x9a\x26\xaa\xe7\xb0\x78\x59\x3a\xff\xd2\xf2\x74\xbf\x68\x6d\x44\x19\xcb\x88\xf7\xbb\x6a\x5b\x38\x07\x91\x46\x2e\x69\xce\x50\xf5\x8b\x56\x45\xb7\xdf\x30\xd9\x05\x8b\x76\x4a\x67\x4c\xdf\xf7\x42\xc7\x9b\x81\x9a\xa0\x5d\xfb\x29\x42\xf6\x15\x46\x56\x86\x1a\x0d\xd4\xc5\x11\x62\x1d\x11\x20\x13\xcf\x34\x28\xad\xc7\x04\x58\xc7\x04\xf8\x42\x5c\x46\x51\xdf\x6b\x11\x31\x3c\x51\x65\x9e\x0a\x5c\xc0\x30\x9e\x0a\x44\x40\x17\x72\xb0\x2c\xcb\xfe\x06\x4a\x64\xda\xb6\x9f\x28\x29\x64\x68\x25\x28\x10\xbc\xb1\x5e\x19\xab\xab\xc1\x6b\xeb\xd5\x8b\x4d\xe1\x3c\x78\x65\x14\x5f\x56\x83\x37\x96\x69\x90\x72\xa6\xf1\x02\xcf\x2d\x01\xc5\x4c\xc3\x28\xbe\xd4\x9e\x1c\x3e\x5a\x60\x96\x9d\x48\x8b\xcb\xd2\x17\xb2\x51\x56\x14\xa5\x69\xac\x4f\x49\x49\x35\x61\x04\x26\xb2\xf3\xc1\x4b\x7b\x64\x6f\x70\xe7\xac\x96\xcf\x2f\x18\x9e\x12\xaf\x96\xe7\x7c\x3d\xde\x47\x34\xcb\x26\x21\x1e\x41\x2b\x9a\xcc\x59\x34\x87\x8f\x32\x6b\x0b\x38\x16\x9c\x89\xa9\xa6\x14\x61\x51\x69\x29\x49\x59\xc4\x1b\x4f\xd2\xe7\x4b\x65\xd3\x4b\x1d\x5e\x7f\x59\xf0\xc7\xc4\x34\xf9\x21\xd8\x5c\xc8\xf5\x99\x9e\xa2\xe1\x8d\x70\xf9\x3a\x15\x52\xe7\xf9\x57\xb5\x53\xa9\x99\x35\xa3\x86\xc6\xbc\xba\x91\xc7\x8c\x65\xab\x6e\x18\x5e\x8a\x2f\x9d\x4a\x87\x66\x65\x2a\x50\x4e\x88\x35\x32\x81\x3f\x0c\x5b\xe9\xb9\x5e\xfe\xc5\x54\x36\xe8\xbf\x90\xb6\xfa\x9d\x32\xfd\x4e\xb2\x3e\x6e\x24\xd0\x0a\x37\x4a\xae\x04\xb2\x66\x60\x7d\xa1\x69\x59\xcc\x2c\xf5\x9b\xe4\xa5\x32\x41\x0c\x31\xb1\xc7\xc9\x48\x2b\xbf\xdb\x26\x4c\x0d\x4b\x12\xbe\xb1\x89\x58\x84\xbc\x44\x4f\xd6\x7f\xf7\xcd\xa0\xde\x6c\x7c\x3b\xc1\x76\xea\x87\xcb\x74\xe4\xf9\xef\xb4\x05\x33\x63\x1d\xc4\xa4\xb4\x04\x52\x01\x47\xa1\xac\x62\xd3\x94\x27\x7e\x92\xdf\xc8\x26\x39\x94\xce\x64\xb4\xc7\xa1\xdd\x81\xd3\x92\x19\x57\xba\x69\x68\x25\x93\xc4\x80\x72\xb0\x98\x99\x7f\x6f\xf2\xef\x6b\x99\xae\xa4\x9c\x5e\xa0\xee\x48\xfb\x1b\xc9\xfb\x0c\x3d\x75\xa7\x82\xb2\xe3\xec\x17\x50\xfc\x3c\x58\x5e\x05\x4e\x5a\x08\x64\x2d\x84\x92\x86\xc5\xcf\x2f\x95\x37\xa1\x74\xaf\x2b\xc8\x5e\x95\x67\x5f\xa5\x81\x27\xc0\x66\x52\x9a\xdc\x4a\xda\xff\xee\x4e\x56\x65\x2e\xa9\xf1\xfd\x5c\xda\x88\xb8\x4a\xf9\x21\x7d\xce\xae\x24\xef\x38\xaf\x4d\x2d\xbb\x77\x3a\x43\x15\x6d\x9f\x34\x17\x3a\x5f\xba\x42\xad\x41\x6a\x8b\xb5\xbf\x51\x5e\x0f\x0a\xd7\xbc\xa2\xc7\x2b\x36\x5c\xca\xf2\x5c\x72\x00\xd8\x95\x21\xc1\x5b\x7c\xf7\x20\xa5\xc3\x83\x8c\xd8\x5f\xa4\xf3\xe0\xbb\x47\xf9\xab\x27\xf9\xab\x5f\xa7\x5e\x25\x62\x58\x0e\x99\xfa\x94\x8f\x4a\x28\x0e\x94\x17\xf4\xa1\x83\x93\x00\xb2\x00\x59\x7b\xef\xb8\xe8\x80\x23\x77\x62\x4f\xb7\xec\x00\x7c\xe2\xc3\x52\xc7\x31\x0c\x78\xf8\xa9\x90\xd4\xd9\x5c\xf1\x29\x88\xab\xab\x2b\xc9\x18\xe6\xac\x65\x3e\x65\x1e\x2e\xfe\x89\xd8\xf9\x24\x9f\x43\x40\xb3\x3f\x91\x22\x16\xd8\xa4\x01\x12\xec\x20\x70\x46\x9e\xfa\xe5\x29\xdd\x05\x1d\x50\xc9\x50\xfc\x88\xc6\x4a\xe7\x43\x2b\x70\x30\x97\x0a\x93\x90\x76\x1a\xd5\x6a\x31\x82\x7c\x58\x04\x05\xb1\x7b\x51\x04\x85\xa2\x72\xa5\xe8\xca\x88\x0b\xd3\x84\xda\x01\x51\xce\xd2\x18\x86\x0e\xac\x37\x1c\x4e\x44\xfb\x9d\x4b\x7d\x71\x94\x2a\x52\x7d\x85\xda\xe2\xf3\xc3\xf0\x15\xe3\x0a\xc2\xe3\x5b\x00\xa1\x33\x10\x65\x39\x22\x20\xc0\x02\x18\xb9\x29\x5e\x52\xd5\xd4\xf4\x24\x4d\x0f\xa9\x96\xc8\x5b\x20\xef\x62\x12\xf5\xc4\x18\xeb\x40\x80\x6f\xf6\xc4\x98\xd8\xd3\xe0\x93\x95\x2d\x58\xa6\xf7\xb8\x38\xec\x27\x2a\x49\x97\x4c\x54\x51\xd4\x04\x47\x13\x62\x9f\x26\x0d\xd9\x82\x41\x94\xaf\xed\xe0\xf8\xce\x7b\x0f\xfd\x29\x80\xe1\xbd\x0a\x68\x88\x00\xfc\xf2\x12\x5c\x55\x89\x69\xdb\x82\x96\xec\xc1\x40\xb2\x15\x90\x0e\x5a\x56\xb2\x0f\x51\x8a\x6f\xfc\x56\xbc\xc2\xa2\xc2\x4c\x75\xc8\x50\x8a\x6d\x8e\x25\xd8\x88\x67\x2a\xae\xbe\x62\x2d\x20\x76\x12\xb3\xfc\xb2\xa2\x29\x19\x2c\x3d\xaf\x7f\x16\xca\x24\x13\x15\x25\x33\x60\x53\xf3\xc4\x90\x33\x4f\x84\x9b\x1c\xf4\xcb\xf0\xca\x82\xc9\x08\x81\xec\x79\x72\x5e\xe3\x50\xea\x74\x93\x23\x23\xad\x86\xba\x78\x65\x29\xb3\x00\x40\xc4\x25\xea\xa4\xd2\x93\x90\x44\x1c\x0d\x63\x6f\x2f\x59\x89\x4b\xe3\x4a\xb2\x8c\x95\x11\xb4\xa7\xd7\x4e\x5f\xd1\xbf\x28\x3f\x28\x55\xe5\xb7\xff\xf0\x6f\x29\xba\x5d\x55\x7e\xfb\x0f\xfe\x2b\x45\xef\x55\x95\xdf\xfe\xbd\x3f\x56\xf4\x3e\xfa\xfc\xdb\x8a\x3e\x40\x9f\x7f\x47\xd1\x01\xfa\xfc\xcf\x14\x7d\x58\x55\x7e\xf3\x2f\x15\x7d\x54\x55\x7e\xf3\xaf\x14\xfd\x1a\x3d\xfd\x53\x45\x77\xd0\xe7\x7f\xae\xe8\x9f\xab\xca\x6f\xff\xfe\x3f\x52\xf4\x31\xfa\xfc\x7b\x8a\xee\xa2\xcf\xbf\xad\xe8\x13\xf4\xf9\xf7\x15\xdd\x43\x9f\x7f\xa1\xe8\x7e\x55\xf9\xed\xdf\xfd\x3f\x15\x7d\x8a\x3e\xff\x8d\xa2\xdf\xa0\xe7\x7f\x5d\xd1\x21\xfa\xfd\x17\x8a\x1e\xa0\xcf\x7f\xab\xe8\x21\x7a\xfe\x27\x8a\x3e\x43\x9f\x7f\xaa\xe8\xb7\xe8\xf3\xcf\x15\xfd\x0e\x7d\xfe\x0b\x45\x9f\xa3\xcf\xff\x44\xd1\xef\xab\xca\x6f\xff\xf8\x4f\x15\xfd\x01\x7d\xfe\x53\x45\x57\xbe\x28\x55\xe5\xff\xfd\xeb\x8a\xae\x3c\xa2\x0e\xfe\xf1\x3f\x51\x74\xe5\x49\xa9\x2a\xbf\xf9\x1f\x15\x5d\xf9\x35\xfa\xf2\xbf\x29\x4f\x82\x53\x39\x41\xc1\x72\x5d\x46\xc0\x1e\x74\x42\x27\xb8\x46\x04\xfc\x43\x02\x75\x31\xb0\x2d\x19\xb0\x59\xa0\x10\x57\xf3\x45\x03\xba\x2e\x1d\xd0\xc1\x2c\xec\xf3\xd8\xe8\xca\x2f\xd1\x97\xff\x4b\xd1\x95\x4b\xa5\xaa\xfc\x3f\xff\x5a\xd1\x95\x8f\x1f\xd1\xa3\x7f\xab\xe8\xca\x95\x52\x55\x1e\x29\x8d\x7e\xf3\xcf\x28\x8d\x86\x8c\x42\x7f\xc1\x28\xf4\xe7\x4b\x74\xaa\xb1\x60\xa9\x5f\x6e\x48\x71\x1e\x3a\x9e\x47\x69\x88\x70\xfc\xf1\x6f\x30\x1c\x7f\xfc\x07\x14\xc7\x1f\xff\xa6\xa2\x2b\xbf\x42\x5f\xfe\x44\xd1\xf1\x4c\xfd\xf1\x9f\x53\xb4\x7f\xfc\x53\x8a\xf6\x8f\xff\x2b\xc5\xfb\xc7\x7f\x4a\xf1\xfe\xf1\x2f\x96\xc0\xbb\x25\xc5\x0a\x02\x4f\x40\xca\x1f\xff\x09\x25\x25\x9a\xfb\x14\xcd\x3f\xa3\x68\xfe\xe6\xcf\x18\x52\xff\x9c\x21\xf5\x7f\x30\xa4\xfe\x19\x23\xe6\x3f\x5b\x02\xa9\x93\x7c\xa4\x0a\x7d\xdb\xb3\x07\x8e\xed\x21\xec\x12\x48\xfd\xf8\x3f\x64\x90\xfa\xf1\x7f\x66\xb4\xfb\x5f\x18\xed\xfe\x7c\x31\x9a\x3f\xfe\x9b\x25\xd0\x3c\x90\x6e\x2b\x00\x4e\x62\xec\x30\x59\x64\x23\xfb\x27\xf2\x71\x64\xf3\xef\xc7\x7f\xbc\x04\x2e\x17\x32\x5c\xb0\xb2\x82\x20\x93\x5c\x13\x7f\x26\x1f\x48\x4c\x98\x1f\x18\x61\xbe\x30\x0a\x63\xf4\xfe\x75\x86\x54\xff\x62\x09\xf4\x76\x16\x2d\x8f\xe7\xd2\xe5\xe1\xf9\xf0\x0e\x8c\x1c\xdb\x7b\x36\xb0\xd9\x3a\xf9\x25\xa3\x26\x26\xeb\xdf\x8a\x3a\xf0\x8f\xe4\x0b\xe6\x4f\x59\x4f\xfe\x27\xd6\x93\xff\xfd\x9b\x16\x4c\x57\x86\x67\x30\x8d\xd0\x93\x10\xfa\xbf\x8f\xf0\xfc\x2f\xd9\x8a\xf9\xbf\xd9\xee\xf3\x2f\x19\x56\xff\x8a\x61\xf5\x67\x8b\x91\xb9\x7c\x71\xb5\x80\xae\xe5\xb7\x52\x74\xef\xc0\x80\xa7\xe6\x1f\xe7\x4c\xd2\xdf\xd9\xf6\x43\x6c\xf1\xa5\x18\x3a\x41\xc0\xc8\x89\x67\x62\x72\xad\xff\xf3\xfc\xb5\xfe\x89\xce\xd1\xe4\x92\xcf\x59\x66\x78\xc9\x63\x4d\x05\xd6\x8b\x20\x4e\x45\x25\x39\x15\x9e\xd9\xb3\x81\xe3\x3f\xeb\x01\xd7\x55\x74\x85\xfc\xf0\x47\xa3\x5a\xcf\x0e\xc0\xf3\x75\x45\x57\x4e\x2b\x03\xef\xec\xae\xde\xa8\x47\xff\xb6\xaf\x6f\xce\x37\x0e\xf0\xd7\xc3\xdd\xdb\x9d\xcf\x17\x5b\x6f\x47\xbb\x95\xde\xda\xbe\x63\x7f\x38\x24\x45\x2e\x1a\x2f\xa2\xe2\x6f\xfb\x5b\xe4\x4b\x63\xbd\x7e\xf6\xca\xeb\x9a\x87\x75\xfe\xdf\xba\xed\xce\xda\xa3\x1d\xfc\x1d\x04\xcd\xb5\x9d\xc6\xda\xb3\xcc\xbf\x97\xe3\xed\xc1\xe4\xd5\xfd\xc5\xc4\x7d\x78\x7b\x52\xaf\xd7\x77\xaf\xa7\xfd\xbd\xd1\xec\x74\x6d\xdf\x6b\xee\xcd\xa7\x17\x6e\xf7\xb6\x3f\xd9\x9f\xf6\xef\xb7\xf6\x9b\xdb\xcd\xbb\xc3\xed\xf1\xdd\xd1\x43\x7d\x83\xb4\xb0\xb3\xcb\xea\x1e\x9c\xed\x6f\x77\x46\x3b\xa4\x33\xdb\xbb\x87\xcd\xc3\xf3\xba\xb1\xbf\xd5\xa9\xd7\xeb\x27\xf5\xfa\xd6\x68\xbf\x31\x3e\x1e\x57\xba\xfb\x07\xf6\xf9\x99\xdf\xbe\xde\x98\xec\xb7\x9a\xed\xf6\xc4\x75\x0f\xcf\xee\x9c\xae\x73\xe6\xf4\xcf\x2e\x2e\xd6\xef\xe6\xf3\xeb\xeb\xcf\x9f\xb7\xdf\xee\xed\xed\x1d\x1f\x36\xb7\x5b\xe3\x5d\x54\xbb\xde\xa8\x1f\xd4\x27\xc7\x7e\xb1\xbb\x6f\x07\xeb\x1b\xdd\xf9\xc8\xfb\xec\x1d\x8c\x8e\xcf\xdd\xe3\xe3\x83\xfe\x68\x6b\x7d\xda\x5a\xdf\x1e\xef\xdf\xdd\x9e\x4d\x2e\x2a\xcf\x27\xe1\x41\x17\xf6\x82\xf5\xe9\xfe\xc9\xe8\xe8\xfc\xe4\xac\x5e\xaf\x37\xeb\x27\x3b\xa3\xeb\xeb\x56\xab\xdd\x6e\xec\xed\xee\xee\x1d\x34\x9b\x17\x17\x17\x17\xfe\xe8\xfa\x7a\x3e\xbf\xbf\x6f\xec\x79\xde\xdb\xe6\xc1\xc1\x8d\x33\x1a\x8d\xfc\xfb\xfb\x46\x63\xfb\x74\xfb\xdd\x74\xba\x7f\x74\x7c\x3c\x9b\xf8\xfe\xfa\xfa\xf3\xe7\x8e\x63\x18\x3b\xcd\x77\xef\x7a\xa7\xed\xf6\xf8\x6e\x6e\x76\xba\x9f\x21\x34\xf6\x3e\x7c\x98\x3f\x3c\x7c\xf6\x3c\xef\xed\xfb\xe3\x63\x00\xfa\xfd\x97\xeb\xfb\x27\xe3\xa3\xf3\xfa\x49\x7d\x84\x08\x74\x32\xba\xe8\x76\xb7\xb6\x1a\x0d\xd4\xee\xee\x41\xf3\xc0\xb6\x2f\xfa\xa8\x8d\xe6\xf6\xc9\x78\xf7\xac\x8e\x08\x36\xc2\xb4\xdc\x7a\x3b\x6e\xb5\xf6\x83\xd6\xe9\xbb\xa0\xf5\x70\x64\xb4\x5b\xef\x5f\x3a\xf3\xd6\xce\xc3\x87\xd6\xa1\xd1\x39\xed\xec\x98\x1d\xf4\x6f\xd0\x31\x3f\x0c\x26\x1f\x3e\x0c\x3c\xf4\x67\x76\x27\xcd\x4e\x6f\xf6\xd6\xec\xce\x9a\x9d\x5e\xa5\xd9\x19\xbc\x5a\xef\x5c\xef\x35\xbb\xd1\x5f\xf1\xed\xda\xf0\xd5\x1a\xfa\x33\x46\x47\x7b\x27\x9d\x7a\xa3\xbe\x55\x3f\xa8\x7f\x3e\xee\xf6\x3e\x1f\xd8\x4d\x67\xef\xe6\x9d\x73\x6c\x37\xb7\xaf\x9b\x76\x50\x1f\x6d\x8d\x11\xce\xf5\x46\x7d\x7f\xec\x34\xa7\xe3\x9b\xa3\xfd\xe9\xa4\x7b\x03\x27\x93\x5e\x38\x71\x60\x38\x59\x7b\x17\x38\x0f\xef\x82\xd1\xfd\xce\xf5\xcd\x1d\x1a\xea\x2d\x3c\xbc\xe8\xdf\xc1\xd6\x74\x72\xd3\x15\xff\x4d\xba\x5d\x77\xd2\xf9\xaa\xbf\x93\xbd\xcf\xcd\x83\xd1\x56\xbd\x3e\xda\xaa\xcf\xd7\x76\xfa\xf3\xb5\x9d\x71\xab\xd3\x1c\xcf\xd7\x9a\xc1\xd6\x1d\x19\xd7\x7b\x34\xf3\xeb\x5b\xf5\x33\xe7\x61\xb7\xff\xb9\xf5\xb6\xff\x70\xfa\xb6\xff\xf0\xf0\xb6\xff\x30\x7f\x3b\xd8\x39\xdd\x77\x77\x1e\x8e\x5e\xed\xdc\xbd\x6f\xd4\xcd\xee\x16\x42\x73\x54\x6f\x12\x64\xb7\xea\x87\xad\x87\xdd\x7e\xeb\x61\x1f\xd1\xf9\xcc\x59\x3b\xed\x7f\xee\x7c\xe8\x3f\xac\x7d\xe8\x1b\x6b\x1f\x10\x8d\x3b\x5f\xf3\xef\xe2\x2d\x19\x4b\x44\x8b\xc6\xde\xa0\x3b\xed\xde\x8c\xea\xa3\x87\xf1\xde\x0e\xa1\x39\x69\xf5\xc2\x3f\xb9\xde\xde\xae\xb3\x39\x79\x52\xaf\x37\x9d\xeb\x8d\x46\xc3\x36\xf6\xe1\xc3\xc3\xe9\xf8\x78\x32\x3b\x1f\xdd\xb4\xda\x3d\xe3\xe5\xde\x7e\x67\x3f\xf0\x66\xf6\xe4\x62\xb2\x46\xe6\x55\xef\x70\xbd\xbb\xbe\x31\x7f\x78\x70\xbc\x83\x49\xff\x7c\x34\x19\x34\xec\xfe\xcb\x8d\xfd\xed\xfd\x1b\xd7\xdf\xf7\x4e\x26\xde\xfb\x63\xd0\x3a\xe8\x6d\x3d\xaf\x4c\x8d\xe9\xf4\xe1\xe1\xda\xf3\xbc\xfa\x8b\xbd\xbd\xf3\xbd\x7e\xff\xe5\xc6\xd4\x98\xfa\x6f\x6f\x06\x2e\x86\x77\x3e\x68\xd8\x1b\x37\xce\xc6\xee\x7e\xf8\xf0\xe0\x4f\xce\x26\xf7\xc0\x9c\x75\xda\xbd\xfe\xcb\xf5\x8d\x8d\x8d\x78\x3e\xdf\x74\x9e\xf7\x1f\x82\x9d\x8d\xf5\xee\xfc\xe1\xc1\xf7\xec\x49\x65\xb6\xd1\xe8\x54\xfa\xfd\x97\x2f\x36\xba\xfb\x0f\xb3\x87\x13\xef\x9a\x9b\xf7\xa4\xee\xc8\x6d\x9c\x98\x17\x5b\x75\xbc\xed\xb4\xae\x2b\x5b\x9f\xf7\xbc\x8b\xe6\x68\x78\xb1\xbe\x77\x71\x7d\x72\x3d\x75\xf6\x4e\xdf\x7a\xed\xf7\xdb\xd3\xe3\xd1\x61\x7f\x34\x9d\x6e\x3d\x3f\xfa\x3c\xee\x1e\xdc\x5c\x1c\x9d\x9c\x5d\x8f\xbd\xe9\x87\x76\x83\xee\x1b\xa3\x7a\xbd\xb1\xb3\xb3\xbb\xdf\x6c\x5e\x9c\x9d\x9d\x8d\xa3\xf5\xbb\xb7\x87\xd6\xaf\x0d\xfa\xfd\x91\x7f\x73\x73\xd0\x6e\x3b\x0e\x3c\x38\x78\xf7\xfe\xf0\x30\x08\x82\xe0\xe5\xdd\xfd\xfd\xf3\x87\xed\x87\xcf\x10\x06\x87\x87\x27\x27\x77\x77\xf3\xf0\x68\xff\xe0\xdd\xf6\x87\x4e\x67\x72\x7c\x14\x02\x1b\xf4\x9f\xaf\x6f\xb4\xf7\x66\x6e\x38\xe8\xda\x07\xcf\xcf\xcf\xce\xc6\xfe\x74\xda\xae\x1b\xdd\x2d\xba\x57\x34\xb6\xc6\xe3\x9d\x9d\xbd\x3d\xd6\xee\xf4\xfa\xfe\xde\x99\x78\x7e\xb3\x79\x90\x9e\x4b\x2f\x1b\xa7\xef\x77\x5a\x6b\xad\xd4\xdf\xfb\x97\xad\x79\x6b\xc7\xe9\xb4\x76\x9c\x0f\xad\x43\xc7\x3c\x3d\x7c\x30\x3b\x9d\xdd\xce\x87\xc1\xc4\xec\xba\x6b\x1f\x7a\xe1\x7a\x67\x50\x79\xfb\x61\x68\xae\xad\x0d\xcd\x75\x73\xb8\xbb\xde\x75\xcf\xbb\xd9\xbf\x06\xdd\x57\x71\x63\x3b\xcd\x66\xf3\xe2\x84\xe0\xd4\x6d\x39\x9f\xb7\xdf\xbe\xf5\x9a\x47\xc7\x27\xa3\xc9\x56\x44\x33\x3a\xc3\x5b\x6b\x3b\x67\xf3\x8d\x9d\xfe\x7d\x77\x67\xdc\x7e\xd1\x1c\x9f\x0e\x9a\xc1\xc3\xb0\x69\x9c\x3e\x3b\x34\x8c\xd6\xd1\xee\xd9\x69\xeb\xe8\x6c\xde\x19\x18\xad\x8e\x69\xcc\xbb\xee\xd9\x43\x77\x60\x3c\x74\x5c\xc3\xec\xb8\xe6\x87\xae\x5b\xe9\x75\xdd\xf3\x17\x83\x57\xe7\xbd\xee\xab\xb5\x67\x83\xe4\xdf\xab\x81\x49\xf7\xe6\x51\xfd\xa4\x31\x6a\x3e\x4c\xda\x4d\x67\xd2\x6e\x7e\x9e\x1c\xaf\x1b\x4e\x7b\xab\xd9\xde\x83\xf5\x66\xbd\x8b\x57\x5a\x63\x74\xd0\x7c\xe1\x1c\x37\xd7\x3f\xb7\xbb\xcd\xf1\x79\xb7\x39\x01\xdd\xae\xe7\x74\x6f\xa6\x93\xee\x8b\xe9\x8d\xdd\x3c\x20\x7b\x0f\x5e\x12\x3b\xf4\x3c\x1b\xd9\xcd\x1b\x6f\xd2\xbc\xf1\x9c\x26\xf4\x9c\xe6\xba\xef\x74\xbb\x53\xa7\x7b\x73\x33\xb3\xf7\x83\xfb\x9b\x17\x70\xf6\x35\x7f\xe3\x2d\xff\xbe\xe1\xd7\x4f\xf0\x39\x30\xb8\xdf\xc7\x7f\x9d\xf6\xfe\x4e\xe7\x7e\xbf\xde\x6f\x6e\x77\xc6\xbb\xf5\xc3\x11\x26\xdf\xdd\xf6\x4e\xff\xc4\x6c\x8e\xe7\x2f\x9a\xc1\xe9\xf0\x90\xd2\xeb\xf0\x95\x71\x7a\xf8\xaa\xf3\xa1\xb5\xbb\x7b\x17\x9f\x29\xec\xe0\xbe\xdb\xaf\x1f\xb6\x5f\xec\xf4\x1f\x06\x3b\xe3\xb3\x4e\x33\x34\x3b\x4d\xd3\xec\x34\xc3\x4e\xe7\xe4\xd5\xd7\x6c\x23\xe6\x69\xeb\xc8\x78\x68\x6f\x19\xfb\x0d\x34\x96\x88\x7c\x9f\x4f\x4e\x2e\xba\xd7\x5b\x8d\x83\xfe\x74\xab\xd1\xfb\x6c\x5e\x34\xb6\xdf\x4e\xf6\xeb\xe7\xd7\xc7\x27\xf6\xf5\x7c\xcb\xd9\x99\xce\xeb\x0f\xdb\xdb\xe3\xa3\xa6\xd7\x3e\x39\x69\xf7\x5f\xcd\xf6\x9b\x1b\x77\x77\x0f\x0f\xeb\xbb\x4d\x7f\xf7\xac\x75\x38\x5a\x37\xdc\xa3\xf5\xf5\xd1\x76\xff\x60\xf2\x61\xc7\x73\x8f\xeb\xd7\x68\x7d\xee\xd4\x77\x77\x50\x17\xe6\xf7\xdb\x6f\x77\xf6\xde\xbe\x3b\x6e\xf7\x27\xa3\xd6\xe1\xfa\xbc\xd1\xad\x9c\xdd\x6f\x8f\xbd\x69\xf7\x7d\xbb\xdd\x1e\x87\xee\xf5\xe8\xe1\xa0\x7d\x3e\xd9\x99\xbc\xff\xec\x1d\xbc\x6f\xb7\xfb\x93\xb1\xbb\x75\xfd\xce\x99\x56\xc6\x3b\x93\xe3\x7d\x78\x82\x17\xea\x5b\x34\xef\x1a\xcf\xdf\x9e\x8c\xb7\xce\xb6\x4e\xd0\x02\xd9\x6b\x1e\x9e\x8d\xfc\xe9\x75\xb7\xd5\x7e\x70\xbc\xc9\x78\xf7\xdd\xc1\x21\x38\xeb\x9f\x8d\xfd\x8d\xe9\xc6\xfc\xf4\xe1\xf3\xb8\xf9\xf6\xe2\xf4\xe0\xf0\xc4\x1e\x8c\xe6\xf5\xe9\xb4\x35\x3f\x7d\x70\xbc\xb7\x6f\x9b\xa7\x87\x27\xe0\xbc\x3f\x7a\xb5\xb5\x85\x18\xa1\xe6\x21\x9a\x42\xdb\xf5\x13\x67\x64\x74\x77\xce\xea\x3b\x8d\x7e\x7d\xfd\x6d\x7d\xfc\xb0\x71\x68\xb4\xe7\x27\x6e\x7b\x7e\xb4\xfb\x30\x6f\xb9\xe6\xfc\xe8\xc8\xdc\x38\x33\x1e\x4e\x4f\xcc\xb3\x4e\xab\x73\x3f\x3f\xea\x98\x9d\x56\xa7\x32\xef\x1e\x75\x7a\x17\xee\x69\xeb\xe8\xe8\x74\xd8\x3a\xeb\xb4\x8e\x76\x3b\xad\x4e\xc7\xd8\x40\xcf\x3b\xe1\xc3\x43\xcb\xad\x74\x5a\x9d\xb5\x56\xb7\x63\xf6\xba\x6e\x65\xde\x2d\x76\x36\xba\xe6\xda\xc3\xd1\xd1\x39\x7a\x36\xc0\xe5\x4c\x73\xa3\xfb\xea\xc3\xab\x6e\xf8\xa1\x3b\x8a\xda\x38\x6d\xb5\x48\x1b\x0f\xdd\x8e\xf9\xe2\xc2\x3c\xfb\xd0\xea\x9c\x75\x3a\xee\x79\xa7\xd5\x39\xff\xd0\x75\xcf\x87\x83\x4e\xe7\x55\xf7\x55\x7b\x8e\xca\x1d\x1d\x55\x5a\x9d\x4e\xa7\xd7\xed\x54\x86\x9d\xb0\xd3\xed\xbe\x5a\xff\xd0\xea\x7c\xe8\x0c\xdc\xca\x70\xd0\x39\x6f\x75\x8b\xe7\xaf\xc0\xee\xfa\xb0\xfb\x6a\xbd\x75\x8d\xdb\x35\x5f\x75\x4c\x54\xee\x62\xd0\x75\x2f\x7a\x03\x73\xed\xfe\x7a\x3a\x99\xb8\x37\xfe\x8d\x73\x33\x71\x9c\x9b\x9b\x9b\xc9\x4d\x38\xa9\xdc\xc0\x1b\xb3\xe7\xcf\x9c\x1b\xff\x06\x1e\x04\x13\x70\x03\x6f\x1e\x0e\x82\x9b\x22\x84\x93\x07\x88\xca\xc1\x1b\xe7\x26\x70\xee\x6f\x6e\x9c\x7b\x18\xdc\x3c\xbc\xb8\x71\x1e\x60\x78\xe3\xdc\xcc\x6e\xd6\x0e\x02\xd8\xe8\xc1\x9b\x5b\x18\xce\x5e\xbe\xbb\xbb\x7f\x80\x33\xaf\x71\x03\x6f\x9e\xc3\x60\x46\xca\xcd\x6e\xd6\xe0\xdc\x7b\x0b\x67\x9f\xb7\x5e\x4e\x1d\xef\xdd\xf4\xe6\xf6\x66\x76\x33\x79\x3e\x9b\xbc\x80\x33\xef\xed\x61\x38\x31\xfa\xfe\x73\x78\x73\xeb\xc0\x77\x77\x70\xfb\x20\x98\x3d\x83\x33\xa7\x68\x0c\xda\xbb\xad\xce\x87\x0f\x03\x77\x77\xed\x73\xa7\xd2\xe9\xbe\xaa\x98\xc3\xc1\xc6\x46\xef\xd5\xfa\xf9\x7d\xef\x74\xf6\x0c\x0e\x6f\x0f\xfa\x60\xf6\xdc\xb8\x1d\x6d\x3c\x54\x5e\xf6\x67\xbd\x6e\xf8\xf6\xdd\xd1\x6c\xef\x45\x31\x2c\xbe\xec\x3d\x1c\x3c\xbc\xba\x3e\x6e\x3e\x77\xbb\x1b\x37\x95\x9e\x7d\x73\x03\xbb\xb3\x9b\x9b\xe2\xec\xbe\xe7\xdc\x6e\xc3\xe3\xb0\x71\xd6\xe9\xbc\xfa\xd0\xed\xb8\x6b\x0f\x83\xc1\x79\x6b\x30\x5b\x7b\x00\xc7\xe7\xaf\xc0\x91\x7f\x03\x6f\x66\x0e\x7c\x77\x8b\x70\xf9\xfc\xb6\x3f\x9f\xbc\xec\xcf\x1e\xea\xfd\x0f\x83\xa0\xf2\xd9\xbd\xfd\xe0\xf5\x0e\xc2\xc6\x9a\xf9\xf9\xfe\x7d\x7f\xff\xa1\x72\xdb\x9b\x7b\x6f\x5f\x1c\xcf\xde\x57\x06\xf6\xf1\xed\x76\xdd\x7b\xfb\xf9\x0e\xcd\xe7\x1d\x3c\x9f\x77\x5e\x4e\xeb\x7e\x7b\x07\xd6\xfd\xfa\x7a\xfd\xa4\xbe\xd7\x04\xfd\xb3\xb3\x79\xfd\x66\xde\xde\x32\x76\x76\xdf\xdd\x34\x0f\x5a\x67\x87\x27\x17\xd7\x7d\x63\xe3\x60\xde\xba\x3f\x3b\xdb\x99\xde\x34\xbb\xa7\x67\x07\xc1\xc5\xa8\xd3\xdc\xd8\xbf\xdf\xbf\x3f\xdd\x19\x4f\xfd\x83\xee\x69\xfb\x6c\x04\xae\xa7\x9d\xad\x03\xfb\xf9\xde\x99\xe9\xee\xc3\xc0\xee\x9d\x5d\xcc\x8c\xd1\x74\xab\x7b\x60\xb7\x2b\x67\x86\x3b\xbd\xb9\xe9\xf7\xce\xce\xfd\xbb\xd6\xc5\xbc\x7e\xbf\xf1\xbc\x35\x7e\x18\x8f\xf7\xa7\xbd\x93\xf3\xf6\x64\x1c\xa2\x36\x36\x9e\x37\xc6\xdb\xe3\xfd\x83\xa9\x7d\x72\xd6\x36\xfc\xb0\x13\xcc\xf7\xef\xed\xc6\x67\x63\xbc\xdb\xbc\xb1\x4f\xda\x67\xc6\x64\x1a\xe2\x36\xce\xc7\xbb\xe3\xf0\xe0\xb0\x77\x71\x76\x5e\x59\x9f\x9b\xd7\x73\xd4\xc6\x78\xc7\x0d\xf7\x0f\xfa\x17\x67\x67\x15\x23\x9c\x4f\xfd\xcf\x73\x67\x6b\xfc\x30\xf6\xf6\xbd\xfd\xc3\x36\x6a\xc3\x3d\xda\xb7\x37\xba\xce\x19\x6a\x63\x72\x71\xdc\x6e\x8f\x6f\x42\xb7\xbb\xdf\x7e\xd8\xbf\x3f\xc5\x6d\x5c\x1c\x1f\xb7\xc7\xe3\x69\x38\xdd\x3f\x38\x3d\xd8\x3b\x33\xc7\xd3\x83\xe0\xa2\xd3\x3e\x9f\xdc\xcd\xcd\xe9\xbc\xdd\xdb\x3e\x47\xfd\xd8\x3f\xe8\xdb\xed\xf6\xe4\x2e\x9c\xbb\xd3\xde\xe9\xbb\x8e\xb9\xb3\xeb\xbf\x23\xfd\x98\x84\x61\xa7\x0b\xed\x9b\xb5\xbd\xb3\x9d\x29\xdc\xb7\xcf\x2e\xda\xc6\xcd\x3c\x6c\x75\x61\xef\xf3\xdb\xc9\xde\x78\x3a\x85\xf6\x49\xfb\xdc\x98\x4c\xe7\xad\x6e\xef\xb3\xb3\xb6\x37\x71\x8f\xe0\x91\xdd\x3b\xb7\x27\xeb\xf3\x8d\xeb\x69\xaf\x77\xba\x76\x3e\xf1\x8e\x0e\xe0\xa0\x77\x76\xe6\xa3\x7e\x4c\x3f\xf7\x7a\x6b\x9d\x89\x77\x7b\xdb\x3c\x20\xb4\x72\x8f\xf6\x1d\xdb\x59\xdb\x33\x27\x07\xa1\xdf\x3d\x3d\x6f\x3b\x37\x73\xb7\xbb\x6f\xf7\xb6\xdf\x4e\x2a\xee\xcd\xe1\x71\xf7\xb4\x7d\x31\x9e\x4c\xe7\xdd\xfd\xf6\xe7\x06\x6a\x23\x0c\x66\xb6\x7d\x6e\x4f\xee\xe6\x1b\xd3\x69\xdb\x79\xf1\x61\x52\xf1\x8e\x82\xa3\x61\xef\xec\xfc\xe6\x0e\xb5\x71\xda\x7e\xf1\xe1\xfc\xdc\x3b\x7e\x3f\x1b\x76\xce\xeb\xf5\xed\xfa\xa8\x7e\x58\x3f\x69\xd6\xf7\xbb\xf6\xf6\xc9\x78\xff\xac\x8e\xf7\xbc\x9d\xbd\xe6\x59\xb0\xb1\x6f\xb7\xb6\xee\x1f\xb6\xc7\x37\x8d\xb3\x77\x87\xc7\x6d\x30\xed\x8f\xe7\x8d\x83\xb6\xdb\x79\xd8\xd9\x69\xee\xf7\x3e\x20\x22\x4e\xe7\x83\x8b\x8d\x46\xe3\xdc\xdd\x1d\x07\x37\xef\xfa\x9d\x73\xfb\x7e\x3c\x45\x74\x78\x77\x52\xaf\xfb\x74\xcf\xdb\x1a\x57\xf6\xe7\x27\x3b\x07\xdb\x9d\xf1\x7e\x7d\xe7\x04\x3d\xdb\x6b\xa2\x09\x57\xbf\xe8\x4e\x5b\xce\xb6\xb1\xe5\x8c\x77\xf7\x0e\x4f\x9a\x37\x67\x17\x68\x7e\x4c\x5b\xad\xcf\x68\x3c\xf7\xde\x1e\x1e\x9f\x38\x7e\xf7\xe2\xe5\xc6\xd6\x41\x63\xb2\x73\xb6\xe3\xdf\x1c\x5c\x9c\x9d\xb4\xc7\x63\x77\x7a\x82\x18\x04\xbf\x8f\x0e\xd9\xde\x51\xe3\xec\xff\x63\xef\x4d\x9b\x1c\x45\x96\x45\xc1\xef\xef\x57\x64\xeb\x99\xb5\xa5\x2e\xea\x04\x01\xda\xaa\x6e\xde\x33\xc1\x26\x16\x21\xc4\x2a\x41\xdf\xb6\x63\x08\x10\x20\x56\xb1\x08\x44\x9f\x9a\xdf\x3e\xa6\x25\xf7\xac\xee\xea\xf3\xce\x79\xf3\xc6\x6c\x3e\x54\x09\x22\x3c\xdc\x3d\x3c\x3c\x3c\xdc\x23\xc8\xf0\x35\x71\xf2\x11\x1e\x18\x40\x07\xfa\x39\x4e\x3b\x53\x10\x4d\xd3\x77\x19\xf9\x24\x04\x73\x5a\xa3\xb3\xf4\x60\xd2\xf2\xda\xaf\x2b\xd7\xb5\x54\x7b\xbc\x61\x3a\x26\x3f\x14\x5b\xcd\x94\x41\x58\x05\xae\x79\x52\x4f\x9b\xf9\x90\xc9\x93\xc2\x51\xcd\x75\x58\x02\x20\x75\x00\xc8\x54\xd9\xd0\x5c\xb6\x9c\xcb\x31\xe0\x01\x0b\x68\x60\x66\xad\xb2\xef\xf6\x71\x4a\xcf\x17\xa2\xe4\xf9\xce\x12\xf8\xed\x28\x38\xd1\x54\x58\xcc\x53\x4e\x94\x64\xdf\x37\xce\x3c\x93\xe4\x9c\xee\xa8\xe8\xec\xeb\xc8\x72\x6d\x3a\xc1\x39\x7e\x12\xe6\x14\x4d\x73\x5c\x6e\x69\xaa\x2c\xfb\x41\xc0\xf0\xc2\x58\x25\x69\x9a\xe6\xf2\x7c\x23\xcb\xb2\x1f\x06\x31\xc3\x9d\x97\x8c\xc3\xa5\x73\x0b\x42\xb1\x58\x89\x8c\x6c\xe2\xbc\xde\x91\x80\x8d\x2e\xeb\x9d\xba\x8f\xd8\xcc\x52\xe6\x82\x63\xfa\x31\xcf\xab\x67\x9e\x68\x3a\xe7\x0f\x1b\x4e\x94\xc3\x28\x6f\x0d\x73\x44\x8c\xe7\x7a\xcc\x14\x25\xc7\x6b\x67\xdd\x1e\xba\x01\x21\xd8\x2a\x36\x5f\x47\x4b\xa1\x70\x0c\xd3\x1e\xe3\x41\xee\x5a\x61\x41\x6d\x36\x43\xe6\x20\x56\x9e\x6d\xdb\x48\x76\xd6\xf7\xa2\xdb\x46\x00\x2c\x1b\x86\x68\xc8\x06\xb4\x15\xb3\x0c\x1d\x93\x54\x33\xc4\x22\x75\x10\x01\x07\xf8\x24\x19\x31\x73\xe9\x2c\x63\xdd\xcc\xb2\x76\x34\x6a\x29\x92\x4c\x99\x84\x5d\x49\x82\x6d\x9a\x57\x3f\xfa\xec\xdb\x9d\x7d\x70\x49\x14\x6f\xbe\x75\x9b\x07\x17\xbf\x9c\x7d\xf2\xb7\xf1\xb7\xbe\xfa\x5b\x1f\x3c\x02\x80\xcc\x9b\xf3\xf2\x59\x32\x4c\xe4\xe0\x82\x92\xd1\x67\x3f\x92\x03\x87\xb3\xef\x4a\x30\x6b\x33\x3b\xc7\xda\xfe\x96\xbc\xc5\xda\xa2\x6e\xaa\xd7\xb2\x60\xbf\x7d\x2a\x73\x6c\xf3\xa9\x6c\xff\x5c\x66\x7e\x88\xd3\x7f\xa8\x8c\xa9\x8a\x62\xbb\x59\xaf\x93\xba\x3a\xfb\xdd\xf6\x18\x1d\x0e\xe3\xbc\x28\x64\x02\x1c\x9b\x8c\x05\xab\x29\x3b\x1f\x5e\x47\x8c\x3c\x35\x17\x79\xd1\x00\x07\x80\xd8\x53\x09\x2b\x49\x92\x6c\xba\x01\x67\xe6\x63\x41\xa5\xcf\xaa\x91\xe9\x4b\x41\x52\xfd\x38\x60\x08\x41\x50\xe3\x4e\x8b\x72\x21\xb7\x55\x7d\x1d\x1d\x2c\x67\xc8\xab\x42\xb8\x8e\xe3\xf8\x6c\xa3\x35\x7d\x1d\x65\x17\x9a\xc4\x69\x1d\x0f\x63\xfe\x70\xe6\x43\xf2\xc3\xb8\x5a\x2a\x17\x3e\x50\x9a\xe1\x04\x7b\xb3\x5e\x67\x65\xd5\xc6\x84\xa0\x1e\xd0\x21\x3a\x17\xc4\xa5\x69\xa9\x7a\x72\xa8\x5a\x37\x08\x0b\x6a\x1e\x21\x31\x5f\x2e\xce\xfd\x1a\x9f\x82\x78\x69\xd9\x76\x77\xee\x6b\x59\x09\xdb\xcd\xda\xcc\x4e\xc3\xf3\xf8\xab\x76\x32\x1c\x26\xc2\x62\xe9\x5a\x36\xd9\x50\xfe\x36\x05\xc0\xa7\xc3\xc6\x31\x6d\x23\x5f\xac\x48\xc4\xbb\xe9\x23\x49\x13\x00\x28\xe4\x75\x9c\x45\x59\xf6\xfd\x40\x3f\xeb\xc3\x98\xbc\xe8\x39\xa7\x2b\x82\xe8\x99\x8e\x7b\xdd\x3b\xa0\xf7\x14\x9b\x66\xdc\x15\x2e\xe0\x41\x3b\x0a\x5a\x84\xbe\xc6\x03\xb2\x54\x3b\x4f\x73\x84\xd6\xa3\x22\x65\x59\xf9\x02\x17\x33\x04\x79\x9b\x23\x5c\x66\x2a\xaa\x1a\x46\xee\x19\x4e\xb8\xc0\x65\x39\x7f\x9e\x5f\x7e\x12\xc7\x0c\x2f\x08\xf6\xfa\x06\x27\xab\x6a\x98\xc4\xf1\x05\xdf\x2d\x36\xb2\x64\xf5\x8a\xef\x02\xa7\xeb\x67\xf9\x5b\x8a\x7c\x81\x63\x78\xe1\xcc\xdf\x15\x4e\x51\x55\x3f\x0a\x2e\x63\x62\x5f\xdb\x72\x4f\xf8\x2e\x6d\xf5\xf3\x1c\xa4\x88\x86\x04\x80\x5c\x65\xbc\xb0\x12\xb8\xa4\x41\x70\x87\xa3\xf4\xf9\x9e\x53\x7d\x12\x50\x00\x00\xc7\x0d\x0e\xe3\x53\xba\x3e\x91\x14\x93\x72\xea\x5a\xc5\x55\xd9\x09\x88\x70\x11\x30\x6a\xb8\x8f\xd9\x72\x6d\x70\x73\x47\x37\x87\x96\xdc\xe6\x8a\xa2\xe9\xc9\x31\x4b\xe7\x82\xa8\xeb\x90\x6b\x22\x59\xdb\x8c\x4f\xba\x11\x65\x59\x64\x2e\x54\xe7\x70\x1a\xba\x65\x43\x9c\x9d\x7b\x12\x80\x86\x26\xe9\xce\xd7\x01\xc1\x10\x7b\xee\xcc\x4b\x00\xe4\x1c\x08\x64\xd3\x2c\x41\xbb\x01\x32\x3d\x22\xb8\x13\xe9\x37\x42\x8b\x2b\x1d\x92\x44\x14\x20\x48\xfa\x04\x4e\x4a\xc8\xf8\x22\x1d\x48\x07\xdf\xe6\x43\xc9\x27\xcc\xcd\x9c\xe2\x08\x1c\x88\x7b\x13\x45\xc2\xe6\x98\x89\x25\x60\x36\x6e\x3b\xe4\x38\xd9\x27\xc8\x39\xd7\xca\xb4\x1e\x71\x24\x45\xa3\x23\x1c\xf7\x87\xab\x5a\xa4\x79\x29\x5a\xc7\x94\x7f\x0d\xd0\x70\x00\x00\xeb\x03\x10\xf9\x88\xcf\x85\x82\x2d\x99\xb8\xb4\x6f\x20\x99\xe6\x69\x25\x0a\x04\x8d\x1e\xdd\xf6\x55\x16\x80\xf0\xc1\x14\xf8\xa4\xcc\x84\x5c\xc8\x59\xd9\x78\xdf\x40\x22\xf5\x0c\x06\xe4\xf8\xf5\x9e\x1f\x09\x6e\x04\xc0\x35\x96\x22\x41\xb0\xb2\x50\x57\x03\x40\x36\xa5\xe6\x56\x23\xcd\xf3\x6d\x94\x5d\xc2\x97\xc4\x99\xe0\x94\xe2\x9f\x96\x7b\x71\x3c\xd3\x40\x27\x69\xd1\x04\x77\xd3\x45\xbd\xf5\x9a\x72\x6b\xfb\x89\x15\x2e\x73\xdc\x45\x84\x6d\x49\xb7\xaa\x09\x73\xd8\x46\xd7\x1a\xde\x8f\x3c\xcb\x4d\x87\xac\x89\x77\xd9\x1e\xc3\xe0\xc3\x8c\x62\xaa\x23\xa6\x87\x43\x78\x9f\xb4\x93\x98\xd4\xab\x55\x35\x9c\xc2\xa5\xb9\x9b\x89\x91\x0f\x4a\x30\x57\x08\x17\xf3\xc5\xf9\x0a\x2f\x75\xe8\x40\xae\x4c\xe2\x34\x33\x0a\x80\x99\x07\x3e\x2b\xd7\xd8\x1a\x85\xbd\xdd\x30\x94\xe0\x1a\x73\xfc\xa9\x35\x87\x47\x93\xbd\x0e\xe5\xab\x64\x3b\xa7\x79\xdd\x8f\x76\xa9\xcd\x61\x33\x6a\xbb\x3a\xb4\xae\x6b\xe5\xc1\x56\x54\x12\xd2\x19\x15\x42\x1c\xe9\x62\x74\x6a\xa7\x21\x97\xd5\xfe\xc8\xe5\x8f\x43\xc9\x64\x67\xf6\x68\xe6\x40\xd8\xdc\x3b\x1e\x9c\x89\x85\x6e\x18\x97\xda\x2f\xe0\x03\xdb\x55\xca\x6e\xbf\xa6\xd7\x2d\x0f\xdb\xe1\xdc\xeb\xf6\x59\x50\xcf\xd8\x92\xb4\x5c\x99\x10\xb6\x21\x8b\x18\x95\x0e\x63\xc9\x74\x14\x53\x73\x54\x83\xa1\x36\xb2\x1c\x33\xdd\x40\x34\x64\x1f\xba\x23\xdc\x6a\xbe\x94\x69\xcc\x1c\x6a\x27\xea\xf2\x20\xe3\x4b\x28\x03\x80\x50\xdb\xda\xd8\x34\x93\x09\xef\x8e\xb6\x49\xa2\x25\x35\x6f\x47\x9b\xc9\x08\x99\xb1\x2c\x12\xcd\x4d\xe1\x08\x94\x55\xde\xec\x24\x15\xac\x4e\xea\x0a\x38\x28\x1d\xa5\x1e\xd5\x10\x28\xdb\x00\xc0\xc7\x32\x65\x0a\xa3\xd1\x74\xbc\x9c\xcc\xe6\x3c\xb9\x6f\x71\x28\x1f\xdb\x94\xee\xa2\x93\x8d\x7a\x54\x4e\x9b\x05\x1f\x71\xe4\xc8\xb4\x86\xfb\xc5\x71\x14\xe7\x52\x60\x69\x1d\x52\x42\x54\x92\x32\x43\x37\xcc\xab\x22\x15\xc7\x3a\xe5\x73\xeb\xe1\x70\x13\x4c\x1d\x56\x73\x11\x58\x4d\xb6\xbe\x04\xdc\xd6\x39\xad\x1b\xf1\x1c\x8b\x15\x16\xb6\x5b\xaa\x3b\x6b\xdb\x09\xa1\x59\x08\x38\x54\xad\x0e\x55\x2a\x1a\x0b\xc9\x5b\x4b\x73\x34\x32\x8e\xba\x09\xe5\xe8\x8a\x87\x83\x88\x8c\x47\x36\xa3\x48\xb8\xb6\x98\x9b\x2b\xcb\xe1\x74\xec\x68\x8a\xc3\x20\x0b\x54\x7c\xcf\x32\x71\x7a\x5a\xc3\xa8\x36\xe2\x27\xd1\xbc\x54\x83\xcd\x5a\x9b\x2e\x91\x91\x01\x61\x24\x3c\x5f\x1d\xf8\xa1\xec\xae\xc3\x72\xbe\x6a\xe9\x8e\x3d\x6c\x38\x95\x58\x71\x61\xba\xa6\xf4\x6a\xc2\x79\xfc\x11\xde\x8d\xa4\xaa\x23\xda\x5c\xeb\x2c\x4b\x86\x48\x93\x0e\xd8\xcd\xee\x30\xc7\x6d\x40\xc8\x71\x38\x41\xe7\x7c\xb0\xc4\x33\xfe\x08\x05\x1b\x07\xe4\x80\x3f\x7b\xdf\xeb\xe9\x1c\x2d\x6c\xb0\xc1\x97\xba\x03\x88\xd4\xa8\x26\x13\xb2\xb3\x00\x01\x2d\x4a\xd6\x31\x3c\x48\xc6\x03\x48\x26\x86\x4d\x00\x5b\x05\xaf\xad\x5a\x95\x70\xb9\x69\xe2\x6b\x1e\x70\xb5\x52\x96\x32\x46\xa7\x53\x7f\x46\xb0\x8e\xb1\x0a\x5a\x55\x51\xcc\x48\x58\x5b\xfc\x46\x62\xcc\xd5\xd8\xc0\x01\x5d\x84\x39\x9f\xd1\xfb\x8d\x0f\xd0\x86\x57\x2c\x56\xa5\xdb\x84\xa7\x92\x29\x83\x80\xb1\x4f\x6f\x4a\x7f\x64\xe3\x56\x09\x16\x5c\x55\x88\xc4\x04\xda\x05\x13\x5d\x58\x1c\xcd\xb5\xea\x56\x25\xd5\x30\xbb\x61\xd2\x99\x9d\x3a\x64\xa6\xe8\x72\x18\xa0\xd2\xa9\x42\xbd\xc9\x98\x18\xca\xae\x8a\xa8\xa0\x94\x43\x7f\xb1\x12\x25\x9f\x57\x67\xbc\x42\x4e\x02\x66\x03\xc6\x91\x5e\x2e\x98\xa5\x40\x8d\x1c\x30\x72\x34\xe5\xe8\xab\x87\x95\x83\x31\xf1\x6c\xd6\xae\x31\x59\x0b\x61\x91\x55\xa6\x14\x9d\x8c\xd7\xe9\xd1\x36\x64\xa0\x35\xca\x41\x11\xf6\xa7\x46\x9e\x11\x45\x11\xd4\xbe\x82\x02\x41\x2b\x57\xb2\x27\x3b\x51\x01\x24\x9f\x92\x82\xad\x46\xab\xa7\x62\x23\x8f\x10\x32\x5a\xe6\x1b\xb7\x5a\xef\xd7\x93\x35\x0a\x63\xfa\xde\xdb\x60\xfa\x6c\xe4\x73\xae\x1d\xef\x14\x90\x81\xe4\xa0\xd3\x61\x93\x8f\xb0\x80\x74\x1d\xb2\x89\x7d\x7c\xb2\x73\xb6\xbb\x2e\x4e\x64\x11\xf8\x36\x11\x05\x13\x07\xda\x39\x94\xcf\x40\xe1\xae\xa1\x36\xbb\xce\xf3\x17\x2b\x67\x61\xf2\x25\x00\xbc\x0c\x0a\x6d\xb3\x4f\x03\xb8\xde\xcc\x4f\xd8\x71\xc8\x46\x58\x6e\x8c\x61\xac\x1a\x15\xf5\x7a\x3a\xdc\x8d\xf3\x62\xb7\x15\x51\x19\x5b\x2f\x8d\xd3\x6c\x4a\x34\x7a\xb5\x25\x9b\x80\x09\xc0\xba\x5e\x79\xc7\xb1\xe4\xc1\xb8\x65\x33\xb2\xee\xf8\x42\x61\x94\xb8\xeb\xed\xba\x60\xa8\x01\x0a\x0c\x29\x3a\x18\x6d\x31\x23\xa6\x6c\x9a\x6c\x46\x5b\x68\xbb\xda\x45\x42\x56\x62\x15\x07\x6a\x0f\x3b\xf2\x96\x14\x06\x98\x6f\x63\xf1\x58\xc2\x56\xea\x8e\x8b\x8a\xc5\x11\x59\x01\x75\x3a\x5e\xad\xdc\xc5\xc4\x9f\x66\x0e\x2a\x54\xde\x92\x11\x84\x4e\x50\xbc\x40\x3a\xa2\x3e\x9f\x31\x0b\x62\xb5\x49\xec\xcd\x71\x45\xc8\xdc\xc2\xe7\xb3\x14\xd9\x6e\xd7\x44\xd9\x15\xa6\x65\x9a\x0d\x3d\xd9\xc7\xe8\x1e\x3a\x6a\xae\x3e\x31\xf2\x08\x1d\x2e\x42\x1d\x91\xed\xfd\x2a\x3a\x35\x00\xb0\x87\xad\x4e\x22\xb0\x59\x9a\x92\xbb\xc5\xbd\x31\x21\xe5\x13\x1a\x71\xc8\x10\xc1\x41\x06\x6b\x3e\x35\xb5\x0c\x20\x86\xee\x38\x80\xc1\x94\xf3\x88\x65\x94\x8f\xe1\xb6\x04\x80\xb4\xe8\x05\x6d\x72\x11\x74\x3a\x72\x63\xb9\x1b\x2e\x97\xe3\x98\xdb\x55\x04\x3c\xe6\xc4\xf5\x7e\xcd\x2f\xa5\xc3\x4a\x13\x3d\x17\x24\x27\x7b\x3f\xa6\x4b\x44\x26\xa2\x98\xcf\x43\x75\xbd\x66\x53\x19\x25\x33\x73\x3b\x5f\x83\xa4\x82\x10\x7f\x21\x13\x8c\x40\x12\x69\x8e\xca\xba\x2e\x5b\xf0\xb0\x0a\x2a\x8b\x22\x78\x3d\x67\xd6\xe6\x14\xed\x30\x3c\x73\xb2\x82\x18\xa3\xd9\x66\x72\x20\x46\x27\x24\x5b\x81\x23\xbc\xcb\x5a\x16\x1d\x35\x46\xe2\x73\xec\x0e\x6d\x19\xa9\x98\xc6\x9e\xe5\x10\x87\xa1\xd0\x62\xd6\x91\x3c\xcc\x08\xdf\x1e\x63\x33\xd0\xd6\x6c\xbd\x5a\x2e\xe0\xc9\xd0\x24\x19\x9c\x3e\x35\x7c\x7e\x60\x19\xb0\x19\x6f\x18\xa4\xdc\x1b\xdb\x1a\x2c\xd3\xe3\xd1\x5d\x38\x45\xbd\x33\x1b\x49\x84\x43\xca\x1e\x87\x00\x1f\x4f\x81\x09\x00\x31\x4e\x96\x84\xb8\x71\x7c\x8d\x9a\xb2\xaa\x72\xe0\xf1\x63\x33\x25\xf7\x20\x26\xe9\x15\x20\x81\x1a\x6f\x60\xb0\x6a\x56\x12\x2f\xc4\xb3\xf6\xbc\xa6\xad\x92\xd4\x3b\xa2\xde\x3a\xc7\xb0\x8d\x7f\x6a\x30\xea\xb8\xeb\xc6\xc9\x69\x1e\x61\xd9\x69\x35\x35\x35\xa1\x24\xa5\x63\x07\x7c\xb0\x90\x43\x24\x1b\x3a\xe3\x65\x57\xa2\x12\xba\xf2\xd1\x00\x07\x24\xc7\x03\x1f\xcc\x57\x88\xbd\x4c\x47\x2d\x42\x50\xbe\xb1\x63\x27\x35\xaa\x55\xa7\x1d\xe5\x28\x5c\x6d\x82\x93\x1c\x10\x0c\x1c\x1f\x55\x05\x54\x95\x0f\xc6\xda\x6a\xbb\xb6\xc0\xcc\xb7\xf5\xc2\x5a\x03\x9d\x06\x00\xa2\x5a\x7c\x22\x63\x70\x31\x9d\xb0\xad\xae\x1f\xac\x84\x40\x88\x44\xaf\xc5\x38\xdb\x33\x7b\xb6\x1a\xfa\x54\x9d\xa6\xc7\x7a\x33\x15\xb9\xa4\xdc\xab\x87\xd1\x3a\xea\xd4\x6e\xae\x8e\x51\x89\xe6\x62\xa9\xde\xad\xd7\x5e\xd7\xae\xf3\xe3\x98\x21\x7c\xca\xe7\x8d\xb8\xda\x6d\x18\xb3\x5a\x02\x90\x1e\x74\xa4\x95\x33\x0a\x31\x17\xe1\x26\x1b\x39\xcc\x48\x36\x70\x32\x35\x87\x15\xb1\x00\x91\x45\x4a\x80\x00\xc1\x36\x82\x81\x08\xc1\xa0\x51\x49\xd2\x8d\xd7\x00\x00\xd1\x61\xf6\xea\x24\x6b\xb6\xd3\xb9\x41\x75\x47\x8f\x0a\xad\x63\x97\x6e\x2b\xb4\x62\xf0\xed\x62\x94\xb9\xcb\xa1\x29\xc4\xd3\xa9\x06\x68\x40\x90\xd6\xb1\xde\x1d\x66\x26\xa9\x11\x95\xd8\x18\x40\xd6\x69\xd0\xcc\xab\x65\x5c\x75\xaa\xcd\x1e\x01\x65\x92\x98\xd6\x2e\x8c\xfd\x21\x54\x00\x24\x59\x40\x0c\x3a\xe7\x40\xfb\x8a\x03\xa4\x26\x23\xfd\xa3\xab\xb5\xa5\xc6\x2e\x64\x9a\x19\x43\x99\xb4\x45\xa1\x15\xe0\xa6\x4e\xb8\x92\x9d\x8d\x3f\xc9\x25\x13\x5a\xec\x5b\x59\x3d\xa2\xbb\x7d\xc2\xd4\x7b\x0c\xf7\xe7\x4d\x87\x0d\x11\x78\x3b\x17\xc6\x1d\xd6\xfa\xda\x74\x3a\xf1\xb2\x64\xad\x2f\x68\x9b\x72\x11\xbc\x61\xbd\xca\x6c\xdd\xbd\xe3\x1b\xa8\xda\x1e\xd5\x26\x45\x8c\xcc\xda\xf0\xca\x21\x52\xc8\x11\x50\x65\x38\xa9\x8d\x0c\xe8\xe5\x66\x02\x7c\x20\x8b\xc4\xd2\x36\x1a\x00\x62\x40\x28\xad\x06\x0f\x57\xc9\xee\xb0\x38\xa8\xca\x92\xda\x06\x9b\x2d\x32\xd9\x7a\x45\x4e\x60\xdb\x19\xbe\xcf\xeb\x35\x6d\xed\x09\x92\x42\x25\xc7\xdd\x30\x39\x29\xd0\x3e\x49\xed\x1c\x66\x25\x36\x53\x00\x00\xa5\x37\x1a\x1e\xa7\x7a\x32\x42\xe2\xa4\x29\x72\x51\x0c\x56\x32\x27\xec\xc7\x35\x42\x4f\x77\x05\x7a\x9c\x13\xa9\x2f\x2e\x5d\x2e\x2e\xac\x32\xf4\xf7\x76\x10\xef\x6b\x77\x0c\x18\xc3\x87\xaa\x6e\xd3\xe8\xe9\x66\x81\x69\xfc\x22\xb7\xf7\xf6\x5a\x00\xb8\x71\x39\x79\x0d\x99\xdd\x81\xf7\x05\x60\x21\xd3\x4d\x51\xa9\x98\xdb\x56\xf2\xd2\x74\xf2\xd5\xd1\xa4\xe7\x53\x32\x3e\x16\xb2\xc2\xfb\x84\x97\x07\x4d\xba\x5c\xf3\xfb\x6a\x7e\x48\xf2\xb1\x41\xaf\xd4\x23\xe1\x4d\x68\x22\xd4\xb1\x83\xcf\x6f\x65\xd0\x50\xf8\xc2\x9b\x2e\x80\x48\x89\x01\xbb\x5d\x02\x00\x62\x5f\x80\x2a\xa6\x1c\x49\x90\x79\xe2\x9d\xd9\x89\x4c\x79\x1b\x2b\xda\xc5\xaa\x8e\xe7\x69\xdb\x94\x1b\x63\xc6\x94\x11\x1a\xe1\xab\xb0\x24\x01\x4b\x4e\x99\xa8\xd9\xce\xe9\x99\xcf\x5f\xf6\x05\xd2\x53\x54\xee\x11\xd2\x65\x44\x6b\xb1\xf0\xb3\x6e\x2a\x42\x4c\xdb\x85\x8d\x49\xf8\x5c\x0b\x75\x6c\x48\x12\x40\x00\x31\x21\x2c\x73\x66\x58\x4a\x33\x3e\x37\x9c\x13\x1d\xce\xec\x62\x38\x32\x63\xd6\x2f\xea\x6a\xb4\x5b\xf1\x69\xe4\xf2\xe3\x23\xdd\x58\xab\x13\x60\x65\x82\xa3\x29\xbd\x88\x45\x87\x00\xc0\x45\x05\xa0\x22\xf2\x01\xe2\x1b\xa5\xa4\x71\xc0\x5b\x95\x98\x02\x6a\x3c\x4f\x25\xb3\x31\x63\x89\xb3\x8e\x55\xa7\x2f\xdd\x7d\xe1\x11\x93\x5d\x28\x46\x6b\x0e\x21\x13\x82\x18\x03\x0e\x08\x0e\x36\x05\xb3\xac\xa4\x99\x58\x53\xe7\x34\x49\x40\xce\xd6\x53\x28\x12\xb1\x95\x7c\xc1\x1e\x96\xab\x3c\x76\x04\x78\x32\x5e\xb4\x29\x5a\xe4\xc9\xe1\xb4\x29\x4d\x7e\xad\x84\x30\x23\x5f\xce\x0f\xe5\x68\x26\x92\x40\x0a\xb7\x85\x4c\xc8\x80\x22\xa9\xf2\x90\x67\xd9\xaa\xae\x5c\x08\x19\x91\xde\xcc\x1f\x87\xb4\x1b\x9a\x1b\xdf\x48\x64\xc0\xe1\x10\xde\x94\x11\x4d\xd0\x21\x11\x67\x4b\x79\x2c\x84\x08\x2c\x68\x32\x22\xef\xd7\xbb\x7d\xdb\x85\x10\xf0\xea\x8d\x90\x89\x7b\xda\xd8\xc9\x92\xd5\x15\xc8\x69\x86\x0f\x0f\x0b\x5f\x44\x01\xdd\x1e\xb7\x96\x74\x70\x5a\x6b\xcc\x8f\xa3\x22\x2e\xf6\xf8\x09\xdd\xcf\x80\xeb\x0b\x54\x3b\x9e\xa7\x7c\x69\x2c\x82\xad\x83\xa3\xf5\x61\x34\xc5\xa1\xac\x56\xdd\x25\x91\x67\x64\x48\x1a\x6c\xd1\x41\xeb\x4e\x07\x30\x45\x55\xd4\x14\x68\x3e\xc0\x02\x24\x16\x49\x00\x3a\x87\x39\x42\x2a\xb4\x53\xd5\x65\xe4\x99\xeb\x58\xcb\xb7\x18\x9e\xec\x50\x65\x97\x1c\x0e\xbc\x27\x7a\x51\x1c\xb0\x60\x57\x4f\x8c\x0c\xd0\x80\xf4\x01\xc8\x05\x25\xaa\x16\x90\x10\xc9\xd4\x5a\x6c\x4c\x52\xbf\x9c\xe9\x93\x42\x99\x4f\x91\x36\xc8\x67\x43\x7d\x7f\x90\x89\x06\x6b\xf1\x91\xe3\x55\x87\x68\x2f\xd3\xa7\x1a\x9b\xcf\x88\xf1\x12\x52\xc6\x23\x44\x3f\x4c\x25\x23\xf4\x27\x8d\x94\x8c\xd7\x75\x8a\x78\x36\x1e\x0b\xd4\x2a\xb3\xb7\x7c\x39\xb6\x17\x07\x7f\x1b\xac\xba\xfc\x88\x0b\x0a\x1e\x4a\x54\x18\x37\xd3\xa9\x95\x9b\x93\xc3\x90\x93\x44\x67\x0b\x54\x20\x01\xa3\x4a\x1c\x32\xcd\xb6\x4e\x11\xcd\x71\x61\xae\x4e\x60\x2b\x2d\x23\x63\xad\x2c\x99\x19\x8f\x28\x3a\x2b\x48\x29\x71\x3a\xcd\xd6\x60\x4a\x1d\xc7\x8b\x73\xd4\xa2\x88\xa4\xac\x03\x7c\x5e\x84\xd5\xce\x10\xd1\xd8\xb1\x76\x2c\x26\x63\x1a\x7c\xb4\xf0\x09\x8f\x9a\x6c\xe0\x24\x84\xdd\xed\x77\xee\xa9\x36\xd0\x91\xbf\x00\x5d\xe1\x20\x4e\x73\xfb\x7a\x21\x18\xaf\xdc\xf3\xf3\xfc\xb4\xde\x33\x6b\xfc\xa4\x3a\x7b\x7b\x6d\xa3\xc9\xdc\xc9\x76\x6c\xbb\x6e\xbd\x46\x00\x0b\x3f\x5e\x13\xf9\x42\x3f\x36\x4d\x04\xe9\x52\x30\xf2\x96\xf3\x93\x2e\x95\x43\x98\x66\xa0\xdc\x2a\xa0\xda\x1d\x49\x5d\x36\x6f\x4c\x17\x00\xc2\x47\xf3\x11\xba\x08\x55\x1f\x98\xb0\x65\xc4\x52\x12\xc6\xb4\xcf\xa6\xe3\x39\x26\x39\x8d\xb9\xef\xb8\xc9\x51\xda\x0f\xab\x71\x5b\xb6\xb8\x8a\xc5\x84\x39\x1b\xd3\xba\x4c\x30\x63\xc0\x11\x20\x59\x99\x2c\xbe\xca\xe6\x26\x99\xf1\x00\x50\x6b\x0f\x92\x2c\xde\x0a\x27\x70\x3b\x19\xc3\x27\x76\xb2\xe8\x76\x33\x71\xb4\xe9\x14\x21\x65\x56\xc9\xd1\x13\xcb\x30\x96\xd9\xc6\xb8\x9d\x79\x63\x0b\x99\x9a\xae\xc8\x73\xc8\x45\xf9\x36\x22\xd7\x7b\x62\x71\x6a\x3a\x8f\xc7\xed\xb1\x05\xd3\x8a\x41\x00\x3d\x06\x34\x75\x38\x66\xe2\x84\x90\x09\x50\x03\xbf\xee\x98\x03\xb7\xa8\x92\x3d\x8b\x09\x2e\xde\xec\x84\x6c\x9b\x4a\x01\xc0\xba\xe9\xe8\xb0\xce\x94\x55\x32\x0b\x9a\x4c\x62\x33\x0a\x80\x98\xdc\x36\x14\x00\xa3\x31\xc3\x82\x7a\xb3\x8b\xd9\x0c\xdb\x79\x68\x55\xcd\x67\x1b\x9d\xf2\xc0\xcc\x4c\x4c\x92\x90\x91\x6c\x55\xc0\x43\x99\x9c\x72\xc7\x9a\x3c\xcb\x36\xdf\xea\x40\x26\x05\x14\x15\x13\x1a\x93\x26\x53\x03\x6c\x59\x59\x9b\xad\xb8\xd5\x32\xd3\x66\xdd\xd2\xc1\x62\x54\xf2\x26\x1a\x30\x16\x60\x49\xd4\x3b\x6d\x2a\x5e\x8e\xf1\xe7\x9d\x86\xaf\xd4\xe9\xf9\x39\xa3\x17\x73\x76\x8b\xd6\x36\xd9\x34\xf4\x71\x48\xaf\x03\xa6\x08\xf5\x68\x0b\x6c\x60\xa1\x13\x78\x67\x58\xa9\x66\x6d\xb6\xeb\x0e\x23\x9a\x75\xbe\xd7\x6d\xd1\x12\x94\xfd\xc4\xb5\x10\x1e\x86\x7d\xdd\xd3\xdc\xdc\xa0\x1b\x00\x2c\x89\x29\x97\xad\x00\xf6\xb2\xea\x03\x08\x10\xab\xcc\x9c\xf2\xfb\xd1\x09\x6d\xf6\xde\x74\xb8\x2f\x37\x0e\x3c\xd4\x24\x79\xad\x51\xa6\x45\x24\x20\x5a\x52\xe1\xc1\x68\x6a\x80\x2e\xf9\xd9\x99\x0f\x9a\x10\x40\x35\x33\x8a\x72\x57\xc2\xe8\x72\x38\x13\xa5\xd9\x50\x9d\x15\xee\x94\x66\x35\x8b\x4d\x3b\x72\x24\x9a\xc9\x4e\xa6\x01\x79\x82\x19\xc2\x39\x8f\x03\x18\x39\xb8\x1f\xe2\xdd\x54\x01\xcb\x12\x4e\xc6\xcc\x72\x63\x64\x33\xca\xc0\xc7\xfc\x7c\x48\x10\x54\x1d\x1d\xe2\x06\x36\xec\xd1\x7c\x22\x6f\xeb\xb9\xa1\x72\x10\x6a\x5b\x76\xb6\xd8\xf0\x85\x6b\xec\xd1\x2e\x26\x67\xd6\x48\xa6\x01\xcd\x74\xf0\x48\xee\x7c\xc3\xba\x2a\x2f\x9c\x6d\x9c\xf6\x44\x8e\xd7\x3b\xad\x86\x90\x99\xe1\xc1\xce\x64\x3c\xe6\x71\x43\x03\x73\x9d\x49\xc0\x68\x08\x19\x60\x29\x84\xb0\xbc\xca\x56\x8d\xe9\x9b\x20\x02\x93\xe1\x48\x62\x71\x15\x29\x47\x02\xc5\x1e\xf7\xb3\x99\x28\x1e\xa6\xda\x8a\x71\xb0\x22\x13\xac\x74\x2e\x65\xda\x70\x9b\x70\x81\xe1\x3b\x93\x0d\x10\xaf\xdf\xf3\x88\x60\x3d\x34\xb6\x72\x83\xf9\x76\xde\x49\x39\xef\x42\x82\x8b\xee\x1c\x3c\x54\xa5\x31\xba\xe3\x8f\x33\x28\xc9\x8e\x75\x38\x6c\xf4\xe5\x0a\xec\x91\xd1\x6c\x89\x49\x46\xdb\x45\xb8\x6f\x4c\xb0\x55\x42\x4f\x19\x0e\xa0\xcc\x28\x51\x0e\xd8\x84\x3e\x3a\x93\xf1\x71\xb1\xd9\x31\x78\x41\x8d\x74\x9e\x07\x0d\x3e\x0e\xd6\xe3\x85\x45\x6e\x47\xe5\x72\xe1\xb6\x50\xd4\x9d\xed\x17\x01\x05\xbb\xd3\x6c\x04\xcd\xc6\x23\x8b\x5c\xac\x26\x04\x06\x1b\xb1\xc6\x92\x47\x8a\x16\x2a\x39\xd0\x12\x5c\x08\x49\x1f\xd0\x60\x5b\xec\xb6\x6b\x6d\x55\x96\x67\x56\x37\xb9\xe7\x0d\x2b\xa3\xc8\x3a\xd3\x4c\xf1\x61\x43\x0d\x6d\xcf\xac\x22\x61\x57\x36\xcb\x11\xac\x6e\x56\x12\xc2\x53\x69\x20\xc1\x78\x6c\xeb\x59\x51\x1d\xe1\x12\x1f\xa2\xbb\xd3\xd6\x83\x53\x69\xe9\xa6\x4e\x46\xb2\x29\x61\xc4\x61\x8d\x90\xf2\x9c\x58\xc7\x2b\x13\x1e\x09\x4d\x96\xa0\x0b\x38\x2a\xea\x95\x38\x96\x27\x59\x87\x57\x47\x4a\x3e\x41\x5b\x0b\x63\x3b\x29\x84\xfc\x25\x0b\x70\xca\xa2\x7d\xf0\xd8\xfb\xde\xc7\x57\x61\x62\xfb\x5e\x09\x87\x4e\x96\xfe\x32\x1b\xf7\x06\xbd\x4b\x01\x9c\xa7\xaf\x3e\xc0\x0a\x0d\x42\x52\x1a\x44\x98\xfb\xd9\xb9\x2f\x4b\x55\x0f\x68\xdd\x3f\x4f\x84\xcb\x47\x22\x3e\x79\x76\x70\x01\x15\x26\xac\x83\x5f\x4a\xe6\x2e\xa1\x9d\x3d\xc8\xc5\x7c\x45\xc2\x6d\x70\xf9\x10\x00\x30\x9d\x1e\xb9\x24\x10\x26\x12\x2b\x45\xe7\x02\xdf\x44\x02\x55\x93\x01\xf0\x42\x13\x00\x8e\xa4\x01\xa0\xc6\x97\x0a\xc9\x07\x80\xd5\x1b\x00\xa8\xc3\x19\xb3\x94\xfb\x00\x10\x6e\x93\x2e\x72\x65\x75\x19\x79\x2b\x54\x11\x97\x06\xab\x29\x80\x1b\x0a\xce\x16\x68\x1a\x5d\x74\x2f\x6e\x54\x26\xee\x00\x00\x35\xd7\x00\xb0\x08\x45\xc2\x13\x74\xd8\xf5\x01\x60\x84\x80\x57\x68\x46\xf7\x96\x45\xb5\xd9\xc4\xe5\x46\x74\x47\x30\x86\x74\xd3\x31\x3e\xab\xa9\x8e\x4e\x5a\x85\x09\xb7\x5c\x29\x6d\xac\xa9\xc1\xa5\x1a\xcf\x98\xea\x1a\xb3\x9d\x8a\x1e\x3a\xd5\x3a\x72\x2a\x9a\x19\x73\x88\xa1\x30\xf4\x1a\x64\x61\x20\x67\x60\x2f\x33\x49\x48\x64\xfe\xda\xe6\x68\x40\x31\x64\x22\x6f\xa2\xb8\xca\x10\x5c\x93\x90\xd4\x5d\x73\xf8\xb6\xb5\xec\x78\xcd\xf2\x61\xaa\x99\x55\xa4\xf0\x4c\xe4\x54\x5d\x3c\xeb\xdc\xd9\x64\x02\x4d\x1d\x7c\x06\xe9\xfb\x3a\xcc\xb7\x24\x35\x3c\x41\x33\xc8\xf6\x26\xa3\xe3\x31\xe1\xe3\x23\xe6\x4b\xa8\xa9\xd4\x2f\xff\xf4\x1a\x54\x45\x46\x2c\xb1\x74\xe7\x09\xa5\xad\x6e\xd6\x75\x61\x17\x47\xe5\xa8\x17\x5a\x1a\x3b\x8e\x01\x8f\x6c\x2c\xa6\x14\x4f\x11\x18\xd7\xc1\x2d\x7b\x9c\x76\xc7\x35\xba\x9d\x48\x5c\xde\x58\xc1\x64\x89\x4d\x42\xd6\x0c\x57\x5d\x75\x3a\x9e\xf0\xf0\x00\x10\x44\x4b\x7d\x78\xbd\x61\x87\x3b\x6c\x2e\x97\x4c\x14\x22\xf2\xb6\x83\x1c\x60\x0c\xd1\xbd\xa7\x44\x5a\xd3\xe8\x2e\x7a\xda\x95\x06\x37\x9d\x49\xfb\xed\xa2\x68\xd2\x8c\xe7\x16\xcd\x94\xce\x80\xc4\x01\xc6\x5f\x34\x94\x46\xb6\x0e\xe0\x09\x9a\xe7\x42\x0e\xf8\x59\xc8\x91\x80\xf3\x39\x9f\x23\xf8\x79\xee\xae\x14\x52\x39\x60\xe5\x8a\x24\x00\x0f\xc2\x70\x2a\xfb\x20\x82\x57\x1c\x13\xa9\x04\x21\x1f\x03\x4c\x56\x22\x79\x53\xd1\x24\x21\xe4\x2d\x3b\xdb\x16\xa3\x40\x0c\xa3\xc0\xf1\x71\xd9\xc0\x5d\x33\xf2\x81\xc2\x10\x6a\x94\xc4\x7a\x92\xe6\x93\x45\xb2\xd8\x4c\x8b\x78\x7a\x98\x8d\xa4\x95\xc0\x23\x94\x4c\x46\x2b\x4f\xa3\x1d\xb9\x00\xd4\x70\x32\x83\x26\xd0\x64\x51\xae\xb0\x63\xc5\x37\x33\x30\xb4\x8e\xdb\x86\xd9\xc9\x22\x5c\x0c\x61\x70\xa2\xc6\xb8\xb0\x20\x8e\x23\x9e\xe5\x6c\xae\xe1\x72\x6e\x34\xe7\xb6\xde\xd1\x9d\xa2\x05\xc2\x61\x92\xb8\x3f\xf2\x3b\x29\x1b\xed\x76\xe4\xa1\x19\xd2\x01\xa7\xc4\xb2\x1c\x62\x36\x36\xc9\x11\xbb\xda\x69\x06\x81\xa2\xab\x80\xab\xd9\x6a\x36\xaa\xd2\x94\x28\x26\xa3\x8e\x5d\xc2\x60\x0e\xd4\xcc\xdc\x9f\x5a\xc3\xd0\x48\x89\x5c\xed\xa4\xf5\x72\x56\xce\x77\xb5\x07\xb9\x3b\x78\x81\x17\x58\x37\x15\xd5\xb9\x2e\x1d\x31\x7b\x6d\x52\xdc\x01\xc7\x08\x7a\xb3\xa1\x65\x65\x45\xca\xc2\xe8\xc0\xc4\x1e\x23\xba\x6e\x2d\x35\xa2\x81\xad\x05\x9d\xd8\x30\xc6\xc9\xd8\x04\x55\x82\xed\x8b\x7d\x75\x6c\x86\xd8\xb1\x5e\x0c\xeb\xd5\x66\x0e\x80\xee\x07\xd1\x3c\x5e\xac\x36\xfc\xcc\x3a\x5a\xdd\x62\x82\x4d\xb3\x6e\xca\x96\x52\xc0\x30\x68\x8d\xd9\x2c\x42\x4f\x79\xfa\x08\xd6\x81\x07\xa5\xe8\x8a\xa5\x26\x88\x35\x81\xdb\xc4\x71\x76\x0b\x42\x15\x66\xe2\x30\xdd\x20\xe0\x90\x9a\x8c\x2a\x84\xc4\x64\xc7\x85\x52\xe7\x63\x11\x3a\x24\x3c\x93\x5d\x0f\x7d\x31\x2a\x86\x30\x45\x10\xd0\x98\x8d\xe6\x0b\xad\x4d\x94\xdd\xb6\xdd\xcd\xa0\x83\x03\x4f\xd7\x65\x27\xce\xe2\x8e\x99\xcd\xf0\xf1\xb4\x6a\x5a\x8b\x04\x87\x51\xb3\x95\x43\x91\x54\xe8\xf5\x8a\x88\xa8\x8d\xeb\x61\x1e\x87\x4f\x67\x50\xe0\xc1\xd0\xb0\x86\xbd\x0a\x76\x30\x20\x40\x70\xad\x76\xa7\x85\x76\xf4\x85\x49\x91\x40\x15\x41\xe3\xa4\x05\x86\xac\x62\x33\xda\x24\x3b\x2c\x65\x81\x24\xdd\xf2\x40\xe4\xe3\xe1\x9c\x9a\x79\x2c\x41\x4d\x26\x9b\x3a\xe5\x87\xe3\x0c\x86\xc6\x07\x08\x76\x16\xbc\xb9\x58\xa1\xbb\xa0\xdb\xcd\xe7\x91\x62\x86\x0d\xa1\x08\xe8\x2e\x5d\xc0\x58\xa8\x74\x13\xb8\xd6\xe0\x69\xba\xab\xeb\x0e\xd5\xda\xd8\x9e\x42\xc1\x46\xd9\xf2\x63\x59\x17\x08\x7b\x51\xf3\x89\x6f\x2c\x78\x45\xa8\xd5\x20\xe6\x88\xdc\xae\x42\x9a\x01\x39\x20\x39\x86\x65\xe1\x18\xc0\xf0\x92\xdd\x63\xd8\xc1\x43\xbc\xd5\x51\xe6\x37\xb4\x0d\xf3\x29\x4b\x73\x19\x20\x4c\x77\x86\x8e\xe0\x4e\x5a\xed\x20\x7e\x4f\xb4\x22\x4f\xc2\xf0\xa9\xdd\x40\x73\xd3\xb6\xfc\x39\xb0\x4a\x0f\x41\x6a\x6f\x58\x13\xa7\xd3\x5a\x94\x8b\x39\x1d\xbb\x86\x21\x90\xeb\xad\xec\x03\x30\x96\x52\xcf\x97\x57\x93\xd9\x6c\xd2\x1d\xed\x15\x8b\xfa\xf3\x92\xcb\xe5\xd0\x5d\xd7\x99\xd2\x00\x38\x43\xe1\x2d\xd5\x4d\x90\x6c\xb7\x83\x52\x86\xb3\xe1\x9d\xd3\x75\xe8\xea\x80\x06\x9d\xba\x55\xa2\x72\x41\xb6\xe5\x52\xc3\x31\x82\x9b\xec\x4d\x72\x0d\x87\x81\x0b\x3b\x84\xb0\xb6\x34\x2b\x90\x1d\xc6\x98\x1d\xc4\xbd\x8c\xf8\x09\xdd\x24\x78\x10\x1d\x4a\xc9\xa0\xf7\x54\xe6\x1f\xb0\xc9\x56\xda\x1f\x6d\x3a\x26\x84\x45\xd8\x25\xa6\xe1\x0b\x6b\x6b\x8d\x0c\xd9\xbd\x27\x2d\xe6\x36\xd8\xea\x61\x9e\xf1\xda\x9a\x05\x42\x63\xe3\x82\x99\x27\x2c\xc9\xeb\x04\x12\xcb\x64\xa6\x23\xa5\x23\x20\x3e\x29\xf2\x8a\x7a\x38\x48\x7b\xd6\x8b\x11\xfa\x60\xe5\x5c\xce\x70\x5b\x4a\xf7\x96\x4d\x23\x89\xe8\x69\xe2\x4b\xb8\x9b\xae\x83\x42\xed\x0c\x86\xa0\xe8\x4e\xcc\x23\x7d\xb1\x14\x11\x9c\xe0\x7c\xa6\x54\x87\xbe\xdf\x2e\xf5\x4e\x30\xd4\x90\x54\x4a\x9a\xa0\x75\x3a\x63\x42\xe5\x80\x1e\x47\xec\x72\xb3\x17\xdd\xe1\x34\x57\x59\xc3\xb3\xd2\xba\x4e\x43\xcb\xce\x72\x8e\x93\x09\xc0\x05\xa9\x7e\xf0\x8f\xdb\x61\xa5\x63\x12\x21\x30\xe1\x9a\x74\xc5\x93\x0b\x88\x35\xc1\x42\x5b\x2e\x23\x8f\x00\x53\x96\xfa\x4c\x38\x51\x52\x68\x07\x73\x74\x03\x00\xe8\xca\x4e\xc2\x97\x6c\x64\x71\x4b\x47\x00\x8b\xda\x75\x15\x36\xc4\x8c\x35\xa3\x78\x0b\x67\x7d\x9a\xba\x41\x2b\x8d\x6c\x26\x3f\x46\x81\x9d\x50\x23\x96\x69\x64\xb9\x56\x2b\xbf\x59\xac\xf2\x52\xea\x6c\x7c\x34\xa7\xe0\x13\x85\x8b\x54\x83\xee\x0d\xb2\x20\x45\x56\x8d\xf4\x26\x69\x4a\x2c\x22\x45\x40\x51\xc8\x9c\xb4\xf2\xd0\x8e\xc5\x39\xb6\x0d\x6d\xbc\x2a\x8c\x92\x87\xda\x88\x07\x82\xaa\xab\x95\x88\x64\xeb\x52\x95\x0b\x5f\x9b\xbb\x35\x2a\x6e\xe2\x98\x4e\xbc\x8e\x81\x59\x25\xe8\x20\x12\xdf\x8e\x83\x13\xed\x17\xe9\x69\x6f\x2c\x16\x5d\xe0\x04\xd9\x30\x64\x4a\x2a\x9c\x67\x89\xd4\x55\x10\x55\xc2\xd3\x6e\xb2\xe2\xba\x64\xa7\x60\x33\x6f\x35\x74\x0d\x43\x95\xe8\x70\xaf\x20\xa9\x52\x32\x85\x3f\xe4\xd4\x3c\x89\x32\x79\xe6\x68\xf5\xae\x15\x0a\x62\xcb\x26\x99\x9e\xf1\xd6\x3a\x89\x57\xd4\x46\xb1\x7c\x57\xa4\x96\x65\x3b\x65\xeb\xcd\xb6\x6a\xb1\xee\x78\x0c\x14\x59\xd0\x5c\x26\x59\xc8\x80\xcc\x34\xd4\x6d\xcc\x99\xb7\x53\xd6\xf1\x11\x0c\x93\x61\xcb\x9f\x50\x8e\xf6\xfd\x68\x55\xa4\xfa\x71\x43\xcc\x44\x24\x9e\x47\x76\x68\xb4\x50\xab\xc0\x80\x92\xeb\x95\x22\x83\x3c\xb7\x4d\x84\xdf\x75\x12\x41\x20\xfb\x8c\x01\x25\x2e\x9d\xb6\xa3\x19\x8d\x98\x93\x9c\xc1\x29\x8a\x72\x93\x06\x9f\x2c\xfc\x93\x2f\xb3\xdb\x6d\x39\xe1\xf6\x38\x9f\xcf\x45\xae\xd9\xcf\x15\xc6\x61\x90\x96\xe1\x1d\xca\xa5\x91\x5c\xdf\x62\xa6\x3c\x0c\xcc\x75\x49\x31\x6a\xbb\xdb\x4d\x8e\x3e\x2b\x9e\x24\x2c\x8a\xc4\x79\x68\x83\x55\xa7\x3a\xa0\xe9\x08\xc4\x34\xe2\x04\xd4\x6c\x86\x75\x32\x1b\x09\xb6\x9e\xe7\x1a\x0b\x74\x99\x58\xc8\x29\x30\x13\x9c\xc7\x87\x3b\x8f\x8c\x5d\x30\xf7\x58\x0f\x65\x6c\xf2\x30\xdb\xb9\x1b\x59\x5c\x4d\x0f\xd5\xa8\x24\xc6\x52\x3c\xdf\xae\xf0\x3c\x22\x9a\x8e\xf0\xe7\x6c\x26\x88\xae\xc3\xcd\xa7\x28\xdd\x20\x8a\x30\xd6\x0f\x5a\xcb\x02\x9e\x66\x55\x82\x5c\x24\x06\x4b\xda\xc7\x4d\xa3\x3b\xcd\x3c\xdf\x88\x3c\xa7\xa2\x66\x6a\x04\xc5\x01\x19\x3a\x40\x92\xdb\x88\x9c\x98\xe2\x7c\x14\x8e\x8f\x4d\x38\x1e\x2d\x0c\xbc\x2a\x38\x61\x88\xcc\xf9\x13\xbb\x38\xe6\x9a\xa6\x20\x94\x65\xc5\x7c\x45\xd3\x62\xab\x40\x9c\xc1\xf3\x9a\x1a\x33\x80\x71\xad\x05\x3e\xd9\x67\x8c\x5f\x36\x05\x6d\x61\x1b\x64\x4c\x1d\x31\x0f\xb0\x93\xe9\xc4\x48\xa6\x70\x85\x94\xd3\x54\x8c\xdd\xd9\x6a\x4f\x04\x2c\xb9\x1c\xce\x27\x6e\x9c\xe0\x33\xc4\xc7\x0a\xae\x23\x2b\x78\x74\x62\xb9\x75\x08\x46\x6e\x3b\x97\x47\xac\xe4\x9c\xed\x54\x6d\xce\xad\x43\xdd\x68\xea\x52\xdb\x88\x20\xf3\x8d\x4c\xad\xa3\x1a\x6c\x9a\xb8\x63\xf4\x5c\x55\xc8\x53\x3c\x74\x5a\xc8\xc8\x24\xa2\x83\xad\x70\x86\x1d\x4f\x1e\x45\x0f\xc7\xdb\x76\x18\xd6\x8b\x92\x2b\x25\x75\xa1\xae\xc9\xba\x69\xe8\x00\xb1\x67\x01\x5c\xb7\x54\x09\xa1\xfe\x3a\x6d\xa9\x3d\x34\x99\xb9\xb2\xb0\x0f\x62\x1f\xdf\x5a\x31\x7c\x8c\x42\x9b\x4a\xaa\xe8\xb8\x59\x32\x61\x92\xe8\x8a\xc8\xe3\x86\x29\x45\x44\xae\xc6\xae\x5a\xfb\xb3\xa1\x46\x99\x21\x47\xb9\x9b\xa6\xa2\x8f\x9a\x47\x2d\xe3\xd6\x6a\xb0\x13\x8c\xe1\x2b\x2a\x75\xeb\x05\x19\xc2\x22\x0e\x79\x32\x62\x55\x23\x87\x74\xb9\xe1\x1c\x66\x04\xa6\xf5\x47\x89\x48\xcf\x94\x49\xa1\x88\x6b\x2d\x84\x41\xd5\x49\xab\x94\x5e\x2e\x84\x8d\x81\x56\xa7\x02\x40\x31\x73\xe8\x22\x21\xc2\x88\x25\x87\x44\x18\xb1\xa6\x47\x65\x43\x6d\xc0\xa4\x89\x13\x64\xcb\xd0\x11\x2d\x51\xdb\x7d\xb7\x5e\x75\x09\x75\xd0\x1a\x9c\xa5\xd2\xed\xbe\x1b\x4d\xca\xc6\x65\x1d\x21\x1f\x8d\xa1\x7d\xe5\xc1\x11\x62\xd4\x45\xa5\xe8\x5c\xaa\xae\xf8\x0d\x85\x99\x33\xc4\xdc\x6d\x9c\xad\x55\x4d\x38\x7c\x56\xc1\x22\x3e\x5a\xf0\x23\xcb\x67\x26\xb1\x08\xb6\xe5\x72\x46\xec\xc2\x0d\x3d\xaa\xab\x60\x43\x77\x0c\x21\x40\x5a\x0e\x82\xc2\xa8\x53\x00\x68\x8f\xce\x71\x4a\xc6\xb3\xd3\x49\xe6\xa0\x5d\xa4\xee\x53\xb8\x9a\x97\xd6\x6e\xed\x80\xd9\x1e\xdb\xec\x8f\x11\x8c\x98\x95\x37\x41\x8f\xd4\x94\x39\x59\x0d\x6c\xa2\x86\x5d\x2b\x25\x00\xf8\x14\xe3\x12\x2a\x85\x32\x06\x9d\x52\x0b\xb8\x3b\x30\x29\xd6\xa4\x21\xdc\x3a\xb4\xaa\x66\xda\x31\xa2\xdb\xd6\x25\x88\x65\x18\x33\x29\x09\xe2\x05\x21\x8a\x10\x1b\xb8\x11\xc6\x56\x5a\x90\x71\xf4\x50\xab\x63\xad\xa6\xe2\xd2\x01\x3e\xa8\x97\x2d\x09\xc6\x9b\xe5\x88\x5d\x41\x2b\x7b\x1a\x78\xeb\x92\x05\xbe\x2a\x9f\x00\x62\x75\x4c\x31\xe5\xe6\x6c\xc0\x92\x75\xe4\xb1\x9e\xbb\x4b\x44\x29\xdf\x4e\x1b\x3f\x3e\x21\xe8\x70\xbf\x89\xb4\x72\x6f\x26\x33\x12\x31\xf7\x4b\x5e\xf5\x99\x23\x5b\x83\xd5\xe4\xb0\x15\x01\xa6\xe5\x4e\x03\xb2\x61\x96\x51\x52\xd3\xec\x05\x8d\x45\x65\xea\x58\xc3\xb1\x8f\xc5\x64\xda\xf8\xe3\x99\xd3\x3a\x6a\xce\x3b\x53\xd7\xe2\x57\x3e\x20\x3d\xaf\x06\x66\xe0\xef\x90\x95\x3b\xe6\xf7\x27\x11\x14\x9b\x11\x3c\x8f\xad\x69\xe9\xa3\x98\x3e\xd2\xc8\x1d\x44\xab\x15\x22\x33\x24\xc9\x84\x6b\xd3\x61\x86\xd8\x30\xd2\xf0\x38\x20\x72\x4a\xdd\x00\xf1\x04\xd1\x87\xe1\x0a\x6c\x4c\xc0\x99\x2c\x51\xcf\xa4\x8b\xce\x7b\x47\x27\x16\x77\x93\x13\x88\x26\xd3\x51\xa7\xd6\x9b\x69\x38\x31\xc7\x53\x4b\xca\x48\x30\x6e\xdd\xf5\x74\x89\xc2\x35\xae\x29\x2e\xea\x36\x93\x11\x53\xaf\x56\x87\xb4\xc6\xa8\xa4\x9e\x2c\xf1\x99\x52\x76\xeb\x45\x78\x9a\x1f\xfd\xb9\xb2\x13\xf1\x09\xbb\x5f\xba\x5d\xe2\x8f\xf5\x71\xa4\x2c\x40\x89\xa0\xcd\x1c\x6c\x9a\xd0\x23\x1a\xdf\xf7\x33\x5b\xd4\xa9\x49\xc6\x8d\x27\xbb\x84\x66\xb7\xfb\xa3\xee\xef\x92\x82\xd0\x3a\x6c\x36\xda\x35\xa3\xa8\x5c\x08\x02\x3a\xce\x13\xbf\x93\x90\x86\x2c\x19\xc7\x1a\x4d\xc6\x9b\xd6\xd3\x72\xcb\xed\x5a\x9b\xdc\xd5\x10\x0b\x36\x8a\x3f\x46\x71\x4f\xd5\x90\x2e\x80\x5d\x62\xcc\x6c\xa8\xbd\x80\x69\xba\x6f\x34\xb2\x42\xeb\x59\x85\x00\x86\xa4\xe9\x16\xd3\xa7\x56\x46\xf8\x34\x30\x1a\x37\xd3\xd3\xc0\x63\xd2\xf5\x7c\xd1\x55\x60\x78\xc2\xb5\x3d\xdc\xb5\x24\x77\xd2\x1b\x0e\xf2\x92\xd2\x5e\xa5\xa3\x94\x99\x1e\x4e\x47\x86\x29\x11\x0a\x26\xa7\xc8\xc8\x4a\x43\x6c\x9f\x1f\x86\xa2\x09\x43\x34\x39\xd9\xa7\xaa\x0f\xef\xa0\x91\x4f\x8c\x67\xa7\x4d\x03\x13\x4e\x6a\x12\x3b\x8a\xf3\xc4\xc2\xb4\x17\xeb\x31\x20\x81\xc9\x24\xc9\x3e\x0f\x27\xe6\x21\x4f\x48\x65\x2d\x1e\xd0\xc4\x5e\xf8\x9c\x74\x60\x1c\x5d\x9e\x88\x74\x91\x8f\xac\xf6\x90\xa4\x16\xc2\xb7\x08\xc4\xf1\xeb\x25\xc1\x15\xa3\x43\x5e\x76\xf1\x74\x84\xc2\xbb\x26\x9f\x60\xd6\x92\xc4\x56\x4d\x12\x08\xa4\x0c\xf4\x35\x39\x07\xf5\x48\xac\x97\x71\x11\xd2\x32\x7d\x1a\x77\x36\x63\xd7\x8b\x80\xf5\xc7\x32\x19\x2f\xbd\x7d\xe5\xcd\x4c\x99\x23\x9d\xc5\x30\xc4\xa2\x29\x8c\xeb\xbc\x0b\x6f\x2d\x8b\xa5\xb5\x79\x33\x27\x4d\x61\x7a\xea\xf6\x0d\x16\xe0\x47\x96\x49\xc0\xe6\x94\x0c\x67\x6e\xbb\x5b\xd2\x08\x5d\x39\x87\xa8\xd5\x8c\x95\xe6\xba\xc8\x81\x01\xb9\xb2\x5a\xda\x74\xe5\xb4\x32\x08\x01\xa2\x79\x31\xe9\x09\x47\x85\xd2\xd4\x6c\xb3\xd6\x4c\x7e\x3b\x0a\xb2\xc9\x48\x39\x20\x11\xc8\xb7\x0d\x55\xe4\x41\x21\x29\xb4\x8b\x70\xf9\x08\x48\x44\x7d\x0a\xc2\x39\x5b\x56\x55\x4e\xe0\x44\x16\x84\x7a\x72\xb0\x72\xdf\x8b\x71\xb1\x1d\x1e\xb2\xba\x48\x4d\x72\xeb\xe8\x3e\xde\xe4\x0b\xc7\xd1\xed\xd2\xb0\x0c\x72\x01\x78\xdd\x0a\x04\x5b\xd7\xf2\x51\x70\xd4\xd6\x64\xbe\x49\x81\x43\x73\x52\x39\x47\x90\x5d\x5b\x1b\xa6\x72\x18\x8b\x00\x73\x37\x23\xbe\x26\xe7\xd5\xa8\x0d\x68\x70\x58\x47\x07\x9c\x23\x71\x11\x9a\x9b\x5b\x03\x81\xb7\x0b\x7e\x1c\xcc\x50\x37\x89\x6d\x9e\x9b\xcf\xb4\x20\x3a\x75\x5b\x7a\xe6\xcb\x48\x61\x12\xe3\x38\x57\x7d\xdd\x41\x48\x6d\x4a\x22\xa9\xdc\xad\xf4\x23\x49\x45\x68\x36\x09\x4f\xa5\xae\x23\x7e\x52\x32\x8e\x4a\x92\x29\x6f\x95\xb9\x77\x18\x13\xd5\x4a\x8f\x30\x56\x6d\x8b\x39\x19\x08\x56\x9e\xd4\xb0\x8e\xfa\x8d\x50\x8a\xab\x0c\xb5\x60\x1a\xc2\x66\x13\x40\x2f\x98\x05\x3e\xa5\x45\x96\x39\xcc\x5d\x18\x6e\x91\x08\x9f\xf9\x66\xa3\x40\xc6\x5a\x9f\x1f\x13\x20\xb7\xd4\x10\x9d\x5b\x96\x9f\xb5\xc3\x2a\x0f\x6b\xd5\x1e\xb3\x12\xc9\x73\xfc\xb4\x4e\xda\x6c\x14\xd0\x0b\xa9\x3d\xaa\xcc\x8a\x0e\x6b\xae\x75\x94\x51\xe8\x6e\x96\x9d\x71\x38\x34\xa9\xbc\x21\x2c\x3f\x28\xa6\xc5\x28\x81\x85\x2d\xeb\xb7\x5d\x09\x65\x4b\x7a\xa8\xc1\x25\x71\x0c\x7c\x3f\x04\xce\x49\x2a\x20\x02\x86\x21\xe6\xa4\x77\xe5\x8e\x42\x68\x45\x9c\x28\x0c\x17\xed\x35\x7f\x8f\x12\x4b\x2d\xf1\xd3\x40\xd7\x37\x8e\x8b\x2e\x71\x35\x27\xf4\x1c\x27\xc7\x94\xc1\x02\x22\xb1\xe9\x62\x04\x4d\x17\x50\x51\x85\xf3\x58\x03\x94\x2e\xe0\xdc\x34\xe2\xa7\x1b\x8f\xa2\xbc\x12\x16\x40\x83\x4d\xba\x95\xae\x16\xa6\x9e\x8e\xaa\x9c\x97\xf8\x03\x8d\x6b\x81\xa4\x02\x32\x85\x94\x0e\x9c\x7d\x2b\x38\x9f\x80\xc4\xe7\xd0\x3c\x58\x47\x27\x8f\xc0\xad\x83\x1c\x82\x92\xb1\xaa\x88\x91\x2c\x0e\x02\xd9\x44\xf5\x4f\x95\xe1\x7b\x7c\x26\x1b\x44\xb4\x83\x58\x65\x5e\xb4\x46\x60\x10\xcc\xfc\xc0\xee\x51\x3c\x4c\xd4\x15\x96\x97\x8c\x0e\x4e\xb1\x49\xaa\x74\xb9\x56\x29\xb7\x46\x4f\xd3\xf1\x7a\x29\xd7\x51\x7d\xaa\x12\xce\x6d\x8c\x03\x56\xa9\x7c\x36\xea\x8a\x8a\x43\x78\x5d\xdc\x87\x80\xef\xb6\x05\x01\x03\x30\x35\x95\x94\x5c\x2f\xd3\x85\xb4\xc4\xf8\x9a\x39\xd1\x21\xb7\x9f\x02\xcb\x4b\x67\x86\x83\x34\x0b\x84\x8f\x94\x4a\xf4\xe7\xf1\x6e\x4f\xb1\x44\x43\xa9\x0b\xa1\x6b\xf2\x89\xab\x58\x0b\xc8\x36\xc3\xa3\xd5\x00\x90\x5b\xf1\x3a\x05\xab\x0a\xd1\xda\x5a\x35\x09\x21\x73\x48\x30\x24\x04\xbd\xe5\x7c\x91\x38\x21\x95\xad\x03\x89\x0c\x8d\x30\x0a\x63\x3d\x0a\x53\x04\x66\xb6\x4c\x4a\x77\x58\xdb\xca\x8b\xb9\xe8\x8f\x8b\xdc\x4b\x36\xb3\xdc\x96\x13\x6c\xd2\xa2\x54\xbc\x58\x88\xfa\x98\xb3\x38\x4e\x6b\x24\x9d\x2c\x6c\x1a\x18\xb4\x92\x55\x0a\xee\x38\x19\x25\xf3\x80\x9b\x50\x73\xa2\x28\xdb\xa9\xb8\xc2\x32\x28\x3d\xc2\xc6\xcc\x65\x77\x18\x01\x9c\x21\xb7\xf7\x6b\x09\x41\x5c\x48\xca\xd9\xdd\xce\x2c\x9a\x51\x58\x20\xb3\xb5\x18\x8e\x1a\x17\x5f\x91\x53\x79\x41\xb1\x1b\x76\x9e\x70\x6c\x31\x9c\x4f\x5d\xbf\x94\x24\x3f\x3b\x49\x3c\x31\x9b\x60\x8b\xbd\x02\x0b\xea\xc2\x64\xcc\xaa\x3e\x25\xad\x49\x5a\x92\xae\x57\xe2\xb4\x43\x43\xb8\xc1\xa7\xce\xca\xd7\x34\x71\x45\x51\xf8\xd8\x93\x37\xc3\x64\x3e\x19\x4f\xd5\xe4\x70\x80\x0e\x80\xa1\x15\xa9\xe1\x64\x15\xa8\x96\xe1\x12\x20\x94\x39\xd9\xf7\xb9\xe9\x61\x02\x39\x30\xd8\xab\x24\xed\x5b\x84\x9f\xc0\x9a\x6f\x61\x65\x95\x1d\x85\x13\xae\x94\x87\x6e\x41\x88\x7b\xa9\xf1\x14\x35\xdc\x04\x4b\x89\x69\x94\x10\x21\x13\x7e\x1b\xd0\x28\xa1\x25\xb0\x50\xe6\x4b\x19\xc9\x9d\x42\x34\x6c\x3d\xa2\xf6\x30\xb2\x4b\x3b\x1f\x59\x21\x59\x1c\x1d\x82\x12\xc2\xed\xc9\xb0\xcd\x3c\x80\x2c\x04\xb2\x2e\xb8\x22\x48\x76\x68\xc1\x77\x8e\x3d\x73\x62\x44\x4f\x30\x1d\x39\x58\x19\x38\x2c\x1b\x03\x1d\x01\x75\x96\xd3\x6e\x0a\x50\xce\xaf\x45\x3c\x62\x16\xe4\x6c\xb4\x35\x17\xab\x30\xe4\x4d\x6e\x5f\xd1\xdc\x14\x23\x7c\x7f\x2d\xd8\xf9\x59\x83\x5a\x8c\x46\xab\x36\x4c\xe3\x15\x2f\xb5\xb3\x6e\x1a\x4d\xc0\x96\xd0\x35\x42\x55\xa2\x22\x9e\x56\x47\x68\xae\xbb\x14\x47\xc6\x51\x99\x07\x4c\x79\x5c\x40\x96\xed\x08\x8b\x74\xe8\x2f\x30\x03\xa1\x38\xb2\x90\x6a\x79\x73\x54\xb3\x40\x5f\xd2\x68\x91\x76\xf8\x50\x3e\x38\xee\x6a\x59\x19\xa5\x32\xa7\x89\xad\xe4\xa7\x5b\x37\xda\x6b\x86\xa0\x5b\x6b\x7f\x7d\x50\x52\x7c\xc7\x02\x42\xca\x0c\xc2\x59\xd2\x68\x57\xb1\xab\x34\x5b\x4c\x96\x60\xc7\x82\x25\xab\x4e\xdd\x55\x47\x23\x65\x2b\xba\x25\xb7\x38\x1c\xcb\x79\xb1\xc9\x1c\x7a\xae\x98\x1b\xa6\x1d\x4f\x76\x7a\x37\x3a\x4d\xd0\x99\x37\x31\x1b\x1c\x50\xfb\x3a\xd9\xa2\x80\xcf\xd6\x07\xb4\x25\xab\xa2\x71\x03\x44\x93\x95\x6e\x82\x9b\xc9\x22\xb7\xb8\x19\x1b\x56\xec\x5e\x23\x49\x1b\x11\x2c\xb0\x14\xe6\xd9\x66\x3a\x8d\xf5\x0c\xca\xc9\x24\x0e\x08\xa0\x9a\x62\x02\xf6\xf4\x64\x4c\xdb\x38\x99\x2d\x4f\x5e\x41\x99\xb5\x6e\xb1\xca\xa6\x09\x0f\xe8\xca\x4e\xa7\x05\x7c\x5a\x46\x8e\x08\xc2\xc3\xf1\x08\xe5\x0d\xc3\xac\x93\x5c\x3e\x6c\xe3\x71\x58\xda\x87\xcc\x30\x2a\x7b\x5f\xf2\x3b\x02\xc9\xc3\x4d\x43\xd2\xa1\x1b\x9c\xd8\x7c\x0c\xaf\xd8\xbc\x76\xd3\x5d\x39\xf5\xa9\x04\xdf\x22\x93\x76\x03\xb5\x1b\x22\xa5\xd7\x38\xb6\x3f\xa2\xd2\x3e\x9b\x60\x30\x8a\xb4\x90\xd7\x39\xf8\x84\x39\x8d\xc5\x25\xcc\x49\x1b\x0b\xb2\x5a\xe2\xc8\xd1\x63\xcf\x23\xb3\xe3\x36\x45\x98\x4d\xb7\xdf\x1c\x2a\xbc\x2e\xe8\xd2\x88\xe7\xe5\x4a\x9e\x2e\x19\x76\x85\x28\x2b\xd8\xf5\x3a\xbc\x3c\xc2\xb3\xf9\xd4\xaa\x85\x69\x73\x40\x6b\xa1\xad\x22\xa5\x84\x70\xdc\x59\x96\x13\x0f\xab\xc6\xc3\x25\xbd\xd9\x34\x06\x67\xe8\x27\x6f\x98\x41\x3b\x28\x4d\x37\xa5\x36\xb4\xe2\xa2\x09\xd9\x99\x2b\xec\x17\x39\xa4\x59\x46\x90\x29\xcb\x13\xcc\x6f\x47\xab\x62\xb5\x8f\x4f\x3b\xd0\x51\x61\xb3\x43\xa7\x47\x9f\xc2\x81\x01\x81\x5a\x1d\xb9\x87\x91\x5d\x63\x4c\xad\xc2\x1c\xc2\x11\x63\x02\xdb\x8a\x93\xc5\xa4\x29\xd7\x18\xc7\xab\xc4\xfe\xb8\x45\xe3\x12\xf1\xb7\x98\xe9\x73\xe1\x29\x41\x82\x10\x5e\x72\x09\x01\xe7\x23\x31\x0f\x91\x99\x54\x40\x8d\x47\x1c\x6a\x88\x8c\x43\xd6\xac\x5a\xb8\xa8\xc9\x7c\xbe\xb6\x6a\xcc\x91\x28\x58\x75\xbc\x1a\x99\x86\x99\x1e\x32\x81\xb3\x19\xa2\x05\xab\x9d\x10\x99\xde\x68\x6e\x23\x18\x0b\x63\x42\xc0\x18\x3a\xae\x2a\x6c\xc7\xa6\xc7\x84\x51\x64\xb1\x9e\x1e\x11\xcc\x06\xb4\xc2\xed\xb5\x13\x39\xe2\x40\xc5\xcf\x5d\x1f\x2e\x27\xd2\x7e\x91\x6c\x59\x93\xd8\x18\xe8\x4c\x33\xaa\x71\xcd\x18\xc4\x10\x33\xc4\x8d\x55\x31\x4d\xc1\x35\xe2\x12\x60\xee\x71\xeb\xcc\x5b\x1b\x30\xa6\xbc\x9d\x2d\xe8\x91\x0c\x18\x6e\xb2\x8c\x66\x8e\xef\x82\x93\xe4\x2d\x50\x92\x89\xd5\xe9\x66\x55\x6c\x29\x3d\xb3\x34\x12\x8f\x39\xaf\x35\x38\xbe\x41\x56\x33\xae\xa1\x54\x87\x30\xda\xce\x90\xb4\x99\xec\xfb\xc7\x6d\x58\x1f\xd7\xd2\xde\x9c\xa5\xe5\x8a\x68\x93\x05\x89\x54\x5b\x07\x9a\x0f\x1b\x90\xf3\xeb\x13\x2b\x6a\xd2\xb6\x75\xf6\x8d\x49\x40\x60\xe1\x13\x1a\xb9\x9c\x42\x6b\xcd\xcc\x6d\x44\x06\xb2\xae\x51\x35\xe2\xb1\xd0\xc9\x49\xf2\x11\x21\x55\xa7\xb9\xa1\x26\x48\x81\x13\xa1\x3f\x6e\xcc\x84\x3f\x98\xcd\x72\xa9\xed\x38\x7b\x53\x96\x28\x36\xa1\x68\x4e\x31\x44\x93\xd1\x65\x8e\x4e\x53\xaa\x91\xe6\x44\x93\xcd\x67\xbb\xdd\x70\xb6\x82\xaa\x8d\x36\x42\x09\x2b\x34\x2a\x52\x59\xa8\x63\x6a\xda\x88\x48\xa7\xb4\xe3\x1d\x6f\xc0\x52\x37\x9b\x0d\xf7\xae\xd4\xe5\xd8\x26\x47\xed\x59\x68\x08\xb1\x16\xdb\x27\x99\x51\xa6\xb3\x95\xb9\xd2\xf2\x69\xb3\xe0\xc5\x53\x89\x57\x5c\xb5\xac\x4d\x76\x04\xed\x0e\xc7\x76\x36\x31\x59\x4e\x96\x91\x8d\xb3\xd3\x2b\x25\x89\x74\x3f\x3d\x4c\xa0\xa9\x5b\x6b\xd9\xb0\xb0\xe7\xd2\x7e\x08\x62\x02\xd1\x52\x20\x25\x33\x73\x2c\x61\xa3\x0d\x3f\x12\x41\x19\x45\xd3\xb8\x9a\x6e\x45\x29\x11\x3b\xa9\x61\x69\xf3\x22\xb7\x93\x2b\xa5\x7b\x53\x19\x67\xe4\x98\x00\x94\x30\x6a\xa8\x99\x37\x75\x51\xca\x18\x8f\x24\x1f\x73\x45\x61\xae\xd7\xb5\xae\x3b\xe4\x91\x89\x9c\x15\x80\x57\x0d\xa9\xa4\xa6\x44\x01\x3e\x03\x18\x70\x97\xca\x69\x68\xa7\x73\x40\x90\x60\x22\xcd\x8e\xec\xb9\xce\x2d\xda\x29\x5e\xba\x3e\x51\x6f\x93\x51\x61\x8e\x38\xd2\xc6\x13\x78\xaa\x46\x43\x2f\x15\x35\x19\x41\x00\xea\xcf\xa7\xc4\x56\x90\x1c\x92\x48\xf2\xce\x07\xaa\xbf\xc7\x71\x71\x02\xc1\x99\xcd\xef\x36\x79\xb2\x53\xb0\x6a\xd4\x9e\x90\x09\x58\x97\x3a\x13\xe8\x9c\x12\x9f\xbc\xc4\x91\x1c\xd7\x9b\x49\xb9\xc1\xf2\xbe\xbd\x4e\x47\x8c\xdd\x04\xfe\x61\xb1\x0b\xa2\x44\xda\x7b\xe8\x38\xb5\x12\xe5\xd4\x6e\xe4\xca\x5b\x25\x3b\x1d\x6b\x8d\x8c\xc9\x93\xad\x8f\xae\xcc\x4a\x5c\x0f\x8b\x62\x0c\x61\x9e\xb7\x19\xe5\x92\x7d\xa0\xfd\xd3\x9a\x57\x03\x36\xe2\x67\x79\x8b\xce\x26\xca\xc6\x75\xd3\x32\x0c\xd7\x5b\xb2\xa9\x17\xc7\x91\x1e\xf2\x33\x7b\x03\x6f\x4d\x95\x88\xe9\x49\x6a\x8c\x24\xd3\x43\x5d\x70\xa0\xc0\x04\x9d\x74\xf1\x0c\x2f\x47\x1c\xb0\x54\x2e\x13\x8e\x33\x86\x4b\xd8\x0a\x2d\x96\x93\x9c\x2a\x27\x4b\x1c\x8e\x47\x6b\x83\x93\xbc\x52\x69\xd8\xa9\xb6\x2d\xd1\x83\xdf\x1c\x37\xe1\xb8\x16\x8a\xd9\x8a\x80\xea\x69\xbd\xcf\x12\xd5\x13\xe2\x2c\xb5\xe6\x88\x92\x28\xf1\x18\x38\x2b\xd6\xd1\x80\x4c\x4e\xe7\x04\x5c\xcf\xe9\xed\x48\x59\x69\x59\x80\x8f\xf7\xd8\x36\x20\x5b\x07\x0b\x7c\x6c\x46\xf8\xe9\x2c\xdd\x96\xcd\x2a\x37\x08\x61\x84\xd1\x85\xa5\xa0\xd5\x41\x32\xb0\xd1\xd4\x33\x5a\x7c\x83\x36\x9d\xa2\xb4\xa8\x30\x44\xb0\xc3\x10\x3d\xd1\x9b\x6c\x44\x1c\x9d\xe2\x34\x9b\x71\xb8\xd7\xd4\xdc\x28\x32\xdd\x72\x3f\x56\x39\xa9\x35\x46\x59\xb2\x91\x9a\x3c\x50\xc7\xf5\x3e\xf3\x03\x91\x6a\x10\x1a\x1c\x37\xf4\x31\x53\x7d\x6d\x07\x84\x62\x67\xeb\x22\x98\x31\xc8\x5e\x9e\xb8\x98\x8b\x39\x41\x84\xa4\xfb\x4c\x86\x66\xdb\x29\xb6\x0c\x05\xc4\xd0\x52\xd6\x4b\x5d\xe9\xe0\xa6\x0b\x97\xe3\xcc\x89\x80\x99\x3c\xb2\x9c\xe6\xb9\x17\xb6\x5b\xcf\x11\xcd\xb0\x65\x72\xd6\x5e\x52\x1c\x94\xe8\x48\x8a\xe5\x6e\x3c\xb5\x67\x29\xb4\x6c\xf9\xe9\xa4\xde\x1f\x27\x08\x86\xb8\xd2\xd4\x3c\xb2\x8b\x61\x52\x4c\xbb\x75\x69\x12\xb1\x55\x58\xa7\x44\x53\x05\x5b\x8f\xe5\xe5\x02\x18\x19\x7c\x4c\xda\x92\x6b\x49\x03\xa9\x16\x1e\xdf\x95\x13\x74\x9b\x4d\xc1\x36\x53\xd9\xc9\xf0\x50\x64\x6a\xb5\x50\xa7\xf5\x68\x3c\x59\x75\x27\x61\x3a\x9e\xcf\xb2\x16\x43\x4f\xfb\xf5\x30\xd6\xc7\x70\xa9\x15\x26\x13\x24\xf2\x61\x6d\xa9\x73\x57\x4d\xac\x43\x6e\x58\xf1\xc1\xc0\xb8\xce\x69\x23\x6b\xec\x1d\xb5\x35\x93\x7b\xdb\x75\xa2\xa1\x50\xb5\x1f\x8b\xcc\x64\x2c\x55\xee\x56\x5d\x8c\x87\xfe\xa9\xa3\x36\x5a\x6c\x21\x81\x40\xcf\xe4\x59\x41\xcf\x8b\x42\x98\xd6\xf4\xc2\x73\x86\x86\x03\x6d\x1d\x9e\x3b\xee\x94\xe6\x24\x0e\x9b\x3c\x2c\x4e\x68\xa9\x8f\xb2\xfc\xa8\x1c\xcc\x8a\x74\x6a\x5d\x20\x54\x81\x37\xe5\x1d\x2c\x77\x0e\xb3\x41\x48\x65\x89\x28\xce\xd4\x5d\xa5\xd4\xe8\xc0\x5b\x93\x2c\x32\x04\x92\x35\xdd\xa9\x81\x4e\x60\x45\x71\xc4\x99\x0f\x80\xd7\x38\x30\xba\x2d\x17\x2c\x34\x4f\xc9\x1d\xb4\xc9\xe1\x55\xc2\x94\x4c\x45\x13\x75\xb2\x38\x94\xe5\x34\xd3\xb8\xcd\x2c\xee\x74\x86\x94\xf9\x59\x01\xc2\xbd\x62\xcc\x50\xa3\xda\x6b\x2d\x7b\x3a\xd4\x87\x5c\xe8\x16\xfb\x14\x62\x6a\xa8\x2d\x85\x93\xbe\xe8\x16\xdd\xa9\x0d\xea\x4d\x1a\xa9\xcb\xc5\x78\xbc\x4e\x4d\x85\x80\x84\x94\xa4\x96\x27\x97\x5d\xc1\xae\xd5\xe5\xa4\x3e\x59\xaf\xf5\x1a\xcc\xbb\xb6\xd9\x1f\x63\xd3\x9a\x39\x8b\x75\x82\x3b\xdb\x56\xd4\x73\x0a\x3d\x46\x07\xb9\xeb\x22\xa3\xa1\x75\x8e\x9c\xcc\xb7\x70\xb8\x91\x8f\x5e\x87\xed\x54\x33\x5e\x2b\x88\x69\x2d\x6a\x5d\x3f\x46\x26\xdb\xe0\x23\x0c\xe2\xe7\xc2\x8c\x16\x5c\xad\x70\x35\x84\xda\xa2\xda\x7a\x46\x4a\x63\xca\x9b\xab\xa7\x80\xf5\xaa\xf5\xc6\x38\x48\xbb\xe3\x06\x1c\x26\x09\x72\x34\x67\xed\x91\x58\x43\xe8\x54\x39\xf2\xd8\xc9\x5f\xe1\x8e\x8d\x09\x4e\xce\xeb\xfa\xa4\xa1\x15\xd8\x00\x32\x71\x10\x50\x16\xa6\x14\x0b\x0a\xca\x9c\xf2\xa6\x43\xda\x14\x4a\xb9\xb4\x8c\xa1\xe1\x4f\x32\x61\x29\xec\x4f\x73\xcf\x2f\x37\xcb\x9a\x91\x68\x0c\x41\xcd\xa6\x80\xe7\x53\xc6\x43\xf3\x03\xbe\x3b\x70\x3b\x2b\x91\x8f\xfb\x2d\xbb\xb5\xc6\x60\xde\x51\xcb\xe4\xfa\x0f\x6d\x35\x88\x85\x46\xba\x36\xd1\x4e\xad\x83\xb2\x00\x00\xc0\x6f\x14\x66\xcd\x2a\x91\xb9\x51\x62\x29\x59\x9e\xac\x35\x83\x58\x32\x38\x89\x14\x8d\x2e\x34\x80\x2e\x34\xb1\x31\x28\xba\x95\xf6\x7a\x23\xed\xc1\x69\xa1\x01\x44\xda\x83\x46\xb2\xd5\x88\xf4\x01\x00\xa4\x81\x28\x46\x80\x58\x73\x06\xb1\xb4\xbc\xda\xa2\x4a\x6e\xa5\x11\x10\xf7\xa0\x15\x4f\x48\x2b\xaa\x48\x23\x1a\x72\x2b\x52\x59\x27\x51\xd9\x69\x49\x22\xcd\x92\xca\x1a\x71\xb9\xb5\xa7\xc4\xe5\x7c\x16\xa8\xba\x21\x29\xc2\x88\x34\x39\xee\xfb\x87\xa5\x4e\x96\x3a\x76\x05\xbb\x76\xe5\xf5\x06\xbd\xca\x6b\x2b\x38\x8f\xed\x30\xed\x0d\x7a\x5a\xed\x0d\xee\x50\xf4\x0e\xd4\xfe\x1d\x8a\x0c\x27\x77\xc8\xf8\x0b\x8e\x7e\xc1\x86\x77\x10\x82\x20\xc8\xf7\x51\x06\x76\xea\x7b\x71\xe6\xc3\x47\xaf\x28\xc3\x2c\x7d\x8f\x78\xf8\x30\xf9\x91\xd6\x9f\xf1\x74\xe6\xe3\x17\x64\xfa\xcb\x70\xfc\x5d\x04\x7e\x58\xc1\x2c\x0d\xa8\xf7\x4d\xfd\xb0\xba\x2b\xbc\xe3\x2f\xd7\xfc\x6c\x17\x88\xfe\xc0\x7b\xf0\xda\x3c\x2b\xaa\xf2\xf1\xf7\x4b\xeb\x2f\xd9\x20\x0e\xb7\x5f\xc2\x6f\xdf\x06\xaf\xef\x96\x1b\x14\xfd\xdf\x7b\x75\xe9\xdd\x95\x55\x11\x3a\x55\xef\xeb\xed\x9e\x34\xd7\xdb\x85\xa9\xf7\x7c\x97\x5d\x35\xe8\xfd\xfd\xef\x5e\x29\x5e\x32\x8c\xf5\x06\xbf\x1f\xed\xb8\xf6\xbe\xfc\x84\x7c\xeb\x0f\xaa\x07\x92\x05\x8a\x4a\x6b\xea\xe3\xef\xdf\x06\xd5\xc3\xed\x72\xf6\xbf\xdf\x4a\x1f\x5f\xea\x1f\x88\x57\xc0\xbf\x22\xbf\x3d\x7e\x7e\xd7\xd8\x7f\x57\x97\xab\xc6\xfe\x7b\x77\xb9\x69\xec\xbf\x8b\xcb\x45\x63\xff\x9d\xfe\xc1\x3d\x63\xff\x7d\xfc\xff\xd8\x35\x63\xaf\xe4\xf0\x00\x1e\x5f\x6e\x0c\x7b\x5d\x4e\xdc\x6e\xf9\x7c\x91\x18\xfe\xdb\xe3\xf7\xae\xf3\x0a\xf7\xff\xe4\x75\x5e\xaf\x29\x92\xaf\xc6\xea\xd7\xd1\x99\xd8\xbf\xfc\x1a\x9c\xd7\xe4\x94\xf7\xbd\xf9\x57\xdc\xa8\xf5\x9a\x80\xfc\xf8\xef\xbc\x14\xeb\x35\x25\xe1\xf1\x5f\x77\xc1\xd5\x6b\xbc\xe6\x87\x01\xff\x57\xde\x55\xf5\x9a\x12\xfd\x7a\xec\xc7\xbf\x3d\xfe\x3b\x6f\x96\x7a\x4d\xd7\xfa\x7e\x0f\xff\xf2\x25\x51\xaf\xf1\xb2\xaf\xfb\x33\x79\xee\xcf\xbf\xe5\x6e\xa7\xd7\x73\xf4\x72\x8d\xd3\xff\xce\x8b\x9a\x3e\x9a\x73\xf8\x3f\xfe\xe3\x7f\xdc\xfd\xc7\x1d\xf7\x94\xd3\xba\xbc\xab\x02\xef\xce\xae\x2a\xdb\x09\xee\x12\xaf\x0a\x32\x77\x70\x57\x05\x76\x75\x2b\xf3\xae\x00\x4f\x97\x2d\xdf\x55\xd9\x9d\x7d\xb7\xf6\xb6\x6a\xe6\x44\x5e\x75\x5e\x18\x3c\x3b\x79\x38\xa3\xfc\xbf\xae\x19\x26\xef\xda\xeb\x55\x50\xae\x9b\xa5\x25\x7c\x45\x72\xfb\xb9\x40\xc5\xa1\xe3\xa5\xa5\x77\x27\x72\xda\xff\xb8\xfb\x0f\xf8\x7f\xfc\xf4\xcc\xe1\x25\xc3\xf8\xd3\xba\x54\xdd\x17\xf7\x48\xbf\xff\xed\xfe\x4d\x96\xfd\xd7\x6b\xd1\xf5\xee\xdf\xdf\xbf\x3d\xdf\x21\xfb\x70\xa5\xf2\xf8\xb6\xcb\x83\xb0\xff\x7b\xf1\x78\xbd\x99\xf3\xf1\xf1\xb1\xf8\xc7\x3f\x8a\x81\xf7\x50\x5e\xd8\x7f\xac\x06\xde\xc3\xdf\x77\x71\x5d\x06\x44\xbd\xdb\x79\xc5\xeb\xcb\x4c\xbd\x87\xa6\x08\x2b\xef\xde\x7b\xf8\xfb\x15\xf1\xb5\xcb\x57\xc0\xf3\x12\xfa\x49\xf1\xd5\x2a\x5f\x33\x56\x85\x89\x97\xd5\xd5\xe7\xcd\xcf\x95\xdf\xc3\x71\xa9\xbb\x20\xfa\x76\x06\xc8\xeb\x32\xd0\xb2\xf7\xec\x5d\x64\xf5\x49\xe3\xbf\x7d\x5a\x0a\x3d\x56\x5f\x3e\x67\xe4\xb1\x1a\x94\x5e\xf5\x8a\xd7\x57\xc2\x18\x0c\xcf\x03\x70\xe6\xc1\xf7\x2a\xd1\x2b\x4b\xdb\xf7\xde\x70\x10\xfe\xed\x1d\x7f\xf7\xd5\x83\x6b\x57\x76\xff\xcb\x93\xec\x6e\xef\x17\x24\xa5\x97\xba\x97\x2b\xb9\xdf\xdc\xd0\x7a\xc9\x37\x71\xb9\x75\xb8\x3a\x7b\x33\xf4\xd1\x4b\xab\x45\x58\x56\x5e\xea\x15\xf7\xbd\xe4\x4a\xb5\xf7\x96\x89\xfe\xa0\xf8\xf9\x67\xef\x21\x4b\xef\x7b\x67\xf4\xbd\xd7\xd8\xfb\x9f\xe2\x71\xe2\xac\xbc\x60\x71\xbd\xb3\x04\x1e\xb6\xe1\x99\xe8\xa0\xea\x7f\x0e\xee\x15\x45\x56\x7c\x0a\x7e\x66\xf3\x5a\xf8\x21\x37\x7e\xb6\xdb\x7d\xca\xcf\x7d\xf5\xa2\x7d\xd5\xdf\x9e\x54\xef\x4b\xd5\xff\xf9\xe7\xea\xa1\xf0\x92\xec\xe8\xfd\x60\xaf\x6f\x37\x68\x3f\xa1\x38\x4b\xf5\xd5\xd5\xc0\x1f\x94\xff\xaa\xfa\x6f\x27\xc7\x35\x07\xf3\xb5\xee\x6d\xfb\x0f\xbd\x7a\xd5\xf6\x5a\x77\x6b\x7b\x96\xc1\xb7\xfe\x77\x2d\x0b\x13\x56\x2f\xd6\xc2\xb9\x24\x53\x29\xef\xec\xd4\xbd\x2b\xb2\xa6\x3c\x9b\x8f\xb3\x39\x71\xc3\xc4\x4b\xcf\x3e\x72\x79\x97\xed\xee\xc2\xaa\xbc\xa3\x24\xf1\xce\xbb\x9a\xa4\xb3\x35\x39\x63\xfa\x9f\xff\xf3\x0e\xe4\x79\x91\xdd\x2c\xc7\x2f\x77\x4a\xd6\x94\x5f\xee\xb4\xa2\x3e\xfb\xee\xde\x0d\xd1\x31\x3c\xe3\x39\xa3\x79\x63\xa7\x72\xbb\xf0\xd2\xea\x09\xe5\x5d\xe0\x85\x7e\x50\xdd\x6d\x4f\x6f\xa1\x8a\xac\xb9\x55\x3d\x11\xfd\xe5\xee\x9a\x00\xe6\x9f\x25\x74\xc9\x73\xf8\x81\x8e\xf3\x74\x63\xdf\x99\xc4\x15\xe4\xfe\x92\x13\xfb\xce\x0d\xcb\x3c\xb6\x4f\x5f\xee\xc2\x34\x0e\xd3\xb3\x25\xfe\xc8\xe1\x59\x7a\xd5\x13\x33\x67\x61\x5d\x31\x34\x61\x15\x5c\x80\x9d\xba\x38\xf3\x70\xc6\x9d\xd6\xc9\xd6\x2b\xce\x4c\xde\x44\xdf\xff\xbe\x6d\xde\x85\xd5\xf9\xdf\xff\xb2\x55\xfe\x68\x88\xf3\x22\xcb\xb3\xd2\x9b\x7b\x59\xe2\x55\xc5\xe9\xc3\x55\xf2\xde\xc3\xd3\x50\x5f\xa5\x47\x5f\xdf\x9e\xae\x93\xbf\x24\x9f\xb8\x60\x3d\xeb\xe9\x20\x1b\x94\x4f\x99\x9e\x7d\xaf\x22\xb3\x24\xaf\x2b\xcf\x55\xab\xd3\x25\x79\xfd\xe7\x98\x06\xe9\x4b\x72\xf8\xcb\x0d\xcd\x4f\xc1\x8a\x71\x8e\x4d\xee\x7b\xd7\x41\xef\xf5\xfb\x03\xfb\x51\xb4\xab\xe0\x21\xb1\xdb\x7b\x64\xf0\x87\x6d\x2e\x52\xef\xf5\xfb\xbf\x0c\x27\xfd\x41\xfc\xe7\x2c\xf5\x07\xc1\x63\xfa\xcb\xfd\x33\xce\xf8\x13\x9c\xb9\xed\xba\x61\xea\xff\x52\x65\x79\xaf\xdf\x87\x7e\x08\x76\x9b\x55\x55\x96\xf4\xfa\xfd\xfe\xc0\x79\xb4\x7f\x90\x40\x71\xeb\xef\x8f\x91\x88\xbd\x5d\x75\x21\x50\x3f\xde\x7b\x0f\x45\xd6\x90\x59\x5a\xd9\x61\xea\x9d\xd7\xce\xd7\xaf\x0f\xbb\xb0\x28\x9f\xa4\x4e\x06\x61\xec\xf6\x07\xee\x63\xfd\x10\xa6\xa9\x57\xb0\x9a\xb8\x78\x52\x8a\xfa\xe1\x92\xd9\xe4\xe1\xa6\xef\x8f\xbd\xab\xbe\xf7\x06\xaf\x60\x1f\x7b\xeb\xde\x20\x7c\xac\x2f\x29\xb2\xb2\x3a\x3d\xb3\x42\xc6\xa1\x97\x56\x8a\xe7\x54\xf7\xfd\x6b\x12\xd1\xc1\x07\x54\xbd\x41\xf5\x07\x8d\xae\x43\xfd\x86\x8e\x3b\x28\x5e\xd4\x23\x80\xab\xfe\x20\x7b\x79\x77\xe0\xb0\x3f\xf8\xdd\xc9\xe2\xf2\x4b\x36\x38\x1b\xad\x2f\xc5\xb7\xb3\xd9\xdf\x85\xd5\x87\x54\x2b\xc5\xe3\x07\x65\xbf\xf7\x2e\x59\xc8\x2f\xb7\xa3\x87\x9d\x77\x5f\x3c\x9c\x51\x0d\x8a\xb3\xd8\xca\x77\x36\xf7\xbb\xf3\xe4\x95\xed\x7d\x8f\xfe\x6c\x84\xdf\xa1\x79\xc3\xd9\xab\xa6\xbb\xb0\x7a\x02\xff\x43\x8b\x5d\xc7\xf1\x35\x53\xeb\xdd\xc5\x32\xdc\xed\xb2\xe2\x6a\x29\x1e\xf6\xe5\xf7\xad\xc7\x73\xab\x57\x8f\xff\x06\x5b\x52\x65\xbe\x1f\x7b\x67\x1e\xd5\x0b\x89\xcf\x12\x19\x7f\x2d\xde\x2e\xb1\x4f\x36\xc1\x89\xed\xb2\x3c\xaf\xab\x0f\xce\x55\x61\xcb\xfb\xde\x0b\xb3\xbd\xfe\xdf\x7a\xd7\xf5\xb7\xf7\xa5\x67\xbb\x6e\xef\x4b\xf5\xb7\xeb\xef\x53\xf1\xe0\x13\x54\xbf\x16\xbf\xbd\x45\xf2\x76\x2c\x5e\xd8\x2d\xdf\xb3\x7b\xf6\x76\xde\xf7\xe6\xc7\xd6\x54\x2d\x08\xcb\x5b\x02\xf7\xbb\xbc\xc8\x8e\xa1\xeb\x95\x37\x67\xbd\xbc\x8c\xd6\x75\x71\x0f\x53\xff\xce\x7e\xe7\xaa\xdf\xde\xdc\xec\x53\xa7\xfd\xbb\xa3\xfb\xdc\xec\xe5\xe9\xdf\xed\xbd\x3f\x13\x02\xff\xbf\x1b\xff\xbf\xd5\x8d\xbf\x1a\x32\x5e\x95\x96\x0f\x17\x23\xf8\xe4\xb5\x7f\xed\x95\x95\x9b\xd5\x55\xef\xf1\xb1\xb8\xe4\x8a\xbb\xff\xe8\xf0\x17\xbf\x0e\x7f\x7b\x71\xf7\x2f\x6f\x7f\xee\xed\x5f\x48\x95\x97\x9c\x2b\xe1\xee\x74\xff\xeb\x99\x4e\x98\xf6\x06\xde\x4b\xe3\x4a\x0d\x3b\xef\xc7\xda\x7a\xd5\xdf\xcf\x86\xb6\x77\x5d\x99\xca\x81\x77\x31\xb8\xbf\xf5\xff\x85\x21\xc5\xb5\xe2\x6a\xd0\x7b\xaf\x18\xfc\x93\x60\xe3\x59\xa3\xa9\xbf\x16\x75\x7c\xbf\xdd\xb9\x4b\xef\x6a\xff\x4f\x8b\x43\xfe\x60\x1a\xbf\x0d\x48\xde\x01\x7e\x3f\x32\xf9\x7e\x87\x3f\xc3\x46\xfd\x48\xac\xf2\xbf\xb4\xa9\xfd\xf5\x9a\x13\xb8\xb8\x47\x27\x67\xc7\xa1\x57\xa7\xd7\xa6\x6e\xef\xf1\xf1\xcc\x70\xb6\xbb\x4b\xed\x63\xe8\xdb\x55\x56\x0c\xca\xc7\xec\x6f\xbd\x34\x73\xbd\xde\x97\xe7\xc2\x87\xba\xf4\x0a\xe0\x7b\x69\x35\x48\x3f\xab\xce\x63\xbb\xda\x65\x45\xf2\xb5\x7a\x08\x4b\x26\x2c\xbc\x5d\xd6\x3e\xfe\xf4\xd3\xff\x5d\x3e\x84\xa9\xeb\xb5\xd2\xee\xbe\x77\x2b\xed\x9d\x35\x29\x2c\x45\x95\xa3\xdf\x01\x9c\x8b\x7a\xfd\x7f\xfc\xe3\x6d\xa9\x56\x84\xae\x97\x56\x4f\xcd\x6c\xe7\x92\x80\xf5\xb6\x34\xfe\xda\x13\x6d\x27\x4c\xab\xac\x0c\x7a\x83\xf3\x33\x97\x56\x5e\x7c\x7d\x5c\xad\xc8\xeb\xc3\x78\x2a\xf4\x7e\x1b\xa4\x57\x04\x5c\x6e\xbb\x8f\xbd\x70\x65\x9f\xbb\xfe\x98\xde\xca\x82\x2c\xf5\xce\xa5\xe7\xdf\x97\x72\x51\x5d\x5f\x1c\xe6\xf2\x2d\xc9\x5b\x61\x6f\x70\x7e\x1a\x8e\xaf\xbf\x18\x7a\xfd\x25\xe9\x17\x5a\x8b\x30\xad\xdb\xc7\xf4\xa5\x2f\x97\x82\x5e\xff\xbf\x1e\x91\x3f\x19\xdf\xe7\xec\xd1\xe1\x75\x8a\x3c\xe7\xa3\xf5\x1e\x72\xdb\xf7\x36\x6f\xc2\x8e\x97\x04\xf5\xb7\xda\x41\x78\x7b\x32\xbf\x56\x3f\xff\x5c\xfd\xf4\xf8\x58\x7a\xf1\xee\xc1\xcd\x9c\xfa\xe2\x18\x3c\x3d\xdc\x7c\xe0\xaf\xfd\xe2\x97\xc7\xea\x3c\x09\x4b\xaf\x5a\x78\xbb\x6a\x10\xbe\xbc\x6b\x59\x3e\xa8\x1e\x7b\xd7\x97\xd5\x25\x60\xe9\x85\xe9\x5d\xf5\xb7\x27\x80\x6b\xd9\x97\x77\xd1\xcc\x6d\x8d\xfc\xb5\x18\x84\xbf\xbd\xe4\xc2\xce\x6e\x0b\x63\x36\x28\x07\x69\xff\x96\x70\xf7\xda\xc5\xa7\x45\xd5\xfe\x15\xf9\xed\x1a\xde\x38\x5e\x18\xdf\xdf\x9f\xdf\xa1\xfb\xf4\x6f\xc5\xd5\x93\x86\xd1\x2f\x48\xbf\x0f\xdf\xde\xfa\x03\xfb\xd7\xe1\x6b\xf0\xf3\x2b\x5c\xdc\xfc\xe7\x73\xed\x13\xb2\x24\x4c\xef\x9f\x83\x26\xfb\x92\x54\xb0\x3f\xc8\xa0\xe1\x6b\x0c\xef\x60\x86\x17\x98\xf2\x02\xf3\xed\x9f\x38\x45\xba\x44\x59\x59\xe1\x96\x8a\x17\xdb\x55\x78\xf4\xb4\xec\x26\x9c\xc7\xf0\x75\xf5\x63\x76\x7d\x53\xec\x86\x38\x55\xde\xad\xf0\xbd\x2b\x31\x78\x4e\x76\x9c\xbd\x2a\x1a\xd8\x8f\xe9\xb9\x33\xf1\x63\xfa\xeb\xf0\xb7\x67\x19\x42\x8f\x18\x3a\x88\x2f\xff\xff\xde\x7e\xb1\x07\xa7\x2f\xf1\xb7\x7f\xf5\x39\xd9\xb3\x49\xc1\xce\x16\xe5\x95\xf7\xf2\x3c\xda\xde\x73\x3e\xa3\xb3\x47\xfa\xe8\x0d\xc2\x87\xcb\xc9\xdd\x99\x86\x5d\xc7\x95\x5a\x65\xc5\x79\x61\x4f\xbd\xe6\x2e\x7c\x88\xc3\xed\xc3\xad\xe4\x41\xf4\x92\xac\x38\xbd\xe4\x69\xbc\x81\x5c\x5b\x3f\x25\xb2\x7c\xa9\xbe\x46\x85\xde\xae\xbc\xef\x3f\x94\x5e\x75\xdf\x3b\xaf\x20\xbf\x78\xa9\x93\x9d\x23\xab\xde\xa0\x57\xd8\x4d\xef\x55\xda\xc7\x07\xd7\x73\xb2\xc2\xae\x6e\x49\xcf\xce\xdc\xdd\x6a\xc3\xec\x25\xc7\xee\x43\x98\x3d\x9c\x1d\x87\xd7\x89\x60\x1f\xc2\xb4\xac\xec\x38\x16\xbc\xd3\x36\xb3\x0b\xf7\xbe\xff\xed\x39\xb5\xfb\x8b\xf5\x0f\xd3\x5d\xf6\x31\xba\xf9\xfd\xb6\xbd\x71\x4d\x96\x74\x7b\xb9\x46\x6b\xd7\xac\xb3\x59\x53\x7e\x7b\xbb\x8c\x64\x75\x95\xd7\x6f\x43\xb8\x6b\x8a\xeb\xd7\x4c\xbe\x4a\x88\x7b\x66\xf9\xe2\xd6\xe8\x1a\x33\x1c\x5f\xb6\x28\x5f\xa3\x2b\x83\xac\xf9\xe0\x4d\xbd\xca\xc7\x75\xab\xf2\x06\xd5\x7f\x21\x7f\x7b\x83\xf4\xdc\x52\x3a\x7a\x45\x6c\x9f\x2e\x0d\xbe\xfc\x41\xed\x35\x7d\xe1\x1b\xc2\xd7\xa5\xfa\x03\xe9\x1b\xdd\xcf\xd0\xbc\x66\xe8\x92\x8d\xd3\x7b\x9b\x3c\xeb\x6a\x83\xb5\xb0\x8a\xbd\x8f\xe9\xb3\x2e\x08\xdf\x02\x7d\x94\xc5\x55\x65\xbc\xc2\x4b\x9d\x77\x29\xb8\x5e\x92\x31\x7f\x7d\x9d\xa6\xcf\xeb\x3f\xec\xb2\x82\x3e\xaf\xd4\xcf\xd0\xc5\x25\x40\xfa\x44\x05\x8b\x81\xf7\x6b\xf1\x5b\xff\xdb\x3b\xaa\x59\xca\xa5\xef\x47\xf4\xa6\x78\x0f\x59\x6a\x68\x82\x77\x2a\xab\x22\x8b\xde\x7a\xbb\xde\x7d\xd5\xff\xf6\xa4\xa0\xaf\xb2\x1d\x7f\x04\x7a\x4f\x4d\xb9\xf8\x7f\xdf\xeb\xdd\x0b\xe5\xa7\x39\xf5\x1e\xfe\xe2\xfe\x54\x4f\xca\xfa\x58\x0c\xaa\x8b\x9a\x3e\x86\x03\xef\x52\xf7\xed\xfd\x86\xac\xed\x54\xe1\xd1\xae\x3e\x0e\xf2\x87\x0e\xbe\xa4\x7c\x7c\xdb\xa7\x37\xe5\x1f\x38\x7b\xa9\xbd\x48\xbd\x4e\x3f\x4e\xc8\x77\x9a\xf7\x59\xbe\xb7\x37\xfa\xf8\x27\xf3\xfb\x0d\xba\x8b\x9f\xfc\xb9\x02\x7f\xce\xca\xb7\xfb\xfe\xd7\xea\x81\xbd\x18\xb1\xec\xdf\x63\x81\xbf\x63\x7a\x9f\xa7\x75\x5d\xc4\x4f\x99\x36\x2f\x1d\x39\x87\x1a\x8f\xd5\x67\x76\xcb\x29\xbc\x77\x43\xf7\xe4\x66\x78\xcd\x5d\x76\xff\x84\xed\x1d\xae\x97\x6e\x92\x59\x9a\x7a\x97\xa6\x8c\xed\x54\x59\x71\x7a\x0c\x2f\x3c\x7e\x77\x79\x78\xe6\x71\x6b\x17\xd7\x75\xe0\x39\xe2\xbf\x54\x7e\xc6\x64\x96\xbf\xde\xa1\xe8\xff\xfe\x23\x03\x74\x46\x7f\xad\x7a\x3f\xa0\x67\xc5\xfb\x38\x1b\x2f\xf0\xcf\xa7\x3c\x6f\x4c\x7b\x29\xbd\xa3\xff\x3a\x6d\xe2\xa5\x5d\xe1\xd9\xee\xe9\x92\x3a\xf7\xf1\xf1\xb9\x3b\x0f\xa4\xb4\x5c\xd2\xa4\xc6\x2d\xe7\xff\xf8\xc7\x9f\xc1\x4a\x2b\x7a\xf9\x7e\x26\xbf\x25\xfb\x86\xd1\x2c\x7d\x2b\x93\x8b\x31\xf8\xcc\x16\x38\x5e\x78\xfc\xc4\x5c\xde\x90\x24\x9f\xc4\xd9\x2f\xc7\x61\xef\xb1\x91\x6f\x05\xfd\x0e\xd7\xbb\x61\x78\xe1\xe8\xbd\xa2\xfc\xbb\x26\xc5\xd9\x2d\xf9\x5a\xbd\x52\xf8\x5f\x7b\x8d\xb7\xad\xaa\x53\xef\xb7\x41\xf5\x90\x94\xfe\xc5\x0e\xdf\x12\x59\x3f\xf6\x90\xde\xab\xd2\xc7\xde\xf0\xf6\xba\x3a\x1b\xa4\x1e\x7a\x7b\xbb\x9a\xa0\x27\x83\xf4\xd8\xc3\x6e\xe5\x37\x2c\xd2\x75\xb1\x7e\xc6\xf5\xf4\xfe\x8c\x2c\x7b\x8d\x4c\x7d\xbb\x86\x3d\x23\x53\xdf\xae\x4b\x3d\xfc\xa5\x5c\xf1\x9c\xab\xdc\x1e\x7b\xa3\xde\x9f\x4d\xac\x6b\xe4\xfa\xe2\x41\xdd\x2c\x80\xf3\x61\x8a\xde\xb2\xec\xda\x85\x7f\xb1\xef\x97\xe7\xba\x0a\xb4\x2c\xf2\xd2\xb3\xa3\x7a\xb5\x97\x4f\x94\x7f\x19\xfe\xc8\x9c\xbc\x24\x58\x3d\xfb\xf9\x97\x75\x66\x50\x3e\x7e\x4e\xfb\x66\x70\xee\xfb\x83\xf4\x95\x13\xa8\x6b\xcc\x94\xf2\x9c\xcc\xf5\x8a\x81\xfd\x1a\x6b\x79\x9b\x06\xf7\xef\x28\x15\x8f\xd9\x93\xf1\xde\x65\xf7\xfd\xaf\xe5\xa7\xdb\x2e\xbf\x83\xc2\xbf\x44\x3d\xe5\x97\xec\x9a\x6b\x1c\x3c\x75\xf3\x5c\xf0\xf4\xfc\xad\xff\xc1\xae\x7a\x67\xa5\xbc\x21\xfd\x44\x11\xa0\xf7\x84\x9e\xfc\x3c\xef\x69\x2b\xbe\xdf\xff\xf6\xf5\xc6\xe2\xd3\x92\x7c\x1f\xf6\x07\xe1\x75\xa3\xfd\xea\x06\x5e\xf7\xda\x07\xcf\x60\x17\x4d\x7c\xb3\x17\xf9\x9a\x83\x4b\x2d\xe4\xf5\xbf\xf5\x07\xde\x63\xe9\x55\xe7\xb0\xb7\x38\xda\xf1\xfd\x1b\x71\xbd\xc0\x9f\x15\xb9\xff\x6d\x80\x79\xf8\xb9\x49\xf9\x62\x0d\x3e\xec\x64\x9f\x83\xc8\x32\x0e\x1d\xef\x7e\xd8\xff\x5a\x36\x61\xe5\x04\xf7\xde\xaf\xc8\x6f\xfd\xdf\x1d\xbb\xf4\xee\x5e\x69\xf6\x97\x27\x5e\x2f\x6f\xf7\xe9\xc5\xab\x76\xbd\x7b\xbb\xca\xb6\xf7\x45\xbf\xdf\xff\xba\x2d\x3c\x3b\xfa\xfa\xd2\xee\x3c\x03\xbe\xbc\x2f\x7c\x3b\x11\x9e\x90\xbe\xf3\xde\x8a\x8f\xc8\xde\x4e\x94\x2f\xd7\x31\x7b\xb5\x23\x58\xf4\xbf\xbe\xe0\x7a\x05\x79\x1f\x7e\x8a\xeb\x79\x72\x5d\x30\x95\xef\x30\x3d\xe5\xbf\x8f\x33\xff\xbe\x47\xa7\xf6\x36\x0e\x53\xff\xee\x79\x5a\x7c\xb9\xeb\x41\x25\xd4\xbb\x2b\xcf\x05\x6e\x79\xc9\x85\xfd\x32\x67\xca\x6f\x37\x99\x5f\x6c\xe6\xeb\x21\xba\x6c\xd7\x3e\x8f\x9d\xf7\x3c\xfc\x2f\x7e\xd4\xfd\x73\xd9\x2b\xe7\xfd\xbe\xf7\x62\x40\xef\x2e\x48\xdd\xde\x00\x79\x43\xf4\xbf\x90\x9f\x7f\xbe\x2f\x1e\x5f\xed\xb0\xbe\xd6\x8c\xc7\xec\x8f\x26\xe3\x8d\xe0\xc5\x75\xba\xef\x0f\xec\xf3\x9a\x39\xf4\xb0\xff\x78\x85\xbe\x7f\x53\xa3\xf3\x6c\xec\x3f\x6f\x88\xdb\xf7\xfd\xc1\xfb\xde\x3d\x91\x2f\xce\xf0\x4f\x4b\xf0\xf3\x42\xb0\xf6\xb6\x9a\x66\xfe\xfb\x16\x01\xa4\xff\x35\x7c\x88\x33\xdb\x05\xae\x9b\xa5\xf7\xbd\x5d\x58\xf5\xfa\x7f\x6c\x3a\x3f\x7a\xc8\xb7\xe8\xf5\x5d\x34\x3a\x78\x1b\x33\x3d\x64\x4d\xea\x15\xd4\xd3\x16\xcb\x55\x98\xb7\x78\xff\xbe\xe7\x86\xc7\xa7\x00\xf4\xd6\xe2\x7a\x3a\xb3\xb4\x13\xef\xb1\x77\x39\xc6\xf8\x25\xbb\x86\x3e\xbd\x37\x60\x37\xf1\x3d\xa2\x1e\xf6\x64\x8a\xcf\xe6\xe3\x69\xc3\xf3\x8d\xa7\x73\x1d\xb6\x5d\x78\x1e\xb4\xdb\x4b\xe9\x14\x59\x1c\x6b\x19\x71\x39\x7f\xbd\x94\xbf\xd6\xa3\x5b\x12\xf1\x1b\xf0\xc5\x99\x83\x7a\x6d\x0f\x7a\x5b\x7e\xb5\x4c\xd5\x3b\x96\x9e\x22\x92\x9b\xbd\xba\xef\x9d\x95\xa1\x37\x78\xc3\xd0\x5b\x66\xef\xfb\x83\xdb\x01\xf4\xc7\x8d\xe4\xa7\x8d\xea\x3f\x6c\xfe\xed\xac\x75\xaf\x88\x9e\xb5\xcf\x1b\xfc\x84\xfc\xd3\x41\xf8\x73\xb7\x5f\x85\xe1\xcf\x5d\xfe\xf3\x58\xfc\x05\xfe\x76\x5e\xf3\xc3\xf1\xf6\x4b\x2a\xe6\xaf\x6f\x94\xa2\xf2\xda\x8a\xcc\xd2\xca\x4b\xab\x27\x8d\x3b\x6b\xdf\x83\x9d\xe7\x5e\xea\x5e\x0e\xab\xdf\x84\xc6\xfd\x0f\xca\x52\xfc\xfc\xf3\x9b\x79\xf7\xa1\xbe\x3f\xb8\x1a\x87\x0f\x15\xdf\x31\x16\xc5\x95\x83\x6b\xc8\x74\xe5\xa0\x78\x26\xff\xed\xba\xc3\xff\xe3\xb1\xfe\x53\x47\xaf\x9b\x85\xcb\xcc\xf5\x6e\x59\xae\xcf\x44\x6e\x3b\x19\x1f\xe8\xbd\xe9\xf1\x0f\x6f\x05\x3c\x6f\x77\x56\x97\x2a\xef\x87\xe3\xff\x1f\x0c\xd9\x9f\x15\xff\x7a\x70\xf1\x21\x16\xff\x10\xfa\x7f\x12\x8c\xbf\x45\xf4\x61\x12\xdc\x3c\xf0\x8b\x86\x56\xb7\xd3\xf8\x0f\xdf\x40\x7d\x37\xe4\xbe\xe2\x7d\x3e\x5a\x79\x33\x75\xce\xa5\x37\x72\xaf\xcb\xb7\x71\x5d\xfc\xaf\x86\xd0\x17\xf5\xfb\xd3\xc0\xf9\x66\x09\x3e\x3d\xc4\x79\x92\xc3\x27\x06\xef\xed\x2e\x5e\x59\x15\xd9\xe9\x55\x9c\xbd\xf9\x7f\x25\xce\x3e\x13\xb8\x71\xd5\x56\x76\xe1\xd9\x2f\xce\x76\x92\x67\x65\x78\x86\x34\x42\xaf\x79\x72\xb5\x9f\x4e\xbb\x9f\xdc\xed\xb0\x24\xaf\x80\xa9\xff\xf8\xd3\xf0\xa9\x4c\xf5\xae\xdf\x85\xbc\xe0\x78\xae\x7c\x85\x77\xf5\x54\xf7\x7b\x59\xd9\x45\xf5\xe5\xb2\x3f\xe2\xa5\xee\xe5\xe1\xdb\xa7\x41\xfe\x4b\xe3\x4b\x93\x8f\x3b\x35\xaf\xd9\x41\xbe\x4b\xf1\xe1\xda\xfa\x4d\xc7\x1f\x2e\x42\x7b\x88\xbd\xd4\xaf\x82\x4f\x65\xf0\xc6\xc2\xf5\x7a\x9f\xc3\xbc\x7c\x03\x71\xf9\x63\x91\x8b\x82\x7b\xef\xbf\x5a\x78\xd5\xa8\xce\xdd\x37\xfa\xff\xc9\x1a\xfe\x47\x6c\x78\x97\x10\xf7\xca\xca\x15\xd5\x2b\xa1\xdf\x96\xf0\xf2\xbe\x3f\xf8\xdc\x3e\x56\x9f\x0a\xc7\x4b\xdd\xc7\xea\x73\xb9\x7c\xfb\xb0\x9f\xf9\x0a\xc1\x9b\xed\x88\xdb\x80\xec\xce\xca\x12\x76\xaf\xb9\xba\xff\xe9\x3d\x8e\xc8\x3b\xb9\xe7\x50\xf6\xdd\x77\x6b\xef\x47\xf4\xb6\xf9\xf0\x99\x7a\x5d\xe0\x51\x74\xf6\xf8\xf8\x78\x41\x47\x66\xae\x77\x3b\x67\xfa\x69\xf8\x35\xdc\xdd\x0f\xc7\xaf\xab\xfe\xf1\x8f\xe1\xe4\xdd\xfb\xf4\xf3\xa6\xdf\xef\xc4\xf0\x79\xe5\x46\xd1\xd9\x4f\x6f\x90\x5d\x39\x0f\xec\xd4\x8d\x3d\x90\x9e\xb4\x9b\x24\xc9\xcb\xdf\x1c\x9d\x47\xe3\xdc\xf8\xdd\x27\x45\x1f\x28\x7c\x4f\x25\x9e\x04\xf3\x7d\xc5\xbb\xda\xa5\x17\xdd\xfb\xfe\x4c\xbd\xae\xb6\x37\xf6\x9e\xc6\xff\xbe\x3f\x78\x8e\xa7\x6e\x33\xf3\x8f\xe7\xd1\x65\xce\x7e\x17\xc4\x4b\xdd\x6f\x5f\xff\xc0\x2e\x20\xdf\xd1\xcd\x73\x3f\xbf\x33\xd6\x9f\x97\x3f\xfe\x34\xbc\x58\x3b\xef\x76\xee\xfe\xd5\x7b\xac\x5e\xf7\xfa\x6f\x1f\x74\xba\xac\xb7\xd7\xd0\xf7\xbe\xb8\xf5\xa4\x38\xb3\xdb\xff\xf2\xe7\x90\xfd\x97\x2f\x03\xe2\xdb\x48\x17\x67\x1f\xea\x32\x41\xbc\xb8\xf4\x7e\xff\x23\x53\x78\xb3\xca\x9f\xd9\x9f\x17\x4a\x7f\x22\xf4\x3f\x12\x78\xff\xeb\x1b\x63\xfd\xcc\xe0\x87\x4d\xef\xef\xe9\xe8\x87\x0d\x91\xeb\x66\xc8\xa7\x26\xf3\xeb\x77\xc7\xef\x27\xef\xb5\xfc\x5f\x62\xf4\x77\x5d\x2e\xbc\x3c\xb6\x1d\xef\xbc\x8a\xf5\xfa\x5f\x8b\x9b\xa9\x39\x3b\x7a\xde\xc7\x2e\x14\x37\x19\xbf\xe9\xc6\x77\x2d\xdf\x9f\x4d\xa2\x4f\xd8\x7b\x2b\xb9\xa7\xef\xd1\x0e\xb5\x57\x9c\x54\x2f\xf6\xce\xf1\xe6\x7d\xef\x19\xe0\x17\xa7\x2e\xca\xac\xe8\xf5\xcf\x28\x8b\x2b\x8e\xf0\x07\x71\x5c\x43\xa7\xb3\x67\xd4\xeb\xbf\x9c\x58\x43\xc5\xcb\xf3\xe7\xf6\xff\xfa\x39\x66\xec\xed\xaa\xc7\xe2\xd5\xc9\x37\xd4\xcb\xdb\xef\x2c\x4a\xd7\x16\x55\x96\x3f\x86\x7f\x0a\x75\x3d\x7f\x7e\xc6\xcc\x5e\x5e\xff\xb4\x55\x1c\xa6\x1e\xfb\xdd\x96\xb7\xa8\xf5\xd3\xf6\xdf\xf9\x8e\xf4\xeb\x5b\x4d\xfb\xf3\x3e\xbf\x03\x7d\xdf\xd9\x77\xd5\x97\x23\xf8\xc7\xec\xfa\xfb\x7d\xb0\x9b\x30\xb2\xdb\xc3\xf7\x01\x5f\xf5\xff\x0d\xf0\x37\xef\x1f\xff\xf8\x4e\x6c\xf2\xf4\x29\xcd\xf7\x97\xed\xcb\x42\x89\xbc\x9f\xb3\x9f\x1a\xed\x4f\x1c\xe8\x8f\x92\xeb\x7d\x5f\x54\xbd\xde\xab\x0d\xee\x67\x4e\x58\x2f\xce\xbd\xe2\x31\xfc\xb7\x7d\xd1\xd3\x1f\x64\x8f\xc5\x3d\xde\x1f\x94\x7f\x72\x0a\xff\xf7\x67\xc7\xd3\xfb\xcc\x31\xb4\x5d\x97\x0c\xec\xe2\x5d\xa4\x1a\xee\xee\xbd\xff\x7a\xec\xdd\xf5\x9e\xe6\xf6\x39\x2a\xf9\xfa\x16\xdf\x83\x13\xd8\x45\xe9\x55\xb7\xf8\xed\x43\xf9\xaf\xde\x6f\x3f\xff\x7c\x7f\xb5\x7f\x9f\xd6\xf6\x5f\x1b\xf3\x17\x80\x13\xf4\xbe\x60\x6b\x97\xde\xd9\x4a\xfc\x54\x7c\xa0\xd5\x3e\x7d\x13\x73\x5e\xb9\xee\xdf\x55\x9e\x55\xeb\xf2\x7d\xfc\x7d\xd8\xff\xf5\x7d\xc3\x5f\x86\xbf\x3d\xc5\xc3\x3f\xde\xe2\x57\xf4\xb7\xbf\xfd\xd5\x26\xc3\xdf\xa0\x47\xef\xcb\x5f\x6a\x85\xfe\x65\xd6\xd0\x1b\x9d\x9b\xcb\xf2\x52\x75\x9d\x23\xca\x79\x6d\x7a\x8f\xf1\xd4\xef\xf7\x9f\xed\xf9\x2b\x64\x50\xf1\xcb\xf0\xbf\x3e\x0c\x5b\x16\x97\xfd\x8f\xc0\x4d\x61\xe7\x76\x71\xb6\x42\xe2\xd9\xfb\x7b\x8f\xea\x11\x19\x40\x1f\x86\xf3\xbf\xde\x15\x5c\xb7\xab\xae\x9b\x55\x7f\xfb\xc0\xe4\x2f\xbf\xbc\xef\xd2\x15\xfe\x3c\xc7\xfb\xdf\x17\xeb\x87\xbe\x3e\x84\xe5\xba\xb0\xf3\xdc\x73\x1f\x7f\x42\xbe\x9e\x1d\x8d\xbb\xb3\xe7\xfb\xf8\xf8\x58\xdc\x74\xe8\x2c\x8b\x1f\xd4\xc6\xf7\x2c\x85\x69\xe9\x15\xd5\x45\x04\x4f\xdf\x65\x65\x8f\xc8\xd7\xec\x3f\x8b\xaf\x10\x94\xf5\x2f\x5f\x32\xfe\x28\xa7\x9f\x12\xec\x3f\xe4\x59\x7e\xdf\xff\xf5\xac\x19\x7f\x41\x31\xce\xa3\x76\xd1\x26\xf4\x8f\x38\xf8\x6e\xbb\x5f\xff\xaa\x22\xde\xda\x3d\x7e\x28\xaf\x0b\x50\x55\xc5\xa0\x77\xd7\x1b\x0c\x7f\xfb\xa0\xa4\xaf\x51\x3e\x94\xf9\xe5\x20\xe2\xbd\x2a\x0d\x90\xc1\x9f\x60\x7d\x6f\x9f\xfe\x70\xc6\x7c\x9f\x47\x6f\x50\xfc\xf6\x9e\xc1\x16\x82\xfe\xd2\xc4\x1a\x5c\xf4\xea\x2f\x4e\xe2\x3f\x10\x5b\x6f\x80\x7c\xc6\xd3\xfb\x05\x6e\xeb\xc5\xf1\xe7\x0e\xe8\x7b\xd9\x1c\xc3\xb2\xb6\x63\xc2\x8b\xe3\x8f\x4c\x3e\x79\x5d\xd7\x35\x6e\x9b\x15\xae\x57\x90\x59\x9c\x15\x8f\xbd\x26\x08\x2b\xaf\xf7\x9d\xb8\xe3\x79\x75\xf9\x21\x54\xbd\x6f\x83\x21\xf2\x41\x13\xf2\x2c\x97\xd2\x2b\x5b\xef\x6a\x76\x99\x53\x97\xf7\xef\xf7\x1d\xcf\x02\x65\x3c\xef\x63\xf8\xfc\x5a\x27\xd3\xa3\x57\x54\x74\xf6\x49\x57\xdb\x47\xa4\xff\x17\x2d\xd4\x47\x24\xdf\x37\x51\xfd\x0f\xfd\x6b\x3f\x35\xac\x1f\x97\xb5\x5f\x7e\x79\xe7\xba\xd8\x45\x11\xda\xbe\xa7\x5c\x64\xfc\x07\xbd\x6d\x1f\x91\x77\x3a\x61\x3b\x51\x99\xdb\xce\xc7\x9d\xc2\xd7\x5c\x21\x7f\xce\x42\x65\x6f\xff\x90\xee\xbb\x82\xd4\x6b\x2b\xb5\x3a\x1b\xad\xf7\xdb\xe3\xe1\xae\x92\xea\x8f\x3b\x50\xaf\xa4\xe7\x55\xfe\xc2\x3b\x7a\xf1\xfd\xfb\x68\xff\xd2\x98\xfb\xa3\xfe\xbf\xb4\x7d\x1f\xea\x5c\x6d\xf4\xd9\xd9\xf9\x24\xb8\xb9\xfe\xfd\xde\xe5\xa3\xda\xfb\xea\xf1\x72\xf4\xf9\x9f\xc3\xf3\x50\x3f\x0e\xfb\x83\xe2\x07\x17\x85\x0f\x8b\x47\x3b\xc8\x3e\xcc\x69\xaf\xb0\x4b\xef\x3c\xab\xef\xfb\x37\xc3\xf5\xb5\xfa\xe5\x97\x9f\x7f\x0e\xff\xf3\x13\xc5\xf8\xfa\x7e\x45\x7d\x31\x20\xc5\xb3\xa5\x0c\x21\x68\x80\x0c\xb2\x3f\xb0\xaa\xc5\x6d\xf9\x78\xa7\x53\x97\x00\x4c\xcf\x3f\x09\xf5\xce\x02\xf8\x5a\xbd\x48\xe0\x83\xc6\x3f\xed\x6a\xbe\x2a\xfb\x4f\xe4\x93\xa9\xf1\xf8\x61\xd7\xeb\x42\x94\x7a\xbf\x69\xf5\x63\x64\xa1\x4f\xc8\x7e\x98\x50\xe7\xb0\xf0\x33\x4e\x3e\x01\xfb\xe5\x23\x8d\x7f\x7a\x82\x5e\xfa\xc5\x64\x45\x63\x17\xee\x5f\xef\x5a\xfb\x49\xd7\xbe\xc7\xca\x47\x23\xf6\xd9\x2a\xfc\x7e\xea\x5c\x19\x24\x6c\x27\xfa\x27\x39\xfc\x61\xc1\x7c\x68\xf9\x89\xb6\xb4\x9f\x69\x4b\xfb\x1d\x6d\x59\x7a\x6d\xb5\x08\xd3\xcf\xf6\x7a\xff\x4f\xd0\x98\xf7\x16\xf7\xca\xf4\xaa\xf0\x1c\xef\x1c\x9b\xff\x93\x9c\xff\x95\x29\xf6\x83\x2c\xfd\x3f\xec\x7d\x8b\x76\xdb\x38\x92\xe8\xaf\xc8\xdc\x6e\x85\x0c\x21\x99\x0f\x89\x7a\x19\xf6\x26\x8e\x7b\x3a\x3b\x79\xf4\x8d\xd3\xdd\xd3\x57\xd6\x7a\x68\x09\x96\x38\x91\x49\x35\x09\xc5\xf1\x44\x9a\x6f\xbf\x07\x05\x90\x22\x09\x90\x92\x93\xce\xcc\xec\x3d\x9b\x73\x22\x83\x60\x55\x11\x8f\x02\x50\x28\x14\xaa\xd8\xdc\xf7\xec\x26\x89\x96\x6b\xa5\xde\x7c\x1f\x03\x60\xda\xb2\x95\x35\xad\xd4\xbb\xa2\x78\xc4\xc9\xb6\x6c\x14\xe3\x54\x15\x7e\x8a\x9d\x33\x32\xb6\x27\x2d\x7b\x68\x21\x7a\x62\x9d\x51\x6c\x0d\x69\x65\xaf\x54\x75\x43\x7c\x62\x9d\xc5\xd8\x1a\xc6\x55\xc3\x44\x9a\xb6\xc5\xb8\x90\x2b\x16\x4b\x2d\x8d\x69\xcd\xf0\x7e\x9f\x5f\x09\x89\xf1\x39\x15\xf9\x79\x5d\x37\x1b\x9b\xcd\xe8\xd2\xd4\x7d\xf0\x0a\x09\x2b\xc4\xcb\xf0\x85\xb8\x35\x2c\xb5\xaa\xc2\x40\xc7\x1a\xb2\x32\xa8\x56\x9a\x77\xc1\x7c\x21\xed\x31\x3e\x49\xf5\x35\x90\xd4\xce\x0f\xa6\x3d\xa2\xe5\x45\x89\x35\xfe\x88\x9a\x66\xb9\x72\xf0\x2d\xc6\xe9\x3a\x2d\x18\xda\xd8\x95\x05\x7b\x45\x6e\xbf\xb0\x5c\xca\xd6\xad\x2a\x80\xc3\x0b\xa0\x62\xa2\x47\xd1\x71\x87\x39\x25\x67\x79\x8d\xe5\x7c\xdd\x52\x7d\x23\x3e\x55\x8c\x59\x8e\x45\xe3\xe0\xee\x92\xfa\x31\x98\xc9\xa8\x04\x8a\xdd\x85\x7f\xd5\xdb\x56\x8c\xe4\x91\xff\x30\x0b\x92\x55\x35\x1e\x7b\x0b\x78\xe5\x9d\x83\xe0\x39\x69\xae\x52\xb1\xda\xd7\xb0\x59\x91\x37\xbe\x82\x2f\x8a\x7d\x5c\xdd\x89\x65\xbc\xad\x4a\x28\x64\xa0\x15\x42\xe1\x1f\x2d\x12\xf2\xd9\xab\xcc\x2a\xf9\x0d\x46\x15\x8e\xf2\x03\xad\xc0\x54\xcf\x36\x79\xc6\xac\xda\xfb\xdf\xf9\x9f\x5e\x01\xc0\x7e\x0e\x55\x2c\x50\xf0\x79\x69\xb1\xe7\x2c\xd6\x42\x71\xab\x85\x82\x56\xab\x42\x28\x15\x92\x6b\x8c\xac\xf2\xfb\x9b\xa5\x1f\x7e\x80\xae\x3b\xb2\xe4\xed\x53\x01\x3b\x40\xb6\xb4\xe7\xaf\xdf\x95\x1f\x0e\x9c\xef\x10\xc9\xf6\x62\x49\x28\xf9\x9f\xcc\x32\xff\x4a\x86\xc1\xb6\x9a\x63\x14\x02\x47\xb1\xb3\x4d\xfb\xab\x98\x25\xfe\x57\x32\x4b\xcd\xa6\xf3\xab\x99\xe5\xb0\xfd\xe5\x41\x1b\x49\x69\xd6\xad\xea\x93\x74\x4f\xb9\x4e\x16\x7a\xf9\x12\x34\x6f\x8c\xd2\xae\xf2\x30\x09\xa9\xd0\x61\xaa\xea\x96\xdb\x20\x35\x74\x5c\x55\x96\xf4\xd1\xc4\xc4\x80\xaa\x61\x35\xe3\x31\x7c\x94\x95\xf0\x0f\xe2\x27\xfe\x4a\xda\x3e\x7f\xd3\xf6\x15\x4d\xf2\x87\x35\x31\xeb\xaf\x7f\xd7\xf6\x85\xd1\xf3\xff\x91\x8e\x68\x1c\x98\xe6\x04\x47\x75\xaa\x80\x3f\x68\x37\xb3\x8a\xc9\x47\xd5\x6e\x66\xba\xf0\xd9\x0e\xf1\x2b\xf7\x9d\xdf\x56\x37\xf2\x63\xba\x85\x4d\x2f\x6d\xff\x3b\x2a\x70\x62\xb2\x22\x3e\xcd\xd4\x0a\xe7\xa9\xa7\xb6\xfa\xce\x93\x19\xb3\xfa\xe4\x49\x35\x64\x1f\x0c\x14\xe0\x58\x75\xb0\xb9\xd9\x94\x73\x67\xe4\x36\x77\x1e\xc3\xd9\x46\x46\x65\x0c\x19\xc8\xf7\xf1\x5e\x90\x8f\xc1\x14\x98\x3e\xb8\x59\xd3\x92\x6c\xc5\x2a\x73\x6a\xa5\xf6\x61\x05\xa6\xbb\x0d\x3e\x9d\x69\xa7\x9a\x2c\xb2\xf0\x77\x72\x6b\x07\x89\xce\x6d\xef\x35\xa3\x7c\x96\x0b\x57\x67\x82\xf6\xb9\xd5\xbe\xb8\x3c\x37\xb5\xf1\xa9\x35\x72\x7a\xde\xc8\x9a\x6a\xd2\x49\x23\xa3\x12\x7f\xfa\x48\x5b\xeb\x30\x98\x46\x33\x72\x00\xb1\x7e\x77\x34\xe8\x56\x12\x5b\x72\x2f\x11\x4a\x2a\xac\xfa\xa6\x56\x81\x98\xba\x77\x92\x54\x71\x72\x01\xdc\x51\xc7\xb2\x2c\x17\xca\xa0\xa4\x25\xda\x45\xd8\x0b\xd6\xd5\x56\x09\x92\xb9\xab\xda\x53\x92\x33\x7b\xe4\xd4\x37\xc3\xde\xca\x9c\x79\xac\x0e\xf2\x61\xd0\x57\x4d\x35\x0f\xaa\xa9\xe6\x6b\xf5\x85\xc5\x32\xfe\xf2\xf5\x53\xcd\xbf\xb3\x1a\xfc\xc7\x5f\x94\xda\x40\x56\x23\xa8\x0f\x4b\xb0\x2a\x91\xb1\x9d\x66\xd8\x13\x65\x4f\x08\xb5\xe1\xb7\xae\x27\xe6\x9a\xc8\x6f\x3b\x75\x53\xff\xe6\x7c\x49\xfc\xb8\xba\xaf\xb1\x75\x26\x9c\x15\x95\xe8\x51\xff\x26\x91\x4f\x8a\x87\x2e\x9b\xef\xe4\xe2\x30\x68\xfc\xb9\x7c\x5b\x20\x21\x60\x9a\x50\xb6\x12\xce\xf4\xb1\xb6\xb1\x5b\x36\xac\x11\x3d\x49\x5f\xec\x14\x7d\x82\x82\x3e\x26\x63\x3a\x99\x18\x99\xf9\x84\x72\xca\x05\xe2\xda\x59\xe5\x94\x6c\xc8\x4a\x25\x49\x15\xe4\xaf\x98\x54\xe9\xb3\xd2\x9e\x83\xb4\x82\x8f\xac\x5a\x95\x4f\x42\x28\x2c\x89\x09\xa1\xba\x85\xa2\xb2\xff\x7e\xa9\xe3\xf3\xf0\xf6\x23\xe1\x9d\x47\xc2\xbb\x0a\xf8\xa2\x6e\xb1\x8c\xec\x7f\x24\xb3\x73\xb8\xb1\x2f\x73\x57\xf9\x4b\xc2\x7d\xa3\xed\x3a\xd2\x9b\xe8\x3e\x29\x7c\xc8\x2b\x7f\x28\x8a\x83\x79\x10\x02\x73\x14\xdb\xb7\x57\x86\x2c\x1a\xfa\x94\xa0\x6d\x27\x7f\xc1\xd3\x93\x3e\x03\x17\x28\x2f\x49\x1c\xf8\xcb\xc6\x2a\x8a\x69\x23\x26\xbf\xaf\x49\x42\xc9\xac\x91\xeb\xe8\xc6\x07\xf2\xb0\xf2\x67\x6d\x4d\x6a\xcc\x1c\xd0\x9f\x01\x26\xbb\xa2\xb0\x83\xf9\x18\x90\x7b\x46\xbb\x9d\x3c\x84\xd3\x4b\x90\xf0\x9f\xc5\xc4\xd7\x0b\x0d\x30\x18\xf2\xf2\x12\x57\x24\x2c\xcb\xc9\x52\x52\x37\x7c\xb2\xad\xd7\xd1\x3a\x21\x18\xac\xe3\xc7\xb2\x09\xc6\x47\xea\x58\x02\xc4\x26\x6e\x05\x50\x18\xc5\x77\xfe\x92\x43\x81\x1c\x63\xa7\xb7\xfa\x76\x30\x77\xec\x2d\xdc\x87\x49\x14\x55\x93\xbd\x44\xc2\x0d\x09\x12\xfa\x37\x4b\xd2\x02\xdc\x16\x01\x64\xb9\xe9\x12\xb0\x9a\x0d\xa2\xf0\xb5\x1f\xfa\x73\x12\xb7\x67\x41\xc2\xd0\x74\x79\x37\xc7\x3a\xe9\x79\x00\xf6\xa4\x0d\x1a\x35\x80\x6e\x83\xd3\x6d\x6b\x45\xcd\xad\x65\x75\xe4\x01\x18\xce\x7e\x88\xa6\xeb\xa4\xcc\x1b\x96\xd5\x2d\xc3\xae\xe9\x2d\x6f\x0f\x09\x54\x62\x9d\x64\x1e\xab\x41\x6d\x99\x2a\x93\x50\x54\xc0\x8e\x04\xca\x77\x40\x3f\x06\xb3\x19\x01\xab\xf2\x02\xe5\x8e\xe0\x92\x4e\x2f\x65\x8d\x4e\x6f\x18\xdc\xea\x47\xca\x8e\xcd\x0c\xfe\x41\xae\x56\x1a\xa4\x21\x90\xac\xcb\xaf\xf8\x7e\x10\xb4\x5f\xd2\x2b\x96\x89\x3e\x49\xfc\x88\x1e\x24\x48\x94\xed\x80\xa5\x96\xcb\x36\xdb\xf9\xfd\xae\x1a\x4a\x6c\xf1\xd9\xf2\x51\x06\x60\x79\xdb\xf2\x8e\x3c\xbd\x25\x7c\xe8\x18\x54\x8f\x09\xf9\xdc\x2d\x59\x44\xf7\x7c\xbe\xd7\x8d\xed\x16\xae\x03\x34\xe4\xd5\x42\xe2\xbd\x9d\xf9\x1d\x3e\xb2\xb6\x8a\x8b\x6c\x5f\xb9\xfc\x65\x34\xfe\xa5\x0b\xa0\x5d\x5c\x33\x6c\x57\x61\xd4\xa7\x94\xd2\xb2\xe5\x44\x7a\x23\xd6\x8e\x2a\x78\xe5\x82\x82\xd4\x82\x4a\x86\x74\xf0\x82\x63\x3f\x6a\xc1\xb1\x1f\xbf\xe0\x40\x2b\xb3\xd9\xec\xc6\x9f\x7e\x60\x53\x1a\x67\xbb\x47\xad\x33\x92\x64\xf8\x2d\xd7\x19\xc5\xd7\x76\x2b\x8c\xfc\x32\xbf\xb2\xc8\x6f\x0b\x6b\x8a\xf4\x56\x5e\x53\xd2\xcb\x4f\x5f\xb6\xac\x70\x2c\xfd\x31\xcb\x84\x7d\xf8\x32\x51\x06\xad\x59\x26\xec\xc7\x2c\x13\xf6\x63\x96\x09\xeb\x80\x65\x42\xd9\x43\x15\xa7\x25\x92\x3d\x00\x00\x8b\x25\x43\xb5\x58\x54\x20\x28\x2d\x92\xf9\x41\x70\x05\x02\x2c\x2f\xfb\x76\x32\x02\x58\x3e\x7b\xad\xa2\xaa\x36\x82\x7c\x1f\x55\x15\x63\xb7\x40\xd5\xac\x49\xb5\xb8\xe9\xb2\xa5\xd8\x04\xa9\xd1\xd8\xab\x8a\xb5\x68\xe7\x63\xac\x86\xcb\x93\xd4\x8f\xb1\xb2\x43\xa5\x51\x12\x93\xdb\x98\x24\x0b\x5d\x92\xe8\x2a\x76\xa3\x07\xaf\x9f\xf9\x75\xd2\xf8\xb2\x75\xd2\x2e\x5f\x8e\x59\xf8\x71\x85\xf6\x2d\xb8\xd5\x6d\xb8\xa7\xc9\xd7\xc5\xcd\xc6\x3a\xe2\xa2\x6e\x4e\xdf\x98\xb3\xef\x41\x01\xb6\x84\x13\xa0\xe2\x58\x62\xe4\x4f\x4f\xed\x3e\x92\xf7\x35\xe9\xcb\x41\xb3\x6b\xdb\x28\xc4\x5d\xdb\x96\xae\x95\x70\x98\x51\x70\x12\x8f\x02\xd3\x34\x40\x07\x1f\x4c\x8c\x53\xec\x5a\xcd\x26\x3d\xc1\x6e\xef\x2c\xc1\xb4\xe5\x82\x31\x51\x87\xe7\x75\x7a\x67\x21\xa6\xad\x0e\xe4\x0d\x78\xde\x80\xc1\xe9\xd4\xc4\x7d\xa3\x35\x80\x17\xb6\xc5\xdf\xd8\x16\x03\x17\xaf\x6c\xcb\x1a\x72\x17\xc4\xba\x54\x19\xa1\xe9\x54\x57\x26\x7b\x59\x53\x19\x01\x63\x0c\x6d\xf8\x42\xb4\xc1\xf6\xb0\x93\x26\x9d\x61\x37\x4d\x76\x86\xbd\x34\xd9\x1f\xf6\x33\x58\x6f\xe8\x38\xfc\xa1\x89\x5b\xce\xd0\xe9\x64\x0f\xee\xd0\xe9\x66\x0f\xdd\xa1\xd3\xcb\x1e\x06\x43\xa7\x9f\x3d\xd8\xbd\xa1\x3b\x80\xa7\x3d\xc5\x1f\x76\x38\x58\x5d\x2d\x86\x2e\x27\xec\xc0\x0e\x28\x30\xed\xc9\x99\x1e\x98\xd8\x41\x2d\x56\x3b\x5d\xfa\xc2\x9d\x4f\xa7\x0b\x30\x03\xd7\x9d\x6e\xb7\xc9\x7a\x11\x89\x84\x69\xef\x92\xce\xc4\x30\x9a\x4d\x3d\x61\x5f\x36\x10\x23\x68\x40\xc3\x70\x30\x78\x43\x71\x0a\x8c\x9d\x89\x31\xec\xd4\x96\x23\xfc\xba\x72\x84\x95\xe5\x08\xcb\xe5\xb0\x2d\xc1\x38\x5f\xc7\x1b\xe5\x25\x3b\x8e\xa3\x58\xd7\x84\xe3\xb1\xc6\xe5\x9f\xde\x35\xfc\x74\xc0\x0e\x1b\xdf\xcf\xda\x1a\x52\x5c\xd2\xe2\xa3\x06\x47\x27\x27\x76\x7f\x93\x9c\x9c\x0c\x36\x21\x9f\x2f\x2a\x00\xd5\x85\x29\x9f\x6a\x7f\x0c\xa6\xe4\x92\xfa\x74\x2d\xcd\x14\x7f\x94\x44\x2c\x2f\xf1\x65\x0d\xb0\x66\xca\x77\x67\x6c\xc3\xd4\x46\xf2\x8b\x4f\xf0\xe2\x9d\x56\x3d\x57\x4a\x6b\x7f\xf9\x73\x56\xa8\xd5\xeb\x52\xca\x08\x5f\x56\xbc\xa2\xe2\x2e\xba\xa5\xef\x8a\x8e\x38\xa4\x6b\x7d\xe5\xbd\x6c\xf5\xd5\x24\xc5\xcb\x82\x38\x5e\x7e\x29\xa9\x7c\xfe\x50\x71\xb9\x86\x58\xb6\xe1\xa9\x96\x28\xa4\xb2\xd4\xc9\x0c\x7c\xb5\x2d\x63\xd4\x33\xfc\x5e\xf1\xe8\x41\x2e\x83\xb8\xda\xa8\x14\x25\xe6\x4b\xf2\x91\x2c\x2b\x71\x12\x3c\x66\x58\x13\x49\x71\xcb\xdb\x02\x02\xf6\x54\x68\x8f\x4f\xec\x33\x7b\x08\x6a\x64\xc1\xd5\x34\xdb\x53\x56\xaa\x4a\xdf\xae\x80\x8e\x36\xdd\x51\xd7\x90\x76\xb3\x8c\xa6\x1f\xb4\x92\x6a\x52\x2d\x49\x54\xd2\x58\x87\x33\x12\x43\xc0\x9c\x02\x9d\xee\xb0\x6a\xd0\x54\x95\xc5\x8f\x35\x63\x2b\x6c\x2e\xbf\x77\x30\xb6\xcb\x33\x9b\x84\xfa\x7c\x19\x84\x1f\x34\x14\xcb\xda\x6f\xce\x77\xef\xc8\xbc\x7c\x2e\xa1\x9c\x8c\xe4\x63\xc6\x1d\xdf\xe9\xe2\x58\xd5\x90\xf9\xa9\xc0\x81\x70\xae\xd1\x6c\xc2\x31\x87\x8a\x1d\xc1\x00\xba\xdc\x18\xb0\xbd\x56\x9c\x45\xc8\x5c\x23\xdf\xab\x60\xdb\x6f\x31\x6e\x6a\x2a\x08\x9b\xf4\xbf\xc8\x26\x08\x2a\xb0\xdf\x24\x8e\x97\x14\x2b\x34\x8a\x0f\xf8\xa8\x34\x74\x78\x29\x36\x1b\x45\xb5\x94\x05\xd9\x6c\xac\xec\x8e\x35\xb8\x65\xfa\x91\xbb\x34\xc0\xc9\x88\x3b\x47\x2f\x9c\x80\xa7\x57\xa0\x69\xce\x70\x03\x04\xd2\x20\xb5\xd3\x05\xbf\x26\xe4\x24\x18\x5b\x13\xe8\x4d\x72\x1a\x8c\xa3\xc9\xd8\x9e\xec\xbc\x97\x30\xb9\x76\x14\x9d\xe2\x78\x04\x97\x5e\xb9\x45\xed\xed\x32\x8a\x62\x5d\x8f\xcd\xc8\x38\x76\x0c\xc4\xd0\x28\x47\xc3\xd4\xb4\x41\x27\x04\xce\x1b\x80\x36\x65\xb4\x8d\x94\xa2\x35\x8a\xc0\x7c\x3e\xfd\xc0\xce\x3b\x7e\x9c\x8b\x0e\x41\x4e\x71\xc7\xed\x3a\xcd\xa6\x4e\x4e\x70\xa7\xd3\xe9\x6d\x36\x03\xcb\x62\xc2\x0b\x81\x94\xc3\x53\xe4\x14\xdb\xf6\xc0\xea\x34\x9b\x0c\xcc\xb1\x07\x76\xb3\x69\x3b\x6e\x17\x84\x74\x78\xdd\xe9\x58\xae\x03\xaf\xbb\x5d\xc7\x72\x21\xcf\x73\x7b\x1d\x8e\xe2\x75\x9c\x6e\x97\xe7\x75\x2d\x26\x28\xb3\xbc\xae\xd5\x19\xa4\x79\x3d\x47\xe4\xd9\x6e\x0a\xe7\xf4\x53\x38\xb7\xe7\x89\xbc\xae\x28\x82\xd7\xed\xda\x16\x2f\x96\x6b\xa7\xc8\xf6\xc0\xf3\x2c\x8e\x0d\xc9\x3e\xe4\x3a\x9e\x63\x77\x6c\x3e\xb0\x03\x3c\x1e\xf7\xbc\x3e\xea\xf7\x06\x13\x34\xb6\xed\x6e\x17\xd9\x76\xb7\x0f\x69\xcf\x42\xb6\xed\xd9\x2c\xdd\x71\xba\xc8\xee\x78\x00\xd3\xe9\xd9\x88\xfd\xf0\xb4\xcb\xd2\x1d\x9e\xf6\x58\xba\xc7\xd3\x03\x96\x06\xf8\xae\xeb\x21\xbb\xeb\xf2\x74\xd7\x41\x76\xb7\x0b\x30\x9e\x6d\x23\xdb\x73\x2d\x48\x77\xfa\x88\xfd\xb0\x74\xaf\x6b\x21\xbb\xe7\x01\xcd\x9e\xd7\x63\x69\x9e\xdf\x63\xf9\x3d\x97\xa5\xfb\x56\x0f\xb1\x1f\x9e\x1e\xb0\x34\xd0\xef\x77\x2c\x64\xf7\x3d\x8f\xa5\x07\xdd\x3e\xb2\x07\x80\xeb\x58\x4e\x0f\x39\x96\xdb\x65\x69\xd7\xea\x22\xc7\xb5\x3c\x48\x7b\x1d\xc4\x7e\x78\x7a\x80\x1c\xb7\xc7\xf3\xfb\x36\x62\x3f\x3c\xcd\xe0\xfb\x40\xa7\x63\x39\xc8\xe9\x58\x2e\xa4\x5d\x17\xb1\x1f\x48\x0f\x58\xfe\xc0\xe1\xe9\x1e\x72\xba\x16\xab\x97\xd3\xb5\x06\x2c\x3d\x80\xb4\x6b\x21\xa7\xeb\x02\xcd\xae\x67\x23\xa7\xeb\x01\xbc\xe7\x58\x88\xfd\xf0\x74\x97\xa5\xa1\x0c\x9e\x6b\x23\xc7\x73\x39\x8c\xcb\xf2\xdd\x1e\xa4\x7b\x0e\x72\x3c\x68\x07\xc7\xeb\x0f\x90\xe3\x0d\x00\xb7\xd7\xe9\x23\xf6\x03\xe9\xae\x8b\x9c\x1e\xb4\xb3\xd3\xeb\x0e\x90\xd3\xf3\x38\x8c\xd7\x65\x69\x68\x87\x5e\xdf\x43\x4e\xaf\x0f\x30\x7d\xbb\x87\xd8\x0f\xa4\x7b\x1e\x62\x3f\x3c\x3d\x60\x69\x28\x7f\x9f\xb5\x49\xbf\x0f\xdf\xed\x0f\x5c\xc4\x7e\x58\x7a\xc0\xda\x64\x60\x41\x39\x07\x1d\x0f\xb1\x9f\x09\x1a\xbb\x96\xd5\x47\xec\x07\xd2\x8e\x8d\xd8\x0f\x4b\xdb\x6e\x07\xb9\xb6\x0b\x30\x76\xc7\x41\xae\xdd\xe9\xf0\xb4\xc7\xd2\x03\x48\x77\x7b\xc8\xe5\x7c\xe8\x3a\x9e\x85\xd8\x0f\x4f\xbb\x2c\xed\x42\xba\xc7\xf2\x7b\x3c\xbf\xe7\xb1\x74\x0f\xd2\x83\x3e\x72\x9d\x01\xd0\x71\x07\x2e\x72\xdd\x01\xab\xaf\xdb\xb1\xba\x88\xfd\xb0\x34\xeb\x0b\xf6\xc3\xd3\x7d\xe4\x76\x3b\x3c\xcd\xca\xd3\xed\xb0\xba\xb8\x9e\xeb\x22\xf6\xc3\xd3\x1e\x72\x3d\x91\xdf\xed\x22\xd7\x83\xbe\x73\x7b\x9e\x8d\xd8\x0f\x4f\x77\x58\x1a\xbe\xdb\xeb\xb1\xfc\x1e\x87\xe9\xb3\xfc\x3e\xe4\xf7\x19\x4c\x1f\xda\xdf\x65\x6d\xe8\xf2\x36\x74\xfb\x83\x2e\x4b\x8b\xfc\x1e\x4b\x43\x5d\x06\x5d\x17\xb9\x03\xe0\x67\x77\xe0\xf5\x91\x3b\xe0\x34\x07\xbd\x0e\x4b\x03\xfc\x80\xd1\x1f\x0c\xa0\x0c\x83\x81\x8b\x3a\x96\xc3\xda\xad\x63\xb9\x7d\xc4\x7e\x58\xda\xee\xd8\xa8\xc3\xdb\xb9\xc3\xda\x99\xfd\x40\xba\x6b\xa1\x8e\xdd\xb5\x79\xda\x65\x69\x17\xd2\xfd\x0e\xea\xd8\x7d\x46\xbf\xd3\xe9\xf4\x51\xc7\x83\xb1\xd6\x19\x74\x07\x88\xfd\x4c\xd0\xb8\x3b\xb0\x3c\xd4\x1d\x40\xff\x76\x07\x6e\x1f\x75\x07\xd0\x86\xdd\x41\xcf\x42\xdd\x01\xcc\x0f\x9e\x65\x39\xc8\xb3\x60\xbc\x78\x96\xd7\x47\x9e\x05\xed\xe3\x59\x3d\x1b\x79\x16\xf4\x97\x67\xf5\x3d\xc4\x7e\x78\x7a\x80\x3c\x0b\xfa\xce\xb3\xad\x01\x62\x3f\x90\xee\x76\x91\x67\x03\x3f\x7b\xae\xed\x22\xf6\xc3\xd2\x1d\xd7\x41\x5e\xc7\xed\xf0\xf4\x00\x79\x1d\x28\x83\xd7\xe9\x5a\x88\xfd\xf0\x74\x8f\xa5\x81\x8e\xd7\x1b\x20\xcf\xeb\x43\xfe\xc0\x76\x90\x37\xb0\xbb\x90\xf6\x3a\x88\xfd\xf0\xb4\x87\xbc\x41\x8f\xc3\xf4\x18\x0c\xb4\xb9\x37\xe8\xf5\x59\x9a\xd5\xb7\x67\xd9\x03\xd4\xb3\x1c\x56\x9e\x9e\x67\x7b\xa8\xc7\xc7\x6c\xcf\xeb\xf5\x51\xcf\x83\xf1\xd2\x77\x2c\x17\xf5\x1d\x68\xb7\xbe\xe3\x76\x50\xdf\x81\xbe\xe8\x3b\xfd\x3e\xea\x3b\xd0\x5f\x7d\xc6\xab\x7d\x17\xda\xa7\xdf\xb1\x2c\xd4\xef\xc0\xfc\x60\x3b\xae\x6b\x21\xf6\xdb\x85\xa7\x4e\xc7\x46\xec\x97\x95\xa3\xe3\x5a\x76\x07\xc1\xaf\x78\x1a\xc0\xd3\x80\x3f\x75\xba\xec\x09\x7a\xd7\xeb\x38\xac\x69\xd9\x2f\x7b\xea\x5a\x4e\x07\x79\x5d\x0b\x66\x62\xaf\x6b\x75\x3d\xf6\xc4\xdb\xa5\xeb\xb0\x86\x61\xbf\xf0\xd4\x75\xd8\x13\x9f\xab\xbc\xbe\x35\xe8\x21\xf6\x0b\xef\xfa\xb6\x65\x23\xf6\xeb\x88\xa7\x3e\x7b\xb2\x39\xa4\xdd\x75\xd8\x53\xb7\x23\x9e\x06\xf0\xc4\x57\x96\x81\xdd\x71\x11\xfc\xe9\x8a\x67\x58\x6b\x06\x36\xb4\x34\x24\xf8\x7b\xb1\x12\x0d\x1c\x9b\xad\x3f\x03\x07\x7a\xda\xb6\x07\xae\xe7\x20\xf8\xc3\xa8\x0f\xd8\x32\xd1\x45\xfc\x8f\x78\x76\x3d\xf6\xec\x41\xa9\x07\x76\xaf\xe7\x59\xec\x79\x30\x18\x4c\xb2\xf8\x2c\x99\x90\xb2\x8b\x2d\x65\x61\x8c\x83\x33\xd2\x0e\xd7\xcb\x61\x70\xe2\x3a\x9b\x4d\x70\x8a\x6d\xa7\xd7\x6c\x06\x27\xb6\x67\x9d\x11\x08\x40\x14\x47\xcb\x21\xd5\x03\xe3\xcc\x1a\xc6\xec\x8f\x33\xb4\xb7\x5b\xfd\x33\x43\xb2\x50\x0a\x60\x7d\xab\xe8\x51\x21\xb9\x6f\xbc\x23\xf3\x8b\x4f\x2b\x5d\xd3\xcf\x86\xff\xbd\x19\xff\xf7\xd5\xd5\xcc\x6f\xfd\xfd\xea\xaa\xdd\x9a\x98\x86\xae\x2f\x28\x5d\x25\x67\xc3\xab\xab\xe3\xab\xab\x63\x43\xd7\xf5\x71\x01\xe0\xea\xaa\xad\x8f\xf9\xe3\xe4\xb3\x83\xbc\xad\x61\x6c\x74\xfd\xea\x6a\xf6\xd9\x46\xee\xf6\xea\xaa\x6d\x7c\x66\x7f\xf8\xa3\xb1\xd1\x97\xd1\xd4\x5f\x2e\xa2\x84\x1a\x86\x3e\xe4\xf9\xdd\xad\x71\xa6\x5f\x5d\x1d\x8f\xe1\x1b\xf7\x57\x57\xed\xab\xab\xd6\xf7\xff\x98\x3c\x35\x9e\xea\x57\x57\x67\x63\xab\x35\x80\xec\xf1\xd5\xd5\xe4\xea\x4a\xbf\xba\x32\x00\xf0\xec\xea\xea\xe8\x3f\xfe\xf3\xbb\xef\x9b\x4f\x9e\x9a\x68\x38\xfa\xc7\xd5\x15\xe6\xa8\x93\xa7\xc6\x99\xfe\x1f\x5f\x84\x66\xe8\xdf\x41\x0b\xe4\xca\x31\x31\x0d\xcd\x40\x11\xb6\x2a\x7d\xf1\xa4\x22\x71\xc8\x2f\xb2\x7e\x78\xed\xd3\xe9\x82\xc4\x2f\x67\x38\x12\x22\x70\x1c\xdd\x0b\x8f\x0a\x2f\x67\x09\x1e\xa7\x46\x04\xcb\x1d\xf0\x2e\x37\x26\xf3\x20\xa1\x24\xce\x51\xd2\x03\x08\xc0\x82\x3e\x83\x4a\xeb\x65\x38\x23\x9f\x86\xf6\x56\xe9\x21\x97\xc7\xe4\x7b\x1f\xbd\x88\xee\x54\xe1\x60\xae\x53\x07\xaa\xa9\x3b\xcb\x6b\x08\xfd\x41\x25\x4b\xbb\x0f\xc1\xed\xc3\xbb\xe8\xbe\x18\x67\x3b\x55\xff\xa4\x44\x0a\xae\xc1\x8a\x95\x1c\xd3\xc9\xa8\xec\xb6\x36\xbb\x07\x57\x86\xcc\x7b\xa9\xdd\xb5\x0c\x2f\x01\x8f\x3a\x47\xc1\xcb\x9a\x81\x48\xfb\xfd\xcb\xd7\x17\xd7\xcf\x2f\x7e\x78\xfb\xee\xe2\xfa\xd5\xcb\x37\x7f\x7e\xf9\xc3\x6f\x92\x5e\x85\xd0\x1f\x1f\x18\xff\x8b\xfe\x48\xf7\x13\xf2\x26\x26\xdf\x01\xe3\x68\x92\x3a\x53\x53\xf8\x95\xcd\x08\xfe\xe2\x2f\x83\x19\xd7\x63\xf8\xcb\xe5\x8d\x3f\xfd\x70\x00\xdd\x8f\x32\x12\x29\x6f\xb7\xa4\x5e\xc7\xe5\xf1\x1e\xdc\xea\xbb\xc0\x93\x70\x03\xf6\x73\xea\x3b\x59\xe6\xbd\x23\x8c\xa3\x66\xf3\x88\x1a\x74\x11\x47\xf7\x10\xed\xe3\x82\x6b\x18\x45\x25\x1b\x77\xeb\x84\x36\x6e\x48\x23\x8d\x1a\x97\x4e\x09\x9f\x03\xe1\xb5\x50\x26\x6a\x9a\x28\x26\x73\xf2\x69\x48\x90\xa0\x32\xa4\x28\xc7\x94\x71\x7b\xf7\x80\xe4\x4a\x0f\x63\x45\x4b\xa0\x55\x1c\x44\x71\x40\x1f\x86\x71\x3b\x4d\xb2\x2d\xe1\x28\x1f\x84\xe3\xda\x9f\xcd\x72\x25\x79\x1f\xbd\x0a\x12\x0a\xfe\xf6\xdb\xc1\xac\xd8\x92\x4a\xd0\xb2\x1a\xd3\x3a\x4a\x55\x95\xf9\xae\x12\x3b\xc8\xbc\x9d\x75\x25\x50\xcb\x1e\xd1\x53\x6c\x8d\x68\xab\x65\x80\xb9\x41\x5a\xf6\x13\x05\xce\x98\x4e\xb2\xf7\x79\x97\x56\x0d\x05\xf9\xf4\xc2\x05\xdc\x88\x22\xa9\xc6\x57\x05\x62\x01\x40\x5e\xdd\x5b\x80\x82\xfb\x3b\x65\xdf\xca\x33\x52\xcf\x69\xf9\xba\xef\x2e\x08\x2b\xea\x0f\xe6\x13\xd9\x8c\x50\xae\x6c\x30\x63\x7b\x59\xa3\xd0\x85\xca\x5a\x22\xdb\x40\x47\xd6\x28\xdb\x38\x17\xbb\x52\x35\x11\x15\x1c\x16\xf2\xf9\x6b\x4c\x26\xe0\xe9\x8a\xfb\x4b\xcf\x9c\xc0\xe6\x82\xe8\x59\xa3\xb8\xa6\x2a\xb1\x69\x16\x3c\x14\x16\xab\x13\x4f\xb2\xe3\xae\x59\xf4\x2a\x2b\x91\x4e\x51\x00\x0e\xb6\xa2\xcc\x31\x23\xb0\x56\xa0\xe0\xf1\xcc\x04\x45\xe5\x78\x31\x82\xe2\x2b\xb0\xf4\x42\x6d\x10\x45\x05\x9b\xdb\xcd\x46\x32\x19\xe3\x8e\x13\x83\x10\x48\xb5\x40\x5f\x06\xbe\xa5\x43\x6c\x8d\xc2\x93\xb4\x9c\xa3\xd0\x34\x8d\x44\x0f\xd3\xf0\x7c\xdb\x6d\x69\xfe\x2c\x54\x53\xe9\xe4\x7c\x3c\x41\x01\xa6\xbc\x97\x23\x94\x60\xd2\x9e\x2e\x82\xe5\xec\x4d\x34\x23\x09\x0a\x71\xc1\xe7\x39\x9f\x12\x74\xda\x86\x99\x03\x5a\xec\x28\xdc\x6c\xd8\x24\x16\xa6\x03\x4e\xf0\x49\x9c\xf5\x98\x8f\xc3\xb1\xc6\x83\xc8\x6b\x47\x69\x34\x4b\x9a\x9b\x5d\xce\xac\x61\xfe\x11\xa2\xe5\xf1\x98\x8c\xa6\x9f\x1e\x54\x2e\xb0\x35\x5a\x9c\x64\xbd\xbc\x48\x7b\x79\x8a\x93\xf1\x62\x82\xd6\x78\x5a\x28\x67\x1a\xd1\xd1\x87\x32\xae\x4f\xb1\xc5\xc1\x67\xa2\xf3\xb9\xfb\xff\x67\xe1\x74\x11\xc5\x69\x10\x00\x1f\xd1\x74\xd1\x10\xdc\x50\xa4\x99\x5d\xb8\x4c\x0b\xc5\x86\x8c\x8b\x31\x9e\xb6\xc3\x68\x46\xde\x3f\xac\x52\xaf\x6a\xc2\xd9\x27\x6b\x42\x7d\x8a\x66\xdc\x06\x09\xbe\xbf\xc2\x53\x46\x58\x7b\xa6\x61\x8c\x57\x80\xf7\xc6\xbf\x23\xbb\x46\x5b\xe5\x43\x97\x6b\x68\x55\xf0\x2c\x3f\x13\x13\x04\x14\x6d\xd7\x4b\xb2\x75\xd4\x2d\xb6\x46\xb7\x27\x0a\x98\xd1\x6d\xda\x70\x73\x9c\x7f\x3d\xbe\x9d\xa0\x3b\x3c\xaf\x69\xc3\x96\x7d\x84\xf1\x5d\xba\x28\xe6\x6a\x78\x99\x3a\x73\xfd\x35\xa0\x0b\xa8\xf2\x1c\xcd\x90\x8f\xee\x84\x56\x59\x9c\xe3\x2c\x4c\x7c\x00\xea\x14\x50\xd7\xdc\xd3\x28\x9f\xf5\x66\x06\x3a\xd2\xcb\x7c\xb8\xf3\x20\xbb\x34\x4a\x4c\x69\x54\xf1\xe3\x17\xf0\xa1\x29\x31\x62\xe6\xb2\xbb\x74\xce\xa6\xe2\x28\x69\xd1\xcf\x4f\x4b\xb3\x8a\x48\x14\xbe\x96\x85\xda\x0c\x4a\xe1\x06\x82\xf6\x2c\xf6\xe7\x73\xff\x66\x09\x67\x40\xf1\x99\x1e\xb4\x17\x31\xb9\x85\x57\xd4\x8f\xe7\x84\x62\xed\x1a\xae\xe7\x69\x28\x50\x46\x11\x0e\xa6\x1f\x72\xee\xeb\xb9\x1c\x42\xb3\xa9\x5d\x8f\xd9\x1a\x64\x18\xc3\xc3\x91\x8f\x02\x65\x44\x74\xd5\xec\x55\xfe\x0c\x2a\x5d\x2d\xca\x73\x46\xc5\x2a\x36\x9e\xa0\x18\xdb\xa3\xf8\xc4\x4f\x63\x05\xe5\xa7\x7d\x3a\x8e\x5b\xf6\x04\x67\xef\xc6\xf1\x24\x9b\x84\x78\xc4\xd5\x34\xa6\x01\xe2\x2e\xff\xd2\x31\x3d\x8a\xd8\xfa\x27\xce\xdf\x9e\x93\xdb\x28\x26\x3a\x1d\x47\x13\xb6\x64\x07\x85\x48\x07\xe5\x25\xb8\x96\x9b\x15\xe1\xc6\x83\x5b\x1d\x74\xc4\xf2\xc8\x04\x07\x9c\xf9\xfc\xb1\x35\x31\x90\x0b\xc6\x1c\xb9\xe9\xa5\x24\xff\xf1\x5e\x67\xf0\x99\x08\xe8\x37\x18\xd7\x34\x18\x4e\x23\x8a\x1b\x51\xb8\x7c\x68\x88\x8e\x69\xf8\x8d\x24\x08\xe7\x4b\xb2\x03\xc9\xa2\xad\x14\xc6\x17\x1b\x7e\xb0\xe3\xe5\x3c\x9b\xe0\xa8\xe0\x1d\x5a\x8c\x2c\x14\xaa\x79\xf9\x3d\xf9\x04\x45\xd2\x13\xa3\x28\xf8\xe5\xe7\x45\xd6\x24\xa1\x81\xac\x2d\xb8\x72\xc4\xa5\xf1\x2d\xe4\xb2\xec\x53\x22\x14\x6d\xbe\x18\x16\x0a\x0c\xb4\xdc\x53\x02\xbf\xb6\x04\x4b\xb6\x0d\xb1\x40\xc3\xbd\x90\x69\x4f\xf7\xd0\x5e\x18\x68\x5d\xc0\x0a\xcc\x5d\xd3\xcc\xf6\x20\xaf\x6b\x0b\x36\x45\x14\xcd\x0c\x64\x8b\xb3\x94\x44\xb5\x53\xc2\x8e\x65\x21\xda\xe6\xab\x7b\x40\x62\x9c\xfc\x33\x3c\xd8\x7e\xde\x8e\x92\x31\x1c\x9d\x3f\xbf\x78\x35\x29\x09\x14\x99\xbb\xdf\x1b\xb2\x5c\xea\xc6\x16\x09\xd0\x57\x3f\x54\x42\xa6\x5e\x01\x73\xd0\xbf\xbc\x9f\xe0\x1d\x62\x9a\xfb\xc3\x0f\xaa\xdc\xf3\x77\x95\x94\x8b\x7e\xf8\x72\xf4\x9f\x5f\x56\x97\x3b\xf5\xc0\x97\x03\xff\xf1\x7d\x25\x38\xf5\x6f\x72\x80\x97\x6f\x2b\x01\x53\x4f\x7a\x79\xe8\x97\xf5\xd0\x2f\xf3\x45\xbe\xb8\x3c\xaf\x80\xe6\x87\xa6\xd4\xa7\x44\x5f\x30\xb0\x67\x3f\x5d\xbc\x30\xb6\xe2\xb0\xed\xf3\x76\x14\x8e\xb5\xb1\x56\xc6\x85\x58\xd0\xfe\x1d\xd7\x53\xb4\xa7\xeb\x98\xcd\x8b\x3f\xb1\x2c\x6c\xa1\x02\xc5\xf3\xcb\x97\xd7\x3f\x3d\x7b\xf7\xec\x35\x93\x3c\xc7\xda\xe4\x2b\x48\xbd\xbd\x3c\x67\x44\xda\x3f\x7d\x31\x85\x17\xe7\x97\x40\xe1\xba\x44\xa1\x00\xf4\xf2\x4f\x6f\xde\xbe\xbb\xe0\xc5\xfd\x6f\xa9\xb8\x15\xa0\xed\xa9\x54\x28\x61\x37\xcf\x5e\x5e\x48\x2f\xe1\x9c\x97\x4b\x06\xba\x51\x2c\xe4\x9b\xb7\xef\x5e\x3f\x7b\x05\x78\x2f\x24\xbc\x7d\x18\xaf\x15\xc5\xf8\x48\xe2\x84\xbc\xac\x47\x1c\x6b\xdf\x2b\x7a\x26\xef\x60\x11\xd1\xfd\xf7\xae\x54\xc4\x59\xe6\x87\x60\xf5\x86\xcd\xcd\x0b\x1e\x36\x26\x14\x43\xef\xd9\x9b\x49\x61\x99\x56\x71\x64\x5a\xc4\x11\x9f\xbf\x3f\x6f\x47\xfe\x58\x3b\xd3\xaa\x11\x7f\x82\x73\x7d\x5d\x3b\xd3\x8c\x2d\xf2\xc7\xda\xe9\x01\xb0\xa7\x02\xf6\xe8\x00\xd8\x23\x0e\x6b\xd5\x40\x32\xd6\xd3\x6d\xeb\x29\x81\x98\xc1\xf0\x64\x00\x92\xfd\x48\x24\xd3\x06\x34\xe7\xb1\x68\x0e\xa0\xb9\x8f\x45\x73\x01\xad\xf3\x58\xb4\x0e\xa0\x75\x1f\x8b\xd6\x05\x34\xef\xb1\x68\x1e\xa0\xf5\x1e\x8b\xd6\x03\xb4\xfe\x63\xd1\xfa\x80\x36\x78\x2c\xda\x80\xa1\xb5\xbf\xab\xc6\x8a\x12\x0a\xdc\xf4\x1d\xe7\xa6\x27\xda\x93\x9a\x4f\x08\xe0\x27\xda\x13\xce\xa6\x8d\x3a\x36\x4d\x29\x37\x04\x4f\x3f\x39\x04\xf8\x89\x00\x1e\x55\x01\xa7\xa1\x57\x44\x05\x19\xf0\x17\x8e\xe1\x25\x1b\xc3\xcb\xb1\xf6\x9f\xa5\xf9\x86\x49\x1b\x19\x72\xce\x7f\x2b\x44\xc6\x5e\xb6\x9f\x55\x03\xa7\xbe\x4d\x05\xe4\xf3\x7d\x90\x2f\xa2\xfb\x50\xc0\x9e\xef\x83\x15\x5e\x00\x05\xf8\x8b\x7d\xe0\xa9\x9f\x0d\x01\x7f\xb1\x0f\x3e\xf5\x76\x29\xe0\x7f\xd8\x07\x5f\x70\x34\x29\x90\xfe\xb4\x0f\x29\xef\x0a\x52\xe0\xfc\xb8\xf7\x43\x69\x98\x1b\x0e\xff\xf2\xc0\x76\x7a\xef\xdf\x08\x8c\xff\xaa\xc6\x28\xfa\x3c\x14\xf0\x7f\xde\x0b\x9f\xab\xf2\xab\x7d\x9c\x03\x1e\xbb\x04\xf0\xeb\x6a\xe0\x9c\x7b\x2f\x01\xfc\xd3\x3e\xe0\x3c\x4f\x5e\x56\x03\xa7\x9e\x91\x04\xe4\x7b\x09\x32\xdd\xa1\x9c\x38\xcd\xe6\x51\xdc\x6c\xe6\xdd\xfd\x08\xa4\xbf\xec\x69\x92\x7c\x51\xfe\xef\xa1\x9c\x99\xf5\xd0\x58\xfb\x6b\xdd\x08\x2c\xb9\x72\x11\x9f\xf1\xab\x11\x24\xbf\x2a\x02\xe5\xa6\x1a\xa5\xca\xcb\x89\xc0\x9c\xd6\x34\xaf\xc2\x89\x88\xc0\x9a\x55\x63\x95\x7c\x46\x08\x84\xf2\x2e\x3b\x87\x20\x39\x70\x10\x28\xb7\x35\xcd\xf0\x4b\x69\xe8\xcc\xab\x61\x53\x57\x01\x02\x72\x51\x57\x5f\x7e\x25\x91\x03\x2e\xeb\x9a\xb4\x08\x7a\x57\xdf\xc3\x52\xeb\x85\x75\xfc\xbf\x33\x04\x17\xd0\x2b\x09\x5a\x98\xa5\xc6\xdc\x2c\x55\x3b\xd2\x86\x39\xcb\x66\x86\xc5\xd0\x7e\x57\xe8\x35\xb4\x86\x86\x31\x0e\x60\x20\x14\x2c\x61\xc5\xa7\xca\x51\x4b\x0a\xeb\x4c\xce\xe4\x53\x80\x27\x95\xe0\x99\xed\xa4\x80\x5c\x57\x41\x16\x6c\x1e\xc5\x98\x51\xad\x79\x48\x38\x8b\xca\x50\xa3\xca\xb5\x6f\x31\x3a\x2a\x7a\xca\x20\xe2\x3d\xb6\x26\x58\xe3\x49\x0d\xb1\x6c\xb1\x11\xc3\xf6\x04\x6b\x22\xcd\x5f\x64\xfb\x29\xec\x4c\xb0\x96\x3d\x65\x2f\xb1\xcb\xb3\x79\xc6\xdb\xcb\x73\xdc\x99\x60\xed\xed\xe5\xb9\x80\xe0\xa2\x3a\xee\x32\x28\x9e\xe6\x2f\x5e\x9c\x5f\x62\x6f\x82\xb5\x17\xe7\x97\x3c\x83\xef\x6d\x70\x6f\x82\x35\x9e\xd4\xb6\xfa\x62\xb3\xd1\x17\xf8\x73\x1a\x41\x7b\x5a\x71\x04\x9e\x3b\x61\x0e\xf2\x26\x9c\xe5\x8b\x6b\x99\x6b\x93\x04\xe2\xe3\xa7\x8d\xa5\x3a\xc9\x86\x38\xcd\x4a\x37\x5d\x53\xb4\x46\xb3\xec\x3e\xd2\x68\xe7\x82\x36\x8b\x24\x26\xdb\x8f\xaf\xe3\x38\x9a\xfb\x94\x5c\x2f\x82\xf9\x42\x15\xb8\xa6\x08\x61\x4a\x37\xee\x8a\xef\xb1\xa6\xa5\x27\x73\xe9\x47\x4f\x66\xa5\x0c\xd3\x04\xdd\x5d\x8c\xc9\xb8\xf8\x62\x82\xba\x5d\x67\xe0\x9d\x60\x7d\x8a\xf9\xa0\x3c\x8f\x66\xe4\x19\x2d\xd5\xc2\x30\x9a\xcd\xe9\x09\xee\x7a\xae\x3d\x00\x4a\xeb\x3a\x68\xd3\x36\x50\x90\xbc\xf1\xdf\xe8\x6b\x43\x36\x0c\x2e\x16\x3e\x1e\x4d\xa3\x90\x06\xe1\x9a\x6c\xa7\xd8\xb6\x9c\xce\x53\x7d\xda\x82\x32\x19\xa6\xbe\x6e\x75\x3d\xd7\xb1\x0c\xd3\xeb\x76\x5d\x0f\xc5\x26\x4e\x27\x0e\xf9\x8b\x5b\xb0\x87\x05\xf8\x13\x3c\xe5\xc5\xed\xb9\x1d\xd7\x48\x6f\x7c\xe4\x3a\x5b\x98\xad\xa7\x5d\x3e\x8c\x1b\x41\xd8\x48\xce\x92\x71\x3c\x11\xc7\xfb\x12\xfb\xa4\x77\x64\xf2\x79\x69\x48\x23\x3d\x46\xd3\x82\x0d\x7a\xa6\xca\x18\xb2\x46\x67\xc4\x43\xe3\x73\x58\xa2\x9e\xb6\x48\x7a\xce\x50\x9a\xbc\x74\x0d\x0c\xd9\x35\x43\xfc\x7d\x2a\xfe\x9a\xe2\x6f\x4b\xfc\x6d\x6b\x43\x19\xb3\x7c\x25\x20\xbd\x2f\x90\xbf\x58\xca\x28\x57\xc1\xe5\x6f\xab\xb2\x2f\x57\xc1\x39\x79\x38\xb3\x1a\xce\xcd\xc3\xb5\x0e\xfc\x6e\xbb\xe6\xbb\xdb\xe2\xd0\x15\x93\x49\x1e\xfb\xb8\xa6\x34\x48\x89\x8d\x8a\x3c\xd5\x6a\xe5\xc9\xbd\x11\xcd\xfd\x56\xcb\xdd\x07\xd7\x42\xe9\x23\x3b\xa5\x85\x93\x67\x09\x2d\x12\xf8\x9b\x1a\x0c\xb7\x80\xb1\x3d\x98\xf6\x3f\x6a\x20\xed\x02\x64\x4f\x53\xb1\x71\x6e\x55\x32\x94\x73\x62\x9e\x44\x5f\x49\xa2\xb8\x5c\xed\xa7\xf2\x1f\x29\x95\x22\x08\x2a\x4f\x5b\x79\x9c\x1f\xa5\x6a\x52\xff\xe6\x32\xe7\x1d\xa2\xfa\x73\x58\x42\xfd\x97\x3a\x8a\xd9\x5b\xde\xd3\x8a\xf2\xfe\x73\xfd\x0c\xd4\x15\x73\x46\x6e\xfd\xf5\x92\xd6\xf5\x62\xd5\x75\xc2\x8b\xcb\xf3\x46\x6a\x4c\xd8\xf8\x3e\x69\xc3\x45\x9a\xc2\xec\x29\x06\x24\x9f\x97\xa3\xf4\xf1\xf2\x4c\xa7\x78\xf7\x34\x8e\x27\x48\x3b\xd6\xb8\x01\x12\x7c\xb1\xa8\xe9\x33\x86\x0c\xba\xa4\x25\xac\x73\x9e\x54\x31\x5d\x20\x2a\xb5\xea\x5c\x71\xff\xaa\xb2\x33\x1b\xa0\x3b\x86\x95\x80\xc9\x98\x42\x1f\xbe\xd9\x64\x4f\xcf\x2f\x5e\xed\x44\xd7\x1c\x48\xea\x43\x63\x37\x1a\xca\xe5\xe0\x9a\x67\x7e\xce\x2c\xdf\x39\xcb\x14\xd1\x72\xec\x23\xc0\xcb\x7b\x5a\xaf\xbd\xc6\x25\xc0\x55\x61\xec\x78\xec\xf3\x2a\xf8\xf2\x77\xb9\x79\x02\x84\x52\x57\x12\x32\x8c\xad\x92\xd4\xce\x4c\x51\x59\xbf\x4c\xc6\x2a\x49\x72\xaa\xcb\xa7\xa2\xc9\xb8\xbc\x56\xf6\x1e\x98\x27\x6a\xe2\x78\x18\x9f\x62\xcd\xd2\x9a\xcd\xf8\x04\x6b\x03\xad\x0e\x1a\xdb\xd6\xd3\x3a\x62\x71\x5e\x5a\xb2\x8c\x56\xa7\x3f\xd4\x46\x9a\x3a\x74\xd7\x97\xf6\x6a\xa1\x3c\x9a\x56\x92\x48\x32\x61\x3d\x93\x49\x7c\xe3\xb3\x9f\xca\x24\xa9\x10\x02\x24\x4b\xea\xb6\xf2\x6a\x79\xf9\x32\x47\x93\x8f\xd1\xe5\xd9\x32\xa5\x54\x5c\x18\xd4\x9c\x27\xe5\x82\x76\x5b\xca\xe5\xfa\x41\xc8\xde\x77\x45\xf9\xfc\xf2\x65\x63\x1a\xcd\x48\x36\xa1\x28\x39\x42\xfd\xdd\x2c\xe6\xa6\xf4\x69\xac\x69\xc5\x46\x7c\x71\x7e\xb9\x6f\x20\xd7\x8f\xe0\x11\xb7\xa2\xe1\xb6\x93\xe8\x36\x0d\x83\x5c\x10\x51\xa5\x1b\xcd\xb0\x24\x14\xe4\x8e\xef\x7e\xcf\xa4\x3e\xc9\xe7\x45\x9e\x0d\xd0\x2d\x9b\xef\x57\x9c\xc4\x13\xed\xf7\x27\xc3\x15\x7e\x62\x69\xbf\x3f\xc9\x55\xeb\x89\xb6\x82\x6c\xcf\xd6\x56\xf9\x7c\x2d\xd6\x86\x12\xf1\xec\x7e\xa2\x69\x2b\xef\x17\xe7\xaf\x26\xc2\x55\xe3\x38\xdf\x82\xda\x1d\x23\xa9\x59\x77\x9a\x72\x15\xa9\xea\xdc\x17\xe7\x97\x8d\x9f\xa8\xe8\xda\x95\x81\x20\x14\xaa\x34\x91\x17\xee\x44\xff\xa4\x99\x0d\xf3\xd6\xd4\xbe\x8b\x35\x73\x65\xee\xf2\xaf\xae\x0a\xe3\x42\x33\x57\x85\x76\x35\x7f\x57\xd4\x59\x6e\xd0\xc3\xbe\x6d\x56\x7f\xfb\xf0\x7a\x73\x1e\x10\x75\x57\xf3\x47\xb9\x29\x94\x53\x63\x25\xcf\x1f\x30\x67\xe6\x09\xee\x9b\x32\x95\x5f\xdb\x6c\xb4\xef\x60\xb2\xdb\x6c\x34\x13\x12\x67\x0a\x8f\x52\x1c\xf6\x80\xa9\xb9\xea\x33\x8a\xef\x17\xd1\x8a\x83\x99\x2b\x16\x86\xf1\x51\x7e\xc0\x66\x4f\xcf\x2f\x5e\x6d\x36\x87\xad\xc7\xc5\x26\x34\x32\x1b\xab\xdc\x5b\xf9\xa2\x30\xe0\xc8\xe6\xda\x9c\x96\x0c\xcf\x0f\x00\xf7\x5f\x29\x56\xa1\x8a\xc9\xac\x0e\x57\x80\x28\x90\xa1\xe5\xea\x9d\x02\xec\x5a\xb8\x84\x3f\x97\xf0\x77\x66\x02\xd5\x54\xd4\x61\xf7\x25\x42\xdf\x62\xd5\x2c\x05\xb3\xca\x0b\x94\xf2\xa7\x77\x7c\x90\xdd\x19\xfe\x89\x89\x85\x31\x9e\xee\x31\x65\xc9\xb4\x55\x41\xee\x82\x7d\x3b\xba\x0f\x49\xfc\xa2\xc2\xae\x2e\x59\xf9\xa1\xc6\x3e\x91\xb3\xaf\x5c\x90\xe5\x32\x6a\xdc\x47\xf1\x72\xa6\x21\x52\x30\xb5\xa4\x5c\x47\x16\x63\x2a\x22\x71\xff\x1a\xcc\xc0\x5f\x0e\x2d\x44\xfe\x1e\xa5\x01\x33\x6f\xa3\x90\xfe\xca\x63\x63\x6b\x37\xd1\x72\x96\x85\x03\x2f\xa0\x27\x65\xf4\x9c\xba\x72\x67\x64\x46\x0d\xc4\x46\x51\xb4\xd9\x04\x47\x18\x27\xdb\x2f\x32\xdc\x89\x50\x82\x63\xdd\xf1\x0c\x59\x69\xf9\xfc\xed\x2b\xae\x9a\x64\x09\xae\x2e\xfc\xf9\xcd\x8b\x8b\x77\xaf\x5e\xbe\xb9\x00\xbd\x64\xf6\xc4\x5f\x3e\x7f\xf5\xf2\xcd\x9f\x41\x11\x09\x29\xa1\x60\x7c\xf3\xcb\xc5\xbb\xcb\x0b\xdc\x9f\x60\x4d\xa4\xb3\x17\x2f\x2f\x5f\x3e\x7f\x75\x81\x6d\x8f\xbf\xe3\x8f\xda\x56\x8f\x36\x1b\x3d\xda\x29\x20\x43\x2e\xfe\xfb\x55\x7a\x48\x39\x2c\x76\x7a\xe7\x84\x3b\x6b\x7a\x17\xdd\x27\xff\x67\x4d\xd6\x64\x27\xde\x8a\x37\x3f\xc4\xfe\x1d\x49\x2e\x3f\x04\x10\x44\xd8\x2a\xbe\x7c\x16\x06\x77\xb0\xa1\x03\xa8\xc2\x16\x64\xe5\xa7\x81\xc9\x79\x9b\xff\x14\x45\x4b\xb8\x56\x95\xb4\x5f\x44\x77\xd2\xab\x94\xab\xe0\x46\x0f\xc6\x38\x04\x0f\x33\x41\x45\x94\xd6\x2c\xec\xc9\x97\x7e\x46\xa5\x59\xfd\x9d\xd5\xff\x1d\xaf\x98\xf2\x92\x50\xb9\xad\xf8\x00\xff\x9c\x50\x3f\xa6\x43\x82\x48\x38\x1b\xd2\xec\xe6\x89\xb2\x85\x32\x27\x0b\xea\xf6\xbb\x0f\xc2\x59\x74\xdf\x16\xdb\xff\xe2\xcb\x22\xe2\xab\x28\x5a\xed\xae\x00\x19\x65\x9f\xe0\x79\xb0\x3c\x4b\xa8\x42\x59\x07\x94\x70\xef\x5e\x99\xbd\x7e\xba\xb8\xa8\x38\xc0\x34\x4f\x70\xd7\xf8\x36\x95\xe0\xb6\xdd\x75\xdc\x07\xbc\x4e\x10\xdd\x05\xf0\x96\xfa\x44\x54\xa2\x63\x10\xc6\xac\x6a\xa7\x28\xfc\x43\x04\xab\x49\x8c\xad\x49\x1b\xfa\x34\x43\x57\x41\x90\x70\x96\xbb\x48\x61\x67\x17\x29\x2a\x0a\xc4\xad\x6a\xd5\xd4\x62\xf1\xbd\x13\x92\xd3\xc0\x57\x42\x19\x15\x23\x97\x01\x90\x70\x76\x4a\x73\xe1\x03\x2b\x60\x52\x31\x6d\xef\xe0\xaf\x1e\xdf\xa9\x93\x37\x36\x3c\xca\xf7\x24\x62\xe5\x18\x82\x86\x1a\xd1\x16\x51\x3a\x33\x3f\x76\x54\xb1\x0b\x53\x7f\x8d\x3b\x73\x63\xd9\x47\x7e\x0a\x53\x98\xf6\xa5\x0f\x9c\x73\xb3\x5d\x12\x57\xc4\xdf\x07\x1f\xd3\x09\x26\xfc\xd8\xe4\x40\x7f\xeb\xa0\x08\xfb\x2b\x09\x67\x7f\x6d\x04\x49\x83\x46\x51\x63\xe9\xc7\x73\xd2\x6e\xbc\x8e\x12\xda\x58\x06\x1f\xc8\xf2\xa1\xe1\x37\x6e\xfc\x59\xe3\xfc\xf2\x1d\xa8\xc4\x2a\x3c\xb4\x8f\x92\x13\x4c\x47\x49\x7a\xa3\xc0\xc7\x89\x14\x92\x02\xdc\x17\x2e\xab\xe3\x5a\xf8\x06\x5a\xa4\x7b\xb8\x85\xec\xb7\x07\xe3\xa4\xa5\x8e\xa8\xa7\xfa\x90\xdc\xcc\xa9\xa3\x1a\x9f\x92\x66\xb3\xec\x14\x38\xef\x8d\xa9\x2c\x2d\x7f\x1a\xb6\xec\x6c\xa4\x4c\xab\x1c\x0f\xad\x71\xc9\xbc\x37\x15\x3e\x7e\x88\xfd\x39\x88\x1d\x06\x9a\xc1\x35\x8e\xb4\x8e\xe5\x22\xb0\x8e\x8f\x49\x38\x4e\x26\x59\x3a\x1d\x7b\xbc\x51\x6f\xa5\x3e\x57\xa0\x80\x63\xfa\x6a\xb0\x3c\x93\xdd\xd6\x2e\x42\xed\x98\x2c\x89\x9f\x10\xfd\xd6\xd8\xa6\xb5\x9f\x63\x6b\x34\x3f\x09\x46\xf3\xb4\x9f\xef\xf0\x72\x3c\x9f\x8c\xad\x09\x7a\xe0\x29\x7b\x82\x6e\x78\xca\x81\xbb\x5b\x37\x30\x67\xcf\x31\xc6\x8b\x66\x53\xbf\xc3\x2d\xdb\x40\x77\x47\x18\x4f\x9b\x4d\x7d\x7a\x24\x6d\x5b\x44\x6b\x36\x9b\xfa\xac\xd9\xd4\xf3\x17\x60\x66\xd0\x7a\x06\x5a\x17\x44\x33\xd8\xc0\xb2\x51\xcd\xa9\xaa\xa9\x19\x46\x70\xcb\xe8\x1d\xad\x18\x4d\x5c\x57\x67\x7f\xfa\xfb\x3a\x88\x89\x6e\x18\x68\xf5\x88\x42\xb0\x52\x1c\x44\x96\xfb\xb4\xbb\x33\x56\xe5\x2b\x5e\xc2\xb6\xb3\xf5\x31\x98\x91\x48\x33\x90\x04\x90\x56\xaa\xc5\x59\x55\xcb\x5d\x24\xba\x06\x77\x74\x77\xe8\x1c\xdf\xa5\x1e\xea\xee\x59\xd2\xee\xb3\x1e\xb8\x6f\x46\x20\xe5\x31\x79\x64\xb3\x91\xe8\xf2\xdb\x19\x20\xa6\x1a\xe8\xfc\xa4\xdf\x6c\xea\xe7\x26\xee\x1b\x06\x62\x88\x99\xf4\xd7\x6c\x56\x60\xe6\x3c\x47\x01\x06\x88\x85\x95\xd0\x37\xfc\xfa\x07\x40\x0a\x49\x91\x33\xd2\x25\xbe\x1e\x5d\xe3\x73\x74\x8e\x2f\x91\xdd\xbc\x6f\x36\x73\x45\xd9\x0a\x68\x2e\x3b\x56\xd2\x5e\xc0\xe8\x2d\x12\x6f\x36\x75\xa7\xdb\xc3\x18\x5f\x37\x9b\xfa\x35\xb6\xbb\x06\x72\xba\x1e\xc6\xf8\x9c\x11\xc7\x96\x61\xa0\xeb\x13\xa7\xeb\x55\x17\x78\xde\x9a\x46\xcb\x28\x6e\x69\xe6\x35\x6b\x9f\x3a\xd8\x14\xf0\x1c\xce\x4f\xd9\xa6\xfc\xc6\x98\x99\xf8\xc9\x09\x63\x8a\x06\xa0\x60\x01\x7a\x1f\xcc\x48\x6b\xba\xf0\x63\xed\xf4\x89\xf9\x60\x6a\x27\xc7\x0c\xe6\x54\xcb\x3c\x54\x3f\x14\x75\x9c\xa7\x4e\xb7\x5b\x45\x8b\x1f\x5b\x54\x53\x13\xba\xad\x07\xa1\xfb\x6a\x6a\xc3\x99\x89\xb5\xa6\x7f\xb7\x1a\x15\xf4\x49\x27\xe2\xc5\x92\x16\xf3\x4f\x45\xfe\x7c\x97\x9f\xaa\x5c\x66\x26\x7e\x38\xc1\x5a\x43\x3b\xd3\x9a\xe1\x4d\xb2\x1a\x69\xc3\x87\xed\x14\xdf\x6d\xb7\xdf\x74\xb8\x65\x63\xbe\x66\xa2\xcb\x63\xac\x8d\x6d\x5c\xb9\xec\x16\x76\x7a\x35\xcb\xae\x74\x10\x73\x17\x50\x36\x6e\x41\x54\xd0\xd0\x67\x41\x4f\x52\x43\xf1\x6c\x54\x12\xb2\xcb\xb7\xc4\x81\xca\x65\xea\xb8\xb6\x24\x79\x80\x5b\x2b\x49\x4f\x26\x60\xb3\x12\xca\xab\xc6\x7e\x94\x1a\x99\xa3\xe6\x03\x63\x6b\x02\xb7\xf2\x48\xb3\x99\x5d\x1d\x85\x80\x2c\xca\x25\x3f\xc0\xb4\xf2\x5d\xb4\x0b\x7a\x0b\x71\x71\x13\xf1\x1c\x84\x7a\x50\xe1\x7d\x17\x2e\x9a\xea\x91\x52\xc2\xd9\x6c\x92\x13\xcb\xe0\x45\x0a\x0f\x58\x90\x7d\x1c\x63\x8c\xa3\x33\x26\x10\x0f\x2d\xb4\xc4\x11\x13\x33\xce\x28\x7b\x54\xc8\x57\xa3\x50\xc1\x2d\x9c\x78\xd6\x75\xa9\x92\x21\x42\x3e\x5a\x8a\xcd\xed\x02\x27\xad\x88\xfb\x2f\x7b\x0c\x05\x55\xec\x4c\x10\xf3\x16\x86\x81\xa2\x23\x8c\x93\xf4\xde\x6b\xf0\x87\x15\x3b\x41\x16\x9a\xca\x47\x47\x0a\x66\xc8\x93\x0c\x0d\xe9\xae\xb1\x9a\xbe\xc2\x5c\x2c\x73\x7d\x10\x34\x9b\x7a\x80\xed\xf4\x12\x5a\xd5\xa5\xc8\x59\xf0\x71\x77\x2d\x32\x12\x2a\x97\x05\x57\xb7\x04\xd2\xb9\xd1\xc2\x8f\x5f\x13\x3f\x59\xc7\x29\x8c\xa9\xad\x3e\x69\x28\xc5\xa3\xd1\x0a\x93\xc7\x22\x2d\xc9\x2d\xc5\xb4\x0e\xeb\x3e\x98\xd1\x45\x11\x09\xb2\x64\x01\xae\x84\xf3\x54\x8f\x5b\xd4\x10\x98\x99\x26\xec\x1d\x61\x8b\x2c\x89\xb1\xbf\x47\x17\xb6\xdb\x19\xa4\xd3\xdd\x35\xf9\x44\x49\x38\x4b\x36\x9b\xdc\x2e\x1a\x36\xa1\x58\xa8\x92\x40\x1f\x2a\xba\xed\xed\xed\x66\xf3\xf9\xfa\x1a\xba\xf1\xfa\x7a\x38\x9e\x6c\x83\x30\xa1\x7e\x38\x25\xd1\x6d\xe3\x59\x1c\xfb\x0f\xcd\x66\xf9\x12\x4d\x06\x8e\xe9\x36\xf7\x95\x6c\xe2\x82\xe9\xa1\x11\x84\x0d\x6a\xd0\xf6\xc2\x4f\xde\xde\x87\x99\xde\x2a\x36\x20\x96\x54\x3c\xc1\x74\x1c\x4f\x8c\xad\xe4\x74\x07\xaa\x98\xd3\xf0\x09\x4d\xc6\x34\x0a\x13\x1a\xaf\xa7\x34\x8a\x31\xdd\x12\x00\x43\x74\xc7\x7e\x58\x28\x61\xe2\x33\x51\x49\xce\x43\x7a\x6c\x0c\xf5\x20\x07\x16\xef\xd2\x28\x24\xf7\x8d\xc0\xd8\xb2\x16\xff\x0a\x25\x9b\x6d\x19\x28\xc4\xb1\x3e\x80\xc9\x45\xb7\x0d\xb4\xc4\xb1\xee\xd8\x6c\x6f\x73\x09\x57\x03\xdb\xb7\x71\x74\x77\x2e\x16\x77\xdd\xf6\x2c\x03\x4d\xf3\xee\x7a\x16\x48\x9b\x6b\x0a\x4d\x5d\x85\x79\xe1\xaf\x6f\xdf\x71\x05\x1e\x4b\xf0\xac\x4c\x77\x07\x6a\x3b\x49\xd5\xb6\xae\x72\xbc\xc8\xad\x1f\x93\x74\xfa\x24\xed\xa9\xbf\x5c\x72\xd5\x06\x8f\x1b\x97\x76\x4f\x58\x30\xfc\x0b\xdb\xd7\x37\xa0\x7f\xc1\x31\x4b\xe7\x17\x4d\x1c\xb0\x9c\x1c\x97\xe3\x84\x65\x04\x61\x90\x5d\x26\x4e\x74\x03\x85\x59\x1c\x02\xf6\xf6\x2e\x9a\x11\xae\x02\x5b\xb6\xb3\xf9\xe3\x35\xcb\xd4\x29\x00\x2c\xfd\x84\x47\x02\x78\x11\xdd\x87\xef\x83\x3b\x82\x2d\x96\xed\x4f\x69\xf0\x91\x14\x30\x70\x94\x1e\x56\x86\xa9\xc2\x2c\xd0\x29\x22\x05\x66\x29\x95\x07\x4b\x03\x05\xaa\xce\x87\x13\xaf\xe8\xfb\x38\xb8\x4b\xe1\x0b\x9e\x74\x32\xa5\xdc\x75\x14\x32\x20\xb0\x35\xe5\x98\x10\x98\xe1\x75\xf4\x91\xec\x45\x7c\x9d\x42\x96\xb1\x59\x75\x0f\xc3\xce\x4c\xcf\x73\xd8\x3f\xaf\x0e\xc3\xe5\x96\xee\xdb\x42\x0b\x89\xe8\x43\x92\xda\x1e\xdc\x00\x65\x2d\x9e\x9d\x6e\xf3\x56\x6a\x47\xb7\xb7\xba\x46\xe3\xe0\x4e\x43\x55\xad\x97\xf3\x1c\x54\x16\x4a\x4a\x57\xce\xa1\x0e\xb3\xe8\x3e\xd4\xaa\x9a\xc4\x28\x96\x99\xb3\x94\x7c\xd2\x90\x16\x2e\xfc\xa2\xb2\xc9\x77\xe1\x1f\x5d\xb0\x2c\x1a\x81\xe2\x24\x48\x0c\x24\xa1\xdc\x2e\x37\xef\x16\x55\xcc\x4c\xb9\x69\x4c\x5b\xf8\x49\x86\xa2\xa1\xcf\x73\x42\x87\x4a\x8e\x16\x03\x8d\x9f\x09\x65\x18\x97\x05\xbd\xa1\x0a\xe2\x22\x9c\xa5\x6e\x5d\xf4\x23\xb2\xd9\x1c\x51\x43\x44\x08\x64\x1b\x70\xee\x99\x75\x6c\xf3\x07\x7b\xc2\x04\xdd\x70\x7d\x47\x62\xd6\x19\xc3\x23\xf0\x7c\x76\x1b\xcc\xd7\xe9\xf3\xd6\x38\xa4\x4e\x99\xf8\xf1\x9e\x7c\xa2\xdf\xaa\x52\x4c\xae\xe4\xf5\xe1\xd5\xd3\xb4\xd1\x4e\xb4\xc5\xbc\x3a\x5c\xc6\x02\x35\x62\x80\xc7\x93\x51\x50\x38\x23\x8b\xfd\x30\x59\xfa\xa9\x3a\xfa\x55\x10\x92\xf7\x11\x9f\xf4\xf5\x02\xef\xcd\x09\x05\x4f\xc3\x06\x3a\xb2\x10\x04\x1f\x8b\x0d\x23\x53\x31\x45\xf0\x41\xd3\x1e\x45\x27\x5c\x72\xb6\xc1\x27\x81\xb8\x7d\x2f\x11\x8a\xd8\x4a\xb3\xbf\x00\x09\x3a\xb2\x8c\x51\xd2\x0e\x92\x5f\x63\x26\xba\xcd\xce\x82\xf1\xce\xb5\xee\xc4\xc4\xfe\x50\x54\xc6\x87\xed\x6b\xbe\x0f\xab\x3e\x0d\x2f\x0f\xfe\x3a\x13\x66\x61\xe7\x70\x60\x21\x32\xcf\x17\x77\xfe\x4a\x57\x5e\x4c\x13\x17\xe5\xf5\x29\x82\x3b\x72\x46\xfb\x6f\x51\x10\xea\x61\x3b\x48\x5e\x5f\xfe\x0a\x5a\xfc\xe4\x4c\xbb\x8a\xaf\x42\x6d\xa8\x5d\x85\xda\x01\xbc\x98\x1f\xa7\xc5\xd1\x27\x4f\x24\x9c\x8f\x2a\xa6\x40\x3e\x87\xbd\x2e\x4f\x05\x49\x0a\x90\xaa\x9f\x4b\x73\x43\x5d\x23\xd6\xc9\xce\xdc\x6d\x98\x65\xa0\x92\x34\x0d\xdb\xe4\x1c\x67\x69\x1a\x93\x52\x50\x88\x03\xe4\x63\x6b\xe4\xef\xa2\x66\xf9\x29\x8b\x2d\x31\x19\xfb\x93\x51\x64\xe2\xe5\xd8\x9e\x20\x46\x6b\x39\x76\x26\xec\x03\xa7\xd8\x6f\x36\x93\x56\x0b\x05\x90\x0a\x5b\x2d\x43\x38\x4c\x08\x37\x9b\x8c\x12\xf7\xd8\xc4\x37\x26\x51\x3b\x21\x7e\x3c\x5d\xe8\xc7\x57\x89\xf9\xdd\xf1\xce\x7b\xcc\xb4\xd9\xd4\x17\xbb\xcd\xde\x82\x6d\x3a\xd0\xe2\x04\x27\xd9\xe0\xdb\xee\x44\xfc\xcc\xab\x02\xdb\xfa\x14\x1b\x4c\x56\xd5\xe7\xdd\x48\x8d\xbe\xd1\x51\x96\xe2\x08\x7e\x77\xa2\x60\x6c\x0d\x26\xa6\x04\xc9\xab\x20\x5c\x7f\x6a\x36\x49\x6a\x51\x99\x9f\xc4\x32\x4f\x1f\xf0\x8a\xeb\x12\x42\x72\x9f\xec\x66\x6e\x19\xa7\xcc\x2b\x52\xdd\x4b\xe7\x7c\x95\x87\x1f\x65\xd5\x05\xd7\x4d\xec\x9b\x3f\x41\x73\x51\x37\x83\x6e\xa5\x85\x8e\xbd\x7b\xb6\x5c\x56\x8d\x9d\x40\xac\x54\xcf\x96\xcb\x67\x20\xbc\x65\x76\xbf\x55\xc3\x83\x8b\x55\x8a\x85\x93\x13\x14\x52\x57\x76\xc8\x52\x45\x66\x4e\xb8\x00\xc9\x07\xd9\x79\x14\xc5\x33\x95\x07\x2f\x38\x97\xe0\x6f\x75\xa2\x90\x06\x44\x56\x4e\xbe\x55\x6e\xd7\x15\x8a\x0a\x98\x8c\x53\xd6\x19\x5b\x93\x56\x0b\xc1\x54\xcf\xff\x98\xd2\xe9\x07\x0f\xfd\x54\x51\x0b\x10\x48\x84\xad\xf1\x5d\xb4\x0e\x69\x7d\x55\xd2\x1b\x70\xef\xa3\x74\x4f\xad\xaa\x9b\xc1\x06\xbf\x74\x9e\xc5\xca\xfe\x54\xaa\xb5\xd8\x25\x67\x15\x3a\xc5\x3c\x30\x4f\x7c\x66\x0d\x75\x7a\x0a\x66\x99\x2d\xcc\x04\xaa\xdd\x88\xcf\xf4\x3e\x14\xb5\xba\x96\x81\xd8\x7f\x9d\x1e\xe3\xae\x65\x1c\xc3\x3b\xff\x26\xd1\xa9\x61\x42\x1a\xc2\x59\xe8\x76\xe7\x29\x35\x64\x8e\xc8\x26\xd9\x42\xb5\x2d\xf0\x23\x73\xb3\xa6\x34\x0a\x99\x7c\x02\x91\xee\x49\x48\x5f\x70\xd5\x65\x36\x51\xcf\x62\x7f\x5e\x68\xbb\xcc\xfe\x55\xb4\xee\xf9\x32\x98\x7e\x38\x67\xaf\x74\x02\x2e\x10\x16\xc1\x2d\xfd\x33\x79\x10\xc7\x44\x51\x78\xc9\x32\x00\x4a\x27\x22\x32\x10\x6f\xa0\x0c\x71\x07\x0a\x1e\x77\x32\x58\xa7\x0e\xf6\x45\xb4\xbe\xc9\xc1\xba\x0a\xd8\x74\x93\x0f\x6c\xbf\xda\x01\x8b\x1a\xf8\xb3\xd9\xfe\x05\xe8\xc8\x92\x9a\x54\x89\x57\xbb\x2d\x2a\x88\xc8\x45\xd3\x9b\x0a\x81\x99\xad\x8e\x5a\xd5\xd6\x48\x29\x79\x1f\x44\x76\xbd\xd2\xd4\x7b\x1e\xb9\xbb\x5f\x86\x94\xc4\x1f\xfd\x25\xdb\x40\xc6\x38\x21\x34\xcd\x50\xcc\xee\x24\x8f\xc8\x66\x93\xae\x25\x4f\xc6\xea\x05\x5f\x31\x3b\x57\xd7\xaa\x7a\xe7\xf3\xb5\xed\x55\x4d\xb9\xa6\xc9\x40\xb6\xc9\x9a\xa5\xb6\x01\xf7\xb5\x2f\x5b\x7c\xa4\x91\xbb\x1b\x39\x95\x33\x7a\x52\x58\x83\xb2\x13\xec\xd2\xcb\x8b\x30\xf5\xb1\xa4\x9a\xd9\x75\xa2\x98\x35\x72\x43\xf1\xc0\x8f\xbf\xe2\x3e\xff\x2c\xb4\x67\x09\x4b\x4d\x5a\x6b\xf5\x11\xd5\x9f\xa9\xaf\x48\x0d\x62\x5d\xe3\xc0\xda\x6f\x65\x53\x48\x5e\x86\xaf\xa4\xc7\x84\xfb\x71\xcd\x6b\x6b\x32\x01\xb9\xb0\x16\xc4\x34\xe5\xa6\xcf\xcd\x6c\x95\xee\x3f\x2b\xaa\x3f\xda\xd5\x52\xdd\xbc\xbf\xbe\x7d\xf7\x22\x9b\xc0\xd9\xab\x5f\xa3\x78\xf6\x8c\xea\xaa\x85\x23\x37\x69\xfe\xe1\xe5\x78\xf5\xf2\xcd\x45\xa1\x1c\x4c\x92\x7f\x26\xb6\x4c\xe5\xa2\xc8\x4b\x8d\xa2\x3c\x7a\x48\xee\x1b\x2f\x7c\x4a\x0c\xd6\x6f\x6c\x54\xe9\xc6\x48\xa7\xe2\x5c\x45\xd2\x89\x9d\x76\x2c\x8b\x6b\xed\xda\xd7\xb3\x80\x2b\x71\x7f\x88\xa3\xbb\x57\x29\x60\x76\xb9\x9d\x18\xa7\xb6\x65\x64\xf5\xd9\x2d\x2f\x6c\x3f\x51\x41\x3d\xbb\xef\xbb\x2c\x93\xc3\x63\xd2\x5e\xf9\x73\xf2\x17\xc4\xff\xfe\x96\x5a\xe4\xec\xe8\x9a\x66\xa9\xfe\xb5\xe5\x53\xf9\x24\xc9\x84\x87\x9d\xa4\xa0\x2e\x0d\x13\xad\x44\x79\x0c\xb4\x17\xd8\x4e\x81\x7f\xab\x12\x33\xd8\xac\x5b\xc9\x2b\xf2\xb8\x3b\x53\x8f\x9f\x8b\x70\xb6\x8b\x38\xae\x78\x67\x4f\xb8\x8e\x61\x67\x25\xf6\xd8\xf9\xae\x66\x0a\xc2\x82\x3b\xcf\x6a\x3e\x7f\x52\x3b\x2b\x54\x63\x5a\x13\x6c\x0d\xeb\xde\x2a\xc4\xe3\x61\x7d\x51\xd9\x80\x4e\xe7\x18\x4e\xed\x7d\x94\x8e\xe9\x8a\x0f\x55\x8a\x76\xc5\x26\x93\xc4\xe6\x5d\xbb\x95\x31\x4f\xad\xda\x3a\x2b\x6a\xd5\x4a\x43\x43\x97\x49\x9d\x58\x35\xf3\x34\x34\x60\xc5\x1c\x5f\xe8\x99\x9b\xbc\xc1\x63\xd1\x5d\xfb\xbe\xb9\x9d\xd3\xa9\x98\xd9\x79\x19\xc0\xc5\x3b\xa8\x15\xaa\x27\x78\x0e\x69\x9a\x5b\x26\x85\xb2\x72\xe3\xca\x51\x30\xb6\x18\x11\xa1\x44\xab\x2e\x92\x98\xad\x72\x82\x69\x79\x9a\xc8\x9a\x52\x16\xaa\xca\xcd\x2c\xdb\xba\x09\xa7\x2c\x41\xb2\x92\x24\x19\x8e\x82\x8e\xec\x2f\xe8\x7f\x3c\x56\xf6\xbe\x14\x23\x8b\xed\xe0\xca\x26\x71\x6c\x37\x35\xa9\x1c\x2f\x78\x2c\x47\xda\x62\x54\x26\xa5\x2d\x72\xc5\x54\xf5\xf3\x4a\x21\xd7\x54\xab\xa5\x4a\x44\xa6\x51\xf8\x91\xc4\xf4\x17\x71\x9d\xf5\x3c\x5a\xbe\x8f\x32\xaf\x2e\xe0\x81\x4e\x61\xa3\x20\xd8\x90\xcd\x6d\x01\xb6\x46\x2c\x71\x8a\x03\x08\xfb\x6a\xf1\xc8\x9b\x5c\x62\x88\x5b\xad\xd1\xce\x75\x6e\x79\x4f\xcb\x47\x77\xe5\x2c\x2b\xe9\x50\xe3\x03\xf4\x8f\xbc\x73\x53\xa3\xc9\xfd\x95\xe3\x87\x44\x11\x0e\x50\x02\xd1\xfa\x5a\x11\x0a\xb1\x05\x3a\xb3\xe0\x56\xe7\x1e\x4e\xe2\xd4\x7d\x42\x64\x08\x13\x8d\xe8\xd4\x6a\x36\xcb\x2f\x5b\xb6\x31\x32\xa2\x56\x8b\x07\x27\x0b\x4e\xe2\x4c\xf5\x53\x82\x0c\x4c\x06\x19\x98\xe6\x36\xb3\xec\x5a\xc2\xc7\xd1\x02\xfe\x00\x01\x90\xe1\xc6\x4b\xde\x8e\x7a\x68\x9a\x68\xd9\x6a\x19\x08\x76\x92\xe3\x85\xc8\xf6\x4d\x13\x2d\x4c\xd3\xe0\x05\x12\xb6\x8e\x41\xc2\xaa\xc8\x1a\xf7\x92\xac\xfc\xd8\xa7\x51\xac\x17\x4a\x69\x8c\x0c\x41\xbd\x65\x97\xe9\x47\xad\x16\x4b\x88\x3a\x98\x76\xae\x16\x87\x90\x67\x55\x33\x46\x86\x28\xa5\x69\x97\xca\x89\x02\x9e\x10\x2a\x3f\xa1\x8f\x8a\xcc\xa4\x15\x22\xfe\x99\xe1\xce\x2c\xa4\x15\x99\xa1\xe9\x9b\x72\x60\xc8\x68\x99\x94\xcf\xad\x0a\x32\x60\x9d\x8c\x27\x56\x94\xcc\x2d\xbf\x52\x30\x1f\x53\x61\x56\xcd\xf8\xae\x62\xf9\xce\xef\x14\x52\x25\x9f\xb2\x4c\xe9\x2a\xf6\x15\xa5\xca\xcd\x3e\xfc\x8d\x1f\xef\x16\xd0\x5f\xfc\xe5\x9a\x24\xef\xb8\x59\xe1\x4c\x37\xce\x44\xe1\x87\xe2\xaf\x99\x96\x8e\xd7\xa6\x54\x46\x45\x6f\x2a\xe4\x30\xad\xa1\x1b\xe3\xc9\xe7\xed\x93\x2b\x4d\xcb\x5c\x84\x13\xe3\x14\x5b\xca\x2a\x73\x11\xf8\xc0\xdd\x16\x9b\xfd\xc8\x21\x8d\x2c\x73\xc1\x16\xd1\xad\xee\xb7\x61\x7d\xbf\xb8\x0b\x28\x25\xb1\x31\xa2\xb9\xb3\x64\x1e\x16\x1c\xaf\xbf\x8d\x93\xdc\x47\xde\x60\x91\x0e\xf9\x14\x37\x3b\xf6\x1c\x45\x94\x5a\x6e\xa7\xe8\x95\xf7\x80\x90\x5d\xbd\x69\x55\xef\x78\xab\xce\x1d\x49\xfe\x8c\x4e\xa1\x32\x96\x4f\xea\xf2\x17\xd6\xa4\x52\x9c\x8d\x2d\x94\x5a\x30\xe5\x4b\x5e\xd6\x9f\x8b\xdd\x2e\x64\xd6\xb3\x7c\x99\xd2\x50\x41\xe8\x4b\x0f\x28\x6b\x2a\x7f\x11\xce\x1e\x5d\xf5\x03\x14\xc7\x60\xed\xae\x92\x21\x5a\x76\xb9\xd5\xa0\x66\x67\x47\x52\x03\x08\x19\xab\xb6\xd5\xc6\x0a\x52\x4c\xd4\xab\x64\x10\x15\xeb\xc0\x1e\xa6\x12\xa3\xdc\xa3\x5c\x00\x4c\xc5\x43\x79\xc3\x31\xde\x69\x8b\xbf\xae\x6c\x5c\x1a\x35\x14\xb9\x72\x79\x19\xbf\x70\xb5\xd5\x3e\x06\x29\x04\x6a\xaa\x6c\x5a\xb5\x06\xb5\x54\xea\xf4\x94\x3a\x91\x8f\xdb\x1b\x6c\xa2\x3e\xa5\x20\x29\xe7\x8e\xa4\x9b\x4d\x26\x1c\x9c\xb2\x66\x28\x9a\xe0\x29\xce\x4a\xf2\x3c\xa8\x56\x1e\x49\x6d\xdf\xc2\x44\xd1\x5c\x12\x38\x6f\xc2\x2a\x60\x15\xec\x89\x75\xa6\x2b\x27\x40\x74\x64\x19\x43\x55\x69\x94\xf3\x00\x50\xaa\x2c\x3d\xdb\x4d\x1d\xd9\x46\x66\x49\x57\xb4\x27\xc2\xc1\x3f\x75\x05\xc8\x4e\x6d\xf9\x6d\xd0\x4c\x7d\x5e\x5e\x11\x52\x1f\x32\xa9\xcd\xa4\xd0\xb5\x24\x99\x37\x19\x2c\x4e\x9e\xf2\x86\x55\xc2\x5c\x56\xdc\xc0\x7d\x17\xdd\xf3\x5b\xa5\xa9\xba\x72\xe9\x27\xf4\x1d\x99\x46\xf1\x8c\xcc\x84\x7c\x5c\x50\x67\xe6\xdf\xa7\x72\x71\x91\x42\x36\xe3\x44\xa1\xae\xf1\xb2\xa4\x87\x94\x05\x57\x37\xf9\x0b\x71\x0a\xcc\x98\x24\xc1\xdf\xc9\x81\x98\xa5\x96\x50\x68\xfd\x0b\x05\x89\x42\x4e\xac\x40\x28\x17\x83\x4c\x9e\x8d\x23\xc9\x4f\xcf\x16\x59\xca\x25\x58\x71\xd8\x9a\x6a\x67\xe4\x93\xb0\x53\xab\x30\xc4\x65\x80\xf4\xae\x4a\xb9\xbb\x46\x24\x65\x65\xa9\x23\x2b\x28\xa9\x1b\x4a\x18\xaa\x06\x21\xa9\xc7\xe6\x96\xa6\xc5\x5e\x2a\x9c\x22\x3c\x8a\x10\xe7\x7f\x01\x53\xcd\x51\x69\xe5\x0b\x6b\xd8\x48\x27\x9b\x0d\xcd\xd4\x90\x35\xfc\x28\xe3\xd6\xb5\xc1\xa2\xb6\xd8\x4f\x65\x62\xaa\x26\x51\x98\x3f\xcb\xd4\xeb\xbe\x6f\x94\x87\xf0\x23\x4a\x57\x35\x74\xa1\xa0\xe5\x10\x79\x05\x6e\x96\x04\xc5\x2a\x52\x52\x8f\xf0\x5b\x79\xc2\x7b\x84\xdc\x23\x85\x19\xa4\x1a\xb3\xac\xa8\x18\x7e\x09\x63\x9c\x15\x89\x0c\x1f\x39\xa2\xca\x96\x00\xa3\xdc\xb8\x2c\xea\x55\x9e\xaa\x47\xa4\xba\x6f\x53\xd7\x2d\x47\x18\x67\x43\xb6\x12\x08\x97\x43\xc5\xa4\x13\x95\x62\xf3\x97\x3b\xef\xae\x27\x7a\xac\x2c\xae\xd1\x52\xd4\x6c\x54\xe2\xe6\x9c\x26\x0c\x1d\x95\x43\xd2\x47\xe1\xaf\x0b\x42\x8a\x45\x13\x91\xf5\xc0\x73\x32\xf5\x7f\x4b\xcb\x6a\x8f\x44\x8e\xd0\xd6\x02\x22\x4c\xd0\xed\x17\x6f\x5f\x5f\xbf\xb8\x78\xf5\xfe\xd9\x35\xd7\x35\xab\x3b\x67\x78\x00\xfe\x4f\xcf\xfe\x74\xb1\xbb\x11\x5c\xa6\xa0\x18\xc0\x15\x6b\xc7\xce\xdb\x4e\x56\x8f\xa7\x14\xc9\x76\x01\x5b\x49\x8a\x8a\xd6\xd3\x05\xdf\x59\x49\x5b\x57\xc6\xcb\xf0\xfe\x37\x4c\xda\x94\x25\x20\x58\x0f\x3f\x44\x50\x12\xaa\x3b\x41\xd8\x51\x6b\xc9\xd4\x46\xfb\x3f\x88\x20\xfc\xe1\x5e\x76\x34\xb1\xaa\xde\x3b\x21\x29\x1d\x94\x7b\xc5\xa3\xbc\xeb\x8d\x7c\xd4\x92\xb3\x9d\x69\xde\xf1\x55\x7c\x76\x15\x1e\xcf\x91\x76\x15\x6b\xc6\x90\xec\x22\xe8\x47\x59\x68\x0a\x98\x09\x33\x1f\xaf\xda\x6d\xf0\x89\xcc\x34\x44\x0b\x17\x27\x34\xc7\x82\x69\xb9\x38\x6f\x96\x72\xe1\x62\x06\xdb\x2d\x07\x24\xa4\x7f\x69\xd9\x96\x98\xcb\xf3\x97\x3d\xc4\xdb\xdf\xa4\xb7\x7f\xe7\x5a\x4d\xcd\xb6\x2c\x8b\xe5\xde\x46\xd3\x75\xa2\x57\xc9\x0f\x52\xb1\xf9\xee\xba\x50\xe6\x42\x96\x28\x71\x21\x0f\xca\x5b\xc8\x61\x45\x2c\x64\x88\x52\xf1\x7d\x48\xc7\x78\xb4\xff\x0f\xd0\xc3\x90\x95\x1f\x43\xb8\xa1\x1f\xa2\xf8\x7d\x2a\x6c\x06\x88\xb6\xa7\xd1\xea\x41\x8e\xa2\x9a\xba\x35\xbf\x61\xa3\x89\xc4\x60\x4e\xf9\xf2\xe2\x4c\x58\xc4\x4d\x97\xc1\xea\x26\xf2\xe3\xd9\x0b\x9f\xfa\xed\x84\x50\xf6\x57\xd7\xb8\x65\x6e\x5c\xb2\x58\x1b\x92\x2a\x78\x4a\x3e\xd1\xe3\xd5\xd2\x0f\x42\x19\x4b\x35\x2a\x59\x45\xfc\x84\x12\x55\x71\x21\x96\x0b\x8d\x56\xac\x3d\xfc\xb9\xcf\xbb\x48\x18\xef\x66\x70\x3b\x07\xd8\x31\x0e\xf4\x18\x15\xeb\x27\xcc\x45\x8d\x5d\xdc\x3f\x08\x6b\x0b\x81\xa8\x7c\xb6\x5e\x43\x93\x82\xa7\x27\x61\x3e\x07\xa5\xe1\xde\xd1\xda\x53\x3f\x9c\x92\xa5\x4e\x8c\xed\xe8\xa0\x66\x6b\x36\x63\x5d\xd9\x9c\xf3\x42\x73\x1a\x52\xfb\x31\xc4\x72\x93\xce\x15\x4d\xca\x0f\x05\xee\xa2\x8f\xd0\xed\x4c\x16\xf8\x39\x9c\x91\x98\x9f\x32\xc3\x05\x62\x1c\x21\xda\x8e\x19\x4f\xc2\xa9\x73\x15\x17\xf0\x51\x8a\xa8\xa8\x7f\xa9\xa7\x20\x92\x0c\x7b\x86\x69\xf3\x7f\xaf\x26\xfd\xbb\x5e\x4d\xaa\xb9\xf1\x93\x46\x22\xac\xbe\xed\x13\xe4\xa2\x4b\x53\x14\xb4\xaf\xb9\x33\x8b\x74\x77\x1a\xa3\xa0\x74\xb7\xe6\x00\x83\x7e\x98\x20\xeb\x75\x64\xd7\x00\xf3\x87\x5c\x1f\xe0\x73\xef\x9e\xcf\x71\xa0\xc7\x99\x88\xdf\x89\xcd\x77\x9d\x6d\x9c\x80\x11\xcd\x25\xce\x11\x67\x91\x90\x5e\xf5\x54\xd5\x51\x82\xdb\x13\x19\x52\xf8\x1a\x52\x61\x4a\xeb\xa9\x2f\x82\x24\x68\x75\xe0\x6c\xe1\xd1\xac\x5a\x10\x58\xad\xb4\xd6\x60\x30\x18\x90\xbb\x0a\xc8\x7c\x90\x4a\xed\xd7\x2a\x72\x84\x66\xd1\x0a\x74\xcd\x8f\x03\x3f\xbd\xbb\x8f\x34\x1a\xaf\x49\x56\xb1\x02\xa3\x29\xee\xb0\x16\xe9\xee\xd9\xea\x93\x42\xab\xb3\x6d\xbe\x74\xbe\x9c\xbe\xae\xd0\xd4\x95\xeb\x31\x27\xf4\x39\x13\xd4\x83\x70\x7e\x0e\x42\xc5\x3b\x98\x09\x47\x5c\x54\x06\xf6\x6d\x36\xf9\xc3\x42\xec\x45\xf4\x1c\x6b\xe3\x1c\x54\x9e\x05\xf1\x0e\x21\xb3\x51\xe7\x08\x02\x1c\x15\xa0\x8b\x8a\x00\xbe\x36\x81\x4b\xdd\xe0\xef\x64\xba\xf0\xc3\x39\x99\x69\xe0\x5f\x89\x6e\xf5\x58\xb7\x0d\xe9\x5c\xe4\x3c\xa7\x45\x8a\xfe\x77\x16\xff\x1f\x38\x8b\x67\x77\xf0\x2b\xe7\xf0\xb8\x7d\xed\xb3\xd6\x85\x6b\x95\xd0\xce\xe0\x59\x0e\x5c\x24\xc6\x94\xcb\x98\x16\x7b\x5e\xa6\x5a\xc1\xf8\xf1\x93\xfa\x9d\xff\x89\xab\x04\xf6\xcc\xb4\x50\x92\xec\x6c\x34\xc9\x43\x16\x22\xbc\xee\xca\x4a\x0c\xc4\x63\x7d\x67\xc7\xc0\x42\x55\x2a\x0c\x60\xd2\x90\xaf\xa9\x29\x0e\x7c\x41\x1c\xa9\xcc\x09\x3d\x7f\x98\x2e\x83\x29\x3f\xd8\x8f\x8d\xd4\x3f\x0e\x6f\x90\x5c\xe0\x8a\xac\x21\xfe\x90\x45\x67\x79\x48\x53\x54\x35\x42\x70\xab\x93\xd3\x3c\x88\x21\x85\xae\x17\xd1\xda\x4f\x08\x44\x6c\x2f\xd4\x7b\x52\x74\x31\x24\xfa\x94\xfc\x21\xd5\xba\x8d\xe2\x0b\x7f\xaa\xa8\x57\x6e\xe1\x93\x06\x59\xde\x3c\x24\xbd\x27\x04\x26\x22\xc1\x49\x0c\xe6\x21\x54\x07\x07\x97\x10\xf9\x1f\x76\xe0\x8f\x58\x84\xe7\x84\x56\x1e\x72\xd4\x71\x02\x31\x26\xd2\xc5\x4c\xa5\xdb\xbc\x7a\x1a\xb8\x74\x2d\x63\xb5\x2e\x5d\x47\xda\x4b\xa4\xd0\xcf\x93\xcc\xb3\x61\x16\x63\x1c\x1e\xb3\xc1\x75\xa6\x9b\xa6\xc4\xb2\x65\xa0\x6c\xa5\xc9\xb3\xb5\x91\x5f\x22\xf8\xdd\x57\x3b\x55\xca\x89\xaf\x95\x4d\x33\x57\x45\xf7\x7b\x87\x36\x6d\x9e\x64\xab\xd5\xb2\xa5\x96\x5e\x2d\x83\x29\xa9\xb4\x20\x82\x30\xf4\xce\x28\x90\x43\x3b\x33\x5e\x89\xc7\x41\xcb\xc9\x87\x76\x0e\x26\xe2\xce\x19\xa3\x10\x61\x32\x8a\x4e\x0a\x05\xa0\x70\x7f\x72\x6f\xa1\x23\xe3\x80\xe9\x23\x32\x69\x36\x81\x08\xf2\x98\x6e\x83\x5b\x3d\x6e\x36\x77\xf6\x78\xbc\x20\x05\x28\x7b\x14\x9d\xb2\xa2\xb5\x5a\x07\x94\x64\x17\x3c\xf8\x90\x22\x19\x93\xdc\x0d\x3f\x6b\x14\x65\xc6\x39\x87\xd5\x9b\x98\xac\xe6\xf1\x38\x9a\xec\xec\x4d\x05\x37\x64\x2e\x15\x8b\xdc\x55\xbc\x10\x5a\x82\x6d\x15\x61\x47\x65\x3e\x34\x71\x52\x64\xf0\x22\xbc\xcc\xa3\x89\x91\x77\xa4\x2c\xbe\x86\xe3\x2c\x08\x7b\x81\xb3\x18\x8a\xac\xab\x2b\xce\xa5\x39\x27\x85\x69\x88\x66\xb9\x90\xc5\x51\xd8\x4a\x9f\xf3\x05\x23\xe5\xfb\x6e\x8b\xe0\x36\x95\x56\x13\x69\x27\x0d\x6e\x6b\xe8\x09\xb6\x0c\x3e\xbd\x9f\x58\x9b\x4d\xe6\x4a\x50\x94\x43\x8a\xe9\x0d\x25\x6a\xa4\xac\xde\x88\xd6\xb4\x11\xdd\x36\x62\x26\xd5\x69\xdc\x05\x8f\x19\x9f\x58\x32\xde\xb9\x1f\x86\x11\x6d\x40\x89\x1a\xc2\x05\x51\x02\xce\xe5\x03\x88\x0c\xfe\x10\x85\xb3\x06\x58\xec\x34\x2c\x4e\x28\x3e\xb5\x32\xbe\xe5\xcc\x6a\xed\x98\x35\x21\x94\xb1\x89\x29\xce\x1d\xe7\xfc\xd1\x48\xcf\x3b\x89\x49\xcd\xb8\x55\x58\x97\x82\x5b\x3d\x38\xb5\x8c\x5d\x0c\xa7\xb4\xdf\x82\xc2\xe0\x29\x31\x56\xea\xb2\x28\x9d\x39\xe4\x7e\x31\x55\x73\x18\xe7\x8f\xe2\x18\xc8\x0d\xfa\xaa\xd2\x97\x8d\xc5\x8a\xe3\x42\xb1\xa6\x48\x73\xaa\x49\x8c\xef\x8b\x35\xa8\x11\xb3\x83\x78\xba\x5e\xfa\xf1\xab\x20\xa1\x7b\xe5\xec\x6f\x62\x7a\x04\x12\x69\x76\x45\x31\xff\xb0\x8a\xa2\xe5\xce\x77\x66\x10\xfe\x9c\x10\xfc\x79\xab\x3a\x06\x15\x1e\xbb\xca\x3b\xa4\xdd\xdd\x3f\xbc\xbb\x65\xc2\xa8\x16\x3d\x90\x73\x29\xf9\x0d\xb9\x4f\xcf\x71\x38\xcc\x2a\x5a\x65\xf7\xf1\xe0\xe3\x63\xd8\x5c\xed\x36\x89\xa4\xfd\xf6\xf9\x7f\x5d\x9c\xbf\xbf\x7e\xf9\xe2\xfa\xd9\xfb\xf7\xef\x5e\x3e\xff\xf9\xfd\x05\x9b\x1b\x11\x2d\x3b\xd2\x02\x9f\x85\x05\x0f\x17\x6c\xe0\x3d\x9e\xb6\x62\x4c\x45\xeb\xe5\xac\xc1\x86\x95\xf8\x4a\xc3\x0f\xd3\xb1\x05\xd9\x0f\x84\x36\x44\xfb\xcc\x34\x63\xc4\xa3\x4c\x36\x1e\xff\xe9\xec\xc2\x04\xc9\x7c\xa6\xe9\x99\xd7\x54\xde\x60\xe0\x74\xa0\xec\x33\x37\x6b\x5d\xa9\x77\xaa\x9c\x29\xed\x58\x81\x09\xd8\xa4\x7d\x1d\x01\xdf\x89\x5b\x1a\xa3\x5d\x14\xf2\xbd\xa5\x46\x71\x9b\xa6\xc6\xb6\xb6\x65\x18\xe5\x8e\x29\xd4\xa6\x38\x37\x73\x67\x7a\x6f\xfc\x3b\x50\xaf\x92\xbc\x53\x6e\x4d\x9c\x49\x04\xaa\x4f\x62\x6d\xe6\x53\xbf\x15\xdd\xfc\xad\x15\xcc\x34\x14\x14\x4a\x0f\x41\xb9\x55\x0e\x94\xff\x70\x9b\x0f\x50\xa3\xc3\xa9\x70\x65\xa4\xc2\xd4\x34\x92\x82\x69\xe4\xb7\x0a\xcd\x6f\xdb\x3c\x36\xbf\x0d\xc1\xf9\x63\xdd\x76\xb9\x2b\x22\xdb\x31\x90\xbf\xe3\x80\x39\x49\xd7\xa8\xe7\x0f\x2f\x73\x8e\x25\xf9\x32\xc0\xf6\xb5\x47\x18\xfb\xc2\x17\xc0\x68\x89\xb5\x05\x83\xd0\x30\x9e\x47\x94\x3e\x80\xe1\xd9\x19\x6c\x65\xdb\x3f\xb2\xb4\xee\x1b\x43\xf6\x18\xb5\xff\x22\x1e\x85\xcb\x33\x5d\x5b\x50\xba\x4a\x86\x1a\x4e\xef\xd2\x2f\x23\x1e\x3c\x89\xb3\xc5\x34\x5a\x9e\x69\xf7\x49\x32\x3c\x3e\xd6\x86\xda\x3d\xfc\x35\xcc\x32\xe8\x22\x4a\xa8\x94\xb9\xf2\xe9\x22\xf4\xef\x88\xa9\xdd\x27\x1a\x9a\x4a\xf4\xb9\xcf\x01\xb4\x86\x1d\x64\xd8\x3e\x8f\xc2\x90\xeb\xac\x7f\xf0\xd9\x8e\xfe\x41\x5f\xa0\x24\x2b\x44\x62\xa0\x99\x70\xb8\xfd\x2b\xb9\x79\xff\xfe\x37\x7d\x89\xd6\x68\x8a\x78\x75\xfd\x35\x5d\x5c\xd3\xe8\x03\x09\x8d\x76\xb4\x22\xa1\x6e\x8c\xc4\xd7\x64\x5b\x94\x75\xb8\x8c\xfc\x99\x86\x72\xa3\x6f\xa6\x1b\x68\xd9\x9e\x2e\xa3\x84\xe8\xc6\x56\xa5\x24\xcf\x9f\xa1\xed\x4e\x28\xf4\x08\x2e\x2d\xe6\x0f\xcb\xb2\x9b\xdc\x63\x32\xe1\x3e\xf0\xa8\x69\x1b\x95\x4b\xff\x6d\x10\xce\x1a\x77\xc0\x2e\x8d\x27\x9a\x49\x4c\xed\x49\x7b\xe7\x37\x8d\x6e\xb9\x04\xf7\x59\x6b\x1f\xfb\x94\xfa\xd3\x85\xf8\xa3\x0d\xbb\xa8\x9c\xd7\xfe\x5b\x52\xcc\x5e\xf9\xd3\x0f\xfe\x9c\xb4\xff\x96\x44\xa1\x36\x74\x2d\xf6\xea\x36\xa0\xec\xbf\x36\xf4\x72\x4f\x80\x99\x65\x94\xd0\x6c\xc8\x5f\x2f\x97\xc9\x34\x26\x24\xcc\x25\xb5\x61\xaf\xf2\x5d\x7b\x9a\x24\xda\xd0\x75\xaa\x01\xd8\x37\xcb\xf8\xa5\x4f\xbb\xec\xb5\x60\xfc\x59\x54\x7e\xdb\x29\xbe\xcd\x52\xda\xb0\x5f\xf1\x06\xbe\xd9\xdf\x8e\x82\xf6\x07\xf2\x90\x28\x76\x4c\x62\x50\xb3\xb7\x7a\x62\x6c\x51\xd0\x8e\x49\x12\x2d\x3f\x12\x1c\x21\xd2\x26\x9f\x56\x51\x4c\x13\x1c\xa0\xa0\x1d\xcc\xb0\x33\x28\xb2\x09\x9b\x23\x53\x90\xcf\x8c\xef\x87\xdc\xf3\x67\x5b\x74\x19\xba\xf3\x83\x70\xa8\xed\x3a\x0b\xad\xe2\xe0\xa3\x4f\x61\x7e\x38\x90\x14\xeb\x3a\x41\x47\xf4\x5b\x1d\x11\x89\xe9\xf8\xbc\xd4\x80\xd8\x9e\x8d\x5b\x3f\x58\x92\xd9\xb0\x71\xbc\x88\xee\xc8\xf1\xc3\x7a\xe6\x07\xc7\x6c\x40\x06\x1f\xc9\xf1\x2a\x8e\x66\xeb\x29\x4d\x8e\x1d\xcb\xee\x1e\xc3\x18\x3b\x4e\xe2\xe9\xf1\x3c\xa0\x8b\xf5\x4d\x7b\x1a\xdd\x09\x04\xfe\xea\x6f\xc9\x71\x18\xcd\xc8\x35\x67\xe4\xe4\x18\x0a\x7b\xbc\x0c\x6e\x8e\xfd\xd9\x2c\x0a\x93\x6a\x1e\x69\xfc\x1c\x92\x4f\x2b\x32\xa5\x64\xd6\x80\xf1\xdb\xd0\xed\xa1\x65\x5c\x85\xbf\x45\xeb\xc6\x9d\xff\xd0\x08\x09\x99\xb1\x15\xdc\x5f\xad\xe2\x68\x15\x07\x3e\x25\x0d\x36\x7e\x49\xdc\xa0\x51\x83\x1f\x02\xc2\xe2\xdd\xb8\x0d\x58\x8a\xad\x62\x57\xe1\xa6\xd1\x16\x0d\x96\x7d\xad\xf1\x99\x65\xb3\x7f\xa9\xce\x7d\xd8\x80\x33\xec\x51\x9a\x4f\xa3\xd5\xb0\x61\x8d\x34\xe3\xd0\xce\xd8\x8d\x84\xb4\x4f\x0a\xec\xfd\x05\xfd\xbb\x63\x62\x41\xb1\xc0\xbb\x05\x82\x13\x63\xf4\xff\x02\x00\x00\xff\xff\x1a\xa1\x0f\x28\x4d\x12\x05\x00") +var _staticJsGottyBundleJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\xfd\x79\x77\xe3\x38\xb2\x28\x88\x9f\xdf\x32\x33\xe7\xbc\x3f\x66\xdf\x57\x9a\xdd\x4f\x45\x96\x60\x99\xd4\xe2\x45\x32\xd3\x4f\x69\xd9\x95\x7e\xed\xb4\xf3\xda\xce\xae\x5b\xa3\x54\x67\xd3\x52\xc8\x62\x27\x45\xaa\x41\xc8\x4e\xb7\xa5\x3b\x5f\x7d\x0e\x56\x02\x24\x25\xbb\xea\x76\xdf\x99\xca\x92\x4c\x21\xb0\x04\x02\x81\x40\x44\x20\x40\xec\x4c\x97\xc9\x98\x44\x69\xe2\x80\xfb\x22\x9f\x2d\xe2\x44\xee\x4b\x34\x75\xf0\x30\x1a\xb9\x18\xc8\x12\x27\x16\x7d\x6e\xc0\xf7\x45\x8a\x49\xd6\x7b\x0c\xb1\x95\x06\x34\x29\x78\x89\xba\x11\x8a\xbb\x3b\x3e\x12\xc0\xee\xcb\x7a\xdd\x13\x85\x80\x16\x1a\x87\x71\xec\xa4\xb2\x2c\x4a\x51\xfe\x4c\x5c\x94\x36\xe2\x60\xc7\xcb\xd3\xd6\xb4\x6e\x1c\xbc\xac\x7b\xa4\x31\x0f\x00\x91\xc6\x38\xc0\x88\x34\xa2\x40\x47\x55\xd6\xbf\x46\xa4\x31\xd1\x20\x08\xa3\xc8\x7d\x21\x8d\x94\x3e\xba\xab\xd5\xf5\xfd\x5f\x60\x4c\x1a\x13\x98\x46\x09\x7c\xc2\xe9\x02\x30\x79\x66\xd9\x5e\xc6\x69\x32\x8d\x1e\x96\x38\xbc\x8f\x81\xa1\x9f\x2c\xe7\x20\x7e\x79\xe8\x01\x48\x37\x5a\xbb\xb4\xfe\xc4\x68\x99\xa3\x07\xb5\x1a\x34\xbe\x7e\x85\xec\x63\x3a\x59\xc6\x70\xa2\x72\xe4\xa8\xd1\x46\xc3\x65\x4c\xd6\xdd\x0a\xa0\xa2\x10\x69\x4c\x1c\x8c\xec\xd0\x46\xd8\x45\x98\x36\x97\xea\xdd\x21\xaa\x88\xe8\xc9\x02\xa7\x24\x25\xcf\x0b\x68\xcc\xc2\xec\xfa\x29\x91\x7d\xe2\x54\xa6\x05\x68\x1d\x8b\xc0\xb6\x11\x71\x48\x23\x0b\x9a\x87\xee\xda\x19\xea\x55\x22\xec\xbe\xd8\xcb\x0c\xac\x8c\xe0\x68\x4c\xec\x9e\x1a\xf7\x48\x76\x90\x04\x64\x16\x65\xbd\x68\xea\xec\x38\xf4\xc9\x8a\x92\x8c\x84\xc9\x18\xd2\xa9\x15\xb9\x92\x25\x12\x78\xb2\x22\x27\xc4\x0f\xcb\x39\x24\x24\x1b\x7a\x23\x94\xff\xf0\xf5\x1f\xcd\x91\xdb\x23\x8d\x7b\x9c\x3e\x65\x80\x83\x5b\x3a\xa8\xb4\xb6\x38\x88\xc4\x03\x5a\x36\xce\x1e\x21\x21\x67\xf3\x88\x10\xc0\xbc\x37\xb4\x65\x17\xd9\xc9\x72\x7e\x0f\xd8\x0e\x02\xda\xed\x74\x6a\x41\xad\xe6\x40\xf0\x32\x4e\xe3\xac\x6b\x34\x4e\xab\xef\x1a\x18\xcc\xc2\x64\x12\x03\xee\xea\x98\xac\x5d\x04\x01\xac\x56\x2f\x6b\x24\x68\xfa\x0d\x9e\x33\x27\x92\xe3\x95\xb9\x8d\x69\x8a\xcf\xc2\xf1\xcc\x51\x54\xc3\xee\x4b\xb2\x8c\xe3\x20\x80\x21\x1e\xd1\xe6\x87\x78\x14\x44\x8d\x74\x41\xa1\xd9\x10\x8f\x50\x34\xc4\xa3\x9d\x20\xc8\x6b\xd1\x33\x0e\xf1\xc8\x75\x11\xa1\xcf\x34\x61\xed\xa2\xc3\x20\x08\xa0\x31\x4e\xe3\x14\x67\x8d\x18\x92\x07\x32\x3b\x91\xbf\x73\xc0\x38\x4d\xc6\x21\x71\xa2\xc6\x57\x91\x90\xc5\xd1\x18\x9c\x43\xd7\xed\xfa\xfb\xff\x9a\x1a\xfc\x7d\x5a\x85\xf7\xa6\x2a\x78\x09\x0f\xed\x36\xdd\x8d\x08\x51\x20\x2a\x94\xd8\x6d\xd2\x36\x2a\x3a\x4a\xc9\xf2\x76\x44\x37\x55\xed\x22\xca\x1e\xc5\x7a\x78\xa2\x18\x17\x2a\x3d\xe8\xcf\x45\x88\x21\x21\x01\x34\xee\xd3\xc9\xf3\x6a\x05\x22\x61\xb5\x72\xfa\x27\xfd\xc6\x03\x90\xb3\x18\x18\x77\xbc\x7f\xbe\x0b\x1f\xae\xc2\x39\x38\x36\xcd\x6a\xbb\x43\x6f\xd4\xa5\x03\x9f\x37\x26\x9a\xca\x68\x35\x0f\x90\xce\x81\xe0\x67\xca\x7b\x0c\x4e\x19\x30\x00\xf6\xc7\x80\xfb\x02\x2e\x13\x82\xa1\xaa\x2e\x2f\x38\x42\x74\x4e\x33\x7e\xad\xd5\x78\x37\x12\xc7\x9e\x84\x24\xb4\x73\x88\x40\xe4\xf9\x3e\xcc\x20\xf0\xc4\x8f\x49\x94\x2d\xe4\x8f\xef\x2a\x55\x3e\x8c\x97\x38\x4b\xf1\x2d\x09\x09\x98\x49\x1f\xa2\xc9\x04\x92\x60\xc7\x97\x9d\x4b\x1e\x01\x93\xb3\x34\xe6\xbf\xff\xba\x84\x25\x30\x39\x42\x7f\x65\x63\x9c\xc6\xf1\x5d\xaa\x1a\xe2\x09\xef\x53\x42\xd2\x79\xa0\x3a\xb1\x2b\x2b\x5b\x66\x24\x9d\xff\x01\x9e\xd9\xac\xfe\xc0\x91\x0f\x28\x29\x75\x0c\xde\xc7\x51\xf2\xed\x22\x21\x80\x1f\xc3\x58\x83\x86\x8b\x45\x1c\x8d\x43\x3a\x88\x7f\x80\xe7\x45\x38\x51\x48\x6a\x90\x53\x56\x85\x82\xa4\x38\x7a\x88\x92\x8f\xe9\x04\x54\x52\x94\x64\x80\x89\x91\xf4\x84\xc3\x45\x88\xd3\x65\x32\xe1\xc9\xa2\x33\x49\x8a\xe7\x06\x06\xe3\x59\x88\x33\x20\x5a\xca\x43\x45\x52\x0c\x8f\x10\x2b\xa2\x72\x78\x16\x0c\x69\x0e\x31\xe2\x13\x18\x5f\xa6\xe3\x90\xa4\x58\x0c\x8f\xef\x7d\x4c\x97\x99\x60\xcc\x47\xd2\xf4\xcc\xdf\x2d\xe3\x37\x47\x4b\x4b\x98\xd3\x47\x46\x52\xc1\x38\x19\x24\x93\xf3\x74\xbc\x14\x3f\x97\x64\xaa\xe5\xce\x1e\xb0\xf6\x6b\x89\xbf\x3f\x12\xed\x37\x70\xa6\x97\xc8\x47\xf1\x04\x43\x22\xd8\x11\xa6\x18\xb2\xd9\x2d\x09\x31\x31\x52\xce\x92\x89\xa8\x3a\x7c\x84\xc9\x3f\x6b\xcf\xbf\x68\xcf\xa7\x39\x5f\x43\x38\xa1\x2b\xaa\x22\xf4\x13\x8e\x88\x91\x30\x81\x69\x9f\x10\x1c\xf8\x2d\xff\xb0\x9d\xb3\x27\x4b\xd3\x33\xa8\x99\x1c\xce\xb3\x60\x38\x52\x19\xe9\x44\xfe\x44\x53\xe5\x30\x2c\x30\x4c\xa3\xef\x8a\x6f\x17\x69\x46\xf4\xdf\x51\xb2\x58\xe6\xfc\x08\x4f\xd6\xbc\x71\xa1\x25\x89\x35\x47\x36\x96\x89\x4c\xcf\x8d\x4f\xec\x87\x53\xaa\x03\x69\x05\x30\x24\x13\xc0\x20\x10\x97\xbf\x56\xab\x9c\x63\x32\x88\x81\xad\x28\x1f\xc3\x24\x7c\x90\x39\x8b\xa9\x7a\x09\x3a\x43\xa2\x69\x24\xb3\xaa\x9f\xab\x15\xc5\xeb\x6b\xe3\x52\x26\xe4\xf4\x85\xf7\xcb\xe9\x14\xb0\xa2\x12\x4b\xbb\xa0\x9a\xc2\x03\x86\x2c\x53\x73\xe1\x7b\x3a\x9d\xde\x42\x42\xee\xd2\xd3\x90\x8c\x67\x9f\x17\xda\x2c\x89\x08\xdc\x92\x74\xb1\x80\x7c\xea\x65\x4b\x8c\xd3\x87\x90\xc0\xd7\x59\xf4\x30\x53\x04\x8d\xa3\x04\x32\x46\xa4\x69\xe3\x34\xc2\xe3\x65\x1c\xe2\xcb\x28\x23\x8e\x26\x25\xee\xc3\xf1\x37\xb7\x37\x4d\xb1\xc3\xb5\x27\x25\x2e\x7a\x78\x77\xb7\xe7\xe6\xf5\x34\x16\xcb\x6c\xc6\x4b\xde\xc7\x61\xf2\xed\x32\x4a\xc0\x71\xdd\x5e\x25\x99\x84\x94\x2c\x26\x37\x32\x20\x9c\x02\x4e\x5e\xb1\x18\x21\x12\xde\xab\x89\x43\x96\x0b\xda\xc5\xcc\x11\xb0\x65\x06\xf8\x96\xa1\x1b\x25\x0f\xc1\x8e\xbf\x56\x6a\x51\xca\xb5\x26\xaa\x59\xf6\x31\x0e\x9f\x1b\x51\xc6\xfe\x3a\xe0\xae\x56\x0e\x04\x43\x18\xd1\x25\xaa\xa4\x35\x80\xfb\x02\x8d\x70\x32\x61\x13\x96\xd2\x04\x12\x8a\x14\xad\x69\xb5\xda\xf1\xdd\xb5\x9b\xb7\x91\xe5\x6d\x40\x03\xc3\x3c\x7d\x84\x8d\xc5\x54\x21\xa1\x21\xaa\xdf\xd8\x71\x5f\xa4\x2c\xcf\x08\x5e\x8e\x49\x8a\x03\x58\xe3\x5c\x6b\x0c\x34\x0d\x12\x81\x96\x4e\x07\x10\xe7\x35\x87\xbc\x66\xa1\xec\x4a\xcd\xad\x11\x65\x1f\xc3\x71\xad\x46\x1a\x61\x4c\xfe\x00\xcf\xb5\xda\x0e\x69\x8c\x09\x8e\xe5\xf3\x1c\x48\xf8\x07\x60\x6b\xac\x56\xe4\xf6\xe7\x28\x99\xa4\x4f\x99\x5e\xb0\xb2\x9c\x50\x8a\xed\x6f\xf0\xbc\xa0\xac\x4a\x75\xbe\x06\x45\xef\x04\x77\x71\xad\xe6\xec\x30\x5d\xed\x34\x9d\xc0\x6a\xa5\x1e\xdf\xb5\x0f\x34\x92\xc4\x52\xc3\xe5\x26\x0a\x1c\x1f\xfb\xfb\x2b\x72\x7c\x7c\xb8\xc2\x54\x9d\xa5\x13\x6b\x27\x88\x1b\x5f\xc7\xe1\x78\x06\xc3\x54\x99\x37\x5a\x92\x62\xd4\x0c\x25\x28\x44\x33\x34\x46\xcb\xc0\xdf\xf3\xd0\x24\xd8\xf5\xd1\x22\xf0\x7a\x8b\xe3\xa8\xf1\x68\xe8\x34\xbd\x45\xbd\xce\x4c\xa6\x2c\x50\xa0\xe1\x62\x84\x92\x80\xab\xc5\x01\x57\x47\x03\xaa\x80\x22\xaa\x77\x39\xe3\x20\x6e\x4c\x22\xae\x55\x8b\xb1\x67\xad\xb9\xae\xfb\x32\x09\x16\xbd\x7b\x0c\xe1\xb7\xf5\xf8\x78\x59\xab\x39\xcb\x60\x8c\x26\xc1\xc2\x5d\x97\x91\x0d\x26\x79\xdf\x67\x9a\x65\x24\xf4\x43\x45\x2e\xff\xa0\xf0\xfb\x50\xff\xbd\xde\xfb\x71\xe7\xdf\x59\x3f\x5a\xdf\x09\xe0\xb9\xe5\xcc\x08\x59\x64\xdd\xbd\xbd\x64\x31\xff\x0b\x65\xa6\xf9\xde\x22\x1c\x7f\x0b\x1f\x60\x8f\x65\x70\x69\xd6\xff\x40\x35\xb1\x24\x03\xeb\xe3\xc5\x1d\xfb\xfd\x08\x38\xa3\x58\x34\x1b\x87\x0d\x9f\xa6\x04\x01\xcb\xbd\x77\x79\x71\x7a\x76\x75\x7b\x16\x04\x34\xf1\x34\x5d\x3c\xe3\xe8\x61\x46\x2c\x67\xec\x5a\x4d\xcf\x6f\xef\x36\x3d\x7f\x1f\x59\xb7\xe9\x12\x8f\xe1\x32\x8c\xb0\xf5\x09\x47\x8f\x21\x01\xeb\x34\x9d\x2f\xc2\xe4\x39\xc7\xe7\xe9\xe9\xa9\x91\xb1\x7c\x71\x18\x61\x8a\x98\x5b\x59\x67\x93\xd6\xd9\x42\xd6\xe9\x0c\x47\x19\x49\x17\x33\xc0\xd6\x7f\x84\xe9\x14\x83\x56\xd9\x43\x44\x66\xcb\x7b\xd6\xbb\xf1\xec\x2f\x7f\xd9\x63\x55\xd1\xcf\x27\xc0\xf3\x28\x63\x7d\x89\x32\x6b\x06\x18\xee\x9f\xad\x07\x1c\x26\x04\x26\xc8\x9a\x62\x00\x2b\x9d\x5a\x74\xb9\x7f\x00\x64\x91\xd4\xa2\x38\x2e\x00\x67\x54\x54\xdc\x93\x30\x4a\xa2\xe4\xc1\x0a\xad\x71\xba\x78\xa6\xf5\xa5\x53\x8b\xd9\x50\x59\x3a\x25\x4f\x21\x06\x2b\x4c\x26\x56\x98\x65\xe9\x38\x0a\x09\x4c\xac\x49\x3a\x66\xc6\x09\xd3\x6a\xac\x69\x14\x43\x66\x39\x64\x06\x96\x7d\x2b\x4a\xd8\x2e\x6b\x67\x02\x61\x4c\x2b\x8c\x12\x8b\x82\x25\xd4\x7a\x8a\xc8\x2c\x5d\x12\x0b\x03\xb7\xe8\xa2\x34\x41\x56\x94\x8c\xe3\xe5\x84\x62\x22\xc1\x71\x34\x8f\x44\x23\xb4\x38\xa3\x58\x46\xeb\x23\xa9\x45\xb5\x02\x86\x30\xb2\xe6\xe9\x24\x9a\xd2\xbf\xc0\xfa\xb7\x58\xde\xc7\x51\x36\x43\x16\x65\x56\x1c\xdd\x2f\x09\x20\x2b\xa3\x89\x6c\xf8\x11\xed\xcd\x5e\x8a\xad\x0c\x62\x86\xdc\x38\x5d\x44\x90\xf1\x4e\xe7\x38\xb2\x6c\xb4\xa1\x05\x25\x2e\x11\xe4\xca\x68\xca\xd3\x2c\x9d\x9b\xfd\x89\x18\x56\xd3\x25\x4e\xa2\x6c\x06\xac\xd8\x24\xb5\xb2\x94\xb5\x4b\x2d\x36\x9a\x42\x4b\x4c\xd3\x38\x4e\x9f\x68\x1f\xc7\x69\x32\x89\x98\xd2\xdf\x95\xc3\x78\x37\x03\x2b\xbc\x4f\x1f\x81\xf5\x8b\xf3\x47\x92\x92\x68\xcc\x07\x80\x0d\xc9\x22\x1f\x6a\x01\xca\x66\x61\x1c\x5b\xf7\x20\xe8\x07\x13\x2b\x4a\x68\x6d\x34\x55\x76\x0d\x53\x3c\xe8\xcc\x25\x51\x18\x5b\x8b\x14\xb3\x86\x8b\x5d\x6e\x28\x44\x3e\x9c\x59\xb7\xd7\xe7\x77\x3f\xf7\x6f\xce\xac\x8b\x5b\xeb\xd3\xcd\xf5\x1f\x2f\x06\x67\x03\xcb\xee\xdf\x5a\x17\xb7\x36\xb2\x7e\xbe\xb8\xfb\x70\xfd\xf9\xce\xfa\xb9\x7f\x73\xd3\xbf\xba\xfb\xc5\xba\x3e\xb7\xfa\x57\xbf\x58\x7f\xb8\xb8\x1a\x20\xeb\xec\x9f\x3f\xdd\x9c\xdd\xde\x5a\xd7\x37\xb4\xb6\x8b\x8f\x9f\x2e\x2f\xce\x06\xc8\xba\xb8\x3a\xbd\xfc\x3c\xb8\xb8\xfa\xc9\x7a\xff\xf9\xce\xba\xba\xbe\xb3\x2e\x2f\x3e\x5e\xdc\x9d\x0d\xac\xbb\x6b\xd6\xa6\xa8\xed\xe2\xec\x96\xd6\xf7\xf1\xec\xe6\xf4\x43\xff\xea\xae\xff\xfe\xe2\xf2\xe2\xee\x17\x44\xeb\x3a\xbf\xb8\xbb\xa2\x35\x9f\x5f\xdf\x58\x7d\xeb\x53\xff\xe6\xee\xe2\xf4\xf3\x65\xff\xc6\xfa\xf4\xf9\xe6\xd3\xf5\xed\x99\xd5\xbf\x1a\x58\x57\xd7\x57\x17\x57\xe7\x37\x17\x57\x3f\x9d\x7d\x3c\xbb\xba\x6b\x58\x17\x57\xd6\xd5\xb5\x75\xf6\xc7\xb3\xab\x3b\xeb\xf6\x43\xff\xf2\x92\xb6\x46\xab\xeb\x7f\xbe\xfb\x70\x7d\x43\x11\xb5\x4e\xaf\x3f\xfd\x72\x73\xf1\xd3\x87\x3b\xeb\xc3\xf5\xe5\xe0\xec\xe6\xd6\x7a\x7f\x66\x5d\x5e\xf4\xdf\x5f\x9e\xf1\xd6\xae\x7e\xb1\x4e\x2f\xfb\x17\x1f\x91\x35\xe8\x7f\xec\xff\x74\xc6\x4a\x5d\xdf\x7d\x38\x63\x9d\xa4\x39\x39\x9a\xd6\xcf\x1f\xce\x68\x2a\x6d\xb5\x7f\x65\xf5\x4f\xef\x2e\xae\xaf\x68\x7f\x4e\xaf\xaf\xee\x6e\xfa\xa7\x77\xc8\xba\xbb\xbe\xb9\x53\xa5\x7f\xbe\xb8\x3d\x43\x56\xff\xe6\xe2\x96\x52\xe6\xfc\xe6\xfa\x23\xeb\x29\xa5\xee\xf5\x39\xcd\x75\x71\x45\x8b\x5e\x9d\xf1\x8a\x28\xe5\xcd\x01\xba\xbe\x61\xbf\x3f\xdf\x9e\xa9\x3a\xad\xc1\x59\xff\xf2\xe2\xea\xa7\x5b\xeb\xe2\xaa\x38\xa0\x74\x94\xf7\xfe\x5d\xb5\x9b\x89\x20\x3b\x77\x11\xd9\xe8\xe5\x31\x8c\x97\xd0\xdd\xf1\xd6\x2e\x73\xa0\x8d\x03\xec\xf8\x1d\x17\x2d\xe9\x5f\x17\x4d\x02\xec\x34\x9b\x2e\x5a\xd0\xbf\x2d\x17\x4d\xe9\xdf\x8e\x8b\x1e\xe8\x5f\x17\xcd\x69\xae\x7d\x17\x3d\xd3\xbf\x87\x2e\xba\xa7\x7f\x8f\x5c\xf4\x95\xfe\x3d\x70\xd1\x29\xcd\xe6\xb9\xe8\x89\xfe\x6d\xbb\xe8\x36\xc0\xce\x91\x8b\x1e\x29\xd8\x73\x51\x3f\xb0\x97\x09\xc7\x6f\x62\xef\x48\x57\xca\x13\x5b\x98\x4f\xf8\x9f\x86\x14\x44\xcc\xe4\xed\x25\x4e\x54\xf0\xca\xb8\x28\xd2\xfc\x4f\x80\xc3\x0c\x98\x9e\x5e\xf2\x6f\xed\x76\xfc\x66\x4d\xd7\xde\x57\x1d\xdf\xaf\xe9\xba\xfd\x1a\x45\x0d\x12\x26\x0f\xe9\x29\xb7\xdf\x87\xf6\xef\x9a\xd0\x6a\xb7\xf6\x6d\x64\xff\x6e\x3c\xf6\x3c\xcf\xa3\x4f\x6d\x38\x0a\x3d\x9e\xd6\x0e\x45\x5a\xab\xbd\xdf\x09\xdb\xf4\xe9\xa0\xd3\xf1\x0e\xee\xe9\x93\xb7\x7f\x74\x78\x14\xd2\xa7\x49\x6b\x72\x30\x9e\xd2\xa7\x4e\xa7\x73\xd0\x69\xd1\x27\x98\x36\x8f\x9a\x47\xf4\xe9\x30\x84\x66\x8b\x95\x9d\x8e\xe1\xa8\xcd\xf2\x1d\x34\x8f\xa6\xbc\x44\x38\x39\x98\x86\x87\xbc\x0d\x68\x42\x93\x95\xa5\xff\x8d\xed\x11\x8a\xa4\xab\x41\xeb\xad\x5a\x79\x41\x7a\x1e\x53\xae\xc1\xda\xbf\xb3\xeb\xc4\x01\xb7\x4e\x1c\x4c\xbf\x22\x57\x53\x51\x48\xbe\x4c\x3b\x10\x40\x83\xa4\xb7\x04\x47\xc9\x03\xf3\xca\x08\x7d\xe2\xb8\x79\x62\x7b\x76\x1d\xba\xc0\xfd\xa1\x28\x0d\x0c\x82\x09\x47\x88\x8b\xb2\x60\xe8\xa1\xa3\x0e\xf2\x5b\x1d\xe4\x1f\x74\x50\xd3\xef\xa0\x66\xa7\xc3\x95\x18\x1c\x78\x3d\x7c\xdc\xf4\xf7\x7b\xb8\x5e\x77\xc1\xc9\x86\x78\xaf\xb5\xff\xef\xf7\x57\xde\x08\xd1\xe7\xfc\xf1\xdf\xef\x8f\x5c\xbd\x48\x5b\x96\x08\x0e\xeb\xbe\xf7\x23\x46\x19\xca\x5c\xe9\xb3\x4c\xd7\x0e\x65\x05\xe1\xa9\x09\x22\xd3\x39\x43\x41\x8f\x15\xb4\x12\x4a\x15\x20\x42\x2d\x13\xac\x8a\xa1\x34\xf0\x7a\xe9\x71\xb3\xb3\xdf\x4b\x69\x9b\x01\xb3\xbb\x2e\x12\xe2\xe0\x61\x3a\x6a\x30\x51\xcb\xc9\xe3\x22\x3a\x01\x08\x27\xf1\x10\xde\xbd\xf3\xf7\x6b\xcd\x4e\x07\xc1\xbb\x77\x87\xec\xa1\xd9\xe9\xd4\x60\xa4\xf0\x24\x1c\x4f\xe9\x91\x63\x2e\xc3\x14\x67\xdd\x28\x77\x16\xc1\x1c\xba\xb6\xc8\x60\xa3\xdc\x05\xd2\xa5\x56\x0f\xe0\xf9\x55\x48\x33\x30\x3d\xc6\x46\xd2\x7d\xd3\x1d\x1e\x7a\xa8\xd9\x1e\x21\xcd\x8b\x41\x0b\x48\x4f\xcb\x73\x0c\x5d\xfb\x3e\x4e\xc7\xdf\x6c\xf4\x18\x65\xcb\x30\x7e\x0f\x31\xab\x72\x91\x2e\xae\x13\xf9\x23\xb7\x8d\xba\x3e\xb4\xe8\x4f\x80\xe4\x0f\xf0\x9c\x51\xe0\x04\xee\x97\x0f\xac\x52\xe6\x1f\xe5\x36\x3f\x03\x44\x19\x35\xa0\x6f\xc9\x24\x4a\xe8\xef\x65\x06\xe7\x71\xfa\x74\x9a\x26\x04\x0b\xbc\xc3\x7b\x6a\xd8\xfc\x1c\x4d\xc8\xac\x7b\x48\x67\x9a\xf4\x87\xbd\xd0\x1f\xd3\x74\xbc\xcc\xb8\x17\xa3\xe8\x15\x8e\xa6\x8e\x32\x63\x5c\xe5\xc7\x96\x76\x0d\xcd\xa2\x74\xe3\x28\xf0\x7a\xd1\x31\x48\xf5\x37\xaa\xd7\x5d\xc2\xbd\xb6\x18\xc1\x30\x1a\xa1\x08\x81\xbb\x36\x6c\xa1\x68\xea\x68\x0e\x57\xd7\xf4\x6b\x33\x1f\x2c\x70\xc1\x48\x10\x35\x5e\x59\x53\x84\x2a\x3b\xe0\xbe\xd9\xf9\x5d\xab\x61\x61\x43\x2a\x2e\xc0\x6b\xdd\xb7\x8b\x0c\x8c\x86\x30\xd2\x5d\xb6\x30\xca\x89\x55\x02\xad\x4d\xf1\xc7\xc9\x58\x76\xed\x73\x3b\x13\xbe\x93\x10\x43\xc8\x73\x39\xee\xda\x28\xfa\x00\xe4\x9a\x35\x52\xf0\xf4\x33\x77\x3b\xd5\x3c\x2c\x0d\x61\x97\xcc\x70\xfa\xc4\x7c\xed\x67\x18\xa7\xd8\xf9\xe1\x2a\xb5\x38\x8e\x4c\xb3\xb3\xbe\xc1\xb3\x65\xff\x50\x87\xfa\x0f\xf6\x0f\xaa\xd3\x8f\x69\x34\xb1\xbc\x9d\x20\xd0\xfd\xa1\x43\x18\x9d\x14\x7e\x77\xe9\x6f\xda\x39\x03\xc1\xec\x1f\x88\x60\xf6\x14\x91\x31\xb3\x54\xc6\x61\x06\x76\x3e\x09\xec\x6e\x34\x75\xc8\xb1\xf2\x0d\x48\xeb\xd3\xbe\x05\x42\xa8\x8e\x47\x95\xab\x3c\xbb\xc5\x56\x53\x2b\x86\x2c\xb3\xc8\x2c\xe4\x3a\x2d\xdf\x2a\xa0\x9a\x18\xad\xc1\xb2\x15\x0f\xd4\x03\xdb\xb1\xeb\xaa\xee\xba\xed\x52\xdd\x3e\x49\x09\x55\xec\xd2\x27\x98\x34\xd8\xec\xcf\xd2\x18\x1a\x4f\x21\x4e\x1c\xec\xa2\x1d\x7f\x4d\x31\x32\x09\x46\x49\xca\x08\xa1\x39\x2d\xf8\x1c\x78\x47\xa4\xd1\x59\x02\xed\x12\x94\x05\xb9\xaf\x76\x37\x3d\xf6\x7a\x5a\x26\x82\xa3\x39\xf3\xb5\x39\xa9\xe1\xdf\xfd\x18\x92\x59\x63\x1e\x7e\x77\xf2\xb4\xdd\x14\x79\xae\xee\xf6\x2d\xe4\xe1\xd5\xd3\x3c\x99\x70\x8f\x08\xcf\x9d\xe3\x21\xcd\x49\xeb\xae\xb5\xe6\xe7\xe1\xf7\x4b\x86\x66\x20\x9c\x7d\x8f\x11\x3c\x51\xad\xb6\x91\x3d\x27\x63\xee\x12\xe9\x63\x08\x1d\x77\xbd\x16\xa3\x27\xb8\x46\x16\xd0\xa6\x0c\x41\x72\x64\x35\xe1\x68\x77\xa5\xcf\xe5\x34\x4f\xa4\x22\x9d\xb8\xdc\xce\xed\x69\x25\x98\xfc\x14\x25\x84\x8f\xb2\x31\x8e\xc3\x2c\xbb\x8c\x32\xd2\x20\xe9\xc3\x43\x0c\x0e\x17\xc9\xbb\xbc\xc4\x6e\x46\x8b\xec\x52\xfd\x06\xd3\x2e\xd9\xc8\xce\x9f\x03\x3a\x60\xe8\xd7\xd7\x76\x1f\x62\x1b\xd9\xf4\x9b\xd5\xa0\xe3\xa9\x0b\xd8\xbc\x6b\xca\x9d\xb4\x36\x27\x13\xb5\xca\x42\x5c\xe8\xb9\x2e\x38\x36\xd1\x46\xa3\xac\xee\x2f\x77\x4b\x73\x75\x53\xd5\x90\x33\xea\x1b\xbb\x7e\xcf\x46\x0b\x81\xdc\xef\x88\x21\xc4\x66\xed\xd2\x5b\xef\xb8\xc8\xdc\x2b\xdc\xe8\xd6\xcf\x80\xa8\x42\x7a\xaf\x7f\x15\x4e\xbb\x69\x62\xbb\x6b\xb4\xef\x79\x45\xf2\x6e\xc1\xb1\x44\xe4\x72\x8b\xdc\xd3\xb6\xb1\xc5\x8d\x9b\x15\xb5\x9a\xc3\x1a\x56\x3d\xdb\x94\x71\x73\x15\x6c\x09\x66\x83\x79\x1f\x09\x27\xbe\x31\x74\xa9\x03\x6a\x1d\x41\x36\x5b\x48\xec\x7c\xf5\x22\xee\x0b\xe4\xde\xff\x5a\x8d\xff\x70\x1e\x1a\xa7\x5e\xe3\xec\xf6\xb4\x6e\x0f\x2f\x6c\x17\x41\x45\x97\xc3\xc9\xc4\x11\xd5\xd1\x0c\xd9\x2c\x7d\xe2\xe4\xa3\x43\x5a\xcd\xad\x6c\xdb\xe5\xd9\x01\x57\xa9\x0f\x40\xab\x9e\x47\x44\xd6\x84\x5e\x28\x01\xa3\x24\x8c\xbb\xb0\x76\xd7\x05\x1e\xbd\x8f\x97\x15\x56\x42\x61\xa9\xa4\x99\x1c\x45\x8f\xf7\x46\x91\x12\x39\x68\xe6\x22\x35\xa4\xa4\x83\xc6\x33\x82\xc6\x33\xeb\xdc\x36\x02\x5d\x6f\x20\x90\xe4\x89\x9c\x46\x5b\x78\xac\x4c\x1a\xa6\x59\x49\xea\x70\x3c\xb7\x12\x27\x4a\x22\xf2\x53\x9c\xde\x9b\xfc\xca\x54\x65\x36\xb3\x90\xdc\x8c\x67\x74\xa1\xfa\xa1\xd8\xa4\xd0\x18\xc7\x48\xa1\xa4\x13\x09\xa9\x31\xfb\x91\x3d\x4e\x17\xcf\x1a\xd9\x30\x25\x9b\xb6\xa7\xb4\x5a\x2d\x1a\x34\x8b\xdc\x0c\xc1\x88\x30\x22\x9a\x0e\x76\x57\xd8\xaf\xb8\x2a\x22\x63\xd1\x58\x84\x19\x01\x59\x03\x0b\x48\xe8\x09\x34\xf2\xe1\x63\x79\x58\xc8\x43\x11\xc3\x1c\x42\x34\x17\xf2\x79\x84\x61\x9a\x7e\x3f\x29\xe6\x66\xb8\x4f\xd2\xa7\xc4\xe4\x85\x66\x10\x90\xc6\xfd\x92\x90\x34\xa9\xd5\x16\x0d\xe6\xfb\x39\x8d\xa3\xf1\x37\xb5\xcb\x83\x34\x66\xaa\xec\x61\xb7\x4c\xba\x84\x96\x98\x43\xb2\x34\x1b\xfb\x6d\xf5\x1b\xdd\xbb\x8c\x92\xe5\xf7\x5a\xad\xd8\x64\xb8\xfc\x3e\xa6\xb5\x9a\xed\xf9\x81\xd9\x3b\xca\xac\x77\xf0\x9d\xd0\x25\xfa\x33\x5d\xf6\xd8\x1e\x9f\x98\xd2\xaf\x23\x22\x27\x1c\x65\xac\xd2\x84\x53\xa8\x7c\x83\xe7\x32\x99\xfb\x8d\x70\x4c\xa2\x47\x10\xdb\xe7\x5c\xd9\xa4\x33\xed\x1b\x3c\x0f\xd2\x27\x9a\x67\x8d\x76\x3c\x3a\xc8\x66\x55\xdc\xb9\xff\xe6\xba\x3e\xd1\xec\x1b\x2b\x5b\x2e\xcc\x9a\xa8\xee\xbf\x5a\x09\x05\xdd\x01\xad\x54\xce\x7f\x95\xdd\xa9\xc6\xdb\x28\x54\x81\xb8\x81\xa1\xd0\x9f\xa8\x66\x1a\xd8\x76\x55\x25\xe3\x74\xbe\x48\x33\xee\xaa\xa4\x82\xd6\x66\xb1\x0d\x2a\xed\x03\xc4\x0b\xc0\x8d\x62\x2e\x36\x42\x4e\x45\x4e\x77\x4b\xfd\xcb\xc5\x24\xa4\x73\xe9\x95\x06\x78\xb6\xdf\xd4\x02\x24\x93\x57\xab\x87\x64\xb2\xad\x6e\x60\x51\x0e\x42\x74\x57\x57\xc6\x11\x3c\xcd\xd3\x65\xb8\xc6\xaf\xa8\xd7\x1c\x31\x16\xda\x20\x76\x4e\x79\x30\x81\x43\x1a\x19\xdf\xed\x6e\x40\x32\xa9\x90\xd1\x19\x60\x72\x93\x3e\x55\x88\x3c\x3b\x65\xc6\x69\xee\x54\xe3\xf1\x49\xfd\xc6\x18\x43\x48\x24\x43\x3b\xf6\x24\x7a\xb4\x65\xd4\x0a\xe6\x06\x7b\x18\x25\x80\xe9\x0a\x02\xc9\xe4\x74\x16\xc5\x13\x47\x69\x5e\x62\x3f\x9e\x1b\xb3\xe0\x22\x30\x11\x4a\x17\x50\x34\xce\xf2\xad\x55\x14\xf1\x3f\x19\xb5\xd1\x85\x02\x28\x63\x60\x56\x2b\xed\x27\xda\xd1\x7e\x94\xec\x38\xfb\x4e\xac\x5a\x16\x86\xbf\x2e\x23\x0c\x99\x15\x5a\x3c\xaf\x25\x57\x4d\x9b\x7b\x04\xe4\xa6\x23\xe5\x92\x40\xab\xb3\x91\x3e\x25\x80\x07\xc2\xaf\x28\x6d\xc6\x3f\x46\xf0\x24\x76\xff\x05\x64\x73\x19\x9e\xef\x3e\x9d\x3c\x07\x46\x89\xd7\xc2\x76\x0c\x8d\xbf\x50\xb4\x6a\x60\x36\x59\x08\x4c\x5b\x92\xcb\xf7\x2b\xd9\xb8\x9b\xe8\x0d\x79\x76\x99\xe3\x69\x57\x18\xa4\xec\x87\x8b\x7e\xad\x19\x60\x36\x93\x01\xe9\x13\xb1\x3f\xe3\x50\x0b\x25\x4a\x26\xf0\xdd\x56\xd6\xa2\xb4\xe9\xa4\x7c\xad\x66\xcf\xca\xbc\xd5\x5d\x90\x99\x8a\xfd\xd5\xb9\xb9\xaa\xb6\x42\x1b\xb9\x79\xf9\x26\x94\xf2\xec\xd5\x58\x71\xff\xc0\x2e\x95\x54\x9b\x7a\xb3\x11\xc1\xbc\x6e\xb7\x10\xad\xa1\xe6\xea\x56\x1c\xcb\xd9\x37\xe0\x28\xf3\xbd\x4a\xba\x72\x8d\x15\xf2\x63\x2b\x4e\x86\xa0\xa9\xc4\x86\x2a\x21\xaf\x22\xa2\x57\x53\x90\x50\x2a\xcc\x44\x85\xa6\x34\x42\x42\xc2\xf1\xec\x2e\x1d\xa4\x73\xa7\x6f\xe6\x16\x85\x67\x4c\x4c\xbf\xad\x0b\x85\xbc\xd5\xbd\xe0\x99\x5e\xef\x48\xa1\x32\x19\x16\x22\x16\xb7\x32\x1e\x12\x62\x17\x72\x6e\xc3\x62\x77\x63\x21\x73\x92\x86\x4b\x92\x8e\x53\x8c\xe9\xe2\x81\xec\x74\x3a\x7d\x4b\xfe\x70\x11\x91\x30\x8e\xfe\x06\x6f\x2a\x92\x2d\x20\x8e\xc7\x33\xa0\x3a\xa4\x3d\x0d\xe3\x0c\x4a\x05\x48\x78\x7f\x41\x45\x85\x8c\x9f\x52\x80\x52\xe0\x4a\xc9\x06\x75\x5f\xa2\x4d\x46\x60\xb4\x66\x3a\xee\x2b\x15\x16\xac\xb8\xbc\xbe\xa2\xd9\xa4\x55\x57\x64\x87\xd2\x10\xcb\xf6\x54\xcc\xa6\x52\x0e\xe8\xba\xb3\x95\xd5\x0a\x79\x8b\x83\xac\x81\x99\xf8\xab\x28\xc6\xf5\x0f\x16\x4d\x33\x6e\x9c\x16\xd3\x0b\x66\x50\x55\x9b\x7a\x3c\xd9\xab\x5d\x2d\x94\x75\xf3\x40\xc4\xdb\xe8\x6f\xc0\x1c\x69\x1b\xe5\x3d\xf3\x72\x6d\x9a\x63\xe5\x96\x2a\xea\x74\x7b\x59\xee\xad\xed\x65\xf5\x3a\x0f\xe4\x52\xba\x92\xe3\x16\xb4\x8f\x72\xb5\x60\xac\x09\xb4\x91\x8f\x10\x66\x4b\xcc\xe3\x91\x9e\x1a\xa7\x79\x8a\x94\x24\xd5\x33\x58\x2b\xca\x14\x3f\x16\x8c\x19\xfd\x0d\xc6\xb3\x30\x79\x80\x49\x81\xc9\x84\x46\xa9\xf7\x29\x73\x14\x87\xe9\x75\xcd\x45\xe3\x85\xb5\x84\xa1\x37\x69\xfc\x51\xfc\x74\xb8\x9d\x5e\xb1\xda\x6c\x5a\xbd\x4a\x2d\x15\x43\x08\x69\x03\xf7\x8d\x1b\xf1\x53\x0f\x4b\x2c\xc5\x10\xd2\xac\xa7\x8d\xdb\x42\xb2\x86\x13\x73\xf3\x96\xd7\x83\x4d\x38\x94\x02\xea\xaa\x35\x69\xaa\x00\x2b\x7c\x55\xc8\xa8\x2c\xeb\x80\x50\xa8\x41\x28\xd4\x5b\xea\x4e\xe0\x29\x5f\x13\x0b\x0d\x28\xe9\xc1\x8d\x2a\x40\xb8\xb4\xb9\xa2\x27\xf1\x7a\xf2\xb1\xa4\xd5\x73\x9d\xc0\x60\x01\xb9\x2d\x50\xc6\x47\x3a\x91\x54\x0d\x25\xf5\xa1\x24\xc5\xfe\x75\xf5\x57\xfb\xe7\x65\xb0\xaa\x74\x0d\x39\x2e\xe2\x5b\x3a\xcc\x19\xcd\x74\xfd\x24\xb0\x7f\x49\x97\xd6\x24\x9a\xb0\x7d\x8c\x45\xc8\x36\x42\xc0\xfa\x33\x23\xcb\x9f\x2d\x79\xe6\xc1\x8a\x12\xeb\xcf\x52\x95\x2f\x98\x10\x8e\xfb\xe7\xc6\x97\xc4\xee\x25\xf5\xc0\xbe\xab\x2a\x9b\xa4\x4f\x96\xdc\xe9\xb1\x48\x6a\xfd\x99\xe0\x25\xfc\xd9\xba\x5f\x12\x8b\x0d\xaf\x8c\x2f\xe2\x91\x63\x8d\xbf\x64\x56\xab\xe1\x59\x36\xa2\x15\x46\xc4\x7a\x8a\xe2\x58\x96\x67\xc5\xd9\x1a\xf4\xe7\xe2\x66\x0b\x55\x0b\x82\x1d\x6f\x4d\xc4\x9e\x85\x1c\xd8\x92\x0f\xa6\xe0\x0d\x91\x6e\x32\x16\xc4\x9f\xb3\x1e\xad\x0d\x1a\x51\x76\x9a\xc6\x71\xb8\xc8\x60\xd2\xa3\x86\x41\x1a\x43\x98\xe4\xa7\x48\xc8\xc9\x0e\xe9\xda\x37\x54\x3c\xd8\x41\x00\x2c\xcc\xd0\x5d\xad\x22\xb5\x65\x27\xc6\x80\x2a\xd2\xcc\xa3\x22\x65\x00\x5f\xa1\x28\xf5\x6c\x66\x25\xc6\x69\x38\xe9\x4f\x26\xa5\xcd\x32\xc9\x03\x4e\xf3\xc8\x75\xec\xc6\x9e\x5d\x87\xba\x4d\xbf\x0b\xb6\x65\x95\x30\x2a\x79\xae\xab\xe4\x2f\xe3\x7a\x3a\x9b\xa9\x7c\xb7\x1b\x5c\x05\x79\x8a\x26\xb0\x4b\x73\xbf\x3c\xb1\xfd\x5f\xbb\xde\xfc\xb1\x24\xd5\x18\xa8\x6e\x2f\xbe\xf7\xd6\xa2\x18\x8f\x34\x37\x0b\xbe\xa1\x18\xdb\x65\x7b\x67\x4d\xa2\xc7\x97\x19\x44\x0f\x33\x52\x55\x8c\x43\x78\x39\xbb\xe0\x18\x96\xc4\xdd\x14\x55\x21\xb6\x18\x10\x0b\xde\x24\x01\x15\x0a\x08\x07\x8f\x74\xbc\x6f\xc2\xa7\xf7\xcf\x04\x4e\xd3\x14\x4f\x32\x07\x50\x6c\x0a\xb7\x58\xc7\x81\xfe\x4a\xe3\x8c\xe7\xc9\x5c\x57\x6c\x63\x45\x6c\x4f\x1b\x41\x23\x7d\x04\x8c\xa3\x09\xdc\x3d\x2f\x60\xb5\x12\xcc\xc0\xb7\xb1\x72\x17\x63\x77\x16\x10\x7d\x1b\x88\x41\x96\x0b\x9a\xde\x6a\xae\x0b\xf1\x1d\x72\x1f\x7b\xd6\x73\xc8\xbf\x1e\xdf\x5a\x2d\x72\x70\x3d\x68\x35\x11\xd1\x02\x49\xb0\xda\x95\x8d\x55\xe4\x3f\xfb\xd9\xf4\xda\x07\x4c\x50\xa8\x3d\x7c\xe6\x46\xf0\xdc\x1e\x39\xf6\x9b\x07\x27\x20\xf7\xc8\xbb\x0e\x79\x47\x33\xd7\x6a\x0e\x09\xe8\x03\x25\x06\x83\xf9\x47\xcd\x15\x79\xf7\x6e\x3f\x4f\x68\x1e\xae\xf6\x5b\x35\xe2\xba\x6b\x88\x33\x60\xcd\x74\x3a\x1b\x5a\x79\xe7\x37\x79\x9d\x7e\x33\xaf\x92\xb8\x1a\x91\x22\x0d\xf7\xfc\xd8\x83\xfb\x02\xb5\xa0\x85\x48\xe3\xfb\x2e\xeb\x6c\xe3\x99\xfe\xed\xf1\x80\x03\xcd\x75\xdf\x6c\xdb\x94\x21\xd8\x01\x26\x37\xaa\x07\xb6\x6f\xf7\x28\x56\x56\x34\x75\x7c\x95\xd8\xca\x13\x9b\x2a\xb1\xc3\x13\x69\xcb\x2d\x96\xc8\xb1\xef\x51\x98\x67\xcb\x08\x5b\xfa\xeb\x5f\x86\x76\x9d\x34\xbe\xd7\x6d\x44\xff\x3e\xd7\xed\xd1\x17\x6c\x73\x31\x1c\xf3\xcd\x84\x48\x8b\xc8\xcd\x4f\x7a\x9c\x38\x55\x9d\x60\x51\xbf\x70\x02\x41\xb3\xeb\x8b\xa7\x76\xb7\x29\x9e\xf6\xbb\x0c\x17\xe6\x38\x6a\xb9\x46\x1b\x5a\xaf\x99\x04\xe9\xd9\x75\x8e\xf8\x49\xbb\xeb\xb9\xec\x37\x43\xae\x27\x90\xa5\x70\xd2\x58\x84\x0f\xb0\x5a\x51\x78\xed\xc9\x76\xdd\x6e\xac\x1d\xff\x38\x71\x8a\xa8\xd1\x82\x75\xfa\xab\x5e\x7f\xad\x6d\xd9\x06\x6b\xf3\x23\xaf\x5a\x9e\x33\x29\x57\xbc\xa1\xb2\x63\xbb\xee\xd0\x4e\x38\xad\x1a\xb8\x27\xbb\xed\x1a\x74\xc1\xdd\x6d\x35\xdd\x52\x13\x79\x2e\x7b\x6e\x77\x59\x83\x6e\xd7\xc1\x4e\x44\xcd\x4e\x2a\x0b\x9c\x88\x62\x2f\x1f\x9e\x37\xd2\xee\xa3\x5d\xe7\x51\x56\x8d\x29\x4e\xe7\x54\xda\x9e\xa6\x13\x10\xbb\x37\x1c\x82\x22\xd7\x35\x83\xeb\xd5\x34\x46\x11\x4a\x51\xa6\x62\x17\xde\x28\x2f\xf8\x59\xa1\x9d\x00\x84\xb7\xfe\xa4\x2e\x9f\xba\x12\xf0\x34\x8b\xc6\xb3\x13\xf1\x77\xd7\x67\xe9\x28\x36\x82\xe7\x2f\xce\xf8\x4c\xa2\x53\xed\xc4\xeb\xb6\xd9\x5f\xbf\x6b\x6e\x49\x2b\x59\x44\x82\x96\x9e\x3e\xb8\xfe\xc8\x86\x86\x6b\x9e\x14\x0c\x8d\x09\x90\x30\x8a\x8f\xbd\x93\xfd\x76\x77\xbf\xa3\xe7\x7e\x9a\x01\x88\x4c\xec\x71\x00\x31\x09\x7f\x79\x27\x72\x4a\x5e\xc7\x01\x34\xb2\x59\x34\x25\x7f\x80\x67\xca\x84\x28\x0a\x40\x46\xf0\x9f\x1c\x76\x3d\x94\x06\x20\xa3\xfb\x4f\xfc\xfd\xae\x87\xb2\x00\xaf\xa2\x55\x8a\x62\xed\xc4\xd3\x49\x56\x0b\xd2\x6e\xac\x9f\x71\x5a\xad\x9c\x2c\xf0\xe8\xea\xdd\x6a\xd6\x9d\xec\xf8\xb8\xe9\xd6\x09\x8b\x7f\x0b\x03\x43\x11\x88\xb9\x7f\x93\xca\xdd\x5e\xea\x84\xd5\xfb\x40\x58\x48\x17\x6d\x7f\x4b\x49\x2a\x07\xbb\x28\x56\x6a\x86\x81\x96\x83\x8d\xd1\x0d\x14\x69\x91\x28\xc5\x03\xb2\x1c\x4c\x19\xd1\x40\xbf\x56\x4b\x9d\x58\x79\x19\x05\x52\xf3\xf4\x11\x6c\x44\x68\x41\x79\xf6\x6b\xb5\xaa\xc8\xa7\xef\x62\x58\xd8\x89\xf2\xa3\xc2\x4e\x44\x0b\x1b\xed\x64\x5b\xda\xa9\x80\xd1\xba\x75\xd4\x23\xaa\xdc\xe8\x1d\x59\x53\x55\x2b\x44\x62\xfc\x0d\x67\x79\x91\x84\xb5\xda\x8e\xa3\x77\x45\x97\xde\xf4\x57\x2e\x06\xdd\x9c\xda\x44\x6b\x8e\x6c\x6c\x8d\xaf\x5d\x3b\x95\x23\x16\xe7\x41\x29\x69\xf2\x33\x2d\x48\x35\x01\x55\x29\xa8\x4a\x49\xba\x1c\xcf\xc4\xce\xca\xaf\xaf\xf9\x8e\x96\xe6\xa1\x38\x5b\xaa\xe7\xb4\xfe\x8d\xb5\x7f\x4c\x1f\xa1\x54\xb9\xa9\x15\x4d\x20\x23\x38\x7d\x2e\x29\x81\xf9\x69\x3a\xbf\x78\x9a\x4e\x24\x7c\x05\xd6\x7a\xf0\xb2\x16\xc6\xb2\x38\xe8\xa6\xd5\xb4\xd6\x8e\x78\x55\xa4\x8b\x29\x26\x14\x71\xe9\x47\xe3\xf6\xfb\x55\x3a\x81\x8d\x00\xb1\x6d\x5e\x61\xdc\x17\xc3\x61\x98\xbd\x53\x50\x96\x0d\xe3\x57\x45\x2e\x09\xdb\x92\x6d\xd7\xdc\xc8\xdd\x7d\x54\xac\xb1\xbc\x9b\x53\x0e\x5b\x33\x3d\x94\x6e\x7e\x14\x0d\x7a\xf8\x38\x20\x2c\xda\xb5\xe0\xc5\xe4\x4f\xcf\x37\xe9\x93\x83\x8b\x31\x37\x2a\x66\xa2\xac\xa8\xe7\xa7\x6d\x57\x2b\xa7\x98\x14\xf8\xa6\xd1\xc7\x7e\x3c\x8b\x78\x2e\xb7\xd8\x0a\x93\xd9\xa5\x97\x0f\x10\x3d\x74\x8c\xc7\x97\x05\x81\x1e\x73\xa6\xe2\xb9\xe8\xba\x31\xab\x88\x32\xf3\xf5\x28\xb3\xdd\x5d\xa4\xe2\x04\x59\xf8\x98\xa0\x3e\x0f\x25\xdb\xd5\xb3\x52\x1d\x61\x56\x3c\x29\x27\x7b\xc9\xc3\xd1\xf2\xcc\xae\x88\x5b\x10\x45\x35\xe3\x16\x39\x64\x57\x3f\x31\xbc\xcb\x3d\x03\xda\x79\x62\xd7\xec\x90\x38\x9a\xae\xa5\x54\x1d\x13\xe4\xf6\x31\x02\xd7\xed\x6a\x39\xb3\x05\x0b\x4a\x26\x48\xd8\xd7\x55\xf9\x73\x02\xa8\x53\xce\xb5\x9a\x93\x53\x85\x76\x40\xd2\x52\xd2\xec\x57\x10\xc2\x45\x15\xf8\x14\x28\xa3\x1a\x46\xbe\xcc\xcf\xed\x42\x66\xa0\x3a\x66\x9e\xed\x19\x04\x09\x75\x63\x55\x7a\x28\x72\xfc\x2a\x59\x6d\x40\x11\x2f\x4d\x1d\x38\xf6\xd8\x5f\x2f\xd0\xb9\x44\xaa\xcd\x65\x3a\x50\x43\x9e\xa9\xdd\xa2\x6b\x2c\xfb\xbb\x0a\x52\x16\x0f\x5c\x8a\x63\x9e\x2c\x7f\x5d\x9e\xdd\xe7\xa5\xf3\xc2\x27\x95\x34\xee\xe6\xa9\xc7\x9e\x1a\x2a\x7e\x2e\xde\x45\x44\x6c\x7a\x6e\x24\xc6\x36\x4f\x4c\x15\xa1\x3e\x85\x0f\x60\x06\x4b\x68\xf4\xa7\x54\x74\xe0\x47\x47\xaf\xa4\xb2\x96\xbb\xf4\x2e\x5d\x94\x03\x01\xf3\x4a\x76\x5f\x19\xaf\xbb\x54\x1c\xbf\xdf\x52\x87\xc6\xb4\x1b\x6b\x2b\xac\x05\x5a\xd8\xa0\x76\x9c\x58\xed\x44\x73\xbf\x9a\xd8\x90\x34\xa3\xcf\x6b\x35\xbe\xa1\x5c\x3a\x59\x2c\x64\x8a\x5e\x9d\x08\x9a\x0d\x3a\x72\xb8\x72\x8d\x7d\x70\xda\x72\x37\x1e\x51\xf6\x5c\xb1\x6b\x5d\x38\xd6\xbc\xb9\x09\x4f\x50\xa5\x74\x0e\xda\xeb\x69\xf1\x8b\x19\x90\xbb\x68\x0e\xe9\x92\x98\x51\x8a\x51\x92\x00\xfe\x99\x16\x75\xe8\x42\x5d\x8c\x0b\x90\xc0\xca\xa3\x0e\x41\x09\x25\x31\xfd\x3d\xd4\xf2\x3c\xb7\x07\x0a\xc5\x9e\x8c\xa5\x14\xaa\xb5\xe3\xf6\x88\x8c\xad\xdf\x44\x52\xfe\xfa\x0e\xf9\x4e\x0d\x35\x3d\xcb\x14\xa8\xa2\xb0\xbf\x99\xc2\xbe\x39\x1f\xd8\x9a\x11\xe8\x2b\x55\xfe\x32\x00\x91\xdc\xd3\x8e\x75\xf3\x53\xf3\xfc\x8f\x43\xc4\x9c\x16\x89\x19\x10\xb6\x0c\x3a\x78\x93\x08\x7b\x76\x2b\x16\xc8\x6d\xaf\x23\x70\xd7\x55\xbc\x9a\x8f\x3c\x77\x1d\x6c\x19\xe1\xc8\x1c\x61\xe4\x71\xff\x86\x55\xcd\x32\x7e\xc5\xcc\x89\x93\xb2\x28\x60\x00\x07\xea\xf6\x17\xfc\x45\xf8\x09\xf3\x52\x7c\x7f\xf4\x54\xbe\x22\x83\xda\x2d\x1f\x8a\x8a\x1a\x35\x27\x75\x17\xa9\xbd\xb9\x90\xc3\x62\xd9\x07\x67\x9f\x6e\xce\x4e\xfb\x77\x67\x03\x76\xbc\x91\x79\x5e\xef\xc1\xe2\x5a\xd9\xc4\xca\xd2\x34\x69\x58\x9f\x62\x08\x33\xb0\x96\x19\x58\x85\xfa\xf4\xf7\x74\xd0\x0a\x93\x8c\x40\x38\x69\xc8\x0d\xa2\x6d\xb9\x8b\x0e\xcd\x2d\x79\xcb\x84\xaa\x7e\x51\x08\x94\x62\x9c\x3f\x3c\x2f\x00\x13\xf8\x4e\xa8\xa2\x57\x55\x1b\x55\xc1\x0b\x5a\x5e\x29\xa0\xe5\x34\x4c\x58\xc8\x3f\x43\xd0\x0a\xad\x99\xac\xd4\xa2\x85\x2c\xa1\x2d\x5b\xf7\x30\x4d\x31\x58\xca\x67\x9e\x2e\x80\x1d\x05\x1e\x87\x71\x0c\x13\xdb\xed\x15\x34\xc5\x0d\xe8\x39\xf0\x6b\x16\x16\xad\x8e\x3f\x86\x71\x34\xe1\xef\x38\x09\xf9\x61\x87\xbf\x63\x4f\x1f\x55\xe5\xac\x3f\xec\x28\xc5\xbf\xa6\xc3\x65\x64\x7f\x55\xbf\x31\x3c\x44\x19\x01\x4c\xe9\xf6\x91\x4a\x20\x63\x58\xd5\xb1\xa4\x42\x7f\xb5\x69\xad\xa1\x55\x51\x97\xa8\xa2\xa7\x47\x1c\x6f\xd8\x71\x89\xd6\x45\x2b\x6c\x3b\x6e\x82\x81\x55\xf3\x62\x01\xca\xd1\xa9\xac\xc0\x01\x77\xfb\xc1\x0c\x03\x87\x59\x98\xa9\x6d\x8d\x4d\x01\xd4\xa5\x2d\x26\xbd\x50\xe9\xe0\xd1\xaf\xaf\x4e\x25\xdc\xc1\x77\x52\x11\x7b\x5f\x59\x63\x75\x55\x66\xfe\xe2\xb1\x28\x9e\xbd\x1f\x97\xe3\xf6\x37\xe0\xd4\x8f\xe3\x62\x1d\x22\x82\xb3\x52\x99\xa9\x14\x35\xb5\xda\x8e\x2f\x57\xce\xca\x0c\x0e\x48\x47\xc6\x8e\xaf\xf6\xb3\x2b\xa3\xe4\x1d\xa9\x99\x94\x43\x18\x45\xbc\x29\x0f\x58\xac\xce\xe3\xe6\x0d\x59\xb9\xd2\x56\x65\x99\x99\xca\x1f\x6d\xd5\xd7\x14\x99\x06\x3c\x86\xf1\x32\x24\x40\xfb\x91\x8d\xc3\x05\xdc\xc2\x5f\x97\xc0\xde\x32\x91\xcf\x03\x8a\x51\x10\x04\x52\xdd\x3a\xc9\x17\x2d\xf5\xda\x17\xaf\x5b\xc8\xe5\x4b\x3d\xa2\xf0\x7a\x18\x17\x11\x4d\xe3\x3c\x71\x4a\x2a\xa8\xf6\x43\x6e\xb1\x0b\xd7\x07\xda\xf1\x5c\xb7\xbb\xb3\x13\xf2\xdd\x6a\xf6\x3e\x15\xf9\x6e\x38\xd1\x5b\x3d\x2b\xe2\x2f\x00\x91\x96\x16\xd7\xe7\x55\x2c\x2f\x18\x36\xcf\x37\x78\xb6\x11\xcb\xae\x00\xc6\x51\x07\x96\x32\x93\xf1\xda\x34\x5f\x15\x6e\x05\xf6\xda\x48\xdb\xb2\x95\x1e\xbc\xf0\x8a\xba\x3b\x3e\xfa\x06\xcf\x5d\x61\x6e\xe6\xa4\x10\x29\x6b\xa4\xfb\x53\x8f\x8f\xbd\x15\x88\x97\xa4\x1c\x1f\xfb\x2b\xe5\x48\x3d\x3e\x6e\xae\x94\x97\xf5\xf8\xb8\x95\xfb\xa2\xc5\x2b\x3c\xb8\xfb\xd9\x3a\xec\xb2\x43\x9c\xb2\x3e\xaa\xc1\xd2\x41\x64\x43\xf8\xfe\x56\xbc\x55\x44\x4b\x1b\x9c\x5d\x6a\x1e\x60\xeb\x68\x4b\x71\xee\x48\xff\x3f\xed\x72\x25\x1f\xee\xf2\x37\xfa\xed\x78\x7a\x7d\x7e\xab\xab\xe5\x3b\xbd\xd9\x94\xaf\x79\xd0\x35\x5b\xda\x94\xb1\x75\xd0\xc5\x27\x4e\x09\x2b\xbf\x67\xd7\x1d\x5c\xf7\xdd\xba\x3d\x10\xc3\x1e\x98\xf0\xd6\xc0\xa6\xfc\xcb\x20\xdc\x13\xa0\xbf\xd3\xe6\x24\xcf\x7b\x6f\x77\x8d\x82\x9d\x81\x2d\x5d\x0a\xa5\xb7\x8f\x9d\x14\x11\xb9\x1e\xd8\xdd\x12\x72\x03\xdb\xe8\xc1\xd1\x6b\x3d\x38\xdd\xd0\x83\xd3\x37\xf6\x60\x5a\xec\xc1\xe9\xaf\xe9\xc1\x69\x45\x0f\x4e\xcd\x1e\x1c\xbe\xd6\x83\xfe\x86\x1e\xf4\xf3\x1e\x98\x18\xf6\x7f\x0d\x86\xfd\x0a\x0c\xfb\x06\x86\x6d\xef\x35\x0c\xdf\x6f\xc0\xf0\xfd\x26\x0c\xdf\xff\x1a\x0c\xdf\x57\x60\xf8\xde\xc4\xb0\xd3\xcd\xa7\xd9\x2a\x9f\xe7\x4c\x00\x16\x4a\x36\xff\xc5\x76\x8d\xb2\xfb\xa2\x76\xac\x0d\xfa\xb0\x95\x77\xee\x5f\x0c\x06\x68\xfd\x8b\x39\x7a\xfb\xdd\x32\xc6\x3a\x69\x3e\xd8\x6f\xee\xe7\x87\x8a\x7e\x7e\x30\x5b\xeb\xbc\xd2\xda\xf9\xdb\x5b\x3b\xaf\x68\xed\xdc\x6c\xad\xa5\x51\xf5\x44\x5f\x78\x82\x5d\xc3\x21\x53\xae\xa8\x53\xa0\x52\x7b\x63\x4d\x5a\x3d\xe5\x6a\xf6\xcd\x6a\x7c\xbf\x59\x35\x56\x5a\xff\x3f\xe9\x63\x75\xfd\xa9\x50\xba\xf5\x4a\xe9\x7f\x32\x4a\xff\x53\xa1\x74\xfb\x95\xd2\x37\x46\xe9\x9b\x42\xe9\xce\x2b\xa5\x6f\x8d\xd2\xb7\x85\xd2\x95\x3c\xea\x77\x36\x31\xa9\xdf\x29\x12\xee\xa0\xb2\x82\x83\x8d\x15\x1c\x14\x2b\x38\xac\xac\xe0\x70\x63\x05\x87\xc5\x0a\x8e\x2a\x2b\x38\xda\x58\xc1\x51\xa1\x82\xa6\x57\x55\x41\xd3\xdb\x54\x41\xd3\x2b\x56\xe0\x57\x56\xe0\x6f\xac\xc0\x2f\x56\x50\xc9\x7d\xcd\x8d\xa2\xa2\xd9\x2a\x56\x50\xc9\x80\xcd\xf6\xc6\x0a\xda\xaa\x02\x11\xf6\xd5\xdd\xd1\x64\x9b\x29\xf2\xb8\x9a\xb3\xca\xf5\x9a\x93\xf2\xb2\xb6\x5a\xed\xe8\x19\xb5\x9a\x36\x97\xa9\xd5\x54\x19\xf6\xa8\xde\x34\xa7\x0a\xd5\x6a\xfb\x1d\xfd\xfd\x67\xc6\xab\x04\x99\x59\xd1\x55\xb0\x77\xc1\x7e\x47\x1c\x44\xa3\x3f\x8f\x83\x23\xaf\x28\x9a\x2a\x22\x0b\x72\xc5\xac\xde\x6a\xba\x5d\xff\xa8\xa9\xb7\x57\x92\x6d\x7f\xb6\xf5\x06\xdb\x87\x46\x83\x9d\x83\xf2\x9a\x94\xd7\xbf\xdb\x3e\x74\xdf\x84\xee\x56\x2c\x77\xf7\xdb\x6e\xb7\x55\x85\x64\x55\x31\xcf\x68\xb0\xe3\x9b\xe8\x76\xde\xd4\x60\xc7\xaf\x37\x0f\xdc\x6e\x67\xff\x8d\x6d\xfa\x34\x77\xd3\x3f\x7a\x63\x76\x96\xbb\xe9\xbd\x35\xf7\x21\xcd\xed\x9b\x3c\xe1\x6c\xc9\x7f\xe4\xaa\xd8\x1f\x52\xf2\xe4\x3c\x5c\xb2\x17\xc3\x96\x7c\x05\xe2\x85\xb1\x90\x47\xde\x66\x20\xac\x36\xf9\xf6\xd8\xaa\x77\x71\x3c\x9c\x8a\x9c\x15\x7b\xa6\x5a\x39\xf9\x36\x06\xd1\x0a\x8f\x27\x32\x5b\x2a\x5b\xcb\xec\xe4\x62\xc5\x1e\xe3\x3f\xc0\x68\x56\xfb\xdd\x08\x18\x46\xcc\x6a\x21\x41\xfe\x43\x45\x6b\x89\x77\x6d\xf3\xa8\x18\x96\x45\x8c\x89\x0a\xdd\xe2\xe3\xca\xe0\xab\x95\x78\x8f\xb5\xac\x52\x35\x4c\x64\x16\x31\x52\x3b\xce\x0e\x59\xad\x9c\xed\xf2\xc4\xad\xd5\x72\x73\xd4\x65\xa1\x37\x55\x0c\x40\x8a\xc6\xa6\x38\x1a\x4a\x2a\xcd\xd0\xb7\x98\xa0\x2e\x35\x38\x8b\x63\x9f\x4c\x2a\x2c\x4b\xa2\xde\xb7\xc0\xb6\xbe\x57\xab\x4d\x7b\x17\xb9\x79\xcb\x32\x52\x43\x5d\xbe\xd5\x79\x8d\xa4\x9b\x9f\xa5\xd4\x8b\x2e\xd7\x7b\x30\xfd\x30\x72\x10\xf3\xf7\x19\xe9\x67\xd4\x39\x36\xea\x2c\x1a\x79\x8e\xa1\x71\x9f\xe2\x09\x60\xf6\xba\xaa\xc0\x7e\x9a\x45\x04\x6c\x54\x8d\x28\x6c\x2b\x49\x31\x95\x87\xd8\xd4\xeb\x93\xcc\x38\xe1\x82\xe3\x2e\x4e\x1f\xaa\x30\x67\x6f\x54\x92\x4e\x05\x7e\x54\xb1\x21\x5c\xec\xd5\xa9\xb4\x22\x15\x61\xcc\xde\xfb\xaa\x8d\x4c\x1c\x8d\x81\xbf\x76\x48\xbd\x5b\x5e\xb8\x49\x2b\x6a\x11\x61\x66\x55\x60\x04\x45\xf4\x01\x63\x33\xae\xe0\xb7\x77\x80\x55\xf5\x77\xe8\x02\xab\xe7\x57\x75\x02\x43\x16\xfd\x0d\x2a\x5e\x1f\x14\x65\x57\xe1\x15\x73\x82\x8a\x47\xe2\xba\x2f\x84\x6f\xf0\xaa\xf7\x22\x39\xfa\x6b\x81\x5c\xb5\x38\x57\x41\x11\x11\x2f\x23\xe0\x21\x7a\x28\xa1\xe2\x46\xb9\xcd\xf8\x9b\xda\x89\xfc\xc9\x5f\x2b\xc4\xf6\xb4\x7d\x16\x6b\x49\xe7\x00\x7b\x24\xf4\xd1\x49\xf3\x52\xee\x31\xb0\x28\x91\x4c\xbc\xab\x5d\xbe\x86\xda\xb6\x6c\xe4\x8f\x50\x54\x8e\x4f\xe8\x45\xbb\xbb\x3d\x56\x46\x0f\xd0\x78\x00\xe2\x44\xea\xad\x6e\x60\xbc\xec\x58\xc0\xd8\xc6\x6a\x96\x1f\x96\xe1\x6f\x99\x2f\xbd\xa6\x38\x47\x0d\xa5\x79\x77\x50\x12\x78\x28\x3d\x26\x2e\x7f\x79\x9b\x3e\x0f\x7b\x69\xbd\x7e\x4c\x8c\x16\x05\x1a\xa4\x9e\x7b\x18\x8d\xc0\x86\x77\x5e\xee\xc5\xce\xb3\x97\xe2\x38\x9e\xeb\x49\xdd\x3f\x31\x03\x22\x12\x19\x1d\xc2\x77\xec\xbd\x42\x18\x89\x1e\x93\x51\xfd\x92\xe7\xe2\xc9\x67\x89\xab\xa8\x48\x3f\x56\xc4\xd6\x09\x46\xe9\x74\x77\xd7\x7a\x47\x7a\x6e\xf5\x0b\x99\x2a\xba\x69\x66\x28\xf5\xcb\x37\xa2\x4c\xd2\x85\xe3\x76\xf5\x58\x0d\xbd\x8b\xf5\xfa\x06\x94\xdf\xc9\x37\x65\xe1\xc0\x04\x8b\x9d\x5d\xd7\xa5\xd3\x27\x4a\x96\xd0\xc3\x9b\x02\xa8\xb0\x78\x43\x13\xbb\x51\x40\xac\xeb\xcf\xef\x02\xa2\x46\x2b\x20\xbb\xbe\x8b\x12\xf5\xbb\x1e\xc8\xb3\x95\xdf\xdf\xe5\x0b\xff\xf7\x00\xd4\x61\x92\x57\xde\xe0\xaf\xde\xdc\xbf\xf9\xf4\xd3\xb6\xa3\x2a\xa5\x37\xe8\xbf\x72\xd7\x81\xb6\x44\x72\x59\xa1\x1f\xf7\x63\xab\x2f\xbb\xdf\x03\xf8\xa5\x1e\x64\xed\xae\xd7\x55\xc7\x26\xd8\xd6\xb1\xb1\x44\xc2\xb1\x8e\x2b\xdb\x33\x96\xd4\x30\x36\xb4\xa9\x1a\xf2\x4e\x4f\x3e\x4b\x26\x85\x8c\x67\xc9\x24\x28\x6e\x6e\xce\xc3\xef\x85\x36\x55\xf0\x9a\x56\xb9\x57\xbd\x51\xce\x29\x56\xd2\xef\xc4\x0c\x37\xba\x41\xb9\x5b\x04\x09\x73\x96\x24\xe1\x3d\x55\xf2\xd8\x0b\xc7\xf9\x62\x88\xe1\x91\x96\xa3\xba\x96\x60\x52\x9a\x27\x78\x59\x23\x08\x3c\xb7\x27\x08\x41\xc9\xd8\x83\x7a\x50\x94\xb0\xc6\x4b\xac\x5c\x57\x6f\x23\xd8\xf1\x4c\x1c\x65\x53\x95\x18\xca\xb8\x75\xce\x70\x6e\x6f\x27\xaf\x6a\x77\x17\x46\xb5\x1a\xbc\xf3\x7a\x6a\xe7\x01\xde\xe5\x32\xf6\x44\x3d\xed\xfa\x5d\x38\xf6\x4e\xbc\x6e\x41\x0b\x49\xe0\x3b\xf9\x2d\x0d\xd7\xeb\xac\x61\x8d\x02\xbf\x11\x01\xf6\x92\xd3\x9b\xe8\x61\x56\x54\xbe\xb5\x88\x87\x5c\x98\xeb\xf2\x84\xc9\x73\x9c\x07\x83\x44\x62\x22\xa8\xd7\xa6\x3a\xae\x58\x4c\x0a\x23\x55\x77\x31\x7b\xf7\xa0\x08\xad\xd2\x23\x24\xca\xaa\x42\x98\xc1\x25\x4c\x7f\x33\x72\xaf\x20\x46\x71\x87\x7a\xbd\x07\x74\x65\x7b\x33\x56\x6c\x97\xaf\xa0\xc0\x98\xc1\x74\xab\x55\xfe\x3b\xdf\x46\x05\xb6\xdc\x49\xe9\x52\x8d\x38\x2f\x62\x44\xd4\x89\x10\x48\x5f\x13\xcd\xea\x0e\x14\xe3\x9a\x94\xc0\xeb\xe5\x91\x39\xbe\xa4\x3a\x3b\xbc\x0a\x5a\xf8\xe7\x2b\xb7\x10\x6c\x13\x82\x9b\xa3\xed\xaa\xc6\x2d\x4a\xa0\x6c\x22\xe6\x0c\xe7\x78\xa8\x28\x7c\x14\x36\x95\xe3\x3d\x14\x92\x42\x1b\xc8\x6e\xb5\xee\x32\x1c\xb1\x97\xae\xb2\x37\x77\xd4\x6a\x4e\xd4\x88\xb2\x9f\x71\xc8\xb6\xf3\x88\xdb\x4b\x35\x76\x4c\xeb\x75\x37\x1a\xa6\xa3\x00\xcb\xf9\x13\x15\x06\x7b\x56\x79\x2f\xd7\xc9\x26\x9e\xea\x56\xa9\x53\x85\xa0\xaa\xac\xaa\x4a\xf6\xd2\x7c\x3e\xc3\xc5\x7b\x59\xeb\xb6\xed\x36\xd8\x6b\x2e\xae\xa7\xa5\x20\x94\x52\xe4\xb3\x24\xb0\x8c\x5c\xd3\xdf\xa3\xaa\x42\x37\xdf\xbc\xe5\xaa\x0d\xb7\xb8\xa1\xa7\xb8\x55\xc8\x11\xb8\x8b\x48\x5c\x35\xca\xac\x24\xa1\x40\xbb\x34\xca\xac\x4b\xfa\xfc\xa9\x0b\xbe\x7f\x57\x5a\xb6\xd5\xf2\x2f\x23\x52\x39\xd0\x71\x73\x5d\x40\x8d\xa5\xe8\xca\xf7\xdd\xdd\xa2\xaa\xfe\x08\xec\x85\xbb\x85\x56\xc5\xa4\x29\x46\xc6\x9e\xe8\x7a\x14\xd3\x68\xe4\x6b\x58\xa4\x26\x92\x93\x52\x9f\x22\xca\xde\xcc\x67\xfa\x86\xfc\xf9\x9c\xdb\xf1\xfe\x4e\xc1\xb0\x62\x22\x3c\x97\xfb\x6e\xb8\x55\x0a\x2c\xc2\x95\x2f\xa5\x69\x1b\x30\xa6\xa4\xe7\xf3\x44\x0b\xf7\xab\x74\x88\xc8\x60\xe8\x8a\xf7\x00\xf6\xa2\xfc\xb6\x33\xa3\x0d\xf5\xea\xc0\xca\x08\x29\xb4\xa9\xbe\x80\xbc\xae\xad\x6d\x7e\xc3\xa7\x41\x1e\xaa\x23\x54\xd0\x87\x2d\xb1\x9c\x99\xca\xba\xc2\x3c\x24\xe3\x19\xb7\xdd\x63\x24\x2f\xaa\xa0\x4a\x49\x7e\xdd\x45\x21\xc0\x87\x5b\x6e\x6a\xa2\xb3\x37\x9a\x2e\xd2\x27\xa7\xe5\xfd\xe8\xc0\x6e\xe4\xa2\xa6\x5b\x57\x89\x9d\xa3\x1f\x1d\xb2\x9b\x9a\x89\xbe\xff\xa3\x83\x77\x33\x9a\x48\x91\xd1\xdf\x59\x1e\x98\xaf\x30\x47\x51\x23\x4a\x66\x80\x23\x92\x05\x09\x8a\x1a\x69\x12\xa4\xf4\xcf\x74\x1a\x64\x48\x5e\x46\xb7\xe1\xf8\x80\xfe\x26\xe6\xd5\x4a\x3f\xf6\x88\xd9\xb1\x8b\x01\x77\x78\xb3\xd7\x28\x66\x24\x5d\x7c\xc2\xe9\x22\x7c\x08\xc5\x91\xe4\x1d\x7f\x8d\x40\x5e\x72\x18\x44\xeb\xd2\xcb\x97\x8d\x2b\xf9\x7e\xd3\x0b\xe5\xa3\x0d\xa7\x68\xc5\xb0\xc9\xc3\x21\xfa\x8f\xd5\xea\x65\xbd\xd6\x3a\xa2\x0e\x87\x17\xcf\x50\xe8\x85\x98\xaf\xd1\xfc\xbd\x5a\xc9\xd7\xc0\xe4\x69\xea\xd4\x27\x32\x6a\x9e\x4e\x37\xd0\x37\x2f\xe9\x16\xae\x0a\xca\x21\x28\x0a\xb0\x61\x6f\x8b\x5b\x2a\xa9\x98\x5a\xad\xd8\x1d\x95\xb1\x38\x98\xaf\x1f\x4d\x65\xa1\x16\x2a\xfa\x36\x42\x7e\x01\x29\x6e\x7a\xf5\xe3\x58\x9e\xea\xaf\x88\xee\xce\x91\xa8\xd5\x26\x10\x03\x11\x31\xa2\x79\x7a\xa1\xa3\x45\x4e\x2f\x5c\xd4\xc3\x47\xec\x6d\x5e\x19\x3d\x2e\x28\x9d\x4e\xd9\xe5\x96\x88\x68\x1e\x19\x94\x1f\x45\xc5\x39\x05\x88\x7a\x09\x02\x2d\x60\xa2\x47\x97\xa0\x92\x5a\xcd\xfd\x8b\xec\xf5\xec\x7e\x0f\x1f\x2b\x0c\x24\xc9\xd9\x31\x99\x21\xde\xf5\x47\x41\x7e\xa5\x22\x1e\xf5\xb6\x0c\x61\x54\x1a\x42\xfe\xbe\xf7\x48\xd6\x29\x55\x0c\xbd\x37\x45\xa6\x89\x2b\x87\x45\xa7\x8a\xc9\x8a\x6b\x04\x6b\x16\x42\x6d\x88\x82\xbf\xfb\xa4\x33\x6e\x4f\x85\xc6\xd5\xe7\xcb\xc0\xfe\xe2\xd9\x08\x1a\xb7\xd7\x1f\x02\xfb\xff\xc3\x9e\xee\xfe\x39\xb0\xff\xbf\xf4\xe9\x8c\x3e\xfd\xff\xd8\xd3\xf5\x5d\x60\xff\xff\xd9\xd3\xd5\x3f\x05\xf6\x7f\x42\x9f\xfa\xa7\x7f\x08\xec\xff\x94\x3e\xbd\x3f\xbb\x0c\xec\xff\x8c\x3d\xdd\x06\xf6\x97\x7b\xfa\xf4\xe1\x2e\xb0\xbf\xb0\x97\x05\x5e\x9e\x07\xf6\x97\x84\x3e\xfd\x91\xa6\x3d\xd2\xa7\x73\x9a\x36\xa5\x4f\xa7\x37\x81\xfd\x05\x73\x0c\x02\xfb\x3f\x67\x0f\x17\x81\xfd\x5f\xd0\x87\xc1\xe5\x59\x60\xff\x97\xec\xe9\xd4\x0f\xec\xff\x8a\x3f\x35\x03\xfb\xbf\xe6\x4f\xad\xc0\xfe\x6f\xf8\x53\x3b\xb0\xff\x5b\xfa\x74\xd5\xff\x43\x60\xff\x77\xac\x92\x5f\xae\x02\xfb\xbf\xe7\xbd\x78\x1f\xd8\xff\x03\x6b\xab\x7f\x15\xd8\xff\x23\x4b\xfb\x18\xd8\xff\x13\xcb\xf6\xf9\x7d\x60\xff\xcf\x2c\xe9\xf6\x34\xb0\xff\x17\x86\xdc\x6d\x60\xff\xaf\xf4\xe1\xa7\xdb\xc0\xfe\xdf\xe8\xc3\xcd\x6d\x60\xff\xef\xf4\xe1\xf3\x6d\x60\xff\x1f\xac\xdc\xa7\x80\x6a\x82\xd0\x18\xd0\xbe\xff\x5f\xf6\xda\x21\x8d\x53\x8f\xc5\x42\x9c\x7a\xc1\xcb\x9a\x2a\x57\x5b\x87\x4e\xdc\x5f\x14\x47\xf7\xe1\x62\x91\x6d\xbb\xc1\x48\x64\x31\xef\x30\x7a\x7f\x3b\xd8\x6d\xed\x9e\xc6\xe1\x32\x03\xe3\x32\x23\xbf\x71\xe0\x35\x3c\x7e\x9b\x91\x28\x69\xde\x67\xb4\xb7\x57\xba\x7e\xc8\xdb\xdf\x6d\x7a\xde\x11\xbb\x80\xe6\x74\x86\xd3\x79\xb4\x9c\x5b\xd7\xb7\x56\x7f\x49\x66\x29\xce\x1a\x56\x3f\x8e\xc5\xed\x3b\x16\x55\x40\xf0\x23\x4c\x1a\xbc\x2e\x51\xe3\x0d\xa8\xcb\x76\xd8\x65\x5c\xc9\x84\x85\x6c\x47\x89\xc5\x6f\x3f\x62\x29\xf7\x51\x12\xe2\x67\x6b\x9a\xe2\x79\x86\xf8\x4b\x38\x52\x2c\x2f\xfb\x11\x15\xb1\xbb\x7c\x44\x54\x05\xb2\x42\x0c\xe2\xfe\x1d\x02\x13\x6b\x81\xd3\xc7\x68\x02\x13\x8b\xcc\x42\xb2\xf1\x3a\x1d\x5a\x48\x56\x06\xa4\x6b\xa0\x69\x59\xd6\x8f\x05\x5c\xd9\x2d\x38\x02\xc9\x71\x3a\x01\x6b\xbe\xcc\x88\x85\x81\x84\xe2\xd2\xa2\xc2\x8d\x3c\xa2\x26\x7e\xf9\x0e\xe2\x97\xf2\xd0\xc9\xce\x6e\x58\xd2\x90\x60\x17\xf6\xe8\x18\x4e\xa2\x6c\x1c\x87\xd1\x1c\x70\x63\x1b\x36\x51\xa2\xd3\x49\x62\xb3\xc0\xe9\x64\x39\x86\x1c\x21\x51\x45\xf1\xa2\xa0\xdf\x86\x90\xa8\x4c\x74\xd8\xbc\xdd\x49\x5c\x96\x94\x92\x19\x60\x6b\x1e\x12\xc0\x51\x18\x67\xf9\x58\xb0\x61\x24\x33\x89\x90\xde\x19\xa3\x9f\x57\x10\xb1\x2a\xd8\x4b\xef\xc3\x39\xbb\x91\xea\xa7\x34\x7d\x88\xc1\xba\x48\xc6\x0d\x2b\x49\x73\x18\x1b\x93\x88\x5f\xf5\xc4\x3a\x99\xf0\x3a\x53\x9c\x59\xf3\xf0\xd9\xba\x67\x07\x02\xd8\x35\x4b\x90\x4c\x52\x9c\x01\x65\xa4\x05\x4e\xe7\x29\x01\x8b\xd3\x8a\x64\xd6\x04\x70\xf4\x08\x13\x6b\x8a\xd3\xb9\xa8\x8a\x18\xd7\x5a\xc9\x7b\xa6\xb2\x05\x8c\x29\xd7\x59\x0b\x1c\x51\x8e\xc4\x94\xdf\x12\xed\xae\x25\x93\xd9\xef\x3e\x5c\xdc\x56\xdf\x8f\xf4\xfe\x17\x76\xd5\x4e\xf9\x2e\xa1\xfe\xd5\x80\xdf\xff\x73\xf1\xfe\xf3\xdd\xf5\xcd\xad\xa8\x49\xdc\xa7\xc4\xc0\xfd\xab\x5f\xb4\x8b\x93\xe4\xad\x49\xda\x9d\x48\xda\x05\x4a\x48\xde\xa0\x24\xea\xc9\xef\x51\x42\x0c\x81\x72\xe1\x8a\x0b\x95\x58\xab\xda\x85\x4a\xa2\xae\xea\x6b\x95\x6e\xce\xac\xc1\xc5\x2d\xbb\x00\xe9\x6c\xb0\xe1\x46\xa5\xbc\xdf\xa2\xaa\xeb\x9f\xaf\xce\x6e\xf8\xe5\x4a\x79\xd7\x2b\xee\x55\x1a\x5c\xdc\x9c\x9d\xde\xd1\xfe\xe5\x4f\xa7\x17\x83\xb3\xab\xbb\xfe\x25\x12\x75\xdd\x7e\x3a\x3b\xbd\xe8\x5f\x22\xeb\xec\x9f\xcf\x3e\x7e\xba\xec\xdf\xfc\x82\x44\xcd\xb7\x67\xff\xf4\xf9\xec\xea\xee\xa2\x7f\xa9\x6e\x66\x72\xde\x44\xa9\x4f\x37\xd7\xa7\x9f\x6f\xd8\x1d\x51\x94\x3c\xb7\x9f\xdf\xdf\xde\x5d\xdc\x7d\xbe\x3b\xb3\x7e\xba\xbe\x1e\xb0\x51\xb8\x3d\xbb\xf9\xe3\xc5\xe9\xd9\x6d\xcf\xba\xbc\xbe\x65\x44\xfc\x7c\x7b\x26\x51\x1a\xf4\xef\xfa\x0c\x89\x4f\x37\xd7\xe7\x17\x77\xb7\x3d\xfa\xfc\xfe\xf3\xed\x05\xa3\xe8\xc5\xd5\xdd\xd9\xcd\xcd\xe7\x4f\x77\x17\xd7\x57\xae\xf5\xe1\xfa\xe7\xb3\x3f\x9e\xdd\x58\xa7\xfd\xcf\xb7\x67\x03\x46\xfa\xeb\x2b\xda\x79\xc5\x53\x67\xd7\x37\xec\x1a\xad\xea\x9b\xa4\xf2\xcb\xa3\x6e\xef\x6e\x2e\x4e\xef\xf4\x6c\xd7\x37\xec\x46\x29\x51\x53\xde\x77\xeb\xea\xec\xa7\xcb\x8b\x9f\xce\xae\x4e\xcf\x8c\xdb\xa6\x5c\x75\xdb\x14\xbb\xa2\xea\x17\xeb\xe7\xfe\x2f\xf2\xbe\x29\x71\x93\x94\x1c\xc0\x73\x93\xd9\x11\x1b\x72\xeb\xe2\xdc\xea\x0f\xfe\x78\x41\x3b\x22\x8a\x7c\xba\xbe\xbd\xbd\x10\x6c\xc5\x48\x79\xfa\x41\x0c\x06\xbf\x6e\x2a\x9a\x3a\xea\x82\x8f\xa8\x7c\xff\x06\x7f\x65\x94\x65\xc7\xd1\xbd\x6d\xf1\xb7\xd3\x5a\x61\x8c\x21\x9c\x3c\x5b\xf0\x3d\xca\x48\xd6\xf8\x41\x5a\x0c\x2f\xeb\x5e\xd4\xc0\xcb\x84\x44\x73\x18\xc0\x02\x92\x09\x24\xe3\x08\xb2\xaf\xfc\xb2\x98\x28\x89\x88\x3c\xd7\x91\x7d\xa5\x9a\x61\xd4\xc0\x64\x02\x8b\xaa\x63\xc9\xf8\xf9\xa5\x80\xcb\x7a\x1c\x8a\xcb\x3e\xe4\x4d\x92\x19\x09\xc7\xdf\x98\x22\x4e\x1c\xaa\xc7\xb8\x3d\x12\xe4\x87\x01\x5b\x27\x78\xd8\x1c\x35\x30\x2c\xe2\x70\x0c\xce\xde\x9f\xbe\x64\x3f\x86\xe4\x4b\x56\xdf\x43\xb6\xed\x76\xf1\xd0\x2f\x00\x1f\x78\x57\xe9\x52\xf3\x1f\x58\x9e\xb5\xd4\x3b\xb9\x96\x59\xd2\x60\xa9\xb6\xc9\x90\xc9\x34\x0d\x36\x65\x1a\xac\x71\xcb\x39\xd3\xcb\x5d\xd1\x59\xa1\x9a\x46\x28\xe3\x7b\x4f\xe2\xfd\x5b\xdc\xae\xae\xa0\xdd\x30\x1b\xf5\x92\xd5\xca\xd9\x9e\x25\x18\x8e\x5c\x94\xe4\xef\xc6\xa1\xf4\x86\x24\x5b\x62\xb8\xa9\x1a\x8f\xd2\x5b\xaf\x76\x72\x7f\x26\xe1\x77\xb2\x54\x35\xa4\xd9\x52\xd5\x19\x86\x84\xaa\xe4\x44\x8e\x49\xc3\x76\x51\x16\xf0\x1b\xc1\x56\xab\x0c\xe2\x29\x4a\x02\xaf\x97\x1c\xa7\x92\x84\x89\xb8\xea\x72\xc7\x49\x87\xc9\x88\x2a\x25\x6e\xe1\xb0\xda\x0f\x1f\xa9\xa0\x4f\x1e\x2c\xfb\x87\x3a\xa9\xff\x60\xb3\xbb\x56\x00\xe8\x02\x77\xff\xfc\x03\x7b\xe5\x52\xb0\xe3\x8b\x38\xf2\x2c\xc8\x86\xb4\xa2\xd1\x9a\xd6\x09\xe5\xb3\x4c\xe7\x61\x14\xc3\xc4\x12\xb8\x5b\x13\x89\xfc\xb3\xc5\xdf\x6c\xc9\x6c\x7e\x79\xd4\xe6\x22\x89\x8a\xde\x70\xe9\xb8\x2c\x30\xb3\xbc\x46\x0a\x91\x91\x8b\x88\x64\xf6\x4a\xcf\x6a\xb1\x28\x4a\x0b\xee\x6d\xc9\xc1\x92\xb5\x70\x7e\x8a\xb3\x56\x23\x8e\x4d\x8b\x77\x2d\xbb\x9e\x0d\xbd\x91\x8b\xb2\xa1\x3f\x72\xa2\xc6\xb4\x11\xc6\x21\x9e\x3b\xa9\x78\xa5\x12\xb5\xd4\xd7\x94\x11\x6d\x59\xb9\xf6\x4e\xe9\x32\x59\x24\x8d\x53\x6c\x45\x09\x3b\xd5\xa5\x5e\xdb\xd6\xb5\xd2\x84\x12\xc2\x76\x7b\xdb\x58\xca\x71\xf5\x80\x8c\x14\x79\xee\x1a\x89\x58\x17\x6d\xef\x27\x9c\xb0\x3d\xad\xd5\xca\xd9\x08\xab\x24\xb8\x03\xe2\x94\xbf\x20\xcd\x71\xe0\x9d\x88\x8b\xce\x68\xb2\xdb\x75\xf2\x37\xda\xb1\x1d\x78\xdb\xb2\xd9\x9e\x9c\x76\x6a\x35\x20\x74\xba\x43\x48\x1c\xd8\x93\xe9\x75\x76\x42\x5e\x5d\x4b\x0f\x6e\x5d\xaf\xd5\x5d\xbb\x95\x7d\x38\x4b\x26\x1b\x7a\x70\x66\xc4\xd8\xfc\x1b\xe1\xaf\x57\x54\xd7\x3b\xe3\xb2\x6b\xa6\xc4\xf5\x69\x4c\x04\x8b\xcb\xd5\x30\x7c\x0d\x5e\x66\xf0\xdd\xdf\xef\xee\xfd\xce\x19\x86\xbb\x53\x6f\xf7\x68\xe4\x56\x3d\xed\x45\x68\x06\xdf\x9b\x6d\x3d\xe3\x4b\x73\xed\x6e\xfe\xb1\x17\x21\xfc\x70\xdf\xa5\xdc\x75\x03\x0f\x67\xdf\x17\x8e\xfd\xa7\xbd\xec\x47\xfc\x70\xbf\x97\xfd\xb8\xe7\xec\x65\x3f\x3a\x7b\x93\x17\x1f\xb5\xd6\xee\x5e\xf6\x23\x7a\xe5\xf7\x1e\xfd\xfa\xbd\x9d\x4b\xea\x2f\x7b\x7b\x0f\xc8\xfe\xf2\xc5\x76\x91\x1d\xd9\x2e\x6d\x2b\xac\x6a\x2c\xfc\x2d\xad\x39\x27\x5d\x91\x54\x77\x4e\xba\x7b\x8d\xbd\x49\xdd\x3d\xa1\x00\xf7\x2d\x78\x7c\xaf\xc4\xe3\xe4\xef\x8b\xc8\xc9\xab\x98\x7c\xf7\x7d\x3a\x00\x6c\x4d\xa3\x0f\xf9\xe8\xf8\xa8\xbd\x76\xbf\xec\xbd\x9a\x90\xfd\xf8\xfb\xbd\x08\x51\x7d\xbf\xbb\x37\x0c\x77\xff\x36\xa2\x5f\xde\xee\xd1\x97\x6c\x54\xdf\xd3\xf9\xe8\xe1\xfe\x2e\xfd\x67\xdf\x37\x7d\x3f\xc6\xbb\xeb\xa4\x3f\x30\x70\x9a\x9d\x83\x1f\xf9\x0d\x53\x11\x9d\x1b\xcd\x4e\xc7\x75\x8d\xfb\x0a\x11\x15\x63\x7f\x5b\x84\x13\x07\x50\xdb\x5d\xcb\x55\x9e\x39\x81\x1d\x9d\x77\x69\xbb\xdf\xf3\x3b\xd9\x4e\x6c\xda\x4b\xbb\x4e\x1c\xba\xa6\xbb\xec\xc5\x88\xf4\xb9\xa9\x3d\xb7\x46\x2e\x7b\x1f\x96\x86\xfc\x77\xdf\xff\x00\xdf\xef\xd2\xd3\xdb\xdb\xd2\x91\x58\xf1\xc2\xd1\xec\xe7\x88\xb0\x0b\x18\xd5\x69\x3a\x76\x9b\x65\x34\x65\x77\x2d\xf2\xdb\x04\x1d\xdf\x45\xbb\x7e\x10\x0c\x5b\x68\x1f\x1d\x21\xbf\x39\xca\xf7\x91\xe4\x74\x2f\x95\x16\x9d\xda\x1b\xfe\x49\x10\x7e\x2f\x32\x33\xc9\x03\xfc\xbc\x82\xbd\x16\x3f\xd8\xc5\x1b\xf4\x10\x71\xd9\x7b\xb1\xc4\x6f\xc2\x5e\xd5\xa4\xfd\xae\xd3\x14\xb5\xc7\x26\xfb\x1b\x52\x2d\xe4\x2e\xbd\xf9\xe9\x7d\xdf\x19\x62\x94\xa2\x6c\xd4\x98\x87\x0b\xa7\x6a\xcb\x2d\xbf\x37\x11\xd8\x3d\x89\xcd\x20\x20\x27\xd0\xf5\xd9\x9f\xe3\xe3\x76\x17\xde\xbd\x6b\xff\xe8\x90\xdd\xa6\xbb\xe6\x9b\x55\x39\x51\xcb\x14\x95\x9d\xa9\x18\x49\xce\xab\xb9\x53\xf2\xc4\x21\xf9\x7b\x0d\xfc\x5c\x7c\x19\xd8\x93\x4d\x78\xfb\xf9\x4b\x0c\x4e\xf2\x1e\xd4\x59\x1f\xba\xcd\x4a\x20\x03\x39\x2d\xfd\xed\x07\x0e\xd4\x73\x62\x36\x5d\x17\x31\xae\xc5\xe9\x32\x99\x38\x66\xc1\xbd\x66\xe7\x80\x4a\x59\x16\x33\x5d\xe0\x98\x93\x2a\x46\x73\xc0\x55\x37\x46\x36\xe8\xfc\x62\x3d\x12\x1b\x8e\x22\x79\x46\xf3\xde\xfc\xf4\x7e\xcb\xa4\x6a\x9b\xe8\x06\xa0\x84\x01\x46\xc5\xfd\x10\x75\xb5\xc4\xef\xec\x3a\xa9\x93\x3a\xae\xe3\x7a\x54\x8f\xd6\xae\xdb\x33\xc7\x25\xd5\x46\x81\xce\x28\xc7\xae\xab\xde\x92\xa1\x3f\xa2\x1d\xae\xdb\xc8\x32\x92\x9b\xd5\xc9\x2d\x91\xec\xda\x7c\xd6\x49\xd5\x47\x1b\x79\xb6\xfc\xb0\xab\x48\xcd\xc4\x66\x9b\xcd\x90\xb2\xfe\xac\x6e\x52\x0f\xbc\x5e\x96\xdf\x16\x99\xd5\xeb\x2e\x50\x0d\x98\x38\xf4\x8f\x08\xe8\x02\xfa\x33\x8f\xd3\x28\xca\xac\x0f\xfa\xf6\x64\x89\xbc\x9c\x2e\xaa\xc4\x18\x87\xe3\x6f\x7c\x98\x34\x0a\xfd\xce\xae\x2b\x79\xe5\x68\x5d\xf7\x46\x2e\xbb\x27\xde\xa0\x9d\x7b\x7c\x7c\xb8\x32\xc8\xe6\x1e\x1f\x7b\x05\xf1\xb7\x2f\x44\xd4\xf6\xee\xf3\x4b\x55\x41\xf7\xa2\xc3\x10\xf3\xee\xe3\xd7\xbb\xcf\x63\xab\xa2\xbf\x41\x71\x92\xaa\x8d\x9b\x8d\x7c\x2c\x19\xd3\x60\x62\x29\x8e\x1b\x04\x32\xda\xe6\x09\xbc\xca\xe0\xda\x54\xae\x14\x13\xc2\x80\x6b\x9d\xc0\xb0\x35\xea\xfa\xf2\x22\x7f\xba\x96\x3a\x76\x1d\x86\xde\x88\xf3\x1b\x0c\x7d\xf5\xd4\x14\x4f\x84\xf2\x9c\xd6\x56\x06\xa4\x1f\x2f\x66\xe1\x06\x55\x7c\xf3\x08\xd3\x25\x23\x20\xd5\xf2\x07\xeb\xbd\x99\x47\xdf\x4b\x2f\x19\xc8\xed\xc6\xaa\x26\x50\x56\x91\x4c\x5c\x61\x1a\xb5\x7b\xf5\x7a\xc2\x31\x0c\x83\x6c\x98\x8c\x76\xa9\x41\xd3\xa3\x5f\x41\x95\x20\xa2\x00\xb7\x1e\xfe\x88\xd5\xa6\x4d\x25\xce\xa9\x8e\xb3\x6c\xb5\xb8\xee\x99\x83\x4f\x09\x6e\xbb\x7c\x4f\x6d\xe3\x3a\x1c\xe6\x07\xcd\xa5\x9d\x82\xc8\x5a\x19\xb6\x9b\x0b\xf2\x18\xd5\x8a\xc2\xe2\x15\xb1\xb4\x1a\x01\x34\x42\x87\x1d\xfb\x34\x5d\xc6\x93\xe4\x07\x62\xb1\x6e\x50\x53\x08\x5c\x54\x58\xdc\x15\xeb\x55\xf2\x38\xb7\x70\x25\x31\xe8\x9f\xab\x70\x0e\xd9\x49\x45\xda\x10\x46\x5d\x71\xb3\xf2\x65\xfa\x04\xf8\x34\xcc\xc0\x71\xdd\xdf\x50\x41\xae\xaf\x65\x75\xaa\xb0\xd9\xbf\xb6\x96\x42\x17\x33\x92\x8e\xbf\xb1\xcd\xf1\x4f\x61\x0c\x84\x40\x50\x9e\xa9\x43\xfb\x77\x9e\x27\x2f\xc0\x3e\x3d\x55\x57\x61\x9f\x1d\xf5\xf9\x55\xd8\xa7\xed\xbe\x76\x15\x76\x3f\xbf\x0a\xfb\xbd\xba\x0a\xbb\x4f\x9f\x06\xad\xc1\xc1\xe9\xb9\x79\x15\xf6\xd9\xb9\xbc\x0a\xdb\xf3\xde\xf7\x7d\x96\x76\x7e\x7a\x76\xd4\x3e\x17\x57\x61\x9f\xf3\x12\xe7\x4d\xcf\x3b\x7d\x2f\xf2\x75\xde\x0f\x58\x59\xfa\xdf\x29\x4f\x93\x58\xd1\xbf\x9d\x73\xf9\x74\x78\x20\x9f\xfa\x2a\x6d\xa0\xd2\xce\x45\x5a\xe7\x5c\x96\xed\x9c\x77\x54\x9a\x2c\xdb\x39\xef\xab\xb4\x81\x4a\x93\x65\x0f\x0f\x64\xd9\xc3\x83\x8e\x4a\x93\x65\x0f\x0f\xfa\x2a\x6d\xa0\xd2\x64\xd9\xbe\x6a\xb7\xaf\xda\xed\xab\x76\xfb\xaa\xdd\xbe\x6a\xb7\xaf\xda\x1d\xa8\x76\x07\xaa\xdd\x81\x6a\x77\xa0\xda\x1d\xa8\x76\x07\xaa\xdd\x73\xd5\xee\xb9\x6a\xf7\x5c\xb5\x7b\xae\xda\x3d\x57\xed\x9e\x8b\x76\x29\xa5\x78\x59\xfa\xd4\x51\x69\xbc\x2c\x7d\xea\xab\xb4\x81\x4a\x93\x65\x25\x9d\xe9\x53\x47\xa5\xc9\xb2\x92\xce\xf4\x69\xa0\xd2\x64\x59\x49\x67\xfa\xd4\x51\x69\xb2\xac\xa4\x33\x7d\x1a\xa8\x34\x59\xb6\xaf\xda\xed\xab\x76\xfb\xaa\xdd\xbe\x6a\xb7\xaf\xda\xed\xab\x76\x07\xaa\xdd\x81\x6a\x77\xa0\xda\x1d\xa8\x76\x07\xaa\xdd\x81\x6a\xf7\x5c\xb5\x7b\xae\xda\x3d\x57\xed\x9e\xab\x76\xcf\x55\xbb\x92\xce\xb4\xb7\xbc\x2c\x7d\xea\xa8\x34\x5e\x96\x3e\xf5\x55\xda\x40\xa5\xc9\xb2\x92\xce\xf4\xa9\xa3\xd2\x64\x59\x49\x67\xfa\x34\x50\x69\xb2\xac\xa4\x33\x7d\xea\xa8\x34\x59\x56\xd2\x99\x3e\x0d\x54\x9a\x2c\xdb\x57\xed\xf6\x55\xbb\x7d\xd5\x6e\x5f\xb5\xdb\x57\xed\xf6\x55\xbb\x03\xd5\xee\x40\xb5\x3b\x50\xed\x0e\x54\xbb\x03\xd5\xee\x40\xb5\x7b\xae\xda\x3d\x57\xed\x9e\xab\x76\xcf\x55\xbb\xe7\xaa\x5d\x49\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\x3e\x57\xfc\x7c\xae\xf8\xf9\x5c\xf1\xf3\xb9\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\x3e\x57\xfc\x7c\xae\xf8\xf9\x5c\xf1\xf3\xb9\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\x3e\x57\xfc\x7c\xae\xf8\xf9\x5c\xf1\xf3\xb9\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\x3e\x57\xfc\x7c\xae\xf8\xf9\x5c\xf1\xf3\xb9\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\xf6\x0e\xe9\x3f\xfa\xe4\x37\xe9\x3f\xf6\x74\x4a\xff\xd1\xa7\xe6\x3e\xfd\x47\x9f\x5a\x1e\xfd\xc7\x9e\xfa\xf4\x1f\x7d\x6a\xb3\xff\xd8\xd3\x19\xfd\x47\x9f\x3a\x87\xf4\x1f\x7d\x62\x45\x59\x7d\xfb\xa7\xf4\x1f\x7d\x3a\xd8\xa7\xff\x98\xe4\x62\x0d\xb3\xa7\x3e\xfd\x47\x9f\x8e\xda\xf4\x1f\x7b\x3a\xa3\xff\xd8\xcc\x63\x60\xfa\xf4\xbe\x49\xff\xb1\xa7\x53\xfa\x8f\x3e\xb1\x8a\x59\x7d\x03\x8f\xfe\x63\x4f\x7d\xfa\x8f\x3e\x31\xa4\x58\x7d\x4c\xbf\x3a\xb3\x47\x9a\x07\x65\x5c\xa9\x2a\x96\xb4\x48\x54\xa1\x7d\x06\x2f\x61\x1c\x8d\xe1\x3e\x5e\x42\x97\xb9\x06\x9a\x6d\x0f\x59\xcd\xf6\x21\xb2\x9a\x9d\x8e\x6b\xa3\x30\x21\xd1\x5f\x97\xc0\x4e\x66\x8a\x1c\x1d\x9a\xa3\xd5\x41\x56\xd3\x2f\xe6\xf0\x65\x16\x0a\x6d\x1d\xd1\x2c\x47\x85\x2c\x4d\x91\xa5\x45\x9b\x68\xb6\x90\xd5\xf4\xda\x85\x2c\x2d\x91\xc5\xeb\x20\xcb\x3f\x6a\x22\xcb\x3f\xd8\x2f\x64\x69\xf3\x2c\x3e\x6d\xc3\x6f\xf9\xc8\xf2\x9b\x1e\xcd\xf2\xd7\x65\x38\x0f\x71\x94\x08\x5c\xfd\xe6\x01\xeb\x08\x45\xa4\x69\xc0\xfd\xd7\x32\x08\x3c\x7d\x9f\xe2\x49\x91\xf5\x8f\x0e\x8d\x0c\x02\x4b\xdf\x6b\xd2\x3e\x50\x54\x0f\x4c\x14\x04\x8e\xfb\x0c\x45\xfa\xe5\xb3\x5e\xfc\x6d\x89\x0d\x5a\xb3\xc6\x39\xad\x29\xc8\xdf\x02\x93\xb4\x6b\xb6\x05\x4e\xcd\xd6\xa1\x84\x49\x74\x8e\x5a\x02\x9d\xa6\xa7\xca\x29\x6a\xf9\x12\x95\x16\x1d\x96\x7b\x88\x1e\x14\x2a\xb4\x04\xfb\x62\x84\xbc\x8f\xb2\xbf\x2a\x96\x60\x58\x34\x19\x09\xf6\x15\xcc\xdf\x06\x34\x06\xd9\x6f\x21\xcb\x3f\x6c\x29\xa0\x31\xbc\x87\x14\xd8\x39\x54\x40\x63\x60\x9b\x34\x87\x77\x40\x81\x31\x35\x08\x19\xc8\x43\x16\xfd\x9f\x27\x26\xe3\x19\x4c\xc2\x78\x9e\x26\x13\x83\xf5\x54\xff\x73\xce\xe6\xe5\x38\x35\x69\xaa\x5f\x9d\xdc\x34\x92\x19\x7d\x69\x72\xcb\x48\x56\x55\xb7\xf5\x64\x41\xd5\x78\x09\x8f\x51\x1a\x03\x91\x5d\x39\x44\x56\x9b\x8e\x4a\x93\x11\x08\xa7\x4f\x89\x80\xec\x77\x90\xd5\x6e\xd2\x8f\x04\xe8\x54\xdd\x6f\xd3\x8f\x84\xe8\x24\xed\x1c\xd1\x8f\x84\xe8\xf4\xec\xf8\xf4\x23\x21\x3a\x31\x29\x49\x5a\x0c\xed\x25\x8e\x9f\x9f\xd2\x54\x12\xac\x49\x27\xd8\x61\x9b\xa2\x6f\x80\x8d\x01\xf6\x29\xe7\x74\x0c\xb8\x8e\x90\x7f\x74\x80\x2c\xbf\x6d\xc0\x8d\x61\x3e\xf0\xd8\x70\xea\x70\x63\xa4\xfd\x0e\xb2\x0e\x29\x78\x1c\x4e\x80\xe4\x83\x76\xd4\x61\xec\x81\x2c\x7f\xdf\xd3\xa1\x72\xfa\x76\x9a\x92\x6d\x3b\x46\x69\x39\x7b\x29\x75\x9b\xcd\x23\x39\x92\x0a\x2e\x67\x0b\xeb\x3c\x45\x9e\x0f\xa9\x82\x0b\xe4\x18\x77\xb6\xda\x72\x68\xc7\xb3\x10\x13\x0c\xcb\xac\x24\x5e\x3c\x03\x5a\x12\x2e\x26\xb8\x24\x5a\x4c\x70\x49\xb0\x98\xe0\xa2\x58\xe1\xd0\x74\x9c\xc6\xa1\x12\xd1\x3e\x25\x37\x2d\xda\x32\xa0\xfa\x90\x32\xe4\x5a\xfb\x3a\xd8\x18\x51\x8a\x5c\xab\xa5\x83\x8d\x01\x65\xc8\x1d\xe9\x60\x7d\x3c\x19\x72\x0c\x9a\xe2\x30\x2e\xb6\x7a\xe8\x49\x88\x81\x90\xdf\x46\xd6\xe1\xbe\x04\x19\xc8\x78\xfb\x7a\x29\x1d\x91\x23\x9f\xb6\x26\x21\x06\x0e\x74\x62\x1d\x70\x48\x32\x8d\xd3\x27\xc0\x39\x5f\xf9\x1e\xa5\x50\x9b\x31\x86\xcc\x93\x45\xf1\x37\x9d\xe7\xd9\x22\xd8\xf4\x34\xa8\xbf\x1d\x6c\x48\xbd\x56\x53\x31\x95\x00\xeb\x68\x37\x59\xfb\x07\x7a\xd3\xe6\x92\xb6\x2f\x97\xb4\xf1\x73\x98\x28\x21\xa3\x2d\x08\x34\xdd\xdf\x04\xc8\x85\x98\xb6\x4c\x50\x40\x2e\xc6\xb4\x35\x82\x02\x72\x41\xa6\x2d\x10\x93\x10\x7f\x2b\x0a\xd0\x1c\x62\x60\x56\x28\xf5\x90\xc6\x13\x48\xb0\x14\x32\x42\xbe\xd0\x2f\xbf\x98\xc3\xe0\x81\x43\x36\xdf\x8b\x59\x0c\x5e\x38\xa0\x73\xb2\x5d\xcc\x62\x30\x67\x9b\x2d\x1e\xc5\x2c\x06\x81\x3d\x1f\x59\x87\x32\x07\x0e\x9f\xa5\x44\xa6\x30\xf1\xa5\xa0\x00\x5a\x3f\x3d\xb1\xf8\x08\xd0\x96\x82\xdf\x66\xe1\xb7\x48\xf6\xff\x48\xae\x75\x6c\x39\xa3\xe0\x79\xf8\x00\x09\x09\x35\xa4\x0c\xea\xa6\x71\xf4\x08\x5a\xdb\x87\x7c\x2d\x14\x3c\x6d\xe6\x90\x24\x64\x93\x92\xcf\xa5\x66\x29\x93\x94\x3a\x87\x4a\xa1\xf1\xda\xa5\x4c\x52\xf6\xec\x4b\xd9\x73\xe4\x95\xf2\x48\x3a\xfa\x72\xd8\xf7\xe5\x98\xa6\x38\x4c\x1e\x74\xad\xc1\x6f\x6b\xd4\xe2\xd0\x92\x0c\x32\xc1\x25\x19\x64\x82\x4b\x32\xc8\x04\x17\x65\x50\x0e\x1d\xcf\x22\xc9\x8b\x9d\x16\xb2\x98\x0e\x9b\xf7\x9f\x81\xa5\xd4\x66\x22\xa5\x29\xa7\x53\x0e\x97\x04\x3c\xa0\x2b\xb0\x9a\x55\x39\x5c\xd2\xae\xd3\x96\xf5\x9b\xe5\x25\x72\x5e\x1b\x59\xf9\x9a\x42\xe1\x18\x26\x26\x1b\x48\xbc\x33\xa6\xda\x48\x92\x30\x55\x89\x2d\xa4\x72\x74\x33\x08\x35\x16\xf1\xdb\x4c\xd3\xa2\x94\x6b\xb7\x0a\x39\x7c\x5d\x3d\x64\xb4\x3f\x2a\x66\x51\x0c\x22\xc5\x86\x7f\xe8\x15\xb2\xa8\x2e\x76\xa4\xce\xab\x68\x24\xb3\xa8\x5e\x76\xa4\x50\x50\x64\xc8\xe8\x32\x91\xcb\x93\x83\x26\x65\x1d\x9d\x0e\x2c\x43\x3e\x1b\xdb\x07\xc8\x3a\x38\xa2\x9f\x22\x5c\x2d\xff\xbe\x21\xfa\x8c\x3c\x4a\x05\xf0\x0d\x29\x68\xe4\x51\x6a\x80\x6f\x08\x44\x23\x8f\x54\x05\x9a\x25\x21\x27\xb2\xc0\x26\x74\xc9\x12\xff\x75\x99\x46\x19\x68\x42\x77\x9f\x7e\xc9\x0c\x86\x9a\x48\xd7\x13\x8f\xa9\x5a\x14\x0a\xf7\x51\x98\x28\xbe\x68\x52\xfd\x88\xae\x9c\x1c\x06\x8b\x45\x94\x18\x6b\x15\x5b\xcd\x0e\x34\xa0\xbf\x15\x6a\xcc\x32\xfa\x69\xe9\x50\x63\x92\xed\xb3\x79\xa8\x41\x4d\x31\x2a\xd6\x65\x0a\xcc\xbe\x3d\x1b\x8b\x05\x9b\x48\x62\x60\x72\xb0\xff\x0a\x3c\x5f\xba\xd8\x44\x13\x83\x96\xc3\xf3\x15\x8c\x4d\x34\x31\x60\x39\x5c\x5b\xc8\xbc\x7c\x92\x45\x73\x4d\xc8\x73\xe1\xd1\x51\xac\x49\x81\xb0\x09\x98\x4e\x1e\x74\xc5\xa1\xc5\x68\xd9\x56\x88\x2b\xb0\xff\x0a\x5c\x92\xfc\x50\x2c\x84\xa2\x63\x0a\x2e\x89\xce\xd6\xc8\x7d\xd5\x31\x05\x97\x64\xdf\x47\xd6\xc1\xa1\xec\xd7\x34\xc2\x70\x8f\x23\x69\x1a\x31\x8a\xb5\x98\x78\xd1\x81\x3a\x2f\x50\x2e\x6b\x1f\xea\x50\x9d\x17\x28\xe2\x6d\xa3\xac\xce\x0b\x34\x47\xcb\x28\xab\xf3\x42\x93\x22\x4d\xd5\xb7\x69\x4c\x55\x31\xc3\x63\xc0\x66\x28\x73\x2c\x50\x66\x99\xa6\x18\x32\xa2\x09\x2e\x21\x0d\x05\xde\x0f\x61\x94\x64\xf7\x29\x4e\xa5\x81\xe2\x31\x45\x4b\x6a\x5b\x0f\xb3\x34\x23\x7a\xed\x4c\x11\xcb\x3d\x16\x74\xbd\x37\x4c\x17\xa1\x41\xd3\x74\x7f\x13\xc0\x50\xdd\xa8\x6e\x20\x01\xa6\x15\xd3\xca\x01\xa6\xf9\x72\x90\x03\x34\xb5\xa7\xc9\xe6\x16\xb5\xf2\x5a\x4d\x1d\x6a\xac\x81\x54\x22\xb3\xe9\x57\xad\xee\x50\x69\xcc\xc9\x52\xa9\xea\xb0\x9e\x1c\xe9\x60\x73\x7e\xb2\xe9\x4f\xc1\x39\xfb\x1f\xb1\xb9\xc7\xbf\x04\xc4\xd3\x35\x3c\x99\x28\x39\x1a\x59\xf4\x7f\x99\x28\xb2\xf2\xd1\x16\x23\xce\x01\x9e\x31\xda\x4a\x28\x33\xa0\x9f\x73\x3f\xff\x48\x80\xe8\x6b\xcb\x47\x16\xff\x48\x80\xe8\x25\x5d\xf4\xf8\x47\x02\x44\xff\xa8\x86\xcc\x3f\x12\xd0\x11\x80\x43\x8d\x53\x19\x60\x5f\xc8\x67\x1f\x59\xfc\x23\x01\x07\x02\xd0\xe2\x06\x7a\x5b\xb5\x71\x28\x00\xfb\xc8\xe2\x1f\x09\x38\x12\x80\x43\x6d\x26\x69\x8b\x0d\xb5\xc0\x91\x25\x7b\xdd\x14\x14\xe1\x46\xb9\x30\xcc\x19\x40\x90\x83\x69\x0a\xec\x23\x01\xb2\x9e\x7d\x64\xf1\x8f\x04\x08\x72\x70\xcb\x5f\x58\xff\x0c\x20\xcd\x41\x9f\x2f\xa6\xfb\xaa\x0d\x41\x0e\xee\x45\x10\x9e\x04\x06\x10\xe4\xd8\xdf\x47\x16\xff\x48\xc0\x41\x6e\x59\xf2\x8f\x04\x08\x72\x1c\xf8\xc8\xe2\x1f\x09\x10\xe4\x38\x68\x23\x8b\x7f\x04\x40\x60\x7b\x88\xac\x43\xae\x66\xb3\x44\x41\x8e\x03\xba\x4e\xb2\x8f\x04\x08\x72\xf0\xc5\x53\x2c\xa0\x0c\xd0\xcc\xd7\x5e\xfe\x91\x00\xd9\x00\x35\x19\xd9\x47\x02\xe4\x6a\x4d\x17\x4b\xf6\x91\x00\x41\x0e\xaa\x88\xf3\x8f\x04\x08\x72\x1c\x35\x91\xc5\x3f\x12\x20\xc8\x71\xd4\x46\x16\xff\x48\x80\x20\xc7\xd1\x01\xb2\xf8\x47\x02\x04\x39\x8e\x8e\x90\xc5\x3f\x02\xa0\x74\x22\xbe\x62\xfa\x72\x86\xb5\x3d\x09\x68\x0a\x75\xd6\xf7\x64\xf3\x6d\xbf\x7a\x41\x62\x30\xa9\xdb\x50\x7b\x40\x7e\x49\x58\x4b\x57\xcf\xc5\x97\x84\x29\xd5\xbd\xc9\x6c\x04\x69\x28\x30\x58\x47\xc2\x3a\xc2\x1f\xe3\xfb\xaa\xbd\x7d\x09\x3b\x10\xc2\xce\xf7\x55\x7b\x07\x52\x87\x62\x9a\xa9\x27\xed\x56\x06\x3b\x94\xb0\x26\xd3\x5a\xa5\xea\xca\x60\x47\x12\xd6\x91\x9e\xbe\xa6\x6c\x4f\xa2\xc2\xbc\x2f\xf4\x23\xd3\x25\xbd\xa8\xdd\x20\xbf\x24\x4c\xd2\x8b\xad\xc0\xe2\x4b\xc2\x24\xbd\x98\x0a\x2d\xbe\x24\x4c\xd2\xab\xc5\x14\xd6\x8e\xf4\x83\x31\x98\x92\xa5\x6c\xc5\xe5\x5f\x12\x26\x91\x6c\x7b\xc2\xce\xf1\xdb\xaa\xbd\x7d\x5d\x21\x17\x5f\x12\x26\xe9\xd5\x66\xf6\x51\x47\xfa\xcd\x18\xec\x50\xd3\x05\xe5\x97\x84\x49\x7a\x31\x0b\x40\x7c\x09\x98\x6c\x8e\x2d\x08\xc2\x80\x66\xe9\x9e\x66\xf2\xc8\x2f\x09\x53\x3a\x34\xd5\xf0\xc4\x97\x84\x49\x7a\x31\xcf\x9b\xf8\x92\x30\x65\x22\x52\xd5\x5d\x7c\x49\x98\x52\x52\x68\x53\xe2\x4b\xc2\x24\xbd\xa8\xcc\x91\x5f\x12\x26\x3b\xb0\xcf\xd6\x4b\xfe\x25\x61\x92\x5e\x54\xf2\xc8\x2f\x09\x93\xf4\x62\x3e\x01\xf1\x25\x61\x92\x5e\x07\xfb\x6c\x03\x41\xee\x22\x50\x98\xac\x52\x6a\xbf\xb2\xad\x03\x49\x2f\x2a\x85\xe4\x97\x84\x49\x7a\x1d\x52\x14\xc4\x97\x84\x29\xd3\xa9\x2d\x7d\xa9\x4a\x22\x1d\x48\x7a\x1d\x52\x14\xc4\x97\x84\x49\x7a\x71\xf7\x00\xff\x92\x30\x49\x2f\xaa\x25\xcb\x2f\x09\x93\xf4\xa2\x72\x49\x7e\x49\x98\xec\xdc\xd1\x3e\xf3\xc9\x4b\xc7\x3c\x83\x49\x7a\x1d\x31\xff\x1c\xff\x92\xb0\x23\xa9\x56\xf8\x42\x05\x6a\x7a\xb2\xbd\x43\x09\xe2\xb6\x84\x9a\xdf\x87\x72\xc9\xf7\x98\x26\xde\x96\x36\x35\x83\x29\xa7\x04\xf3\xae\xf2\x2f\x09\x93\x1a\x8e\x77\xc4\xcc\x21\x69\x13\x31\x98\x54\x6f\xa8\x78\x92\x5f\x12\xd6\x96\x30\xda\x94\xf8\x92\xb0\x8e\x84\xd1\xa6\xc4\x97\x84\xed\x4b\x18\xdf\x92\x92\xfb\x52\x0c\x76\x20\xd5\x4c\xe6\x2a\xe6\x5f\x12\x26\x3b\xce\x36\x5c\xc4\x97\x84\x49\x7a\x31\x27\xaf\xf8\x12\x30\x09\xa2\xb6\x36\xfb\xc8\x74\x49\x2f\xe6\x91\x16\x5f\x12\x26\xe9\xc5\x1c\x87\xe2\x4b\xc2\x94\x46\xa8\x36\x37\x94\x8c\x3a\x92\xf4\x6a\x1d\x30\x67\xa6\xf4\x68\x32\x98\xa4\x17\xdf\xd4\x53\x0a\x38\x83\x49\x7a\x31\x17\xb9\xf8\x92\x30\x49\xaf\x7c\x57\x48\xc9\xa8\x23\x49\x2f\x6a\xee\xca\x2f\x09\x93\xf4\x62\xba\xbe\xf8\x92\x30\x49\x14\xe6\xb2\x17\x5f\x0c\xa6\xbb\xd7\x94\xb7\x5c\x77\x5a\x94\xd2\x0b\xee\x4d\x95\x5e\xf0\x6e\xaa\xf4\x82\x73\x53\xa5\x3f\x43\x1c\xa7\x4f\x9a\x0c\xe1\x26\x12\xef\x0e\x6c\xd4\x97\xa1\x4a\x5f\x86\x2a\x7d\x19\x36\xe9\xcb\xb0\x4d\x5f\x86\x4d\xfa\x32\x6c\xd2\x97\x61\x93\xbe\x0c\x9b\xf4\x65\xd8\xa4\x2f\xc3\x26\x7d\x19\x36\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x54\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x6c\xd2\x97\x61\x93\xbe\x0c\x9b\xf4\x65\xd8\xa4\x2f\xc3\x26\x7d\x19\x36\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x54\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x6c\xd2\x97\x61\x93\xbe\x0c\x9b\xf4\x65\xd8\xa4\x2f\xc3\x26\x7d\x19\x36\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x6c\xd0\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa0\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x41\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x83\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x06\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x0d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\xa3\xbe\x3c\x4b\x13\x78\x9e\xc0\x93\x8e\x29\x8f\x47\xf0\x34\x68\x39\x8a\xcc\x00\x97\x03\xc9\xd8\x38\x49\x70\x29\x96\x8c\x6f\x16\x4a\x70\x45\x38\x99\xcf\xc0\xa4\xb0\x2d\xc5\x97\xe1\x43\x2f\x07\x9a\x01\x1f\x5e\x01\x5a\x8a\xf9\xf0\xf7\x0f\x72\xa8\x11\xf6\xb1\xcf\xb6\x59\x72\xa0\xee\xf5\xa6\x02\x98\x05\xeb\x45\xc9\xc4\xd8\x45\x63\x25\xa5\xce\xa2\x80\x06\x4e\xac\x55\x6f\x5f\x87\xeb\x58\x29\x35\x45\x41\x75\xac\x0e\x65\x14\x93\x82\x16\xd1\x62\xcb\x42\xf4\x98\xe2\xe7\x92\xf2\xcf\x06\x88\x81\xfc\x2d\x30\x33\xc6\x44\x8d\x1c\x83\x99\x01\x26\x6a\xd8\x18\xcc\x8c\x2e\x51\x63\xa6\xc5\x28\x70\x5e\x69\xa9\x85\x99\x81\xcc\x88\x97\x7d\xb9\x30\x33\x98\x89\x8a\x27\x95\x04\x06\x33\x43\x38\x0f\xa5\x72\xc4\x60\x26\x2a\x54\x0d\xa6\x44\x89\xc3\x47\x48\x26\x80\x65\xa5\x12\x19\x3e\x23\x24\xf4\x3e\x5e\x66\x33\x03\x27\x4f\x4e\x36\x23\x8b\xff\x86\x3c\x66\x24\x6a\x5b\x0a\x17\x23\x8f\xd9\x8f\x16\x0b\x16\x2b\xe6\x29\xc7\xa2\xb2\xfd\x9a\x38\x7c\x4a\xf4\xcd\x79\xd6\x42\x47\x84\x2c\xc4\x30\x4f\x93\xf1\x2c\x9a\x4e\xd5\xf6\x7e\xbe\x49\xc6\xf4\x56\x3d\x87\xff\x7a\x16\x73\x30\x5a\x72\xf5\xd3\xb3\x98\xec\xc1\x14\x91\x62\x2d\x66\x57\x0e\xa4\xbe\x1b\x47\x0f\x33\x2d\x28\x8f\x9b\xca\x6c\x93\x92\xa9\x8c\x0a\xac\x47\x50\xf0\xf0\x5f\x66\xd1\x2a\xb8\x1e\x41\xc1\x63\x7f\x99\x7a\xa8\xe0\x7a\x04\x05\x0b\xfc\x15\xfd\x94\x70\x3d\x82\x42\x4a\x1f\x09\xd7\x23\xcd\x98\x76\xc9\x76\x5a\x9b\xaa\xfe\x3c\x5a\x89\x8f\x75\x6e\x70\x2b\xb0\xff\x0a\xdc\x58\x85\xf3\x88\x02\x05\x57\x9a\x8b\x19\x5e\xa5\xe0\x6d\x5d\xbb\xcf\x43\x09\x18\xbc\xb8\x73\xc8\x99\xd2\x97\x5a\xb9\x99\xc7\x0c\xb3\xde\xaf\xae\xc8\x64\x6f\xaf\xba\x26\x93\xbf\x3d\x63\xc0\xab\x77\x14\xe9\x2a\xcc\x14\x43\x33\x8f\xee\x4a\xd1\x96\x33\x3f\x6f\x52\x6d\x40\xb2\x60\x52\xf9\x95\x83\xb5\x30\x16\xb9\x2a\x71\x09\x2f\xe1\xdb\x8a\x17\x17\x1e\x16\xad\xc1\xa4\x9f\x02\x1b\x62\xfe\x80\xe9\x9c\x1d\x1d\x6e\x2c\x3e\xfb\x4d\xa9\x1b\x2b\xb8\x19\x61\xc6\xc3\x07\x75\xb8\x4e\x25\x16\xb6\xea\x29\xec\x8c\x30\x1e\xd6\xfe\xbe\x0a\xe3\xd1\x32\xf8\xaf\xe6\x30\x70\x64\x51\x6e\x7e\xdb\xcc\x61\x60\x49\xc7\xea\xe8\xd0\xcc\xa0\xa3\x49\x2d\xfe\x7d\x35\x96\x66\x30\x51\xab\x29\x22\x30\x78\x58\x3b\xcf\xa1\x47\x78\xf8\x3c\xc8\x7a\x5f\x89\x68\x2d\x87\xaf\xd9\x12\x4d\xe6\xf6\xca\x67\x92\x19\xe7\xe1\xef\xb7\xe5\x68\xe6\x93\xc9\x0c\xf5\x60\x11\x3c\x6c\x44\xb5\xf9\x64\x46\x7b\x30\x75\xa0\xd9\x32\x26\x42\x21\xda\xc8\x6f\x49\x1b\x5e\xc7\xc5\x0c\x38\xf2\x7d\x15\x7b\xd9\x69\x15\xf2\xc0\xd6\x3c\x04\x20\xd6\x05\xa4\xb4\x25\x9a\xda\x08\xca\x3c\x46\xb4\x5e\xd3\x14\x33\x2a\x93\x11\xad\xe7\x7b\x26\x79\x64\x26\x3d\x5a\x8f\x99\x58\x3a\x81\x64\x26\x23\x5c\xaf\x40\x23\x73\xd6\x2a\x75\xa3\xd9\x36\x33\x94\x15\x92\x62\x8e\xb2\x5a\xe2\x15\x1a\x29\x2b\x27\x87\x9e\x99\xa3\xac\xa2\x08\xe2\xcd\xf5\x38\xc8\x8e\x14\xae\x82\xe9\x12\x48\x74\xa9\x23\x94\x18\xd7\x46\x46\x7c\x25\xf7\x1f\x4b\x52\x0b\x90\xbf\x05\xa6\x77\x48\x51\x5f\xc0\xf4\xae\xa8\xc5\x58\xc0\xf4\x4e\xa8\x78\xce\x79\x88\x53\x39\xff\x19\x6f\xb4\xa9\x2a\xb9\xaf\x20\x3a\x22\x9d\xa6\xb4\xa2\x39\xcc\x08\xcf\x39\x94\x2a\x31\x87\xe9\x88\xb0\x49\xc2\xe4\x25\x87\x19\xa1\x39\x52\x21\x9e\xc3\x24\x5a\xce\x4b\xa7\x64\x0a\x47\x58\x78\xae\xd2\xc9\x09\xde\x4d\x06\x33\xe2\x29\xa9\x8d\x7e\xd8\x91\xe2\x58\xcf\xa0\x2f\xa8\xbe\xa7\xa6\x9e\x9e\x45\x5f\x53\x8f\x3a\x8a\xd0\x5a\x0e\x7d\x55\xcd\x85\x80\x9e\x43\x5f\x57\x3b\x1d\x45\x74\x96\x63\xb1\xc4\x8b\x58\xf6\xb3\x7d\x20\x45\x80\x5f\xcc\xa1\x24\x96\x2f\xbc\x61\x3a\xaa\x3c\x8b\x72\xf2\x30\xd6\xf4\x4d\x5c\x79\x16\xe5\x1b\x3b\x10\xe1\x67\x3a\xb2\x3c\x8b\x94\x58\x2d\xee\x1b\xd6\x71\x35\x05\x30\x5b\x00\x98\x4f\x85\xf9\xf3\x44\x96\x82\x50\x63\xf3\xd9\x6b\x9b\xb8\x64\x0b\x1c\x25\x0f\xc5\x8d\x15\x1e\x31\xa7\x32\x15\x82\x13\x0f\x9a\xca\xb3\x90\xe7\xe1\xf1\x89\x79\x74\xea\x11\xf3\x04\x48\x45\x7f\x1e\x4d\x12\x53\x31\xe4\xc2\x4c\x2a\x11\xf3\x28\x21\x63\x0c\xe1\x5c\x37\x8e\x85\x0a\xcb\xc0\x19\x79\xc6\x69\x56\x3a\x65\xd4\x64\x7e\x4d\x05\x2e\x1d\x34\x2a\xc0\x4b\x67\x8d\xb8\xd2\xa1\xe0\xe5\xe3\x46\xcc\x0f\xa5\xe0\xe5\x13\x47\xcc\xff\x30\x4f\xc7\xe3\x30\x8b\x92\x62\xeb\xbc\x74\x12\x3e\x86\x7f\x49\x4b\x31\x6e\x4d\xa5\x36\x68\x19\xfc\x57\x73\x98\xd1\x67\x07\xd2\x45\xa8\xe5\x30\xc3\xd0\x94\xea\xa8\xe5\x30\xbb\xe1\x0b\xff\x7b\x12\x3e\x3e\xeb\x93\x98\x2b\xc4\x34\xb5\x14\xd7\xcf\x20\x69\x3c\x89\xc3\xb1\xea\x53\x4b\xba\x33\x98\x44\x65\x21\xe0\x13\x1c\xde\x4b\xb1\xc1\x0e\xfd\x34\xc5\xb9\x22\x05\x55\x56\x80\x8c\x46\xdf\x6f\xea\x60\x65\x04\x48\x2d\xba\x73\xa8\x83\x75\x1b\x20\x97\xf3\x0a\x5c\x0a\x2f\x66\xb6\x56\x39\xf0\x7c\x5f\xec\xff\x55\x04\x9d\x9b\x20\x43\xa5\xa2\x8d\xe6\x20\x83\xe8\xad\x96\x0e\x32\x94\x3d\x4f\x87\xe4\xde\x06\xd6\xf5\xa3\x02\xcc\xdf\x06\xd4\x71\xd9\x6f\x17\x80\xc6\x31\xaf\x4e\x01\x68\x9c\xf4\x3a\x90\xc0\x5c\x48\xf3\x48\x44\x2e\xfa\xda\x0a\x66\x90\xa5\xe5\xcb\x99\x69\x4a\x66\x46\x18\xe6\xe7\x63\xb3\xde\x10\xca\x4d\xb5\xd9\xc2\x9d\x9f\xa6\x3c\xa6\xc8\x70\x19\x47\x97\xac\x45\x18\x43\xa5\x95\xc3\x35\x4d\x4f\x66\xd1\x0c\x01\xee\xf5\x62\x47\xcf\x9a\x3a\xd8\xd7\x79\x84\x21\xcf\x04\x9b\x82\x37\xab\x0d\x09\x05\x6f\xe9\x26\x39\xd7\x94\x0d\xb8\xdc\x14\x93\x61\xa9\x87\x12\x5a\x10\x9a\xfe\x41\xc7\xb0\x04\x8d\x2c\xca\xff\x7d\x60\x58\x93\x46\x1e\x35\x17\xda\x9b\xeb\x51\x13\xc2\xb4\x2a\x8d\x3c\x6d\x6d\x21\xd7\x2c\x4b\x9a\xa7\x20\xc3\x99\x37\x97\x6f\x65\xb5\x0f\x8a\x59\x4c\x7e\xf0\xe4\xd6\x81\x91\xc7\x64\x0b\x36\x36\xa5\xa6\x4c\xee\x68\xeb\x1c\xa0\xf2\x14\x99\x84\x19\x6b\x8b\x70\x11\x3e\x87\x4f\xb3\x68\x61\x58\xb8\x6c\xd9\x61\x70\x08\xc7\xb3\xc5\x72\x3a\xd5\xc1\x7c\x4b\xa2\xa3\x83\xfd\x57\xe0\xa6\xc0\x55\xfb\x20\x0a\x6e\x8a\xdb\x8e\xb4\xf5\x14\xdc\x0c\xfe\x3d\x92\xc6\xde\x02\xf0\xb2\x28\x33\xd8\x86\x4e\xd1\x3c\xe5\xbe\x0d\x09\x31\x4f\x40\xf9\xd2\xc9\x54\x36\x4a\x8f\xe4\x46\x49\xd9\x1e\xed\xc8\x3d\xa7\x92\x29\xca\xb0\x63\x90\x78\x29\x97\x62\x36\x6e\xfb\x2c\xa4\xda\x17\x10\x13\x89\x03\xc5\xae\xf1\x72\x6e\x1e\xbf\x52\xca\x06\x05\x99\xb1\xc8\x4a\x4b\xa4\x20\x33\x0e\xb9\xa9\x78\x32\x7d\x9a\x18\x27\xf1\xb8\x8d\xd8\x96\x8b\x8c\xa1\xb0\x51\x14\x99\x6b\xbf\x9d\x83\xd4\xe4\x17\xd1\xec\x02\x4f\x43\x45\xa3\xe4\x68\xe7\x88\x1a\xba\x59\x53\x44\xb2\x0b\x4c\x75\xa5\x8c\x69\xb1\xca\x9d\x62\x4a\x72\x21\xe4\x0b\xb3\x24\x4f\x2d\x18\x0c\x22\xb5\x60\x2a\x88\xd4\x82\x91\xc0\x52\xd3\xec\x59\x3f\x1a\x2c\x4e\xf1\x48\x87\xab\x02\x97\x42\xc7\xb9\x97\x43\xc1\x4b\xb1\xe3\xdc\xcc\x52\xf0\x52\xf0\x38\x3f\xc1\xa3\xe0\xa5\xe8\x71\xbe\x8b\x8e\xd3\xe7\x50\x33\x70\xf7\x95\xd8\x6f\x1a\x50\x3f\x57\x26\xf9\xe9\xd6\x8e\x01\x16\xc8\xed\x1f\x08\xe7\x3f\x1f\x1e\x05\x96\x31\x1b\x87\xc2\x14\x30\x5b\x96\x71\x2c\x47\x7c\x6d\xe4\x63\x94\x85\x93\x49\x0c\x3a\xe1\x8c\xe3\xa7\xa6\xe3\x45\x79\x05\xd9\x12\x58\xe1\x73\x69\x7b\xb2\xbf\x15\xee\x16\x2a\x0f\x99\x11\x55\xe1\x68\xa1\xf2\xf4\x30\xaf\xd4\x90\x6d\xfb\xc8\xea\x1c\x30\x50\x32\xd1\x87\xb8\x49\x19\x94\xb9\x3f\x98\x25\x68\x2a\xff\xed\x7d\xb9\xf4\x1c\x68\x30\x3f\x5f\x97\xc4\xb2\x77\xa4\x41\x05\xb6\x07\xea\x7c\x1f\xdb\x0b\x2f\x1c\xdd\xda\x3f\x50\x4b\x9e\x0e\x6d\x6f\x68\x36\x9b\x41\xac\x9f\xdf\x15\xda\xe0\xa1\x06\xf5\xb7\x83\x4d\x37\xe4\x91\x74\x89\x48\xb0\xe9\x80\x3c\x90\x7e\x6b\x09\x2e\xed\x15\x70\x27\x66\x16\x41\x92\x84\x9a\x90\xa0\x86\x21\xf3\xf0\x73\x48\x69\x21\x63\xeb\x18\x87\x95\x16\x30\xe6\x01\xe3\xb0\xd2\xc2\xc5\x47\x8e\xc1\x8a\x0b\x16\xef\xe5\x06\x8f\x18\xd3\x88\x0b\xce\x30\xcd\x5f\xa6\x41\xa5\xc8\x62\x72\x87\xad\x0b\x7a\xc5\xea\x2c\xf8\xa1\x08\x02\xe0\x93\xc2\xf4\x7e\x31\x67\xa6\xaf\x24\x6c\xd1\x46\xa4\x4d\x1e\x29\xd1\xac\xa0\x0a\x2d\xba\x16\xf8\xea\x28\x96\x82\x2b\xc4\x58\x98\x8d\x72\xd6\x2b\x78\x4b\xd3\xc4\x0f\x8f\x4a\xd5\x4b\xdc\x28\x81\x3d\x03\x35\xdd\xdf\xd6\x94\x53\x92\x29\x68\xa5\xf3\x7d\x47\x87\x86\xff\xb0\x74\xb6\xef\xb0\x63\x38\x0f\x4b\xe7\xfa\x98\xa9\x9e\x3b\x0d\x8a\x67\xfa\x38\x59\x73\x9f\x58\xc9\xd5\x57\x40\x2f\x29\xf8\xca\xd4\xf6\x14\x85\x94\x37\x69\x14\xa8\xb4\x39\xc3\x55\x69\x0a\x2a\x6d\xca\x70\x45\x9a\x82\xca\x9b\x31\x4c\x8b\xaa\xb6\xee\x3b\x32\xb6\x47\x03\xfb\xaf\xc0\x0b\x61\x94\xfc\x98\x9f\x06\x2f\x84\x53\xf2\x58\x2b\x0d\x5e\x08\xab\x64\xf1\x6f\x05\x4f\xe8\x81\x0a\x2e\x62\xcb\x50\xd1\x07\x7a\x74\x24\xe2\x3f\xc4\xf8\x16\xbc\x9f\xfc\xdd\x2f\xf9\x9c\x28\xf8\x3d\x99\x1d\xdc\x56\x4b\x79\xd1\xe3\xc9\x76\x91\x3c\xc5\x7b\x44\xed\xff\x88\x7d\x67\xb9\xd1\x49\xc2\xa4\x64\x1f\x1e\x88\x12\x25\xeb\x90\xe9\x89\x24\x4c\x4a\xb6\xe1\xbe\x00\x14\x2d\x43\xb6\x7c\x93\x59\x94\x91\x58\xbd\x9d\x61\x5f\x1e\x7e\x64\x6f\x84\x11\x40\xd3\x4d\xa0\xec\x05\x01\x35\xbd\x1c\x6a\xed\x14\x50\xd3\xc7\xa1\x1c\xc1\x02\x6a\xba\x06\x14\xb7\x93\x74\x1e\x92\x54\x6b\xf5\xe8\x48\x08\x4a\x0e\xf1\x37\x83\x8c\x2d\xf1\xa6\x10\xa1\x1c\xa4\xa3\x42\x07\x88\x49\x50\x0e\x32\x36\xc3\xdb\x42\x82\x16\x4c\xaa\x7d\x15\x39\xe2\x19\x50\x8d\x97\xf3\xd7\x7d\x14\xed\x28\xcf\x78\xd9\x47\xd1\x82\xf2\x8c\x57\x7d\x14\x6d\x27\xcf\x78\xd3\x87\x7e\x32\x37\x5f\xfe\x79\xbd\x45\x8b\x8a\x0a\x11\x66\xc3\x32\x21\x51\x69\x4c\x31\x07\x3d\x13\x07\x95\x76\x14\x8b\x18\x6b\x1b\x60\xc3\xda\x57\x41\x82\x95\xd6\x13\xc5\x9a\x45\x7a\x3e\xcd\x20\x94\x38\xb7\x73\x67\xd3\x91\x04\x99\xdb\x86\xbe\x8c\xac\x62\x30\x93\xbf\x58\xf4\x57\x5b\xc2\x4c\xee\xda\x97\x5d\x61\x30\x93\xb7\xf6\xa5\x94\x28\x9f\xfe\x54\x83\xc6\x40\xd9\x3c\xfd\x56\x7e\xf5\x10\x5b\xc1\xab\xf7\x24\x3c\x05\x29\x6d\x46\xe4\xa0\xd2\x2e\x44\x0e\x2a\x6d\x3f\xe4\xa0\xd2\xbe\x43\x0e\x32\x9c\x11\xba\x43\x6a\x8d\xa2\xc6\x94\xdf\xbc\x30\x6d\x8c\x31\x84\x04\xce\x92\xe5\xbc\xea\x9d\xb4\x09\x3c\x59\xe2\x5d\xd0\xfc\x65\xc9\x53\xf9\xc2\xd8\x3f\x86\xc6\x55\x85\xda\x2d\x24\xda\x3b\x65\xff\xbd\xc3\xde\xd3\xff\xa3\xfb\xc5\x71\x86\x7f\xfa\xe2\x8e\xea\xee\x17\x77\xef\x21\xd2\x5f\x07\x8e\x51\xca\x5e\xe6\x9b\x5f\x35\x31\x4c\x47\xfc\x2e\x10\xfb\x73\xf2\x2d\x49\x9f\x12\xeb\x31\xc4\x51\x78\x1f\x43\xd7\xb2\xeb\x69\x8f\xbf\x6e\x9b\x88\x3b\x6d\x30\x7f\x6d\xae\x81\x58\x43\xd6\x9f\xb9\x59\xb0\x11\x36\xc4\x23\x47\x5c\x77\x63\xb1\xcb\xc2\xcd\x46\x21\x1b\x87\x0b\xb0\x64\x76\xda\xb6\xba\x22\x3a\x5b\x97\xa9\x91\x57\x1c\xbc\x40\x32\x4e\x27\xf0\xf9\xe6\xa2\xab\x9e\x90\x7a\x3a\x4d\xe7\x8b\x34\x81\x84\x74\xcb\x49\x88\xb7\xfa\xe1\xee\xe3\x65\xb7\xfc\x16\xea\x17\xfb\xd8\xee\xda\xb5\x98\xf4\x6c\x64\xbf\xa3\x8f\x0f\xec\xb1\x46\x1f\xc3\xf9\xa2\x67\xa3\x1f\xec\x1f\xba\x76\xed\xaf\xcb\x94\x01\x7e\xa0\x80\xdf\xb5\x8e\x7a\xf6\xba\x57\x1e\x9e\xe1\xf1\xbb\xda\x17\xfb\xcb\x0f\xa3\xbd\x07\x54\x75\xeb\xe4\x10\x46\x6b\x7e\xb1\xf7\xb4\xf1\x00\xa4\x3f\x1e\xc3\x82\x5c\x86\xc9\xc3\x32\x7c\x00\xf3\xa2\xca\xea\x2c\x8d\xf1\x0c\xa7\x73\xb8\x5d\x2e\x16\x29\x26\x30\x71\xdc\x13\x9e\xd2\x88\xfc\xc3\xa4\xa2\x80\x03\x6e\x57\xbb\xb0\x45\xbb\x82\x06\x9c\x61\x12\x3e\x46\x0f\x21\x49\x71\x23\x16\xf9\xf3\xae\xec\xee\x3d\x20\xfb\xab\xed\x8e\xdc\x35\xbb\xe4\xe5\x6d\xf8\xe8\x77\xdc\x88\x4e\xf3\x6b\x81\x44\xc6\x5a\x4d\x43\x97\x57\xca\xde\x70\xfd\x4f\x4b\xc0\xcf\x81\x79\x35\xa6\xfe\x8e\xea\x13\xdb\x15\x6f\xc0\x57\xb7\x31\xb8\xf9\x4d\x46\x74\xea\xb1\x8b\x13\xf8\x75\x44\x35\xdb\x45\x51\xe0\xf5\xa2\xe3\xfc\xde\x57\x79\x85\x53\x1a\xb0\x0b\x5f\x45\xce\xc0\x76\x7b\x64\x38\x81\x22\xd3\x38\xe9\xd0\x1b\xb9\xa3\xa0\x12\xe2\x8f\xd4\x2b\xb8\x89\xa2\xcb\xe7\x9b\xcb\xaa\xe9\x9e\x43\x37\x8f\x9c\xb8\xa4\x48\xe4\xa3\x03\x06\x7a\xb5\xbf\x99\xc4\xa2\xde\xe2\x6f\x51\xad\x10\x56\x71\x38\x5f\x94\xde\x6b\x2e\x19\xfb\x98\x9c\x90\x2e\xbc\xc3\x27\x58\xa2\xf4\xb7\x45\x58\x7d\xf3\x4d\x2e\xd4\xd4\x0d\x3f\x0e\x41\xb6\x67\xe7\xac\xf3\x33\x13\xf5\x8b\x70\x0c\xa5\xf7\x91\x1f\x07\x9e\x78\x43\xb8\x6d\x8b\xeb\x0a\xd8\x35\x3a\x46\x29\x7e\xf7\x7c\xe3\x49\x25\xb0\xbb\x3e\xf3\x9f\x81\x6d\xa9\xff\x6c\xb7\x07\xef\x74\xa0\x64\x04\x57\x4f\xac\x07\xfa\x2f\xf5\xd2\x7f\xbd\x98\xba\x8b\x43\x4a\x6b\x76\xff\x52\xe5\x6b\xe6\xc9\x6a\xd5\x81\x16\xbb\xea\x80\xf5\xf7\x96\x84\xe3\x6f\x8e\xaf\x5e\x35\x5f\xb8\x8c\x8b\x04\xd5\xf3\x92\xdf\xb1\x66\x67\x8c\x9e\x76\xa0\x6e\x73\x3a\x89\xba\xc0\xde\x77\xde\x8b\x82\xe8\xc4\xa6\xd2\x33\xea\xda\x36\x32\x6e\xd1\xb2\xe3\xe8\x5e\x22\xd9\xb5\x08\xaf\xdd\x82\xef\x8b\x88\x6a\x28\x54\xe0\xee\xf9\xd0\xaa\xdb\x99\x5d\x8f\x5c\x55\x34\x4e\x1f\x9c\xd4\x45\x24\xe0\xaf\x1e\xc7\x74\xfa\x54\x30\x73\x99\xf1\x48\xad\xe6\x8c\x63\x08\xb1\xec\x07\x91\xb5\xb8\x08\xc4\x0d\x68\xf4\x17\xca\xef\x25\x5e\x4b\xb9\x59\xd9\xc3\x88\xae\x8a\x4e\xce\x33\x8c\x86\xe5\xdb\x03\xe8\x6c\x3f\x81\x7a\xb3\xdb\xdc\x7e\x83\x1c\xa9\xba\x3d\x6e\x9d\x5f\x33\xfc\xb2\x46\x69\x80\x7b\xe9\x31\x29\xdc\x2c\xbc\x8b\x47\x6c\x3d\xdc\x74\xad\x9c\xba\x75\x85\x63\x9a\xcd\x43\x4c\xce\xe3\x34\xc5\x83\xe8\x31\x9a\x14\xef\x70\x16\x57\xdc\xec\x11\x14\xf1\x77\xfb\x8f\x21\x8a\x1d\x9c\xd7\xb2\x8b\x8f\x7d\xd8\x6d\x9f\x44\x5d\x06\x9e\xd2\x9a\xc4\xf5\x03\xd3\x06\x0e\x93\x49\x3a\xbf\x48\x36\xdc\x51\xa6\x95\xe0\xf7\x06\xb0\xec\x8e\xfb\xa3\x43\x76\xa1\xee\xbb\x6e\x9d\xcd\xdd\x8f\x90\x65\xe1\x03\x7c\x0c\x93\xf0\x01\x70\xf9\xaa\x6a\xb9\x02\x64\x5f\xd9\xab\xfc\xab\xef\x8b\x29\x2f\x0f\x6b\x7e\x2b\x4e\xa1\x0a\x75\x35\x8e\x0d\x09\x95\xdc\x45\xf0\x32\xe1\xd7\x00\x30\x30\xbf\x70\x7a\xce\xf1\xcb\x82\x97\x75\x19\x5d\xed\xf6\xad\x70\x32\xf9\x28\xb3\x56\x5e\x45\x4d\xb5\x97\xfc\xf2\xc0\x21\x19\xf5\x70\x83\x21\x3d\x4b\xe3\x09\xe0\xec\xc4\x68\x6e\x48\x46\x01\x96\xbf\xb4\x77\xf7\xff\x9e\x2b\x5a\xc3\x3f\x7d\xc9\xbe\xfc\x9e\x6a\x59\xbf\x37\xb4\x2c\xed\xc2\x15\x8b\xb6\x61\xb4\x30\x8c\xcc\x5b\x04\x46\x8d\x71\x9a\x10\x48\xc8\xda\xed\x6e\x6e\x7c\x7b\xb7\xa7\x51\x32\xe9\x27\x93\xcb\x34\xac\xea\x7e\xe1\xa2\x70\xba\x7c\x9e\x50\x39\x24\x2e\x5b\xe8\x66\xf9\x33\x92\x97\x68\x9f\x24\x8e\xdb\x25\x4e\x8a\x32\x7e\x07\x53\x54\x1a\xc4\x71\x9a\x8c\x43\x5a\x24\x0d\x86\x23\x94\xd1\xaf\xa4\x74\xb1\x7f\xac\x61\xc4\x2f\xf4\x16\x44\xbc\x81\x29\x60\x48\xc6\x54\x07\x41\x91\x8b\x70\xe3\x3e\x4a\x26\xfc\xae\xee\x1d\xaf\xf0\xdb\x77\xdd\x75\xfe\xdb\xed\x25\x5c\x06\x6c\x24\x47\xbc\x89\x0e\x74\xf9\xe2\xbd\xa1\xe2\xe0\x9f\x3f\x5e\x7e\x20\x64\x71\x03\x7f\x5d\x42\x46\x7a\x51\x23\x4d\x68\x49\x48\x8c\x55\xb4\xe9\x79\x01\x25\x10\x09\xc9\x32\x3b\xe1\x9d\xd0\xd8\xcc\xf9\x8f\xb7\xd7\x57\x5c\x4d\x71\xa2\x06\x86\x6c\x91\x26\x19\xdc\xc1\x77\xe2\xba\x88\x38\xae\xdb\xc5\xb5\x1a\x76\x64\x05\x46\x47\x50\xd4\x48\x17\x90\x38\xf6\x4f\x67\x77\x36\x02\xfa\x3b\x83\x64\x52\xd9\xbb\x12\xdd\x5e\xb5\x06\xbe\xfc\xde\xf9\x32\xa9\xbb\x86\xb2\xa9\xad\xdf\xfc\xd6\xf5\xf5\x76\x4a\x96\x5b\x7d\x1d\xb1\x6d\xf5\x3d\x00\xa9\x1e\x10\x79\xdd\x8f\x65\x4c\x01\x57\xb0\x9d\x9a\x12\x30\x52\xf6\x83\xa1\xd6\x30\x8d\xb1\x56\x73\xa2\xa0\xa0\xf0\x0a\x4c\x1c\x70\x5d\xb4\x13\xb9\x85\xbb\x44\xf8\xaa\x28\x2d\x10\xd1\x8a\xb8\x4b\x44\x19\x48\xf8\x04\xba\x58\xbf\x9b\xaa\x74\x2d\x0f\x55\x35\x82\x21\xbb\xf5\xb1\x9a\xc5\x23\x44\x5c\xb7\x1b\x6d\x25\xf5\x02\xa7\x63\xc8\xb2\x0b\xff\x30\xe9\x13\x7e\x9f\xf2\x26\x21\x16\x40\xe3\xaf\x54\x25\xbe\x85\x18\xc6\x24\xc5\xfd\x38\x76\xec\x21\xed\xf2\xc8\x76\x11\xbf\x1b\x88\x18\x37\xec\x53\xb4\xaa\x1a\x70\xc8\x10\x8f\xb6\xb3\x40\x55\xb1\xca\x1b\x7b\xa8\xfe\xaf\xea\xb5\x29\x36\xb6\xb8\xde\xe5\x85\x2d\xc3\x81\x36\x53\x88\x2b\x96\x61\xec\x8a\xf5\xb9\x78\xbd\x4b\x98\xfc\x40\x2c\x96\x99\x0e\x47\x83\x84\x0f\x57\xe1\x1c\xea\xf6\xef\xe8\xaf\x68\x52\x67\x2a\x0e\x71\x11\x56\x0b\x36\xb3\x4c\x89\x9c\xe0\x18\xa5\x01\xed\x5c\x2f\x35\x4c\x85\x80\x99\x0a\x0c\x14\xa4\xb9\xb9\x30\x72\x91\x99\xef\xf7\x22\xdf\xdb\xd6\xb9\x06\x49\x3f\x2f\x16\x52\xa2\xaf\x9d\x02\x31\xb4\x86\xdc\xba\xfd\xd5\xae\x63\x71\xef\x56\xa6\x14\x59\x27\x75\x7b\xf6\x57\x3b\x08\xa2\x13\x68\x10\xf8\x4e\x4e\xf9\xa2\x10\x64\x5d\x60\xf7\x17\xa9\xca\x22\x2a\x92\xd9\x72\xf0\x09\x4b\x0e\x2b\xaf\xdb\x54\x24\xb0\xba\x33\x92\xe2\xf0\x01\x02\x40\xfa\xcf\xeb\x7b\x76\x4b\x3c\xfe\xca\x11\x48\x93\x5b\x9e\x7e\x3a\x0b\x93\x07\xf8\xaa\xcb\x28\x96\x21\xca\xfa\x63\x12\x3d\xc2\xd7\x60\xc7\xe7\x29\x21\xfd\x1d\x12\x70\x44\x0e\x82\xa9\x92\xbd\xe3\xf7\x94\xba\x6b\xef\xd9\x3d\xdc\x80\x64\x22\x48\xba\x67\xbb\xab\x95\x83\xeb\x01\x7d\x42\x82\x25\x61\x1a\x7d\x0f\x70\xfe\xeb\x06\xc6\x29\x9e\xf0\xcb\x82\x39\x6d\xd8\x7d\xbc\x12\x5f\x7e\x63\x30\x03\x8c\x67\x51\x3c\x39\x0f\x29\xff\xcb\xdb\x85\xf3\xf4\xcb\x28\x23\x2c\xad\x92\x4e\x1a\x77\x0f\xce\xce\xfb\x9f\x2f\xef\xbe\xfe\xb1\x7f\xf9\xf9\x2c\x30\x3d\x34\x8e\x2d\xa0\xd4\x62\xac\xa8\x85\xe3\x5a\x45\x74\xaa\x88\x4b\x8a\x4f\x60\x1a\x2e\x63\xf2\xc7\x30\x5e\x42\x40\x04\x8e\x4b\x8c\x21\x91\x69\x34\xc5\xc0\x83\x67\x4a\x65\x9f\x83\xe1\xa8\xba\x1b\x1c\x81\x2d\xbd\x79\x73\xcf\xdf\x56\x7d\x38\x99\xc8\x81\x28\xab\x88\x0a\x5d\x7e\x75\x13\xb7\x88\xde\x50\x29\x86\x79\xfa\x08\x95\xf5\x6a\xb6\x5e\x5e\xbb\xba\x57\xd1\xed\x91\x77\x81\x27\xd4\xc7\x1c\x2e\x2e\x0e\x24\xc8\x7f\x2b\x06\xc6\xa2\x94\xaf\x8f\xa5\x81\x0a\x2a\x86\xea\x64\xef\x4f\x0e\x37\x55\x56\xc9\x72\x7e\x0f\xd8\xfd\xfd\x1e\xbf\x05\x4d\xd8\x2d\x25\x1e\x70\x4f\x4a\x49\x5d\x9b\xdf\xa9\x9d\x5b\x3b\xa5\x2c\x27\x9a\xf0\x64\x8f\xbc\xd1\x68\xfa\xec\x94\x5b\x10\x8a\xa4\xd1\x44\xa9\x3b\xaf\xcd\x8c\x09\xc8\x29\x5e\xb8\x9a\x78\xc7\x94\x08\xe5\x7b\x84\xaf\x52\x62\xc9\xb2\x13\xdb\xed\x6d\x90\x20\x42\x14\x15\x18\xc0\xa9\x14\x53\x1b\x86\x52\x63\xcd\x6a\x5c\x5f\x43\xb5\x2f\x2e\x31\xdf\x86\xae\x67\xa2\xab\x4d\x82\xdf\x88\x2b\x6d\x52\xc8\xdb\x4d\xf7\x0f\xba\x2f\x5e\x10\xec\xee\xe2\x5a\x0d\x6a\x35\xba\xa4\x88\x4b\xff\x50\x14\x5c\x33\x56\x69\x7c\x83\x67\xa1\x51\xeb\x62\xd3\xdd\x64\x9c\x69\xe2\xb6\x0e\xba\x0e\x2a\xfa\xcb\xc4\x77\xad\xa6\xdb\xfc\x76\xde\x87\xcc\xa2\x38\xb3\x15\x37\xaf\xc7\x35\xe9\xf2\x00\xe4\x82\xc0\x9c\x2a\x3b\xaa\xfd\x48\xba\xd5\xb4\x62\x52\x2f\x51\x37\x39\x32\x87\xb2\x2b\x6e\x40\x8f\x86\xd9\x08\x85\x41\x26\x57\xcc\xd4\x45\x71\x10\x2a\xc5\x50\x13\xee\xb5\x5a\x61\x1e\x24\xee\x4e\x50\x35\x35\x74\xfa\x0c\xc3\x91\x31\x09\x44\xef\xb7\x65\x09\x12\x14\xd7\x6a\x0e\xae\xd7\x45\x7f\x9f\x93\xf1\xa9\x44\xc3\x09\xa9\x66\xb7\xf6\x82\x80\x0f\x95\xe6\xb4\x01\x43\xd5\x7f\x95\x29\x26\x30\x8d\x12\xc8\x73\x54\xaa\xc9\x1a\x21\x15\xba\x30\xea\xa5\x27\x82\x38\x74\xf1\x1e\xf0\x59\xcf\x56\xa3\x6e\x75\x01\x66\xfd\x6c\x16\x8d\xac\x28\xc2\xb5\x5a\x6a\x30\x3b\xfe\xd5\x7d\xd8\xa4\xbe\x7a\x3d\x92\xdf\x5d\x49\xa4\x7e\x5a\x2c\xed\x50\xd3\x79\xe8\x8d\x10\xfb\xeb\x8b\xbf\xcd\xd1\x1b\xd1\x60\x63\x84\x21\xa9\x5a\x9f\xcb\x4d\x21\xa9\x56\xa4\x89\x1a\xdc\x92\x32\x84\xa8\x15\x51\xa5\x7c\x50\x9a\x92\x92\xfa\x41\x53\x5f\xd7\x40\x34\x12\x17\x6d\x3a\x6a\x13\xd5\x6a\x6f\xbb\xbc\xfd\x42\xdc\xd8\xbe\x08\x71\x38\xef\x5a\x5c\x6d\xca\xb8\x06\x0e\x62\x91\x2c\xea\x52\x72\xa5\x46\xc4\x2d\x2a\xd1\xec\x36\x7e\xac\xe6\x9d\x21\x63\xca\x8d\x4b\x0b\x6a\xa1\xfa\xc9\xbc\x89\x55\xb3\x0b\x8f\x4c\x09\xca\xec\x8f\xd7\x68\x94\xa4\x24\x9a\x3e\xf7\xe3\x58\x17\xef\x12\x65\xa8\xc6\x92\x2b\x62\xac\xa0\x18\xc8\x8d\x3a\x49\xb1\x21\x91\x7f\x93\x2e\x52\x9c\x7e\x6c\x4d\x7c\x2b\x51\x20\xdf\x99\xc0\x01\x61\xaa\xbf\xdc\x8f\xa8\x1e\x23\x6d\x8f\xa2\x32\xc3\x30\x1a\x31\xbb\x9e\x55\x2b\x2a\xd2\xd4\x21\xbd\x78\x9e\x4c\x0b\x61\xc4\x35\xd4\x57\x89\xc2\x35\x62\x36\x2d\xaa\xa5\x12\xd2\xec\x18\x60\x1c\x87\x19\x07\xa5\x01\x46\xbb\xfe\x4e\x90\x2b\x6d\x69\x05\xf3\x0c\x96\x54\x63\x0b\x09\x58\x6c\xee\x30\x22\x71\xf3\x2e\x75\xd9\x1d\xa2\x16\xed\x59\x6f\x27\x5d\xad\x8a\x95\xf5\x5c\xee\x4f\x57\x4e\x50\xc7\x47\xfb\x9d\x4e\xab\x53\xb8\x54\x97\xe7\x62\xb7\xf4\xa6\xa8\xed\x22\xc2\x6d\xc0\xba\xdd\xa5\x8d\xf4\xf8\xd2\xb3\x61\x62\xf3\x99\x9f\xdf\x8b\x9c\x08\x53\x27\x5f\x36\x51\xd2\xc0\xc0\xee\x98\x8d\x1d\xb7\x4a\x0a\x0c\xd3\x51\x90\x20\xa1\x18\xa7\x72\xdd\xa4\xc4\x42\x99\x8b\x92\xd7\xf5\x05\xaa\x20\x95\xe9\x2f\x84\xd9\x03\x10\x06\x63\x49\x1a\x26\xd2\x12\xcb\x47\x06\x45\x01\x56\xd4\x23\x6e\x8f\x92\x33\xa2\x6b\x9b\x54\x9a\x23\xe4\x1b\xd8\x61\xd7\x45\x13\x88\x81\x40\x69\xf9\xa5\xdd\x22\x1b\xec\x12\x43\xb5\xae\xe6\x1b\x26\x5f\xa0\x6a\x5d\xdf\x22\x5e\x58\x2e\x2b\x8e\x32\x22\x66\x92\xe6\x99\x34\x51\x63\x73\x92\x79\x6a\xac\xc8\x35\xf7\xbb\x71\xa9\xfe\x1f\x64\xfd\xf6\x0f\x75\xa8\xff\x60\x4b\x3e\xfc\xa1\x9e\x5f\xa0\x8e\xd5\xbd\xba\x1b\x7b\x3d\x89\xa6\x53\xb5\x76\x94\xfc\xaf\x6a\xce\xbf\x84\x93\x09\x4c\xba\x2f\x6b\xc4\xc7\x95\x3d\x8e\xd3\xf9\x3c\x4d\xba\x6c\xb5\x60\x53\x18\xf4\x89\x4b\xc7\x89\xe4\x86\xcf\x30\x1a\xb9\x27\xb8\xc1\xcb\x0c\xe9\xcf\x51\xb0\xe3\x75\x71\x83\xd5\xac\x12\x0c\x81\xa0\x8b\x81\x61\x34\x8a\x12\x4b\x64\x5f\xad\xd4\x6f\x5e\x21\xb5\xd1\x05\xcb\x4d\x86\x44\xd4\xa5\xd1\xe1\x95\x11\x37\xd4\xa3\x8d\x44\xf0\x50\x6a\x30\x66\x56\x56\x6b\xcd\x01\x75\x51\x12\x38\xaf\x53\x9d\x39\xac\x91\xe7\xf6\x92\xe3\x54\xf6\x39\x91\xbb\xbb\x61\x90\x0e\x93\x11\x8a\x35\x11\x12\x32\x69\x15\x33\x3b\x52\x99\x8e\x31\x9d\x05\x3b\x55\x0c\x1f\x8e\x78\x4d\xb3\xed\xc2\x82\xd7\xba\x33\x73\x5f\x8a\x8e\xc6\xf0\x3e\x06\x8b\xa4\x16\x06\xaa\x36\x97\x25\x5e\xe8\xf6\xc6\x69\x42\xa2\x64\x09\xeb\x59\x59\xd0\x54\xe3\x14\xcc\x10\xd5\x4e\x67\xba\x61\xa1\xef\x19\x4a\x53\x82\xd4\x6a\xc4\x71\xd7\xee\x9a\xb9\xcc\xf8\x45\xd3\x99\x4e\xa5\x2d\x53\x3d\x1b\x26\xa3\x51\x6f\x87\xd7\xa2\x69\xb9\xe4\x0d\xd6\x4e\x66\x38\x7d\xff\xae\x4b\x69\x85\x21\x49\x8d\x10\xc7\x30\x77\x5c\x44\x0c\x8d\x7e\xa7\xca\x90\xaf\xd5\x1c\xf2\x36\xbf\x4c\x51\xa7\x78\x1b\x05\x0a\xca\x0b\x53\x5c\x82\xe1\xa8\x67\xec\x4c\x95\x64\xe1\x8b\x26\xc3\xf5\x11\x21\x79\xc1\x88\x16\xc4\x2e\x0b\x5c\xc8\x85\xbf\xf2\x8a\xa6\x5b\xb4\x23\x83\xfa\xe9\xe8\x6d\x44\x7a\xad\x60\x15\xdd\x40\x2e\x7d\xd2\xed\xf9\x8f\x31\x62\xcb\x8c\x90\x39\x99\x8b\xa0\x31\x4d\xf1\x59\x38\x9e\x39\xe5\xf1\xfb\x55\x26\x5a\x34\x9d\x56\xef\xba\x48\xb5\x5c\x29\xe8\x64\xb5\xda\xd9\xfb\x93\xb3\x4c\xb8\xa5\x31\x59\xdd\xa7\x69\x0c\x61\x22\x9c\x44\x2b\x6e\xa2\x16\x7d\x45\xe0\xae\x56\x8c\xf0\xaf\x6a\x64\xba\xa5\x57\x1d\x6e\xb0\x69\x76\x95\x97\xbf\x57\x66\x17\xed\xb5\x83\x0d\x67\x12\x22\x2e\xd3\x1a\x5e\xf7\x8e\x15\x0a\x4a\x23\xa9\x34\x85\xba\xc5\x7c\xaf\x2b\xa5\x3a\x09\xb6\x6e\xf6\x56\xd8\xc6\x84\xd9\x92\xaf\xb6\x91\xc1\x3f\x90\xb8\x62\x9b\x82\x5b\x00\x1a\xa9\x23\x4e\xdd\x2d\xb4\x3f\x29\x92\x9e\x98\x9e\x98\x8c\x7b\x62\x4c\x21\xc8\x76\xa0\x4a\x05\x37\x88\xb8\x57\x25\xaa\x8b\xf4\x35\x60\xcb\xac\x42\x40\x97\xe3\x57\x29\xfd\xf0\x8f\x5b\x22\x54\xdc\x0e\x23\xf4\x6b\x88\xc0\xf7\x45\x8a\x49\x3f\xfb\x8f\x59\x9a\x94\xe5\xf5\xcb\xba\x42\x5e\x1b\xa2\x2b\x9a\x3a\x1b\x24\x39\xe5\x38\x5d\xe0\x6b\x9a\x39\x79\x2d\x22\xad\xc7\xa3\x08\xa8\x0c\x7d\x89\x26\xdd\x14\xfd\x25\x4b\x93\xae\xa9\xfd\x13\x94\xba\x06\xfa\x7c\xa9\xa7\x06\xd4\x8b\xb6\xd7\x64\x90\x93\x8c\x7a\x59\x41\xea\x57\x0a\x7d\x86\xbb\x99\x53\x45\xb9\xbd\xea\x48\x8e\xe6\x14\xa7\x73\x9c\xce\x4d\xa2\x96\x67\xea\x46\xe2\xe5\x34\xa3\x98\xbc\x16\xbe\x17\x4d\xa4\x41\x6a\x2e\x99\xc3\x74\xd4\xcb\x56\x2b\x47\x02\x73\xb3\xd6\x21\x88\x05\x22\xa5\x94\xb1\x0b\x08\x3b\xac\x4e\x4a\x70\x61\x8d\x2a\xfb\xe8\x8d\x52\xa4\xec\x51\x2a\x6f\x9e\x98\x4e\xc5\xd7\xfd\x14\xc5\x0d\xbb\x57\xa8\xba\xa3\xcd\xde\xd5\xca\x0b\x02\xd2\x88\xc3\x8c\x5c\x48\x53\x30\x87\xd2\xc9\x2a\xa5\x9c\xf4\xc1\x96\x9d\xb7\xae\x8a\x04\x2e\xcf\x80\x17\xcd\x28\x2b\x78\x7e\x50\xca\xc6\xaf\x91\xc0\x13\x97\x65\x59\x10\x19\x4c\xd5\xcb\x82\x20\x88\x4a\xec\x97\x05\xdc\x7a\x13\xb6\x29\x93\x8a\xd4\x24\xaf\xd5\x1c\xb3\x7c\xa0\xac\xbc\x74\xb5\xa2\x23\x4a\x9f\x4e\x0a\x15\x76\xd3\xaa\x45\x08\xbb\x62\x57\x15\x43\x96\x2e\xf1\x18\x82\x17\xf9\x94\x7d\xe5\x86\x99\x02\x51\xcb\xa9\x6c\xd1\xe6\xe0\xbc\x20\x73\x01\xd2\x11\xeb\x12\x94\x84\x73\xe8\x02\x9a\x84\x24\xec\x62\xb3\xbe\x62\x58\x84\x6e\x1f\x57\xd6\x5b\xb0\x69\x49\x21\x96\x5a\x66\x64\x22\x50\x49\x40\x65\xc2\x6e\xc0\xb4\x88\xd2\x20\x24\xe1\xff\x0b\xd0\x6a\x50\x8a\x55\xe1\xf6\x19\xc7\x95\xcb\xb3\x99\x93\x41\x64\x54\x21\x23\xbe\x5d\xc7\x0d\x3a\x26\x75\x1b\xd1\x47\x59\xbd\xdc\x92\xa1\x8b\x0a\xd7\x4f\xf3\xc4\xc6\x29\x0b\x2b\xa9\x98\xb8\x1c\xfe\x55\xee\xf6\xa6\xc6\x46\xb5\x08\x46\x91\xcb\x29\x95\x04\x94\xdb\x26\x94\x81\xe8\x4c\x87\x44\x6e\x22\x29\x50\x49\x23\x35\x31\x28\xc8\x15\x5e\xa4\x3c\x48\x66\xc3\x54\x7a\x07\x06\xba\x9a\x44\x65\xc1\x22\x26\xea\xa5\xd0\x91\x1c\x34\xc4\x23\x21\x9e\x36\xe2\xf5\xb6\x5d\xe2\xaf\xfa\x36\xf1\xc6\xba\x7e\xe5\xe6\xf0\x57\x7d\x77\x98\x79\x4d\x8a\xdb\xc3\x5f\x8b\xfb\xc3\x1b\x9b\x66\x91\xab\x9b\x07\x9c\xc3\x1d\x17\x15\x76\x7d\x44\x38\xfc\xc6\x6a\xc5\x36\xd9\x96\x50\x8d\xaf\x8a\x6b\xdf\x52\x51\xd1\xd1\xf4\x1b\x6a\xca\x2a\x50\xca\x23\xe5\x5e\xd6\xbd\x48\xdb\xdf\x50\x55\xd3\x15\x30\x42\xf8\x4d\x55\x6f\x47\x32\x7b\x0b\x92\xb9\x2a\xba\xb5\x2e\x9e\xed\xd7\x54\xb7\x1d\xb7\x0d\xf5\x5d\xa6\xe3\x30\x2e\x45\x3b\xa6\xe5\x28\x15\x25\x1f\x44\xb8\x5a\x4c\x0b\x8a\x5a\x90\x48\x0b\x27\x93\xb3\x47\x48\x88\x92\x08\xb6\x28\x65\xcb\x2d\xa9\x5b\x89\xce\x06\xd9\xc0\xd0\xa9\x52\x0f\xbe\x96\x82\xe9\x25\x46\x7d\x0c\x61\x51\x28\xa8\x50\xae\x34\x9e\x94\xa2\x0e\xf2\x54\xb7\x9b\x3f\xb3\x93\x15\x72\x3d\x37\xb3\xcb\x54\x9a\x5d\xad\xf8\x92\x9f\xa8\xe9\x3f\x0a\x5e\x64\x35\x74\x79\x14\x59\xba\x38\x57\xb2\xd3\xc0\xeb\xa5\x9b\xa4\x53\x5a\x21\x9d\xd2\x91\x13\xf1\xed\xa4\x4d\xa4\xf9\x57\x48\xa7\x62\x55\xff\x76\xc2\xa9\xd8\xf2\xdf\x47\x36\x15\x6b\xad\x16\x4d\x9a\xad\xa2\x8b\x15\x66\x14\xf2\xcd\x9e\x52\xac\x3e\x76\x09\x7e\x7e\xc1\x7a\xc0\x1f\x76\xf3\xb8\xfb\xb5\x6e\x3b\x72\x96\x66\xda\x37\x76\xdf\x86\xe0\x16\xdf\xfa\x1a\x45\x81\x74\x9d\xef\xfa\xbd\xe8\x1d\xb5\x14\x76\x77\xa5\x79\x00\xc3\x68\x24\x6d\x83\x52\x67\xd2\xea\xce\x64\xbc\x33\xc3\x74\xa4\xf7\x27\xd3\xfa\xc3\x60\x19\x37\x0e\x40\xdf\x4a\xf9\xcd\x1d\xdd\x24\x91\x4b\x72\x93\x8f\x02\x2a\x86\x3d\xb8\x6c\xfb\x5e\x6b\x1d\xbf\xad\xc1\x8d\x94\xd5\x3c\x29\xa5\xe6\x71\xb1\x79\x18\xe2\x91\xeb\xf6\x0a\x8e\xe2\x57\x30\xf8\x55\xf2\x5d\x30\x1f\xfa\xad\x4d\x6c\xe6\x20\xaa\x0d\x41\x49\xff\xa9\x6c\x9e\xf6\xf2\x95\x4e\x7e\x84\x79\xaa\x9f\x5c\x7b\xc3\x3a\xf1\xb2\x2e\x57\xf0\xf7\x11\x5f\xa5\xba\xfe\xed\xe4\x57\xa9\xe9\xb2\x00\x93\x47\xf5\x7a\x66\x24\x82\xb1\x3e\x91\x21\x36\xd6\x0c\x1d\x48\xcd\x4b\xb5\x84\x70\x0b\x64\xdd\x2b\x92\x16\x55\x1f\xaa\x52\x91\x04\x81\xd7\x83\x4d\xcb\x0d\x54\x2c\x37\x30\x72\x88\x19\xd1\xef\xbd\x26\x74\x4b\xa4\x78\xb3\xd4\x15\xce\xaf\x7f\x98\xb4\xdd\x84\xd9\xdf\x57\xdc\x8a\x63\xc4\xff\x8f\x88\xd9\x52\x0f\xb7\x6b\xbe\x25\xea\x17\x13\x4a\xe1\x66\xdc\xab\x9b\x52\x36\x4e\x99\xe9\xaf\x78\x35\xca\x99\x93\xfc\x23\xd8\x30\x2d\xb1\xe1\xf6\x05\x60\x13\x29\x8a\x83\x2d\x07\xda\xdc\x6e\x02\xb6\xdd\xb4\x71\x2a\x46\xda\x54\xa4\x3c\xb0\x46\x45\x78\x91\x72\x6c\x4f\xbb\xf7\xf7\x27\x0b\x36\x83\xf0\x5e\x59\x30\x36\x48\xc8\x8a\xe9\xa9\xef\x94\x6a\x0c\xf1\xdb\xeb\xff\x15\x2b\x52\x75\xdb\x43\x3c\x1a\x6d\x58\x8d\xee\x20\x23\x9b\x4f\xf6\xa5\x0f\x01\xac\x56\x3c\x22\x50\xcb\xd9\xb8\x4c\x1f\x0a\x85\x4b\x21\x41\x14\x76\xb3\x4c\x36\xbd\xc9\xc0\x2c\x2c\x32\xcb\x5d\x81\xcd\x75\xa7\x89\xc8\x7a\x9a\xce\x17\xb4\xab\x46\xfd\x9b\xcb\x11\xc8\xc8\x27\x0c\xe1\xfc\x3e\x2e\x1e\xb1\x7c\xa5\x50\x9a\x91\xb7\x94\xba\x4c\x1f\xb4\x1c\x81\xd8\xdb\x97\x1a\x4a\xf8\x08\x2a\xb4\x79\x12\x92\x30\xb0\x6d\xfd\x90\xc3\xd7\xc2\x6f\x76\x76\xf5\x6b\x20\x82\x8b\x45\x5d\x5f\x03\x40\x43\x3b\x4e\x1f\x6c\x64\x4f\xe0\x7e\x49\xff\x46\xc9\x34\xb5\x91\xfd\x14\xe2\xc4\x46\x36\x3b\x1e\x63\x8f\xd4\x8e\x26\x04\xef\x5e\x62\x20\x16\x09\x6c\xbb\x97\x3d\x45\x42\x56\x8e\xc3\x0c\x44\x0d\x5d\xf6\xcc\x8a\xf3\x47\x5e\x45\x97\xda\x79\xc6\xb1\x15\x16\x81\xb0\xa6\x98\x10\xb5\xe5\x2c\xd0\x92\xc2\x8f\xf9\x01\x0a\x80\xc0\x71\x1a\x8d\x06\xb8\xc1\xbb\x9c\x10\x6a\xff\x2a\x24\x61\x5d\x0f\xfe\xfd\x5a\x27\x75\x68\xfc\x25\x8d\x12\xc7\xb6\x6c\xb7\xce\x8e\xdc\x22\x2c\x0e\x03\x1b\x55\x53\x1e\x71\xd7\x2e\x1a\xda\x0f\x38\x5d\x2e\x6c\xc4\xff\x9e\xa6\x71\x1c\x2e\x32\x98\x14\x88\xc0\xf1\x26\xbf\x0a\x6f\x08\x6c\x9b\xe1\xcd\x74\xc9\x37\x20\x0f\x02\x61\x73\x5c\x2d\xcb\x6e\x60\x58\x40\x48\x9c\x7a\xbd\x34\xc4\xac\x17\xbd\x4a\xf4\x1a\xac\x47\x67\xc9\x84\xaf\x2c\xf2\xd7\x86\x4c\x81\xe3\x70\x64\xb7\xb4\xbf\xbb\x5b\xd9\x7e\x81\x91\x6f\x97\x11\xd9\x18\x7a\x9e\x1b\x1a\x24\x2f\xf2\x55\xb9\x7f\x68\xd1\x2b\xed\x78\x4b\x06\x64\xb9\xa0\x72\x56\xed\xb3\x19\x59\xa8\xc2\x4a\x9b\x0e\x2a\x30\x90\x30\x44\x1a\x93\x28\x0b\xef\x63\xd8\x98\x53\x83\x23\xb6\x93\xb7\x31\xa7\x80\xe5\xb9\x58\x1c\xd2\x96\x9c\x14\x8e\x08\xeb\x2c\x7d\xe4\x2a\xb9\xe8\xfb\x82\x1f\x2b\xca\xe5\x85\x0c\x5c\xe0\xf2\xcf\xa9\xaa\x56\xe5\x65\x61\x27\x74\xd8\xf1\x72\x4c\x52\x5c\x85\x43\xd5\xb8\x34\xb2\xe5\xfd\x38\x0e\xb3\x0c\x44\xc0\x20\x71\x11\xa9\x1c\x41\x2d\x27\x45\x7a\x0b\x85\x2b\xe2\x8a\x95\x76\x2d\x7b\x2a\x7c\xf5\x79\x34\x26\x05\x58\x6c\xd3\x82\xb9\xeb\xf9\x6a\x54\x2d\xd7\x85\x50\x47\x44\x9e\x26\x10\x75\xd2\x69\x26\x0e\x77\x29\xfa\xf2\x4e\xe1\x6a\xa6\x34\x18\xe1\xdf\x0e\x69\xe3\xd8\xc3\x80\xa3\x30\x61\x75\xb1\x38\xe6\xc6\x74\x19\xc7\x94\xa3\x37\x20\x2d\xf9\x71\x53\xc8\x8a\x46\x8e\xad\x15\x98\x21\x73\xe5\x3a\x18\xfd\xaa\x6b\x30\x14\xb9\x8a\xa8\x88\x92\x35\x4f\x98\xba\x44\x0d\x2a\x6e\xdc\x9f\x50\x0d\xa2\x4b\x2d\xac\x37\x34\xb0\x5c\x6c\x5d\x93\x8b\x25\x16\x6f\x5b\x95\x4b\xc5\xde\xb8\x2e\x97\x98\x25\x77\x95\xd0\x1a\x4f\xe9\x14\x91\xe2\x8a\x92\x91\xc9\x26\x21\xcf\xe4\xc8\xb2\x77\xc7\x08\xb9\x55\xb7\x87\x76\x9d\xd4\xed\x91\x9d\x97\x39\x17\xd5\x7f\x0d\x70\x55\xf3\xba\x4e\x57\x50\x88\xf8\x2b\x28\x8a\xd5\x88\x15\x4f\xb4\x8a\x86\x80\xb8\x2e\x72\xb3\x4c\x1a\xe3\xef\x23\x69\xf6\x70\xbe\x37\x4e\x1c\x9b\x8d\xdf\x40\xb6\x8c\x09\x4b\x92\xea\x92\x38\xe4\xdc\xa3\xa4\x8c\x12\x12\x27\x8e\x4d\xc1\x16\x0e\xa3\x0c\x26\x56\x98\x58\xf0\x7d\x0c\x0b\x22\x5e\xb2\x44\xc5\x0b\x7f\x0d\x06\x0b\x81\x63\x4f\xa5\x13\xce\x27\x79\x65\x22\x8b\x58\xc4\xe9\x72\xe8\x76\x4b\x50\xd7\x45\xd0\x18\x0b\x84\x68\xeb\x5f\x1d\x68\x9c\xf7\x2f\x2e\xcf\x06\x68\xc7\xe7\x1e\xda\x0a\xe5\xb0\xca\xf5\xa3\xad\x42\x72\x10\x99\xce\x4a\xbf\x85\xf2\xf4\x3d\x20\xab\x95\x3c\xff\x39\x0d\xa3\x78\x89\xb9\x48\xe4\x8b\xa1\x92\x90\x42\x65\x0e\x31\x19\x84\x04\xd8\x9b\x48\x84\xbe\xb6\xc4\x21\x6d\x56\x4b\x12\xdb\xca\x9c\xbe\x5a\xfa\x3c\xfc\x7e\x2e\x5b\xf0\x64\x03\x49\x34\x56\xba\x1f\xc5\xf7\x9f\x96\xb0\x84\xaf\xe2\xdc\x66\x45\x3f\x35\x76\xe9\x5f\x5e\x7e\xbd\x3b\xbb\xbd\xbb\x2d\x1d\x3e\x3d\x0e\xe3\x78\x97\xd6\x96\xbd\x63\x07\x50\xb7\xd7\x93\xb1\xb3\xe0\x25\x31\x54\x40\x49\xf7\x0b\xbd\xa5\xbe\xa2\xa6\x60\x9a\x26\x64\xb5\x62\xf5\xab\x3e\xa0\x88\x45\xf6\x1a\x02\xcd\x71\x51\x16\x78\xbd\x2c\x0f\xc8\xcd\x64\xbc\x46\x12\xa4\xc3\x8c\xbf\x55\x4c\x86\x1b\xaa\xaa\x5c\x11\x61\xa0\xf8\xf0\x06\x1e\xce\xbe\x2f\xf8\x16\x34\xe6\x61\x73\x89\x9a\xce\xae\xab\xc2\x66\xe5\xfb\x01\x72\xe0\x4e\x80\x15\x58\xd8\xf0\x8a\x58\x4e\xe2\xa2\xa8\x5e\x5f\xeb\x6f\x6c\x79\x0b\x61\x3e\x85\x84\x00\xde\x10\xcd\x12\x78\xe2\x10\xfe\x2b\xcb\xbb\xee\x66\x14\x9a\xa6\x46\xf6\x4a\xed\x22\x2f\x3d\xc4\x23\xa4\x85\x37\x89\xa1\x88\xd3\x07\x11\x6c\x7c\x95\xb2\x05\x2c\xb3\xe6\x54\x92\xc0\xff\xcd\xde\xbb\x6d\xc7\xad\x23\x89\x82\x0f\xf3\x30\x6f\xf3\x38\x2f\xf5\x30\x14\xba\x2b\x4d\x96\x90\x69\x92\x79\x63\x32\x4d\xab\x65\x59\xda\xdb\xed\x9b\x4a\x92\xed\xea\x4a\x69\xfb\x50\x99\x48\x89\x6d\x26\x99\x4d\x22\x75\xd9\x96\xaa\xd7\x9a\xbf\x38\x6b\xcd\x17\x9c\x7f\x98\x35\xff\x72\x7e\x60\x7e\x61\x56\x04\x00\xde\x33\x25\x79\xef\x7d\xd6\x3c\x1c\x57\xed\x14\x08\x06\x02\x81\x40\x20\x22\x00\x02\x81\x99\x26\x50\x83\x93\x37\x4d\x02\xce\x92\xc0\x97\x91\x0e\x6a\xde\x45\xbd\xd1\x71\xf4\x29\x9a\xfa\xab\x8b\x4b\xbe\xaf\x74\xc7\xd7\xa6\x3d\xfd\xa6\xe7\xb1\x3c\xbc\x8b\x2a\xa3\x85\xc1\xf9\x43\x5a\x8b\x18\xe2\x78\x47\xa1\xb8\x88\x98\xe1\x6a\x38\x80\x67\xc4\x90\x8a\x6d\xcb\x1c\xab\x93\x9d\xa5\x41\xda\x6a\xb1\x2d\x2f\xaf\x53\x9e\x55\x2c\x81\x74\xd8\xcd\x92\x4d\x39\x9b\xe1\xa6\x31\x19\xf2\x20\xdb\xb2\x42\x66\x2b\x5c\x93\x1a\x37\x9c\x00\x96\xe5\x05\x49\x72\x97\x54\xf9\xd5\xe1\xfe\x87\xd7\x6f\x3e\xfc\x84\x41\x28\x88\x3f\xe7\x2c\x51\x13\x05\xe8\x13\xa6\x76\xa9\x49\xea\x32\x15\xac\x91\xed\x60\x9b\x08\xbf\x05\xa6\x67\x6e\x33\xe1\xf0\x3e\x77\x43\xaa\x78\xd9\x36\xa1\x1a\xda\x2c\x97\x6c\x27\x46\x83\x06\xab\x28\xe3\x06\x80\x5c\x3b\xd3\x2d\x6b\x9d\x82\xde\x34\x4d\x2f\x7f\x6b\x64\x32\x54\x4a\xae\x5a\xd9\xb5\x06\x6a\xb7\x5d\xd6\xc2\x79\x53\xd4\x3c\x47\x2f\x34\x0f\x26\xbf\x7a\x41\x8b\xcb\x21\xb3\x4d\xa4\x50\x50\xc5\x2d\xa5\xf5\x73\x00\xc8\x29\x00\x2c\xd2\x93\xf8\x98\x4d\xe3\x68\x96\x7e\x2d\x53\xa6\xce\xf4\xa5\xab\xc5\xc2\x4f\x82\x5f\x99\x6e\xa8\x2f\xb3\x71\x84\xfc\x2d\xa8\xff\x82\x35\xaa\x73\x40\xae\x32\xb9\xd5\xbd\x91\x75\x56\x95\xd6\xea\xe8\x56\x6d\x9d\xa6\x91\xdf\xa2\xa3\x1a\x57\x45\x4a\x4e\x86\xc2\x51\x5a\xdb\xd0\xd5\xe9\x81\x1b\x30\xcd\xa9\x70\xb5\x6a\x2f\xf9\x4d\x61\xc1\xb5\x2e\xbc\x6a\xf8\x14\xc4\x37\x88\xb4\x0c\x0d\xc8\xae\x2e\x63\x6a\xed\xc8\xbf\x6e\x76\x66\x52\x9a\x49\xf3\x5e\x7e\x86\x16\x23\x89\x75\x0e\x77\x8f\x8f\xf7\x5f\xef\x54\x45\x5a\x05\xcc\x71\x59\xd6\x53\x2f\xfb\xa6\x3a\xef\x9f\xeb\xb9\xe3\x30\xbe\x16\xc3\x87\xc7\xf1\xb7\xc6\xee\x66\xb5\xbe\xae\xc8\x9b\xaa\x0c\xb4\x97\x18\x07\x46\x59\xaa\xb2\x83\x92\x85\x71\x23\x6c\x23\x88\x06\xc6\xa4\xf9\xde\xd8\x2c\xa3\xa8\x4b\x4a\xbc\xcc\xb6\x44\xad\x42\xae\x29\x55\x87\xa1\x4e\x8a\x43\x5d\x1c\x0b\xc9\x98\x51\xe6\xe4\xb8\x38\x32\x94\x65\xc7\xbc\x64\x15\x7d\x60\x37\x5c\x0c\xf6\x27\x08\xd7\x11\x6b\x10\xaf\xcc\x15\x2b\xd0\xff\x0e\xcf\xeb\x49\x58\x6d\x1e\x27\xd9\x6c\xa9\xb1\x01\xbc\x74\x1a\x4d\x52\x5c\xf8\x9c\x94\xe0\x09\x9c\xd2\x48\x97\x0b\xfc\x49\x76\x24\xad\xda\x19\x8f\x68\x56\x91\x0d\x4d\x91\x01\x90\x91\x77\x77\x5b\x55\x2f\x49\xee\x72\x2c\xf6\x5d\x7d\x0c\xeb\x46\x66\x87\x0a\x4e\xa1\x94\xcf\x8a\x3e\x7a\xe9\x55\xe1\xd6\x09\xc6\x7b\xff\x26\x58\xac\x16\x9a\x44\xa0\x4d\xe3\x55\xc4\xb5\x84\xf9\x60\xc3\xa9\xe6\x9f\xc7\x09\x0f\xa2\x0b\x21\xf1\xc9\x2a\xea\x28\x2b\xd3\x48\xa0\x58\x37\xaf\x34\x6f\x62\x9e\x51\xde\x60\xc2\x76\x9a\x0c\x1e\x08\xb9\x8b\x42\x8e\x3a\xa6\xd5\x2a\x4d\x46\x58\x61\x8a\x75\x77\xa7\xf3\xc2\xe8\x6c\x52\xe7\x98\xa7\x17\x0b\xe5\xb3\x2e\x8c\x0d\xc8\xae\x4b\x28\xf5\xaa\x4e\xcb\x74\x58\xf1\xbb\x50\x33\x23\x33\x47\x45\x13\x66\x5d\xc3\x79\xeb\xe3\x54\x94\x08\xfe\xb4\x96\xad\xf7\x99\xba\x2d\x36\x2a\xf3\x45\x1b\x27\x10\xb5\x25\x08\xf1\x42\x2c\x42\x70\xaa\x4a\xd5\xf4\xb7\x9c\x3a\x37\x58\xec\x5c\x9f\xf3\x6c\x86\xbd\x19\xac\x22\xe5\x32\xe6\xdb\x83\x9c\x6c\xd4\xfb\x92\xa9\x28\x86\xaa\xf6\xcd\xcc\x6d\x12\x8a\x27\x33\xbc\x2c\x9d\xc9\x2a\xd2\x9f\x6a\xb0\x8a\x84\x27\xab\xe8\x91\x36\xeb\x51\xba\xa6\x21\xfc\x9d\x74\x61\xc8\xd1\x2a\x8a\xa0\x5a\x69\x9e\x6a\xba\x46\xba\x80\x7a\x6a\x90\x9a\xf7\x21\xd9\x52\xf7\xc0\x6b\x61\x9a\x0a\x73\x5b\xe9\x6d\xd1\x1f\x32\x07\x45\xeb\xd9\xb0\xaa\xa5\xb3\xe7\x16\xeb\x1a\x1d\x1e\x1f\x04\x37\x6c\xa6\xdb\xc6\x36\x49\xc9\x23\xa6\x4e\xca\xc3\x6a\xd2\xc5\x15\x8d\x69\x34\x7c\xf6\xab\x80\xe4\x1f\xfd\x0a\x7d\x2e\xcc\xb7\x5b\xf5\x0b\x27\xec\xac\xe2\x43\x8f\x9b\x3b\xa2\xe6\x5f\x9c\x48\x41\xd1\x82\x48\xd9\x3b\xf7\x11\xdd\xa8\x5d\xb3\x84\x69\x51\xac\x94\x74\x95\x3b\x52\x2f\x34\x2e\x5b\xc9\x85\xa0\x6c\x89\x1d\x1d\x0d\x9e\x8f\x5f\xb5\xa6\xfa\xc8\xa5\x0c\xe9\xdb\x60\x5a\xce\x52\xc4\x8b\xc6\xd9\x90\x0c\xf3\xda\xb8\xcc\x94\x77\xa5\xc4\xe3\x91\x25\x8b\x66\x30\x69\x7a\xa8\x80\xe8\x17\x4f\xf6\xcf\x83\xe0\xc2\x7b\xf2\x88\x9c\xfb\x35\x83\x17\xe7\x8f\xf5\x55\x0f\xe1\x5a\x79\x6c\x4d\x5b\x8a\x85\x8b\x1f\x04\x65\xdc\x80\xfa\x3a\x2c\x79\xc4\x2c\x36\x93\x8c\xa4\x61\xda\x06\x93\xb4\xdc\xd1\x2b\x82\x89\xdc\x07\x99\xde\xa4\x62\xd6\x0d\x79\xac\x39\x91\xdf\x5b\x8d\xa2\x20\x6c\x95\x24\x41\xae\x1b\xc8\x60\xc0\x5f\xc1\x88\xa3\xe2\x2b\x2d\x1d\xce\x82\x99\x10\x65\x61\x20\x7c\xed\xca\x0f\x57\x4c\xf3\xa3\x59\xe1\x15\x46\xd1\xd4\x16\x71\xc2\x30\xb4\x70\xe6\x98\x34\xcc\x3c\xf3\xb9\xe6\x9a\x71\x51\x3e\x91\xc5\xa6\xbc\x28\xa2\xf5\xae\x6e\x16\xe4\x75\x3d\x5f\x9a\xc3\xca\x76\xd7\xf8\xaa\x18\x52\x1f\x47\x25\xf6\xe5\x27\x62\x8b\xfc\x82\xc2\x33\x2d\x5e\xf1\xdf\x8b\x09\x92\xbb\x40\x6d\xc3\xf2\x9e\x24\xb5\xd5\x2a\x47\x5b\x2e\xbe\x53\xd6\x5f\xb5\xaa\x61\x8a\x2a\x5f\x15\x8d\x4a\x7d\xa1\xb0\x46\x59\xa9\x61\xf5\x4f\x36\x6b\x19\xf7\xa4\xe5\x01\x89\xa0\x20\xda\x60\x58\xaa\x33\x62\x35\xfd\x6e\x04\xca\x67\x36\xd9\xb9\xc4\x2c\xec\xb4\x54\xde\x2f\xec\xbb\xbb\xe2\xc9\xc2\x07\xd5\x86\xa8\xf0\x41\x16\xf9\x49\xe2\xdf\xee\xff\xb5\x81\x3b\x5b\x0c\x26\x1f\x6a\x5d\x8b\xb5\x5a\x5b\x1c\xe3\xf5\x48\x82\xb6\x3c\x5e\x9e\x8a\x6c\x59\xe3\x35\x1b\x43\xb6\xb7\x13\x03\x4a\x4e\x92\xb3\x2d\x8c\x7b\x99\x97\x50\xab\x66\x0f\xd3\x99\xa6\x2c\xe1\xfb\x7f\xad\x19\xa5\xec\xeb\x70\x20\x77\x91\x13\x71\x8c\xb9\x10\x9d\x5b\x4d\x67\x98\x0c\xd0\x9e\x07\x7c\x2f\xc4\xd6\x5e\x77\xae\xbb\xba\x19\xc8\xb8\x2f\x1c\xdb\x94\x13\x28\x6b\x07\x50\x6c\xf3\xc2\x77\x07\xb7\xf8\x80\xab\x0a\x5b\x9e\xc7\x5b\xad\xad\x86\x10\xad\xd2\xac\xab\xae\xc0\x1e\x30\xb2\x53\x83\x3b\x64\x42\xb6\x93\x6d\x72\x46\x5c\x42\xc6\x99\xe3\xa0\x13\xc5\x12\xb2\x1d\xcb\x89\xec\xa5\x3c\x73\xe9\x87\x21\x4b\xde\xc5\x53\x94\xde\xaf\xba\x25\xb6\x4f\x6c\x03\x87\xb6\x89\xb6\xe5\x79\xf8\xc0\x8d\xfa\xb7\x8e\x35\x7c\x6f\x90\x0e\x73\xcb\xf3\xb2\x60\xd5\x7c\x27\xfb\x2c\xd5\x48\x24\x36\xe0\x31\x24\x66\x5d\xf3\x08\xd2\xea\x68\x1a\x96\x9d\x9a\xc2\xab\x27\x6a\x47\x67\x52\x0f\xb1\x3e\x61\xdb\xf6\x59\x07\x97\xa5\xf5\xe7\xfa\xe4\x97\xe7\x67\xdb\xee\xe9\x6c\xdb\x80\x9f\x53\x63\xe7\x9f\x9f\xe7\xbd\xbf\xc3\x27\xd6\x99\x4b\x76\x76\x76\xc8\xc3\xc4\x4a\x1d\xdc\xfc\xfd\x03\x74\x41\xe6\x8e\x3f\x42\xaf\x01\x6b\x4b\x98\xaa\xda\x42\x4a\x94\x52\xfc\xec\x61\x45\x5f\x5f\xe5\xab\x37\xc1\x4f\xd3\x9a\x29\x6a\x40\x29\xdc\x23\x85\xf2\xd3\xc9\x81\xf3\x1a\x2f\xa3\x48\x6a\x85\xcf\x6f\x39\x4b\xdf\xb1\x39\xcf\xb7\x1a\xcd\xd8\x61\x1c\x44\x59\x46\x18\x5f\xb3\xe4\x55\xbc\x8a\x66\x9e\x59\xc1\x56\x0a\xaa\x06\x39\x6b\xbe\x77\x10\x42\x1b\x36\xaa\xc9\x65\x75\x3c\xab\x9f\xec\xc5\x33\xb6\xcb\xf5\x04\x17\x4d\x4c\x69\x0b\x32\xe2\x8c\xe0\x85\x67\xd9\xc3\x1d\xbe\x2d\xc1\x11\xd4\xb5\x46\xf6\x0b\x2f\x68\xb5\x82\x17\x9e\x6d\x77\x77\xf4\x4a\x03\x82\xb6\x35\xb2\x69\xa5\x99\x56\xad\x55\x96\xed\x18\xae\x6d\xf7\x32\x54\xdd\x51\x03\x2a\xdb\xee\x55\x51\xd9\x35\x54\xb6\xd9\x03\x5c\x3d\x33\xc3\xd5\x1b\x36\xe1\xea\x99\x55\x5c\xdd\x1a\xae\x41\xbf\xdf\x1d\x00\x32\x27\x43\xd6\xb7\x1a\x91\x39\x55\x64\xbd\x06\xc2\x46\x43\xab\x6f\x1b\xae\xdd\xcf\x59\xd6\x6f\x62\x99\xdd\xaf\xb1\xac\x5f\xa7\x6d\x68\x99\x8e\x33\xe8\x19\x2e\xdf\xf6\xc8\xff\xfb\xff\xfc\xdf\x24\x8b\xbb\x6d\xd9\x19\xbd\xd6\xc8\xca\x8d\x7c\x86\xae\xdd\xae\x0a\x5a\x85\x88\x17\x2f\x06\xc6\xb6\x1e\xb4\xa1\x5f\x68\x5d\x14\x8a\x91\x0e\xb3\x32\xea\x18\x50\x4e\xe3\xdd\x5d\xbf\x6f\x8f\x06\x2f\xbc\xb8\xd5\x8a\x5f\x78\xfd\x61\xb7\xd7\xbd\xbb\x8b\x5f\x5a\x96\xd5\xb3\x2c\x6b\x47\x11\xee\xc6\x2f\x90\xd3\x90\x21\x54\x5f\x67\x9e\xc4\x8b\x3d\x29\x93\x7a\x6c\xb8\x7a\xdc\x16\xbd\x41\xd7\xc0\x60\x4d\xdb\x7a\xfc\xf2\xe5\x4b\xcb\x6c\x59\xa6\xdd\x35\x68\x7f\xd0\xb5\xcd\x6d\x1d\x1e\x5a\xb1\x61\xc8\xa3\xf6\x9a\xaa\xb6\xca\x63\x93\x26\xed\x76\xe9\x66\x18\x79\x7d\xcc\xc9\x81\xd3\x34\xc5\x16\x0e\x48\x61\x2c\x1a\xb2\x80\x54\x5e\xf2\x2e\xa3\x6a\xe9\x1f\x1f\x93\xd8\x1e\xd5\xb3\xc8\x4d\x23\x40\xae\x74\xb3\xae\x97\x0c\x97\x20\x83\xae\x35\xc2\xaf\xb4\xdb\x56\x56\x47\xb6\xf3\xbb\x84\x7f\xdb\x32\xc6\x12\x7d\xa1\xb3\x76\x74\x81\x7f\xb0\xad\x0b\x2e\x06\xc6\x8b\x17\x96\x69\x64\x3c\xa5\x40\xb0\x2b\x89\x90\xdf\x75\x25\x45\x18\xd0\x00\xa8\x16\x7a\xc3\x28\xeb\x8d\x71\x16\x35\x0e\x46\x81\x89\x43\xb4\xb9\x63\xad\x91\x7d\x17\xbc\x7c\xf9\x72\x60\xd0\xd4\xb3\x0c\x37\x78\x81\x15\xf4\xd7\x16\xb0\xed\x1e\x16\xb0\x6c\x28\x61\x1b\xee\x5a\xc0\x9e\x29\x00\x1d\x00\xec\x1a\xe3\xf4\xa5\x39\x36\x52\x18\x1c\x6b\x48\xb1\x1d\x41\xca\x5f\xd2\xd6\xa0\x5b\xbe\x44\xe8\x7a\x2a\xee\x0f\xbb\x9e\x76\xa2\x55\xf8\x25\x98\xf1\x4b\xcf\x14\xcf\xd3\x38\xe2\x49\x5c\xce\x4b\xd8\x85\x9f\xcc\xf6\xfe\xfd\xdb\xee\xe2\x3c\xb8\x58\xc5\xab\xd4\xdb\xb2\x24\x78\x21\x53\x94\xb1\x15\x9e\xc5\x79\x10\xc1\xc4\x77\x32\x19\x0e\x1c\xea\x0c\x47\x67\x74\x62\x59\xfd\x3e\xb5\xac\xbe\x83\xe9\x81\x49\x2d\x6b\x60\x41\xba\x67\xf7\xa9\xd5\x1b\x20\x4c\x6f\x68\x51\xf8\x11\xe9\x2e\xa4\x7b\x22\x3d\x80\xf4\x50\xa4\x47\x90\x46\x78\x18\x68\x56\xbf\x2b\xd2\x7d\x9b\x5a\xfd\x3e\xc2\x0c\x2c\x8b\x5a\x83\xae\x89\xe9\x9e\x43\xe1\x07\xd2\xc3\xbe\x49\xad\xe1\x00\x71\x0e\x07\x43\x48\x8b\xfc\x21\xe4\x0f\xbb\x90\x76\xcc\x21\x85\x1f\x91\x1e\x41\x1a\xf1\x3b\x3d\x93\x5a\xce\x60\x00\xe9\x51\xdf\xa1\xd6\x08\xcb\xda\xa6\x3d\xa4\xb6\xd9\xed\x43\xba\x6b\xf6\xa9\xdd\x35\x07\x98\x1e\xf4\x28\xfc\x88\xf4\x88\xda\xdd\xa1\xc8\x77\x2c\x0a\x3f\x22\x0d\xf0\x0e\xe2\xe9\x99\x36\xb5\x7b\x66\x17\xd3\xdd\x2e\x85\x1f\x4c\x8f\x20\x7f\x64\x8b\xf4\x90\xda\x7d\x13\xda\x65\xf7\xcd\x11\xa4\x47\x98\xee\x9a\xd4\xee\x77\x11\x67\x7f\x60\x51\xbb\x3f\x40\xf8\x81\x6d\x52\xf8\x11\xe9\x3e\xa4\x91\x86\x41\xd7\xa2\xf6\xa0\x2b\x60\xba\x90\xdf\x1d\x62\x7a\x68\x53\x7b\x80\x7c\xb0\x07\xce\x88\xda\x83\x11\x96\x1d\xf6\x1c\x0a\x3f\x98\xee\x77\xa9\x3d\x44\x3e\xdb\xc3\xfe\x88\xda\xc3\x81\x80\x19\xf4\x21\x8d\x7c\x18\x3a\x03\x6a\x0f\x1d\x84\x71\xac\x21\x85\x1f\x4c\x0f\x07\x14\x7e\x44\x7a\x04\x69\xa4\xdf\x01\x9e\x38\x0e\xd6\xeb\x8c\xba\x14\x7e\x20\x3d\x02\x9e\x8c\x4c\xa4\x73\xd4\x1b\x50\xf8\x39\xa3\x93\xae\x69\x3a\x14\x7e\x30\x6d\x5b\x14\x7e\x20\x6d\x75\x7b\xb4\x6b\x75\x11\xc6\xea\xd9\xb4\x6b\xf5\x7a\x22\x3d\x80\xf4\x08\xd3\xfd\x21\xed\x0a\x39\xec\xda\x03\x93\xc2\x8f\x48\x77\x21\xdd\xc5\xf4\x10\xf2\x87\x22\x7f\x38\x80\xf4\x10\xd3\x23\x87\x76\xed\x11\xe2\xe9\x8e\xba\xb4\xdb\x1d\x41\x7b\xbb\x3d\xb3\x4f\xe1\x07\xd2\xd0\x17\xf0\x23\xd2\x0e\xed\xf6\x7b\x22\x0d\xf4\xf4\x7b\xd0\x96\xee\xa0\xdb\xa5\xf0\x23\xd2\x03\xda\x1d\xc8\xfc\x7e\x9f\x76\x07\xd8\x77\xdd\xe1\xc0\xa2\xf0\x23\xd2\x3d\x48\x63\xbd\xc3\x21\xe4\x0f\x05\x8c\x03\xf9\x0e\xe6\x3b\x00\xe3\x20\xff\xbb\xc0\xc3\xae\xe0\x61\xd7\x19\xf5\x21\x2d\xf3\x87\x90\xc6\xb6\x8c\xfa\x5d\xda\x1d\xa1\x3c\x77\x47\x03\x87\x76\x47\x02\xe7\x68\xd8\x83\x34\xc2\x8f\x00\xff\x68\x84\x34\x8c\x46\x5d\xda\x33\x6d\xe0\x5b\xcf\xec\x3a\x14\x7e\x20\x6d\xf5\x2c\xda\x13\x7c\xee\x01\x9f\xe1\x07\xd3\x7d\x93\xf6\xac\xbe\x25\xd2\x5d\x48\x77\x31\xed\xf4\x68\xcf\x72\x00\x7f\xaf\xd7\x73\x68\x6f\x80\x63\xad\x37\xea\x8f\x28\xfc\x9c\xd1\x49\x7f\x64\x0e\x68\x7f\x84\xfd\xdb\x1f\x75\x1d\xda\x1f\x21\x0f\xfb\xa3\xa1\x49\xfb\x23\xd4\x0f\x03\xd3\xb4\xe9\xc0\xc4\xf1\x32\x30\x07\x0e\x1d\x98\xc8\x9f\x81\x39\xb4\xe8\xc0\xc4\xfe\x1a\x98\xce\x80\xc2\x8f\x48\x8f\xe8\xc0\xc4\xbe\x1b\x58\xe6\x88\xc2\x0f\xa6\xfb\x7d\x3a\xb0\x50\x9e\x07\x5d\xab\x4b\xe1\x07\xd2\xbd\xae\x4d\x07\xbd\x6e\x4f\xa4\x47\x74\xd0\x43\x1a\x06\xbd\xbe\x49\xe1\x47\xa4\x87\x90\x46\x3c\x83\xe1\x88\x0e\x06\x0e\xe6\x8f\x2c\x9b\x0e\x46\x56\x1f\xd3\x83\x1e\x85\x1f\x91\x1e\xd0\xc1\x68\x28\x60\x86\x00\x83\x3c\x1f\x8c\x86\x0e\xa4\xa1\xbd\x43\xd3\x1a\xd1\xa1\x69\x03\x3d\xc3\x81\x35\xa0\x43\x31\x66\x87\x83\xa1\x43\x87\x03\x1c\x2f\x8e\x6d\x76\xa9\x63\x23\xdf\x1c\xbb\xdb\xa3\x8e\x8d\x7d\xe1\xd8\x8e\x43\x1d\x1b\xfb\xcb\x01\x59\x75\xba\xc8\x1f\xa7\x67\x9a\xd4\xe9\xa1\x7e\xb0\xec\x6e\xd7\xa4\xf0\xdb\xc7\xa7\x5e\xcf\xa2\xf0\x0b\x74\xf4\xba\xa6\xd5\xa3\xf8\x2b\x9f\x46\xf8\x34\x12\x4f\xbd\x3e\x3c\x61\xef\x0e\x7a\x36\xb0\x16\x7e\xe1\xa9\x6f\xda\x3d\x3a\xe8\x9b\xa8\x89\x07\x7d\xb3\x3f\x80\x27\xc1\x97\xbe\x0d\x8c\x81\x5f\x7c\xea\xdb\x23\x0c\xac\x8a\x7d\xe8\x98\xa3\x21\x85\x5f\x7c\xe7\x58\xa6\x45\xe1\xd7\x96\x4f\x0e\x3c\x59\x02\xd2\xea\xdb\xf0\xd4\xef\xc9\xa7\x11\x3e\x09\xcb\x32\xb2\x7a\x5d\x8a\x7f\xfa\xf2\x19\x6d\xcd\xc8\x42\x4e\x63\x42\xbc\x97\x96\x68\x64\x5b\x60\x7f\x46\x36\xf6\xb4\x65\x8d\xba\x03\x9b\xe2\x1f\xc0\x3e\x02\x33\xd1\xa7\xe2\x8f\x7c\xee\x0e\xe0\x79\x80\x54\x8f\xac\xe1\x70\x60\xc2\xf3\x68\x34\x3a\x3b\x13\x46\xcf\xcf\xec\xe3\x04\xcc\x0f\x95\xc6\x6d\xd0\x03\xdb\x83\xa9\x21\xb5\xa4\xb1\x01\x5b\x83\x84\x0d\x7b\xd4\x1a\x4a\x63\x04\x76\x06\xcd\x8c\x0d\x56\x06\x53\x60\x63\x10\xcb\x08\x52\xc2\xd8\x38\xd4\xc6\x61\x61\x5b\x7d\x6a\x5b\xa8\x48\x6d\x9b\xda\xb6\x34\x3f\x60\x7d\x30\x65\x53\xbb\x2b\x4d\x0f\x58\x1e\x61\x60\xc0\xbe\x60\x0a\x2c\x8a\x30\x2e\x68\x4f\xd0\x6c\xd8\xd4\xee\xa3\xa2\xed\xf7\xa8\x8d\x6c\xb6\xfb\xf0\x56\x28\x7a\xd0\xf9\x5d\xa1\xf2\x41\xfb\xa3\xa2\x06\x3d\x2d\xd4\x74\x8f\xda\xa8\x60\xec\xd1\x88\x4a\xf5\x08\x1a\x11\x05\xb4\x6b\x81\x1e\x46\xd5\x62\x8d\x68\xd7\xc6\x94\xdd\xa3\x5d\x1b\x55\xb3\xed\xd0\x2e\xb2\xb5\x0b\x3a\x51\xa8\x44\xd0\x9a\x28\x4a\xdd\x3e\xe8\xcf\x91\x50\x93\xa0\x31\x41\x10\x07\x36\xed\xa1\x8a\xec\x0d\x7a\xb4\x87\xdc\xed\x0d\x06\xb4\x87\xaa\xac\x37\x00\x8d\x82\x8a\x69\x68\xd2\x1e\xf2\xb9\x37\xb4\x69\x0f\x07\x5a\x6f\xd8\xa3\xc2\xa5\x00\x8f\xa2\x87\x86\xa8\x3f\xea\xd2\xfe\x48\xa8\x11\xd4\x10\x38\x08\x1d\x3a\x44\x3e\x0f\x2d\x8b\x0e\x51\x04\x87\x56\x97\x0e\x71\x48\x0f\xad\x21\x1d\xa2\x41\x1b\xda\x26\x1d\xa2\x79\x1d\xda\x0e\x1d\x62\x3b\x86\xdd\x2e\x1d\x62\x3b\x86\xdd\x3e\x1d\x76\x85\x08\x75\xe9\xc8\x06\xcc\xa3\xae\x45\x47\xd8\x1f\xa3\x5e\x9f\x8e\x50\x4a\x46\x83\x2e\x1d\x09\x07\xc8\x04\x67\xc8\xc4\xde\xb4\x4c\x70\x38\x2c\x53\x88\xa8\x09\x02\x8d\xe2\xe8\x80\x10\x38\x42\x0a\x1c\xdb\xb2\xa8\x63\xe3\x70\x75\x6c\x6b\x00\x69\xa1\x14\x6c\x93\x3a\xb6\x2d\x14\x81\x0d\x0a\x02\x95\x88\x63\xdb\x50\xb6\x2b\xf2\x7b\x00\x83\x12\xe1\x80\x48\x38\x42\x26\x1c\xbb\xd7\x87\xb4\xa8\xab\x0f\xf8\xfb\x02\xbe\x0f\x78\x50\x32\x9c\xae\x89\xca\x05\x69\x80\x6e\x85\x1f\x4c\xdb\x16\x75\x44\xcf\x3a\xe0\x00\x39\x62\x48\x39\x3d\xc0\xd3\x13\x78\x7a\xfd\x2e\xa4\x85\x62\xea\x0f\x21\x8d\x34\xf7\x06\x90\x1e\x88\xf4\x10\x14\x16\xf6\x9e\xd3\x73\xa0\xac\x63\x8b\xf4\x00\xd2\xd8\x96\xde\x08\xf2\x85\xb2\xeb\x77\x2d\xea\xf4\xd1\xa1\x71\xfa\xdd\x11\x75\x84\xa1\x75\xfa\xbd\x1e\x75\xfa\x7d\x6c\x4b\x7f\x60\x52\xa7\x8f\x7c\x76\xfa\x23\x9b\x3a\x03\x13\xcb\x0e\xba\x90\xc6\x1e\x73\x06\x7d\x87\xc2\x0f\xa6\x01\x7e\x80\xce\x81\x03\xca\xdd\x91\xca\x77\x68\xf6\x28\xfc\x88\xf4\x00\xd2\x48\x33\x88\x8a\x33\x44\x49\x77\x86\x56\x1f\xd2\x7d\x91\x1e\x41\x5a\x94\x05\xfe\x0c\x45\xbf\x0c\x6d\x80\xb1\x05\x4c\xd7\xa4\xf0\x23\xd2\x5d\x48\x0f\x44\x1a\xca\x76\x45\xd9\x1e\x94\xed\x89\xb2\x3d\x80\x41\x87\xcc\x01\xa7\x16\x7e\x44\x1a\xe8\xe9\x0b\x78\xe0\xbf\x70\xc8\x9c\xe1\x10\xf2\x87\x02\xa7\x03\xf0\x8e\x80\x07\x7e\x0e\x05\x3f\x1d\x30\x12\x8e\xe0\x89\x03\x6d\x14\x4e\xb0\xe3\x58\x90\x6f\x89\x7c\x0b\xf2\x45\xbb\x1c\x30\x3c\x4e\x57\xa6\x1d\x48\x63\xbd\x0e\xf4\xaf\x23\xfa\xd7\x81\xfe\x75\x44\xff\x3a\x83\x11\x85\x1f\x4c\x8f\xfa\xd4\x11\x4e\x89\x03\xc6\xcf\x11\xc6\x6f\x04\xca\x62\xd4\x43\x47\x6d\x04\x32\x33\xea\xf7\x70\xac\x80\x73\x3f\xea\xa3\x43\x39\x1a\x98\x26\x0c\x1c\x1c\x57\x03\xcb\xa1\xa3\x81\x2d\x47\x91\x4d\x47\xa2\x1f\x47\xe0\xd4\x8e\x06\x3d\x91\xdf\x07\xf8\xbe\x4c\xf7\x20\x2d\xca\x82\x12\x1f\xc8\x11\x38\x80\xfc\x81\xc8\x1f\x42\x3e\xea\x8b\xd1\x60\x08\x78\x86\x32\x1f\xea\x72\x04\xfc\xc8\xa1\xa3\x21\xf2\x6a\x04\xfd\x3e\x12\x3a\x62\x04\x7d\x37\x1a\xa2\xe6\x1d\x0d\xbb\x43\x48\x23\xcd\xc3\x9e\x4d\x47\x43\x1c\x5f\x23\x70\xa6\x47\x43\xd1\x46\xe8\x2f\xf8\x11\x69\xc8\x47\xd9\x1b\x0d\x47\x00\x8f\x4e\xff\x68\x38\xea\x41\x1a\x71\x3a\x76\x8f\x8e\x1c\x94\x99\x91\x63\x0f\x21\x8d\x78\x1c\x50\x2b\x8e\xa8\xd7\x01\x63\xe5\x88\x7a\x9d\xee\x08\xd2\x42\xb7\x80\x01\xc7\x5f\x7c\xb2\x4c\x9b\x5a\xa6\x30\xaf\x30\x8b\xee\xd1\x41\x57\x50\x88\x13\x63\x34\xd2\x5d\x81\x03\x35\x91\xd9\x73\xfa\x62\x86\x84\xa9\x01\xc5\xe5\x11\x33\xb3\x80\x41\x7a\x5c\xbb\x73\x55\x5d\xa2\x69\x62\xdc\xf4\xe2\xdc\xb0\x70\xd4\x7b\xae\xb3\x17\xe5\x97\x13\xf3\x6c\x62\x9e\xdd\xdd\xb1\x97\x95\xfc\xf8\x6c\x62\x9d\x95\xbf\x60\x8c\xe3\x97\x5e\x32\xc6\x80\x7f\x5e\xe1\x8a\x4a\x3d\xd9\x8e\x8d\xe7\xb6\x41\x6b\x38\xb8\xc0\xe1\xf1\x6d\x2b\xdb\x6d\xb7\x55\x27\x01\x2f\x8c\x28\x6c\x14\x8e\x3d\xde\xb6\xee\x55\xd5\xf7\xaa\xcd\xa5\xa9\xf1\xc6\xa6\x67\x1e\x42\x53\xd3\xb3\x97\x95\xa6\xe7\xf9\x3f\xde\xf4\x1c\xc7\xc6\xa6\x97\xc0\x1e\x6e\xfa\xf4\xd2\x4f\xc4\xb4\xbf\xe1\x33\xcc\x9a\xb5\x83\x9d\x72\xc9\x23\x04\xc8\xde\xea\xcc\x70\xcb\x00\xaf\x83\x34\xa9\xc1\x54\xeb\xaf\x03\x35\x51\x64\x7a\x9e\xc7\x76\x4a\xeb\x1e\x2e\x7b\xd1\xb5\x81\xd3\x9e\x65\x0f\x5b\x2d\xf6\xc2\x1a\x98\x3b\xb5\x95\x10\x97\xbd\xb0\xec\xe1\x8e\xe5\x16\x85\x5c\x67\xc6\x8e\xe9\x5a\xdb\x3a\x7b\xe9\xf5\xba\x7d\xbb\xd5\xd2\xd9\x0b\xaf\xd7\xeb\x0d\xef\xee\x46\xa6\x69\x79\x1e\xc3\x84\x8d\x09\xa8\xc1\x1a\x99\x3d\xa8\xc3\xeb\xd9\xd6\xc8\x6a\xb5\x2c\xbb\xdb\xb7\xb6\xe4\xdb\x5e\xcf\xec\xda\xf8\xb6\xdf\xb7\xcd\x2e\xe6\xc1\x60\x14\x25\x06\x3d\xbb\xdf\x17\x79\x7d\xb3\x67\x8a\xbc\xbe\xd9\x1b\xa9\xbc\xa1\x2d\xf3\xac\xae\x82\xb3\x1d\x05\xd7\x1d\x0e\x64\x5e\x5f\x52\x30\xe8\xf7\x2d\x53\x50\xd5\xb5\x54\x61\x0b\xd4\xa1\x28\x8d\x49\x07\x73\xed\x81\x6d\xf5\xe4\x57\xe5\x0d\x3d\xb7\x56\x04\xca\xe3\x03\xb8\xd6\xbc\x74\xf4\x84\x7e\x4f\x79\x83\xd8\x65\x6b\x95\x72\xc0\x99\xe3\x38\x5f\xac\x34\x64\xd0\x52\x96\xaf\x01\xef\x72\x19\xa3\x47\xe7\x5e\xb9\x6a\x3d\x35\x8c\x17\xea\x92\xe8\xb6\x35\x4e\xb6\x3d\x4e\xe3\x6d\x2f\x55\xcb\x79\x96\x6b\xdf\x17\x23\xd8\x03\x49\x18\xdc\x72\xdd\x85\x16\x34\xc2\xc1\x1a\x7b\x26\x8d\x4a\x84\xb5\x5a\x5b\xba\x1e\x6d\x57\x09\x28\x2d\x78\xc6\x86\x61\xbc\xe4\x06\x46\xa8\x1a\x67\x01\x11\xb7\xbc\x44\xb4\x39\xf5\x62\x44\x9a\x16\x90\x46\x2f\xbc\x64\xfc\x00\xda\xd4\x30\x68\x0a\x28\xd5\x19\xfb\x97\x49\xab\x95\xb6\xdb\x54\x5d\x44\x1d\x44\x17\xe2\xc6\xd6\xec\xa6\xc2\xec\x16\xa5\x52\xa3\x4b\xdb\x5b\xca\xb7\x7a\x17\xa0\xc4\x9b\xb6\x08\x7c\x56\x0c\x7d\x89\xf7\x48\xcf\x62\xfe\x5c\x04\x55\x0e\xe3\x8b\xe7\x57\x2c\x49\x83\x38\x22\x94\x70\x76\xc3\x9f\x2f\x43\x3f\x80\x07\xab\x63\x0d\xf0\xec\xd2\x03\xc5\x67\x3e\x67\xd5\xb2\xb6\x69\x0d\xdb\xa6\xd3\x56\x18\xf8\x8c\x2d\xc5\x0d\xd6\x32\x9c\x02\x29\x46\xdb\xe8\x88\x3d\x73\x27\xb7\x4b\xb9\x19\x2a\xee\xfc\x1a\xc7\x8b\x2f\x7e\x02\x76\x41\x6d\x1c\x21\x7f\xff\xf8\xf1\xbd\xb6\xe5\x69\x96\x69\xfe\x99\xd0\x58\xc5\x00\x8d\x97\xb7\x19\xc8\x7f\xff\xbf\xfe\x4f\x78\x33\x63\xe9\x37\x1e\x2f\x3f\x00\x40\x20\xbe\x7d\x9e\x04\x3c\x04\x80\xff\xfa\xdf\xb4\x3f\xeb\x1c\x1e\x0c\xed\xbf\xff\xd7\xff\x06\xd0\x9c\xa5\xfc\x35\x5b\xa6\xde\x84\x5c\x72\x96\x2c\x3a\xc7\xd3\x24\x0e\xc3\xc3\x38\x11\x3b\x06\x52\x42\xf3\x17\x8c\x45\x95\xcc\x13\x96\x2c\x82\xc8\x0f\x2b\xd9\x9f\x4f\xea\x19\x7b\x7e\x14\xb1\x99\xc8\x3e\x43\xce\x5e\x04\x29\x67\xc9\x9b\x28\xe0\xba\x00\x23\x74\xdd\xd1\x6e\xe3\x7b\x89\x51\x1c\xc3\x60\xd2\x6a\xb4\x9a\x58\x05\x9c\x96\x8c\xbe\xbb\xd3\x9b\xef\x90\x97\xd1\x27\xaa\xcf\x18\xcd\x76\xa7\x8a\x45\x6e\x81\x2d\x47\xe4\xd3\x1b\x4a\x1a\xee\x03\x45\x31\xae\x93\xda\x50\xbe\x85\x06\xf9\xc9\x77\xdc\xbf\xf7\xa3\x60\xce\x52\xae\xd4\xcc\x7a\x08\xdd\x18\x27\x5e\xda\xf1\x97\xcb\x56\x0b\xff\x74\xce\xfd\xe9\xb7\x8b\x24\x5e\x45\xb3\xfb\x64\x67\x4d\xec\x19\x11\xf4\x95\x2c\xe3\xe5\x6a\x49\xee\x0d\x6a\x1a\x6e\x33\x8d\xdc\x3f\x4f\x77\x0a\x69\xfc\xe4\x2e\x36\xb9\xe6\x5b\x25\x60\x7c\xb6\x5a\x25\x04\xaa\x8c\xc8\x14\x71\xa4\x13\xf9\xf4\x66\x26\xc2\x19\x73\xc3\xd5\x4b\x1d\x4e\xa2\x38\x59\xf8\x21\xa9\x76\xb9\x71\x5f\x3e\xb4\x52\x6f\x88\x2c\x88\x2d\xb9\x37\x68\x8c\x64\x86\x01\x8b\xf8\x71\x69\x3f\x67\xf1\x9a\xd4\x0b\xc6\xf1\x4b\x5d\x10\x5d\x08\xd0\x23\x36\xc5\x10\xdc\x85\xd2\x6b\x9d\x91\xb5\xc5\x3b\xd7\x50\xa4\x84\xe4\x67\x16\x5c\x5c\x36\x1e\xbf\x5e\x8f\xe5\x12\xcb\x00\x9a\x69\xbc\x94\x37\xe9\xc2\x18\x8f\xf7\xc2\x60\x79\x1e\xfb\xa5\x8b\x3d\xc5\x4e\x07\xd6\x61\x37\x6c\xba\x17\x2f\x16\x7e\x34\xd3\x09\x94\x23\xc5\x40\x4b\x80\x6c\xe9\xa7\x9c\x1d\x24\xf1\x62\x3d\x9a\x8c\xb4\x12\x36\x2c\x48\x6a\x9b\xb1\xf1\x28\x96\xd2\x53\x0d\x01\xb3\x70\xb3\x88\xf7\x52\x59\x18\x8f\xed\x30\x97\x8f\xf3\xc7\x56\x0b\x7a\x71\x0b\x3d\x1a\x9d\x79\xdf\xef\xd5\xb8\xf9\x7e\x1e\xcf\x6e\x5d\xd6\x81\x3f\x34\x98\xc6\x91\xcb\x75\xd6\x81\x44\x73\xa4\x5d\xa9\x5b\x9e\x07\x0b\xff\x82\xa5\xcf\x01\xb0\x3d\x1a\x10\xf0\x32\x52\x0f\x8a\xa2\x42\x54\x5b\x97\x67\xf1\x14\x37\x4b\x88\x5c\x43\x86\xdd\x96\xea\xc9\xc0\xb8\xcf\x73\x75\x8d\xee\x67\x3f\x49\xf5\xf5\x0a\x97\x7e\x47\x1c\x6e\x7a\xaf\x2e\x6a\x02\x6d\x50\x04\xd3\x53\x9a\x14\xae\x67\x8a\xa3\x69\x18\x4c\xbf\x15\x77\x42\x48\xaa\xe6\xf1\x74\x95\x66\x57\x34\x85\x31\x5e\xd6\x4b\x23\x60\x70\x45\x8a\xb3\x23\x2f\x28\x6c\x6a\xe3\x99\x90\x19\x8f\xab\x02\xe5\x3b\x3e\x7e\x23\x86\x69\x18\x47\xac\xe1\xf4\x3f\xb4\x56\x00\xeb\x39\xbe\x22\x36\xa3\x01\x19\x0c\xe6\xb8\xbe\x11\x46\xd2\x52\xc7\xe1\xb1\xc2\x80\xa8\xe0\x62\xff\xb1\xf2\xc3\x46\x6f\xb1\x80\x53\x21\x95\xbb\x62\x24\xd6\x4d\x68\x37\x6c\xb4\x9d\x48\x53\x19\xfc\x9a\x6f\xa8\x45\xec\xf2\x98\x63\x5e\xc3\x36\x39\x23\x80\xfb\x28\xbe\xde\x8b\xc3\xe6\xdd\xd4\x49\x7c\xad\xd8\x3f\x8d\xc3\xd5\x22\x52\x5b\xa9\xe3\x2b\x96\xcc\xc3\xf8\xda\xdb\xda\x4a\x72\x24\xc5\x6d\xf0\xf1\x55\xfd\x1e\xc6\xdf\x88\x73\x73\x37\x0b\x70\x5d\xd5\x51\xac\xa1\x8c\xdf\x68\x44\xbe\xa6\xdb\x91\xda\x2a\x3e\xf4\xac\xeb\x88\x3d\x96\x25\x1b\xab\x78\x40\x1a\xa0\x2a\x51\x97\x94\x04\x59\x59\x56\x9b\x8a\x19\xa8\xaa\x7b\xa8\xbe\x87\xc5\x44\x14\xc9\xb7\x54\xc7\xd7\x05\x31\x11\x95\x16\x32\x54\x65\x42\x72\x4a\x7e\xe5\x9c\x80\x61\x3b\x48\xfc\xc5\x9a\x5e\xe7\xd2\x4d\xcb\xa2\x7d\xcf\x82\xab\xaf\x1e\xc3\x3f\x22\x63\x95\x84\x99\x24\xe0\x19\x8d\xd4\x4b\xf2\xd0\x04\xc1\x1c\x70\x17\xb7\x14\xc3\x9c\xd5\x0f\x22\x96\x14\x33\xe5\x3d\xf4\x7b\x97\xe0\xea\x85\x6a\x43\xbe\xa4\xac\xb4\x7b\x39\xdb\xea\x5c\xec\x0e\x15\x05\x0a\x03\x18\xe1\x55\xd4\x32\x1e\x54\xb0\x9c\xb6\x83\x28\xe0\xed\xf8\x1b\x71\x65\xa7\xe5\xe7\x6e\x52\x16\xcd\x94\x1f\xfa\x26\x9a\xc7\x5f\x75\x63\x8c\xc5\x54\xab\xdb\x41\x34\x8f\x8b\x65\x2b\x2d\xe8\xa4\xfc\x36\xc4\x08\x2e\xcb\xd0\xbf\xf5\xc8\x3c\x64\x37\xa4\xb1\x45\x9d\x65\x9c\x70\xab\x13\x47\x32\x5f\x9d\x70\x91\xcd\x29\xee\x40\x2e\x9e\x0b\x7a\x17\xfb\x33\xdd\x18\x4b\xdf\xb0\xd4\x82\x52\x00\x97\xca\x7d\xfe\xda\x3c\x89\x17\x1a\xb2\xde\x25\x54\xb0\xc5\xb8\xdf\xc8\xd0\xa2\xb0\x35\x03\x02\x2d\xf5\x4d\xe3\xb5\x9e\x63\xd7\xda\xfb\x52\xde\x8f\xf0\xa3\x7e\xce\xa7\xb9\x3c\x6e\x9a\x56\xe6\x4d\xca\x1a\xf6\x0f\xfa\x59\x68\x01\x97\x71\xca\x25\x56\xfd\x3b\x86\xc9\xc9\xa4\x82\x50\x3f\xb9\xb8\x72\x27\xdf\x25\x72\x98\xbb\xb8\x6b\x6b\xb3\xef\x55\x54\xbf\x55\x12\xd2\xc9\x7a\xb8\x33\x63\x3d\x03\x1f\x62\x73\x4d\x24\x4b\xe7\x86\x3a\x73\xbc\x65\x7f\x3a\x65\x4b\xfe\xce\x8f\x2e\x56\xe0\x98\xe8\x35\xe5\x57\x6c\x72\x59\x96\x09\x9d\x7c\xf7\xcb\xc5\x5d\x46\xe7\x71\xc2\x84\x77\xbf\x17\x87\x71\xe2\x96\x47\x3e\x54\x79\x50\x86\xd0\x0d\x9a\xcf\x08\xd6\x95\x79\x55\x86\xd0\x0d\x3a\x5d\x25\x69\x9c\xac\x83\xdf\xcb\xdf\xea\x06\x9d\xc7\xc2\xcf\x6e\x24\x46\xbc\x92\x50\x07\xfe\x22\x08\x6f\xd7\xc0\x89\x97\x48\x6f\xca\x3e\x1d\xbd\x73\x25\x0f\x3f\x1d\xbd\xc3\xeb\xf9\xef\xcf\xaa\x77\x16\x37\xf5\xdc\x1e\x38\x4e\x7b\xe0\x62\xb1\x86\x21\x90\xb9\x55\xf5\xa2\xf8\xaa\x61\x77\xab\x52\x20\x99\xc5\xc8\x34\xca\xd2\x87\x79\xd0\x87\x78\x96\x05\x65\x6b\x7c\x59\xbc\x21\xb3\x0a\x96\x9d\x8e\xdd\x13\x84\x6d\x6a\xd4\x43\xf2\x58\x10\xa5\x86\xdd\xda\x4d\x63\xa0\x7e\x4f\x91\x2c\xaf\x4d\x05\x84\x16\xa4\x78\x7c\x26\x65\x5c\x5b\x2d\x3b\xea\xfa\xf1\xe6\x01\x5e\x1f\xbd\x4c\x0c\x5a\x7e\xdf\xd8\xac\xf4\x32\xbe\x2e\xb6\x29\x5b\x0a\x60\x78\xb7\x67\x36\x13\xc1\x78\x50\xca\x60\xed\x64\xa9\x09\x3b\x73\x93\xfb\x3c\x14\xb0\x3c\x34\x9c\x47\xdf\x78\x54\xcf\x19\x4a\x37\xab\x03\x7a\x40\xa4\xe6\xcb\x8b\xd7\xaf\x82\x34\x38\x0f\x19\x11\x7b\xf6\xe4\x56\xf7\xca\xec\x52\xcf\x6c\xad\x41\x03\x8f\xe9\x04\x7d\x41\x42\x07\x3d\x13\xa6\x12\x4c\x27\xc2\x19\x24\xb4\xe7\x98\x78\x51\x64\x22\x3d\xdc\x44\xba\x89\xb4\x32\x1e\xd4\xf4\xe4\xab\x41\x7d\xaf\x66\x88\x55\x14\x9e\x90\x01\x8c\x4e\x66\xc1\x15\x31\xc6\xbe\xb4\x6f\xd3\x34\x3d\x61\x37\xdc\x23\xcb\x38\x0d\x44\x10\x25\xff\x3c\x8d\xc3\x15\x67\x63\x69\xfb\x5c\x2d\x8a\x23\x36\x06\x03\xd8\x9e\x05\x89\x98\x59\xba\x9a\xf0\x45\xc6\x3c\x5e\xba\x9a\x65\xfe\x79\x1c\xb2\x39\x77\xb5\xde\x9f\xc7\x48\xac\xab\x8d\xcc\x3f\x8f\x05\xbd\xae\xe6\x98\x7f\x1e\x2f\x82\xa8\xad\x9e\x6d\x78\xf6\x6f\xda\xc5\xf7\xe7\xf1\x4d\x3b\xbd\xf4\x67\xf1\xb5\xab\x99\x9a\xa9\xd9\xcb\x9b\xfc\x60\xe2\x26\x7d\xb5\x4d\xc6\xe7\x71\x32\x63\x89\xfb\x94\x32\x5a\x1a\x87\xc1\x6c\x4c\x70\x16\x16\x7a\x65\x8f\xa6\xca\x33\xf1\x82\x18\xe3\xb0\x13\x47\x21\xe8\xfa\x82\x11\x2f\x19\xb4\xb0\xca\xd7\x8c\x89\xc0\x3f\x64\xa2\xab\x59\x8a\x47\x62\xe1\x2e\x04\x4f\x77\x97\xf3\x24\x38\x5f\x71\xa6\x93\x34\x99\x92\xcc\x1a\x19\xf5\xd7\xcc\x5f\x84\x2c\x4d\x09\xdd\x32\x0d\xea\x77\xfc\xe5\x92\x45\x33\xa1\x2e\x42\x23\x77\xe5\x4a\x2f\x7c\x71\x3c\x42\xfa\x87\xc2\xd5\x7c\xcb\x6e\x71\x4e\x0f\x89\xf7\xfe\x12\xfd\x45\x95\xd7\x74\xec\x40\x30\x54\x79\x8b\xdf\x24\xa4\x64\x52\xd1\xe5\xbb\xf4\xa3\x59\x28\x02\x82\x4f\x08\x4e\x53\xe3\x15\xcf\xae\x7f\x38\x80\x8c\x8f\xe5\xb3\x59\x67\x74\x42\xbe\xb1\xdb\x59\x7c\x1d\x65\x70\x6f\xd9\xed\xeb\xf8\x3a\x6a\x00\x5b\x26\xd8\xfc\x1c\xee\x10\x32\x1a\x00\x57\xcb\x22\xd4\xa7\x65\x15\x84\xb3\x1b\xfe\x26\x5a\x16\x88\x3b\x51\x39\x25\xd0\xb3\xac\xc9\xef\xfd\xa5\x27\x26\x37\x15\xee\x15\x1d\x1a\x28\x19\x44\x17\x69\x15\xf2\x95\xcc\x2f\xc2\xfa\x21\xff\x29\x79\x1f\xcf\x70\x39\x2b\x52\x97\x64\xe0\x61\xf6\x37\x51\xca\x12\x7e\xe8\xa7\x9c\x79\x5b\x72\x0b\xfe\x65\xbc\x60\x6f\xd9\x6d\x2a\x56\x64\xb3\x30\x5d\x4b\xff\xa2\x29\x7b\xca\x93\xf0\x30\x5c\xa5\xef\x83\x68\x95\xfe\x9d\x25\xf1\xdf\xe3\x78\x91\xe1\x82\xb7\x7b\x7b\xf1\xf2\xb6\x04\xff\x59\x56\x28\xb3\xfc\xa5\x08\x46\x18\x20\x0b\x97\xfe\xac\xe9\x8d\xb0\xef\xd9\x1b\x70\x20\xd2\xa5\x3f\x65\xc7\x2c\x9a\xa5\xaf\xd4\x53\x5e\xcd\xa5\x9f\xf8\x53\xce\x92\xfd\x68\x1a\x03\x47\x3c\xb2\xe2\xf3\xb6\x93\xf9\xd7\xdc\xc7\x92\xfb\xe9\xd4\x5f\xe6\x6d\x5f\xfa\x69\xfa\x9e\x71\xff\x73\x96\xe3\x87\x1c\x01\xbf\x5c\xfa\xdc\x23\x0c\xc1\x49\xf6\xea\x0d\x42\xe7\xf4\x86\x3c\x23\x45\xbc\xaa\x53\xe6\x87\x5c\x89\x13\x9b\xa9\x23\x25\x0b\x36\x0b\x7c\xe0\xee\x6e\xc2\x0e\xe0\x6f\xce\xf6\x84\x5d\x05\xf1\x2a\xdd\x2d\xd0\x91\xcf\x70\x8a\x12\xb2\x3b\x15\xf3\xa7\xef\x7b\xbb\x1f\xf6\xf6\x85\xaf\x52\x0c\x8f\x26\xb2\x89\x41\xe5\xe5\x5e\x35\x00\x99\x4f\x0c\x7a\xb8\x7b\x7c\x5c\x7b\x0d\x99\xc4\xa0\xc7\x27\x47\x6f\x0e\x6b\x2f\x31\x97\x18\x25\x9a\x0a\x73\xe0\xa8\x76\x16\x46\x4e\x49\x45\xa7\x78\x5e\x73\xa7\xed\x94\xd4\x42\xe7\x8a\x17\x76\xf1\xeb\xcc\x70\xd9\x9a\xfa\xf0\x30\x5b\x18\x36\x6a\x1a\x71\xec\xad\x51\xbf\x18\xdf\x99\x34\xcc\xd5\x37\x32\xbb\x82\x17\x17\x7c\xf3\xeb\xe9\xb9\x67\x8e\xf9\x8b\xb2\x7a\x52\x5f\xe7\xb8\x3a\x4a\x20\xa3\x13\x64\x00\x13\x7e\x36\x66\x3b\xac\x7e\xa7\x4d\x32\x31\xcf\x68\x32\xb1\xce\xe4\xf9\xcc\x2a\x49\xd2\x87\x5b\x57\xe8\xbe\x59\x83\xb2\xfb\x35\x2c\x5b\x45\x6b\x99\x26\xb5\x73\x63\xe3\xd7\x60\x2b\x6a\xb9\x72\x94\x2b\x9c\x4d\xb6\x5a\x72\xb2\x2d\x0f\xb9\x11\xa3\x7c\xe3\x6c\xd6\xe3\x71\xf4\xf9\x04\x86\x03\x4f\xe2\x6f\x85\x69\x6e\x06\x60\xac\x27\x20\xd3\xd9\x0d\x8b\xc0\x4d\xc7\x09\x58\xe7\xfa\x32\x98\x5e\x1a\x1d\x1e\xbf\x8b\xaf\x55\x8c\x67\xbc\x3d\x93\xa1\xd6\x7a\xcb\x6e\x5b\xad\x2d\x86\xba\xe3\x2d\xbb\xbd\xbb\x23\x53\x82\x77\x3a\x90\x2b\xf8\x2b\x6f\x0b\x12\xc3\xbb\xd5\x22\xe7\x49\x7c\x9d\xb2\xa4\xfd\x8d\xdd\x2a\xf9\x2e\xea\x92\x56\x0b\x43\xbf\xa9\xaf\x95\x4a\x38\x9a\x29\xfb\xc6\x6e\x11\x68\xcc\x84\xda\xc6\xea\xf5\xc4\x4b\xca\xc4\x1a\x34\x29\x7e\xfe\x34\x8d\x6d\xcb\x76\x54\xfc\x7f\xf5\xe2\xa5\xd7\xb5\x5b\x2d\x3d\x29\x56\x3e\x4e\xa4\x80\x37\x33\x5e\x6f\xa2\x2a\xc1\x90\x95\xa0\x9e\x58\xa4\x02\xa8\xca\xc8\x50\xf1\xf2\x30\x89\x97\xfe\x85\x58\x6c\x36\xd6\x89\x9c\x2c\x2b\x3e\x6c\xed\x2e\x97\x1f\xe2\x68\x8f\x27\xe1\x31\xb4\x50\x22\x2c\x77\x5e\xe5\x83\x50\xe9\x51\x7c\x6f\xaa\x65\xc9\x8f\x39\xad\x96\x5e\xe8\xc4\x22\x17\xeb\x4d\x58\x2f\x52\x99\x5b\x51\x77\x5d\x2a\x5a\x7d\x93\x54\x7e\x5a\x96\xcb\x5b\x0e\x08\x82\xec\x62\x35\x6d\x2b\xe3\xab\x67\xb5\xfe\xa1\x5b\x2f\x5e\x30\xbc\x1e\x0b\x10\xb5\x2d\xc3\xa0\xf6\xb0\x84\x29\xb3\x1f\x0f\x31\x19\xb7\x1d\xac\x27\x18\x5d\xa4\x75\xd1\xaf\x63\xe3\x7b\xe0\xc5\xf2\x43\x43\x32\x89\xcf\xd4\xcd\x81\x0a\x26\x3f\xf3\x1c\xb5\x5a\x7a\xe4\x45\x32\x92\xab\xf2\x75\xe8\x84\xd1\xe4\xcc\x80\x69\x88\xe7\xf9\xad\x96\xfa\x72\xb6\xe5\xc5\x08\xcf\x75\x95\x03\x30\xf7\x3f\xc4\xad\xbb\x2a\xaf\x7e\x0b\xab\x8a\x81\xb9\x44\x13\xe0\xcf\x6b\x36\x4f\x27\x19\x46\x11\xa3\x53\x1d\x1e\x43\xb7\x55\xc4\x13\xa1\x91\xd7\x68\xb5\x3b\xc2\x3a\x53\x7f\xcd\x6b\x69\x9b\x69\xb8\xe6\x3d\x18\x67\x7a\xb9\xe6\x25\x1a\x67\x3a\xf5\xb2\x21\x40\x57\xde\x56\xd9\x85\x81\x41\x21\x58\x46\x73\x06\x8a\x57\x3b\xea\x0d\x0c\x16\xa9\xfc\xdc\x2c\x45\x97\xde\xd6\xf3\x5f\x4e\x27\xa7\xd7\xdb\xa7\x67\xea\x7a\xee\x04\xf9\xe0\x2f\x0d\x15\x61\xbf\xec\x87\xca\xe5\x55\x20\xa6\xed\x87\x9c\xb8\xcb\x56\x6b\xda\x6a\xad\x5a\x2d\x1d\xc3\xc2\xae\xbc\x2d\xcb\x18\x9f\x27\xcc\xff\x26\x56\x54\x13\x98\xc3\x65\xa0\x76\x45\x57\x29\x23\x57\x19\x21\xeb\x90\xc1\x2c\x32\xc3\x65\x3d\x1d\x17\x4e\xf0\xe7\xe3\xb9\xc7\xf5\xe9\x0e\x91\x9b\xa8\x88\xbb\xda\x21\x88\x74\xb6\x43\x80\x35\x24\xfb\x04\x2c\x04\xe6\xc2\x03\xd3\xe1\xa7\xdf\x8e\xa5\xea\x29\xaa\x21\xba\xf0\xbe\x4b\xc9\x71\x33\x19\xa2\xf8\xd6\x2d\x40\x01\xc3\xdc\x29\xf5\x43\xee\xae\x28\x54\xe2\xce\xee\xe9\xad\x57\x9a\x10\xe0\xda\x99\x48\xeb\x0b\x34\x5f\xb7\xad\x96\x7e\xe1\x4d\xbd\x95\x87\x8e\x75\x90\x7f\xd4\xae\x8f\x51\x7d\xee\xdd\x76\x7c\xcc\x33\x5a\x2d\x7d\xee\xcd\x3b\x53\x3f\x0c\x65\xd0\xad\x22\xa7\xe8\xc2\x30\x0c\xba\x7a\x8c\xa1\x9b\xe3\xb8\xd6\xe7\x5e\x68\xd0\xf9\x96\xe7\x85\xf0\xb0\xe5\x79\xfe\xdd\xdd\xf4\xee\x6e\x75\x77\x37\x13\x75\x79\xde\x65\xab\xa5\xaf\x3c\x64\x75\x23\x6d\x49\x47\x90\xae\x68\x2b\xdc\x82\x50\x51\x26\xa2\x4e\xdb\xf3\x94\x28\x66\x1b\x87\x10\x8d\xcc\x93\xfb\x76\x2e\x76\x2c\xd7\xa4\x96\xf1\x68\x8b\x86\xcd\x88\x0c\x23\x98\x23\xd9\xfe\xdd\x5d\xed\x7a\x9e\xb9\x88\xfb\xa0\xc4\xc3\xf3\x82\x1d\x68\x97\x8b\x42\x02\x4f\x2b\x7c\x42\x51\xf1\xbc\xa0\xd5\xd2\xa1\x77\x0c\x4a\xfe\x34\x21\x9e\x37\x57\xa4\x99\xd4\x86\xc6\xae\x90\x55\x17\x32\x00\xc3\xf9\x78\xeb\x02\x19\x37\xdd\xd9\x5a\xdd\xdd\x5d\x40\xe2\x02\xc7\xcf\xd6\x74\xe7\xdc\x23\xe3\x1e\x71\xb7\xa6\xf8\x62\x05\x2f\xa6\xad\xd6\xd6\x0a\x5f\x0c\x88\xbb\x12\xcf\x17\xf8\x3c\x24\xae\x28\x38\x6d\xb5\x74\xc8\x70\x88\xe1\xc2\xdf\x3e\xc1\x3f\x5d\xf1\xc7\x26\x74\xee\x75\x81\x2c\xc1\xc5\x1d\xf2\xa7\x89\x45\xb6\xcf\xb7\x33\x3a\x6d\x6a\x19\x6e\x81\xea\x79\xb6\xfd\xd3\x28\x82\x15\xb2\xef\xd5\xd6\xcc\xb9\xa7\xe4\x63\x5d\xbf\x50\xa0\xee\x6b\xed\x35\xbc\x2a\xfb\x3b\xc6\x4b\x6f\xd0\x6b\xb5\xbe\xbe\xf0\x46\x7d\xc4\xd8\xe4\xb8\x7c\x6d\x0f\x7a\x4a\x76\x9d\xf6\x79\xc0\x9b\xa5\xd6\xca\x9b\x2b\xb8\xfe\x15\x06\x43\xd5\xbb\x1a\xaf\xa9\xc3\xb8\xd7\x01\xbf\x9c\x2f\x36\x54\x70\x77\x37\x93\x66\xa7\x32\x17\x15\xb2\x4d\xfe\x44\xb6\xe7\xd2\x89\x5f\xe3\x94\xcd\xe5\xf5\xda\x6a\xb9\x50\x44\xdf\x7a\x13\x5d\xf9\x61\x30\xd3\x7c\xb9\x86\x46\xb6\x2b\xc1\x42\xe6\x46\x63\xb9\x0f\xb1\x36\x63\xf3\x20\xc2\x15\x3a\x8c\x4f\xa9\x14\x12\x86\xa8\x54\x1e\x68\xc9\x4f\x50\x8b\x0d\xf5\x18\x0a\xf2\x85\xb8\x9d\xad\xa1\xc4\xfa\x9b\xcd\x7e\x00\x83\x3f\x9b\xc9\xdc\x6a\xc4\x18\x79\x9b\x01\x98\xdf\xa0\xac\x26\xbf\x56\x6c\x75\x90\x85\x4f\x13\xb1\xb7\x83\x62\xec\x6d\x78\x3f\x49\xcf\xa0\x80\x0c\x63\x2d\x82\x71\xbc\xcd\x9e\x75\x66\x18\xdf\x13\x0f\xa0\x84\xa9\xb9\x4f\x76\x12\xa9\x48\x3d\xee\xea\x09\xea\x77\x09\xec\x32\x2a\x7b\x87\xdf\xd3\x40\x46\x1c\x68\x22\x4c\xdd\xfc\x40\x83\x4e\x1a\x27\x85\xed\x4d\xd8\x38\xb9\x18\x5d\x36\xf9\x8a\x3e\x80\xdf\x8b\x17\x4b\x3f\x91\xf3\x07\xf9\x82\xf2\xc2\x83\x71\xaf\x82\xff\x34\xd5\xee\x4d\x92\xb3\xe6\xfe\x6e\xe4\x7d\x7d\x81\xbf\xa6\x13\xb3\x59\x8e\x58\xb4\x3a\xf4\x93\x94\x25\xe3\xa4\x93\x30\xbc\xd1\x56\x18\xca\x00\xe3\x66\x06\x5e\x22\x6e\x34\x7b\xcb\x6e\x8f\xd9\x7f\xac\x58\x34\x65\x0d\x91\x17\x4b\xdf\x32\x65\x1c\x5c\x8c\x6c\x93\x74\x82\x34\x8b\x3a\x64\x34\x93\x03\x3c\x94\x75\x73\x43\x44\xeb\x2c\xd4\xba\x2b\xe5\xf1\x91\x75\xde\x97\x6b\x14\x2b\x17\x05\xc9\xd4\xeb\x4b\x7a\x4a\x76\x02\x83\x72\xc3\x2d\x63\x4c\xf2\xa8\x9c\x2a\x20\x63\x34\xd3\xe2\xb9\x96\x4a\x66\x60\xec\x9c\xea\x50\xfe\x91\xb2\x35\x42\xc5\xd5\xbd\x8f\xed\xf6\xb4\x79\x87\x72\xe1\xfe\xcb\x1c\x56\xe7\x94\x4d\xf8\xc3\x42\x95\xbb\x30\xeb\xee\x58\x5c\x37\x8c\xb3\xd8\x50\x1a\x46\x60\xad\x5c\xda\xdd\x10\xd7\x81\x4f\x12\x31\xfe\x9b\x06\x37\x4c\x7c\x60\x64\x67\xb1\xee\x0b\xb8\x37\x2e\x75\x4b\xc7\xbb\xb4\xdc\x2d\x17\x71\xeb\x53\x47\xe5\x72\x16\x56\xbd\x61\x32\xe1\xa9\x4d\x10\x42\x42\x8d\xea\x72\x1f\xcc\x3b\x4a\x1d\xf2\x16\xcb\x55\x86\x61\x7e\x03\x8c\x44\xdb\x6a\x95\xf5\x7e\x7e\x13\x4c\x51\xdf\x1b\x25\x52\xf0\x36\xa8\x47\xd6\xbf\x46\x1e\x70\x69\xac\x1a\x11\x08\x57\xc5\x94\x8c\x88\xe2\x7a\x06\x23\xce\x67\xd0\xef\xc2\xe6\xbb\xa5\x7c\xeb\x8c\x0a\x47\xb0\x9c\x6d\x9f\x51\xe9\x6f\x95\xf3\xbb\x67\xe8\x33\x97\xf2\x7a\x67\xc2\x83\x2e\x65\xf6\xcf\xee\x1f\xe0\x33\x76\xc6\xda\x4f\x84\x85\x8d\xe1\x0d\xf3\x5f\x5c\xe6\x43\x8f\x75\x4a\x27\x1c\xfc\x54\x97\xdd\x57\x2f\x92\x92\x22\x96\xd5\x10\xd0\x38\xff\xee\xa8\x07\x85\x95\x8b\x40\xcd\xe6\x20\xa9\x66\x68\x41\xbe\x3c\xb5\x35\x2d\xcc\x66\xaa\x0b\xe9\x3b\xdc\x4d\x28\xe0\xbe\xcf\x29\x48\x1e\x43\x41\x01\xe9\x9a\x35\xf8\x9d\xc4\xe5\x55\xd4\xc1\x06\xd4\xc2\xe8\xe6\x2d\x83\xf2\xe3\x6c\x77\x7d\x71\xca\xe4\x6d\x99\x94\xe9\x69\x15\x79\xfa\x38\xce\x09\x16\x35\x51\x17\xfd\xbe\xac\x6f\xaa\xc2\x2f\x18\x90\xe6\x35\xbe\x92\x6b\x09\x2e\x6a\x5e\x38\x2c\x14\xce\xa8\x2b\x92\xcc\xc5\x95\x6d\x98\x57\xa8\x14\xaf\xc3\xa9\x96\x4b\x68\x90\x65\x16\x3a\xb3\xf6\x05\x62\x87\x01\x3a\x1a\x18\xae\x35\x18\xa8\x79\x54\x3c\x63\x77\x77\xd6\x60\x58\x79\x76\x0a\xcf\x3b\x9b\xd6\x37\xdc\xf5\xab\x17\xf7\xf7\x15\xed\x87\xde\xc0\x54\xac\x9a\xac\x36\xaf\x9a\xcc\x1e\x58\x35\x59\x6e\x5a\x35\x99\x6f\x5a\x35\x19\x97\xd5\x53\xaa\x4f\x4c\x4a\x26\x9f\x3e\xbc\xfd\xf0\xf1\xcb\x87\x33\x42\x97\xe2\x7f\x78\x64\x9c\x92\xc9\xfe\xf1\xde\x19\xa1\xe4\x4f\x84\xce\xe0\x7f\x78\xa6\xd9\xa6\x64\x72\x60\x9d\x11\x1a\xe9\xe4\x4f\x1f\x0f\xe1\xf5\xe4\x90\x18\x74\x06\x09\xbb\xfb\x0f\x22\xe1\xba\x00\x67\x2b\xb8\xbf\x22\xdc\x5f\x33\xb8\x5e\x06\xd7\x03\xb8\xae\x82\x3b\x42\xb8\xa3\x0c\xae\x9f\xc1\xf5\x01\xae\xa7\xe0\x8e\x11\xee\x38\x83\x1b\x64\x70\x03\x80\xeb\x23\xd9\x13\x0b\x8b\x23\x80\x93\x01\x40\xc3\x0e\x06\x12\x60\x98\x01\x8c\x32\x00\x07\x00\x86\x12\xc0\x51\x00\x5d\x2b\x03\x18\x01\x80\x23\x01\x46\x19\x80\xad\x00\x6c\x60\xea\xc1\x48\x00\xd8\x66\x06\x90\x31\xc7\xb6\x90\x89\xa6\x84\xb0\x32\x88\x8c\x2d\xb6\x60\xb3\x25\x21\xba\x0a\xa2\x97\x57\x82\x0c\xb6\x6c\x09\xd1\xcb\x20\xb2\x5a\x46\x36\x25\xff\x05\xb3\x03\xdd\xd7\xc9\xbf\x10\x83\xfa\x3a\xf9\x85\x18\xc0\xb4\x25\x46\xef\xa0\xc4\xda\x02\x80\x50\x27\x62\x75\xf0\xc3\x6a\xf1\x95\x18\xe2\x79\x37\xe4\xc5\xc7\xf7\x8c\xfb\xe2\xf9\x8c\x4e\xfa\x26\x25\xf6\xbf\xfc\x58\x51\x8b\x92\xee\x3f\xfd\x58\x51\x9b\x92\xde\x3f\xff\x58\xd1\x2e\x25\xfd\x3f\xff\x58\xd1\x1e\x25\x83\x5f\x7e\xac\x68\x9f\x92\x61\xeb\xc7\x8a\x0e\x28\x71\xfe\xf2\x63\x45\x87\x94\x8c\xf4\x1f\x2a\xda\x73\x28\x31\x8d\xac\x68\xe9\x53\xf8\x3a\x04\x55\x20\x0c\x83\x31\xa2\xa4\xfd\x75\x3d\x9e\x35\xf9\x58\x74\x48\x89\xb7\xfd\x43\x45\x87\xdd\x1f\xad\x75\x60\xfd\x78\xa5\x16\x25\xdb\x7f\xf9\x91\xa2\xa0\x68\x5e\xbd\x3d\x3e\x3c\x23\x34\xd1\xc9\x7f\x12\x4a\x4e\xcf\x89\x01\xe9\xd3\x73\x42\xc9\x7f\x62\x61\x18\xca\xa0\x70\x4e\x76\x5f\x9d\x11\x1a\xe8\xe4\x94\xe3\x88\xff\x3b\x31\xe8\x9c\x2e\xf1\xbd\x63\x51\xf2\x1f\x7f\x05\x12\x7c\x9d\xfc\x35\x2b\x06\x9c\xbc\xfe\x22\xb3\xbf\x64\xd9\x83\x11\x25\x6c\x5f\x66\xef\xe7\xd0\x36\x25\xc9\x91\xcc\x3e\xca\xb3\x7b\x94\xf0\x13\x99\x7d\x92\x67\x8f\x28\xb9\xfd\x37\x99\xfd\x6f\x79\x76\x9f\x92\xd5\x27\x99\xfd\x29\xcb\x86\x8e\x09\xde\xc8\xec\x37\x79\xf6\x88\x92\xf8\xa3\xcc\xfe\x98\x23\x31\x29\x59\x1e\xca\xec\xc3\x2c\xdb\x46\xc5\xfb\x5d\xe6\x4f\xf2\x7c\x50\xa7\x67\xf7\x32\xff\xac\x90\x6f\x52\x72\x7a\x7a\x27\x5f\x9c\x9e\xe6\x6f\x40\x41\xef\xed\x1e\x1e\x67\x26\x0f\xf9\xd2\xa7\xc4\xdf\x95\xd0\xbb\x39\x35\x5d\x4a\xd2\x63\x99\x7d\x9c\x73\xd1\xa1\x64\xf6\x5a\x66\xbf\xce\x9b\x64\x52\x32\x3f\x90\xd9\x07\x79\xb6\x45\xc9\xc5\x4f\x32\xfb\xa7\x3c\xdb\xa6\xe4\xf2\x67\x99\xfd\x73\x9e\xdd\xa3\xe4\xdf\xff\x35\xd3\xdc\xff\x4a\x0c\xba\xcc\xde\xf5\x29\xf9\xf6\x36\x7b\xf7\x56\x8d\xc2\xbd\x90\xf9\xc9\x57\xa1\xdc\x11\x6e\x40\x49\xf8\x2e\x83\x7b\x57\xc4\x61\x39\x03\x4a\xc6\x2e\xbc\x9c\x67\xcc\xb2\x29\x79\x76\x4a\x8a\x79\x68\xc3\xf7\x3f\x9c\xec\x1f\x81\x91\x39\x4d\x08\x5d\xd1\x95\x78\x03\x56\xf6\xf8\xe7\x37\x07\x27\x25\x0e\x8e\x4c\x4a\x7e\xfd\xbb\x6c\xce\xdf\x73\x0e\x3a\x94\xdc\xfc\x4d\x66\xff\x2d\xe7\xe0\x90\x92\xe9\x5e\x49\x4d\xed\x15\x06\x0c\xe8\xa5\x3d\x39\x50\x06\x94\x5c\x7d\x2e\x41\x7e\xae\x40\x7e\x96\xe3\x78\x40\xc9\xf9\xab\xac\xd5\xaf\x54\xab\x03\x7d\x46\x97\x00\x30\x74\x28\x89\x3e\x94\x75\x63\x05\xd5\x07\x81\x6a\x38\xa4\x64\xf1\x5e\x52\xfd\x9e\xe4\xbc\x73\x28\xa1\x2f\x20\x3f\xd5\xe7\x05\x9e\x42\xe3\x3b\x2f\x1b\xf2\x2d\x4a\x9e\xef\x64\x24\x7d\x15\x66\x78\x27\xef\x29\xf4\x48\xf6\x4e\x8e\xde\x95\x1c\x30\x74\x43\x76\xdf\x9d\x94\x32\x01\xd7\xe4\xdd\xee\x61\x19\xb4\x6b\x53\xa2\x49\x42\xff\x25\x57\x1a\xe0\x42\x1c\x55\x61\x47\xd0\xa7\x47\xef\xf7\x3f\x7c\x2a\x65\xf7\x00\xf8\xf0\xe8\xe4\x78\xef\xa8\x4c\x45\x0f\xfc\xae\xe3\xbd\xa3\x77\x6f\xcb\xf9\x30\x14\x5f\x1d\xed\xef\x96\xb3\x11\xfa\xcd\x87\xe3\xfd\x23\xa0\x1b\x39\xfa\x96\xdd\x8a\x6d\x59\x82\xcb\x82\xb6\x2e\xc8\xcf\xcf\x1f\xdf\xef\x17\xa0\x7e\x8e\x17\xac\x04\x03\x94\x1e\xfe\xf4\xe9\xb0\x00\x73\xe8\x5f\xb0\x4f\xcb\x22\x54\x0f\x30\xbd\xde\x7f\x57\x00\x7a\xcd\xc2\x12\x9e\x3e\x4a\xf1\xeb\x02\xc4\x7e\x34\x2b\x41\xf4\xb0\xa6\xd7\xc2\x07\x2e\xd6\x85\xdf\x8a\x8b\x90\xd0\x29\x25\x8a\x76\x93\x24\xbe\xae\x90\x04\xda\xa5\x82\x0c\xc1\x6a\xd8\x80\x89\x47\x6f\x7e\xfa\x19\x98\xc5\x75\xf2\xa7\xc9\x1e\xa8\xf6\x8f\x7b\x45\x18\x10\x8e\x77\xfb\x07\x19\xc8\x6b\x04\x79\x5d\x00\xb1\x7a\x40\xff\x87\x4f\xef\xdf\x7d\xdc\x2b\x77\xc7\x08\x98\xf3\xf6\x10\xfc\xcc\x59\x06\x3e\x1a\x62\xa6\x55\xce\x74\x30\xd3\x2e\x67\x8e\x30\xb3\x5b\xca\xb4\x4c\x13\x73\x7b\x95\x5c\x0b\x73\xfb\x95\x5c\x1b\x73\x07\x95\xdc\x2e\xe6\x0e\x2b\xb9\x3d\xcc\x75\x2a\xb9\x7d\xcc\x1d\x55\x72\x45\x1b\xb6\xcf\x7e\xc8\x62\x9b\xa2\x5d\xed\x1f\x2c\x2d\x98\xfa\x97\x32\x45\x96\x68\xff\xf3\x4a\xae\xe0\x55\xa7\x9c\x0b\x4a\x6a\xf2\x6a\x17\x3b\xeb\x52\x2f\xcf\xa3\x6a\x13\xa9\x01\xce\x57\xbe\xbc\xce\x61\xb3\xb9\x54\x6d\x32\x05\x36\x69\x72\xb4\xff\xee\xe3\x6e\x01\x3c\x9b\x52\xd5\xe6\x54\x0e\x4e\x21\xc4\x90\x97\xc0\xd9\xbc\xaa\x36\xb1\x02\xf7\x60\xf2\xe5\xcd\x87\x63\x04\x96\x93\x2b\xa3\x32\xbb\xb2\xd1\x30\xbc\x3a\x7a\x73\xd2\xce\xc0\x86\x39\xd8\x28\x03\x1b\x4a\xb0\xed\x0c\xcc\xc9\xc0\xe4\x4c\xeb\x81\xa5\xab\xa2\x66\x59\x7b\x1c\x2d\x5b\x0f\xa8\x6e\x0f\x2d\x7e\xae\x5e\x33\xc5\xc7\x5d\x83\x40\xf5\x3f\xc8\x23\x28\x41\xed\xd5\x40\xc7\x56\x99\x8e\xf2\x6e\xd4\x5f\x0a\x44\xe0\xb6\x04\xb1\x2b\x21\x5b\x8d\x29\xee\xec\xa9\x20\xaa\x2f\x81\x91\x3f\x4d\x7e\x26\x2e\xf9\xd3\xc7\x9f\x89\xab\x97\x81\xb3\x4f\x6e\x29\x56\x0b\xb4\xea\xd5\xc5\xdc\xf2\x1a\xc4\x63\x98\x0f\x5a\xf4\x37\xb7\xf8\xed\x6f\x6c\xf2\x01\x36\xf9\xe0\xa1\x26\x8b\x3b\xa7\x7e\x6b\x8b\xa5\xf9\x79\xb8\xd1\xe5\xdd\xc5\xc5\x46\x93\x3f\x4d\xfa\xff\x78\x88\x5a\x51\xcf\xef\x40\x30\x98\xc2\x87\x07\xc7\x86\x7d\xbe\x95\x0d\xa4\xd5\x7d\x24\x5b\xaa\x0f\x77\xc8\x9f\xfe\x13\x7a\x62\xd2\x7d\xd4\x68\xc9\x6c\xeb\x6f\x64\xe5\xe0\x51\xac\xc4\x0f\x1f\xbf\x9d\x99\xca\xd4\x3f\x4c\x73\x4d\x52\x4b\xea\x66\x33\xc1\xef\x82\xe8\x11\x7d\xef\x96\x37\xfd\x15\x86\x4f\x6d\x73\xd3\xe3\xc6\xd1\x2e\x8e\xa3\xdd\xc7\x74\x5e\xee\xcb\xfc\xf1\x9c\x78\x4c\xd7\xfd\xee\xbc\x78\x85\xbc\x78\xf5\x20\x2f\xc4\x94\xcb\x6b\xfc\x8e\xbd\xa6\x65\xd7\xc1\x92\xed\x89\x23\x99\xe9\x03\xed\x7a\xb0\x76\xb9\xac\x53\xbd\x9e\x3b\xff\xfe\xf1\xf4\x35\x7a\x75\xb4\xab\x4e\xf8\xd2\x4f\x53\x59\xe3\x39\x4b\x70\xe4\x2b\xa6\x1b\x8d\x9f\xee\x8b\x66\x34\xdb\x37\xd7\xb0\xe5\x45\xee\x9e\xb3\xd4\xb1\x62\x62\x11\xb1\xb1\xcd\xce\x0e\x1a\x27\x38\xad\x11\xb9\xdd\x62\xee\x44\xe5\xf6\x8a\xb9\x30\xd1\x17\xd9\xfd\x62\xf6\x99\xca\x1d\x14\x73\x7f\x51\xb9\xc3\x62\xee\x57\x95\xeb\x64\x64\xfd\xa7\x24\x6b\x94\xe5\x8c\xc8\xfd\x43\x7d\x24\x57\xca\x9e\x24\x22\xc0\x69\x51\xae\xca\xe8\x4d\x8e\xca\xc6\x2f\x06\x0f\x91\xa9\x96\x00\x9f\x4c\xa7\x2c\xf8\x3f\x8c\x50\xb1\x46\xd0\xb8\x2d\x66\x0d\x95\x17\x8c\xbf\x96\xa7\xfd\x74\x03\x9e\xb2\x50\x2f\x72\x37\xbc\xd8\xe8\x10\x86\xfe\x32\x65\xb3\xfc\x3a\x8b\x0c\x53\x76\xe6\xa7\x51\xe6\xd7\xd4\x8a\xbb\x80\xb2\x9a\x76\xe7\x9c\x25\x02\x45\x21\xca\x4e\xd2\x99\xca\x6a\x4f\xe2\xfd\x68\x26\x8e\x03\x24\x06\xed\x9b\xeb\xf4\x02\x0e\xa5\xec\xa8\x69\x13\x85\xff\xc3\x08\x5c\x87\x76\x4d\x2c\x9d\x87\x54\x9d\x1c\x51\xff\xcb\xc3\x2a\x17\xd7\x6b\x9a\xe5\xb4\x68\x58\xd4\x15\x9a\x4b\x16\xe9\x59\x30\x1a\xb5\x63\xba\x73\x99\xb0\x39\x25\x84\x12\xb1\xb3\xde\x8b\x62\x2a\x0e\x27\xdf\xb2\x94\xca\x50\x2e\x90\x14\x76\xe8\xdc\x4f\x52\x7c\x5c\x04\x51\xb0\x08\x7e\xf5\xcf\x43\xf1\x5a\x84\x3e\x21\xdb\xb2\xb2\x20\x8a\x98\x88\xdb\xb6\x4d\xa8\x8c\x80\x52\x7e\x29\x02\x15\x3d\x64\xce\xc8\xff\xf6\x28\x36\x7c\x6e\x66\x43\x41\x48\xab\xce\x5b\x7e\x58\xad\xe8\x67\xb7\x5a\x0d\xf2\x24\xc0\x76\xd6\x0f\x7d\xdc\x15\xf4\x83\xdf\x46\x5d\xf2\xbf\x3f\xd8\x42\xb1\x10\xf7\xff\xcf\x8e\x8e\x57\x7c\x7d\x47\xe3\xcb\xc7\x75\xf4\x6f\xd6\xd9\xbf\x41\x15\x8e\x6b\xbc\xbc\xbb\x4b\x2a\xfa\xb1\xa8\x19\x77\xaa\xb6\xbb\xd0\x09\x62\x5b\xeb\x5a\x47\xfc\x31\xba\xa6\x18\xdd\xa5\x4a\x45\x49\x0b\xe9\xc6\xfd\x03\x1a\xf2\x41\x57\x5e\x2c\x17\x3f\x28\x5a\x1b\xe4\xb7\x3a\x43\x91\xa7\x2c\xff\x30\xb3\x57\x5e\x86\x6a\x88\x3d\xd0\x60\xb3\x6a\xa7\x58\x0b\x53\x27\xb5\x07\x8c\xb4\xbf\x12\xcf\x53\x3d\xbb\x43\xfe\x0f\xb2\x86\x4e\x21\xb1\x60\x7b\xac\xad\x0d\xe2\x05\xd5\x1c\xf8\x53\x1e\x27\xba\xf1\x08\xaf\x50\x4a\x6b\x83\x53\x08\x35\x11\x93\x78\x5e\x62\xac\x9b\x22\x14\x42\x5f\x98\x85\xe8\x01\xc1\x06\xf2\xf2\x58\x19\x63\xd2\x06\xe4\x77\x77\x72\x1d\xb0\xc0\x84\xa0\xed\x59\x6e\xb0\xad\xee\x11\xdb\x5c\x73\x90\xc5\xda\x7c\x8a\x27\x2f\x37\xe6\x35\xc5\xe7\x0a\x67\x53\x3f\x99\xed\xc5\xab\xfc\x7e\x36\xb9\x11\x25\x3f\xdf\xd3\x8c\xad\xb3\x88\x67\xc1\x3c\x60\x49\x9a\x1d\x3e\xcc\x37\xd7\x08\xfc\x13\x7e\xe6\xb1\x09\x3f\xbb\xbb\xdb\xb2\x28\xf9\x8b\xdc\xc7\x3d\xe1\x67\xd2\x50\x94\xaa\xdf\xde\xae\xc5\x02\xd9\x58\xab\x37\x21\x28\x5e\xa0\x6c\x79\x12\x12\x8a\x47\x03\xa8\x38\x12\x70\xb6\xa6\x74\x61\x5f\xef\xba\xf1\x58\x22\xea\x05\x2f\x3f\xef\xb4\x2d\xb7\x02\xf2\xb2\x0a\x62\xb9\xe6\x3a\xe2\x0b\xa1\xbe\x7c\x3e\xbd\x5c\x77\x7f\xa9\xe4\xfb\x56\xde\x05\x79\x48\x67\x19\x85\xd2\x1c\x6f\xdc\xbf\xbc\xa1\x6f\x02\x75\x67\x56\x80\x9b\x4c\x5b\x2d\x36\x09\xce\xc6\x49\xab\xa5\xf3\xbb\x3b\xf2\x17\x22\xc6\xdb\x24\x38\x33\x44\x2f\x4d\x82\x33\x71\x96\x2c\xc1\xd3\x3b\xc5\x3e\xa2\xc9\x23\x1b\x2a\x37\x83\xae\x5d\x19\x12\xdc\xd0\x19\x85\x1a\x1e\x8d\xb2\x49\xac\x9b\xb1\x9a\x88\xf5\xa3\x8c\x90\x55\x1f\x06\x89\xbf\xf4\x31\xf8\x84\xb7\x85\xae\x4a\x9e\xa1\xf6\x90\x5e\xb1\x24\x65\x5f\x0a\x70\x5b\xb8\xa4\x5b\x7b\x21\xa3\x14\x24\xc1\x45\x10\x61\xcc\x00\x09\x98\xe7\xc8\x63\xec\x2b\x1e\xef\xf9\x49\x12\xf8\x17\xec\x08\x69\x56\x90\xf5\x37\xd9\xfd\xfe\x69\x9c\x7c\x16\xf1\x4b\x14\x70\x29\xb3\x08\xf7\x2a\x0c\xa2\x6f\x65\x28\xcc\xa2\xea\x2c\x32\x4b\x78\x91\xbe\x3c\xa7\xd4\xe2\xcf\xc1\x8c\xc5\x95\xc6\x62\x9e\x0c\x23\x90\xf8\xd3\x6f\x8c\xb3\x99\x8c\x48\x20\xe0\xca\xb9\x8f\xde\xe9\x2b\xf6\xb3\xd7\x2f\x9c\xc6\xc8\x90\x1e\x91\x51\x03\x96\x71\x9a\xdd\x2c\x79\x99\x1d\xe4\x17\x65\x8b\x47\xe6\xf1\x26\xfb\x06\xc9\x28\x84\xc6\xc1\x42\x1a\x42\x6a\x3e\x57\x61\x49\x96\x71\x2a\xee\x2d\x15\xa7\x35\x6a\x98\xf3\x6d\xea\x0d\x51\xf5\x32\x12\xbd\x02\xed\x72\xbb\x6e\x23\xb6\xca\x86\xd8\x3c\x8c\xa3\x6c\x36\xcb\x5b\xcd\xef\xee\xf2\x86\xb3\xa2\xf5\x6a\xc4\x5c\xdd\xfe\x5f\xa4\x56\xdc\x73\x9f\x9d\x99\x43\x2e\x8e\x4b\x9b\xcf\x33\x84\xc1\x8c\x45\x5c\xea\x12\xa5\x55\xde\xb2\xdb\xd4\x60\x93\x07\x61\x26\xfc\xec\xcc\x53\x61\xe8\x55\x3b\x5e\xd4\x39\x33\x56\x6d\xfe\x16\x2c\x45\xe4\xf4\xd2\x29\x51\x6c\xc9\x49\xfc\x8d\xc9\x29\x34\x09\x22\xce\x2e\xf0\x3a\xe0\x04\x23\x0a\x1b\x99\x9e\xf4\x92\x0e\x5e\x15\x9e\x5d\x21\x48\x72\xda\x72\x70\x69\xb8\x25\x6c\x87\xc7\x9f\x96\xcb\xe2\x89\xf5\xe0\x51\x1c\x68\xb5\x1e\x04\xe9\x5c\xfa\xe9\xc7\xeb\xe8\x30\x89\x97\x2c\xe1\xb7\x7a\x60\xa8\xfd\xba\x0f\xf3\x2e\xc0\x8d\xf5\x6c\x92\x9e\xb5\x5a\xa8\x96\x21\x29\xe3\x3b\x21\x5b\xe4\x29\x85\x7c\x07\xba\x2a\x0e\xc2\x2b\xdb\x66\x8c\xa1\x94\xb7\x65\xde\xe7\x91\xfc\xd7\xb7\x4e\x32\x71\x5d\xcb\xd4\xeb\x86\x56\x35\xd0\xa5\xa2\xe2\x7d\x63\xb7\x65\x82\xb2\xbe\xda\x58\xc9\x24\x38\xbb\xcf\x88\x26\xe9\xed\xe2\x3c\x0e\xc9\x96\xea\xc1\x7a\x75\xd9\x61\x0d\x29\x1c\x5a\x9c\x68\x85\xbe\x17\x82\xf3\x17\xc4\x20\x08\x69\xa2\x58\xdd\xeb\xae\x89\xfa\x4a\x74\xab\xe1\x11\x3d\x6e\x78\x60\x3f\xfb\x8f\xe8\xe7\xe8\x6c\xcc\x26\xfe\xd9\xdd\x9d\x0e\x7f\x3c\xf2\x17\x62\xdc\x67\xeb\xa2\x85\x11\x41\x49\x5b\xda\xe6\xce\xf4\xd2\x10\x07\x72\x83\xb9\x2e\xc2\xed\xe6\x8e\x42\x13\x67\x78\xe2\x17\x4f\xa7\xf9\x30\x23\xd2\xb8\x9f\x5c\x30\x0e\xdd\xa3\x82\x80\xf9\xb3\x2b\x3f\x9a\x32\xdd\xc2\x75\x59\x40\xec\x6d\x44\xfc\x3e\x48\xd3\x20\xba\x28\x63\x52\x7e\xd4\x46\x9d\x24\xd4\x7e\x5d\xd5\x57\xc6\x3f\x5b\x33\xfe\xb3\x93\x48\x4c\x48\x43\xe6\xbb\x89\xb1\x5f\x1b\xf6\x12\x4c\x44\x98\x40\x98\xb5\x7d\x28\x4e\x96\xad\x1b\x01\xf2\x6d\x75\x00\x48\xa4\x85\x29\xc8\xfa\xb2\x13\x09\x7c\x36\xde\x38\x64\x0a\x07\x10\x15\xf6\xfb\x0d\x42\x2f\x38\x52\x95\xf9\xe6\x3e\x60\xec\xdb\xda\x10\xa7\xcf\xf2\x58\x32\x77\x77\xcf\xc8\xb3\xec\x69\x2d\xaa\x37\x59\x7d\xeb\xcc\xe1\xf4\x52\xdd\xbd\x3d\xf1\xdb\xbf\x7e\x3d\x7b\x1e\xac\x27\xec\x8d\x18\xbc\x8f\x40\x65\xb6\x47\x67\xcf\x37\x58\x3e\x94\x97\x52\xfc\x46\x1c\xff\x59\x83\x32\x23\x28\xe2\x8d\x4b\x05\x43\x91\xd5\xae\x6a\xf4\xb8\x58\x79\x3e\x3c\x28\xcb\x06\x68\x99\x05\xd9\x2c\x54\x62\x2d\x74\x46\x11\x33\x12\x58\x2c\x75\x3f\x2e\xe2\x93\x17\xa6\x57\x70\x49\xa1\xaf\xe1\x51\xd0\x65\x1c\x92\x91\x35\x82\xa4\xe5\xac\x53\xa3\xe0\xef\x1b\xe5\x32\x53\x8c\x1c\xd8\xba\x4e\xb2\xca\xcd\xaa\x30\x7f\xab\x99\x5f\x9b\x34\x79\x51\x7d\x97\x1c\x2c\xa8\x48\x1d\xff\x43\xa9\x32\xdb\xa3\xaf\x67\xdb\xcf\x2f\xd6\x89\x56\xa1\x89\x0d\x52\x6f\xe6\x62\xa1\x62\x59\x34\xfa\x29\x6d\xab\xd5\x22\x37\xa4\xec\xdc\x49\x3f\x2c\xf3\x1d\x2d\x6a\x19\x3b\xaa\x42\xbd\x81\x5e\xf3\x06\x84\xd7\x6f\xcf\x05\xc1\x86\xbb\x09\xf8\x74\xb6\xfd\xfc\xc2\xd8\xd0\xaa\xfa\x50\x16\x72\x0d\xfe\xb2\x6a\x14\x48\xc6\x33\xf2\x4c\x44\xdb\x79\x86\xd1\x76\xea\x6c\x17\x88\x34\xd5\xd3\x75\xa3\x50\x38\x0e\x08\x4e\xf4\x11\xbb\xd8\xbf\x59\xea\x64\x72\x7a\x7a\x7a\x4a\xb6\x31\x34\x36\x25\x17\xaa\xdc\x5a\x4f\x0f\x4f\x97\x86\x7e\xca\xdf\x44\x33\x76\xe3\x29\x60\xba\x95\x60\x80\x7a\xbd\x50\xa8\xd9\xad\x90\x0b\x23\x05\xb5\x17\x06\x9c\x25\x18\x2a\x02\x34\xfc\x76\x43\xf7\xe0\xe9\x49\x55\x53\xa1\xfa\xb6\xa5\x82\xbc\xc9\x66\x16\xdf\xa9\x02\x00\x24\xd8\x77\x77\x47\x4e\x4f\x0b\x56\x18\x74\x0a\xf2\xb3\xfa\x22\x9b\xca\x4f\x2f\x3d\x8f\x1b\x6b\xd5\x88\x08\x2e\xb4\xad\xca\xd1\x2a\xcb\x8b\x47\x4c\xf3\x62\xdb\x05\xbb\x28\x4e\xbd\xeb\x4d\xd6\x61\x23\xab\xd6\x4b\x94\x8c\xe9\x56\x9f\x2e\x3c\x23\xcf\xdc\x67\xe4\x19\x25\xcf\x88\x4b\x9e\x11\x0a\x4d\x76\xe1\x87\xfa\x2e\xf9\x5f\x09\x3d\x77\x71\x1f\x39\x73\xc9\x9f\x08\x9d\xbb\xe4\x74\x4e\x68\xe4\x92\xd3\x88\xd0\xc4\xc5\xed\xbc\xdc\xc5\xdd\xe4\x57\x2e\x39\xbd\x22\xf4\xc6\xad\xd5\xb1\x7e\x78\x9f\x7d\xb7\xef\x61\xb8\x8c\x37\x7c\x61\xce\x06\x12\xa3\xd6\x00\x06\xcd\xea\x69\x35\xf4\x9e\x5c\x03\x2a\xdd\x2d\xd5\xd5\x6a\x41\xa5\xea\x1f\x28\xa9\xd8\xe4\x26\x8b\x50\x07\x59\x54\xf1\xe9\xa5\x70\x81\xb8\xc7\x26\x32\xe3\x6c\x9d\x35\x6a\x38\x2b\xc9\x5b\x2d\x9d\x7b\x3c\x8f\x3e\x62\x18\x94\xaf\xef\xf2\xa6\x95\x14\x11\xb9\xeb\x22\x8c\xcf\xfd\xb0\x81\x6e\xd0\xa6\x49\xe4\x87\x62\xfe\xec\x6a\xc7\x4b\x3f\xd2\x96\x02\x4f\xaa\x2d\x56\x29\xd7\xce\x99\x26\x8a\x13\xf0\xfa\xeb\x43\x5e\x35\xb0\x3e\xee\xc5\x47\xc7\xbb\x3b\x56\x1c\x8d\x13\xf3\x4c\x6a\x91\xad\x0c\xc5\x26\xf3\x81\x9e\x82\x36\x8f\x13\x31\x99\x1f\x57\xa7\xe8\x45\xe4\x56\x75\xe4\x51\xa8\xae\x91\x61\x12\xa6\xbe\x8a\x04\xca\x3f\x0b\xd2\x7f\xb9\xc9\x46\xac\x9b\xb2\x67\xfe\x6f\xb5\x23\x9e\x9f\xa6\x32\x34\x50\x26\x4a\xf2\x38\xf7\xf3\xd3\x74\xfb\xf9\xc5\x62\xcc\xd7\xf1\x37\x29\x12\x82\x2e\x82\x60\x77\x62\xa8\xe8\x4f\xb8\xb6\x90\x17\x37\x1e\xd9\x02\xca\x5a\xad\xb6\x95\x19\xce\x4e\x00\x85\x3f\xce\xf5\x46\xad\x9d\x75\x4a\x1c\x31\x2d\x9e\x43\x87\x6c\x13\xaa\xcd\xe3\x55\x34\x2b\xca\xfc\x7d\x81\x2f\x05\xe7\xd9\xfb\xde\x9c\x5f\x9a\x49\x79\xdf\xf1\x80\x80\xab\x96\x85\xf7\x4e\x8e\xde\xb9\x72\x6d\x78\xef\xe3\x87\x93\xa3\x8f\xd9\xe3\xee\xbb\x13\x11\x49\x86\xbe\xdf\x3f\xd9\x95\x61\x64\xd6\x54\xa1\x26\xa4\xde\xf7\xfd\xe3\xbd\xdd\xc3\x7d\xd7\x1e\xd2\xfd\xe3\x3d\xf8\x73\x60\xb9\x96\x65\xd3\x03\xdb\xb5\xac\x2e\x3d\xe8\xba\x96\xd5\xa3\x07\x3d\xd7\xb2\xfa\xf4\xa0\xef\x5a\xd6\x80\x1e\x0c\x5c\xcb\x1a\xd2\x83\xa1\x6b\x59\x0e\x3d\x70\x5c\xcb\x1a\xd1\x83\x91\x6b\xd9\x26\x3d\xb0\x4c\xd7\xb2\x2d\x7a\x60\x59\xae\x65\xdb\xf4\xc0\xb2\x5d\xcb\xee\xd2\x8f\x1f\xf6\xdd\xde\x88\x9e\x7c\xf9\xe8\xf6\x4d\x7a\xf2\xf3\xd1\xfe\xbe\xdb\xb7\xe8\xc1\xc7\x4f\x47\x6e\xdf\xa6\x07\x6f\x3e\xef\xbb\xfd\x2e\x3d\x7e\xf3\x37\xb7\xdf\xa3\xc7\xfb\x9f\xf7\x3f\xb8\xfd\x3e\xdd\x7f\xf3\xd3\xcf\x27\x6e\x7f\x40\x3f\xbc\xf9\xb0\xef\xf6\x87\xf4\xef\xfb\x47\x1f\xdd\x9e\x43\x5f\xed\xee\xbd\x3d\x3e\xdc\xdd\xdb\x77\x1d\xfa\xea\xed\xf1\x21\xfc\x39\x76\x1d\x7a\xb2\xfb\xca\x1d\xd1\xbf\xba\x8e\x45\xbf\xb8\xce\x90\xee\xbb\x83\x11\x3d\x72\x1d\x9b\x9e\xb8\x4e\x8f\xfe\x9b\xeb\x8c\xe8\x27\xd7\xe9\xd3\x37\xee\xb0\x4b\x3f\xba\xc3\x11\x3d\x74\x1d\x93\xee\xed\x1e\x1e\x7f\x7d\xf7\x71\xef\xad\x6b\x8b\x87\x62\x1a\xfe\xee\xba\x83\x3e\x3d\x76\x9d\x2e\x7d\xed\x0e\x1c\x7a\xe0\x0e\x4d\xfa\x93\x3b\xb4\xe8\xcf\xee\xd0\xa6\xff\xea\x0e\x7b\xf4\xad\x3b\xec\xd3\x77\xee\x70\x40\xf1\xbc\x87\x6b\x75\x21\x01\x7f\x8e\xf6\x4f\x3e\x1d\x7d\x90\x29\xf8\xf3\x77\x77\x64\xd2\xbf\xb9\x8e\x43\xf7\xdc\xc1\x90\x7e\x76\x9d\x01\x7d\xe5\x0e\x06\xf4\x83\x3b\x74\xe8\x7b\x77\x38\xa4\xa2\x75\x5d\x9b\x1e\x1f\xc2\xef\xe1\xd1\x9b\x0f\x27\x5f\x8f\xf7\x8e\xf6\xf7\x3f\xb8\x3d\x78\x3e\x39\xde\x83\xc4\xf1\xde\xd1\xc7\x77\xef\x04\xed\x56\xaf\x4f\xf1\x9c\x01\xa6\xf0\x68\x81\x6b\x8d\xe8\xab\x23\xfc\x23\xce\x14\xb8\xbd\x3e\xa4\xe0\xcf\xcf\x1f\xdf\xef\xbb\xdd\x01\x3d\xdc\xfd\x69\xff\xeb\xa7\x43\xb7\xdb\xa5\x87\x3f\x89\xbf\xaf\xf7\xdf\xed\x9f\xec\xbb\xbd\x01\xa4\xe0\xcf\xfe\x87\xd7\x6e\xb7\x2f\x40\x5f\x7f\xfc\xf2\xc1\xed\xf6\xa8\xd8\xee\x2f\x53\xf8\x17\x0a\x3b\x14\x73\x7b\x26\xc5\x6d\xf9\x6e\x77\x44\xdf\xed\x1f\x9c\xb8\xdd\x21\x95\xfb\xeb\x5d\xab\xd7\xa3\x6f\x0f\x4d\x77\x34\xa0\x6f\x0f\x2d\x77\x34\xa4\x6f\x0f\x6d\x77\xe4\xd0\xb7\x87\x5d\x77\x34\xa2\x6f\x0f\x7b\xae\x65\x9a\xf4\xed\x61\xdf\xb5\x4c\x8b\xbe\x3d\x1c\xb8\x96\x69\xd3\xb7\x87\x43\xd7\x32\xbb\xf4\xed\xa1\xe3\x5a\x26\xe0\x18\xb9\x96\xd9\xa7\x6f\x0f\xbf\x1e\xbe\xfb\x74\xec\x5a\x26\x60\xfa\xba\xfb\xfa\xb5\x4a\xbe\x7f\xf3\x01\xf3\x01\xe7\xd7\xe3\x4f\xaf\x4e\x8e\x76\xf7\x4e\xb2\xe7\x93\xdd\x23\xd7\x32\x07\x08\xf8\xe9\xdd\xc9\x9b\xc3\x77\xff\xa6\x9e\x5f\xbf\xf9\xfc\xe6\xf5\xbe\x6b\x59\x16\x3e\xed\xef\xbd\x79\xbf\xfb\xce\xb5\x2c\x13\x2b\xdb\x3f\x7a\xf3\xf1\x35\x3e\x7d\xd8\xfd\xfc\xe6\xa7\xdd\x93\xfd\xaf\x20\x91\xae\x05\x5d\xa8\x72\x0e\x3e\x1e\x7d\xd9\x3d\x7a\xed\x5a\x83\x21\x15\x1b\xca\x5d\x0b\x44\xe7\xd3\xbb\x77\xaa\x23\x2d\xa7\x4b\xbf\xbc\xf9\xf0\xfa\xe3\x97\xaf\x1f\x3f\xef\x1f\x7d\x7e\xb3\xff\xc5\xb5\x1c\x9b\xbe\x42\xd6\x7d\xd8\x3f\x3e\x86\x7e\xb1\xad\x41\x31\x07\xd9\x6b\x5b\xc3\x35\x83\x5b\x4e\xca\xb3\xa0\xaf\x1b\x8f\x49\xab\xc0\xaf\x9b\x0f\x4b\x6f\xf8\xfa\x8a\xe7\xa5\x8b\x3b\x6e\xdd\xc6\x2b\xa4\x9e\xb0\x27\xf7\x9e\x96\x77\x9d\x3e\x84\xf0\x11\xdb\x1b\x15\xca\x93\xf8\x24\xde\x48\xe0\xc3\x5b\x9c\x73\x54\xaf\x62\xce\xe3\xc5\x6f\xc5\x26\x3e\xec\xcb\xad\x13\xd3\x6f\xcd\xe8\x9e\xb2\xe3\xb1\x76\x21\x0b\x2d\x5f\xf8\x07\x42\x93\xb0\x39\x4b\x58\x34\x65\xef\xfd\xc8\x2f\xcd\x1f\xc1\x36\xd7\xdf\x17\x22\xbe\x55\xef\x95\xa3\xe4\xb9\xb8\xd4\x6a\x99\xc4\xf3\x20\x64\xe9\x73\x74\x4c\x84\x25\x6f\xa8\x4a\x15\xcf\x5f\xa4\xe3\x8f\xe7\xff\xce\xa6\xf8\xf1\x38\xd5\xb9\x51\xff\xbc\xa7\xbc\x11\x5c\xef\x63\x79\x49\x9d\x51\x3e\x61\x78\xb5\x6b\xed\x3b\x6b\x53\x1b\x38\xbb\x88\x93\x80\x29\xd3\xbb\x01\x22\x63\xb0\x47\x54\x8a\x3c\x54\x64\x77\xb9\x64\x7e\x82\x7e\x14\xc9\xd3\x0f\x16\xdb\x8b\x97\xb7\xe2\x53\x13\xc9\x92\x0f\x16\x3a\x06\x27\x23\xf5\x88\xf8\xfb\x30\x38\xca\x17\x86\xbc\xce\x92\x0f\x16\xca\xc3\x64\xab\xd4\x83\x45\xde\x07\xe9\x94\x85\xa1\x1f\xb1\x78\x95\x7a\xa4\xf4\xb8\xb1\xf0\xed\xeb\x6c\x29\x37\xf5\x26\xdf\x83\x99\xfb\x68\x66\x53\xce\x6e\xb8\x5b\xe0\xb8\xa6\xcf\xe3\x88\xa7\x54\x9b\xc6\x61\x9c\xa4\x54\x13\xd7\xad\x19\xe4\x9e\x3e\x02\x71\xd6\x07\x12\x2f\x3c\x6b\x2d\x4d\x74\xcb\xa3\x30\x28\x6e\x49\x04\x19\xf3\x1e\x55\x58\x49\x9b\x2c\x9c\x09\xdf\xa3\x0a\x67\x7d\x2b\x4b\xe7\x7d\xfd\xb8\xe2\x28\x4c\xaa\xac\x90\xac\x47\x15\x2c\xf5\xb3\x2c\x0f\x79\x1d\x72\x7f\xd6\xd8\xeb\x75\x1d\xe0\x7d\x07\xdf\xb5\x7d\x91\xb4\x17\xf1\x8c\x11\x77\xf2\x58\x3e\x61\x24\xb7\x09\xfe\xca\x50\xf6\x79\x10\x51\x9a\x07\xf6\xa4\x85\x80\xa1\x67\x94\x88\xad\x51\x9a\x1f\x69\xbb\x21\xff\x29\xd1\x66\x8c\x33\x19\x20\xc5\x9f\x7e\xfb\xe5\xcb\x25\x5b\x25\x41\xca\x83\x69\xe7\x34\x3a\x8d\x9e\x01\xfa\x67\xae\xb6\xbb\xe2\xb1\x80\xd4\xce\xfd\x14\x3d\x7f\x2d\xf2\xaf\x82\x0b\x9f\xc7\x49\x27\x94\x17\xe0\xb8\xa7\x91\x86\xff\x9e\xb1\xa8\xbd\x4a\x9f\x69\xde\x4b\xed\x19\x90\xf6\x8c\x6a\xb8\xf6\x01\xcf\x19\x35\xcf\x00\x3d\xbc\x74\xb5\xd7\x41\xea\x9f\x87\x4c\xf3\xa3\x5b\x49\x56\xc2\x42\x5c\xe8\x58\xac\xa2\x0b\x98\xb7\x9f\x46\xcf\x54\xe3\x80\x9c\x34\x5d\x2d\x98\xb6\xc7\x93\x70\x7b\x37\xe4\xda\x82\xf9\x51\x2a\x4a\x02\xa4\x6a\x7b\x0e\x09\x39\x5a\x03\x64\x4e\x4c\x06\x8a\x59\x0d\xb0\xc0\x3c\xe8\xa8\x2c\xd0\x4f\x3b\x48\xdb\x30\xd5\xc8\x73\x9e\xd0\x79\x5b\x16\x25\xe7\x71\x1c\x12\x4a\xde\xcc\xb5\x94\x71\xaa\xad\xa2\x59\xcc\x52\x8d\x5f\x32\x4d\x44\xdd\xd5\x3e\x1e\x43\xed\xed\xec\x38\x4d\xfb\xe5\xeb\xfd\x77\x5a\xc2\x16\xfe\x92\x6a\x69\xac\xf1\x4b\x9f\x6b\x25\x9a\x34\x98\xb7\xb1\x99\x16\xa4\xe5\xfc\x8e\xa2\x5e\xd2\xfc\x63\x94\x1e\x33\xae\x5d\x5f\x32\x7e\xc9\x12\x24\xd3\x0f\xb9\xfa\xba\x91\x6a\x7e\xaa\xf9\x1a\xe0\xc6\xac\x38\x11\x19\x33\x90\xa5\x68\xca\x15\x6c\x46\x48\xca\xa2\x59\xda\xbe\xbe\xf4\xf9\x13\x68\xc9\xae\x1c\x98\x64\x29\x19\xb5\x92\x96\x22\xaf\x9e\x51\xb2\x27\x62\x5f\xa5\xda\x25\x4e\x5e\x73\x62\x83\x54\x13\xf1\xe6\x67\x28\xe1\x9a\x5c\xab\xe9\x88\x7f\xda\x31\x8b\x66\x30\x3a\xf6\x8f\xf7\xb4\x65\xc2\xe6\xc1\x4d\x07\x80\xb0\x96\x8e\x02\xda\x9d\xcd\x34\xcb\x76\x34\x1e\x23\xea\x55\x84\x93\x54\x36\xd3\xb2\xa0\xfd\xd0\xfa\x20\xd2\x6e\x70\x8f\x04\x20\x28\x90\xd7\xe9\x68\x5f\xfc\x80\x63\x5c\x49\x28\xae\x6e\xd8\xd0\x30\xd6\xaa\xe6\x47\x33\x2d\x65\x4c\x03\xde\xe0\x7b\x59\x54\x53\xa3\x2b\xff\x97\xfa\xb7\x69\x47\xd3\xf4\x93\xcb\x20\xd5\xae\xe3\xe8\x19\xd7\xae\xe3\xe4\x9b\x76\xcd\xc2\x10\x86\xe8\x32\xf4\xf9\x3c\x4e\x16\x29\x74\x5b\xc2\x10\x5b\x1d\x8b\xc2\xbf\x64\x89\x00\xc6\xef\x8b\xa0\xa6\xe4\x77\x2b\xa4\x34\x8d\x17\x82\x89\x2a\x70\x5e\xda\x31\xb0\x33\x57\xb3\xe0\x3c\x64\xed\x73\x16\x86\xed\x14\x74\xe7\xc3\x1d\x2a\xf5\x2d\xb8\x67\x6d\x75\x5b\xa8\x2b\x9c\x29\x40\x17\x3f\x07\x64\x84\x92\x15\xee\x04\xfb\x74\xf4\x4e\x8b\xe7\x48\xbc\xda\x46\xa7\x01\x80\x86\xb5\x75\x34\x6d\x7f\xb1\xe4\xb7\x6a\x4d\x14\x68\x8d\x62\x4d\x92\x85\x80\x28\x74\xf2\x86\xd0\x76\x54\xb8\xfb\x13\x89\x7e\x34\xb9\xf9\x48\x78\xf6\x66\xae\xf1\x64\xc5\x68\x99\xa0\x54\xc4\x97\x63\x5a\x7e\xa3\x97\x76\x1d\x84\xa1\x26\x2e\x87\xd0\x7c\xed\x0b\x3b\x2f\x5d\x3e\xda\xd1\x2e\x39\x5f\xa6\xee\xf3\xe7\xd7\xd7\xd7\x9d\xeb\x6e\x27\x4e\x2e\x9e\x9f\x1c\x3d\x2f\x12\x99\x3e\x07\x39\x7d\x2d\xee\xb5\x81\x16\x96\x5e\x6a\x09\xfb\x8f\x55\x90\xb0\x14\xba\x6f\x11\xa4\x29\xf6\x57\x12\x2f\x84\x64\xc2\x14\x49\xfb\x72\xc9\xc4\x4a\x99\x26\xee\x66\x82\x31\x90\x32\x8e\xe2\x8b\xad\x40\xd6\x0b\x52\x7d\xce\xd9\x62\x89\xef\xfc\xf4\x5b\x86\x04\xd9\x5a\xa8\x21\x98\x6b\x11\x9b\xb2\x34\xf5\x93\xdb\x0e\x34\x29\x13\xd3\x54\x5b\xf8\xb7\xe2\x56\xaa\x4b\xb9\x6e\x54\x2c\x08\xe4\xb2\x94\x03\x82\x80\x6b\xb3\x60\x86\xa0\x62\x43\x15\xf0\x08\x49\xf7\x45\x9d\x42\xfa\x70\x98\x4a\x8d\xc8\x6e\x38\x8b\x52\x6c\xf7\x75\xc0\x2f\x91\x3c\x52\xe2\x07\x29\x56\x76\xe9\x5f\xb1\xe2\x33\x8f\x35\x79\x3f\x50\x99\x89\x9d\x67\x67\x94\xe4\x9d\xd6\x46\xff\xe9\x61\xb9\x28\xb8\x62\x24\xb9\x38\xd7\xad\x01\xd5\xc4\x7f\x06\x18\x63\x44\x42\xc9\x49\x59\x20\x30\x5b\x8c\x7d\x76\xc3\x45\x33\xa2\x58\x8b\x51\xab\x8a\x97\xbe\xba\x7c\x28\x45\xc9\x2d\x10\x86\x0e\xdd\xd3\x08\x23\x34\xfb\xd8\x48\xf6\x8e\x8f\x35\xf1\xc5\x5c\x8e\xa7\x02\x5d\x88\x7a\xcd\x60\x12\xef\xa0\x1f\x0e\xe2\x44\x63\x37\xfe\x62\x19\x0a\x6b\xbf\x4a\x42\x5d\x89\xf0\x45\x1c\x77\x2e\xc2\xe7\x7e\xc4\x66\x27\x6f\x0d\x78\x1b\x06\x11\xf3\x93\xf6\x45\xe2\xcf\x02\x16\x71\x9d\xc7\x4b\xed\x1c\x27\x8f\x54\x3b\x0f\x41\xf2\x12\x36\x33\x2a\x6d\x4c\x83\x5f\xff\xc8\x26\x6a\x80\xbf\xa3\x69\x32\xa6\x75\x0a\x42\x01\x6e\x48\x95\xd5\xea\x82\xae\x3f\x92\x14\x55\x47\x23\x6b\x2d\xf3\xcf\xf0\x1f\x24\xa7\x2c\xe2\x2c\x51\x04\x0a\x5f\x40\x18\xd0\xdf\xee\x7b\x48\x3d\x26\xc9\x13\x5e\x44\x7a\x19\xaf\x42\xb0\x42\xd1\x4c\x7b\x75\xac\xe9\xcf\x4e\x4f\x6f\x4c\xe7\x19\xd5\xfc\x6f\xbe\xf6\xcb\xcf\x46\x47\xd3\x3e\x82\xbc\x5e\x07\x29\xab\x14\x05\x13\x5b\x2c\x0e\x45\x87\xf3\x67\xc8\xdd\xcc\x3a\xb6\x17\xfe\xb2\x1d\x5f\xb1\x24\x09\x66\x2c\x7d\x12\x87\x85\xbf\x8b\x6c\x25\xf4\x19\x1a\x3e\xd0\x66\x4b\x36\x0d\xe6\x01\x9b\xa1\xd7\x11\x69\xb1\x98\x57\x6b\x6f\x38\xba\x42\x5a\x8a\x1f\x46\x34\x3f\x49\xfc\x5b\x2a\x8d\x21\xf3\xa7\x97\xda\x52\x7e\xd5\x01\x30\x68\x48\x6e\xc0\x41\x41\x4e\xe3\x19\x43\x7b\x0c\xaf\xe4\x56\x93\x02\x7e\xe1\x80\xd5\x2a\xd0\x02\x9e\xb2\x70\xde\xd1\xde\x44\x02\xa2\x5c\x7b\x63\xbd\x09\x9b\xb2\xe0\xaa\xec\x41\x54\xeb\x85\x07\xa9\xbe\x8a\x80\x8d\xc2\xf3\x9d\x98\xc4\xfd\x4e\xb6\xf1\x93\xde\xca\xb6\x46\x36\xa1\x84\x66\x4f\x26\xa1\xa4\x9d\x3d\x59\x84\x92\x4e\xf6\xd4\x25\x54\x83\xd2\xf8\xd8\x77\x1c\x72\x7f\x0f\xea\x11\x4f\xbe\xb4\xe3\xa8\xcd\x6e\x82\x47\xf8\x6c\xe5\x99\xd1\x96\x99\x89\xdc\x17\xe9\x40\xa2\x66\x41\x3b\x83\x98\xb1\x75\xe2\x10\x0c\xf4\x8f\xb0\xa3\x53\x71\xbf\xb9\x06\x55\x0a\x5d\x28\x36\xbf\xb6\xcf\xc3\x20\xfa\xf6\x24\xb9\x29\x08\x7d\x9d\x02\x44\x27\x6a\x44\xfc\xda\xf9\xad\x72\x81\x6a\xb5\xb6\xa7\xb7\xd3\xf0\x69\x0a\x6a\x62\xb1\x2e\xed\x9b\xe6\x59\x26\xb8\x68\x14\x54\x5d\x58\x79\x02\xc6\x2f\x88\xb4\x45\x10\x86\x41\xca\xa6\x71\x34\x4b\xb1\x67\x77\x35\x7e\x1d\x6b\x4c\xdc\x59\xa4\x64\x08\x48\x9d\x07\x49\xca\x41\xb5\xe0\x55\x3d\xe8\xd7\xc6\xd7\x5a\x18\x47\x17\xc5\x96\xc8\xb1\x78\xce\xb4\x38\xa2\x9a\x40\x5c\x82\x0d\x78\x11\x66\x3e\x2f\x36\xf8\xc7\xec\xa0\xaf\xdb\xfd\x3e\xd5\x4c\xf1\xff\x4e\xbf\x6a\x0c\x85\x91\x93\x3a\x51\x5e\xe1\x28\xc9\x15\x95\xc3\xfb\xf6\xd2\x0f\x19\xe7\xec\xf7\x50\x13\xe4\xa3\xc4\x21\x17\x46\x94\x9b\xa6\xbc\x5c\x59\x15\xb2\x1b\x35\xca\xd4\x8f\x80\x1b\x55\xad\x22\x46\x37\x18\xe8\x5c\xc3\x68\x30\x7d\x6b\xd4\x3e\xc0\x59\xd0\x0d\x38\xad\x9c\xa1\x98\xb1\xc7\xaa\x22\x5f\x8b\x56\x0b\x96\x04\x53\x9c\xd0\xdd\x68\x41\x24\xa7\x1a\x82\x77\x45\x82\x3f\x43\x1b\xd7\x90\x1c\x2e\xe2\x94\xe3\xac\x7a\x9a\xa6\xb2\xac\xd8\x25\xab\x69\x42\x75\x46\xd3\x70\x35\x63\xa9\xf6\x4f\x47\x3f\xbd\xa2\xda\x3f\x1d\x1d\xfd\xf4\xd3\xab\x57\x54\x03\x6f\xa6\xd3\xe9\x18\x98\xf2\x65\xd2\xc7\x99\xd1\xad\xc4\x13\xf9\x0b\x9c\xad\xc2\x14\x34\x81\x99\x41\x1a\x6b\x4b\x3f\xe1\xaa\x63\x53\x1e\x4f\xbf\x69\x7f\xb3\x2c\x40\xd1\xe1\x37\x5c\x9b\x07\xa1\x20\xf9\xdf\xe2\x15\xd2\xbb\x4a\x99\x26\x56\x18\x80\x3b\x82\xf4\x5b\x81\xb2\xd8\x3d\x42\x01\xe6\x42\x0a\x83\xf6\x5c\xdc\x81\x7a\xc1\x66\x59\x53\x52\xc0\x37\x5f\x85\x62\xb6\xf2\x2d\x58\x2e\xc1\x83\xf1\xb5\x74\xe1\x87\x21\xf0\xf3\x9c\xa1\xd4\x05\xd1\x2c\x98\xb2\x34\xd7\x32\x99\x82\x6d\xec\x6f\x29\x92\xcb\x5b\xd0\x7d\x29\xae\x9e\x3c\x2c\x89\xf9\x5a\x5a\x41\xf3\xed\xae\x78\xbc\xf0\x79\x30\xf5\xc3\x10\xb8\xb8\xbc\xd5\x16\x31\xf0\x20\x55\xc7\xd5\xd4\x84\x72\xaa\x4e\xbe\x62\xe5\xab\x94\xb5\x25\x2f\xda\x42\x43\xb6\xa1\xf0\x93\xa8\xa8\x6b\x3f\x1e\x23\xff\x8b\x8c\x96\xea\x17\x29\x3b\x67\x97\xfe\x55\x10\xa3\xd3\x81\x2b\xf5\xed\x8c\xca\x36\x6e\x39\x7d\x3a\x0d\x75\x1b\x80\xca\x9f\xf9\x62\x1a\x9c\x73\x41\x6c\x69\x05\xfc\x41\x74\x21\xf8\xcf\x93\xb0\xbd\x0c\x57\x69\x7b\x11\x44\xab\xb4\xfd\x2b\x4b\xe2\xf6\xaf\x71\xbc\x78\x8a\xdb\x63\xd6\xdd\x9e\x3d\xc0\x7b\x18\xae\xd2\xe7\x78\xd8\xed\xf9\xdf\x59\x12\x6b\x53\xb5\x74\x00\x15\x74\x4e\xa3\x37\x73\x6d\xee\x87\xa9\x02\xc7\x00\xcc\x9b\x0b\x49\x48\x7c\x8d\x6e\x50\xaa\xfd\xf2\xb5\x58\x1b\x16\x99\x81\xe3\xc9\x2f\x4b\x6d\x9c\x3e\x92\xad\x4d\xce\x1c\x2e\x87\xed\x01\xdf\x02\x96\xc2\x04\x4b\xb4\x11\xdd\xb0\x5f\xf6\x80\xd9\x97\xb1\x98\x79\x61\x73\x3a\xa7\x78\x10\x78\x1b\xdb\xb3\xbd\xa7\xe8\x2c\x01\x0a\x0c\x39\x46\x51\x30\xa3\xf6\xaa\x8d\x67\x79\x7f\x03\xb9\x9f\x35\xc4\x50\x23\xf7\xf3\x03\xe4\x7e\x56\xe4\x7e\xae\x93\x9b\x63\xcc\xc9\x65\x7e\xca\xdb\x7e\x1a\xf8\x51\xdb\x5f\x9c\x07\x17\xab\x78\x95\xb6\xfd\xb4\xcd\xaf\xe3\xb6\xb8\x59\xf7\xb7\x2f\x89\xed\xfb\x29\xd7\x76\xa1\x0e\x6d\x57\xd5\x91\xbb\x69\xa9\x98\x8d\x82\x31\x17\x15\x6a\x78\x2e\x58\x50\x17\xf9\xe7\x21\x6b\xe3\x22\x53\x3b\xbb\x44\xe9\x47\xe8\x39\x49\x56\x0c\x38\x22\x30\x8a\x65\x2b\x25\x9b\x05\x5a\xa8\x60\x0d\x40\x06\x17\x51\x2c\x96\x86\x16\xa8\x9c\xbf\xb0\x67\x61\xa8\x25\x0c\x94\xa1\xd0\xc3\xc0\xa3\xf3\x5b\xce\xb4\x2b\x96\x88\xb9\xb7\x50\xf1\xe2\xae\x85\x0a\x66\x2d\x61\x17\x7e\x32\x0b\x59\x2a\xc1\xc4\x5a\x03\x57\x52\x2e\x9b\x7a\x1e\x87\x8f\x58\x27\xaa\x19\x74\x9e\x04\x29\xf7\x39\x53\x2d\x0d\xe6\xda\x75\x66\x1a\x40\x9d\x01\x5e\xed\x1a\xcf\x4f\x6b\xf3\x38\xe2\x95\x89\x36\xce\x55\xe2\x70\xf6\xfc\x5c\x2c\xf3\x66\x33\xed\x8e\xa6\x1d\x28\x8e\x28\xb5\x28\xa2\xea\x17\xb1\x75\x34\xed\xc3\x2a\x0c\x71\x71\x24\x5b\x11\xaf\x36\x0b\xc4\x4a\xa0\x7f\x9a\x83\x6a\x96\x3b\xb1\xde\x34\x41\xb2\x74\x61\x74\xa7\x6d\xf5\x35\x50\x96\x9a\x35\x28\xbb\x05\x06\x36\x1a\x2c\x75\xbd\xe1\x0d\x2d\x8e\xd5\x4c\xae\xd4\x90\xa7\x3b\xd8\x9b\xe8\x2f\x8a\x93\xf0\x77\x1b\x39\x2f\x65\x31\x00\x46\x17\x88\xc9\xcc\x21\x2e\xde\x3d\x66\xae\xdb\x68\x75\x8e\xc1\xe7\xf5\x35\x79\x3b\xba\x72\x02\xb3\x15\xbc\xcc\x1f\x40\x6d\x72\x9d\x04\xa0\x44\x1a\x0d\x72\x8d\x2c\x04\xfe\x51\xaf\x20\x0c\xe5\x0a\x35\xd6\xcb\x63\x51\xb5\x26\xae\xfe\x0e\x6f\x15\x09\xe9\x6d\xca\xd9\xa2\x99\x92\x19\x9b\x5a\xf6\x93\xe7\x64\xb9\xd6\x38\x2a\x74\x0f\x50\xf1\x2c\x2d\xae\x03\x0a\x47\xab\x34\x3d\xc2\x2e\x84\x91\xb8\x02\xaf\x0b\xfc\xac\xd7\xfb\x7b\xda\x61\x12\x5c\xc1\x34\xe6\x3d\x4c\x9b\x2d\x1b\x28\x64\xd1\x55\x90\xc4\x11\xcc\x5d\x9e\x48\xde\xf7\x93\xfd\xa3\xf7\x2e\xc1\x15\xf4\xb6\xdd\x1f\x88\x19\xc4\x7d\x79\x0a\xa5\x3c\x97\x42\x35\xda\x95\x9f\x04\xc0\x95\x94\x96\x17\x03\x80\x5f\x30\x88\xdb\x73\x7f\x11\x84\x8f\xb0\xb1\x05\xe1\x7e\x46\x5e\xb3\x7f\xf7\x3f\xaf\xb4\x63\x3f\x4a\xb5\xf7\x71\x14\xc3\x24\x79\x1f\x14\x62\x1c\xa9\xe7\x83\x84\x31\x48\x52\x8d\xbc\x67\x51\x88\x20\x27\x52\xba\x08\xd5\x16\x71\x14\xe3\x1a\xc9\xb3\xc2\x1a\x91\x5c\x85\x92\xba\x0a\x09\xcb\xbe\x0b\x64\x92\x09\xc3\x38\x27\xff\xc9\xeb\x63\x56\x9f\x92\x20\xe2\x15\x96\x61\x8d\x80\x0b\x06\xc2\x32\xb8\x61\x61\x5a\xa8\x63\x11\x0b\xcf\xe4\x69\x93\x3f\x3f\xe2\x81\x1f\x06\x7e\xca\x66\xd5\x85\xb0\x32\xda\x6c\xb2\x23\xab\x54\xd7\xc5\xff\xe8\xca\xab\xdd\x33\xa9\xa6\x7e\xaa\xf3\xcd\x1c\xfd\x0f\x2c\xbe\x5e\xc6\x0b\xd6\xfe\xc6\x6e\xd3\xb6\xd8\xd9\xf2\x1b\xd7\xd9\x00\xdd\x73\x96\x7d\x17\x90\xe6\xb3\xd4\xdb\x59\x34\x11\xf1\x25\x08\xdc\x9d\x4a\x31\x74\x91\xa0\xcc\xe7\x13\xed\x1b\xbb\x9d\xe2\x31\x3e\x9c\x89\x4a\xab\x0e\x9a\x2c\x2b\x22\x1c\xa5\xcf\x27\xb8\x9a\x95\x36\x21\x15\x35\x62\x7b\xbf\xb1\x5b\x75\x9d\xd0\x13\xbf\x44\x67\x6b\x72\xbb\xda\xc2\x5f\x82\xed\xc7\xa5\x40\xf9\xb1\x08\xf4\x48\x7e\x10\x0a\xa8\x7d\x5b\x78\x9b\x4d\x44\x35\x70\xec\x61\x86\xbd\x00\x3b\xa0\xf6\x83\x42\xc9\x54\x9b\xc7\xa0\x29\xd9\x4c\x3b\xbf\xd5\xc4\x47\x46\x68\x90\xc4\x24\xda\x26\x27\xc1\x33\x36\x0d\xc0\x72\xc7\x89\x76\xc9\x6e\x7c\xf5\x28\xa6\x80\x29\xc5\x19\xbc\xf8\x16\x98\x6d\x1e\x93\x68\x24\x79\x0d\xb3\x69\xb5\x22\x0e\x13\x55\x64\x7f\x9c\x69\x4b\x2a\x97\x04\xe4\xc7\xb2\x12\xd2\x03\xac\x6b\x0e\x4e\x03\xbb\x59\x86\x7e\x84\x1f\x1c\xd4\x1c\x79\x0e\x1e\x06\xa7\xf8\xb9\xaf\xb2\x8a\xfe\xee\xcb\x51\x34\x13\x6b\x7b\xc7\xb8\xac\xa7\x15\xbb\xe6\x34\xfa\x7e\x1a\x69\x1a\xfa\xd0\xed\xdd\x90\xb7\xdf\x12\x57\x23\x95\x1d\x55\x84\xe6\x30\x62\xd2\xf2\x0e\xa0\xf0\xea\xf2\xc2\xab\x9f\x21\xf3\xf4\xd9\xcf\xfb\xef\xde\x7d\x3c\x3d\x8d\x4e\x9f\x91\xd3\x08\x57\xfc\x16\xfe\x4d\x5b\xb4\xba\xad\x3a\xea\x61\xe9\xcf\xf6\x80\x58\x2c\x53\x3b\xef\xfd\x1b\x4d\xec\xf5\x86\x86\xfb\xda\xeb\xbd\x63\xaa\x7d\x3c\xde\xa3\xda\xe1\x7b\x64\xde\xee\xe1\x71\x2e\x29\xe7\x0c\x06\x2c\x38\x0f\x17\xc1\x15\xd3\x56\x4b\x14\xd9\xdc\x4d\x15\xdd\x0e\x63\x13\xaf\x69\x11\x83\xd3\x4f\x58\x7b\x0e\xa9\xdf\x38\x3e\xa7\x71\x74\xc5\x12\xae\x21\x6a\x21\x77\xa2\xa7\x83\x44\x3b\x00\x91\x61\xff\xb1\x0a\xae\xfc\x90\x81\x33\x98\x4f\x0c\x43\x56\xfe\x54\x2b\xbe\x30\xab\xaf\xbb\xa9\xa4\x96\xfb\x72\xd5\x5e\x7e\xbc\xfe\xa1\xb9\x6b\xf5\x23\x7c\xf6\xc9\x5d\x8c\x73\x5f\x0b\x99\x3f\xc3\xb3\x3f\x58\x89\x5c\xe5\x14\x14\xc4\xab\x94\xb5\xc5\x9e\x87\x69\x18\x4c\xbf\x3d\x76\xfa\xd6\xe4\xb8\x3c\xc3\x0c\xf0\x40\x85\x5f\x2a\x96\x32\xce\x57\x9c\xc7\x91\x86\xd8\xd3\x7c\x41\x2d\xff\xee\x08\x83\xe4\x4a\xac\x75\xce\xd8\x92\x45\x30\x58\xd4\x70\x90\x04\x22\x51\x6d\x81\x89\x64\x93\x07\xc0\xf5\x21\xe6\xcc\x15\xcb\x3d\xa8\x08\x25\x9b\x71\x77\x47\x4b\xd2\x01\x79\x6c\xa6\x2d\x82\x29\x48\x4a\x22\x9c\x28\xfc\xc0\xd7\x80\xfd\x09\x2d\x2f\x6c\xb7\x31\xa9\x45\x6d\xda\xa5\x3d\xda\xa7\x83\x33\x4a\xde\x63\xd3\x11\xb1\x64\x00\x4a\x75\x54\x9f\x2a\xa8\xa5\xfa\x3c\x8b\x6a\xd7\x38\xe1\x52\x93\x8e\x45\x30\x83\x26\x95\xb8\x29\xbe\xc2\x45\xed\xbf\x59\x56\xe1\x93\xbe\x2e\x74\x26\x74\x75\xb6\x5f\x04\xbf\xcc\x44\xda\xdf\x2c\xab\x8a\xb7\xa1\x93\xf4\x34\x40\xcd\x0c\x53\x1d\x9f\xc3\x58\x93\x0b\x40\x0b\xc1\x07\xe5\xbc\x8b\x86\x5d\x05\xfe\x3a\x02\x0d\x6c\x97\xa9\x79\x9e\xe8\x0a\x7d\x99\x04\x0b\x3f\xb9\x35\xe4\xfb\xce\x69\x64\xc1\x4b\x59\x54\xf7\x57\x37\x41\x18\x94\x01\x6c\x00\x10\x44\xea\x62\x95\xba\xfc\xfe\x49\x82\x74\xba\x4e\xd4\x4f\x7f\x2f\x79\x82\xe1\x74\x1d\x27\xb3\x36\x1e\xdd\x6e\xe3\xe9\x94\x36\x94\x7b\x8a\x48\x91\xc9\x2f\xa7\xa7\xe9\xe9\xe9\xe4\xf4\xf4\x4c\x37\xbe\xdf\xbf\x78\x79\x4a\x9e\x9d\x9e\xfe\xb2\xf5\x2f\xff\xf4\xcf\x7f\x6e\xfd\x85\x8e\xdd\xff\x72\x56\xf0\xa3\x9e\x1d\xb1\x8b\x55\xe8\x27\x60\x49\x12\x96\x7d\xd1\xbe\xf4\x43\x2e\x8e\xc7\x48\xfb\x04\x1c\x10\xfd\x90\x72\x3f\xe1\x86\x50\xba\xd9\xf2\x9a\x6c\x39\xcc\x6d\x61\x76\x21\xd7\x4e\xfd\xc2\x97\xa7\x69\xe8\xa7\xa8\xf7\x12\x86\x0b\xd9\xd2\x0c\x4e\x0b\xd3\xfc\xce\x69\xf4\x85\x69\x3e\xce\x5d\xc8\x3f\x08\xaa\x68\xd2\x21\x85\x0f\x27\xe0\x7c\x2f\x7d\x7e\x99\x6a\x73\xfc\xe6\x1f\xc1\x5c\x06\x09\x52\x33\xd2\x38\x65\x38\x2e\x6b\x7c\x7c\xe4\xe4\xf9\x29\x8c\xfc\x47\xa7\xc4\x4a\xf2\x04\x56\x4a\xa1\x64\xd1\xec\x8f\xe1\x64\xa3\x28\x89\xa1\xf2\x7b\xf0\xe0\xec\x2f\x0f\xb7\x5b\x1c\xae\xf2\xc3\xb0\xfc\x0d\x34\xfb\x50\x22\xa8\xf9\xbd\x04\xe7\x34\xfa\x94\x8a\x0f\x22\xec\x66\xa9\xbe\x72\xe6\xab\xbf\xe9\x2a\x41\x67\x3d\x90\x1f\xb2\x50\x66\x70\xce\x10\x07\x91\x30\x64\x4b\xff\xe2\xf7\x74\xca\x01\x9d\xb6\x5a\x3e\x9f\xc5\xd7\xd1\x13\x1d\xf3\x7a\xd1\x47\x39\xe7\xa5\x62\x6b\x1d\xf4\x32\x54\xee\xa4\x93\xa5\x9f\xa6\x6d\x3f\xe4\x6d\xe1\xd2\x3e\x75\xd3\x68\x71\x19\xad\xe8\x4e\xe4\xeb\x35\x50\x01\xee\x3d\xb4\x3a\x9d\x91\x1a\x08\xd2\xb9\xc9\x95\xb1\xdc\x4a\x77\x2b\x96\x4e\x92\x55\x14\x41\x37\x89\xcd\x44\x41\xa4\xf9\x99\x3b\xc4\xfd\xf3\x7c\xc3\xe2\x6d\xbc\xd2\x66\xb8\x57\x0d\xbf\xfb\x0a\xdb\xf5\x2c\xd5\x4e\x89\x88\xf3\x8b\xd5\xf9\xe7\xa7\x44\x53\xd1\xd3\x34\x7f\x3a\x65\x21\x4b\x7c\x1e\x27\xc0\x4b\xdc\xcf\x14\xc5\x3c\xab\x12\x2b\xe3\xfe\xb9\x16\xf0\x67\xa9\x76\xce\x38\x17\x1f\x17\x54\x5f\xa4\xac\xe8\xca\x89\x85\x16\x24\x07\x66\x0e\xc2\xd5\x5f\xa5\x18\x6d\x44\xbb\x0a\x16\x60\xbb\xd9\xc2\x9f\x0a\x59\xcd\xa4\x24\x63\x07\x76\xf3\x39\x53\xdb\x08\x41\xe7\x15\xd9\xa3\x15\xfc\xc2\x5a\x99\x14\xac\x54\x81\x0c\x01\x8d\xbd\x52\x70\x0a\xf2\x4d\xb6\xd9\xde\x3c\x69\xf6\x51\x3a\xa4\x99\xc6\x53\x86\x99\x38\xe0\x82\xfc\x1f\x2a\x0f\x38\x5b\xf8\x9f\x02\x51\xfe\x78\xf4\x54\x89\xa8\x17\xfa\xe3\x44\x02\x67\x1c\x7f\xa8\x48\xbc\x87\x1a\xfe\xa7\x48\x64\x22\x91\xf3\xe3\x09\x22\x51\x2f\xf4\x07\x8b\xc4\xd5\x6f\x9f\x79\x22\x9e\xcf\xda\x05\xe3\x29\x4a\x82\xb0\xe7\x48\x2b\xd4\x25\xb7\x33\xb5\x99\x3a\x02\xf2\xf8\x75\x03\xb2\xe2\xf3\xb6\x43\xe8\x44\x25\x48\xe2\x5f\x8b\x93\x0b\x62\x8e\xcd\xf2\x8b\xbc\x45\x11\x9c\x1f\xcd\x7c\xee\xe7\xbb\xa8\xb2\x0d\xb0\x48\x91\xdc\x26\x11\xcc\xc4\xa7\xfe\x14\x37\x2c\x3c\x43\xf4\xcf\x90\x55\xcf\x12\xff\x5a\x6c\x51\x13\x56\xb6\x1d\x47\xe8\x5e\xf0\x24\xfe\xf6\x08\x27\x2c\x3f\x7d\xd2\xf4\x8d\x59\xa0\xcc\x06\x08\x6e\x7f\xc4\x0f\x37\xd1\xad\x96\x55\x52\xa9\x3c\x5e\xf1\xe5\xea\x11\x2e\x70\xa1\xe6\x06\xbf\x66\x5d\xcd\x99\x47\x23\xaa\x29\xd4\x7d\xee\x27\x6d\xb9\x23\xe7\x07\x9b\x7d\x72\x89\xdf\x09\x71\x97\x43\xc1\x63\x5a\xa8\x35\x1b\xd9\xc6\xeb\x4b\xc6\xc2\xf6\xc2\xbf\xc5\x15\x91\xb6\x9f\x24\xf1\x75\xfb\x71\xeb\x37\x8d\x6d\xc6\xe1\x2e\xbe\x44\xc8\xcd\xfe\x2c\x91\x93\xda\x74\x9a\x30\x16\x69\xe7\xab\xf9\x9c\x25\x62\x17\xcb\xeb\xfd\xbd\xbd\xb7\xef\x35\x7d\x37\xbf\xbf\x41\x13\x17\x38\x68\x18\xee\x2b\x9b\x5f\x32\x2a\x27\xba\x48\xaf\x62\x28\xee\xd3\x97\x53\x46\xb6\x58\x85\xb8\xb7\x1b\x5a\x20\x16\x7b\x50\x23\x70\xa5\x34\x38\x5b\x2c\xe3\xc4\x4f\x82\xf0\x56\x9b\x89\x73\x2e\xa8\x0d\x2e\xe3\x30\x77\x71\xd1\xdd\xfb\xc6\x6e\x73\xbd\x59\x98\x34\x4d\xe3\x05\x4b\xb5\xd5\x52\xa8\x50\xd1\x48\x70\x0d\x93\x54\xd3\x43\x96\xa6\x06\x28\xa3\x44\xae\xfa\x2c\x7c\xe1\x5d\xa6\x9a\x5a\xe4\x66\xb3\x80\xe3\x17\xc3\xab\xe0\x79\xe4\x47\x31\x82\x0b\x2c\x82\x35\xcf\xf9\x62\x75\xd3\xd0\x39\xf1\x15\x6b\x2f\x56\x21\x0f\x96\x61\xf0\x18\x0b\x92\x77\x8c\x55\xfc\xe0\x90\xa3\xc8\xbe\x6c\xe0\xe7\x06\x6d\xc6\x42\xee\x83\x3e\x15\xcc\x95\x5c\x9d\xfa\xa8\x66\xa5\xbe\x94\x1c\x47\x88\x0e\xb8\x53\xf8\x21\x3d\xbe\xd6\xe6\x7e\x2a\xd4\x01\x3a\xc9\x45\xe7\x18\x05\xea\x0f\x51\x3c\x35\x7d\xa3\xf4\x74\xa6\xf7\xd4\xc8\xfa\xa1\xfa\x83\x34\x6e\xdb\xa6\x6d\x03\x09\x79\x3a\xa3\x06\xff\xb6\xc3\x78\xfa\x8d\xcd\xa0\xae\xe2\xc7\x9c\x6c\x44\x67\x34\xea\xaf\x3f\xee\x1d\x8b\x85\x99\x37\xc7\x1f\x11\x97\xdc\x14\x50\xd8\x93\x80\x2b\xf5\x3c\xf1\xa3\x34\x94\xa7\x09\xf4\x30\xf8\xc6\xb4\x8b\xc4\x5f\x5e\x06\xd3\x14\xde\xa7\x80\xe4\xd3\xc9\x41\xdb\x51\xe2\x9b\x6a\xe9\x6a\xb9\x8c\x13\x75\x82\x25\x4e\xd5\xd6\x39\xa6\x09\xf2\xc4\x37\xb8\x48\x1d\xa1\x2a\x31\x6f\xea\x47\xe5\x0d\x5c\x9a\x8f\x46\x9a\x07\x0b\xb9\xc8\x94\xb5\x45\x2c\x60\xe6\xe7\x4d\xd4\xde\x31\xb5\xbf\x98\x07\xd3\x6f\x62\x31\x41\xd0\xb7\x8a\x70\xdb\x01\x38\x0f\xe2\x43\x31\x18\xc6\x6f\xe0\x76\xb0\x68\xc6\x70\xf9\x1e\xa1\x43\x76\xe1\x4f\x6f\xb5\xc2\xed\x2d\x52\x72\x70\x91\x5c\x04\x4f\x7d\xfa\xce\x96\xe2\x87\x66\x18\xce\xdb\x9a\xb8\x31\xac\x69\x87\x0b\xaf\x6f\x6f\x91\x3b\xbd\x92\xf6\x34\x7d\xda\x56\x47\x52\x3d\x28\x83\x67\x27\x52\x7e\x1b\xb2\xf4\x92\x89\x63\x1e\xea\xf3\x4a\xf5\x9b\x77\x16\xf3\xbe\x58\x7b\x1b\xd4\xc6\x93\x49\xc0\x61\x1e\x06\x11\x6b\xe7\xdf\xfd\x56\x29\x58\x9c\xbd\xe3\x63\xa1\x89\x70\x63\x1e\xbf\x0d\x95\xda\xcb\x82\x62\x93\xb3\xe6\x63\xc9\x59\x30\x15\x4f\x1e\x94\x16\x07\x69\xf4\xa6\x83\xda\x19\x6c\xe3\x39\xef\xce\x34\x8e\x52\x9e\xac\xa6\x3c\x4e\x9a\x0e\x67\x43\x99\xd5\xf9\xf1\xea\xbc\x16\xc6\x30\x3e\x4f\x59\x72\xc5\x92\xf4\xab\xf7\x5d\x04\x34\x41\xb8\x8e\x3f\x9b\xbd\x92\x7b\xe4\x4a\x87\xc8\xc5\xf9\xef\x88\x5d\x6b\x0a\x34\x0f\xb5\x25\x03\x15\x0a\x04\x39\xc1\x6c\x92\x9c\x79\xf5\xfc\x49\x72\x26\xcf\x76\x1b\x85\x7a\x0b\x01\x66\x56\xe7\xe9\x34\x09\xce\xab\xc1\xaf\x65\x37\x97\x68\xbf\xbb\xd3\x2b\x39\x13\x76\xe6\x4d\xce\x64\x7c\x98\x52\x76\x67\xb9\x4a\x2f\xd7\x55\xba\x8a\xd6\x55\x5b\x88\x4f\x53\x42\x27\xee\x49\x11\x61\x64\xc8\x9b\xe8\x0a\x1d\xb1\x74\x85\x1d\x8a\xc1\x7c\xc6\x2a\x80\xab\x0a\x3a\xc3\x45\xdc\xd6\x17\xa6\x2c\xf4\x21\xe6\x5a\x56\xeb\x4c\x94\x49\x3a\x29\x8c\x5e\xa6\x07\x2a\xfe\x4e\x95\xd2\xe5\xea\x3c\x0c\xd2\xcb\x12\x95\x34\x29\x5c\x71\x14\x40\x77\xb1\x17\x71\x21\x1e\x5c\xe1\x4e\x81\x80\x9a\x94\x6d\x5b\x06\x8d\x27\xec\x0c\xb8\x21\xe2\x6c\x37\xb4\x2f\x6e\xb5\xf4\xd8\x9b\x9c\x81\x8c\x4d\x7d\xae\xc7\x86\x41\x13\xc8\xdb\x89\x05\x2b\x13\xc3\x8d\xbd\x49\x72\x66\xd0\xb8\x56\x85\x69\xac\x09\x5b\x70\x3d\x25\x54\xc6\x58\x3e\x8a\xaf\xf7\x50\xb1\x88\xc7\xe3\xe0\x57\x96\x3d\x9c\xb0\x1b\xbe\x9b\x7d\xb2\xc6\x20\x07\xc7\x68\xd5\xeb\x21\x8d\x60\x92\xb0\x9b\x24\xfe\xad\x37\x39\x93\x61\x81\x70\x23\x1a\x06\x3a\xff\xea\xb1\xbb\x3b\x47\x86\x24\xe6\x25\xa4\x52\x98\xcb\x35\xa9\xab\x33\x94\x06\x31\x8a\xf1\xaa\x0f\xe5\xb9\x16\x59\x52\xd0\xaf\x43\x63\x8b\x50\x47\xf1\xf5\x87\x78\xc6\xbe\x62\xdc\xe7\xe2\x8b\xe6\xdc\x8f\xf3\x79\xca\x78\x31\xff\x3a\x4e\x66\xaf\x12\xe6\x7f\x7b\xef\xf3\xe9\xe5\x3b\x36\xe7\x6b\x5f\x1e\xe1\x35\x1b\xeb\xde\xbe\xc7\xf5\xcd\x2c\xfe\xb4\x60\x60\x41\x94\x2e\x18\x06\xec\x6f\x08\x64\x29\x1a\x88\xd1\xfc\x6b\x1c\xa5\x65\xae\x4b\x31\x33\xd6\xd5\x20\x6e\xfd\x58\x17\x2c\xb3\x8a\x66\x1d\x16\xbc\x58\x64\x6d\xc4\xcd\x02\x75\x8d\x08\x52\xc6\xf7\x72\x98\xba\x08\x95\x05\xa6\xa9\xcb\x25\xc8\x4b\x4f\x5d\xfe\x07\x28\x4b\x10\x7a\x53\xa9\x24\xbe\xa6\xac\x6d\x35\x33\x07\xed\xf2\x51\x7c\xbd\xae\x59\xea\x7d\xaa\x5b\x86\x0c\xf4\xb5\x16\x47\xba\x36\xc0\x7c\xce\x61\xa9\x59\x4c\xca\x9a\xe9\x91\xe7\x7d\x4b\x14\xd5\x06\x59\x8e\xe5\x11\x78\x1a\xc2\xd8\xe7\x88\x24\x18\xde\x36\x27\xc3\xcf\x65\x2f\xd7\xa1\x5e\xc6\xcb\x0d\x0c\x13\x6f\x37\xb1\x4b\x42\x3c\x9e\x59\x8d\x42\xda\x66\x6b\xe9\x5b\xa5\x97\x0f\xf0\x0f\x55\xe7\xe6\xe2\x65\xfa\x44\xf6\x93\xd8\x24\x7c\xbd\x32\x21\x59\xd0\xf6\x5a\x1b\x19\x35\x29\x7f\x00\x51\x5a\xbd\x50\x2f\x0b\xb3\x69\x8e\x93\x17\x5c\x45\xce\x4c\xb6\xb7\x8d\x35\x95\x6c\x27\x50\x0d\x98\x8b\xc6\x9a\x12\x06\x13\xb3\x2a\xef\x36\xf6\x0d\xa3\xeb\x3b\x3a\x43\x57\x25\xfc\x01\x8c\x6b\xf9\x80\xf6\xdd\xe7\xac\x3c\xe8\x6b\x6e\x55\x65\xfc\x03\x11\xbf\xa7\x81\x68\x24\x0e\xf7\xc7\xec\x29\xd4\x6b\x48\x52\x95\xca\x3b\xb7\x4e\xde\xbf\xcb\x6e\x2b\xa8\x00\x08\xd6\x65\x26\x11\xcc\x77\x24\xce\x2b\xcd\xc3\xf8\x9a\x18\x4d\xb4\x99\x1b\x74\xe6\x9a\x97\x0a\xa1\x27\xef\x0b\x61\x63\x19\xf7\xb2\x6c\xa5\x3b\x41\x2a\x37\x13\xea\xc6\x0e\x21\x6e\xd0\x99\xa3\x3d\xb8\x0c\x38\xc3\x6d\x87\x75\x03\xa5\x82\x15\x35\x62\x8b\xf0\x7a\x88\xf1\x86\x77\xde\x96\xd5\xe4\x2e\x74\xd2\xdb\x68\xba\x87\xbb\x94\xcb\x91\xff\x2b\x60\xc2\x97\xdf\x8b\x23\xee\x07\x11\x4b\x74\x26\x63\xcd\x56\xb8\xec\x2f\x97\x2c\x9a\xed\x5d\x06\x21\x5e\x1f\x57\x93\x82\xa4\x91\x06\x45\x22\x7f\x90\xc2\x66\x49\x89\x17\x8b\x80\xbf\x0b\x22\xf6\x51\x71\xff\x01\x69\x49\x19\x5f\x2b\x09\xea\xca\x92\x46\x73\xbb\x66\x98\x94\xae\x90\xa9\xf9\x10\xdf\xd9\x4b\xaf\xf1\xcd\x8e\x0e\x13\x9d\x38\x64\x2a\x56\xe3\x51\x7c\xad\xc5\x2b\xdc\x19\x71\x8e\x61\x0c\x44\xfc\x4c\xca\x9a\xcb\xb7\x2d\xc3\x65\x2f\xcc\x56\xeb\xf1\x78\x60\xcc\x4a\x6a\x8a\xc2\x55\xa3\x44\x38\x16\x75\x24\xe0\x3a\xd6\x8b\x03\x21\xbc\x89\x90\x8d\x68\xcc\x46\x37\xb4\x36\x84\x92\x4a\xe3\x27\xec\x8c\xc2\x04\x04\x8f\x54\xa2\xa8\x8d\x83\xbb\x3b\x1d\xb2\xe2\xeb\x88\x25\xea\xe2\x33\x29\xb3\xe0\x09\x43\xaf\xeb\x84\x18\x34\x29\x49\x68\x60\x08\x91\x4f\x3d\x13\xa7\x7d\x89\x0a\xa9\x59\x92\x96\x9d\x8c\x61\x4d\x7a\xa0\x5d\xd7\x1b\xad\x96\x1e\x78\x55\xd1\xa7\xe9\xd3\x90\x18\x6e\x93\x6e\x4d\x1a\x39\x86\xfa\x18\x64\x70\x1c\x8c\xc5\xd4\x2e\xf2\x78\x3b\xa5\xbe\x57\x9d\x08\x74\xa2\x78\xc6\xd0\xeb\xd4\x03\x11\xea\x35\xe8\x44\xec\x86\x1f\x07\xe7\x30\xd1\xbf\xbb\xf3\x5f\x46\xa5\x90\xc9\xc5\xc1\x1b\xd0\xab\x38\x98\xe9\x4d\x4a\xdc\x18\xa7\xdb\x9e\x4f\x03\xaf\x84\x4e\xdc\x22\xa1\x29\x99\xb8\xf6\x93\x48\x27\xbb\xf9\x5e\x75\x3c\xb5\x2d\x56\x72\xd5\xe1\x7a\x2d\x8e\x34\x26\x82\x1a\x88\xf1\x47\xd6\x0c\xc6\xdb\x68\x9a\x5d\x1c\xb7\xe7\x27\xac\xe2\xff\x26\xb7\xdf\x59\x76\x9b\x9c\x5e\xeb\x8c\x06\x7e\xdf\x4f\x31\xbc\x3d\x33\xc4\xc2\x41\xbd\xc6\x65\x18\x70\xc1\x88\xa6\xa9\x34\x18\xac\x38\x62\x28\x69\x5b\x96\x41\x53\x8f\xa1\x22\x93\xf1\xf0\xc6\xa5\xa7\xe6\x7e\x39\x96\xb7\xed\xa1\xe3\x42\x93\x52\x81\xa0\x73\x3d\x55\x91\x60\xd3\xda\xeb\x56\x0b\xa3\x09\xb3\x08\x09\x94\xfe\xcd\x2b\xdc\x9a\xa9\x27\x94\x15\xfb\xc4\xa0\x25\x4a\xee\xee\x4a\x25\x85\x95\x14\xa3\x63\x8d\x17\xb6\xf0\x6f\xcf\xd9\x5e\x18\x2c\xf7\x56\x09\x94\xab\x18\x67\x11\xea\x79\x83\xdc\x35\x88\xb5\x08\x1e\xfe\xa2\xae\x57\x8c\x4d\x73\x96\x1a\xb4\x8a\xaa\xfb\xf8\x49\x4c\x93\x22\x7b\x40\x27\x15\x2f\xa0\xe3\x1b\x86\xf4\xf8\xf7\x20\xe5\xb1\x8c\x14\x5c\x6c\x90\xea\x17\xac\x6d\x29\xb6\x14\x40\x1f\x2d\x8b\xb5\x81\x63\x36\x54\xb2\x6d\x19\xc5\x08\xf5\x0d\x1d\x4c\xeb\xfa\xb0\x28\x93\xa0\xb6\x92\x92\xec\x05\xc6\x43\x45\xf8\x8b\xba\x11\x7b\x2a\xcb\x4b\x3a\xb6\xa9\xaf\x9b\x35\x81\x18\x5e\xd5\xe8\xff\xd9\x6a\x62\x8d\x67\x89\xc7\x4b\xaa\xe0\x47\xdc\x53\x69\xa7\x84\x1a\xe0\xe2\x46\xd2\x8a\x13\x56\x11\xc0\x6d\x4f\x44\xa1\x8e\xbc\x7a\x8f\x6d\xb6\x0c\xdc\x68\x47\x30\x22\xfd\x17\xa6\x68\x53\xe8\xd5\xfd\xd3\xb6\x6f\x64\xb7\x5e\x54\x1c\xb6\x55\x34\x63\x09\xd0\x7f\x77\xd7\xe8\xcf\xf1\x24\xf8\xc6\xf8\x65\x12\xaf\x2e\x2e\x9b\x41\xf2\xd8\x2b\xcd\xef\xaf\xa7\xc0\x35\x75\xc3\x7b\xe5\xa5\x9f\x4e\x83\x40\xbc\x17\x37\xf4\x34\x01\xf1\x20\x64\xaf\x7d\xee\x1b\xc1\x5c\xef\x6e\x79\x1c\x9b\x7f\x72\xbb\x64\x30\x5a\x0a\xf8\x8b\xd8\x38\x96\x52\x69\x5c\xb3\x47\xb4\xaf\xd9\x34\x4e\xf0\xcb\x44\x9e\x9f\xb7\x00\x5d\x57\x19\x34\xfc\xd2\xe3\x9b\x7d\x94\xb0\xd9\xad\x2e\x29\xf4\x4b\xca\xcb\x0a\xbd\x66\xa8\xb9\x77\xd9\x38\xd5\xf2\xda\x3e\x4d\xbc\x50\x58\xe5\x92\x4c\x7a\xc9\xb6\x17\x8a\x2b\x0f\x98\x17\x6e\xb3\xb1\xef\x99\xf7\x6b\xba\x17\xf7\x1f\xb2\x34\x9f\x0b\xf0\xec\xf6\x9d\x32\x4e\xd3\xf3\xfc\x9d\x64\x9b\xb9\xa6\xe7\x45\x3b\x6c\x3b\x71\x37\xaa\x1a\x6a\xd2\xc8\xd8\x66\xdb\x9b\x81\x22\x63\x9d\x17\xb2\xed\xa5\x28\x92\x50\x9b\x60\xf7\xd4\xe3\x9d\x65\xc2\xae\x82\x78\x95\x66\xaa\x66\xae\x4f\xe5\x62\xd7\x43\xed\x9a\x66\xed\x9a\x16\xdb\xb5\x5d\x5e\x4b\x13\x2c\x9f\xae\xf5\x8d\xca\x43\xb6\x84\xc9\x30\xc6\xb3\xc7\xce\xb6\xea\x4e\x59\xb3\x74\xcc\x28\x6f\x90\x88\xd9\x5a\xf2\x52\xbc\x71\x0a\xba\x4a\xf0\x6c\xe5\xf1\xb2\x6a\x9e\xeb\xab\x47\xf2\x6b\x95\xf1\x6b\x55\x92\x03\xb6\x5d\x7a\xae\x53\xb7\x7a\x24\xf3\xd8\x1f\xc3\xb0\xd5\x93\x18\xb6\x41\x71\xce\x0c\xe3\x5e\xd8\xa0\xcc\x57\x44\x89\x45\x3d\xfc\x68\xc2\x1f\xd3\xc5\x0f\x28\x80\x59\xd3\xf0\x4f\x1b\x8d\x19\x98\x18\x3c\xc3\xfa\x80\x3d\x2b\x7a\x26\x1b\xbc\x1e\xbc\x3d\x42\x8a\xc1\x84\x9d\xc9\x09\x5c\xcd\x6c\x3d\x5a\xb5\x54\x7d\x1c\x29\x8a\x6b\x7c\x99\xd2\x5d\x09\x65\xf7\xde\xf3\x58\xc3\xc4\x26\x53\x1d\x49\xad\xbf\x6b\xe6\x34\x91\x5d\x33\x63\x21\xe3\x6c\xef\xd2\x4f\x52\xfd\xbd\xcf\x2f\x3b\x8b\x20\xd2\x13\xca\x0d\xa3\x78\xc3\xa7\xbc\x1b\x6a\x8d\x13\x5d\xc0\xf1\x48\x0f\xa2\x6e\xc3\x83\x4d\xde\x27\xde\x8d\xc2\xbc\x8c\x3e\xd6\xe0\x60\x06\x46\x36\x60\xcd\xcc\x7f\x4b\x69\x44\x7d\x8f\x8d\x61\x4e\x21\xae\x0c\x4a\x37\xfb\x0a\x94\x3f\xde\x9b\xa4\x26\x4d\x8c\x07\x14\x7c\xb2\xcd\x0c\x1a\x3d\x50\x27\x6b\x7b\x69\x3b\xa2\xc9\x8b\xb4\xd5\x8a\x5a\xad\x34\x53\xf9\xe1\xa3\x46\x19\xd1\x88\x31\xe6\x6b\xa7\x4c\x61\x6d\x80\x95\x9a\x48\x08\x8d\x3c\x13\x68\xb0\xee\x95\x55\x2f\xaa\x4c\x30\x40\xad\x16\xdf\xaa\xf5\x63\xab\xc5\xd7\x4d\xb6\x70\x41\xe4\x92\x26\xc2\xec\x76\xeb\x65\x0b\x0e\xca\xd6\xa6\x21\x90\x59\xbe\x0a\x0c\x1a\xbe\xaa\x35\x34\xea\x76\xac\x0a\xd2\xa4\x49\x36\xf4\x4d\xbd\x8a\xec\x3e\xd0\x69\x89\xa7\x0d\x35\x17\x5e\x37\xae\xc6\xe6\x13\xaf\x55\xd3\x24\xe3\xc1\xd5\x9f\x07\x57\x2c\x9b\x0c\xc1\xaa\x91\x94\xfb\xf5\x3e\xbc\x40\x35\xcd\x6e\x0b\xf7\xd7\x7d\xfc\x7b\x17\x44\xec\x98\xfb\xf8\x21\xe2\x6b\x49\x0b\xe0\xa5\xad\xac\xca\x49\x9c\xe4\x97\xb3\x3a\x97\x7e\xba\x61\xce\x60\x30\xaf\x56\xa4\x74\x4b\xe4\x3a\xb2\x80\x6b\x75\x92\x84\x72\x22\x64\x8c\x4e\xf2\x76\x79\x81\x83\xb2\xcd\xc4\x48\x6a\x8a\xe3\x44\xa9\xe3\x75\x94\xfc\xed\x28\xbe\xde\x8d\xa6\x2c\xe5\x71\xd2\xc4\xa0\x56\x8b\xfc\xad\x7d\xf4\xf1\x0b\xd9\xf2\x00\x73\x3c\x63\x1f\xfc\x05\x93\xad\xce\x86\xd9\x83\x0d\x56\xaa\xf3\x4b\xc0\x2f\xd5\x02\xf2\xd7\xda\x46\x84\xa2\x61\x6b\x5b\xe3\xc2\xfd\xf3\x55\x4a\xe5\x8e\x88\xad\x20\x87\xce\x94\xab\x67\x8e\x83\x2d\x4f\x29\xd6\xed\x4d\x23\x89\x19\x74\xeb\x01\x9e\xde\xdd\x6d\x95\xd7\x76\xb2\x0a\x2b\xac\x56\xb2\x98\x6e\x2b\x8a\x8b\x8d\x0e\x22\x90\x40\xd9\xd0\xc7\x70\x49\x14\x68\x62\x51\x51\xbf\x6d\xe5\x16\x57\x5c\x68\x5a\x7c\xb9\xd3\xb6\xdc\x0d\xb4\x14\x41\x11\xf9\x03\x84\x17\xc1\xcd\x7c\x31\x22\xf0\x4c\x0a\x3c\x4f\x5f\xb0\xce\x14\xc6\xe5\x07\x3c\xe0\x23\x3f\xeb\xa5\xdb\xdb\x6a\xb5\xb4\xf8\x7a\x92\xe2\x2e\x98\xa8\x70\x7b\x5c\xb0\x9d\x8c\x83\x8d\xbd\x15\xa9\xf1\xde\xb6\xd6\x71\x10\x90\xef\x46\x33\xa1\x43\xd6\x0b\x5b\x2e\xdd\xfc\xe5\x46\xf1\x18\xab\x8b\xc2\x7e\x50\x46\x78\xfb\x01\xf1\x5b\x23\x44\xaa\x27\x6a\xed\xc9\xbb\x63\xad\x14\xad\x29\xb3\xf1\x33\x6c\x53\xd7\x25\xaa\xeb\x82\x72\xd7\x25\x67\x74\xa3\xbb\x22\x16\xbd\xf9\x0b\x2f\x95\x7c\x20\xc7\x87\xbb\x1f\x88\xe7\x79\x41\xa6\x40\x76\x1e\x6a\x60\x40\xb9\xe1\x4e\x02\xca\xcf\x80\x87\xe9\x7d\x41\xc8\xd7\x7d\x38\x3a\xf2\xa3\x0b\x56\x1d\x31\x34\x10\x6d\x88\xbd\xb5\x35\x66\x22\x22\x97\xf7\xd5\xa5\xc3\xb1\xba\xcc\xfa\x51\x25\x13\x63\x2c\x8a\xa5\xad\x96\x1e\x00\x3d\x68\x77\xf4\x78\x62\x9e\xd1\x78\x62\x9d\x19\x14\x73\xf7\xa3\x99\x9e\x42\x5e\x0a\x79\x46\xf3\xea\x97\x38\x06\x98\xad\xbd\x57\xef\x4b\xcb\x9c\x58\xec\x6f\x6c\xf7\x2e\xd7\x4d\xc1\x77\xf0\x5d\x3a\x3c\x56\xf7\xa6\xaa\x1b\x65\x4f\xd3\xe7\x46\x69\x4b\x5a\xd5\x3a\xea\x6b\x14\x6d\x07\x8f\x1b\x66\x7e\x9d\x81\xb5\x24\x55\xae\x36\x2a\x78\xf0\xd8\x2b\xc5\x55\x86\x60\x22\xe2\x6a\x5b\x0d\xbc\x5e\x8f\x0f\x3c\x89\x02\x36\xa6\x3a\x24\xc3\x95\x66\x9f\x67\x2e\x1b\xb7\x44\x51\xbf\xe9\x0d\xee\x87\xa2\x61\xd3\x2b\xb1\x19\x8a\x5e\x96\xf8\x86\xe6\x5b\x4f\x0c\x3a\x2d\x7e\x37\x00\x96\x5f\x52\x93\xa6\x06\x5d\x15\xaf\x11\x8d\xb6\xc3\x6d\xf2\xcf\xc4\xa0\x33\x6f\xda\x49\x99\x9f\x4c\x2f\xf5\x95\x30\x61\x7a\xdb\xf2\xbc\xd9\xdd\xdd\xec\x65\x2c\x3b\x68\x59\xc7\x18\xd3\xf2\xf4\xee\xd2\x30\xe8\xbc\x74\x4f\xe9\x2f\x64\x3b\xdc\xf6\x0d\x7a\xe1\x2d\x65\x97\xcf\x11\xff\x85\xc0\xb9\xf0\xe2\xed\x32\x8a\x8b\x89\x79\x66\x8c\xa1\xf2\xc5\xdd\xdd\xe2\x45\xaa\x36\x44\x66\x23\x49\x4f\xe8\x8c\x2e\x28\xcc\x04\x3a\xfe\x6c\x86\x99\x3a\x07\x91\x15\xff\xea\xbb\xf4\xc4\x06\x3c\xb1\xef\xb0\xbc\x39\x4f\xee\xc2\x8b\xc3\xf0\x30\x4e\xca\x9f\x91\x9a\xf6\x8f\x8a\xcb\x7b\xb2\xed\x62\x87\x49\x7c\x15\xcc\x58\x92\xef\xb0\x52\xfb\xb5\x71\x13\x5a\x61\xcb\x99\x65\x52\x4b\x7d\xf2\x4c\x56\x21\x14\xc9\x37\x45\x64\x27\x6a\x55\x89\x8c\xa0\x4e\x36\xd4\x8a\x35\x4f\xb3\x8f\x2f\x30\xf2\xf7\xfc\xe9\x65\x69\x8f\x85\x72\xfa\xca\xef\xbf\xdf\x8b\xb7\xa1\x9f\x72\x31\xae\x91\xdd\xc5\x82\xf9\x2b\xb1\xc3\xad\x91\xc6\x7d\xdc\x9a\x3e\xfb\xea\x6d\x99\x79\x29\xdc\x37\x88\x5b\xcd\x64\xa6\xd8\xe6\xff\xe5\x92\xb1\xf0\x7d\x76\xaa\xe0\xab\x67\xe5\x45\x4e\xe2\xd5\xf4\x32\x27\x2b\x48\x45\xab\xd9\x6c\x3f\x9a\x65\xb8\x65\x4b\x55\xa4\x14\x21\x21\x87\x37\x9e\x35\x90\xef\x79\x12\x7e\x16\x37\x13\xa9\x2d\x0e\xb3\xe0\xaa\x48\xb7\xda\xf5\x58\xcc\xe3\x62\x57\x67\x9a\xd7\x5e\xda\x3a\x2c\xb2\x5e\xef\xbf\xfa\xf4\xd3\x57\x6f\x4b\x99\xf4\x5a\x8f\xd4\x77\x44\xa5\x19\x54\x26\x10\xa9\xd4\x62\x85\xda\x59\x34\x2b\x67\x04\xe9\x7b\xb5\x23\xbb\x94\xbb\x27\xbf\x60\xce\x8a\xfb\x64\x6a\x64\x14\xb4\xf3\x3c\x88\x66\x07\xd9\x87\xf1\xb5\x76\x95\x15\xbf\x9e\x27\xc2\x93\x00\xfd\xc4\xb3\x6d\xbd\x49\xb6\x36\x90\xa0\x52\xad\x1b\x61\x65\x80\x91\xd4\x72\xbd\xb8\x1c\x82\xdb\x82\x33\x0f\xea\x3e\xf1\x92\x26\x6f\xe2\x91\xed\x4a\x6f\xa3\x69\xf1\x33\x63\xb6\x2f\x98\xe9\xc6\xf7\x24\xe7\x71\x4c\xe5\x03\x50\xea\x05\x1d\x3f\x9a\x5e\x8a\xa9\x9c\x7a\x21\x34\x72\xf6\x4a\x3c\xd2\x44\xf5\x49\x2a\x92\xb2\xf8\x3c\x9e\xae\x52\x59\x3a\xd3\xe6\x2a\x5f\x3c\xdd\x67\xa4\xf0\x32\x29\x69\x85\x94\x22\xae\x32\x25\x05\x6c\x39\x21\x71\x89\x90\x52\x3b\x8a\x94\x14\x5b\x71\x9f\x9b\x50\xb5\x3a\x54\x90\x47\xb0\x0e\x6a\x76\xac\x1b\xb8\x4d\x36\xd3\x2c\xf9\x8a\xdc\xef\x23\xad\x5b\xc1\xdd\x5d\x50\xcc\xa1\x5b\x55\x98\x5c\x1c\xe3\x52\xfb\xc6\x71\xab\xb5\xa5\x93\x24\xbe\xc6\x3b\x51\x49\x10\x69\xb1\x31\x36\x62\x2f\x2e\x4e\xea\x82\xb9\x1e\xe7\x18\xd2\x22\x7b\xc7\x69\x0d\x41\x6a\x8c\x8d\xd4\x4b\x2b\x08\x52\x14\xfb\xb8\xa3\x20\x5f\xa4\x59\xd2\x60\x7a\xbe\x70\x91\x43\xbc\x2c\x40\xf0\x02\x44\xa1\x76\xaf\xd4\x18\xa3\xdc\x41\x2f\x4a\x7d\xbd\xc3\x74\xc3\x55\x68\x8a\x7e\x41\x65\x30\xc5\x74\x52\x12\x80\x42\x6d\x67\xc2\x4e\x47\xf2\xde\x57\xb0\x1d\xfb\xb5\x8b\xe3\x71\x2f\x8e\x06\x23\x08\x8f\x91\x65\xa3\x8b\x18\xe3\xa8\x4c\xae\xa2\xe8\xbe\xd6\xcd\x39\x0f\xb6\xbc\x9c\x09\xe5\xfd\x1d\xea\x36\xf3\x2c\x38\x04\x92\xa9\x05\xa9\x38\xda\x1b\xc7\x5c\x9c\xc8\xf5\x35\xa4\x35\x9e\xe1\x9d\xcb\x85\xd6\x64\x2e\xb8\xf1\x00\x62\x41\xf1\xc3\x98\xf3\x96\x15\x50\x57\xb4\x4d\x71\x51\x16\xbf\xe3\x35\xdc\x2f\x8c\x06\x45\xaa\xf3\x60\x9e\xf8\x0b\xf6\xd5\x63\x8d\xeb\x4d\xfb\x22\xf4\xbb\x4e\x04\x98\xda\x57\x28\x0b\xc9\x8f\x83\xd3\x34\x05\x17\xcd\x23\xe7\x71\x32\x63\x89\xab\x99\xe3\x4b\xb4\xb6\xae\x66\x99\xe6\x9f\xc7\x6a\x33\x8c\xab\xf9\xe7\x69\x1c\xae\x38\x1b\x63\xf8\x59\xf1\x9a\x50\xb2\x88\x7f\x7d\x13\x45\x2c\x11\x96\xfa\x6f\x20\xe2\x62\x87\xbf\xfa\xd6\x9f\xd5\x97\x4c\x3d\xf2\x4f\x04\xdd\xa4\xc2\x42\x57\x11\xa6\x42\xe1\x54\x2c\xe7\x7c\x11\x07\x06\xfc\xd9\x6c\xff\x8a\x45\xfc\x5d\x90\x72\x86\x2b\xa7\x09\xc3\x90\x86\xd2\x66\x46\x47\xf8\xf8\xb5\x78\xad\x61\x71\x9f\x62\x6e\x7a\x9b\x2a\x51\xbc\x1b\xf3\xce\x79\x3c\xbb\xad\x72\x67\xe1\x27\x17\x41\xe4\x6a\xe6\xf2\x66\xbc\xf4\x67\xb3\x20\xba\x10\x0f\x25\x66\x15\x38\x33\x56\xd3\x5e\x57\xbb\x0c\x66\x33\x16\x8d\xc5\x0a\x9d\xab\x5d\xf9\x89\xde\x6e\xa3\xd3\xd7\x16\xd1\x86\x64\xd0\x7c\xac\xd2\x18\xb7\xaf\xd9\xf9\xb7\x80\xb7\xf1\x54\x95\x18\x21\x2e\x5e\x34\x32\x6e\x2f\xe2\x5f\x1b\xb2\x49\xd1\x43\x50\x5c\xcf\x5a\x5b\x6c\x8e\xa4\xfc\x24\x5e\x7a\x0f\x02\x89\xbb\x3a\x3d\x32\xf5\xc3\xa9\x5e\xa4\x19\x9c\x4a\x60\x74\x5b\x34\xdd\xd0\xfe\xa2\x75\x0d\x92\x6d\xd8\xac\x0a\x1f\x22\x25\xc6\xb8\xbc\x87\x88\xdc\xb4\x61\x78\x7c\xd7\xd4\xc5\x14\xae\x76\x1e\xc6\xd3\x6f\x63\x4d\x53\x1c\xdd\x54\xe7\x58\x5c\x11\xd3\x7e\x14\xec\x3d\xa1\xbc\x73\xc9\xfc\x59\xe3\x96\x50\xe0\xe7\x5e\x9a\xbe\x0b\xa2\x6f\x5f\xeb\xd4\x63\x34\xdb\x06\xc8\xca\xb6\xcd\x84\x85\x18\x2c\x47\x1d\x9d\xab\x14\x11\x6b\x98\xeb\x58\xd3\x44\x5d\xad\xb4\x91\x39\xb2\x8c\x45\x0d\xb8\x6e\xda\xe2\x15\x29\x03\x56\xe8\x94\xc2\xce\x66\x01\x07\xb7\x99\x50\xc2\x93\x15\xdb\x5c\x26\x5d\xb2\x30\x9c\x5e\xb2\xe9\x37\x42\x09\x1e\x39\xdc\x0c\xef\xaf\x78\x3c\x8d\x17\xcb\x90\x61\x10\x88\x78\x3e\x7f\x0c\x3c\xc6\xc7\x7a\x34\xb8\xbf\xe4\x7e\x28\x4e\x33\xe1\x0d\x86\x1b\x4b\x24\xb1\x68\x29\xbb\xe1\xe7\xf1\xcd\x66\x58\xee\x9f\xa3\xd7\x49\x28\x69\x5b\x35\xd0\xb2\x4e\x98\xfa\x09\xe3\x22\xf0\xa8\x2b\x0e\xc3\x0a\x9b\x3e\xae\x88\x74\x21\x76\xac\x9b\x07\x73\x1d\x67\x31\x59\x5d\xcd\xea\x2f\x6f\xc4\xb3\x3c\xff\xda\x0e\x83\x0b\x9f\xaf\x12\x96\xca\x31\x5e\x52\x33\x4a\xb5\xb4\x6f\x5d\x79\x80\x79\xac\x65\x79\x37\x99\xc2\xb9\xbe\x0c\x38\x6b\x63\x65\xae\xb6\x4c\x58\x59\x3d\xad\x38\x8c\x20\x81\x5e\xdb\x0a\x16\xcb\x38\xe1\x7e\xc4\x61\xac\xa0\x32\xa8\x49\xa3\xe4\x42\x85\x27\x75\xad\x2c\x23\x2b\x29\xad\x2c\xcc\x5b\x49\x2b\x3f\x84\x01\x0f\x6d\x57\x10\xe0\xdc\xed\x49\x58\x38\xcc\xe8\xd0\x85\xcc\x50\x89\x49\xde\x93\x91\x2c\xe2\x2b\xf6\x5b\x71\xb0\x68\xf6\x5b\x51\x4c\xfd\x68\x5a\xe0\xcb\xd3\xb1\xe0\x0d\x01\xaa\xf8\x5e\xbc\xbc\x7d\x52\x69\x71\xae\x59\x15\xc7\x59\xee\x93\xca\xcf\x92\x78\x49\x68\xe3\x65\xcd\xcb\x04\xcf\xf0\x67\xc7\x10\xe8\x96\x75\x6f\x64\x82\x58\xc3\xf4\x8d\xdd\xce\xe2\xeb\x28\xa3\xe5\x55\x3c\xbb\x7d\xcb\x6e\x5f\xc7\xd7\x51\x03\x45\x89\x58\x77\x48\x1b\x94\xe6\x2c\xb8\x22\x55\xa8\x4e\x30\xf3\xc4\x92\x8c\x9b\xc4\xd7\x6d\xf0\xd5\x52\x52\x85\xa9\x68\x82\xca\x80\xcf\x7d\xa6\x79\x70\xc3\x66\x75\x57\xa0\xd1\xc4\x83\x7e\x6a\x30\xf1\x98\x4d\x2a\xcc\xad\x8e\xcd\x8c\x32\xd9\x1a\x1e\x2f\x85\x87\xfa\xca\xbf\x68\x36\x16\xf8\xb6\x7d\xee\x5f\x90\xa6\x22\x0f\x34\xb0\xd6\xa0\x47\xd9\xe1\x9a\x3e\x92\xad\x12\xf1\x45\x8a\xf4\xd6\xe9\xc9\x37\x34\xe7\xe4\x1e\xc4\xe1\xac\xb1\x71\xf3\x38\x9c\x91\x0a\x5c\xa1\x5b\x79\xbc\x44\x90\xf6\x3c\x4e\xc0\x0b\xc9\x2f\x28\x21\x95\x32\x9b\xb9\x50\x93\x8a\x5a\xb7\x28\x44\x46\xb1\xa1\x92\xec\x52\x45\xb5\xe6\x15\x40\x0b\x94\x8b\xdc\xcd\xc4\x6f\x20\xa7\x80\xd4\x28\xae\x8b\xed\x26\xcc\xdf\x3c\x3a\x0a\x70\x05\x72\x44\xae\x9f\x30\x9f\xd4\xc1\x2a\xbc\xc3\xe0\x30\x41\x18\xf0\x5b\x25\x34\x0f\xc9\x74\x01\x99\x21\xbf\x71\x92\x4b\xce\x97\xe5\x3b\x2f\x6d\xd3\x34\x9f\xa7\x57\x17\x44\x6e\x72\xbe\x52\xf2\x03\xf3\xa4\x4d\xd3\xa2\x0f\xc7\x7a\x40\x09\x94\x54\x6d\xbc\xba\x28\x36\xee\xd7\x38\x5e\xb4\x45\xbc\xa4\x38\x21\x05\x90\xb2\xc3\x70\xb3\x08\xa3\x94\xd0\xc0\x58\x0b\x21\x2f\xbf\x20\x94\x58\x1d\xab\x54\x59\x85\x45\x0d\x53\x2d\x1e\x2f\x61\x46\x16\xb2\x39\x87\xbf\x6b\x99\x88\xba\xf9\xc4\x4f\x2e\x58\x93\x9f\x09\x2a\x04\x7b\xc9\xa8\x43\x17\x5a\x5c\xbc\x99\xa5\xcd\xf1\x75\x03\xfa\xc7\x38\x4c\x65\xf8\x07\x5b\x99\x39\x37\xcb\x9b\xcc\x47\x59\xde\xa8\x56\x2f\x6f\xc6\x32\x04\x91\x78\x88\x97\xfe\x14\x39\x60\x36\x51\x27\x3d\xdc\x7d\xe9\xe1\x66\x4b\xb7\x6b\xc5\xac\x58\xba\x89\xfc\x06\x63\xcc\x6e\xf8\x9b\x68\xb9\x52\xdc\x11\x91\xba\x0e\xf3\x42\x27\x0a\xa0\xc9\x1a\xe1\x24\x35\x3b\x3d\x56\x9f\xf9\xa7\x8c\x1f\xc4\x11\x3f\x40\x7f\xb1\xe9\x74\x69\xd9\x1b\x9d\xe7\xb0\xac\xc9\x5b\x15\x96\x06\x30\x1e\xab\x18\xfa\x1e\xbf\xbb\x53\x27\x13\xf1\x40\x5b\xf1\x2b\xc1\x06\xca\x2e\x9a\x29\xab\x1c\xa9\x5e\x43\xdd\xa6\xf6\x7e\x12\xf3\x9c\x4f\x49\x58\x3e\x96\xbb\xa3\x3f\x34\xef\xba\x4c\xd8\x9c\x50\xd6\x34\x41\xcb\xd7\xd7\xe4\xbe\xed\x7c\xb2\xbb\x71\xb6\x85\xa5\x0d\xb9\x1d\x7f\x0d\x46\xb9\xf3\xaf\x82\xb1\xb4\x87\xaa\x86\xf1\x11\x0c\xc0\x01\x52\x5b\xf0\x29\xce\x02\xcb\x7b\x59\xd7\xa2\xc4\x55\xac\xda\xc1\x43\xb5\xe2\x81\x6f\xf5\x8a\xbf\x26\x33\x37\x77\xbe\xba\x0e\x01\xf7\x91\x3f\x4e\x02\x70\x7a\xf4\xff\x91\xf7\x6e\xcd\x8d\x2b\xeb\x62\xd8\x53\xca\x6f\x49\xa5\xf2\xe2\xca\x79\xa1\x70\xf6\xd1\x02\x16\x41\x0e\x40\x49\x73\x21\x07\xa3\x4d\x51\x97\xa1\x34\x92\x46\xa4\x44\x8d\xa8\xd1\x9e\x05\x92\x4d\x0a\x43\x10\xa0\x1a\xa0\x44\x69\xa4\x6d\x57\xca\x76\xe5\x24\xb6\xe3\xa4\x5c\xb6\x2b\x39\x89\x9d\xe4\x38\xc7\x4e\xb9\x52\xb6\xeb\x54\x6e\x3e\x4e\xaa\xf6\xca\x7b\xfe\xc3\xfe\x25\xa9\xbe\x01\x0d\xa0\x1b\xe4\xcc\x5a\x7b\xfb\x54\x65\x6a\x69\x91\x04\xba\xbf\xfe\xfa\xeb\xdb\xd7\xdf\x35\x7f\xb2\x4b\xa0\x02\xe1\x7c\xc7\xf0\x72\xba\x3e\x02\xe1\x56\xd2\xde\x7d\x39\x3c\x53\x46\xf2\x79\x18\x4b\xe1\x8b\x31\x4e\x41\xce\xc1\x3d\x01\xbb\x39\xb1\x47\x02\xf1\x9f\x0c\x36\x29\xbe\x24\xec\x64\x4c\x8a\x45\xa0\x71\xe9\x25\x21\x0b\xfc\x51\x17\x40\x8f\x6a\xe4\xb6\xd0\x88\x35\x6b\xd9\xd8\x12\xf1\xbb\xdc\x79\x41\x24\x94\xe9\x78\x1c\xcc\x49\x6c\x04\xc2\x86\xeb\x00\x2f\x8c\x63\x72\xb0\x1b\x2f\x35\xdb\xfa\x42\xcf\x29\x50\x26\x5f\x74\x72\x56\x81\x32\xfe\x8c\x2c\x91\x45\x1a\x42\xb9\xa0\x37\xc2\x2b\x37\xfe\x46\x02\x7b\x55\x23\x2d\x2e\x86\x99\x1f\x19\x24\x0d\x94\xf4\x2a\x0f\x2a\xe3\xa4\x64\x10\xa3\x0d\x71\x31\x6a\x58\x3f\x91\xbf\x32\xa5\x40\x20\x40\x33\xc2\xee\x5f\x03\x91\x73\xf5\xb7\xe8\xa2\xf3\xa6\x5e\x2b\x56\xac\x0b\xa2\x4e\x44\xa8\xa8\x39\x7a\xf8\xa0\x7f\x0d\x06\x33\x17\xb4\xc0\x00\xda\x77\x39\xbb\x6c\x1c\x05\x21\xa1\x60\xa4\xaa\x25\x90\xba\x35\xf0\x06\x8c\x80\x9a\xe9\x72\x3c\x7e\x2d\x36\x7f\x49\x94\xa4\x07\x19\x65\x0f\x53\x7e\x96\x3a\xb0\xc2\xa7\x1c\x5a\x21\x5a\xd6\x92\xe6\x31\xa7\x38\xe4\x07\x56\xc2\xa8\x91\xaf\x1c\xda\x87\x31\x2a\xd1\xab\xc8\x66\x1d\xda\x77\x1d\x12\x2a\xb2\xe5\xdf\x05\x9f\x54\xa8\x3b\x39\xa7\x23\x25\x5d\x53\x48\x19\x6c\x09\x79\xcd\xeb\xd0\x39\x12\xb2\xb5\x8d\x0a\xd4\xa4\xa5\x2c\x2e\xae\x12\x07\x99\x58\xc5\x17\x80\xb0\x8e\xce\x8f\x14\x1a\x4e\x23\x47\x95\x43\x19\xba\x65\xf6\xdc\x21\x2b\x07\x8a\xca\x74\xfe\xed\x2c\x9a\x24\xe6\x10\x4e\x20\xdb\xf4\x42\x35\xa7\x69\x39\xec\x09\xb0\x83\x19\x04\x09\x54\x04\x0b\x02\x5b\x93\x30\x23\x19\x6a\x5b\x92\xe2\x96\x72\xa4\x30\xb8\x3c\x2f\x82\x41\x0f\x4a\x71\xfe\x6f\x4e\xe1\x43\xcb\xfe\x0c\x97\xa8\xe8\x02\x62\xcf\x42\x9f\x93\x85\xb2\xcb\x48\xfa\x31\x8f\x40\x7b\x6a\x7b\x8b\x3a\x18\x4c\x6d\x2f\xd1\x43\x5c\x29\xd3\x4b\x54\xac\x74\xe7\xc3\xb1\x8d\x0f\xc6\x4c\x2b\x5c\x60\x11\x55\xf9\xa0\x94\x21\x98\x02\x3b\x54\x4d\xc3\xd0\x8a\xca\x47\xa8\x68\xfc\x93\x04\x8d\xb2\xf2\xa2\x08\x28\x5f\x70\xcb\x0e\x80\xeb\x78\xe0\x67\xea\x4f\x8f\x82\x53\x44\x4d\xa4\x67\xbc\x62\x44\x13\x3e\x55\x30\xa1\x36\xfa\x20\x68\x37\x86\x74\x4e\xce\x3b\x10\xdf\x6f\x72\xa4\x21\x84\x36\x4c\x45\x28\x64\x00\x78\x32\x41\xde\x7e\x2a\x24\x27\xf0\x33\xd3\x30\xb0\xf6\x06\x35\x8b\x7e\x24\x5d\xbd\x72\xa9\x1f\x75\x50\xd3\x61\x99\x91\xca\x12\x11\xc0\xc7\x1a\xfa\x53\x7f\x9a\x18\xd3\xcc\x6d\x23\x0d\x35\xd5\x7f\x71\x79\x56\x4e\x20\x2d\x91\x68\x01\x6e\x47\x18\xe3\x07\xdf\x9f\xec\xda\x38\x2a\x62\x2c\xd0\x88\xb8\x1f\xdb\x05\xf9\x70\x33\xd8\x50\xb8\xf2\x5d\x34\xbd\x0b\x66\x8f\xfe\xc4\x5b\xfc\x48\xb4\x65\xa9\xcb\x5e\xc4\x49\x01\x19\x87\x91\xb1\x01\xe3\x26\x10\xe7\x13\xcf\x58\xc8\x52\x62\xcb\xed\xc7\xc5\xe2\x3d\x9e\x40\x24\x2c\x5b\x74\x3b\xbb\xf7\xfa\xf4\xfc\x0d\xb6\x9d\x09\xf0\x70\x1a\xd5\x4f\x34\x3c\x0e\x7f\xb4\xd1\xa0\x85\xb1\x52\xfc\x4b\x6c\x6e\x83\xef\xb2\x4f\x3a\xd7\x13\x40\xa5\x6b\x2d\xff\xee\xd4\x27\xe7\xb4\x0a\x12\xac\x0b\xb6\x98\xa5\x66\x74\xaa\xa6\xe9\x20\xcb\xc4\xe4\x1c\xda\x62\xb4\xb3\x6c\xb7\x88\x0f\x25\xfd\xc9\xd8\x05\x52\x36\x5b\x66\x1a\x18\x31\xe5\xf8\xfd\x6d\xc4\x5f\x90\x78\x74\x4e\x79\x58\x0e\x26\x36\x0c\x77\x5d\xdf\x87\xdb\x0e\xea\xa3\x9a\xac\x92\x98\x3e\x65\x26\xb3\xe6\xec\x07\x52\x30\xbf\x97\xd6\xaa\xa5\x8a\x9f\xfa\xd3\x43\x6c\x3e\xc0\xac\x11\xe3\x57\x84\xf4\xf4\x2d\xab\x5f\x0a\x85\x62\x68\x62\x82\x40\xd5\xf2\xb2\x26\x30\xdf\xc0\x05\x40\x30\x58\xac\x97\x08\x58\xda\x07\x27\xa8\x69\xb0\xc8\xcf\x5e\x3a\x03\x03\x4d\xc7\x66\x4a\xa9\xe2\xa9\x5d\x85\x0a\x99\xf0\xdd\x85\x7e\x72\xac\x4b\xba\x1c\xe9\x9f\x15\x16\x61\x4e\x21\x74\x4e\x5b\x89\xe5\x42\x36\xc0\x77\x60\x18\xe6\x54\x0b\x99\x51\x43\xb2\xd6\xa9\x3f\x2d\x91\xd6\x72\x67\x2b\xbf\xf8\x32\x4b\x3e\x69\x52\x9a\xe1\xf2\x93\x4b\x45\x26\x09\x67\x7d\x97\xcd\x9a\xef\xb3\x4d\x15\xa5\xa3\x9c\x33\x8d\x16\xf4\x35\xb1\x88\x17\xb0\xd2\x10\x17\xca\x63\xa3\x49\x89\xe5\x59\x68\x52\x5e\x07\xf4\xcb\xa7\x45\xbc\x33\x2d\x96\x19\x11\x7c\xed\x8a\xd4\x43\x68\x43\x4c\x99\x05\xe3\x41\xe5\x77\x51\xd1\xee\x2a\xbc\x2c\x7e\x79\xaa\x25\xf7\xa6\xe4\xf5\x26\x94\x5d\x6f\x00\x77\xbd\x39\xa5\x8b\x4d\x65\x92\x49\xf4\x70\x2b\xbe\x99\xa9\x21\xf7\x3c\x71\x17\x02\x91\xcb\xbc\x74\xeb\xcf\xbb\xc9\x4a\xbb\x95\xd3\x61\xde\x6a\x92\x37\x7a\x16\xf6\x3f\x3d\xf3\xf0\x44\xa5\xf1\x6f\x12\x73\x57\x6e\xd9\xc6\xd1\x27\xed\xb0\xb1\x92\x1e\x44\x6a\x00\x4a\x25\xb8\xd9\x17\xb1\x35\xa4\x05\xb4\xd4\xb6\x10\x5b\x15\xaf\x24\xb7\x40\x2a\xbd\xe5\x34\xbe\xbc\xc3\x6d\xa2\x68\x7a\xab\x89\x61\x52\x4b\x49\x01\xd2\x9c\xa9\x62\x06\x6f\x62\xbe\x9a\xc5\x5a\xd0\x33\xee\xca\xfe\x53\xf1\xcf\x87\x4e\x4d\x47\x87\xd4\x9d\x20\x8b\xed\xef\x04\x93\x2c\x6c\xad\xb6\x3c\x29\xd2\x70\x6a\xe9\xc1\xcf\xf2\x97\x0b\x68\x80\x1d\xdd\x16\xcd\xa0\x2c\x90\xc5\x0d\x0b\x27\x4f\x8e\xe1\x67\x72\xa7\x58\xb4\x42\x48\xf7\x17\xcd\xb3\xd7\xd9\xd5\x81\x16\x2b\xdf\x35\x4e\x6e\x94\x19\xd5\x5c\x45\xf2\x37\xad\x83\xcc\xfa\x8d\x30\xe4\x15\xdf\x8b\xc7\x7d\x89\x09\xc8\x01\x14\xcf\xc1\xf4\xfc\x5f\x16\x03\xd6\x87\x9f\x86\x03\x83\xf2\x97\x6f\xf6\xa7\x67\xc8\xd7\xb7\x2a\x80\xb5\x60\xe6\xf3\x67\x61\xda\x61\x84\xb9\x36\x40\xde\x33\x75\xc5\x0a\x99\xef\x29\x8d\xf9\xbe\xed\x0c\xb0\x25\x36\xf0\xfa\xe8\x20\xc2\x09\xa2\xe0\x08\x84\xd8\x14\x5b\xc1\xd1\xdd\x2c\xcb\x49\x4c\x61\x52\x71\x87\x55\x00\x03\x96\xf2\x66\xe8\xbb\x03\x96\x56\x38\x01\x85\x7a\xae\xa4\x7d\x9b\x75\x28\x8b\xa9\x00\xb5\xa7\xa7\xd8\x13\x18\x51\x47\xf7\x65\x13\x8a\xb1\xec\x69\x82\xeb\x5e\x66\xa9\x32\x1f\x3d\x91\x48\x58\x77\xe3\x90\x1b\xa2\x53\x3b\x2b\xae\x4e\xdf\xf9\xae\x2d\xa3\x76\xfd\xda\xad\x5d\x33\x0f\xd7\xbe\x05\x8a\xd7\x38\x1c\xd7\x8a\xe5\x69\xe8\x93\x33\xc5\xef\xa3\x07\xfe\xea\x6a\x6c\x9e\x6f\x59\x7d\x0d\xaa\xb6\xee\x6b\x38\xc8\x57\x42\x08\x4d\xbd\x15\x82\xd5\xd5\x20\x53\x3e\x40\xe5\x03\x61\x79\x7b\xc5\xf2\x57\x57\xed\xc8\x7b\x91\x46\x5f\x18\x82\xb0\x7f\xcd\x82\x1f\xa8\x7d\xe2\x89\x30\xd3\xbe\x30\xab\x7d\xd7\x1f\xa9\x4a\xc3\x9f\xb9\x03\xef\xbb\xb0\x80\x4b\x63\xf3\x7c\x6c\xba\x50\x2d\x28\xc5\xbe\x56\xc3\x59\x34\x9f\xec\x15\x6b\xb6\x99\x9e\xbe\x89\x15\x3d\xd3\x6d\x4d\x9f\x65\x23\x44\x88\x17\x82\x8d\xfa\x92\x28\xad\x55\x6d\xcb\x4e\xb8\x1f\x45\x3b\xa8\x2a\xe9\x8e\xf6\x2d\x3d\x59\xd4\x07\xe2\xd7\x90\xc2\xa5\xf6\xef\x08\x17\x44\xf7\xec\x39\x84\x26\x83\x97\x2b\xa1\x49\xdc\x02\x32\xd7\x84\xa4\x0d\x19\xaf\xbf\x57\x05\xef\x53\x71\x55\x72\x21\x64\x37\xbb\x44\x49\x4d\x13\x9b\xb6\x09\x70\xc8\x14\x11\xa1\x91\x03\x27\x8b\x49\xba\xb0\x26\xa7\x60\x1f\x5d\x01\xa2\x88\xae\x59\xcd\xaa\xe0\xbe\x70\x09\xa2\xf5\x7a\x95\x67\x82\xc0\x4f\x9b\x6c\x5c\xa1\x48\x4e\x6a\xc9\x6f\x33\xab\xab\x71\x42\x12\x61\x81\x4d\xf9\xab\x4b\x70\x55\x95\xed\x6f\xd8\xce\x0e\xe4\xdc\x01\x59\x60\x27\x9e\x38\xf8\xca\x96\xa3\xe3\x41\xc4\xae\xbb\x6e\x46\xc4\x85\xa3\xc0\xad\xc8\x77\xe9\xd8\x89\xeb\x4b\x7c\x08\x4b\x85\x35\x0b\x8f\x5c\x59\x4d\x8d\xc5\xfe\x4e\x2e\x67\x23\x6b\xfd\xca\x2f\x4d\x90\x14\x44\x2d\xba\x99\x3e\xd1\xa0\x7d\xd2\xce\x12\x71\x9a\x0e\x17\xc9\x50\x4a\x66\xe4\x03\xc8\x73\x63\xe9\x88\x33\xf1\xd9\x03\x79\xea\x49\x18\xb8\xc5\xc4\x93\x54\xd4\x6a\xa1\x88\x76\x30\x43\xbb\x04\x9f\x4c\xa9\x11\x66\xb6\x35\x69\x37\xf8\x40\x2e\xb1\xee\x25\xed\x1b\x19\x47\x12\x06\xba\xa1\xe9\x4e\x19\xcc\x43\xe0\x0d\xd4\x50\x0f\x05\x7e\xb1\x62\xb1\xc8\x02\xf5\xbc\xef\xba\x87\xf6\xfc\x93\x28\x4f\x40\x56\x4e\x98\x16\x77\x65\x44\x04\x4b\x49\xad\x4a\x72\xc0\x58\x7e\x9e\x23\xd0\x8a\xe4\xd8\xa7\xfe\x54\xa0\x60\x95\xc8\x7e\x92\xb2\x0e\xb0\xb4\x5c\x83\x4a\x84\x81\x5c\xfc\x2b\xed\xbf\x0e\x79\x79\x37\x25\xb2\xaa\xd5\xc2\x37\x10\x1d\x06\x16\x4c\xbb\x9b\xe0\x42\xa7\xfe\x74\xc5\x0a\xa3\x78\xc2\xe9\x77\x2c\x50\x7d\x5a\x3a\xbf\x14\xc5\xa8\x30\xf9\x2f\x33\xd1\xf2\x26\x4d\x4d\x0d\x4b\x5f\x29\x9b\xd7\x70\x64\xf8\x38\xde\xfb\x57\xd2\x3a\x77\xe5\x70\x82\x32\x81\xf2\x1d\xf3\xe2\x58\xb1\x2b\x81\xfe\x4c\x8e\x74\xae\xb5\x5b\x42\x0c\x29\x5a\xb3\xe2\x71\x2a\xa5\x23\x09\x70\x71\x18\x99\xd3\x8e\x2c\x1e\x60\x46\x63\x43\x35\x00\xf1\xd0\xf3\xaa\x9b\xd5\x55\xa6\x22\xcd\x14\xa0\xda\x1b\xc6\x70\x33\xa1\x30\x15\x71\x32\x95\x16\xf3\x28\xca\xa8\xb4\x98\x99\xe6\x42\x5d\x5e\xc2\x8b\x28\xd1\xab\xe5\xaa\x64\xe4\x30\xb8\xd9\x44\x11\x1a\x24\x8b\x26\x56\x7c\x4f\x3c\x5a\xc0\x20\x41\x37\x2e\x0c\xc5\x36\x70\x43\x1b\xd5\x81\x96\x78\x3a\x94\xc2\x1a\xc4\x93\x15\x5a\x86\x96\x8a\xf1\x95\xd8\x3e\xe0\x1b\x07\x97\x72\x34\x1d\xae\x48\x80\xc9\xa7\x34\xd4\xb3\xee\x37\x79\xc6\x2c\xa9\x1e\x08\x38\x3b\x92\x68\x59\xc5\x81\x25\x43\xfb\xd0\x1f\x00\xed\x4b\xdf\x0e\x40\x01\xd7\xc2\xb6\xd4\xe5\xed\xe3\xc3\x4f\xdb\x3b\xef\x4e\xeb\x9f\xde\x37\x3f\xec\xbc\xab\x86\x16\x2d\x7e\xf1\x7d\x9a\x50\x5c\xbc\x0e\x72\x99\xa8\xc9\x81\xbd\x6b\x1e\xed\x64\x60\x09\x55\x74\x8b\x20\xbd\xaf\xef\x2d\x07\xe9\xfb\x04\x5d\xa3\x6c\x5c\x6a\x1c\x83\xeb\x7b\x39\xdb\x48\x9d\xb8\x96\x9d\x90\x34\x46\x89\x78\x2a\xe2\x97\xf9\x93\x50\x87\xba\x23\xd8\x20\xbe\x38\x83\x2a\x28\x3b\x03\xe0\x85\xce\xd0\x01\x50\xbf\xaf\x02\xaa\xa2\xbe\xd0\xe7\xd1\xf7\x0f\x4f\x4f\xf1\xd8\xe2\xf4\x83\x78\x58\x79\x3f\xbb\x2a\x16\xa2\x59\x46\x2d\xc4\x91\xb2\x70\x96\x4e\x8c\x57\x1c\x2d\xab\x58\x0c\x35\x68\x39\x6a\xfa\xfd\x65\xc8\x52\x0a\xc6\xd1\x58\x2e\x61\xd9\x19\x5c\x59\x90\x1b\xad\x84\x27\x5c\x35\x7e\x02\xbc\xc1\xb2\xad\x53\xb5\x54\xba\x2d\x01\x42\x1c\x4d\xae\x32\x38\x60\xa7\xc0\x2a\x89\x19\x41\x42\x96\xfe\x84\x8e\xfb\x45\x4b\xd8\xf7\xf2\x7d\x09\x96\xef\xa5\x74\xf1\xbf\xb7\x68\xfc\xbf\x40\xb6\x8b\xf8\xb5\x00\xef\x22\x01\xdb\x45\x3c\xf1\x2e\x12\xbc\xf1\x70\x29\x4f\xd3\x83\xaf\xdf\x45\x02\xed\x29\xbb\x8d\xc8\x77\x91\xc8\x57\x5f\xcc\x7a\x7c\x9b\xbd\x06\x71\x69\x5c\x76\x2d\x61\xf7\x47\xc9\x52\x42\xef\x24\x2b\x89\x91\xe0\x2b\x15\x90\x02\xa1\xf1\x8a\x44\xdb\xc2\x6e\x03\x25\x99\xe0\x36\x12\x99\x57\x34\x2d\x7d\x2a\x27\x75\x95\x50\xa6\xab\x0c\xb9\x18\x2b\x39\x0d\xd0\x00\xae\x4e\xcd\x11\x0b\x24\xb9\x92\x9b\xf9\x05\xaa\x8b\xef\xbf\x22\x79\x0b\x2f\x0a\x91\x5d\x19\xb1\xdd\xdf\xc2\xbe\x14\xcd\xc8\x45\x6b\x81\xb6\x2a\x6e\x7e\x29\xe5\xd9\xa2\x2b\x71\x96\xce\x69\x1d\x20\x8b\x11\x57\x93\x0a\x84\xb9\xb2\x69\x3a\x0b\x3a\x5a\x5d\xfa\xc2\x59\x34\x25\xd2\xa5\xe5\xe9\xee\x4b\xf4\x7a\x91\x54\x63\x31\xcd\xd3\xad\x4b\xb4\x34\x4f\x79\xdb\x09\xef\x01\x2c\x5c\xd4\xb1\x8f\x00\x5b\x32\x24\xf0\x5f\x79\x08\xfd\x09\xda\x6f\x1a\x58\x28\x54\xbe\xbb\x76\xfa\xd7\x5a\x39\xf4\xdf\xf9\x77\x00\x36\xec\x00\xb1\xb7\x68\xcf\x0e\xa1\x7b\x00\xee\x1f\x1f\x41\x79\x02\x42\xfb\x00\xdc\x6b\xab\xab\xca\xad\x62\xa1\xeb\x02\xe1\x56\x79\xa7\x31\xe6\x4d\x93\x83\x32\x71\xa0\xce\x6e\x80\x22\x38\x9c\x19\x52\x4d\x6c\x6b\x11\xc6\xdc\x32\xf5\xd3\xfe\x82\x06\xb1\x1a\x26\xe1\xdd\xda\xee\x0c\x60\xd7\xea\xec\x63\x2c\x6c\xcc\xfa\x03\x19\xf2\x1d\x37\xc7\xf1\x2d\x95\x5f\x31\x08\xfd\xe9\x7b\xe8\x4f\xed\x91\x4d\x10\xce\xb3\x96\x8e\x4c\xeb\xa8\x36\x68\x91\xd5\x34\xf3\x46\xbe\xb0\xc0\x26\xbb\x2b\x54\x15\xea\x1f\xb9\xb8\x21\xc2\x65\xfa\xb7\x80\x72\x9a\x22\x33\x7f\x49\xfc\x38\x90\x0a\xee\x87\x9d\x93\x02\x9a\x87\x37\x93\x2a\x9a\x3e\x87\x20\xf0\x67\xb0\x0f\xf8\x74\xbd\xc9\xc8\x80\x2c\x35\x78\xf4\xe0\x78\x8a\xb0\x09\xe2\xd0\x81\x02\xd0\x34\x8a\x20\x09\x02\xc2\xfd\xa4\x3d\x5f\x2a\x09\x30\x7b\xdc\x39\xc5\x91\x08\x4f\x69\x9a\x6d\xc1\x24\x85\xfe\xd0\x71\x41\x73\x90\x74\xae\x70\x26\x36\xbc\x6f\xd3\x10\x25\x51\xf0\x40\x00\x3c\x52\xc0\x76\x43\x00\x3d\x3b\x04\xf2\x22\x51\x7c\x93\x2c\x40\xbe\x40\x3a\x9e\x61\x9c\x00\x92\x0f\x7a\x97\x0e\x5f\xc8\x07\x2d\xe4\x83\x91\x45\x29\xa2\x97\x09\x29\x94\x5b\xfd\x2b\x62\x5f\x88\xaa\x2f\x1d\x62\x21\xaa\x4c\x99\x1e\x8e\x71\xe1\x2b\xc4\x36\xb8\xc2\x10\x84\xa9\x4c\xcc\x3c\xf4\x9e\xdd\x1f\x13\x2d\x2c\x4b\xf9\x1c\xda\xbd\x76\xe8\x4f\xb9\x27\x94\x37\x3a\xa5\x2f\x22\x57\xdb\x5b\xba\xb0\x4e\xfd\x29\xdf\x2e\x7b\x4c\x78\x91\x65\x73\x73\xb6\xaf\xed\x29\x20\x61\xde\x69\xce\x77\xee\x79\x79\xeb\xdd\x71\xe3\x80\x2f\x8e\x5d\xec\xb2\x50\xb6\x5c\xc7\x1b\x37\xee\xfb\x2e\xf8\x64\x5d\x9a\x86\xa1\x9b\x86\x41\x7b\x31\xb9\x3f\xf6\x1a\x71\xa1\x4f\x11\x2d\xb9\x67\x19\x92\xa6\x7c\xfa\xf8\x06\x87\x49\x7f\xc6\x44\xd0\x4a\xdc\xff\x63\xef\x78\x16\xe2\x3d\x32\xfb\xe6\x00\xdc\x07\x21\xf4\xc7\x20\xfb\x12\x6f\x3e\x75\x08\xfd\x3b\x54\x28\x31\xa0\x60\x08\xec\xf0\xd0\x9f\x05\xa0\x05\xa6\x3e\x0c\x83\x4f\x51\xf8\xc9\x1e\x70\xdd\xfa\x6c\xe0\xf8\x8b\x6c\xfa\x6d\x54\x88\x19\xd7\xc7\xb5\xf8\xe0\x03\xc0\x75\x4b\xa4\x58\xa6\x54\xd2\x2b\x77\x0a\x81\xeb\xdb\x68\xfb\xb2\x67\x61\x02\xe8\x91\x8f\xae\x53\x7d\x7c\x08\xbc\x73\x82\x90\x9f\x4c\xc1\x38\xf4\xa7\x7c\x81\x2d\xe0\xba\x71\x4f\x02\xfb\x16\x0c\xe8\x46\xc8\x45\xca\x64\x0f\xc8\x5a\xa7\xef\xe9\x8c\xcd\xc4\xd5\xbc\x65\xf9\xf5\x3b\xa7\xfc\x68\x8e\xe9\x7e\x4b\x5f\xb2\xed\x97\x2f\xe2\xf8\x51\x32\x73\x3a\x0d\x9b\xc7\xfc\x7b\x80\xc3\x90\xe2\x31\xd8\x86\xf6\x88\xcc\xf4\x38\x6e\xa8\x3f\xbd\x3f\xf6\x08\x8b\xc3\x0d\x1c\x8e\xfe\x85\x03\xea\x36\x5c\xa7\x3f\x26\x2e\x8c\xa9\xd7\xf8\xe1\xd6\x2c\x0c\x7d\x8f\x7b\x85\x9a\x21\xab\x8f\x04\x47\xc3\x9b\x00\xa3\x14\xce\x56\x1b\xe9\x0c\xea\xc3\x10\x40\xf2\xde\x60\x37\x29\x1c\x3b\x09\x6d\x9c\x9f\xd4\x97\x86\x5e\x59\x8f\xae\x29\xec\xf2\xc6\xd6\x74\x7c\x81\x09\xdf\x93\x2d\x5f\x05\x8f\x8f\x0a\x5d\xf9\x8a\x9e\x56\xb8\xfa\x1e\xa3\x4f\x0b\xd8\x83\x7b\x55\x7b\xe2\xb7\xaf\x27\x5d\xbc\x8c\xad\x2f\x78\x1d\x57\x15\xfc\xa1\xe8\x5b\x3b\xf5\xc3\xaa\x82\xfe\xaf\xe8\x67\x47\xdb\x3b\x2d\x2c\xd7\x51\xa2\xaf\x4a\x02\x50\x42\x42\xc2\xb7\xce\x0b\x61\x25\x35\x42\xbb\x47\xfc\x2e\x5f\x8a\xdf\xc7\xfd\x16\x79\xe2\x73\xa7\x20\x28\x43\x30\x75\xed\x3e\x50\x9f\x7d\x7c\xf6\x6c\xa4\x2b\x0a\x9f\xc1\x96\x9a\xe8\x43\x30\x0c\x98\x72\x91\xfc\x28\x0f\x80\xdd\x0f\x9d\x5b\xec\x46\xa6\x73\x2f\xe8\x6c\xcb\x1c\xf4\x6a\xaa\xe1\x44\xa5\xb2\x3d\x18\x1c\xb3\xd0\xb1\x38\x3a\xb7\xfe\x45\xb1\xdd\xb0\x34\x82\xa5\x89\x3f\x00\x4a\x35\xc1\x95\x59\x24\x14\x3e\xd8\x54\x80\x57\x9a\x05\x8a\x65\x79\xf6\xad\x33\xb2\x43\x1f\x96\x5d\xdb\x1b\xcd\xec\x11\x48\x72\xc2\x9b\x24\xda\x56\x55\x81\xd8\x4e\xdd\x76\x43\xa5\xaa\x90\xe0\xcb\x88\x13\xbe\x9f\x02\x7f\x58\x00\x9b\xa9\x5a\x55\x52\x4b\x7f\xf6\x2b\x15\x7d\x79\xc4\x71\x26\x6c\x37\x7c\x74\xc1\x10\x03\x79\x8c\xc0\x69\xbf\x78\x56\x0e\x41\x10\xaa\x40\x7b\x7c\x54\x81\xc5\xa2\x7b\xc1\x68\x8d\x22\x26\x62\x0f\x1e\xfa\x03\xec\xec\x8b\x7b\x87\x36\x63\x1c\x55\xa6\xe4\x04\x25\xc4\x9d\xc7\x4f\x92\x3d\x4e\x42\xd9\x62\x85\x9a\xc1\x21\x08\xed\xe8\x67\x04\x97\x42\xcb\x83\x41\xaa\x46\x35\x02\xe0\x0d\x82\xd2\xdd\xb5\x1d\x26\x2b\x3d\xfb\x95\x0a\x82\xbe\x3d\x05\x8f\x2f\x4b\x3d\x27\x7c\xec\x41\xff\x2e\x00\xb0\x34\x06\xf7\x99\x1e\x93\x82\x99\x3e\xb7\x11\xe8\xf3\x6b\x3b\x24\x8d\xcd\x06\x88\x33\x2e\xe1\x3d\x39\xc0\xde\x62\xd5\xac\xac\x1e\xb0\xa0\xe6\xbf\x72\x9d\x5e\x89\xf1\x9d\x55\xf5\x63\xbb\xa8\x3d\xd3\x6a\xe1\x26\x94\xef\xe1\x01\xec\x2b\x88\xb9\xa5\x95\xb0\xf7\xaf\x1d\xda\x67\xd0\x55\x43\x1c\x91\xbd\xba\xa8\x32\xd0\x9e\x74\x85\x6e\xeb\x25\x8f\xdb\xd7\x31\xd6\xa9\xb9\xb8\xba\xca\xef\xfc\x9b\x2a\x94\x1f\x08\xca\x08\xda\x5e\x08\x06\x8a\x65\x59\xfc\xdb\xf2\x14\xad\xdf\x00\xdd\xbc\x75\x79\xf5\xc7\xc7\x64\x0a\x58\x29\x82\x05\x27\x28\x84\x70\x06\x0a\xbd\x59\x58\xb8\x03\x85\x81\x8f\xcd\xca\xae\xed\x5b\x50\x88\x5b\x2a\x84\x3e\x8b\x60\x58\xe0\x41\x04\x65\x05\x93\x28\xe7\x58\x7b\xd2\x95\x98\x8d\x20\x61\xe4\xd2\x53\x2d\x1b\x6c\x00\x27\x71\xe2\xeb\x39\x13\x7b\x94\x99\xe6\x09\xf6\x32\x13\x54\x20\x03\x03\xb3\xbc\xcb\x82\xc0\xfc\x76\x1a\x02\xf3\xba\x5c\x1a\x4a\x94\x10\x33\x82\x44\x56\x30\x59\x41\x8b\xd7\x6f\x54\x02\xaf\x8b\xe4\xda\x8d\xbd\x45\x27\xf6\x14\xa7\x9f\x80\xce\x00\x04\x49\x58\x74\xef\x7b\x7c\x04\x05\xc7\x0b\x42\xdb\xeb\xa3\xbd\xeb\xb8\xf7\x19\xf4\x43\x34\xfd\x6e\xc3\x58\xdc\x7f\x68\x4f\xa9\xc4\x4f\x45\xcb\x32\xf3\x2a\x00\xe1\x31\x6b\x45\x05\x9a\x56\x4d\x4e\xb1\x78\x13\x2f\x24\x51\x9b\xf8\x83\x78\xc2\xb0\x08\xb2\xb6\x57\xf0\x31\x16\x24\x4f\x36\xea\x0f\x09\x0f\xda\xc3\xb1\x28\xb3\x33\x84\x63\x54\xd5\x95\x95\x4c\x8d\x52\x1f\xb1\xbd\xa9\xe5\xc6\xf7\x19\x27\xb2\x5e\x5d\x55\xbc\xd9\xa4\x07\x20\xb7\x8f\x5f\x1a\x57\xc2\xc7\xe6\xd5\x26\x14\xf0\xd5\xa0\x2a\x7a\x9a\xad\xbf\x79\x09\x74\x70\x55\x8d\xd8\xf0\x18\x5f\xd9\x1a\x68\xc4\xac\x3d\x99\x2f\xb8\x60\x69\x6a\xbb\x20\x0c\x81\x6c\x84\x69\x82\x0a\xd9\x20\xa7\x1e\x62\x2a\xe0\x4a\x0e\xbd\xc6\x93\x8f\xf7\xa4\x11\x2b\x7a\x1a\x84\x7e\x7f\xdc\xe0\x5e\x95\xfb\xbe\xd7\xb7\xd1\xd4\x00\x5a\x94\x9a\xa8\xe0\x78\x05\xc0\x92\x3f\xc4\x7e\xd7\x24\x10\x79\x70\x64\x1f\xa9\xbe\xf6\xf8\xe8\xbf\x36\x1e\x1f\xfd\x37\x95\x8d\x0d\x2d\x61\x53\x47\x9d\xdd\x0b\x58\x2e\x83\x40\xd1\xae\xe2\x74\xe5\x45\x05\xcf\x8c\xcb\xf0\x2a\x0e\xfa\x0c\x2e\xfd\x2b\x96\x1a\x22\xc2\xd4\xf3\xe1\x04\x73\x7a\x8d\x76\x9b\x94\xa8\x91\xa4\x1b\x82\xfe\x5d\xfa\x57\x56\xa0\x3d\x3d\xc1\xd4\xa5\x3b\x9d\xbd\x8c\xc4\x3b\xe0\x2a\xe2\x15\x91\xbe\xd8\x2f\x51\x4b\x94\x8e\x9b\x5f\x28\xe2\x11\xe6\x16\x89\x8d\x06\xac\xe0\xc3\xcc\x6a\xf1\xa7\xf7\x25\xdf\xa3\x71\xd1\xd2\xb3\x29\xc1\x89\xaf\xac\xa0\xed\x62\x16\x80\x12\x65\x68\x4b\xe4\x46\x5c\xc2\x81\x12\x53\x35\xc5\x2c\x37\x86\x80\x19\xee\x38\x10\x5b\xc9\x46\x2c\xb7\x10\x88\x94\x35\x27\x70\x10\x63\x34\x75\x67\x41\x69\xe2\x78\xb3\xa0\xf4\x00\xa0\x5f\x7a\xf0\xfd\x89\x74\x1b\x44\x35\xde\xbb\xb3\xe0\x10\x95\xef\x02\xe8\x77\x7d\x7f\x62\x45\xb0\xfa\x42\x24\x12\xb5\x1b\xb8\xfd\xa8\x06\x0d\xff\x95\x5b\x85\xc5\x5a\xd1\x33\xfb\x7b\x1c\xa5\x85\xac\x53\x60\x07\x61\xc9\x0e\x1c\xdb\x2b\xd9\x93\x9e\x33\x9a\xf9\xb3\xa0\x64\x07\xa5\xf0\xce\x2f\x91\xf4\x7f\xa9\x25\x5b\xbe\xeb\x97\x21\x18\xd9\x70\xd0\xf8\x3c\xae\xb3\x2a\x18\x3d\x72\xc3\x2a\x61\x06\xaa\xd4\xf7\xbd\x10\xfa\x6e\x1a\xcd\xdb\x90\x5e\xc4\x5e\x6e\x39\x58\x80\x0d\x7d\x97\xd2\x96\x56\xef\xf9\xee\x20\xb3\xc3\xdc\x7b\xfd\x2d\xdf\x1d\xb4\xed\x21\x68\x87\x34\xa2\x03\x5f\x01\xa1\xdc\xc3\x3c\x6a\xba\x6a\xfe\x62\x21\x20\x10\xe8\x7a\xb0\x85\xeb\x23\x64\x96\x58\x2f\xe2\x8a\x1c\x52\xc2\xa3\x00\x75\x03\xbd\xc8\xf4\xa1\xef\x3a\x53\x3c\x7c\x25\x9c\x5d\x53\x4a\xb5\x06\x2b\x77\x8e\x8a\x25\x9b\x1c\x80\xbe\x59\x91\xd6\xdc\x46\x6f\x69\x05\x2e\xdc\xad\x08\xc5\x38\x84\x18\x46\x31\x8a\x82\x2b\xd8\xf7\x59\x28\x0b\x32\x99\x48\x49\x16\xc4\x6c\x29\xd0\x4c\x12\x23\x3d\x59\x52\xc1\xa7\x48\x43\xd7\xfe\x04\x20\xd6\x3c\x28\x31\x61\xb2\x64\x31\xa0\x82\x07\xe0\x9e\x1a\x45\xa1\x59\x8a\x5e\x39\xde\xc0\xf1\x46\x41\xfa\x2c\xe2\x99\x17\x5a\x84\x6c\x07\xf8\xe0\x40\x7b\x78\xf6\x8c\xd2\x42\x78\xff\x45\x54\xd1\x1e\x0c\xb6\xe8\x77\x84\x73\x1f\xb3\xf9\x20\xb6\xcc\xa6\x51\xea\x71\xfc\x7d\x74\x7e\x70\x78\x15\xa6\xd1\x2e\x4b\xf7\x4c\x51\x7c\xfb\x85\x35\x77\x58\x44\x7f\xb2\xfd\x2a\x88\x70\x13\x7b\x5e\x22\xb7\xc1\x52\x00\x6e\x66\xa8\xa0\x60\xc6\x4c\xec\x39\xd1\xbd\xb4\x69\x19\xbc\xbc\x27\x60\xe0\xd8\x84\xea\x36\x04\xa5\x21\xfa\x26\x25\x3c\x2e\x8c\x28\x5f\x87\x60\x17\x7d\x52\x10\xa1\x4d\x19\x48\x7a\x89\x92\xd7\x0f\x6d\xcc\x38\xee\xe0\x72\xa4\x36\x0e\xc5\x4e\x6e\xa2\x7d\xd7\xe9\x8f\xc5\x3b\xa1\x50\x66\x13\xd7\x27\xc1\x13\x7b\x58\x5e\x23\x9a\xa2\x87\x29\x99\x0e\x9e\xa8\x53\x7b\xb4\xdc\x84\x43\x05\x93\x13\x4e\x99\xda\x41\x80\x6e\xce\x25\xca\x67\x89\x98\xdc\xd5\x55\x15\x58\x2b\x54\xda\x1b\xdf\xf1\x67\x01\x80\xf5\x11\xf0\x42\x76\x4d\x3c\xb4\xfb\x85\xe3\x76\xe1\xc3\x33\x6d\x75\x55\x99\xfa\xd3\xd9\x54\x59\xb1\xfc\x32\xa9\x78\x7a\x3f\x05\x1a\x76\x70\x09\x82\xba\x1b\x1e\xe1\xe6\x62\x14\xf0\xe9\xf1\xfb\xc4\x01\x9d\x35\x69\x24\xf0\x0c\x58\x84\xc4\xcf\x88\x03\xba\xfc\x0b\x71\xb8\xcd\x19\x42\x52\xad\x83\x6b\x40\xd0\x07\xce\x2d\x28\x01\xaf\xef\x0f\x32\xbb\xda\xb3\x5f\xa9\xb3\x70\x58\x7a\xf9\x08\xed\xbb\xa4\x9c\x20\xc1\x37\x7d\x97\x64\x17\x87\x3e\x2c\x08\x00\x17\xbe\x2b\xe2\xe8\x4e\x0a\x06\xa9\xa4\x2f\x32\x3b\xb4\x20\x46\x8b\x4c\x43\xc4\x45\x8d\x99\x40\x5a\x7c\xb3\x4b\x48\xac\x93\x35\x7d\x2c\xe4\x96\x55\x63\x22\xf0\xb8\x4e\xcf\x86\x25\x6a\xa2\x28\xd8\xa8\xd3\x3a\x41\xb2\x53\xd3\xd6\x70\xbc\xf0\xd2\xc4\xbe\xc7\xab\xbf\x64\x43\xe8\xdf\x95\x44\x1b\x88\x58\x92\x0e\x32\x90\xfc\x5b\x50\x9a\x44\x7a\x3e\x29\x3a\x59\xcd\x21\x45\x0b\x61\xf1\xb3\x0f\x69\x0a\xaa\x60\x3c\x63\x2e\x4d\x3c\xaa\xd7\xce\x30\x2c\x11\x05\xfc\x02\x36\x0f\x17\x6d\xe2\x92\xf1\x0e\x17\x52\xf9\xa8\xa4\x6b\x78\x3e\xe1\xcc\x7d\xe4\x2d\xa1\x05\x8e\x65\xdd\x0f\x24\x43\x11\x71\x8e\x71\x08\xd0\x64\xb5\x12\xe2\x8c\x96\xab\x8b\xed\x11\x70\xe5\x3b\x1f\x0e\x4a\xd8\x5e\xab\x84\x57\x74\xc9\x05\xc3\x45\xac\x5b\x36\xff\x9d\x25\xe4\xd4\x44\xe5\x44\x4d\x2e\xc3\x2e\x0a\x32\xeb\x2d\xd3\x28\x2d\x28\x6a\x75\x82\x53\xf0\x7d\x55\xb3\x24\x6b\xdf\x32\xed\xb2\x92\x4f\x4f\x49\xa9\x33\x04\xf6\xa0\x1d\xfa\xd0\x1e\x01\x35\xad\x10\xa0\x45\xb0\x68\xec\xbe\xee\xba\xaa\xa6\x87\xab\xab\x61\x9e\x62\x20\x99\xea\x15\xd5\x97\xc5\x09\x24\xc0\x25\x95\x03\x10\x6e\x41\xbb\x3f\x06\x21\x18\x48\x02\x47\x32\xe5\x51\xb9\x97\x2c\x08\xe4\x20\x39\x51\x84\xd0\x5d\x2a\x56\x41\x82\x8c\x6e\x53\x16\x0f\x54\x5a\x10\x67\xe4\xe1\x82\x86\x8a\x49\x24\x44\x29\x49\x28\x1e\x31\x79\xdf\xda\xa9\x9c\x7a\xd9\x0e\x8a\xb5\x5c\x39\xe4\x5a\x18\x2a\x35\xa3\x48\x95\x48\x2f\x34\x91\x89\x41\xfa\xda\x14\xeb\xaf\x02\x55\xa8\x8b\x15\x2b\x6f\x35\xb1\x75\xc2\xcf\x0b\x5d\x2a\x09\x8d\x2f\x1e\xb2\x01\x5e\x32\x9e\x6d\xba\x61\xf9\xa8\x2c\x0c\xb9\x9b\xd1\x61\xff\xff\x64\x54\x44\xd7\x41\xd9\xa8\x2c\x19\x0d\x39\x8d\x8e\x04\x20\x9c\x79\x0d\x7f\x32\xb1\xbd\x41\xc3\xb5\x83\x20\xa5\x6d\xe4\xe2\x6d\xd2\x0d\x75\x04\x42\x55\x01\xde\xad\x03\x7d\x6f\x02\xbc\x50\xd1\x6a\x0a\xbd\x89\x45\x92\x56\xb8\xba\x4a\x52\xed\xc2\xc7\x47\x15\x5a\x5f\x9e\x78\x37\x02\x9a\x80\x9e\xb4\x89\xb5\x8d\x40\xfd\x62\xc3\x11\xb9\x9a\x55\x49\x88\x70\xc7\xaf\x52\xed\x77\x79\x3a\x0b\xae\xd1\x4d\x35\x6e\xb2\x0a\x75\xdf\xdb\x99\x3b\x61\x4a\x84\x83\x0a\xfb\x53\x55\xd3\x9d\xf2\xcc\xc3\x57\x5a\xd7\x8d\x54\xea\xe8\x29\xdf\x85\xbe\xeb\x07\x00\xb1\x8b\x60\xee\x84\x8a\xb6\xba\x4a\xb9\x73\xfc\x5c\xd5\xa2\xa3\x26\x0b\x87\xc7\x1f\x91\x4f\x95\x8d\x95\x13\xbc\xe7\xe7\xe7\x82\xa0\xb3\x96\xc8\xf4\x48\x06\x39\x89\x54\xc6\xfd\x38\x62\xa7\xd2\xd8\x67\xe6\x5e\x32\x1d\x62\xcf\x1f\xdc\xcb\x7a\x93\x21\xe9\xf2\xad\xa2\xc9\x20\x03\x8b\x8e\xb6\x20\xe8\xd8\x30\x95\x17\xda\x52\x58\x3a\x0f\x85\xe5\x9f\x8b\x2c\x48\xd8\x37\x16\x48\x96\x9c\x5a\x44\x65\x3e\x05\x30\xbc\x57\x7f\xf8\xc5\x17\xf8\xf4\x8b\x2f\xe0\xe9\x07\x9a\x87\x5b\xb6\x1f\x09\xc2\xa3\x1a\x16\xbb\xb0\x65\xe6\x7d\x2c\x33\x12\xda\x53\x25\x04\x47\x91\xfd\x02\xe9\x9e\xaa\x44\x69\x49\xb0\xcb\x92\x92\xad\x9f\xf4\xf2\x88\x43\x9a\xe5\x80\x22\xae\x20\x0b\x61\x51\x57\x37\x0c\x2c\x6f\x63\x91\x06\x70\x15\xcd\x9b\xa8\xaf\x0b\x40\x2e\x0c\xdb\x9f\x06\x1a\x4b\xd2\xc4\xe3\x96\x10\xb8\x65\x66\xa1\x60\x44\x28\x40\xf1\x70\x52\x81\x61\x92\xb3\xe4\x46\x3b\x92\xfb\x69\x9c\xc9\x75\x46\x6a\x2b\xc5\x34\x2d\x77\x91\x84\x22\xe4\xdb\x15\x08\x74\xb0\xfa\x86\x69\xb4\x56\x22\x8d\x16\xd3\xb7\xe7\x88\x14\x3e\xaa\x1f\x4c\xb3\xf6\x31\x28\x46\xca\xf7\xd5\x55\xa5\x01\x8f\xdb\x08\xcc\xa5\x79\xb5\x29\xb6\xf8\xa9\x54\xc5\xcf\x4d\xea\x5c\x2c\x7c\x29\xe5\xc7\xd2\x14\x5b\x82\x08\xbc\xd8\x9c\xcb\xf9\x6e\x01\x2d\xc9\x88\x2f\x27\x06\xb7\x80\x7e\xeb\x3b\x74\xff\x5b\x5e\x08\x6e\x81\x44\x20\x46\x7e\x6a\x49\x22\x7c\xc2\x25\x4b\x2a\xa4\x63\xba\x63\x85\x65\x70\x33\xb3\xdd\x40\x85\x5a\xcd\x49\x1b\x09\x20\x24\x62\xdd\x6d\x50\x18\x38\x01\xe6\x90\xab\x05\x04\xa5\xe0\x0f\x0b\x08\x4e\xe1\x0e\xaf\xef\xc2\xc0\x19\x0e\x51\xa9\x21\xf4\x27\x05\xc2\x30\x95\x0b\x05\xb4\x02\x0a\x64\x96\x17\x9c\x00\x6b\xf2\x16\x2c\xbc\xa5\xb8\x2b\x8e\x4a\xce\x72\x1c\x13\x5f\x23\x6f\xa6\x44\xaa\x84\xec\xda\x8e\xb7\x40\xcf\x1f\x80\xd2\x60\x06\xb1\x0e\x5b\xc9\x2e\xde\x84\xc2\x42\xdb\x54\x8c\xf2\x8b\x40\xa9\x2a\x86\x74\x03\x8c\x16\x6b\x1b\x9d\x26\x79\x4d\x67\x73\x67\x2a\xcc\xca\x8f\x4a\x69\xb1\x31\x24\x3d\xd0\x6f\xc3\xf2\xe1\xf1\x59\x7b\xe7\x53\x6b\xe7\xfd\x71\xeb\xf4\xd3\x76\xb3\x5d\xdf\x7a\xb7\xb3\xbd\xa9\x48\xf3\x71\x22\xba\x69\x4a\x55\x5e\x60\xea\x3b\x5e\x08\xa0\x26\xef\x8c\x7d\x0b\xc8\xf5\x6c\x51\x12\x0a\x02\x91\x59\x45\x90\x7c\x50\x79\x3b\x7a\xd2\x70\x7b\x11\xf4\xe4\x0c\x90\x1f\xc4\x32\xa8\x69\xbb\xfb\x24\xbc\xbc\xcb\x69\x37\x0e\x13\xbc\xc4\xc9\x93\x3c\x2e\xe3\x10\xc3\x72\x8c\x89\x2e\xf6\xd4\x09\x53\x6e\x02\x29\xd3\xe6\x72\x88\x4b\xc8\x10\x85\x20\x08\x7d\x98\x19\xaa\x68\x63\x77\xca\xc3\x72\xdf\xb5\x27\x53\x12\x24\x57\x37\xd2\xb6\xe8\x2c\x72\xab\x89\xb6\x1e\xbe\x34\xd1\x72\x0a\x2a\x90\x9c\x11\x26\x0b\xfb\x15\x27\xa3\x6c\x24\x66\x82\x1a\xea\x50\xd3\x23\x40\x6f\xe0\xe3\x23\xfb\x6e\x59\x70\x75\x35\xf6\x7e\xd0\xd2\xde\x79\xa9\x29\xc5\xca\x59\x2b\x86\x6c\x5e\x61\x75\x14\x69\xff\x98\x95\x16\x9c\xeb\xf9\xd0\xcd\x45\xc2\x13\x62\xf2\x29\x11\x9e\x50\x73\x6f\x10\xf9\xfc\xa1\x75\x4d\xea\x7d\xca\x5b\x0f\x42\xd0\x22\x21\x08\x69\x20\x6f\x42\x25\xd2\x70\x50\xdd\xc1\x8a\xc5\x92\x11\xe1\x80\xd6\x7c\xd4\x5b\xec\xd7\xdf\x07\x8e\x9b\xe5\xea\x05\x9c\xe4\xf7\x20\xbb\xed\x4b\x22\x4a\x6b\x7c\xb0\x5b\xde\x64\x17\x48\x66\x9f\x96\x8c\x04\xd1\xbe\xf7\xfa\xc9\xc9\xf4\x49\x65\x0e\xf3\x99\x5e\x28\x38\x9b\xb3\x9c\x2c\xe9\xc8\xb8\x79\x74\xe1\x23\xdd\x2e\x62\x86\xbf\x07\xb2\x5e\x0a\x17\x4c\x94\xea\xe9\x2b\x3b\x49\x51\xca\xed\x25\xdf\x7a\xea\xfe\x0d\x12\x1e\xb1\x31\x3a\x2c\xf4\x1f\xa9\x49\xa2\x1d\xe0\x3b\x47\xb6\x3c\xc1\x20\x59\x81\x46\x3f\x88\xa2\xc1\x3a\x7e\xc2\x84\x39\x60\xa3\x2d\x9b\xf7\x89\x76\xd3\x6e\x6f\xe0\xb5\x65\x64\x53\xb1\xd7\xc3\x10\x4c\xa6\x61\x21\xf4\x0b\xb4\x76\xa1\x67\x0f\x0a\x34\xd1\x81\x52\x8c\x38\x2d\x90\x8c\x58\x3e\xa2\x2b\x83\xcf\xce\x9f\x22\x46\x26\xff\x18\x36\xf9\x99\x4d\x3c\x12\xd4\x07\x91\xe5\x8d\x41\x62\xf0\xa4\x3c\x47\x28\x55\x04\xe6\xe7\xe2\x5d\x33\xe4\x42\x36\x72\xa2\x91\xc8\x43\x85\xba\x5c\x97\xcc\x1a\x7c\x63\x19\x91\xab\x6d\xf4\xfe\x12\x5e\xbd\x06\x5a\x0d\x96\x4a\x5a\xaa\x22\x16\x5c\x64\xb7\x64\xae\x1b\x42\x8c\x16\x0c\x10\x8b\x51\xfe\x53\x46\x88\xa5\xa8\xc8\x1d\x22\x16\x7b\xa0\x26\x9e\x7d\x16\xe0\x33\xb7\xc4\xcc\x09\x1d\xd4\xd7\x06\x89\xa2\x14\x62\xaf\xf2\x90\xa6\x8f\x89\xa3\x4e\xa4\xe3\x33\x39\x25\x6e\x89\x47\x0e\x43\x94\xf8\x96\x05\xd1\x51\xa9\x11\xb7\x79\x36\x67\x08\x14\xac\xa9\x71\x34\xfa\x2e\xd1\x89\x29\x76\x60\x56\x35\x3d\x2c\x95\x9e\x88\xf5\x5c\x72\x34\xae\x9d\x21\xf6\x3e\x55\xc3\xb8\x97\x89\xe6\xa7\xb3\xe0\xba\x6c\x4f\xa7\xec\xa6\x99\x7a\xaf\xfb\x9a\x8e\x31\xa3\xc1\x11\xed\xb9\x8a\x7f\x96\x42\xdd\xa0\xa6\x10\x08\xd9\x37\x06\xf1\x1d\x7d\x6d\xe5\xf4\x91\x59\xdc\xc5\x61\x16\x85\x2e\x54\x51\x2c\x26\x4f\x0c\x2c\x98\xba\x4e\x1f\x08\xb1\x65\x33\x39\xd0\x83\xd4\xb4\x9c\x79\x31\x29\x3c\x44\x2e\x2b\x20\xfd\x2a\x5a\xc1\x13\xdb\x67\x48\x40\x2a\x12\x59\x3a\xd4\x9e\xd8\x2a\xeb\x9c\x92\xb3\xa6\x05\x46\x68\x36\x62\x47\x01\x2c\x1c\x8a\x4f\xdd\x88\x1b\x52\xa1\x94\xb9\x25\x01\x82\xfc\x89\x80\x4b\xe7\x2f\xff\x89\x00\x4d\xaa\x94\xf9\x20\xe5\x76\xbc\xac\x40\x4b\x02\x8d\xa6\x2d\xc8\xce\xce\xfc\x16\xde\xdb\x23\x70\x36\x95\x5c\x7d\x53\xb7\xb1\x84\x3b\x7d\x6d\x51\xd7\x12\xeb\x91\x17\xf8\x98\x8b\x31\xda\xf6\xef\x64\x32\x89\x9f\x86\x53\x51\xca\xa9\xe6\xe2\xf4\xce\xf1\x7e\x67\x54\x5a\xa2\xe9\xdf\x1d\x39\xa4\x8d\xdf\x39\x53\x40\x7d\xde\xb3\xa9\x13\x25\x7b\x9c\x91\x95\xf8\x25\x12\x82\x5d\x0a\x2e\xf0\xe2\x4b\xfa\x55\x79\xe8\xc3\x1d\xbb\x7f\xad\x8a\xdc\x38\x12\x5b\xfb\x1b\x23\x0e\x42\x41\x44\x51\x64\x81\x1b\x51\xe8\x78\xcc\xc7\xa3\x85\xa9\x02\x2d\xa9\x68\x8d\x45\x67\x19\xa6\x29\xdb\x95\x64\x8a\x2b\xd9\xc5\x09\x64\xf3\x25\xe0\xf6\xeb\xae\x2b\xf0\x22\x93\xf8\x97\xc5\x18\x0b\x28\xb6\x94\x1c\x84\x99\xe7\x8b\xc0\xa5\x89\xbd\xa4\x6a\x29\x01\x32\x63\x68\x9f\x11\x75\x24\xcc\xf4\x19\xa9\x6f\xc3\x14\x18\x7f\x18\xb6\xc8\x03\xd9\x22\x60\x25\x32\x64\xcd\xf3\x75\x8c\x54\xd9\x9c\x05\xbe\xb5\x92\x4e\xe8\xc0\xbd\x5c\x9a\xa6\x29\x63\xef\xe5\x29\x27\xaa\xb8\xf8\xf0\x89\xe8\xcc\x0c\x7d\xe4\xd7\xd5\xa1\x0f\xef\x6c\x38\xa0\x73\x29\x27\x61\x9e\x4c\xc8\x42\xee\xe6\x24\x6c\x8f\x90\x83\xac\x85\xc5\xa2\xc6\x78\x97\x98\x7d\x0c\xaf\xde\x44\xf2\xcf\x5b\xdf\x19\x14\x92\x98\x13\x76\x31\x5b\x49\x4b\x70\x5f\xf9\xf7\xe8\x9a\x1c\xa4\x40\x88\xa0\x2f\x75\x35\x97\x89\x51\xd0\xb6\xf6\xf3\x10\x52\xc6\x86\x87\x6f\x10\x8d\x4b\x25\x21\x2d\x5f\x7f\x1b\x2d\x85\xe5\xe4\x47\x0b\x08\x33\xdd\x03\x71\xff\x96\x40\xfd\x8b\x08\xf7\x58\x10\x5e\x5b\xb6\x6b\x71\x1b\x8c\xef\x2b\x9a\xba\xa1\x03\xca\x9e\x65\x5e\x1b\xe4\x65\x8e\xc4\x86\x76\xac\x1e\x66\x45\x8d\xdf\x3e\x76\x38\x86\xf3\xf1\x50\x05\x5a\xad\x64\xae\x44\x51\x4e\xb2\xd8\xeb\x52\x9a\xa7\x8f\x81\x6c\x78\xe6\x14\xb9\xd9\x79\x9a\x09\x2c\x90\x23\x53\x4a\x1d\x28\x92\xd1\x05\x8f\x8f\x86\x1e\x5f\x13\x49\xe6\x2d\xc7\x0a\xad\xb0\x64\x96\x54\xc4\x0d\xfd\x11\x2c\xc2\x9a\xf3\x5a\xb8\xc2\x6a\x4e\xd1\x82\x2c\x51\x07\x6b\x4a\x75\x58\xc2\x97\x4c\x18\x04\xa9\xba\x38\x04\x70\x0a\x81\x20\xc7\xf3\x6d\x18\xbf\x55\x97\x92\x71\x48\xda\x18\x80\xbe\x0f\x6d\x91\xb1\x13\x8e\x02\x01\xb2\xa7\x3c\xab\xc1\x35\x9b\xeb\x3c\x98\x39\xf7\x32\xce\x88\x12\xa5\x6c\xca\x85\x30\x0f\x4e\x9e\x6e\x57\xe0\x43\x98\x07\x2a\xf2\x4c\x94\x80\xe3\x0c\x0f\x33\x60\x22\xdb\xc5\xfc\xba\x71\x00\x2a\x51\x65\x62\xc1\xa8\xf1\x79\xf6\x48\x7a\x6e\xfc\x1b\x7f\xcd\x84\x97\xe0\x55\xd8\x19\xc0\x02\xed\x77\xca\xf7\x21\x02\x92\xb1\x9a\xcd\x00\xcb\xda\xde\x6a\xe9\xea\x02\x2b\x57\x09\x18\x89\xf9\x6c\xd4\xf7\x28\xf0\x88\x88\x91\x8f\xed\x1f\x52\xa5\x49\xc2\x40\xdf\xc3\x99\xfd\xe7\xe1\x04\x78\xb3\xac\x88\x77\xc5\x7c\xe2\x55\x84\xbe\x87\x75\x48\x89\xc0\x1d\x02\x9d\x60\x22\x1b\xb1\xaa\xd5\xa0\x20\xdb\x3f\xd6\xf8\x0c\xfc\x3b\x4f\x41\xfc\xb5\xb4\xc4\x6c\x9a\xff\x1e\x87\x0b\x8c\x93\x3b\x25\x42\xb8\xf0\xb1\x49\x43\x21\x08\x3c\x4d\xa2\xc0\x30\xbb\xe8\x57\x03\x47\x11\xe4\x7a\xa8\xaf\x18\x5a\x0e\x02\xa4\x0b\x1c\xe1\xb8\x40\x52\x8b\xe1\x26\x6f\x11\xa2\x46\x7a\xee\x0c\x2e\xc4\xd0\xd4\x34\x71\x94\xeb\x74\x86\x51\xac\xce\xd3\x6a\x4e\x22\x14\xd9\x77\xf4\xf0\x2a\x79\xfe\x00\x5c\x92\x55\xa4\x0c\x6d\x37\x00\xca\x55\xe1\x4b\xa1\xd0\xf3\xe7\x68\x61\x38\xde\xa8\x5a\x20\xc6\x93\xa5\x9e\x3f\xaf\x15\x0a\x69\x3f\xeb\x6a\x21\x84\xb6\x17\x90\x20\xfa\x7c\x66\xd7\x02\xab\x47\x05\xa2\x95\xe9\x3c\x7e\x86\x91\xaa\x16\x02\xdf\x75\x06\xb5\xa7\xf2\x5d\x1f\xe3\x81\x1a\xa6\x1e\xe0\xd5\x82\xe3\xb9\x8e\x07\x4a\x3d\xd7\xef\x8f\x6b\x85\x02\x42\xbe\x64\xbb\xce\xc8\xab\x16\xfa\x00\x6d\xf0\xb5\x02\x93\xb5\xf6\x6d\xb7\xaf\xf2\xaa\xc5\xa4\x61\x8a\x56\xf8\xbe\x50\xd1\x6a\x85\x02\x06\xc8\xa4\x7f\xc2\xf2\x2c\x57\xe1\x53\x15\xfa\x7e\x88\xf0\x11\x83\xac\x16\xbe\x13\x28\x1f\xc4\xd6\x2e\x35\x01\x90\x58\x04\xb9\x00\x4a\x6c\xe7\xc2\x83\x21\x43\x47\xb2\xf2\xa1\x61\xa8\x16\x0c\xe9\x6b\xe8\xdf\x25\x5f\x13\x57\xe6\x84\xb6\xb9\x5a\x30\xca\x2f\x02\xae\x4c\x46\x79\x5b\xc5\x03\x20\x2b\x41\xb5\xb7\xd5\x02\x3d\xc0\x65\xe5\xe8\xb0\xe7\xab\x89\x6b\x4f\xbf\x1c\x83\xfb\x21\xb4\x27\x20\x28\x60\x64\xd1\x38\x60\x0b\x80\x2f\x05\x7f\x6a\xf7\x71\xba\x61\xb3\x6c\xd4\x0a\x4f\x85\x42\xe8\xf3\x4f\x0d\xfc\xf4\xa9\x1c\xf7\x11\xd5\xb5\x3d\x67\x42\xa2\x11\x78\xf6\x04\x54\x09\xd0\x1a\xff\x3c\x26\x04\x8f\x9b\x80\x52\x5a\xa2\x9a\x13\x02\xf2\xb8\x84\xf3\xdd\xa0\x49\x3b\x74\x3c\x27\x04\x89\x52\xa1\x33\x71\xbc\x51\x89\xed\x17\xd5\x02\xb0\x03\x50\x72\xb0\x5f\x47\x12\x0b\x07\x02\x5a\x24\xba\x16\xd6\x9e\x94\xf4\x26\x7e\x0d\xec\x41\x22\x40\xbe\xa3\x65\x83\x3f\xe5\x6f\x0a\x5c\x9e\x68\xde\x58\x3a\x8e\x50\x14\x39\x28\x90\xd7\x4a\xb6\x6c\xdf\xb5\x83\xe0\xc8\x9e\x00\x4b\xe1\xb6\x12\x41\xc1\xc5\x59\xa5\x49\x3a\xe9\x25\x56\x71\xe2\x6d\x7a\x11\x68\x1a\x49\x4f\x2d\x87\x43\x57\x77\x2e\x20\xe8\xdf\x69\x5a\x2d\xda\x85\xc8\xf6\x43\xd7\x7c\x0e\x72\xb5\xa5\xb6\x95\xd2\x1d\xe8\x8d\x9d\xb0\x84\xb7\x4c\x4a\x05\x3a\x77\xf5\xcc\xce\x5a\x30\x0d\x63\x12\xe0\x4d\xcb\x86\xb5\xd2\xc4\x7f\xf8\x96\x7a\x8a\x9e\xb9\xdd\xf9\x02\xae\x23\x11\x36\x40\xfb\x69\x82\x9a\xb4\xaa\x59\xc8\x84\x64\x12\xa1\x71\x53\x26\x71\xb2\x6f\xa1\x11\x00\x5f\x3b\xab\xb3\x75\xb9\xc9\x4d\xf6\x9c\x01\xb4\x47\xd4\x4b\x90\x9c\x32\x00\x2a\xd2\xca\x4b\xa6\x46\x2f\xbd\x7a\x35\x9d\x4b\x66\x8f\x69\x4c\xe7\xd1\x34\xc1\x3f\x32\x2b\x5b\x92\x27\x3a\x83\xce\x12\xac\xcf\x25\xcf\xaa\xc4\x7c\x15\xcf\x41\x29\xd8\x37\x53\xd1\x95\x41\xcf\x25\x5f\xc5\xa2\x53\x19\x4d\x32\x8c\x4b\x9c\x71\x93\x5f\xff\x39\xc5\xe2\x9e\x0b\x0b\x09\xe4\xad\xb9\x80\x97\xe4\xce\xd2\x17\x05\xa1\x5c\x17\x84\x2d\x70\x0b\x60\x00\x3a\xce\x00\xf8\xea\x8a\x29\xa0\x39\x0d\xec\x29\xb8\xd0\xa4\xf3\x3b\x4b\x8d\x2d\x18\xab\x2e\xb3\xb4\x88\x28\x24\x15\xdc\x21\xce\x2d\x4f\xcd\x13\x45\x1f\x95\xa1\x40\x83\xed\x66\x55\xaa\xa1\x5c\x5c\xaf\x65\xcd\x8e\xa2\x22\x97\xe0\x2a\xa3\x55\x15\x80\xa8\x89\xac\xab\xa0\x7f\x17\xe0\xf0\x21\x97\xe1\x55\x2e\xc6\x64\x1d\x26\x4d\x0b\x62\x1d\xf6\xe5\x95\xee\x58\xa0\xe6\xbc\x0e\x6b\x0e\x4b\xb8\xe6\xf3\xca\x57\x7c\x49\x71\xd0\x2d\x05\x1b\xe3\xfb\x3c\x6f\xac\xe9\xce\xeb\xb0\x64\xae\xae\xae\xe0\x44\x2a\x5c\x2c\x26\xcc\x3f\x32\x19\xa0\xa2\xad\xae\xd2\xea\xca\x47\x4f\x61\x41\xea\x0b\xb0\xfc\xd9\x77\x3c\x55\xc9\xb3\x4b\xa6\x8a\x5b\x51\x86\x89\x34\x92\x40\xe3\x71\xcb\x05\x49\xf2\x73\xe7\xda\x86\xa5\x07\xa1\x28\xa6\x3e\x7d\x2b\x69\x8d\x53\x85\xe6\x49\x00\x65\x50\x93\xb7\xc7\x2c\x46\xba\x63\x19\x35\xe7\x35\xc8\x0c\x9d\x74\xdf\x9f\xa3\x53\x5b\xd1\x6a\x7e\x76\xef\x4c\xd7\x41\x64\xc7\x74\x55\xd0\x71\xc5\xe5\xd7\x83\x45\x27\x29\xfa\x45\x23\xdb\xf2\xef\x54\x5f\x7b\x12\x44\x85\x4f\x77\x4a\xa2\xaf\xac\x39\x43\x35\x78\x63\x90\x6e\x78\x32\xfd\x7b\xa0\xd5\x08\xac\x98\xc6\x8b\x54\xef\x9e\x48\xc9\xc4\xa7\x94\x61\x86\x20\x4c\xf0\x85\xdf\xe0\xa0\xce\xaa\xf6\xc4\x32\xcb\xc8\x7a\x83\xf3\xba\xe4\xf7\xd7\x8c\x37\xca\x3a\x3d\x02\x33\xe6\x76\x52\x75\x03\x3a\x7f\xb2\x89\x29\x75\x98\x30\x93\x88\x9a\x06\xac\x38\x5e\xe6\x49\xdd\x3d\x71\xc1\xc5\x2f\xa1\xee\x90\x1b\xb1\xaf\x07\x35\xf0\x1a\x6e\xaa\xbe\x05\xf4\xc0\x82\xc5\x50\xab\xaa\xbe\x05\xf5\xc0\x02\xc5\x30\x62\x52\x78\x85\x9f\xaf\x0b\x83\xd9\x52\xe2\x35\x97\xd1\xde\x71\xe0\x32\xbd\x8a\xd3\x55\x42\x96\xbf\x95\x6a\x30\xfd\xbc\xb5\x80\x10\xae\x05\xaf\xc3\x5a\x50\x2c\x6a\x0e\xb7\x39\x06\x57\xf1\xc4\xf5\x8b\x32\x2b\xd4\x29\x74\xbc\x50\xb2\x42\x0d\x6c\x5c\x79\xd7\x2f\x07\x21\x31\x92\xc3\x49\xb7\x5f\xc3\x5a\xda\x9f\xf3\x0e\xda\x53\x1b\x73\x97\xd1\x8c\xca\x55\x8d\x64\x4c\x27\xfd\xc9\xc4\x09\xdf\x39\x1e\x60\x76\x90\xec\xc0\xf4\xc0\x1d\x7a\xac\x52\x39\x46\xa0\x7b\x16\x2c\x85\xba\x6d\xad\x98\xb5\xc5\x62\xf6\xa2\xf7\x46\x66\x48\xa6\xda\xd6\x8a\xa1\x7b\xe2\xd7\xa5\xc5\xa0\x35\xdd\x5e\x5d\x5d\x91\x91\x61\x53\x0d\x28\xe5\x66\xbd\x20\xc4\x8c\x8a\xee\x95\x4c\xad\x98\x7c\x08\xd1\x0a\xf1\x2c\xa8\x55\x05\xc5\x49\x96\x58\xd4\x6b\x17\x87\xe3\x4d\xba\xe1\x4d\x5d\x27\x3c\x77\x06\x00\x5d\x1f\x88\x0f\x99\x1a\x44\x19\x44\xd9\xe9\x79\x5d\x2c\x6a\x89\xae\xa4\xf4\x86\x77\x7d\x7c\xa8\xbb\x97\xd7\x57\xf4\xbb\x9e\x57\xdc\x0e\xfa\x8e\x13\xd7\x88\x7e\xa6\x54\xa2\x64\xb9\x1d\xfa\x03\xb0\x29\x58\x86\x14\x59\x0c\x21\x08\x21\xb5\x1d\x64\x65\xd0\x0c\xc1\x41\x73\xd2\xc5\x72\x11\xa3\xfd\x88\x42\xd7\x2e\x42\x7f\xc5\x48\x4e\x9e\x89\x7d\xdf\xc3\xd1\x78\x1a\x51\x76\x42\x34\x01\x8b\x96\xf7\xb4\x58\x33\xc0\x6f\x09\x51\xa0\x85\x78\x1d\xfc\x3c\xa6\x34\x69\x3d\x6e\x8a\xab\x31\xb0\xef\x16\xb3\xbd\x17\x58\x9f\x50\xab\xd1\xaf\x08\x15\xad\x55\x05\x55\x80\xb8\xbc\xd4\x62\x72\x14\xe3\x7d\x9a\xd4\x74\x52\xb6\x83\x18\xb5\x66\x1a\xda\xcc\x3c\xa9\xca\xb4\x3c\x5c\x13\xe9\xf4\x6a\x79\xad\x50\xd4\x37\x45\x0f\xab\x32\x2a\x4a\x50\xa0\x9b\xd4\xd7\x29\x02\xa1\x7f\x67\x2d\x3a\x3e\x6b\x8b\x10\x5f\x08\x3b\x5d\x2b\x39\xa6\x67\x53\x75\x89\x23\x3a\xbf\x21\xdd\xd0\xb4\x2a\x5b\xe9\x3f\x01\x48\xf5\xa7\x41\x28\x9a\x08\x06\xc5\x83\xb7\xc3\x33\x7f\x16\xc8\x92\x91\x47\xcc\xfe\x2e\x00\x83\x6f\xd1\x01\xd7\x92\x07\x5c\x56\x04\x33\x9b\x78\x72\x8f\xe8\xa1\x0f\x27\xe9\x96\x93\xdb\xb0\x3d\x0b\xfd\x86\x0d\xa1\x63\x8f\x40\x0b\xaf\x83\xcd\x64\x8b\x84\x2e\xac\x0b\x39\x5c\x0b\xbe\xe2\xbe\xcb\xef\x6a\x72\xa5\xa3\xee\x2c\x9a\xfd\xb5\xd0\xb2\xe8\x78\x91\x93\x01\xb5\x10\xc8\xc7\x0b\x6d\xca\x39\x76\x74\x00\xda\x01\x38\xf5\x71\x84\x10\xc9\x68\xf0\x06\xb8\x42\x6a\xa7\xb3\x14\xa6\x4f\x23\xa7\x3c\xc4\x96\xd9\xd7\x4e\x08\x70\xfc\xd3\xc8\x51\xa4\x68\x6a\x42\x6b\x4e\xe9\xf8\x51\x74\x5b\x19\x33\xff\x38\xb3\x7f\x3e\x0f\x95\x4e\x74\xf7\xb5\x0c\x8c\x0e\x2d\xb0\x19\x59\xd2\xa2\x53\xa4\x1a\xa6\x6c\xcd\x33\x27\x68\x2c\x45\xb4\x52\x7b\x57\xaa\xe0\xf6\xce\x6e\xfd\xec\xdd\xe9\xa7\xc6\xf1\xbb\xe3\x16\x33\xdb\x95\x5d\xe2\xf3\xa7\xc9\x15\x42\x2a\xc3\xff\x78\xfe\x80\xd8\xe1\xab\x81\xf6\x7a\x89\xc5\x56\x84\x69\x69\x04\x2e\x4b\x72\x93\x35\xae\x6d\x18\xa8\x50\xd3\x63\xab\x11\x81\x6b\x8e\x4a\xee\x78\x9e\x74\x32\x2d\x3d\x69\xa0\x78\xae\x78\xbc\x35\x5d\xa6\xed\xbc\x79\x94\x77\xfa\x48\xf1\xe4\x9a\x69\xc5\x0c\x77\x7a\xfa\xe6\xa1\x94\x83\x51\xbd\xe7\xdf\x2e\x8f\x12\xb7\x76\xd5\x98\xed\x65\xf9\xdd\xf0\x5e\x11\x71\xb2\xb9\x57\x49\x3d\xb7\x87\xb5\x9f\xb3\x87\x5b\x20\xe5\xae\xb5\x4c\x0f\x5b\xd4\xa8\x54\x28\x05\x49\xb0\x1a\x68\x79\x92\xd3\xa7\x06\x5f\x5b\x61\x0d\x2e\x26\x00\xfc\xbd\x11\x60\xe8\xb8\xae\x2c\x57\xa9\x70\x97\x95\x60\x6c\xe8\x46\x4c\x0b\x68\x19\x35\x98\x31\x08\xa2\x22\x12\xd4\xfd\xf8\x82\x6c\xe4\x58\x0e\x2d\x41\x26\x67\xc1\x36\x0f\x84\x84\x92\x32\xb9\x91\xf5\xab\x80\x24\x20\x75\x95\x87\x56\x98\xb0\x2e\x26\xd9\xca\x13\xb7\x7f\xd4\x39\x48\x3a\x22\xf0\x4f\x74\xf0\x20\x0b\x46\x56\x50\x16\x91\x57\xb6\x6f\x60\x00\x4b\x22\x2c\x76\x96\xad\xc5\xd3\x86\x98\xfe\x22\xbc\xb2\x48\x60\x27\x09\x1d\xb2\x6b\xb3\x3c\xb4\x07\xe3\x00\xa4\x13\x4b\xce\x3d\xc2\x0c\x0f\x42\x6f\x58\x9a\xee\x58\xb0\x14\x96\x54\x60\x71\x47\x1d\x2c\x85\x9a\x56\x34\x6b\x0e\xbd\xa5\x45\x92\x26\x35\xd4\x1d\x3d\x2c\x82\x78\x52\xfa\x16\x28\x99\x35\xff\x8d\x65\xd4\x7c\xe6\xbe\x94\xb3\x05\x15\xfd\x85\x6b\x50\x6a\x48\x86\x4e\xa2\x7c\x02\x70\x2b\x0b\x8f\x0b\xea\xba\x23\xef\xba\x6f\x39\x25\x58\x34\xf5\xc0\x72\x52\x04\xf0\x71\xf7\xc1\x8a\xe5\x67\x28\x00\x75\xa0\x07\x71\xff\x3d\xcb\xa8\x79\xaf\x41\xcd\x5b\xbc\xae\x82\xa2\xf7\x4d\x1b\x50\xf8\x0d\x1b\x10\x15\x25\xe0\x10\xf4\xcb\x51\x4b\xc0\xba\x3d\x3e\xa6\xdd\x81\x13\x12\x8a\xb4\xcc\x41\x22\x24\xf8\x79\x3a\xc4\x31\x22\x8b\xe6\x3f\xcf\xb3\x00\xe2\x49\xc6\x24\x51\x12\x6e\xcc\x09\xe2\x54\xc3\x5f\x64\x1e\x69\x42\x86\x58\xc2\x5c\xa6\x28\x93\x20\x5b\x96\xd0\xa1\x98\xdd\x81\xd4\x02\xf7\x6b\xc8\x14\x5f\x5c\x7f\xc2\xf1\x83\x2f\x12\xa2\x3b\x0b\x53\x38\xc6\x4b\x31\x3a\x1d\x97\x3c\x0a\x18\x7e\x49\x7f\x9a\x6f\x3f\x20\xc5\x57\x2b\x23\x0e\xd2\x14\x5d\x9b\xbe\x12\xd1\xcc\x3e\x2d\xca\xb7\x13\x5d\x25\x7d\xe8\x8c\x1c\x8f\x93\xe8\x81\xb0\x05\x5c\x3b\x74\x6e\xd3\x08\x93\x7b\x44\x7e\xa7\x72\x3c\x6c\xa5\x80\xe5\x01\xba\xd2\xd4\xa9\x01\x3e\x20\x40\x11\xea\x50\x97\xed\x90\xe8\x92\x1a\x97\x0d\x73\xa2\x06\x64\x3d\x6d\xbf\xa6\x4b\x62\x3a\xa4\x7d\x9e\x79\xb4\x73\x23\x1e\xfc\x7e\x90\xe6\xf7\x01\x41\x64\x8a\x6f\x96\xf4\xe4\xc5\x78\x13\xb7\xb9\x5c\x04\x0f\x5c\x69\xd9\x31\x68\xf1\xac\xfb\xe2\x3e\x81\x5c\x87\x8f\x7c\xce\x26\xea\x56\x2b\x79\x5d\x58\xa2\x4f\xd0\xbf\x93\x7a\xee\xf1\xb6\x03\x9f\x78\xb8\x91\xfc\x20\x76\x43\x22\x79\xfe\xf9\x1b\x4a\x4d\x58\xc2\x12\xe7\x3a\xa5\x09\xbc\x41\xa6\xbc\x0e\x52\xae\x78\x18\x19\x9a\xc4\x74\x01\xe6\x9c\xae\x71\x01\xf6\x41\x54\x32\xaf\x07\x71\xa9\xe5\x7b\x11\xd7\x49\xf5\x24\x2b\xaa\x07\x19\x39\xbd\x99\xc3\x5b\xe3\x61\x4c\x9d\x51\xd9\xd0\x18\xa8\x61\xb5\x44\xf8\x10\xe9\xdd\x22\x2a\x99\xcc\xf0\x8a\xf8\x74\x33\x61\x81\x2d\xdb\xab\xd3\xfb\x63\x35\x72\xcc\x58\xa6\x0a\xdb\x2a\xa5\x22\x71\xc4\x65\xc6\xbb\xd1\x02\x49\x2a\xd1\x74\xe6\x1c\xcb\x7e\x3e\x1d\x92\xc2\x3d\x2a\x2c\x53\x55\x42\x0d\xed\xb5\xa9\x2d\x73\x61\xa0\xd2\xd7\x28\xfd\x38\xa3\x02\x95\x73\x9e\x47\x4a\xbc\xd8\x05\x69\xb1\x3a\x13\x94\x4a\x39\x4c\x9f\xbe\x02\x34\xe6\xb7\xb4\xd8\x27\x0d\xfa\x77\x35\xd5\xb1\xc2\x12\xd0\x70\x2a\x79\x15\x5a\xb0\x84\xb9\xf7\xa1\xeb\xa3\x1b\xfb\x33\xe1\x8e\xaf\x95\x4c\x52\x1e\x4a\x84\x0a\x45\xf8\x47\xe2\x17\x9a\xee\x88\xc5\x88\x45\x27\x53\x83\x34\x95\x12\x56\x47\x1b\x65\xec\xe3\x8f\x98\x14\x87\x38\xf8\x53\x7d\x7d\xf4\x2e\x2c\x01\x74\xef\x17\x32\x9c\x0e\xcd\x3b\x2d\x9d\x02\x62\x81\xa9\x68\x0e\x2c\x37\x2d\xa9\x78\x50\x74\xe2\xa6\x42\x06\xa5\x59\x63\xf9\x16\x97\x34\x0b\xcb\x89\x83\x0c\xf9\x62\x40\x67\xb1\x5d\x16\x44\x49\xc5\x65\x24\xee\x37\x29\xdb\xcc\xfc\x20\xb8\x19\x40\x99\x0c\x1e\x9a\xc6\xd4\x80\x5f\x8b\x93\x00\xd4\xb7\xe1\x24\xe8\x9c\x54\x53\xe1\x78\xa3\x2d\xc0\x8b\xa6\x12\xb1\x8e\xf2\x82\x42\x67\x50\xcb\x46\x9c\xa5\x69\xc1\xe9\xf1\xe3\x0c\x55\xf1\x39\x03\x96\x09\x41\x9d\x63\x56\xfb\xa4\x57\x0c\x43\xd3\xc9\x29\xd8\x03\xae\xdb\xbe\x99\x01\xb7\x7f\x4d\x9b\xfa\xc4\x6c\x27\xb8\x64\x80\xa3\x4c\x32\x40\x6d\x33\x53\x68\xea\xda\x91\xab\x12\x06\x0b\x92\x70\xf3\x8f\x4d\x19\x36\xbc\x55\xa4\xbe\x61\x18\x9a\x56\x5d\x50\x83\xdd\xb1\xc4\x79\xfa\xd8\x4d\x96\x33\x64\xb7\x83\x5d\x62\x9d\x18\xad\x6c\x9f\xc6\x37\x67\xf7\x27\x61\xa6\x5b\x62\x75\x87\x85\x52\xbe\x87\x2d\x57\xad\xe4\x28\xb9\x3e\x16\xe2\x26\x6a\x06\x88\x7b\xc9\x59\xd7\xc7\xd1\x49\x99\xb3\xaa\xe3\xe3\x34\xf2\xff\x13\x8b\xe6\xa4\xcd\x34\x23\x0b\x8a\x9c\x66\x62\x33\x8b\xbc\x88\xe0\xf5\x8c\x16\x30\x07\x64\x56\x65\x98\x07\x3a\x3e\x29\x73\x40\xc6\x36\x31\x79\xa0\x5a\xe9\xb3\x77\xf1\xa6\x79\xbe\x14\xe0\x3a\x73\x91\xc8\x10\x53\x76\x23\x4f\x9d\xf9\x4c\x45\x99\x76\xc1\xaf\xd2\x8d\x4a\x96\x31\x5d\x64\x2f\x27\x7e\x7d\x69\xc4\x86\x5a\x2b\xb9\xe1\x6f\x52\xf1\x97\x24\xf6\x60\x69\xcb\x38\xd6\x8e\xee\x5b\x46\xcd\x7f\xed\x30\xe3\x20\xbf\x58\xd4\x9c\x4b\xff\x8a\x37\x6f\xf4\x99\x80\x8e\x0f\xb0\x95\xc7\x02\xa4\x23\x6b\x49\xf8\x8b\xec\xce\x7f\xef\xf5\x09\x87\xc9\x44\xe1\xf9\xf1\x30\xf2\xe4\x6c\xa9\x70\x20\x79\xb1\x79\x93\xce\x0a\x39\x93\x8c\x0f\xeb\x00\xf4\x15\xc0\xdc\xb1\x45\xa1\x1d\x56\x57\x55\xe2\x17\xce\xdb\x8f\x0b\x4b\x6a\x3a\xbf\x39\x4a\x8a\x88\x10\xa1\xfe\xa4\x71\xe0\xae\x65\x63\x36\xa4\x8b\xa6\x39\xa7\x9c\xc6\x70\xbf\x13\x5a\xd3\xdf\x47\xef\xe3\x78\xb5\xd9\x63\x94\x7a\xb3\x58\x8a\xa1\x70\xeb\x54\x6e\x93\x95\x03\xc1\x54\xe4\x71\x3c\xb8\xd0\x03\x42\x1c\x29\x23\x4f\xea\x27\xf2\xd6\xb3\x34\x8b\xbf\x2f\x6a\xe5\xc4\x74\x4d\x91\xe4\x1b\x82\xfb\xe8\x82\x90\x82\x23\x10\x92\x1b\x61\x54\x0c\x68\x8b\x4c\xb5\x17\xdc\x74\x9c\xa1\x0a\xdf\x84\x91\x72\x21\x8a\xf5\x4d\x98\xa2\xd8\xe1\x4a\xd1\x95\x92\xa9\x90\x48\x74\xc2\xc5\x1a\xad\x11\x92\xc4\x9a\x1a\x28\x64\xe7\x00\x75\xbc\x61\x7c\x94\xb4\x80\xa5\x88\x42\x90\x67\xd1\xfa\xe1\x17\x5f\x60\x09\x3c\x15\x8a\x85\x1f\x8a\x3f\xfc\x22\xeb\x5b\x41\x1d\xbd\xb1\x34\x61\x7a\x68\xc3\x91\xe3\x3d\x4d\xe7\x3f\x2c\x82\xdd\xf7\x5d\x65\x19\xb1\x93\x60\xaa\x27\xd8\x41\x1c\x89\x55\xd1\x15\x55\xc9\x1d\x0a\x7a\x0f\x52\xf4\x42\x7e\x39\x74\x8d\x57\x34\x45\xe2\x56\x3c\xe2\xb2\x9a\xa0\xb3\x74\x75\xd5\x29\x3b\x41\xc3\x77\x5d\x7b\x1a\x80\xb4\x75\x30\x3e\x04\x58\xf1\x86\x0d\x41\x88\xef\x7f\xf2\x98\xb1\xb1\xc3\x98\x64\x3e\xf3\x31\x47\x6b\xd4\x55\x59\x30\x11\x92\x0c\x33\x71\xf6\xd6\x70\xec\x7b\x71\xc2\xfc\x32\x4e\x94\x9f\x08\x8a\x9d\x99\x36\xb5\xe0\xce\x61\x59\x01\xed\x00\x14\x64\x90\x76\xea\x87\xd5\x30\x0a\x90\x99\xe7\x09\xa8\xe8\x61\xe6\xe6\xa0\x70\x8e\xd4\xf8\x3d\x76\x95\x26\x6b\x92\x44\x70\x26\x56\x9d\xf4\xc5\x3b\x30\x0c\xc9\x63\x05\xbb\x51\x2b\x35\x12\x03\x30\x0f\xc3\x28\xed\x7f\x8c\x66\x66\x4e\x27\xfd\x8f\x7b\x76\x00\x5c\xc7\x63\xa1\x45\xbf\x01\x69\x8a\x9d\x00\x6f\xd4\x1d\x8a\x34\xf5\x1b\xfe\x09\xd4\xe3\x46\x8e\x25\x2b\x59\x9e\x82\xe8\xf1\x42\xa9\x66\xfe\xce\x2b\x92\x6e\x46\x35\x72\xa5\x9b\x51\x29\xc9\x35\x4d\xb8\xe9\xab\xd1\x19\x02\x84\xb0\x72\xe5\xb4\xd7\xfe\x5d\xd7\xf7\x27\xe7\x36\xf4\x1c\x6f\x94\x09\xa6\x49\xfa\xf1\x10\x97\x20\x3e\x87\xf8\x15\x48\x1c\x91\xe9\x32\xcb\xfb\x67\xa6\x6b\x72\xde\x99\xe8\x55\xe9\x8e\xbc\x53\x24\xa5\x53\xee\x98\x34\x12\x41\xcf\xb5\xfb\xe3\x5a\x36\x42\xc1\x1f\x0e\x87\x95\x4a\xa5\x52\x8b\xc2\x7d\x54\x0b\xae\x0d\x47\xa0\x46\xa3\x11\x40\x7b\xe0\xcc\x82\x6a\xe1\xe5\x74\x5e\xe3\x5c\xc9\x5f\x6c\xd4\xa6\xf6\x60\x80\x63\x20\x18\xe5\x0a\x98\x14\x8c\xf2\x06\xfe\x7f\xf4\x9d\x78\x7d\x92\xaf\x90\x7a\x76\xa2\xb7\x35\x81\x83\x68\xe4\xfc\x0b\xe6\x04\x8b\x92\x3d\xf8\x3c\x0b\xc2\x6a\x01\x1d\x6a\xd1\x6b\x1c\xec\x84\x24\x40\x66\x6f\xb0\xeb\xaf\xa4\x16\x7a\x97\xad\x22\xa3\x5b\xd6\x65\x92\xfa\x80\x66\xd8\x65\xb2\xa4\x51\x2d\xea\x80\x13\x3b\x55\x69\x4f\x54\xbd\x9b\x01\xcf\x47\x98\x70\xca\x87\x20\x08\xec\x11\x38\xb4\x3d\x7b\x04\x60\x19\x82\xa9\x6b\xf7\x41\x8b\x25\x3e\x0d\x54\x9f\x87\x40\x4b\xeb\x97\x51\x8a\x6f\xd3\x30\xbe\x5f\xb0\x3d\xc5\x71\xcd\xb5\x2b\xd9\xcc\x22\x73\x65\x18\xe7\xd7\x10\x08\xb4\xf8\xac\x19\xf4\x56\x98\x81\x13\x53\x84\xda\xd1\xe0\x00\x34\x1c\x9d\x32\xce\x67\x99\x25\x54\x5d\x04\x99\x9e\xa2\x39\x25\x32\xa3\x91\x6d\x25\x67\xd9\x1f\xdf\x02\x88\xf8\x9f\xa4\x7e\x32\x5a\xf3\x3e\x79\xcd\xad\xf7\xa8\xa3\x49\xd6\x98\x2b\xb7\xfc\x9a\xe7\x6b\xa5\x57\x70\x6a\x25\x9a\x1b\xd3\x39\xbf\x5c\xe7\xf3\x12\x59\xb1\x5f\xb9\x3c\x73\x96\xa1\x60\x9d\xc9\xbd\xf3\x0b\xe6\x4b\x63\x12\xb0\xc0\x0d\xb2\x55\x27\xf3\xd1\x4f\xd5\x56\x04\xe4\x58\xce\x97\x19\xa0\xd3\x60\x0a\x01\x2a\x19\xd9\x7d\xe8\xa0\x1c\x84\xfe\xf4\x3d\xf4\xa7\xf6\xc8\x26\x87\xc6\x93\x8e\xee\x8d\x52\xaa\xc7\x27\x66\xbe\x38\x56\x3a\x6e\xc2\xd3\x37\x5f\x46\x2c\x85\xb5\xfc\xca\xcc\x42\xe0\x37\x1c\x20\x6d\x21\xbe\x5c\x96\x5f\x6c\x88\xa8\x2f\x5e\xda\x99\xf5\x9c\x58\x1e\x54\xdb\x83\x7d\x84\x1b\xae\x03\xf8\x18\x53\x78\xc1\xe8\x8e\xf8\x65\x12\x8a\x0c\xe7\xd0\x9f\x5a\x2a\x64\xba\x38\x87\x89\x5b\x9e\x55\xb8\x20\xef\x82\x6a\x2e\x18\x86\xa8\x1e\x51\x70\x38\x29\x93\xf1\x85\x71\xf2\x29\xf8\x5a\x6c\xd5\x9d\x40\x30\x16\x54\x67\x6f\xba\xa9\x22\x9a\x4e\xd3\xdb\x84\xec\x36\x96\x2a\x20\xe1\x76\x16\x0c\xa0\xa2\x7f\x23\x20\x7e\x8f\x95\xbe\x4a\x6c\xae\xa9\x91\x12\x34\x8c\xb9\xc9\x25\x66\x1c\x91\xfb\x3f\xe9\xe1\xe3\xa3\x89\x05\xe9\x32\x87\xcd\x64\x6e\xcd\x48\xb1\xec\x93\x37\xbb\xd0\x9f\x44\x79\xe5\x53\xee\xcd\x52\xe5\xaa\x3f\xbd\x27\xd6\x5b\xa7\x7e\x54\x37\x2b\x1c\x13\xe4\x99\x89\x33\xdd\x7b\x7e\xe8\xf4\x01\xba\x45\xa5\x23\x29\x70\x47\x0a\x17\x9a\x8a\xc9\xf0\x1b\xfe\xf4\x9e\x9d\xea\xa8\xdb\x98\x0a\xfc\x45\x4b\x7a\x68\x4c\x21\x50\xb4\x5a\xc8\x31\x85\xa8\x1f\xa5\xd0\xe7\xb0\x0a\xfc\x19\xec\x03\x74\x15\x48\x6d\x02\xe9\xa3\x45\xb8\xe1\xe3\x68\x46\xd9\x6d\x1c\x3f\xce\x0d\xee\xb1\x44\xcc\x8e\x44\x70\x52\xd9\x05\x5a\x77\x2c\x58\xb6\xbd\xfe\x35\xb9\x69\xea\x41\xf4\xf3\x18\x0b\x09\x74\xcf\x82\x24\x76\x03\x7e\x6d\xb3\x5f\xe4\x6d\x0d\x96\x09\xca\x75\xd7\xc5\xad\x42\xe0\xa9\xa1\xa6\xfb\x64\xc0\x59\x33\xdc\x98\xa7\xe7\x8b\x0e\xcb\x60\x1e\x02\x6f\xb0\xba\xaa\x62\x0b\x5e\x7c\x8d\x57\x1d\x3d\x88\x5f\xa9\x9e\x6e\x6b\x9a\x1e\x4a\xd9\x8f\x1c\xc3\x98\x18\x87\x44\xa0\x03\xa9\x88\x2a\x60\xe5\x6b\xce\x50\x25\x57\x1e\x7c\xb4\x71\x22\x06\x8d\x73\xf9\x63\x11\x26\xca\x41\x68\xc3\x90\x92\x0c\xb2\xdf\x08\x53\x9c\x5f\xec\x43\xa9\x75\x7c\xae\xac\x58\x10\x7b\x95\x1c\xd9\x13\x80\x25\xed\xca\x1f\xe2\x48\x82\x16\xf7\x7c\x75\x55\x69\xbf\xaf\x1f\xe1\x67\x5c\x77\xe3\xd7\x2a\x4c\xbc\xc1\xb1\x23\x20\xb8\x75\xfc\x59\xd0\x76\x7a\xae\xe3\x8d\x6a\x1a\x2e\x92\x7c\xa8\x87\xc5\xac\x8b\x6f\xec\xe2\x02\xa9\xf3\x73\x5e\x19\x50\x06\xde\x00\xb7\x59\xc2\x5f\xe9\x14\xe0\xfb\xa7\xa2\xae\xb3\x52\xbf\x93\xbe\x7a\x60\x1e\x26\xfa\xc9\x3d\xd0\x83\x65\xfa\xe8\xf1\x01\x38\x68\x8a\x69\x32\x5c\x2d\xff\x2e\xd2\x54\xe8\xb8\x1f\xfc\x93\xa2\xa9\xb1\x58\x21\x9c\x23\xb5\xe3\x8d\x54\x4f\x0f\xf5\xa4\x13\xbb\xa7\x95\x82\xdc\xad\x50\xb0\x32\xe4\x5e\x6f\x89\x39\xac\x6a\xd4\x65\x93\x31\xe9\xc2\xad\x55\xee\x15\x46\x4f\x89\x74\x3a\xc2\xf4\x3e\x2a\x56\xc9\x14\x95\xb9\x22\x09\x3f\x2f\x6d\xcf\xeb\x9c\x46\x19\xe5\x85\xf9\xa7\x52\x49\xe7\xbf\xd5\xaf\x99\x1a\xac\xfa\xc9\x16\x49\xc9\x28\x81\x26\xce\x73\x4e\x82\xa8\x4b\xd0\x9d\x02\xef\x0c\xba\xa2\xcc\x53\xfd\x6b\xe8\xa3\x59\x99\xf8\x59\xee\x41\xff\x2e\x00\x70\x33\xf9\x13\xc3\x39\xb5\x7b\xea\x97\x19\x74\xab\xe0\x49\xab\xd2\x5a\xe8\xb9\x0a\x74\xe5\x53\xcf\xb5\xbd\xb1\xa2\x2d\x88\x8b\x83\x8a\x93\xe1\x07\x83\x33\xe8\xca\x84\x92\x82\x49\xe2\x0c\x55\x9a\xd9\x0f\x3c\x3e\x26\xed\x53\xc0\x7c\x6a\x7b\x83\xf8\x10\xc8\x3d\x20\x18\x03\xa5\x4a\x9b\xd2\x34\x6d\x75\x75\x45\x05\x54\x1c\xff\xa6\x62\xac\xbf\x7c\x7c\x04\xe5\x00\xd8\xb0\x7f\xad\x3e\xbb\xfc\x18\x7c\xbc\xfc\x78\xa5\x6a\x5f\x9e\x5e\xbf\x51\xbe\xfb\xf8\xf1\x57\x3f\x5c\x3d\xd3\xde\x58\x86\x46\x02\xfc\xb0\x82\xca\xaf\x2e\xed\xd2\x43\xbd\xd4\xbd\xa2\x9f\x46\xe9\x55\xb1\x5c\xba\xfa\xbe\xfa\xec\x99\xa2\xbd\x36\x34\x26\xfe\x24\xa1\x09\x54\xa5\xaa\xe8\xa6\x76\x69\x5c\x11\x71\xa8\x32\xb1\x1d\x37\xf4\x95\x6a\x52\x94\x07\xd0\xd1\x1d\x4e\x11\x8c\x22\xa0\x57\x11\x32\xc6\x68\x8d\x48\x27\x2d\x09\x36\x9a\x11\x49\xa1\x6b\x8f\xdf\x07\x41\x00\x06\x5b\xf7\xac\xe2\x5b\xdb\x1b\xb8\x00\x7e\x62\x1a\x5f\x7a\x5b\x05\x43\x60\x87\x87\x71\xda\xba\x80\x4d\xed\x64\x36\xbb\x95\xfc\x6c\x76\xe4\x1c\xca\x69\xd5\x5a\x31\x74\x50\x66\x81\xf2\x5a\xfe\x9d\x15\x49\x2e\x54\x50\xee\x63\xae\xff\x22\xcb\x7a\x0b\x74\x06\xda\xb3\x05\x62\x0e\xba\xd2\x8b\x26\xd7\x20\x35\xa5\x8d\xda\x64\x4d\x7e\x58\x04\x8c\xe8\x78\x8b\xa6\xbe\xc2\x5f\x32\x2d\x0b\x94\xd1\x10\xac\xae\xa6\x9b\x78\x23\x56\x12\x2f\xd2\x31\xae\xae\xae\x20\xd6\x3f\x41\xa1\x92\x69\x2d\x32\x8f\xcb\xb6\xbf\xa8\x12\x51\x6f\x6c\x2e\xd2\xf8\x60\xcd\x51\xf5\x67\x54\x20\x69\xba\x90\x7c\x2a\x28\xdb\x6e\x78\x00\xee\x1f\x1f\x57\x42\x96\xd1\x2b\x3b\x25\xd1\xec\x61\x5a\xa2\x74\xb6\x78\x75\xc5\x88\x8c\xb3\x84\x55\xcd\x34\x13\x9a\xdc\x3a\x22\x76\xee\xd4\xdf\xf1\x06\x7c\x10\xe3\x4c\x43\x26\xe2\xb1\xd2\x12\x05\xb4\xa7\x6b\xdc\x2c\x4a\x44\x7d\x03\xde\xc8\x1e\x81\xc1\xe3\xa3\x68\xf6\x6c\xca\x22\xd6\xb1\x6a\x71\xb7\x65\x31\xf6\xd0\xc5\x37\x5e\x3e\x1b\xdc\x75\x57\x5a\x05\x5f\x7a\xa3\xf9\x4f\xeb\x68\x55\x2e\xd6\x1d\x37\x3c\x5f\x47\x39\x31\x71\xae\xe3\xb8\xc8\x2a\xa0\x7a\x4b\xc4\x8e\x45\x81\xf4\xe2\xf6\x22\x56\xe1\x98\x9e\x27\xe9\x00\x39\x5f\x79\x28\xc4\xac\xc7\x12\x4c\xbe\xc6\x62\xfc\xc5\xf8\xac\x00\x12\x78\xea\x00\xdc\xe3\xb9\xda\x0f\xa1\x8b\x27\x2b\x28\x4f\x40\x68\x1f\x80\x7b\x66\xce\x5a\xc8\xd3\x66\xd3\xad\x9c\x57\xea\x67\x5e\x5a\x99\xb0\xc8\xa9\x43\x35\x63\x60\x86\x79\x5a\xe1\xa2\xc2\xf5\xc9\xe6\x8d\xb6\xc2\x06\xea\x15\x4e\xd4\xbb\xba\x5a\x41\xc5\x48\x56\x61\xd4\x0b\xf2\x8d\xae\xf0\x74\x42\xdf\x28\xb3\x23\xbe\x50\xab\x5a\x32\x3b\x2d\xe2\x29\x95\x86\x3f\x73\x07\x05\xcf\x0f\x0b\xb8\x4c\x61\x62\x7b\x33\xdb\x75\xef\x0b\x83\x19\x28\x84\x7e\xe1\x0e\xf4\x0a\x10\x20\x0e\x14\x53\x3f\x88\x37\x82\xd9\x94\xc3\xd8\x88\xb1\x12\x4e\x82\xb4\x2d\x5c\x6a\x1e\x66\x35\xab\x4b\x5f\xec\xb8\x69\xbf\x12\xa1\x13\x61\xc8\x1e\xa1\xdd\x69\xe1\x0a\x5f\xb8\x98\xcd\x25\x16\xb3\x42\xee\xcd\x09\x8b\x1e\x1c\xa5\xb2\x0e\xa1\x7f\x87\x18\xc6\x4f\xa9\x69\x99\x64\x1d\xed\xe9\xd4\xa5\x36\x7c\x44\xb7\xc5\x88\x97\xca\x46\xaf\x6a\xab\xab\x0a\x0e\x9b\x1e\x0d\x43\xd2\x25\x2e\xc3\xd8\x62\x2c\xb6\x81\x1b\xda\x2a\xd0\xa8\xb5\x7b\x30\xb1\x61\xb8\xeb\xfa\x3e\xdc\x76\x6e\x9d\x01\x20\x76\xcf\x76\x2f\xe0\x9d\x06\xf3\x8f\x69\x3d\xb0\x94\x3f\x38\x56\x8a\x2a\x7c\x6d\x6c\x2a\x5b\x4a\x55\xa9\x2b\x54\xd0\xe7\xf8\xe5\x00\x78\x03\x16\xd5\xa9\x0c\xc1\x14\xd8\xa1\xea\x6b\xa2\x9d\xe6\xe9\x49\x30\xaf\xbe\x62\xda\xe4\x1d\x20\x72\x53\x48\xba\xaf\x25\x38\x30\x69\x51\x3e\x38\xb9\x2c\x0f\xa9\xc8\x72\x81\x06\x61\x07\xb2\x88\xb1\x2b\x34\x65\x3d\x01\x23\x35\xe7\x94\xa1\x45\xe4\x9a\x9f\x04\x71\x31\xbf\x3e\x0d\x84\xef\xe1\xfd\xe3\x93\xc8\xa1\x1a\x8b\x9e\x98\x62\x4b\x7d\xf6\xd1\x7b\x36\x9a\xe8\xca\x47\x88\x86\xdb\x12\x5e\x80\xc2\xb4\x11\x58\x0f\xda\xfd\x31\x08\xc1\x80\xee\x66\x6a\x68\x29\x7f\x70\x59\x31\x8c\x5f\x2b\xc5\xb0\x88\xbf\x9a\xbf\x56\xe2\x4b\x16\x37\x7d\x72\xae\x7e\x0d\x7f\x7a\x2f\x18\x90\x59\x00\xe8\xec\x22\xc9\x7e\x51\xb1\xc7\x47\x55\xa0\x53\x48\x6f\xdd\xb2\xdd\x87\xdf\xc2\xe5\x82\x4d\xdf\xa3\x29\x38\xb3\xd7\x28\xce\xf9\x21\xb3\xba\xa2\x9c\x02\x34\x5f\xe6\x72\x9c\xed\xe3\xa3\x41\xfd\xe8\x32\x6b\x59\xde\x82\xdc\x54\x51\xb8\xc4\x1f\x1f\x8d\x1a\x76\x4e\x00\xaf\x2d\xe3\xf1\x31\x7c\x8d\x2f\x55\x64\xb3\x91\x65\x38\x7d\x7c\x94\xe6\x32\x4d\x98\x66\x46\x99\x69\x19\x32\x29\x75\xbd\x6a\xae\x2c\xb2\xda\xe0\xd4\xa2\x3a\xa4\xab\x88\x93\x3f\xa8\xb9\x81\x9a\xf3\x17\x89\x7c\xca\x71\xc6\x72\xf2\xc8\x45\x9c\x89\xdb\xe6\x57\x1a\xf1\x3c\x3e\x2a\x86\x9c\x73\xa7\x12\xf7\xcd\x85\x06\x86\xcc\x3c\x50\x68\x76\x97\x61\x59\x26\xf7\xc7\x89\x9e\xf1\x26\x59\xf8\x49\xe3\xbe\xef\x82\x4f\xe8\x32\xcc\x38\xf6\x5c\xe3\xc6\xdf\x45\xdb\xe6\x55\xca\x34\x5f\x08\x5e\x6e\x45\x9a\x4e\x6d\x22\x13\x16\x45\x8e\x1d\x99\x5c\x28\x52\xa1\x57\x4e\xe6\x93\x25\x5b\x11\xa4\x4c\xc9\x49\xe1\x24\x3c\x28\x32\xb3\x51\xec\x54\x20\x0a\x7d\x4d\x61\xaa\xda\x13\xe7\x5e\x91\xad\xca\x72\x2e\x3d\xe9\x4e\x19\x86\x03\x30\x55\x15\xd7\xe9\xd1\x3d\xff\xec\x74\xf7\xa5\xa2\xf1\x18\x37\x8f\xb3\x9d\x67\x77\xde\x28\x10\x1f\x93\x23\x37\x8f\x89\xa2\xe9\x29\x09\x61\x29\xc5\x7e\x12\x72\x42\xcc\x98\xf1\x10\x4e\x80\x24\xfa\x98\x5d\x68\x27\x22\x9f\x20\x90\x4c\x06\x8f\xf3\xe6\xe1\x02\x6a\xb2\x15\x3d\x1f\x32\x4e\x8d\x4f\x5e\xbc\x87\xfe\xd0\x11\x4d\x37\x0e\x63\x10\xd2\x52\xe9\x51\x4f\x00\x9d\xce\x82\xeb\xec\xd1\x42\x70\xe4\x6a\xa4\x30\x8d\xc4\xca\x20\x3a\xa6\x1b\xf6\x34\x9c\x41\x30\xf8\x94\x3c\xbd\xa3\xc7\x3a\x0b\x0a\x46\x62\x2d\xd3\xa3\x31\x7a\xa0\xe3\xb8\x3e\xdc\x3b\xf6\x8b\x72\x77\x6c\x3c\x53\xbd\x74\x7c\x3d\xf3\xc4\x02\x3a\xc8\xe9\x70\x32\xe2\x62\xb6\x76\x7a\x0a\xe5\x0d\x08\x63\x28\x12\x03\xc1\xee\x45\xae\x3f\x52\x95\x33\xef\x1a\x0b\xbd\x06\x85\xb8\x34\xc9\x9f\x2c\x87\x2b\x97\x3f\xa7\x40\xfb\xbd\x00\xc0\x5b\x00\x07\x85\xce\x69\x61\xcc\x6a\x20\xf0\xfb\xed\xe3\xa3\x32\x91\xf5\x3b\xc3\xfb\x8c\xf0\x38\xd5\x5c\x2a\xdb\xb7\x34\x38\x38\x22\x4d\x0d\xd6\x34\x98\x18\x4a\x40\x52\xfe\xd2\xb1\xd3\x79\x4d\x4e\xf3\xf8\x13\xb3\x08\x4f\xb6\xb1\x60\x11\xa5\x8b\xa7\x30\x92\x57\xc4\x01\x8b\xd0\xb6\x21\x34\xe9\xe7\xc7\x99\x70\x02\x24\xf3\x35\x9f\xee\x1a\x87\xfe\x25\x39\x53\x1c\xcf\xee\x87\xce\x2d\x28\x34\x8f\x0b\x7e\xef\x33\xe8\x87\x65\xa5\x96\x06\xc4\x25\x4c\x5b\x80\x96\xeb\xfd\x3b\x42\xac\xa8\x7c\x84\x38\xce\xba\x7c\x51\xe0\x78\xc7\x8b\x88\x6a\x3e\xcf\x6e\x38\x11\xc1\x55\x87\xdb\xb4\xf3\x27\x1c\x6e\xcd\xf5\xf2\xdb\xc3\xd4\x92\xb6\x48\x68\x29\x68\x33\x71\x8a\x60\xfb\x99\x80\x9e\x20\xbc\x8a\x4d\x90\x98\x2e\x4a\x0b\x46\x0f\x91\xd8\x0c\xa7\x8d\xd5\xe5\x64\x5f\x68\xb7\x1a\x9f\x68\x18\x3f\x7a\xaa\xc5\xf9\xe4\xf2\x8a\xc5\xd0\x48\x81\x44\x28\xc0\x34\x24\x69\x11\xaa\x20\x88\x5d\x30\x2d\x05\x8e\x7a\x6a\x65\x63\x43\x2f\xb0\xff\x69\x4a\xa2\x6c\xec\x49\x4a\xca\x1a\x7a\x01\xfd\xc7\x4a\xf5\x7c\x37\x96\x45\x0c\x6d\x34\x0b\xd8\x2f\x27\xb4\x5d\xa7\x1f\xfd\xec\x91\x64\xae\xf4\xd7\xcc\x1b\x00\xe8\x3a\x1e\x17\x5e\x38\x84\xce\x18\xa0\x59\x3b\x1b\x5d\xc7\x40\x3c\xec\x96\xc6\xff\xa6\x9c\x12\x7b\x92\x8a\x52\xcc\x87\x23\x66\x1c\x9f\x0b\xb6\xed\xd0\xe6\x22\xf3\xf6\xb9\xa4\xae\xdc\x63\x41\xc2\xd7\xa7\xcc\xd0\xf3\x11\xeb\xb0\x28\x77\x0b\x93\xc0\x58\xae\x60\x3d\xd8\xc2\xc6\xaa\x0b\x2a\x24\xc6\x8e\xf8\x5c\x13\x33\x0d\x6f\x36\x51\x15\xc1\x84\xe4\xea\x72\x73\xc7\x52\xe8\x28\x2a\x8b\x2a\xb4\xf6\xb6\xf0\xf8\xe6\x16\x0c\x44\x49\x33\x04\x0b\x20\x97\x68\x38\xce\x99\x9c\x63\xe0\x6b\x61\x65\x1e\x17\xd6\xaf\xe0\x10\x97\x29\x0d\x5c\x86\x57\x78\x92\x5f\x86\x57\x31\x27\x91\x18\xd5\xcc\x38\x97\xfb\xbe\xd7\xb7\xb1\xd1\x5e\x2e\x7e\xe2\x64\xd0\x7f\x19\x57\xf3\x5f\xea\xb5\xb7\x98\xc6\xfc\x42\xcb\xfa\x96\xf3\x2f\x1d\xba\x11\x4b\xc6\x93\x74\x01\x5d\x99\x71\xa9\x05\x8b\x36\x0a\xdb\x25\x0b\x1b\x93\x19\xea\xcc\x20\xd2\x6b\x7d\x66\xb0\x05\x05\x57\xa2\x91\x62\xdf\xf1\x40\x45\x72\x54\x3c\x4e\x51\x31\xe2\xcb\xb6\x92\x1c\xa5\x28\x0c\x19\x3f\x48\x11\x00\x32\x46\xdc\xcf\x58\x05\x18\x8f\x10\x45\x38\x1a\x9f\xd5\x55\xb4\xb2\x28\xbe\x6c\x7f\xcc\x5f\xb5\x78\xfb\x69\xf8\x5e\x68\x3b\x5e\xea\x06\xc9\x98\x10\x3e\x20\x9a\x30\x91\x4e\x3a\x11\x08\x58\xce\x24\x2d\x98\xda\x9e\x42\x62\xf3\xe1\x4b\xbd\xee\x58\x97\x57\xb5\xd4\x58\xad\x08\x96\x09\xb3\xaf\x62\x56\xb2\x71\x69\x2d\xbd\xc8\xa4\xd5\x85\xe6\xb6\xf1\x43\x0a\x28\xde\xe0\xd9\xdc\xc0\x5f\x55\x88\x4d\x6c\xcf\xa9\x63\x0d\x7a\xc8\xe4\x89\x74\x1a\xa8\x21\x5b\xb9\x51\xf8\x31\x3a\x25\x68\x5d\xea\xc9\x43\x9e\xb2\xca\x74\xa2\xa8\x0e\x4d\x82\x13\x67\xcb\x43\x25\xc8\x6b\xba\x0e\x69\x5e\x0e\x4b\x51\x12\x59\x7f\xb8\xd9\xa5\xfa\x45\x4b\x29\x44\x0f\x14\x3d\xe4\x77\x88\x28\xf6\x60\x72\xf6\x91\x4a\x38\x2b\x0f\x7d\xa6\x60\xf3\xbf\xc4\x3e\x62\x68\xba\x8f\x3b\x12\x82\x79\xb8\x4d\x32\xf4\x3a\xbe\x67\xf9\x9a\x9e\x98\x9c\x51\x3f\x68\x32\x4a\xdc\x09\xb6\xb7\x18\x7a\xc8\x6f\x2c\x26\x33\xce\x48\xcc\x5d\x0e\x06\x7a\xa4\x68\x3a\xff\xf3\x13\x35\xe0\x61\xa5\x11\x78\xf4\x9d\x91\x48\xc7\xc2\xdf\xa4\x31\x23\x82\x10\x67\x64\xe1\x52\xee\x39\x34\xc9\x50\x01\xc7\xde\xc8\x5d\x34\x13\x3b\xec\x5f\x83\x40\xba\x6a\x14\x72\xc1\x52\x2c\x0b\x15\xf7\x87\x05\xf0\xf8\xb8\x66\x59\xc4\x1c\xec\xf4\x7e\x9a\xf4\x13\xe6\x96\x17\x67\x82\x77\xef\x02\x3a\xb0\x2b\x2a\x47\xd4\xc7\x47\x10\x7d\x4b\xae\x7d\x4a\xb9\xe8\xf7\xe3\xa3\x80\x9e\xa8\x3a\xa3\x10\x05\x90\x58\x6a\x64\x55\xd1\x37\x89\x55\x94\x5e\x30\x4c\x95\x25\x5c\x21\xda\x8a\xb5\xb2\x12\x72\x6b\x84\x41\x44\x13\x78\xc5\x02\xf1\x4c\xa6\x2f\xc8\x32\x88\x6b\xe1\xd5\xf1\xf8\xb8\x92\xda\x32\x51\x01\x10\xff\x8c\x0a\x24\xe6\x27\x29\x94\x78\x94\x7f\x72\xc4\x79\xba\x03\x91\xb0\x27\xcb\x5c\x03\x19\x27\x1d\x7e\xe5\x99\x15\x17\x94\x18\x43\xa5\xcf\x2c\xe6\x65\x9c\x3e\xa2\x98\x57\x71\x92\x9b\xf0\x05\x0f\x23\x4f\xf0\xe8\x84\x61\xd6\x50\x19\x98\xa1\x04\x07\x66\x86\x9b\xee\x3e\x6b\x2f\x43\xb0\xcc\x66\xca\xb8\xe5\xc4\xa6\xca\x66\x70\xe2\x9c\xe5\x1f\xb6\xf6\xb6\x30\xb6\x82\x38\x61\xe0\xf5\xcb\x4d\x50\x7c\x59\x05\x4f\xe8\xb6\xa7\xa7\xcf\x4c\xd4\x45\x29\xda\x9a\x9e\x6d\x24\xcd\xcd\x09\x78\x80\x4d\x58\xcd\x70\x34\x97\xe0\x2a\x79\x0c\xa4\x4e\xef\x44\x6c\x77\x0e\xbc\x60\x9c\x36\xc5\xa4\xac\xa6\xaa\xa6\x8f\xcb\x98\xa7\x9a\x38\x73\x35\xd0\x53\x77\xbb\xf2\xda\xda\xda\x9a\xf6\x14\x8a\x3b\xcc\xf3\xa6\x82\x0e\xfb\x82\x0e\x87\x57\xa2\x19\xde\x67\x3b\x63\x70\x88\xb6\xca\xac\x6f\x54\x76\x87\xd4\x22\xc3\x7c\x19\xac\x66\xb4\x4f\x86\x1a\xb1\x24\x63\xdb\x29\xda\x9e\x52\x5b\xeb\x8a\x89\x8a\x88\x36\xdd\x15\x83\xda\x92\x83\x88\xeb\x08\x13\xfb\x6d\x81\xf1\x16\x8c\x96\xab\xab\x59\x76\xc1\x72\xd2\x8f\x50\x29\x8e\x29\x40\x97\xbb\xe8\x17\x7b\x47\x0e\x7d\xfa\x0a\xff\x40\x6f\x52\xa7\xa8\xe5\xa4\x9e\xe4\x11\xb8\x99\xe5\x7a\xa3\x55\xb1\xf0\x18\x12\x00\x8e\x4c\x8c\x85\xab\x2c\x3e\x5d\x36\x01\x7f\xac\xd2\x13\xb5\x9a\x4a\x7f\x95\x48\x01\x28\x69\xac\x8d\x4d\x8f\x33\xe9\xbd\x16\xb6\x48\x73\x3f\xa1\xc2\xd5\x44\x32\x28\xbe\x14\x86\x95\xdb\x70\x52\x46\xfb\x55\x6d\x63\x7d\x71\xaa\x79\x1c\x0f\x7d\x19\x0c\x04\x19\xa9\x24\x69\xc5\x2e\xaf\x74\x68\x19\xba\x6f\x19\x7a\x40\x92\x70\xe1\x18\xd3\x2c\x2e\x0d\xd9\x52\x6c\x0b\xdd\x9b\x06\xe0\xbd\xef\x78\x61\x3d\x54\x3d\x4d\x77\x2d\xfb\xb5\xf5\x7c\x63\x63\x6d\x63\xd3\xac\x56\x6a\xf6\x6b\xb3\xf2\x72\xd3\x2f\x5a\x2e\xc1\x17\xb5\x4b\x86\xc9\xd6\x5e\x5b\xe6\x26\x62\xfc\x5c\xd4\x82\xa9\x55\x55\x1f\xf3\x46\x98\xd1\xfa\x12\x84\xb0\x0a\x18\x75\xa1\xee\x6b\x7a\x44\x96\x6a\xf0\xa4\x61\xa4\xb0\x43\x43\xb6\xb4\xa7\xbb\x9a\x4e\xb8\x95\xea\x8a\xc1\xd5\x5b\x31\x9f\x10\xdf\xef\x15\x5d\xd4\x2f\x4d\xf7\x8a\x96\xcb\x92\x3d\xfa\xab\xab\xcb\x36\x1d\x8a\xc5\x7a\x3a\xfe\x31\xa4\x9f\x67\xa7\xbb\x2f\xd1\x5a\x1a\x00\xa8\xe8\xc4\xf5\xa5\xdc\x39\x2d\x37\x98\x76\xf7\xd0\x9e\x62\xb9\x4b\xe7\x54\xae\x35\xb1\x80\x1e\x5b\x71\xe0\x37\xb1\x20\x3a\x9b\xca\x1f\x17\xe0\xac\x62\x49\x0d\xa1\x45\x2c\xd5\x4b\xd9\x30\x00\xed\xd0\x0e\xc1\x27\x2a\x2f\xe9\x9c\x96\xdf\x47\x0f\xd5\xb8\xd0\x99\x37\xf6\xfc\x3b\x8f\x65\xab\x75\x81\x3d\x70\xbc\xd1\xa1\x3f\x70\x86\x0e\x80\x9f\x2c\x85\x69\x43\xa1\xed\xb8\xc2\x37\xb6\xeb\xfa\x77\xc4\x0a\x14\x0f\x3f\xb1\x34\xe1\x2c\x20\xfd\xa0\x7f\xea\x4c\xc0\x3b\x67\xe2\x84\x9f\xac\x0a\x58\xa7\xc2\x85\x70\xc8\xc8\x48\x90\x74\x78\xca\xf2\x07\xfc\xcb\x2d\x07\xcf\x7e\xe8\xbb\x11\x50\xf2\x26\x32\x71\x38\x87\x4e\x18\x0b\xf2\xc8\xcb\x6d\xd0\x37\x2b\x51\x85\x48\xf9\xbe\xe3\xf5\x7d\xd4\x47\x4b\x99\x85\xc3\xd2\x4b\xda\x8b\x89\x3d\x27\x8b\x06\xc7\x65\xf3\xfa\xc0\x32\x8d\x0a\xc5\xf4\xce\x86\xde\x99\xe7\x4c\xa6\xe4\x9e\xc9\x19\x48\xf6\xb9\x31\x0f\x62\x4a\xf3\x53\x21\x20\x25\xf7\x0c\x32\x68\x7b\x26\xfd\xac\xd0\xcf\x35\x2b\x0b\xa9\x3c\x02\xe1\xa1\x3d\x55\x95\x2d\x76\x8f\xdb\x7b\x67\x29\x7b\x4c\x33\xbd\xd7\xe2\x7e\x90\xce\xb4\xef\x83\x10\x4c\xce\xc2\xe1\xcb\x98\xee\xfc\x9b\x77\x7e\x7f\x0c\x06\xdc\xbb\xbe\xf9\xde\x0e\x43\x00\x3d\x3e\x0f\xd9\x6c\x3a\xc0\xa2\x43\x5a\x13\xcf\x9f\x48\x6c\x62\xdf\x82\x41\x7a\x4a\x11\xcd\x77\x3c\xa7\xf0\xc6\xd4\x39\xe5\x18\x52\xe1\x24\x45\xbb\x4f\x4e\xb1\xc6\xbb\x66\xe3\xc0\x32\xf3\x41\xb5\xea\x7b\xd6\x9a\x9e\x9a\xd8\x79\xdc\x36\x7d\xc3\x78\xed\xde\x6c\x68\x85\xe4\x4a\x43\xd7\x8c\x1f\x58\x74\x58\x11\x14\x56\xce\x86\xa3\xc0\xba\xbc\x7a\x4a\x37\x25\x17\x04\xb2\xb5\x8e\x1f\xe3\x0a\xbb\x11\x2b\xce\x89\x8f\xb7\x66\x43\x15\x3c\x3e\x46\x51\x6e\xf0\xc3\x3a\x1c\x61\xd1\x06\xe5\xf3\x73\x5b\x4c\x80\xce\xca\x21\x51\x1f\x44\x04\x58\x08\x77\x6b\x36\xcc\x76\x06\x91\x2b\x7b\xfc\x6f\x82\x6a\x8a\x80\x0b\xa1\x47\x3d\xcc\xb6\x81\x48\x1d\xa9\xe9\x49\x32\x20\x63\x05\x9b\x98\xa9\xd1\xfb\x4b\xe3\xca\x02\xb9\xb4\x71\x6c\x38\x92\x87\x2b\xc7\x30\x00\x4e\x6a\x14\x65\x32\x8d\xcc\xf3\xa1\x6e\x1a\x91\xc2\xd9\xb0\x2c\x67\x75\x55\x75\xac\x50\xd3\x1d\x76\x96\x84\x79\x2d\xdb\x83\x5b\xdb\xeb\x0b\x74\xe5\x53\x3f\x28\x12\x61\xb7\xac\xea\x14\x80\x71\x0b\x4c\x6c\xc7\x73\xbc\x51\x62\x00\x92\x22\xc7\xde\x6c\x18\x31\x2a\x14\x72\x2e\x31\x10\x5c\xb4\x1b\x7d\x05\x3c\xdd\xcc\x85\xd8\xf7\xbd\x60\x36\x01\x5f\x09\xb4\x58\x5c\x00\xd6\x09\x1a\x3e\xda\x60\x85\xbe\xb5\x9c\x0c\xb2\x37\x1b\xb2\xab\xff\x6c\x48\x27\x0b\x4d\x40\x35\xf5\x03\xda\x02\xb7\x2d\x65\x07\xe3\x36\xd6\xbc\xa1\x3d\x2d\x5a\x68\x5c\x25\xfe\x42\x6d\xdf\x0a\x64\xce\x24\x14\x0c\x03\x17\x9d\xea\xc9\xa4\x17\xf4\xc0\x4f\x68\x03\xb3\x55\x46\x20\x4c\xe9\x32\x34\x96\xe1\x25\xda\xfa\xa3\x5a\x7b\xef\xa2\x13\x20\x7e\xd6\x4a\x9e\x30\xf8\x19\xdd\xc8\xd8\x69\x83\x9f\xd1\xad\x9f\x9d\x3c\xf8\x59\x45\x4f\x9c\x42\xf8\xd9\x5a\x2e\x41\x68\x0c\xc0\x0c\x4d\x12\x9d\x4a\x05\x0a\x8c\x69\x46\xfb\x94\x24\x5a\x86\x02\x02\xca\x31\x9a\x70\x00\x18\x61\x18\x51\x08\x31\xe8\xb3\x16\xf7\x8c\x1d\xbd\x06\xf7\x8c\x1d\xc3\x26\xf7\x8c\x1d\xc9\x15\xee\xd9\x1a\x3b\xa6\x33\x27\x9b\x58\xfd\xc3\x1a\x5b\x74\x9e\x9b\x79\xc5\x8c\xa8\x58\x65\x39\x68\x3f\x95\x89\x58\xee\x70\xff\x1a\x3e\x34\x43\xae\x34\x7f\x2b\x54\x0c\x64\x3d\xbf\x84\xc0\xa9\x6d\x2f\xba\xc6\xd4\x12\xae\x12\xf0\xd1\x5a\xd7\x74\x35\x72\x93\xa0\x5b\x45\x34\xd5\x62\x7b\x75\x37\x6c\x06\x87\x20\xb4\x57\x57\x99\x2b\x90\x46\xea\xbf\xd4\xf4\xc8\xe1\x82\x3c\x31\x9f\x33\xd1\x38\xe1\x10\xcb\x43\xe8\x4f\xd0\xfe\xd7\xc0\x09\xea\xe3\xac\x11\x29\x9f\xa8\xe2\x5a\x45\x5f\xab\xe8\x95\x8d\x0d\x0d\x5d\x6a\x96\xad\xdc\xf2\xef\xf8\x9a\x51\x5c\x33\x6a\x2c\x8f\xbd\xf9\x88\x05\x7d\xd5\xb3\x5e\x3d\x2f\xaa\x25\xf3\x7b\x9c\xc0\x26\xb4\x2f\xde\x18\x9b\x46\xd5\xd4\x74\xef\xd1\x82\x3a\x36\x52\x3e\x54\x8a\xa2\x86\x3d\xad\xe8\x17\x03\x81\x3d\x3b\x17\xa0\x8c\x73\xf2\xa8\x12\xdf\xe0\x38\x85\x11\xf5\x9a\xd0\x2b\x5a\x71\xad\x52\x5b\xb2\xb9\x0c\xec\xd9\x54\xa9\x92\x6a\x7f\xa8\x08\x0b\x60\x07\x89\x6a\x66\xda\x89\xa6\x46\xab\xbe\x87\xc6\x92\xe0\x15\xac\xae\xaa\x9e\xb5\x56\xd1\xcd\xf8\xd1\xa6\x57\xb4\x8c\xea\x7a\xf2\x81\x59\xad\x24\x1f\x54\xaa\x5e\xd1\x5a\x43\xf7\xc7\xb5\xca\xb2\x64\x4c\x10\x8d\xf8\xf2\x54\xf1\xf7\xc8\xd5\x28\xe5\x76\xc9\x8c\xab\x00\x84\x3e\x54\x15\x7a\x07\x2b\xe0\x2e\x16\xf0\x78\x60\xc3\x2d\x3c\xe2\x3a\xd0\x9e\x98\x58\x33\x9a\xc7\x19\x1b\xf3\xcc\x72\x8b\x8c\x72\x32\x42\x80\xf4\x05\x31\xe6\x46\x29\xb7\xc8\x9c\x80\x6b\x2b\x99\xa2\xf1\x29\xad\x6a\xb5\x44\x0c\x5f\xbe\x14\x6a\x91\x09\x47\xf9\xe7\x88\xb9\x00\xd9\xc7\xbd\xd9\x30\x92\x21\xa7\xc1\x94\xfb\xb6\xeb\x92\x88\x15\xe9\xf7\x5a\xe6\x09\xe1\x79\x2d\x46\xad\x54\xd3\x96\x05\x05\x2f\x10\x5f\x6b\x01\x6a\x03\x85\x39\x13\x58\x18\x38\xc4\xb7\x08\xc7\x1c\x2e\x84\xd7\xa0\x10\xa0\xc2\x2b\x4a\x96\xcc\x84\x5a\x22\x51\x19\xb9\x5c\x5a\x96\xf8\xf2\xb9\xc9\xd1\x9a\x9a\x14\x55\x41\x06\x7a\x6c\x72\x24\x12\x9e\xa5\x4c\x92\x24\xb8\xc9\x6a\x67\xee\xe0\xf1\xc8\x67\x20\x05\x20\x8c\x6e\xcd\x3c\xa8\x38\xe4\x62\x7a\x66\xa3\x2b\xb3\xfa\x1d\xcd\xc9\x5f\xb8\xb5\xdd\x19\x28\x0c\x7d\x58\x50\xd8\x14\x2e\x01\x0a\x50\xa9\x16\xbe\x2b\x02\x8d\x2c\x1e\x27\xf0\x4b\x15\xa3\x52\x51\xaa\xdf\x74\xb7\xe5\xd7\x21\xa6\x7f\x09\x7b\x3b\x0d\xe4\xe0\x8c\x1c\x70\x46\x06\xdc\xb7\xc1\x31\x9f\x72\x2e\xd7\x19\x5a\x8b\x8a\x65\x75\x39\xc7\xc4\x16\x6f\x0c\xee\x03\x95\x1c\xd6\x0d\x53\x2b\x0f\x1d\x34\x63\x55\x60\xbd\x59\x11\x23\xfa\xf8\x08\xf0\x5c\x44\x9b\x57\x3d\x54\xb5\xd7\x66\xe5\xa5\x56\x9e\xd8\x53\x54\x47\xf9\xf8\x71\xae\x14\xd1\x91\xf4\x30\xb5\x07\x6a\xb2\x64\x39\xf4\xe9\x6e\x63\x3e\xd7\xf4\x8a\xa6\x51\xe5\x26\x73\x9a\x4a\x08\x14\xc0\x5d\xa1\x05\x46\x3b\xf3\xa9\xfa\xc3\xe5\x2f\xbe\x80\xa7\xab\x1f\xb2\xfd\x4c\x48\x9f\x92\x9b\x14\xfd\x5e\x08\xd1\xaf\x15\x98\xed\xc6\xea\x2a\xbc\x84\xe5\xbd\x77\x57\xe5\xbd\x77\x58\x17\x13\xff\xc4\xda\x1a\x18\xef\x94\xd8\x02\x10\xcd\xe9\xf8\x0e\xa8\x3b\x56\xf6\xc2\x45\xf2\xf5\x31\x6f\xfb\x74\x97\xf8\x4b\xa1\xcf\xfc\x85\x9d\x60\x6a\xa3\xe9\xaf\x34\x1a\xa6\xa2\x3b\xec\xca\x63\xe8\xa6\xa6\x03\x9a\xcc\x36\xba\x14\xaa\xa6\xa6\x55\x4b\x26\xa9\xae\x3a\xd1\x6b\xbc\xf9\xaa\xd8\x2f\x41\xe5\x40\xf8\x51\x32\x34\x49\x2b\xbe\xb8\x15\xbf\x48\x73\xd9\x64\x69\xdd\x68\x37\xc5\xfe\x51\xec\x8e\x88\xf3\xf4\x01\x7c\x43\xae\x85\x6f\x2c\xe5\x97\xca\xea\x6a\xf8\xda\x52\x7e\xad\x64\x7b\xdc\x6e\x2a\x62\x81\x21\xd5\x9f\xa7\xa5\x85\xc5\x10\x21\x2b\x12\x5c\xa0\xbe\x2b\x35\xb4\x51\x6e\x8a\xab\x6e\x8a\x6b\x55\x55\x48\xaf\x7f\x8f\x8f\x90\xaa\xf0\x15\x34\xf4\xec\xab\x56\x45\x9d\x30\x68\x27\x5e\x29\x5f\x09\x9e\x41\xdf\x44\x73\x8b\x25\x84\xbf\x2a\x5a\x61\x15\x5e\x1a\x57\x56\x88\xa1\x17\x28\xf4\x4d\x65\x75\x55\xa9\x2a\x2b\x56\xb8\x19\xd5\x93\x10\x02\xd5\x14\x12\x8e\xbd\xe0\xa6\x5d\x39\x04\x41\xa8\x86\xda\xa6\x68\x2a\x20\x8a\x56\xc5\xc8\xeb\xfc\xb4\x93\xad\xbc\xd0\x71\x69\x64\x14\xb2\x56\xc2\x44\x58\xdf\xd4\xfc\x48\x2d\x15\x6c\x61\x43\x23\x58\xa8\x1f\xe7\x66\xef\xe3\xc7\xc7\x8f\x73\xe3\x85\xf6\x4c\xc3\xab\x0b\xcf\x21\x67\xa8\x3a\xd1\x10\xa9\x0e\xa2\x9a\xa2\xe8\xce\xa5\x79\x85\x77\x88\x6d\x3b\x04\x9a\x8e\x96\x04\xd4\xbe\xa0\xb7\x45\x2b\x24\x7c\x76\x14\x49\xe6\xd2\xb8\x62\x71\x33\x42\xa1\x90\x76\x75\x55\xf5\x2d\x25\xf4\xfd\x82\xeb\x13\x6b\x77\xae\x0e\x02\xbe\x62\xe1\x07\x8e\x37\x00\xf3\xe3\xa1\xaa\xfc\x01\x8e\x33\xec\x5b\x0a\x98\xf4\xc0\x60\x00\x06\x05\x10\xf4\xed\x29\x88\xaa\xf2\x25\x35\x9d\xe1\x59\x42\x58\x13\x1c\x12\xd2\x6c\xda\x3e\x71\xe5\x29\x80\xf9\xd4\x81\x60\x80\x60\x25\x2a\x6a\xba\xbf\xa9\x26\x0c\xea\x73\x86\xa0\x5a\xb0\x7b\x3e\x0c\xa9\xf1\xbe\xaf\x23\xac\xa2\x95\xa3\x92\x5f\x58\xa5\x12\x8f\x71\x18\x75\x78\xc5\xd0\x9e\xb2\xc4\x2b\x42\x09\xf9\x36\x55\x1e\x6e\x31\xa4\x90\xe9\x60\xc4\xbb\x11\x94\x2d\x5d\x6e\xa2\xc1\x22\xa2\x99\x15\x57\x83\xba\xa9\x6d\x56\xaa\xa6\x46\xd0\xca\x70\x27\x74\x36\x67\x94\x65\x44\x26\x87\x4a\x5f\x82\xab\xcb\xf0\xaa\xe6\x6c\x3a\x2b\xf8\x77\xd9\x19\x79\x3e\x04\x9b\x78\xfe\x13\xd7\xd3\x37\xca\x5f\x53\x98\x52\x3c\xa3\x2c\xd8\x4c\x70\x23\x4a\x13\xd5\x76\xbc\x51\xe1\x65\xa9\xe7\x84\x85\x3e\x29\x54\x40\x4c\x4f\xb5\x60\xcc\x95\x62\xc8\x9f\x78\x46\xf2\xc8\xd3\xaa\x0e\x76\x72\x26\xb1\x7f\xf4\x4b\xa8\x87\x57\x34\x54\x68\x46\x3d\xb0\xba\x2a\x68\x18\x0c\x10\x4b\x5f\x54\x68\x7b\x19\xc7\x89\x50\x5b\x16\x1c\xbb\x2e\x2c\x02\x27\x62\xe3\xea\x47\xed\x66\x2a\x15\x87\x1e\x6a\x5f\xd6\x2d\x96\x67\x83\x97\xca\xc4\x69\x50\xd4\x50\xab\x56\x0c\x61\xa1\x6c\x82\x13\x35\x5c\xbe\x27\xdc\xcb\x02\xc2\xad\x70\x48\xbb\x23\xe6\x42\xb7\x77\x1a\x02\xec\x29\x1b\x1a\x47\x59\xd1\x4d\x43\xa3\x61\xc0\xcd\xaa\x4c\x02\x90\xf6\x58\xb7\x42\x3e\x38\xf7\x1a\xa9\x27\x53\x6e\x31\x91\x34\x4f\x09\xa2\xfc\x0c\x37\xcd\xb5\x4a\xf5\xa5\xa1\x25\xdd\x85\xb8\x44\xcd\xe9\x37\x41\x9c\xee\xad\x05\x46\xa8\x57\x58\xa6\x8e\x4d\x9a\xf9\xab\x65\x61\xa3\x9a\xa9\xc8\x27\xba\x52\xc3\x44\xe9\xe7\xd9\xd2\x71\xfa\x9c\x54\xd9\x17\xd9\xb2\x71\x7e\x97\x54\x59\xb3\x52\xe5\x96\x1b\x56\xb2\xa5\xaf\xa7\xc9\x34\x1f\xa9\xfa\x15\x41\x37\x92\xe9\x34\x92\xe5\xd7\x8c\x6c\xf9\x8c\x73\x63\xb2\xca\x7a\xba\x8a\x54\x47\x99\x18\xf3\x75\x39\x81\xa5\xd4\x78\x9e\x26\x5d\x34\xc1\x7a\x76\x7f\x8c\x13\xf0\xb6\x81\x37\x08\xb6\xd8\xaf\x64\x93\x26\x58\xcb\x8a\x37\x28\x27\x94\xd5\x89\x55\xe5\x22\xb1\xf4\x9c\xba\xf7\xfa\x58\xce\x86\x6d\x42\xd4\xe4\x00\x1a\x46\x65\xb9\x46\xb7\x5b\xf5\xbd\x9f\xab\x4d\x33\x33\x8c\x34\xb8\xd9\xf1\x2c\x9c\xce\xc2\x14\x59\x0c\x33\xbd\x70\x33\xb1\xd0\xd2\x35\xd6\xd2\x13\x3e\x1a\x89\x09\x08\x6d\x3c\x08\x3b\xf8\xac\xcf\x54\x7c\x55\x0d\x37\x25\x55\x99\x7b\x59\xdd\x0d\x31\x84\xf3\x6b\x3b\xfc\xc4\x2c\x15\x97\x2c\x6e\xc9\x65\x90\x51\x21\x7d\x89\x32\x96\x42\x78\x15\x45\x93\x75\x54\xd8\x7c\x66\xab\x12\x03\xff\x1a\x90\x32\x6c\xc5\xdd\x27\xbe\x19\xfc\x3a\x7b\x51\xa5\xa4\x5f\x17\x6c\x3c\x89\x94\x51\xe9\xbd\xc7\x58\x7f\x59\x4d\x4b\xac\xa9\x1a\x27\x2a\x81\x86\x53\x95\x14\xca\x6e\xbd\xe9\xe6\x44\xdb\xb6\x1a\xf9\x8d\x2f\xae\xc9\xb7\x49\xd5\x20\x6a\x72\x1b\xaf\x18\xc6\x7a\xb6\xdb\x5b\x89\x18\x13\x71\xbf\xa3\xac\x0b\xdf\x70\xa2\x6e\xef\x34\x0a\xef\xa1\x73\x6b\x87\x80\x3f\x58\xe9\xc9\x4a\xb8\x29\x5e\xb6\xc0\x14\x3f\x0d\xd3\x62\xdf\x77\xda\x8d\xe8\x7b\xa3\xdd\x8c\xbe\x1f\x73\xcf\x3b\xa7\x1b\x15\x8b\xab\x7c\xa9\x7c\x34\x94\x2b\x9e\x65\xe3\x5e\xfd\x7b\xd2\x37\x7f\x45\xb9\x92\xfa\xcb\x46\xb9\x05\x63\x75\x1d\x6e\xa7\x97\x57\x27\x4e\x5a\x1a\x5f\x83\x48\xb5\x30\xaf\xda\xd0\x87\x77\x36\x1c\x9c\xda\xbd\x76\xe8\x4f\x53\x0d\x7a\x0b\x6a\x4e\x76\x01\x18\xa4\xea\xdc\xb2\x2e\x47\x20\xf8\xb7\xc3\xdc\xb7\x30\xaf\xbd\x74\x4e\x4c\x23\xd1\xee\xbf\x2f\xa8\x8a\x55\x40\xa6\xc2\x17\xfb\x0f\x64\xc5\x8c\x44\xb1\xff\x50\x3a\x6e\xff\x91\xf4\xcd\x5f\xe5\x41\x03\xed\x0b\x6a\xda\x62\x4a\x3b\xb6\x2f\xd1\xb6\xa4\x57\x8c\x64\x97\x89\x3c\x47\xd9\x54\x12\x5d\xfd\x8f\x13\x34\xfc\xab\x09\x12\xfe\x41\x0a\x89\xa4\x78\x89\x59\x6e\x72\x6a\x6d\x55\xab\x29\x7f\xa0\xac\x58\x30\x8a\xce\x13\x5d\xbc\x77\xda\x0d\x45\x87\x44\x94\x11\x09\x9b\x25\x52\x8d\x27\x5a\x24\xe4\x11\xfd\x6b\x52\x5a\xfd\xe6\x6f\xb0\x57\x3b\xed\x46\x79\x5b\x3e\xe8\xae\xe3\x81\xec\x24\xfb\xcd\xdf\xe4\xab\xef\x7c\xcd\x9c\x49\xef\x78\x71\x72\xe4\xe4\xaa\xf9\xcd\x7f\xca\x37\xf1\x36\xb7\x09\xb6\x78\x92\x2f\x52\x29\xc6\x55\x2d\x09\xff\xef\xf0\xf0\x0f\x73\xf6\x02\xc2\x93\xbd\x13\x13\xe2\xef\xf2\x50\x8e\x64\xd4\xfe\x2f\xf8\x52\xc7\xb2\x52\x7f\x8f\x2f\xf5\x3e\x99\x02\x3a\x63\xb0\xc3\xe6\x44\xac\x63\x10\xdf\xf0\x13\xd8\xfe\x03\xbe\x85\x8e\x0c\x8f\x7f\xc8\x97\x3a\x97\x95\xfa\x47\x7c\xa9\x0f\xb2\x52\xff\x35\x5f\xaa\x2b\xa7\x72\x52\xc7\xa4\xfc\xc1\xe5\xa6\x59\xab\xf4\x93\xeb\xee\x37\xff\x0d\x07\xec\x52\xb9\x4c\x2d\x35\x01\x8d\x84\xb2\xaf\x7c\x2b\xc3\x0c\x59\x1b\xed\x66\x92\x88\x7f\x92\xc0\xe2\xe3\x47\xf9\x22\xfb\x6f\x13\x25\xaf\x72\xb7\x86\x84\x4e\x4a\x3c\x94\x2a\xd0\xd0\xfa\x47\xf5\x56\xac\x30\xde\x4d\xa8\xa5\x12\xf1\xeb\x51\x9f\xfd\x4a\xfd\x38\x28\x6a\x35\xb5\xfc\xbd\xf6\x8b\x67\x5a\x0d\x6e\xaa\x51\x11\x0b\x5e\x56\xae\xd2\xa2\xde\x63\xbc\xcd\x5c\x9a\x57\x3a\xd0\xb4\x6a\x4a\x98\x40\x75\x2a\xc7\xed\x86\x28\xfc\x02\x83\xab\x69\x4f\x4f\x39\x53\x34\x41\xbe\xff\x2e\x41\x94\x5f\x2d\x1e\xc4\x6f\x99\xe8\xff\x98\x9f\x76\x9f\x7e\xde\x16\x30\xde\x85\x0c\xde\x18\x84\x48\xa2\x99\xdc\xec\xbf\x85\xb3\x0a\xa8\x04\xad\x5a\xd8\x69\x37\x0a\xc6\xbc\x62\x14\x94\x62\x28\x3b\xc3\x9e\x78\x3c\xff\x70\x31\x9e\xca\x4b\x1c\x4c\x2e\x81\x66\xfa\x8e\x3d\x74\x5c\x57\x55\x76\xa4\xe7\x66\xa2\xcd\x3f\xfa\x56\xda\xb0\x35\x20\x50\x6c\x51\xef\x07\xe5\x99\x42\x4f\xc1\x44\xcd\x84\x7e\x23\x85\x1a\x33\x69\x08\xa9\x35\xc3\x2f\xa9\x5e\x8d\x53\x33\xaa\xb1\x2a\x30\xa1\x5d\xdf\x13\x15\x25\xba\xb9\x44\xb9\x67\x4a\x95\x35\x92\xee\x13\x6d\x74\x8f\xea\xe8\xdf\xd2\xcf\xa6\x14\x32\x53\x22\x7e\x2b\x47\x4e\xa4\x75\x68\x9e\xfc\x51\xe1\x59\xc1\xa6\xb3\x5c\x22\xb3\xfb\xe9\x4d\x2c\x68\x60\x89\xd9\xa2\x26\xf6\x03\x2d\xf1\xeb\xfb\xc4\xaf\x62\xe2\x57\x29\xf1\xab\x9c\xf8\xf5\x2c\x31\x03\xf5\x50\x3a\x07\xb3\xcc\x98\x33\x24\x92\x65\xa8\x45\x7e\x14\x42\x46\x91\xce\x38\x04\x50\x4d\xe4\x47\x14\x9a\x45\x41\xad\x16\x59\x98\x3a\x9b\x8a\x1a\x6b\xa0\xf6\x0c\xcb\xa9\x2a\x1a\x7a\xf0\xf8\xa8\x94\xb8\x17\x26\x7a\xf1\x3d\x7d\x51\xe6\x5e\x54\xd0\x8b\xa2\xb2\x82\x16\x82\xf2\x0c\x7d\x32\x19\xc1\xde\x9a\xe5\x2c\x16\x87\xba\xfe\x28\xd6\x96\x47\xe8\x16\x02\x10\x12\xad\xf9\x77\xc5\xb0\xf8\x1d\xd6\x94\x4b\x45\xf1\xfc\x08\x3e\x17\x9c\x7f\xe8\xf9\x8b\x2c\xa7\x9f\xbd\x22\x73\x70\x5e\xe6\x97\x8f\xae\xb7\x5c\x95\x57\x92\xa6\x15\x2b\xef\x22\x23\x92\xca\x1e\x80\xfb\xa9\x3d\xa0\x01\x02\x18\x94\x37\xdf\x0a\xc5\x8c\xa1\x94\x77\x85\x28\x96\xfb\x19\xc8\x54\x39\xab\xa7\xd9\x4f\xfc\x94\x03\xe8\xc6\x27\xdb\x44\x0c\x3b\x6b\x9f\x8d\xaf\x3d\x15\x85\x83\xe2\x8b\xcb\xac\x29\x3c\x01\x1e\x45\xb7\xb5\x56\xa6\xd8\x93\xac\x58\x25\x51\xec\xd7\xb2\x62\xd1\x15\xf1\xb8\xdd\x40\x5c\x8a\xd4\x91\x85\x08\xbe\xbd\x81\x7f\x77\xea\x84\x2e\xe0\x18\x10\x0e\x40\x85\x4e\x0a\x02\x2c\x7e\xbe\x7e\x25\x71\x51\x8a\x39\x28\x1a\xcd\xbe\x86\xdd\xfa\x23\x09\x3f\xd3\x78\x3d\xab\x68\xcc\x47\x34\xdf\xa0\x96\xf3\x30\xd4\x03\xeb\xf2\x8a\x3a\x3d\xc1\x5a\xb1\xe8\x31\x87\xa7\x18\xfa\x65\xe5\x7b\xef\x4a\xd3\x5d\x0b\x7f\x2b\x9a\x57\x35\xfb\x8d\xe5\xc7\xba\x4c\x65\x53\x59\xb1\xdc\x4d\xd5\x8d\x9d\x23\xe7\xa6\x79\xea\x37\xda\x6d\xd5\xd5\xb0\x86\xf1\xd2\xbe\xb2\x5c\xad\xca\x17\x81\xa3\xde\xa9\xff\xc1\x34\xf1\x4b\x54\x2a\x20\xba\x6a\xbb\xa8\xd4\x94\xa2\xab\x69\x4f\x41\x32\x55\xb9\x94\x15\xbf\x5a\xaf\x29\xc5\x80\x5a\x60\xd4\x14\xad\xa8\xfc\x15\x85\xa7\xf7\xab\x24\x5d\xa3\x7c\xfd\x5f\x7a\xfe\xe0\xbe\x1a\x11\xf7\x89\xaf\x63\xa6\x46\x59\x3e\x10\x98\x29\x60\x9b\x75\x96\x00\x21\x31\xc8\x54\x35\xad\x06\x05\x8a\x81\xd8\xf3\x14\x3b\x39\xe2\x88\xbd\x4c\xc9\x6b\x90\xc8\xec\x94\x33\x0e\xe3\x0e\x72\x68\x9a\x57\x09\x3d\x1c\xc0\x9c\x6e\xe2\xfd\xef\xa5\x1b\x5b\x49\x5f\x4d\x15\x26\xb0\xd8\x58\x40\x4c\x7a\x2f\x68\xc4\x69\x5f\x2d\xb5\xac\x3d\x73\x28\x52\x8c\x75\xb9\x34\x59\xfa\x06\x53\x91\x29\x4d\x70\x6d\x35\x27\xdb\x6d\x82\x2f\xaa\x7c\x1b\x9c\x28\x27\xad\x90\x07\xfa\x5a\xa4\x70\x32\x5f\x92\xa9\x3b\xc9\xc8\xf0\x61\xbd\x61\x00\xd0\x1d\xa7\xb0\x61\x20\x8e\x26\x20\x06\x91\x82\xbd\x65\xa3\xb2\x14\xa9\x7f\x75\xd9\x9f\x06\x86\x59\x59\x5b\xdf\x78\xfe\xe2\xea\x7b\x7c\x17\x7b\x96\x9c\x03\x34\x09\x89\x1d\xfa\x3d\x42\xfa\xec\xc0\x8b\xd3\xc9\x90\xdb\x1b\xb1\x9e\x83\xc9\xe9\xf8\xe2\xc5\x0b\x01\x7a\xb1\x4d\x6f\x66\x5a\x26\x92\x76\x90\x65\x4b\xac\x6f\xa1\xee\xd4\x54\x61\xc7\x7e\x55\xbb\x2a\xd6\x54\xf4\xf1\xbd\xa6\xd6\xd4\xcb\x8f\xc1\xc7\xf6\xd5\xf7\x9a\xb6\xf9\x8b\x67\x78\x2f\x82\x16\xea\x8d\xee\x58\xe1\xe5\xda\x95\xa6\xc7\xbb\x01\x4e\x4d\x5d\x85\x3a\xde\x15\x9c\xa7\xf4\xd8\x8a\x99\xcc\x19\x9c\xdf\x86\x85\x89\x3f\x98\xb9\x20\x35\x28\xb1\x98\xf8\x52\xf9\xa5\x92\x77\x68\x38\x58\xb3\xdc\x9e\xda\x7d\x74\x62\x38\x36\x1c\x61\xb3\x29\x2d\x86\x50\xae\xe7\x54\x27\xb3\xe9\x6c\x2a\xab\xbb\xb5\xb0\x2e\x16\x6f\x49\x6a\x37\x16\xd6\xc6\xe1\xed\x65\xd5\xb7\x17\x56\xc7\x12\x69\x49\xed\x9d\xaf\x47\x3d\xab\xd3\x90\x08\x85\xdb\xcd\xf2\xee\xd7\x52\xf5\x6b\x80\xef\xe5\xb3\x09\x89\x8a\x5c\x1b\x25\x93\x07\xf2\x76\x19\x20\x2c\xd8\x71\x12\x8c\x4e\x7f\x99\x19\xa0\x4d\xe1\x16\x11\x55\xad\x91\x50\xd4\xc4\x12\x3f\xd4\xcd\x74\xa7\xd3\x69\x55\x6a\x71\xa0\x4a\xa3\x06\x5f\x87\x35\x58\x2c\x6a\xcb\x29\x11\xda\xcd\xf2\xbe\x15\x2f\x93\xcd\xfd\xcc\xbd\x28\x25\x43\x42\x9b\x90\xb1\x62\xc1\x4d\xd3\xb2\x60\x4a\x4d\x09\xa0\x1d\x80\x7a\xcf\x47\x6c\x7b\xb5\x92\x7d\x4f\x95\x57\xd5\xb5\xd8\xf6\x39\xf3\x4e\x00\x71\x0b\xb8\xfe\x5d\x02\xe5\x03\x1e\xe5\x83\x9f\x8c\xf2\xa9\x8f\x97\x00\xc1\x39\x8d\x18\x2e\xf1\xce\xf1\x80\x18\xb9\x53\x9f\xac\x3e\x1e\xbd\x77\x0b\xb7\x1a\x04\x2f\x90\xad\xb9\xc3\x9c\xea\x24\x64\x73\x6e\xf5\xf7\x0b\xab\xa3\x8b\xac\xb4\x7a\x3b\xa7\xfa\x2d\xb5\x74\x90\x6f\x75\xa7\x29\xb9\x0e\xe7\x43\xf9\xda\x32\xd3\xb4\x65\xf0\x72\xb6\xbf\x4b\xe5\xcd\xa9\x50\x7e\xda\x6e\x96\x3f\xe4\xa0\x9a\x18\x1c\x09\xb2\xdd\xdf\xfb\x32\xec\xd9\xfd\xb1\x64\x1d\x5e\x2a\x3f\x44\x5a\x23\xb4\x79\xc5\x68\xda\x5f\xb1\x8f\x2d\x50\x70\x14\x25\x94\xe8\x89\x09\xdc\x17\x8c\xe6\xa5\x71\x85\x97\x53\xf4\x2b\xed\xd4\xb4\x48\x50\x8f\xc7\xb4\x9f\x7f\x1e\xa7\x41\xbc\x31\x6a\x95\x8d\xe7\x35\x23\x01\xa6\x2c\x48\x4a\x9a\x50\x88\xd3\x4c\x9c\x84\x04\x2d\xff\x4e\xbe\xcb\x0f\x63\xc2\xbf\x8d\x9f\x8e\x96\xe9\xfe\x26\x8e\x38\x12\xbd\x12\xec\x6a\x75\xd7\xa5\xe3\x1d\x64\xf6\x10\x92\x2f\x87\xbc\xad\xd3\xc1\x52\x57\x12\xb8\x5d\x4b\x2e\xa5\x46\x2d\x7c\x9d\x58\x60\xb5\x90\xcd\x37\xce\xb2\x8e\x31\x75\xe1\x15\x67\xf6\x48\x36\xce\xeb\xb4\xba\x61\x49\xd0\xd4\xea\x4d\x06\xb9\xec\xf0\xbb\xb3\x23\x5b\xbc\xee\xcf\xd6\x2d\x33\xd9\x2d\xf7\xe7\xeb\x56\x62\x1c\x26\x32\xdd\x4c\xc8\x47\x54\xe1\xf6\xbb\xb0\x58\x79\x7c\xdc\x88\xa6\x4a\x58\x34\xaf\x36\xbd\x99\xeb\x56\xe9\x34\x0c\x8b\x15\xdd\xd0\x9e\x22\x48\x30\x07\xd2\xc6\xe3\x63\x45\x00\x09\x47\x3f\x52\x8a\x09\x80\x45\xa5\xa0\x73\x8f\xd6\xb2\x8f\xd6\xf1\x23\x4d\x79\xe2\x84\x92\x79\xf2\x0a\x12\x8c\x88\x43\x28\x26\xaa\x6f\x19\x35\x3f\x45\x54\xbf\x58\x64\x71\xa0\x68\x93\xbe\x6e\x60\x20\xc1\xeb\x35\x43\x33\x2c\x2b\xd8\x74\x98\xd8\xaa\x6a\x92\x9f\x24\x26\xa8\x81\x8e\x60\xf4\x93\xc5\x16\x44\xbc\x02\xfa\xcd\xe2\x82\x1a\xd5\x75\xf2\x80\x8f\xf4\x57\xdd\xa0\x30\x48\xb4\x50\xa3\xfa\x82\x56\x62\x71\x40\x8d\xea\xcb\xe8\x09\x8b\x04\x6a\x54\x5f\x91\x67\xe9\xd8\x7f\xd5\x0a\xc6\x41\x75\xa2\x38\xa5\x11\x3a\xa6\x56\xad\xa4\x10\x32\xab\x95\x2c\x46\x66\xb5\x92\x44\xc9\xac\x56\xd2\x38\x99\xd5\x4a\x16\x29\xb3\x5a\x41\x58\xe1\xa8\x80\xe9\xd8\xa6\x24\x67\x58\x01\x93\x71\xc3\xd0\x08\x39\x5f\x6a\x4e\x36\xee\x67\x50\x5a\x33\xa2\xc2\x6b\xa8\x15\x54\x9a\xa6\x86\xf4\x2c\xa8\xfa\x9a\x26\xaa\xe7\xb0\x78\x59\x3a\xff\xd2\xf2\x74\xbf\x68\x6d\x44\x19\xcb\x88\xf7\xbb\x6a\x5b\x38\x07\x91\x46\x2e\x69\xce\x50\xf5\x8b\x56\x45\xb7\xdf\x30\xd9\x05\x8b\x76\x4a\x67\x4c\xdf\xf7\x42\xc7\x9b\x81\x9a\xa0\x5d\xfb\x29\x42\xf6\x15\x46\x56\x86\x1a\x0d\xd4\xc5\x11\x62\x1d\x11\x20\x13\xcf\x34\x28\xad\xc7\x04\x58\xc7\x04\xf8\x42\x5c\x46\x51\xdf\x6b\x11\x31\x3c\x51\x65\x9e\x0a\x5c\xc0\x30\x9e\x0a\x44\x40\x17\x72\xb0\x2c\xcb\xfe\x06\x4a\x64\xda\xb6\x9f\x28\x29\x64\x68\x25\x28\x10\xbc\xb1\x5e\x19\xab\xab\xc1\x6b\xeb\xd5\x8b\x4d\xe1\x3c\x78\x65\x14\x5f\x56\x83\x37\x96\x69\x90\x72\xa6\xf1\x02\xcf\x2d\x01\xc5\x4c\xc3\x28\xbe\xd4\x9e\x1c\x3e\x5a\x60\x96\x9d\x48\x8b\xcb\xd2\x17\xb2\x51\x56\x14\xa5\x69\xac\x4f\x49\x49\x35\x61\x04\x26\xb2\xf3\xc1\x4b\x7b\x64\x6f\x70\xe7\xac\x96\xcf\x2f\x18\x9e\x12\xaf\x96\xe7\x7c\x3d\xde\x47\x34\xcb\x26\x21\x1e\x41\x2b\x9a\xcc\x59\x34\x87\x8f\x32\x6b\x0b\x38\x16\x9c\x89\xa9\xa6\x14\x61\x51\x69\x29\x49\x59\xc4\x1b\x4f\xd2\xe7\x4b\x65\xd3\x4b\x1d\x5e\x7f\x59\xf0\xc7\xc4\x34\xf9\x21\xd8\x5c\xc8\xf5\x99\x9e\xa2\xe1\x8d\x70\xf9\x3a\x15\x52\xe7\xf9\x57\xb5\x53\xa9\x99\x35\xa3\x86\xc6\xbc\xba\x91\xc7\x8c\x65\xab\x6e\x18\x5e\x8a\x2f\x9d\x4a\x87\x66\x65\x2a\x50\x4e\x88\x35\x32\x81\x3f\x0c\x5b\xe9\xb9\x5e\xfe\xc5\x54\x36\xe8\xbf\x90\xb6\xfa\x9d\x32\xfd\x4e\xb2\x3e\x6e\x24\xd0\x0a\x37\x4a\xae\x04\xb2\x66\x60\x7d\xa1\x69\x59\xcc\x2c\xf5\x9b\xe4\xa5\x32\x41\x0c\x31\xb1\xc7\xc9\x48\x2b\xbf\xdb\x26\x4c\x0d\x4b\x12\xbe\xb1\x89\x58\x84\xbc\x44\x4f\xd6\x7f\xf7\xcd\xa0\xde\x6c\x7c\x3b\xc1\x76\xea\x87\xcb\x74\xe4\xf9\xef\xb4\x05\x33\x63\x1d\xc4\xa4\xb4\x04\x52\x01\x47\xa1\xac\x62\xd3\x94\x27\x7e\x92\xdf\xc8\x26\x39\x94\xce\x64\xb4\xc7\xa1\xdd\x81\xd3\x92\x19\x57\xba\x69\x68\x25\x93\xc4\x80\x72\xb0\x98\x99\x7f\x6f\xf2\xef\x6b\x99\xae\xa4\x9c\x5e\xa0\xee\x48\xfb\x1b\xc9\xfb\x0c\x3d\x75\xa7\x82\xb2\xe3\xec\x17\x50\xfc\x3c\x58\x5e\x05\x4e\x5a\x08\x64\x2d\x84\x92\x86\xc5\xcf\x2f\x95\x37\xa1\x74\xaf\x2b\xc8\x5e\x95\x67\x5f\xa5\x81\x27\xc0\x66\x52\x9a\xdc\x4a\xda\xff\xee\x4e\x56\x65\x2e\xa9\xf1\xfd\x5c\xda\x88\xb8\x4a\xf9\x21\x7d\xce\xae\x24\xef\x38\xaf\x4d\x2d\xbb\x77\x3a\x43\x15\x6d\x9f\x34\x17\x3a\x5f\xba\x42\xad\x41\x6a\x8b\xb5\xbf\x51\x5e\x0f\x0a\xd7\xbc\xa2\xc7\x2b\x36\x5c\xca\xf2\x5c\x72\x00\xd8\x95\x21\xc1\x5b\x7c\xf7\x20\xa5\xc3\x83\x8c\xd8\x5f\xa4\xf3\xe0\xbb\x47\xf9\xab\x27\xf9\xab\x5f\xa7\x5e\x25\x62\x58\x0e\x99\xfa\x94\x8f\x4a\x28\x0e\x94\x17\xf4\xa1\x83\x93\x00\xb2\x00\x59\x7b\xef\xb8\xe8\x80\x23\x77\x62\x4f\xb7\xec\x00\x7c\xe2\xc3\x52\xc7\x31\x0c\x78\xf8\xa9\x90\xd4\xd9\x5c\xf1\x29\x88\xab\xab\x2b\xc9\x18\xe6\xac\x65\x3e\x65\x1e\x2e\xfe\x89\xd8\xf9\x24\x9f\x43\x40\xb3\x3f\x91\x22\x16\xd8\xa4\x01\x12\xec\x20\x70\x46\x9e\xfa\xe5\x29\xdd\x05\x1d\x50\xc9\x50\xfc\x88\xc6\x4a\xe7\x43\x2b\x70\x30\x97\x0a\x93\x90\x76\x1a\xd5\x6a\x31\x82\x7c\x58\x04\x05\xb1\x7b\x51\x04\x85\xa2\x72\xa5\xe8\xca\x88\x0b\xd3\x84\xda\x01\x51\xce\xd2\x18\x86\x0e\xac\x37\x1c\x4e\x44\xfb\x9d\x4b\x7d\x71\x94\x2a\x52\x7d\x85\xda\xe2\xf3\xc3\xf0\x15\xe3\x0a\xc2\xe3\x5b\x00\xa1\x33\x10\x65\x39\x22\x20\xc0\x02\x18\xb9\x29\x5e\x52\xd5\xd4\xf4\x24\x4d\x0f\xa9\x96\xc8\x5b\x20\xef\x62\x12\xf5\xc4\x18\xeb\x40\x80\x6f\xf6\xc4\x98\xd8\xd3\xe0\x93\x95\x2d\x58\xa6\xf7\xb8\x38\xec\x27\x2a\x49\x97\x4c\x54\x51\xd4\x04\x47\x13\x62\x9f\x26\x0d\xd9\x82\x41\x94\xaf\xed\xe0\xf8\xce\x7b\x0f\xfd\x29\x80\xe1\xbd\x0a\x68\x88\x00\xfc\xf2\x12\x5c\x55\x89\x69\xdb\x82\x96\xec\xc1\x40\xb2\x15\x90\x0e\x5a\x56\xb2\x0f\x51\x8a\x6f\xfc\x56\xbc\xc2\xa2\xc2\x4c\x75\xc8\x50\x8a\x6d\x8e\x25\xd8\x88\x67\x2a\xae\xbe\x62\x2d\x20\x76\x12\xb3\xfc\xb2\xa2\x29\x19\x2c\x3d\xaf\x7f\x16\xca\x24\x13\x15\x25\x33\x60\x53\xf3\xc4\x90\x33\x4f\x84\x9b\x1c\xf4\xcb\xf0\xca\x82\xc9\x08\x81\xec\x79\x72\x5e\xe3\x50\xea\x74\x93\x23\x23\xad\x86\xba\x78\x65\x29\xb3\x00\x40\xc4\x25\xea\xa4\xd2\x93\x90\x44\x1c\x0d\x63\x6f\x2f\x59\x89\x4b\xe3\x4a\xb2\x8c\x95\x11\xb4\xa7\xd7\x4e\x5f\xd1\xbf\x28\x3f\x28\x55\xe5\xb7\xff\xf0\x6f\x29\xba\x5d\x55\x7e\xfb\x0f\xfe\x2b\x45\xef\x55\x95\xdf\xfe\xbd\x3f\x56\xf4\x3e\xfa\xfc\xdb\x8a\x3e\x40\x9f\x7f\x47\xd1\x01\xfa\xfc\xcf\x14\x7d\x58\x55\x7e\xf3\x2f\x15\x7d\x54\x55\x7e\xf3\xaf\x14\xfd\x1a\x3d\xfd\x53\x45\x77\xd0\xe7\x7f\xae\xe8\x9f\xab\xca\x6f\xff\xfe\x3f\x52\xf4\x31\xfa\xfc\x7b\x8a\xee\xa2\xcf\xbf\xad\xe8\x13\xf4\xf9\xf7\x15\xdd\x43\x9f\x7f\xa1\xe8\x7e\x55\xf9\xed\xdf\xfd\x3f\x15\x7d\x8a\x3e\xff\x8d\xa2\xdf\xa0\xe7\x7f\x5d\xd1\x21\xfa\xfd\x17\x8a\x1e\xa0\xcf\x7f\xab\xe8\x21\x7a\xfe\x27\x8a\x3e\x43\x9f\x7f\xaa\xe8\xb7\xe8\xf3\xcf\x15\xfd\x0e\x7d\xfe\x0b\x45\x9f\xa3\xcf\xff\x44\xd1\xef\xab\xca\x6f\xff\xf8\x4f\x15\xfd\x01\x7d\xfe\x53\x45\x57\xbe\x28\x55\xe5\xff\xfd\xeb\x8a\xae\x3c\xa2\x0e\xfe\xf1\x3f\x51\x74\xe5\x49\xa9\x2a\xbf\xf9\x1f\x15\x5d\xf9\x35\xfa\xf2\xbf\x29\x4f\x82\x53\x39\x41\xc1\x72\x5d\x46\xc0\x1e\x74\x42\x27\xb8\x46\x04\xfc\x43\x02\x75\x31\xb0\x2d\x19\xb0\x59\xa0\x10\x57\xf3\x45\x03\xba\x2e\x1d\xd0\xc1\x2c\xec\xf3\xd8\xe8\xca\x2f\xd1\x97\xff\x4b\xd1\x95\x4b\xa5\xaa\xfc\x3f\xff\x5a\xd1\x95\x8f\x1f\xd1\xa3\x7f\xab\xe8\xca\x95\x52\x55\x1e\x29\x8d\x7e\xf3\xcf\x28\x8d\x86\x8c\x42\x7f\xc1\x28\xf4\xe7\x4b\x74\xaa\xb1\x60\xa9\x5f\x6e\x48\x71\x1e\x3a\x9e\x47\x69\x88\x70\xfc\xf1\x6f\x30\x1c\x7f\xfc\x07\x14\xc7\x1f\xff\xa6\xa2\x2b\xbf\x42\x5f\xfe\x44\xd1\xf1\x4c\xfd\xf1\x9f\x53\xb4\x7f\xfc\x53\x8a\xf6\x8f\xff\x2b\xc5\xfb\xc7\x7f\x4a\xf1\xfe\xf1\x2f\x96\xc0\xbb\x25\xc5\x0a\x02\x4f\x40\xca\x1f\xff\x09\x25\x25\x9a\xfb\x14\xcd\x3f\xa3\x68\xfe\xe6\xcf\x18\x52\xff\x9c\x21\xf5\x7f\x30\xa4\xfe\x19\x23\xe6\x3f\x5b\x02\xa9\x93\x7c\xa4\x0a\x7d\xdb\xb3\x07\x8e\xed\x21\xec\x12\x48\xfd\xf8\x3f\x64\x90\xfa\xf1\x7f\x66\xb4\xfb\x5f\x18\xed\xfe\x7c\x31\x9a\x3f\xfe\x9b\x25\xd0\x3c\x90\x6e\x2b\x00\x4e\x62\xec\x30\x59\x64\x23\xfb\x27\xf2\x71\x64\xf3\xef\xc7\x7f\xbc\x04\x2e\x17\x32\x5c\xb0\xb2\x82\x20\x93\x5c\x13\x7f\x26\x1f\x48\x4c\x98\x1f\x18\x61\xbe\x30\x0a\x63\xf4\xfe\x75\x86\x54\xff\x62\x09\xf4\x76\x16\x2d\x8f\xe7\xd2\xe5\xe1\xf9\xf0\x0e\x8c\x1c\xdb\x7b\x36\xb0\xd9\x3a\xf9\x25\xa3\x26\x26\xeb\xdf\x8a\x3a\xf0\x8f\xe4\x0b\xe6\x4f\x59\x4f\xfe\x27\xd6\x93\xff\xfd\x9b\x16\x4c\x57\x86\x67\x30\x8d\xd0\x93\x10\xfa\xbf\x8f\xf0\xfc\x2f\xd9\x8a\xf9\xbf\xd9\xee\xf3\x2f\x19\x56\xff\x8a\x61\xf5\x67\x8b\x91\xb9\x7c\x71\xb5\x80\xae\xe5\xb7\x52\x74\xef\xc0\x80\xa7\xe6\x1f\xe7\x4c\xd2\xdf\xd9\xf6\x43\x6c\xf1\xa5\x18\x3a\x41\xc0\xc8\x89\x67\x62\x72\xad\xff\xf3\xfc\xb5\xfe\x89\xce\xd1\xe4\x92\xcf\x59\x66\x78\xc9\x63\x4d\x05\xd6\x8b\x20\x4e\x45\x25\x39\x15\x9e\xd9\xb3\x81\xe3\x3f\xeb\x01\xd7\x55\x74\x85\xfc\xf0\x47\xa3\x5a\xcf\x0e\xc0\xf3\x75\x45\x57\x4e\x2b\x03\xef\xec\xae\xde\xa8\x47\xff\xb6\xaf\x6f\xce\x37\x0e\xf0\xd7\xc3\xdd\xdb\x9d\xcf\x17\x5b\x6f\x47\xbb\x95\xde\xda\xbe\x63\x7f\x38\x24\x45\x2e\x1a\x2f\xa2\xe2\x6f\xfb\x5b\xe4\x4b\x63\xbd\x7e\xf6\xca\xeb\x9a\x87\x75\xfe\xdf\xba\xed\xce\xda\xa3\x1d\xfc\x1d\x04\xcd\xb5\x9d\xc6\xda\xb3\xcc\xbf\x97\xe3\xed\xc1\xe4\xd5\xfd\xc5\xc4\x7d\x78\x7b\x52\xaf\xd7\x77\xaf\xa7\xfd\xbd\xd1\xec\x74\x6d\xdf\x6b\xee\xcd\xa7\x17\x6e\xf7\xb6\x3f\xd9\x9f\xf6\xef\xb7\xf6\x9b\xdb\xcd\xbb\xc3\xed\xf1\xdd\xd1\x43\x7d\x83\xb4\xb0\xb3\xcb\xea\x1e\x9c\xed\x6f\x77\x46\x3b\xa4\x33\xdb\xbb\x87\xcd\xc3\xf3\xba\xb1\xbf\xd5\xa9\xd7\xeb\x27\xf5\xfa\xd6\x68\xbf\x31\x3e\x1e\x57\xba\xfb\x07\xf6\xf9\x99\xdf\xbe\xde\x98\xec\xb7\x9a\xed\xf6\xc4\x75\x0f\xcf\xee\x9c\xae\x73\xe6\xf4\xcf\x2e\x2e\xd6\xef\xe6\xf3\xeb\xeb\xcf\x9f\xb7\xdf\xee\xed\xed\x1d\x1f\x36\xb7\x5b\xe3\x5d\x54\xbb\xde\xa8\x1f\xd4\x27\xc7\x7e\xb1\xbb\x6f\x07\xeb\x1b\xdd\xf9\xc8\xfb\xec\x1d\x8c\x8e\xcf\xdd\xe3\xe3\x83\xfe\x68\x6b\x7d\xda\x5a\xdf\x1e\xef\xdf\xdd\x9e\x4d\x2e\x2a\xcf\x27\xe1\x41\x17\xf6\x82\xf5\xe9\xfe\xc9\xe8\xe8\xfc\xe4\xac\x5e\xaf\x37\xeb\x27\x3b\xa3\xeb\xeb\x56\xab\xdd\x6e\xec\xed\xee\xee\x1d\x34\x9b\x17\x17\x17\x17\xfe\xe8\xfa\x7a\x3e\xbf\xbf\x6f\xec\x79\xde\xdb\xe6\xc1\xc1\x8d\x33\x1a\x8d\xfc\xfb\xfb\x46\x63\xfb\x74\xfb\xdd\x74\xba\x7f\x74\x7c\x3c\x9b\xf8\xfe\xfa\xfa\xf3\xe7\x8e\x63\x18\x3b\xcd\x77\xef\x7a\xa7\xed\xf6\xf8\x6e\x6e\x76\xba\x9f\x21\x34\xf6\x3e\x7c\x98\x3f\x3c\x7c\xf6\x3c\xef\xed\xfb\xe3\x63\x00\xfa\xfd\x97\xeb\xfb\x27\xe3\xa3\xf3\xfa\x49\x7d\x84\x08\x74\x32\xba\xe8\x76\xb7\xb6\x1a\x0d\xd4\xee\xee\x41\xf3\xc0\xb6\x2f\xfa\xa8\x8d\xe6\xf6\xc9\x78\xf7\xac\x8e\x08\x36\xc2\xb4\xdc\x7a\x3b\x6e\xb5\xf6\x83\xd6\xe9\xbb\xa0\xf5\x70\x64\xb4\x5b\xef\x5f\x3a\xf3\xd6\xce\xc3\x87\xd6\xa1\xd1\x39\xed\xec\x98\x1d\xf4\x6f\xd0\x31\x3f\x0c\x26\x1f\x3e\x0c\x3c\xf4\x67\x76\x27\xcd\x4e\x6f\xf6\xd6\xec\xce\x9a\x9d\x5e\xa5\xd9\x19\xbc\x5a\xef\x5c\xef\x35\xbb\xd1\x5f\xf1\xed\xda\xf0\xd5\x1a\xfa\x33\x46\x47\x7b\x27\x9d\x7a\xa3\xbe\x55\x3f\xa8\x7f\x3e\xee\xf6\x3e\x1f\xd8\x4d\x67\xef\xe6\x9d\x73\x6c\x37\xb7\xaf\x9b\x76\x50\x1f\x6d\x8d\x11\xce\xf5\x46\x7d\x7f\xec\x34\xa7\xe3\x9b\xa3\xfd\xe9\xa4\x7b\x03\x27\x93\x5e\x38\x71\x60\x38\x59\x7b\x17\x38\x0f\xef\x82\xd1\xfd\xce\xf5\xcd\x1d\x1a\xea\x2d\x3c\xbc\xe8\xdf\xc1\xd6\x74\x72\xd3\x15\xff\x4d\xba\x5d\x77\xd2\xf9\xaa\xbf\x93\xbd\xcf\xcd\x83\xd1\x56\xbd\x3e\xda\xaa\xcf\xd7\x76\xfa\xf3\xb5\x9d\x71\xab\xd3\x1c\xcf\xd7\x9a\xc1\xd6\x1d\x19\xd7\x7b\x34\xf3\xeb\x5b\xf5\x33\xe7\x61\xb7\xff\xb9\xf5\xb6\xff\x70\xfa\xb6\xff\xf0\xf0\xb6\xff\x30\x7f\x3b\xd8\x39\xdd\x77\x77\x1e\x8e\x5e\xed\xdc\xbd\x6f\xd4\xcd\xee\x16\x42\x73\x54\x6f\x12\x64\xb7\xea\x87\xad\x87\xdd\x7e\xeb\x61\x1f\xd1\xf9\xcc\x59\x3b\xed\x7f\xee\x7c\xe8\x3f\xac\x7d\xe8\x1b\x6b\x1f\x10\x8d\x3b\x5f\xf3\xef\xe2\x2d\x19\x4b\x44\x8b\xc6\xde\xa0\x3b\xed\xde\x8c\xea\xa3\x87\xf1\xde\x0e\xa1\x39\x69\xf5\xc2\x3f\xb9\xde\xde\xae\xb3\x39\x79\x52\xaf\x37\x9d\xeb\x8d\x46\xc3\x36\xf6\xe1\xc3\xc3\xe9\xf8\x78\x32\x3b\x1f\xdd\xb4\xda\x3d\xe3\xe5\xde\x7e\x67\x3f\xf0\x66\xf6\xe4\x62\xb2\x46\xe6\x55\xef\x70\xbd\xbb\xbe\x31\x7f\x78\x70\xbc\x83\x49\xff\x7c\x34\x19\x34\xec\xfe\xcb\x8d\xfd\xed\xfd\x1b\xd7\xdf\xf7\x4e\x26\xde\xfb\x63\xd0\x3a\xe8\x6d\x3d\xaf\x4c\x8d\xe9\xf4\xe1\xe1\xda\xf3\xbc\xfa\x8b\xbd\xbd\xf3\xbd\x7e\xff\xe5\xc6\xd4\x98\xfa\x6f\x6f\x06\x2e\x86\x77\x3e\x68\xd8\x1b\x37\xce\xc6\xee\x7e\xf8\xf0\xe0\x4f\xce\x26\xf7\xc0\x9c\x75\xda\xbd\xfe\xcb\xf5\x8d\x8d\x8d\x78\x3e\xdf\x74\x9e\xf7\x1f\x82\x9d\x8d\xf5\xee\xfc\xe1\xc1\xf7\xec\x49\x65\xb6\xd1\xe8\x54\xfa\xfd\x97\x2f\x36\xba\xfb\x0f\xb3\x87\x13\xef\x9a\x9b\xf7\xa4\xee\xc8\x6d\x9c\x98\x17\x5b\x75\xbc\xed\xb4\xae\x2b\x5b\x9f\xf7\xbc\x8b\xe6\x68\x78\xb1\xbe\x77\x71\x7d\x72\x3d\x75\xf6\x4e\xdf\x7a\xed\xf7\xdb\xd3\xe3\xd1\x61\x7f\x34\x9d\x6e\x3d\x3f\xfa\x3c\xee\x1e\xdc\x5c\x1c\x9d\x9c\x5d\x8f\xbd\xe9\x87\x76\x83\xee\x1b\xa3\x7a\xbd\xb1\xb3\xb3\xbb\xdf\x6c\x5e\x9c\x9d\x9d\x8d\xa3\xf5\xbb\xb7\x87\xd6\xaf\x0d\xfa\xfd\x91\x7f\x73\x73\xd0\x6e\x3b\x0e\x3c\x38\x78\xf7\xfe\xf0\x30\x08\x82\xe0\xe5\xdd\xfd\xfd\xf3\x87\xed\x87\xcf\x10\x06\x87\x87\x27\x27\x77\x77\xf3\xf0\x68\xff\xe0\xdd\xf6\x87\x4e\x67\x72\x7c\x14\x02\x1b\xf4\x9f\xaf\x6f\xb4\xf7\x66\x6e\x38\xe8\xda\x07\xcf\xcf\xcf\xce\xc6\xfe\x74\xda\xae\x1b\xdd\x2d\xba\x57\x34\xb6\xc6\xe3\x9d\x9d\xbd\x3d\xd6\xee\xf4\xfa\xfe\xde\x99\x78\x7e\xb3\x79\x90\x9e\x4b\x2f\x1b\xa7\xef\x77\x5a\x6b\xad\xd4\xdf\xfb\x97\xad\x79\x6b\xc7\xe9\xb4\x76\x9c\x0f\xad\x43\xc7\x3c\x3d\x7c\x30\x3b\x9d\xdd\xce\x87\xc1\xc4\xec\xba\x6b\x1f\x7a\xe1\x7a\x67\x50\x79\xfb\x61\x68\xae\xad\x0d\xcd\x75\x73\xb8\xbb\xde\x75\xcf\xbb\xd9\xbf\x06\xdd\x57\x71\x63\x3b\xcd\x66\xf3\xe2\x84\xe0\xd4\x6d\x39\x9f\xb7\xdf\xbe\xf5\x9a\x47\xc7\x27\xa3\xc9\x56\x44\x33\x3a\xc3\x5b\x6b\x3b\x67\xf3\x8d\x9d\xfe\x7d\x77\x67\xdc\x7e\xd1\x1c\x9f\x0e\x9a\xc1\xc3\xb0\x69\x9c\x3e\x3b\x34\x8c\xd6\xd1\xee\xd9\x69\xeb\xe8\x6c\xde\x19\x18\xad\x8e\x69\xcc\xbb\xee\xd9\x43\x77\x60\x3c\x74\x5c\xc3\xec\xb8\xe6\x87\xae\x5b\xe9\x75\xdd\xf3\x17\x83\x57\xe7\xbd\xee\xab\xb5\x67\x83\xe4\xdf\xab\x81\x49\xf7\xe6\x51\xfd\xa4\x31\x6a\x3e\x4c\xda\x4d\x67\xd2\x6e\x7e\x9e\x1c\xaf\x1b\x4e\x7b\xab\xd9\xde\x83\xf5\x66\xbd\x8b\x57\x5a\x63\x74\xd0\x7c\xe1\x1c\x37\xd7\x3f\xb7\xbb\xcd\xf1\x79\xb7\x39\x01\xdd\xae\xe7\x74\x6f\xa6\x93\xee\x8b\xe9\x8d\xdd\x3c\x20\x7b\x0f\x5e\x12\x3b\xf4\x3c\x1b\xd9\xcd\x1b\x6f\xd2\xbc\xf1\x9c\x26\xf4\x9c\xe6\xba\xef\x74\xbb\x53\xa7\x7b\x73\x33\xb3\xf7\x83\xfb\x9b\x17\x70\xf6\x35\x7f\xe3\x2d\xff\xbe\xe1\xd7\x4f\xf0\x39\x30\xb8\xdf\xc7\x7f\x9d\xf6\xfe\x4e\xe7\x7e\xbf\xde\x6f\x6e\x77\xc6\xbb\xf5\xc3\x11\x26\xdf\xdd\xf6\x4e\xff\xc4\x6c\x8e\xe7\x2f\x9a\xc1\xe9\xf0\x90\xd2\xeb\xf0\x95\x71\x7a\xf8\xaa\xf3\xa1\xb5\xbb\x7b\x17\x9f\x29\xec\xe0\xbe\xdb\xaf\x1f\xb6\x5f\xec\xf4\x1f\x06\x3b\xe3\xb3\x4e\x33\x34\x3b\x4d\xd3\xec\x34\xc3\x4e\xe7\xe4\xd5\xd7\x6c\x23\xe6\x69\xeb\xc8\x78\x68\x6f\x19\xfb\x0d\x34\x96\x88\x7c\x9f\x4f\x4e\x2e\xba\xd7\x5b\x8d\x83\xfe\x74\xab\xd1\xfb\x6c\x5e\x34\xb6\xdf\x4e\xf6\xeb\xe7\xd7\xc7\x27\xf6\xf5\x7c\xcb\xd9\x99\xce\xeb\x0f\xdb\xdb\xe3\xa3\xa6\xd7\x3e\x39\x69\xf7\x5f\xcd\xf6\x9b\x1b\x77\x77\x0f\x0f\xeb\xbb\x4d\x7f\xf7\xac\x75\x38\x5a\x37\xdc\xa3\xf5\xf5\xd1\x76\xff\x60\xf2\x61\xc7\x73\x8f\xeb\xd7\x68\x7d\xee\xd4\x77\x77\x50\x17\xe6\xf7\xdb\x6f\x77\xf6\xde\xbe\x3b\x6e\xf7\x27\xa3\xd6\xe1\xfa\xbc\xd1\xad\x9c\xdd\x6f\x8f\xbd\x69\xf7\x7d\xbb\xdd\x1e\x87\xee\xf5\xe8\xe1\xa0\x7d\x3e\xd9\x99\xbc\xff\xec\x1d\xbc\x6f\xb7\xfb\x93\xb1\xbb\x75\xfd\xce\x99\x56\xc6\x3b\x93\xe3\x7d\x78\x82\x17\xea\x5b\x34\xef\x1a\xcf\xdf\x9e\x8c\xb7\xce\xb6\x4e\xd0\x02\xd9\x6b\x1e\x9e\x8d\xfc\xe9\x75\xb7\xd5\x7e\x70\xbc\xc9\x78\xf7\xdd\xc1\x21\x38\xeb\x9f\x8d\xfd\x8d\xe9\xc6\xfc\xf4\xe1\xf3\xb8\xf9\xf6\xe2\xf4\xe0\xf0\xc4\x1e\x8c\xe6\xf5\xe9\xb4\x35\x3f\x7d\x70\xbc\xb7\x6f\x9b\xa7\x87\x27\xe0\xbc\x3f\x7a\xb5\xb5\x85\x18\xa1\xe6\x21\x9a\x42\xdb\xf5\x13\x67\x64\x74\x77\xce\xea\x3b\x8d\x7e\x7d\xfd\x6d\x7d\xfc\xb0\x71\x68\xb4\xe7\x27\x6e\x7b\x7e\xb4\xfb\x30\x6f\xb9\xe6\xfc\xe8\xc8\xdc\x38\x33\x1e\x4e\x4f\xcc\xb3\x4e\xab\x73\x3f\x3f\xea\x98\x9d\x56\xa7\x32\xef\x1e\x75\x7a\x17\xee\x69\xeb\xe8\xe8\x74\xd8\x3a\xeb\xb4\x8e\x76\x3b\xad\x4e\xc7\xd8\x40\xcf\x3b\xe1\xc3\x43\xcb\xad\x74\x5a\x9d\xb5\x56\xb7\x63\xf6\xba\x6e\x65\xde\x2d\x76\x36\xba\xe6\xda\xc3\xd1\xd1\x39\x7a\x36\xc0\xe5\x4c\x73\xa3\xfb\xea\xc3\xab\x6e\xf8\xa1\x3b\x8a\xda\x38\x6d\xb5\x48\x1b\x0f\xdd\x8e\xf9\xe2\xc2\x3c\xfb\xd0\xea\x9c\x75\x3a\xee\x79\xa7\xd5\x39\xff\xd0\x75\xcf\x87\x83\x4e\xe7\x55\xf7\x55\x7b\x8e\xca\x1d\x1d\x55\x5a\x9d\x4e\xa7\xd7\xed\x54\x86\x9d\xb0\xd3\xed\xbe\x5a\xff\xd0\xea\x7c\xe8\x0c\xdc\xca\x70\xd0\x39\x6f\x75\x8b\xe7\xaf\xc0\xee\xfa\xb0\xfb\x6a\xbd\x75\x8d\xdb\x35\x5f\x75\x4c\x54\xee\x62\xd0\x75\x2f\x7a\x03\x73\xed\xfe\x7a\x3a\x99\xb8\x37\xfe\x8d\x73\x33\x71\x9c\x9b\x9b\x9b\xc9\x4d\x38\xa9\xdc\xc0\x1b\xb3\xe7\xcf\x9c\x1b\xff\x06\x1e\x04\x13\x70\x03\x6f\x1e\x0e\x82\x9b\x22\x84\x93\x07\x88\xca\xc1\x1b\xe7\x26\x70\xee\x6f\x6e\x9c\x7b\x18\xdc\x3c\xbc\xb8\x71\x1e\x60\x78\xe3\xdc\xcc\x6e\xd6\x0e\x02\xd8\xe8\xc1\x9b\x5b\x18\xce\x5e\xbe\xbb\xbb\x7f\x80\x33\xaf\x71\x03\x6f\x9e\xc3\x60\x46\xca\xcd\x6e\xd6\xe0\xdc\x7b\x0b\x67\x9f\xb7\x5e\x4e\x1d\xef\xdd\xf4\xe6\xf6\x66\x76\x33\x79\x3e\x9b\xbc\x80\x33\xef\xed\x61\x38\x31\xfa\xfe\x73\x78\x73\xeb\xc0\x77\x77\x70\xfb\x20\x98\x3d\x83\x33\xa7\x68\x0c\xda\xbb\xad\xce\x87\x0f\x03\x77\x77\xed\x73\xa7\xd2\xe9\xbe\xaa\x98\xc3\xc1\xc6\x46\xef\xd5\xfa\xf9\x7d\xef\x74\xf6\x0c\x0e\x6f\x0f\xfa\x60\xf6\xdc\xb8\x1d\x6d\x3c\x54\x5e\xf6\x67\xbd\x6e\xf8\xf6\xdd\xd1\x6c\xef\x45\x31\x2c\xbe\xec\x3d\x1c\x3c\xbc\xba\x3e\x6e\x3e\x77\xbb\x1b\x37\x95\x9e\x7d\x73\x03\xbb\xb3\x9b\x9b\xe2\xec\xbe\xe7\xdc\x6e\xc3\xe3\xb0\x71\xd6\xe9\xbc\xfa\xd0\xed\xb8\x6b\x0f\x83\xc1\x79\x6b\x30\x5b\x7b\x00\xc7\xe7\xaf\xc0\x91\x7f\x03\x6f\x66\x0e\x7c\x77\x8b\x70\xf9\xfc\xb6\x3f\x9f\xbc\xec\xcf\x1e\xea\xfd\x0f\x83\xa0\xf2\xd9\xbd\xfd\xe0\xf5\x0e\xc2\xc6\x9a\xf9\xf9\xfe\x7d\x7f\xff\xa1\x72\xdb\x9b\x7b\x6f\x5f\x1c\xcf\xde\x57\x06\xf6\xf1\xed\x76\xdd\x7b\xfb\xf9\x0e\xcd\xe7\x1d\x3c\x9f\x77\x5e\x4e\xeb\x7e\x7b\x07\xd6\xfd\xfa\x7a\xfd\xa4\xbe\xd7\x04\xfd\xb3\xb3\x79\xfd\x66\xde\xde\x32\x76\x76\xdf\xdd\x34\x0f\x5a\x67\x87\x27\x17\xd7\x7d\x63\xe3\x60\xde\xba\x3f\x3b\xdb\x99\xde\x34\xbb\xa7\x67\x07\xc1\xc5\xa8\xd3\xdc\xd8\xbf\xdf\xbf\x3f\xdd\x19\x4f\xfd\x83\xee\x69\xfb\x6c\x04\xae\xa7\x9d\xad\x03\xfb\xf9\xde\x99\xe9\xee\xc3\xc0\xee\x9d\x5d\xcc\x8c\xd1\x74\xab\x7b\x60\xb7\x2b\x67\x86\x3b\xbd\xb9\xe9\xf7\xce\xce\xfd\xbb\xd6\xc5\xbc\x7e\xbf\xf1\xbc\x35\x7e\x18\x8f\xf7\xa7\xbd\x93\xf3\xf6\x64\x1c\xa2\x36\x36\x9e\x37\xc6\xdb\xe3\xfd\x83\xa9\x7d\x72\xd6\x36\xfc\xb0\x13\xcc\xf7\xef\xed\xc6\x67\x63\xbc\xdb\xbc\xb1\x4f\xda\x67\xc6\x64\x1a\xe2\x36\xce\xc7\xbb\xe3\xf0\xe0\xb0\x77\x71\x76\x5e\x59\x9f\x9b\xd7\x73\xd4\xc6\x78\xc7\x0d\xf7\x0f\xfa\x17\x67\x67\x15\x23\x9c\x4f\xfd\xcf\x73\x67\x6b\xfc\x30\xf6\xf6\xbd\xfd\xc3\x36\x6a\xc3\x3d\xda\xb7\x37\xba\xce\x19\x6a\x63\x72\x71\xdc\x6e\x8f\x6f\x42\xb7\xbb\xdf\x7e\xd8\xbf\x3f\xc5\x6d\x5c\x1c\x1f\xb7\xc7\xe3\x69\x38\xdd\x3f\x38\x3d\xd8\x3b\x33\xc7\xd3\x83\xe0\xa2\xd3\x3e\x9f\xdc\xcd\xcd\xe9\xbc\xdd\xdb\x3e\x47\xfd\xd8\x3f\xe8\xdb\xed\xf6\xe4\x2e\x9c\xbb\xd3\xde\xe9\xbb\x8e\xb9\xb3\xeb\xbf\x23\xfd\x98\x84\x61\xa7\x0b\xed\x9b\xb5\xbd\xb3\x9d\x29\xdc\xb7\xcf\x2e\xda\xc6\xcd\x3c\x6c\x75\x61\xef\xf3\xdb\xc9\xde\x78\x3a\x85\xf6\x49\xfb\xdc\x98\x4c\xe7\xad\x6e\xef\xb3\xb3\xb6\x37\x71\x8f\xe0\x91\xdd\x3b\xb7\x27\xeb\xf3\x8d\xeb\x69\xaf\x77\xba\x76\x3e\xf1\x8e\x0e\xe0\xa0\x77\x76\xe6\xa3\x7e\x4c\x3f\xf7\x7a\x6b\x9d\x89\x77\x7b\xdb\x3c\x20\xb4\x72\x8f\xf6\x1d\xdb\x59\xdb\x33\x27\x07\xa1\xdf\x3d\x3d\x6f\x3b\x37\x73\xb7\xbb\x6f\xf7\xb6\xdf\x4e\x2a\xee\xcd\xe1\x71\xf7\xb4\x7d\x31\x9e\x4c\xe7\xdd\xfd\xf6\xe7\x06\x6a\x23\x0c\x66\xb6\x7d\x6e\x4f\xee\xe6\x1b\xd3\x69\xdb\x79\xf1\x61\x52\xf1\x8e\x82\xa3\x61\xef\xec\xfc\xe6\x0e\xb5\x71\xda\x7e\xf1\xe1\xfc\xdc\x3b\x7e\x3f\x1b\x76\xce\xeb\xf5\xed\xfa\xa8\x7e\x58\x3f\x69\xd6\xf7\xbb\xf6\xf6\xc9\x78\xff\xac\x8e\xf7\xbc\x9d\xbd\xe6\x59\xb0\xb1\x6f\xb7\xb6\xee\x1f\xb6\xc7\x37\x8d\xb3\x77\x87\xc7\x6d\x30\xed\x8f\xe7\x8d\x83\xb6\xdb\x79\xd8\xd9\x69\xee\xf7\x3e\x20\x22\x4e\xe7\x83\x8b\x8d\x46\xe3\xdc\xdd\x1d\x07\x37\xef\xfa\x9d\x73\xfb\x7e\x3c\x45\x74\x78\x77\x52\xaf\xfb\x74\xcf\xdb\x1a\x57\xf6\xe7\x27\x3b\x07\xdb\x9d\xf1\x7e\x7d\xe7\x04\x3d\xdb\x6b\xa2\x09\x57\xbf\xe8\x4e\x5b\xce\xb6\xb1\xe5\x8c\x77\xf7\x0e\x4f\x9a\x37\x67\x17\x68\x7e\x4c\x5b\xad\xcf\x68\x3c\xf7\xde\x1e\x1e\x9f\x38\x7e\xf7\xe2\xe5\xc6\xd6\x41\x63\xb2\x73\xb6\xe3\xdf\x1c\x5c\x9c\x9d\xb4\xc7\x63\x77\x7a\x82\x18\x04\xbf\x8f\x0e\xd9\xde\x51\xe3\xec\xff\x63\xef\x4d\x9b\x1c\x45\x96\x45\xc1\xef\xef\x57\x64\xeb\x99\xb5\x65\x5e\xb2\x13\x04\x68\xab\xba\x79\xcf\x04\x9b\x58\x84\x10\xab\x04\x7d\xdb\x8e\x21\x40\x80\x58\xc5\x22\x10\x7d\x6a\x7e\xfb\x18\x92\x72\xcf\xea\xae\x3e\xef\x9c\x37\x6f\xcc\xe6\x43\x95\x20\xc2\xc3\xdd\xc3\xc3\xc3\xc3\x3d\x82\x0c\x5f\x13\x27\x1f\xe1\x81\x01\x74\xa0\xf7\x71\x5a\x4f\x41\x34\x4d\xdf\x65\xe4\x93\x10\xcc\x69\x8d\xce\xd2\x83\x49\xcb\x6b\xbf\xae\x5c\xd7\x52\xed\xf1\x86\xe9\x98\xfc\x50\x6c\x35\x53\x06\x61\x15\xb8\xe6\x49\x3d\x6d\xe6\x43\x26\x4f\x0a\x47\x35\xd7\x61\x09\x80\xd4\x01\x20\x53\x65\x43\x73\xd9\x72\x2e\xc7\x80\x07\x2c\xa0\x81\x99\xb5\xca\xbe\xdb\xc7\x29\x3d\x5f\x88\x92\xe7\x3b\x4b\xe0\xb7\xa3\xe0\x44\x53\x61\x31\x4f\x39\x51\x92\x7d\xdf\xe8\x79\x26\xc9\x39\xdd\x51\x51\xef\xeb\xc8\x72\x6d\x3a\x41\x1f\x3f\x09\x73\x8a\xa6\x39\x2e\xb7\x34\x55\x96\xfd\x20\x60\x78\x61\xac\x92\x34\x4d\x73\x79\xbe\x91\x65\xd9\x0f\x83\x98\xe1\xfa\x25\xe3\x70\xee\xdc\x82\x50\x2c\x56\x22\x23\x9b\xe8\xd7\x3b\x12\xb0\xd1\x79\xbd\x53\xf7\x11\x9b\x59\xca\x5c\x70\x4c\x3f\xe6\x79\xb5\xe7\x89\xa6\x73\xfe\xb0\xe1\x44\x39\x8c\xf2\xd6\x30\x47\xc4\x78\xae\xc7\x4c\x51\x72\xbc\xd6\xeb\xf6\xd0\x0d\x08\xc1\x56\xb1\xf9\x3a\x5a\x0a\x85\x63\x98\xf6\x18\x0f\x72\xd7\x0a\x0b\x6a\xb3\x19\x32\x07\xb1\xf2\x6c\xdb\x46\xb2\x5e\xdf\x8b\x6e\x1b\x01\xb0\x6c\x18\xa2\x21\x1b\xd0\x56\xcc\x32\x74\x4c\x52\xcd\x10\x8b\xd4\x41\x04\x1c\xe0\x93\x64\xc4\xcc\xa5\x5e\xc6\xba\x99\x65\xed\x68\xd4\x52\x24\x99\x32\x09\xbb\x92\x04\xdb\x34\x2f\x7e\x74\xef\xdb\xf5\x3e\xb8\x24\x8a\x57\xdf\xba\xcd\x83\xb3\x5f\xce\x3e\xf9\xdb\xf8\x5b\x5f\xfd\xad\x0f\x1e\x01\x40\xe6\x4d\xbf\x7c\x96\x0c\x13\x39\xb8\xa0\x64\x74\xef\x47\x72\xe0\xd0\xfb\xae\x04\xb3\x36\xb3\x3e\xd6\xf6\xb7\xe4\x35\xd6\x16\x75\x53\xbd\x94\x05\xfb\xed\x53\x99\x63\x9b\x4f\x65\xfb\xe7\x32\xf3\x43\x9c\xfe\x43\x65\x4c\x55\x14\xdb\xcd\x7a\x9d\xd4\x55\xef\x77\xdb\x63\x74\x38\x8c\xf3\xa2\x90\x09\x70\x6c\x32\x16\xac\xa6\xec\x7c\x78\x19\x31\xf2\xd4\x9c\xe5\x45\x03\x1c\x00\x62\x4f\x25\xac\x24\x49\xb2\xe9\x06\x9c\x99\x8f\x05\x95\xee\x55\x23\xd3\x97\x82\xa4\xfa\x71\xc0\x10\x82\xa0\xc6\x9d\x16\xe5\x42\x6e\xab\xfa\x3a\x3a\x58\xce\x90\x57\x85\x70\x1d\xc7\x71\x6f\xa3\x35\x7d\x1d\x65\x67\x9a\xc4\x69\x1d\x0f\x63\xfe\xd0\xf3\x21\xf9\x61\x5c\x2d\x95\x33\x1f\x28\xcd\x70\x82\xbd\x59\xaf\xb3\xb2\x6a\x63\x42\x50\x0f\xe8\x10\x9d\x0b\xe2\xd2\xb4\x54\x3d\x39\x54\xad\x1b\x84\x05\x35\x8f\x90\x98\x2f\x17\x7d\xbf\xc6\xa7\x20\x5e\x5a\xb6\xdd\xf5\x7d\x2d\x2b\x61\xbb\x59\x9b\xd9\x69\xd8\x8f\xbf\x6a\x27\xc3\x61\x22\x2c\x96\xae\x65\x93\x0d\xe5\x6f\x53\x00\x7c\x3a\x6c\x1c\xd3\x36\xf2\xc5\x8a\x44\xbc\xab\x3e\x92\x34\x01\x80\x42\x5e\xc6\x59\x94\x65\xdf\x0f\xf4\x5e\x1f\xc6\xe4\x59\xcf\x39\x5d\x11\x44\xcf\x74\xdc\xcb\xde\x01\xbd\xa7\xd8\x34\xe3\x2e\x70\x01\x0f\xda\x51\xd0\x22\xf4\x25\x1e\x90\xa5\xda\x79\x9a\x23\xb4\x1e\x15\x29\xcb\xca\x67\xb8\x98\x21\xc8\xeb\x1c\xe1\x32\x53\x51\xd5\x30\x72\x7b\x38\xe1\x0c\x97\xe5\x7c\x3f\xbf\xfc\x24\x8e\x19\x5e\x10\xec\xf5\x15\x4e\x56\xd5\x30\x89\xe3\x33\xbe\x6b\x6c\x64\xc9\xea\x05\xdf\x19\x4e\xd7\x7b\xf9\x5b\x8a\x7c\x86\x63\x78\xa1\xe7\xef\x02\xa7\xa8\xaa\x1f\x05\xe7\x31\xb1\x2f\x6d\xb9\x27\x7c\xe7\xb6\x7a\x3f\x07\x29\xa2\x21\x01\x20\x57\x19\x2f\xac\x04\x2e\x69\x10\xdc\xe1\x28\x7d\xbe\xe7\x54\x9f\x04\x14\x00\xc0\x71\x83\xc3\xf8\x94\xae\x4f\x24\xc5\xa4\x9c\xba\x56\x71\x55\x76\x02\x22\x5c\x04\x8c\x1a\xee\x63\xb6\x5c\x1b\xdc\xdc\xd1\xcd\xa1\x25\xb7\xb9\xa2\x68\x7a\x72\xcc\xd2\xb9\x20\xea\x3a\xe4\x9a\x48\xd6\x36\xe3\x93\x6e\x44\x59\x16\x99\x0b\xd5\x39\x9c\x86\x6e\xd9\x10\xbd\x73\x4f\x02\xd0\xd0\x24\xdd\xf9\x3a\x20\x18\x62\xcf\xf5\xbc\x04\x40\xce\x81\x40\x36\xcd\x12\xb4\x1b\x20\xd3\x23\x82\x3b\x91\x7e\x23\xb4\xb8\xd2\x21\x49\x44\x01\x82\xa4\x4f\xe0\xa4\x84\x8c\x2f\xd2\x81\x74\xf0\x6d\x3e\x94\x7c\xc2\xdc\xcc\x29\x8e\xc0\x81\xb8\x37\x51\x24\x6c\x8e\x99\x58\x02\x66\xe3\xb6\x43\x8e\x93\x7d\x82\x9c\x73\xad\x4c\xeb\x11\x47\x52\x34\x3a\xc2\x71\x7f\xb8\xaa\x45\x9a\x97\xa2\x75\x4c\xf9\x97\x00\x0d\x07\x00\xb0\x3e\x00\x91\x8f\xf8\x5c\x28\xd8\x92\x89\x4b\xfb\x06\x92\x69\x9e\x56\xa2\x40\xd0\xe8\xd1\x75\x5f\x65\x01\x08\x1f\x4c\x81\x4f\xca\x4c\xc8\x85\x9c\x95\x8d\xf7\x0d\x24\x52\xcf\x60\x40\x8e\x5f\xef\xf9\x91\xe0\x4a\x00\x5c\x62\x29\x12\x04\x2b\x0b\x75\x35\x00\x64\x53\x6a\xae\x35\xd2\x3c\xdf\x46\xd9\x39\x7c\x49\x9c\x09\x4e\x29\xfe\x69\xb9\x17\xc7\x33\x0d\x74\x92\x16\x4d\x70\x37\x5d\xd4\x5b\xaf\x29\xb7\xb6\x9f\x58\xe1\x32\xc7\x5d\x44\xd8\x96\x74\xab\x9a\x30\x87\x6d\x74\xad\xe1\xfd\xc8\xb3\xdc\x74\xc8\x9a\x78\x97\xed\x31\x0c\x3e\xcc\x28\xa6\x3a\x62\x7a\x38\x84\xf7\x49\x3b\x89\x49\xbd\x5a\x55\xc3\x29\x5c\x9a\xbb\x99\x18\xf9\xa0\x04\x73\x85\x70\x31\x5f\x9c\xaf\xf0\x52\x87\x0e\xe4\xca\x24\x4e\x33\xa3\x00\x98\x79\xe0\xb3\x72\x8d\xad\x51\xd8\xdb\x0d\x43\x09\xae\x31\xc7\x9f\x5a\x73\x78\x34\xd9\xeb\x50\xbe\x4a\xb6\x73\x9a\xd7\xfd\x68\x97\xda\x1c\x36\xa3\xb6\xab\x43\xeb\xba\x56\x1e\x6c\x45\x25\x21\x9d\x51\x21\xc4\x91\x2e\x46\xa7\x76\x1a\x72\x59\xed\x8f\x5c\xfe\x38\x94\x4c\x76\x66\x8f\x66\x0e\x84\xcd\xbd\xe3\xc1\x99\x58\xe8\x86\x71\xa9\xfd\x02\x3e\xb0\x5d\xa5\xec\xf6\x6b\x7a\xdd\xf2\xb0\x1d\xce\xbd\x6e\x9f\x05\xf5\x8c\x2d\x49\xcb\x95\x09\x61\x1b\xb2\x88\x51\xe9\x30\x96\x4c\x47\x31\x35\x47\x35\x18\x6a\x23\xcb\x31\xd3\x0d\x44\x43\xf6\xa1\x3b\xc2\xad\xe6\x4b\x99\xc6\xcc\xa1\x76\xa2\x2e\x0f\x32\xbe\x84\x32\x00\x08\xb5\xad\x8d\x4d\x33\x99\xf0\xee\x68\x9b\x24\x5a\x52\xf3\x76\xb4\x99\x8c\x90\x19\xcb\x22\xd1\xdc\x14\x8e\x40\x59\xe5\xcd\x4e\x52\xc1\xea\xa4\xae\x80\x83\xd2\x51\xea\x51\x0d\x81\xb2\x0d\x00\x7c\x2c\x53\xa6\x30\x1a\x4d\xc7\xcb\xc9\x6c\xce\x93\xfb\x16\x87\xf2\xb1\x4d\xe9\x2e\x3a\xd9\xa8\x47\xe5\xb4\x59\xf0\x11\x47\x8e\x4c\x6b\xb8\x5f\x1c\x47\x71\x2e\x05\x96\xd6\x21\x25\x44\x25\x29\x33\x74\xc3\xbc\x2a\x52\x71\xac\x53\x3e\xb7\x1e\x0e\x37\xc1\xd4\x61\x35\x17\x81\xd5\x64\xeb\x4b\xc0\x6d\x9d\xd3\xba\x11\xfb\x58\xac\xb0\xb0\xdd\x52\xdd\x59\xdb\x4e\x08\xcd\x42\xc0\xa1\x6a\x75\xa8\x52\xd1\x58\x48\xde\x5a\x9a\xa3\x91\x71\xd4\x4d\x28\x47\x57\x3c\x1c\x44\x64\x3c\xb2\x19\x45\xc2\xb5\xc5\xdc\x5c\x59\x0e\xa7\x63\x47\x53\x1c\x06\x59\xa0\xe2\x7b\x96\x89\xd3\xd3\x1a\x46\xb5\x11\x3f\x89\xe6\xa5\x1a\x6c\xd6\xda\x74\x89\x8c\x0c\x08\x23\xe1\xf9\xea\xc0\x0f\x65\x77\x1d\x96\xf3\x55\x4b\x77\xec\x61\xc3\xa9\xc4\x8a\x0b\xd3\x35\xa5\x57\x13\xce\xe3\x8f\xf0\x6e\x24\x55\x1d\xd1\xe6\x5a\x67\x59\x32\x44\x9a\x74\xc0\x6e\x76\x87\x39\x6e\x03\x42\x8e\xc3\x09\x3a\xe7\x83\x25\x9e\xf1\x47\x28\xd8\x38\x20\x07\x7c\xef\x7d\xaf\xa7\x73\xb4\xb0\xc1\x06\x5f\xea\x0e\x20\x52\xa3\x9a\x4c\xc8\xce\x02\x04\xb4\x28\x59\xc7\xf0\x20\x19\x0f\x20\x99\x18\x36\x01\x6c\x15\xbc\xb6\x6a\x55\xc2\xe5\xa6\x89\xaf\x79\xc0\xd5\x4a\x59\xca\x18\x9d\x4e\xfd\x19\xc1\x3a\xc6\x2a\x68\x55\x45\x31\x23\x61\x6d\xf1\x1b\x89\x31\x57\x63\x03\x07\x74\x11\xe6\x7c\x46\xef\x37\x3e\x40\x1b\x5e\xb1\x58\x95\x6e\x13\x9e\x4a\xa6\x0c\x02\xc6\x3e\xbd\x29\xfd\x91\x8d\x5b\x25\x58\x70\x55\x21\x12\x13\x68\x17\x4c\x74\x61\x71\x34\xd7\xaa\x5b\x95\x54\xc3\xec\x86\x49\x67\x76\xea\x90\x99\xa2\xcb\x61\x80\x4a\xa7\x0a\xf5\x26\x63\x62\x28\xbb\x2a\xa2\x82\x52\x0e\xfd\xc5\x4a\x94\x7c\x5e\x9d\xf1\x0a\x39\x09\x98\x0d\x18\x47\x7a\xb9\x60\x96\x02\x35\x72\xc0\xc8\xd1\x94\xa3\xaf\x1e\x56\x0e\xc6\xc4\xb3\x59\xbb\xc6\x64\x2d\x84\x45\x56\x99\x52\x74\x32\x5e\xa7\x47\xdb\x90\x81\xd6\x28\x07\x45\xd8\x9f\x1a\x79\x46\x14\x45\x50\xfb\x0a\x0a\x04\xad\x5c\xc9\x9e\xec\x44\x05\x90\x7c\x4a\x0a\xb6\x1a\xad\x9e\x8a\x8d\x3c\x42\xc8\x68\x99\x6f\xdc\x6a\xbd\x5f\x4f\xd6\x28\x8c\xe9\x7b\x6f\x83\xe9\xb3\x91\xcf\xb9\x76\xbc\x53\x40\x06\x92\x83\x4e\x87\x4d\x3e\xc2\x02\xd2\x75\xc8\x26\xf6\xf1\xc9\xce\xd9\xee\xba\x38\x91\x45\xe0\xdb\x44\x14\x4c\x1c\x68\xe7\x50\x3e\x03\x85\xbb\x86\xda\xec\x3a\xcf\x5f\xac\x9c\x85\xc9\x97\x00\xf0\x32\x28\xb4\xcd\x3e\x0d\xe0\x7a\x33\x3f\x61\xc7\x21\x1b\x61\xb9\x31\x86\xb1\x6a\x54\xd4\xeb\xe9\x70\x37\xce\x8b\xdd\x56\x44\x65\x6c\xbd\x34\x4e\xb3\x29\xd1\xe8\xd5\x96\x6c\x02\x26\x00\xeb\x7a\xe5\x1d\xc7\x92\x07\xe3\x96\xcd\xc8\xba\xe3\x0b\x85\x51\xe2\xae\xb7\xeb\x82\xa1\x06\x28\x30\xa4\xe8\x60\xb4\xc5\x8c\x98\xb2\x69\xb2\x19\x6d\xa1\xed\x6a\x17\x09\x59\x89\x55\x1c\xa8\x3d\xec\xc8\x5b\x52\x18\x60\xbe\x8d\xc5\x63\x09\x5b\xa9\x3b\x2e\x2a\x16\x47\x64\x05\xd4\xe9\x78\xb5\x72\x17\x13\x7f\x9a\x39\xa8\x50\x79\x4b\x46\x10\x3a\x41\xf1\x02\xe9\x88\xfa\x7c\xc6\x2c\x88\xd5\x26\xb1\x37\xc7\x15\x21\x73\x0b\x9f\xcf\x52\x64\xbb\x5d\x13\x65\x57\x98\x96\x69\x36\xf4\x64\x1f\xa3\x7b\xe8\xa8\xb9\xfa\xc4\xc8\x23\x74\xb8\x08\x75\x44\xb6\xf7\xab\xe8\xd4\x00\xc0\x1e\xb6\x3a\x89\xc0\x66\x69\x4a\xee\x16\xf7\xc6\x84\x94\x4f\x68\xc4\x21\x43\x04\x07\x19\xac\xf9\xd4\xd4\x32\x80\x18\xba\xe3\x00\x06\x53\xce\x23\x96\x51\x3e\x86\xdb\x12\x00\xd2\xa2\x17\xb4\xc9\x45\xd0\xe9\xc8\x8d\xe5\x6e\xb8\x5c\x8e\x63\x6e\x57\x11\xf0\x98\x13\xd7\xfb\x35\xbf\x94\x0e\x2b\x4d\xf4\x5c\x90\x9c\xec\xfd\x98\x2e\x11\x99\x88\x62\x3e\x0f\xd5\xf5\x9a\x4d\x65\x94\xcc\xcc\xed\x7c\x0d\x92\x0a\x42\xfc\x85\x4c\x30\x02\x49\xa4\x39\x2a\xeb\xba\x6c\xc1\xc3\x2a\xa8\x2c\x8a\xe0\xf5\x9c\x59\x9b\x53\xb4\xc3\xf0\xcc\xc9\x0a\x62\x8c\x66\x9b\xc9\x81\x18\x9d\x90\x6c\x05\x8e\xf0\x2e\x6b\x59\x74\xd4\x18\x89\xcf\xb1\x3b\xb4\x65\xa4\x62\x1a\x7b\x96\x43\x1c\x86\x42\x8b\x59\x47\xf2\x30\x23\x7c\x7b\x8c\xcd\x40\x5b\xb3\xf5\x6a\xb9\x80\x27\x43\x93\x64\x70\xfa\xd4\xf0\xf9\x81\x65\xc0\x66\xbc\x61\x90\x72\x6f\x6c\x6b\xb0\x4c\x8f\x47\x77\xe1\x14\xf5\xce\x6c\x24\x11\x0e\x29\x7b\x1c\x02\x7c\x3c\x05\x26\x00\xc4\x38\x59\x12\xe2\xc6\xf1\x35\x6a\xca\xaa\xca\x81\xc7\x8f\xcd\x94\xdc\x83\x98\xa4\x57\x80\x04\x6a\xbc\x81\xc1\xaa\x59\x49\xbc\x10\xcf\xda\x7e\x4d\x5b\x25\xa9\x77\x44\xbd\x75\x8e\x61\x1b\xff\xd4\x60\xd4\x71\xd7\x8d\x93\xd3\x3c\xc2\xb2\xd3\x6a\x6a\x6a\x42\x49\x4a\xc7\x0e\xf8\x60\x21\x87\x48\x36\x74\xc6\xcb\xae\x44\x25\x74\xe5\xa3\x01\x0e\x48\x8e\x07\x3e\x98\xaf\x10\x7b\x99\x8e\x5a\x84\xa0\x7c\x63\xc7\x4e\x6a\x54\xab\x4e\x3b\xca\x51\xb8\xda\x04\x27\x39\x20\x18\x38\x3e\xaa\x0a\xa8\x2a\x1f\x8c\xb5\xd5\x76\x6d\x81\x99\x6f\xeb\x85\xb5\x06\x3a\x0d\x00\x44\xb5\xf8\x44\xc6\xe0\x62\x3a\x61\x5b\x5d\x3f\x58\x09\x81\x10\x89\x5e\x8b\x71\xb6\x67\xf6\x6c\x35\xf4\xa9\x3a\x4d\x8f\xf5\x66\x2a\x72\x49\xb9\x57\x0f\xa3\x75\xd4\xa9\xdd\x5c\x1d\xa3\x12\xcd\xc5\x52\xbd\x5b\xaf\xbd\xae\x5d\xe7\xc7\x31\x43\xf8\x94\xcf\x1b\x71\xb5\xdb\x30\x66\xb5\x04\x20\x3d\xe8\x48\x2b\x67\x14\x62\x2e\xc2\x4d\x36\x72\x98\x91\x6c\xe0\x64\x6a\x0e\x2b\x62\x01\x22\x8b\x94\x00\x01\x82\x6d\x04\x03\x11\x82\x41\xa3\x92\xa4\x1b\xaf\x01\x00\xa2\xc3\xec\xd5\x49\xd6\x6c\xa7\x73\x83\xea\x8e\x1e\x15\x5a\xc7\x2e\xdd\x56\x68\xc5\xe0\xdb\xc5\x28\x73\x97\x43\x53\x88\xa7\x53\x0d\xd0\x80\x20\xad\x63\xbd\x3b\xcc\x4c\x52\x23\x2a\xb1\x31\x80\xac\xd3\xa0\x99\x57\xcb\xb8\xea\x54\x9b\x3d\x02\xca\x24\x31\xad\x5d\x18\xfb\x43\xa8\x00\x48\xb2\x80\x18\x74\xce\x81\xf6\x15\x07\x48\x4d\x46\xfa\x47\x57\x6b\x4b\x8d\x5d\xc8\x34\x33\x86\x32\x69\x8b\x42\x2b\xc0\x4d\x9d\x70\x25\x3b\x1b\x7f\x92\x4b\x26\xb4\xd8\xb7\xb2\x7a\x44\x77\xfb\x84\xa9\xf7\x18\xee\xcf\x9b\x0e\x1b\x22\xf0\x76\x2e\x8c\x3b\xac\xf5\xb5\xe9\x74\xe2\x65\xc9\x5a\x5f\xd0\x36\xe5\x22\x78\xc3\x7a\x95\xd9\xba\x7b\xc7\x37\x50\xb5\x3d\xaa\x4d\x8a\x18\x99\xb5\xe1\x95\x43\xa4\x90\x23\xa0\xca\x70\x52\x1b\x19\xd0\xcb\xcd\x04\xf8\x40\x16\x89\xa5\x6d\x34\x00\xc4\x80\x50\x5a\x0d\x1e\xae\x92\xdd\x61\x71\x50\x95\x25\xb5\x0d\x36\x5b\x64\xb2\xf5\x8a\x9c\xc0\xb6\x33\x7c\x9f\xd7\x6b\xda\xda\x13\x24\x85\x4a\x8e\xbb\x61\x72\x52\xa0\x7d\x92\xda\x39\xcc\x4a\x6c\xa6\x00\x00\x4a\x6f\x34\x3c\x4e\xf5\x64\x84\xc4\x49\x53\xe4\xa2\x18\xac\x64\x4e\xd8\x8f\x6b\x84\x9e\xee\x0a\xf4\x38\x27\x52\x5f\x5c\xba\x5c\x5c\x58\x65\xe8\xef\xed\x20\xde\xd7\xee\x18\x30\x86\x0f\x55\xdd\xa6\xd1\xd3\xcd\x02\xd3\xf8\x45\x6e\xef\xed\xb5\x00\x70\xe3\x7c\xf2\x1a\x32\xbb\x03\xef\x0b\xc0\x42\xa6\x9b\xa2\x52\x31\xb7\xad\xe4\xa5\xe9\xe4\xab\xa3\x49\xcf\xa7\x64\x7c\x2c\x64\x85\xf7\x09\x2f\x0f\x9a\x74\xb9\xe6\xf7\xd5\xfc\x90\xe4\x63\x83\x5e\xa9\x47\xc2\x9b\xd0\x44\xa8\x63\x07\x9f\xdf\xca\xa0\xa1\xf0\x85\x37\x5d\x00\x91\x12\x03\x76\xbb\x04\x00\xc4\xbe\x00\x55\x4c\x39\x92\x20\xf3\xc4\x3b\xb3\x13\x99\xf2\x36\x56\xb4\x8b\x55\x1d\xcf\xd3\xb6\x29\x37\xc6\x8c\x29\x23\x34\xc2\x57\x61\x49\x02\x96\x9c\x32\x51\xb3\x9d\xd3\x33\x9f\x3f\xef\x0b\xa4\xa7\xa8\xdc\x23\xa4\xcb\x88\xd6\x62\xe1\x67\xdd\x54\x84\x98\xb6\x0b\x1b\x93\xf0\xb9\x16\xea\xd8\x90\x24\x80\x00\x62\x42\x58\xe6\xcc\xb0\x94\x66\x7c\x6e\x38\x27\x3a\x9c\xd9\xc5\x70\x64\xc6\xac\x5f\xd4\xd5\x68\xb7\xe2\xd3\xc8\xe5\xc7\x47\xba\xb1\x56\x27\xc0\xca\x04\x47\x53\x7a\x11\x8b\x0e\x01\x80\x8b\x0a\x40\x45\xe4\x03\xc4\x37\x4a\x49\xe3\x80\xb7\x2a\x31\x05\xd4\x78\x9e\x4a\x66\x63\xc6\x12\x67\x1d\xab\x4e\x5f\xba\xfb\xc2\x23\x26\xbb\x50\x8c\xd6\x1c\x42\x26\x04\x31\x06\x1c\x10\x1c\x6c\x0a\x66\x59\x49\x33\xb1\xa6\xce\x69\x92\x80\x9c\xad\xa7\x50\x24\x62\x2b\xf9\x82\x3d\x2c\x57\x79\xec\x08\xf0\x64\xbc\x68\x53\xb4\xc8\x93\xc3\x69\x53\x9a\xfc\x5a\x09\x61\x46\x3e\x9f\x1f\xca\xd1\x4c\x24\x81\x14\x6e\x0b\x99\x90\x01\x45\x52\xe5\x21\xcf\xb2\x55\x5d\xb9\x10\x32\x22\xbd\x99\x3f\x0e\x69\x37\x34\x37\xbe\x91\xc8\x80\xc3\x21\xbc\x29\x23\x9a\xa0\x43\x22\xce\x96\xf2\x58\x08\x11\x58\xd0\x64\x44\xde\xaf\x77\xfb\xb6\x0b\x21\xe0\xd5\x1b\x21\x13\xf7\xb4\xb1\x93\x25\xab\x2b\x90\xd3\x0c\x1f\x1e\x16\xbe\x88\x02\xba\x3d\x6e\x2d\xe9\xe0\xb4\xd6\x98\x1f\x47\x45\x5c\xec\xf1\x13\xba\x9f\x01\xd7\x17\xa8\x76\x3c\x4f\xf9\xd2\x58\x04\x5b\x07\x47\xeb\xc3\x68\x8a\x43\x59\xad\xba\x4b\x22\xcf\xc8\x90\x34\xd8\xa2\x83\xd6\x9d\x0e\x60\x8a\xaa\xa8\x29\xd0\x7c\x80\x05\x48\x2c\x92\x00\x74\x0e\x73\x84\x54\x68\xa7\xaa\xcb\xc8\x33\xd7\xb1\x96\x6f\x31\x3c\xd9\xa1\xca\x2e\x39\x1c\x78\x4f\xf4\xa2\x38\x60\xc1\xae\x9e\x18\x19\xa0\x01\xe9\x03\x90\x0b\x4a\x54\x2d\x20\x21\x92\xa9\xb5\xd8\x98\xa4\x7e\x3e\xd3\x27\x85\x32\x9f\x22\x6d\x90\xcf\x86\xfa\xfe\x20\x13\x0d\xd6\xe2\x23\xc7\xab\x0e\xd1\x5e\xa6\x4f\x35\x36\x9f\x11\xe3\x25\xa4\x8c\x47\x88\x7e\x98\x4a\x46\xe8\x4f\x1a\x29\x19\xaf\xeb\x14\xf1\x6c\x3c\x16\xa8\x55\x66\x6f\xf9\x72\x6c\x2f\x0e\xfe\x36\x58\x75\xf9\x11\x17\x14\x3c\x94\xa8\x30\x6e\xa6\x53\x2b\x37\x27\x87\x21\x27\x89\xce\x16\xa8\x40\x02\x46\x95\x38\x64\x9a\x6d\x9d\x22\x9a\xe3\xc2\x5c\x9d\xc0\x56\x5a\x46\xc6\x5a\x59\x32\x33\x1e\x51\x74\x56\x90\x52\xe2\x74\x9a\xad\xc1\x94\x3a\x8e\x17\x7d\xd4\xa2\x88\xa4\xac\x03\x7c\x5e\x84\xd5\xce\x10\xd1\xd8\xb1\x76\x2c\x26\x63\x1a\x7c\xb4\xf0\x09\x8f\x9a\x6c\xe0\x24\x84\xdd\xed\x77\xee\xa9\x36\xd0\x91\xbf\x00\x5d\xe1\x20\x4e\x73\xfd\x7a\x21\x18\xaf\xdc\xfe\x79\x7e\x5a\xef\x99\x35\x7e\x52\x9d\xbd\xbd\xb6\xd1\x64\xee\x64\x3b\xb6\x5d\xb7\x5e\x23\x80\x85\x1f\xaf\x89\x7c\xa1\x1f\x9b\x26\x82\x74\x29\x18\x79\xcb\xf9\x49\x97\xca\x21\x4c\x33\x50\x6e\x15\x50\xed\x8e\xa4\x2e\x9b\x37\xa6\x0b\x00\xe1\xa3\xf9\x08\x5d\x84\xaa\x0f\x4c\xd8\x32\x62\x29\x09\x63\xda\x67\xd3\xf1\x1c\x93\x9c\xc6\xdc\x77\xdc\xe4\x28\xed\x87\xd5\xb8\x2d\x5b\x5c\xc5\x62\xc2\x9c\x8d\x69\x5d\x26\x98\x31\xe0\x08\x90\xac\x4c\x16\x5f\x65\x73\x93\xcc\x78\x00\xa8\xb5\x07\x49\x16\x6f\x85\x13\xb8\x9d\x8c\xe1\x13\x3b\x59\x74\xbb\x99\x38\xda\x74\x8a\x90\x32\xab\xe4\xe8\x89\x65\x18\xcb\x6c\x63\x5c\xcf\xbc\xb1\x85\x4c\x4d\x57\x64\x1f\x72\x51\xbe\x8d\xc8\xf5\x9e\x58\x9c\x9a\xce\xe3\x71\x7b\x6c\xc1\xb4\x62\x10\x40\x8f\x01\x4d\x1d\x8e\x99\x38\x21\x64\x02\xd4\xc0\xaf\x3b\xe6\xc0\x2d\xaa\x64\xcf\x62\x82\x8b\x37\x3b\x21\xdb\xa6\x52\x00\xb0\x6e\x3a\x3a\xac\x33\x65\x95\xcc\x82\x26\x93\xd8\x8c\x02\x20\x26\xb7\x0d\x05\xc0\x68\xcc\xb0\xa0\xde\xec\x62\x36\xc3\x76\x1e\x5a\x55\xf3\xd9\x46\xa7\x3c\x30\x33\x13\x93\x24\x64\x24\x5b\x15\xf0\x50\x26\xa7\xdc\xb1\x26\x7b\xd9\xe6\x5b\x1d\xc8\xa4\x80\xa2\x62\x42\x63\xd2\x64\x6a\x80\x2d\x2b\x6b\xb3\x15\xb7\x5a\x66\xda\xac\x5b\x3a\x58\x8c\x4a\xde\x44\x03\xc6\x02\x2c\x89\x7a\xa7\x4d\xc5\xf3\x31\xfe\xbc\xd3\xf0\x95\x3a\xed\x9f\x33\x7a\x31\x67\xb7\x68\x6d\x93\x4d\x43\x1f\x87\xf4\x3a\x60\x8a\x50\x8f\xb6\xc0\x06\x16\x3a\x81\x77\x86\x95\x6a\xd6\x66\xbb\xee\x30\xa2\x59\xe7\x7b\xdd\x16\x2d\x41\xd9\x4f\x5c\x0b\xe1\x61\xd8\xd7\x3d\xcd\xcd\x0d\xba\x01\xc0\x92\x98\x72\xd9\x0a\x60\x2f\xab\x3e\x80\x00\xb1\xca\xcc\x29\xbf\x1f\x9d\xd0\x66\xef\x4d\x87\xfb\x72\xe3\xc0\x43\x4d\x92\xd7\x1a\x65\x5a\x44\x02\xa2\x25\x15\x1e\x8c\xa6\x06\xe8\x92\x9f\xf5\x7c\xd0\x84\x00\xaa\x99\x51\x94\xbb\x12\x46\x97\xc3\x99\x28\xcd\x86\xea\xac\x70\xa7\x34\xab\x59\x6c\xda\x91\x23\xd1\x4c\x76\x32\x0d\xc8\x13\xcc\x10\x4e\x3f\x0e\x60\xe4\xe0\x7e\x88\x77\x53\x05\x2c\x4b\x38\x19\x33\xcb\x8d\x91\xcd\x28\x03\x1f\xf3\xf3\x21\x41\x50\x75\x74\x88\x1b\xd8\xb0\x47\xf3\x89\xbc\xad\xe7\x86\xca\x41\xa8\x6d\xd9\xd9\x62\xc3\x17\xae\xb1\x47\xbb\x98\x9c\x59\x23\x99\x06\x34\xd3\xc1\x23\xb9\xf3\x0d\xeb\xa2\xbc\x70\xb6\x71\xda\x13\x39\x5e\xef\xb4\x1a\x42\x66\x86\x07\x3b\x93\xf1\x98\xc7\x0d\x0d\xcc\x75\x26\x01\xa3\x21\x64\x80\xa5\x10\xc2\xf2\x2a\x5b\x35\xa6\x6f\x82\x08\x4c\x86\x23\x89\xc5\x55\xa4\x1c\x09\x14\x7b\xdc\xcf\x66\xa2\x78\x98\x6a\x2b\xc6\xc1\x8a\x4c\xb0\xd2\xb9\x94\x69\xc3\x6d\xc2\x05\x86\xef\x4c\x36\x40\xbc\x7c\xcf\x23\x82\xf5\xd0\xd8\xca\x0d\xe6\xdb\x79\x27\xe5\xbc\x0b\x09\x2e\xba\x73\xf0\x50\x95\xc6\xe8\x8e\x3f\xce\xa0\x24\x3b\xd6\xe1\xb0\xd1\x97\x2b\xb0\x47\x46\xb3\x25\x26\x19\x6d\x17\xe1\xbe\x31\xc1\x56\x09\x3d\x65\x38\x80\x32\xa3\x44\x39\x60\x13\xfa\xe8\x4c\xc6\xc7\xc5\x66\xc7\xe0\x05\x35\xd2\x79\x1e\x34\xf8\x38\x58\x8f\x17\x16\xb9\x1d\x95\xcb\x85\xdb\x42\x51\xd7\xdb\x2f\x02\x0a\x76\xa7\xd9\x08\x9a\x8d\x47\x16\xb9\x58\x4d\x08\x0c\x36\x62\x8d\x25\x8f\x14\x2d\x54\x72\xa0\x25\xb8\x10\x92\x3e\xa0\xc1\xb6\xd8\x6d\xd7\xda\xaa\x2c\x7b\x56\x37\xb9\xe7\x0d\x2b\xa3\xc8\x3a\xd3\x4c\xf1\x61\x43\x0d\x6d\xcf\xac\x22\x61\x57\x36\xcb\x11\xac\x6e\x56\x12\xc2\x53\x69\x20\xc1\x78\x6c\xeb\x59\x51\x1d\xe1\x12\x1f\xa2\xbb\xd3\xd6\x83\x53\x69\xe9\xa6\x4e\x46\xb2\x29\x61\xc4\x61\x8d\x90\xf2\x9c\x58\xc7\x2b\x13\x1e\x09\x4d\x96\xa0\x0b\x38\x2a\xea\x95\x38\x96\x27\x59\x87\x57\x47\x4a\x3e\x41\x5b\x0b\x63\x3b\x29\x84\xfc\x25\x0b\x70\xca\xa2\x7d\xf0\x38\xf8\xde\xc7\x57\x61\x62\xfb\x5e\x09\x87\x4e\x96\xfe\x32\x1b\x0f\xee\x07\xe7\x02\x38\x4f\x5f\x7d\x80\x15\x1a\x84\xa4\x34\x88\x30\xf7\xb3\xbe\x2f\x4b\x55\x0f\x68\xdd\xef\x27\xc2\xf9\x23\x11\x9f\xec\x1d\x5c\x40\x85\x09\xeb\xe0\xe7\x92\xb9\x4b\x68\xbd\x07\xb9\x98\xaf\x48\xb8\x0d\xce\x1f\x02\x00\xa6\xd3\x23\x97\x04\xc2\x44\x62\xa5\xa8\x2f\xf0\x4d\x24\x50\x35\x19\x00\x2f\x34\x01\xe0\x48\x1a\x00\x6a\x7c\xae\x90\x7c\x00\x58\xbd\x01\x80\x3a\xf4\x98\xa5\xdc\x07\x80\x70\x9b\x74\x91\x2b\xab\xf3\xc8\x5b\xa1\x8a\xb8\x34\x58\x4d\x01\xdc\x50\x70\xb6\x40\xd3\xe8\xac\x7b\x71\xa3\x32\x71\x07\x00\xa8\xb9\x06\x80\x45\x28\x12\x9e\xa0\xc3\xae\x0f\x00\x23\x04\xbc\x42\x33\xba\xb7\x2c\xaa\xcd\x26\x2e\x37\xa2\x3b\x82\x31\xa4\x9b\x8e\xf1\x59\x4d\x75\x74\xd2\x2a\x4c\xb8\xe5\x4a\x69\x63\x4d\x0d\x2e\xd5\x78\xc6\x54\xd7\x98\xed\x54\xf4\xd0\xa9\xd6\x91\x53\xd1\xcc\x98\x43\x0c\x85\xa1\xd7\x20\x0b\x03\x39\x03\x7b\x99\x49\x42\x22\xf3\xd7\x36\x47\x03\x8a\x21\x13\x79\x13\xc5\x55\x86\xe0\x9a\x84\xa4\xee\x9a\xc3\xb7\xad\x65\xc7\x6b\x96\x0f\x53\xcd\xac\x22\x85\x67\x22\xa7\xea\xe2\x59\xe7\xce\x26\x13\x68\xea\xe0\x33\x48\xdf\xd7\x61\xbe\x25\xa9\xe1\x09\x9a\x41\xb6\x37\x19\x1d\x8f\x09\x1f\x1f\x31\x5f\x42\x4d\xa5\x7e\xf9\xa7\xd7\xa0\x2a\x32\x62\x89\xa5\x3b\x4f\x28\x6d\x75\xb3\xae\x0b\xbb\x38\x2a\x47\xbd\xd0\xd2\xd8\x71\x0c\x78\x64\x63\x31\xa5\x78\x8a\xc0\xb8\x0e\x6e\xd9\xe3\xb4\x3b\xae\xd1\xed\x44\xe2\xf2\xc6\x0a\x26\x4b\x6c\x12\xb2\x66\xb8\xea\xaa\xd3\xf1\x84\x87\x07\x80\x20\x5a\xea\xc3\xeb\x0d\x3b\xdc\x61\x73\xb9\x64\xa2\x10\x91\xb7\x1d\xe4\x00\x63\x88\xee\x3d\x25\xd2\x9a\x46\x77\xd1\xd3\xae\x34\xb8\xe9\x4c\xda\x6f\x17\x45\x93\x66\x3c\xb7\x68\xa6\x74\x06\x24\x0e\x30\xfe\xa2\xa1\x34\xb2\x75\x00\x4f\xd0\x3c\x17\x72\xc0\xcf\x42\x8e\x04\x9c\xcf\xf9\x1c\xc1\xcf\x73\x77\xa5\x90\xca\x01\x2b\x57\x24\x01\x78\x10\x86\x53\xd9\x07\x11\xbc\xe2\x98\x48\x25\x08\xf9\x18\x60\xb2\x12\xc9\x9b\x8a\x26\x09\x21\x6f\xd9\xd9\xb6\x18\x05\x62\x18\x05\x8e\x8f\xcb\x06\xee\x9a\x91\x0f\x14\x86\x50\xa3\x24\xd6\x93\x34\x9f\x2c\x92\xc5\x66\x5a\xc4\xd3\xc3\x6c\x24\xad\x04\x1e\xa1\x64\x32\x5a\x79\x1a\xed\xc8\x05\xa0\x86\x93\x19\x34\x81\x26\x8b\x72\x85\x1d\x2b\xbe\x99\x81\xa1\x75\xdc\x36\xcc\x4e\x16\xe1\x62\x08\x83\x13\x35\xc6\x85\x05\x71\x1c\xf1\x2c\x67\x73\x0d\x97\x73\xa3\x39\xb7\xf5\x8e\xee\x14\x2d\x10\x0e\x93\xc4\xfd\x91\xdf\x49\xd9\x68\xb7\x23\x0f\xcd\x90\x0e\x38\x25\x96\xe5\x10\xb3\xb1\x49\x8e\xd8\xd5\x4e\x33\x08\x14\x5d\x05\x5c\xcd\x56\xb3\x51\x95\xa6\x44\x31\x19\x75\xec\x12\x06\x73\xa0\x66\xe6\xfe\xd4\x1a\x86\x46\x4a\xe4\x6a\x27\xad\x97\xb3\x72\xbe\xab\x3d\xc8\xdd\xc1\x0b\xbc\xc0\xba\xa9\xa8\xce\x75\xe9\x88\xd9\x6b\x93\xe2\x0e\x38\x46\xd0\x9b\x0d\x2d\x2b\x2b\x52\x16\x46\x07\x26\xf6\x18\xd1\x75\x6b\xa9\x11\x0d\x6c\x2d\xe8\xc4\x86\x31\x4e\xc6\x26\xa8\x12\x6c\x5f\xec\xab\x63\x33\xc4\x8e\xf5\x62\x58\xaf\x36\x73\x00\x74\x3f\x88\xe6\xf1\x62\xb5\xe1\x67\xd6\xd1\xea\x16\x13\x6c\x9a\x75\x53\xb6\x94\x02\x86\x41\x6b\xcc\x66\x11\x7a\xca\xd3\x47\xb0\x0e\x3c\x28\x45\x57\x2c\x35\x41\xac\x09\xdc\x26\x8e\xb3\x5b\x10\xaa\x30\x13\x87\xe9\x06\x01\x87\xd4\x64\x54\x21\x24\x26\x3b\x2e\x94\x3a\x1f\x8b\xd0\x21\xe1\x99\xec\x7a\xe8\x8b\x51\x31\x84\x29\x82\x80\xc6\x6c\x34\x5f\x68\x6d\xa2\xec\xb6\xed\x6e\x06\x1d\x1c\x78\xba\x2e\x3b\x71\x16\x77\xcc\x6c\x86\x8f\xa7\x55\xd3\x5a\x24\x38\x8c\x9a\xad\x1c\x8a\xa4\x42\xaf\x57\x44\x44\x6d\x5c\x0f\xf3\x38\x7c\x3a\x83\x02\x0f\x86\x86\x35\xec\x55\xb0\x83\x01\x01\x82\x6b\xb5\x3b\x2d\xb4\xa3\x2f\x4c\x8a\x04\xaa\x08\x1a\x27\x2d\x30\x64\x15\x9b\xd1\x26\xd9\x61\x29\x0b\x24\xe9\x96\x07\x22\x1f\x0f\xe7\xd4\xcc\x63\x09\x6a\x32\xd9\xd4\x29\x3f\x1c\x67\x30\x34\x3e\x40\xb0\xb3\xe0\xcd\xc5\x0a\xdd\x05\xdd\x6e\x3e\x8f\x14\x33\x6c\x08\x45\x40\x77\xe9\x02\xc6\x42\xa5\x9b\xc0\xb5\x06\x4f\xd3\x5d\x5d\x77\xa8\xd6\xc6\xf6\x14\x0a\x36\xca\x96\x1f\xcb\xba\x40\xd8\x8b\x9a\x4f\x7c\x63\xc1\x2b\x42\xad\x06\x31\x47\xe4\x76\x15\xd2\x0c\xc8\x01\xc9\x31\x2c\x0b\xc7\x00\x86\x97\xec\x1e\xc3\x0e\x1e\xe2\xad\x8e\x32\xbf\xa1\x6d\x98\x4f\x59\x9a\xcb\x00\x61\xba\x33\x74\x04\x77\xd2\x6a\x07\xf1\x7b\xa2\x15\x79\x12\x86\x4f\xed\x06\x9a\x9b\xb6\xe5\xcf\x81\x55\x7a\x08\x52\x7b\xc3\x9a\x38\x9d\xd6\xa2\x5c\xcc\xe9\xd8\x35\x0c\x81\x5c\x6f\x65\x1f\x80\xb1\x94\x7a\xbe\xbc\x9a\xcc\x66\x93\xee\x68\xaf\x58\xd4\x9f\x97\x5c\x2e\x87\xee\xba\xce\x94\x06\xc0\x19\x0a\x6f\xa9\x6e\x82\x64\xbb\x1d\x94\x32\x9c\x0d\xef\x9c\xae\x43\x57\x07\x34\xe8\xd4\xad\x12\x95\x0b\xb2\x2d\x97\x1a\x8e\x11\xdc\x64\x6f\x92\x6b\x38\x0c\x5c\xd8\x21\x84\xb5\xa5\x59\x81\xec\x30\xc6\xec\x20\xee\x65\xc4\x4f\xe8\x26\xc1\x83\xe8\x50\x4a\x06\xbd\xa7\x32\xff\x80\x4d\xb6\xd2\xfe\x68\xd3\x31\x21\x2c\xc2\x2e\x31\x0d\x5f\x58\x5b\x6b\x64\xc8\xee\x3d\x69\x31\xb7\xc1\x56\x0f\xf3\x8c\xd7\xd6\x2c\x10\x1a\x1b\x17\xcc\x3c\x61\x49\x5e\x27\x90\x58\x26\x33\x1d\x29\x1d\x01\xf1\x49\x91\x57\xd4\xc3\x41\xda\xb3\x5e\x8c\xd0\x07\x2b\xe7\x72\x86\xdb\x52\xba\xb7\x6c\x1a\x49\x44\x4f\x13\x5f\xc2\xdd\x74\x1d\x14\x6a\x67\x30\x04\x45\x77\x62\x1e\xe9\x8b\xa5\x88\xe0\x04\xe7\x33\xa5\x3a\xf4\xfd\x76\xa9\x77\x82\xa1\x86\xa4\x52\xd2\x04\xad\xd3\x19\x13\x2a\x07\xf4\x38\x62\x97\x9b\xbd\xe8\x0e\xa7\xb9\xca\x1a\x9e\x95\xd6\x75\x1a\x5a\x76\x96\x73\x9c\x4c\x00\x2e\x48\xf5\x83\x7f\xdc\x0e\x2b\x1d\x93\x08\x81\x09\xd7\xa4\x2b\x9e\x5c\x40\xac\x09\x16\xda\x72\x19\x79\x04\x98\xb2\xd4\x67\xc2\x89\x92\x42\x3b\x98\xa3\x1b\x00\x40\x57\x76\x12\xbe\x64\x23\x8b\x5b\x3a\x02\x58\xd4\xae\xab\xb0\x21\x66\xac\x19\xc5\x5b\x38\xeb\xd3\xd4\x0d\x5a\x69\x64\x33\xf9\x31\x0a\xec\x84\x1a\xb1\x4c\x23\xcb\xb5\x5a\xf9\xcd\x62\x95\x97\x52\x67\xe3\xa3\x39\x05\x9f\x28\x5c\xa4\x1a\x74\x6f\x90\x05\x29\xb2\x6a\xa4\x37\x49\x53\x62\x11\x29\x02\x8a\x42\xe6\xa4\x95\x87\x76\x2c\xce\xb1\x6d\x68\xe3\x55\x61\x94\x3c\xd4\x46\x3c\x10\x54\x5d\xad\x44\x24\x5b\x97\xaa\x5c\xf8\xda\xdc\xad\x51\x71\x13\xc7\x74\xe2\x75\x0c\xcc\x2a\x41\x07\x91\xf8\x76\x1c\x9c\x68\xbf\x48\x4f\x7b\x63\xb1\xe8\x02\x27\xc8\x86\x21\x53\x52\xe1\x3c\x4b\xa4\xae\x82\xa8\x12\x9e\x76\x93\x15\xd7\x25\x3b\x05\x9b\x79\xab\xa1\x6b\x18\xaa\x44\x87\x7b\x05\x49\x95\x92\x29\xfc\x21\xa7\xe6\x49\x94\xc9\x33\x47\xab\x77\xad\x50\x10\x5b\x36\xc9\xf4\x8c\xb7\xd6\x49\xbc\xa2\x36\x8a\xe5\xbb\x22\xb5\x2c\xdb\x29\x5b\x6f\xb6\x55\x8b\x75\xc7\x63\xa0\xc8\x82\xe6\x32\xc9\x42\x06\x64\xa6\xa1\x6e\x63\xce\xbc\x9d\xb2\x8e\x8f\x60\x98\x0c\x5b\xfe\x84\x72\xb4\xef\x47\xab\x22\xd5\x8f\x1b\x62\x26\x22\xf1\x3c\xb2\x43\xa3\x85\x5a\x05\x06\x94\x5c\xaf\x14\x19\xe4\xb9\x6d\x22\xfc\xae\x93\x08\x02\xd9\x67\x0c\x28\x71\xe9\xb4\x1d\xcd\x68\xc4\x9c\xe4\x0c\x4e\x51\x94\x9b\x34\xf8\x64\xe1\x9f\x7c\x99\xdd\x6e\xcb\x09\xb7\xc7\xf9\x7c\x2e\x72\xcd\x7e\xae\x30\x0e\x83\xb4\x0c\xef\x50\x2e\x8d\xe4\xfa\x16\x33\xe5\x61\x60\xae\x4b\x8a\x51\xdb\xdd\x6e\x72\xf4\x59\xf1\x24\x61\x51\x24\xce\x43\x1b\xac\x3a\xd5\x01\x4d\x47\x20\xa6\x11\x27\xa0\x66\x33\xac\x93\xd9\x48\xb0\xf5\x3c\xd7\x58\xa0\xcb\xc4\x42\x4e\x81\x99\xe0\x3c\x3e\xdc\x79\x64\xec\x82\xb9\xc7\x7a\x28\x63\x93\x87\xd9\xce\xdd\xc8\xe2\x6a\x7a\xa8\x46\x25\x31\x96\xe2\xf9\x76\x85\xe7\x11\xd1\x74\x84\x3f\x67\x33\x41\x74\x1d\x6e\x3e\x45\xe9\x06\x51\x84\xb1\x7e\xd0\x5a\x16\xf0\x34\xab\x12\xe4\x22\x31\x58\xd2\x3e\x6e\x1a\xdd\x69\xe6\xf9\x46\xe4\x39\x15\x35\x53\x23\x28\x0e\xc8\xd0\x01\x92\xdc\x46\xe4\xc4\x14\xe7\xa3\x70\x7c\x6c\xc2\xf1\x68\x61\xe0\x55\xc1\x09\x43\x64\xce\x9f\xd8\xc5\x31\xd7\x34\x05\xa1\x2c\x2b\xe6\x2b\x9a\x16\x5b\x05\xe2\x0c\x9e\xd7\xd4\x98\x01\x8c\x6b\x2d\xf0\xc9\x3e\x63\xfc\xb2\x29\x68\x0b\xdb\x20\x63\xea\x88\x79\x80\x9d\x4c\x27\x46\x32\x85\x2b\xa4\x9c\xa6\x62\xec\xce\x56\x7b\x22\x60\xc9\xe5\x70\x3e\x71\xe3\x04\x9f\x21\x3e\x56\x70\x1d\x59\xc1\xa3\x13\xcb\xad\x43\x30\x72\xdb\xb9\x3c\x62\x25\xa7\xb7\x53\xb5\x39\xb7\x0e\x75\xa3\xa9\x4b\x6d\x23\x82\xcc\x37\x32\xb5\x8e\x6a\xb0\x69\xe2\x8e\xd1\x73\x55\x21\x4f\xf1\xd0\x69\x21\x23\x93\x88\x0e\xb6\xc2\x19\x76\x3c\x79\x14\x3d\x1c\x6f\xdb\x61\x58\x2f\x4a\xae\x94\xd4\x85\xba\x26\xeb\xa6\xa1\x03\xc4\x9e\x05\x70\xdd\x52\x25\x84\xfa\xeb\xb4\xa5\xf6\xd0\x64\xe6\xca\xc2\x3e\x88\x7d\x7c\x6b\xc5\xf0\x31\x0a\x6d\x2a\xa9\xa2\xe3\x66\xc9\x84\x49\xa2\x2b\x22\x8f\x1b\xa6\x14\x11\xb9\x1a\xbb\x6a\xed\xcf\x86\x1a\x65\x86\x1c\xe5\x6e\x9a\x8a\x3e\x6a\x1e\xb5\x8c\x5b\xab\xc1\x4e\x30\x86\xaf\xa8\xd4\xad\x17\x64\x08\x8b\x38\xe4\xc9\x88\x55\x8d\x1c\xd2\xe5\x86\x73\x98\x11\x98\xd6\x1f\x25\x22\x3d\x53\x26\x85\x22\xae\xb5\x10\x06\x55\x27\xad\x52\x7a\xb9\x10\x36\x06\x5a\x9d\x0a\x00\xc5\xcc\xa1\x8b\x84\x08\x23\x96\x1c\x12\x61\xc4\x9a\x1e\x95\x0d\xb5\x01\x93\x26\x4e\x90\x2d\x43\x47\xb4\x44\x6d\xf7\xdd\x7a\xd5\x25\xd4\x41\x6b\x70\x96\x4a\xb7\xfb\x6e\x34\x29\x1b\x97\x75\x84\x7c\x34\x86\xf6\x95\x07\x47\x88\x51\x17\x95\xa2\x73\xa9\xba\xe2\x37\x14\x66\xce\x10\x73\xb7\x71\xb6\x56\x35\xe1\xf0\x59\x05\x8b\xf8\x68\xc1\x8f\x2c\x9f\x99\xc4\x22\xd8\x96\xcb\x19\xb1\x0b\x37\xf4\xa8\xae\x82\x0d\xdd\x31\x84\x00\x69\x39\x08\x0a\xa3\x4e\x01\xa0\x3d\x3a\xc7\x29\x19\xcf\x4e\x27\x99\x83\x76\x91\xba\x4f\xe1\x6a\x5e\x5a\xbb\xb5\x03\x66\x7b\x6c\xb3\x3f\x46\x30\x62\x56\xde\x04\x3d\x52\x53\xe6\x64\x35\xb0\x89\x1a\x76\xad\x94\x00\xe0\x53\x8c\x4b\xa8\x14\xca\x18\x74\x4a\x2d\xe0\xee\xc0\xa4\x58\x93\x86\x70\xeb\xd0\xaa\x9a\x69\xc7\x88\x6e\x5b\x97\x20\x96\x61\xcc\xa4\x24\x88\x17\x84\x28\x42\x6c\xe0\x46\x18\x5b\x69\x41\xc6\xd1\x43\xad\x8e\xb5\x9a\x8a\x4b\x07\xf8\xa0\x5e\xb6\x24\x18\x6f\x96\x23\x76\x05\xad\xec\x69\xe0\xad\x4b\x16\xf8\xaa\x7c\x02\x88\xd5\x31\xc5\x94\x9b\xb3\x01\x4b\xd6\x91\xc7\x7a\xee\x2e\x11\xa5\x7c\x3b\x6d\xfc\xf8\x84\xa0\xc3\xfd\x26\xd2\xca\xbd\x99\xcc\x48\xc4\xdc\x2f\x79\xd5\x67\x8e\x6c\x0d\x56\x93\xc3\x56\x04\x98\x96\x3b\x0d\xc8\x86\x59\x46\x49\x4d\xb3\x17\x34\x16\x95\xa9\x63\x0d\xc7\x3e\x16\x93\x69\xe3\x8f\x67\x4e\xeb\xa8\x39\xef\x4c\x5d\x8b\x5f\xf9\x80\xf4\xbc\x1a\x98\x81\xbf\x43\x56\xee\x98\xdf\x9f\x44\x50\x6c\x46\xf0\x3c\xb6\xa6\xa5\x8f\x62\xfa\x48\x23\x77\x10\xad\x56\x88\xcc\x90\x24\x13\xae\x4d\x87\x19\x62\xc3\x48\xc3\xe3\x80\xc8\x29\x75\x03\xc4\x13\x44\x1f\x86\x2b\xb0\x31\x01\x67\xb2\x44\x3d\x93\xce\x3a\xef\x1d\x9d\x58\xdc\x4d\x4e\x20\x9a\x4c\x47\x9d\x5a\x6f\xa6\xe1\xc4\x1c\x4f\x2d\x29\x23\xc1\xb8\x75\xd7\xd3\x25\x0a\xd7\xb8\xa6\xb8\xa8\xdb\x4c\x46\x4c\xbd\x5a\x1d\xd2\x1a\xa3\x92\x7a\xb2\xc4\x67\x4a\xd9\xad\x17\xe1\x69\x7e\xf4\xe7\xca\x4e\xc4\x27\xec\x7e\xe9\x76\x89\x3f\xd6\xc7\x91\xb2\x00\x25\x82\x36\x73\xb0\x69\x42\x8f\x68\x7c\xdf\xcf\x6c\x51\xa7\x26\x19\x37\x9e\xec\x12\x9a\xdd\xee\x8f\xba\xbf\x4b\x0a\x42\xeb\xb0\xd9\x68\xd7\x8c\xa2\x72\x21\x08\xe8\x38\x4f\xfc\x4e\x42\x1a\xb2\x64\x1c\x6b\x34\x19\x6f\x5a\x4f\xcb\x2d\xb7\x6b\x6d\x72\x57\x43\x2c\xd8\x28\xfe\x18\xc5\x3d\x55\x43\xba\x00\x76\x89\x31\xb3\xa1\xf6\x02\xa6\xe9\xbe\xd1\xc8\x0a\xad\x67\x15\x02\x18\x92\xa6\x5b\x4c\x9f\x5a\x19\xe1\xd3\xc0\x68\xdc\x4c\x4f\x03\x8f\x49\xd7\xf3\x45\x57\x81\xe1\x09\xd7\xf6\x70\xd7\x92\xdc\x49\x6f\x38\xc8\x4b\x4a\x7b\x95\x8e\x52\x66\x7a\x38\x1d\x19\xa6\x44\x28\x98\x9c\x22\x23\x2b\x0d\xb1\x7d\x7e\x18\x8a\x26\x0c\xd1\xe4\x64\x9f\xaa\x3e\xbc\x83\x46\x3e\x31\x9e\x9d\x36\x0d\x4c\x38\xa9\x49\xec\x28\xce\x13\x0b\xd3\x5e\xac\xc7\x80\x04\x26\x93\x24\xfb\x3c\x9c\x98\x87\x3c\x21\x95\xb5\x78\x40\x13\x7b\xe1\x73\xd2\x81\x71\x74\x79\x22\xd2\x45\x3e\xb2\xda\x43\x92\x5a\x08\xdf\x22\x10\xc7\xaf\x97\x04\x57\x8c\x0e\x79\xd9\xc5\xd3\x11\x0a\xef\x9a\x7c\x82\x59\x4b\x12\x5b\x35\x49\x20\x90\x32\xd0\xd7\xe4\x1c\xd4\x23\xb1\x5e\xc6\x45\x48\xcb\xf4\x69\xdc\xd9\x8c\x5d\x2f\x02\xd6\x1f\xcb\x64\xbc\xf4\xf6\x95\x37\x33\x65\x8e\x74\x16\xc3\x10\x8b\xa6\x30\xae\xf3\x2e\xbc\xb5\x2c\x96\xd6\xe6\xcd\x9c\x34\x85\xe9\xa9\xdb\x37\x58\x80\x1f\x59\x26\x01\x9b\x53\x32\x9c\xb9\xed\x6e\x49\x23\x74\xe5\x1c\xa2\x56\x33\x56\x9a\xeb\x22\x07\x06\xe4\xca\x6a\x69\xd3\x95\xd3\xca\x20\x04\x88\xe6\xc5\xa4\x27\x1c\x15\x4a\x53\xb3\xcd\x5a\x33\xf9\xed\x28\xc8\x26\x23\xe5\x80\x44\x20\xdf\x36\x54\x91\x07\x85\xa4\xd0\x2e\xc2\xe5\x23\x20\x11\xf5\x29\x08\xe7\x6c\x59\x55\x39\x81\x13\x59\x10\xea\xc9\xc1\xca\x7d\x2f\xc6\xc5\x76\x78\xc8\xea\x22\x35\xc9\xad\xa3\xfb\x78\x93\x2f\x1c\x47\xb7\x4b\xc3\x32\xc8\x05\xe0\x75\x2b\x10\x6c\x5d\xcb\x47\xc1\x51\x5b\x93\xf9\x26\x05\x0e\xcd\x49\xe5\x1c\x41\x76\x6d\x6d\x98\xca\x61\x2c\x02\xcc\xdd\x8c\xf8\x9a\x9c\x57\xa3\x36\xa0\xc1\x61\x1d\x1d\x70\x8e\xc4\x45\x68\x6e\x6e\x0d\x04\xde\x2e\xf8\x71\x30\x43\xdd\x24\xb6\x79\x6e\x3e\xd3\x82\xe8\xd4\x6d\xe9\x99\x2f\x23\x85\x49\x8c\xe3\x5c\xf5\x75\x07\x21\xb5\x29\x89\xa4\x72\xb7\xd2\x8f\x24\x15\xa1\xd9\x24\x3c\x95\xba\x8e\xf8\x49\xc9\x38\x2a\x49\xa6\xbc\x55\xe6\xde\x61\x4c\x54\x2b\x3d\xc2\x58\xb5\x2d\xe6\x64\x20\x58\x79\x52\xc3\x3a\xea\x37\x42\x29\xae\x32\xd4\x82\x69\x08\x9b\x4d\x00\xbd\x60\x16\xf8\x94\x16\x59\xe6\x30\x77\x61\xb8\x45\x22\x7c\xe6\x9b\x8d\x02\x19\x6b\x7d\x7e\x4c\x80\xdc\x52\x43\x74\x6e\x59\x7e\xd6\x0e\xab\x3c\xac\x55\x7b\xcc\x4a\x24\xcf\xf1\xd3\x3a\x69\xb3\x51\x40\x2f\xa4\xf6\xa8\x32\x2b\x3a\xac\xb9\xd6\x51\x46\xa1\xbb\x59\x76\xc6\xe1\xd0\xa4\xf2\x86\xb0\xfc\xa0\x98\x16\xa3\x04\x16\xb6\xac\xdf\x76\x25\x94\x2d\xe9\xa1\x06\x97\xc4\x31\xf0\xfd\x10\x38\x27\xa9\x80\x08\x18\x86\x98\x93\xde\x95\x3b\x0a\xa1\x15\x71\xa2\x30\x5c\xb4\xd7\xfc\x3d\x4a\x2c\xb5\xc4\x4f\x03\x5d\xdf\x38\x2e\xba\xc4\xd5\x9c\xd0\x73\x9c\x1c\x53\x06\x0b\x88\xc4\xa6\x8b\x11\x34\x5d\x40\x45\x15\xce\x63\x0d\x50\xba\x80\x73\xd3\x88\x9f\x6e\x3c\x8a\xf2\x4a\x58\x00\x0d\x36\xe9\x56\xba\x5a\x98\x7a\x3a\xaa\x72\x5e\xe2\x0f\x34\xae\x05\x92\x0a\xc8\x14\x52\x3a\xd0\xfb\x56\x70\x3e\x01\x89\xcf\xa1\x79\xb0\x8e\x4e\x1e\x81\x5b\x07\x39\x04\x25\x63\x55\x11\x23\x59\x1c\x04\xb2\x89\xea\x9f\x2a\xc3\xf7\xf8\x4c\x36\x88\x68\x07\xb1\xca\xbc\x68\x8d\xc0\x20\x98\xf9\x81\xdd\xa3\x78\x98\xa8\x2b\x2c\x2f\x19\x1d\x9c\x62\x93\x54\xe9\x72\xad\x52\x6e\x8d\x9e\xa6\xe3\xf5\x52\xae\xa3\xfa\x54\x25\x9c\xdb\x18\x07\xac\x52\xf9\x6c\xd4\x15\x15\x87\xf0\xba\xb8\x0f\x01\xdf\x6d\x0b\x02\x06\x60\x6a\x2a\x29\xb9\x5e\xa6\x0b\x69\x89\xf1\x35\x73\xa2\x43\x6e\x3f\x05\x96\x97\xce\x0c\x07\x69\x16\x08\x1f\x29\x95\xe8\xcf\xe3\xdd\x9e\x62\x89\x86\x52\x17\x42\xd7\xe4\x13\x57\xb1\x16\x90\x6d\x86\x47\xab\x01\x20\xb7\xe2\x75\x0a\x56\x15\xa2\xb5\xb5\x6a\x12\x42\xe6\x90\x60\x48\x08\x7a\xcb\xf9\x22\x71\x42\x2a\x5b\x07\x12\x19\x1a\x61\x14\xc6\x7a\x14\xa6\x08\xcc\x6c\x99\x94\xee\xb0\xb6\x95\x17\x73\xd1\x1f\x17\xb9\x97\x6c\x66\xb9\x2d\x27\xd8\xa4\x45\xa9\x78\xb1\x10\xf5\x31\x67\x71\x9c\xd6\x48\x3a\x59\xd8\x34\x30\x68\x25\xab\x14\xdc\x71\x32\x4a\xe6\x01\x37\xa1\xe6\x44\x51\xb6\x53\x71\x85\x65\x50\x7a\x84\x8d\x99\xcb\xee\x30\x02\x38\x43\x6e\xef\xd7\x12\x82\xb8\x90\x94\xb3\xbb\x9d\x59\x34\xa3\xb0\x40\x66\x6b\x31\x1c\x35\x2e\xbe\x22\xa7\xf2\x82\x62\x37\xec\x3c\xe1\xd8\x62\x38\x9f\xba\x7e\x29\x49\x7e\x76\x92\x78\x62\x36\xc1\x16\x7b\x05\x16\xd4\x85\xc9\x98\x55\x7d\x4a\x5a\x93\xb4\x24\x5d\xaf\xc4\x69\x87\x86\x70\x83\x4f\x9d\x95\xaf\x69\xe2\x8a\xa2\xf0\xb1\x27\x6f\x86\xc9\x7c\x32\x9e\xaa\xc9\xe1\x00\x1d\x00\x43\x2b\x52\xc3\xc9\x2a\x50\x2d\xc3\x25\x40\x28\x73\xb2\xef\x73\xd3\xc3\x04\x72\x60\xb0\x57\x49\xda\xb7\x08\x3f\x81\x35\xdf\xc2\xca\x2a\x3b\x0a\x27\x5c\x29\x0f\xdd\x82\x10\xf7\x52\xe3\x29\x6a\xb8\x09\x96\x12\xd3\x28\x21\x42\x26\xfc\x36\xa0\x51\x42\x4b\x60\xa1\xcc\x97\x32\x92\x3b\x85\x68\xd8\x7a\x44\xed\x61\x64\x97\x76\x3e\xb2\x42\xb2\x38\x3a\x04\x25\x84\xdb\x93\x61\x9b\x79\x00\x59\x08\x64\x5d\x70\x45\x90\xec\xd0\x82\xef\x1c\x7b\xe6\xc4\x88\x9e\x60\x3a\x72\xb0\x32\x70\x58\x36\x06\x3a\x02\xea\x2c\xa7\xdd\x14\xa0\x9c\x5f\x8b\x78\xc4\x2c\xc8\xd9\x68\x6b\x2e\x56\x61\xc8\x9b\xdc\xbe\xa2\xb9\x29\x46\xf8\xfe\x5a\xb0\xf3\x5e\x83\x5a\x8c\x46\xab\x36\x4c\xe3\x15\x2f\xb5\xb3\x6e\x1a\x4d\xc0\x96\xd0\x35\x42\x55\xa2\x22\x9e\x56\x47\x68\xae\xbb\x14\x47\xc6\x51\x99\x07\x4c\x79\x5c\x40\x96\xed\x08\x8b\x74\xe8\x2f\x30\x03\xa1\x38\xb2\x90\x6a\x79\x73\x54\xb3\x40\x5f\xd2\x68\x91\x76\xf8\x50\x3e\x38\xee\x6a\x59\x19\xa5\x32\xa7\x89\xad\xe4\xa7\x5b\x37\xda\x6b\x86\xa0\x5b\x6b\x7f\x7d\x50\x52\x7c\xc7\x02\x42\xca\x0c\xc2\x59\xd2\x68\x57\xb1\xab\x34\x5b\x4c\x96\x60\xc7\x82\x25\xab\x4e\xdd\x55\x47\x23\x65\x2b\xba\x25\xb7\x38\x1c\xcb\x79\xb1\xc9\x1c\x7a\xae\x98\x1b\xa6\x1d\x4f\x76\x7a\x37\x3a\x4d\xd0\x99\x37\x31\x1b\x1c\x50\xfb\x3a\xd9\xa2\x80\xcf\xd6\x07\xb4\x25\xab\xa2\x71\x03\x44\x93\x95\x6e\x82\x9b\xc9\x22\xb7\xb8\x19\x1b\x56\xec\x5e\x23\x49\x1b\x11\x2c\xb0\x14\xe6\xd9\x66\x3a\x8d\xf5\x0c\xca\xc9\x24\x0e\x08\xa0\x9a\x62\x02\xf6\xf4\x64\x4c\xdb\x38\x99\x2d\x4f\x5e\x41\x99\xb5\x6e\xb1\xca\xa6\x09\x0f\xe8\xca\x4e\xa7\x05\x7c\x5a\x46\x8e\x08\xc2\xc3\xf1\x08\xe5\x0d\xc3\xac\x93\x5c\x3e\x6c\xe3\x71\x58\xda\x87\xcc\x30\x2a\x7b\x5f\xf2\x3b\x02\xc9\xc3\x4d\x43\xd2\xa1\x1b\x9c\xd8\x7c\x0c\xaf\xd8\xbc\x76\xd3\x5d\x39\xf5\xa9\x04\xdf\x22\x93\x76\x03\xb5\x1b\x22\xa5\xd7\x38\xb6\x3f\xa2\xd2\x3e\x9b\x60\x30\x8a\xb4\x90\xd7\x39\xf8\x84\x39\x8d\xc5\x25\xcc\x49\x1b\x0b\xb2\x5a\xe2\xc8\xd1\x63\xcf\x23\xb3\xe3\x36\x45\x98\x4d\xb7\xdf\x1c\x2a\xbc\x2e\xe8\xd2\x88\xe7\xe5\x4a\x9e\x2e\x19\x76\x85\x28\x2b\xd8\xf5\x3a\xbc\x3c\xc2\xb3\xf9\xd4\xaa\x85\x69\x73\x40\x6b\xa1\xad\x22\xa5\x84\x70\xdc\x59\x96\x13\x0f\xab\xc6\xc3\x25\xbd\xd9\x34\x06\x67\xe8\x27\x6f\x98\x41\x3b\x28\x4d\x37\xa5\x36\xb4\xe2\xa2\x09\xd9\x99\x2b\xec\x17\x39\xa4\x59\x46\x90\x29\xcb\x13\xcc\x6f\x47\xab\x62\xb5\x8f\x4f\x3b\xd0\x51\x61\xb3\x43\xa7\x47\x9f\xc2\x81\x01\x81\x5a\x1d\xb9\x87\x91\x5d\x63\x4c\xad\xc2\x1c\xc2\x11\x63\x02\xdb\x8a\x93\xc5\xa4\x29\xd7\x18\xc7\xab\xc4\xfe\xb8\x45\xe3\x12\xf1\xb7\x98\xe9\x73\xe1\x29\x41\x82\x10\x5e\x72\x09\x01\xe7\x23\x31\x0f\x91\x99\x54\x40\x8d\x47\x1c\x6a\x88\x8c\x43\xd6\xac\x5a\xb8\xa8\xc9\x7c\xbe\xb6\x6a\xcc\x91\x28\x58\x75\xbc\x1a\x99\x86\x99\x1e\x32\x81\xb3\x19\xa2\x05\xab\x9d\x10\x99\xde\x68\x6e\x23\x18\x0b\x63\x42\xc0\x18\x3a\xae\x2a\x6c\xc7\xa6\xc7\x84\x51\x64\xb1\x9e\x1e\x11\xcc\x06\xb4\xc2\xed\xb5\x13\x39\xe2\x40\xc5\xcf\x5d\x1f\x2e\x27\xd2\x7e\x91\x6c\x59\x93\xd8\x18\xe8\x4c\x33\xaa\x71\xcd\x18\xc4\x10\x33\xc4\x8d\x55\x31\x4d\xc1\x35\xe2\x12\x60\xee\x71\xeb\xcc\x5b\x1b\x30\xa6\xbc\x9d\x2d\xe8\x91\x0c\x18\x6e\xb2\x8c\x66\x8e\xef\x82\x93\xe4\x2d\x50\x92\x89\xd5\xe9\x66\x55\x6c\x29\x3d\xb3\x34\x12\x8f\x39\xaf\x35\x38\xbe\x41\x56\x33\xae\xa1\x54\x87\x30\xda\xce\x90\xb4\x99\xec\xfb\xc7\x6d\x58\x1f\xd7\xd2\xde\x9c\xa5\xe5\x8a\x68\x93\x05\x89\x54\x5b\x07\x9a\x0f\x1b\x90\xf3\xeb\x13\x2b\x6a\xd2\xb6\x75\xf6\x8d\x49\x40\x60\xe1\x13\x1a\xb9\x9c\x42\x6b\xcd\xcc\x6d\x44\x06\xb2\xae\x51\x35\xe2\xb1\xd0\xc9\x49\xf2\x11\x21\x55\xa7\xb9\xa1\x26\x48\x81\x13\xa1\x3f\x6e\xcc\x84\x3f\x98\xcd\x72\xa9\xed\x38\x7b\x53\x96\x28\x36\xa1\x68\x4e\x31\x44\x93\xd1\x65\x8e\x4e\x53\xaa\x91\xe6\x44\x93\xcd\x67\xbb\xdd\x70\xb6\x82\xaa\x8d\x36\x42\x09\x2b\x34\x2a\x52\x59\xa8\x63\x6a\xda\x88\x48\xa7\xb4\xe3\x1d\x6f\xc0\x52\x37\x9b\x0d\xf7\xae\xd4\xe5\xd8\x26\x47\xed\x59\x68\x08\xb1\x16\xdb\x27\x99\x51\xa6\xb3\x95\xb9\xd2\xf2\x69\xb3\xe0\xc5\x53\x89\x57\x5c\xb5\xac\x4d\x76\x04\xed\x0e\xc7\x76\x36\x31\x59\x4e\x96\x91\x8d\xb3\xd3\x2b\x25\x89\x74\x3f\x3d\x4c\xa0\xa9\x5b\x6b\xd9\xb0\xb0\xe7\xd2\x7e\x08\x62\x02\xd1\x52\x20\x25\x33\x73\x2c\x61\xa3\x0d\x3f\x12\x41\x19\x45\xd3\xb8\x9a\x6e\x45\x29\x11\x3b\xa9\x61\x69\xf3\x2c\xb7\x93\x2b\xa5\x7b\x53\x19\x67\xe4\x98\x00\x94\x30\x6a\xa8\x99\x37\x75\x51\xca\x18\x8f\x24\x1f\x73\x45\x61\xae\xd7\xb5\xae\x3b\xe4\x91\x89\x9c\x15\x80\x57\x0d\xa9\xa4\xa6\x44\x01\x3e\x03\x18\x70\x97\xca\x69\x68\xa7\x73\x40\x90\x60\x22\xcd\x8e\x6c\x5f\xe7\x16\xed\x14\x2f\x5d\x9f\xa8\xb7\xc9\xa8\x30\x47\x1c\x69\xe3\x09\x3c\x55\xa3\xa1\x97\x8a\x9a\x8c\x20\x00\xf5\xe7\x53\x62\x2b\x48\x0e\x49\x24\x79\xe7\x03\xd5\xdf\xe3\xb8\x38\x81\xe0\xcc\xe6\x77\x9b\x3c\xd9\x29\x58\x35\x6a\x4f\xc8\x04\xac\x4b\x9d\x09\x74\x4e\x89\x4f\x5e\xe2\x48\x8e\xeb\xcd\xa4\xdc\x60\x79\xdf\x5e\xa7\x23\xc6\x6e\x02\xff\xb0\xd8\x05\x51\x22\xed\x3d\x74\x9c\x5a\x89\x72\x6a\x37\x72\xe5\xad\x92\x9d\x8e\xb5\x46\xc6\xe4\xc9\xd6\x47\x57\x66\x25\xae\x87\x45\x31\x86\x30\xcf\xdb\x8c\x72\xc9\x3e\xd0\xfe\x69\xcd\xab\x01\x1b\xf1\xb3\xbc\x45\x67\x13\x65\xe3\xba\x69\x19\x86\xeb\x2d\xd9\xd4\x8b\xe3\x48\x0f\xf9\x99\xbd\x81\xb7\xa6\x4a\xc4\xf4\x24\x35\x46\x92\xe9\xa1\x2e\x38\x50\x60\x82\x4e\xba\x78\x86\x97\x23\x0e\x58\x2a\x97\x09\xc7\x19\xc3\x25\x6c\x85\x16\xcb\x49\x4e\x95\x93\x25\x0e\xc7\xa3\xb5\xc1\x49\x5e\xa9\x34\xec\x54\xdb\x96\xe8\xc1\x6f\x8e\x9b\x70\x5c\x0b\xc5\x6c\x45\x40\xf5\xb4\xde\x67\x89\xea\x09\x71\x96\x5a\x73\x44\x49\x94\x78\x0c\x9c\x15\xeb\x68\x40\x26\xa7\x73\x02\xae\xe7\xf4\x76\xa4\xac\xb4\x2c\xc0\xc7\x7b\x6c\x1b\x90\xad\x83\x05\x3e\x36\x23\xfc\x74\x96\x6e\xcb\x66\x95\x1b\x84\x30\xc2\xe8\xc2\x52\xd0\xea\x20\x19\xd8\x68\xea\x19\x2d\xbe\x41\x9b\x4e\x51\x5a\x54\x18\x22\xd8\x61\x88\x9e\xe8\x4d\x36\x22\x8e\x4e\x71\x9a\xcd\x38\xdc\x6b\x6a\x6e\x14\x99\x6e\xb9\x1f\xab\x9c\xd4\x1a\xa3\x2c\xd9\x48\x4d\x1e\xa8\xe3\x7a\x9f\xf9\x81\x48\x35\x08\x0d\x8e\x1b\xfa\x98\xa9\xbe\xb6\x03\x42\xb1\xb3\x75\x11\xcc\x18\x64\x2f\x4f\x5c\xcc\xc5\x9c\x20\x42\xd2\x7d\x26\x43\xb3\xed\x14\x5b\x86\x02\x62\x68\x29\xeb\xa5\xae\x74\x70\xd3\x85\xcb\x71\xe6\x44\xc0\x4c\x1e\x59\x4e\xf3\xdc\x0b\xdb\xad\xe7\x88\x66\xd8\x32\x39\x6b\x2f\x29\x0e\x4a\x74\x24\xc5\x72\x37\x9e\xda\xb3\x14\x5a\xb6\xfc\x74\x52\xef\x8f\x13\x04\x43\x5c\x69\x6a\x1e\xd9\xc5\x30\x29\xa6\xdd\xba\x34\x89\xd8\x2a\xac\x53\xa2\xa9\x82\xad\xc7\xf2\x72\x01\x8c\x0c\x3e\x26\x6d\xc9\xb5\xa4\x81\x54\x0b\x8f\xef\xca\x09\xba\xcd\xa6\x60\x9b\xa9\xec\x64\x78\x28\x32\xb5\x5a\xa8\xd3\x7a\x34\x9e\xac\xba\x93\x30\x1d\xcf\x67\x59\x8b\xa1\xa7\xfd\x7a\x18\xeb\x63\xb8\xd4\x0a\x93\x09\x12\xf9\xb0\xb6\xd4\xb9\xab\x26\xd6\x21\x37\xac\xf8\x60\x60\x5c\xe7\xb4\x91\x35\xf6\x8e\xda\x9a\xc9\xbd\xed\x3a\xd1\x50\xa8\xda\x8f\x45\x66\x32\x96\x2a\x77\xab\x2e\xc6\x43\xff\xd4\x51\x1b\x2d\xb6\x90\x40\xa0\x67\xf2\xac\xa0\xe7\x45\x21\x4c\x6b\x7a\xe1\x39\x43\xc3\x81\xb6\x0e\xcf\x1d\x77\x4a\x73\x12\x87\x4d\x1e\x16\x27\xb4\xd4\x47\x59\x7e\x54\x0e\x66\x45\x3a\xb5\x2e\x10\xaa\xc0\x9b\xf2\x0e\x96\x3b\x87\xd9\x20\xa4\xb2\x44\x14\x67\xea\xae\x52\x6a\x74\xe0\xad\x49\x16\x19\x02\xc9\x9a\xee\xd4\x40\x27\xb0\xa2\x38\xe2\xcc\x07\xc0\x6b\x1c\x18\xdd\x96\x0b\x16\x9a\xa7\xe4\x0e\xda\xe4\xf0\x2a\x61\x4a\xa6\xa2\x89\x3a\x59\x1c\xca\x72\x9a\x69\xdc\x66\x16\x77\x3a\x43\xca\xfc\xac\x00\xe1\x5e\x31\x66\xa8\x51\xed\xb5\x96\x3d\x1d\xea\x43\x2e\x74\x8b\x7d\x0a\x31\x35\xd4\x96\xc2\x49\x5f\x74\x8b\xee\xd4\x06\xf5\x26\x8d\xd4\xe5\x62\x3c\x5e\xa7\xa6\x42\x40\x42\x4a\x52\xcb\x93\xcb\xae\x60\xd7\xea\x72\x52\x9f\xac\xd7\x7a\x0d\xe6\x5d\xdb\xec\x8f\xb1\x69\xcd\x9c\xc5\x3a\xc1\x9d\x6d\x2b\xea\x39\x85\x1e\xa3\x83\xdc\x75\x91\xd1\xd0\x3a\x47\x4e\xe6\x5b\x38\xdc\xc8\x47\xaf\xc3\x76\xaa\x19\xaf\x15\xc4\xb4\x16\xb5\xae\x1f\x23\x93\x6d\xf0\x11\x06\xf1\x73\x61\x46\x0b\xae\x56\xb8\x1a\x42\x6d\x51\x6d\x3d\x23\xa5\x31\xe5\xcd\xd5\x53\xc0\x7a\xd5\x7a\x63\x1c\xa4\xdd\x71\x03\x0e\x93\x04\x39\x9a\xb3\xf6\x48\xac\x21\x74\xaa\x1c\x79\xec\xe4\xaf\x70\xc7\xc6\x04\x27\xe7\x75\x7d\xd2\xd0\x0a\x6c\x00\x99\x38\x08\x28\x0b\x53\x8a\x05\x05\x65\x4e\x79\xd3\x21\x6d\x0a\xa5\x5c\x5a\xc6\xd0\xf0\x27\x99\xb0\x14\xf6\xa7\xb9\xe7\x97\x9b\x65\xcd\x48\x34\x86\xa0\x66\x53\xc0\xf3\x29\xe3\xa1\xf9\x01\xdf\x1d\xb8\x9d\x95\xc8\xc7\xfd\x96\xdd\x5a\x63\x30\xef\xa8\x65\x72\xf9\x87\xb6\x1a\xc4\x42\x23\x5d\x9b\x68\xa7\xd6\x41\x59\x00\x00\xe0\x37\x0a\xb3\x66\x95\xc8\xdc\x28\xb1\x94\x2c\x4f\xd6\x9a\x41\x2c\x19\x9c\x44\x8a\x46\x17\x1a\x40\x17\x9a\xd8\x18\x14\xdd\x4a\x7b\xbd\x91\xf6\xe0\xb4\xd0\x00\x22\xed\x41\x23\xd9\x6a\x44\xfa\x00\x00\xd2\x40\x14\x23\x40\xac\x39\x83\x58\x5a\x5e\x6d\x51\x25\xb7\xd2\x08\x88\x7b\xd0\x8a\x27\xa4\x15\x55\xa4\x11\x0d\xb9\x15\xa9\xac\x93\xa8\xec\xb4\x24\x91\x66\x49\x65\x8d\xb8\xdc\xda\x53\xe2\x7c\x3e\x0b\x54\xdd\x90\x14\x61\x44\x9a\x1c\xf7\xfd\xc3\x52\x27\x4b\x1d\xbb\x82\x5d\xbb\xf2\x06\xf7\x83\xca\x6b\x2b\x38\x8f\xed\x30\x1d\xdc\x0f\xb4\xda\xbb\xbf\x41\xd1\x1b\x50\xfb\x37\x28\x32\x9c\xdc\x20\xe3\x2f\x38\xfa\x05\x1b\xde\x40\x08\x82\x20\xdf\x47\x19\xd8\xa9\xef\xc5\x99\x0f\x1f\xbd\xa2\x0c\xb3\xf4\x3d\xe2\xe1\xc3\xe4\x47\x5a\x7f\xc6\x53\xcf\xc7\x2f\xc8\xf4\x97\xe1\xf8\xbb\x08\xfc\xb0\x82\x59\x1a\x50\xef\x9b\xfa\x61\x75\x53\x78\xc7\x5f\x2e\xf9\xd9\xce\x10\x77\xf7\xde\x83\xd7\xe6\x59\x51\x95\x8f\xbf\x9f\x5b\x7f\xc9\xee\xe3\x70\xfb\x25\xfc\xf6\xed\xfe\xf5\xdd\x72\xf7\xc5\xdd\xef\x83\xba\xf4\x6e\xca\xaa\x08\x9d\x6a\xf0\xf5\x7a\x4f\x9a\xeb\xed\xc2\xd4\x7b\xbe\xcb\xae\xba\x1f\xfc\xfd\xef\x5e\x29\x9e\x33\x8c\x0d\xee\x7f\x3f\xda\x71\xed\x7d\xf9\x09\xf9\x76\x77\x5f\x3d\x90\x2c\x50\x54\x5a\x53\x1f\x7f\xff\x76\x5f\x3d\x5c\x2f\x67\xff\xfb\xb5\xf4\xf1\xa5\xfe\x81\x78\x05\xfc\x2b\xf2\xdb\xe3\xe7\x77\x8d\xfd\x77\x75\xbe\x6a\xec\xbf\x77\xe7\x9b\xc6\xfe\xbb\x38\x5f\x34\xf6\xdf\xe9\x1f\xdc\x33\xf6\xdf\xc7\xff\x8f\x5d\x33\xf6\x4a\x0e\x0f\xe0\xf1\xe5\xc6\xb0\xd7\xe5\xc4\xf5\x96\xcf\x17\x89\xe1\xbf\x3d\x7e\xef\x3a\xaf\x70\xff\x4f\x5e\xe7\xf5\x9a\x22\xf9\x6a\xac\x7e\x1d\xf5\xc4\xfe\xe5\xd7\xe0\xbc\x26\xa7\xbc\xef\xcd\xbf\xe2\x46\xad\xd7\x04\xe4\xc7\x7f\xe7\xa5\x58\xaf\x29\x09\x8f\xff\xba\x0b\xae\x5e\xe3\x35\x3f\x0c\xf8\xbf\xf2\xae\xaa\xd7\x94\xe8\xd7\x63\x3f\xfe\xed\xf1\xdf\x79\xb3\xd4\x6b\xba\xd6\xf7\x7b\xf8\x97\x2f\x89\x7a\x8d\x97\x7d\xdd\x9f\xc9\x73\x7f\xfe\x2d\x77\x3b\xbd\x9e\xa3\xe7\x6b\x9c\xfe\x77\x5e\xd4\xf4\xd1\x9c\xc3\xff\xf1\x1f\xff\xe3\xe6\x3f\x6e\xb8\xa7\x9c\xd6\xe5\x4d\x15\x78\x37\x76\x55\xd9\x4e\x70\x93\x78\x55\x90\xb9\xf7\x37\x55\x60\x57\xd7\x32\xef\x02\xf0\x74\xd9\xf2\x4d\x95\xdd\xd8\x37\x6b\x6f\xab\x66\x4e\xe4\x55\xfd\xc2\xe0\xd9\xc9\x43\x8f\xf2\xff\xba\x64\x98\xbc\x69\x2f\x57\x41\xb9\x6e\x96\x96\xf0\x05\xc9\xf5\xe7\x0c\x15\x87\x8e\x97\x96\xde\x8d\xc8\x69\xff\xe3\xe6\x3f\xe0\xff\xf1\xd3\x33\x87\xe7\x0c\xe3\x4f\xeb\x52\x75\x5b\xdc\x22\x77\x77\xdf\x6e\xdf\x64\xd9\x7f\xbd\x16\x5d\xee\xfe\xfd\xfd\xdb\xf3\x1d\xb2\x0f\x17\x2a\x8f\x6f\xbb\x7c\x1f\xde\xfd\x5e\x3c\x5e\x6e\xe6\x7c\x7c\x7c\x2c\xfe\xf1\x8f\xe2\xde\x7b\x28\xcf\xec\x3f\x56\xf7\xde\xc3\xdf\x77\x71\x5d\x06\x44\xbd\xdb\x79\xc5\xeb\xcb\x4c\xbd\x87\xa6\x08\x2b\xef\xd6\x7b\xf8\xfb\x05\xf1\xa5\xcb\x17\xc0\x7e\x09\xfd\xa4\xf8\x62\x95\x2f\x19\xab\xc2\xc4\xcb\xea\xea\xf3\xe6\x7d\xe5\xf7\x70\x9c\xeb\xce\x88\xbe\xf5\x00\x79\x5d\x06\x5a\xf6\x9e\xbd\xb3\xac\x3e\x69\xfc\xb7\x4f\x4b\xa1\xc7\xea\xcb\xe7\x8c\x3c\x56\xf7\xa5\x57\xbd\xe2\xf5\x95\x30\xee\x87\xfd\x00\xf4\x3c\xf8\x5e\x25\x7a\x65\x69\xfb\xde\x1b\x0e\xc2\xbf\xbd\xe3\xef\xb6\x7a\x70\xed\xca\xbe\xfb\xf2\x24\xbb\xeb\xfb\x19\x49\xe9\xa5\xee\xf9\x4a\xee\x37\x37\xb4\x9e\xf3\x4d\x9c\x6f\x1d\xae\x7a\x6f\x86\x3e\x7a\x69\xb5\x08\xcb\xca\x4b\xbd\xe2\x76\x90\x5c\xa8\x0e\xde\x32\x71\x77\x5f\xfc\xfc\xb3\xf7\x90\xa5\xb7\x83\x1e\xfd\xe0\x35\xf6\xbb\x4f\xf1\x38\x71\x56\x9e\xb1\xb8\x5e\x2f\x81\x87\x6d\xd8\x13\xbd\xaf\xee\x3e\x07\xf7\x8a\x22\x2b\x3e\x05\xef\xd9\xbc\x14\x7e\xc8\x8d\x9f\xed\x76\x9f\xf2\x73\x5b\xbd\x68\x5f\xf5\xb7\x27\xd5\xfb\x52\xdd\xfd\xfc\x73\xf5\x50\x78\x49\x76\xf4\x7e\xb0\xd7\xd7\x1b\xb4\x9f\x50\xf4\x52\x7d\x75\x35\xf0\x07\xe5\xbf\xa8\xfe\xdb\xc9\x71\xc9\xc1\x7c\xa9\x7b\xdb\xfe\x43\xaf\x5e\xb5\xbd\xd4\x5d\xdb\xf6\x32\xf8\x76\xf7\x5d\xcb\xc2\x84\xd5\x8b\xb5\x70\xce\xc9\x54\xca\x1b\x3b\x75\x6f\x8a\xac\x29\x7b\xf3\xd1\x9b\x13\x37\x4c\xbc\xb4\xf7\x91\xcb\x9b\x6c\x77\x13\x56\xe5\x0d\x25\x89\x37\xde\xc5\x24\xf5\xd6\xa4\xc7\xf4\x3f\xff\xe7\x0d\xc8\xf3\x22\xbb\x5a\x8e\x5f\x6e\x94\xac\x29\xbf\xdc\x68\x45\xdd\xfb\xee\xde\x15\xd1\x31\xec\xf1\xf4\x68\xde\xd8\xa9\xdc\x2e\xbc\xb4\x7a\x42\x79\x13\x78\xa1\x1f\x54\x37\xdb\xd3\x5b\xa8\x22\x6b\xae\x55\x4f\x44\x7f\xb9\xb9\x24\x80\xf9\x67\x09\x9d\xf3\x1c\x7e\xa0\xe3\x3c\xdd\xd8\xd7\x93\xb8\x80\xdc\x9e\x73\x62\xdf\xb8\x61\x99\xc7\xf6\xe9\xcb\x4d\x98\xc6\x61\xda\x5b\xe2\x8f\x1c\xf6\xd2\xab\x9e\x98\xe9\x85\x75\xc1\xd0\x84\x55\x70\x06\x76\xea\xa2\xe7\xa1\xc7\x9d\xd6\xc9\xd6\x2b\x7a\x26\xaf\xa2\xbf\xfb\xbe\x6d\xde\x85\x55\xff\xef\x7f\xd9\x2a\x7f\x34\xc4\x79\x91\xe5\x59\xe9\xcd\xbd\x2c\xf1\xaa\xe2\xf4\xe1\x2a\x79\xef\xe1\x69\xa8\x2f\xd2\xa3\x2f\x6f\x4f\xd7\xc9\x9f\x93\x4f\x9c\xb1\xf6\x7a\x7a\x9f\xdd\x97\x4f\x99\x9e\x7d\xaf\x22\xb3\x24\xaf\x2b\xcf\x55\xab\xd3\x39\x79\xfd\xe7\x98\xee\xd3\x97\xe4\xf0\xe7\x1b\x9a\x9f\x82\x15\xa3\x8f\x4d\x6e\x07\x97\x41\x1f\xdc\xdd\xdd\xdb\x8f\xa2\x5d\x05\x0f\x89\xdd\xde\x22\xf7\x7f\xd8\xe6\x2c\xf5\xc1\xdd\xdd\x2f\xc3\xc9\xdd\x7d\xfc\xe7\x2c\xdd\xdd\x07\x8f\xe9\x2f\xb7\xcf\x38\xe3\x4f\x70\xe6\xb6\xeb\x86\xa9\xff\x4b\x95\xe5\x83\xbb\x3b\xe8\x87\x60\xb7\x59\x55\x65\xc9\xe0\xee\xee\xee\xde\x79\xb4\x7f\x90\x40\x71\xed\xef\x8f\x91\x88\xbd\x5d\x75\x26\x50\x3f\xde\x7a\x0f\x45\xd6\x90\x59\x5a\xd9\x61\xea\xf5\x6b\xe7\xeb\xd7\x87\x5d\x58\x94\x4f\x52\x27\x83\x30\x76\xef\xee\xdd\xc7\xfa\x21\x4c\x53\xaf\x60\x35\x71\xf1\xa4\x14\xf5\xc3\x39\xb3\xc9\xc3\x55\xdf\x1f\x07\x17\x7d\x1f\xdc\xbf\x82\x7d\x1c\xac\x07\xf7\xe1\x63\x7d\x4e\x91\x95\xd5\x69\xcf\x0a\x19\x87\x5e\x5a\x29\x9e\x53\xdd\xde\x5d\x92\x88\xde\x7f\x40\x35\xb8\xaf\xfe\xa0\xd1\x65\xa8\xdf\xd0\x71\xef\x8b\x17\xf5\x08\xe0\xea\xee\x3e\x7b\x79\x77\xe0\xf0\xee\xfe\x77\x27\x8b\xcb\x2f\xd9\x7d\x6f\xb4\xbe\x14\xdf\x7a\xb3\xbf\x0b\xab\x0f\xa9\x56\x8a\xc7\x0f\xca\x7e\xeb\x9d\xb3\x90\x9f\x6f\x47\x0f\x3b\xef\xb6\x78\xe8\x51\xdd\x17\xbd\xd8\xca\x77\x36\xf7\xbb\xf3\xe4\x95\xed\x7d\x8f\xbe\x37\xc2\xef\xd0\xbc\xe1\xec\x55\xd3\x5d\x58\x3d\x81\xff\xa1\xc5\xae\xe3\xf8\x92\xa9\xf5\xe6\x6c\x19\x6e\x76\x59\x71\xb1\x14\x0f\xfb\xf2\xfb\xd6\xe3\xb9\xd5\xab\xc7\x7f\x83\x2d\xa9\x32\xdf\x8f\xbd\x9e\x47\xf5\x4c\xe2\xb3\x44\xc6\x5f\x8b\xb7\x4b\xec\x93\x4d\x70\x62\xbb\x2c\xfb\x75\xf5\xc1\xb9\x28\x6c\x79\x3b\x78\x61\x76\x70\xf7\xb7\xc1\x65\xfd\x1d\x7c\x19\xd8\xae\x3b\xf8\x52\xfd\xed\xf2\xfb\x54\x7c\xff\x09\xaa\x5f\x8b\xdf\xde\x22\x79\x3b\x16\x2f\xec\x96\xef\xd9\xed\xbd\x9d\xf7\xbd\xf9\xb1\x35\x55\x0b\xc2\xf2\x9a\xc0\xfd\x26\x2f\xb2\x63\xe8\x7a\xe5\xd5\x59\x2f\xcf\xa3\x75\x59\xdc\xc3\xd4\xbf\xb1\xdf\xb9\xea\xd7\x37\x37\xfb\xd4\x69\xff\xee\xe8\x3e\x37\x7b\x79\xfa\x77\x7b\xef\xcf\x84\xc0\xff\xef\xc6\xff\x6f\x75\xe3\x2f\x86\x8c\x57\xa5\xe5\xc3\xd9\x08\x3e\x79\xed\x5f\x07\x65\xe5\x66\x75\x35\x78\x7c\x2c\xce\xb9\xe2\x6e\x3f\x3a\xfc\xc5\xaf\xc3\xdf\x5e\xdc\xfd\xf3\xdb\x9f\x7b\xfb\x67\x52\xe5\x39\xe7\x4a\xb8\x3b\xdd\xfe\xda\xd3\x09\xd3\xc1\xbd\xf7\xd2\xb8\x52\xc3\xce\xfb\xb1\xb6\x5e\xf5\xf7\xde\xd0\x0e\x2e\x2b\x53\x79\xef\x9d\x0d\xee\x6f\x77\xff\xc2\x90\xe2\x52\x71\x31\xe8\x83\x57\x0c\xfe\x49\xb0\xf1\xac\xd1\xd4\x5f\x8b\x3a\xbe\xdf\xae\xef\xd2\xbb\xda\xff\xd3\xe2\x90\x3f\x98\xc6\x6f\x03\x92\x77\x80\xdf\x8f\x4c\xbe\xdf\xe1\xcf\xb0\x51\x3f\x12\xab\xfc\x2f\x6d\x6a\x7f\xbd\xe4\x04\x2e\x6e\xd1\x49\xef\x38\x0c\xea\xf4\xd2\xd4\x1d\x3c\x3e\xf6\x0c\x67\xbb\x9b\xd4\x3e\x86\xbe\x5d\x65\xc5\x7d\xf9\x98\xfd\x6d\x90\x66\xae\x37\xf8\xf2\x5c\xf8\x50\x97\x5e\x01\x7c\x2f\xad\xee\xd3\xcf\xaa\xf3\xd8\xae\x76\x59\x91\x7c\xad\x1e\xc2\x92\x09\x0b\x6f\x97\xb5\x8f\x3f\xfd\xf4\x7f\x97\x0f\x61\xea\x7a\xad\xb4\xbb\x1d\x5c\x4b\x07\xbd\x26\x85\xa5\xa8\x72\xf4\x3b\x80\xbe\x68\x70\xf7\x8f\x7f\xbc\x2d\xd5\x8a\xd0\xf5\xd2\xea\xa9\x99\xed\x9c\x13\xb0\x5e\x97\xc6\x5f\x07\xa2\xed\x84\x69\x95\x95\xc1\xe0\xbe\x7f\xe6\xd2\xca\x8b\x2f\x8f\xab\x15\x79\x79\x18\x4f\x85\xc1\x6f\xf7\xe9\x05\x01\x97\xdb\xee\xe3\x20\x5c\xd9\x7d\xd7\x1f\xd3\x6b\x59\x90\xa5\x5e\x5f\xda\xff\xbe\x94\x8b\xea\xfa\xec\x30\x97\x6f\x49\x5e\x0b\x07\xf7\xfd\xd3\x70\x7c\xf9\xc5\xd0\xcb\x2f\x49\xbf\xd0\x5a\x84\x69\xdd\x3e\xa6\x2f\x7d\x39\x17\x0c\xee\xfe\xeb\x11\xf9\x93\xf1\x7d\xce\x1e\x1d\x5e\xa6\xc8\x73\x3e\x5a\xef\x21\xb7\x7d\x6f\xf3\x26\xec\x78\x49\x50\x7f\xad\xbd\x0f\xaf\x4f\xe6\xd7\xea\xe7\x9f\xab\x9f\x1e\x1f\x4b\x2f\xde\x3d\xb8\x99\x53\x9f\x1d\x83\xa7\x87\xab\x0f\xfc\xf5\xae\xf8\xe5\xb1\xea\x27\x61\xe9\x55\x0b\x6f\x57\xdd\x87\x2f\xef\x5a\x96\xdf\x57\x8f\x83\xcb\xcb\xea\x1c\xb0\x0c\xc2\xf4\xa6\xfa\xdb\x13\xc0\xa5\xec\xcb\xbb\x68\xe6\xba\x46\xfe\x5a\xdc\x87\xbf\xbd\xe4\xc2\xce\xae\x0b\x63\x76\x5f\xde\xa7\x77\xd7\x84\xbb\x97\x2e\x3e\x2d\xaa\xf6\xaf\xc8\x6f\x97\xf0\xc6\xf1\xc2\xf8\xf6\xb6\x7f\x87\x6e\xd3\xbf\x15\x17\x4f\x1a\x46\xbf\x20\x77\x77\xf0\xf5\xed\xee\xde\xfe\x75\xf8\x1a\xbc\x7f\x85\x8b\xab\xff\xdc\xd7\x3e\x21\x4b\xc2\xf4\xf6\x39\x68\xb2\xcf\x49\x05\xef\xee\x33\x68\xf8\x1a\xc3\x3b\x98\xe1\x19\xa6\x3c\xc3\x7c\xfb\x27\x4e\x91\xce\x51\x56\x56\xb8\xa5\xe2\xc5\x76\x15\x1e\x3d\x2d\xbb\x0a\xe7\x31\x7c\x5d\xfd\x98\x5d\xde\x14\xbb\x21\x4e\x95\x77\x2d\x7c\xef\x4a\xdc\x3f\x27\x3b\xce\x5e\x15\xdd\xdb\x8f\x69\xdf\x99\xf8\x31\xfd\x75\xf8\xdb\xb3\x0c\xa1\x47\x0c\xbd\x8f\xcf\xff\xff\xde\x7e\xb1\xef\x4f\x5f\xe2\x6f\xff\xea\x73\xb2\x67\x93\x82\xf5\x16\xe5\x95\xf7\xf2\x3c\xda\xde\x73\x3e\xa3\xde\x23\x7d\xf4\xee\xc3\x87\xf3\xc9\x5d\x4f\xc3\xae\xe3\x4a\xad\xb2\xa2\x5f\xd8\x53\xaf\xb9\x09\x1f\xe2\x70\xfb\x70\x2d\x79\x10\xbd\x24\x2b\x4e\x2f\x79\x1a\xaf\x20\x97\xd6\x4f\x89\x2c\x5f\xaa\x2f\x51\xa1\xb7\x2b\x6f\xef\x1e\x4a\xaf\xba\x1d\xf4\x2b\xc8\x2f\x5e\xea\x64\x7d\x64\x35\xb8\x1f\x14\x76\x33\x78\x95\xf6\xf1\xc1\xf5\x9c\xac\xb0\xab\x6b\xd2\xb3\x9e\xbb\x6b\x6d\x98\xbd\xe4\xd8\x7d\x08\xb3\x87\xde\x71\x78\x9d\x08\xf6\x21\x4c\xcb\xca\x8e\x63\xc1\x3b\x6d\x33\xbb\x70\x6f\xef\xbe\x3d\xa7\x76\x7f\xb1\xfe\x61\xba\xcb\x3e\x46\x37\xbf\x5f\xb7\x37\x2e\xc9\x92\xae\x2f\x97\x68\xed\x92\x75\x36\x6b\xca\x6f\x6f\x97\x91\xac\xae\xf2\xfa\x6d\x08\x77\x49\x71\xfd\x9a\xc9\x57\x09\x71\x7b\x96\xcf\x6e\x8d\xae\x31\xc3\xf1\x79\x8b\xf2\x35\xba\x32\xc8\x9a\x0f\xde\xd4\xab\x7c\x5c\xd7\x2a\xef\xbe\xfa\x2f\xe4\x6f\x6f\x90\xf6\x2d\xa5\xa3\x57\xc4\xf6\xe9\xdc\xe0\xcb\x1f\xd4\x5e\xd2\x17\xbe\x21\x7c\x59\xaa\x3f\x90\xbe\xd2\xfd\x0c\xcd\x6b\x86\xce\xd9\x38\xbd\xb7\xc9\xb3\x2e\x36\x58\x0b\xab\xd8\xfb\x98\x3e\xeb\x8c\xf0\x2d\xd0\x47\x59\x5c\x54\xc6\x2b\xbc\xd4\x79\x97\x82\xeb\x25\x19\xf3\xd7\xd7\x69\xfa\xbc\xbb\x87\x5d\x56\xd0\xfd\x4a\xfd\x0c\x5d\x9c\x03\xa4\x4f\x54\xb0\xb8\xf7\x7e\x2d\x7e\xbb\xfb\xf6\x8e\x6a\x96\x72\xe9\xfb\x11\xbd\x2a\xde\x43\x96\x1a\x9a\xe0\x9d\xca\xaa\xc8\xa2\xb7\xde\xae\x77\x5b\xdd\x7d\x7b\x52\xd0\x57\xd9\x8e\x3f\x02\xbd\xa7\xa6\x9c\xfd\xbf\xef\xf5\xee\x85\xf2\xd3\x9c\x7a\x0f\x7f\x76\x7f\xaa\x27\x65\x7d\x2c\xee\xab\xb3\x9a\x3e\x86\xf7\xde\xb9\xee\xdb\xfb\x0d\x59\xdb\xa9\xc2\xa3\x5d\x7d\x1c\xe4\x0f\x1d\x7c\x49\xf9\xf8\xb6\x4f\x6f\xca\x3f\x70\xf6\x52\x7b\x96\x7a\x9d\x7e\x9c\x90\xef\x34\xef\xb3\x7c\x6f\x6f\xf4\xf1\x4f\xe6\xf7\x1b\x74\x67\x3f\xf9\x73\x05\xfe\x9c\x95\x6f\xb7\x77\x5f\xab\x07\xf6\x6c\xc4\xb2\x7f\x8f\x05\xfe\x8e\xe9\x7d\x9e\xd6\x75\x11\x3f\x65\xda\x3c\x77\xa4\x0f\x35\x1e\xab\xcf\xec\x96\x53\x78\xef\x86\xee\xc9\xcd\xf0\x9a\x9b\xec\xf6\x09\xdb\x3b\x5c\x2f\xdd\x24\xb3\x34\xf5\xce\x4d\x19\xdb\xa9\xb2\xe2\xf4\x18\x9e\x79\xfc\xee\xf2\xf0\xcc\xe3\xd6\x2e\x2e\xeb\xc0\x73\xc4\x7f\xae\xfc\x8c\xc9\x2c\x7f\xbd\x43\x71\xf7\xfb\x8f\x0c\x50\x8f\xfe\x52\xf5\x7e\x40\x7b\xc5\xfb\x38\x1b\xcf\xf0\xcf\xa7\x3c\x6f\x4c\x7b\x29\xbd\xa3\xff\x3a\x6d\xe2\xb9\x5d\xe1\xd9\xee\xe9\x9c\x3a\xf7\xf1\xf1\xb9\x3b\x0f\xa4\xb4\x5c\xd2\xa4\xc6\x2d\xe7\xff\xf8\xc7\x9f\xc1\x4a\x2b\x7a\xf9\x7e\x26\xbf\x25\xfb\x86\xd1\x2c\x7d\x2b\x93\xb3\x31\xf8\xcc\x16\x38\x5e\x78\xfc\xc4\x5c\x5e\x91\x24\x9f\xc4\xd9\x2f\xc7\x61\xef\xb1\x91\x6f\x05\xfd\x0e\xd7\xbb\x61\x78\xe1\xe8\xbd\xa2\xfc\xbb\x26\x45\xef\x96\x7c\xad\x5e\x29\xfc\xaf\x83\xc6\xdb\x56\xd5\x69\xf0\xdb\x7d\xf5\x90\x94\xfe\xd9\x0e\x5f\x13\x59\x3f\x0e\x90\xc1\xab\xd2\xc7\xc1\xf0\xfa\xba\xea\x0d\xd2\x00\xbd\xbe\x5d\x4c\xd0\x93\x41\x7a\x1c\x60\xd7\xf2\x2b\x16\xe9\xb2\x58\x3f\xe3\x7a\x7a\x7f\x46\x96\xbd\x46\xa6\xbe\x5d\xc3\x9e\x91\xa9\x6f\xd7\xa5\x01\xfe\x52\xae\x78\xce\x45\x6e\x8f\x83\xd1\xe0\xcf\x26\xd6\x25\x72\x7d\xf1\xa0\xae\x16\xc0\xf9\x30\x45\xaf\x59\x76\xed\xc2\x3f\xdb\xf7\xf3\x73\x5d\x05\x5a\x16\x79\x69\xef\xa8\x5e\xec\xe5\x13\xe5\x5f\x86\x3f\x32\x27\xcf\x09\x56\x7b\x3f\xff\xbc\xce\xdc\x97\x8f\x9f\xd3\xbe\x1a\x9c\xdb\xbb\xfb\x0f\xad\xed\x57\x5e\xa1\xae\x31\x53\xca\x73\x32\xd7\x2b\xbe\x96\xd7\xa9\x70\xfb\x0e\xbe\x78\xcc\x9e\x0c\xf8\x2e\xbb\xbd\xfb\x5a\x7e\xba\xf5\xf2\x3b\x28\xfc\x73\xe4\x53\x7e\xc9\x2e\xf9\xc6\xc1\x53\x57\xfb\x82\xa7\xe7\x6f\x77\x1f\x6c\xab\xd7\x2b\xe6\x15\xe9\x27\xca\x00\xbd\x27\xf4\xe4\xeb\x79\x4f\xdb\xf1\x77\x77\xdf\xbe\x5e\x59\x7c\x5a\x96\x6f\xc3\xbb\xfb\xf0\xb2\xd9\x7e\x71\x05\x2f\xfb\xed\xf7\xcf\x60\x67\x6d\x7c\xb3\x1f\xf9\x9a\x83\x73\x2d\xe4\xdd\x7d\xbb\xbb\xf7\x1e\x4b\xaf\xea\x43\xdf\xe2\x68\xc7\xaf\x45\xf3\x1a\xbe\x57\xe6\xbb\x6f\xf7\x98\x87\xf7\x4d\xca\x17\x8b\xf0\x61\x37\xbb\x0f\x24\xcb\x38\x74\xbc\xdb\xe1\xdd\xd7\xb2\x09\x2b\x27\xb8\xf5\x7e\x45\x7e\xbb\xfb\xdd\xb1\x4b\xef\xe6\x95\x76\x7f\x79\xe2\xf5\xfc\x76\x6b\x9f\x3d\x6b\xd7\xbb\xb5\xab\x6c\x7b\x5b\xdc\xdd\xdd\x7d\xdd\x16\x9e\x1d\x7d\x7d\x69\xd7\xcf\x82\x2f\xef\x0b\xdf\x4e\x86\x27\xa4\xef\x3c\xb8\xe2\x23\xb2\xb7\x93\xe5\xcb\x65\xcc\x5e\xed\x0a\x16\x77\x5f\x5f\x70\xbd\x82\xbc\x0d\x3f\xc5\xf5\x3c\xc1\xce\x98\xca\x77\x98\x9e\x72\xe0\xc7\x99\x7f\x3b\xa0\x53\x7b\x1b\x87\xa9\x7f\xf3\x3c\x35\xbe\xdc\x0c\xa0\x12\x1a\xdc\x94\x7d\x81\x5b\x9e\xf3\x61\xbf\xcc\x9b\xf2\xdb\x55\xe6\x67\xbb\xf9\x7a\x88\xce\x5b\xb6\xcf\x63\xe7\x3d\x0f\xff\x8b\x2f\x75\xfb\x5c\xf6\xca\x81\xbf\x1d\xbc\x18\xd1\x9b\x33\x52\x77\x70\x8f\xbc\x21\xfa\x5f\xc8\xcf\x3f\xdf\x16\x8f\xaf\x76\x59\x5f\x6b\xc6\x63\xf6\x47\x13\xf2\x4a\xf0\xec\x3e\xf5\xf3\xb3\x5f\x37\x87\x1e\xf6\x1f\xaf\xd0\xdf\x5d\xd5\xa8\x9f\x8d\x77\xcf\x9b\xe2\xe9\xed\xdd\xfd\xfb\xde\x3d\x91\x2f\x7a\xf8\xa7\x65\xf8\x79\x31\x58\x7b\x5b\x4d\x33\xff\x7d\x0b\x01\x72\xf7\x35\x7c\x88\x33\xdb\x05\xae\x9b\xa5\xb7\x83\x5d\x58\x0d\xee\xfe\xd8\x7c\x7e\xf4\x92\xaf\x11\xec\xbb\x88\xf4\xfe\x6d\xdc\xf4\x90\x35\xa9\x57\x50\x4f\xdb\x2c\x17\x61\x5e\x63\xfe\xdb\x81\x1b\x1e\x9f\x82\xd0\x6b\x8b\xcb\x09\xcd\xd2\x4e\xbc\xc7\xc1\xf9\x28\xe3\x97\xec\x12\xfe\x0c\xde\x80\x5d\xc5\xf7\x88\x7a\xd8\x93\x39\xee\xcd\xc7\xd3\xa6\xe7\x1b\x6f\xe7\x32\x6c\xbb\xb0\x1f\xb4\xeb\x4b\xe9\x14\x59\x1c\x6b\x19\x71\x3e\x83\x3d\x97\xbf\xd6\xa3\x6b\x22\xf1\x2b\xf0\xd9\xa1\x83\x06\xed\x00\x7a\x5b\x7e\xb1\x4c\xd5\x3b\x96\x9e\xa2\x92\xab\xbd\xba\x1d\xf4\xca\x30\xb8\x7f\xc3\xd0\x5b\x66\x6f\xef\xee\xaf\x87\xd0\x1f\x37\x93\x9f\x36\xab\xff\xb0\xf9\xb7\x5e\xeb\x5e\x11\xed\xb5\xcf\xbb\xff\x09\xf9\xa7\x03\xf1\xe7\x6e\xbf\x0a\xc5\x9f\xbb\xfc\xe7\xf1\xf8\x0b\xfc\xf5\xcc\xe6\x87\x63\xee\x97\x74\xcc\x5f\xdf\x28\x45\xe5\xb5\x15\x99\xa5\x95\x97\x56\x4f\x1a\xd7\x6b\xdf\x83\x9d\xe7\x5e\xea\x9e\x0f\xac\xdf\x84\xc7\x77\x1f\x94\xa5\xf8\xf9\xe7\x37\xf3\xee\x43\xfd\xdd\xfd\xc5\x38\x7c\xa8\xf8\x8e\xb1\x28\x2e\x1c\x5c\xc2\xa6\x0b\x07\xc5\x33\xf9\x6f\x97\x5d\xfe\x1f\x8f\xf7\x9f\x3a\x7a\xd9\x30\x5c\x66\xae\x77\xcd\x74\xdd\x13\xb9\xee\x66\x7c\xa0\xf7\xa6\xc7\x3f\xbc\x1d\xf0\xbc\xe5\x59\x9d\xab\xbc\x1f\xde\x03\xf8\xc1\xb0\xfd\x59\xf1\x2f\x87\x17\x1f\xe2\xf1\x0f\xe1\xff\x27\x01\xf9\x5b\x44\x1f\x26\xc1\xd5\x0b\x3f\x6b\x68\x75\x3d\x91\xff\xf0\x1d\xd4\x77\xc3\xee\x0b\xde\xe7\xe3\x95\x37\x53\xa7\x2f\xbd\x92\x7b\x5d\xbe\x8d\xeb\xe2\x7f\x35\x8c\x3e\xab\xdf\x9f\x06\xcf\x57\x4b\xf0\xe9\x41\xce\x93\x1c\x3e\x31\x78\x6f\x77\xf2\xca\xaa\xc8\x4e\xaf\x62\xed\xcd\xff\x2b\xb1\x76\x4f\xe0\xca\x55\x5b\xd9\x85\x67\xbf\x38\xdc\x49\x9e\x95\x61\x0f\x69\x84\x5e\xf3\xe4\x6e\x3f\x9d\x78\x3f\xb9\xdc\x61\x49\x5e\x00\x53\xff\xf1\xa7\xe1\x53\x99\xea\x5d\xbe\x0d\x79\xc1\xf1\x5c\xf9\x0a\xef\xea\xa9\xee\xf7\xb2\xb2\x8b\xea\xcb\x79\x8f\xc4\x4b\xdd\xf3\xc3\xb7\x4f\x03\xfd\x97\xc6\xe7\x26\x1f\x77\x6b\x5e\xb3\x83\x7c\x97\xe2\xc3\xa5\xf5\x9b\x8e\x3f\x9c\x85\xf6\x10\x7b\xa9\x5f\x05\x9f\xca\xe0\x8d\x85\x1b\x0c\x3e\x87\x79\xf9\x0e\xe2\xfc\x07\x23\x67\x05\xf7\xde\x7f\xb9\xf0\xaa\x51\x9d\xbb\x6f\xf4\xff\x93\x35\xfc\x8f\xd8\xf0\xce\x61\xee\x85\x95\x0b\xaa\x57\x42\xbf\x2e\xe1\xe5\xed\xdd\xfd\xe7\xf6\xb1\xfa\x54\x38\x5e\xea\x3e\x56\x9f\xcb\xe5\xdb\x87\x3d\xcd\x57\x08\xde\x6c\x49\x5c\x07\x64\xd7\x2b\x4b\xd8\xbd\xe6\xea\xf6\xa7\xf7\x38\x22\xef\xe4\xf6\xe1\xec\xbb\x6f\xd7\xde\x8f\xe8\x75\x03\xe2\x33\xf5\x3a\xc3\xa3\xe8\xec\xf1\xf1\xf1\x8c\x8e\xcc\x5c\xef\x7a\xd6\xf4\xd3\xf0\x6b\xb8\xbb\x1d\x8e\x5f\x57\xfd\xe3\x1f\xc3\xc9\xbb\xf7\xe9\xe7\x4d\xbf\xdf\x89\xe1\xf3\xca\x8d\xa2\xb3\x9f\xde\x20\xbb\x70\x1e\xd8\xa9\x1b\x7b\x20\x3d\x69\x57\x49\x92\xe7\xbf\x3b\xea\x47\xa3\x6f\xfc\xee\xb3\xa2\x0f\x14\xbe\xa7\x12\x4f\x82\xf9\xbe\xe2\x5d\xec\xd2\x8b\xee\x7d\x7f\xa6\x5e\x56\xdb\x2b\x7b\x4f\xe3\x7f\x7b\x77\xff\x1c\x4f\x5d\x67\xe6\x1f\xcf\xa3\xf3\x9c\xfd\x2e\x88\x97\xba\xdf\xbe\xfe\x81\x5d\x40\xbe\xa3\x9b\x7d\x3f\xbf\x33\xd6\x9f\x97\x3f\xfe\x34\x3c\x5b\x3b\xef\x7a\xf6\xfe\xd5\x7b\xac\x5e\xf7\xfa\x6f\x1f\x74\xba\xac\xb7\x97\xd0\xf7\xb6\xb8\xf6\xa4\xe8\xd9\xbd\xfb\xf2\xe7\x90\x77\x2f\x5f\x07\xc4\xd7\x91\x2e\x7a\x1f\xea\x3c\x41\xbc\xb8\xf4\x7e\xff\x23\x53\x78\xb5\xca\x9f\xd9\x9f\x17\x4a\x7f\x22\xf4\x3f\x12\xf8\xdd\xd7\x37\xc6\xfa\x99\xc1\x0f\x1b\xdf\xdf\xd3\xd1\x0f\x9b\x22\x97\x0d\x91\x4f\x4d\xe6\xd7\xef\x8e\xdf\x4f\xde\x6b\xf9\xbf\xc4\xe8\xef\xba\x5c\x78\x79\x6c\x3b\x5e\xbf\x8a\x0d\xee\xbe\x16\x57\x53\xd3\x3b\x7a\xde\xc7\x2e\x14\x57\x19\xbf\xe9\xc6\x77\x2d\xdf\x9f\x4d\xa2\x4f\xd8\x7b\x2b\xb9\xa7\x6f\xd2\x0e\xb5\x57\x9c\x54\x2f\xf6\xfa\x78\xf3\x76\xf0\x0c\xf0\x8b\x53\x17\x65\x56\x0c\xee\x7a\x94\xc5\x05\x47\xf8\x83\x38\x2e\xa1\x53\xef\x19\x0d\xee\x5e\x4e\xad\xa1\xe2\xe5\xf9\x73\xfb\x7f\xf9\x24\x33\xf6\x76\xd5\x63\xf1\xea\xf4\x1b\x1a\xe4\xed\x77\x16\xa5\x4b\x8b\x2a\xcb\x1f\xc3\x3f\x85\xba\x9c\x41\x3f\x63\x66\xcf\xaf\x7f\xda\x2a\x0e\x53\x8f\xfd\x6e\xcb\x6b\xd4\xfa\x69\xfb\xef\x7c\x4b\xfa\xf5\xad\xa6\xfd\x79\x9f\xdf\x81\xbe\xef\xec\xbb\xea\xf3\x31\xfc\x63\x76\xf9\xfd\x3e\xd8\x55\x18\xd9\xf5\xe1\xfb\x80\xaf\xfa\xff\x06\xf8\x9b\xf7\x8f\x7f\x7c\x27\x36\x79\xfa\x9c\xe6\xfb\xcb\xf6\x79\xa1\x44\xde\xcf\xd9\x4f\x8d\xf6\x27\x0e\xf4\x47\xc9\x0d\xbe\x2f\xaa\xc1\xe0\xd5\x26\xf7\x33\x27\xac\x17\xe7\x5e\xf1\x18\xfe\xdb\xbe\xea\xb9\xbb\xcf\x1e\x8b\x5b\xfc\xee\xbe\xfc\x93\x93\xf8\xbf\x3f\x3b\x9e\xde\x67\x8e\xa1\xed\xba\x64\x60\x17\xef\x22\xd5\x70\x77\xeb\xfd\xd7\xe3\xe0\x66\xf0\x34\xb7\xfb\xa8\xe4\xeb\x5b\x7c\x0f\x4e\x60\x17\xa5\x57\x5d\xe3\xb7\x0f\xe5\xbf\x7a\xbf\xfd\xfc\xf3\xed\xc5\xfe\x7d\x5a\x7b\xf7\xda\x98\xbf\x00\x9c\xa0\xf7\x05\x5b\xbb\xf4\x7a\x2b\xf1\x53\xf1\x81\x56\xfb\xf4\x5d\x4c\xbf\x72\xdd\xbe\xab\xec\x55\xeb\xfc\x8d\xfc\x6d\x78\xf7\xeb\xfb\x86\xbf\x0c\x7f\x7b\x8a\x87\x7f\xbc\xc5\xaf\xe8\x6f\x7f\xfb\xab\x4d\x86\xbf\x41\x8f\xde\x97\xbf\xd4\x0a\xfd\xcb\xac\xa1\x57\x3a\x57\x97\xe5\xa5\xea\x32\x47\x94\x7e\x6d\x7a\x8f\xf1\x74\x77\x77\xf7\x6c\xcf\x5f\x21\x83\x8a\x5f\x86\xff\xf5\x61\xd8\xb2\xb8\xbc\xfb\x08\xdc\x14\x76\x6e\x17\xbd\x15\x12\x7b\xef\xef\x3d\xaa\x47\xe4\x1e\xfa\x30\x9c\xff\xf5\xae\xe0\xb2\x5d\x75\xd9\xac\xfa\xdb\x07\x26\x7f\xf9\xe5\x7d\x97\x2e\xf0\xfd\x1c\xbf\xfb\xbe\x58\x3f\xf4\xf5\x21\x2c\xd7\x85\x9d\xe7\x9e\xfb\xf8\x13\xf2\xb5\x77\x34\x6e\x7a\xcf\xf7\xf1\xf1\xb1\xb8\xea\x50\x2f\x8b\x1f\xd4\xc6\xf7\x2c\x85\x69\xe9\x15\xd5\x59\x04\x4f\xdf\x66\x65\x8f\xc8\xd7\xec\x3f\x8b\xaf\x10\x94\xdd\x9d\xbf\x66\xfc\x51\x4e\x3f\x25\x78\xf7\x90\x67\xf9\xed\xdd\xaf\xbd\x66\xfc\x05\xc5\xe8\x47\xed\xac\x4d\xe8\x1f\x71\xf0\xdd\x76\xbf\xfe\x55\x45\xbc\xb6\x7b\xfc\x50\x5e\x17\xa0\xaa\x8a\xfb\xc1\xcd\xe0\x7e\xf8\xdb\x07\x25\x7d\x8d\xf2\xa1\xcc\xcf\x07\x11\xef\x55\xe9\x1e\xb9\xff\x13\xac\xef\xed\xd3\x1f\xce\x98\xef\xf3\xe8\xdd\x17\xbf\xbd\x67\xb0\x85\xa0\xbf\x34\xb1\xee\xcf\x7a\xf5\x17\x27\xf1\x1f\x88\x6d\x70\x8f\x7c\xc6\xd3\xfb\x05\x6e\xeb\xc5\xf1\xe7\x0e\xe8\x7b\xd9\x1c\xc3\xb2\xb6\x63\xc2\x8b\xe3\x8f\x4c\x3e\x79\x5d\x97\x35\x6e\x9b\x15\xae\x57\x90\x59\x9c\x15\x8f\x83\x26\x08\x2b\x6f\xf0\x9d\xb8\xe3\x79\x75\xf9\x21\x54\x83\x6f\xf7\x43\xe4\x83\x26\xe4\x59\x2e\xa5\x17\xb6\xde\xd5\xec\x32\xa7\x2e\x6f\xdf\xef\x3b\xf6\x02\x65\x3c\xef\x63\xf8\xfc\x5a\x27\xd3\xa3\x57\x54\x74\xf6\x49\x57\xdb\x47\xe4\xee\x2f\x5a\xa8\x8f\x48\xbe\x6f\xa2\xee\x3e\xf4\xaf\xfd\xd4\xb0\x7e\x5c\xd6\x7e\xf9\xe5\x9d\xeb\x62\x17\x45\x68\xfb\x9e\x72\x96\xf1\x1f\xf4\xb6\x7d\x44\xde\xe9\x84\xed\x44\x65\x6e\x3b\x1f\x77\x0a\x5f\x73\x85\xfc\x39\x0b\x95\xbd\xfd\x43\xba\xef\x0a\x52\xaf\xad\xd4\xaa\x37\x5a\xef\xb7\xc7\xc3\x5d\x25\xd5\x1f\x77\xa0\x5e\x49\xcf\xab\xfc\x85\x77\xf4\xe2\xdb\xf7\xd1\xfe\xb9\x31\xf7\x47\xfd\x7f\x69\xfb\x3e\xd4\xb9\xd8\xe8\xde\xd9\xf9\x24\xb8\xb9\xfc\x0d\xdf\xf9\xc3\xda\xdb\xea\xf1\x7c\xf4\xf9\x9f\xc3\x7e\xa8\x1f\x87\x77\xf7\xc5\x0f\x2e\x0a\x1f\x16\x8f\xf6\x3e\xfb\x30\xa7\xbd\xc2\x2e\xbd\x7e\x56\xdf\xde\x5d\x0d\xd7\xd7\xea\x97\x5f\x7e\xfe\x39\xfc\xcf\x4f\x14\xe3\xeb\xfb\x15\xf5\xc5\x80\x14\xcf\x96\x32\x84\xa0\x7b\xe4\x3e\xfb\x03\xab\x5a\x5c\x97\x8f\x77\x3a\x75\x0e\xc0\xf4\xfc\x93\x50\xaf\x17\xc0\xd7\xea\x45\x02\x1f\x34\xfe\x69\x57\xf3\x55\xd9\x7f\x22\x9f\x4c\x8d\xc7\x0f\xbb\x5e\x67\xa2\xd4\xfb\x4d\xab\x1f\x23\x0b\x7d\x42\xf6\xc3\x84\xea\xc3\xc2\xcf\x38\xf9\x04\xec\x97\x8f\x34\xfe\xe9\x09\x7a\xee\x17\x93\x15\x8d\x5d\xb8\x7f\xbd\x6b\xed\x27\x5d\xfb\x1e\x2b\x1f\x8d\xd8\x67\xab\xf0\xfb\xa9\x73\x61\x90\xb0\x9d\xe8\x9f\xe4\xf0\x87\x05\xf3\xa1\xe5\x27\xda\xd2\x7e\xa6\x2d\xed\x77\xb4\x65\xe9\xb5\xd5\x22\x4c\x3f\xdb\xeb\xfd\x3f\x41\x63\xde\x5b\xdc\x0b\xd3\xab\xc2\x73\xbc\x3e\x36\xff\x27\x39\xff\x2b\x53\xec\x07\x59\xea\x6d\x1f\xd8\x96\xd9\xff\xc3\xde\xb7\x68\xb7\x8d\x23\x89\xfe\x8a\xcc\xed\x56\xc8\x10\x92\xf9\x90\xa8\x97\x61\x6f\xe2\xb8\xa7\xb3\x93\x47\xdf\x38\xdd\x3d\x7d\x65\xad\x87\x96\x60\x89\x13\x99\x54\x93\x50\x1c\x4f\xa4\xf9\xf6\x7b\x50\x00\x29\x92\x00\x29\x39\xe9\xcc\xcc\xde\xb3\x39\x27\x32\x08\x56\x15\xf1\x28\x00\x85\x42\xa1\x6a\xb9\x56\xea\xcd\xf7\x31\x00\xa6\x2d\x5b\x59\xd3\x4a\xbd\x2b\x8a\x47\x9c\x6c\xcb\x46\x31\x4e\x55\xe1\xa7\xd8\x39\x23\x63\x7b\xd2\xb2\x87\x16\xa2\x27\xd6\x19\xc5\xd6\x90\x56\xf6\x4a\x55\x37\xc4\x27\xd6\x59\x8c\xad\x61\x5c\x35\x4c\xa4\x69\x5b\x8c\x0b\xb9\x62\xb1\xd4\xd2\x98\xd6\x0c\xef\xf7\xf9\x95\x90\x18\x9f\x53\x91\x9f\xd7\x75\xb3\xb1\xd9\x8c\x2e\x4d\xdd\x07\xaf\x90\xb0\x42\xbc\x0c\x5f\x88\x9b\xc3\x52\xab\x2a\x0c\x74\xac\x21\x2b\x83\x6a\xa5\x79\x17\xcc\x17\xd2\x1e\xe3\x93\x54\x5f\x03\x49\xed\xfc\x60\xda\x23\x5a\x5e\x94\x58\xe3\x8f\xa8\x69\x96\x2b\x07\xdf\x62\x9c\xae\xd3\x82\xa1\x8d\x5d\x59\xb0\x57\xe4\xf6\x0b\xcb\xa5\x6c\xdd\xaa\x02\x38\xbc\x00\x2a\x26\x7a\x14\x1d\x77\x98\x53\x72\x96\xd7\x58\xce\xd7\x2d\xd5\x37\xe2\x53\xc5\x98\xe5\x58\x34\x0e\xee\x2e\xa9\x1f\x83\x99\x8c\x4a\xa0\xd8\x5d\xfa\x57\xbd\x6d\xc5\x48\x1e\xf9\x0f\xb3\x20\x59\x55\xe3\xb1\xb7\x80\x57\xde\x39\x08\x9e\x93\xe6\x2a\x15\xab\x7d\x0d\x9b\x15\x79\xe3\x2b\xf8\xa2\xd8\xc7\xd5\x9d\x58\xc6\xdb\xaa\x84\x42\x06\x5a\x21\x14\xfe\xd1\x22\x21\x9f\xbd\xca\xac\x92\xdf\x60\x54\xe1\x28\x3f\xd0\x0a\x4c\xf5\x6c\x93\x67\xcc\xaa\xbd\xff\x9d\xff\xe9\x15\x00\xec\xe7\x50\xc5\x02\x05\x9f\x97\x16\x7b\xce\x62\x2d\x14\xb7\x5a\x28\x68\xb5\x2a\x84\x52\x21\xb9\xc6\xc8\x2a\xbf\xbf\x59\xfa\xe1\x07\xe8\xba\x23\x4b\xde\x3e\x15\xb0\x03\x64\x4b\x7b\xfe\xfa\x5d\xf9\xe1\xc0\xf9\x0e\x91\x6c\x2f\x96\x84\x92\xff\xc9\x2c\xf3\xaf\x64\x18\x6c\xab\x39\x46\x21\x70\x14\x3b\xdb\xb4\xbf\x8a\x59\xe2\x7f\x25\xb3\xd4\x6c\x3a\xbf\x9a\x59\x0e\xdb\x5f\x1e\xb4\x91\x94\x66\xdd\xaa\x3e\x49\xf7\x94\xeb\x64\xa1\x97\x2f\x42\xf3\xc6\x28\xed\x2a\x0f\x93\x90\x0a\x1d\xa6\xaa\x6e\xb9\x0d\x52\x43\xc7\x55\x65\x49\x1f\x4d\x4c\x0c\xa8\x1a\x56\x33\x1e\xc3\x47\x59\x09\xff\x20\x7e\xe2\xaf\xa4\xed\xf3\x37\x6d\x5f\xd1\x24\x7f\x58\x13\xb3\xfe\xfa\x77\x6d\x5f\x18\x3d\xff\x1f\xe9\x88\xc6\x81\x69\x4e\x70\x54\xa7\x0a\xf8\x83\x76\x33\xab\x98\x7c\x54\xed\x66\xa6\x0b\x9f\xed\x10\xbf\x72\xdf\xf9\x6d\x75\x23\x3f\xa6\x5b\xd8\xf4\xe2\xf6\xbf\xa3\x02\x27\x26\x2b\xe2\xd3\x4c\xad\x70\x9e\x7a\x6b\xab\xef\x3c\x99\x31\xab\x4f\x9e\x54\x43\xf6\xc1\x40\x01\x8e\x55\x07\x9b\x9b\x4d\x39\x77\x46\x6e\x73\xe7\x31\x9c\x6d\x64\x54\xc6\x90\x81\x7c\x27\xef\x05\xf9\x18\x4c\x81\xe9\x83\x9b\x35\x2d\xc9\x56\xac\x32\xa7\x56\x6a\x1f\x56\x60\xba\xdb\xe0\xd3\x99\x76\xaa\xc9\x22\x0b\x7f\x27\xb7\x76\x90\xe8\xdc\xf6\x5e\x33\xca\x67\xb9\x70\x75\x26\x68\x9f\x5b\xed\x8b\xcb\x73\x53\x1b\x9f\x5a\x23\xa7\xe7\x8d\xac\xa9\x26\x9d\x34\x32\x2a\xf1\xa7\x8f\xb4\xb5\x0e\x83\x69\x34\x23\x07\x10\xeb\x77\x47\x83\x6e\x25\xb1\x25\xf7\x14\xa1\xa4\xc2\xaa\x6f\x6a\x15\x88\xa9\x8b\x27\x49\x15\x27\x17\xc0\x1d\x75\x2c\xcb\x72\xa1\x0c\x4a\x5a\xa2\x5d\x84\xbd\x60\x5d\x6d\x95\x20\x99\xcb\xaa\x3d\x25\x39\xb3\x47\x4e\x7d\x33\xec\xad\xcc\x99\xc7\xea\x20\x1f\x06\x7d\xd5\x54\xf3\xa0\x9a\x6a\xbe\x56\x5f\x58\x2c\xe3\x2f\x5f\x3f\xd5\xfc\x3b\xab\xc1\x7f\xfc\x45\xa9\x0d\x64\x35\x82\xfa\xb0\x04\xab\x12\x19\xdb\x69\x86\x3d\x51\xf6\x84\x50\x1b\x7e\xeb\x7a\x62\xae\x89\xfc\xb6\x53\x37\xf5\x6f\xce\x97\xc4\x8f\xab\xfb\x1a\x5b\x67\xc2\x61\x51\x89\x1e\xf5\x6f\x12\xf9\xa4\x78\xe8\xb2\xf9\x4e\x2e\x0e\x83\xc6\x9f\xcb\xb7\x05\x12\x02\xa6\x09\x65\x2b\xe1\x4c\x1f\x6b\x1b\xbb\x65\xc3\x1a\xd1\x93\xf4\xc5\x4e\xd1\x27\x28\xe8\x63\x32\xa6\x93\x89\x91\x99\x4f\x28\xa7\x5c\x20\xae\x9d\x55\x4e\xc9\x86\xac\x54\x92\x54\x41\xfe\x8a\x49\x95\x3e\x2b\xed\x39\x48\x2b\xf8\xc8\xaa\x55\xf9\x24\x84\xc2\x92\x98\x10\xaa\x5b\x28\x2a\xfb\xf0\x97\x3a\x3e\x0f\x6f\x3f\x12\xde\x79\x24\xbc\xab\x80\x2f\xea\x16\xcb\xc8\xfe\x47\x32\x3b\x87\x5b\xfb\x32\x77\x95\xbf\x24\x5c\x38\xda\xae\x23\xbd\x89\xee\x93\xc2\x87\xbc\xf2\x87\xa2\x38\x98\x07\x21\x30\x47\xb1\x7d\x7b\x65\xc8\xa2\xa1\x4f\x09\xda\x76\xf2\x17\x3c\x3d\xe9\x33\x70\x81\xf2\x92\xc4\x81\xbf\x6c\xac\xa2\x98\x36\x62\xf2\xfb\x9a\x24\x94\xcc\x1a\xb9\x8e\x6e\x7c\x20\x0f\x2b\x7f\xd6\xd6\xa4\xc6\xcc\x01\xfd\x19\x60\xb2\x2b\x0a\x3b\x98\x8f\x01\xb9\x67\xb4\xdb\xc9\x43\x38\xbd\x04\x09\xff\x59\x4c\x7c\xbd\xd0\x00\x83\x21\x2f\x2f\x71\x45\xc2\xb2\x9c\x2c\x25\x75\xc3\x27\xdb\x7a\x1d\xad\x13\x82\xc1\x3a\x7e\x2c\x9b\x60\x7c\xa4\x8e\x25\x40\x6c\xe2\x56\x00\x85\x51\x7c\xe7\x2f\x39\x14\xc8\x31\x76\x7a\xab\x6f\x07\x73\xc7\xde\xc2\x7d\x98\x44\x51\x35\xd9\x53\x24\xdc\x90\x20\xa1\x7f\xb3\x24\x2d\xc0\x6d\x11\x40\x96\x9b\x2e\x01\xab\xd9\x20\x0a\x5f\xfb\xa1\x3f\x27\x71\x7b\x16\x24\x0c\x4d\x97\x77\x73\xac\x93\x9e\x07\x60\x4f\xda\xa0\x51\x03\xe8\x36\x38\xdd\xb6\x56\xd4\xdc\x5a\x56\x47\x1e\x80\xe1\xec\x87\x68\xba\x4e\xca\xbc\x61\x59\xdd\x32\xec\x9a\xde\xf2\xf6\x90\x40\x25\xd6\x49\xe6\xb1\x1a\xd4\x96\xa9\x32\x09\x45\x05\xec\x48\xa0\x7c\x07\xf4\x63\x30\x9b\x11\xb0\x2a\x2f\x50\xee\x08\x2e\xe9\xf4\x52\xd6\xe8\xf4\x86\xc1\xad\x7e\xa4\xec\xd8\xcc\xe0\x1f\xe4\x6a\xa5\x41\x1a\x02\xc9\xba\xfc\x8a\xef\x07\x41\xfb\x25\xbd\x62\x99\xe8\x93\xc4\x8f\xe8\x41\x82\x44\xd9\x0e\x58\x6a\xb9\x6c\xb3\x9d\xdf\xef\xaa\xa1\xc4\x16\x9f\x2d\x1f\x65\x00\x96\xb7\x2d\xef\xc8\xd3\x5b\xc2\x87\x8e\x41\xf5\x98\x90\xcf\xdd\x92\x45\x74\xcf\xe7\x7b\xdd\xd8\x6e\xe1\x3a\x40\x43\x5e\x2d\x24\xde\xdb\x99\xdf\xe1\x23\x6b\xab\xb8\xc8\xf6\x95\xcb\x5f\x46\xe3\x5f\xba\x00\xda\xc5\x35\xc3\x76\x15\x46\x7d\x4a\x29\x2d\x5b\x4e\xa4\x37\x62\xed\xa8\x82\x57\x2e\x28\x48\x2d\xa8\x64\x48\x07\x2f\x38\xf6\xa3\x16\x1c\xfb\xf1\x0b\x0e\xb4\x32\x9b\xcd\x6e\xfc\xe9\x07\x36\xa5\x71\xb6\x7b\xd4\x3a\x23\x49\x86\xdf\x72\x9d\x51\x7c\x6d\xb7\xc2\xc8\x2f\xf3\x2b\x8b\xfc\xb6\xb0\xa6\x48\x6f\xe5\x35\x25\xbd\xfc\xf4\x65\xcb\x0a\xc7\xd2\x1f\xb3\x4c\xd8\x87\x2f\x13\x65\xd0\x9a\x65\xc2\x7e\xcc\x32\x61\x3f\x66\x99\xb0\x0e\x58\x26\x94\x3d\x54\x71\x5a\x22\xd9\x03\x00\xb0\x58\x32\x54\x8b\x45\x05\x82\xd2\x22\x99\x1f\x04\x57\x20\xc0\xf2\xb2\x6f\x27\x23\x80\xe5\xb3\xd7\x2a\xaa\x6a\x23\xc8\xf7\x51\x55\x31\x76\x0b\x54\xcd\x9a\x54\x8b\x9b\x2e\x5b\x8a\x4d\x90\x1a\x8d\xbd\xaa\x58\x8b\x76\x7e\xc6\x6a\xb8\x3c\x49\x7d\x19\x2b\x3b\x54\x1a\x25\x31\xb9\x8d\x49\xb2\xd0\x25\x89\xae\x62\x37\x7a\xf0\xfa\x99\x5f\x27\x8d\x2f\x5b\x27\xed\xf2\xe5\x98\x85\x1f\x57\x68\xdf\x82\x5b\xdd\x86\x7b\x9a\x7c\x5d\xdc\x6c\xac\x23\x2e\xea\xe6\xf4\x8d\x39\xfb\x1e\x14\x60\x4b\x38\x02\x2a\x8e\x25\x46\xfe\xf4\xd4\xee\x23\x79\x5f\x93\xbe\x1c\x34\xbb\xb6\x8d\x42\xdc\xb5\x6d\xe9\x5a\x09\x87\x19\x05\x27\xf1\x28\x30\x4d\x03\x74\xf0\xc1\xc4\x38\xc5\xae\xd5\x6c\xd2\x13\xec\xf6\xce\x12\x4c\x5b\x2e\x18\x13\x75\x78\x5e\xa7\x77\x16\x62\xda\xea\x40\xde\x80\xe7\x0d\x18\x9c\x4e\x4d\xdc\x37\x5a\x03\x78\x61\x5b\xfc\x8d\x6d\x31\x70\xf1\xca\xb6\xac\x21\x77\x43\xac\x4b\x95\x11\x9a\x4e\x75\x65\xb2\x97\x35\x95\x11\x30\xc6\xd0\x86\x2f\x44\x1b\x6c\x0f\x3b\x69\xd2\x19\x76\xd3\x64\x67\xd8\x4b\x93\xfd\x61\x3f\x83\xf5\x86\x8e\xc3\x1f\x9a\xb8\xe5\x0c\x9d\x4e\xf6\xe0\x0e\x9d\x6e\xf6\xd0\x1d\x3a\xbd\xec\x61\x30\x74\xfa\xd9\x83\xdd\x1b\xba\x03\x78\xda\x53\xfc\x61\x87\x83\xd5\xd5\x62\xe8\x72\xc2\x0e\xec\x80\x02\xd3\x9e\x9c\xe9\x81\x89\x1d\xd4\x62\xb5\xd3\xa5\x2f\xdc\xf9\x74\xba\x00\x33\x70\xdd\xe9\x76\x9b\xac\x17\x91\x48\x98\xf6\x2e\xe9\x4c\x0c\xa3\xd9\xd4\x13\xf6\x65\x03\x31\x82\x06\x34\x0c\x07\x83\x37\x14\xa7\xc0\xd8\x99\x18\xc3\x4e\x6d\x39\xc2\xaf\x2b\x47\x58\x59\x8e\xb0\x5c\x0e\xdb\x12\x8c\xf3\x75\xbc\x51\x5e\xb2\xe3\x38\x8a\x75\x4d\x38\x1f\x6b\x5c\xfe\xe9\x5d\xc3\x4f\x07\xec\xb0\xf1\xfd\xac\xad\x21\xc5\x25\x2d\x3e\x6a\x70\x74\x72\x62\xf7\x37\xc9\xc9\xc9\x60\x13\xf2\xf9\xa2\x02\x50\x5d\x98\xf2\xa9\xf6\xc7\x60\x4a\x2e\xa9\x4f\xd7\xd2\x4c\xf1\x47\x49\xc4\xf2\x12\x5f\xd6\x00\x6b\xa6\x7c\x77\xc6\x36\x4c\x6d\x24\xbf\xf8\x04\x2f\xde\x69\xd5\x73\xa5\xb4\xf6\x97\x3f\x67\x85\x5a\xbd\x2e\xa5\x8c\xf0\x65\xc5\x2b\x2a\xee\xa2\x5b\xfa\xae\xe8\x88\x43\xba\xd6\x57\xde\xcb\x56\x5f\x4d\x52\xbc\x2c\x88\xe3\xe5\x97\x92\xca\xe7\x0f\x15\x97\x6b\x88\x65\x1b\x9e\x6a\x89\x42\x2a\x4b\x9d\xcc\xc0\x57\xdb\x32\x46\x3d\xc3\xef\x15\x8f\x1e\xe4\x32\x88\xab\x8d\x4a\x51\x62\xbe\x24\x1f\xc9\xb2\x12\x27\xc1\x63\x86\x35\x91\x14\xb7\xbc\x2d\x20\x68\x4f\x85\xf6\xf8\xc4\x3e\xb3\x87\xa0\x46\x16\x5c\x4d\xb3\x3d\x65\xa5\xaa\xf4\xed\x0a\xe8\x68\xd3\x1d\x75\x0d\x69\x37\xcb\x68\xfa\x41\x2b\xa9\x26\xd5\x92\x44\x25\x8d\x75\x38\x23\x31\x04\xcd\x29\xd0\xe9\x0e\xab\x06\x4d\x55\x59\xfc\x58\x33\xb6\xc2\xe6\xf2\x7b\x07\x63\xbb\x3c\xb3\x49\xa8\xcf\x97\x41\xf8\x41\x43\xb1\xac\xfd\xe6\x7c\xf7\x8e\xcc\xcb\xe7\x12\xca\xc9\x48\x3e\x66\xdc\xf1\x9d\x2e\x8e\x55\x0d\x99\x9f\x0a\x1c\x08\xe7\x1a\xcd\x26\x1c\x73\xa8\xd8\x11\x0c\xa0\xcb\x8d\x01\xdb\x6b\xc5\x59\x84\xcc\x35\xf2\xbd\x0a\xb6\xfd\x16\xe3\xa6\xa6\x82\xb0\x49\xff\x8b\x6c\x82\xa0\x02\xfb\x4d\xe2\x78\x49\xb1\x42\xa3\xf8\x80\x8f\x4a\x43\x87\x97\x62\xb3\x51\x54\x4b\x59\x90\xcd\xc6\xca\xee\x58\x83\x5b\xa6\x1f\xb9\x4b\x03\x9c\x8c\xb8\x83\xf4\xc2\x09\x78\x7a\x05\x9a\xe6\x0c\x37\x40\x20\x0d\x52\x3b\x5d\xf0\x6b\x42\x4e\x82\xb1\x35\x81\xde\x24\xa7\xc1\x38\x9a\x8c\xed\xc9\xce\x7b\x09\x93\x6b\x47\xd1\x29\x8e\x47\x70\xe9\x95\x5b\xd4\xde\x2e\xa3\x28\xd6\xf5\xd8\x8c\x8c\x63\xc7\x40\x0c\x8d\x72\x34\x4c\x4d\x1b\x74\x42\xe0\xbc\x01\x68\x53\x46\xdb\x48\x29\x5a\xa3\x08\xcc\xe7\xd3\x0f\xec\x3c\xe4\xc7\xb9\x08\x11\xe4\x14\x77\xdc\xae\xd3\x6c\xea\xe4\x04\x77\x3a\x9d\xde\x66\x33\xb0\x2c\x26\xbc\x10\x48\x39\x3c\x45\x4e\xb1\x6d\x0f\xac\x4e\xb3\xc9\xc0\x1c\x7b\x60\x37\x9b\xb6\xe3\x76\x41\x48\x87\xd7\x9d\x8e\xe5\x3a\xf0\xba\xdb\x75\x2c\x17\xf2\x3c\xb7\xd7\xe1\x28\x5e\xc7\xe9\x76\x79\x5e\xd7\x62\x82\x32\xcb\xeb\x5a\x9d\x41\x9a\xd7\x73\x44\x9e\xed\xa6\x70\x4e\x3f\x85\x73\x7b\x9e\xc8\xeb\x8a\x22\x78\xdd\xae\x6d\xf1\x62\xb9\x76\x8a\x6c\x0f\x3c\xcf\xe2\xd8\x90\xec\x43\xae\xe3\x39\x76\xc7\xe6\x03\x3b\xc0\xe3\x71\xcf\xeb\xa3\x7e\x6f\x30\x41\x63\xdb\xee\x76\x91\x6d\x77\xfb\x90\xf6\x2c\x64\xdb\x9e\xcd\xd2\x1d\xa7\x8b\xec\x8e\x07\x30\x9d\x9e\x8d\xd8\x0f\x4f\xbb\x2c\xdd\xe1\x69\x8f\xa5\x7b\x3c\x3d\x60\x69\x80\xef\xba\x1e\xb2\xbb\x2e\x4f\x77\x1d\x64\x77\xbb\x00\xe3\xd9\x36\xb2\x3d\xd7\x82\x74\xa7\x8f\xd8\x0f\x4b\xf7\xba\x16\xb2\x7b\x1e\xd0\xec\x79\x3d\x96\xe6\xf9\x3d\x96\xdf\x73\x59\xba\x6f\xf5\x10\xfb\xe1\xe9\x01\x4b\x03\xfd\x7e\xc7\x42\x76\xdf\xf3\x58\x7a\xd0\xed\x23\x7b\x00\xb8\x8e\xe5\xf4\x90\x63\xb9\x5d\x96\x76\xad\x2e\x72\x5c\xcb\x83\xb4\xd7\x41\xec\x87\xa7\x07\xc8\x71\x7b\x3c\xbf\x6f\x23\xf6\xc3\xd3\x0c\xbe\x0f\x74\x3a\x96\x83\x9c\x8e\xe5\x42\xda\x75\x11\xfb\x81\xf4\x80\xe5\x0f\x1c\x9e\xee\x21\xa7\x6b\xb1\x7a\x39\x5d\x6b\xc0\xd2\x03\x48\xbb\x16\x72\xba\x2e\xd0\xec\x7a\x36\x72\xba\x1e\xc0\x7b\x8e\x85\xd8\x0f\x4f\x77\x59\x1a\xca\xe0\xb9\x36\x72\x3c\x97\xc3\xb8\x2c\xdf\xed\x41\xba\xe7\x20\xc7\x83\x76\x70\xbc\xfe\x00\x39\xde\x00\x70\x7b\x9d\x3e\x62\x3f\x90\xee\xba\xc8\xe9\x41\x3b\x3b\xbd\xee\x00\x39\x3d\x8f\xc3\x78\x5d\x96\x86\x76\xe8\xf5\x3d\xe4\xf4\xfa\x00\xd3\xb7\x7b\x88\xfd\x40\xba\xe7\x21\xf6\xc3\xd3\x03\x96\x86\xf2\xf7\x59\x9b\xf4\xfb\xf0\xdd\xfe\xc0\x45\xec\x87\xa5\x07\xac\x4d\x06\x16\x94\x73\xd0\xf1\x10\xfb\x99\xa0\xb1\x6b\x59\x7d\xc4\x7e\x20\xed\xd8\x88\xfd\xb0\xb4\xed\x76\x90\x6b\xbb\x00\x63\x77\x1c\xe4\xda\x9d\x0e\x4f\x7b\x2c\x3d\x80\x74\xb7\x87\x5c\xce\x87\xae\xe3\x59\x88\xfd\xf0\xb4\xcb\xd2\x2e\xa4\x7b\x2c\xbf\xc7\xf3\x7b\x1e\x4b\xf7\x20\x3d\xe8\x23\xd7\x19\x00\x1d\x77\xe0\x22\xd7\x1d\xb0\xfa\xba\x1d\xab\x8b\xd8\x0f\x4b\xb3\xbe\x60\x3f\x3c\xdd\x47\x6e\xb7\xc3\xd3\xac\x3c\xdd\x0e\xab\x8b\xeb\xb9\x2e\x62\x3f\x3c\xed\x21\xd7\x13\xf9\xdd\x2e\x72\x3d\xe8\x3b\xb7\xe7\xd9\x88\xfd\xf0\x74\x87\xa5\xe1\xbb\xbd\x1e\xcb\xef\x71\x98\x3e\xcb\xef\x43\x7e\x9f\xc1\xf4\xa1\xfd\x5d\xd6\x86\x2e\x6f\x43\xb7\x3f\xe8\xb2\xb4\xc8\xef\xb1\x34\xd4\x65\xd0\x75\x91\x3b\x00\x7e\x76\x07\x5e\x1f\xb9\x03\x4e\x73\xd0\xeb\xb0\x34\xc0\x0f\x18\xfd\xc1\x00\xca\x30\x18\xb8\xa8\x63\x39\xac\xdd\x3a\x96\xdb\x47\xec\x87\xa5\xed\x8e\x8d\x3a\xbc\x9d\x3b\xac\x9d\xd9\x0f\xa4\xbb\x16\xea\xd8\x5d\x9b\xa7\x5d\x96\x76\x21\xdd\xef\xa0\x8e\xdd\x67\xf4\x3b\x9d\x4e\x1f\x75\x3c\x18\x6b\x9d\x41\x77\x80\xd8\xcf\x04\x8d\xbb\x03\xcb\x43\xdd\x01\xf4\x6f\x77\xe0\xf6\x51\x77\x00\x6d\xd8\x1d\xf4\x2c\xd4\x1d\xc0\xfc\xe0\x59\x96\x83\x3c\x0b\xc6\x8b\x67\x79\x7d\xe4\x59\xd0\x3e\x9e\xd5\xb3\x91\x67\x41\x7f\x79\x56\xdf\x43\xec\x87\xa7\x07\xc8\xb3\xa0\xef\x3c\xdb\x1a\x20\xf6\x03\xe9\x6e\x17\x79\x36\xf0\xb3\xe7\xda\x2e\x62\x3f\x2c\xdd\x71\x1d\xe4\x75\xdc\x0e\x4f\x0f\x90\xd7\x81\x32\x78\x9d\xae\x85\xd8\x0f\x4f\xf7\x58\x1a\xe8\x78\xbd\x01\xf2\xbc\x3e\xe4\x0f\x6c\x07\x79\x03\xbb\x0b\x69\xaf\x83\xd8\x0f\x4f\x7b\xc8\x1b\xf4\x38\x4c\x8f\xc1\x40\x9b\x7b\x83\x5e\x9f\xa5\x59\x7d\x7b\x96\x3d\x40\x3d\xcb\x61\xe5\xe9\x79\xb6\x87\x7a\x7c\xcc\xf6\xbc\x5e\x1f\xf5\x3c\x18\x2f\x7d\xc7\x72\x51\xdf\x81\x76\xeb\x3b\x6e\x07\xf5\x1d\xe8\x8b\xbe\xd3\xef\xa3\xbe\x03\xfd\xd5\x67\xbc\xda\x77\xa1\x7d\xfa\x1d\xcb\x42\xfd\x0e\xcc\x0f\xb6\xe3\xba\x16\x62\xbf\x5d\x78\xea\x74\x6c\xc4\x7e\x59\x39\x3a\xae\x65\x77\x10\xfc\x8a\xa7\x01\x3c\x0d\xf8\x53\xa7\xcb\x9e\xa0\x77\xbd\x8e\xc3\x9a\x96\xfd\xb2\xa7\xae\xe5\x74\x90\xd7\xb5\x60\x26\xf6\xba\x56\xd7\x63\x4f\xbc\x5d\xba\x0e\x6b\x18\xf6\x0b\x4f\x5d\x87\x3d\xf1\xb9\xca\xeb\x5b\x83\x1e\x62\xbf\xf0\xae\x6f\x5b\x36\x62\xbf\x8e\x78\xea\xb3\x27\x9b\x43\xda\x5d\x87\x3d\x75\x3b\xe2\x69\x00\x4f\x7c\x65\x19\xd8\x1d\x17\xc1\x9f\xae\x78\x86\xb5\x66\x60\x43\x4b\x43\x82\xbf\x17\x2b\xd1\xc0\xb1\xd9\xfa\x33\x70\xa0\xa7\x6d\x7b\xe0\x7a\x0e\x82\x3f\x8c\xfa\x80\x2d\x13\x5d\xc4\xff\x88\x67\xd7\x63\xcf\x1e\x94\x7a\x60\xf7\x7a\x9e\xc5\x9e\x07\x83\xc1\x24\x8b\xd1\x92\x09\x29\xbb\xf8\x52\x16\xc6\x38\x38\x23\xed\x70\xbd\x1c\x06\x27\xae\xb3\xd9\x04\xa7\xd8\x76\x7a\xcd\x66\x70\x62\x7b\xd6\x19\x81\x20\x44\x71\xb4\x1c\x52\x3d\x30\xce\xac\x61\xcc\xfe\x38\x43\x7b\xbb\xd5\x3f\x33\x24\x0b\xa5\x00\xd6\xb7\x8a\x20\x15\x92\xfb\xc6\x3b\x32\xbf\xf8\xb4\xd2\x35\xfd\x6c\xf8\xdf\x9b\xf1\x7f\x5f\x5d\xcd\xfc\xd6\xdf\xaf\xae\xda\xad\x89\x69\xe8\xfa\x82\xd2\x55\x72\x36\xbc\xba\x3a\xbe\xba\x3a\x36\x74\x5d\x1f\x17\x00\xae\xae\xda\xfa\x98\x3f\x4e\x3e\x3b\xc8\xdb\x1a\xc6\x46\xd7\xaf\xae\x66\x9f\x6d\xe4\x6e\xaf\xae\xda\xc6\x67\xf6\x87\x3f\x1a\x1b\x7d\x19\x4d\xfd\xe5\x22\x4a\xa8\x61\xe8\x43\x9e\xdf\xdd\x1a\x67\xfa\xd5\xd5\xf1\x18\xbe\x71\x7f\x75\xd5\xbe\xba\x6a\x7d\xff\x8f\xc9\x53\xe3\xa9\x7e\x75\x75\x36\xb6\x5a\x03\xc8\x1e\x5f\x5d\x4d\xae\xae\xf4\xab\x2b\x03\x00\xcf\xae\xae\x8e\xfe\xe3\x3f\xbf\xfb\xbe\xf9\xe4\xa9\x89\x86\xa3\x7f\x5c\x5d\x61\x8e\x3a\x79\x6a\x9c\xe9\xff\xf1\x45\x68\x86\xfe\x1d\xb4\x40\xae\x1c\x13\xd3\xd0\x0c\x14\x61\xab\xd2\x17\x4f\x2a\x12\x87\xfc\x22\xeb\x87\xd7\x3e\x9d\x2e\x48\xfc\x72\x86\x23\x21\x02\xc7\xd1\xbd\xf0\xa8\xf0\x72\x96\xe0\x71\x6a\x44\xb0\xdc\x01\xef\x72\x63\x32\x0f\x12\x4a\xe2\x1c\x25\x3d\x80\x20\x2c\xe8\x33\xa8\xb4\x5e\x86\x33\xf2\x69\x68\x6f\x95\x1e\x72\x79\x5c\xbe\xf7\xd1\x8b\xe8\x4e\x15\x12\xe6\x3a\x75\xa0\x9a\xba\xb3\xbc\x86\xf0\x1f\x54\xb2\xb4\xfb\x10\xdc\x3e\xbc\x8b\xee\x8b\xb1\xb6\x53\xf5\x4f\x4a\xa4\xe0\x1a\xac\x58\xc9\x31\x9d\x8c\xca\x6e\x6b\xb3\x7b\x70\x65\xc8\xbc\x97\xda\x5d\xcb\xf0\x12\xf0\xc8\x73\x14\xbc\xac\x19\x88\xb4\xdf\xbf\x7c\x7d\x71\xfd\xfc\xe2\x87\xb7\xef\x2e\xae\x5f\xbd\x7c\xf3\xe7\x97\x3f\xfc\x26\xe9\x55\x08\xfd\xf1\x81\xf1\xbf\xe8\x8f\x74\x3f\x21\x6f\x62\xf2\x1d\x30\x8e\x26\xa9\x33\x35\x85\x5f\xd9\x8c\xe0\x2f\xfe\x32\x98\x71\x3d\x86\xbf\x5c\xde\xf8\xd3\x0f\x07\xd0\xfd\x28\x23\x91\xf2\x76\x4b\xea\x75\x5c\x1e\xef\xc1\xad\xbe\x0b\x3e\x09\x37\x60\x3f\xa7\xbe\x93\x65\xde\x3b\xc2\x38\x6a\x36\x8f\xa8\x41\x17\x71\x74\x0f\x11\x3f\x2e\xb8\x86\x51\x54\xb2\x71\xb7\x4e\x68\xe3\x86\x34\xd2\xc8\x71\xe9\x94\xf0\x39\x10\x5e\x0b\x65\xa2\xa6\x89\x62\x32\x27\x9f\x86\x04\x09\x2a\x43\x8a\x72\x4c\x19\xb7\x77\x0f\x48\xae\xf4\x30\x56\xb4\x04\x5a\xc5\x41\x14\x07\xf4\x61\x18\xb7\xd3\x24\xdb\x12\x8e\xf2\x81\x38\xae\xfd\xd9\x2c\x57\x92\xf7\xd1\xab\x20\xa1\xe0\x6f\xbf\x1d\xcc\x8a\x2d\xa9\x04\x2d\xab\x31\xad\xa3\x54\x55\x99\xef\x2a\xb1\x83\xcc\xdb\x59\x57\x02\xb5\xec\x11\x3d\xc5\xd6\x88\xb6\x5a\x06\x98\x1b\xa4\x65\x3f\x51\xe0\x8c\xe9\x24\x7b\x9f\x77\x69\xd5\x50\x90\x4f\x2f\x5c\xc0\x8d\x28\x92\x6a\x7c\x55\x20\x16\x00\xe4\xd5\xbd\x05\x28\xb8\xbf\x53\xf6\xad\x3c\x23\xf5\x9c\x96\xaf\xfb\xee\x82\xb0\xa2\xfe\x60\x3e\x91\xcd\x08\xe5\xca\x06\x33\xb6\x97\x35\x0a\x5d\xa8\xac\x25\xb2\x0d\x74\x64\x8d\xb2\x8d\x73\xb1\x2b\x55\x13\x51\xc1\x61\x21\x9f\xbf\xc6\x64\x02\x9e\xae\xb8\xbf\xf4\xcc\x09\x6c\x2e\x90\x9e\x35\x8a\x6b\xaa\x12\x9b\x66\xc1\x43\x61\xb1\x3a\xf1\x24\x3b\xee\x9a\x45\xaf\xb2\x12\xe9\x14\x05\xe0\x60\x2b\xca\x1c\x33\x02\x6b\x05\x0a\x1e\xcf\x4c\x50\x54\x8e\x17\x23\x28\xbe\x02\x4b\x2f\xd4\x06\x51\x54\xb0\xb9\xdd\x6c\x24\x93\x31\xee\x38\x31\x08\x81\x54\x0b\xf4\x65\xe0\x5b\x3a\xc4\xd6\x28\x3c\x49\xcb\x39\x0a\x4d\xd3\x48\xf4\x30\x0d\xd1\xb7\xdd\x96\xe6\xcf\x42\x35\x95\x4e\xce\xc7\x13\x14\x60\xca\x7b\x39\x42\x09\x26\xed\xe9\x22\x58\xce\xde\x44\x33\x92\xa0\x10\x17\x7c\x9e\xf3\x29\x41\xa7\x6d\x98\x39\xa0\xc5\x8e\xc2\xcd\x86\x4d\x62\x61\x3a\xe0\x04\x9f\xc4\x59\x8f\xf9\x38\x1c\x6b\x3c\x90\xbc\x76\x94\x46\xb4\xa4\xb9\xd9\xe5\xcc\x1a\xe6\x1f\x21\x62\x1e\x8f\xcb\x68\xfa\xe9\x41\xe5\x02\x5b\xa3\xc5\x49\xd6\xcb\x8b\xb4\x97\xa7\x38\x19\x2f\x26\x68\x8d\xa7\x85\x72\xa6\x51\x1d\x7d\x28\xe3\xfa\x14\x5b\x1c\x7c\x26\x3a\x9f\xbb\xff\x7f\x16\x4e\x17\x51\x9c\x06\x01\xf0\x11\x4d\x17\x0d\xc1\x0d\x45\x9a\xd9\x85\xcb\xb4\x50\x6c\xc8\xb8\x18\xe3\x69\x3b\x8c\x66\xe4\xfd\xc3\x2a\xf5\xaa\x26\x9c\x7d\xb2\x26\xd4\xa7\x68\xc6\x6d\x90\xe0\xfb\x2b\x3c\x65\x84\xb5\x67\x1a\xc6\x78\x05\x78\x6f\xfc\x3b\xb2\x6b\xb4\x55\x3e\x7c\xb9\x86\x56\x05\xcf\xf2\x33\x31\x41\x40\xd1\x76\xbd\x24\x5b\x47\xdd\x62\x6b\x74\x7b\xa2\x80\x19\xdd\xa6\x0d\x37\xc7\xf9\xd7\xe3\xdb\x09\xba\xc3\xf3\x9a\x36\x6c\xd9\x47\x18\xdf\xa5\x8b\x62\xae\x86\x97\xa9\x33\xd7\x5f\x03\xba\x80\x2a\xcf\xd1\x0c\xf9\xe8\x4e\x68\x95\xc5\x39\xce\xc2\xc4\x07\xa0\x4e\x01\x75\xcd\x3d\x8d\xf2\x59\x6f\x66\xa0\x23\xbd\xcc\x87\x3b\x0f\xb2\x4b\xa3\xc4\x94\x46\x15\x3f\x7e\x01\x1f\x9a\x12\x23\x66\x2e\xbb\x4b\xe7\x6c\x2a\x8e\x92\x16\xfd\xfc\xb4\x34\xab\x88\x44\xe1\x6b\x59\xb8\xcd\xa0\x14\x6e\x20\x68\xcf\x62\x7f\x3e\xf7\x6f\x96\x70\x06\x14\x9f\xe9\x41\x7b\x11\x93\x5b\x78\x45\xfd\x78\x4e\x28\xd6\xae\xe1\x7a\x9e\x86\x02\x65\x24\xe1\x60\xfa\x21\xe7\xbe\x9e\xcb\x21\x34\x9b\xda\xf5\x98\xad\x41\x86\x31\x3c\x1c\xf9\x28\x50\x46\x45\x57\xcd\x5e\xe5\xcf\xa0\xd2\xd5\xa2\x3c\x67\x54\xac\x62\xe3\x09\x8a\xb1\x3d\x8a\x4f\xfc\x34\x56\x50\x7e\xda\xa7\xe3\xb8\x65\x4f\x70\xf6\x6e\x1c\x4f\xb2\x49\x88\x47\x5d\x4d\x63\x1a\x20\xee\xf2\x2f\x1d\xd3\xa3\x88\xad\x7f\xe2\xfc\xed\x39\xb9\x8d\x62\xa2\xd3\x71\x34\x61\x4b\x76\x50\x88\x74\x50\x5e\x82\x6b\xb9\x59\x11\x72\x3c\xb8\xd5\x41\x47\x2c\x8f\x4c\x70\xc0\x99\xcf\x1f\x5b\x13\x03\xb9\x60\xcc\x91\x9b\x5e\x4a\xf2\x1f\xef\x75\x06\x9f\x89\x80\x7e\x83\x71\x4d\x83\xe1\x34\xa2\xb8\x11\x85\xcb\x87\x86\xe8\x98\x86\xdf\x48\x82\x70\xbe\x24\x3b\x90\x2c\xda\x4a\x61\x7c\xb1\xe1\x07\x3b\x5e\xce\xb3\x09\x8e\x0a\xde\xa1\xc5\xc8\x42\xa1\x9a\x97\xdf\x93\x4f\x50\x24\x3d\x31\x8a\x82\x5f\x7e\x5e\x64\x4d\x12\x1a\xc8\xda\x82\x2b\x47\x5c\x1a\xdf\x42\x2e\xcb\x3e\x25\xe2\x4e\xe5\x8b\x61\xa1\xc0\x40\xcb\x3d\x25\xf0\x6b\x4b\xb0\x64\xdb\x10\x0b\x34\xdc\x0b\x99\xf6\x74\x0f\xed\x85\x81\xd6\x05\xac\xc0\xdc\x35\xcd\x6c\x0f\xf2\xba\xb6\x60\x53\x44\xd1\xcc\x40\xb6\x38\x4b\x49\x54\x3b\x25\xec\x58\x16\xa2\x6d\xbe\xba\x07\x24\xc6\xc9\x3f\xc3\x83\xed\xe7\xed\x28\x19\xc3\xd1\xf9\xf3\x8b\x57\x93\x92\x40\x91\xb9\xfb\xbd\x21\xcb\xa5\x6e\x6c\x91\x00\x7d\xf5\x43\x25\x64\xea\x15\x30\x07\xfd\xcb\xfb\x09\xde\x21\xa6\xb9\x3f\xfc\xa0\xca\x3d\x7f\x57\x49\xb9\xe8\x87\x2f\x47\xff\xf9\x65\x75\xb9\x53\x0f\x7c\x39\xf0\x1f\xdf\x57\x82\x53\xff\x26\x07\x78\xf9\xb6\x12\x30\xf5\xa4\x97\x87\x7e\x59\x0f\xfd\x32\x5f\xe4\x8b\xcb\xf3\x0a\x68\x7e\x68\x4a\x7d\x4a\xf4\x05\x03\x7b\xf6\xd3\xc5\x0b\x63\x2b\x0e\xdb\x3e\x6f\x47\xe1\x58\x1b\x6b\x65\x5c\x88\x07\xed\xdf\x71\x3d\x45\x7b\xba\x8e\xd9\xbc\xf8\x13\xcb\xc2\x16\x2a\x50\x3c\xbf\x7c\x79\xfd\xd3\xb3\x77\xcf\x5e\x33\xc9\x73\xac\x4d\xbe\x82\xd4\xdb\xcb\x73\x46\xa4\xfd\xd3\x17\x53\x78\x71\x7e\x09\x14\xae\x4b\x14\x0a\x40\x2f\xff\xf4\xe6\xed\xbb\x0b\x5e\xdc\xff\x96\x8a\x5b\x01\xda\x9e\x4a\x85\x12\x76\xf3\xec\xe5\x85\xf4\x12\xce\x79\xb9\x64\xa0\x1b\xc5\x42\xbe\x79\xfb\xee\xf5\xb3\x57\x80\xf7\x42\xc2\xdb\x87\xf1\x5a\x51\x8c\x8f\x24\x4e\xc8\xcb\x7a\xc4\xb1\xf6\xbd\xa2\x67\xf2\x0e\x16\x11\xdd\x7f\xef\x4a\x45\x9c\x65\x7e\x08\x56\x6f\xd8\xdc\xbc\xe0\x61\x63\x42\x31\xf4\x9e\xbd\x99\x14\x96\x69\x15\x47\xa6\x45\x1c\xf1\xf9\xfb\xf3\x76\xe4\x8f\xb5\x33\xad\x1a\xf1\x27\x38\xd7\xd7\xb5\x33\xcd\xd8\x22\x7f\xac\x9d\x1e\x00\x7b\x2a\x60\x8f\x0e\x80\x3d\xe2\xb0\x56\x0d\x24\x63\x3d\xdd\xb6\x9e\x12\x88\x1b\x0c\x4f\x06\x20\xd9\x8f\x44\x32\x6d\x40\x73\x1e\x8b\xe6\x00\x9a\xfb\x58\x34\x17\xd0\x3a\x8f\x45\xeb\x00\x5a\xf7\xb1\x68\x5d\x40\xf3\x1e\x8b\xe6\x01\x5a\xef\xb1\x68\x3d\x40\xeb\x3f\x16\xad\x0f\x68\x83\xc7\xa2\x0d\x18\x5a\xfb\xbb\x6a\xac\x28\xa1\xc0\x4d\xdf\x71\x6e\x7a\xa2\x3d\xa9\xf9\x84\x00\x7e\xa2\x3d\xe1\x6c\xda\xa8\x63\xd3\x94\x72\x43\xf0\xf4\x93\x43\x80\x9f\x08\xe0\x51\x15\x70\x1a\x7a\x45\x54\x90\x01\x7f\xe1\x18\x5e\xb2\x31\xbc\x1c\x6b\xff\x59\x9a\x6f\x98\xb4\x91\x21\xe7\xfc\xb7\x42\x74\xec\x65\xfb\x59\x35\x70\xea\xdb\x54\x40\x3e\xdf\x07\xf9\x22\xba\x0f\x05\xec\xf9\x3e\x58\xe1\x05\x50\x80\xbf\xd8\x07\x9e\xfa\xd9\x10\xf0\x17\xfb\xe0\x53\x6f\x97\x02\xfe\x87\x7d\xf0\x05\x47\x93\x02\xe9\x4f\xfb\x90\xf2\xae\x20\x05\xce\x8f\x7b\x3f\x94\x86\xb9\xe1\xf0\x2f\x0f\x6c\xa7\xf7\xfe\x8d\xc0\xf8\xaf\x6a\x8c\xa2\xcf\x43\x01\xff\xe7\xbd\xf0\xb9\x2a\xbf\xda\xc7\x39\xe0\xb1\x4b\x00\xbf\xae\x06\xce\xb9\xf7\x12\xc0\x3f\xed\x03\xce\xf3\xe4\x65\x35\x70\xea\x19\x49\x40\xbe\x97\x20\xd3\x1d\xca\x89\xd3\x6c\x1e\xc5\xcd\x66\xde\xdd\x8f\x40\xfa\xcb\x9e\x26\xc9\x17\xe5\xff\x1e\xca\x99\x59\x0f\x8d\xb5\xbf\xd6\x8d\xc0\x92\x2b\x17\xf1\x19\xbf\x1a\x41\xf2\xab\x22\x50\x6e\xaa\x51\xaa\xbc\x9c\x08\xcc\x69\x4d\xf3\x2a\x9c\x88\x08\xac\x59\x35\x56\xc9\x67\x84\x40\x28\xef\xb2\x73\x08\x92\x03\x07\x81\x72\x5b\xd3\x0c\xbf\x94\x86\xce\xbc\x1a\x36\x75\x15\x20\x20\x17\x75\xf5\xe5\x57\x12\x39\xe0\xb2\xae\x49\x8b\xa0\x77\xf5\x3d\x2c\xb5\x5e\x58\xc7\xff\x3b\x43\x70\x01\xbd\x92\xa0\x85\x59\x6a\xcc\xcd\x52\xb5\x23\x6d\x98\xb3\x6c\x66\x58\x0c\xed\x77\x85\x5e\x43\x6b\x68\x18\xe3\x00\x06\x42\xc1\x12\x56\x7c\xaa\x1c\xb5\xa4\xb0\xce\xe4\x4c\x3e\x05\x78\x52\x09\x9e\xd9\x4e\x0a\xc8\x75\x15\x64\xc1\xe6\x51\x8c\x19\xd5\x9a\x87\x84\xb3\xa8\x0c\x35\xaa\x5c\xfb\x16\xa3\xa3\xa2\xa7\x0c\x22\xde\x63\x6b\x82\x35\x9e\xd4\x10\xcb\x16\x1b\x31\x6c\x4f\xb0\x26\xd2\xfc\x45\xb6\x9f\xc2\xce\x04\x6b\xd9\x53\xf6\x12\xbb\x3c\x9b\x67\xbc\xbd\x3c\xc7\x9d\x09\xd6\xde\x5e\x9e\x0b\x08\x2e\xaa\xe3\x2e\x83\xe2\x69\xfe\xe2\xc5\xf9\x25\xf6\x26\x58\x7b\x71\x7e\xc9\x33\xf8\xde\x06\xf7\x26\x58\xe3\x49\x6d\xab\x2f\x36\x1b\x7d\x81\x3f\xa7\x11\xb4\xa7\x15\x47\xe0\xb9\x13\xe6\x20\x6f\xc2\x59\xbe\xb8\x96\xb9\x36\x49\x20\x46\x7e\xda\x58\xaa\x93\x6c\x88\xd3\xac\x74\xd3\x35\x45\x6b\x34\xcb\xee\x23\x8d\x76\x2e\x68\xb3\x48\x62\xb2\xfd\xf8\x3a\x8e\xa3\xb9\x4f\xc9\xf5\x22\x98\x2f\x54\x81\x6b\x8a\x10\xa6\x74\xe3\xae\xf8\x1e\x6b\x5a\x7a\x32\x97\x7e\xf4\x64\x56\xca\x30\x4d\xd0\xdd\xc5\x98\x8c\x8b\x2f\x26\xa8\xdb\x75\x06\xde\x09\xd6\xa7\x98\x0f\xca\xf3\x68\x46\x9e\xd1\x52\x2d\x0c\xa3\xd9\x9c\x9e\xe0\xae\xe7\xda\x03\xa0\xb4\xae\x83\x36\x6d\x03\x05\xc9\x1b\xff\x8d\xbe\x36\x64\xc3\xe0\x62\xe1\xe3\xd1\x34\x0a\x69\x10\xae\xc9\x76\x8a\x6d\xcb\xe9\x3c\xd5\xa7\x2d\x28\x93\x61\xea\xeb\x56\xd7\x73\x1d\xcb\x30\xbd\x6e\xd7\xf5\x50\x6c\xe2\x74\xe2\x90\xbf\xb8\x05\x7b\x58\x80\x3f\xc1\x53\x5e\xdc\x9e\xdb\x71\x8d\xf4\xc6\x47\xae\xb3\x85\xd9\x7a\xda\xe5\xc3\xb8\x11\x84\x8d\xe4\x2c\x19\xc7\x13\x71\xbc\x2f\xb1\x4f\x7a\x47\x26\x9f\x97\x86\x34\xd2\x63\x34\x2d\xd8\xa0\x67\xaa\x8c\x21\x6b\x74\x46\x3c\x34\x3e\x87\x25\xea\x69\x8b\xa4\xe7\x0c\xa5\xc9\x4b\xd7\xc0\x90\x5d\x33\xc4\xdf\xa7\xe2\xaf\x29\xfe\xb6\xc4\xdf\xb6\x36\x94\x31\xcb\x57\x02\xd2\xfb\x02\xf9\x8b\xa5\x8c\x72\x15\x5c\xfe\xb6\x2a\xfb\x72\x15\x9c\x93\x87\x33\xab\xe1\xdc\x3c\x5c\xeb\xc0\xef\xb6\x6b\xbe\xbb\x2d\x0e\x5d\x31\x99\xe4\xb1\x8f\x6b\x4a\x83\x94\xd8\xa8\xc8\x53\xad\x56\x9e\xdc\x1b\xd1\xdc\x6f\xb5\xdc\x7d\x70\x2d\x94\x3e\xb2\x53\x5a\x38\x79\x96\xd0\x22\x81\xbf\xa9\xc1\x70\x0b\x18\xdb\x83\x69\xff\xa3\x06\xd2\x2e\x40\xf6\x34\x15\x1b\xe7\x56\x25\x43\x39\x27\xe6\x49\xf4\x95\x24\x8a\xcb\xd5\x7e\x2a\xff\x91\x52\x29\x82\xa0\xf2\xb4\x95\xc7\xf9\x51\xaa\x26\xf5\x6f\x2e\x73\xde\x21\xaa\x3f\x87\x25\xd4\x7f\xa9\xa3\x98\xbd\xe5\x3d\xad\x28\xef\x3f\xd7\xcf\x40\x5d\x31\x67\xe4\xd6\x5f\x2f\x69\x5d\x2f\x56\x5d\x27\xbc\xb8\x3c\x6f\xa4\xc6\x84\x8d\xef\x93\x36\x5c\xa4\x29\xcc\x9e\x62\x40\xf2\x79\x39\x4a\x1f\x2f\xcf\x74\x8a\x77\x4f\xe3\x78\x82\xb4\x63\x8d\x1b\x20\xc1\x17\x8b\x9a\x3e\x63\xc8\xa0\x4b\x5a\xc2\x3a\xe7\x49\x15\xd3\x05\xa2\x52\xab\xce\x15\xf7\xaf\x2a\x3b\xb3\x01\xba\x63\x58\x09\x98\x8c\x29\xf4\xe1\x9b\x4d\xf6\xf4\xfc\xe2\xd5\x4e\x74\xcd\x81\xa4\x3e\x34\x76\xa3\xa1\x5c\x0e\xae\x79\xe6\xe7\xcc\xf2\x9d\xb3\x4c\x11\x2d\xc7\x3e\x02\xbc\xbc\xa7\xf5\xda\x6b\x5c\x02\x5c\x15\xc6\x8e\xc7\x3e\xaf\x82\x2f\x7f\x97\x9b\x27\x40\x28\x75\x25\x21\xc3\xd8\x2a\x49\xed\xcc\x14\x95\xf5\xcb\x64\xac\x92\x24\xa7\xba\x7c\x2a\x9a\x8c\xcb\x6b\x65\xef\x81\x79\xa2\x26\x8e\x87\xf1\x29\xd6\x2c\xad\xd9\x8c\x4f\xb0\x36\xd0\xea\xa0\xb1\x6d\x3d\xad\x23\x16\xe7\xa5\x25\xcb\x68\x75\xfa\x43\x6d\xa4\xa9\x43\x77\x7d\x69\xaf\x16\xca\xa3\x69\x25\x89\x24\x13\xd6\x33\x99\xc4\x37\x3e\xfb\xa9\x4c\x92\x0a\x21\x40\xb2\xa4\x6e\x2b\xaf\x96\x97\x2f\x73\x34\xf9\x18\x5d\x9e\x2d\x53\x4a\xc5\x85\x41\xcd\x79\x52\x2e\x68\xb7\xa5\x5c\xae\x1f\x84\xec\x7d\x57\x94\xcf\x2f\x5f\x36\xa6\xd1\x8c\x64\x13\x8a\x92\x23\xd4\xdf\xcd\x62\x6e\x4a\x9f\xc6\x9a\x56\x6c\xc4\x17\xe7\x97\xfb\x06\x72\xfd\x08\x1e\x71\x2b\x1a\x6e\x3b\x89\x6e\xd3\x30\xc8\x05\x11\x55\xba\xd1\x0c\x4b\x42\x41\xee\xf8\xee\xf7\x4c\xea\x93\x7c\x5e\xe4\xd9\x00\xdd\xb2\xf9\x7e\xc5\x49\x3c\xd1\x7e\x7f\x32\x5c\xe1\x27\x96\xf6\xfb\x93\x5c\xb5\x9e\x68\x2b\xc8\xf6\x6c\x6d\x95\xcf\xd7\x62\x6d\x28\x11\xcf\xee\x27\x9a\xb6\xf2\x7e\x71\xfe\x6a\x22\x5c\x35\x8e\xf3\x2d\xa8\xdd\x31\x92\x9a\x75\xa7\x29\x57\x91\xaa\xce\x7d\x71\x7e\xd9\xf8\x89\x8a\xae\x5d\x19\x08\x42\xa1\x4a\x13\x79\xe1\x4e\xf4\x4f\x9a\xd9\x30\x6f\x4d\xed\xbb\x58\x33\x57\xe6\x2e\xff\xea\xaa\x30\x2e\x34\x73\x55\x68\x57\xf3\x77\x45\x9d\xe5\x06\x3d\xec\xdb\x66\xf5\xb7\x0f\xaf\x37\xe7\x01\x51\x77\x35\x7f\x94\x9b\x42\x39\x35\x56\xf2\xfc\x01\x73\x66\x9e\xe0\xbe\x29\x53\xf9\xb5\xcd\x46\xfb\x0e\x26\xbb\xcd\x46\x33\x21\x71\xa6\xf0\x28\xc5\x61\x0f\x98\x9a\xab\x3e\xa3\xf8\x7e\x11\xad\x38\x98\xb9\x62\x61\x18\x1f\xe5\x07\x6c\xf6\xf4\xfc\xe2\xd5\x66\x73\xd8\x7a\x5c\x6c\x42\x23\xb3\xb1\xca\xbd\x95\x2f\x0a\x03\x8e\x6c\xae\xcd\x69\xc9\xf0\xfc\x00\x70\xff\x95\x62\x15\xaa\x98\xcc\xea\x70\x05\x88\x02\x19\x5a\xae\xde\x29\xc0\xae\x85\x4b\xf8\x73\x09\x7f\x67\x26\x50\x4d\x45\x1d\x76\x5f\x22\xf4\x2d\x56\xcd\x52\x30\xab\xbc\x40\x29\x7f\x7a\xc7\x07\xd9\x9d\xe1\x9f\x98\x58\x18\xe3\xe9\x1e\x53\x96\x4c\x5b\x15\xe4\x2e\xd8\xb7\xa3\xfb\x90\xc4\x2f\x2a\xec\xea\x92\x95\x1f\x6a\xec\x13\x39\xfb\xca\x05\x59\x2e\xa3\xc6\x7d\x14\x2f\x67\x1a\x22\x05\x53\x4b\xca\x75\x64\x31\xa6\x22\x12\xf7\xaf\xc1\x0c\xfc\xe5\xd0\x42\xe4\xef\x51\x1a\x30\xf3\x36\x0a\xe9\xaf\x3c\x36\xb6\x76\x13\x2d\x67\x59\x38\xf0\x02\x7a\x52\x46\xcf\xa9\x2b\x77\x46\x66\xd4\x40\x6c\x14\x45\x9b\x4d\x70\x84\x71\xb2\xfd\x22\xc3\x9d\x08\x25\x38\xd6\x1d\xcf\x90\x95\x96\xcf\xdf\xbe\xe2\xaa\x49\x96\xe0\xea\xc2\x9f\xdf\xbc\xb8\x78\xf7\xea\xe5\x9b\x0b\xd0\x4b\x66\x4f\xfc\xe5\xf3\x57\x2f\xdf\xfc\x19\x14\x91\x90\x12\x0a\xc6\x37\xbf\x5c\xbc\xbb\xbc\xc0\xfd\x09\xd6\x44\x3a\x7b\xf1\xf2\xf2\xe5\xf3\x57\x17\xd8\xf6\xf8\x3b\xfe\xa8\x6d\xf5\x68\xb3\xd1\xa3\x9d\x02\x32\xe4\xe2\xbf\x5f\xa5\x87\x94\xc3\x62\xa7\x77\x4e\xb8\xb3\xa6\x77\xd1\x7d\xf2\x7f\xd6\x64\x4d\x76\xe2\xad\x78\xf3\x43\xec\xdf\x91\xe4\xf2\x43\x00\x41\x84\xad\xe2\xcb\x67\x61\x70\x07\x1b\x3a\x80\x2a\x6c\x41\x56\x7e\x1a\x98\x9c\xb7\xf9\x4f\x51\xb4\x84\x6b\x55\x49\xfb\x45\x74\x27\xbd\x4a\xb9\x0a\x6e\xf4\x60\x8c\x43\xf0\x30\x13\x54\x44\x69\xcd\xc2\x9e\x7c\xe9\x67\x54\x9a\xd5\xdf\x59\xfd\xdf\xf1\x8a\x29\x2f\x09\x95\xdb\x8a\x0f\xf0\xcf\x09\xf5\x63\x3a\x24\x88\x84\xb3\x21\xcd\x6e\x9e\x28\x5b\x28\x73\xb2\xa0\x6e\xbf\xfb\x20\x9c\x45\xf7\x6d\xb1\xfd\x2f\xbe\x2c\x22\xbe\x8a\xa2\xd5\xee\x0a\x90\x51\xf6\x09\x9e\x07\xcb\xb3\x84\x2a\x94\x75\x40\x09\xf7\xee\x95\xd9\xeb\xa7\x8b\x8b\x8a\x03\x4c\xf3\x04\x77\x8d\x6f\x53\x09\x6e\xdb\x5d\xc7\x7d\xc0\xeb\x04\xd1\x5d\x00\x6f\xa9\x4f\x44\x25\x3a\x06\x61\xcc\xaa\x76\x8a\xc2\x3f\x44\xb0\x9a\xc4\xd8\x9a\xb4\xa1\x4f\x33\x74\x15\x04\x09\x67\xb9\x8b\x14\x76\x76\x91\xa2\xa2\x40\xdc\xaa\x56\x4d\x2d\x16\xdf\x3b\x21\x39\x0d\x7c\x25\x94\x51\x31\x72\x19\x00\x09\x67\xa7\x34\x17\x3e\xb0\x02\x26\x15\xd3\xf6\x0e\xfe\xea\xf1\x9d\x3a\x79\x63\xc3\xa3\x7c\x4f\x22\x56\x8e\x21\x68\xa8\x11\x6d\x11\xa5\x33\xf3\x63\x47\x15\xbb\x30\xf5\xd7\xb8\x33\x37\x96\x7d\xe4\xa7\x30\x85\x69\x5f\xfa\xc0\x39\x37\xdb\x25\x71\x45\xfc\x7d\xf0\x31\x9d\x60\xc2\x8f\x4d\x0e\xf4\xb7\x0e\x8a\xb0\xbf\x92\x70\xf6\xd7\x46\x90\x34\x68\x14\x35\x96\x7e\x3c\x27\xed\xc6\xeb\x28\xa1\x8d\x65\xf0\x81\x2c\x1f\x1a\x7e\xe3\xc6\x9f\x35\xce\x2f\xdf\x81\x4a\xac\xc2\x43\xfb\x28\x39\xc1\x74\x94\xa4\x37\x0a\x7c\x9c\x48\x21\x29\xc0\x7d\xe1\xb2\x3a\xae\x85\x6f\xa0\x45\xba\x87\x5b\xc8\x7e\x7b\x30\x4e\x5a\xea\x88\x7a\xaa\x0f\xc9\xcd\x9c\x3a\xaa\xf1\x29\x69\x36\xcb\x4e\x81\xf3\xde\x98\xca\xd2\xf2\xa7\x61\xcb\xce\x46\xca\xb4\xca\xf1\xd0\x1a\x97\xcc\x7b\x53\xe1\xe3\x87\xd8\x9f\x83\xd8\x61\xa0\x19\x5c\xe3\x48\xeb\x58\x2e\x02\xeb\xf8\x98\x84\xe3\x64\x92\xa5\xd3\xb1\xc7\x1b\xf5\x56\xea\x73\x05\x0a\x38\xa6\xaf\x06\xcb\x33\xd9\x6d\xed\x22\xd4\x8e\xc9\x92\xf8\x09\xd1\x6f\x8d\x6d\x5a\xfb\x39\xb6\x46\xf3\x93\x60\x34\x4f\xfb\xf9\x0e\x2f\xc7\xf3\xc9\xd8\x9a\xa0\x07\x9e\xb2\x27\xe8\x86\xa7\x1c\xb8\xbb\x75\x03\x73\xf6\x1c\x63\xbc\x68\x36\xf5\x3b\xdc\xb2\x0d\x74\x77\x84\xf1\xb4\xd9\xd4\xa7\x47\xd2\xb6\x45\xb4\x66\xb3\xa9\xcf\x9a\x4d\x3d\x7f\x01\x66\x06\xad\x67\xa0\x75\x41\x34\x83\x0d\x2c\x1b\xd5\x9c\xaa\x9a\x9a\x61\x04\xb7\x8c\xde\xd1\x8a\xd1\xc4\x75\x75\xf6\xa7\xbf\xaf\x83\x98\xe8\x86\x81\x56\x8f\x28\x04\x2b\xc5\x41\x64\xb9\x4f\xbb\x3b\x63\x55\xbe\xe2\x25\x6c\x3b\x5b\x1f\x83\x19\x89\x34\x03\x49\x00\x69\xa5\x5a\x9c\x55\xb5\xdc\x45\xa2\x6b\x70\x47\x77\x87\xce\xf1\x5d\xea\xa1\xee\x9e\x25\xed\x3e\xeb\x81\xfb\x66\x04\x52\x1e\x93\x47\x36\x1b\x89\x2e\xbf\x9d\x01\x62\xaa\x81\xce\x4f\xfa\xcd\xa6\x7e\x6e\xe2\xbe\x61\x20\x86\x98\x49\x7f\xcd\x66\x05\x66\xce\x73\x14\x60\x80\x58\x58\x09\x7d\xc3\xaf\x7f\x00\xa4\x90\x14\x39\x23\x5d\xe2\xeb\xd1\x35\x3e\x47\xe7\xf8\x12\xd9\xcd\xfb\x66\x33\x57\x94\xad\x80\xe6\xb2\x63\x25\xed\x05\x8c\xde\x22\xf1\x66\x53\x77\xba\x3d\x8c\xf1\x75\xb3\xa9\x5f\x63\xbb\x6b\x20\xa7\xeb\x61\x8c\xcf\x19\x71\x6c\x19\x06\xba\x3e\x71\xba\x5e\x75\x81\xe7\xad\x69\xb4\x8c\xe2\x96\x66\x5e\xb3\xf6\xa9\x83\x4d\x01\xcf\xe1\xfc\x94\x6d\xca\x6f\x8c\x99\x89\x9f\x9c\x30\xa6\x68\x00\x0a\x16\xa0\xf7\xc1\x8c\xb4\xa6\x0b\x3f\xd6\x4e\x9f\x98\x0f\xa6\x76\x72\xcc\x60\x4e\xb5\xcc\x43\xf5\x43\x51\xc7\x79\xea\x74\xbb\x55\xb4\xf8\xb1\x45\x35\x35\xa1\xdb\x7a\x10\xba\xaf\xa6\x36\x9c\x99\x58\x6b\xfa\x77\xab\x51\x41\x9f\x74\x22\x5e\x2c\x69\x31\xff\x54\xe4\xcf\x77\xf9\xa9\xca\x65\x66\xe2\x87\x13\xac\x35\xb4\x33\xad\x19\xde\x24\xab\x91\x36\x7c\xd8\x4e\xf1\xdd\x76\xfb\x4d\x87\x5b\x36\xe6\x6b\x26\xba\x3c\xc6\xda\xd8\xc6\x95\xcb\x6e\x61\xa7\x57\xb3\xec\x4a\x07\x31\x77\x01\x65\xe3\x16\x44\x05\x0d\x7d\x16\xf4\x24\x35\x14\xcf\x46\x25\x21\xbb\x7c\x4b\x1c\xa8\x5c\xa6\x8e\x6b\x4b\x92\x07\xb8\xb5\x92\xf4\x64\x02\x36\x2b\xa1\xbc\x6a\xec\x47\xa9\x91\x39\x6a\x3e\x30\xb6\x26\x70\x2b\x8f\x34\x9b\xd9\xd5\x51\x08\xc8\xa2\x5c\xf2\x03\x4c\x2b\xdf\x45\xbb\xa0\xb7\x10\x17\x37\x11\xcf\x41\xa8\x07\x15\xde\x77\xe1\xa2\xa9\x1e\x29\x25\x9c\xcd\x26\x39\xb1\x0c\x5e\xa4\xf0\x80\x05\xd9\xc7\x31\xc6\x38\x3a\x63\x02\xf1\xd0\x42\x4b\x1c\x31\x31\xe3\x8c\xb2\x47\x85\x7c\x35\x0a\x15\xdc\xc2\x89\x67\x5d\x97\x2a\x19\x22\xe4\xa3\xa5\xd8\xdc\x2e\x70\xd2\x8a\xb8\xff\xb2\xc7\x50\x50\xc5\xce\x04\x31\x6f\x61\x18\x28\x3a\xc2\x38\x49\xef\xbd\x06\x7f\x58\xb1\x13\x64\xa1\xa9\x7c\x74\xa4\x60\x86\x3c\xc9\xd0\x90\xee\x1a\xab\xe9\x2b\xcc\xc5\x32\xd7\x07\x41\xb3\xa9\x07\xd8\x4e\x2f\xa1\x55\x5d\x8a\x9c\x05\x1f\x77\xd7\x22\x23\xa1\x72\x59\x70\x75\x4b\x20\x9d\x1b\x2d\xfc\xf8\x35\xf1\x93\x75\x9c\xc2\x98\xda\xea\x93\x86\x52\x3c\x1a\xad\x30\x79\x2c\xd2\x92\xdc\x52\x4c\xeb\xb0\xee\x83\x19\x5d\x14\x91\x20\x4b\x16\xe0\x4a\x38\x4f\xf5\xb8\x45\x0d\x81\x99\x69\xc2\xde\x11\xb6\xc8\x92\x18\xfb\x7b\x74\x61\xbb\x9d\x41\x3a\xdd\x5d\x93\x4f\x94\x84\xb3\x64\xb3\xc9\xed\xa2\x61\x13\x8a\x85\x2a\x09\xf4\xa1\xa2\xdb\xde\xde\x6e\x36\x9f\xaf\xaf\xa1\x1b\xaf\xaf\x87\xe3\xc9\x36\x08\x13\xea\x87\x53\x12\xdd\x36\x9e\xc5\xb1\xff\xd0\x6c\x96\x2f\xd1\x64\xe0\x98\x6e\x73\x5f\xc9\x26\x2e\x98\x1e\x1a\x41\xd8\xa0\x06\x6d\x2f\xfc\xe4\xed\x7d\x98\xe9\xad\x62\x03\x62\x49\xc5\x13\x4c\xc7\xf1\xc4\xd8\x4a\x4e\x77\xa0\x8a\x39\x0d\x9f\xd0\x64\x4c\xa3\x30\xa1\xf1\x7a\x4a\xa3\x18\xd3\x2d\x01\x30\x44\x77\xec\x87\x85\x12\x26\x3e\x13\x95\xe4\x3c\xa4\xc7\xc6\x50\x0f\x72\x60\xf1\x2e\x8d\x42\x72\xdf\x08\x8c\x2d\x6b\xf1\xaf\x50\xb2\xd9\x96\x81\x42\x1c\xeb\x03\x98\x5c\x74\xdb\x40\x4b\x1c\xeb\x8e\xcd\xf6\x36\x97\x70\x35\xb0\x7d\x1b\x47\x77\xe7\x62\x71\xd7\x6d\xcf\x32\xd0\x34\xef\xae\x67\x81\xb4\xb9\xa6\xd0\xd4\x55\x98\x17\xfe\xfa\xf6\x1d\x57\xe0\xb1\x04\xcf\xca\x74\x77\xa0\xb6\x93\x54\x6d\xeb\x2a\xc7\x8b\xdc\xfa\x31\x49\xa7\x4f\xd2\x9e\xfa\xcb\x25\x57\x6d\xf0\xb8\x71\x69\xf7\x84\x05\xc3\xbf\xb0\x7d\x7d\x03\xfa\x17\x1c\xb3\x74\x7e\xd1\xc4\x01\xcb\xc9\x71\x39\x4e\x58\x46\x10\x06\xd9\x65\xe2\x44\x37\x50\x98\xc5\x21\x60\x6f\xef\xa2\x19\xe1\x2a\xb0\x65\x3b\x9b\x3f\x5e\xb3\x4c\x9d\x02\xc0\xd2\x4f\x78\x24\x80\x17\xd1\x7d\xf8\x3e\xb8\x23\xd8\x62\xd9\xfe\x94\x06\x1f\x49\x01\x03\x47\xe9\x61\x65\x98\x2a\xcc\x02\x9d\x22\x52\x60\x96\x52\x79\xb0\x34\x50\xa0\xea\x7c\x38\xf1\x8a\xbe\x8f\x83\xbb\x14\xbe\xe0\x49\x27\x53\xca\x5d\x47\x21\x03\x02\x5b\x53\x8e\x09\x81\x19\x5e\x47\x1f\xc9\x5e\xc4\xd7\x29\x64\x19\x9b\x55\xf7\x30\xec\xcc\xf4\x3c\x87\xfd\xf3\xea\x30\x5c\x6e\xe9\xbe\x2d\xb4\x90\x88\x3e\x24\xa9\xed\xc1\x0d\x50\xd6\xe2\xd9\xe9\x36\x6f\xa5\x76\x74\x7b\xab\x6b\x34\x0e\xee\x34\x54\xd5\x7a\x39\xcf\x41\x65\xa1\xa4\x74\xe5\x1c\xea\x30\x8b\xee\x43\xad\xaa\x49\x8c\x62\x99\x39\x4b\xc9\x27\x0d\x69\xe1\xc2\x2f\x2a\x9b\x7c\x17\xfe\xd1\x05\xcb\xa2\x11\x28\x4e\x82\xc4\x40\x12\xca\xed\x72\xf3\x6e\x51\xc5\xcc\x94\x9b\xc6\xb4\x85\x9f\x64\x28\x1a\xfa\x3c\x27\x74\xa8\xe4\x68\x31\xd0\xf8\x99\x50\x86\x71\x59\xd0\x1b\xaa\x20\x2e\xc2\x59\xea\xd6\x45\x3f\x22\x9b\xcd\x11\x35\x44\x84\x40\xb6\x01\xe7\x9e\x59\xc7\x36\x7f\xb0\x27\x4c\xd0\x0d\xd7\x77\x24\x66\x9d\x31\x3c\x02\xcf\x67\xb7\xc1\x7c\x9d\x3e\x6f\x8d\x43\xea\x94\x89\x1f\xef\xc9\x27\xfa\xad\x2a\xc5\xe4\x4a\x5e\x1f\x5e\x3d\x4d\x1b\xed\x44\x5b\xcc\xab\xc3\x65\x2c\x50\x23\x06\x78\x3c\x19\x05\x85\x33\xb2\xd8\x0f\x93\xa5\x9f\xaa\xa3\x5f\x05\x21\x79\x1f\xf1\x49\x5f\x2f\xf0\xde\x9c\x50\xf0\x34\x6c\xa0\x23\x0b\x41\xf0\xb1\xd8\x30\x32\x15\x53\x04\x1f\x34\xed\x51\x74\xc2\x25\x67\x1b\x7c\x12\x88\xdb\xf7\x12\xa1\x88\xad\x34\xfb\x0b\x90\xa0\x23\xcb\x18\x25\xed\x20\xf9\x35\x66\xa2\xdb\xec\x2c\x18\xef\x5c\xeb\x4e\x4c\xec\x0f\x45\x65\x7c\xd8\xbe\xe6\xfb\xb0\xea\xd3\xf0\xf2\xe0\xaf\x33\x61\x16\x76\x0e\x07\x16\x22\xf3\x7c\x71\xe7\xaf\x74\xe5\xc5\x34\x71\x51\x5e\x9f\x22\xb8\x23\x67\xb4\xff\x16\x05\xa1\x1e\xb6\x83\xe4\xf5\xe5\xaf\xa0\xc5\x4f\xce\xb4\xab\xf8\x2a\xd4\x86\xda\x55\xa8\x1d\xc0\x8b\xf9\x71\x5a\x1c\x7d\xf2\x44\xc2\xf9\xa8\x62\x0a\xe4\x73\xd8\xeb\xf2\x54\x90\xa4\x00\xa9\xfa\xb9\x34\x37\xd4\x35\x62\x9d\xec\xcc\xdd\x86\x59\x06\x2a\x49\xd3\xb0\x4d\xce\x71\x96\xa6\x31\x29\x05\x85\x38\x40\x3e\xb6\x46\xfe\x2e\x6a\x96\x9f\xb2\xd8\x12\x93\xb1\x3f\x19\x45\x26\x5e\x8e\xed\x09\x62\xb4\x96\x63\x67\xc2\x3e\x70\x8a\xfd\x66\x33\x69\xb5\x50\x00\xa9\xb0\xd5\x32\x84\xc3\x84\x70\xb3\xc9\x28\x71\x8f\x4d\x7c\x63\x12\xb5\x13\xe2\xc7\xd3\x85\x7e\x7c\x95\x98\xdf\x1d\xef\xbc\xc7\x4c\x9b\x4d\x7d\xb1\xdb\xec\x2d\xd8\xa6\x03\x2d\x4e\x70\x92\x0d\xbe\xed\x4e\xc4\xcf\xbc\x2a\xb0\xad\x4f\xb1\xc1\x64\x55\x7d\xde\x8d\xd4\xe8\x1b\x1d\x65\x29\x8e\xe0\x77\x27\x0a\xc6\xd6\x60\x62\x4a\x90\xbc\x0a\xc2\xf5\xa7\x66\x93\xa4\x16\x95\xf9\x49\x2c\xf3\xf4\x01\xaf\xb8\x2e\x21\x24\xf7\xc9\x6e\xe6\x96\x71\xca\xbc\x22\xd5\xbd\x74\xce\x57\x79\xf8\x51\x56\x5d\x70\xdd\xc4\xbe\xf9\x13\x34\x17\x75\x33\xe8\x56\x5a\xe8\xd8\xbb\x67\xcb\x65\xd5\xd8\x09\xc4\x4a\xf5\x6c\xb9\x7c\x06\xc2\x5b\x66\xf7\x5b\x35\x3c\xb8\x58\xa5\x58\x38\x39\x41\x21\x75\x65\x87\x2c\x55\x64\xe6\x84\x0b\x90\x7c\x90\x9d\x47\x51\x3c\x53\x79\xf0\x82\x73\x09\xfe\x56\x27\x0a\x69\x40\x64\xe5\xe4\x5b\xe5\x76\x5d\xa1\xa8\x80\xc9\x38\x65\x9d\xb1\x35\x69\xb5\x10\x4c\xf5\xfc\x8f\x29\x9d\x7e\xf0\xd0\x4f\x15\xb5\x00\x81\x44\xd8\x1a\xdf\x45\xeb\x90\xd6\x57\x25\xbd\x01\xf7\x3e\x4a\xf7\xd4\xaa\xba\x19\x6c\xf0\x4b\xe7\x59\xac\xec\x4f\xa5\x5a\x8b\x5d\x72\x56\xa1\x53\xcc\x03\xf3\xc4\x67\xd6\x50\xa7\xa7\x60\x96\xd9\xc2\x4c\xa0\xda\x8d\xf8\x4c\xef\x43\x51\xab\x6b\x19\x88\xfd\xd7\xe9\x31\xee\x5a\xc6\x31\xbc\xf3\x6f\x12\x9d\x1a\x26\xa4\x21\x9c\x85\x6e\x77\x9e\x52\x43\xe6\x88\x6c\x92\x2d\x54\xdb\x02\x3f\x32\x37\x6b\x4a\xa3\x90\xc9\x27\x10\xe9\x9e\x84\xf4\x05\x57\x5d\x66\x13\xf5\x2c\xf6\xe7\x85\xb6\xcb\xec\x5f\x45\xeb\x9e\x2f\x83\xe9\x87\x73\xf6\x4a\x27\xe0\x02\x61\x11\xdc\xd2\x3f\x93\x07\x71\x4c\x14\x85\x97\x2c\x03\xa0\x74\x22\x22\x03\xf1\x06\xca\x10\x77\xa0\xe0\x71\x27\x83\x75\xea\x60\x5f\x44\xeb\x9b\x1c\xac\xab\x80\x4d\x37\xf9\xc0\xf6\xab\x1d\xb0\xa8\x81\x3f\x9b\xed\x5f\x80\x8e\x2c\xa9\x49\x95\x78\xb5\xdb\xa2\x82\x88\x5c\x34\xbd\xa9\x10\x98\xd9\xea\xa8\x55\x6d\x8d\x94\x92\xf7\x41\x64\xd7\x2b\x4d\xbd\xe7\x91\xbb\xfb\x65\x48\x49\xfc\xd1\x5f\xb2\x0d\x64\x8c\x13\x42\xd3\x0c\xc5\xec\x4e\xf2\x88\x6c\x36\xe9\x5a\xf2\x64\xac\x5e\xf0\x15\xb3\x73\x75\xad\xaa\x77\x3e\x5f\xdb\x5e\xd5\x94\x6b\x9a\x0c\x64\x9b\xac\x59\x6a\x1b\x70\x5f\xfb\xb2\xc5\x47\x1a\xb9\xbb\x91\x53\x39\xa3\x27\x85\x35\x28\x3b\xc1\x2e\xbd\xbc\x08\x53\x1f\x4b\xaa\x99\x5d\x27\x8a\x59\x23\x37\x14\x0f\xfc\xf8\x2b\xee\xf3\xcf\x42\x7b\x96\xb0\xd4\xa4\xb5\x56\x1f\x51\xfd\x99\xfa\x8a\xd4\x20\xd6\x35\x0e\xac\xfd\x56\x36\x85\xe4\x65\xf8\x4a\x7a\x4c\xb8\x1f\xd7\xbc\xb6\x26\x13\x90\x0b\x6b\x41\x4c\x53\x6e\xfa\xdc\xcc\x56\xe9\xfe\xb3\xa2\xfa\xa3\x5d\x2d\xd5\xcd\xfb\xeb\xdb\x77\x2f\xb2\x09\x9c\xbd\xfa\x35\x8a\x67\xcf\xa8\xae\x5a\x38\x72\x93\xe6\x1f\x5e\x8e\x57\x2f\xdf\x5c\x14\xca\xc1\x24\xf9\x67\x62\xcb\x54\x2e\x8a\xbc\xd4\x28\xca\xa3\x87\xe4\xbe\xf1\xc2\xa7\xc4\x60\xfd\xc6\x46\x95\x6e\x8c\x74\x2a\xce\x55\x24\x9d\xd8\x69\xc7\xb2\xb8\xd6\xae\x7d\x3d\x0b\xb8\x12\xf7\x87\x38\xba\x7b\x95\x02\x66\x97\xdb\x89\x71\x6a\x5b\x46\x56\x9f\xdd\xf2\xc2\xf6\x13\x15\xd4\xb3\xfb\xbe\xcb\x32\x39\x3c\x26\xed\x95\x3f\x27\x7f\x41\xfc\xef\x6f\xa9\x45\xce\x8e\xae\x69\x96\xea\x5f\x5b\x3e\x95\x4f\x92\x4c\x78\xd8\x49\x0a\xea\xd2\x30\xd1\x4a\x94\xc7\x40\x7b\x81\xed\x14\xf8\xb7\x2a\x31\x83\xcd\xba\x95\xbc\x22\x8f\xbb\x33\xf5\xf8\xb9\x08\x67\xbb\x88\xe3\x8a\x77\xf6\x84\xeb\x18\x76\x56\x62\x8f\x9d\xef\x6a\xa6\x20\x2c\xb8\xf3\xac\xe6\xf3\x27\xb5\xb3\x42\x35\xa6\x35\xc1\xd6\xb0\xee\xad\x42\x3c\x1e\xd6\x17\x95\x0d\xe8\x74\x8e\xe1\xd4\xde\x47\xe9\x98\xae\xf8\x50\xa5\x68\x57\x6c\x32\x49\x6c\xde\xb5\x5b\x19\xf3\xd4\xaa\xad\xb3\xa2\x56\xad\x34\x34\x74\x99\xd4\x89\x55\x33\x4f\x43\x03\x56\xcc\xf1\x85\x9e\xb9\xc9\x1b\x3c\x16\xdd\xb5\xef\x9b\xdb\x39\x9d\x8a\x99\x9d\x97\x01\x5c\xbc\x83\x5a\xa1\x7a\x82\xe7\x90\xa6\xb9\x65\x52\x28\x2b\x37\xae\x1c\x05\x63\x8b\x11\x11\x4a\xb4\xea\x22\x89\xd9\x2a\x27\x98\x96\xa7\x89\xac\x29\x65\xa1\xaa\xdc\xcc\xb2\xad\x9b\x70\xca\x12\x24\x2b\x49\x92\xe1\x28\xe8\xc8\xfe\x82\xfe\xc7\x63\x65\xef\x4b\x31\xb2\xd8\x0e\xae\x6c\x12\xc7\x76\x53\x93\xca\xf1\x82\xc7\x72\xa4\x2d\x46\x65\x52\xda\x22\x57\x4c\x55\x3f\xaf\x14\x72\x4d\xb5\x5a\xaa\x44\x64\x1a\x85\x1f\x49\x4c\x7f\x11\xd7\x59\xcf\xa3\xe5\xfb\x28\xf3\xea\x02\x1e\xe8\x14\x36\x0a\x82\x0d\xd9\xdc\x16\x60\x6b\xc4\x12\xa7\x38\x80\xb0\xaf\x16\x8f\xbc\xc9\x25\x86\xb8\xd5\x1a\xed\x5c\xe7\x96\xf7\xb4\x7c\x74\x57\xce\xb2\x92\x0e\x35\x3e\x40\xff\xc8\x3b\x37\x35\x9a\xdc\x5f\x39\x7e\x48\x14\xe1\x00\x25\x10\xad\xaf\x15\xa1\x10\x5b\xa0\x33\x0b\x6e\x75\xee\xe1\x24\x4e\xdd\x27\x44\x86\x30\xd1\x88\x4e\xad\x66\xb3\xfc\xb2\x65\x1b\x23\x23\x6a\xb5\x78\x70\xb2\xe0\x24\xce\x54\x3f\x25\xc8\xc0\x64\x90\x81\x69\x6e\x33\xcb\xae\x25\x7c\x1c\x2d\xe0\x0f\x10\x00\x19\x6e\xbc\xe4\xed\xa8\x87\xa6\x89\x96\xad\x96\x81\x60\x27\x39\x5e\x88\x6c\xdf\x34\xd1\xc2\x34\x0d\x5e\x20\x61\xeb\x18\x24\xac\x8a\xac\x71\x2f\xc9\xca\x8f\x7d\x1a\xc5\x7a\xa1\x94\xc6\xc8\x10\xd4\x5b\x76\x99\x7e\xd4\x6a\xb1\x84\xa8\x83\x69\xe7\x6a\x71\x08\x79\x56\x35\x63\x64\x88\x52\x9a\x76\xa9\x9c\x28\xe0\x09\xa1\xf2\x13\xfa\xa8\xc8\x4c\x5a\x21\xe2\x9f\x19\xee\xcc\x42\x5a\x91\x19\x9a\xbe\x29\x07\x86\x8c\x96\x49\xf9\xdc\xaa\x20\x03\xd6\xc9\x78\x62\x45\xc9\xdc\xf2\x2b\x05\xf3\x31\x15\x66\xd5\x8c\xef\x2a\x96\xef\xfc\x4e\x21\x55\xf2\x29\xcb\x94\xae\x62\x5f\x51\xaa\xdc\xec\xc3\xdf\xf8\xf1\x6e\x01\xfd\xc5\x5f\xae\x49\xf2\x8e\x9b\x15\xce\x74\xe3\x4c\x14\x7e\x28\xfe\x9a\x69\xe9\x78\x6d\x4a\x65\x54\xf4\xa6\x42\x0e\xd3\x1a\xba\x31\x9e\x7c\xde\x3e\xb9\xd2\xb4\xcc\x45\x38\x31\x4e\xb1\xa5\xac\x32\x17\x81\x0f\xdc\x6d\xb1\xd9\x8f\x1c\xd2\xc8\x32\x17\x6c\x11\xdd\xea\x7e\x1b\xd6\xf7\x8b\xbb\x80\x52\x12\x1b\x23\x9a\x3b\x4b\xe6\x61\xc1\xf1\xfa\xdb\x38\xc9\x7d\xe4\x0d\x16\xe9\x90\x4f\x71\xb3\x63\xcf\x51\x44\xa9\xe5\x76\x8a\x5e\x79\x0f\x08\xd9\xd5\x9b\x56\xf5\x8e\xb7\xea\xdc\x91\xe4\xcf\xe8\x14\x2a\x63\xf9\xa4\x2e\x7f\x61\x4d\x2a\xc5\xd9\xd8\x42\xa9\x05\x53\xbe\xe4\x65\xfd\xb9\xd8\xed\x42\x66\x3d\xcb\x97\x29\x0d\x15\x84\xbe\xf4\x80\xb2\xa6\xf2\x17\xe1\xec\xd1\x55\x3f\x40\x71\x0c\xd6\xee\x2a\x19\xa2\x65\x97\x5b\x0d\x6a\x76\x76\x24\x35\x80\x90\xb1\x6a\x5b\x6d\xac\x20\xc5\x44\xbd\x4a\x06\x51\xb1\x0e\xec\x61\x2a\x31\xca\x3d\xca\x05\xc0\x54\x3c\x94\x37\x1c\xe3\x9d\xb6\xf8\xeb\xca\xc6\xa5\x51\x43\x91\x2b\x97\x97\xf1\x0b\x57\x5b\xed\x63\x90\x42\xa0\xa6\xca\xa6\x55\x6b\x50\x4b\xa5\x4e\x4f\xa9\x13\xf9\xb8\xbd\xc1\x26\xea\x53\x0a\x92\x72\xee\x48\xba\xd9\x64\xc2\xc1\x29\x6b\x86\xa2\x09\x9e\xe2\xac\x24\xcf\x83\x6a\xe5\x91\xd4\xf6\x2d\x4c\x14\xcd\x25\x81\xf3\x26\xac\x02\x56\xc1\x9e\x58\x67\xba\x72\x02\x44\x47\x96\x31\x54\x95\x46\x39\x0f\x00\xa5\xca\xd2\xb3\xdd\xd4\x91\x6d\x64\x96\x74\x45\x7b\x22\x1c\xfc\x53\x57\x80\xec\xd4\x96\xdf\x06\xcd\xd4\xe7\xe5\x15\x21\xf5\x21\x93\xda\x4c\x0a\x5d\x4b\x92\x79\x93\xc1\xe2\xe4\x29\x6f\x58\x25\xcc\x65\xc5\x0d\xdc\x77\xd1\x3d\xbf\x55\x9a\xaa\x2b\x97\x7e\x42\xdf\x91\x69\x14\xcf\xc8\x4c\xc8\xc7\x05\x75\x66\xfe\x7d\x2a\x17\x17\x29\x64\x33\x4e\x14\xea\x1a\x2f\x4b\x7a\x48\x59\x70\x75\x93\xbf\x10\xa7\xc0\x8c\x49\x12\xfc\x9d\x1c\x88\x59\x6a\x09\x85\xd6\xbf\x50\x90\x28\xe4\xc4\x0a\x84\x72\x31\xc8\xe4\xd9\x38\x92\xfc\xf4\x6c\x91\xa5\x5c\x82\x15\x87\xad\xa9\x76\x46\x3e\x09\x3b\xb5\x0a\x43\x5c\x06\x48\xef\xaa\x94\xbb\x6b\x44\x52\x56\x96\x3a\xb2\x82\x92\xba\xa1\x84\xa1\x6a\x10\x92\x7a\x6c\x6e\x69\x5a\xec\xa5\xc2\x29\xc2\xa3\x08\x71\xfe\x17\x30\xd5\x1c\x95\x56\xbe\xb0\x86\x8d\x74\xb2\xd9\xd0\x4c\x0d\x59\xc3\x8f\x32\x6e\x5d\x1b\x2c\x6a\x8b\xfd\x54\x26\xa6\x6a\x12\x85\xf9\xb3\x4c\xbd\xee\xfb\x46\x79\x08\x3f\xa2\x74\x55\x43\x17\x0a\x5a\x0e\x91\x57\xe0\x66\x49\x50\xac\x22\x25\xf5\x08\xbf\x95\x27\xbc\x47\xc8\x3d\x52\x98\x41\xaa\x31\xcb\x8a\x8a\xe1\x97\x30\xc6\x59\x91\xc8\xf0\x91\x23\xaa\x6c\x09\x30\xca\x8d\xcb\xa2\x5e\xe5\xa9\x7a\x44\xaa\xfb\x36\x75\xdd\x72\x84\x71\x36\x64\x2b\x81\x70\x39\x54\x4c\x3a\x51\x29\x36\x7f\xb9\xf3\xee\x7a\xa2\xc7\xca\xe2\x1a\x2d\x45\xcd\x46\x25\x6e\xce\x69\xc2\xd0\x51\x39\x24\x7d\x14\xfe\xba\x20\xa4\x58\x34\x11\x59\x0f\x3c\x27\x53\xff\xb7\xb4\xac\xf6\x48\xe4\x08\x6d\x2d\x20\xc2\x04\xdd\x7e\xf1\xf6\xf5\xf5\x8b\x8b\x57\xef\x9f\x5d\x73\x5d\xb3\xba\x73\x86\x07\xe0\xff\xf4\xec\x4f\x17\xbb\x1b\xc1\x65\x0a\x8a\x01\x5c\xb1\x76\xec\xbc\xed\x64\xf5\x78\x4a\x91\x6c\x17\xb0\x95\xa4\xa8\x68\x3d\x5d\xf0\x9d\x95\xb4\x75\x65\xbc\x0c\xef\x7f\xc3\xa4\x4d\x59\x02\x82\xf5\xf0\x43\x04\x25\xa1\xba\x13\x84\x1d\xb5\x96\x4c\x6d\xb4\xff\x83\x08\xc2\x1f\xee\x65\x47\x13\xab\xea\xbd\x13\x92\xd2\x41\xb9\x57\x3c\xca\xbb\xde\xc8\x47\x2d\x39\xdb\x99\xe6\x1d\x5f\xc5\x67\x57\xe1\xf1\x1c\x69\x57\xb1\x66\x0c\xc9\x2e\x82\x7e\x94\x85\xa6\x80\x99\x30\xf3\xf1\xaa\xdd\x06\x9f\xc8\x4c\x43\xb4\x70\x71\x42\x73\x2c\x98\x96\x8b\xf3\x66\x29\x17\x2e\x66\xb0\xdd\x72\x40\x42\xfa\x97\x96\x6d\x89\xb9\x3c\x7f\xd9\x43\xbc\xfd\x4d\x7a\xfb\x77\xae\xd5\xd4\x6c\xcb\xb2\x58\xee\x6d\x34\x5d\x27\x7a\x95\xfc\x20\x15\x9b\xef\xae\x0b\x65\x2e\x64\x89\x12\x17\xf2\xa0\xbc\x85\x1c\x56\xc4\x42\x86\x28\x15\xdf\x87\x74\x8c\x47\xfb\xff\x00\x3d\x0c\x59\xf9\x31\x84\x1b\xfa\x21\x8a\xdf\xa7\xc2\x66\x80\x68\x7b\x1a\xad\x1e\xe4\x28\xaa\xa9\x5b\xf3\x1b\x36\x9a\x48\x0c\xe6\x94\x2f\x2f\xce\x84\x45\xdc\x74\x19\xac\x6e\x22\x3f\x9e\xbd\xf0\xa9\xdf\x4e\x08\x65\x7f\x75\x8d\x5b\xe6\xc6\x25\x8b\xb5\x21\xa9\x82\xa7\xe4\x13\x3d\x5e\x2d\xfd\x20\x94\xb1\x54\xa3\x92\x55\xc4\x4f\x28\x51\x15\x17\x62\xb9\xd0\x68\xc5\xda\xc3\x9f\xfb\xbc\x8b\x84\xf1\x6e\x06\xb7\x73\x80\x1d\xe3\x40\x8f\x51\xb1\x7e\xc2\x5c\xd4\xd8\xc5\xfd\x83\xb0\xb6\x10\x88\xca\x67\xeb\x35\x34\x29\x78\x7a\x12\xe6\x73\x50\x1a\xee\x1d\xad\x3d\xf5\xc3\x29\x59\xea\xc4\xd8\x8e\x0e\x6a\xb6\x66\x33\xd6\x95\xcd\x39\x2f\x34\xa7\x21\xb5\x1f\x43\x2c\x37\xe9\x5c\xd1\xa4\xfc\x50\xe0\x2e\xfa\x08\xdd\xce\x64\x81\x9f\xc3\x19\x89\xf9\x29\x33\x5c\x20\xc6\x11\xa2\xed\x98\xf1\x24\x9c\x3a\x57\x71\x01\x1f\xa5\x88\x8a\xfa\x97\x7a\x0a\x22\xc9\xb0\x67\x98\x36\xff\xf7\x6a\xd2\xbf\xeb\xd5\xa4\x9a\x1b\x3f\x69\x24\xc2\xea\xdb\x3e\x41\x2e\xba\x34\x45\x41\xfb\x9a\x3b\xb3\x48\x77\xa7\x31\x0a\x4a\x77\x6b\x0e\x30\xe8\x87\x09\xb2\x5e\x47\x76\x0d\x30\x7f\xc8\xf5\x01\x3e\xf7\xee\xf9\x1c\x07\x7a\x9c\x89\xf8\x9d\xd8\x7c\xd7\xd9\xc6\x09\x18\xd1\x5c\xe2\x1c\x71\x16\x09\xe9\x55\x4f\x55\x1d\x25\xb8\x3d\x91\x21\x85\xaf\x21\x15\xa6\xb4\x9e\xfa\x22\x48\x82\x56\x07\xce\x16\x1e\xcd\xaa\x05\x81\xd5\x4a\x6b\x0d\x06\x83\x01\xb9\xab\x80\xcc\x07\xa9\xd4\x7e\xad\x22\x47\x68\x16\xad\x40\xd7\xfc\x38\xf0\xd3\xbb\xfb\x48\xa3\xf1\x9a\x64\x15\x2b\x30\x9a\xe2\x0e\x6b\x91\xee\x9e\xad\x3e\x29\xb4\x3a\xdb\xe6\x4b\xe7\xcb\xe9\xeb\x0a\x4d\x5d\xb9\x1e\x73\x42\x9f\x33\x41\x3d\x08\xe7\xe7\x20\x54\xbc\x83\x99\x70\xc4\x45\x65\x60\xdf\x66\x93\x3f\x2c\xc4\x5e\x44\xcf\xb1\x36\xce\x41\xe5\x59\x10\xef\x10\x32\x1b\x75\x8e\x20\xc0\x51\x01\xba\xa8\x08\xe0\x6b\x13\xb8\xd4\x0d\xfe\x4e\xa6\x0b\x3f\x9c\x93\x99\x06\xfe\x95\xe8\x56\x8f\x75\xdb\x90\xce\x45\xce\x73\x5a\xa4\xe8\x7f\x67\xf1\xff\x81\xb3\x78\x76\x07\xbf\x72\x0e\x8f\xdb\xd7\x3e\x6b\x5d\xb8\x56\x09\xed\x0c\x9e\xe5\xc0\x45\x62\x4c\xb9\x8c\x69\xb1\xe7\x65\xaa\x15\x8c\x1f\x3f\xa9\xdf\xf9\x9f\xb8\x4a\x60\xcf\x4c\x0b\x25\xc9\xce\x46\x93\x3c\x64\x21\xc2\xeb\xae\xac\xc4\x40\x3c\xd6\x77\x76\x0c\x2c\x54\xa5\xc2\x00\x26\x0d\xf9\x9a\x9a\xe2\xc0\x17\xc4\x91\xca\x9c\xd0\xf3\x87\xe9\x32\x98\xf2\x83\xfd\xd8\x48\xfd\xe3\xf0\x06\xc9\x05\xae\xc8\x1a\xe2\x0f\x59\x74\x96\x87\x34\x45\x55\x23\x04\xb7\x3a\x39\xcd\x83\x18\x52\xe8\x7a\x11\xad\xfd\x84\x40\xc4\xf6\x42\xbd\x27\x45\x17\x43\xa2\x4f\xc9\x1f\x52\xad\xdb\x28\xbe\xf0\xa7\x8a\x7a\xe5\x16\x3e\x69\x90\xe5\xcd\x43\xd2\x7b\x42\x60\x22\x12\x9c\xc4\x60\x1e\x42\x75\x70\x70\x09\x91\xff\x61\x07\xfe\x88\x45\x78\x4e\x68\xe5\x21\x47\x1d\x27\x10\x63\x22\x5d\xcc\x54\xba\xcd\xab\xa7\x81\x4b\xd7\x32\x56\xeb\xd2\x75\xa4\xbd\x44\x0a\xfd\x3c\xc9\x3c\x1b\x66\x31\xc6\xe1\x31\x1b\x5c\x67\xba\x69\x4a\x2c\x5b\x06\xca\x56\x9a\x3c\x5b\x1b\xf9\x25\x82\xdf\x7d\xb5\x53\xa5\x9c\xf8\x5a\xd9\x34\x73\x55\x74\xbf\x77\x68\xd3\xe6\x49\xb6\x5a\x2d\x5b\x6a\xe9\xd5\x32\x98\x92\x4a\x0b\x22\x08\x43\xef\x8c\x02\x39\xb4\x33\xe3\x95\x78\x1c\xb4\x9c\x7c\x68\xe7\x60\x22\xee\x9c\x31\x0a\x11\x26\xa3\xe8\xa4\x50\x00\x0a\xf7\x27\xf7\x16\x3a\x32\x0e\x98\x3e\x22\x93\x66\x13\x88\x20\x8f\xe9\x36\xb8\xd5\xe3\x66\x73\x67\x8f\xc7\x0b\x52\x80\xb2\x47\xd1\x29\x2b\x5a\xab\x75\x40\x49\x76\xc1\x83\x0f\x29\x92\x31\xc9\xdd\xf0\xb3\x46\x51\x66\x9c\x73\x58\xbd\x89\xc9\x6a\x1e\x8f\xa3\xc9\xce\xde\x54\x70\x43\xe6\x52\xb1\xc8\x5d\xc5\x0b\xa1\x25\xd8\x56\x11\x76\x54\xe6\x43\x13\x27\x45\x06\x2f\xc2\xcb\x3c\x9a\x18\x79\x47\xca\xe2\x6b\x38\xce\x82\xb0\x17\x38\x8b\xa1\xc8\xba\xba\xe2\x5c\x9a\x73\x52\x98\x86\x68\x96\x0b\x59\x1c\x85\xad\xf4\x39\x5f\x30\x52\xbe\xef\xb6\x08\x6e\x53\x69\x35\x91\x76\xd2\xe0\xb6\x86\x9e\x60\xcb\xe0\xd3\xfb\x89\xb5\xd9\x64\xae\x04\x45\x39\xa4\x98\xde\x50\xa2\x46\xca\xea\x8d\x68\x4d\x1b\xd1\x6d\x23\x66\x52\x9d\xc6\x5d\xf0\x98\xf1\x89\x25\xe3\x9d\xfb\x61\x18\xd1\x06\x94\xa8\x21\x5c\x10\x25\xe0\x5c\x3e\x80\xc8\xe0\x0f\x51\x38\x6b\x80\xc5\x4e\xc3\xe2\x84\xe2\x53\x2b\xe3\x5b\xce\xac\xd6\x8e\x59\x13\x42\x19\x9b\x98\xe2\xdc\x71\xce\x1f\x8d\xf4\xbc\x93\x98\xd4\x8c\x5b\x85\x75\x29\xb8\xd5\x83\x53\xcb\xd8\xc5\x70\x4a\xfb\x2d\x28\x0c\x9e\x12\x63\xa5\x2e\x8b\xd2\x99\x43\xee\x17\x53\x35\x87\x71\xfe\x28\x8e\x81\xdc\xa0\xaf\x2a\x7d\xd9\x58\xac\x38\x2e\x14\x6b\x8a\x34\xa7\x9a\xc4\xf8\xbe\x58\x83\x1a\x31\x3b\x88\xa7\xeb\xa5\x1f\xbf\x0a\x12\xba\x57\xce\xfe\x26\xa6\x47\x20\x91\x66\x57\x14\xf3\x0f\xab\x28\x5a\xee\x7c\x67\x06\xe1\xcf\x09\xc1\x9f\xb7\xaa\x63\x50\xe1\xb1\xab\xbc\x43\xda\xdd\xfd\xc3\xbb\x5b\x26\x8c\x6a\xd1\x03\x39\x97\x92\xdf\x90\xfb\xf4\x1c\x87\xc3\xac\xa2\x55\x76\x1f\x0f\x3e\x3e\x86\xcd\xd5\x6e\x93\x48\xda\x6f\x9f\xff\xd7\xc5\xf9\xfb\xeb\x97\x2f\xae\x9f\xbd\x7f\xff\xee\xe5\xf3\x9f\xdf\x5f\xb0\xb9\x11\xd1\xb2\x23\x2d\xf0\x59\x58\xf0\x70\xc1\x06\xde\xe3\x69\x2b\xc6\x54\xb4\x5e\xce\x1a\x6c\x58\x89\xaf\x34\xfc\x30\x1d\x5b\x90\xfd\x40\x68\x43\xb4\xcf\x4c\x33\x46\x3c\xca\x64\xe3\xf1\x9f\xce\x2e\x4c\x90\xcc\x67\x9a\x9e\x79\x4d\xe5\x0d\x06\x4e\x07\xca\x3e\x73\xb3\xd6\x95\x7a\xa7\xca\x99\xd2\x8e\x15\x98\x80\x4d\xda\xd7\x11\xf0\x9d\xb8\xa5\x31\xda\x45\x21\xdf\x5b\x6a\x14\xb7\x69\x6a\x6c\x6b\x5b\x86\x51\xee\x98\x42\x6d\x8a\x73\x33\x77\xa6\xf7\xc6\xbf\x03\xf5\x2a\xc9\x3b\xe5\xd6\xc4\x99\x44\xa0\xfa\x24\xd6\x66\x3e\xf5\x5b\xd1\xcd\xdf\x5a\xc1\x4c\x43\x41\xa1\xf4\x10\x94\x5b\xe5\x40\xf9\x0f\xb7\xf9\x00\x35\x3a\x9c\x0a\x57\x46\x2a\x4c\x4d\x23\x29\x98\x46\x7e\xab\xd0\xfc\xb6\xcd\x63\xf3\xdb\x10\x9c\x3f\xd6\x6d\x97\xbb\x22\xb2\x1d\x03\xf9\x3b\x0e\x98\x93\x74\x8d\x7a\xfe\xf0\x32\xe7\x58\x92\x2f\x03\x6c\x5f\x7b\x84\xb1\x2f\x7c\x01\x8c\x96\x58\x5b\x30\x08\x0d\xe3\x79\x44\xe9\x03\x18\x9e\x9d\xc1\x56\xb6\xfd\x23\x4b\xeb\xbe\x31\x64\x8f\x51\xfb\x2f\xe2\x51\xb8\x3c\xd3\xb5\x05\xa5\xab\x64\xa8\xe1\xf4\x2e\xfd\x32\xe2\xc1\x93\x38\x5b\x4c\xa3\xe5\x99\x76\x9f\x24\xc3\xe3\x63\x6d\xa8\xdd\xc3\x5f\xc3\x2c\x83\x2e\xa2\x84\x4a\x99\x2b\x9f\x2e\x42\xff\x8e\x98\xda\x7d\xa2\xa1\xa9\x44\x9f\xfb\x1c\x40\x6b\xd8\x41\x86\xed\xf3\x28\x0c\xb9\xce\xfa\x07\x9f\xed\xe8\x1f\xf4\x05\x4a\xb2\x42\x24\x06\x9a\x09\x87\xdb\xbf\x92\x9b\xf7\xef\x7f\xd3\x97\x68\x8d\xa6\x88\x57\xd7\x5f\xd3\xc5\x35\x8d\x3e\x90\xd0\x68\x47\x2b\x12\xea\xc6\x48\x7c\x4d\xb6\x45\x59\x87\xcb\xc8\x9f\x69\x28\x37\xfa\x66\xba\x81\x96\xed\xe9\x32\x4a\x88\x6e\x6c\x55\x4a\xf2\xfc\x19\xda\xee\x84\x42\x8f\xe0\xd2\x62\xfe\xb0\x2c\xbb\xc9\x3d\x26\x13\xee\x03\x8f\x9a\xb6\x51\xb9\xf4\xdf\x06\xe1\xac\x71\x07\xec\xd2\x78\xa2\x99\xc4\xd4\x9e\xb4\x77\x7e\xd3\xe8\x96\x4b\x70\x9f\xb5\xf6\xb1\x4f\xa9\x3f\x5d\x88\x3f\xda\xb0\x8b\xca\x79\xed\xbf\x25\xc5\xec\x95\x3f\xfd\xe0\xcf\x49\xfb\x6f\x49\x14\x6a\x43\xd7\x62\xaf\x6e\x03\xca\xfe\x6b\x43\x2f\xf7\x04\x98\x59\x46\x09\xcd\x86\xfc\xf5\x72\x99\x4c\x63\x42\xc2\x5c\x52\x1b\xf6\x2a\xdf\xb5\xa7\x49\xa2\x0d\x5d\xa7\x1a\x80\x7d\xb3\x8c\x5f\xfa\xb4\xcb\x5e\x0b\xc6\x9f\x45\xe5\xb7\x9d\xe2\xdb\x2c\xa5\x0d\xfb\x15\x6f\xe0\x9b\xfd\xed\x28\x68\x7f\x20\x0f\x89\x62\xc7\x24\x06\x35\x7b\xab\x27\xc6\x16\x05\xed\x98\x24\xd1\xf2\x23\xc1\x11\x22\x6d\xf2\x69\x15\xc5\x34\xc1\x01\x0a\xda\xc1\x0c\x3b\x83\x22\x9b\xb0\x39\x32\x05\xf9\xcc\xf8\x7e\xc8\x3d\x7f\xb6\x45\x97\xa1\x3b\x3f\x08\x87\xda\xae\xb3\xd0\x2a\x0e\x3e\xfa\x14\xe6\x87\x03\x49\xb1\xae\x13\x74\x44\xbf\xd5\x11\x91\x98\x8e\xcf\x4b\x0d\x88\xed\xd9\xb8\xf5\x83\x25\x99\x0d\x1b\xc7\x8b\xe8\x8e\x1c\x3f\xac\x67\x7e\x70\xcc\x06\x64\xf0\x91\x1c\xaf\xe2\x68\xb6\x9e\xd2\xe4\xd8\xb1\xec\xee\x31\x8c\xb1\xe3\x24\x9e\x1e\xcf\x03\xba\x58\xdf\xb4\xa7\xd1\x9d\x40\xe0\xaf\xfe\x96\x1c\x87\xd1\x8c\x5c\x73\x46\x4e\x8e\xa1\xb0\xc7\xcb\xe0\xe6\xd8\x9f\xcd\xa2\x30\xa9\xe6\x91\xc6\xcf\x21\xf9\xb4\x22\x53\x4a\x66\x0d\x18\xbf\x0d\xdd\x1e\x5a\xc6\x55\xf8\x5b\xb4\x6e\xdc\xf9\x0f\x8d\x90\x90\x19\x5b\xc1\xfd\xd5\x2a\x8e\x56\x71\xe0\x53\xd2\x60\xe3\x97\xc4\x0d\x1a\x35\xf8\x21\x20\x2c\xde\x8d\xdb\x80\xa5\xd8\x2a\x76\x15\x6e\x1a\x6d\xd1\x60\xd9\xd7\x1a\x9f\x59\x36\xfb\x97\xea\xdc\x87\x0d\x38\xc3\x1e\xa5\xf9\x34\x5a\x0d\x1b\xd6\x48\x33\x0e\xed\x8c\xdd\x48\x48\xfb\xa4\xc0\xde\x5f\xd0\xbf\x3b\x26\x16\x14\x0b\xbc\x5b\x20\x38\x31\x46\xff\x2f\x00\x00\xff\xff\xf2\x6e\xe8\x25\x51\x12\x05\x00") func staticJsGottyBundleJsBytes() ([]byte, error) { return bindataRead( @@ -209,7 +209,7 @@ func staticJsGottyBundleJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/js/gotty-bundle.js", size: 332365, mode: os.FileMode(436), modTime: time.Unix(1503469127, 0)} + info := bindataFileInfo{name: "static/js/gotty-bundle.js", size: 332369, mode: os.FileMode(436), modTime: time.Unix(1503548485, 0)} a := &asset{bytes: bytes, info: info} return a, nil } From d1ec7125cf415ff668266d5f0c8a002ea5479ba2 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Thu, 24 Aug 2017 13:22:27 +0900 Subject: [PATCH 72/82] Run webpack when ts files are updated --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index cc2d52c..0b5fffc 100644 --- a/Makefile +++ b/Makefile @@ -48,7 +48,7 @@ js/node_modules/xterm/dist/xterm.css: cd js && \ npm install -js/dist/gotty-bundle.js: +js/dist/gotty-bundle.js: js/src/* cd js && \ webpack From 807bcc25a4c89a458ecf5fd4fca08f42011bd710 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Thu, 24 Aug 2017 14:40:28 +0900 Subject: [PATCH 73/82] Refine API of webtty package --- backend/localcommand/local_command.go | 4 -- server/handlers.go | 24 +++-------- server/slave.go | 2 +- server/ws_wrapper.go | 33 ++++++++++++++++ webtty/errors.go | 5 ++- webtty/master.go | 57 +++------------------------ webtty/message_types.go | 2 + webtty/option.go | 15 +++++-- webtty/slave.go | 6 ++- webtty/webtty.go | 31 +++++++-------- 10 files changed, 82 insertions(+), 97 deletions(-) create mode 100644 server/ws_wrapper.go diff --git a/backend/localcommand/local_command.go b/backend/localcommand/local_command.go index 449e620..4beca86 100644 --- a/backend/localcommand/local_command.go +++ b/backend/localcommand/local_command.go @@ -123,10 +123,6 @@ func (lcmd *LocalCommand) ResizeTerminal(width int, height int) error { } } -func (lcmd *LocalCommand) GetTerminalSize() (int, int, error) { - return pty.Getsize(lcmd.pty) -} - func (lcmd *LocalCommand) closeTimeoutC() <-chan time.Time { if lcmd.closeTimeout >= 0 { return time.After(lcmd.closeTimeout) diff --git a/server/handlers.go b/server/handlers.go index 674ecab..f1a2f9b 100644 --- a/server/handlers.go +++ b/server/handlers.go @@ -148,29 +148,17 @@ func (server *Server) processWSConn(ctx context.Context, conn *websocket.Conn) e if server.options.EnableReconnect { opts = append(opts, webtty.WithReconnect(server.options.ReconnectTime)) } - if server.options.Width > 0 || server.options.Height > 0 { - width, height, err := slave.GetTerminalSize() - if err != nil { - return errors.Wrapf(err, "failed to get default terminal size") - } - if server.options.Width > 0 { - width = server.options.Width - } - if server.options.Height > 0 { - height = server.options.Height - } - err = slave.ResizeTerminal(width, height) - if err != nil { - return errors.Wrapf(err, "failed to resize terminal") - } - - opts = append(opts, webtty.WithFixedSize(server.options.Width, server.options.Height)) + if server.options.Width > 0 { + opts = append(opts, webtty.WithFixedColumns(server.options.Width)) + } + if server.options.Height > 0 { + opts = append(opts, webtty.WithFixedRows(server.options.Height)) } if server.options.Preferences != nil { opts = append(opts, webtty.WithMasterPreferences(server.options.Preferences)) } - tty, err := webtty.New(conn, slave, opts...) + tty, err := webtty.New(&wsWrapper{conn}, slave, opts...) if err != nil { return errors.Wrapf(err, "failed to create webtty") } diff --git a/server/slave.go b/server/slave.go index d259abf..77d0973 100644 --- a/server/slave.go +++ b/server/slave.go @@ -8,7 +8,7 @@ import ( type Slave interface { webtty.Slave - GetTerminalSize() (width int, height int, err error) + Close() error } type Factory interface { diff --git a/server/ws_wrapper.go b/server/ws_wrapper.go new file mode 100644 index 0000000..819c393 --- /dev/null +++ b/server/ws_wrapper.go @@ -0,0 +1,33 @@ +package server + +import ( + "github.com/gorilla/websocket" +) + +type wsWrapper struct { + *websocket.Conn +} + +func (wsw *wsWrapper) Write(p []byte) (n int, err error) { + writer, err := wsw.Conn.NextWriter(websocket.TextMessage) + if err != nil { + return 0, err + } + defer writer.Close() + return writer.Write(p) +} + +func (wsw *wsWrapper) Read(p []byte) (n int, err error) { + for { + msgType, reader, err := wsw.Conn.NextReader() + if err != nil { + return 0, err + } + + if msgType != websocket.TextMessage { + continue + } + + return reader.Read(p) + } +} diff --git a/webtty/errors.go b/webtty/errors.go index ea2fcee..0ea6473 100644 --- a/webtty/errors.go +++ b/webtty/errors.go @@ -5,6 +5,9 @@ import ( ) var ( - ErrSlaveClosed = errors.New("slave closed") + // ErrSlaveClosed indicates the function has exited by the slave + ErrSlaveClosed = errors.New("slave closed") + + // ErrSlaveClosed is returned when the slave connection is closed. ErrMasterClosed = errors.New("master closed") ) diff --git a/webtty/master.go b/webtty/master.go index 3312ebf..7f30f47 100644 --- a/webtty/master.go +++ b/webtty/master.go @@ -1,55 +1,8 @@ -/* -Copyright (c) 2013 The Gorilla WebSocket Authors. All rights reserved. - - Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation -and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - package webtty -// Master represents a PTY master, usually it's a websocket connection. -type Master interface { - WriteMessage(messageType int, data []byte) error - ReadMessage() (messageType int, p []byte, err error) -} - -// The message types are defined in RFC 6455, section 11.8. -const ( - // TextMessage denotes a text data message. The text message payload is - // interpreted as UTF-8 encoded text data. - WSTextMessage = 1 - - // BinaryMessage denotes a binary data message. - WSBinaryMessage = 2 - - // CloseMessage denotes a close control message. The optional message - // payload contains a numeric code and text. Use the FormatCloseMessage - // function to format a close message payload. - WSCloseMessage = 8 - - // PingMessage denotes a ping control message. The optional message payload - // is UTF-8 encoded text. - WSPingMessage = 9 - - // PongMessage denotes a ping control message. The optional message payload - // is UTF-8 encoded text. - WSPongMessage = 10 +import ( + "io" ) + +// Master represents a PTY master, usually it's a websocket connection. +type Master io.ReadWriter diff --git a/webtty/message_types.go b/webtty/message_types.go index 8b1721e..c437a42 100644 --- a/webtty/message_types.go +++ b/webtty/message_types.go @@ -1,5 +1,7 @@ package webtty +// Protocols defines the name of this protocol, +// which is supposed to be used to the subprotocol of Websockt streams. var Protocols = []string{"webtty"} const ( diff --git a/webtty/option.go b/webtty/option.go index 5dc407a..1618e89 100644 --- a/webtty/option.go +++ b/webtty/option.go @@ -17,11 +17,18 @@ func WithPermitWrite() Option { } } -// WithFixedSize sets a fixed size to TTY master. -func WithFixedSize(width int, height int) Option { +// WithFixedColumns sets a fixed width to TTY master. +func WithFixedColumns(columns int) Option { return func(wt *WebTTY) error { - wt.width = width - wt.height = height + wt.columns = columns + return nil + } +} + +// WithFixedRows sets a fixed height to TTY master. +func WithFixedRows(rows int) Option { + return func(wt *WebTTY) error { + wt.rows = rows return nil } } diff --git a/webtty/slave.go b/webtty/slave.go index a054aad..b9893ba 100644 --- a/webtty/slave.go +++ b/webtty/slave.go @@ -6,8 +6,12 @@ import ( // Slave represents a PTY slave, typically it's a local command. type Slave interface { - io.ReadWriteCloser + io.ReadWriter + // WindowTitleVariables returns any values that can be used to fill out + // the title of a terminal. WindowTitleVariables() map[string]interface{} + + // ResizeTerminal sets a new size of the terminal. ResizeTerminal(columns int, rows int) error } diff --git a/webtty/webtty.go b/webtty/webtty.go index c4df7d3..ed4f8b9 100644 --- a/webtty/webtty.go +++ b/webtty/webtty.go @@ -9,7 +9,7 @@ import ( "github.com/pkg/errors" ) -// WebTTY bridges sets of a PTY slave and its PTY master. +// WebTTY bridges a PTY slave and its PTY master. // To support text-based streams and side channel commands such as // terminal resizing, WebTTY uses an original protocol. type WebTTY struct { @@ -20,9 +20,9 @@ type WebTTY struct { windowTitle []byte permitWrite bool - width int - height int - reconnect int // in milliseconds + columns int + rows int + reconnect int // in seconds masterPrefs []byte bufferSize int @@ -39,8 +39,8 @@ func New(masterConn Master, slave Slave, options ...Option) (*WebTTY, error) { slave: slave, permitWrite: false, - width: 0, - height: 0, + columns: 0, + rows: 0, bufferSize: 1024, } @@ -52,11 +52,12 @@ func New(masterConn Master, slave Slave, options ...Option) (*WebTTY, error) { return wt, nil } -// Run starts the WebTTY. +// Run starts the main process of the WebTTY. // This method blocks until the context is canceled. // Note that the master and slave are left intact even // after the context is canceled. Closing them is caller's // responsibility. +// If the connection to one end gets closed, returns ErrSlaveClosed or ErrMasterClosed. func (wt *WebTTY) Run(ctx context.Context) error { err := wt.sendInitializeMessage() if err != nil { @@ -84,16 +85,14 @@ func (wt *WebTTY) Run(ctx context.Context) error { go func() { errs <- func() error { + buffer := make([]byte, wt.bufferSize) for { - typ, data, err := wt.masterConn.ReadMessage() + n, err := wt.masterConn.Read(buffer) if err != nil { return ErrMasterClosed } - if typ != WSTextMessage { - continue - } - err = wt.handleMasterReadEvent(data) + err = wt.handleMasterReadEvent(buffer[:n]) if err != nil { return err } @@ -148,7 +147,7 @@ func (wt *WebTTY) masterWrite(data []byte) error { wt.writeMutex.Lock() defer wt.writeMutex.Unlock() - err := wt.masterConn.WriteMessage(WSTextMessage, data) + _, err := wt.masterConn.Write(data) if err != nil { return errors.Wrapf(err, "failed to write to master") } @@ -183,7 +182,7 @@ func (wt *WebTTY) handleMasterReadEvent(data []byte) error { } case ResizeTerminal: - if wt.width != 0 && wt.height != 0 { + if wt.columns != 0 && wt.rows != 0 { break } @@ -196,12 +195,12 @@ func (wt *WebTTY) handleMasterReadEvent(data []byte) error { if err != nil { return errors.Wrapf(err, "received malformed data for terminal resize") } - rows := wt.height + rows := wt.rows if rows == 0 { rows = int(args.Rows) } - columns := wt.width + columns := wt.columns if columns == 0 { columns = int(args.Columns) } From b2c2db0764ea582ac1e265317e5c36c9850b2062 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Sat, 26 Aug 2017 16:53:17 +0900 Subject: [PATCH 74/82] Move responsibility to decode output encoding to terminal implementation --- js/dist/gotty-bundle.js | 2 +- js/dist/xterm.d.ts | 6 ++++-- js/src/hterm.ts | 2 +- js/src/webtty.ts | 6 +----- js/src/xterm.ts | 12 ++++++++---- server/asset.go | 4 ++-- 6 files changed, 17 insertions(+), 15 deletions(-) diff --git a/js/dist/gotty-bundle.js b/js/dist/gotty-bundle.js index 42b8c84..b95cbae 100644 --- a/js/dist/gotty-bundle.js +++ b/js/dist/gotty-bundle.js @@ -85,4 +85,4 @@ if(void 0!==i)throw new Error('Global "lib" object already exists.');var i={};i. * @module xterm/addons/terminado/terminado * @license MIT */ -!function(t){e.exports=t(r(0))}(function(e){"use strict";var t={};return t.terminadoAttach=function(e,t,r,i){r=void 0===r||r,e.socket=t,e._flushBuffer=function(){e.write(e._attachSocketBuffer),e._attachSocketBuffer=null,clearTimeout(e._attachSocketBufferTimer),e._attachSocketBufferTimer=null},e._pushToBuffer=function(t){e._attachSocketBuffer?e._attachSocketBuffer+=t:(e._attachSocketBuffer=t,setTimeout(e._flushBuffer,10))},e._getMessage=function(t){var r=JSON.parse(t.data);"stdout"==r[0]&&(i?e._pushToBuffer(r[1]):e.write(r[1]))},e._sendData=function(e){t.send(JSON.stringify(["stdin",e]))},e._setSize=function(e){t.send(JSON.stringify(["set_size",e.rows,e.cols]))},t.addEventListener("message",e._getMessage),r&&e.on("data",e._sendData),e.on("resize",e._setSize),t.addEventListener("close",e.terminadoDetach.bind(e,t)),t.addEventListener("error",e.terminadoDetach.bind(e,t))},t.terminadoDetach=function(e,t){e.off("data",e._sendData),(t=void 0===t?e.socket:t)&&t.removeEventListener("message",e._getMessage),delete e.socket},e.prototype.terminadoAttach=function(e,r,i){return t.terminadoAttach(this,e,r,i)},e.prototype.terminadoDetach=function(e){return t.terminadoDetach(this,e)},t})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(27),o="undefined"==typeof navigator,s=o?"node":navigator.userAgent,n=o?"node":navigator.platform;t.isFirefox=!!~s.indexOf("Firefox"),t.isMSIE=!!~s.indexOf("MSIE")||!!~s.indexOf("Trident"),t.isMac=i.contains(["Macintosh","MacIntel","MacPPC","Mac68K"],n),t.isIpad="iPad"===n,t.isIphone="iPhone"===n,t.isMSWindows=i.contains(["Windows","Win16","Win32","WinCE"],n),t.isLinux=n.indexOf("Linux")>=0},function(e,t,r){"use strict";function i(e,t){if(null==e.pageX)return null;for(var r=e.pageX,i=e.pageY;t&&t!==self.document.documentElement;)r-=t.offsetLeft,i-=t.offsetTop,t="offsetParent"in t?t.offsetParent:t.parentElement;return[r,i]}function o(e,t,r,o,s,n){var a=i(e,t);return a[0]=Math.ceil((a[0]+(n?r.width/2:0))/r.width),a[1]=Math.ceil(a[1]/r.height),a[0]=Math.min(Math.max(a[0],1),o+1),a[1]=Math.min(Math.max(a[1],1),s+1),a}Object.defineProperty(t,"__esModule",{value:!0}),t.getCoordsRelativeToElement=i,t.getCoords=o,t.getRawByteCoords=function(e,t,r,i,s){var n=o(e,t,r,i,s),a=n[0],l=n[1];return a+=32,l+=32,{x:a,y:l}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(3),o=function(){function e(e){this.elem=e,i.hterm.defaultStorage=new i.lib.Storage.Memory,this.term=new i.hterm.Terminal,this.term.getPrefs().set("send-encoding","raw"),this.term.decorate(this.elem),this.io=this.term.io.push(),this.term.installKeyboard()}return e.prototype.info=function(){return{columns:this.columns,rows:this.rows}},e.prototype.output=function(e){null!=this.term.io&&this.term.io.writeUTF16(e)},e.prototype.showMessage=function(e,t){this.message=e,t>0?this.term.io.showOverlay(e,t):this.term.io.showOverlay(e,null)},e.prototype.removeMessage=function(){this.term.io.showOverlay(this.message,0)},e.prototype.setWindowTitle=function(e){this.term.setWindowTitle(e)},e.prototype.setPreferences=function(e){var t=this;Object.keys(e).forEach(function(r){t.term.getPrefs().set(r,e[r])})},e.prototype.onInput=function(e){this.io.onVTKeystroke=function(t){e(t)},this.io.sendString=function(t){e(t)}},e.prototype.onResize=function(e){var t=this;this.io.onTerminalResize=function(r,i){t.columns=r,t.rows=i,e(r,i)}},e.prototype.deactivate=function(){this.io.onVTKeystroke=null,this.io.sendString=null,this.io.onTerminalResize=null,this.term.uninstallKeyboard()},e.prototype.reset=function(){this.removeMessage(),this.term.installKeyboard()},e.prototype.close=function(){this.term.uninstallKeyboard()},e}();t.Hterm=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){this.url=e,this.protocols=t}return e.prototype.create=function(){return new o(this.url,this.protocols)},e}();t.ConnectionFactory=i;var o=function(){function e(e,t){this.bare=new WebSocket(e,t)}return e.prototype.open=function(){},e.prototype.close=function(){this.bare.close()},e.prototype.send=function(e){this.bare.send(e)},e.prototype.isOpen=function(){return this.bare.readyState==WebSocket.CONNECTING||this.bare.readyState==WebSocket.OPEN},e.prototype.onOpen=function(e){this.bare.onopen=function(t){e()}},e.prototype.onReceive=function(e){this.bare.onmessage=function(t){e(t.data)}},e.prototype.onClose=function(e){this.bare.onclose=function(t){e()}},e}();t.Connection=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(3);t.protocols=["webtty"],t.msgInputUnknown="0",t.msgInput="1",t.msgPing="2",t.msgResizeTerminal="3",t.msgUnknownOutput="0",t.msgOutput="1",t.msgPong="2",t.msgSetWindowTitle="3",t.msgSetPreferences="4",t.msgSetReconnect="5";var o=function(){function e(e,t,r,i){this.term=e,this.connectionFactory=t,this.args=r,this.authToken=i,this.reconnect=-1}return e.prototype.open=function(){var e,r,o=this,s=this.connectionFactory.create(),n=function(){var a=new i.lib.UTF8Decoder;s.onOpen(function(){var r=o.term.info();s.send(JSON.stringify({Arguments:o.args,AuthToken:o.authToken}));var i=function(e,r){s.send(t.msgResizeTerminal+JSON.stringify({columns:e,rows:r}))};o.term.onResize(i),i(r.columns,r.rows),o.term.onInput(function(e){s.send(t.msgInput+e)}),e=setInterval(function(){s.send(t.msgPing)},3e4)}),s.onReceive(function(e){var r=e.slice(1);switch(e[0]){case t.msgOutput:o.term.output(a.decode(atob(r)));break;case t.msgPong:break;case t.msgSetWindowTitle:o.term.setWindowTitle(r);break;case t.msgSetPreferences:var i=JSON.parse(r);o.term.setPreferences(i);break;case t.msgSetReconnect:var s=JSON.parse(r);console.log("Enabling reconnect: "+s+" seconds"),o.reconnect=s}}),s.onClose(function(){clearInterval(e),o.term.deactivate(),o.term.showMessage("Connection Closed",0),o.reconnect>0&&(r=setTimeout(function(){s=o.connectionFactory.create(),o.term.reset(),n()},1e3*o.reconnect))}),s.open()};return n(),function(){clearTimeout(r),s.close()}},e}();t.WebTTY=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(0);i.loadAddon("fit");var o=function(){function e(e){var t=this;this.elem=e,this.term=new i,this.message=e.ownerDocument.createElement("div"),this.message.className="xterm-overlay",this.messageTimeout=2e3,this.resizeListener=function(){t.term.fit(),t.term.scrollToBottom(),t.showMessage(String(t.term.cols)+"x"+String(t.term.rows),t.messageTimeout)},this.term.on("open",function(){t.resizeListener(),window.addEventListener("resize",function(){t.resizeListener()})}),this.term.open(e,!0)}return e.prototype.info=function(){return{columns:this.term.cols,rows:this.term.rows}},e.prototype.output=function(e){this.term.write(e)},e.prototype.showMessage=function(e,t){var r=this;this.message.textContent=e,this.elem.appendChild(this.message),this.messageTimer&&clearTimeout(this.messageTimer),t>0&&(this.messageTimer=setTimeout(function(){r.elem.removeChild(r.message)},t))},e.prototype.removeMessage=function(){this.message.parentNode==this.elem&&this.elem.removeChild(this.message)},e.prototype.setWindowTitle=function(e){document.title=e},e.prototype.setPreferences=function(e){},e.prototype.onInput=function(e){this.term.on("data",function(t){e(t)})},e.prototype.onResize=function(e){this.term.on("resize",function(t){e(t.cols,t.rows)})},e.prototype.deactivate=function(){this.term.off("data"),this.term.off("resize"),this.term.blur()},e.prototype.reset=function(){this.removeMessage(),this.term.clear()},e.prototype.close=function(){window.removeEventListener("resize",this.resizeListener),this.term.destroy()},e}();t.Xterm=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,r){this.textarea=e,this.compositionView=t,this.terminal=r,this.isComposing=!1,this.isSendingComposition=!1,this.compositionPosition={start:null,end:null}}return e.prototype.compositionstart=function(){this.isComposing=!0,this.compositionPosition.start=this.textarea.value.length,this.compositionView.textContent="",this.compositionView.classList.add("active")},e.prototype.compositionupdate=function(e){var t=this;this.compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(function(){t.compositionPosition.end=t.textarea.value.length},0)},e.prototype.compositionend=function(){this.finalizeComposition(!0)},e.prototype.keydown=function(e){if(this.isComposing||this.isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this.finalizeComposition(!1)}return 229!==e.keyCode||(this.handleAnyTextareaChanges(),!1)},e.prototype.finalizeComposition=function(e){var t=this;if(this.compositionView.classList.remove("active"),this.isComposing=!1,this.clearTextareaPosition(),e){var r={start:this.compositionPosition.start,end:this.compositionPosition.end};this.isSendingComposition=!0,setTimeout(function(){if(t.isSendingComposition){t.isSendingComposition=!1;var e=void 0;e=t.isComposing?t.textarea.value.substring(r.start,r.end):t.textarea.value.substring(r.start),t.terminal.handler(e)}},0)}else{this.isSendingComposition=!1;var i=this.textarea.value.substring(this.compositionPosition.start,this.compositionPosition.end);this.terminal.handler(i)}},e.prototype.handleAnyTextareaChanges=function(){var e=this,t=this.textarea.value;setTimeout(function(){if(!e.isComposing){var r=e.textarea.value.replace(t,"");r.length>0&&e.terminal.handler(r)}},0)},e.prototype.updateCompositionElements=function(e){var t=this;if(this.isComposing){var r=this.terminal.element.querySelector(".terminal-cursor");if(r){var i=this.terminal.element.querySelector(".xterm-rows").offsetTop+r.offsetTop;this.compositionView.style.left=r.offsetLeft+"px",this.compositionView.style.top=i+"px",this.compositionView.style.height=r.offsetHeight+"px",this.compositionView.style.lineHeight=r.offsetHeight+"px";var o=this.compositionView.getBoundingClientRect();this.textarea.style.left=r.offsetLeft+"px",this.textarea.style.top=i+"px",this.textarea.style.width=o.width+"px",this.textarea.style.height=o.height+"px",this.textarea.style.lineHeight=o.height+"px"}e||setTimeout(function(){return t.updateCompositionElements(!0)},0)}},e.prototype.clearTextareaPosition=function(){this.textarea.style.left="",this.textarea.style.top=""},e}();t.CompositionHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(2),o=r(4),s=function(){function e(e){this._terminal=e}return e.prototype.addChar=function(e,t){if(e>=" "){var r=n(t);this._terminal.charset&&this._terminal.charset[e]&&(e=this._terminal.charset[e]);var i=this._terminal.y+this._terminal.ybase;if(!r&&this._terminal.x)return void(this._terminal.lines.get(i)[this._terminal.x-1]&&(this._terminal.lines.get(i)[this._terminal.x-1][2]?this._terminal.lines.get(i)[this._terminal.x-1][1]+=e:this._terminal.lines.get(i)[this._terminal.x-2]&&(this._terminal.lines.get(i)[this._terminal.x-2][1]+=e),this._terminal.updateRange(this._terminal.y)));if(this._terminal.x+r-1>=this._terminal.cols)if(this._terminal.wraparoundMode)this._terminal.x=0,++this._terminal.y>this._terminal.scrollBottom?(this._terminal.y--,this._terminal.scroll(!0)):this._terminal.lines.get(this._terminal.y).isWrapped=!0;else if(2===r)return;if(i=this._terminal.y+this._terminal.ybase,this._terminal.insertMode)for(var o=0;othis._terminal.scrollBottom&&(this._terminal.y--,this._terminal.scroll()),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.carriageReturn=function(){this._terminal.x=0},e.prototype.backspace=function(){this._terminal.x>0&&this._terminal.x--},e.prototype.tab=function(){this._terminal.x=this._terminal.nextStop()},e.prototype.shiftOut=function(){this._terminal.setgLevel(1)},e.prototype.shiftIn=function(){this._terminal.setgLevel(0)},e.prototype.insertChars=function(e){var t,r,i,o;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.x,o=[this._terminal.eraseAttr()," ",1];t--&&i=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.cursorForward=function(e){var t=e[0];t<1&&(t=1),this._terminal.x+=t,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.cursorBackward=function(e){var t=e[0];t<1&&(t=1),this._terminal.x>=this._terminal.cols&&this._terminal.x--,this._terminal.x-=t,this._terminal.x<0&&(this._terminal.x=0)},e.prototype.cursorNextLine=function(e){var t=e[0];t<1&&(t=1),this._terminal.y+=t,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x=0},e.prototype.cursorPrecedingLine=function(e){var t=e[0];t<1&&(t=1),this._terminal.y-=t,this._terminal.y<0&&(this._terminal.y=0),this._terminal.x=0},e.prototype.cursorCharAbsolute=function(e){var t=e[0];t<1&&(t=1),this._terminal.x=t-1},e.prototype.cursorPosition=function(e){var t,r;t=e[0]-1,r=e.length>=2?e[1]-1:0,t<0?t=0:t>=this._terminal.rows&&(t=this._terminal.rows-1),r<0?r=0:r>=this._terminal.cols&&(r=this._terminal.cols-1),this._terminal.x=r,this._terminal.y=t},e.prototype.cursorForwardTab=function(e){for(var t=e[0]||1;t--;)this._terminal.x=this._terminal.nextStop()},e.prototype.eraseInDisplay=function(e){var t;switch(e[0]){case 0:for(this._terminal.eraseRight(this._terminal.x,this._terminal.y),t=this._terminal.y+1;t0&&(this._terminal.lines.trimStart(r),this._terminal.ybase=Math.max(this._terminal.ybase-r,0),this._terminal.ydisp=Math.max(this._terminal.ydisp-r,0))}},e.prototype.eraseInLine=function(e){switch(e[0]){case 0:this._terminal.eraseRight(this._terminal.x,this._terminal.y);break;case 1:this._terminal.eraseLeft(this._terminal.x,this._terminal.y);break;case 2:this._terminal.eraseLine(this._terminal.y)}},e.prototype.insertLines=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.rows-1-this._terminal.scrollBottom,i=this._terminal.rows-1+this._terminal.ybase-i+1;t--;)this._terminal.lines.length===this._terminal.lines.maxLength&&(this._terminal.lines.trimStart(1),this._terminal.ybase--,this._terminal.ydisp--,r--,i--),this._terminal.lines.splice(r,0,this._terminal.blankLine(!0)),this._terminal.lines.splice(i,1);this._terminal.updateRange(this._terminal.y),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.deleteLines=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.rows-1-this._terminal.scrollBottom,i=this._terminal.rows-1+this._terminal.ybase-i;t--;)this._terminal.lines.length===this._terminal.lines.maxLength&&(this._terminal.lines.trimStart(1),this._terminal.ybase-=1,this._terminal.ydisp-=1),this._terminal.lines.splice(i+1,0,this._terminal.blankLine(!0)),this._terminal.lines.splice(r,1);this._terminal.updateRange(this._terminal.y),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.deleteChars=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=[this._terminal.eraseAttr()," ",1];t--;)this._terminal.lines.get(r).splice(this._terminal.x,1),this._terminal.lines.get(r).push(i)},e.prototype.scrollUp=function(e){for(var t=e[0]||1;t--;)this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollTop,1),this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollBottom,0,this._terminal.blankLine());this._terminal.updateRange(this._terminal.scrollTop),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.scrollDown=function(e){for(var t=e[0]||1;t--;)this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollBottom,1),this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollTop,0,this._terminal.blankLine());this._terminal.updateRange(this._terminal.scrollTop),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.eraseChars=function(e){var t,r,i,o;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.x,o=[this._terminal.eraseAttr()," ",1];t--&&i=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.HPositionRelative=function(e){var t=e[0];t<1&&(t=1),this._terminal.x+=t,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.repeatPrecedingCharacter=function(e){for(var t=e[0]||1,r=this._terminal.lines.get(this._terminal.ybase+this._terminal.y),i=r[this._terminal.x-1]||[this._terminal.defAttr," ",1];t--;)r[this._terminal.x++]=i},e.prototype.sendDeviceAttributes=function(e){e[0]>0||(this._terminal.prefix?">"===this._terminal.prefix&&(this._terminal.is("xterm")?this._terminal.send(i.C0.ESC+"[>0;276;0c"):this._terminal.is("rxvt-unicode")?this._terminal.send(i.C0.ESC+"[>85;95;0c"):this._terminal.is("linux")?this._terminal.send(e[0]+"c"):this._terminal.is("screen")&&this._terminal.send(i.C0.ESC+"[>83;40003;0c")):this._terminal.is("xterm")||this._terminal.is("rxvt-unicode")||this._terminal.is("screen")?this._terminal.send(i.C0.ESC+"[?1;2c"):this._terminal.is("linux")&&this._terminal.send(i.C0.ESC+"[?6c"))},e.prototype.linePosAbsolute=function(e){var t=e[0];t<1&&(t=1),this._terminal.y=t-1,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1)},e.prototype.VPositionRelative=function(e){var t=e[0];t<1&&(t=1),this._terminal.y+=t,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.HVPosition=function(e){e[0]<1&&(e[0]=1),e[1]<1&&(e[1]=1),this._terminal.y=e[0]-1,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x=e[1]-1,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.tabClear=function(e){var t=e[0];t<=0?delete this._terminal.tabs[this._terminal.x]:3===t&&(this._terminal.tabs={})},e.prototype.setMode=function(e){if(e.length>1)for(var t=0;t1e3,this._terminal.mouseEvents=!0,this._terminal.element.classList.add("enable-mouse-events"),this._terminal.selectionManager.disable(),this._terminal.log("Binding to mouse events.");break;case 1004:this._terminal.sendFocus=!0;break;case 1005:this._terminal.utfMouse=!0;break;case 1006:this._terminal.sgrMouse=!0;break;case 1015:this._terminal.urxvtMouse=!0;break;case 25:this._terminal.cursorHidden=!1;break;case 1049:case 47:case 1047:if(!this._terminal.normal){var r={lines:this._terminal.lines,ybase:this._terminal.ybase,ydisp:this._terminal.ydisp,x:this._terminal.x,y:this._terminal.y,scrollTop:this._terminal.scrollTop,scrollBottom:this._terminal.scrollBottom,tabs:this._terminal.tabs};this._terminal.reset(),this._terminal.viewport.syncScrollArea(),this._terminal.normal=r,this._terminal.showCursor()}}}else switch(e[0]){case 4:this._terminal.insertMode=!0}},e.prototype.resetMode=function(e){if(e.length>1)for(var t=0;t>18,s=this._terminal.curAttr>>9&511,n=511&this._terminal.curAttr;i=30&&t<=37?s=t-30:t>=40&&t<=47?n=t-40:t>=90&&t<=97?s=(t+=8)-90:t>=100&&t<=107?n=(t+=8)-100:0===t?(o=this._terminal.defAttr>>18,s=this._terminal.defAttr>>9&511,n=511&this._terminal.defAttr):1===t?o|=1:4===t?o|=2:5===t?o|=4:7===t?o|=8:8===t?o|=16:22===t?o&=-2:24===t?o&=-3:25===t?o&=-5:27===t?o&=-9:28===t?o&=-17:39===t?s=this._terminal.defAttr>>9&511:49===t?n=511&this._terminal.defAttr:38===t?2===e[i+1]?(i+=2,-1===(s=this._terminal.matchColor(255&e[i],255&e[i+1],255&e[i+2]))&&(s=511),i+=2):5===e[i+1]&&(s=t=255&e[i+=2]):48===t?2===e[i+1]?(i+=2,-1===(n=this._terminal.matchColor(255&e[i],255&e[i+1],255&e[i+2]))&&(n=511),i+=2):5===e[i+1]&&(n=t=255&e[i+=2]):100===t?(s=this._terminal.defAttr>>9&511,n=511&this._terminal.defAttr):this._terminal.error("Unknown SGR attribute: %d.",t);this._terminal.curAttr=o<<18|s<<9|n}else this._terminal.curAttr=this._terminal.defAttr},e.prototype.deviceStatus=function(e){if(this._terminal.prefix){if("?"===this._terminal.prefix)switch(e[0]){case 6:this._terminal.send(i.C0.ESC+"[?"+(this._terminal.y+1)+";"+(this._terminal.x+1)+"R")}}else switch(e[0]){case 5:this._terminal.send(i.C0.ESC+"[0n");break;case 6:this._terminal.send(i.C0.ESC+"["+(this._terminal.y+1)+";"+(this._terminal.x+1)+"R")}},e.prototype.softReset=function(e){this._terminal.cursorHidden=!1,this._terminal.insertMode=!1,this._terminal.originMode=!1,this._terminal.wraparoundMode=!0,this._terminal.applicationKeypad=!1,this._terminal.viewport.syncScrollArea(),this._terminal.applicationCursor=!1,this._terminal.scrollTop=0,this._terminal.scrollBottom=this._terminal.rows-1,this._terminal.curAttr=this._terminal.defAttr,this._terminal.x=this._terminal.y=0,this._terminal.charset=null,this._terminal.glevel=0,this._terminal.charsets=[null]},e.prototype.setCursorStyle=function(e){var t=e[0]<1?1:e[0];switch(t){case 1:case 2:this._terminal.setOption("cursorStyle","block");break;case 3:case 4:this._terminal.setOption("cursorStyle","underline");break;case 5:case 6:this._terminal.setOption("cursorStyle","bar")}var r=t%2==1;this._terminal.setOption("cursorBlink",r)},e.prototype.setScrollRegion=function(e){this._terminal.prefix||(this._terminal.scrollTop=(e[0]||1)-1,this._terminal.scrollBottom=(e[1]&&e[1]<=this._terminal.rows?e[1]:this._terminal.rows)-1,this._terminal.x=0,this._terminal.y=0)},e.prototype.saveCursor=function(e){this._terminal.savedX=this._terminal.x,this._terminal.savedY=this._terminal.y},e.prototype.restoreCursor=function(e){this._terminal.x=this._terminal.savedX||0,this._terminal.y=this._terminal.savedY||0},e}();t.InputHandler=s;var n=function(e){function t(e){var t,r=0,o=i.length-1;if(ei[o][1])return!1;for(;o>=r;)if(t=Math.floor((r+o)/2),e>i[t][1])r=t+1;else{if(!(e=4352&&(e<=4447||9001===e||9002===e||e>=11904&&e<=42191&&12351!==e||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072&&e<=196605||e>=196608&&e<=262141)}var i=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];return function(i){return 0===i?e.nul:i<32||i>=127&&i<160?e.control:t(i)?0:r(i)?2:1}}({nul:0,control:0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=new RegExp("(?:^|[^\\da-z\\.-]+)((https?:\\/\\/)((([\\da-z\\.-]+)\\.([a-z\\.]{2,6}))|((\\d{1,3}\\.){3}\\d{1,3})|(localhost))(:\\d{1,5})?(\\/[\\/\\w\\.\\-%~]*)*(\\?[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?(#[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?)($|[^\\/\\w\\.\\-%]+)"),o=0,s=function(){function e(){this._nextLinkMatcherId=o,this._rowTimeoutIds=[],this._linkMatchers=[],this.registerLinkMatcher(i,null,{matchIndex:1})}return e.prototype.attachToDom=function(e,t){this._document=e,this._rows=t},e.prototype.linkifyRow=function(t){if(this._document){var r=this._rowTimeoutIds[t];r&&clearTimeout(r),this._rowTimeoutIds[t]=setTimeout(this._linkifyRow.bind(this,t),e.TIME_BEFORE_LINKIFY)}},e.prototype.setHypertextLinkHandler=function(e){this._linkMatchers[o].handler=e},e.prototype.setHypertextValidationCallback=function(e){this._linkMatchers[o].validationCallback=e},e.prototype.registerLinkMatcher=function(e,t,r){if(void 0===r&&(r={}),this._nextLinkMatcherId!==o&&!t)throw new Error("handler must be defined");var i={id:this._nextLinkMatcherId++,regex:e,handler:t,matchIndex:r.matchIndex,validationCallback:r.validationCallback,priority:r.priority||0};return this._addLinkMatcherToList(i),i.id},e.prototype._addLinkMatcherToList=function(e){if(0!==this._linkMatchers.length){for(var t=this._linkMatchers.length-1;t>=0;t--)if(e.priority<=this._linkMatchers[t].priority)return void this._linkMatchers.splice(t+1,0,e);this._linkMatchers.splice(0,0,e)}else this._linkMatchers.push(e)},e.prototype.deregisterLinkMatcher=function(e){for(var t=1;t0){if(i.validationCallback)for(var s=function(e){var t=o[e];i.validationCallback(t.textContent,t,function(e){e||t.classList.add("xterm-invalid-link")})},n=0;n=0){var d=this._createAnchorElement(a,t.handler,i);if(c.textContent.length===a.length)if(3===c.nodeType)this._replaceNode(c,d);else{var p=c;if("A"===p.nodeName)return r;p.innerHTML="",p.appendChild(d)}else if(c.childNodes.length>1)for(var f=0;f"]=function(e){return e.setPrefix(">")},a["!"]=function(e){return e.setPrefix("!")},a[0]=function(e){return e.setParam(10*e.getParam())},a[1]=function(e){return e.setParam(10*e.getParam()+1)},a[2]=function(e){return e.setParam(10*e.getParam()+2)},a[3]=function(e){return e.setParam(10*e.getParam()+3)},a[4]=function(e){return e.setParam(10*e.getParam()+4)},a[5]=function(e){return e.setParam(10*e.getParam()+5)},a[6]=function(e){return e.setParam(10*e.getParam()+6)},a[7]=function(e){return e.setParam(10*e.getParam()+7)},a[8]=function(e){return e.setParam(10*e.getParam()+8)},a[9]=function(e){return e.setParam(10*e.getParam()+9)},a.$=function(e){return e.setPostfix("$")},a['"']=function(e){return e.setPostfix('"')},a[" "]=function(e){return e.setPostfix(" ")},a["'"]=function(e){return e.setPostfix("'")},a[";"]=function(e){return e.finalizeParam()},a[i.C0.CAN]=function(e){return e.setState(h.NORMAL)};var l={};l["@"]=function(e,t,r){return e.insertChars(t)},l.A=function(e,t,r){return e.cursorUp(t)},l.B=function(e,t,r){return e.cursorDown(t)},l.C=function(e,t,r){return e.cursorForward(t)},l.D=function(e,t,r){return e.cursorBackward(t)},l.E=function(e,t,r){return e.cursorNextLine(t)},l.F=function(e,t,r){return e.cursorPrecedingLine(t)},l.G=function(e,t,r){return e.cursorCharAbsolute(t)},l.H=function(e,t,r){return e.cursorPosition(t)},l.I=function(e,t,r){return e.cursorForwardTab(t)},l.J=function(e,t,r){return e.eraseInDisplay(t)},l.K=function(e,t,r){return e.eraseInLine(t)},l.L=function(e,t,r){return e.insertLines(t)},l.M=function(e,t,r){return e.deleteLines(t)},l.P=function(e,t,r){return e.deleteChars(t)},l.S=function(e,t,r){return e.scrollUp(t)},l.T=function(e,t,r){t.length<2&&!r&&e.scrollDown(t)},l.X=function(e,t,r){return e.eraseChars(t)},l.Z=function(e,t,r){return e.cursorBackwardTab(t)},l["`"]=function(e,t,r){return e.charPosAbsolute(t)},l.a=function(e,t,r){return e.HPositionRelative(t)},l.b=function(e,t,r){return e.repeatPrecedingCharacter(t)},l.c=function(e,t,r){return e.sendDeviceAttributes(t)},l.d=function(e,t,r){return e.linePosAbsolute(t)},l.e=function(e,t,r){return e.VPositionRelative(t)},l.f=function(e,t,r){return e.HVPosition(t)},l.g=function(e,t,r){return e.tabClear(t)},l.h=function(e,t,r){return e.setMode(t)},l.l=function(e,t,r){return e.resetMode(t)},l.m=function(e,t,r){return e.charAttributes(t)},l.n=function(e,t,r){return e.deviceStatus(t)},l.p=function(e,t,r){switch(r){case"!":e.softReset(t)}},l.q=function(e,t,r,i){" "===i&&e.setCursorStyle(t)},l.r=function(e,t){return e.setScrollRegion(t)},l.s=function(e,t){return e.saveCursor(t)},l.u=function(e,t){return e.restoreCursor(t)},l[i.C0.CAN]=function(e,t,r,i,o){return o.setState(h.NORMAL)};var h;!function(e){e[e.NORMAL=0]="NORMAL",e[e.ESCAPED=1]="ESCAPED",e[e.CSI_PARAM=2]="CSI_PARAM",e[e.CSI=3]="CSI",e[e.OSC=4]="OSC",e[e.CHARSET=5]="CHARSET",e[e.DCS=6]="DCS",e[e.IGNORE=7]="IGNORE"}(h||(h={}));var c=function(){function e(e,t){this._inputHandler=e,this._terminal=t,this._state=h.NORMAL}return e.prototype.parse=function(e){var t,r,c,u,d=e.length;for(this._position=0,this._terminal.surrogate_high&&(e=this._terminal.surrogate_high+e,this._terminal.surrogate_high="");this._position":this._terminal.log("Switching back to normal keypad."),this._terminal.applicationKeypad=!1,this._terminal.viewport.syncScrollArea(),this._state=h.NORMAL;break;default:this._state=h.NORMAL,this._terminal.error("Unknown ESC control: %s.",r)}break;case h.CHARSET:r in o.CHARSETS?(t=o.CHARSETS[r],"/"===r&&this.skipNextChar()):t=o.DEFAULT_CHARSET,this._terminal.setgCharset(this._terminal.gcharset,t),this._terminal.gcharset=null,this._state=h.NORMAL;break;case h.OSC:if(r===i.C0.ESC||r===i.C0.BEL){switch(r===i.C0.ESC&&this._position++,this._terminal.params.push(this._terminal.currentParam),this._terminal.params[0]){case 0:case 1:case 2:this._terminal.params[1]&&(this._terminal.title=this._terminal.params[1],this._terminal.handleTitle(this._terminal.title))}this._terminal.params=[],this._terminal.currentParam=0,this._state=h.NORMAL}else this._terminal.params.length?this._terminal.currentParam+=r:r>="0"&&r<="9"?this._terminal.currentParam=10*this._terminal.currentParam+r.charCodeAt(0)-48:";"===r&&(this._terminal.params.push(this._terminal.currentParam),this._terminal.currentParam="");break;case h.CSI_PARAM:if(r in a){a[r](this);break}this.finalizeParam(),this._state=h.CSI;case h.CSI:r in l?l[r](this._inputHandler,this._terminal.params,this._terminal.prefix,this._terminal.postfix,this):this._terminal.error("Unknown CSI code: %s.",r),this._state=h.NORMAL,this._terminal.prefix="",this._terminal.postfix="";break;case h.DCS:if(r===i.C0.ESC||r===i.C0.BEL){r===i.C0.ESC&&this._position++;var p=void 0,f=void 0;switch(this._terminal.prefix){case"":break;case"$q":switch(p=this._terminal.currentParam,f=!1,p){case'"q':p='0"q';break;case'"p':p='61"p';break;case"r":p=this._terminal.scrollTop+1+";"+(this._terminal.scrollBottom+1)+"r";break;case"m":p="0m";break;default:this._terminal.error("Unknown DCS Pt: %s.",p),p=""}this._terminal.send(i.C0.ESC+"P"+ +f+"$r"+p+i.C0.ESC+"\\");break;case"+p":break;case"+q":p=this._terminal.currentParam,f=!1,this._terminal.send(i.C0.ESC+"P"+ +f+"+r"+p+i.C0.ESC+"\\");break;default:this._terminal.error("Unknown DCS prefix: %s.",this._terminal.prefix)}this._terminal.currentParam=0,this._terminal.prefix="",this._state=h.NORMAL}else this._terminal.currentParam?this._terminal.currentParam+=r:this._terminal.prefix||"$"===r||"+"===r?2===this._terminal.prefix.length?this._terminal.currentParam=r:this._terminal.prefix+=r:this._terminal.currentParam=r;break;case h.IGNORE:r!==i.C0.ESC&&r!==i.C0.BEL||(r===i.C0.ESC&&this._position++,this._state=h.NORMAL)}}return this._state},e.prototype.setState=function(e){this._state=e},e.prototype.setPrefix=function(e){this._terminal.prefix=e},e.prototype.setPostfix=function(e){this._terminal.postfix=e},e.prototype.setParam=function(e){this._terminal.currentParam=e},e.prototype.getParam=function(){return this._terminal.currentParam},e.prototype.finalizeParam=function(){this._terminal.params.push(this._terminal.currentParam),this._terminal.currentParam=0},e.prototype.skipNextChar=function(){this._position++},e}();t.Parser=c},function(e,t,r){"use strict";function i(e){var t=e.ownerDocument.createElement("span");t.innerHTML="hello world",e.appendChild(t);var r=t.offsetWidth,i=t.offsetHeight;t.style.fontWeight="bold";var o=t.offsetWidth,s=t.offsetHeight;return e.removeChild(t),r!==o||i!==s}Object.defineProperty(t,"__esModule",{value:!0});var o,s=r(26);!function(e){e[e.BOLD=1]="BOLD",e[e.UNDERLINE=2]="UNDERLINE",e[e.BLINK=4]="BLINK",e[e.INVERSE=8]="INVERSE",e[e.INVISIBLE=16]="INVISIBLE"}(o||(o={}));var n=null,a=function(){function e(e){this._terminal=e,this._refreshRowsQueue=[],this._refreshFramesSkipped=0,this._refreshAnimationFrame=null,this._spanElementObjectPool=new s.DomElementObjectPool("span"),null===n&&(n=i(this._terminal.element)),this._spanElementObjectPool=new s.DomElementObjectPool("span")}return e.prototype.queueRefresh=function(e,t){this._refreshRowsQueue.push({start:e,end:t}),this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame(this._refreshLoop.bind(this)))},e.prototype._refreshLoop=function(){if(this._terminal.writeBuffer.length>0&&this._refreshFramesSkipped++<=5)this._refreshAnimationFrame=window.requestAnimationFrame(this._refreshLoop.bind(this));else{this._refreshFramesSkipped=0;var e,t;if(this._refreshRowsQueue.length>4)e=0,t=this._terminal.rows-1;else{e=this._refreshRowsQueue[0].start,t=this._refreshRowsQueue[0].end;for(var r=1;rt&&(t=this._refreshRowsQueue[r].end)}this._refreshRowsQueue=[],this._refreshAnimationFrame=null,this._refresh(e,t)}},e.prototype._refresh=function(e,t){var r;t-e>=this._terminal.rows/2&&(r=this._terminal.element.parentNode)&&this._terminal.element.removeChild(this._terminal.rowContainer);var i=this._terminal.cols,s=e;for(t>=this._terminal.rows&&(this._terminal.log("`end` is too large. Most likely a bad CSR."),t=this._terminal.rows-1);s<=t;s++){var a=s+this._terminal.ydisp,l=this._terminal.lines.get(a),h=void 0;h=this._terminal.y===s-(this._terminal.ybase-this._terminal.ydisp)&&this._terminal.cursorState&&!this._terminal.cursorHidden?this._terminal.x:-1;for(var c=this._terminal.defAttr,u=document.createDocumentFragment(),d="",p=void 0;this._terminal.children[s].children.length;){var f=this._terminal.children[s].children[0];this._terminal.children[s].removeChild(f),this._spanElementObjectPool.release(f)}for(var g=0;g>9&511,w=m>>18;if(w&o.BOLD&&(n||p.classList.add("xterm-bold"),C<8&&(C+=8)),w&o.UNDERLINE&&p.classList.add("xterm-underline"),w&o.BLINK&&p.classList.add("xterm-blink"),w&o.INVERSE){var S=_;_=C,C=S,1&w&&C<8&&(C+=8)}w&o.INVISIBLE&&p.classList.add("xterm-hidden"),w&o.INVERSE&&(257===_&&(_=15),256===C&&(C=0)),_<256&&p.classList.add("xterm-bg-color-"+_),C<256&&p.classList.add("xterm-color-"+C)}if(2===b)d+=''+y+"";else if(y.charCodeAt(0)>255)d+=''+y+"";else switch(y){case"&":d+="&";break;case"<":d+="<";break;case">":d+=">";break;default:d+=y<=" "?" ":y}c=m}}d&&!p&&(p=this._spanElementObjectPool.acquire()),p&&(d&&(p.innerHTML=d,d=""),u.appendChild(p),p=null),this._terminal.children[s].appendChild(u)}r&&this._terminal.element.appendChild(this._terminal.rowContainer),this._terminal.emit("refresh",{element:this._terminal.element,start:e,end:t})},e.prototype.refreshSelection=function(e,t){for(;this._terminal.selectionContainer.children.length;)this._terminal.selectionContainer.removeChild(this._terminal.selectionContainer.children[0]);if(e&&t){var r=e[1]-this._terminal.ydisp,i=t[1]-this._terminal.ydisp,o=Math.max(r,0),s=Math.min(i,this._terminal.rows-1);if(!(o>=this._terminal.rows||s<0)){var n=document.createDocumentFragment(),a=r===o?e[0]:0,l=o===s?t[0]:this._terminal.cols;n.appendChild(this._createSelectionElement(o,a,l));var h=s-o-1;if(n.appendChild(this._createSelectionElement(o+1,0,this._terminal.cols,h)),o!==s){var c=i===s?t[0]:this._terminal.cols;n.appendChild(this._createSelectionElement(s,0,c))}this._terminal.selectionContainer.appendChild(n)}}},e.prototype._createSelectionElement=function(e,t,r,i){void 0===i&&(i=1);var o=document.createElement("div");return o.style.height=i*this._terminal.charMeasure.height+"px",o.style.top=e*this._terminal.charMeasure.height+"px",o.style.left=t*this._terminal.charMeasure.width+"px",o.style.width=this._terminal.charMeasure.width*(r-t)+"px",o},e}();t.Renderer=a},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o,s=r(10),n=r(9),a=r(1),l=r(21),h=String.fromCharCode(160),c=new RegExp(h,"g");!function(e){e[e.NORMAL=0]="NORMAL",e[e.WORD=1]="WORD",e[e.LINE=2]="LINE"}(o||(o={}));var u=function(e){function t(t,r,i,s){var n=e.call(this)||this;return n._terminal=t,n._buffer=r,n._rowContainer=i,n._charMeasure=s,n._initListeners(),n.enable(),n._model=new l.SelectionModel(t),n._lastMouseDownTime=0,n._activeSelectionMode=o.NORMAL,n}return i(t,e),t.prototype._initListeners=function(){var e=this;this._bufferTrimListener=function(t){return e._onTrim(t)},this._mouseMoveListener=function(t){return e._onMouseMove(t)},this._mouseDownListener=function(t){return e._onMouseDown(t)},this._mouseUpListener=function(t){return e._onMouseUp(t)}},t.prototype.disable=function(){this.clearSelection(),this._buffer.off("trim",this._bufferTrimListener),this._rowContainer.removeEventListener("mousedown",this._mouseDownListener)},t.prototype.enable=function(){this._buffer.on("trim",this._bufferTrimListener),this._rowContainer.addEventListener("mousedown",this._mouseDownListener)},t.prototype.setBuffer=function(e){this._buffer=e,this.clearSelection()},Object.defineProperty(t.prototype,"hasSelection",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t)&&(e[0]!==t[0]||e[1]!==t[1])},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectionText",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";var r=e[1]===t[1]?t[0]:null,i=[];i.push(this._translateBufferLineToString(this._buffer.get(e[1]),!0,e[0],r));for(var o=e[1]+1;o<=t[1]-1;o++){var s=this._buffer.get(o),a=this._translateBufferLineToString(s,!0);s.isWrapped?i[i.length-1]+=a:i.push(a)}if(e[1]!==t[1]){var s=this._buffer.get(t[1]),a=this._translateBufferLineToString(s,!0,0,t[0]);s.isWrapped?i[i.length-1]+=a:i.push(a)}return i.map(function(e){return e.replace(c," ")}).join(n.isMSWindows?"\r\n":"\n")},enumerable:!0,configurable:!0}),t.prototype.clearSelection=function(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh()},t.prototype._translateBufferLineToString=function(e,t,r,i){void 0===r&&(r=0),void 0===i&&(i=null);for(var o="",s=r,n=i,a=0;a=a&&s--,i>=a&&n--)}var h=n||e.length;if(t){var c=o.search(/\s+$/);if(-1!==c&&(h=Math.min(h,c)),h<=s)return""}return o.substring(s,h)},t.prototype.refresh=function(e){var t=this;this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame(function(){return t._refresh()})),n.isLinux&&e&&this.selectionText.length&&this.emit("newselection",this.selectionText)},t.prototype._refresh=function(){this._refreshAnimationFrame=null,this.emit("refresh",{start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd})},t.prototype.selectAll=function(){this._model.isSelectAllActive=!0,this.refresh()},t.prototype._onTrim=function(e){this._model.onTrim(e)&&this.refresh()},t.prototype._getMouseBufferCoords=function(e){var t=s.getCoords(e,this._rowContainer,this._charMeasure,this._terminal.cols,this._terminal.rows,!0);return t[0]--,t[1]--,t[1]+=this._terminal.ydisp,t},t.prototype._getMouseEventScrollAmount=function(e){var t=s.getCoordsRelativeToElement(e,this._rowContainer)[1],r=this._terminal.rows*this._charMeasure.height;return t>=0&&t<=r?0:(t>r&&(t-=r),t=Math.min(Math.max(t,-50),50),(t/=50)/Math.abs(t)+Math.round(14*t))},t.prototype._onMouseDown=function(e){0===e.button&&(e.preventDefault(),this._dragScrollAmount=0,this._setMouseClickCount(e),e.shiftKey?this._onShiftClick(e):1===this._clickCount?this._onSingleClick(e):2===this._clickCount?this._onDoubleClick(e):3===this._clickCount&&this._onTripleClick(e),this._addMouseDownListeners(),this.refresh(!0))},t.prototype._addMouseDownListeners=function(){var e=this;this._rowContainer.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._rowContainer.ownerDocument.addEventListener("mouseup",this._mouseUpListener),this._dragScrollIntervalTimer=setInterval(function(){return e._dragScroll()},50)},t.prototype._removeMouseDownListeners=function(){this._rowContainer.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._rowContainer.ownerDocument.removeEventListener("mouseup",this._mouseUpListener),clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=null},t.prototype._onShiftClick=function(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))},t.prototype._onSingleClick=function(e){this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=o.NORMAL,this._model.selectionStart=this._getMouseBufferCoords(e),this._model.selectionStart&&(this._model.selectionEnd=null,0===this._buffer.get(this._model.selectionStart[1])[this._model.selectionStart[0]][2]&&this._model.selectionStart[0]++)},t.prototype._onDoubleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=o.WORD,this._selectWordAt(t))},t.prototype._onTripleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=o.LINE,this._selectLineAt(t[1]))},t.prototype._setMouseClickCount=function(e){var t=(new Date).getTime();(t-this._lastMouseDownTime>400||this._distanceFromLastMousePosition(e)>10)&&(this._clickCount=0),this._lastMouseDownTime=t,this._lastMousePosition=[e.pageX,e.pageY],this._clickCount++},t.prototype._distanceFromLastMousePosition=function(e){return Math.max(Math.abs(this._lastMousePosition[0]-e.pageX),Math.abs(this._lastMousePosition[1]-e.pageY))},t.prototype._onMouseMove=function(e){var t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),this._activeSelectionMode===o.LINE?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._terminal.cols-1:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]0?this._model.selectionEnd=[this._terminal.cols-1,this._terminal.ydisp+this._terminal.rows]:this._model.selectionEnd=[0,this._terminal.ydisp],this.refresh())},t.prototype._onMouseUp=function(e){this._removeMouseDownListeners()},t.prototype._convertViewportColToCharacterIndex=function(e,t){for(var r=t[0],i=0;t[0]>=i;i++)0===e[i][2]&&r--;return r},t.prototype._getWordAt=function(e){var t=this._buffer.get(e[1]),r=this._translateBufferLineToString(t,!1),i=this._convertViewportColToCharacterIndex(t,e),o=i,s=e[0]-o,n=0,a=0;if(" "===r.charAt(o)){for(;o>0&&" "===r.charAt(o-1);)o--;for(;i0&&!this._isCharWordSeparator(r.charAt(o-1));)0===t[l-1][2]&&(n++,l--),o--,l--;for(;i+1=0},t.prototype._selectLineAt=function(e){this._model.selectionStart=[0,e],this._model.selectionStartLength=this._terminal.cols},t}(a.EventEmitter);t.SelectionManager=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e){this._terminal=e,this.clearSelection()}return e.prototype.clearSelection=function(){this.selectionStart=null,this.selectionEnd=null,this.isSelectAllActive=!1,this.selectionStartLength=0},Object.defineProperty(e.prototype,"finalSelectionStart",{get:function(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"finalSelectionEnd",{get:function(){return this.isSelectAllActive?[this._terminal.cols,this._terminal.ybase+this._terminal.rows-1]:this.selectionStart?!this.selectionEnd||this.areSelectionValuesReversed()?[this.selectionStart[0]+this.selectionStartLength,this.selectionStart[1]]:this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]?[Math.max(this.selectionStart[0]+this.selectionStartLength,this.selectionEnd[0]),this.selectionEnd[1]]:this.selectionEnd:null},enumerable:!0,configurable:!0}),e.prototype.areSelectionValuesReversed=function(){var e=this.selectionStart,t=this.selectionEnd;return e[1]>t[1]||e[1]===t[1]&&e[0]>t[0]},e.prototype.onTrim=function(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)},e}();t.SelectionModel=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,r,i){var o=this;this.terminal=e,this.viewportElement=t,this.scrollArea=r,this.charMeasure=i,this.currentRowHeight=0,this.lastRecordedBufferLength=0,this.lastRecordedViewportHeight=0,this.terminal.on("scroll",this.syncScrollArea.bind(this)),this.terminal.on("resize",this.syncScrollArea.bind(this)),this.viewportElement.addEventListener("scroll",this.onScroll.bind(this)),setTimeout(function(){return o.syncScrollArea()},0)}return e.prototype.refresh=function(){if(this.charMeasure.height>0){var e=this.charMeasure.height!==this.currentRowHeight;e&&(this.currentRowHeight=this.charMeasure.height,this.viewportElement.style.lineHeight=this.charMeasure.height+"px",this.terminal.rowContainer.style.lineHeight=this.charMeasure.height+"px");var t=this.lastRecordedViewportHeight!==this.terminal.rows;(e||t)&&(this.lastRecordedViewportHeight=this.terminal.rows,this.viewportElement.style.height=this.charMeasure.height*this.terminal.rows+"px",this.terminal.selectionContainer.style.height=this.viewportElement.style.height),this.scrollArea.style.height=this.charMeasure.height*this.lastRecordedBufferLength+"px"}},e.prototype.syncScrollArea=function(){this.lastRecordedBufferLength!==this.terminal.lines.length?(this.lastRecordedBufferLength=this.terminal.lines.length,this.refresh()):this.lastRecordedViewportHeight!==this.terminal.rows?this.refresh():this.charMeasure.height!==this.currentRowHeight&&this.refresh();var e=this.terminal.ydisp*this.currentRowHeight;this.viewportElement.scrollTop!==e&&(this.viewportElement.scrollTop=e)},e.prototype.onScroll=function(e){var t=Math.round(this.viewportElement.scrollTop/this.currentRowHeight)-this.terminal.ydisp;this.terminal.scrollDisp(t,!0)},e.prototype.onWheel=function(e){if(0!==e.deltaY){var t=1;e.deltaMode===WheelEvent.DOM_DELTA_LINE?t=this.currentRowHeight:e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t=this.currentRowHeight*this.terminal.rows),this.viewportElement.scrollTop+=e.deltaY*t,e.preventDefault()}},e.prototype.onTouchStart=function(e){this.lastTouchY=e.touches[0].pageY},e.prototype.onTouchMove=function(e){var t=this.lastTouchY-e.touches[0].pageY;this.lastTouchY=e.touches[0].pageY,0!==t&&(this.viewportElement.scrollTop+=t,e.preventDefault())},e}();t.Viewport=i},function(e,t,r){"use strict";function i(e,t){return t?e.replace(/\r?\n/g,"\r"):e}function o(e,t){t.style.position="fixed",t.style.width="20px",t.style.height="20px",t.style.left=e.clientX-10+"px",t.style.top=e.clientY-10+"px",t.style.zIndex="1000",t.focus(),setTimeout(function(){t.style.position=null,t.style.width=null,t.style.height=null,t.style.left=null,t.style.top=null,t.style.zIndex=null},4)}Object.defineProperty(t,"__esModule",{value:!0}),t.prepareTextForTerminal=i,t.copyHandler=function(e,t,r){t.browser.isMSIE?window.clipboardData.setData("Text",r.selectionText):e.clipboardData.setData("text/plain",r.selectionText),e.preventDefault()},t.pasteHandler=function(e,t){e.stopPropagation();var r=function(r){return r=i(r,t.browser.isMSWindows),t.handler(r),t.textarea.value="",t.emit("paste",r),t.cancel(e)};t.browser.isMSIE?window.clipboardData&&r(window.clipboardData.getData("Text")):e.clipboardData&&r(e.clipboardData.getData("text/plain"))},t.moveTextAreaUnderMouseCursor=o,t.rightClickHandler=function(e,t,r){o(e,t),t.value=r.selectionText,t.select()}},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t,r){var i=e.call(this)||this;return i._document=t,i._parentElement=r,i}return i(t,e),Object.defineProperty(t.prototype,"width",{get:function(){return this._width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this._height},enumerable:!0,configurable:!0}),t.prototype.measure=function(){var e=this;this._measureElement?this._doMeasure():(this._measureElement=this._document.createElement("span"),this._measureElement.style.position="absolute",this._measureElement.style.top="0",this._measureElement.style.left="-9999em",this._measureElement.textContent="W",this._measureElement.setAttribute("aria-hidden","true"),this._parentElement.appendChild(this._measureElement),setTimeout(function(){return e._doMeasure()},0))},t.prototype._doMeasure=function(){var e=this._measureElement.getBoundingClientRect();0!==e.width&&0!==e.height&&(this._width===e.width&&this._height===e.height||(this._width=e.width,this._height=e.height,this.emit("charsizechanged")))},t}(r(1).EventEmitter);t.CharMeasure=o},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var r=e.call(this)||this;return r._array=new Array(t),r._startIndex=0,r._length=0,r}return i(t,e),Object.defineProperty(t.prototype,"maxLength",{get:function(){return this._array.length},set:function(e){for(var t=new Array(e),r=0;rthis._length)for(var t=this._length;t=e;o--)this._array[this._getCyclicIndex(o+r.length)]=this._array[this._getCyclicIndex(o)];for(var o=0;othis.maxLength){var s=this._length+r.length-this.maxLength;this._startIndex+=s,this._length=this.maxLength,this.emit("trim",s)}else this._length+=r.length}},t.prototype.trimStart=function(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.emit("trim",e)},t.prototype.shiftElements=function(e,t,r){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+r<0)throw new Error("Cannot shift elements in list beyond index 0");if(r>0){for(o=t-1;o>=0;o--)this.set(e+o+r,this.get(e+o));var i=e+t+r-this._length;if(i>0)for(this._length+=i;this._length>this.maxLength;)this._length--,this._startIndex++,this.emit("trim",1)}else for(var o=0;o=0}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(11),o=r(14),s=r(13),n=r(12),a=document.getElementById("terminal");if(null!==a){var l;l="hterm"==gotty_term?new i.Hterm(a):new o.Xterm(a);var h=("https:"==window.location.protocol?"wss://":"ws://")+window.location.host+window.location.pathname+"ws",c=window.location.search,u=new n.ConnectionFactory(h,s.protocols),d=new s.WebTTY(l,u,c,gotty_auth_token).open();window.addEventListener("unload",function(){d(),l.close()})}},function(e,t,r){function i(e){return r(o(e))}function o(e){var t=s[e];if(!(t+1))throw new Error("Cannot find module '"+e+"'.");return t}var s={"./attach/attach":5,"./attach/attach.js":5,"./attach/package.json":30,"./fit/fit":6,"./fit/fit.js":6,"./fit/package.json":31,"./fullscreen/fullscreen":7,"./fullscreen/fullscreen.css":32,"./fullscreen/fullscreen.js":7,"./fullscreen/package.json":33,"./terminado/package.json":34,"./terminado/terminado":8,"./terminado/terminado.js":8};i.keys=function(){return Object.keys(s)},i.resolve=o,e.exports=i,i.id=29},function(e,t){e.exports={name:"xterm.attach",main:"attach.js",private:!0}},function(e,t){e.exports={name:"xterm.fit",main:"fit.js",private:!0}},function(e,t){throw new Error("Module parse failed: /home/yudai/archive/products/2015/gotty/src/github.com/yudai/gotty/js/node_modules/xterm/lib/addons/fullscreen/fullscreen.css Unexpected token (1:0)\nYou may need an appropriate loader to handle this file type.\n| .xterm.fullscreen {\n| position: fixed;\n| top: 0;")},function(e,t){e.exports={name:"xterm.fullscreen",main:"fullscreen.js",private:!0}},function(e,t){e.exports={name:"xterm.terminado",main:"terminado.js",private:!0}}]); \ No newline at end of file +!function(t){e.exports=t(r(0))}(function(e){"use strict";var t={};return t.terminadoAttach=function(e,t,r,i){r=void 0===r||r,e.socket=t,e._flushBuffer=function(){e.write(e._attachSocketBuffer),e._attachSocketBuffer=null,clearTimeout(e._attachSocketBufferTimer),e._attachSocketBufferTimer=null},e._pushToBuffer=function(t){e._attachSocketBuffer?e._attachSocketBuffer+=t:(e._attachSocketBuffer=t,setTimeout(e._flushBuffer,10))},e._getMessage=function(t){var r=JSON.parse(t.data);"stdout"==r[0]&&(i?e._pushToBuffer(r[1]):e.write(r[1]))},e._sendData=function(e){t.send(JSON.stringify(["stdin",e]))},e._setSize=function(e){t.send(JSON.stringify(["set_size",e.rows,e.cols]))},t.addEventListener("message",e._getMessage),r&&e.on("data",e._sendData),e.on("resize",e._setSize),t.addEventListener("close",e.terminadoDetach.bind(e,t)),t.addEventListener("error",e.terminadoDetach.bind(e,t))},t.terminadoDetach=function(e,t){e.off("data",e._sendData),(t=void 0===t?e.socket:t)&&t.removeEventListener("message",e._getMessage),delete e.socket},e.prototype.terminadoAttach=function(e,r,i){return t.terminadoAttach(this,e,r,i)},e.prototype.terminadoDetach=function(e){return t.terminadoDetach(this,e)},t})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(27),o="undefined"==typeof navigator,s=o?"node":navigator.userAgent,n=o?"node":navigator.platform;t.isFirefox=!!~s.indexOf("Firefox"),t.isMSIE=!!~s.indexOf("MSIE")||!!~s.indexOf("Trident"),t.isMac=i.contains(["Macintosh","MacIntel","MacPPC","Mac68K"],n),t.isIpad="iPad"===n,t.isIphone="iPhone"===n,t.isMSWindows=i.contains(["Windows","Win16","Win32","WinCE"],n),t.isLinux=n.indexOf("Linux")>=0},function(e,t,r){"use strict";function i(e,t){if(null==e.pageX)return null;for(var r=e.pageX,i=e.pageY;t&&t!==self.document.documentElement;)r-=t.offsetLeft,i-=t.offsetTop,t="offsetParent"in t?t.offsetParent:t.parentElement;return[r,i]}function o(e,t,r,o,s,n){var a=i(e,t);return a[0]=Math.ceil((a[0]+(n?r.width/2:0))/r.width),a[1]=Math.ceil(a[1]/r.height),a[0]=Math.min(Math.max(a[0],1),o+1),a[1]=Math.min(Math.max(a[1],1),s+1),a}Object.defineProperty(t,"__esModule",{value:!0}),t.getCoordsRelativeToElement=i,t.getCoords=o,t.getRawByteCoords=function(e,t,r,i,s){var n=o(e,t,r,i,s),a=n[0],l=n[1];return a+=32,l+=32,{x:a,y:l}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(3),o=function(){function e(e){this.elem=e,i.hterm.defaultStorage=new i.lib.Storage.Memory,this.term=new i.hterm.Terminal,this.term.getPrefs().set("send-encoding","raw"),this.term.decorate(this.elem),this.io=this.term.io.push(),this.term.installKeyboard()}return e.prototype.info=function(){return{columns:this.columns,rows:this.rows}},e.prototype.output=function(e){null!=this.term.io&&this.term.io.writeUTF8(e)},e.prototype.showMessage=function(e,t){this.message=e,t>0?this.term.io.showOverlay(e,t):this.term.io.showOverlay(e,null)},e.prototype.removeMessage=function(){this.term.io.showOverlay(this.message,0)},e.prototype.setWindowTitle=function(e){this.term.setWindowTitle(e)},e.prototype.setPreferences=function(e){var t=this;Object.keys(e).forEach(function(r){t.term.getPrefs().set(r,e[r])})},e.prototype.onInput=function(e){this.io.onVTKeystroke=function(t){e(t)},this.io.sendString=function(t){e(t)}},e.prototype.onResize=function(e){var t=this;this.io.onTerminalResize=function(r,i){t.columns=r,t.rows=i,e(r,i)}},e.prototype.deactivate=function(){this.io.onVTKeystroke=null,this.io.sendString=null,this.io.onTerminalResize=null,this.term.uninstallKeyboard()},e.prototype.reset=function(){this.removeMessage(),this.term.installKeyboard()},e.prototype.close=function(){this.term.uninstallKeyboard()},e}();t.Hterm=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){this.url=e,this.protocols=t}return e.prototype.create=function(){return new o(this.url,this.protocols)},e}();t.ConnectionFactory=i;var o=function(){function e(e,t){this.bare=new WebSocket(e,t)}return e.prototype.open=function(){},e.prototype.close=function(){this.bare.close()},e.prototype.send=function(e){this.bare.send(e)},e.prototype.isOpen=function(){return this.bare.readyState==WebSocket.CONNECTING||this.bare.readyState==WebSocket.OPEN},e.prototype.onOpen=function(e){this.bare.onopen=function(t){e()}},e.prototype.onReceive=function(e){this.bare.onmessage=function(t){e(t.data)}},e.prototype.onClose=function(e){this.bare.onclose=function(t){e()}},e}();t.Connection=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.protocols=["webtty"],t.msgInputUnknown="0",t.msgInput="1",t.msgPing="2",t.msgResizeTerminal="3",t.msgUnknownOutput="0",t.msgOutput="1",t.msgPong="2",t.msgSetWindowTitle="3",t.msgSetPreferences="4",t.msgSetReconnect="5";var i=function(){function e(e,t,r,i){this.term=e,this.connectionFactory=t,this.args=r,this.authToken=i,this.reconnect=-1}return e.prototype.open=function(){var e,r,i=this,o=this.connectionFactory.create(),s=function(){o.onOpen(function(){var r=i.term.info();o.send(JSON.stringify({Arguments:i.args,AuthToken:i.authToken}));var s=function(e,r){o.send(t.msgResizeTerminal+JSON.stringify({columns:e,rows:r}))};i.term.onResize(s),s(r.columns,r.rows),i.term.onInput(function(e){o.send(t.msgInput+e)}),e=setInterval(function(){o.send(t.msgPing)},3e4)}),o.onReceive(function(e){var r=e.slice(1);switch(e[0]){case t.msgOutput:i.term.output(atob(r));break;case t.msgPong:break;case t.msgSetWindowTitle:i.term.setWindowTitle(r);break;case t.msgSetPreferences:var o=JSON.parse(r);i.term.setPreferences(o);break;case t.msgSetReconnect:var s=JSON.parse(r);console.log("Enabling reconnect: "+s+" seconds"),i.reconnect=s}}),o.onClose(function(){clearInterval(e),i.term.deactivate(),i.term.showMessage("Connection Closed",0),i.reconnect>0&&(r=setTimeout(function(){o=i.connectionFactory.create(),i.term.reset(),s()},1e3*i.reconnect))}),o.open()};return s(),function(){clearTimeout(r),o.close()}},e}();t.WebTTY=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(0),o=r(3);i.loadAddon("fit");var s=function(){function e(e){var t=this;this.elem=e,this.term=new i,this.message=e.ownerDocument.createElement("div"),this.message.className="xterm-overlay",this.messageTimeout=2e3,this.resizeListener=function(){t.term.fit(),t.term.scrollToBottom(),t.showMessage(String(t.term.cols)+"x"+String(t.term.rows),t.messageTimeout)},this.term.on("open",function(){t.resizeListener(),window.addEventListener("resize",function(){t.resizeListener()})}),this.term.open(e,!0),this.decoder=new o.lib.UTF8Decoder}return e.prototype.info=function(){return{columns:this.term.cols,rows:this.term.rows}},e.prototype.output=function(e){this.term.write(this.decoder.decode(e))},e.prototype.showMessage=function(e,t){var r=this;this.message.textContent=e,this.elem.appendChild(this.message),this.messageTimer&&clearTimeout(this.messageTimer),t>0&&(this.messageTimer=setTimeout(function(){r.elem.removeChild(r.message)},t))},e.prototype.removeMessage=function(){this.message.parentNode==this.elem&&this.elem.removeChild(this.message)},e.prototype.setWindowTitle=function(e){document.title=e},e.prototype.setPreferences=function(e){},e.prototype.onInput=function(e){this.term.on("data",function(t){e(t)})},e.prototype.onResize=function(e){this.term.on("resize",function(t){e(t.cols,t.rows)})},e.prototype.deactivate=function(){this.term.off("data"),this.term.off("resize"),this.term.blur()},e.prototype.reset=function(){this.removeMessage(),this.term.clear()},e.prototype.close=function(){window.removeEventListener("resize",this.resizeListener),this.term.destroy()},e}();t.Xterm=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,r){this.textarea=e,this.compositionView=t,this.terminal=r,this.isComposing=!1,this.isSendingComposition=!1,this.compositionPosition={start:null,end:null}}return e.prototype.compositionstart=function(){this.isComposing=!0,this.compositionPosition.start=this.textarea.value.length,this.compositionView.textContent="",this.compositionView.classList.add("active")},e.prototype.compositionupdate=function(e){var t=this;this.compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(function(){t.compositionPosition.end=t.textarea.value.length},0)},e.prototype.compositionend=function(){this.finalizeComposition(!0)},e.prototype.keydown=function(e){if(this.isComposing||this.isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this.finalizeComposition(!1)}return 229!==e.keyCode||(this.handleAnyTextareaChanges(),!1)},e.prototype.finalizeComposition=function(e){var t=this;if(this.compositionView.classList.remove("active"),this.isComposing=!1,this.clearTextareaPosition(),e){var r={start:this.compositionPosition.start,end:this.compositionPosition.end};this.isSendingComposition=!0,setTimeout(function(){if(t.isSendingComposition){t.isSendingComposition=!1;var e=void 0;e=t.isComposing?t.textarea.value.substring(r.start,r.end):t.textarea.value.substring(r.start),t.terminal.handler(e)}},0)}else{this.isSendingComposition=!1;var i=this.textarea.value.substring(this.compositionPosition.start,this.compositionPosition.end);this.terminal.handler(i)}},e.prototype.handleAnyTextareaChanges=function(){var e=this,t=this.textarea.value;setTimeout(function(){if(!e.isComposing){var r=e.textarea.value.replace(t,"");r.length>0&&e.terminal.handler(r)}},0)},e.prototype.updateCompositionElements=function(e){var t=this;if(this.isComposing){var r=this.terminal.element.querySelector(".terminal-cursor");if(r){var i=this.terminal.element.querySelector(".xterm-rows").offsetTop+r.offsetTop;this.compositionView.style.left=r.offsetLeft+"px",this.compositionView.style.top=i+"px",this.compositionView.style.height=r.offsetHeight+"px",this.compositionView.style.lineHeight=r.offsetHeight+"px";var o=this.compositionView.getBoundingClientRect();this.textarea.style.left=r.offsetLeft+"px",this.textarea.style.top=i+"px",this.textarea.style.width=o.width+"px",this.textarea.style.height=o.height+"px",this.textarea.style.lineHeight=o.height+"px"}e||setTimeout(function(){return t.updateCompositionElements(!0)},0)}},e.prototype.clearTextareaPosition=function(){this.textarea.style.left="",this.textarea.style.top=""},e}();t.CompositionHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(2),o=r(4),s=function(){function e(e){this._terminal=e}return e.prototype.addChar=function(e,t){if(e>=" "){var r=n(t);this._terminal.charset&&this._terminal.charset[e]&&(e=this._terminal.charset[e]);var i=this._terminal.y+this._terminal.ybase;if(!r&&this._terminal.x)return void(this._terminal.lines.get(i)[this._terminal.x-1]&&(this._terminal.lines.get(i)[this._terminal.x-1][2]?this._terminal.lines.get(i)[this._terminal.x-1][1]+=e:this._terminal.lines.get(i)[this._terminal.x-2]&&(this._terminal.lines.get(i)[this._terminal.x-2][1]+=e),this._terminal.updateRange(this._terminal.y)));if(this._terminal.x+r-1>=this._terminal.cols)if(this._terminal.wraparoundMode)this._terminal.x=0,++this._terminal.y>this._terminal.scrollBottom?(this._terminal.y--,this._terminal.scroll(!0)):this._terminal.lines.get(this._terminal.y).isWrapped=!0;else if(2===r)return;if(i=this._terminal.y+this._terminal.ybase,this._terminal.insertMode)for(var o=0;othis._terminal.scrollBottom&&(this._terminal.y--,this._terminal.scroll()),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.carriageReturn=function(){this._terminal.x=0},e.prototype.backspace=function(){this._terminal.x>0&&this._terminal.x--},e.prototype.tab=function(){this._terminal.x=this._terminal.nextStop()},e.prototype.shiftOut=function(){this._terminal.setgLevel(1)},e.prototype.shiftIn=function(){this._terminal.setgLevel(0)},e.prototype.insertChars=function(e){var t,r,i,o;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.x,o=[this._terminal.eraseAttr()," ",1];t--&&i=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.cursorForward=function(e){var t=e[0];t<1&&(t=1),this._terminal.x+=t,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.cursorBackward=function(e){var t=e[0];t<1&&(t=1),this._terminal.x>=this._terminal.cols&&this._terminal.x--,this._terminal.x-=t,this._terminal.x<0&&(this._terminal.x=0)},e.prototype.cursorNextLine=function(e){var t=e[0];t<1&&(t=1),this._terminal.y+=t,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x=0},e.prototype.cursorPrecedingLine=function(e){var t=e[0];t<1&&(t=1),this._terminal.y-=t,this._terminal.y<0&&(this._terminal.y=0),this._terminal.x=0},e.prototype.cursorCharAbsolute=function(e){var t=e[0];t<1&&(t=1),this._terminal.x=t-1},e.prototype.cursorPosition=function(e){var t,r;t=e[0]-1,r=e.length>=2?e[1]-1:0,t<0?t=0:t>=this._terminal.rows&&(t=this._terminal.rows-1),r<0?r=0:r>=this._terminal.cols&&(r=this._terminal.cols-1),this._terminal.x=r,this._terminal.y=t},e.prototype.cursorForwardTab=function(e){for(var t=e[0]||1;t--;)this._terminal.x=this._terminal.nextStop()},e.prototype.eraseInDisplay=function(e){var t;switch(e[0]){case 0:for(this._terminal.eraseRight(this._terminal.x,this._terminal.y),t=this._terminal.y+1;t0&&(this._terminal.lines.trimStart(r),this._terminal.ybase=Math.max(this._terminal.ybase-r,0),this._terminal.ydisp=Math.max(this._terminal.ydisp-r,0))}},e.prototype.eraseInLine=function(e){switch(e[0]){case 0:this._terminal.eraseRight(this._terminal.x,this._terminal.y);break;case 1:this._terminal.eraseLeft(this._terminal.x,this._terminal.y);break;case 2:this._terminal.eraseLine(this._terminal.y)}},e.prototype.insertLines=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.rows-1-this._terminal.scrollBottom,i=this._terminal.rows-1+this._terminal.ybase-i+1;t--;)this._terminal.lines.length===this._terminal.lines.maxLength&&(this._terminal.lines.trimStart(1),this._terminal.ybase--,this._terminal.ydisp--,r--,i--),this._terminal.lines.splice(r,0,this._terminal.blankLine(!0)),this._terminal.lines.splice(i,1);this._terminal.updateRange(this._terminal.y),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.deleteLines=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.rows-1-this._terminal.scrollBottom,i=this._terminal.rows-1+this._terminal.ybase-i;t--;)this._terminal.lines.length===this._terminal.lines.maxLength&&(this._terminal.lines.trimStart(1),this._terminal.ybase-=1,this._terminal.ydisp-=1),this._terminal.lines.splice(i+1,0,this._terminal.blankLine(!0)),this._terminal.lines.splice(r,1);this._terminal.updateRange(this._terminal.y),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.deleteChars=function(e){var t,r,i;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=[this._terminal.eraseAttr()," ",1];t--;)this._terminal.lines.get(r).splice(this._terminal.x,1),this._terminal.lines.get(r).push(i)},e.prototype.scrollUp=function(e){for(var t=e[0]||1;t--;)this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollTop,1),this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollBottom,0,this._terminal.blankLine());this._terminal.updateRange(this._terminal.scrollTop),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.scrollDown=function(e){for(var t=e[0]||1;t--;)this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollBottom,1),this._terminal.lines.splice(this._terminal.ybase+this._terminal.scrollTop,0,this._terminal.blankLine());this._terminal.updateRange(this._terminal.scrollTop),this._terminal.updateRange(this._terminal.scrollBottom)},e.prototype.eraseChars=function(e){var t,r,i,o;for((t=e[0])<1&&(t=1),r=this._terminal.y+this._terminal.ybase,i=this._terminal.x,o=[this._terminal.eraseAttr()," ",1];t--&&i=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.HPositionRelative=function(e){var t=e[0];t<1&&(t=1),this._terminal.x+=t,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.repeatPrecedingCharacter=function(e){for(var t=e[0]||1,r=this._terminal.lines.get(this._terminal.ybase+this._terminal.y),i=r[this._terminal.x-1]||[this._terminal.defAttr," ",1];t--;)r[this._terminal.x++]=i},e.prototype.sendDeviceAttributes=function(e){e[0]>0||(this._terminal.prefix?">"===this._terminal.prefix&&(this._terminal.is("xterm")?this._terminal.send(i.C0.ESC+"[>0;276;0c"):this._terminal.is("rxvt-unicode")?this._terminal.send(i.C0.ESC+"[>85;95;0c"):this._terminal.is("linux")?this._terminal.send(e[0]+"c"):this._terminal.is("screen")&&this._terminal.send(i.C0.ESC+"[>83;40003;0c")):this._terminal.is("xterm")||this._terminal.is("rxvt-unicode")||this._terminal.is("screen")?this._terminal.send(i.C0.ESC+"[?1;2c"):this._terminal.is("linux")&&this._terminal.send(i.C0.ESC+"[?6c"))},e.prototype.linePosAbsolute=function(e){var t=e[0];t<1&&(t=1),this._terminal.y=t-1,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1)},e.prototype.VPositionRelative=function(e){var t=e[0];t<1&&(t=1),this._terminal.y+=t,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x>=this._terminal.cols&&this._terminal.x--},e.prototype.HVPosition=function(e){e[0]<1&&(e[0]=1),e[1]<1&&(e[1]=1),this._terminal.y=e[0]-1,this._terminal.y>=this._terminal.rows&&(this._terminal.y=this._terminal.rows-1),this._terminal.x=e[1]-1,this._terminal.x>=this._terminal.cols&&(this._terminal.x=this._terminal.cols-1)},e.prototype.tabClear=function(e){var t=e[0];t<=0?delete this._terminal.tabs[this._terminal.x]:3===t&&(this._terminal.tabs={})},e.prototype.setMode=function(e){if(e.length>1)for(var t=0;t1e3,this._terminal.mouseEvents=!0,this._terminal.element.classList.add("enable-mouse-events"),this._terminal.selectionManager.disable(),this._terminal.log("Binding to mouse events.");break;case 1004:this._terminal.sendFocus=!0;break;case 1005:this._terminal.utfMouse=!0;break;case 1006:this._terminal.sgrMouse=!0;break;case 1015:this._terminal.urxvtMouse=!0;break;case 25:this._terminal.cursorHidden=!1;break;case 1049:case 47:case 1047:if(!this._terminal.normal){var r={lines:this._terminal.lines,ybase:this._terminal.ybase,ydisp:this._terminal.ydisp,x:this._terminal.x,y:this._terminal.y,scrollTop:this._terminal.scrollTop,scrollBottom:this._terminal.scrollBottom,tabs:this._terminal.tabs};this._terminal.reset(),this._terminal.viewport.syncScrollArea(),this._terminal.normal=r,this._terminal.showCursor()}}}else switch(e[0]){case 4:this._terminal.insertMode=!0}},e.prototype.resetMode=function(e){if(e.length>1)for(var t=0;t>18,s=this._terminal.curAttr>>9&511,n=511&this._terminal.curAttr;i=30&&t<=37?s=t-30:t>=40&&t<=47?n=t-40:t>=90&&t<=97?s=(t+=8)-90:t>=100&&t<=107?n=(t+=8)-100:0===t?(o=this._terminal.defAttr>>18,s=this._terminal.defAttr>>9&511,n=511&this._terminal.defAttr):1===t?o|=1:4===t?o|=2:5===t?o|=4:7===t?o|=8:8===t?o|=16:22===t?o&=-2:24===t?o&=-3:25===t?o&=-5:27===t?o&=-9:28===t?o&=-17:39===t?s=this._terminal.defAttr>>9&511:49===t?n=511&this._terminal.defAttr:38===t?2===e[i+1]?(i+=2,-1===(s=this._terminal.matchColor(255&e[i],255&e[i+1],255&e[i+2]))&&(s=511),i+=2):5===e[i+1]&&(s=t=255&e[i+=2]):48===t?2===e[i+1]?(i+=2,-1===(n=this._terminal.matchColor(255&e[i],255&e[i+1],255&e[i+2]))&&(n=511),i+=2):5===e[i+1]&&(n=t=255&e[i+=2]):100===t?(s=this._terminal.defAttr>>9&511,n=511&this._terminal.defAttr):this._terminal.error("Unknown SGR attribute: %d.",t);this._terminal.curAttr=o<<18|s<<9|n}else this._terminal.curAttr=this._terminal.defAttr},e.prototype.deviceStatus=function(e){if(this._terminal.prefix){if("?"===this._terminal.prefix)switch(e[0]){case 6:this._terminal.send(i.C0.ESC+"[?"+(this._terminal.y+1)+";"+(this._terminal.x+1)+"R")}}else switch(e[0]){case 5:this._terminal.send(i.C0.ESC+"[0n");break;case 6:this._terminal.send(i.C0.ESC+"["+(this._terminal.y+1)+";"+(this._terminal.x+1)+"R")}},e.prototype.softReset=function(e){this._terminal.cursorHidden=!1,this._terminal.insertMode=!1,this._terminal.originMode=!1,this._terminal.wraparoundMode=!0,this._terminal.applicationKeypad=!1,this._terminal.viewport.syncScrollArea(),this._terminal.applicationCursor=!1,this._terminal.scrollTop=0,this._terminal.scrollBottom=this._terminal.rows-1,this._terminal.curAttr=this._terminal.defAttr,this._terminal.x=this._terminal.y=0,this._terminal.charset=null,this._terminal.glevel=0,this._terminal.charsets=[null]},e.prototype.setCursorStyle=function(e){var t=e[0]<1?1:e[0];switch(t){case 1:case 2:this._terminal.setOption("cursorStyle","block");break;case 3:case 4:this._terminal.setOption("cursorStyle","underline");break;case 5:case 6:this._terminal.setOption("cursorStyle","bar")}var r=t%2==1;this._terminal.setOption("cursorBlink",r)},e.prototype.setScrollRegion=function(e){this._terminal.prefix||(this._terminal.scrollTop=(e[0]||1)-1,this._terminal.scrollBottom=(e[1]&&e[1]<=this._terminal.rows?e[1]:this._terminal.rows)-1,this._terminal.x=0,this._terminal.y=0)},e.prototype.saveCursor=function(e){this._terminal.savedX=this._terminal.x,this._terminal.savedY=this._terminal.y},e.prototype.restoreCursor=function(e){this._terminal.x=this._terminal.savedX||0,this._terminal.y=this._terminal.savedY||0},e}();t.InputHandler=s;var n=function(e){function t(e){var t,r=0,o=i.length-1;if(ei[o][1])return!1;for(;o>=r;)if(t=Math.floor((r+o)/2),e>i[t][1])r=t+1;else{if(!(e=4352&&(e<=4447||9001===e||9002===e||e>=11904&&e<=42191&&12351!==e||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072&&e<=196605||e>=196608&&e<=262141)}var i=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];return function(i){return 0===i?e.nul:i<32||i>=127&&i<160?e.control:t(i)?0:r(i)?2:1}}({nul:0,control:0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=new RegExp("(?:^|[^\\da-z\\.-]+)((https?:\\/\\/)((([\\da-z\\.-]+)\\.([a-z\\.]{2,6}))|((\\d{1,3}\\.){3}\\d{1,3})|(localhost))(:\\d{1,5})?(\\/[\\/\\w\\.\\-%~]*)*(\\?[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?(#[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?)($|[^\\/\\w\\.\\-%]+)"),o=0,s=function(){function e(){this._nextLinkMatcherId=o,this._rowTimeoutIds=[],this._linkMatchers=[],this.registerLinkMatcher(i,null,{matchIndex:1})}return e.prototype.attachToDom=function(e,t){this._document=e,this._rows=t},e.prototype.linkifyRow=function(t){if(this._document){var r=this._rowTimeoutIds[t];r&&clearTimeout(r),this._rowTimeoutIds[t]=setTimeout(this._linkifyRow.bind(this,t),e.TIME_BEFORE_LINKIFY)}},e.prototype.setHypertextLinkHandler=function(e){this._linkMatchers[o].handler=e},e.prototype.setHypertextValidationCallback=function(e){this._linkMatchers[o].validationCallback=e},e.prototype.registerLinkMatcher=function(e,t,r){if(void 0===r&&(r={}),this._nextLinkMatcherId!==o&&!t)throw new Error("handler must be defined");var i={id:this._nextLinkMatcherId++,regex:e,handler:t,matchIndex:r.matchIndex,validationCallback:r.validationCallback,priority:r.priority||0};return this._addLinkMatcherToList(i),i.id},e.prototype._addLinkMatcherToList=function(e){if(0!==this._linkMatchers.length){for(var t=this._linkMatchers.length-1;t>=0;t--)if(e.priority<=this._linkMatchers[t].priority)return void this._linkMatchers.splice(t+1,0,e);this._linkMatchers.splice(0,0,e)}else this._linkMatchers.push(e)},e.prototype.deregisterLinkMatcher=function(e){for(var t=1;t0){if(i.validationCallback)for(var s=function(e){var t=o[e];i.validationCallback(t.textContent,t,function(e){e||t.classList.add("xterm-invalid-link")})},n=0;n=0){var d=this._createAnchorElement(a,t.handler,i);if(c.textContent.length===a.length)if(3===c.nodeType)this._replaceNode(c,d);else{var p=c;if("A"===p.nodeName)return r;p.innerHTML="",p.appendChild(d)}else if(c.childNodes.length>1)for(var f=0;f"]=function(e){return e.setPrefix(">")},a["!"]=function(e){return e.setPrefix("!")},a[0]=function(e){return e.setParam(10*e.getParam())},a[1]=function(e){return e.setParam(10*e.getParam()+1)},a[2]=function(e){return e.setParam(10*e.getParam()+2)},a[3]=function(e){return e.setParam(10*e.getParam()+3)},a[4]=function(e){return e.setParam(10*e.getParam()+4)},a[5]=function(e){return e.setParam(10*e.getParam()+5)},a[6]=function(e){return e.setParam(10*e.getParam()+6)},a[7]=function(e){return e.setParam(10*e.getParam()+7)},a[8]=function(e){return e.setParam(10*e.getParam()+8)},a[9]=function(e){return e.setParam(10*e.getParam()+9)},a.$=function(e){return e.setPostfix("$")},a['"']=function(e){return e.setPostfix('"')},a[" "]=function(e){return e.setPostfix(" ")},a["'"]=function(e){return e.setPostfix("'")},a[";"]=function(e){return e.finalizeParam()},a[i.C0.CAN]=function(e){return e.setState(h.NORMAL)};var l={};l["@"]=function(e,t,r){return e.insertChars(t)},l.A=function(e,t,r){return e.cursorUp(t)},l.B=function(e,t,r){return e.cursorDown(t)},l.C=function(e,t,r){return e.cursorForward(t)},l.D=function(e,t,r){return e.cursorBackward(t)},l.E=function(e,t,r){return e.cursorNextLine(t)},l.F=function(e,t,r){return e.cursorPrecedingLine(t)},l.G=function(e,t,r){return e.cursorCharAbsolute(t)},l.H=function(e,t,r){return e.cursorPosition(t)},l.I=function(e,t,r){return e.cursorForwardTab(t)},l.J=function(e,t,r){return e.eraseInDisplay(t)},l.K=function(e,t,r){return e.eraseInLine(t)},l.L=function(e,t,r){return e.insertLines(t)},l.M=function(e,t,r){return e.deleteLines(t)},l.P=function(e,t,r){return e.deleteChars(t)},l.S=function(e,t,r){return e.scrollUp(t)},l.T=function(e,t,r){t.length<2&&!r&&e.scrollDown(t)},l.X=function(e,t,r){return e.eraseChars(t)},l.Z=function(e,t,r){return e.cursorBackwardTab(t)},l["`"]=function(e,t,r){return e.charPosAbsolute(t)},l.a=function(e,t,r){return e.HPositionRelative(t)},l.b=function(e,t,r){return e.repeatPrecedingCharacter(t)},l.c=function(e,t,r){return e.sendDeviceAttributes(t)},l.d=function(e,t,r){return e.linePosAbsolute(t)},l.e=function(e,t,r){return e.VPositionRelative(t)},l.f=function(e,t,r){return e.HVPosition(t)},l.g=function(e,t,r){return e.tabClear(t)},l.h=function(e,t,r){return e.setMode(t)},l.l=function(e,t,r){return e.resetMode(t)},l.m=function(e,t,r){return e.charAttributes(t)},l.n=function(e,t,r){return e.deviceStatus(t)},l.p=function(e,t,r){switch(r){case"!":e.softReset(t)}},l.q=function(e,t,r,i){" "===i&&e.setCursorStyle(t)},l.r=function(e,t){return e.setScrollRegion(t)},l.s=function(e,t){return e.saveCursor(t)},l.u=function(e,t){return e.restoreCursor(t)},l[i.C0.CAN]=function(e,t,r,i,o){return o.setState(h.NORMAL)};var h;!function(e){e[e.NORMAL=0]="NORMAL",e[e.ESCAPED=1]="ESCAPED",e[e.CSI_PARAM=2]="CSI_PARAM",e[e.CSI=3]="CSI",e[e.OSC=4]="OSC",e[e.CHARSET=5]="CHARSET",e[e.DCS=6]="DCS",e[e.IGNORE=7]="IGNORE"}(h||(h={}));var c=function(){function e(e,t){this._inputHandler=e,this._terminal=t,this._state=h.NORMAL}return e.prototype.parse=function(e){var t,r,c,u,d=e.length;for(this._position=0,this._terminal.surrogate_high&&(e=this._terminal.surrogate_high+e,this._terminal.surrogate_high="");this._position":this._terminal.log("Switching back to normal keypad."),this._terminal.applicationKeypad=!1,this._terminal.viewport.syncScrollArea(),this._state=h.NORMAL;break;default:this._state=h.NORMAL,this._terminal.error("Unknown ESC control: %s.",r)}break;case h.CHARSET:r in o.CHARSETS?(t=o.CHARSETS[r],"/"===r&&this.skipNextChar()):t=o.DEFAULT_CHARSET,this._terminal.setgCharset(this._terminal.gcharset,t),this._terminal.gcharset=null,this._state=h.NORMAL;break;case h.OSC:if(r===i.C0.ESC||r===i.C0.BEL){switch(r===i.C0.ESC&&this._position++,this._terminal.params.push(this._terminal.currentParam),this._terminal.params[0]){case 0:case 1:case 2:this._terminal.params[1]&&(this._terminal.title=this._terminal.params[1],this._terminal.handleTitle(this._terminal.title))}this._terminal.params=[],this._terminal.currentParam=0,this._state=h.NORMAL}else this._terminal.params.length?this._terminal.currentParam+=r:r>="0"&&r<="9"?this._terminal.currentParam=10*this._terminal.currentParam+r.charCodeAt(0)-48:";"===r&&(this._terminal.params.push(this._terminal.currentParam),this._terminal.currentParam="");break;case h.CSI_PARAM:if(r in a){a[r](this);break}this.finalizeParam(),this._state=h.CSI;case h.CSI:r in l?l[r](this._inputHandler,this._terminal.params,this._terminal.prefix,this._terminal.postfix,this):this._terminal.error("Unknown CSI code: %s.",r),this._state=h.NORMAL,this._terminal.prefix="",this._terminal.postfix="";break;case h.DCS:if(r===i.C0.ESC||r===i.C0.BEL){r===i.C0.ESC&&this._position++;var p=void 0,f=void 0;switch(this._terminal.prefix){case"":break;case"$q":switch(p=this._terminal.currentParam,f=!1,p){case'"q':p='0"q';break;case'"p':p='61"p';break;case"r":p=this._terminal.scrollTop+1+";"+(this._terminal.scrollBottom+1)+"r";break;case"m":p="0m";break;default:this._terminal.error("Unknown DCS Pt: %s.",p),p=""}this._terminal.send(i.C0.ESC+"P"+ +f+"$r"+p+i.C0.ESC+"\\");break;case"+p":break;case"+q":p=this._terminal.currentParam,f=!1,this._terminal.send(i.C0.ESC+"P"+ +f+"+r"+p+i.C0.ESC+"\\");break;default:this._terminal.error("Unknown DCS prefix: %s.",this._terminal.prefix)}this._terminal.currentParam=0,this._terminal.prefix="",this._state=h.NORMAL}else this._terminal.currentParam?this._terminal.currentParam+=r:this._terminal.prefix||"$"===r||"+"===r?2===this._terminal.prefix.length?this._terminal.currentParam=r:this._terminal.prefix+=r:this._terminal.currentParam=r;break;case h.IGNORE:r!==i.C0.ESC&&r!==i.C0.BEL||(r===i.C0.ESC&&this._position++,this._state=h.NORMAL)}}return this._state},e.prototype.setState=function(e){this._state=e},e.prototype.setPrefix=function(e){this._terminal.prefix=e},e.prototype.setPostfix=function(e){this._terminal.postfix=e},e.prototype.setParam=function(e){this._terminal.currentParam=e},e.prototype.getParam=function(){return this._terminal.currentParam},e.prototype.finalizeParam=function(){this._terminal.params.push(this._terminal.currentParam),this._terminal.currentParam=0},e.prototype.skipNextChar=function(){this._position++},e}();t.Parser=c},function(e,t,r){"use strict";function i(e){var t=e.ownerDocument.createElement("span");t.innerHTML="hello world",e.appendChild(t);var r=t.offsetWidth,i=t.offsetHeight;t.style.fontWeight="bold";var o=t.offsetWidth,s=t.offsetHeight;return e.removeChild(t),r!==o||i!==s}Object.defineProperty(t,"__esModule",{value:!0});var o,s=r(26);!function(e){e[e.BOLD=1]="BOLD",e[e.UNDERLINE=2]="UNDERLINE",e[e.BLINK=4]="BLINK",e[e.INVERSE=8]="INVERSE",e[e.INVISIBLE=16]="INVISIBLE"}(o||(o={}));var n=null,a=function(){function e(e){this._terminal=e,this._refreshRowsQueue=[],this._refreshFramesSkipped=0,this._refreshAnimationFrame=null,this._spanElementObjectPool=new s.DomElementObjectPool("span"),null===n&&(n=i(this._terminal.element)),this._spanElementObjectPool=new s.DomElementObjectPool("span")}return e.prototype.queueRefresh=function(e,t){this._refreshRowsQueue.push({start:e,end:t}),this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame(this._refreshLoop.bind(this)))},e.prototype._refreshLoop=function(){if(this._terminal.writeBuffer.length>0&&this._refreshFramesSkipped++<=5)this._refreshAnimationFrame=window.requestAnimationFrame(this._refreshLoop.bind(this));else{this._refreshFramesSkipped=0;var e,t;if(this._refreshRowsQueue.length>4)e=0,t=this._terminal.rows-1;else{e=this._refreshRowsQueue[0].start,t=this._refreshRowsQueue[0].end;for(var r=1;rt&&(t=this._refreshRowsQueue[r].end)}this._refreshRowsQueue=[],this._refreshAnimationFrame=null,this._refresh(e,t)}},e.prototype._refresh=function(e,t){var r;t-e>=this._terminal.rows/2&&(r=this._terminal.element.parentNode)&&this._terminal.element.removeChild(this._terminal.rowContainer);var i=this._terminal.cols,s=e;for(t>=this._terminal.rows&&(this._terminal.log("`end` is too large. Most likely a bad CSR."),t=this._terminal.rows-1);s<=t;s++){var a=s+this._terminal.ydisp,l=this._terminal.lines.get(a),h=void 0;h=this._terminal.y===s-(this._terminal.ybase-this._terminal.ydisp)&&this._terminal.cursorState&&!this._terminal.cursorHidden?this._terminal.x:-1;for(var c=this._terminal.defAttr,u=document.createDocumentFragment(),d="",p=void 0;this._terminal.children[s].children.length;){var f=this._terminal.children[s].children[0];this._terminal.children[s].removeChild(f),this._spanElementObjectPool.release(f)}for(var g=0;g>9&511,w=m>>18;if(w&o.BOLD&&(n||p.classList.add("xterm-bold"),C<8&&(C+=8)),w&o.UNDERLINE&&p.classList.add("xterm-underline"),w&o.BLINK&&p.classList.add("xterm-blink"),w&o.INVERSE){var S=_;_=C,C=S,1&w&&C<8&&(C+=8)}w&o.INVISIBLE&&p.classList.add("xterm-hidden"),w&o.INVERSE&&(257===_&&(_=15),256===C&&(C=0)),_<256&&p.classList.add("xterm-bg-color-"+_),C<256&&p.classList.add("xterm-color-"+C)}if(2===b)d+=''+y+"";else if(y.charCodeAt(0)>255)d+=''+y+"";else switch(y){case"&":d+="&";break;case"<":d+="<";break;case">":d+=">";break;default:d+=y<=" "?" ":y}c=m}}d&&!p&&(p=this._spanElementObjectPool.acquire()),p&&(d&&(p.innerHTML=d,d=""),u.appendChild(p),p=null),this._terminal.children[s].appendChild(u)}r&&this._terminal.element.appendChild(this._terminal.rowContainer),this._terminal.emit("refresh",{element:this._terminal.element,start:e,end:t})},e.prototype.refreshSelection=function(e,t){for(;this._terminal.selectionContainer.children.length;)this._terminal.selectionContainer.removeChild(this._terminal.selectionContainer.children[0]);if(e&&t){var r=e[1]-this._terminal.ydisp,i=t[1]-this._terminal.ydisp,o=Math.max(r,0),s=Math.min(i,this._terminal.rows-1);if(!(o>=this._terminal.rows||s<0)){var n=document.createDocumentFragment(),a=r===o?e[0]:0,l=o===s?t[0]:this._terminal.cols;n.appendChild(this._createSelectionElement(o,a,l));var h=s-o-1;if(n.appendChild(this._createSelectionElement(o+1,0,this._terminal.cols,h)),o!==s){var c=i===s?t[0]:this._terminal.cols;n.appendChild(this._createSelectionElement(s,0,c))}this._terminal.selectionContainer.appendChild(n)}}},e.prototype._createSelectionElement=function(e,t,r,i){void 0===i&&(i=1);var o=document.createElement("div");return o.style.height=i*this._terminal.charMeasure.height+"px",o.style.top=e*this._terminal.charMeasure.height+"px",o.style.left=t*this._terminal.charMeasure.width+"px",o.style.width=this._terminal.charMeasure.width*(r-t)+"px",o},e}();t.Renderer=a},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o,s=r(10),n=r(9),a=r(1),l=r(21),h=String.fromCharCode(160),c=new RegExp(h,"g");!function(e){e[e.NORMAL=0]="NORMAL",e[e.WORD=1]="WORD",e[e.LINE=2]="LINE"}(o||(o={}));var u=function(e){function t(t,r,i,s){var n=e.call(this)||this;return n._terminal=t,n._buffer=r,n._rowContainer=i,n._charMeasure=s,n._initListeners(),n.enable(),n._model=new l.SelectionModel(t),n._lastMouseDownTime=0,n._activeSelectionMode=o.NORMAL,n}return i(t,e),t.prototype._initListeners=function(){var e=this;this._bufferTrimListener=function(t){return e._onTrim(t)},this._mouseMoveListener=function(t){return e._onMouseMove(t)},this._mouseDownListener=function(t){return e._onMouseDown(t)},this._mouseUpListener=function(t){return e._onMouseUp(t)}},t.prototype.disable=function(){this.clearSelection(),this._buffer.off("trim",this._bufferTrimListener),this._rowContainer.removeEventListener("mousedown",this._mouseDownListener)},t.prototype.enable=function(){this._buffer.on("trim",this._bufferTrimListener),this._rowContainer.addEventListener("mousedown",this._mouseDownListener)},t.prototype.setBuffer=function(e){this._buffer=e,this.clearSelection()},Object.defineProperty(t.prototype,"hasSelection",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t)&&(e[0]!==t[0]||e[1]!==t[1])},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selectionText",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";var r=e[1]===t[1]?t[0]:null,i=[];i.push(this._translateBufferLineToString(this._buffer.get(e[1]),!0,e[0],r));for(var o=e[1]+1;o<=t[1]-1;o++){var s=this._buffer.get(o),a=this._translateBufferLineToString(s,!0);s.isWrapped?i[i.length-1]+=a:i.push(a)}if(e[1]!==t[1]){var s=this._buffer.get(t[1]),a=this._translateBufferLineToString(s,!0,0,t[0]);s.isWrapped?i[i.length-1]+=a:i.push(a)}return i.map(function(e){return e.replace(c," ")}).join(n.isMSWindows?"\r\n":"\n")},enumerable:!0,configurable:!0}),t.prototype.clearSelection=function(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh()},t.prototype._translateBufferLineToString=function(e,t,r,i){void 0===r&&(r=0),void 0===i&&(i=null);for(var o="",s=r,n=i,a=0;a=a&&s--,i>=a&&n--)}var h=n||e.length;if(t){var c=o.search(/\s+$/);if(-1!==c&&(h=Math.min(h,c)),h<=s)return""}return o.substring(s,h)},t.prototype.refresh=function(e){var t=this;this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame(function(){return t._refresh()})),n.isLinux&&e&&this.selectionText.length&&this.emit("newselection",this.selectionText)},t.prototype._refresh=function(){this._refreshAnimationFrame=null,this.emit("refresh",{start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd})},t.prototype.selectAll=function(){this._model.isSelectAllActive=!0,this.refresh()},t.prototype._onTrim=function(e){this._model.onTrim(e)&&this.refresh()},t.prototype._getMouseBufferCoords=function(e){var t=s.getCoords(e,this._rowContainer,this._charMeasure,this._terminal.cols,this._terminal.rows,!0);return t[0]--,t[1]--,t[1]+=this._terminal.ydisp,t},t.prototype._getMouseEventScrollAmount=function(e){var t=s.getCoordsRelativeToElement(e,this._rowContainer)[1],r=this._terminal.rows*this._charMeasure.height;return t>=0&&t<=r?0:(t>r&&(t-=r),t=Math.min(Math.max(t,-50),50),(t/=50)/Math.abs(t)+Math.round(14*t))},t.prototype._onMouseDown=function(e){0===e.button&&(e.preventDefault(),this._dragScrollAmount=0,this._setMouseClickCount(e),e.shiftKey?this._onShiftClick(e):1===this._clickCount?this._onSingleClick(e):2===this._clickCount?this._onDoubleClick(e):3===this._clickCount&&this._onTripleClick(e),this._addMouseDownListeners(),this.refresh(!0))},t.prototype._addMouseDownListeners=function(){var e=this;this._rowContainer.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._rowContainer.ownerDocument.addEventListener("mouseup",this._mouseUpListener),this._dragScrollIntervalTimer=setInterval(function(){return e._dragScroll()},50)},t.prototype._removeMouseDownListeners=function(){this._rowContainer.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._rowContainer.ownerDocument.removeEventListener("mouseup",this._mouseUpListener),clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=null},t.prototype._onShiftClick=function(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))},t.prototype._onSingleClick=function(e){this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=o.NORMAL,this._model.selectionStart=this._getMouseBufferCoords(e),this._model.selectionStart&&(this._model.selectionEnd=null,0===this._buffer.get(this._model.selectionStart[1])[this._model.selectionStart[0]][2]&&this._model.selectionStart[0]++)},t.prototype._onDoubleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=o.WORD,this._selectWordAt(t))},t.prototype._onTripleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=o.LINE,this._selectLineAt(t[1]))},t.prototype._setMouseClickCount=function(e){var t=(new Date).getTime();(t-this._lastMouseDownTime>400||this._distanceFromLastMousePosition(e)>10)&&(this._clickCount=0),this._lastMouseDownTime=t,this._lastMousePosition=[e.pageX,e.pageY],this._clickCount++},t.prototype._distanceFromLastMousePosition=function(e){return Math.max(Math.abs(this._lastMousePosition[0]-e.pageX),Math.abs(this._lastMousePosition[1]-e.pageY))},t.prototype._onMouseMove=function(e){var t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),this._activeSelectionMode===o.LINE?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._terminal.cols-1:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]0?this._model.selectionEnd=[this._terminal.cols-1,this._terminal.ydisp+this._terminal.rows]:this._model.selectionEnd=[0,this._terminal.ydisp],this.refresh())},t.prototype._onMouseUp=function(e){this._removeMouseDownListeners()},t.prototype._convertViewportColToCharacterIndex=function(e,t){for(var r=t[0],i=0;t[0]>=i;i++)0===e[i][2]&&r--;return r},t.prototype._getWordAt=function(e){var t=this._buffer.get(e[1]),r=this._translateBufferLineToString(t,!1),i=this._convertViewportColToCharacterIndex(t,e),o=i,s=e[0]-o,n=0,a=0;if(" "===r.charAt(o)){for(;o>0&&" "===r.charAt(o-1);)o--;for(;i0&&!this._isCharWordSeparator(r.charAt(o-1));)0===t[l-1][2]&&(n++,l--),o--,l--;for(;i+1=0},t.prototype._selectLineAt=function(e){this._model.selectionStart=[0,e],this._model.selectionStartLength=this._terminal.cols},t}(a.EventEmitter);t.SelectionManager=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e){this._terminal=e,this.clearSelection()}return e.prototype.clearSelection=function(){this.selectionStart=null,this.selectionEnd=null,this.isSelectAllActive=!1,this.selectionStartLength=0},Object.defineProperty(e.prototype,"finalSelectionStart",{get:function(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"finalSelectionEnd",{get:function(){return this.isSelectAllActive?[this._terminal.cols,this._terminal.ybase+this._terminal.rows-1]:this.selectionStart?!this.selectionEnd||this.areSelectionValuesReversed()?[this.selectionStart[0]+this.selectionStartLength,this.selectionStart[1]]:this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]?[Math.max(this.selectionStart[0]+this.selectionStartLength,this.selectionEnd[0]),this.selectionEnd[1]]:this.selectionEnd:null},enumerable:!0,configurable:!0}),e.prototype.areSelectionValuesReversed=function(){var e=this.selectionStart,t=this.selectionEnd;return e[1]>t[1]||e[1]===t[1]&&e[0]>t[0]},e.prototype.onTrim=function(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)},e}();t.SelectionModel=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,r,i){var o=this;this.terminal=e,this.viewportElement=t,this.scrollArea=r,this.charMeasure=i,this.currentRowHeight=0,this.lastRecordedBufferLength=0,this.lastRecordedViewportHeight=0,this.terminal.on("scroll",this.syncScrollArea.bind(this)),this.terminal.on("resize",this.syncScrollArea.bind(this)),this.viewportElement.addEventListener("scroll",this.onScroll.bind(this)),setTimeout(function(){return o.syncScrollArea()},0)}return e.prototype.refresh=function(){if(this.charMeasure.height>0){var e=this.charMeasure.height!==this.currentRowHeight;e&&(this.currentRowHeight=this.charMeasure.height,this.viewportElement.style.lineHeight=this.charMeasure.height+"px",this.terminal.rowContainer.style.lineHeight=this.charMeasure.height+"px");var t=this.lastRecordedViewportHeight!==this.terminal.rows;(e||t)&&(this.lastRecordedViewportHeight=this.terminal.rows,this.viewportElement.style.height=this.charMeasure.height*this.terminal.rows+"px",this.terminal.selectionContainer.style.height=this.viewportElement.style.height),this.scrollArea.style.height=this.charMeasure.height*this.lastRecordedBufferLength+"px"}},e.prototype.syncScrollArea=function(){this.lastRecordedBufferLength!==this.terminal.lines.length?(this.lastRecordedBufferLength=this.terminal.lines.length,this.refresh()):this.lastRecordedViewportHeight!==this.terminal.rows?this.refresh():this.charMeasure.height!==this.currentRowHeight&&this.refresh();var e=this.terminal.ydisp*this.currentRowHeight;this.viewportElement.scrollTop!==e&&(this.viewportElement.scrollTop=e)},e.prototype.onScroll=function(e){var t=Math.round(this.viewportElement.scrollTop/this.currentRowHeight)-this.terminal.ydisp;this.terminal.scrollDisp(t,!0)},e.prototype.onWheel=function(e){if(0!==e.deltaY){var t=1;e.deltaMode===WheelEvent.DOM_DELTA_LINE?t=this.currentRowHeight:e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t=this.currentRowHeight*this.terminal.rows),this.viewportElement.scrollTop+=e.deltaY*t,e.preventDefault()}},e.prototype.onTouchStart=function(e){this.lastTouchY=e.touches[0].pageY},e.prototype.onTouchMove=function(e){var t=this.lastTouchY-e.touches[0].pageY;this.lastTouchY=e.touches[0].pageY,0!==t&&(this.viewportElement.scrollTop+=t,e.preventDefault())},e}();t.Viewport=i},function(e,t,r){"use strict";function i(e,t){return t?e.replace(/\r?\n/g,"\r"):e}function o(e,t){t.style.position="fixed",t.style.width="20px",t.style.height="20px",t.style.left=e.clientX-10+"px",t.style.top=e.clientY-10+"px",t.style.zIndex="1000",t.focus(),setTimeout(function(){t.style.position=null,t.style.width=null,t.style.height=null,t.style.left=null,t.style.top=null,t.style.zIndex=null},4)}Object.defineProperty(t,"__esModule",{value:!0}),t.prepareTextForTerminal=i,t.copyHandler=function(e,t,r){t.browser.isMSIE?window.clipboardData.setData("Text",r.selectionText):e.clipboardData.setData("text/plain",r.selectionText),e.preventDefault()},t.pasteHandler=function(e,t){e.stopPropagation();var r=function(r){return r=i(r,t.browser.isMSWindows),t.handler(r),t.textarea.value="",t.emit("paste",r),t.cancel(e)};t.browser.isMSIE?window.clipboardData&&r(window.clipboardData.getData("Text")):e.clipboardData&&r(e.clipboardData.getData("text/plain"))},t.moveTextAreaUnderMouseCursor=o,t.rightClickHandler=function(e,t,r){o(e,t),t.value=r.selectionText,t.select()}},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t,r){var i=e.call(this)||this;return i._document=t,i._parentElement=r,i}return i(t,e),Object.defineProperty(t.prototype,"width",{get:function(){return this._width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this._height},enumerable:!0,configurable:!0}),t.prototype.measure=function(){var e=this;this._measureElement?this._doMeasure():(this._measureElement=this._document.createElement("span"),this._measureElement.style.position="absolute",this._measureElement.style.top="0",this._measureElement.style.left="-9999em",this._measureElement.textContent="W",this._measureElement.setAttribute("aria-hidden","true"),this._parentElement.appendChild(this._measureElement),setTimeout(function(){return e._doMeasure()},0))},t.prototype._doMeasure=function(){var e=this._measureElement.getBoundingClientRect();0!==e.width&&0!==e.height&&(this._width===e.width&&this._height===e.height||(this._width=e.width,this._height=e.height,this.emit("charsizechanged")))},t}(r(1).EventEmitter);t.CharMeasure=o},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var r=e.call(this)||this;return r._array=new Array(t),r._startIndex=0,r._length=0,r}return i(t,e),Object.defineProperty(t.prototype,"maxLength",{get:function(){return this._array.length},set:function(e){for(var t=new Array(e),r=0;rthis._length)for(var t=this._length;t=e;o--)this._array[this._getCyclicIndex(o+r.length)]=this._array[this._getCyclicIndex(o)];for(var o=0;othis.maxLength){var s=this._length+r.length-this.maxLength;this._startIndex+=s,this._length=this.maxLength,this.emit("trim",s)}else this._length+=r.length}},t.prototype.trimStart=function(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.emit("trim",e)},t.prototype.shiftElements=function(e,t,r){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+r<0)throw new Error("Cannot shift elements in list beyond index 0");if(r>0){for(o=t-1;o>=0;o--)this.set(e+o+r,this.get(e+o));var i=e+t+r-this._length;if(i>0)for(this._length+=i;this._length>this.maxLength;)this._length--,this._startIndex++,this.emit("trim",1)}else for(var o=0;o=0}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=r(11),o=r(14),s=r(13),n=r(12),a=document.getElementById("terminal");if(null!==a){var l;l="hterm"==gotty_term?new i.Hterm(a):new o.Xterm(a);var h=("https:"==window.location.protocol?"wss://":"ws://")+window.location.host+window.location.pathname+"ws",c=window.location.search,u=new n.ConnectionFactory(h,s.protocols),d=new s.WebTTY(l,u,c,gotty_auth_token).open();window.addEventListener("unload",function(){d(),l.close()})}},function(e,t,r){function i(e){return r(o(e))}function o(e){var t=s[e];if(!(t+1))throw new Error("Cannot find module '"+e+"'.");return t}var s={"./attach/attach":5,"./attach/attach.js":5,"./attach/package.json":30,"./fit/fit":6,"./fit/fit.js":6,"./fit/package.json":31,"./fullscreen/fullscreen":7,"./fullscreen/fullscreen.css":32,"./fullscreen/fullscreen.js":7,"./fullscreen/package.json":33,"./terminado/package.json":34,"./terminado/terminado":8,"./terminado/terminado.js":8};i.keys=function(){return Object.keys(s)},i.resolve=o,e.exports=i,i.id=29},function(e,t){e.exports={name:"xterm.attach",main:"attach.js",private:!0}},function(e,t){e.exports={name:"xterm.fit",main:"fit.js",private:!0}},function(e,t){throw new Error("Module parse failed: /home/yudai/archive/products/2015/gotty/src/github.com/yudai/gotty/js/node_modules/xterm/lib/addons/fullscreen/fullscreen.css Unexpected token (1:0)\nYou may need an appropriate loader to handle this file type.\n| .xterm.fullscreen {\n| position: fixed;\n| top: 0;")},function(e,t){e.exports={name:"xterm.fullscreen",main:"fullscreen.js",private:!0}},function(e,t){e.exports={name:"xterm.terminado",main:"terminado.js",private:!0}}]); \ No newline at end of file diff --git a/js/dist/xterm.d.ts b/js/dist/xterm.d.ts index ae28909..053d8e8 100644 --- a/js/dist/xterm.d.ts +++ b/js/dist/xterm.d.ts @@ -1,11 +1,13 @@ import * as bare from "xterm"; +import { lib } from "libapps"; export declare class Xterm { elem: HTMLElement; + term: bare; + resizeListener: () => void; + decoder: lib.UTF8Decoder; message: HTMLElement; messageTimeout: number; messageTimer: number; - term: bare; - resizeListener: () => void; constructor(elem: HTMLElement); info(): { columns: number; diff --git a/js/src/hterm.ts b/js/src/hterm.ts index dc16401..8863f12 100644 --- a/js/src/hterm.ts +++ b/js/src/hterm.ts @@ -29,7 +29,7 @@ export class Hterm { output(data: string) { if (this.term.io != null) { - this.term.io.writeUTF16(data); + this.term.io.writeUTF8(data); } }; diff --git a/js/src/webtty.ts b/js/src/webtty.ts index a17b325..1cd79ac 100644 --- a/js/src/webtty.ts +++ b/js/src/webtty.ts @@ -1,5 +1,3 @@ -import { lib } from "libapps" - export const protocols = ["webtty"]; export const msgInputUnknown = '0'; @@ -65,8 +63,6 @@ export class WebTTY { let reconnectTimeout: number; const setup = () => { - const decoder = new lib.UTF8Decoder() - connection.onOpen(() => { const termInfo = this.term.info(); @@ -108,7 +104,7 @@ export class WebTTY { const payload = data.slice(1); switch (data[0]) { case msgOutput: - this.term.output(decoder.decode(atob(payload))); + this.term.output(atob(payload)); break; case msgPong: break; diff --git a/js/src/xterm.ts b/js/src/xterm.ts index e2b5775..16a3e63 100644 --- a/js/src/xterm.ts +++ b/js/src/xterm.ts @@ -1,16 +1,19 @@ import * as bare from "xterm"; +import { lib } from "libapps" + bare.loadAddon("fit"); export class Xterm { elem: HTMLElement; + term: bare; + resizeListener: () => void; + decoder: lib.UTF8Decoder; message: HTMLElement; messageTimeout: number; messageTimer: number; - term: bare; - resizeListener: () => void; constructor(elem: HTMLElement) { this.elem = elem; @@ -20,7 +23,6 @@ export class Xterm { this.message.className = "xterm-overlay"; this.messageTimeout = 2000; - this.resizeListener = () => { this.term.fit(); this.term.scrollToBottom(); @@ -33,6 +35,8 @@ export class Xterm { }); this.term.open(elem, true); + + this.decoder = new lib.UTF8Decoder() }; info(): { columns: number, rows: number } { @@ -40,7 +44,7 @@ export class Xterm { }; output(data: string) { - this.term.write(data); + this.term.write(this.decoder.decode(data)); }; showMessage(message: string, timeout: number) { diff --git a/server/asset.go b/server/asset.go index 67bc8f2..ff62dbe 100644 --- a/server/asset.go +++ b/server/asset.go @@ -194,7 +194,7 @@ func staticJsBundleJs() (*asset, error) { return a, nil } -var _staticJsGottyBundleJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\xfd\x79\x77\xe3\x38\xb2\x28\x88\x9f\xdf\x32\x33\xe7\xbc\x3f\x66\xdf\x57\x9a\xdd\x4f\x45\x96\x60\x99\xd4\xe2\x45\x32\xd3\x4f\x69\xd9\x95\x7e\xed\xb4\xf3\xda\xce\xae\x5b\xa3\x54\x67\xd3\x52\xc8\x62\x27\x45\xaa\x41\xc8\x4e\xb7\xa5\x3b\x5f\x7d\x0e\x56\x02\x24\x25\xbb\xea\x76\xdf\x99\xca\x92\x4c\x21\xb0\x04\x02\x81\x40\x44\x20\x40\xec\x4c\x97\xc9\x98\x44\x69\xe2\x80\xfb\x22\x9f\x2d\xe2\x44\xee\x4b\x34\x75\xf0\x30\x1a\xb9\x18\xc8\x12\x27\x16\x7d\x6e\xc0\xf7\x45\x8a\x49\xd6\x7b\x0c\xb1\x95\x06\x34\x29\x78\x89\xba\x11\x8a\xbb\x3b\x3e\x12\xc0\xee\xcb\x7a\xdd\x13\x85\x80\x16\x1a\x87\x71\xec\xa4\xb2\x2c\x4a\x51\xfe\x4c\x5c\x94\x36\xe2\x60\xc7\xcb\xd3\xd6\xb4\x6e\x1c\xbc\xac\x7b\xa4\x31\x0f\x00\x91\xc6\x38\xc0\x88\x34\xa2\x40\x47\x55\xd6\xbf\x46\xa4\x31\xd1\x20\x08\xa3\xc8\x7d\x21\x8d\x94\x3e\xba\xab\xd5\xf5\xfd\x5f\x60\x4c\x1a\x13\x98\x46\x09\x7c\xc2\xe9\x02\x30\x79\x66\xd9\x5e\xc6\x69\x32\x8d\x1e\x96\x38\xbc\x8f\x81\xa1\x9f\x2c\xe7\x20\x7e\x79\xe8\x01\x48\x37\x5a\xbb\xb4\xfe\xc4\x68\x99\xa3\x07\xb5\x1a\x34\xbe\x7e\x85\xec\x63\x3a\x59\xc6\x70\xa2\x72\xe4\xa8\xd1\x46\xc3\x65\x4c\xd6\xdd\x0a\xa0\xa2\x10\x69\x4c\x1c\x8c\xec\xd0\x46\xd8\x45\x98\x36\x97\xea\xdd\x21\xaa\x88\xe8\xc9\x02\xa7\x24\x25\xcf\x0b\x68\xcc\xc2\xec\xfa\x29\x91\x7d\xe2\x54\xa6\x05\x68\x1d\x8b\xc0\xb6\x11\x71\x48\x23\x0b\x9a\x87\xee\xda\x19\xea\x55\x22\xec\xbe\xd8\xcb\x0c\xac\x8c\xe0\x68\x4c\xec\x9e\x1a\xf7\x48\x76\x90\x04\x64\x16\x65\xbd\x68\xea\xec\x38\xf4\xc9\x8a\x92\x8c\x84\xc9\x18\xd2\xa9\x15\xb9\x92\x25\x12\x78\xb2\x22\x27\xc4\x0f\xcb\x39\x24\x24\x1b\x7a\x23\x94\xff\xf0\xf5\x1f\xcd\x91\xdb\x23\x8d\x7b\x9c\x3e\x65\x80\x83\x5b\x3a\xa8\xb4\xb6\x38\x88\xc4\x03\x5a\x36\xce\x1e\x21\x21\x67\xf3\x88\x10\xc0\xbc\x37\xb4\x65\x17\xd9\xc9\x72\x7e\x0f\xd8\x0e\x02\xda\xed\x74\x6a\x41\xad\xe6\x40\xf0\x32\x4e\xe3\xac\x6b\x34\x4e\xab\xef\x1a\x18\xcc\xc2\x64\x12\x03\xee\xea\x98\xac\x5d\x04\x01\xac\x56\x2f\x6b\x24\x68\xfa\x0d\x9e\x33\x27\x92\xe3\x95\xb9\x8d\x69\x8a\xcf\xc2\xf1\xcc\x51\x54\xc3\xee\x4b\xb2\x8c\xe3\x20\x80\x21\x1e\xd1\xe6\x87\x78\x14\x44\x8d\x74\x41\xa1\xd9\x10\x8f\x50\x34\xc4\xa3\x9d\x20\xc8\x6b\xd1\x33\x0e\xf1\xc8\x75\x11\xa1\xcf\x34\x61\xed\xa2\xc3\x20\x08\xa0\x31\x4e\xe3\x14\x67\x8d\x18\x92\x07\x32\x3b\x91\xbf\x73\xc0\x38\x4d\xc6\x21\x71\xa2\xc6\x57\x91\x90\xc5\xd1\x18\x9c\x43\xd7\xed\xfa\xfb\xff\x9a\x1a\xfc\x7d\x5a\x85\xf7\xa6\x2a\x78\x09\x0f\xed\x36\xdd\x8d\x08\x51\x20\x2a\x94\xd8\x6d\xd2\x36\x2a\x3a\x4a\xc9\xf2\x76\x44\x37\x55\xed\x22\xca\x1e\xc5\x7a\x78\xa2\x18\x17\x2a\x3d\xe8\xcf\x45\x88\x21\x21\x01\x34\xee\xd3\xc9\xf3\x6a\x05\x22\x61\xb5\x72\xfa\x27\xfd\xc6\x03\x90\xb3\x18\x18\x77\xbc\x7f\xbe\x0b\x1f\xae\xc2\x39\x38\x36\xcd\x6a\xbb\x43\x6f\xd4\xa5\x03\x9f\x37\x26\x9a\xca\x68\x35\x0f\x90\xce\x81\xe0\x67\xca\x7b\x0c\x4e\x19\x30\x00\xf6\xc7\x80\xfb\x02\x2e\x13\x82\xa1\xaa\x2e\x2f\x38\x42\x74\x4e\x33\x7e\xad\xd5\x78\x37\x12\xc7\x9e\x84\x24\xb4\x73\x88\x40\xe4\xf9\x3e\xcc\x20\xf0\xc4\x8f\x49\x94\x2d\xe4\x8f\xef\x2a\x55\x3e\x8c\x97\x38\x4b\xf1\x2d\x09\x09\x98\x49\x1f\xa2\xc9\x04\x92\x60\xc7\x97\x9d\x4b\x1e\x01\x93\xb3\x34\xe6\xbf\xff\xba\x84\x25\x30\x39\x42\x7f\x65\x63\x9c\xc6\xf1\x5d\xaa\x1a\xe2\x09\xef\x53\x42\xd2\x79\xa0\x3a\xb1\x2b\x2b\x5b\x66\x24\x9d\xff\x01\x9e\xd9\xac\xfe\xc0\x91\x0f\x28\x29\x75\x0c\xde\xc7\x51\xf2\xed\x22\x21\x80\x1f\xc3\x58\x83\x86\x8b\x45\x1c\x8d\x43\x3a\x88\x7f\x80\xe7\x45\x38\x51\x48\x6a\x90\x53\x56\x85\x82\xa4\x38\x7a\x88\x92\x8f\xe9\x04\x54\x52\x94\x64\x80\x89\x91\xf4\x84\xc3\x45\x88\xd3\x65\x32\xe1\xc9\xa2\x33\x49\x8a\xe7\x06\x06\xe3\x59\x88\x33\x20\x5a\xca\x43\x45\x52\x0c\x8f\x10\x2b\xa2\x72\x78\x16\x0c\x69\x0e\x31\xe2\x13\x18\x5f\xa6\xe3\x90\xa4\x58\x0c\x8f\xef\x7d\x4c\x97\x99\x60\xcc\x47\xd2\xf4\xcc\xdf\x2d\xe3\x37\x47\x4b\x4b\x98\xd3\x47\x46\x52\xc1\x38\x19\x24\x93\xf3\x74\xbc\x14\x3f\x97\x64\xaa\xe5\xce\x1e\xb0\xf6\x6b\x89\xbf\x3f\x12\xed\x37\x70\xa6\x97\xc8\x47\xf1\x04\x43\x22\xd8\x11\xa6\x18\xb2\xd9\x2d\x09\x31\x31\x52\xce\x92\x89\xa8\x3a\x7c\x84\xc9\x3f\x6b\xcf\xbf\x68\xcf\xa7\x39\x5f\x43\x38\xa1\x2b\xaa\x22\xf4\x13\x8e\x88\x91\x30\x81\x69\x9f\x10\x1c\xf8\x2d\xff\xb0\x9d\xb3\x27\x4b\xd3\x33\xa8\x99\x1c\xce\xb3\x60\x38\x52\x19\xe9\x44\xfe\x44\x53\xe5\x30\x2c\x30\x4c\xa3\xef\x8a\x6f\x17\x69\x46\xf4\xdf\x51\xb2\x58\xe6\xfc\x08\x4f\xd6\xbc\x71\xa1\x25\x89\x35\x47\x36\x96\x89\x4c\xcf\x8d\x4f\xec\x87\x53\xaa\x03\x69\x05\x30\x24\x13\xc0\x20\x10\x97\xbf\x56\xab\x9c\x63\x32\x88\x81\xad\x28\x1f\xc3\x24\x7c\x90\x39\x8b\xa9\x7a\x09\x3a\x43\xa2\x69\x24\xb3\xaa\x9f\xab\x15\xc5\xeb\x6b\xe3\x52\x26\xe4\xf4\x85\xf7\xcb\xe9\x14\xb0\xa2\x12\x4b\xbb\xa0\x9a\xc2\x03\x86\x2c\x53\x73\xe1\x7b\x3a\x9d\xde\x42\x42\xee\xd2\xd3\x90\x8c\x67\x9f\x17\xda\x2c\x89\x08\xdc\x92\x74\xb1\x80\x7c\xea\x65\x4b\x8c\xd3\x87\x90\xc0\xd7\x59\xf4\x30\x53\x04\x8d\xa3\x04\x32\x46\xa4\x69\xe3\x34\xc2\xe3\x65\x1c\xe2\xcb\x28\x23\x8e\x26\x25\xee\xc3\xf1\x37\xb7\x37\x4d\xb1\xc3\xb5\x27\x25\x2e\x7a\x78\x77\xb7\xe7\xe6\xf5\x34\x16\xcb\x6c\xc6\x4b\xde\xc7\x61\xf2\xed\x32\x4a\xc0\x71\xdd\x5e\x25\x99\x84\x94\x2c\x26\x37\x32\x20\x9c\x02\x4e\x5e\xb1\x18\x21\x12\xde\xab\x89\x43\x96\x0b\xda\xc5\xcc\x11\xb0\x65\x06\xf8\x96\xa1\x1b\x25\x0f\xc1\x8e\xbf\x56\x6a\x51\xca\xb5\x26\xaa\x59\xf6\x31\x0e\x9f\x1b\x51\xc6\xfe\x3a\xe0\xae\x56\x0e\x04\x43\x18\xd1\x25\xaa\xa4\x35\x80\xfb\x02\x8d\x70\x32\x61\x13\x96\xd2\x04\x12\x8a\x14\xad\x69\xb5\xda\xf1\xdd\xb5\x9b\xb7\x91\xe5\x6d\x40\x03\xc3\x3c\x7d\x84\x8d\xc5\x54\x21\xa1\x21\xaa\xdf\xd8\x71\x5f\xa4\x2c\xcf\x08\x5e\x8e\x49\x8a\x03\x58\xe3\x5c\x6b\x0c\x34\x0d\x12\x81\x96\x4e\x07\x10\xe7\x35\x87\xbc\x66\xa1\xec\x4a\xcd\xad\x11\x65\x1f\xc3\x71\xad\x46\x1a\x61\x4c\xfe\x00\xcf\xb5\xda\x0e\x69\x8c\x09\x8e\xe5\xf3\x1c\x48\xf8\x07\x60\x6b\xac\x56\xe4\xf6\xe7\x28\x99\xa4\x4f\x99\x5e\xb0\xb2\x9c\x50\x8a\xed\x6f\xf0\xbc\xa0\xac\x4a\x75\xbe\x06\x45\xef\x04\x77\x71\xad\xe6\xec\x30\x5d\xed\x34\x9d\xc0\x6a\xa5\x1e\xdf\xb5\x0f\x34\x92\xc4\x52\xc3\xe5\x26\x0a\x1c\x1f\xfb\xfb\x2b\x72\x7c\x7c\xb8\xc2\x54\x9d\xa5\x13\x6b\x27\x88\x1b\x5f\xc7\xe1\x78\x06\xc3\x54\x99\x37\x5a\x92\x62\xd4\x0c\x25\x28\x44\x33\x34\x46\xcb\xc0\xdf\xf3\xd0\x24\xd8\xf5\xd1\x22\xf0\x7a\x8b\xe3\xa8\xf1\x68\xe8\x34\xbd\x45\xbd\xce\x4c\xa6\x2c\x50\xa0\xe1\x62\x84\x92\x80\xab\xc5\x01\x57\x47\x03\xaa\x80\x22\xaa\x77\x39\xe3\x20\x6e\x4c\x22\xae\x55\x8b\xb1\x67\xad\xb9\xae\xfb\x32\x09\x16\xbd\x7b\x0c\xe1\xb7\xf5\xf8\x78\x59\xab\x39\xcb\x60\x8c\x26\xc1\xc2\x5d\x97\x91\x0d\x26\x79\xdf\x67\x9a\x65\x24\xf4\x43\x45\x2e\xff\xa0\xf0\xfb\x50\xff\xbd\xde\xfb\x71\xe7\xdf\x59\x3f\x5a\xdf\x09\xe0\xb9\xe5\xcc\x08\x59\x64\xdd\xbd\xbd\x64\x31\xff\x0b\x65\xa6\xf9\xde\x22\x1c\x7f\x0b\x1f\x60\x8f\x65\x70\x69\xd6\xff\x40\x35\xb1\x24\x03\xeb\xe3\xc5\x1d\xfb\xfd\x08\x38\xa3\x58\x34\x1b\x87\x0d\x9f\xa6\x04\x01\xcb\xbd\x77\x79\x71\x7a\x76\x75\x7b\x16\x04\x34\xf1\x34\x5d\x3c\xe3\xe8\x61\x46\x2c\x67\xec\x5a\x4d\xcf\x6f\xef\x36\x3d\x7f\x1f\x59\xb7\xe9\x12\x8f\xe1\x32\x8c\xb0\xf5\x09\x47\x8f\x21\x01\xeb\x34\x9d\x2f\xc2\xe4\x39\xc7\xe7\xe9\xe9\xa9\x91\xb1\x7c\x71\x18\x61\x8a\x98\x5b\x59\x67\x93\xd6\xd9\x42\xd6\xe9\x0c\x47\x19\x49\x17\x33\xc0\xd6\x7f\x84\xe9\x14\x83\x56\xd9\x43\x44\x66\xcb\x7b\xd6\xbb\xf1\xec\x2f\x7f\xd9\x63\x55\xd1\xcf\x27\xc0\xf3\x28\x63\x7d\x89\x32\x6b\x06\x18\xee\x9f\xad\x07\x1c\x26\x04\x26\xc8\x9a\x62\x00\x2b\x9d\x5a\x74\xb9\x7f\x00\x64\x91\xd4\xa2\x38\x2e\x00\x67\x54\x54\xdc\x93\x30\x4a\xa2\xe4\xc1\x0a\xad\x71\xba\x78\xa6\xf5\xa5\x53\x8b\xd9\x50\x59\x3a\x25\x4f\x21\x06\x2b\x4c\x26\x56\x98\x65\xe9\x38\x0a\x09\x4c\xac\x49\x3a\x66\xc6\x09\xd3\x6a\xac\x69\x14\x43\x66\x39\x64\x06\x96\x7d\x2b\x4a\xd8\x2e\x6b\x67\x02\x61\x4c\x2b\x8c\x12\x8b\x82\x25\xd4\x7a\x8a\xc8\x2c\x5d\x12\x0b\x03\xb7\xe8\xa2\x34\x41\x56\x94\x8c\xe3\xe5\x84\x62\x22\xc1\x71\x34\x8f\x44\x23\xb4\x38\xa3\x58\x46\xeb\x23\xa9\x45\xb5\x02\x86\x30\xb2\xe6\xe9\x24\x9a\xd2\xbf\xc0\xfa\xb7\x58\xde\xc7\x51\x36\x43\x16\x65\x56\x1c\xdd\x2f\x09\x20\x2b\xa3\x89\x6c\xf8\x11\xed\xcd\x5e\x8a\xad\x0c\x62\x86\xdc\x38\x5d\x44\x90\xf1\x4e\xe7\x38\xb2\x6c\xb4\xa1\x05\x25\x2e\x11\xe4\xca\x68\xca\xd3\x2c\x9d\x9b\xfd\x89\x18\x56\xd3\x25\x4e\xa2\x6c\x06\xac\xd8\x24\xb5\xb2\x94\xb5\x4b\x2d\x36\x9a\x42\x4b\x4c\xd3\x38\x4e\x9f\x68\x1f\xc7\x69\x32\x89\x98\xd2\xdf\x95\xc3\x78\x37\x03\x2b\xbc\x4f\x1f\x81\xf5\x8b\xf3\x47\x92\x92\x68\xcc\x07\x80\x0d\xc9\x22\x1f\x6a\x01\xca\x66\x61\x1c\x5b\xf7\x20\xe8\x07\x13\x2b\x4a\x68\x6d\x34\x55\x76\x0d\x53\x3c\xe8\xcc\x25\x51\x18\x5b\x8b\x14\xb3\x86\x8b\x5d\x6e\x28\x44\x3e\x9c\x59\xb7\xd7\xe7\x77\x3f\xf7\x6f\xce\xac\x8b\x5b\xeb\xd3\xcd\xf5\x1f\x2f\x06\x67\x03\xcb\xee\xdf\x5a\x17\xb7\x36\xb2\x7e\xbe\xb8\xfb\x70\xfd\xf9\xce\xfa\xb9\x7f\x73\xd3\xbf\xba\xfb\xc5\xba\x3e\xb7\xfa\x57\xbf\x58\x7f\xb8\xb8\x1a\x20\xeb\xec\x9f\x3f\xdd\x9c\xdd\xde\x5a\xd7\x37\xb4\xb6\x8b\x8f\x9f\x2e\x2f\xce\x06\xc8\xba\xb8\x3a\xbd\xfc\x3c\xb8\xb8\xfa\xc9\x7a\xff\xf9\xce\xba\xba\xbe\xb3\x2e\x2f\x3e\x5e\xdc\x9d\x0d\xac\xbb\x6b\xd6\xa6\xa8\xed\xe2\xec\x96\xd6\xf7\xf1\xec\xe6\xf4\x43\xff\xea\xae\xff\xfe\xe2\xf2\xe2\xee\x17\x44\xeb\x3a\xbf\xb8\xbb\xa2\x35\x9f\x5f\xdf\x58\x7d\xeb\x53\xff\xe6\xee\xe2\xf4\xf3\x65\xff\xc6\xfa\xf4\xf9\xe6\xd3\xf5\xed\x99\xd5\xbf\x1a\x58\x57\xd7\x57\x17\x57\xe7\x37\x17\x57\x3f\x9d\x7d\x3c\xbb\xba\x6b\x58\x17\x57\xd6\xd5\xb5\x75\xf6\xc7\xb3\xab\x3b\xeb\xf6\x43\xff\xf2\x92\xb6\x46\xab\xeb\x7f\xbe\xfb\x70\x7d\x43\x11\xb5\x4e\xaf\x3f\xfd\x72\x73\xf1\xd3\x87\x3b\xeb\xc3\xf5\xe5\xe0\xec\xe6\xd6\x7a\x7f\x66\x5d\x5e\xf4\xdf\x5f\x9e\xf1\xd6\xae\x7e\xb1\x4e\x2f\xfb\x17\x1f\x91\x35\xe8\x7f\xec\xff\x74\xc6\x4a\x5d\xdf\x7d\x38\x63\x9d\xa4\x39\x39\x9a\xd6\xcf\x1f\xce\x68\x2a\x6d\xb5\x7f\x65\xf5\x4f\xef\x2e\xae\xaf\x68\x7f\x4e\xaf\xaf\xee\x6e\xfa\xa7\x77\xc8\xba\xbb\xbe\xb9\x53\xa5\x7f\xbe\xb8\x3d\x43\x56\xff\xe6\xe2\x96\x52\xe6\xfc\xe6\xfa\x23\xeb\x29\xa5\xee\xf5\x39\xcd\x75\x71\x45\x8b\x5e\x9d\xf1\x8a\x28\xe5\xcd\x01\xba\xbe\x61\xbf\x3f\xdf\x9e\xa9\x3a\xad\xc1\x59\xff\xf2\xe2\xea\xa7\x5b\xeb\xe2\xaa\x38\xa0\x74\x94\xf7\xfe\x5d\xb5\x9b\x89\x20\x3b\x77\x11\xd9\xe8\xe5\x31\x8c\x97\xd0\xdd\xf1\xd6\x2e\x73\xa0\x8d\x03\xec\xf8\x1d\x17\x2d\xe9\x5f\x17\x4d\x02\xec\x34\x9b\x2e\x5a\xd0\xbf\x2d\x17\x4d\xe9\xdf\x8e\x8b\x1e\xe8\x5f\x17\xcd\x69\xae\x7d\x17\x3d\xd3\xbf\x87\x2e\xba\xa7\x7f\x8f\x5c\xf4\x95\xfe\x3d\x70\xd1\x29\xcd\xe6\xb9\xe8\x89\xfe\x6d\xbb\xe8\x36\xc0\xce\x91\x8b\x1e\x29\xd8\x73\x51\x3f\xb0\x97\x09\xc7\x6f\x62\xef\x48\x57\xca\x13\x5b\x98\x4f\xf8\x9f\x86\x14\x44\xcc\xe4\xed\x25\x4e\x54\xf0\xca\xb8\x28\xd2\xfc\x4f\x80\xc3\x0c\x98\x9e\x5e\xf2\x6f\xed\x76\xfc\x66\x4d\xd7\xde\x57\x1d\xdf\xaf\xe9\xba\xfd\x1a\x45\x0d\x12\x26\x0f\xe9\x29\xb7\xdf\x87\xf6\xef\x9a\xd0\x6a\xb7\xf6\x6d\x64\xff\x6e\x3c\xf6\x3c\xcf\xa3\x4f\x6d\x38\x0a\x3d\x9e\xd6\x0e\x45\x5a\xab\xbd\xdf\x09\xdb\xf4\xe9\xa0\xd3\xf1\x0e\xee\xe9\x93\xb7\x7f\x74\x78\x14\xd2\xa7\x49\x6b\x72\x30\x9e\xd2\xa7\x4e\xa7\x73\xd0\x69\xd1\x27\x98\x36\x8f\x9a\x47\xf4\xe9\x30\x84\x66\x8b\x95\x9d\x8e\xe1\xa8\xcd\xf2\x1d\x34\x8f\xa6\xbc\x44\x38\x39\x98\x86\x87\xbc\x0d\x68\x42\x93\x95\xa5\xff\x8d\xed\x11\x8a\xa4\xab\x41\xeb\xad\x5a\x79\x41\x7a\x1e\x53\xae\xc1\xda\xbf\xb3\xeb\xc4\x01\xb7\x4e\x1c\x4c\xbf\x22\x57\x53\x51\x48\xbe\x4c\x3b\x10\x40\x83\xa4\xb7\x04\x47\xc9\x03\xf3\xca\x08\x7d\xe2\xb8\x79\x62\x7b\x76\x1d\xba\xc0\xfd\xa1\x28\x0d\x0c\x82\x09\x47\x88\x8b\xb2\x60\xe8\xa1\xa3\x0e\xf2\x5b\x1d\xe4\x1f\x74\x50\xd3\xef\xa0\x66\xa7\xc3\x95\x18\x1c\x78\x3d\x7c\xdc\xf4\xf7\x7b\xb8\x5e\x77\xc1\xc9\x86\x78\xaf\xb5\xff\xef\xf7\x57\xde\x08\xd1\xe7\xfc\xf1\xdf\xef\x8f\x5c\xbd\x48\x5b\x96\x08\x0e\xeb\xbe\xf7\x23\x46\x19\xca\x5c\xe9\xb3\x4c\xd7\x0e\x65\x05\xe1\xa9\x09\x22\xd3\x39\x43\x41\x8f\x15\xb4\x12\x4a\x15\x20\x42\x2d\x13\xac\x8a\xa1\x34\xf0\x7a\xe9\x71\xb3\xb3\xdf\x4b\x69\x9b\x01\xb3\xbb\x2e\x12\xe2\xe0\x61\x3a\x6a\x30\x51\xcb\xc9\xe3\x22\x3a\x01\x08\x27\xf1\x10\xde\xbd\xf3\xf7\x6b\xcd\x4e\x07\xc1\xbb\x77\x87\xec\xa1\xd9\xe9\xd4\x60\xa4\xf0\x24\x1c\x4f\xe9\x91\x63\x2e\xc3\x14\x67\xdd\x28\x77\x16\xc1\x1c\xba\xb6\xc8\x60\xa3\xdc\x05\xd2\xa5\x56\x0f\xe0\xf9\x55\x48\x33\x30\x3d\xc6\x46\xd2\x7d\xd3\x1d\x1e\x7a\xa8\xd9\x1e\x21\xcd\x8b\x41\x0b\x48\x4f\xcb\x73\x0c\x5d\xfb\x3e\x4e\xc7\xdf\x6c\xf4\x18\x65\xcb\x30\x7e\x0f\x31\xab\x72\x91\x2e\xae\x13\xf9\x23\xb7\x8d\xba\x3e\xb4\xe8\x4f\x80\xe4\x0f\xf0\x9c\x51\xe0\x04\xee\x97\x0f\xac\x52\xe6\x1f\xe5\x36\x3f\x03\x44\x19\x35\xa0\x6f\xc9\x24\x4a\xe8\xef\x65\x06\xe7\x71\xfa\x74\x9a\x26\x04\x0b\xbc\xc3\x7b\x6a\xd8\xfc\x1c\x4d\xc8\xac\x7b\x48\x67\x9a\xf4\x87\xbd\xd0\x1f\xd3\x74\xbc\xcc\xb8\x17\xa3\xe8\x15\x8e\xa6\x8e\x32\x63\x5c\xe5\xc7\x96\x76\x0d\xcd\xa2\x74\xe3\x28\xf0\x7a\xd1\x31\x48\xf5\x37\xaa\xd7\x5d\xc2\xbd\xb6\x18\xc1\x30\x1a\xa1\x08\x81\xbb\x36\x6c\xa1\x68\xea\x68\x0e\x57\xd7\xf4\x6b\x33\x1f\x2c\x70\xc1\x48\x10\x35\x5e\x59\x53\x84\x2a\x3b\xe0\xbe\xd9\xf9\x5d\xab\x61\x61\x43\x2a\x2e\xc0\x6b\xdd\xb7\x8b\x0c\x8c\x86\x30\xd2\x5d\xb6\x30\xca\x89\x55\x02\xad\x4d\xf1\xc7\xc9\x58\x76\xed\x73\x3b\x13\xbe\x93\x10\x43\xc8\x73\x39\xee\xda\x28\xfa\x00\xe4\x9a\x35\x52\xf0\xf4\x33\x77\x3b\xd5\x3c\x2c\x0d\x61\x97\xcc\x70\xfa\xc4\x7c\xed\x67\x18\xa7\xd8\xf9\xe1\x2a\xb5\x38\x8e\x4c\xb3\xb3\xbe\xc1\xb3\x65\xff\x50\x87\xfa\x0f\xf6\x0f\xaa\xd3\x8f\x69\x34\xb1\xbc\x9d\x20\xd0\xfd\xa1\x43\x18\x9d\x14\x7e\x77\xe9\x6f\xda\x39\x03\xc1\xec\x1f\x88\x60\xf6\x14\x91\x31\xb3\x54\xc6\x61\x06\x76\x3e\x09\xec\x6e\x34\x75\xc8\xb1\xf2\x0d\x48\xeb\xd3\xbe\x05\x42\xa8\x8e\x47\x95\xab\x3c\xbb\xc5\x56\x53\x2b\x86\x2c\xb3\xc8\x2c\xe4\x3a\x2d\xdf\x2a\xa0\x9a\x18\xad\xc1\xb2\x15\x0f\xd4\x03\xdb\xb1\xeb\xaa\xee\xba\xed\x52\xdd\x3e\x49\x09\x55\xec\xd2\x27\x98\x34\xd8\xec\xcf\xd2\x18\x1a\x4f\x21\x4e\x1c\xec\xa2\x1d\x7f\x4d\x31\x32\x09\x46\x49\xca\x08\xa1\x39\x2d\xf8\x1c\x78\x47\xa4\xd1\x59\x02\xed\x12\x94\x05\xb9\xaf\x76\x37\x3d\xf6\x7a\x5a\x26\x82\xa3\x39\xf3\xb5\x39\xa9\xe1\xdf\xfd\x18\x92\x59\x63\x1e\x7e\x77\xf2\xb4\xdd\x14\x79\xae\xee\xf6\x2d\xe4\xe1\xd5\xd3\x3c\x99\x70\x8f\x08\xcf\x9d\xe3\x21\xcd\x49\xeb\xae\xb5\xe6\xe7\xe1\xf7\x4b\x86\x66\x20\x9c\x7d\x8f\x11\x3c\x51\xad\xb6\x91\x3d\x27\x63\xee\x12\xe9\x63\x08\x1d\x77\xbd\x16\xa3\x27\xb8\x46\x16\xd0\xa6\x0c\x41\x72\x64\x35\xe1\x68\x77\xa5\xcf\xe5\x34\x4f\xa4\x22\x9d\xb8\xdc\xce\xed\x69\x25\x98\xfc\x14\x25\x84\x8f\xb2\x31\x8e\xc3\x2c\xbb\x8c\x32\xd2\x20\xe9\xc3\x43\x0c\x0e\x17\xc9\xbb\xbc\xc4\x6e\x46\x8b\xec\x52\xfd\x06\xd3\x2e\xd9\xc8\xce\x9f\x03\x3a\x60\xe8\xd7\xd7\x76\x1f\x62\x1b\xd9\xf4\x9b\xd5\xa0\xe3\xa9\x0b\xd8\xbc\x6b\xca\x9d\xb4\x36\x27\x13\xb5\xca\x42\x5c\xe8\xb9\x2e\x38\x36\xd1\x46\xa3\xac\xee\x2f\x77\x4b\x73\x75\x53\xd5\x90\x33\xea\x1b\xbb\x7e\xcf\x46\x0b\x81\xdc\xef\x88\x21\xc4\x66\xed\xd2\x5b\xef\xb8\xc8\xdc\x2b\xdc\xe8\xd6\xcf\x80\xa8\x42\x7a\xaf\x7f\x15\x4e\xbb\x69\x62\xbb\x6b\xb4\xef\x79\x45\xf2\x6e\xc1\xb1\x44\xe4\x72\x8b\xdc\xd3\xb6\xb1\xc5\x8d\x9b\x15\xb5\x9a\xc3\x1a\x56\x3d\xdb\x94\x71\x73\x15\x6c\x09\x66\x83\x79\x1f\x09\x27\xbe\x31\x74\xa9\x03\x6a\x1d\x41\x36\x5b\x48\xec\x7c\xf5\x22\xee\x0b\xe4\xde\xff\x5a\x8d\xff\x70\x1e\x1a\xa7\x5e\xe3\xec\xf6\xb4\x6e\x0f\x2f\x6c\x17\x41\x45\x97\xc3\xc9\xc4\x11\xd5\xd1\x0c\xd9\x2c\x7d\xe2\xe4\xa3\x43\x5a\xcd\xad\x6c\xdb\xe5\xd9\x01\x57\xa9\x0f\x40\xab\x9e\x47\x44\xd6\x84\x5e\x28\x01\xa3\x24\x8c\xbb\xb0\x76\xd7\x05\x1e\xbd\x8f\x97\x15\x56\x42\x61\xa9\xa4\x99\x1c\x45\x8f\xf7\x46\x91\x12\x39\x68\xe6\x22\x35\xa4\xa4\x83\xc6\x33\x82\xc6\x33\xeb\xdc\x36\x02\x5d\x6f\x20\x90\xe4\x89\x9c\x46\x5b\x78\xac\x4c\x1a\xa6\x59\x49\xea\x70\x3c\xb7\x12\x27\x4a\x22\xf2\x53\x9c\xde\x9b\xfc\xca\x54\x65\x36\xb3\x90\xdc\x8c\x67\x74\xa1\xfa\xa1\xd8\xa4\xd0\x18\xc7\x48\xa1\xa4\x13\x09\xa9\x31\xfb\x91\x3d\x4e\x17\xcf\x1a\xd9\x30\x25\x9b\xb6\xa7\xb4\x5a\x2d\x1a\x34\x8b\xdc\x0c\xc1\x88\x30\x22\x9a\x0e\x76\x57\xd8\xaf\xb8\x2a\x22\x63\xd1\x58\x84\x19\x01\x59\x03\x0b\x48\xe8\x09\x34\xf2\xe1\x63\x79\x58\xc8\x43\x11\xc3\x1c\x42\x34\x17\xf2\x79\x84\x61\x9a\x7e\x3f\x29\xe6\x66\xb8\x4f\xd2\xa7\xc4\xe4\x85\x66\x10\x90\xc6\xfd\x92\x90\x34\xa9\xd5\x16\x0d\xe6\xfb\x39\x8d\xa3\xf1\x37\xb5\xcb\x83\x34\x66\xaa\xec\x61\xb7\x4c\xba\x84\x96\x98\x43\xb2\x34\x1b\xfb\x6d\xf5\x1b\xdd\xbb\x8c\x92\xe5\xf7\x5a\xad\xd8\x64\xb8\xfc\x3e\xa6\xb5\x9a\xed\xf9\x81\xd9\x3b\xca\xac\x77\xf0\x9d\xd0\x25\xfa\x33\x5d\xf6\xd8\x1e\x9f\x98\xd2\xaf\x23\x22\x27\x1c\x65\xac\xd2\x84\x53\xa8\x7c\x83\xe7\x32\x99\xfb\x8d\x70\x4c\xa2\x47\x10\xdb\xe7\x5c\xd9\xa4\x33\xed\x1b\x3c\x0f\xd2\x27\x9a\x67\x8d\x76\x3c\x3a\xc8\x66\x55\xdc\xb9\xff\xe6\xba\x3e\xd1\xec\x1b\x2b\x5b\x2e\xcc\x9a\xa8\xee\xbf\x5a\x09\x05\xdd\x01\xad\x54\xce\x7f\x95\xdd\xa9\xc6\xdb\x28\x54\x81\xb8\x81\xa1\xd0\x9f\xa8\x66\x1a\xd8\x76\x55\x25\xe3\x74\xbe\x48\x33\xee\xaa\xa4\x82\xd6\x66\xb1\x0d\x2a\xed\x03\xc4\x0b\xc0\x8d\x62\x2e\x36\x42\x4e\x45\x4e\x77\x4b\xfd\xcb\xc5\x24\xa4\x73\xe9\x95\x06\x78\xb6\xdf\xd4\x02\x24\x93\x57\xab\x87\x64\xb2\xad\x6e\x60\x51\x0e\x42\x74\x57\x57\xc6\x11\x3c\xcd\xd3\x65\xb8\xc6\xaf\xa8\xd7\x1c\x31\x16\xda\x20\x76\x4e\x79\x30\x81\x43\x1a\x19\xdf\xed\x6e\x40\x32\xa9\x90\xd1\x19\x60\x72\x93\x3e\x55\x88\x3c\x3b\x65\xc6\x69\xee\x54\xe3\xf1\x49\xfd\xc6\x18\x43\x48\x24\x43\x3b\xf6\x24\x7a\xb4\x65\xd4\x0a\xe6\x06\x7b\x18\x25\x80\xe9\x0a\x02\xc9\xe4\x74\x16\xc5\x13\x47\x69\x5e\x62\x3f\x9e\x1b\xb3\xe0\x22\x30\x11\x4a\x17\x50\x34\xce\xf2\xad\x55\x14\xf1\x3f\x19\xb5\xd1\x85\x02\x28\x63\x60\x56\x2b\xed\x27\xda\xd1\x7e\x94\xec\x38\xfb\x4e\xac\x5a\x16\x86\xbf\x2e\x23\x0c\x99\x15\x5a\x3c\xaf\x25\x57\x4d\x9b\x7b\x04\xe4\xa6\x23\xe5\x92\x40\xab\xb3\x91\x3e\x25\x80\x07\xc2\xaf\x28\x6d\xc6\x3f\x46\xf0\x24\x76\xff\x05\x64\x73\x19\x9e\xef\x3e\x9d\x3c\x07\x46\x89\xd7\xc2\x76\x0c\x8d\xbf\x50\xb4\x6a\x60\x36\x59\x08\x4c\x5b\x92\xcb\xf7\x2b\xd9\xb8\x9b\xe8\x0d\x79\x76\x99\xe3\x69\x57\x18\xa4\xec\x87\x8b\x7e\xad\x19\x60\x36\x93\x01\xe9\x13\xb1\x3f\xe3\x50\x0b\x25\x4a\x26\xf0\xdd\x56\xd6\xa2\xb4\xe9\xa4\x7c\xad\x66\xcf\xca\xbc\xd5\x5d\x90\x99\x8a\xfd\xd5\xb9\xb9\xaa\xb6\x42\x1b\xb9\x79\xf9\x26\x94\xf2\xec\xd5\x58\x71\xff\xc0\x2e\x95\x54\x9b\x7a\xb3\x11\xc1\xbc\x6e\xb7\x10\xad\xa1\xe6\xea\x56\x1c\xcb\xd9\x37\xe0\x28\xf3\xbd\x4a\xba\x72\x8d\x15\xf2\x63\x2b\x4e\x86\xa0\xa9\xc4\x86\x2a\x21\xaf\x22\xa2\x57\x53\x90\x50\x2a\xcc\x44\x85\xa6\x34\x42\x42\xc2\xf1\xec\x2e\x1d\xa4\x73\xa7\x6f\xe6\x16\x85\x67\x4c\x4c\xbf\xad\x0b\x85\xbc\xd5\xbd\xe0\x99\x5e\xef\x48\xa1\x32\x19\x16\x22\x16\xb7\x32\x1e\x12\x62\x17\x72\x6e\xc3\x62\x77\x63\x21\x73\x92\x86\x4b\x92\x8e\x53\x8c\xe9\xe2\x81\xec\x74\x3a\x7d\x4b\xfe\x70\x11\x91\x30\x8e\xfe\x06\x6f\x2a\x92\x2d\x20\x8e\xc7\x33\xa0\x3a\xa4\x3d\x0d\xe3\x0c\x4a\x05\x48\x78\x7f\x41\x45\x85\x8c\x9f\x52\x80\x52\xe0\x4a\xc9\x06\x75\x5f\xa2\x4d\x46\x60\xb4\x66\x3a\xee\x2b\x15\x16\xac\xb8\xbc\xbe\xa2\xd9\xa4\x55\x57\x64\x87\xd2\x10\xcb\xf6\x54\xcc\xa6\x52\x0e\xe8\xba\xb3\x95\xd5\x0a\x79\x8b\x83\xac\x81\x99\xf8\xab\x28\xc6\xf5\x0f\x16\x4d\x33\x6e\x9c\x16\xd3\x0b\x66\x50\x55\x9b\x7a\x3c\xd9\xab\x5d\x2d\x94\x75\xf3\x40\xc4\xdb\xe8\x6f\xc0\x1c\x69\x1b\xe5\x3d\xf3\x72\x6d\x9a\x63\xe5\x96\x2a\xea\x74\x7b\x59\xee\xad\xed\x65\xf5\x3a\x0f\xe4\x52\xba\x92\xe3\x16\xb4\x8f\x72\xb5\x60\xac\x09\xb4\x91\x8f\x10\x66\x4b\xcc\xe3\x91\x9e\x1a\xa7\x79\x8a\x94\x24\xd5\x33\x58\x2b\xca\x14\x3f\x16\x8c\x19\xfd\x0d\xc6\xb3\x30\x79\x80\x49\x81\xc9\x84\x46\xa9\xf7\x29\x73\x14\x87\xe9\x75\xcd\x45\xe3\x85\xb5\x84\xa1\x37\x69\xfc\x51\xfc\x74\xb8\x9d\x5e\xb1\xda\x6c\x5a\xbd\x4a\x2d\x15\x43\x08\x69\x03\xf7\x8d\x1b\xf1\x53\x0f\x4b\x2c\xc5\x10\xd2\xac\xa7\x8d\xdb\x42\xb2\x86\x13\x73\xf3\x96\xd7\x83\x4d\x38\x94\x02\xea\xaa\x35\x69\xaa\x00\x2b\x7c\x55\xc8\xa8\x2c\xeb\x80\x50\xa8\x41\x28\xd4\x5b\xea\x4e\xe0\x29\x5f\x13\x0b\x0d\x28\xe9\xc1\x8d\x2a\x40\xb8\xb4\xb9\xa2\x27\xf1\x7a\xf2\xb1\xa4\xd5\x73\x9d\xc0\x60\x01\xb9\x2d\x50\xc6\x47\x3a\x91\x54\x0d\x25\xf5\xa1\x24\xc5\xfe\x75\xf5\x57\xfb\xe7\x65\xb0\xaa\x74\x0d\x39\x2e\xe2\x5b\x3a\xcc\x19\xcd\x74\xfd\x24\xb0\x7f\x49\x97\xd6\x24\x9a\xb0\x7d\x8c\x45\xc8\x36\x42\xc0\xfa\x33\x23\xcb\x9f\x2d\x79\xe6\xc1\x8a\x12\xeb\xcf\x52\x95\x2f\x98\x10\x8e\xfb\xe7\xc6\x97\xc4\xee\x25\xf5\xc0\xbe\xab\x2a\x9b\xa4\x4f\x96\xdc\xe9\xb1\x48\x6a\xfd\x99\xe0\x25\xfc\xd9\xba\x5f\x12\x8b\x0d\xaf\x8c\x2f\xe2\x91\x63\x8d\xbf\x64\x56\xab\xe1\x59\x36\xa2\x15\x46\xc4\x7a\x8a\xe2\x58\x96\x67\xc5\xd9\x1a\xf4\xe7\xe2\x66\x0b\x55\x0b\x82\x1d\x6f\x4d\xc4\x9e\x85\x1c\xd8\x92\x0f\xa6\xe0\x0d\x91\x6e\x32\x16\xc4\x9f\xb3\x1e\xad\x0d\x1a\x51\x76\x9a\xc6\x71\xb8\xc8\x60\xd2\xa3\x86\x41\x1a\x43\x98\xe4\xa7\x48\xc8\xc9\x0e\xe9\xda\x37\x54\x3c\xd8\x41\x00\x2c\xcc\xd0\x5d\xad\x22\xb5\x65\x27\xc6\x80\x2a\xd2\xcc\xa3\x22\x65\x00\x5f\xa1\x28\xf5\x6c\x66\x25\xc6\x69\x38\xe9\x4f\x26\xa5\xcd\x32\xc9\x03\x4e\xf3\xc8\x75\xec\xc6\x9e\x5d\x87\xba\x4d\xbf\x0b\xb6\x65\x95\x30\x2a\x79\xae\xab\xe4\x2f\xe3\x7a\x3a\x9b\xa9\x7c\xb7\x1b\x5c\x05\x79\x8a\x26\xb0\x4b\x73\xbf\x3c\xb1\xfd\x5f\xbb\xde\xfc\xb1\x24\xd5\x18\xa8\x6e\x2f\xbe\xf7\xd6\xa2\x18\x8f\x34\x37\x0b\xbe\xa1\x18\xdb\x65\x7b\x67\x4d\xa2\xc7\x97\x19\x44\x0f\x33\x52\x55\x8c\x43\x78\x39\xbb\xe0\x18\x96\xc4\xdd\x14\x55\x21\xb6\x18\x10\x0b\xde\x24\x01\x15\x0a\x08\x07\x8f\x74\xbc\x6f\xc2\xa7\xf7\xcf\x04\x4e\xd3\x14\x4f\x32\x07\x50\x6c\x0a\xb7\x58\xc7\x81\xfe\x4a\xe3\x8c\xe7\xc9\x5c\x57\x6c\x63\x45\x6c\x4f\x1b\x41\x23\x7d\x04\x8c\xa3\x09\xdc\x3d\x2f\x60\xb5\x12\xcc\xc0\xb7\xb1\x72\x17\x63\x77\x16\x10\x7d\x1b\x88\x41\x96\x0b\x9a\xde\x6a\xae\x0b\xf1\x1d\x72\x1f\x7b\xd6\x73\xc8\xbf\x1e\xdf\x5a\x2d\x72\x70\x3d\x68\x35\x11\xd1\x02\x49\xb0\xda\x95\x8d\x55\xe4\x3f\xfb\xd9\xf4\xda\x07\x4c\x50\xa8\x3d\x7c\xe6\x46\xf0\xdc\x1e\x39\xf6\x9b\x07\x27\x20\xf7\xc8\xbb\x0e\x79\x47\x33\xd7\x6a\x0e\x09\xe8\x03\x25\x06\x83\xf9\x47\xcd\x15\x79\xf7\x6e\x3f\x4f\x68\x1e\xae\xf6\x5b\x35\xe2\xba\x6b\x88\x33\x60\xcd\x74\x3a\x1b\x5a\x79\xe7\x37\x79\x9d\x7e\x33\xaf\x92\xb8\x1a\x91\x22\x0d\xf7\xfc\xd8\x83\xfb\x02\xb5\xa0\x85\x48\xe3\xfb\x2e\xeb\x6c\xe3\x99\xfe\xed\xf1\x80\x03\xcd\x75\xdf\x6c\xdb\x94\x21\xd8\x01\x26\x37\xaa\x07\xb6\x6f\xf7\x28\x56\x56\x34\x75\x7c\x95\xd8\xca\x13\x9b\x2a\xb1\xc3\x13\x69\xcb\x2d\x96\xc8\xb1\xef\x51\x98\x67\xcb\x08\x5b\xfa\xeb\x5f\x86\x76\x9d\x34\xbe\xd7\x6d\x44\xff\x3e\xd7\xed\xd1\x17\x6c\x73\x31\x1c\xf3\xcd\x84\x48\x8b\xc8\xcd\x4f\x7a\x9c\x38\x55\x9d\x60\x51\xbf\x70\x02\x41\xb3\xeb\x8b\xa7\x76\xb7\x29\x9e\xf6\xbb\x0c\x17\xe6\x38\x6a\xb9\x46\x1b\x5a\xaf\x99\x04\xe9\xd9\x75\x8e\xf8\x49\xbb\xeb\xb9\xec\x37\x43\xae\x27\x90\xa5\x70\xd2\x58\x84\x0f\xb0\x5a\x51\x78\xed\xc9\x76\xdd\x6e\xac\x1d\xff\x38\x71\x8a\xa8\xd1\x82\x75\xfa\xab\x5e\x7f\xad\x6d\xd9\x06\x6b\xf3\x23\xaf\x5a\x9e\x33\x29\x57\xbc\xa1\xb2\x63\xbb\xee\xd0\x4e\x38\xad\x1a\xb8\x27\xbb\xed\x1a\x74\xc1\xdd\x6d\x35\xdd\x52\x13\x79\x2e\x7b\x6e\x77\x59\x83\x6e\xd7\xc1\x4e\x44\xcd\x4e\x2a\x0b\x9c\x88\x62\x2f\x1f\x9e\x37\xd2\xee\xa3\x5d\xe7\x51\x56\x8d\x29\x4e\xe7\x54\xda\x9e\xa6\x13\x10\xbb\x37\x1c\x82\x22\xd7\x35\x83\xeb\xd5\x34\x46\x11\x4a\x51\xa6\x62\x17\xde\x28\x2f\xf8\x59\xa1\x9d\x00\x84\xb7\xfe\xa4\x2e\x9f\xba\x12\xf0\x34\x8b\xc6\xb3\x13\xf1\x77\xd7\x67\xe9\x28\x36\x82\xe7\x2f\xce\xf8\x4c\xa2\x53\xed\xc4\xeb\xb6\xd9\x5f\xbf\x6b\x6e\x49\x2b\x59\x44\x82\x96\x9e\x3e\xb8\xfe\xc8\x86\x86\x6b\x9e\x14\x0c\x8d\x09\x90\x30\x8a\x8f\xbd\x93\xfd\x76\x77\xbf\xa3\xe7\x7e\x9a\x01\x88\x4c\xec\x71\x00\x31\x09\x7f\x79\x27\x72\x4a\x5e\xc7\x01\x34\xb2\x59\x34\x25\x7f\x80\x67\xca\x84\x28\x0a\x40\x46\xf0\x9f\x1c\x76\x3d\x94\x06\x20\xa3\xfb\x4f\xfc\xfd\xae\x87\xb2\x00\xaf\xa2\x55\x8a\x62\xed\xc4\xd3\x49\x56\x0b\xd2\x6e\xac\x9f\x71\x5a\xad\x9c\x2c\xf0\xe8\xea\xdd\x6a\xd6\x9d\xec\xf8\xb8\xe9\xd6\x09\x8b\x7f\x0b\x03\x43\x11\x88\xb9\x7f\x93\xca\xdd\x5e\xea\x84\xd5\xfb\x40\x58\x48\x17\x6d\x7f\x4b\x49\x2a\x07\xbb\x28\x56\x6a\x86\x81\x96\x83\x8d\xd1\x0d\x14\x69\x91\x28\xc5\x03\xb2\x1c\x4c\x19\xd1\x40\xbf\x56\x4b\x9d\x58\x79\x19\x05\x52\xf3\xf4\x11\x6c\x44\x68\x41\x79\xf6\x6b\xb5\xaa\xc8\xa7\xef\x62\x58\xd8\x89\xf2\xa3\xc2\x4e\x44\x0b\x1b\xed\x64\x5b\xda\xa9\x80\xd1\xba\x75\xd4\x23\xaa\xdc\xe8\x1d\x59\x53\x55\x2b\x44\x62\xfc\x0d\x67\x79\x91\x84\xb5\xda\x8e\xa3\x77\x45\x97\xde\xf4\x57\x2e\x06\xdd\x9c\xda\x44\x6b\x8e\x6c\x6c\x8d\xaf\x5d\x3b\x95\x23\x16\xe7\x41\x29\x69\xf2\x33\x2d\x48\x35\x01\x55\x29\xa8\x4a\x49\xba\x1c\xcf\xc4\xce\xca\xaf\xaf\xf9\x8e\x96\xe6\xa1\x38\x5b\xaa\xe7\xb4\xfe\x8d\xb5\x7f\x4c\x1f\xa1\x54\xb9\xa9\x15\x4d\x20\x23\x38\x7d\x2e\x29\x81\xf9\x69\x3a\xbf\x78\x9a\x4e\x24\x7c\x05\xd6\x7a\xf0\xb2\x16\xc6\xb2\x38\xe8\xa6\xd5\xb4\xd6\x8e\x78\x55\xa4\x8b\x29\x26\x14\x71\xe9\x47\xe3\xf6\xfb\x55\x3a\x81\x8d\x00\xb1\x6d\x5e\x61\xdc\x17\xc3\x61\x98\xbd\x53\x50\x96\x0d\xe3\x57\x45\x2e\x09\xdb\x92\x6d\xd7\xdc\xc8\xdd\x7d\x54\xac\xb1\xbc\x9b\x53\x0e\x5b\x33\x3d\x94\x6e\x7e\x14\x0d\x7a\xf8\x38\x20\x2c\xda\xb5\xe0\xc5\xe4\x4f\xcf\x37\xe9\x93\x83\x8b\x31\x37\x2a\x66\xa2\xac\xa8\xe7\xa7\x6d\x57\x2b\xa7\x98\x14\xf8\xa6\xd1\xc7\x7e\x3c\x8b\x78\x2e\xb7\xd8\x0a\x93\xd9\xa5\x97\x0f\x10\x3d\x74\x8c\xc7\x97\x05\x81\x1e\x73\xa6\xe2\xb9\xe8\xba\x31\xab\x88\x32\xf3\xf5\x28\xb3\xdd\x5d\xa4\xe2\x04\x59\xf8\x98\xa0\x3e\x0f\x25\xdb\xd5\xb3\x52\x1d\x61\x56\x3c\x29\x27\x7b\xc9\xc3\xd1\xf2\xcc\xae\x88\x5b\x10\x45\x35\xe3\x16\x39\x64\x57\x3f\x31\xbc\xcb\x3d\x03\xda\x79\x62\xd7\xec\x90\x38\x9a\xae\xa5\x54\x1d\x13\xe4\xf6\x31\x02\xd7\xed\x6a\x39\xb3\x05\x0b\x4a\x26\x48\xd8\xd7\x55\xf9\x73\x02\xa8\x53\xce\xb5\x9a\x93\x53\x85\x76\x40\xd2\x52\xd2\xec\x57\x10\xc2\x45\x15\xf8\x14\x28\xa3\x1a\x46\xbe\xcc\xcf\xed\x42\x66\xa0\x3a\x66\x9e\xed\x19\x04\x09\x75\x63\x55\x7a\x28\x72\xfc\x2a\x59\x6d\x40\x11\x2f\x4d\x1d\x38\xf6\xd8\x5f\x2f\xd0\xb9\x44\xaa\xcd\x65\x3a\x50\x43\x9e\xa9\xdd\xa2\x6b\x2c\xfb\xbb\x0a\x52\x16\x0f\x5c\x8a\x63\x9e\x2c\x7f\x5d\x9e\xdd\xe7\xa5\xf3\xc2\x27\x95\x34\xee\xe6\xa9\xc7\x9e\x1a\x2a\x7e\x2e\xde\x45\x44\x6c\x7a\x6e\x24\xc6\x36\x4f\x4c\x15\xa1\x3e\x85\x0f\x60\x06\x4b\x68\xf4\xa7\x54\x74\xe0\x47\x47\xaf\xa4\xb2\x96\xbb\xf4\x2e\x5d\x94\x03\x01\xf3\x4a\x76\x5f\x19\xaf\xbb\x54\x1c\xbf\xdf\x52\x87\xc6\xb4\x1b\x6b\x2b\xac\x05\x5a\xd8\xa0\x76\x9c\x58\xed\x44\x73\xbf\x9a\xd8\x90\x34\xa3\xcf\x6b\x35\xbe\xa1\x5c\x3a\x59\x2c\x64\x8a\x5e\x9d\x08\x9a\x0d\x3a\x72\xb8\x72\x8d\x7d\x70\xda\x72\x37\x1e\x51\xf6\x5c\xb1\x6b\x5d\x38\xd6\xbc\xb9\x09\x4f\x50\xa5\x74\x0e\xda\xeb\x69\xf1\x8b\x19\x90\xbb\x68\x0e\xe9\x92\x98\x51\x8a\x51\x92\x00\xfe\x99\x16\x75\xe8\x42\x5d\x8c\x0b\x90\xc0\xca\xa3\x0e\x41\x09\x25\x31\xfd\x3d\xd4\xf2\x3c\xb7\x07\x0a\xc5\x9e\x8c\xa5\x14\xaa\xb5\xe3\xf6\x88\x8c\xad\xdf\x44\x52\xfe\xfa\x0e\xf9\x4e\x0d\x35\x3d\xcb\x14\xa8\xa2\xb0\xbf\x99\xc2\xbe\x39\x1f\xd8\x9a\x11\xe8\x2b\x55\xfe\x32\x00\x91\xdc\xd3\x8e\x75\xf3\x53\xf3\xfc\x8f\x43\xc4\x9c\x16\x89\x19\x10\xb6\x0c\x3a\x78\x93\x08\x7b\x76\x2b\x16\xc8\x6d\xaf\x23\x70\xd7\x55\xbc\x9a\x8f\x3c\x77\x1d\x6c\x19\xe1\xc8\x1c\x61\xe4\x71\xff\x86\x55\xcd\x32\x7e\xc5\xcc\x89\x93\xb2\x28\x60\x00\x07\xea\xf6\x17\xfc\x45\xf8\x09\xf3\x52\x7c\x7f\xf4\x54\xbe\x22\x83\xda\x2d\x1f\x8a\x8a\x1a\x35\x27\x75\x17\xa9\xbd\xb9\x90\xc3\x62\xd9\x07\x67\x9f\x6e\xce\x4e\xfb\x77\x67\x03\x76\xbc\x91\x79\x5e\xef\xc1\xe2\x5a\xd9\xc4\xca\xd2\x34\x69\x58\x9f\x62\x08\x33\xb0\x96\x19\x58\x85\xfa\xf4\xf7\x74\xd0\x0a\x93\x8c\x40\x38\x69\xc8\x0d\xa2\x6d\xb9\x8b\x0e\xcd\x2d\x79\xcb\x84\xaa\x7e\x51\x08\x94\x62\x9c\x3f\x3c\x2f\x00\x13\xf8\x4e\xa8\xa2\x57\x55\x1b\x55\xc1\x0b\x5a\x5e\x29\xa0\xe5\x34\x4c\x58\xc8\x3f\x43\xd0\x0a\xad\x99\xac\xd4\xa2\x85\x2c\xa1\x2d\x5b\xf7\x30\x4d\x31\x58\xca\x67\x9e\x2e\x80\x1d\x05\x1e\x87\x71\x0c\x13\xdb\xed\x15\x34\xc5\x0d\xe8\x39\xf0\x6b\x16\x16\xad\x8e\x3f\x86\x71\x34\xe1\xef\x38\x09\xf9\x61\x87\xbf\x63\x4f\x1f\x55\xe5\xac\x3f\xec\x28\xc5\xbf\xa6\xc3\x65\x64\x7f\x55\xbf\x31\x3c\x44\x19\x01\x4c\xe9\xf6\x91\x4a\x20\x63\x58\xd5\xb1\xa4\x42\x7f\xb5\x69\xad\xa1\x55\x51\x97\xa8\xa2\xa7\x47\x1c\x6f\xd8\x71\x89\xd6\x45\x2b\x6c\x3b\x6e\x82\x81\x55\xf3\x62\x01\xca\xd1\xa9\xac\xc0\x01\x77\xfb\xc1\x0c\x03\x87\x59\x98\xa9\x6d\x8d\x4d\x01\xd4\xa5\x2d\x26\xbd\x50\xe9\xe0\xd1\xaf\xaf\x4e\x25\xdc\xc1\x77\x52\x11\x7b\x5f\x59\x63\x75\x55\x66\xfe\xe2\xb1\x28\x9e\xbd\x1f\x97\xe3\xf6\x37\xe0\xd4\x8f\xe3\x62\x1d\x22\x82\xb3\x52\x99\xa9\x14\x35\xb5\xda\x8e\x2f\x57\xce\xca\x0c\x0e\x48\x47\xc6\x8e\xaf\xf6\xb3\x2b\xa3\xe4\x1d\xa9\x99\x94\x43\x18\x45\xbc\x29\x0f\x58\xac\xce\xe3\xe6\x0d\x59\xb9\xd2\x56\x65\x99\x99\xca\x1f\x6d\xd5\xd7\x14\x99\x06\x3c\x86\xf1\x32\x24\x40\xfb\x91\x8d\xc3\x05\xdc\xc2\x5f\x97\xc0\xde\x32\x91\xcf\x03\x8a\x51\x10\x04\x52\xdd\x3a\xc9\x17\x2d\xf5\xda\x17\xaf\x5b\xc8\xe5\x4b\x3d\xa2\xf0\x7a\x18\x17\x11\x4d\xe3\x3c\x71\x4a\x2a\xa8\xf6\x43\x6e\xb1\x0b\xd7\x07\xda\xf1\x5c\xb7\xbb\xb3\x13\xf2\xdd\x6a\xf6\x3e\x15\xf9\x6e\x38\xd1\x5b\x3d\x2b\xe2\x2f\x00\x91\x96\x16\xd7\xe7\x55\x2c\x2f\x18\x36\xcf\x37\x78\xb6\x11\xcb\xae\x00\xc6\x51\x07\x96\x32\x93\xf1\xda\x34\x5f\x15\x6e\x05\xf6\xda\x48\xdb\xb2\x95\x1e\xbc\xf0\x8a\xba\x3b\x3e\xfa\x06\xcf\x5d\x61\x6e\xe6\xa4\x10\x29\x6b\xa4\xfb\x53\x8f\x8f\xbd\x15\x88\x97\xa4\x1c\x1f\xfb\x2b\xe5\x48\x3d\x3e\x6e\xae\x94\x97\xf5\xf8\xb8\x95\xfb\xa2\xc5\x2b\x3c\xb8\xfb\xd9\x3a\xec\xb2\x43\x9c\xb2\x3e\xaa\xc1\xd2\x41\x64\x43\xf8\xfe\x56\xbc\x55\x44\x4b\x1b\x9c\x5d\x6a\x1e\x60\xeb\x68\x4b\x71\xee\x48\xff\x3f\xed\x72\x25\x1f\xee\xf2\x37\xfa\xed\x78\x7a\x7d\x7e\xab\xab\xe5\x3b\xbd\xd9\x94\xaf\x79\xd0\x35\x5b\xda\x94\xb1\x75\xd0\xc5\x27\x4e\x09\x2b\xbf\x67\xd7\x1d\x5c\xf7\xdd\xba\x3d\x10\xc3\x1e\x98\xf0\xd6\xc0\xa6\xfc\xcb\x20\xdc\x13\xa0\xbf\xd3\xe6\x24\xcf\x7b\x6f\x77\x8d\x82\x9d\x81\x2d\x5d\x0a\xa5\xb7\x8f\x9d\x14\x11\xb9\x1e\xd8\xdd\x12\x72\x03\xdb\xe8\xc1\xd1\x6b\x3d\x38\xdd\xd0\x83\xd3\x37\xf6\x60\x5a\xec\xc1\xe9\xaf\xe9\xc1\x69\x45\x0f\x4e\xcd\x1e\x1c\xbe\xd6\x83\xfe\x86\x1e\xf4\xf3\x1e\x98\x18\xf6\x7f\x0d\x86\xfd\x0a\x0c\xfb\x06\x86\x6d\xef\x35\x0c\xdf\x6f\xc0\xf0\xfd\x26\x0c\xdf\xff\x1a\x0c\xdf\x57\x60\xf8\xde\xc4\xb0\xd3\xcd\xa7\xd9\x2a\x9f\xe7\x4c\x00\x16\x4a\x36\xff\xc5\x76\x8d\xb2\xfb\xa2\x76\xac\x0d\xfa\xb0\x95\x77\xee\x5f\x0c\x06\x68\xfd\x8b\x39\x7a\xfb\xdd\x32\xc6\x3a\x69\x3e\xd8\x6f\xee\xe7\x87\x8a\x7e\x7e\x30\x5b\xeb\xbc\xd2\xda\xf9\xdb\x5b\x3b\xaf\x68\xed\xdc\x6c\xad\xa5\x51\xf5\x44\x5f\x78\x82\x5d\xc3\x21\x53\xae\xa8\x53\xa0\x52\x7b\x63\x4d\x5a\x3d\xe5\x6a\xf6\xcd\x6a\x7c\xbf\x59\x35\x56\x5a\xff\x3f\xe9\x63\x75\xfd\xa9\x50\xba\xf5\x4a\xe9\x7f\x32\x4a\xff\x53\xa1\x74\xfb\x95\xd2\x37\x46\xe9\x9b\x42\xe9\xce\x2b\xa5\x6f\x8d\xd2\xb7\x85\xd2\x95\x3c\xea\x77\x36\x31\xa9\xdf\x29\x12\xee\xa0\xb2\x82\x83\x8d\x15\x1c\x14\x2b\x38\xac\xac\xe0\x70\x63\x05\x87\xc5\x0a\x8e\x2a\x2b\x38\xda\x58\xc1\x51\xa1\x82\xa6\x57\x55\x41\xd3\xdb\x54\x41\xd3\x2b\x56\xe0\x57\x56\xe0\x6f\xac\xc0\x2f\x56\x50\xc9\x7d\xcd\x8d\xa2\xa2\xd9\x2a\x56\x50\xc9\x80\xcd\xf6\xc6\x0a\xda\xaa\x02\x11\xf6\xd5\xdd\xd1\x64\x9b\x29\xf2\xb8\x9a\xb3\xca\xf5\x9a\x93\xf2\xb2\xb6\x5a\xed\xe8\x19\xb5\x9a\x36\x97\xa9\xd5\x54\x19\xf6\xa8\xde\x34\xa7\x0a\xd5\x6a\xfb\x1d\xfd\xfd\x67\xc6\xab\x04\x99\x59\xd1\x55\xb0\x77\xc1\x7e\x47\x1c\x44\xa3\x3f\x8f\x83\x23\xaf\x28\x9a\x2a\x22\x0b\x72\xc5\xac\xde\x6a\xba\x5d\xff\xa8\xa9\xb7\x57\x92\x6d\x7f\xb6\xf5\x06\xdb\x87\x46\x83\x9d\x83\xf2\x9a\x94\xd7\xbf\xdb\x3e\x74\xdf\x84\xee\x56\x2c\x77\xf7\xdb\x6e\xb7\x55\x85\x64\x55\x31\xcf\x68\xb0\xe3\x9b\xe8\x76\xde\xd4\x60\xc7\xaf\x37\x0f\xdc\x6e\x67\xff\x8d\x6d\xfa\x34\x77\xd3\x3f\x7a\x63\x76\x96\xbb\xe9\xbd\x35\xf7\x21\xcd\xed\x9b\x3c\xe1\x6c\xc9\x7f\xe4\xaa\xd8\x1f\x52\xf2\xe4\x3c\x5c\xb2\x17\xc3\x96\x7c\x05\xe2\x85\xb1\x90\x47\xde\x66\x20\xac\x36\xf9\xf6\xd8\xaa\x77\x71\x3c\x9c\x8a\x9c\x15\x7b\xa6\x5a\x39\xf9\x36\x06\xd1\x0a\x8f\x27\x32\x5b\x2a\x5b\xcb\xec\xe4\x62\xc5\x1e\xe3\x3f\xc0\x68\x56\xfb\xdd\x08\x18\x46\xcc\x6a\x21\x41\xfe\x43\x45\x6b\x89\x77\x6d\xf3\xa8\x18\x96\x45\x8c\x89\x0a\xdd\xe2\xe3\xca\xe0\xab\x95\x78\x8f\xb5\xac\x52\x35\x4c\x64\x16\x31\x52\x3b\xce\x0e\x59\xad\x9c\xed\xf2\xc4\xad\xd5\x72\x73\xd4\x65\xa1\x37\x55\x0c\x40\x8a\xc6\xa6\x38\x1a\x4a\x2a\xcd\xd0\xb7\x98\xa0\x2e\x35\x38\x8b\x63\x9f\x4c\x2a\x2c\x4b\xa2\xde\xb7\xc0\xb6\xbe\x57\xab\x4d\x7b\x17\xb9\x79\xcb\x32\x52\x43\x5d\xbe\xd5\x79\x8d\xa4\x9b\x9f\xa5\xd4\x8b\x2e\xd7\x7b\x30\xfd\x30\x72\x10\xf3\xf7\x19\xe9\x67\xd4\x39\x36\xea\x2c\x1a\x79\x8e\xa1\x71\x9f\xe2\x09\x60\xf6\xba\xaa\xc0\x7e\x9a\x45\x04\x6c\x54\x8d\x28\x6c\x2b\x49\x31\x95\x87\xd8\xd4\xeb\x93\xcc\x38\xe1\x82\xe3\x2e\x4e\x1f\xaa\x30\x67\x6f\x54\x92\x4e\x05\x7e\x54\xb1\x21\x5c\xec\xd5\xa9\xb4\x22\x15\x61\xcc\xde\xfb\xaa\x8d\x4c\x1c\x8d\x81\xbf\x76\x48\xbd\x5b\x5e\xb8\x49\x2b\x6a\x11\x61\x66\x55\x60\x04\x45\xf4\x01\x63\x33\xae\xe0\xb7\x77\x80\x55\xf5\x77\xe8\x02\xab\xe7\x57\x75\x02\x43\x16\xfd\x0d\x2a\x5e\x1f\x14\x65\x57\xe1\x15\x73\x82\x8a\x47\xe2\xba\x2f\x84\x6f\xf0\xaa\xf7\x22\x39\xfa\x6b\x81\x5c\xb5\x38\x57\x41\x11\x11\x2f\x23\xe0\x21\x7a\x28\xa1\xe2\x46\xb9\xcd\xf8\x9b\xda\x89\xfc\xc9\x5f\x2b\xc4\xf6\xb4\x7d\x16\x6b\x49\xe7\x00\x7b\x24\xf4\xd1\x49\xf3\x52\xee\x31\xb0\x28\x91\x4c\xbc\xab\x5d\xbe\x86\xda\xb6\x6c\xe4\x8f\x50\x54\x8e\x4f\xe8\x45\xbb\xbb\x3d\x56\x46\x0f\xd0\x78\x00\xe2\x44\xea\xad\x6e\x60\xbc\xec\x58\xc0\xd8\xc6\x6a\x96\x1f\x96\xe1\x6f\x99\x2f\xbd\xa6\x38\x47\x0d\xa5\x79\x77\x50\x12\x78\x28\x3d\x26\x2e\x7f\x79\x9b\x3e\x0f\x7b\x69\xbd\x7e\x4c\x8c\x16\x05\x1a\xa4\x9e\x7b\x18\x8d\xc0\x86\x77\x5e\xee\xc5\xce\xb3\x97\xe2\x38\x9e\xeb\x49\xdd\x3f\x31\x03\x22\x12\x19\x1d\xc2\x77\xec\xbd\x42\x18\x89\x1e\x93\x51\xfd\x92\xe7\xe2\xc9\x67\x89\xab\xa8\x48\x3f\x56\xc4\xd6\x09\x46\xe9\x74\x77\xd7\x7a\x47\x7a\x6e\xf5\x0b\x99\x2a\xba\x69\x66\x28\xf5\xcb\x37\xa2\x4c\xd2\x85\xe3\x76\xf5\x58\x0d\xbd\x8b\xf5\xfa\x06\x94\xdf\xc9\x37\x65\xe1\xc0\x04\x8b\x9d\x5d\xd7\xa5\xd3\x27\x4a\x96\xd0\xc3\x9b\x02\xa8\xb0\x78\x43\x13\xbb\x51\x40\xac\xeb\xcf\xef\x02\xa2\x46\x2b\x20\xbb\xbe\x8b\x12\xf5\xbb\x1e\xc8\xb3\x95\xdf\xdf\xe5\x0b\xff\xf7\x00\xd4\x61\x92\x57\xde\xe0\xaf\xde\xdc\xbf\xf9\xf4\xd3\xb6\xa3\x2a\xa5\x37\xe8\xbf\x72\xd7\x81\xb6\x44\x72\x59\xa1\x1f\xf7\x63\xab\x2f\xbb\xdf\x03\xf8\xa5\x1e\x64\xed\xae\xd7\x55\xc7\x26\xd8\xd6\xb1\xb1\x44\xc2\xb1\x8e\x2b\xdb\x33\x96\xd4\x30\x36\xb4\xa9\x1a\xf2\x4e\x4f\x3e\x4b\x26\x85\x8c\x67\xc9\x24\x28\x6e\x6e\xce\xc3\xef\x85\x36\x55\xf0\x9a\x56\xb9\x57\xbd\x51\xce\x29\x56\xd2\xef\xc4\x0c\x37\xba\x41\xb9\x5b\x04\x09\x73\x96\x24\xe1\x3d\x55\xf2\xd8\x0b\xc7\xf9\x62\x88\xe1\x91\x96\xa3\xba\x96\x60\x52\x9a\x27\x78\x59\x23\x08\x3c\xb7\x27\x08\x41\xc9\xd8\x83\x7a\x50\x94\xb0\xc6\x4b\xac\x5c\x57\x6f\x23\xd8\xf1\x4c\x1c\x65\x53\x95\x18\xca\xb8\x75\xce\x70\x6e\x6f\x27\xaf\x6a\x77\x17\x46\xb5\x1a\xbc\xf3\x7a\x6a\xe7\x01\xde\xe5\x32\xf6\x44\x3d\xed\xfa\x5d\x38\xf6\x4e\xbc\x6e\x41\x0b\x49\xe0\x3b\xf9\x2d\x0d\xd7\xeb\xac\x61\x8d\x02\xbf\x11\x01\xf6\x92\xd3\x9b\xe8\x61\x56\x54\xbe\xb5\x88\x87\x5c\x98\xeb\xf2\x84\xc9\x73\x9c\x07\x83\x44\x62\x22\xa8\xd7\xa6\x3a\xae\x58\x4c\x0a\x23\x55\x77\x31\x7b\xf7\xa0\x08\xad\xd2\x23\x24\xca\xaa\x42\x98\xc1\x25\x4c\x7f\x33\x72\xaf\x20\x46\x71\x87\x7a\xbd\x07\x74\x65\x7b\x33\x56\x6c\x97\xaf\xa0\xc0\x98\xc1\x74\xab\x55\xfe\x3b\xdf\x46\x05\xb6\xdc\x49\xe9\x52\x8d\x38\x2f\x62\x44\xd4\x89\x10\x48\x5f\x13\xcd\xea\x0e\x14\xe3\x9a\x94\xc0\xeb\xe5\x91\x39\xbe\xa4\x3a\x3b\xbc\x0a\x5a\xf8\xe7\x2b\xb7\x10\x6c\x13\x82\x9b\xa3\xed\xaa\xc6\x2d\x4a\xa0\x6c\x22\xe6\x0c\xe7\x78\xa8\x28\x7c\x14\x36\x95\xe3\x3d\x14\x92\x42\x1b\xc8\x6e\xb5\xee\x32\x1c\xb1\x97\xae\xb2\x37\x77\xd4\x6a\x4e\xd4\x88\xb2\x9f\x71\xc8\xb6\xf3\x88\xdb\x4b\x35\x76\x4c\xeb\x75\x37\x1a\xa6\xa3\x00\xcb\xf9\x13\x15\x06\x7b\x56\x79\x2f\xd7\xc9\x26\x9e\xea\x56\xa9\x53\x85\xa0\xaa\xac\xaa\x4a\xf6\xd2\x7c\x3e\xc3\xc5\x7b\x59\xeb\xb6\xed\x36\xd8\x6b\x2e\xae\xa7\xa5\x20\x94\x52\xe4\xb3\x24\xb0\x8c\x5c\xd3\xdf\xa3\xaa\x42\x37\xdf\xbc\xe5\xaa\x0d\xb7\xb8\xa1\xa7\xb8\x55\xc8\x11\xb8\x8b\x48\x5c\x35\xca\xac\x24\xa1\x40\xbb\x34\xca\xac\x4b\xfa\xfc\xa9\x0b\xbe\x7f\x57\x5a\xb6\xd5\xf2\x2f\x23\x52\x39\xd0\x71\x73\x5d\x40\x8d\xa5\xe8\xca\xf7\xdd\xdd\xa2\xaa\xfe\x08\xec\x85\xbb\x85\x56\xc5\xa4\x29\x46\xc6\x9e\xe8\x7a\x14\xd3\x68\xe4\x6b\x58\xa4\x26\x92\x93\x52\x9f\x22\xca\xde\xcc\x67\xfa\x86\xfc\xf9\x9c\xdb\xf1\xfe\x4e\xc1\xb0\x62\x22\x3c\x97\xfb\x6e\xb8\x55\x0a\x2c\xc2\x95\x2f\xa5\x69\x1b\x30\xa6\xa4\xe7\xf3\x44\x0b\xf7\xab\x74\x88\xc8\x60\xe8\x8a\xf7\x00\xf6\xa2\xfc\xb6\x33\xa3\x0d\xf5\xea\xc0\xca\x08\x29\xb4\xa9\xbe\x80\xbc\xae\xad\x6d\x7e\xc3\xa7\x41\x1e\xaa\x23\x54\xd0\x87\x2d\xb1\x9c\x99\xca\xba\xc2\x3c\x24\xe3\x19\xb7\xdd\x63\x24\x2f\xaa\xa0\x4a\x49\x7e\xdd\x45\x21\xc0\x87\x5b\x6e\x6a\xa2\xb3\x37\x9a\x2e\xd2\x27\xa7\xe5\xfd\xe8\xc0\x6e\xe4\xa2\xa6\x5b\x57\x89\x9d\xa3\x1f\x1d\xb2\x9b\x9a\x89\xbe\xff\xa3\x83\x77\x33\x9a\x48\x91\xd1\xdf\x59\x1e\x98\xaf\x30\x47\x51\x23\x4a\x66\x80\x23\x92\x05\x09\x8a\x1a\x69\x12\xa4\xf4\xcf\x74\x1a\x64\x48\x5e\x46\xb7\xe1\xf8\x80\xfe\x26\xe6\xd5\x4a\x3f\xf6\x88\xd9\xb1\x8b\x01\x77\x78\xb3\xd7\x28\x66\x24\x5d\x7c\xc2\xe9\x22\x7c\x08\xc5\x91\xe4\x1d\x7f\x8d\x40\x5e\x72\x18\x44\xeb\xd2\xcb\x97\x8d\x2b\xf9\x7e\xd3\x0b\xe5\xa3\x0d\xa7\x68\xc5\xb0\xc9\xc3\x21\xfa\x8f\xd5\xea\x65\xbd\xd6\x3a\xa2\x0e\x87\x17\xcf\x50\xe8\x85\x98\xaf\xd1\xfc\xbd\x5a\xc9\xd7\xc0\xe4\x69\xea\xd4\x27\x32\x6a\x9e\x4e\x37\xd0\x37\x2f\xe9\x16\xae\x0a\xca\x21\x28\x0a\xb0\x61\x6f\x8b\x5b\x2a\xa9\x98\x5a\xad\xd8\x1d\x95\xb1\x38\x98\xaf\x1f\x4d\x65\xa1\x16\x2a\xfa\x36\x42\x7e\x01\x29\x6e\x7a\xf5\xe3\x58\x9e\xea\xaf\x88\xee\xce\x91\xa8\xd5\x26\x10\x03\x11\x31\xa2\x79\x7a\xa1\xa3\x45\x4e\x2f\x5c\xd4\xc3\x47\xec\x6d\x5e\x19\x3d\x2e\x28\x9d\x4e\xd9\xe5\x96\x88\x68\x1e\x19\x94\x1f\x45\xc5\x39\x05\x88\x7a\x09\x02\x2d\x60\xa2\x47\x97\xa0\x92\x5a\xcd\xfd\x8b\xec\xf5\xec\x7e\x0f\x1f\x2b\x0c\x24\xc9\xd9\x31\x99\x21\xde\xf5\x47\x41\x7e\xa5\x22\x1e\xf5\xb6\x0c\x61\x54\x1a\x42\xfe\xbe\xf7\x48\xd6\x29\x55\x0c\xbd\x37\x45\xa6\x89\x2b\x87\x45\xa7\x8a\xc9\x8a\x6b\x04\x6b\x16\x42\x6d\x88\x82\xbf\xfb\xa4\x33\x6e\x4f\x85\xc6\xd5\xe7\xcb\xc0\xfe\xe2\xd9\x08\x1a\xb7\xd7\x1f\x02\xfb\xff\xc3\x9e\xee\xfe\x39\xb0\xff\xbf\xf4\xe9\x8c\x3e\xfd\xff\xd8\xd3\xf5\x5d\x60\xff\xff\xd9\xd3\xd5\x3f\x05\xf6\x7f\x42\x9f\xfa\xa7\x7f\x08\xec\xff\x94\x3e\xbd\x3f\xbb\x0c\xec\xff\x8c\x3d\xdd\x06\xf6\x97\x7b\xfa\xf4\xe1\x2e\xb0\xbf\xb0\x97\x05\x5e\x9e\x07\xf6\x97\x84\x3e\xfd\x91\xa6\x3d\xd2\xa7\x73\x9a\x36\xa5\x4f\xa7\x37\x81\xfd\x05\x73\x0c\x02\xfb\x3f\x67\x0f\x17\x81\xfd\x5f\xd0\x87\xc1\xe5\x59\x60\xff\x97\xec\xe9\xd4\x0f\xec\xff\x8a\x3f\x35\x03\xfb\xbf\xe6\x4f\xad\xc0\xfe\x6f\xf8\x53\x3b\xb0\xff\x5b\xfa\x74\xd5\xff\x43\x60\xff\x77\xac\x92\x5f\xae\x02\xfb\xbf\xe7\xbd\x78\x1f\xd8\xff\x03\x6b\xab\x7f\x15\xd8\xff\x23\x4b\xfb\x18\xd8\xff\x13\xcb\xf6\xf9\x7d\x60\xff\xcf\x2c\xe9\xf6\x34\xb0\xff\x17\x86\xdc\x6d\x60\xff\xaf\xf4\xe1\xa7\xdb\xc0\xfe\xdf\xe8\xc3\xcd\x6d\x60\xff\xef\xf4\xe1\xf3\x6d\x60\xff\x1f\xac\xdc\xa7\x80\x6a\x82\xd0\x18\xd0\xbe\xff\x5f\xf6\xda\x21\x8d\x53\x8f\xc5\x42\x9c\x7a\xc1\xcb\x9a\x2a\x57\x5b\x87\x4e\xdc\x5f\x14\x47\xf7\xe1\x62\x91\x6d\xbb\xc1\x48\x64\x31\xef\x30\x7a\x7f\x3b\xd8\x6d\xed\x9e\xc6\xe1\x32\x03\xe3\x32\x23\xbf\x71\xe0\x35\x3c\x7e\x9b\x91\x28\x69\xde\x67\xb4\xb7\x57\xba\x7e\xc8\xdb\xdf\x6d\x7a\xde\x11\xbb\x80\xe6\x74\x86\xd3\x79\xb4\x9c\x5b\xd7\xb7\x56\x7f\x49\x66\x29\xce\x1a\x56\x3f\x8e\xc5\xed\x3b\x16\x55\x40\xf0\x23\x4c\x1a\xbc\x2e\x51\xe3\x0d\xa8\xcb\x76\xd8\x65\x5c\xc9\x84\x85\x6c\x47\x89\xc5\x6f\x3f\x62\x29\xf7\x51\x12\xe2\x67\x6b\x9a\xe2\x79\x86\xf8\x4b\x38\x52\x2c\x2f\xfb\x11\x15\xb1\xbb\x7c\x44\x54\x05\xb2\x42\x0c\xe2\xfe\x1d\x02\x13\x6b\x81\xd3\xc7\x68\x02\x13\x8b\xcc\x42\xb2\xf1\x3a\x1d\x5a\x48\x56\x06\xa4\x6b\xa0\x69\x59\xd6\x8f\x05\x5c\xd9\x2d\x38\x02\xc9\x71\x3a\x01\x6b\xbe\xcc\x88\x85\x81\x84\xe2\xd2\xa2\xc2\x8d\x3c\xa2\x26\x7e\xf9\x0e\xe2\x97\xf2\xd0\xc9\xce\x6e\x58\xd2\x90\x60\x17\xf6\xe8\x18\x4e\xa2\x6c\x1c\x87\xd1\x1c\x70\x63\x1b\x36\x51\xa2\xd3\x49\x62\xb3\xc0\xe9\x64\x39\x86\x1c\x21\x51\x45\xf1\xa2\xa0\xdf\x86\x90\xa8\x4c\x74\xd8\xbc\xdd\x49\x5c\x96\x94\x92\x19\x60\x6b\x1e\x12\xc0\x51\x18\x67\xf9\x58\xb0\x61\x24\x33\x89\x90\xde\x19\xa3\x9f\x57\x10\xb1\x2a\xd8\x4b\xef\xc3\x39\xbb\x91\xea\xa7\x34\x7d\x88\xc1\xba\x48\xc6\x0d\x2b\x49\x73\x18\x1b\x93\x88\x5f\xf5\xc4\x3a\x99\xf0\x3a\x53\x9c\x59\xf3\xf0\xd9\xba\x67\x07\x02\xd8\x35\x4b\x90\x4c\x52\x9c\x01\x65\xa4\x05\x4e\xe7\x29\x01\x8b\xd3\x8a\x64\xd6\x04\x70\xf4\x08\x13\x6b\x8a\xd3\xb9\xa8\x8a\x18\xd7\x5a\xc9\x7b\xa6\xb2\x05\x8c\x29\xd7\x59\x0b\x1c\x51\x8e\xc4\x94\xdf\x12\xed\xae\x25\x93\xd9\xef\x3e\x5c\xdc\x56\xdf\x8f\xf4\xfe\x17\x76\xd5\x4e\xf9\x2e\xa1\xfe\xd5\x80\xdf\xff\x73\xf1\xfe\xf3\xdd\xf5\xcd\xad\xa8\x49\xdc\xa7\xc4\xc0\xfd\xab\x5f\xb4\x8b\x93\xe4\xad\x49\xda\x9d\x48\xda\x05\x4a\x48\xde\xa0\x24\xea\xc9\xef\x51\x42\x0c\x81\x72\xe1\x8a\x0b\x95\x58\xab\xda\x85\x4a\xa2\xae\xea\x6b\x95\x6e\xce\xac\xc1\xc5\x2d\xbb\x00\xe9\x6c\xb0\xe1\x46\xa5\xbc\xdf\xa2\xaa\xeb\x9f\xaf\xce\x6e\xf8\xe5\x4a\x79\xd7\x2b\xee\x55\x1a\x5c\xdc\x9c\x9d\xde\xd1\xfe\xe5\x4f\xa7\x17\x83\xb3\xab\xbb\xfe\x25\x12\x75\xdd\x7e\x3a\x3b\xbd\xe8\x5f\x22\xeb\xec\x9f\xcf\x3e\x7e\xba\xec\xdf\xfc\x82\x44\xcd\xb7\x67\xff\xf4\xf9\xec\xea\xee\xa2\x7f\xa9\x6e\x66\x72\xde\x44\xa9\x4f\x37\xd7\xa7\x9f\x6f\xd8\x1d\x51\x94\x3c\xb7\x9f\xdf\xdf\xde\x5d\xdc\x7d\xbe\x3b\xb3\x7e\xba\xbe\x1e\xb0\x51\xb8\x3d\xbb\xf9\xe3\xc5\xe9\xd9\x6d\xcf\xba\xbc\xbe\x65\x44\xfc\x7c\x7b\x26\x51\x1a\xf4\xef\xfa\x0c\x89\x4f\x37\xd7\xe7\x17\x77\xb7\x3d\xfa\xfc\xfe\xf3\xed\x05\xa3\xe8\xc5\xd5\xdd\xd9\xcd\xcd\xe7\x4f\x77\x17\xd7\x57\xae\xf5\xe1\xfa\xe7\xb3\x3f\x9e\xdd\x58\xa7\xfd\xcf\xb7\x67\x03\x46\xfa\xeb\x2b\xda\x79\xc5\x53\x67\xd7\x37\xec\x1a\xad\xea\x9b\xa4\xf2\xcb\xa3\x6e\xef\x6e\x2e\x4e\xef\xf4\x6c\xd7\x37\xec\x46\x29\x51\x53\xde\x77\xeb\xea\xec\xa7\xcb\x8b\x9f\xce\xae\x4e\xcf\x8c\xdb\xa6\x5c\x75\xdb\x14\xbb\xa2\xea\x17\xeb\xe7\xfe\x2f\xf2\xbe\x29\x71\x93\x94\x1c\xc0\x73\x93\xd9\x11\x1b\x72\xeb\xe2\xdc\xea\x0f\xfe\x78\x41\x3b\x22\x8a\x7c\xba\xbe\xbd\xbd\x10\x6c\xc5\x48\x79\xfa\x41\x0c\x06\xbf\x6e\x2a\x9a\x3a\xea\x82\x8f\xa8\x7c\xff\x06\x7f\x65\x94\x65\xc7\xd1\xbd\x6d\xf1\xb7\xd3\x5a\x61\x8c\x21\x9c\x3c\x5b\xf0\x3d\xca\x48\xd6\xf8\x41\x5a\x0c\x2f\xeb\x5e\xd4\xc0\xcb\x84\x44\x73\x18\xc0\x02\x92\x09\x24\xe3\x08\xb2\xaf\xfc\xb2\x98\x28\x89\x88\x3c\xd7\x91\x7d\xa5\x9a\x61\xd4\xc0\x64\x02\x8b\xaa\x63\xc9\xf8\xf9\xa5\x80\xcb\x7a\x1c\x8a\xcb\x3e\xe4\x4d\x92\x19\x09\xc7\xdf\x98\x22\x4e\x1c\xaa\xc7\xb8\x3d\x12\xe4\x87\x01\x5b\x27\x78\xd8\x1c\x35\x30\x2c\xe2\x70\x0c\xce\xde\x9f\xbe\x64\x3f\x86\xe4\x4b\x56\xdf\x43\xb6\xed\x76\xf1\xd0\x2f\x00\x1f\x78\x57\xe9\x52\xf3\x1f\x58\x9e\xb5\xd4\x3b\xb9\x96\x59\xd2\x60\xa9\xb6\xc9\x90\xc9\x34\x0d\x36\x65\x1a\xac\x71\xcb\x39\xd3\xcb\x5d\xd1\x59\xa1\x9a\x46\x28\xe3\x7b\x4f\xe2\xfd\x5b\xdc\xae\xae\xa0\xdd\x30\x1b\xf5\x92\xd5\xca\xd9\x9e\x25\x18\x8e\x5c\x94\xe4\xef\xc6\xa1\xf4\x86\x24\x5b\x62\xb8\xa9\x1a\x8f\xd2\x5b\xaf\x76\x72\x7f\x26\xe1\x77\xb2\x54\x35\xa4\xd9\x52\xd5\x19\x86\x84\xaa\xe4\x44\x8e\x49\xc3\x76\x51\x16\xf0\x1b\xc1\x56\xab\x0c\xe2\x29\x4a\x02\xaf\x97\x1c\xa7\x92\x84\x89\xb8\xea\x72\xc7\x49\x87\xc9\x88\x2a\x25\x6e\xe1\xb0\xda\x0f\x1f\xa9\xa0\x4f\x1e\x2c\xfb\x87\x3a\xa9\xff\x60\xb3\xbb\x56\x00\xe8\x02\x77\xff\xfc\x03\x7b\xe5\x52\xb0\xe3\x8b\x38\xf2\x2c\xc8\x86\xb4\xa2\xd1\x9a\xd6\x09\xe5\xb3\x4c\xe7\x61\x14\xc3\xc4\x12\xb8\x5b\x13\x89\xfc\xb3\xc5\xdf\x6c\xc9\x6c\x7e\x79\xd4\xe6\x22\x89\x8a\xde\x70\xe9\xb8\x2c\x30\xb3\xbc\x46\x0a\x91\x91\x8b\x88\x64\xf6\x4a\xcf\x6a\xb1\x28\x4a\x0b\xee\x6d\xc9\xc1\x92\xb5\x70\x7e\x8a\xb3\x56\x23\x8e\x4d\x8b\x77\x2d\xbb\x9e\x0d\xbd\x91\x8b\xb2\xa1\x3f\x72\xa2\xc6\xb4\x11\xc6\x21\x9e\x3b\xa9\x78\xa5\x12\xb5\xd4\xd7\x94\x11\x6d\x59\xb9\xf6\x4e\xe9\x32\x59\x24\x8d\x53\x6c\x45\x09\x3b\xd5\xa5\x5e\xdb\xd6\xb5\xd2\x84\x12\xc2\x76\x7b\xdb\x58\xca\x71\xf5\x80\x8c\x14\x79\xee\x1a\x89\x58\x17\x6d\xef\x27\x9c\xb0\x3d\xad\xd5\xca\xd9\x08\xab\x24\xb8\x03\xe2\x94\xbf\x20\xcd\x71\xe0\x9d\x88\x8b\xce\x68\xb2\xdb\x75\xf2\x37\xda\xb1\x1d\x78\xdb\xb2\xd9\x9e\x9c\x76\x6a\x35\x20\x74\xba\x43\x48\x1c\xd8\x93\xe9\x75\x76\x42\x5e\x5d\x4b\x0f\x6e\x5d\xaf\xd5\x5d\xbb\x95\x7d\x38\x4b\x26\x1b\x7a\x70\x66\xc4\xd8\xfc\x1b\xe1\xaf\x57\x54\xd7\x3b\xe3\xb2\x6b\xa6\xc4\xf5\x69\x4c\x04\x8b\xcb\xd5\x30\x7c\x0d\x5e\x66\xf0\xdd\xdf\xef\xee\xfd\xce\x19\x86\xbb\x53\x6f\xf7\x68\xe4\x56\x3d\xed\x45\x68\x06\xdf\x9b\x6d\x3d\xe3\x4b\x73\xed\x6e\xfe\xb1\x17\x21\xfc\x70\xdf\xa5\xdc\x75\x03\x0f\x67\xdf\x17\x8e\xfd\xa7\xbd\xec\x47\xfc\x70\xbf\x97\xfd\xb8\xe7\xec\x65\x3f\x3a\x7b\x93\x17\x1f\xb5\xd6\xee\x5e\xf6\x23\x7a\xe5\xf7\x1e\xfd\xfa\xbd\x9d\x4b\xea\x2f\x7b\x7b\x0f\xc8\xfe\xf2\xc5\x76\x91\x1d\xd9\x2e\x6d\x2b\xac\x6a\x2c\xfc\x2d\xad\x39\x27\x5d\x91\x54\x77\x4e\xba\x7b\x8d\xbd\x49\xdd\x3d\xa1\x00\xf7\x2d\x78\x7c\xaf\xc4\xe3\xe4\xef\x8b\xc8\xc9\xab\x98\x7c\xf7\x7d\x3a\x00\x6c\x4d\xa3\x0f\xf9\xe8\xf8\xa8\xbd\x76\xbf\xec\xbd\x9a\x90\xfd\xf8\xfb\xbd\x08\x51\x7d\xbf\xbb\x37\x0c\x77\xff\x36\xa2\x5f\xde\xee\xd1\x97\x6c\x54\xdf\xd3\xf9\xe8\xe1\xfe\x2e\xfd\x67\xdf\x37\x7d\x3f\xc6\xbb\xeb\xa4\x3f\x30\x70\x9a\x9d\x83\x1f\xf9\x0d\x53\x11\x9d\x1b\xcd\x4e\xc7\x75\x8d\xfb\x0a\x11\x15\x63\x7f\x5b\x84\x13\x07\x50\xdb\x5d\xcb\x55\x9e\x39\x81\x1d\x9d\x77\x69\xbb\xdf\xf3\x3b\xd9\x4e\x6c\xda\x4b\xbb\x4e\x1c\xba\xa6\xbb\xec\xc5\x88\xf4\xb9\xa9\x3d\xb7\x46\x2e\x7b\x1f\x96\x86\xfc\x77\xdf\xff\x00\xdf\xef\xd2\xd3\xdb\xdb\xd2\x91\x58\xf1\xc2\xd1\xec\xe7\x88\xb0\x0b\x18\xd5\x69\x3a\x76\x9b\x65\x34\x65\x77\x2d\xf2\xdb\x04\x1d\xdf\x45\xbb\x7e\x10\x0c\x5b\x68\x1f\x1d\x21\xbf\x39\xca\xf7\x91\xe4\x74\x2f\x95\x16\x9d\xda\x1b\xfe\x49\x10\x7e\x2f\x32\x33\xc9\x03\xfc\xbc\x82\xbd\x16\x3f\xd8\xc5\x1b\xf4\x10\x71\xd9\x7b\xb1\xc4\x6f\xc2\x5e\xd5\xa4\xfd\xae\xd3\x14\xb5\xc7\x26\xfb\x1b\x52\x2d\xe4\x2e\xbd\xf9\xe9\x7d\xdf\x19\x62\x94\xa2\x6c\xd4\x98\x87\x0b\xa7\x6a\xcb\x2d\xbf\x37\x11\xd8\x3d\x89\xcd\x20\x20\x27\xd0\xf5\xd9\x9f\xe3\xe3\x76\x17\xde\xbd\x6b\xff\xe8\x90\xdd\xa6\xbb\xe6\x9b\x55\x39\x51\xcb\x14\x95\x9d\xa9\x18\x49\xce\xab\xb9\x53\xf2\xc4\x21\xf9\x7b\x0d\xfc\x5c\x7c\x19\xd8\x93\x4d\x78\xfb\xf9\x4b\x0c\x4e\xf2\x1e\xd4\x59\x1f\xba\xcd\x4a\x20\x03\x39\x2d\xfd\xed\x07\x0e\xd4\x73\x62\x36\x5d\x17\x31\xae\xc5\xe9\x32\x99\x38\x66\xc1\xbd\x66\xe7\x80\x4a\x59\x16\x33\x5d\xe0\x98\x93\x2a\x46\x73\xc0\x55\x37\x46\x36\xe8\xfc\x62\x3d\x12\x1b\x8e\x22\x79\x46\xf3\xde\xfc\xf4\x7e\xcb\xa4\x6a\x9b\xe8\x06\xa0\x84\x01\x46\xc5\xfd\x10\x75\xb5\xc4\xef\xec\x3a\xa9\x93\x3a\xae\xe3\x7a\x54\x8f\xd6\xae\xdb\x33\xc7\x25\xd5\x46\x81\xce\x28\xc7\xae\xab\xde\x92\xa1\x3f\xa2\x1d\xae\xdb\xc8\x32\x92\x9b\xd5\xc9\x2d\x91\xec\xda\x7c\xd6\x49\xd5\x47\x1b\x79\xb6\xfc\xb0\xab\x48\xcd\xc4\x66\x9b\xcd\x90\xb2\xfe\xac\x6e\x52\x0f\xbc\x5e\x96\xdf\x16\x99\xd5\xeb\x2e\x50\x0d\x98\x38\xf4\x8f\x08\xe8\x02\xfa\x33\x8f\xd3\x28\xca\xac\x0f\xfa\xf6\x64\x89\xbc\x9c\x2e\xaa\xc4\x18\x87\xe3\x6f\x7c\x98\x34\x0a\xfd\xce\xae\x2b\x79\xe5\x68\x5d\xf7\x46\x2e\xbb\x27\xde\xa0\x9d\x7b\x7c\x7c\xb8\x32\xc8\xe6\x1e\x1f\x7b\x05\xf1\xb7\x2f\x44\xd4\xf6\xee\xf3\x4b\x55\x41\xf7\xa2\xc3\x10\xf3\xee\xe3\xd7\xbb\xcf\x63\xab\xa2\xbf\x41\x71\x92\xaa\x8d\x9b\x8d\x7c\x2c\x19\xd3\x60\x62\x29\x8e\x1b\x04\x32\xda\xe6\x09\xbc\xca\xe0\xda\x54\xae\x14\x13\xc2\x80\x6b\x9d\xc0\xb0\x35\xea\xfa\xf2\x22\x7f\xba\x96\x3a\x76\x1d\x86\xde\x88\xf3\x1b\x0c\x7d\xf5\xd4\x14\x4f\x84\xf2\x9c\xd6\x56\x06\xa4\x1f\x2f\x66\xe1\x06\x55\x7c\xf3\x08\xd3\x25\x23\x20\xd5\xf2\x07\xeb\xbd\x99\x47\xdf\x4b\x2f\x19\xc8\xed\xc6\xaa\x26\x50\x56\x91\x4c\x5c\x61\x1a\xb5\x7b\xf5\x7a\xc2\x31\x0c\x83\x6c\x98\x8c\x76\xa9\x41\xd3\xa3\x5f\x41\x95\x20\xa2\x00\xb7\x1e\xfe\x88\xd5\xa6\x4d\x25\xce\xa9\x8e\xb3\x6c\xb5\xb8\xee\x99\x83\x4f\x09\x6e\xbb\x7c\x4f\x6d\xe3\x3a\x1c\xe6\x07\xcd\xa5\x9d\x82\xc8\x5a\x19\xb6\x9b\x0b\xf2\x18\xd5\x8a\xc2\xe2\x15\xb1\xb4\x1a\x01\x34\x42\x87\x1d\xfb\x34\x5d\xc6\x93\xe4\x07\x62\xb1\x6e\x50\x53\x08\x5c\x54\x58\xdc\x15\xeb\x55\xf2\x38\xb7\x70\x25\x31\xe8\x9f\xab\x70\x0e\xd9\x49\x45\xda\x10\x46\x5d\x71\xb3\xf2\x65\xfa\x04\xf8\x34\xcc\xc0\x71\xdd\xdf\x50\x41\xae\xaf\x65\x75\xaa\xb0\xd9\xbf\xb6\x96\x42\x17\x33\x92\x8e\xbf\xb1\xcd\xf1\x4f\x61\x0c\x84\x40\x50\x9e\xa9\x43\xfb\x77\x9e\x27\x2f\xc0\x3e\x3d\x55\x57\x61\x9f\x1d\xf5\xf9\x55\xd8\xa7\xed\xbe\x76\x15\x76\x3f\xbf\x0a\xfb\xbd\xba\x0a\xbb\x4f\x9f\x06\xad\xc1\xc1\xe9\xb9\x79\x15\xf6\xd9\xb9\xbc\x0a\xdb\xf3\xde\xf7\x7d\x96\x76\x7e\x7a\x76\xd4\x3e\x17\x57\x61\x9f\xf3\x12\xe7\x4d\xcf\x3b\x7d\x2f\xf2\x75\xde\x0f\x58\x59\xfa\xdf\x29\x4f\x93\x58\xd1\xbf\x9d\x73\xf9\x74\x78\x20\x9f\xfa\x2a\x6d\xa0\xd2\xce\x45\x5a\xe7\x5c\x96\xed\x9c\x77\x54\x9a\x2c\xdb\x39\xef\xab\xb4\x81\x4a\x93\x65\x0f\x0f\x64\xd9\xc3\x83\x8e\x4a\x93\x65\x0f\x0f\xfa\x2a\x6d\xa0\xd2\x64\xd9\xbe\x6a\xb7\xaf\xda\xed\xab\x76\xfb\xaa\xdd\xbe\x6a\xb7\xaf\xda\x1d\xa8\x76\x07\xaa\xdd\x81\x6a\x77\xa0\xda\x1d\xa8\x76\x07\xaa\xdd\x73\xd5\xee\xb9\x6a\xf7\x5c\xb5\x7b\xae\xda\x3d\x57\xed\x9e\x8b\x76\x29\xa5\x78\x59\xfa\xd4\x51\x69\xbc\x2c\x7d\xea\xab\xb4\x81\x4a\x93\x65\x25\x9d\xe9\x53\x47\xa5\xc9\xb2\x92\xce\xf4\x69\xa0\xd2\x64\x59\x49\x67\xfa\xd4\x51\x69\xb2\xac\xa4\x33\x7d\x1a\xa8\x34\x59\xb6\xaf\xda\xed\xab\x76\xfb\xaa\xdd\xbe\x6a\xb7\xaf\xda\xed\xab\x76\x07\xaa\xdd\x81\x6a\x77\xa0\xda\x1d\xa8\x76\x07\xaa\xdd\x81\x6a\xf7\x5c\xb5\x7b\xae\xda\x3d\x57\xed\x9e\xab\x76\xcf\x55\xbb\x92\xce\xb4\xb7\xbc\x2c\x7d\xea\xa8\x34\x5e\x96\x3e\xf5\x55\xda\x40\xa5\xc9\xb2\x92\xce\xf4\xa9\xa3\xd2\x64\x59\x49\x67\xfa\x34\x50\x69\xb2\xac\xa4\x33\x7d\xea\xa8\x34\x59\x56\xd2\x99\x3e\x0d\x54\x9a\x2c\xdb\x57\xed\xf6\x55\xbb\x7d\xd5\x6e\x5f\xb5\xdb\x57\xed\xf6\x55\xbb\x03\xd5\xee\x40\xb5\x3b\x50\xed\x0e\x54\xbb\x03\xd5\xee\x40\xb5\x7b\xae\xda\x3d\x57\xed\x9e\xab\x76\xcf\x55\xbb\xe7\xaa\x5d\x49\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\x3e\x57\xfc\x7c\xae\xf8\xf9\x5c\xf1\xf3\xb9\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\x3e\x57\xfc\x7c\xae\xf8\xf9\x5c\xf1\xf3\xb9\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\x3e\x57\xfc\x7c\xae\xf8\xf9\x5c\xf1\xf3\xb9\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\x3e\x57\xfc\x7c\xae\xf8\xf9\x5c\xf1\xf3\xb9\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\xf6\x0e\xe9\x3f\xfa\xe4\x37\xe9\x3f\xf6\x74\x4a\xff\xd1\xa7\xe6\x3e\xfd\x47\x9f\x5a\x1e\xfd\xc7\x9e\xfa\xf4\x1f\x7d\x6a\xb3\xff\xd8\xd3\x19\xfd\x47\x9f\x3a\x87\xf4\x1f\x7d\x62\x45\x59\x7d\xfb\xa7\xf4\x1f\x7d\x3a\xd8\xa7\xff\x98\xe4\x62\x0d\xb3\xa7\x3e\xfd\x47\x9f\x8e\xda\xf4\x1f\x7b\x3a\xa3\xff\xd8\xcc\x63\x60\xfa\xf4\xbe\x49\xff\xb1\xa7\x53\xfa\x8f\x3e\xb1\x8a\x59\x7d\x03\x8f\xfe\x63\x4f\x7d\xfa\x8f\x3e\x31\xa4\x58\x7d\x4c\xbf\x3a\xb3\x47\x9a\x07\x65\x5c\xa9\x2a\x96\xb4\x48\x54\xa1\x7d\x06\x2f\x61\x1c\x8d\xe1\x3e\x5e\x42\x97\xb9\x06\x9a\x6d\x0f\x59\xcd\xf6\x21\xb2\x9a\x9d\x8e\x6b\xa3\x30\x21\xd1\x5f\x97\xc0\x4e\x66\x8a\x1c\x1d\x9a\xa3\xd5\x41\x56\xd3\x2f\xe6\xf0\x65\x16\x0a\x6d\x1d\xd1\x2c\x47\x85\x2c\x4d\x91\xa5\x45\x9b\x68\xb6\x90\xd5\xf4\xda\x85\x2c\x2d\x91\xc5\xeb\x20\xcb\x3f\x6a\x22\xcb\x3f\xd8\x2f\x64\x69\xf3\x2c\x3e\x6d\xc3\x6f\xf9\xc8\xf2\x9b\x1e\xcd\xf2\xd7\x65\x38\x0f\x71\x94\x08\x5c\xfd\xe6\x01\xeb\x08\x45\xa4\x69\xc0\xfd\xd7\x32\x08\x3c\x7d\x9f\xe2\x49\x91\xf5\x8f\x0e\x8d\x0c\x02\x4b\xdf\x6b\xd2\x3e\x50\x54\x0f\x4c\x14\x04\x8e\xfb\x0c\x45\xfa\xe5\xb3\x5e\xfc\x6d\x89\x0d\x5a\xb3\xc6\x39\xad\x29\xc8\xdf\x02\x93\xb4\x6b\xb6\x05\x4e\xcd\xd6\xa1\x84\x49\x74\x8e\x5a\x02\x9d\xa6\xa7\xca\x29\x6a\xf9\x12\x95\x16\x1d\x96\x7b\x88\x1e\x14\x2a\xb4\x04\xfb\x62\x84\xbc\x8f\xb2\xbf\x2a\x96\x60\x58\x34\x19\x09\xf6\x15\xcc\xdf\x06\x34\x06\xd9\x6f\x21\xcb\x3f\x6c\x29\xa0\x31\xbc\x87\x14\xd8\x39\x54\x40\x63\x60\x9b\x34\x87\x77\x40\x81\x31\x35\x08\x19\xc8\x43\x16\xfd\x9f\x27\x26\xe3\x19\x4c\xc2\x78\x9e\x26\x13\x83\xf5\x54\xff\x73\xce\xe6\xe5\x38\x35\x69\xaa\x5f\x9d\xdc\x34\x92\x19\x7d\x69\x72\xcb\x48\x56\x55\xb7\xf5\x64\x41\xd5\x78\x09\x8f\x51\x1a\x03\x91\x5d\x39\x44\x56\x9b\x8e\x4a\x93\x11\x08\xa7\x4f\x89\x80\xec\x77\x90\xd5\x6e\xd2\x8f\x04\xe8\x54\xdd\x6f\xd3\x8f\x84\xe8\x24\xed\x1c\xd1\x8f\x84\xe8\xf4\xec\xf8\xf4\x23\x21\x3a\x31\x29\x49\x5a\x0c\xed\x25\x8e\x9f\x9f\xd2\x54\x12\xac\x49\x27\xd8\x61\x9b\xa2\x6f\x80\x8d\x01\xf6\x29\xe7\x74\x0c\xb8\x8e\x90\x7f\x74\x80\x2c\xbf\x6d\xc0\x8d\x61\x3e\xf0\xd8\x70\xea\x70\x63\xa4\xfd\x0e\xb2\x0e\x29\x78\x1c\x4e\x80\xe4\x83\x76\xd4\x61\xec\x81\x2c\x7f\xdf\xd3\xa1\x72\xfa\x76\x9a\x92\x6d\x3b\x46\x69\x39\x7b\x29\x75\x9b\xcd\x23\x39\x92\x0a\x2e\x67\x0b\xeb\x3c\x45\x9e\x0f\xa9\x82\x0b\xe4\x18\x77\xb6\xda\x72\x68\xc7\xb3\x10\x13\x0c\xcb\xac\x24\x5e\x3c\x03\x5a\x12\x2e\x26\xb8\x24\x5a\x4c\x70\x49\xb0\x98\xe0\xa2\x58\xe1\xd0\x74\x9c\xc6\xa1\x12\xd1\x3e\x25\x37\x2d\xda\x32\xa0\xfa\x90\x32\xe4\x5a\xfb\x3a\xd8\x18\x51\x8a\x5c\xab\xa5\x83\x8d\x01\x65\xc8\x1d\xe9\x60\x7d\x3c\x19\x72\x0c\x9a\xe2\x30\x2e\xb6\x7a\xe8\x49\x88\x81\x90\xdf\x46\xd6\xe1\xbe\x04\x19\xc8\x78\xfb\x7a\x29\x1d\x91\x23\x9f\xb6\x26\x21\x06\x0e\x74\x62\x1d\x70\x48\x32\x8d\xd3\x27\xc0\x39\x5f\xf9\x1e\xa5\x50\x9b\x31\x86\xcc\x93\x45\xf1\x37\x9d\xe7\xd9\x22\xd8\xf4\x34\xa8\xbf\x1d\x6c\x48\xbd\x56\x53\x31\x95\x00\xeb\x68\x37\x59\xfb\x07\x7a\xd3\xe6\x92\xb6\x2f\x97\xb4\xf1\x73\x98\x28\x21\xa3\x2d\x08\x34\xdd\xdf\x04\xc8\x85\x98\xb6\x4c\x50\x40\x2e\xc6\xb4\x35\x82\x02\x72\x41\xa6\x2d\x10\x93\x10\x7f\x2b\x0a\xd0\x1c\x62\x60\x56\x28\xf5\x90\xc6\x13\x48\xb0\x14\x32\x42\xbe\xd0\x2f\xbf\x98\xc3\xe0\x81\x43\x36\xdf\x8b\x59\x0c\x5e\x38\xa0\x73\xb2\x5d\xcc\x62\x30\x67\x9b\x2d\x1e\xc5\x2c\x06\x81\x3d\x1f\x59\x87\x32\x07\x0e\x9f\xa5\x44\xa6\x30\xf1\xa5\xa0\x00\x5a\x3f\x3d\xb1\xf8\x08\xd0\x96\x82\xdf\x66\xe1\xb7\x48\xf6\xff\x48\xae\x75\x6c\x39\xa3\xe0\x79\xf8\x00\x09\x09\x35\xa4\x0c\xea\xa6\x71\xf4\x08\x5a\xdb\x87\x7c\x2d\x14\x3c\x6d\xe6\x90\x24\x64\x93\x92\xcf\xa5\x66\x29\x93\x94\x3a\x87\x4a\xa1\xf1\xda\xa5\x4c\x52\xf6\xec\x4b\xd9\x73\xe4\x95\xf2\x48\x3a\xfa\x72\xd8\xf7\xe5\x98\xa6\x38\x4c\x1e\x74\xad\xc1\x6f\x6b\xd4\xe2\xd0\x92\x0c\x32\xc1\x25\x19\x64\x82\x4b\x32\xc8\x04\x17\x65\x50\x0e\x1d\xcf\x22\xc9\x8b\x9d\x16\xb2\x98\x0e\x9b\xf7\x9f\x81\xa5\xd4\x66\x22\xa5\x29\xa7\x53\x0e\x97\x04\x3c\xa0\x2b\xb0\x9a\x55\x39\x5c\xd2\xae\xd3\x96\xf5\x9b\xe5\x25\x72\x5e\x1b\x59\xf9\x9a\x42\xe1\x18\x26\x26\x1b\x48\xbc\x33\xa6\xda\x48\x92\x30\x55\x89\x2d\xa4\x72\x74\x33\x08\x35\x16\xf1\xdb\x4c\xd3\xa2\x94\x6b\xb7\x0a\x39\x7c\x5d\x3d\x64\xb4\x3f\x2a\x66\x51\x0c\x22\xc5\x86\x7f\xe8\x15\xb2\xa8\x2e\x76\xa4\xce\xab\x68\x24\xb3\xa8\x5e\x76\xa4\x50\x50\x64\xc8\xe8\x32\x91\xcb\x93\x83\x26\x65\x1d\x9d\x0e\x2c\x43\x3e\x1b\xdb\x07\xc8\x3a\x38\xa2\x9f\x22\x5c\x2d\xff\xbe\x21\xfa\x8c\x3c\x4a\x05\xf0\x0d\x29\x68\xe4\x51\x6a\x80\x6f\x08\x44\x23\x8f\x54\x05\x9a\x25\x21\x27\xb2\xc0\x26\x74\xc9\x12\xff\x75\x99\x46\x19\x68\x42\x77\x9f\x7e\xc9\x0c\x86\x9a\x48\xd7\x13\x8f\xa9\x5a\x14\x0a\xf7\x51\x98\x28\xbe\x68\x52\xfd\x88\xae\x9c\x1c\x06\x8b\x45\x94\x18\x6b\x15\x5b\xcd\x0e\x34\xa0\xbf\x15\x6a\xcc\x32\xfa\x69\xe9\x50\x63\x92\xed\xb3\x79\xa8\x41\x4d\x31\x2a\xd6\x65\x0a\xcc\xbe\x3d\x1b\x8b\x05\x9b\x48\x62\x60\x72\xb0\xff\x0a\x3c\x5f\xba\xd8\x44\x13\x83\x96\xc3\xf3\x15\x8c\x4d\x34\x31\x60\x39\x5c\x5b\xc8\xbc\x7c\x92\x45\x73\x4d\xc8\x73\xe1\xd1\x51\xac\x49\x81\xb0\x09\x98\x4e\x1e\x74\xc5\xa1\xc5\x68\xd9\x56\x88\x2b\xb0\xff\x0a\x5c\x92\xfc\x50\x2c\x84\xa2\x63\x0a\x2e\x89\xce\xd6\xc8\x7d\xd5\x31\x05\x97\x64\xdf\x47\xd6\xc1\xa1\xec\xd7\x34\xc2\x70\x8f\x23\x69\x1a\x31\x8a\xb5\x98\x78\xd1\x81\x3a\x2f\x50\x2e\x6b\x1f\xea\x50\x9d\x17\x28\xe2\x6d\xa3\xac\xce\x0b\x34\x47\xcb\x28\xab\xf3\x42\x93\x22\x4d\xd5\xb7\x69\x4c\x55\x31\xc3\x63\xc0\x66\x28\x73\x2c\x50\x66\x99\xa6\x18\x32\xa2\x09\x2e\x21\x0d\x05\xde\x0f\x61\x94\x64\xf7\x29\x4e\xa5\x81\xe2\x31\x45\x4b\x6a\x5b\x0f\xb3\x34\x23\x7a\xed\x4c\x11\xcb\x3d\x16\x74\xbd\x37\x4c\x17\xa1\x41\xd3\x74\x7f\x13\xc0\x50\xdd\xa8\x6e\x20\x01\xa6\x15\xd3\xca\x01\xa6\xf9\x72\x90\x03\x34\xb5\xa7\xc9\xe6\x16\xb5\xf2\x5a\x4d\x1d\x6a\xac\x81\x54\x22\xb3\xe9\x57\xad\xee\x50\x69\xcc\xc9\x52\xa9\xea\xb0\x9e\x1c\xe9\x60\x73\x7e\xb2\xe9\x4f\xc1\x39\xfb\x1f\xb1\xb9\xc7\xbf\x04\xc4\xd3\x35\x3c\x99\x28\x39\x1a\x59\xf4\x7f\x99\x28\xb2\xf2\xd1\x16\x23\xce\x01\x9e\x31\xda\x4a\x28\x33\xa0\x9f\x73\x3f\xff\x48\x80\xe8\x6b\xcb\x47\x16\xff\x48\x80\xe8\x25\x5d\xf4\xf8\x47\x02\x44\xff\xa8\x86\xcc\x3f\x12\xd0\x11\x80\x43\x8d\x53\x19\x60\x5f\xc8\x67\x1f\x59\xfc\x23\x01\x07\x02\xd0\xe2\x06\x7a\x5b\xb5\x71\x28\x00\xfb\xc8\xe2\x1f\x09\x38\x12\x80\x43\x6d\x26\x69\x8b\x0d\xb5\xc0\x91\x25\x7b\xdd\x14\x14\xe1\x46\xb9\x30\xcc\x19\x40\x90\x83\x69\x0a\xec\x23\x01\xb2\x9e\x7d\x64\xf1\x8f\x04\x08\x72\x70\xcb\x5f\x58\xff\x0c\x20\xcd\x41\x9f\x2f\xa6\xfb\xaa\x0d\x41\x0e\xee\x45\x10\x9e\x04\x06\x10\xe4\xd8\xdf\x47\x16\xff\x48\xc0\x41\x6e\x59\xf2\x8f\x04\x08\x72\x1c\xf8\xc8\xe2\x1f\x09\x10\xe4\x38\x68\x23\x8b\x7f\x04\x40\x60\x7b\x88\xac\x43\xae\x66\xb3\x44\x41\x8e\x03\xba\x4e\xb2\x8f\x04\x08\x72\xf0\xc5\x53\x2c\xa0\x0c\xd0\xcc\xd7\x5e\xfe\x91\x00\xd9\x00\x35\x19\xd9\x47\x02\xe4\x6a\x4d\x17\x4b\xf6\x91\x00\x41\x0e\xaa\x88\xf3\x8f\x04\x08\x72\x1c\x35\x91\xc5\x3f\x12\x20\xc8\x71\xd4\x46\x16\xff\x48\x80\x20\xc7\xd1\x01\xb2\xf8\x47\x02\x04\x39\x8e\x8e\x90\xc5\x3f\x02\xa0\x74\x22\xbe\x62\xfa\x72\x86\xb5\x3d\x09\x68\x0a\x75\xd6\xf7\x64\xf3\x6d\xbf\x7a\x41\x62\x30\xa9\xdb\x50\x7b\x40\x7e\x49\x58\x4b\x57\xcf\xc5\x97\x84\x29\xd5\xbd\xc9\x6c\x04\x69\x28\x30\x58\x47\xc2\x3a\xc2\x1f\xe3\xfb\xaa\xbd\x7d\x09\x3b\x10\xc2\xce\xf7\x55\x7b\x07\x52\x87\x62\x9a\xa9\x27\xed\x56\x06\x3b\x94\xb0\x26\xd3\x5a\xa5\xea\xca\x60\x47\x12\xd6\x91\x9e\xbe\xa6\x6c\x4f\xa2\xc2\xbc\x2f\xf4\x23\xd3\x25\xbd\xa8\xdd\x20\xbf\x24\x4c\xd2\x8b\xad\xc0\xe2\x4b\xc2\x24\xbd\x98\x0a\x2d\xbe\x24\x4c\xd2\xab\xc5\x14\xd6\x8e\xf4\x83\x31\x98\x92\xa5\x6c\xc5\xe5\x5f\x12\x26\x91\x6c\x7b\xc2\xce\xf1\xdb\xaa\xbd\x7d\x5d\x21\x17\x5f\x12\x26\xe9\xd5\x66\xf6\x51\x47\xfa\xcd\x18\xec\x50\xd3\x05\xe5\x97\x84\x49\x7a\x31\x0b\x40\x7c\x09\x98\x6c\x8e\x2d\x08\xc2\x80\x66\xe9\x9e\x66\xf2\xc8\x2f\x09\x53\x3a\x34\xd5\xf0\xc4\x97\x84\x49\x7a\x31\xcf\x9b\xf8\x92\x30\x65\x22\x52\xd5\x5d\x7c\x49\x98\x52\x52\x68\x53\xe2\x4b\xc2\x24\xbd\xa8\xcc\x91\x5f\x12\x26\x3b\xb0\xcf\xd6\x4b\xfe\x25\x61\x92\x5e\x54\xf2\xc8\x2f\x09\x93\xf4\x62\x3e\x01\xf1\x25\x61\x92\x5e\x07\xfb\x6c\x03\x41\xee\x22\x50\x98\xac\x52\x6a\xbf\xb2\xad\x03\x49\x2f\x2a\x85\xe4\x97\x84\x49\x7a\x1d\x52\x14\xc4\x97\x84\x29\xd3\xa9\x2d\x7d\xa9\x4a\x22\x1d\x48\x7a\x1d\x52\x14\xc4\x97\x84\x49\x7a\x71\xf7\x00\xff\x92\x30\x49\x2f\xaa\x25\xcb\x2f\x09\x93\xf4\xa2\x72\x49\x7e\x49\x98\xec\xdc\xd1\x3e\xf3\xc9\x4b\xc7\x3c\x83\x49\x7a\x1d\x31\xff\x1c\xff\x92\xb0\x23\xa9\x56\xf8\x42\x05\x6a\x7a\xb2\xbd\x43\x09\xe2\xb6\x84\x9a\xdf\x87\x72\xc9\xf7\x98\x26\xde\x96\x36\x35\x83\x29\xa7\x04\xf3\xae\xf2\x2f\x09\x93\x1a\x8e\x77\xc4\xcc\x21\x69\x13\x31\x98\x54\x6f\xa8\x78\x92\x5f\x12\xd6\x96\x30\xda\x94\xf8\x92\xb0\x8e\x84\xd1\xa6\xc4\x97\x84\xed\x4b\x18\xdf\x92\x92\xfb\x52\x0c\x76\x20\xd5\x4c\xe6\x2a\xe6\x5f\x12\x26\x3b\xce\x36\x5c\xc4\x97\x84\x49\x7a\x31\x27\xaf\xf8\x12\x30\x09\xa2\xb6\x36\xfb\xc8\x74\x49\x2f\xe6\x91\x16\x5f\x12\x26\xe9\xc5\x1c\x87\xe2\x4b\xc2\x94\x46\xa8\x36\x37\x94\x8c\x3a\x92\xf4\x6a\x1d\x30\x67\xa6\xf4\x68\x32\x98\xa4\x17\xdf\xd4\x53\x0a\x38\x83\x49\x7a\x31\x17\xb9\xf8\x92\x30\x49\xaf\x7c\x57\x48\xc9\xa8\x23\x49\x2f\x6a\xee\xca\x2f\x09\x93\xf4\x62\xba\xbe\xf8\x92\x30\x49\x14\xe6\xb2\x17\x5f\x0c\xa6\xbb\xd7\x94\xb7\x5c\x77\x5a\x94\xd2\x0b\xee\x4d\x95\x5e\xf0\x6e\xaa\xf4\x82\x73\x53\xa5\x3f\x43\x1c\xa7\x4f\x9a\x0c\xe1\x26\x12\xef\x0e\x6c\xd4\x97\xa1\x4a\x5f\x86\x2a\x7d\x19\x36\xe9\xcb\xb0\x4d\x5f\x86\x4d\xfa\x32\x6c\xd2\x97\x61\x93\xbe\x0c\x9b\xf4\x65\xd8\xa4\x2f\xc3\x26\x7d\x19\x36\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x54\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x6c\xd2\x97\x61\x93\xbe\x0c\x9b\xf4\x65\xd8\xa4\x2f\xc3\x26\x7d\x19\x36\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x54\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x6c\xd2\x97\x61\x93\xbe\x0c\x9b\xf4\x65\xd8\xa4\x2f\xc3\x26\x7d\x19\x36\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x6c\xd0\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa0\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x41\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x83\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x06\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x0d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\xa3\xbe\x3c\x4b\x13\x78\x9e\xc0\x93\x8e\x29\x8f\x47\xf0\x34\x68\x39\x8a\xcc\x00\x97\x03\xc9\xd8\x38\x49\x70\x29\x96\x8c\x6f\x16\x4a\x70\x45\x38\x99\xcf\xc0\xa4\xb0\x2d\xc5\x97\xe1\x43\x2f\x07\x9a\x01\x1f\x5e\x01\x5a\x8a\xf9\xf0\xf7\x0f\x72\xa8\x11\xf6\xb1\xcf\xb6\x59\x72\xa0\xee\xf5\xa6\x02\x98\x05\xeb\x45\xc9\xc4\xd8\x45\x63\x25\xa5\xce\xa2\x80\x06\x4e\xac\x55\x6f\x5f\x87\xeb\x58\x29\x35\x45\x41\x75\xac\x0e\x65\x14\x93\x82\x16\xd1\x62\xcb\x42\xf4\x98\xe2\xe7\x92\xf2\xcf\x06\x88\x81\xfc\x2d\x30\x33\xc6\x44\x8d\x1c\x83\x99\x01\x26\x6a\xd8\x18\xcc\x8c\x2e\x51\x63\xa6\xc5\x28\x70\x5e\x69\xa9\x85\x99\x81\xcc\x88\x97\x7d\xb9\x30\x33\x98\x89\x8a\x27\x95\x04\x06\x33\x43\x38\x0f\xa5\x72\xc4\x60\x26\x2a\x54\x0d\xa6\x44\x89\xc3\x47\x48\x26\x80\x65\xa5\x12\x19\x3e\x23\x24\xf4\x3e\x5e\x66\x33\x03\x27\x4f\x4e\x36\x23\x8b\xff\x86\x3c\x66\x24\x6a\x5b\x0a\x17\x23\x8f\xd9\x8f\x16\x0b\x16\x2b\xe6\x29\xc7\xa2\xb2\xfd\x9a\x38\x7c\x4a\xf4\xcd\x79\xd6\x42\x47\x84\x2c\xc4\x30\x4f\x93\xf1\x2c\x9a\x4e\xd5\xf6\x7e\xbe\x49\xc6\xf4\x56\x3d\x87\xff\x7a\x16\x73\x30\x5a\x72\xf5\xd3\xb3\x98\xec\xc1\x14\x91\x62\x2d\x66\x57\x0e\xa4\xbe\x1b\x47\x0f\x33\x2d\x28\x8f\x9b\xca\x6c\x93\x92\xa9\x8c\x0a\xac\x47\x50\xf0\xf0\x5f\x66\xd1\x2a\xb8\x1e\x41\xc1\x63\x7f\x99\x7a\xa8\xe0\x7a\x04\x05\x0b\xfc\x15\xfd\x94\x70\x3d\x82\x42\x4a\x1f\x09\xd7\x23\xcd\x98\x76\xc9\x76\x5a\x9b\xaa\xfe\x3c\x5a\x89\x8f\x75\x6e\x70\x2b\xb0\xff\x0a\xdc\x58\x85\xf3\x88\x02\x05\x57\x9a\x8b\x19\x5e\xa5\xe0\x6d\x5d\xbb\xcf\x43\x09\x18\xbc\xb8\x73\xc8\x99\xd2\x97\x5a\xb9\x99\xc7\x0c\xb3\xde\xaf\xae\xc8\x64\x6f\xaf\xba\x26\x93\xbf\x3d\x63\xc0\xab\x77\x14\xe9\x2a\xcc\x14\x43\x33\x8f\xee\x4a\xd1\x96\x33\x3f\x6f\x52\x6d\x40\xb2\x60\x52\xf9\x95\x83\xb5\x30\x16\xb9\x2a\x71\x09\x2f\xe1\xdb\x8a\x17\x17\x1e\x16\xad\xc1\xa4\x9f\x02\x1b\x62\xfe\x80\xe9\x9c\x1d\x1d\x6e\x2c\x3e\xfb\x4d\xa9\x1b\x2b\xb8\x19\x61\xc6\xc3\x07\x75\xb8\x4e\x25\x16\xb6\xea\x29\xec\x8c\x30\x1e\xd6\xfe\xbe\x0a\xe3\xd1\x32\xf8\xaf\xe6\x30\x70\x64\x51\x6e\x7e\xdb\xcc\x61\x60\x49\xc7\xea\xe8\xd0\xcc\xa0\xa3\x49\x2d\xfe\x7d\x35\x96\x66\x30\x51\xab\x29\x22\x30\x78\x58\x3b\xcf\xa1\x47\x78\xf8\x3c\xc8\x7a\x5f\x89\x68\x2d\x87\xaf\xd9\x12\x4d\xe6\xf6\xca\x67\x92\x19\xe7\xe1\xef\xb7\xe5\x68\xe6\x93\xc9\x0c\xf5\x60\x11\x3c\x6c\x44\xb5\xf9\x64\x46\x7b\x30\x75\xa0\xd9\x32\x26\x42\x21\xda\xc8\x6f\x49\x1b\x5e\xc7\xc5\x0c\x38\xf2\x7d\x15\x7b\xd9\x69\x15\xf2\xc0\xd6\x3c\x04\x20\xd6\x05\xa4\xb4\x25\x9a\xda\x08\xca\x3c\x46\xb4\x5e\xd3\x14\x33\x2a\x93\x11\xad\xe7\x7b\x26\x79\x64\x26\x3d\x5a\x8f\x99\x58\x3a\x81\x64\x26\x23\x5c\xaf\x40\x23\x73\xd6\x2a\x75\xa3\xd9\x36\x33\x94\x15\x92\x62\x8e\xb2\x5a\xe2\x15\x1a\x29\x2b\x27\x87\x9e\x99\xa3\xac\xa2\x08\xe2\xcd\xf5\x38\xc8\x8e\x14\xae\x82\xe9\x12\x48\x74\xa9\x23\x94\x18\xd7\x46\x46\x7c\x25\xf7\x1f\x4b\x52\x0b\x90\xbf\x05\xa6\x77\x48\x51\x5f\xc0\xf4\xae\xa8\xc5\x58\xc0\xf4\x4e\xa8\x78\xce\x79\x88\x53\x39\xff\x19\x6f\xb4\xa9\x2a\xb9\xaf\x20\x3a\x22\x9d\xa6\xb4\xa2\x39\xcc\x08\xcf\x39\x94\x2a\x31\x87\xe9\x88\xb0\x49\xc2\xe4\x25\x87\x19\xa1\x39\x52\x21\x9e\xc3\x24\x5a\xce\x4b\xa7\x64\x0a\x47\x58\x78\xae\xd2\xc9\x09\xde\x4d\x06\x33\xe2\x29\xa9\x8d\x7e\xd8\x91\xe2\x58\xcf\xa0\x2f\xa8\xbe\xa7\xa6\x9e\x9e\x45\x5f\x53\x8f\x3a\x8a\xd0\x5a\x0e\x7d\x55\xcd\x85\x80\x9e\x43\x5f\x57\x3b\x1d\x45\x74\x96\x63\xb1\xc4\x8b\x58\xf6\xb3\x7d\x20\x45\x80\x5f\xcc\xa1\x24\x96\x2f\xbc\x61\x3a\xaa\x3c\x8b\x72\xf2\x30\xd6\xf4\x4d\x5c\x79\x16\xe5\x1b\x3b\x10\xe1\x67\x3a\xb2\x3c\x8b\x94\x58\x2d\xee\x1b\xd6\x71\x35\x05\x30\x5b\x00\x98\x4f\x85\xf9\xf3\x44\x96\x82\x50\x63\xf3\xd9\x6b\x9b\xb8\x64\x0b\x1c\x25\x0f\xc5\x8d\x15\x1e\x31\xa7\x32\x15\x82\x13\x0f\x9a\xca\xb3\x90\xe7\xe1\xf1\x89\x79\x74\xea\x11\xf3\x04\x48\x45\x7f\x1e\x4d\x12\x53\x31\xe4\xc2\x4c\x2a\x11\xf3\x28\x21\x63\x0c\xe1\x5c\x37\x8e\x85\x0a\xcb\xc0\x19\x79\xc6\x69\x56\x3a\x65\xd4\x64\x7e\x4d\x05\x2e\x1d\x34\x2a\xc0\x4b\x67\x8d\xb8\xd2\xa1\xe0\xe5\xe3\x46\xcc\x0f\xa5\xe0\xe5\x13\x47\xcc\xff\x30\x4f\xc7\xe3\x30\x8b\x92\x62\xeb\xbc\x74\x12\x3e\x86\x7f\x49\x4b\x31\x6e\x4d\xa5\x36\x68\x19\xfc\x57\x73\x98\xd1\x67\x07\xd2\x45\xa8\xe5\x30\xc3\xd0\x94\xea\xa8\xe5\x30\xbb\xe1\x0b\xff\x7b\x12\x3e\x3e\xeb\x93\x98\x2b\xc4\x34\xb5\x14\xd7\xcf\x20\x69\x3c\x89\xc3\xb1\xea\x53\x4b\xba\x33\x98\x44\x65\x21\xe0\x13\x1c\xde\x4b\xb1\xc1\x0e\xfd\x34\xc5\xb9\x22\x05\x55\x56\x80\x8c\x46\xdf\x6f\xea\x60\x65\x04\x48\x2d\xba\x73\xa8\x83\x75\x1b\x20\x97\xf3\x0a\x5c\x0a\x2f\x66\xb6\x56\x39\xf0\x7c\x5f\xec\xff\x55\x04\x9d\x9b\x20\x43\xa5\xa2\x8d\xe6\x20\x83\xe8\xad\x96\x0e\x32\x94\x3d\x4f\x87\xe4\xde\x06\xd6\xf5\xa3\x02\xcc\xdf\x06\xd4\x71\xd9\x6f\x17\x80\xc6\x31\xaf\x4e\x01\x68\x9c\xf4\x3a\x90\xc0\x5c\x48\xf3\x48\x44\x2e\xfa\xda\x0a\x66\x90\xa5\xe5\xcb\x99\x69\x4a\x66\x46\x18\xe6\xe7\x63\xb3\xde\x10\xca\x4d\xb5\xd9\xc2\x9d\x9f\xa6\x3c\xa6\xc8\x70\x19\x47\x97\xac\x45\x18\x43\xa5\x95\xc3\x35\x4d\x4f\x66\xd1\x0c\x01\xee\xf5\x62\x47\xcf\x9a\x3a\xd8\xd7\x79\x84\x21\xcf\x04\x9b\x82\x37\xab\x0d\x09\x05\x6f\xe9\x26\x39\xd7\x94\x0d\xb8\xdc\x14\x93\x61\xa9\x87\x12\x5a\x10\x9a\xfe\x41\xc7\xb0\x04\x8d\x2c\xca\xff\x7d\x60\x58\x93\x46\x1e\x35\x17\xda\x9b\xeb\x51\x13\xc2\xb4\x2a\x8d\x3c\x6d\x6d\x21\xd7\x2c\x4b\x9a\xa7\x20\xc3\x99\x37\x97\x6f\x65\xb5\x0f\x8a\x59\x4c\x7e\xf0\xe4\xd6\x81\x91\xc7\x64\x0b\x36\x36\xa5\xa6\x4c\xee\x68\xeb\x1c\xa0\xf2\x14\x99\x84\x19\x6b\x8b\x70\x11\x3e\x87\x4f\xb3\x68\x61\x58\xb8\x6c\xd9\x61\x70\x08\xc7\xb3\xc5\x72\x3a\xd5\xc1\x7c\x4b\xa2\xa3\x83\xfd\x57\xe0\xa6\xc0\x55\xfb\x20\x0a\x6e\x8a\xdb\x8e\xb4\xf5\x14\xdc\x0c\xfe\x3d\x92\xc6\xde\x02\xf0\xb2\x28\x33\xd8\x86\x4e\xd1\x3c\xe5\xbe\x0d\x09\x31\x4f\x40\xf9\xd2\xc9\x54\x36\x4a\x8f\xe4\x46\x49\xd9\x1e\xed\xc8\x3d\xa7\x92\x29\xca\xb0\x63\x90\x78\x29\x97\x62\x36\x6e\xfb\x2c\xa4\xda\x17\x10\x13\x89\x03\xc5\xae\xf1\x72\x6e\x1e\xbf\x52\xca\x06\x05\x99\xb1\xc8\x4a\x4b\xa4\x20\x33\x0e\xb9\xa9\x78\x32\x7d\x9a\x18\x27\xf1\xb8\x8d\xd8\x96\x8b\x8c\xa1\xb0\x51\x14\x99\x6b\xbf\x9d\x83\xd4\xe4\x17\xd1\xec\x02\x4f\x43\x45\xa3\xe4\x68\xe7\x88\x1a\xba\x59\x53\x44\xb2\x0b\x4c\x75\xa5\x8c\x69\xb1\xca\x9d\x62\x4a\x72\x21\xe4\x0b\xb3\x24\x4f\x2d\x18\x0c\x22\xb5\x60\x2a\x88\xd4\x82\x91\xc0\x52\xd3\xec\x59\x3f\x1a\x2c\x4e\xf1\x48\x87\xab\x02\x97\x42\xc7\xb9\x97\x43\xc1\x4b\xb1\xe3\xdc\xcc\x52\xf0\x52\xf0\x38\x3f\xc1\xa3\xe0\xa5\xe8\x71\xbe\x8b\x8e\xd3\xe7\x50\x33\x70\xf7\x95\xd8\x6f\x1a\x50\x3f\x57\x26\xf9\xe9\xd6\x8e\x01\x16\xc8\xed\x1f\x08\xe7\x3f\x1f\x1e\x05\x96\x31\x1b\x87\xc2\x14\x30\x5b\x96\x71\x2c\x47\x7c\x6d\xe4\x63\x94\x85\x93\x49\x0c\x3a\xe1\x8c\xe3\xa7\xa6\xe3\x45\x79\x05\xd9\x12\x58\xe1\x73\x69\x7b\xb2\xbf\x15\xee\x16\x2a\x0f\x99\x11\x55\xe1\x68\xa1\xf2\xf4\x30\xaf\xd4\x90\x6d\xfb\xc8\xea\x1c\x30\x50\x32\xd1\x87\xb8\x49\x19\x94\xb9\x3f\x98\x25\x68\x2a\xff\xed\x7d\xb9\xf4\x1c\x68\x30\x3f\x5f\x97\xc4\xb2\x77\xa4\x41\x05\xb6\x07\xea\x7c\x1f\xdb\x0b\x2f\x1c\xdd\xda\x3f\x50\x4b\x9e\x0e\x6d\x6f\x68\x36\x9b\x41\xac\x9f\xdf\x15\xda\xe0\xa1\x06\xf5\xb7\x83\x4d\x37\xe4\x91\x74\x89\x48\xb0\xe9\x80\x3c\x90\x7e\x6b\x09\x2e\xed\x15\x70\x27\x66\x16\x41\x92\x84\x9a\x90\xa0\x86\x21\xf3\xf0\x73\x48\x69\x21\x63\xeb\x18\x87\x95\x16\x30\xe6\x01\xe3\xb0\xd2\xc2\xc5\x47\x8e\xc1\x8a\x0b\x16\xef\xe5\x06\x8f\x18\xd3\x88\x0b\xce\x30\xcd\x5f\xa6\x41\xa5\xc8\x62\x72\x87\xad\x0b\x7a\xc5\xea\x2c\xf8\xa1\x08\x02\xe0\x93\xc2\xf4\x7e\x31\x67\xa6\xaf\x24\x6c\xd1\x46\xa4\x4d\x1e\x29\xd1\xac\xa0\x0a\x2d\xba\x16\xf8\xea\x28\x96\x82\x2b\xc4\x58\x98\x8d\x72\xd6\x2b\x78\x4b\xd3\xc4\x0f\x8f\x4a\xd5\x4b\xdc\x28\x81\x3d\x03\x35\xdd\xdf\xd6\x94\x53\x92\x29\x68\xa5\xf3\x7d\x47\x87\x86\xff\xb0\x74\xb6\xef\xb0\x63\x38\x0f\x4b\xe7\xfa\x98\xa9\x9e\x3b\x0d\x8a\x67\xfa\x38\x59\x73\x9f\x58\xc9\xd5\x57\x40\x2f\x29\xf8\xca\xd4\xf6\x14\x85\x94\x37\x69\x14\xa8\xb4\x39\xc3\x55\x69\x0a\x2a\x6d\xca\x70\x45\x9a\x82\xca\x9b\x31\x4c\x8b\xaa\xb6\xee\x3b\x32\xb6\x47\x03\xfb\xaf\xc0\x0b\x61\x94\xfc\x98\x9f\x06\x2f\x84\x53\xf2\x58\x2b\x0d\x5e\x08\xab\x64\xf1\x6f\x05\x4f\xe8\x81\x0a\x2e\x62\xcb\x50\xd1\x07\x7a\x74\x24\xe2\x3f\xc4\xf8\x16\xbc\x9f\xfc\xdd\x2f\xf9\x9c\x28\xf8\x3d\x99\x1d\xdc\x56\x4b\x79\xd1\xe3\xc9\x76\x91\x3c\xc5\x7b\x44\xed\xff\x88\x7d\x67\xb9\xd1\x49\xc2\xa4\x64\x1f\x1e\x88\x12\x25\xeb\x90\xe9\x89\x24\x4c\x4a\xb6\xe1\xbe\x00\x14\x2d\x43\xb6\x7c\x93\x59\x94\x91\x58\xbd\x9d\x61\x5f\x1e\x7e\x64\x6f\x84\x11\x40\xd3\x4d\xa0\xec\x05\x01\x35\xbd\x1c\x6a\xed\x14\x50\xd3\xc7\xa1\x1c\xc1\x02\x6a\xba\x06\x14\xb7\x93\x74\x1e\x92\x54\x6b\xf5\xe8\x48\x08\x4a\x0e\xf1\x37\x83\x8c\x2d\xf1\xa6\x10\xa1\x1c\xa4\xa3\x42\x07\x88\x49\x50\x0e\x32\x36\xc3\xdb\x42\x82\x16\x4c\xaa\x7d\x15\x39\xe2\x19\x50\x8d\x97\xf3\xd7\x7d\x14\xed\x28\xcf\x78\xd9\x47\xd1\x82\xf2\x8c\x57\x7d\x14\x6d\x27\xcf\x78\xd3\x87\x7e\x32\x37\x5f\xfe\x79\xbd\x45\x8b\x8a\x0a\x11\x66\xc3\x32\x21\x51\x69\x4c\x31\x07\x3d\x13\x07\x95\x76\x14\x8b\x18\x6b\x1b\x60\xc3\xda\x57\x41\x82\x95\xd6\x13\xc5\x9a\x45\x7a\x3e\xcd\x20\x94\x38\xb7\x73\x67\xd3\x91\x04\x99\xdb\x86\xbe\x8c\xac\x62\x30\x93\xbf\x58\xf4\x57\x5b\xc2\x4c\xee\xda\x97\x5d\x61\x30\x93\xb7\xf6\xa5\x94\x28\x9f\xfe\x54\x83\xc6\x40\xd9\x3c\xfd\x56\x7e\xf5\x10\x5b\xc1\xab\xf7\x24\x3c\x05\x29\x6d\x46\xe4\xa0\xd2\x2e\x44\x0e\x2a\x6d\x3f\xe4\xa0\xd2\xbe\x43\x0e\x32\x9c\x11\xba\x43\x6a\x8d\xa2\xc6\x94\xdf\xbc\x30\x6d\x8c\x31\x84\x04\xce\x92\xe5\xbc\xea\x9d\xb4\x09\x3c\x59\xe2\x5d\xd0\xfc\x65\xc9\x53\xf9\xc2\xd8\x3f\x86\xc6\x55\x85\xda\x2d\x24\xda\x3b\x65\xff\xbd\xc3\xde\xd3\xff\xa3\xfb\xc5\x71\x86\x7f\xfa\xe2\x8e\xea\xee\x17\x77\xef\x21\xd2\x5f\x07\x8e\x51\xca\x5e\xe6\x9b\x5f\x35\x31\x4c\x47\xfc\x2e\x10\xfb\x73\xf2\x2d\x49\x9f\x12\xeb\x31\xc4\x51\x78\x1f\x43\xd7\xb2\xeb\x69\x8f\xbf\x6e\x9b\x88\x3b\x6d\x30\x7f\x6d\xae\x81\x58\x43\xd6\x9f\xb9\x59\xb0\x11\x36\xc4\x23\x47\x5c\x77\x63\xb1\xcb\xc2\xcd\x46\x21\x1b\x87\x0b\xb0\x64\x76\xda\xb6\xba\x22\x3a\x5b\x97\xa9\x91\x57\x1c\xbc\x40\x32\x4e\x27\xf0\xf9\xe6\xa2\xab\x9e\x90\x7a\x3a\x4d\xe7\x8b\x34\x81\x84\x74\xcb\x49\x88\xb7\xfa\xe1\xee\xe3\x65\xb7\xfc\x16\xea\x17\xfb\xd8\xee\xda\xb5\x98\xf4\x6c\x64\xbf\xa3\x8f\x0f\xec\xb1\x46\x1f\xc3\xf9\xa2\x67\xa3\x1f\xec\x1f\xba\x76\xed\xaf\xcb\x94\x01\x7e\xa0\x80\xdf\xb5\x8e\x7a\xf6\xba\x57\x1e\x9e\xe1\xf1\xbb\xda\x17\xfb\xcb\x0f\xa3\xbd\x07\x54\x75\xeb\xe4\x10\x46\x6b\x7e\xb1\xf7\xb4\xf1\x00\xa4\x3f\x1e\xc3\x82\x5c\x86\xc9\xc3\x32\x7c\x00\xf3\xa2\xca\xea\x2c\x8d\xf1\x0c\xa7\x73\xb8\x5d\x2e\x16\x29\x26\x30\x71\xdc\x13\x9e\xd2\x88\xfc\xc3\xa4\xa2\x80\x03\x6e\x57\xbb\xb0\x45\xbb\x82\x06\x9c\x61\x12\x3e\x46\x0f\x21\x49\x71\x23\x16\xf9\xf3\xae\xec\xee\x3d\x20\xfb\xab\xed\x8e\xdc\x35\xbb\xe4\xe5\x6d\xf8\xe8\x77\xdc\x88\x4e\xf3\x6b\x81\x44\xc6\x5a\x4d\x43\x97\x57\xca\xde\x70\xfd\x4f\x4b\xc0\xcf\x81\x79\x35\xa6\xfe\x8e\xea\x13\xdb\x15\x6f\xc0\x57\xb7\x31\xb8\xf9\x4d\x46\x74\xea\xb1\x8b\x13\xf8\x75\x44\x35\xdb\x45\x51\xe0\xf5\xa2\xe3\xfc\xde\x57\x79\x85\x53\x1a\xb0\x0b\x5f\x45\xce\xc0\x76\x7b\x64\x38\x81\x22\xd3\x38\xe9\xd0\x1b\xb9\xa3\xa0\x12\xe2\x8f\xd4\x2b\xb8\x89\xa2\xcb\xe7\x9b\xcb\xaa\xe9\x9e\x43\x37\x8f\x9c\xb8\xa4\x48\xe4\xa3\x03\x06\x7a\xb5\xbf\x99\xc4\xa2\xde\xe2\x6f\x51\xad\x10\x56\x71\x38\x5f\x94\xde\x6b\x2e\x19\xfb\x98\x9c\x90\x2e\xbc\xc3\x27\x58\xa2\xf4\xb7\x45\x58\x7d\xf3\x4d\x2e\xd4\xd4\x0d\x3f\x0e\x41\xb6\x67\xe7\xac\xf3\x33\x13\xf5\x8b\x70\x0c\xa5\xf7\x91\x1f\x07\x9e\x78\x43\xb8\x6d\x8b\xeb\x0a\xd8\x35\x3a\x46\x29\x7e\xf7\x7c\xe3\x49\x25\xb0\xbb\x3e\xf3\x9f\x81\x6d\xa9\xff\x6c\xb7\x07\xef\x74\xa0\x64\x04\x57\x4f\xac\x07\xfa\x2f\xf5\xd2\x7f\xbd\x98\xba\x8b\x43\x4a\x6b\x76\xff\x52\xe5\x6b\xe6\xc9\x6a\xd5\x81\x16\xbb\xea\x80\xf5\xf7\x96\x84\xe3\x6f\x8e\xaf\x5e\x35\x5f\xb8\x8c\x8b\x04\xd5\xf3\x92\xdf\xb1\x66\x67\x8c\x9e\x76\xa0\x6e\x73\x3a\x89\xba\xc0\xde\x77\xde\x8b\x82\xe8\xc4\xa6\xd2\x33\xea\xda\x36\x32\x6e\xd1\xb2\xe3\xe8\x5e\x22\xd9\xb5\x08\xaf\xdd\x82\xef\x8b\x88\x6a\x28\x54\xe0\xee\xf9\xd0\xaa\xdb\x99\x5d\x8f\x5c\x55\x34\x4e\x1f\x9c\xd4\x45\x24\xe0\xaf\x1e\xc7\x74\xfa\x54\x30\x73\x99\xf1\x48\xad\xe6\x8c\x63\x08\xb1\xec\x07\x91\xb5\xb8\x08\xc4\x0d\x68\xf4\x17\xca\xef\x25\x5e\x4b\xb9\x59\xd9\xc3\x88\xae\x8a\x4e\xce\x33\x8c\x86\xe5\xdb\x03\xe8\x6c\x3f\x81\x7a\xb3\xdb\xdc\x7e\x83\x1c\xa9\xba\x3d\x6e\x9d\x5f\x33\xfc\xb2\x46\x69\x80\x7b\xe9\x31\x29\xdc\x2c\xbc\x8b\x47\x6c\x3d\xdc\x74\xad\x9c\xba\x75\x85\x63\x9a\xcd\x43\x4c\xce\xe3\x34\xc5\x83\xe8\x31\x9a\x14\xef\x70\x16\x57\xdc\xec\x11\x14\xf1\x77\xfb\x8f\x21\x8a\x1d\x9c\xd7\xb2\x8b\x8f\x7d\xd8\x6d\x9f\x44\x5d\x06\x9e\xd2\x9a\xc4\xf5\x03\xd3\x06\x0e\x93\x49\x3a\xbf\x48\x36\xdc\x51\xa6\x95\xe0\xf7\x06\xb0\xec\x8e\xfb\xa3\x43\x76\xa1\xee\xbb\x6e\x9d\xcd\xdd\x8f\x90\x65\xe1\x03\x7c\x0c\x93\xf0\x01\x70\xf9\xaa\x6a\xb9\x02\x64\x5f\xd9\xab\xfc\xab\xef\x8b\x29\x2f\x0f\x6b\x7e\x2b\x4e\xa1\x0a\x75\x35\x8e\x0d\x09\x95\xdc\x45\xf0\x32\xe1\xd7\x00\x30\x30\xbf\x70\x7a\xce\xf1\xcb\x82\x97\x75\x19\x5d\xed\xf6\xad\x70\x32\xf9\x28\xb3\x56\x5e\x45\x4d\xb5\x97\xfc\xf2\xc0\x21\x19\xf5\x70\x83\x21\x3d\x4b\xe3\x09\xe0\xec\xc4\x68\x6e\x48\x46\x01\x96\xbf\xb4\x77\xf7\xff\x9e\x2b\x5a\xc3\x3f\x7d\xc9\xbe\xfc\x9e\x6a\x59\xbf\x37\xb4\x2c\xed\xc2\x15\x8b\xb6\x61\xb4\x30\x8c\xcc\x5b\x04\x46\x8d\x71\x9a\x10\x48\xc8\xda\xed\x6e\x6e\x7c\x7b\xb7\xa7\x51\x32\xe9\x27\x93\xcb\x34\xac\xea\x7e\xe1\xa2\x70\xba\x7c\x9e\x50\x39\x24\x2e\x5b\xe8\x66\xf9\x33\x92\x97\x68\x9f\x24\x8e\xdb\x25\x4e\x8a\x32\x7e\x07\x53\x54\x1a\xc4\x71\x9a\x8c\x43\x5a\x24\x0d\x86\x23\x94\xd1\xaf\xa4\x74\xb1\x7f\xac\x61\xc4\x2f\xf4\x16\x44\xbc\x81\x29\x60\x48\xc6\x54\x07\x41\x91\x8b\x70\xe3\x3e\x4a\x26\xfc\xae\xee\x1d\xaf\xf0\xdb\x77\xdd\x75\xfe\xdb\xed\x25\x5c\x06\x6c\x24\x47\xbc\x89\x0e\x74\xf9\xe2\xbd\xa1\xe2\xe0\x9f\x3f\x5e\x7e\x20\x64\x71\x03\x7f\x5d\x42\x46\x7a\x51\x23\x4d\x68\x49\x48\x8c\x55\xb4\xe9\x79\x01\x25\x10\x09\xc9\x32\x3b\xe1\x9d\xd0\xd8\xcc\xf9\x8f\xb7\xd7\x57\x5c\x4d\x71\xa2\x06\x86\x6c\x91\x26\x19\xdc\xc1\x77\xe2\xba\x88\x38\xae\xdb\xc5\xb5\x1a\x76\x64\x05\x46\x47\x50\xd4\x48\x17\x90\x38\xf6\x4f\x67\x77\x36\x02\xfa\x3b\x83\x64\x52\xd9\xbb\x12\xdd\x5e\xb5\x06\xbe\xfc\xde\xf9\x32\xa9\xbb\x86\xb2\xa9\xad\xdf\xfc\xd6\xf5\xf5\x76\x4a\x96\x5b\x7d\x1d\xb1\x6d\xf5\x3d\x00\xa9\x1e\x10\x79\xdd\x8f\x65\x4c\x01\x57\xb0\x9d\x9a\x12\x30\x52\xf6\x83\xa1\xd6\x30\x8d\xb1\x56\x73\xa2\xa0\xa0\xf0\x0a\x4c\x1c\x70\x5d\xb4\x13\xb9\x85\xbb\x44\xf8\xaa\x28\x2d\x10\xd1\x8a\xb8\x4b\x44\x19\x48\xf8\x04\xba\x58\xbf\x9b\xaa\x74\x2d\x0f\x55\x35\x82\x21\xbb\xf5\xb1\x9a\xc5\x23\x44\x5c\xb7\x1b\x6d\x25\xf5\x02\xa7\x63\xc8\xb2\x0b\xff\x30\xe9\x13\x7e\x9f\xf2\x26\x21\x16\x40\xe3\xaf\x54\x25\xbe\x85\x18\xc6\x24\xc5\xfd\x38\x76\xec\x21\xed\xf2\xc8\x76\x11\xbf\x1b\x88\x18\x37\xec\x53\xb4\xaa\x1a\x70\xc8\x10\x8f\xb6\xb3\x40\x55\xb1\xca\x1b\x7b\xa8\xfe\xaf\xea\xb5\x29\x36\xb6\xb8\xde\xe5\x85\x2d\xc3\x81\x36\x53\x88\x2b\x96\x61\xec\x8a\xf5\xb9\x78\xbd\x4b\x98\xfc\x40\x2c\x96\x99\x0e\x47\x83\x84\x0f\x57\xe1\x1c\xea\xf6\xef\xe8\xaf\x68\x52\x67\x2a\x0e\x71\x11\x56\x0b\x36\xb3\x4c\x89\x9c\xe0\x18\xa5\x01\xed\x5c\x2f\x35\x4c\x85\x80\x99\x0a\x0c\x14\xa4\xb9\xb9\x30\x72\x91\x99\xef\xf7\x22\xdf\xdb\xd6\xb9\x06\x49\x3f\x2f\x16\x52\xa2\xaf\x9d\x02\x31\xb4\x86\xdc\xba\xfd\xd5\xae\x63\x71\xef\x56\xa6\x14\x59\x27\x75\x7b\xf6\x57\x3b\x08\xa2\x13\x68\x10\xf8\x4e\x4e\xf9\xa2\x10\x64\x5d\x60\xf7\x17\xa9\xca\x22\x2a\x92\xd9\x72\xf0\x09\x4b\x0e\x2b\xaf\xdb\x54\x24\xb0\xba\x33\x92\xe2\xf0\x01\x02\x40\xfa\xcf\xeb\x7b\x76\x4b\x3c\xfe\xca\x11\x48\x93\x5b\x9e\x7e\x3a\x0b\x93\x07\xf8\xaa\xcb\x28\x96\x21\xca\xfa\x63\x12\x3d\xc2\xd7\x60\xc7\xe7\x29\x21\xfd\x1d\x12\x70\x44\x0e\x82\xa9\x92\xbd\xe3\xf7\x94\xba\x6b\xef\xd9\x3d\xdc\x80\x64\x22\x48\xba\x67\xbb\xab\x95\x83\xeb\x01\x7d\x42\x82\x25\x61\x1a\x7d\x0f\x70\xfe\xeb\x06\xc6\x29\x9e\xf0\xcb\x82\x39\x6d\xd8\x7d\xbc\x12\x5f\x7e\x63\x30\x03\x8c\x67\x51\x3c\x39\x0f\x29\xff\xcb\xdb\x85\xf3\xf4\xcb\x28\x23\x2c\xad\x92\x4e\x1a\x77\x0f\xce\xce\xfb\x9f\x2f\xef\xbe\xfe\xb1\x7f\xf9\xf9\x2c\x30\x3d\x34\x8e\x2d\xa0\xd4\x62\xac\xa8\x85\xe3\x5a\x45\x74\xaa\x88\x4b\x8a\x4f\x60\x1a\x2e\x63\xf2\xc7\x30\x5e\x42\x40\x04\x8e\x4b\x8c\x21\x91\x69\x34\xc5\xc0\x83\x67\x4a\x65\x9f\x83\xe1\xa8\xba\x1b\x1c\x81\x2d\xbd\x79\x73\xcf\xdf\x56\x7d\x38\x99\xc8\x81\x28\xab\x88\x0a\x5d\x7e\x75\x13\xb7\x88\xde\x50\x29\x86\x79\xfa\x08\x95\xf5\x6a\xb6\x5e\x5e\xbb\xba\x57\xd1\xed\x91\x77\x81\x27\xd4\xc7\x1c\x2e\x2e\x0e\x24\xc8\x7f\x2b\x06\xc6\xa2\x94\xaf\x8f\xa5\x81\x0a\x2a\x86\xea\x64\xef\x4f\x0e\x37\x55\x56\xc9\x72\x7e\x0f\xd8\xfd\xfd\x1e\xbf\x05\x4d\xd8\x2d\x25\x1e\x70\x4f\x4a\x49\x5d\x9b\xdf\xa9\x9d\x5b\x3b\xa5\x2c\x27\x9a\xf0\x64\x8f\xbc\xd1\x68\xfa\xec\x94\x5b\x10\x8a\xa4\xd1\x44\xa9\x3b\xaf\xcd\x8c\x09\xc8\x29\x5e\xb8\x9a\x78\xc7\x94\x08\xe5\x7b\x84\xaf\x52\x62\xc9\xb2\x13\xdb\xed\x6d\x90\x20\x42\x14\x15\x18\xc0\xa9\x14\x53\x1b\x86\x52\x63\xcd\x6a\x5c\x5f\x43\xb5\x2f\x2e\x31\xdf\x86\xae\x67\xa2\xab\x4d\x82\xdf\x88\x2b\x6d\x52\xc8\xdb\x4d\xf7\x0f\xba\x2f\x5e\x10\xec\xee\xe2\x5a\x0d\x6a\x35\xba\xa4\x88\x4b\xff\x50\x14\x5c\x33\x56\x69\x7c\x83\x67\xa1\x51\xeb\x62\xd3\xdd\x64\x9c\x69\xe2\xb6\x0e\xba\x0e\x2a\xfa\xcb\xc4\x77\xad\xa6\xdb\xfc\x76\xde\x87\xcc\xa2\x38\xb3\x15\x37\xaf\xc7\x35\xe9\xf2\x00\xe4\x82\xc0\x9c\x2a\x3b\xaa\xfd\x48\xba\xd5\xb4\x62\x52\x2f\x51\x37\x39\x32\x87\xb2\x2b\x6e\x40\x8f\x86\xd9\x08\x85\x41\x26\x57\xcc\xd4\x45\x71\x10\x2a\xc5\x50\x13\xee\xb5\x5a\x61\x1e\x24\xee\x4e\x50\x35\x35\x74\xfa\x0c\xc3\x91\x31\x09\x44\xef\xb7\x65\x09\x12\x14\xd7\x6a\x0e\xae\xd7\x45\x7f\x9f\x93\xf1\xa9\x44\xc3\x09\xa9\x66\xb7\xf6\x82\x80\x0f\x95\xe6\xb4\x01\x43\xd5\x7f\x95\x29\x26\x30\x8d\x12\xc8\x73\x54\xaa\xc9\x1a\x21\x15\xba\x30\xea\xa5\x27\x82\x38\x74\xf1\x1e\xf0\x59\xcf\x56\xa3\x6e\x75\x01\x66\xfd\x6c\x16\x8d\xac\x28\xc2\xb5\x5a\x6a\x30\x3b\xfe\xd5\x7d\xd8\xa4\xbe\x7a\x3d\x92\xdf\x5d\x49\xa4\x7e\x5a\x2c\xed\x50\xd3\x79\xe8\x8d\x10\xfb\xeb\x8b\xbf\xcd\xd1\x1b\xd1\x60\x63\x84\x21\xa9\x5a\x9f\xcb\x4d\x21\xa9\x56\xa4\x89\x1a\xdc\x92\x32\x84\xa8\x15\x51\xa5\x7c\x50\x9a\x92\x92\xfa\x41\x53\x5f\xd7\x40\x34\x12\x17\x6d\x3a\x6a\x13\xd5\x6a\x6f\xbb\xbc\xfd\x42\xdc\xd8\xbe\x08\x71\x38\xef\x5a\x5c\x6d\xca\xb8\x06\x0e\x62\x91\x2c\xea\x52\x72\xa5\x46\xc4\x2d\x2a\xd1\xec\x36\x7e\xac\xe6\x9d\x21\x63\xca\x8d\x4b\x0b\x6a\xa1\xfa\xc9\xbc\x89\x55\xb3\x0b\x8f\x4c\x09\xca\xec\x8f\xd7\x68\x94\xa4\x24\x9a\x3e\xf7\xe3\x58\x17\xef\x12\x65\xa8\xc6\x92\x2b\x62\xac\xa0\x18\xc8\x8d\x3a\x49\xb1\x21\x91\x7f\x93\x2e\x52\x9c\x7e\x6c\x4d\x7c\x2b\x51\x20\xdf\x99\xc0\x01\x61\xaa\xbf\xdc\x8f\xa8\x1e\x23\x6d\x8f\xa2\x32\xc3\x30\x1a\x31\xbb\x9e\x55\x2b\x2a\xd2\xd4\x21\xbd\x78\x9e\x4c\x0b\x61\xc4\x35\xd4\x57\x89\xc2\x35\x62\x36\x2d\xaa\xa5\x12\xd2\xec\x18\x60\x1c\x87\x19\x07\xa5\x01\x46\xbb\xfe\x4e\x90\x2b\x6d\x69\x05\xf3\x0c\x96\x54\x63\x0b\x09\x58\x6c\xee\x30\x22\x71\xf3\x2e\x75\xd9\x1d\xa2\x16\xed\x59\x6f\x27\x5d\xad\x8a\x95\xf5\x5c\xee\x4f\x57\x4e\x50\xc7\x47\xfb\x9d\x4e\xab\x53\xb8\x54\x97\xe7\x62\xb7\xf4\xa6\xa8\xed\x22\xc2\x6d\xc0\xba\xdd\xa5\x8d\xf4\xf8\xd2\xb3\x61\x62\xf3\x99\x9f\xdf\x8b\x9c\x08\x53\x27\x5f\x36\x51\xd2\xc0\xc0\xee\x98\x8d\x1d\xb7\x4a\x0a\x0c\xd3\x51\x90\x20\xa1\x18\xa7\x72\xdd\xa4\xc4\x42\x99\x8b\x92\xd7\xf5\x05\xaa\x20\x95\xe9\x2f\x84\xd9\x03\x10\x06\x63\x49\x1a\x26\xd2\x12\xcb\x47\x06\x45\x01\x56\xd4\x23\x6e\x8f\x92\x33\xa2\x6b\x9b\x54\x9a\x23\xe4\x1b\xd8\x61\xd7\x45\x13\x88\x81\x40\x69\xf9\xa5\xdd\x22\x1b\xec\x12\x43\xb5\xae\xe6\x1b\x26\x5f\xa0\x6a\x5d\xdf\x22\x5e\x58\x2e\x2b\x8e\x32\x22\x66\x92\xe6\x99\x34\x51\x63\x73\x92\x79\x6a\xac\xc8\x35\xf7\xbb\x71\xa9\xfe\x1f\x64\xfd\xf6\x0f\x75\xa8\xff\x60\x4b\x3e\xfc\xa1\x9e\x5f\xa0\x8e\xd5\xbd\xba\x1b\x7b\x3d\x89\xa6\x53\xb5\x76\x94\xfc\xaf\x6a\xce\xbf\x84\x93\x09\x4c\xba\x2f\x6b\xc4\xc7\x95\x3d\x8e\xd3\xf9\x3c\x4d\xba\x6c\xb5\x60\x53\x18\xf4\x89\x4b\xc7\x89\xe4\x86\xcf\x30\x1a\xb9\x27\xb8\xc1\xcb\x0c\xe9\xcf\x51\xb0\xe3\x75\x71\x83\xd5\xac\x12\x0c\x81\xa0\x8b\x81\x61\x34\x8a\x12\x4b\x64\x5f\xad\xd4\x6f\x5e\x21\xb5\xd1\x05\xcb\x4d\x86\x44\xd4\xa5\xd1\xe1\x95\x11\x37\xd4\xa3\x8d\x44\xf0\x50\x6a\x30\x66\x56\x56\x6b\xcd\x01\x75\x51\x12\x38\xaf\x53\x9d\x39\xac\x91\xe7\xf6\x92\xe3\x54\xf6\x39\x91\xbb\xbb\x61\x90\x0e\x93\x11\x8a\x35\x11\x12\x32\x69\x15\x33\x3b\x52\x99\x8e\x31\x9d\x05\x3b\x55\x0c\x1f\x8e\x78\x4d\xb3\xed\xc2\x82\xd7\xba\x33\x73\x5f\x8a\x8e\xc6\xf0\x3e\x06\x8b\xa4\x16\x06\xaa\x36\x97\x25\x5e\xe8\xf6\xc6\x69\x42\xa2\x64\x09\xeb\x59\x59\xd0\x54\xe3\x14\xcc\x10\xd5\x4e\x67\xba\x61\xa1\xef\x19\x4a\x53\x82\xd4\x6a\xc4\x71\xd7\xee\x9a\xb9\xcc\xf8\x45\xd3\x99\x4e\xa5\x2d\x53\x3d\x1b\x26\xa3\x51\x6f\x87\xd7\xa2\x69\xb9\xe4\x0d\xd6\x4e\x66\x38\x7d\xff\xae\x4b\x69\x85\x21\x49\x8d\x10\xc7\x30\x77\x5c\x44\x0c\x8d\x7e\xa7\xca\x90\xaf\xd5\x1c\xf2\x36\xbf\x4c\x51\xa7\x78\x1b\x05\x0a\xca\x0b\x53\x5c\x82\xe1\xa8\x67\xec\x4c\x95\x64\xe1\x8b\x26\xc3\xf5\x11\x21\x79\xc1\x88\x16\xc4\x2e\x0b\x5c\xc8\x85\xbf\xf2\x8a\xa6\x5b\xb4\x23\x83\xfa\xe9\xe8\x6d\x44\x7a\xad\x60\x15\xdd\x40\x2e\x7d\xd2\xed\xf9\x8f\x31\x62\xcb\x8c\x90\x39\x99\x8b\xa0\x31\x4d\xf1\x59\x38\x9e\x39\xe5\xf1\xfb\x55\x26\x5a\x34\x9d\x56\xef\xba\x48\xb5\x5c\x29\xe8\x64\xb5\xda\xd9\xfb\x93\xb3\x4c\xb8\xa5\x31\x59\xdd\xa7\x69\x0c\x61\x22\x9c\x44\x2b\x6e\xa2\x16\x7d\x45\xe0\xae\x56\x8c\xf0\xaf\x6a\x64\xba\xa5\x57\x1d\x6e\xb0\x69\x76\x95\x97\xbf\x57\x66\x17\xed\xb5\x83\x0d\x67\x12\x22\x2e\xd3\x1a\x5e\xf7\x8e\x15\x0a\x4a\x23\xa9\x34\x85\xba\xc5\x7c\xaf\x2b\xa5\x3a\x09\xb6\x6e\xf6\x56\xd8\xc6\x84\xd9\x92\xaf\xb6\x91\xc1\x3f\x90\xb8\x62\x9b\x82\x5b\x00\x1a\xa9\x23\x4e\xdd\x2d\xb4\x3f\x29\x92\x9e\x98\x9e\x98\x8c\x7b\x62\x4c\x21\xc8\x76\xa0\x4a\x05\x37\x88\xb8\x57\x25\xaa\x8b\xf4\x35\x60\xcb\xac\x42\x40\x97\xe3\x57\x29\xfd\xf0\x8f\x5b\x22\x54\xdc\x0e\x23\xf4\x6b\x88\xc0\xf7\x45\x8a\x49\x3f\xfb\x8f\x59\x9a\x94\xe5\xf5\xcb\xba\x42\x5e\x1b\xa2\x2b\x9a\x3a\x1b\x24\x39\xe5\x38\x5d\xe0\x6b\x9a\x39\x79\x2d\x22\xad\xc7\xa3\x08\xa8\x0c\x7d\x89\x26\xdd\x14\xfd\x25\x4b\x93\xae\xa9\xfd\x13\x94\xba\x06\xfa\x7c\xa9\xa7\x06\xd4\x8b\xb6\xd7\x64\x90\x93\x8c\x7a\x59\x41\xea\x57\x0a\x7d\x86\xbb\x99\x53\x45\xb9\xbd\xea\x48\x8e\xe6\x14\xa7\x73\x9c\xce\x4d\xa2\x96\x67\xea\x46\xe2\xe5\x34\xa3\x98\xbc\x16\xbe\x17\x4d\xa4\x41\x6a\x2e\x99\xc3\x74\xd4\xcb\x56\x2b\x47\x02\x73\xb3\xd6\x21\x88\x05\x22\xa5\x94\xb1\x0b\x08\x3b\xac\x4e\x4a\x70\x61\x8d\x2a\xfb\xe8\x8d\x52\xa4\xec\x51\x2a\x6f\x9e\x98\x4e\xc5\xd7\xfd\x14\xc5\x0d\xbb\x57\xa8\xba\xa3\xcd\xde\xd5\xca\x0b\x02\xd2\x88\xc3\x8c\x5c\x48\x53\x30\x87\xd2\xc9\x2a\xa5\x9c\xf4\xc1\x96\x9d\xb7\xae\x8a\x04\x2e\xcf\x80\x17\xcd\x28\x2b\x78\x7e\x50\xca\xc6\xaf\x91\xc0\x13\x97\x65\x59\x10\x19\x4c\xd5\xcb\x82\x20\x88\x4a\xec\x97\x05\xdc\x7a\x13\xb6\x29\x93\x8a\xd4\x24\xaf\xd5\x1c\xb3\x7c\xa0\xac\xbc\x74\xb5\xa2\x23\x4a\x9f\x4e\x0a\x15\x76\xd3\xaa\x45\x08\xbb\x62\x57\x15\x43\x96\x2e\xf1\x18\x82\x17\xf9\x94\x7d\xe5\x86\x99\x02\x51\xcb\xa9\x6c\xd1\xe6\xe0\xbc\x20\x73\x01\xd2\x11\xeb\x12\x94\x84\x73\xe8\x02\x9a\x84\x24\xec\x62\xb3\xbe\x62\x58\x84\x6e\x1f\x57\xd6\x5b\xb0\x69\x49\x21\x96\x5a\x66\x64\x22\x50\x49\x40\x65\xc2\x6e\xc0\xb4\x88\xd2\x20\x24\xe1\xff\x0b\xd0\x6a\x50\x8a\x55\xe1\xf6\x19\xc7\x95\xcb\xb3\x99\x93\x41\x64\x54\x21\x23\xbe\x5d\xc7\x0d\x3a\x26\x75\x1b\xd1\x47\x59\xbd\xdc\x92\xa1\x8b\x0a\xd7\x4f\xf3\xc4\xc6\x29\x0b\x2b\xa9\x98\xb8\x1c\xfe\x55\xee\xf6\xa6\xc6\x46\xb5\x08\x46\x91\xcb\x29\x95\x04\x94\xdb\x26\x94\x81\xe8\x4c\x87\x44\x6e\x22\x29\x50\x49\x23\x35\x31\x28\xc8\x15\x5e\xa4\x3c\x48\x66\xc3\x54\x7a\x07\x06\xba\x9a\x44\x65\xc1\x22\x26\xea\xa5\xd0\x91\x1c\x34\xc4\x23\x21\x9e\x36\xe2\xf5\xb6\x5d\xe2\xaf\xfa\x36\xf1\xc6\xba\x7e\xe5\xe6\xf0\x57\x7d\x77\x98\x79\x4d\x8a\xdb\xc3\x5f\x8b\xfb\xc3\x1b\x9b\x66\x91\xab\x9b\x07\x9c\xc3\x1d\x17\x15\x76\x7d\x44\x38\xfc\xc6\x6a\xc5\x36\xd9\x96\x50\x8d\xaf\x8a\x6b\xdf\x52\x51\xd1\xd1\xf4\x1b\x6a\xca\x2a\x50\xca\x23\xe5\x5e\xd6\xbd\x48\xdb\xdf\x50\x55\xd3\x15\x30\x42\xf8\x4d\x55\x6f\x47\x32\x7b\x0b\x92\xb9\x2a\xba\xb5\x2e\x9e\xed\xd7\x54\xb7\x1d\xb7\x0d\xf5\x5d\xa6\xe3\x30\x2e\x45\x3b\xa6\xe5\x28\x15\x25\x1f\x44\xb8\x5a\x4c\x0b\x8a\x5a\x90\x48\x0b\x27\x93\xb3\x47\x48\x88\x92\x08\xb6\x28\x65\xcb\x2d\xa9\x5b\x89\xce\x06\xd9\xc0\xd0\xa9\x52\x0f\xbe\x96\x82\xe9\x25\x46\x7d\x0c\x61\x51\x28\xa8\x50\xae\x34\x9e\x94\xa2\x0e\xf2\x54\xb7\x9b\x3f\xb3\x93\x15\x72\x3d\x37\xb3\xcb\x54\x9a\x5d\xad\xf8\x92\x9f\xa8\xe9\x3f\x0a\x5e\x64\x35\x74\x79\x14\x59\xba\x38\x57\xb2\xd3\xc0\xeb\xa5\x9b\xa4\x53\x5a\x21\x9d\xd2\x91\x13\xf1\xed\xa4\x4d\xa4\xf9\x57\x48\xa7\x62\x55\xff\x76\xc2\xa9\xd8\xf2\xdf\x47\x36\x15\x6b\xad\x16\x4d\x9a\xad\xa2\x8b\x15\x66\x14\xf2\xcd\x9e\x52\xac\x3e\x76\x09\x7e\x7e\xc1\x7a\xc0\x1f\x76\xf3\xb8\xfb\xb5\x6e\x3b\x72\x96\x66\xda\x37\x76\xdf\x86\xe0\x16\xdf\xfa\x1a\x45\x81\x74\x9d\xef\xfa\xbd\xe8\x1d\xb5\x14\x76\x77\xa5\x79\x00\xc3\x68\x24\x6d\x83\x52\x67\xd2\xea\xce\x64\xbc\x33\xc3\x74\xa4\xf7\x27\xd3\xfa\xc3\x60\x19\x37\x0e\x40\xdf\x4a\xf9\xcd\x1d\xdd\x24\x91\x4b\x72\x93\x8f\x02\x2a\x86\x3d\xb8\x6c\xfb\x5e\x6b\x1d\xbf\xad\xc1\x8d\x94\xd5\x3c\x29\xa5\xe6\x71\xb1\x79\x18\xe2\x91\xeb\xf6\x0a\x8e\xe2\x57\x30\xf8\x55\xf2\x5d\x30\x1f\xfa\xad\x4d\x6c\xe6\x20\xaa\x0d\x41\x49\xff\xa9\x6c\x9e\xf6\xf2\x95\x4e\x7e\x84\x79\xaa\x9f\x5c\x7b\xc3\x3a\xf1\xb2\x2e\x57\xf0\xf7\x11\x5f\xa5\xba\xfe\xed\xe4\x57\xa9\xe9\xb2\x00\x93\x47\xf5\x7a\x66\x24\x82\xb1\x3e\x91\x21\x36\xd6\x0c\x1d\x48\xcd\x4b\xb5\x84\x70\x0b\x64\xdd\x2b\x92\x16\x55\x1f\xaa\x52\x91\x04\x81\xd7\x83\x4d\xcb\x0d\x54\x2c\x37\x30\x72\x88\x19\xd1\xef\xbd\x26\x74\x4b\xa4\x78\xb3\xd4\x15\xce\xaf\x7f\x98\xb4\xdd\x84\xd9\xdf\x57\xdc\x8a\x63\xc4\xff\x8f\x88\xd9\x52\x0f\xb7\x6b\xbe\x25\xea\x17\x13\x4a\xe1\x66\xdc\xab\x9b\x52\x36\x4e\x99\xe9\xaf\x78\x35\xca\x99\x93\xfc\x23\xd8\x30\x2d\xb1\xe1\xf6\x05\x60\x13\x29\x8a\x83\x2d\x07\xda\xdc\x6e\x02\xb6\xdd\xb4\x71\x2a\x46\xda\x54\xa4\x3c\xb0\x46\x45\x78\x91\x72\x6c\x4f\xbb\xf7\xf7\x27\x0b\x36\x83\xf0\x5e\x59\x30\x36\x48\xc8\x8a\xe9\xa9\xef\x94\x6a\x0c\xf1\xdb\xeb\xff\x15\x2b\x52\x75\xdb\x43\x3c\x1a\x6d\x58\x8d\xee\x20\x23\x9b\x4f\xf6\xa5\x0f\x01\xac\x56\x3c\x22\x50\xcb\xd9\xb8\x4c\x1f\x0a\x85\x4b\x21\x41\x14\x76\xb3\x4c\x36\xbd\xc9\xc0\x2c\x2c\x32\xcb\x5d\x81\xcd\x75\xa7\x89\xc8\x7a\x9a\xce\x17\xb4\xab\x46\xfd\x9b\xcb\x11\xc8\xc8\x27\x0c\xe1\xfc\x3e\x2e\x1e\xb1\x7c\xa5\x50\x9a\x91\xb7\x94\xba\x4c\x1f\xb4\x1c\x81\xd8\xdb\x97\x1a\x4a\xf8\x08\x2a\xb4\x79\x12\x92\x30\xb0\x6d\xfd\x90\xc3\xd7\xc2\x6f\x76\x76\xf5\x6b\x20\x82\x8b\x45\x5d\x5f\x03\x40\x43\x3b\x4e\x1f\x6c\x64\x4f\xe0\x7e\x49\xff\x46\xc9\x34\xb5\x91\xfd\x14\xe2\xc4\x46\x36\x3b\x1e\x63\x8f\xd4\x8e\x26\x04\xef\x5e\x62\x20\x16\x09\x6c\xbb\x97\x3d\x45\x42\x56\x8e\xc3\x0c\x44\x0d\x5d\xf6\xcc\x8a\xf3\x47\x5e\x45\x97\xda\x79\xc6\xb1\x15\x16\x81\xb0\xa6\x98\x10\xb5\xe5\x2c\xd0\x92\xc2\x8f\xf9\x01\x0a\x80\xc0\x71\x1a\x8d\x06\xb8\xc1\xbb\x9c\x10\x6a\xff\x2a\x24\x61\x5d\x0f\xfe\xfd\x5a\x27\x75\x68\xfc\x25\x8d\x12\xc7\xb6\x6c\xb7\xce\x8e\xdc\x22\x2c\x0e\x03\x1b\x55\x53\x1e\x71\xd7\x2e\x1a\xda\x0f\x38\x5d\x2e\x6c\xc4\xff\x9e\xa6\x71\x1c\x2e\x32\x98\x14\x88\xc0\xf1\x26\xbf\x0a\x6f\x08\x6c\x9b\xe1\xcd\x74\xc9\x37\x20\x0f\x02\x61\x73\x5c\x2d\xcb\x6e\x60\x58\x40\x48\x9c\x7a\xbd\x34\xc4\xac\x17\xbd\x4a\xf4\x1a\xac\x47\x67\xc9\x84\xaf\x2c\xf2\xd7\x86\x4c\x81\xe3\x70\x64\xb7\xb4\xbf\xbb\x5b\xd9\x7e\x81\x91\x6f\x97\x11\xd9\x18\x7a\x9e\x1b\x1a\x24\x2f\xf2\x55\xb9\x7f\x68\xd1\x2b\xed\x78\x4b\x06\x64\xb9\xa0\x72\x56\xed\xb3\x19\x59\xa8\xc2\x4a\x9b\x0e\x2a\x30\x90\x30\x44\x1a\x93\x28\x0b\xef\x63\xd8\x98\x53\x83\x23\xb6\x93\xb7\x31\xa7\x80\xe5\xb9\x58\x1c\xd2\x96\x9c\x14\x8e\x08\xeb\x2c\x7d\xe4\x2a\xb9\xe8\xfb\x82\x1f\x2b\xca\xe5\x85\x0c\x5c\xe0\xf2\xcf\xa9\xaa\x56\xe5\x65\x61\x27\x74\xd8\xf1\x72\x4c\x52\x5c\x85\x43\xd5\xb8\x34\xb2\xe5\xfd\x38\x0e\xb3\x0c\x44\xc0\x20\x71\x11\xa9\x1c\x41\x2d\x27\x45\x7a\x0b\x85\x2b\xe2\x8a\x95\x76\x2d\x7b\x2a\x7c\xf5\x79\x34\x26\x05\x58\x6c\xd3\x82\xb9\xeb\xf9\x6a\x54\x2d\xd7\x85\x50\x47\x44\x9e\x26\x10\x75\xd2\x69\x26\x0e\x77\x29\xfa\xf2\x4e\xe1\x6a\xa6\x34\x18\xe1\xdf\x0e\x69\xe3\xd8\xc3\x80\xa3\x30\x61\x75\xb1\x38\xe6\xc6\x74\x19\xc7\x94\xa3\x37\x20\x2d\xf9\x71\x53\xc8\x8a\x46\x8e\xad\x15\x98\x21\x73\xe5\x3a\x18\xfd\xaa\x6b\x30\x14\xb9\x8a\xa8\x88\x92\x35\x4f\x98\xba\x44\x0d\x2a\x6e\xdc\x9f\x50\x0d\xa2\x4b\x2d\xac\x37\x34\xb0\x5c\x6c\x5d\x93\x8b\x25\x16\x6f\x5b\x95\x4b\xc5\xde\xb8\x2e\x97\x98\x25\x77\x95\xd0\x1a\x4f\xe9\x14\x91\xe2\x8a\x92\x91\xc9\x26\x21\xcf\xe4\xc8\xb2\x77\xc7\x08\xb9\x55\xb7\x87\x76\x9d\xd4\xed\x91\x9d\x97\x39\x17\xd5\x7f\x0d\x70\x55\xf3\xba\x4e\x57\x50\x88\xf8\x2b\x28\x8a\xd5\x88\x15\x4f\xb4\x8a\x86\x80\xb8\x2e\x72\xb3\x4c\x1a\xe3\xef\x23\x69\xf6\x70\xbe\x37\x4e\x1c\x9b\x8d\xdf\x40\xb6\x8c\x09\x4b\x92\xea\x92\x38\xe4\xdc\xa3\xa4\x8c\x12\x12\x27\x8e\x4d\xc1\x16\x0e\xa3\x0c\x26\x56\x98\x58\xf0\x7d\x0c\x0b\x22\x5e\xb2\x44\xc5\x0b\x7f\x0d\x06\x0b\x81\x63\x4f\xa5\x13\xce\x27\x79\x65\x22\x8b\x58\xc4\xe9\x72\xe8\x76\x4b\x50\xd7\x45\xd0\x18\x0b\x84\x68\xeb\x5f\x1d\x68\x9c\xf7\x2f\x2e\xcf\x06\x68\xc7\xe7\x1e\xda\x0a\xe5\xb0\xca\xf5\xa3\xad\x42\x72\x10\x99\xce\x4a\xbf\x85\xf2\xf4\x3d\x20\xab\x95\x3c\xff\x39\x0d\xa3\x78\x89\xb9\x48\xe4\x8b\xa1\x92\x90\x42\x65\x0e\x31\x19\x84\x04\xd8\x9b\x48\x84\xbe\xb6\xc4\x21\x6d\x56\x4b\x12\xdb\xca\x9c\xbe\x5a\xfa\x3c\xfc\x7e\x2e\x5b\xf0\x64\x03\x49\x34\x56\xba\x1f\xc5\xf7\x9f\x96\xb0\x84\xaf\xe2\xdc\x66\x45\x3f\x35\x76\xe9\x5f\x5e\x7e\xbd\x3b\xbb\xbd\xbb\x2d\x1d\x3e\x3d\x0e\xe3\x78\x97\xd6\x96\xbd\x63\x07\x50\xb7\xd7\x93\xb1\xb3\xe0\x25\x31\x54\x40\x49\xf7\x0b\xbd\xa5\xbe\xa2\xa6\x60\x9a\x26\x64\xb5\x62\xf5\xab\x3e\xa0\x88\x45\xf6\x1a\x02\xcd\x71\x51\x16\x78\xbd\x2c\x0f\xc8\xcd\x64\xbc\x46\x12\xa4\xc3\x8c\xbf\x55\x4c\x86\x1b\xaa\xaa\x5c\x11\x61\xa0\xf8\xf0\x06\x1e\xce\xbe\x2f\xf8\x16\x34\xe6\x61\x73\x89\x9a\xce\xae\xab\xc2\x66\xe5\xfb\x01\x72\xe0\x4e\x80\x15\x58\xd8\xf0\x8a\x58\x4e\xe2\xa2\xa8\x5e\x5f\xeb\x6f\x6c\x79\x0b\x61\x3e\x85\x84\x00\xde\x10\xcd\x12\x78\xe2\x10\xfe\x2b\xcb\xbb\xee\x66\x14\x9a\xa6\x46\xf6\x4a\xed\x22\x2f\x3d\xc4\x23\xa4\x85\x37\x89\xa1\x88\xd3\x07\x11\x6c\x7c\x95\xb2\x05\x2c\xb3\xe6\x54\x92\xc0\xff\xcd\xde\xbb\x6d\xc7\xad\x23\x89\x82\x0f\xf3\x30\x6f\xf3\x38\x2f\xf5\x30\x14\xba\x2b\x4d\x96\x90\x69\x92\x79\x63\x32\x4d\xab\x65\x59\xda\xdb\xed\x9b\x4a\x92\xed\xea\x4a\x69\xfb\x50\x99\x48\x89\x6d\x26\x99\x4d\x22\x75\xd9\x96\xaa\xd7\x9a\xbf\x38\x6b\xcd\x17\x9c\x7f\x98\x35\xff\x72\x7e\x60\x7e\x61\x56\x04\x00\xde\x33\x25\x79\xef\x7d\xd6\x3c\x1c\x57\xed\x14\x08\x06\x02\x81\x40\x20\x22\x00\x02\x81\x99\x26\x50\x83\x93\x37\x4d\x02\xce\x92\xc0\x97\x91\x0e\x6a\xde\x45\xbd\xd1\x71\xf4\x29\x9a\xfa\xab\x8b\x4b\xbe\xaf\x74\xc7\xd7\xa6\x3d\xfd\xa6\xe7\xb1\x3c\xbc\x8b\x2a\xa3\x85\xc1\xf9\x43\x5a\x8b\x18\xe2\x78\x47\xa1\xb8\x88\x98\xe1\x6a\x38\x80\x67\xc4\x90\x8a\x6d\xcb\x1c\xab\x93\x9d\xa5\x41\xda\x6a\xb1\x2d\x2f\xaf\x53\x9e\x55\x2c\x81\x74\xd8\xcd\x92\x4d\x39\x9b\xe1\xa6\x31\x19\xf2\x20\xdb\xb2\x42\x66\x2b\x5c\x93\x1a\x37\x9c\x00\x96\xe5\x05\x49\x72\x97\x54\xf9\xd5\xe1\xfe\x87\xd7\x6f\x3e\xfc\x84\x41\x28\x88\x3f\xe7\x2c\x51\x13\x05\xe8\x13\xa6\x76\xa9\x49\xea\x32\x15\xac\x91\xed\x60\x9b\x08\xbf\x05\xa6\x67\x6e\x33\xe1\xf0\x3e\x77\x43\xaa\x78\xd9\x36\xa1\x1a\xda\x2c\x97\x6c\x27\x46\x83\x06\xab\x28\xe3\x06\x80\x5c\x3b\xd3\x2d\x6b\x9d\x82\xde\x34\x4d\x2f\x7f\x6b\x64\x32\x54\x4a\xae\x5a\xd9\xb5\x06\x6a\xb7\x5d\xd6\xc2\x79\x53\xd4\x3c\x47\x2f\x34\x0f\x26\xbf\x7a\x41\x8b\xcb\x21\xb3\x4d\xa4\x50\x50\xc5\x2d\xa5\xf5\x73\x00\xc8\x29\x00\x2c\xd2\x93\xf8\x98\x4d\xe3\x68\x96\x7e\x2d\x53\xa6\xce\xf4\xa5\xab\xc5\xc2\x4f\x82\x5f\x99\x6e\xa8\x2f\xb3\x71\x84\xfc\x2d\xa8\xff\x82\x35\xaa\x73\x40\xae\x32\xb9\xd5\xbd\x91\x75\x56\x95\xd6\xea\xe8\x56\x6d\x9d\xa6\x91\xdf\xa2\xa3\x1a\x57\x45\x4a\x4e\x86\xc2\x51\x5a\xdb\xd0\xd5\xe9\x81\x1b\x30\xcd\xa9\x70\xb5\x6a\x2f\xf9\x4d\x61\xc1\xb5\x2e\xbc\x6a\xf8\x14\xc4\x37\x88\xb4\x0c\x0d\xc8\xae\x2e\x63\x6a\xed\xc8\xbf\x6e\x76\x66\x52\x9a\x49\xf3\x5e\x7e\x86\x16\x23\x89\x75\x0e\x77\x8f\x8f\xf7\x5f\xef\x54\x45\x5a\x05\xcc\x71\x59\xd6\x53\x2f\xfb\xa6\x3a\xef\x9f\xeb\xb9\xe3\x30\xbe\x16\xc3\x87\xc7\xf1\xb7\xc6\xee\x66\xb5\xbe\xae\xc8\x9b\xaa\x0c\xb4\x97\x18\x07\x46\x59\xaa\xb2\x83\x92\x85\x71\x23\x6c\x23\x88\x06\xc6\xa4\xf9\xde\xd8\x2c\xa3\xa8\x4b\x4a\xbc\xcc\xb6\x44\xad\x42\xae\x29\x55\x87\xa1\x4e\x8a\x43\x5d\x1c\x0b\xc9\x98\x51\xe6\xe4\xb8\x38\x32\x94\x65\xc7\xbc\x64\x15\x7d\x60\x37\x5c\x0c\xf6\x27\x08\xd7\x11\x6b\x10\xaf\xcc\x15\x2b\xd0\xff\x0e\xcf\xeb\x49\x58\x6d\x1e\x27\xd9\x6c\xa9\xb1\x01\xbc\x74\x1a\x4d\x52\x5c\xf8\x9c\x94\xe0\x09\x9c\xd2\x48\x97\x0b\xfc\x49\x76\x24\xad\xda\x19\x8f\x68\x56\x91\x0d\x4d\x91\x01\x90\x91\x77\x77\x5b\x55\x2f\x49\xee\x72\x2c\xf6\x5d\x7d\x0c\xeb\x46\x66\x87\x0a\x4e\xa1\x94\xcf\x8a\x3e\x7a\xe9\x55\xe1\xd6\x09\xc6\x7b\xff\x26\x58\xac\x16\x9a\x44\xa0\x4d\xe3\x55\xc4\xb5\x84\xf9\x60\xc3\xa9\xe6\x9f\xc7\x09\x0f\xa2\x0b\x21\xf1\xc9\x2a\xea\x28\x2b\xd3\x48\xa0\x58\x37\xaf\x34\x6f\x62\x9e\x51\xde\x60\xc2\x76\x9a\x0c\x1e\x08\xb9\x8b\x42\x8e\x3a\xa6\xd5\x2a\x4d\x46\x58\x61\x8a\x75\x77\xa7\xf3\xc2\xe8\x6c\x52\xe7\x98\xa7\x17\x0b\xe5\xb3\x2e\x8c\x0d\xc8\xae\x4b\x28\xf5\xaa\x4e\xcb\x74\x58\xf1\xbb\x50\x33\x23\x33\x47\x45\x13\x66\x5d\xc3\x79\xeb\xe3\x54\x94\x08\xfe\xb4\x96\xad\xf7\x99\xba\x2d\x36\x2a\xf3\x45\x1b\x27\x10\xb5\x25\x08\xf1\x42\x2c\x42\x70\xaa\x4a\xd5\xf4\xb7\x9c\x3a\x37\x58\xec\x5c\x9f\xf3\x6c\x86\xbd\x19\xac\x22\xe5\x32\xe6\xdb\x83\x9c\x6c\xd4\xfb\x92\xa9\x28\x86\xaa\xf6\xcd\xcc\x6d\x12\x8a\x27\x33\xbc\x2c\x9d\xc9\x2a\xd2\x9f\x6a\xb0\x8a\x84\x27\xab\xe8\x91\x36\xeb\x51\xba\xa6\x21\xfc\x9d\x74\x61\xc8\xd1\x2a\x8a\xa0\x5a\x69\x9e\x6a\xba\x46\xba\x80\x7a\x6a\x90\x9a\xf7\x21\xd9\x52\xf7\xc0\x6b\x61\x9a\x0a\x73\x5b\xe9\x6d\xd1\x1f\x32\x07\x45\xeb\xd9\xb0\xaa\xa5\xb3\xe7\x16\xeb\x1a\x1d\x1e\x1f\x04\x37\x6c\xa6\xdb\xc6\x36\x49\xc9\x23\xa6\x4e\xca\xc3\x6a\xd2\xc5\x15\x8d\x69\x34\x7c\xf6\xab\x80\xe4\x1f\xfd\x0a\x7d\x2e\xcc\xb7\x5b\xf5\x0b\x27\xec\xac\xe2\x43\x8f\x9b\x3b\xa2\xe6\x5f\x9c\x48\x41\xd1\x82\x48\xd9\x3b\xf7\x11\xdd\xa8\x5d\xb3\x84\x69\x51\xac\x94\x74\x95\x3b\x52\x2f\x34\x2e\x5b\xc9\x85\xa0\x6c\x89\x1d\x1d\x0d\x9e\x8f\x5f\xb5\xa6\xfa\xc8\xa5\x0c\xe9\xdb\x60\x5a\xce\x52\xc4\x8b\xc6\xd9\x90\x0c\xf3\xda\xb8\xcc\x94\x77\xa5\xc4\xe3\x91\x25\x8b\x66\x30\x69\x7a\xa8\x80\xe8\x17\x4f\xf6\xcf\x83\xe0\xc2\x7b\xf2\x88\x9c\xfb\x35\x83\x17\xe7\x8f\xf5\x55\x0f\xe1\x5a\x79\x6c\x4d\x5b\x8a\x85\x8b\x1f\x04\x65\xdc\x80\xfa\x3a\x2c\x79\xc4\x2c\x36\x93\x8c\xa4\x61\xda\x06\x93\xb4\xdc\xd1\x2b\x82\x89\xdc\x07\x99\xde\xa4\x62\xd6\x0d\x79\xac\x39\x91\xdf\x5b\x8d\xa2\x20\x6c\x95\x24\x41\xae\x1b\xc8\x60\xc0\x5f\xc1\x88\xa3\xe2\x2b\x2d\x1d\xce\x82\x99\x10\x65\x61\x20\x7c\xed\xca\x0f\x57\x4c\xf3\xa3\x59\xe1\x15\x46\xd1\xd4\x16\x71\xc2\x30\xb4\x70\xe6\x98\x34\xcc\x3c\xf3\xb9\xe6\x9a\x71\x51\x3e\x91\xc5\xa6\xbc\x28\xa2\xf5\xae\x6e\x16\xe4\x75\x3d\x5f\x9a\xc3\xca\x76\xd7\xf8\xaa\x18\x52\x1f\x47\x25\xf6\xe5\x27\x62\x8b\xfc\x82\xc2\x33\x2d\x5e\xf1\xdf\x8b\x09\x92\xbb\x40\x6d\xc3\xf2\x9e\x24\xb5\xd5\x2a\x47\x5b\x2e\xbe\x53\xd6\x5f\xb5\xaa\x61\x8a\x2a\x5f\x15\x8d\x4a\x7d\xa1\xb0\x46\x59\xa9\x61\xf5\x4f\x36\x6b\x19\xf7\xa4\xe5\x01\x89\xa0\x20\xda\x60\x58\xaa\x33\x62\x35\xfd\x6e\x04\xca\x67\x36\xd9\xb9\xc4\x2c\xec\xb4\x54\xde\x2f\xec\xbb\xbb\xe2\xc9\xc2\x07\xd5\x86\xa8\xf0\x41\x16\xf9\x49\xe2\xdf\xee\xff\xb5\x81\x3b\x5b\x0c\x26\x1f\x6a\x5d\x8b\xb5\x5a\x5b\x1c\xe3\xf5\x48\x82\xb6\x3c\x5e\x9e\x8a\x6c\x59\xe3\x35\x1b\x43\xb6\xb7\x13\x03\x4a\x4e\x92\xb3\x2d\x8c\x7b\x99\x97\x50\xab\x66\x0f\xd3\x99\xa6\x2c\xe1\xfb\x7f\xad\x19\xa5\xec\xeb\x70\x20\x77\x91\x13\x71\x8c\xb9\x10\x9d\x5b\x4d\x67\x98\x0c\xd0\x9e\x07\x7c\x2f\xc4\xd6\x5e\x77\xae\xbb\xba\x19\xc8\xb8\x2f\x1c\xdb\x94\x13\x28\x6b\x07\x50\x6c\xf3\xc2\x77\x07\xb7\xf8\x80\xab\x0a\x5b\x9e\xc7\x5b\xad\xad\x86\x10\xad\xd2\xac\xab\xae\xc0\x1e\x30\xb2\x53\x83\x3b\x64\x42\xb6\x93\x6d\x72\x46\x5c\x42\xc6\x99\xe3\xa0\x13\xc5\x12\xb2\x1d\xcb\x89\xec\xa5\x3c\x73\xe9\x87\x21\x4b\xde\xc5\x53\x94\xde\xaf\xba\x25\xb6\x4f\x6c\x03\x87\xb6\x89\xb6\xe5\x79\xf8\xc0\x8d\xfa\xb7\x8e\x35\x7c\x6f\x90\x0e\x73\xcb\xf3\xb2\x60\xd5\x7c\x27\xfb\x2c\xd5\x48\x24\x36\xe0\x31\x24\x66\x5d\xf3\x08\xd2\xea\x68\x1a\x96\x9d\x9a\xc2\xab\x27\x6a\x47\x67\x52\x0f\xb1\x3e\x61\xdb\xf6\x59\x07\x97\xa5\xf5\xe7\xfa\xe4\x97\xe7\x67\xdb\xee\xe9\x6c\xdb\x80\x9f\x53\x63\xe7\x9f\x9f\xe7\xbd\xbf\xc3\x27\xd6\x99\x4b\x76\x76\x76\xc8\xc3\xc4\x4a\x1d\xdc\xfc\xfd\x03\x74\x41\xe6\x8e\x3f\x42\xaf\x01\x6b\x4b\x98\xaa\xda\x42\x4a\x94\x52\xfc\xec\x61\x45\x5f\x5f\xe5\xab\x37\xc1\x4f\xd3\x9a\x29\x6a\x40\x29\xdc\x23\x85\xf2\xd3\xc9\x81\xf3\x1a\x2f\xa3\x48\x6a\x85\xcf\x6f\x39\x4b\xdf\xb1\x39\xcf\xb7\x1a\xcd\xd8\x61\x1c\x44\x59\x46\x18\x5f\xb3\xe4\x55\xbc\x8a\x66\x9e\x59\xc1\x56\x0a\xaa\x06\x39\x6b\xbe\x77\x10\x42\x1b\x36\xaa\xc9\x65\x75\x3c\xab\x9f\xec\xc5\x33\xb6\xcb\xf5\x04\x17\x4d\x4c\x69\x0b\x32\xe2\x8c\xe0\x85\x67\xd9\xc3\x1d\xbe\x2d\xc1\x11\xd4\xb5\x46\xf6\x0b\x2f\x68\xb5\x82\x17\x9e\x6d\x77\x77\xf4\x4a\x03\x82\xb6\x35\xb2\x69\xa5\x99\x56\xad\x55\x96\xed\x18\xae\x6d\xf7\x32\x54\xdd\x51\x03\x2a\xdb\xee\x55\x51\xd9\x35\x54\xb6\xd9\x03\x5c\x3d\x33\xc3\xd5\x1b\x36\xe1\xea\x99\x55\x5c\xdd\x1a\xae\x41\xbf\xdf\x1d\x00\x32\x27\x43\xd6\xb7\x1a\x91\x39\x55\x64\xbd\x06\xc2\x46\x43\xab\x6f\x1b\xae\xdd\xcf\x59\xd6\x6f\x62\x99\xdd\xaf\xb1\xac\x5f\xa7\x6d\x68\x99\x8e\x33\xe8\x19\x2e\xdf\xf6\xc8\xff\xfb\xff\xfc\xdf\x24\x8b\xbb\x6d\xd9\x19\xbd\xd6\xc8\xca\x8d\x7c\x86\xae\xdd\xae\x0a\x5a\x85\x88\x17\x2f\x06\xc6\xb6\x1e\xb4\xa1\x5f\x68\x5d\x14\x8a\x91\x0e\xb3\x32\xea\x18\x50\x4e\xe3\xdd\x5d\xbf\x6f\x8f\x06\x2f\xbc\xb8\xd5\x8a\x5f\x78\xfd\x61\xb7\xd7\xbd\xbb\x8b\x5f\x5a\x96\xd5\xb3\x2c\x6b\x47\x11\xee\xc6\x2f\x90\xd3\x90\x21\x54\x5f\x67\x9e\xc4\x8b\x3d\x29\x93\x7a\x6c\xb8\x7a\xdc\x16\xbd\x41\xd7\xc0\x60\x4d\xdb\x7a\xfc\xf2\xe5\x4b\xcb\x6c\x59\xa6\xdd\x35\x68\x7f\xd0\xb5\xcd\x6d\x1d\x1e\x5a\xb1\x61\xc8\xa3\xf6\x9a\xaa\xb6\xca\x63\x93\x26\xed\x76\xe9\x66\x18\x79\x7d\xcc\xc9\x81\xd3\x34\xc5\x16\x0e\x48\x61\x2c\x1a\xb2\x80\x54\x5e\xf2\x2e\xa3\x6a\xe9\x1f\x1f\x93\xd8\x1e\xd5\xb3\xc8\x4d\x23\x40\xae\x74\xb3\xae\x97\x0c\x97\x20\x83\xae\x35\xc2\xaf\xb4\xdb\x56\x56\x47\xb6\xf3\xbb\x84\x7f\xdb\x32\xc6\x12\x7d\xa1\xb3\x76\x74\x81\x7f\xb0\xad\x0b\x2e\x06\xc6\x8b\x17\x96\x69\x64\x3c\xa5\x40\xb0\x2b\x89\x90\xdf\x75\x25\x45\x18\xd0\x00\xa8\x16\x7a\xc3\x28\xeb\x8d\x71\x16\x35\x0e\x46\x81\x89\x43\xb4\xb9\x63\xad\x91\x7d\x17\xbc\x7c\xf9\x72\x60\xd0\xd4\xb3\x0c\x37\x78\x81\x15\xf4\xd7\x16\xb0\xed\x1e\x16\xb0\x6c\x28\x61\x1b\xee\x5a\xc0\x9e\x29\x00\x1d\x00\xec\x1a\xe3\xf4\xa5\x39\x36\x52\x18\x1c\x6b\x48\xb1\x1d\x41\xca\x5f\xd2\xd6\xa0\x5b\xbe\x44\xe8\x7a\x2a\xee\x0f\xbb\x9e\x76\xa2\x55\xf8\x25\x98\xf1\x4b\xcf\x14\xcf\xd3\x38\xe2\x49\x5c\xce\x4b\xd8\x85\x9f\xcc\xf6\xfe\xfd\xdb\xee\xe2\x3c\xb8\x58\xc5\xab\xd4\xdb\xb2\x24\x78\x21\x53\x94\xb1\x15\x9e\xc5\x79\x10\xc1\xc4\x77\x32\x19\x0e\x1c\xea\x0c\x47\x67\x74\x62\x59\xfd\x3e\xb5\xac\xbe\x83\xe9\x81\x49\x2d\x6b\x60\x41\xba\x67\xf7\xa9\xd5\x1b\x20\x4c\x6f\x68\x51\xf8\x11\xe9\x2e\xa4\x7b\x22\x3d\x80\xf4\x50\xa4\x47\x90\x46\x78\x18\x68\x56\xbf\x2b\xd2\x7d\x9b\x5a\xfd\x3e\xc2\x0c\x2c\x8b\x5a\x83\xae\x89\xe9\x9e\x43\xe1\x07\xd2\xc3\xbe\x49\xad\xe1\x00\x71\x0e\x07\x43\x48\x8b\xfc\x21\xe4\x0f\xbb\x90\x76\xcc\x21\x85\x1f\x91\x1e\x41\x1a\xf1\x3b\x3d\x93\x5a\xce\x60\x00\xe9\x51\xdf\xa1\xd6\x08\xcb\xda\xa6\x3d\xa4\xb6\xd9\xed\x43\xba\x6b\xf6\xa9\xdd\x35\x07\x98\x1e\xf4\x28\xfc\x88\xf4\x88\xda\xdd\xa1\xc8\x77\x2c\x0a\x3f\x22\x0d\xf0\x0e\xe2\xe9\x99\x36\xb5\x7b\x66\x17\xd3\xdd\x2e\x85\x1f\x4c\x8f\x20\x7f\x64\x8b\xf4\x90\xda\x7d\x13\xda\x65\xf7\xcd\x11\xa4\x47\x98\xee\x9a\xd4\xee\x77\x11\x67\x7f\x60\x51\xbb\x3f\x40\xf8\x81\x6d\x52\xf8\x11\xe9\x3e\xa4\x91\x86\x41\xd7\xa2\xf6\xa0\x2b\x60\xba\x90\xdf\x1d\x62\x7a\x68\x53\x7b\x80\x7c\xb0\x07\xce\x88\xda\x83\x11\x96\x1d\xf6\x1c\x0a\x3f\x98\xee\x77\xa9\x3d\x44\x3e\xdb\xc3\xfe\x88\xda\xc3\x81\x80\x19\xf4\x21\x8d\x7c\x18\x3a\x03\x6a\x0f\x1d\x84\x71\xac\x21\x85\x1f\x4c\x0f\x07\x14\x7e\x44\x7a\x04\x69\xa4\xdf\x01\x9e\x38\x0e\xd6\xeb\x8c\xba\x14\x7e\x20\x3d\x02\x9e\x8c\x4c\xa4\x73\xd4\x1b\x50\xf8\x39\xa3\x93\xae\x69\x3a\x14\x7e\x30\x6d\x5b\x14\x7e\x20\x6d\x75\x7b\xb4\x6b\x75\x11\xc6\xea\xd9\xb4\x6b\xf5\x7a\x22\x3d\x80\xf4\x08\xd3\xfd\x21\xed\x0a\x39\xec\xda\x03\x93\xc2\x8f\x48\x77\x21\xdd\xc5\xf4\x10\xf2\x87\x22\x7f\x38\x80\xf4\x10\xd3\x23\x87\x76\xed\x11\xe2\xe9\x8e\xba\xb4\xdb\x1d\x41\x7b\xbb\x3d\xb3\x4f\xe1\x07\xd2\xd0\x17\xf0\x23\xd2\x0e\xed\xf6\x7b\x22\x0d\xf4\xf4\x7b\xd0\x96\xee\xa0\xdb\xa5\xf0\x23\xd2\x03\xda\x1d\xc8\xfc\x7e\x9f\x76\x07\xd8\x77\xdd\xe1\xc0\xa2\xf0\x23\xd2\x3d\x48\x63\xbd\xc3\x21\xe4\x0f\x05\x8c\x03\xf9\x0e\xe6\x3b\x00\xe3\x20\xff\xbb\xc0\xc3\xae\xe0\x61\xd7\x19\xf5\x21\x2d\xf3\x87\x90\xc6\xb6\x8c\xfa\x5d\xda\x1d\xa1\x3c\x77\x47\x03\x87\x76\x47\x02\xe7\x68\xd8\x83\x34\xc2\x8f\x00\xff\x68\x84\x34\x8c\x46\x5d\xda\x33\x6d\xe0\x5b\xcf\xec\x3a\x14\x7e\x20\x6d\xf5\x2c\xda\x13\x7c\xee\x01\x9f\xe1\x07\xd3\x7d\x93\xf6\xac\xbe\x25\xd2\x5d\x48\x77\x31\xed\xf4\x68\xcf\x72\x00\x7f\xaf\xd7\x73\x68\x6f\x80\x63\xad\x37\xea\x8f\x28\xfc\x9c\xd1\x49\x7f\x64\x0e\x68\x7f\x84\xfd\xdb\x1f\x75\x1d\xda\x1f\x21\x0f\xfb\xa3\xa1\x49\xfb\x23\xd4\x0f\x03\xd3\xb4\xe9\xc0\xc4\xf1\x32\x30\x07\x0e\x1d\x98\xc8\x9f\x81\x39\xb4\xe8\xc0\xc4\xfe\x1a\x98\xce\x80\xc2\x8f\x48\x8f\xe8\xc0\xc4\xbe\x1b\x58\xe6\x88\xc2\x0f\xa6\xfb\x7d\x3a\xb0\x50\x9e\x07\x5d\xab\x4b\xe1\x07\xd2\xbd\xae\x4d\x07\xbd\x6e\x4f\xa4\x47\x74\xd0\x43\x1a\x06\xbd\xbe\x49\xe1\x47\xa4\x87\x90\x46\x3c\x83\xe1\x88\x0e\x06\x0e\xe6\x8f\x2c\x9b\x0e\x46\x56\x1f\xd3\x83\x1e\x85\x1f\x91\x1e\xd0\xc1\x68\x28\x60\x86\x00\x83\x3c\x1f\x8c\x86\x0e\xa4\xa1\xbd\x43\xd3\x1a\xd1\xa1\x69\x03\x3d\xc3\x81\x35\xa0\x43\x31\x66\x87\x83\xa1\x43\x87\x03\x1c\x2f\x8e\x6d\x76\xa9\x63\x23\xdf\x1c\xbb\xdb\xa3\x8e\x8d\x7d\xe1\xd8\x8e\x43\x1d\x1b\xfb\xcb\x01\x59\x75\xba\xc8\x1f\xa7\x67\x9a\xd4\xe9\xa1\x7e\xb0\xec\x6e\xd7\xa4\xf0\xdb\xc7\xa7\x5e\xcf\xa2\xf0\x0b\x74\xf4\xba\xa6\xd5\xa3\xf8\x2b\x9f\x46\xf8\x34\x12\x4f\xbd\x3e\x3c\x61\xef\x0e\x7a\x36\xb0\x16\x7e\xe1\xa9\x6f\xda\x3d\x3a\xe8\x9b\xa8\x89\x07\x7d\xb3\x3f\x80\x27\xc1\x97\xbe\x0d\x8c\x81\x5f\x7c\xea\xdb\x23\x0c\xac\x8a\x7d\xe8\x98\xa3\x21\x85\x5f\x7c\xe7\x58\xa6\x45\xe1\xd7\x96\x4f\x0e\x3c\x59\x02\xd2\xea\xdb\xf0\xd4\xef\xc9\xa7\x11\x3e\x09\xcb\x32\xb2\x7a\x5d\x8a\x7f\xfa\xf2\x19\x6d\xcd\xc8\x42\x4e\x63\x42\xbc\x97\x96\x68\x64\x5b\x60\x7f\x46\x36\xf6\xb4\x65\x8d\xba\x03\x9b\xe2\x1f\xc0\x3e\x02\x33\xd1\xa7\xe2\x8f\x7c\xee\x0e\xe0\x79\x80\x54\x8f\xac\xe1\x70\x60\xc2\xf3\x68\x34\x3a\x3b\x13\x46\xcf\xcf\xec\xe3\x04\xcc\x0f\x95\xc6\x6d\xd0\x03\xdb\x83\xa9\x21\xb5\xa4\xb1\x01\x5b\x83\x84\x0d\x7b\xd4\x1a\x4a\x63\x04\x76\x06\xcd\x8c\x0d\x56\x06\x53\x60\x63\x10\xcb\x08\x52\xc2\xd8\x38\xd4\xc6\x61\x61\x5b\x7d\x6a\x5b\xa8\x48\x6d\x9b\xda\xb6\x34\x3f\x60\x7d\x30\x65\x53\xbb\x2b\x4d\x0f\x58\x1e\x61\x60\xc0\xbe\x60\x0a\x2c\x8a\x30\x2e\x68\x4f\xd0\x6c\xd8\xd4\xee\xa3\xa2\xed\xf7\xa8\x8d\x6c\xb6\xfb\xf0\x56\x28\x7a\xd0\xf9\x5d\xa1\xf2\x41\xfb\xa3\xa2\x06\x3d\x2d\xd4\x74\x8f\xda\xa8\x60\xec\xd1\x88\x4a\xf5\x08\x1a\x11\x05\xb4\x6b\x81\x1e\x46\xd5\x62\x8d\x68\xd7\xc6\x94\xdd\xa3\x5d\x1b\x55\xb3\xed\xd0\x2e\xb2\xb5\x0b\x3a\x51\xa8\x44\xd0\x9a\x28\x4a\xdd\x3e\xe8\xcf\x91\x50\x93\xa0\x31\x41\x10\x07\x36\xed\xa1\x8a\xec\x0d\x7a\xb4\x87\xdc\xed\x0d\x06\xb4\x87\xaa\xac\x37\x00\x8d\x82\x8a\x69\x68\xd2\x1e\xf2\xb9\x37\xb4\x69\x0f\x07\x5a\x6f\xd8\xa3\xc2\xa5\x00\x8f\xa2\x87\x86\xa8\x3f\xea\xd2\xfe\x48\xa8\x11\xd4\x10\x38\x08\x1d\x3a\x44\x3e\x0f\x2d\x8b\x0e\x51\x04\x87\x56\x97\x0e\x71\x48\x0f\xad\x21\x1d\xa2\x41\x1b\xda\x26\x1d\xa2\x79\x1d\xda\x0e\x1d\x62\x3b\x86\xdd\x2e\x1d\x62\x3b\x86\xdd\x3e\x1d\x76\x85\x08\x75\xe9\xc8\x06\xcc\xa3\xae\x45\x47\xd8\x1f\xa3\x5e\x9f\x8e\x50\x4a\x46\x83\x2e\x1d\x09\x07\xc8\x04\x67\xc8\xc4\xde\xb4\x4c\x70\x38\x2c\x53\x88\xa8\x09\x02\x8d\xe2\xe8\x80\x10\x38\x42\x0a\x1c\xdb\xb2\xa8\x63\xe3\x70\x75\x6c\x6b\x00\x69\xa1\x14\x6c\x93\x3a\xb6\x2d\x14\x81\x0d\x0a\x02\x95\x88\x63\xdb\x50\xb6\x2b\xf2\x7b\x00\x83\x12\xe1\x80\x48\x38\x42\x26\x1c\xbb\xd7\x87\xb4\xa8\xab\x0f\xf8\xfb\x02\xbe\x0f\x78\x50\x32\x9c\xae\x89\xca\x05\x69\x80\x6e\x85\x1f\x4c\xdb\x16\x75\x44\xcf\x3a\xe0\x00\x39\x62\x48\x39\x3d\xc0\xd3\x13\x78\x7a\xfd\x2e\xa4\x85\x62\xea\x0f\x21\x8d\x34\xf7\x06\x90\x1e\x88\xf4\x10\x14\x16\xf6\x9e\xd3\x73\xa0\xac\x63\x8b\xf4\x00\xd2\xd8\x96\xde\x08\xf2\x85\xb2\xeb\x77\x2d\xea\xf4\xd1\xa1\x71\xfa\xdd\x11\x75\x84\xa1\x75\xfa\xbd\x1e\x75\xfa\x7d\x6c\x4b\x7f\x60\x52\xa7\x8f\x7c\x76\xfa\x23\x9b\x3a\x03\x13\xcb\x0e\xba\x90\xc6\x1e\x73\x06\x7d\x87\xc2\x0f\xa6\x01\x7e\x80\xce\x81\x03\xca\xdd\x91\xca\x77\x68\xf6\x28\xfc\x88\xf4\x00\xd2\x48\x33\x88\x8a\x33\x44\x49\x77\x86\x56\x1f\xd2\x7d\x91\x1e\x41\x5a\x94\x05\xfe\x0c\x45\xbf\x0c\x6d\x80\xb1\x05\x4c\xd7\xa4\xf0\x23\xd2\x5d\x48\x0f\x44\x1a\xca\x76\x45\xd9\x1e\x94\xed\x89\xb2\x3d\x80\x41\x87\xcc\x01\xa7\x16\x7e\x44\x1a\xe8\xe9\x0b\x78\xe0\xbf\x70\xc8\x9c\xe1\x10\xf2\x87\x02\xa7\x03\xf0\x8e\x80\x07\x7e\x0e\x05\x3f\x1d\x30\x12\x8e\xe0\x89\x03\x6d\x14\x4e\xb0\xe3\x58\x90\x6f\x89\x7c\x0b\xf2\x45\xbb\x1c\x30\x3c\x4e\x57\xa6\x1d\x48\x63\xbd\x0e\xf4\xaf\x23\xfa\xd7\x81\xfe\x75\x44\xff\x3a\x83\x11\x85\x1f\x4c\x8f\xfa\xd4\x11\x4e\x89\x03\xc6\xcf\x11\xc6\x6f\x04\xca\x62\xd4\x43\x47\x6d\x04\x32\x33\xea\xf7\x70\xac\x80\x73\x3f\xea\xa3\x43\x39\x1a\x98\x26\x0c\x1c\x1c\x57\x03\xcb\xa1\xa3\x81\x2d\x47\x91\x4d\x47\xa2\x1f\x47\xe0\xd4\x8e\x06\x3d\x91\xdf\x07\xf8\xbe\x4c\xf7\x20\x2d\xca\x82\x12\x1f\xc8\x11\x38\x80\xfc\x81\xc8\x1f\x42\x3e\xea\x8b\xd1\x60\x08\x78\x86\x32\x1f\xea\x72\x04\xfc\xc8\xa1\xa3\x21\xf2\x6a\x04\xfd\x3e\x12\x3a\x62\x04\x7d\x37\x1a\xa2\xe6\x1d\x0d\xbb\x43\x48\x23\xcd\xc3\x9e\x4d\x47\x43\x1c\x5f\x23\x70\xa6\x47\x43\xd1\x46\xe8\x2f\xf8\x11\x69\xc8\x47\xd9\x1b\x0d\x47\x00\x8f\x4e\xff\x68\x38\xea\x41\x1a\x71\x3a\x76\x8f\x8e\x1c\x94\x99\x91\x63\x0f\x21\x8d\x78\x1c\x50\x2b\x8e\xa8\xd7\x01\x63\xe5\x88\x7a\x9d\xee\x08\xd2\x42\xb7\x80\x01\xc7\x5f\x7c\xb2\x4c\x9b\x5a\xa6\x30\xaf\x30\x8b\xee\xd1\x41\x57\x50\x88\x13\x63\x34\xd2\x5d\x81\x03\x35\x91\xd9\x73\xfa\x62\x86\x84\xa9\x01\xc5\xe5\x11\x33\xb3\x80\x41\x7a\x5c\xbb\x73\x55\x5d\xa2\x69\x62\xdc\xf4\xe2\xdc\xb0\x70\xd4\x7b\xae\xb3\x17\xe5\x97\x13\xf3\x6c\x62\x9e\xdd\xdd\xb1\x97\x95\xfc\xf8\x6c\x62\x9d\x95\xbf\x60\x8c\xe3\x97\x5e\x32\xc6\x80\x7f\x5e\xe1\x8a\x4a\x3d\xd9\x8e\x8d\xe7\xb6\x41\x6b\x38\xb8\xc0\xe1\xf1\x6d\x2b\xdb\x6d\xb7\x55\x27\x01\x2f\x8c\x28\x6c\x14\x8e\x3d\xde\xb6\xee\x55\xd5\xf7\xaa\xcd\xa5\xa9\xf1\xc6\xa6\x67\x1e\x42\x53\xd3\xb3\x97\x95\xa6\xe7\xf9\x3f\xde\xf4\x1c\xc7\xc6\xa6\x97\xc0\x1e\x6e\xfa\xf4\xd2\x4f\xc4\xb4\xbf\xe1\x33\xcc\x9a\xb5\x83\x9d\x72\xc9\x23\x04\xc8\xde\xea\xcc\x70\xcb\x00\xaf\x83\x34\xa9\xc1\x54\xeb\xaf\x03\x35\x51\x64\x7a\x9e\xc7\x76\x4a\xeb\x1e\x2e\x7b\xd1\xb5\x81\xd3\x9e\x65\x0f\x5b\x2d\xf6\xc2\x1a\x98\x3b\xb5\x95\x10\x97\xbd\xb0\xec\xe1\x8e\xe5\x16\x85\x5c\x67\xc6\x8e\xe9\x5a\xdb\x3a\x7b\xe9\xf5\xba\x7d\xbb\xd5\xd2\xd9\x0b\xaf\xd7\xeb\x0d\xef\xee\x46\xa6\x69\x79\x1e\xc3\x84\x8d\x09\xa8\xc1\x1a\x99\x3d\xa8\xc3\xeb\xd9\xd6\xc8\x6a\xb5\x2c\xbb\xdb\xb7\xb6\xe4\xdb\x5e\xcf\xec\xda\xf8\xb6\xdf\xb7\xcd\x2e\xe6\xc1\x60\x14\x25\x06\x3d\xbb\xdf\x17\x79\x7d\xb3\x67\x8a\xbc\xbe\xd9\x1b\xa9\xbc\xa1\x2d\xf3\xac\xae\x82\xb3\x1d\x05\xd7\x1d\x0e\x64\x5e\x5f\x52\x30\xe8\xf7\x2d\x53\x50\xd5\xb5\x54\x61\x0b\xd4\xa1\x28\x8d\x49\x07\x73\xed\x81\x6d\xf5\xe4\x57\xe5\x0d\x3d\xb7\x56\x04\xca\xe3\x03\xb8\xd6\xbc\x74\xf4\x84\x7e\x4f\x79\x83\xd8\x65\x6b\x95\x72\xc0\x99\xe3\x38\x5f\xac\x34\x64\xd0\x52\x96\xaf\x01\xef\x72\x19\xa3\x47\xe7\x5e\xb9\x6a\x3d\x35\x8c\x17\xea\x92\xe8\xb6\x35\x4e\xb6\x3d\x4e\xe3\x6d\x2f\x55\xcb\x79\x96\x6b\xdf\x17\x23\xd8\x03\x49\x18\xdc\x72\xdd\x85\x16\x34\xc2\xc1\x1a\x7b\x26\x8d\x4a\x84\xb5\x5a\x5b\xba\x1e\x6d\x57\x09\x28\x2d\x78\xc6\x86\x61\xbc\xe4\x06\x46\xa8\x1a\x67\x01\x11\xb7\xbc\x44\xb4\x39\xf5\x62\x44\x9a\x16\x90\x46\x2f\xbc\x64\xfc\x00\xda\xd4\x30\x68\x0a\x28\xd5\x19\xfb\x97\x49\xab\x95\xb6\xdb\x54\x5d\x44\x1d\x44\x17\xe2\xc6\xd6\xec\xa6\xc2\xec\x16\xa5\x52\xa3\x4b\xdb\x5b\xca\xb7\x7a\x17\xa0\xc4\x9b\xb6\x08\x7c\x56\x0c\x7d\x89\xf7\x48\xcf\x62\xfe\x5c\x04\x55\x0e\xe3\x8b\xe7\x57\x2c\x49\x83\x38\x22\x94\x70\x76\xc3\x9f\x2f\x43\x3f\x80\x07\xab\x63\x0d\xf0\xec\xd2\x03\xc5\x67\x3e\x67\xd5\xb2\xb6\x69\x0d\xdb\xa6\xd3\x56\x18\xf8\x8c\x2d\xc5\x0d\xd6\x32\x9c\x02\x29\x46\xdb\xe8\x88\x3d\x73\x27\xb7\x4b\xb9\x19\x2a\xee\xfc\x1a\xc7\x8b\x2f\x7e\x02\x76\x41\x6d\x1c\x21\x7f\xff\xf8\xf1\xbd\xb6\xe5\x69\x96\x69\xfe\x99\xd0\x58\xc5\x00\x8d\x97\xb7\x19\xc8\x7f\xff\xbf\xfe\x4f\x78\x33\x63\xe9\x37\x1e\x2f\x3f\x00\x40\x20\xbe\x7d\x9e\x04\x3c\x04\x80\xff\xfa\xdf\xb4\x3f\xeb\x1c\x1e\x0c\xed\xbf\xff\xd7\xff\x06\xd0\x9c\xa5\xfc\x35\x5b\xa6\xde\x84\x5c\x72\x96\x2c\x3a\xc7\xd3\x24\x0e\xc3\xc3\x38\x11\x3b\x06\x52\x42\xf3\x17\x8c\x45\x95\xcc\x13\x96\x2c\x82\xc8\x0f\x2b\xd9\x9f\x4f\xea\x19\x7b\x7e\x14\xb1\x99\xc8\x3e\x43\xce\x5e\x04\x29\x67\xc9\x9b\x28\xe0\xba\x00\x23\x74\xdd\xd1\x6e\xe3\x7b\x89\x51\x1c\xc3\x60\xd2\x6a\xb4\x9a\x58\x05\x9c\x96\x8c\xbe\xbb\xd3\x9b\xef\x90\x97\xd1\x27\xaa\xcf\x18\xcd\x76\xa7\x8a\x45\x6e\x81\x2d\x47\xe4\xd3\x1b\x4a\x1a\xee\x03\x45\x31\xae\x93\xda\x50\xbe\x85\x06\xf9\xc9\x77\xdc\xbf\xf7\xa3\x60\xce\x52\xae\xd4\xcc\x7a\x08\xdd\x18\x27\x5e\xda\xf1\x97\xcb\x56\x0b\xff\x74\xce\xfd\xe9\xb7\x8b\x24\x5e\x45\xb3\xfb\x64\x67\x4d\xec\x19\x11\xf4\x95\x2c\xe3\xe5\x6a\x49\xee\x0d\x6a\x1a\x6e\x33\x8d\xdc\x3f\x4f\x77\x0a\x69\xfc\xe4\x2e\x36\xb9\xe6\x5b\x25\x60\x7c\xb6\x5a\x25\x04\xaa\x8c\xc8\x14\x71\xa4\x13\xf9\xf4\x66\x26\xc2\x19\x73\xc3\xd5\x4b\x1d\x4e\xa2\x38\x59\xf8\x21\xa9\x76\xb9\x71\x5f\x3e\xb4\x52\x6f\x88\x2c\x88\x2d\xb9\x37\x68\x8c\x64\x86\x01\x8b\xf8\x71\x69\x3f\x67\xf1\x9a\xd4\x0b\xc6\xf1\x4b\x5d\x10\x5d\x08\xd0\x23\x36\xc5\x10\xdc\x85\xd2\x6b\x9d\x91\xb5\xc5\x3b\xd7\x50\xa4\x84\xe4\x67\x16\x5c\x5c\x36\x1e\xbf\x5e\x8f\xe5\x12\xcb\x00\x9a\x69\xbc\x94\x37\xe9\xc2\x18\x8f\xf7\xc2\x60\x79\x1e\xfb\xa5\x8b\x3d\xc5\x4e\x07\xd6\x61\x37\x6c\xba\x17\x2f\x16\x7e\x34\xd3\x09\x94\x23\xc5\x40\x4b\x80\x6c\xe9\xa7\x9c\x1d\x24\xf1\x62\x3d\x9a\x8c\xb4\x12\x36\x2c\x48\x6a\x9b\xb1\xf1\x28\x96\xd2\x53\x0d\x01\xb3\x70\xb3\x88\xf7\x52\x59\x18\x8f\xed\x30\x97\x8f\xf3\xc7\x56\x0b\x7a\x71\x0b\x3d\x1a\x9d\x79\xdf\xef\xd5\xb8\xf9\x7e\x1e\xcf\x6e\x5d\xd6\x81\x3f\x34\x98\xc6\x91\xcb\x75\xd6\x81\x44\x73\xa4\x5d\xa9\x5b\x9e\x07\x0b\xff\x82\xa5\xcf\x01\xb0\x3d\x1a\x10\xf0\x32\x52\x0f\x8a\xa2\x42\x54\x5b\x97\x67\xf1\x14\x37\x4b\x88\x5c\x43\x86\xdd\x96\xea\xc9\xc0\xb8\xcf\x73\x75\x8d\xee\x67\x3f\x49\xf5\xf5\x0a\x97\x7e\x47\x1c\x6e\x7a\xaf\x2e\x6a\x02\x6d\x50\x04\xd3\x53\x9a\x14\xae\x67\x8a\xa3\x69\x18\x4c\xbf\x15\x77\x42\x48\xaa\xe6\xf1\x74\x95\x66\x57\x34\x85\x31\x5e\xd6\x4b\x23\x60\x70\x45\x8a\xb3\x23\x2f\x28\x6c\x6a\xe3\x99\x90\x19\x8f\xab\x02\xe5\x3b\x3e\x7e\x23\x86\x69\x18\x47\xac\xe1\xf4\x3f\xb4\x56\x00\xeb\x39\xbe\x22\x36\xa3\x01\x19\x0c\xe6\xb8\xbe\x11\x46\xd2\x52\xc7\xe1\xb1\xc2\x80\xa8\xe0\x62\xff\xb1\xf2\xc3\x46\x6f\xb1\x80\x53\x21\x95\xbb\x62\x24\xd6\x4d\x68\x37\x6c\xb4\x9d\x48\x53\x19\xfc\x9a\x6f\xa8\x45\xec\xf2\x98\x63\x5e\xc3\x36\x39\x23\x80\xfb\x28\xbe\xde\x8b\xc3\xe6\xdd\xd4\x49\x7c\xad\xd8\x3f\x8d\xc3\xd5\x22\x52\x5b\xa9\xe3\x2b\x96\xcc\xc3\xf8\xda\xdb\xda\x4a\x72\x24\xc5\x6d\xf0\xf1\x55\xfd\x1e\xc6\xdf\x88\x73\x73\x37\x0b\x70\x5d\xd5\x51\xac\xa1\x8c\xdf\x68\x44\xbe\xa6\xdb\x91\xda\x2a\x3e\xf4\xac\xeb\x88\x3d\x96\x25\x1b\xab\x78\x40\x1a\xa0\x2a\x51\x97\x94\x04\x59\x59\x56\x9b\x8a\x19\xa8\xaa\x7b\xa8\xbe\x87\xc5\x44\x14\xc9\xb7\x54\xc7\xd7\x05\x31\x11\x95\x16\x32\x54\x65\x42\x72\x4a\x7e\xe5\x9c\x80\x61\x3b\x48\xfc\xc5\x9a\x5e\xe7\xd2\x4d\xcb\xa2\x7d\xcf\x82\xab\xaf\x1e\xc3\x3f\x22\x63\x95\x84\x99\x24\xe0\x19\x8d\xd4\x4b\xf2\xd0\x04\xc1\x1c\x70\x17\xb7\x14\xc3\x9c\xd5\x0f\x22\x96\x14\x33\xe5\x3d\xf4\x7b\x97\xe0\xea\x85\x6a\x43\xbe\xa4\xac\xb4\x7b\x39\xdb\xea\x5c\xec\x0e\x15\x05\x0a\x03\x18\xe1\x55\xd4\x32\x1e\x54\xb0\x9c\xb6\x83\x28\xe0\xed\xf8\x1b\x71\x65\xa7\xe5\xe7\x6e\x52\x16\xcd\x94\x1f\xfa\x26\x9a\xc7\x5f\x75\x63\x8c\xc5\x54\xab\xdb\x41\x34\x8f\x8b\x65\x2b\x2d\xe8\xa4\xfc\x36\xc4\x08\x2e\xcb\xd0\xbf\xf5\xc8\x3c\x64\x37\xa4\xb1\x45\x9d\x65\x9c\x70\xab\x13\x47\x32\x5f\x9d\x70\x91\xcd\x29\xee\x40\x2e\x9e\x0b\x7a\x17\xfb\x33\xdd\x18\x4b\xdf\xb0\xd4\x82\x52\x00\x97\xca\x7d\xfe\xda\x3c\x89\x17\x1a\xb2\xde\x25\x54\xb0\xc5\xb8\xdf\xc8\xd0\xa2\xb0\x35\x03\x02\x2d\xf5\x4d\xe3\xb5\x9e\x63\xd7\xda\xfb\x52\xde\x8f\xf0\xa3\x7e\xce\xa7\xb9\x3c\x6e\x9a\x56\xe6\x4d\xca\x1a\xf6\x0f\xfa\x59\x68\x01\x97\x71\xca\x25\x56\xfd\x3b\x86\xc9\xc9\xa4\x82\x50\x3f\xb9\xb8\x72\x27\xdf\x25\x72\x98\xbb\xb8\x6b\x6b\xb3\xef\x55\x54\xbf\x55\x12\xd2\xc9\x7a\xb8\x33\x63\x3d\x03\x1f\x62\x73\x4d\x24\x4b\xe7\x86\x3a\x73\xbc\x65\x7f\x3a\x65\x4b\xfe\xce\x8f\x2e\x56\xe0\x98\xe8\x35\xe5\x57\x6c\x72\x59\x96\x09\x9d\x7c\xf7\xcb\xc5\x5d\x46\xe7\x71\xc2\x84\x77\xbf\x17\x87\x71\xe2\x96\x47\x3e\x54\x79\x50\x86\xd0\x0d\x9a\xcf\x08\xd6\x95\x79\x55\x86\xd0\x0d\x3a\x5d\x25\x69\x9c\xac\x83\xdf\xcb\xdf\xea\x06\x9d\xc7\xc2\xcf\x6e\x24\x46\xbc\x92\x50\x07\xfe\x22\x08\x6f\xd7\xc0\x89\x97\x48\x6f\xca\x3e\x1d\xbd\x73\x25\x0f\x3f\x1d\xbd\xc3\xeb\xf9\xef\xcf\xaa\x77\x16\x37\xf5\xdc\x1e\x38\x4e\x7b\xe0\x62\xb1\x86\x21\x90\xb9\x55\xf5\xa2\xf8\xaa\x61\x77\xab\x52\x20\x99\xc5\xc8\x34\xca\xd2\x87\x79\xd0\x87\x78\x96\x05\x65\x6b\x7c\x59\xbc\x21\xb3\x0a\x96\x9d\x8e\xdd\x13\x84\x6d\x6a\xd4\x43\xf2\x58\x10\xa5\x86\xdd\xda\x4d\x63\xa0\x7e\x4f\x91\x2c\xaf\x4d\x05\x84\x16\xa4\x78\x7c\x26\x65\x5c\x5b\x2d\x3b\xea\xfa\xf1\xe6\x01\x5e\x1f\xbd\x4c\x0c\x5a\x7e\xdf\xd8\xac\xf4\x32\xbe\x2e\xb6\x29\x5b\x0a\x60\x78\xb7\x67\x36\x13\xc1\x78\x50\xca\x60\xed\x64\xa9\x09\x3b\x73\x93\xfb\x3c\x14\xb0\x3c\x34\x9c\x47\xdf\x78\x54\xcf\x19\x4a\x37\xab\x03\x7a\x40\xa4\xe6\xcb\x8b\xd7\xaf\x82\x34\x38\x0f\x19\x11\x7b\xf6\xe4\x56\xf7\xca\xec\x52\xcf\x6c\xad\x41\x03\x8f\xe9\x04\x7d\x41\x42\x07\x3d\x13\xa6\x12\x4c\x27\xc2\x19\x24\xb4\xe7\x98\x78\x51\x64\x22\x3d\xdc\x44\xba\x89\xb4\x32\x1e\xd4\xf4\xe4\xab\x41\x7d\xaf\x66\x88\x55\x14\x9e\x90\x01\x8c\x4e\x66\xc1\x15\x31\xc6\xbe\xb4\x6f\xd3\x34\x3d\x61\x37\xdc\x23\xcb\x38\x0d\x44\x10\x25\xff\x3c\x8d\xc3\x15\x67\x63\x69\xfb\x5c\x2d\x8a\x23\x36\x06\x03\xd8\x9e\x05\x89\x98\x59\xba\x9a\xf0\x45\xc6\x3c\x5e\xba\x9a\x65\xfe\x79\x1c\xb2\x39\x77\xb5\xde\x9f\xc7\x48\xac\xab\x8d\xcc\x3f\x8f\x05\xbd\xae\xe6\x98\x7f\x1e\x2f\x82\xa8\xad\x9e\x6d\x78\xf6\x6f\xda\xc5\xf7\xe7\xf1\x4d\x3b\xbd\xf4\x67\xf1\xb5\xab\x99\x9a\xa9\xd9\xcb\x9b\xfc\x60\xe2\x26\x7d\xb5\x4d\xc6\xe7\x71\x32\x63\x89\xfb\x94\x32\x5a\x1a\x87\xc1\x6c\x4c\x70\x16\x16\x7a\x65\x8f\xa6\xca\x33\xf1\x82\x18\xe3\xb0\x13\x47\x21\xe8\xfa\x82\x11\x2f\x19\xb4\xb0\xca\xd7\x8c\x89\xc0\x3f\x64\xa2\xab\x59\x8a\x47\x62\xe1\x2e\x04\x4f\x77\x97\xf3\x24\x38\x5f\x71\xa6\x93\x34\x99\x92\xcc\x1a\x19\xf5\xd7\xcc\x5f\x84\x2c\x4d\x09\xdd\x32\x0d\xea\x77\xfc\xe5\x92\x45\x33\xa1\x2e\x42\x23\x77\xe5\x4a\x2f\x7c\x71\x3c\x42\xfa\x87\xc2\xd5\x7c\xcb\x6e\x71\x4e\x0f\x89\xf7\xfe\x12\xfd\x45\x95\xd7\x74\xec\x40\x30\x54\x79\x8b\xdf\x24\xa4\x64\x52\xd1\xe5\xbb\xf4\xa3\x59\x28\x02\x82\x4f\x08\x4e\x53\xe3\x15\xcf\xae\x7f\x38\x80\x8c\x8f\xe5\xb3\x59\x67\x74\x42\xbe\xb1\xdb\x59\x7c\x1d\x65\x70\x6f\xd9\xed\xeb\xf8\x3a\x6a\x00\x5b\x26\xd8\xfc\x1c\xee\x10\x32\x1a\x00\x57\xcb\x22\xd4\xa7\x65\x15\x84\xb3\x1b\xfe\x26\x5a\x16\x88\x3b\x51\x39\x25\xd0\xb3\xac\xc9\xef\xfd\xa5\x27\x26\x37\x15\xee\x15\x1d\x1a\x28\x19\x44\x17\x69\x15\xf2\x95\xcc\x2f\xc2\xfa\x21\xff\x29\x79\x1f\xcf\x70\x39\x2b\x52\x97\x64\xe0\x61\xf6\x37\x51\xca\x12\x7e\xe8\xa7\x9c\x79\x5b\x72\x0b\xfe\x65\xbc\x60\x6f\xd9\x6d\x2a\x56\x64\xb3\x30\x5d\x4b\xff\xa2\x29\x7b\xca\x93\xf0\x30\x5c\xa5\xef\x83\x68\x95\xfe\x9d\x25\xf1\xdf\xe3\x78\x91\xe1\x82\xb7\x7b\x7b\xf1\xf2\xb6\x04\xff\x59\x56\x28\xb3\xfc\xa5\x08\x46\x18\x20\x0b\x97\xfe\xac\xe9\x8d\xb0\xef\xd9\x1b\x70\x20\xd2\xa5\x3f\x65\xc7\x2c\x9a\xa5\xaf\xd4\x53\x5e\xcd\xa5\x9f\xf8\x53\xce\x92\xfd\x68\x1a\x03\x47\x3c\xb2\xe2\xf3\xb6\x93\xf9\xd7\xdc\xc7\x92\xfb\xe9\xd4\x5f\xe6\x6d\x5f\xfa\x69\xfa\x9e\x71\xff\x73\x96\xe3\x87\x1c\x01\xbf\x5c\xfa\xdc\x23\x0c\xc1\x49\xf6\xea\x0d\x42\xe7\xf4\x86\x3c\x23\x45\xbc\xaa\x53\xe6\x87\x5c\x89\x13\x9b\xa9\x23\x25\x0b\x36\x0b\x7c\xe0\xee\x6e\xc2\x0e\xe0\x6f\xce\xf6\x84\x5d\x05\xf1\x2a\xdd\x2d\xd0\x91\xcf\x70\x8a\x12\xb2\x3b\x15\xf3\xa7\xef\x7b\xbb\x1f\xf6\xf6\x85\xaf\x52\x0c\x8f\x26\xb2\x89\x41\xe5\xe5\x5e\x35\x00\x99\x4f\x0c\x7a\xb8\x7b\x7c\x5c\x7b\x0d\x99\xc4\xa0\xc7\x27\x47\x6f\x0e\x6b\x2f\x31\x97\x18\x25\x9a\x0a\x73\xe0\xa8\x76\x16\x46\x4e\x49\x45\xa7\x78\x5e\x73\xa7\xed\x94\xd4\x42\xe7\x8a\x17\x76\xf1\xeb\xcc\x70\xd9\x9a\xfa\xf0\x30\x5b\x18\x36\x6a\x1a\x71\xec\xad\x51\xbf\x18\xdf\x99\x34\xcc\xd5\x37\x32\xbb\x82\x17\x17\x7c\xf3\xeb\xe9\xb9\x67\x8e\xf9\x8b\xb2\x7a\x52\x5f\xe7\xb8\x3a\x4a\x20\xa3\x13\x64\x00\x13\x7e\x36\x66\x3b\xac\x7e\xa7\x4d\x32\x31\xcf\x68\x32\xb1\xce\xe4\xf9\xcc\x2a\x49\xd2\x87\x5b\x57\xe8\xbe\x59\x83\xb2\xfb\x35\x2c\x5b\x45\x6b\x99\x26\xb5\x73\x63\xe3\xd7\x60\x2b\x6a\xb9\x72\x94\x2b\x9c\x4d\xb6\x5a\x72\xb2\x2d\x0f\xb9\x11\xa3\x7c\xe3\x6c\xd6\xe3\x71\xf4\xf9\x04\x86\x03\x4f\xe2\x6f\x85\x69\x6e\x06\x60\xac\x27\x20\xd3\xd9\x0d\x8b\xc0\x4d\xc7\x09\x58\xe7\xfa\x32\x98\x5e\x1a\x1d\x1e\xbf\x8b\xaf\x55\x8c\x67\xbc\x3d\x93\xa1\xd6\x7a\xcb\x6e\x5b\xad\x2d\x86\xba\xe3\x2d\xbb\xbd\xbb\x23\x53\x82\x77\x3a\x90\x2b\xf8\x2b\x6f\x0b\x12\xc3\xbb\xd5\x22\xe7\x49\x7c\x9d\xb2\xa4\xfd\x8d\xdd\x2a\xf9\x2e\xea\x92\x56\x0b\x43\xbf\xa9\xaf\x95\x4a\x38\x9a\x29\xfb\xc6\x6e\x11\x68\xcc\x84\xda\xc6\xea\xf5\xc4\x4b\xca\xc4\x1a\x34\x29\x7e\xfe\x34\x8d\x6d\xcb\x76\x54\xfc\x7f\xf5\xe2\xa5\xd7\xb5\x5b\x2d\x3d\x29\x56\x3e\x4e\xa4\x80\x37\x33\x5e\x6f\xa2\x2a\xc1\x90\x95\xa0\x9e\x58\xa4\x02\xa8\xca\xc8\x50\xf1\xf2\x30\x89\x97\xfe\x85\x58\x6c\x36\xd6\x89\x9c\x2c\x2b\x3e\x6c\xed\x2e\x97\x1f\xe2\x68\x8f\x27\xe1\x31\xb4\x50\x22\x2c\x77\x5e\xe5\x83\x50\xe9\x51\x7c\x6f\xaa\x65\xc9\x8f\x39\xad\x96\x5e\xe8\xc4\x22\x17\xeb\x4d\x58\x2f\x52\x99\x5b\x51\x77\x5d\x2a\x5a\x7d\x93\x54\x7e\x5a\x96\xcb\x5b\x0e\x08\x82\xec\x62\x35\x6d\x2b\xe3\xab\x67\xb5\xfe\xa1\x5b\x2f\x5e\x30\xbc\x1e\x0b\x10\xb5\x2d\xc3\xa0\xf6\xb0\x84\x29\xb3\x1f\x0f\x31\x19\xb7\x1d\xac\x27\x18\x5d\xa4\x75\xd1\xaf\x63\xe3\x7b\xe0\xc5\xf2\x43\x43\x32\x89\xcf\xd4\xcd\x81\x0a\x26\x3f\xf3\x1c\xb5\x5a\x7a\xe4\x45\x32\x92\xab\xf2\x75\xe8\x84\xd1\xe4\xcc\x80\x69\x88\xe7\xf9\xad\x96\xfa\x72\xb6\xe5\xc5\x08\xcf\x75\x95\x03\x30\xf7\x3f\xc4\xad\xbb\x2a\xaf\x7e\x0b\xab\x8a\x81\xb9\x44\x13\xe0\xcf\x6b\x36\x4f\x27\x19\x46\x11\xa3\x53\x1d\x1e\x43\xb7\x55\xc4\x13\xa1\x91\xd7\x68\xb5\x3b\xc2\x3a\x53\x7f\xcd\x6b\x69\x9b\x69\xb8\xe6\x3d\x18\x67\x7a\xb9\xe6\x25\x1a\x67\x3a\xf5\xb2\x21\x40\x57\xde\x56\xd9\x85\x81\x41\x21\x58\x46\x73\x06\x8a\x57\x3b\xea\x0d\x0c\x16\xa9\xfc\xdc\x2c\x45\x97\xde\xd6\xf3\x5f\x4e\x27\xa7\xd7\xdb\xa7\x67\xea\x7a\xee\x04\xf9\xe0\x2f\x0d\x15\x61\xbf\xec\x87\xca\xe5\x55\x20\xa6\xed\x87\x9c\xb8\xcb\x56\x6b\xda\x6a\xad\x5a\x2d\x1d\xc3\xc2\xae\xbc\x2d\xcb\x18\x9f\x27\xcc\xff\x26\x56\x54\x13\x98\xc3\x65\xa0\x76\x45\x57\x29\x23\x57\x19\x21\xeb\x90\xc1\x2c\x32\xc3\x65\x3d\x1d\x17\x4e\xf0\xe7\xe3\xb9\xc7\xf5\xe9\x0e\x91\x9b\xa8\x88\xbb\xda\x21\x88\x74\xb6\x43\x80\x35\x24\xfb\x04\x2c\x04\xe6\xc2\x03\xd3\xe1\xa7\xdf\x8e\xa5\xea\x29\xaa\x21\xba\xf0\xbe\x4b\xc9\x71\x33\x19\xa2\xf8\xd6\x2d\x40\x01\xc3\xdc\x29\xf5\x43\xee\xae\x28\x54\xe2\xce\xee\xe9\xad\x57\x9a\x10\xe0\xda\x99\x48\xeb\x0b\x34\x5f\xb7\xad\x96\x7e\xe1\x4d\xbd\x95\x87\x8e\x75\x90\x7f\xd4\xae\x8f\x51\x7d\xee\xdd\x76\x7c\xcc\x33\x5a\x2d\x7d\xee\xcd\x3b\x53\x3f\x0c\x65\xd0\xad\x22\xa7\xe8\xc2\x30\x0c\xba\x7a\x8c\xa1\x9b\xe3\xb8\xd6\xe7\x5e\x68\xd0\xf9\x96\xe7\x85\xf0\xb0\xe5\x79\xfe\xdd\xdd\xf4\xee\x6e\x75\x77\x37\x13\x75\x79\xde\x65\xab\xa5\xaf\x3c\x64\x75\x23\x6d\x49\x47\x90\xae\x68\x2b\xdc\x82\x50\x51\x26\xa2\x4e\xdb\xf3\x94\x28\x66\x1b\x87\x10\x8d\xcc\x93\xfb\x76\x2e\x76\x2c\xd7\xa4\x96\xf1\x68\x8b\x86\xcd\x88\x0c\x23\x98\x23\xd9\xfe\xdd\x5d\xed\x7a\x9e\xb9\x88\xfb\xa0\xc4\xc3\xf3\x82\x1d\x68\x97\x8b\x42\x02\x4f\x2b\x7c\x42\x51\xf1\xbc\xa0\xd5\xd2\xa1\x77\x0c\x4a\xfe\x34\x21\x9e\x37\x57\xa4\x99\xd4\x86\xc6\xae\x90\x55\x17\x32\x00\xc3\xf9\x78\xeb\x02\x19\x37\xdd\xd9\x5a\xdd\xdd\x5d\x40\xe2\x02\xc7\xcf\xd6\x74\xe7\xdc\x23\xe3\x1e\x71\xb7\xa6\xf8\x62\x05\x2f\xa6\xad\xd6\xd6\x0a\x5f\x0c\x88\xbb\x12\xcf\x17\xf8\x3c\x24\xae\x28\x38\x6d\xb5\x74\xc8\x70\x88\xe1\xc2\xdf\x3e\xc1\x3f\x5d\xf1\xc7\x26\x74\xee\x75\x81\x2c\xc1\xc5\x1d\xf2\xa7\x89\x45\xb6\xcf\xb7\x33\x3a\x6d\x6a\x19\x6e\x81\xea\x79\xb6\xfd\xd3\x28\x82\x15\xb2\xef\xd5\xd6\xcc\xb9\xa7\xe4\x63\x5d\xbf\x50\xa0\xee\x6b\xed\x35\xbc\x2a\xfb\x3b\xc6\x4b\x6f\xd0\x6b\xb5\xbe\xbe\xf0\x46\x7d\xc4\xd8\xe4\xb8\x7c\x6d\x0f\x7a\x4a\x76\x9d\xf6\x79\xc0\x9b\xa5\xd6\xca\x9b\x2b\xb8\xfe\x15\x06\x43\xd5\xbb\x1a\xaf\xa9\xc3\xb8\xd7\x01\xbf\x9c\x2f\x36\x54\x70\x77\x37\x93\x66\xa7\x32\x17\x15\xb2\x4d\xfe\x44\xb6\xe7\xd2\x89\x5f\xe3\x94\xcd\xe5\xf5\xda\x6a\xb9\x50\x44\xdf\x7a\x13\x5d\xf9\x61\x30\xd3\x7c\xb9\x86\x46\xb6\x2b\xc1\x42\xe6\x46\x63\xb9\x0f\xb1\x36\x63\xf3\x20\xc2\x15\x3a\x8c\x4f\xa9\x14\x12\x86\xa8\x54\x1e\x68\xc9\x4f\x50\x8b\x0d\xf5\x18\x0a\xf2\x85\xb8\x9d\xad\xa1\xc4\xfa\x9b\xcd\x7e\x00\x83\x3f\x9b\xc9\xdc\x6a\xc4\x18\x79\x9b\x01\x98\xdf\xa0\xac\x26\xbf\x56\x6c\x75\x90\x85\x4f\x13\xb1\xb7\x83\x62\xec\x6d\x78\x3f\x49\xcf\xa0\x80\x0c\x63\x2d\x82\x71\xbc\xcd\x9e\x75\x66\x18\xdf\x13\x0f\xa0\x84\xa9\xb9\x4f\x76\x12\xa9\x48\x3d\xee\xea\x09\xea\x77\x09\xec\x32\x2a\x7b\x87\xdf\xd3\x40\x46\x1c\x68\x22\x4c\xdd\xfc\x40\x83\x4e\x1a\x27\x85\xed\x4d\xd8\x38\xb9\x18\x5d\x36\xf9\x8a\x3e\x80\xdf\x8b\x17\x4b\x3f\x91\xf3\x07\xf9\x82\xf2\xc2\x83\x71\xaf\x82\xff\x34\xd5\xee\x4d\x92\xb3\xe6\xfe\x6e\xe4\x7d\x7d\x81\xbf\xa6\x13\xb3\x59\x8e\x58\xb4\x3a\xf4\x93\x94\x25\xe3\xa4\x93\x30\xbc\xd1\x56\x18\xca\x00\xe3\x66\x06\x5e\x22\x6e\x34\x7b\xcb\x6e\x8f\xd9\x7f\xac\x58\x34\x65\x0d\x91\x17\x4b\xdf\x32\x65\x1c\x5c\x8c\x6c\x93\x74\x82\x34\x8b\x3a\x64\x34\x93\x03\x3c\x94\x75\x73\x43\x44\xeb\x2c\xd4\xba\x2b\xe5\xf1\x91\x75\xde\x97\x6b\x14\x2b\x17\x05\xc9\xd4\xeb\x4b\x7a\x4a\x76\x02\x83\x72\xc3\x2d\x63\x4c\xf2\xa8\x9c\x2a\x20\x63\x34\xd3\xe2\xb9\x96\x4a\x66\x60\xec\x9c\xea\x50\xfe\x91\xb2\x35\x42\xc5\xd5\xbd\x8f\xed\xf6\xb4\x79\x87\x72\xe1\xfe\xcb\x1c\x56\xe7\x94\x4d\xf8\xc3\x42\x95\xbb\x30\xeb\xee\x58\x5c\x37\x8c\xb3\xd8\x50\x1a\x46\x60\xad\x5c\xda\xdd\x10\xd7\x81\x4f\x12\x31\xfe\x9b\x06\x37\x4c\x7c\x60\x64\x67\xb1\xee\x0b\xb8\x37\x2e\x75\x4b\xc7\xbb\xb4\xdc\x2d\x17\x71\xeb\x53\x47\xe5\x72\x16\x56\xbd\x61\x32\xe1\xa9\x4d\x10\x42\x42\x8d\xea\x72\x1f\xcc\x3b\x4a\x1d\xf2\x16\xcb\x55\x86\x61\x7e\x03\x8c\x44\xdb\x6a\x95\xf5\x7e\x7e\x13\x4c\x51\xdf\x1b\x25\x52\xf0\x36\xa8\x47\xd6\xbf\x46\x1e\x70\x69\xac\x1a\x11\x08\x57\xc5\x94\x8c\x88\xe2\x7a\x06\x23\xce\x67\xd0\xef\xc2\xe6\xbb\xa5\x7c\xeb\x8c\x0a\x47\xb0\x9c\x6d\x9f\x51\xe9\x6f\x95\xf3\xbb\x67\xe8\x33\x97\xf2\x7a\x67\xc2\x83\x2e\x65\xf6\xcf\xee\x1f\xe0\x33\x76\xc6\xda\x4f\x84\x85\x8d\xe1\x0d\xf3\x5f\x5c\xe6\x43\x8f\x75\x4a\x27\x1c\xfc\x54\x97\xdd\x57\x2f\x92\x92\x22\x96\xd5\x10\xd0\x38\xff\xee\xa8\x07\x85\x95\x8b\x40\xcd\xe6\x20\xa9\x66\x68\x41\xbe\x3c\xb5\x35\x2d\xcc\x66\xaa\x0b\xe9\x3b\xdc\x4d\x28\xe0\xbe\xcf\x29\x48\x1e\x43\x41\x01\xe9\x9a\x35\xf8\x9d\xc4\xe5\x55\xd4\xc1\x06\xd4\xc2\xe8\xe6\x2d\x83\xf2\xe3\x6c\x77\x7d\x71\xca\xe4\x6d\x99\x94\xe9\x69\x15\x79\xfa\x38\xce\x09\x16\x35\x51\x17\xfd\xbe\xac\x6f\xaa\xc2\x2f\x18\x90\xe6\x35\xbe\x92\x6b\x09\x2e\x6a\x5e\x38\x2c\x14\xce\xa8\x2b\x92\xcc\xc5\x95\x6d\x98\x57\xa8\x14\xaf\xc3\xa9\x96\x4b\x68\x90\x65\x16\x3a\xb3\xf6\x05\x62\x87\x01\x3a\x1a\x18\xae\x35\x18\xa8\x79\x54\x3c\x63\x77\x77\xd6\x60\x58\x79\x76\x0a\xcf\x3b\x9b\xd6\x37\xdc\xf5\xab\x17\xf7\xf7\x15\xed\x87\xde\xc0\x54\xac\x9a\xac\x36\xaf\x9a\xcc\x1e\x58\x35\x59\x6e\x5a\x35\x99\x6f\x5a\x35\x19\x97\xd5\x53\xaa\x4f\x4c\x4a\x26\x9f\x3e\xbc\xfd\xf0\xf1\xcb\x87\x33\x42\x97\xe2\x7f\x78\x64\x9c\x92\xc9\xfe\xf1\xde\x19\xa1\xe4\x4f\x84\xce\xe0\x7f\x78\xa6\xd9\xa6\x64\x72\x60\x9d\x11\x1a\xe9\xe4\x4f\x1f\x0f\xe1\xf5\xe4\x90\x18\x74\x06\x09\xbb\xfb\x0f\x22\xe1\xba\x00\x67\x2b\xb8\xbf\x22\xdc\x5f\x33\xb8\x5e\x06\xd7\x03\xb8\xae\x82\x3b\x42\xb8\xa3\x0c\xae\x9f\xc1\xf5\x01\xae\xa7\xe0\x8e\x11\xee\x38\x83\x1b\x64\x70\x03\x80\xeb\x23\xd9\x13\x0b\x8b\x23\x80\x93\x01\x40\xc3\x0e\x06\x12\x60\x98\x01\x8c\x32\x00\x07\x00\x86\x12\xc0\x51\x00\x5d\x2b\x03\x18\x01\x80\x23\x01\x46\x19\x80\xad\x00\x6c\x60\xea\xc1\x48\x00\xd8\x66\x06\x90\x31\xc7\xb6\x90\x89\xa6\x84\xb0\x32\x88\x8c\x2d\xb6\x60\xb3\x25\x21\xba\x0a\xa2\x97\x57\x82\x0c\xb6\x6c\x09\xd1\xcb\x20\xb2\x5a\x46\x36\x25\xff\x05\xb3\x03\xdd\xd7\xc9\xbf\x10\x83\xfa\x3a\xf9\x85\x18\xc0\xb4\x25\x46\xef\xa0\xc4\xda\x02\x80\x50\x27\x62\x75\xf0\xc3\x6a\xf1\x95\x18\xe2\x79\x37\xe4\xc5\xc7\xf7\x8c\xfb\xe2\xf9\x8c\x4e\xfa\x26\x25\xf6\xbf\xfc\x58\x51\x8b\x92\xee\x3f\xfd\x58\x51\x9b\x92\xde\x3f\xff\x58\xd1\x2e\x25\xfd\x3f\xff\x58\xd1\x1e\x25\x83\x5f\x7e\xac\x68\x9f\x92\x61\xeb\xc7\x8a\x0e\x28\x71\xfe\xf2\x63\x45\x87\x94\x8c\xf4\x1f\x2a\xda\x73\x28\x31\x8d\xac\x68\xe9\x53\xf8\x3a\x04\x55\x20\x0c\x83\x31\xa2\xa4\xfd\x75\x3d\x9e\x35\xf9\x58\x74\x48\x89\xb7\xfd\x43\x45\x87\xdd\x1f\xad\x75\x60\xfd\x78\xa5\x16\x25\xdb\x7f\xf9\x91\xa2\xa0\x68\x5e\xbd\x3d\x3e\x3c\x23\x34\xd1\xc9\x7f\x12\x4a\x4e\xcf\x89\x01\xe9\xd3\x73\x42\xc9\x7f\x62\x61\x18\xca\xa0\x70\x4e\x76\x5f\x9d\x11\x1a\xe8\xe4\x94\xe3\x88\xff\x3b\x31\xe8\x9c\x2e\xf1\xbd\x63\x51\xf2\x1f\x7f\x05\x12\x7c\x9d\xfc\x35\x2b\x06\x9c\xbc\xfe\x22\xb3\xbf\x64\xd9\x83\x11\x25\x6c\x5f\x66\xef\xe7\xd0\x36\x25\xc9\x91\xcc\x3e\xca\xb3\x7b\x94\xf0\x13\x99\x7d\x92\x67\x8f\x28\xb9\xfd\x37\x99\xfd\x6f\x79\x76\x9f\x92\xd5\x27\x99\xfd\x29\xcb\x86\x8e\x09\xde\xc8\xec\x37\x79\xf6\x88\x92\xf8\xa3\xcc\xfe\x98\x23\x31\x29\x59\x1e\xca\xec\xc3\x2c\xdb\x46\xc5\xfb\x5d\xe6\x4f\xf2\x7c\x50\xa7\x67\xf7\x32\xff\xac\x90\x6f\x52\x72\x7a\x7a\x27\x5f\x9c\x9e\xe6\x6f\x40\x41\xef\xed\x1e\x1e\x67\x26\x0f\xf9\xd2\xa7\xc4\xdf\x95\xd0\xbb\x39\x35\x5d\x4a\xd2\x63\x99\x7d\x9c\x73\xd1\xa1\x64\xf6\x5a\x66\xbf\xce\x9b\x64\x52\x32\x3f\x90\xd9\x07\x79\xb6\x45\xc9\xc5\x4f\x32\xfb\xa7\x3c\xdb\xa6\xe4\xf2\x67\x99\xfd\x73\x9e\xdd\xa3\xe4\xdf\xff\x35\xd3\xdc\xff\x4a\x0c\xba\xcc\xde\xf5\x29\xf9\xf6\x36\x7b\xf7\x56\x8d\xc2\xbd\x90\xf9\xc9\x57\xa1\xdc\x11\x6e\x40\x49\xf8\x2e\x83\x7b\x57\xc4\x61\x39\x03\x4a\xc6\x2e\xbc\x9c\x67\xcc\xb2\x29\x79\x76\x4a\x8a\x79\x68\xc3\xf7\x3f\x9c\xec\x1f\x81\x91\x39\x4d\x08\x5d\xd1\x95\x78\x03\x56\xf6\xf8\xe7\x37\x07\x27\x25\x0e\x8e\x4c\x4a\x7e\xfd\xbb\x6c\xce\xdf\x73\x0e\x3a\x94\xdc\xfc\x4d\x66\xff\x2d\xe7\xe0\x90\x92\xe9\x5e\x49\x4d\xed\x15\x06\x0c\xe8\xa5\x3d\x39\x50\x06\x94\x5c\x7d\x2e\x41\x7e\xae\x40\x7e\x96\xe3\x78\x40\xc9\xf9\xab\xac\xd5\xaf\x54\xab\x03\x7d\x46\x97\x00\x30\x74\x28\x89\x3e\x94\x75\x63\x05\xd5\x07\x81\x6a\x38\xa4\x64\xf1\x5e\x52\xfd\x9e\xe4\xbc\x73\x28\xa1\x2f\x20\x3f\xd5\xe7\x05\x9e\x42\xe3\x3b\x2f\x1b\xf2\x2d\x4a\x9e\xef\x64\x24\x7d\x15\x66\x78\x27\xef\x29\xf4\x48\xf6\x4e\x8e\xde\x95\x1c\x30\x74\x43\x76\xdf\x9d\x94\x32\x01\xd7\xe4\xdd\xee\x61\x19\xb4\x6b\x53\xa2\x49\x42\xff\x25\x57\x1a\xe0\x42\x1c\x55\x61\x47\xd0\xa7\x47\xef\xf7\x3f\x7c\x2a\x65\xf7\x00\xf8\xf0\xe8\xe4\x78\xef\xa8\x4c\x45\x0f\xfc\xae\xe3\xbd\xa3\x77\x6f\xcb\xf9\x30\x14\x5f\x1d\xed\xef\x96\xb3\x11\xfa\xcd\x87\xe3\xfd\x23\xa0\x1b\x39\xfa\x96\xdd\x8a\x6d\x59\x82\xcb\x82\xb6\x2e\xc8\xcf\xcf\x1f\xdf\xef\x17\xa0\x7e\x8e\x17\xac\x04\x03\x94\x1e\xfe\xf4\xe9\xb0\x00\x73\xe8\x5f\xb0\x4f\xcb\x22\x54\x0f\x30\xbd\xde\x7f\x57\x00\x7a\xcd\xc2\x12\x9e\x3e\x4a\xf1\xeb\x02\xc4\x7e\x34\x2b\x41\xf4\xb0\xa6\xd7\xc2\x07\x2e\xd6\x85\xdf\x8a\x8b\x90\xd0\x29\x25\x8a\x76\x93\x24\xbe\xae\x90\x04\xda\xa5\x82\x0c\xc1\x6a\xd8\x80\x89\x47\x6f\x7e\xfa\x19\x98\xc5\x75\xf2\xa7\xc9\x1e\xa8\xf6\x8f\x7b\x45\x18\x10\x8e\x77\xfb\x07\x19\xc8\x6b\x04\x79\x5d\x00\xb1\x7a\x40\xff\x87\x4f\xef\xdf\x7d\xdc\x2b\x77\xc7\x08\x98\xf3\xf6\x10\xfc\xcc\x59\x06\x3e\x1a\x62\xa6\x55\xce\x74\x30\xd3\x2e\x67\x8e\x30\xb3\x5b\xca\xb4\x4c\x13\x73\x7b\x95\x5c\x0b\x73\xfb\x95\x5c\x1b\x73\x07\x95\xdc\x2e\xe6\x0e\x2b\xb9\x3d\xcc\x75\x2a\xb9\x7d\xcc\x1d\x55\x72\x45\x1b\xb6\xcf\x7e\xc8\x62\x9b\xa2\x5d\xed\x1f\x2c\x2d\x98\xfa\x97\x32\x45\x96\x68\xff\xf3\x4a\xae\xe0\x55\xa7\x9c\x0b\x4a\x6a\xf2\x6a\x17\x3b\xeb\x52\x2f\xcf\xa3\x6a\x13\xa9\x01\xce\x57\xbe\xbc\xce\x61\xb3\xb9\x54\x6d\x32\x05\x36\x69\x72\xb4\xff\xee\xe3\x6e\x01\x3c\x9b\x52\xd5\xe6\x54\x0e\x4e\x21\xc4\x90\x97\xc0\xd9\xbc\xaa\x36\xb1\x02\xf7\x60\xf2\xe5\xcd\x87\x63\x04\x96\x93\x2b\xa3\x32\xbb\xb2\xd1\x30\xbc\x3a\x7a\x73\xd2\xce\xc0\x86\x39\xd8\x28\x03\x1b\x4a\xb0\xed\x0c\xcc\xc9\xc0\xe4\x4c\xeb\x81\xa5\xab\xa2\x66\x59\x7b\x1c\x2d\x5b\x0f\xa8\x6e\x0f\x2d\x7e\xae\x5e\x33\xc5\xc7\x5d\x83\x40\xf5\x3f\xc8\x23\x28\x41\xed\xd5\x40\xc7\x56\x99\x8e\xf2\x6e\xd4\x5f\x0a\x44\xe0\xb6\x04\xb1\x2b\x21\x5b\x8d\x29\xee\xec\xa9\x20\xaa\x2f\x81\x91\x3f\x4d\x7e\x26\x2e\xf9\xd3\xc7\x9f\x89\xab\x97\x81\xb3\x4f\x6e\x29\x56\x0b\xb4\xea\xd5\xc5\xdc\xf2\x1a\xc4\x63\x98\x0f\x5a\xf4\x37\xb7\xf8\xed\x6f\x6c\xf2\x01\x36\xf9\xe0\xa1\x26\x8b\x3b\xa7\x7e\x6b\x8b\xa5\xf9\x79\xb8\xd1\xe5\xdd\xc5\xc5\x46\x93\x3f\x4d\xfa\xff\x78\x88\x5a\x51\xcf\xef\x40\x30\x98\xc2\x87\x07\xc7\x86\x7d\xbe\x95\x0d\xa4\xd5\x7d\x24\x5b\xaa\x0f\x77\xc8\x9f\xfe\x13\x7a\x62\xd2\x7d\xd4\x68\xc9\x6c\xeb\x6f\x64\xe5\xe0\x51\xac\xc4\x0f\x1f\xbf\x9d\x99\xca\xd4\x3f\x4c\x73\x4d\x52\x4b\xea\x66\x33\xc1\xef\x82\xe8\x11\x7d\xef\x96\x37\xfd\x15\x86\x4f\x6d\x73\xd3\xe3\xc6\xd1\x2e\x8e\xa3\xdd\xc7\x74\x5e\xee\xcb\xfc\xf1\x9c\x78\x4c\xd7\xfd\xee\xbc\x78\x85\xbc\x78\xf5\x20\x2f\xc4\x94\xcb\x6b\xfc\x8e\xbd\xa6\x65\xd7\xc1\x92\xed\x89\x23\x99\xe9\x03\xed\x7a\xb0\x76\xb9\xac\x53\xbd\x9e\x3b\xff\xfe\xf1\xf4\x35\x7a\x75\xb4\xab\x4e\xf8\xd2\x4f\x53\x59\xe3\x39\x4b\x70\xe4\x2b\xa6\x1b\x8d\x9f\xee\x8b\x66\x34\xdb\x37\xd7\xb0\xe5\x45\xee\x9e\xb3\xd4\xb1\x62\x62\x11\xb1\xb1\xcd\xce\x0e\x1a\x27\x38\xad\x11\xb9\xdd\x62\xee\x44\xe5\xf6\x8a\xb9\x30\xd1\x17\xd9\xfd\x62\xf6\x99\xca\x1d\x14\x73\x7f\x51\xb9\xc3\x62\xee\x57\x95\xeb\x64\x64\xfd\xa7\x24\x6b\x94\xe5\x8c\xc8\xfd\x43\x7d\x24\x57\xca\x9e\x24\x22\xc0\x69\x51\xae\xca\xe8\x4d\x8e\xca\xc6\x2f\x06\x0f\x91\xa9\x96\x00\x9f\x4c\xa7\x2c\xf8\x3f\x8c\x50\xb1\x46\xd0\xb8\x2d\x66\x0d\x95\x17\x8c\xbf\x96\xa7\xfd\x74\x03\x9e\xb2\x50\x2f\x72\x37\xbc\xd8\xe8\x10\x86\xfe\x32\x65\xb3\xfc\x3a\x8b\x0c\x53\x76\xe6\xa7\x51\xe6\xd7\xd4\x8a\xbb\x80\xb2\x9a\x76\xe7\x9c\x25\x02\x45\x21\xca\x4e\xd2\x99\xca\x6a\x4f\xe2\xfd\x68\x26\x8e\x03\x24\x06\xed\x9b\xeb\xf4\x02\x0e\xa5\xec\xa8\x69\x13\x85\xff\xc3\x08\x5c\x87\x76\x4d\x2c\x9d\x87\x54\x9d\x1c\x51\xff\xcb\xc3\x2a\x17\xd7\x6b\x9a\xe5\xb4\x68\x58\xd4\x15\x9a\x4b\x16\xe9\x59\x30\x1a\xb5\x63\xba\x73\x99\xb0\x39\x25\x84\x12\xb1\xb3\xde\x8b\x62\x2a\x0e\x27\xdf\xb2\x94\xca\x50\x2e\x90\x14\x76\xe8\xdc\x4f\x52\x7c\x5c\x04\x51\xb0\x08\x7e\xf5\xcf\x43\xf1\x5a\x84\x3e\x21\xdb\xb2\xb2\x20\x8a\x98\x88\xdb\xb6\x4d\xa8\x8c\x80\x52\x7e\x29\x02\x15\x3d\x64\xce\xc8\xff\xf6\x28\x36\x7c\x6e\x66\x43\x41\x48\xab\xce\x5b\x7e\x58\xad\xe8\x67\xb7\x5a\x0d\xf2\x24\xc0\x76\xd6\x0f\x7d\xdc\x15\xf4\x83\xdf\x46\x5d\xf2\xbf\x3f\xd8\x42\xb1\x10\xf7\xff\xcf\x8e\x8e\x57\x7c\x7d\x47\xe3\xcb\xc7\x75\xf4\x6f\xd6\xd9\xbf\x41\x15\x8e\x6b\xbc\xbc\xbb\x4b\x2a\xfa\xb1\xa8\x19\x77\xaa\xb6\xbb\xd0\x09\x62\x5b\xeb\x5a\x47\xfc\x31\xba\xa6\x18\xdd\xa5\x4a\x45\x49\x0b\xe9\xc6\xfd\x03\x1a\xf2\x41\x57\x5e\x2c\x17\x3f\x28\x5a\x1b\xe4\xb7\x3a\x43\x91\xa7\x2c\xff\x30\xb3\x57\x5e\x86\x6a\x88\x3d\xd0\x60\xb3\x6a\xa7\x58\x0b\x53\x27\xb5\x07\x8c\xb4\xbf\x12\xcf\x53\x3d\xbb\x43\xfe\x0f\xb2\x86\x4e\x21\xb1\x60\x7b\xac\xad\x0d\xe2\x05\xd5\x1c\xf8\x53\x1e\x27\xba\xf1\x08\xaf\x50\x4a\x6b\x83\x53\x08\x35\x11\x93\x78\x5e\x62\xac\x9b\x22\x14\x42\x5f\x98\x85\xe8\x01\xc1\x06\xf2\xf2\x58\x19\x63\xd2\x06\xe4\x77\x77\x72\x1d\xb0\xc0\x84\xa0\xed\x59\x6e\xb0\xad\xee\x11\xdb\x5c\x73\x90\xc5\xda\x7c\x8a\x27\x2f\x37\xe6\x35\xc5\xe7\x0a\x67\x53\x3f\x99\xed\xc5\xab\xfc\x7e\x36\xb9\x11\x25\x3f\xdf\xd3\x8c\xad\xb3\x88\x67\xc1\x3c\x60\x49\x9a\x1d\x3e\xcc\x37\xd7\x08\xfc\x13\x7e\xe6\xb1\x09\x3f\xbb\xbb\xdb\xb2\x28\xf9\x8b\xdc\xc7\x3d\xe1\x67\xd2\x50\x94\xaa\xdf\xde\xae\xc5\x02\xd9\x58\xab\x37\x21\x28\x5e\xa0\x6c\x79\x12\x12\x8a\x47\x03\xa8\x38\x12\x70\xb6\xa6\x74\x61\x5f\xef\xba\xf1\x58\x22\xea\x05\x2f\x3f\xef\xb4\x2d\xb7\x02\xf2\xb2\x0a\x62\xb9\xe6\x3a\xe2\x0b\xa1\xbe\x7c\x3e\xbd\x5c\x77\x7f\xa9\xe4\xfb\x56\xde\x05\x79\x48\x67\x19\x85\xd2\x1c\x6f\xdc\xbf\xbc\xa1\x6f\x02\x75\x67\x56\x80\x9b\x4c\x5b\x2d\x36\x09\xce\xc6\x49\xab\xa5\xf3\xbb\x3b\xf2\x17\x22\xc6\xdb\x24\x38\x33\x44\x2f\x4d\x82\x33\x71\x96\x2c\xc1\xd3\x3b\xc5\x3e\xa2\xc9\x23\x1b\x2a\x37\x83\xae\x5d\x19\x12\xdc\xd0\x19\x85\x1a\x1e\x8d\xb2\x49\xac\x9b\xb1\x9a\x88\xf5\xa3\x8c\x90\x55\x1f\x06\x89\xbf\xf4\x31\xf8\x84\xb7\x85\xae\x4a\x9e\xa1\xf6\x90\x5e\xb1\x24\x65\x5f\x0a\x70\x5b\xb8\xa4\x5b\x7b\x21\xa3\x14\x24\xc1\x45\x10\x61\xcc\x00\x09\x98\xe7\xc8\x63\xec\x2b\x1e\xef\xf9\x49\x12\xf8\x17\xec\x08\x69\x56\x90\xf5\x37\xd9\xfd\xfe\x69\x9c\x7c\x16\xf1\x4b\x14\x70\x29\xb3\x08\xf7\x2a\x0c\xa2\x6f\x65\x28\xcc\xa2\xea\x2c\x32\x4b\x78\x91\xbe\x3c\xa7\xd4\xe2\xcf\xc1\x8c\xc5\x95\xc6\x62\x9e\x0c\x23\x90\xf8\xd3\x6f\x8c\xb3\x99\x8c\x48\x20\xe0\xca\xb9\x8f\xde\xe9\x2b\xf6\xb3\xd7\x2f\x9c\xc6\xc8\x90\x1e\x91\x51\x03\x96\x71\x9a\xdd\x2c\x79\x99\x1d\xe4\x17\x65\x8b\x47\xe6\xf1\x26\xfb\x06\xc9\x28\x84\xc6\xc1\x42\x1a\x42\x6a\x3e\x57\x61\x49\x96\x71\x2a\xee\x2d\x15\xa7\x35\x6a\x98\xf3\x6d\xea\x0d\x51\xf5\x32\x12\xbd\x02\xed\x72\xbb\x6e\x23\xb6\xca\x86\xd8\x3c\x8c\xa3\x6c\x36\xcb\x5b\xcd\xef\xee\xf2\x86\xb3\xa2\xf5\x6a\xc4\x5c\xdd\xfe\x5f\xa4\x56\xdc\x73\x9f\x9d\x99\x43\x2e\x8e\x4b\x9b\xcf\x33\x84\xc1\x8c\x45\x5c\xea\x12\xa5\x55\xde\xb2\xdb\xd4\x60\x93\x07\x61\x26\xfc\xec\xcc\x53\x61\xe8\x55\x3b\x5e\xd4\x39\x33\x56\x6d\xfe\x16\x2c\x45\xe4\xf4\xd2\x29\x51\x6c\xc9\x49\xfc\x8d\xc9\x29\x34\x09\x22\xce\x2e\xf0\x3a\xe0\x04\x23\x0a\x1b\x99\x9e\xf4\x92\x0e\x5e\x15\x9e\x5d\x21\x48\x72\xda\x72\x70\x69\xb8\x25\x6c\x87\xc7\x9f\x96\xcb\xe2\x89\xf5\xe0\x51\x1c\x68\xb5\x1e\x04\xe9\x5c\xfa\xe9\xc7\xeb\xe8\x30\x89\x97\x2c\xe1\xb7\x7a\x60\xa8\xfd\xba\x0f\xf3\x2e\xc0\x8d\xf5\x6c\x92\x9e\xb5\x5a\xa8\x96\x21\x29\xe3\x3b\x21\x5b\xe4\x29\x85\x7c\x07\xba\x2a\x0e\xc2\x2b\xdb\x66\x8c\xa1\x94\xb7\x65\xde\xe7\x91\xfc\xd7\xb7\x4e\x32\x71\x5d\xcb\xd4\xeb\x86\x56\x35\xd0\xa5\xa2\xe2\x7d\x63\xb7\x65\x82\xb2\xbe\xda\x58\xc9\x24\x38\xbb\xcf\x88\x26\xe9\xed\xe2\x3c\x0e\xc9\x96\xea\xc1\x7a\x75\xd9\x61\x0d\x29\x1c\x5a\x9c\x68\x85\xbe\x17\x82\xf3\x17\xc4\x20\x08\x69\xa2\x58\xdd\xeb\xae\x89\xfa\x4a\x74\xab\xe1\x11\x3d\x6e\x78\x60\x3f\xfb\x8f\xe8\xe7\xe8\x6c\xcc\x26\xfe\xd9\xdd\x9d\x0e\x7f\x3c\xf2\x17\x62\xdc\x67\xeb\xa2\x85\x11\x41\x49\x5b\xda\xe6\xce\xf4\xd2\x10\x07\x72\x83\xb9\x2e\xc2\xed\xe6\x8e\x42\x13\x67\x78\xe2\x17\x4f\xa7\xf9\x30\x23\xd2\xb8\x9f\x5c\x30\x0e\xdd\xa3\x82\x80\xf9\xb3\x2b\x3f\x9a\x32\xdd\xc2\x75\x59\x40\xec\x6d\x44\xfc\x3e\x48\xd3\x20\xba\x28\x63\x52\x7e\xd4\x46\x9d\x24\xd4\x7e\x5d\xd5\x57\xc6\x3f\x5b\x33\xfe\xb3\x93\x48\x4c\x48\x43\xe6\xbb\x89\xb1\x5f\x1b\xf6\x12\x4c\x44\x98\x40\x98\xb5\x7d\x28\x4e\x96\xad\x1b\x01\xf2\x6d\x75\x00\x48\xa4\x85\x29\xc8\xfa\xb2\x13\x09\x7c\x36\xde\x38\x64\x0a\x07\x10\x15\xf6\xfb\x0d\x42\x2f\x38\x52\x95\xf9\xe6\x3e\x60\xec\xdb\xda\x10\xa7\xcf\xf2\x58\x32\x77\x77\xcf\xc8\xb3\xec\x69\x2d\xaa\x37\x59\x7d\xeb\xcc\xe1\xf4\x52\xdd\xbd\x3d\xf1\xdb\xbf\x7e\x3d\x7b\x1e\xac\x27\xec\x8d\x18\xbc\x8f\x40\x65\xb6\x47\x67\xcf\x37\x58\x3e\x94\x97\x52\xfc\x46\x1c\xff\x59\x83\x32\x23\x28\xe2\x8d\x4b\x05\x43\x91\xd5\xae\x6a\xf4\xb8\x58\x79\x3e\x3c\x28\xcb\x06\x68\x99\x05\xd9\x2c\x54\x62\x2d\x74\x46\x11\x33\x12\x58\x2c\x75\x3f\x2e\xe2\x93\x17\xa6\x57\x70\x49\xa1\xaf\xe1\x51\xd0\x65\x1c\x92\x91\x35\x82\xa4\xe5\xac\x53\xa3\xe0\xef\x1b\xe5\x32\x53\x8c\x1c\xd8\xba\x4e\xb2\xca\xcd\xaa\x30\x7f\xab\x99\x5f\x9b\x34\x79\x51\x7d\x97\x1c\x2c\xa8\x48\x1d\xff\x43\xa9\x32\xdb\xa3\xaf\x67\xdb\xcf\x2f\xd6\x89\x56\xa1\x89\x0d\x52\x6f\xe6\x62\xa1\x62\x59\x34\xfa\x29\x6d\xab\xd5\x22\x37\xa4\xec\xdc\x49\x3f\x2c\xf3\x1d\x2d\x6a\x19\x3b\xaa\x42\xbd\x81\x5e\xf3\x06\x84\xd7\x6f\xcf\x05\xc1\x86\xbb\x09\xf8\x74\xb6\xfd\xfc\xc2\xd8\xd0\xaa\xfa\x50\x16\x72\x0d\xfe\xb2\x6a\x14\x48\xc6\x33\xf2\x4c\x44\xdb\x79\x86\xd1\x76\xea\x6c\x17\x88\x34\xd5\xd3\x75\xa3\x50\x38\x0e\x08\x4e\xf4\x11\xbb\xd8\xbf\x59\xea\x64\x72\x7a\x7a\x7a\x4a\xb6\x31\x34\x36\x25\x17\xaa\xdc\x5a\x4f\x0f\x4f\x97\x86\x7e\xca\xdf\x44\x33\x76\xe3\x29\x60\xba\x95\x60\x80\x7a\xbd\x50\xa8\xd9\xad\x90\x0b\x23\x05\xb5\x17\x06\x9c\x25\x18\x2a\x02\x34\xfc\x76\x43\xf7\xe0\xe9\x49\x55\x53\xa1\xfa\xb6\xa5\x82\xbc\xc9\x66\x16\xdf\xa9\x02\x00\x24\xd8\x77\x77\x47\x4e\x4f\x0b\x56\x18\x74\x0a\xf2\xb3\xfa\x22\x9b\xca\x4f\x2f\x3d\x8f\x1b\x6b\xd5\x88\x08\x2e\xb4\xad\xca\xd1\x2a\xcb\x8b\x47\x4c\xf3\x62\xdb\x05\xbb\x28\x4e\xbd\xeb\x4d\xd6\x61\x23\xab\xd6\x4b\x94\x8c\xe9\x56\x9f\x2e\x3c\x23\xcf\xdc\x67\xe4\x19\x25\xcf\x88\x4b\x9e\x11\x0a\x4d\x76\xe1\x87\xfa\x2e\xf9\x5f\x09\x3d\x77\x71\x1f\x39\x73\xc9\x9f\x08\x9d\xbb\xe4\x74\x4e\x68\xe4\x92\xd3\x88\xd0\xc4\xc5\xed\xbc\xdc\xc5\xdd\xe4\x57\x2e\x39\xbd\x22\xf4\xc6\xad\xd5\xb1\x7e\x78\x9f\x7d\xb7\xef\x61\xb8\x8c\x37\x7c\x61\xce\x06\x12\xa3\xd6\x00\x06\xcd\xea\x69\x35\xf4\x9e\x5c\x03\x2a\xdd\x2d\xd5\xd5\x6a\x41\xa5\xea\x1f\x28\xa9\xd8\xe4\x26\x8b\x50\x07\x59\x54\xf1\xe9\xa5\x70\x81\xb8\xc7\x26\x32\xe3\x6c\x9d\x35\x6a\x38\x2b\xc9\x5b\x2d\x9d\x7b\x3c\x8f\x3e\x62\x18\x94\xaf\xef\xf2\xa6\x95\x14\x11\xb9\xeb\x22\x8c\xcf\xfd\xb0\x81\x6e\xd0\xa6\x49\xe4\x87\x62\xfe\xec\x6a\xc7\x4b\x3f\xd2\x96\x02\x4f\xaa\x2d\x56\x29\xd7\xce\x99\x26\x8a\x13\xf0\xfa\xeb\x43\x5e\x35\xb0\x3e\xee\xc5\x47\xc7\xbb\x3b\x56\x1c\x8d\x13\xf3\x4c\x6a\x91\xad\x0c\xc5\x26\xf3\x81\x9e\x82\x36\x8f\x13\x31\x99\x1f\x57\xa7\xe8\x45\xe4\x56\x75\xe4\x51\xa8\xae\x91\x61\x12\xa6\xbe\x8a\x04\xca\x3f\x0b\xd2\x7f\xb9\xc9\x46\xac\x9b\xb2\x67\xfe\x6f\xb5\x23\x9e\x9f\xa6\x32\x34\x50\x26\x4a\xf2\x38\xf7\xf3\xd3\x74\xfb\xf9\xc5\x62\xcc\xd7\xf1\x37\x29\x12\x82\x2e\x82\x60\x77\x62\xa8\xe8\x4f\xb8\xb6\x90\x17\x37\x1e\xd9\x02\xca\x5a\xad\xb6\x95\x19\xce\x4e\x00\x85\x3f\xce\xf5\x46\xad\x9d\x75\x4a\x1c\x31\x2d\x9e\x43\x87\x6c\x13\xaa\xcd\xe3\x55\x34\x2b\xca\xfc\x7d\x81\x2f\x05\xe7\xd9\xfb\xde\x9c\x5f\x9a\x49\x79\xdf\xf1\x80\x80\xab\x96\x85\xf7\x4e\x8e\xde\xb9\x72\x6d\x78\xef\xe3\x87\x93\xa3\x8f\xd9\xe3\xee\xbb\x13\x11\x49\x86\xbe\xdf\x3f\xd9\x95\x61\x64\xd6\x54\xa1\x26\xa4\xde\xf7\xfd\xe3\xbd\xdd\xc3\x7d\xd7\x1e\xd2\xfd\xe3\x3d\xf8\x73\x60\xb9\x96\x65\xd3\x03\xdb\xb5\xac\x2e\x3d\xe8\xba\x96\xd5\xa3\x07\x3d\xd7\xb2\xfa\xf4\xa0\xef\x5a\xd6\x80\x1e\x0c\x5c\xcb\x1a\xd2\x83\xa1\x6b\x59\x0e\x3d\x70\x5c\xcb\x1a\xd1\x83\x91\x6b\xd9\x26\x3d\xb0\x4c\xd7\xb2\x2d\x7a\x60\x59\xae\x65\xdb\xf4\xc0\xb2\x5d\xcb\xee\xd2\x8f\x1f\xf6\xdd\xde\x88\x9e\x7c\xf9\xe8\xf6\x4d\x7a\xf2\xf3\xd1\xfe\xbe\xdb\xb7\xe8\xc1\xc7\x4f\x47\x6e\xdf\xa6\x07\x6f\x3e\xef\xbb\xfd\x2e\x3d\x7e\xf3\x37\xb7\xdf\xa3\xc7\xfb\x9f\xf7\x3f\xb8\xfd\x3e\xdd\x7f\xf3\xd3\xcf\x27\x6e\x7f\x40\x3f\xbc\xf9\xb0\xef\xf6\x87\xf4\xef\xfb\x47\x1f\xdd\x9e\x43\x5f\xed\xee\xbd\x3d\x3e\xdc\xdd\xdb\x77\x1d\xfa\xea\xed\xf1\x21\xfc\x39\x76\x1d\x7a\xb2\xfb\xca\x1d\xd1\xbf\xba\x8e\x45\xbf\xb8\xce\x90\xee\xbb\x83\x11\x3d\x72\x1d\x9b\x9e\xb8\x4e\x8f\xfe\x9b\xeb\x8c\xe8\x27\xd7\xe9\xd3\x37\xee\xb0\x4b\x3f\xba\xc3\x11\x3d\x74\x1d\x93\xee\xed\x1e\x1e\x7f\x7d\xf7\x71\xef\xad\x6b\x8b\x87\x62\x1a\xfe\xee\xba\x83\x3e\x3d\x76\x9d\x2e\x7d\xed\x0e\x1c\x7a\xe0\x0e\x4d\xfa\x93\x3b\xb4\xe8\xcf\xee\xd0\xa6\xff\xea\x0e\x7b\xf4\xad\x3b\xec\xd3\x77\xee\x70\x40\xf1\xbc\x87\x6b\x75\x21\x01\x7f\x8e\xf6\x4f\x3e\x1d\x7d\x90\x29\xf8\xf3\x77\x77\x64\xd2\xbf\xb9\x8e\x43\xf7\xdc\xc1\x90\x7e\x76\x9d\x01\x7d\xe5\x0e\x06\xf4\x83\x3b\x74\xe8\x7b\x77\x38\xa4\xa2\x75\x5d\x9b\x1e\x1f\xc2\xef\xe1\xd1\x9b\x0f\x27\x5f\x8f\xf7\x8e\xf6\xf7\x3f\xb8\x3d\x78\x3e\x39\xde\x83\xc4\xf1\xde\xd1\xc7\x77\xef\x04\xed\x56\xaf\x4f\xf1\x9c\x01\xa6\xf0\x68\x81\x6b\x8d\xe8\xab\x23\xfc\x23\xce\x14\xb8\xbd\x3e\xa4\xe0\xcf\xcf\x1f\xdf\xef\xbb\xdd\x01\x3d\xdc\xfd\x69\xff\xeb\xa7\x43\xb7\xdb\xa5\x87\x3f\x89\xbf\xaf\xf7\xdf\xed\x9f\xec\xbb\xbd\x01\xa4\xe0\xcf\xfe\x87\xd7\x6e\xb7\x2f\x40\x5f\x7f\xfc\xf2\xc1\xed\xf6\xa8\xd8\xee\x2f\x53\xf8\x17\x0a\x3b\x14\x73\x7b\x26\xc5\x6d\xf9\x6e\x77\x44\xdf\xed\x1f\x9c\xb8\xdd\x21\x95\xfb\xeb\x5d\xab\xd7\xa3\x6f\x0f\x4d\x77\x34\xa0\x6f\x0f\x2d\x77\x34\xa4\x6f\x0f\x6d\x77\xe4\xd0\xb7\x87\x5d\x77\x34\xa2\x6f\x0f\x7b\xae\x65\x9a\xf4\xed\x61\xdf\xb5\x4c\x8b\xbe\x3d\x1c\xb8\x96\x69\xd3\xb7\x87\x43\xd7\x32\xbb\xf4\xed\xa1\xe3\x5a\x26\xe0\x18\xb9\x96\xd9\xa7\x6f\x0f\xbf\x1e\xbe\xfb\x74\xec\x5a\x26\x60\xfa\xba\xfb\xfa\xb5\x4a\xbe\x7f\xf3\x01\xf3\x01\xe7\xd7\xe3\x4f\xaf\x4e\x8e\x76\xf7\x4e\xb2\xe7\x93\xdd\x23\xd7\x32\x07\x08\xf8\xe9\xdd\xc9\x9b\xc3\x77\xff\xa6\x9e\x5f\xbf\xf9\xfc\xe6\xf5\xbe\x6b\x59\x16\x3e\xed\xef\xbd\x79\xbf\xfb\xce\xb5\x2c\x13\x2b\xdb\x3f\x7a\xf3\xf1\x35\x3e\x7d\xd8\xfd\xfc\xe6\xa7\xdd\x93\xfd\xaf\x20\x91\xae\x05\x5d\xa8\x72\x0e\x3e\x1e\x7d\xd9\x3d\x7a\xed\x5a\x83\x21\x15\x1b\xca\x5d\x0b\x44\xe7\xd3\xbb\x77\xaa\x23\x2d\xa7\x4b\xbf\xbc\xf9\xf0\xfa\xe3\x97\xaf\x1f\x3f\xef\x1f\x7d\x7e\xb3\xff\xc5\xb5\x1c\x9b\xbe\x42\xd6\x7d\xd8\x3f\x3e\x86\x7e\xb1\xad\x41\x31\x07\xd9\x6b\x5b\xc3\x35\x83\x5b\x4e\xca\xb3\xa0\xaf\x1b\x8f\x49\xab\xc0\xaf\x9b\x0f\x4b\x6f\xf8\xfa\x8a\xe7\xa5\x8b\x3b\x6e\xdd\xc6\x2b\xa4\x9e\xb0\x27\xf7\x9e\x96\x77\x9d\x3e\x84\xf0\x11\xdb\x1b\x15\xca\x93\xf8\x24\xde\x48\xe0\xc3\x5b\x9c\x73\x54\xaf\x62\xce\xe3\xc5\x6f\xc5\x26\x3e\xec\xcb\xad\x13\xd3\x6f\xcd\xe8\x9e\xb2\xe3\xb1\x76\x21\x0b\x2d\x5f\xf8\x07\x42\x93\xb0\x39\x4b\x58\x34\x65\xef\xfd\xc8\x2f\xcd\x1f\xc1\x36\xd7\xdf\x17\x22\xbe\x55\xef\x95\xa3\xe4\xb9\xb8\xd4\x6a\x99\xc4\xf3\x20\x64\xe9\x73\x74\x4c\x84\x25\x6f\xa8\x4a\x15\xcf\x5f\xa4\xe3\x8f\xe7\xff\xce\xa6\xf8\xf1\x38\xd5\xb9\x51\xff\xbc\xa7\xbc\x11\x5c\xef\x63\x79\x49\x9d\x51\x3e\x61\x78\xb5\x6b\xed\x3b\x6b\x53\x1b\x38\xbb\x88\x93\x80\x29\xd3\xbb\x01\x22\x63\xb0\x47\x54\x8a\x3c\x54\x64\x77\xb9\x64\x7e\x82\x7e\x14\xc9\xd3\x0f\x16\xdb\x8b\x97\xb7\xe2\x53\x13\xc9\x92\x0f\x16\x3a\x06\x27\x23\xf5\x88\xf8\xfb\x30\x38\xca\x17\x86\xbc\xce\x92\x0f\x16\xca\xc3\x64\xab\xd4\x83\x45\xde\x07\xe9\x94\x85\xa1\x1f\xb1\x78\x95\x7a\xa4\xf4\xb8\xb1\xf0\xed\xeb\x6c\x29\x37\xf5\x26\xdf\x83\x99\xfb\x68\x66\x53\xce\x6e\xb8\x5b\xe0\xb8\xa6\xcf\xe3\x88\xa7\x54\x9b\xc6\x61\x9c\xa4\x54\x13\xd7\xad\x19\xe4\x9e\x3e\x02\x71\xd6\x07\x12\x2f\x3c\x6b\x2d\x4d\x74\xcb\xa3\x30\x28\x6e\x49\x04\x19\xf3\x1e\x55\x58\x49\x9b\x2c\x9c\x09\xdf\xa3\x0a\x67\x7d\x2b\x4b\xe7\x7d\xfd\xb8\xe2\x28\x4c\xaa\xac\x90\xac\x47\x15\x2c\xf5\xb3\x2c\x0f\x79\x1d\x72\x7f\xd6\xd8\xeb\x75\x1d\xe0\x7d\x07\xdf\xb5\x7d\x91\xb4\x17\xf1\x8c\x11\x77\xf2\x58\x3e\x61\x24\xb7\x09\xfe\xca\x50\xf6\x79\x10\x51\x9a\x07\xf6\xa4\x85\x80\xa1\x67\x94\x88\xad\x51\x9a\x1f\x69\xbb\x21\xff\x29\xd1\x66\x8c\x33\x19\x20\xc5\x9f\x7e\xfb\xe5\xcb\x25\x5b\x25\x41\xca\x83\x69\xe7\x34\x3a\x8d\x9e\x01\xfa\x67\xae\xb6\xbb\xe2\xb1\x80\xd4\xce\xfd\x14\x3d\x7f\x2d\xf2\xaf\x82\x0b\x9f\xc7\x49\x27\x94\x17\xe0\xb8\xa7\x91\x86\xff\x9e\xb1\xa8\xbd\x4a\x9f\x69\xde\x4b\xed\x19\x90\xf6\x8c\x6a\xb8\xf6\x01\xcf\x19\x35\xcf\x00\x3d\xbc\x74\xb5\xd7\x41\xea\x9f\x87\x4c\xf3\xa3\x5b\x49\x56\xc2\x42\x5c\xe8\x58\xac\xa2\x0b\x98\xb7\x9f\x46\xcf\x54\xe3\x80\x9c\x34\x5d\x2d\x98\xb6\xc7\x93\x70\x7b\x37\xe4\xda\x82\xf9\x51\x2a\x4a\x02\xa4\x6a\x7b\x0e\x09\x39\x5a\x03\x64\x4e\x4c\x06\x8a\x59\x0d\xb0\xc0\x3c\xe8\xa8\x2c\xd0\x4f\x3b\x48\xdb\x30\xd5\xc8\x73\x9e\xd0\x79\x5b\x16\x25\xe7\x71\x1c\x12\x4a\xde\xcc\xb5\x94\x71\xaa\xad\xa2\x59\xcc\x52\x8d\x5f\x32\x4d\x44\xdd\xd5\x3e\x1e\x43\xed\xed\xec\x38\x4d\xfb\xe5\xeb\xfd\x77\x5a\xc2\x16\xfe\x92\x6a\x69\xac\xf1\x4b\x9f\x6b\x25\x9a\x34\x98\xb7\xb1\x99\x16\xa4\xe5\xfc\x8e\xa2\x5e\xd2\xfc\x63\x94\x1e\x33\xae\x5d\x5f\x32\x7e\xc9\x12\x24\xd3\x0f\xb9\xfa\xba\x91\x6a\x7e\xaa\xf9\x1a\xe0\xc6\xac\x38\x11\x19\x33\x90\xa5\x68\xca\x15\x6c\x46\x48\xca\xa2\x59\xda\xbe\xbe\xf4\xf9\x13\x68\xc9\xae\x1c\x98\x64\x29\x19\xb5\x92\x96\x22\xaf\x9e\x51\xb2\x27\x62\x5f\xa5\xda\x25\x4e\x5e\x73\x62\x83\x54\x13\xf1\xe6\x67\x28\xe1\x9a\x5c\xab\xe9\x88\x7f\xda\x31\x8b\x66\x30\x3a\xf6\x8f\xf7\xb4\x65\xc2\xe6\xc1\x4d\x07\x80\xb0\x96\x8e\x02\xda\x9d\xcd\x34\xcb\x76\x34\x1e\x23\xea\x55\x84\x93\x54\x36\xd3\xb2\xa0\xfd\xd0\xfa\x20\xd2\x6e\x70\x8f\x04\x20\x28\x90\xd7\xe9\x68\x5f\xfc\x80\x63\x5c\x49\x28\xae\x6e\xd8\xd0\x30\xd6\xaa\xe6\x47\x33\x2d\x65\x4c\x03\xde\xe0\x7b\x59\x54\x53\xa3\x2b\xff\x97\xfa\xb7\x69\x47\xd3\xf4\x93\xcb\x20\xd5\xae\xe3\xe8\x19\xd7\xae\xe3\xe4\x9b\x76\xcd\xc2\x10\x86\xe8\x32\xf4\xf9\x3c\x4e\x16\x29\x74\x5b\xc2\x10\x5b\x1d\x8b\xc2\xbf\x64\x89\x00\xc6\xef\x8b\xa0\xa6\xe4\x77\x2b\xa4\x34\x8d\x17\x82\x89\x2a\x70\x5e\xda\x31\xb0\x33\x57\xb3\xe0\x3c\x64\xed\x73\x16\x86\xed\x14\x74\xe7\xc3\x1d\x2a\xf5\x2d\xb8\x67\x6d\x75\x5b\xa8\x2b\x9c\x29\x40\x17\x3f\x07\x64\x84\x92\x15\xee\x04\xfb\x74\xf4\x4e\x8b\xe7\x48\xbc\xda\x46\xa7\x01\x80\x86\xb5\x75\x34\x6d\x7f\xb1\xe4\xb7\x6a\x4d\x14\x68\x8d\x62\x4d\x92\x85\x80\x28\x74\xf2\x86\xd0\x76\x54\xb8\xfb\x13\x89\x7e\x34\xb9\xf9\x48\x78\xf6\x66\xae\xf1\x64\xc5\x68\x99\xa0\x54\xc4\x97\x63\x5a\x7e\xa3\x97\x76\x1d\x84\xa1\x26\x2e\x87\xd0\x7c\xed\x0b\x3b\x2f\x5d\x3e\xda\xd1\x2e\x39\x5f\xa6\xee\xf3\xe7\xd7\xd7\xd7\x9d\xeb\x6e\x27\x4e\x2e\x9e\x9f\x1c\x3d\x2f\x12\x99\x3e\x07\x39\x7d\x2d\xee\xb5\x81\x16\x96\x5e\x6a\x09\xfb\x8f\x55\x90\xb0\x14\xba\x6f\x11\xa4\x29\xf6\x57\x12\x2f\x84\x64\xc2\x14\x49\xfb\x72\xc9\xc4\x4a\x99\x26\xee\x66\x82\x31\x90\x32\x8e\xe2\x8b\xad\x40\xd6\x0b\x52\x7d\xce\xd9\x62\x89\xef\xfc\xf4\x5b\x86\x04\xd9\x5a\xa8\x21\x98\x6b\x11\x9b\xb2\x34\xf5\x93\xdb\x0e\x34\x29\x13\xd3\x54\x5b\xf8\xb7\xe2\x56\xaa\x4b\xb9\x6e\x54\x2c\x08\xe4\xb2\x94\x03\x82\x80\x6b\xb3\x60\x86\xa0\x62\x43\x15\xf0\x08\x49\xf7\x45\x9d\x42\xfa\x70\x98\x4a\x8d\xc8\x6e\x38\x8b\x52\x6c\xf7\x75\xc0\x2f\x91\x3c\x52\xe2\x07\x29\x56\x76\xe9\x5f\xb1\xe2\x33\x8f\x35\x79\x3f\x50\x99\x89\x9d\x67\x67\x94\xe4\x9d\xd6\x46\xff\xe9\x61\xb9\x28\xb8\x62\x24\xb9\x38\xd7\xad\x01\xd5\xc4\x7f\x06\x18\x63\x44\x42\xc9\x49\x59\x20\x30\x5b\x8c\x7d\x76\xc3\x45\x33\xa2\x58\x8b\x51\xab\x8a\x97\xbe\xba\x7c\x28\x45\xc9\x2d\x10\x86\x0e\xdd\xd3\x08\x23\x34\xfb\xd8\x48\xf6\x8e\x8f\x35\xf1\xc5\x5c\x8e\xa7\x02\x5d\x88\x7a\xcd\x60\x12\xef\xa0\x1f\x0e\xe2\x44\x63\x37\xfe\x62\x19\x0a\x6b\xbf\x4a\x42\x5d\x89\xf0\x45\x1c\x77\x2e\xc2\xe7\x7e\xc4\x66\x27\x6f\x0d\x78\x1b\x06\x11\xf3\x93\xf6\x45\xe2\xcf\x02\x16\x71\x9d\xc7\x4b\xed\x1c\x27\x8f\x54\x3b\x0f\x41\xf2\x12\x36\x33\x2a\x6d\x4c\x83\x5f\xff\xc8\x26\x6a\x80\xbf\xa3\x69\x32\xa6\x75\x0a\x42\x01\x6e\x48\x95\xd5\xea\x82\xae\x3f\x92\x14\x55\x47\x23\x6b\x2d\xf3\xcf\xf0\x1f\x24\xa7\x2c\xe2\x2c\x51\x04\x0a\x5f\x40\x18\xd0\xdf\xee\x7b\x48\x3d\x26\xc9\x13\x5e\x44\x7a\x19\xaf\x42\xb0\x42\xd1\x4c\x7b\x75\xac\xe9\xcf\x4e\x4f\x6f\x4c\xe7\x19\xd5\xfc\x6f\xbe\xf6\xcb\xcf\x46\x47\xd3\x3e\x82\xbc\x5e\x07\x29\xab\x14\x05\x13\x5b\x2c\x0e\x45\x87\xf3\x67\xc8\xdd\xcc\x3a\xb6\x17\xfe\xb2\x1d\x5f\xb1\x24\x09\x66\x2c\x7d\x12\x87\x85\xbf\x8b\x6c\x25\xf4\x19\x1a\x3e\xd0\x66\x4b\x36\x0d\xe6\x01\x9b\xa1\xd7\x11\x69\xb1\x98\x57\x6b\x6f\x38\xba\x42\x5a\x8a\x1f\x46\x34\x3f\x49\xfc\x5b\x2a\x8d\x21\xf3\xa7\x97\xda\x52\x7e\xd5\x01\x30\x68\x48\x6e\xc0\x41\x41\x4e\xe3\x19\x43\x7b\x0c\xaf\xe4\x56\x93\x02\x7e\xe1\x80\xd5\x2a\xd0\x02\x9e\xb2\x70\xde\xd1\xde\x44\x02\xa2\x5c\x7b\x63\xbd\x09\x9b\xb2\xe0\xaa\xec\x41\x54\xeb\x85\x07\xa9\xbe\x8a\x80\x8d\xc2\xf3\x9d\x98\xc4\xfd\x4e\xb6\xf1\x93\xde\xca\xb6\x46\x36\xa1\x84\x66\x4f\x26\xa1\xa4\x9d\x3d\x59\x84\x92\x4e\xf6\xd4\x25\x54\x83\xd2\xf8\xd8\x77\x1c\x72\x7f\x0f\xea\x11\x4f\xbe\xb4\xe3\xa8\xcd\x6e\x82\x47\xf8\x6c\xe5\x99\xd1\x96\x99\x89\xdc\x17\xe9\x40\xa2\x66\x41\x3b\x83\x98\xb1\x75\xe2\x10\x0c\xf4\x8f\xb0\xa3\x53\x71\xbf\xb9\x06\x55\x0a\x5d\x28\x36\xbf\xb6\xcf\xc3\x20\xfa\xf6\x24\xb9\x29\x08\x7d\x9d\x02\x44\x27\x6a\x44\xfc\xda\xf9\xad\x72\x81\x6a\xb5\xb6\xa7\xb7\xd3\xf0\x69\x0a\x6a\x62\xb1\x2e\xed\x9b\xe6\x59\x26\xb8\x68\x14\x54\x5d\x58\x79\x02\xc6\x2f\x88\xb4\x45\x10\x86\x41\xca\xa6\x71\x34\x4b\xb1\x67\x77\x35\x7e\x1d\x6b\x4c\xdc\x59\xa4\x64\x08\x48\x9d\x07\x49\xca\x41\xb5\xe0\x55\x3d\xe8\xd7\xc6\xd7\x5a\x18\x47\x17\xc5\x96\xc8\xb1\x78\xce\xb4\x38\xa2\x9a\x40\x5c\x82\x0d\x78\x11\x66\x3e\x2f\x36\xf8\xc7\xec\xa0\xaf\xdb\xfd\x3e\xd5\x4c\xf1\xff\x4e\xbf\x6a\x0c\x85\x91\x93\x3a\x51\x5e\xe1\x28\xc9\x15\x95\xc3\xfb\xf6\xd2\x0f\x19\xe7\xec\xf7\x50\x13\xe4\xa3\xc4\x21\x17\x46\x94\x9b\xa6\xbc\x5c\x59\x15\xb2\x1b\x35\xca\xd4\x8f\x80\x1b\x55\xad\x22\x46\x37\x18\xe8\x5c\xc3\x68\x30\x7d\x6b\xd4\x3e\xc0\x59\xd0\x0d\x38\xad\x9c\xa1\x98\xb1\xc7\xaa\x22\x5f\x8b\x56\x0b\x96\x04\x53\x9c\xd0\xdd\x68\x41\x24\xa7\x1a\x82\x77\x45\x82\x3f\x43\x1b\xd7\x90\x1c\x2e\xe2\x94\xe3\xac\x7a\x9a\xa6\xb2\xac\xd8\x25\xab\x69\x42\x75\x46\xd3\x70\x35\x63\xa9\xf6\x4f\x47\x3f\xbd\xa2\xda\x3f\x1d\x1d\xfd\xf4\xd3\xab\x57\x54\x03\x6f\xa6\xd3\xe9\x18\x98\xf2\x65\xd2\xc7\x99\xd1\xad\xc4\x13\xf9\x0b\x9c\xad\xc2\x14\x34\x81\x99\x41\x1a\x6b\x4b\x3f\xe1\xaa\x63\x53\x1e\x4f\xbf\x69\x7f\xb3\x2c\x40\xd1\xe1\x37\x5c\x9b\x07\xa1\x20\xf9\xdf\xe2\x15\xd2\xbb\x4a\x99\x26\x56\x18\x80\x3b\x82\xf4\x5b\x81\xb2\xd8\x3d\x42\x01\xe6\x42\x0a\x83\xf6\x5c\xdc\x81\x7a\xc1\x66\x59\x53\x52\xc0\x37\x5f\x85\x62\xb6\xf2\x2d\x58\x2e\xc1\x83\xf1\xb5\x74\xe1\x87\x21\xf0\xf3\x9c\xa1\xd4\x05\xd1\x2c\x98\xb2\x34\xd7\x32\x99\x82\x6d\xec\x6f\x29\x92\xcb\x5b\xd0\x7d\x29\xae\x9e\x3c\x2c\x89\xf9\x5a\x5a\x41\xf3\xed\xae\x78\xbc\xf0\x79\x30\xf5\xc3\x10\xb8\xb8\xbc\xd5\x16\x31\xf0\x20\x55\xc7\xd5\xd4\x84\x72\xaa\x4e\xbe\x62\xe5\xab\x94\xb5\x25\x2f\xda\x42\x43\xb6\xa1\xf0\x93\xa8\xa8\x6b\x3f\x1e\x23\xff\x8b\x8c\x96\xea\x17\x29\x3b\x67\x97\xfe\x55\x10\xa3\xd3\x81\x2b\xf5\xed\x8c\xca\x36\x6e\x39\x7d\x3a\x0d\x75\x1b\x80\xca\x9f\xf9\x62\x1a\x9c\x73\x41\x6c\x69\x05\xfc\x41\x74\x21\xf8\xcf\x93\xb0\xbd\x0c\x57\x69\x7b\x11\x44\xab\xb4\xfd\x2b\x4b\xe2\xf6\xaf\x71\xbc\x78\x8a\xdb\x63\xd6\xdd\x9e\x3d\xc0\x7b\x18\xae\xd2\xe7\x78\xd8\xed\xf9\xdf\x59\x12\x6b\x53\xb5\x74\x00\x15\x74\x4e\xa3\x37\x73\x6d\xee\x87\xa9\x02\xc7\x00\xcc\x9b\x0b\x49\x48\x7c\x8d\x6e\x50\xaa\xfd\xf2\xb5\x58\x1b\x16\x99\x81\xe3\xc9\x2f\x4b\x6d\x9c\x3e\x92\xad\x4d\xce\x1c\x2e\x87\xed\x01\xdf\x02\x96\xc2\x04\x4b\xb4\x11\xdd\xb0\x5f\xf6\x80\xd9\x97\xb1\x98\x79\x61\x73\x3a\xa7\x78\x10\x78\x1b\xdb\xb3\xbd\xa7\xe8\x2c\x01\x0a\x0c\x39\x46\x51\x30\xa3\xf6\xaa\x8d\x67\x79\x7f\x03\xb9\x9f\x35\xc4\x50\x23\xf7\xf3\x03\xe4\x7e\x56\xe4\x7e\xae\x93\x9b\x63\xcc\xc9\x65\x7e\xca\xdb\x7e\x1a\xf8\x51\xdb\x5f\x9c\x07\x17\xab\x78\x95\xb6\xfd\xb4\xcd\xaf\xe3\xb6\xb8\x59\xf7\xb7\x2f\x89\xed\xfb\x29\xd7\x76\xa1\x0e\x6d\x57\xd5\x91\xbb\x69\xa9\x98\x8d\x82\x31\x17\x15\x6a\x78\x2e\x58\x50\x17\xf9\xe7\x21\x6b\xe3\x22\x53\x3b\xbb\x44\xe9\x47\xe8\x39\x49\x56\x0c\x38\x22\x30\x8a\x65\x2b\x25\x9b\x05\x5a\xa8\x60\x0d\x40\x06\x17\x51\x2c\x96\x86\x16\xa8\x9c\xbf\xb0\x67\x61\xa8\x25\x0c\x94\xa1\xd0\xc3\xc0\xa3\xf3\x5b\xce\xb4\x2b\x96\x88\xb9\xb7\x50\xf1\xe2\xae\x85\x0a\x66\x2d\x61\x17\x7e\x32\x0b\x59\x2a\xc1\xc4\x5a\x03\x57\x52\x2e\x9b\x7a\x1e\x87\x8f\x58\x27\xaa\x19\x74\x9e\x04\x29\xf7\x39\x53\x2d\x0d\xe6\xda\x75\x66\x1a\x40\x9d\x01\x5e\xed\x1a\xcf\x4f\x6b\xf3\x38\xe2\x95\x89\x36\xce\x55\xe2\x70\xf6\xfc\x5c\x2c\xf3\x66\x33\xed\x8e\xa6\x1d\x28\x8e\x28\xb5\x28\xa2\xea\x17\xb1\x75\x34\xed\xc3\x2a\x0c\x71\x71\x24\x5b\x11\xaf\x36\x0b\xc4\x4a\xa0\x7f\x9a\x83\x6a\x96\x3b\xb1\xde\x34\x41\xb2\x74\x61\x74\xa7\x6d\xf5\x35\x50\x96\x9a\x35\x28\xbb\x05\x06\x36\x1a\x2c\x75\xbd\xe1\x0d\x2d\x8e\xd5\x4c\xae\xd4\x90\xa7\x3b\xd8\x9b\xe8\x2f\x8a\x93\xf0\x77\x1b\x39\x2f\x65\x31\x00\x46\x17\x88\xc9\xcc\x21\x2e\xde\x3d\x66\xae\xdb\x68\x75\x8e\xc1\xe7\xf5\x35\x79\x3b\xba\x72\x02\xb3\x15\xbc\xcc\x1f\x40\x6d\x72\x9d\x04\xa0\x44\x1a\x0d\x72\x8d\x2c\x04\xfe\x51\xaf\x20\x0c\xe5\x0a\x35\xd6\xcb\x63\x51\xb5\x26\xae\xfe\x0e\x6f\x15\x09\xe9\x6d\xca\xd9\xa2\x99\x92\x19\x9b\x5a\xf6\x93\xe7\x64\xb9\xd6\x38\x2a\x74\x0f\x50\xf1\x2c\x2d\xae\x03\x0a\x47\xab\x34\x3d\xc2\x2e\x84\x91\xb8\x02\xaf\x0b\xfc\xac\xd7\xfb\x7b\xda\x61\x12\x5c\xc1\x34\xe6\x3d\x4c\x9b\x2d\x1b\x28\x64\xd1\x55\x90\xc4\x11\xcc\x5d\x9e\x48\xde\xf7\x93\xfd\xa3\xf7\x2e\xc1\x15\xf4\xb6\xdd\x1f\x88\x19\xc4\x7d\x79\x0a\xa5\x3c\x97\x42\x35\xda\x95\x9f\x04\xc0\x95\x94\x96\x17\x03\x80\x5f\x30\x88\xdb\x73\x7f\x11\x84\x8f\xb0\xb1\x05\xe1\x7e\x46\x5e\xb3\x7f\xf7\x3f\xaf\xb4\x63\x3f\x4a\xb5\xf7\x71\x14\xc3\x24\x79\x1f\x14\x62\x1c\xa9\xe7\x83\x84\x31\x48\x52\x8d\xbc\x67\x51\x88\x20\x27\x52\xba\x08\xd5\x16\x71\x14\xe3\x1a\xc9\xb3\xc2\x1a\x91\x5c\x85\x92\xba\x0a\x09\xcb\xbe\x0b\x64\x92\x09\xc3\x38\x27\xff\xc9\xeb\x63\x56\x9f\x92\x20\xe2\x15\x96\x61\x8d\x80\x0b\x06\xc2\x32\xb8\x61\x61\x5a\xa8\x63\x11\x0b\xcf\xe4\x69\x93\x3f\x3f\xe2\x81\x1f\x06\x7e\xca\x66\xd5\x85\xb0\x32\xda\x6c\xb2\x23\xab\x54\xd7\xc5\xff\xe8\xca\xab\xdd\x33\xa9\xa6\x7e\xaa\xf3\xcd\x1c\xfd\x0f\x2c\xbe\x5e\xc6\x0b\xd6\xfe\xc6\x6e\xd3\xb6\xd8\xd9\xf2\x1b\xd7\xd9\x00\xdd\x73\x96\x7d\x17\x90\xe6\xb3\xd4\xdb\x59\x34\x11\xf1\x25\x08\xdc\x9d\x4a\x31\x74\x91\xa0\xcc\xe7\x13\xed\x1b\xbb\x9d\xe2\x31\x3e\x9c\x89\x4a\xab\x0e\x9a\x2c\x2b\x22\x1c\xa5\xcf\x27\xb8\x9a\x95\x36\x21\x15\x35\x62\x7b\xbf\xb1\x5b\x75\x9d\xd0\x13\xbf\x44\x67\x6b\x72\xbb\xda\xc2\x5f\x82\xed\xc7\xa5\x40\xf9\xb1\x08\xf4\x48\x7e\x10\x0a\xa8\x7d\x5b\x78\x9b\x4d\x44\x35\x70\xec\x61\x86\xbd\x00\x3b\xa0\xf6\x83\x42\xc9\x54\x9b\xc7\xa0\x29\xd9\x4c\x3b\xbf\xd5\xc4\x47\x46\x68\x90\xc4\x24\xda\x26\x27\xc1\x33\x36\x0d\xc0\x72\xc7\x89\x76\xc9\x6e\x7c\xf5\x28\xa6\x80\x29\xc5\x19\xbc\xf8\x16\x98\x6d\x1e\x93\x68\x24\x79\x0d\xb3\x69\xb5\x22\x0e\x13\x55\x64\x7f\x9c\x69\x4b\x2a\x97\x04\xe4\xc7\xb2\x12\xd2\x03\xac\x6b\x0e\x4e\x03\xbb\x59\x86\x7e\x84\x1f\x1c\xd4\x1c\x79\x0e\x1e\x06\xa7\xf8\xb9\xaf\xb2\x8a\xfe\xee\xcb\x51\x34\x13\x6b\x7b\xc7\xb8\xac\xa7\x15\xbb\xe6\x34\xfa\x7e\x1a\x69\x1a\xfa\xd0\xed\xdd\x90\xb7\xdf\x12\x57\x23\x95\x1d\x55\x84\xe6\x30\x62\xd2\xf2\x0e\xa0\xf0\xea\xf2\xc2\xab\x9f\x21\xf3\xf4\xd9\xcf\xfb\xef\xde\x7d\x3c\x3d\x8d\x4e\x9f\x91\xd3\x08\x57\xfc\x16\xfe\x4d\x5b\xb4\xba\xad\x3a\xea\x61\xe9\xcf\xf6\x80\x58\x2c\x53\x3b\xef\xfd\x1b\x4d\xec\xf5\x86\x86\xfb\xda\xeb\xbd\x63\xaa\x7d\x3c\xde\xa3\xda\xe1\x7b\x64\xde\xee\xe1\x71\x2e\x29\xe7\x0c\x06\x2c\x38\x0f\x17\xc1\x15\xd3\x56\x4b\x14\xd9\xdc\x4d\x15\xdd\x0e\x63\x13\xaf\x69\x11\x83\xd3\x4f\x58\x7b\x0e\xa9\xdf\x38\x3e\xa7\x71\x74\xc5\x12\xae\x21\x6a\x21\x77\xa2\xa7\x83\x44\x3b\x00\x91\x61\xff\xb1\x0a\xae\xfc\x90\x81\x33\x98\x4f\x0c\x43\x56\xfe\x54\x2b\xbe\x30\xab\xaf\xbb\xa9\xa4\x96\xfb\x72\xd5\x5e\x7e\xbc\xfe\xa1\xb9\x6b\xf5\x23\x7c\xf6\xc9\x5d\x8c\x73\x5f\x0b\x99\x3f\xc3\xb3\x3f\x58\x89\x5c\xe5\x14\x14\xc4\xab\x94\xb5\xc5\x9e\x87\x69\x18\x4c\xbf\x3d\x76\xfa\xd6\xe4\xb8\x3c\xc3\x0c\xf0\x40\x85\x5f\x2a\x96\x32\xce\x57\x9c\xc7\x91\x86\xd8\xd3\x7c\x41\x2d\xff\xee\x08\x83\xe4\x4a\xac\x75\xce\xd8\x92\x45\x30\x58\xd4\x70\x90\x04\x22\x51\x6d\x81\x89\x64\x93\x07\xc0\xf5\x21\xe6\xcc\x15\xcb\x3d\xa8\x08\x25\x9b\x71\x77\x47\x4b\xd2\x01\x79\x6c\xa6\x2d\x82\x29\x48\x4a\x22\x9c\x28\xfc\xc0\xd7\x80\xfd\x09\x2d\x2f\x6c\xb7\x31\xa9\x45\x6d\xda\xa5\x3d\xda\xa7\x83\x33\x4a\xde\x63\xd3\x11\xb1\x64\x00\x4a\x75\x54\x9f\x2a\xa8\xa5\xfa\x3c\x8b\x6a\xd7\x38\xe1\x52\x93\x8e\x45\x30\x83\x26\x95\xb8\x29\xbe\xc2\x45\xed\xbf\x59\x56\xe1\x93\xbe\x2e\x74\x26\x74\x75\xb6\x5f\x04\xbf\xcc\x44\xda\xdf\x2c\xab\x8a\xb7\xa1\x93\xf4\x34\x40\xcd\x0c\x53\x1d\x9f\xc3\x58\x93\x0b\x40\x0b\xc1\x07\xe5\xbc\x8b\x86\x5d\x05\xfe\x3a\x02\x0d\x6c\x97\xa9\x79\x9e\xe8\x0a\x7d\x99\x04\x0b\x3f\xb9\x35\xe4\xfb\xce\x69\x64\xc1\x4b\x59\x54\xf7\x57\x37\x41\x18\x94\x01\x6c\x00\x10\x44\xea\x62\x95\xba\xfc\xfe\x49\x82\x74\xba\x4e\xd4\x4f\x7f\x2f\x79\x82\xe1\x74\x1d\x27\xb3\x36\x1e\xdd\x6e\xe3\xe9\x94\x36\x94\x7b\x8a\x48\x91\xc9\x2f\xa7\xa7\xe9\xe9\xe9\xe4\xf4\xf4\x4c\x37\xbe\xdf\xbf\x78\x79\x4a\x9e\x9d\x9e\xfe\xb2\xf5\x2f\xff\xf4\xcf\x7f\x6e\xfd\x85\x8e\xdd\xff\x72\x56\xf0\xa3\x9e\x1d\xb1\x8b\x55\xe8\x27\x60\x49\x12\x96\x7d\xd1\xbe\xf4\x43\x2e\x8e\xc7\x48\xfb\x04\x1c\x10\xfd\x90\x72\x3f\xe1\x86\x50\xba\xd9\xf2\x9a\x6c\x39\xcc\x6d\x61\x76\x21\xd7\x4e\xfd\xc2\x97\xa7\x69\xe8\xa7\xa8\xf7\x12\x86\x0b\xd9\xd2\x0c\x4e\x0b\xd3\xfc\xce\x69\xf4\x85\x69\x3e\xce\x5d\xc8\x3f\x08\xaa\x68\xd2\x21\x85\x0f\x27\xe0\x7c\x2f\x7d\x7e\x99\x6a\x73\xfc\xe6\x1f\xc1\x5c\x06\x09\x52\x33\xd2\x38\x65\x38\x2e\x6b\x7c\x7c\xe4\xe4\xf9\x29\x8c\xfc\x47\xa7\xc4\x4a\xf2\x04\x56\x4a\xa1\x64\xd1\xec\x8f\xe1\x64\xa3\x28\x89\xa1\xf2\x7b\xf0\xe0\xec\x2f\x0f\xb7\x5b\x1c\xae\xf2\xc3\xb0\xfc\x0d\x34\xfb\x50\x22\xa8\xf9\xbd\x04\xe7\x34\xfa\x94\x8a\x0f\x22\xec\x66\xa9\xbe\x72\xe6\xab\xbf\xe9\x2a\x41\x67\x3d\x90\x1f\xb2\x50\x66\x70\xce\x10\x07\x91\x30\x64\x4b\xff\xe2\xf7\x74\xca\x01\x9d\xb6\x5a\x3e\x9f\xc5\xd7\xd1\x13\x1d\xf3\x7a\xd1\x47\x39\xe7\xa5\x62\x6b\x1d\xf4\x32\x54\xee\xa4\x93\xa5\x9f\xa6\x6d\x3f\xe4\x6d\xe1\xd2\x3e\x75\xd3\x68\x71\x19\xad\xe8\x4e\xe4\xeb\x35\x50\x01\xee\x3d\xb4\x3a\x9d\x91\x1a\x08\xd2\xb9\xc9\x95\xb1\xdc\x4a\x77\x2b\x96\x4e\x92\x55\x14\x41\x37\x89\xcd\x44\x41\xa4\xf9\x99\x3b\xc4\xfd\xf3\x7c\xc3\xe2\x6d\xbc\xd2\x66\xb8\x57\x0d\xbf\xfb\x0a\xdb\xf5\x2c\xd5\x4e\x89\x88\xf3\x8b\xd5\xf9\xe7\xa7\x44\x53\xd1\xd3\x34\x7f\x3a\x65\x21\x4b\x7c\x1e\x27\xc0\x4b\xdc\xcf\x14\xc5\x3c\xab\x12\x2b\xe3\xfe\xb9\x16\xf0\x67\xa9\x76\xce\x38\x17\x1f\x17\x54\x5f\xa4\xac\xe8\xca\x89\x85\x16\x24\x07\x66\x0e\xc2\xd5\x5f\xa5\x18\x6d\x44\xbb\x0a\x16\x60\xbb\xd9\xc2\x9f\x0a\x59\xcd\xa4\x24\x63\x07\x76\xf3\x39\x53\xdb\x08\x41\xe7\x15\xd9\xa3\x15\xfc\xc2\x5a\x99\x14\xac\x54\x81\x0c\x01\x8d\xbd\x52\x70\x0a\xf2\x4d\xb6\xd9\xde\x3c\x69\xf6\x51\x3a\xa4\x99\xc6\x53\x86\x99\x38\xe0\x82\xfc\x1f\x2a\x0f\x38\x5b\xf8\x9f\x02\x51\xfe\x78\xf4\x54\x89\xa8\x17\xfa\xe3\x44\x02\x67\x1c\x7f\xa8\x48\xbc\x87\x1a\xfe\xa7\x48\x64\x22\x91\xf3\xe3\x09\x22\x51\x2f\xf4\x07\x8b\xc4\xd5\x6f\x9f\x79\x22\x9e\xcf\xda\x05\xe3\x29\x4a\x82\xb0\xe7\x48\x2b\xd4\x25\xb7\x33\xb5\x99\x3a\x02\xf2\xf8\x75\x03\xb2\xe2\xf3\xb6\x43\xe8\x44\x25\x48\xe2\x5f\x8b\x93\x0b\x62\x8e\xcd\xf2\x8b\xbc\x45\x11\x9c\x1f\xcd\x7c\xee\xe7\xbb\xa8\xb2\x0d\xb0\x48\x91\xdc\x26\x11\xcc\xc4\xa7\xfe\x14\x37\x2c\x3c\x43\xf4\xcf\x90\x55\xcf\x12\xff\x5a\x6c\x51\x13\x56\xb6\x1d\x47\xe8\x5e\xf0\x24\xfe\xf6\x08\x27\x2c\x3f\x7d\xd2\xf4\x8d\x59\xa0\xcc\x06\x08\x6e\x7f\xc4\x0f\x37\xd1\xad\x96\x55\x52\xa9\x3c\x5e\xf1\xe5\xea\x11\x2e\x70\xa1\xe6\x06\xbf\x66\x5d\xcd\x99\x47\x23\xaa\x29\xd4\x7d\xee\x27\x6d\xb9\x23\xe7\x07\x9b\x7d\x72\x89\xdf\x09\x71\x97\x43\xc1\x63\x5a\xa8\x35\x1b\xd9\xc6\xeb\x4b\xc6\xc2\xf6\xc2\xbf\xc5\x15\x91\xb6\x9f\x24\xf1\x75\xfb\x71\xeb\x37\x8d\x6d\xc6\xe1\x2e\xbe\x44\xc8\xcd\xfe\x2c\x91\x93\xda\x74\x9a\x30\x16\x69\xe7\xab\xf9\x9c\x25\x62\x17\xcb\xeb\xfd\xbd\xbd\xb7\xef\x35\x7d\x37\xbf\xbf\x41\x13\x17\x38\x68\x18\xee\x2b\x9b\x5f\x32\x2a\x27\xba\x48\xaf\x62\x28\xee\xd3\x97\x53\x46\xb6\x58\x85\xb8\xb7\x1b\x5a\x20\x16\x7b\x50\x23\x70\xa5\x34\x38\x5b\x2c\xe3\xc4\x4f\x82\xf0\x56\x9b\x89\x73\x2e\xa8\x0d\x2e\xe3\x30\x77\x71\xd1\xdd\xfb\xc6\x6e\x73\xbd\x59\x98\x34\x4d\xe3\x05\x4b\xb5\xd5\x52\xa8\x50\xd1\x48\x70\x0d\x93\x54\xd3\x43\x96\xa6\x06\x28\xa3\x44\xae\xfa\x2c\x7c\xe1\x5d\xa6\x9a\x5a\xe4\x66\xb3\x80\xe3\x17\xc3\xab\xe0\x79\xe4\x47\x31\x82\x0b\x2c\x82\x35\xcf\xf9\x62\x75\xd3\xd0\x39\xf1\x15\x6b\x2f\x56\x21\x0f\x96\x61\xf0\x18\x0b\x92\x77\x8c\x55\xfc\xe0\x90\xa3\xc8\xbe\x6c\xe0\xe7\x06\x6d\xc6\x42\xee\x83\x3e\x15\xcc\x95\x5c\x9d\xfa\xa8\x66\xa5\xbe\x94\x1c\x47\x88\x0e\xb8\x53\xf8\x21\x3d\xbe\xd6\xe6\x7e\x2a\xd4\x01\x3a\xc9\x45\xe7\x18\x05\xea\x0f\x51\x3c\x35\x7d\xa3\xf4\x74\xa6\xf7\xd4\xc8\xfa\xa1\xfa\x83\x34\x6e\xdb\xa6\x6d\x03\x09\x79\x3a\xa3\x06\xff\xb6\xc3\x78\xfa\x8d\xcd\xa0\xae\xe2\xc7\x9c\x6c\x44\x67\x34\xea\xaf\x3f\xee\x1d\x8b\x85\x99\x37\xc7\x1f\x11\x97\xdc\x14\x50\xd8\x93\x80\x2b\xf5\x3c\xf1\xa3\x34\x94\xa7\x09\xf4\x30\xf8\xc6\xb4\x8b\xc4\x5f\x5e\x06\xd3\x14\xde\xa7\x80\xe4\xd3\xc9\x41\xdb\x51\xe2\x9b\x6a\xe9\x6a\xb9\x8c\x13\x75\x82\x25\x4e\xd5\xd6\x39\xa6\x09\xf2\xc4\x37\xb8\x48\x1d\xa1\x2a\x31\x6f\xea\x47\xe5\x0d\x5c\x9a\x8f\x46\x9a\x07\x0b\xb9\xc8\x94\xb5\x45\x2c\x60\xe6\xe7\x4d\xd4\xde\x31\xb5\xbf\x98\x07\xd3\x6f\x62\x31\x41\xd0\xb7\x8a\x70\xdb\x01\x38\x0f\xe2\x43\x31\x18\xc6\x6f\xe0\x76\xb0\x68\xc6\x70\xf9\x1e\xa1\x43\x76\xe1\x4f\x6f\xb5\xc2\xed\x2d\x52\x72\x70\x91\x5c\x04\x4f\x7d\xfa\xce\x96\xe2\x87\x66\x18\xce\xdb\x9a\xb8\x31\xac\x69\x87\x0b\xaf\x6f\x6f\x91\x3b\xbd\x92\xf6\x34\x7d\xda\x56\x47\x52\x3d\x28\x83\x67\x27\x52\x7e\x1b\xb2\xf4\x92\x89\x63\x1e\xea\xf3\x4a\xf5\x9b\x77\x16\xf3\xbe\x58\x7b\x1b\xd4\xc6\x93\x49\xc0\x61\x1e\x06\x11\x6b\xe7\xdf\xfd\x56\x29\x58\x9c\xbd\xe3\x63\xa1\x89\x70\x63\x1e\xbf\x0d\x95\xda\xcb\x82\x62\x93\xb3\xe6\x63\xc9\x59\x30\x15\x4f\x1e\x94\x16\x07\x69\xf4\xa6\x83\xda\x19\x6c\xe3\x39\xef\xce\x34\x8e\x52\x9e\xac\xa6\x3c\x4e\x9a\x0e\x67\x43\x99\xd5\xf9\xf1\xea\xbc\x16\xc6\x30\x3e\x4f\x59\x72\xc5\x92\xf4\xab\xf7\x5d\x04\x34\x41\xb8\x8e\x3f\x9b\xbd\x92\x7b\xe4\x4a\x87\xc8\xc5\xf9\xef\x88\x5d\x6b\x0a\x34\x0f\xb5\x25\x03\x15\x0a\x04\x39\xc1\x6c\x92\x9c\x79\xf5\xfc\x49\x72\x26\xcf\x76\x1b\x85\x7a\x0b\x01\x66\x56\xe7\xe9\x34\x09\xce\xab\xc1\xaf\x65\x37\x97\x68\xbf\xbb\xd3\x2b\x39\x13\x76\xe6\x4d\xce\x64\x7c\x98\x52\x76\x67\xb9\x4a\x2f\xd7\x55\xba\x8a\xd6\x55\x5b\x88\x4f\x53\x42\x27\xee\x49\x11\x61\x64\xc8\x9b\xe8\x0a\x1d\xb1\x74\x85\x1d\x8a\xc1\x7c\xc6\x2a\x80\xab\x0a\x3a\xc3\x45\xdc\xd6\x17\xa6\x2c\xf4\x21\xe6\x5a\x56\xeb\x4c\x94\x49\x3a\x29\x8c\x5e\xa6\x07\x2a\xfe\x4e\x95\xd2\xe5\xea\x3c\x0c\xd2\xcb\x12\x95\x34\x29\x5c\x71\x14\x40\x77\xb1\x17\x71\x21\x1e\x5c\xe1\x4e\x81\x80\x9a\x94\x6d\x5b\x06\x8d\x27\xec\x0c\xb8\x21\xe2\x6c\x37\xb4\x2f\x6e\xb5\xf4\xd8\x9b\x9c\x81\x8c\x4d\x7d\xae\xc7\x86\x41\x13\xc8\xdb\x89\x05\x2b\x13\xc3\x8d\xbd\x49\x72\x66\xd0\xb8\x56\x85\x69\xac\x09\x5b\x70\x3d\x25\x54\xc6\x58\x3e\x8a\xaf\xf7\x50\xb1\x88\xc7\xe3\xe0\x57\x96\x3d\x9c\xb0\x1b\xbe\x9b\x7d\xb2\xc6\x20\x07\xc7\x68\xd5\xeb\x21\x8d\x60\x92\xb0\x9b\x24\xfe\xad\x37\x39\x93\x61\x81\x70\x23\x1a\x06\x3a\xff\xea\xb1\xbb\x3b\x47\x86\x24\xe6\x25\xa4\x52\x98\xcb\x35\xa9\xab\x33\x94\x06\x31\x8a\xf1\xaa\x0f\xe5\xb9\x16\x59\x52\xd0\xaf\x43\x63\x8b\x50\x47\xf1\xf5\x87\x78\xc6\xbe\x62\xdc\xe7\xe2\x8b\xe6\xdc\x8f\xf3\x79\xca\x78\x31\xff\x3a\x4e\x66\xaf\x12\xe6\x7f\x7b\xef\xf3\xe9\xe5\x3b\x36\xe7\x6b\x5f\x1e\xe1\x35\x1b\xeb\xde\xbe\xc7\xf5\xcd\x2c\xfe\xb4\x60\x60\x41\x94\x2e\x18\x06\xec\x6f\x08\x64\x29\x1a\x88\xd1\xfc\x6b\x1c\xa5\x65\xae\x4b\x31\x33\xd6\xd5\x20\x6e\xfd\x58\x17\x2c\xb3\x8a\x66\x1d\x16\xbc\x58\x64\x6d\xc4\xcd\x02\x75\x8d\x08\x52\xc6\xf7\x72\x98\xba\x08\x95\x05\xa6\xa9\xcb\x25\xc8\x4b\x4f\x5d\xfe\x07\x28\x4b\x10\x7a\x53\xa9\x24\xbe\xa6\xac\x6d\x35\x33\x07\xed\xf2\x51\x7c\xbd\xae\x59\xea\x7d\xaa\x5b\x86\x0c\xf4\xb5\x16\x47\xba\x36\xc0\x7c\xce\x61\xa9\x59\x4c\xca\x9a\xe9\x91\xe7\x7d\x4b\x14\xd5\x06\x59\x8e\xe5\x11\x78\x1a\xc2\xd8\xe7\x88\x24\x18\xde\x36\x27\xc3\xcf\x65\x2f\xd7\xa1\x5e\xc6\xcb\x0d\x0c\x13\x6f\x37\xb1\x4b\x42\x3c\x9e\x59\x8d\x42\xda\x66\x6b\xe9\x5b\xa5\x97\x0f\xf0\x0f\x55\xe7\xe6\xe2\x65\xfa\x44\xf6\x93\xd8\x24\x7c\xbd\x32\x21\x59\xd0\xf6\x5a\x1b\x19\x35\x29\x7f\x00\x51\x5a\xbd\x50\x2f\x0b\xb3\x69\x8e\x93\x17\x5c\x45\xce\x4c\xb6\xb7\x8d\x35\x95\x6c\x27\x50\x0d\x98\x8b\xc6\x9a\x12\x06\x13\xb3\x2a\xef\x36\xf6\x0d\xa3\xeb\x3b\x3a\x43\x57\x25\xfc\x01\x8c\x6b\xf9\x80\xf6\xdd\xe7\xac\x3c\xe8\x6b\x6e\x55\x65\xfc\x03\x11\xbf\xa7\x81\x68\x24\x0e\xf7\xc7\xec\x29\xd4\x6b\x48\x52\x95\xca\x3b\xb7\x4e\xde\xbf\xcb\x6e\x2b\xa8\x00\x08\xd6\x65\x26\x11\xcc\x77\x24\xce\x2b\xcd\xc3\xf8\x9a\x18\x4d\xb4\x99\x1b\x74\xe6\x9a\x97\x0a\xa1\x27\xef\x0b\x61\x63\x19\xf7\xb2\x6c\xa5\x3b\x41\x2a\x37\x13\xea\xc6\x0e\x21\x6e\xd0\x99\xa3\x3d\xb8\x0c\x38\xc3\x6d\x87\x75\x03\xa5\x82\x15\x35\x62\x8b\xf0\x7a\x88\xf1\x86\x77\xde\x96\xd5\xe4\x2e\x74\xd2\xdb\x68\xba\x87\xbb\x94\xcb\x91\xff\x2b\x60\xc2\x97\xdf\x8b\x23\xee\x07\x11\x4b\x74\x26\x63\xcd\x56\xb8\xec\x2f\x97\x2c\x9a\xed\x5d\x06\x21\x5e\x1f\x57\x93\x82\xa4\x91\x06\x45\x22\x7f\x90\xc2\x66\x49\x89\x17\x8b\x80\xbf\x0b\x22\xf6\x51\x71\xff\x01\x69\x49\x19\x5f\x2b\x09\xea\xca\x92\x46\x73\xbb\x66\x98\x94\xae\x90\xa9\xf9\x10\xdf\xd9\x4b\xaf\xf1\xcd\x8e\x0e\x13\x9d\x38\x64\x2a\x56\xe3\x51\x7c\xad\xc5\x2b\xdc\x19\x71\x8e\x61\x0c\x44\xfc\x4c\xca\x9a\xcb\xb7\x2d\xc3\x65\x2f\xcc\x56\xeb\xf1\x78\x60\xcc\x4a\x6a\x8a\xc2\x55\xa3\x44\x38\x16\x75\x24\xe0\x3a\xd6\x8b\x03\x21\xbc\x89\x90\x8d\x68\xcc\x46\x37\xb4\x36\x84\x92\x4a\xe3\x27\xec\x8c\xc2\x04\x04\x8f\x54\xa2\xa8\x8d\x83\xbb\x3b\x1d\xb2\xe2\xeb\x88\x25\xea\xe2\x33\x29\xb3\xe0\x09\x43\xaf\xeb\x84\x18\x34\x29\x49\x68\x60\x08\x91\x4f\x3d\x13\xa7\x7d\x89\x0a\xa9\x59\x92\x96\x9d\x8c\x61\x4d\x7a\xa0\x5d\xd7\x1b\xad\x96\x1e\x78\x55\xd1\xa7\xe9\xd3\x90\x18\x6e\x93\x6e\x4d\x1a\x39\x86\xfa\x18\x64\x70\x1c\x8c\xc5\xd4\x2e\xf2\x78\x3b\xa5\xbe\x57\x9d\x08\x74\xa2\x78\xc6\xd0\xeb\xd4\x03\x11\xea\x35\xe8\x44\xec\x86\x1f\x07\xe7\x30\xd1\xbf\xbb\xf3\x5f\x46\xa5\x90\xc9\xc5\xc1\x1b\xd0\xab\x38\x98\xe9\x4d\x4a\xdc\x18\xa7\xdb\x9e\x4f\x03\xaf\x84\x4e\xdc\x22\xa1\x29\x99\xb8\xf6\x93\x48\x27\xbb\xf9\x5e\x75\x3c\xb5\x2d\x56\x72\xd5\xe1\x7a\x2d\x8e\x34\x26\x82\x1a\x88\xf1\x47\xd6\x0c\xc6\xdb\x68\x9a\x5d\x1c\xb7\xe7\x27\xac\xe2\xff\x26\xb7\xdf\x59\x76\x9b\x9c\x5e\xeb\x8c\x06\x7e\xdf\x4f\x31\xbc\x3d\x33\xc4\xc2\x41\xbd\xc6\x65\x18\x70\xc1\x88\xa6\xa9\x34\x18\xac\x38\x62\x28\x69\x5b\x96\x41\x53\x8f\xa1\x22\x93\xf1\xf0\xc6\xa5\xa7\xe6\x7e\x39\x96\xb7\xed\xa1\xe3\x42\x93\x52\x81\xa0\x73\x3d\x55\x91\x60\xd3\xda\xeb\x56\x0b\xa3\x09\xb3\x08\x09\x94\xfe\xcd\x2b\xdc\x9a\xa9\x27\x94\x15\xfb\xc4\xa0\x25\x4a\xee\xee\x4a\x25\x85\x95\x14\xa3\x63\x8d\x17\xb6\xf0\x6f\xcf\xd9\x5e\x18\x2c\xf7\x56\x09\x94\xab\x18\x67\x11\xea\x79\x83\xdc\x35\x88\xb5\x08\x1e\xfe\xa2\xae\x57\x8c\x4d\x73\x96\x1a\xb4\x8a\xaa\xfb\xf8\x49\x4c\x93\x22\x7b\x40\x27\x15\x2f\xa0\xe3\x1b\x86\xf4\xf8\xf7\x20\xe5\xb1\x8c\x14\x5c\x6c\x90\xea\x17\xac\x6d\x29\xb6\x14\x40\x1f\x2d\x8b\xb5\x81\x63\x36\x54\xb2\x6d\x19\xc5\x08\xf5\x0d\x1d\x4c\xeb\xfa\xb0\x28\x93\xa0\xb6\x92\x92\xec\x05\xc6\x43\x45\xf8\x8b\xba\x11\x7b\x2a\xcb\x4b\x3a\xb6\xa9\xaf\x9b\x35\x81\x18\x5e\xd5\xe8\xff\xd9\x6a\x62\x8d\x67\x89\xc7\x4b\xaa\xe0\x47\xdc\x53\x69\xa7\x84\x1a\xe0\xe2\x46\xd2\x8a\x13\x56\x11\xc0\x6d\x4f\x44\xa1\x8e\xbc\x7a\x8f\x6d\xb6\x0c\xdc\x68\x47\x30\x22\xfd\x17\xa6\x68\x53\xe8\xd5\xfd\xd3\xb6\x6f\x64\xb7\x5e\x54\x1c\xb6\x55\x34\x63\x09\xd0\x7f\x77\xd7\xe8\xcf\xf1\x24\xf8\xc6\xf8\x65\x12\xaf\x2e\x2e\x9b\x41\xf2\xd8\x2b\xcd\xef\xaf\xa7\xc0\x35\x75\xc3\x7b\xe5\xa5\x9f\x4e\x83\x40\xbc\x17\x37\xf4\x34\x01\xf1\x20\x64\xaf\x7d\xee\x1b\xc1\x5c\xef\x6e\x79\x1c\x9b\x7f\x72\xbb\x64\x30\x5a\x0a\xf8\x8b\xd8\x38\x96\x52\x69\x5c\xb3\x47\xb4\xaf\xd9\x34\x4e\xf0\xcb\x44\x9e\x9f\xb7\x00\x5d\x57\x19\x34\xfc\xd2\xe3\x9b\x7d\x94\xb0\xd9\xad\x2e\x29\xf4\x4b\xca\xcb\x0a\xbd\x66\xa8\xb9\x77\xd9\x38\xd5\xf2\xda\x3e\x4d\xbc\x50\x58\xe5\x92\x4c\x7a\xc9\xb6\x17\x8a\x2b\x0f\x98\x17\x6e\xb3\xb1\xef\x99\xf7\x6b\xba\x17\xf7\x1f\xb2\x34\x9f\x0b\xf0\xec\xf6\x9d\x32\x4e\xd3\xf3\xfc\x9d\x64\x9b\xb9\xa6\xe7\x45\x3b\x6c\x3b\x71\x37\xaa\x1a\x6a\xd2\xc8\xd8\x66\xdb\x9b\x81\x22\x63\x9d\x17\xb2\xed\xa5\x28\x92\x50\x9b\x60\xf7\xd4\xe3\x9d\x65\xc2\xae\x82\x78\x95\x66\xaa\x66\xae\x4f\xe5\x62\xd7\x43\xed\x9a\x66\xed\x9a\x16\xdb\xb5\x5d\x5e\x4b\x13\x2c\x9f\xae\xf5\x8d\xca\x43\xb6\x84\xc9\x30\xc6\xb3\xc7\xce\xb6\xea\x4e\x59\xb3\x74\xcc\x28\x6f\x90\x88\xd9\x5a\xf2\x52\xbc\x71\x0a\xba\x4a\xf0\x6c\xe5\xf1\xb2\x6a\x9e\xeb\xab\x47\xf2\x6b\x95\xf1\x6b\x55\x92\x03\xb6\x5d\x7a\xae\x53\xb7\x7a\x24\xf3\xd8\x1f\xc3\xb0\xd5\x93\x18\xb6\x41\x71\xce\x0c\xe3\x5e\xd8\xa0\xcc\x57\x44\x89\x45\x3d\xfc\x68\xc2\x1f\xd3\xc5\x0f\x28\x80\x59\xd3\xf0\x4f\x1b\x8d\x19\x98\x18\x3c\xc3\xfa\x80\x3d\x2b\x7a\x26\x1b\xbc\x1e\xbc\x3d\x42\x8a\xc1\x84\x9d\xc9\x09\x5c\xcd\x6c\x3d\x5a\xb5\x54\x7d\x1c\x29\x8a\x6b\x7c\x99\xd2\x5d\x09\x65\xf7\xde\xf3\x58\xc3\xc4\x26\x53\x1d\x49\xad\xbf\x6b\xe6\x34\x91\x5d\x33\x63\x21\xe3\x6c\xef\xd2\x4f\x52\xfd\xbd\xcf\x2f\x3b\x8b\x20\xd2\x13\xca\x0d\xa3\x78\xc3\xa7\xbc\x1b\x6a\x8d\x13\x5d\xc0\xf1\x48\x0f\xa2\x6e\xc3\x83\x4d\xde\x27\xde\x8d\xc2\xbc\x8c\x3e\xd6\xe0\x60\x06\x46\x36\x60\xcd\xcc\x7f\x4b\x69\x44\x7d\x8f\x8d\x61\x4e\x21\xae\x0c\x4a\x37\xfb\x0a\x94\x3f\xde\x9b\xa4\x26\x4d\x8c\x07\x14\x7c\xb2\xcd\x0c\x1a\x3d\x50\x27\x6b\x7b\x69\x3b\xa2\xc9\x8b\xb4\xd5\x8a\x5a\xad\x34\x53\xf9\xe1\xa3\x46\x19\xd1\x88\x31\xe6\x6b\xa7\x4c\x61\x6d\x80\x95\x9a\x48\x08\x8d\x3c\x13\x68\xb0\xee\x95\x55\x2f\xaa\x4c\x30\x40\xad\x16\xdf\xaa\xf5\x63\xab\xc5\xd7\x4d\xb6\x70\x41\xe4\x92\x26\xc2\xec\x76\xeb\x65\x0b\x0e\xca\xd6\xa6\x21\x90\x59\xbe\x0a\x0c\x1a\xbe\xaa\x35\x34\xea\x76\xac\x0a\xd2\xa4\x49\x36\xf4\x4d\xbd\x8a\xec\x3e\xd0\x69\x89\xa7\x0d\x35\x17\x5e\x37\xae\xc6\xe6\x13\xaf\x55\xd3\x24\xe3\xc1\xd5\x9f\x07\x57\x2c\x9b\x0c\xc1\xaa\x91\x94\xfb\xf5\x3e\xbc\x40\x35\xcd\x6e\x0b\xf7\xd7\x7d\xfc\x7b\x17\x44\xec\x98\xfb\xf8\x21\xe2\x6b\x49\x0b\xe0\xa5\xad\xac\xca\x49\x9c\xe4\x97\xb3\x3a\x97\x7e\xba\x61\xce\x60\x30\xaf\x56\xa4\x74\x4b\xe4\x3a\xb2\x80\x6b\x75\x92\x84\x72\x22\x64\x8c\x4e\xf2\x76\x79\x81\x83\xb2\xcd\xc4\x48\x6a\x8a\xe3\x44\xa9\xe3\x75\x94\xfc\xed\x28\xbe\xde\x8d\xa6\x2c\xe5\x71\xd2\xc4\xa0\x56\x8b\xfc\xad\x7d\xf4\xf1\x0b\xd9\xf2\x00\x73\x3c\x63\x1f\xfc\x05\x93\xad\xce\x86\xd9\x83\x0d\x56\xaa\xf3\x4b\xc0\x2f\xd5\x02\xf2\xd7\xda\x46\x84\xa2\x61\x6b\x5b\xe3\xc2\xfd\xf3\x55\x4a\xe5\x8e\x88\xad\x20\x87\xce\x94\xab\x67\x8e\x83\x2d\x4f\x29\xd6\xed\x4d\x23\x89\x19\x74\xeb\x01\x9e\xde\xdd\x6d\x95\xd7\x76\xb2\x0a\x2b\xac\x56\xb2\x98\x6e\x2b\x8a\x8b\x8d\x0e\x22\x90\x40\xd9\xd0\xc7\x70\x49\x14\x68\x62\x51\x51\xbf\x6d\xe5\x16\x57\x5c\x68\x5a\x7c\xb9\xd3\xb6\xdc\x0d\xb4\x14\x41\x11\xf9\x03\x84\x17\xc1\xcd\x7c\x31\x22\xf0\x4c\x0a\x3c\x4f\x5f\xb0\xce\x14\xc6\xe5\x07\x3c\xe0\x23\x3f\xeb\xa5\xdb\xdb\x6a\xb5\xb4\xf8\x7a\x92\xe2\x2e\x98\xa8\x70\x7b\x5c\xb0\x9d\x8c\x83\x8d\xbd\x15\xa9\xf1\xde\xb6\xd6\x71\x10\x90\xef\x46\x33\xa1\x43\xd6\x0b\x5b\x2e\xdd\xfc\xe5\x46\xf1\x18\xab\x8b\xc2\x7e\x50\x46\x78\xfb\x01\xf1\x5b\x23\x44\xaa\x27\x6a\xed\xc9\xbb\x63\xad\x14\xad\x29\xb3\xf1\x33\x6c\x53\xd7\x25\xaa\xeb\x82\x72\xd7\x25\x67\x74\xa3\xbb\x22\x16\xbd\xf9\x0b\x2f\x95\x7c\x20\xc7\x87\xbb\x1f\x88\xe7\x79\x41\xa6\x40\x76\x1e\x6a\x60\x40\xb9\xe1\x4e\x02\xca\xcf\x80\x87\xe9\x7d\x41\xc8\xd7\x7d\x38\x3a\xf2\xa3\x0b\x56\x1d\x31\x34\x10\x6d\x88\xbd\xb5\x35\x66\x22\x22\x97\xf7\xd5\xa5\xc3\xb1\xba\xcc\xfa\x51\x25\x13\x63\x2c\x8a\xa5\xad\x96\x1e\x00\x3d\x68\x77\xf4\x78\x62\x9e\xd1\x78\x62\x9d\x19\x14\x73\xf7\xa3\x99\x9e\x42\x5e\x0a\x79\x46\xf3\xea\x97\x38\x06\x98\xad\xbd\x57\xef\x4b\xcb\x9c\x58\xec\x6f\x6c\xf7\x2e\xd7\x4d\xc1\x77\xf0\x5d\x3a\x3c\x56\xf7\xa6\xaa\x1b\x65\x4f\xd3\xe7\x46\x69\x4b\x5a\xd5\x3a\xea\x6b\x14\x6d\x07\x8f\x1b\x66\x7e\x9d\x81\xb5\x24\x55\xae\x36\x2a\x78\xf0\xd8\x2b\xc5\x55\x86\x60\x22\xe2\x6a\x5b\x0d\xbc\x5e\x8f\x0f\x3c\x89\x02\x36\xa6\x3a\x24\xc3\x95\x66\x9f\x67\x2e\x1b\xb7\x44\x51\xbf\xe9\x0d\xee\x87\xa2\x61\xd3\x2b\xb1\x19\x8a\x5e\x96\xf8\x86\xe6\x5b\x4f\x0c\x3a\x2d\x7e\x37\x00\x96\x5f\x52\x93\xa6\x06\x5d\x15\xaf\x11\x8d\xb6\xc3\x6d\xf2\xcf\xc4\xa0\x33\x6f\xda\x49\x99\x9f\x4c\x2f\xf5\x95\x30\x61\x7a\xdb\xf2\xbc\xd9\xdd\xdd\xec\x65\x2c\x3b\x68\x59\xc7\x18\xd3\xf2\xf4\xee\xd2\x30\xe8\xbc\x74\x4f\xe9\x2f\x64\x3b\xdc\xf6\x0d\x7a\xe1\x2d\x65\x97\xcf\x11\xff\x85\xc0\xb9\xf0\xe2\xed\x32\x8a\x8b\x89\x79\x66\x8c\xa1\xf2\xc5\xdd\xdd\xe2\x45\xaa\x36\x44\x66\x23\x49\x4f\xe8\x8c\x2e\x28\xcc\x04\x3a\xfe\x6c\x86\x99\x3a\x07\x91\x15\xff\xea\xbb\xf4\xc4\x06\x3c\xb1\xef\xb0\xbc\x39\x4f\xee\xc2\x8b\xc3\xf0\x30\x4e\xca\x9f\x91\x9a\xf6\x8f\x8a\xcb\x7b\xb2\xed\x62\x87\x49\x7c\x15\xcc\x58\x92\xef\xb0\x52\xfb\xb5\x71\x13\x5a\x61\xcb\x99\x65\x52\x4b\x7d\xf2\x4c\x56\x21\x14\xc9\x37\x45\x64\x27\x6a\x55\x89\x8c\xa0\x4e\x36\xd4\x8a\x35\x4f\xb3\x8f\x2f\x30\xf2\xf7\xfc\xe9\x65\x69\x8f\x85\x72\xfa\xca\xef\xbf\xdf\x8b\xb7\xa1\x9f\x72\x31\xae\x91\xdd\xc5\x82\xf9\x2b\xb1\xc3\xad\x91\xc6\x7d\xdc\x9a\x3e\xfb\xea\x6d\x99\x79\x29\xdc\x37\x88\x5b\xcd\x64\xa6\xd8\xe6\xff\xe5\x92\xb1\xf0\x7d\x76\xaa\xe0\xab\x67\xe5\x45\x4e\xe2\xd5\xf4\x32\x27\x2b\x48\x45\xab\xd9\x6c\x3f\x9a\x65\xb8\x65\x4b\x55\xa4\x14\x21\x21\x87\x37\x9e\x35\x90\xef\x79\x12\x7e\x16\x37\x13\xa9\x2d\x0e\xb3\xe0\xaa\x48\xb7\xda\xf5\x58\xcc\xe3\x62\x57\x67\x9a\xd7\x5e\xda\x3a\x2c\xb2\x5e\xef\xbf\xfa\xf4\xd3\x57\x6f\x4b\x99\xf4\x5a\x8f\xd4\x77\x44\xa5\x19\x54\x26\x10\xa9\xd4\x62\x85\xda\x59\x34\x2b\x67\x04\xe9\x7b\xb5\x23\xbb\x94\xbb\x27\xbf\x60\xce\x8a\xfb\x64\x6a\x64\x14\xb4\xf3\x3c\x88\x66\x07\xd9\x87\xf1\xb5\x76\x95\x15\xbf\x9e\x27\xc2\x93\x00\xfd\xc4\xb3\x6d\xbd\x49\xb6\x36\x90\xa0\x52\xad\x1b\x61\x65\x80\x91\xd4\x72\xbd\xb8\x1c\x82\xdb\x82\x33\x0f\xea\x3e\xf1\x92\x26\x6f\xe2\x91\xed\x4a\x6f\xa3\x69\xf1\x33\x63\xb6\x2f\x98\xe9\xc6\xf7\x24\xe7\x71\x4c\xe5\x03\x50\xea\x05\x1d\x3f\x9a\x5e\x8a\xa9\x9c\x7a\x21\x34\x72\xf6\x4a\x3c\xd2\x44\xf5\x49\x2a\x92\xb2\xf8\x3c\x9e\xae\x52\x59\x3a\xd3\xe6\x2a\x5f\x3c\xdd\x67\xa4\xf0\x32\x29\x69\x85\x94\x22\xae\x32\x25\x05\x6c\x39\x21\x71\x89\x90\x52\x3b\x8a\x94\x14\x5b\x71\x9f\x9b\x50\xb5\x3a\x54\x90\x47\xb0\x0e\x6a\x76\xac\x1b\xb8\x4d\x36\xd3\x2c\xf9\x8a\xdc\xef\x23\xad\x5b\xc1\xdd\x5d\x50\xcc\xa1\x5b\x55\x98\x5c\x1c\xe3\x52\xfb\xc6\x71\xab\xb5\xa5\x93\x24\xbe\xc6\x3b\x51\x49\x10\x69\xb1\x31\x36\x62\x2f\x2e\x4e\xea\x82\xb9\x1e\xe7\x18\xd2\x22\x7b\xc7\x69\x0d\x41\x6a\x8c\x8d\xd4\x4b\x2b\x08\x52\x14\xfb\xb8\xa3\x20\x5f\xa4\x59\xd2\x60\x7a\xbe\x70\x91\x43\xbc\x2c\x40\xf0\x02\x44\xa1\x76\xaf\xd4\x18\xa3\xdc\x41\x2f\x4a\x7d\xbd\xc3\x74\xc3\x55\x68\x8a\x7e\x41\x65\x30\xc5\x74\x52\x12\x80\x42\x6d\x67\xc2\x4e\x47\xf2\xde\x57\xb0\x1d\xfb\xb5\x8b\xe3\x71\x2f\x8e\x06\x23\x08\x8f\x91\x65\xa3\x8b\x18\xe3\xa8\x4c\xae\xa2\xe8\xbe\xd6\xcd\x39\x0f\xb6\xbc\x9c\x09\xe5\xfd\x1d\xea\x36\xf3\x2c\x38\x04\x92\xa9\x05\xa9\x38\xda\x1b\xc7\x5c\x9c\xc8\xf5\x35\xa4\x35\x9e\xe1\x9d\xcb\x85\xd6\x64\x2e\xb8\xf1\x00\x62\x41\xf1\xc3\x98\xf3\x96\x15\x50\x57\xb4\x4d\x71\x51\x16\xbf\xe3\x35\xdc\x2f\x8c\x06\x45\xaa\xf3\x60\x9e\xf8\x0b\xf6\xd5\x63\x8d\xeb\x4d\xfb\x22\xf4\xbb\x4e\x04\x98\xda\x57\x28\x0b\xc9\x8f\x83\xd3\x34\x05\x17\xcd\x23\xe7\x71\x32\x63\x89\xab\x99\xe3\x4b\xb4\xb6\xae\x66\x99\xe6\x9f\xc7\x6a\x33\x8c\xab\xf9\xe7\x69\x1c\xae\x38\x1b\x63\xf8\x59\xf1\x9a\x50\xb2\x88\x7f\x7d\x13\x45\x2c\x11\x96\xfa\x6f\x20\xe2\x62\x87\xbf\xfa\xd6\x9f\xd5\x97\x4c\x3d\xf2\x4f\x04\xdd\xa4\xc2\x42\x57\x11\xa6\x42\xe1\x54\x2c\xe7\x7c\x11\x07\x06\xfc\xd9\x6c\xff\x8a\x45\xfc\x5d\x90\x72\x86\x2b\xa7\x09\xc3\x90\x86\xd2\x66\x46\x47\xf8\xf8\xb5\x78\xad\x61\x71\x9f\x62\x6e\x7a\x9b\x2a\x51\xbc\x1b\xf3\xce\x79\x3c\xbb\xad\x72\x67\xe1\x27\x17\x41\xe4\x6a\xe6\xf2\x66\xbc\xf4\x67\xb3\x20\xba\x10\x0f\x25\x66\x15\x38\x33\x56\xd3\x5e\x57\xbb\x0c\x66\x33\x16\x8d\xc5\x0a\x9d\xab\x5d\xf9\x89\xde\x6e\xa3\xd3\xd7\x16\xd1\x86\x64\xd0\x7c\xac\xd2\x18\xb7\xaf\xd9\xf9\xb7\x80\xb7\xf1\x54\x95\x18\x21\x2e\x5e\x34\x32\x6e\x2f\xe2\x5f\x1b\xb2\x49\xd1\x43\x50\x5c\xcf\x5a\x5b\x6c\x8e\xa4\xfc\x24\x5e\x7a\x0f\x02\x89\xbb\x3a\x3d\x32\xf5\xc3\xa9\x5e\xa4\x19\x9c\x4a\x60\x74\x5b\x34\xdd\xd0\xfe\xa2\x75\x0d\x92\x6d\xd8\xac\x0a\x1f\x22\x25\xc6\xb8\xbc\x87\x88\xdc\xb4\x61\x78\x7c\xd7\xd4\xc5\x14\xae\x76\x1e\xc6\xd3\x6f\x63\x4d\x53\x1c\xdd\x54\xe7\x58\x5c\x11\xd3\x7e\x14\xec\x3d\xa1\xbc\x73\xc9\xfc\x59\xe3\x96\x50\xe0\xe7\x5e\x9a\xbe\x0b\xa2\x6f\x5f\xeb\xd4\x63\x34\xdb\x06\xc8\xca\xb6\xcd\x84\x85\x18\x2c\x47\x1d\x9d\xab\x14\x11\x6b\x98\xeb\x58\xd3\x44\x5d\xad\xb4\x91\x39\xb2\x8c\x45\x0d\xb8\x6e\xda\xe2\x15\x29\x03\x56\xe8\x94\xc2\xce\x66\x01\x07\xb7\x99\x50\xc2\x93\x15\xdb\x5c\x26\x5d\xb2\x30\x9c\x5e\xb2\xe9\x37\x42\x09\x1e\x39\xdc\x0c\xef\xaf\x78\x3c\x8d\x17\xcb\x90\x61\x10\x88\x78\x3e\x7f\x0c\x3c\xc6\xc7\x7a\x34\xb8\xbf\xe4\x7e\x28\x4e\x33\xe1\x0d\x86\x1b\x4b\x24\xb1\x68\x29\xbb\xe1\xe7\xf1\xcd\x66\x58\xee\x9f\xa3\xd7\x49\x28\x69\x5b\x35\xd0\xb2\x4e\x98\xfa\x09\xe3\x22\xf0\xa8\x2b\x0e\xc3\x0a\x9b\x3e\xae\x88\x74\x21\x76\xac\x9b\x07\x73\x1d\x67\x31\x59\x5d\xcd\xea\x2f\x6f\xc4\xb3\x3c\xff\xda\x0e\x83\x0b\x9f\xaf\x12\x96\xca\x31\x5e\x52\x33\x4a\xb5\xb4\x6f\x5d\x79\x80\x79\xac\x65\x79\x37\x99\xc2\xb9\xbe\x0c\x38\x6b\x63\x65\xae\xb6\x4c\x58\x59\x3d\xad\x38\x8c\x20\x81\x5e\xdb\x0a\x16\xcb\x38\xe1\x7e\xc4\x61\xac\xa0\x32\xa8\x49\xa3\xe4\x42\x85\x27\x75\xad\x2c\x23\x2b\x29\xad\x2c\xcc\x5b\x49\x2b\x3f\x84\x01\x0f\x6d\x57\x10\xe0\xdc\xed\x49\x58\x38\xcc\xe8\xd0\x85\xcc\x50\x89\x49\xde\x93\x91\x2c\xe2\x2b\xf6\x5b\x71\xb0\x68\xf6\x5b\x51\x4c\xfd\x68\x5a\xe0\xcb\xd3\xb1\xe0\x0d\x01\xaa\xf8\x5e\xbc\xbc\x7d\x52\x69\x71\xae\x59\x15\xc7\x59\xee\x93\xca\xcf\x92\x78\x49\x68\xe3\x65\xcd\xcb\x04\xcf\xf0\x67\xc7\x10\xe8\x96\x75\x6f\x64\x82\x58\xc3\xf4\x8d\xdd\xce\xe2\xeb\x28\xa3\xe5\x55\x3c\xbb\x7d\xcb\x6e\x5f\xc7\xd7\x51\x03\x45\x89\x58\x77\x48\x1b\x94\xe6\x2c\xb8\x22\x55\xa8\x4e\x30\xf3\xc4\x92\x8c\x9b\xc4\xd7\x6d\xf0\xd5\x52\x52\x85\xa9\x68\x82\xca\x80\xcf\x7d\xa6\x79\x70\xc3\x66\x75\x57\xa0\xd1\xc4\x83\x7e\x6a\x30\xf1\x98\x4d\x2a\xcc\xad\x8e\xcd\x8c\x32\xd9\x1a\x1e\x2f\x85\x87\xfa\xca\xbf\x68\x36\x16\xf8\xb6\x7d\xee\x5f\x90\xa6\x22\x0f\x34\xb0\xd6\xa0\x47\xd9\xe1\x9a\x3e\x92\xad\x12\xf1\x45\x8a\xf4\xd6\xe9\xc9\x37\x34\xe7\xe4\x1e\xc4\xe1\xac\xb1\x71\xf3\x38\x9c\x91\x0a\x5c\xa1\x5b\x79\xbc\x44\x90\xf6\x3c\x4e\xc0\x0b\xc9\x2f\x28\x21\x95\x32\x9b\xb9\x50\x93\x8a\x5a\xb7\x28\x44\x46\xb1\xa1\x92\xec\x52\x45\xb5\xe6\x15\x40\x0b\x94\x8b\xdc\xcd\xc4\x6f\x20\xa7\x80\xd4\x28\xae\x8b\xed\x26\xcc\xdf\x3c\x3a\x0a\x70\x05\x72\x44\xae\x9f\x30\x9f\xd4\xc1\x2a\xbc\xc3\xe0\x30\x41\x18\xf0\x5b\x25\x34\x0f\xc9\x74\x01\x99\x21\xbf\x71\x92\x4b\xce\x97\xe5\x3b\x2f\x6d\xd3\x34\x9f\xa7\x57\x17\x44\x6e\x72\xbe\x52\xf2\x03\xf3\xa4\x4d\xd3\xa2\x0f\xc7\x7a\x40\x09\x94\x54\x6d\xbc\xba\x28\x36\xee\xd7\x38\x5e\xb4\x45\xbc\xa4\x38\x21\x05\x90\xb2\xc3\x70\xb3\x08\xa3\x94\xd0\xc0\x58\x0b\x21\x2f\xbf\x20\x94\x58\x1d\xab\x54\x59\x85\x45\x0d\x53\x2d\x1e\x2f\x61\x46\x16\xb2\x39\x87\xbf\x6b\x99\x88\xba\xf9\xc4\x4f\x2e\x58\x93\x9f\x09\x2a\x04\x7b\xc9\xa8\x43\x17\x5a\x5c\xbc\x99\xa5\xcd\xf1\x75\x03\xfa\xc7\x38\x4c\x65\xf8\x07\x5b\x99\x39\x37\xcb\x9b\xcc\x47\x59\xde\xa8\x56\x2f\x6f\xc6\x32\x04\x91\x78\x88\x97\xfe\x14\x39\x60\x36\x51\x27\x3d\xdc\x7d\xe9\xe1\x66\x4b\xb7\x6b\xc5\xac\x58\xba\x89\xfc\x06\x63\xcc\x6e\xf8\x9b\x68\xb9\x52\xdc\x11\x91\xba\x0e\xf3\x42\x27\x0a\xa0\xc9\x1a\xe1\x24\x35\x3b\x3d\x56\x9f\xf9\xa7\x8c\x1f\xc4\x11\x3f\x40\x7f\xb1\xe9\x74\x69\xd9\x1b\x9d\xe7\xb0\xac\xc9\x5b\x15\x96\x06\x30\x1e\xab\x18\xfa\x1e\xbf\xbb\x53\x27\x13\xf1\x40\x5b\xf1\x2b\xc1\x06\xca\x2e\x9a\x29\xab\x1c\xa9\x5e\x43\xdd\xa6\xf6\x7e\x12\xf3\x9c\x4f\x49\x58\x3e\x96\xbb\xa3\x3f\x34\xef\xba\x4c\xd8\x9c\x50\xd6\x34\x41\xcb\xd7\xd7\xe4\xbe\xed\x7c\xb2\xbb\x71\xb6\x85\xa5\x0d\xb9\x1d\x7f\x0d\x46\xb9\xf3\xaf\x82\xb1\xb4\x87\xaa\x86\xf1\x11\x0c\xc0\x01\x52\x5b\xf0\x29\xce\x02\xcb\x7b\x59\xd7\xa2\xc4\x55\xac\xda\xc1\x43\xb5\xe2\x81\x6f\xf5\x8a\xbf\x26\x33\x37\x77\xbe\xba\x0e\x01\xf7\x91\x3f\x4e\x02\x70\x7a\xf4\xff\x91\xf7\x6e\xcd\x8d\x2b\xeb\x62\xd8\x53\xca\x6f\x49\xa5\xf2\xe2\xca\x79\xa1\x70\xf6\xd1\x02\x16\x41\x0e\x40\x49\x73\x21\x07\xa3\x4d\x51\x97\xa1\x34\x92\x46\xa4\x44\x8d\xa8\xd1\x9e\x05\x92\x4d\x0a\x43\x10\xa0\x1a\xa0\x44\x69\xa4\x6d\x57\xca\x76\xe5\x24\xb6\xe3\xa4\x5c\xb6\x2b\x39\x89\x9d\xe4\x38\xc7\x4e\xb9\x52\xb6\xeb\x54\x6e\x3e\x4e\xaa\xf6\xca\x7b\xfe\xc3\xfe\x25\xa9\xbe\x01\x0d\xa0\x1b\xe4\xcc\x5a\x7b\xfb\x54\x65\x6a\x69\x91\x04\xba\xbf\xfe\xfa\xeb\xdb\xd7\xdf\x35\x7f\xb2\x4b\xa0\x02\xe1\x7c\xc7\xf0\x72\xba\x3e\x02\xe1\x56\xd2\xde\x7d\x39\x3c\x53\x46\xf2\x79\x18\x4b\xe1\x8b\x31\x4e\x41\xce\xc1\x3d\x01\xbb\x39\xb1\x47\x02\xf1\x9f\x0c\x36\x29\xbe\x24\xec\x64\x4c\x8a\x45\xa0\x71\xe9\x25\x21\x0b\xfc\x51\x17\x40\x8f\x6a\xe4\xb6\xd0\x88\x35\x6b\xd9\xd8\x12\xf1\xbb\xdc\x79\x41\x24\x94\xe9\x78\x1c\xcc\x49\x6c\x04\xc2\x86\xeb\x00\x2f\x8c\x63\x72\xb0\x1b\x2f\x35\xdb\xfa\x42\xcf\x29\x50\x26\x5f\x74\x72\x56\x81\x32\xfe\x8c\x2c\x91\x45\x1a\x42\xb9\xa0\x37\xc2\x2b\x37\xfe\x46\x02\x7b\x55\x23\x2d\x2e\x86\x99\x1f\x19\x24\x0d\x94\xf4\x2a\x0f\x2a\xe3\xa4\x64\x10\xa3\x0d\x71\x31\x6a\x58\x3f\x91\xbf\x32\xa5\x40\x20\x40\x33\xc2\xee\x5f\x03\x91\x73\xf5\xb7\xe8\xa2\xf3\xa6\x5e\x2b\x56\xac\x0b\xa2\x4e\x44\xa8\xa8\x39\x7a\xf8\xa0\x7f\x0d\x06\x33\x17\xb4\xc0\x00\xda\x77\x39\xbb\x6c\x1c\x05\x21\xa1\x60\xa4\xaa\x25\x90\xba\x35\xf0\x06\x8c\x80\x9a\xe9\x72\x3c\x7e\x2d\x36\x7f\x49\x94\xa4\x07\x19\x65\x0f\x53\x7e\x96\x3a\xb0\xc2\xa7\x1c\x5a\x21\x5a\xd6\x92\xe6\x31\xa7\x38\xe4\x07\x56\xc2\xa8\x91\xaf\x1c\xda\x87\x31\x2a\xd1\xab\xc8\x66\x1d\xda\x77\x1d\x12\x2a\xb2\xe5\xdf\x05\x9f\x54\xa8\x3b\x39\xa7\x23\x25\x5d\x53\x48\x19\x6c\x09\x79\xcd\xeb\xd0\x39\x12\xb2\xb5\x8d\x0a\xd4\xa4\xa5\x2c\x2e\xae\x12\x07\x99\x58\xc5\x17\x80\xb0\x8e\xce\x8f\x14\x1a\x4e\x23\x47\x95\x43\x19\xba\x65\xf6\xdc\x21\x2b\x07\x8a\xca\x74\xfe\xed\x2c\x9a\x24\xe6\x10\x4e\x20\xdb\xf4\x42\x35\xa7\x69\x39\xec\x09\xb0\x83\x19\x04\x09\x54\x04\x0b\x02\x5b\x93\x30\x23\x19\x6a\x5b\x92\xe2\x96\x72\xa4\x30\xb8\x3c\x2f\x82\x41\x0f\x4a\x71\xfe\x6f\x4e\xe1\x43\xcb\xfe\x0c\x97\xa8\xe8\x02\x62\xcf\x42\x9f\x93\x85\xb2\xcb\x48\xfa\x31\x8f\x40\x7b\x6a\x7b\x8b\x3a\x18\x4c\x6d\x2f\xd1\x43\x5c\x29\xd3\x4b\x54\xac\x74\xe7\xc3\xb1\x8d\x0f\xc6\x4c\x2b\x5c\x60\x11\x55\xf9\xa0\x94\x21\x98\x02\x3b\x54\x4d\xc3\xd0\x8a\xca\x47\xa8\x68\xfc\x93\x04\x8d\xb2\xf2\xa2\x08\x28\x5f\x70\xcb\x0e\x80\xeb\x78\xe0\x67\xea\x4f\x8f\x82\x53\x44\x4d\xa4\x67\xbc\x62\x44\x13\x3e\x55\x30\xa1\x36\xfa\x20\x68\x37\x86\x74\x4e\xce\x3b\x10\xdf\x6f\x72\xa4\x21\x84\x36\x4c\x45\x28\x64\x00\x78\x32\x41\xde\x7e\x2a\x24\x27\xf0\x33\xd3\x30\xb0\xf6\x06\x35\x8b\x7e\x24\x5d\xbd\x72\xa9\x1f\x75\x50\xd3\x61\x99\x91\xca\x12\x11\xc0\xc7\x1a\xfa\x53\x7f\x9a\x18\xd3\xcc\x6d\x23\x0d\x35\xd5\x7f\x71\x79\x56\x4e\x20\x2d\x91\x68\x01\x6e\x47\x18\xe3\x07\xdf\x9f\xec\xda\x38\x2a\x62\x2c\xd0\x88\xb8\x1f\xdb\x05\xf9\x70\x33\xd8\x50\xb8\xf2\x5d\x34\xbd\x0b\x66\x8f\xfe\xc4\x5b\xfc\x48\xb4\x65\xa9\xcb\x5e\xc4\x49\x01\x19\x87\x91\xb1\x01\xe3\x26\x10\xe7\x13\xcf\x58\xc8\x52\x62\xcb\xed\xc7\xc5\xe2\x3d\x9e\x40\x24\x2c\x5b\x74\x3b\xbb\xf7\xfa\xf4\xfc\x0d\xb6\x9d\x09\xf0\x70\x1a\xd5\x4f\x34\x3c\x0e\x7f\xb4\xd1\xa0\x85\xb1\x52\xfc\x4b\x6c\x6e\x83\xef\xb2\x4f\x3a\xd7\x13\x40\xa5\x6b\x2d\xff\xee\xd4\x27\xe7\xb4\x0a\x12\xac\x0b\xb6\x98\xa5\x66\x74\xaa\xa6\xe9\x20\xcb\xc4\xe4\x1c\xda\x62\xb4\xb3\x6c\xb7\x88\x0f\x25\xfd\xc9\xd8\x05\x52\x36\x5b\x66\x1a\x18\x31\xe5\xf8\xfd\x6d\xc4\x5f\x90\x78\x74\x4e\x79\x58\x0e\x26\x36\x0c\x77\x5d\xdf\x87\xdb\x0e\xea\xa3\x9a\xac\x92\x98\x3e\x65\x26\xb3\xe6\xec\x07\x52\x30\xbf\x97\xd6\xaa\xa5\x8a\x9f\xfa\xd3\x43\x6c\x3e\xc0\xac\x11\xe3\x57\x84\xf4\xf4\x2d\xab\x5f\x0a\x85\x62\x68\x62\x82\x40\xd5\xf2\xb2\x26\x30\xdf\xc0\x05\x40\x30\x58\xac\x97\x08\x58\xda\x07\x27\xa8\x69\xb0\xc8\xcf\x5e\x3a\x03\x03\x4d\xc7\x66\x4a\xa9\xe2\xa9\x5d\x85\x0a\x99\xf0\xdd\x85\x7e\x72\xac\x4b\xba\x1c\xe9\x9f\x15\x16\x61\x4e\x21\x74\x4e\x5b\x89\xe5\x42\x36\xc0\x77\x60\x18\xe6\x54\x0b\x99\x51\x43\xb2\xd6\xa9\x3f\x2d\x91\xd6\x72\x67\x2b\xbf\xf8\x32\x4b\x3e\x69\x52\x9a\xe1\xf2\x93\x4b\x45\x26\x09\x67\x7d\x97\xcd\x9a\xef\xb3\x4d\x15\xa5\xa3\x9c\x33\x8d\x16\xf4\x35\xb1\x88\x17\xb0\xd2\x10\x17\xca\x63\xa3\x49\x89\xe5\x59\x68\x52\x5e\x07\xf4\xcb\xa7\x45\xbc\x33\x2d\x96\x19\x11\x7c\xed\x8a\xd4\x43\x68\x43\x4c\x99\x05\xe3\x41\xe5\x77\x51\xd1\xee\x2a\xbc\x2c\x7e\x79\xaa\x25\xf7\xa6\xe4\xf5\x26\x94\x5d\x6f\x00\x77\xbd\x39\xa5\x8b\x4d\x65\x92\x49\xf4\x70\x2b\xbe\x99\xa9\x21\xf7\x3c\x71\x17\x02\x91\xcb\xbc\x74\xeb\xcf\xbb\xc9\x4a\xbb\x95\xd3\x61\xde\x6a\x92\x37\x7a\x16\xf6\x3f\x3d\xf3\xf0\x44\xa5\xf1\x6f\x12\x73\x57\x6e\xd9\xc6\xd1\x27\xed\xb0\xb1\x92\x1e\x44\x6a\x00\x4a\x25\xb8\xd9\x17\xb1\x35\xa4\x05\xb4\xd4\xb6\x10\x5b\x15\xaf\x24\xb7\x40\x2a\xbd\xe5\x34\xbe\xbc\xc3\x6d\xa2\x68\x7a\xab\x89\x61\x52\x4b\x49\x01\xd2\x9c\xa9\x62\x06\x6f\x62\xbe\x9a\xc5\x5a\xd0\x33\xee\xca\xfe\x53\xf1\xcf\x87\x4e\x4d\x47\x87\xd4\x9d\x20\x8b\xed\xef\x04\x93\x2c\x6c\xad\xb6\x3c\x29\xd2\x70\x6a\xe9\xc1\xcf\xf2\x97\x0b\x68\x80\x1d\xdd\x16\xcd\xa0\x2c\x90\xc5\x0d\x0b\x27\x4f\x8e\xe1\x67\x72\xa7\x58\xb4\x42\x48\xf7\x17\xcd\xb3\xd7\xd9\xd5\x81\x16\x2b\xdf\x35\x4e\x6e\x94\x19\xd5\x5c\x45\xf2\x37\xad\x83\xcc\xfa\x8d\x30\xe4\x15\xdf\x8b\xc7\x7d\x89\x09\xc8\x01\x14\xcf\xc1\xf4\xfc\x5f\x16\x03\xd6\x87\x9f\x86\x03\x83\xf2\x97\x6f\xf6\xa7\x67\xc8\xd7\xb7\x2a\x80\xb5\x60\xe6\xf3\x67\x61\xda\x61\x84\xb9\x36\x40\xde\x33\x75\xc5\x0a\x99\xef\x29\x8d\xf9\xbe\xed\x0c\xb0\x25\x36\xf0\xfa\xe8\x20\xc2\x09\xa2\xe0\x08\x84\xd8\x14\x5b\xc1\xd1\xdd\x2c\xcb\x49\x4c\x61\x52\x71\x87\x55\x00\x03\x96\xf2\x66\xe8\xbb\x03\x96\x56\x38\x01\x85\x7a\xae\xa4\x7d\x9b\x75\x28\x8b\xa9\x00\xb5\xa7\xa7\xd8\x13\x18\x51\x47\xf7\x65\x13\x8a\xb1\xec\x69\x82\xeb\x5e\x66\xa9\x32\x1f\x3d\x91\x48\x58\x77\xe3\x90\x1b\xa2\x53\x3b\x2b\xae\x4e\xdf\xf9\xae\x2d\xa3\x76\xfd\xda\xad\x5d\x33\x0f\xd7\xbe\x05\x8a\xd7\x38\x1c\xd7\x8a\xe5\x69\xe8\x93\x33\xc5\xef\xa3\x07\xfe\xea\x6a\x6c\x9e\x6f\x59\x7d\x0d\xaa\xb6\xee\x6b\x38\xc8\x57\x42\x08\x4d\xbd\x15\x82\xd5\xd5\x20\x53\x3e\x40\xe5\x03\x61\x79\x7b\xc5\xf2\x57\x57\xed\xc8\x7b\x91\x46\x5f\x18\x82\xb0\x7f\xcd\x82\x1f\xa8\x7d\xe2\x89\x30\xd3\xbe\x30\xab\x7d\xd7\x1f\xa9\x4a\xc3\x9f\xb9\x03\xef\xbb\xb0\x80\x4b\x63\xf3\x7c\x6c\xba\x50\x2d\x28\xc5\xbe\x56\xc3\x59\x34\x9f\xec\x15\x6b\xb6\x99\x9e\xbe\x89\x15\x3d\xd3\x6d\x4d\x9f\x65\x23\x44\x88\x17\x82\x8d\xfa\x92\x28\xad\x55\x6d\xcb\x4e\xb8\x1f\x45\x3b\xa8\x2a\xe9\x8e\xf6\x2d\x3d\x59\xd4\x07\xe2\xd7\x90\xc2\xa5\xf6\xef\x08\x17\x44\xf7\xec\x39\x84\x26\x83\x97\x2b\xa1\x49\xdc\x02\x32\xd7\x84\xa4\x0d\x19\xaf\xbf\x57\x05\xef\x53\x71\x55\x72\x21\x64\x37\xbb\x44\x49\x4d\x13\x9b\xb6\x09\x70\xc8\x14\x11\xa1\x91\x03\x27\x8b\x49\xba\xb0\x26\xa7\x60\x1f\x5d\x01\xa2\x88\xae\x59\xcd\xaa\xe0\xbe\x70\x09\xa2\xf5\x7a\x95\x67\x82\xc0\x4f\x9b\x6c\x5c\xa1\x48\x4e\x6a\xc9\x6f\x33\xab\xab\x71\x42\x12\x61\x81\x4d\xf9\xab\x4b\x70\x55\x95\xed\x6f\xd8\xce\x0e\xe4\xdc\x01\x59\x60\x27\x9e\x38\xf8\xca\x96\xa3\xe3\x41\xc4\xae\xbb\x6e\x46\xc4\x85\xa3\xc0\xad\xc8\x77\xe9\xd8\x89\xeb\x4b\x7c\x08\x4b\x85\x35\x0b\x8f\x5c\x59\x4d\x8d\xc5\xfe\x4e\x2e\x67\x23\x6b\xfd\xca\x2f\x4d\x90\x14\x44\x2d\xba\x99\x3e\xd1\xa0\x7d\xd2\xce\x12\x71\x9a\x0e\x17\xc9\x50\x4a\x66\xe4\x03\xc8\x73\x63\xe9\x88\x33\xf1\xd9\x03\x79\xea\x49\x18\xb8\xc5\xc4\x93\x54\xd4\x6a\xa1\x88\x76\x30\x43\xbb\x04\x9f\x4c\xa9\x11\x66\xb6\x35\x69\x37\xf8\x40\x2e\xb1\xee\x25\xed\x1b\x19\x47\x12\x06\xba\xa1\xe9\x4e\x19\xcc\x43\xe0\x0d\xd4\x50\x0f\x05\x7e\xb1\x62\xb1\xc8\x02\xf5\xbc\xef\xba\x87\xf6\xfc\x93\x28\x4f\x40\x56\x4e\x98\x16\x77\x65\x44\x04\x4b\x49\xad\x4a\x72\xc0\x58\x7e\x9e\x23\xd0\x8a\xe4\xd8\xa7\xfe\x54\xa0\x60\x95\xc8\x7e\x92\xb2\x0e\xb0\xb4\x5c\x83\x4a\x84\x81\x5c\xfc\x2b\xed\xbf\x0e\x79\x79\x37\x25\xb2\xaa\xd5\xc2\x37\x10\x1d\x06\x16\x4c\xbb\x9b\xe0\x42\xa7\xfe\x74\xc5\x0a\xa3\x78\xc2\xe9\x77\x2c\x50\x7d\x5a\x3a\xbf\x14\xc5\xa8\x30\xf9\x2f\x33\xd1\xf2\x26\x4d\x4d\x0d\x4b\x5f\x29\x9b\xd7\x70\x64\xf8\x38\xde\xfb\x57\xd2\x3a\x77\xe5\x70\x82\x32\x81\xf2\x1d\xf3\xe2\x58\xb1\x2b\x81\xfe\x4c\x8e\x74\xae\xb5\x5b\x42\x0c\x29\x5a\xb3\xe2\x71\x2a\xa5\x23\x09\x70\x71\x18\x99\xd3\x8e\x2c\x1e\x60\x46\x63\x43\x35\x00\xf1\xd0\xf3\xaa\x9b\xd5\x55\xa6\x22\xcd\x14\xa0\xda\x1b\xc6\x70\x33\xa1\x30\x15\x71\x32\x95\x16\xf3\x28\xca\xa8\xb4\x98\x99\xe6\x42\x5d\x5e\xc2\x8b\x28\xd1\xab\xe5\xaa\x64\xe4\x30\xb8\xd9\x44\x11\x1a\x24\x8b\x26\x56\x7c\x4f\x3c\x5a\xc0\x20\x41\x37\x2e\x0c\xc5\x36\x70\x43\x1b\xd5\x81\x96\x78\x3a\x94\xc2\x1a\xc4\x93\x15\x5a\x86\x96\x8a\xf1\x95\xd8\x3e\xe0\x1b\x07\x97\x72\x34\x1d\xae\x48\x80\xc9\xa7\x34\xd4\xb3\xee\x37\x79\xc6\x2c\xa9\x1e\x08\x38\x3b\x92\x68\x59\xc5\x81\x25\x43\xfb\xd0\x1f\x00\xed\x4b\xdf\x0e\x40\x01\xd7\xc2\xb6\xd4\xe5\xed\xe3\xc3\x4f\xdb\x3b\xef\x4e\xeb\x9f\xde\x37\x3f\xec\xbc\xab\x86\x16\x2d\x7e\xf1\x7d\x9a\x50\x5c\xbc\x0e\x72\x99\xa8\xc9\x81\xbd\x6b\x1e\xed\x64\x60\x09\x55\x74\x8b\x20\xbd\xaf\xef\x2d\x07\xe9\xfb\x04\x5d\xa3\x6c\x5c\x6a\x1c\x83\xeb\x7b\x39\xdb\x48\x9d\xb8\x96\x9d\x90\x34\x46\x89\x78\x2a\xe2\x97\xf9\x93\x50\x87\xba\x23\xd8\x20\xbe\x38\x83\x2a\x28\x3b\x03\xe0\x85\xce\xd0\x01\x50\xbf\xaf\x02\xaa\xa2\xbe\xd0\xe7\xd1\xf7\x0f\x4f\x4f\xf1\xd8\xe2\xf4\x83\x78\x58\x79\x3f\xbb\x2a\x16\xa2\x59\x46\x2d\xc4\x91\xb2\x70\x96\x4e\x8c\x57\x1c\x2d\xab\x58\x0c\x35\x68\x39\x6a\xfa\xfd\x65\xc8\x52\x0a\xc6\xd1\x58\x2e\x61\xd9\x19\x5c\x59\x90\x1b\xad\x84\x27\x5c\x35\x7e\x02\xbc\xc1\xb2\xad\x53\xb5\x54\xba\x2d\x01\x42\x1c\x4d\xae\x32\x38\x60\xa7\xc0\x2a\x89\x19\x41\x42\x96\xfe\x84\x8e\xfb\x45\x4b\xd8\xf7\xf2\x7d\x09\x96\xef\xa5\x74\xf1\xbf\xb7\x68\xfc\xbf\x40\xb6\x8b\xf8\xb5\x00\xef\x22\x01\xdb\x45\x3c\xf1\x2e\x12\xbc\xf1\x70\x29\x4f\xd3\x83\xaf\xdf\x45\x02\xed\x29\xbb\x8d\xc8\x77\x91\xc8\x57\x5f\xcc\x7a\x7c\x9b\xbd\x06\x71\x69\x5c\x76\x2d\x61\xf7\x47\xc9\x52\x42\xef\x24\x2b\x89\x91\xe0\x2b\x15\x90\x02\xa1\xf1\x8a\x44\xdb\xc2\x6e\x03\x25\x99\xe0\x36\x12\x99\x57\x34\x2d\x7d\x2a\x27\x75\x95\x50\xa6\xab\x0c\xb9\x18\x2b\x39\x0d\xd0\x00\xae\x4e\xcd\x11\x0b\x24\xb9\x92\x9b\xf9\x05\xaa\x8b\xef\xbf\x22\x79\x0b\x2f\x0a\x91\x5d\x19\xb1\xdd\xdf\xc2\xbe\x14\xcd\xc8\x45\x6b\x81\xb6\x2a\x6e\x7e\x29\xe5\xd9\xa2\x2b\x71\x96\xce\x69\x1d\x20\x8b\x11\x57\x93\x0a\x84\xb9\xb2\x69\x3a\x0b\x3a\x5a\x5d\xfa\xc2\x59\x34\x25\xd2\xa5\xe5\xe9\xee\x4b\xf4\x7a\x91\x54\x63\x31\xcd\xd3\xad\x4b\xb4\x34\x4f\x79\xdb\x09\xef\x01\x2c\x5c\xd4\xb1\x8f\x00\x5b\x32\x24\xf0\x5f\x79\x08\xfd\x09\xda\x6f\x1a\x58\x28\x54\xbe\xbb\x76\xfa\xd7\x5a\x39\xf4\xdf\xf9\x77\x00\x36\xec\x00\xb1\xb7\x68\xcf\x0e\xa1\x7b\x00\xee\x1f\x1f\x41\x79\x02\x42\xfb\x00\xdc\x6b\xab\xab\xca\xad\x62\xa1\xeb\x02\xe1\x56\x79\xa7\x31\xe6\x4d\x93\x83\x32\x71\xa0\xce\x6e\x80\x22\x38\x9c\x19\x52\x4d\x6c\x6b\x11\xc6\xdc\x32\xf5\xd3\xfe\x82\x06\xb1\x1a\x26\xe1\xdd\xda\xee\x0c\x60\xd7\xea\xec\x63\x2c\x6c\xcc\xfa\x03\x19\xf2\x1d\x37\xc7\xf1\x2d\x95\x5f\x31\x08\xfd\xe9\x7b\xe8\x4f\xed\x91\x4d\x10\xce\xb3\x96\x8e\x4c\xeb\xa8\x36\x68\x91\xd5\x34\xf3\x46\xbe\xb0\xc0\x26\xbb\x2b\x54\x15\xea\x1f\xb9\xb8\x21\xc2\x65\xfa\xb7\x80\x72\x9a\x22\x33\x7f\x49\xfc\x38\x90\x0a\xee\x87\x9d\x93\x02\x9a\x87\x37\x93\x2a\x9a\x3e\x87\x20\xf0\x67\xb0\x0f\xf8\x74\xbd\xc9\xc8\x80\x2c\x35\x78\xf4\xe0\x78\x8a\xb0\x09\xe2\xd0\x81\x02\xd0\x34\x8a\x20\x09\x02\xc2\xfd\xa4\x3d\x5f\x2a\x09\x30\x7b\xdc\x39\xc5\x91\x08\x4f\x69\x9a\x6d\xc1\x24\x85\xfe\xd0\x71\x41\x73\x90\x74\xae\x70\x26\x36\xbc\x6f\xd3\x10\x25\x51\xf0\x40\x00\x3c\x52\xc0\x76\x43\x00\x3d\x3b\x04\xf2\x22\x51\x7c\x93\x2c\x40\xbe\x40\x3a\x9e\x61\x9c\x00\x92\x0f\x7a\x97\x0e\x5f\xc8\x07\x2d\xe4\x83\x91\x45\x29\xa2\x97\x09\x29\x94\x5b\xfd\x2b\x62\x5f\x88\xaa\x2f\x1d\x62\x21\xaa\x4c\x99\x1e\x8e\x71\xe1\x2b\xc4\x36\xb8\xc2\x10\x84\xa9\x4c\xcc\x3c\xf4\x9e\xdd\x1f\x13\x2d\x2c\x4b\xf9\x1c\xda\xbd\x76\xe8\x4f\xb9\x27\x94\x37\x3a\xa5\x2f\x22\x57\xdb\x5b\xba\xb0\x4e\xfd\x29\xdf\x2e\x7b\x4c\x78\x91\x65\x73\x73\xb6\xaf\xed\x29\x20\x61\xde\x69\xce\x77\xee\x79\x79\xeb\xdd\x71\xe3\x80\x2f\x8e\x5d\xec\xb2\x50\xb6\x5c\xc7\x1b\x37\xee\xfb\x2e\xf8\x64\x5d\x9a\x86\xa1\x9b\x86\x41\x7b\x31\xb9\x3f\xf6\x1a\x71\xa1\x4f\x11\x2d\xb9\x67\x19\x92\xa6\x7c\xfa\xf8\x06\x87\x49\x7f\xc6\x44\xd0\x4a\xdc\xff\x63\xef\x78\x16\xe2\x3d\x32\xfb\xe6\x00\xdc\x07\x21\xf4\xc7\x20\xfb\x12\x6f\x3e\x75\x08\xfd\x3b\x54\x28\x31\xa0\x60\x08\xec\xf0\xd0\x9f\x05\xa0\x05\xa6\x3e\x0c\x83\x4f\x51\xf8\xc9\x1e\x70\xdd\xfa\x6c\xe0\xf8\x8b\x6c\xfa\x6d\x54\x88\x19\xd7\xc7\xb5\xf8\xe0\x03\xc0\x75\x4b\xa4\x58\xa6\x54\xd2\x2b\x77\x0a\x81\xeb\xdb\x68\xfb\xb2\x67\x61\x02\xe8\x91\x8f\xae\x53\x7d\x7c\x08\xbc\x73\x82\x90\x9f\x4c\xc1\x38\xf4\xa7\x7c\x81\x2d\xe0\xba\x71\x4f\x02\xfb\x16\x0c\xe8\x46\xc8\x45\xca\x64\x0f\xc8\x5a\xa7\xef\xe9\x8c\xcd\xc4\xd5\xbc\x65\xf9\xf5\x3b\xa7\xfc\x68\x8e\xe9\x7e\x4b\x5f\xb2\xed\x97\x2f\xe2\xf8\x51\x32\x73\x3a\x0d\x9b\xc7\xfc\x7b\x80\xc3\x90\xe2\x31\xd8\x86\xf6\x88\xcc\xf4\x38\x6e\xa8\x3f\xbd\x3f\xf6\x08\x8b\xc3\x0d\x1c\x8e\xfe\x85\x03\xea\x36\x5c\xa7\x3f\x26\x2e\x8c\xa9\xd7\xf8\xe1\xd6\x2c\x0c\x7d\x8f\x7b\x85\x9a\x21\xab\x8f\x04\x47\xc3\x9b\x00\xa3\x14\xce\x56\x1b\xe9\x0c\xea\xc3\x10\x40\xf2\xde\x60\x37\x29\x1c\x3b\x09\x6d\x9c\x9f\xd4\x97\x86\x5e\x59\x8f\xae\x29\xec\xf2\xc6\xd6\x74\x7c\x81\x09\xdf\x93\x2d\x5f\x05\x8f\x8f\x0a\x5d\xf9\x8a\x9e\x56\xb8\xfa\x1e\xa3\x4f\x0b\xd8\x83\x7b\x55\x7b\xe2\xb7\xaf\x27\x5d\xbc\x8c\xad\x2f\x78\x1d\x57\x15\xfc\xa1\xe8\x5b\x3b\xf5\xc3\xaa\x82\xfe\xaf\xe8\x67\x47\xdb\x3b\x2d\x2c\xd7\x51\xa2\xaf\x4a\x02\x50\x42\x42\xc2\xb7\xce\x0b\x61\x25\x35\x42\xbb\x47\xfc\x2e\x5f\x8a\xdf\xc7\xfd\x16\x79\xe2\x73\xa7\x20\x28\x43\x30\x75\xed\x3e\x50\x9f\x7d\x7c\xf6\x6c\xa4\x2b\x0a\x9f\xc1\x96\x9a\xe8\x43\x30\x0c\x98\x72\x91\xfc\x28\x0f\x80\xdd\x0f\x9d\x5b\xec\x46\xa6\x73\x2f\xe8\x6c\xcb\x1c\xf4\x6a\xaa\xe1\x44\xa5\xb2\x3d\x18\x1c\xb3\xd0\xb1\x38\x3a\xb7\xfe\x45\xb1\xdd\xb0\x34\x82\xa5\x89\x3f\x00\x4a\x35\xc1\x95\x59\x24\x14\x3e\xd8\x54\x80\x57\x9a\x05\x8a\x65\x79\xf6\xad\x33\xb2\x43\x1f\x96\x5d\xdb\x1b\xcd\xec\x11\x48\x72\xc2\x9b\x24\xda\x56\x55\x81\xd8\x4e\xdd\x76\x43\xa5\xaa\x90\xe0\xcb\x88\x13\xbe\x9f\x02\x7f\x58\x00\x9b\xa9\x5a\x55\x52\x4b\x7f\xf6\x2b\x15\x7d\x79\xc4\x71\x26\x6c\x37\x7c\x74\xc1\x10\x03\x79\x8c\xc0\x69\xbf\x78\x56\x0e\x41\x10\xaa\x40\x7b\x7c\x54\x81\xc5\xa2\x7b\xc1\x68\x8d\x22\x26\x62\x0f\x1e\xfa\x03\xec\xec\x8b\x7b\x87\x36\x63\x1c\x55\xa6\xe4\x04\x25\xc4\x9d\xc7\x4f\x92\x3d\x4e\x42\xd9\x62\x85\x9a\xc1\x21\x08\xed\xe8\x67\x04\x97\x42\xcb\x83\x41\xaa\x46\x35\x02\xe0\x0d\x82\xd2\xdd\xb5\x1d\x26\x2b\x3d\xfb\x95\x0a\x82\xbe\x3d\x05\x8f\x2f\x4b\x3d\x27\x7c\xec\x41\xff\x2e\x00\xb0\x34\x06\xf7\x99\x1e\x93\x82\x99\x3e\xb7\x11\xe8\xf3\x6b\x3b\x24\x8d\xcd\x06\x88\x33\x2e\xe1\x3d\x39\xc0\xde\x62\xd5\xac\xac\x1e\xb0\xa0\xe6\xbf\x72\x9d\x5e\x89\xf1\x9d\x55\xf5\x63\xbb\xa8\x3d\xd3\x6a\xe1\x26\x94\xef\xe1\x01\xec\x2b\x88\xb9\xa5\x95\xb0\xf7\xaf\x1d\xda\x67\xd0\x55\x43\x1c\x91\xbd\xba\xa8\x32\xd0\x9e\x74\x85\x6e\xeb\x25\x8f\xdb\xd7\x31\xd6\xa9\xb9\xb8\xba\xca\xef\xfc\x9b\x2a\x94\x1f\x08\xca\x08\xda\x5e\x08\x06\x8a\x65\x59\xfc\xdb\xf2\x14\xad\xdf\x00\xdd\xbc\x75\x79\xf5\xc7\xc7\x64\x0a\x58\x29\x82\x05\x27\x28\x84\x70\x06\x0a\xbd\x59\x58\xb8\x03\x85\x81\x8f\xcd\xca\xae\xed\x5b\x50\x88\x5b\x2a\x84\x3e\x8b\x60\x58\xe0\x41\x04\x65\x05\x93\x28\xe7\x58\x7b\xd2\x95\x98\x8d\x20\x61\xe4\xd2\x53\x2d\x1b\x6c\x00\x27\x71\xe2\xeb\x39\x13\x7b\x94\x99\xe6\x09\xf6\x32\x13\x54\x20\x03\x03\xb3\xbc\xcb\x82\xc0\xfc\x76\x1a\x02\xf3\xba\x5c\x1a\x4a\x94\x10\x33\x82\x44\x56\x30\x59\x41\x8b\xd7\x6f\x54\x02\xaf\x8b\xe4\xda\x8d\xbd\x45\x27\xf6\x14\xa7\x9f\x80\xce\x00\x04\x49\x58\x74\xef\x7b\x7c\x04\x05\xc7\x0b\x42\xdb\xeb\xa3\xbd\xeb\xb8\xf7\x19\xf4\x43\x34\xfd\x6e\xc3\x58\xdc\x7f\x68\x4f\xa9\xc4\x4f\x45\xcb\x32\xf3\x2a\x00\xe1\x31\x6b\x45\x05\x9a\x56\x4d\x4e\xb1\x78\x13\x2f\x24\x51\x9b\xf8\x83\x78\xc2\xb0\x08\xb2\xb6\x57\xf0\x31\x16\x24\x4f\x36\xea\x0f\x09\x0f\xda\xc3\xb1\x28\xb3\x33\x84\x63\x54\xd5\x95\x95\x4c\x8d\x52\x1f\xb1\xbd\xa9\xe5\xc6\xf7\x19\x27\xb2\x5e\x5d\x55\xbc\xd9\xa4\x07\x20\xb7\x8f\x5f\x1a\x57\xc2\xc7\xe6\xd5\x26\x14\xf0\xd5\xa0\x2a\x7a\x9a\xad\xbf\x79\x09\x74\x70\x55\x8d\xd8\xf0\x18\x5f\xd9\x1a\x68\xc4\xac\x3d\x99\x2f\xb8\x60\x69\x6a\xbb\x20\x0c\x81\x6c\x84\x69\x82\x0a\xd9\x20\xa7\x1e\x62\x2a\xe0\x4a\x0e\xbd\xc6\x93\x8f\xf7\xa4\x11\x2b\x7a\x1a\x84\x7e\x7f\xdc\xe0\x5e\x95\xfb\xbe\xd7\xb7\xd1\xd4\x00\x5a\x94\x9a\xa8\xe0\x78\x05\xc0\x92\x3f\xc4\x7e\xd7\x24\x10\x79\x70\x64\x1f\xa9\xbe\xf6\xf8\xe8\xbf\x36\x1e\x1f\xfd\x37\x95\x8d\x0d\x2d\x61\x53\x47\x9d\xdd\x0b\x58\x2e\x83\x40\xd1\xae\xe2\x74\xe5\x45\x05\xcf\x8c\xcb\xf0\x2a\x0e\xfa\x0c\x2e\xfd\x2b\x96\x1a\x22\xc2\xd4\xf3\xe1\x04\x73\x7a\x8d\x76\x9b\x94\xa8\x91\xa4\x1b\x82\xfe\x5d\xfa\x57\x56\xa0\x3d\x3d\xc1\xd4\xa5\x3b\x9d\xbd\x8c\xc4\x3b\xe0\x2a\xe2\x15\x91\xbe\xd8\x2f\x51\x4b\x94\x8e\x9b\x5f\x28\xe2\x11\xe6\x16\x89\x8d\x06\xac\xe0\xc3\xcc\x6a\xf1\xa7\xf7\x25\xdf\xa3\x71\xd1\xd2\xb3\x29\xc1\x89\xaf\xac\xa0\xed\x62\x16\x80\x12\x65\x68\x4b\xe4\x46\x5c\xc2\x81\x12\x53\x35\xc5\x2c\x37\x86\x80\x19\xee\x38\x10\x5b\xc9\x46\x2c\xb7\x10\x88\x94\x35\x27\x70\x10\x63\x34\x75\x67\x41\x69\xe2\x78\xb3\xa0\xf4\x00\xa0\x5f\x7a\xf0\xfd\x89\x74\x1b\x44\x35\xde\xbb\xb3\xe0\x10\x95\xef\x02\xe8\x77\x7d\x7f\x62\x45\xb0\xfa\x42\x24\x12\xb5\x1b\xb8\xfd\xa8\x06\x0d\xff\x95\x5b\x85\xc5\x5a\xd1\x33\xfb\x7b\x1c\xa5\x85\xac\x53\x60\x07\x61\xc9\x0e\x1c\xdb\x2b\xd9\x93\x9e\x33\x9a\xf9\xb3\xa0\x64\x07\xa5\xf0\xce\x2f\x91\xf4\x7f\xa9\x25\x5b\xbe\xeb\x97\x21\x18\xd9\x70\xd0\xf8\x3c\xae\xb3\x2a\x18\x3d\x72\xc3\x2a\x61\x06\xaa\xd4\xf7\xbd\x10\xfa\x6e\x1a\xcd\xdb\x90\x5e\xc4\x5e\x6e\x39\x58\x80\x0d\x7d\x97\xd2\x96\x56\xef\xf9\xee\x20\xb3\xc3\xdc\x7b\xfd\x2d\xdf\x1d\xb4\xed\x21\x68\x87\x34\xa2\x03\x5f\x01\xa1\xdc\xc3\x3c\x6a\xba\x6a\xfe\x62\x21\x20\x10\xe8\x7a\xb0\x85\xeb\x23\x64\x96\x58\x2f\xe2\x8a\x1c\x52\xc2\xa3\x00\x75\x03\xbd\xc8\xf4\xa1\xef\x3a\x53\x3c\x7c\x25\x9c\x5d\x53\x4a\xb5\x06\x2b\x77\x8e\x8a\x25\x9b\x1c\x80\xbe\x59\x91\xd6\xdc\x46\x6f\x69\x05\x2e\xdc\xad\x08\xc5\x38\x84\x18\x46\x31\x8a\x82\x2b\xd8\xf7\x59\x28\x0b\x32\x99\x48\x49\x16\xc4\x6c\x29\xd0\x4c\x12\x23\x3d\x59\x52\xc1\xa7\x48\x43\xd7\xfe\x04\x20\xd6\x3c\x28\x31\x61\xb2\x64\x31\xa0\x82\x07\xe0\x9e\x1a\x45\xa1\x59\x8a\x5e\x39\xde\xc0\xf1\x46\x41\xfa\x2c\xe2\x99\x17\x5a\x84\x6c\x07\xf8\xe0\x40\x7b\x78\xf6\x8c\xd2\x42\x78\xff\x45\x54\xd1\x1e\x0c\xb6\xe8\x77\x84\x73\x1f\xb3\xf9\x20\xb6\xcc\xa6\x51\xea\x71\xfc\x7d\x74\x7e\x70\x78\x15\xa6\xd1\x2e\x4b\xf7\x4c\x51\x7c\xfb\x85\x35\x77\x58\x44\x7f\xb2\xfd\x2a\x88\x70\x13\x7b\x5e\x22\xb7\xc1\x52\x00\x6e\x66\xa8\xa0\x60\xc6\x4c\xec\x39\xd1\xbd\xb4\x69\x19\xbc\xbc\x27\x60\xe0\xd8\x84\xea\x36\x04\xa5\x21\xfa\x26\x25\x3c\x2e\x8c\x28\x5f\x87\x60\x17\x7d\x52\x10\xa1\x4d\x19\x48\x7a\x89\x92\xd7\x0f\x6d\xcc\x38\xee\xe0\x72\xa4\x36\x0e\xc5\x4e\x6e\xa2\x7d\xd7\xe9\x8f\xc5\x3b\xa1\x50\x66\x13\xd7\x27\xc1\x13\x7b\x58\x5e\x23\x9a\xa2\x87\x29\x99\x0e\x9e\xa8\x53\x7b\xb4\xdc\x84\x43\x05\x93\x13\x4e\x99\xda\x41\x80\x6e\xce\x25\xca\x67\x89\x98\xdc\xd5\x55\x15\x58\x2b\x54\xda\x1b\xdf\xf1\x67\x01\x80\xf5\x11\xf0\x42\x76\x4d\x3c\xb4\xfb\x85\xe3\x76\xe1\xc3\x33\x6d\x75\x55\x99\xfa\xd3\xd9\x54\x59\xb1\xfc\x32\xa9\x78\x7a\x3f\x05\x1a\x76\x70\x09\x82\xba\x1b\x1e\xe1\xe6\x62\x14\xf0\xe9\xf1\xfb\xc4\x01\x9d\x35\x69\x24\xf0\x0c\x58\x84\xc4\xcf\x88\x03\xba\xfc\x0b\x71\xb8\xcd\x19\x42\x52\xad\x83\x6b\x40\xd0\x07\xce\x2d\x28\x01\xaf\xef\x0f\x32\xbb\xda\xb3\x5f\xa9\xb3\x70\x58\x7a\xf9\x08\xed\xbb\xa4\x9c\x20\xc1\x37\x7d\x97\x64\x17\x87\x3e\x2c\x08\x00\x17\xbe\x2b\xe2\xe8\x4e\x0a\x06\xa9\xa4\x2f\x32\x3b\xb4\x20\x46\x8b\x4c\x43\xc4\x45\x8d\x99\x40\x5a\x7c\xb3\x4b\x48\xac\x93\x35\x7d\x2c\xe4\x96\x55\x63\x22\xf0\xb8\x4e\xcf\x86\x25\x6a\xa2\x28\xd8\xa8\xd3\x3a\x41\xb2\x53\xd3\xd6\x70\xbc\xf0\xd2\xc4\xbe\xc7\xab\xbf\x64\x43\xe8\xdf\x95\x44\x1b\x88\x58\x92\x0e\x32\x90\xfc\x5b\x50\x9a\x44\x7a\x3e\x29\x3a\x59\xcd\x21\x45\x0b\x61\xf1\xb3\x0f\x69\x0a\xaa\x60\x3c\x63\x2e\x4d\x3c\xaa\xd7\xce\x30\x2c\x11\x05\xfc\x02\x36\x0f\x17\x6d\xe2\x92\xf1\x0e\x17\x52\xf9\xa8\xa4\x6b\x78\x3e\xe1\xcc\x7d\xe4\x2d\xa1\x05\x8e\x65\xdd\x0f\x24\x43\x11\x71\x8e\x71\x08\xd0\x64\xb5\x12\xe2\x8c\x96\xab\x8b\xed\x11\x70\xe5\x3b\x1f\x0e\x4a\xd8\x5e\xab\x84\x57\x74\xc9\x05\xc3\x45\xac\x5b\x36\xff\x9d\x25\xe4\xd4\x44\xe5\x44\x4d\x2e\xc3\x2e\x0a\x32\xeb\x2d\xd3\x28\x2d\x28\x6a\x75\x82\x53\xf0\x7d\x55\xb3\x24\x6b\xdf\x32\xed\xb2\x92\x4f\x4f\x49\xa9\x33\x04\xf6\xa0\x1d\xfa\xd0\x1e\x01\x35\xad\x10\xa0\x45\xb0\x68\xec\xbe\xee\xba\xaa\xa6\x87\xab\xab\x61\x9e\x62\x20\x99\xea\x15\xd5\x97\xc5\x09\x24\xc0\x25\x95\x03\x10\x6e\x41\xbb\x3f\x06\x21\x18\x48\x02\x47\x32\xe5\x51\xb9\x97\x2c\x08\xe4\x20\x39\x51\x84\xd0\x5d\x2a\x56\x41\x82\x8c\x6e\x53\x16\x0f\x54\x5a\x10\x67\xe4\xe1\x82\x86\x8a\x49\x24\x44\x29\x49\x28\x1e\x31\x79\xdf\xda\xa9\x9c\x7a\xd9\x0e\x8a\xb5\x5c\x39\xe4\x5a\x18\x2a\x35\xa3\x48\x95\x48\x2f\x34\x91\x89\x41\xfa\xda\x14\xeb\xaf\x02\x55\xa8\x8b\x15\x2b\x6f\x35\xb1\x75\xc2\xcf\x0b\x5d\x2a\x09\x8d\x2f\x1e\xb2\x01\x5e\x32\x9e\x6d\xba\x61\xf9\xa8\x2c\x0c\xb9\x9b\xd1\x61\xff\xff\x64\x54\x44\xd7\x41\xd9\xa8\x2c\x19\x0d\x39\x8d\x8e\x04\x20\x9c\x79\x0d\x7f\x32\xb1\xbd\x41\xc3\xb5\x83\x20\xa5\x6d\xe4\xe2\x6d\xd2\x0d\x75\x04\x42\x55\x01\xde\xad\x03\x7d\x6f\x02\xbc\x50\xd1\x6a\x0a\xbd\x89\x45\x92\x56\xb8\xba\x4a\x52\xed\xc2\xc7\x47\x15\x5a\x5f\x9e\x78\x37\x02\x9a\x80\x9e\xb4\x89\xb5\x8d\x40\xfd\x62\xc3\x11\xb9\x9a\x55\x49\x88\x70\xc7\xaf\x52\xed\x77\x79\x3a\x0b\xae\xd1\x4d\x35\x6e\xb2\x0a\x75\xdf\xdb\x99\x3b\x61\x4a\x84\x83\x0a\xfb\x53\x55\xd3\x9d\xf2\xcc\xc3\x57\x5a\xd7\x8d\x54\xea\xe8\x29\xdf\x85\xbe\xeb\x07\x00\xb1\x8b\x60\xee\x84\x8a\xb6\xba\x4a\xb9\x73\xfc\x5c\xd5\xa2\xa3\x26\x0b\x87\xc7\x1f\x91\x4f\x95\x8d\x95\x13\xbc\xe7\xe7\xe7\x82\xa0\xb3\x96\xc8\xf4\x48\x06\x39\x89\x54\xc6\xfd\x38\x62\xa7\xd2\xd8\x67\xe6\x5e\x32\x1d\x62\xcf\x1f\xdc\xcb\x7a\x93\x21\xe9\xf2\xad\xa2\xc9\x20\x03\x8b\x8e\xb6\x20\xe8\xd8\x30\x95\x17\xda\x52\x58\x3a\x0f\x85\xe5\x9f\x8b\x2c\x48\xd8\x37\x16\x48\x96\x9c\x5a\x44\x65\x3e\x05\x30\xbc\x57\x7f\xf8\xc5\x17\xf8\xf4\x8b\x2f\xe0\xe9\x07\x9a\x87\x5b\xb6\x1f\x09\xc2\xa3\x1a\x16\xbb\xb0\x65\xe6\x7d\x2c\x33\x12\xda\x53\x25\x04\x47\x91\xfd\x02\xe9\x9e\xaa\x44\x69\x49\xb0\xcb\x92\x92\xad\x9f\xf4\xf2\x88\x43\x9a\xe5\x80\x22\xae\x20\x0b\x61\x51\x57\x37\x0c\x2c\x6f\x63\x91\x06\x70\x15\xcd\x9b\xa8\xaf\x0b\x40\x2e\x0c\xdb\x9f\x06\x1a\x4b\xd2\xc4\xe3\x96\x10\xb8\x65\x66\xa1\x60\x44\x28\x40\xf1\x70\x52\x81\x61\x92\xb3\xe4\x46\x3b\x92\xfb\x69\x9c\xc9\x75\x46\x6a\x2b\xc5\x34\x2d\x77\x91\x84\x22\xe4\xdb\x15\x08\x74\xb0\xfa\x86\x69\xb4\x56\x22\x8d\x16\xd3\xb7\xe7\x88\x14\x3e\xaa\x1f\x4c\xb3\xf6\x31\x28\x46\xca\xf7\xd5\x55\xa5\x01\x8f\xdb\x08\xcc\xa5\x79\xb5\x29\xb6\xf8\xa9\x54\xc5\xcf\x4d\xea\x5c\x2c\x7c\x29\xe5\xc7\xd2\x14\x5b\x82\x08\xbc\xd8\x9c\xcb\xf9\x6e\x01\x2d\xc9\x88\x2f\x27\x06\xb7\x80\x7e\xeb\x3b\x74\xff\x5b\x5e\x08\x6e\x81\x44\x20\x46\x7e\x6a\x49\x22\x7c\xc2\x25\x4b\x2a\xa4\x63\xba\x63\x85\x65\x70\x33\xb3\xdd\x40\x85\x5a\xcd\x49\x1b\x09\x20\x24\x62\xdd\x6d\x50\x18\x38\x01\xe6\x90\xab\x05\x04\xa5\xe0\x0f\x0b\x08\x4e\xe1\x0e\xaf\xef\xc2\xc0\x19\x0e\x51\xa9\x21\xf4\x27\x05\xc2\x30\x95\x0b\x05\xb4\x02\x0a\x64\x96\x17\x9c\x00\x6b\xf2\x16\x2c\xbc\xa5\xb8\x2b\x8e\x4a\xce\x72\x1c\x13\x5f\x23\x6f\xa6\x44\xaa\x84\xec\xda\x8e\xb7\x40\xcf\x1f\x80\xd2\x60\x06\xb1\x0e\x5b\xc9\x2e\xde\x84\xc2\x42\xdb\x54\x8c\xf2\x8b\x40\xa9\x2a\x86\x74\x03\x8c\x16\x6b\x1b\x9d\x26\x79\x4d\x67\x73\x67\x2a\xcc\xca\x8f\x4a\x69\xb1\x31\x24\x3d\xd0\x6f\xc3\xf2\xe1\xf1\x59\x7b\xe7\x53\x6b\xe7\xfd\x71\xeb\xf4\xd3\x76\xb3\x5d\xdf\x7a\xb7\xb3\xbd\xa9\x48\xf3\x71\x22\xba\x69\x4a\x55\x5e\x60\xea\x3b\x5e\x08\xa0\x26\xef\x8c\x7d\x0b\xc8\xf5\x6c\x51\x12\x0a\x02\x91\x59\x45\x90\x7c\x50\x79\x3b\x7a\xd2\x70\x7b\x11\xf4\xe4\x0c\x90\x1f\xc4\x32\xa8\x69\xbb\xfb\x24\xbc\xbc\xcb\x69\x37\x0e\x13\xbc\xc4\xc9\x93\x3c\x2e\xe3\x10\xc3\x72\x8c\x89\x2e\xf6\xd4\x09\x53\x6e\x02\x29\xd3\xe6\x72\x88\x4b\xc8\x10\x85\x20\x08\x7d\x98\x19\xaa\x68\x63\x77\xca\xc3\x72\xdf\xb5\x27\x53\x12\x24\x57\x37\xd2\xb6\xe8\x2c\x72\xab\x89\xb6\x1e\xbe\x34\xd1\x72\x0a\x2a\x90\x9c\x11\x26\x0b\xfb\x15\x27\xa3\x6c\x24\x66\x82\x1a\xea\x50\xd3\x23\x40\x6f\xe0\xe3\x23\xfb\x6e\x59\x70\x75\x35\xf6\x7e\xd0\xd2\xde\x79\xa9\x29\xc5\xca\x59\x2b\x86\x6c\x5e\x61\x75\x14\x69\xff\x98\x95\x16\x9c\xeb\xf9\xd0\xcd\x45\xc2\x13\x62\xf2\x29\x11\x9e\x50\x73\x6f\x10\xf9\xfc\xa1\x75\x4d\xea\x7d\xca\x5b\x0f\x42\xd0\x22\x21\x08\x69\x20\x6f\x42\x25\xd2\x70\x50\xdd\xc1\x8a\xc5\x92\x11\xe1\x80\xd6\x7c\xd4\x5b\xec\xd7\xdf\x07\x8e\x9b\xe5\xea\x05\x9c\xe4\xf7\x20\xbb\xed\x4b\x22\x4a\x6b\x7c\xb0\x5b\xde\x64\x17\x48\x66\x9f\x96\x8c\x04\xd1\xbe\xf7\xfa\xc9\xc9\xf4\x49\x65\x0e\xf3\x99\x5e\x28\x38\x9b\xb3\x9c\x2c\xe9\xc8\xb8\x79\x74\xe1\x23\xdd\x2e\x62\x86\xbf\x07\xb2\x5e\x0a\x17\x4c\x94\xea\xe9\x2b\x3b\x49\x51\xca\xed\x25\xdf\x7a\xea\xfe\x0d\x12\x1e\xb1\x31\x3a\x2c\xf4\x1f\xa9\x49\xa2\x1d\xe0\x3b\x47\xb6\x3c\xc1\x20\x59\x81\x46\x3f\x88\xa2\xc1\x3a\x7e\xc2\x84\x39\x60\xa3\x2d\x9b\xf7\x89\x76\xd3\x6e\x6f\xe0\xb5\x65\x64\x53\xb1\xd7\xc3\x10\x4c\xa6\x61\x21\xf4\x0b\xb4\x76\xa1\x67\x0f\x0a\x34\xd1\x81\x52\x8c\x38\x2d\x90\x8c\x58\x3e\xa2\x2b\x83\xcf\xce\x9f\x22\x46\x26\xff\x18\x36\xf9\x99\x4d\x3c\x12\xd4\x07\x91\xe5\x8d\x41\x62\xf0\xa4\x3c\x47\x28\x55\x04\xe6\xe7\xe2\x5d\x33\xe4\x42\x36\x72\xa2\x91\xc8\x43\x85\xba\x5c\x97\xcc\x1a\x7c\x63\x19\x91\xab\x6d\xf4\xfe\x12\x5e\xbd\x06\x5a\x0d\x96\x4a\x5a\xaa\x22\x16\x5c\x64\xb7\x64\xae\x1b\x42\x8c\x16\x0c\x10\x8b\x51\xfe\x53\x46\x88\xa5\xa8\xc8\x1d\x22\x16\x7b\xa0\x26\x9e\x7d\x16\xe0\x33\xb7\xc4\xcc\x09\x1d\xd4\xd7\x06\x89\xa2\x14\x62\xaf\xf2\x90\xa6\x8f\x89\xa3\x4e\xa4\xe3\x33\x39\x25\x6e\x89\x47\x0e\x43\x94\xf8\x96\x05\xd1\x51\xa9\x11\xb7\x79\x36\x67\x08\x14\xac\xa9\x71\x34\xfa\x2e\xd1\x89\x29\x76\x60\x56\x35\x3d\x2c\x95\x9e\x88\xf5\x5c\x72\x34\xae\x9d\x21\xf6\x3e\x55\xc3\xb8\x97\x89\xe6\xa7\xb3\xe0\xba\x6c\x4f\xa7\xec\xa6\x99\x7a\xaf\xfb\x9a\x8e\x31\xa3\xc1\x11\xed\xb9\x8a\x7f\x96\x42\xdd\xa0\xa6\x10\x08\xd9\x37\x06\xf1\x1d\x7d\x6d\xe5\xf4\x91\x59\xdc\xc5\x61\x16\x85\x2e\x54\x51\x2c\x26\x4f\x0c\x2c\x98\xba\x4e\x1f\x08\xb1\x65\x33\x39\xd0\x83\xd4\xb4\x9c\x79\x31\x29\x3c\x44\x2e\x2b\x20\xfd\x2a\x5a\xc1\x13\xdb\x67\x48\x40\x2a\x12\x59\x3a\xd4\x9e\xd8\x2a\xeb\x9c\x92\xb3\xa6\x05\x46\x68\x36\x62\x47\x01\x2c\x1c\x8a\x4f\xdd\x88\x1b\x52\xa1\x94\xb9\x25\x01\x82\xfc\x89\x80\x4b\xe7\x2f\xff\x89\x00\x4d\xaa\x94\xf9\x20\xe5\x76\xbc\xac\x40\x4b\x02\x8d\xa6\x2d\xc8\xce\xce\xfc\x16\xde\xdb\x23\x70\x36\x95\x5c\x7d\x53\xb7\xb1\x84\x3b\x7d\x6d\x51\xd7\x12\xeb\x91\x17\xf8\x98\x8b\x31\xda\xf6\xef\x64\x32\x89\x9f\x86\x53\x51\xca\xa9\xe6\xe2\xf4\xce\xf1\x7e\x67\x54\x5a\xa2\xe9\xdf\x1d\x39\xa4\x8d\xdf\x39\x53\x40\x7d\xde\xb3\xa9\x13\x25\x7b\x9c\x91\x95\xf8\x25\x12\x82\x5d\x0a\x2e\xf0\xe2\x4b\xfa\x55\x79\xe8\xc3\x1d\xbb\x7f\xad\x8a\xdc\x38\x12\x5b\xfb\x1b\x23\x0e\x42\x41\x44\x51\x64\x81\x1b\x51\xe8\x78\xcc\xc7\xa3\x85\xa9\x02\x2d\xa9\x68\x8d\x45\x67\x19\xa6\x29\xdb\x95\x64\x8a\x2b\xd9\xc5\x09\x64\xf3\x25\xe0\xf6\xeb\xae\x2b\xf0\x22\x93\xf8\x97\xc5\x18\x0b\x28\xb6\x94\x1c\x84\x99\xe7\x8b\xc0\xa5\x89\xbd\xa4\x6a\x29\x01\x32\x63\x68\x9f\x11\x75\x24\xcc\xf4\x19\xa9\x6f\xc3\x14\x18\x7f\x18\xb6\xc8\x03\xd9\x22\x60\x25\x32\x64\xcd\xf3\x75\x8c\x54\xd9\x9c\x05\xbe\xb5\x92\x4e\xe8\xc0\xbd\x5c\x9a\xa6\x29\x63\xef\xe5\x29\x27\xaa\xb8\xf8\xf0\x89\xe8\xcc\x0c\x7d\xe4\xd7\xd5\xa1\x0f\xef\x6c\x38\xa0\x73\x29\x27\x61\x9e\x4c\xc8\x42\xee\xe6\x24\x6c\x8f\x90\x83\xac\x85\xc5\xa2\xc6\x78\x97\x98\x7d\x0c\xaf\xde\x44\xf2\xcf\x5b\xdf\x19\x14\x92\x98\x13\x76\x31\x5b\x49\x4b\x70\x5f\xf9\xf7\xe8\x9a\x1c\xa4\x40\x88\xa0\x2f\x75\x35\x97\x89\x51\xd0\xb6\xf6\xf3\x10\x52\xc6\x86\x87\x6f\x10\x8d\x4b\x25\x21\x2d\x5f\x7f\x1b\x2d\x85\xe5\xe4\x47\x0b\x08\x33\xdd\x03\x71\xff\x96\x40\xfd\x8b\x08\xf7\x58\x10\x5e\x5b\xb6\x6b\x71\x1b\x8c\xef\x2b\x9a\xba\xa1\x03\xca\x9e\x65\x5e\x1b\xe4\x65\x8e\xc4\x86\x76\xac\x1e\x66\x45\x8d\xdf\x3e\x76\x38\x86\xf3\xf1\x50\x05\x5a\xad\x64\xae\x44\x51\x4e\xb2\xd8\xeb\x52\x9a\xa7\x8f\x81\x6c\x78\xe6\x14\xb9\xd9\x79\x9a\x09\x2c\x90\x23\x53\x4a\x1d\x28\x92\xd1\x05\x8f\x8f\x86\x1e\x5f\x13\x49\xe6\x2d\xc7\x0a\xad\xb0\x64\x96\x54\xc4\x0d\xfd\x11\x2c\xc2\x9a\xf3\x5a\xb8\xc2\x6a\x4e\xd1\x82\x2c\x51\x07\x6b\x4a\x75\x58\xc2\x97\x4c\x18\x04\xa9\xba\x38\x04\x70\x0a\x81\x20\xc7\xf3\x6d\x18\xbf\x55\x97\x92\x71\x48\xda\x18\x80\xbe\x0f\x6d\x91\xb1\x13\x8e\x02\x01\xb2\xa7\x3c\xab\xc1\x35\x9b\xeb\x3c\x98\x39\xf7\x32\xce\x88\x12\xa5\x6c\xca\x85\x30\x0f\x4e\x9e\x6e\x57\xe0\x43\x98\x07\x2a\xf2\x4c\x94\x80\xe3\x0c\x0f\x33\x60\x22\xdb\xc5\xfc\xba\x71\x00\x2a\x51\x65\x62\xc1\xa8\xf1\x79\xf6\x48\x7a\x6e\xfc\x1b\x7f\xcd\x84\x97\xe0\x55\xd8\x19\xc0\x02\xed\x77\xca\xf7\x21\x02\x92\xb1\x9a\xcd\x00\xcb\xda\xde\x6a\xe9\xea\x02\x2b\x57\x09\x18\x89\xf9\x6c\xd4\xf7\x28\xf0\x88\x88\x91\x8f\xed\x1f\x52\xa5\x49\xc2\x40\xdf\xc3\x99\xfd\xe7\xe1\x04\x78\xb3\xac\x88\x77\xc5\x7c\xe2\x55\x84\xbe\x87\x75\x48\x89\xc0\x1d\x02\x9d\x60\x22\x1b\xb1\xaa\xd5\xa0\x20\xdb\x3f\xd6\xf8\x0c\xfc\x3b\x4f\x41\xfc\xb5\xb4\xc4\x6c\x9a\xff\x1e\x87\x0b\x8c\x93\x3b\x25\x42\xb8\xf0\xb1\x49\x43\x21\x08\x3c\x4d\xa2\xc0\x30\xbb\xe8\x57\x03\x47\x11\xe4\x7a\xa8\xaf\x18\x5a\x0e\x02\xa4\x0b\x1c\xe1\xb8\x40\x52\x8b\xe1\x26\x6f\x11\xa2\x46\x7a\xee\x0c\x2e\xc4\xd0\xd4\x34\x71\x94\xeb\x74\x86\x51\xac\xce\xd3\x6a\x4e\x22\x14\xd9\x77\xf4\xf0\x2a\x79\xfe\x00\x5c\x92\x55\xa4\x0c\x6d\x37\x00\xca\x55\xe1\x4b\xa1\xd0\xf3\xe7\x68\x61\x38\xde\xa8\x5a\x20\xc6\x93\xa5\x9e\x3f\xaf\x15\x0a\x69\x3f\xeb\x6a\x21\x84\xb6\x17\x90\x20\xfa\x7c\x66\xd7\x02\xab\x47\x05\xa2\x95\xe9\x3c\x7e\x86\x91\xaa\x16\x02\xdf\x75\x06\xb5\xa7\xf2\x5d\x1f\xe3\x81\x1a\xa6\x1e\xe0\xd5\x82\xe3\xb9\x8e\x07\x4a\x3d\xd7\xef\x8f\x6b\x85\x02\x42\xbe\x64\xbb\xce\xc8\xab\x16\xfa\x00\x6d\xf0\xb5\x02\x93\xb5\xf6\x6d\xb7\xaf\xf2\xaa\xc5\xa4\x61\x8a\x56\xf8\xbe\x50\xd1\x6a\x85\x02\x06\xc8\xa4\x7f\xc2\xf2\x2c\x57\xe1\x53\x15\xfa\x7e\x88\xf0\x11\x83\xac\x16\xbe\x13\x28\x1f\xc4\xd6\x2e\x35\x01\x90\x58\x04\xb9\x00\x4a\x6c\xe7\xc2\x83\x21\x43\x47\xb2\xf2\xa1\x61\xa8\x16\x0c\xe9\x6b\xe8\xdf\x25\x5f\x13\x57\xe6\x84\xb6\xb9\x5a\x30\xca\x2f\x02\xae\x4c\x46\x79\x5b\xc5\x03\x20\x2b\x41\xb5\xb7\xd5\x02\x3d\xc0\x65\xe5\xe8\xb0\xe7\xab\x89\x6b\x4f\xbf\x1c\x83\xfb\x21\xb4\x27\x20\x28\x60\x64\xd1\x38\x60\x0b\x80\x2f\x05\x7f\x6a\xf7\x71\xba\x61\xb3\x6c\xd4\x0a\x4f\x85\x42\xe8\xf3\x4f\x0d\xfc\xf4\xa9\x1c\xf7\x11\xd5\xb5\x3d\x67\x42\xa2\x11\x78\xf6\x04\x54\x09\xd0\x1a\xff\x3c\x26\x04\x8f\x9b\x80\x52\x5a\xa2\x9a\x13\x02\xf2\xb8\x84\xf3\xdd\xa0\x49\x3b\x74\x3c\x27\x04\x89\x52\xa1\x33\x71\xbc\x51\x89\xed\x17\xd5\x02\xb0\x03\x50\x72\xb0\x5f\x47\x12\x0b\x07\x02\x5a\x24\xba\x16\xd6\x9e\x94\xf4\x26\x7e\x0d\xec\x41\x22\x40\xbe\xa3\x65\x83\x3f\xe5\x6f\x0a\x5c\x9e\x68\xde\x58\x3a\x8e\x50\x14\x39\x28\x90\xd7\x4a\xb6\x6c\xdf\xb5\x83\xe0\xc8\x9e\x00\x4b\xe1\xb6\x12\x41\xc1\xc5\x59\xa5\x49\x3a\xe9\x25\x56\x71\xe2\x6d\x7a\x11\x68\x1a\x49\x4f\x2d\x87\x43\x57\x77\x2e\x20\xe8\xdf\x69\x5a\x2d\xda\x85\xc8\xf6\x43\xd7\x7c\x0e\x72\xb5\xa5\xb6\x95\xd2\x1d\xe8\x8d\x9d\xb0\x84\xb7\x4c\x4a\x05\x3a\x77\xf5\xcc\xce\x5a\x30\x0d\x63\x12\xe0\x4d\xcb\x86\xb5\xd2\xc4\x7f\xf8\x96\x7a\x8a\x9e\xb9\xdd\xf9\x02\xae\x23\x11\x36\x40\xfb\x69\x82\x9a\xb4\xaa\x59\xc8\x84\x64\x12\xa1\x71\x53\x26\x71\xb2\x6f\xa1\x11\x00\x5f\x3b\xab\xb3\x75\xb9\xc9\x4d\xf6\x9c\x01\xb4\x47\xd4\x4b\x90\x9c\x32\x00\x2a\xd2\xca\x4b\xa6\x46\x2f\xbd\x7a\x35\x9d\x4b\x66\x8f\x69\x4c\xe7\xd1\x34\xc1\x3f\x32\x2b\x5b\x92\x27\x3a\x83\xce\x12\xac\xcf\x25\xcf\xaa\xc4\x7c\x15\xcf\x41\x29\xd8\x37\x53\xd1\x95\x41\xcf\x25\x5f\xc5\xa2\x53\x19\x4d\x32\x8c\x4b\x9c\x71\x93\x5f\xff\x39\xc5\xe2\x9e\x0b\x0b\x09\xe4\xad\xb9\x80\x97\xe4\xce\xd2\x17\x05\xa1\x5c\x17\x84\x2d\x70\x0b\x60\x00\x3a\xce\x00\xf8\xea\x8a\x29\xa0\x39\x0d\xec\x29\xb8\xd0\xa4\xf3\x3b\x4b\x8d\x2d\x18\xab\x2e\xb3\xb4\x88\x28\x24\x15\xdc\x21\xce\x2d\x4f\xcd\x13\x45\x1f\x95\xa1\x40\x83\xed\x66\x55\xaa\xa1\x5c\x5c\xaf\x65\xcd\x8e\xa2\x22\x97\xe0\x2a\xa3\x55\x15\x80\xa8\x89\xac\xab\xa0\x7f\x17\xe0\xf0\x21\x97\xe1\x55\x2e\xc6\x64\x1d\x26\x4d\x0b\x62\x1d\xf6\xe5\x95\xee\x58\xa0\xe6\xbc\x0e\x6b\x0e\x4b\xb8\xe6\xf3\xca\x57\x7c\x49\x71\xd0\x2d\x05\x1b\xe3\xfb\x3c\x6f\xac\xe9\xce\xeb\xb0\x64\xae\xae\xae\xe0\x44\x2a\x5c\x2c\x26\xcc\x3f\x32\x19\xa0\xa2\xad\xae\xd2\xea\xca\x47\x4f\x61\x41\xea\x0b\xb0\xfc\xd9\x77\x3c\x55\xc9\xb3\x4b\xa6\x8a\x5b\x51\x86\x89\x34\x92\x40\xe3\x71\xcb\x05\x49\xf2\x73\xe7\xda\x86\xa5\x07\xa1\x28\xa6\x3e\x7d\x2b\x69\x8d\x53\x85\xe6\x49\x00\x65\x50\x93\xb7\xc7\x2c\x46\xba\x63\x19\x35\xe7\x35\xc8\x0c\x9d\x74\xdf\x9f\xa3\x53\x5b\xd1\x6a\x7e\x76\xef\x4c\xd7\x41\x64\xc7\x74\x55\xd0\x71\xc5\xe5\xd7\x83\x45\x27\x29\xfa\x45\x23\xdb\xf2\xef\x54\x5f\x7b\x12\x44\x85\x4f\x77\x4a\xa2\xaf\xac\x39\x43\x35\x78\x63\x90\x6e\x78\x32\xfd\x7b\xa0\xd5\x08\xac\x98\xc6\x8b\x54\xef\x9e\x48\xc9\xc4\xa7\x94\x61\x86\x20\x4c\xf0\x85\xdf\xe0\xa0\xce\xaa\xf6\xc4\x32\xcb\xc8\x7a\x83\xf3\xba\xe4\xf7\xd7\x8c\x37\xca\x3a\x3d\x02\x33\xe6\x76\x52\x75\x03\x3a\x7f\xb2\x89\x29\x75\x98\x30\x93\x88\x9a\x06\xac\x38\x5e\xe6\x49\xdd\x3d\x71\xc1\xc5\x2f\xa1\xee\x90\x1b\xb1\xaf\x07\x35\xf0\x1a\x6e\xaa\xbe\x05\xf4\xc0\x82\xc5\x50\xab\xaa\xbe\x05\xf5\xc0\x02\xc5\x30\x62\x52\x78\x85\x9f\xaf\x0b\x83\xd9\x52\xe2\x35\x97\xd1\xde\x71\xe0\x32\xbd\x8a\xd3\x55\x42\x96\xbf\x95\x6a\x30\xfd\xbc\xb5\x80\x10\xae\x05\xaf\xc3\x5a\x50\x2c\x6a\x0e\xb7\x39\x06\x57\xf1\xc4\xf5\x8b\x32\x2b\xd4\x29\x74\xbc\x50\xb2\x42\x0d\x6c\x5c\x79\xd7\x2f\x07\x21\x31\x92\xc3\x49\xb7\x5f\xc3\x5a\xda\x9f\xf3\x0e\xda\x53\x1b\x73\x97\xd1\x8c\xca\x55\x8d\x64\x4c\x27\xfd\xc9\xc4\x09\xdf\x39\x1e\x60\x76\x90\xec\xc0\xf4\xc0\x1d\x7a\xac\x52\x39\x46\xa0\x7b\x16\x2c\x85\xba\x6d\xad\x98\xb5\xc5\x62\xf6\xa2\xf7\x46\x66\x48\xa6\xda\xd6\x8a\xa1\x7b\xe2\xd7\xa5\xc5\xa0\x35\xdd\x5e\x5d\x5d\x91\x91\x61\x53\x0d\x28\xe5\x66\xbd\x20\xc4\x8c\x8a\xee\x95\x4c\xad\x98\x7c\x08\xd1\x0a\xf1\x2c\xa8\x55\x05\xc5\x49\x96\x58\xd4\x6b\x17\x87\xe3\x4d\xba\xe1\x4d\x5d\x27\x3c\x77\x06\x00\x5d\x1f\x88\x0f\x99\x1a\x44\x19\x44\xd9\xe9\x79\x5d\x2c\x6a\x89\xae\xa4\xf4\x86\x77\x7d\x7c\xa8\xbb\x97\xd7\x57\xf4\xbb\x9e\x57\xdc\x0e\xfa\x8e\x13\xd7\x88\x7e\xa6\x54\xa2\x64\xb9\x1d\xfa\x03\xb0\x29\x58\x86\x14\x59\x0c\x21\x08\x21\xb5\x1d\x64\x65\xd0\x0c\xc1\x41\x73\xd2\xc5\x72\x11\xa3\xfd\x88\x42\xd7\x2e\x42\x7f\xc5\x48\x4e\x9e\x89\x7d\xdf\xc3\xd1\x78\x1a\x51\x76\x42\x34\x01\x8b\x96\xf7\xb4\x58\x33\xc0\x6f\x09\x51\xa0\x85\x78\x1d\xfc\x3c\xa6\x34\x69\x3d\x6e\x8a\xab\x31\xb0\xef\x16\xb3\xbd\x17\x58\x9f\x50\xab\xd1\xaf\x08\x15\xad\x55\x05\x55\x80\xb8\xbc\xd4\x62\x72\x14\xe3\x7d\x9a\xd4\x74\x52\xb6\x83\x18\xb5\x66\x1a\xda\xcc\x3c\xa9\xca\xb4\x3c\x5c\x13\xe9\xf4\x6a\x79\xad\x50\xd4\x37\x45\x0f\xab\x32\x2a\x4a\x50\xa0\x9b\xd4\xd7\x29\x02\xa1\x7f\x67\x2d\x3a\x3e\x6b\x8b\x10\x5f\x08\x3b\x5d\x2b\x39\xa6\x67\x53\x75\x89\x23\x3a\xbf\x21\xdd\xd0\xb4\x2a\x5b\xe9\x3f\x01\x48\xf5\xa7\x41\x28\x9a\x08\x06\xc5\x83\xb7\xc3\x33\x7f\x16\xc8\x92\x91\x47\xcc\xfe\x2e\x00\x83\x6f\xd1\x01\xd7\x92\x07\x5c\x56\x04\x33\x9b\x78\x72\x8f\xe8\xa1\x0f\x27\xe9\x96\x93\xdb\xb0\x3d\x0b\xfd\x86\x0d\xa1\x63\x8f\x40\x0b\xaf\x83\xcd\x64\x8b\x84\x2e\xac\x0b\x39\x5c\x0b\xbe\xe2\xbe\xcb\xef\x6a\x72\xa5\xa3\xee\x2c\x9a\xfd\xb5\xd0\xb2\xe8\x78\x91\x93\x01\xb5\x10\xc8\xc7\x0b\x6d\xca\x39\x76\x74\x00\xda\x01\x38\xf5\x71\x84\x10\xc9\x68\xf0\x06\xb8\x42\x6a\xa7\xb3\x14\xa6\x4f\x23\xa7\x3c\xc4\x96\xd9\xd7\x4e\x08\x70\xfc\xd3\xc8\x51\xa4\x68\x6a\x42\x6b\x4e\xe9\xf8\x51\x74\x5b\x19\x33\xff\x38\xb3\x7f\x3e\x0f\x95\x4e\x74\xf7\xb5\x0c\x8c\x0e\x2d\xb0\x19\x59\xd2\xa2\x53\xa4\x1a\xa6\x6c\xcd\x33\x27\x68\x2c\x45\xb4\x52\x7b\x57\xaa\xe0\xf6\xce\x6e\xfd\xec\xdd\xe9\xa7\xc6\xf1\xbb\xe3\x16\x33\xdb\x95\x5d\xe2\xf3\xa7\xc9\x15\x42\x2a\xc3\xff\x78\xfe\x80\xd8\xe1\xab\x81\xf6\x7a\x89\xc5\x56\x84\x69\x69\x04\x2e\x4b\x72\x93\x35\xae\x6d\x18\xa8\x50\xd3\x63\xab\x11\x81\x6b\x8e\x4a\xee\x78\x9e\x74\x32\x2d\x3d\x69\xa0\x78\xae\x78\xbc\x35\x5d\xa6\xed\xbc\x79\x94\x77\xfa\x48\xf1\xe4\x9a\x69\xc5\x0c\x77\x7a\xfa\xe6\xa1\x94\x83\x51\xbd\xe7\xdf\x2e\x8f\x12\xb7\x76\xd5\x98\xed\x65\xf9\xdd\xf0\x5e\x11\x71\xb2\xb9\x57\x49\x3d\xb7\x87\xb5\x9f\xb3\x87\x5b\x20\xe5\xae\xb5\x4c\x0f\x5b\xd4\xa8\x54\x28\x05\x49\xb0\x1a\x68\x79\x92\xd3\xa7\x06\x5f\x5b\x61\x0d\x2e\x26\x00\xfc\xbd\x11\x60\xe8\xb8\xae\x2c\x57\xa9\x70\x97\x95\x60\x6c\xe8\x46\x4c\x0b\x68\x19\x35\x98\x31\x08\xa2\x22\x12\xd4\xfd\xf8\x82\x6c\xe4\x58\x0e\x2d\x41\x26\x67\xc1\x36\x0f\x84\x84\x92\x32\xb9\x91\xf5\xab\x80\x24\x20\x75\x95\x87\x56\x98\xb0\x2e\x26\xd9\xca\x13\xb7\x7f\xd4\x39\x48\x3a\x22\xf0\x4f\x74\xf0\x20\x0b\x46\x56\x50\x16\x91\x57\xb6\x6f\x60\x00\x4b\x22\x2c\x76\x96\xad\xc5\xd3\x86\x98\xfe\x22\xbc\xb2\x48\x60\x27\x09\x1d\xb2\x6b\xb3\x3c\xb4\x07\xe3\x00\xa4\x13\x4b\xce\x3d\xc2\x0c\x0f\x42\x6f\x58\x9a\xee\x58\xb0\x14\x96\x54\x60\x71\x47\x1d\x2c\x85\x9a\x56\x34\x6b\x0e\xbd\xa5\x45\x92\x26\x35\xd4\x1d\x3d\x2c\x82\x78\x52\xfa\x16\x28\x99\x35\xff\x8d\x65\xd4\x7c\xe6\xbe\x94\xb3\x05\x15\xfd\x85\x6b\x50\x6a\x48\x86\x4e\xa2\x7c\x02\x70\x2b\x0b\x8f\x0b\xea\xba\x23\xef\xba\x6f\x39\x25\x58\x34\xf5\xc0\x72\x52\x04\xf0\x71\xf7\xc1\x8a\xe5\x67\x28\x00\x75\xa0\x07\x71\xff\x3d\xcb\xa8\x79\xaf\x41\xcd\x5b\xbc\xae\x82\xa2\xf7\x4d\x1b\x50\xf8\x0d\x1b\x10\x15\x25\xe0\x10\xf4\xcb\x51\x4b\xc0\xba\x3d\x3e\xa6\xdd\x81\x13\x12\x8a\xb4\xcc\x41\x22\x24\xf8\x79\x3a\xc4\x31\x22\x8b\xe6\x3f\xcf\xb3\x00\xe2\x49\xc6\x24\x51\x12\x6e\xcc\x09\xe2\x54\xc3\x5f\x64\x1e\x69\x42\x86\x58\xc2\x5c\xa6\x28\x93\x20\x5b\x96\xd0\xa1\x98\xdd\x81\xd4\x02\xf7\x6b\xc8\x14\x5f\x5c\x7f\xc2\xf1\x83\x2f\x12\xa2\x3b\x0b\x53\x38\xc6\x4b\x31\x3a\x1d\x97\x3c\x0a\x18\x7e\x49\x7f\x9a\x6f\x3f\x20\xc5\x57\x2b\x23\x0e\xd2\x14\x5d\x9b\xbe\x12\xd1\xcc\x3e\x2d\xca\xb7\x13\x5d\x25\x7d\xe8\x8c\x1c\x8f\x93\xe8\x81\xb0\x05\x5c\x3b\x74\x6e\xd3\x08\x93\x7b\x44\x7e\xa7\x72\x3c\x6c\xa5\x80\xe5\x01\xba\xd2\xd4\xa9\x01\x3e\x20\x40\x11\xea\x50\x97\xed\x90\xe8\x92\x1a\x97\x0d\x73\xa2\x06\x64\x3d\x6d\xbf\xa6\x4b\x62\x3a\xa4\x7d\x9e\x79\xb4\x73\x23\x1e\xfc\x7e\x90\xe6\xf7\x01\x41\x64\x8a\x6f\x96\xf4\xe4\xc5\x78\x13\xb7\xb9\x5c\x04\x0f\x5c\x69\xd9\x31\x68\xf1\xac\xfb\xe2\x3e\x81\x5c\x87\x8f\x7c\xce\x26\xea\x56\x2b\x79\x5d\x58\xa2\x4f\xd0\xbf\x93\x7a\xee\xf1\xb6\x03\x9f\x78\xb8\x91\xfc\x20\x76\x43\x22\x79\xfe\xf9\x1b\x4a\x4d\x58\xc2\x12\xe7\x3a\xa5\x09\xbc\x41\xa6\xbc\x0e\x52\xae\x78\x18\x19\x9a\xc4\x74\x01\xe6\x9c\xae\x71\x01\xf6\x41\x54\x32\xaf\x07\x71\xa9\xe5\x7b\x11\xd7\x49\xf5\x24\x2b\xaa\x07\x19\x39\xbd\x99\xc3\x5b\xe3\x61\x4c\x9d\x51\xd9\xd0\x18\xa8\x61\xb5\x44\xf8\x10\xe9\xdd\x22\x2a\x99\xcc\xf0\x8a\xf8\x74\x33\x61\x81\x2d\xdb\xab\xd3\xfb\x63\x35\x72\xcc\x58\xa6\x0a\xdb\x2a\xa5\x22\x71\xc4\x65\xc6\xbb\xd1\x02\x49\x2a\xd1\x74\xe6\x1c\xcb\x7e\x3e\x1d\x92\xc2\x3d\x2a\x2c\x53\x55\x42\x0d\xed\xb5\xa9\x2d\x73\x61\xa0\xd2\xd7\x28\xfd\x38\xa3\x02\x95\x73\x9e\x47\x4a\xbc\xd8\x05\x69\xb1\x3a\x13\x94\x4a\x39\x4c\x9f\xbe\x02\x34\xe6\xb7\xb4\xd8\x27\x0d\xfa\x77\x35\xd5\xb1\xc2\x12\xd0\x70\x2a\x79\x15\x5a\xb0\x84\xb9\xf7\xa1\xeb\xa3\x1b\xfb\x33\xe1\x8e\xaf\x95\x4c\x52\x1e\x4a\x84\x0a\x45\xf8\x47\xe2\x17\x9a\xee\x88\xc5\x88\x45\x27\x53\x83\x34\x95\x12\x56\x47\x1b\x65\xec\xe3\x8f\x98\x14\x87\x38\xf8\x53\x7d\x7d\xf4\x2e\x2c\x01\x74\xef\x17\x32\x9c\x0e\xcd\x3b\x2d\x9d\x02\x62\x81\xa9\x68\x0e\x2c\x37\x2d\xa9\x78\x50\x74\xe2\xa6\x42\x06\xa5\x59\x63\xf9\x16\x97\x34\x0b\xcb\x89\x83\x0c\xf9\x62\x40\x67\xb1\x5d\x16\x44\x49\xc5\x65\x24\xee\x37\x29\xdb\xcc\xfc\x20\xb8\x19\x40\x99\x0c\x1e\x9a\xc6\xd4\x80\x5f\x8b\x93\x00\xd4\xb7\xe1\x24\xe8\x9c\x54\x53\xe1\x78\xa3\x2d\xc0\x8b\xa6\x12\xb1\x8e\xf2\x82\x42\x67\x50\xcb\x46\x9c\xa5\x69\xc1\xe9\xf1\xe3\x0c\x55\xf1\x39\x03\x96\x09\x41\x9d\x63\x56\xfb\xa4\x57\x0c\x43\xd3\xc9\x29\xd8\x03\xae\xdb\xbe\x99\x01\xb7\x7f\x4d\x9b\xfa\xc4\x6c\x27\xb8\x64\x80\xa3\x4c\x32\x40\x6d\x33\x53\x68\xea\xda\x91\xab\x12\x06\x0b\x92\x70\xf3\x8f\x4d\x19\x36\xbc\x55\xa4\xbe\x61\x18\x9a\x56\x5d\x50\x83\xdd\xb1\xc4\x79\xfa\xd8\x4d\x96\x33\x64\xb7\x83\x5d\x62\x9d\x18\xad\x6c\x9f\xc6\x37\x67\xf7\x27\x61\xa6\x5b\x62\x75\x87\x85\x52\xbe\x87\x2d\x57\xad\xe4\x28\xb9\x3e\x16\xe2\x26\x6a\x06\x88\x7b\xc9\x59\xd7\xc7\xd1\x49\x99\xb3\xaa\xe3\xe3\x34\xf2\xff\x13\x8b\xe6\xa4\xcd\x34\x23\x0b\x8a\x9c\x66\x62\x33\x8b\xbc\x88\xe0\xf5\x8c\x16\x30\x07\x64\x56\x65\x98\x07\x3a\x3e\x29\x73\x40\xc6\x36\x31\x79\xa0\x5a\xe9\xb3\x77\xf1\xa6\x79\xbe\x14\xe0\x3a\x73\x91\xc8\x10\x53\x76\x23\x4f\x9d\xf9\x4c\x45\x99\x76\xc1\xaf\xd2\x8d\x4a\x96\x31\x5d\x64\x2f\x27\x7e\x7d\x69\xc4\x86\x5a\x2b\xb9\xe1\x6f\x52\xf1\x97\x24\xf6\x60\x69\xcb\x38\xd6\x8e\xee\x5b\x46\xcd\x7f\xed\x30\xe3\x20\xbf\x58\xd4\x9c\x4b\xff\x8a\x37\x6f\xf4\x99\x80\x8e\x0f\xb0\x95\xc7\x02\xa4\x23\x6b\x49\xf8\x8b\xec\xce\x7f\xef\xf5\x09\x87\xc9\x44\xe1\xf9\xf1\x30\xf2\xe4\x6c\xa9\x70\x20\x79\xb1\x79\x93\xce\x0a\x39\x93\x8c\x0f\xeb\x00\xf4\x15\xc0\xdc\xb1\x45\xa1\x1d\x56\x57\x55\xe2\x17\xce\xdb\x8f\x0b\x4b\x6a\x3a\xbf\x39\x4a\x8a\x88\x10\xa1\xfe\xa4\x71\xe0\xae\x65\x63\x36\xa4\x8b\xa6\x39\xa7\x9c\xc6\x70\xbf\x13\x5a\xd3\xdf\x47\xef\xe3\x78\xb5\xd9\x63\x94\x7a\xb3\x58\x8a\xa1\x70\xeb\x54\x6e\x93\x95\x03\xc1\x54\xe4\x71\x3c\xb8\xd0\x03\x42\x1c\x29\x23\x4f\xea\x27\xf2\xd6\xb3\x34\x8b\xbf\x2f\x6a\xe5\xc4\x74\x4d\x91\xe4\x1b\x82\xfb\xe8\x82\x90\x82\x23\x10\x92\x1b\x61\x54\x0c\x68\x8b\x4c\xb5\x17\xdc\x74\x9c\xa1\x0a\xdf\x84\x91\x72\x21\x8a\xf5\x4d\x98\xa2\xd8\xe1\x4a\xd1\x95\x92\xa9\x90\x48\x74\xc2\xc5\x1a\xad\x11\x92\xc4\x9a\x1a\x28\x64\xe7\x00\x75\xbc\x61\x7c\x94\xb4\x80\xa5\x88\x42\x90\x67\xd1\xfa\xe1\x17\x5f\x60\x09\x3c\x15\x8a\x85\x1f\x8a\x3f\xfc\x22\xeb\x5b\x41\x1d\xbd\xb1\x34\x61\x7a\x68\xc3\x91\xe3\x3d\x4d\xe7\x3f\x2c\x82\xdd\xf7\x5d\x65\x19\xb1\x93\x60\xaa\x27\xd8\x41\x1c\x89\x55\xd1\x15\x55\xc9\x1d\x0a\x7a\x0f\x52\xf4\x42\x7e\x39\x74\x8d\x57\x34\x45\xe2\x56\x3c\xe2\xb2\x9a\xa0\xb3\x74\x75\xd5\x29\x3b\x41\xc3\x77\x5d\x7b\x1a\x80\xb4\x75\x30\x3e\x04\x58\xf1\x86\x0d\x41\x88\xef\x7f\xf2\x98\xb1\xb1\xc3\x98\x64\x3e\xf3\x31\x47\x6b\xd4\x55\x59\x30\x11\x92\x0c\x33\x71\xf6\xd6\x70\xec\x7b\x71\xc2\xfc\x32\x4e\x94\x9f\x08\x8a\x9d\x99\x36\xb5\xe0\xce\x61\x59\x01\xed\x00\x14\x64\x90\x76\xea\x87\xd5\x30\x0a\x90\x99\xe7\x09\xa8\xe8\x61\xe6\xe6\xa0\x70\x8e\xd4\xf8\x3d\x76\x95\x26\x6b\x92\x44\x70\x26\x56\x9d\xf4\xc5\x3b\x30\x0c\xc9\x63\x05\xbb\x51\x2b\x35\x12\x03\x30\x0f\xc3\x28\xed\x7f\x8c\x66\x66\x4e\x27\xfd\x8f\x7b\x76\x00\x5c\xc7\x63\xa1\x45\xbf\x01\x69\x8a\x9d\x00\x6f\xd4\x1d\x8a\x34\xf5\x1b\xfe\x09\xd4\xe3\x46\x8e\x25\x2b\x59\x9e\x82\xe8\xf1\x42\xa9\x66\xfe\xce\x2b\x92\x6e\x46\x35\x72\xa5\x9b\x51\x29\xc9\x35\x4d\xb8\xe9\xab\xd1\x19\x02\x84\xb0\x72\xe5\xb4\xd7\xfe\x5d\xd7\xf7\x27\xe7\x36\xf4\x1c\x6f\x94\x09\xa6\x49\xfa\xf1\x10\x97\x20\x3e\x87\xf8\x15\x48\x1c\x91\xe9\x32\xcb\xfb\x67\xa6\x6b\x72\xde\x99\xe8\x55\xe9\x8e\xbc\x53\x24\xa5\x53\xee\x98\x34\x12\x41\xcf\xb5\xfb\xe3\x5a\x36\x42\xc1\x1f\x0e\x87\x95\x4a\xa5\x52\x8b\xc2\x7d\x54\x0b\xae\x0d\x47\xa0\x46\xa3\x11\x40\x7b\xe0\xcc\x82\x6a\xe1\xe5\x74\x5e\xe3\x5c\xc9\x5f\x6c\xd4\xa6\xf6\x60\x80\x63\x20\x18\xe5\x0a\x98\x14\x8c\xf2\x06\xfe\x7f\xf4\x9d\x78\x7d\x92\xaf\x90\x7a\x76\xa2\xb7\x35\x81\x83\x68\xe4\xfc\x0b\xe6\x04\x8b\x92\x3d\xf8\x3c\x0b\xc2\x6a\x01\x1d\x6a\xd1\x6b\x1c\xec\x84\x24\x40\x66\x6f\xb0\xeb\xaf\xa4\x16\x7a\x97\xad\x22\xa3\x5b\xd6\x65\x92\xfa\x80\x66\xd8\x65\xb2\xa4\x51\x2d\xea\x80\x13\x3b\x55\x69\x4f\x54\xbd\x9b\x01\xcf\x47\x98\x70\xca\x87\x20\x08\xec\x11\x38\xb4\x3d\x7b\x04\x60\x19\x82\xa9\x6b\xf7\x41\x8b\x25\x3e\x0d\x54\x9f\x87\x40\x4b\xeb\x97\x51\x8a\x6f\xd3\x30\xbe\x5f\xb0\x3d\xc5\x71\xcd\xb5\x2b\xd9\xcc\x22\x73\x65\x18\xe7\xd7\x10\x08\xb4\xf8\xac\x19\xf4\x56\x98\x81\x13\x53\x84\xda\xd1\xe0\x00\x34\x1c\x9d\x32\xce\x67\x99\x25\x54\x5d\x04\x99\x9e\xa2\x39\x25\x32\xa3\x91\x6d\x25\x67\xd9\x1f\xdf\x02\x88\xf8\x9f\xa4\x7e\x32\x5a\xf3\x3e\x79\xcd\xad\xf7\xa8\xa3\x49\xd6\x98\x2b\xb7\xfc\x9a\xe7\x6b\xa5\x57\x70\x6a\x25\x9a\x1b\xd3\x39\xbf\x5c\xe7\xf3\x12\x59\xb1\x5f\xb9\x3c\x73\x96\xa1\x60\x9d\xc9\xbd\xf3\x0b\xe6\x4b\x63\x12\xb0\xc0\x0d\xb2\x55\x27\xf3\xd1\x4f\xd5\x56\x04\xe4\x58\xce\x97\x19\xa0\xd3\x60\x0a\x01\x2a\x19\xd9\x7d\xe8\xa0\x1c\x84\xfe\xf4\x3d\xf4\xa7\xf6\xc8\x26\x87\xc6\x93\x8e\xee\x8d\x52\xaa\xc7\x27\x66\xbe\x38\x56\x3a\x6e\xc2\xd3\x37\x5f\x46\x2c\x85\xb5\xfc\xca\xcc\x42\xe0\x37\x1c\x20\x6d\x21\xbe\x5c\x96\x5f\x6c\x88\xa8\x2f\x5e\xda\x99\xf5\x9c\x58\x1e\x54\xdb\x83\x7d\x84\x1b\xae\x03\xf8\x18\x53\x78\xc1\xe8\x8e\xf8\x65\x12\x8a\x0c\xe7\xd0\x9f\x5a\x2a\x64\xba\x38\x87\x89\x5b\x9e\x55\xb8\x20\xef\x82\x6a\x2e\x18\x86\xa8\x1e\x51\x70\x38\x29\x93\xf1\x85\x71\xf2\x29\xf8\x5a\x6c\xd5\x9d\x40\x30\x16\x54\x67\x6f\xba\xa9\x22\x9a\x4e\xd3\xdb\x84\xec\x36\x96\x2a\x20\xe1\x76\x16\x0c\xa0\xa2\x7f\x23\x20\x7e\x8f\x95\xbe\x4a\x6c\xae\xa9\x91\x12\x34\x8c\xb9\xc9\x25\x66\x1c\x91\xfb\x3f\xe9\xe1\xe3\xa3\x89\x05\xe9\x32\x87\xcd\x64\x6e\xcd\x48\xb1\xec\x93\x37\xbb\xd0\x9f\x44\x79\xe5\x53\xee\xcd\x52\xe5\xaa\x3f\xbd\x27\xd6\x5b\xa7\x7e\x54\x37\x2b\x1c\x13\xe4\x99\x89\x33\xdd\x7b\x7e\xe8\xf4\x01\xba\x45\xa5\x23\x29\x70\x47\x0a\x17\x9a\x8a\xc9\xf0\x1b\xfe\xf4\x9e\x9d\xea\xa8\xdb\x98\x0a\xfc\x45\x4b\x7a\x68\x4c\x21\x50\xb4\x5a\xc8\x31\x85\xa8\x1f\xa5\xd0\xe7\xb0\x0a\xfc\x19\xec\x03\x74\x15\x48\x6d\x02\xe9\xa3\x45\xb8\xe1\xe3\x68\x46\xd9\x6d\x1c\x3f\xce\x0d\xee\xb1\x44\xcc\x8e\x44\x70\x52\xd9\x05\x5a\x77\x2c\x58\xb6\xbd\xfe\x35\xb9\x69\xea\x41\xf4\xf3\x18\x0b\x09\x74\xcf\x82\x24\x76\x03\x7e\x6d\xb3\x5f\xe4\x6d\x0d\x96\x09\xca\x75\xd7\xc5\xad\x42\xe0\xa9\xa1\xa6\xfb\x64\xc0\x59\x33\xdc\x98\xa7\xe7\x8b\x0e\xcb\x60\x1e\x02\x6f\xb0\xba\xaa\x62\x0b\x5e\x7c\x8d\x57\x1d\x3d\x88\x5f\xa9\x9e\x6e\x6b\x9a\x1e\x4a\xd9\x8f\x1c\xc3\x98\x18\x87\x44\xa0\x03\xa9\x88\x2a\x60\xe5\x6b\xce\x50\x25\x57\x1e\x7c\xb4\x71\x22\x06\x8d\x73\xf9\x63\x11\x26\xca\x41\x68\xc3\x90\x92\x0c\xb2\xdf\x08\x53\x9c\x5f\xec\x43\xa9\x75\x7c\xae\xac\x58\x10\x7b\x95\x1c\xd9\x13\x80\x25\xed\xca\x1f\xe2\x48\x82\x16\xf7\x7c\x75\x55\x69\xbf\xaf\x1f\xe1\x67\x5c\x77\xe3\xd7\x2a\x4c\xbc\xc1\xb1\x23\x20\xb8\x75\xfc\x59\xd0\x76\x7a\xae\xe3\x8d\x6a\x1a\x2e\x92\x7c\xa8\x87\xc5\xac\x8b\x6f\xec\xe2\x02\xa9\xf3\x73\x5e\x19\x50\x06\xde\x00\xb7\x59\xc2\x5f\xe9\x14\xe0\xfb\xa7\xa2\xae\xb3\x52\xbf\x93\xbe\x7a\x60\x1e\x26\xfa\xc9\x3d\xd0\x83\x65\xfa\xe8\xf1\x01\x38\x68\x8a\x69\x32\x5c\x2d\xff\x2e\xd2\x54\xe8\xb8\x1f\xfc\x93\xa2\xa9\xb1\x58\x21\x9c\x23\xb5\xe3\x8d\x54\x4f\x0f\xf5\xa4\x13\xbb\xa7\x95\x82\xdc\xad\x50\xb0\x32\xe4\x5e\x6f\x89\x39\xac\x6a\xd4\x65\x93\x31\xe9\xc2\xad\x55\xee\x15\x46\x4f\x89\x74\x3a\xc2\xf4\x3e\x2a\x56\xc9\x14\x95\xb9\x22\x09\x3f\x2f\x6d\xcf\xeb\x9c\x46\x19\xe5\x85\xf9\xa7\x52\x49\xe7\xbf\xd5\xaf\x99\x1a\xac\xfa\xc9\x16\x49\xc9\x28\x81\x26\xce\x73\x4e\x82\xa8\x4b\xd0\x9d\x02\xef\x0c\xba\xa2\xcc\x53\xfd\x6b\xe8\xa3\x59\x99\xf8\x59\xee\x41\xff\x2e\x00\x70\x33\xf9\x13\xc3\x39\xb5\x7b\xea\x97\x19\x74\xab\xe0\x49\xab\xd2\x5a\xe8\xb9\x0a\x74\xe5\x53\xcf\xb5\xbd\xb1\xa2\x2d\x88\x8b\x83\x8a\x93\xe1\x07\x83\x33\xe8\xca\x84\x92\x82\x49\xe2\x0c\x55\x9a\xd9\x0f\x3c\x3e\x26\xed\x53\xc0\x7c\x6a\x7b\x83\xf8\x10\xc8\x3d\x20\x18\x03\xa5\x4a\x9b\xd2\x34\x6d\x75\x75\x45\x05\x54\x1c\xff\xa6\x62\xac\xbf\x7c\x7c\x04\xe5\x00\xd8\xb0\x7f\xad\x3e\xbb\xfc\x18\x7c\xbc\xfc\x78\xa5\x6a\x5f\x9e\x5e\xbf\x51\xbe\xfb\xf8\xf1\x57\x3f\x5c\x3d\xd3\xde\x58\x86\x46\x02\xfc\xb0\x82\xca\xaf\x2e\xed\xd2\x43\xbd\xd4\xbd\xa2\x9f\x46\xe9\x55\xb1\x5c\xba\xfa\xbe\xfa\xec\x99\xa2\xbd\x36\x34\x26\xfe\x24\xa1\x09\x54\xa5\xaa\xe8\xa6\x76\x69\x5c\x11\x71\xa8\x32\xb1\x1d\x37\xf4\x95\x6a\x52\x94\x07\xd0\xd1\x1d\x4e\x11\x8c\x22\xa0\x57\x11\x32\xc6\x68\x8d\x48\x27\x2d\x09\x36\x9a\x11\x49\xa1\x6b\x8f\xdf\x07\x41\x00\x06\x5b\xf7\xac\xe2\x5b\xdb\x1b\xb8\x00\x7e\x62\x1a\x5f\x7a\x5b\x05\x43\x60\x87\x87\x71\xda\xba\x80\x4d\xed\x64\x36\xbb\x95\xfc\x6c\x76\xe4\x1c\xca\x69\xd5\x5a\x31\x74\x50\x66\x81\xf2\x5a\xfe\x9d\x15\x49\x2e\x54\x50\xee\x63\xae\xff\x22\xcb\x7a\x0b\x74\x06\xda\xb3\x05\x62\x0e\xba\xd2\x8b\x26\xd7\x20\x35\xa5\x8d\xda\x64\x4d\x7e\x58\x04\x8c\xe8\x78\x8b\xa6\xbe\xc2\x5f\x32\x2d\x0b\x94\xd1\x10\xac\xae\xa6\x9b\x78\x23\x56\x12\x2f\xd2\x31\xae\xae\xae\x20\xd6\x3f\x41\xa1\x92\x69\x2d\x32\x8f\xcb\xb6\xbf\xa8\x12\x51\x6f\x6c\x2e\xd2\xf8\x60\xcd\x51\xf5\x67\x54\x20\x69\xba\x90\x7c\x2a\x28\xdb\x6e\x78\x00\xee\x1f\x1f\x57\x42\x96\xd1\x2b\x3b\x25\xd1\xec\x61\x5a\xa2\x74\xb6\x78\x75\xc5\x88\x8c\xb3\x84\x55\xcd\x34\x13\x9a\xdc\x3a\x22\x76\xee\xd4\xdf\xf1\x06\x7c\x10\xe3\x4c\x43\x26\xe2\xb1\xd2\x12\x05\xb4\xa7\x6b\xdc\x2c\x4a\x44\x7d\x03\xde\xc8\x1e\x81\xc1\xe3\xa3\x68\xf6\x6c\xca\x22\xd6\xb1\x6a\x71\xb7\x65\x31\xf6\xd0\xc5\x37\x5e\x3e\x1b\xdc\x75\x57\x5a\x05\x5f\x7a\xa3\xf9\x4f\xeb\x68\x55\x2e\xd6\x1d\x37\x3c\x5f\x47\x39\x31\x71\xae\xe3\xb8\xc8\x2a\xa0\x7a\x4b\xc4\x8e\x45\x81\xf4\xe2\xf6\x22\x56\xe1\x98\x9e\x27\xe9\x00\x39\x5f\x79\x28\xc4\xac\xc7\x12\x4c\xbe\xc6\x62\xfc\xc5\xf8\xac\x00\x12\x78\xea\x00\xdc\xe3\xb9\xda\x0f\xa1\x8b\x27\x2b\x28\x4f\x40\x68\x1f\x80\x7b\x66\xce\x5a\xc8\xd3\x66\xd3\xad\x9c\x57\xea\x67\x5e\x5a\x99\xb0\xc8\xa9\x43\x35\x63\x60\x86\x79\x5a\xe1\xa2\xc2\xf5\xc9\xe6\x8d\xb6\xc2\x06\xea\x15\x4e\xd4\xbb\xba\x5a\x41\xc5\x48\x56\x61\xd4\x0b\xf2\x8d\xae\xf0\x74\x42\xdf\x28\xb3\x23\xbe\x50\xab\x5a\x32\x3b\x2d\xe2\x29\x95\x86\x3f\x73\x07\x05\xcf\x0f\x0b\xb8\x4c\x61\x62\x7b\x33\xdb\x75\xef\x0b\x83\x19\x28\x84\x7e\xe1\x0e\xf4\x0a\x10\x20\x0e\x14\x53\x3f\x88\x37\x82\xd9\x94\xc3\xd8\x88\xb1\x12\x4e\x82\xb4\x2d\x5c\x6a\x1e\x66\x35\xab\x4b\x5f\xec\xb8\x69\xbf\x12\xa1\x13\x61\xc8\x1e\xa1\xdd\x69\xe1\x0a\x5f\xb8\x98\xcd\x25\x16\xb3\x42\xee\xcd\x09\x8b\x1e\x1c\xa5\xb2\x0e\xa1\x7f\x87\x18\xc6\x4f\xa9\x69\x99\x64\x1d\xed\xe9\xd4\xa5\x36\x7c\x44\xb7\xc5\x88\x97\xca\x46\xaf\x6a\xab\xab\x0a\x0e\x9b\x1e\x0d\x43\xd2\x25\x2e\xc3\xd8\x62\x2c\xb6\x81\x1b\xda\x2a\xd0\xa8\xb5\x7b\x30\xb1\x61\xb8\xeb\xfa\x3e\xdc\x76\x6e\x9d\x01\x20\x76\xcf\x76\x2f\xe0\x9d\x06\xf3\x8f\x69\x3d\xb0\x94\x3f\x38\x56\x8a\x2a\x7c\x6d\x6c\x2a\x5b\x4a\x55\xa9\x2b\x54\xd0\xe7\xf8\xe5\x00\x78\x03\x16\xd5\xa9\x0c\xc1\x14\xd8\xa1\xea\x6b\xa2\x9d\xe6\xe9\x49\x30\xaf\xbe\x62\xda\xe4\x1d\x20\x72\x53\x48\xba\xaf\x25\x38\x30\x69\x51\x3e\x38\xb9\x2c\x0f\xa9\xc8\x72\x81\x06\x61\x07\xb2\x88\xb1\x2b\x34\x65\x3d\x01\x23\x35\xe7\x94\xa1\x45\xe4\x9a\x9f\x04\x71\x31\xbf\x3e\x0d\x84\xef\xe1\xfd\xe3\x93\xc8\xa1\x1a\x8b\x9e\x98\x62\x4b\x7d\xf6\xd1\x7b\x36\x9a\xe8\xca\x47\x88\x86\xdb\x12\x5e\x80\xc2\xb4\x11\x58\x0f\xda\xfd\x31\x08\xc1\x80\xee\x66\x6a\x68\x29\x7f\x70\x59\x31\x8c\x5f\x2b\xc5\xb0\x88\xbf\x9a\xbf\x56\xe2\x4b\x16\x37\x7d\x72\xae\x7e\x0d\x7f\x7a\x2f\x18\x90\x59\x00\xe8\xec\x22\xc9\x7e\x51\xb1\xc7\x47\x55\xa0\x53\x48\x6f\xdd\xb2\xdd\x87\xdf\xc2\xe5\x82\x4d\xdf\xa3\x29\x38\xb3\xd7\x28\xce\xf9\x21\xb3\xba\xa2\x9c\x02\x34\x5f\xe6\x72\x9c\xed\xe3\xa3\x41\xfd\xe8\x32\x6b\x59\xde\x82\xdc\x54\x51\xb8\xc4\x1f\x1f\x8d\x1a\x76\x4e\x00\xaf\x2d\xe3\xf1\x31\x7c\x8d\x2f\x55\x64\xb3\x91\x65\x38\x7d\x7c\x94\xe6\x32\x4d\x98\x66\x46\x99\x69\x19\x32\x29\x75\xbd\x6a\xae\x2c\xb2\xda\xe0\xd4\xa2\x3a\xa4\xab\x88\x93\x3f\xa8\xb9\x81\x9a\xf3\x17\x89\x7c\xca\x71\xc6\x72\xf2\xc8\x45\x9c\x89\xdb\xe6\x57\x1a\xf1\x3c\x3e\x2a\x86\x9c\x73\xa7\x12\xf7\xcd\x85\x06\x86\xcc\x3c\x50\x68\x76\x97\x61\x59\x26\xf7\xc7\x89\x9e\xf1\x26\x59\xf8\x49\xe3\xbe\xef\x82\x4f\xe8\x32\xcc\x38\xf6\x5c\xe3\xc6\xdf\x45\xdb\xe6\x55\xca\x34\x5f\x08\x5e\x6e\x45\x9a\x4e\x6d\x22\x13\x16\x45\x8e\x1d\x99\x5c\x28\x52\xa1\x57\x4e\xe6\x93\x25\x5b\x11\xa4\x4c\xc9\x49\xe1\x24\x3c\x28\x32\xb3\x51\xec\x54\x20\x0a\x7d\x4d\x61\xaa\xda\x13\xe7\x5e\x91\xad\xca\x72\x2e\x3d\xe9\x4e\x19\x86\x03\x30\x55\x15\xd7\xe9\xd1\x3d\xff\xec\x74\xf7\xa5\xa2\xf1\x18\x37\x8f\xb3\x9d\x67\x77\xde\x28\x10\x1f\x93\x23\x37\x8f\x89\xa2\xe9\x29\x09\x61\x29\xc5\x7e\x12\x72\x42\xcc\x98\xf1\x10\x4e\x80\x24\xfa\x98\x5d\x68\x27\x22\x9f\x20\x90\x4c\x06\x8f\xf3\xe6\xe1\x02\x6a\xb2\x15\x3d\x1f\x32\x4e\x8d\x4f\x5e\xbc\x87\xfe\xd0\x11\x4d\x37\x0e\x63\x10\xd2\x52\xe9\x51\x4f\x00\x9d\xce\x82\xeb\xec\xd1\x42\x70\xe4\x6a\xa4\x30\x8d\xc4\xca\x20\x3a\xa6\x1b\xf6\x34\x9c\x41\x30\xf8\x94\x3c\xbd\xa3\xc7\x3a\x0b\x0a\x46\x62\x2d\xd3\xa3\x31\x7a\xa0\xe3\xb8\x3e\xdc\x3b\xf6\x8b\x72\x77\x6c\x3c\x53\xbd\x74\x7c\x3d\xf3\xc4\x02\x3a\xc8\xe9\x70\x32\xe2\x62\xb6\x76\x7a\x0a\xe5\x0d\x08\x63\x28\x12\x03\xc1\xee\x45\xae\x3f\x52\x95\x33\xef\x1a\x0b\xbd\x06\x85\xb8\x34\xc9\x9f\x2c\x87\x2b\x97\x3f\xa7\x40\xfb\xbd\x00\xc0\x5b\x00\x07\x85\xce\x69\x61\xcc\x6a\x20\xf0\xfb\xed\xe3\xa3\x32\x91\xf5\x3b\xc3\xfb\x8c\xf0\x38\xd5\x5c\x2a\xdb\xb7\x34\x38\x38\x22\x4d\x0d\xd6\x34\x98\x18\x4a\x40\x52\xfe\xd2\xb1\xd3\x79\x4d\x4e\xf3\xf8\x13\xb3\x08\x4f\xb6\xb1\x60\x11\xa5\x8b\xa7\x30\x92\x57\xc4\x01\x8b\xd0\xb6\x21\x34\xe9\xe7\xc7\x99\x70\x02\x24\xf3\x35\x9f\xee\x1a\x87\xfe\x25\x39\x53\x1c\xcf\xee\x87\xce\x2d\x28\x34\x8f\x0b\x7e\xef\x33\xe8\x87\x65\xa5\x96\x06\xc4\x25\x4c\x5b\x80\x96\xeb\xfd\x3b\x42\xac\xa8\x7c\x84\x38\xce\xba\x7c\x51\xe0\x78\xc7\x8b\x88\x6a\x3e\xcf\x6e\x38\x11\xc1\x55\x87\xdb\xb4\xf3\x27\x1c\x6e\xcd\xf5\xf2\xdb\xc3\xd4\x92\xb6\x48\x68\x29\x68\x33\x71\x8a\x60\xfb\x99\x80\x9e\x20\xbc\x8a\x4d\x90\x98\x2e\x4a\x0b\x46\x0f\x91\xd8\x0c\xa7\x8d\xd5\xe5\x64\x5f\x68\xb7\x1a\x9f\x68\x18\x3f\x7a\xaa\xc5\xf9\xe4\xf2\x8a\xc5\xd0\x48\x81\x44\x28\xc0\x34\x24\x69\x11\xaa\x20\x88\x5d\x30\x2d\x05\x8e\x7a\x6a\x65\x63\x43\x2f\xb0\xff\x69\x4a\xa2\x6c\xec\x49\x4a\xca\x1a\x7a\x01\xfd\xc7\x4a\xf5\x7c\x37\x96\x45\x0c\x6d\x34\x0b\xd8\x2f\x27\xb4\x5d\xa7\x1f\xfd\xec\x91\x64\xae\xf4\xd7\xcc\x1b\x00\xe8\x3a\x1e\x17\x5e\x38\x84\xce\x18\xa0\x59\x3b\x1b\x5d\xc7\x40\x3c\xec\x96\xc6\xff\xa6\x9c\x12\x7b\x92\x8a\x52\xcc\x87\x23\x66\x1c\x9f\x0b\xb6\xed\xd0\xe6\x22\xf3\xf6\xb9\xa4\xae\xdc\x63\x41\xc2\xd7\xa7\xcc\xd0\xf3\x11\xeb\xb0\x28\x77\x0b\x93\xc0\x58\xae\x60\x3d\xd8\xc2\xc6\xaa\x0b\x2a\x24\xc6\x8e\xf8\x5c\x13\x33\x0d\x6f\x36\x51\x15\xc1\x84\xe4\xea\x72\x73\xc7\x52\xe8\x28\x2a\x8b\x2a\xb4\xf6\xb6\xf0\xf8\xe6\x16\x0c\x44\x49\x33\x04\x0b\x20\x97\x68\x38\xce\x99\x9c\x63\xe0\x6b\x61\x65\x1e\x17\xd6\xaf\xe0\x10\x97\x29\x0d\x5c\x86\x57\x78\x92\x5f\x86\x57\x31\x27\x91\x18\xd5\xcc\x38\x97\xfb\xbe\xd7\xb7\xb1\xd1\x5e\x2e\x7e\xe2\x64\xd0\x7f\x19\x57\xf3\x5f\xea\xb5\xb7\x98\xc6\xfc\x42\xcb\xfa\x96\xf3\x2f\x1d\xba\x11\x4b\xc6\x93\x74\x01\x5d\x99\x71\xa9\x05\x8b\x36\x0a\xdb\x25\x0b\x1b\x93\x19\xea\xcc\x20\xd2\x6b\x7d\x66\xb0\x05\x05\x57\xa2\x91\x62\xdf\xf1\x40\x45\x72\x54\x3c\x4e\x51\x31\xe2\xcb\xb6\x92\x1c\xa5\x28\x0c\x19\x3f\x48\x11\x00\x32\x46\xdc\xcf\x58\x05\x18\x8f\x10\x45\x38\x1a\x9f\xd5\x55\xb4\xb2\x28\xbe\x6c\x7f\xcc\x5f\xb5\x78\xfb\x69\xf8\x5e\x68\x3b\x5e\xea\x06\xc9\x98\x10\x3e\x20\x9a\x30\x91\x4e\x3a\x11\x08\x58\xce\x24\x2d\x98\xda\x9e\x42\x62\xf3\xe1\x4b\xbd\xee\x58\x97\x57\xb5\xd4\x58\xad\x08\x96\x09\xb3\xaf\x62\x56\xb2\x71\x69\x2d\xbd\xc8\xa4\xd5\x85\xe6\xb6\xf1\x43\x0a\x28\xde\xe0\xd9\xdc\xc0\x5f\x55\x88\x4d\x6c\xcf\xa9\x63\x0d\x7a\xc8\xe4\x89\x74\x1a\xa8\x21\x5b\xb9\x51\xf8\x31\x3a\x25\x68\x5d\xea\xc9\x43\x9e\xb2\xca\x74\xa2\xa8\x0e\x4d\x82\x13\x67\xcb\x43\x25\xc8\x6b\xba\x0e\x69\x5e\x0e\x4b\x51\x12\x59\x7f\xb8\xd9\xa5\xfa\x45\x4b\x29\x44\x0f\x14\x3d\xe4\x77\x88\x28\xf6\x60\x72\xf6\x91\x4a\x38\x2b\x0f\x7d\xa6\x60\xf3\xbf\xc4\x3e\x62\x68\xba\x8f\x3b\x12\x82\x79\xb8\x4d\x32\xf4\x3a\xbe\x67\xf9\x9a\x9e\x98\x9c\x51\x3f\x68\x32\x4a\xdc\x09\xb6\xb7\x18\x7a\xc8\x6f\x2c\x26\x33\xce\x48\xcc\x5d\x0e\x06\x7a\xa4\x68\x3a\xff\xf3\x13\x35\xe0\x61\xa5\x11\x78\xf4\x9d\x91\x48\xc7\xc2\xdf\xa4\x31\x23\x82\x10\x67\x64\xe1\x52\xee\x39\x34\xc9\x50\x01\xc7\xde\xc8\x5d\x34\x13\x3b\xec\x5f\x83\x40\xba\x6a\x14\x72\xc1\x52\x2c\x0b\x15\xf7\x87\x05\xf0\xf8\xb8\x66\x59\xc4\x1c\xec\xf4\x7e\x9a\xf4\x13\xe6\x96\x17\x67\x82\x77\xef\x02\x3a\xb0\x2b\x2a\x47\xd4\xc7\x47\x10\x7d\x4b\xae\x7d\x4a\xb9\xe8\xf7\xe3\xa3\x80\x9e\xa8\x3a\xa3\x10\x05\x90\x58\x6a\x64\x55\xd1\x37\x89\x55\x94\x5e\x30\x4c\x95\x25\x5c\x21\xda\x8a\xb5\xb2\x12\x72\x6b\x84\x41\x44\x13\x78\xc5\x02\xf1\x4c\xa6\x2f\xc8\x32\x88\x6b\xe1\xd5\xf1\xf8\xb8\x92\xda\x32\x51\x01\x10\xff\x8c\x0a\x24\xe6\x27\x29\x94\x78\x94\x7f\x72\xc4\x79\xba\x03\x91\xb0\x27\xcb\x5c\x03\x19\x27\x1d\x7e\xe5\x99\x15\x17\x94\x18\x43\xa5\xcf\x2c\xe6\x65\x9c\x3e\xa2\x98\x57\x71\x92\x9b\xf0\x05\x0f\x23\x4f\xf0\xe8\x84\x61\xd6\x50\x19\x98\xa1\x04\x07\x66\x86\x9b\xee\x3e\x6b\x2f\x43\xb0\xcc\x66\xca\xb8\xe5\xc4\xa6\xca\x66\x70\xe2\x9c\xe5\x1f\xb6\xf6\xb6\x30\xb6\x82\x38\x61\xe0\xf5\xcb\x4d\x50\x7c\x59\x05\x4f\xe8\xb6\xa7\xa7\xcf\x4c\xd4\x45\x29\xda\x9a\x9e\x6d\x24\xcd\xcd\x09\x78\x80\x4d\x58\xcd\x70\x34\x97\xe0\x2a\x79\x0c\xa4\x4e\xef\x44\x6c\x77\x0e\xbc\x60\x9c\x36\xc5\xa4\xac\xa6\xaa\xa6\x8f\xcb\x98\xa7\x9a\x38\x73\x35\xd0\x53\x77\xbb\xf2\xda\xda\xda\x9a\xf6\x14\x8a\x3b\xcc\xf3\xa6\x82\x0e\xfb\x82\x0e\x87\x57\xa2\x19\xde\x67\x3b\x63\x70\x88\xb6\xca\xac\x6f\x54\x76\x87\xd4\x22\xc3\x7c\x19\xac\x66\xb4\x4f\x86\x1a\xb1\x24\x63\xdb\x29\xda\x9e\x52\x5b\xeb\x8a\x89\x8a\x88\x36\xdd\x15\x83\xda\x92\x83\x88\xeb\x08\x13\xfb\x6d\x81\xf1\x16\x8c\x96\xab\xab\x59\x76\xc1\x72\xd2\x8f\x50\x29\x8e\x29\x40\x97\xbb\xe8\x17\x7b\x47\x0e\x7d\xfa\x0a\xff\x40\x6f\x52\xa7\xa8\xe5\xa4\x9e\xe4\x11\xb8\x99\xe5\x7a\xa3\x55\xb1\xf0\x18\x12\x00\x8e\x4c\x8c\x85\xab\x2c\x3e\x5d\x36\x01\x7f\xac\xd2\x13\xb5\x9a\x4a\x7f\x95\x48\x01\x28\x69\xac\x8d\x4d\x8f\x33\xe9\xbd\x16\xb6\x48\x73\x3f\xa1\xc2\xd5\x44\x32\x28\xbe\x14\x86\x95\xdb\x70\x52\x46\xfb\x55\x6d\x63\x7d\x71\xaa\x79\x1c\x0f\x7d\x19\x0c\x04\x19\xa9\x24\x69\xc5\x2e\xaf\x74\x68\x19\xba\x6f\x19\x7a\x40\x92\x70\xe1\x18\xd3\x2c\x2e\x0d\xd9\x52\x6c\x0b\xdd\x9b\x06\xe0\xbd\xef\x78\x61\x3d\x54\x3d\x4d\x77\x2d\xfb\xb5\xf5\x7c\x63\x63\x6d\x63\xd3\xac\x56\x6a\xf6\x6b\xb3\xf2\x72\xd3\x2f\x5a\x2e\xc1\x17\xb5\x4b\x86\xc9\xd6\x5e\x5b\xe6\x26\x62\xfc\x5c\xd4\x82\xa9\x55\x55\x1f\xf3\x46\x98\xd1\xfa\x12\x84\xb0\x0a\x18\x75\xa1\xee\x6b\x7a\x44\x96\x6a\xf0\xa4\x61\xa4\xb0\x43\x43\xb6\xb4\xa7\xbb\x9a\x4e\xb8\x95\xea\x8a\xc1\xd5\x5b\x31\x9f\x10\xdf\xef\x15\x5d\xd4\x2f\x4d\xf7\x8a\x96\xcb\x92\x3d\xfa\xab\xab\xcb\x36\x1d\x8a\xc5\x7a\x3a\xfe\x31\xa4\x9f\x67\xa7\xbb\x2f\xd1\x5a\x1a\x00\xa8\xe8\xc4\xf5\xa5\xdc\x39\x2d\x37\x98\x76\xf7\xd0\x9e\x62\xb9\x4b\xe7\x54\xae\x35\xb1\x80\x1e\x5b\x71\xe0\x37\xb1\x20\x3a\x9b\xca\x1f\x17\xe0\xac\x62\x49\x0d\xa1\x45\x2c\xd5\x4b\xd9\x30\x00\xed\xd0\x0e\xc1\x27\x2a\x2f\xe9\x9c\x96\xdf\x47\x0f\xd5\xb8\xd0\x99\x37\xf6\xfc\x3b\x8f\x65\xab\x75\x81\x3d\x70\xbc\xd1\xa1\x3f\x70\x86\x0e\x80\x9f\x2c\x85\x69\x43\xa1\xed\xb8\xc2\x37\xb6\xeb\xfa\x77\xc4\x0a\x14\x0f\x3f\xb1\x34\xe1\x2c\x20\xfd\xa0\x7f\xea\x4c\xc0\x3b\x67\xe2\x84\x9f\xac\x0a\x58\xa7\xc2\x85\x70\xc8\xc8\x48\x90\x74\x78\xca\xf2\x07\xfc\xcb\x2d\x07\xcf\x7e\xe8\xbb\x11\x50\xf2\x26\x32\x71\x38\x87\x4e\x18\x0b\xf2\xc8\xcb\x6d\xd0\x37\x2b\x51\x85\x48\xf9\xbe\xe3\xf5\x7d\xd4\x47\x4b\x99\x85\xc3\xd2\x4b\xda\x8b\x89\x3d\x27\x8b\x06\xc7\x65\xf3\xfa\xc0\x32\x8d\x0a\xc5\xf4\xce\x86\xde\x99\xe7\x4c\xa6\xe4\x9e\xc9\x19\x48\xf6\xb9\x31\x0f\x62\x4a\xf3\x53\x21\x20\x25\xf7\x0c\x32\x68\x7b\x26\xfd\xac\xd0\xcf\x35\x2b\x0b\xa9\x3c\x02\xe1\xa1\x3d\x55\x95\x2d\x76\x8f\xdb\x7b\x67\x29\x7b\x4c\x33\xbd\xd7\xe2\x7e\x90\xce\xb4\xef\x83\x10\x4c\xce\xc2\xe1\xcb\x98\xee\xfc\x9b\x77\x7e\x7f\x0c\x06\xdc\xbb\xbe\xf9\xde\x0e\x43\x00\x3d\x3e\x0f\xd9\x6c\x3a\xc0\xa2\x43\x5a\x13\xcf\x9f\x48\x6c\x62\xdf\x82\x41\x7a\x4a\x11\xcd\x77\x3c\xa7\xf0\xc6\xd4\x39\xe5\x18\x52\xe1\x24\x45\xbb\x4f\x4e\xb1\xc6\xbb\x66\xe3\xc0\x32\xf3\x41\xb5\xea\x7b\xd6\x9a\x9e\x9a\xd8\x79\xdc\x36\x7d\xc3\x78\xed\xde\x6c\x68\x85\xe4\x4a\x43\xd7\x8c\x1f\x58\x74\x58\x11\x14\x56\xce\x86\xa3\xc0\xba\xbc\x7a\x4a\x37\x25\x17\x04\xb2\xb5\x8e\x1f\xe3\x0a\xbb\x11\x2b\xce\x89\x8f\xb7\x66\x43\x15\x3c\x3e\x46\x51\x6e\xf0\xc3\x3a\x1c\x61\xd1\x06\xe5\xf3\x73\x5b\x4c\x80\xce\xca\x21\x51\x1f\x44\x04\x58\x08\x77\x6b\x36\xcc\x76\x06\x91\x2b\x7b\xfc\x6f\x82\x6a\x8a\x80\x0b\xa1\x47\x3d\xcc\xb6\x81\x48\x1d\xa9\xe9\x49\x32\x20\x63\x05\x9b\x98\xa9\xd1\xfb\x4b\xe3\xca\x02\xb9\xb4\x71\x6c\x38\x92\x87\x2b\xc7\x30\x00\x4e\x6a\x14\x65\x32\x8d\xcc\xf3\xa1\x6e\x1a\x91\xc2\xd9\xb0\x2c\x67\x75\x55\x75\xac\x50\xd3\x1d\x76\x96\x84\x79\x2d\xdb\x83\x5b\xdb\xeb\x0b\x74\xe5\x53\x3f\x28\x12\x61\xb7\xac\xea\x14\x80\x71\x0b\x4c\x6c\xc7\x73\xbc\x51\x62\x00\x92\x22\xc7\xde\x6c\x18\x31\x2a\x14\x72\x2e\x31\x10\x5c\xb4\x1b\x7d\x05\x3c\xdd\xcc\x85\xd8\xf7\xbd\x60\x36\x01\x5f\x09\xb4\x58\x5c\x00\xd6\x09\x1a\x3e\xda\x60\x85\xbe\xb5\x9c\x0c\xb2\x37\x1b\xb2\xab\xff\x6c\x48\x27\x0b\x4d\x40\x35\xf5\x03\xda\x02\xb7\x2d\x65\x07\xe3\x36\xd6\xbc\xa1\x3d\x2d\x5a\x68\x5c\x25\xfe\x42\x6d\xdf\x0a\x64\xce\x24\x14\x0c\x03\x17\x9d\xea\xc9\xa4\x17\xf4\xc0\x4f\x68\x03\xb3\x55\x46\x20\x4c\xe9\x32\x34\x96\xe1\x25\xda\xfa\xa3\x5a\x7b\xef\xa2\x13\x20\x7e\xd6\x4a\x9e\x30\xf8\x19\xdd\xc8\xd8\x69\x83\x9f\xd1\xad\x9f\x9d\x3c\xf8\x59\x45\x4f\x9c\x42\xf8\xd9\x5a\x2e\x41\x68\x0c\xc0\x0c\x4d\x12\x9d\x4a\x05\x0a\x8c\x69\x46\xfb\x94\x24\x5a\x86\x02\x02\xca\x31\x9a\x70\x00\x18\x61\x18\x51\x08\x31\xe8\xb3\x16\xf7\x8c\x1d\xbd\x06\xf7\x8c\x1d\xc3\x26\xf7\x8c\x1d\xc9\x15\xee\xd9\x1a\x3b\xa6\x33\x27\x9b\x58\xfd\xc3\x1a\x5b\x74\x9e\x9b\x79\xc5\x8c\xa8\x58\x65\x39\x68\x3f\x95\x89\x58\xee\x70\xff\x1a\x3e\x34\x43\xae\x34\x7f\x2b\x54\x0c\x64\x3d\xbf\x84\xc0\xa9\x6d\x2f\xba\xc6\xd4\x12\xae\x12\xf0\xd1\x5a\xd7\x74\x35\x72\x93\xa0\x5b\x45\x34\xd5\x62\x7b\x75\x37\x6c\x06\x87\x20\xb4\x57\x57\x99\x2b\x90\x46\xea\xbf\xd4\xf4\xc8\xe1\x82\x3c\x31\x9f\x33\xd1\x38\xe1\x10\xcb\x43\xe8\x4f\xd0\xfe\xd7\xc0\x09\xea\xe3\xac\x11\x29\x9f\xa8\xe2\x5a\x45\x5f\xab\xe8\x95\x8d\x0d\x0d\x5d\x6a\x96\xad\xdc\xf2\xef\xf8\x9a\x51\x5c\x33\x6a\x2c\x8f\xbd\xf9\x88\x05\x7d\xd5\xb3\x5e\x3d\x2f\xaa\x25\xf3\x7b\x9c\xc0\x26\xb4\x2f\xde\x18\x9b\x46\xd5\xd4\x74\xef\xd1\x82\x3a\x36\x52\x3e\x54\x8a\xa2\x86\x3d\xad\xe8\x17\x03\x81\x3d\x3b\x17\xa0\x8c\x73\xf2\xa8\x12\xdf\xe0\x38\x85\x11\xf5\x9a\xd0\x2b\x5a\x71\xad\x52\x5b\xb2\xb9\x0c\xec\xd9\x54\xa9\x92\x6a\x7f\xa8\x08\x0b\x60\x07\x89\x6a\x66\xda\x89\xa6\x46\xab\xbe\x87\xc6\x92\xe0\x15\xac\xae\xaa\x9e\xb5\x56\xd1\xcd\xf8\xd1\xa6\x57\xb4\x8c\xea\x7a\xf2\x81\x59\xad\x24\x1f\x54\xaa\x5e\xd1\x5a\x43\xf7\xc7\xb5\xca\xb2\x64\x4c\x10\x8d\xf8\xf2\x54\xf1\xf7\xc8\xd5\x28\xe5\x76\xc9\x8c\xab\x00\x84\x3e\x54\x15\x7a\x07\x2b\xe0\x2e\x16\xf0\x78\x60\xc3\x2d\x3c\xe2\x3a\xd0\x9e\x98\x58\x33\x9a\xc7\x19\x1b\xf3\xcc\x72\x8b\x8c\x72\x32\x42\x80\xf4\x05\x31\xe6\x46\x29\xb7\xc8\x9c\x80\x6b\x2b\x99\xa2\xf1\x29\xad\x6a\xb5\x44\x0c\x5f\xbe\x14\x6a\x91\x09\x47\xf9\xe7\x88\xb9\x00\xd9\xc7\xbd\xd9\x30\x92\x21\xa7\xc1\x94\xfb\xb6\xeb\x92\x88\x15\xe9\xf7\x5a\xe6\x09\xe1\x79\x2d\x46\xad\x54\xd3\x96\x05\x05\x2f\x10\x5f\x6b\x01\x6a\x03\x85\x39\x13\x58\x18\x38\xc4\xb7\x08\xc7\x1c\x2e\x84\xd7\xa0\x10\xa0\xc2\x2b\x4a\x96\xcc\x84\x5a\x22\x51\x19\xb9\x5c\x5a\x96\xf8\xf2\xb9\xc9\xd1\x9a\x9a\x14\x55\x41\x06\x7a\x6c\x72\x24\x12\x9e\xa5\x4c\x92\x24\xb8\xc9\x6a\x67\xee\xe0\xf1\xc8\x67\x20\x05\x20\x8c\x6e\xcd\x3c\xa8\x38\xe4\x62\x7a\x66\xa3\x2b\xb3\xfa\x1d\xcd\xc9\x5f\xb8\xb5\xdd\x19\x28\x0c\x7d\x58\x50\xd8\x14\x2e\x01\x0a\x50\xa9\x16\xbe\x2b\x02\x8d\x2c\x1e\x27\xf0\x4b\x15\xa3\x52\x51\xaa\xdf\x74\xb7\xe5\xd7\x21\xa6\x7f\x09\x7b\x3b\x0d\xe4\xe0\x8c\x1c\x70\x46\x06\xdc\xb7\xc1\x31\x9f\x72\x2e\xd7\x19\x5a\x8b\x8a\x65\x75\x39\xc7\xc4\x16\x6f\x0c\xee\x03\x95\x1c\xd6\x0d\x53\x2b\x0f\x1d\x34\x63\x55\x60\xbd\x59\x11\x23\xfa\xf8\x08\xf0\x5c\x44\x9b\x57\x3d\x54\xb5\xd7\x66\xe5\xa5\x56\x9e\xd8\x53\x54\x47\xf9\xf8\x71\xae\x14\xd1\x91\xf4\x30\xb5\x07\x6a\xb2\x64\x39\xf4\xe9\x6e\x63\x3e\xd7\xf4\x8a\xa6\x51\xe5\x26\x73\x9a\x4a\x08\x14\xc0\x5d\xa1\x05\x46\x3b\xf3\xa9\xfa\xc3\xe5\x2f\xbe\x80\xa7\xab\x1f\xb2\xfd\x4c\x48\x9f\x92\x9b\x14\xfd\x5e\x08\xd1\xaf\x15\x98\xed\xc6\xea\x2a\xbc\x84\xe5\xbd\x77\x57\xe5\xbd\x77\x58\x17\x13\xff\xc4\xda\x1a\x18\xef\x94\xd8\x02\x10\xcd\xe9\xf8\x0e\xa8\x3b\x56\xf6\xc2\x45\xf2\xf5\x31\x6f\xfb\x74\x97\xf8\x4b\xa1\xcf\xfc\x85\x9d\x60\x6a\xa3\xe9\xaf\x34\x1a\xa6\xa2\x3b\xec\xca\x63\xe8\xa6\xa6\x03\x9a\xcc\x36\xba\x14\xaa\xa6\xa6\x55\x4b\x26\xa9\xae\x3a\xd1\x6b\xbc\xf9\xaa\xd8\x2f\x41\xe5\x40\xf8\x51\x32\x34\x49\x2b\xbe\xb8\x15\xbf\x48\x73\xd9\x64\x69\xdd\x68\x37\xc5\xfe\x51\xec\x8e\x88\xf3\xf4\x01\x7c\x43\xae\x85\x6f\x2c\xe5\x97\xca\xea\x6a\xf8\xda\x52\x7e\xad\x64\x7b\xdc\x6e\x2a\x62\x81\x21\xd5\x9f\xa7\xa5\x85\xc5\x10\x21\x2b\x12\x5c\xa0\xbe\x2b\x35\xb4\x51\x6e\x8a\xab\x6e\x8a\x6b\x55\x55\x48\xaf\x7f\x8f\x8f\x90\xaa\xf0\x15\x34\xf4\xec\xab\x56\x45\x9d\x30\x68\x27\x5e\x29\x5f\x09\x9e\x41\xdf\x44\x73\x8b\x25\x84\xbf\x2a\x5a\x61\x15\x5e\x1a\x57\x56\x88\xa1\x17\x28\xf4\x4d\x65\x75\x55\xa9\x2a\x2b\x56\xb8\x19\xd5\x93\x10\x02\xd5\x14\x12\x8e\xbd\xe0\xa6\x5d\x39\x04\x41\xa8\x86\xda\xa6\x68\x2a\x20\x8a\x56\xc5\xc8\xeb\xfc\xb4\x93\xad\xbc\xd0\x71\x69\x64\x14\xb2\x56\xc2\x44\x58\xdf\xd4\xfc\x48\x2d\x15\x6c\x61\x43\x23\x58\xa8\x1f\xe7\x66\xef\xe3\xc7\xc7\x8f\x73\xe3\x85\xf6\x4c\xc3\xab\x0b\xcf\x21\x67\xa8\x3a\xd1\x10\xa9\x0e\xa2\x9a\xa2\xe8\xce\xa5\x79\x85\x77\x88\x6d\x3b\x04\x9a\x8e\x96\x04\xd4\xbe\xa0\xb7\x45\x2b\x24\x7c\x76\x14\x49\xe6\xd2\xb8\x62\x71\x33\x42\xa1\x90\x76\x75\x55\xf5\x2d\x25\xf4\xfd\x82\xeb\x13\x6b\x77\xae\x0e\x02\xbe\x62\xe1\x07\x8e\x37\x00\xf3\xe3\xa1\xaa\xfc\x01\x8e\x33\xec\x5b\x0a\x98\xf4\xc0\x60\x00\x06\x05\x10\xf4\xed\x29\x88\xaa\xf2\x25\x35\x9d\xe1\x59\x42\x58\x13\x1c\x12\xd2\x6c\xda\x3e\x71\xe5\x29\x80\xf9\xd4\x81\x60\x80\x60\x25\x2a\x6a\xba\xbf\xa9\x26\x0c\xea\x73\x86\xa0\x5a\xb0\x7b\x3e\x0c\xa9\xf1\xbe\xaf\x23\xac\xa2\x95\xa3\x92\x5f\x58\xa5\x12\x8f\x71\x18\x75\x78\xc5\xd0\x9e\xb2\xc4\x2b\x42\x09\xf9\x36\x55\x1e\x6e\x31\xa4\x90\xe9\x60\xc4\xbb\x11\x94\x2d\x5d\x6e\xa2\xc1\x22\xa2\x99\x15\x57\x83\xba\xa9\x6d\x56\xaa\xa6\x46\xd0\xca\x70\x27\x74\x36\x67\x94\x65\x44\x26\x87\x4a\x5f\x82\xab\xcb\xf0\xaa\xe6\x6c\x3a\x2b\xf8\x77\xd9\x19\x79\x3e\x04\x9b\x78\xfe\x13\xd7\xd3\x37\xca\x5f\x53\x98\x52\x3c\xa3\x2c\xd8\x4c\x70\x23\x4a\x13\xd5\x76\xbc\x51\xe1\x65\xa9\xe7\x84\x85\x3e\x29\x54\x40\x4c\x4f\xb5\x60\xcc\x95\x62\xc8\x9f\x78\x46\xf2\xc8\xd3\xaa\x0e\x76\x72\x26\xb1\x7f\xf4\x4b\xa8\x87\x57\x34\x54\x68\x46\x3d\xb0\xba\x2a\x68\x18\x0c\x10\x4b\x5f\x54\x68\x7b\x19\xc7\x89\x50\x5b\x16\x1c\xbb\x2e\x2c\x02\x27\x62\xe3\xea\x47\xed\x66\x2a\x15\x87\x1e\x6a\x5f\xd6\x2d\x96\x67\x83\x97\xca\xc4\x69\x50\xd4\x50\xab\x56\x0c\x61\xa1\x6c\x82\x13\x35\x5c\xbe\x27\xdc\xcb\x02\xc2\xad\x70\x48\xbb\x23\xe6\x42\xb7\x77\x1a\x02\xec\x29\x1b\x1a\x47\x59\xd1\x4d\x43\xa3\x61\xc0\xcd\xaa\x4c\x02\x90\xf6\x58\xb7\x42\x3e\x38\xf7\x1a\xa9\x27\x53\x6e\x31\x91\x34\x4f\x09\xa2\xfc\x0c\x37\xcd\xb5\x4a\xf5\xa5\xa1\x25\xdd\x85\xb8\x44\xcd\xe9\x37\x41\x9c\xee\xad\x05\x46\xa8\x57\x58\xa6\x8e\x4d\x9a\xf9\xab\x65\x61\xa3\x9a\xa9\xc8\x27\xba\x52\xc3\x44\xe9\xe7\xd9\xd2\x71\xfa\x9c\x54\xd9\x17\xd9\xb2\x71\x7e\x97\x54\x59\xb3\x52\xe5\x96\x1b\x56\xb2\xa5\xaf\xa7\xc9\x34\x1f\xa9\xfa\x15\x41\x37\x92\xe9\x34\x92\xe5\xd7\x8c\x6c\xf9\x8c\x73\x63\xb2\xca\x7a\xba\x8a\x54\x47\x99\x18\xf3\x75\x39\x81\xa5\xd4\x78\x9e\x26\x5d\x34\xc1\x7a\x76\x7f\x8c\x13\xf0\xb6\x81\x37\x08\xb6\xd8\xaf\x64\x93\x26\x58\xcb\x8a\x37\x28\x27\x94\xd5\x89\x55\xe5\x22\xb1\xf4\x9c\xba\xf7\xfa\x58\xce\x86\x6d\x42\xd4\xe4\x00\x1a\x46\x65\xb9\x46\xb7\x5b\xf5\xbd\x9f\xab\x4d\x33\x33\x8c\x34\xb8\xd9\xf1\x2c\x9c\xce\xc2\x14\x59\x0c\x33\xbd\x70\x33\xb1\xd0\xd2\x35\xd6\xd2\x13\x3e\x1a\x89\x09\x08\x6d\x3c\x08\x3b\xf8\xac\xcf\x54\x7c\x55\x0d\x37\x25\x55\x99\x7b\x59\xdd\x0d\x31\x84\xf3\x6b\x3b\xfc\xc4\x2c\x15\x97\x2c\x6e\xc9\x65\x90\x51\x21\x7d\x89\x32\x96\x42\x78\x15\x45\x93\x75\x54\xd8\x7c\x66\xab\x12\x03\xff\x1a\x90\x32\x6c\xc5\xdd\x27\xbe\x19\xfc\x3a\x7b\x51\xa5\xa4\x5f\x17\x6c\x3c\x89\x94\x51\xe9\xbd\xc7\x58\x7f\x59\x4d\x4b\xac\xa9\x1a\x27\x2a\x81\x86\x53\x95\x14\xca\x6e\xbd\xe9\xe6\x44\xdb\xb6\x1a\xf9\x8d\x2f\xae\xc9\xb7\x49\xd5\x20\x6a\x72\x1b\xaf\x18\xc6\x7a\xb6\xdb\x5b\x89\x18\x13\x71\xbf\xa3\xac\x0b\xdf\x70\xa2\x6e\xef\x34\x0a\xef\xa1\x73\x6b\x87\x80\x3f\x58\xe9\xc9\x4a\xb8\x29\x5e\xb6\xc0\x14\x3f\x0d\xd3\x62\xdf\x77\xda\x8d\xe8\x7b\xa3\xdd\x8c\xbe\x1f\x73\xcf\x3b\xa7\x1b\x15\x8b\xab\x7c\xa9\x7c\x34\x94\x2b\x9e\x65\xe3\x5e\xfd\x7b\xd2\x37\x7f\x45\xb9\x92\xfa\xcb\x46\xb9\x05\x63\x75\x1d\x6e\xa7\x97\x57\x27\x4e\x5a\x1a\x5f\x83\x48\xb5\x30\xaf\xda\xd0\x87\x77\x36\x1c\x9c\xda\xbd\x76\xe8\x4f\x53\x0d\x7a\x0b\x6a\x4e\x76\x01\x18\xa4\xea\xdc\xb2\x2e\x47\x20\xf8\xb7\xc3\xdc\xb7\x30\xaf\xbd\x74\x4e\x4c\x23\xd1\xee\xbf\x2f\xa8\x8a\x55\x40\xa6\xc2\x17\xfb\x0f\x64\xc5\x8c\x44\xb1\xff\x50\x3a\x6e\xff\x91\xf4\xcd\x5f\xe5\x41\x03\xed\x0b\x6a\xda\x62\x4a\x3b\xb6\x2f\xd1\xb6\xa4\x57\x8c\x64\x97\x89\x3c\x47\xd9\x54\x12\x5d\xfd\x8f\x13\x34\xfc\xab\x09\x12\xfe\x41\x0a\x89\xa4\x78\x89\x59\x6e\x72\x6a\x6d\x55\xab\x29\x7f\xa0\xac\x58\x30\x8a\xce\x13\x5d\xbc\x77\xda\x0d\x45\x87\x44\x94\x11\x09\x9b\x25\x52\x8d\x27\x5a\x24\xe4\x11\xfd\x6b\x52\x5a\xfd\xe6\x6f\xb0\x57\x3b\xed\x46\x79\x5b\x3e\xe8\xae\xe3\x81\xec\x24\xfb\xcd\xdf\xe4\xab\xef\x7c\xcd\x9c\x49\xef\x78\x71\x72\xe4\xe4\xaa\xf9\xcd\x7f\xca\x37\xf1\x36\xb7\x09\xb6\x78\x92\x2f\x52\x29\xc6\x55\x2d\x09\xff\xef\xf0\xf0\x0f\x73\xf6\x02\xc2\x93\xbd\x13\x13\xe2\xef\xf2\x50\x8e\x64\xd4\xfe\x2f\xf8\x52\xc7\xb2\x52\x7f\x8f\x2f\xf5\x3e\x99\x02\x3a\x63\xb0\xc3\xe6\x44\xac\x63\x10\xdf\xf0\x13\xd8\xfe\x03\xbe\x85\x8e\x0c\x8f\x7f\xc8\x97\x3a\x97\x95\xfa\x47\x7c\xa9\x0f\xb2\x52\xff\x35\x5f\xaa\x2b\xa7\x72\x52\xc7\xa4\xfc\xc1\xe5\xa6\x59\xab\xf4\x93\xeb\xee\x37\xff\x0d\x07\xec\x52\xb9\x4c\x2d\x35\x01\x8d\x84\xb2\xaf\x7c\x2b\xc3\x0c\x59\x1b\xed\x66\x92\x88\x7f\x92\xc0\xe2\xe3\x47\xf9\x22\xfb\x6f\x13\x25\xaf\x72\xb7\x86\x84\x4e\x4a\x3c\x94\x2a\xd0\xd0\xfa\x47\xf5\x56\xac\x30\xde\x4d\xa8\xa5\x12\xf1\xeb\x51\x9f\xfd\x4a\xfd\x38\x28\x6a\x35\xb5\xfc\xbd\xf6\x8b\x67\x5a\x0d\x6e\xaa\x51\x11\x0b\x5e\x56\xae\xd2\xa2\xde\x63\xbc\xcd\x5c\x9a\x57\x3a\xd0\xb4\x6a\x4a\x98\x40\x75\x2a\xc7\xed\x86\x28\xfc\x02\x83\xab\x69\x4f\x4f\x39\x53\x34\x41\xbe\xff\x2e\x41\x94\x5f\x2d\x1e\xc4\x6f\x99\xe8\xff\x98\x9f\x76\x9f\x7e\xde\x16\x30\xde\x85\x0c\xde\x18\x84\x48\xa2\x99\xdc\xec\xbf\x85\xb3\x0a\xa8\x04\xad\x5a\xd8\x69\x37\x0a\xc6\xbc\x62\x14\x94\x62\x28\x3b\xc3\x9e\x78\x3c\xff\x70\x31\x9e\xca\x4b\x1c\x4c\x2e\x81\x66\xfa\x8e\x3d\x74\x5c\x57\x55\x76\xa4\xe7\x66\xa2\xcd\x3f\xfa\x56\xda\xb0\x35\x20\x50\x6c\x51\xef\x07\xe5\x99\x42\x4f\xc1\x44\xcd\x84\x7e\x23\x85\x1a\x33\x69\x08\xa9\x35\xc3\x2f\xa9\x5e\x8d\x53\x33\xaa\xb1\x2a\x30\xa1\x5d\xdf\x13\x15\x25\xba\xb9\x44\xb9\x67\x4a\x95\x35\x92\xee\x13\x6d\x74\x8f\xea\xe8\xdf\xd2\xcf\xa6\x14\x32\x53\x22\x7e\x2b\x47\x4e\xa4\x75\x68\x9e\xfc\x51\xe1\x59\xc1\xa6\xb3\x5c\x22\xb3\xfb\xe9\x4d\x2c\x68\x60\x89\xd9\xa2\x26\xf6\x03\x2d\xf1\xeb\xfb\xc4\xaf\x62\xe2\x57\x29\xf1\xab\x9c\xf8\xf5\x2c\x31\x03\xf5\x50\x3a\x07\xb3\xcc\x98\x33\x24\x92\x65\xa8\x45\x7e\x14\x42\x46\x91\xce\x38\x04\x50\x4d\xe4\x47\x14\x9a\x45\x41\xad\x16\x59\x98\x3a\x9b\x8a\x1a\x6b\xa0\xf6\x0c\xcb\xa9\x2a\x1a\x7a\xf0\xf8\xa8\x94\xb8\x17\x26\x7a\xf1\x3d\x7d\x51\xe6\x5e\x54\xd0\x8b\xa2\xb2\x82\x16\x82\xf2\x0c\x7d\x32\x19\xc1\xde\x9a\xe5\x2c\x16\x87\xba\xfe\x28\xd6\x96\x47\xe8\x16\x02\x10\x12\xad\xf9\x77\xc5\xb0\xf8\x1d\xd6\x94\x4b\x45\xf1\xfc\x08\x3e\x17\x9c\x7f\xe8\xf9\x8b\x2c\xa7\x9f\xbd\x22\x73\x70\x5e\xe6\x97\x8f\xae\xb7\x5c\x95\x57\x92\xa6\x15\x2b\xef\x22\x23\x92\xca\x1e\x80\xfb\xa9\x3d\xa0\x01\x02\x18\x94\x37\xdf\x0a\xc5\x8c\xa1\x94\x77\x85\x28\x96\xfb\x19\xc8\x54\x39\xab\xa7\xd9\x4f\xfc\x94\x03\xe8\xc6\x27\xdb\x44\x0c\x3b\x6b\x9f\x8d\xaf\x3d\x15\x85\x83\xe2\x8b\xcb\xac\x29\x3c\x01\x1e\x45\xb7\xb5\x56\xa6\xd8\x93\xac\x58\x25\x51\xec\xd7\xb2\x62\xd1\x15\xf1\xb8\xdd\x40\x5c\x8a\xd4\x91\x85\x08\xbe\xbd\x81\x7f\x77\xea\x84\x2e\xe0\x18\x10\x0e\x40\x85\x4e\x0a\x02\x2c\x7e\xbe\x7e\x25\x71\x51\x8a\x39\x28\x1a\xcd\xbe\x86\xdd\xfa\x23\x09\x3f\xd3\x78\x3d\xab\x68\xcc\x47\x34\xdf\xa0\x96\xf3\x30\xd4\x03\xeb\xf2\x8a\x3a\x3d\xc1\x5a\xb1\xe8\x31\x87\xa7\x18\xfa\x65\xe5\x7b\xef\x4a\xd3\x5d\x0b\x7f\x2b\x9a\x57\x35\xfb\x8d\xe5\xc7\xba\x4c\x65\x53\x59\xb1\xdc\x4d\xd5\x8d\x9d\x23\xe7\xa6\x79\xea\x37\xda\x6d\xd5\xd5\xb0\x86\xf1\xd2\xbe\xb2\x5c\xad\xca\x17\x81\xa3\xde\xa9\xff\xc1\x34\xf1\x4b\x54\x2a\x20\xba\x6a\xbb\xa8\xd4\x94\xa2\xab\x69\x4f\x41\x32\x55\xb9\x94\x15\xbf\x5a\xaf\x29\xc5\x80\x5a\x60\xd4\x14\xad\xa8\xfc\x15\x85\xa7\xf7\xab\x24\x5d\xa3\x7c\xfd\x5f\x7a\xfe\xe0\xbe\x1a\x11\xf7\x89\xaf\x63\xa6\x46\x59\x3e\x10\x98\x29\x60\x9b\x75\x96\x00\x21\x31\xc8\x54\x35\xad\x06\x05\x8a\x81\xd8\xf3\x14\x3b\x39\xe2\x88\xbd\x4c\xc9\x6b\x90\xc8\xec\x94\x33\x0e\xe3\x0e\x72\x68\x9a\x57\x09\x3d\x1c\xc0\x9c\x6e\xe2\xfd\xef\xa5\x1b\x5b\x49\x5f\x4d\x15\x26\xb0\xd8\x58\x40\x4c\x7a\x2f\x68\xc4\x69\x5f\x2d\xb5\xac\x3d\x73\x28\x52\x8c\x75\xb9\x34\x59\xfa\x06\x53\x91\x29\x4d\x70\x6d\x35\x27\xdb\x6d\x82\x2f\xaa\x7c\x1b\x9c\x28\x27\xad\x90\x07\xfa\x5a\xa4\x70\x32\x5f\x92\xa9\x3b\xc9\xc8\xf0\x61\xbd\x61\x00\xd0\x1d\xa7\xb0\x61\x20\x8e\x26\x20\x06\x91\x82\xbd\x65\xa3\xb2\x14\xa9\x7f\x75\xd9\x9f\x06\x86\x59\x59\x5b\xdf\x78\xfe\xe2\xea\x7b\x7c\x17\x7b\x96\x9c\x03\x34\x09\x89\x1d\xfa\x3d\x42\xfa\xec\xc0\x8b\xd3\xc9\x90\xdb\x1b\xb1\x9e\x83\xc9\xe9\xf8\xe2\xc5\x0b\x01\x7a\xb1\x4d\x6f\x66\x5a\x26\x92\x76\x90\x65\x4b\xac\x6f\xa1\xee\xd4\x54\x61\xc7\x7e\x55\xbb\x2a\xd6\x54\xf4\xf1\xbd\xa6\xd6\xd4\xcb\x8f\xc1\xc7\xf6\xd5\xf7\x9a\xb6\xf9\x8b\x67\x78\x2f\x82\x16\xea\x8d\xee\x58\xe1\xe5\xda\x95\xa6\xc7\xbb\x01\x4e\x4d\x5d\x85\x3a\xde\x15\x9c\xa7\xf4\xd8\x8a\x99\xcc\x19\x9c\xdf\x86\x85\x89\x3f\x98\xb9\x20\x35\x28\xb1\x98\xf8\x52\xf9\xa5\x92\x77\x68\x38\x58\xb3\xdc\x9e\xda\x7d\x74\x62\x38\x36\x1c\x61\xb3\x29\x2d\x86\x50\xae\xe7\x54\x27\xb3\xe9\x6c\x2a\xab\xbb\xb5\xb0\x2e\x16\x6f\x49\x6a\x37\x16\xd6\xc6\xe1\xed\x65\xd5\xb7\x17\x56\xc7\x12\x69\x49\xed\x9d\xaf\x47\x3d\xab\xd3\x90\x08\x85\xdb\xcd\xf2\xee\xd7\x52\xf5\x6b\x80\xef\xe5\xb3\x09\x89\x8a\x5c\x1b\x25\x93\x07\xf2\x76\x19\x20\x2c\xd8\x71\x12\x8c\x4e\x7f\x99\x19\xa0\x4d\xe1\x16\x11\x55\xad\x91\x50\xd4\xc4\x12\x3f\xd4\xcd\x74\xa7\xd3\x69\x55\x6a\x71\xa0\x4a\xa3\x06\x5f\x87\x35\x58\x2c\x6a\xcb\x29\x11\xda\xcd\xf2\xbe\x15\x2f\x93\xcd\xfd\xcc\xbd\x28\x25\x43\x42\x9b\x90\xb1\x62\xc1\x4d\xd3\xb2\x60\x4a\x4d\x09\xa0\x1d\x80\x7a\xcf\x47\x6c\x7b\xb5\x92\x7d\x4f\x95\x57\xd5\xb5\xd8\xf6\x39\xf3\x4e\x00\x71\x0b\xb8\xfe\x5d\x02\xe5\x03\x1e\xe5\x83\x9f\x8c\xf2\xa9\x8f\x97\x00\xc1\x39\x8d\x18\x2e\xf1\xce\xf1\x80\x18\xb9\x53\x9f\xac\x3e\x1e\xbd\x77\x0b\xb7\x1a\x04\x2f\x90\xad\xb9\xc3\x9c\xea\x24\x64\x73\x6e\xf5\xf7\x0b\xab\xa3\x8b\xac\xb4\x7a\x3b\xa7\xfa\x2d\xb5\x74\x90\x6f\x75\xa7\x29\xb9\x0e\xe7\x43\xf9\xda\x32\xd3\xb4\x65\xf0\x72\xb6\xbf\x4b\xe5\xcd\xa9\x50\x7e\xda\x6e\x96\x3f\xe4\xa0\x9a\x18\x1c\x09\xb2\xdd\xdf\xfb\x32\xec\xd9\xfd\xb1\x64\x1d\x5e\x2a\x3f\x44\x5a\x23\xb4\x79\xc5\x68\xda\x5f\xb1\x8f\x2d\x50\x70\x14\x25\x94\xe8\x89\x09\xdc\x17\x8c\xe6\xa5\x71\x85\x97\x53\xf4\x2b\xed\xd4\xb4\x48\x50\x8f\xc7\xb4\x9f\x7f\x1e\xa7\x41\xbc\x31\x6a\x95\x8d\xe7\x35\x23\x01\xa6\x2c\x48\x4a\x9a\x50\x88\xd3\x4c\x9c\x84\x04\x2d\xff\x4e\xbe\xcb\x0f\x63\xc2\xbf\x8d\x9f\x8e\x96\xe9\xfe\x26\x8e\x38\x12\xbd\x12\xec\x6a\x75\xd7\xa5\xe3\x1d\x64\xf6\x10\x92\x2f\x87\xbc\xad\xd3\xc1\x52\x57\x12\xb8\x5d\x4b\x2e\xa5\x46\x2d\x7c\x9d\x58\x60\xb5\x90\xcd\x37\xce\xb2\x8e\x31\x75\xe1\x15\x67\xf6\x48\x36\xce\xeb\xb4\xba\x61\x49\xd0\xd4\xea\x4d\x06\xb9\xec\xf0\xbb\xb3\x23\x5b\xbc\xee\xcf\xd6\x2d\x33\xd9\x2d\xf7\xe7\xeb\x56\x62\x1c\x26\x32\xdd\x4c\xc8\x47\x54\xe1\xf6\xbb\xb0\x58\x79\x7c\xdc\x88\xa6\x4a\x58\x34\xaf\x36\xbd\x99\xeb\x56\xe9\x34\x0c\x8b\x15\xdd\xd0\x9e\x22\x48\x30\x07\xd2\xc6\xe3\x63\x45\x00\x09\x47\x3f\x52\x8a\x09\x80\x45\xa5\xa0\x73\x8f\xd6\xb2\x8f\xd6\xf1\x23\x4d\x79\xe2\x84\x92\x79\xf2\x0a\x12\x8c\x88\x43\x28\x26\xaa\x6f\x19\x35\x3f\x45\x54\xbf\x58\x64\x71\xa0\x68\x93\xbe\x6e\x60\x20\xc1\xeb\x35\x43\x33\x2c\x2b\xd8\x74\x98\xd8\xaa\x6a\x92\x9f\x24\x26\xa8\x81\x8e\x60\xf4\x93\xc5\x16\x44\xbc\x02\xfa\xcd\xe2\x82\x1a\xd5\x75\xf2\x80\x8f\xf4\x57\xdd\xa0\x30\x48\xb4\x50\xa3\xfa\x82\x56\x62\x71\x40\x8d\xea\xcb\xe8\x09\x8b\x04\x6a\x54\x5f\x91\x67\xe9\xd8\x7f\xd5\x0a\xc6\x41\x75\xa2\x38\xa5\x11\x3a\xa6\x56\xad\xa4\x10\x32\xab\x95\x2c\x46\x66\xb5\x92\x44\xc9\xac\x56\xd2\x38\x99\xd5\x4a\x16\x29\xb3\x5a\x41\x58\xe1\xa8\x80\xe9\xd8\xa6\x24\x67\x58\x01\x93\x71\xc3\xd0\x08\x39\x5f\x6a\x4e\x36\xee\x67\x50\x5a\x33\xa2\xc2\x6b\xa8\x15\x54\x9a\xa6\x86\xf4\x2c\xa8\xfa\x9a\x26\xaa\xe7\xb0\x78\x59\x3a\xff\xd2\xf2\x74\xbf\x68\x6d\x44\x19\xcb\x88\xf7\xbb\x6a\x5b\x38\x07\x91\x46\x2e\x69\xce\x50\xf5\x8b\x56\x45\xb7\xdf\x30\xd9\x05\x8b\x76\x4a\x67\x4c\xdf\xf7\x42\xc7\x9b\x81\x9a\xa0\x5d\xfb\x29\x42\xf6\x15\x46\x56\x86\x1a\x0d\xd4\xc5\x11\x62\x1d\x11\x20\x13\xcf\x34\x28\xad\xc7\x04\x58\xc7\x04\xf8\x42\x5c\x46\x51\xdf\x6b\x11\x31\x3c\x51\x65\x9e\x0a\x5c\xc0\x30\x9e\x0a\x44\x40\x17\x72\xb0\x2c\xcb\xfe\x06\x4a\x64\xda\xb6\x9f\x28\x29\x64\x68\x25\x28\x10\xbc\xb1\x5e\x19\xab\xab\xc1\x6b\xeb\xd5\x8b\x4d\xe1\x3c\x78\x65\x14\x5f\x56\x83\x37\x96\x69\x90\x72\xa6\xf1\x02\xcf\x2d\x01\xc5\x4c\xc3\x28\xbe\xd4\x9e\x1c\x3e\x5a\x60\x96\x9d\x48\x8b\xcb\xd2\x17\xb2\x51\x56\x14\xa5\x69\xac\x4f\x49\x49\x35\x61\x04\x26\xb2\xf3\xc1\x4b\x7b\x64\x6f\x70\xe7\xac\x96\xcf\x2f\x18\x9e\x12\xaf\x96\xe7\x7c\x3d\xde\x47\x34\xcb\x26\x21\x1e\x41\x2b\x9a\xcc\x59\x34\x87\x8f\x32\x6b\x0b\x38\x16\x9c\x89\xa9\xa6\x14\x61\x51\x69\x29\x49\x59\xc4\x1b\x4f\xd2\xe7\x4b\x65\xd3\x4b\x1d\x5e\x7f\x59\xf0\xc7\xc4\x34\xf9\x21\xd8\x5c\xc8\xf5\x99\x9e\xa2\xe1\x8d\x70\xf9\x3a\x15\x52\xe7\xf9\x57\xb5\x53\xa9\x99\x35\xa3\x86\xc6\xbc\xba\x91\xc7\x8c\x65\xab\x6e\x18\x5e\x8a\x2f\x9d\x4a\x87\x66\x65\x2a\x50\x4e\x88\x35\x32\x81\x3f\x0c\x5b\xe9\xb9\x5e\xfe\xc5\x54\x36\xe8\xbf\x90\xb6\xfa\x9d\x32\xfd\x4e\xb2\x3e\x6e\x24\xd0\x0a\x37\x4a\xae\x04\xb2\x66\x60\x7d\xa1\x69\x59\xcc\x2c\xf5\x9b\xe4\xa5\x32\x41\x0c\x31\xb1\xc7\xc9\x48\x2b\xbf\xdb\x26\x4c\x0d\x4b\x12\xbe\xb1\x89\x58\x84\xbc\x44\x4f\xd6\x7f\xf7\xcd\xa0\xde\x6c\x7c\x3b\xc1\x76\xea\x87\xcb\x74\xe4\xf9\xef\xb4\x05\x33\x63\x1d\xc4\xa4\xb4\x04\x52\x01\x47\xa1\xac\x62\xd3\x94\x27\x7e\x92\xdf\xc8\x26\x39\x94\xce\x64\xb4\xc7\xa1\xdd\x81\xd3\x92\x19\x57\xba\x69\x68\x25\x93\xc4\x80\x72\xb0\x98\x99\x7f\x6f\xf2\xef\x6b\x99\xae\xa4\x9c\x5e\xa0\xee\x48\xfb\x1b\xc9\xfb\x0c\x3d\x75\xa7\x82\xb2\xe3\xec\x17\x50\xfc\x3c\x58\x5e\x05\x4e\x5a\x08\x64\x2d\x84\x92\x86\xc5\xcf\x2f\x95\x37\xa1\x74\xaf\x2b\xc8\x5e\x95\x67\x5f\xa5\x81\x27\xc0\x66\x52\x9a\xdc\x4a\xda\xff\xee\x4e\x56\x65\x2e\xa9\xf1\xfd\x5c\xda\x88\xb8\x4a\xf9\x21\x7d\xce\xae\x24\xef\x38\xaf\x4d\x2d\xbb\x77\x3a\x43\x15\x6d\x9f\x34\x17\x3a\x5f\xba\x42\xad\x41\x6a\x8b\xb5\xbf\x51\x5e\x0f\x0a\xd7\xbc\xa2\xc7\x2b\x36\x5c\xca\xf2\x5c\x72\x00\xd8\x95\x21\xc1\x5b\x7c\xf7\x20\xa5\xc3\x83\x8c\xd8\x5f\xa4\xf3\xe0\xbb\x47\xf9\xab\x27\xf9\xab\x5f\xa7\x5e\x25\x62\x58\x0e\x99\xfa\x94\x8f\x4a\x28\x0e\x94\x17\xf4\xa1\x83\x93\x00\xb2\x00\x59\x7b\xef\xb8\xe8\x80\x23\x77\x62\x4f\xb7\xec\x00\x7c\xe2\xc3\x52\xc7\x31\x0c\x78\xf8\xa9\x90\xd4\xd9\x5c\xf1\x29\x88\xab\xab\x2b\xc9\x18\xe6\xac\x65\x3e\x65\x1e\x2e\xfe\x89\xd8\xf9\x24\x9f\x43\x40\xb3\x3f\x91\x22\x16\xd8\xa4\x01\x12\xec\x20\x70\x46\x9e\xfa\xe5\x29\xdd\x05\x1d\x50\xc9\x50\xfc\x88\xc6\x4a\xe7\x43\x2b\x70\x30\x97\x0a\x93\x90\x76\x1a\xd5\x6a\x31\x82\x7c\x58\x04\x05\xb1\x7b\x51\x04\x85\xa2\x72\xa5\xe8\xca\x88\x0b\xd3\x84\xda\x01\x51\xce\xd2\x18\x86\x0e\xac\x37\x1c\x4e\x44\xfb\x9d\x4b\x7d\x71\x94\x2a\x52\x7d\x85\xda\xe2\xf3\xc3\xf0\x15\xe3\x0a\xc2\xe3\x5b\x00\xa1\x33\x10\x65\x39\x22\x20\xc0\x02\x18\xb9\x29\x5e\x52\xd5\xd4\xf4\x24\x4d\x0f\xa9\x96\xc8\x5b\x20\xef\x62\x12\xf5\xc4\x18\xeb\x40\x80\x6f\xf6\xc4\x98\xd8\xd3\xe0\x93\x95\x2d\x58\xa6\xf7\xb8\x38\xec\x27\x2a\x49\x97\x4c\x54\x51\xd4\x04\x47\x13\x62\x9f\x26\x0d\xd9\x82\x41\x94\xaf\xed\xe0\xf8\xce\x7b\x0f\xfd\x29\x80\xe1\xbd\x0a\x68\x88\x00\xfc\xf2\x12\x5c\x55\x89\x69\xdb\x82\x96\xec\xc1\x40\xb2\x15\x90\x0e\x5a\x56\xb2\x0f\x51\x8a\x6f\xfc\x56\xbc\xc2\xa2\xc2\x4c\x75\xc8\x50\x8a\x6d\x8e\x25\xd8\x88\x67\x2a\xae\xbe\x62\x2d\x20\x76\x12\xb3\xfc\xb2\xa2\x29\x19\x2c\x3d\xaf\x7f\x16\xca\x24\x13\x15\x25\x33\x60\x53\xf3\xc4\x90\x33\x4f\x84\x9b\x1c\xf4\xcb\xf0\xca\x82\xc9\x08\x81\xec\x79\x72\x5e\xe3\x50\xea\x74\x93\x23\x23\xad\x86\xba\x78\x65\x29\xb3\x00\x40\xc4\x25\xea\xa4\xd2\x93\x90\x44\x1c\x0d\x63\x6f\x2f\x59\x89\x4b\xe3\x4a\xb2\x8c\x95\x11\xb4\xa7\xd7\x4e\x5f\xd1\xbf\x28\x3f\x28\x55\xe5\xb7\xff\xf0\x6f\x29\xba\x5d\x55\x7e\xfb\x0f\xfe\x2b\x45\xef\x55\x95\xdf\xfe\xbd\x3f\x56\xf4\x3e\xfa\xfc\xdb\x8a\x3e\x40\x9f\x7f\x47\xd1\x01\xfa\xfc\xcf\x14\x7d\x58\x55\x7e\xf3\x2f\x15\x7d\x54\x55\x7e\xf3\xaf\x14\xfd\x1a\x3d\xfd\x53\x45\x77\xd0\xe7\x7f\xae\xe8\x9f\xab\xca\x6f\xff\xfe\x3f\x52\xf4\x31\xfa\xfc\x7b\x8a\xee\xa2\xcf\xbf\xad\xe8\x13\xf4\xf9\xf7\x15\xdd\x43\x9f\x7f\xa1\xe8\x7e\x55\xf9\xed\xdf\xfd\x3f\x15\x7d\x8a\x3e\xff\x8d\xa2\xdf\xa0\xe7\x7f\x5d\xd1\x21\xfa\xfd\x17\x8a\x1e\xa0\xcf\x7f\xab\xe8\x21\x7a\xfe\x27\x8a\x3e\x43\x9f\x7f\xaa\xe8\xb7\xe8\xf3\xcf\x15\xfd\x0e\x7d\xfe\x0b\x45\x9f\xa3\xcf\xff\x44\xd1\xef\xab\xca\x6f\xff\xf8\x4f\x15\xfd\x01\x7d\xfe\x53\x45\x57\xbe\x28\x55\xe5\xff\xfd\xeb\x8a\xae\x3c\xa2\x0e\xfe\xf1\x3f\x51\x74\xe5\x49\xa9\x2a\xbf\xf9\x1f\x15\x5d\xf9\x35\xfa\xf2\xbf\x29\x4f\x82\x53\x39\x41\xc1\x72\x5d\x46\xc0\x1e\x74\x42\x27\xb8\x46\x04\xfc\x43\x02\x75\x31\xb0\x2d\x19\xb0\x59\xa0\x10\x57\xf3\x45\x03\xba\x2e\x1d\xd0\xc1\x2c\xec\xf3\xd8\xe8\xca\x2f\xd1\x97\xff\x4b\xd1\x95\x4b\xa5\xaa\xfc\x3f\xff\x5a\xd1\x95\x8f\x1f\xd1\xa3\x7f\xab\xe8\xca\x95\x52\x55\x1e\x29\x8d\x7e\xf3\xcf\x28\x8d\x86\x8c\x42\x7f\xc1\x28\xf4\xe7\x4b\x74\xaa\xb1\x60\xa9\x5f\x6e\x48\x71\x1e\x3a\x9e\x47\x69\x88\x70\xfc\xf1\x6f\x30\x1c\x7f\xfc\x07\x14\xc7\x1f\xff\xa6\xa2\x2b\xbf\x42\x5f\xfe\x44\xd1\xf1\x4c\xfd\xf1\x9f\x53\xb4\x7f\xfc\x53\x8a\xf6\x8f\xff\x2b\xc5\xfb\xc7\x7f\x4a\xf1\xfe\xf1\x2f\x96\xc0\xbb\x25\xc5\x0a\x02\x4f\x40\xca\x1f\xff\x09\x25\x25\x9a\xfb\x14\xcd\x3f\xa3\x68\xfe\xe6\xcf\x18\x52\xff\x9c\x21\xf5\x7f\x30\xa4\xfe\x19\x23\xe6\x3f\x5b\x02\xa9\x93\x7c\xa4\x0a\x7d\xdb\xb3\x07\x8e\xed\x21\xec\x12\x48\xfd\xf8\x3f\x64\x90\xfa\xf1\x7f\x66\xb4\xfb\x5f\x18\xed\xfe\x7c\x31\x9a\x3f\xfe\x9b\x25\xd0\x3c\x90\x6e\x2b\x00\x4e\x62\xec\x30\x59\x64\x23\xfb\x27\xf2\x71\x64\xf3\xef\xc7\x7f\xbc\x04\x2e\x17\x32\x5c\xb0\xb2\x82\x20\x93\x5c\x13\x7f\x26\x1f\x48\x4c\x98\x1f\x18\x61\xbe\x30\x0a\x63\xf4\xfe\x75\x86\x54\xff\x62\x09\xf4\x76\x16\x2d\x8f\xe7\xd2\xe5\xe1\xf9\xf0\x0e\x8c\x1c\xdb\x7b\x36\xb0\xd9\x3a\xf9\x25\xa3\x26\x26\xeb\xdf\x8a\x3a\xf0\x8f\xe4\x0b\xe6\x4f\x59\x4f\xfe\x27\xd6\x93\xff\xfd\x9b\x16\x4c\x57\x86\x67\x30\x8d\xd0\x93\x10\xfa\xbf\x8f\xf0\xfc\x2f\xd9\x8a\xf9\xbf\xd9\xee\xf3\x2f\x19\x56\xff\x8a\x61\xf5\x67\x8b\x91\xb9\x7c\x71\xb5\x80\xae\xe5\xb7\x52\x74\xef\xc0\x80\xa7\xe6\x1f\xe7\x4c\xd2\xdf\xd9\xf6\x43\x6c\xf1\xa5\x18\x3a\x41\xc0\xc8\x89\x67\x62\x72\xad\xff\xf3\xfc\xb5\xfe\x89\xce\xd1\xe4\x92\xcf\x59\x66\x78\xc9\x63\x4d\x05\xd6\x8b\x20\x4e\x45\x25\x39\x15\x9e\xd9\xb3\x81\xe3\x3f\xeb\x01\xd7\x55\x74\x85\xfc\xf0\x47\xa3\x5a\xcf\x0e\xc0\xf3\x75\x45\x57\x4e\x2b\x03\xef\xec\xae\xde\xa8\x47\xff\xb6\xaf\x6f\xce\x37\x0e\xf0\xd7\xc3\xdd\xdb\x9d\xcf\x17\x5b\x6f\x47\xbb\x95\xde\xda\xbe\x63\x7f\x38\x24\x45\x2e\x1a\x2f\xa2\xe2\x6f\xfb\x5b\xe4\x4b\x63\xbd\x7e\xf6\xca\xeb\x9a\x87\x75\xfe\xdf\xba\xed\xce\xda\xa3\x1d\xfc\x1d\x04\xcd\xb5\x9d\xc6\xda\xb3\xcc\xbf\x97\xe3\xed\xc1\xe4\xd5\xfd\xc5\xc4\x7d\x78\x7b\x52\xaf\xd7\x77\xaf\xa7\xfd\xbd\xd1\xec\x74\x6d\xdf\x6b\xee\xcd\xa7\x17\x6e\xf7\xb6\x3f\xd9\x9f\xf6\xef\xb7\xf6\x9b\xdb\xcd\xbb\xc3\xed\xf1\xdd\xd1\x43\x7d\x83\xb4\xb0\xb3\xcb\xea\x1e\x9c\xed\x6f\x77\x46\x3b\xa4\x33\xdb\xbb\x87\xcd\xc3\xf3\xba\xb1\xbf\xd5\xa9\xd7\xeb\x27\xf5\xfa\xd6\x68\xbf\x31\x3e\x1e\x57\xba\xfb\x07\xf6\xf9\x99\xdf\xbe\xde\x98\xec\xb7\x9a\xed\xf6\xc4\x75\x0f\xcf\xee\x9c\xae\x73\xe6\xf4\xcf\x2e\x2e\xd6\xef\xe6\xf3\xeb\xeb\xcf\x9f\xb7\xdf\xee\xed\xed\x1d\x1f\x36\xb7\x5b\xe3\x5d\x54\xbb\xde\xa8\x1f\xd4\x27\xc7\x7e\xb1\xbb\x6f\x07\xeb\x1b\xdd\xf9\xc8\xfb\xec\x1d\x8c\x8e\xcf\xdd\xe3\xe3\x83\xfe\x68\x6b\x7d\xda\x5a\xdf\x1e\xef\xdf\xdd\x9e\x4d\x2e\x2a\xcf\x27\xe1\x41\x17\xf6\x82\xf5\xe9\xfe\xc9\xe8\xe8\xfc\xe4\xac\x5e\xaf\x37\xeb\x27\x3b\xa3\xeb\xeb\x56\xab\xdd\x6e\xec\xed\xee\xee\x1d\x34\x9b\x17\x17\x17\x17\xfe\xe8\xfa\x7a\x3e\xbf\xbf\x6f\xec\x79\xde\xdb\xe6\xc1\xc1\x8d\x33\x1a\x8d\xfc\xfb\xfb\x46\x63\xfb\x74\xfb\xdd\x74\xba\x7f\x74\x7c\x3c\x9b\xf8\xfe\xfa\xfa\xf3\xe7\x8e\x63\x18\x3b\xcd\x77\xef\x7a\xa7\xed\xf6\xf8\x6e\x6e\x76\xba\x9f\x21\x34\xf6\x3e\x7c\x98\x3f\x3c\x7c\xf6\x3c\xef\xed\xfb\xe3\x63\x00\xfa\xfd\x97\xeb\xfb\x27\xe3\xa3\xf3\xfa\x49\x7d\x84\x08\x74\x32\xba\xe8\x76\xb7\xb6\x1a\x0d\xd4\xee\xee\x41\xf3\xc0\xb6\x2f\xfa\xa8\x8d\xe6\xf6\xc9\x78\xf7\xac\x8e\x08\x36\xc2\xb4\xdc\x7a\x3b\x6e\xb5\xf6\x83\xd6\xe9\xbb\xa0\xf5\x70\x64\xb4\x5b\xef\x5f\x3a\xf3\xd6\xce\xc3\x87\xd6\xa1\xd1\x39\xed\xec\x98\x1d\xf4\x6f\xd0\x31\x3f\x0c\x26\x1f\x3e\x0c\x3c\xf4\x67\x76\x27\xcd\x4e\x6f\xf6\xd6\xec\xce\x9a\x9d\x5e\xa5\xd9\x19\xbc\x5a\xef\x5c\xef\x35\xbb\xd1\x5f\xf1\xed\xda\xf0\xd5\x1a\xfa\x33\x46\x47\x7b\x27\x9d\x7a\xa3\xbe\x55\x3f\xa8\x7f\x3e\xee\xf6\x3e\x1f\xd8\x4d\x67\xef\xe6\x9d\x73\x6c\x37\xb7\xaf\x9b\x76\x50\x1f\x6d\x8d\x11\xce\xf5\x46\x7d\x7f\xec\x34\xa7\xe3\x9b\xa3\xfd\xe9\xa4\x7b\x03\x27\x93\x5e\x38\x71\x60\x38\x59\x7b\x17\x38\x0f\xef\x82\xd1\xfd\xce\xf5\xcd\x1d\x1a\xea\x2d\x3c\xbc\xe8\xdf\xc1\xd6\x74\x72\xd3\x15\xff\x4d\xba\x5d\x77\xd2\xf9\xaa\xbf\x93\xbd\xcf\xcd\x83\xd1\x56\xbd\x3e\xda\xaa\xcf\xd7\x76\xfa\xf3\xb5\x9d\x71\xab\xd3\x1c\xcf\xd7\x9a\xc1\xd6\x1d\x19\xd7\x7b\x34\xf3\xeb\x5b\xf5\x33\xe7\x61\xb7\xff\xb9\xf5\xb6\xff\x70\xfa\xb6\xff\xf0\xf0\xb6\xff\x30\x7f\x3b\xd8\x39\xdd\x77\x77\x1e\x8e\x5e\xed\xdc\xbd\x6f\xd4\xcd\xee\x16\x42\x73\x54\x6f\x12\x64\xb7\xea\x87\xad\x87\xdd\x7e\xeb\x61\x1f\xd1\xf9\xcc\x59\x3b\xed\x7f\xee\x7c\xe8\x3f\xac\x7d\xe8\x1b\x6b\x1f\x10\x8d\x3b\x5f\xf3\xef\xe2\x2d\x19\x4b\x44\x8b\xc6\xde\xa0\x3b\xed\xde\x8c\xea\xa3\x87\xf1\xde\x0e\xa1\x39\x69\xf5\xc2\x3f\xb9\xde\xde\xae\xb3\x39\x79\x52\xaf\x37\x9d\xeb\x8d\x46\xc3\x36\xf6\xe1\xc3\xc3\xe9\xf8\x78\x32\x3b\x1f\xdd\xb4\xda\x3d\xe3\xe5\xde\x7e\x67\x3f\xf0\x66\xf6\xe4\x62\xb2\x46\xe6\x55\xef\x70\xbd\xbb\xbe\x31\x7f\x78\x70\xbc\x83\x49\xff\x7c\x34\x19\x34\xec\xfe\xcb\x8d\xfd\xed\xfd\x1b\xd7\xdf\xf7\x4e\x26\xde\xfb\x63\xd0\x3a\xe8\x6d\x3d\xaf\x4c\x8d\xe9\xf4\xe1\xe1\xda\xf3\xbc\xfa\x8b\xbd\xbd\xf3\xbd\x7e\xff\xe5\xc6\xd4\x98\xfa\x6f\x6f\x06\x2e\x86\x77\x3e\x68\xd8\x1b\x37\xce\xc6\xee\x7e\xf8\xf0\xe0\x4f\xce\x26\xf7\xc0\x9c\x75\xda\xbd\xfe\xcb\xf5\x8d\x8d\x8d\x78\x3e\xdf\x74\x9e\xf7\x1f\x82\x9d\x8d\xf5\xee\xfc\xe1\xc1\xf7\xec\x49\x65\xb6\xd1\xe8\x54\xfa\xfd\x97\x2f\x36\xba\xfb\x0f\xb3\x87\x13\xef\x9a\x9b\xf7\xa4\xee\xc8\x6d\x9c\x98\x17\x5b\x75\xbc\xed\xb4\xae\x2b\x5b\x9f\xf7\xbc\x8b\xe6\x68\x78\xb1\xbe\x77\x71\x7d\x72\x3d\x75\xf6\x4e\xdf\x7a\xed\xf7\xdb\xd3\xe3\xd1\x61\x7f\x34\x9d\x6e\x3d\x3f\xfa\x3c\xee\x1e\xdc\x5c\x1c\x9d\x9c\x5d\x8f\xbd\xe9\x87\x76\x83\xee\x1b\xa3\x7a\xbd\xb1\xb3\xb3\xbb\xdf\x6c\x5e\x9c\x9d\x9d\x8d\xa3\xf5\xbb\xb7\x87\xd6\xaf\x0d\xfa\xfd\x91\x7f\x73\x73\xd0\x6e\x3b\x0e\x3c\x38\x78\xf7\xfe\xf0\x30\x08\x82\xe0\xe5\xdd\xfd\xfd\xf3\x87\xed\x87\xcf\x10\x06\x87\x87\x27\x27\x77\x77\xf3\xf0\x68\xff\xe0\xdd\xf6\x87\x4e\x67\x72\x7c\x14\x02\x1b\xf4\x9f\xaf\x6f\xb4\xf7\x66\x6e\x38\xe8\xda\x07\xcf\xcf\xcf\xce\xc6\xfe\x74\xda\xae\x1b\xdd\x2d\xba\x57\x34\xb6\xc6\xe3\x9d\x9d\xbd\x3d\xd6\xee\xf4\xfa\xfe\xde\x99\x78\x7e\xb3\x79\x90\x9e\x4b\x2f\x1b\xa7\xef\x77\x5a\x6b\xad\xd4\xdf\xfb\x97\xad\x79\x6b\xc7\xe9\xb4\x76\x9c\x0f\xad\x43\xc7\x3c\x3d\x7c\x30\x3b\x9d\xdd\xce\x87\xc1\xc4\xec\xba\x6b\x1f\x7a\xe1\x7a\x67\x50\x79\xfb\x61\x68\xae\xad\x0d\xcd\x75\x73\xb8\xbb\xde\x75\xcf\xbb\xd9\xbf\x06\xdd\x57\x71\x63\x3b\xcd\x66\xf3\xe2\x84\xe0\xd4\x6d\x39\x9f\xb7\xdf\xbe\xf5\x9a\x47\xc7\x27\xa3\xc9\x56\x44\x33\x3a\xc3\x5b\x6b\x3b\x67\xf3\x8d\x9d\xfe\x7d\x77\x67\xdc\x7e\xd1\x1c\x9f\x0e\x9a\xc1\xc3\xb0\x69\x9c\x3e\x3b\x34\x8c\xd6\xd1\xee\xd9\x69\xeb\xe8\x6c\xde\x19\x18\xad\x8e\x69\xcc\xbb\xee\xd9\x43\x77\x60\x3c\x74\x5c\xc3\xec\xb8\xe6\x87\xae\x5b\xe9\x75\xdd\xf3\x17\x83\x57\xe7\xbd\xee\xab\xb5\x67\x83\xe4\xdf\xab\x81\x49\xf7\xe6\x51\xfd\xa4\x31\x6a\x3e\x4c\xda\x4d\x67\xd2\x6e\x7e\x9e\x1c\xaf\x1b\x4e\x7b\xab\xd9\xde\x83\xf5\x66\xbd\x8b\x57\x5a\x63\x74\xd0\x7c\xe1\x1c\x37\xd7\x3f\xb7\xbb\xcd\xf1\x79\xb7\x39\x01\xdd\xae\xe7\x74\x6f\xa6\x93\xee\x8b\xe9\x8d\xdd\x3c\x20\x7b\x0f\x5e\x12\x3b\xf4\x3c\x1b\xd9\xcd\x1b\x6f\xd2\xbc\xf1\x9c\x26\xf4\x9c\xe6\xba\xef\x74\xbb\x53\xa7\x7b\x73\x33\xb3\xf7\x83\xfb\x9b\x17\x70\xf6\x35\x7f\xe3\x2d\xff\xbe\xe1\xd7\x4f\xf0\x39\x30\xb8\xdf\xc7\x7f\x9d\xf6\xfe\x4e\xe7\x7e\xbf\xde\x6f\x6e\x77\xc6\xbb\xf5\xc3\x11\x26\xdf\xdd\xf6\x4e\xff\xc4\x6c\x8e\xe7\x2f\x9a\xc1\xe9\xf0\x90\xd2\xeb\xf0\x95\x71\x7a\xf8\xaa\xf3\xa1\xb5\xbb\x7b\x17\x9f\x29\xec\xe0\xbe\xdb\xaf\x1f\xb6\x5f\xec\xf4\x1f\x06\x3b\xe3\xb3\x4e\x33\x34\x3b\x4d\xd3\xec\x34\xc3\x4e\xe7\xe4\xd5\xd7\x6c\x23\xe6\x69\xeb\xc8\x78\x68\x6f\x19\xfb\x0d\x34\x96\x88\x7c\x9f\x4f\x4e\x2e\xba\xd7\x5b\x8d\x83\xfe\x74\xab\xd1\xfb\x6c\x5e\x34\xb6\xdf\x4e\xf6\xeb\xe7\xd7\xc7\x27\xf6\xf5\x7c\xcb\xd9\x99\xce\xeb\x0f\xdb\xdb\xe3\xa3\xa6\xd7\x3e\x39\x69\xf7\x5f\xcd\xf6\x9b\x1b\x77\x77\x0f\x0f\xeb\xbb\x4d\x7f\xf7\xac\x75\x38\x5a\x37\xdc\xa3\xf5\xf5\xd1\x76\xff\x60\xf2\x61\xc7\x73\x8f\xeb\xd7\x68\x7d\xee\xd4\x77\x77\x50\x17\xe6\xf7\xdb\x6f\x77\xf6\xde\xbe\x3b\x6e\xf7\x27\xa3\xd6\xe1\xfa\xbc\xd1\xad\x9c\xdd\x6f\x8f\xbd\x69\xf7\x7d\xbb\xdd\x1e\x87\xee\xf5\xe8\xe1\xa0\x7d\x3e\xd9\x99\xbc\xff\xec\x1d\xbc\x6f\xb7\xfb\x93\xb1\xbb\x75\xfd\xce\x99\x56\xc6\x3b\x93\xe3\x7d\x78\x82\x17\xea\x5b\x34\xef\x1a\xcf\xdf\x9e\x8c\xb7\xce\xb6\x4e\xd0\x02\xd9\x6b\x1e\x9e\x8d\xfc\xe9\x75\xb7\xd5\x7e\x70\xbc\xc9\x78\xf7\xdd\xc1\x21\x38\xeb\x9f\x8d\xfd\x8d\xe9\xc6\xfc\xf4\xe1\xf3\xb8\xf9\xf6\xe2\xf4\xe0\xf0\xc4\x1e\x8c\xe6\xf5\xe9\xb4\x35\x3f\x7d\x70\xbc\xb7\x6f\x9b\xa7\x87\x27\xe0\xbc\x3f\x7a\xb5\xb5\x85\x18\xa1\xe6\x21\x9a\x42\xdb\xf5\x13\x67\x64\x74\x77\xce\xea\x3b\x8d\x7e\x7d\xfd\x6d\x7d\xfc\xb0\x71\x68\xb4\xe7\x27\x6e\x7b\x7e\xb4\xfb\x30\x6f\xb9\xe6\xfc\xe8\xc8\xdc\x38\x33\x1e\x4e\x4f\xcc\xb3\x4e\xab\x73\x3f\x3f\xea\x98\x9d\x56\xa7\x32\xef\x1e\x75\x7a\x17\xee\x69\xeb\xe8\xe8\x74\xd8\x3a\xeb\xb4\x8e\x76\x3b\xad\x4e\xc7\xd8\x40\xcf\x3b\xe1\xc3\x43\xcb\xad\x74\x5a\x9d\xb5\x56\xb7\x63\xf6\xba\x6e\x65\xde\x2d\x76\x36\xba\xe6\xda\xc3\xd1\xd1\x39\x7a\x36\xc0\xe5\x4c\x73\xa3\xfb\xea\xc3\xab\x6e\xf8\xa1\x3b\x8a\xda\x38\x6d\xb5\x48\x1b\x0f\xdd\x8e\xf9\xe2\xc2\x3c\xfb\xd0\xea\x9c\x75\x3a\xee\x79\xa7\xd5\x39\xff\xd0\x75\xcf\x87\x83\x4e\xe7\x55\xf7\x55\x7b\x8e\xca\x1d\x1d\x55\x5a\x9d\x4e\xa7\xd7\xed\x54\x86\x9d\xb0\xd3\xed\xbe\x5a\xff\xd0\xea\x7c\xe8\x0c\xdc\xca\x70\xd0\x39\x6f\x75\x8b\xe7\xaf\xc0\xee\xfa\xb0\xfb\x6a\xbd\x75\x8d\xdb\x35\x5f\x75\x4c\x54\xee\x62\xd0\x75\x2f\x7a\x03\x73\xed\xfe\x7a\x3a\x99\xb8\x37\xfe\x8d\x73\x33\x71\x9c\x9b\x9b\x9b\xc9\x4d\x38\xa9\xdc\xc0\x1b\xb3\xe7\xcf\x9c\x1b\xff\x06\x1e\x04\x13\x70\x03\x6f\x1e\x0e\x82\x9b\x22\x84\x93\x07\x88\xca\xc1\x1b\xe7\x26\x70\xee\x6f\x6e\x9c\x7b\x18\xdc\x3c\xbc\xb8\x71\x1e\x60\x78\xe3\xdc\xcc\x6e\xd6\x0e\x02\xd8\xe8\xc1\x9b\x5b\x18\xce\x5e\xbe\xbb\xbb\x7f\x80\x33\xaf\x71\x03\x6f\x9e\xc3\x60\x46\xca\xcd\x6e\xd6\xe0\xdc\x7b\x0b\x67\x9f\xb7\x5e\x4e\x1d\xef\xdd\xf4\xe6\xf6\x66\x76\x33\x79\x3e\x9b\xbc\x80\x33\xef\xed\x61\x38\x31\xfa\xfe\x73\x78\x73\xeb\xc0\x77\x77\x70\xfb\x20\x98\x3d\x83\x33\xa7\x68\x0c\xda\xbb\xad\xce\x87\x0f\x03\x77\x77\xed\x73\xa7\xd2\xe9\xbe\xaa\x98\xc3\xc1\xc6\x46\xef\xd5\xfa\xf9\x7d\xef\x74\xf6\x0c\x0e\x6f\x0f\xfa\x60\xf6\xdc\xb8\x1d\x6d\x3c\x54\x5e\xf6\x67\xbd\x6e\xf8\xf6\xdd\xd1\x6c\xef\x45\x31\x2c\xbe\xec\x3d\x1c\x3c\xbc\xba\x3e\x6e\x3e\x77\xbb\x1b\x37\x95\x9e\x7d\x73\x03\xbb\xb3\x9b\x9b\xe2\xec\xbe\xe7\xdc\x6e\xc3\xe3\xb0\x71\xd6\xe9\xbc\xfa\xd0\xed\xb8\x6b\x0f\x83\xc1\x79\x6b\x30\x5b\x7b\x00\xc7\xe7\xaf\xc0\x91\x7f\x03\x6f\x66\x0e\x7c\x77\x8b\x70\xf9\xfc\xb6\x3f\x9f\xbc\xec\xcf\x1e\xea\xfd\x0f\x83\xa0\xf2\xd9\xbd\xfd\xe0\xf5\x0e\xc2\xc6\x9a\xf9\xf9\xfe\x7d\x7f\xff\xa1\x72\xdb\x9b\x7b\x6f\x5f\x1c\xcf\xde\x57\x06\xf6\xf1\xed\x76\xdd\x7b\xfb\xf9\x0e\xcd\xe7\x1d\x3c\x9f\x77\x5e\x4e\xeb\x7e\x7b\x07\xd6\xfd\xfa\x7a\xfd\xa4\xbe\xd7\x04\xfd\xb3\xb3\x79\xfd\x66\xde\xde\x32\x76\x76\xdf\xdd\x34\x0f\x5a\x67\x87\x27\x17\xd7\x7d\x63\xe3\x60\xde\xba\x3f\x3b\xdb\x99\xde\x34\xbb\xa7\x67\x07\xc1\xc5\xa8\xd3\xdc\xd8\xbf\xdf\xbf\x3f\xdd\x19\x4f\xfd\x83\xee\x69\xfb\x6c\x04\xae\xa7\x9d\xad\x03\xfb\xf9\xde\x99\xe9\xee\xc3\xc0\xee\x9d\x5d\xcc\x8c\xd1\x74\xab\x7b\x60\xb7\x2b\x67\x86\x3b\xbd\xb9\xe9\xf7\xce\xce\xfd\xbb\xd6\xc5\xbc\x7e\xbf\xf1\xbc\x35\x7e\x18\x8f\xf7\xa7\xbd\x93\xf3\xf6\x64\x1c\xa2\x36\x36\x9e\x37\xc6\xdb\xe3\xfd\x83\xa9\x7d\x72\xd6\x36\xfc\xb0\x13\xcc\xf7\xef\xed\xc6\x67\x63\xbc\xdb\xbc\xb1\x4f\xda\x67\xc6\x64\x1a\xe2\x36\xce\xc7\xbb\xe3\xf0\xe0\xb0\x77\x71\x76\x5e\x59\x9f\x9b\xd7\x73\xd4\xc6\x78\xc7\x0d\xf7\x0f\xfa\x17\x67\x67\x15\x23\x9c\x4f\xfd\xcf\x73\x67\x6b\xfc\x30\xf6\xf6\xbd\xfd\xc3\x36\x6a\xc3\x3d\xda\xb7\x37\xba\xce\x19\x6a\x63\x72\x71\xdc\x6e\x8f\x6f\x42\xb7\xbb\xdf\x7e\xd8\xbf\x3f\xc5\x6d\x5c\x1c\x1f\xb7\xc7\xe3\x69\x38\xdd\x3f\x38\x3d\xd8\x3b\x33\xc7\xd3\x83\xe0\xa2\xd3\x3e\x9f\xdc\xcd\xcd\xe9\xbc\xdd\xdb\x3e\x47\xfd\xd8\x3f\xe8\xdb\xed\xf6\xe4\x2e\x9c\xbb\xd3\xde\xe9\xbb\x8e\xb9\xb3\xeb\xbf\x23\xfd\x98\x84\x61\xa7\x0b\xed\x9b\xb5\xbd\xb3\x9d\x29\xdc\xb7\xcf\x2e\xda\xc6\xcd\x3c\x6c\x75\x61\xef\xf3\xdb\xc9\xde\x78\x3a\x85\xf6\x49\xfb\xdc\x98\x4c\xe7\xad\x6e\xef\xb3\xb3\xb6\x37\x71\x8f\xe0\x91\xdd\x3b\xb7\x27\xeb\xf3\x8d\xeb\x69\xaf\x77\xba\x76\x3e\xf1\x8e\x0e\xe0\xa0\x77\x76\xe6\xa3\x7e\x4c\x3f\xf7\x7a\x6b\x9d\x89\x77\x7b\xdb\x3c\x20\xb4\x72\x8f\xf6\x1d\xdb\x59\xdb\x33\x27\x07\xa1\xdf\x3d\x3d\x6f\x3b\x37\x73\xb7\xbb\x6f\xf7\xb6\xdf\x4e\x2a\xee\xcd\xe1\x71\xf7\xb4\x7d\x31\x9e\x4c\xe7\xdd\xfd\xf6\xe7\x06\x6a\x23\x0c\x66\xb6\x7d\x6e\x4f\xee\xe6\x1b\xd3\x69\xdb\x79\xf1\x61\x52\xf1\x8e\x82\xa3\x61\xef\xec\xfc\xe6\x0e\xb5\x71\xda\x7e\xf1\xe1\xfc\xdc\x3b\x7e\x3f\x1b\x76\xce\xeb\xf5\xed\xfa\xa8\x7e\x58\x3f\x69\xd6\xf7\xbb\xf6\xf6\xc9\x78\xff\xac\x8e\xf7\xbc\x9d\xbd\xe6\x59\xb0\xb1\x6f\xb7\xb6\xee\x1f\xb6\xc7\x37\x8d\xb3\x77\x87\xc7\x6d\x30\xed\x8f\xe7\x8d\x83\xb6\xdb\x79\xd8\xd9\x69\xee\xf7\x3e\x20\x22\x4e\xe7\x83\x8b\x8d\x46\xe3\xdc\xdd\x1d\x07\x37\xef\xfa\x9d\x73\xfb\x7e\x3c\x45\x74\x78\x77\x52\xaf\xfb\x74\xcf\xdb\x1a\x57\xf6\xe7\x27\x3b\x07\xdb\x9d\xf1\x7e\x7d\xe7\x04\x3d\xdb\x6b\xa2\x09\x57\xbf\xe8\x4e\x5b\xce\xb6\xb1\xe5\x8c\x77\xf7\x0e\x4f\x9a\x37\x67\x17\x68\x7e\x4c\x5b\xad\xcf\x68\x3c\xf7\xde\x1e\x1e\x9f\x38\x7e\xf7\xe2\xe5\xc6\xd6\x41\x63\xb2\x73\xb6\xe3\xdf\x1c\x5c\x9c\x9d\xb4\xc7\x63\x77\x7a\x82\x18\x04\xbf\x8f\x0e\xd9\xde\x51\xe3\xec\xff\x63\xef\x4d\x9b\x1c\x45\x96\x45\xc1\xef\xef\x57\x64\xeb\x99\xb5\x65\x5e\xb2\x13\x04\x68\xab\xba\x79\xcf\x04\x9b\x58\x84\x10\xab\x04\x7d\xdb\x8e\x21\x40\x80\x58\xc5\x22\x10\x7d\x6a\x7e\xfb\x18\x92\x72\xcf\xea\xae\x3e\xef\x9c\x37\x6f\xcc\xe6\x43\x95\x20\xc2\xc3\xdd\xc3\xc3\xc3\xc3\x3d\x82\x0c\x5f\x13\x27\x1f\xe1\x81\x01\x74\xa0\xf7\x71\x5a\x4f\x41\x34\x4d\xdf\x65\xe4\x93\x10\xcc\x69\x8d\xce\xd2\x83\x49\xcb\x6b\xbf\xae\x5c\xd7\x52\xed\xf1\x86\xe9\x98\xfc\x50\x6c\x35\x53\x06\x61\x15\xb8\xe6\x49\x3d\x6d\xe6\x43\x26\x4f\x0a\x47\x35\xd7\x61\x09\x80\xd4\x01\x20\x53\x65\x43\x73\xd9\x72\x2e\xc7\x80\x07\x2c\xa0\x81\x99\xb5\xca\xbe\xdb\xc7\x29\x3d\x5f\x88\x92\xe7\x3b\x4b\xe0\xb7\xa3\xe0\x44\x53\x61\x31\x4f\x39\x51\x92\x7d\xdf\xe8\x79\x26\xc9\x39\xdd\x51\x51\xef\xeb\xc8\x72\x6d\x3a\x41\x1f\x3f\x09\x73\x8a\xa6\x39\x2e\xb7\x34\x55\x96\xfd\x20\x60\x78\x61\xac\x92\x34\x4d\x73\x79\xbe\x91\x65\xd9\x0f\x83\x98\xe1\xfa\x25\xe3\x70\xee\xdc\x82\x50\x2c\x56\x22\x23\x9b\xe8\xd7\x3b\x12\xb0\xd1\x79\xbd\x53\xf7\x11\x9b\x59\xca\x5c\x70\x4c\x3f\xe6\x79\xb5\xe7\x89\xa6\x73\xfe\xb0\xe1\x44\x39\x8c\xf2\xd6\x30\x47\xc4\x78\xae\xc7\x4c\x51\x72\xbc\xd6\xeb\xf6\xd0\x0d\x08\xc1\x56\xb1\xf9\x3a\x5a\x0a\x85\x63\x98\xf6\x18\x0f\x72\xd7\x0a\x0b\x6a\xb3\x19\x32\x07\xb1\xf2\x6c\xdb\x46\xb2\x5e\xdf\x8b\x6e\x1b\x01\xb0\x6c\x18\xa2\x21\x1b\xd0\x56\xcc\x32\x74\x4c\x52\xcd\x10\x8b\xd4\x41\x04\x1c\xe0\x93\x64\xc4\xcc\xa5\x5e\xc6\xba\x99\x65\xed\x68\xd4\x52\x24\x99\x32\x09\xbb\x92\x04\xdb\x34\x2f\x7e\x74\xef\xdb\xf5\x3e\xb8\x24\x8a\x57\xdf\xba\xcd\x83\xb3\x5f\xce\x3e\xf9\xdb\xf8\x5b\x5f\xfd\xad\x0f\x1e\x01\x40\xe6\x4d\xbf\x7c\x96\x0c\x13\x39\xb8\xa0\x64\x74\xef\x47\x72\xe0\xd0\xfb\xae\x04\xb3\x36\xb3\x3e\xd6\xf6\xb7\xe4\x35\xd6\x16\x75\x53\xbd\x94\x05\xfb\xed\x53\x99\x63\x9b\x4f\x65\xfb\xe7\x32\xf3\x43\x9c\xfe\x43\x65\x4c\x55\x14\xdb\xcd\x7a\x9d\xd4\x55\xef\x77\xdb\x63\x74\x38\x8c\xf3\xa2\x90\x09\x70\x6c\x32\x16\xac\xa6\xec\x7c\x78\x19\x31\xf2\xd4\x9c\xe5\x45\x03\x1c\x00\x62\x4f\x25\xac\x24\x49\xb2\xe9\x06\x9c\x99\x8f\x05\x95\xee\x55\x23\xd3\x97\x82\xa4\xfa\x71\xc0\x10\x82\xa0\xc6\x9d\x16\xe5\x42\x6e\xab\xfa\x3a\x3a\x58\xce\x90\x57\x85\x70\x1d\xc7\x71\x6f\xa3\x35\x7d\x1d\x65\x67\x9a\xc4\x69\x1d\x0f\x63\xfe\xd0\xf3\x21\xf9\x61\x5c\x2d\x95\x33\x1f\x28\xcd\x70\x82\xbd\x59\xaf\xb3\xb2\x6a\x63\x42\x50\x0f\xe8\x10\x9d\x0b\xe2\xd2\xb4\x54\x3d\x39\x54\xad\x1b\x84\x05\x35\x8f\x90\x98\x2f\x17\x7d\xbf\xc6\xa7\x20\x5e\x5a\xb6\xdd\xf5\x7d\x2d\x2b\x61\xbb\x59\x9b\xd9\x69\xd8\x8f\xbf\x6a\x27\xc3\x61\x22\x2c\x96\xae\x65\x93\x0d\xe5\x6f\x53\x00\x7c\x3a\x6c\x1c\xd3\x36\xf2\xc5\x8a\x44\xbc\xab\x3e\x92\x34\x01\x80\x42\x5e\xc6\x59\x94\x65\xdf\x0f\xf4\x5e\x1f\xc6\xe4\x59\xcf\x39\x5d\x11\x44\xcf\x74\xdc\xcb\xde\x01\xbd\xa7\xd8\x34\xe3\x2e\x70\x01\x0f\xda\x51\xd0\x22\xf4\x25\x1e\x90\xa5\xda\x79\x9a\x23\xb4\x1e\x15\x29\xcb\xca\x67\xb8\x98\x21\xc8\xeb\x1c\xe1\x32\x53\x51\xd5\x30\x72\x7b\x38\xe1\x0c\x97\xe5\x7c\x3f\xbf\xfc\x24\x8e\x19\x5e\x10\xec\xf5\x15\x4e\x56\xd5\x30\x89\xe3\x33\xbe\x6b\x6c\x64\xc9\xea\x05\xdf\x19\x4e\xd7\x7b\xf9\x5b\x8a\x7c\x86\x63\x78\xa1\xe7\xef\x02\xa7\xa8\xaa\x1f\x05\xe7\x31\xb1\x2f\x6d\xb9\x27\x7c\xe7\xb6\x7a\x3f\x07\x29\xa2\x21\x01\x20\x57\x19\x2f\xac\x04\x2e\x69\x10\xdc\xe1\x28\x7d\xbe\xe7\x54\x9f\x04\x14\x00\xc0\x71\x83\xc3\xf8\x94\xae\x4f\x24\xc5\xa4\x9c\xba\x56\x71\x55\x76\x02\x22\x5c\x04\x8c\x1a\xee\x63\xb6\x5c\x1b\xdc\xdc\xd1\xcd\xa1\x25\xb7\xb9\xa2\x68\x7a\x72\xcc\xd2\xb9\x20\xea\x3a\xe4\x9a\x48\xd6\x36\xe3\x93\x6e\x44\x59\x16\x99\x0b\xd5\x39\x9c\x86\x6e\xd9\x10\xbd\x73\x4f\x02\xd0\xd0\x24\xdd\xf9\x3a\x20\x18\x62\xcf\xf5\xbc\x04\x40\xce\x81\x40\x36\xcd\x12\xb4\x1b\x20\xd3\x23\x82\x3b\x91\x7e\x23\xb4\xb8\xd2\x21\x49\x44\x01\x82\xa4\x4f\xe0\xa4\x84\x8c\x2f\xd2\x81\x74\xf0\x6d\x3e\x94\x7c\xc2\xdc\xcc\x29\x8e\xc0\x81\xb8\x37\x51\x24\x6c\x8e\x99\x58\x02\x66\xe3\xb6\x43\x8e\x93\x7d\x82\x9c\x73\xad\x4c\xeb\x11\x47\x52\x34\x3a\xc2\x71\x7f\xb8\xaa\x45\x9a\x97\xa2\x75\x4c\xf9\x97\x00\x0d\x07\x00\xb0\x3e\x00\x91\x8f\xf8\x5c\x28\xd8\x92\x89\x4b\xfb\x06\x92\x69\x9e\x56\xa2\x40\xd0\xe8\xd1\x75\x5f\x65\x01\x08\x1f\x4c\x81\x4f\xca\x4c\xc8\x85\x9c\x95\x8d\xf7\x0d\x24\x52\xcf\x60\x40\x8e\x5f\xef\xf9\x91\xe0\x4a\x00\x5c\x62\x29\x12\x04\x2b\x0b\x75\x35\x00\x64\x53\x6a\xae\x35\xd2\x3c\xdf\x46\xd9\x39\x7c\x49\x9c\x09\x4e\x29\xfe\x69\xb9\x17\xc7\x33\x0d\x74\x92\x16\x4d\x70\x37\x5d\xd4\x5b\xaf\x29\xb7\xb6\x9f\x58\xe1\x32\xc7\x5d\x44\xd8\x96\x74\xab\x9a\x30\x87\x6d\x74\xad\xe1\xfd\xc8\xb3\xdc\x74\xc8\x9a\x78\x97\xed\x31\x0c\x3e\xcc\x28\xa6\x3a\x62\x7a\x38\x84\xf7\x49\x3b\x89\x49\xbd\x5a\x55\xc3\x29\x5c\x9a\xbb\x99\x18\xf9\xa0\x04\x73\x85\x70\x31\x5f\x9c\xaf\xf0\x52\x87\x0e\xe4\xca\x24\x4e\x33\xa3\x00\x98\x79\xe0\xb3\x72\x8d\xad\x51\xd8\xdb\x0d\x43\x09\xae\x31\xc7\x9f\x5a\x73\x78\x34\xd9\xeb\x50\xbe\x4a\xb6\x73\x9a\xd7\xfd\x68\x97\xda\x1c\x36\xa3\xb6\xab\x43\xeb\xba\x56\x1e\x6c\x45\x25\x21\x9d\x51\x21\xc4\x91\x2e\x46\xa7\x76\x1a\x72\x59\xed\x8f\x5c\xfe\x38\x94\x4c\x76\x66\x8f\x66\x0e\x84\xcd\xbd\xe3\xc1\x99\x58\xe8\x86\x71\xa9\xfd\x02\x3e\xb0\x5d\xa5\xec\xf6\x6b\x7a\xdd\xf2\xb0\x1d\xce\xbd\x6e\x9f\x05\xf5\x8c\x2d\x49\xcb\x95\x09\x61\x1b\xb2\x88\x51\xe9\x30\x96\x4c\x47\x31\x35\x47\x35\x18\x6a\x23\xcb\x31\xd3\x0d\x44\x43\xf6\xa1\x3b\xc2\xad\xe6\x4b\x99\xc6\xcc\xa1\x76\xa2\x2e\x0f\x32\xbe\x84\x32\x00\x08\xb5\xad\x8d\x4d\x33\x99\xf0\xee\x68\x9b\x24\x5a\x52\xf3\x76\xb4\x99\x8c\x90\x19\xcb\x22\xd1\xdc\x14\x8e\x40\x59\xe5\xcd\x4e\x52\xc1\xea\xa4\xae\x80\x83\xd2\x51\xea\x51\x0d\x81\xb2\x0d\x00\x7c\x2c\x53\xa6\x30\x1a\x4d\xc7\xcb\xc9\x6c\xce\x93\xfb\x16\x87\xf2\xb1\x4d\xe9\x2e\x3a\xd9\xa8\x47\xe5\xb4\x59\xf0\x11\x47\x8e\x4c\x6b\xb8\x5f\x1c\x47\x71\x2e\x05\x96\xd6\x21\x25\x44\x25\x29\x33\x74\xc3\xbc\x2a\x52\x71\xac\x53\x3e\xb7\x1e\x0e\x37\xc1\xd4\x61\x35\x17\x81\xd5\x64\xeb\x4b\xc0\x6d\x9d\xd3\xba\x11\xfb\x58\xac\xb0\xb0\xdd\x52\xdd\x59\xdb\x4e\x08\xcd\x42\xc0\xa1\x6a\x75\xa8\x52\xd1\x58\x48\xde\x5a\x9a\xa3\x91\x71\xd4\x4d\x28\x47\x57\x3c\x1c\x44\x64\x3c\xb2\x19\x45\xc2\xb5\xc5\xdc\x5c\x59\x0e\xa7\x63\x47\x53\x1c\x06\x59\xa0\xe2\x7b\x96\x89\xd3\xd3\x1a\x46\xb5\x11\x3f\x89\xe6\xa5\x1a\x6c\xd6\xda\x74\x89\x8c\x0c\x08\x23\xe1\xf9\xea\xc0\x0f\x65\x77\x1d\x96\xf3\x55\x4b\x77\xec\x61\xc3\xa9\xc4\x8a\x0b\xd3\x35\xa5\x57\x13\xce\xe3\x8f\xf0\x6e\x24\x55\x1d\xd1\xe6\x5a\x67\x59\x32\x44\x9a\x74\xc0\x6e\x76\x87\x39\x6e\x03\x42\x8e\xc3\x09\x3a\xe7\x83\x25\x9e\xf1\x47\x28\xd8\x38\x20\x07\x7c\xef\x7d\xaf\xa7\x73\xb4\xb0\xc1\x06\x5f\xea\x0e\x20\x52\xa3\x9a\x4c\xc8\xce\x02\x04\xb4\x28\x59\xc7\xf0\x20\x19\x0f\x20\x99\x18\x36\x01\x6c\x15\xbc\xb6\x6a\x55\xc2\xe5\xa6\x89\xaf\x79\xc0\xd5\x4a\x59\xca\x18\x9d\x4e\xfd\x19\xc1\x3a\xc6\x2a\x68\x55\x45\x31\x23\x61\x6d\xf1\x1b\x89\x31\x57\x63\x03\x07\x74\x11\xe6\x7c\x46\xef\x37\x3e\x40\x1b\x5e\xb1\x58\x95\x6e\x13\x9e\x4a\xa6\x0c\x02\xc6\x3e\xbd\x29\xfd\x91\x8d\x5b\x25\x58\x70\x55\x21\x12\x13\x68\x17\x4c\x74\x61\x71\x34\xd7\xaa\x5b\x95\x54\xc3\xec\x86\x49\x67\x76\xea\x90\x99\xa2\xcb\x61\x80\x4a\xa7\x0a\xf5\x26\x63\x62\x28\xbb\x2a\xa2\x82\x52\x0e\xfd\xc5\x4a\x94\x7c\x5e\x9d\xf1\x0a\x39\x09\x98\x0d\x18\x47\x7a\xb9\x60\x96\x02\x35\x72\xc0\xc8\xd1\x94\xa3\xaf\x1e\x56\x0e\xc6\xc4\xb3\x59\xbb\xc6\x64\x2d\x84\x45\x56\x99\x52\x74\x32\x5e\xa7\x47\xdb\x90\x81\xd6\x28\x07\x45\xd8\x9f\x1a\x79\x46\x14\x45\x50\xfb\x0a\x0a\x04\xad\x5c\xc9\x9e\xec\x44\x05\x90\x7c\x4a\x0a\xb6\x1a\xad\x9e\x8a\x8d\x3c\x42\xc8\x68\x99\x6f\xdc\x6a\xbd\x5f\x4f\xd6\x28\x8c\xe9\x7b\x6f\x83\xe9\xb3\x91\xcf\xb9\x76\xbc\x53\x40\x06\x92\x83\x4e\x87\x4d\x3e\xc2\x02\xd2\x75\xc8\x26\xf6\xf1\xc9\xce\xd9\xee\xba\x38\x91\x45\xe0\xdb\x44\x14\x4c\x1c\x68\xe7\x50\x3e\x03\x85\xbb\x86\xda\xec\x3a\xcf\x5f\xac\x9c\x85\xc9\x97\x00\xf0\x32\x28\xb4\xcd\x3e\x0d\xe0\x7a\x33\x3f\x61\xc7\x21\x1b\x61\xb9\x31\x86\xb1\x6a\x54\xd4\xeb\xe9\x70\x37\xce\x8b\xdd\x56\x44\x65\x6c\xbd\x34\x4e\xb3\x29\xd1\xe8\xd5\x96\x6c\x02\x26\x00\xeb\x7a\xe5\x1d\xc7\x92\x07\xe3\x96\xcd\xc8\xba\xe3\x0b\x85\x51\xe2\xae\xb7\xeb\x82\xa1\x06\x28\x30\xa4\xe8\x60\xb4\xc5\x8c\x98\xb2\x69\xb2\x19\x6d\xa1\xed\x6a\x17\x09\x59\x89\x55\x1c\xa8\x3d\xec\xc8\x5b\x52\x18\x60\xbe\x8d\xc5\x63\x09\x5b\xa9\x3b\x2e\x2a\x16\x47\x64\x05\xd4\xe9\x78\xb5\x72\x17\x13\x7f\x9a\x39\xa8\x50\x79\x4b\x46\x10\x3a\x41\xf1\x02\xe9\x88\xfa\x7c\xc6\x2c\x88\xd5\x26\xb1\x37\xc7\x15\x21\x73\x0b\x9f\xcf\x52\x64\xbb\x5d\x13\x65\x57\x98\x96\x69\x36\xf4\x64\x1f\xa3\x7b\xe8\xa8\xb9\xfa\xc4\xc8\x23\x74\xb8\x08\x75\x44\xb6\xf7\xab\xe8\xd4\x00\xc0\x1e\xb6\x3a\x89\xc0\x66\x69\x4a\xee\x16\xf7\xc6\x84\x94\x4f\x68\xc4\x21\x43\x04\x07\x19\xac\xf9\xd4\xd4\x32\x80\x18\xba\xe3\x00\x06\x53\xce\x23\x96\x51\x3e\x86\xdb\x12\x00\xd2\xa2\x17\xb4\xc9\x45\xd0\xe9\xc8\x8d\xe5\x6e\xb8\x5c\x8e\x63\x6e\x57\x11\xf0\x98\x13\xd7\xfb\x35\xbf\x94\x0e\x2b\x4d\xf4\x5c\x90\x9c\xec\xfd\x98\x2e\x11\x99\x88\x62\x3e\x0f\xd5\xf5\x9a\x4d\x65\x94\xcc\xcc\xed\x7c\x0d\x92\x0a\x42\xfc\x85\x4c\x30\x02\x49\xa4\x39\x2a\xeb\xba\x6c\xc1\xc3\x2a\xa8\x2c\x8a\xe0\xf5\x9c\x59\x9b\x53\xb4\xc3\xf0\xcc\xc9\x0a\x62\x8c\x66\x9b\xc9\x81\x18\x9d\x90\x6c\x05\x8e\xf0\x2e\x6b\x59\x74\xd4\x18\x89\xcf\xb1\x3b\xb4\x65\xa4\x62\x1a\x7b\x96\x43\x1c\x86\x42\x8b\x59\x47\xf2\x30\x23\x7c\x7b\x8c\xcd\x40\x5b\xb3\xf5\x6a\xb9\x80\x27\x43\x93\x64\x70\xfa\xd4\xf0\xf9\x81\x65\xc0\x66\xbc\x61\x90\x72\x6f\x6c\x6b\xb0\x4c\x8f\x47\x77\xe1\x14\xf5\xce\x6c\x24\x11\x0e\x29\x7b\x1c\x02\x7c\x3c\x05\x26\x00\xc4\x38\x59\x12\xe2\xc6\xf1\x35\x6a\xca\xaa\xca\x81\xc7\x8f\xcd\x94\xdc\x83\x98\xa4\x57\x80\x04\x6a\xbc\x81\xc1\xaa\x59\x49\xbc\x10\xcf\xda\x7e\x4d\x5b\x25\xa9\x77\x44\xbd\x75\x8e\x61\x1b\xff\xd4\x60\xd4\x71\xd7\x8d\x93\xd3\x3c\xc2\xb2\xd3\x6a\x6a\x6a\x42\x49\x4a\xc7\x0e\xf8\x60\x21\x87\x48\x36\x74\xc6\xcb\xae\x44\x25\x74\xe5\xa3\x01\x0e\x48\x8e\x07\x3e\x98\xaf\x10\x7b\x99\x8e\x5a\x84\xa0\x7c\x63\xc7\x4e\x6a\x54\xab\x4e\x3b\xca\x51\xb8\xda\x04\x27\x39\x20\x18\x38\x3e\xaa\x0a\xa8\x2a\x1f\x8c\xb5\xd5\x76\x6d\x81\x99\x6f\xeb\x85\xb5\x06\x3a\x0d\x00\x44\xb5\xf8\x44\xc6\xe0\x62\x3a\x61\x5b\x5d\x3f\x58\x09\x81\x10\x89\x5e\x8b\x71\xb6\x67\xf6\x6c\x35\xf4\xa9\x3a\x4d\x8f\xf5\x66\x2a\x72\x49\xb9\x57\x0f\xa3\x75\xd4\xa9\xdd\x5c\x1d\xa3\x12\xcd\xc5\x52\xbd\x5b\xaf\xbd\xae\x5d\xe7\xc7\x31\x43\xf8\x94\xcf\x1b\x71\xb5\xdb\x30\x66\xb5\x04\x20\x3d\xe8\x48\x2b\x67\x14\x62\x2e\xc2\x4d\x36\x72\x98\x91\x6c\xe0\x64\x6a\x0e\x2b\x62\x01\x22\x8b\x94\x00\x01\x82\x6d\x04\x03\x11\x82\x41\xa3\x92\xa4\x1b\xaf\x01\x00\xa2\xc3\xec\xd5\x49\xd6\x6c\xa7\x73\x83\xea\x8e\x1e\x15\x5a\xc7\x2e\xdd\x56\x68\xc5\xe0\xdb\xc5\x28\x73\x97\x43\x53\x88\xa7\x53\x0d\xd0\x80\x20\xad\x63\xbd\x3b\xcc\x4c\x52\x23\x2a\xb1\x31\x80\xac\xd3\xa0\x99\x57\xcb\xb8\xea\x54\x9b\x3d\x02\xca\x24\x31\xad\x5d\x18\xfb\x43\xa8\x00\x48\xb2\x80\x18\x74\xce\x81\xf6\x15\x07\x48\x4d\x46\xfa\x47\x57\x6b\x4b\x8d\x5d\xc8\x34\x33\x86\x32\x69\x8b\x42\x2b\xc0\x4d\x9d\x70\x25\x3b\x1b\x7f\x92\x4b\x26\xb4\xd8\xb7\xb2\x7a\x44\x77\xfb\x84\xa9\xf7\x18\xee\xcf\x9b\x0e\x1b\x22\xf0\x76\x2e\x8c\x3b\xac\xf5\xb5\xe9\x74\xe2\x65\xc9\x5a\x5f\xd0\x36\xe5\x22\x78\xc3\x7a\x95\xd9\xba\x7b\xc7\x37\x50\xb5\x3d\xaa\x4d\x8a\x18\x99\xb5\xe1\x95\x43\xa4\x90\x23\xa0\xca\x70\x52\x1b\x19\xd0\xcb\xcd\x04\xf8\x40\x16\x89\xa5\x6d\x34\x00\xc4\x80\x50\x5a\x0d\x1e\xae\x92\xdd\x61\x71\x50\x95\x25\xb5\x0d\x36\x5b\x64\xb2\xf5\x8a\x9c\xc0\xb6\x33\x7c\x9f\xd7\x6b\xda\xda\x13\x24\x85\x4a\x8e\xbb\x61\x72\x52\xa0\x7d\x92\xda\x39\xcc\x4a\x6c\xa6\x00\x00\x4a\x6f\x34\x3c\x4e\xf5\x64\x84\xc4\x49\x53\xe4\xa2\x18\xac\x64\x4e\xd8\x8f\x6b\x84\x9e\xee\x0a\xf4\x38\x27\x52\x5f\x5c\xba\x5c\x5c\x58\x65\xe8\xef\xed\x20\xde\xd7\xee\x18\x30\x86\x0f\x55\xdd\xa6\xd1\xd3\xcd\x02\xd3\xf8\x45\x6e\xef\xed\xb5\x00\x70\xe3\x7c\xf2\x1a\x32\xbb\x03\xef\x0b\xc0\x42\xa6\x9b\xa2\x52\x31\xb7\xad\xe4\xa5\xe9\xe4\xab\xa3\x49\xcf\xa7\x64\x7c\x2c\x64\x85\xf7\x09\x2f\x0f\x9a\x74\xb9\xe6\xf7\xd5\xfc\x90\xe4\x63\x83\x5e\xa9\x47\xc2\x9b\xd0\x44\xa8\x63\x07\x9f\xdf\xca\xa0\xa1\xf0\x85\x37\x5d\x00\x91\x12\x03\x76\xbb\x04\x00\xc4\xbe\x00\x55\x4c\x39\x92\x20\xf3\xc4\x3b\xb3\x13\x99\xf2\x36\x56\xb4\x8b\x55\x1d\xcf\xd3\xb6\x29\x37\xc6\x8c\x29\x23\x34\xc2\x57\x61\x49\x02\x96\x9c\x32\x51\xb3\x9d\xd3\x33\x9f\x3f\xef\x0b\xa4\xa7\xa8\xdc\x23\xa4\xcb\x88\xd6\x62\xe1\x67\xdd\x54\x84\x98\xb6\x0b\x1b\x93\xf0\xb9\x16\xea\xd8\x90\x24\x80\x00\x62\x42\x58\xe6\xcc\xb0\x94\x66\x7c\x6e\x38\x27\x3a\x9c\xd9\xc5\x70\x64\xc6\xac\x5f\xd4\xd5\x68\xb7\xe2\xd3\xc8\xe5\xc7\x47\xba\xb1\x56\x27\xc0\xca\x04\x47\x53\x7a\x11\x8b\x0e\x01\x80\x8b\x0a\x40\x45\xe4\x03\xc4\x37\x4a\x49\xe3\x80\xb7\x2a\x31\x05\xd4\x78\x9e\x4a\x66\x63\xc6\x12\x67\x1d\xab\x4e\x5f\xba\xfb\xc2\x23\x26\xbb\x50\x8c\xd6\x1c\x42\x26\x04\x31\x06\x1c\x10\x1c\x6c\x0a\x66\x59\x49\x33\xb1\xa6\xce\x69\x92\x80\x9c\xad\xa7\x50\x24\x62\x2b\xf9\x82\x3d\x2c\x57\x79\xec\x08\xf0\x64\xbc\x68\x53\xb4\xc8\x93\xc3\x69\x53\x9a\xfc\x5a\x09\x61\x46\x3e\x9f\x1f\xca\xd1\x4c\x24\x81\x14\x6e\x0b\x99\x90\x01\x45\x52\xe5\x21\xcf\xb2\x55\x5d\xb9\x10\x32\x22\xbd\x99\x3f\x0e\x69\x37\x34\x37\xbe\x91\xc8\x80\xc3\x21\xbc\x29\x23\x9a\xa0\x43\x22\xce\x96\xf2\x58\x08\x11\x58\xd0\x64\x44\xde\xaf\x77\xfb\xb6\x0b\x21\xe0\xd5\x1b\x21\x13\xf7\xb4\xb1\x93\x25\xab\x2b\x90\xd3\x0c\x1f\x1e\x16\xbe\x88\x02\xba\x3d\x6e\x2d\xe9\xe0\xb4\xd6\x98\x1f\x47\x45\x5c\xec\xf1\x13\xba\x9f\x01\xd7\x17\xa8\x76\x3c\x4f\xf9\xd2\x58\x04\x5b\x07\x47\xeb\xc3\x68\x8a\x43\x59\xad\xba\x4b\x22\xcf\xc8\x90\x34\xd8\xa2\x83\xd6\x9d\x0e\x60\x8a\xaa\xa8\x29\xd0\x7c\x80\x05\x48\x2c\x92\x00\x74\x0e\x73\x84\x54\x68\xa7\xaa\xcb\xc8\x33\xd7\xb1\x96\x6f\x31\x3c\xd9\xa1\xca\x2e\x39\x1c\x78\x4f\xf4\xa2\x38\x60\xc1\xae\x9e\x18\x19\xa0\x01\xe9\x03\x90\x0b\x4a\x54\x2d\x20\x21\x92\xa9\xb5\xd8\x98\xa4\x7e\x3e\xd3\x27\x85\x32\x9f\x22\x6d\x90\xcf\x86\xfa\xfe\x20\x13\x0d\xd6\xe2\x23\xc7\xab\x0e\xd1\x5e\xa6\x4f\x35\x36\x9f\x11\xe3\x25\xa4\x8c\x47\x88\x7e\x98\x4a\x46\xe8\x4f\x1a\x29\x19\xaf\xeb\x14\xf1\x6c\x3c\x16\xa8\x55\x66\x6f\xf9\x72\x6c\x2f\x0e\xfe\x36\x58\x75\xf9\x11\x17\x14\x3c\x94\xa8\x30\x6e\xa6\x53\x2b\x37\x27\x87\x21\x27\x89\xce\x16\xa8\x40\x02\x46\x95\x38\x64\x9a\x6d\x9d\x22\x9a\xe3\xc2\x5c\x9d\xc0\x56\x5a\x46\xc6\x5a\x59\x32\x33\x1e\x51\x74\x56\x90\x52\xe2\x74\x9a\xad\xc1\x94\x3a\x8e\x17\x7d\xd4\xa2\x88\xa4\xac\x03\x7c\x5e\x84\xd5\xce\x10\xd1\xd8\xb1\x76\x2c\x26\x63\x1a\x7c\xb4\xf0\x09\x8f\x9a\x6c\xe0\x24\x84\xdd\xed\x77\xee\xa9\x36\xd0\x91\xbf\x00\x5d\xe1\x20\x4e\x73\xfd\x7a\x21\x18\xaf\xdc\xfe\x79\x7e\x5a\xef\x99\x35\x7e\x52\x9d\xbd\xbd\xb6\xd1\x64\xee\x64\x3b\xb6\x5d\xb7\x5e\x23\x80\x85\x1f\xaf\x89\x7c\xa1\x1f\x9b\x26\x82\x74\x29\x18\x79\xcb\xf9\x49\x97\xca\x21\x4c\x33\x50\x6e\x15\x50\xed\x8e\xa4\x2e\x9b\x37\xa6\x0b\x00\xe1\xa3\xf9\x08\x5d\x84\xaa\x0f\x4c\xd8\x32\x62\x29\x09\x63\xda\x67\xd3\xf1\x1c\x93\x9c\xc6\xdc\x77\xdc\xe4\x28\xed\x87\xd5\xb8\x2d\x5b\x5c\xc5\x62\xc2\x9c\x8d\x69\x5d\x26\x98\x31\xe0\x08\x90\xac\x4c\x16\x5f\x65\x73\x93\xcc\x78\x00\xa8\xb5\x07\x49\x16\x6f\x85\x13\xb8\x9d\x8c\xe1\x13\x3b\x59\x74\xbb\x99\x38\xda\x74\x8a\x90\x32\xab\xe4\xe8\x89\x65\x18\xcb\x6c\x63\x5c\xcf\xbc\xb1\x85\x4c\x4d\x57\x64\x1f\x72\x51\xbe\x8d\xc8\xf5\x9e\x58\x9c\x9a\xce\xe3\x71\x7b\x6c\xc1\xb4\x62\x10\x40\x8f\x01\x4d\x1d\x8e\x99\x38\x21\x64\x02\xd4\xc0\xaf\x3b\xe6\xc0\x2d\xaa\x64\xcf\x62\x82\x8b\x37\x3b\x21\xdb\xa6\x52\x00\xb0\x6e\x3a\x3a\xac\x33\x65\x95\xcc\x82\x26\x93\xd8\x8c\x02\x20\x26\xb7\x0d\x05\xc0\x68\xcc\xb0\xa0\xde\xec\x62\x36\xc3\x76\x1e\x5a\x55\xf3\xd9\x46\xa7\x3c\x30\x33\x13\x93\x24\x64\x24\x5b\x15\xf0\x50\x26\xa7\xdc\xb1\x26\x7b\xd9\xe6\x5b\x1d\xc8\xa4\x80\xa2\x62\x42\x63\xd2\x64\x6a\x80\x2d\x2b\x6b\xb3\x15\xb7\x5a\x66\xda\xac\x5b\x3a\x58\x8c\x4a\xde\x44\x03\xc6\x02\x2c\x89\x7a\xa7\x4d\xc5\xf3\x31\xfe\xbc\xd3\xf0\x95\x3a\xed\x9f\x33\x7a\x31\x67\xb7\x68\x6d\x93\x4d\x43\x1f\x87\xf4\x3a\x60\x8a\x50\x8f\xb6\xc0\x06\x16\x3a\x81\x77\x86\x95\x6a\xd6\x66\xbb\xee\x30\xa2\x59\xe7\x7b\xdd\x16\x2d\x41\xd9\x4f\x5c\x0b\xe1\x61\xd8\xd7\x3d\xcd\xcd\x0d\xba\x01\xc0\x92\x98\x72\xd9\x0a\x60\x2f\xab\x3e\x80\x00\xb1\xca\xcc\x29\xbf\x1f\x9d\xd0\x66\xef\x4d\x87\xfb\x72\xe3\xc0\x43\x4d\x92\xd7\x1a\x65\x5a\x44\x02\xa2\x25\x15\x1e\x8c\xa6\x06\xe8\x92\x9f\xf5\x7c\xd0\x84\x00\xaa\x99\x51\x94\xbb\x12\x46\x97\xc3\x99\x28\xcd\x86\xea\xac\x70\xa7\x34\xab\x59\x6c\xda\x91\x23\xd1\x4c\x76\x32\x0d\xc8\x13\xcc\x10\x4e\x3f\x0e\x60\xe4\xe0\x7e\x88\x77\x53\x05\x2c\x4b\x38\x19\x33\xcb\x8d\x91\xcd\x28\x03\x1f\xf3\xf3\x21\x41\x50\x75\x74\x88\x1b\xd8\xb0\x47\xf3\x89\xbc\xad\xe7\x86\xca\x41\xa8\x6d\xd9\xd9\x62\xc3\x17\xae\xb1\x47\xbb\x98\x9c\x59\x23\x99\x06\x34\xd3\xc1\x23\xb9\xf3\x0d\xeb\xa2\xbc\x70\xb6\x71\xda\x13\x39\x5e\xef\xb4\x1a\x42\x66\x86\x07\x3b\x93\xf1\x98\xc7\x0d\x0d\xcc\x75\x26\x01\xa3\x21\x64\x80\xa5\x10\xc2\xf2\x2a\x5b\x35\xa6\x6f\x82\x08\x4c\x86\x23\x89\xc5\x55\xa4\x1c\x09\x14\x7b\xdc\xcf\x66\xa2\x78\x98\x6a\x2b\xc6\xc1\x8a\x4c\xb0\xd2\xb9\x94\x69\xc3\x6d\xc2\x05\x86\xef\x4c\x36\x40\xbc\x7c\xcf\x23\x82\xf5\xd0\xd8\xca\x0d\xe6\xdb\x79\x27\xe5\xbc\x0b\x09\x2e\xba\x73\xf0\x50\x95\xc6\xe8\x8e\x3f\xce\xa0\x24\x3b\xd6\xe1\xb0\xd1\x97\x2b\xb0\x47\x46\xb3\x25\x26\x19\x6d\x17\xe1\xbe\x31\xc1\x56\x09\x3d\x65\x38\x80\x32\xa3\x44\x39\x60\x13\xfa\xe8\x4c\xc6\xc7\xc5\x66\xc7\xe0\x05\x35\xd2\x79\x1e\x34\xf8\x38\x58\x8f\x17\x16\xb9\x1d\x95\xcb\x85\xdb\x42\x51\xd7\xdb\x2f\x02\x0a\x76\xa7\xd9\x08\x9a\x8d\x47\x16\xb9\x58\x4d\x08\x0c\x36\x62\x8d\x25\x8f\x14\x2d\x54\x72\xa0\x25\xb8\x10\x92\x3e\xa0\xc1\xb6\xd8\x6d\xd7\xda\xaa\x2c\x7b\x56\x37\xb9\xe7\x0d\x2b\xa3\xc8\x3a\xd3\x4c\xf1\x61\x43\x0d\x6d\xcf\xac\x22\x61\x57\x36\xcb\x11\xac\x6e\x56\x12\xc2\x53\x69\x20\xc1\x78\x6c\xeb\x59\x51\x1d\xe1\x12\x1f\xa2\xbb\xd3\xd6\x83\x53\x69\xe9\xa6\x4e\x46\xb2\x29\x61\xc4\x61\x8d\x90\xf2\x9c\x58\xc7\x2b\x13\x1e\x09\x4d\x96\xa0\x0b\x38\x2a\xea\x95\x38\x96\x27\x59\x87\x57\x47\x4a\x3e\x41\x5b\x0b\x63\x3b\x29\x84\xfc\x25\x0b\x70\xca\xa2\x7d\xf0\x38\xf8\xde\xc7\x57\x61\x62\xfb\x5e\x09\x87\x4e\x96\xfe\x32\x1b\x0f\xee\x07\xe7\x02\x38\x4f\x5f\x7d\x80\x15\x1a\x84\xa4\x34\x88\x30\xf7\xb3\xbe\x2f\x4b\x55\x0f\x68\xdd\xef\x27\xc2\xf9\x23\x11\x9f\xec\x1d\x5c\x40\x85\x09\xeb\xe0\xe7\x92\xb9\x4b\x68\xbd\x07\xb9\x98\xaf\x48\xb8\x0d\xce\x1f\x02\x00\xa6\xd3\x23\x97\x04\xc2\x44\x62\xa5\xa8\x2f\xf0\x4d\x24\x50\x35\x19\x00\x2f\x34\x01\xe0\x48\x1a\x00\x6a\x7c\xae\x90\x7c\x00\x58\xbd\x01\x80\x3a\xf4\x98\xa5\xdc\x07\x80\x70\x9b\x74\x91\x2b\xab\xf3\xc8\x5b\xa1\x8a\xb8\x34\x58\x4d\x01\xdc\x50\x70\xb6\x40\xd3\xe8\xac\x7b\x71\xa3\x32\x71\x07\x00\xa8\xb9\x06\x80\x45\x28\x12\x9e\xa0\xc3\xae\x0f\x00\x23\x04\xbc\x42\x33\xba\xb7\x2c\xaa\xcd\x26\x2e\x37\xa2\x3b\x82\x31\xa4\x9b\x8e\xf1\x59\x4d\x75\x74\xd2\x2a\x4c\xb8\xe5\x4a\x69\x63\x4d\x0d\x2e\xd5\x78\xc6\x54\xd7\x98\xed\x54\xf4\xd0\xa9\xd6\x91\x53\xd1\xcc\x98\x43\x0c\x85\xa1\xd7\x20\x0b\x03\x39\x03\x7b\x99\x49\x42\x22\xf3\xd7\x36\x47\x03\x8a\x21\x13\x79\x13\xc5\x55\x86\xe0\x9a\x84\xa4\xee\x9a\xc3\xb7\xad\x65\xc7\x6b\x96\x0f\x53\xcd\xac\x22\x85\x67\x22\xa7\xea\xe2\x59\xe7\xce\x26\x13\x68\xea\xe0\x33\x48\xdf\xd7\x61\xbe\x25\xa9\xe1\x09\x9a\x41\xb6\x37\x19\x1d\x8f\x09\x1f\x1f\x31\x5f\x42\x4d\xa5\x7e\xf9\xa7\xd7\xa0\x2a\x32\x62\x89\xa5\x3b\x4f\x28\x6d\x75\xb3\xae\x0b\xbb\x38\x2a\x47\xbd\xd0\xd2\xd8\x71\x0c\x78\x64\x63\x31\xa5\x78\x8a\xc0\xb8\x0e\x6e\xd9\xe3\xb4\x3b\xae\xd1\xed\x44\xe2\xf2\xc6\x0a\x26\x4b\x6c\x12\xb2\x66\xb8\xea\xaa\xd3\xf1\x84\x87\x07\x80\x20\x5a\xea\xc3\xeb\x0d\x3b\xdc\x61\x73\xb9\x64\xa2\x10\x91\xb7\x1d\xe4\x00\x63\x88\xee\x3d\x25\xd2\x9a\x46\x77\xd1\xd3\xae\x34\xb8\xe9\x4c\xda\x6f\x17\x45\x93\x66\x3c\xb7\x68\xa6\x74\x06\x24\x0e\x30\xfe\xa2\xa1\x34\xb2\x75\x00\x4f\xd0\x3c\x17\x72\xc0\xcf\x42\x8e\x04\x9c\xcf\xf9\x1c\xc1\xcf\x73\x77\xa5\x90\xca\x01\x2b\x57\x24\x01\x78\x10\x86\x53\xd9\x07\x11\xbc\xe2\x98\x48\x25\x08\xf9\x18\x60\xb2\x12\xc9\x9b\x8a\x26\x09\x21\x6f\xd9\xd9\xb6\x18\x05\x62\x18\x05\x8e\x8f\xcb\x06\xee\x9a\x91\x0f\x14\x86\x50\xa3\x24\xd6\x93\x34\x9f\x2c\x92\xc5\x66\x5a\xc4\xd3\xc3\x6c\x24\xad\x04\x1e\xa1\x64\x32\x5a\x79\x1a\xed\xc8\x05\xa0\x86\x93\x19\x34\x81\x26\x8b\x72\x85\x1d\x2b\xbe\x99\x81\xa1\x75\xdc\x36\xcc\x4e\x16\xe1\x62\x08\x83\x13\x35\xc6\x85\x05\x71\x1c\xf1\x2c\x67\x73\x0d\x97\x73\xa3\x39\xb7\xf5\x8e\xee\x14\x2d\x10\x0e\x93\xc4\xfd\x91\xdf\x49\xd9\x68\xb7\x23\x0f\xcd\x90\x0e\x38\x25\x96\xe5\x10\xb3\xb1\x49\x8e\xd8\xd5\x4e\x33\x08\x14\x5d\x05\x5c\xcd\x56\xb3\x51\x95\xa6\x44\x31\x19\x75\xec\x12\x06\x73\xa0\x66\xe6\xfe\xd4\x1a\x86\x46\x4a\xe4\x6a\x27\xad\x97\xb3\x72\xbe\xab\x3d\xc8\xdd\xc1\x0b\xbc\xc0\xba\xa9\xa8\xce\x75\xe9\x88\xd9\x6b\x93\xe2\x0e\x38\x46\xd0\x9b\x0d\x2d\x2b\x2b\x52\x16\x46\x07\x26\xf6\x18\xd1\x75\x6b\xa9\x11\x0d\x6c\x2d\xe8\xc4\x86\x31\x4e\xc6\x26\xa8\x12\x6c\x5f\xec\xab\x63\x33\xc4\x8e\xf5\x62\x58\xaf\x36\x73\x00\x74\x3f\x88\xe6\xf1\x62\xb5\xe1\x67\xd6\xd1\xea\x16\x13\x6c\x9a\x75\x53\xb6\x94\x02\x86\x41\x6b\xcc\x66\x11\x7a\xca\xd3\x47\xb0\x0e\x3c\x28\x45\x57\x2c\x35\x41\xac\x09\xdc\x26\x8e\xb3\x5b\x10\xaa\x30\x13\x87\xe9\x06\x01\x87\xd4\x64\x54\x21\x24\x26\x3b\x2e\x94\x3a\x1f\x8b\xd0\x21\xe1\x99\xec\x7a\xe8\x8b\x51\x31\x84\x29\x82\x80\xc6\x6c\x34\x5f\x68\x6d\xa2\xec\xb6\xed\x6e\x06\x1d\x1c\x78\xba\x2e\x3b\x71\x16\x77\xcc\x6c\x86\x8f\xa7\x55\xd3\x5a\x24\x38\x8c\x9a\xad\x1c\x8a\xa4\x42\xaf\x57\x44\x44\x6d\x5c\x0f\xf3\x38\x7c\x3a\x83\x02\x0f\x86\x86\x35\xec\x55\xb0\x83\x01\x01\x82\x6b\xb5\x3b\x2d\xb4\xa3\x2f\x4c\x8a\x04\xaa\x08\x1a\x27\x2d\x30\x64\x15\x9b\xd1\x26\xd9\x61\x29\x0b\x24\xe9\x96\x07\x22\x1f\x0f\xe7\xd4\xcc\x63\x09\x6a\x32\xd9\xd4\x29\x3f\x1c\x67\x30\x34\x3e\x40\xb0\xb3\xe0\xcd\xc5\x0a\xdd\x05\xdd\x6e\x3e\x8f\x14\x33\x6c\x08\x45\x40\x77\xe9\x02\xc6\x42\xa5\x9b\xc0\xb5\x06\x4f\xd3\x5d\x5d\x77\xa8\xd6\xc6\xf6\x14\x0a\x36\xca\x96\x1f\xcb\xba\x40\xd8\x8b\x9a\x4f\x7c\x63\xc1\x2b\x42\xad\x06\x31\x47\xe4\x76\x15\xd2\x0c\xc8\x01\xc9\x31\x2c\x0b\xc7\x00\x86\x97\xec\x1e\xc3\x0e\x1e\xe2\xad\x8e\x32\xbf\xa1\x6d\x98\x4f\x59\x9a\xcb\x00\x61\xba\x33\x74\x04\x77\xd2\x6a\x07\xf1\x7b\xa2\x15\x79\x12\x86\x4f\xed\x06\x9a\x9b\xb6\xe5\xcf\x81\x55\x7a\x08\x52\x7b\xc3\x9a\x38\x9d\xd6\xa2\x5c\xcc\xe9\xd8\x35\x0c\x81\x5c\x6f\x65\x1f\x80\xb1\x94\x7a\xbe\xbc\x9a\xcc\x66\x93\xee\x68\xaf\x58\xd4\x9f\x97\x5c\x2e\x87\xee\xba\xce\x94\x06\xc0\x19\x0a\x6f\xa9\x6e\x82\x64\xbb\x1d\x94\x32\x9c\x0d\xef\x9c\xae\x43\x57\x07\x34\xe8\xd4\xad\x12\x95\x0b\xb2\x2d\x97\x1a\x8e\x11\xdc\x64\x6f\x92\x6b\x38\x0c\x5c\xd8\x21\x84\xb5\xa5\x59\x81\xec\x30\xc6\xec\x20\xee\x65\xc4\x4f\xe8\x26\xc1\x83\xe8\x50\x4a\x06\xbd\xa7\x32\xff\x80\x4d\xb6\xd2\xfe\x68\xd3\x31\x21\x2c\xc2\x2e\x31\x0d\x5f\x58\x5b\x6b\x64\xc8\xee\x3d\x69\x31\xb7\xc1\x56\x0f\xf3\x8c\xd7\xd6\x2c\x10\x1a\x1b\x17\xcc\x3c\x61\x49\x5e\x27\x90\x58\x26\x33\x1d\x29\x1d\x01\xf1\x49\x91\x57\xd4\xc3\x41\xda\xb3\x5e\x8c\xd0\x07\x2b\xe7\x72\x86\xdb\x52\xba\xb7\x6c\x1a\x49\x44\x4f\x13\x5f\xc2\xdd\x74\x1d\x14\x6a\x67\x30\x04\x45\x77\x62\x1e\xe9\x8b\xa5\x88\xe0\x04\xe7\x33\xa5\x3a\xf4\xfd\x76\xa9\x77\x82\xa1\x86\xa4\x52\xd2\x04\xad\xd3\x19\x13\x2a\x07\xf4\x38\x62\x97\x9b\xbd\xe8\x0e\xa7\xb9\xca\x1a\x9e\x95\xd6\x75\x1a\x5a\x76\x96\x73\x9c\x4c\x00\x2e\x48\xf5\x83\x7f\xdc\x0e\x2b\x1d\x93\x08\x81\x09\xd7\xa4\x2b\x9e\x5c\x40\xac\x09\x16\xda\x72\x19\x79\x04\x98\xb2\xd4\x67\xc2\x89\x92\x42\x3b\x98\xa3\x1b\x00\x40\x57\x76\x12\xbe\x64\x23\x8b\x5b\x3a\x02\x58\xd4\xae\xab\xb0\x21\x66\xac\x19\xc5\x5b\x38\xeb\xd3\xd4\x0d\x5a\x69\x64\x33\xf9\x31\x0a\xec\x84\x1a\xb1\x4c\x23\xcb\xb5\x5a\xf9\xcd\x62\x95\x97\x52\x67\xe3\xa3\x39\x05\x9f\x28\x5c\xa4\x1a\x74\x6f\x90\x05\x29\xb2\x6a\xa4\x37\x49\x53\x62\x11\x29\x02\x8a\x42\xe6\xa4\x95\x87\x76\x2c\xce\xb1\x6d\x68\xe3\x55\x61\x94\x3c\xd4\x46\x3c\x10\x54\x5d\xad\x44\x24\x5b\x97\xaa\x5c\xf8\xda\xdc\xad\x51\x71\x13\xc7\x74\xe2\x75\x0c\xcc\x2a\x41\x07\x91\xf8\x76\x1c\x9c\x68\xbf\x48\x4f\x7b\x63\xb1\xe8\x02\x27\xc8\x86\x21\x53\x52\xe1\x3c\x4b\xa4\xae\x82\xa8\x12\x9e\x76\x93\x15\xd7\x25\x3b\x05\x9b\x79\xab\xa1\x6b\x18\xaa\x44\x87\x7b\x05\x49\x95\x92\x29\xfc\x21\xa7\xe6\x49\x94\xc9\x33\x47\xab\x77\xad\x50\x10\x5b\x36\xc9\xf4\x8c\xb7\xd6\x49\xbc\xa2\x36\x8a\xe5\xbb\x22\xb5\x2c\xdb\x29\x5b\x6f\xb6\x55\x8b\x75\xc7\x63\xa0\xc8\x82\xe6\x32\xc9\x42\x06\x64\xa6\xa1\x6e\x63\xce\xbc\x9d\xb2\x8e\x8f\x60\x98\x0c\x5b\xfe\x84\x72\xb4\xef\x47\xab\x22\xd5\x8f\x1b\x62\x26\x22\xf1\x3c\xb2\x43\xa3\x85\x5a\x05\x06\x94\x5c\xaf\x14\x19\xe4\xb9\x6d\x22\xfc\xae\x93\x08\x02\xd9\x67\x0c\x28\x71\xe9\xb4\x1d\xcd\x68\xc4\x9c\xe4\x0c\x4e\x51\x94\x9b\x34\xf8\x64\xe1\x9f\x7c\x99\xdd\x6e\xcb\x09\xb7\xc7\xf9\x7c\x2e\x72\xcd\x7e\xae\x30\x0e\x83\xb4\x0c\xef\x50\x2e\x8d\xe4\xfa\x16\x33\xe5\x61\x60\xae\x4b\x8a\x51\xdb\xdd\x6e\x72\xf4\x59\xf1\x24\x61\x51\x24\xce\x43\x1b\xac\x3a\xd5\x01\x4d\x47\x20\xa6\x11\x27\xa0\x66\x33\xac\x93\xd9\x48\xb0\xf5\x3c\xd7\x58\xa0\xcb\xc4\x42\x4e\x81\x99\xe0\x3c\x3e\xdc\x79\x64\xec\x82\xb9\xc7\x7a\x28\x63\x93\x87\xd9\xce\xdd\xc8\xe2\x6a\x7a\xa8\x46\x25\x31\x96\xe2\xf9\x76\x85\xe7\x11\xd1\x74\x84\x3f\x67\x33\x41\x74\x1d\x6e\x3e\x45\xe9\x06\x51\x84\xb1\x7e\xd0\x5a\x16\xf0\x34\xab\x12\xe4\x22\x31\x58\xd2\x3e\x6e\x1a\xdd\x69\xe6\xf9\x46\xe4\x39\x15\x35\x53\x23\x28\x0e\xc8\xd0\x01\x92\xdc\x46\xe4\xc4\x14\xe7\xa3\x70\x7c\x6c\xc2\xf1\x68\x61\xe0\x55\xc1\x09\x43\x64\xce\x9f\xd8\xc5\x31\xd7\x34\x05\xa1\x2c\x2b\xe6\x2b\x9a\x16\x5b\x05\xe2\x0c\x9e\xd7\xd4\x98\x01\x8c\x6b\x2d\xf0\xc9\x3e\x63\xfc\xb2\x29\x68\x0b\xdb\x20\x63\xea\x88\x79\x80\x9d\x4c\x27\x46\x32\x85\x2b\xa4\x9c\xa6\x62\xec\xce\x56\x7b\x22\x60\xc9\xe5\x70\x3e\x71\xe3\x04\x9f\x21\x3e\x56\x70\x1d\x59\xc1\xa3\x13\xcb\xad\x43\x30\x72\xdb\xb9\x3c\x62\x25\xa7\xb7\x53\xb5\x39\xb7\x0e\x75\xa3\xa9\x4b\x6d\x23\x82\xcc\x37\x32\xb5\x8e\x6a\xb0\x69\xe2\x8e\xd1\x73\x55\x21\x4f\xf1\xd0\x69\x21\x23\x93\x88\x0e\xb6\xc2\x19\x76\x3c\x79\x14\x3d\x1c\x6f\xdb\x61\x58\x2f\x4a\xae\x94\xd4\x85\xba\x26\xeb\xa6\xa1\x03\xc4\x9e\x05\x70\xdd\x52\x25\x84\xfa\xeb\xb4\xa5\xf6\xd0\x64\xe6\xca\xc2\x3e\x88\x7d\x7c\x6b\xc5\xf0\x31\x0a\x6d\x2a\xa9\xa2\xe3\x66\xc9\x84\x49\xa2\x2b\x22\x8f\x1b\xa6\x14\x11\xb9\x1a\xbb\x6a\xed\xcf\x86\x1a\x65\x86\x1c\xe5\x6e\x9a\x8a\x3e\x6a\x1e\xb5\x8c\x5b\xab\xc1\x4e\x30\x86\xaf\xa8\xd4\xad\x17\x64\x08\x8b\x38\xe4\xc9\x88\x55\x8d\x1c\xd2\xe5\x86\x73\x98\x11\x98\xd6\x1f\x25\x22\x3d\x53\x26\x85\x22\xae\xb5\x10\x06\x55\x27\xad\x52\x7a\xb9\x10\x36\x06\x5a\x9d\x0a\x00\xc5\xcc\xa1\x8b\x84\x08\x23\x96\x1c\x12\x61\xc4\x9a\x1e\x95\x0d\xb5\x01\x93\x26\x4e\x90\x2d\x43\x47\xb4\x44\x6d\xf7\xdd\x7a\xd5\x25\xd4\x41\x6b\x70\x96\x4a\xb7\xfb\x6e\x34\x29\x1b\x97\x75\x84\x7c\x34\x86\xf6\x95\x07\x47\x88\x51\x17\x95\xa2\x73\xa9\xba\xe2\x37\x14\x66\xce\x10\x73\xb7\x71\xb6\x56\x35\xe1\xf0\x59\x05\x8b\xf8\x68\xc1\x8f\x2c\x9f\x99\xc4\x22\xd8\x96\xcb\x19\xb1\x0b\x37\xf4\xa8\xae\x82\x0d\xdd\x31\x84\x00\x69\x39\x08\x0a\xa3\x4e\x01\xa0\x3d\x3a\xc7\x29\x19\xcf\x4e\x27\x99\x83\x76\x91\xba\x4f\xe1\x6a\x5e\x5a\xbb\xb5\x03\x66\x7b\x6c\xb3\x3f\x46\x30\x62\x56\xde\x04\x3d\x52\x53\xe6\x64\x35\xb0\x89\x1a\x76\xad\x94\x00\xe0\x53\x8c\x4b\xa8\x14\xca\x18\x74\x4a\x2d\xe0\xee\xc0\xa4\x58\x93\x86\x70\xeb\xd0\xaa\x9a\x69\xc7\x88\x6e\x5b\x97\x20\x96\x61\xcc\xa4\x24\x88\x17\x84\x28\x42\x6c\xe0\x46\x18\x5b\x69\x41\xc6\xd1\x43\xad\x8e\xb5\x9a\x8a\x4b\x07\xf8\xa0\x5e\xb6\x24\x18\x6f\x96\x23\x76\x05\xad\xec\x69\xe0\xad\x4b\x16\xf8\xaa\x7c\x02\x88\xd5\x31\xc5\x94\x9b\xb3\x01\x4b\xd6\x91\xc7\x7a\xee\x2e\x11\xa5\x7c\x3b\x6d\xfc\xf8\x84\xa0\xc3\xfd\x26\xd2\xca\xbd\x99\xcc\x48\xc4\xdc\x2f\x79\xd5\x67\x8e\x6c\x0d\x56\x93\xc3\x56\x04\x98\x96\x3b\x0d\xc8\x86\x59\x46\x49\x4d\xb3\x17\x34\x16\x95\xa9\x63\x0d\xc7\x3e\x16\x93\x69\xe3\x8f\x67\x4e\xeb\xa8\x39\xef\x4c\x5d\x8b\x5f\xf9\x80\xf4\xbc\x1a\x98\x81\xbf\x43\x56\xee\x98\xdf\x9f\x44\x50\x6c\x46\xf0\x3c\xb6\xa6\xa5\x8f\x62\xfa\x48\x23\x77\x10\xad\x56\x88\xcc\x90\x24\x13\xae\x4d\x87\x19\x62\xc3\x48\xc3\xe3\x80\xc8\x29\x75\x03\xc4\x13\x44\x1f\x86\x2b\xb0\x31\x01\x67\xb2\x44\x3d\x93\xce\x3a\xef\x1d\x9d\x58\xdc\x4d\x4e\x20\x9a\x4c\x47\x9d\x5a\x6f\xa6\xe1\xc4\x1c\x4f\x2d\x29\x23\xc1\xb8\x75\xd7\xd3\x25\x0a\xd7\xb8\xa6\xb8\xa8\xdb\x4c\x46\x4c\xbd\x5a\x1d\xd2\x1a\xa3\x92\x7a\xb2\xc4\x67\x4a\xd9\xad\x17\xe1\x69\x7e\xf4\xe7\xca\x4e\xc4\x27\xec\x7e\xe9\x76\x89\x3f\xd6\xc7\x91\xb2\x00\x25\x82\x36\x73\xb0\x69\x42\x8f\x68\x7c\xdf\xcf\x6c\x51\xa7\x26\x19\x37\x9e\xec\x12\x9a\xdd\xee\x8f\xba\xbf\x4b\x0a\x42\xeb\xb0\xd9\x68\xd7\x8c\xa2\x72\x21\x08\xe8\x38\x4f\xfc\x4e\x42\x1a\xb2\x64\x1c\x6b\x34\x19\x6f\x5a\x4f\xcb\x2d\xb7\x6b\x6d\x72\x57\x43\x2c\xd8\x28\xfe\x18\xc5\x3d\x55\x43\xba\x00\x76\x89\x31\xb3\xa1\xf6\x02\xa6\xe9\xbe\xd1\xc8\x0a\xad\x67\x15\x02\x18\x92\xa6\x5b\x4c\x9f\x5a\x19\xe1\xd3\xc0\x68\xdc\x4c\x4f\x03\x8f\x49\xd7\xf3\x45\x57\x81\xe1\x09\xd7\xf6\x70\xd7\x92\xdc\x49\x6f\x38\xc8\x4b\x4a\x7b\x95\x8e\x52\x66\x7a\x38\x1d\x19\xa6\x44\x28\x98\x9c\x22\x23\x2b\x0d\xb1\x7d\x7e\x18\x8a\x26\x0c\xd1\xe4\x64\x9f\xaa\x3e\xbc\x83\x46\x3e\x31\x9e\x9d\x36\x0d\x4c\x38\xa9\x49\xec\x28\xce\x13\x0b\xd3\x5e\xac\xc7\x80\x04\x26\x93\x24\xfb\x3c\x9c\x98\x87\x3c\x21\x95\xb5\x78\x40\x13\x7b\xe1\x73\xd2\x81\x71\x74\x79\x22\xd2\x45\x3e\xb2\xda\x43\x92\x5a\x08\xdf\x22\x10\xc7\xaf\x97\x04\x57\x8c\x0e\x79\xd9\xc5\xd3\x11\x0a\xef\x9a\x7c\x82\x59\x4b\x12\x5b\x35\x49\x20\x90\x32\xd0\xd7\xe4\x1c\xd4\x23\xb1\x5e\xc6\x45\x48\xcb\xf4\x69\xdc\xd9\x8c\x5d\x2f\x02\xd6\x1f\xcb\x64\xbc\xf4\xf6\x95\x37\x33\x65\x8e\x74\x16\xc3\x10\x8b\xa6\x30\xae\xf3\x2e\xbc\xb5\x2c\x96\xd6\xe6\xcd\x9c\x34\x85\xe9\xa9\xdb\x37\x58\x80\x1f\x59\x26\x01\x9b\x53\x32\x9c\xb9\xed\x6e\x49\x23\x74\xe5\x1c\xa2\x56\x33\x56\x9a\xeb\x22\x07\x06\xe4\xca\x6a\x69\xd3\x95\xd3\xca\x20\x04\x88\xe6\xc5\xa4\x27\x1c\x15\x4a\x53\xb3\xcd\x5a\x33\xf9\xed\x28\xc8\x26\x23\xe5\x80\x44\x20\xdf\x36\x54\x91\x07\x85\xa4\xd0\x2e\xc2\xe5\x23\x20\x11\xf5\x29\x08\xe7\x6c\x59\x55\x39\x81\x13\x59\x10\xea\xc9\xc1\xca\x7d\x2f\xc6\xc5\x76\x78\xc8\xea\x22\x35\xc9\xad\xa3\xfb\x78\x93\x2f\x1c\x47\xb7\x4b\xc3\x32\xc8\x05\xe0\x75\x2b\x10\x6c\x5d\xcb\x47\xc1\x51\x5b\x93\xf9\x26\x05\x0e\xcd\x49\xe5\x1c\x41\x76\x6d\x6d\x98\xca\x61\x2c\x02\xcc\xdd\x8c\xf8\x9a\x9c\x57\xa3\x36\xa0\xc1\x61\x1d\x1d\x70\x8e\xc4\x45\x68\x6e\x6e\x0d\x04\xde\x2e\xf8\x71\x30\x43\xdd\x24\xb6\x79\x6e\x3e\xd3\x82\xe8\xd4\x6d\xe9\x99\x2f\x23\x85\x49\x8c\xe3\x5c\xf5\x75\x07\x21\xb5\x29\x89\xa4\x72\xb7\xd2\x8f\x24\x15\xa1\xd9\x24\x3c\x95\xba\x8e\xf8\x49\xc9\x38\x2a\x49\xa6\xbc\x55\xe6\xde\x61\x4c\x54\x2b\x3d\xc2\x58\xb5\x2d\xe6\x64\x20\x58\x79\x52\xc3\x3a\xea\x37\x42\x29\xae\x32\xd4\x82\x69\x08\x9b\x4d\x00\xbd\x60\x16\xf8\x94\x16\x59\xe6\x30\x77\x61\xb8\x45\x22\x7c\xe6\x9b\x8d\x02\x19\x6b\x7d\x7e\x4c\x80\xdc\x52\x43\x74\x6e\x59\x7e\xd6\x0e\xab\x3c\xac\x55\x7b\xcc\x4a\x24\xcf\xf1\xd3\x3a\x69\xb3\x51\x40\x2f\xa4\xf6\xa8\x32\x2b\x3a\xac\xb9\xd6\x51\x46\xa1\xbb\x59\x76\xc6\xe1\xd0\xa4\xf2\x86\xb0\xfc\xa0\x98\x16\xa3\x04\x16\xb6\xac\xdf\x76\x25\x94\x2d\xe9\xa1\x06\x97\xc4\x31\xf0\xfd\x10\x38\x27\xa9\x80\x08\x18\x86\x98\x93\xde\x95\x3b\x0a\xa1\x15\x71\xa2\x30\x5c\xb4\xd7\xfc\x3d\x4a\x2c\xb5\xc4\x4f\x03\x5d\xdf\x38\x2e\xba\xc4\xd5\x9c\xd0\x73\x9c\x1c\x53\x06\x0b\x88\xc4\xa6\x8b\x11\x34\x5d\x40\x45\x15\xce\x63\x0d\x50\xba\x80\x73\xd3\x88\x9f\x6e\x3c\x8a\xf2\x4a\x58\x00\x0d\x36\xe9\x56\xba\x5a\x98\x7a\x3a\xaa\x72\x5e\xe2\x0f\x34\xae\x05\x92\x0a\xc8\x14\x52\x3a\xd0\xfb\x56\x70\x3e\x01\x89\xcf\xa1\x79\xb0\x8e\x4e\x1e\x81\x5b\x07\x39\x04\x25\x63\x55\x11\x23\x59\x1c\x04\xb2\x89\xea\x9f\x2a\xc3\xf7\xf8\x4c\x36\x88\x68\x07\xb1\xca\xbc\x68\x8d\xc0\x20\x98\xf9\x81\xdd\xa3\x78\x98\xa8\x2b\x2c\x2f\x19\x1d\x9c\x62\x93\x54\xe9\x72\xad\x52\x6e\x8d\x9e\xa6\xe3\xf5\x52\xae\xa3\xfa\x54\x25\x9c\xdb\x18\x07\xac\x52\xf9\x6c\xd4\x15\x15\x87\xf0\xba\xb8\x0f\x01\xdf\x6d\x0b\x02\x06\x60\x6a\x2a\x29\xb9\x5e\xa6\x0b\x69\x89\xf1\x35\x73\xa2\x43\x6e\x3f\x05\x96\x97\xce\x0c\x07\x69\x16\x08\x1f\x29\x95\xe8\xcf\xe3\xdd\x9e\x62\x89\x86\x52\x17\x42\xd7\xe4\x13\x57\xb1\x16\x90\x6d\x86\x47\xab\x01\x20\xb7\xe2\x75\x0a\x56\x15\xa2\xb5\xb5\x6a\x12\x42\xe6\x90\x60\x48\x08\x7a\xcb\xf9\x22\x71\x42\x2a\x5b\x07\x12\x19\x1a\x61\x14\xc6\x7a\x14\xa6\x08\xcc\x6c\x99\x94\xee\xb0\xb6\x95\x17\x73\xd1\x1f\x17\xb9\x97\x6c\x66\xb9\x2d\x27\xd8\xa4\x45\xa9\x78\xb1\x10\xf5\x31\x67\x71\x9c\xd6\x48\x3a\x59\xd8\x34\x30\x68\x25\xab\x14\xdc\x71\x32\x4a\xe6\x01\x37\xa1\xe6\x44\x51\xb6\x53\x71\x85\x65\x50\x7a\x84\x8d\x99\xcb\xee\x30\x02\x38\x43\x6e\xef\xd7\x12\x82\xb8\x90\x94\xb3\xbb\x9d\x59\x34\xa3\xb0\x40\x66\x6b\x31\x1c\x35\x2e\xbe\x22\xa7\xf2\x82\x62\x37\xec\x3c\xe1\xd8\x62\x38\x9f\xba\x7e\x29\x49\x7e\x76\x92\x78\x62\x36\xc1\x16\x7b\x05\x16\xd4\x85\xc9\x98\x55\x7d\x4a\x5a\x93\xb4\x24\x5d\xaf\xc4\x69\x87\x86\x70\x83\x4f\x9d\x95\xaf\x69\xe2\x8a\xa2\xf0\xb1\x27\x6f\x86\xc9\x7c\x32\x9e\xaa\xc9\xe1\x00\x1d\x00\x43\x2b\x52\xc3\xc9\x2a\x50\x2d\xc3\x25\x40\x28\x73\xb2\xef\x73\xd3\xc3\x04\x72\x60\xb0\x57\x49\xda\xb7\x08\x3f\x81\x35\xdf\xc2\xca\x2a\x3b\x0a\x27\x5c\x29\x0f\xdd\x82\x10\xf7\x52\xe3\x29\x6a\xb8\x09\x96\x12\xd3\x28\x21\x42\x26\xfc\x36\xa0\x51\x42\x4b\x60\xa1\xcc\x97\x32\x92\x3b\x85\x68\xd8\x7a\x44\xed\x61\x64\x97\x76\x3e\xb2\x42\xb2\x38\x3a\x04\x25\x84\xdb\x93\x61\x9b\x79\x00\x59\x08\x64\x5d\x70\x45\x90\xec\xd0\x82\xef\x1c\x7b\xe6\xc4\x88\x9e\x60\x3a\x72\xb0\x32\x70\x58\x36\x06\x3a\x02\xea\x2c\xa7\xdd\x14\xa0\x9c\x5f\x8b\x78\xc4\x2c\xc8\xd9\x68\x6b\x2e\x56\x61\xc8\x9b\xdc\xbe\xa2\xb9\x29\x46\xf8\xfe\x5a\xb0\xf3\x5e\x83\x5a\x8c\x46\xab\x36\x4c\xe3\x15\x2f\xb5\xb3\x6e\x1a\x4d\xc0\x96\xd0\x35\x42\x55\xa2\x22\x9e\x56\x47\x68\xae\xbb\x14\x47\xc6\x51\x99\x07\x4c\x79\x5c\x40\x96\xed\x08\x8b\x74\xe8\x2f\x30\x03\xa1\x38\xb2\x90\x6a\x79\x73\x54\xb3\x40\x5f\xd2\x68\x91\x76\xf8\x50\x3e\x38\xee\x6a\x59\x19\xa5\x32\xa7\x89\xad\xe4\xa7\x5b\x37\xda\x6b\x86\xa0\x5b\x6b\x7f\x7d\x50\x52\x7c\xc7\x02\x42\xca\x0c\xc2\x59\xd2\x68\x57\xb1\xab\x34\x5b\x4c\x96\x60\xc7\x82\x25\xab\x4e\xdd\x55\x47\x23\x65\x2b\xba\x25\xb7\x38\x1c\xcb\x79\xb1\xc9\x1c\x7a\xae\x98\x1b\xa6\x1d\x4f\x76\x7a\x37\x3a\x4d\xd0\x99\x37\x31\x1b\x1c\x50\xfb\x3a\xd9\xa2\x80\xcf\xd6\x07\xb4\x25\xab\xa2\x71\x03\x44\x93\x95\x6e\x82\x9b\xc9\x22\xb7\xb8\x19\x1b\x56\xec\x5e\x23\x49\x1b\x11\x2c\xb0\x14\xe6\xd9\x66\x3a\x8d\xf5\x0c\xca\xc9\x24\x0e\x08\xa0\x9a\x62\x02\xf6\xf4\x64\x4c\xdb\x38\x99\x2d\x4f\x5e\x41\x99\xb5\x6e\xb1\xca\xa6\x09\x0f\xe8\xca\x4e\xa7\x05\x7c\x5a\x46\x8e\x08\xc2\xc3\xf1\x08\xe5\x0d\xc3\xac\x93\x5c\x3e\x6c\xe3\x71\x58\xda\x87\xcc\x30\x2a\x7b\x5f\xf2\x3b\x02\xc9\xc3\x4d\x43\xd2\xa1\x1b\x9c\xd8\x7c\x0c\xaf\xd8\xbc\x76\xd3\x5d\x39\xf5\xa9\x04\xdf\x22\x93\x76\x03\xb5\x1b\x22\xa5\xd7\x38\xb6\x3f\xa2\xd2\x3e\x9b\x60\x30\x8a\xb4\x90\xd7\x39\xf8\x84\x39\x8d\xc5\x25\xcc\x49\x1b\x0b\xb2\x5a\xe2\xc8\xd1\x63\xcf\x23\xb3\xe3\x36\x45\x98\x4d\xb7\xdf\x1c\x2a\xbc\x2e\xe8\xd2\x88\xe7\xe5\x4a\x9e\x2e\x19\x76\x85\x28\x2b\xd8\xf5\x3a\xbc\x3c\xc2\xb3\xf9\xd4\xaa\x85\x69\x73\x40\x6b\xa1\xad\x22\xa5\x84\x70\xdc\x59\x96\x13\x0f\xab\xc6\xc3\x25\xbd\xd9\x34\x06\x67\xe8\x27\x6f\x98\x41\x3b\x28\x4d\x37\xa5\x36\xb4\xe2\xa2\x09\xd9\x99\x2b\xec\x17\x39\xa4\x59\x46\x90\x29\xcb\x13\xcc\x6f\x47\xab\x62\xb5\x8f\x4f\x3b\xd0\x51\x61\xb3\x43\xa7\x47\x9f\xc2\x81\x01\x81\x5a\x1d\xb9\x87\x91\x5d\x63\x4c\xad\xc2\x1c\xc2\x11\x63\x02\xdb\x8a\x93\xc5\xa4\x29\xd7\x18\xc7\xab\xc4\xfe\xb8\x45\xe3\x12\xf1\xb7\x98\xe9\x73\xe1\x29\x41\x82\x10\x5e\x72\x09\x01\xe7\x23\x31\x0f\x91\x99\x54\x40\x8d\x47\x1c\x6a\x88\x8c\x43\xd6\xac\x5a\xb8\xa8\xc9\x7c\xbe\xb6\x6a\xcc\x91\x28\x58\x75\xbc\x1a\x99\x86\x99\x1e\x32\x81\xb3\x19\xa2\x05\xab\x9d\x10\x99\xde\x68\x6e\x23\x18\x0b\x63\x42\xc0\x18\x3a\xae\x2a\x6c\xc7\xa6\xc7\x84\x51\x64\xb1\x9e\x1e\x11\xcc\x06\xb4\xc2\xed\xb5\x13\x39\xe2\x40\xc5\xcf\x5d\x1f\x2e\x27\xd2\x7e\x91\x6c\x59\x93\xd8\x18\xe8\x4c\x33\xaa\x71\xcd\x18\xc4\x10\x33\xc4\x8d\x55\x31\x4d\xc1\x35\xe2\x12\x60\xee\x71\xeb\xcc\x5b\x1b\x30\xa6\xbc\x9d\x2d\xe8\x91\x0c\x18\x6e\xb2\x8c\x66\x8e\xef\x82\x93\xe4\x2d\x50\x92\x89\xd5\xe9\x66\x55\x6c\x29\x3d\xb3\x34\x12\x8f\x39\xaf\x35\x38\xbe\x41\x56\x33\xae\xa1\x54\x87\x30\xda\xce\x90\xb4\x99\xec\xfb\xc7\x6d\x58\x1f\xd7\xd2\xde\x9c\xa5\xe5\x8a\x68\x93\x05\x89\x54\x5b\x07\x9a\x0f\x1b\x90\xf3\xeb\x13\x2b\x6a\xd2\xb6\x75\xf6\x8d\x49\x40\x60\xe1\x13\x1a\xb9\x9c\x42\x6b\xcd\xcc\x6d\x44\x06\xb2\xae\x51\x35\xe2\xb1\xd0\xc9\x49\xf2\x11\x21\x55\xa7\xb9\xa1\x26\x48\x81\x13\xa1\x3f\x6e\xcc\x84\x3f\x98\xcd\x72\xa9\xed\x38\x7b\x53\x96\x28\x36\xa1\x68\x4e\x31\x44\x93\xd1\x65\x8e\x4e\x53\xaa\x91\xe6\x44\x93\xcd\x67\xbb\xdd\x70\xb6\x82\xaa\x8d\x36\x42\x09\x2b\x34\x2a\x52\x59\xa8\x63\x6a\xda\x88\x48\xa7\xb4\xe3\x1d\x6f\xc0\x52\x37\x9b\x0d\xf7\xae\xd4\xe5\xd8\x26\x47\xed\x59\x68\x08\xb1\x16\xdb\x27\x99\x51\xa6\xb3\x95\xb9\xd2\xf2\x69\xb3\xe0\xc5\x53\x89\x57\x5c\xb5\xac\x4d\x76\x04\xed\x0e\xc7\x76\x36\x31\x59\x4e\x96\x91\x8d\xb3\xd3\x2b\x25\x89\x74\x3f\x3d\x4c\xa0\xa9\x5b\x6b\xd9\xb0\xb0\xe7\xd2\x7e\x08\x62\x02\xd1\x52\x20\x25\x33\x73\x2c\x61\xa3\x0d\x3f\x12\x41\x19\x45\xd3\xb8\x9a\x6e\x45\x29\x11\x3b\xa9\x61\x69\xf3\x2c\xb7\x93\x2b\xa5\x7b\x53\x19\x67\xe4\x98\x00\x94\x30\x6a\xa8\x99\x37\x75\x51\xca\x18\x8f\x24\x1f\x73\x45\x61\xae\xd7\xb5\xae\x3b\xe4\x91\x89\x9c\x15\x80\x57\x0d\xa9\xa4\xa6\x44\x01\x3e\x03\x18\x70\x97\xca\x69\x68\xa7\x73\x40\x90\x60\x22\xcd\x8e\x6c\x5f\xe7\x16\xed\x14\x2f\x5d\x9f\xa8\xb7\xc9\xa8\x30\x47\x1c\x69\xe3\x09\x3c\x55\xa3\xa1\x97\x8a\x9a\x8c\x20\x00\xf5\xe7\x53\x62\x2b\x48\x0e\x49\x24\x79\xe7\x03\xd5\xdf\xe3\xb8\x38\x81\xe0\xcc\xe6\x77\x9b\x3c\xd9\x29\x58\x35\x6a\x4f\xc8\x04\xac\x4b\x9d\x09\x74\x4e\x89\x4f\x5e\xe2\x48\x8e\xeb\xcd\xa4\xdc\x60\x79\xdf\x5e\xa7\x23\xc6\x6e\x02\xff\xb0\xd8\x05\x51\x22\xed\x3d\x74\x9c\x5a\x89\x72\x6a\x37\x72\xe5\xad\x92\x9d\x8e\xb5\x46\xc6\xe4\xc9\xd6\x47\x57\x66\x25\xae\x87\x45\x31\x86\x30\xcf\xdb\x8c\x72\xc9\x3e\xd0\xfe\x69\xcd\xab\x01\x1b\xf1\xb3\xbc\x45\x67\x13\x65\xe3\xba\x69\x19\x86\xeb\x2d\xd9\xd4\x8b\xe3\x48\x0f\xf9\x99\xbd\x81\xb7\xa6\x4a\xc4\xf4\x24\x35\x46\x92\xe9\xa1\x2e\x38\x50\x60\x82\x4e\xba\x78\x86\x97\x23\x0e\x58\x2a\x97\x09\xc7\x19\xc3\x25\x6c\x85\x16\xcb\x49\x4e\x95\x93\x25\x0e\xc7\xa3\xb5\xc1\x49\x5e\xa9\x34\xec\x54\xdb\x96\xe8\xc1\x6f\x8e\x9b\x70\x5c\x0b\xc5\x6c\x45\x40\xf5\xb4\xde\x67\x89\xea\x09\x71\x96\x5a\x73\x44\x49\x94\x78\x0c\x9c\x15\xeb\x68\x40\x26\xa7\x73\x02\xae\xe7\xf4\x76\xa4\xac\xb4\x2c\xc0\xc7\x7b\x6c\x1b\x90\xad\x83\x05\x3e\x36\x23\xfc\x74\x96\x6e\xcb\x66\x95\x1b\x84\x30\xc2\xe8\xc2\x52\xd0\xea\x20\x19\xd8\x68\xea\x19\x2d\xbe\x41\x9b\x4e\x51\x5a\x54\x18\x22\xd8\x61\x88\x9e\xe8\x4d\x36\x22\x8e\x4e\x71\x9a\xcd\x38\xdc\x6b\x6a\x6e\x14\x99\x6e\xb9\x1f\xab\x9c\xd4\x1a\xa3\x2c\xd9\x48\x4d\x1e\xa8\xe3\x7a\x9f\xf9\x81\x48\x35\x08\x0d\x8e\x1b\xfa\x98\xa9\xbe\xb6\x03\x42\xb1\xb3\x75\x11\xcc\x18\x64\x2f\x4f\x5c\xcc\xc5\x9c\x20\x42\xd2\x7d\x26\x43\xb3\xed\x14\x5b\x86\x02\x62\x68\x29\xeb\xa5\xae\x74\x70\xd3\x85\xcb\x71\xe6\x44\xc0\x4c\x1e\x59\x4e\xf3\xdc\x0b\xdb\xad\xe7\x88\x66\xd8\x32\x39\x6b\x2f\x29\x0e\x4a\x74\x24\xc5\x72\x37\x9e\xda\xb3\x14\x5a\xb6\xfc\x74\x52\xef\x8f\x13\x04\x43\x5c\x69\x6a\x1e\xd9\xc5\x30\x29\xa6\xdd\xba\x34\x89\xd8\x2a\xac\x53\xa2\xa9\x82\xad\xc7\xf2\x72\x01\x8c\x0c\x3e\x26\x6d\xc9\xb5\xa4\x81\x54\x0b\x8f\xef\xca\x09\xba\xcd\xa6\x60\x9b\xa9\xec\x64\x78\x28\x32\xb5\x5a\xa8\xd3\x7a\x34\x9e\xac\xba\x93\x30\x1d\xcf\x67\x59\x8b\xa1\xa7\xfd\x7a\x18\xeb\x63\xb8\xd4\x0a\x93\x09\x12\xf9\xb0\xb6\xd4\xb9\xab\x26\xd6\x21\x37\xac\xf8\x60\x60\x5c\xe7\xb4\x91\x35\xf6\x8e\xda\x9a\xc9\xbd\xed\x3a\xd1\x50\xa8\xda\x8f\x45\x66\x32\x96\x2a\x77\xab\x2e\xc6\x43\xff\xd4\x51\x1b\x2d\xb6\x90\x40\xa0\x67\xf2\xac\xa0\xe7\x45\x21\x4c\x6b\x7a\xe1\x39\x43\xc3\x81\xb6\x0e\xcf\x1d\x77\x4a\x73\x12\x87\x4d\x1e\x16\x27\xb4\xd4\x47\x59\x7e\x54\x0e\x66\x45\x3a\xb5\x2e\x10\xaa\xc0\x9b\xf2\x0e\x96\x3b\x87\xd9\x20\xa4\xb2\x44\x14\x67\xea\xae\x52\x6a\x74\xe0\xad\x49\x16\x19\x02\xc9\x9a\xee\xd4\x40\x27\xb0\xa2\x38\xe2\xcc\x07\xc0\x6b\x1c\x18\xdd\x96\x0b\x16\x9a\xa7\xe4\x0e\xda\xe4\xf0\x2a\x61\x4a\xa6\xa2\x89\x3a\x59\x1c\xca\x72\x9a\x69\xdc\x66\x16\x77\x3a\x43\xca\xfc\xac\x00\xe1\x5e\x31\x66\xa8\x51\xed\xb5\x96\x3d\x1d\xea\x43\x2e\x74\x8b\x7d\x0a\x31\x35\xd4\x96\xc2\x49\x5f\x74\x8b\xee\xd4\x06\xf5\x26\x8d\xd4\xe5\x62\x3c\x5e\xa7\xa6\x42\x40\x42\x4a\x52\xcb\x93\xcb\xae\x60\xd7\xea\x72\x52\x9f\xac\xd7\x7a\x0d\xe6\x5d\xdb\xec\x8f\xb1\x69\xcd\x9c\xc5\x3a\xc1\x9d\x6d\x2b\xea\x39\x85\x1e\xa3\x83\xdc\x75\x91\xd1\xd0\x3a\x47\x4e\xe6\x5b\x38\xdc\xc8\x47\xaf\xc3\x76\xaa\x19\xaf\x15\xc4\xb4\x16\xb5\xae\x1f\x23\x93\x6d\xf0\x11\x06\xf1\x73\x61\x46\x0b\xae\x56\xb8\x1a\x42\x6d\x51\x6d\x3d\x23\xa5\x31\xe5\xcd\xd5\x53\xc0\x7a\xd5\x7a\x63\x1c\xa4\xdd\x71\x03\x0e\x93\x04\x39\x9a\xb3\xf6\x48\xac\x21\x74\xaa\x1c\x79\xec\xe4\xaf\x70\xc7\xc6\x04\x27\xe7\x75\x7d\xd2\xd0\x0a\x6c\x00\x99\x38\x08\x28\x0b\x53\x8a\x05\x05\x65\x4e\x79\xd3\x21\x6d\x0a\xa5\x5c\x5a\xc6\xd0\xf0\x27\x99\xb0\x14\xf6\xa7\xb9\xe7\x97\x9b\x65\xcd\x48\x34\x86\xa0\x66\x53\xc0\xf3\x29\xe3\xa1\xf9\x01\xdf\x1d\xb8\x9d\x95\xc8\xc7\xfd\x96\xdd\x5a\x63\x30\xef\xa8\x65\x72\xf9\x87\xb6\x1a\xc4\x42\x23\x5d\x9b\x68\xa7\xd6\x41\x59\x00\x00\xe0\x37\x0a\xb3\x66\x95\xc8\xdc\x28\xb1\x94\x2c\x4f\xd6\x9a\x41\x2c\x19\x9c\x44\x8a\x46\x17\x1a\x40\x17\x9a\xd8\x18\x14\xdd\x4a\x7b\xbd\x91\xf6\xe0\xb4\xd0\x00\x22\xed\x41\x23\xd9\x6a\x44\xfa\x00\x00\xd2\x40\x14\x23\x40\xac\x39\x83\x58\x5a\x5e\x6d\x51\x25\xb7\xd2\x08\x88\x7b\xd0\x8a\x27\xa4\x15\x55\xa4\x11\x0d\xb9\x15\xa9\xac\x93\xa8\xec\xb4\x24\x91\x66\x49\x65\x8d\xb8\xdc\xda\x53\xe2\x7c\x3e\x0b\x54\xdd\x90\x14\x61\x44\x9a\x1c\xf7\xfd\xc3\x52\x27\x4b\x1d\xbb\x82\x5d\xbb\xf2\x06\xf7\x83\xca\x6b\x2b\x38\x8f\xed\x30\x1d\xdc\x0f\xb4\xda\xbb\xbf\x41\xd1\x1b\x50\xfb\x37\x28\x32\x9c\xdc\x20\xe3\x2f\x38\xfa\x05\x1b\xde\x40\x08\x82\x20\xdf\x47\x19\xd8\xa9\xef\xc5\x99\x0f\x1f\xbd\xa2\x0c\xb3\xf4\x3d\xe2\xe1\xc3\xe4\x47\x5a\x7f\xc6\x53\xcf\xc7\x2f\xc8\xf4\x97\xe1\xf8\xbb\x08\xfc\xb0\x82\x59\x1a\x50\xef\x9b\xfa\x61\x75\x53\x78\xc7\x5f\x2e\xf9\xd9\xce\x10\x77\xf7\xde\x83\xd7\xe6\x59\x51\x95\x8f\xbf\x9f\x5b\x7f\xc9\xee\xe3\x70\xfb\x25\xfc\xf6\xed\xfe\xf5\xdd\x72\xf7\xc5\xdd\xef\x83\xba\xf4\x6e\xca\xaa\x08\x9d\x6a\xf0\xf5\x7a\x4f\x9a\xeb\xed\xc2\xd4\x7b\xbe\xcb\xae\xba\x1f\xfc\xfd\xef\x5e\x29\x9e\x33\x8c\x0d\xee\x7f\x3f\xda\x71\xed\x7d\xf9\x09\xf9\x76\x77\x5f\x3d\x90\x2c\x50\x54\x5a\x53\x1f\x7f\xff\x76\x5f\x3d\x5c\x2f\x67\xff\xfb\xb5\xf4\xf1\xa5\xfe\x81\x78\x05\xfc\x2b\xf2\xdb\xe3\xe7\x77\x8d\xfd\x77\x75\xbe\x6a\xec\xbf\x77\xe7\x9b\xc6\xfe\xbb\x38\x5f\x34\xf6\xdf\xe9\x1f\xdc\x33\xf6\xdf\xc7\xff\x8f\x5d\x33\xf6\x4a\x0e\x0f\xe0\xf1\xe5\xc6\xb0\xd7\xe5\xc4\xf5\x96\xcf\x17\x89\xe1\xbf\x3d\x7e\xef\x3a\xaf\x70\xff\x4f\x5e\xe7\xf5\x9a\x22\xf9\x6a\xac\x7e\x1d\xf5\xc4\xfe\xe5\xd7\xe0\xbc\x26\xa7\xbc\xef\xcd\xbf\xe2\x46\xad\xd7\x04\xe4\xc7\x7f\xe7\xa5\x58\xaf\x29\x09\x8f\xff\xba\x0b\xae\x5e\xe3\x35\x3f\x0c\xf8\xbf\xf2\xae\xaa\xd7\x94\xe8\xd7\x63\x3f\xfe\xed\xf1\xdf\x79\xb3\xd4\x6b\xba\xd6\xf7\x7b\xf8\x97\x2f\x89\x7a\x8d\x97\x7d\xdd\x9f\xc9\x73\x7f\xfe\x2d\x77\x3b\xbd\x9e\xa3\xe7\x6b\x9c\xfe\x77\x5e\xd4\xf4\xd1\x9c\xc3\xff\xf1\x1f\xff\xe3\xe6\x3f\x6e\xb8\xa7\x9c\xd6\xe5\x4d\x15\x78\x37\x76\x55\xd9\x4e\x70\x93\x78\x55\x90\xb9\xf7\x37\x55\x60\x57\xd7\x32\xef\x02\xf0\x74\xd9\xf2\x4d\x95\xdd\xd8\x37\x6b\x6f\xab\x66\x4e\xe4\x55\xfd\xc2\xe0\xd9\xc9\x43\x8f\xf2\xff\xba\x64\x98\xbc\x69\x2f\x57\x41\xb9\x6e\x96\x96\xf0\x05\xc9\xf5\xe7\x0c\x15\x87\x8e\x97\x96\xde\x8d\xc8\x69\xff\xe3\xe6\x3f\xe0\xff\xf1\xd3\x33\x87\xe7\x0c\xe3\x4f\xeb\x52\x75\x5b\xdc\x22\x77\x77\xdf\x6e\xdf\x64\xd9\x7f\xbd\x16\x5d\xee\xfe\xfd\xfd\xdb\xf3\x1d\xb2\x0f\x17\x2a\x8f\x6f\xbb\x7c\x1f\xde\xfd\x5e\x3c\x5e\x6e\xe6\x7c\x7c\x7c\x2c\xfe\xf1\x8f\xe2\xde\x7b\x28\xcf\xec\x3f\x56\xf7\xde\xc3\xdf\x77\x71\x5d\x06\x44\xbd\xdb\x79\xc5\xeb\xcb\x4c\xbd\x87\xa6\x08\x2b\xef\xd6\x7b\xf8\xfb\x05\xf1\xa5\xcb\x17\xc0\x7e\x09\xfd\xa4\xf8\x62\x95\x2f\x19\xab\xc2\xc4\xcb\xea\xea\xf3\xe6\x7d\xe5\xf7\x70\x9c\xeb\xce\x88\xbe\xf5\x00\x79\x5d\x06\x5a\xf6\x9e\xbd\xb3\xac\x3e\x69\xfc\xb7\x4f\x4b\xa1\xc7\xea\xcb\xe7\x8c\x3c\x56\xf7\xa5\x57\xbd\xe2\xf5\x95\x30\xee\x87\xfd\x00\xf4\x3c\xf8\x5e\x25\x7a\x65\x69\xfb\xde\x1b\x0e\xc2\xbf\xbd\xe3\xef\xb6\x7a\x70\xed\xca\xbe\xfb\xf2\x24\xbb\xeb\xfb\x19\x49\xe9\xa5\xee\xf9\x4a\xee\x37\x37\xb4\x9e\xf3\x4d\x9c\x6f\x1d\xae\x7a\x6f\x86\x3e\x7a\x69\xb5\x08\xcb\xca\x4b\xbd\xe2\x76\x90\x5c\xa8\x0e\xde\x32\x71\x77\x5f\xfc\xfc\xb3\xf7\x90\xa5\xb7\x83\x1e\xfd\xe0\x35\xf6\xbb\x4f\xf1\x38\x71\x56\x9e\xb1\xb8\x5e\x2f\x81\x87\x6d\xd8\x13\xbd\xaf\xee\x3e\x07\xf7\x8a\x22\x2b\x3e\x05\xef\xd9\xbc\x14\x7e\xc8\x8d\x9f\xed\x76\x9f\xf2\x73\x5b\xbd\x68\x5f\xf5\xb7\x27\xd5\xfb\x52\xdd\xfd\xfc\x73\xf5\x50\x78\x49\x76\xf4\x7e\xb0\xd7\xd7\x1b\xb4\x9f\x50\xf4\x52\x7d\x75\x35\xf0\x07\xe5\xbf\xa8\xfe\xdb\xc9\x71\xc9\xc1\x7c\xa9\x7b\xdb\xfe\x43\xaf\x5e\xb5\xbd\xd4\x5d\xdb\xf6\x32\xf8\x76\xf7\x5d\xcb\xc2\x84\xd5\x8b\xb5\x70\xce\xc9\x54\xca\x1b\x3b\x75\x6f\x8a\xac\x29\x7b\xf3\xd1\x9b\x13\x37\x4c\xbc\xb4\xf7\x91\xcb\x9b\x6c\x77\x13\x56\xe5\x0d\x25\x89\x37\xde\xc5\x24\xf5\xd6\xa4\xc7\xf4\x3f\xff\xe7\x0d\xc8\xf3\x22\xbb\x5a\x8e\x5f\x6e\x94\xac\x29\xbf\xdc\x68\x45\xdd\xfb\xee\xde\x15\xd1\x31\xec\xf1\xf4\x68\xde\xd8\xa9\xdc\x2e\xbc\xb4\x7a\x42\x79\x13\x78\xa1\x1f\x54\x37\xdb\xd3\x5b\xa8\x22\x6b\xae\x55\x4f\x44\x7f\xb9\xb9\x24\x80\xf9\x67\x09\x9d\xf3\x1c\x7e\xa0\xe3\x3c\xdd\xd8\xd7\x93\xb8\x80\xdc\x9e\x73\x62\xdf\xb8\x61\x99\xc7\xf6\xe9\xcb\x4d\x98\xc6\x61\xda\x5b\xe2\x8f\x1c\xf6\xd2\xab\x9e\x98\xe9\x85\x75\xc1\xd0\x84\x55\x70\x06\x76\xea\xa2\xe7\xa1\xc7\x9d\xd6\xc9\xd6\x2b\x7a\x26\xaf\xa2\xbf\xfb\xbe\x6d\xde\x85\x55\xff\xef\x7f\xd9\x2a\x7f\x34\xc4\x79\x91\xe5\x59\xe9\xcd\xbd\x2c\xf1\xaa\xe2\xf4\xe1\x2a\x79\xef\xe1\x69\xa8\x2f\xd2\xa3\x2f\x6f\x4f\xd7\xc9\x9f\x93\x4f\x9c\xb1\xf6\x7a\x7a\x9f\xdd\x97\x4f\x99\x9e\x7d\xaf\x22\xb3\x24\xaf\x2b\xcf\x55\xab\xd3\x39\x79\xfd\xe7\x98\xee\xd3\x97\xe4\xf0\xe7\x1b\x9a\x9f\x82\x15\xa3\x8f\x4d\x6e\x07\x97\x41\x1f\xdc\xdd\xdd\xdb\x8f\xa2\x5d\x05\x0f\x89\xdd\xde\x22\xf7\x7f\xd8\xe6\x2c\xf5\xc1\xdd\xdd\x2f\xc3\xc9\xdd\x7d\xfc\xe7\x2c\xdd\xdd\x07\x8f\xe9\x2f\xb7\xcf\x38\xe3\x4f\x70\xe6\xb6\xeb\x86\xa9\xff\x4b\x95\xe5\x83\xbb\x3b\xe8\x87\x60\xb7\x59\x55\x65\xc9\xe0\xee\xee\xee\xde\x79\xb4\x7f\x90\x40\x71\xed\xef\x8f\x91\x88\xbd\x5d\x75\x26\x50\x3f\xde\x7a\x0f\x45\xd6\x90\x59\x5a\xd9\x61\xea\xf5\x6b\xe7\xeb\xd7\x87\x5d\x58\x94\x4f\x52\x27\x83\x30\x76\xef\xee\xdd\xc7\xfa\x21\x4c\x53\xaf\x60\x35\x71\xf1\xa4\x14\xf5\xc3\x39\xb3\xc9\xc3\x55\xdf\x1f\x07\x17\x7d\x1f\xdc\xbf\x82\x7d\x1c\xac\x07\xf7\xe1\x63\x7d\x4e\x91\x95\xd5\x69\xcf\x0a\x19\x87\x5e\x5a\x29\x9e\x53\xdd\xde\x5d\x92\x88\xde\x7f\x40\x35\xb8\xaf\xfe\xa0\xd1\x65\xa8\xdf\xd0\x71\xef\x8b\x17\xf5\x08\xe0\xea\xee\x3e\x7b\x79\x77\xe0\xf0\xee\xfe\x77\x27\x8b\xcb\x2f\xd9\x7d\x6f\xb4\xbe\x14\xdf\x7a\xb3\xbf\x0b\xab\x0f\xa9\x56\x8a\xc7\x0f\xca\x7e\xeb\x9d\xb3\x90\x9f\x6f\x47\x0f\x3b\xef\xb6\x78\xe8\x51\xdd\x17\xbd\xd8\xca\x77\x36\xf7\xbb\xf3\xe4\x95\xed\x7d\x8f\xbe\x37\xc2\xef\xd0\xbc\xe1\xec\x55\xd3\x5d\x58\x3d\x81\xff\xa1\xc5\xae\xe3\xf8\x92\xa9\xf5\xe6\x6c\x19\x6e\x76\x59\x71\xb1\x14\x0f\xfb\xf2\xfb\xd6\xe3\xb9\xd5\xab\xc7\x7f\x83\x2d\xa9\x32\xdf\x8f\xbd\x9e\x47\xf5\x4c\xe2\xb3\x44\xc6\x5f\x8b\xb7\x4b\xec\x93\x4d\x70\x62\xbb\x2c\xfb\x75\xf5\xc1\xb9\x28\x6c\x79\x3b\x78\x61\x76\x70\xf7\xb7\xc1\x65\xfd\x1d\x7c\x19\xd8\xae\x3b\xf8\x52\xfd\xed\xf2\xfb\x54\x7c\xff\x09\xaa\x5f\x8b\xdf\xde\x22\x79\x3b\x16\x2f\xec\x96\xef\xd9\xed\xbd\x9d\xf7\xbd\xf9\xb1\x35\x55\x0b\xc2\xf2\x9a\xc0\xfd\x26\x2f\xb2\x63\xe8\x7a\xe5\xd5\x59\x2f\xcf\xa3\x75\x59\xdc\xc3\xd4\xbf\xb1\xdf\xb9\xea\xd7\x37\x37\xfb\xd4\x69\xff\xee\xe8\x3e\x37\x7b\x79\xfa\x77\x7b\xef\xcf\x84\xc0\xff\xef\xc6\xff\x6f\x75\xe3\x2f\x86\x8c\x57\xa5\xe5\xc3\xd9\x08\x3e\x79\xed\x5f\x07\x65\xe5\x66\x75\x35\x78\x7c\x2c\xce\xb9\xe2\x6e\x3f\x3a\xfc\xc5\xaf\xc3\xdf\x5e\xdc\xfd\xf3\xdb\x9f\x7b\xfb\x67\x52\xe5\x39\xe7\x4a\xb8\x3b\xdd\xfe\xda\xd3\x09\xd3\xc1\xbd\xf7\xd2\xb8\x52\xc3\xce\xfb\xb1\xb6\x5e\xf5\xf7\xde\xd0\x0e\x2e\x2b\x53\x79\xef\x9d\x0d\xee\x6f\x77\xff\xc2\x90\xe2\x52\x71\x31\xe8\x83\x57\x0c\xfe\x49\xb0\xf1\xac\xd1\xd4\x5f\x8b\x3a\xbe\xdf\xae\xef\xd2\xbb\xda\xff\xd3\xe2\x90\x3f\x98\xc6\x6f\x03\x92\x77\x80\xdf\x8f\x4c\xbe\xdf\xe1\xcf\xb0\x51\x3f\x12\xab\xfc\x2f\x6d\x6a\x7f\xbd\xe4\x04\x2e\x6e\xd1\x49\xef\x38\x0c\xea\xf4\xd2\xd4\x1d\x3c\x3e\xf6\x0c\x67\xbb\x9b\xd4\x3e\x86\xbe\x5d\x65\xc5\x7d\xf9\x98\xfd\x6d\x90\x66\xae\x37\xf8\xf2\x5c\xf8\x50\x97\x5e\x01\x7c\x2f\xad\xee\xd3\xcf\xaa\xf3\xd8\xae\x76\x59\x91\x7c\xad\x1e\xc2\x92\x09\x0b\x6f\x97\xb5\x8f\x3f\xfd\xf4\x7f\x97\x0f\x61\xea\x7a\xad\xb4\xbb\x1d\x5c\x4b\x07\xbd\x26\x85\xa5\xa8\x72\xf4\x3b\x80\xbe\x68\x70\xf7\x8f\x7f\xbc\x2d\xd5\x8a\xd0\xf5\xd2\xea\xa9\x99\xed\x9c\x13\xb0\x5e\x97\xc6\x5f\x07\xa2\xed\x84\x69\x95\x95\xc1\xe0\xbe\x7f\xe6\xd2\xca\x8b\x2f\x8f\xab\x15\x79\x79\x18\x4f\x85\xc1\x6f\xf7\xe9\x05\x01\x97\xdb\xee\xe3\x20\x5c\xd9\x7d\xd7\x1f\xd3\x6b\x59\x90\xa5\x5e\x5f\xda\xff\xbe\x94\x8b\xea\xfa\xec\x30\x97\x6f\x49\x5e\x0b\x07\xf7\xfd\xd3\x70\x7c\xf9\xc5\xd0\xcb\x2f\x49\xbf\xd0\x5a\x84\x69\xdd\x3e\xa6\x2f\x7d\x39\x17\x0c\xee\xfe\xeb\x11\xf9\x93\xf1\x7d\xce\x1e\x1d\x5e\xa6\xc8\x73\x3e\x5a\xef\x21\xb7\x7d\x6f\xf3\x26\xec\x78\x49\x50\x7f\xad\xbd\x0f\xaf\x4f\xe6\xd7\xea\xe7\x9f\xab\x9f\x1e\x1f\x4b\x2f\xde\x3d\xb8\x99\x53\x9f\x1d\x83\xa7\x87\xab\x0f\xfc\xf5\xae\xf8\xe5\xb1\xea\x27\x61\xe9\x55\x0b\x6f\x57\xdd\x87\x2f\xef\x5a\x96\xdf\x57\x8f\x83\xcb\xcb\xea\x1c\xb0\x0c\xc2\xf4\xa6\xfa\xdb\x13\xc0\xa5\xec\xcb\xbb\x68\xe6\xba\x46\xfe\x5a\xdc\x87\xbf\xbd\xe4\xc2\xce\xae\x0b\x63\x76\x5f\xde\xa7\x77\xd7\x84\xbb\x97\x2e\x3e\x2d\xaa\xf6\xaf\xc8\x6f\x97\xf0\xc6\xf1\xc2\xf8\xf6\xb6\x7f\x87\x6e\xd3\xbf\x15\x17\x4f\x1a\x46\xbf\x20\x77\x77\xf0\xf5\xed\xee\xde\xfe\x75\xf8\x1a\xbc\x7f\x85\x8b\xab\xff\xdc\xd7\x3e\x21\x4b\xc2\xf4\xf6\x39\x68\xb2\xcf\x49\x05\xef\xee\x33\x68\xf8\x1a\xc3\x3b\x98\xe1\x19\xa6\x3c\xc3\x7c\xfb\x27\x4e\x91\xce\x51\x56\x56\xb8\xa5\xe2\xc5\x76\x15\x1e\x3d\x2d\xbb\x0a\xe7\x31\x7c\x5d\xfd\x98\x5d\xde\x14\xbb\x21\x4e\x95\x77\x2d\x7c\xef\x4a\xdc\x3f\x27\x3b\xce\x5e\x15\xdd\xdb\x8f\x69\xdf\x99\xf8\x31\xfd\x75\xf8\xdb\xb3\x0c\xa1\x47\x0c\xbd\x8f\xcf\xff\xff\xde\x7e\xb1\xef\x4f\x5f\xe2\x6f\xff\xea\x73\xb2\x67\x93\x82\xf5\x16\xe5\x95\xf7\xf2\x3c\xda\xde\x73\x3e\xa3\xde\x23\x7d\xf4\xee\xc3\x87\xf3\xc9\x5d\x4f\xc3\xae\xe3\x4a\xad\xb2\xa2\x5f\xd8\x53\xaf\xb9\x09\x1f\xe2\x70\xfb\x70\x2d\x79\x10\xbd\x24\x2b\x4e\x2f\x79\x1a\xaf\x20\x97\xd6\x4f\x89\x2c\x5f\xaa\x2f\x51\xa1\xb7\x2b\x6f\xef\x1e\x4a\xaf\xba\x1d\xf4\x2b\xc8\x2f\x5e\xea\x64\x7d\x64\x35\xb8\x1f\x14\x76\x33\x78\x95\xf6\xf1\xc1\xf5\x9c\xac\xb0\xab\x6b\xd2\xb3\x9e\xbb\x6b\x6d\x98\xbd\xe4\xd8\x7d\x08\xb3\x87\xde\x71\x78\x9d\x08\xf6\x21\x4c\xcb\xca\x8e\x63\xc1\x3b\x6d\x33\xbb\x70\x6f\xef\xbe\x3d\xa7\x76\x7f\xb1\xfe\x61\xba\xcb\x3e\x46\x37\xbf\x5f\xb7\x37\x2e\xc9\x92\xae\x2f\x97\x68\xed\x92\x75\x36\x6b\xca\x6f\x6f\x97\x91\xac\xae\xf2\xfa\x6d\x08\x77\x49\x71\xfd\x9a\xc9\x57\x09\x71\x7b\x96\xcf\x6e\x8d\xae\x31\xc3\xf1\x79\x8b\xf2\x35\xba\x32\xc8\x9a\x0f\xde\xd4\xab\x7c\x5c\xd7\x2a\xef\xbe\xfa\x2f\xe4\x6f\x6f\x90\xf6\x2d\xa5\xa3\x57\xc4\xf6\xe9\xdc\xe0\xcb\x1f\xd4\x5e\xd2\x17\xbe\x21\x7c\x59\xaa\x3f\x90\xbe\xd2\xfd\x0c\xcd\x6b\x86\xce\xd9\x38\xbd\xb7\xc9\xb3\x2e\x36\x58\x0b\xab\xd8\xfb\x98\x3e\xeb\x8c\xf0\x2d\xd0\x47\x59\x5c\x54\xc6\x2b\xbc\xd4\x79\x97\x82\xeb\x25\x19\xf3\xd7\xd7\x69\xfa\xbc\xbb\x87\x5d\x56\xd0\xfd\x4a\xfd\x0c\x5d\x9c\x03\xa4\x4f\x54\xb0\xb8\xf7\x7e\x2d\x7e\xbb\xfb\xf6\x8e\x6a\x96\x72\xe9\xfb\x11\xbd\x2a\xde\x43\x96\x1a\x9a\xe0\x9d\xca\xaa\xc8\xa2\xb7\xde\xae\x77\x5b\xdd\x7d\x7b\x52\xd0\x57\xd9\x8e\x3f\x02\xbd\xa7\xa6\x9c\xfd\xbf\xef\xf5\xee\x85\xf2\xd3\x9c\x7a\x0f\x7f\x76\x7f\xaa\x27\x65\x7d\x2c\xee\xab\xb3\x9a\x3e\x86\xf7\xde\xb9\xee\xdb\xfb\x0d\x59\xdb\xa9\xc2\xa3\x5d\x7d\x1c\xe4\x0f\x1d\x7c\x49\xf9\xf8\xb6\x4f\x6f\xca\x3f\x70\xf6\x52\x7b\x96\x7a\x9d\x7e\x9c\x90\xef\x34\xef\xb3\x7c\x6f\x6f\xf4\xf1\x4f\xe6\xf7\x1b\x74\x67\x3f\xf9\x73\x05\xfe\x9c\x95\x6f\xb7\x77\x5f\xab\x07\xf6\x6c\xc4\xb2\x7f\x8f\x05\xfe\x8e\xe9\x7d\x9e\xd6\x75\x11\x3f\x65\xda\x3c\x77\xa4\x0f\x35\x1e\xab\xcf\xec\x96\x53\x78\xef\x86\xee\xc9\xcd\xf0\x9a\x9b\xec\xf6\x09\xdb\x3b\x5c\x2f\xdd\x24\xb3\x34\xf5\xce\x4d\x19\xdb\xa9\xb2\xe2\xf4\x18\x9e\x79\xfc\xee\xf2\xf0\xcc\xe3\xd6\x2e\x2e\xeb\xc0\x73\xc4\x7f\xae\xfc\x8c\xc9\x2c\x7f\xbd\x43\x71\xf7\xfb\x8f\x0c\x50\x8f\xfe\x52\xf5\x7e\x40\x7b\xc5\xfb\x38\x1b\xcf\xf0\xcf\xa7\x3c\x6f\x4c\x7b\x29\xbd\xa3\xff\x3a\x6d\xe2\xb9\x5d\xe1\xd9\xee\xe9\x9c\x3a\xf7\xf1\xf1\xb9\x3b\x0f\xa4\xb4\x5c\xd2\xa4\xc6\x2d\xe7\xff\xf8\xc7\x9f\xc1\x4a\x2b\x7a\xf9\x7e\x26\xbf\x25\xfb\x86\xd1\x2c\x7d\x2b\x93\xb3\x31\xf8\xcc\x16\x38\x5e\x78\xfc\xc4\x5c\x5e\x91\x24\x9f\xc4\xd9\x2f\xc7\x61\xef\xb1\x91\x6f\x05\xfd\x0e\xd7\xbb\x61\x78\xe1\xe8\xbd\xa2\xfc\xbb\x26\x45\xef\x96\x7c\xad\x5e\x29\xfc\xaf\x83\xc6\xdb\x56\xd5\x69\xf0\xdb\x7d\xf5\x90\x94\xfe\xd9\x0e\x5f\x13\x59\x3f\x0e\x90\xc1\xab\xd2\xc7\xc1\xf0\xfa\xba\xea\x0d\xd2\x00\xbd\xbe\x5d\x4c\xd0\x93\x41\x7a\x1c\x60\xd7\xf2\x2b\x16\xe9\xb2\x58\x3f\xe3\x7a\x7a\x7f\x46\x96\xbd\x46\xa6\xbe\x5d\xc3\x9e\x91\xa9\x6f\xd7\xa5\x01\xfe\x52\xae\x78\xce\x45\x6e\x8f\x83\xd1\xe0\xcf\x26\xd6\x25\x72\x7d\xf1\xa0\xae\x16\xc0\xf9\x30\x45\xaf\x59\x76\xed\xc2\x3f\xdb\xf7\xf3\x73\x5d\x05\x5a\x16\x79\x69\xef\xa8\x5e\xec\xe5\x13\xe5\x5f\x86\x3f\x32\x27\xcf\x09\x56\x7b\x3f\xff\xbc\xce\xdc\x97\x8f\x9f\xd3\xbe\x1a\x9c\xdb\xbb\xfb\x0f\xad\xed\x57\x5e\xa1\xae\x31\x53\xca\x73\x32\xd7\x2b\xbe\x96\xd7\xa9\x70\xfb\x0e\xbe\x78\xcc\x9e\x0c\xf8\x2e\xbb\xbd\xfb\x5a\x7e\xba\xf5\xf2\x3b\x28\xfc\x73\xe4\x53\x7e\xc9\x2e\xf9\xc6\xc1\x53\x57\xfb\x82\xa7\xe7\x6f\x77\x1f\x6c\xab\xd7\x2b\xe6\x15\xe9\x27\xca\x00\xbd\x27\xf4\xe4\xeb\x79\x4f\xdb\xf1\x77\x77\xdf\xbe\x5e\x59\x7c\x5a\x96\x6f\xc3\xbb\xfb\xf0\xb2\xd9\x7e\x71\x05\x2f\xfb\xed\xf7\xcf\x60\x67\x6d\x7c\xb3\x1f\xf9\x9a\x83\x73\x2d\xe4\xdd\x7d\xbb\xbb\xf7\x1e\x4b\xaf\xea\x43\xdf\xe2\x68\xc7\xaf\x45\xf3\x1a\xbe\x57\xe6\xbb\x6f\xf7\x98\x87\xf7\x4d\xca\x17\x8b\xf0\x61\x37\xbb\x0f\x24\xcb\x38\x74\xbc\xdb\xe1\xdd\xd7\xb2\x09\x2b\x27\xb8\xf5\x7e\x45\x7e\xbb\xfb\xdd\xb1\x4b\xef\xe6\x95\x76\x7f\x79\xe2\xf5\xfc\x76\x6b\x9f\x3d\x6b\xd7\xbb\xb5\xab\x6c\x7b\x5b\xdc\xdd\xdd\x7d\xdd\x16\x9e\x1d\x7d\x7d\x69\xd7\xcf\x82\x2f\xef\x0b\xdf\x4e\x86\x27\xa4\xef\x3c\xb8\xe2\x23\xb2\xb7\x93\xe5\xcb\x65\xcc\x5e\xed\x0a\x16\x77\x5f\x5f\x70\xbd\x82\xbc\x0d\x3f\xc5\xf5\x3c\xc1\xce\x98\xca\x77\x98\x9e\x72\xe0\xc7\x99\x7f\x3b\xa0\x53\x7b\x1b\x87\xa9\x7f\xf3\x3c\x35\xbe\xdc\x0c\xa0\x12\x1a\xdc\x94\x7d\x81\x5b\x9e\xf3\x61\xbf\xcc\x9b\xf2\xdb\x55\xe6\x67\xbb\xf9\x7a\x88\xce\x5b\xb6\xcf\x63\xe7\x3d\x0f\xff\x8b\x2f\x75\xfb\x5c\xf6\xca\x81\xbf\x1d\xbc\x18\xd1\x9b\x33\x52\x77\x70\x8f\xbc\x21\xfa\x5f\xc8\xcf\x3f\xdf\x16\x8f\xaf\x76\x59\x5f\x6b\xc6\x63\xf6\x47\x13\xf2\x4a\xf0\xec\x3e\xf5\xf3\xb3\x5f\x37\x87\x1e\xf6\x1f\xaf\xd0\xdf\x5d\xd5\xa8\x9f\x8d\x77\xcf\x9b\xe2\xe9\xed\xdd\xfd\xfb\xde\x3d\x91\x2f\x7a\xf8\xa7\x65\xf8\x79\x31\x58\x7b\x5b\x4d\x33\xff\x7d\x0b\x01\x72\xf7\x35\x7c\x88\x33\xdb\x05\xae\x9b\xa5\xb7\x83\x5d\x58\x0d\xee\xfe\xd8\x7c\x7e\xf4\x92\xaf\x11\xec\xbb\x88\xf4\xfe\x6d\xdc\xf4\x90\x35\xa9\x57\x50\x4f\xdb\x2c\x17\x61\x5e\x63\xfe\xdb\x81\x1b\x1e\x9f\x82\xd0\x6b\x8b\xcb\x09\xcd\xd2\x4e\xbc\xc7\xc1\xf9\x28\xe3\x97\xec\x12\xfe\x0c\xde\x80\x5d\xc5\xf7\x88\x7a\xd8\x93\x39\xee\xcd\xc7\xd3\xa6\xe7\x1b\x6f\xe7\x32\x6c\xbb\xb0\x1f\xb4\xeb\x4b\xe9\x14\x59\x1c\x6b\x19\x71\x3e\x83\x3d\x97\xbf\xd6\xa3\x6b\x22\xf1\x2b\xf0\xd9\xa1\x83\x06\xed\x00\x7a\x5b\x7e\xb1\x4c\xd5\x3b\x96\x9e\xa2\x92\xab\xbd\xba\x1d\xf4\xca\x30\xb8\x7f\xc3\xd0\x5b\x66\x6f\xef\xee\xaf\x87\xd0\x1f\x37\x93\x9f\x36\xab\xff\xb0\xf9\xb7\x5e\xeb\x5e\x11\xed\xb5\xcf\xbb\xff\x09\xf9\xa7\x03\xf1\xe7\x6e\xbf\x0a\xc5\x9f\xbb\xfc\xe7\xf1\xf8\x0b\xfc\xf5\xcc\xe6\x87\x63\xee\x97\x74\xcc\x5f\xdf\x28\x45\xe5\xb5\x15\x99\xa5\x95\x97\x56\x4f\x1a\xd7\x6b\xdf\x83\x9d\xe7\x5e\xea\x9e\x0f\xac\xdf\x84\xc7\x77\x1f\x94\xa5\xf8\xf9\xe7\x37\xf3\xee\x43\xfd\xdd\xfd\xc5\x38\x7c\xa8\xf8\x8e\xb1\x28\x2e\x1c\x5c\xc2\xa6\x0b\x07\xc5\x33\xf9\x6f\x97\x5d\xfe\x1f\x8f\xf7\x9f\x3a\x7a\xd9\x30\x5c\x66\xae\x77\xcd\x74\xdd\x13\xb9\xee\x66\x7c\xa0\xf7\xa6\xc7\x3f\xbc\x1d\xf0\xbc\xe5\x59\x9d\xab\xbc\x1f\xde\x03\xf8\xc1\xb0\xfd\x59\xf1\x2f\x87\x17\x1f\xe2\xf1\x0f\xe1\xff\x27\x01\xf9\x5b\x44\x1f\x26\xc1\xd5\x0b\x3f\x6b\x68\x75\x3d\x91\xff\xf0\x1d\xd4\x77\xc3\xee\x0b\xde\xe7\xe3\x95\x37\x53\xa7\x2f\xbd\x92\x7b\x5d\xbe\x8d\xeb\xe2\x7f\x35\x8c\x3e\xab\xdf\x9f\x06\xcf\x57\x4b\xf0\xe9\x41\xce\x93\x1c\x3e\x31\x78\x6f\x77\xf2\xca\xaa\xc8\x4e\xaf\x62\xed\xcd\xff\x2b\xb1\x76\x4f\xe0\xca\x55\x5b\xd9\x85\x67\xbf\x38\xdc\x49\x9e\x95\x61\x0f\x69\x84\x5e\xf3\xe4\x6e\x3f\x9d\x78\x3f\xb9\xdc\x61\x49\x5e\x00\x53\xff\xf1\xa7\xe1\x53\x99\xea\x5d\xbe\x0d\x79\xc1\xf1\x5c\xf9\x0a\xef\xea\xa9\xee\xf7\xb2\xb2\x8b\xea\xcb\x79\x8f\xc4\x4b\xdd\xf3\xc3\xb7\x4f\x03\xfd\x97\xc6\xe7\x26\x1f\x77\x6b\x5e\xb3\x83\x7c\x97\xe2\xc3\xa5\xf5\x9b\x8e\x3f\x9c\x85\xf6\x10\x7b\xa9\x5f\x05\x9f\xca\xe0\x8d\x85\x1b\x0c\x3e\x87\x79\xf9\x0e\xe2\xfc\x07\x23\x67\x05\xf7\xde\x7f\xb9\xf0\xaa\x51\x9d\xbb\x6f\xf4\xff\x93\x35\xfc\x8f\xd8\xf0\xce\x61\xee\x85\x95\x0b\xaa\x57\x42\xbf\x2e\xe1\xe5\xed\xdd\xfd\xe7\xf6\xb1\xfa\x54\x38\x5e\xea\x3e\x56\x9f\xcb\xe5\xdb\x87\x3d\xcd\x57\x08\xde\x6c\x49\x5c\x07\x64\xd7\x2b\x4b\xd8\xbd\xe6\xea\xf6\xa7\xf7\x38\x22\xef\xe4\xf6\xe1\xec\xbb\x6f\xd7\xde\x8f\xe8\x75\x03\xe2\x33\xf5\x3a\xc3\xa3\xe8\xec\xf1\xf1\xf1\x8c\x8e\xcc\x5c\xef\x7a\xd6\xf4\xd3\xf0\x6b\xb8\xbb\x1d\x8e\x5f\x57\xfd\xe3\x1f\xc3\xc9\xbb\xf7\xe9\xe7\x4d\xbf\xdf\x89\xe1\xf3\xca\x8d\xa2\xb3\x9f\xde\x20\xbb\x70\x1e\xd8\xa9\x1b\x7b\x20\x3d\x69\x57\x49\x92\xe7\xbf\x3b\xea\x47\xa3\x6f\xfc\xee\xb3\xa2\x0f\x14\xbe\xa7\x12\x4f\x82\xf9\xbe\xe2\x5d\xec\xd2\x8b\xee\x7d\x7f\xa6\x5e\x56\xdb\x2b\x7b\x4f\xe3\x7f\x7b\x77\xff\x1c\x4f\x5d\x67\xe6\x1f\xcf\xa3\xf3\x9c\xfd\x2e\x88\x97\xba\xdf\xbe\xfe\x81\x5d\x40\xbe\xa3\x9b\x7d\x3f\xbf\x33\xd6\x9f\x97\x3f\xfe\x34\x3c\x5b\x3b\xef\x7a\xf6\xfe\xd5\x7b\xac\x5e\xf7\xfa\x6f\x1f\x74\xba\xac\xb7\x97\xd0\xf7\xb6\xb8\xf6\xa4\xe8\xd9\xbd\xfb\xf2\xe7\x90\x77\x2f\x5f\x07\xc4\xd7\x91\x2e\x7a\x1f\xea\x3c\x41\xbc\xb8\xf4\x7e\xff\x23\x53\x78\xb5\xca\x9f\xd9\x9f\x17\x4a\x7f\x22\xf4\x3f\x12\xf8\xdd\xd7\x37\xc6\xfa\x99\xc1\x0f\x1b\xdf\xdf\xd3\xd1\x0f\x9b\x22\x97\x0d\x91\x4f\x4d\xe6\xd7\xef\x8e\xdf\x4f\xde\x6b\xf9\xbf\xc4\xe8\xef\xba\x5c\x78\x79\x6c\x3b\x5e\xbf\x8a\x0d\xee\xbe\x16\x57\x53\xd3\x3b\x7a\xde\xc7\x2e\x14\x57\x19\xbf\xe9\xc6\x77\x2d\xdf\x9f\x4d\xa2\x4f\xd8\x7b\x2b\xb9\xa7\x6f\xd2\x0e\xb5\x57\x9c\x54\x2f\xf6\xfa\x78\xf3\x76\xf0\x0c\xf0\x8b\x53\x17\x65\x56\x0c\xee\x7a\x94\xc5\x05\x47\xf8\x83\x38\x2e\xa1\x53\xef\x19\x0d\xee\x5e\x4e\xad\xa1\xe2\xe5\xf9\x73\xfb\x7f\xf9\x24\x33\xf6\x76\xd5\x63\xf1\xea\xf4\x1b\x1a\xe4\xed\x77\x16\xa5\x4b\x8b\x2a\xcb\x1f\xc3\x3f\x85\xba\x9c\x41\x3f\x63\x66\xcf\xaf\x7f\xda\x2a\x0e\x53\x8f\xfd\x6e\xcb\x6b\xd4\xfa\x69\xfb\xef\x7c\x4b\xfa\xf5\xad\xa6\xfd\x79\x9f\xdf\x81\xbe\xef\xec\xbb\xea\xf3\x31\xfc\x63\x76\xf9\xfd\x3e\xd8\x55\x18\xd9\xf5\xe1\xfb\x80\xaf\xfa\xff\x06\xf8\x9b\xf7\x8f\x7f\x7c\x27\x36\x79\xfa\x9c\xe6\xfb\xcb\xf6\x79\xa1\x44\xde\xcf\xd9\x4f\x8d\xf6\x27\x0e\xf4\x47\xc9\x0d\xbe\x2f\xaa\xc1\xe0\xd5\x26\xf7\x33\x27\xac\x17\xe7\x5e\xf1\x18\xfe\xdb\xbe\xea\xb9\xbb\xcf\x1e\x8b\x5b\xfc\xee\xbe\xfc\x93\x93\xf8\xbf\x3f\x3b\x9e\xde\x67\x8e\xa1\xed\xba\x64\x60\x17\xef\x22\xd5\x70\x77\xeb\xfd\xd7\xe3\xe0\x66\xf0\x34\xb7\xfb\xa8\xe4\xeb\x5b\x7c\x0f\x4e\x60\x17\xa5\x57\x5d\xe3\xb7\x0f\xe5\xbf\x7a\xbf\xfd\xfc\xf3\xed\xc5\xfe\x7d\x5a\x7b\xf7\xda\x98\xbf\x00\x9c\xa0\xf7\x05\x5b\xbb\xf4\x7a\x2b\xf1\x53\xf1\x81\x56\xfb\xf4\x5d\x4c\xbf\x72\xdd\xbe\xab\xec\x55\xeb\xfc\x8d\xfc\x6d\x78\xf7\xeb\xfb\x86\xbf\x0c\x7f\x7b\x8a\x87\x7f\xbc\xc5\xaf\xe8\x6f\x7f\xfb\xab\x4d\x86\xbf\x41\x8f\xde\x97\xbf\xd4\x0a\xfd\xcb\xac\xa1\x57\x3a\x57\x97\xe5\xa5\xea\x32\x47\x94\x7e\x6d\x7a\x8f\xf1\x74\x77\x77\xf7\x6c\xcf\x5f\x21\x83\x8a\x5f\x86\xff\xf5\x61\xd8\xb2\xb8\xbc\xfb\x08\xdc\x14\x76\x6e\x17\xbd\x15\x12\x7b\xef\xef\x3d\xaa\x47\xe4\x1e\xfa\x30\x9c\xff\xf5\xae\xe0\xb2\x5d\x75\xd9\xac\xfa\xdb\x07\x26\x7f\xf9\xe5\x7d\x97\x2e\xf0\xfd\x1c\xbf\xfb\xbe\x58\x3f\xf4\xf5\x21\x2c\xd7\x85\x9d\xe7\x9e\xfb\xf8\x13\xf2\xb5\x77\x34\x6e\x7a\xcf\xf7\xf1\xf1\xb1\xb8\xea\x50\x2f\x8b\x1f\xd4\xc6\xf7\x2c\x85\x69\xe9\x15\xd5\x59\x04\x4f\xdf\x66\x65\x8f\xc8\xd7\xec\x3f\x8b\xaf\x10\x94\xdd\x9d\xbf\x66\xfc\x51\x4e\x3f\x25\x78\xf7\x90\x67\xf9\xed\xdd\xaf\xbd\x66\xfc\x05\xc5\xe8\x47\xed\xac\x4d\xe8\x1f\x71\xf0\xdd\x76\xbf\xfe\x55\x45\xbc\xb6\x7b\xfc\x50\x5e\x17\xa0\xaa\x8a\xfb\xc1\xcd\xe0\x7e\xf8\xdb\x07\x25\x7d\x8d\xf2\xa1\xcc\xcf\x07\x11\xef\x55\xe9\x1e\xb9\xff\x13\xac\xef\xed\xd3\x1f\xce\x98\xef\xf3\xe8\xdd\x17\xbf\xbd\x67\xb0\x85\xa0\xbf\x34\xb1\xee\xcf\x7a\xf5\x17\x27\xf1\x1f\x88\x6d\x70\x8f\x7c\xc6\xd3\xfb\x05\x6e\xeb\xc5\xf1\xe7\x0e\xe8\x7b\xd9\x1c\xc3\xb2\xb6\x63\xc2\x8b\xe3\x8f\x4c\x3e\x79\x5d\x97\x35\x6e\x9b\x15\xae\x57\x90\x59\x9c\x15\x8f\x83\x26\x08\x2b\x6f\xf0\x9d\xb8\xe3\x79\x75\xf9\x21\x54\x83\x6f\xf7\x43\xe4\x83\x26\xe4\x59\x2e\xa5\x17\xb6\xde\xd5\xec\x32\xa7\x2e\x6f\xdf\xef\x3b\xf6\x02\x65\x3c\xef\x63\xf8\xfc\x5a\x27\xd3\xa3\x57\x54\x74\xf6\x49\x57\xdb\x47\xe4\xee\x2f\x5a\xa8\x8f\x48\xbe\x6f\xa2\xee\x3e\xf4\xaf\xfd\xd4\xb0\x7e\x5c\xd6\x7e\xf9\xe5\x9d\xeb\x62\x17\x45\x68\xfb\x9e\x72\x96\xf1\x1f\xf4\xb6\x7d\x44\xde\xe9\x84\xed\x44\x65\x6e\x3b\x1f\x77\x0a\x5f\x73\x85\xfc\x39\x0b\x95\xbd\xfd\x43\xba\xef\x0a\x52\xaf\xad\xd4\xaa\x37\x5a\xef\xb7\xc7\xc3\x5d\x25\xd5\x1f\x77\xa0\x5e\x49\xcf\xab\xfc\x85\x77\xf4\xe2\xdb\xf7\xd1\xfe\xb9\x31\xf7\x47\xfd\x7f\x69\xfb\x3e\xd4\xb9\xd8\xe8\xde\xd9\xf9\x24\xb8\xb9\xfc\x0d\xdf\xf9\xc3\xda\xdb\xea\xf1\x7c\xf4\xf9\x9f\xc3\x7e\xa8\x1f\x87\x77\xf7\xc5\x0f\x2e\x0a\x1f\x16\x8f\xf6\x3e\xfb\x30\xa7\xbd\xc2\x2e\xbd\x7e\x56\xdf\xde\x5d\x0d\xd7\xd7\xea\x97\x5f\x7e\xfe\x39\xfc\xcf\x4f\x14\xe3\xeb\xfb\x15\xf5\xc5\x80\x14\xcf\x96\x32\x84\xa0\x7b\xe4\x3e\xfb\x03\xab\x5a\x5c\x97\x8f\x77\x3a\x75\x0e\xc0\xf4\xfc\x93\x50\xaf\x17\xc0\xd7\xea\x45\x02\x1f\x34\xfe\x69\x57\xf3\x55\xd9\x7f\x22\x9f\x4c\x8d\xc7\x0f\xbb\x5e\x67\xa2\xd4\xfb\x4d\xab\x1f\x23\x0b\x7d\x42\xf6\xc3\x84\xea\xc3\xc2\xcf\x38\xf9\x04\xec\x97\x8f\x34\xfe\xe9\x09\x7a\xee\x17\x93\x15\x8d\x5d\xb8\x7f\xbd\x6b\xed\x27\x5d\xfb\x1e\x2b\x1f\x8d\xd8\x67\xab\xf0\xfb\xa9\x73\x61\x90\xb0\x9d\xe8\x9f\xe4\xf0\x87\x05\xf3\xa1\xe5\x27\xda\xd2\x7e\xa6\x2d\xed\x77\xb4\x65\xe9\xb5\xd5\x22\x4c\x3f\xdb\xeb\xfd\x3f\x41\x63\xde\x5b\xdc\x0b\xd3\xab\xc2\x73\xbc\x3e\x36\xff\x27\x39\xff\x2b\x53\xec\x07\x59\xea\x6d\x1f\xd8\x96\xd9\xff\xc3\xde\xb7\x68\xb7\x8d\x23\x89\xfe\x8a\xcc\xed\x56\xc8\x10\x92\xf9\x90\xa8\x97\x61\x6f\xe2\xb8\xa7\xb3\x93\x47\xdf\x38\xdd\x3d\x7d\x65\xad\x87\x96\x60\x89\x13\x99\x54\x93\x50\x1c\x4f\xa4\xf9\xf6\x7b\x50\x00\x29\x92\x00\x29\x39\xe9\xcc\xcc\xde\xb3\x39\x27\x32\x08\x56\x15\xf1\x28\x00\x85\x42\xa1\x6a\xb9\x56\xea\xcd\xf7\x31\x00\xa6\x2d\x5b\x59\xd3\x4a\xbd\x2b\x8a\x47\x9c\x6c\xcb\x46\x31\x4e\x55\xe1\xa7\xd8\x39\x23\x63\x7b\xd2\xb2\x87\x16\xa2\x27\xd6\x19\xc5\xd6\x90\x56\xf6\x4a\x55\x37\xc4\x27\xd6\x59\x8c\xad\x61\x5c\x35\x4c\xa4\x69\x5b\x8c\x0b\xb9\x62\xb1\xd4\xd2\x98\xd6\x0c\xef\xf7\xf9\x95\x90\x18\x9f\x53\x91\x9f\xd7\x75\xb3\xb1\xd9\x8c\x2e\x4d\xdd\x07\xaf\x90\xb0\x42\xbc\x0c\x5f\x88\x9b\xc3\x52\xab\x2a\x0c\x74\xac\x21\x2b\x83\x6a\xa5\x79\x17\xcc\x17\xd2\x1e\xe3\x93\x54\x5f\x03\x49\xed\xfc\x60\xda\x23\x5a\x5e\x94\x58\xe3\x8f\xa8\x69\x96\x2b\x07\xdf\x62\x9c\xae\xd3\x82\xa1\x8d\x5d\x59\xb0\x57\xe4\xf6\x0b\xcb\xa5\x6c\xdd\xaa\x02\x38\xbc\x00\x2a\x26\x7a\x14\x1d\x77\x98\x53\x72\x96\xd7\x58\xce\xd7\x2d\xd5\x37\xe2\x53\xc5\x98\xe5\x58\x34\x0e\xee\x2e\xa9\x1f\x83\x99\x8c\x4a\xa0\xd8\x5d\xfa\x57\xbd\x6d\xc5\x48\x1e\xf9\x0f\xb3\x20\x59\x55\xe3\xb1\xb7\x80\x57\xde\x39\x08\x9e\x93\xe6\x2a\x15\xab\x7d\x0d\x9b\x15\x79\xe3\x2b\xf8\xa2\xd8\xc7\xd5\x9d\x58\xc6\xdb\xaa\x84\x42\x06\x5a\x21\x14\xfe\xd1\x22\x21\x9f\xbd\xca\xac\x92\xdf\x60\x54\xe1\x28\x3f\xd0\x0a\x4c\xf5\x6c\x93\x67\xcc\xaa\xbd\xff\x9d\xff\xe9\x15\x00\xec\xe7\x50\xc5\x02\x05\x9f\x97\x16\x7b\xce\x62\x2d\x14\xb7\x5a\x28\x68\xb5\x2a\x84\x52\x21\xb9\xc6\xc8\x2a\xbf\xbf\x59\xfa\xe1\x07\xe8\xba\x23\x4b\xde\x3e\x15\xb0\x03\x64\x4b\x7b\xfe\xfa\x5d\xf9\xe1\xc0\xf9\x0e\x91\x6c\x2f\x96\x84\x92\xff\xc9\x2c\xf3\xaf\x64\x18\x6c\xab\x39\x46\x21\x70\x14\x3b\xdb\xb4\xbf\x8a\x59\xe2\x7f\x25\xb3\xd4\x6c\x3a\xbf\x9a\x59\x0e\xdb\x5f\x1e\xb4\x91\x94\x66\xdd\xaa\x3e\x49\xf7\x94\xeb\x64\xa1\x97\x2f\x42\xf3\xc6\x28\xed\x2a\x0f\x93\x90\x0a\x1d\xa6\xaa\x6e\xb9\x0d\x52\x43\xc7\x55\x65\x49\x1f\x4d\x4c\x0c\xa8\x1a\x56\x33\x1e\xc3\x47\x59\x09\xff\x20\x7e\xe2\xaf\xa4\xed\xf3\x37\x6d\x5f\xd1\x24\x7f\x58\x13\xb3\xfe\xfa\x77\x6d\x5f\x18\x3d\xff\x1f\xe9\x88\xc6\x81\x69\x4e\x70\x54\xa7\x0a\xf8\x83\x76\x33\xab\x98\x7c\x54\xed\x66\xa6\x0b\x9f\xed\x10\xbf\x72\xdf\xf9\x6d\x75\x23\x3f\xa6\x5b\xd8\xf4\xe2\xf6\xbf\xa3\x02\x27\x26\x2b\xe2\xd3\x4c\xad\x70\x9e\x7a\x6b\xab\xef\x3c\x99\x31\xab\x4f\x9e\x54\x43\xf6\xc1\x40\x01\x8e\x55\x07\x9b\x9b\x4d\x39\x77\x46\x6e\x73\xe7\x31\x9c\x6d\x64\x54\xc6\x90\x81\x7c\x27\xef\x05\xf9\x18\x4c\x81\xe9\x83\x9b\x35\x2d\xc9\x56\xac\x32\xa7\x56\x6a\x1f\x56\x60\xba\xdb\xe0\xd3\x99\x76\xaa\xc9\x22\x0b\x7f\x27\xb7\x76\x90\xe8\xdc\xf6\x5e\x33\xca\x67\xb9\x70\x75\x26\x68\x9f\x5b\xed\x8b\xcb\x73\x53\x1b\x9f\x5a\x23\xa7\xe7\x8d\xac\xa9\x26\x9d\x34\x32\x2a\xf1\xa7\x8f\xb4\xb5\x0e\x83\x69\x34\x23\x07\x10\xeb\x77\x47\x83\x6e\x25\xb1\x25\xf7\x14\xa1\xa4\xc2\xaa\x6f\x6a\x15\x88\xa9\x8b\x27\x49\x15\x27\x17\xc0\x1d\x75\x2c\xcb\x72\xa1\x0c\x4a\x5a\xa2\x5d\x84\xbd\x60\x5d\x6d\x95\x20\x99\xcb\xaa\x3d\x25\x39\xb3\x47\x4e\x7d\x33\xec\xad\xcc\x99\xc7\xea\x20\x1f\x06\x7d\xd5\x54\xf3\xa0\x9a\x6a\xbe\x56\x5f\x58\x2c\xe3\x2f\x5f\x3f\xd5\xfc\x3b\xab\xc1\x7f\xfc\x45\xa9\x0d\x64\x35\x82\xfa\xb0\x04\xab\x12\x19\xdb\x69\x86\x3d\x51\xf6\x84\x50\x1b\x7e\xeb\x7a\x62\xae\x89\xfc\xb6\x53\x37\xf5\x6f\xce\x97\xc4\x8f\xab\xfb\x1a\x5b\x67\xc2\x61\x51\x89\x1e\xf5\x6f\x12\xf9\xa4\x78\xe8\xb2\xf9\x4e\x2e\x0e\x83\xc6\x9f\xcb\xb7\x05\x12\x02\xa6\x09\x65\x2b\xe1\x4c\x1f\x6b\x1b\xbb\x65\xc3\x1a\xd1\x93\xf4\xc5\x4e\xd1\x27\x28\xe8\x63\x32\xa6\x93\x89\x91\x99\x4f\x28\xa7\x5c\x20\xae\x9d\x55\x4e\xc9\x86\xac\x54\x92\x54\x41\xfe\x8a\x49\x95\x3e\x2b\xed\x39\x48\x2b\xf8\xc8\xaa\x55\xf9\x24\x84\xc2\x92\x98\x10\xaa\x5b\x28\x2a\xfb\xf0\x97\x3a\x3e\x0f\x6f\x3f\x12\xde\x79\x24\xbc\xab\x80\x2f\xea\x16\xcb\xc8\xfe\x47\x32\x3b\x87\x5b\xfb\x32\x77\x95\xbf\x24\x5c\x38\xda\xae\x23\xbd\x89\xee\x93\xc2\x87\xbc\xf2\x87\xa2\x38\x98\x07\x21\x30\x47\xb1\x7d\x7b\x65\xc8\xa2\xa1\x4f\x09\xda\x76\xf2\x17\x3c\x3d\xe9\x33\x70\x81\xf2\x92\xc4\x81\xbf\x6c\xac\xa2\x98\x36\x62\xf2\xfb\x9a\x24\x94\xcc\x1a\xb9\x8e\x6e\x7c\x20\x0f\x2b\x7f\xd6\xd6\xa4\xc6\xcc\x01\xfd\x19\x60\xb2\x2b\x0a\x3b\x98\x8f\x01\xb9\x67\xb4\xdb\xc9\x43\x38\xbd\x04\x09\xff\x59\x4c\x7c\xbd\xd0\x00\x83\x21\x2f\x2f\x71\x45\xc2\xb2\x9c\x2c\x25\x75\xc3\x27\xdb\x7a\x1d\xad\x13\x82\xc1\x3a\x7e\x2c\x9b\x60\x7c\xa4\x8e\x25\x40\x6c\xe2\x56\x00\x85\x51\x7c\xe7\x2f\x39\x14\xc8\x31\x76\x7a\xab\x6f\x07\x73\xc7\xde\xc2\x7d\x98\x44\x51\x35\xd9\x53\x24\xdc\x90\x20\xa1\x7f\xb3\x24\x2d\xc0\x6d\x11\x40\x96\x9b\x2e\x01\xab\xd9\x20\x0a\x5f\xfb\xa1\x3f\x27\x71\x7b\x16\x24\x0c\x4d\x97\x77\x73\xac\x93\x9e\x07\x60\x4f\xda\xa0\x51\x03\xe8\x36\x38\xdd\xb6\x56\xd4\xdc\x5a\x56\x47\x1e\x80\xe1\xec\x87\x68\xba\x4e\xca\xbc\x61\x59\xdd\x32\xec\x9a\xde\xf2\xf6\x90\x40\x25\xd6\x49\xe6\xb1\x1a\xd4\x96\xa9\x32\x09\x45\x05\xec\x48\xa0\x7c\x07\xf4\x63\x30\x9b\x11\xb0\x2a\x2f\x50\xee\x08\x2e\xe9\xf4\x52\xd6\xe8\xf4\x86\xc1\xad\x7e\xa4\xec\xd8\xcc\xe0\x1f\xe4\x6a\xa5\x41\x1a\x02\xc9\xba\xfc\x8a\xef\x07\x41\xfb\x25\xbd\x62\x99\xe8\x93\xc4\x8f\xe8\x41\x82\x44\xd9\x0e\x58\x6a\xb9\x6c\xb3\x9d\xdf\xef\xaa\xa1\xc4\x16\x9f\x2d\x1f\x65\x00\x96\xb7\x2d\xef\xc8\xd3\x5b\xc2\x87\x8e\x41\xf5\x98\x90\xcf\xdd\x92\x45\x74\xcf\xe7\x7b\xdd\xd8\x6e\xe1\x3a\x40\x43\x5e\x2d\x24\xde\xdb\x99\xdf\xe1\x23\x6b\xab\xb8\xc8\xf6\x95\xcb\x5f\x46\xe3\x5f\xba\x00\xda\xc5\x35\xc3\x76\x15\x46\x7d\x4a\x29\x2d\x5b\x4e\xa4\x37\x62\xed\xa8\x82\x57\x2e\x28\x48\x2d\xa8\x64\x48\x07\x2f\x38\xf6\xa3\x16\x1c\xfb\xf1\x0b\x0e\xb4\x32\x9b\xcd\x6e\xfc\xe9\x07\x36\xa5\x71\xb6\x7b\xd4\x3a\x23\x49\x86\xdf\x72\x9d\x51\x7c\x6d\xb7\xc2\xc8\x2f\xf3\x2b\x8b\xfc\xb6\xb0\xa6\x48\x6f\xe5\x35\x25\xbd\xfc\xf4\x65\xcb\x0a\xc7\xd2\x1f\xb3\x4c\xd8\x87\x2f\x13\x65\xd0\x9a\x65\xc2\x7e\xcc\x32\x61\x3f\x66\x99\xb0\x0e\x58\x26\x94\x3d\x54\x71\x5a\x22\xd9\x03\x00\xb0\x58\x32\x54\x8b\x45\x05\x82\xd2\x22\x99\x1f\x04\x57\x20\xc0\xf2\xb2\x6f\x27\x23\x80\xe5\xb3\xd7\x2a\xaa\x6a\x23\xc8\xf7\x51\x55\x31\x76\x0b\x54\xcd\x9a\x54\x8b\x9b\x2e\x5b\x8a\x4d\x90\x1a\x8d\xbd\xaa\x58\x8b\x76\x7e\xc6\x6a\xb8\x3c\x49\x7d\x19\x2b\x3b\x54\x1a\x25\x31\xb9\x8d\x49\xb2\xd0\x25\x89\xae\x62\x37\x7a\xf0\xfa\x99\x5f\x27\x8d\x2f\x5b\x27\xed\xf2\xe5\x98\x85\x1f\x57\x68\xdf\x82\x5b\xdd\x86\x7b\x9a\x7c\x5d\xdc\x6c\xac\x23\x2e\xea\xe6\xf4\x8d\x39\xfb\x1e\x14\x60\x4b\x38\x02\x2a\x8e\x25\x46\xfe\xf4\xd4\xee\x23\x79\x5f\x93\xbe\x1c\x34\xbb\xb6\x8d\x42\xdc\xb5\x6d\xe9\x5a\x09\x87\x19\x05\x27\xf1\x28\x30\x4d\x03\x74\xf0\xc1\xc4\x38\xc5\xae\xd5\x6c\xd2\x13\xec\xf6\xce\x12\x4c\x5b\x2e\x18\x13\x75\x78\x5e\xa7\x77\x16\x62\xda\xea\x40\xde\x80\xe7\x0d\x18\x9c\x4e\x4d\xdc\x37\x5a\x03\x78\x61\x5b\xfc\x8d\x6d\x31\x70\xf1\xca\xb6\xac\x21\x77\x43\xac\x4b\x95\x11\x9a\x4e\x75\x65\xb2\x97\x35\x95\x11\x30\xc6\xd0\x86\x2f\x44\x1b\x6c\x0f\x3b\x69\xd2\x19\x76\xd3\x64\x67\xd8\x4b\x93\xfd\x61\x3f\x83\xf5\x86\x8e\xc3\x1f\x9a\xb8\xe5\x0c\x9d\x4e\xf6\xe0\x0e\x9d\x6e\xf6\xd0\x1d\x3a\xbd\xec\x61\x30\x74\xfa\xd9\x83\xdd\x1b\xba\x03\x78\xda\x53\xfc\x61\x87\x83\xd5\xd5\x62\xe8\x72\xc2\x0e\xec\x80\x02\xd3\x9e\x9c\xe9\x81\x89\x1d\xd4\x62\xb5\xd3\xa5\x2f\xdc\xf9\x74\xba\x00\x33\x70\xdd\xe9\x76\x9b\xac\x17\x91\x48\x98\xf6\x2e\xe9\x4c\x0c\xa3\xd9\xd4\x13\xf6\x65\x03\x31\x82\x06\x34\x0c\x07\x83\x37\x14\xa7\xc0\xd8\x99\x18\xc3\x4e\x6d\x39\xc2\xaf\x2b\x47\x58\x59\x8e\xb0\x5c\x0e\xdb\x12\x8c\xf3\x75\xbc\x51\x5e\xb2\xe3\x38\x8a\x75\x4d\x38\x1f\x6b\x5c\xfe\xe9\x5d\xc3\x4f\x07\xec\xb0\xf1\xfd\xac\xad\x21\xc5\x25\x2d\x3e\x6a\x70\x74\x72\x62\xf7\x37\xc9\xc9\xc9\x60\x13\xf2\xf9\xa2\x02\x50\x5d\x98\xf2\xa9\xf6\xc7\x60\x4a\x2e\xa9\x4f\xd7\xd2\x4c\xf1\x47\x49\xc4\xf2\x12\x5f\xd6\x00\x6b\xa6\x7c\x77\xc6\x36\x4c\x6d\x24\xbf\xf8\x04\x2f\xde\x69\xd5\x73\xa5\xb4\xf6\x97\x3f\x67\x85\x5a\xbd\x2e\xa5\x8c\xf0\x65\xc5\x2b\x2a\xee\xa2\x5b\xfa\xae\xe8\x88\x43\xba\xd6\x57\xde\xcb\x56\x5f\x4d\x52\xbc\x2c\x88\xe3\xe5\x97\x92\xca\xe7\x0f\x15\x97\x6b\x88\x65\x1b\x9e\x6a\x89\x42\x2a\x4b\x9d\xcc\xc0\x57\xdb\x32\x46\x3d\xc3\xef\x15\x8f\x1e\xe4\x32\x88\xab\x8d\x4a\x51\x62\xbe\x24\x1f\xc9\xb2\x12\x27\xc1\x63\x86\x35\x91\x14\xb7\xbc\x2d\x20\x68\x4f\x85\xf6\xf8\xc4\x3e\xb3\x87\xa0\x46\x16\x5c\x4d\xb3\x3d\x65\xa5\xaa\xf4\xed\x0a\xe8\x68\xd3\x1d\x75\x0d\x69\x37\xcb\x68\xfa\x41\x2b\xa9\x26\xd5\x92\x44\x25\x8d\x75\x38\x23\x31\x04\xcd\x29\xd0\xe9\x0e\xab\x06\x4d\x55\x59\xfc\x58\x33\xb6\xc2\xe6\xf2\x7b\x07\x63\xbb\x3c\xb3\x49\xa8\xcf\x97\x41\xf8\x41\x43\xb1\xac\xfd\xe6\x7c\xf7\x8e\xcc\xcb\xe7\x12\xca\xc9\x48\x3e\x66\xdc\xf1\x9d\x2e\x8e\x55\x0d\x99\x9f\x0a\x1c\x08\xe7\x1a\xcd\x26\x1c\x73\xa8\xd8\x11\x0c\xa0\xcb\x8d\x01\xdb\x6b\xc5\x59\x84\xcc\x35\xf2\xbd\x0a\xb6\xfd\x16\xe3\xa6\xa6\x82\xb0\x49\xff\x8b\x6c\x82\xa0\x02\xfb\x4d\xe2\x78\x49\xb1\x42\xa3\xf8\x80\x8f\x4a\x43\x87\x97\x62\xb3\x51\x54\x4b\x59\x90\xcd\xc6\xca\xee\x58\x83\x5b\xa6\x1f\xb9\x4b\x03\x9c\x8c\xb8\x83\xf4\xc2\x09\x78\x7a\x05\x9a\xe6\x0c\x37\x40\x20\x0d\x52\x3b\x5d\xf0\x6b\x42\x4e\x82\xb1\x35\x81\xde\x24\xa7\xc1\x38\x9a\x8c\xed\xc9\xce\x7b\x09\x93\x6b\x47\xd1\x29\x8e\x47\x70\xe9\x95\x5b\xd4\xde\x2e\xa3\x28\xd6\xf5\xd8\x8c\x8c\x63\xc7\x40\x0c\x8d\x72\x34\x4c\x4d\x1b\x74\x42\xe0\xbc\x01\x68\x53\x46\xdb\x48\x29\x5a\xa3\x08\xcc\xe7\xd3\x0f\xec\x3c\xe4\xc7\xb9\x08\x11\xe4\x14\x77\xdc\xae\xd3\x6c\xea\xe4\x04\x77\x3a\x9d\xde\x66\x33\xb0\x2c\x26\xbc\x10\x48\x39\x3c\x45\x4e\xb1\x6d\x0f\xac\x4e\xb3\xc9\xc0\x1c\x7b\x60\x37\x9b\xb6\xe3\x76\x41\x48\x87\xd7\x9d\x8e\xe5\x3a\xf0\xba\xdb\x75\x2c\x17\xf2\x3c\xb7\xd7\xe1\x28\x5e\xc7\xe9\x76\x79\x5e\xd7\x62\x82\x32\xcb\xeb\x5a\x9d\x41\x9a\xd7\x73\x44\x9e\xed\xa6\x70\x4e\x3f\x85\x73\x7b\x9e\xc8\xeb\x8a\x22\x78\xdd\xae\x6d\xf1\x62\xb9\x76\x8a\x6c\x0f\x3c\xcf\xe2\xd8\x90\xec\x43\xae\xe3\x39\x76\xc7\xe6\x03\x3b\xc0\xe3\x71\xcf\xeb\xa3\x7e\x6f\x30\x41\x63\xdb\xee\x76\x91\x6d\x77\xfb\x90\xf6\x2c\x64\xdb\x9e\xcd\xd2\x1d\xa7\x8b\xec\x8e\x07\x30\x9d\x9e\x8d\xd8\x0f\x4f\xbb\x2c\xdd\xe1\x69\x8f\xa5\x7b\x3c\x3d\x60\x69\x80\xef\xba\x1e\xb2\xbb\x2e\x4f\x77\x1d\x64\x77\xbb\x00\xe3\xd9\x36\xb2\x3d\xd7\x82\x74\xa7\x8f\xd8\x0f\x4b\xf7\xba\x16\xb2\x7b\x1e\xd0\xec\x79\x3d\x96\xe6\xf9\x3d\x96\xdf\x73\x59\xba\x6f\xf5\x10\xfb\xe1\xe9\x01\x4b\x03\xfd\x7e\xc7\x42\x76\xdf\xf3\x58\x7a\xd0\xed\x23\x7b\x00\xb8\x8e\xe5\xf4\x90\x63\xb9\x5d\x96\x76\xad\x2e\x72\x5c\xcb\x83\xb4\xd7\x41\xec\x87\xa7\x07\xc8\x71\x7b\x3c\xbf\x6f\x23\xf6\xc3\xd3\x0c\xbe\x0f\x74\x3a\x96\x83\x9c\x8e\xe5\x42\xda\x75\x11\xfb\x81\xf4\x80\xe5\x0f\x1c\x9e\xee\x21\xa7\x6b\xb1\x7a\x39\x5d\x6b\xc0\xd2\x03\x48\xbb\x16\x72\xba\x2e\xd0\xec\x7a\x36\x72\xba\x1e\xc0\x7b\x8e\x85\xd8\x0f\x4f\x77\x59\x1a\xca\xe0\xb9\x36\x72\x3c\x97\xc3\xb8\x2c\xdf\xed\x41\xba\xe7\x20\xc7\x83\x76\x70\xbc\xfe\x00\x39\xde\x00\x70\x7b\x9d\x3e\x62\x3f\x90\xee\xba\xc8\xe9\x41\x3b\x3b\xbd\xee\x00\x39\x3d\x8f\xc3\x78\x5d\x96\x86\x76\xe8\xf5\x3d\xe4\xf4\xfa\x00\xd3\xb7\x7b\x88\xfd\x40\xba\xe7\x21\xf6\xc3\xd3\x03\x96\x86\xf2\xf7\x59\x9b\xf4\xfb\xf0\xdd\xfe\xc0\x45\xec\x87\xa5\x07\xac\x4d\x06\x16\x94\x73\xd0\xf1\x10\xfb\x99\xa0\xb1\x6b\x59\x7d\xc4\x7e\x20\xed\xd8\x88\xfd\xb0\xb4\xed\x76\x90\x6b\xbb\x00\x63\x77\x1c\xe4\xda\x9d\x0e\x4f\x7b\x2c\x3d\x80\x74\xb7\x87\x5c\xce\x87\xae\xe3\x59\x88\xfd\xf0\xb4\xcb\xd2\x2e\xa4\x7b\x2c\xbf\xc7\xf3\x7b\x1e\x4b\xf7\x20\x3d\xe8\x23\xd7\x19\x00\x1d\x77\xe0\x22\xd7\x1d\xb0\xfa\xba\x1d\xab\x8b\xd8\x0f\x4b\xb3\xbe\x60\x3f\x3c\xdd\x47\x6e\xb7\xc3\xd3\xac\x3c\xdd\x0e\xab\x8b\xeb\xb9\x2e\x62\x3f\x3c\xed\x21\xd7\x13\xf9\xdd\x2e\x72\x3d\xe8\x3b\xb7\xe7\xd9\x88\xfd\xf0\x74\x87\xa5\xe1\xbb\xbd\x1e\xcb\xef\x71\x98\x3e\xcb\xef\x43\x7e\x9f\xc1\xf4\xa1\xfd\x5d\xd6\x86\x2e\x6f\x43\xb7\x3f\xe8\xb2\xb4\xc8\xef\xb1\x34\xd4\x65\xd0\x75\x91\x3b\x00\x7e\x76\x07\x5e\x1f\xb9\x03\x4e\x73\xd0\xeb\xb0\x34\xc0\x0f\x18\xfd\xc1\x00\xca\x30\x18\xb8\xa8\x63\x39\xac\xdd\x3a\x96\xdb\x47\xec\x87\xa5\xed\x8e\x8d\x3a\xbc\x9d\x3b\xac\x9d\xd9\x0f\xa4\xbb\x16\xea\xd8\x5d\x9b\xa7\x5d\x96\x76\x21\xdd\xef\xa0\x8e\xdd\x67\xf4\x3b\x9d\x4e\x1f\x75\x3c\x18\x6b\x9d\x41\x77\x80\xd8\xcf\x04\x8d\xbb\x03\xcb\x43\xdd\x01\xf4\x6f\x77\xe0\xf6\x51\x77\x00\x6d\xd8\x1d\xf4\x2c\xd4\x1d\xc0\xfc\xe0\x59\x96\x83\x3c\x0b\xc6\x8b\x67\x79\x7d\xe4\x59\xd0\x3e\x9e\xd5\xb3\x91\x67\x41\x7f\x79\x56\xdf\x43\xec\x87\xa7\x07\xc8\xb3\xa0\xef\x3c\xdb\x1a\x20\xf6\x03\xe9\x6e\x17\x79\x36\xf0\xb3\xe7\xda\x2e\x62\x3f\x2c\xdd\x71\x1d\xe4\x75\xdc\x0e\x4f\x0f\x90\xd7\x81\x32\x78\x9d\xae\x85\xd8\x0f\x4f\xf7\x58\x1a\xe8\x78\xbd\x01\xf2\xbc\x3e\xe4\x0f\x6c\x07\x79\x03\xbb\x0b\x69\xaf\x83\xd8\x0f\x4f\x7b\xc8\x1b\xf4\x38\x4c\x8f\xc1\x40\x9b\x7b\x83\x5e\x9f\xa5\x59\x7d\x7b\x96\x3d\x40\x3d\xcb\x61\xe5\xe9\x79\xb6\x87\x7a\x7c\xcc\xf6\xbc\x5e\x1f\xf5\x3c\x18\x2f\x7d\xc7\x72\x51\xdf\x81\x76\xeb\x3b\x6e\x07\xf5\x1d\xe8\x8b\xbe\xd3\xef\xa3\xbe\x03\xfd\xd5\x67\xbc\xda\x77\xa1\x7d\xfa\x1d\xcb\x42\xfd\x0e\xcc\x0f\xb6\xe3\xba\x16\x62\xbf\x5d\x78\xea\x74\x6c\xc4\x7e\x59\x39\x3a\xae\x65\x77\x10\xfc\x8a\xa7\x01\x3c\x0d\xf8\x53\xa7\xcb\x9e\xa0\x77\xbd\x8e\xc3\x9a\x96\xfd\xb2\xa7\xae\xe5\x74\x90\xd7\xb5\x60\x26\xf6\xba\x56\xd7\x63\x4f\xbc\x5d\xba\x0e\x6b\x18\xf6\x0b\x4f\x5d\x87\x3d\xf1\xb9\xca\xeb\x5b\x83\x1e\x62\xbf\xf0\xae\x6f\x5b\x36\x62\xbf\x8e\x78\xea\xb3\x27\x9b\x43\xda\x5d\x87\x3d\x75\x3b\xe2\x69\x00\x4f\x7c\x65\x19\xd8\x1d\x17\xc1\x9f\xae\x78\x86\xb5\x66\x60\x43\x4b\x43\x82\xbf\x17\x2b\xd1\xc0\xb1\xd9\xfa\x33\x70\xa0\xa7\x6d\x7b\xe0\x7a\x0e\x82\x3f\x8c\xfa\x80\x2d\x13\x5d\xc4\xff\x88\x67\xd7\x63\xcf\x1e\x94\x7a\x60\xf7\x7a\x9e\xc5\x9e\x07\x83\xc1\x24\x8b\xd1\x92\x09\x29\xbb\xf8\x52\x16\xc6\x38\x38\x23\xed\x70\xbd\x1c\x06\x27\xae\xb3\xd9\x04\xa7\xd8\x76\x7a\xcd\x66\x70\x62\x7b\xd6\x19\x81\x20\x44\x71\xb4\x1c\x52\x3d\x30\xce\xac\x61\xcc\xfe\x38\x43\x7b\xbb\xd5\x3f\x33\x24\x0b\xa5\x00\xd6\xb7\x8a\x20\x15\x92\xfb\xc6\x3b\x32\xbf\xf8\xb4\xd2\x35\xfd\x6c\xf8\xdf\x9b\xf1\x7f\x5f\x5d\xcd\xfc\xd6\xdf\xaf\xae\xda\xad\x89\x69\xe8\xfa\x82\xd2\x55\x72\x36\xbc\xba\x3a\xbe\xba\x3a\x36\x74\x5d\x1f\x17\x00\xae\xae\xda\xfa\x98\x3f\x4e\x3e\x3b\xc8\xdb\x1a\xc6\x46\xd7\xaf\xae\x66\x9f\x6d\xe4\x6e\xaf\xae\xda\xc6\x67\xf6\x87\x3f\x1a\x1b\x7d\x19\x4d\xfd\xe5\x22\x4a\xa8\x61\xe8\x43\x9e\xdf\xdd\x1a\x67\xfa\xd5\xd5\xf1\x18\xbe\x71\x7f\x75\xd5\xbe\xba\x6a\x7d\xff\x8f\xc9\x53\xe3\xa9\x7e\x75\x75\x36\xb6\x5a\x03\xc8\x1e\x5f\x5d\x4d\xae\xae\xf4\xab\x2b\x03\x00\xcf\xae\xae\x8e\xfe\xe3\x3f\xbf\xfb\xbe\xf9\xe4\xa9\x89\x86\xa3\x7f\x5c\x5d\x61\x8e\x3a\x79\x6a\x9c\xe9\xff\xf1\x45\x68\x86\xfe\x1d\xb4\x40\xae\x1c\x13\xd3\xd0\x0c\x14\x61\xab\xd2\x17\x4f\x2a\x12\x87\xfc\x22\xeb\x87\xd7\x3e\x9d\x2e\x48\xfc\x72\x86\x23\x21\x02\xc7\xd1\xbd\xf0\xa8\xf0\x72\x96\xe0\x71\x6a\x44\xb0\xdc\x01\xef\x72\x63\x32\x0f\x12\x4a\xe2\x1c\x25\x3d\x80\x20\x2c\xe8\x33\xa8\xb4\x5e\x86\x33\xf2\x69\x68\x6f\x95\x1e\x72\x79\x5c\xbe\xf7\xd1\x8b\xe8\x4e\x15\x12\xe6\x3a\x75\xa0\x9a\xba\xb3\xbc\x86\xf0\x1f\x54\xb2\xb4\xfb\x10\xdc\x3e\xbc\x8b\xee\x8b\xb1\xb6\x53\xf5\x4f\x4a\xa4\xe0\x1a\xac\x58\xc9\x31\x9d\x8c\xca\x6e\x6b\xb3\x7b\x70\x65\xc8\xbc\x97\xda\x5d\xcb\xf0\x12\xf0\xc8\x73\x14\xbc\xac\x19\x88\xb4\xdf\xbf\x7c\x7d\x71\xfd\xfc\xe2\x87\xb7\xef\x2e\xae\x5f\xbd\x7c\xf3\xe7\x97\x3f\xfc\x26\xe9\x55\x08\xfd\xf1\x81\xf1\xbf\xe8\x8f\x74\x3f\x21\x6f\x62\xf2\x1d\x30\x8e\x26\xa9\x33\x35\x85\x5f\xd9\x8c\xe0\x2f\xfe\x32\x98\x71\x3d\x86\xbf\x5c\xde\xf8\xd3\x0f\x07\xd0\xfd\x28\x23\x91\xf2\x76\x4b\xea\x75\x5c\x1e\xef\xc1\xad\xbe\x0b\x3e\x09\x37\x60\x3f\xa7\xbe\x93\x65\xde\x3b\xc2\x38\x6a\x36\x8f\xa8\x41\x17\x71\x74\x0f\x11\x3f\x2e\xb8\x86\x51\x54\xb2\x71\xb7\x4e\x68\xe3\x86\x34\xd2\xc8\x71\xe9\x94\xf0\x39\x10\x5e\x0b\x65\xa2\xa6\x89\x62\x32\x27\x9f\x86\x04\x09\x2a\x43\x8a\x72\x4c\x19\xb7\x77\x0f\x48\xae\xf4\x30\x56\xb4\x04\x5a\xc5\x41\x14\x07\xf4\x61\x18\xb7\xd3\x24\xdb\x12\x8e\xf2\x81\x38\xae\xfd\xd9\x2c\x57\x92\xf7\xd1\xab\x20\xa1\xe0\x6f\xbf\x1d\xcc\x8a\x2d\xa9\x04\x2d\xab\x31\xad\xa3\x54\x55\x99\xef\x2a\xb1\x83\xcc\xdb\x59\x57\x02\xb5\xec\x11\x3d\xc5\xd6\x88\xb6\x5a\x06\x98\x1b\xa4\x65\x3f\x51\xe0\x8c\xe9\x24\x7b\x9f\x77\x69\xd5\x50\x90\x4f\x2f\x5c\xc0\x8d\x28\x92\x6a\x7c\x55\x20\x16\x00\xe4\xd5\xbd\x05\x28\xb8\xbf\x53\xf6\xad\x3c\x23\xf5\x9c\x96\xaf\xfb\xee\x82\xb0\xa2\xfe\x60\x3e\x91\xcd\x08\xe5\xca\x06\x33\xb6\x97\x35\x0a\x5d\xa8\xac\x25\xb2\x0d\x74\x64\x8d\xb2\x8d\x73\xb1\x2b\x55\x13\x51\xc1\x61\x21\x9f\xbf\xc6\x64\x02\x9e\xae\xb8\xbf\xf4\xcc\x09\x6c\x2e\x90\x9e\x35\x8a\x6b\xaa\x12\x9b\x66\xc1\x43\x61\xb1\x3a\xf1\x24\x3b\xee\x9a\x45\xaf\xb2\x12\xe9\x14\x05\xe0\x60\x2b\xca\x1c\x33\x02\x6b\x05\x0a\x1e\xcf\x4c\x50\x54\x8e\x17\x23\x28\xbe\x02\x4b\x2f\xd4\x06\x51\x54\xb0\xb9\xdd\x6c\x24\x93\x31\xee\x38\x31\x08\x81\x54\x0b\xf4\x65\xe0\x5b\x3a\xc4\xd6\x28\x3c\x49\xcb\x39\x0a\x4d\xd3\x48\xf4\x30\x0d\xd1\xb7\xdd\x96\xe6\xcf\x42\x35\x95\x4e\xce\xc7\x13\x14\x60\xca\x7b\x39\x42\x09\x26\xed\xe9\x22\x58\xce\xde\x44\x33\x92\xa0\x10\x17\x7c\x9e\xf3\x29\x41\xa7\x6d\x98\x39\xa0\xc5\x8e\xc2\xcd\x86\x4d\x62\x61\x3a\xe0\x04\x9f\xc4\x59\x8f\xf9\x38\x1c\x6b\x3c\x90\xbc\x76\x94\x46\xb4\xa4\xb9\xd9\xe5\xcc\x1a\xe6\x1f\x21\x62\x1e\x8f\xcb\x68\xfa\xe9\x41\xe5\x02\x5b\xa3\xc5\x49\xd6\xcb\x8b\xb4\x97\xa7\x38\x19\x2f\x26\x68\x8d\xa7\x85\x72\xa6\x51\x1d\x7d\x28\xe3\xfa\x14\x5b\x1c\x7c\x26\x3a\x9f\xbb\xff\x7f\x16\x4e\x17\x51\x9c\x06\x01\xf0\x11\x4d\x17\x0d\xc1\x0d\x45\x9a\xd9\x85\xcb\xb4\x50\x6c\xc8\xb8\x18\xe3\x69\x3b\x8c\x66\xe4\xfd\xc3\x2a\xf5\xaa\x26\x9c\x7d\xb2\x26\xd4\xa7\x68\xc6\x6d\x90\xe0\xfb\x2b\x3c\x65\x84\xb5\x67\x1a\xc6\x78\x05\x78\x6f\xfc\x3b\xb2\x6b\xb4\x55\x3e\x7c\xb9\x86\x56\x05\xcf\xf2\x33\x31\x41\x40\xd1\x76\xbd\x24\x5b\x47\xdd\x62\x6b\x74\x7b\xa2\x80\x19\xdd\xa6\x0d\x37\xc7\xf9\xd7\xe3\xdb\x09\xba\xc3\xf3\x9a\x36\x6c\xd9\x47\x18\xdf\xa5\x8b\x62\xae\x86\x97\xa9\x33\xd7\x5f\x03\xba\x80\x2a\xcf\xd1\x0c\xf9\xe8\x4e\x68\x95\xc5\x39\xce\xc2\xc4\x07\xa0\x4e\x01\x75\xcd\x3d\x8d\xf2\x59\x6f\x66\xa0\x23\xbd\xcc\x87\x3b\x0f\xb2\x4b\xa3\xc4\x94\x46\x15\x3f\x7e\x01\x1f\x9a\x12\x23\x66\x2e\xbb\x4b\xe7\x6c\x2a\x8e\x92\x16\xfd\xfc\xb4\x34\xab\x88\x44\xe1\x6b\x59\xb8\xcd\xa0\x14\x6e\x20\x68\xcf\x62\x7f\x3e\xf7\x6f\x96\x70\x06\x14\x9f\xe9\x41\x7b\x11\x93\x5b\x78\x45\xfd\x78\x4e\x28\xd6\xae\xe1\x7a\x9e\x86\x02\x65\x24\xe1\x60\xfa\x21\xe7\xbe\x9e\xcb\x21\x34\x9b\xda\xf5\x98\xad\x41\x86\x31\x3c\x1c\xf9\x28\x50\x46\x45\x57\xcd\x5e\xe5\xcf\xa0\xd2\xd5\xa2\x3c\x67\x54\xac\x62\xe3\x09\x8a\xb1\x3d\x8a\x4f\xfc\x34\x56\x50\x7e\xda\xa7\xe3\xb8\x65\x4f\x70\xf6\x6e\x1c\x4f\xb2\x49\x88\x47\x5d\x4d\x63\x1a\x20\xee\xf2\x2f\x1d\xd3\xa3\x88\xad\x7f\xe2\xfc\xed\x39\xb9\x8d\x62\xa2\xd3\x71\x34\x61\x4b\x76\x50\x88\x74\x50\x5e\x82\x6b\xb9\x59\x11\x72\x3c\xb8\xd5\x41\x47\x2c\x8f\x4c\x70\xc0\x99\xcf\x1f\x5b\x13\x03\xb9\x60\xcc\x91\x9b\x5e\x4a\xf2\x1f\xef\x75\x06\x9f\x89\x80\x7e\x83\x71\x4d\x83\xe1\x34\xa2\xb8\x11\x85\xcb\x87\x86\xe8\x98\x86\xdf\x48\x82\x70\xbe\x24\x3b\x90\x2c\xda\x4a\x61\x7c\xb1\xe1\x07\x3b\x5e\xce\xb3\x09\x8e\x0a\xde\xa1\xc5\xc8\x42\xa1\x9a\x97\xdf\x93\x4f\x50\x24\x3d\x31\x8a\x82\x5f\x7e\x5e\x64\x4d\x12\x1a\xc8\xda\x82\x2b\x47\x5c\x1a\xdf\x42\x2e\xcb\x3e\x25\xe2\x4e\xe5\x8b\x61\xa1\xc0\x40\xcb\x3d\x25\xf0\x6b\x4b\xb0\x64\xdb\x10\x0b\x34\xdc\x0b\x99\xf6\x74\x0f\xed\x85\x81\xd6\x05\xac\xc0\xdc\x35\xcd\x6c\x0f\xf2\xba\xb6\x60\x53\x44\xd1\xcc\x40\xb6\x38\x4b\x49\x54\x3b\x25\xec\x58\x16\xa2\x6d\xbe\xba\x07\x24\xc6\xc9\x3f\xc3\x83\xed\xe7\xed\x28\x19\xc3\xd1\xf9\xf3\x8b\x57\x93\x92\x40\x91\xb9\xfb\xbd\x21\xcb\xa5\x6e\x6c\x91\x00\x7d\xf5\x43\x25\x64\xea\x15\x30\x07\xfd\xcb\xfb\x09\xde\x21\xa6\xb9\x3f\xfc\xa0\xca\x3d\x7f\x57\x49\xb9\xe8\x87\x2f\x47\xff\xf9\x65\x75\xb9\x53\x0f\x7c\x39\xf0\x1f\xdf\x57\x82\x53\xff\x26\x07\x78\xf9\xb6\x12\x30\xf5\xa4\x97\x87\x7e\x59\x0f\xfd\x32\x5f\xe4\x8b\xcb\xf3\x0a\x68\x7e\x68\x4a\x7d\x4a\xf4\x05\x03\x7b\xf6\xd3\xc5\x0b\x63\x2b\x0e\xdb\x3e\x6f\x47\xe1\x58\x1b\x6b\x65\x5c\x88\x07\xed\xdf\x71\x3d\x45\x7b\xba\x8e\xd9\xbc\xf8\x13\xcb\xc2\x16\x2a\x50\x3c\xbf\x7c\x79\xfd\xd3\xb3\x77\xcf\x5e\x33\xc9\x73\xac\x4d\xbe\x82\xd4\xdb\xcb\x73\x46\xa4\xfd\xd3\x17\x53\x78\x71\x7e\x09\x14\xae\x4b\x14\x0a\x40\x2f\xff\xf4\xe6\xed\xbb\x0b\x5e\xdc\xff\x96\x8a\x5b\x01\xda\x9e\x4a\x85\x12\x76\xf3\xec\xe5\x85\xf4\x12\xce\x79\xb9\x64\xa0\x1b\xc5\x42\xbe\x79\xfb\xee\xf5\xb3\x57\x80\xf7\x42\xc2\xdb\x87\xf1\x5a\x51\x8c\x8f\x24\x4e\xc8\xcb\x7a\xc4\xb1\xf6\xbd\xa2\x67\xf2\x0e\x16\x11\xdd\x7f\xef\x4a\x45\x9c\x65\x7e\x08\x56\x6f\xd8\xdc\xbc\xe0\x61\x63\x42\x31\xf4\x9e\xbd\x99\x14\x96\x69\x15\x47\xa6\x45\x1c\xf1\xf9\xfb\xf3\x76\xe4\x8f\xb5\x33\xad\x1a\xf1\x27\x38\xd7\xd7\xb5\x33\xcd\xd8\x22\x7f\xac\x9d\x1e\x00\x7b\x2a\x60\x8f\x0e\x80\x3d\xe2\xb0\x56\x0d\x24\x63\x3d\xdd\xb6\x9e\x12\x88\x1b\x0c\x4f\x06\x20\xd9\x8f\x44\x32\x6d\x40\x73\x1e\x8b\xe6\x00\x9a\xfb\x58\x34\x17\xd0\x3a\x8f\x45\xeb\x00\x5a\xf7\xb1\x68\x5d\x40\xf3\x1e\x8b\xe6\x01\x5a\xef\xb1\x68\x3d\x40\xeb\x3f\x16\xad\x0f\x68\x83\xc7\xa2\x0d\x18\x5a\xfb\xbb\x6a\xac\x28\xa1\xc0\x4d\xdf\x71\x6e\x7a\xa2\x3d\xa9\xf9\x84\x00\x7e\xa2\x3d\xe1\x6c\xda\xa8\x63\xd3\x94\x72\x43\xf0\xf4\x93\x43\x80\x9f\x08\xe0\x51\x15\x70\x1a\x7a\x45\x54\x90\x01\x7f\xe1\x18\x5e\xb2\x31\xbc\x1c\x6b\xff\x59\x9a\x6f\x98\xb4\x91\x21\xe7\xfc\xb7\x42\x74\xec\x65\xfb\x59\x35\x70\xea\xdb\x54\x40\x3e\xdf\x07\xf9\x22\xba\x0f\x05\xec\xf9\x3e\x58\xe1\x05\x50\x80\xbf\xd8\x07\x9e\xfa\xd9\x10\xf0\x17\xfb\xe0\x53\x6f\x97\x02\xfe\x87\x7d\xf0\x05\x47\x93\x02\xe9\x4f\xfb\x90\xf2\xae\x20\x05\xce\x8f\x7b\x3f\x94\x86\xb9\xe1\xf0\x2f\x0f\x6c\xa7\xf7\xfe\x8d\xc0\xf8\xaf\x6a\x8c\xa2\xcf\x43\x01\xff\xe7\xbd\xf0\xb9\x2a\xbf\xda\xc7\x39\xe0\xb1\x4b\x00\xbf\xae\x06\xce\xb9\xf7\x12\xc0\x3f\xed\x03\xce\xf3\xe4\x65\x35\x70\xea\x19\x49\x40\xbe\x97\x20\xd3\x1d\xca\x89\xd3\x6c\x1e\xc5\xcd\x66\xde\xdd\x8f\x40\xfa\xcb\x9e\x26\xc9\x17\xe5\xff\x1e\xca\x99\x59\x0f\x8d\xb5\xbf\xd6\x8d\xc0\x92\x2b\x17\xf1\x19\xbf\x1a\x41\xf2\xab\x22\x50\x6e\xaa\x51\xaa\xbc\x9c\x08\xcc\x69\x4d\xf3\x2a\x9c\x88\x08\xac\x59\x35\x56\xc9\x67\x84\x40\x28\xef\xb2\x73\x08\x92\x03\x07\x81\x72\x5b\xd3\x0c\xbf\x94\x86\xce\xbc\x1a\x36\x75\x15\x20\x20\x17\x75\xf5\xe5\x57\x12\x39\xe0\xb2\xae\x49\x8b\xa0\x77\xf5\x3d\x2c\xb5\x5e\x58\xc7\xff\x3b\x43\x70\x01\xbd\x92\xa0\x85\x59\x6a\xcc\xcd\x52\xb5\x23\x6d\x98\xb3\x6c\x66\x58\x0c\xed\x77\x85\x5e\x43\x6b\x68\x18\xe3\x00\x06\x42\xc1\x12\x56\x7c\xaa\x1c\xb5\xa4\xb0\xce\xe4\x4c\x3e\x05\x78\x52\x09\x9e\xd9\x4e\x0a\xc8\x75\x15\x64\xc1\xe6\x51\x8c\x19\xd5\x9a\x87\x84\xb3\xa8\x0c\x35\xaa\x5c\xfb\x16\xa3\xa3\xa2\xa7\x0c\x22\xde\x63\x6b\x82\x35\x9e\xd4\x10\xcb\x16\x1b\x31\x6c\x4f\xb0\x26\xd2\xfc\x45\xb6\x9f\xc2\xce\x04\x6b\xd9\x53\xf6\x12\xbb\x3c\x9b\x67\xbc\xbd\x3c\xc7\x9d\x09\xd6\xde\x5e\x9e\x0b\x08\x2e\xaa\xe3\x2e\x83\xe2\x69\xfe\xe2\xc5\xf9\x25\xf6\x26\x58\x7b\x71\x7e\xc9\x33\xf8\xde\x06\xf7\x26\x58\xe3\x49\x6d\xab\x2f\x36\x1b\x7d\x81\x3f\xa7\x11\xb4\xa7\x15\x47\xe0\xb9\x13\xe6\x20\x6f\xc2\x59\xbe\xb8\x96\xb9\x36\x49\x20\x46\x7e\xda\x58\xaa\x93\x6c\x88\xd3\xac\x74\xd3\x35\x45\x6b\x34\xcb\xee\x23\x8d\x76\x2e\x68\xb3\x48\x62\xb2\xfd\xf8\x3a\x8e\xa3\xb9\x4f\xc9\xf5\x22\x98\x2f\x54\x81\x6b\x8a\x10\xa6\x74\xe3\xae\xf8\x1e\x6b\x5a\x7a\x32\x97\x7e\xf4\x64\x56\xca\x30\x4d\xd0\xdd\xc5\x98\x8c\x8b\x2f\x26\xa8\xdb\x75\x06\xde\x09\xd6\xa7\x98\x0f\xca\xf3\x68\x46\x9e\xd1\x52\x2d\x0c\xa3\xd9\x9c\x9e\xe0\xae\xe7\xda\x03\xa0\xb4\xae\x83\x36\x6d\x03\x05\xc9\x1b\xff\x8d\xbe\x36\x64\xc3\xe0\x62\xe1\xe3\xd1\x34\x0a\x69\x10\xae\xc9\x76\x8a\x6d\xcb\xe9\x3c\xd5\xa7\x2d\x28\x93\x61\xea\xeb\x56\xd7\x73\x1d\xcb\x30\xbd\x6e\xd7\xf5\x50\x6c\xe2\x74\xe2\x90\xbf\xb8\x05\x7b\x58\x80\x3f\xc1\x53\x5e\xdc\x9e\xdb\x71\x8d\xf4\xc6\x47\xae\xb3\x85\xd9\x7a\xda\xe5\xc3\xb8\x11\x84\x8d\xe4\x2c\x19\xc7\x13\x71\xbc\x2f\xb1\x4f\x7a\x47\x26\x9f\x97\x86\x34\xd2\x63\x34\x2d\xd8\xa0\x67\xaa\x8c\x21\x6b\x74\x46\x3c\x34\x3e\x87\x25\xea\x69\x8b\xa4\xe7\x0c\xa5\xc9\x4b\xd7\xc0\x90\x5d\x33\xc4\xdf\xa7\xe2\xaf\x29\xfe\xb6\xc4\xdf\xb6\x36\x94\x31\xcb\x57\x02\xd2\xfb\x02\xf9\x8b\xa5\x8c\x72\x15\x5c\xfe\xb6\x2a\xfb\x72\x15\x9c\x93\x87\x33\xab\xe1\xdc\x3c\x5c\xeb\xc0\xef\xb6\x6b\xbe\xbb\x2d\x0e\x5d\x31\x99\xe4\xb1\x8f\x6b\x4a\x83\x94\xd8\xa8\xc8\x53\xad\x56\x9e\xdc\x1b\xd1\xdc\x6f\xb5\xdc\x7d\x70\x2d\x94\x3e\xb2\x53\x5a\x38\x79\x96\xd0\x22\x81\xbf\xa9\xc1\x70\x0b\x18\xdb\x83\x69\xff\xa3\x06\xd2\x2e\x40\xf6\x34\x15\x1b\xe7\x56\x25\x43\x39\x27\xe6\x49\xf4\x95\x24\x8a\xcb\xd5\x7e\x2a\xff\x91\x52\x29\x82\xa0\xf2\xb4\x95\xc7\xf9\x51\xaa\x26\xf5\x6f\x2e\x73\xde\x21\xaa\x3f\x87\x25\xd4\x7f\xa9\xa3\x98\xbd\xe5\x3d\xad\x28\xef\x3f\xd7\xcf\x40\x5d\x31\x67\xe4\xd6\x5f\x2f\x69\x5d\x2f\x56\x5d\x27\xbc\xb8\x3c\x6f\xa4\xc6\x84\x8d\xef\x93\x36\x5c\xa4\x29\xcc\x9e\x62\x40\xf2\x79\x39\x4a\x1f\x2f\xcf\x74\x8a\x77\x4f\xe3\x78\x82\xb4\x63\x8d\x1b\x20\xc1\x17\x8b\x9a\x3e\x63\xc8\xa0\x4b\x5a\xc2\x3a\xe7\x49\x15\xd3\x05\xa2\x52\xab\xce\x15\xf7\xaf\x2a\x3b\xb3\x01\xba\x63\x58\x09\x98\x8c\x29\xf4\xe1\x9b\x4d\xf6\xf4\xfc\xe2\xd5\x4e\x74\xcd\x81\xa4\x3e\x34\x76\xa3\xa1\x5c\x0e\xae\x79\xe6\xe7\xcc\xf2\x9d\xb3\x4c\x11\x2d\xc7\x3e\x02\xbc\xbc\xa7\xf5\xda\x6b\x5c\x02\x5c\x15\xc6\x8e\xc7\x3e\xaf\x82\x2f\x7f\x97\x9b\x27\x40\x28\x75\x25\x21\xc3\xd8\x2a\x49\xed\xcc\x14\x95\xf5\xcb\x64\xac\x92\x24\xa7\xba\x7c\x2a\x9a\x8c\xcb\x6b\x65\xef\x81\x79\xa2\x26\x8e\x87\xf1\x29\xd6\x2c\xad\xd9\x8c\x4f\xb0\x36\xd0\xea\xa0\xb1\x6d\x3d\xad\x23\x16\xe7\xa5\x25\xcb\x68\x75\xfa\x43\x6d\xa4\xa9\x43\x77\x7d\x69\xaf\x16\xca\xa3\x69\x25\x89\x24\x13\xd6\x33\x99\xc4\x37\x3e\xfb\xa9\x4c\x92\x0a\x21\x40\xb2\xa4\x6e\x2b\xaf\x96\x97\x2f\x73\x34\xf9\x18\x5d\x9e\x2d\x53\x4a\xc5\x85\x41\xcd\x79\x52\x2e\x68\xb7\xa5\x5c\xae\x1f\x84\xec\x7d\x57\x94\xcf\x2f\x5f\x36\xa6\xd1\x8c\x64\x13\x8a\x92\x23\xd4\xdf\xcd\x62\x6e\x4a\x9f\xc6\x9a\x56\x6c\xc4\x17\xe7\x97\xfb\x06\x72\xfd\x08\x1e\x71\x2b\x1a\x6e\x3b\x89\x6e\xd3\x30\xc8\x05\x11\x55\xba\xd1\x0c\x4b\x42\x41\xee\xf8\xee\xf7\x4c\xea\x93\x7c\x5e\xe4\xd9\x00\xdd\xb2\xf9\x7e\xc5\x49\x3c\xd1\x7e\x7f\x32\x5c\xe1\x27\x96\xf6\xfb\x93\x5c\xb5\x9e\x68\x2b\xc8\xf6\x6c\x6d\x95\xcf\xd7\x62\x6d\x28\x11\xcf\xee\x27\x9a\xb6\xf2\x7e\x71\xfe\x6a\x22\x5c\x35\x8e\xf3\x2d\xa8\xdd\x31\x92\x9a\x75\xa7\x29\x57\x91\xaa\xce\x7d\x71\x7e\xd9\xf8\x89\x8a\xae\x5d\x19\x08\x42\xa1\x4a\x13\x79\xe1\x4e\xf4\x4f\x9a\xd9\x30\x6f\x4d\xed\xbb\x58\x33\x57\xe6\x2e\xff\xea\xaa\x30\x2e\x34\x73\x55\x68\x57\xf3\x77\x45\x9d\xe5\x06\x3d\xec\xdb\x66\xf5\xb7\x0f\xaf\x37\xe7\x01\x51\x77\x35\x7f\x94\x9b\x42\x39\x35\x56\xf2\xfc\x01\x73\x66\x9e\xe0\xbe\x29\x53\xf9\xb5\xcd\x46\xfb\x0e\x26\xbb\xcd\x46\x33\x21\x71\xa6\xf0\x28\xc5\x61\x0f\x98\x9a\xab\x3e\xa3\xf8\x7e\x11\xad\x38\x98\xb9\x62\x61\x18\x1f\xe5\x07\x6c\xf6\xf4\xfc\xe2\xd5\x66\x73\xd8\x7a\x5c\x6c\x42\x23\xb3\xb1\xca\xbd\x95\x2f\x0a\x03\x8e\x6c\xae\xcd\x69\xc9\xf0\xfc\x00\x70\xff\x95\x62\x15\xaa\x98\xcc\xea\x70\x05\x88\x02\x19\x5a\xae\xde\x29\xc0\xae\x85\x4b\xf8\x73\x09\x7f\x67\x26\x50\x4d\x45\x1d\x76\x5f\x22\xf4\x2d\x56\xcd\x52\x30\xab\xbc\x40\x29\x7f\x7a\xc7\x07\xd9\x9d\xe1\x9f\x98\x58\x18\xe3\xe9\x1e\x53\x96\x4c\x5b\x15\xe4\x2e\xd8\xb7\xa3\xfb\x90\xc4\x2f\x2a\xec\xea\x92\x95\x1f\x6a\xec\x13\x39\xfb\xca\x05\x59\x2e\xa3\xc6\x7d\x14\x2f\x67\x1a\x22\x05\x53\x4b\xca\x75\x64\x31\xa6\x22\x12\xf7\xaf\xc1\x0c\xfc\xe5\xd0\x42\xe4\xef\x51\x1a\x30\xf3\x36\x0a\xe9\xaf\x3c\x36\xb6\x76\x13\x2d\x67\x59\x38\xf0\x02\x7a\x52\x46\xcf\xa9\x2b\x77\x46\x66\xd4\x40\x6c\x14\x45\x9b\x4d\x70\x84\x71\xb2\xfd\x22\xc3\x9d\x08\x25\x38\xd6\x1d\xcf\x90\x95\x96\xcf\xdf\xbe\xe2\xaa\x49\x96\xe0\xea\xc2\x9f\xdf\xbc\xb8\x78\xf7\xea\xe5\x9b\x0b\xd0\x4b\x66\x4f\xfc\xe5\xf3\x57\x2f\xdf\xfc\x19\x14\x91\x90\x12\x0a\xc6\x37\xbf\x5c\xbc\xbb\xbc\xc0\xfd\x09\xd6\x44\x3a\x7b\xf1\xf2\xf2\xe5\xf3\x57\x17\xd8\xf6\xf8\x3b\xfe\xa8\x6d\xf5\x68\xb3\xd1\xa3\x9d\x02\x32\xe4\xe2\xbf\x5f\xa5\x87\x94\xc3\x62\xa7\x77\x4e\xb8\xb3\xa6\x77\xd1\x7d\xf2\x7f\xd6\x64\x4d\x76\xe2\xad\x78\xf3\x43\xec\xdf\x91\xe4\xf2\x43\x00\x41\x84\xad\xe2\xcb\x67\x61\x70\x07\x1b\x3a\x80\x2a\x6c\x41\x56\x7e\x1a\x98\x9c\xb7\xf9\x4f\x51\xb4\x84\x6b\x55\x49\xfb\x45\x74\x27\xbd\x4a\xb9\x0a\x6e\xf4\x60\x8c\x43\xf0\x30\x13\x54\x44\x69\xcd\xc2\x9e\x7c\xe9\x67\x54\x9a\xd5\xdf\x59\xfd\xdf\xf1\x8a\x29\x2f\x09\x95\xdb\x8a\x0f\xf0\xcf\x09\xf5\x63\x3a\x24\x88\x84\xb3\x21\xcd\x6e\x9e\x28\x5b\x28\x73\xb2\xa0\x6e\xbf\xfb\x20\x9c\x45\xf7\x6d\xb1\xfd\x2f\xbe\x2c\x22\xbe\x8a\xa2\xd5\xee\x0a\x90\x51\xf6\x09\x9e\x07\xcb\xb3\x84\x2a\x94\x75\x40\x09\xf7\xee\x95\xd9\xeb\xa7\x8b\x8b\x8a\x03\x4c\xf3\x04\x77\x8d\x6f\x53\x09\x6e\xdb\x5d\xc7\x7d\xc0\xeb\x04\xd1\x5d\x00\x6f\xa9\x4f\x44\x25\x3a\x06\x61\xcc\xaa\x76\x8a\xc2\x3f\x44\xb0\x9a\xc4\xd8\x9a\xb4\xa1\x4f\x33\x74\x15\x04\x09\x67\xb9\x8b\x14\x76\x76\x91\xa2\xa2\x40\xdc\xaa\x56\x4d\x2d\x16\xdf\x3b\x21\x39\x0d\x7c\x25\x94\x51\x31\x72\x19\x00\x09\x67\xa7\x34\x17\x3e\xb0\x02\x26\x15\xd3\xf6\x0e\xfe\xea\xf1\x9d\x3a\x79\x63\xc3\xa3\x7c\x4f\x22\x56\x8e\x21\x68\xa8\x11\x6d\x11\xa5\x33\xf3\x63\x47\x15\xbb\x30\xf5\xd7\xb8\x33\x37\x96\x7d\xe4\xa7\x30\x85\x69\x5f\xfa\xc0\x39\x37\xdb\x25\x71\x45\xfc\x7d\xf0\x31\x9d\x60\xc2\x8f\x4d\x0e\xf4\xb7\x0e\x8a\xb0\xbf\x92\x70\xf6\xd7\x46\x90\x34\x68\x14\x35\x96\x7e\x3c\x27\xed\xc6\xeb\x28\xa1\x8d\x65\xf0\x81\x2c\x1f\x1a\x7e\xe3\xc6\x9f\x35\xce\x2f\xdf\x81\x4a\xac\xc2\x43\xfb\x28\x39\xc1\x74\x94\xa4\x37\x0a\x7c\x9c\x48\x21\x29\xc0\x7d\xe1\xb2\x3a\xae\x85\x6f\xa0\x45\xba\x87\x5b\xc8\x7e\x7b\x30\x4e\x5a\xea\x88\x7a\xaa\x0f\xc9\xcd\x9c\x3a\xaa\xf1\x29\x69\x36\xcb\x4e\x81\xf3\xde\x98\xca\xd2\xf2\xa7\x61\xcb\xce\x46\xca\xb4\xca\xf1\xd0\x1a\x97\xcc\x7b\x53\xe1\xe3\x87\xd8\x9f\x83\xd8\x61\xa0\x19\x5c\xe3\x48\xeb\x58\x2e\x02\xeb\xf8\x98\x84\xe3\x64\x92\xa5\xd3\xb1\xc7\x1b\xf5\x56\xea\x73\x05\x0a\x38\xa6\xaf\x06\xcb\x33\xd9\x6d\xed\x22\xd4\x8e\xc9\x92\xf8\x09\xd1\x6f\x8d\x6d\x5a\xfb\x39\xb6\x46\xf3\x93\x60\x34\x4f\xfb\xf9\x0e\x2f\xc7\xf3\xc9\xd8\x9a\xa0\x07\x9e\xb2\x27\xe8\x86\xa7\x1c\xb8\xbb\x75\x03\x73\xf6\x1c\x63\xbc\x68\x36\xf5\x3b\xdc\xb2\x0d\x74\x77\x84\xf1\xb4\xd9\xd4\xa7\x47\xd2\xb6\x45\xb4\x66\xb3\xa9\xcf\x9a\x4d\x3d\x7f\x01\x66\x06\xad\x67\xa0\x75\x41\x34\x83\x0d\x2c\x1b\xd5\x9c\xaa\x9a\x9a\x61\x04\xb7\x8c\xde\xd1\x8a\xd1\xc4\x75\x75\xf6\xa7\xbf\xaf\x83\x98\xe8\x86\x81\x56\x8f\x28\x04\x2b\xc5\x41\x64\xb9\x4f\xbb\x3b\x63\x55\xbe\xe2\x25\x6c\x3b\x5b\x1f\x83\x19\x89\x34\x03\x49\x00\x69\xa5\x5a\x9c\x55\xb5\xdc\x45\xa2\x6b\x70\x47\x77\x87\xce\xf1\x5d\xea\xa1\xee\x9e\x25\xed\x3e\xeb\x81\xfb\x66\x04\x52\x1e\x93\x47\x36\x1b\x89\x2e\xbf\x9d\x01\x62\xaa\x81\xce\x4f\xfa\xcd\xa6\x7e\x6e\xe2\xbe\x61\x20\x86\x98\x49\x7f\xcd\x66\x05\x66\xce\x73\x14\x60\x80\x58\x58\x09\x7d\xc3\xaf\x7f\x00\xa4\x90\x14\x39\x23\x5d\xe2\xeb\xd1\x35\x3e\x47\xe7\xf8\x12\xd9\xcd\xfb\x66\x33\x57\x94\xad\x80\xe6\xb2\x63\x25\xed\x05\x8c\xde\x22\xf1\x66\x53\x77\xba\x3d\x8c\xf1\x75\xb3\xa9\x5f\x63\xbb\x6b\x20\xa7\xeb\x61\x8c\xcf\x19\x71\x6c\x19\x06\xba\x3e\x71\xba\x5e\x75\x81\xe7\xad\x69\xb4\x8c\xe2\x96\x66\x5e\xb3\xf6\xa9\x83\x4d\x01\xcf\xe1\xfc\x94\x6d\xca\x6f\x8c\x99\x89\x9f\x9c\x30\xa6\x68\x00\x0a\x16\xa0\xf7\xc1\x8c\xb4\xa6\x0b\x3f\xd6\x4e\x9f\x98\x0f\xa6\x76\x72\xcc\x60\x4e\xb5\xcc\x43\xf5\x43\x51\xc7\x79\xea\x74\xbb\x55\xb4\xf8\xb1\x45\x35\x35\xa1\xdb\x7a\x10\xba\xaf\xa6\x36\x9c\x99\x58\x6b\xfa\x77\xab\x51\x41\x9f\x74\x22\x5e\x2c\x69\x31\xff\x54\xe4\xcf\x77\xf9\xa9\xca\x65\x66\xe2\x87\x13\xac\x35\xb4\x33\xad\x19\xde\x24\xab\x91\x36\x7c\xd8\x4e\xf1\xdd\x76\xfb\x4d\x87\x5b\x36\xe6\x6b\x26\xba\x3c\xc6\xda\xd8\xc6\x95\xcb\x6e\x61\xa7\x57\xb3\xec\x4a\x07\x31\x77\x01\x65\xe3\x16\x44\x05\x0d\x7d\x16\xf4\x24\x35\x14\xcf\x46\x25\x21\xbb\x7c\x4b\x1c\xa8\x5c\xa6\x8e\x6b\x4b\x92\x07\xb8\xb5\x92\xf4\x64\x02\x36\x2b\xa1\xbc\x6a\xec\x47\xa9\x91\x39\x6a\x3e\x30\xb6\x26\x70\x2b\x8f\x34\x9b\xd9\xd5\x51\x08\xc8\xa2\x5c\xf2\x03\x4c\x2b\xdf\x45\xbb\xa0\xb7\x10\x17\x37\x11\xcf\x41\xa8\x07\x15\xde\x77\xe1\xa2\xa9\x1e\x29\x25\x9c\xcd\x26\x39\xb1\x0c\x5e\xa4\xf0\x80\x05\xd9\xc7\x31\xc6\x38\x3a\x63\x02\xf1\xd0\x42\x4b\x1c\x31\x31\xe3\x8c\xb2\x47\x85\x7c\x35\x0a\x15\xdc\xc2\x89\x67\x5d\x97\x2a\x19\x22\xe4\xa3\xa5\xd8\xdc\x2e\x70\xd2\x8a\xb8\xff\xb2\xc7\x50\x50\xc5\xce\x04\x31\x6f\x61\x18\x28\x3a\xc2\x38\x49\xef\xbd\x06\x7f\x58\xb1\x13\x64\xa1\xa9\x7c\x74\xa4\x60\x86\x3c\xc9\xd0\x90\xee\x1a\xab\xe9\x2b\xcc\xc5\x32\xd7\x07\x41\xb3\xa9\x07\xd8\x4e\x2f\xa1\x55\x5d\x8a\x9c\x05\x1f\x77\xd7\x22\x23\xa1\x72\x59\x70\x75\x4b\x20\x9d\x1b\x2d\xfc\xf8\x35\xf1\x93\x75\x9c\xc2\x98\xda\xea\x93\x86\x52\x3c\x1a\xad\x30\x79\x2c\xd2\x92\xdc\x52\x4c\xeb\xb0\xee\x83\x19\x5d\x14\x91\x20\x4b\x16\xe0\x4a\x38\x4f\xf5\xb8\x45\x0d\x81\x99\x69\xc2\xde\x11\xb6\xc8\x92\x18\xfb\x7b\x74\x61\xbb\x9d\x41\x3a\xdd\x5d\x93\x4f\x94\x84\xb3\x64\xb3\xc9\xed\xa2\x61\x13\x8a\x85\x2a\x09\xf4\xa1\xa2\xdb\xde\xde\x6e\x36\x9f\xaf\xaf\xa1\x1b\xaf\xaf\x87\xe3\xc9\x36\x08\x13\xea\x87\x53\x12\xdd\x36\x9e\xc5\xb1\xff\xd0\x6c\x96\x2f\xd1\x64\xe0\x98\x6e\x73\x5f\xc9\x26\x2e\x98\x1e\x1a\x41\xd8\xa0\x06\x6d\x2f\xfc\xe4\xed\x7d\x98\xe9\xad\x62\x03\x62\x49\xc5\x13\x4c\xc7\xf1\xc4\xd8\x4a\x4e\x77\xa0\x8a\x39\x0d\x9f\xd0\x64\x4c\xa3\x30\xa1\xf1\x7a\x4a\xa3\x18\xd3\x2d\x01\x30\x44\x77\xec\x87\x85\x12\x26\x3e\x13\x95\xe4\x3c\xa4\xc7\xc6\x50\x0f\x72\x60\xf1\x2e\x8d\x42\x72\xdf\x08\x8c\x2d\x6b\xf1\xaf\x50\xb2\xd9\x96\x81\x42\x1c\xeb\x03\x98\x5c\x74\xdb\x40\x4b\x1c\xeb\x8e\xcd\xf6\x36\x97\x70\x35\xb0\x7d\x1b\x47\x77\xe7\x62\x71\xd7\x6d\xcf\x32\xd0\x34\xef\xae\x67\x81\xb4\xb9\xa6\xd0\xd4\x55\x98\x17\xfe\xfa\xf6\x1d\x57\xe0\xb1\x04\xcf\xca\x74\x77\xa0\xb6\x93\x54\x6d\xeb\x2a\xc7\x8b\xdc\xfa\x31\x49\xa7\x4f\xd2\x9e\xfa\xcb\x25\x57\x6d\xf0\xb8\x71\x69\xf7\x84\x05\xc3\xbf\xb0\x7d\x7d\x03\xfa\x17\x1c\xb3\x74\x7e\xd1\xc4\x01\xcb\xc9\x71\x39\x4e\x58\x46\x10\x06\xd9\x65\xe2\x44\x37\x50\x98\xc5\x21\x60\x6f\xef\xa2\x19\xe1\x2a\xb0\x65\x3b\x9b\x3f\x5e\xb3\x4c\x9d\x02\xc0\xd2\x4f\x78\x24\x80\x17\xd1\x7d\xf8\x3e\xb8\x23\xd8\x62\xd9\xfe\x94\x06\x1f\x49\x01\x03\x47\xe9\x61\x65\x98\x2a\xcc\x02\x9d\x22\x52\x60\x96\x52\x79\xb0\x34\x50\xa0\xea\x7c\x38\xf1\x8a\xbe\x8f\x83\xbb\x14\xbe\xe0\x49\x27\x53\xca\x5d\x47\x21\x03\x02\x5b\x53\x8e\x09\x81\x19\x5e\x47\x1f\xc9\x5e\xc4\xd7\x29\x64\x19\x9b\x55\xf7\x30\xec\xcc\xf4\x3c\x87\xfd\xf3\xea\x30\x5c\x6e\xe9\xbe\x2d\xb4\x90\x88\x3e\x24\xa9\xed\xc1\x0d\x50\xd6\xe2\xd9\xe9\x36\x6f\xa5\x76\x74\x7b\xab\x6b\x34\x0e\xee\x34\x54\xd5\x7a\x39\xcf\x41\x65\xa1\xa4\x74\xe5\x1c\xea\x30\x8b\xee\x43\xad\xaa\x49\x8c\x62\x99\x39\x4b\xc9\x27\x0d\x69\xe1\xc2\x2f\x2a\x9b\x7c\x17\xfe\xd1\x05\xcb\xa2\x11\x28\x4e\x82\xc4\x40\x12\xca\xed\x72\xf3\x6e\x51\xc5\xcc\x94\x9b\xc6\xb4\x85\x9f\x64\x28\x1a\xfa\x3c\x27\x74\xa8\xe4\x68\x31\xd0\xf8\x99\x50\x86\x71\x59\xd0\x1b\xaa\x20\x2e\xc2\x59\xea\xd6\x45\x3f\x22\x9b\xcd\x11\x35\x44\x84\x40\xb6\x01\xe7\x9e\x59\xc7\x36\x7f\xb0\x27\x4c\xd0\x0d\xd7\x77\x24\x66\x9d\x31\x3c\x02\xcf\x67\xb7\xc1\x7c\x9d\x3e\x6f\x8d\x43\xea\x94\x89\x1f\xef\xc9\x27\xfa\xad\x2a\xc5\xe4\x4a\x5e\x1f\x5e\x3d\x4d\x1b\xed\x44\x5b\xcc\xab\xc3\x65\x2c\x50\x23\x06\x78\x3c\x19\x05\x85\x33\xb2\xd8\x0f\x93\xa5\x9f\xaa\xa3\x5f\x05\x21\x79\x1f\xf1\x49\x5f\x2f\xf0\xde\x9c\x50\xf0\x34\x6c\xa0\x23\x0b\x41\xf0\xb1\xd8\x30\x32\x15\x53\x04\x1f\x34\xed\x51\x74\xc2\x25\x67\x1b\x7c\x12\x88\xdb\xf7\x12\xa1\x88\xad\x34\xfb\x0b\x90\xa0\x23\xcb\x18\x25\xed\x20\xf9\x35\x66\xa2\xdb\xec\x2c\x18\xef\x5c\xeb\x4e\x4c\xec\x0f\x45\x65\x7c\xd8\xbe\xe6\xfb\xb0\xea\xd3\xf0\xf2\xe0\xaf\x33\x61\x16\x76\x0e\x07\x16\x22\xf3\x7c\x71\xe7\xaf\x74\xe5\xc5\x34\x71\x51\x5e\x9f\x22\xb8\x23\x67\xb4\xff\x16\x05\xa1\x1e\xb6\x83\xe4\xf5\xe5\xaf\xa0\xc5\x4f\xce\xb4\xab\xf8\x2a\xd4\x86\xda\x55\xa8\x1d\xc0\x8b\xf9\x71\x5a\x1c\x7d\xf2\x44\xc2\xf9\xa8\x62\x0a\xe4\x73\xd8\xeb\xf2\x54\x90\xa4\x00\xa9\xfa\xb9\x34\x37\xd4\x35\x62\x9d\xec\xcc\xdd\x86\x59\x06\x2a\x49\xd3\xb0\x4d\xce\x71\x96\xa6\x31\x29\x05\x85\x38\x40\x3e\xb6\x46\xfe\x2e\x6a\x96\x9f\xb2\xd8\x12\x93\xb1\x3f\x19\x45\x26\x5e\x8e\xed\x09\x62\xb4\x96\x63\x67\xc2\x3e\x70\x8a\xfd\x66\x33\x69\xb5\x50\x00\xa9\xb0\xd5\x32\x84\xc3\x84\x70\xb3\xc9\x28\x71\x8f\x4d\x7c\x63\x12\xb5\x13\xe2\xc7\xd3\x85\x7e\x7c\x95\x98\xdf\x1d\xef\xbc\xc7\x4c\x9b\x4d\x7d\xb1\xdb\xec\x2d\xd8\xa6\x03\x2d\x4e\x70\x92\x0d\xbe\xed\x4e\xc4\xcf\xbc\x2a\xb0\xad\x4f\xb1\xc1\x64\x55\x7d\xde\x8d\xd4\xe8\x1b\x1d\x65\x29\x8e\xe0\x77\x27\x0a\xc6\xd6\x60\x62\x4a\x90\xbc\x0a\xc2\xf5\xa7\x66\x93\xa4\x16\x95\xf9\x49\x2c\xf3\xf4\x01\xaf\xb8\x2e\x21\x24\xf7\xc9\x6e\xe6\x96\x71\xca\xbc\x22\xd5\xbd\x74\xce\x57\x79\xf8\x51\x56\x5d\x70\xdd\xc4\xbe\xf9\x13\x34\x17\x75\x33\xe8\x56\x5a\xe8\xd8\xbb\x67\xcb\x65\xd5\xd8\x09\xc4\x4a\xf5\x6c\xb9\x7c\x06\xc2\x5b\x66\xf7\x5b\x35\x3c\xb8\x58\xa5\x58\x38\x39\x41\x21\x75\x65\x87\x2c\x55\x64\xe6\x84\x0b\x90\x7c\x90\x9d\x47\x51\x3c\x53\x79\xf0\x82\x73\x09\xfe\x56\x27\x0a\x69\x40\x64\xe5\xe4\x5b\xe5\x76\x5d\xa1\xa8\x80\xc9\x38\x65\x9d\xb1\x35\x69\xb5\x10\x4c\xf5\xfc\x8f\x29\x9d\x7e\xf0\xd0\x4f\x15\xb5\x00\x81\x44\xd8\x1a\xdf\x45\xeb\x90\xd6\x57\x25\xbd\x01\xf7\x3e\x4a\xf7\xd4\xaa\xba\x19\x6c\xf0\x4b\xe7\x59\xac\xec\x4f\xa5\x5a\x8b\x5d\x72\x56\xa1\x53\xcc\x03\xf3\xc4\x67\xd6\x50\xa7\xa7\x60\x96\xd9\xc2\x4c\xa0\xda\x8d\xf8\x4c\xef\x43\x51\xab\x6b\x19\x88\xfd\xd7\xe9\x31\xee\x5a\xc6\x31\xbc\xf3\x6f\x12\x9d\x1a\x26\xa4\x21\x9c\x85\x6e\x77\x9e\x52\x43\xe6\x88\x6c\x92\x2d\x54\xdb\x02\x3f\x32\x37\x6b\x4a\xa3\x90\xc9\x27\x10\xe9\x9e\x84\xf4\x05\x57\x5d\x66\x13\xf5\x2c\xf6\xe7\x85\xb6\xcb\xec\x5f\x45\xeb\x9e\x2f\x83\xe9\x87\x73\xf6\x4a\x27\xe0\x02\x61\x11\xdc\xd2\x3f\x93\x07\x71\x4c\x14\x85\x97\x2c\x03\xa0\x74\x22\x22\x03\xf1\x06\xca\x10\x77\xa0\xe0\x71\x27\x83\x75\xea\x60\x5f\x44\xeb\x9b\x1c\xac\xab\x80\x4d\x37\xf9\xc0\xf6\xab\x1d\xb0\xa8\x81\x3f\x9b\xed\x5f\x80\x8e\x2c\xa9\x49\x95\x78\xb5\xdb\xa2\x82\x88\x5c\x34\xbd\xa9\x10\x98\xd9\xea\xa8\x55\x6d\x8d\x94\x92\xf7\x41\x64\xd7\x2b\x4d\xbd\xe7\x91\xbb\xfb\x65\x48\x49\xfc\xd1\x5f\xb2\x0d\x64\x8c\x13\x42\xd3\x0c\xc5\xec\x4e\xf2\x88\x6c\x36\xe9\x5a\xf2\x64\xac\x5e\xf0\x15\xb3\x73\x75\xad\xaa\x77\x3e\x5f\xdb\x5e\xd5\x94\x6b\x9a\x0c\x64\x9b\xac\x59\x6a\x1b\x70\x5f\xfb\xb2\xc5\x47\x1a\xb9\xbb\x91\x53\x39\xa3\x27\x85\x35\x28\x3b\xc1\x2e\xbd\xbc\x08\x53\x1f\x4b\xaa\x99\x5d\x27\x8a\x59\x23\x37\x14\x0f\xfc\xf8\x2b\xee\xf3\xcf\x42\x7b\x96\xb0\xd4\xa4\xb5\x56\x1f\x51\xfd\x99\xfa\x8a\xd4\x20\xd6\x35\x0e\xac\xfd\x56\x36\x85\xe4\x65\xf8\x4a\x7a\x4c\xb8\x1f\xd7\xbc\xb6\x26\x13\x90\x0b\x6b\x41\x4c\x53\x6e\xfa\xdc\xcc\x56\xe9\xfe\xb3\xa2\xfa\xa3\x5d\x2d\xd5\xcd\xfb\xeb\xdb\x77\x2f\xb2\x09\x9c\xbd\xfa\x35\x8a\x67\xcf\xa8\xae\x5a\x38\x72\x93\xe6\x1f\x5e\x8e\x57\x2f\xdf\x5c\x14\xca\xc1\x24\xf9\x67\x62\xcb\x54\x2e\x8a\xbc\xd4\x28\xca\xa3\x87\xe4\xbe\xf1\xc2\xa7\xc4\x60\xfd\xc6\x46\x95\x6e\x8c\x74\x2a\xce\x55\x24\x9d\xd8\x69\xc7\xb2\xb8\xd6\xae\x7d\x3d\x0b\xb8\x12\xf7\x87\x38\xba\x7b\x95\x02\x66\x97\xdb\x89\x71\x6a\x5b\x46\x56\x9f\xdd\xf2\xc2\xf6\x13\x15\xd4\xb3\xfb\xbe\xcb\x32\x39\x3c\x26\xed\x95\x3f\x27\x7f\x41\xfc\xef\x6f\xa9\x45\xce\x8e\xae\x69\x96\xea\x5f\x5b\x3e\x95\x4f\x92\x4c\x78\xd8\x49\x0a\xea\xd2\x30\xd1\x4a\x94\xc7\x40\x7b\x81\xed\x14\xf8\xb7\x2a\x31\x83\xcd\xba\x95\xbc\x22\x8f\xbb\x33\xf5\xf8\xb9\x08\x67\xbb\x88\xe3\x8a\x77\xf6\x84\xeb\x18\x76\x56\x62\x8f\x9d\xef\x6a\xa6\x20\x2c\xb8\xf3\xac\xe6\xf3\x27\xb5\xb3\x42\x35\xa6\x35\xc1\xd6\xb0\xee\xad\x42\x3c\x1e\xd6\x17\x95\x0d\xe8\x74\x8e\xe1\xd4\xde\x47\xe9\x98\xae\xf8\x50\xa5\x68\x57\x6c\x32\x49\x6c\xde\xb5\x5b\x19\xf3\xd4\xaa\xad\xb3\xa2\x56\xad\x34\x34\x74\x99\xd4\x89\x55\x33\x4f\x43\x03\x56\xcc\xf1\x85\x9e\xb9\xc9\x1b\x3c\x16\xdd\xb5\xef\x9b\xdb\x39\x9d\x8a\x99\x9d\x97\x01\x5c\xbc\x83\x5a\xa1\x7a\x82\xe7\x90\xa6\xb9\x65\x52\x28\x2b\x37\xae\x1c\x05\x63\x8b\x11\x11\x4a\xb4\xea\x22\x89\xd9\x2a\x27\x98\x96\xa7\x89\xac\x29\x65\xa1\xaa\xdc\xcc\xb2\xad\x9b\x70\xca\x12\x24\x2b\x49\x92\xe1\x28\xe8\xc8\xfe\x82\xfe\xc7\x63\x65\xef\x4b\x31\xb2\xd8\x0e\xae\x6c\x12\xc7\x76\x53\x93\xca\xf1\x82\xc7\x72\xa4\x2d\x46\x65\x52\xda\x22\x57\x4c\x55\x3f\xaf\x14\x72\x4d\xb5\x5a\xaa\x44\x64\x1a\x85\x1f\x49\x4c\x7f\x11\xd7\x59\xcf\xa3\xe5\xfb\x28\xf3\xea\x02\x1e\xe8\x14\x36\x0a\x82\x0d\xd9\xdc\x16\x60\x6b\xc4\x12\xa7\x38\x80\xb0\xaf\x16\x8f\xbc\xc9\x25\x86\xb8\xd5\x1a\xed\x5c\xe7\x96\xf7\xb4\x7c\x74\x57\xce\xb2\x92\x0e\x35\x3e\x40\xff\xc8\x3b\x37\x35\x9a\xdc\x5f\x39\x7e\x48\x14\xe1\x00\x25\x10\xad\xaf\x15\xa1\x10\x5b\xa0\x33\x0b\x6e\x75\xee\xe1\x24\x4e\xdd\x27\x44\x86\x30\xd1\x88\x4e\xad\x66\xb3\xfc\xb2\x65\x1b\x23\x23\x6a\xb5\x78\x70\xb2\xe0\x24\xce\x54\x3f\x25\xc8\xc0\x64\x90\x81\x69\x6e\x33\xcb\xae\x25\x7c\x1c\x2d\xe0\x0f\x10\x00\x19\x6e\xbc\xe4\xed\xa8\x87\xa6\x89\x96\xad\x96\x81\x60\x27\x39\x5e\x88\x6c\xdf\x34\xd1\xc2\x34\x0d\x5e\x20\x61\xeb\x18\x24\xac\x8a\xac\x71\x2f\xc9\xca\x8f\x7d\x1a\xc5\x7a\xa1\x94\xc6\xc8\x10\xd4\x5b\x76\x99\x7e\xd4\x6a\xb1\x84\xa8\x83\x69\xe7\x6a\x71\x08\x79\x56\x35\x63\x64\x88\x52\x9a\x76\xa9\x9c\x28\xe0\x09\xa1\xf2\x13\xfa\xa8\xc8\x4c\x5a\x21\xe2\x9f\x19\xee\xcc\x42\x5a\x91\x19\x9a\xbe\x29\x07\x86\x8c\x96\x49\xf9\xdc\xaa\x20\x03\xd6\xc9\x78\x62\x45\xc9\xdc\xf2\x2b\x05\xf3\x31\x15\x66\xd5\x8c\xef\x2a\x96\xef\xfc\x4e\x21\x55\xf2\x29\xcb\x94\xae\x62\x5f\x51\xaa\xdc\xec\xc3\xdf\xf8\xf1\x6e\x01\xfd\xc5\x5f\xae\x49\xf2\x8e\x9b\x15\xce\x74\xe3\x4c\x14\x7e\x28\xfe\x9a\x69\xe9\x78\x6d\x4a\x65\x54\xf4\xa6\x42\x0e\xd3\x1a\xba\x31\x9e\x7c\xde\x3e\xb9\xd2\xb4\xcc\x45\x38\x31\x4e\xb1\xa5\xac\x32\x17\x81\x0f\xdc\x6d\xb1\xd9\x8f\x1c\xd2\xc8\x32\x17\x6c\x11\xdd\xea\x7e\x1b\xd6\xf7\x8b\xbb\x80\x52\x12\x1b\x23\x9a\x3b\x4b\xe6\x61\xc1\xf1\xfa\xdb\x38\xc9\x7d\xe4\x0d\x16\xe9\x90\x4f\x71\xb3\x63\xcf\x51\x44\xa9\xe5\x76\x8a\x5e\x79\x0f\x08\xd9\xd5\x9b\x56\xf5\x8e\xb7\xea\xdc\x91\xe4\xcf\xe8\x14\x2a\x63\xf9\xa4\x2e\x7f\x61\x4d\x2a\xc5\xd9\xd8\x42\xa9\x05\x53\xbe\xe4\x65\xfd\xb9\xd8\xed\x42\x66\x3d\xcb\x97\x29\x0d\x15\x84\xbe\xf4\x80\xb2\xa6\xf2\x17\xe1\xec\xd1\x55\x3f\x40\x71\x0c\xd6\xee\x2a\x19\xa2\x65\x97\x5b\x0d\x6a\x76\x76\x24\x35\x80\x90\xb1\x6a\x5b\x6d\xac\x20\xc5\x44\xbd\x4a\x06\x51\xb1\x0e\xec\x61\x2a\x31\xca\x3d\xca\x05\xc0\x54\x3c\x94\x37\x1c\xe3\x9d\xb6\xf8\xeb\xca\xc6\xa5\x51\x43\x91\x2b\x97\x97\xf1\x0b\x57\x5b\xed\x63\x90\x42\xa0\xa6\xca\xa6\x55\x6b\x50\x4b\xa5\x4e\x4f\xa9\x13\xf9\xb8\xbd\xc1\x26\xea\x53\x0a\x92\x72\xee\x48\xba\xd9\x64\xc2\xc1\x29\x6b\x86\xa2\x09\x9e\xe2\xac\x24\xcf\x83\x6a\xe5\x91\xd4\xf6\x2d\x4c\x14\xcd\x25\x81\xf3\x26\xac\x02\x56\xc1\x9e\x58\x67\xba\x72\x02\x44\x47\x96\x31\x54\x95\x46\x39\x0f\x00\xa5\xca\xd2\xb3\xdd\xd4\x91\x6d\x64\x96\x74\x45\x7b\x22\x1c\xfc\x53\x57\x80\xec\xd4\x96\xdf\x06\xcd\xd4\xe7\xe5\x15\x21\xf5\x21\x93\xda\x4c\x0a\x5d\x4b\x92\x79\x93\xc1\xe2\xe4\x29\x6f\x58\x25\xcc\x65\xc5\x0d\xdc\x77\xd1\x3d\xbf\x55\x9a\xaa\x2b\x97\x7e\x42\xdf\x91\x69\x14\xcf\xc8\x4c\xc8\xc7\x05\x75\x66\xfe\x7d\x2a\x17\x17\x29\x64\x33\x4e\x14\xea\x1a\x2f\x4b\x7a\x48\x59\x70\x75\x93\xbf\x10\xa7\xc0\x8c\x49\x12\xfc\x9d\x1c\x88\x59\x6a\x09\x85\xd6\xbf\x50\x90\x28\xe4\xc4\x0a\x84\x72\x31\xc8\xe4\xd9\x38\x92\xfc\xf4\x6c\x91\xa5\x5c\x82\x15\x87\xad\xa9\x76\x46\x3e\x09\x3b\xb5\x0a\x43\x5c\x06\x48\xef\xaa\x94\xbb\x6b\x44\x52\x56\x96\x3a\xb2\x82\x92\xba\xa1\x84\xa1\x6a\x10\x92\x7a\x6c\x6e\x69\x5a\xec\xa5\xc2\x29\xc2\xa3\x08\x71\xfe\x17\x30\xd5\x1c\x95\x56\xbe\xb0\x86\x8d\x74\xb2\xd9\xd0\x4c\x0d\x59\xc3\x8f\x32\x6e\x5d\x1b\x2c\x6a\x8b\xfd\x54\x26\xa6\x6a\x12\x85\xf9\xb3\x4c\xbd\xee\xfb\x46\x79\x08\x3f\xa2\x74\x55\x43\x17\x0a\x5a\x0e\x91\x57\xe0\x66\x49\x50\xac\x22\x25\xf5\x08\xbf\x95\x27\xbc\x47\xc8\x3d\x52\x98\x41\xaa\x31\xcb\x8a\x8a\xe1\x97\x30\xc6\x59\x91\xc8\xf0\x91\x23\xaa\x6c\x09\x30\xca\x8d\xcb\xa2\x5e\xe5\xa9\x7a\x44\xaa\xfb\x36\x75\xdd\x72\x84\x71\x36\x64\x2b\x81\x70\x39\x54\x4c\x3a\x51\x29\x36\x7f\xb9\xf3\xee\x7a\xa2\xc7\xca\xe2\x1a\x2d\x45\xcd\x46\x25\x6e\xce\x69\xc2\xd0\x51\x39\x24\x7d\x14\xfe\xba\x20\xa4\x58\x34\x11\x59\x0f\x3c\x27\x53\xff\xb7\xb4\xac\xf6\x48\xe4\x08\x6d\x2d\x20\xc2\x04\xdd\x7e\xf1\xf6\xf5\xf5\x8b\x8b\x57\xef\x9f\x5d\x73\x5d\xb3\xba\x73\x86\x07\xe0\xff\xf4\xec\x4f\x17\xbb\x1b\xc1\x65\x0a\x8a\x01\x5c\xb1\x76\xec\xbc\xed\x64\xf5\x78\x4a\x91\x6c\x17\xb0\x95\xa4\xa8\x68\x3d\x5d\xf0\x9d\x95\xb4\x75\x65\xbc\x0c\xef\x7f\xc3\xa4\x4d\x59\x02\x82\xf5\xf0\x43\x04\x25\xa1\xba\x13\x84\x1d\xb5\x96\x4c\x6d\xb4\xff\x83\x08\xc2\x1f\xee\x65\x47\x13\xab\xea\xbd\x13\x92\xd2\x41\xb9\x57\x3c\xca\xbb\xde\xc8\x47\x2d\x39\xdb\x99\xe6\x1d\x5f\xc5\x67\x57\xe1\xf1\x1c\x69\x57\xb1\x66\x0c\xc9\x2e\x82\x7e\x94\x85\xa6\x80\x99\x30\xf3\xf1\xaa\xdd\x06\x9f\xc8\x4c\x43\xb4\x70\x71\x42\x73\x2c\x98\x96\x8b\xf3\x66\x29\x17\x2e\x66\xb0\xdd\x72\x40\x42\xfa\x97\x96\x6d\x89\xb9\x3c\x7f\xd9\x43\xbc\xfd\x4d\x7a\xfb\x77\xae\xd5\xd4\x6c\xcb\xb2\x58\xee\x6d\x34\x5d\x27\x7a\x95\xfc\x20\x15\x9b\xef\xae\x0b\x65\x2e\x64\x89\x12\x17\xf2\xa0\xbc\x85\x1c\x56\xc4\x42\x86\x28\x15\xdf\x87\x74\x8c\x47\xfb\xff\x00\x3d\x0c\x59\xf9\x31\x84\x1b\xfa\x21\x8a\xdf\xa7\xc2\x66\x80\x68\x7b\x1a\xad\x1e\xe4\x28\xaa\xa9\x5b\xf3\x1b\x36\x9a\x48\x0c\xe6\x94\x2f\x2f\xce\x84\x45\xdc\x74\x19\xac\x6e\x22\x3f\x9e\xbd\xf0\xa9\xdf\x4e\x08\x65\x7f\x75\x8d\x5b\xe6\xc6\x25\x8b\xb5\x21\xa9\x82\xa7\xe4\x13\x3d\x5e\x2d\xfd\x20\x94\xb1\x54\xa3\x92\x55\xc4\x4f\x28\x51\x15\x17\x62\xb9\xd0\x68\xc5\xda\xc3\x9f\xfb\xbc\x8b\x84\xf1\x6e\x06\xb7\x73\x80\x1d\xe3\x40\x8f\x51\xb1\x7e\xc2\x5c\xd4\xd8\xc5\xfd\x83\xb0\xb6\x10\x88\xca\x67\xeb\x35\x34\x29\x78\x7a\x12\xe6\x73\x50\x1a\xee\x1d\xad\x3d\xf5\xc3\x29\x59\xea\xc4\xd8\x8e\x0e\x6a\xb6\x66\x33\xd6\x95\xcd\x39\x2f\x34\xa7\x21\xb5\x1f\x43\x2c\x37\xe9\x5c\xd1\xa4\xfc\x50\xe0\x2e\xfa\x08\xdd\xce\x64\x81\x9f\xc3\x19\x89\xf9\x29\x33\x5c\x20\xc6\x11\xa2\xed\x98\xf1\x24\x9c\x3a\x57\x71\x01\x1f\xa5\x88\x8a\xfa\x97\x7a\x0a\x22\xc9\xb0\x67\x98\x36\xff\xf7\x6a\xd2\xbf\xeb\xd5\xa4\x9a\x1b\x3f\x69\x24\xc2\xea\xdb\x3e\x41\x2e\xba\x34\x45\x41\xfb\x9a\x3b\xb3\x48\x77\xa7\x31\x0a\x4a\x77\x6b\x0e\x30\xe8\x87\x09\xb2\x5e\x47\x76\x0d\x30\x7f\xc8\xf5\x01\x3e\xf7\xee\xf9\x1c\x07\x7a\x9c\x89\xf8\x9d\xd8\x7c\xd7\xd9\xc6\x09\x18\xd1\x5c\xe2\x1c\x71\x16\x09\xe9\x55\x4f\x55\x1d\x25\xb8\x3d\x91\x21\x85\xaf\x21\x15\xa6\xb4\x9e\xfa\x22\x48\x82\x56\x07\xce\x16\x1e\xcd\xaa\x05\x81\xd5\x4a\x6b\x0d\x06\x83\x01\xb9\xab\x80\xcc\x07\xa9\xd4\x7e\xad\x22\x47\x68\x16\xad\x40\xd7\xfc\x38\xf0\xd3\xbb\xfb\x48\xa3\xf1\x9a\x64\x15\x2b\x30\x9a\xe2\x0e\x6b\x91\xee\x9e\xad\x3e\x29\xb4\x3a\xdb\xe6\x4b\xe7\xcb\xe9\xeb\x0a\x4d\x5d\xb9\x1e\x73\x42\x9f\x33\x41\x3d\x08\xe7\xe7\x20\x54\xbc\x83\x99\x70\xc4\x45\x65\x60\xdf\x66\x93\x3f\x2c\xc4\x5e\x44\xcf\xb1\x36\xce\x41\xe5\x59\x10\xef\x10\x32\x1b\x75\x8e\x20\xc0\x51\x01\xba\xa8\x08\xe0\x6b\x13\xb8\xd4\x0d\xfe\x4e\xa6\x0b\x3f\x9c\x93\x99\x06\xfe\x95\xe8\x56\x8f\x75\xdb\x90\xce\x45\xce\x73\x5a\xa4\xe8\x7f\x67\xf1\xff\x81\xb3\x78\x76\x07\xbf\x72\x0e\x8f\xdb\xd7\x3e\x6b\x5d\xb8\x56\x09\xed\x0c\x9e\xe5\xc0\x45\x62\x4c\xb9\x8c\x69\xb1\xe7\x65\xaa\x15\x8c\x1f\x3f\xa9\xdf\xf9\x9f\xb8\x4a\x60\xcf\x4c\x0b\x25\xc9\xce\x46\x93\x3c\x64\x21\xc2\xeb\xae\xac\xc4\x40\x3c\xd6\x77\x76\x0c\x2c\x54\xa5\xc2\x00\x26\x0d\xf9\x9a\x9a\xe2\xc0\x17\xc4\x91\xca\x9c\xd0\xf3\x87\xe9\x32\x98\xf2\x83\xfd\xd8\x48\xfd\xe3\xf0\x06\xc9\x05\xae\xc8\x1a\xe2\x0f\x59\x74\x96\x87\x34\x45\x55\x23\x04\xb7\x3a\x39\xcd\x83\x18\x52\xe8\x7a\x11\xad\xfd\x84\x40\xc4\xf6\x42\xbd\x27\x45\x17\x43\xa2\x4f\xc9\x1f\x52\xad\xdb\x28\xbe\xf0\xa7\x8a\x7a\xe5\x16\x3e\x69\x90\xe5\xcd\x43\xd2\x7b\x42\x60\x22\x12\x9c\xc4\x60\x1e\x42\x75\x70\x70\x09\x91\xff\x61\x07\xfe\x88\x45\x78\x4e\x68\xe5\x21\x47\x1d\x27\x10\x63\x22\x5d\xcc\x54\xba\xcd\xab\xa7\x81\x4b\xd7\x32\x56\xeb\xd2\x75\xa4\xbd\x44\x0a\xfd\x3c\xc9\x3c\x1b\x66\x31\xc6\xe1\x31\x1b\x5c\x67\xba\x69\x4a\x2c\x5b\x06\xca\x56\x9a\x3c\x5b\x1b\xf9\x25\x82\xdf\x7d\xb5\x53\xa5\x9c\xf8\x5a\xd9\x34\x73\x55\x74\xbf\x77\x68\xd3\xe6\x49\xb6\x5a\x2d\x5b\x6a\xe9\xd5\x32\x98\x92\x4a\x0b\x22\x08\x43\xef\x8c\x02\x39\xb4\x33\xe3\x95\x78\x1c\xb4\x9c\x7c\x68\xe7\x60\x22\xee\x9c\x31\x0a\x11\x26\xa3\xe8\xa4\x50\x00\x0a\xf7\x27\xf7\x16\x3a\x32\x0e\x98\x3e\x22\x93\x66\x13\x88\x20\x8f\xe9\x36\xb8\xd5\xe3\x66\x73\x67\x8f\xc7\x0b\x52\x80\xb2\x47\xd1\x29\x2b\x5a\xab\x75\x40\x49\x76\xc1\x83\x0f\x29\x92\x31\xc9\xdd\xf0\xb3\x46\x51\x66\x9c\x73\x58\xbd\x89\xc9\x6a\x1e\x8f\xa3\xc9\xce\xde\x54\x70\x43\xe6\x52\xb1\xc8\x5d\xc5\x0b\xa1\x25\xd8\x56\x11\x76\x54\xe6\x43\x13\x27\x45\x06\x2f\xc2\xcb\x3c\x9a\x18\x79\x47\xca\xe2\x6b\x38\xce\x82\xb0\x17\x38\x8b\xa1\xc8\xba\xba\xe2\x5c\x9a\x73\x52\x98\x86\x68\x96\x0b\x59\x1c\x85\xad\xf4\x39\x5f\x30\x52\xbe\xef\xb6\x08\x6e\x53\x69\x35\x91\x76\xd2\xe0\xb6\x86\x9e\x60\xcb\xe0\xd3\xfb\x89\xb5\xd9\x64\xae\x04\x45\x39\xa4\x98\xde\x50\xa2\x46\xca\xea\x8d\x68\x4d\x1b\xd1\x6d\x23\x66\x52\x9d\xc6\x5d\xf0\x98\xf1\x89\x25\xe3\x9d\xfb\x61\x18\xd1\x06\x94\xa8\x21\x5c\x10\x25\xe0\x5c\x3e\x80\xc8\xe0\x0f\x51\x38\x6b\x80\xc5\x4e\xc3\xe2\x84\xe2\x53\x2b\xe3\x5b\xce\xac\xd6\x8e\x59\x13\x42\x19\x9b\x98\xe2\xdc\x71\xce\x1f\x8d\xf4\xbc\x93\x98\xd4\x8c\x5b\x85\x75\x29\xb8\xd5\x83\x53\xcb\xd8\xc5\x70\x4a\xfb\x2d\x28\x0c\x9e\x12\x63\xa5\x2e\x8b\xd2\x99\x43\xee\x17\x53\x35\x87\x71\xfe\x28\x8e\x81\xdc\xa0\xaf\x2a\x7d\xd9\x58\xac\x38\x2e\x14\x6b\x8a\x34\xa7\x9a\xc4\xf8\xbe\x58\x83\x1a\x31\x3b\x88\xa7\xeb\xa5\x1f\xbf\x0a\x12\xba\x57\xce\xfe\x26\xa6\x47\x20\x91\x66\x57\x14\xf3\x0f\xab\x28\x5a\xee\x7c\x67\x06\xe1\xcf\x09\xc1\x9f\xb7\xaa\x63\x50\xe1\xb1\xab\xbc\x43\xda\xdd\xfd\xc3\xbb\x5b\x26\x8c\x6a\xd1\x03\x39\x97\x92\xdf\x90\xfb\xf4\x1c\x87\xc3\xac\xa2\x55\x76\x1f\x0f\x3e\x3e\x86\xcd\xd5\x6e\x93\x48\xda\x6f\x9f\xff\xd7\xc5\xf9\xfb\xeb\x97\x2f\xae\x9f\xbd\x7f\xff\xee\xe5\xf3\x9f\xdf\x5f\xb0\xb9\x11\xd1\xb2\x23\x2d\xf0\x59\x58\xf0\x70\xc1\x06\xde\xe3\x69\x2b\xc6\x54\xb4\x5e\xce\x1a\x6c\x58\x89\xaf\x34\xfc\x30\x1d\x5b\x90\xfd\x40\x68\x43\xb4\xcf\x4c\x33\x46\x3c\xca\x64\xe3\xf1\x9f\xce\x2e\x4c\x90\xcc\x67\x9a\x9e\x79\x4d\xe5\x0d\x06\x4e\x07\xca\x3e\x73\xb3\xd6\x95\x7a\xa7\xca\x99\xd2\x8e\x15\x98\x80\x4d\xda\xd7\x11\xf0\x9d\xb8\xa5\x31\xda\x45\x21\xdf\x5b\x6a\x14\xb7\x69\x6a\x6c\x6b\x5b\x86\x51\xee\x98\x42\x6d\x8a\x73\x33\x77\xa6\xf7\xc6\xbf\x03\xf5\x2a\xc9\x3b\xe5\xd6\xc4\x99\x44\xa0\xfa\x24\xd6\x66\x3e\xf5\x5b\xd1\xcd\xdf\x5a\xc1\x4c\x43\x41\xa1\xf4\x10\x94\x5b\xe5\x40\xf9\x0f\xb7\xf9\x00\x35\x3a\x9c\x0a\x57\x46\x2a\x4c\x4d\x23\x29\x98\x46\x7e\xab\xd0\xfc\xb6\xcd\x63\xf3\xdb\x10\x9c\x3f\xd6\x6d\x97\xbb\x22\xb2\x1d\x03\xf9\x3b\x0e\x98\x93\x74\x8d\x7a\xfe\xf0\x32\xe7\x58\x92\x2f\x03\x6c\x5f\x7b\x84\xb1\x2f\x7c\x01\x8c\x96\x58\x5b\x30\x08\x0d\xe3\x79\x44\xe9\x03\x18\x9e\x9d\xc1\x56\xb6\xfd\x23\x4b\xeb\xbe\x31\x64\x8f\x51\xfb\x2f\xe2\x51\xb8\x3c\xd3\xb5\x05\xa5\xab\x64\xa8\xe1\xf4\x2e\xfd\x32\xe2\xc1\x93\x38\x5b\x4c\xa3\xe5\x99\x76\x9f\x24\xc3\xe3\x63\x6d\xa8\xdd\xc3\x5f\xc3\x2c\x83\x2e\xa2\x84\x4a\x99\x2b\x9f\x2e\x42\xff\x8e\x98\xda\x7d\xa2\xa1\xa9\x44\x9f\xfb\x1c\x40\x6b\xd8\x41\x86\xed\xf3\x28\x0c\xb9\xce\xfa\x07\x9f\xed\xe8\x1f\xf4\x05\x4a\xb2\x42\x24\x06\x9a\x09\x87\xdb\xbf\x92\x9b\xf7\xef\x7f\xd3\x97\x68\x8d\xa6\x88\x57\xd7\x5f\xd3\xc5\x35\x8d\x3e\x90\xd0\x68\x47\x2b\x12\xea\xc6\x48\x7c\x4d\xb6\x45\x59\x87\xcb\xc8\x9f\x69\x28\x37\xfa\x66\xba\x81\x96\xed\xe9\x32\x4a\x88\x6e\x6c\x55\x4a\xf2\xfc\x19\xda\xee\x84\x42\x8f\xe0\xd2\x62\xfe\xb0\x2c\xbb\xc9\x3d\x26\x13\xee\x03\x8f\x9a\xb6\x51\xb9\xf4\xdf\x06\xe1\xac\x71\x07\xec\xd2\x78\xa2\x99\xc4\xd4\x9e\xb4\x77\x7e\xd3\xe8\x96\x4b\x70\x9f\xb5\xf6\xb1\x4f\xa9\x3f\x5d\x88\x3f\xda\xb0\x8b\xca\x79\xed\xbf\x25\xc5\xec\x95\x3f\xfd\xe0\xcf\x49\xfb\x6f\x49\x14\x6a\x43\xd7\x62\xaf\x6e\x03\xca\xfe\x6b\x43\x2f\xf7\x04\x98\x59\x46\x09\xcd\x86\xfc\xf5\x72\x99\x4c\x63\x42\xc2\x5c\x52\x1b\xf6\x2a\xdf\xb5\xa7\x49\xa2\x0d\x5d\xa7\x1a\x80\x7d\xb3\x8c\x5f\xfa\xb4\xcb\x5e\x0b\xc6\x9f\x45\xe5\xb7\x9d\xe2\xdb\x2c\xa5\x0d\xfb\x15\x6f\xe0\x9b\xfd\xed\x28\x68\x7f\x20\x0f\x89\x62\xc7\x24\x06\x35\x7b\xab\x27\xc6\x16\x05\xed\x98\x24\xd1\xf2\x23\xc1\x11\x22\x6d\xf2\x69\x15\xc5\x34\xc1\x01\x0a\xda\xc1\x0c\x3b\x83\x22\x9b\xb0\x39\x32\x05\xf9\xcc\xf8\x7e\xc8\x3d\x7f\xb6\x45\x97\xa1\x3b\x3f\x08\x87\xda\xae\xb3\xd0\x2a\x0e\x3e\xfa\x14\xe6\x87\x03\x49\xb1\xae\x13\x74\x44\xbf\xd5\x11\x91\x98\x8e\xcf\x4b\x0d\x88\xed\xd9\xb8\xf5\x83\x25\x99\x0d\x1b\xc7\x8b\xe8\x8e\x1c\x3f\xac\x67\x7e\x70\xcc\x06\x64\xf0\x91\x1c\xaf\xe2\x68\xb6\x9e\xd2\xe4\xd8\xb1\xec\xee\x31\x8c\xb1\xe3\x24\x9e\x1e\xcf\x03\xba\x58\xdf\xb4\xa7\xd1\x9d\x40\xe0\xaf\xfe\x96\x1c\x87\xd1\x8c\x5c\x73\x46\x4e\x8e\xa1\xb0\xc7\xcb\xe0\xe6\xd8\x9f\xcd\xa2\x30\xa9\xe6\x91\xc6\xcf\x21\xf9\xb4\x22\x53\x4a\x66\x0d\x18\xbf\x0d\xdd\x1e\x5a\xc6\x55\xf8\x5b\xb4\x6e\xdc\xf9\x0f\x8d\x90\x90\x19\x5b\xc1\xfd\xd5\x2a\x8e\x56\x71\xe0\x53\xd2\x60\xe3\x97\xc4\x0d\x1a\x35\xf8\x21\x20\x2c\xde\x8d\xdb\x80\xa5\xd8\x2a\x76\x15\x6e\x1a\x6d\xd1\x60\xd9\xd7\x1a\x9f\x59\x36\xfb\x97\xea\xdc\x87\x0d\x38\xc3\x1e\xa5\xf9\x34\x5a\x0d\x1b\xd6\x48\x33\x0e\xed\x8c\xdd\x48\x48\xfb\xa4\xc0\xde\x5f\xd0\xbf\x3b\x26\x16\x14\x0b\xbc\x5b\x20\x38\x31\x46\xff\x2f\x00\x00\xff\xff\xf2\x6e\xe8\x25\x51\x12\x05\x00") +var _staticJsGottyBundleJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\xfd\x79\x77\xe3\x38\xb2\x28\x88\x9f\xdf\x32\x33\xe7\xbc\x3f\x66\xdf\x57\x9a\xdd\x4f\x45\x96\x60\x99\xd4\xe2\x45\x32\xd3\x4f\x69\xd9\x95\x7e\xed\xb4\xf3\xda\xce\xae\x5b\xa3\x54\x67\xd3\x52\xc8\x62\x27\x45\xaa\x41\xc8\x4e\xb7\xa5\x3b\x5f\x7d\x0e\x56\x02\x24\x25\xbb\xea\x76\xdf\x99\xca\x92\x4c\x21\xb0\x04\x02\x81\x40\x44\x20\x40\xec\x4c\x97\xc9\x98\x44\x69\xe2\x80\xfb\x22\x9f\x2d\xe2\x44\xee\x4b\x34\x75\xf0\x30\x1a\xb9\x18\xc8\x12\x27\x16\x7d\x6e\xc0\xf7\x45\x8a\x49\xd6\x7b\x0c\xb1\x95\x06\x34\x29\x78\x89\xba\x11\x8a\xbb\x3b\x3e\x12\xc0\xee\xcb\x7a\xdd\x13\x85\x80\x16\x1a\x87\x71\xec\xa4\xb2\x2c\x4a\x51\xfe\x4c\x5c\x94\x36\xe2\x60\xc7\xcb\xd3\xd6\xb4\x6e\x1c\xbc\xac\x7b\xa4\x31\x0f\x00\x91\xc6\x38\xc0\x88\x34\xa2\x40\x47\x55\xd6\xbf\x46\xa4\x31\xd1\x20\x08\xa3\xc8\x7d\x21\x8d\x94\x3e\xba\xab\xd5\xf5\xfd\x5f\x60\x4c\x1a\x13\x98\x46\x09\x7c\xc2\xe9\x02\x30\x79\x66\xd9\x5e\xc6\x69\x32\x8d\x1e\x96\x38\xbc\x8f\x81\xa1\x9f\x2c\xe7\x20\x7e\x79\xe8\x01\x48\x37\x5a\xbb\xb4\xfe\xc4\x68\x99\xa3\x07\xb5\x1a\x34\xbe\x7e\x85\xec\x63\x3a\x59\xc6\x70\xa2\x72\xe4\xa8\xd1\x46\xc3\x65\x4c\xd6\xdd\x0a\xa0\xa2\x10\x69\x4c\x1c\x8c\xec\xd0\x46\xd8\x45\x98\x36\x97\xea\xdd\x21\xaa\x88\xe8\xc9\x02\xa7\x24\x25\xcf\x0b\x68\xcc\xc2\xec\xfa\x29\x91\x7d\xe2\x54\xa6\x05\x68\x1d\x8b\xc0\xb6\x11\x71\x48\x23\x0b\x9a\x87\xee\xda\x19\xea\x55\x22\xec\xbe\xd8\xcb\x0c\xac\x8c\xe0\x68\x4c\xec\x9e\x1a\xf7\x48\x76\x90\x04\x64\x16\x65\xbd\x68\xea\xec\x38\xf4\xc9\x8a\x92\x8c\x84\xc9\x18\xd2\xa9\x15\xb9\x92\x25\x12\x78\xb2\x22\x27\xc4\x0f\xcb\x39\x24\x24\x1b\x7a\x23\x94\xff\xf0\xf5\x1f\xcd\x91\xdb\x23\x8d\x7b\x9c\x3e\x65\x80\x83\x5b\x3a\xa8\xb4\xb6\x38\x88\xc4\x03\x5a\x36\xce\x1e\x21\x21\x67\xf3\x88\x10\xc0\xbc\x37\xb4\x65\x17\xd9\xc9\x72\x7e\x0f\xd8\x0e\x02\xda\xed\x74\x6a\x41\xad\xe6\x40\xf0\x32\x4e\xe3\xac\x6b\x34\x4e\xab\xef\x1a\x18\xcc\xc2\x64\x12\x03\xee\xea\x98\xac\x5d\x04\x01\xac\x56\x2f\x6b\x24\x68\xfa\x0d\x9e\x33\x27\x92\xe3\x95\xb9\x8d\x69\x8a\xcf\xc2\xf1\xcc\x51\x54\xc3\xee\x4b\xb2\x8c\xe3\x20\x80\x21\x1e\xd1\xe6\x87\x78\x14\x44\x8d\x74\x41\xa1\xd9\x10\x8f\x50\x34\xc4\xa3\x9d\x20\xc8\x6b\xd1\x33\x0e\xf1\xc8\x75\x11\xa1\xcf\x34\x61\xed\xa2\xc3\x20\x08\xa0\x31\x4e\xe3\x14\x67\x8d\x18\x92\x07\x32\x3b\x91\xbf\x73\xc0\x38\x4d\xc6\x21\x71\xa2\xc6\x57\x91\x90\xc5\xd1\x18\x9c\x43\xd7\xed\xfa\xfb\xff\x9a\x1a\xfc\x7d\x5a\x85\xf7\xa6\x2a\x78\x09\x0f\xed\x36\xdd\x8d\x08\x51\x20\x2a\x94\xd8\x6d\xd2\x36\x2a\x3a\x4a\xc9\xf2\x76\x44\x37\x55\xed\x22\xca\x1e\xc5\x7a\x78\xa2\x18\x17\x2a\x3d\xe8\xcf\x45\x88\x21\x21\x01\x34\xee\xd3\xc9\xf3\x6a\x05\x22\x61\xb5\x72\xfa\x27\xfd\xc6\x03\x90\xb3\x18\x18\x77\xbc\x7f\xbe\x0b\x1f\xae\xc2\x39\x38\x36\xcd\x6a\xbb\x43\x6f\xd4\xa5\x03\x9f\x37\x26\x9a\xca\x68\x35\x0f\x90\xce\x81\xe0\x67\xca\x7b\x0c\x4e\x19\x30\x00\xf6\xc7\x80\xfb\x02\x2e\x13\x82\xa1\xaa\x2e\x2f\x38\x42\x74\x4e\x33\x7e\xad\xd5\x78\x37\x12\xc7\x9e\x84\x24\xb4\x73\x88\x40\xe4\xf9\x3e\xcc\x20\xf0\xc4\x8f\x49\x94\x2d\xe4\x8f\xef\x2a\x55\x3e\x8c\x97\x38\x4b\xf1\x2d\x09\x09\x98\x49\x1f\xa2\xc9\x04\x92\x60\xc7\x97\x9d\x4b\x1e\x01\x93\xb3\x34\xe6\xbf\xff\xba\x84\x25\x30\x39\x42\x7f\x65\x63\x9c\xc6\xf1\x5d\xaa\x1a\xe2\x09\xef\x53\x42\xd2\x79\xa0\x3a\xb1\x2b\x2b\x5b\x66\x24\x9d\xff\x01\x9e\xd9\xac\xfe\xc0\x91\x0f\x28\x29\x75\x0c\xde\xc7\x51\xf2\xed\x22\x21\x80\x1f\xc3\x58\x83\x86\x8b\x45\x1c\x8d\x43\x3a\x88\x7f\x80\xe7\x45\x38\x51\x48\x6a\x90\x53\x56\x85\x82\xa4\x38\x7a\x88\x92\x8f\xe9\x04\x54\x52\x94\x64\x80\x89\x91\xf4\x84\xc3\x45\x88\xd3\x65\x32\xe1\xc9\xa2\x33\x49\x8a\xe7\x06\x06\xe3\x59\x88\x33\x20\x5a\xca\x43\x45\x52\x0c\x8f\x10\x2b\xa2\x72\x78\x16\x0c\x69\x0e\x31\xe2\x13\x18\x5f\xa6\xe3\x90\xa4\x58\x0c\x8f\xef\x7d\x4c\x97\x99\x60\xcc\x47\xd2\xf4\xcc\xdf\x2d\xe3\x37\x47\x4b\x4b\x98\xd3\x47\x46\x52\xc1\x38\x19\x24\x93\xf3\x74\xbc\x14\x3f\x97\x64\xaa\xe5\xce\x1e\xb0\xf6\x6b\x89\xbf\x3f\x12\xed\x37\x70\xa6\x97\xc8\x47\xf1\x04\x43\x22\xd8\x11\xa6\x18\xb2\xd9\x2d\x09\x31\x31\x52\xce\x92\x89\xa8\x3a\x7c\x84\xc9\x3f\x6b\xcf\xbf\x68\xcf\xa7\x39\x5f\x43\x38\xa1\x2b\xaa\x22\xf4\x13\x8e\x88\x91\x30\x81\x69\x9f\x10\x1c\xf8\x2d\xff\xb0\x9d\xb3\x27\x4b\xd3\x33\xa8\x99\x1c\xce\xb3\x60\x38\x52\x19\xe9\x44\xfe\x44\x53\xe5\x30\x2c\x30\x4c\xa3\xef\x8a\x6f\x17\x69\x46\xf4\xdf\x51\xb2\x58\xe6\xfc\x08\x4f\xd6\xbc\x71\xa1\x25\x89\x35\x47\x36\x96\x89\x4c\xcf\x8d\x4f\xec\x87\x53\xaa\x03\x69\x05\x30\x24\x13\xc0\x20\x10\x97\xbf\x56\xab\x9c\x63\x32\x88\x81\xad\x28\x1f\xc3\x24\x7c\x90\x39\x8b\xa9\x7a\x09\x3a\x43\xa2\x69\x24\xb3\xaa\x9f\xab\x15\xc5\xeb\x6b\xe3\x52\x26\xe4\xf4\x85\xf7\xcb\xe9\x14\xb0\xa2\x12\x4b\xbb\xa0\x9a\xc2\x03\x86\x2c\x53\x73\xe1\x7b\x3a\x9d\xde\x42\x42\xee\xd2\xd3\x90\x8c\x67\x9f\x17\xda\x2c\x89\x08\xdc\x92\x74\xb1\x80\x7c\xea\x65\x4b\x8c\xd3\x87\x90\xc0\xd7\x59\xf4\x30\x53\x04\x8d\xa3\x04\x32\x46\xa4\x69\xe3\x34\xc2\xe3\x65\x1c\xe2\xcb\x28\x23\x8e\x26\x25\xee\xc3\xf1\x37\xb7\x37\x4d\xb1\xc3\xb5\x27\x25\x2e\x7a\x78\x77\xb7\xe7\xe6\xf5\x34\x16\xcb\x6c\xc6\x4b\xde\xc7\x61\xf2\xed\x32\x4a\xc0\x71\xdd\x5e\x25\x99\x84\x94\x2c\x26\x37\x32\x20\x9c\x02\x4e\x5e\xb1\x18\x21\x12\xde\xab\x89\x43\x96\x0b\xda\xc5\xcc\x11\xb0\x65\x06\xf8\x96\xa1\x1b\x25\x0f\xc1\x8e\xbf\x56\x6a\x51\xca\xb5\x26\xaa\x59\xf6\x31\x0e\x9f\x1b\x51\xc6\xfe\x3a\xe0\xae\x56\x0e\x04\x43\x18\xd1\x25\xaa\xa4\x35\x80\xfb\x02\x8d\x70\x32\x61\x13\x96\xd2\x04\x12\x8a\x14\xad\x69\xb5\xda\xf1\xdd\xb5\x9b\xb7\x91\xe5\x6d\x40\x03\xc3\x3c\x7d\x84\x8d\xc5\x54\x21\xa1\x21\xaa\xdf\xd8\x71\x5f\xa4\x2c\xcf\x08\x5e\x8e\x49\x8a\x03\x58\xe3\x5c\x6b\x0c\x34\x0d\x12\x81\x96\x4e\x07\x10\xe7\x35\x87\xbc\x66\xa1\xec\x4a\xcd\xad\x11\x65\x1f\xc3\x71\xad\x46\x1a\x61\x4c\xfe\x00\xcf\xb5\xda\x0e\x69\x8c\x09\x8e\xe5\xf3\x1c\x48\xf8\x07\x60\x6b\xac\x56\xe4\xf6\xe7\x28\x99\xa4\x4f\x99\x5e\xb0\xb2\x9c\x50\x8a\xed\x6f\xf0\xbc\xa0\xac\x4a\x75\xbe\x06\x45\xef\x04\x77\x71\xad\xe6\xec\x30\x5d\xed\x34\x9d\xc0\x6a\xa5\x1e\xdf\xb5\x0f\x34\x92\xc4\x52\xc3\xe5\x26\x0a\x1c\x1f\xfb\xfb\x2b\x72\x7c\x7c\xb8\xc2\x54\x9d\xa5\x13\x6b\x27\x88\x1b\x5f\xc7\xe1\x78\x06\xc3\x54\x99\x37\x5a\x92\x62\xd4\x0c\x25\x28\x44\x33\x34\x46\xcb\xc0\xdf\xf3\xd0\x24\xd8\xf5\xd1\x22\xf0\x7a\x8b\xe3\xa8\xf1\x68\xe8\x34\xbd\x45\xbd\xce\x4c\xa6\x2c\x50\xa0\xe1\x62\x84\x92\x80\xab\xc5\x01\x57\x47\x03\xaa\x80\x22\xaa\x77\x39\xe3\x20\x6e\x4c\x22\xae\x55\x8b\xb1\x67\xad\xb9\xae\xfb\x32\x09\x16\xbd\x7b\x0c\xe1\xb7\xf5\xf8\x78\x59\xab\x39\xcb\x60\x8c\x26\xc1\xc2\x5d\x97\x91\x0d\x26\x79\xdf\x67\x9a\x65\x24\xf4\x43\x45\x2e\xff\xa0\xf0\xfb\x50\xff\xbd\xde\xfb\x71\xe7\xdf\x59\x3f\x5a\xdf\x09\xe0\xb9\xe5\xcc\x08\x59\x64\xdd\xbd\xbd\x64\x31\xff\x0b\x65\xa6\xf9\xde\x22\x1c\x7f\x0b\x1f\x60\x8f\x65\x70\x69\xd6\xff\x40\x35\xb1\x24\x03\xeb\xe3\xc5\x1d\xfb\xfd\x08\x38\xa3\x58\x34\x1b\x87\x0d\x9f\xa6\x04\x01\xcb\xbd\x77\x79\x71\x7a\x76\x75\x7b\x16\x04\x34\xf1\x34\x5d\x3c\xe3\xe8\x61\x46\x2c\x67\xec\x5a\x4d\xcf\x6f\xef\x36\x3d\x7f\x1f\x59\xb7\xe9\x12\x8f\xe1\x32\x8c\xb0\xf5\x09\x47\x8f\x21\x01\xeb\x34\x9d\x2f\xc2\xe4\x39\xc7\xe7\xe9\xe9\xa9\x91\xb1\x7c\x71\x18\x61\x8a\x98\x5b\x59\x67\x93\xd6\xd9\x42\xd6\xe9\x0c\x47\x19\x49\x17\x33\xc0\xd6\x7f\x84\xe9\x14\x83\x56\xd9\x43\x44\x66\xcb\x7b\xd6\xbb\xf1\xec\x2f\x7f\xd9\x63\x55\xd1\xcf\x27\xc0\xf3\x28\x63\x7d\x89\x32\x6b\x06\x18\xee\x9f\xad\x07\x1c\x26\x04\x26\xc8\x9a\x62\x00\x2b\x9d\x5a\x74\xb9\x7f\x00\x64\x91\xd4\xa2\x38\x2e\x00\x67\x54\x54\xdc\x93\x30\x4a\xa2\xe4\xc1\x0a\xad\x71\xba\x78\xa6\xf5\xa5\x53\x8b\xd9\x50\x59\x3a\x25\x4f\x21\x06\x2b\x4c\x26\x56\x98\x65\xe9\x38\x0a\x09\x4c\xac\x49\x3a\x66\xc6\x09\xd3\x6a\xac\x69\x14\x43\x66\x39\x64\x06\x96\x7d\x2b\x4a\xd8\x2e\x6b\x67\x02\x61\x4c\x2b\x8c\x12\x8b\x82\x25\xd4\x7a\x8a\xc8\x2c\x5d\x12\x0b\x03\xb7\xe8\xa2\x34\x41\x56\x94\x8c\xe3\xe5\x84\x62\x22\xc1\x71\x34\x8f\x44\x23\xb4\x38\xa3\x58\x46\xeb\x23\xa9\x45\xb5\x02\x86\x30\xb2\xe6\xe9\x24\x9a\xd2\xbf\xc0\xfa\xb7\x58\xde\xc7\x51\x36\x43\x16\x65\x56\x1c\xdd\x2f\x09\x20\x2b\xa3\x89\x6c\xf8\x11\xed\xcd\x5e\x8a\xad\x0c\x62\x86\xdc\x38\x5d\x44\x90\xf1\x4e\xe7\x38\xb2\x6c\xb4\xa1\x05\x25\x2e\x11\xe4\xca\x68\xca\xd3\x2c\x9d\x9b\xfd\x89\x18\x56\xd3\x25\x4e\xa2\x6c\x06\xac\xd8\x24\xb5\xb2\x94\xb5\x4b\x2d\x36\x9a\x42\x4b\x4c\xd3\x38\x4e\x9f\x68\x1f\xc7\x69\x32\x89\x98\xd2\xdf\x95\xc3\x78\x37\x03\x2b\xbc\x4f\x1f\x81\xf5\x8b\xf3\x47\x92\x92\x68\xcc\x07\x80\x0d\xc9\x22\x1f\x6a\x01\xca\x66\x61\x1c\x5b\xf7\x20\xe8\x07\x13\x2b\x4a\x68\x6d\x34\x55\x76\x0d\x53\x3c\xe8\xcc\x25\x51\x18\x5b\x8b\x14\xb3\x86\x8b\x5d\x6e\x28\x44\x3e\x9c\x59\xb7\xd7\xe7\x77\x3f\xf7\x6f\xce\xac\x8b\x5b\xeb\xd3\xcd\xf5\x1f\x2f\x06\x67\x03\xcb\xee\xdf\x5a\x17\xb7\x36\xb2\x7e\xbe\xb8\xfb\x70\xfd\xf9\xce\xfa\xb9\x7f\x73\xd3\xbf\xba\xfb\xc5\xba\x3e\xb7\xfa\x57\xbf\x58\x7f\xb8\xb8\x1a\x20\xeb\xec\x9f\x3f\xdd\x9c\xdd\xde\x5a\xd7\x37\xb4\xb6\x8b\x8f\x9f\x2e\x2f\xce\x06\xc8\xba\xb8\x3a\xbd\xfc\x3c\xb8\xb8\xfa\xc9\x7a\xff\xf9\xce\xba\xba\xbe\xb3\x2e\x2f\x3e\x5e\xdc\x9d\x0d\xac\xbb\x6b\xd6\xa6\xa8\xed\xe2\xec\x96\xd6\xf7\xf1\xec\xe6\xf4\x43\xff\xea\xae\xff\xfe\xe2\xf2\xe2\xee\x17\x44\xeb\x3a\xbf\xb8\xbb\xa2\x35\x9f\x5f\xdf\x58\x7d\xeb\x53\xff\xe6\xee\xe2\xf4\xf3\x65\xff\xc6\xfa\xf4\xf9\xe6\xd3\xf5\xed\x99\xd5\xbf\x1a\x58\x57\xd7\x57\x17\x57\xe7\x37\x17\x57\x3f\x9d\x7d\x3c\xbb\xba\x6b\x58\x17\x57\xd6\xd5\xb5\x75\xf6\xc7\xb3\xab\x3b\xeb\xf6\x43\xff\xf2\x92\xb6\x46\xab\xeb\x7f\xbe\xfb\x70\x7d\x43\x11\xb5\x4e\xaf\x3f\xfd\x72\x73\xf1\xd3\x87\x3b\xeb\xc3\xf5\xe5\xe0\xec\xe6\xd6\x7a\x7f\x66\x5d\x5e\xf4\xdf\x5f\x9e\xf1\xd6\xae\x7e\xb1\x4e\x2f\xfb\x17\x1f\x91\x35\xe8\x7f\xec\xff\x74\xc6\x4a\x5d\xdf\x7d\x38\x63\x9d\xa4\x39\x39\x9a\xd6\xcf\x1f\xce\x68\x2a\x6d\xb5\x7f\x65\xf5\x4f\xef\x2e\xae\xaf\x68\x7f\x4e\xaf\xaf\xee\x6e\xfa\xa7\x77\xc8\xba\xbb\xbe\xb9\x53\xa5\x7f\xbe\xb8\x3d\x43\x56\xff\xe6\xe2\x96\x52\xe6\xfc\xe6\xfa\x23\xeb\x29\xa5\xee\xf5\x39\xcd\x75\x71\x45\x8b\x5e\x9d\xf1\x8a\x28\xe5\xcd\x01\xba\xbe\x61\xbf\x3f\xdf\x9e\xa9\x3a\xad\xc1\x59\xff\xf2\xe2\xea\xa7\x5b\xeb\xe2\xaa\x38\xa0\x74\x94\xf7\xfe\x5d\xb5\x9b\x89\x20\x3b\x77\x11\xd9\xe8\xe5\x31\x8c\x97\xd0\xdd\xf1\xd6\x2e\x73\xa0\x8d\x03\xec\xf8\x1d\x17\x2d\xe9\x5f\x17\x4d\x02\xec\x34\x9b\x2e\x5a\xd0\xbf\x2d\x17\x4d\xe9\xdf\x8e\x8b\x1e\xe8\x5f\x17\xcd\x69\xae\x7d\x17\x3d\xd3\xbf\x87\x2e\xba\xa7\x7f\x8f\x5c\xf4\x95\xfe\x3d\x70\xd1\x29\xcd\xe6\xb9\xe8\x89\xfe\x6d\xbb\xe8\x36\xc0\xce\x91\x8b\x1e\x29\xd8\x73\x51\x3f\xb0\x97\x09\xc7\x6f\x62\xef\x48\x57\xca\x13\x5b\x98\x4f\xf8\x9f\x86\x14\x44\xcc\xe4\xed\x25\x4e\x54\xf0\xca\xb8\x28\xd2\xfc\x4f\x80\xc3\x0c\x98\x9e\x5e\xf2\x6f\xed\x76\xfc\x66\x4d\xd7\xde\x57\x1d\xdf\xaf\xe9\xba\xfd\x1a\x45\x0d\x12\x26\x0f\xe9\x29\xb7\xdf\x87\xf6\xef\x9a\xd0\x6a\xb7\xf6\x6d\x64\xff\x6e\x3c\xf6\x3c\xcf\xa3\x4f\x6d\x38\x0a\x3d\x9e\xd6\x0e\x45\x5a\xab\xbd\xdf\x09\xdb\xf4\xe9\xa0\xd3\xf1\x0e\xee\xe9\x93\xb7\x7f\x74\x78\x14\xd2\xa7\x49\x6b\x72\x30\x9e\xd2\xa7\x4e\xa7\x73\xd0\x69\xd1\x27\x98\x36\x8f\x9a\x47\xf4\xe9\x30\x84\x66\x8b\x95\x9d\x8e\xe1\xa8\xcd\xf2\x1d\x34\x8f\xa6\xbc\x44\x38\x39\x98\x86\x87\xbc\x0d\x68\x42\x93\x95\xa5\xff\x8d\xed\x11\x8a\xa4\xab\x41\xeb\xad\x5a\x79\x41\x7a\x1e\x53\xae\xc1\xda\xbf\xb3\xeb\xc4\x01\xb7\x4e\x1c\x4c\xbf\x22\x57\x53\x51\x48\xbe\x4c\x3b\x10\x40\x83\xa4\xb7\x04\x47\xc9\x03\xf3\xca\x08\x7d\xe2\xb8\x79\x62\x7b\x76\x1d\xba\xc0\xfd\xa1\x28\x0d\x0c\x82\x09\x47\x88\x8b\xb2\x60\xe8\xa1\xa3\x0e\xf2\x5b\x1d\xe4\x1f\x74\x50\xd3\xef\xa0\x66\xa7\xc3\x95\x18\x1c\x78\x3d\x7c\xdc\xf4\xf7\x7b\xb8\x5e\x77\xc1\xc9\x86\x78\xaf\xb5\xff\xef\xf7\x57\xde\x08\xd1\xe7\xfc\xf1\xdf\xef\x8f\x5c\xbd\x48\x5b\x96\x08\x0e\xeb\xbe\xf7\x23\x46\x19\xca\x5c\xe9\xb3\x4c\xd7\x0e\x65\x05\xe1\xa9\x09\x22\xd3\x39\x43\x41\x8f\x15\xb4\x12\x4a\x15\x20\x42\x2d\x13\xac\x8a\xa1\x34\xf0\x7a\xe9\x71\xb3\xb3\xdf\x4b\x69\x9b\x01\xb3\xbb\x2e\x12\xe2\xe0\x61\x3a\x6a\x30\x51\xcb\xc9\xe3\x22\x3a\x01\x08\x27\xf1\x10\xde\xbd\xf3\xf7\x6b\xcd\x4e\x07\xc1\xbb\x77\x87\xec\xa1\xd9\xe9\xd4\x60\xa4\xf0\x24\x1c\x4f\xe9\x91\x63\x2e\xc3\x14\x67\xdd\x28\x77\x16\xc1\x1c\xba\xb6\xc8\x60\xa3\xdc\x05\xd2\xa5\x56\x0f\xe0\xf9\x55\x48\x33\x30\x3d\xc6\x46\xd2\x7d\xd3\x1d\x1e\x7a\xa8\xd9\x1e\x21\xcd\x8b\x41\x0b\x48\x4f\xcb\x73\x0c\x5d\xfb\x3e\x4e\xc7\xdf\x6c\xf4\x18\x65\xcb\x30\x7e\x0f\x31\xab\x72\x91\x2e\xae\x13\xf9\x23\xb7\x8d\xba\x3e\xb4\xe8\x4f\x80\xe4\x0f\xf0\x9c\x51\xe0\x04\xee\x97\x0f\xac\x52\xe6\x1f\xe5\x36\x3f\x03\x44\x19\x35\xa0\x6f\xc9\x24\x4a\xe8\xef\x65\x06\xe7\x71\xfa\x74\x9a\x26\x04\x0b\xbc\xc3\x7b\x6a\xd8\xfc\x1c\x4d\xc8\xac\x7b\x48\x67\x9a\xf4\x87\xbd\xd0\x1f\xd3\x74\xbc\xcc\xb8\x17\xa3\xe8\x15\x8e\xa6\x8e\x32\x63\x5c\xe5\xc7\x96\x76\x0d\xcd\xa2\x74\xe3\x28\xf0\x7a\xd1\x31\x48\xf5\x37\xaa\xd7\x5d\xc2\xbd\xb6\x18\xc1\x30\x1a\xa1\x08\x81\xbb\x36\x6c\xa1\x68\xea\x68\x0e\x57\xd7\xf4\x6b\x33\x1f\x2c\x70\xc1\x48\x10\x35\x5e\x59\x53\x84\x2a\x3b\xe0\xbe\xd9\xf9\x5d\xab\x61\x61\x43\x2a\x2e\xc0\x6b\xdd\xb7\x8b\x0c\x8c\x86\x30\xd2\x5d\xb6\x30\xca\x89\x55\x02\xad\x4d\xf1\xc7\xc9\x58\x76\xed\x73\x3b\x13\xbe\x93\x10\x43\xc8\x73\x39\xee\xda\x28\xfa\x00\xe4\x9a\x35\x52\xf0\xf4\x33\x77\x3b\xd5\x3c\x2c\x0d\x61\x97\xcc\x70\xfa\xc4\x7c\xed\x67\x18\xa7\xd8\xf9\xe1\x2a\xb5\x38\x8e\x4c\xb3\xb3\xbe\xc1\xb3\x65\xff\x50\x87\xfa\x0f\xf6\x0f\xaa\xd3\x8f\x69\x34\xb1\xbc\x9d\x20\xd0\xfd\xa1\x43\x18\x9d\x14\x7e\x77\xe9\x6f\xda\x39\x03\xc1\xec\x1f\x88\x60\xf6\x14\x91\x31\xb3\x54\xc6\x61\x06\x76\x3e\x09\xec\x6e\x34\x75\xc8\xb1\xf2\x0d\x48\xeb\xd3\xbe\x05\x42\xa8\x8e\x47\x95\xab\x3c\xbb\xc5\x56\x53\x2b\x86\x2c\xb3\xc8\x2c\xe4\x3a\x2d\xdf\x2a\xa0\x9a\x18\xad\xc1\xb2\x15\x0f\xd4\x03\xdb\xb1\xeb\xaa\xee\xba\xed\x52\xdd\x3e\x49\x09\x55\xec\xd2\x27\x98\x34\xd8\xec\xcf\xd2\x18\x1a\x4f\x21\x4e\x1c\xec\xa2\x1d\x7f\x4d\x31\x32\x09\x46\x49\xca\x08\xa1\x39\x2d\xf8\x1c\x78\x47\xa4\xd1\x59\x02\xed\x12\x94\x05\xb9\xaf\x76\x37\x3d\xf6\x7a\x5a\x26\x82\xa3\x39\xf3\xb5\x39\xa9\xe1\xdf\xfd\x18\x92\x59\x63\x1e\x7e\x77\xf2\xb4\xdd\x14\x79\xae\xee\xf6\x2d\xe4\xe1\xd5\xd3\x3c\x99\x70\x8f\x08\xcf\x9d\xe3\x21\xcd\x49\xeb\xae\xb5\xe6\xe7\xe1\xf7\x4b\x86\x66\x20\x9c\x7d\x8f\x11\x3c\x51\xad\xb6\x91\x3d\x27\x63\xee\x12\xe9\x63\x08\x1d\x77\xbd\x16\xa3\x27\xb8\x46\x16\xd0\xa6\x0c\x41\x72\x64\x35\xe1\x68\x77\xa5\xcf\xe5\x34\x4f\xa4\x22\x9d\xb8\xdc\xce\xed\x69\x25\x98\xfc\x14\x25\x84\x8f\xb2\x31\x8e\xc3\x2c\xbb\x8c\x32\xd2\x20\xe9\xc3\x43\x0c\x0e\x17\xc9\xbb\xbc\xc4\x6e\x46\x8b\xec\x52\xfd\x06\xd3\x2e\xd9\xc8\xce\x9f\x03\x3a\x60\xe8\xd7\xd7\x76\x1f\x62\x1b\xd9\xf4\x9b\xd5\xa0\xe3\xa9\x0b\xd8\xbc\x6b\xca\x9d\xb4\x36\x27\x13\xb5\xca\x42\x5c\xe8\xb9\x2e\x38\x36\xd1\x46\xa3\xac\xee\x2f\x77\x4b\x73\x75\x53\xd5\x90\x33\xea\x1b\xbb\x7e\xcf\x46\x0b\x81\xdc\xef\x88\x21\xc4\x66\xed\xd2\x5b\xef\xb8\xc8\xdc\x2b\xdc\xe8\xd6\xcf\x80\xa8\x42\x7a\xaf\x7f\x15\x4e\xbb\x69\x62\xbb\x6b\xb4\xef\x79\x45\xf2\x6e\xc1\xb1\x44\xe4\x72\x8b\xdc\xd3\xb6\xb1\xc5\x8d\x9b\x15\xb5\x9a\xc3\x1a\x56\x3d\xdb\x94\x71\x73\x15\x6c\x09\x66\x83\x79\x1f\x09\x27\xbe\x31\x74\xa9\x03\x6a\x1d\x41\x36\x5b\x48\xec\x7c\xf5\x22\xee\x0b\xe4\xde\xff\x5a\x8d\xff\x70\x1e\x1a\xa7\x5e\xe3\xec\xf6\xb4\x6e\x0f\x2f\x6c\x17\x41\x45\x97\xc3\xc9\xc4\x11\xd5\xd1\x0c\xd9\x2c\x7d\xe2\xe4\xa3\x43\x5a\xcd\xad\x6c\xdb\xe5\xd9\x01\x57\xa9\x0f\x40\xab\x9e\x47\x44\xd6\x84\x5e\x28\x01\xa3\x24\x8c\xbb\xb0\x76\xd7\x05\x1e\xbd\x8f\x97\x15\x56\x42\x61\xa9\xa4\x99\x1c\x45\x8f\xf7\x46\x91\x12\x39\x68\xe6\x22\x35\xa4\xa4\x83\xc6\x33\x82\xc6\x33\xeb\xdc\x36\x02\x5d\x6f\x20\x90\xe4\x89\x9c\x46\x5b\x78\xac\x4c\x1a\xa6\x59\x49\xea\x70\x3c\xb7\x12\x27\x4a\x22\xf2\x53\x9c\xde\x9b\xfc\xca\x54\x65\x36\xb3\x90\xdc\x8c\x67\x74\xa1\xfa\xa1\xd8\xa4\xd0\x18\xc7\x48\xa1\xa4\x13\x09\xa9\x31\xfb\x91\x3d\x4e\x17\xcf\x1a\xd9\x30\x25\x9b\xb6\xa7\xb4\x5a\x2d\x1a\x34\x8b\xdc\x0c\xc1\x88\x30\x22\x9a\x0e\x76\x57\xd8\xaf\xb8\x2a\x22\x63\xd1\x58\x84\x19\x01\x59\x03\x0b\x48\xe8\x09\x34\xf2\xe1\x63\x79\x58\xc8\x43\x11\xc3\x1c\x42\x34\x17\xf2\x79\x84\x61\x9a\x7e\x3f\x29\xe6\x66\xb8\x4f\xd2\xa7\xc4\xe4\x85\x66\x10\x90\xc6\xfd\x92\x90\x34\xa9\xd5\x16\x0d\xe6\xfb\x39\x8d\xa3\xf1\x37\xb5\xcb\x83\x34\x66\xaa\xec\x61\xb7\x4c\xba\x84\x96\x98\x43\xb2\x34\x1b\xfb\x6d\xf5\x1b\xdd\xbb\x8c\x92\xe5\xf7\x5a\xad\xd8\x64\xb8\xfc\x3e\xa6\xb5\x9a\xed\xf9\x81\xd9\x3b\xca\xac\x77\xf0\x9d\xd0\x25\xfa\x33\x5d\xf6\xd8\x1e\x9f\x98\xd2\xaf\x23\x22\x27\x1c\x65\xac\xd2\x84\x53\xa8\x7c\x83\xe7\x32\x99\xfb\x8d\x70\x4c\xa2\x47\x10\xdb\xe7\x5c\xd9\xa4\x33\xed\x1b\x3c\x0f\xd2\x27\x9a\x67\x8d\x76\x3c\x3a\xc8\x66\x55\xdc\xb9\xff\xe6\xba\x3e\xd1\xec\x1b\x2b\x5b\x2e\xcc\x9a\xa8\xee\xbf\x5a\x09\x05\xdd\x01\xad\x54\xce\x7f\x95\xdd\xa9\xc6\xdb\x28\x54\x81\xb8\x81\xa1\xd0\x9f\xa8\x66\x1a\xd8\x76\x55\x25\xe3\x74\xbe\x48\x33\xee\xaa\xa4\x82\xd6\x66\xb1\x0d\x2a\xed\x03\xc4\x0b\xc0\x8d\x62\x2e\x36\x42\x4e\x45\x4e\x77\x4b\xfd\xcb\xc5\x24\xa4\x73\xe9\x95\x06\x78\xb6\xdf\xd4\x02\x24\x93\x57\xab\x87\x64\xb2\xad\x6e\x60\x51\x0e\x42\x74\x57\x57\xc6\x11\x3c\xcd\xd3\x65\xb8\xc6\xaf\xa8\xd7\x1c\x31\x16\xda\x20\x76\x4e\x79\x30\x81\x43\x1a\x19\xdf\xed\x6e\x40\x32\xa9\x90\xd1\x19\x60\x72\x93\x3e\x55\x88\x3c\x3b\x65\xc6\x69\xee\x54\xe3\xf1\x49\xfd\xc6\x18\x43\x48\x24\x43\x3b\xf6\x24\x7a\xb4\x65\xd4\x0a\xe6\x06\x7b\x18\x25\x80\xe9\x0a\x02\xc9\xe4\x74\x16\xc5\x13\x47\x69\x5e\x62\x3f\x9e\x1b\xb3\xe0\x22\x30\x11\x4a\x17\x50\x34\xce\xf2\xad\x55\x14\xf1\x3f\x19\xb5\xd1\x85\x02\x28\x63\x60\x56\x2b\xed\x27\xda\xd1\x7e\x94\xec\x38\xfb\x4e\xac\x5a\x16\x86\xbf\x2e\x23\x0c\x99\x15\x5a\x3c\xaf\x25\x57\x4d\x9b\x7b\x04\xe4\xa6\x23\xe5\x92\x40\xab\xb3\x91\x3e\x25\x80\x07\xc2\xaf\x28\x6d\xc6\x3f\x46\xf0\x24\x76\xff\x05\x64\x73\x19\x9e\xef\x3e\x9d\x3c\x07\x46\x89\xd7\xc2\x76\x0c\x8d\xbf\x50\xb4\x6a\x60\x36\x59\x08\x4c\x5b\x92\xcb\xf7\x2b\xd9\xb8\x9b\xe8\x0d\x79\x76\x99\xe3\x69\x57\x18\xa4\xec\x87\x8b\x7e\xad\x19\x60\x36\x93\x01\xe9\x13\xb1\x3f\xe3\x50\x0b\x25\x4a\x26\xf0\xdd\x56\xd6\xa2\xb4\xe9\xa4\x7c\xad\x66\xcf\xca\xbc\xd5\x5d\x90\x99\x8a\xfd\xd5\xb9\xb9\xaa\xb6\x42\x1b\xb9\x79\xf9\x26\x94\xf2\xec\xd5\x58\x71\xff\xc0\x2e\x95\x54\x9b\x7a\xb3\x11\xc1\xbc\x6e\xb7\x10\xad\xa1\xe6\xea\x56\x1c\xcb\xd9\x37\xe0\x28\xf3\xbd\x4a\xba\x72\x8d\x15\xf2\x63\x2b\x4e\x86\xa0\xa9\xc4\x86\x2a\x21\xaf\x22\xa2\x57\x53\x90\x50\x2a\xcc\x44\x85\xa6\x34\x42\x42\xc2\xf1\xec\x2e\x1d\xa4\x73\xa7\x6f\xe6\x16\x85\x67\x4c\x4c\xbf\xad\x0b\x85\xbc\xd5\xbd\xe0\x99\x5e\xef\x48\xa1\x32\x19\x16\x22\x16\xb7\x32\x1e\x12\x62\x17\x72\x6e\xc3\x62\x77\x63\x21\x73\x92\x86\x4b\x92\x8e\x53\x8c\xe9\xe2\x81\xec\x74\x3a\x7d\x4b\xfe\x70\x11\x91\x30\x8e\xfe\x06\x6f\x2a\x92\x2d\x20\x8e\xc7\x33\xa0\x3a\xa4\x3d\x0d\xe3\x0c\x4a\x05\x48\x78\x7f\x41\x45\x85\x8c\x9f\x52\x80\x52\xe0\x4a\xc9\x06\x75\x5f\xa2\x4d\x46\x60\xb4\x66\x3a\xee\x2b\x15\x16\xac\xb8\xbc\xbe\xa2\xd9\xa4\x55\x57\x64\x87\xd2\x10\xcb\xf6\x54\xcc\xa6\x52\x0e\xe8\xba\xb3\x95\xd5\x0a\x79\x8b\x83\xac\x81\x99\xf8\xab\x28\xc6\xf5\x0f\x16\x4d\x33\x6e\x9c\x16\xd3\x0b\x66\x50\x55\x9b\x7a\x3c\xd9\xab\x5d\x2d\x94\x75\xf3\x40\xc4\xdb\xe8\x6f\xc0\x1c\x69\x1b\xe5\x3d\xf3\x72\x6d\x9a\x63\xe5\x96\x2a\xea\x74\x7b\x59\xee\xad\xed\x65\xf5\x3a\x0f\xe4\x52\xba\x92\xe3\x16\xb4\x8f\x72\xb5\x60\xac\x09\xb4\x91\x8f\x10\x66\x4b\xcc\xe3\x91\x9e\x1a\xa7\x79\x8a\x94\x24\xd5\x33\x58\x2b\xca\x14\x3f\x16\x8c\x19\xfd\x0d\xc6\xb3\x30\x79\x80\x49\x81\xc9\x84\x46\xa9\xf7\x29\x73\x14\x87\xe9\x75\xcd\x45\xe3\x85\xb5\x84\xa1\x37\x69\xfc\x51\xfc\x74\xb8\x9d\x5e\xb1\xda\x6c\x5a\xbd\x4a\x2d\x15\x43\x08\x69\x03\xf7\x8d\x1b\xf1\x53\x0f\x4b\x2c\xc5\x10\xd2\xac\xa7\x8d\xdb\x42\xb2\x86\x13\x73\xf3\x96\xd7\x83\x4d\x38\x94\x02\xea\xaa\x35\x69\xaa\x00\x2b\x7c\x55\xc8\xa8\x2c\xeb\x80\x50\xa8\x41\x28\xd4\x5b\xea\x4e\xe0\x29\x5f\x13\x0b\x0d\x28\xe9\xc1\x8d\x2a\x40\xb8\xb4\xb9\xa2\x27\xf1\x7a\xf2\xb1\xa4\xd5\x73\x9d\xc0\x60\x01\xb9\x2d\x50\xc6\x47\x3a\x91\x54\x0d\x25\xf5\xa1\x24\xc5\xfe\x75\xf5\x57\xfb\xe7\x65\xb0\xaa\x74\x0d\x39\x2e\xe2\x5b\x3a\xcc\x19\xcd\x74\xfd\x24\xb0\x7f\x49\x97\xd6\x24\x9a\xb0\x7d\x8c\x45\xc8\x36\x42\xc0\xfa\x33\x23\xcb\x9f\x2d\x79\xe6\xc1\x8a\x12\xeb\xcf\x52\x95\x2f\x98\x10\x8e\xfb\xe7\xc6\x97\xc4\xee\x25\xf5\xc0\xbe\xab\x2a\x9b\xa4\x4f\x96\xdc\xe9\xb1\x48\x6a\xfd\x99\xe0\x25\xfc\xd9\xba\x5f\x12\x8b\x0d\xaf\x8c\x2f\xe2\x91\x63\x8d\xbf\x64\x56\xab\xe1\x59\x36\xa2\x15\x46\xc4\x7a\x8a\xe2\x58\x96\x67\xc5\xd9\x1a\xf4\xe7\xe2\x66\x0b\x55\x0b\x82\x1d\x6f\x4d\xc4\x9e\x85\x1c\xd8\x92\x0f\xa6\xe0\x0d\x91\x6e\x32\x16\xc4\x9f\xb3\x1e\xad\x0d\x1a\x51\x76\x9a\xc6\x71\xb8\xc8\x60\xd2\xa3\x86\x41\x1a\x43\x98\xe4\xa7\x48\xc8\xc9\x0e\xe9\xda\x37\x54\x3c\xd8\x41\x00\x2c\xcc\xd0\x5d\xad\x22\xb5\x65\x27\xc6\x80\x2a\xd2\xcc\xa3\x22\x65\x00\x5f\xa1\x28\xf5\x6c\x66\x25\xc6\x69\x38\xe9\x4f\x26\xa5\xcd\x32\xc9\x03\x4e\xf3\xc8\x75\xec\xc6\x9e\x5d\x87\xba\x4d\xbf\x0b\xb6\x65\x95\x30\x2a\x79\xae\xab\xe4\x2f\xe3\x7a\x3a\x9b\xa9\x7c\xb7\x1b\x5c\x05\x79\x8a\x26\xb0\x4b\x73\xbf\x3c\xb1\xfd\x5f\xbb\xde\xfc\xb1\x24\xd5\x18\xa8\x6e\x2f\xbe\xf7\xd6\xa2\x18\x8f\x34\x37\x0b\xbe\xa1\x18\xdb\x65\x7b\x67\x4d\xa2\xc7\x97\x19\x44\x0f\x33\x52\x55\x8c\x43\x78\x39\xbb\xe0\x18\x96\xc4\xdd\x14\x55\x21\xb6\x18\x10\x0b\xde\x24\x01\x15\x0a\x08\x07\x8f\x74\xbc\x6f\xc2\xa7\xf7\xcf\x04\x4e\xd3\x14\x4f\x32\x07\x50\x6c\x0a\xb7\x58\xc7\x81\xfe\x4a\xe3\x8c\xe7\xc9\x5c\x57\x6c\x63\x45\x6c\x4f\x1b\x41\x23\x7d\x04\x8c\xa3\x09\xdc\x3d\x2f\x60\xb5\x12\xcc\xc0\xb7\xb1\x72\x17\x63\x77\x16\x10\x7d\x1b\x88\x41\x96\x0b\x9a\xde\x6a\xae\x0b\xf1\x1d\x72\x1f\x7b\xd6\x73\xc8\xbf\x1e\xdf\x5a\x2d\x72\x70\x3d\x68\x35\x11\xd1\x02\x49\xb0\xda\x95\x8d\x55\xe4\x3f\xfb\xd9\xf4\xda\x07\x4c\x50\xa8\x3d\x7c\xe6\x46\xf0\xdc\x1e\x39\xf6\x9b\x07\x27\x20\xf7\xc8\xbb\x0e\x79\x47\x33\xd7\x6a\x0e\x09\xe8\x03\x25\x06\x83\xf9\x47\xcd\x15\x79\xf7\x6e\x3f\x4f\x68\x1e\xae\xf6\x5b\x35\xe2\xba\x6b\x88\x33\x60\xcd\x74\x3a\x1b\x5a\x79\xe7\x37\x79\x9d\x7e\x33\xaf\x92\xb8\x1a\x91\x22\x0d\xf7\xfc\xd8\x83\xfb\x02\xb5\xa0\x85\x48\xe3\xfb\x2e\xeb\x6c\xe3\x99\xfe\xed\xf1\x80\x03\xcd\x75\xdf\x6c\xdb\x94\x21\xd8\x01\x26\x37\xaa\x07\xb6\x6f\xf7\x28\x56\x56\x34\x75\x7c\x95\xd8\xca\x13\x9b\x2a\xb1\xc3\x13\x69\xcb\x2d\x96\xc8\xb1\xef\x51\x98\x67\xcb\x08\x5b\xfa\xeb\x5f\x86\x76\x9d\x34\xbe\xd7\x6d\x44\xff\x3e\xd7\xed\xd1\x17\x6c\x73\x31\x1c\xf3\xcd\x84\x48\x8b\xc8\xcd\x4f\x7a\x9c\x38\x55\x9d\x60\x51\xbf\x70\x02\x41\xb3\xeb\x8b\xa7\x76\xb7\x29\x9e\xf6\xbb\x0c\x17\xe6\x38\x6a\xb9\x46\x1b\x5a\xaf\x99\x04\xe9\xd9\x75\x8e\xf8\x49\xbb\xeb\xb9\xec\x37\x43\xae\x27\x90\xa5\x70\xd2\x58\x84\x0f\xb0\x5a\x51\x78\xed\xc9\x76\xdd\x6e\xac\x1d\xff\x38\x71\x8a\xa8\xd1\x82\x75\xfa\xab\x5e\x7f\xad\x6d\xd9\x06\x6b\xf3\x23\xaf\x5a\x9e\x33\x29\x57\xbc\xa1\xb2\x63\xbb\xee\xd0\x4e\x38\xad\x1a\xb8\x27\xbb\xed\x1a\x74\xc1\xdd\x6d\x35\xdd\x52\x13\x79\x2e\x7b\x6e\x77\x59\x83\x6e\xd7\xc1\x4e\x44\xcd\x4e\x2a\x0b\x9c\x88\x62\x2f\x1f\x9e\x37\xd2\xee\xa3\x5d\xe7\x51\x56\x8d\x29\x4e\xe7\x54\xda\x9e\xa6\x13\x10\xbb\x37\x1c\x82\x22\xd7\x35\x83\xeb\xd5\x34\x46\x11\x4a\x51\xa6\x62\x17\xde\x28\x2f\xf8\x59\xa1\x9d\x00\x84\xb7\xfe\xa4\x2e\x9f\xba\x12\xf0\x34\x8b\xc6\xb3\x13\xf1\x77\xd7\x67\xe9\x28\x36\x82\xe7\x2f\xce\xf8\x4c\xa2\x53\xed\xc4\xeb\xb6\xd9\x5f\xbf\x6b\x6e\x49\x2b\x59\x44\x82\x96\x9e\x3e\xb8\xfe\xc8\x86\x86\x6b\x9e\x14\x0c\x8d\x09\x90\x30\x8a\x8f\xbd\x93\xfd\x76\x77\xbf\xa3\xe7\x7e\x9a\x01\x88\x4c\xec\x71\x00\x31\x09\x7f\x79\x27\x72\x4a\x5e\xc7\x01\x34\xb2\x59\x34\x25\x7f\x80\x67\xca\x84\x28\x0a\x40\x46\xf0\x9f\x1c\x76\x3d\x94\x06\x20\xa3\xfb\x4f\xfc\xfd\xae\x87\xb2\x00\xaf\xa2\x55\x8a\x62\xed\xc4\xd3\x49\x56\x0b\xd2\x6e\xac\x9f\x71\x5a\xad\x9c\x2c\xf0\xe8\xea\xdd\x6a\xd6\x9d\xec\xf8\xb8\xe9\xd6\x09\x8b\x7f\x0b\x03\x43\x11\x88\xb9\x7f\x93\xca\xdd\x5e\xea\x84\xd5\xfb\x40\x58\x48\x17\x6d\x7f\x4b\x49\x2a\x07\xbb\x28\x56\x6a\x86\x81\x96\x83\x8d\xd1\x0d\x14\x69\x91\x28\xc5\x03\xb2\x1c\x4c\x19\xd1\x40\xbf\x56\x4b\x9d\x58\x79\x19\x05\x52\xf3\xf4\x11\x6c\x44\x68\x41\x79\xf6\x6b\xb5\xaa\xc8\xa7\xef\x62\x58\xd8\x89\xf2\xa3\xc2\x4e\x44\x0b\x1b\xed\x64\x5b\xda\xa9\x80\xd1\xba\x75\xd4\x23\xaa\xdc\xe8\x1d\x59\x53\x55\x2b\x44\x62\xfc\x0d\x67\x79\x91\x84\xb5\xda\x8e\xa3\x77\x45\x97\xde\xf4\x57\x2e\x06\xdd\x9c\xda\x44\x6b\x8e\x6c\x6c\x8d\xaf\x5d\x3b\x95\x23\x16\xe7\x41\x29\x69\xf2\x33\x2d\x48\x35\x01\x55\x29\xa8\x4a\x49\xba\x1c\xcf\xc4\xce\xca\xaf\xaf\xf9\x8e\x96\xe6\xa1\x38\x5b\xaa\xe7\xb4\xfe\x8d\xb5\x7f\x4c\x1f\xa1\x54\xb9\xa9\x15\x4d\x20\x23\x38\x7d\x2e\x29\x81\xf9\x69\x3a\xbf\x78\x9a\x4e\x24\x7c\x05\xd6\x7a\xf0\xb2\x16\xc6\xb2\x38\xe8\xa6\xd5\xb4\xd6\x8e\x78\x55\xa4\x8b\x29\x26\x14\x71\xe9\x47\xe3\xf6\xfb\x55\x3a\x81\x8d\x00\xb1\x6d\x5e\x61\xdc\x17\xc3\x61\x98\xbd\x53\x50\x96\x0d\xe3\x57\x45\x2e\x09\xdb\x92\x6d\xd7\xdc\xc8\xdd\x7d\x54\xac\xb1\xbc\x9b\x53\x0e\x5b\x33\x3d\x94\x6e\x7e\x14\x0d\x7a\xf8\x38\x20\x2c\xda\xb5\xe0\xc5\xe4\x4f\xcf\x37\xe9\x93\x83\x8b\x31\x37\x2a\x66\xa2\xac\xa8\xe7\xa7\x6d\x57\x2b\xa7\x98\x14\xf8\xa6\xd1\xc7\x7e\x3c\x8b\x78\x2e\xb7\xd8\x0a\x93\xd9\xa5\x97\x0f\x10\x3d\x74\x8c\xc7\x97\x05\x81\x1e\x73\xa6\xe2\xb9\xe8\xba\x31\xab\x88\x32\xf3\xf5\x28\xb3\xdd\x5d\xa4\xe2\x04\x59\xf8\x98\xa0\x3e\x0f\x25\xdb\xd5\xb3\x52\x1d\x61\x56\x3c\x29\x27\x7b\xc9\xc3\xd1\xf2\xcc\xae\x88\x5b\x10\x45\x35\xe3\x16\x39\x64\x57\x3f\x31\xbc\xcb\x3d\x03\xda\x79\x62\xd7\xec\x90\x38\x9a\xae\xa5\x54\x1d\x13\xe4\xf6\x31\x02\xd7\xed\x6a\x39\xb3\x05\x0b\x4a\x26\x48\xd8\xd7\x55\xf9\x73\x02\xa8\x53\xce\xb5\x9a\x93\x53\x85\x76\x40\xd2\x52\xd2\xec\x57\x10\xc2\x45\x15\xf8\x14\x28\xa3\x1a\x46\xbe\xcc\xcf\xed\x42\x66\xa0\x3a\x66\x9e\xed\x19\x04\x09\x75\x63\x55\x7a\x28\x72\xfc\x2a\x59\x6d\x40\x11\x2f\x4d\x1d\x38\xf6\xd8\x5f\x2f\xd0\xb9\x44\xaa\xcd\x65\x3a\x50\x43\x9e\xa9\xdd\xa2\x6b\x2c\xfb\xbb\x0a\x52\x16\x0f\x5c\x8a\x63\x9e\x2c\x7f\x5d\x9e\xdd\xe7\xa5\xf3\xc2\x27\x95\x34\xee\xe6\xa9\xc7\x9e\x1a\x2a\x7e\x2e\xde\x45\x44\x6c\x7a\x6e\x24\xc6\x36\x4f\x4c\x15\xa1\x3e\x85\x0f\x60\x06\x4b\x68\xf4\xa7\x54\x74\xe0\x47\x47\xaf\xa4\xb2\x96\xbb\xf4\x2e\x5d\x94\x03\x01\xf3\x4a\x76\x5f\x19\xaf\xbb\x54\x1c\xbf\xdf\x52\x87\xc6\xb4\x1b\x6b\x2b\xac\x05\x5a\xd8\xa0\x76\x9c\x58\xed\x44\x73\xbf\x9a\xd8\x90\x34\xa3\xcf\x6b\x35\xbe\xa1\x5c\x3a\x59\x2c\x64\x8a\x5e\x9d\x08\x9a\x0d\x3a\x72\xb8\x72\x8d\x7d\x70\xda\x72\x37\x1e\x51\xf6\x5c\xb1\x6b\x5d\x38\xd6\xbc\xb9\x09\x4f\x50\xa5\x74\x0e\xda\xeb\x69\xf1\x8b\x19\x90\xbb\x68\x0e\xe9\x92\x98\x51\x8a\x51\x92\x00\xfe\x99\x16\x75\xe8\x42\x5d\x8c\x0b\x90\xc0\xca\xa3\x0e\x41\x09\x25\x31\xfd\x3d\xd4\xf2\x3c\xb7\x07\x0a\xc5\x9e\x8c\xa5\x14\xaa\xb5\xe3\xf6\x88\x8c\xad\xdf\x44\x52\xfe\xfa\x0e\xf9\x4e\x0d\x35\x3d\xcb\x14\xa8\xa2\xb0\xbf\x99\xc2\xbe\x39\x1f\xd8\x9a\x11\xe8\x2b\x55\xfe\x32\x00\x91\xdc\xd3\x8e\x75\xf3\x53\xf3\xfc\x8f\x43\xc4\x9c\x16\x89\x19\x10\xb6\x0c\x3a\x78\x93\x08\x7b\x76\x2b\x16\xc8\x6d\xaf\x23\x70\xd7\x55\xbc\x9a\x8f\x3c\x77\x1d\x6c\x19\xe1\xc8\x1c\x61\xe4\x71\xff\x86\x55\xcd\x32\x7e\xc5\xcc\x89\x93\xb2\x28\x60\x00\x07\xea\xf6\x17\xfc\x45\xf8\x09\xf3\x52\x7c\x7f\xf4\x54\xbe\x22\x83\xda\x2d\x1f\x8a\x8a\x1a\x35\x27\x75\x17\xa9\xbd\xb9\x90\xc3\x62\xd9\x07\x67\x9f\x6e\xce\x4e\xfb\x77\x67\x03\x76\xbc\x91\x79\x5e\xef\xc1\xe2\x5a\xd9\xc4\xca\xd2\x34\x69\x58\x9f\x62\x08\x33\xb0\x96\x19\x58\x85\xfa\xf4\xf7\x74\xd0\x0a\x93\x8c\x40\x38\x69\xc8\x0d\xa2\x6d\xb9\x8b\x0e\xcd\x2d\x79\xcb\x84\xaa\x7e\x51\x08\x94\x62\x9c\x3f\x3c\x2f\x00\x13\xf8\x4e\xa8\xa2\x57\x55\x1b\x55\xc1\x0b\x5a\x5e\x29\xa0\xe5\x34\x4c\x58\xc8\x3f\x43\xd0\x0a\xad\x99\xac\xd4\xa2\x85\x2c\xa1\x2d\x5b\xf7\x30\x4d\x31\x58\xca\x67\x9e\x2e\x80\x1d\x05\x1e\x87\x71\x0c\x13\xdb\xed\x15\x34\xc5\x0d\xe8\x39\xf0\x6b\x16\x16\xad\x8e\x3f\x86\x71\x34\xe1\xef\x38\x09\xf9\x61\x87\xbf\x63\x4f\x1f\x55\xe5\xac\x3f\xec\x28\xc5\xbf\xa6\xc3\x65\x64\x7f\x55\xbf\x31\x3c\x44\x19\x01\x4c\xe9\xf6\x91\x4a\x20\x63\x58\xd5\xb1\xa4\x42\x7f\xb5\x69\xad\xa1\x55\x51\x97\xa8\xa2\xa7\x47\x1c\x6f\xd8\x71\x89\xd6\x45\x2b\x6c\x3b\x6e\x82\x81\x55\xf3\x62\x01\xca\xd1\xa9\xac\xc0\x01\x77\xfb\xc1\x0c\x03\x87\x59\x98\xa9\x6d\x8d\x4d\x01\xd4\xa5\x2d\x26\xbd\x50\xe9\xe0\xd1\xaf\xaf\x4e\x25\xdc\xc1\x77\x52\x11\x7b\x5f\x59\x63\x75\x55\x66\xfe\xe2\xb1\x28\x9e\xbd\x1f\x97\xe3\xf6\x37\xe0\xd4\x8f\xe3\x62\x1d\x22\x82\xb3\x52\x99\xa9\x14\x35\xb5\xda\x8e\x2f\x57\xce\xca\x0c\x0e\x48\x47\xc6\x8e\xaf\xf6\xb3\x2b\xa3\xe4\x1d\xa9\x99\x94\x43\x18\x45\xbc\x29\x0f\x58\xac\xce\xe3\xe6\x0d\x59\xb9\xd2\x56\x65\x99\x99\xca\x1f\x6d\xd5\xd7\x14\x99\x06\x3c\x86\xf1\x32\x24\x40\xfb\x91\x8d\xc3\x05\xdc\xc2\x5f\x97\xc0\xde\x32\x91\xcf\x03\x8a\x51\x10\x04\x52\xdd\x3a\xc9\x17\x2d\xf5\xda\x17\xaf\x5b\xc8\xe5\x4b\x3d\xa2\xf0\x7a\x18\x17\x11\x4d\xe3\x3c\x71\x4a\x2a\xa8\xf6\x43\x6e\xb1\x0b\xd7\x07\xda\xf1\x5c\xb7\xbb\xb3\x13\xf2\xdd\x6a\xf6\x3e\x15\xf9\x6e\x38\xd1\x5b\x3d\x2b\xe2\x2f\x00\x91\x96\x16\xd7\xe7\x55\x2c\x2f\x18\x36\xcf\x37\x78\xb6\x11\xcb\xae\x00\xc6\x51\x07\x96\x32\x93\xf1\xda\x34\x5f\x15\x6e\x05\xf6\xda\x48\xdb\xb2\x95\x1e\xbc\xf0\x8a\xba\x3b\x3e\xfa\x06\xcf\x5d\x61\x6e\xe6\xa4\x10\x29\x6b\xa4\xfb\x53\x8f\x8f\xbd\x15\x88\x97\xa4\x1c\x1f\xfb\x2b\xe5\x48\x3d\x3e\x6e\xae\x94\x97\xf5\xf8\xb8\x95\xfb\xa2\xc5\x2b\x3c\xb8\xfb\xd9\x3a\xec\xb2\x43\x9c\xb2\x3e\xaa\xc1\xd2\x41\x64\x43\xf8\xfe\x56\xbc\x55\x44\x4b\x1b\x9c\x5d\x6a\x1e\x60\xeb\x68\x4b\x71\xee\x48\xff\x3f\xed\x72\x25\x1f\xee\xf2\x37\xfa\xed\x78\x7a\x7d\x7e\xab\xab\xe5\x3b\xbd\xd9\x94\xaf\x79\xd0\x35\x5b\xda\x94\xb1\x75\xd0\xc5\x27\x4e\x09\x2b\xbf\x67\xd7\x1d\x5c\xf7\xdd\xba\x3d\x10\xc3\x1e\x98\xf0\xd6\xc0\xa6\xfc\xcb\x20\xdc\x13\xa0\xbf\xd3\xe6\x24\xcf\x7b\x6f\x77\x8d\x82\x9d\x81\x2d\x5d\x0a\xa5\xb7\x8f\x9d\x14\x11\xb9\x1e\xd8\xdd\x12\x72\x03\xdb\xe8\xc1\xd1\x6b\x3d\x38\xdd\xd0\x83\xd3\x37\xf6\x60\x5a\xec\xc1\xe9\xaf\xe9\xc1\x69\x45\x0f\x4e\xcd\x1e\x1c\xbe\xd6\x83\xfe\x86\x1e\xf4\xf3\x1e\x98\x18\xf6\x7f\x0d\x86\xfd\x0a\x0c\xfb\x06\x86\x6d\xef\x35\x0c\xdf\x6f\xc0\xf0\xfd\x26\x0c\xdf\xff\x1a\x0c\xdf\x57\x60\xf8\xde\xc4\xb0\xd3\xcd\xa7\xd9\x2a\x9f\xe7\x4c\x00\x16\x4a\x36\xff\xc5\x76\x8d\xb2\xfb\xa2\x76\xac\x0d\xfa\xb0\x95\x77\xee\x5f\x0c\x06\x68\xfd\x8b\x39\x7a\xfb\xdd\x32\xc6\x3a\x69\x3e\xd8\x6f\xee\xe7\x87\x8a\x7e\x7e\x30\x5b\xeb\xbc\xd2\xda\xf9\xdb\x5b\x3b\xaf\x68\xed\xdc\x6c\xad\xa5\x51\xf5\x44\x5f\x78\x82\x5d\xc3\x21\x53\xae\xa8\x53\xa0\x52\x7b\x63\x4d\x5a\x3d\xe5\x6a\xf6\xcd\x6a\x7c\xbf\x59\x35\x56\x5a\xff\x3f\xe9\x63\x75\xfd\xa9\x50\xba\xf5\x4a\xe9\x7f\x32\x4a\xff\x53\xa1\x74\xfb\x95\xd2\x37\x46\xe9\x9b\x42\xe9\xce\x2b\xa5\x6f\x8d\xd2\xb7\x85\xd2\x95\x3c\xea\x77\x36\x31\xa9\xdf\x29\x12\xee\xa0\xb2\x82\x83\x8d\x15\x1c\x14\x2b\x38\xac\xac\xe0\x70\x63\x05\x87\xc5\x0a\x8e\x2a\x2b\x38\xda\x58\xc1\x51\xa1\x82\xa6\x57\x55\x41\xd3\xdb\x54\x41\xd3\x2b\x56\xe0\x57\x56\xe0\x6f\xac\xc0\x2f\x56\x50\xc9\x7d\xcd\x8d\xa2\xa2\xd9\x2a\x56\x50\xc9\x80\xcd\xf6\xc6\x0a\xda\xaa\x02\x11\xf6\xd5\xdd\xd1\x64\x9b\x29\xf2\xb8\x9a\xb3\xca\xf5\x9a\x93\xf2\xb2\xb6\x5a\xed\xe8\x19\xb5\x9a\x36\x97\xa9\xd5\x54\x19\xf6\xa8\xde\x34\xa7\x0a\xd5\x6a\xfb\x1d\xfd\xfd\x67\xc6\xab\x04\x99\x59\xd1\x55\xb0\x77\xc1\x7e\x47\x1c\x44\xa3\x3f\x8f\x83\x23\xaf\x28\x9a\x2a\x22\x0b\x72\xc5\xac\xde\x6a\xba\x5d\xff\xa8\xa9\xb7\x57\x92\x6d\x7f\xb6\xf5\x06\xdb\x87\x46\x83\x9d\x83\xf2\x9a\x94\xd7\xbf\xdb\x3e\x74\xdf\x84\xee\x56\x2c\x77\xf7\xdb\x6e\xb7\x55\x85\x64\x55\x31\xcf\x68\xb0\xe3\x9b\xe8\x76\xde\xd4\x60\xc7\xaf\x37\x0f\xdc\x6e\x67\xff\x8d\x6d\xfa\x34\x77\xd3\x3f\x7a\x63\x76\x96\xbb\xe9\xbd\x35\xf7\x21\xcd\xed\x9b\x3c\xe1\x6c\xc9\x7f\xe4\xaa\xd8\x1f\x52\xf2\xe4\x3c\x5c\xb2\x17\xc3\x96\x7c\x05\xe2\x85\xb1\x90\x47\xde\x66\x20\xac\x36\xf9\xf6\xd8\xaa\x77\x71\x3c\x9c\x8a\x9c\x15\x7b\xa6\x5a\x39\xf9\x36\x06\xd1\x0a\x8f\x27\x32\x5b\x2a\x5b\xcb\xec\xe4\x62\xc5\x1e\xe3\x3f\xc0\x68\x56\xfb\xdd\x08\x18\x46\xcc\x6a\x21\x41\xfe\x43\x45\x6b\x89\x77\x6d\xf3\xa8\x18\x96\x45\x8c\x89\x0a\xdd\xe2\xe3\xca\xe0\xab\x95\x78\x8f\xb5\xac\x52\x35\x4c\x64\x16\x31\x52\x3b\xce\x0e\x59\xad\x9c\xed\xf2\xc4\xad\xd5\x72\x73\xd4\x65\xa1\x37\x55\x0c\x40\x8a\xc6\xa6\x38\x1a\x4a\x2a\xcd\xd0\xb7\x98\xa0\x2e\x35\x38\x8b\x63\x9f\x4c\x2a\x2c\x4b\xa2\xde\xb7\xc0\xb6\xbe\x57\xab\x4d\x7b\x17\xb9\x79\xcb\x32\x52\x43\x5d\xbe\xd5\x79\x8d\xa4\x9b\x9f\xa5\xd4\x8b\x2e\xd7\x7b\x30\xfd\x30\x72\x10\xf3\xf7\x19\xe9\x67\xd4\x39\x36\xea\x2c\x1a\x79\x8e\xa1\x71\x9f\xe2\x09\x60\xf6\xba\xaa\xc0\x7e\x9a\x45\x04\x6c\x54\x8d\x28\x6c\x2b\x49\x31\x95\x87\xd8\xd4\xeb\x93\xcc\x38\xe1\x82\xe3\x2e\x4e\x1f\xaa\x30\x67\x6f\x54\x92\x4e\x05\x7e\x54\xb1\x21\x5c\xec\xd5\xa9\xb4\x22\x15\x61\xcc\xde\xfb\xaa\x8d\x4c\x1c\x8d\x81\xbf\x76\x48\xbd\x5b\x5e\xb8\x49\x2b\x6a\x11\x61\x66\x55\x60\x04\x45\xf4\x01\x63\x33\xae\xe0\xb7\x77\x80\x55\xf5\x77\xe8\x02\xab\xe7\x57\x75\x02\x43\x16\xfd\x0d\x2a\x5e\x1f\x14\x65\x57\xe1\x15\x73\x82\x8a\x47\xe2\xba\x2f\x84\x6f\xf0\xaa\xf7\x22\x39\xfa\x6b\x81\x5c\xb5\x38\x57\x41\x11\x11\x2f\x23\xe0\x21\x7a\x28\xa1\xe2\x46\xb9\xcd\xf8\x9b\xda\x89\xfc\xc9\x5f\x2b\xc4\xf6\xb4\x7d\x16\x6b\x49\xe7\x00\x7b\x24\xf4\xd1\x49\xf3\x52\xee\x31\xb0\x28\x91\x4c\xbc\xab\x5d\xbe\x86\xda\xb6\x6c\xe4\x8f\x50\x54\x8e\x4f\xe8\x45\xbb\xbb\x3d\x56\x46\x0f\xd0\x78\x00\xe2\x44\xea\xad\x6e\x60\xbc\xec\x58\xc0\xd8\xc6\x6a\x96\x1f\x96\xe1\x6f\x99\x2f\xbd\xa6\x38\x47\x0d\xa5\x79\x77\x50\x12\x78\x28\x3d\x26\x2e\x7f\x79\x9b\x3e\x0f\x7b\x69\xbd\x7e\x4c\x8c\x16\x05\x1a\xa4\x9e\x7b\x18\x8d\xc0\x86\x77\x5e\xee\xc5\xce\xb3\x97\xe2\x38\x9e\xeb\x49\xdd\x3f\x31\x03\x22\x12\x19\x1d\xc2\x77\xec\xbd\x42\x18\x89\x1e\x93\x51\xfd\x92\xe7\xe2\xc9\x67\x89\xab\xa8\x48\x3f\x56\xc4\xd6\x09\x46\xe9\x74\x77\xd7\x7a\x47\x7a\x6e\xf5\x0b\x99\x2a\xba\x69\x66\x28\xf5\xcb\x37\xa2\x4c\xd2\x85\xe3\x76\xf5\x58\x0d\xbd\x8b\xf5\xfa\x06\x94\xdf\xc9\x37\x65\xe1\xc0\x04\x8b\x9d\x5d\xd7\xa5\xd3\x27\x4a\x96\xd0\xc3\x9b\x02\xa8\xb0\x78\x43\x13\xbb\x51\x40\xac\xeb\xcf\xef\x02\xa2\x46\x2b\x20\xbb\xbe\x8b\x12\xf5\xbb\x1e\xc8\xb3\x95\xdf\xdf\xe5\x0b\xff\xf7\x00\xd4\x61\x92\x57\xde\xe0\xaf\xde\xdc\xbf\xf9\xf4\xd3\xb6\xa3\x2a\xa5\x37\xe8\xbf\x72\xd7\x81\xb6\x44\x72\x59\xa1\x1f\xf7\x63\xab\x2f\xbb\xdf\x03\xf8\xa5\x1e\x64\xed\xae\xd7\x55\xc7\x26\xd8\xd6\xb1\xb1\x44\xc2\xb1\x8e\x2b\xdb\x33\x96\xd4\x30\x36\xb4\xa9\x1a\xf2\x4e\x4f\x3e\x4b\x26\x85\x8c\x67\xc9\x24\x28\x6e\x6e\xce\xc3\xef\x85\x36\x55\xf0\x9a\x56\xb9\x57\xbd\x51\xce\x29\x56\xd2\xef\xc4\x0c\x37\xba\x41\xb9\x5b\x04\x09\x73\x96\x24\xe1\x3d\x55\xf2\xd8\x0b\xc7\xf9\x62\x88\xe1\x91\x96\xa3\xba\x96\x60\x52\x9a\x27\x78\x59\x23\x08\x3c\xb7\x27\x08\x41\xc9\xd8\x83\x7a\x50\x94\xb0\xc6\x4b\xac\x5c\x57\x6f\x23\xd8\xf1\x4c\x1c\x65\x53\x95\x18\xca\xb8\x75\xce\x70\x6e\x6f\x27\xaf\x6a\x77\x17\x46\xb5\x1a\xbc\xf3\x7a\x6a\xe7\x01\xde\xe5\x32\xf6\x44\x3d\xed\xfa\x5d\x38\xf6\x4e\xbc\x6e\x41\x0b\x49\xe0\x3b\xf9\x2d\x0d\xd7\xeb\xac\x61\x8d\x02\xbf\x11\x01\xf6\x92\xd3\x9b\xe8\x61\x56\x54\xbe\xb5\x88\x87\x5c\x98\xeb\xf2\x84\xc9\x73\x9c\x07\x83\x44\x62\x22\xa8\xd7\xa6\x3a\xae\x58\x4c\x0a\x23\x55\x77\x31\x7b\xf7\xa0\x08\xad\xd2\x23\x24\xca\xaa\x42\x98\xc1\x25\x4c\x7f\x33\x72\xaf\x20\x46\x71\x87\x7a\xbd\x07\x74\x65\x7b\x33\x56\x6c\x97\xaf\xa0\xc0\x98\xc1\x74\xab\x55\xfe\x3b\xdf\x46\x05\xb6\xdc\x49\xe9\x52\x8d\x38\x2f\x62\x44\xd4\x89\x10\x48\x5f\x13\xcd\xea\x0e\x14\xe3\x9a\x94\xc0\xeb\xe5\x91\x39\xbe\xa4\x3a\x3b\xbc\x0a\x5a\xf8\xe7\x2b\xb7\x10\x6c\x13\x82\x9b\xa3\xed\xaa\xc6\x2d\x4a\xa0\x6c\x22\xe6\x0c\xe7\x78\xa8\x28\x7c\x14\x36\x95\xe3\x3d\x14\x92\x42\x1b\xc8\x6e\xb5\xee\x32\x1c\xb1\x97\xae\xb2\x37\x77\xd4\x6a\x4e\xd4\x88\xb2\x9f\x71\xc8\xb6\xf3\x88\xdb\x4b\x35\x76\x4c\xeb\x75\x37\x1a\xa6\xa3\x00\xcb\xf9\x13\x15\x06\x7b\x56\x79\x2f\xd7\xc9\x26\x9e\xea\x56\xa9\x53\x85\xa0\xaa\xac\xaa\x4a\xf6\xd2\x7c\x3e\xc3\xc5\x7b\x59\xeb\xb6\xed\x36\xd8\x6b\x2e\xae\xa7\xa5\x20\x94\x52\xe4\xb3\x24\xb0\x8c\x5c\xd3\xdf\xa3\xaa\x42\x37\xdf\xbc\xe5\xaa\x0d\xb7\xb8\xa1\xa7\xb8\x55\xc8\x11\xb8\x8b\x48\x5c\x35\xca\xac\x24\xa1\x40\xbb\x34\xca\xac\x4b\xfa\xfc\xa9\x0b\xbe\x7f\x57\x5a\xb6\xd5\xf2\x2f\x23\x52\x39\xd0\x71\x73\x5d\x40\x8d\xa5\xe8\xca\xf7\xdd\xdd\xa2\xaa\xfe\x08\xec\x85\xbb\x85\x56\xc5\xa4\x29\x46\xc6\x9e\xe8\x7a\x14\xd3\x68\xe4\x6b\x58\xa4\x26\x92\x93\x52\x9f\x22\xca\xde\xcc\x67\xfa\x86\xfc\xf9\x9c\xdb\xf1\xfe\x4e\xc1\xb0\x62\x22\x3c\x97\xfb\x6e\xb8\x55\x0a\x2c\xc2\x95\x2f\xa5\x69\x1b\x30\xa6\xa4\xe7\xf3\x44\x0b\xf7\xab\x74\x88\xc8\x60\xe8\x8a\xf7\x00\xf6\xa2\xfc\xb6\x33\xa3\x0d\xf5\xea\xc0\xca\x08\x29\xb4\xa9\xbe\x80\xbc\xae\xad\x6d\x7e\xc3\xa7\x41\x1e\xaa\x23\x54\xd0\x87\x2d\xb1\x9c\x99\xca\xba\xc2\x3c\x24\xe3\x19\xb7\xdd\x63\x24\x2f\xaa\xa0\x4a\x49\x7e\xdd\x45\x21\xc0\x87\x5b\x6e\x6a\xa2\xb3\x37\x9a\x2e\xd2\x27\xa7\xe5\xfd\xe8\xc0\x6e\xe4\xa2\xa6\x5b\x57\x89\x9d\xa3\x1f\x1d\xb2\x9b\x9a\x89\xbe\xff\xa3\x83\x77\x33\x9a\x48\x91\xd1\xdf\x59\x1e\x98\xaf\x30\x47\x51\x23\x4a\x66\x80\x23\x92\x05\x09\x8a\x1a\x69\x12\xa4\xf4\xcf\x74\x1a\x64\x48\x5e\x46\xb7\xe1\xf8\x80\xfe\x26\xe6\xd5\x4a\x3f\xf6\x88\xd9\xb1\x8b\x01\x77\x78\xb3\xd7\x28\x66\x24\x5d\x7c\xc2\xe9\x22\x7c\x08\xc5\x91\xe4\x1d\x7f\x8d\x40\x5e\x72\x18\x44\xeb\xd2\xcb\x97\x8d\x2b\xf9\x7e\xd3\x0b\xe5\xa3\x0d\xa7\x68\xc5\xb0\xc9\xc3\x21\xfa\x8f\xd5\xea\x65\xbd\xd6\x3a\xa2\x0e\x87\x17\xcf\x50\xe8\x85\x98\xaf\xd1\xfc\xbd\x5a\xc9\xd7\xc0\xe4\x69\xea\xd4\x27\x32\x6a\x9e\x4e\x37\xd0\x37\x2f\xe9\x16\xae\x0a\xca\x21\x28\x0a\xb0\x61\x6f\x8b\x5b\x2a\xa9\x98\x5a\xad\xd8\x1d\x95\xb1\x38\x98\xaf\x1f\x4d\x65\xa1\x16\x2a\xfa\x36\x42\x7e\x01\x29\x6e\x7a\xf5\xe3\x58\x9e\xea\xaf\x88\xee\xce\x91\xa8\xd5\x26\x10\x03\x11\x31\xa2\x79\x7a\xa1\xa3\x45\x4e\x2f\x5c\xd4\xc3\x47\xec\x6d\x5e\x19\x3d\x2e\x28\x9d\x4e\xd9\xe5\x96\x88\x68\x1e\x19\x94\x1f\x45\xc5\x39\x05\x88\x7a\x09\x02\x2d\x60\xa2\x47\x97\xa0\x92\x5a\xcd\xfd\x8b\xec\xf5\xec\x7e\x0f\x1f\x2b\x0c\x24\xc9\xd9\x31\x99\x21\xde\xf5\x47\x41\x7e\xa5\x22\x1e\xf5\xb6\x0c\x61\x54\x1a\x42\xfe\xbe\xf7\x48\xd6\x29\x55\x0c\xbd\x37\x45\xa6\x89\x2b\x87\x45\xa7\x8a\xc9\x8a\x6b\x04\x6b\x16\x42\x6d\x88\x82\xbf\xfb\xa4\x33\x6e\x4f\x85\xc6\xd5\xe7\xcb\xc0\xfe\xe2\xd9\x08\x1a\xb7\xd7\x1f\x02\xfb\xff\xc3\x9e\xee\xfe\x39\xb0\xff\xbf\xf4\xe9\x8c\x3e\xfd\xff\xd8\xd3\xf5\x5d\x60\xff\xff\xd9\xd3\xd5\x3f\x05\xf6\x7f\x42\x9f\xfa\xa7\x7f\x08\xec\xff\x94\x3e\xbd\x3f\xbb\x0c\xec\xff\x8c\x3d\xdd\x06\xf6\x97\x7b\xfa\xf4\xe1\x2e\xb0\xbf\xb0\x97\x05\x5e\x9e\x07\xf6\x97\x84\x3e\xfd\x91\xa6\x3d\xd2\xa7\x73\x9a\x36\xa5\x4f\xa7\x37\x81\xfd\x05\x73\x0c\x02\xfb\x3f\x67\x0f\x17\x81\xfd\x5f\xd0\x87\xc1\xe5\x59\x60\xff\x97\xec\xe9\xd4\x0f\xec\xff\x8a\x3f\x35\x03\xfb\xbf\xe6\x4f\xad\xc0\xfe\x6f\xf8\x53\x3b\xb0\xff\x5b\xfa\x74\xd5\xff\x43\x60\xff\x77\xac\x92\x5f\xae\x02\xfb\xbf\xe7\xbd\x78\x1f\xd8\xff\x03\x6b\xab\x7f\x15\xd8\xff\x23\x4b\xfb\x18\xd8\xff\x13\xcb\xf6\xf9\x7d\x60\xff\xcf\x2c\xe9\xf6\x34\xb0\xff\x17\x86\xdc\x6d\x60\xff\xaf\xf4\xe1\xa7\xdb\xc0\xfe\xdf\xe8\xc3\xcd\x6d\x60\xff\xef\xf4\xe1\xf3\x6d\x60\xff\x1f\xac\xdc\xa7\x80\x6a\x82\xd0\x18\xd0\xbe\xff\x5f\xf6\xda\x21\x8d\x53\x8f\xc5\x42\x9c\x7a\xc1\xcb\x9a\x2a\x57\x5b\x87\x4e\xdc\x5f\x14\x47\xf7\xe1\x62\x91\x6d\xbb\xc1\x48\x64\x31\xef\x30\x7a\x7f\x3b\xd8\x6d\xed\x9e\xc6\xe1\x32\x03\xe3\x32\x23\xbf\x71\xe0\x35\x3c\x7e\x9b\x91\x28\x69\xde\x67\xb4\xb7\x57\xba\x7e\xc8\xdb\xdf\x6d\x7a\xde\x11\xbb\x80\xe6\x74\x86\xd3\x79\xb4\x9c\x5b\xd7\xb7\x56\x7f\x49\x66\x29\xce\x1a\x56\x3f\x8e\xc5\xed\x3b\x16\x55\x40\xf0\x23\x4c\x1a\xbc\x2e\x51\xe3\x0d\xa8\xcb\x76\xd8\x65\x5c\xc9\x84\x85\x6c\x47\x89\xc5\x6f\x3f\x62\x29\xf7\x51\x12\xe2\x67\x6b\x9a\xe2\x79\x86\xf8\x4b\x38\x52\x2c\x2f\xfb\x11\x15\xb1\xbb\x7c\x44\x54\x05\xb2\x42\x0c\xe2\xfe\x1d\x02\x13\x6b\x81\xd3\xc7\x68\x02\x13\x8b\xcc\x42\xb2\xf1\x3a\x1d\x5a\x48\x56\x06\xa4\x6b\xa0\x69\x59\xd6\x8f\x05\x5c\xd9\x2d\x38\x02\xc9\x71\x3a\x01\x6b\xbe\xcc\x88\x85\x81\x84\xe2\xd2\xa2\xc2\x8d\x3c\xa2\x26\x7e\xf9\x0e\xe2\x97\xf2\xd0\xc9\xce\x6e\x58\xd2\x90\x60\x17\xf6\xe8\x18\x4e\xa2\x6c\x1c\x87\xd1\x1c\x70\x63\x1b\x36\x51\xa2\xd3\x49\x62\xb3\xc0\xe9\x64\x39\x86\x1c\x21\x51\x45\xf1\xa2\xa0\xdf\x86\x90\xa8\x4c\x74\xd8\xbc\xdd\x49\x5c\x96\x94\x92\x19\x60\x6b\x1e\x12\xc0\x51\x18\x67\xf9\x58\xb0\x61\x24\x33\x89\x90\xde\x19\xa3\x9f\x57\x10\xb1\x2a\xd8\x4b\xef\xc3\x39\xbb\x91\xea\xa7\x34\x7d\x88\xc1\xba\x48\xc6\x0d\x2b\x49\x73\x18\x1b\x93\x88\x5f\xf5\xc4\x3a\x99\xf0\x3a\x53\x9c\x59\xf3\xf0\xd9\xba\x67\x07\x02\xd8\x35\x4b\x90\x4c\x52\x9c\x01\x65\xa4\x05\x4e\xe7\x29\x01\x8b\xd3\x8a\x64\xd6\x04\x70\xf4\x08\x13\x6b\x8a\xd3\xb9\xa8\x8a\x18\xd7\x5a\xc9\x7b\xa6\xb2\x05\x8c\x29\xd7\x59\x0b\x1c\x51\x8e\xc4\x94\xdf\x12\xed\xae\x25\x93\xd9\xef\x3e\x5c\xdc\x56\xdf\x8f\xf4\xfe\x17\x76\xd5\x4e\xf9\x2e\xa1\xfe\xd5\x80\xdf\xff\x73\xf1\xfe\xf3\xdd\xf5\xcd\xad\xa8\x49\xdc\xa7\xc4\xc0\xfd\xab\x5f\xb4\x8b\x93\xe4\xad\x49\xda\x9d\x48\xda\x05\x4a\x48\xde\xa0\x24\xea\xc9\xef\x51\x42\x0c\x81\x72\xe1\x8a\x0b\x95\x58\xab\xda\x85\x4a\xa2\xae\xea\x6b\x95\x6e\xce\xac\xc1\xc5\x2d\xbb\x00\xe9\x6c\xb0\xe1\x46\xa5\xbc\xdf\xa2\xaa\xeb\x9f\xaf\xce\x6e\xf8\xe5\x4a\x79\xd7\x2b\xee\x55\x1a\x5c\xdc\x9c\x9d\xde\xd1\xfe\xe5\x4f\xa7\x17\x83\xb3\xab\xbb\xfe\x25\x12\x75\xdd\x7e\x3a\x3b\xbd\xe8\x5f\x22\xeb\xec\x9f\xcf\x3e\x7e\xba\xec\xdf\xfc\x82\x44\xcd\xb7\x67\xff\xf4\xf9\xec\xea\xee\xa2\x7f\xa9\x6e\x66\x72\xde\x44\xa9\x4f\x37\xd7\xa7\x9f\x6f\xd8\x1d\x51\x94\x3c\xb7\x9f\xdf\xdf\xde\x5d\xdc\x7d\xbe\x3b\xb3\x7e\xba\xbe\x1e\xb0\x51\xb8\x3d\xbb\xf9\xe3\xc5\xe9\xd9\x6d\xcf\xba\xbc\xbe\x65\x44\xfc\x7c\x7b\x26\x51\x1a\xf4\xef\xfa\x0c\x89\x4f\x37\xd7\xe7\x17\x77\xb7\x3d\xfa\xfc\xfe\xf3\xed\x05\xa3\xe8\xc5\xd5\xdd\xd9\xcd\xcd\xe7\x4f\x77\x17\xd7\x57\xae\xf5\xe1\xfa\xe7\xb3\x3f\x9e\xdd\x58\xa7\xfd\xcf\xb7\x67\x03\x46\xfa\xeb\x2b\xda\x79\xc5\x53\x67\xd7\x37\xec\x1a\xad\xea\x9b\xa4\xf2\xcb\xa3\x6e\xef\x6e\x2e\x4e\xef\xf4\x6c\xd7\x37\xec\x46\x29\x51\x53\xde\x77\xeb\xea\xec\xa7\xcb\x8b\x9f\xce\xae\x4e\xcf\x8c\xdb\xa6\x5c\x75\xdb\x14\xbb\xa2\xea\x17\xeb\xe7\xfe\x2f\xf2\xbe\x29\x71\x93\x94\x1c\xc0\x73\x93\xd9\x11\x1b\x72\xeb\xe2\xdc\xea\x0f\xfe\x78\x41\x3b\x22\x8a\x7c\xba\xbe\xbd\xbd\x10\x6c\xc5\x48\x79\xfa\x41\x0c\x06\xbf\x6e\x2a\x9a\x3a\xea\x82\x8f\xa8\x7c\xff\x06\x7f\x65\x94\x65\xc7\xd1\xbd\x6d\xf1\xb7\xd3\x5a\x61\x8c\x21\x9c\x3c\x5b\xf0\x3d\xca\x48\xd6\xf8\x41\x5a\x0c\x2f\xeb\x5e\xd4\xc0\xcb\x84\x44\x73\x18\xc0\x02\x92\x09\x24\xe3\x08\xb2\xaf\xfc\xb2\x98\x28\x89\x88\x3c\xd7\x91\x7d\xa5\x9a\x61\xd4\xc0\x64\x02\x8b\xaa\x63\xc9\xf8\xf9\xa5\x80\xcb\x7a\x1c\x8a\xcb\x3e\xe4\x4d\x92\x19\x09\xc7\xdf\x98\x22\x4e\x1c\xaa\xc7\xb8\x3d\x12\xe4\x87\x01\x5b\x27\x78\xd8\x1c\x35\x30\x2c\xe2\x70\x0c\xce\xde\x9f\xbe\x64\x3f\x86\xe4\x4b\x56\xdf\x43\xb6\xed\x76\xf1\xd0\x2f\x00\x1f\x78\x57\xe9\x52\xf3\x1f\x58\x9e\xb5\xd4\x3b\xb9\x96\x59\xd2\x60\xa9\xb6\xc9\x90\xc9\x34\x0d\x36\x65\x1a\xac\x71\xcb\x39\xd3\xcb\x5d\xd1\x59\xa1\x9a\x46\x28\xe3\x7b\x4f\xe2\xfd\x5b\xdc\xae\xae\xa0\xdd\x30\x1b\xf5\x92\xd5\xca\xd9\x9e\x25\x18\x8e\x5c\x94\xe4\xef\xc6\xa1\xf4\x86\x24\x5b\x62\xb8\xa9\x1a\x8f\xd2\x5b\xaf\x76\x72\x7f\x26\xe1\x77\xb2\x54\x35\xa4\xd9\x52\xd5\x19\x86\x84\xaa\xe4\x44\x8e\x49\xc3\x76\x51\x16\xf0\x1b\xc1\x56\xab\x0c\xe2\x29\x4a\x02\xaf\x97\x1c\xa7\x92\x84\x89\xb8\xea\x72\xc7\x49\x87\xc9\x88\x2a\x25\x6e\xe1\xb0\xda\x0f\x1f\xa9\xa0\x4f\x1e\x2c\xfb\x87\x3a\xa9\xff\x60\xb3\xbb\x56\x00\xe8\x02\x77\xff\xfc\x03\x7b\xe5\x52\xb0\xe3\x8b\x38\xf2\x2c\xc8\x86\xb4\xa2\xd1\x9a\xd6\x09\xe5\xb3\x4c\xe7\x61\x14\xc3\xc4\x12\xb8\x5b\x13\x89\xfc\xb3\xc5\xdf\x6c\xc9\x6c\x7e\x79\xd4\xe6\x22\x89\x8a\xde\x70\xe9\xb8\x2c\x30\xb3\xbc\x46\x0a\x91\x91\x8b\x88\x64\xf6\x4a\xcf\x6a\xb1\x28\x4a\x0b\xee\x6d\xc9\xc1\x92\xb5\x70\x7e\x8a\xb3\x56\x23\x8e\x4d\x8b\x77\x2d\xbb\x9e\x0d\xbd\x91\x8b\xb2\xa1\x3f\x72\xa2\xc6\xb4\x11\xc6\x21\x9e\x3b\xa9\x78\xa5\x12\xb5\xd4\xd7\x94\x11\x6d\x59\xb9\xf6\x4e\xe9\x32\x59\x24\x8d\x53\x6c\x45\x09\x3b\xd5\xa5\x5e\xdb\xd6\xb5\xd2\x84\x12\xc2\x76\x7b\xdb\x58\xca\x71\xf5\x80\x8c\x14\x79\xee\x1a\x89\x58\x17\x6d\xef\x27\x9c\xb0\x3d\xad\xd5\xca\xd9\x08\xab\x24\xb8\x03\xe2\x94\xbf\x20\xcd\x71\xe0\x9d\x88\x8b\xce\x68\xb2\xdb\x75\xf2\x37\xda\xb1\x1d\x78\xdb\xb2\xd9\x9e\x9c\x76\x6a\x35\x20\x74\xba\x43\x48\x1c\xd8\x93\xe9\x75\x76\x42\x5e\x5d\x4b\x0f\x6e\x5d\xaf\xd5\x5d\xbb\x95\x7d\x38\x4b\x26\x1b\x7a\x70\x66\xc4\xd8\xfc\x1b\xe1\xaf\x57\x54\xd7\x3b\xe3\xb2\x6b\xa6\xc4\xf5\x69\x4c\x04\x8b\xcb\xd5\x30\x7c\x0d\x5e\x66\xf0\xdd\xdf\xef\xee\xfd\xce\x19\x86\xbb\x53\x6f\xf7\x68\xe4\x56\x3d\xed\x45\x68\x06\xdf\x9b\x6d\x3d\xe3\x4b\x73\xed\x6e\xfe\xb1\x17\x21\xfc\x70\xdf\xa5\xdc\x75\x03\x0f\x67\xdf\x17\x8e\xfd\xa7\xbd\xec\x47\xfc\x70\xbf\x97\xfd\xb8\xe7\xec\x65\x3f\x3a\x7b\x93\x17\x1f\xb5\xd6\xee\x5e\xf6\x23\x7a\xe5\xf7\x1e\xfd\xfa\xbd\x9d\x4b\xea\x2f\x7b\x7b\x0f\xc8\xfe\xf2\xc5\x76\x91\x1d\xd9\x2e\x6d\x2b\xac\x6a\x2c\xfc\x2d\xad\x39\x27\x5d\x91\x54\x77\x4e\xba\x7b\x8d\xbd\x49\xdd\x3d\xa1\x00\xf7\x2d\x78\x7c\xaf\xc4\xe3\xe4\xef\x8b\xc8\xc9\xab\x98\x7c\xf7\x7d\x3a\x00\x6c\x4d\xa3\x0f\xf9\xe8\xf8\xa8\xbd\x76\xbf\xec\xbd\x9a\x90\xfd\xf8\xfb\xbd\x08\x51\x7d\xbf\xbb\x37\x0c\x77\xff\x36\xa2\x5f\xde\xee\xd1\x97\x6c\x54\xdf\xd3\xf9\xe8\xe1\xfe\x2e\xfd\x67\xdf\x37\x7d\x3f\xc6\xbb\xeb\xa4\x3f\x30\x70\x9a\x9d\x83\x1f\xf9\x0d\x53\x11\x9d\x1b\xcd\x4e\xc7\x75\x8d\xfb\x0a\x11\x15\x63\x7f\x5b\x84\x13\x07\x50\xdb\x5d\xcb\x55\x9e\x39\x81\x1d\x9d\x77\x69\xbb\xdf\xf3\x3b\xd9\x4e\x6c\xda\x4b\xbb\x4e\x1c\xba\xa6\xbb\xec\xc5\x88\xf4\xb9\xa9\x3d\xb7\x46\x2e\x7b\x1f\x96\x86\xfc\x77\xdf\xff\x00\xdf\xef\xd2\xd3\xdb\xdb\xd2\x91\x58\xf1\xc2\xd1\xec\xe7\x88\xb0\x0b\x18\xd5\x69\x3a\x76\x9b\x65\x34\x65\x77\x2d\xf2\xdb\x04\x1d\xdf\x45\xbb\x7e\x10\x0c\x5b\x68\x1f\x1d\x21\xbf\x39\xca\xf7\x91\xe4\x74\x2f\x95\x16\x9d\xda\x1b\xfe\x49\x10\x7e\x2f\x32\x33\xc9\x03\xfc\xbc\x82\xbd\x16\x3f\xd8\xc5\x1b\xf4\x10\x71\xd9\x7b\xb1\xc4\x6f\xc2\x5e\xd5\xa4\xfd\xae\xd3\x14\xb5\xc7\x26\xfb\x1b\x52\x2d\xe4\x2e\xbd\xf9\xe9\x7d\xdf\x19\x62\x94\xa2\x6c\xd4\x98\x87\x0b\xa7\x6a\xcb\x2d\xbf\x37\x11\xd8\x3d\x89\xcd\x20\x20\x27\xd0\xf5\xd9\x9f\xe3\xe3\x76\x17\xde\xbd\x6b\xff\xe8\x90\xdd\xa6\xbb\xe6\x9b\x55\x39\x51\xcb\x14\x95\x9d\xa9\x18\x49\xce\xab\xb9\x53\xf2\xc4\x21\xf9\x7b\x0d\xfc\x5c\x7c\x19\xd8\x93\x4d\x78\xfb\xf9\x4b\x0c\x4e\xf2\x1e\xd4\x59\x1f\xba\xcd\x4a\x20\x03\x39\x2d\xfd\xed\x07\x0e\xd4\x73\x62\x36\x5d\x17\x31\xae\xc5\xe9\x32\x99\x38\x66\xc1\xbd\x66\xe7\x80\x4a\x59\x16\x33\x5d\xe0\x98\x93\x2a\x46\x73\xc0\x55\x37\x46\x36\xe8\xfc\x62\x3d\x12\x1b\x8e\x22\x79\x46\xf3\xde\xfc\xf4\x7e\xcb\xa4\x6a\x9b\xe8\x06\xa0\x84\x01\x46\xc5\xfd\x10\x75\xb5\xc4\xef\xec\x3a\xa9\x93\x3a\xae\xe3\x7a\x54\x8f\xd6\xae\xdb\x33\xc7\x25\xd5\x46\x81\xce\x28\xc7\xae\xab\xde\x92\xa1\x3f\xa2\x1d\xae\xdb\xc8\x32\x92\x9b\xd5\xc9\x2d\x91\xec\xda\x7c\xd6\x49\xd5\x47\x1b\x79\xb6\xfc\xb0\xab\x48\xcd\xc4\x66\x9b\xcd\x90\xb2\xfe\xac\x6e\x52\x0f\xbc\x5e\x96\xdf\x16\x99\xd5\xeb\x2e\x50\x0d\x98\x38\xf4\x8f\x08\xe8\x02\xfa\x33\x8f\xd3\x28\xca\xac\x0f\xfa\xf6\x64\x89\xbc\x9c\x2e\xaa\xc4\x18\x87\xe3\x6f\x7c\x98\x34\x0a\xfd\xce\xae\x2b\x79\xe5\x68\x5d\xf7\x46\x2e\xbb\x27\xde\xa0\x9d\x7b\x7c\x7c\xb8\x32\xc8\xe6\x1e\x1f\x7b\x05\xf1\xb7\x2f\x44\xd4\xf6\xee\xf3\x4b\x55\x41\xf7\xa2\xc3\x10\xf3\xee\xe3\xd7\xbb\xcf\x63\xab\xa2\xbf\x41\x71\x92\xaa\x8d\x9b\x8d\x7c\x2c\x19\xd3\x60\x62\x29\x8e\x1b\x04\x32\xda\xe6\x09\xbc\xca\xe0\xda\x54\xae\x14\x13\xc2\x80\x6b\x9d\xc0\xb0\x35\xea\xfa\xf2\x22\x7f\xba\x96\x3a\x76\x1d\x86\xde\x88\xf3\x1b\x0c\x7d\xf5\xd4\x14\x4f\x84\xf2\x9c\xd6\x56\x06\xa4\x1f\x2f\x66\xe1\x06\x55\x7c\xf3\x08\xd3\x25\x23\x20\xd5\xf2\x07\xeb\xbd\x99\x47\xdf\x4b\x2f\x19\xc8\xed\xc6\xaa\x26\x50\x56\x91\x4c\x5c\x61\x1a\xb5\x7b\xf5\x7a\xc2\x31\x0c\x83\x6c\x98\x8c\x76\xa9\x41\xd3\xa3\x5f\x41\x95\x20\xa2\x00\xb7\x1e\xfe\x88\xd5\xa6\x4d\x25\xce\xa9\x8e\xb3\x6c\xb5\xb8\xee\x99\x83\x4f\x09\x6e\xbb\x7c\x4f\x6d\xe3\x3a\x1c\xe6\x07\xcd\xa5\x9d\x82\xc8\x5a\x19\xb6\x9b\x0b\xf2\x18\xd5\x8a\xc2\xe2\x15\xb1\xb4\x1a\x01\x34\x42\x87\x1d\xfb\x34\x5d\xc6\x93\xe4\x07\x62\xb1\x6e\x50\x53\x08\x5c\x54\x58\xdc\x15\xeb\x55\xf2\x38\xb7\x70\x25\x31\xe8\x9f\xab\x70\x0e\xd9\x49\x45\xda\x10\x46\x5d\x71\xb3\xf2\x65\xfa\x04\xf8\x34\xcc\xc0\x71\xdd\xdf\x50\x41\xae\xaf\x65\x75\xaa\xb0\xd9\xbf\xb6\x96\x42\x17\x33\x92\x8e\xbf\xb1\xcd\xf1\x4f\x61\x0c\x84\x40\x50\x9e\xa9\x43\xfb\x77\x9e\x27\x2f\xc0\x3e\x3d\x55\x57\x61\x9f\x1d\xf5\xf9\x55\xd8\xa7\xed\xbe\x76\x15\x76\x3f\xbf\x0a\xfb\xbd\xba\x0a\xbb\x4f\x9f\x06\xad\xc1\xc1\xe9\xb9\x79\x15\xf6\xd9\xb9\xbc\x0a\xdb\xf3\xde\xf7\x7d\x96\x76\x7e\x7a\x76\xd4\x3e\x17\x57\x61\x9f\xf3\x12\xe7\x4d\xcf\x3b\x7d\x2f\xf2\x75\xde\x0f\x58\x59\xfa\xdf\x29\x4f\x93\x58\xd1\xbf\x9d\x73\xf9\x74\x78\x20\x9f\xfa\x2a\x6d\xa0\xd2\xce\x45\x5a\xe7\x5c\x96\xed\x9c\x77\x54\x9a\x2c\xdb\x39\xef\xab\xb4\x81\x4a\x93\x65\x0f\x0f\x64\xd9\xc3\x83\x8e\x4a\x93\x65\x0f\x0f\xfa\x2a\x6d\xa0\xd2\x64\xd9\xbe\x6a\xb7\xaf\xda\xed\xab\x76\xfb\xaa\xdd\xbe\x6a\xb7\xaf\xda\x1d\xa8\x76\x07\xaa\xdd\x81\x6a\x77\xa0\xda\x1d\xa8\x76\x07\xaa\xdd\x73\xd5\xee\xb9\x6a\xf7\x5c\xb5\x7b\xae\xda\x3d\x57\xed\x9e\x8b\x76\x29\xa5\x78\x59\xfa\xd4\x51\x69\xbc\x2c\x7d\xea\xab\xb4\x81\x4a\x93\x65\x25\x9d\xe9\x53\x47\xa5\xc9\xb2\x92\xce\xf4\x69\xa0\xd2\x64\x59\x49\x67\xfa\xd4\x51\x69\xb2\xac\xa4\x33\x7d\x1a\xa8\x34\x59\xb6\xaf\xda\xed\xab\x76\xfb\xaa\xdd\xbe\x6a\xb7\xaf\xda\xed\xab\x76\x07\xaa\xdd\x81\x6a\x77\xa0\xda\x1d\xa8\x76\x07\xaa\xdd\x81\x6a\xf7\x5c\xb5\x7b\xae\xda\x3d\x57\xed\x9e\xab\x76\xcf\x55\xbb\x92\xce\xb4\xb7\xbc\x2c\x7d\xea\xa8\x34\x5e\x96\x3e\xf5\x55\xda\x40\xa5\xc9\xb2\x92\xce\xf4\xa9\xa3\xd2\x64\x59\x49\x67\xfa\x34\x50\x69\xb2\xac\xa4\x33\x7d\xea\xa8\x34\x59\x56\xd2\x99\x3e\x0d\x54\x9a\x2c\xdb\x57\xed\xf6\x55\xbb\x7d\xd5\x6e\x5f\xb5\xdb\x57\xed\xf6\x55\xbb\x03\xd5\xee\x40\xb5\x3b\x50\xed\x0e\x54\xbb\x03\xd5\xee\x40\xb5\x7b\xae\xda\x3d\x57\xed\x9e\xab\x76\xcf\x55\xbb\xe7\xaa\x5d\x49\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\xbe\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x81\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\x3e\x57\xfc\x7c\xae\xf8\xf9\x5c\xf1\xf3\xb9\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\x3e\x57\xfc\x7c\xae\xf8\xf9\x5c\xf1\xf3\xb9\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\x3e\x57\xfc\x7c\xae\xf8\xf9\x5c\xf1\xf3\xb9\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\x3e\x57\xfc\x7c\xae\xf8\xf9\x5c\xf1\xf3\xb9\xe2\xe7\x73\xc5\xcf\xe7\x8a\x9f\xcf\x15\x3f\x9f\x2b\x7e\xf6\x0e\xe9\x3f\xfa\xe4\x37\xe9\x3f\xf6\x74\x4a\xff\xd1\xa7\xe6\x3e\xfd\x47\x9f\x5a\x1e\xfd\xc7\x9e\xfa\xf4\x1f\x7d\x6a\xb3\xff\xd8\xd3\x19\xfd\x47\x9f\x3a\x87\xf4\x1f\x7d\x62\x45\x59\x7d\xfb\xa7\xf4\x1f\x7d\x3a\xd8\xa7\xff\x98\xe4\x62\x0d\xb3\xa7\x3e\xfd\x47\x9f\x8e\xda\xf4\x1f\x7b\x3a\xa3\xff\xd8\xcc\x63\x60\xfa\xf4\xbe\x49\xff\xb1\xa7\x53\xfa\x8f\x3e\xb1\x8a\x59\x7d\x03\x8f\xfe\x63\x4f\x7d\xfa\x8f\x3e\x31\xa4\x58\x7d\x4c\xbf\x3a\xb3\x47\x9a\x07\x65\x5c\xa9\x2a\x96\xb4\x48\x54\xa1\x7d\x06\x2f\x61\x1c\x8d\xe1\x3e\x5e\x42\x97\xb9\x06\x9a\x6d\x0f\x59\xcd\xf6\x21\xb2\x9a\x9d\x8e\x6b\xa3\x30\x21\xd1\x5f\x97\xc0\x4e\x66\x8a\x1c\x1d\x9a\xa3\xd5\x41\x56\xd3\x2f\xe6\xf0\x65\x16\x0a\x6d\x1d\xd1\x2c\x47\x85\x2c\x4d\x91\xa5\x45\x9b\x68\xb6\x90\xd5\xf4\xda\x85\x2c\x2d\x91\xc5\xeb\x20\xcb\x3f\x6a\x22\xcb\x3f\xd8\x2f\x64\x69\xf3\x2c\x3e\x6d\xc3\x6f\xf9\xc8\xf2\x9b\x1e\xcd\xf2\xd7\x65\x38\x0f\x71\x94\x08\x5c\xfd\xe6\x01\xeb\x08\x45\xa4\x69\xc0\xfd\xd7\x32\x08\x3c\x7d\x9f\xe2\x49\x91\xf5\x8f\x0e\x8d\x0c\x02\x4b\xdf\x6b\xd2\x3e\x50\x54\x0f\x4c\x14\x04\x8e\xfb\x0c\x45\xfa\xe5\xb3\x5e\xfc\x6d\x89\x0d\x5a\xb3\xc6\x39\xad\x29\xc8\xdf\x02\x93\xb4\x6b\xb6\x05\x4e\xcd\xd6\xa1\x84\x49\x74\x8e\x5a\x02\x9d\xa6\xa7\xca\x29\x6a\xf9\x12\x95\x16\x1d\x96\x7b\x88\x1e\x14\x2a\xb4\x04\xfb\x62\x84\xbc\x8f\xb2\xbf\x2a\x96\x60\x58\x34\x19\x09\xf6\x15\xcc\xdf\x06\x34\x06\xd9\x6f\x21\xcb\x3f\x6c\x29\xa0\x31\xbc\x87\x14\xd8\x39\x54\x40\x63\x60\x9b\x34\x87\x77\x40\x81\x31\x35\x08\x19\xc8\x43\x16\xfd\x9f\x27\x26\xe3\x19\x4c\xc2\x78\x9e\x26\x13\x83\xf5\x54\xff\x73\xce\xe6\xe5\x38\x35\x69\xaa\x5f\x9d\xdc\x34\x92\x19\x7d\x69\x72\xcb\x48\x56\x55\xb7\xf5\x64\x41\xd5\x78\x09\x8f\x51\x1a\x03\x91\x5d\x39\x44\x56\x9b\x8e\x4a\x93\x11\x08\xa7\x4f\x89\x80\xec\x77\x90\xd5\x6e\xd2\x8f\x04\xe8\x54\xdd\x6f\xd3\x8f\x84\xe8\x24\xed\x1c\xd1\x8f\x84\xe8\xf4\xec\xf8\xf4\x23\x21\x3a\x31\x29\x49\x5a\x0c\xed\x25\x8e\x9f\x9f\xd2\x54\x12\xac\x49\x27\xd8\x61\x9b\xa2\x6f\x80\x8d\x01\xf6\x29\xe7\x74\x0c\xb8\x8e\x90\x7f\x74\x80\x2c\xbf\x6d\xc0\x8d\x61\x3e\xf0\xd8\x70\xea\x70\x63\xa4\xfd\x0e\xb2\x0e\x29\x78\x1c\x4e\x80\xe4\x83\x76\xd4\x61\xec\x81\x2c\x7f\xdf\xd3\xa1\x72\xfa\x76\x9a\x92\x6d\x3b\x46\x69\x39\x7b\x29\x75\x9b\xcd\x23\x39\x92\x0a\x2e\x67\x0b\xeb\x3c\x45\x9e\x0f\xa9\x82\x0b\xe4\x18\x77\xb6\xda\x72\x68\xc7\xb3\x10\x13\x0c\xcb\xac\x24\x5e\x3c\x03\x5a\x12\x2e\x26\xb8\x24\x5a\x4c\x70\x49\xb0\x98\xe0\xa2\x58\xe1\xd0\x74\x9c\xc6\xa1\x12\xd1\x3e\x25\x37\x2d\xda\x32\xa0\xfa\x90\x32\xe4\x5a\xfb\x3a\xd8\x18\x51\x8a\x5c\xab\xa5\x83\x8d\x01\x65\xc8\x1d\xe9\x60\x7d\x3c\x19\x72\x0c\x9a\xe2\x30\x2e\xb6\x7a\xe8\x49\x88\x81\x90\xdf\x46\xd6\xe1\xbe\x04\x19\xc8\x78\xfb\x7a\x29\x1d\x91\x23\x9f\xb6\x26\x21\x06\x0e\x74\x62\x1d\x70\x48\x32\x8d\xd3\x27\xc0\x39\x5f\xf9\x1e\xa5\x50\x9b\x31\x86\xcc\x93\x45\xf1\x37\x9d\xe7\xd9\x22\xd8\xf4\x34\xa8\xbf\x1d\x6c\x48\xbd\x56\x53\x31\x95\x00\xeb\x68\x37\x59\xfb\x07\x7a\xd3\xe6\x92\xb6\x2f\x97\xb4\xf1\x73\x98\x28\x21\xa3\x2d\x08\x34\xdd\xdf\x04\xc8\x85\x98\xb6\x4c\x50\x40\x2e\xc6\xb4\x35\x82\x02\x72\x41\xa6\x2d\x10\x93\x10\x7f\x2b\x0a\xd0\x1c\x62\x60\x56\x28\xf5\x90\xc6\x13\x48\xb0\x14\x32\x42\xbe\xd0\x2f\xbf\x98\xc3\xe0\x81\x43\x36\xdf\x8b\x59\x0c\x5e\x38\xa0\x73\xb2\x5d\xcc\x62\x30\x67\x9b\x2d\x1e\xc5\x2c\x06\x81\x3d\x1f\x59\x87\x32\x07\x0e\x9f\xa5\x44\xa6\x30\xf1\xa5\xa0\x00\x5a\x3f\x3d\xb1\xf8\x08\xd0\x96\x82\xdf\x66\xe1\xb7\x48\xf6\xff\x48\xae\x75\x6c\x39\xa3\xe0\x79\xf8\x00\x09\x09\x35\xa4\x0c\xea\xa6\x71\xf4\x08\x5a\xdb\x87\x7c\x2d\x14\x3c\x6d\xe6\x90\x24\x64\x93\x92\xcf\xa5\x66\x29\x93\x94\x3a\x87\x4a\xa1\xf1\xda\xa5\x4c\x52\xf6\xec\x4b\xd9\x73\xe4\x95\xf2\x48\x3a\xfa\x72\xd8\xf7\xe5\x98\xa6\x38\x4c\x1e\x74\xad\xc1\x6f\x6b\xd4\xe2\xd0\x92\x0c\x32\xc1\x25\x19\x64\x82\x4b\x32\xc8\x04\x17\x65\x50\x0e\x1d\xcf\x22\xc9\x8b\x9d\x16\xb2\x98\x0e\x9b\xf7\x9f\x81\xa5\xd4\x66\x22\xa5\x29\xa7\x53\x0e\x97\x04\x3c\xa0\x2b\xb0\x9a\x55\x39\x5c\xd2\xae\xd3\x96\xf5\x9b\xe5\x25\x72\x5e\x1b\x59\xf9\x9a\x42\xe1\x18\x26\x26\x1b\x48\xbc\x33\xa6\xda\x48\x92\x30\x55\x89\x2d\xa4\x72\x74\x33\x08\x35\x16\xf1\xdb\x4c\xd3\xa2\x94\x6b\xb7\x0a\x39\x7c\x5d\x3d\x64\xb4\x3f\x2a\x66\x51\x0c\x22\xc5\x86\x7f\xe8\x15\xb2\xa8\x2e\x76\xa4\xce\xab\x68\x24\xb3\xa8\x5e\x76\xa4\x50\x50\x64\xc8\xe8\x32\x91\xcb\x93\x83\x26\x65\x1d\x9d\x0e\x2c\x43\x3e\x1b\xdb\x07\xc8\x3a\x38\xa2\x9f\x22\x5c\x2d\xff\xbe\x21\xfa\x8c\x3c\x4a\x05\xf0\x0d\x29\x68\xe4\x51\x6a\x80\x6f\x08\x44\x23\x8f\x54\x05\x9a\x25\x21\x27\xb2\xc0\x26\x74\xc9\x12\xff\x75\x99\x46\x19\x68\x42\x77\x9f\x7e\xc9\x0c\x86\x9a\x48\xd7\x13\x8f\xa9\x5a\x14\x0a\xf7\x51\x98\x28\xbe\x68\x52\xfd\x88\xae\x9c\x1c\x06\x8b\x45\x94\x18\x6b\x15\x5b\xcd\x0e\x34\xa0\xbf\x15\x6a\xcc\x32\xfa\x69\xe9\x50\x63\x92\xed\xb3\x79\xa8\x41\x4d\x31\x2a\xd6\x65\x0a\xcc\xbe\x3d\x1b\x8b\x05\x9b\x48\x62\x60\x72\xb0\xff\x0a\x3c\x5f\xba\xd8\x44\x13\x83\x96\xc3\xf3\x15\x8c\x4d\x34\x31\x60\x39\x5c\x5b\xc8\xbc\x7c\x92\x45\x73\x4d\xc8\x73\xe1\xd1\x51\xac\x49\x81\xb0\x09\x98\x4e\x1e\x74\xc5\xa1\xc5\x68\xd9\x56\x88\x2b\xb0\xff\x0a\x5c\x92\xfc\x50\x2c\x84\xa2\x63\x0a\x2e\x89\xce\xd6\xc8\x7d\xd5\x31\x05\x97\x64\xdf\x47\xd6\xc1\xa1\xec\xd7\x34\xc2\x70\x8f\x23\x69\x1a\x31\x8a\xb5\x98\x78\xd1\x81\x3a\x2f\x50\x2e\x6b\x1f\xea\x50\x9d\x17\x28\xe2\x6d\xa3\xac\xce\x0b\x34\x47\xcb\x28\xab\xf3\x42\x93\x22\x4d\xd5\xb7\x69\x4c\x55\x31\xc3\x63\xc0\x66\x28\x73\x2c\x50\x66\x99\xa6\x18\x32\xa2\x09\x2e\x21\x0d\x05\xde\x0f\x61\x94\x64\xf7\x29\x4e\xa5\x81\xe2\x31\x45\x4b\x6a\x5b\x0f\xb3\x34\x23\x7a\xed\x4c\x11\xcb\x3d\x16\x74\xbd\x37\x4c\x17\xa1\x41\xd3\x74\x7f\x13\xc0\x50\xdd\xa8\x6e\x20\x01\xa6\x15\xd3\xca\x01\xa6\xf9\x72\x90\x03\x34\xb5\xa7\xc9\xe6\x16\xb5\xf2\x5a\x4d\x1d\x6a\xac\x81\x54\x22\xb3\xe9\x57\xad\xee\x50\x69\xcc\xc9\x52\xa9\xea\xb0\x9e\x1c\xe9\x60\x73\x7e\xb2\xe9\x4f\xc1\x39\xfb\x1f\xb1\xb9\xc7\xbf\x04\xc4\xd3\x35\x3c\x99\x28\x39\x1a\x59\xf4\x7f\x99\x28\xb2\xf2\xd1\x16\x23\xce\x01\x9e\x31\xda\x4a\x28\x33\xa0\x9f\x73\x3f\xff\x48\x80\xe8\x6b\xcb\x47\x16\xff\x48\x80\xe8\x25\x5d\xf4\xf8\x47\x02\x44\xff\xa8\x86\xcc\x3f\x12\xd0\x11\x80\x43\x8d\x53\x19\x60\x5f\xc8\x67\x1f\x59\xfc\x23\x01\x07\x02\xd0\xe2\x06\x7a\x5b\xb5\x71\x28\x00\xfb\xc8\xe2\x1f\x09\x38\x12\x80\x43\x6d\x26\x69\x8b\x0d\xb5\xc0\x91\x25\x7b\xdd\x14\x14\xe1\x46\xb9\x30\xcc\x19\x40\x90\x83\x69\x0a\xec\x23\x01\xb2\x9e\x7d\x64\xf1\x8f\x04\x08\x72\x70\xcb\x5f\x58\xff\x0c\x20\xcd\x41\x9f\x2f\xa6\xfb\xaa\x0d\x41\x0e\xee\x45\x10\x9e\x04\x06\x10\xe4\xd8\xdf\x47\x16\xff\x48\xc0\x41\x6e\x59\xf2\x8f\x04\x08\x72\x1c\xf8\xc8\xe2\x1f\x09\x10\xe4\x38\x68\x23\x8b\x7f\x04\x40\x60\x7b\x88\xac\x43\xae\x66\xb3\x44\x41\x8e\x03\xba\x4e\xb2\x8f\x04\x08\x72\xf0\xc5\x53\x2c\xa0\x0c\xd0\xcc\xd7\x5e\xfe\x91\x00\xd9\x00\x35\x19\xd9\x47\x02\xe4\x6a\x4d\x17\x4b\xf6\x91\x00\x41\x0e\xaa\x88\xf3\x8f\x04\x08\x72\x1c\x35\x91\xc5\x3f\x12\x20\xc8\x71\xd4\x46\x16\xff\x48\x80\x20\xc7\xd1\x01\xb2\xf8\x47\x02\x04\x39\x8e\x8e\x90\xc5\x3f\x02\xa0\x74\x22\xbe\x62\xfa\x72\x86\xb5\x3d\x09\x68\x0a\x75\xd6\xf7\x64\xf3\x6d\xbf\x7a\x41\x62\x30\xa9\xdb\x50\x7b\x40\x7e\x49\x58\x4b\x57\xcf\xc5\x97\x84\x29\xd5\xbd\xc9\x6c\x04\x69\x28\x30\x58\x47\xc2\x3a\xc2\x1f\xe3\xfb\xaa\xbd\x7d\x09\x3b\x10\xc2\xce\xf7\x55\x7b\x07\x52\x87\x62\x9a\xa9\x27\xed\x56\x06\x3b\x94\xb0\x26\xd3\x5a\xa5\xea\xca\x60\x47\x12\xd6\x91\x9e\xbe\xa6\x6c\x4f\xa2\xc2\xbc\x2f\xf4\x23\xd3\x25\xbd\xa8\xdd\x20\xbf\x24\x4c\xd2\x8b\xad\xc0\xe2\x4b\xc2\x24\xbd\x98\x0a\x2d\xbe\x24\x4c\xd2\xab\xc5\x14\xd6\x8e\xf4\x83\x31\x98\x92\xa5\x6c\xc5\xe5\x5f\x12\x26\x91\x6c\x7b\xc2\xce\xf1\xdb\xaa\xbd\x7d\x5d\x21\x17\x5f\x12\x26\xe9\xd5\x66\xf6\x51\x47\xfa\xcd\x18\xec\x50\xd3\x05\xe5\x97\x84\x49\x7a\x31\x0b\x40\x7c\x09\x98\x6c\x8e\x2d\x08\xc2\x80\x66\xe9\x9e\x66\xf2\xc8\x2f\x09\x53\x3a\x34\xd5\xf0\xc4\x97\x84\x49\x7a\x31\xcf\x9b\xf8\x92\x30\x65\x22\x52\xd5\x5d\x7c\x49\x98\x52\x52\x68\x53\xe2\x4b\xc2\x24\xbd\xa8\xcc\x91\x5f\x12\x26\x3b\xb0\xcf\xd6\x4b\xfe\x25\x61\x92\x5e\x54\xf2\xc8\x2f\x09\x93\xf4\x62\x3e\x01\xf1\x25\x61\x92\x5e\x07\xfb\x6c\x03\x41\xee\x22\x50\x98\xac\x52\x6a\xbf\xb2\xad\x03\x49\x2f\x2a\x85\xe4\x97\x84\x49\x7a\x1d\x52\x14\xc4\x97\x84\x29\xd3\xa9\x2d\x7d\xa9\x4a\x22\x1d\x48\x7a\x1d\x52\x14\xc4\x97\x84\x49\x7a\x71\xf7\x00\xff\x92\x30\x49\x2f\xaa\x25\xcb\x2f\x09\x93\xf4\xa2\x72\x49\x7e\x49\x98\xec\xdc\xd1\x3e\xf3\xc9\x4b\xc7\x3c\x83\x49\x7a\x1d\x31\xff\x1c\xff\x92\xb0\x23\xa9\x56\xf8\x42\x05\x6a\x7a\xb2\xbd\x43\x09\xe2\xb6\x84\x9a\xdf\x87\x72\xc9\xf7\x98\x26\xde\x96\x36\x35\x83\x29\xa7\x04\xf3\xae\xf2\x2f\x09\x93\x1a\x8e\x77\xc4\xcc\x21\x69\x13\x31\x98\x54\x6f\xa8\x78\x92\x5f\x12\xd6\x96\x30\xda\x94\xf8\x92\xb0\x8e\x84\xd1\xa6\xc4\x97\x84\xed\x4b\x18\xdf\x92\x92\xfb\x52\x0c\x76\x20\xd5\x4c\xe6\x2a\xe6\x5f\x12\x26\x3b\xce\x36\x5c\xc4\x97\x84\x49\x7a\x31\x27\xaf\xf8\x12\x30\x09\xa2\xb6\x36\xfb\xc8\x74\x49\x2f\xe6\x91\x16\x5f\x12\x26\xe9\xc5\x1c\x87\xe2\x4b\xc2\x94\x46\xa8\x36\x37\x94\x8c\x3a\x92\xf4\x6a\x1d\x30\x67\xa6\xf4\x68\x32\x98\xa4\x17\xdf\xd4\x53\x0a\x38\x83\x49\x7a\x31\x17\xb9\xf8\x92\x30\x49\xaf\x7c\x57\x48\xc9\xa8\x23\x49\x2f\x6a\xee\xca\x2f\x09\x93\xf4\x62\xba\xbe\xf8\x92\x30\x49\x14\xe6\xb2\x17\x5f\x0c\xa6\xbb\xd7\x94\xb7\x5c\x77\x5a\x94\xd2\x0b\xee\x4d\x95\x5e\xf0\x6e\xaa\xf4\x82\x73\x53\xa5\x3f\x43\x1c\xa7\x4f\x9a\x0c\xe1\x26\x12\xef\x0e\x6c\xd4\x97\xa1\x4a\x5f\x86\x2a\x7d\x19\x36\xe9\xcb\xb0\x4d\x5f\x86\x4d\xfa\x32\x6c\xd2\x97\x61\x93\xbe\x0c\x9b\xf4\x65\xd8\xa4\x2f\xc3\x26\x7d\x19\x36\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x54\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x6c\xd2\x97\x61\x93\xbe\x0c\x9b\xf4\x65\xd8\xa4\x2f\xc3\x26\x7d\x19\x36\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x54\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x6c\xd2\x97\x61\x93\xbe\x0c\x9b\xf4\x65\xd8\xa4\x2f\xc3\x26\x7d\x19\x36\xe9\xcb\xb0\x49\x5f\x86\x4d\xfa\x32\x6c\xd0\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa0\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x41\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x83\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x06\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x0d\xfa\x32\x6c\xd1\x97\x61\x8b\xbe\x0c\x5b\xf4\x65\xd8\xa2\x2f\xc3\x16\x7d\x19\xb6\xe8\xcb\xb0\x45\x5f\x86\x2d\xfa\x32\x6c\xd1\x97\x61\xa3\xbe\x3c\x4b\x13\x78\x9e\xc0\x93\x8e\x29\x8f\x47\xf0\x34\x68\x39\x8a\xcc\x00\x97\x03\xc9\xd8\x38\x49\x70\x29\x96\x8c\x6f\x16\x4a\x70\x45\x38\x99\xcf\xc0\xa4\xb0\x2d\xc5\x97\xe1\x43\x2f\x07\x9a\x01\x1f\x5e\x01\x5a\x8a\xf9\xf0\xf7\x0f\x72\xa8\x11\xf6\xb1\xcf\xb6\x59\x72\xa0\xee\xf5\xa6\x02\x98\x05\xeb\x45\xc9\xc4\xd8\x45\x63\x25\xa5\xce\xa2\x80\x06\x4e\xac\x55\x6f\x5f\x87\xeb\x58\x29\x35\x45\x41\x75\xac\x0e\x65\x14\x93\x82\x16\xd1\x62\xcb\x42\xf4\x98\xe2\xe7\x92\xf2\xcf\x06\x88\x81\xfc\x2d\x30\x33\xc6\x44\x8d\x1c\x83\x99\x01\x26\x6a\xd8\x18\xcc\x8c\x2e\x51\x63\xa6\xc5\x28\x70\x5e\x69\xa9\x85\x99\x81\xcc\x88\x97\x7d\xb9\x30\x33\x98\x89\x8a\x27\x95\x04\x06\x33\x43\x38\x0f\xa5\x72\xc4\x60\x26\x2a\x54\x0d\xa6\x44\x89\xc3\x47\x48\x26\x80\x65\xa5\x12\x19\x3e\x23\x24\xf4\x3e\x5e\x66\x33\x03\x27\x4f\x4e\x36\x23\x8b\xff\x86\x3c\x66\x24\x6a\x5b\x0a\x17\x23\x8f\xd9\x8f\x16\x0b\x16\x2b\xe6\x29\xc7\xa2\xb2\xfd\x9a\x38\x7c\x4a\xf4\xcd\x79\xd6\x42\x47\x84\x2c\xc4\x30\x4f\x93\xf1\x2c\x9a\x4e\xd5\xf6\x7e\xbe\x49\xc6\xf4\x56\x3d\x87\xff\x7a\x16\x73\x30\x5a\x72\xf5\xd3\xb3\x98\xec\xc1\x14\x91\x62\x2d\x66\x57\x0e\xa4\xbe\x1b\x47\x0f\x33\x2d\x28\x8f\x9b\xca\x6c\x93\x92\xa9\x8c\x0a\xac\x47\x50\xf0\xf0\x5f\x66\xd1\x2a\xb8\x1e\x41\xc1\x63\x7f\x99\x7a\xa8\xe0\x7a\x04\x05\x0b\xfc\x15\xfd\x94\x70\x3d\x82\x42\x4a\x1f\x09\xd7\x23\xcd\x98\x76\xc9\x76\x5a\x9b\xaa\xfe\x3c\x5a\x89\x8f\x75\x6e\x70\x2b\xb0\xff\x0a\xdc\x58\x85\xf3\x88\x02\x05\x57\x9a\x8b\x19\x5e\xa5\xe0\x6d\x5d\xbb\xcf\x43\x09\x18\xbc\xb8\x73\xc8\x99\xd2\x97\x5a\xb9\x99\xc7\x0c\xb3\xde\xaf\xae\xc8\x64\x6f\xaf\xba\x26\x93\xbf\x3d\x63\xc0\xab\x77\x14\xe9\x2a\xcc\x14\x43\x33\x8f\xee\x4a\xd1\x96\x33\x3f\x6f\x52\x6d\x40\xb2\x60\x52\xf9\x95\x83\xb5\x30\x16\xb9\x2a\x71\x09\x2f\xe1\xdb\x8a\x17\x17\x1e\x16\xad\xc1\xa4\x9f\x02\x1b\x62\xfe\x80\xe9\x9c\x1d\x1d\x6e\x2c\x3e\xfb\x4d\xa9\x1b\x2b\xb8\x19\x61\xc6\xc3\x07\x75\xb8\x4e\x25\x16\xb6\xea\x29\xec\x8c\x30\x1e\xd6\xfe\xbe\x0a\xe3\xd1\x32\xf8\xaf\xe6\x30\x70\x64\x51\x6e\x7e\xdb\xcc\x61\x60\x49\xc7\xea\xe8\xd0\xcc\xa0\xa3\x49\x2d\xfe\x7d\x35\x96\x66\x30\x51\xab\x29\x22\x30\x78\x58\x3b\xcf\xa1\x47\x78\xf8\x3c\xc8\x7a\x5f\x89\x68\x2d\x87\xaf\xd9\x12\x4d\xe6\xf6\xca\x67\x92\x19\xe7\xe1\xef\xb7\xe5\x68\xe6\x93\xc9\x0c\xf5\x60\x11\x3c\x6c\x44\xb5\xf9\x64\x46\x7b\x30\x75\xa0\xd9\x32\x26\x42\x21\xda\xc8\x6f\x49\x1b\x5e\xc7\xc5\x0c\x38\xf2\x7d\x15\x7b\xd9\x69\x15\xf2\xc0\xd6\x3c\x04\x20\xd6\x05\xa4\xb4\x25\x9a\xda\x08\xca\x3c\x46\xb4\x5e\xd3\x14\x33\x2a\x93\x11\xad\xe7\x7b\x26\x79\x64\x26\x3d\x5a\x8f\x99\x58\x3a\x81\x64\x26\x23\x5c\xaf\x40\x23\x73\xd6\x2a\x75\xa3\xd9\x36\x33\x94\x15\x92\x62\x8e\xb2\x5a\xe2\x15\x1a\x29\x2b\x27\x87\x9e\x99\xa3\xac\xa2\x08\xe2\xcd\xf5\x38\xc8\x8e\x14\xae\x82\xe9\x12\x48\x74\xa9\x23\x94\x18\xd7\x46\x46\x7c\x25\xf7\x1f\x4b\x52\x0b\x90\xbf\x05\xa6\x77\x48\x51\x5f\xc0\xf4\xae\xa8\xc5\x58\xc0\xf4\x4e\xa8\x78\xce\x79\x88\x53\x39\xff\x19\x6f\xb4\xa9\x2a\xb9\xaf\x20\x3a\x22\x9d\xa6\xb4\xa2\x39\xcc\x08\xcf\x39\x94\x2a\x31\x87\xe9\x88\xb0\x49\xc2\xe4\x25\x87\x19\xa1\x39\x52\x21\x9e\xc3\x24\x5a\xce\x4b\xa7\x64\x0a\x47\x58\x78\xae\xd2\xc9\x09\xde\x4d\x06\x33\xe2\x29\xa9\x8d\x7e\xd8\x91\xe2\x58\xcf\xa0\x2f\xa8\xbe\xa7\xa6\x9e\x9e\x45\x5f\x53\x8f\x3a\x8a\xd0\x5a\x0e\x7d\x55\xcd\x85\x80\x9e\x43\x5f\x57\x3b\x1d\x45\x74\x96\x63\xb1\xc4\x8b\x58\xf6\xb3\x7d\x20\x45\x80\x5f\xcc\xa1\x24\x96\x2f\xbc\x61\x3a\xaa\x3c\x8b\x72\xf2\x30\xd6\xf4\x4d\x5c\x79\x16\xe5\x1b\x3b\x10\xe1\x67\x3a\xb2\x3c\x8b\x94\x58\x2d\xee\x1b\xd6\x71\x35\x05\x30\x5b\x00\x98\x4f\x85\xf9\xf3\x44\x96\x82\x50\x63\xf3\xd9\x6b\x9b\xb8\x64\x0b\x1c\x25\x0f\xc5\x8d\x15\x1e\x31\xa7\x32\x15\x82\x13\x0f\x9a\xca\xb3\x90\xe7\xe1\xf1\x89\x79\x74\xea\x11\xf3\x04\x48\x45\x7f\x1e\x4d\x12\x53\x31\xe4\xc2\x4c\x2a\x11\xf3\x28\x21\x63\x0c\xe1\x5c\x37\x8e\x85\x0a\xcb\xc0\x19\x79\xc6\x69\x56\x3a\x65\xd4\x64\x7e\x4d\x05\x2e\x1d\x34\x2a\xc0\x4b\x67\x8d\xb8\xd2\xa1\xe0\xe5\xe3\x46\xcc\x0f\xa5\xe0\xe5\x13\x47\xcc\xff\x30\x4f\xc7\xe3\x30\x8b\x92\x62\xeb\xbc\x74\x12\x3e\x86\x7f\x49\x4b\x31\x6e\x4d\xa5\x36\x68\x19\xfc\x57\x73\x98\xd1\x67\x07\xd2\x45\xa8\xe5\x30\xc3\xd0\x94\xea\xa8\xe5\x30\xbb\xe1\x0b\xff\x7b\x12\x3e\x3e\xeb\x93\x98\x2b\xc4\x34\xb5\x14\xd7\xcf\x20\x69\x3c\x89\xc3\xb1\xea\x53\x4b\xba\x33\x98\x44\x65\x21\xe0\x13\x1c\xde\x4b\xb1\xc1\x0e\xfd\x34\xc5\xb9\x22\x05\x55\x56\x80\x8c\x46\xdf\x6f\xea\x60\x65\x04\x48\x2d\xba\x73\xa8\x83\x75\x1b\x20\x97\xf3\x0a\x5c\x0a\x2f\x66\xb6\x56\x39\xf0\x7c\x5f\xec\xff\x55\x04\x9d\x9b\x20\x43\xa5\xa2\x8d\xe6\x20\x83\xe8\xad\x96\x0e\x32\x94\x3d\x4f\x87\xe4\xde\x06\xd6\xf5\xa3\x02\xcc\xdf\x06\xd4\x71\xd9\x6f\x17\x80\xc6\x31\xaf\x4e\x01\x68\x9c\xf4\x3a\x90\xc0\x5c\x48\xf3\x48\x44\x2e\xfa\xda\x0a\x66\x90\xa5\xe5\xcb\x99\x69\x4a\x66\x46\x18\xe6\xe7\x63\xb3\xde\x10\xca\x4d\xb5\xd9\xc2\x9d\x9f\xa6\x3c\xa6\xc8\x70\x19\x47\x97\xac\x45\x18\x43\xa5\x95\xc3\x35\x4d\x4f\x66\xd1\x0c\x01\xee\xf5\x62\x47\xcf\x9a\x3a\xd8\xd7\x79\x84\x21\xcf\x04\x9b\x82\x37\xab\x0d\x09\x05\x6f\xe9\x26\x39\xd7\x94\x0d\xb8\xdc\x14\x93\x61\xa9\x87\x12\x5a\x10\x9a\xfe\x41\xc7\xb0\x04\x8d\x2c\xca\xff\x7d\x60\x58\x93\x46\x1e\x35\x17\xda\x9b\xeb\x51\x13\xc2\xb4\x2a\x8d\x3c\x6d\x6d\x21\xd7\x2c\x4b\x9a\xa7\x20\xc3\x99\x37\x97\x6f\x65\xb5\x0f\x8a\x59\x4c\x7e\xf0\xe4\xd6\x81\x91\xc7\x64\x0b\x36\x36\xa5\xa6\x4c\xee\x68\xeb\x1c\xa0\xf2\x14\x99\x84\x19\x6b\x8b\x70\x11\x3e\x87\x4f\xb3\x68\x61\x58\xb8\x6c\xd9\x61\x70\x08\xc7\xb3\xc5\x72\x3a\xd5\xc1\x7c\x4b\xa2\xa3\x83\xfd\x57\xe0\xa6\xc0\x55\xfb\x20\x0a\x6e\x8a\xdb\x8e\xb4\xf5\x14\xdc\x0c\xfe\x3d\x92\xc6\xde\x02\xf0\xb2\x28\x33\xd8\x86\x4e\xd1\x3c\xe5\xbe\x0d\x09\x31\x4f\x40\xf9\xd2\xc9\x54\x36\x4a\x8f\xe4\x46\x49\xd9\x1e\xed\xc8\x3d\xa7\x92\x29\xca\xb0\x63\x90\x78\x29\x97\x62\x36\x6e\xfb\x2c\xa4\xda\x17\x10\x13\x89\x03\xc5\xae\xf1\x72\x6e\x1e\xbf\x52\xca\x06\x05\x99\xb1\xc8\x4a\x4b\xa4\x20\x33\x0e\xb9\xa9\x78\x32\x7d\x9a\x18\x27\xf1\xb8\x8d\xd8\x96\x8b\x8c\xa1\xb0\x51\x14\x99\x6b\xbf\x9d\x83\xd4\xe4\x17\xd1\xec\x02\x4f\x43\x45\xa3\xe4\x68\xe7\x88\x1a\xba\x59\x53\x44\xb2\x0b\x4c\x75\xa5\x8c\x69\xb1\xca\x9d\x62\x4a\x72\x21\xe4\x0b\xb3\x24\x4f\x2d\x18\x0c\x22\xb5\x60\x2a\x88\xd4\x82\x91\xc0\x52\xd3\xec\x59\x3f\x1a\x2c\x4e\xf1\x48\x87\xab\x02\x97\x42\xc7\xb9\x97\x43\xc1\x4b\xb1\xe3\xdc\xcc\x52\xf0\x52\xf0\x38\x3f\xc1\xa3\xe0\xa5\xe8\x71\xbe\x8b\x8e\xd3\xe7\x50\x33\x70\xf7\x95\xd8\x6f\x1a\x50\x3f\x57\x26\xf9\xe9\xd6\x8e\x01\x16\xc8\xed\x1f\x08\xe7\x3f\x1f\x1e\x05\x96\x31\x1b\x87\xc2\x14\x30\x5b\x96\x71\x2c\x47\x7c\x6d\xe4\x63\x94\x85\x93\x49\x0c\x3a\xe1\x8c\xe3\xa7\xa6\xe3\x45\x79\x05\xd9\x12\x58\xe1\x73\x69\x7b\xb2\xbf\x15\xee\x16\x2a\x0f\x99\x11\x55\xe1\x68\xa1\xf2\xf4\x30\xaf\xd4\x90\x6d\xfb\xc8\xea\x1c\x30\x50\x32\xd1\x87\xb8\x49\x19\x94\xb9\x3f\x98\x25\x68\x2a\xff\xed\x7d\xb9\xf4\x1c\x68\x30\x3f\x5f\x97\xc4\xb2\x77\xa4\x41\x05\xb6\x07\xea\x7c\x1f\xdb\x0b\x2f\x1c\xdd\xda\x3f\x50\x4b\x9e\x0e\x6d\x6f\x68\x36\x9b\x41\xac\x9f\xdf\x15\xda\xe0\xa1\x06\xf5\xb7\x83\x4d\x37\xe4\x91\x74\x89\x48\xb0\xe9\x80\x3c\x90\x7e\x6b\x09\x2e\xed\x15\x70\x27\x66\x16\x41\x92\x84\x9a\x90\xa0\x86\x21\xf3\xf0\x73\x48\x69\x21\x63\xeb\x18\x87\x95\x16\x30\xe6\x01\xe3\xb0\xd2\xc2\xc5\x47\x8e\xc1\x8a\x0b\x16\xef\xe5\x06\x8f\x18\xd3\x88\x0b\xce\x30\xcd\x5f\xa6\x41\xa5\xc8\x62\x72\x87\xad\x0b\x7a\xc5\xea\x2c\xf8\xa1\x08\x02\xe0\x93\xc2\xf4\x7e\x31\x67\xa6\xaf\x24\x6c\xd1\x46\xa4\x4d\x1e\x29\xd1\xac\xa0\x0a\x2d\xba\x16\xf8\xea\x28\x96\x82\x2b\xc4\x58\x98\x8d\x72\xd6\x2b\x78\x4b\xd3\xc4\x0f\x8f\x4a\xd5\x4b\xdc\x28\x81\x3d\x03\x35\xdd\xdf\xd6\x94\x53\x92\x29\x68\xa5\xf3\x7d\x47\x87\x86\xff\xb0\x74\xb6\xef\xb0\x63\x38\x0f\x4b\xe7\xfa\x98\xa9\x9e\x3b\x0d\x8a\x67\xfa\x38\x59\x73\x9f\x58\xc9\xd5\x57\x40\x2f\x29\xf8\xca\xd4\xf6\x14\x85\x94\x37\x69\x14\xa8\xb4\x39\xc3\x55\x69\x0a\x2a\x6d\xca\x70\x45\x9a\x82\xca\x9b\x31\x4c\x8b\xaa\xb6\xee\x3b\x32\xb6\x47\x03\xfb\xaf\xc0\x0b\x61\x94\xfc\x98\x9f\x06\x2f\x84\x53\xf2\x58\x2b\x0d\x5e\x08\xab\x64\xf1\x6f\x05\x4f\xe8\x81\x0a\x2e\x62\xcb\x50\xd1\x07\x7a\x74\x24\xe2\x3f\xc4\xf8\x16\xbc\x9f\xfc\xdd\x2f\xf9\x9c\x28\xf8\x3d\x99\x1d\xdc\x56\x4b\x79\xd1\xe3\xc9\x76\x91\x3c\xc5\x7b\x44\xed\xff\x88\x7d\x67\xb9\xd1\x49\xc2\xa4\x64\x1f\x1e\x88\x12\x25\xeb\x90\xe9\x89\x24\x4c\x4a\xb6\xe1\xbe\x00\x14\x2d\x43\xb6\x7c\x93\x59\x94\x91\x58\xbd\x9d\x61\x5f\x1e\x7e\x64\x6f\x84\x11\x40\xd3\x4d\xa0\xec\x05\x01\x35\xbd\x1c\x6a\xed\x14\x50\xd3\xc7\xa1\x1c\xc1\x02\x6a\xba\x06\x14\xb7\x93\x74\x1e\x92\x54\x6b\xf5\xe8\x48\x08\x4a\x0e\xf1\x37\x83\x8c\x2d\xf1\xa6\x10\xa1\x1c\xa4\xa3\x42\x07\x88\x49\x50\x0e\x32\x36\xc3\xdb\x42\x82\x16\x4c\xaa\x7d\x15\x39\xe2\x19\x50\x8d\x97\xf3\xd7\x7d\x14\xed\x28\xcf\x78\xd9\x47\xd1\x82\xf2\x8c\x57\x7d\x14\x6d\x27\xcf\x78\xd3\x87\x7e\x32\x37\x5f\xfe\x79\xbd\x45\x8b\x8a\x0a\x11\x66\xc3\x32\x21\x51\x69\x4c\x31\x07\x3d\x13\x07\x95\x76\x14\x8b\x18\x6b\x1b\x60\xc3\xda\x57\x41\x82\x95\xd6\x13\xc5\x9a\x45\x7a\x3e\xcd\x20\x94\x38\xb7\x73\x67\xd3\x91\x04\x99\xdb\x86\xbe\x8c\xac\x62\x30\x93\xbf\x58\xf4\x57\x5b\xc2\x4c\xee\xda\x97\x5d\x61\x30\x93\xb7\xf6\xa5\x94\x28\x9f\xfe\x54\x83\xc6\x40\xd9\x3c\xfd\x56\x7e\xf5\x10\x5b\xc1\xab\xf7\x24\x3c\x05\x29\x6d\x46\xe4\xa0\xd2\x2e\x44\x0e\x2a\x6d\x3f\xe4\xa0\xd2\xbe\x43\x0e\x32\x9c\x11\xba\x43\x6a\x8d\xa2\xc6\x94\xdf\xbc\x30\x6d\x8c\x31\x84\x04\xce\x92\xe5\xbc\xea\x9d\xb4\x09\x3c\x59\xe2\x5d\xd0\xfc\x65\xc9\x53\xf9\xc2\xd8\x3f\x86\xc6\x55\x85\xda\x2d\x24\xda\x3b\x65\xff\xbd\xc3\xde\xd3\xff\xa3\xfb\xc5\x71\x86\x7f\xfa\xe2\x8e\xea\xee\x17\x77\xef\x21\xd2\x5f\x07\x8e\x51\xca\x5e\xe6\x9b\x5f\x35\x31\x4c\x47\xfc\x2e\x10\xfb\x73\xf2\x2d\x49\x9f\x12\xeb\x31\xc4\x51\x78\x1f\x43\xd7\xb2\xeb\x69\x8f\xbf\x6e\x9b\x88\x3b\x6d\x30\x7f\x6d\xae\x81\x58\x43\xd6\x9f\xb9\x59\xb0\x11\x36\xc4\x23\x47\x5c\x77\x63\xb1\xcb\xc2\xcd\x46\x21\x1b\x87\x0b\xb0\x64\x76\xda\xb6\xba\x22\x3a\x5b\x97\xa9\x91\x57\x1c\xbc\x40\x32\x4e\x27\xf0\xf9\xe6\xa2\xab\x9e\x90\x7a\x3a\x4d\xe7\x8b\x34\x81\x84\x74\xcb\x49\x88\xb7\xfa\xe1\xee\xe3\x65\xb7\xfc\x16\xea\x17\xfb\xd8\xee\xda\xb5\x98\xf4\x6c\x64\xbf\xa3\x8f\x0f\xec\xb1\x46\x1f\xc3\xf9\xa2\x67\xa3\x1f\xec\x1f\xba\x76\xed\xaf\xcb\x94\x01\x7e\xa0\x80\xdf\xb5\x8e\x7a\xf6\xba\x57\x1e\x9e\xe1\xf1\xbb\xda\x17\xfb\xcb\x0f\xa3\xbd\x07\x54\x75\xeb\xe4\x10\x46\x6b\x7e\xb1\xf7\xb4\xf1\x00\xa4\x3f\x1e\xc3\x82\x5c\x86\xc9\xc3\x32\x7c\x00\xf3\xa2\xca\xea\x2c\x8d\xf1\x0c\xa7\x73\xb8\x5d\x2e\x16\x29\x26\x30\x71\xdc\x13\x9e\xd2\x88\xfc\xc3\xa4\xa2\x80\x03\x6e\x57\xbb\xb0\x45\xbb\x82\x06\x9c\x61\x12\x3e\x46\x0f\x21\x49\x71\x23\x16\xf9\xf3\xae\xec\xee\x3d\x20\xfb\xab\xed\x8e\xdc\x35\xbb\xe4\xe5\x6d\xf8\xe8\x77\xdc\x88\x4e\xf3\x6b\x81\x44\xc6\x5a\x4d\x43\x97\x57\xca\xde\x70\xfd\x4f\x4b\xc0\xcf\x81\x79\x35\xa6\xfe\x8e\xea\x13\xdb\x15\x6f\xc0\x57\xb7\x31\xb8\xf9\x4d\x46\x74\xea\xb1\x8b\x13\xf8\x75\x44\x35\xdb\x45\x51\xe0\xf5\xa2\xe3\xfc\xde\x57\x79\x85\x53\x1a\xb0\x0b\x5f\x45\xce\xc0\x76\x7b\x64\x38\x81\x22\xd3\x38\xe9\xd0\x1b\xb9\xa3\xa0\x12\xe2\x8f\xd4\x2b\xb8\x89\xa2\xcb\xe7\x9b\xcb\xaa\xe9\x9e\x43\x37\x8f\x9c\xb8\xa4\x48\xe4\xa3\x03\x06\x7a\xb5\xbf\x99\xc4\xa2\xde\xe2\x6f\x51\xad\x10\x56\x71\x38\x5f\x94\xde\x6b\x2e\x19\xfb\x98\x9c\x90\x2e\xbc\xc3\x27\x58\xa2\xf4\xb7\x45\x58\x7d\xf3\x4d\x2e\xd4\xd4\x0d\x3f\x0e\x41\xb6\x67\xe7\xac\xf3\x33\x13\xf5\x8b\x70\x0c\xa5\xf7\x91\x1f\x07\x9e\x78\x43\xb8\x6d\x8b\xeb\x0a\xd8\x35\x3a\x46\x29\x7e\xf7\x7c\xe3\x49\x25\xb0\xbb\x3e\xf3\x9f\x81\x6d\xa9\xff\x6c\xb7\x07\xef\x74\xa0\x64\x04\x57\x4f\xac\x07\xfa\x2f\xf5\xd2\x7f\xbd\x98\xba\x8b\x43\x4a\x6b\x76\xff\x52\xe5\x6b\xe6\xc9\x6a\xd5\x81\x16\xbb\xea\x80\xf5\xf7\x96\x84\xe3\x6f\x8e\xaf\x5e\x35\x5f\xb8\x8c\x8b\x04\xd5\xf3\x92\xdf\xb1\x66\x67\x8c\x9e\x76\xa0\x6e\x73\x3a\x89\xba\xc0\xde\x77\xde\x8b\x82\xe8\xc4\xa6\xd2\x33\xea\xda\x36\x32\x6e\xd1\xb2\xe3\xe8\x5e\x22\xd9\xb5\x08\xaf\xdd\x82\xef\x8b\x88\x6a\x28\x54\xe0\xee\xf9\xd0\xaa\xdb\x99\x5d\x8f\x5c\x55\x34\x4e\x1f\x9c\xd4\x45\x24\xe0\xaf\x1e\xc7\x74\xfa\x54\x30\x73\x99\xf1\x48\xad\xe6\x8c\x63\x08\xb1\xec\x07\x91\xb5\xb8\x08\xc4\x0d\x68\xf4\x17\xca\xef\x25\x5e\x4b\xb9\x59\xd9\xc3\x88\xae\x8a\x4e\xce\x33\x8c\x86\xe5\xdb\x03\xe8\x6c\x3f\x81\x7a\xb3\xdb\xdc\x7e\x83\x1c\xa9\xba\x3d\x6e\x9d\x5f\x33\xfc\xb2\x46\x69\x80\x7b\xe9\x31\x29\xdc\x2c\xbc\x8b\x47\x6c\x3d\xdc\x74\xad\x9c\xba\x75\x85\x63\x9a\xcd\x43\x4c\xce\xe3\x34\xc5\x83\xe8\x31\x9a\x14\xef\x70\x16\x57\xdc\xec\x11\x14\xf1\x77\xfb\x8f\x21\x8a\x1d\x9c\xd7\xb2\x8b\x8f\x7d\xd8\x6d\x9f\x44\x5d\x06\x9e\xd2\x9a\xc4\xf5\x03\xd3\x06\x0e\x93\x49\x3a\xbf\x48\x36\xdc\x51\xa6\x95\xe0\xf7\x06\xb0\xec\x8e\xfb\xa3\x43\x76\xa1\xee\xbb\x6e\x9d\xcd\xdd\x8f\x90\x65\xe1\x03\x7c\x0c\x93\xf0\x01\x70\xf9\xaa\x6a\xb9\x02\x64\x5f\xd9\xab\xfc\xab\xef\x8b\x29\x2f\x0f\x6b\x7e\x2b\x4e\xa1\x0a\x75\x35\x8e\x0d\x09\x95\xdc\x45\xf0\x32\xe1\xd7\x00\x30\x30\xbf\x70\x7a\xce\xf1\xcb\x82\x97\x75\x19\x5d\xed\xf6\xad\x70\x32\xf9\x28\xb3\x56\x5e\x45\x4d\xb5\x97\xfc\xf2\xc0\x21\x19\xf5\x70\x83\x21\x3d\x4b\xe3\x09\xe0\xec\xc4\x68\x6e\x48\x46\x01\x96\xbf\xb4\x77\xf7\xff\x9e\x2b\x5a\xc3\x3f\x7d\xc9\xbe\xfc\x9e\x6a\x59\xbf\x37\xb4\x2c\xed\xc2\x15\x8b\xb6\x61\xb4\x30\x8c\xcc\x5b\x04\x46\x8d\x71\x9a\x10\x48\xc8\xda\xed\x6e\x6e\x7c\x7b\xb7\xa7\x51\x32\xe9\x27\x93\xcb\x34\xac\xea\x7e\xe1\xa2\x70\xba\x7c\x9e\x50\x39\x24\x2e\x5b\xe8\x66\xf9\x33\x92\x97\x68\x9f\x24\x8e\xdb\x25\x4e\x8a\x32\x7e\x07\x53\x54\x1a\xc4\x71\x9a\x8c\x43\x5a\x24\x0d\x86\x23\x94\xd1\xaf\xa4\x74\xb1\x7f\xac\x61\xc4\x2f\xf4\x16\x44\xbc\x81\x29\x60\x48\xc6\x54\x07\x41\x91\x8b\x70\xe3\x3e\x4a\x26\xfc\xae\xee\x1d\xaf\xf0\xdb\x77\xdd\x75\xfe\xdb\xed\x25\x5c\x06\x6c\x24\x47\xbc\x89\x0e\x74\xf9\xe2\xbd\xa1\xe2\xe0\x9f\x3f\x5e\x7e\x20\x64\x71\x03\x7f\x5d\x42\x46\x7a\x51\x23\x4d\x68\x49\x48\x8c\x55\xb4\xe9\x79\x01\x25\x10\x09\xc9\x32\x3b\xe1\x9d\xd0\xd8\xcc\xf9\x8f\xb7\xd7\x57\x5c\x4d\x71\xa2\x06\x86\x6c\x91\x26\x19\xdc\xc1\x77\xe2\xba\x88\x38\xae\xdb\xc5\xb5\x1a\x76\x64\x05\x46\x47\x50\xd4\x48\x17\x90\x38\xf6\x4f\x67\x77\x36\x02\xfa\x3b\x83\x64\x52\xd9\xbb\x12\xdd\x5e\xb5\x06\xbe\xfc\xde\xf9\x32\xa9\xbb\x86\xb2\xa9\xad\xdf\xfc\xd6\xf5\xf5\x76\x4a\x96\x5b\x7d\x1d\xb1\x6d\xf5\x3d\x00\xa9\x1e\x10\x79\xdd\x8f\x65\x4c\x01\x57\xb0\x9d\x9a\x12\x30\x52\xf6\x83\xa1\xd6\x30\x8d\xb1\x56\x73\xa2\xa0\xa0\xf0\x0a\x4c\x1c\x70\x5d\xb4\x13\xb9\x85\xbb\x44\xf8\xaa\x28\x2d\x10\xd1\x8a\xb8\x4b\x44\x19\x48\xf8\x04\xba\x58\xbf\x9b\xaa\x74\x2d\x0f\x55\x35\x82\x21\xbb\xf5\xb1\x9a\xc5\x23\x44\x5c\xb7\x1b\x6d\x25\xf5\x02\xa7\x63\xc8\xb2\x0b\xff\x30\xe9\x13\x7e\x9f\xf2\x26\x21\x16\x40\xe3\xaf\x54\x25\xbe\x85\x18\xc6\x24\xc5\xfd\x38\x76\xec\x21\xed\xf2\xc8\x76\x11\xbf\x1b\x88\x18\x37\xec\x53\xb4\xaa\x1a\x70\xc8\x10\x8f\xb6\xb3\x40\x55\xb1\xca\x1b\x7b\xa8\xfe\xaf\xea\xb5\x29\x36\xb6\xb8\xde\xe5\x85\x2d\xc3\x81\x36\x53\x88\x2b\x96\x61\xec\x8a\xf5\xb9\x78\xbd\x4b\x98\xfc\x40\x2c\x96\x99\x0e\x47\x83\x84\x0f\x57\xe1\x1c\xea\xf6\xef\xe8\xaf\x68\x52\x67\x2a\x0e\x71\x11\x56\x0b\x36\xb3\x4c\x89\x9c\xe0\x18\xa5\x01\xed\x5c\x2f\x35\x4c\x85\x80\x99\x0a\x0c\x14\xa4\xb9\xb9\x30\x72\x91\x99\xef\xf7\x22\xdf\xdb\xd6\xb9\x06\x49\x3f\x2f\x16\x52\xa2\xaf\x9d\x02\x31\xb4\x86\xdc\xba\xfd\xd5\xae\x63\x71\xef\x56\xa6\x14\x59\x27\x75\x7b\xf6\x57\x3b\x08\xa2\x13\x68\x10\xf8\x4e\x4e\xf9\xa2\x10\x64\x5d\x60\xf7\x17\xa9\xca\x22\x2a\x92\xd9\x72\xf0\x09\x4b\x0e\x2b\xaf\xdb\x54\x24\xb0\xba\x33\x92\xe2\xf0\x01\x02\x40\xfa\xcf\xeb\x7b\x76\x4b\x3c\xfe\xca\x11\x48\x93\x5b\x9e\x7e\x3a\x0b\x93\x07\xf8\xaa\xcb\x28\x96\x21\xca\xfa\x63\x12\x3d\xc2\xd7\x60\xc7\xe7\x29\x21\xfd\x1d\x12\x70\x44\x0e\x82\xa9\x92\xbd\xe3\xf7\x94\xba\x6b\xef\xd9\x3d\xdc\x80\x64\x22\x48\xba\x67\xbb\xab\x95\x83\xeb\x01\x7d\x42\x82\x25\x61\x1a\x7d\x0f\x70\xfe\xeb\x06\xc6\x29\x9e\xf0\xcb\x82\x39\x6d\xd8\x7d\xbc\x12\x5f\x7e\x63\x30\x03\x8c\x67\x51\x3c\x39\x0f\x29\xff\xcb\xdb\x85\xf3\xf4\xcb\x28\x23\x2c\xad\x92\x4e\x1a\x77\x0f\xce\xce\xfb\x9f\x2f\xef\xbe\xfe\xb1\x7f\xf9\xf9\x2c\x30\x3d\x34\x8e\x2d\xa0\xd4\x62\xac\xa8\x85\xe3\x5a\x45\x74\xaa\x88\x4b\x8a\x4f\x60\x1a\x2e\x63\xf2\xc7\x30\x5e\x42\x40\x04\x8e\x4b\x8c\x21\x91\x69\x34\xc5\xc0\x83\x67\x4a\x65\x9f\x83\xe1\xa8\xba\x1b\x1c\x81\x2d\xbd\x79\x73\xcf\xdf\x56\x7d\x38\x99\xc8\x81\x28\xab\x88\x0a\x5d\x7e\x75\x13\xb7\x88\xde\x50\x29\x86\x79\xfa\x08\x95\xf5\x6a\xb6\x5e\x5e\xbb\xba\x57\xd1\xed\x91\x77\x81\x27\xd4\xc7\x1c\x2e\x2e\x0e\x24\xc8\x7f\x2b\x06\xc6\xa2\x94\xaf\x8f\xa5\x81\x0a\x2a\x86\xea\x64\xef\x4f\x0e\x37\x55\x56\xc9\x72\x7e\x0f\xd8\xfd\xfd\x1e\xbf\x05\x4d\xd8\x2d\x25\x1e\x70\x4f\x4a\x49\x5d\x9b\xdf\xa9\x9d\x5b\x3b\xa5\x2c\x27\x9a\xf0\x64\x8f\xbc\xd1\x68\xfa\xec\x94\x5b\x10\x8a\xa4\xd1\x44\xa9\x3b\xaf\xcd\x8c\x09\xc8\x29\x5e\xb8\x9a\x78\xc7\x94\x08\xe5\x7b\x84\xaf\x52\x62\xc9\xb2\x13\xdb\xed\x6d\x90\x20\x42\x14\x15\x18\xc0\xa9\x14\x53\x1b\x86\x52\x63\xcd\x6a\x5c\x5f\x43\xb5\x2f\x2e\x31\xdf\x86\xae\x67\xa2\xab\x4d\x82\xdf\x88\x2b\x6d\x52\xc8\xdb\x4d\xf7\x0f\xba\x2f\x5e\x10\xec\xee\xe2\x5a\x0d\x6a\x35\xba\xa4\x88\x4b\xff\x50\x14\x5c\x33\x56\x69\x7c\x83\x67\xa1\x51\xeb\x62\xd3\xdd\x64\x9c\x69\xe2\xb6\x0e\xba\x0e\x2a\xfa\xcb\xc4\x77\xad\xa6\xdb\xfc\x76\xde\x87\xcc\xa2\x38\xb3\x15\x37\xaf\xc7\x35\xe9\xf2\x00\xe4\x82\xc0\x9c\x2a\x3b\xaa\xfd\x48\xba\xd5\xb4\x62\x52\x2f\x51\x37\x39\x32\x87\xb2\x2b\x6e\x40\x8f\x86\xd9\x08\x85\x41\x26\x57\xcc\xd4\x45\x71\x10\x2a\xc5\x50\x13\xee\xb5\x5a\x61\x1e\x24\xee\x4e\x50\x35\x35\x74\xfa\x0c\xc3\x91\x31\x09\x44\xef\xb7\x65\x09\x12\x14\xd7\x6a\x0e\xae\xd7\x45\x7f\x9f\x93\xf1\xa9\x44\xc3\x09\xa9\x66\xb7\xf6\x82\x80\x0f\x95\xe6\xb4\x01\x43\xd5\x7f\x95\x29\x26\x30\x8d\x12\xc8\x73\x54\xaa\xc9\x1a\x21\x15\xba\x30\xea\xa5\x27\x82\x38\x74\xf1\x1e\xf0\x59\xcf\x56\xa3\x6e\x75\x01\x66\xfd\x6c\x16\x8d\xac\x28\xc2\xb5\x5a\x6a\x30\x3b\xfe\xd5\x7d\xd8\xa4\xbe\x7a\x3d\x92\xdf\x5d\x49\xa4\x7e\x5a\x2c\xed\x50\xd3\x79\xe8\x8d\x10\xfb\xeb\x8b\xbf\xcd\xd1\x1b\xd1\x60\x63\x84\x21\xa9\x5a\x9f\xcb\x4d\x21\xa9\x56\xa4\x89\x1a\xdc\x92\x32\x84\xa8\x15\x51\xa5\x7c\x50\x9a\x92\x92\xfa\x41\x53\x5f\xd7\x40\x34\x12\x17\x6d\x3a\x6a\x13\xd5\x6a\x6f\xbb\xbc\xfd\x42\xdc\xd8\xbe\x08\x71\x38\xef\x5a\x5c\x6d\xca\xb8\x06\x0e\x62\x91\x2c\xea\x52\x72\xa5\x46\xc4\x2d\x2a\xd1\xec\x36\x7e\xac\xe6\x9d\x21\x63\xca\x8d\x4b\x0b\x6a\xa1\xfa\xc9\xbc\x89\x55\xb3\x0b\x8f\x4c\x09\xca\xec\x8f\xd7\x68\x94\xa4\x24\x9a\x3e\xf7\xe3\x58\x17\xef\x12\x65\xa8\xc6\x92\x2b\x62\xac\xa0\x18\xc8\x8d\x3a\x49\xb1\x21\x91\x7f\x93\x2e\x52\x9c\x7e\x6c\x4d\x7c\x2b\x51\x20\xdf\x99\xc0\x01\x61\xaa\xbf\xdc\x8f\xa8\x1e\x23\x6d\x8f\xa2\x32\xc3\x30\x1a\x31\xbb\x9e\x55\x2b\x2a\xd2\xd4\x21\xbd\x78\x9e\x4c\x0b\x61\xc4\x35\xd4\x57\x89\xc2\x35\x62\x36\x2d\xaa\xa5\x12\xd2\xec\x18\x60\x1c\x87\x19\x07\xa5\x01\x46\xbb\xfe\x4e\x90\x2b\x6d\x69\x05\xf3\x0c\x96\x54\x63\x0b\x09\x58\x6c\xee\x30\x22\x71\xf3\x2e\x75\xd9\x1d\xa2\x16\xed\x59\x6f\x27\x5d\xad\x8a\x95\xf5\x5c\xee\x4f\x57\x4e\x50\xc7\x47\xfb\x9d\x4e\xab\x53\xb8\x54\x97\xe7\x62\xb7\xf4\xa6\xa8\xed\x22\xc2\x6d\xc0\xba\xdd\xa5\x8d\xf4\xf8\xd2\xb3\x61\x62\xf3\x99\x9f\xdf\x8b\x9c\x08\x53\x27\x5f\x36\x51\xd2\xc0\xc0\xee\x98\x8d\x1d\xb7\x4a\x0a\x0c\xd3\x51\x90\x20\xa1\x18\xa7\x72\xdd\xa4\xc4\x42\x99\x8b\x92\xd7\xf5\x05\xaa\x20\x95\xe9\x2f\x84\xd9\x03\x10\x06\x63\x49\x1a\x26\xd2\x12\xcb\x47\x06\x45\x01\x56\xd4\x23\x6e\x8f\x92\x33\xa2\x6b\x9b\x54\x9a\x23\xe4\x1b\xd8\x61\xd7\x45\x13\x88\x81\x40\x69\xf9\xa5\xdd\x22\x1b\xec\x12\x43\xb5\xae\xe6\x1b\x26\x5f\xa0\x6a\x5d\xdf\x22\x5e\x58\x2e\x2b\x8e\x32\x22\x66\x92\xe6\x99\x34\x51\x63\x73\x92\x79\x6a\xac\xc8\x35\xf7\xbb\x71\xa9\xfe\x1f\x64\xfd\xf6\x0f\x75\xa8\xff\x60\x4b\x3e\xfc\xa1\x9e\x5f\xa0\x8e\xd5\xbd\xba\x1b\x7b\x3d\x89\xa6\x53\xb5\x76\x94\xfc\xaf\x6a\xce\xbf\x84\x93\x09\x4c\xba\x2f\x6b\xc4\xc7\x95\x3d\x8e\xd3\xf9\x3c\x4d\xba\x6c\xb5\x60\x53\x18\xf4\x89\x4b\xc7\x89\xe4\x86\xcf\x30\x1a\xb9\x27\xb8\xc1\xcb\x0c\xe9\xcf\x51\xb0\xe3\x75\x71\x83\xd5\xac\x12\x0c\x81\xa0\x8b\x81\x61\x34\x8a\x12\x4b\x64\x5f\xad\xd4\x6f\x5e\x21\xb5\xd1\x05\xcb\x4d\x86\x44\xd4\xa5\xd1\xe1\x95\x11\x37\xd4\xa3\x8d\x44\xf0\x50\x6a\x30\x66\x56\x56\x6b\xcd\x01\x75\x51\x12\x38\xaf\x53\x9d\x39\xac\x91\xe7\xf6\x92\xe3\x54\xf6\x39\x91\xbb\xbb\x61\x90\x0e\x93\x11\x8a\x35\x11\x12\x32\x69\x15\x33\x3b\x52\x99\x8e\x31\x9d\x05\x3b\x55\x0c\x1f\x8e\x78\x4d\xb3\xed\xc2\x82\xd7\xba\x33\x73\x5f\x8a\x8e\xc6\xf0\x3e\x06\x8b\xa4\x16\x06\xaa\x36\x97\x25\x5e\xe8\xf6\xc6\x69\x42\xa2\x64\x09\xeb\x59\x59\xd0\x54\xe3\x14\xcc\x10\xd5\x4e\x67\xba\x61\xa1\xef\x19\x4a\x53\x82\xd4\x6a\xc4\x71\xd7\xee\x9a\xb9\xcc\xf8\x45\xd3\x99\x4e\xa5\x2d\x53\x3d\x1b\x26\xa3\x51\x6f\x87\xd7\xa2\x69\xb9\xe4\x0d\xd6\x4e\x66\x38\x7d\xff\xae\x4b\x69\x85\x21\x49\x8d\x10\xc7\x30\x77\x5c\x44\x0c\x8d\x7e\xa7\xca\x90\xaf\xd5\x1c\xf2\x36\xbf\x4c\x51\xa7\x78\x1b\x05\x0a\xca\x0b\x53\x5c\x82\xe1\xa8\x67\xec\x4c\x95\x64\xe1\x8b\x26\xc3\xf5\x11\x21\x79\xc1\x88\x16\xc4\x2e\x0b\x5c\xc8\x85\xbf\xf2\x8a\xa6\x5b\xb4\x23\x83\xfa\xe9\xe8\x6d\x44\x7a\xad\x60\x15\xdd\x40\x2e\x7d\xd2\xed\xf9\x8f\x31\x62\xcb\x8c\x90\x39\x99\x8b\xa0\x31\x4d\xf1\x59\x38\x9e\x39\xe5\xf1\xfb\x55\x26\x5a\x34\x9d\x56\xef\xba\x48\xb5\x5c\x29\xe8\x64\xb5\xda\xd9\xfb\x93\xb3\x4c\xb8\xa5\x31\x59\xdd\xa7\x69\x0c\x61\x22\x9c\x44\x2b\x6e\xa2\x16\x7d\x45\xe0\xae\x56\x8c\xf0\xaf\x6a\x64\xba\xa5\x57\x1d\x6e\xb0\x69\x76\x95\x97\xbf\x57\x66\x17\xed\xb5\x83\x0d\x67\x12\x22\x2e\xd3\x1a\x5e\xf7\x8e\x15\x0a\x4a\x23\xa9\x34\x85\xba\xc5\x7c\xaf\x2b\xa5\x3a\x09\xb6\x6e\xf6\x56\xd8\xc6\x84\xd9\x92\xaf\xb6\x91\xc1\x3f\x90\xb8\x62\x9b\x82\x5b\x00\x1a\xa9\x23\x4e\xdd\x2d\xb4\x3f\x29\x92\x9e\x98\x9e\x98\x8c\x7b\x62\x4c\x21\xc8\x76\xa0\x4a\x05\x37\x88\xb8\x57\x25\xaa\x8b\xf4\x35\x60\xcb\xac\x42\x40\x97\xe3\x57\x29\xfd\xf0\x8f\x5b\x22\x54\xdc\x0e\x23\xf4\x6b\x88\xc0\xf7\x45\x8a\x49\x3f\xfb\x8f\x59\x9a\x94\xe5\xf5\xcb\xba\x42\x5e\x1b\xa2\x2b\x9a\x3a\x1b\x24\x39\xe5\x38\x5d\xe0\x6b\x9a\x39\x79\x2d\x22\xad\xc7\xa3\x08\xa8\x0c\x7d\x89\x26\xdd\x14\xfd\x25\x4b\x93\xae\xa9\xfd\x13\x94\xba\x06\xfa\x7c\xa9\xa7\x06\xd4\x8b\xb6\xd7\x64\x90\x93\x8c\x7a\x59\x41\xea\x57\x0a\x7d\x86\xbb\x99\x53\x45\xb9\xbd\xea\x48\x8e\xe6\x14\xa7\x73\x9c\xce\x4d\xa2\x96\x67\xea\x46\xe2\xe5\x34\xa3\x98\xbc\x16\xbe\x17\x4d\xa4\x41\x6a\x2e\x99\xc3\x74\xd4\xcb\x56\x2b\x47\x02\x73\xb3\xd6\x21\x88\x05\x22\xa5\x94\xb1\x0b\x08\x3b\xac\x4e\x4a\x70\x61\x8d\x2a\xfb\xe8\x8d\x52\xa4\xec\x51\x2a\x6f\x9e\x98\x4e\xc5\xd7\xfd\x14\xc5\x0d\xbb\x57\xa8\xba\xa3\xcd\xde\xd5\xca\x0b\x02\xd2\x88\xc3\x8c\x5c\x48\x53\x30\x87\xd2\xc9\x2a\xa5\x9c\xf4\xc1\x96\x9d\xb7\xae\x8a\x04\x2e\xcf\x80\x17\xcd\x28\x2b\x78\x7e\x50\xca\xc6\xaf\x91\xc0\x13\x97\x65\x59\x10\x19\x4c\xd5\xcb\x82\x20\x88\x4a\xec\x97\x05\xdc\x7a\x13\xb6\x29\x93\x8a\xd4\x24\xaf\xd5\x1c\xb3\x7c\xa0\xac\xbc\x74\xb5\xa2\x23\x4a\x9f\x4e\x0a\x15\x76\xd3\xaa\x45\x08\xbb\x62\x57\x15\x43\x96\x2e\xf1\x18\x82\x17\xf9\x94\x7d\xe5\x86\x99\x02\x51\xcb\xa9\x6c\xd1\xe6\xe0\xbc\x20\x73\x01\xd2\x11\xeb\x12\x94\x84\x73\xe8\x02\x9a\x84\x24\xec\x62\xb3\xbe\x62\x58\x84\x6e\x1f\x57\xd6\x5b\xb0\x69\x49\x21\x96\x5a\x66\x64\x22\x50\x49\x40\x65\xc2\x6e\xc0\xb4\x88\xd2\x20\x24\xe1\xff\x0b\xd0\x6a\x50\x8a\x55\xe1\xf6\x19\xc7\x95\xcb\xb3\x99\x93\x41\x64\x54\x21\x23\xbe\x5d\xc7\x0d\x3a\x26\x75\x1b\xd1\x47\x59\xbd\xdc\x92\xa1\x8b\x0a\xd7\x4f\xf3\xc4\xc6\x29\x0b\x2b\xa9\x98\xb8\x1c\xfe\x55\xee\xf6\xa6\xc6\x46\xb5\x08\x46\x91\xcb\x29\x95\x04\x94\xdb\x26\x94\x81\xe8\x4c\x87\x44\x6e\x22\x29\x50\x49\x23\x35\x31\x28\xc8\x15\x5e\xa4\x3c\x48\x66\xc3\x54\x7a\x07\x06\xba\x9a\x44\x65\xc1\x22\x26\xea\xa5\xd0\x91\x1c\x34\xc4\x23\x21\x9e\x36\xe2\xf5\xb6\x5d\xe2\xaf\xfa\x36\xf1\xc6\xba\x7e\xe5\xe6\xf0\x57\x7d\x77\x98\x79\x4d\x8a\xdb\xc3\x5f\x8b\xfb\xc3\x1b\x9b\x66\x91\xab\x9b\x07\x9c\xc3\x1d\x17\x15\x76\x7d\x44\x38\xfc\xc6\x6a\xc5\x36\xd9\x96\x50\x8d\xaf\x8a\x6b\xdf\x52\x51\xd1\xd1\xf4\x1b\x6a\xca\x2a\x50\xca\x23\xe5\x5e\xd6\xbd\x48\xdb\xdf\x50\x55\xd3\x15\x30\x42\xf8\x4d\x55\x6f\x47\x32\x7b\x0b\x92\xb9\x2a\xba\xb5\x2e\x9e\xed\xd7\x54\xb7\x1d\xb7\x0d\xf5\x5d\xa6\xe3\x30\x2e\x45\x3b\xa6\xe5\x28\x15\x25\x1f\x44\xb8\x5a\x4c\x0b\x8a\x5a\x90\x48\x0b\x27\x93\xb3\x47\x48\x88\x92\x08\xb6\x28\x65\xcb\x2d\xa9\x5b\x89\xce\x06\xd9\xc0\xd0\xa9\x52\x0f\xbe\x96\x82\xe9\x25\x46\x7d\x0c\x61\x51\x28\xa8\x50\xae\x34\x9e\x94\xa2\x0e\xf2\x54\xb7\x9b\x3f\xb3\x93\x15\x72\x3d\x37\xb3\xcb\x54\x9a\x5d\xad\xf8\x92\x9f\xa8\xe9\x3f\x0a\x5e\x64\x35\x74\x79\x14\x59\xba\x38\x57\xb2\xd3\xc0\xeb\xa5\x9b\xa4\x53\x5a\x21\x9d\xd2\x91\x13\xf1\xed\xa4\x4d\xa4\xf9\x57\x48\xa7\x62\x55\xff\x76\xc2\xa9\xd8\xf2\xdf\x47\x36\x15\x6b\xad\x16\x4d\x9a\xad\xa2\x8b\x15\x66\x14\xf2\xcd\x9e\x52\xac\x3e\x76\x09\x7e\x7e\xc1\x7a\xc0\x1f\x76\xf3\xb8\xfb\xb5\x6e\x3b\x72\x96\x66\xda\x37\x76\xdf\x86\xe0\x16\xdf\xfa\x1a\x45\x81\x74\x9d\xef\xfa\xbd\xe8\x1d\xb5\x14\x76\x77\xa5\x79\x00\xc3\x68\x24\x6d\x83\x52\x67\xd2\xea\xce\x64\xbc\x33\xc3\x74\xa4\xf7\x27\xd3\xfa\xc3\x60\x19\x37\x0e\x40\xdf\x4a\xf9\xcd\x1d\xdd\x24\x91\x4b\x72\x93\x8f\x02\x2a\x86\x3d\xb8\x6c\xfb\x5e\x6b\x1d\xbf\xad\xc1\x8d\x94\xd5\x3c\x29\xa5\xe6\x71\xb1\x79\x18\xe2\x91\xeb\xf6\x0a\x8e\xe2\x57\x30\xf8\x55\xf2\x5d\x30\x1f\xfa\xad\x4d\x6c\xe6\x20\xaa\x0d\x41\x49\xff\xa9\x6c\x9e\xf6\xf2\x95\x4e\x7e\x84\x79\xaa\x9f\x5c\x7b\xc3\x3a\xf1\xb2\x2e\x57\xf0\xf7\x11\x5f\xa5\xba\xfe\xed\xe4\x57\xa9\xe9\xb2\x00\x93\x47\xf5\x7a\x66\x24\x82\xb1\x3e\x91\x21\x36\xd6\x0c\x1d\x48\xcd\x4b\xb5\x84\x70\x0b\x64\xdd\x2b\x92\x16\x55\x1f\xaa\x52\x91\x04\x81\xd7\x83\x4d\xcb\x0d\x54\x2c\x37\x30\x72\x88\x19\xd1\xef\xbd\x26\x74\x4b\xa4\x78\xb3\xd4\x15\xce\xaf\x7f\x98\xb4\xdd\x84\xd9\xdf\x57\xdc\x8a\x63\xc4\xff\x8f\x88\xd9\x52\x0f\xb7\x6b\xbe\x25\xea\x17\x13\x4a\xe1\x66\xdc\xab\x9b\x52\x36\x4e\x99\xe9\xaf\x78\x35\xca\x99\x93\xfc\x23\xd8\x30\x2d\xb1\xe1\xf6\x05\x60\x13\x29\x8a\x83\x2d\x07\xda\xdc\x6e\x02\xb6\xdd\xb4\x71\x2a\x46\xda\x54\xa4\x3c\xb0\x46\x45\x78\x91\x72\x6c\x4f\xbb\xf7\xf7\x27\x0b\x36\x83\xf0\x5e\x59\x30\x36\x48\xc8\x8a\xe9\xa9\xef\x94\x6a\x0c\xf1\xdb\xeb\xff\x15\x2b\x52\x75\xdb\x43\x3c\x1a\x6d\x58\x8d\xee\x20\x23\x9b\x4f\xf6\xa5\x0f\x01\xac\x56\x3c\x22\x50\xcb\xd9\xb8\x4c\x1f\x0a\x85\x4b\x21\x41\x14\x76\xb3\x4c\x36\xbd\xc9\xc0\x2c\x2c\x32\xcb\x5d\x81\xcd\x75\xa7\x89\xc8\x7a\x9a\xce\x17\xb4\xab\x46\xfd\x9b\xcb\x11\xc8\xc8\x27\x0c\xe1\xfc\x3e\x2e\x1e\xb1\x7c\xa5\x50\x9a\x91\xb7\x94\xba\x4c\x1f\xb4\x1c\x81\xd8\xdb\x97\x1a\x4a\xf8\x08\x2a\xb4\x79\x12\x92\x30\xb0\x6d\xfd\x90\xc3\xd7\xc2\x6f\x76\x76\xf5\x6b\x20\x82\x8b\x45\x5d\x5f\x03\x40\x43\x3b\x4e\x1f\x6c\x64\x4f\xe0\x7e\x49\xff\x46\xc9\x34\xb5\x91\xfd\x14\xe2\xc4\x46\x36\x3b\x1e\x63\x8f\xd4\x8e\x26\x04\xef\x5e\x62\x20\x16\x09\x6c\xbb\x97\x3d\x45\x42\x56\x8e\xc3\x0c\x44\x0d\x5d\xf6\xcc\x8a\xf3\x47\x5e\x45\x97\xda\x79\xc6\xb1\x15\x16\x81\xb0\xa6\x98\x10\xb5\xe5\x2c\xd0\x92\xc2\x8f\xf9\x01\x0a\x80\xc0\x71\x1a\x8d\x06\xb8\xc1\xbb\x9c\x10\x6a\xff\x2a\x24\x61\x5d\x0f\xfe\xfd\x5a\x27\x75\x68\xfc\x25\x8d\x12\xc7\xb6\x6c\xb7\xce\x8e\xdc\x22\x2c\x0e\x03\x1b\x55\x53\x1e\x71\xd7\x2e\x1a\xda\x0f\x38\x5d\x2e\x6c\xc4\xff\x9e\xa6\x71\x1c\x2e\x32\x98\x14\x88\xc0\xf1\x26\xbf\x0a\x6f\x08\x6c\x9b\xe1\xcd\x74\xc9\x37\x20\x0f\x02\x61\x73\x5c\x2d\xcb\x6e\x60\x58\x40\x48\x9c\x7a\xbd\x34\xc4\xac\x17\xbd\x4a\xf4\x1a\xac\x47\x67\xc9\x84\xaf\x2c\xf2\xd7\x86\x4c\x81\xe3\x70\x64\xb7\xb4\xbf\xbb\x5b\xd9\x7e\x81\x91\x6f\x97\x11\xd9\x18\x7a\x9e\x1b\x1a\x24\x2f\xf2\x55\xb9\x7f\x68\xd1\x2b\xed\x78\x4b\x06\x64\xb9\xa0\x72\x56\xed\xb3\x19\x59\xa8\xc2\x4a\x9b\x0e\x2a\x30\x90\x30\x44\x1a\x93\x28\x0b\xef\x63\xd8\x98\x53\x83\x23\xb6\x93\xb7\x31\xa7\x80\xe5\xb9\x58\x1c\xd2\x96\x9c\x14\x8e\x08\xeb\x2c\x7d\xe4\x2a\xb9\xe8\xfb\x82\x1f\x2b\xca\xe5\x85\x0c\x5c\xe0\xf2\xcf\xa9\xaa\x56\xe5\x65\x61\x27\x74\xd8\xf1\x72\x4c\x52\x5c\x85\x43\xd5\xb8\x34\xb2\xe5\xfd\x38\x0e\xb3\x0c\x44\xc0\x20\x71\x11\xa9\x1c\x41\x2d\x27\x45\x7a\x0b\x85\x2b\xe2\x8a\x95\x76\x2d\x7b\x2a\x7c\xf5\x79\x34\x26\x05\x58\x6c\xd3\x82\xb9\xeb\xf9\x6a\x54\x2d\xd7\x85\x50\x47\x44\x9e\x26\x10\x75\xd2\x69\x26\x0e\x77\x29\xfa\xf2\x4e\xe1\x6a\xa6\x34\x18\xe1\xdf\x0e\x69\xe3\xd8\xc3\x80\xa3\x30\x61\x75\xb1\x38\xe6\xc6\x74\x19\xc7\x94\xa3\x37\x20\x2d\xf9\x71\x53\xc8\x8a\x46\x8e\xad\x15\x98\x21\x73\xe5\x3a\x18\xfd\xaa\x6b\x30\x14\xb9\x8a\xa8\x88\x92\x35\x4f\x98\xba\x44\x0d\x2a\x6e\xdc\x9f\x50\x0d\xa2\x4b\x2d\xac\x37\x34\xb0\x5c\x6c\x5d\x93\x8b\x25\x16\x6f\x5b\x95\x4b\xc5\xde\xb8\x2e\x97\x98\x25\x77\x95\xd0\x1a\x4f\xe9\x14\x91\xe2\x8a\x92\x91\xc9\x26\x21\xcf\xe4\xc8\xb2\x77\xc7\x08\xb9\x55\xb7\x87\x76\x9d\xd4\xed\x91\x9d\x97\x39\x17\xd5\x7f\x0d\x70\x55\xf3\xba\x4e\x57\x50\x88\xf8\x2b\x28\x8a\xd5\x88\x15\x4f\xb4\x8a\x86\x80\xb8\x2e\x72\xb3\x4c\x1a\xe3\xef\x23\x69\xf6\x70\xbe\x37\x4e\x1c\x9b\x8d\xdf\x40\xb6\x8c\x09\x4b\x92\xea\x92\x38\xe4\xdc\xa3\xa4\x8c\x12\x12\x27\x8e\x4d\xc1\x16\x0e\xa3\x0c\x26\x56\x98\x58\xf0\x7d\x0c\x0b\x22\x5e\xb2\x44\xc5\x0b\x7f\x0d\x06\x0b\x81\x63\x4f\xa5\x13\xce\x27\x79\x65\x22\x8b\x58\xc4\xe9\x72\xe8\x76\x4b\x50\xd7\x45\xd0\x18\x0b\x84\x68\xeb\x5f\x1d\x68\x9c\xf7\x2f\x2e\xcf\x06\x68\xc7\xe7\x1e\xda\x0a\xe5\xb0\xca\xf5\xa3\xad\x42\x72\x10\x99\xce\x4a\xbf\x85\xf2\xf4\x3d\x20\xab\x95\x3c\xff\x39\x0d\xa3\x78\x89\xb9\x48\xe4\x8b\xa1\x92\x90\x42\x65\x0e\x31\x19\x84\x04\xd8\x9b\x48\x84\xbe\xb6\xc4\x21\x6d\x56\x4b\x12\xdb\xca\x9c\xbe\x5a\xfa\x3c\xfc\x7e\x2e\x5b\xf0\x64\x03\x49\x34\x56\xba\x1f\xc5\xf7\x9f\x96\xb0\x84\xaf\xe2\xdc\x66\x45\x3f\x35\x76\xe9\x5f\x5e\x7e\xbd\x3b\xbb\xbd\xbb\x2d\x1d\x3e\x3d\x0e\xe3\x78\x97\xd6\x96\xbd\x63\x07\x50\xb7\xd7\x93\xb1\xb3\xe0\x25\x31\x54\x40\x49\xf7\x0b\xbd\xa5\xbe\xa2\xa6\x60\x9a\x26\x64\xb5\x62\xf5\xab\x3e\xa0\x88\x45\xf6\x1a\x02\xcd\x71\x51\x16\x78\xbd\x2c\x0f\xc8\xcd\x64\xbc\x46\x12\xa4\xc3\x8c\xbf\x55\x4c\x86\x1b\xaa\xaa\x5c\x11\x61\xa0\xf8\xf0\x06\x1e\xce\xbe\x2f\xf8\x16\x34\xe6\x61\x73\x89\x9a\xce\xae\xab\xc2\x66\xe5\xfb\x01\x72\xe0\x4e\x80\x15\x58\xd8\xf0\x8a\x58\x4e\xe2\xa2\xa8\x5e\x5f\xeb\x6f\x6c\x79\x0b\x61\x3e\x85\x84\x00\xde\x10\xcd\x12\x78\xe2\x10\xfe\x2b\xcb\xbb\xee\x66\x14\x9a\xa6\x46\xf6\x4a\xed\x22\x2f\x3d\xc4\x23\xa4\x85\x37\x89\xa1\x88\xd3\x07\x11\x6c\x7c\x95\xb2\x05\x2c\xb3\xe6\x54\x92\xc0\xff\xcd\xde\xbb\x6d\xc7\xad\x23\x89\x82\x0f\xf3\x30\x6f\xf3\x38\x2f\xf5\x30\x14\xba\x2b\x4d\x96\x90\x69\x92\x79\x63\x32\x4d\xab\x65\x59\xda\xdb\xed\x9b\x4a\x92\xed\xea\x4a\x69\xfb\x50\x99\x48\x89\x6d\x26\x99\x4d\x22\x75\xd9\x96\xaa\xd7\x9a\xbf\x38\x6b\xcd\x17\x9c\x7f\x98\x35\xff\x72\x7e\x60\x7e\x61\x56\x04\x00\xde\x33\x25\x79\xef\x7d\xd6\x3c\x1c\x57\xed\x14\x08\x06\x02\x81\x40\x20\x22\x00\x02\x81\x99\x26\x50\x83\x93\x37\x4d\x02\xce\x92\xc0\x97\x91\x0e\x6a\xde\x45\xbd\xd1\x71\xf4\x29\x9a\xfa\xab\x8b\x4b\xbe\xaf\x74\xc7\xd7\xa6\x3d\xfd\xa6\xe7\xb1\x3c\xbc\x8b\x2a\xa3\x85\xc1\xf9\x43\x5a\x8b\x18\xe2\x78\x47\xa1\xb8\x88\x98\xe1\x6a\x38\x80\x67\xc4\x90\x8a\x6d\xcb\x1c\xab\x93\x9d\xa5\x41\xda\x6a\xb1\x2d\x2f\xaf\x53\x9e\x55\x2c\x81\x74\xd8\xcd\x92\x4d\x39\x9b\xe1\xa6\x31\x19\xf2\x20\xdb\xb2\x42\x66\x2b\x5c\x93\x1a\x37\x9c\x00\x96\xe5\x05\x49\x72\x97\x54\xf9\xd5\xe1\xfe\x87\xd7\x6f\x3e\xfc\x84\x41\x28\x88\x3f\xe7\x2c\x51\x13\x05\xe8\x13\xa6\x76\xa9\x49\xea\x32\x15\xac\x91\xed\x60\x9b\x08\xbf\x05\xa6\x67\x6e\x33\xe1\xf0\x3e\x77\x43\xaa\x78\xd9\x36\xa1\x1a\xda\x2c\x97\x6c\x27\x46\x83\x06\xab\x28\xe3\x06\x80\x5c\x3b\xd3\x2d\x6b\x9d\x82\xde\x34\x4d\x2f\x7f\x6b\x64\x32\x54\x4a\xae\x5a\xd9\xb5\x06\x6a\xb7\x5d\xd6\xc2\x79\x53\xd4\x3c\x47\x2f\x34\x0f\x26\xbf\x7a\x41\x8b\xcb\x21\xb3\x4d\xa4\x50\x50\xc5\x2d\xa5\xf5\x73\x00\xc8\x29\x00\x2c\xd2\x93\xf8\x98\x4d\xe3\x68\x96\x7e\x2d\x53\xa6\xce\xf4\xa5\xab\xc5\xc2\x4f\x82\x5f\x99\x6e\xa8\x2f\xb3\x71\x84\xfc\x2d\xa8\xff\x82\x35\xaa\x73\x40\xae\x32\xb9\xd5\xbd\x91\x75\x56\x95\xd6\xea\xe8\x56\x6d\x9d\xa6\x91\xdf\xa2\xa3\x1a\x57\x45\x4a\x4e\x86\xc2\x51\x5a\xdb\xd0\xd5\xe9\x81\x1b\x30\xcd\xa9\x70\xb5\x6a\x2f\xf9\x4d\x61\xc1\xb5\x2e\xbc\x6a\xf8\x14\xc4\x37\x88\xb4\x0c\x0d\xc8\xae\x2e\x63\x6a\xed\xc8\xbf\x6e\x76\x66\x52\x9a\x49\xf3\x5e\x7e\x86\x16\x23\x89\x75\x0e\x77\x8f\x8f\xf7\x5f\xef\x54\x45\x5a\x05\xcc\x71\x59\xd6\x53\x2f\xfb\xa6\x3a\xef\x9f\xeb\xb9\xe3\x30\xbe\x16\xc3\x87\xc7\xf1\xb7\xc6\xee\x66\xb5\xbe\xae\xc8\x9b\xaa\x0c\xb4\x97\x18\x07\x46\x59\xaa\xb2\x83\x92\x85\x71\x23\x6c\x23\x88\x06\xc6\xa4\xf9\xde\xd8\x2c\xa3\xa8\x4b\x4a\xbc\xcc\xb6\x44\xad\x42\xae\x29\x55\x87\xa1\x4e\x8a\x43\x5d\x1c\x0b\xc9\x98\x51\xe6\xe4\xb8\x38\x32\x94\x65\xc7\xbc\x64\x15\x7d\x60\x37\x5c\x0c\xf6\x27\x08\xd7\x11\x6b\x10\xaf\xcc\x15\x2b\xd0\xff\x0e\xcf\xeb\x49\x58\x6d\x1e\x27\xd9\x6c\xa9\xb1\x01\xbc\x74\x1a\x4d\x52\x5c\xf8\x9c\x94\xe0\x09\x9c\xd2\x48\x97\x0b\xfc\x49\x76\x24\xad\xda\x19\x8f\x68\x56\x91\x0d\x4d\x91\x01\x90\x91\x77\x77\x5b\x55\x2f\x49\xee\x72\x2c\xf6\x5d\x7d\x0c\xeb\x46\x66\x87\x0a\x4e\xa1\x94\xcf\x8a\x3e\x7a\xe9\x55\xe1\xd6\x09\xc6\x7b\xff\x26\x58\xac\x16\x9a\x44\xa0\x4d\xe3\x55\xc4\xb5\x84\xf9\x60\xc3\xa9\xe6\x9f\xc7\x09\x0f\xa2\x0b\x21\xf1\xc9\x2a\xea\x28\x2b\xd3\x48\xa0\x58\x37\xaf\x34\x6f\x62\x9e\x51\xde\x60\xc2\x76\x9a\x0c\x1e\x08\xb9\x8b\x42\x8e\x3a\xa6\xd5\x2a\x4d\x46\x58\x61\x8a\x75\x77\xa7\xf3\xc2\xe8\x6c\x52\xe7\x98\xa7\x17\x0b\xe5\xb3\x2e\x8c\x0d\xc8\xae\x4b\x28\xf5\xaa\x4e\xcb\x74\x58\xf1\xbb\x50\x33\x23\x33\x47\x45\x13\x66\x5d\xc3\x79\xeb\xe3\x54\x94\x08\xfe\xb4\x96\xad\xf7\x99\xba\x2d\x36\x2a\xf3\x45\x1b\x27\x10\xb5\x25\x08\xf1\x42\x2c\x42\x70\xaa\x4a\xd5\xf4\xb7\x9c\x3a\x37\x58\xec\x5c\x9f\xf3\x6c\x86\xbd\x19\xac\x22\xe5\x32\xe6\xdb\x83\x9c\x6c\xd4\xfb\x92\xa9\x28\x86\xaa\xf6\xcd\xcc\x6d\x12\x8a\x27\x33\xbc\x2c\x9d\xc9\x2a\xd2\x9f\x6a\xb0\x8a\x84\x27\xab\xe8\x91\x36\xeb\x51\xba\xa6\x21\xfc\x9d\x74\x61\xc8\xd1\x2a\x8a\xa0\x5a\x69\x9e\x6a\xba\x46\xba\x80\x7a\x6a\x90\x9a\xf7\x21\xd9\x52\xf7\xc0\x6b\x61\x9a\x0a\x73\x5b\xe9\x6d\xd1\x1f\x32\x07\x45\xeb\xd9\xb0\xaa\xa5\xb3\xe7\x16\xeb\x1a\x1d\x1e\x1f\x04\x37\x6c\xa6\xdb\xc6\x36\x49\xc9\x23\xa6\x4e\xca\xc3\x6a\xd2\xc5\x15\x8d\x69\x34\x7c\xf6\xab\x80\xe4\x1f\xfd\x0a\x7d\x2e\xcc\xb7\x5b\xf5\x0b\x27\xec\xac\xe2\x43\x8f\x9b\x3b\xa2\xe6\x5f\x9c\x48\x41\xd1\x82\x48\xd9\x3b\xf7\x11\xdd\xa8\x5d\xb3\x84\x69\x51\xac\x94\x74\x95\x3b\x52\x2f\x34\x2e\x5b\xc9\x85\xa0\x6c\x89\x1d\x1d\x0d\x9e\x8f\x5f\xb5\xa6\xfa\xc8\xa5\x0c\xe9\xdb\x60\x5a\xce\x52\xc4\x8b\xc6\xd9\x90\x0c\xf3\xda\xb8\xcc\x94\x77\xa5\xc4\xe3\x91\x25\x8b\x66\x30\x69\x7a\xa8\x80\xe8\x17\x4f\xf6\xcf\x83\xe0\xc2\x7b\xf2\x88\x9c\xfb\x35\x83\x17\xe7\x8f\xf5\x55\x0f\xe1\x5a\x79\x6c\x4d\x5b\x8a\x85\x8b\x1f\x04\x65\xdc\x80\xfa\x3a\x2c\x79\xc4\x2c\x36\x93\x8c\xa4\x61\xda\x06\x93\xb4\xdc\xd1\x2b\x82\x89\xdc\x07\x99\xde\xa4\x62\xd6\x0d\x79\xac\x39\x91\xdf\x5b\x8d\xa2\x20\x6c\x95\x24\x41\xae\x1b\xc8\x60\xc0\x5f\xc1\x88\xa3\xe2\x2b\x2d\x1d\xce\x82\x99\x10\x65\x61\x20\x7c\xed\xca\x0f\x57\x4c\xf3\xa3\x59\xe1\x15\x46\xd1\xd4\x16\x71\xc2\x30\xb4\x70\xe6\x98\x34\xcc\x3c\xf3\xb9\xe6\x9a\x71\x51\x3e\x91\xc5\xa6\xbc\x28\xa2\xf5\xae\x6e\x16\xe4\x75\x3d\x5f\x9a\xc3\xca\x76\xd7\xf8\xaa\x18\x52\x1f\x47\x25\xf6\xe5\x27\x62\x8b\xfc\x82\xc2\x33\x2d\x5e\xf1\xdf\x8b\x09\x92\xbb\x40\x6d\xc3\xf2\x9e\x24\xb5\xd5\x2a\x47\x5b\x2e\xbe\x53\xd6\x5f\xb5\xaa\x61\x8a\x2a\x5f\x15\x8d\x4a\x7d\xa1\xb0\x46\x59\xa9\x61\xf5\x4f\x36\x6b\x19\xf7\xa4\xe5\x01\x89\xa0\x20\xda\x60\x58\xaa\x33\x62\x35\xfd\x6e\x04\xca\x67\x36\xd9\xb9\xc4\x2c\xec\xb4\x54\xde\x2f\xec\xbb\xbb\xe2\xc9\xc2\x07\xd5\x86\xa8\xf0\x41\x16\xf9\x49\xe2\xdf\xee\xff\xb5\x81\x3b\x5b\x0c\x26\x1f\x6a\x5d\x8b\xb5\x5a\x5b\x1c\xe3\xf5\x48\x82\xb6\x3c\x5e\x9e\x8a\x6c\x59\xe3\x35\x1b\x43\xb6\xb7\x13\x03\x4a\x4e\x92\xb3\x2d\x8c\x7b\x99\x97\x50\xab\x66\x0f\xd3\x99\xa6\x2c\xe1\xfb\x7f\xad\x19\xa5\xec\xeb\x70\x20\x77\x91\x13\x71\x8c\xb9\x10\x9d\x5b\x4d\x67\x98\x0c\xd0\x9e\x07\x7c\x2f\xc4\xd6\x5e\x77\xae\xbb\xba\x19\xc8\xb8\x2f\x1c\xdb\x94\x13\x28\x6b\x07\x50\x6c\xf3\xc2\x77\x07\xb7\xf8\x80\xab\x0a\x5b\x9e\xc7\x5b\xad\xad\x86\x10\xad\xd2\xac\xab\xae\xc0\x1e\x30\xb2\x53\x83\x3b\x64\x42\xb6\x93\x6d\x72\x46\x5c\x42\xc6\x99\xe3\xa0\x13\xc5\x12\xb2\x1d\xcb\x89\xec\xa5\x3c\x73\xe9\x87\x21\x4b\xde\xc5\x53\x94\xde\xaf\xba\x25\xb6\x4f\x6c\x03\x87\xb6\x89\xb6\xe5\x79\xf8\xc0\x8d\xfa\xb7\x8e\x35\x7c\x6f\x90\x0e\x73\xcb\xf3\xb2\x60\xd5\x7c\x27\xfb\x2c\xd5\x48\x24\x36\xe0\x31\x24\x66\x5d\xf3\x08\xd2\xea\x68\x1a\x96\x9d\x9a\xc2\xab\x27\x6a\x47\x67\x52\x0f\xb1\x3e\x61\xdb\xf6\x59\x07\x97\xa5\xf5\xe7\xfa\xe4\x97\xe7\x67\xdb\xee\xe9\x6c\xdb\x80\x9f\x53\x63\xe7\x9f\x9f\xe7\xbd\xbf\xc3\x27\xd6\x99\x4b\x76\x76\x76\xc8\xc3\xc4\x4a\x1d\xdc\xfc\xfd\x03\x74\x41\xe6\x8e\x3f\x42\xaf\x01\x6b\x4b\x98\xaa\xda\x42\x4a\x94\x52\xfc\xec\x61\x45\x5f\x5f\xe5\xab\x37\xc1\x4f\xd3\x9a\x29\x6a\x40\x29\xdc\x23\x85\xf2\xd3\xc9\x81\xf3\x1a\x2f\xa3\x48\x6a\x85\xcf\x6f\x39\x4b\xdf\xb1\x39\xcf\xb7\x1a\xcd\xd8\x61\x1c\x44\x59\x46\x18\x5f\xb3\xe4\x55\xbc\x8a\x66\x9e\x59\xc1\x56\x0a\xaa\x06\x39\x6b\xbe\x77\x10\x42\x1b\x36\xaa\xc9\x65\x75\x3c\xab\x9f\xec\xc5\x33\xb6\xcb\xf5\x04\x17\x4d\x4c\x69\x0b\x32\xe2\x8c\xe0\x85\x67\xd9\xc3\x1d\xbe\x2d\xc1\x11\xd4\xb5\x46\xf6\x0b\x2f\x68\xb5\x82\x17\x9e\x6d\x77\x77\xf4\x4a\x03\x82\xb6\x35\xb2\x69\xa5\x99\x56\xad\x55\x96\xed\x18\xae\x6d\xf7\x32\x54\xdd\x51\x03\x2a\xdb\xee\x55\x51\xd9\x35\x54\xb6\xd9\x03\x5c\x3d\x33\xc3\xd5\x1b\x36\xe1\xea\x99\x55\x5c\xdd\x1a\xae\x41\xbf\xdf\x1d\x00\x32\x27\x43\xd6\xb7\x1a\x91\x39\x55\x64\xbd\x06\xc2\x46\x43\xab\x6f\x1b\xae\xdd\xcf\x59\xd6\x6f\x62\x99\xdd\xaf\xb1\xac\x5f\xa7\x6d\x68\x99\x8e\x33\xe8\x19\x2e\xdf\xf6\xc8\xff\xfb\xff\xfc\xdf\x24\x8b\xbb\x6d\xd9\x19\xbd\xd6\xc8\xca\x8d\x7c\x86\xae\xdd\xae\x0a\x5a\x85\x88\x17\x2f\x06\xc6\xb6\x1e\xb4\xa1\x5f\x68\x5d\x14\x8a\x91\x0e\xb3\x32\xea\x18\x50\x4e\xe3\xdd\x5d\xbf\x6f\x8f\x06\x2f\xbc\xb8\xd5\x8a\x5f\x78\xfd\x61\xb7\xd7\xbd\xbb\x8b\x5f\x5a\x96\xd5\xb3\x2c\x6b\x47\x11\xee\xc6\x2f\x90\xd3\x90\x21\x54\x5f\x67\x9e\xc4\x8b\x3d\x29\x93\x7a\x6c\xb8\x7a\xdc\x16\xbd\x41\xd7\xc0\x60\x4d\xdb\x7a\xfc\xf2\xe5\x4b\xcb\x6c\x59\xa6\xdd\x35\x68\x7f\xd0\xb5\xcd\x6d\x1d\x1e\x5a\xb1\x61\xc8\xa3\xf6\x9a\xaa\xb6\xca\x63\x93\x26\xed\x76\xe9\x66\x18\x79\x7d\xcc\xc9\x81\xd3\x34\xc5\x16\x0e\x48\x61\x2c\x1a\xb2\x80\x54\x5e\xf2\x2e\xa3\x6a\xe9\x1f\x1f\x93\xd8\x1e\xd5\xb3\xc8\x4d\x23\x40\xae\x74\xb3\xae\x97\x0c\x97\x20\x83\xae\x35\xc2\xaf\xb4\xdb\x56\x56\x47\xb6\xf3\xbb\x84\x7f\xdb\x32\xc6\x12\x7d\xa1\xb3\x76\x74\x81\x7f\xb0\xad\x0b\x2e\x06\xc6\x8b\x17\x96\x69\x64\x3c\xa5\x40\xb0\x2b\x89\x90\xdf\x75\x25\x45\x18\xd0\x00\xa8\x16\x7a\xc3\x28\xeb\x8d\x71\x16\x35\x0e\x46\x81\x89\x43\xb4\xb9\x63\xad\x91\x7d\x17\xbc\x7c\xf9\x72\x60\xd0\xd4\xb3\x0c\x37\x78\x81\x15\xf4\xd7\x16\xb0\xed\x1e\x16\xb0\x6c\x28\x61\x1b\xee\x5a\xc0\x9e\x29\x00\x1d\x00\xec\x1a\xe3\xf4\xa5\x39\x36\x52\x18\x1c\x6b\x48\xb1\x1d\x41\xca\x5f\xd2\xd6\xa0\x5b\xbe\x44\xe8\x7a\x2a\xee\x0f\xbb\x9e\x76\xa2\x55\xf8\x25\x98\xf1\x4b\xcf\x14\xcf\xd3\x38\xe2\x49\x5c\xce\x4b\xd8\x85\x9f\xcc\xf6\xfe\xfd\xdb\xee\xe2\x3c\xb8\x58\xc5\xab\xd4\xdb\xb2\x24\x78\x21\x53\x94\xb1\x15\x9e\xc5\x79\x10\xc1\xc4\x77\x32\x19\x0e\x1c\xea\x0c\x47\x67\x74\x62\x59\xfd\x3e\xb5\xac\xbe\x83\xe9\x81\x49\x2d\x6b\x60\x41\xba\x67\xf7\xa9\xd5\x1b\x20\x4c\x6f\x68\x51\xf8\x11\xe9\x2e\xa4\x7b\x22\x3d\x80\xf4\x50\xa4\x47\x90\x46\x78\x18\x68\x56\xbf\x2b\xd2\x7d\x9b\x5a\xfd\x3e\xc2\x0c\x2c\x8b\x5a\x83\xae\x89\xe9\x9e\x43\xe1\x07\xd2\xc3\xbe\x49\xad\xe1\x00\x71\x0e\x07\x43\x48\x8b\xfc\x21\xe4\x0f\xbb\x90\x76\xcc\x21\x85\x1f\x91\x1e\x41\x1a\xf1\x3b\x3d\x93\x5a\xce\x60\x00\xe9\x51\xdf\xa1\xd6\x08\xcb\xda\xa6\x3d\xa4\xb6\xd9\xed\x43\xba\x6b\xf6\xa9\xdd\x35\x07\x98\x1e\xf4\x28\xfc\x88\xf4\x88\xda\xdd\xa1\xc8\x77\x2c\x0a\x3f\x22\x0d\xf0\x0e\xe2\xe9\x99\x36\xb5\x7b\x66\x17\xd3\xdd\x2e\x85\x1f\x4c\x8f\x20\x7f\x64\x8b\xf4\x90\xda\x7d\x13\xda\x65\xf7\xcd\x11\xa4\x47\x98\xee\x9a\xd4\xee\x77\x11\x67\x7f\x60\x51\xbb\x3f\x40\xf8\x81\x6d\x52\xf8\x11\xe9\x3e\xa4\x91\x86\x41\xd7\xa2\xf6\xa0\x2b\x60\xba\x90\xdf\x1d\x62\x7a\x68\x53\x7b\x80\x7c\xb0\x07\xce\x88\xda\x83\x11\x96\x1d\xf6\x1c\x0a\x3f\x98\xee\x77\xa9\x3d\x44\x3e\xdb\xc3\xfe\x88\xda\xc3\x81\x80\x19\xf4\x21\x8d\x7c\x18\x3a\x03\x6a\x0f\x1d\x84\x71\xac\x21\x85\x1f\x4c\x0f\x07\x14\x7e\x44\x7a\x04\x69\xa4\xdf\x01\x9e\x38\x0e\xd6\xeb\x8c\xba\x14\x7e\x20\x3d\x02\x9e\x8c\x4c\xa4\x73\xd4\x1b\x50\xf8\x39\xa3\x93\xae\x69\x3a\x14\x7e\x30\x6d\x5b\x14\x7e\x20\x6d\x75\x7b\xb4\x6b\x75\x11\xc6\xea\xd9\xb4\x6b\xf5\x7a\x22\x3d\x80\xf4\x08\xd3\xfd\x21\xed\x0a\x39\xec\xda\x03\x93\xc2\x8f\x48\x77\x21\xdd\xc5\xf4\x10\xf2\x87\x22\x7f\x38\x80\xf4\x10\xd3\x23\x87\x76\xed\x11\xe2\xe9\x8e\xba\xb4\xdb\x1d\x41\x7b\xbb\x3d\xb3\x4f\xe1\x07\xd2\xd0\x17\xf0\x23\xd2\x0e\xed\xf6\x7b\x22\x0d\xf4\xf4\x7b\xd0\x96\xee\xa0\xdb\xa5\xf0\x23\xd2\x03\xda\x1d\xc8\xfc\x7e\x9f\x76\x07\xd8\x77\xdd\xe1\xc0\xa2\xf0\x23\xd2\x3d\x48\x63\xbd\xc3\x21\xe4\x0f\x05\x8c\x03\xf9\x0e\xe6\x3b\x00\xe3\x20\xff\xbb\xc0\xc3\xae\xe0\x61\xd7\x19\xf5\x21\x2d\xf3\x87\x90\xc6\xb6\x8c\xfa\x5d\xda\x1d\xa1\x3c\x77\x47\x03\x87\x76\x47\x02\xe7\x68\xd8\x83\x34\xc2\x8f\x00\xff\x68\x84\x34\x8c\x46\x5d\xda\x33\x6d\xe0\x5b\xcf\xec\x3a\x14\x7e\x20\x6d\xf5\x2c\xda\x13\x7c\xee\x01\x9f\xe1\x07\xd3\x7d\x93\xf6\xac\xbe\x25\xd2\x5d\x48\x77\x31\xed\xf4\x68\xcf\x72\x00\x7f\xaf\xd7\x73\x68\x6f\x80\x63\xad\x37\xea\x8f\x28\xfc\x9c\xd1\x49\x7f\x64\x0e\x68\x7f\x84\xfd\xdb\x1f\x75\x1d\xda\x1f\x21\x0f\xfb\xa3\xa1\x49\xfb\x23\xd4\x0f\x03\xd3\xb4\xe9\xc0\xc4\xf1\x32\x30\x07\x0e\x1d\x98\xc8\x9f\x81\x39\xb4\xe8\xc0\xc4\xfe\x1a\x98\xce\x80\xc2\x8f\x48\x8f\xe8\xc0\xc4\xbe\x1b\x58\xe6\x88\xc2\x0f\xa6\xfb\x7d\x3a\xb0\x50\x9e\x07\x5d\xab\x4b\xe1\x07\xd2\xbd\xae\x4d\x07\xbd\x6e\x4f\xa4\x47\x74\xd0\x43\x1a\x06\xbd\xbe\x49\xe1\x47\xa4\x87\x90\x46\x3c\x83\xe1\x88\x0e\x06\x0e\xe6\x8f\x2c\x9b\x0e\x46\x56\x1f\xd3\x83\x1e\x85\x1f\x91\x1e\xd0\xc1\x68\x28\x60\x86\x00\x83\x3c\x1f\x8c\x86\x0e\xa4\xa1\xbd\x43\xd3\x1a\xd1\xa1\x69\x03\x3d\xc3\x81\x35\xa0\x43\x31\x66\x87\x83\xa1\x43\x87\x03\x1c\x2f\x8e\x6d\x76\xa9\x63\x23\xdf\x1c\xbb\xdb\xa3\x8e\x8d\x7d\xe1\xd8\x8e\x43\x1d\x1b\xfb\xcb\x01\x59\x75\xba\xc8\x1f\xa7\x67\x9a\xd4\xe9\xa1\x7e\xb0\xec\x6e\xd7\xa4\xf0\xdb\xc7\xa7\x5e\xcf\xa2\xf0\x0b\x74\xf4\xba\xa6\xd5\xa3\xf8\x2b\x9f\x46\xf8\x34\x12\x4f\xbd\x3e\x3c\x61\xef\x0e\x7a\x36\xb0\x16\x7e\xe1\xa9\x6f\xda\x3d\x3a\xe8\x9b\xa8\x89\x07\x7d\xb3\x3f\x80\x27\xc1\x97\xbe\x0d\x8c\x81\x5f\x7c\xea\xdb\x23\x0c\xac\x8a\x7d\xe8\x98\xa3\x21\x85\x5f\x7c\xe7\x58\xa6\x45\xe1\xd7\x96\x4f\x0e\x3c\x59\x02\xd2\xea\xdb\xf0\xd4\xef\xc9\xa7\x11\x3e\x09\xcb\x32\xb2\x7a\x5d\x8a\x7f\xfa\xf2\x19\x6d\xcd\xc8\x42\x4e\x63\x42\xbc\x97\x96\x68\x64\x5b\x60\x7f\x46\x36\xf6\xb4\x65\x8d\xba\x03\x9b\xe2\x1f\xc0\x3e\x02\x33\xd1\xa7\xe2\x8f\x7c\xee\x0e\xe0\x79\x80\x54\x8f\xac\xe1\x70\x60\xc2\xf3\x68\x34\x3a\x3b\x13\x46\xcf\xcf\xec\xe3\x04\xcc\x0f\x95\xc6\x6d\xd0\x03\xdb\x83\xa9\x21\xb5\xa4\xb1\x01\x5b\x83\x84\x0d\x7b\xd4\x1a\x4a\x63\x04\x76\x06\xcd\x8c\x0d\x56\x06\x53\x60\x63\x10\xcb\x08\x52\xc2\xd8\x38\xd4\xc6\x61\x61\x5b\x7d\x6a\x5b\xa8\x48\x6d\x9b\xda\xb6\x34\x3f\x60\x7d\x30\x65\x53\xbb\x2b\x4d\x0f\x58\x1e\x61\x60\xc0\xbe\x60\x0a\x2c\x8a\x30\x2e\x68\x4f\xd0\x6c\xd8\xd4\xee\xa3\xa2\xed\xf7\xa8\x8d\x6c\xb6\xfb\xf0\x56\x28\x7a\xd0\xf9\x5d\xa1\xf2\x41\xfb\xa3\xa2\x06\x3d\x2d\xd4\x74\x8f\xda\xa8\x60\xec\xd1\x88\x4a\xf5\x08\x1a\x11\x05\xb4\x6b\x81\x1e\x46\xd5\x62\x8d\x68\xd7\xc6\x94\xdd\xa3\x5d\x1b\x55\xb3\xed\xd0\x2e\xb2\xb5\x0b\x3a\x51\xa8\x44\xd0\x9a\x28\x4a\xdd\x3e\xe8\xcf\x91\x50\x93\xa0\x31\x41\x10\x07\x36\xed\xa1\x8a\xec\x0d\x7a\xb4\x87\xdc\xed\x0d\x06\xb4\x87\xaa\xac\x37\x00\x8d\x82\x8a\x69\x68\xd2\x1e\xf2\xb9\x37\xb4\x69\x0f\x07\x5a\x6f\xd8\xa3\xc2\xa5\x00\x8f\xa2\x87\x86\xa8\x3f\xea\xd2\xfe\x48\xa8\x11\xd4\x10\x38\x08\x1d\x3a\x44\x3e\x0f\x2d\x8b\x0e\x51\x04\x87\x56\x97\x0e\x71\x48\x0f\xad\x21\x1d\xa2\x41\x1b\xda\x26\x1d\xa2\x79\x1d\xda\x0e\x1d\x62\x3b\x86\xdd\x2e\x1d\x62\x3b\x86\xdd\x3e\x1d\x76\x85\x08\x75\xe9\xc8\x06\xcc\xa3\xae\x45\x47\xd8\x1f\xa3\x5e\x9f\x8e\x50\x4a\x46\x83\x2e\x1d\x09\x07\xc8\x04\x67\xc8\xc4\xde\xb4\x4c\x70\x38\x2c\x53\x88\xa8\x09\x02\x8d\xe2\xe8\x80\x10\x38\x42\x0a\x1c\xdb\xb2\xa8\x63\xe3\x70\x75\x6c\x6b\x00\x69\xa1\x14\x6c\x93\x3a\xb6\x2d\x14\x81\x0d\x0a\x02\x95\x88\x63\xdb\x50\xb6\x2b\xf2\x7b\x00\x83\x12\xe1\x80\x48\x38\x42\x26\x1c\xbb\xd7\x87\xb4\xa8\xab\x0f\xf8\xfb\x02\xbe\x0f\x78\x50\x32\x9c\xae\x89\xca\x05\x69\x80\x6e\x85\x1f\x4c\xdb\x16\x75\x44\xcf\x3a\xe0\x00\x39\x62\x48\x39\x3d\xc0\xd3\x13\x78\x7a\xfd\x2e\xa4\x85\x62\xea\x0f\x21\x8d\x34\xf7\x06\x90\x1e\x88\xf4\x10\x14\x16\xf6\x9e\xd3\x73\xa0\xac\x63\x8b\xf4\x00\xd2\xd8\x96\xde\x08\xf2\x85\xb2\xeb\x77\x2d\xea\xf4\xd1\xa1\x71\xfa\xdd\x11\x75\x84\xa1\x75\xfa\xbd\x1e\x75\xfa\x7d\x6c\x4b\x7f\x60\x52\xa7\x8f\x7c\x76\xfa\x23\x9b\x3a\x03\x13\xcb\x0e\xba\x90\xc6\x1e\x73\x06\x7d\x87\xc2\x0f\xa6\x01\x7e\x80\xce\x81\x03\xca\xdd\x91\xca\x77\x68\xf6\x28\xfc\x88\xf4\x00\xd2\x48\x33\x88\x8a\x33\x44\x49\x77\x86\x56\x1f\xd2\x7d\x91\x1e\x41\x5a\x94\x05\xfe\x0c\x45\xbf\x0c\x6d\x80\xb1\x05\x4c\xd7\xa4\xf0\x23\xd2\x5d\x48\x0f\x44\x1a\xca\x76\x45\xd9\x1e\x94\xed\x89\xb2\x3d\x80\x41\x87\xcc\x01\xa7\x16\x7e\x44\x1a\xe8\xe9\x0b\x78\xe0\xbf\x70\xc8\x9c\xe1\x10\xf2\x87\x02\xa7\x03\xf0\x8e\x80\x07\x7e\x0e\x05\x3f\x1d\x30\x12\x8e\xe0\x89\x03\x6d\x14\x4e\xb0\xe3\x58\x90\x6f\x89\x7c\x0b\xf2\x45\xbb\x1c\x30\x3c\x4e\x57\xa6\x1d\x48\x63\xbd\x0e\xf4\xaf\x23\xfa\xd7\x81\xfe\x75\x44\xff\x3a\x83\x11\x85\x1f\x4c\x8f\xfa\xd4\x11\x4e\x89\x03\xc6\xcf\x11\xc6\x6f\x04\xca\x62\xd4\x43\x47\x6d\x04\x32\x33\xea\xf7\x70\xac\x80\x73\x3f\xea\xa3\x43\x39\x1a\x98\x26\x0c\x1c\x1c\x57\x03\xcb\xa1\xa3\x81\x2d\x47\x91\x4d\x47\xa2\x1f\x47\xe0\xd4\x8e\x06\x3d\x91\xdf\x07\xf8\xbe\x4c\xf7\x20\x2d\xca\x82\x12\x1f\xc8\x11\x38\x80\xfc\x81\xc8\x1f\x42\x3e\xea\x8b\xd1\x60\x08\x78\x86\x32\x1f\xea\x72\x04\xfc\xc8\xa1\xa3\x21\xf2\x6a\x04\xfd\x3e\x12\x3a\x62\x04\x7d\x37\x1a\xa2\xe6\x1d\x0d\xbb\x43\x48\x23\xcd\xc3\x9e\x4d\x47\x43\x1c\x5f\x23\x70\xa6\x47\x43\xd1\x46\xe8\x2f\xf8\x11\x69\xc8\x47\xd9\x1b\x0d\x47\x00\x8f\x4e\xff\x68\x38\xea\x41\x1a\x71\x3a\x76\x8f\x8e\x1c\x94\x99\x91\x63\x0f\x21\x8d\x78\x1c\x50\x2b\x8e\xa8\xd7\x01\x63\xe5\x88\x7a\x9d\xee\x08\xd2\x42\xb7\x80\x01\xc7\x5f\x7c\xb2\x4c\x9b\x5a\xa6\x30\xaf\x30\x8b\xee\xd1\x41\x57\x50\x88\x13\x63\x34\xd2\x5d\x81\x03\x35\x91\xd9\x73\xfa\x62\x86\x84\xa9\x01\xc5\xe5\x11\x33\xb3\x80\x41\x7a\x5c\xbb\x73\x55\x5d\xa2\x69\x62\xdc\xf4\xe2\xdc\xb0\x70\xd4\x7b\xae\xb3\x17\xe5\x97\x13\xf3\x6c\x62\x9e\xdd\xdd\xb1\x97\x95\xfc\xf8\x6c\x62\x9d\x95\xbf\x60\x8c\xe3\x97\x5e\x32\xc6\x80\x7f\x5e\xe1\x8a\x4a\x3d\xd9\x8e\x8d\xe7\xb6\x41\x6b\x38\xb8\xc0\xe1\xf1\x6d\x2b\xdb\x6d\xb7\x55\x27\x01\x2f\x8c\x28\x6c\x14\x8e\x3d\xde\xb6\xee\x55\xd5\xf7\xaa\xcd\xa5\xa9\xf1\xc6\xa6\x67\x1e\x42\x53\xd3\xb3\x97\x95\xa6\xe7\xf9\x3f\xde\xf4\x1c\xc7\xc6\xa6\x97\xc0\x1e\x6e\xfa\xf4\xd2\x4f\xc4\xb4\xbf\xe1\x33\xcc\x9a\xb5\x83\x9d\x72\xc9\x23\x04\xc8\xde\xea\xcc\x70\xcb\x00\xaf\x83\x34\xa9\xc1\x54\xeb\xaf\x03\x35\x51\x64\x7a\x9e\xc7\x76\x4a\xeb\x1e\x2e\x7b\xd1\xb5\x81\xd3\x9e\x65\x0f\x5b\x2d\xf6\xc2\x1a\x98\x3b\xb5\x95\x10\x97\xbd\xb0\xec\xe1\x8e\xe5\x16\x85\x5c\x67\xc6\x8e\xe9\x5a\xdb\x3a\x7b\xe9\xf5\xba\x7d\xbb\xd5\xd2\xd9\x0b\xaf\xd7\xeb\x0d\xef\xee\x46\xa6\x69\x79\x1e\xc3\x84\x8d\x09\xa8\xc1\x1a\x99\x3d\xa8\xc3\xeb\xd9\xd6\xc8\x6a\xb5\x2c\xbb\xdb\xb7\xb6\xe4\xdb\x5e\xcf\xec\xda\xf8\xb6\xdf\xb7\xcd\x2e\xe6\xc1\x60\x14\x25\x06\x3d\xbb\xdf\x17\x79\x7d\xb3\x67\x8a\xbc\xbe\xd9\x1b\xa9\xbc\xa1\x2d\xf3\xac\xae\x82\xb3\x1d\x05\xd7\x1d\x0e\x64\x5e\x5f\x52\x30\xe8\xf7\x2d\x53\x50\xd5\xb5\x54\x61\x0b\xd4\xa1\x28\x8d\x49\x07\x73\xed\x81\x6d\xf5\xe4\x57\xe5\x0d\x3d\xb7\x56\x04\xca\xe3\x03\xb8\xd6\xbc\x74\xf4\x84\x7e\x4f\x79\x83\xd8\x65\x6b\x95\x72\xc0\x99\xe3\x38\x5f\xac\x34\x64\xd0\x52\x96\xaf\x01\xef\x72\x19\xa3\x47\xe7\x5e\xb9\x6a\x3d\x35\x8c\x17\xea\x92\xe8\xb6\x35\x4e\xb6\x3d\x4e\xe3\x6d\x2f\x55\xcb\x79\x96\x6b\xdf\x17\x23\xd8\x03\x49\x18\xdc\x72\xdd\x85\x16\x34\xc2\xc1\x1a\x7b\x26\x8d\x4a\x84\xb5\x5a\x5b\xba\x1e\x6d\x57\x09\x28\x2d\x78\xc6\x86\x61\xbc\xe4\x06\x46\xa8\x1a\x67\x01\x11\xb7\xbc\x44\xb4\x39\xf5\x62\x44\x9a\x16\x90\x46\x2f\xbc\x64\xfc\x00\xda\xd4\x30\x68\x0a\x28\xd5\x19\xfb\x97\x49\xab\x95\xb6\xdb\x54\x5d\x44\x1d\x44\x17\xe2\xc6\xd6\xec\xa6\xc2\xec\x16\xa5\x52\xa3\x4b\xdb\x5b\xca\xb7\x7a\x17\xa0\xc4\x9b\xb6\x08\x7c\x56\x0c\x7d\x89\xf7\x48\xcf\x62\xfe\x5c\x04\x55\x0e\xe3\x8b\xe7\x57\x2c\x49\x83\x38\x22\x94\x70\x76\xc3\x9f\x2f\x43\x3f\x80\x07\xab\x63\x0d\xf0\xec\xd2\x03\xc5\x67\x3e\x67\xd5\xb2\xb6\x69\x0d\xdb\xa6\xd3\x56\x18\xf8\x8c\x2d\xc5\x0d\xd6\x32\x9c\x02\x29\x46\xdb\xe8\x88\x3d\x73\x27\xb7\x4b\xb9\x19\x2a\xee\xfc\x1a\xc7\x8b\x2f\x7e\x02\x76\x41\x6d\x1c\x21\x7f\xff\xf8\xf1\xbd\xb6\xe5\x69\x96\x69\xfe\x99\xd0\x58\xc5\x00\x8d\x97\xb7\x19\xc8\x7f\xff\xbf\xfe\x4f\x78\x33\x63\xe9\x37\x1e\x2f\x3f\x00\x40\x20\xbe\x7d\x9e\x04\x3c\x04\x80\xff\xfa\xdf\xb4\x3f\xeb\x1c\x1e\x0c\xed\xbf\xff\xd7\xff\x06\xd0\x9c\xa5\xfc\x35\x5b\xa6\xde\x84\x5c\x72\x96\x2c\x3a\xc7\xd3\x24\x0e\xc3\xc3\x38\x11\x3b\x06\x52\x42\xf3\x17\x8c\x45\x95\xcc\x13\x96\x2c\x82\xc8\x0f\x2b\xd9\x9f\x4f\xea\x19\x7b\x7e\x14\xb1\x99\xc8\x3e\x43\xce\x5e\x04\x29\x67\xc9\x9b\x28\xe0\xba\x00\x23\x74\xdd\xd1\x6e\xe3\x7b\x89\x51\x1c\xc3\x60\xd2\x6a\xb4\x9a\x58\x05\x9c\x96\x8c\xbe\xbb\xd3\x9b\xef\x90\x97\xd1\x27\xaa\xcf\x18\xcd\x76\xa7\x8a\x45\x6e\x81\x2d\x47\xe4\xd3\x1b\x4a\x1a\xee\x03\x45\x31\xae\x93\xda\x50\xbe\x85\x06\xf9\xc9\x77\xdc\xbf\xf7\xa3\x60\xce\x52\xae\xd4\xcc\x7a\x08\xdd\x18\x27\x5e\xda\xf1\x97\xcb\x56\x0b\xff\x74\xce\xfd\xe9\xb7\x8b\x24\x5e\x45\xb3\xfb\x64\x67\x4d\xec\x19\x11\xf4\x95\x2c\xe3\xe5\x6a\x49\xee\x0d\x6a\x1a\x6e\x33\x8d\xdc\x3f\x4f\x77\x0a\x69\xfc\xe4\x2e\x36\xb9\xe6\x5b\x25\x60\x7c\xb6\x5a\x25\x04\xaa\x8c\xc8\x14\x71\xa4\x13\xf9\xf4\x66\x26\xc2\x19\x73\xc3\xd5\x4b\x1d\x4e\xa2\x38\x59\xf8\x21\xa9\x76\xb9\x71\x5f\x3e\xb4\x52\x6f\x88\x2c\x88\x2d\xb9\x37\x68\x8c\x64\x86\x01\x8b\xf8\x71\x69\x3f\x67\xf1\x9a\xd4\x0b\xc6\xf1\x4b\x5d\x10\x5d\x08\xd0\x23\x36\xc5\x10\xdc\x85\xd2\x6b\x9d\x91\xb5\xc5\x3b\xd7\x50\xa4\x84\xe4\x67\x16\x5c\x5c\x36\x1e\xbf\x5e\x8f\xe5\x12\xcb\x00\x9a\x69\xbc\x94\x37\xe9\xc2\x18\x8f\xf7\xc2\x60\x79\x1e\xfb\xa5\x8b\x3d\xc5\x4e\x07\xd6\x61\x37\x6c\xba\x17\x2f\x16\x7e\x34\xd3\x09\x94\x23\xc5\x40\x4b\x80\x6c\xe9\xa7\x9c\x1d\x24\xf1\x62\x3d\x9a\x8c\xb4\x12\x36\x2c\x48\x6a\x9b\xb1\xf1\x28\x96\xd2\x53\x0d\x01\xb3\x70\xb3\x88\xf7\x52\x59\x18\x8f\xed\x30\x97\x8f\xf3\xc7\x56\x0b\x7a\x71\x0b\x3d\x1a\x9d\x79\xdf\xef\xd5\xb8\xf9\x7e\x1e\xcf\x6e\x5d\xd6\x81\x3f\x34\x98\xc6\x91\xcb\x75\xd6\x81\x44\x73\xa4\x5d\xa9\x5b\x9e\x07\x0b\xff\x82\xa5\xcf\x01\xb0\x3d\x1a\x10\xf0\x32\x52\x0f\x8a\xa2\x42\x54\x5b\x97\x67\xf1\x14\x37\x4b\x88\x5c\x43\x86\xdd\x96\xea\xc9\xc0\xb8\xcf\x73\x75\x8d\xee\x67\x3f\x49\xf5\xf5\x0a\x97\x7e\x47\x1c\x6e\x7a\xaf\x2e\x6a\x02\x6d\x50\x04\xd3\x53\x9a\x14\xae\x67\x8a\xa3\x69\x18\x4c\xbf\x15\x77\x42\x48\xaa\xe6\xf1\x74\x95\x66\x57\x34\x85\x31\x5e\xd6\x4b\x23\x60\x70\x45\x8a\xb3\x23\x2f\x28\x6c\x6a\xe3\x99\x90\x19\x8f\xab\x02\xe5\x3b\x3e\x7e\x23\x86\x69\x18\x47\xac\xe1\xf4\x3f\xb4\x56\x00\xeb\x39\xbe\x22\x36\xa3\x01\x19\x0c\xe6\xb8\xbe\x11\x46\xd2\x52\xc7\xe1\xb1\xc2\x80\xa8\xe0\x62\xff\xb1\xf2\xc3\x46\x6f\xb1\x80\x53\x21\x95\xbb\x62\x24\xd6\x4d\x68\x37\x6c\xb4\x9d\x48\x53\x19\xfc\x9a\x6f\xa8\x45\xec\xf2\x98\x63\x5e\xc3\x36\x39\x23\x80\xfb\x28\xbe\xde\x8b\xc3\xe6\xdd\xd4\x49\x7c\xad\xd8\x3f\x8d\xc3\xd5\x22\x52\x5b\xa9\xe3\x2b\x96\xcc\xc3\xf8\xda\xdb\xda\x4a\x72\x24\xc5\x6d\xf0\xf1\x55\xfd\x1e\xc6\xdf\x88\x73\x73\x37\x0b\x70\x5d\xd5\x51\xac\xa1\x8c\xdf\x68\x44\xbe\xa6\xdb\x91\xda\x2a\x3e\xf4\xac\xeb\x88\x3d\x96\x25\x1b\xab\x78\x40\x1a\xa0\x2a\x51\x97\x94\x04\x59\x59\x56\x9b\x8a\x19\xa8\xaa\x7b\xa8\xbe\x87\xc5\x44\x14\xc9\xb7\x54\xc7\xd7\x05\x31\x11\x95\x16\x32\x54\x65\x42\x72\x4a\x7e\xe5\x9c\x80\x61\x3b\x48\xfc\xc5\x9a\x5e\xe7\xd2\x4d\xcb\xa2\x7d\xcf\x82\xab\xaf\x1e\xc3\x3f\x22\x63\x95\x84\x99\x24\xe0\x19\x8d\xd4\x4b\xf2\xd0\x04\xc1\x1c\x70\x17\xb7\x14\xc3\x9c\xd5\x0f\x22\x96\x14\x33\xe5\x3d\xf4\x7b\x97\xe0\xea\x85\x6a\x43\xbe\xa4\xac\xb4\x7b\x39\xdb\xea\x5c\xec\x0e\x15\x05\x0a\x03\x18\xe1\x55\xd4\x32\x1e\x54\xb0\x9c\xb6\x83\x28\xe0\xed\xf8\x1b\x71\x65\xa7\xe5\xe7\x6e\x52\x16\xcd\x94\x1f\xfa\x26\x9a\xc7\x5f\x75\x63\x8c\xc5\x54\xab\xdb\x41\x34\x8f\x8b\x65\x2b\x2d\xe8\xa4\xfc\x36\xc4\x08\x2e\xcb\xd0\xbf\xf5\xc8\x3c\x64\x37\xa4\xb1\x45\x9d\x65\x9c\x70\xab\x13\x47\x32\x5f\x9d\x70\x91\xcd\x29\xee\x40\x2e\x9e\x0b\x7a\x17\xfb\x33\xdd\x18\x4b\xdf\xb0\xd4\x82\x52\x00\x97\xca\x7d\xfe\xda\x3c\x89\x17\x1a\xb2\xde\x25\x54\xb0\xc5\xb8\xdf\xc8\xd0\xa2\xb0\x35\x03\x02\x2d\xf5\x4d\xe3\xb5\x9e\x63\xd7\xda\xfb\x52\xde\x8f\xf0\xa3\x7e\xce\xa7\xb9\x3c\x6e\x9a\x56\xe6\x4d\xca\x1a\xf6\x0f\xfa\x59\x68\x01\x97\x71\xca\x25\x56\xfd\x3b\x86\xc9\xc9\xa4\x82\x50\x3f\xb9\xb8\x72\x27\xdf\x25\x72\x98\xbb\xb8\x6b\x6b\xb3\xef\x55\x54\xbf\x55\x12\xd2\xc9\x7a\xb8\x33\x63\x3d\x03\x1f\x62\x73\x4d\x24\x4b\xe7\x86\x3a\x73\xbc\x65\x7f\x3a\x65\x4b\xfe\xce\x8f\x2e\x56\xe0\x98\xe8\x35\xe5\x57\x6c\x72\x59\x96\x09\x9d\x7c\xf7\xcb\xc5\x5d\x46\xe7\x71\xc2\x84\x77\xbf\x17\x87\x71\xe2\x96\x47\x3e\x54\x79\x50\x86\xd0\x0d\x9a\xcf\x08\xd6\x95\x79\x55\x86\xd0\x0d\x3a\x5d\x25\x69\x9c\xac\x83\xdf\xcb\xdf\xea\x06\x9d\xc7\xc2\xcf\x6e\x24\x46\xbc\x92\x50\x07\xfe\x22\x08\x6f\xd7\xc0\x89\x97\x48\x6f\xca\x3e\x1d\xbd\x73\x25\x0f\x3f\x1d\xbd\xc3\xeb\xf9\xef\xcf\xaa\x77\x16\x37\xf5\xdc\x1e\x38\x4e\x7b\xe0\x62\xb1\x86\x21\x90\xb9\x55\xf5\xa2\xf8\xaa\x61\x77\xab\x52\x20\x99\xc5\xc8\x34\xca\xd2\x87\x79\xd0\x87\x78\x96\x05\x65\x6b\x7c\x59\xbc\x21\xb3\x0a\x96\x9d\x8e\xdd\x13\x84\x6d\x6a\xd4\x43\xf2\x58\x10\xa5\x86\xdd\xda\x4d\x63\xa0\x7e\x4f\x91\x2c\xaf\x4d\x05\x84\x16\xa4\x78\x7c\x26\x65\x5c\x5b\x2d\x3b\xea\xfa\xf1\xe6\x01\x5e\x1f\xbd\x4c\x0c\x5a\x7e\xdf\xd8\xac\xf4\x32\xbe\x2e\xb6\x29\x5b\x0a\x60\x78\xb7\x67\x36\x13\xc1\x78\x50\xca\x60\xed\x64\xa9\x09\x3b\x73\x93\xfb\x3c\x14\xb0\x3c\x34\x9c\x47\xdf\x78\x54\xcf\x19\x4a\x37\xab\x03\x7a\x40\xa4\xe6\xcb\x8b\xd7\xaf\x82\x34\x38\x0f\x19\x11\x7b\xf6\xe4\x56\xf7\xca\xec\x52\xcf\x6c\xad\x41\x03\x8f\xe9\x04\x7d\x41\x42\x07\x3d\x13\xa6\x12\x4c\x27\xc2\x19\x24\xb4\xe7\x98\x78\x51\x64\x22\x3d\xdc\x44\xba\x89\xb4\x32\x1e\xd4\xf4\xe4\xab\x41\x7d\xaf\x66\x88\x55\x14\x9e\x90\x01\x8c\x4e\x66\xc1\x15\x31\xc6\xbe\xb4\x6f\xd3\x34\x3d\x61\x37\xdc\x23\xcb\x38\x0d\x44\x10\x25\xff\x3c\x8d\xc3\x15\x67\x63\x69\xfb\x5c\x2d\x8a\x23\x36\x06\x03\xd8\x9e\x05\x89\x98\x59\xba\x9a\xf0\x45\xc6\x3c\x5e\xba\x9a\x65\xfe\x79\x1c\xb2\x39\x77\xb5\xde\x9f\xc7\x48\xac\xab\x8d\xcc\x3f\x8f\x05\xbd\xae\xe6\x98\x7f\x1e\x2f\x82\xa8\xad\x9e\x6d\x78\xf6\x6f\xda\xc5\xf7\xe7\xf1\x4d\x3b\xbd\xf4\x67\xf1\xb5\xab\x99\x9a\xa9\xd9\xcb\x9b\xfc\x60\xe2\x26\x7d\xb5\x4d\xc6\xe7\x71\x32\x63\x89\xfb\x94\x32\x5a\x1a\x87\xc1\x6c\x4c\x70\x16\x16\x7a\x65\x8f\xa6\xca\x33\xf1\x82\x18\xe3\xb0\x13\x47\x21\xe8\xfa\x82\x11\x2f\x19\xb4\xb0\xca\xd7\x8c\x89\xc0\x3f\x64\xa2\xab\x59\x8a\x47\x62\xe1\x2e\x04\x4f\x77\x97\xf3\x24\x38\x5f\x71\xa6\x93\x34\x99\x92\xcc\x1a\x19\xf5\xd7\xcc\x5f\x84\x2c\x4d\x09\xdd\x32\x0d\xea\x77\xfc\xe5\x92\x45\x33\xa1\x2e\x42\x23\x77\xe5\x4a\x2f\x7c\x71\x3c\x42\xfa\x87\xc2\xd5\x7c\xcb\x6e\x71\x4e\x0f\x89\xf7\xfe\x12\xfd\x45\x95\xd7\x74\xec\x40\x30\x54\x79\x8b\xdf\x24\xa4\x64\x52\xd1\xe5\xbb\xf4\xa3\x59\x28\x02\x82\x4f\x08\x4e\x53\xe3\x15\xcf\xae\x7f\x38\x80\x8c\x8f\xe5\xb3\x59\x67\x74\x42\xbe\xb1\xdb\x59\x7c\x1d\x65\x70\x6f\xd9\xed\xeb\xf8\x3a\x6a\x00\x5b\x26\xd8\xfc\x1c\xee\x10\x32\x1a\x00\x57\xcb\x22\xd4\xa7\x65\x15\x84\xb3\x1b\xfe\x26\x5a\x16\x88\x3b\x51\x39\x25\xd0\xb3\xac\xc9\xef\xfd\xa5\x27\x26\x37\x15\xee\x15\x1d\x1a\x28\x19\x44\x17\x69\x15\xf2\x95\xcc\x2f\xc2\xfa\x21\xff\x29\x79\x1f\xcf\x70\x39\x2b\x52\x97\x64\xe0\x61\xf6\x37\x51\xca\x12\x7e\xe8\xa7\x9c\x79\x5b\x72\x0b\xfe\x65\xbc\x60\x6f\xd9\x6d\x2a\x56\x64\xb3\x30\x5d\x4b\xff\xa2\x29\x7b\xca\x93\xf0\x30\x5c\xa5\xef\x83\x68\x95\xfe\x9d\x25\xf1\xdf\xe3\x78\x91\xe1\x82\xb7\x7b\x7b\xf1\xf2\xb6\x04\xff\x59\x56\x28\xb3\xfc\xa5\x08\x46\x18\x20\x0b\x97\xfe\xac\xe9\x8d\xb0\xef\xd9\x1b\x70\x20\xd2\xa5\x3f\x65\xc7\x2c\x9a\xa5\xaf\xd4\x53\x5e\xcd\xa5\x9f\xf8\x53\xce\x92\xfd\x68\x1a\x03\x47\x3c\xb2\xe2\xf3\xb6\x93\xf9\xd7\xdc\xc7\x92\xfb\xe9\xd4\x5f\xe6\x6d\x5f\xfa\x69\xfa\x9e\x71\xff\x73\x96\xe3\x87\x1c\x01\xbf\x5c\xfa\xdc\x23\x0c\xc1\x49\xf6\xea\x0d\x42\xe7\xf4\x86\x3c\x23\x45\xbc\xaa\x53\xe6\x87\x5c\x89\x13\x9b\xa9\x23\x25\x0b\x36\x0b\x7c\xe0\xee\x6e\xc2\x0e\xe0\x6f\xce\xf6\x84\x5d\x05\xf1\x2a\xdd\x2d\xd0\x91\xcf\x70\x8a\x12\xb2\x3b\x15\xf3\xa7\xef\x7b\xbb\x1f\xf6\xf6\x85\xaf\x52\x0c\x8f\x26\xb2\x89\x41\xe5\xe5\x5e\x35\x00\x99\x4f\x0c\x7a\xb8\x7b\x7c\x5c\x7b\x0d\x99\xc4\xa0\xc7\x27\x47\x6f\x0e\x6b\x2f\x31\x97\x18\x25\x9a\x0a\x73\xe0\xa8\x76\x16\x46\x4e\x49\x45\xa7\x78\x5e\x73\xa7\xed\x94\xd4\x42\xe7\x8a\x17\x76\xf1\xeb\xcc\x70\xd9\x9a\xfa\xf0\x30\x5b\x18\x36\x6a\x1a\x71\xec\xad\x51\xbf\x18\xdf\x99\x34\xcc\xd5\x37\x32\xbb\x82\x17\x17\x7c\xf3\xeb\xe9\xb9\x67\x8e\xf9\x8b\xb2\x7a\x52\x5f\xe7\xb8\x3a\x4a\x20\xa3\x13\x64\x00\x13\x7e\x36\x66\x3b\xac\x7e\xa7\x4d\x32\x31\xcf\x68\x32\xb1\xce\xe4\xf9\xcc\x2a\x49\xd2\x87\x5b\x57\xe8\xbe\x59\x83\xb2\xfb\x35\x2c\x5b\x45\x6b\x99\x26\xb5\x73\x63\xe3\xd7\x60\x2b\x6a\xb9\x72\x94\x2b\x9c\x4d\xb6\x5a\x72\xb2\x2d\x0f\xb9\x11\xa3\x7c\xe3\x6c\xd6\xe3\x71\xf4\xf9\x04\x86\x03\x4f\xe2\x6f\x85\x69\x6e\x06\x60\xac\x27\x20\xd3\xd9\x0d\x8b\xc0\x4d\xc7\x09\x58\xe7\xfa\x32\x98\x5e\x1a\x1d\x1e\xbf\x8b\xaf\x55\x8c\x67\xbc\x3d\x93\xa1\xd6\x7a\xcb\x6e\x5b\xad\x2d\x86\xba\xe3\x2d\xbb\xbd\xbb\x23\x53\x82\x77\x3a\x90\x2b\xf8\x2b\x6f\x0b\x12\xc3\xbb\xd5\x22\xe7\x49\x7c\x9d\xb2\xa4\xfd\x8d\xdd\x2a\xf9\x2e\xea\x92\x56\x0b\x43\xbf\xa9\xaf\x95\x4a\x38\x9a\x29\xfb\xc6\x6e\x11\x68\xcc\x84\xda\xc6\xea\xf5\xc4\x4b\xca\xc4\x1a\x34\x29\x7e\xfe\x34\x8d\x6d\xcb\x76\x54\xfc\x7f\xf5\xe2\xa5\xd7\xb5\x5b\x2d\x3d\x29\x56\x3e\x4e\xa4\x80\x37\x33\x5e\x6f\xa2\x2a\xc1\x90\x95\xa0\x9e\x58\xa4\x02\xa8\xca\xc8\x50\xf1\xf2\x30\x89\x97\xfe\x85\x58\x6c\x36\xd6\x89\x9c\x2c\x2b\x3e\x6c\xed\x2e\x97\x1f\xe2\x68\x8f\x27\xe1\x31\xb4\x50\x22\x2c\x77\x5e\xe5\x83\x50\xe9\x51\x7c\x6f\xaa\x65\xc9\x8f\x39\xad\x96\x5e\xe8\xc4\x22\x17\xeb\x4d\x58\x2f\x52\x99\x5b\x51\x77\x5d\x2a\x5a\x7d\x93\x54\x7e\x5a\x96\xcb\x5b\x0e\x08\x82\xec\x62\x35\x6d\x2b\xe3\xab\x67\xb5\xfe\xa1\x5b\x2f\x5e\x30\xbc\x1e\x0b\x10\xb5\x2d\xc3\xa0\xf6\xb0\x84\x29\xb3\x1f\x0f\x31\x19\xb7\x1d\xac\x27\x18\x5d\xa4\x75\xd1\xaf\x63\xe3\x7b\xe0\xc5\xf2\x43\x43\x32\x89\xcf\xd4\xcd\x81\x0a\x26\x3f\xf3\x1c\xb5\x5a\x7a\xe4\x45\x32\x92\xab\xf2\x75\xe8\x84\xd1\xe4\xcc\x80\x69\x88\xe7\xf9\xad\x96\xfa\x72\xb6\xe5\xc5\x08\xcf\x75\x95\x03\x30\xf7\x3f\xc4\xad\xbb\x2a\xaf\x7e\x0b\xab\x8a\x81\xb9\x44\x13\xe0\xcf\x6b\x36\x4f\x27\x19\x46\x11\xa3\x53\x1d\x1e\x43\xb7\x55\xc4\x13\xa1\x91\xd7\x68\xb5\x3b\xc2\x3a\x53\x7f\xcd\x6b\x69\x9b\x69\xb8\xe6\x3d\x18\x67\x7a\xb9\xe6\x25\x1a\x67\x3a\xf5\xb2\x21\x40\x57\xde\x56\xd9\x85\x81\x41\x21\x58\x46\x73\x06\x8a\x57\x3b\xea\x0d\x0c\x16\xa9\xfc\xdc\x2c\x45\x97\xde\xd6\xf3\x5f\x4e\x27\xa7\xd7\xdb\xa7\x67\xea\x7a\xee\x04\xf9\xe0\x2f\x0d\x15\x61\xbf\xec\x87\xca\xe5\x55\x20\xa6\xed\x87\x9c\xb8\xcb\x56\x6b\xda\x6a\xad\x5a\x2d\x1d\xc3\xc2\xae\xbc\x2d\xcb\x18\x9f\x27\xcc\xff\x26\x56\x54\x13\x98\xc3\x65\xa0\x76\x45\x57\x29\x23\x57\x19\x21\xeb\x90\xc1\x2c\x32\xc3\x65\x3d\x1d\x17\x4e\xf0\xe7\xe3\xb9\xc7\xf5\xe9\x0e\x91\x9b\xa8\x88\xbb\xda\x21\x88\x74\xb6\x43\x80\x35\x24\xfb\x04\x2c\x04\xe6\xc2\x03\xd3\xe1\xa7\xdf\x8e\xa5\xea\x29\xaa\x21\xba\xf0\xbe\x4b\xc9\x71\x33\x19\xa2\xf8\xd6\x2d\x40\x01\xc3\xdc\x29\xf5\x43\xee\xae\x28\x54\xe2\xce\xee\xe9\xad\x57\x9a\x10\xe0\xda\x99\x48\xeb\x0b\x34\x5f\xb7\xad\x96\x7e\xe1\x4d\xbd\x95\x87\x8e\x75\x90\x7f\xd4\xae\x8f\x51\x7d\xee\xdd\x76\x7c\xcc\x33\x5a\x2d\x7d\xee\xcd\x3b\x53\x3f\x0c\x65\xd0\xad\x22\xa7\xe8\xc2\x30\x0c\xba\x7a\x8c\xa1\x9b\xe3\xb8\xd6\xe7\x5e\x68\xd0\xf9\x96\xe7\x85\xf0\xb0\xe5\x79\xfe\xdd\xdd\xf4\xee\x6e\x75\x77\x37\x13\x75\x79\xde\x65\xab\xa5\xaf\x3c\x64\x75\x23\x6d\x49\x47\x90\xae\x68\x2b\xdc\x82\x50\x51\x26\xa2\x4e\xdb\xf3\x94\x28\x66\x1b\x87\x10\x8d\xcc\x93\xfb\x76\x2e\x76\x2c\xd7\xa4\x96\xf1\x68\x8b\x86\xcd\x88\x0c\x23\x98\x23\xd9\xfe\xdd\x5d\xed\x7a\x9e\xb9\x88\xfb\xa0\xc4\xc3\xf3\x82\x1d\x68\x97\x8b\x42\x02\x4f\x2b\x7c\x42\x51\xf1\xbc\xa0\xd5\xd2\xa1\x77\x0c\x4a\xfe\x34\x21\x9e\x37\x57\xa4\x99\xd4\x86\xc6\xae\x90\x55\x17\x32\x00\xc3\xf9\x78\xeb\x02\x19\x37\xdd\xd9\x5a\xdd\xdd\x5d\x40\xe2\x02\xc7\xcf\xd6\x74\xe7\xdc\x23\xe3\x1e\x71\xb7\xa6\xf8\x62\x05\x2f\xa6\xad\xd6\xd6\x0a\x5f\x0c\x88\xbb\x12\xcf\x17\xf8\x3c\x24\xae\x28\x38\x6d\xb5\x74\xc8\x70\x88\xe1\xc2\xdf\x3e\xc1\x3f\x5d\xf1\xc7\x26\x74\xee\x75\x81\x2c\xc1\xc5\x1d\xf2\xa7\x89\x45\xb6\xcf\xb7\x33\x3a\x6d\x6a\x19\x6e\x81\xea\x79\xb6\xfd\xd3\x28\x82\x15\xb2\xef\xd5\xd6\xcc\xb9\xa7\xe4\x63\x5d\xbf\x50\xa0\xee\x6b\xed\x35\xbc\x2a\xfb\x3b\xc6\x4b\x6f\xd0\x6b\xb5\xbe\xbe\xf0\x46\x7d\xc4\xd8\xe4\xb8\x7c\x6d\x0f\x7a\x4a\x76\x9d\xf6\x79\xc0\x9b\xa5\xd6\xca\x9b\x2b\xb8\xfe\x15\x06\x43\xd5\xbb\x1a\xaf\xa9\xc3\xb8\xd7\x01\xbf\x9c\x2f\x36\x54\x70\x77\x37\x93\x66\xa7\x32\x17\x15\xb2\x4d\xfe\x44\xb6\xe7\xd2\x89\x5f\xe3\x94\xcd\xe5\xf5\xda\x6a\xb9\x50\x44\xdf\x7a\x13\x5d\xf9\x61\x30\xd3\x7c\xb9\x86\x46\xb6\x2b\xc1\x42\xe6\x46\x63\xb9\x0f\xb1\x36\x63\xf3\x20\xc2\x15\x3a\x8c\x4f\xa9\x14\x12\x86\xa8\x54\x1e\x68\xc9\x4f\x50\x8b\x0d\xf5\x18\x0a\xf2\x85\xb8\x9d\xad\xa1\xc4\xfa\x9b\xcd\x7e\x00\x83\x3f\x9b\xc9\xdc\x6a\xc4\x18\x79\x9b\x01\x98\xdf\xa0\xac\x26\xbf\x56\x6c\x75\x90\x85\x4f\x13\xb1\xb7\x83\x62\xec\x6d\x78\x3f\x49\xcf\xa0\x80\x0c\x63\x2d\x82\x71\xbc\xcd\x9e\x75\x66\x18\xdf\x13\x0f\xa0\x84\xa9\xb9\x4f\x76\x12\xa9\x48\x3d\xee\xea\x09\xea\x77\x09\xec\x32\x2a\x7b\x87\xdf\xd3\x40\x46\x1c\x68\x22\x4c\xdd\xfc\x40\x83\x4e\x1a\x27\x85\xed\x4d\xd8\x38\xb9\x18\x5d\x36\xf9\x8a\x3e\x80\xdf\x8b\x17\x4b\x3f\x91\xf3\x07\xf9\x82\xf2\xc2\x83\x71\xaf\x82\xff\x34\xd5\xee\x4d\x92\xb3\xe6\xfe\x6e\xe4\x7d\x7d\x81\xbf\xa6\x13\xb3\x59\x8e\x58\xb4\x3a\xf4\x93\x94\x25\xe3\xa4\x93\x30\xbc\xd1\x56\x18\xca\x00\xe3\x66\x06\x5e\x22\x6e\x34\x7b\xcb\x6e\x8f\xd9\x7f\xac\x58\x34\x65\x0d\x91\x17\x4b\xdf\x32\x65\x1c\x5c\x8c\x6c\x93\x74\x82\x34\x8b\x3a\x64\x34\x93\x03\x3c\x94\x75\x73\x43\x44\xeb\x2c\xd4\xba\x2b\xe5\xf1\x91\x75\xde\x97\x6b\x14\x2b\x17\x05\xc9\xd4\xeb\x4b\x7a\x4a\x76\x02\x83\x72\xc3\x2d\x63\x4c\xf2\xa8\x9c\x2a\x20\x63\x34\xd3\xe2\xb9\x96\x4a\x66\x60\xec\x9c\xea\x50\xfe\x91\xb2\x35\x42\xc5\xd5\xbd\x8f\xed\xf6\xb4\x79\x87\x72\xe1\xfe\xcb\x1c\x56\xe7\x94\x4d\xf8\xc3\x42\x95\xbb\x30\xeb\xee\x58\x5c\x37\x8c\xb3\xd8\x50\x1a\x46\x60\xad\x5c\xda\xdd\x10\xd7\x81\x4f\x12\x31\xfe\x9b\x06\x37\x4c\x7c\x60\x64\x67\xb1\xee\x0b\xb8\x37\x2e\x75\x4b\xc7\xbb\xb4\xdc\x2d\x17\x71\xeb\x53\x47\xe5\x72\x16\x56\xbd\x61\x32\xe1\xa9\x4d\x10\x42\x42\x8d\xea\x72\x1f\xcc\x3b\x4a\x1d\xf2\x16\xcb\x55\x86\x61\x7e\x03\x8c\x44\xdb\x6a\x95\xf5\x7e\x7e\x13\x4c\x51\xdf\x1b\x25\x52\xf0\x36\xa8\x47\xd6\xbf\x46\x1e\x70\x69\xac\x1a\x11\x08\x57\xc5\x94\x8c\x88\xe2\x7a\x06\x23\xce\x67\xd0\xef\xc2\xe6\xbb\xa5\x7c\xeb\x8c\x0a\x47\xb0\x9c\x6d\x9f\x51\xe9\x6f\x95\xf3\xbb\x67\xe8\x33\x97\xf2\x7a\x67\xc2\x83\x2e\x65\xf6\xcf\xee\x1f\xe0\x33\x76\xc6\xda\x4f\x84\x85\x8d\xe1\x0d\xf3\x5f\x5c\xe6\x43\x8f\x75\x4a\x27\x1c\xfc\x54\x97\xdd\x57\x2f\x92\x92\x22\x96\xd5\x10\xd0\x38\xff\xee\xa8\x07\x85\x95\x8b\x40\xcd\xe6\x20\xa9\x66\x68\x41\xbe\x3c\xb5\x35\x2d\xcc\x66\xaa\x0b\xe9\x3b\xdc\x4d\x28\xe0\xbe\xcf\x29\x48\x1e\x43\x41\x01\xe9\x9a\x35\xf8\x9d\xc4\xe5\x55\xd4\xc1\x06\xd4\xc2\xe8\xe6\x2d\x83\xf2\xe3\x6c\x77\x7d\x71\xca\xe4\x6d\x99\x94\xe9\x69\x15\x79\xfa\x38\xce\x09\x16\x35\x51\x17\xfd\xbe\xac\x6f\xaa\xc2\x2f\x18\x90\xe6\x35\xbe\x92\x6b\x09\x2e\x6a\x5e\x38\x2c\x14\xce\xa8\x2b\x92\xcc\xc5\x95\x6d\x98\x57\xa8\x14\xaf\xc3\xa9\x96\x4b\x68\x90\x65\x16\x3a\xb3\xf6\x05\x62\x87\x01\x3a\x1a\x18\xae\x35\x18\xa8\x79\x54\x3c\x63\x77\x77\xd6\x60\x58\x79\x76\x0a\xcf\x3b\x9b\xd6\x37\xdc\xf5\xab\x17\xf7\xf7\x15\xed\x87\xde\xc0\x54\xac\x9a\xac\x36\xaf\x9a\xcc\x1e\x58\x35\x59\x6e\x5a\x35\x99\x6f\x5a\x35\x19\x97\xd5\x53\xaa\x4f\x4c\x4a\x26\x9f\x3e\xbc\xfd\xf0\xf1\xcb\x87\x33\x42\x97\xe2\x7f\x78\x64\x9c\x92\xc9\xfe\xf1\xde\x19\xa1\xe4\x4f\x84\xce\xe0\x7f\x78\xa6\xd9\xa6\x64\x72\x60\x9d\x11\x1a\xe9\xe4\x4f\x1f\x0f\xe1\xf5\xe4\x90\x18\x74\x06\x09\xbb\xfb\x0f\x22\xe1\xba\x00\x67\x2b\xb8\xbf\x22\xdc\x5f\x33\xb8\x5e\x06\xd7\x03\xb8\xae\x82\x3b\x42\xb8\xa3\x0c\xae\x9f\xc1\xf5\x01\xae\xa7\xe0\x8e\x11\xee\x38\x83\x1b\x64\x70\x03\x80\xeb\x23\xd9\x13\x0b\x8b\x23\x80\x93\x01\x40\xc3\x0e\x06\x12\x60\x98\x01\x8c\x32\x00\x07\x00\x86\x12\xc0\x51\x00\x5d\x2b\x03\x18\x01\x80\x23\x01\x46\x19\x80\xad\x00\x6c\x60\xea\xc1\x48\x00\xd8\x66\x06\x90\x31\xc7\xb6\x90\x89\xa6\x84\xb0\x32\x88\x8c\x2d\xb6\x60\xb3\x25\x21\xba\x0a\xa2\x97\x57\x82\x0c\xb6\x6c\x09\xd1\xcb\x20\xb2\x5a\x46\x36\x25\xff\x05\xb3\x03\xdd\xd7\xc9\xbf\x10\x83\xfa\x3a\xf9\x85\x18\xc0\xb4\x25\x46\xef\xa0\xc4\xda\x02\x80\x50\x27\x62\x75\xf0\xc3\x6a\xf1\x95\x18\xe2\x79\x37\xe4\xc5\xc7\xf7\x8c\xfb\xe2\xf9\x8c\x4e\xfa\x26\x25\xf6\xbf\xfc\x58\x51\x8b\x92\xee\x3f\xfd\x58\x51\x9b\x92\xde\x3f\xff\x58\xd1\x2e\x25\xfd\x3f\xff\x58\xd1\x1e\x25\x83\x5f\x7e\xac\x68\x9f\x92\x61\xeb\xc7\x8a\x0e\x28\x71\xfe\xf2\x63\x45\x87\x94\x8c\xf4\x1f\x2a\xda\x73\x28\x31\x8d\xac\x68\xe9\x53\xf8\x3a\x04\x55\x20\x0c\x83\x31\xa2\xa4\xfd\x75\x3d\x9e\x35\xf9\x58\x74\x48\x89\xb7\xfd\x43\x45\x87\xdd\x1f\xad\x75\x60\xfd\x78\xa5\x16\x25\xdb\x7f\xf9\x91\xa2\xa0\x68\x5e\xbd\x3d\x3e\x3c\x23\x34\xd1\xc9\x7f\x12\x4a\x4e\xcf\x89\x01\xe9\xd3\x73\x42\xc9\x7f\x62\x61\x18\xca\xa0\x70\x4e\x76\x5f\x9d\x11\x1a\xe8\xe4\x94\xe3\x88\xff\x3b\x31\xe8\x9c\x2e\xf1\xbd\x63\x51\xf2\x1f\x7f\x05\x12\x7c\x9d\xfc\x35\x2b\x06\x9c\xbc\xfe\x22\xb3\xbf\x64\xd9\x83\x11\x25\x6c\x5f\x66\xef\xe7\xd0\x36\x25\xc9\x91\xcc\x3e\xca\xb3\x7b\x94\xf0\x13\x99\x7d\x92\x67\x8f\x28\xb9\xfd\x37\x99\xfd\x6f\x79\x76\x9f\x92\xd5\x27\x99\xfd\x29\xcb\x86\x8e\x09\xde\xc8\xec\x37\x79\xf6\x88\x92\xf8\xa3\xcc\xfe\x98\x23\x31\x29\x59\x1e\xca\xec\xc3\x2c\xdb\x46\xc5\xfb\x5d\xe6\x4f\xf2\x7c\x50\xa7\x67\xf7\x32\xff\xac\x90\x6f\x52\x72\x7a\x7a\x27\x5f\x9c\x9e\xe6\x6f\x40\x41\xef\xed\x1e\x1e\x67\x26\x0f\xf9\xd2\xa7\xc4\xdf\x95\xd0\xbb\x39\x35\x5d\x4a\xd2\x63\x99\x7d\x9c\x73\xd1\xa1\x64\xf6\x5a\x66\xbf\xce\x9b\x64\x52\x32\x3f\x90\xd9\x07\x79\xb6\x45\xc9\xc5\x4f\x32\xfb\xa7\x3c\xdb\xa6\xe4\xf2\x67\x99\xfd\x73\x9e\xdd\xa3\xe4\xdf\xff\x35\xd3\xdc\xff\x4a\x0c\xba\xcc\xde\xf5\x29\xf9\xf6\x36\x7b\xf7\x56\x8d\xc2\xbd\x90\xf9\xc9\x57\xa1\xdc\x11\x6e\x40\x49\xf8\x2e\x83\x7b\x57\xc4\x61\x39\x03\x4a\xc6\x2e\xbc\x9c\x67\xcc\xb2\x29\x79\x76\x4a\x8a\x79\x68\xc3\xf7\x3f\x9c\xec\x1f\x81\x91\x39\x4d\x08\x5d\xd1\x95\x78\x03\x56\xf6\xf8\xe7\x37\x07\x27\x25\x0e\x8e\x4c\x4a\x7e\xfd\xbb\x6c\xce\xdf\x73\x0e\x3a\x94\xdc\xfc\x4d\x66\xff\x2d\xe7\xe0\x90\x92\xe9\x5e\x49\x4d\xed\x15\x06\x0c\xe8\xa5\x3d\x39\x50\x06\x94\x5c\x7d\x2e\x41\x7e\xae\x40\x7e\x96\xe3\x78\x40\xc9\xf9\xab\xac\xd5\xaf\x54\xab\x03\x7d\x46\x97\x00\x30\x74\x28\x89\x3e\x94\x75\x63\x05\xd5\x07\x81\x6a\x38\xa4\x64\xf1\x5e\x52\xfd\x9e\xe4\xbc\x73\x28\xa1\x2f\x20\x3f\xd5\xe7\x05\x9e\x42\xe3\x3b\x2f\x1b\xf2\x2d\x4a\x9e\xef\x64\x24\x7d\x15\x66\x78\x27\xef\x29\xf4\x48\xf6\x4e\x8e\xde\x95\x1c\x30\x74\x43\x76\xdf\x9d\x94\x32\x01\xd7\xe4\xdd\xee\x61\x19\xb4\x6b\x53\xa2\x49\x42\xff\x25\x57\x1a\xe0\x42\x1c\x55\x61\x47\xd0\xa7\x47\xef\xf7\x3f\x7c\x2a\x65\xf7\x00\xf8\xf0\xe8\xe4\x78\xef\xa8\x4c\x45\x0f\xfc\xae\xe3\xbd\xa3\x77\x6f\xcb\xf9\x30\x14\x5f\x1d\xed\xef\x96\xb3\x11\xfa\xcd\x87\xe3\xfd\x23\xa0\x1b\x39\xfa\x96\xdd\x8a\x6d\x59\x82\xcb\x82\xb6\x2e\xc8\xcf\xcf\x1f\xdf\xef\x17\xa0\x7e\x8e\x17\xac\x04\x03\x94\x1e\xfe\xf4\xe9\xb0\x00\x73\xe8\x5f\xb0\x4f\xcb\x22\x54\x0f\x30\xbd\xde\x7f\x57\x00\x7a\xcd\xc2\x12\x9e\x3e\x4a\xf1\xeb\x02\xc4\x7e\x34\x2b\x41\xf4\xb0\xa6\xd7\xc2\x07\x2e\xd6\x85\xdf\x8a\x8b\x90\xd0\x29\x25\x8a\x76\x93\x24\xbe\xae\x90\x04\xda\xa5\x82\x0c\xc1\x6a\xd8\x80\x89\x47\x6f\x7e\xfa\x19\x98\xc5\x75\xf2\xa7\xc9\x1e\xa8\xf6\x8f\x7b\x45\x18\x10\x8e\x77\xfb\x07\x19\xc8\x6b\x04\x79\x5d\x00\xb1\x7a\x40\xff\x87\x4f\xef\xdf\x7d\xdc\x2b\x77\xc7\x08\x98\xf3\xf6\x10\xfc\xcc\x59\x06\x3e\x1a\x62\xa6\x55\xce\x74\x30\xd3\x2e\x67\x8e\x30\xb3\x5b\xca\xb4\x4c\x13\x73\x7b\x95\x5c\x0b\x73\xfb\x95\x5c\x1b\x73\x07\x95\xdc\x2e\xe6\x0e\x2b\xb9\x3d\xcc\x75\x2a\xb9\x7d\xcc\x1d\x55\x72\x45\x1b\xb6\xcf\x7e\xc8\x62\x9b\xa2\x5d\xed\x1f\x2c\x2d\x98\xfa\x97\x32\x45\x96\x68\xff\xf3\x4a\xae\xe0\x55\xa7\x9c\x0b\x4a\x6a\xf2\x6a\x17\x3b\xeb\x52\x2f\xcf\xa3\x6a\x13\xa9\x01\xce\x57\xbe\xbc\xce\x61\xb3\xb9\x54\x6d\x32\x05\x36\x69\x72\xb4\xff\xee\xe3\x6e\x01\x3c\x9b\x52\xd5\xe6\x54\x0e\x4e\x21\xc4\x90\x97\xc0\xd9\xbc\xaa\x36\xb1\x02\xf7\x60\xf2\xe5\xcd\x87\x63\x04\x96\x93\x2b\xa3\x32\xbb\xb2\xd1\x30\xbc\x3a\x7a\x73\xd2\xce\xc0\x86\x39\xd8\x28\x03\x1b\x4a\xb0\xed\x0c\xcc\xc9\xc0\xe4\x4c\xeb\x81\xa5\xab\xa2\x66\x59\x7b\x1c\x2d\x5b\x0f\xa8\x6e\x0f\x2d\x7e\xae\x5e\x33\xc5\xc7\x5d\x83\x40\xf5\x3f\xc8\x23\x28\x41\xed\xd5\x40\xc7\x56\x99\x8e\xf2\x6e\xd4\x5f\x0a\x44\xe0\xb6\x04\xb1\x2b\x21\x5b\x8d\x29\xee\xec\xa9\x20\xaa\x2f\x81\x91\x3f\x4d\x7e\x26\x2e\xf9\xd3\xc7\x9f\x89\xab\x97\x81\xb3\x4f\x6e\x29\x56\x0b\xb4\xea\xd5\xc5\xdc\xf2\x1a\xc4\x63\x98\x0f\x5a\xf4\x37\xb7\xf8\xed\x6f\x6c\xf2\x01\x36\xf9\xe0\xa1\x26\x8b\x3b\xa7\x7e\x6b\x8b\xa5\xf9\x79\xb8\xd1\xe5\xdd\xc5\xc5\x46\x93\x3f\x4d\xfa\xff\x78\x88\x5a\x51\xcf\xef\x40\x30\x98\xc2\x87\x07\xc7\x86\x7d\xbe\x95\x0d\xa4\xd5\x7d\x24\x5b\xaa\x0f\x77\xc8\x9f\xfe\x13\x7a\x62\xd2\x7d\xd4\x68\xc9\x6c\xeb\x6f\x64\xe5\xe0\x51\xac\xc4\x0f\x1f\xbf\x9d\x99\xca\xd4\x3f\x4c\x73\x4d\x52\x4b\xea\x66\x33\xc1\xef\x82\xe8\x11\x7d\xef\x96\x37\xfd\x15\x86\x4f\x6d\x73\xd3\xe3\xc6\xd1\x2e\x8e\xa3\xdd\xc7\x74\x5e\xee\xcb\xfc\xf1\x9c\x78\x4c\xd7\xfd\xee\xbc\x78\x85\xbc\x78\xf5\x20\x2f\xc4\x94\xcb\x6b\xfc\x8e\xbd\xa6\x65\xd7\xc1\x92\xed\x89\x23\x99\xe9\x03\xed\x7a\xb0\x76\xb9\xac\x53\xbd\x9e\x3b\xff\xfe\xf1\xf4\x35\x7a\x75\xb4\xab\x4e\xf8\xd2\x4f\x53\x59\xe3\x39\x4b\x70\xe4\x2b\xa6\x1b\x8d\x9f\xee\x8b\x66\x34\xdb\x37\xd7\xb0\xe5\x45\xee\x9e\xb3\xd4\xb1\x62\x62\x11\xb1\xb1\xcd\xce\x0e\x1a\x27\x38\xad\x11\xb9\xdd\x62\xee\x44\xe5\xf6\x8a\xb9\x30\xd1\x17\xd9\xfd\x62\xf6\x99\xca\x1d\x14\x73\x7f\x51\xb9\xc3\x62\xee\x57\x95\xeb\x64\x64\xfd\xa7\x24\x6b\x94\xe5\x8c\xc8\xfd\x43\x7d\x24\x57\xca\x9e\x24\x22\xc0\x69\x51\xae\xca\xe8\x4d\x8e\xca\xc6\x2f\x06\x0f\x91\xa9\x96\x00\x9f\x4c\xa7\x2c\xf8\x3f\x8c\x50\xb1\x46\xd0\xb8\x2d\x66\x0d\x95\x17\x8c\xbf\x96\xa7\xfd\x74\x03\x9e\xb2\x50\x2f\x72\x37\xbc\xd8\xe8\x10\x86\xfe\x32\x65\xb3\xfc\x3a\x8b\x0c\x53\x76\xe6\xa7\x51\xe6\xd7\xd4\x8a\xbb\x80\xb2\x9a\x76\xe7\x9c\x25\x02\x45\x21\xca\x4e\xd2\x99\xca\x6a\x4f\xe2\xfd\x68\x26\x8e\x03\x24\x06\xed\x9b\xeb\xf4\x02\x0e\xa5\xec\xa8\x69\x13\x85\xff\xc3\x08\x5c\x87\x76\x4d\x2c\x9d\x87\x54\x9d\x1c\x51\xff\xcb\xc3\x2a\x17\xd7\x6b\x9a\xe5\xb4\x68\x58\xd4\x15\x9a\x4b\x16\xe9\x59\x30\x1a\xb5\x63\xba\x73\x99\xb0\x39\x25\x84\x12\xb1\xb3\xde\x8b\x62\x2a\x0e\x27\xdf\xb2\x94\xca\x50\x2e\x90\x14\x76\xe8\xdc\x4f\x52\x7c\x5c\x04\x51\xb0\x08\x7e\xf5\xcf\x43\xf1\x5a\x84\x3e\x21\xdb\xb2\xb2\x20\x8a\x98\x88\xdb\xb6\x4d\xa8\x8c\x80\x52\x7e\x29\x02\x15\x3d\x64\xce\xc8\xff\xf6\x28\x36\x7c\x6e\x66\x43\x41\x48\xab\xce\x5b\x7e\x58\xad\xe8\x67\xb7\x5a\x0d\xf2\x24\xc0\x76\xd6\x0f\x7d\xdc\x15\xf4\x83\xdf\x46\x5d\xf2\xbf\x3f\xd8\x42\xb1\x10\xf7\xff\xcf\x8e\x8e\x57\x7c\x7d\x47\xe3\xcb\xc7\x75\xf4\x6f\xd6\xd9\xbf\x41\x15\x8e\x6b\xbc\xbc\xbb\x4b\x2a\xfa\xb1\xa8\x19\x77\xaa\xb6\xbb\xd0\x09\x62\x5b\xeb\x5a\x47\xfc\x31\xba\xa6\x18\xdd\xa5\x4a\x45\x49\x0b\xe9\xc6\xfd\x03\x1a\xf2\x41\x57\x5e\x2c\x17\x3f\x28\x5a\x1b\xe4\xb7\x3a\x43\x91\xa7\x2c\xff\x30\xb3\x57\x5e\x86\x6a\x88\x3d\xd0\x60\xb3\x6a\xa7\x58\x0b\x53\x27\xb5\x07\x8c\xb4\xbf\x12\xcf\x53\x3d\xbb\x43\xfe\x0f\xb2\x86\x4e\x21\xb1\x60\x7b\xac\xad\x0d\xe2\x05\xd5\x1c\xf8\x53\x1e\x27\xba\xf1\x08\xaf\x50\x4a\x6b\x83\x53\x08\x35\x11\x93\x78\x5e\x62\xac\x9b\x22\x14\x42\x5f\x98\x85\xe8\x01\xc1\x06\xf2\xf2\x58\x19\x63\xd2\x06\xe4\x77\x77\x72\x1d\xb0\xc0\x84\xa0\xed\x59\x6e\xb0\xad\xee\x11\xdb\x5c\x73\x90\xc5\xda\x7c\x8a\x27\x2f\x37\xe6\x35\xc5\xe7\x0a\x67\x53\x3f\x99\xed\xc5\xab\xfc\x7e\x36\xb9\x11\x25\x3f\xdf\xd3\x8c\xad\xb3\x88\x67\xc1\x3c\x60\x49\x9a\x1d\x3e\xcc\x37\xd7\x08\xfc\x13\x7e\xe6\xb1\x09\x3f\xbb\xbb\xdb\xb2\x28\xf9\x8b\xdc\xc7\x3d\xe1\x67\xd2\x50\x94\xaa\xdf\xde\xae\xc5\x02\xd9\x58\xab\x37\x21\x28\x5e\xa0\x6c\x79\x12\x12\x8a\x47\x03\xa8\x38\x12\x70\xb6\xa6\x74\x61\x5f\xef\xba\xf1\x58\x22\xea\x05\x2f\x3f\xef\xb4\x2d\xb7\x02\xf2\xb2\x0a\x62\xb9\xe6\x3a\xe2\x0b\xa1\xbe\x7c\x3e\xbd\x5c\x77\x7f\xa9\xe4\xfb\x56\xde\x05\x79\x48\x67\x19\x85\xd2\x1c\x6f\xdc\xbf\xbc\xa1\x6f\x02\x75\x67\x56\x80\x9b\x4c\x5b\x2d\x36\x09\xce\xc6\x49\xab\xa5\xf3\xbb\x3b\xf2\x17\x22\xc6\xdb\x24\x38\x33\x44\x2f\x4d\x82\x33\x71\x96\x2c\xc1\xd3\x3b\xc5\x3e\xa2\xc9\x23\x1b\x2a\x37\x83\xae\x5d\x19\x12\xdc\xd0\x19\x85\x1a\x1e\x8d\xb2\x49\xac\x9b\xb1\x9a\x88\xf5\xa3\x8c\x90\x55\x1f\x06\x89\xbf\xf4\x31\xf8\x84\xb7\x85\xae\x4a\x9e\xa1\xf6\x90\x5e\xb1\x24\x65\x5f\x0a\x70\x5b\xb8\xa4\x5b\x7b\x21\xa3\x14\x24\xc1\x45\x10\x61\xcc\x00\x09\x98\xe7\xc8\x63\xec\x2b\x1e\xef\xf9\x49\x12\xf8\x17\xec\x08\x69\x56\x90\xf5\x37\xd9\xfd\xfe\x69\x9c\x7c\x16\xf1\x4b\x14\x70\x29\xb3\x08\xf7\x2a\x0c\xa2\x6f\x65\x28\xcc\xa2\xea\x2c\x32\x4b\x78\x91\xbe\x3c\xa7\xd4\xe2\xcf\xc1\x8c\xc5\x95\xc6\x62\x9e\x0c\x23\x90\xf8\xd3\x6f\x8c\xb3\x99\x8c\x48\x20\xe0\xca\xb9\x8f\xde\xe9\x2b\xf6\xb3\xd7\x2f\x9c\xc6\xc8\x90\x1e\x91\x51\x03\x96\x71\x9a\xdd\x2c\x79\x99\x1d\xe4\x17\x65\x8b\x47\xe6\xf1\x26\xfb\x06\xc9\x28\x84\xc6\xc1\x42\x1a\x42\x6a\x3e\x57\x61\x49\x96\x71\x2a\xee\x2d\x15\xa7\x35\x6a\x98\xf3\x6d\xea\x0d\x51\xf5\x32\x12\xbd\x02\xed\x72\xbb\x6e\x23\xb6\xca\x86\xd8\x3c\x8c\xa3\x6c\x36\xcb\x5b\xcd\xef\xee\xf2\x86\xb3\xa2\xf5\x6a\xc4\x5c\xdd\xfe\x5f\xa4\x56\xdc\x73\x9f\x9d\x99\x43\x2e\x8e\x4b\x9b\xcf\x33\x84\xc1\x8c\x45\x5c\xea\x12\xa5\x55\xde\xb2\xdb\xd4\x60\x93\x07\x61\x26\xfc\xec\xcc\x53\x61\xe8\x55\x3b\x5e\xd4\x39\x33\x56\x6d\xfe\x16\x2c\x45\xe4\xf4\xd2\x29\x51\x6c\xc9\x49\xfc\x8d\xc9\x29\x34\x09\x22\xce\x2e\xf0\x3a\xe0\x04\x23\x0a\x1b\x99\x9e\xf4\x92\x0e\x5e\x15\x9e\x5d\x21\x48\x72\xda\x72\x70\x69\xb8\x25\x6c\x87\xc7\x9f\x96\xcb\xe2\x89\xf5\xe0\x51\x1c\x68\xb5\x1e\x04\xe9\x5c\xfa\xe9\xc7\xeb\xe8\x30\x89\x97\x2c\xe1\xb7\x7a\x60\xa8\xfd\xba\x0f\xf3\x2e\xc0\x8d\xf5\x6c\x92\x9e\xb5\x5a\xa8\x96\x21\x29\xe3\x3b\x21\x5b\xe4\x29\x85\x7c\x07\xba\x2a\x0e\xc2\x2b\xdb\x66\x8c\xa1\x94\xb7\x65\xde\xe7\x91\xfc\xd7\xb7\x4e\x32\x71\x5d\xcb\xd4\xeb\x86\x56\x35\xd0\xa5\xa2\xe2\x7d\x63\xb7\x65\x82\xb2\xbe\xda\x58\xc9\x24\x38\xbb\xcf\x88\x26\xe9\xed\xe2\x3c\x0e\xc9\x96\xea\xc1\x7a\x75\xd9\x61\x0d\x29\x1c\x5a\x9c\x68\x85\xbe\x17\x82\xf3\x17\xc4\x20\x08\x69\xa2\x58\xdd\xeb\xae\x89\xfa\x4a\x74\xab\xe1\x11\x3d\x6e\x78\x60\x3f\xfb\x8f\xe8\xe7\xe8\x6c\xcc\x26\xfe\xd9\xdd\x9d\x0e\x7f\x3c\xf2\x17\x62\xdc\x67\xeb\xa2\x85\x11\x41\x49\x5b\xda\xe6\xce\xf4\xd2\x10\x07\x72\x83\xb9\x2e\xc2\xed\xe6\x8e\x42\x13\x67\x78\xe2\x17\x4f\xa7\xf9\x30\x23\xd2\xb8\x9f\x5c\x30\x0e\xdd\xa3\x82\x80\xf9\xb3\x2b\x3f\x9a\x32\xdd\xc2\x75\x59\x40\xec\x6d\x44\xfc\x3e\x48\xd3\x20\xba\x28\x63\x52\x7e\xd4\x46\x9d\x24\xd4\x7e\x5d\xd5\x57\xc6\x3f\x5b\x33\xfe\xb3\x93\x48\x4c\x48\x43\xe6\xbb\x89\xb1\x5f\x1b\xf6\x12\x4c\x44\x98\x40\x98\xb5\x7d\x28\x4e\x96\xad\x1b\x01\xf2\x6d\x75\x00\x48\xa4\x85\x29\xc8\xfa\xb2\x13\x09\x7c\x36\xde\x38\x64\x0a\x07\x10\x15\xf6\xfb\x0d\x42\x2f\x38\x52\x95\xf9\xe6\x3e\x60\xec\xdb\xda\x10\xa7\xcf\xf2\x58\x32\x77\x77\xcf\xc8\xb3\xec\x69\x2d\xaa\x37\x59\x7d\xeb\xcc\xe1\xf4\x52\xdd\xbd\x3d\xf1\xdb\xbf\x7e\x3d\x7b\x1e\xac\x27\xec\x8d\x18\xbc\x8f\x40\x65\xb6\x47\x67\xcf\x37\x58\x3e\x94\x97\x52\xfc\x46\x1c\xff\x59\x83\x32\x23\x28\xe2\x8d\x4b\x05\x43\x91\xd5\xae\x6a\xf4\xb8\x58\x79\x3e\x3c\x28\xcb\x06\x68\x99\x05\xd9\x2c\x54\x62\x2d\x74\x46\x11\x33\x12\x58\x2c\x75\x3f\x2e\xe2\x93\x17\xa6\x57\x70\x49\xa1\xaf\xe1\x51\xd0\x65\x1c\x92\x91\x35\x82\xa4\xe5\xac\x53\xa3\xe0\xef\x1b\xe5\x32\x53\x8c\x1c\xd8\xba\x4e\xb2\xca\xcd\xaa\x30\x7f\xab\x99\x5f\x9b\x34\x79\x51\x7d\x97\x1c\x2c\xa8\x48\x1d\xff\x43\xa9\x32\xdb\xa3\xaf\x67\xdb\xcf\x2f\xd6\x89\x56\xa1\x89\x0d\x52\x6f\xe6\x62\xa1\x62\x59\x34\xfa\x29\x6d\xab\xd5\x22\x37\xa4\xec\xdc\x49\x3f\x2c\xf3\x1d\x2d\x6a\x19\x3b\xaa\x42\xbd\x81\x5e\xf3\x06\x84\xd7\x6f\xcf\x05\xc1\x86\xbb\x09\xf8\x74\xb6\xfd\xfc\xc2\xd8\xd0\xaa\xfa\x50\x16\x72\x0d\xfe\xb2\x6a\x14\x48\xc6\x33\xf2\x4c\x44\xdb\x79\x86\xd1\x76\xea\x6c\x17\x88\x34\xd5\xd3\x75\xa3\x50\x38\x0e\x08\x4e\xf4\x11\xbb\xd8\xbf\x59\xea\x64\x72\x7a\x7a\x7a\x4a\xb6\x31\x34\x36\x25\x17\xaa\xdc\x5a\x4f\x0f\x4f\x97\x86\x7e\xca\xdf\x44\x33\x76\xe3\x29\x60\xba\x95\x60\x80\x7a\xbd\x50\xa8\xd9\xad\x90\x0b\x23\x05\xb5\x17\x06\x9c\x25\x18\x2a\x02\x34\xfc\x76\x43\xf7\xe0\xe9\x49\x55\x53\xa1\xfa\xb6\xa5\x82\xbc\xc9\x66\x16\xdf\xa9\x02\x00\x24\xd8\x77\x77\x47\x4e\x4f\x0b\x56\x18\x74\x0a\xf2\xb3\xfa\x22\x9b\xca\x4f\x2f\x3d\x8f\x1b\x6b\xd5\x88\x08\x2e\xb4\xad\xca\xd1\x2a\xcb\x8b\x47\x4c\xf3\x62\xdb\x05\xbb\x28\x4e\xbd\xeb\x4d\xd6\x61\x23\xab\xd6\x4b\x94\x8c\xe9\x56\x9f\x2e\x3c\x23\xcf\xdc\x67\xe4\x19\x25\xcf\x88\x4b\x9e\x11\x0a\x4d\x76\xe1\x87\xfa\x2e\xf9\x5f\x09\x3d\x77\x71\x1f\x39\x73\xc9\x9f\x08\x9d\xbb\xe4\x74\x4e\x68\xe4\x92\xd3\x88\xd0\xc4\xc5\xed\xbc\xdc\xc5\xdd\xe4\x57\x2e\x39\xbd\x22\xf4\xc6\xad\xd5\xb1\x7e\x78\x9f\x7d\xb7\xef\x61\xb8\x8c\x37\x7c\x61\xce\x06\x12\xa3\xd6\x00\x06\xcd\xea\x69\x35\xf4\x9e\x5c\x03\x2a\xdd\x2d\xd5\xd5\x6a\x41\xa5\xea\x1f\x28\xa9\xd8\xe4\x26\x8b\x50\x07\x59\x54\xf1\xe9\xa5\x70\x81\xb8\xc7\x26\x32\xe3\x6c\x9d\x35\x6a\x38\x2b\xc9\x5b\x2d\x9d\x7b\x3c\x8f\x3e\x62\x18\x94\xaf\xef\xf2\xa6\x95\x14\x11\xb9\xeb\x22\x8c\xcf\xfd\xb0\x81\x6e\xd0\xa6\x49\xe4\x87\x62\xfe\xec\x6a\xc7\x4b\x3f\xd2\x96\x02\x4f\xaa\x2d\x56\x29\xd7\xce\x99\x26\x8a\x13\xf0\xfa\xeb\x43\x5e\x35\xb0\x3e\xee\xc5\x47\xc7\xbb\x3b\x56\x1c\x8d\x13\xf3\x4c\x6a\x91\xad\x0c\xc5\x26\xf3\x81\x9e\x82\x36\x8f\x13\x31\x99\x1f\x57\xa7\xe8\x45\xe4\x56\x75\xe4\x51\xa8\xae\x91\x61\x12\xa6\xbe\x8a\x04\xca\x3f\x0b\xd2\x7f\xb9\xc9\x46\xac\x9b\xb2\x67\xfe\x6f\xb5\x23\x9e\x9f\xa6\x32\x34\x50\x26\x4a\xf2\x38\xf7\xf3\xd3\x74\xfb\xf9\xc5\x62\xcc\xd7\xf1\x37\x29\x12\x82\x2e\x82\x60\x77\x62\xa8\xe8\x4f\xb8\xb6\x90\x17\x37\x1e\xd9\x02\xca\x5a\xad\xb6\x95\x19\xce\x4e\x00\x85\x3f\xce\xf5\x46\xad\x9d\x75\x4a\x1c\x31\x2d\x9e\x43\x87\x6c\x13\xaa\xcd\xe3\x55\x34\x2b\xca\xfc\x7d\x81\x2f\x05\xe7\xd9\xfb\xde\x9c\x5f\x9a\x49\x79\xdf\xf1\x80\x80\xab\x96\x85\xf7\x4e\x8e\xde\xb9\x72\x6d\x78\xef\xe3\x87\x93\xa3\x8f\xd9\xe3\xee\xbb\x13\x11\x49\x86\xbe\xdf\x3f\xd9\x95\x61\x64\xd6\x54\xa1\x26\xa4\xde\xf7\xfd\xe3\xbd\xdd\xc3\x7d\xd7\x1e\xd2\xfd\xe3\x3d\xf8\x73\x60\xb9\x96\x65\xd3\x03\xdb\xb5\xac\x2e\x3d\xe8\xba\x96\xd5\xa3\x07\x3d\xd7\xb2\xfa\xf4\xa0\xef\x5a\xd6\x80\x1e\x0c\x5c\xcb\x1a\xd2\x83\xa1\x6b\x59\x0e\x3d\x70\x5c\xcb\x1a\xd1\x83\x91\x6b\xd9\x26\x3d\xb0\x4c\xd7\xb2\x2d\x7a\x60\x59\xae\x65\xdb\xf4\xc0\xb2\x5d\xcb\xee\xd2\x8f\x1f\xf6\xdd\xde\x88\x9e\x7c\xf9\xe8\xf6\x4d\x7a\xf2\xf3\xd1\xfe\xbe\xdb\xb7\xe8\xc1\xc7\x4f\x47\x6e\xdf\xa6\x07\x6f\x3e\xef\xbb\xfd\x2e\x3d\x7e\xf3\x37\xb7\xdf\xa3\xc7\xfb\x9f\xf7\x3f\xb8\xfd\x3e\xdd\x7f\xf3\xd3\xcf\x27\x6e\x7f\x40\x3f\xbc\xf9\xb0\xef\xf6\x87\xf4\xef\xfb\x47\x1f\xdd\x9e\x43\x5f\xed\xee\xbd\x3d\x3e\xdc\xdd\xdb\x77\x1d\xfa\xea\xed\xf1\x21\xfc\x39\x76\x1d\x7a\xb2\xfb\xca\x1d\xd1\xbf\xba\x8e\x45\xbf\xb8\xce\x90\xee\xbb\x83\x11\x3d\x72\x1d\x9b\x9e\xb8\x4e\x8f\xfe\x9b\xeb\x8c\xe8\x27\xd7\xe9\xd3\x37\xee\xb0\x4b\x3f\xba\xc3\x11\x3d\x74\x1d\x93\xee\xed\x1e\x1e\x7f\x7d\xf7\x71\xef\xad\x6b\x8b\x87\x62\x1a\xfe\xee\xba\x83\x3e\x3d\x76\x9d\x2e\x7d\xed\x0e\x1c\x7a\xe0\x0e\x4d\xfa\x93\x3b\xb4\xe8\xcf\xee\xd0\xa6\xff\xea\x0e\x7b\xf4\xad\x3b\xec\xd3\x77\xee\x70\x40\xf1\xbc\x87\x6b\x75\x21\x01\x7f\x8e\xf6\x4f\x3e\x1d\x7d\x90\x29\xf8\xf3\x77\x77\x64\xd2\xbf\xb9\x8e\x43\xf7\xdc\xc1\x90\x7e\x76\x9d\x01\x7d\xe5\x0e\x06\xf4\x83\x3b\x74\xe8\x7b\x77\x38\xa4\xa2\x75\x5d\x9b\x1e\x1f\xc2\xef\xe1\xd1\x9b\x0f\x27\x5f\x8f\xf7\x8e\xf6\xf7\x3f\xb8\x3d\x78\x3e\x39\xde\x83\xc4\xf1\xde\xd1\xc7\x77\xef\x04\xed\x56\xaf\x4f\xf1\x9c\x01\xa6\xf0\x68\x81\x6b\x8d\xe8\xab\x23\xfc\x23\xce\x14\xb8\xbd\x3e\xa4\xe0\xcf\xcf\x1f\xdf\xef\xbb\xdd\x01\x3d\xdc\xfd\x69\xff\xeb\xa7\x43\xb7\xdb\xa5\x87\x3f\x89\xbf\xaf\xf7\xdf\xed\x9f\xec\xbb\xbd\x01\xa4\xe0\xcf\xfe\x87\xd7\x6e\xb7\x2f\x40\x5f\x7f\xfc\xf2\xc1\xed\xf6\xa8\xd8\xee\x2f\x53\xf8\x17\x0a\x3b\x14\x73\x7b\x26\xc5\x6d\xf9\x6e\x77\x44\xdf\xed\x1f\x9c\xb8\xdd\x21\x95\xfb\xeb\x5d\xab\xd7\xa3\x6f\x0f\x4d\x77\x34\xa0\x6f\x0f\x2d\x77\x34\xa4\x6f\x0f\x6d\x77\xe4\xd0\xb7\x87\x5d\x77\x34\xa2\x6f\x0f\x7b\xae\x65\x9a\xf4\xed\x61\xdf\xb5\x4c\x8b\xbe\x3d\x1c\xb8\x96\x69\xd3\xb7\x87\x43\xd7\x32\xbb\xf4\xed\xa1\xe3\x5a\x26\xe0\x18\xb9\x96\xd9\xa7\x6f\x0f\xbf\x1e\xbe\xfb\x74\xec\x5a\x26\x60\xfa\xba\xfb\xfa\xb5\x4a\xbe\x7f\xf3\x01\xf3\x01\xe7\xd7\xe3\x4f\xaf\x4e\x8e\x76\xf7\x4e\xb2\xe7\x93\xdd\x23\xd7\x32\x07\x08\xf8\xe9\xdd\xc9\x9b\xc3\x77\xff\xa6\x9e\x5f\xbf\xf9\xfc\xe6\xf5\xbe\x6b\x59\x16\x3e\xed\xef\xbd\x79\xbf\xfb\xce\xb5\x2c\x13\x2b\xdb\x3f\x7a\xf3\xf1\x35\x3e\x7d\xd8\xfd\xfc\xe6\xa7\xdd\x93\xfd\xaf\x20\x91\xae\x05\x5d\xa8\x72\x0e\x3e\x1e\x7d\xd9\x3d\x7a\xed\x5a\x83\x21\x15\x1b\xca\x5d\x0b\x44\xe7\xd3\xbb\x77\xaa\x23\x2d\xa7\x4b\xbf\xbc\xf9\xf0\xfa\xe3\x97\xaf\x1f\x3f\xef\x1f\x7d\x7e\xb3\xff\xc5\xb5\x1c\x9b\xbe\x42\xd6\x7d\xd8\x3f\x3e\x86\x7e\xb1\xad\x41\x31\x07\xd9\x6b\x5b\xc3\x35\x83\x5b\x4e\xca\xb3\xa0\xaf\x1b\x8f\x49\xab\xc0\xaf\x9b\x0f\x4b\x6f\xf8\xfa\x8a\xe7\xa5\x8b\x3b\x6e\xdd\xc6\x2b\xa4\x9e\xb0\x27\xf7\x9e\x96\x77\x9d\x3e\x84\xf0\x11\xdb\x1b\x15\xca\x93\xf8\x24\xde\x48\xe0\xc3\x5b\x9c\x73\x54\xaf\x62\xce\xe3\xc5\x6f\xc5\x26\x3e\xec\xcb\xad\x13\xd3\x6f\xcd\xe8\x9e\xb2\xe3\xb1\x76\x21\x0b\x2d\x5f\xf8\x07\x42\x93\xb0\x39\x4b\x58\x34\x65\xef\xfd\xc8\x2f\xcd\x1f\xc1\x36\xd7\xdf\x17\x22\xbe\x55\xef\x95\xa3\xe4\xb9\xb8\xd4\x6a\x99\xc4\xf3\x20\x64\xe9\x73\x74\x4c\x84\x25\x6f\xa8\x4a\x15\xcf\x5f\xa4\xe3\x8f\xe7\xff\xce\xa6\xf8\xf1\x38\xd5\xb9\x51\xff\xbc\xa7\xbc\x11\x5c\xef\x63\x79\x49\x9d\x51\x3e\x61\x78\xb5\x6b\xed\x3b\x6b\x53\x1b\x38\xbb\x88\x93\x80\x29\xd3\xbb\x01\x22\x63\xb0\x47\x54\x8a\x3c\x54\x64\x77\xb9\x64\x7e\x82\x7e\x14\xc9\xd3\x0f\x16\xdb\x8b\x97\xb7\xe2\x53\x13\xc9\x92\x0f\x16\x3a\x06\x27\x23\xf5\x88\xf8\xfb\x30\x38\xca\x17\x86\xbc\xce\x92\x0f\x16\xca\xc3\x64\xab\xd4\x83\x45\xde\x07\xe9\x94\x85\xa1\x1f\xb1\x78\x95\x7a\xa4\xf4\xb8\xb1\xf0\xed\xeb\x6c\x29\x37\xf5\x26\xdf\x83\x99\xfb\x68\x66\x53\xce\x6e\xb8\x5b\xe0\xb8\xa6\xcf\xe3\x88\xa7\x54\x9b\xc6\x61\x9c\xa4\x54\x13\xd7\xad\x19\xe4\x9e\x3e\x02\x71\xd6\x07\x12\x2f\x3c\x6b\x2d\x4d\x74\xcb\xa3\x30\x28\x6e\x49\x04\x19\xf3\x1e\x55\x58\x49\x9b\x2c\x9c\x09\xdf\xa3\x0a\x67\x7d\x2b\x4b\xe7\x7d\xfd\xb8\xe2\x28\x4c\xaa\xac\x90\xac\x47\x15\x2c\xf5\xb3\x2c\x0f\x79\x1d\x72\x7f\xd6\xd8\xeb\x75\x1d\xe0\x7d\x07\xdf\xb5\x7d\x91\xb4\x17\xf1\x8c\x11\x77\xf2\x58\x3e\x61\x24\xb7\x09\xfe\xca\x50\xf6\x79\x10\x51\x9a\x07\xf6\xa4\x85\x80\xa1\x67\x94\x88\xad\x51\x9a\x1f\x69\xbb\x21\xff\x29\xd1\x66\x8c\x33\x19\x20\xc5\x9f\x7e\xfb\xe5\xcb\x25\x5b\x25\x41\xca\x83\x69\xe7\x34\x3a\x8d\x9e\x01\xfa\x67\xae\xb6\xbb\xe2\xb1\x80\xd4\xce\xfd\x14\x3d\x7f\x2d\xf2\xaf\x82\x0b\x9f\xc7\x49\x27\x94\x17\xe0\xb8\xa7\x91\x86\xff\x9e\xb1\xa8\xbd\x4a\x9f\x69\xde\x4b\xed\x19\x90\xf6\x8c\x6a\xb8\xf6\x01\xcf\x19\x35\xcf\x00\x3d\xbc\x74\xb5\xd7\x41\xea\x9f\x87\x4c\xf3\xa3\x5b\x49\x56\xc2\x42\x5c\xe8\x58\xac\xa2\x0b\x98\xb7\x9f\x46\xcf\x54\xe3\x80\x9c\x34\x5d\x2d\x98\xb6\xc7\x93\x70\x7b\x37\xe4\xda\x82\xf9\x51\x2a\x4a\x02\xa4\x6a\x7b\x0e\x09\x39\x5a\x03\x64\x4e\x4c\x06\x8a\x59\x0d\xb0\xc0\x3c\xe8\xa8\x2c\xd0\x4f\x3b\x48\xdb\x30\xd5\xc8\x73\x9e\xd0\x79\x5b\x16\x25\xe7\x71\x1c\x12\x4a\xde\xcc\xb5\x94\x71\xaa\xad\xa2\x59\xcc\x52\x8d\x5f\x32\x4d\x44\xdd\xd5\x3e\x1e\x43\xed\xed\xec\x38\x4d\xfb\xe5\xeb\xfd\x77\x5a\xc2\x16\xfe\x92\x6a\x69\xac\xf1\x4b\x9f\x6b\x25\x9a\x34\x98\xb7\xb1\x99\x16\xa4\xe5\xfc\x8e\xa2\x5e\xd2\xfc\x63\x94\x1e\x33\xae\x5d\x5f\x32\x7e\xc9\x12\x24\xd3\x0f\xb9\xfa\xba\x91\x6a\x7e\xaa\xf9\x1a\xe0\xc6\xac\x38\x11\x19\x33\x90\xa5\x68\xca\x15\x6c\x46\x48\xca\xa2\x59\xda\xbe\xbe\xf4\xf9\x13\x68\xc9\xae\x1c\x98\x64\x29\x19\xb5\x92\x96\x22\xaf\x9e\x51\xb2\x27\x62\x5f\xa5\xda\x25\x4e\x5e\x73\x62\x83\x54\x13\xf1\xe6\x67\x28\xe1\x9a\x5c\xab\xe9\x88\x7f\xda\x31\x8b\x66\x30\x3a\xf6\x8f\xf7\xb4\x65\xc2\xe6\xc1\x4d\x07\x80\xb0\x96\x8e\x02\xda\x9d\xcd\x34\xcb\x76\x34\x1e\x23\xea\x55\x84\x93\x54\x36\xd3\xb2\xa0\xfd\xd0\xfa\x20\xd2\x6e\x70\x8f\x04\x20\x28\x90\xd7\xe9\x68\x5f\xfc\x80\x63\x5c\x49\x28\xae\x6e\xd8\xd0\x30\xd6\xaa\xe6\x47\x33\x2d\x65\x4c\x03\xde\xe0\x7b\x59\x54\x53\xa3\x2b\xff\x97\xfa\xb7\x69\x47\xd3\xf4\x93\xcb\x20\xd5\xae\xe3\xe8\x19\xd7\xae\xe3\xe4\x9b\x76\xcd\xc2\x10\x86\xe8\x32\xf4\xf9\x3c\x4e\x16\x29\x74\x5b\xc2\x10\x5b\x1d\x8b\xc2\xbf\x64\x89\x00\xc6\xef\x8b\xa0\xa6\xe4\x77\x2b\xa4\x34\x8d\x17\x82\x89\x2a\x70\x5e\xda\x31\xb0\x33\x57\xb3\xe0\x3c\x64\xed\x73\x16\x86\xed\x14\x74\xe7\xc3\x1d\x2a\xf5\x2d\xb8\x67\x6d\x75\x5b\xa8\x2b\x9c\x29\x40\x17\x3f\x07\x64\x84\x92\x15\xee\x04\xfb\x74\xf4\x4e\x8b\xe7\x48\xbc\xda\x46\xa7\x01\x80\x86\xb5\x75\x34\x6d\x7f\xb1\xe4\xb7\x6a\x4d\x14\x68\x8d\x62\x4d\x92\x85\x80\x28\x74\xf2\x86\xd0\x76\x54\xb8\xfb\x13\x89\x7e\x34\xb9\xf9\x48\x78\xf6\x66\xae\xf1\x64\xc5\x68\x99\xa0\x54\xc4\x97\x63\x5a\x7e\xa3\x97\x76\x1d\x84\xa1\x26\x2e\x87\xd0\x7c\xed\x0b\x3b\x2f\x5d\x3e\xda\xd1\x2e\x39\x5f\xa6\xee\xf3\xe7\xd7\xd7\xd7\x9d\xeb\x6e\x27\x4e\x2e\x9e\x9f\x1c\x3d\x2f\x12\x99\x3e\x07\x39\x7d\x2d\xee\xb5\x81\x16\x96\x5e\x6a\x09\xfb\x8f\x55\x90\xb0\x14\xba\x6f\x11\xa4\x29\xf6\x57\x12\x2f\x84\x64\xc2\x14\x49\xfb\x72\xc9\xc4\x4a\x99\x26\xee\x66\x82\x31\x90\x32\x8e\xe2\x8b\xad\x40\xd6\x0b\x52\x7d\xce\xd9\x62\x89\xef\xfc\xf4\x5b\x86\x04\xd9\x5a\xa8\x21\x98\x6b\x11\x9b\xb2\x34\xf5\x93\xdb\x0e\x34\x29\x13\xd3\x54\x5b\xf8\xb7\xe2\x56\xaa\x4b\xb9\x6e\x54\x2c\x08\xe4\xb2\x94\x03\x82\x80\x6b\xb3\x60\x86\xa0\x62\x43\x15\xf0\x08\x49\xf7\x45\x9d\x42\xfa\x70\x98\x4a\x8d\xc8\x6e\x38\x8b\x52\x6c\xf7\x75\xc0\x2f\x91\x3c\x52\xe2\x07\x29\x56\x76\xe9\x5f\xb1\xe2\x33\x8f\x35\x79\x3f\x50\x99\x89\x9d\x67\x67\x94\xe4\x9d\xd6\x46\xff\xe9\x61\xb9\x28\xb8\x62\x24\xb9\x38\xd7\xad\x01\xd5\xc4\x7f\x06\x18\x63\x44\x42\xc9\x49\x59\x20\x30\x5b\x8c\x7d\x76\xc3\x45\x33\xa2\x58\x8b\x51\xab\x8a\x97\xbe\xba\x7c\x28\x45\xc9\x2d\x10\x86\x0e\xdd\xd3\x08\x23\x34\xfb\xd8\x48\xf6\x8e\x8f\x35\xf1\xc5\x5c\x8e\xa7\x02\x5d\x88\x7a\xcd\x60\x12\xef\xa0\x1f\x0e\xe2\x44\x63\x37\xfe\x62\x19\x0a\x6b\xbf\x4a\x42\x5d\x89\xf0\x45\x1c\x77\x2e\xc2\xe7\x7e\xc4\x66\x27\x6f\x0d\x78\x1b\x06\x11\xf3\x93\xf6\x45\xe2\xcf\x02\x16\x71\x9d\xc7\x4b\xed\x1c\x27\x8f\x54\x3b\x0f\x41\xf2\x12\x36\x33\x2a\x6d\x4c\x83\x5f\xff\xc8\x26\x6a\x80\xbf\xa3\x69\x32\xa6\x75\x0a\x42\x01\x6e\x48\x95\xd5\xea\x82\xae\x3f\x92\x14\x55\x47\x23\x6b\x2d\xf3\xcf\xf0\x1f\x24\xa7\x2c\xe2\x2c\x51\x04\x0a\x5f\x40\x18\xd0\xdf\xee\x7b\x48\x3d\x26\xc9\x13\x5e\x44\x7a\x19\xaf\x42\xb0\x42\xd1\x4c\x7b\x75\xac\xe9\xcf\x4e\x4f\x6f\x4c\xe7\x19\xd5\xfc\x6f\xbe\xf6\xcb\xcf\x46\x47\xd3\x3e\x82\xbc\x5e\x07\x29\xab\x14\x05\x13\x5b\x2c\x0e\x45\x87\xf3\x67\xc8\xdd\xcc\x3a\xb6\x17\xfe\xb2\x1d\x5f\xb1\x24\x09\x66\x2c\x7d\x12\x87\x85\xbf\x8b\x6c\x25\xf4\x19\x1a\x3e\xd0\x66\x4b\x36\x0d\xe6\x01\x9b\xa1\xd7\x11\x69\xb1\x98\x57\x6b\x6f\x38\xba\x42\x5a\x8a\x1f\x46\x34\x3f\x49\xfc\x5b\x2a\x8d\x21\xf3\xa7\x97\xda\x52\x7e\xd5\x01\x30\x68\x48\x6e\xc0\x41\x41\x4e\xe3\x19\x43\x7b\x0c\xaf\xe4\x56\x93\x02\x7e\xe1\x80\xd5\x2a\xd0\x02\x9e\xb2\x70\xde\xd1\xde\x44\x02\xa2\x5c\x7b\x63\xbd\x09\x9b\xb2\xe0\xaa\xec\x41\x54\xeb\x85\x07\xa9\xbe\x8a\x80\x8d\xc2\xf3\x9d\x98\xc4\xfd\x4e\xb6\xf1\x93\xde\xca\xb6\x46\x36\xa1\x84\x66\x4f\x26\xa1\xa4\x9d\x3d\x59\x84\x92\x4e\xf6\xd4\x25\x54\x83\xd2\xf8\xd8\x77\x1c\x72\x7f\x0f\xea\x11\x4f\xbe\xb4\xe3\xa8\xcd\x6e\x82\x47\xf8\x6c\xe5\x99\xd1\x96\x99\x89\xdc\x17\xe9\x40\xa2\x66\x41\x3b\x83\x98\xb1\x75\xe2\x10\x0c\xf4\x8f\xb0\xa3\x53\x71\xbf\xb9\x06\x55\x0a\x5d\x28\x36\xbf\xb6\xcf\xc3\x20\xfa\xf6\x24\xb9\x29\x08\x7d\x9d\x02\x44\x27\x6a\x44\xfc\xda\xf9\xad\x72\x81\x6a\xb5\xb6\xa7\xb7\xd3\xf0\x69\x0a\x6a\x62\xb1\x2e\xed\x9b\xe6\x59\x26\xb8\x68\x14\x54\x5d\x58\x79\x02\xc6\x2f\x88\xb4\x45\x10\x86\x41\xca\xa6\x71\x34\x4b\xb1\x67\x77\x35\x7e\x1d\x6b\x4c\xdc\x59\xa4\x64\x08\x48\x9d\x07\x49\xca\x41\xb5\xe0\x55\x3d\xe8\xd7\xc6\xd7\x5a\x18\x47\x17\xc5\x96\xc8\xb1\x78\xce\xb4\x38\xa2\x9a\x40\x5c\x82\x0d\x78\x11\x66\x3e\x2f\x36\xf8\xc7\xec\xa0\xaf\xdb\xfd\x3e\xd5\x4c\xf1\xff\x4e\xbf\x6a\x0c\x85\x91\x93\x3a\x51\x5e\xe1\x28\xc9\x15\x95\xc3\xfb\xf6\xd2\x0f\x19\xe7\xec\xf7\x50\x13\xe4\xa3\xc4\x21\x17\x46\x94\x9b\xa6\xbc\x5c\x59\x15\xb2\x1b\x35\xca\xd4\x8f\x80\x1b\x55\xad\x22\x46\x37\x18\xe8\x5c\xc3\x68\x30\x7d\x6b\xd4\x3e\xc0\x59\xd0\x0d\x38\xad\x9c\xa1\x98\xb1\xc7\xaa\x22\x5f\x8b\x56\x0b\x96\x04\x53\x9c\xd0\xdd\x68\x41\x24\xa7\x1a\x82\x77\x45\x82\x3f\x43\x1b\xd7\x90\x1c\x2e\xe2\x94\xe3\xac\x7a\x9a\xa6\xb2\xac\xd8\x25\xab\x69\x42\x75\x46\xd3\x70\x35\x63\xa9\xf6\x4f\x47\x3f\xbd\xa2\xda\x3f\x1d\x1d\xfd\xf4\xd3\xab\x57\x54\x03\x6f\xa6\xd3\xe9\x18\x98\xf2\x65\xd2\xc7\x99\xd1\xad\xc4\x13\xf9\x0b\x9c\xad\xc2\x14\x34\x81\x99\x41\x1a\x6b\x4b\x3f\xe1\xaa\x63\x53\x1e\x4f\xbf\x69\x7f\xb3\x2c\x40\xd1\xe1\x37\x5c\x9b\x07\xa1\x20\xf9\xdf\xe2\x15\xd2\xbb\x4a\x99\x26\x56\x18\x80\x3b\x82\xf4\x5b\x81\xb2\xd8\x3d\x42\x01\xe6\x42\x0a\x83\xf6\x5c\xdc\x81\x7a\xc1\x66\x59\x53\x52\xc0\x37\x5f\x85\x62\xb6\xf2\x2d\x58\x2e\xc1\x83\xf1\xb5\x74\xe1\x87\x21\xf0\xf3\x9c\xa1\xd4\x05\xd1\x2c\x98\xb2\x34\xd7\x32\x99\x82\x6d\xec\x6f\x29\x92\xcb\x5b\xd0\x7d\x29\xae\x9e\x3c\x2c\x89\xf9\x5a\x5a\x41\xf3\xed\xae\x78\xbc\xf0\x79\x30\xf5\xc3\x10\xb8\xb8\xbc\xd5\x16\x31\xf0\x20\x55\xc7\xd5\xd4\x84\x72\xaa\x4e\xbe\x62\xe5\xab\x94\xb5\x25\x2f\xda\x42\x43\xb6\xa1\xf0\x93\xa8\xa8\x6b\x3f\x1e\x23\xff\x8b\x8c\x96\xea\x17\x29\x3b\x67\x97\xfe\x55\x10\xa3\xd3\x81\x2b\xf5\xed\x8c\xca\x36\x6e\x39\x7d\x3a\x0d\x75\x1b\x80\xca\x9f\xf9\x62\x1a\x9c\x73\x41\x6c\x69\x05\xfc\x41\x74\x21\xf8\xcf\x93\xb0\xbd\x0c\x57\x69\x7b\x11\x44\xab\xb4\xfd\x2b\x4b\xe2\xf6\xaf\x71\xbc\x78\x8a\xdb\x63\xd6\xdd\x9e\x3d\xc0\x7b\x18\xae\xd2\xe7\x78\xd8\xed\xf9\xdf\x59\x12\x6b\x53\xb5\x74\x00\x15\x74\x4e\xa3\x37\x73\x6d\xee\x87\xa9\x02\xc7\x00\xcc\x9b\x0b\x49\x48\x7c\x8d\x6e\x50\xaa\xfd\xf2\xb5\x58\x1b\x16\x99\x81\xe3\xc9\x2f\x4b\x6d\x9c\x3e\x92\xad\x4d\xce\x1c\x2e\x87\xed\x01\xdf\x02\x96\xc2\x04\x4b\xb4\x11\xdd\xb0\x5f\xf6\x80\xd9\x97\xb1\x98\x79\x61\x73\x3a\xa7\x78\x10\x78\x1b\xdb\xb3\xbd\xa7\xe8\x2c\x01\x0a\x0c\x39\x46\x51\x30\xa3\xf6\xaa\x8d\x67\x79\x7f\x03\xb9\x9f\x35\xc4\x50\x23\xf7\xf3\x03\xe4\x7e\x56\xe4\x7e\xae\x93\x9b\x63\xcc\xc9\x65\x7e\xca\xdb\x7e\x1a\xf8\x51\xdb\x5f\x9c\x07\x17\xab\x78\x95\xb6\xfd\xb4\xcd\xaf\xe3\xb6\xb8\x59\xf7\xb7\x2f\x89\xed\xfb\x29\xd7\x76\xa1\x0e\x6d\x57\xd5\x91\xbb\x69\xa9\x98\x8d\x82\x31\x17\x15\x6a\x78\x2e\x58\x50\x17\xf9\xe7\x21\x6b\xe3\x22\x53\x3b\xbb\x44\xe9\x47\xe8\x39\x49\x56\x0c\x38\x22\x30\x8a\x65\x2b\x25\x9b\x05\x5a\xa8\x60\x0d\x40\x06\x17\x51\x2c\x96\x86\x16\xa8\x9c\xbf\xb0\x67\x61\xa8\x25\x0c\x94\xa1\xd0\xc3\xc0\xa3\xf3\x5b\xce\xb4\x2b\x96\x88\xb9\xb7\x50\xf1\xe2\xae\x85\x0a\x66\x2d\x61\x17\x7e\x32\x0b\x59\x2a\xc1\xc4\x5a\x03\x57\x52\x2e\x9b\x7a\x1e\x87\x8f\x58\x27\xaa\x19\x74\x9e\x04\x29\xf7\x39\x53\x2d\x0d\xe6\xda\x75\x66\x1a\x40\x9d\x01\x5e\xed\x1a\xcf\x4f\x6b\xf3\x38\xe2\x95\x89\x36\xce\x55\xe2\x70\xf6\xfc\x5c\x2c\xf3\x66\x33\xed\x8e\xa6\x1d\x28\x8e\x28\xb5\x28\xa2\xea\x17\xb1\x75\x34\xed\xc3\x2a\x0c\x71\x71\x24\x5b\x11\xaf\x36\x0b\xc4\x4a\xa0\x7f\x9a\x83\x6a\x96\x3b\xb1\xde\x34\x41\xb2\x74\x61\x74\xa7\x6d\xf5\x35\x50\x96\x9a\x35\x28\xbb\x05\x06\x36\x1a\x2c\x75\xbd\xe1\x0d\x2d\x8e\xd5\x4c\xae\xd4\x90\xa7\x3b\xd8\x9b\xe8\x2f\x8a\x93\xf0\x77\x1b\x39\x2f\x65\x31\x00\x46\x17\x88\xc9\xcc\x21\x2e\xde\x3d\x66\xae\xdb\x68\x75\x8e\xc1\xe7\xf5\x35\x79\x3b\xba\x72\x02\xb3\x15\xbc\xcc\x1f\x40\x6d\x72\x9d\x04\xa0\x44\x1a\x0d\x72\x8d\x2c\x04\xfe\x51\xaf\x20\x0c\xe5\x0a\x35\xd6\xcb\x63\x51\xb5\x26\xae\xfe\x0e\x6f\x15\x09\xe9\x6d\xca\xd9\xa2\x99\x92\x19\x9b\x5a\xf6\x93\xe7\x64\xb9\xd6\x38\x2a\x74\x0f\x50\xf1\x2c\x2d\xae\x03\x0a\x47\xab\x34\x3d\xc2\x2e\x84\x91\xb8\x02\xaf\x0b\xfc\xac\xd7\xfb\x7b\xda\x61\x12\x5c\xc1\x34\xe6\x3d\x4c\x9b\x2d\x1b\x28\x64\xd1\x55\x90\xc4\x11\xcc\x5d\x9e\x48\xde\xf7\x93\xfd\xa3\xf7\x2e\xc1\x15\xf4\xb6\xdd\x1f\x88\x19\xc4\x7d\x79\x0a\xa5\x3c\x97\x42\x35\xda\x95\x9f\x04\xc0\x95\x94\x96\x17\x03\x80\x5f\x30\x88\xdb\x73\x7f\x11\x84\x8f\xb0\xb1\x05\xe1\x7e\x46\x5e\xb3\x7f\xf7\x3f\xaf\xb4\x63\x3f\x4a\xb5\xf7\x71\x14\xc3\x24\x79\x1f\x14\x62\x1c\xa9\xe7\x83\x84\x31\x48\x52\x8d\xbc\x67\x51\x88\x20\x27\x52\xba\x08\xd5\x16\x71\x14\xe3\x1a\xc9\xb3\xc2\x1a\x91\x5c\x85\x92\xba\x0a\x09\xcb\xbe\x0b\x64\x92\x09\xc3\x38\x27\xff\xc9\xeb\x63\x56\x9f\x92\x20\xe2\x15\x96\x61\x8d\x80\x0b\x06\xc2\x32\xb8\x61\x61\x5a\xa8\x63\x11\x0b\xcf\xe4\x69\x93\x3f\x3f\xe2\x81\x1f\x06\x7e\xca\x66\xd5\x85\xb0\x32\xda\x6c\xb2\x23\xab\x54\xd7\xc5\xff\xe8\xca\xab\xdd\x33\xa9\xa6\x7e\xaa\xf3\xcd\x1c\xfd\x0f\x2c\xbe\x5e\xc6\x0b\xd6\xfe\xc6\x6e\xd3\xb6\xd8\xd9\xf2\x1b\xd7\xd9\x00\xdd\x73\x96\x7d\x17\x90\xe6\xb3\xd4\xdb\x59\x34\x11\xf1\x25\x08\xdc\x9d\x4a\x31\x74\x91\xa0\xcc\xe7\x13\xed\x1b\xbb\x9d\xe2\x31\x3e\x9c\x89\x4a\xab\x0e\x9a\x2c\x2b\x22\x1c\xa5\xcf\x27\xb8\x9a\x95\x36\x21\x15\x35\x62\x7b\xbf\xb1\x5b\x75\x9d\xd0\x13\xbf\x44\x67\x6b\x72\xbb\xda\xc2\x5f\x82\xed\xc7\xa5\x40\xf9\xb1\x08\xf4\x48\x7e\x10\x0a\xa8\x7d\x5b\x78\x9b\x4d\x44\x35\x70\xec\x61\x86\xbd\x00\x3b\xa0\xf6\x83\x42\xc9\x54\x9b\xc7\xa0\x29\xd9\x4c\x3b\xbf\xd5\xc4\x47\x46\x68\x90\xc4\x24\xda\x26\x27\xc1\x33\x36\x0d\xc0\x72\xc7\x89\x76\xc9\x6e\x7c\xf5\x28\xa6\x80\x29\xc5\x19\xbc\xf8\x16\x98\x6d\x1e\x93\x68\x24\x79\x0d\xb3\x69\xb5\x22\x0e\x13\x55\x64\x7f\x9c\x69\x4b\x2a\x97\x04\xe4\xc7\xb2\x12\xd2\x03\xac\x6b\x0e\x4e\x03\xbb\x59\x86\x7e\x84\x1f\x1c\xd4\x1c\x79\x0e\x1e\x06\xa7\xf8\xb9\xaf\xb2\x8a\xfe\xee\xcb\x51\x34\x13\x6b\x7b\xc7\xb8\xac\xa7\x15\xbb\xe6\x34\xfa\x7e\x1a\x69\x1a\xfa\xd0\xed\xdd\x90\xb7\xdf\x12\x57\x23\x95\x1d\x55\x84\xe6\x30\x62\xd2\xf2\x0e\xa0\xf0\xea\xf2\xc2\xab\x9f\x21\xf3\xf4\xd9\xcf\xfb\xef\xde\x7d\x3c\x3d\x8d\x4e\x9f\x91\xd3\x08\x57\xfc\x16\xfe\x4d\x5b\xb4\xba\xad\x3a\xea\x61\xe9\xcf\xf6\x80\x58\x2c\x53\x3b\xef\xfd\x1b\x4d\xec\xf5\x86\x86\xfb\xda\xeb\xbd\x63\xaa\x7d\x3c\xde\xa3\xda\xe1\x7b\x64\xde\xee\xe1\x71\x2e\x29\xe7\x0c\x06\x2c\x38\x0f\x17\xc1\x15\xd3\x56\x4b\x14\xd9\xdc\x4d\x15\xdd\x0e\x63\x13\xaf\x69\x11\x83\xd3\x4f\x58\x7b\x0e\xa9\xdf\x38\x3e\xa7\x71\x74\xc5\x12\xae\x21\x6a\x21\x77\xa2\xa7\x83\x44\x3b\x00\x91\x61\xff\xb1\x0a\xae\xfc\x90\x81\x33\x98\x4f\x0c\x43\x56\xfe\x54\x2b\xbe\x30\xab\xaf\xbb\xa9\xa4\x96\xfb\x72\xd5\x5e\x7e\xbc\xfe\xa1\xb9\x6b\xf5\x23\x7c\xf6\xc9\x5d\x8c\x73\x5f\x0b\x99\x3f\xc3\xb3\x3f\x58\x89\x5c\xe5\x14\x14\xc4\xab\x94\xb5\xc5\x9e\x87\x69\x18\x4c\xbf\x3d\x76\xfa\xd6\xe4\xb8\x3c\xc3\x0c\xf0\x40\x85\x5f\x2a\x96\x32\xce\x57\x9c\xc7\x91\x86\xd8\xd3\x7c\x41\x2d\xff\xee\x08\x83\xe4\x4a\xac\x75\xce\xd8\x92\x45\x30\x58\xd4\x70\x90\x04\x22\x51\x6d\x81\x89\x64\x93\x07\xc0\xf5\x21\xe6\xcc\x15\xcb\x3d\xa8\x08\x25\x9b\x71\x77\x47\x4b\xd2\x01\x79\x6c\xa6\x2d\x82\x29\x48\x4a\x22\x9c\x28\xfc\xc0\xd7\x80\xfd\x09\x2d\x2f\x6c\xb7\x31\xa9\x45\x6d\xda\xa5\x3d\xda\xa7\x83\x33\x4a\xde\x63\xd3\x11\xb1\x64\x00\x4a\x75\x54\x9f\x2a\xa8\xa5\xfa\x3c\x8b\x6a\xd7\x38\xe1\x52\x93\x8e\x45\x30\x83\x26\x95\xb8\x29\xbe\xc2\x45\xed\xbf\x59\x56\xe1\x93\xbe\x2e\x74\x26\x74\x75\xb6\x5f\x04\xbf\xcc\x44\xda\xdf\x2c\xab\x8a\xb7\xa1\x93\xf4\x34\x40\xcd\x0c\x53\x1d\x9f\xc3\x58\x93\x0b\x40\x0b\xc1\x07\xe5\xbc\x8b\x86\x5d\x05\xfe\x3a\x02\x0d\x6c\x97\xa9\x79\x9e\xe8\x0a\x7d\x99\x04\x0b\x3f\xb9\x35\xe4\xfb\xce\x69\x64\xc1\x4b\x59\x54\xf7\x57\x37\x41\x18\x94\x01\x6c\x00\x10\x44\xea\x62\x95\xba\xfc\xfe\x49\x82\x74\xba\x4e\xd4\x4f\x7f\x2f\x79\x82\xe1\x74\x1d\x27\xb3\x36\x1e\xdd\x6e\xe3\xe9\x94\x36\x94\x7b\x8a\x48\x91\xc9\x2f\xa7\xa7\xe9\xe9\xe9\xe4\xf4\xf4\x4c\x37\xbe\xdf\xbf\x78\x79\x4a\x9e\x9d\x9e\xfe\xb2\xf5\x2f\xff\xf4\xcf\x7f\x6e\xfd\x85\x8e\xdd\xff\x72\x56\xf0\xa3\x9e\x1d\xb1\x8b\x55\xe8\x27\x60\x49\x12\x96\x7d\xd1\xbe\xf4\x43\x2e\x8e\xc7\x48\xfb\x04\x1c\x10\xfd\x90\x72\x3f\xe1\x86\x50\xba\xd9\xf2\x9a\x6c\x39\xcc\x6d\x61\x76\x21\xd7\x4e\xfd\xc2\x97\xa7\x69\xe8\xa7\xa8\xf7\x12\x86\x0b\xd9\xd2\x0c\x4e\x0b\xd3\xfc\xce\x69\xf4\x85\x69\x3e\xce\x5d\xc8\x3f\x08\xaa\x68\xd2\x21\x85\x0f\x27\xe0\x7c\x2f\x7d\x7e\x99\x6a\x73\xfc\xe6\x1f\xc1\x5c\x06\x09\x52\x33\xd2\x38\x65\x38\x2e\x6b\x7c\x7c\xe4\xe4\xf9\x29\x8c\xfc\x47\xa7\xc4\x4a\xf2\x04\x56\x4a\xa1\x64\xd1\xec\x8f\xe1\x64\xa3\x28\x89\xa1\xf2\x7b\xf0\xe0\xec\x2f\x0f\xb7\x5b\x1c\xae\xf2\xc3\xb0\xfc\x0d\x34\xfb\x50\x22\xa8\xf9\xbd\x04\xe7\x34\xfa\x94\x8a\x0f\x22\xec\x66\xa9\xbe\x72\xe6\xab\xbf\xe9\x2a\x41\x67\x3d\x90\x1f\xb2\x50\x66\x70\xce\x10\x07\x91\x30\x64\x4b\xff\xe2\xf7\x74\xca\x01\x9d\xb6\x5a\x3e\x9f\xc5\xd7\xd1\x13\x1d\xf3\x7a\xd1\x47\x39\xe7\xa5\x62\x6b\x1d\xf4\x32\x54\xee\xa4\x93\xa5\x9f\xa6\x6d\x3f\xe4\x6d\xe1\xd2\x3e\x75\xd3\x68\x71\x19\xad\xe8\x4e\xe4\xeb\x35\x50\x01\xee\x3d\xb4\x3a\x9d\x91\x1a\x08\xd2\xb9\xc9\x95\xb1\xdc\x4a\x77\x2b\x96\x4e\x92\x55\x14\x41\x37\x89\xcd\x44\x41\xa4\xf9\x99\x3b\xc4\xfd\xf3\x7c\xc3\xe2\x6d\xbc\xd2\x66\xb8\x57\x0d\xbf\xfb\x0a\xdb\xf5\x2c\xd5\x4e\x89\x88\xf3\x8b\xd5\xf9\xe7\xa7\x44\x53\xd1\xd3\x34\x7f\x3a\x65\x21\x4b\x7c\x1e\x27\xc0\x4b\xdc\xcf\x14\xc5\x3c\xab\x12\x2b\xe3\xfe\xb9\x16\xf0\x67\xa9\x76\xce\x38\x17\x1f\x17\x54\x5f\xa4\xac\xe8\xca\x89\x85\x16\x24\x07\x66\x0e\xc2\xd5\x5f\xa5\x18\x6d\x44\xbb\x0a\x16\x60\xbb\xd9\xc2\x9f\x0a\x59\xcd\xa4\x24\x63\x07\x76\xf3\x39\x53\xdb\x08\x41\xe7\x15\xd9\xa3\x15\xfc\xc2\x5a\x99\x14\xac\x54\x81\x0c\x01\x8d\xbd\x52\x70\x0a\xf2\x4d\xb6\xd9\xde\x3c\x69\xf6\x51\x3a\xa4\x99\xc6\x53\x86\x99\x38\xe0\x82\xfc\x1f\x2a\x0f\x38\x5b\xf8\x9f\x02\x51\xfe\x78\xf4\x54\x89\xa8\x17\xfa\xe3\x44\x02\x67\x1c\x7f\xa8\x48\xbc\x87\x1a\xfe\xa7\x48\x64\x22\x91\xf3\xe3\x09\x22\x51\x2f\xf4\x07\x8b\xc4\xd5\x6f\x9f\x79\x22\x9e\xcf\xda\x05\xe3\x29\x4a\x82\xb0\xe7\x48\x2b\xd4\x25\xb7\x33\xb5\x99\x3a\x02\xf2\xf8\x75\x03\xb2\xe2\xf3\xb6\x43\xe8\x44\x25\x48\xe2\x5f\x8b\x93\x0b\x62\x8e\xcd\xf2\x8b\xbc\x45\x11\x9c\x1f\xcd\x7c\xee\xe7\xbb\xa8\xb2\x0d\xb0\x48\x91\xdc\x26\x11\xcc\xc4\xa7\xfe\x14\x37\x2c\x3c\x43\xf4\xcf\x90\x55\xcf\x12\xff\x5a\x6c\x51\x13\x56\xb6\x1d\x47\xe8\x5e\xf0\x24\xfe\xf6\x08\x27\x2c\x3f\x7d\xd2\xf4\x8d\x59\xa0\xcc\x06\x08\x6e\x7f\xc4\x0f\x37\xd1\xad\x96\x55\x52\xa9\x3c\x5e\xf1\xe5\xea\x11\x2e\x70\xa1\xe6\x06\xbf\x66\x5d\xcd\x99\x47\x23\xaa\x29\xd4\x7d\xee\x27\x6d\xb9\x23\xe7\x07\x9b\x7d\x72\x89\xdf\x09\x71\x97\x43\xc1\x63\x5a\xa8\x35\x1b\xd9\xc6\xeb\x4b\xc6\xc2\xf6\xc2\xbf\xc5\x15\x91\xb6\x9f\x24\xf1\x75\xfb\x71\xeb\x37\x8d\x6d\xc6\xe1\x2e\xbe\x44\xc8\xcd\xfe\x2c\x91\x93\xda\x74\x9a\x30\x16\x69\xe7\xab\xf9\x9c\x25\x62\x17\xcb\xeb\xfd\xbd\xbd\xb7\xef\x35\x7d\x37\xbf\xbf\x41\x13\x17\x38\x68\x18\xee\x2b\x9b\x5f\x32\x2a\x27\xba\x48\xaf\x62\x28\xee\xd3\x97\x53\x46\xb6\x58\x85\xb8\xb7\x1b\x5a\x20\x16\x7b\x50\x23\x70\xa5\x34\x38\x5b\x2c\xe3\xc4\x4f\x82\xf0\x56\x9b\x89\x73\x2e\xa8\x0d\x2e\xe3\x30\x77\x71\xd1\xdd\xfb\xc6\x6e\x73\xbd\x59\x98\x34\x4d\xe3\x05\x4b\xb5\xd5\x52\xa8\x50\xd1\x48\x70\x0d\x93\x54\xd3\x43\x96\xa6\x06\x28\xa3\x44\xae\xfa\x2c\x7c\xe1\x5d\xa6\x9a\x5a\xe4\x66\xb3\x80\xe3\x17\xc3\xab\xe0\x79\xe4\x47\x31\x82\x0b\x2c\x82\x35\xcf\xf9\x62\x75\xd3\xd0\x39\xf1\x15\x6b\x2f\x56\x21\x0f\x96\x61\xf0\x18\x0b\x92\x77\x8c\x55\xfc\xe0\x90\xa3\xc8\xbe\x6c\xe0\xe7\x06\x6d\xc6\x42\xee\x83\x3e\x15\xcc\x95\x5c\x9d\xfa\xa8\x66\xa5\xbe\x94\x1c\x47\x88\x0e\xb8\x53\xf8\x21\x3d\xbe\xd6\xe6\x7e\x2a\xd4\x01\x3a\xc9\x45\xe7\x18\x05\xea\x0f\x51\x3c\x35\x7d\xa3\xf4\x74\xa6\xf7\xd4\xc8\xfa\xa1\xfa\x83\x34\x6e\xdb\xa6\x6d\x03\x09\x79\x3a\xa3\x06\xff\xb6\xc3\x78\xfa\x8d\xcd\xa0\xae\xe2\xc7\x9c\x6c\x44\x67\x34\xea\xaf\x3f\xee\x1d\x8b\x85\x99\x37\xc7\x1f\x11\x97\xdc\x14\x50\xd8\x93\x80\x2b\xf5\x3c\xf1\xa3\x34\x94\xa7\x09\xf4\x30\xf8\xc6\xb4\x8b\xc4\x5f\x5e\x06\xd3\x14\xde\xa7\x80\xe4\xd3\xc9\x41\xdb\x51\xe2\x9b\x6a\xe9\x6a\xb9\x8c\x13\x75\x82\x25\x4e\xd5\xd6\x39\xa6\x09\xf2\xc4\x37\xb8\x48\x1d\xa1\x2a\x31\x6f\xea\x47\xe5\x0d\x5c\x9a\x8f\x46\x9a\x07\x0b\xb9\xc8\x94\xb5\x45\x2c\x60\xe6\xe7\x4d\xd4\xde\x31\xb5\xbf\x98\x07\xd3\x6f\x62\x31\x41\xd0\xb7\x8a\x70\xdb\x01\x38\x0f\xe2\x43\x31\x18\xc6\x6f\xe0\x76\xb0\x68\xc6\x70\xf9\x1e\xa1\x43\x76\xe1\x4f\x6f\xb5\xc2\xed\x2d\x52\x72\x70\x91\x5c\x04\x4f\x7d\xfa\xce\x96\xe2\x87\x66\x18\xce\xdb\x9a\xb8\x31\xac\x69\x87\x0b\xaf\x6f\x6f\x91\x3b\xbd\x92\xf6\x34\x7d\xda\x56\x47\x52\x3d\x28\x83\x67\x27\x52\x7e\x1b\xb2\xf4\x92\x89\x63\x1e\xea\xf3\x4a\xf5\x9b\x77\x16\xf3\xbe\x58\x7b\x1b\xd4\xc6\x93\x49\xc0\x61\x1e\x06\x11\x6b\xe7\xdf\xfd\x56\x29\x58\x9c\xbd\xe3\x63\xa1\x89\x70\x63\x1e\xbf\x0d\x95\xda\xcb\x82\x62\x93\xb3\xe6\x63\xc9\x59\x30\x15\x4f\x1e\x94\x16\x07\x69\xf4\xa6\x83\xda\x19\x6c\xe3\x39\xef\xce\x34\x8e\x52\x9e\xac\xa6\x3c\x4e\x9a\x0e\x67\x43\x99\xd5\xf9\xf1\xea\xbc\x16\xc6\x30\x3e\x4f\x59\x72\xc5\x92\xf4\xab\xf7\x5d\x04\x34\x41\xb8\x8e\x3f\x9b\xbd\x92\x7b\xe4\x4a\x87\xc8\xc5\xf9\xef\x88\x5d\x6b\x0a\x34\x0f\xb5\x25\x03\x15\x0a\x04\x39\xc1\x6c\x92\x9c\x79\xf5\xfc\x49\x72\x26\xcf\x76\x1b\x85\x7a\x0b\x01\x66\x56\xe7\xe9\x34\x09\xce\xab\xc1\xaf\x65\x37\x97\x68\xbf\xbb\xd3\x2b\x39\x13\x76\xe6\x4d\xce\x64\x7c\x98\x52\x76\x67\xb9\x4a\x2f\xd7\x55\xba\x8a\xd6\x55\x5b\x88\x4f\x53\x42\x27\xee\x49\x11\x61\x64\xc8\x9b\xe8\x0a\x1d\xb1\x74\x85\x1d\x8a\xc1\x7c\xc6\x2a\x80\xab\x0a\x3a\xc3\x45\xdc\xd6\x17\xa6\x2c\xf4\x21\xe6\x5a\x56\xeb\x4c\x94\x49\x3a\x29\x8c\x5e\xa6\x07\x2a\xfe\x4e\x95\xd2\xe5\xea\x3c\x0c\xd2\xcb\x12\x95\x34\x29\x5c\x71\x14\x40\x77\xb1\x17\x71\x21\x1e\x5c\xe1\x4e\x81\x80\x9a\x94\x6d\x5b\x06\x8d\x27\xec\x0c\xb8\x21\xe2\x6c\x37\xb4\x2f\x6e\xb5\xf4\xd8\x9b\x9c\x81\x8c\x4d\x7d\xae\xc7\x86\x41\x13\xc8\xdb\x89\x05\x2b\x13\xc3\x8d\xbd\x49\x72\x66\xd0\xb8\x56\x85\x69\xac\x09\x5b\x70\x3d\x25\x54\xc6\x58\x3e\x8a\xaf\xf7\x50\xb1\x88\xc7\xe3\xe0\x57\x96\x3d\x9c\xb0\x1b\xbe\x9b\x7d\xb2\xc6\x20\x07\xc7\x68\xd5\xeb\x21\x8d\x60\x92\xb0\x9b\x24\xfe\xad\x37\x39\x93\x61\x81\x70\x23\x1a\x06\x3a\xff\xea\xb1\xbb\x3b\x47\x86\x24\xe6\x25\xa4\x52\x98\xcb\x35\xa9\xab\x33\x94\x06\x31\x8a\xf1\xaa\x0f\xe5\xb9\x16\x59\x52\xd0\xaf\x43\x63\x8b\x50\x47\xf1\xf5\x87\x78\xc6\xbe\x62\xdc\xe7\xe2\x8b\xe6\xdc\x8f\xf3\x79\xca\x78\x31\xff\x3a\x4e\x66\xaf\x12\xe6\x7f\x7b\xef\xf3\xe9\xe5\x3b\x36\xe7\x6b\x5f\x1e\xe1\x35\x1b\xeb\xde\xbe\xc7\xf5\xcd\x2c\xfe\xb4\x60\x60\x41\x94\x2e\x18\x06\xec\x6f\x08\x64\x29\x1a\x88\xd1\xfc\x6b\x1c\xa5\x65\xae\x4b\x31\x33\xd6\xd5\x20\x6e\xfd\x58\x17\x2c\xb3\x8a\x66\x1d\x16\xbc\x58\x64\x6d\xc4\xcd\x02\x75\x8d\x08\x52\xc6\xf7\x72\x98\xba\x08\x95\x05\xa6\xa9\xcb\x25\xc8\x4b\x4f\x5d\xfe\x07\x28\x4b\x10\x7a\x53\xa9\x24\xbe\xa6\xac\x6d\x35\x33\x07\xed\xf2\x51\x7c\xbd\xae\x59\xea\x7d\xaa\x5b\x86\x0c\xf4\xb5\x16\x47\xba\x36\xc0\x7c\xce\x61\xa9\x59\x4c\xca\x9a\xe9\x91\xe7\x7d\x4b\x14\xd5\x06\x59\x8e\xe5\x11\x78\x1a\xc2\xd8\xe7\x88\x24\x18\xde\x36\x27\xc3\xcf\x65\x2f\xd7\xa1\x5e\xc6\xcb\x0d\x0c\x13\x6f\x37\xb1\x4b\x42\x3c\x9e\x59\x8d\x42\xda\x66\x6b\xe9\x5b\xa5\x97\x0f\xf0\x0f\x55\xe7\xe6\xe2\x65\xfa\x44\xf6\x93\xd8\x24\x7c\xbd\x32\x21\x59\xd0\xf6\x5a\x1b\x19\x35\x29\x7f\x00\x51\x5a\xbd\x50\x2f\x0b\xb3\x69\x8e\x93\x17\x5c\x45\xce\x4c\xb6\xb7\x8d\x35\x95\x6c\x27\x50\x0d\x98\x8b\xc6\x9a\x12\x06\x13\xb3\x2a\xef\x36\xf6\x0d\xa3\xeb\x3b\x3a\x43\x57\x25\xfc\x01\x8c\x6b\xf9\x80\xf6\xdd\xe7\xac\x3c\xe8\x6b\x6e\x55\x65\xfc\x03\x11\xbf\xa7\x81\x68\x24\x0e\xf7\xc7\xec\x29\xd4\x6b\x48\x52\x95\xca\x3b\xb7\x4e\xde\xbf\xcb\x6e\x2b\xa8\x00\x08\xd6\x65\x26\x11\xcc\x77\x24\xce\x2b\xcd\xc3\xf8\x9a\x18\x4d\xb4\x99\x1b\x74\xe6\x9a\x97\x0a\xa1\x27\xef\x0b\x61\x63\x19\xf7\xb2\x6c\xa5\x3b\x41\x2a\x37\x13\xea\xc6\x0e\x21\x6e\xd0\x99\xa3\x3d\xb8\x0c\x38\xc3\x6d\x87\x75\x03\xa5\x82\x15\x35\x62\x8b\xf0\x7a\x88\xf1\x86\x77\xde\x96\xd5\xe4\x2e\x74\xd2\xdb\x68\xba\x87\xbb\x94\xcb\x91\xff\x2b\x60\xc2\x97\xdf\x8b\x23\xee\x07\x11\x4b\x74\x26\x63\xcd\x56\xb8\xec\x2f\x97\x2c\x9a\xed\x5d\x06\x21\x5e\x1f\x57\x93\x82\xa4\x91\x06\x45\x22\x7f\x90\xc2\x66\x49\x89\x17\x8b\x80\xbf\x0b\x22\xf6\x51\x71\xff\x01\x69\x49\x19\x5f\x2b\x09\xea\xca\x92\x46\x73\xbb\x66\x98\x94\xae\x90\xa9\xf9\x10\xdf\xd9\x4b\xaf\xf1\xcd\x8e\x0e\x13\x9d\x38\x64\x2a\x56\xe3\x51\x7c\xad\xc5\x2b\xdc\x19\x71\x8e\x61\x0c\x44\xfc\x4c\xca\x9a\xcb\xb7\x2d\xc3\x65\x2f\xcc\x56\xeb\xf1\x78\x60\xcc\x4a\x6a\x8a\xc2\x55\xa3\x44\x38\x16\x75\x24\xe0\x3a\xd6\x8b\x03\x21\xbc\x89\x90\x8d\x68\xcc\x46\x37\xb4\x36\x84\x92\x4a\xe3\x27\xec\x8c\xc2\x04\x04\x8f\x54\xa2\xa8\x8d\x83\xbb\x3b\x1d\xb2\xe2\xeb\x88\x25\xea\xe2\x33\x29\xb3\xe0\x09\x43\xaf\xeb\x84\x18\x34\x29\x49\x68\x60\x08\x91\x4f\x3d\x13\xa7\x7d\x89\x0a\xa9\x59\x92\x96\x9d\x8c\x61\x4d\x7a\xa0\x5d\xd7\x1b\xad\x96\x1e\x78\x55\xd1\xa7\xe9\xd3\x90\x18\x6e\x93\x6e\x4d\x1a\x39\x86\xfa\x18\x64\x70\x1c\x8c\xc5\xd4\x2e\xf2\x78\x3b\xa5\xbe\x57\x9d\x08\x74\xa2\x78\xc6\xd0\xeb\xd4\x03\x11\xea\x35\xe8\x44\xec\x86\x1f\x07\xe7\x30\xd1\xbf\xbb\xf3\x5f\x46\xa5\x90\xc9\xc5\xc1\x1b\xd0\xab\x38\x98\xe9\x4d\x4a\xdc\x18\xa7\xdb\x9e\x4f\x03\xaf\x84\x4e\xdc\x22\xa1\x29\x99\xb8\xf6\x93\x48\x27\xbb\xf9\x5e\x75\x3c\xb5\x2d\x56\x72\xd5\xe1\x7a\x2d\x8e\x34\x26\x82\x1a\x88\xf1\x47\xd6\x0c\xc6\xdb\x68\x9a\x5d\x1c\xb7\xe7\x27\xac\xe2\xff\x26\xb7\xdf\x59\x76\x9b\x9c\x5e\xeb\x8c\x06\x7e\xdf\x4f\x31\xbc\x3d\x33\xc4\xc2\x41\xbd\xc6\x65\x18\x70\xc1\x88\xa6\xa9\x34\x18\xac\x38\x62\x28\x69\x5b\x96\x41\x53\x8f\xa1\x22\x93\xf1\xf0\xc6\xa5\xa7\xe6\x7e\x39\x96\xb7\xed\xa1\xe3\x42\x93\x52\x81\xa0\x73\x3d\x55\x91\x60\xd3\xda\xeb\x56\x0b\xa3\x09\xb3\x08\x09\x94\xfe\xcd\x2b\xdc\x9a\xa9\x27\x94\x15\xfb\xc4\xa0\x25\x4a\xee\xee\x4a\x25\x85\x95\x14\xa3\x63\x8d\x17\xb6\xf0\x6f\xcf\xd9\x5e\x18\x2c\xf7\x56\x09\x94\xab\x18\x67\x11\xea\x79\x83\xdc\x35\x88\xb5\x08\x1e\xfe\xa2\xae\x57\x8c\x4d\x73\x96\x1a\xb4\x8a\xaa\xfb\xf8\x49\x4c\x93\x22\x7b\x40\x27\x15\x2f\xa0\xe3\x1b\x86\xf4\xf8\xf7\x20\xe5\xb1\x8c\x14\x5c\x6c\x90\xea\x17\xac\x6d\x29\xb6\x14\x40\x1f\x2d\x8b\xb5\x81\x63\x36\x54\xb2\x6d\x19\xc5\x08\xf5\x0d\x1d\x4c\xeb\xfa\xb0\x28\x93\xa0\xb6\x92\x92\xec\x05\xc6\x43\x45\xf8\x8b\xba\x11\x7b\x2a\xcb\x4b\x3a\xb6\xa9\xaf\x9b\x35\x81\x18\x5e\xd5\xe8\xff\xd9\x6a\x62\x8d\x67\x89\xc7\x4b\xaa\xe0\x47\xdc\x53\x69\xa7\x84\x1a\xe0\xe2\x46\xd2\x8a\x13\x56\x11\xc0\x6d\x4f\x44\xa1\x8e\xbc\x7a\x8f\x6d\xb6\x0c\xdc\x68\x47\x30\x22\xfd\x17\xa6\x68\x53\xe8\xd5\xfd\xd3\xb6\x6f\x64\xb7\x5e\x54\x1c\xb6\x55\x34\x63\x09\xd0\x7f\x77\xd7\xe8\xcf\xf1\x24\xf8\xc6\xf8\x65\x12\xaf\x2e\x2e\x9b\x41\xf2\xd8\x2b\xcd\xef\xaf\xa7\xc0\x35\x75\xc3\x7b\xe5\xa5\x9f\x4e\x83\x40\xbc\x17\x37\xf4\x34\x01\xf1\x20\x64\xaf\x7d\xee\x1b\xc1\x5c\xef\x6e\x79\x1c\x9b\x7f\x72\xbb\x64\x30\x5a\x0a\xf8\x8b\xd8\x38\x96\x52\x69\x5c\xb3\x47\xb4\xaf\xd9\x34\x4e\xf0\xcb\x44\x9e\x9f\xb7\x00\x5d\x57\x19\x34\xfc\xd2\xe3\x9b\x7d\x94\xb0\xd9\xad\x2e\x29\xf4\x4b\xca\xcb\x0a\xbd\x66\xa8\xb9\x77\xd9\x38\xd5\xf2\xda\x3e\x4d\xbc\x50\x58\xe5\x92\x4c\x7a\xc9\xb6\x17\x8a\x2b\x0f\x98\x17\x6e\xb3\xb1\xef\x99\xf7\x6b\xba\x17\xf7\x1f\xb2\x34\x9f\x0b\xf0\xec\xf6\x9d\x32\x4e\xd3\xf3\xfc\x9d\x64\x9b\xb9\xa6\xe7\x45\x3b\x6c\x3b\x71\x37\xaa\x1a\x6a\xd2\xc8\xd8\x66\xdb\x9b\x81\x22\x63\x9d\x17\xb2\xed\xa5\x28\x92\x50\x9b\x60\xf7\xd4\xe3\x9d\x65\xc2\xae\x82\x78\x95\x66\xaa\x66\xae\x4f\xe5\x62\xd7\x43\xed\x9a\x66\xed\x9a\x16\xdb\xb5\x5d\x5e\x4b\x13\x2c\x9f\xae\xf5\x8d\xca\x43\xb6\x84\xc9\x30\xc6\xb3\xc7\xce\xb6\xea\x4e\x59\xb3\x74\xcc\x28\x6f\x90\x88\xd9\x5a\xf2\x52\xbc\x71\x0a\xba\x4a\xf0\x6c\xe5\xf1\xb2\x6a\x9e\xeb\xab\x47\xf2\x6b\x95\xf1\x6b\x55\x92\x03\xb6\x5d\x7a\xae\x53\xb7\x7a\x24\xf3\xd8\x1f\xc3\xb0\xd5\x93\x18\xb6\x41\x71\xce\x0c\xe3\x5e\xd8\xa0\xcc\x57\x44\x89\x45\x3d\xfc\x68\xc2\x1f\xd3\xc5\x0f\x28\x80\x59\xd3\xf0\x4f\x1b\x8d\x19\x98\x18\x3c\xc3\xfa\x80\x3d\x2b\x7a\x26\x1b\xbc\x1e\xbc\x3d\x42\x8a\xc1\x84\x9d\xc9\x09\x5c\xcd\x6c\x3d\x5a\xb5\x54\x7d\x1c\x29\x8a\x6b\x7c\x99\xd2\x5d\x09\x65\xf7\xde\xf3\x58\xc3\xc4\x26\x53\x1d\x49\xad\xbf\x6b\xe6\x34\x91\x5d\x33\x63\x21\xe3\x6c\xef\xd2\x4f\x52\xfd\xbd\xcf\x2f\x3b\x8b\x20\xd2\x13\xca\x0d\xa3\x78\xc3\xa7\xbc\x1b\x6a\x8d\x13\x5d\xc0\xf1\x48\x0f\xa2\x6e\xc3\x83\x4d\xde\x27\xde\x8d\xc2\xbc\x8c\x3e\xd6\xe0\x60\x06\x46\x36\x60\xcd\xcc\x7f\x4b\x69\x44\x7d\x8f\x8d\x61\x4e\x21\xae\x0c\x4a\x37\xfb\x0a\x94\x3f\xde\x9b\xa4\x26\x4d\x8c\x07\x14\x7c\xb2\xcd\x0c\x1a\x3d\x50\x27\x6b\x7b\x69\x3b\xa2\xc9\x8b\xb4\xd5\x8a\x5a\xad\x34\x53\xf9\xe1\xa3\x46\x19\xd1\x88\x31\xe6\x6b\xa7\x4c\x61\x6d\x80\x95\x9a\x48\x08\x8d\x3c\x13\x68\xb0\xee\x95\x55\x2f\xaa\x4c\x30\x40\xad\x16\xdf\xaa\xf5\x63\xab\xc5\xd7\x4d\xb6\x70\x41\xe4\x92\x26\xc2\xec\x76\xeb\x65\x0b\x0e\xca\xd6\xa6\x21\x90\x59\xbe\x0a\x0c\x1a\xbe\xaa\x35\x34\xea\x76\xac\x0a\xd2\xa4\x49\x36\xf4\x4d\xbd\x8a\xec\x3e\xd0\x69\x89\xa7\x0d\x35\x17\x5e\x37\xae\xc6\xe6\x13\xaf\x55\xd3\x24\xe3\xc1\xd5\x9f\x07\x57\x2c\x9b\x0c\xc1\xaa\x91\x94\xfb\xf5\x3e\xbc\x40\x35\xcd\x6e\x0b\xf7\xd7\x7d\xfc\x7b\x17\x44\xec\x98\xfb\xf8\x21\xe2\x6b\x49\x0b\xe0\xa5\xad\xac\xca\x49\x9c\xe4\x97\xb3\x3a\x97\x7e\xba\x61\xce\x60\x30\xaf\x56\xa4\x74\x4b\xe4\x3a\xb2\x80\x6b\x75\x92\x84\x72\x22\x64\x8c\x4e\xf2\x76\x79\x81\x83\xb2\xcd\xc4\x48\x6a\x8a\xe3\x44\xa9\xe3\x75\x94\xfc\xed\x28\xbe\xde\x8d\xa6\x2c\xe5\x71\xd2\xc4\xa0\x56\x8b\xfc\xad\x7d\xf4\xf1\x0b\xd9\xf2\x00\x73\x3c\x63\x1f\xfc\x05\x93\xad\xce\x86\xd9\x83\x0d\x56\xaa\xf3\x4b\xc0\x2f\xd5\x02\xf2\xd7\xda\x46\x84\xa2\x61\x6b\x5b\xe3\xc2\xfd\xf3\x55\x4a\xe5\x8e\x88\xad\x20\x87\xce\x94\xab\x67\x8e\x83\x2d\x4f\x29\xd6\xed\x4d\x23\x89\x19\x74\xeb\x01\x9e\xde\xdd\x6d\x95\xd7\x76\xb2\x0a\x2b\xac\x56\xb2\x98\x6e\x2b\x8a\x8b\x8d\x0e\x22\x90\x40\xd9\xd0\xc7\x70\x49\x14\x68\x62\x51\x51\xbf\x6d\xe5\x16\x57\x5c\x68\x5a\x7c\xb9\xd3\xb6\xdc\x0d\xb4\x14\x41\x11\xf9\x03\x84\x17\xc1\xcd\x7c\x31\x22\xf0\x4c\x0a\x3c\x4f\x5f\xb0\xce\x14\xc6\xe5\x07\x3c\xe0\x23\x3f\xeb\xa5\xdb\xdb\x6a\xb5\xb4\xf8\x7a\x92\xe2\x2e\x98\xa8\x70\x7b\x5c\xb0\x9d\x8c\x83\x8d\xbd\x15\xa9\xf1\xde\xb6\xd6\x71\x10\x90\xef\x46\x33\xa1\x43\xd6\x0b\x5b\x2e\xdd\xfc\xe5\x46\xf1\x18\xab\x8b\xc2\x7e\x50\x46\x78\xfb\x01\xf1\x5b\x23\x44\xaa\x27\x6a\xed\xc9\xbb\x63\xad\x14\xad\x29\xb3\xf1\x33\x6c\x53\xd7\x25\xaa\xeb\x82\x72\xd7\x25\x67\x74\xa3\xbb\x22\x16\xbd\xf9\x0b\x2f\x95\x7c\x20\xc7\x87\xbb\x1f\x88\xe7\x79\x41\xa6\x40\x76\x1e\x6a\x60\x40\xb9\xe1\x4e\x02\xca\xcf\x80\x87\xe9\x7d\x41\xc8\xd7\x7d\x38\x3a\xf2\xa3\x0b\x56\x1d\x31\x34\x10\x6d\x88\xbd\xb5\x35\x66\x22\x22\x97\xf7\xd5\xa5\xc3\xb1\xba\xcc\xfa\x51\x25\x13\x63\x2c\x8a\xa5\xad\x96\x1e\x00\x3d\x68\x77\xf4\x78\x62\x9e\xd1\x78\x62\x9d\x19\x14\x73\xf7\xa3\x99\x9e\x42\x5e\x0a\x79\x46\xf3\xea\x97\x38\x06\x98\xad\xbd\x57\xef\x4b\xcb\x9c\x58\xec\x6f\x6c\xf7\x2e\xd7\x4d\xc1\x77\xf0\x5d\x3a\x3c\x56\xf7\xa6\xaa\x1b\x65\x4f\xd3\xe7\x46\x69\x4b\x5a\xd5\x3a\xea\x6b\x14\x6d\x07\x8f\x1b\x66\x7e\x9d\x81\xb5\x24\x55\xae\x36\x2a\x78\xf0\xd8\x2b\xc5\x55\x86\x60\x22\xe2\x6a\x5b\x0d\xbc\x5e\x8f\x0f\x3c\x89\x02\x36\xa6\x3a\x24\xc3\x95\x66\x9f\x67\x2e\x1b\xb7\x44\x51\xbf\xe9\x0d\xee\x87\xa2\x61\xd3\x2b\xb1\x19\x8a\x5e\x96\xf8\x86\xe6\x5b\x4f\x0c\x3a\x2d\x7e\x37\x00\x96\x5f\x52\x93\xa6\x06\x5d\x15\xaf\x11\x8d\xb6\xc3\x6d\xf2\xcf\xc4\xa0\x33\x6f\xda\x49\x99\x9f\x4c\x2f\xf5\x95\x30\x61\x7a\xdb\xf2\xbc\xd9\xdd\xdd\xec\x65\x2c\x3b\x68\x59\xc7\x18\xd3\xf2\xf4\xee\xd2\x30\xe8\xbc\x74\x4f\xe9\x2f\x64\x3b\xdc\xf6\x0d\x7a\xe1\x2d\x65\x97\xcf\x11\xff\x85\xc0\xb9\xf0\xe2\xed\x32\x8a\x8b\x89\x79\x66\x8c\xa1\xf2\xc5\xdd\xdd\xe2\x45\xaa\x36\x44\x66\x23\x49\x4f\xe8\x8c\x2e\x28\xcc\x04\x3a\xfe\x6c\x86\x99\x3a\x07\x91\x15\xff\xea\xbb\xf4\xc4\x06\x3c\xb1\xef\xb0\xbc\x39\x4f\xee\xc2\x8b\xc3\xf0\x30\x4e\xca\x9f\x91\x9a\xf6\x8f\x8a\xcb\x7b\xb2\xed\x62\x87\x49\x7c\x15\xcc\x58\x92\xef\xb0\x52\xfb\xb5\x71\x13\x5a\x61\xcb\x99\x65\x52\x4b\x7d\xf2\x4c\x56\x21\x14\xc9\x37\x45\x64\x27\x6a\x55\x89\x8c\xa0\x4e\x36\xd4\x8a\x35\x4f\xb3\x8f\x2f\x30\xf2\xf7\xfc\xe9\x65\x69\x8f\x85\x72\xfa\xca\xef\xbf\xdf\x8b\xb7\xa1\x9f\x72\x31\xae\x91\xdd\xc5\x82\xf9\x2b\xb1\xc3\xad\x91\xc6\x7d\xdc\x9a\x3e\xfb\xea\x6d\x99\x79\x29\xdc\x37\x88\x5b\xcd\x64\xa6\xd8\xe6\xff\xe5\x92\xb1\xf0\x7d\x76\xaa\xe0\xab\x67\xe5\x45\x4e\xe2\xd5\xf4\x32\x27\x2b\x48\x45\xab\xd9\x6c\x3f\x9a\x65\xb8\x65\x4b\x55\xa4\x14\x21\x21\x87\x37\x9e\x35\x90\xef\x79\x12\x7e\x16\x37\x13\xa9\x2d\x0e\xb3\xe0\xaa\x48\xb7\xda\xf5\x58\xcc\xe3\x62\x57\x67\x9a\xd7\x5e\xda\x3a\x2c\xb2\x5e\xef\xbf\xfa\xf4\xd3\x57\x6f\x4b\x99\xf4\x5a\x8f\xd4\x77\x44\xa5\x19\x54\x26\x10\xa9\xd4\x62\x85\xda\x59\x34\x2b\x67\x04\xe9\x7b\xb5\x23\xbb\x94\xbb\x27\xbf\x60\xce\x8a\xfb\x64\x6a\x64\x14\xb4\xf3\x3c\x88\x66\x07\xd9\x87\xf1\xb5\x76\x95\x15\xbf\x9e\x27\xc2\x93\x00\xfd\xc4\xb3\x6d\xbd\x49\xb6\x36\x90\xa0\x52\xad\x1b\x61\x65\x80\x91\xd4\x72\xbd\xb8\x1c\x82\xdb\x82\x33\x0f\xea\x3e\xf1\x92\x26\x6f\xe2\x91\xed\x4a\x6f\xa3\x69\xf1\x33\x63\xb6\x2f\x98\xe9\xc6\xf7\x24\xe7\x71\x4c\xe5\x03\x50\xea\x05\x1d\x3f\x9a\x5e\x8a\xa9\x9c\x7a\x21\x34\x72\xf6\x4a\x3c\xd2\x44\xf5\x49\x2a\x92\xb2\xf8\x3c\x9e\xae\x52\x59\x3a\xd3\xe6\x2a\x5f\x3c\xdd\x67\xa4\xf0\x32\x29\x69\x85\x94\x22\xae\x32\x25\x05\x6c\x39\x21\x71\x89\x90\x52\x3b\x8a\x94\x14\x5b\x71\x9f\x9b\x50\xb5\x3a\x54\x90\x47\xb0\x0e\x6a\x76\xac\x1b\xb8\x4d\x36\xd3\x2c\xf9\x8a\xdc\xef\x23\xad\x5b\xc1\xdd\x5d\x50\xcc\xa1\x5b\x55\x98\x5c\x1c\xe3\x52\xfb\xc6\x71\xab\xb5\xa5\x93\x24\xbe\xc6\x3b\x51\x49\x10\x69\xb1\x31\x36\x62\x2f\x2e\x4e\xea\x82\xb9\x1e\xe7\x18\xd2\x22\x7b\xc7\x69\x0d\x41\x6a\x8c\x8d\xd4\x4b\x2b\x08\x52\x14\xfb\xb8\xa3\x20\x5f\xa4\x59\xd2\x60\x7a\xbe\x70\x91\x43\xbc\x2c\x40\xf0\x02\x44\xa1\x76\xaf\xd4\x18\xa3\xdc\x41\x2f\x4a\x7d\xbd\xc3\x74\xc3\x55\x68\x8a\x7e\x41\x65\x30\xc5\x74\x52\x12\x80\x42\x6d\x67\xc2\x4e\x47\xf2\xde\x57\xb0\x1d\xfb\xb5\x8b\xe3\x71\x2f\x8e\x06\x23\x08\x8f\x91\x65\xa3\x8b\x18\xe3\xa8\x4c\xae\xa2\xe8\xbe\xd6\xcd\x39\x0f\xb6\xbc\x9c\x09\xe5\xfd\x1d\xea\x36\xf3\x2c\x38\x04\x92\xa9\x05\xa9\x38\xda\x1b\xc7\x5c\x9c\xc8\xf5\x35\xa4\x35\x9e\xe1\x9d\xcb\x85\xd6\x64\x2e\xb8\xf1\x00\x62\x41\xf1\xc3\x98\xf3\x96\x15\x50\x57\xb4\x4d\x71\x51\x16\xbf\xe3\x35\xdc\x2f\x8c\x06\x45\xaa\xf3\x60\x9e\xf8\x0b\xf6\xd5\x63\x8d\xeb\x4d\xfb\x22\xf4\xbb\x4e\x04\x98\xda\x57\x28\x0b\xc9\x8f\x83\xd3\x34\x05\x17\xcd\x23\xe7\x71\x32\x63\x89\xab\x99\xe3\x4b\xb4\xb6\xae\x66\x99\xe6\x9f\xc7\x6a\x33\x8c\xab\xf9\xe7\x69\x1c\xae\x38\x1b\x63\xf8\x59\xf1\x9a\x50\xb2\x88\x7f\x7d\x13\x45\x2c\x11\x96\xfa\x6f\x20\xe2\x62\x87\xbf\xfa\xd6\x9f\xd5\x97\x4c\x3d\xf2\x4f\x04\xdd\xa4\xc2\x42\x57\x11\xa6\x42\xe1\x54\x2c\xe7\x7c\x11\x07\x06\xfc\xd9\x6c\xff\x8a\x45\xfc\x5d\x90\x72\x86\x2b\xa7\x09\xc3\x90\x86\xd2\x66\x46\x47\xf8\xf8\xb5\x78\xad\x61\x71\x9f\x62\x6e\x7a\x9b\x2a\x51\xbc\x1b\xf3\xce\x79\x3c\xbb\xad\x72\x67\xe1\x27\x17\x41\xe4\x6a\xe6\xf2\x66\xbc\xf4\x67\xb3\x20\xba\x10\x0f\x25\x66\x15\x38\x33\x56\xd3\x5e\x57\xbb\x0c\x66\x33\x16\x8d\xc5\x0a\x9d\xab\x5d\xf9\x89\xde\x6e\xa3\xd3\xd7\x16\xd1\x86\x64\xd0\x7c\xac\xd2\x18\xb7\xaf\xd9\xf9\xb7\x80\xb7\xf1\x54\x95\x18\x21\x2e\x5e\x34\x32\x6e\x2f\xe2\x5f\x1b\xb2\x49\xd1\x43\x50\x5c\xcf\x5a\x5b\x6c\x8e\xa4\xfc\x24\x5e\x7a\x0f\x02\x89\xbb\x3a\x3d\x32\xf5\xc3\xa9\x5e\xa4\x19\x9c\x4a\x60\x74\x5b\x34\xdd\xd0\xfe\xa2\x75\x0d\x92\x6d\xd8\xac\x0a\x1f\x22\x25\xc6\xb8\xbc\x87\x88\xdc\xb4\x61\x78\x7c\xd7\xd4\xc5\x14\xae\x76\x1e\xc6\xd3\x6f\x63\x4d\x53\x1c\xdd\x54\xe7\x58\x5c\x11\xd3\x7e\x14\xec\x3d\xa1\xbc\x73\xc9\xfc\x59\xe3\x96\x50\xe0\xe7\x5e\x9a\xbe\x0b\xa2\x6f\x5f\xeb\xd4\x63\x34\xdb\x06\xc8\xca\xb6\xcd\x84\x85\x18\x2c\x47\x1d\x9d\xab\x14\x11\x6b\x98\xeb\x58\xd3\x44\x5d\xad\xb4\x91\x39\xb2\x8c\x45\x0d\xb8\x6e\xda\xe2\x15\x29\x03\x56\xe8\x94\xc2\xce\x66\x01\x07\xb7\x99\x50\xc2\x93\x15\xdb\x5c\x26\x5d\xb2\x30\x9c\x5e\xb2\xe9\x37\x42\x09\x1e\x39\xdc\x0c\xef\xaf\x78\x3c\x8d\x17\xcb\x90\x61\x10\x88\x78\x3e\x7f\x0c\x3c\xc6\xc7\x7a\x34\xb8\xbf\xe4\x7e\x28\x4e\x33\xe1\x0d\x86\x1b\x4b\x24\xb1\x68\x29\xbb\xe1\xe7\xf1\xcd\x66\x58\xee\x9f\xa3\xd7\x49\x28\x69\x5b\x35\xd0\xb2\x4e\x98\xfa\x09\xe3\x22\xf0\xa8\x2b\x0e\xc3\x0a\x9b\x3e\xae\x88\x74\x21\x76\xac\x9b\x07\x73\x1d\x67\x31\x59\x5d\xcd\xea\x2f\x6f\xc4\xb3\x3c\xff\xda\x0e\x83\x0b\x9f\xaf\x12\x96\xca\x31\x5e\x52\x33\x4a\xb5\xb4\x6f\x5d\x79\x80\x79\xac\x65\x79\x37\x99\xc2\xb9\xbe\x0c\x38\x6b\x63\x65\xae\xb6\x4c\x58\x59\x3d\xad\x38\x8c\x20\x81\x5e\xdb\x0a\x16\xcb\x38\xe1\x7e\xc4\x61\xac\xa0\x32\xa8\x49\xa3\xe4\x42\x85\x27\x75\xad\x2c\x23\x2b\x29\xad\x2c\xcc\x5b\x49\x2b\x3f\x84\x01\x0f\x6d\x57\x10\xe0\xdc\xed\x49\x58\x38\xcc\xe8\xd0\x85\xcc\x50\x89\x49\xde\x93\x91\x2c\xe2\x2b\xf6\x5b\x71\xb0\x68\xf6\x5b\x51\x4c\xfd\x68\x5a\xe0\xcb\xd3\xb1\xe0\x0d\x01\xaa\xf8\x5e\xbc\xbc\x7d\x52\x69\x71\xae\x59\x15\xc7\x59\xee\x93\xca\xcf\x92\x78\x49\x68\xe3\x65\xcd\xcb\x04\xcf\xf0\x67\xc7\x10\xe8\x96\x75\x6f\x64\x82\x58\xc3\xf4\x8d\xdd\xce\xe2\xeb\x28\xa3\xe5\x55\x3c\xbb\x7d\xcb\x6e\x5f\xc7\xd7\x51\x03\x45\x89\x58\x77\x48\x1b\x94\xe6\x2c\xb8\x22\x55\xa8\x4e\x30\xf3\xc4\x92\x8c\x9b\xc4\xd7\x6d\xf0\xd5\x52\x52\x85\xa9\x68\x82\xca\x80\xcf\x7d\xa6\x79\x70\xc3\x66\x75\x57\xa0\xd1\xc4\x83\x7e\x6a\x30\xf1\x98\x4d\x2a\xcc\xad\x8e\xcd\x8c\x32\xd9\x1a\x1e\x2f\x85\x87\xfa\xca\xbf\x68\x36\x16\xf8\xb6\x7d\xee\x5f\x90\xa6\x22\x0f\x34\xb0\xd6\xa0\x47\xd9\xe1\x9a\x3e\x92\xad\x12\xf1\x45\x8a\xf4\xd6\xe9\xc9\x37\x34\xe7\xe4\x1e\xc4\xe1\xac\xb1\x71\xf3\x38\x9c\x91\x0a\x5c\xa1\x5b\x79\xbc\x44\x90\xf6\x3c\x4e\xc0\x0b\xc9\x2f\x28\x21\x95\x32\x9b\xb9\x50\x93\x8a\x5a\xb7\x28\x44\x46\xb1\xa1\x92\xec\x52\x45\xb5\xe6\x15\x40\x0b\x94\x8b\xdc\xcd\xc4\x6f\x20\xa7\x80\xd4\x28\xae\x8b\xed\x26\xcc\xdf\x3c\x3a\x0a\x70\x05\x72\x44\xae\x9f\x30\x9f\xd4\xc1\x2a\xbc\xc3\xe0\x30\x41\x18\xf0\x5b\x25\x34\x0f\xc9\x74\x01\x99\x21\xbf\x71\x92\x4b\xce\x97\xe5\x3b\x2f\x6d\xd3\x34\x9f\xa7\x57\x17\x44\x6e\x72\xbe\x52\xf2\x03\xf3\xa4\x4d\xd3\xa2\x0f\xc7\x7a\x40\x09\x94\x54\x6d\xbc\xba\x28\x36\xee\xd7\x38\x5e\xb4\x45\xbc\xa4\x38\x21\x05\x90\xb2\xc3\x70\xb3\x08\xa3\x94\xd0\xc0\x58\x0b\x21\x2f\xbf\x20\x94\x58\x1d\xab\x54\x59\x85\x45\x0d\x53\x2d\x1e\x2f\x61\x46\x16\xb2\x39\x87\xbf\x6b\x99\x88\xba\xf9\xc4\x4f\x2e\x58\x93\x9f\x09\x2a\x04\x7b\xc9\xa8\x43\x17\x5a\x5c\xbc\x99\xa5\xcd\xf1\x75\x03\xfa\xc7\x38\x4c\x65\xf8\x07\x5b\x99\x39\x37\xcb\x9b\xcc\x47\x59\xde\xa8\x56\x2f\x6f\xc6\x32\x04\x91\x78\x88\x97\xfe\x14\x39\x60\x36\x51\x27\x3d\xdc\x7d\xe9\xe1\x66\x4b\xb7\x6b\xc5\xac\x58\xba\x89\xfc\x06\x63\xcc\x6e\xf8\x9b\x68\xb9\x52\xdc\x11\x91\xba\x0e\xf3\x42\x27\x0a\xa0\xc9\x1a\xe1\x24\x35\x3b\x3d\x56\x9f\xf9\xa7\x8c\x1f\xc4\x11\x3f\x40\x7f\xb1\xe9\x74\x69\xd9\x1b\x9d\xe7\xb0\xac\xc9\x5b\x15\x96\x06\x30\x1e\xab\x18\xfa\x1e\xbf\xbb\x53\x27\x13\xf1\x40\x5b\xf1\x2b\xc1\x06\xca\x2e\x9a\x29\xab\x1c\xa9\x5e\x43\xdd\xa6\xf6\x7e\x12\xf3\x9c\x4f\x49\x58\x3e\x96\xbb\xa3\x3f\x34\xef\xba\x4c\xd8\x9c\x50\xd6\x34\x41\xcb\xd7\xd7\xe4\xbe\xed\x7c\xb2\xbb\x71\xb6\x85\xa5\x0d\xb9\x1d\x7f\x0d\x46\xb9\xf3\xaf\x82\xb1\xb4\x87\xaa\x86\xf1\x11\x0c\xc0\x01\x52\x5b\xf0\x29\xce\x02\xcb\x7b\x59\xd7\xa2\xc4\x55\xac\xda\xc1\x43\xb5\xe2\x81\x6f\xf5\x8a\xbf\x26\x33\x37\x77\xbe\xba\x0e\x01\xf7\x91\x3f\x4e\x02\x70\x7a\xf4\xff\x91\xf7\x6e\xcd\x8d\x2b\xeb\x62\xd8\x53\xca\x6f\x49\xa5\xf2\xe2\xca\x79\xa1\x70\xf6\xd1\x02\x16\x41\x0e\x40\x49\x73\x21\x07\xa3\x4d\x51\x97\xa1\x34\x92\x46\xa4\x44\x8d\xa8\xd1\x9e\x05\x92\x4d\x0a\x43\x10\xa0\x1a\xa0\x44\x69\xa4\x6d\x57\xca\x76\xe5\x24\xb6\xe3\xa4\x5c\xb6\x2b\x39\x89\x9d\xe4\x38\xc7\x4e\xb9\x52\xb6\xeb\x54\x6e\x3e\x4e\xaa\xf6\xca\x7b\xfe\xc3\xfe\x25\xa9\xbe\x01\x0d\xa0\x1b\xe4\xcc\x5a\x7b\xfb\x54\x65\x6a\x69\x91\x04\xba\xbf\xfe\xfa\xeb\xdb\xd7\xdf\x35\x7f\xb2\x4b\xa0\x02\xe1\x7c\xc7\xf0\x72\xba\x3e\x02\xe1\x56\xd2\xde\x7d\x39\x3c\x53\x46\xf2\x79\x18\x4b\xe1\x8b\x31\x4e\x41\xce\xc1\x3d\x01\xbb\x39\xb1\x47\x02\xf1\x9f\x0c\x36\x29\xbe\x24\xec\x64\x4c\x8a\x45\xa0\x71\xe9\x25\x21\x0b\xfc\x51\x17\x40\x8f\x6a\xe4\xb6\xd0\x88\x35\x6b\xd9\xd8\x12\xf1\xbb\xdc\x79\x41\x24\x94\xe9\x78\x1c\xcc\x49\x6c\x04\xc2\x86\xeb\x00\x2f\x8c\x63\x72\xb0\x1b\x2f\x35\xdb\xfa\x42\xcf\x29\x50\x26\x5f\x74\x72\x56\x81\x32\xfe\x8c\x2c\x91\x45\x1a\x42\xb9\xa0\x37\xc2\x2b\x37\xfe\x46\x02\x7b\x55\x23\x2d\x2e\x86\x99\x1f\x19\x24\x0d\x94\xf4\x2a\x0f\x2a\xe3\xa4\x64\x10\xa3\x0d\x71\x31\x6a\x58\x3f\x91\xbf\x32\xa5\x40\x20\x40\x33\xc2\xee\x5f\x03\x91\x73\xf5\xb7\xe8\xa2\xf3\xa6\x5e\x2b\x56\xac\x0b\xa2\x4e\x44\xa8\xa8\x39\x7a\xf8\xa0\x7f\x0d\x06\x33\x17\xb4\xc0\x00\xda\x77\x39\xbb\x6c\x1c\x05\x21\xa1\x60\xa4\xaa\x25\x90\xba\x35\xf0\x06\x8c\x80\x9a\xe9\x72\x3c\x7e\x2d\x36\x7f\x49\x94\xa4\x07\x19\x65\x0f\x53\x7e\x96\x3a\xb0\xc2\xa7\x1c\x5a\x21\x5a\xd6\x92\xe6\x31\xa7\x38\xe4\x07\x56\xc2\xa8\x91\xaf\x1c\xda\x87\x31\x2a\xd1\xab\xc8\x66\x1d\xda\x77\x1d\x12\x2a\xb2\xe5\xdf\x05\x9f\x54\xa8\x3b\x39\xa7\x23\x25\x5d\x53\x48\x19\x6c\x09\x79\xcd\xeb\xd0\x39\x12\xb2\xb5\x8d\x0a\xd4\xa4\xa5\x2c\x2e\xae\x12\x07\x99\x58\xc5\x17\x80\xb0\x8e\xce\x8f\x14\x1a\x4e\x23\x47\x95\x43\x19\xba\x65\xf6\xdc\x21\x2b\x07\x8a\xca\x74\xfe\xed\x2c\x9a\x24\xe6\x10\x4e\x20\xdb\xf4\x42\x35\xa7\x69\x39\xec\x09\xb0\x83\x19\x04\x09\x54\x04\x0b\x02\x5b\x93\x30\x23\x19\x6a\x5b\x92\xe2\x96\x72\xa4\x30\xb8\x3c\x2f\x82\x41\x0f\x4a\x71\xfe\x6f\x4e\xe1\x43\xcb\xfe\x0c\x97\xa8\xe8\x02\x62\xcf\x42\x9f\x93\x85\xb2\xcb\x48\xfa\x31\x8f\x40\x7b\x6a\x7b\x8b\x3a\x18\x4c\x6d\x2f\xd1\x43\x5c\x29\xd3\x4b\x54\xac\x74\xe7\xc3\xb1\x8d\x0f\xc6\x4c\x2b\x5c\x60\x11\x55\xf9\xa0\x94\x21\x98\x02\x3b\x54\x4d\xc3\xd0\x8a\xca\x47\xa8\x68\xfc\x93\x04\x8d\xb2\xf2\xa2\x08\x28\x5f\x70\xcb\x0e\x80\xeb\x78\xe0\x67\xea\x4f\x8f\x82\x53\x44\x4d\xa4\x67\xbc\x62\x44\x13\x3e\x55\x30\xa1\x36\xfa\x20\x68\x37\x86\x74\x4e\xce\x3b\x10\xdf\x6f\x72\xa4\x21\x84\x36\x4c\x45\x28\x64\x00\x78\x32\x41\xde\x7e\x2a\x24\x27\xf0\x33\xd3\x30\xb0\xf6\x06\x35\x8b\x7e\x24\x5d\xbd\x72\xa9\x1f\x75\x50\xd3\x61\x99\x91\xca\x12\x11\xc0\xc7\x1a\xfa\x53\x7f\x9a\x18\xd3\xcc\x6d\x23\x0d\x35\xd5\x7f\x71\x79\x56\x4e\x20\x2d\x91\x68\x01\x6e\x47\x18\xe3\x07\xdf\x9f\xec\xda\x38\x2a\x62\x2c\xd0\x88\xb8\x1f\xdb\x05\xf9\x70\x33\xd8\x50\xb8\xf2\x5d\x34\xbd\x0b\x66\x8f\xfe\xc4\x5b\xfc\x48\xb4\x65\xa9\xcb\x5e\xc4\x49\x01\x19\x87\x91\xb1\x01\xe3\x26\x10\xe7\x13\xcf\x58\xc8\x52\x62\xcb\xed\xc7\xc5\xe2\x3d\x9e\x40\x24\x2c\x5b\x74\x3b\xbb\xf7\xfa\xf4\xfc\x0d\xb6\x9d\x09\xf0\x70\x1a\xd5\x4f\x34\x3c\x0e\x7f\xb4\xd1\xa0\x85\xb1\x52\xfc\x4b\x6c\x6e\x83\xef\xb2\x4f\x3a\xd7\x13\x40\xa5\x6b\x2d\xff\xee\xd4\x27\xe7\xb4\x0a\x12\xac\x0b\xb6\x98\xa5\x66\x74\xaa\xa6\xe9\x20\xcb\xc4\xe4\x1c\xda\x62\xb4\xb3\x6c\xb7\x88\x0f\x25\xfd\xc9\xd8\x05\x52\x36\x5b\x66\x1a\x18\x31\xe5\xf8\xfd\x6d\xc4\x5f\x90\x78\x74\x4e\x79\x58\x0e\x26\x36\x0c\x77\x5d\xdf\x87\xdb\x0e\xea\xa3\x9a\xac\x92\x98\x3e\x65\x26\xb3\xe6\xec\x07\x52\x30\xbf\x97\xd6\xaa\xa5\x8a\x9f\xfa\xd3\x43\x6c\x3e\xc0\xac\x11\xe3\x57\x84\xf4\xf4\x2d\xab\x5f\x0a\x85\x62\x68\x62\x82\x40\xd5\xf2\xb2\x26\x30\xdf\xc0\x05\x40\x30\x58\xac\x97\x08\x58\xda\x07\x27\xa8\x69\xb0\xc8\xcf\x5e\x3a\x03\x03\x4d\xc7\x66\x4a\xa9\xe2\xa9\x5d\x85\x0a\x99\xf0\xdd\x85\x7e\x72\xac\x4b\xba\x1c\xe9\x9f\x15\x16\x61\x4e\x21\x74\x4e\x5b\x89\xe5\x42\x36\xc0\x77\x60\x18\xe6\x54\x0b\x99\x51\x43\xb2\xd6\xa9\x3f\x2d\x91\xd6\x72\x67\x2b\xbf\xf8\x32\x4b\x3e\x69\x52\x9a\xe1\xf2\x93\x4b\x45\x26\x09\x67\x7d\x97\xcd\x9a\xef\xb3\x4d\x15\xa5\xa3\x9c\x33\x8d\x16\xf4\x35\xb1\x88\x17\xb0\xd2\x10\x17\xca\x63\xa3\x49\x89\xe5\x59\x68\x52\x5e\x07\xf4\xcb\xa7\x45\xbc\x33\x2d\x96\x19\x11\x7c\xed\x8a\xd4\x43\x68\x43\x4c\x99\x05\xe3\x41\xe5\x77\x51\xd1\xee\x2a\xbc\x2c\x7e\x79\xaa\x25\xf7\xa6\xe4\xf5\x26\x94\x5d\x6f\x00\x77\xbd\x39\xa5\x8b\x4d\x65\x92\x49\xf4\x70\x2b\xbe\x99\xa9\x21\xf7\x3c\x71\x17\x02\x91\xcb\xbc\x74\xeb\xcf\xbb\xc9\x4a\xbb\x95\xd3\x61\xde\x6a\x92\x37\x7a\x16\xf6\x3f\x3d\xf3\xf0\x44\xa5\xf1\x6f\x12\x73\x57\x6e\xd9\xc6\xd1\x27\xed\xb0\xb1\x92\x1e\x44\x6a\x00\x4a\x25\xb8\xd9\x17\xb1\x35\xa4\x05\xb4\xd4\xb6\x10\x5b\x15\xaf\x24\xb7\x40\x2a\xbd\xe5\x34\xbe\xbc\xc3\x6d\xa2\x68\x7a\xab\x89\x61\x52\x4b\x49\x01\xd2\x9c\xa9\x62\x06\x6f\x62\xbe\x9a\xc5\x5a\xd0\x33\xee\xca\xfe\x53\xf1\xcf\x87\x4e\x4d\x47\x87\xd4\x9d\x20\x8b\xed\xef\x04\x93\x2c\x6c\xad\xb6\x3c\x29\xd2\x70\x6a\xe9\xc1\xcf\xf2\x97\x0b\x68\x80\x1d\xdd\x16\xcd\xa0\x2c\x90\xc5\x0d\x0b\x27\x4f\x8e\xe1\x67\x72\xa7\x58\xb4\x42\x48\xf7\x17\xcd\xb3\xd7\xd9\xd5\x81\x16\x2b\xdf\x35\x4e\x6e\x94\x19\xd5\x5c\x45\xf2\x37\xad\x83\xcc\xfa\x8d\x30\xe4\x15\xdf\x8b\xc7\x7d\x89\x09\xc8\x01\x14\xcf\xc1\xf4\xfc\x5f\x16\x03\xd6\x87\x9f\x86\x03\x83\xf2\x97\x6f\xf6\xa7\x67\xc8\xd7\xb7\x2a\x80\xb5\x60\xe6\xf3\x67\x61\xda\x61\x84\xb9\x36\x40\xde\x33\x75\xc5\x0a\x99\xef\x29\x8d\xf9\xbe\xed\x0c\xb0\x25\x36\xf0\xfa\xe8\x20\xc2\x09\xa2\xe0\x08\x84\xd8\x14\x5b\xc1\xd1\xdd\x2c\xcb\x49\x4c\x61\x52\x71\x87\x55\x00\x03\x96\xf2\x66\xe8\xbb\x03\x96\x56\x38\x01\x85\x7a\xae\xa4\x7d\x9b\x75\x28\x8b\xa9\x00\xb5\xa7\xa7\xd8\x13\x18\x51\x47\xf7\x65\x13\x8a\xb1\xec\x69\x82\xeb\x5e\x66\xa9\x32\x1f\x3d\x91\x48\x58\x77\xe3\x90\x1b\xa2\x53\x3b\x2b\xae\x4e\xdf\xf9\xae\x2d\xa3\x76\xfd\xda\xad\x5d\x33\x0f\xd7\xbe\x05\x8a\xd7\x38\x1c\xd7\x8a\xe5\x69\xe8\x93\x33\xc5\xef\xa3\x07\xfe\xea\x6a\x6c\x9e\x6f\x59\x7d\x0d\xaa\xb6\xee\x6b\x38\xc8\x57\x42\x08\x4d\xbd\x15\x82\xd5\xd5\x20\x53\x3e\x40\xe5\x03\x61\x79\x7b\xc5\xf2\x57\x57\xed\xc8\x7b\x91\x46\x5f\x18\x82\xb0\x7f\xcd\x82\x1f\xa8\x7d\xe2\x89\x30\xd3\xbe\x30\xab\x7d\xd7\x1f\xa9\x4a\xc3\x9f\xb9\x03\xef\xbb\xb0\x80\x4b\x63\xf3\x7c\x6c\xba\x50\x2d\x28\xc5\xbe\x56\xc3\x59\x34\x9f\xec\x15\x6b\xb6\x99\x9e\xbe\x89\x15\x3d\xd3\x6d\x4d\x9f\x65\x23\x44\x88\x17\x82\x8d\xfa\x92\x28\xad\x55\x6d\xcb\x4e\xb8\x1f\x45\x3b\xa8\x2a\xe9\x8e\xf6\x2d\x3d\x59\xd4\x07\xe2\xd7\x90\xc2\xa5\xf6\xef\x08\x17\x44\xf7\xec\x39\x84\x26\x83\x97\x2b\xa1\x49\xdc\x02\x32\xd7\x84\xa4\x0d\x19\xaf\xbf\x57\x05\xef\x53\x71\x55\x72\x21\x64\x37\xbb\x44\x49\x4d\x13\x9b\xb6\x09\x70\xc8\x14\x11\xa1\x91\x03\x27\x8b\x49\xba\xb0\x26\xa7\x60\x1f\x5d\x01\xa2\x88\xae\x59\xcd\xaa\xe0\xbe\x70\x09\xa2\xf5\x7a\x95\x67\x82\xc0\x4f\x9b\x6c\x5c\xa1\x48\x4e\x6a\xc9\x6f\x33\xab\xab\x71\x42\x12\x61\x81\x4d\xf9\xab\x4b\x70\x55\x95\xed\x6f\xd8\xce\x0e\xe4\xdc\x01\x59\x60\x27\x9e\x38\xf8\xca\x96\xa3\xe3\x41\xc4\xae\xbb\x6e\x46\xc4\x85\xa3\xc0\xad\xc8\x77\xe9\xd8\x89\xeb\x4b\x7c\x08\x4b\x85\x35\x0b\x8f\x5c\x59\x4d\x8d\xc5\xfe\x4e\x2e\x67\x23\x6b\xfd\xca\x2f\x4d\x90\x14\x44\x2d\xba\x99\x3e\xd1\xa0\x7d\xd2\xce\x12\x71\x9a\x0e\x17\xc9\x50\x4a\x66\xe4\x03\xc8\x73\x63\xe9\x88\x33\xf1\xd9\x03\x79\xea\x49\x18\xb8\xc5\xc4\x93\x54\xd4\x6a\xa1\x88\x76\x30\x43\xbb\x04\x9f\x4c\xa9\x11\x66\xb6\x35\x69\x37\xf8\x40\x2e\xb1\xee\x25\xed\x1b\x19\x47\x12\x06\xba\xa1\xe9\x4e\x19\xcc\x43\xe0\x0d\xd4\x50\x0f\x05\x7e\xb1\x62\xb1\xc8\x02\xf5\xbc\xef\xba\x87\xf6\xfc\x93\x28\x4f\x40\x56\x4e\x98\x16\x77\x65\x44\x04\x4b\x49\xad\x4a\x72\xc0\x58\x7e\x9e\x23\xd0\x8a\xe4\xd8\xa7\xfe\x54\xa0\x60\x95\xc8\x7e\x92\xb2\x0e\xb0\xb4\x5c\x83\x4a\x84\x81\x5c\xfc\x2b\xed\xbf\x0e\x79\x79\x37\x25\xb2\xaa\xd5\xc2\x37\x10\x1d\x06\x16\x4c\xbb\x9b\xe0\x42\xa7\xfe\x74\xc5\x0a\xa3\x78\xc2\xe9\x77\x2c\x50\x7d\x5a\x3a\xbf\x14\xc5\xa8\x30\xf9\x2f\x33\xd1\xf2\x26\x4d\x4d\x0d\x4b\x5f\x29\x9b\xd7\x70\x64\xf8\x38\xde\xfb\x57\xd2\x3a\x77\xe5\x70\x82\x32\x81\xf2\x1d\xf3\xe2\x58\xb1\x2b\x81\xfe\x4c\x8e\x74\xae\xb5\x5b\x42\x0c\x29\x5a\xb3\xe2\x71\x2a\xa5\x23\x09\x70\x71\x18\x99\xd3\x8e\x2c\x1e\x60\x46\x63\x43\x35\x00\xf1\xd0\xf3\xaa\x9b\xd5\x55\xa6\x22\xcd\x14\xa0\xda\x1b\xc6\x70\x33\xa1\x30\x15\x71\x32\x95\x16\xf3\x28\xca\xa8\xb4\x98\x99\xe6\x42\x5d\x5e\xc2\x8b\x28\xd1\xab\xe5\xaa\x64\xe4\x30\xb8\xd9\x44\x11\x1a\x24\x8b\x26\x56\x7c\x4f\x3c\x5a\xc0\x20\x41\x37\x2e\x0c\xc5\x36\x70\x43\x1b\xd5\x81\x96\x78\x3a\x94\xc2\x1a\xc4\x93\x15\x5a\x86\x96\x8a\xf1\x95\xd8\x3e\xe0\x1b\x07\x97\x72\x34\x1d\xae\x48\x80\xc9\xa7\x34\xd4\xb3\xee\x37\x79\xc6\x2c\xa9\x1e\x08\x38\x3b\x92\x68\x59\xc5\x81\x25\x43\xfb\xd0\x1f\x00\xed\x4b\xdf\x0e\x40\x01\xd7\xc2\xb6\xd4\xe5\xed\xe3\xc3\x4f\xdb\x3b\xef\x4e\xeb\x9f\xde\x37\x3f\xec\xbc\xab\x86\x16\x2d\x7e\xf1\x7d\x9a\x50\x5c\xbc\x0e\x72\x99\xa8\xc9\x81\xbd\x6b\x1e\xed\x64\x60\x09\x55\x74\x8b\x20\xbd\xaf\xef\x2d\x07\xe9\xfb\x04\x5d\xa3\x6c\x5c\x6a\x1c\x83\xeb\x7b\x39\xdb\x48\x9d\xb8\x96\x9d\x90\x34\x46\x89\x78\x2a\xe2\x97\xf9\x93\x50\x87\xba\x23\xd8\x20\xbe\x38\x83\x2a\x28\x3b\x03\xe0\x85\xce\xd0\x01\x50\xbf\xaf\x02\xaa\xa2\xbe\xd0\xe7\xd1\xf7\x0f\x4f\x4f\xf1\xd8\xe2\xf4\x83\x78\x58\x79\x3f\xbb\x2a\x16\xa2\x59\x46\x2d\xc4\x91\xb2\x70\x96\x4e\x8c\x57\x1c\x2d\xab\x58\x0c\x35\x68\x39\x6a\xfa\xfd\x65\xc8\x52\x0a\xc6\xd1\x58\x2e\x61\xd9\x19\x5c\x59\x90\x1b\xad\x84\x27\x5c\x35\x7e\x02\xbc\xc1\xb2\xad\x53\xb5\x54\xba\x2d\x01\x42\x1c\x4d\xae\x32\x38\x60\xa7\xc0\x2a\x89\x19\x41\x42\x96\xfe\x84\x8e\xfb\x45\x4b\xd8\xf7\xf2\x7d\x09\x96\xef\xa5\x74\xf1\xbf\xb7\x68\xfc\xbf\x40\xb6\x8b\xf8\xb5\x00\xef\x22\x01\xdb\x45\x3c\xf1\x2e\x12\xbc\xf1\x70\x29\x4f\xd3\x83\xaf\xdf\x45\x02\xed\x29\xbb\x8d\xc8\x77\x91\xc8\x57\x5f\xcc\x7a\x7c\x9b\xbd\x06\x71\x69\x5c\x76\x2d\x61\xf7\x47\xc9\x52\x42\xef\x24\x2b\x89\x91\xe0\x2b\x15\x90\x02\xa1\xf1\x8a\x44\xdb\xc2\x6e\x03\x25\x99\xe0\x36\x12\x99\x57\x34\x2d\x7d\x2a\x27\x75\x95\x50\xa6\xab\x0c\xb9\x18\x2b\x39\x0d\xd0\x00\xae\x4e\xcd\x11\x0b\x24\xb9\x92\x9b\xf9\x05\xaa\x8b\xef\xbf\x22\x79\x0b\x2f\x0a\x91\x5d\x19\xb1\xdd\xdf\xc2\xbe\x14\xcd\xc8\x45\x6b\x81\xb6\x2a\x6e\x7e\x29\xe5\xd9\xa2\x2b\x71\x96\xce\x69\x1d\x20\x8b\x11\x57\x93\x0a\x84\xb9\xb2\x69\x3a\x0b\x3a\x5a\x5d\xfa\xc2\x59\x34\x25\xd2\xa5\xe5\xe9\xee\x4b\xf4\x7a\x91\x54\x63\x31\xcd\xd3\xad\x4b\xb4\x34\x4f\x79\xdb\x09\xef\x01\x2c\x5c\xd4\xb1\x8f\x00\x5b\x32\x24\xf0\x5f\x79\x08\xfd\x09\xda\x6f\x1a\x58\x28\x54\xbe\xbb\x76\xfa\xd7\x5a\x39\xf4\xdf\xf9\x77\x00\x36\xec\x00\xb1\xb7\x68\xcf\x0e\xa1\x7b\x00\xee\x1f\x1f\x41\x79\x02\x42\xfb\x00\xdc\x6b\xab\xab\xca\xad\x62\xa1\xeb\x02\xe1\x56\x79\xa7\x31\xe6\x4d\x93\x83\x32\x71\xa0\xce\x6e\x80\x22\x38\x9c\x19\x52\x4d\x6c\x6b\x11\xc6\xdc\x32\xf5\xd3\xfe\x82\x06\xb1\x1a\x26\xe1\xdd\xda\xee\x0c\x60\xd7\xea\xec\x63\x2c\x6c\xcc\xfa\x03\x19\xf2\x1d\x37\xc7\xf1\x2d\x95\x5f\x31\x08\xfd\xe9\x7b\xe8\x4f\xed\x91\x4d\x10\xce\xb3\x96\x8e\x4c\xeb\xa8\x36\x68\x91\xd5\x34\xf3\x46\xbe\xb0\xc0\x26\xbb\x2b\x54\x15\xea\x1f\xb9\xb8\x21\xc2\x65\xfa\xb7\x80\x72\x9a\x22\x33\x7f\x49\xfc\x38\x90\x0a\xee\x87\x9d\x93\x02\x9a\x87\x37\x93\x2a\x9a\x3e\x87\x20\xf0\x67\xb0\x0f\xf8\x74\xbd\xc9\xc8\x80\x2c\x35\x78\xf4\xe0\x78\x8a\xb0\x09\xe2\xd0\x81\x02\xd0\x34\x8a\x20\x09\x02\xc2\xfd\xa4\x3d\x5f\x2a\x09\x30\x7b\xdc\x39\xc5\x91\x08\x4f\x69\x9a\x6d\xc1\x24\x85\xfe\xd0\x71\x41\x73\x90\x74\xae\x70\x26\x36\xbc\x6f\xd3\x10\x25\x51\xf0\x40\x00\x3c\x52\xc0\x76\x43\x00\x3d\x3b\x04\xf2\x22\x51\x7c\x93\x2c\x40\xbe\x40\x3a\x9e\x61\x9c\x00\x92\x0f\x7a\x97\x0e\x5f\xc8\x07\x2d\xe4\x83\x91\x45\x29\xa2\x97\x09\x29\x94\x5b\xfd\x2b\x62\x5f\x88\xaa\x2f\x1d\x62\x21\xaa\x4c\x99\x1e\x8e\x71\xe1\x2b\xc4\x36\xb8\xc2\x10\x84\xa9\x4c\xcc\x3c\xf4\x9e\xdd\x1f\x13\x2d\x2c\x4b\xf9\x1c\xda\xbd\x76\xe8\x4f\xb9\x27\x94\x37\x3a\xa5\x2f\x22\x57\xdb\x5b\xba\xb0\x4e\xfd\x29\xdf\x2e\x7b\x4c\x78\x91\x65\x73\x73\xb6\xaf\xed\x29\x20\x61\xde\x69\xce\x77\xee\x79\x79\xeb\xdd\x71\xe3\x80\x2f\x8e\x5d\xec\xb2\x50\xb6\x5c\xc7\x1b\x37\xee\xfb\x2e\xf8\x64\x5d\x9a\x86\xa1\x9b\x86\x41\x7b\x31\xb9\x3f\xf6\x1a\x71\xa1\x4f\x11\x2d\xb9\x67\x19\x92\xa6\x7c\xfa\xf8\x06\x87\x49\x7f\xc6\x44\xd0\x4a\xdc\xff\x63\xef\x78\x16\xe2\x3d\x32\xfb\xe6\x00\xdc\x07\x21\xf4\xc7\x20\xfb\x12\x6f\x3e\x75\x08\xfd\x3b\x54\x28\x31\xa0\x60\x08\xec\xf0\xd0\x9f\x05\xa0\x05\xa6\x3e\x0c\x83\x4f\x51\xf8\xc9\x1e\x70\xdd\xfa\x6c\xe0\xf8\x8b\x6c\xfa\x6d\x54\x88\x19\xd7\xc7\xb5\xf8\xe0\x03\xc0\x75\x4b\xa4\x58\xa6\x54\xd2\x2b\x77\x0a\x81\xeb\xdb\x68\xfb\xb2\x67\x61\x02\xe8\x91\x8f\xae\x53\x7d\x7c\x08\xbc\x73\x82\x90\x9f\x4c\xc1\x38\xf4\xa7\x7c\x81\x2d\xe0\xba\x71\x4f\x02\xfb\x16\x0c\xe8\x46\xc8\x45\xca\x64\x0f\xc8\x5a\xa7\xef\xe9\x8c\xcd\xc4\xd5\xbc\x65\xf9\xf5\x3b\xa7\xfc\x68\x8e\xe9\x7e\x4b\x5f\xb2\xed\x97\x2f\xe2\xf8\x51\x32\x73\x3a\x0d\x9b\xc7\xfc\x7b\x80\xc3\x90\xe2\x31\xd8\x86\xf6\x88\xcc\xf4\x38\x6e\xa8\x3f\xbd\x3f\xf6\x08\x8b\xc3\x0d\x1c\x8e\xfe\x85\x03\xea\x36\x5c\xa7\x3f\x26\x2e\x8c\xa9\xd7\xf8\xe1\xd6\x2c\x0c\x7d\x8f\x7b\x85\x9a\x21\xab\x8f\x04\x47\xc3\x9b\x00\xa3\x14\xce\x56\x1b\xe9\x0c\xea\xc3\x10\x40\xf2\xde\x60\x37\x29\x1c\x3b\x09\x6d\x9c\x9f\xd4\x97\x86\x5e\x59\x8f\xae\x29\xec\xf2\xc6\xd6\x74\x7c\x81\x09\xdf\x93\x2d\x5f\x05\x8f\x8f\x0a\x5d\xf9\x8a\x9e\x56\xb8\xfa\x1e\xa3\x4f\x0b\xd8\x83\x7b\x55\x7b\xe2\xb7\xaf\x27\x5d\xbc\x8c\xad\x2f\x78\x1d\x57\x15\xfc\xa1\xe8\x5b\x3b\xf5\xc3\xaa\x82\xfe\xaf\xe8\x67\x47\xdb\x3b\x2d\x2c\xd7\x51\xa2\xaf\x4a\x02\x50\x42\x42\xc2\xb7\xce\x0b\x61\x25\x35\x42\xbb\x47\xfc\x2e\x5f\x8a\xdf\xc7\xfd\x16\x79\xe2\x73\xa7\x20\x28\x43\x30\x75\xed\x3e\x50\x9f\x7d\x7c\xf6\x6c\xa4\x2b\x0a\x9f\xc1\x96\x9a\xe8\x43\x30\x0c\x98\x72\x91\xfc\x28\x0f\x80\xdd\x0f\x9d\x5b\xec\x46\xa6\x73\x2f\xe8\x6c\xcb\x1c\xf4\x6a\xaa\xe1\x44\xa5\xb2\x3d\x18\x1c\xb3\xd0\xb1\x38\x3a\xb7\xfe\x45\xb1\xdd\xb0\x34\x82\xa5\x89\x3f\x00\x4a\x35\xc1\x95\x59\x24\x14\x3e\xd8\x54\x80\x57\x9a\x05\x8a\x65\x79\xf6\xad\x33\xb2\x43\x1f\x96\x5d\xdb\x1b\xcd\xec\x11\x48\x72\xc2\x9b\x24\xda\x56\x55\x81\xd8\x4e\xdd\x76\x43\xa5\xaa\x90\xe0\xcb\x88\x13\xbe\x9f\x02\x7f\x58\x00\x9b\xa9\x5a\x55\x52\x4b\x7f\xf6\x2b\x15\x7d\x79\xc4\x71\x26\x6c\x37\x7c\x74\xc1\x10\x03\x79\x8c\xc0\x69\xbf\x78\x56\x0e\x41\x10\xaa\x40\x7b\x7c\x54\x81\xc5\xa2\x7b\xc1\x68\x8d\x22\x26\x62\x0f\x1e\xfa\x03\xec\xec\x8b\x7b\x87\x36\x63\x1c\x55\xa6\xe4\x04\x25\xc4\x9d\xc7\x4f\x92\x3d\x4e\x42\xd9\x62\x85\x9a\xc1\x21\x08\xed\xe8\x67\x04\x97\x42\xcb\x83\x41\xaa\x46\x35\x02\xe0\x0d\x82\xd2\xdd\xb5\x1d\x26\x2b\x3d\xfb\x95\x0a\x82\xbe\x3d\x05\x8f\x2f\x4b\x3d\x27\x7c\xec\x41\xff\x2e\x00\xb0\x34\x06\xf7\x99\x1e\x93\x82\x99\x3e\xb7\x11\xe8\xf3\x6b\x3b\x24\x8d\xcd\x06\x88\x33\x2e\xe1\x3d\x39\xc0\xde\x62\xd5\xac\xac\x1e\xb0\xa0\xe6\xbf\x72\x9d\x5e\x89\xf1\x9d\x55\xf5\x63\xbb\xa8\x3d\xd3\x6a\xe1\x26\x94\xef\xe1\x01\xec\x2b\x88\xb9\xa5\x95\xb0\xf7\xaf\x1d\xda\x67\xd0\x55\x43\x1c\x91\xbd\xba\xa8\x32\xd0\x9e\x74\x85\x6e\xeb\x25\x8f\xdb\xd7\x31\xd6\xa9\xb9\xb8\xba\xca\xef\xfc\x9b\x2a\x94\x1f\x08\xca\x08\xda\x5e\x08\x06\x8a\x65\x59\xfc\xdb\xf2\x14\xad\xdf\x00\xdd\xbc\x75\x79\xf5\xc7\xc7\x64\x0a\x58\x29\x82\x05\x27\x28\x84\x70\x06\x0a\xbd\x59\x58\xb8\x03\x85\x81\x8f\xcd\xca\xae\xed\x5b\x50\x88\x5b\x2a\x84\x3e\x8b\x60\x58\xe0\x41\x04\x65\x05\x93\x28\xe7\x58\x7b\xd2\x95\x98\x8d\x20\x61\xe4\xd2\x53\x2d\x1b\x6c\x00\x27\x71\xe2\xeb\x39\x13\x7b\x94\x99\xe6\x09\xf6\x32\x13\x54\x20\x03\x03\xb3\xbc\xcb\x82\xc0\xfc\x76\x1a\x02\xf3\xba\x5c\x1a\x4a\x94\x10\x33\x82\x44\x56\x30\x59\x41\x8b\xd7\x6f\x54\x02\xaf\x8b\xe4\xda\x8d\xbd\x45\x27\xf6\x14\xa7\x9f\x80\xce\x00\x04\x49\x58\x74\xef\x7b\x7c\x04\x05\xc7\x0b\x42\xdb\xeb\xa3\xbd\xeb\xb8\xf7\x19\xf4\x43\x34\xfd\x6e\xc3\x58\xdc\x7f\x68\x4f\xa9\xc4\x4f\x45\xcb\x32\xf3\x2a\x00\xe1\x31\x6b\x45\x05\x9a\x56\x4d\x4e\xb1\x78\x13\x2f\x24\x51\x9b\xf8\x83\x78\xc2\xb0\x08\xb2\xb6\x57\xf0\x31\x16\x24\x4f\x36\xea\x0f\x09\x0f\xda\xc3\xb1\x28\xb3\x33\x84\x63\x54\xd5\x95\x95\x4c\x8d\x52\x1f\xb1\xbd\xa9\xe5\xc6\xf7\x19\x27\xb2\x5e\x5d\x55\xbc\xd9\xa4\x07\x20\xb7\x8f\x5f\x1a\x57\xc2\xc7\xe6\xd5\x26\x14\xf0\xd5\xa0\x2a\x7a\x9a\xad\xbf\x79\x09\x74\x70\x55\x8d\xd8\xf0\x18\x5f\xd9\x1a\x68\xc4\xac\x3d\x99\x2f\xb8\x60\x69\x6a\xbb\x20\x0c\x81\x6c\x84\x69\x82\x0a\xd9\x20\xa7\x1e\x62\x2a\xe0\x4a\x0e\xbd\xc6\x93\x8f\xf7\xa4\x11\x2b\x7a\x1a\x84\x7e\x7f\xdc\xe0\x5e\x95\xfb\xbe\xd7\xb7\xd1\xd4\x00\x5a\x94\x9a\xa8\xe0\x78\x05\xc0\x92\x3f\xc4\x7e\xd7\x24\x10\x79\x70\x64\x1f\xa9\xbe\xf6\xf8\xe8\xbf\x36\x1e\x1f\xfd\x37\x95\x8d\x0d\x2d\x61\x53\x47\x9d\xdd\x0b\x58\x2e\x83\x40\xd1\xae\xe2\x74\xe5\x45\x05\xcf\x8c\xcb\xf0\x2a\x0e\xfa\x0c\x2e\xfd\x2b\x96\x1a\x22\xc2\xd4\xf3\xe1\x04\x73\x7a\x8d\x76\x9b\x94\xa8\x91\xa4\x1b\x82\xfe\x5d\xfa\x57\x56\xa0\x3d\x3d\xc1\xd4\xa5\x3b\x9d\xbd\x8c\xc4\x3b\xe0\x2a\xe2\x15\x91\xbe\xd8\x2f\x51\x4b\x94\x8e\x9b\x5f\x28\xe2\x11\xe6\x16\x89\x8d\x06\xac\xe0\xc3\xcc\x6a\xf1\xa7\xf7\x25\xdf\xa3\x71\xd1\xd2\xb3\x29\xc1\x89\xaf\xac\xa0\xed\x62\x16\x80\x12\x65\x68\x4b\xe4\x46\x5c\xc2\x81\x12\x53\x35\xc5\x2c\x37\x86\x80\x19\xee\x38\x10\x5b\xc9\x46\x2c\xb7\x10\x88\x94\x35\x27\x70\x10\x63\x34\x75\x67\x41\x69\xe2\x78\xb3\xa0\xf4\x00\xa0\x5f\x7a\xf0\xfd\x89\x74\x1b\x44\x35\xde\xbb\xb3\xe0\x10\x95\xef\x02\xe8\x77\x7d\x7f\x62\x45\xb0\xfa\x42\x24\x12\xb5\x1b\xb8\xfd\xa8\x06\x0d\xff\x95\x5b\x85\xc5\x5a\xd1\x33\xfb\x7b\x1c\xa5\x85\xac\x53\x60\x07\x61\xc9\x0e\x1c\xdb\x2b\xd9\x93\x9e\x33\x9a\xf9\xb3\xa0\x64\x07\xa5\xf0\xce\x2f\x91\xf4\x7f\xa9\x25\x5b\xbe\xeb\x97\x21\x18\xd9\x70\xd0\xf8\x3c\xae\xb3\x2a\x18\x3d\x72\xc3\x2a\x61\x06\xaa\xd4\xf7\xbd\x10\xfa\x6e\x1a\xcd\xdb\x90\x5e\xc4\x5e\x6e\x39\x58\x80\x0d\x7d\x97\xd2\x96\x56\xef\xf9\xee\x20\xb3\xc3\xdc\x7b\xfd\x2d\xdf\x1d\xb4\xed\x21\x68\x87\x34\xa2\x03\x5f\x01\xa1\xdc\xc3\x3c\x6a\xba\x6a\xfe\x62\x21\x20\x10\xe8\x7a\xb0\x85\xeb\x23\x64\x96\x58\x2f\xe2\x8a\x1c\x52\xc2\xa3\x00\x75\x03\xbd\xc8\xf4\xa1\xef\x3a\x53\x3c\x7c\x25\x9c\x5d\x53\x4a\xb5\x06\x2b\x77\x8e\x8a\x25\x9b\x1c\x80\xbe\x59\x91\xd6\xdc\x46\x6f\x69\x05\x2e\xdc\xad\x08\xc5\x38\x84\x18\x46\x31\x8a\x82\x2b\xd8\xf7\x59\x28\x0b\x32\x99\x48\x49\x16\xc4\x6c\x29\xd0\x4c\x12\x23\x3d\x59\x52\xc1\xa7\x48\x43\xd7\xfe\x04\x20\xd6\x3c\x28\x31\x61\xb2\x64\x31\xa0\x82\x07\xe0\x9e\x1a\x45\xa1\x59\x8a\x5e\x39\xde\xc0\xf1\x46\x41\xfa\x2c\xe2\x99\x17\x5a\x84\x6c\x07\xf8\xe0\x40\x7b\x78\xf6\x8c\xd2\x42\x78\xff\x45\x54\xd1\x1e\x0c\xb6\xe8\x77\x84\x73\x1f\xb3\xf9\x20\xb6\xcc\xa6\x51\xea\x71\xfc\x7d\x74\x7e\x70\x78\x15\xa6\xd1\x2e\x4b\xf7\x4c\x51\x7c\xfb\x85\x35\x77\x58\x44\x7f\xb2\xfd\x2a\x88\x70\x13\x7b\x5e\x22\xb7\xc1\x52\x00\x6e\x66\xa8\xa0\x60\xc6\x4c\xec\x39\xd1\xbd\xb4\x69\x19\xbc\xbc\x27\x60\xe0\xd8\x84\xea\x36\x04\xa5\x21\xfa\x26\x25\x3c\x2e\x8c\x28\x5f\x87\x60\x17\x7d\x52\x10\xa1\x4d\x19\x48\x7a\x89\x92\xd7\x0f\x6d\xcc\x38\xee\xe0\x72\xa4\x36\x0e\xc5\x4e\x6e\xa2\x7d\xd7\xe9\x8f\xc5\x3b\xa1\x50\x66\x13\xd7\x27\xc1\x13\x7b\x58\x5e\x23\x9a\xa2\x87\x29\x99\x0e\x9e\xa8\x53\x7b\xb4\xdc\x84\x43\x05\x93\x13\x4e\x99\xda\x41\x80\x6e\xce\x25\xca\x67\x89\x98\xdc\xd5\x55\x15\x58\x2b\x54\xda\x1b\xdf\xf1\x67\x01\x80\xf5\x11\xf0\x42\x76\x4d\x3c\xb4\xfb\x85\xe3\x76\xe1\xc3\x33\x6d\x75\x55\x99\xfa\xd3\xd9\x54\x59\xb1\xfc\x32\xa9\x78\x7a\x3f\x05\x1a\x76\x70\x09\x82\xba\x1b\x1e\xe1\xe6\x62\x14\xf0\xe9\xf1\xfb\xc4\x01\x9d\x35\x69\x24\xf0\x0c\x58\x84\xc4\xcf\x88\x03\xba\xfc\x0b\x71\xb8\xcd\x19\x42\x52\xad\x83\x6b\x40\xd0\x07\xce\x2d\x28\x01\xaf\xef\x0f\x32\xbb\xda\xb3\x5f\xa9\xb3\x70\x58\x7a\xf9\x08\xed\xbb\xa4\x9c\x20\xc1\x37\x7d\x97\x64\x17\x87\x3e\x2c\x08\x00\x17\xbe\x2b\xe2\xe8\x4e\x0a\x06\xa9\xa4\x2f\x32\x3b\xb4\x20\x46\x8b\x4c\x43\xc4\x45\x8d\x99\x40\x5a\x7c\xb3\x4b\x48\xac\x93\x35\x7d\x2c\xe4\x96\x55\x63\x22\xf0\xb8\x4e\xcf\x86\x25\x6a\xa2\x28\xd8\xa8\xd3\x3a\x41\xb2\x53\xd3\xd6\x70\xbc\xf0\xd2\xc4\xbe\xc7\xab\xbf\x64\x43\xe8\xdf\x95\x44\x1b\x88\x58\x92\x0e\x32\x90\xfc\x5b\x50\x9a\x44\x7a\x3e\x29\x3a\x59\xcd\x21\x45\x0b\x61\xf1\xb3\x0f\x69\x0a\xaa\x60\x3c\x63\x2e\x4d\x3c\xaa\xd7\xce\x30\x2c\x11\x05\xfc\x02\x36\x0f\x17\x6d\xe2\x92\xf1\x0e\x17\x52\xf9\xa8\xa4\x6b\x78\x3e\xe1\xcc\x7d\xe4\x2d\xa1\x05\x8e\x65\xdd\x0f\x24\x43\x11\x71\x8e\x71\x08\xd0\x64\xb5\x12\xe2\x8c\x96\xab\x8b\xed\x11\x70\xe5\x3b\x1f\x0e\x4a\xd8\x5e\xab\x84\x57\x74\xc9\x05\xc3\x45\xac\x5b\x36\xff\x9d\x25\xe4\xd4\x44\xe5\x44\x4d\x2e\xc3\x2e\x0a\x32\xeb\x2d\xd3\x28\x2d\x28\x6a\x75\x82\x53\xf0\x7d\x55\xb3\x24\x6b\xdf\x32\xed\xb2\x92\x4f\x4f\x49\xa9\x33\x04\xf6\xa0\x1d\xfa\xd0\x1e\x01\x35\xad\x10\xa0\x45\xb0\x68\xec\xbe\xee\xba\xaa\xa6\x87\xab\xab\x61\x9e\x62\x20\x99\xea\x15\xd5\x97\xc5\x09\x24\xc0\x25\x95\x03\x10\x6e\x41\xbb\x3f\x06\x21\x18\x48\x02\x47\x32\xe5\x51\xb9\x97\x2c\x08\xe4\x20\x39\x51\x84\xd0\x5d\x2a\x56\x41\x82\x8c\x6e\x53\x16\x0f\x54\x5a\x10\x67\xe4\xe1\x82\x86\x8a\x49\x24\x44\x29\x49\x28\x1e\x31\x79\xdf\xda\xa9\x9c\x7a\xd9\x0e\x8a\xb5\x5c\x39\xe4\x5a\x18\x2a\x35\xa3\x48\x95\x48\x2f\x34\x91\x89\x41\xfa\xda\x14\xeb\xaf\x02\x55\xa8\x8b\x15\x2b\x6f\x35\xb1\x75\xc2\xcf\x0b\x5d\x2a\x09\x8d\x2f\x1e\xb2\x01\x5e\x32\x9e\x6d\xba\x61\xf9\xa8\x2c\x0c\xb9\x9b\xd1\x61\xff\xff\x64\x54\x44\xd7\x41\xd9\xa8\x2c\x19\x0d\x39\x8d\x8e\x04\x20\x9c\x79\x0d\x7f\x32\xb1\xbd\x41\xc3\xb5\x83\x20\xa5\x6d\xe4\xe2\x6d\xd2\x0d\x75\x04\x42\x55\x01\xde\xad\x03\x7d\x6f\x02\xbc\x50\xd1\x6a\x0a\xbd\x89\x45\x92\x56\xb8\xba\x4a\x52\xed\xc2\xc7\x47\x15\x5a\x5f\x9e\x78\x37\x02\x9a\x80\x9e\xb4\x89\xb5\x8d\x40\xfd\x62\xc3\x11\xb9\x9a\x55\x49\x88\x70\xc7\xaf\x52\xed\x77\x79\x3a\x0b\xae\xd1\x4d\x35\x6e\xb2\x0a\x75\xdf\xdb\x99\x3b\x61\x4a\x84\x83\x0a\xfb\x53\x55\xd3\x9d\xf2\xcc\xc3\x57\x5a\xd7\x8d\x54\xea\xe8\x29\xdf\x85\xbe\xeb\x07\x00\xb1\x8b\x60\xee\x84\x8a\xb6\xba\x4a\xb9\x73\xfc\x5c\xd5\xa2\xa3\x26\x0b\x87\xc7\x1f\x91\x4f\x95\x8d\x95\x13\xbc\xe7\xe7\xe7\x82\xa0\xb3\x96\xc8\xf4\x48\x06\x39\x89\x54\xc6\xfd\x38\x62\xa7\xd2\xd8\x67\xe6\x5e\x32\x1d\x62\xcf\x1f\xdc\xcb\x7a\x93\x21\xe9\xf2\xad\xa2\xc9\x20\x03\x8b\x8e\xb6\x20\xe8\xd8\x30\x95\x17\xda\x52\x58\x3a\x0f\x85\xe5\x9f\x8b\x2c\x48\xd8\x37\x16\x48\x96\x9c\x5a\x44\x65\x3e\x05\x30\xbc\x57\x7f\xf8\xc5\x17\xf8\xf4\x8b\x2f\xe0\xe9\x07\x9a\x87\x5b\xb6\x1f\x09\xc2\xa3\x1a\x16\xbb\xb0\x65\xe6\x7d\x2c\x33\x12\xda\x53\x25\x04\x47\x91\xfd\x02\xe9\x9e\xaa\x44\x69\x49\xb0\xcb\x92\x92\xad\x9f\xf4\xf2\x88\x43\x9a\xe5\x80\x22\xae\x20\x0b\x61\x51\x57\x37\x0c\x2c\x6f\x63\x91\x06\x70\x15\xcd\x9b\xa8\xaf\x0b\x40\x2e\x0c\xdb\x9f\x06\x1a\x4b\xd2\xc4\xe3\x96\x10\xb8\x65\x66\xa1\x60\x44\x28\x40\xf1\x70\x52\x81\x61\x92\xb3\xe4\x46\x3b\x92\xfb\x69\x9c\xc9\x75\x46\x6a\x2b\xc5\x34\x2d\x77\x91\x84\x22\xe4\xdb\x15\x08\x74\xb0\xfa\x86\x69\xb4\x56\x22\x8d\x16\xd3\xb7\xe7\x88\x14\x3e\xaa\x1f\x4c\xb3\xf6\x31\x28\x46\xca\xf7\xd5\x55\xa5\x01\x8f\xdb\x08\xcc\xa5\x79\xb5\x29\xb6\xf8\xa9\x54\xc5\xcf\x4d\xea\x5c\x2c\x7c\x29\xe5\xc7\xd2\x14\x5b\x82\x08\xbc\xd8\x9c\xcb\xf9\x6e\x01\x2d\xc9\x88\x2f\x27\x06\xb7\x80\x7e\xeb\x3b\x74\xff\x5b\x5e\x08\x6e\x81\x44\x20\x46\x7e\x6a\x49\x22\x7c\xc2\x25\x4b\x2a\xa4\x63\xba\x63\x85\x65\x70\x33\xb3\xdd\x40\x85\x5a\xcd\x49\x1b\x09\x20\x24\x62\xdd\x6d\x50\x18\x38\x01\xe6\x90\xab\x05\x04\xa5\xe0\x0f\x0b\x08\x4e\xe1\x0e\xaf\xef\xc2\xc0\x19\x0e\x51\xa9\x21\xf4\x27\x05\xc2\x30\x95\x0b\x05\xb4\x02\x0a\x64\x96\x17\x9c\x00\x6b\xf2\x16\x2c\xbc\xa5\xb8\x2b\x8e\x4a\xce\x72\x1c\x13\x5f\x23\x6f\xa6\x44\xaa\x84\xec\xda\x8e\xb7\x40\xcf\x1f\x80\xd2\x60\x06\xb1\x0e\x5b\xc9\x2e\xde\x84\xc2\x42\xdb\x54\x8c\xf2\x8b\x40\xa9\x2a\x86\x74\x03\x8c\x16\x6b\x1b\x9d\x26\x79\x4d\x67\x73\x67\x2a\xcc\xca\x8f\x4a\x69\xb1\x31\x24\x3d\xd0\x6f\xc3\xf2\xe1\xf1\x59\x7b\xe7\x53\x6b\xe7\xfd\x71\xeb\xf4\xd3\x76\xb3\x5d\xdf\x7a\xb7\xb3\xbd\xa9\x48\xf3\x71\x22\xba\x69\x4a\x55\x5e\x60\xea\x3b\x5e\x08\xa0\x26\xef\x8c\x7d\x0b\xc8\xf5\x6c\x51\x12\x0a\x02\x91\x59\x45\x90\x7c\x50\x79\x3b\x7a\xd2\x70\x7b\x11\xf4\xe4\x0c\x90\x1f\xc4\x32\xa8\x69\xbb\xfb\x24\xbc\xbc\xcb\x69\x37\x0e\x13\xbc\xc4\xc9\x93\x3c\x2e\xe3\x10\xc3\x72\x8c\x89\x2e\xf6\xd4\x09\x53\x6e\x02\x29\xd3\xe6\x72\x88\x4b\xc8\x10\x85\x20\x08\x7d\x98\x19\xaa\x68\x63\x77\xca\xc3\x72\xdf\xb5\x27\x53\x12\x24\x57\x37\xd2\xb6\xe8\x2c\x72\xab\x89\xb6\x1e\xbe\x34\xd1\x72\x0a\x2a\x90\x9c\x11\x26\x0b\xfb\x15\x27\xa3\x6c\x24\x66\x82\x1a\xea\x50\xd3\x23\x40\x6f\xe0\xe3\x23\xfb\x6e\x59\x70\x75\x35\xf6\x7e\xd0\xd2\xde\x79\xa9\x29\xc5\xca\x59\x2b\x86\x6c\x5e\x61\x75\x14\x69\xff\x98\x95\x16\x9c\xeb\xf9\xd0\xcd\x45\xc2\x13\x62\xf2\x29\x11\x9e\x50\x73\x6f\x10\xf9\xfc\xa1\x75\x4d\xea\x7d\xca\x5b\x0f\x42\xd0\x22\x21\x08\x69\x20\x6f\x42\x25\xd2\x70\x50\xdd\xc1\x8a\xc5\x92\x11\xe1\x80\xd6\x7c\xd4\x5b\xec\xd7\xdf\x07\x8e\x9b\xe5\xea\x05\x9c\xe4\xf7\x20\xbb\xed\x4b\x22\x4a\x6b\x7c\xb0\x5b\xde\x64\x17\x48\x66\x9f\x96\x8c\x04\xd1\xbe\xf7\xfa\xc9\xc9\xf4\x49\x65\x0e\xf3\x99\x5e\x28\x38\x9b\xb3\x9c\x2c\xe9\xc8\xb8\x79\x74\xe1\x23\xdd\x2e\x62\x86\xbf\x07\xb2\x5e\x0a\x17\x4c\x94\xea\xe9\x2b\x3b\x49\x51\xca\xed\x25\xdf\x7a\xea\xfe\x0d\x12\x1e\xb1\x31\x3a\x2c\xf4\x1f\xa9\x49\xa2\x1d\xe0\x3b\x47\xb6\x3c\xc1\x20\x59\x81\x46\x3f\x88\xa2\xc1\x3a\x7e\xc2\x84\x39\x60\xa3\x2d\x9b\xf7\x89\x76\xd3\x6e\x6f\xe0\xb5\x65\x64\x53\xb1\xd7\xc3\x10\x4c\xa6\x61\x21\xf4\x0b\xb4\x76\xa1\x67\x0f\x0a\x34\xd1\x81\x52\x8c\x38\x2d\x90\x8c\x58\x3e\xa2\x2b\x83\xcf\xce\x9f\x22\x46\x26\xff\x18\x36\xf9\x99\x4d\x3c\x12\xd4\x07\x91\xe5\x8d\x41\x62\xf0\xa4\x3c\x47\x28\x55\x04\xe6\xe7\xe2\x5d\x33\xe4\x42\x36\x72\xa2\x91\xc8\x43\x85\xba\x5c\x97\xcc\x1a\x7c\x63\x19\x91\xab\x6d\xf4\xfe\x12\x5e\xbd\x06\x5a\x0d\x96\x4a\x5a\xaa\x22\x16\x5c\x64\xb7\x64\xae\x1b\x42\x8c\x16\x0c\x10\x8b\x51\xfe\x53\x46\x88\xa5\xa8\xc8\x1d\x22\x16\x7b\xa0\x26\x9e\x7d\x16\xe0\x33\xb7\xc4\xcc\x09\x1d\xd4\xd7\x06\x89\xa2\x14\x62\xaf\xf2\x90\xa6\x8f\x89\xa3\x4e\xa4\xe3\x33\x39\x25\x6e\x89\x47\x0e\x43\x94\xf8\x96\x05\xd1\x51\xa9\x11\xb7\x79\x36\x67\x08\x14\xac\xa9\x71\x34\xfa\x2e\xd1\x89\x29\x76\x60\x56\x35\x3d\x2c\x95\x9e\x88\xf5\x5c\x72\x34\xae\x9d\x21\xf6\x3e\x55\xc3\xb8\x97\x89\xe6\xa7\xb3\xe0\xba\x6c\x4f\xa7\xec\xa6\x99\x7a\xaf\xfb\x9a\x8e\x31\xa3\xc1\x11\xed\xb9\x8a\x7f\x96\x42\xdd\xa0\xa6\x10\x08\xd9\x37\x06\xf1\x1d\x7d\x6d\xe5\xf4\x91\x59\xdc\xc5\x61\x16\x85\x2e\x54\x51\x2c\x26\x4f\x0c\x2c\x98\xba\x4e\x1f\x08\xb1\x65\x33\x39\xd0\x83\xd4\xb4\x9c\x79\x31\x29\x3c\x44\x2e\x2b\x20\xfd\x2a\x5a\xc1\x13\xdb\x67\x48\x40\x2a\x12\x59\x3a\xd4\x9e\xd8\x2a\xeb\x9c\x92\xb3\xa6\x05\x46\x68\x36\x62\x47\x01\x2c\x1c\x8a\x4f\xdd\x88\x1b\x52\xa1\x94\xb9\x25\x01\x82\xfc\x89\x80\x4b\xe7\x2f\xff\x89\x00\x4d\xaa\x94\xf9\x20\xe5\x76\xbc\xac\x40\x4b\x02\x8d\xa6\x2d\xc8\xce\xce\xfc\x16\xde\xdb\x23\x70\x36\x95\x5c\x7d\x53\xb7\xb1\x84\x3b\x7d\x6d\x51\xd7\x12\xeb\x91\x17\xf8\x98\x8b\x31\xda\xf6\xef\x64\x32\x89\x9f\x86\x53\x51\xca\xa9\xe6\xe2\xf4\xce\xf1\x7e\x67\x54\x5a\xa2\xe9\xdf\x1d\x39\xa4\x8d\xdf\x39\x53\x40\x7d\xde\xb3\xa9\x13\x25\x7b\x9c\x91\x95\xf8\x25\x12\x82\x5d\x0a\x2e\xf0\xe2\x4b\xfa\x55\x79\xe8\xc3\x1d\xbb\x7f\xad\x8a\xdc\x38\x12\x5b\xfb\x1b\x23\x0e\x42\x41\x44\x51\x64\x81\x1b\x51\xe8\x78\xcc\xc7\xa3\x85\xa9\x02\x2d\xa9\x68\x8d\x45\x67\x19\xa6\x29\xdb\x95\x64\x8a\x2b\xd9\xc5\x09\x64\xf3\x25\xe0\xf6\xeb\xae\x2b\xf0\x22\x93\xf8\x97\xc5\x18\x0b\x28\xb6\x94\x1c\x84\x99\xe7\x8b\xc0\xa5\x89\xbd\xa4\x6a\x29\x01\x32\x63\x68\x9f\x11\x75\x24\xcc\xf4\x19\xa9\x6f\xc3\x14\x18\x7f\x18\xb6\xc8\x03\xd9\x22\x60\x25\x32\x64\xcd\xf3\x75\x8c\x54\xd9\x9c\x05\xbe\xb5\x92\x4e\xe8\xc0\xbd\x5c\x9a\xa6\x29\x63\xef\xe5\x29\x27\xaa\xb8\xf8\xf0\x89\xe8\xcc\x0c\x7d\xe4\xd7\xd5\xa1\x0f\xef\x6c\x38\xa0\x73\x29\x27\x61\x9e\x4c\xc8\x42\xee\xe6\x24\x6c\x8f\x90\x83\xac\x85\xc5\xa2\xc6\x78\x97\x98\x7d\x0c\xaf\xde\x44\xf2\xcf\x5b\xdf\x19\x14\x92\x98\x13\x76\x31\x5b\x49\x4b\x70\x5f\xf9\xf7\xe8\x9a\x1c\xa4\x40\x88\xa0\x2f\x75\x35\x97\x89\x51\xd0\xb6\xf6\xf3\x10\x52\xc6\x86\x87\x6f\x10\x8d\x4b\x25\x21\x2d\x5f\x7f\x1b\x2d\x85\xe5\xe4\x47\x0b\x08\x33\xdd\x03\x71\xff\x96\x40\xfd\x8b\x08\xf7\x58\x10\x5e\x5b\xb6\x6b\x71\x1b\x8c\xef\x2b\x9a\xba\xa1\x03\xca\x9e\x65\x5e\x1b\xe4\x65\x8e\xc4\x86\x76\xac\x1e\x66\x45\x8d\xdf\x3e\x76\x38\x86\xf3\xf1\x50\x05\x5a\xad\x64\xae\x44\x51\x4e\xb2\xd8\xeb\x52\x9a\xa7\x8f\x81\x6c\x78\xe6\x14\xb9\xd9\x79\x9a\x09\x2c\x90\x23\x53\x4a\x1d\x28\x92\xd1\x05\x8f\x8f\x86\x1e\x5f\x13\x49\xe6\x2d\xc7\x0a\xad\xb0\x64\x96\x54\xc4\x0d\xfd\x11\x2c\xc2\x9a\xf3\x5a\xb8\xc2\x6a\x4e\xd1\x82\x2c\x51\x07\x6b\x4a\x75\x58\xc2\x97\x4c\x18\x04\xa9\xba\x38\x04\x70\x0a\x81\x20\xc7\xf3\x6d\x18\xbf\x55\x97\x92\x71\x48\xda\x18\x80\xbe\x0f\x6d\x91\xb1\x13\x8e\x02\x01\xb2\xa7\x3c\xab\xc1\x35\x9b\xeb\x3c\x98\x39\xf7\x32\xce\x88\x12\xa5\x6c\xca\x85\x30\x0f\x4e\x9e\x6e\x57\xe0\x43\x98\x07\x2a\xf2\x4c\x94\x80\xe3\x0c\x0f\x33\x60\x22\xdb\xc5\xfc\xba\x71\x00\x2a\x51\x65\x62\xc1\xa8\xf1\x79\xf6\x48\x7a\x6e\xfc\x1b\x7f\xcd\x84\x97\xe0\x55\xd8\x19\xc0\x02\xed\x77\xca\xf7\x21\x02\x92\xb1\x9a\xcd\x00\xcb\xda\xde\x6a\xe9\xea\x02\x2b\x57\x09\x18\x89\xf9\x6c\xd4\xf7\x28\xf0\x88\x88\x91\x8f\xed\x1f\x52\xa5\x49\xc2\x40\xdf\xc3\x99\xfd\xe7\xe1\x04\x78\xb3\xac\x88\x77\xc5\x7c\xe2\x55\x84\xbe\x87\x75\x48\x89\xc0\x1d\x02\x9d\x60\x22\x1b\xb1\xaa\xd5\xa0\x20\xdb\x3f\xd6\xf8\x0c\xfc\x3b\x4f\x41\xfc\xb5\xb4\xc4\x6c\x9a\xff\x1e\x87\x0b\x8c\x93\x3b\x25\x42\xb8\xf0\xb1\x49\x43\x21\x08\x3c\x4d\xa2\xc0\x30\xbb\xe8\x57\x03\x47\x11\xe4\x7a\xa8\xaf\x18\x5a\x0e\x02\xa4\x0b\x1c\xe1\xb8\x40\x52\x8b\xe1\x26\x6f\x11\xa2\x46\x7a\xee\x0c\x2e\xc4\xd0\xd4\x34\x71\x94\xeb\x74\x86\x51\xac\xce\xd3\x6a\x4e\x22\x14\xd9\x77\xf4\xf0\x2a\x79\xfe\x00\x5c\x92\x55\xa4\x0c\x6d\x37\x00\xca\x55\xe1\x4b\xa1\xd0\xf3\xe7\x68\x61\x38\xde\xa8\x5a\x20\xc6\x93\xa5\x9e\x3f\xaf\x15\x0a\x69\x3f\xeb\x6a\x21\x84\xb6\x17\x90\x20\xfa\x7c\x66\xd7\x02\xab\x47\x05\xa2\x95\xe9\x3c\x7e\x86\x91\xaa\x16\x02\xdf\x75\x06\xb5\xa7\xf2\x5d\x1f\xe3\x81\x1a\xa6\x1e\xe0\xd5\x82\xe3\xb9\x8e\x07\x4a\x3d\xd7\xef\x8f\x6b\x85\x02\x42\xbe\x64\xbb\xce\xc8\xab\x16\xfa\x00\x6d\xf0\xb5\x02\x93\xb5\xf6\x6d\xb7\xaf\xf2\xaa\xc5\xa4\x61\x8a\x56\xf8\xbe\x50\xd1\x6a\x85\x02\x06\xc8\xa4\x7f\xc2\xf2\x2c\x57\xe1\x53\x15\xfa\x7e\x88\xf0\x11\x83\xac\x16\xbe\x13\x28\x1f\xc4\xd6\x2e\x35\x01\x90\x58\x04\xb9\x00\x4a\x6c\xe7\xc2\x83\x21\x43\x47\xb2\xf2\xa1\x61\xa8\x16\x0c\xe9\x6b\xe8\xdf\x25\x5f\x13\x57\xe6\x84\xb6\xb9\x5a\x30\xca\x2f\x02\xae\x4c\x46\x79\x5b\xc5\x03\x20\x2b\x41\xb5\xb7\xd5\x02\x3d\xc0\x65\xe5\xe8\xb0\xe7\xab\x89\x6b\x4f\xbf\x1c\x83\xfb\x21\xb4\x27\x20\x28\x60\x64\xd1\x38\x60\x0b\x80\x2f\x05\x7f\x6a\xf7\x71\xba\x61\xb3\x6c\xd4\x0a\x4f\x85\x42\xe8\xf3\x4f\x0d\xfc\xf4\xa9\x1c\xf7\x11\xd5\xb5\x3d\x67\x42\xa2\x11\x78\xf6\x04\x54\x09\xd0\x1a\xff\x3c\x26\x04\x8f\x9b\x80\x52\x5a\xa2\x9a\x13\x02\xf2\xb8\x84\xf3\xdd\xa0\x49\x3b\x74\x3c\x27\x04\x89\x52\xa1\x33\x71\xbc\x51\x89\xed\x17\xd5\x02\xb0\x03\x50\x72\xb0\x5f\x47\x12\x0b\x07\x02\x5a\x24\xba\x16\xd6\x9e\x94\xf4\x26\x7e\x0d\xec\x41\x22\x40\xbe\xa3\x65\x83\x3f\xe5\x6f\x0a\x5c\x9e\x68\xde\x58\x3a\x8e\x50\x14\x39\x28\x90\xd7\x4a\xb6\x6c\xdf\xb5\x83\xe0\xc8\x9e\x00\x4b\xe1\xb6\x12\x41\xc1\xc5\x59\xa5\x49\x3a\xe9\x25\x56\x71\xe2\x6d\x7a\x11\x68\x1a\x49\x4f\x2d\x87\x43\x57\x77\x2e\x20\xe8\xdf\x69\x5a\x2d\xda\x85\xc8\xf6\x43\xd7\x7c\x0e\x72\xb5\xa5\xb6\x95\xd2\x1d\xe8\x8d\x9d\xb0\x84\xb7\x4c\x4a\x05\x3a\x77\xf5\xcc\xce\x5a\x30\x0d\x63\x12\xe0\x4d\xcb\x86\xb5\xd2\xc4\x7f\xf8\x96\x7a\x8a\x9e\xb9\xdd\xf9\x02\xae\x23\x11\x36\x40\xfb\x69\x82\x9a\xb4\xaa\x59\xc8\x84\x64\x12\xa1\x71\x53\x26\x71\xb2\x6f\xa1\x11\x00\x5f\x3b\xab\xb3\x75\xb9\xc9\x4d\xf6\x9c\x01\xb4\x47\xd4\x4b\x90\x9c\x32\x00\x2a\xd2\xca\x4b\xa6\x46\x2f\xbd\x7a\x35\x9d\x4b\x66\x8f\x69\x4c\xe7\xd1\x34\xc1\x3f\x32\x2b\x5b\x92\x27\x3a\x83\xce\x12\xac\xcf\x25\xcf\xaa\xc4\x7c\x15\xcf\x41\x29\xd8\x37\x53\xd1\x95\x41\xcf\x25\x5f\xc5\xa2\x53\x19\x4d\x32\x8c\x4b\x9c\x71\x93\x5f\xff\x39\xc5\xe2\x9e\x0b\x0b\x09\xe4\xad\xb9\x80\x97\xe4\xce\xd2\x17\x05\xa1\x5c\x17\x84\x2d\x70\x0b\x60\x00\x3a\xce\x00\xf8\xea\x8a\x29\xa0\x39\x0d\xec\x29\xb8\xd0\xa4\xf3\x3b\x4b\x8d\x2d\x18\xab\x2e\xb3\xb4\x88\x28\x24\x15\xdc\x21\xce\x2d\x4f\xcd\x13\x45\x1f\x95\xa1\x40\x83\xed\x66\x55\xaa\xa1\x5c\x5c\xaf\x65\xcd\x8e\xa2\x22\x97\xe0\x2a\xa3\x55\x15\x80\xa8\x89\xac\xab\xa0\x7f\x17\xe0\xf0\x21\x97\xe1\x55\x2e\xc6\x64\x1d\x26\x4d\x0b\x62\x1d\xf6\xe5\x95\xee\x58\xa0\xe6\xbc\x0e\x6b\x0e\x4b\xb8\xe6\xf3\xca\x57\x7c\x49\x71\xd0\x2d\x05\x1b\xe3\xfb\x3c\x6f\xac\xe9\xce\xeb\xb0\x64\xae\xae\xae\xe0\x44\x2a\x5c\x2c\x26\xcc\x3f\x32\x19\xa0\xa2\xad\xae\xd2\xea\xca\x47\x4f\x61\x41\xea\x0b\xb0\xfc\xd9\x77\x3c\x55\xc9\xb3\x4b\xa6\x8a\x5b\x51\x86\x89\x34\x92\x40\xe3\x71\xcb\x05\x49\xf2\x73\xe7\xda\x86\xa5\x07\xa1\x28\xa6\x3e\x7d\x2b\x69\x8d\x53\x85\xe6\x49\x00\x65\x50\x93\xb7\xc7\x2c\x46\xba\x63\x19\x35\xe7\x35\xc8\x0c\x9d\x74\xdf\x9f\xa3\x53\x5b\xd1\x6a\x7e\x76\xef\x4c\xd7\x41\x64\xc7\x74\x55\xd0\x71\xc5\xe5\xd7\x83\x45\x27\x29\xfa\x45\x23\xdb\xf2\xef\x54\x5f\x7b\x12\x44\x85\x4f\x77\x4a\xa2\xaf\xac\x39\x43\x35\x78\x63\x90\x6e\x78\x32\xfd\x7b\xa0\xd5\x08\xac\x98\xc6\x8b\x54\xef\x9e\x48\xc9\xc4\xa7\x94\x61\x86\x20\x4c\xf0\x85\xdf\xe0\xa0\xce\xaa\xf6\xc4\x32\xcb\xc8\x7a\x83\xf3\xba\xe4\xf7\xd7\x8c\x37\xca\x3a\x3d\x02\x33\xe6\x76\x52\x75\x03\x3a\x7f\xb2\x89\x29\x75\x98\x30\x93\x88\x9a\x06\xac\x38\x5e\xe6\x49\xdd\x3d\x71\xc1\xc5\x2f\xa1\xee\x90\x1b\xb1\xaf\x07\x35\xf0\x1a\x6e\xaa\xbe\x05\xf4\xc0\x82\xc5\x50\xab\xaa\xbe\x05\xf5\xc0\x02\xc5\x30\x62\x52\x78\x85\x9f\xaf\x0b\x83\xd9\x52\xe2\x35\x97\xd1\xde\x71\xe0\x32\xbd\x8a\xd3\x55\x42\x96\xbf\x95\x6a\x30\xfd\xbc\xb5\x80\x10\xae\x05\xaf\xc3\x5a\x50\x2c\x6a\x0e\xb7\x39\x06\x57\xf1\xc4\xf5\x8b\x32\x2b\xd4\x29\x74\xbc\x50\xb2\x42\x0d\x6c\x5c\x79\xd7\x2f\x07\x21\x31\x92\xc3\x49\xb7\x5f\xc3\x5a\xda\x9f\xf3\x0e\xda\x53\x1b\x73\x97\xd1\x8c\xca\x55\x8d\x64\x4c\x27\xfd\xc9\xc4\x09\xdf\x39\x1e\x60\x76\x90\xec\xc0\xf4\xc0\x1d\x7a\xac\x52\x39\x46\xa0\x7b\x16\x2c\x85\xba\x6d\xad\x98\xb5\xc5\x62\xf6\xa2\xf7\x46\x66\x48\xa6\xda\xd6\x8a\xa1\x7b\xe2\xd7\xa5\xc5\xa0\x35\xdd\x5e\x5d\x5d\x91\x91\x61\x53\x0d\x28\xe5\x66\xbd\x20\xc4\x8c\x8a\xee\x95\x4c\xad\x98\x7c\x08\xd1\x0a\xf1\x2c\xa8\x55\x05\xc5\x49\x96\x58\xd4\x6b\x17\x87\xe3\x4d\xba\xe1\x4d\x5d\x27\x3c\x77\x06\x00\x5d\x1f\x88\x0f\x99\x1a\x44\x19\x44\xd9\xe9\x79\x5d\x2c\x6a\x89\xae\xa4\xf4\x86\x77\x7d\x7c\xa8\xbb\x97\xd7\x57\xf4\xbb\x9e\x57\xdc\x0e\xfa\x8e\x13\xd7\x88\x7e\xa6\x54\xa2\x64\xb9\x1d\xfa\x03\xb0\x29\x58\x86\x14\x59\x0c\x21\x08\x21\xb5\x1d\x64\x65\xd0\x0c\xc1\x41\x73\xd2\xc5\x72\x11\xa3\xfd\x88\x42\xd7\x2e\x42\x7f\xc5\x48\x4e\x9e\x89\x7d\xdf\xc3\xd1\x78\x1a\x51\x76\x42\x34\x01\x8b\x96\xf7\xb4\x58\x33\xc0\x6f\x09\x51\xa0\x85\x78\x1d\xfc\x3c\xa6\x34\x69\x3d\x6e\x8a\xab\x31\xb0\xef\x16\xb3\xbd\x17\x58\x9f\x50\xab\xd1\xaf\x08\x15\xad\x55\x05\x55\x80\xb8\xbc\xd4\x62\x72\x14\xe3\x7d\x9a\xd4\x74\x52\xb6\x83\x18\xb5\x66\x1a\xda\xcc\x3c\xa9\xca\xb4\x3c\x5c\x13\xe9\xf4\x6a\x79\xad\x50\xd4\x37\x45\x0f\xab\x32\x2a\x4a\x50\xa0\x9b\xd4\xd7\x29\x02\xa1\x7f\x67\x2d\x3a\x3e\x6b\x8b\x10\x5f\x08\x3b\x5d\x2b\x39\xa6\x67\x53\x75\x89\x23\x3a\xbf\x21\xdd\xd0\xb4\x2a\x5b\xe9\x3f\x01\x48\xf5\xa7\x41\x28\x9a\x08\x06\xc5\x83\xb7\xc3\x33\x7f\x16\xc8\x92\x91\x47\xcc\xfe\x2e\x00\x83\x6f\xd1\x01\xd7\x92\x07\x5c\x56\x04\x33\x9b\x78\x72\x8f\xe8\xa1\x0f\x27\xe9\x96\x93\xdb\xb0\x3d\x0b\xfd\x86\x0d\xa1\x63\x8f\x40\x0b\xaf\x83\xcd\x64\x8b\x84\x2e\xac\x0b\x39\x5c\x0b\xbe\xe2\xbe\xcb\xef\x6a\x72\xa5\xa3\xee\x2c\x9a\xfd\xb5\xd0\xb2\xe8\x78\x91\x93\x01\xb5\x10\xc8\xc7\x0b\x6d\xca\x39\x76\x74\x00\xda\x01\x38\xf5\x71\x84\x10\xc9\x68\xf0\x06\xb8\x42\x6a\xa7\xb3\x14\xa6\x4f\x23\xa7\x3c\xc4\x96\xd9\xd7\x4e\x08\x70\xfc\xd3\xc8\x51\xa4\x68\x6a\x42\x6b\x4e\xe9\xf8\x51\x74\x5b\x19\x33\xff\x38\xb3\x7f\x3e\x0f\x95\x4e\x74\xf7\xb5\x0c\x8c\x0e\x2d\xb0\x19\x59\xd2\xa2\x53\xa4\x1a\xa6\x6c\xcd\x33\x27\x68\x2c\x45\xb4\x52\x7b\x57\xaa\xe0\xf6\xce\x6e\xfd\xec\xdd\xe9\xa7\xc6\xf1\xbb\xe3\x16\x33\xdb\x95\x5d\xe2\xf3\xa7\xc9\x15\x42\x2a\xc3\xff\x78\xfe\x80\xd8\xe1\xab\x81\xf6\x7a\x89\xc5\x56\x84\x69\x69\x04\x2e\x4b\x72\x93\x35\xae\x6d\x18\xa8\x50\xd3\x63\xab\x11\x81\x6b\x8e\x4a\xee\x78\x9e\x74\x32\x2d\x3d\x69\xa0\x78\xae\x78\xbc\x35\x5d\xa6\xed\xbc\x79\x94\x77\xfa\x48\xf1\xe4\x9a\x69\xc5\x0c\x77\x7a\xfa\xe6\xa1\x94\x83\x51\xbd\xe7\xdf\x2e\x8f\x12\xb7\x76\xd5\x98\xed\x65\xf9\xdd\xf0\x5e\x11\x71\xb2\xb9\x57\x49\x3d\xb7\x87\xb5\x9f\xb3\x87\x5b\x20\xe5\xae\xb5\x4c\x0f\x5b\xd4\xa8\x54\x28\x05\x49\xb0\x1a\x68\x79\x92\xd3\xa7\x06\x5f\x5b\x61\x0d\x2e\x26\x00\xfc\xbd\x11\x60\xe8\xb8\xae\x2c\x57\xa9\x70\x97\x95\x60\x6c\xe8\x46\x4c\x0b\x68\x19\x35\x98\x31\x08\xa2\x22\x12\xd4\xfd\xf8\x82\x6c\xe4\x58\x0e\x2d\x41\x26\x67\xc1\x36\x0f\x84\x84\x92\x32\xb9\x91\xf5\xab\x80\x24\x20\x75\x95\x87\x56\x98\xb0\x2e\x26\xd9\xca\x13\xb7\x7f\xd4\x39\x48\x3a\x22\xf0\x4f\x74\xf0\x20\x0b\x46\x56\x50\x16\x91\x57\xb6\x6f\x60\x00\x4b\x22\x2c\x76\x96\xad\xc5\xd3\x86\x98\xfe\x22\xbc\xb2\x48\x60\x27\x09\x1d\xb2\x6b\xb3\x3c\xb4\x07\xe3\x00\xa4\x13\x4b\xce\x3d\xc2\x0c\x0f\x42\x6f\x58\x9a\xee\x58\xb0\x14\x96\x54\x60\x71\x47\x1d\x2c\x85\x9a\x56\x34\x6b\x0e\xbd\xa5\x45\x92\x26\x35\xd4\x1d\x3d\x2c\x82\x78\x52\xfa\x16\x28\x99\x35\xff\x8d\x65\xd4\x7c\xe6\xbe\x94\xb3\x05\x15\xfd\x85\x6b\x50\x6a\x48\x86\x4e\xa2\x7c\x02\x70\x2b\x0b\x8f\x0b\xea\xba\x23\xef\xba\x6f\x39\x25\x58\x34\xf5\xc0\x72\x52\x04\xf0\x71\xf7\xc1\x8a\xe5\x67\x28\x00\x75\xa0\x07\x71\xff\x3d\xcb\xa8\x79\xaf\x41\xcd\x5b\xbc\xae\x82\xa2\xf7\x4d\x1b\x50\xf8\x0d\x1b\x10\x15\x25\xe0\x10\xf4\xcb\x51\x4b\xc0\xba\x3d\x3e\xa6\xdd\x81\x13\x12\x8a\xb4\xcc\x41\x22\x24\xf8\x79\x3a\xc4\x31\x22\x8b\xe6\x3f\xcf\xb3\x00\xe2\x49\xc6\x24\x51\x12\x6e\xcc\x09\xe2\x54\xc3\x5f\x64\x1e\x69\x42\x86\x58\xc2\x5c\xa6\x28\x93\x20\x5b\x96\xd0\xa1\x98\xdd\x81\xd4\x02\xf7\x6b\xc8\x14\x5f\x5c\x7f\xc2\xf1\x83\x2f\x12\xa2\x3b\x0b\x53\x38\xc6\x4b\x31\x3a\x1d\x97\x3c\x0a\x18\x7e\x49\x7f\x9a\x6f\x3f\x20\xc5\x57\x2b\x23\x0e\xd2\x14\x5d\x9b\xbe\x12\xd1\xcc\x3e\x2d\xca\xb7\x13\x5d\x25\x7d\xe8\x8c\x1c\x8f\x93\xe8\x81\xb0\x05\x5c\x3b\x74\x6e\xd3\x08\x93\x7b\x44\x7e\xa7\x72\x3c\x6c\xa5\x80\xe5\x01\xba\xd2\xd4\xa9\x01\x3e\x20\x40\x11\xea\x50\x97\xed\x90\xe8\x92\x1a\x97\x0d\x73\xa2\x06\x64\x3d\x6d\xbf\xa6\x4b\x62\x3a\xa4\x7d\x9e\x79\xb4\x73\x23\x1e\xfc\x7e\x90\xe6\xf7\x01\x41\x64\x8a\x6f\x96\xf4\xe4\xc5\x78\x13\xb7\xb9\x5c\x04\x0f\x5c\x69\xd9\x31\x68\xf1\xac\xfb\xe2\x3e\x81\x5c\x87\x8f\x7c\xce\x26\xea\x56\x2b\x79\x5d\x58\xa2\x4f\xd0\xbf\x93\x7a\xee\xf1\xb6\x03\x9f\x78\xb8\x91\xfc\x20\x76\x43\x22\x79\xfe\xf9\x1b\x4a\x4d\x58\xc2\x12\xe7\x3a\xa5\x09\xbc\x41\xa6\xbc\x0e\x52\xae\x78\x18\x19\x9a\xc4\x74\x01\xe6\x9c\xae\x71\x01\xf6\x41\x54\x32\xaf\x07\x71\xa9\xe5\x7b\x11\xd7\x49\xf5\x24\x2b\xaa\x07\x19\x39\xbd\x99\xc3\x5b\xe3\x61\x4c\x9d\x51\xd9\xd0\x18\xa8\x61\xb5\x44\xf8\x10\xe9\xdd\x22\x2a\x99\xcc\xf0\x8a\xf8\x74\x33\x61\x81\x2d\xdb\xab\xd3\xfb\x63\x35\x72\xcc\x58\xa6\x0a\xdb\x2a\xa5\x22\x71\xc4\x65\xc6\xbb\xd1\x02\x49\x2a\xd1\x74\xe6\x1c\xcb\x7e\x3e\x1d\x92\xc2\x3d\x2a\x2c\x53\x55\x42\x0d\xed\xb5\xa9\x2d\x73\x61\xa0\xd2\xd7\x28\xfd\x38\xa3\x02\x95\x73\x9e\x47\x4a\xbc\xd8\x05\x69\xb1\x3a\x13\x94\x4a\x39\x4c\x9f\xbe\x02\x34\xe6\xb7\xb4\xd8\x27\x0d\xfa\x77\x35\xd5\xb1\xc2\x12\xd0\x70\x2a\x79\x15\x5a\xb0\x84\xb9\xf7\xa1\xeb\xa3\x1b\xfb\x33\xe1\x8e\xaf\x95\x4c\x52\x1e\x4a\x84\x0a\x45\xf8\x47\xe2\x17\x9a\xee\x88\xc5\x88\x45\x27\x53\x83\x34\x95\x12\x56\x47\x1b\x65\xec\xe3\x8f\x98\x14\x87\x38\xf8\x53\x7d\x7d\xf4\x2e\x2c\x01\x74\xef\x17\x32\x9c\x0e\xcd\x3b\x2d\x9d\x02\x62\x81\xa9\x68\x0e\x2c\x37\x2d\xa9\x78\x50\x74\xe2\xa6\x42\x06\xa5\x59\x63\xf9\x16\x97\x34\x0b\xcb\x89\x83\x0c\xf9\x62\x40\x67\xb1\x5d\x16\x44\x49\xc5\x65\x24\xee\x37\x29\xdb\xcc\xfc\x20\xb8\x19\x40\x99\x0c\x1e\x9a\xc6\xd4\x80\x5f\x8b\x93\x00\xd4\xb7\xe1\x24\xe8\x9c\x54\x53\xe1\x78\xa3\x2d\xc0\x8b\xa6\x12\xb1\x8e\xf2\x82\x42\x67\x50\xcb\x46\x9c\xa5\x69\xc1\xe9\xf1\xe3\x0c\x55\xf1\x39\x03\x96\x09\x41\x9d\x63\x56\xfb\xa4\x57\x0c\x43\xd3\xc9\x29\xd8\x03\xae\xdb\xbe\x99\x01\xb7\x7f\x4d\x9b\xfa\xc4\x6c\x27\xb8\x64\x80\xa3\x4c\x32\x40\x6d\x33\x53\x68\xea\xda\x91\xab\x12\x06\x0b\x92\x70\xf3\x8f\x4d\x19\x36\xbc\x55\xa4\xbe\x61\x18\x9a\x56\x5d\x50\x83\xdd\xb1\xc4\x79\xfa\xd8\x4d\x96\x33\x64\xb7\x83\x5d\x62\x9d\x18\xad\x6c\x9f\xc6\x37\x67\xf7\x27\x61\xa6\x5b\x62\x75\x87\x85\x52\xbe\x87\x2d\x57\xad\xe4\x28\xb9\x3e\x16\xe2\x26\x6a\x06\x88\x7b\xc9\x59\xd7\xc7\xd1\x49\x99\xb3\xaa\xe3\xe3\x34\xf2\xff\x13\x8b\xe6\xa4\xcd\x34\x23\x0b\x8a\x9c\x66\x62\x33\x8b\xbc\x88\xe0\xf5\x8c\x16\x30\x07\x64\x56\x65\x98\x07\x3a\x3e\x29\x73\x40\xc6\x36\x31\x79\xa0\x5a\xe9\xb3\x77\xf1\xa6\x79\xbe\x14\xe0\x3a\x73\x91\xc8\x10\x53\x76\x23\x4f\x9d\xf9\x4c\x45\x99\x76\xc1\xaf\xd2\x8d\x4a\x96\x31\x5d\x64\x2f\x27\x7e\x7d\x69\xc4\x86\x5a\x2b\xb9\xe1\x6f\x52\xf1\x97\x24\xf6\x60\x69\xcb\x38\xd6\x8e\xee\x5b\x46\xcd\x7f\xed\x30\xe3\x20\xbf\x58\xd4\x9c\x4b\xff\x8a\x37\x6f\xf4\x99\x80\x8e\x0f\xb0\x95\xc7\x02\xa4\x23\x6b\x49\xf8\x8b\xec\xce\x7f\xef\xf5\x09\x87\xc9\x44\xe1\xf9\xf1\x30\xf2\xe4\x6c\xa9\x70\x20\x79\xb1\x79\x93\xce\x0a\x39\x93\x8c\x0f\xeb\x00\xf4\x15\xc0\xdc\xb1\x45\xa1\x1d\x56\x57\x55\xe2\x17\xce\xdb\x8f\x0b\x4b\x6a\x3a\xbf\x39\x4a\x8a\x88\x10\xa1\xfe\xa4\x71\xe0\xae\x65\x63\x36\xa4\x8b\xa6\x39\xa7\x9c\xc6\x70\xbf\x13\x5a\xd3\xdf\x47\xef\xe3\x78\xb5\xd9\x63\x94\x7a\xb3\x58\x8a\xa1\x70\xeb\x54\x6e\x93\x95\x03\xc1\x54\xe4\x71\x3c\xb8\xd0\x03\x42\x1c\x29\x23\x4f\xea\x27\xf2\xd6\xb3\x34\x8b\xbf\x2f\x6a\xe5\xc4\x74\x4d\x91\xe4\x1b\x82\xfb\xe8\x82\x90\x82\x23\x10\x92\x1b\x61\x54\x0c\x68\x8b\x4c\xb5\x17\xdc\x74\x9c\xa1\x0a\xdf\x84\x91\x72\x21\x8a\xf5\x4d\x98\xa2\xd8\xe1\x4a\xd1\x95\x92\xa9\x90\x48\x74\xc2\xc5\x1a\xad\x11\x92\xc4\x9a\x1a\x28\x64\xe7\x00\x75\xbc\x61\x7c\x94\xb4\x80\xa5\x88\x42\x90\x67\xd1\xfa\xe1\x17\x5f\x60\x09\x3c\x15\x8a\x85\x1f\x8a\x3f\xfc\x22\xeb\x5b\x41\x1d\xbd\xb1\x34\x61\x7a\x68\xc3\x91\xe3\x3d\x4d\xe7\x3f\x2c\x82\xdd\xf7\x5d\x65\x19\xb1\x93\x60\xaa\x27\xd8\x41\x1c\x89\x55\xd1\x15\x55\xc9\x1d\x0a\x7a\x0f\x52\xf4\x42\x7e\x39\x74\x8d\x57\x34\x45\xe2\x56\x3c\xe2\xb2\x9a\xa0\xb3\x74\x75\xd5\x29\x3b\x41\xc3\x77\x5d\x7b\x1a\x80\xb4\x75\x30\x3e\x04\x58\xf1\x86\x0d\x41\x88\xef\x7f\xf2\x98\xb1\xb1\xc3\x98\x64\x3e\xf3\x31\x47\x6b\xd4\x55\x59\x30\x11\x92\x0c\x33\x71\xf6\xd6\x70\xec\x7b\x71\xc2\xfc\x32\x4e\x94\x9f\x08\x8a\x9d\x99\x36\xb5\xe0\xce\x61\x59\x01\xed\x00\x14\x64\x90\x76\xea\x87\xd5\x30\x0a\x90\x99\xe7\x09\xa8\xe8\x61\xe6\xe6\xa0\x70\x8e\xd4\xf8\x3d\x76\x95\x26\x6b\x92\x44\x70\x26\x56\x9d\xf4\xc5\x3b\x30\x0c\xc9\x63\x05\xbb\x51\x2b\x35\x12\x03\x30\x0f\xc3\x28\xed\x7f\x8c\x66\x66\x4e\x27\xfd\x8f\x7b\x76\x00\x5c\xc7\x63\xa1\x45\xbf\x01\x69\x8a\x9d\x00\x6f\xd4\x1d\x8a\x34\xf5\x1b\xfe\x09\xd4\xe3\x46\x8e\x25\x2b\x59\x9e\x82\xe8\xf1\x42\xa9\x66\xfe\xce\x2b\x92\x6e\x46\x35\x72\xa5\x9b\x51\x29\xc9\x35\x4d\xb8\xe9\xab\xd1\x19\x02\x84\xb0\x72\xe5\xb4\xd7\xfe\x5d\xd7\xf7\x27\xe7\x36\xf4\x1c\x6f\x94\x09\xa6\x49\xfa\xf1\x10\x97\x20\x3e\x87\xf8\x15\x48\x1c\x91\xe9\x32\xcb\xfb\x67\xa6\x6b\x72\xde\x99\xe8\x55\xe9\x8e\xbc\x53\x24\xa5\x53\xee\x98\x34\x12\x41\xcf\xb5\xfb\xe3\x5a\x36\x42\xc1\x1f\x0e\x87\x95\x4a\xa5\x52\x8b\xc2\x7d\x54\x0b\xae\x0d\x47\xa0\x46\xa3\x11\x40\x7b\xe0\xcc\x82\x6a\xe1\xe5\x74\x5e\xe3\x5c\xc9\x5f\x6c\xd4\xa6\xf6\x60\x80\x63\x20\x18\xe5\x0a\x98\x14\x8c\xf2\x06\xfe\x7f\xf4\x9d\x78\x7d\x92\xaf\x90\x7a\x76\xa2\xb7\x35\x81\x83\x68\xe4\xfc\x0b\xe6\x04\x8b\x92\x3d\xf8\x3c\x0b\xc2\x6a\x01\x1d\x6a\xd1\x6b\x1c\xec\x84\x24\x40\x66\x6f\xb0\xeb\xaf\xa4\x16\x7a\x97\xad\x22\xa3\x5b\xd6\x65\x92\xfa\x80\x66\xd8\x65\xb2\xa4\x51\x2d\xea\x80\x13\x3b\x55\x69\x4f\x54\xbd\x9b\x01\xcf\x47\x98\x70\xca\x87\x20\x08\xec\x11\x38\xb4\x3d\x7b\x04\x60\x19\x82\xa9\x6b\xf7\x41\x8b\x25\x3e\x0d\x54\x9f\x87\x40\x4b\xeb\x97\x51\x8a\x6f\xd3\x30\xbe\x5f\xb0\x3d\xc5\x71\xcd\xb5\x2b\xd9\xcc\x22\x73\x65\x18\xe7\xd7\x10\x08\xb4\xf8\xac\x19\xf4\x56\x98\x81\x13\x53\x84\xda\xd1\xe0\x00\x34\x1c\x9d\x32\xce\x67\x99\x25\x54\x5d\x04\x99\x9e\xa2\x39\x25\x32\xa3\x91\x6d\x25\x67\xd9\x1f\xdf\x02\x88\xf8\x9f\xa4\x7e\x32\x5a\xf3\x3e\x79\xcd\xad\xf7\xa8\xa3\x49\xd6\x98\x2b\xb7\xfc\x9a\xe7\x6b\xa5\x57\x70\x6a\x25\x9a\x1b\xd3\x39\xbf\x5c\xe7\xf3\x12\x59\xb1\x5f\xb9\x3c\x73\x96\xa1\x60\x9d\xc9\xbd\xf3\x0b\xe6\x4b\x63\x12\xb0\xc0\x0d\xb2\x55\x27\xf3\xd1\x4f\xd5\x56\x04\xe4\x58\xce\x97\x19\xa0\xd3\x60\x0a\x01\x2a\x19\xd9\x7d\xe8\xa0\x1c\x84\xfe\xf4\x3d\xf4\xa7\xf6\xc8\x26\x87\xc6\x93\x8e\xee\x8d\x52\xaa\xc7\x27\x66\xbe\x38\x56\x3a\x6e\xc2\xd3\x37\x5f\x46\x2c\x85\xb5\xfc\xca\xcc\x42\xe0\x37\x1c\x20\x6d\x21\xbe\x5c\x96\x5f\x6c\x88\xa8\x2f\x5e\xda\x99\xf5\x9c\x58\x1e\x54\xdb\x83\x7d\x84\x1b\xae\x03\xf8\x18\x53\x78\xc1\xe8\x8e\xf8\x65\x12\x8a\x0c\xe7\xd0\x9f\x5a\x2a\x64\xba\x38\x87\x89\x5b\x9e\x55\xb8\x20\xef\x82\x6a\x2e\x18\x86\xa8\x1e\x51\x70\x38\x29\x93\xf1\x85\x71\xf2\x29\xf8\x5a\x6c\xd5\x9d\x40\x30\x16\x54\x67\x6f\xba\xa9\x22\x9a\x4e\xd3\xdb\x84\xec\x36\x96\x2a\x20\xe1\x76\x16\x0c\xa0\xa2\x7f\x23\x20\x7e\x8f\x95\xbe\x4a\x6c\xae\xa9\x91\x12\x34\x8c\xb9\xc9\x25\x66\x1c\x91\xfb\x3f\xe9\xe1\xe3\xa3\x89\x05\xe9\x32\x87\xcd\x64\x6e\xcd\x48\xb1\xec\x93\x37\xbb\xd0\x9f\x44\x79\xe5\x53\xee\xcd\x52\xe5\xaa\x3f\xbd\x27\xd6\x5b\xa7\x7e\x54\x37\x2b\x1c\x13\xe4\x99\x89\x33\xdd\x7b\x7e\xe8\xf4\x01\xba\x45\xa5\x23\x29\x70\x47\x0a\x17\x9a\x8a\xc9\xf0\x1b\xfe\xf4\x9e\x9d\xea\xa8\xdb\x98\x0a\xfc\x45\x4b\x7a\x68\x4c\x21\x50\xb4\x5a\xc8\x31\x85\xa8\x1f\xa5\xd0\xe7\xb0\x0a\xfc\x19\xec\x03\x74\x15\x48\x6d\x02\xe9\xa3\x45\xb8\xe1\xe3\x68\x46\xd9\x6d\x1c\x3f\xce\x0d\xee\xb1\x44\xcc\x8e\x44\x70\x52\xd9\x05\x5a\x77\x2c\x58\xb6\xbd\xfe\x35\xb9\x69\xea\x41\xf4\xf3\x18\x0b\x09\x74\xcf\x82\x24\x76\x03\x7e\x6d\xb3\x5f\xe4\x6d\x0d\x96\x09\xca\x75\xd7\xc5\xad\x42\xe0\xa9\xa1\xa6\xfb\x64\xc0\x59\x33\xdc\x98\xa7\xe7\x8b\x0e\xcb\x60\x1e\x02\x6f\xb0\xba\xaa\x62\x0b\x5e\x7c\x8d\x57\x1d\x3d\x88\x5f\xa9\x9e\x6e\x6b\x9a\x1e\x4a\xd9\x8f\x1c\xc3\x98\x18\x87\x44\xa0\x03\xa9\x88\x2a\x60\xe5\x6b\xce\x50\x25\x57\x1e\x7c\xb4\x71\x22\x06\x8d\x73\xf9\x63\x11\x26\xca\x41\x68\xc3\x90\x92\x0c\xb2\xdf\x08\x53\x9c\x5f\xec\x43\xa9\x75\x7c\xae\xac\x58\x10\x7b\x95\x1c\xd9\x13\x80\x25\xed\xca\x1f\xe2\x48\x82\x16\xf7\x7c\x75\x55\x69\xbf\xaf\x1f\xe1\x67\x5c\x77\xe3\xd7\x2a\x4c\xbc\xc1\xb1\x23\x20\xb8\x75\xfc\x59\xd0\x76\x7a\xae\xe3\x8d\x6a\x1a\x2e\x92\x7c\xa8\x87\xc5\xac\x8b\x6f\xec\xe2\x02\xa9\xf3\x73\x5e\x19\x50\x06\xde\x00\xb7\x59\xc2\x5f\xe9\x14\xe0\xfb\xa7\xa2\xae\xb3\x52\xbf\x93\xbe\x7a\x60\x1e\x26\xfa\xc9\x3d\xd0\x83\x65\xfa\xe8\xf1\x01\x38\x68\x8a\x69\x32\x5c\x2d\xff\x2e\xd2\x54\xe8\xb8\x1f\xfc\x93\xa2\xa9\xb1\x58\x21\x9c\x23\xb5\xe3\x8d\x54\x4f\x0f\xf5\xa4\x13\xbb\xa7\x95\x82\xdc\xad\x50\xb0\x32\xe4\x5e\x6f\x89\x39\xac\x6a\xd4\x65\x93\x31\xe9\xc2\xad\x55\xee\x15\x46\x4f\x89\x74\x3a\xc2\xf4\x3e\x2a\x56\xc9\x14\x95\xb9\x22\x09\x3f\x2f\x6d\xcf\xeb\x9c\x46\x19\xe5\x85\xf9\xa7\x52\x49\xe7\xbf\xd5\xaf\x99\x1a\xac\xfa\xc9\x16\x49\xc9\x28\x81\x26\xce\x73\x4e\x82\xa8\x4b\xd0\x9d\x02\xef\x0c\xba\xa2\xcc\x53\xfd\x6b\xe8\xa3\x59\x99\xf8\x59\xee\x41\xff\x2e\x00\x70\x33\xf9\x13\xc3\x39\xb5\x7b\xea\x97\x19\x74\xab\xe0\x49\xab\xd2\x5a\xe8\xb9\x0a\x74\xe5\x53\xcf\xb5\xbd\xb1\xa2\x2d\x88\x8b\x83\x8a\x93\xe1\x07\x83\x33\xe8\xca\x84\x92\x82\x49\xe2\x0c\x55\x9a\xd9\x0f\x3c\x3e\x26\xed\x53\xc0\x7c\x6a\x7b\x83\xf8\x10\xc8\x3d\x20\x18\x03\xa5\x4a\x9b\xd2\x34\x6d\x75\x75\x45\x05\x54\x1c\xff\xa6\x62\xac\xbf\x7c\x7c\x04\xe5\x00\xd8\xb0\x7f\xad\x3e\xbb\xfc\x18\x7c\xbc\xfc\x78\xa5\x6a\x5f\x9e\x5e\xbf\x51\xbe\xfb\xf8\xf1\x57\x3f\x5c\x3d\xd3\xde\x58\x86\x46\x02\xfc\xb0\x82\xca\xaf\x2e\xed\xd2\x43\xbd\xd4\xbd\xa2\x9f\x46\xe9\x55\xb1\x5c\xba\xfa\xbe\xfa\xec\x99\xa2\xbd\x36\x34\x26\xfe\x24\xa1\x09\x54\xa5\xaa\xe8\xa6\x76\x69\x5c\x11\x71\xa8\x32\xb1\x1d\x37\xf4\x95\x6a\x52\x94\x07\xd0\xd1\x1d\x4e\x11\x8c\x22\xa0\x57\x11\x32\xc6\x68\x8d\x48\x27\x2d\x09\x36\x9a\x11\x49\xa1\x6b\x8f\xdf\x07\x41\x00\x06\x5b\xf7\xac\xe2\x5b\xdb\x1b\xb8\x00\x7e\x62\x1a\x5f\x7a\x5b\x05\x43\x60\x87\x87\x71\xda\xba\x80\x4d\xed\x64\x36\xbb\x95\xfc\x6c\x76\xe4\x1c\xca\x69\xd5\x5a\x31\x74\x50\x66\x81\xf2\x5a\xfe\x9d\x15\x49\x2e\x54\x50\xee\x63\xae\xff\x22\xcb\x7a\x0b\x74\x06\xda\xb3\x05\x62\x0e\xba\xd2\x8b\x26\xd7\x20\x35\xa5\x8d\xda\x64\x4d\x7e\x58\x04\x8c\xe8\x78\x8b\xa6\xbe\xc2\x5f\x32\x2d\x0b\x94\xd1\x10\xac\xae\xa6\x9b\x78\x23\x56\x12\x2f\xd2\x31\xae\xae\xae\x20\xd6\x3f\x41\xa1\x92\x69\x2d\x32\x8f\xcb\xb6\xbf\xa8\x12\x51\x6f\x6c\x2e\xd2\xf8\x60\xcd\x51\xf5\x67\x54\x20\x69\xba\x90\x7c\x2a\x28\xdb\x6e\x78\x00\xee\x1f\x1f\x57\x42\x96\xd1\x2b\x3b\x25\xd1\xec\x61\x5a\xa2\x74\xb6\x78\x75\xc5\x88\x8c\xb3\x84\x55\xcd\x34\x13\x9a\xdc\x3a\x22\x76\xee\xd4\xdf\xf1\x06\x7c\x10\xe3\x4c\x43\x26\xe2\xb1\xd2\x12\x05\xb4\xa7\x6b\xdc\x2c\x4a\x44\x7d\x03\xde\xc8\x1e\x81\xc1\xe3\xa3\x68\xf6\x6c\xca\x22\xd6\xb1\x6a\x71\xb7\x65\x31\xf6\xd0\xc5\x37\x5e\x3e\x1b\xdc\x75\x57\x5a\x05\x5f\x7a\xa3\xf9\x4f\xeb\x68\x55\x2e\xd6\x1d\x37\x3c\x5f\x47\x39\x31\x71\xae\xe3\xb8\xc8\x2a\xa0\x7a\x4b\xc4\x8e\x45\x81\xf4\xe2\xf6\x22\x56\xe1\x98\x9e\x27\xe9\x00\x39\x5f\x79\x28\xc4\xac\xc7\x12\x4c\xbe\xc6\x62\xfc\xc5\xf8\xac\x00\x12\x78\xea\x00\xdc\xe3\xb9\xda\x0f\xa1\x8b\x27\x2b\x28\x4f\x40\x68\x1f\x80\x7b\x66\xce\x5a\xc8\xd3\x66\xd3\xad\x9c\x57\xea\x67\x5e\x5a\x99\xb0\xc8\xa9\x43\x35\x63\x60\x86\x79\x5a\xe1\xa2\xc2\xf5\xc9\xe6\x8d\xb6\xc2\x06\xea\x15\x4e\xd4\xbb\xba\x5a\x41\xc5\x48\x56\x61\xd4\x0b\xf2\x8d\xae\xf0\x74\x42\xdf\x28\xb3\x23\xbe\x50\xab\x5a\x32\x3b\x2d\xe2\x29\x95\x86\x3f\x73\x07\x05\xcf\x0f\x0b\xb8\x4c\x61\x62\x7b\x33\xdb\x75\xef\x0b\x83\x19\x28\x84\x7e\xe1\x0e\xf4\x0a\x10\x20\x0e\x14\x53\x3f\x88\x37\x82\xd9\x94\xc3\xd8\x88\xb1\x12\x4e\x82\xb4\x2d\x5c\x6a\x1e\x66\x35\xab\x4b\x5f\xec\xb8\x69\xbf\x12\xa1\x13\x61\xc8\x1e\xa1\xdd\x69\xe1\x0a\x5f\xb8\x98\xcd\x25\x16\xb3\x42\xee\xcd\x09\x8b\x1e\x1c\xa5\xb2\x0e\xa1\x7f\x87\x18\xc6\x4f\xa9\x69\x99\x64\x1d\xed\xe9\xd4\xa5\x36\x7c\x44\xb7\xc5\x88\x97\xca\x46\xaf\x6a\xab\xab\x0a\x0e\x9b\x1e\x0d\x43\xd2\x25\x2e\xc3\xd8\x62\x2c\xb6\x81\x1b\xda\x2a\xd0\xa8\xb5\x7b\x30\xb1\x61\xb8\xeb\xfa\x3e\xdc\x76\x6e\x9d\x01\x20\x76\xcf\x76\x2f\xe0\x9d\x06\xf3\x8f\x69\x3d\xb0\x94\x3f\x38\x56\x8a\x2a\x7c\x6d\x6c\x2a\x5b\x4a\x55\xa9\x2b\x54\xd0\xe7\xf8\xe5\x00\x78\x03\x16\xd5\xa9\x0c\xc1\x14\xd8\xa1\xea\x6b\xa2\x9d\xe6\xe9\x49\x30\xaf\xbe\x62\xda\xe4\x1d\x20\x72\x53\x48\xba\xaf\x25\x38\x30\x69\x51\x3e\x38\xb9\x2c\x0f\xa9\xc8\x72\x81\x06\x61\x07\xb2\x88\xb1\x2b\x34\x65\x3d\x01\x23\x35\xe7\x94\xa1\x45\xe4\x9a\x9f\x04\x71\x31\xbf\x3e\x0d\x84\xef\xe1\xfd\xe3\x93\xc8\xa1\x1a\x8b\x9e\x98\x62\x4b\x7d\xf6\xd1\x7b\x36\x9a\xe8\xca\x47\x88\x86\xdb\x12\x5e\x80\xc2\xb4\x11\x58\x0f\xda\xfd\x31\x08\xc1\x80\xee\x66\x6a\x68\x29\x7f\x70\x59\x31\x8c\x5f\x2b\xc5\xb0\x88\xbf\x9a\xbf\x56\xe2\x4b\x16\x37\x7d\x72\xae\x7e\x0d\x7f\x7a\x2f\x18\x90\x59\x00\xe8\xec\x22\xc9\x7e\x51\xb1\xc7\x47\x55\xa0\x53\x48\x6f\xdd\xb2\xdd\x87\xdf\xc2\xe5\x82\x4d\xdf\xa3\x29\x38\xb3\xd7\x28\xce\xf9\x21\xb3\xba\xa2\x9c\x02\x34\x5f\xe6\x72\x9c\xed\xe3\xa3\x41\xfd\xe8\x32\x6b\x59\xde\x82\xdc\x54\x51\xb8\xc4\x1f\x1f\x8d\x1a\x76\x4e\x00\xaf\x2d\xe3\xf1\x31\x7c\x8d\x2f\x55\x64\xb3\x91\x65\x38\x7d\x7c\x94\xe6\x32\x4d\x98\x66\x46\x99\x69\x19\x32\x29\x75\xbd\x6a\xae\x2c\xb2\xda\xe0\xd4\xa2\x3a\xa4\xab\x88\x93\x3f\xa8\xb9\x81\x9a\xf3\x17\x89\x7c\xca\x71\xc6\x72\xf2\xc8\x45\x9c\x89\xdb\xe6\x57\x1a\xf1\x3c\x3e\x2a\x86\x9c\x73\xa7\x12\xf7\xcd\x85\x06\x86\xcc\x3c\x50\x68\x76\x97\x61\x59\x26\xf7\xc7\x89\x9e\xf1\x26\x59\xf8\x49\xe3\xbe\xef\x82\x4f\xe8\x32\xcc\x38\xf6\x5c\xe3\xc6\xdf\x45\xdb\xe6\x55\xca\x34\x5f\x08\x5e\x6e\x45\x9a\x4e\x6d\x22\x13\x16\x45\x8e\x1d\x99\x5c\x28\x52\xa1\x57\x4e\xe6\x93\x25\x5b\x11\xa4\x4c\xc9\x49\xe1\x24\x3c\x28\x32\xb3\x51\xec\x54\x20\x0a\x7d\x4d\x61\xaa\xda\x13\xe7\x5e\x91\xad\xca\x72\x2e\x3d\xe9\x4e\x19\x86\x03\x30\x55\x15\xd7\xe9\xd1\x3d\xff\xec\x74\xf7\xa5\xa2\xf1\x18\x37\x8f\xb3\x9d\x67\x77\xde\x28\x10\x1f\x93\x23\x37\x8f\x89\xa2\xe9\x29\x09\x61\x29\xc5\x7e\x12\x72\x42\xcc\x98\xf1\x10\x4e\x80\x24\xfa\x98\x5d\x68\x27\x22\x9f\x20\x90\x4c\x06\x8f\xf3\xe6\xe1\x02\x6a\xb2\x15\x3d\x1f\x32\x4e\x8d\x4f\x5e\xbc\x87\xfe\xd0\x11\x4d\x37\x0e\x63\x10\xd2\x52\xe9\x51\x4f\x00\x9d\xce\x82\xeb\xec\xd1\x42\x70\xe4\x6a\xa4\x30\x8d\xc4\xca\x20\x3a\xa6\x1b\xf6\x34\x9c\x41\x30\xf8\x94\x3c\xbd\xa3\xc7\x3a\x0b\x0a\x46\x62\x2d\xd3\xa3\x31\x7a\xa0\xe3\xb8\x3e\xdc\x3b\xf6\x8b\x72\x77\x6c\x3c\x53\xbd\x74\x7c\x3d\xf3\xc4\x02\x3a\xc8\xe9\x70\x32\xe2\x62\xb6\x76\x7a\x0a\xe5\x0d\x08\x63\x28\x12\x03\xc1\xee\x45\xae\x3f\x52\x95\x33\xef\x1a\x0b\xbd\x06\x85\xb8\x34\xc9\x9f\x2c\x87\x2b\x97\x3f\xa7\x40\xfb\xbd\x00\xc0\x5b\x00\x07\x85\xce\x69\x61\xcc\x6a\x20\xf0\xfb\xed\xe3\xa3\x32\x91\xf5\x3b\xc3\xfb\x8c\xf0\x38\xd5\x5c\x2a\xdb\xb7\x34\x38\x38\x22\x4d\x0d\xd6\x34\x98\x18\x4a\x40\x52\xfe\xd2\xb1\xd3\x79\x4d\x4e\xf3\xf8\x13\xb3\x08\x4f\xb6\xb1\x60\x11\xa5\x8b\xa7\x30\x92\x57\xc4\x01\x8b\xd0\xb6\x21\x34\xe9\xe7\xc7\x99\x70\x02\x24\xf3\x35\x9f\xee\x1a\x87\xfe\x25\x39\x53\x1c\xcf\xee\x87\xce\x2d\x28\x34\x8f\x0b\x7e\xef\x33\xe8\x87\x65\xa5\x96\x06\xc4\x25\x4c\x5b\x80\x96\xeb\xfd\x3b\x42\xac\xa8\x7c\x84\x38\xce\xba\x7c\x51\xe0\x78\xc7\x8b\x88\x6a\x3e\xcf\x6e\x38\x11\xc1\x55\x87\xdb\xb4\xf3\x27\x1c\x6e\xcd\xf5\xf2\xdb\xc3\xd4\x92\xb6\x48\x68\x29\x68\x33\x71\x8a\x60\xfb\x99\x80\x9e\x20\xbc\x8a\x4d\x90\x98\x2e\x4a\x0b\x46\x0f\x91\xd8\x0c\xa7\x8d\xd5\xe5\x64\x5f\x68\xb7\x1a\x9f\x68\x18\x3f\x7a\xaa\xc5\xf9\xe4\xf2\x8a\xc5\xd0\x48\x81\x44\x28\xc0\x34\x24\x69\x11\xaa\x20\x88\x5d\x30\x2d\x05\x8e\x7a\x6a\x65\x63\x43\x2f\xb0\xff\x69\x4a\xa2\x6c\xec\x49\x4a\xca\x1a\x7a\x01\xfd\xc7\x4a\xf5\x7c\x37\x96\x45\x0c\x6d\x34\x0b\xd8\x2f\x27\xb4\x5d\xa7\x1f\xfd\xec\x91\x64\xae\xf4\xd7\xcc\x1b\x00\xe8\x3a\x1e\x17\x5e\x38\x84\xce\x18\xa0\x59\x3b\x1b\x5d\xc7\x40\x3c\xec\x96\xc6\xff\xa6\x9c\x12\x7b\x92\x8a\x52\xcc\x87\x23\x66\x1c\x9f\x0b\xb6\xed\xd0\xe6\x22\xf3\xf6\xb9\xa4\xae\xdc\x63\x41\xc2\xd7\xa7\xcc\xd0\xf3\x11\xeb\xb0\x28\x77\x0b\x93\xc0\x58\xae\x60\x3d\xd8\xc2\xc6\xaa\x0b\x2a\x24\xc6\x8e\xf8\x5c\x13\x33\x0d\x6f\x36\x51\x15\xc1\x84\xe4\xea\x72\x73\xc7\x52\xe8\x28\x2a\x8b\x2a\xb4\xf6\xb6\xf0\xf8\xe6\x16\x0c\x44\x49\x33\x04\x0b\x20\x97\x68\x38\xce\x99\x9c\x63\xe0\x6b\x61\x65\x1e\x17\xd6\xaf\xe0\x10\x97\x29\x0d\x5c\x86\x57\x78\x92\x5f\x86\x57\x31\x27\x91\x18\xd5\xcc\x38\x97\xfb\xbe\xd7\xb7\xb1\xd1\x5e\x2e\x7e\xe2\x64\xd0\x7f\x19\x57\xf3\x5f\xea\xb5\xb7\x98\xc6\xfc\x42\xcb\xfa\x96\xf3\x2f\x1d\xba\x11\x4b\xc6\x93\x74\x01\x5d\x99\x71\xa9\x05\x8b\x36\x0a\xdb\x25\x0b\x1b\x93\x19\xea\xcc\x20\xd2\x6b\x7d\x66\xb0\x05\x05\x57\xa2\x91\x62\xdf\xf1\x40\x45\x72\x54\x3c\x4e\x51\x31\xe2\xcb\xb6\x92\x1c\xa5\x28\x0c\x19\x3f\x48\x11\x00\x32\x46\xdc\xcf\x58\x05\x18\x8f\x10\x45\x38\x1a\x9f\xd5\x55\xb4\xb2\x28\xbe\x6c\x7f\xcc\x5f\xb5\x78\xfb\x69\xf8\x5e\x68\x3b\x5e\xea\x06\xc9\x98\x10\x3e\x20\x9a\x30\x91\x4e\x3a\x11\x08\x58\xce\x24\x2d\x98\xda\x9e\x42\x62\xf3\xe1\x4b\xbd\xee\x58\x97\x57\xb5\xd4\x58\xad\x08\x96\x09\xb3\xaf\x62\x56\xb2\x71\x69\x2d\xbd\xc8\xa4\xd5\x85\xe6\xb6\xf1\x43\x0a\x28\xde\xe0\xd9\xdc\xc0\x5f\x55\x88\x4d\x6c\xcf\xa9\x63\x0d\x7a\xc8\xe4\x89\x74\x1a\xa8\x21\x5b\xb9\x51\xf8\x31\x3a\x25\x68\x5d\xea\xc9\x43\x9e\xb2\xca\x74\xa2\xa8\x0e\x4d\x82\x13\x67\xcb\x43\x25\xc8\x6b\xba\x0e\x69\x5e\x0e\x4b\x51\x12\x59\x7f\xb8\xd9\xa5\xfa\x45\x4b\x29\x44\x0f\x14\x3d\xe4\x77\x88\x28\xf6\x60\x72\xf6\x91\x4a\x38\x2b\x0f\x7d\xa6\x60\xf3\xbf\xc4\x3e\x62\x68\xba\x8f\x3b\x12\x82\x79\xb8\x4d\x32\xf4\x3a\xbe\x67\xf9\x9a\x9e\x98\x9c\x51\x3f\x68\x32\x4a\xdc\x09\xb6\xb7\x18\x7a\xc8\x6f\x2c\x26\x33\xce\x48\xcc\x5d\x0e\x06\x7a\xa4\x68\x3a\xff\xf3\x13\x35\xe0\x61\xa5\x11\x78\xf4\x9d\x91\x48\xc7\xc2\xdf\xa4\x31\x23\x82\x10\x67\x64\xe1\x52\xee\x39\x34\xc9\x50\x01\xc7\xde\xc8\x5d\x34\x13\x3b\xec\x5f\x83\x40\xba\x6a\x14\x72\xc1\x52\x2c\x0b\x15\xf7\x87\x05\xf0\xf8\xb8\x66\x59\xc4\x1c\xec\xf4\x7e\x9a\xf4\x13\xe6\x96\x17\x67\x82\x77\xef\x02\x3a\xb0\x2b\x2a\x47\xd4\xc7\x47\x10\x7d\x4b\xae\x7d\x4a\xb9\xe8\xf7\xe3\xa3\x80\x9e\xa8\x3a\xa3\x10\x05\x90\x58\x6a\x64\x55\xd1\x37\x89\x55\x94\x5e\x30\x4c\x95\x25\x5c\x21\xda\x8a\xb5\xb2\x12\x72\x6b\x84\x41\x44\x13\x78\xc5\x02\xf1\x4c\xa6\x2f\xc8\x32\x88\x6b\xe1\xd5\xf1\xf8\xb8\x92\xda\x32\x51\x01\x10\xff\x8c\x0a\x24\xe6\x27\x29\x94\x78\x94\x7f\x72\xc4\x79\xba\x03\x91\xb0\x27\xcb\x5c\x03\x19\x27\x1d\x7e\xe5\x99\x15\x17\x94\x18\x43\xa5\xcf\x2c\xe6\x65\x9c\x3e\xa2\x98\x57\x71\x92\x9b\xf0\x05\x0f\x23\x4f\xf0\xe8\x84\x61\xd6\x50\x19\x98\xa1\x04\x07\x66\x86\x9b\xee\x3e\x6b\x2f\x43\xb0\xcc\x66\xca\xb8\xe5\xc4\xa6\xca\x66\x70\xe2\x9c\xe5\x1f\xb6\xf6\xb6\x30\xb6\x82\x38\x61\xe0\xf5\xcb\x4d\x50\x7c\x59\x05\x4f\xe8\xb6\xa7\xa7\xcf\x4c\xd4\x45\x29\xda\x9a\x9e\x6d\x24\xcd\xcd\x09\x78\x80\x4d\x58\xcd\x70\x34\x97\xe0\x2a\x79\x0c\xa4\x4e\xef\x44\x6c\x77\x0e\xbc\x60\x9c\x36\xc5\xa4\xac\xa6\xaa\xa6\x8f\xcb\x98\xa7\x9a\x38\x73\x35\xd0\x53\x77\xbb\xf2\xda\xda\xda\x9a\xf6\x14\x8a\x3b\xcc\xf3\xa6\x82\x0e\xfb\x82\x0e\x87\x57\xa2\x19\xde\x67\x3b\x63\x70\x88\xb6\xca\xac\x6f\x54\x76\x87\xd4\x22\xc3\x7c\x19\xac\x66\xb4\x4f\x86\x1a\xb1\x24\x63\xdb\x29\xda\x9e\x52\x5b\xeb\x8a\x89\x8a\x88\x36\xdd\x15\x83\xda\x92\x83\x88\xeb\x08\x13\xfb\x6d\x81\xf1\x16\x8c\x96\xab\xab\x59\x76\xc1\x72\xd2\x8f\x50\x29\x8e\x29\x40\x97\xbb\xe8\x17\x7b\x47\x0e\x7d\xfa\x0a\xff\x40\x6f\x52\xa7\xa8\xe5\xa4\x9e\xe4\x11\xb8\x99\xe5\x7a\xa3\x55\xb1\xf0\x18\x12\x00\x8e\x4c\x8c\x85\xab\x2c\x3e\x5d\x36\x01\x7f\xac\xd2\x13\xb5\x9a\x4a\x7f\x95\x48\x01\x28\x69\xac\x8d\x4d\x8f\x33\xe9\xbd\x16\xb6\x48\x73\x3f\xa1\xc2\xd5\x44\x32\x28\xbe\x14\x86\x95\xdb\x70\x52\x46\xfb\x55\x6d\x63\x7d\x71\xaa\x79\x1c\x0f\x7d\x19\x0c\x04\x19\xa9\x24\x69\xc5\x2e\xaf\x74\x68\x19\xba\x6f\x19\x7a\x40\x92\x70\xe1\x18\xd3\x2c\x2e\x0d\xd9\x52\x6c\x0b\xdd\x9b\x06\xe0\xbd\xef\x78\x61\x3d\x54\x3d\x4d\x77\x2d\xfb\xb5\xf5\x7c\x63\x63\x6d\x63\xd3\xac\x56\x6a\xf6\x6b\xb3\xf2\x72\xd3\x2f\x5a\x2e\xc1\x17\xb5\x4b\x86\xc9\xd6\x5e\x5b\xe6\x26\x62\xfc\x5c\xd4\x82\xa9\x55\x55\x1f\xf3\x46\x98\xd1\xfa\x12\x84\xb0\x0a\x18\x75\xa1\xee\x6b\x7a\x44\x96\x6a\xf0\xa4\x61\xa4\xb0\x43\x43\xb6\xb4\xa7\xbb\x9a\x4e\xb8\x95\xea\x8a\xc1\xd5\x5b\x31\x9f\x10\xdf\xef\x15\x5d\xd4\x2f\x4d\xf7\x8a\x96\xcb\x92\x3d\xfa\xab\xab\xcb\x36\x1d\x8a\xc5\x7a\x3a\xfe\x31\xa4\x9f\x67\xa7\xbb\x2f\xd1\x5a\x1a\x00\xa8\xe8\xc4\xf5\xa5\xdc\x39\x2d\x37\x98\x76\xf7\xd0\x9e\x62\xb9\x4b\xe7\x54\xae\x35\xb1\x80\x1e\x5b\x71\xe0\x37\xb1\x20\x3a\x9b\xca\x1f\x17\xe0\xac\x62\x49\x0d\xa1\x45\x2c\xd5\x4b\xd9\x30\x00\xed\xd0\x0e\xc1\x27\x2a\x2f\xe9\x9c\x96\xdf\x47\x0f\xd5\xb8\xd0\x99\x37\xf6\xfc\x3b\x8f\x65\xab\x75\x81\x3d\x70\xbc\xd1\xa1\x3f\x70\x86\x0e\x80\x9f\x2c\x85\x69\x43\xa1\xed\xb8\xc2\x37\xb6\xeb\xfa\x77\xc4\x0a\x14\x0f\x3f\xb1\x34\xe1\x2c\x20\xfd\xa0\x7f\xea\x4c\xc0\x3b\x67\xe2\x84\x9f\xac\x0a\x58\xa7\xc2\x85\x70\xc8\xc8\x48\x90\x74\x78\xca\xf2\x07\xfc\xcb\x2d\x07\xcf\x7e\xe8\xbb\x11\x50\xf2\x26\x32\x71\x38\x87\x4e\x18\x0b\xf2\xc8\xcb\x6d\xd0\x37\x2b\x51\x85\x48\xf9\xbe\xe3\xf5\x7d\xd4\x47\x4b\x99\x85\xc3\xd2\x4b\xda\x8b\x89\x3d\x27\x8b\x06\xc7\x65\xf3\xfa\xc0\x32\x8d\x0a\xc5\xf4\xce\x86\xde\x99\xe7\x4c\xa6\xe4\x9e\xc9\x19\x48\xf6\xb9\x31\x0f\x62\x4a\xf3\x53\x21\x20\x25\xf7\x0c\x32\x68\x7b\x26\xfd\xac\xd0\xcf\x35\x2b\x0b\xa9\x3c\x02\xe1\xa1\x3d\x55\x95\x2d\x76\x8f\xdb\x7b\x67\x29\x7b\x4c\x33\xbd\xd7\xe2\x7e\x90\xce\xb4\xef\x83\x10\x4c\xce\xc2\xe1\xcb\x98\xee\xfc\x9b\x77\x7e\x7f\x0c\x06\xdc\xbb\xbe\xf9\xde\x0e\x43\x00\x3d\x3e\x0f\xd9\x6c\x3a\xc0\xa2\x43\x5a\x13\xcf\x9f\x48\x6c\x62\xdf\x82\x41\x7a\x4a\x11\xcd\x77\x3c\xa7\xf0\xc6\xd4\x39\xe5\x18\x52\xe1\x24\x45\xbb\x4f\x4e\xb1\xc6\xbb\x66\xe3\xc0\x32\xf3\x41\xb5\xea\x7b\xd6\x9a\x9e\x9a\xd8\x79\xdc\x36\x7d\xc3\x78\xed\xde\x6c\x68\x85\xe4\x4a\x43\xd7\x8c\x1f\x58\x74\x58\x11\x14\x56\xce\x86\xa3\xc0\xba\xbc\x7a\x4a\x37\x25\x17\x04\xb2\xb5\x8e\x1f\xe3\x0a\xbb\x11\x2b\xce\x89\x8f\xb7\x66\x43\x15\x3c\x3e\x46\x51\x6e\xf0\xc3\x3a\x1c\x61\xd1\x06\xe5\xf3\x73\x5b\x4c\x80\xce\xca\x21\x51\x1f\x44\x04\x58\x08\x77\x6b\x36\xcc\x76\x06\x91\x2b\x7b\xfc\x6f\x82\x6a\x8a\x80\x0b\xa1\x47\x3d\xcc\xb6\x81\x48\x1d\xa9\xe9\x49\x32\x20\x63\x05\x9b\x98\xa9\xd1\xfb\x4b\xe3\xca\x02\xb9\xb4\x71\x6c\x38\x92\x87\x2b\xc7\x30\x00\x4e\x6a\x14\x65\x32\x8d\xcc\xf3\xa1\x6e\x1a\x91\xc2\xd9\xb0\x2c\x67\x75\x55\x75\xac\x50\xd3\x1d\x76\x96\x84\x79\x2d\xdb\x83\x5b\xdb\xeb\x0b\x74\xe5\x53\x3f\x28\x12\x61\xb7\xac\xea\x14\x80\x71\x0b\x4c\x6c\xc7\x73\xbc\x51\x62\x00\x92\x22\xc7\xde\x6c\x18\x31\x2a\x14\x72\x2e\x31\x10\x5c\xb4\x1b\x7d\x05\x3c\xdd\xcc\x85\xd8\xf7\xbd\x60\x36\x01\x5f\x09\xb4\x58\x5c\x00\xd6\x09\x1a\x3e\xda\x60\x85\xbe\xb5\x9c\x0c\xb2\x37\x1b\xb2\xab\xff\x6c\x48\x27\x0b\x4d\x40\x35\xf5\x03\xda\x02\xb7\x2d\x65\x07\xe3\x36\xd6\xbc\xa1\x3d\x2d\x5a\x68\x5c\x25\xfe\x42\x6d\xdf\x0a\x64\xce\x24\x14\x0c\x03\x17\x9d\xea\xc9\xa4\x17\xf4\xc0\x4f\x68\x03\xb3\x55\x46\x20\x4c\xe9\x32\x34\x96\xe1\x25\xda\xfa\xa3\x5a\x7b\xef\xa2\x13\x20\x7e\xd6\x4a\x9e\x30\xf8\x19\xdd\xc8\xd8\x69\x83\x9f\xd1\xad\x9f\x9d\x3c\xf8\x59\x45\x4f\x9c\x42\xf8\xd9\x5a\x2e\x41\x68\x0c\xc0\x0c\x4d\x12\x9d\x4a\x05\x0a\x8c\x69\x46\xfb\x94\x24\x5a\x86\x02\x02\xca\x31\x9a\x70\x00\x18\x61\x18\x51\x08\x31\xe8\xb3\x16\xf7\x8c\x1d\xbd\x06\xf7\x8c\x1d\xc3\x26\xf7\x8c\x1d\xc9\x15\xee\xd9\x1a\x3b\xa6\x33\x27\x9b\x58\xfd\xc3\x1a\x5b\x74\x9e\x9b\x79\xc5\x8c\xa8\x58\x65\x39\x68\x3f\x95\x89\x58\xee\x70\xff\x1a\x3e\x34\x43\xae\x34\x7f\x2b\x54\x0c\x64\x3d\xbf\x84\xc0\xa9\x6d\x2f\xba\xc6\xd4\x12\xae\x12\xf0\xd1\x5a\xd7\x74\x35\x72\x93\xa0\x5b\x45\x34\xd5\x62\x7b\x75\x37\x6c\x06\x87\x20\xb4\x57\x57\x99\x2b\x90\x46\xea\xbf\xd4\xf4\xc8\xe1\x82\x3c\x31\x9f\x33\xd1\x38\xe1\x10\xcb\x43\xe8\x4f\xd0\xfe\xd7\xc0\x09\xea\xe3\xac\x11\x29\x9f\xa8\xe2\x5a\x45\x5f\xab\xe8\x95\x8d\x0d\x0d\x5d\x6a\x96\xad\xdc\xf2\xef\xf8\x9a\x51\x5c\x33\x6a\x2c\x8f\xbd\xf9\x88\x05\x7d\xd5\xb3\x5e\x3d\x2f\xaa\x25\xf3\x7b\x9c\xc0\x26\xb4\x2f\xde\x18\x9b\x46\xd5\xd4\x74\xef\xd1\x82\x3a\x36\x52\x3e\x54\x8a\xa2\x86\x3d\xad\xe8\x17\x03\x81\x3d\x3b\x17\xa0\x8c\x73\xf2\xa8\x12\xdf\xe0\x38\x85\x11\xf5\x9a\xd0\x2b\x5a\x71\xad\x52\x5b\xb2\xb9\x0c\xec\xd9\x54\xa9\x92\x6a\x7f\xa8\x08\x0b\x60\x07\x89\x6a\x66\xda\x89\xa6\x46\xab\xbe\x87\xc6\x92\xe0\x15\xac\xae\xaa\x9e\xb5\x56\xd1\xcd\xf8\xd1\xa6\x57\xb4\x8c\xea\x7a\xf2\x81\x59\xad\x24\x1f\x54\xaa\x5e\xd1\x5a\x43\xf7\xc7\xb5\xca\xb2\x64\x4c\x10\x8d\xf8\xf2\x54\xf1\xf7\xc8\xd5\x28\xe5\x76\xc9\x8c\xab\x00\x84\x3e\x54\x15\x7a\x07\x2b\xe0\x2e\x16\xf0\x78\x60\xc3\x2d\x3c\xe2\x3a\xd0\x9e\x98\x58\x33\x9a\xc7\x19\x1b\xf3\xcc\x72\x8b\x8c\x72\x32\x42\x80\xf4\x05\x31\xe6\x46\x29\xb7\xc8\x9c\x80\x6b\x2b\x99\xa2\xf1\x29\xad\x6a\xb5\x44\x0c\x5f\xbe\x14\x6a\x91\x09\x47\xf9\xe7\x88\xb9\x00\xd9\xc7\xbd\xd9\x30\x92\x21\xa7\xc1\x94\xfb\xb6\xeb\x92\x88\x15\xe9\xf7\x5a\xe6\x09\xe1\x79\x2d\x46\xad\x54\xd3\x96\x05\x05\x2f\x10\x5f\x6b\x01\x6a\x03\x85\x39\x13\x58\x18\x38\xc4\xb7\x08\xc7\x1c\x2e\x84\xd7\xa0\x10\xa0\xc2\x2b\x4a\x96\xcc\x84\x5a\x22\x51\x19\xb9\x5c\x5a\x96\xf8\xf2\xb9\xc9\xd1\x9a\x9a\x14\x55\x41\x06\x7a\x6c\x72\x24\x12\x9e\xa5\x4c\x92\x24\xb8\xc9\x6a\x67\xee\xe0\xf1\xc8\x67\x20\x05\x20\x8c\x6e\xcd\x3c\xa8\x38\xe4\x62\x7a\x66\xa3\x2b\xb3\xfa\x1d\xcd\xc9\x5f\xb8\xb5\xdd\x19\x28\x0c\x7d\x58\x50\xd8\x14\x2e\x01\x0a\x50\xa9\x16\xbe\x2b\x02\x8d\x2c\x1e\x27\xf0\x4b\x15\xa3\x52\x51\xaa\xdf\x74\xb7\xe5\xd7\x21\xa6\x7f\x09\x7b\x3b\x0d\xe4\xe0\x8c\x1c\x70\x46\x06\xdc\xb7\xc1\x31\x9f\x72\x2e\xd7\x19\x5a\x8b\x8a\x65\x75\x39\xc7\xc4\x16\x6f\x0c\xee\x03\x95\x1c\xd6\x0d\x53\x2b\x0f\x1d\x34\x63\x55\x60\xbd\x59\x11\x23\xfa\xf8\x08\xf0\x5c\x44\x9b\x57\x3d\x54\xb5\xd7\x66\xe5\xa5\x56\x9e\xd8\x53\x54\x47\xf9\xf8\x71\xae\x14\xd1\x91\xf4\x30\xb5\x07\x6a\xb2\x64\x39\xf4\xe9\x6e\x63\x3e\xd7\xf4\x8a\xa6\x51\xe5\x26\x73\x9a\x4a\x08\x14\xc0\x5d\xa1\x05\x46\x3b\xf3\xa9\xfa\xc3\xe5\x2f\xbe\x80\xa7\xab\x1f\xb2\xfd\x4c\x48\x9f\x92\x9b\x14\xfd\x5e\x08\xd1\xaf\x15\x98\xed\xc6\xea\x2a\xbc\x84\xe5\xbd\x77\x57\xe5\xbd\x77\x58\x17\x13\xff\xc4\xda\x1a\x18\xef\x94\xd8\x02\x10\xcd\xe9\xf8\x0e\xa8\x3b\x56\xf6\xc2\x45\xf2\xf5\x31\x6f\xfb\x74\x97\xf8\x4b\xa1\xcf\xfc\x85\x9d\x60\x6a\xa3\xe9\xaf\x34\x1a\xa6\xa2\x3b\xec\xca\x63\xe8\xa6\xa6\x03\x9a\xcc\x36\xba\x14\xaa\xa6\xa6\x55\x4b\x26\xa9\xae\x3a\xd1\x6b\xbc\xf9\xaa\xd8\x2f\x41\xe5\x40\xf8\x51\x32\x34\x49\x2b\xbe\xb8\x15\xbf\x48\x73\xd9\x64\x69\xdd\x68\x37\xc5\xfe\x51\xec\x8e\x88\xf3\xf4\x01\x7c\x43\xae\x85\x6f\x2c\xe5\x97\xca\xea\x6a\xf8\xda\x52\x7e\xad\x64\x7b\xdc\x6e\x2a\x62\x81\x21\xd5\x9f\xa7\xa5\x85\xc5\x10\x21\x2b\x12\x5c\xa0\xbe\x2b\x35\xb4\x51\x6e\x8a\xab\x6e\x8a\x6b\x55\x55\x48\xaf\x7f\x8f\x8f\x90\xaa\xf0\x15\x34\xf4\xec\xab\x56\x45\x9d\x30\x68\x27\x5e\x29\x5f\x09\x9e\x41\xdf\x44\x73\x8b\x25\x84\xbf\x2a\x5a\x61\x15\x5e\x1a\x57\x56\x88\xa1\x17\x28\xf4\x4d\x65\x75\x55\xa9\x2a\x2b\x56\xb8\x19\xd5\x93\x10\x02\xd5\x14\x12\x8e\xbd\xe0\xa6\x5d\x39\x04\x41\xa8\x86\xda\xa6\x68\x2a\x20\x8a\x56\xc5\xc8\xeb\xfc\xb4\x93\xad\xbc\xd0\x71\x69\x64\x14\xb2\x56\xc2\x44\x58\xdf\xd4\xfc\x48\x2d\x15\x6c\x61\x43\x23\x58\xa8\x1f\xe7\x66\xef\xe3\xc7\xc7\x8f\x73\xe3\x85\xf6\x4c\xc3\xab\x0b\xcf\x21\x67\xa8\x3a\xd1\x10\xa9\x0e\xa2\x9a\xa2\xe8\xce\xa5\x79\x85\x77\x88\x6d\x3b\x04\x9a\x8e\x96\x04\xd4\xbe\xa0\xb7\x45\x2b\x24\x7c\x76\x14\x49\xe6\xd2\xb8\x62\x71\x33\x42\xa1\x90\x76\x75\x55\xf5\x2d\x25\xf4\xfd\x82\xeb\x13\x6b\x77\xae\x0e\x02\xbe\x62\xe1\x07\x8e\x37\x00\xf3\xe3\xa1\xaa\xfc\x01\x8e\x33\xec\x5b\x0a\x98\xf4\xc0\x60\x00\x06\x05\x10\xf4\xed\x29\x88\xaa\xf2\x25\x35\x9d\xe1\x59\x42\x58\x13\x1c\x12\xd2\x6c\xda\x3e\x71\xe5\x29\x80\xf9\xd4\x81\x60\x80\x60\x25\x2a\x6a\xba\xbf\xa9\x26\x0c\xea\x73\x86\xa0\x5a\xb0\x7b\x3e\x0c\xa9\xf1\xbe\xaf\x23\xac\xa2\x95\xa3\x92\x5f\x58\xa5\x12\x8f\x71\x18\x75\x78\xc5\xd0\x9e\xb2\xc4\x2b\x42\x09\xf9\x36\x55\x1e\x6e\x31\xa4\x90\xe9\x60\xc4\xbb\x11\x94\x2d\x5d\x6e\xa2\xc1\x22\xa2\x99\x15\x57\x83\xba\xa9\x6d\x56\xaa\xa6\x46\xd0\xca\x70\x27\x74\x36\x67\x94\x65\x44\x26\x87\x4a\x5f\x82\xab\xcb\xf0\xaa\xe6\x6c\x3a\x2b\xf8\x77\xd9\x19\x79\x3e\x04\x9b\x78\xfe\x13\xd7\xd3\x37\xca\x5f\x53\x98\x52\x3c\xa3\x2c\xd8\x4c\x70\x23\x4a\x13\xd5\x76\xbc\x51\xe1\x65\xa9\xe7\x84\x85\x3e\x29\x54\x40\x4c\x4f\xb5\x60\xcc\x95\x62\xc8\x9f\x78\x46\xf2\xc8\xd3\xaa\x0e\x76\x72\x26\xb1\x7f\xf4\x4b\xa8\x87\x57\x34\x54\x68\x46\x3d\xb0\xba\x2a\x68\x18\x0c\x10\x4b\x5f\x54\x68\x7b\x19\xc7\x89\x50\x5b\x16\x1c\xbb\x2e\x2c\x02\x27\x62\xe3\xea\x47\xed\x66\x2a\x15\x87\x1e\x6a\x5f\xd6\x2d\x96\x67\x83\x97\xca\xc4\x69\x50\xd4\x50\xab\x56\x0c\x61\xa1\x6c\x82\x13\x35\x5c\xbe\x27\xdc\xcb\x02\xc2\xad\x70\x48\xbb\x23\xe6\x42\xb7\x77\x1a\x02\xec\x29\x1b\x1a\x47\x59\xd1\x4d\x43\xa3\x61\xc0\xcd\xaa\x4c\x02\x90\xf6\x58\xb7\x42\x3e\x38\xf7\x1a\xa9\x27\x53\x6e\x31\x91\x34\x4f\x09\xa2\xfc\x0c\x37\xcd\xb5\x4a\xf5\xa5\xa1\x25\xdd\x85\xb8\x44\xcd\xe9\x37\x41\x9c\xee\xad\x05\x46\xa8\x57\x58\xa6\x8e\x4d\x9a\xf9\xab\x65\x61\xa3\x9a\xa9\xc8\x27\xba\x52\xc3\x44\xe9\xe7\xd9\xd2\x71\xfa\x9c\x54\xd9\x17\xd9\xb2\x71\x7e\x97\x54\x59\xb3\x52\xe5\x96\x1b\x56\xb2\xa5\xaf\xa7\xc9\x34\x1f\xa9\xfa\x15\x41\x37\x92\xe9\x34\x92\xe5\xd7\x8c\x6c\xf9\x8c\x73\x63\xb2\xca\x7a\xba\x8a\x54\x47\x99\x18\xf3\x75\x39\x81\xa5\xd4\x78\x9e\x26\x5d\x34\xc1\x7a\x76\x7f\x8c\x13\xf0\xb6\x81\x37\x08\xb6\xd8\xaf\x64\x93\x26\x58\xcb\x8a\x37\x28\x27\x94\xd5\x89\x55\xe5\x22\xb1\xf4\x9c\xba\xf7\xfa\x58\xce\x86\x6d\x42\xd4\xe4\x00\x1a\x46\x65\xb9\x46\xb7\x5b\xf5\xbd\x9f\xab\x4d\x33\x33\x8c\x34\xb8\xd9\xf1\x2c\x9c\xce\xc2\x14\x59\x0c\x33\xbd\x70\x33\xb1\xd0\xd2\x35\xd6\xd2\x13\x3e\x1a\x89\x09\x08\x6d\x3c\x08\x3b\xf8\xac\xcf\x54\x7c\x55\x0d\x37\x25\x55\x99\x7b\x59\xdd\x0d\x31\x84\xf3\x6b\x3b\xfc\xc4\x2c\x15\x97\x2c\x6e\xc9\x65\x90\x51\x21\x7d\x89\x32\x96\x42\x78\x15\x45\x93\x75\x54\xd8\x7c\x66\xab\x12\x03\xff\x1a\x90\x32\x6c\xc5\xdd\x27\xbe\x19\xfc\x3a\x7b\x51\xa5\xa4\x5f\x17\x6c\x3c\x89\x94\x51\xe9\xbd\xc7\x58\x7f\x59\x4d\x4b\xac\xa9\x1a\x27\x2a\x81\x86\x53\x95\x14\xca\x6e\xbd\xe9\xe6\x44\xdb\xb6\x1a\xf9\x8d\x2f\xae\xc9\xb7\x49\xd5\x20\x6a\x72\x1b\xaf\x18\xc6\x7a\xb6\xdb\x5b\x89\x18\x13\x71\xbf\xa3\xac\x0b\xdf\x70\xa2\x6e\xef\x34\x0a\xef\xa1\x73\x6b\x87\x80\x3f\x58\xe9\xc9\x4a\xb8\x29\x5e\xb6\xc0\x14\x3f\x0d\xd3\x62\xdf\x77\xda\x8d\xe8\x7b\xa3\xdd\x8c\xbe\x1f\x73\xcf\x3b\xa7\x1b\x15\x8b\xab\x7c\xa9\x7c\x34\x94\x2b\x9e\x65\xe3\x5e\xfd\x7b\xd2\x37\x7f\x45\xb9\x92\xfa\xcb\x46\xb9\x05\x63\x75\x1d\x6e\xa7\x97\x57\x27\x4e\x5a\x1a\x5f\x83\x48\xb5\x30\xaf\xda\xd0\x87\x77\x36\x1c\x9c\xda\xbd\x76\xe8\x4f\x53\x0d\x7a\x0b\x6a\x4e\x76\x01\x18\xa4\xea\xdc\xb2\x2e\x47\x20\xf8\xb7\xc3\xdc\xb7\x30\xaf\xbd\x74\x4e\x4c\x23\xd1\xee\xbf\x2f\xa8\x8a\x55\x40\xa6\xc2\x17\xfb\x0f\x64\xc5\x8c\x44\xb1\xff\x50\x3a\x6e\xff\x91\xf4\xcd\x5f\xe5\x41\x03\xed\x0b\x6a\xda\x62\x4a\x3b\xb6\x2f\xd1\xb6\xa4\x57\x8c\x64\x97\x89\x3c\x47\xd9\x54\x12\x5d\xfd\x8f\x13\x34\xfc\xab\x09\x12\xfe\x41\x0a\x89\xa4\x78\x89\x59\x6e\x72\x6a\x6d\x55\xab\x29\x7f\xa0\xac\x58\x30\x8a\xce\x13\x5d\xbc\x77\xda\x0d\x45\x87\x44\x94\x11\x09\x9b\x25\x52\x8d\x27\x5a\x24\xe4\x11\xfd\x6b\x52\x5a\xfd\xe6\x6f\xb0\x57\x3b\xed\x46\x79\x5b\x3e\xe8\xae\xe3\x81\xec\x24\xfb\xcd\xdf\xe4\xab\xef\x7c\xcd\x9c\x49\xef\x78\x71\x72\xe4\xe4\xaa\xf9\xcd\x7f\xca\x37\xf1\x36\xb7\x09\xb6\x78\x92\x2f\x52\x29\xc6\x55\x2d\x09\xff\xef\xf0\xf0\x0f\x73\xf6\x02\xc2\x93\xbd\x13\x13\xe2\xef\xf2\x50\x8e\x64\xd4\xfe\x2f\xf8\x52\xc7\xb2\x52\x7f\x8f\x2f\xf5\x3e\x99\x02\x3a\x63\xb0\xc3\xe6\x44\xac\x63\x10\xdf\xf0\x13\xd8\xfe\x03\xbe\x85\x8e\x0c\x8f\x7f\xc8\x97\x3a\x97\x95\xfa\x47\x7c\xa9\x0f\xb2\x52\xff\x35\x5f\xaa\x2b\xa7\x72\x52\xc7\xa4\xfc\xc1\xe5\xa6\x59\xab\xf4\x93\xeb\xee\x37\xff\x0d\x07\xec\x52\xb9\x4c\x2d\x35\x01\x8d\x84\xb2\xaf\x7c\x2b\xc3\x0c\x59\x1b\xed\x66\x92\x88\x7f\x92\xc0\xe2\xe3\x47\xf9\x22\xfb\x6f\x13\x25\xaf\x72\xb7\x86\x84\x4e\x4a\x3c\x94\x2a\xd0\xd0\xfa\x47\xf5\x56\xac\x30\xde\x4d\xa8\xa5\x12\xf1\xeb\x51\x9f\xfd\x4a\xfd\x38\x28\x6a\x35\xb5\xfc\xbd\xf6\x8b\x67\x5a\x0d\x6e\xaa\x51\x11\x0b\x5e\x56\xae\xd2\xa2\xde\x63\xbc\xcd\x5c\x9a\x57\x3a\xd0\xb4\x6a\x4a\x98\x40\x75\x2a\xc7\xed\x86\x28\xfc\x02\x83\xab\x69\x4f\x4f\x39\x53\x34\x41\xbe\xff\x2e\x41\x94\x5f\x2d\x1e\xc4\x6f\x99\xe8\xff\x98\x9f\x76\x9f\x7e\xde\x16\x30\xde\x85\x0c\xde\x18\x84\x48\xa2\x99\xdc\xec\xbf\x85\xb3\x0a\xa8\x04\xad\x5a\xd8\x69\x37\x0a\xc6\xbc\x62\x14\x94\x62\x28\x3b\xc3\x9e\x78\x3c\xff\x70\x31\x9e\xca\x4b\x1c\x4c\x2e\x81\x66\xfa\x8e\x3d\x74\x5c\x57\x55\x76\xa4\xe7\x66\xa2\xcd\x3f\xfa\x56\xda\xb0\x35\x20\x50\x6c\x51\xef\x07\xe5\x99\x42\x4f\xc1\x44\xcd\x84\x7e\x23\x85\x1a\x33\x69\x08\xa9\x35\xc3\x2f\xa9\x5e\x8d\x53\x33\xaa\xb1\x2a\x30\xa1\x5d\xdf\x13\x15\x25\xba\xb9\x44\xb9\x67\x4a\x95\x35\x92\xee\x13\x6d\x74\x8f\xea\xe8\xdf\xd2\xcf\xa6\x14\x32\x53\x22\x7e\x2b\x47\x4e\xa4\x75\x68\x9e\xfc\x51\xe1\x59\xc1\xa6\xb3\x5c\x22\xb3\xfb\xe9\x4d\x2c\x68\x60\x89\xd9\xa2\x26\xf6\x03\x2d\xf1\xeb\xfb\xc4\xaf\x62\xe2\x57\x29\xf1\xab\x9c\xf8\xf5\x2c\x31\x03\xf5\x50\x3a\x07\xb3\xcc\x98\x33\x24\x92\x65\xa8\x45\x7e\x14\x42\x46\x91\xce\x38\x04\x50\x4d\xe4\x47\x14\x9a\x45\x41\xad\x16\x59\x98\x3a\x9b\x8a\x1a\x6b\xa0\xf6\x0c\xcb\xa9\x2a\x1a\x7a\xf0\xf8\xa8\x94\xb8\x17\x26\x7a\xf1\x3d\x7d\x51\xe6\x5e\x54\xd0\x8b\xa2\xb2\x82\x16\x82\xf2\x0c\x7d\x32\x19\xc1\xde\x9a\xe5\x2c\x16\x87\xba\xfe\x28\xd6\x96\x47\xe8\x16\x02\x10\x12\xad\xf9\x77\xc5\xb0\xf8\x1d\xd6\x94\x4b\x45\xf1\xfc\x08\x3e\x17\x9c\x7f\xe8\xf9\x8b\x2c\xa7\x9f\xbd\x22\x73\x70\x5e\xe6\x97\x8f\xae\xb7\x5c\x95\x57\x92\xa6\x15\x2b\xef\x22\x23\x92\xca\x1e\x80\xfb\xa9\x3d\xa0\x01\x02\x18\x94\x37\xdf\x0a\xc5\x8c\xa1\x94\x77\x85\x28\x96\xfb\x19\xc8\x54\x39\xab\xa7\xd9\x4f\xfc\x94\x03\xe8\xc6\x27\xdb\x44\x0c\x3b\x6b\x9f\x8d\xaf\x3d\x15\x85\x83\xe2\x8b\xcb\xac\x29\x3c\x01\x1e\x45\xb7\xb5\x56\xa6\xd8\x93\xac\x58\x25\x51\xec\xd7\xb2\x62\xd1\x15\xf1\xb8\xdd\x40\x5c\x8a\xd4\x91\x85\x08\xbe\xbd\x81\x7f\x77\xea\x84\x2e\xe0\x18\x10\x0e\x40\x85\x4e\x0a\x02\x2c\x7e\xbe\x7e\x25\x71\x51\x8a\x39\x28\x1a\xcd\xbe\x86\xdd\xfa\x23\x09\x3f\xd3\x78\x3d\xab\x68\xcc\x47\x34\xdf\xa0\x96\xf3\x30\xd4\x03\xeb\xf2\x8a\x3a\x3d\xc1\x5a\xb1\xe8\x31\x87\xa7\x18\xfa\x65\xe5\x7b\xef\x4a\xd3\x5d\x0b\x7f\x2b\x9a\x57\x35\xfb\x8d\xe5\xc7\xba\x4c\x65\x53\x59\xb1\xdc\x4d\xd5\x8d\x9d\x23\xe7\xa6\x79\xea\x37\xda\x6d\xd5\xd5\xb0\x86\xf1\xd2\xbe\xb2\x5c\xad\xca\x17\x81\xa3\xde\xa9\xff\xc1\x34\xf1\x4b\x54\x2a\x20\xba\x6a\xbb\xa8\xd4\x94\xa2\xab\x69\x4f\x41\x32\x55\xb9\x94\x15\xbf\x5a\xaf\x29\xc5\x80\x5a\x60\xd4\x14\xad\xa8\xfc\x15\x85\xa7\xf7\xab\x24\x5d\xa3\x7c\xfd\x5f\x7a\xfe\xe0\xbe\x1a\x11\xf7\x89\xaf\x63\xa6\x46\x59\x3e\x10\x98\x29\x60\x9b\x75\x96\x00\x21\x31\xc8\x54\x35\xad\x06\x05\x8a\x81\xd8\xf3\x14\x3b\x39\xe2\x88\xbd\x4c\xc9\x6b\x90\xc8\xec\x94\x33\x0e\xe3\x0e\x72\x68\x9a\x57\x09\x3d\x1c\xc0\x9c\x6e\xe2\xfd\xef\xa5\x1b\x5b\x49\x5f\x4d\x15\x26\xb0\xd8\x58\x40\x4c\x7a\x2f\x68\xc4\x69\x5f\x2d\xb5\xac\x3d\x73\x28\x52\x8c\x75\xb9\x34\x59\xfa\x06\x53\x91\x29\x4d\x70\x6d\x35\x27\xdb\x6d\x82\x2f\xaa\x7c\x1b\x9c\x28\x27\xad\x90\x07\xfa\x5a\xa4\x70\x32\x5f\x92\xa9\x3b\xc9\xc8\xf0\x61\xbd\x61\x00\xd0\x1d\xa7\xb0\x61\x20\x8e\x26\x20\x06\x91\x82\xbd\x65\xa3\xb2\x14\xa9\x7f\x75\xd9\x9f\x06\x86\x59\x59\x5b\xdf\x78\xfe\xe2\xea\x7b\x7c\x17\x7b\x96\x9c\x03\x34\x09\x89\x1d\xfa\x3d\x42\xfa\xec\xc0\x8b\xd3\xc9\x90\xdb\x1b\xb1\x9e\x83\xc9\xe9\xf8\xe2\xc5\x0b\x01\x7a\xb1\x4d\x6f\x66\x5a\x26\x92\x76\x90\x65\x4b\xac\x6f\xa1\xee\xd4\x54\x61\xc7\x7e\x55\xbb\x2a\xd6\x54\xf4\xf1\xbd\xa6\xd6\xd4\xcb\x8f\xc1\xc7\xf6\xd5\xf7\x9a\xb6\xf9\x8b\x67\x78\x2f\x82\x16\xea\x8d\xee\x58\xe1\xe5\xda\x95\xa6\xc7\xbb\x01\x4e\x4d\x5d\x85\x3a\xde\x15\x9c\xa7\xf4\xd8\x8a\x99\xcc\x19\x9c\xdf\x86\x85\x89\x3f\x98\xb9\x20\x35\x28\xb1\x98\xf8\x52\xf9\xa5\x92\x77\x68\x38\x58\xb3\xdc\x9e\xda\x7d\x74\x62\x38\x36\x1c\x61\xb3\x29\x2d\x86\x50\xae\xe7\x54\x27\xb3\xe9\x6c\x2a\xab\xbb\xb5\xb0\x2e\x16\x6f\x49\x6a\x37\x16\xd6\xc6\xe1\xed\x65\xd5\xb7\x17\x56\xc7\x12\x69\x49\xed\x9d\xaf\x47\x3d\xab\xd3\x90\x08\x85\xdb\xcd\xf2\xee\xd7\x52\xf5\x6b\x80\xef\xe5\xb3\x09\x89\x8a\x5c\x1b\x25\x93\x07\xf2\x76\x19\x20\x2c\xd8\x71\x12\x8c\x4e\x7f\x99\x19\xa0\x4d\xe1\x16\x11\x55\xad\x91\x50\xd4\xc4\x12\x3f\xd4\xcd\x74\xa7\xd3\x69\x55\x6a\x71\xa0\x4a\xa3\x06\x5f\x87\x35\x58\x2c\x6a\xcb\x29\x11\xda\xcd\xf2\xbe\x15\x2f\x93\xcd\xfd\xcc\xbd\x28\x25\x43\x42\x9b\x90\xb1\x62\xc1\x4d\xd3\xb2\x60\x4a\x4d\x09\xa0\x1d\x80\x7a\xcf\x47\x6c\x7b\xb5\x92\x7d\x4f\x95\x57\xd5\xb5\xd8\xf6\x39\xf3\x4e\x00\x71\x0b\xb8\xfe\x5d\x02\xe5\x03\x1e\xe5\x83\x9f\x8c\xf2\xa9\x8f\x97\x00\xc1\x39\x8d\x18\x2e\xf1\xce\xf1\x80\x18\xb9\x53\x9f\xac\x3e\x1e\xbd\x77\x0b\xb7\x1a\x04\x2f\x90\xad\xb9\xc3\x9c\xea\x24\x64\x73\x6e\xf5\xf7\x0b\xab\xa3\x8b\xac\xb4\x7a\x3b\xa7\xfa\x2d\xb5\x74\x90\x6f\x75\xa7\x29\xb9\x0e\xe7\x43\xf9\xda\x32\xd3\xb4\x65\xf0\x72\xb6\xbf\x4b\xe5\xcd\xa9\x50\x7e\xda\x6e\x96\x3f\xe4\xa0\x9a\x18\x1c\x09\xb2\xdd\xdf\xfb\x32\xec\xd9\xfd\xb1\x64\x1d\x5e\x2a\x3f\x44\x5a\x23\xb4\x79\xc5\x68\xda\x5f\xb1\x8f\x2d\x50\x70\x14\x25\x94\xe8\x89\x09\xdc\x17\x8c\xe6\xa5\x71\x85\x97\x53\xf4\x2b\xed\xd4\xb4\x48\x50\x8f\xc7\xb4\x9f\x7f\x1e\xa7\x41\xbc\x31\x6a\x95\x8d\xe7\x35\x23\x01\xa6\x2c\x48\x4a\x9a\x50\x88\xd3\x4c\x9c\x84\x04\x2d\xff\x4e\xbe\xcb\x0f\x63\xc2\xbf\x8d\x9f\x8e\x96\xe9\xfe\x26\x8e\x38\x12\xbd\x12\xec\x6a\x75\xd7\xa5\xe3\x1d\x64\xf6\x10\x92\x2f\x87\xbc\xad\xd3\xc1\x52\x57\x12\xb8\x5d\x4b\x2e\xa5\x46\x2d\x7c\x9d\x58\x60\xb5\x90\xcd\x37\xce\xb2\x8e\x31\x75\xe1\x15\x67\xf6\x48\x36\xce\xeb\xb4\xba\x61\x49\xd0\xd4\xea\x4d\x06\xb9\xec\xf0\xbb\xb3\x23\x5b\xbc\xee\xcf\xd6\x2d\x33\xd9\x2d\xf7\xe7\xeb\x56\x62\x1c\x26\x32\xdd\x4c\xc8\x47\x54\xe1\xf6\xbb\xb0\x58\x79\x7c\xdc\x88\xa6\x4a\x58\x34\xaf\x36\xbd\x99\xeb\x56\xe9\x34\x0c\x8b\x15\xdd\xd0\x9e\x22\x48\x30\x07\xd2\xc6\xe3\x63\x45\x00\x09\x47\x3f\x52\x8a\x09\x80\x45\xa5\xa0\x73\x8f\xd6\xb2\x8f\xd6\xf1\x23\x4d\x79\xe2\x84\x92\x79\xf2\x0a\x12\x8c\x88\x43\x28\x26\xaa\x6f\x19\x35\x3f\x45\x54\xbf\x58\x64\x71\xa0\x68\x93\xbe\x6e\x60\x20\xc1\xeb\x35\x43\x33\x2c\x2b\xd8\x74\x98\xd8\xaa\x6a\x92\x9f\x24\x26\xa8\x81\x8e\x60\xf4\x93\xc5\x16\x44\xbc\x02\xfa\xcd\xe2\x82\x1a\xd5\x75\xf2\x80\x8f\xf4\x57\xdd\xa0\x30\x48\xb4\x50\xa3\xfa\x82\x56\x62\x71\x40\x8d\xea\xcb\xe8\x09\x8b\x04\x6a\x54\x5f\x91\x67\xe9\xd8\x7f\xd5\x0a\xc6\x41\x75\xa2\x38\xa5\x11\x3a\xa6\x56\xad\xa4\x10\x32\xab\x95\x2c\x46\x66\xb5\x92\x44\xc9\xac\x56\xd2\x38\x99\xd5\x4a\x16\x29\xb3\x5a\x41\x58\xe1\xa8\x80\xe9\xd8\xa6\x24\x67\x58\x01\x93\x71\xc3\xd0\x08\x39\x5f\x6a\x4e\x36\xee\x67\x50\x5a\x33\xa2\xc2\x6b\xa8\x15\x54\x9a\xa6\x86\xf4\x2c\xa8\xfa\x9a\x26\xaa\xe7\xb0\x78\x59\x3a\xff\xd2\xf2\x74\xbf\x68\x6d\x44\x19\xcb\x88\xf7\xbb\x6a\x5b\x38\x07\x91\x46\x2e\x69\xce\x50\xf5\x8b\x56\x45\xb7\xdf\x30\xd9\x05\x8b\x76\x4a\x67\x4c\xdf\xf7\x42\xc7\x9b\x81\x9a\xa0\x5d\xfb\x29\x42\xf6\x15\x46\x56\x86\x1a\x0d\xd4\xc5\x11\x62\x1d\x11\x20\x13\xcf\x34\x28\xad\xc7\x04\x58\xc7\x04\xf8\x42\x5c\x46\x51\xdf\x6b\x11\x31\x3c\x51\x65\x9e\x0a\x5c\xc0\x30\x9e\x0a\x44\x40\x17\x72\xb0\x2c\xcb\xfe\x06\x4a\x64\xda\xb6\x9f\x28\x29\x64\x68\x25\x28\x10\xbc\xb1\x5e\x19\xab\xab\xc1\x6b\xeb\xd5\x8b\x4d\xe1\x3c\x78\x65\x14\x5f\x56\x83\x37\x96\x69\x90\x72\xa6\xf1\x02\xcf\x2d\x01\xc5\x4c\xc3\x28\xbe\xd4\x9e\x1c\x3e\x5a\x60\x96\x9d\x48\x8b\xcb\xd2\x17\xb2\x51\x56\x14\xa5\x69\xac\x4f\x49\x49\x35\x61\x04\x26\xb2\xf3\xc1\x4b\x7b\x64\x6f\x70\xe7\xac\x96\xcf\x2f\x18\x9e\x12\xaf\x96\xe7\x7c\x3d\xde\x47\x34\xcb\x26\x21\x1e\x41\x2b\x9a\xcc\x59\x34\x87\x8f\x32\x6b\x0b\x38\x16\x9c\x89\xa9\xa6\x14\x61\x51\x69\x29\x49\x59\xc4\x1b\x4f\xd2\xe7\x4b\x65\xd3\x4b\x1d\x5e\x7f\x59\xf0\xc7\xc4\x34\xf9\x21\xd8\x5c\xc8\xf5\x99\x9e\xa2\xe1\x8d\x70\xf9\x3a\x15\x52\xe7\xf9\x57\xb5\x53\xa9\x99\x35\xa3\x86\xc6\xbc\xba\x91\xc7\x8c\x65\xab\x6e\x18\x5e\x8a\x2f\x9d\x4a\x87\x66\x65\x2a\x50\x4e\x88\x35\x32\x81\x3f\x0c\x5b\xe9\xb9\x5e\xfe\xc5\x54\x36\xe8\xbf\x90\xb6\xfa\x9d\x32\xfd\x4e\xb2\x3e\x6e\x24\xd0\x0a\x37\x4a\xae\x04\xb2\x66\x60\x7d\xa1\x69\x59\xcc\x2c\xf5\x9b\xe4\xa5\x32\x41\x0c\x31\xb1\xc7\xc9\x48\x2b\xbf\xdb\x26\x4c\x0d\x4b\x12\xbe\xb1\x89\x58\x84\xbc\x44\x4f\xd6\x7f\xf7\xcd\xa0\xde\x6c\x7c\x3b\xc1\x76\xea\x87\xcb\x74\xe4\xf9\xef\xb4\x05\x33\x63\x1d\xc4\xa4\xb4\x04\x52\x01\x47\xa1\xac\x62\xd3\x94\x27\x7e\x92\xdf\xc8\x26\x39\x94\xce\x64\xb4\xc7\xa1\xdd\x81\xd3\x92\x19\x57\xba\x69\x68\x25\x93\xc4\x80\x72\xb0\x98\x99\x7f\x6f\xf2\xef\x6b\x99\xae\xa4\x9c\x5e\xa0\xee\x48\xfb\x1b\xc9\xfb\x0c\x3d\x75\xa7\x82\xb2\xe3\xec\x17\x50\xfc\x3c\x58\x5e\x05\x4e\x5a\x08\x64\x2d\x84\x92\x86\xc5\xcf\x2f\x95\x37\xa1\x74\xaf\x2b\xc8\x5e\x95\x67\x5f\xa5\x81\x27\xc0\x66\x52\x9a\xdc\x4a\xda\xff\xee\x4e\x56\x65\x2e\xa9\xf1\xfd\x5c\xda\x88\xb8\x4a\xf9\x21\x7d\xce\xae\x24\xef\x38\xaf\x4d\x2d\xbb\x77\x3a\x43\x15\x6d\x9f\x34\x17\x3a\x5f\xba\x42\xad\x41\x6a\x8b\xb5\xbf\x51\x5e\x0f\x0a\xd7\xbc\xa2\xc7\x2b\x36\x5c\xca\xf2\x5c\x72\x00\xd8\x95\x21\xc1\x5b\x7c\xf7\x20\xa5\xc3\x83\x8c\xd8\x5f\xa4\xf3\xe0\xbb\x47\xf9\xab\x27\xf9\xab\x5f\xa7\x5e\x25\x62\x58\x0e\x99\xfa\x94\x8f\x4a\x28\x0e\x94\x17\xf4\xa1\x83\x93\x00\xb2\x00\x59\x7b\xef\xb8\xe8\x80\x23\x77\x62\x4f\xb7\xec\x00\x7c\xe2\xc3\x52\xc7\x31\x0c\x78\xf8\xa9\x90\xd4\xd9\x5c\xf1\x29\x88\xab\xab\x2b\xc9\x18\xe6\xac\x65\x3e\x65\x1e\x2e\xfe\x89\xd8\xf9\x24\x9f\x43\x40\xb3\x3f\x91\x22\x16\xd8\xa4\x01\x12\xec\x20\x70\x46\x9e\xfa\xe5\x29\xdd\x05\x1d\x50\xc9\x50\xfc\x88\xc6\x4a\xe7\x43\x2b\x70\x30\x97\x0a\x93\x90\x76\x1a\xd5\x6a\x31\x82\x7c\x58\x04\x05\xb1\x7b\x51\x04\x85\xa2\x72\xa5\xe8\xca\x88\x0b\xd3\x84\xda\x01\x51\xce\xd2\x18\x86\x0e\xac\x37\x1c\x4e\x44\xfb\x9d\x4b\x7d\x71\x94\x2a\x52\x7d\x85\xda\xe2\xf3\xc3\xf0\x15\xe3\x0a\xc2\xe3\x5b\x00\xa1\x33\x10\x65\x39\x22\x20\xc0\x02\x18\xb9\x29\x5e\x52\xd5\xd4\xf4\x24\x4d\x0f\xa9\x96\xc8\x5b\x20\xef\x62\x12\xf5\xc4\x18\xeb\x40\x80\x6f\xf6\xc4\x98\xd8\xd3\xe0\x93\x95\x2d\x58\xa6\xf7\xb8\x38\xec\x27\x2a\x49\x97\x4c\x54\x51\xd4\x04\x47\x13\x62\x9f\x26\x0d\xd9\x82\x41\x94\xaf\xed\xe0\xf8\xce\x7b\x0f\xfd\x29\x80\xe1\xbd\x0a\x68\x88\x00\xfc\xf2\x12\x5c\x55\x89\x69\xdb\x82\x96\xec\xc1\x40\xb2\x15\x90\x0e\x5a\x56\xb2\x0f\x51\x8a\x6f\xfc\x56\xbc\xc2\xa2\xc2\x4c\x75\xc8\x50\x8a\x6d\x8e\x25\xd8\x88\x67\x2a\xae\xbe\x62\x2d\x20\x76\x12\xb3\xfc\xb2\xa2\x29\x19\x2c\x3d\xaf\x7f\x16\xca\x24\x13\x15\x25\x33\x60\x53\xf3\xc4\x90\x33\x4f\x84\x9b\x1c\xf4\xcb\xf0\xca\x82\xc9\x08\x81\xec\x79\x72\x5e\xe3\x50\xea\x74\x93\x23\x23\xad\x86\xba\x78\x65\x29\xb3\x00\x40\xc4\x25\xea\xa4\xd2\x93\x90\x44\x1c\x0d\x63\x6f\x2f\x59\x89\x4b\xe3\x4a\xb2\x8c\x95\x11\xb4\xa7\xd7\x4e\x5f\xd1\xbf\x28\x3f\x28\x55\xe5\xb7\xff\xf0\x6f\x29\xba\x5d\x55\x7e\xfb\x0f\xfe\x2b\x45\xef\x55\x95\xdf\xfe\xbd\x3f\x56\xf4\x3e\xfa\xfc\xdb\x8a\x3e\x40\x9f\x7f\x47\xd1\x01\xfa\xfc\xcf\x14\x7d\x58\x55\x7e\xf3\x2f\x15\x7d\x54\x55\x7e\xf3\xaf\x14\xfd\x1a\x3d\xfd\x53\x45\x77\xd0\xe7\x7f\xae\xe8\x9f\xab\xca\x6f\xff\xfe\x3f\x52\xf4\x31\xfa\xfc\x7b\x8a\xee\xa2\xcf\xbf\xad\xe8\x13\xf4\xf9\xf7\x15\xdd\x43\x9f\x7f\xa1\xe8\x7e\x55\xf9\xed\xdf\xfd\x3f\x15\x7d\x8a\x3e\xff\x8d\xa2\xdf\xa0\xe7\x7f\x5d\xd1\x21\xfa\xfd\x17\x8a\x1e\xa0\xcf\x7f\xab\xe8\x21\x7a\xfe\x27\x8a\x3e\x43\x9f\x7f\xaa\xe8\xb7\xe8\xf3\xcf\x15\xfd\x0e\x7d\xfe\x0b\x45\x9f\xa3\xcf\xff\x44\xd1\xef\xab\xca\x6f\xff\xf8\x4f\x15\xfd\x01\x7d\xfe\x53\x45\x57\xbe\x28\x55\xe5\xff\xfd\xeb\x8a\xae\x3c\xa2\x0e\xfe\xf1\x3f\x51\x74\xe5\x49\xa9\x2a\xbf\xf9\x1f\x15\x5d\xf9\x35\xfa\xf2\xbf\x29\x4f\x82\x53\x39\x41\xc1\x72\x5d\x46\xc0\x1e\x74\x42\x27\xb8\x46\x04\xfc\x43\x02\x75\x31\xb0\x2d\x19\xb0\x59\xa0\x10\x57\xf3\x45\x03\xba\x2e\x1d\xd0\xc1\x2c\xec\xf3\xd8\xe8\xca\x2f\xd1\x97\xff\x4b\xd1\x95\x4b\xa5\xaa\xfc\x3f\xff\x5a\xd1\x95\x8f\x1f\xd1\xa3\x7f\xab\xe8\xca\x95\x52\x55\x1e\x29\x8d\x7e\xf3\xcf\x28\x8d\x86\x8c\x42\x7f\xc1\x28\xf4\xe7\x4b\x74\xaa\xb1\x60\xa9\x5f\x6e\x48\x71\x1e\x3a\x9e\x47\x69\x88\x70\xfc\xf1\x6f\x30\x1c\x7f\xfc\x07\x14\xc7\x1f\xff\xa6\xa2\x2b\xbf\x42\x5f\xfe\x44\xd1\xf1\x4c\xfd\xf1\x9f\x53\xb4\x7f\xfc\x53\x8a\xf6\x8f\xff\x2b\xc5\xfb\xc7\x7f\x4a\xf1\xfe\xf1\x2f\x96\xc0\xbb\x25\xc5\x0a\x02\x4f\x40\xca\x1f\xff\x09\x25\x25\x9a\xfb\x14\xcd\x3f\xa3\x68\xfe\xe6\xcf\x18\x52\xff\x9c\x21\xf5\x7f\x30\xa4\xfe\x19\x23\xe6\x3f\x5b\x02\xa9\x93\x7c\xa4\x0a\x7d\xdb\xb3\x07\x8e\xed\x21\xec\x12\x48\xfd\xf8\x3f\x64\x90\xfa\xf1\x7f\x66\xb4\xfb\x5f\x18\xed\xfe\x7c\x31\x9a\x3f\xfe\x9b\x25\xd0\x3c\x90\x6e\x2b\x00\x4e\x62\xec\x30\x59\x64\x23\xfb\x27\xf2\x71\x64\xf3\xef\xc7\x7f\xbc\x04\x2e\x17\x32\x5c\xb0\xb2\x82\x20\x93\x5c\x13\x7f\x26\x1f\x48\x4c\x98\x1f\x18\x61\xbe\x30\x0a\x63\xf4\xfe\x75\x86\x54\xff\x62\x09\xf4\x76\x16\x2d\x8f\xe7\xd2\xe5\xe1\xf9\xf0\x0e\x8c\x1c\xdb\x7b\x36\xb0\xd9\x3a\xf9\x25\xa3\x26\x26\xeb\xdf\x8a\x3a\xf0\x8f\xe4\x0b\xe6\x4f\x59\x4f\xfe\x27\xd6\x93\xff\xfd\x9b\x16\x4c\x57\x86\x67\x30\x8d\xd0\x93\x10\xfa\xbf\x8f\xf0\xfc\x2f\xd9\x8a\xf9\xbf\xd9\xee\xf3\x2f\x19\x56\xff\x8a\x61\xf5\x67\x8b\x91\xb9\x7c\x71\xb5\x80\xae\xe5\xb7\x52\x74\xef\xc0\x80\xa7\xe6\x1f\xe7\x4c\xd2\xdf\xd9\xf6\x43\x6c\xf1\xa5\x18\x3a\x41\xc0\xc8\x89\x67\x62\x72\xad\xff\xf3\xfc\xb5\xfe\x89\xce\xd1\xe4\x92\xcf\x59\x66\x78\xc9\x63\x4d\x05\xd6\x8b\x20\x4e\x45\x25\x39\x15\x9e\xd9\xb3\x81\xe3\x3f\xeb\x01\xd7\x55\x74\x85\xfc\xf0\x47\xa3\x5a\xcf\x0e\xc0\xf3\x75\x45\x57\x4e\x2b\x03\xef\xec\xae\xde\xa8\x47\xff\xb6\xaf\x6f\xce\x37\x0e\xf0\xd7\xc3\xdd\xdb\x9d\xcf\x17\x5b\x6f\x47\xbb\x95\xde\xda\xbe\x63\x7f\x38\x24\x45\x2e\x1a\x2f\xa2\xe2\x6f\xfb\x5b\xe4\x4b\x63\xbd\x7e\xf6\xca\xeb\x9a\x87\x75\xfe\xdf\xba\xed\xce\xda\xa3\x1d\xfc\x1d\x04\xcd\xb5\x9d\xc6\xda\xb3\xcc\xbf\x97\xe3\xed\xc1\xe4\xd5\xfd\xc5\xc4\x7d\x78\x7b\x52\xaf\xd7\x77\xaf\xa7\xfd\xbd\xd1\xec\x74\x6d\xdf\x6b\xee\xcd\xa7\x17\x6e\xf7\xb6\x3f\xd9\x9f\xf6\xef\xb7\xf6\x9b\xdb\xcd\xbb\xc3\xed\xf1\xdd\xd1\x43\x7d\x83\xb4\xb0\xb3\xcb\xea\x1e\x9c\xed\x6f\x77\x46\x3b\xa4\x33\xdb\xbb\x87\xcd\xc3\xf3\xba\xb1\xbf\xd5\xa9\xd7\xeb\x27\xf5\xfa\xd6\x68\xbf\x31\x3e\x1e\x57\xba\xfb\x07\xf6\xf9\x99\xdf\xbe\xde\x98\xec\xb7\x9a\xed\xf6\xc4\x75\x0f\xcf\xee\x9c\xae\x73\xe6\xf4\xcf\x2e\x2e\xd6\xef\xe6\xf3\xeb\xeb\xcf\x9f\xb7\xdf\xee\xed\xed\x1d\x1f\x36\xb7\x5b\xe3\x5d\x54\xbb\xde\xa8\x1f\xd4\x27\xc7\x7e\xb1\xbb\x6f\x07\xeb\x1b\xdd\xf9\xc8\xfb\xec\x1d\x8c\x8e\xcf\xdd\xe3\xe3\x83\xfe\x68\x6b\x7d\xda\x5a\xdf\x1e\xef\xdf\xdd\x9e\x4d\x2e\x2a\xcf\x27\xe1\x41\x17\xf6\x82\xf5\xe9\xfe\xc9\xe8\xe8\xfc\xe4\xac\x5e\xaf\x37\xeb\x27\x3b\xa3\xeb\xeb\x56\xab\xdd\x6e\xec\xed\xee\xee\x1d\x34\x9b\x17\x17\x17\x17\xfe\xe8\xfa\x7a\x3e\xbf\xbf\x6f\xec\x79\xde\xdb\xe6\xc1\xc1\x8d\x33\x1a\x8d\xfc\xfb\xfb\x46\x63\xfb\x74\xfb\xdd\x74\xba\x7f\x74\x7c\x3c\x9b\xf8\xfe\xfa\xfa\xf3\xe7\x8e\x63\x18\x3b\xcd\x77\xef\x7a\xa7\xed\xf6\xf8\x6e\x6e\x76\xba\x9f\x21\x34\xf6\x3e\x7c\x98\x3f\x3c\x7c\xf6\x3c\xef\xed\xfb\xe3\x63\x00\xfa\xfd\x97\xeb\xfb\x27\xe3\xa3\xf3\xfa\x49\x7d\x84\x08\x74\x32\xba\xe8\x76\xb7\xb6\x1a\x0d\xd4\xee\xee\x41\xf3\xc0\xb6\x2f\xfa\xa8\x8d\xe6\xf6\xc9\x78\xf7\xac\x8e\x08\x36\xc2\xb4\xdc\x7a\x3b\x6e\xb5\xf6\x83\xd6\xe9\xbb\xa0\xf5\x70\x64\xb4\x5b\xef\x5f\x3a\xf3\xd6\xce\xc3\x87\xd6\xa1\xd1\x39\xed\xec\x98\x1d\xf4\x6f\xd0\x31\x3f\x0c\x26\x1f\x3e\x0c\x3c\xf4\x67\x76\x27\xcd\x4e\x6f\xf6\xd6\xec\xce\x9a\x9d\x5e\xa5\xd9\x19\xbc\x5a\xef\x5c\xef\x35\xbb\xd1\x5f\xf1\xed\xda\xf0\xd5\x1a\xfa\x33\x46\x47\x7b\x27\x9d\x7a\xa3\xbe\x55\x3f\xa8\x7f\x3e\xee\xf6\x3e\x1f\xd8\x4d\x67\xef\xe6\x9d\x73\x6c\x37\xb7\xaf\x9b\x76\x50\x1f\x6d\x8d\x11\xce\xf5\x46\x7d\x7f\xec\x34\xa7\xe3\x9b\xa3\xfd\xe9\xa4\x7b\x03\x27\x93\x5e\x38\x71\x60\x38\x59\x7b\x17\x38\x0f\xef\x82\xd1\xfd\xce\xf5\xcd\x1d\x1a\xea\x2d\x3c\xbc\xe8\xdf\xc1\xd6\x74\x72\xd3\x15\xff\x4d\xba\x5d\x77\xd2\xf9\xaa\xbf\x93\xbd\xcf\xcd\x83\xd1\x56\xbd\x3e\xda\xaa\xcf\xd7\x76\xfa\xf3\xb5\x9d\x71\xab\xd3\x1c\xcf\xd7\x9a\xc1\xd6\x1d\x19\xd7\x7b\x34\xf3\xeb\x5b\xf5\x33\xe7\x61\xb7\xff\xb9\xf5\xb6\xff\x70\xfa\xb6\xff\xf0\xf0\xb6\xff\x30\x7f\x3b\xd8\x39\xdd\x77\x77\x1e\x8e\x5e\xed\xdc\xbd\x6f\xd4\xcd\xee\x16\x42\x73\x54\x6f\x12\x64\xb7\xea\x87\xad\x87\xdd\x7e\xeb\x61\x1f\xd1\xf9\xcc\x59\x3b\xed\x7f\xee\x7c\xe8\x3f\xac\x7d\xe8\x1b\x6b\x1f\x10\x8d\x3b\x5f\xf3\xef\xe2\x2d\x19\x4b\x44\x8b\xc6\xde\xa0\x3b\xed\xde\x8c\xea\xa3\x87\xf1\xde\x0e\xa1\x39\x69\xf5\xc2\x3f\xb9\xde\xde\xae\xb3\x39\x79\x52\xaf\x37\x9d\xeb\x8d\x46\xc3\x36\xf6\xe1\xc3\xc3\xe9\xf8\x78\x32\x3b\x1f\xdd\xb4\xda\x3d\xe3\xe5\xde\x7e\x67\x3f\xf0\x66\xf6\xe4\x62\xb2\x46\xe6\x55\xef\x70\xbd\xbb\xbe\x31\x7f\x78\x70\xbc\x83\x49\xff\x7c\x34\x19\x34\xec\xfe\xcb\x8d\xfd\xed\xfd\x1b\xd7\xdf\xf7\x4e\x26\xde\xfb\x63\xd0\x3a\xe8\x6d\x3d\xaf\x4c\x8d\xe9\xf4\xe1\xe1\xda\xf3\xbc\xfa\x8b\xbd\xbd\xf3\xbd\x7e\xff\xe5\xc6\xd4\x98\xfa\x6f\x6f\x06\x2e\x86\x77\x3e\x68\xd8\x1b\x37\xce\xc6\xee\x7e\xf8\xf0\xe0\x4f\xce\x26\xf7\xc0\x9c\x75\xda\xbd\xfe\xcb\xf5\x8d\x8d\x8d\x78\x3e\xdf\x74\x9e\xf7\x1f\x82\x9d\x8d\xf5\xee\xfc\xe1\xc1\xf7\xec\x49\x65\xb6\xd1\xe8\x54\xfa\xfd\x97\x2f\x36\xba\xfb\x0f\xb3\x87\x13\xef\x9a\x9b\xf7\xa4\xee\xc8\x6d\x9c\x98\x17\x5b\x75\xbc\xed\xb4\xae\x2b\x5b\x9f\xf7\xbc\x8b\xe6\x68\x78\xb1\xbe\x77\x71\x7d\x72\x3d\x75\xf6\x4e\xdf\x7a\xed\xf7\xdb\xd3\xe3\xd1\x61\x7f\x34\x9d\x6e\x3d\x3f\xfa\x3c\xee\x1e\xdc\x5c\x1c\x9d\x9c\x5d\x8f\xbd\xe9\x87\x76\x83\xee\x1b\xa3\x7a\xbd\xb1\xb3\xb3\xbb\xdf\x6c\x5e\x9c\x9d\x9d\x8d\xa3\xf5\xbb\xb7\x87\xd6\xaf\x0d\xfa\xfd\x91\x7f\x73\x73\xd0\x6e\x3b\x0e\x3c\x38\x78\xf7\xfe\xf0\x30\x08\x82\xe0\xe5\xdd\xfd\xfd\xf3\x87\xed\x87\xcf\x10\x06\x87\x87\x27\x27\x77\x77\xf3\xf0\x68\xff\xe0\xdd\xf6\x87\x4e\x67\x72\x7c\x14\x02\x1b\xf4\x9f\xaf\x6f\xb4\xf7\x66\x6e\x38\xe8\xda\x07\xcf\xcf\xcf\xce\xc6\xfe\x74\xda\xae\x1b\xdd\x2d\xba\x57\x34\xb6\xc6\xe3\x9d\x9d\xbd\x3d\xd6\xee\xf4\xfa\xfe\xde\x99\x78\x7e\xb3\x79\x90\x9e\x4b\x2f\x1b\xa7\xef\x77\x5a\x6b\xad\xd4\xdf\xfb\x97\xad\x79\x6b\xc7\xe9\xb4\x76\x9c\x0f\xad\x43\xc7\x3c\x3d\x7c\x30\x3b\x9d\xdd\xce\x87\xc1\xc4\xec\xba\x6b\x1f\x7a\xe1\x7a\x67\x50\x79\xfb\x61\x68\xae\xad\x0d\xcd\x75\x73\xb8\xbb\xde\x75\xcf\xbb\xd9\xbf\x06\xdd\x57\x71\x63\x3b\xcd\x66\xf3\xe2\x84\xe0\xd4\x6d\x39\x9f\xb7\xdf\xbe\xf5\x9a\x47\xc7\x27\xa3\xc9\x56\x44\x33\x3a\xc3\x5b\x6b\x3b\x67\xf3\x8d\x9d\xfe\x7d\x77\x67\xdc\x7e\xd1\x1c\x9f\x0e\x9a\xc1\xc3\xb0\x69\x9c\x3e\x3b\x34\x8c\xd6\xd1\xee\xd9\x69\xeb\xe8\x6c\xde\x19\x18\xad\x8e\x69\xcc\xbb\xee\xd9\x43\x77\x60\x3c\x74\x5c\xc3\xec\xb8\xe6\x87\xae\x5b\xe9\x75\xdd\xf3\x17\x83\x57\xe7\xbd\xee\xab\xb5\x67\x83\xe4\xdf\xab\x81\x49\xf7\xe6\x51\xfd\xa4\x31\x6a\x3e\x4c\xda\x4d\x67\xd2\x6e\x7e\x9e\x1c\xaf\x1b\x4e\x7b\xab\xd9\xde\x83\xf5\x66\xbd\x8b\x57\x5a\x63\x74\xd0\x7c\xe1\x1c\x37\xd7\x3f\xb7\xbb\xcd\xf1\x79\xb7\x39\x01\xdd\xae\xe7\x74\x6f\xa6\x93\xee\x8b\xe9\x8d\xdd\x3c\x20\x7b\x0f\x5e\x12\x3b\xf4\x3c\x1b\xd9\xcd\x1b\x6f\xd2\xbc\xf1\x9c\x26\xf4\x9c\xe6\xba\xef\x74\xbb\x53\xa7\x7b\x73\x33\xb3\xf7\x83\xfb\x9b\x17\x70\xf6\x35\x7f\xe3\x2d\xff\xbe\xe1\xd7\x4f\xf0\x39\x30\xb8\xdf\xc7\x7f\x9d\xf6\xfe\x4e\xe7\x7e\xbf\xde\x6f\x6e\x77\xc6\xbb\xf5\xc3\x11\x26\xdf\xdd\xf6\x4e\xff\xc4\x6c\x8e\xe7\x2f\x9a\xc1\xe9\xf0\x90\xd2\xeb\xf0\x95\x71\x7a\xf8\xaa\xf3\xa1\xb5\xbb\x7b\x17\x9f\x29\xec\xe0\xbe\xdb\xaf\x1f\xb6\x5f\xec\xf4\x1f\x06\x3b\xe3\xb3\x4e\x33\x34\x3b\x4d\xd3\xec\x34\xc3\x4e\xe7\xe4\xd5\xd7\x6c\x23\xe6\x69\xeb\xc8\x78\x68\x6f\x19\xfb\x0d\x34\x96\x88\x7c\x9f\x4f\x4e\x2e\xba\xd7\x5b\x8d\x83\xfe\x74\xab\xd1\xfb\x6c\x5e\x34\xb6\xdf\x4e\xf6\xeb\xe7\xd7\xc7\x27\xf6\xf5\x7c\xcb\xd9\x99\xce\xeb\x0f\xdb\xdb\xe3\xa3\xa6\xd7\x3e\x39\x69\xf7\x5f\xcd\xf6\x9b\x1b\x77\x77\x0f\x0f\xeb\xbb\x4d\x7f\xf7\xac\x75\x38\x5a\x37\xdc\xa3\xf5\xf5\xd1\x76\xff\x60\xf2\x61\xc7\x73\x8f\xeb\xd7\x68\x7d\xee\xd4\x77\x77\x50\x17\xe6\xf7\xdb\x6f\x77\xf6\xde\xbe\x3b\x6e\xf7\x27\xa3\xd6\xe1\xfa\xbc\xd1\xad\x9c\xdd\x6f\x8f\xbd\x69\xf7\x7d\xbb\xdd\x1e\x87\xee\xf5\xe8\xe1\xa0\x7d\x3e\xd9\x99\xbc\xff\xec\x1d\xbc\x6f\xb7\xfb\x93\xb1\xbb\x75\xfd\xce\x99\x56\xc6\x3b\x93\xe3\x7d\x78\x82\x17\xea\x5b\x34\xef\x1a\xcf\xdf\x9e\x8c\xb7\xce\xb6\x4e\xd0\x02\xd9\x6b\x1e\x9e\x8d\xfc\xe9\x75\xb7\xd5\x7e\x70\xbc\xc9\x78\xf7\xdd\xc1\x21\x38\xeb\x9f\x8d\xfd\x8d\xe9\xc6\xfc\xf4\xe1\xf3\xb8\xf9\xf6\xe2\xf4\xe0\xf0\xc4\x1e\x8c\xe6\xf5\xe9\xb4\x35\x3f\x7d\x70\xbc\xb7\x6f\x9b\xa7\x87\x27\xe0\xbc\x3f\x7a\xb5\xb5\x85\x18\xa1\xe6\x21\x9a\x42\xdb\xf5\x13\x67\x64\x74\x77\xce\xea\x3b\x8d\x7e\x7d\xfd\x6d\x7d\xfc\xb0\x71\x68\xb4\xe7\x27\x6e\x7b\x7e\xb4\xfb\x30\x6f\xb9\xe6\xfc\xe8\xc8\xdc\x38\x33\x1e\x4e\x4f\xcc\xb3\x4e\xab\x73\x3f\x3f\xea\x98\x9d\x56\xa7\x32\xef\x1e\x75\x7a\x17\xee\x69\xeb\xe8\xe8\x74\xd8\x3a\xeb\xb4\x8e\x76\x3b\xad\x4e\xc7\xd8\x40\xcf\x3b\xe1\xc3\x43\xcb\xad\x74\x5a\x9d\xb5\x56\xb7\x63\xf6\xba\x6e\x65\xde\x2d\x76\x36\xba\xe6\xda\xc3\xd1\xd1\x39\x7a\x36\xc0\xe5\x4c\x73\xa3\xfb\xea\xc3\xab\x6e\xf8\xa1\x3b\x8a\xda\x38\x6d\xb5\x48\x1b\x0f\xdd\x8e\xf9\xe2\xc2\x3c\xfb\xd0\xea\x9c\x75\x3a\xee\x79\xa7\xd5\x39\xff\xd0\x75\xcf\x87\x83\x4e\xe7\x55\xf7\x55\x7b\x8e\xca\x1d\x1d\x55\x5a\x9d\x4e\xa7\xd7\xed\x54\x86\x9d\xb0\xd3\xed\xbe\x5a\xff\xd0\xea\x7c\xe8\x0c\xdc\xca\x70\xd0\x39\x6f\x75\x8b\xe7\xaf\xc0\xee\xfa\xb0\xfb\x6a\xbd\x75\x8d\xdb\x35\x5f\x75\x4c\x54\xee\x62\xd0\x75\x2f\x7a\x03\x73\xed\xfe\x7a\x3a\x99\xb8\x37\xfe\x8d\x73\x33\x71\x9c\x9b\x9b\x9b\xc9\x4d\x38\xa9\xdc\xc0\x1b\xb3\xe7\xcf\x9c\x1b\xff\x06\x1e\x04\x13\x70\x03\x6f\x1e\x0e\x82\x9b\x22\x84\x93\x07\x88\xca\xc1\x1b\xe7\x26\x70\xee\x6f\x6e\x9c\x7b\x18\xdc\x3c\xbc\xb8\x71\x1e\x60\x78\xe3\xdc\xcc\x6e\xd6\x0e\x02\xd8\xe8\xc1\x9b\x5b\x18\xce\x5e\xbe\xbb\xbb\x7f\x80\x33\xaf\x71\x03\x6f\x9e\xc3\x60\x46\xca\xcd\x6e\xd6\xe0\xdc\x7b\x0b\x67\x9f\xb7\x5e\x4e\x1d\xef\xdd\xf4\xe6\xf6\x66\x76\x33\x79\x3e\x9b\xbc\x80\x33\xef\xed\x61\x38\x31\xfa\xfe\x73\x78\x73\xeb\xc0\x77\x77\x70\xfb\x20\x98\x3d\x83\x33\xa7\x68\x0c\xda\xbb\xad\xce\x87\x0f\x03\x77\x77\xed\x73\xa7\xd2\xe9\xbe\xaa\x98\xc3\xc1\xc6\x46\xef\xd5\xfa\xf9\x7d\xef\x74\xf6\x0c\x0e\x6f\x0f\xfa\x60\xf6\xdc\xb8\x1d\x6d\x3c\x54\x5e\xf6\x67\xbd\x6e\xf8\xf6\xdd\xd1\x6c\xef\x45\x31\x2c\xbe\xec\x3d\x1c\x3c\xbc\xba\x3e\x6e\x3e\x77\xbb\x1b\x37\x95\x9e\x7d\x73\x03\xbb\xb3\x9b\x9b\xe2\xec\xbe\xe7\xdc\x6e\xc3\xe3\xb0\x71\xd6\xe9\xbc\xfa\xd0\xed\xb8\x6b\x0f\x83\xc1\x79\x6b\x30\x5b\x7b\x00\xc7\xe7\xaf\xc0\x91\x7f\x03\x6f\x66\x0e\x7c\x77\x8b\x70\xf9\xfc\xb6\x3f\x9f\xbc\xec\xcf\x1e\xea\xfd\x0f\x83\xa0\xf2\xd9\xbd\xfd\xe0\xf5\x0e\xc2\xc6\x9a\xf9\xf9\xfe\x7d\x7f\xff\xa1\x72\xdb\x9b\x7b\x6f\x5f\x1c\xcf\xde\x57\x06\xf6\xf1\xed\x76\xdd\x7b\xfb\xf9\x0e\xcd\xe7\x1d\x3c\x9f\x77\x5e\x4e\xeb\x7e\x7b\x07\xd6\xfd\xfa\x7a\xfd\xa4\xbe\xd7\x04\xfd\xb3\xb3\x79\xfd\x66\xde\xde\x32\x76\x76\xdf\xdd\x34\x0f\x5a\x67\x87\x27\x17\xd7\x7d\x63\xe3\x60\xde\xba\x3f\x3b\xdb\x99\xde\x34\xbb\xa7\x67\x07\xc1\xc5\xa8\xd3\xdc\xd8\xbf\xdf\xbf\x3f\xdd\x19\x4f\xfd\x83\xee\x69\xfb\x6c\x04\xae\xa7\x9d\xad\x03\xfb\xf9\xde\x99\xe9\xee\xc3\xc0\xee\x9d\x5d\xcc\x8c\xd1\x74\xab\x7b\x60\xb7\x2b\x67\x86\x3b\xbd\xb9\xe9\xf7\xce\xce\xfd\xbb\xd6\xc5\xbc\x7e\xbf\xf1\xbc\x35\x7e\x18\x8f\xf7\xa7\xbd\x93\xf3\xf6\x64\x1c\xa2\x36\x36\x9e\x37\xc6\xdb\xe3\xfd\x83\xa9\x7d\x72\xd6\x36\xfc\xb0\x13\xcc\xf7\xef\xed\xc6\x67\x63\xbc\xdb\xbc\xb1\x4f\xda\x67\xc6\x64\x1a\xe2\x36\xce\xc7\xbb\xe3\xf0\xe0\xb0\x77\x71\x76\x5e\x59\x9f\x9b\xd7\x73\xd4\xc6\x78\xc7\x0d\xf7\x0f\xfa\x17\x67\x67\x15\x23\x9c\x4f\xfd\xcf\x73\x67\x6b\xfc\x30\xf6\xf6\xbd\xfd\xc3\x36\x6a\xc3\x3d\xda\xb7\x37\xba\xce\x19\x6a\x63\x72\x71\xdc\x6e\x8f\x6f\x42\xb7\xbb\xdf\x7e\xd8\xbf\x3f\xc5\x6d\x5c\x1c\x1f\xb7\xc7\xe3\x69\x38\xdd\x3f\x38\x3d\xd8\x3b\x33\xc7\xd3\x83\xe0\xa2\xd3\x3e\x9f\xdc\xcd\xcd\xe9\xbc\xdd\xdb\x3e\x47\xfd\xd8\x3f\xe8\xdb\xed\xf6\xe4\x2e\x9c\xbb\xd3\xde\xe9\xbb\x8e\xb9\xb3\xeb\xbf\x23\xfd\x98\x84\x61\xa7\x0b\xed\x9b\xb5\xbd\xb3\x9d\x29\xdc\xb7\xcf\x2e\xda\xc6\xcd\x3c\x6c\x75\x61\xef\xf3\xdb\xc9\xde\x78\x3a\x85\xf6\x49\xfb\xdc\x98\x4c\xe7\xad\x6e\xef\xb3\xb3\xb6\x37\x71\x8f\xe0\x91\xdd\x3b\xb7\x27\xeb\xf3\x8d\xeb\x69\xaf\x77\xba\x76\x3e\xf1\x8e\x0e\xe0\xa0\x77\x76\xe6\xa3\x7e\x4c\x3f\xf7\x7a\x6b\x9d\x89\x77\x7b\xdb\x3c\x20\xb4\x72\x8f\xf6\x1d\xdb\x59\xdb\x33\x27\x07\xa1\xdf\x3d\x3d\x6f\x3b\x37\x73\xb7\xbb\x6f\xf7\xb6\xdf\x4e\x2a\xee\xcd\xe1\x71\xf7\xb4\x7d\x31\x9e\x4c\xe7\xdd\xfd\xf6\xe7\x06\x6a\x23\x0c\x66\xb6\x7d\x6e\x4f\xee\xe6\x1b\xd3\x69\xdb\x79\xf1\x61\x52\xf1\x8e\x82\xa3\x61\xef\xec\xfc\xe6\x0e\xb5\x71\xda\x7e\xf1\xe1\xfc\xdc\x3b\x7e\x3f\x1b\x76\xce\xeb\xf5\xed\xfa\xa8\x7e\x58\x3f\x69\xd6\xf7\xbb\xf6\xf6\xc9\x78\xff\xac\x8e\xf7\xbc\x9d\xbd\xe6\x59\xb0\xb1\x6f\xb7\xb6\xee\x1f\xb6\xc7\x37\x8d\xb3\x77\x87\xc7\x6d\x30\xed\x8f\xe7\x8d\x83\xb6\xdb\x79\xd8\xd9\x69\xee\xf7\x3e\x20\x22\x4e\xe7\x83\x8b\x8d\x46\xe3\xdc\xdd\x1d\x07\x37\xef\xfa\x9d\x73\xfb\x7e\x3c\x45\x74\x78\x77\x52\xaf\xfb\x74\xcf\xdb\x1a\x57\xf6\xe7\x27\x3b\x07\xdb\x9d\xf1\x7e\x7d\xe7\x04\x3d\xdb\x6b\xa2\x09\x57\xbf\xe8\x4e\x5b\xce\xb6\xb1\xe5\x8c\x77\xf7\x0e\x4f\x9a\x37\x67\x17\x68\x7e\x4c\x5b\xad\xcf\x68\x3c\xf7\xde\x1e\x1e\x9f\x38\x7e\xf7\xe2\xe5\xc6\xd6\x41\x63\xb2\x73\xb6\xe3\xdf\x1c\x5c\x9c\x9d\xb4\xc7\x63\x77\x7a\x82\x18\x04\xbf\x8f\x0e\xd9\xde\x51\xe3\xec\xff\x63\xef\x4f\x9b\x1c\x45\x92\x45\x61\xf8\xfb\xfd\x15\xd9\xba\x66\x6d\x99\x87\xec\x04\x01\xda\xaa\x4e\x9e\x79\x83\x4d\x2c\x42\x88\x55\x82\x3e\x6d\x63\x08\x10\x20\x56\xb1\x08\x44\x4f\xbd\xbf\xfd\x31\x24\xe5\x9e\xd5\x5d\x3d\x77\xe6\xd8\x7d\xcc\x9e\x0f\x55\x82\x08\x0f\x77\x0f\x0f\x0f\x0f\xf7\x08\x32\x7c\x4d\x9c\x7c\x84\x07\x06\xd0\x81\xde\xc7\x69\x3d\x05\xd1\x34\x7d\x97\x91\x4f\x42\x30\xa7\x35\x3a\x4b\x0f\x26\x2d\xaf\xfd\xba\x72\x5d\x4b\xb5\xc7\x1b\xa6\x63\xf2\x43\xb1\xd5\x4c\x19\x84\x55\xe0\x9a\x27\xf5\xb4\x99\x0f\x99\x3c\x29\x1c\xd5\x5c\x87\x25\x00\x52\x07\x80\x4c\x95\x0d\xcd\x65\xcb\xb9\x1c\x03\x1e\xb0\x80\x06\x66\xd6\x2a\xfb\x6e\x1f\xa7\xf4\x7c\x21\x4a\x9e\xef\x2c\x81\xdf\x8e\x82\x13\x4d\x85\xc5\x3c\xe5\x44\x49\xf6\x7d\xa3\xe7\x99\x24\xe7\x74\x47\x45\xbd\xaf\x23\xcb\xb5\xe9\x04\x7d\xfc\x24\xcc\x29\x9a\xe6\xb8\xdc\xd2\x54\x59\xf6\x83\x80\xe1\x85\xb1\x4a\xd2\x34\xcd\xe5\xf9\x46\x96\x65\x3f\x0c\x62\x86\xeb\x97\x8c\xc3\xb9\x73\x0b\x42\xb1\x58\x89\x8c\x6c\xa2\x5f\xef\x48\xc0\x46\xe7\xf5\x4e\xdd\x47\x6c\x66\x29\x73\xc1\x31\xfd\x98\xe7\xd5\x9e\x27\x9a\xce\xf9\xc3\x86\x13\xe5\x30\xca\x5b\xc3\x1c\x11\xe3\xb9\x1e\x33\x45\xc9\xf1\x5a\xaf\xdb\x43\x37\x20\x04\x5b\xc5\xe6\xeb\x68\x29\x14\x8e\x61\xda\x63\x3c\xc8\x5d\x2b\x2c\xa8\xcd\x66\xc8\x1c\xc4\xca\xb3\x6d\x1b\xc9\x7a\x7d\x2f\xba\x6d\x04\xc0\xb2\x61\x88\x86\x6c\x40\x5b\x31\xcb\xd0\x31\x49\x35\x43\x2c\x52\x07\x11\x70\x80\x4f\x92\x11\x33\x97\x7a\x19\xeb\x66\x96\xb5\xa3\x51\x4b\x91\x64\xca\x24\xec\x4a\x12\x6c\xd3\xbc\xf8\xd1\xbd\x6f\xd7\xfb\xe0\x92\x28\x5e\x7d\xeb\x36\x0f\xce\x7e\x39\xfb\xe4\x6f\xe3\x6f\x7d\xf5\xb7\x3e\x78\x04\x00\x99\x37\xfd\xf2\x59\x32\x4c\xe4\xe0\x82\x92\xd1\xbd\x1f\xc9\x81\x43\xef\xbb\x12\xcc\xda\xcc\xfa\x58\xdb\xdf\x92\xd7\x58\x5b\xd4\x4d\xf5\x52\x16\xec\xb7\x4f\x65\x8e\x6d\x3e\x95\xed\x9f\xcb\xcc\x0f\x71\xfa\x0f\x95\x31\x55\x51\x6c\x37\xeb\x75\x52\x57\xbd\xdf\x6d\x8f\xd1\xe1\x30\xce\x8b\x42\x26\xc0\xb1\xc9\x58\xb0\x9a\xb2\xf3\xe1\x65\xc4\xc8\x53\x73\x96\x17\x0d\x70\x00\x88\x3d\x95\xb0\x92\x24\xc9\xa6\x1b\x70\x66\x3e\x16\x54\xba\x57\x8d\x4c\x5f\x0a\x92\xea\xc7\x01\x43\x08\x82\x1a\x77\x5a\x94\x0b\xb9\xad\xea\xeb\xe8\x60\x39\x43\x5e\x15\xc2\x75\x1c\xc7\xbd\x8d\xd6\xf4\x75\x94\x9d\x69\x12\xa7\x75\x3c\x8c\xf9\x43\xcf\x87\xe4\x87\x71\xb5\x54\xce\x7c\xa0\x34\xc3\x09\xf6\x66\xbd\xce\xca\xaa\x8d\x09\x41\x3d\xa0\x43\x74\x2e\x88\x4b\xd3\x52\xf5\xe4\x50\xb5\x6e\x10\x16\xd4\x3c\x42\x62\xbe\x5c\xf4\xfd\x1a\x9f\x82\x78\x69\xd9\x76\xd7\xf7\xb5\xac\x84\xed\x66\x6d\x66\xa7\x61\x3f\xfe\xaa\x9d\x0c\x87\x89\xb0\x58\xba\x96\x4d\x36\x94\xbf\x4d\x01\xf0\xe9\xb0\x71\x4c\xdb\xc8\x17\x2b\x12\xf1\xae\xfa\x48\xd2\x04\x00\x0a\x79\x19\x67\x51\x96\x7d\x3f\xd0\x7b\x7d\x18\x93\x67\x3d\xe7\x74\x45\x10\x3d\xd3\x71\x2f\x7b\x07\xf4\x9e\x62\xd3\x8c\xbb\xc0\x05\x3c\x68\x47\x41\x8b\xd0\x97\x78\x40\x96\x6a\xe7\x69\x8e\xd0\x7a\x54\xa4\x2c\x2b\x9f\xe1\x62\x86\x20\xaf\x73\x84\xcb\x4c\x45\x55\xc3\xc8\xed\xe1\x84\x33\x5c\x96\xf3\xfd\xfc\xf2\x93\x38\x66\x78\x41\xb0\xd7\x57\x38\x59\x55\xc3\x24\x8e\xcf\xf8\xae\xb1\x91\x25\xab\x17\x7c\x67\x38\x5d\xef\xe5\x6f\x29\xf2\x19\x8e\xe1\x85\x9e\xbf\x0b\x9c\xa2\xaa\x7e\x14\x9c\xc7\xc4\xbe\xb4\xe5\x9e\xf0\x9d\xdb\xea\xfd\x1c\xa4\x88\x86\x04\x80\x5c\x65\xbc\xb0\x12\xb8\xa4\x41\x70\x87\xa3\xf4\xf9\x9e\x53\x7d\x12\x50\x00\x00\xc7\x0d\x0e\xe3\x53\xba\x3e\x91\x14\x93\x72\xea\x5a\xc5\x55\xd9\x09\x88\x70\x11\x30\x6a\xb8\x8f\xd9\x72\x6d\x70\x73\x47\x37\x87\x96\xdc\xe6\x8a\xa2\xe9\xc9\x31\x4b\xe7\x82\xa8\xeb\x90\x6b\x22\x59\xdb\x8c\x4f\xba\x11\x65\x59\x64\x2e\x54\xe7\x70\x1a\xba\x65\x43\xf4\xce\x3d\x09\x40\x43\x93\x74\xe7\xeb\x80\x60\x88\x3d\xd7\xf3\x12\x00\x39\x07\x02\xd9\x34\x4b\xd0\x6e\x80\x4c\x8f\x08\xee\x44\xfa\x8d\xd0\xe2\x4a\x87\x24\x11\x05\x08\x92\x3e\x81\x93\x12\x32\xbe\x48\x07\xd2\xc1\xb7\xf9\x50\xf2\x09\x73\x33\xa7\x38\x02\x07\xe2\xde\x44\x91\xb0\x39\x66\x62\x09\x98\x8d\xdb\x0e\x39\x4e\xf6\x09\x72\xce\xb5\x32\xad\x47\x1c\x49\xd1\xe8\x08\xc7\xfd\xe1\xaa\x16\x69\x5e\x8a\xd6\x31\xe5\x5f\x02\x34\x1c\x00\xc0\xfa\x00\x44\x3e\xe2\x73\xa1\x60\x4b\x26\x2e\xed\x1b\x48\xa6\x79\x5a\x89\x02\x41\xa3\x47\xd7\x7d\x95\x05\x20\x7c\x30\x05\x3e\x29\x33\x21\x17\x72\x56\x36\xde\x37\x90\x48\x3d\x83\x01\x39\x7e\xbd\xe7\x47\x82\x2b\x01\x70\x89\xa5\x48\x10\xac\x2c\xd4\xd5\x00\x90\x4d\xa9\xb9\xd6\x48\xf3\x7c\x1b\x65\xe7\xf0\x25\x71\x26\x38\xa5\xf8\xa7\xe5\x5e\x1c\xcf\x34\xd0\x49\x5a\x34\xc1\xdd\x74\x51\x6f\xbd\xa6\xdc\xda\x7e\x62\x85\xcb\x1c\x77\x11\x61\x5b\xd2\xad\x6a\xc2\x1c\xb6\xd1\xb5\x86\xf7\x23\xcf\x72\xd3\x21\x6b\xe2\x5d\xb6\xc7\x30\xf8\x30\xa3\x98\xea\x88\xe9\xe1\x10\xde\x27\xed\x24\x26\xf5\x6a\x55\x0d\xa7\x70\x69\xee\x66\x62\xe4\x83\x12\xcc\x15\xc2\xc5\x7c\x71\xbe\xc2\x4b\x1d\x3a\x90\x2b\x93\x38\xcd\x8c\x02\x60\xe6\x81\xcf\xca\x35\xb6\x46\x61\x6f\x37\x0c\x25\xb8\xc6\x1c\x7f\x6a\xcd\xe1\xd1\x64\xaf\x43\xf9\x2a\xd9\xce\x69\x5e\xf7\xa3\x5d\x6a\x73\xd8\x8c\xda\xae\x0e\xad\xeb\x5a\x79\xb0\x15\x95\x84\x74\x46\x85\x10\x47\xba\x18\x9d\xda\x69\xc8\x65\xb5\x3f\x72\xf9\xe3\x50\x32\xd9\x99\x3d\x9a\x39\x10\x36\xf7\x8e\x07\x67\x62\xa1\x1b\xc6\xa5\xf6\x0b\xf8\xc0\x76\x95\xb2\xdb\xaf\xe9\x75\xcb\xc3\x76\x38\xf7\xba\x7d\x16\xd4\x33\xb6\x24\x2d\x57\x26\x84\x6d\xc8\x22\x46\xa5\xc3\x58\x32\x1d\xc5\xd4\x1c\xd5\x60\xa8\x8d\x2c\xc7\x4c\x37\x10\x0d\xd9\x87\xee\x08\xb7\x9a\x2f\x65\x1a\x33\x87\xda\x89\xba\x3c\xc8\xf8\x12\xca\x00\x20\xd4\xb6\x36\x36\xcd\x64\xc2\xbb\xa3\x6d\x92\x68\x49\xcd\xdb\xd1\x66\x32\x42\x66\x2c\x8b\x44\x73\x53\x38\x02\x65\x95\x37\x3b\x49\x05\xab\x93\xba\x02\x0e\x4a\x47\xa9\x47\x35\x04\xca\x36\x00\xf0\xb1\x4c\x99\xc2\x68\x34\x1d\x2f\x27\xb3\x39\x4f\xee\x5b\x1c\xca\xc7\x36\xa5\xbb\xe8\x64\xa3\x1e\x95\xd3\x66\xc1\x47\x1c\x39\x32\xad\xe1\x7e\x71\x1c\xc5\xb9\x14\x58\x5a\x87\x94\x10\x95\xa4\xcc\xd0\x0d\xf3\xaa\x48\xc5\xb1\x4e\xf9\xdc\x7a\x38\xdc\x04\x53\x87\xd5\x5c\x04\x56\x93\xad\x2f\x01\xb7\x75\x4e\xeb\x46\xec\x63\xb1\xc2\xc2\x76\x4b\x75\x67\x6d\x3b\x21\x34\x0b\x01\x87\xaa\xd5\xa1\x4a\x45\x63\x21\x79\x6b\x69\x8e\x46\xc6\x51\x37\xa1\x1c\x5d\xf1\x70\x10\x91\xf1\xc8\x66\x14\x09\xd7\x16\x73\x73\x65\x39\x9c\x8e\x1d\x4d\x71\x18\x64\x81\x8a\xef\x59\x26\x4e\x4f\x6b\x18\xd5\x46\xfc\x24\x9a\x97\x6a\xb0\x59\x6b\xd3\x25\x32\x32\x20\x8c\x84\xe7\xab\x03\x3f\x94\xdd\x75\x58\xce\x57\x2d\xdd\xb1\x87\x0d\xa7\x12\x2b\x2e\x4c\xd7\x94\x5e\x4d\x38\x8f\x3f\xc2\xbb\x91\x54\x75\x44\x9b\x6b\x9d\x65\xc9\x10\x69\xd2\x01\xbb\xd9\x1d\xe6\xb8\x0d\x08\x39\x0e\x27\xe8\x9c\x0f\x96\x78\xc6\x1f\xa1\x60\xe3\x80\x1c\xf0\xbd\xf7\xbd\x9e\xce\xd1\xc2\x06\x1b\x7c\xa9\x3b\x80\x48\x8d\x6a\x32\x21\x3b\x0b\x10\xd0\xa2\x64\x1d\xc3\x83\x64\x3c\x80\x64\x62\xd8\x04\xb0\x55\xf0\xda\xaa\x55\x09\x97\x9b\x26\xbe\xe6\x01\x57\x2b\x65\x29\x63\x74\x3a\xf5\x67\x04\xeb\x18\xab\xa0\x55\x15\xc5\x8c\x84\xb5\xc5\x6f\x24\xc6\x5c\x8d\x0d\x1c\xd0\x45\x98\xf3\x19\xbd\xdf\xf8\x00\x6d\x78\xc5\x62\x55\xba\x4d\x78\x2a\x99\x32\x08\x18\xfb\xf4\xa6\xf4\x47\x36\x6e\x95\x60\xc1\x55\x85\x48\x4c\xa0\x5d\x30\xd1\x85\xc5\xd1\x5c\xab\x6e\x55\x52\x0d\xb3\x1b\x26\x9d\xd9\xa9\x43\x66\x8a\x2e\x87\x01\x2a\x9d\x2a\xd4\x9b\x8c\x89\xa1\xec\xaa\x88\x0a\x4a\x39\xf4\x17\x2b\x51\xf2\x79\x75\xc6\x2b\xe4\x24\x60\x36\x60\x1c\xe9\xe5\x82\x59\x0a\xd4\xc8\x01\x23\x47\x53\x8e\xbe\x7a\x58\x39\x18\x13\xcf\x66\xed\x1a\x93\xb5\x10\x16\x59\x65\x4a\xd1\xc9\x78\x9d\x1e\x6d\x43\x06\x5a\xa3\x1c\x14\x61\x7f\x6a\xe4\x19\x51\x14\x41\xed\x2b\x28\x10\xb4\x72\x25\x7b\xb2\x13\x15\x40\xf2\x29\x29\xd8\x6a\xb4\x7a\x2a\x36\xf2\x08\x21\xa3\x65\xbe\x71\xab\xf5\x7e\x3d\x59\xa3\x30\xa6\xef\xbd\x0d\xa6\xcf\x46\x3e\xe7\xda\xf1\x4e\x01\x19\x48\x0e\x3a\x1d\x36\xf9\x08\x0b\x48\xd7\x21\x9b\xd8\xc7\x27\x3b\x67\xbb\xeb\xe2\x44\x16\x81\x6f\x13\x51\x30\x71\xa0\x9d\x43\xf9\x0c\x14\xee\x1a\x6a\xb3\xeb\x3c\x7f\xb1\x72\x16\x26\x5f\x02\xc0\xcb\xa0\xd0\x36\xfb\x34\x80\xeb\xcd\xfc\x84\x1d\x87\x6c\x84\xe5\xc6\x18\xc6\xaa\x51\x51\xaf\xa7\xc3\xdd\x38\x2f\x76\x5b\x11\x95\xb1\xf5\xd2\x38\xcd\xa6\x44\xa3\x57\x5b\xb2\x09\x98\x00\xac\xeb\x95\x77\x1c\x4b\x1e\x8c\x5b\x36\x23\xeb\x8e\x2f\x14\x46\x89\xbb\xde\xae\x0b\x86\x1a\xa0\xc0\x90\xa2\x83\xd1\x16\x33\x62\xca\xa6\xc9\x66\xb4\x85\xb6\xab\x5d\x24\x64\x25\x56\x71\xa0\xf6\xb0\x23\x6f\x49\x61\x80\xf9\x36\x16\x8f\x25\x6c\xa5\xee\xb8\xa8\x58\x1c\x91\x15\x50\xa7\xe3\xd5\xca\x5d\x4c\xfc\x69\xe6\xa0\x42\xe5\x2d\x19\x41\xe8\x04\xc5\x0b\xa4\x23\xea\xf3\x19\xb3\x20\x56\x9b\xc4\xde\x1c\x57\x84\xcc\x2d\x7c\x3e\x4b\x91\xed\x76\x4d\x94\x5d\x61\x5a\xa6\xd9\xd0\x93\x7d\x8c\xee\xa1\xa3\xe6\xea\x13\x23\x8f\xd0\xe1\x22\xd4\x11\xd9\xde\xaf\xa2\x53\x03\x00\x7b\xd8\xea\x24\x02\x9b\xa5\x29\xb9\x5b\xdc\x1b\x13\x52\x3e\xa1\x11\x87\x0c\x11\x1c\x64\xb0\xe6\x53\x53\xcb\x00\x62\xe8\x8e\x03\x18\x4c\x39\x8f\x58\x46\xf9\x18\x6e\x4b\x00\x48\x8b\x5e\xd0\x26\x17\x41\xa7\x23\x37\x96\xbb\xe1\x72\x39\x8e\xb9\x5d\x45\xc0\x63\x4e\x5c\xef\xd7\xfc\x52\x3a\xac\x34\xd1\x73\x41\x72\xb2\xf7\x63\xba\x44\x64\x22\x8a\xf9\x3c\x54\xd7\x6b\x36\x95\x51\x32\x33\xb7\xf3\x35\x48\x2a\x08\xf1\x17\x32\xc1\x08\x24\x91\xe6\xa8\xac\xeb\xb2\x05\x0f\xab\xa0\xb2\x28\x82\xd7\x73\x66\x6d\x4e\xd1\x0e\xc3\x33\x27\x2b\x88\x31\x9a\x6d\x26\x07\x62\x74\x42\xb2\x15\x38\xc2\xbb\xac\x65\xd1\x51\x63\x24\x3e\xc7\xee\xd0\x96\x91\x8a\x69\xec\x59\x0e\x71\x18\x0a\x2d\x66\x1d\xc9\xc3\x8c\xf0\xed\x31\x36\x03\x6d\xcd\xd6\xab\xe5\x02\x9e\x0c\x4d\x92\xc1\xe9\x53\xc3\xe7\x07\x96\x01\x9b\xf1\x86\x41\xca\xbd\xb1\xad\xc1\x32\x3d\x1e\xdd\x85\x53\xd4\x3b\xb3\x91\x44\x38\xa4\xec\x71\x08\xf0\xf1\x14\x98\x00\x10\xe3\x64\x49\x88\x1b\xc7\xd7\xa8\x29\xab\x2a\x07\x1e\x3f\x36\x53\x72\x0f\x62\x92\x5e\x01\x12\xa8\xf1\x06\x06\xab\x66\x25\xf1\x42\x3c\x6b\xfb\x35\x6d\x95\xa4\xde\x11\xf5\xd6\x39\x86\x6d\xfc\x53\x83\x51\xc7\x5d\x37\x4e\x4e\xf3\x08\xcb\x4e\xab\xa9\xa9\x09\x25\x29\x1d\x3b\xe0\x83\x85\x1c\x22\xd9\xd0\x19\x2f\xbb\x12\x95\xd0\x95\x8f\x06\x38\x20\x39\x1e\xf8\x60\xbe\x42\xec\x65\x3a\x6a\x11\x82\xf2\x8d\x1d\x3b\xa9\x51\xad\x3a\xed\x28\x47\xe1\x6a\x13\x9c\xe4\x80\x60\xe0\xf8\xa8\x2a\xa0\xaa\x7c\x30\xd6\x56\xdb\xb5\x05\x66\xbe\xad\x17\xd6\x1a\xe8\x34\x00\x10\xd5\xe2\x13\x19\x83\x8b\xe9\x84\x6d\x75\xfd\x60\x25\x04\x42\x24\x7a\x2d\xc6\xd9\x9e\xd9\xb3\xd5\xd0\xa7\xea\x34\x3d\xd6\x9b\xa9\xc8\x25\xe5\x5e\x3d\x8c\xd6\x51\xa7\x76\x73\x75\x8c\x4a\x34\x17\x4b\xf5\x6e\xbd\xf6\xba\x76\x9d\x1f\xc7\x0c\xe1\x53\x3e\x6f\xc4\xd5\x6e\xc3\x98\xd5\x12\x80\xf4\xa0\x23\xad\x9c\x51\x88\xb9\x08\x37\xd9\xc8\x61\x46\xb2\x81\x93\xa9\x39\xac\x88\x05\x88\x2c\x52\x02\x04\x08\xb6\x11\x0c\x44\x08\x06\x8d\x4a\x92\x6e\xbc\x06\x00\x88\x0e\xb3\x57\x27\x59\xb3\x9d\xce\x0d\xaa\x3b\x7a\x54\x68\x1d\xbb\x74\x5b\xa1\x15\x83\x6f\x17\xa3\xcc\x5d\x0e\x4d\x21\x9e\x4e\x35\x40\x03\x82\xb4\x8e\xf5\xee\x30\x33\x49\x8d\xa8\xc4\xc6\x00\xb2\x4e\x83\x66\x5e\x2d\xe3\xaa\x53\x6d\xf6\x08\x28\x93\xc4\xb4\x76\x61\xec\x0f\xa1\x02\x20\xc9\x02\x62\xd0\x39\x07\xda\x57\x1c\x20\x35\x19\xe9\x1f\x5d\xad\x2d\x35\x76\x21\xd3\xcc\x18\xca\xa4\x2d\x0a\xad\x00\x37\x75\xc2\x95\xec\x6c\xfc\x49\x2e\x99\xd0\x62\xdf\xca\xea\x11\xdd\xed\x13\xa6\xde\x63\xb8\x3f\x6f\x3a\x6c\x88\xc0\xdb\xb9\x30\xee\xb0\xd6\xd7\xa6\xd3\x89\x97\x25\x6b\x7d\x41\xdb\x94\x8b\xe0\x0d\xeb\x55\x66\xeb\xee\x1d\xdf\x40\xd5\xf6\xa8\x36\x29\x62\x64\xd6\x86\x57\x0e\x91\x42\x8e\x80\x2a\xc3\x49\x6d\x64\x40\x2f\x37\x13\xe0\x03\x59\x24\x96\xb6\xd1\x00\x10\x03\x42\x69\x35\x78\xb8\x4a\x76\x87\xc5\x41\x55\x96\xd4\x36\xd8\x6c\x91\xc9\xd6\x2b\x72\x02\xdb\xce\xf0\x7d\x5e\xaf\x69\x6b\x4f\x90\x14\x2a\x39\xee\x86\xc9\x49\x81\xf6\x49\x6a\xe7\x30\x2b\xb1\x99\x02\x00\x28\xbd\xd1\xf0\x38\xd5\x93\x11\x12\x27\x4d\x91\x8b\x62\xb0\x92\x39\x61\x3f\xae\x11\x7a\xba\x2b\xd0\xe3\x9c\x48\x7d\x71\xe9\x72\x71\x61\x95\xa1\xbf\xb7\x83\x78\x5f\xbb\x63\xc0\x18\x3e\x54\x75\x9b\x46\x4f\x37\x0b\x4c\xe3\x17\xb9\xbd\xb7\xd7\x02\xc0\x8d\xf3\xc9\x6b\xc8\xec\x0e\xbc\x2f\x00\x0b\x99\x6e\x8a\x4a\xc5\xdc\xb6\x92\x97\xa6\x93\xaf\x8e\x26\x3d\x9f\x92\xf1\xb1\x90\x15\xde\x27\xbc\x3c\x68\xd2\xe5\x9a\xdf\x57\xf3\x43\x92\x8f\x0d\x7a\xa5\x1e\x09\x6f\x42\x13\xa1\x8e\x1d\x7c\x7e\x2b\x83\x86\xc2\x17\xde\x74\x01\x44\x4a\x0c\xd8\xed\x12\x00\x10\xfb\x02\x54\x31\xe5\x48\x82\xcc\x13\xef\xcc\x4e\x64\xca\xdb\x58\xd1\x2e\x56\x75\x3c\x4f\xdb\xa6\xdc\x18\x33\xa6\x8c\xd0\x08\x5f\x85\x25\x09\x58\x72\xca\x44\xcd\x76\x4e\xcf\x7c\xfe\xbc\x2f\x90\x9e\xa2\x72\x8f\x90\x2e\x23\x5a\x8b\x85\x9f\x75\x53\x11\x62\xda\x2e\x6c\x4c\xc2\xe7\x5a\xa8\x63\x43\x92\x00\x02\x88\x09\x61\x99\x33\xc3\x52\x9a\xf1\xb9\xe1\x9c\xe8\x70\x66\x17\xc3\x91\x19\xb3\x7e\x51\x57\xa3\xdd\x8a\x4f\x23\x97\x1f\x1f\xe9\xc6\x5a\x9d\x00\x2b\x13\x1c\x4d\xe9\x45\x2c\x3a\x04\x00\x2e\x2a\x00\x15\x91\x0f\x10\xdf\x28\x25\x8d\x03\xde\xaa\xc4\x14\x50\xe3\x79\x2a\x99\x8d\x19\x4b\x9c\x75\xac\x3a\x7d\xe9\xee\x0b\x8f\x98\xec\x42\x31\x5a\x73\x08\x99\x10\xc4\x18\x70\x40\x70\xb0\x29\x98\x65\x25\xcd\xc4\x9a\x3a\xa7\x49\x02\x72\xb6\x9e\x42\x91\x88\xad\xe4\x0b\xf6\xb0\x5c\xe5\xb1\x23\xc0\x93\xf1\xa2\x4d\xd1\x22\x4f\x0e\xa7\x4d\x69\xf2\x6b\x25\x84\x19\xf9\x7c\x7e\x28\x47\x33\x91\x04\x52\xb8\x2d\x64\x42\x06\x14\x49\x95\x87\x3c\xcb\x56\x75\xe5\x42\xc8\x88\xf4\x66\xfe\x38\xa4\xdd\xd0\xdc\xf8\x46\x22\x03\x0e\x87\xf0\xa6\x8c\x68\x82\x0e\x89\x38\x5b\xca\x63\x21\x44\x60\x41\x93\x11\x79\xbf\xde\xed\xdb\x2e\x84\x80\x57\x6f\x84\x4c\xdc\xd3\xc6\x4e\x96\xac\xae\x40\x4e\x33\x7c\x78\x58\xf8\x22\x0a\xe8\xf6\xb8\xb5\xa4\x83\xd3\x5a\x63\x7e\x1c\x15\x71\xb1\xc7\x4f\xe8\x7e\x06\x5c\x5f\xa0\xda\xf1\x3c\xe5\x4b\x63\x11\x6c\x1d\x1c\xad\x0f\xa3\x29\x0e\x65\xb5\xea\x2e\x89\x3c\x23\x43\xd2\x60\x8b\x0e\x5a\x77\x3a\x80\x29\xaa\xa2\xa6\x40\xf3\x01\x16\x20\xb1\x48\x02\xd0\x39\xcc\x11\x52\xa1\x9d\xaa\x2e\x23\xcf\x5c\xc7\x5a\xbe\xc5\xf0\x64\x87\x2a\xbb\xe4\x70\xe0\x3d\xd1\x8b\xe2\x80\x05\xbb\x7a\x62\x64\x80\x06\xa4\x0f\x40\x2e\x28\x51\xb5\x80\x84\x48\xa6\xd6\x62\x63\x92\xfa\xf9\x4c\x9f\x14\xca\x7c\x8a\xb4\x41\x3e\x1b\xea\xfb\x83\x4c\x34\x58\x8b\x8f\x1c\xaf\x3a\x44\x7b\x99\x3e\xd5\xd8\x7c\x46\x8c\x97\x90\x32\x1e\x21\xfa\x61\x2a\x19\xa1\x3f\x69\xa4\x64\xbc\xae\x53\xc4\xb3\xf1\x58\xa0\x56\x99\xbd\xe5\xcb\xb1\xbd\x38\xf8\xdb\x60\xd5\xe5\x47\x5c\x50\xf0\x50\xa2\xc2\xb8\x99\x4e\xad\xdc\x9c\x1c\x86\x9c\x24\x3a\x5b\xa0\x02\x09\x18\x55\xe2\x90\x69\xb6\x75\x8a\x68\x8e\x0b\x73\x75\x02\x5b\x69\x19\x19\x6b\x65\xc9\xcc\x78\x44\xd1\x59\x41\x4a\x89\xd3\x69\xb6\x06\x53\xea\x38\x5e\xf4\x51\x8b\x22\x92\xb2\x0e\xf0\x79\x11\x56\x3b\x43\x44\x63\xc7\xda\xb1\x98\x8c\x69\xf0\xd1\xc2\x27\x3c\x6a\xb2\x81\x93\x10\x76\xb7\xdf\xb9\xa7\xda\x40\x47\xfe\x02\x74\x85\x83\x38\xcd\xf5\xeb\x85\x60\xbc\x72\xfb\xe7\xf9\x69\xbd\x67\xd6\xf8\x49\x75\xf6\xf6\xda\x46\x93\xb9\x93\xed\xd8\x76\xdd\x7a\x8d\x00\x16\x7e\xbc\x26\xf2\x85\x7e\x6c\x9a\x08\xd2\xa5\x60\xe4\x2d\xe7\x27\x5d\x2a\x87\x30\xcd\x40\xb9\x55\x40\xb5\x3b\x92\xba\x6c\xde\x98\x2e\x00\x84\x8f\xe6\x23\x74\x11\xaa\x3e\x30\x61\xcb\x88\xa5\x24\x8c\x69\x9f\x4d\xc7\x73\x4c\x72\x1a\x73\xdf\x71\x93\xa3\xb4\x1f\x56\xe3\xb6\x6c\x71\x15\x8b\x09\x73\x36\xa6\x75\x99\x60\xc6\x80\x23\x40\xb2\x32\x59\x7c\x95\xcd\x4d\x32\xe3\x01\xa0\xd6\x1e\x24\x59\xbc\x15\x4e\xe0\x76\x32\x86\x4f\xec\x64\xd1\xed\x66\xe2\x68\xd3\x29\x42\xca\xac\x92\xa3\x27\x96\x61\x2c\xb3\x8d\x71\x3d\xf3\xc6\x16\x32\x35\x5d\x91\x7d\xc8\x45\xf9\x36\x22\xd7\x7b\x62\x71\x6a\x3a\x8f\xc7\xed\xb1\x05\xd3\x8a\x41\x00\x3d\x06\x34\x75\x38\x66\xe2\x84\x90\x09\x50\x03\xbf\xee\x98\x03\xb7\xa8\x92\x3d\x8b\x09\x2e\xde\xec\x84\x6c\x9b\x4a\x01\xc0\xba\xe9\xe8\xb0\xce\x94\x55\x32\x0b\x9a\x4c\x62\x33\x0a\x80\x98\xdc\x36\x14\x00\xa3\x31\xc3\x82\x7a\xb3\x8b\xd9\x0c\xdb\x79\x68\x55\xcd\x67\x1b\x9d\xf2\xc0\xcc\x4c\x4c\x92\x90\x91\x6c\x55\xc0\x43\x99\x9c\x72\xc7\x9a\xec\x65\x9b\x6f\x75\x20\x93\x02\x8a\x8a\x09\x8d\x49\x93\xa9\x01\xb6\xac\xac\xcd\x56\xdc\x6a\x99\x69\xb3\x6e\xe9\x60\x31\x2a\x79\x13\x0d\x18\x0b\xb0\x24\xea\x9d\x36\x15\xcf\xc7\xf8\xf3\x4e\xc3\x57\xea\xb4\x7f\xce\xe8\xc5\x9c\xdd\xa2\xb5\x4d\x36\x0d\x7d\x1c\xd2\xeb\x80\x29\x42\x3d\xda\x02\x1b\x58\xe8\x04\xde\x19\x56\xaa\x59\x9b\xed\xba\xc3\x88\x66\x9d\xef\x75\x5b\xb4\x04\x65\x3f\x71\x2d\x84\x87\x61\x5f\xf7\x34\x37\x37\xe8\x06\x00\x4b\x62\xca\x65\x2b\x80\xbd\xac\xfa\x00\x02\xc4\x2a\x33\xa7\xfc\x7e\x74\x42\x9b\xbd\x37\x1d\xee\xcb\x8d\x03\x0f\x35\x49\x5e\x6b\x94\x69\x11\x09\x88\x96\x54\x78\x30\x9a\x1a\xa0\x4b\x7e\xd6\xf3\x41\x13\x02\xa8\x66\x46\x51\xee\x4a\x18\x5d\x0e\x67\xa2\x34\x1b\xaa\xb3\xc2\x9d\xd2\xac\x66\xb1\x69\x47\x8e\x44\x33\xd9\xc9\x34\x20\x4f\x30\x43\x38\xfd\x38\x80\x91\x83\xfb\x21\xde\x4d\x15\xb0\x2c\xe1\x64\xcc\x2c\x37\x46\x36\xa3\x0c\x7c\xcc\xcf\x87\x04\x41\xd5\xd1\x21\x6e\x60\xc3\x1e\xcd\x27\xf2\xb6\x9e\x1b\x2a\x07\xa1\xb6\x65\x67\x8b\x0d\x5f\xb8\xc6\x1e\xed\x62\x72\x66\x8d\x64\x1a\xd0\x4c\x07\x8f\xe4\xce\x37\xac\x8b\xf2\xc2\xd9\xc6\x69\x4f\xe4\x78\xbd\xd3\x6a\x08\x99\x19\x1e\xec\x4c\xc6\x63\x1e\x37\x34\x30\xd7\x99\x04\x8c\x86\x90\x01\x96\x42\x08\xcb\xab\x6c\xd5\x98\xbe\x09\x22\x30\x19\x8e\x24\x16\x57\x91\x72\x24\x50\xec\x71\x3f\x9b\x89\xe2\x61\xaa\xad\x18\x07\x2b\x32\xc1\x4a\xe7\x52\xa6\x0d\xb7\x09\x17\x18\xbe\x33\xd9\x00\xf1\xf2\x3d\x8f\x08\xd6\x43\x63\x2b\x37\x98\x6f\xe7\x9d\x94\xf3\x2e\x24\xb8\xe8\xce\xc1\x43\x55\x1a\xa3\x3b\xfe\x38\x83\x92\xec\x58\x87\xc3\x46\x5f\xae\xc0\x1e\x19\xcd\x96\x98\x64\xb4\x5d\x84\xfb\xc6\x04\x5b\x25\xf4\x94\xe1\x00\xca\x8c\x12\xe5\x80\x4d\xe8\xa3\x33\x19\x1f\x17\x9b\x1d\x83\x17\xd4\x48\xe7\x79\xd0\xe0\xe3\x60\x3d\x5e\x58\xe4\x76\x54\x2e\x17\x6e\x0b\x45\x5d\x6f\xbf\x08\x28\xd8\x9d\x66\x23\x68\x36\x1e\x59\xe4\x62\x35\x21\x30\xd8\x88\x35\x96\x3c\x52\xb4\x50\xc9\x81\x96\xe0\x42\x48\xfa\x80\x06\xdb\x62\xb7\x5d\x6b\xab\xb2\xec\x59\xdd\xe4\x9e\x37\xac\x8c\x22\xeb\x4c\x33\xc5\x87\x0d\x35\xb4\x3d\xb3\x8a\x84\x5d\xd9\x2c\x47\xb0\xba\x59\x49\x08\x4f\xa5\x81\x04\xe3\xb1\xad\x67\x45\x75\x84\x4b\x7c\x88\xee\x4e\x5b\x0f\x4e\xa5\xa5\x9b\x3a\x19\xc9\xa6\x84\x11\x87\x35\x42\xca\x73\x62\x1d\xaf\x4c\x78\x24\x34\x59\x82\x2e\xe0\xa8\xa8\x57\xe2\x58\x9e\x64\x1d\x5e\x1d\x29\xf9\x04\x6d\x2d\x8c\xed\xa4\x10\xf2\x97\x2c\xc0\x29\x8b\xf6\xc1\xe3\xe0\x7b\x1f\x5f\x85\x89\xed\x7b\x25\x1c\x3a\x59\xfa\xcb\x6c\x3c\xb8\x1f\x9c\x0b\xe0\x3c\x7d\xf5\x01\x56\x68\x10\x92\xd2\x20\xc2\xdc\xcf\xfa\xbe\x2c\x55\x3d\xa0\x75\xbf\x9f\x08\xe7\x8f\x44\x7c\xb2\x77\x70\x01\x15\x26\xac\x83\x9f\x4b\xe6\x2e\xa1\xf5\x1e\xe4\x62\xbe\x22\xe1\x36\x38\x7f\x08\x00\x98\x4e\x8f\x5c\x12\x08\x13\x89\x95\xa2\xbe\xc0\x37\x91\x40\xd5\x64\x00\xbc\xd0\x04\x80\x23\x69\x00\xa8\xf1\xb9\x42\xf2\x01\x60\xf5\x06\x00\xea\xd0\x63\x96\x72\x1f\x00\xc2\x6d\xd2\x45\xae\xac\xce\x23\x6f\x85\x2a\xe2\xd2\x60\x35\x05\x70\x43\xc1\xd9\x02\x4d\xa3\xb3\xee\xc5\x8d\xca\xc4\x1d\x00\xa0\xe6\x1a\x00\x16\xa1\x48\x78\x82\x0e\xbb\x3e\x00\x8c\x10\xf0\x0a\xcd\xe8\xde\xb2\xa8\x36\x9b\xb8\xdc\x88\xee\x08\xc6\x90\x6e\x3a\xc6\x67\x35\xd5\xd1\x49\xab\x30\xe1\x96\x2b\xa5\x8d\x35\x35\xb8\x54\xe3\x19\x53\x5d\x63\xb6\x53\xd1\x43\xa7\x5a\x47\x4e\x45\x33\x63\x0e\x31\x14\x86\x5e\x83\x2c\x0c\xe4\x0c\xec\x65\x26\x09\x89\xcc\x5f\xdb\x1c\x0d\x28\x86\x4c\xe4\x4d\x14\x57\x19\x82\x6b\x12\x92\xba\x6b\x0e\xdf\xb6\x96\x1d\xaf\x59\x3e\x4c\x35\xb3\x8a\x14\x9e\x89\x9c\xaa\x8b\x67\x9d\x3b\x9b\x4c\xa0\xa9\x83\xcf\x20\x7d\x5f\x87\xf9\x96\xa4\x86\x27\x68\x06\xd9\xde\x64\x74\x3c\x26\x7c\x7c\xc4\x7c\x09\x35\x95\xfa\xe5\x9f\x5e\x83\xaa\xc8\x88\x25\x96\xee\x3c\xa1\xb4\xd5\xcd\xba\x2e\xec\xe2\xa8\x1c\xf5\x42\x4b\x63\xc7\x31\xe0\x91\x8d\xc5\x94\xe2\x29\x02\xe3\x3a\xb8\x65\x8f\xd3\xee\xb8\x46\xb7\x13\x89\xcb\x1b\x2b\x98\x2c\xb1\x49\xc8\x9a\xe1\xaa\xab\x4e\xc7\x13\x1e\x1e\x00\x82\x68\xa9\x0f\xaf\x37\xec\x70\x87\xcd\xe5\x92\x89\x42\x44\xde\x76\x90\x03\x8c\x21\xba\xf7\x94\x48\x6b\x1a\xdd\x45\x4f\xbb\xd2\xe0\xa6\x33\x69\xbf\x5d\x14\x4d\x9a\xf1\xdc\xa2\x99\xd2\x19\x90\x38\xc0\xf8\x8b\x86\xd2\xc8\xd6\x01\x3c\x41\xf3\x5c\xc8\x01\x3f\x0b\x39\x12\x70\x3e\xe7\x73\x04\x3f\xcf\xdd\x95\x42\x2a\x07\xac\x5c\x91\x04\xe0\x41\x18\x4e\x65\x1f\x44\xf0\x8a\x63\x22\x95\x20\xe4\x63\x80\xc9\x4a\x24\x6f\x2a\x9a\x24\x84\xbc\x65\x67\xdb\x62\x14\x88\x61\x14\x38\x3e\x2e\x1b\xb8\x6b\x46\x3e\x50\x18\x42\x8d\x92\x58\x4f\xd2\x7c\xb2\x48\x16\x9b\x69\x11\x4f\x0f\xb3\x91\xb4\x12\x78\x84\x92\xc9\x68\xe5\x69\xb4\x23\x17\x80\x1a\x4e\x66\xd0\x04\x9a\x2c\xca\x15\x76\xac\xf8\x66\x06\x86\xd6\x71\xdb\x30\x3b\x59\x84\x8b\x21\x0c\x4e\xd4\x18\x17\x16\xc4\x71\xc4\xb3\x9c\xcd\x35\x5c\xce\x8d\xe6\xdc\xd6\x3b\xba\x53\xb4\x40\x38\x4c\x12\xf7\x47\x7e\x27\x65\xa3\xdd\x8e\x3c\x34\x43\x3a\xe0\x94\x58\x96\x43\xcc\xc6\x26\x39\x62\x57\x3b\xcd\x20\x50\x74\x15\x70\x35\x5b\xcd\x46\x55\x9a\x12\xc5\x64\xd4\xb1\x4b\x18\xcc\x81\x9a\x99\xfb\x53\x6b\x18\x1a\x29\x91\xab\x9d\xb4\x5e\xce\xca\xf9\xae\xf6\x20\x77\x07\x2f\xf0\x02\xeb\xa6\xa2\x3a\xd7\xa5\x23\x66\xaf\x4d\x8a\x3b\xe0\x18\x41\x6f\x36\xb4\xac\xac\x48\x59\x18\x1d\x98\xd8\x63\x44\xd7\xad\xa5\x46\x34\xb0\xb5\xa0\x13\x1b\xc6\x38\x19\x9b\xa0\x4a\xb0\x7d\xb1\xaf\x8e\xcd\x10\x3b\xd6\x8b\x61\xbd\xda\xcc\x01\xd0\xfd\x20\x9a\xc7\x8b\xd5\x86\x9f\x59\x47\xab\x5b\x4c\xb0\x69\xd6\x4d\xd9\x52\x0a\x18\x06\xad\x31\x9b\x45\xe8\x29\x4f\x1f\xc1\x3a\xf0\xa0\x14\x5d\xb1\xd4\x04\xb1\x26\x70\x9b\x38\xce\x6e\x41\xa8\xc2\x4c\x1c\xa6\x1b\x04\x1c\x52\x93\x51\x85\x90\x98\xec\xb8\x50\xea\x7c\x2c\x42\x87\x84\x67\xb2\xeb\xa1\x2f\x46\xc5\x10\xa6\x08\x02\x1a\xb3\xd1\x7c\xa1\xb5\x89\xb2\xdb\xb6\xbb\x19\x74\x70\xe0\xe9\xba\xec\xc4\x59\xdc\x31\xb3\x19\x3e\x9e\x56\x4d\x6b\x91\xe0\x30\x6a\xb6\x72\x28\x92\x0a\xbd\x5e\x11\x11\xb5\x71\x3d\xcc\xe3\xf0\xe9\x0c\x0a\x3c\x18\x1a\xd6\xb0\x57\xc1\x0e\x06\x04\x08\xae\xd5\xee\xb4\xd0\x8e\xbe\x30\x29\x12\xa8\x22\x68\x9c\xb4\xc0\x90\x55\x6c\x46\x9b\x64\x87\xa5\x2c\x90\xa4\x5b\x1e\x88\x7c\x3c\x9c\x53\x33\x8f\x25\xa8\xc9\x64\x53\xa7\xfc\x70\x9c\xc1\xd0\xf8\x00\xc1\xce\x82\x37\x17\x2b\x74\x17\x74\xbb\xf9\x3c\x52\xcc\xb0\x21\x14\x01\xdd\xa5\x0b\x18\x0b\x95\x6e\x02\xd7\x1a\x3c\x4d\x77\x75\xdd\xa1\x5a\x1b\xdb\x53\x28\xd8\x28\x5b\x7e\x2c\xeb\x02\x61\x2f\x6a\x3e\xf1\x8d\x05\xaf\x08\xb5\x1a\xc4\x1c\x91\xdb\x55\x48\x33\x20\x07\x24\xc7\xb0\x2c\x1c\x03\x18\x5e\xb2\x7b\x0c\x3b\x78\x88\xb7\x3a\xca\xfc\x86\xb6\x61\x3e\x65\x69\x2e\x03\x84\xe9\xce\xd0\x11\xdc\x49\xab\x1d\xc4\xef\x89\x56\xe4\x49\x18\x3e\xb5\x1b\x68\x6e\xda\x96\x3f\x07\x56\xe9\x21\x48\xed\x0d\x6b\xe2\x74\x5a\x8b\x72\x31\xa7\x63\xd7\x30\x04\x72\xbd\x95\x7d\x00\xc6\x52\xea\xf9\xf2\x6a\x32\x9b\x4d\xba\xa3\xbd\x62\x51\x7f\x5e\x72\xb9\x1c\xba\xeb\x3a\x53\x1a\x00\x67\x28\xbc\xa5\xba\x09\x92\xed\x76\x50\xca\x70\x36\xbc\x73\xba\x0e\x5d\x1d\xd0\xa0\x53\xb7\x4a\x54\x2e\xc8\xb6\x5c\x6a\x38\x46\x70\x93\xbd\x49\xae\xe1\x30\x70\x61\x87\x10\xd6\x96\x66\x05\xb2\xc3\x18\xb3\x83\xb8\x97\x11\x3f\xa1\x9b\x04\x0f\xa2\x43\x29\x19\xf4\x9e\xca\xfc\x03\x36\xd9\x4a\xfb\xa3\x4d\xc7\x84\xb0\x08\xbb\xc4\x34\x7c\x61\x6d\xad\x91\x21\xbb\xf7\xa4\xc5\xdc\x06\x5b\x3d\xcc\x33\x5e\x5b\xb3\x40\x68\x6c\x5c\x30\xf3\x84\x25\x79\x9d\x40\x62\x99\xcc\x74\xa4\x74\x04\xc4\x27\x45\x5e\x51\x0f\x07\x69\xcf\x7a\x31\x42\x1f\xac\x9c\xcb\x19\x6e\x4b\xe9\xde\xb2\x69\x24\x11\x3d\x4d\x7c\x09\x77\xd3\x75\x50\xa8\x9d\xc1\x10\x14\xdd\x89\x79\xa4\x2f\x96\x22\x82\x13\x9c\xcf\x94\xea\xd0\xf7\xdb\xa5\xde\x09\x86\x1a\x92\x4a\x49\x13\xb4\x4e\x67\x4c\xa8\x1c\xd0\xe3\x88\x5d\x6e\xf6\xa2\x3b\x9c\xe6\x2a\x6b\x78\x56\x5a\xd7\x69\x68\xd9\x59\xce\x71\x32\x01\xb8\x20\xd5\x0f\xfe\x71\x3b\xac\x74\x4c\x22\x04\x26\x5c\x93\xae\x78\x72\x01\xb1\x26\x58\x68\xcb\x65\xe4\x11\x60\xca\x52\x9f\x09\x27\x4a\x0a\xed\x60\x8e\x6e\x00\x00\x5d\xd9\x49\xf8\x92\x8d\x2c\x6e\xe9\x08\x60\x51\xbb\xae\xc2\x86\x98\xb1\x66\x14\x6f\xe1\xac\x4f\x53\x37\x68\xa5\x91\xcd\xe4\xc7\x28\xb0\x13\x6a\xc4\x32\x8d\x2c\xd7\x6a\xe5\x37\x8b\x55\x5e\x4a\x9d\x8d\x8f\xe6\x14\x7c\xa2\x70\x91\x6a\xd0\xbd\x41\x16\xa4\xc8\xaa\x91\xde\x24\x4d\x89\x45\xa4\x08\x28\x0a\x99\x93\x56\x1e\xda\xb1\x38\xc7\xb6\xa1\x8d\x57\x85\x51\xf2\x50\x1b\xf1\x40\x50\x75\xb5\x12\x91\x6c\x5d\xaa\x72\xe1\x6b\x73\xb7\x46\xc5\x4d\x1c\xd3\x89\xd7\x31\x30\xab\x04\x1d\x44\xe2\xdb\x71\x70\xa2\xfd\x22\x3d\xed\x8d\xc5\xa2\x0b\x9c\x20\x1b\x86\x4c\x49\x85\xf3\x2c\x91\xba\x0a\xa2\x4a\x78\xda\x4d\x56\x5c\x97\xec\x14\x6c\xe6\xad\x86\xae\x61\xa8\x12\x1d\xee\x15\x24\x55\x4a\xa6\xf0\x87\x9c\x9a\x27\x51\x26\xcf\x1c\xad\xde\xb5\x42\x41\x6c\xd9\x24\xd3\x33\xde\x5a\x27\xf1\x8a\xda\x28\x96\xef\x8a\xd4\xb2\x6c\xa7\x6c\xbd\xd9\x56\x2d\xd6\x1d\x8f\x81\x22\x0b\x9a\xcb\x24\x0b\x19\x90\x99\x86\xba\x8d\x39\xf3\x76\xca\x3a\x3e\x82\x61\x32\x6c\xf9\x13\xca\xd1\xbe\x1f\xad\x8a\x54\x3f\x6e\x88\x99\x88\xc4\xf3\xc8\x0e\x8d\x16\x6a\x15\x18\x50\x72\xbd\x52\x64\x90\xe7\xb6\x89\xf0\xbb\x4e\x22\x08\x64\x9f\x31\xa0\xc4\xa5\xd3\x76\x34\xa3\x11\x73\x92\x33\x38\x45\x51\x6e\xd2\xe0\x93\x85\x7f\xf2\x65\x76\xbb\x2d\x27\xdc\x1e\xe7\xf3\xb9\xc8\x35\xfb\xb9\xc2\x38\x0c\xd2\x32\xbc\x43\xb9\x34\x92\xeb\x5b\xcc\x94\x87\x81\xb9\x2e\x29\x46\x6d\x77\xbb\xc9\xd1\x67\xc5\x93\x84\x45\x91\x38\x0f\x6d\xb0\xea\x54\x07\x34\x1d\x81\x98\x46\x9c\x80\x9a\xcd\xb0\x4e\x66\x23\xc1\xd6\xf3\x5c\x63\x81\x2e\x13\x0b\x39\x05\x66\x82\xf3\xf8\x70\xe7\x91\xb1\x0b\xe6\x1e\xeb\xa1\x8c\x4d\x1e\x66\x3b\x77\x23\x8b\xab\xe9\xa1\x1a\x95\xc4\x58\x8a\xe7\xdb\x15\x9e\x47\x44\xd3\x11\xfe\x9c\xcd\x04\xd1\x75\xb8\xf9\x14\xa5\x1b\x44\x11\xc6\xfa\x41\x6b\x59\xc0\xd3\xac\x4a\x90\x8b\xc4\x60\x49\xfb\xb8\x69\x74\xa7\x99\xe7\x1b\x91\xe7\x54\xd4\x4c\x8d\xa0\x38\x20\x43\x07\x48\x72\x1b\x91\x13\x53\x9c\x8f\xc2\xf1\xb1\x09\xc7\xa3\x85\x81\x57\x05\x27\x0c\x91\x39\x7f\x62\x17\xc7\x5c\xd3\x14\x84\xb2\xac\x98\xaf\x68\x5a\x6c\x15\x88\x33\x78\x5e\x53\x63\x06\x30\xae\xb5\xc0\x27\xfb\x8c\xf1\xcb\xa6\xa0\x2d\x6c\x83\x8c\xa9\x23\xe6\x01\x76\x32\x9d\x18\xc9\x14\xae\x90\x72\x9a\x8a\xb1\x3b\x5b\xed\x89\x80\x25\x97\xc3\xf9\xc4\x8d\x13\x7c\x86\xf8\x58\xc1\x75\x64\x05\x8f\x4e\x2c\xb7\x0e\xc1\xc8\x6d\xe7\xf2\x88\x95\x9c\xde\x4e\xd5\xe6\xdc\x3a\xd4\x8d\xa6\x2e\xb5\x8d\x08\x32\xdf\xc8\xd4\x3a\xaa\xc1\xa6\x89\x3b\x46\xcf\x55\x85\x3c\xc5\x43\xa7\x85\x8c\x4c\x22\x3a\xd8\x0a\x67\xd8\xf1\xe4\x51\xf4\x70\xbc\x6d\x87\x61\xbd\x28\xb9\x52\x52\x17\xea\x9a\xac\x9b\x86\x0e\x10\x7b\x16\xc0\x75\x4b\x95\x10\xea\xaf\xd3\x96\xda\x43\x93\x99\x2b\x0b\xfb\x20\xf6\xf1\xad\x15\xc3\xc7\x28\xb4\xa9\xa4\x8a\x8e\x9b\x25\x13\x26\x89\xae\x88\x3c\x6e\x98\x52\x44\xe4\x6a\xec\xaa\xb5\x3f\x1b\x6a\x94\x19\x72\x94\xbb\x69\x2a\xfa\xa8\x79\xd4\x32\x6e\xad\x06\x3b\xc1\x18\xbe\xa2\x52\xb7\x5e\x90\x21\x2c\xe2\x90\x27\x23\x56\x35\x72\x48\x97\x1b\xce\x61\x46\x60\x5a\x7f\x94\x88\xf4\x4c\x99\x14\x8a\xb8\xd6\x42\x18\x54\x9d\xb4\x4a\xe9\xe5\x42\xd8\x18\x68\x75\x2a\x00\x14\x33\x87\x2e\x12\x22\x8c\x58\x72\x48\x84\x11\x6b\x7a\x54\x36\xd4\x06\x4c\x9a\x38\x41\xb6\x0c\x1d\xd1\x12\xb5\xdd\x77\xeb\x55\x97\x50\x07\xad\xc1\x59\x2a\xdd\xee\xbb\xd1\xa4\x6c\x5c\xd6\x11\xf2\xd1\x18\xda\x57\x1e\x1c\x21\x46\x5d\x54\x8a\xce\xa5\xea\x8a\xdf\x50\x98\x39\x43\xcc\xdd\xc6\xd9\x5a\xd5\x84\xc3\x67\x15\x2c\xe2\xa3\x05\x3f\xb2\x7c\x66\x12\x8b\x60\x5b\x2e\x67\xc4\x2e\xdc\xd0\xa3\xba\x0a\x36\x74\xc7\x10\x02\xa4\xe5\x20\x28\x8c\x3a\x05\x80\xf6\xe8\x1c\xa7\x64\x3c\x3b\x9d\x64\x0e\xda\x45\xea\x3e\x85\xab\x79\x69\xed\xd6\x0e\x98\xed\xb1\xcd\xfe\x18\xc1\x88\x59\x79\x13\xf4\x48\x4d\x99\x93\xd5\xc0\x26\x6a\xd8\xb5\x52\x02\x80\x4f\x31\x2e\xa1\x52\x28\x63\xd0\x29\xb5\x80\xbb\x03\x93\x62\x4d\x1a\xc2\xad\x43\xab\x6a\xa6\x1d\x23\xba\x6d\x5d\x82\x58\x86\x31\x93\x92\x20\x5e\x10\xa2\x08\xb1\x81\x1b\x61\x6c\xa5\x05\x19\x47\x0f\xb5\x3a\xd6\x6a\x2a\x2e\x1d\xe0\x83\x7a\xd9\x92\x60\xbc\x59\x8e\xd8\x15\xb4\xb2\xa7\x81\xb7\x2e\x59\xe0\xab\xf2\x09\x20\x56\xc7\x14\x53\x6e\xce\x06\x2c\x59\x47\x1e\xeb\xb9\xbb\x44\x94\xf2\xed\xb4\xf1\xe3\x13\x82\x0e\xf7\x9b\x48\x2b\xf7\x66\x32\x23\x11\x73\xbf\xe4\x55\x9f\x39\xb2\x35\x58\x4d\x0e\x5b\x11\x60\x5a\xee\x34\x20\x1b\x66\x19\x25\x35\xcd\x5e\xd0\x58\x54\xa6\x8e\x35\x1c\xfb\x58\x4c\xa6\x8d\x3f\x9e\x39\xad\xa3\xe6\xbc\x33\x75\x2d\x7e\xe5\x03\xd2\xf3\x6a\x60\x06\xfe\x0e\x59\xb9\x63\x7e\x7f\x12\x41\xb1\x19\xc1\xf3\xd8\x9a\x96\x3e\x8a\xe9\x23\x8d\xdc\x41\xb4\x5a\x21\x32\x43\x92\x4c\xb8\x36\x1d\x66\x88\x0d\x23\x0d\x8f\x03\x22\xa7\xd4\x0d\x10\x4f\x10\x7d\x18\xae\xc0\xc6\x04\x9c\xc9\x12\xf5\x4c\x3a\xeb\xbc\x77\x74\x62\x71\x37\x39\x81\x68\x32\x1d\x75\x6a\xbd\x99\x86\x13\x73\x3c\xb5\xa4\x8c\x04\xe3\xd6\x5d\x4f\x97\x28\x5c\xe3\x9a\xe2\xa2\x6e\x33\x19\x31\xf5\x6a\x75\x48\x6b\x8c\x4a\xea\xc9\x12\x9f\x29\x65\xb7\x5e\x84\xa7\xf9\xd1\x9f\x2b\x3b\x11\x9f\xb0\xfb\xa5\xdb\x25\xfe\x58\x1f\x47\xca\x02\x94\x08\xda\xcc\xc1\xa6\x09\x3d\xa2\xf1\x7d\x3f\xb3\x45\x9d\x9a\x64\xdc\x78\xb2\x4b\x68\x76\xbb\x3f\xea\xfe\x2e\x29\x08\xad\xc3\x66\xa3\x5d\x33\x8a\xca\x85\x20\xa0\xe3\x3c\xf1\x3b\x09\x69\xc8\x92\x71\xac\xd1\x64\xbc\x69\x3d\x2d\xb7\xdc\xae\xb5\xc9\x5d\x0d\xb1\x60\xa3\xf8\x63\x14\xf7\x54\x0d\xe9\x02\xd8\x25\xc6\xcc\x86\xda\x0b\x98\xa6\xfb\x46\x23\x2b\xb4\x9e\x55\x08\x60\x48\x9a\x6e\x31\x7d\x6a\x65\x84\x4f\x03\xa3\x71\x33\x3d\x0d\x3c\x26\x5d\xcf\x17\x5d\x05\x86\x27\x5c\xdb\xc3\x5d\x4b\x72\x27\xbd\xe1\x20\x2f\x29\xed\x55\x3a\x4a\x99\xe9\xe1\x74\x64\x98\x12\xa1\x60\x72\x8a\x8c\xac\x34\xc4\xf6\xf9\x61\x28\x9a\x30\x44\x93\x93\x7d\xaa\xfa\xf0\x0e\x1a\xf9\xc4\x78\x76\xda\x34\x30\xe1\xa4\x26\xb1\xa3\x38\x4f\x2c\x4c\x7b\xb1\x1e\x03\x12\x98\x4c\x92\xec\xf3\x70\x62\x1e\xf2\x84\x54\xd6\xe2\x01\x4d\xec\x85\xcf\x49\x07\xc6\xd1\xe5\x89\x48\x17\xf9\xc8\x6a\x0f\x49\x6a\x21\x7c\x8b\x40\x1c\xbf\x5e\x12\x5c\x31\x3a\xe4\x65\x17\x4f\x47\x28\xbc\x6b\xf2\x09\x66\x2d\x49\x6c\xd5\x24\x81\x40\xca\x40\x5f\x93\x73\x50\x8f\xc4\x7a\x19\x17\x21\x2d\xd3\xa7\x71\x67\x33\x76\xbd\x08\x58\x7f\x2c\x93\xf1\xd2\xdb\x57\xde\xcc\x94\x39\xd2\x59\x0c\x43\x2c\x9a\xc2\xb8\xce\xbb\xf0\xd6\xb2\x58\x5a\x9b\x37\x73\xd2\x14\xa6\xa7\x6e\xdf\x60\x01\x7e\x64\x99\x04\x6c\x4e\xc9\x70\xe6\xb6\xbb\x25\x8d\xd0\x95\x73\x88\x5a\xcd\x58\x69\xae\x8b\x1c\x18\x90\x2b\xab\xa5\x4d\x57\x4e\x2b\x83\x10\x20\x9a\x17\x93\x9e\x70\x54\x28\x4d\xcd\x36\x6b\xcd\xe4\xb7\xa3\x20\x9b\x8c\x94\x03\x12\x81\x7c\xdb\x50\x45\x1e\x14\x92\x42\xbb\x08\x97\x8f\x80\x44\xd4\xa7\x20\x9c\xb3\x65\x55\xe5\x04\x4e\x64\x41\xa8\x27\x07\x2b\xf7\xbd\x18\x17\xdb\xe1\x21\xab\x8b\xd4\x24\xb7\x8e\xee\xe3\x4d\xbe\x70\x1c\xdd\x2e\x0d\xcb\x20\x17\x80\xd7\xad\x40\xb0\x75\x2d\x1f\x05\x47\x6d\x4d\xe6\x9b\x14\x38\x34\x27\x95\x73\x04\xd9\xb5\xb5\x61\x2a\x87\xb1\x08\x30\x77\x33\xe2\x6b\x72\x5e\x8d\xda\x80\x06\x87\x75\x74\xc0\x39\x12\x17\xa1\xb9\xb9\x35\x10\x78\xbb\xe0\xc7\xc1\x0c\x75\x93\xd8\xe6\xb9\xf9\x4c\x0b\xa2\x53\xb7\xa5\x67\xbe\x8c\x14\x26\x31\x8e\x73\xd5\xd7\x1d\x84\xd4\xa6\x24\x92\xca\xdd\x4a\x3f\x92\x54\x84\x66\x93\xf0\x54\xea\x3a\xe2\x27\x25\xe3\xa8\x24\x99\xf2\x56\x99\x7b\x87\x31\x51\xad\xf4\x08\x63\xd5\xb6\x98\x93\x81\x60\xe5\x49\x0d\xeb\xa8\xdf\x08\xa5\xb8\xca\x50\x0b\xa6\x21\x6c\x36\x01\xf4\x82\x59\xe0\x53\x5a\x64\x99\xc3\xdc\x85\xe1\x16\x89\xf0\x99\x6f\x36\x0a\x64\xac\xf5\xf9\x31\x01\x72\x4b\x0d\xd1\xb9\x65\xf9\x59\x3b\xac\xf2\xb0\x56\xed\x31\x2b\x91\x3c\xc7\x4f\xeb\xa4\xcd\x46\x01\xbd\x90\xda\xa3\xca\xac\xe8\xb0\xe6\x5a\x47\x19\x85\xee\x66\xd9\x19\x87\x43\x93\xca\x1b\xc2\xf2\x83\x62\x5a\x8c\x12\x58\xd8\xb2\x7e\xdb\x95\x50\xb6\xa4\x87\x1a\x5c\x12\xc7\xc0\xf7\x43\xe0\x9c\xa4\x02\x22\x60\x18\x62\x4e\x7a\x57\xee\x28\x84\x56\xc4\x89\xc2\x70\xd1\x5e\xf3\xf7\x28\xb1\xd4\x12\x3f\x0d\x74\x7d\xe3\xb8\xe8\x12\x57\x73\x42\xcf\x71\x72\x4c\x19\x2c\x20\x12\x9b\x2e\x46\xd0\x74\x01\x15\x55\x38\x8f\x35\x40\xe9\x02\xce\x4d\x23\x7e\xba\xf1\x28\xca\x2b\x61\x01\x34\xd8\xa4\x5b\xe9\x6a\x61\xea\xe9\xa8\xca\x79\x89\x3f\xd0\xb8\x16\x48\x2a\x20\x53\x48\xe9\x40\xef\x5b\xc1\xf9\x04\x24\x3e\x87\xe6\xc1\x3a\x3a\x79\x04\x6e\x1d\xe4\x10\x94\x8c\x55\x45\x8c\x64\x71\x10\xc8\x26\xaa\x7f\xaa\x0c\xdf\xe3\x33\xd9\x20\xa2\x1d\xc4\x2a\xf3\xa2\x35\x02\x83\x60\xe6\x07\x76\x8f\xe2\x61\xa2\xae\xb0\xbc\x64\x74\x70\x8a\x4d\x52\xa5\xcb\xb5\x4a\xb9\x35\x7a\x9a\x8e\xd7\x4b\xb9\x8e\xea\x53\x95\x70\x6e\x63\x1c\xb0\x4a\xe5\xb3\x51\x57\x54\x1c\xc2\xeb\xe2\x3e\x04\x7c\xb7\x2d\x08\x18\x80\xa9\xa9\xa4\xe4\x7a\x99\x2e\xa4\x25\xc6\xd7\xcc\x89\x0e\xb9\xfd\x14\x58\x5e\x3a\x33\x1c\xa4\x59\x20\x7c\xa4\x54\xa2\x3f\x8f\x77\x7b\x8a\x25\x1a\x4a\x5d\x08\x5d\x93\x4f\x5c\xc5\x5a\x40\xb6\x19\x1e\xad\x06\x80\xdc\x8a\xd7\x29\x58\x55\x88\xd6\xd6\xaa\x49\x08\x99\x43\x82\x21\x21\xe8\x2d\xe7\x8b\xc4\x09\xa9\x6c\x1d\x48\x64\x68\x84\x51\x18\xeb\x51\x98\x22\x30\xb3\x65\x52\xba\xc3\xda\x56\x5e\xcc\x45\x7f\x5c\xe4\x5e\xb2\x99\xe5\xb6\x9c\x60\x93\x16\xa5\xe2\xc5\x42\xd4\xc7\x9c\xc5\x71\x5a\x23\xe9\x64\x61\xd3\xc0\xa0\x95\xac\x52\x70\xc7\xc9\x28\x99\x07\xdc\x84\x9a\x13\x45\xd9\x4e\xc5\x15\x96\x41\xe9\x11\x36\x66\x2e\xbb\xc3\x08\xe0\x0c\xb9\xbd\x5f\x4b\x08\xe2\x42\x52\xce\xee\x76\x66\xd1\x8c\xc2\x02\x99\xad\xc5\x70\xd4\xb8\xf8\x8a\x9c\xca\x0b\x8a\xdd\xb0\xf3\x84\x63\x8b\xe1\x7c\xea\xfa\xa5\x24\xf9\xd9\x49\xe2\x89\xd9\x04\x5b\xec\x15\x58\x50\x17\x26\x63\x56\xf5\x29\x69\x4d\xd2\x92\x74\xbd\x12\xa7\x1d\x1a\xc2\x0d\x3e\x75\x56\xbe\xa6\x89\x2b\x8a\xc2\xc7\x9e\xbc\x19\x26\xf3\xc9\x78\xaa\x26\x87\x03\x74\x00\x0c\xad\x48\x0d\x27\xab\x40\xb5\x0c\x97\x00\xa1\xcc\xc9\xbe\xcf\x4d\x0f\x13\xc8\x81\xc1\x5e\x25\x69\xdf\x22\xfc\x04\xd6\x7c\x0b\x2b\xab\xec\x28\x9c\x70\xa5\x3c\x74\x0b\x42\xdc\x4b\x8d\xa7\xa8\xe1\x26\x58\x4a\x4c\xa3\x84\x08\x99\xf0\xdb\x80\x46\x09\x2d\x81\x85\x32\x5f\xca\x48\xee\x14\xa2\x61\xeb\x11\xb5\x87\x91\x5d\xda\xf9\xc8\x0a\xc9\xe2\xe8\x10\x94\x10\x6e\x4f\x86\x6d\xe6\x01\x64\x21\x90\x75\xc1\x15\x41\xb2\x43\x0b\xbe\x73\xec\x99\x13\x23\x7a\x82\xe9\xc8\xc1\xca\xc0\x61\xd9\x18\xe8\x08\xa8\xb3\x9c\x76\x53\x80\x72\x7e\x2d\xe2\x11\xb3\x20\x67\xa3\xad\xb9\x58\x85\x21\x6f\x72\xfb\x8a\xe6\xa6\x18\xe1\xfb\x6b\xc1\xce\x7b\x0d\x6a\x31\x1a\xad\xda\x30\x8d\x57\xbc\xd4\xce\xba\x69\x34\x01\x5b\x42\xd7\x08\x55\x89\x8a\x78\x5a\x1d\xa1\xb9\xee\x52\x1c\x19\x47\x65\x1e\x30\xe5\x71\x01\x59\xb6\x23\x2c\xd2\xa1\xbf\xc0\x0c\x84\xe2\xc8\x42\xaa\xe5\xcd\x51\xcd\x02\x7d\x49\xa3\x45\xda\xe1\x43\xf9\xe0\xb8\xab\x65\x65\x94\xca\x9c\x26\xb6\x92\x9f\x6e\xdd\x68\xaf\x19\x82\x6e\xad\xfd\xf5\x41\x49\xf1\x1d\x0b\x08\x29\x33\x08\x67\x49\xa3\x5d\xc5\xae\xd2\x6c\x31\x59\x82\x1d\x0b\x96\xac\x3a\x75\x57\x1d\x8d\x94\xad\xe8\x96\xdc\xe2\x70\x2c\xe7\xc5\x26\x73\xe8\xb9\x62\x6e\x98\x76\x3c\xd9\xe9\xdd\xe8\x34\x41\x67\xde\xc4\x6c\x70\x40\xed\xeb\x64\x8b\x02\x3e\x5b\x1f\xd0\x96\xac\x8a\xc6\x0d\x10\x4d\x56\xba\x09\x6e\x26\x8b\xdc\xe2\x66\x6c\x58\xb1\x7b\x8d\x24\x6d\x44\xb0\xc0\x52\x98\x67\x9b\xe9\x34\xd6\x33\x28\x27\x93\x38\x20\x80\x6a\x8a\x09\xd8\xd3\x93\x31\x6d\xe3\x64\xb6\x3c\x79\x05\x65\xd6\xba\xc5\x2a\x9b\x26\x3c\xa0\x2b\x3b\x9d\x16\xf0\x69\x19\x39\x22\x08\x0f\xc7\x23\x94\x37\x0c\xb3\x4e\x72\xf9\xb0\x8d\xc7\x61\x69\x1f\x32\xc3\xa8\xec\x7d\xc9\xef\x08\x24\x0f\x37\x0d\x49\x87\x6e\x70\x62\xf3\x31\xbc\x62\xf3\xda\x4d\x77\xe5\xd4\xa7\x12\x7c\x8b\x4c\xda\x0d\xd4\x6e\x88\x94\x5e\xe3\xd8\xfe\x88\x4a\xfb\x6c\x82\xc1\x28\xd2\x42\x5e\xe7\xe0\x13\xe6\x34\x16\x97\x30\x27\x6d\x2c\xc8\x6a\x89\x23\x47\x8f\x3d\x8f\xcc\x8e\xdb\x14\x61\x36\xdd\x7e\x73\xa8\xf0\xba\xa0\x4b\x23\x9e\x97\x2b\x79\xba\x64\xd8\x15\xa2\xac\x60\xd7\xeb\xf0\xf2\x08\xcf\xe6\x53\xab\x16\xa6\xcd\x01\xad\x85\xb6\x8a\x94\x12\xc2\x71\x67\x59\x4e\x3c\xac\x1a\x0f\x97\xf4\x66\xd3\x18\x9c\xa1\x9f\xbc\x61\x06\xed\xa0\x34\xdd\x94\xda\xd0\x8a\x8b\x26\x64\x67\xae\xb0\x5f\xe4\x90\x66\x19\x41\xa6\x2c\x4f\x30\xbf\x1d\xad\x8a\xd5\x3e\x3e\xed\x40\x47\x85\xcd\x0e\x9d\x1e\x7d\x0a\x07\x06\x04\x6a\x75\xe4\x1e\x46\x76\x8d\x31\xb5\x0a\x73\x08\x47\x8c\x09\x6c\x2b\x4e\x16\x93\xa6\x5c\x63\x1c\xaf\x12\xfb\xe3\x16\x8d\x4b\xc4\xdf\x62\xa6\xcf\x85\xa7\x04\x09\x42\x78\xc9\x25\x04\x9c\x8f\xc4\x3c\x44\x66\x52\x01\x35\x1e\x71\xa8\x21\x32\x0e\x59\xb3\x6a\xe1\xa2\x26\xf3\xf9\xda\xaa\x31\x47\xa2\x60\xd5\xf1\x6a\x64\x1a\x66\x7a\xc8\x04\xce\x66\x88\x16\xac\x76\x42\x64\x7a\xa3\xb9\x8d\x60\x2c\x8c\x09\x01\x63\xe8\xb8\xaa\xb0\x1d\x9b\x1e\x13\x46\x91\xc5\x7a\x7a\x44\x30\x1b\xd0\x0a\xb7\xd7\x4e\xe4\x88\x03\x15\x3f\x77\x7d\xb8\x9c\x48\xfb\x45\xb2\x65\x4d\x62\x63\xa0\x33\xcd\xa8\xc6\x35\x63\x10\x43\xcc\x10\x37\x56\xc5\x34\x05\xd7\x88\x4b\x80\xb9\xc7\xad\x33\x6f\x6d\xc0\x98\xf2\x76\xb6\xa0\x47\x32\x60\xb8\xc9\x32\x9a\x39\xbe\x0b\x4e\x92\xb7\x40\x49\x26\x56\xa7\x9b\x55\xb1\xa5\xf4\xcc\xd2\x48\x3c\xe6\xbc\xd6\xe0\xf8\x06\x59\xcd\xb8\x86\x52\x1d\xc2\x68\x3b\x43\xd2\x66\xb2\xef\x1f\xb7\x61\x7d\x5c\x4b\x7b\x73\x96\x96\x2b\xa2\x4d\x16\x24\x52\x6d\x1d\x68\x3e\x6c\x40\xce\xaf\x4f\xac\xa8\x49\xdb\xd6\xd9\x37\x26\x01\x81\x85\x4f\x68\xe4\x72\x0a\xad\x35\x33\xb7\x11\x19\xc8\xba\x46\xd5\x88\xc7\x42\x27\x27\xc9\x47\x84\x54\x9d\xe6\x86\x9a\x20\x05\x4e\x84\xfe\xb8\x31\x13\xfe\x60\x36\xcb\xa5\xb6\xe3\xec\x4d\x59\xa2\xd8\x84\xa2\x39\xc5\x10\x4d\x46\x97\x39\x3a\x4d\xa9\x46\x9a\x13\x4d\x36\x9f\xed\x76\xc3\xd9\x0a\xaa\x36\xda\x08\x25\xac\xd0\xa8\x48\x65\xa1\x8e\xa9\x69\x23\x22\x9d\xd2\x8e\x77\xbc\x01\x4b\xdd\x6c\x36\xdc\xbb\x52\x97\x63\x9b\x1c\xb5\x67\xa1\x21\xc4\x5a\x6c\x9f\x64\x46\x99\xce\x56\xe6\x4a\xcb\xa7\xcd\x82\x17\x4f\x25\x5e\x71\xd5\xb2\x36\xd9\x11\xb4\x3b\x1c\xdb\xd9\xc4\x64\x39\x59\x46\x36\xce\x4e\xaf\x94\x24\xd2\xfd\xf4\x30\x81\xa6\x6e\xad\x65\xc3\xc2\x9e\x4b\xfb\x21\x88\x09\x44\x4b\x81\x94\xcc\xcc\xb1\x84\x8d\x36\xfc\x48\x04\x65\x14\x4d\xe3\x6a\xba\x15\xa5\x44\xec\xa4\x86\xa5\xcd\xb3\xdc\x4e\xae\x94\xee\x4d\x65\x9c\x91\x63\x02\x50\xc2\xa8\xa1\x66\xde\xd4\x45\x29\x63\x3c\x92\x7c\xcc\x15\x85\xb9\x5e\xd7\xba\xee\x90\x47\x26\x72\x56\x00\x5e\x35\xa4\x92\x9a\x12\x05\xf8\x0c\x60\xc0\x5d\x2a\xa7\xa1\x9d\xce\x01\x41\x82\x89\x34\x3b\xb2\x7d\x9d\x5b\xb4\x53\xbc\x74\x7d\xa2\xde\x26\xa3\xc2\x1c\x71\xa4\x8d\x27\xf0\x54\x8d\x86\x5e\x2a\x6a\x32\x82\x00\xd4\x9f\x4f\x89\xad\x20\x39\x24\x91\xe4\x9d\x0f\x54\x7f\x8f\xe3\xe2\x04\x82\x33\x9b\xdf\x6d\xf2\x64\xa7\x60\xd5\xa8\x3d\x21\x13\xb0\x2e\x75\x26\xd0\x39\x25\x3e\x79\x89\x23\x39\xae\x37\x93\x72\x83\xe5\x7d\x7b\x9d\x8e\x18\xbb\x09\xfc\xc3\x62\x17\x44\x89\xb4\xf7\xd0\x71\x6a\x25\xca\xa9\xdd\xc8\x95\xb7\x4a\x76\x3a\xd6\x1a\x19\x93\x27\x5b\x1f\x5d\x99\x95\xb8\x1e\x16\xc5\x18\xc2\x3c\x6f\x33\xca\x25\xfb\x40\xfb\xa7\x35\xaf\x06\x6c\xc4\xcf\xf2\x16\x9d\x4d\x94\x8d\xeb\xa6\x65\x18\xae\xb7\x64\x53\x2f\x8e\x23\x3d\xe4\x67\xf6\x06\xde\x9a\x2a\x11\xd3\x93\xd4\x18\x49\xa6\x87\xba\xe0\x40\x81\x09\x3a\xe9\xe2\x19\x5e\x8e\x38\x60\xa9\x5c\x26\x1c\x67\x0c\x97\xb0\x15\x5a\x2c\x27\x39\x55\x4e\x96\x38\x1c\x8f\xd6\x06\x27\x79\xa5\xd2\xb0\x53\x6d\x5b\xa2\x07\xbf\x39\x6e\xc2\x71\x2d\x14\xb3\x15\x01\xd5\xd3\x7a\x9f\x25\xaa\x27\xc4\x59\x6a\xcd\x11\x25\x51\xe2\x31\x70\x56\xac\xa3\x01\x99\x9c\xce\x09\xb8\x9e\xd3\xdb\x91\xb2\xd2\xb2\x00\x1f\xef\xb1\x6d\x40\xb6\x0e\x16\xf8\xd8\x8c\xf0\xd3\x59\xba\x2d\x9b\x55\x6e\x10\xc2\x08\xa3\x0b\x4b\x41\xab\x83\x64\x60\xa3\xa9\x67\xb4\xf8\x06\x6d\x3a\x45\x69\x51\x61\x88\x60\x87\x21\x7a\xa2\x37\xd9\x88\x38\x3a\xc5\x69\x36\xe3\x70\xaf\xa9\xb9\x51\x64\xba\xe5\x7e\xac\x72\x52\x6b\x8c\xb2\x64\x23\x35\x79\xa0\x8e\xeb\x7d\xe6\x07\x22\xd5\x20\x34\x38\x6e\xe8\x63\xa6\xfa\xda\x0e\x08\xc5\xce\xd6\x45\x30\x63\x90\xbd\x3c\x71\x31\x17\x73\x82\x08\x49\xf7\x99\x0c\xcd\xb6\x53\x6c\x19\x0a\x88\xa1\xa5\xac\x97\xba\xd2\xc1\x4d\x17\x2e\xc7\x99\x13\x01\x33\x79\x64\x39\xcd\x73\x2f\x6c\xb7\x9e\x23\x9a\x61\xcb\xe4\xac\xbd\xa4\x38\x28\xd1\x91\x14\xcb\xdd\x78\x6a\xcf\x52\x68\xd9\xf2\xd3\x49\xbd\x3f\x4e\x10\x0c\x71\xa5\xa9\x79\x64\x17\xc3\xa4\x98\x76\xeb\xd2\x24\x62\xab\xb0\x4e\x89\xa6\x0a\xb6\x1e\xcb\xcb\x05\x30\x32\xf8\x98\xb4\x25\xd7\x92\x06\x52\x2d\x3c\xbe\x2b\x27\xe8\x36\x9b\x82\x6d\xa6\xb2\x93\xe1\xa1\xc8\xd4\x6a\xa1\x4e\xeb\xd1\x78\xb2\xea\x4e\xc2\x74\x3c\x9f\x65\x2d\x86\x9e\xf6\xeb\x61\xac\x8f\xe1\x52\x2b\x4c\x26\x48\xe4\xc3\xda\x52\xe7\xae\x9a\x58\x87\xdc\xb0\xe2\x83\x81\x71\x9d\xd3\x46\xd6\xd8\x3b\x6a\x6b\x26\xf7\xb6\xeb\x44\x43\xa1\x6a\x3f\x16\x99\xc9\x58\xaa\xdc\xad\xba\x18\x0f\xfd\x53\x47\x6d\xb4\xd8\x42\x02\x81\x9e\xc9\xb3\x82\x9e\x17\x85\x30\xad\xe9\x85\xe7\x0c\x0d\x07\xda\x3a\x3c\x77\xdc\x29\xcd\x49\x1c\x36\x79\x58\x9c\xd0\x52\x1f\x65\xf9\x51\x39\x98\x15\xe9\xd4\xba\x40\xa8\x02\x6f\xca\x3b\x58\xee\x1c\x66\x83\x90\xca\x12\x51\x9c\xa9\xbb\x4a\xa9\xd1\x81\xb7\x26\x59\x64\x08\x24\x6b\xba\x53\x03\x9d\xc0\x8a\xe2\x88\x33\x1f\x00\xaf\x71\x60\x74\x5b\x2e\x58\x68\x9e\x92\x3b\x68\x93\xc3\xab\x84\x29\x99\x8a\x26\xea\x64\x71\x28\xcb\x69\xa6\x71\x9b\x59\xdc\xe9\x0c\x29\xf3\xb3\x02\x84\x7b\xc5\x98\xa1\x46\xb5\xd7\x5a\xf6\x74\xa8\x0f\xb9\xd0\x2d\xf6\x29\xc4\xd4\x50\x5b\x0a\x27\x7d\xd1\x2d\xba\x53\x1b\xd4\x9b\x34\x52\x97\x8b\xf1\x78\x9d\x9a\x0a\x01\x09\x29\x49\x2d\x4f\x2e\xbb\x82\x5d\xab\xcb\x49\x7d\xb2\x5e\xeb\x35\x98\x77\x6d\xb3\x3f\xc6\xa6\x35\x73\x16\xeb\x04\x77\xb6\xad\xa8\xe7\x14\x7a\x8c\x0e\x72\xd7\x45\x46\x43\xeb\x1c\x39\x99\x6f\xe1\x70\x23\x1f\xbd\x0e\xdb\xa9\x66\xbc\x56\x10\xd3\x5a\xd4\xba\x7e\x8c\x4c\xb6\xc1\x47\x18\xc4\xcf\x85\x19\x2d\xb8\x5a\xe1\x6a\x08\xb5\x45\xb5\xf5\x8c\x94\xc6\x94\x37\x57\x4f\x01\xeb\x55\xeb\x8d\x71\x90\x76\xc7\x0d\x38\x4c\x12\xe4\x68\xce\xda\x23\xb1\x86\xd0\xa9\x72\xe4\xb1\x93\xbf\xc2\x1d\x1b\x13\x9c\x9c\xd7\xf5\x49\x43\x2b\xb0\x01\x64\xe2\x20\xa0\x2c\x4c\x29\x16\x14\x94\x39\xe5\x4d\x87\xb4\x29\x94\x72\x69\x19\x43\xc3\x9f\x64\xc2\x52\xd8\x9f\xe6\x9e\x5f\x6e\x96\x35\x23\xd1\x18\x82\x9a\x4d\x01\xcf\xa7\x8c\x87\xe6\x07\x7c\x77\xe0\x76\x56\x22\x1f\xf7\x5b\x76\x6b\x8d\xc1\xbc\xa3\x96\xc9\xe5\x1f\xda\x6a\x10\x0b\x8d\x74\x6d\xa2\x9d\x5a\x07\x65\x01\x00\x80\xdf\x28\xcc\x9a\x55\x22\x73\xa3\xc4\x52\xb2\x3c\x59\x6b\x06\xb1\x64\x70\x12\x29\x1a\x5d\x68\x00\x5d\x68\x62\x63\x50\x74\x2b\xed\xf5\x46\xda\x83\xd3\x42\x03\x88\xb4\x07\x8d\x64\xab\x11\xe9\x03\x00\x48\x03\x51\x8c\x00\xb1\xe6\x0c\x62\x69\x79\xb5\x45\x95\xdc\x4a\x23\x20\xee\x41\x2b\x9e\x90\x56\x54\x91\x46\x34\xe4\x56\xa4\xb2\x4e\xa2\xb2\xd3\x92\x44\x9a\x25\x95\x35\xe2\x72\x6b\x4f\x89\xf3\xf9\x2c\x50\x75\x43\x52\x84\x11\x69\x72\xdc\xf7\x0f\x4b\x9d\x2c\x75\xec\x0a\x76\xed\xca\x1b\xdc\x0f\x2a\xaf\xad\xe0\x3c\xb6\xc3\x74\x70\x3f\xd0\x6a\xef\xfe\x06\x45\x6f\x40\xed\xdf\xa0\xc8\x70\x72\x83\x8c\xbf\xe0\xe8\x17\x6c\x78\x03\x21\x08\x82\x7c\x1f\x65\x60\xa7\xbe\x17\x67\x3e\x7c\xf4\x8a\x32\xcc\xd2\xf7\x88\x87\x0f\x93\x1f\x69\xfd\x19\x4f\x3d\x1f\xbf\x20\xd3\x5f\x86\xe3\xef\x22\xf0\xc3\x0a\x66\x69\x40\xbd\x6f\xea\x87\xd5\x4d\xe1\x1d\x7f\xb9\xe4\x67\x3b\x43\xdc\xdd\x7b\x0f\x5e\x9b\x67\x45\x55\x3e\xfe\x7e\x6e\xfd\x25\xbb\x8f\xc3\xed\x97\xf0\xdb\xb7\xfb\xd7\x77\xcb\xdd\x17\x77\xbf\x0f\xea\xd2\xbb\x29\xab\x22\x74\xaa\xc1\xd7\xeb\x3d\x69\xae\xb7\x0b\x53\xef\xf9\x2e\xbb\xea\x7e\xf0\xf7\xbf\x7b\xa5\x78\xce\x30\x36\xb8\xff\xfd\x68\xc7\xb5\xf7\xe5\x27\xe4\xdb\xdd\x7d\xf5\x40\xb2\x40\x51\x69\x4d\x7d\xfc\xfd\xdb\x7d\xf5\x70\xbd\x9c\xfd\xef\xd7\xd2\xc7\x97\xfa\x07\xe2\x15\xf0\xaf\xc8\x6f\x8f\x9f\xdf\x35\xf6\xdf\xd5\xf9\xaa\xb1\xff\xde\x9d\x6f\x1a\xfb\xef\xe2\x7c\xd1\xd8\x7f\xa7\x7f\x70\xcf\xd8\x7f\x1f\xff\x5f\x76\xcd\xd8\x2b\x39\x3c\x80\xc7\x97\x1b\xc3\x5e\x97\x13\xd7\x5b\x3e\x5f\x24\x86\xff\xf6\xf8\xbd\xeb\xbc\xc2\xfd\x3f\x79\x9d\xd7\x6b\x8a\xe4\xab\xb1\xfa\x75\xd4\x13\xfb\x97\x5f\x83\xf3\x9a\x9c\xf2\xbe\x37\xff\x8a\x1b\xb5\x5e\x13\x90\x1f\xff\x9d\x97\x62\xbd\xa6\x24\x3c\xfe\xeb\x2e\xb8\x7a\x8d\xd7\xfc\x30\xe0\xff\xca\xbb\xaa\x5e\x53\xa2\x5f\x8f\xfd\xf8\xb7\xc7\x7f\xe7\xcd\x52\xaf\xe9\x5a\xdf\xef\xe1\x5f\xbe\x24\xea\x35\x5e\xf6\x75\x7f\x26\xcf\xfd\xf9\xb7\xdc\xed\xf4\x7a\x8e\x9e\xaf\x71\xfa\x9f\xbc\xa8\xe9\xa3\x39\x87\xff\xe3\x3f\xfe\xd7\xcd\x7f\xdc\x70\x4f\x39\xad\xcb\x9b\x2a\xf0\x6e\xec\xaa\xb2\x9d\xe0\x26\xf1\xaa\x20\x73\xef\x6f\xaa\xc0\xae\xae\x65\xde\x05\xe0\xe9\xb2\xe5\x9b\x2a\xbb\xb1\x6f\xd6\xde\x56\xcd\x9c\xc8\xab\xfa\x85\xc1\xb3\x93\x87\x1e\xe5\xff\xef\x92\x61\xf2\xa6\xbd\x5c\x05\xe5\xba\x59\x5a\xc2\x17\x24\xd7\x9f\x33\x54\x1c\x3a\x5e\x5a\x7a\x37\x22\xa7\xfd\xaf\x9b\xff\x80\xff\xd7\x4f\xcf\x1c\x9e\x33\x8c\x3f\xad\x4b\xd5\x6d\x71\x8b\xdc\xdd\x7d\xbb\x7d\x93\x65\xff\xf5\x5a\x74\xb9\xfb\xf7\xf7\x6f\xcf\x77\xc8\x3e\x5c\xa8\x3c\xbe\xed\xf2\x7d\x78\xf7\x7b\xf1\x78\xb9\x99\xf3\xf1\xf1\xb1\xf8\xc7\x3f\x8a\x7b\xef\xa1\x3c\xb3\xff\x58\xdd\x7b\x0f\x7f\xdf\xc5\x75\x19\x10\xf5\x6e\xe7\x15\xaf\x2f\x33\xf5\x1e\x9a\x22\xac\xbc\x5b\xef\xe1\xef\x17\xc4\x97\x2e\x5f\x00\xfb\x25\xf4\x93\xe2\x8b\x55\xbe\x64\xac\x0a\x13\x2f\xab\xab\xcf\x9b\xf7\x95\xdf\xc3\x71\xae\x3b\x23\xfa\xd6\x03\xe4\x75\x19\x68\xd9\x7b\xf6\xce\xb2\xfa\xa4\xf1\xdf\x3e\x2d\x85\x1e\xab\x2f\x9f\x33\xf2\x58\xdd\x97\x5e\xf5\x8a\xd7\x57\xc2\xb8\x1f\xf6\x03\xd0\xf3\xe0\x7b\x95\xe8\x95\xa5\xed\x7b\x6f\x38\x08\xff\xf6\x8e\xbf\xdb\xea\xc1\xb5\x2b\xfb\xee\xcb\x93\xec\xae\xef\x67\x24\xa5\x97\xba\xe7\x2b\xb9\xdf\xdc\xd0\x7a\xce\x37\x71\xbe\x75\xb8\xea\xbd\x19\xfa\xe8\xa5\xd5\x22\x2c\x2b\x2f\xf5\x8a\xdb\x41\x72\xa1\x3a\x78\xcb\xc4\xdd\x7d\xf1\xf3\xcf\xde\x43\x96\xde\x0e\x7a\xf4\x83\xd7\xd8\xef\x3e\xc5\xe3\xc4\x59\x79\xc6\xe2\x7a\xbd\x04\x1e\xb6\x61\x4f\xf4\xbe\xba\xfb\x1c\xdc\x2b\x8a\xac\xf8\x14\xbc\x67\xf3\x52\xf8\x21\x37\x7e\xb6\xdb\x7d\xca\xcf\x6d\xf5\xa2\x7d\xd5\xdf\x9e\x54\xef\x4b\x75\xf7\xf3\xcf\xd5\x43\xe1\x25\xd9\xd1\xfb\xc1\x5e\x5f\x6f\xd0\x7e\x42\xd1\x4b\xf5\xd5\xd5\xc0\x1f\x94\xff\xa2\xfa\x6f\x27\xc7\x25\x07\xf3\xa5\xee\x6d\xfb\x0f\xbd\x7a\xd5\xf6\x52\x77\x6d\xdb\xcb\xe0\xdb\xdd\x77\x2d\x0b\x13\x56\x2f\xd6\xc2\x39\x27\x53\x29\x6f\xec\xd4\xbd\x29\xb2\xa6\xec\xcd\x47\x6f\x4e\xdc\x30\xf1\xd2\xde\x47\x2e\x6f\xb2\xdd\x4d\x58\x95\x37\x94\x24\xde\x78\x17\x93\xd4\x5b\x93\x1e\xd3\xff\xfe\xdf\x37\x20\xcf\x8b\xec\x6a\x39\x7e\xb9\x51\xb2\xa6\xfc\x72\xa3\x15\x75\xef\xbb\x7b\x57\x44\xc7\xb0\xc7\xd3\xa3\x79\x63\xa7\x72\xbb\xf0\xd2\xea\x09\xe5\x4d\xe0\x85\x7e\x50\xdd\x6c\x4f\x6f\xa1\x8a\xac\xb9\x56\x3d\x11\xfd\xe5\xe6\x92\x00\xe6\x9f\x25\x74\xce\x73\xf8\x81\x8e\xf3\x74\x63\x5f\x4f\xe2\x02\x72\x7b\xce\x89\x7d\xe3\x86\x65\x1e\xdb\xa7\x2f\x37\x61\x1a\x87\x69\x6f\x89\x3f\x72\xd8\x4b\xaf\x7a\x62\xa6\x17\xd6\x05\x43\x13\x56\xc1\x19\xd8\xa9\x8b\x9e\x87\x1e\x77\x5a\x27\x5b\xaf\xe8\x99\xbc\x8a\xfe\xee\xfb\xb6\x79\x17\x56\xfd\xbf\xff\x63\xab\xfc\xd1\x10\xe7\x45\x96\x67\xa5\x37\xf7\xb2\xc4\xab\x8a\xd3\x87\xab\xe4\xbd\x87\xa7\xa1\xbe\x48\x8f\xbe\xbc\x3d\x5d\x27\x7f\x4e\x3e\x71\xc6\xda\xeb\xe9\x7d\x76\x5f\x3e\x65\x7a\xf6\xbd\x8a\xcc\x92\xbc\xae\x3c\x57\xad\x4e\xe7\xe4\xf5\x9f\x63\xba\x4f\x5f\x92\xc3\x9f\x6f\x68\x7e\x0a\x56\x8c\x3e\x36\xb9\x1d\x5c\x06\x7d\x70\x77\x77\x6f\x3f\x8a\x76\x15\x3c\x24\x76\x7b\x8b\xdc\xff\x61\x9b\xb3\xd4\x07\x77\x77\xbf\x0c\x27\x77\xf7\xf1\x9f\xb3\x74\x77\x1f\x3c\xa6\xbf\xdc\x3e\xe3\x8c\x3f\xc1\x99\xdb\xae\x1b\xa6\xfe\x2f\x55\x96\x0f\xee\xee\xa0\x1f\x82\xdd\x66\x55\x95\x25\x83\xbb\xbb\xbb\x7b\xe7\xd1\xfe\x41\x02\xc5\xb5\xbf\x3f\x46\x22\xf6\x76\xd5\x99\x40\xfd\x78\xeb\x3d\x14\x59\x43\x66\x69\x65\x87\xa9\xd7\xaf\x9d\xaf\x5f\x1f\x76\x61\x51\x3e\x49\x9d\x0c\xc2\xd8\xbd\xbb\x77\x1f\xeb\x87\x30\x4d\xbd\x82\xd5\xc4\xc5\x93\x52\xd4\x0f\xe7\xcc\x26\x0f\x57\x7d\x7f\x1c\x5c\xf4\x7d\x70\xff\x0a\xf6\x71\xb0\x1e\xdc\x87\x8f\xf5\x39\x45\x56\x56\xa7\x3d\x2b\x64\x1c\x7a\x69\xa5\x78\x4e\x75\x7b\x77\x49\x22\x7a\xff\x01\xd5\xe0\xbe\xfa\x83\x46\x97\xa1\x7e\x43\xc7\xbd\x2f\x5e\xd4\x23\x80\xab\xbb\xfb\xec\xe5\xdd\x81\xc3\xbb\xfb\xdf\x9d\x2c\x2e\xbf\x64\xf7\xbd\xd1\xfa\x52\x7c\xeb\xcd\xfe\x2e\xac\x3e\xa4\x5a\x29\x1e\x3f\x28\xfb\xad\x77\xce\x42\x7e\xbe\x1d\x3d\xec\xbc\xdb\xe2\xa1\x47\x75\x5f\xf4\x62\x2b\xdf\xd9\xdc\xef\xce\x93\x57\xb6\xf7\x3d\xfa\xde\x08\xbf\x43\xf3\x86\xb3\x57\x4d\x77\x61\xf5\x04\xfe\x87\x16\xbb\x8e\xe3\x4b\xa6\xd6\x9b\xb3\x65\xb8\xd9\x65\xc5\xc5\x52\x3c\xec\xcb\xef\x5b\x8f\xe7\x56\xaf\x1e\xff\x0d\xb6\xa4\xca\x7c\x3f\xf6\x7a\x1e\xd5\x33\x89\xcf\x12\x19\x7f\x2d\xde\x2e\xb1\x4f\x36\xc1\x89\xed\xb2\xec\xd7\xd5\x07\xe7\xa2\xb0\xe5\xed\xe0\x85\xd9\xc1\xdd\xdf\x06\x97\xf5\x77\xf0\x65\x60\xbb\xee\xe0\x4b\xf5\xb7\xcb\xef\x53\xf1\xfd\x27\xa8\x7e\x2d\x7e\x7b\x8b\xe4\xed\x58\xbc\xb0\x5b\xbe\x67\xb7\xf7\x76\xde\xf7\xe6\xc7\xd6\x54\x2d\x08\xcb\x6b\x02\xf7\x9b\xbc\xc8\x8e\xa1\xeb\x95\x57\x67\xbd\x3c\x8f\xd6\x65\x71\x0f\x53\xff\xc6\x7e\xe7\xaa\x5f\xdf\xdc\xec\x53\xa7\xfd\xbb\xa3\xfb\xdc\xec\xe5\xe9\xdf\xed\xbd\x3f\x13\x02\xff\x9f\x1b\xff\x3f\xea\xc6\x5f\x0c\x19\xaf\x4a\xcb\x87\xb3\x11\x7c\xf2\xda\xbf\x0e\xca\xca\xcd\xea\x6a\xf0\xf8\x58\x9c\x73\xc5\xdd\x7e\x74\xf8\x8b\x5f\x87\xbf\xbd\xb8\xfb\xe7\xb7\x3f\xf7\xf6\xcf\xa4\xca\x73\xce\x95\x70\x77\xba\xfd\xb5\xa7\x13\xa6\x83\x7b\xef\xa5\x71\xa5\x86\x9d\xf7\x63\x6d\xbd\xea\xef\xbd\xa1\x1d\x5c\x56\xa6\xf2\xde\x3b\x1b\xdc\xdf\xee\xfe\x85\x21\xc5\xa5\xe2\x62\xd0\x07\xaf\x18\xfc\x93\x60\xe3\x59\xa3\xa9\xbf\x16\x75\x7c\xbf\x5d\xdf\xa5\x77\xb5\xff\xb7\xc5\x21\x7f\x30\x8d\xdf\x06\x24\xef\x00\xbf\x1f\x99\x7c\xbf\xc3\x9f\x61\xa3\x7e\x24\x56\xf9\x3f\xda\xd4\xfe\x7a\xc9\x09\x5c\xdc\xa2\x93\xde\x71\x18\xd4\xe9\xa5\xa9\x3b\x78\x7c\xec\x19\xce\x76\x37\xa9\x7d\x0c\x7d\xbb\xca\x8a\xfb\xf2\x31\xfb\xdb\x20\xcd\x5c\x6f\xf0\xe5\xb9\xf0\xa1\x2e\xbd\x02\xf8\x5e\x5a\xdd\xa7\x9f\x55\xe7\xb1\x5d\xed\xb2\x22\xf9\x5a\x3d\x84\x25\x13\x16\xde\x2e\x6b\x1f\x7f\xfa\xe9\xff\x5f\x3e\x84\xa9\xeb\xb5\xd2\xee\x76\x70\x2d\x1d\xf4\x9a\x14\x96\xa2\xca\xd1\xef\x00\xfa\xa2\xc1\xdd\x3f\xfe\xf1\xb6\x54\x2b\x42\xd7\x4b\xab\xa7\x66\xb6\x73\x4e\xc0\x7a\x5d\x1a\x7f\x1d\x88\xb6\x13\xa6\x55\x56\x06\x83\xfb\xfe\x99\x4b\x2b\x2f\xbe\x3c\xae\x56\xe4\xe5\x61\x3c\x15\x06\xbf\xdd\xa7\x17\x04\x5c\x6e\xbb\x8f\x83\x70\x65\xf7\x5d\x7f\x4c\xaf\x65\x41\x96\x7a\x7d\x69\xff\xfb\x52\x2e\xaa\xeb\xb3\xc3\x5c\xbe\x25\x79\x2d\x1c\xdc\xf7\x4f\xc3\xf1\xe5\x17\x43\x2f\xbf\x24\xfd\x42\x6b\x11\xa6\x75\xfb\x98\xbe\xf4\xe5\x5c\x30\xb8\xfb\xaf\x47\xe4\x4f\xc6\xf7\x39\x7b\x74\x78\x99\x22\xcf\xf9\x68\xbd\x87\xdc\xf6\xbd\xcd\x9b\xb0\xe3\x25\x41\xfd\xb5\xf6\x3e\xbc\x3e\x99\x5f\xab\x9f\x7f\xae\x7e\x7a\x7c\x2c\xbd\x78\xf7\xe0\x66\x4e\x7d\x76\x0c\x9e\x1e\xae\x3e\xf0\xd7\xbb\xe2\x97\xc7\xaa\x9f\x84\xa5\x57\x2d\xbc\x5d\x75\x1f\xbe\xbc\x6b\x59\x7e\x5f\x3d\x0e\x2e\x2f\xab\x73\xc0\x32\x08\xd3\x9b\xea\x6f\x4f\x00\x97\xb2\x2f\xef\xa2\x99\xeb\x1a\xf9\x6b\x71\x1f\xfe\xf6\x92\x0b\x3b\xbb\x2e\x8c\xd9\x7d\x79\x9f\xde\x5d\x13\xee\x5e\xba\xf8\xb4\xa8\xda\xbf\x22\xbf\x5d\xc2\x1b\xc7\x0b\xe3\xdb\xdb\xfe\x1d\xba\x4d\xff\x56\x5c\x3c\x69\x18\xfd\x82\xdc\xdd\xc1\xd7\xb7\xbb\x7b\xfb\xd7\xe1\x6b\xf0\xfe\x15\x2e\xae\xfe\x73\x5f\xfb\x84\x2c\x09\xd3\xdb\xe7\xa0\xc9\x3e\x27\x15\xbc\xbb\xcf\xa0\xe1\x6b\x0c\xef\x60\x86\x67\x98\xf2\x0c\xf3\xed\x9f\x38\x45\x3a\x47\x59\x59\xe1\x96\x8a\x17\xdb\x55\x78\xf4\xb4\xec\x2a\x9c\xc7\xf0\x75\xf5\x63\x76\x79\x53\xec\x86\x38\x55\xde\xb5\xf0\xbd\x2b\x71\xff\x9c\xec\x38\x7b\x55\x74\x6f\x3f\xa6\x7d\x67\xe2\xc7\xf4\xd7\xe1\x6f\xcf\x32\x84\x1e\x31\xf4\x3e\x3e\xff\xff\x7b\xfb\xc5\xbe\x3f\x7d\x89\xbf\xfd\xab\xcf\xc9\x9e\x4d\x0a\xd6\x5b\x94\x57\xde\xcb\xf3\x68\x7b\xcf\xf9\x8c\x7a\x8f\xf4\xd1\xbb\x0f\x1f\xce\x27\x77\x3d\x0d\xbb\x8e\x2b\xb5\xca\x8a\x7e\x61\x4f\xbd\xe6\x26\x7c\x88\xc3\xed\xc3\xb5\xe4\x41\xf4\x92\xac\x38\xbd\xe4\x69\xbc\x82\x5c\x5a\x3f\x25\xb2\x7c\xa9\xbe\x44\x85\xde\xae\xbc\xbd\x7b\x28\xbd\xea\x76\xd0\xaf\x20\xbf\x78\xa9\x93\xf5\x91\xd5\xe0\x7e\x50\xd8\xcd\xe0\x55\xda\xc7\x07\xd7\x73\xb2\xc2\xae\xae\x49\xcf\x7a\xee\xae\xb5\x61\xf6\x92\x63\xf7\x21\xcc\x1e\x7a\xc7\xe1\x75\x22\xd8\x87\x30\x2d\x2b\x3b\x8e\x05\xef\xb4\xcd\xec\xc2\xbd\xbd\xfb\xf6\x9c\xda\xfd\xc5\xfa\x87\xe9\x2e\xfb\x18\xdd\xfc\x7e\xdd\xde\xb8\x24\x4b\xba\xbe\x5c\xa2\xb5\x4b\xd6\xd9\xac\x29\xbf\xbd\x5d\x46\xb2\xba\xca\xeb\xb7\x21\xdc\x25\xc5\xf5\x6b\x26\x5f\x25\xc4\xed\x59\x3e\xbb\x35\xba\xc6\x4c\xcf\x3b\x94\xaf\xb1\x95\x41\xd6\x7c\x70\xa6\x5e\xa5\xe3\xba\x56\x79\xf7\xd5\x7f\x21\x7f\x7b\x83\xb3\x6f\x29\x1d\xbd\x22\xb6\x4f\xe7\x06\x5f\xfe\xa0\xf6\x92\xbd\xf0\x0d\xe1\xcb\x4a\xfd\x81\xf4\x95\xee\x67\x68\x5e\x33\x74\x4e\xc6\xe9\xbd\xcd\x9d\x75\x31\xc1\x5a\x58\xc5\xde\xc7\xec\x59\x67\x84\x6f\x81\x3e\xca\xe2\xa2\x31\x5e\xe1\xa5\xce\xbb\x0c\x5c\x2f\xb9\x98\xbf\xbe\xce\xd2\xe7\xdd\x3d\xec\xb2\x82\xee\x17\xea\x67\xe8\xe2\x1c\x1f\x7d\xa2\x81\xc5\xbd\xf7\x6b\xf1\xdb\xdd\xb7\x77\x54\xb3\x94\x4b\xdf\x0f\xe8\x55\xef\x1e\xb2\xd4\xd0\x04\xef\x54\x56\x45\x16\xbd\x75\x76\xbd\xdb\xea\xee\xdb\x93\x7e\xbe\x4a\x76\xfc\x11\xe8\x3d\x35\xe5\xec\xfe\x7d\xaf\x77\x2f\x94\x9f\xa6\xd4\x7b\xf8\xb3\xf7\x53\x3d\xe9\xea\x63\x71\x5f\x9d\xb5\xf4\x31\xbc\xf7\xce\x75\xdf\xde\xef\xc7\xda\x4e\x15\x1e\xed\xea\xe3\x20\x7f\xe8\xe0\x4b\xc6\xc7\xb7\x7d\x7a\x53\xfe\x81\xb3\x97\xda\xb3\xd4\xeb\xf4\xe3\x7c\x7c\xa7\x79\x9f\xa5\x7b\x7b\xa3\x8f\x7f\x32\xbd\xdf\xa0\x3b\xbb\xc9\x9f\x2b\xf0\xe7\xac\x7c\xbb\xbd\xfb\x5a\x3d\xb0\x67\x1b\x96\xfd\x7b\x0c\xf0\x77\x2c\xef\xf3\xb4\xae\x8b\xf8\x29\xd1\xe6\xb9\x23\x7d\xa4\xf1\x58\x7d\x66\xb6\x9c\xc2\x7b\x37\x74\x4f\x5e\x86\xd7\xdc\x64\xb7\x4f\xd8\xde\xe1\x7a\xe9\x26\x99\xa5\xa9\x77\x6e\xca\xd8\x4e\x95\x15\xa7\xc7\xf0\xcc\xe3\x77\x57\x87\x67\x1e\xb7\x76\x71\x59\x06\x9e\x03\xfe\x73\xe5\x67\x4c\x66\xf9\xeb\x0d\x8a\xbb\xdf\x7f\x64\x80\x7a\xf4\x97\xaa\xf7\x03\xda\x2b\xde\xc7\xd9\x78\x86\x7f\x3e\xe4\x79\x63\xd9\x4b\xe9\x1d\xfd\xd7\x59\x13\xcf\xed\x0a\xcf\x76\x4f\xe7\xcc\xb9\x8f\x8f\xcf\xdd\x79\x20\xa5\xe5\x92\x26\x35\x6e\x39\xff\xc7\x3f\xfe\x0c\x56\x5a\xd1\xcb\xf7\x33\xf9\x2d\xd9\x37\x8c\x66\xe9\x5b\x99\x9c\x8d\xc1\x67\xb6\xc0\xf1\xc2\xe3\x27\xe6\xf2\x8a\x24\xf9\x24\xcc\x7e\x39\x0d\x7b\x8f\x8d\x7c\x2b\xe8\x77\xb8\xde\x0d\xc3\x0b\x47\xef\x15\xe5\x5f\x3e\x29\xee\xab\x57\x5a\xfe\xeb\xa0\xf1\xb6\x55\x75\x1a\xfc\x76\x5f\x3d\x24\xa5\x7f\x36\xbe\xd7\xe4\xd5\x8f\x03\x64\xf0\xaa\xf4\x71\x30\xbc\xbe\xae\x7a\x2b\x34\x40\xaf\x6f\x17\xbb\xf3\x64\x85\x1e\x07\xd8\xb5\xfc\x8a\x45\xba\x2c\xd0\xcf\xb8\x9e\xde\x9f\x91\x65\xaf\x91\xa9\x6f\x17\xae\x67\x64\xea\xdb\xc5\x68\x80\xbf\x94\x2b\x9e\x73\x11\xd6\xe3\x60\x34\xf8\xb3\x19\x7f\x89\x56\x5f\xbc\xa6\xeb\xb4\x77\x3e\xcc\xcb\x6b\x66\x5d\xbb\xf0\xcf\x46\xfd\xfc\x5c\x57\x81\x96\x45\x5e\xda\x3b\xa7\x17\x23\xf9\x44\xf9\x97\xe1\x8f\x4c\xc4\x73\x52\xd5\x9e\x83\xf3\xe2\x72\x7f\x75\xa4\x3e\xd0\xbe\x5a\x99\xdb\xbb\xfb\x37\x19\x4f\xb3\xab\x8e\xdf\xbe\xc3\x58\x3c\x86\x4f\x96\x79\x97\xdd\xde\x7d\xcd\x3e\xdd\x52\xf9\x1d\x14\xfe\x39\xa2\x29\xbf\x84\x97\x3c\xe2\xe0\xa9\x3b\x7d\xc1\xd3\xf3\xb7\xbb\x8b\xd1\x7c\xe3\x5d\x17\x3d\xf1\x33\xd2\x4f\x06\x1c\x7a\x4f\xe8\xc9\x87\xf3\x9e\xb6\xd9\xef\xee\xbe\x7d\xbd\xb2\xf8\xb4\xde\xde\x96\x77\xf7\xe5\x65\x13\xfd\xe2\xe2\x5d\xf6\xd1\xef\x9f\xc1\xce\x1a\xf7\x66\x9f\xf1\x35\x07\xe7\x5a\xc8\xbb\xfb\x76\x77\xef\x3d\x96\x5e\xd5\x87\xb4\xc5\xd1\x8e\x6f\xdf\x88\xeb\x05\xbe\x57\xd8\xbb\x6f\xf7\x98\x87\xdf\x9d\xb3\x72\x3d\x4f\xf5\x0f\xbb\xd4\x7d\x80\x58\xc6\xa1\xe3\xdd\x0e\xef\xbe\x96\x4d\x58\x39\xc1\xad\xf7\x2b\xf2\xdb\xdd\xef\x8e\x5d\x7a\x37\xaf\x34\xf8\xcb\x13\xaf\xe7\xb7\x5b\xbb\xca\xb6\xb7\xc5\xdd\xdd\xd7\x6d\xe1\xd9\xd1\xd7\x17\xe8\x5e\xbf\xbf\xbc\x2f\x7c\xab\xe6\x4f\xa8\xde\x39\x64\xc5\x47\x64\x6f\xa7\xc1\x97\xcb\xd2\xf1\x6a\x8f\xaf\xb8\xfb\xfa\x82\xeb\x15\xe4\x6d\xf6\x29\xae\xe7\xa9\xf3\xe5\x32\xe6\x6f\x31\x3d\x65\xb4\x8f\x33\xff\x76\x40\xa7\xf6\x36\x0e\x53\xff\xe6\x59\xe9\xbf\xdc\x0c\xa0\x12\x1a\xdc\x94\x7d\x81\x5b\x5e\x3f\x61\x7c\x9a\x11\xe5\xb7\xab\xa4\xcf\x66\xf0\xf5\xc0\x9c\x37\x60\x9f\x47\xcc\x7b\x1e\xf4\x17\xd7\xe8\xf6\xb9\xec\x95\x3f\x7e\x3b\x78\xb1\x89\x37\x67\xa4\xee\xe0\x1e\x79\x43\xf4\xbf\x90\x9f\x7f\xbe\x2d\x1e\x5f\xed\x99\xbe\xd6\x87\xcb\x0e\xc5\xf7\xa6\xda\x95\xe0\xd9\x1b\xea\x67\x5e\xbf\x0c\x0e\x3d\xec\x3f\x5e\xa1\xbf\xbb\x2a\x4f\x3f\x07\xef\x9e\xb7\xb8\xcb\xdb\xbb\xfb\xf7\xbd\x7b\x22\x5f\xf4\xf0\x4f\xab\xea\xb3\x6d\x5f\x7b\x5b\x4d\x33\x1f\xc3\x7f\x57\xb4\x89\xf4\xd1\x66\x1f\x74\x7e\x0d\x1f\xe2\xcc\x76\x81\xeb\x66\xe9\xed\x60\x17\x56\x83\x0f\x93\xfb\x7d\x2c\xfa\xde\xf7\xbd\x86\xa5\xef\xc2\xcc\xfb\xb7\xd1\xd0\x43\xd6\xa4\x5e\x41\x3d\xed\x9d\x5c\x64\x7a\x0d\xe4\x6f\x07\x6e\x78\x7c\x8a\x2c\xaf\x2d\x2e\xc7\x2e\x4b\x3b\xf1\x1e\x07\xe7\xf3\x89\x5f\xb2\x4b\x50\x33\x78\x03\x76\x95\xe2\x23\xea\x61\x4f\xf6\xb6\xb7\x1d\x4f\x3b\x99\x6f\x7c\x98\xcb\xe8\xed\xc2\x7e\xec\xae\x2f\xa5\x53\x64\x71\xac\x65\xc4\xf9\x60\xf5\x5c\xfe\x5a\x9d\xae\xd9\xc1\xaf\xc0\x67\x37\x0d\x1a\xb4\x03\xe8\x6d\xf9\xc5\x2c\x55\xef\x58\x7a\x8a\x35\xae\xc6\xea\x76\xd0\xeb\xc4\xe0\xfe\x0d\x43\x6f\x99\xbd\xbd\xbb\xbf\x9e\x2c\x7f\xdc\x21\x7e\xda\x81\xfe\xc3\xe6\xdf\x7a\xe5\x7b\x45\xb4\x57\x42\xef\xfe\x27\xe4\x5a\xd8\x87\xeb\xae\x57\x5c\xb3\x09\xc6\xe1\xf6\xa1\x8f\x6f\xa9\x4b\xe9\x3f\x1b\x80\x3f\x4b\xe6\x55\x08\xfe\x2c\x95\x3f\x8f\xc3\x5f\xe0\xaf\x9f\x0d\xbd\x62\xf4\xfa\x7b\xeb\xdd\xfd\x70\x04\xfe\x92\x9b\xf9\xeb\x1b\x65\xaa\xbc\xb6\x22\xb3\xb4\xf2\xd2\xea\x49\x53\x7b\xad\x7d\xb0\xf3\xdc\x4b\xdd\xf3\xe9\xf5\x9b\x60\xf9\xee\x83\x92\x15\x3f\xff\xfc\x66\xda\x7e\xa8\xbf\xbb\xbf\xd8\x96\x0f\x15\xdf\xb1\x35\xc5\x85\x83\x4b\x10\x75\xe1\xa0\x78\x26\xff\xed\xb2\xe5\xff\xe3\xd1\xff\x53\x47\x2f\xbb\x87\xcb\xcc\xf5\xae\x69\xaf\x7b\x22\xd7\xad\x8d\x0f\xf4\xde\xf4\xf8\x87\x37\x07\x9e\xf7\x3f\xab\x73\x95\xf7\xc3\x3b\x02\x3f\x18\xc4\x3f\x4f\x98\xcb\x49\xc6\x87\xe8\xfc\xc3\x66\xc0\x27\xe1\xf9\x5b\x44\x1f\x26\xcf\xd5\x27\x3f\xab\x6d\x75\x3d\x9e\xff\xf0\x51\xd4\x77\x83\xf0\x0b\xde\xe7\xb3\x96\x37\x53\xae\x2f\xbd\x92\x7b\x5d\xbe\x8d\xeb\xe2\xff\x34\xa8\x3e\xab\xdf\x9f\x86\xd2\x57\x0b\xf2\xe9\xa9\xce\x93\x1c\x3e\x31\x94\x6f\xb7\xf5\xca\xaa\xc8\x4e\xaf\x22\xef\xcd\xd9\xac\x97\xff\xc3\x91\x77\x4f\xe0\xca\x55\x5b\xd9\x85\x67\xbf\x78\xe2\x49\x9e\x95\x61\x0f\x69\x84\x5e\xf3\xe4\x87\x3f\x1d\x7f\x3f\xf9\xe2\x61\x49\x5e\x00\x53\xff\xf1\xa7\xe1\x53\x99\xea\x5d\x3e\x14\x79\xc1\xf1\x5c\xf9\x0a\xef\xea\xa9\xee\xf7\xb2\xb2\x8b\xea\xcb\x79\xc7\xc4\x4b\xdd\xf3\xc3\xb7\x4f\xc3\xfe\x97\xc6\xe7\x26\x1f\xf7\x6e\x5e\xb3\x83\x7c\x97\xe2\xc3\xa5\xf5\x9b\x8e\x3f\x9c\x85\xf6\x10\x7b\xa9\x5f\x05\x9f\xca\xe0\x8d\x85\x1b\x0c\x3e\x87\x79\xf9\x28\xe2\xfc\xd7\x23\x67\x05\xf7\xde\x7f\xc6\xf0\xaa\x51\x9d\xbb\x6f\xf4\xff\x93\xb5\xff\x8f\xd8\xf0\xce\x41\xef\x85\x95\x0b\xaa\x57\x42\xbf\x2e\xfd\xbd\x67\xf4\xb9\x7d\xac\x3e\x15\x8e\x97\xba\x8f\xd5\xe7\x72\xf9\xf6\x61\x87\xf3\x15\x82\x37\x1b\x14\xd7\x01\xd9\xf5\xca\x12\x76\xaf\xb9\xba\xfd\xe9\x3d\x8e\xc8\x3b\xb9\x7d\x9c\xfb\xee\x43\xb6\xf7\x23\x7a\xdd\x8e\xf8\x4c\xbd\xce\xf0\x28\x3a\x7b\x7c\x7c\x3c\xa3\x23\x33\xd7\xbb\x1e\x3c\xfd\x34\xfc\x1a\xee\x6e\x87\xe3\xd7\x55\xff\xf8\xc7\x70\xf2\xee\x7d\xfa\x79\xd3\xef\x77\x62\xf8\xbc\xe7\x83\xa2\xb3\x9f\xde\x20\xbb\x70\x1e\xd8\xa9\x1b\x7b\x20\x3d\x69\x57\x49\x92\xe7\x3f\x42\xea\x47\xa3\x6f\xfc\xee\x1b\xa3\x0f\x14\xbe\xa7\x12\x4f\x82\xf9\xbe\xe2\x5d\xec\xd2\x8b\xee\x7d\x7f\xa6\x5e\x56\xdb\x2b\x7b\x4f\xe3\x7f\x7b\x77\xff\x1c\x84\x5d\x67\xe6\x1f\xcf\xa3\xf3\x9c\xfd\x2e\x88\x97\xba\xdf\xbe\xfe\x81\x5d\x40\xbe\xa3\x9b\x7d\x3f\xbf\x33\xd6\x9f\x97\x3f\xfe\x34\x3c\x5b\x3b\xef\x7a\x10\xff\xd5\x7b\xac\x5e\xf7\xfa\x6f\x1f\x74\xba\xac\xb7\x97\x78\xf9\xb6\xb8\xf6\xa4\xe8\xd9\xbd\xfb\xf2\xe7\x90\x77\x2f\x9f\x0a\xc4\xd7\x91\x2e\x6e\xbd\x3e\xb8\x40\xee\xbe\x79\x71\xe9\xfd\xfe\x47\xa6\xf0\x6a\x95\x3f\xb3\x3f\x2f\x94\xfe\x44\xe8\x7f\x24\xf0\xbb\xaf\x6f\x8c\xf5\x33\x83\x1f\xb6\xc1\xbf\xa7\xa3\x1f\x76\x4b\x2e\x3b\x25\x9f\x9a\xcc\xaf\xdf\x1d\xbf\x9f\xbc\xd7\xf2\x7f\x09\xec\xdf\x75\xb9\xf0\xf2\xd8\x76\xbc\x7e\x15\x1b\xdc\x7d\x2d\xae\xa6\xa6\x77\xf4\xbc\x8f\x5d\x28\xae\x32\x7e\xd3\x8d\xef\x5a\xbe\x3f\x9b\x44\x9f\xb0\xf7\x56\x72\x4f\x1f\xa8\x1d\x6a\xaf\x38\xa9\x5e\xec\xf5\xe1\xea\xed\xe0\x19\xe0\x17\xa7\x2e\xca\xac\x18\xdc\xf5\x28\x8b\x0b\x8e\xf0\x07\x71\x5c\x42\xae\xde\x33\x1a\xdc\xbd\x1c\x61\x43\xc5\xcb\xf3\xe7\xf6\xff\xf2\x7d\x66\xec\xed\xaa\xc7\xe2\xd5\x51\x38\x34\xc8\xdb\xef\x2c\x4a\x97\x16\x55\x96\x3f\x86\x7f\x0a\x75\x39\x90\x7e\xc6\xcc\x9e\x5f\xff\xb4\x55\x1c\xa6\x1e\xfb\xdd\x96\xd7\xbd\xf5\x4f\xdb\x7f\xe7\xc3\xd2\xaf\x6f\x35\xed\xcf\xfb\xfc\x0e\xf4\x7d\x67\xdf\x55\x9f\xcf\xe4\x1f\xb3\xcb\xef\xf7\xc1\xae\xc2\xc8\xae\x0f\xdf\x07\x7c\xd5\xff\x37\xc0\xdf\xbc\x7f\xfc\xe3\x3b\xb1\xc9\xd3\xb7\x35\xdf\x5f\xb6\xcf\x0b\x25\xf2\x7e\xce\x7e\x6a\xb4\x3f\x71\xa0\x3f\x4a\x6e\xf0\x7d\x51\x0d\x06\xaf\xb6\xbc\x9f\x39\x61\xbd\x38\xf7\x8a\x7f\xdf\x0e\x09\x7a\xd9\x21\xc1\xdf\xed\xb0\x7e\x72\x2c\xff\xf7\x67\xc7\xd3\xfb\xcc\x31\xb4\x5d\x97\x0c\xec\xe2\x5d\xa4\x1a\xee\x6e\xbd\xff\x7a\x1c\xdc\x0c\x9e\xe6\x76\x1f\x95\x7c\x7d\x8b\xef\xc1\x09\xec\xa2\xf4\xaa\x6b\xfc\xf6\xa1\xfc\x57\xef\xb7\x9f\x7f\xbe\xbd\xd8\xbf\x4f\x6b\xef\x5e\x1b\xf3\x17\x80\x13\xf4\xbe\x60\x6b\x97\x5e\x6f\x25\x7e\x2a\x3e\xd0\x6a\x9f\x3e\x92\xe9\x57\xae\xdb\x77\x95\xbd\x6a\x9d\x3f\x98\xbf\x0d\xef\x7e\x7d\xdf\xf0\x97\xe1\x6f\x4f\xf1\xf0\x8f\xb7\xf8\x15\xfd\xed\x6f\x7f\xb5\xc9\xf0\x37\xe8\xd1\xfb\xf2\x97\x5a\xa1\x7f\x99\x35\xf4\x4a\xe7\xea\xb2\xbc\x54\x5d\xe6\x88\xd2\xaf\x4d\xef\x31\x9e\xee\xee\xee\x9e\xed\xf9\x2b\x64\x50\xf1\xcb\xf0\xbf\x3e\x0c\x5b\x16\x97\x77\x1f\x81\x9b\xc2\xce\xed\xa2\xb7\x42\x62\xef\xfd\xbd\x47\xf5\x88\xdc\x43\x1f\x86\xf3\xbf\xde\x15\x5c\xb6\xb9\x2e\x9b\x5c\x7f\xfb\xc0\xe4\x2f\xbf\xbc\xef\xd2\x05\xbe\x9f\xe3\x77\xdf\x17\xeb\x87\xbe\x3e\x84\xe5\xba\xb0\xf3\xdc\x73\x1f\x7f\x42\xbe\xf6\x8e\xc6\x4d\xef\xf9\x3e\x3e\x3e\x16\x57\x1d\xea\x65\xf1\x83\xda\xf8\x9e\xa5\x30\x2d\xbd\xa2\x3a\x8b\xe0\xe9\x43\xad\xec\x11\xf9\x9a\xfd\x67\xf1\x15\x82\xb2\xbb\xf3\xa7\x8d\x3f\xca\xe9\xa7\x04\xef\x1e\xf2\x2c\xbf\xbd\xfb\xb5\xd7\x8c\xbf\xa0\x18\xfd\xa8\x9d\xb5\x09\xfd\x23\x0e\xbe\xdb\xee\xd7\xbf\xaa\x88\xd7\x76\x8f\x1f\xca\xeb\x02\x54\x55\x71\x3f\xb8\x19\xdc\x0f\x7f\xfb\xa0\xa4\xaf\x51\x3e\x94\xf9\xf9\xf4\xe2\xbd\x2a\xdd\x23\xf7\x7f\x82\xf5\xbd\x7d\xfa\xc3\x19\xf3\x7d\x1e\xbd\xfb\xe2\xb7\xf7\x0c\xb6\x10\xf4\x97\x26\xd6\xfd\x59\xaf\xfe\xe2\x24\xfe\x03\xb1\x0d\xee\x91\xcf\x78\x7a\xbf\xc0\x6d\xbd\x38\xfe\xdc\x01\x7d\x2f\x9b\x63\x58\xd6\x76\x4c\x78\x71\xfc\x91\xc9\x27\xaf\xeb\xb2\xc6\x6d\xb3\xc2\xf5\x0a\x32\x8b\xb3\xe2\x71\xd0\x04\x61\xe5\x0d\xbe\x13\x77\x3c\xaf\x2e\x3f\x84\x6a\xf0\xed\x7e\x88\x7c\xd0\x84\x3c\xcb\xa5\xf4\xc2\xd6\xbb\x9a\x5d\xe6\xd4\xe5\xed\xfb\x7d\xc7\x5e\xa0\x8c\xe7\x7d\x0c\x9f\x5f\xeb\x64\x7a\xf4\x8a\x8a\xce\x3e\xe9\x6a\xfb\x88\xdc\xfd\x45\x0b\xf5\x11\xc9\xf7\x4d\xd4\xdd\x87\xfe\xb5\x9f\x1a\xd6\x8f\xcb\xda\x2f\xbf\xbc\x73\x5d\xec\xa2\x08\x6d\xdf\x53\xce\x32\xfe\x83\xde\xb6\x8f\xc8\x3b\x9d\xb0\x9d\xa8\xcc\x6d\xe7\xe3\x4e\xe1\x6b\xae\x90\x3f\x67\xa1\xb2\xb7\x7f\x48\xf7\x5d\x41\xea\xb5\x95\x5a\xf5\x46\xeb\xfd\xf6\x78\xb8\xab\xa4\xfa\xe3\x0e\xd4\x2b\xe9\x79\x95\xbf\xf0\x8e\x5e\x7c\xfb\x3e\xda\x3f\x37\xe6\xfe\xa8\xff\x2f\x6d\xdf\x87\x3a\x17\x1b\xdd\x3b\x3b\x9f\x04\x37\x97\x3f\xe8\x3b\x7f\x65\x7b\x5b\x3d\x9e\xcf\x4b\xff\x73\xd8\x0f\xf5\xe3\xf0\xee\xbe\xf8\xc1\x45\xe1\xc3\xe2\xd1\xde\x67\x1f\xe6\xb4\x57\xd8\xa5\xd7\xcf\xea\xdb\xbb\xab\xe1\xfa\x5a\xfd\xf2\xcb\xcf\x3f\x87\xff\xf9\x89\x62\x7c\x7d\xbf\xa2\xbe\x18\x90\xe2\xd9\x52\x86\x10\x74\x8f\xdc\x67\x7f\x60\x55\x8b\xeb\xf2\xf1\x4e\xa7\xce\x01\x98\x9e\x7f\x12\xea\xf5\x02\xf8\x5a\xbd\x48\xe0\x83\xc6\x3f\xed\x6a\xbe\x2a\xfb\x4f\xe4\x93\xa9\xf1\xf8\x61\xd7\xeb\x4c\x94\x7a\xbf\x69\xf5\x63\x64\xa1\x4f\xc8\x7e\x98\x50\x7d\x58\xf8\x19\x27\x9f\x80\xfd\xf2\x91\xc6\x3f\x3d\x41\xcf\xfd\x62\xb2\xa2\xb1\x0b\xf7\xaf\x77\xad\xfd\xa4\x6b\xdf\x63\xe5\xa3\x11\xfb\x6c\x15\x7e\x3f\x75\x2e\x0c\x12\xb6\x13\xfd\x93\x1c\xfe\xb0\x60\x3e\xb4\xfc\x44\x5b\xda\xcf\xb4\xa5\xfd\x8e\xb6\x2c\xbd\xb6\x5a\x84\xe9\x67\x7b\xbd\xff\x37\x68\xcc\x7b\x8b\x7b\x61\x7a\x55\x78\x8e\xd7\xc7\xe6\xff\x24\xe7\x7f\x65\x8a\xfd\x20\x4b\xbd\xed\x03\xdb\x32\x8b\xeb\x4f\xf7\xcd\xff\x4c\x01\x1e\xab\xff\x87\xbd\x6f\xd1\x6e\x1b\x47\x12\xfd\x15\x99\xdb\xad\x90\x21\x24\xf3\x21\x51\x2f\xc3\xde\xc4\x71\x4f\x67\x27\x8f\xbe\x71\xba\x7b\xfa\xca\x1a\x0f\x2d\xc1\x12\x27\x32\xa9\x26\xa1\x38\x9e\x48\xf3\xed\xf7\xa0\x00\x52\x24\x01\x52\x72\xd2\xd9\x99\xbd\x67\x73\x4e\x64\x10\xac\x2a\xe2\x51\x00\x0a\x85\x42\x55\xcb\x56\xd6\xb4\x52\xef\x8a\xe2\x11\x27\xdb\xb2\x51\x8c\x53\x55\xf8\x29\x76\xce\xc8\xd8\x9e\xb4\xec\xa1\x85\xe8\x89\x75\x46\xb1\x35\xa4\x95\xbd\x52\xd5\x0d\xf1\x89\x75\x16\x63\x6b\x18\x57\x0d\x13\x69\xda\x16\xe3\x42\xae\x58\x2c\xb5\x34\xa6\x35\xc3\xfb\x7d\x7e\x25\x24\xc6\xe7\x54\xe4\xe7\x75\xdd\x6c\x6c\x36\xa3\x4b\x53\xf7\xc1\x2b\x24\xac\x10\x2f\xc3\x17\xe2\x1a\xb1\xd4\xaa\x0a\xab\x1e\x6b\xc8\xca\xa0\x5a\x69\xde\x05\xf3\x85\xb4\xc7\xf8\x24\xd5\xd7\x40\x52\x3b\x3f\x98\xf6\x88\x96\x17\x25\xd6\xf8\x23\x6a\x9a\xe5\xca\xc1\xb7\x18\xa7\xeb\xb4\x60\xa7\x63\x57\x16\xec\x15\xb9\xfd\xc2\x72\x29\x5b\xb7\xaa\x00\x0e\x2f\x80\x8a\x89\x1e\x45\xc7\x1d\xe6\x94\x9c\xe5\x35\x96\xf3\x75\x4b\xf5\x8d\xf8\x54\x31\x66\x39\x16\x8d\x83\xbb\x4b\xea\xc7\x60\x65\xa3\x12\x28\x76\x1e\x00\x54\x6f\x5b\x31\x92\x47\xfe\xc3\x2c\x48\x56\xd5\x78\xec\x2d\xe0\x95\x77\x0e\x82\xe7\xa4\xb9\x4a\xc5\x6a\x5f\xc3\x66\x45\xde\xf8\x0a\xbe\x28\xf6\x71\x75\x27\x96\xf1\xb6\x2a\xa1\x90\x81\x56\x08\x85\x7f\xb4\x48\xc8\x67\xaf\x32\xab\xe4\x37\x18\x55\x38\xca\x0f\xb4\x02\x53\x3d\xdb\xe4\x19\xb3\x6a\xef\x7f\xe7\x7f\x7a\x05\x00\xfb\x39\x54\xb1\x40\xc1\xe7\xa5\xc5\x9e\xb3\x58\x0b\xc5\xad\x16\x0a\x5a\xad\x0a\xa1\x54\x48\xae\x31\xb2\xca\xef\x6f\x96\x7e\xf8\x01\xba\xee\xc8\x92\xb7\x4f\x05\xec\x00\xd9\xd2\x9e\xbf\x7e\x57\x7e\x38\x70\xbe\x43\x24\xdb\x8b\x25\xa1\xe4\x7f\x32\xcb\xfc\x2b\x19\x06\xdb\x6a\x8e\x51\x08\x1c\xc5\xce\x36\xed\xaf\x62\x96\xf8\x5f\xc9\x2c\x35\x9b\xce\xaf\x66\x96\xc3\xf6\x97\x07\x6d\x24\xa5\x59\xb7\xaa\x4f\xd2\x3d\xe5\x3a\x59\xe8\xe5\x5b\xd1\xbc\x31\x4a\xbb\xca\xc3\x24\xa4\x42\x87\xa9\xaa\x5b\x6e\x83\xd4\x40\x72\x55\x59\xd2\x47\x13\x13\x03\xaa\x86\xd5\x8c\xc7\xf0\x51\x56\xc2\x3f\x88\x9f\xf8\x2b\x69\xfb\xfc\x4d\xdb\x57\x34\xc9\x1f\xd6\xc4\xac\xbf\xfe\x5d\xdb\x17\x46\xcf\xff\x47\x3a\xa2\x71\x60\x9a\x13\x1c\xd5\xa9\x02\xfe\xa0\xdd\xcc\x2a\x26\x1f\x55\xbb\x99\xe9\xc2\x67\x3b\xc4\xaf\xdc\x77\x7e\x5b\xdd\xc8\x8f\xe9\x16\x36\xbd\xc5\xfd\xef\xa8\xc0\x89\xc9\x8a\xf8\x34\x53\x2b\x9c\xa7\xae\xdb\xea\x3b\x4f\x66\xcc\xea\x93\x27\xd5\x90\x7d\x30\x50\x80\x63\xd5\xc1\xe6\x66\x53\xce\x9d\x91\xdb\xdc\x79\x0c\x67\x1b\x19\x95\x31\x64\x20\xdf\xd0\x7b\x41\x3e\x06\x53\x60\xfa\xe0\x66\x4d\x4b\xb2\x15\xab\xcc\xa9\x95\xda\x87\x15\x98\xee\x36\xf8\x74\xa6\x9d\x6a\xb2\xc8\xc2\xdf\xc9\xad\x1d\x24\x3a\xb7\xd9\xd7\x8c\xf2\x59\x2e\xdc\xb7\x09\xda\xe7\x56\xfb\xe2\xf2\xdc\xd4\xc6\xa7\xd6\xc8\xe9\x79\x23\x6b\xaa\x49\x27\x8d\x8c\x4a\xfc\xe9\x23\x6d\xad\xc3\x60\x1a\xcd\xc8\x01\xc4\xfa\xdd\xd1\xa0\x5b\x49\x6c\xc9\xdd\x46\x28\xa9\xb0\xea\x9b\x5a\x05\x62\xea\xef\x49\x52\xc5\xc9\x05\x70\x47\x1d\xcb\xb2\x5c\x28\x83\x92\x96\x68\x17\x61\x2f\x58\x57\x5b\x25\x48\xe6\xbf\x6a\x4f\x49\xce\xec\x91\x53\xdf\x0c\x7b\x2b\x73\xe6\xb1\x3a\xc8\x87\x41\x5f\x35\xd5\x3c\xa8\xa6\x9a\xaf\xd5\x17\x16\xcb\xf8\xcb\xd7\x4f\x35\xff\xce\x6a\xf0\x1f\x7f\x51\x6a\x03\x59\x8d\xa0\x3e\x2c\xc1\xaa\x44\xc6\x76\x9a\x61\x4f\x94\x3d\x21\xd4\x86\xdf\xba\x9e\x98\x6b\x22\xbf\xed\xd4\x4d\xfd\x9b\xf3\x25\xf1\xe3\xea\xbe\xc6\xd6\x99\xf0\x5e\x54\xa2\x47\xfd\x9b\x44\x3e\x29\x1e\xba\x6c\xbe\x93\x8b\xc3\xa0\xf1\xe7\xf2\x6d\x81\x84\x80\x69\x42\xd9\x4a\x38\xd3\xc7\xda\xc6\x6e\xd9\xb0\x46\xf4\x24\x7d\xb1\x53\xf4\x09\x0a\xfa\x98\x8c\xe9\x64\x62\x64\xe6\x13\xca\x29\x17\x88\x6b\x67\x95\x53\xb2\x21\x2b\x95\x24\x55\x90\xbf\x62\x52\xa5\xcf\x4a\x7b\x0e\xd2\x0a\x3e\xb2\x6a\x55\x3e\x09\xa1\xb0\x24\x26\x84\xea\x16\x8a\xca\x0e\xfd\xa5\x8e\xcf\xc3\xdb\x8f\x84\x77\x1e\x09\xef\x2a\xe0\x8b\xba\xc5\x32\xb2\xff\x91\xcc\xce\xe1\x0e\xbf\xcc\x5d\xe5\x2f\x09\x7f\x8e\xb6\xeb\x48\x6f\xa2\xfb\xa4\xf0\x21\xaf\xfc\xa1\x28\x0e\xe6\x41\x08\xcc\x51\x6c\xdf\x5e\x19\xb2\x68\xe8\x53\x82\xb6\x9d\xfc\xfd\x50\x4f\xfa\x0c\xdc\xbf\xbc\x24\x71\xe0\x2f\x1b\xab\x28\xa6\x8d\x98\xfc\xbe\x26\x09\x25\xb3\x46\xae\xa3\x1b\x1f\xc8\xc3\xca\x9f\xb5\x35\xa9\x31\x73\x40\x7f\x06\x98\xec\x8a\xc2\x0e\xe6\x63\x40\xee\x19\xed\x76\xf2\x10\x4e\x2f\x41\xc2\x7f\x16\x13\x5f\x2f\x34\xc0\x60\xc8\xcb\x4b\x5c\x91\xb0\x2c\x27\x4b\x49\xdd\xf0\xc9\xb6\x5e\x47\xeb\x84\x60\xb0\x8e\x1f\xcb\x26\x18\x1f\xa9\x63\x09\x10\x9b\xb8\x15\x40\x61\x14\xdf\xf9\x4b\x0e\x05\x72\x8c\x9d\xde\x06\xdc\xc1\xdc\xb1\xb7\x70\x1f\x26\x51\x54\x4d\x76\x1b\x09\x37\x24\x48\xe8\xdf\x2c\x49\x0b\x70\x5b\x04\x90\xe5\xa6\x4b\xc0\x6a\x36\x88\xc2\xd7\x7e\xe8\xcf\x49\xdc\x9e\x05\x09\x43\xd3\xe5\xdd\x1c\xeb\xa4\xe7\x01\xd8\x93\x36\x68\xd4\x00\xba\x0d\x4e\xb7\xad\x15\x35\xb7\x96\xd5\x91\x07\x60\x38\xfb\x21\x9a\xae\x93\x32\x6f\x58\x56\xb7\x0c\xbb\xa6\xb7\xbc\x3d\x24\x50\x89\x75\x92\x79\xac\x06\xb5\x65\xaa\x4c\x42\x51\x01\x3b\x12\x28\xdf\x01\xfd\x18\xcc\x66\x04\xac\xca\x0b\x94\x3b\x82\x4b\x3a\xbd\x94\x35\x3a\xbd\x61\x70\xab\x1f\x29\x3b\x36\x33\xf8\x07\xb9\x5a\x69\x90\x86\x40\xb2\x2e\xbf\xe2\xfb\x41\xd0\x7e\x49\xaf\x58\x26\xfa\x24\xf1\x23\x7a\x90\x20\x51\xb6\x03\x96\x5a\x2e\xdb\x6c\xe7\xf7\xbb\x6a\x28\xb1\xc5\x67\xcb\x47\x19\x80\xe5\x6d\xcb\x3b\xf2\xf4\x92\xf1\xa1\x63\x50\x3d\x26\xe4\x73\xb7\x64\x11\xdd\xf3\xf9\x5e\x37\xb6\x5b\xb8\x0e\xd0\x90\x57\x0b\x89\xf7\x76\xe6\x77\xf8\xc8\xda\x2a\x2e\xb2\x7d\xe5\xf2\x97\xd1\xf8\x97\x2e\x80\x76\x71\xcd\xb0\x5d\x85\x51\x9f\x52\x4a\xcb\x96\x13\xe9\x8d\x58\x3b\xaa\xe0\x95\x0b\x0a\x52\x0b\x2a\x19\xd2\xc1\x0b\x8e\xfd\xa8\x05\xc7\x7e\xfc\x82\x03\xad\xcc\x66\xb3\x1b\x7f\xfa\x81\x4d\x69\x9c\xed\x1e\xb5\xce\x48\x92\xe1\xb7\x5c\x67\x14\x5f\xdb\xad\x30\xf2\xcb\xfc\xca\x22\xbf\x2d\xac\x29\xd2\x5b\x79\x4d\x49\x2f\x3f\x7d\xd9\xb2\xc2\xb1\xf4\xc7\x2c\x13\xf6\xe1\xcb\x44\x19\xb4\x66\x99\xb0\x1f\xb3\x4c\xd8\x8f\x59\x26\xac\x03\x96\x09\x65\x0f\x55\x9c\x96\x48\xf6\x00\x00\x2c\x96\x0c\xd5\x62\x51\x81\xa0\xb4\x48\xe6\x07\xc1\x15\x08\xb0\xbc\xec\xdb\xc9\x08\x60\xf9\xec\xb5\x8a\xaa\xda\x08\xf2\x7d\x54\x55\x8c\xdd\x02\x55\xb3\x26\xd5\xe2\xa6\xcb\x96\x62\x13\xa4\x46\x63\xaf\x2a\xd6\xa2\x9d\xd7\xb1\x1a\x2e\x4f\x52\xc7\xc6\xca\x0e\x95\x46\x49\x4c\x6e\x63\x92\x2c\x74\x49\xa2\xab\xd8\x8d\x1e\xbc\x7e\xe6\xd7\x49\xe3\xcb\xd6\x49\xbb\x7c\x39\x66\xe1\xc7\x15\xda\xb7\xe0\x56\xb7\xe1\x9e\x26\x5f\x17\x37\x1b\xeb\x88\x8b\xba\x39\x7d\x63\xce\xbe\x07\x05\xd8\x4a\x5d\x03\x15\xc6\x12\x23\x7f\x7a\x6a\xf7\x91\xbc\xaf\x49\x5f\x0e\x9a\x5d\xdb\x46\x21\xee\xda\xb6\x74\xad\x84\xc3\x8c\x82\x93\x78\x14\x98\xa6\x01\x3a\xf8\x60\x62\x9c\x62\xd7\x6a\x36\xe9\x09\x76\x7b\x67\x09\xa6\x2d\x17\x8c\x89\x3a\x3c\xaf\xd3\x3b\x0b\x31\x6d\x75\x20\x6f\xc0\xf3\x06\x0c\x4e\xa7\x26\xee\x1b\xad\x01\xbc\xb0\x2d\xfe\xc6\xb6\x18\xb8\x78\x65\x5b\xd6\x90\xfb\x24\xd6\xa5\xca\x08\x4d\xa7\xba\x32\xd9\xcb\x9a\xca\x08\x18\x63\x68\xc3\x17\xa2\x0d\xb6\x87\x9d\x34\xe9\x0c\xbb\x69\xb2\x33\xec\xa5\xc9\xfe\xb0\x9f\xc1\x7a\x43\xc7\xe1\x0f\x4d\xdc\x72\x86\x4e\x27\x7b\x70\x87\x4e\x37\x7b\xe8\x0e\x9d\x5e\xf6\x30\x18\x3a\xfd\xec\xc1\xee\x0d\xdd\x01\x3c\xed\x29\xfe\xb0\xc3\xc1\xea\x6a\x31\x74\x39\x61\x07\x76\x40\x81\x69\x4f\xce\xf4\xc0\xc4\x0e\x6a\xb1\xda\xe9\xd2\x17\xee\x7c\x3a\x5d\x80\x19\xb8\xee\x74\xbb\x4d\xd6\x8b\x48\x24\x4c\x7b\x97\x74\x26\x86\xd1\x6c\xea\x09\xfb\xb2\x81\x18\x41\x03\x1a\x86\x83\xc1\x1b\x8a\x53\x60\xec\x4c\x8c\x61\xa7\xb6\x1c\xe1\xd7\x95\x23\xac\x2c\x47\x58\x2e\x87\x6d\x09\xc6\xf9\x3a\xde\x28\x2f\xd9\x71\x1c\xc5\xba\x26\xbc\x92\x35\x2e\xff\xf4\xae\xe1\xa7\x03\x76\xd8\xf8\x7e\xd6\xd6\x90\xe2\x92\x16\x1f\x35\x38\x3a\x39\xb1\xfb\x9b\xe4\xe4\x64\xb0\x09\xf9\x7c\x51\x01\xa8\x2e\x4c\xf9\x54\xfb\x63\x30\x25\x97\xd4\xa7\x6b\x69\xa6\xf8\xa3\x24\x62\x79\x89\x2f\x6b\x80\x35\x53\xbe\x3b\x63\x1b\xa6\x36\x92\x5f\x7c\x82\x17\xef\xb4\xea\xb9\x52\x5a\xfb\xcb\x9f\xb3\x42\xad\x5e\x97\x52\x46\xf8\xb2\xe2\x15\x15\x77\xd1\x2d\x7d\x57\x74\xc4\x21\x5d\xeb\x2b\xef\x65\xab\xaf\x26\x29\x5e\x16\xc4\xf1\xf2\x4b\x49\xe5\xf3\x87\x8a\xcb\x35\xc4\xb2\x0d\x4f\xb5\x44\x21\x95\xa5\x4e\x66\xe0\xab\x6d\x19\xa3\x9e\xe1\xf7\x8a\x47\x0f\x72\x19\xc4\xd5\x46\xa5\x28\x31\x5f\x92\x8f\x64\x59\x89\x93\xe0\x31\xc3\x9a\x48\x8a\x5b\xde\x16\x10\xc1\xa7\x42\x7b\x7c\x62\x9f\xd9\x43\x50\x23\x0b\xae\xa6\xd9\x9e\xb2\x52\x55\xfa\x76\x05\x74\xb4\xe9\x8e\xba\x86\xb4\x9b\x65\x34\xfd\xa0\x95\x54\x93\x6a\x49\xa2\x92\xc6\x3a\x9c\x91\x18\x22\xe8\x14\xe8\x74\x87\x55\x83\xa6\xaa\x2c\x7e\xac\x19\x5b\x61\x73\xf9\xbd\x83\xb1\x5d\x9e\xd9\x24\xd4\xe7\xcb\x20\xfc\xa0\xa1\x58\xd6\x7e\x73\xbe\x7b\x47\xe6\xe5\x73\x09\xe5\x64\x24\x1f\x33\xee\xf8\x4e\x17\xc7\xaa\x86\xcc\x4f\x05\x0e\x84\x73\x8d\x66\x13\x8e\x39\x54\xec\x08\x06\xd0\xe5\xc6\x80\xed\xb5\xe2\x2c\x42\xe6\x1a\xf9\x5e\x05\xdb\x7e\x8b\x71\x53\x53\x41\xd8\xa4\xff\x45\x36\x41\x50\x81\xfd\x26\x71\xbc\xa4\x58\xa1\x51\x7c\xc0\x47\xa5\xa1\xc3\x4b\xb1\xd9\x28\xaa\xa5\x2c\xc8\x66\x63\x65\x77\xac\xc1\x2d\xd3\x8f\xdc\xa5\x01\x4e\x46\xdc\x5b\x7a\xe1\x04\x3c\xbd\x02\x4d\x73\x86\x1b\x20\x90\x06\xa9\x9d\x2e\xf8\x35\x21\x27\xc1\xd8\x9a\x40\x6f\x92\xd3\x60\x1c\x4d\xc6\xf6\x64\xe7\xbd\x84\xc9\xb5\xa3\xe8\x14\xc7\x23\xb8\xf4\xca\x2d\x6a\x6f\x97\x51\x14\xeb\x7a\x6c\x46\xc6\xb1\x63\x20\x86\x46\x39\x1a\xa6\xa6\x0d\x3a\x21\x70\xde\x00\xb4\x29\xa3\x6d\xa4\x14\xad\x51\x04\xe6\xf3\xe9\x07\x76\xee\xf2\xe3\x5c\xb8\x08\x72\x8a\x3b\x6e\xd7\x69\x36\x75\x72\x82\x3b\x9d\x4e\x6f\xb3\x19\x58\x16\x13\x5e\x08\xa4\x1c\x9e\x22\xa7\xd8\xb6\x07\x56\xa7\xd9\x64\x60\x8e\x3d\xb0\x9b\x4d\xdb\x71\xbb\x20\xa4\xc3\xeb\x4e\xc7\x72\x1d\x78\xdd\xed\x3a\x96\x0b\x79\x9e\xdb\xeb\x70\x14\xaf\xe3\x74\xbb\x3c\xaf\x6b\x31\x41\x99\xe5\x75\xad\xce\x20\xcd\xeb\x39\x22\xcf\x76\x53\x38\xa7\x9f\xc2\xb9\x3d\x4f\xe4\x75\x45\x11\xbc\x6e\xd7\xb6\x78\xb1\x5c\x3b\x45\xb6\x07\x9e\x67\x71\x6c\x48\xf6\x21\xd7\xf1\x1c\xbb\x63\xf3\x81\x1d\xe0\xf1\xb8\xe7\xf5\x51\xbf\x37\x98\xa0\xb1\x6d\x77\xbb\xc8\xb6\xbb\x7d\x48\x7b\x16\xb2\x6d\xcf\x66\xe9\x8e\xd3\x45\x76\xc7\x03\x98\x4e\xcf\x46\xec\x87\xa7\x5d\x96\xee\xf0\xb4\xc7\xd2\x3d\x9e\x1e\xb0\x34\xc0\x77\x5d\x0f\xd9\x5d\x97\xa7\xbb\x0e\xb2\xbb\x5d\x80\xf1\x6c\x1b\xd9\x9e\x6b\x41\xba\xd3\x47\xec\x87\xa5\x7b\x5d\x0b\xd9\x3d\x0f\x68\xf6\xbc\x1e\x4b\xf3\xfc\x1e\xcb\xef\xb9\x2c\xdd\xb7\x7a\x88\xfd\xf0\xf4\x80\xa5\x81\x7e\xbf\x63\x21\xbb\xef\x79\x2c\x3d\xe8\xf6\x91\x3d\x00\x5c\xc7\x72\x7a\xc8\xb1\xdc\x2e\x4b\xbb\x56\x17\x39\xae\xe5\x41\xda\xeb\x20\xf6\xc3\xd3\x03\xe4\xb8\x3d\x9e\xdf\xb7\x11\xfb\xe1\x69\x06\xdf\x07\x3a\x1d\xcb\x41\x4e\xc7\x72\x21\xed\xba\x88\xfd\x40\x7a\xc0\xf2\x07\x0e\x4f\xf7\x90\xd3\xb5\x58\xbd\x9c\xae\x35\x60\xe9\x01\xa4\x5d\x0b\x39\x5d\x17\x68\x76\x3d\x1b\x39\x5d\x0f\xe0\x3d\xc7\x42\xec\x87\xa7\xbb\x2c\x0d\x65\xf0\x5c\x1b\x39\x9e\xcb\x61\x5c\x96\xef\xf6\x20\xdd\x73\x90\xe3\x41\x3b\x38\x5e\x7f\x80\x1c\x6f\x00\xb8\xbd\x4e\x1f\xb1\x1f\x48\x77\x5d\xe4\xf4\xa0\x9d\x9d\x5e\x77\x80\x9c\x9e\xc7\x61\xbc\x2e\x4b\x43\x3b\xf4\xfa\x1e\x72\x7a\x7d\x80\xe9\xdb\x3d\xc4\x7e\x20\xdd\xf3\x10\xfb\xe1\xe9\x01\x4b\x43\xf9\xfb\xac\x4d\xfa\x7d\xf8\x6e\x7f\xe0\x22\xf6\xc3\xd2\x03\xd6\x26\x03\x0b\xca\x39\xe8\x78\x88\xfd\x4c\xd0\xd8\xb5\xac\x3e\x62\x3f\x90\x76\x6c\xc4\x7e\x58\xda\x76\x3b\xc8\xb5\x5d\x80\xb1\x3b\x0e\x72\xed\x4e\x87\xa7\x3d\x96\x1e\x40\xba\xdb\x43\x2e\xe7\x43\xd7\xf1\x2c\xc4\x7e\x78\xda\x65\x69\x17\xd2\x3d\x96\xdf\xe3\xf9\x3d\x8f\xa5\x7b\x90\x1e\xf4\x91\xeb\x0c\x80\x8e\x3b\x70\x91\xeb\x0e\x58\x7d\xdd\x8e\xd5\x45\xec\x87\xa5\x59\x5f\xb0\x1f\x9e\xee\x23\xb7\xdb\xe1\x69\x56\x9e\x6e\x87\xd5\xc5\xf5\x5c\x17\xb1\x1f\x9e\xf6\x90\xeb\x89\xfc\x6e\x17\xb9\x1e\xf4\x9d\xdb\xf3\x6c\xc4\x7e\x78\xba\xc3\xd2\xf0\xdd\x5e\x8f\xe5\xf7\x38\x4c\x9f\xe5\xf7\x21\xbf\xcf\x60\xfa\xd0\xfe\x2e\x6b\x43\x97\xb7\xa1\xdb\x1f\x74\x59\x5a\xe4\xf7\x58\x1a\xea\x32\xe8\xba\xc8\x1d\x00\x3f\xbb\x03\xaf\x8f\xdc\x01\xa7\x39\xe8\x75\x58\x1a\xe0\x07\x8c\xfe\x60\x00\x65\x18\x0c\x5c\xd4\xb1\x1c\xd6\x6e\x1d\xcb\xed\x23\xf6\xc3\xd2\x76\xc7\x46\x1d\xde\xce\x1d\xd6\xce\xec\x07\xd2\x5d\x0b\x75\xec\xae\xcd\xd3\x2e\x4b\xbb\x90\xee\x77\x50\xc7\xee\x33\xfa\x9d\x4e\xa7\x8f\x3a\x1e\x8c\xb5\xce\xa0\x3b\x40\xec\x67\x82\xc6\xdd\x81\xe5\xa1\xee\x00\xfa\xb7\x3b\x70\xfb\xa8\x3b\x80\x36\xec\x0e\x7a\x16\xea\x0e\x60\x7e\xf0\x2c\xcb\x41\x9e\x05\xe3\xc5\xb3\xbc\x3e\xf2\x2c\x68\x1f\xcf\xea\xd9\xc8\xb3\xa0\xbf\x3c\xab\xef\x21\xf6\xc3\xd3\x03\xe4\x59\xd0\x77\x9e\x6d\x0d\x10\xfb\x81\x74\xb7\x8b\x3c\x1b\xf8\xd9\x73\x6d\x17\xb1\x1f\x96\xee\xb8\x0e\xf2\x3a\x6e\x87\xa7\x07\xc8\xeb\x40\x19\xbc\x4e\xd7\x42\xec\x87\xa7\x7b\x2c\x0d\x74\xbc\xde\x00\x79\x5e\x1f\xf2\x07\xb6\x83\xbc\x81\xdd\x85\xb4\xd7\x41\xec\x87\xa7\x3d\xe4\x0d\x7a\x1c\xa6\xc7\x60\xa0\xcd\xbd\x41\xaf\xcf\xd2\xac\xbe\x3d\xcb\x1e\xa0\x9e\xe5\xb0\xf2\xf4\x3c\xdb\x43\x3d\x3e\x66\x7b\x5e\xaf\x8f\x7a\x1e\x8c\x97\xbe\x63\xb9\xa8\xef\x40\xbb\xf5\x1d\xb7\x83\xfa\x0e\xf4\x45\xdf\xe9\xf7\x51\xdf\x81\xfe\xea\x33\x5e\xed\xbb\xd0\x3e\xfd\x8e\x65\xa1\x7e\x07\xe6\x07\xdb\x71\x5d\x0b\xb1\xdf\x2e\x3c\x75\x3a\x36\x62\xbf\xac\x1c\x1d\xd7\xb2\x3b\x08\x7e\xc5\xd3\x00\x9e\x06\xfc\xa9\xd3\x65\x4f\xd0\xbb\x5e\xc7\x61\x4d\xcb\x7e\xd9\x53\xd7\x72\x3a\xc8\xeb\x5a\x30\x13\x7b\x5d\xab\xeb\xb1\x27\xde\x2e\x5d\x87\x35\x0c\xfb\x85\xa7\xae\xc3\x9e\xf8\x5c\xe5\xf5\xad\x41\x0f\xb1\x5f\x78\xd7\xb7\x2d\x1b\xb1\x5f\x47\x3c\xf5\xd9\x93\xcd\x21\xed\xae\xc3\x9e\xba\x1d\xf1\x34\x80\x27\xbe\xb2\x0c\xec\x8e\x8b\xe0\x4f\x57\x3c\xc3\x5a\x33\xb0\xa1\xa5\x21\xc1\xdf\x8b\x95\x68\xe0\xd8\x6c\xfd\x19\x38\xd0\xd3\xb6\x3d\x70\x3d\x07\xc1\x1f\x46\x7d\xc0\x96\x89\x2e\xe2\x7f\xc4\xb3\xeb\xb1\x67\x0f\x4a\x3d\xb0\x7b\x3d\xcf\x62\xcf\x83\xc1\x60\x92\x05\x6c\xc9\x84\x94\x5d\xb0\x29\x0b\x63\x1c\x9c\x91\x76\xb8\x5e\x0e\x83\x13\xd7\xd9\x6c\x82\x53\x6c\x3b\xbd\x66\x33\x38\xb1\x3d\xeb\x8c\x40\x44\xa2\x38\x5a\x0e\xa9\x1e\x18\x67\xd6\x30\x66\x7f\x9c\xa1\xbd\xdd\xea\x9f\x19\x92\x85\x52\x00\xeb\x5b\x85\x93\x0a\xc9\x7d\xe3\x1d\x99\x5f\x7c\x5a\xe9\x9a\x7e\x36\xfc\xeb\x66\xfc\xd7\xab\xab\x99\xdf\xfa\xc7\xd5\x55\xbb\x35\x31\x0d\x5d\x5f\x50\xba\x4a\xce\x86\x57\x57\xc7\x57\x57\xc7\x86\xae\xeb\xe3\x02\xc0\xd5\x55\x5b\x1f\xf3\xc7\xc9\x67\x07\x79\x5b\xc3\xd8\xe8\xfa\xd5\xd5\xec\xb3\x8d\xdc\xed\xd5\x55\xdb\xf8\xcc\xfe\xf0\x47\x63\xa3\x2f\xa3\xa9\xbf\x5c\x44\x09\x35\x0c\x7d\xc8\xf3\xbb\x5b\xe3\x4c\xbf\xba\x3a\x1e\xc3\x37\xee\xaf\xae\xda\x57\x57\xad\xef\xff\x39\x79\x6a\x3c\xd5\xaf\xae\xce\xc6\x56\x6b\x00\xd9\xe3\xab\xab\xc9\xd5\x95\x7e\x75\x65\x00\xe0\xd9\xd5\xd5\xd1\x7f\xfc\xe7\x77\xdf\x37\x9f\x3c\x35\xd1\x70\xf4\xcf\xab\x2b\xcc\x51\x27\x4f\x8d\x33\xfd\x3f\xbe\x08\xcd\xd0\xbf\x83\x16\xc8\x95\x63\x62\x1a\x9a\x81\x22\x6c\x55\xfa\xe2\x49\x45\xe2\x90\x5f\x64\xfd\xf0\xda\xa7\xd3\x05\x89\x5f\xce\x70\x24\x44\xe0\x38\xba\x17\x1e\x15\x5e\xce\x12\x3c\x4e\x8d\x08\x96\x3b\xe0\x5d\x6e\x4c\xe6\x41\x42\x49\x9c\xa3\xa4\x07\x10\x92\x05\x7d\x06\x95\xd6\xcb\x70\x46\x3e\x0d\xed\xad\x32\xb6\x02\x0f\xd2\xf7\x3e\x7a\x11\xdd\xa9\x02\xc4\x5c\xa7\x0e\x54\x53\x77\x96\xd7\x10\x0c\x84\x4a\x96\x76\x1f\x82\xdb\x87\x77\xd1\x7d\x31\xf0\x76\xaa\xfe\x49\x89\x14\x5c\x83\x15\x2b\x39\xa6\x93\x51\xd9\x6d\x6d\x76\x0f\xae\x0c\x99\xf7\x52\xbb\x6b\x19\x5e\x02\x1e\x86\x8e\x82\x97\x35\x03\x91\xf6\xfb\x97\xaf\x2f\xae\x9f\x5f\xfc\xf0\xf6\xdd\xc5\xf5\xab\x97\x6f\xfe\xfc\xf2\x87\xdf\x24\xbd\x0a\xa1\x3f\x3e\x30\xfe\x17\xfd\x91\xee\x27\xe4\x4d\x4c\xbe\x03\xc6\xd1\x24\x75\xa6\xa6\xf0\x2b\x9b\x11\xfc\xc5\x5f\x06\x33\xae\xc7\xf0\x97\xcb\x1b\x7f\xfa\xe1\x00\xba\x1f\x65\x24\x52\xde\x6e\x49\xbd\x8e\xcb\xe3\x3d\xb8\xd5\x77\x91\x28\xe1\x06\xec\xe7\xd4\xe7\xb2\xcc\x7b\x47\x18\x47\xcd\xe6\x11\x35\xe8\x22\x8e\xee\x21\xfe\xc7\x05\xd7\x30\x8a\x4a\x36\xee\xd6\x09\x6d\xdc\x90\x46\x1a\x46\x2e\x9d\x12\x3e\x07\xc2\x6b\xa1\x4c\xd4\x34\x51\x4c\xe6\xe4\xd3\x90\x20\x41\x65\x48\x51\x8e\x29\xe3\xf6\xee\x01\xc9\x95\x1e\xc6\x8a\x96\x40\xab\x38\x88\xe2\x80\x3e\x0c\xe3\x76\x9a\x64\x5b\xc2\x51\x3e\x2c\xc7\xb5\x3f\x9b\xe5\x4a\xf2\x3e\x7a\x15\x24\x6c\xd2\x44\x41\x3b\x98\x15\x5b\x52\x09\x5a\x56\x63\x5a\x47\xa9\xaa\x32\xdf\x55\x62\x07\x99\xb7\xb3\xae\x04\x6a\xd9\x23\x7a\x8a\xad\x11\x6d\xb5\x0c\x30\x37\x48\xcb\x7e\xa2\xc0\x19\xd3\x49\xf6\x3e\xef\xd2\xaa\xa1\x20\x9f\x5e\xb8\x80\x1b\x51\x24\xd5\xf8\xaa\x40\x2c\x00\xc8\xab\x7b\x0b\x50\x70\x7f\xa7\xec\x5b\x79\x46\xea\x39\x2d\x5f\xf7\xdd\x05\x61\x45\xfd\xc1\x7c\x22\x9b\x11\xca\x95\x0d\x66\x6c\x2f\x6b\x14\xba\x50\x59\x4b\x64\x1b\xe8\xc8\x1a\x65\x1b\xe7\x62\x57\xaa\x26\xa2\x82\xc3\x42\x3e\x7f\x8d\xc9\x04\x3c\x5d\x71\x3f\xeb\x99\x13\xd8\x5c\x54\x3d\x6b\x14\xd7\x54\x25\x36\xcd\x82\x87\xc2\x62\x75\xe2\x49\x76\xdc\x35\x8b\x5e\x65\x25\xd2\x29\x0a\xc0\xc1\x56\x94\x39\x66\x04\xd6\x0a\x14\x3c\x9e\x99\xa0\xa8\x1c\x2f\x46\x50\x7c\x05\x96\x5e\xa8\x0d\xa2\xa8\x60\x73\xbb\xd9\x48\x26\x63\xdc\x71\x62\x10\x02\xa9\x16\xe8\xcb\xc0\xb7\x74\x88\xad\x51\x78\x92\x96\x73\x14\x9a\xa6\x91\xe8\x61\x1a\xaf\x6f\xbb\x2d\xcd\x9f\x85\x6a\x2a\x9d\x9c\x8f\x27\x28\xc0\x94\xf7\x72\x84\x12\x4c\xda\xd3\x45\xb0\x9c\xbd\x89\x66\x24\x41\x21\x2e\xf8\x3c\xe7\x53\x82\x4e\xdb\x30\x73\x40\x8b\x1d\x85\x9b\x0d\x9b\xc4\xc2\x74\xc0\x09\x3e\x89\xb3\x1e\xf3\x71\x38\xd6\x78\x54\x79\xed\x28\x0d\x6f\x49\x73\xb3\xcb\x99\x35\xcc\x3f\x42\xf8\x3c\x1e\xa4\xd1\xf4\xd3\x83\xca\x05\xb6\x46\x8b\x93\xac\x97\x17\x69\x2f\x4f\x71\x32\x5e\x4c\xd0\x1a\x4f\x0b\xe5\x4c\x43\x3c\xfa\x50\xc6\xf5\x29\xb6\x38\xf8\x4c\x74\x3e\x0f\x1b\xf0\x2c\x9c\x2e\xa2\x38\x0d\x1e\xe0\x23\x9a\x2e\x1a\x82\x1b\x8a\x34\xb3\x0b\x97\x69\xa1\xd8\x90\x71\x31\xc6\xd3\x76\x18\xcd\xc8\xfb\x87\x55\xea\x55\x4d\x38\xfb\x64\x4d\xa8\x4f\xd1\x8c\xdb\x20\xc1\xf7\x57\x78\xca\x08\x6b\xcf\x34\x8c\xf1\x0a\xf0\xde\xf8\x77\x64\xd7\x68\xab\x7c\x2c\x73\x0d\xad\x0a\x9e\xe5\x67\x62\x82\x80\xa2\xed\x7a\x49\xb6\x8e\xba\xc5\xd6\xe8\xf6\x44\x01\x33\xba\x4d\x1b\x6e\x8e\xf3\xaf\xc7\xb7\x13\x74\x87\xe7\x35\x6d\xd8\xb2\x8f\x30\xbe\x4b\x17\xc5\x5c\x0d\x2f\x53\x67\xae\xbf\x06\x74\x01\x55\x9e\xa3\x19\xf2\xd1\x9d\xd0\x2a\x8b\x73\x9c\x85\x89\x0f\x40\x9d\x02\xea\x9a\x7b\x1a\xe5\xb3\xde\xcc\x40\x47\x7a\x99\x0f\x77\x1e\x64\x97\x46\x89\x29\x8d\x2a\x7e\xfc\x02\x3e\x34\x25\x46\xcc\x5c\x76\x97\xce\xd9\x54\x1c\x25\x2d\xfa\xf9\x69\x69\x56\x11\xc1\xc2\xd7\xb2\xd8\x9b\x41\x29\xdc\x40\xd0\x9e\xc5\xfe\x7c\xee\xdf\x2c\xe1\x0c\x28\x3e\xd3\x83\xf6\x22\x26\xb7\xf0\x8a\xfa\xf1\x9c\x50\xac\x5d\xc3\xf5\x3c\x0d\x05\xca\xb0\xc2\xc1\xf4\x43\xce\x7d\x3d\x97\x43\x68\x36\xb5\xeb\x31\x5b\x83\x0c\x63\x78\x38\xf2\x51\xa0\x0c\x91\xae\x9a\xbd\xca\x9f\x41\xa5\xab\x45\x79\xce\xa8\x58\xc5\xc6\x13\x14\x63\x7b\x14\x9f\xf8\x69\x80\xa1\xfc\xb4\x4f\xc7\x71\xcb\x9e\xe0\xec\xdd\x38\x9e\x64\x93\x10\x0f\xc1\x9a\xc6\x34\x40\xdc\xe5\x5f\x3a\xa6\x47\x11\x5b\xff\xc4\xf9\xdb\x73\x72\x1b\xc5\x44\xa7\xe3\x68\xc2\x96\xec\xa0\x10\xe9\xa0\xbc\x04\xd7\x72\xb3\x22\xfe\x78\x70\xab\x83\x8e\x58\x1e\x99\xe0\x80\x33\x9f\x3f\xb6\x26\x06\x72\xc1\x98\x23\x37\xbd\x94\xe4\x3f\xde\xeb\x0c\x3e\x13\x01\xfd\x06\xe3\x9a\x06\xc3\x69\x44\x71\x23\x0a\x97\x0f\x0d\xd1\x31\x0d\xbf\x91\x04\xe1\x7c\x49\x76\x20\x42\x52\x8c\x8a\xe3\x8b\x0d\x3f\xd8\xf1\x72\x9e\x4d\x70\x54\xf0\x0e\x2d\x46\x16\x0a\xd5\xbc\xfc\x9e\x7c\x82\x22\xe9\x89\x51\x14\xfc\xf2\xf3\x22\x6b\x92\xd0\x40\xd6\x16\x5c\x39\xe2\xd2\xf8\x16\x72\x59\xf6\x29\x11\x9b\x36\x5f\x0c\x0b\x05\x06\x5a\xee\x29\x81\x5f\x5b\x82\x25\xdb\x86\x58\xa0\xe1\x5e\xc8\xb4\xa7\x7b\x68\x2f\x0c\xb4\x2e\x60\x05\xe6\xae\x69\x66\x7b\x90\xd7\xb5\x05\x9b\x22\x8a\x66\x06\xb2\xc5\x59\x4a\xa2\xda\x29\x61\xc7\xb2\x10\x6d\xf3\xd5\x3d\x20\xf1\xb7\x0a\xab\x50\xf4\x60\xfb\x79\x3b\x4a\xc6\x70\x74\xfe\xfc\xe2\xd5\xa4\x24\x50\x64\xee\x7e\x6f\xc8\x72\xa9\x1b\x5b\x24\x40\x5f\xfd\x50\x09\x99\x7a\x05\xcc\x41\xff\xf2\x7e\x82\x77\x88\x69\xee\x0f\x3f\xa8\x72\xcf\xdf\x55\x52\x2e\xfa\xe1\xcb\xd1\x7f\x7e\x59\x5d\xee\xd4\x03\x5f\x0e\xfc\xc7\xf7\x95\xe0\xd4\xbf\xc9\x01\x5e\xbe\xad\x04\x4c\x3d\xe9\xe5\xa1\x5f\xd6\x43\xbf\xcc\x17\xf9\xe2\xf2\xbc\x02\x9a\x1f\x9a\x52\x9f\x12\x7d\xc1\xc0\x9e\xfd\x74\xf1\xc2\xd8\x8a\xc3\xb6\xcf\xdb\x51\x38\xd6\xc6\x5a\x19\x17\x82\x43\xfb\x77\x5c\x4f\xd1\x9e\xae\x63\x36\x2f\xfe\xc4\xb2\xb0\x85\x0a\x14\xcf\x2f\x5f\x5e\xff\xf4\xec\xdd\xb3\xd7\x4c\xf2\x1c\x6b\x93\xaf\x20\xf5\xf6\xf2\x9c\x11\x69\xff\xf4\xc5\x14\x5e\x9c\x5f\x02\x85\xeb\x12\x85\x02\xd0\xcb\x3f\xbd\x79\xfb\xee\x82\x17\xf7\xaf\x52\x71\x2b\x40\xdb\x53\xa9\x50\xc2\x6e\x9e\xbd\xbc\x90\x5e\xc2\x39\x2f\x97\x0c\x74\xa3\x58\xc8\x37\x6f\xdf\xbd\x7e\xf6\x0a\xf0\x5e\x48\x78\xfb\x30\x5e\x2b\x8a\xf1\x91\xc4\x09\x79\x59\x8f\x38\xd6\xbe\x57\xf4\x4c\xde\xc1\x22\xa2\xfb\xef\x5d\xa9\x88\xb3\xcc\x0f\xc1\xea\x0d\x9b\x9b\x17\x3c\x6c\x4c\x28\x86\xde\xb3\x37\x93\xc2\x32\xad\xe2\xc8\xb4\x88\x23\x3e\x7f\x7f\xde\x8e\xfc\xb1\x76\xa6\x55\x23\xfe\x04\xe7\xfa\xba\x76\xa6\x19\x5b\xe4\x8f\xb5\xd3\x03\x60\x4f\x05\xec\xd1\x01\xb0\x47\x1c\xd6\xaa\x81\x64\xac\xa7\xdb\xd6\x53\x02\x51\x84\xe1\xc9\x00\x24\xfb\x91\x48\xa6\x0d\x68\xce\x63\xd1\x1c\x40\x73\x1f\x8b\xe6\x02\x5a\xe7\xb1\x68\x1d\x40\xeb\x3e\x16\xad\x0b\x68\xde\x63\xd1\x3c\x40\xeb\x3d\x16\xad\x07\x68\xfd\xc7\xa2\xf5\x01\x6d\xf0\x58\xb4\x01\x43\x6b\x7f\x57\x8d\x15\x25\x14\xb8\xe9\x3b\xce\x4d\x4f\xb4\x27\x35\x9f\x10\xc0\x4f\xb4\x27\x9c\x4d\x1b\x75\x6c\x9a\x52\x6e\x08\x9e\x7e\x72\x08\xf0\x13\x01\x3c\xaa\x02\x4e\x43\xaf\x88\x0a\x32\xe0\x2f\x1c\xc3\x4b\x36\x86\x97\x63\xed\x3f\x4b\xf3\x0d\x93\x36\x32\xe4\x9c\xff\x56\x88\x95\xbd\x6c\x3f\xab\x06\x4e\x7d\x9b\x0a\xc8\xe7\xfb\x20\x5f\x44\xf7\xa1\x80\x3d\xdf\x07\x2b\xbc\x00\x0a\xf0\x17\xfb\xc0\x53\x3f\x1b\x02\xfe\x62\x1f\x7c\xea\xed\x52\xc0\xff\xb0\x0f\xbe\xe0\x68\x52\x20\xfd\x69\x1f\x52\xde\x15\xa4\xc0\xf9\x71\xef\x87\xd2\x30\x37\x1c\xfe\xe5\x81\xed\xf4\xde\xbf\x11\x18\xff\x55\x8d\x51\xf4\x79\x28\xe0\xff\xbc\x17\x3e\x57\xe5\x57\xfb\x38\x07\x3c\x76\x09\xe0\xd7\xd5\xc0\x39\xf7\x5e\x02\xf8\xa7\x7d\xc0\x79\x9e\xbc\xac\x06\x4e\x3d\x23\x09\xc8\xf7\x12\x64\xba\x43\x39\x71\x9a\xcd\xa3\xb8\xd9\xcc\xbb\xfb\x11\x48\x7f\xd9\xd3\x24\xf9\xa2\xfc\xdf\x43\x39\x33\xeb\xa1\xb1\xf6\xb7\xba\x11\x58\x72\xe5\x22\x3e\xe3\x57\x23\x48\x7e\x55\x04\xca\x4d\x35\x4a\x95\x97\x13\x81\x39\xad\x69\x5e\x85\x13\x11\x81\x35\xab\xc6\x2a\xf9\x8c\x10\x08\xe5\x5d\x76\x0e\x41\x72\xe0\x20\x50\x6e\x6b\x9a\xe1\x97\xd2\xd0\x99\x57\xc3\xa6\xae\x02\x04\xe4\xa2\xae\xbe\xfc\x4a\x22\x07\x5c\xd6\x35\x69\x11\xf4\xae\xbe\x87\xa5\xd6\x0b\xeb\xf8\x7f\x67\x08\x2e\xa0\x57\x12\xb4\x30\x4b\x8d\xb9\x59\xaa\x76\xa4\x0d\x73\x96\xcd\x0c\x8b\xa1\xfd\xae\xd0\x6b\x68\x0d\x0d\x63\x1c\xc0\x40\x28\x58\xc2\x8a\x4f\x95\xa3\x96\x14\xd6\x99\x9c\xc9\xa7\x00\x4f\x2a\xc1\x33\xdb\x49\x01\xb9\xae\x82\x2c\xd8\x3c\x8a\x31\xa3\x5a\xf3\x90\x70\x16\x95\xa1\x46\x95\x6b\xdf\x62\x74\x54\xf4\x94\x41\xc4\x7b\x6c\x4d\xb0\xc6\x93\x1a\x62\xd9\x62\x23\x86\xed\x09\xd6\x44\x9a\xbf\xc8\xf6\x53\xd8\x99\x60\x2d\x7b\xca\x5e\x62\x97\x67\xf3\x8c\xb7\x97\xe7\xb8\x33\xc1\xda\xdb\xcb\x73\x01\xc1\x45\x75\xdc\x65\x50\x3c\xcd\x5f\xbc\x38\xbf\xc4\xde\x04\x6b\x2f\xce\x2f\x79\x06\xdf\xdb\xe0\xde\x04\x6b\x3c\xa9\x6d\xf5\xc5\x66\xa3\x2f\xf0\xe7\x34\xec\xf6\xb4\xe2\x08\x3c\x77\xc2\x1c\xe4\x4d\x38\xcb\x17\xd7\x32\xd7\x26\x09\x44\xcc\x4f\x1b\x4b\x75\x92\x0d\x61\x9e\x95\x6e\xba\xa6\x68\x8d\x66\xd9\x7d\xa4\xd1\xce\x05\x6d\x16\x49\x4c\xb6\x1f\x5f\xc7\x71\x34\xf7\x29\xb9\x5e\x04\xf3\x85\x2a\x70\x4d\x11\xc2\x94\x6e\xdc\x15\xdf\x63\x4d\x4b\x4f\xe6\xd2\x8f\x9e\xcc\x4a\x19\xa6\x09\xba\xbb\x18\x93\x71\xf1\xc5\x04\x75\xbb\xce\xc0\x3b\xc1\xfa\x14\xf3\x41\x79\x1e\xcd\xc8\x33\x5a\xaa\x85\x61\x34\x9b\xd3\x13\xdc\xf5\x5c\x7b\x00\x94\xd6\x75\xd0\xa6\x6d\xa0\x20\x79\xe3\xbf\xd1\xd7\x86\x6c\x18\x5c\x2c\x7c\x3c\x9a\x46\x21\x0d\xc2\x35\xd9\x4e\xb1\x6d\x39\x9d\xa7\xfa\xb4\x05\x65\x32\x4c\x7d\xdd\xea\x7a\xae\x63\x19\xa6\xd7\xed\xba\x1e\x8a\x4d\x9c\x4e\x1c\xf2\x17\xb7\x60\x0f\x0b\xf0\x27\x78\xca\x8b\xdb\x73\x3b\xae\x91\xde\xf8\xc8\x75\xb6\x30\x5b\x4f\xbb\x7c\x18\x37\x82\xb0\x91\x9c\x25\xe3\x78\x22\x8e\xf7\x25\xf6\x49\xef\xc8\xe4\xf3\xd2\x90\x46\x7a\x8c\xa6\x05\x1b\xf4\x4c\x95\x31\x64\x8d\xce\x88\x87\xc6\xe7\xb0\x44\x3d\x6d\x91\xf4\x9c\xa1\x34\x79\xe9\x1a\x18\xb2\x6b\x86\xf8\xfb\x54\xfc\x35\xc5\xdf\x96\xf8\xdb\xd6\x86\x32\x66\xf9\x4a\x40\x7a\x5f\x20\x7f\xb1\x94\x51\xae\x82\xcb\xdf\x56\x65\x5f\xae\x82\x73\xf2\x70\x66\x35\x9c\x9b\x87\x6b\x1d\xf8\xdd\x76\xcd\x77\xb7\xc5\xa1\x2b\x26\x93\x3c\xf6\x71\x4d\x69\x90\x12\x1b\x15\x79\xaa\xd5\xca\x93\x7b\x23\x9a\xfb\xad\x96\xbb\x0f\xae\x85\xd2\x47\x76\x4a\x0b\x27\xcf\x12\x5a\x24\xf0\x37\x35\x18\x6e\x01\x63\x7b\x30\xed\x7f\xd6\x40\xda\x05\xc8\x9e\xa6\x62\xe3\xdc\xaa\x64\x28\xe7\xc4\x3c\x89\xbe\x92\x44\x71\xb9\xda\x4f\xe5\x3f\x52\x2a\x45\x10\x54\x9e\xb6\xf2\x38\x3f\x4a\xd5\xa4\xfe\xcd\x65\xce\x3b\x44\xf5\xe7\xb0\x84\xfa\x2f\x75\x14\xb3\xb7\xbc\xa7\x15\xe5\xfd\xef\xf5\x33\x50\x57\xcc\x19\xb9\xf5\xd7\x4b\x5a\xd7\x8b\x55\xd7\x09\x2f\x2e\xcf\x1b\xa9\x31\x61\xe3\xfb\xa4\x0d\x17\x69\x0a\xb3\xa7\x18\x90\x7c\x5e\x8e\xd2\xc7\xcb\x33\x9d\xe2\xdd\xd3\x38\x9e\x20\xed\x58\xe3\x06\x48\xf0\xc5\xa2\xa6\xcf\x18\x32\xe8\x92\x96\xb0\xce\x79\x52\xc5\x74\x81\xa8\xd4\xaa\x73\xc5\xfd\xab\xca\xce\x6c\x80\xee\x18\x56\x02\x26\x63\x0a\x7d\xf8\x66\x93\x3d\x3d\xbf\x78\xb5\x13\x5d\x73\x20\xa9\x0f\x8d\xdd\x68\x28\x97\x83\x6b\x9e\xf9\x39\xb3\x7c\xe7\x2c\x53\x44\xcb\xb1\x8f\x00\x2f\xef\x69\xbd\xf6\x1a\x97\x00\x57\x85\xb1\xe3\xb1\xcf\xab\xe0\xcb\xdf\xe5\xe6\x09\x10\x4a\x5d\x49\xc8\x30\xb6\x4a\x52\x3b\x33\x45\x65\xfd\x32\x19\xab\x24\xc9\xa9\x2e\x9f\x8a\x26\xe3\xf2\x5a\xd9\x7b\x60\x9e\xa8\x89\xe3\x61\x7c\x8a\x35\x4b\x6b\x36\xe3\x13\xac\x0d\xb4\x3a\x68\x6c\x5b\x4f\xeb\x88\xc5\x79\x69\xc9\x32\x5a\x9d\xfe\x50\x1b\x69\xea\xd0\x5d\x5f\xda\xab\x85\xf2\x68\x5a\x49\x22\xc9\x84\xf5\x4c\x26\xf1\x8d\xcf\x7e\x2a\x93\xa4\x42\x08\x90\x2c\xa9\xdb\xca\xab\xe5\xe5\xcb\x1c\x4d\x3e\x46\x97\x67\xcb\x94\x52\x71\x61\x50\x73\x9e\x94\x0b\xda\x6d\x29\x97\xeb\x07\x21\x7b\xdf\x15\xe5\xf3\xcb\x97\x8d\x69\x34\x23\xd9\x84\xa2\xe4\x08\xf5\x77\xb3\x98\x9b\xd2\xa7\xb1\xa6\x15\x1b\xf1\xc5\xf9\xe5\xbe\x81\x5c\x3f\x82\x47\xdc\x8a\x86\xdb\x4e\xa2\xdb\x34\x0c\x72\x41\x44\x95\x6e\x34\xc3\x92\x50\x90\x3b\xbe\xfb\x3d\x93\xfa\x24\x9f\x17\x79\x36\x40\xb7\x6c\xbe\x5f\x71\x12\x4f\xb4\xdf\x9f\x0c\x57\xf8\x89\xa5\xfd\xfe\x24\x57\xad\x27\xda\x0a\xb2\x3d\x5b\x5b\xe5\xf3\xb5\x58\x1b\x4a\xc4\xb3\xfb\x89\xa6\xad\xbc\x5f\x9c\xbf\x9a\x08\x57\x8d\xe3\x7c\x0b\x6a\x77\x8c\xa4\x66\xdd\x69\xca\x55\xa4\xaa\x73\x5f\x9c\x5f\x36\x7e\xa2\xa2\x6b\x57\x06\x82\x50\xa8\xd2\x44\x5e\xb8\x13\xfd\x93\x66\x36\xcc\x5b\x53\xfb\x2e\xd6\xcc\x95\xb9\xcb\xbf\xba\x2a\x8c\x0b\xcd\x5c\x15\xda\xd5\xfc\x5d\x51\x67\xb9\x41\x0f\xfb\xb6\x59\xfd\xed\xc3\xeb\xcd\x79\x40\xd4\x5d\xcd\x1f\xe5\xa6\x50\x4e\x8d\x95\x3c\x7f\xc0\x9c\x99\x27\xb8\x6f\xca\x54\x7e\x6d\xb3\xd1\xbe\x83\xc9\x6e\xb3\xd1\x4c\x48\x9c\x29\x3c\x4a\x71\xd8\x03\xa6\xe6\xaa\xcf\x28\xbe\x5f\x44\x2b\x0e\x66\xae\x58\x18\xc6\x47\xf9\x01\x9b\x3d\x3d\xbf\x78\xb5\xd9\x1c\xb6\x1e\x17\x9b\xd0\xc8\x6c\xac\x72\x6f\xe5\x8b\xc2\x80\x23\x9b\x6b\x73\x5a\x32\x3c\x3f\x00\xdc\x7f\xa5\x58\x85\x2a\x26\xb3\x3a\x5c\x01\xa2\x40\x86\x96\xab\x77\x0a\xb0\x6b\xe1\x12\xfe\x5c\xc2\xdf\x99\x09\x54\x53\x51\x87\xdd\x97\x08\x7d\x8b\x55\xb3\x14\xcc\x2a\x2f\x50\xca\x9f\xde\xf1\x41\x76\x67\xf8\x27\x26\x16\xc6\x78\xba\xc7\x94\x25\xd3\x56\x05\xb9\x0b\xf6\xed\xe8\x3e\x24\xf1\x8b\x0a\xbb\xba\x64\xe5\x87\x1a\xfb\x44\xce\xbe\x72\x41\x96\xcb\xa8\x71\x1f\xc5\xcb\x99\x86\x48\xc1\xd4\x92\x72\x1d\x59\x8c\xa9\x88\xc4\xfd\x6b\x30\x03\x7f\x39\xb4\x10\xf9\x7b\x94\x06\xcc\xbc\x8d\x42\xfa\x2b\x8f\x8d\xad\xdd\x44\xcb\x59\x16\x0e\xbc\x80\x9e\x94\xd1\x73\xea\xca\x9d\x91\x19\x35\x10\x1b\x45\xd1\x66\x13\x1c\x61\x9c\x6c\xbf\xc8\x70\x27\x42\x09\x8e\x75\xc7\x33\x64\xa5\xe5\xf3\xb7\xaf\xb8\x6a\x92\x25\xb8\xba\xf0\xe7\x37\x2f\x2e\xde\xbd\x7a\xf9\xe6\x02\xf4\x92\xd9\x13\x7f\xf9\xfc\xd5\xcb\x37\x7f\x06\x45\x24\xa4\x84\x82\xf1\xcd\x2f\x17\xef\x2e\x2f\x70\x7f\x82\x35\x91\xce\x5e\xbc\xbc\x7c\xf9\xfc\xd5\x05\xb6\x3d\xfe\x8e\x3f\x6a\x5b\x3d\xda\x6c\xf4\x68\xa7\x80\x0c\xb9\xf8\xef\x57\xe9\x21\xe5\xb0\xd8\xe9\x9d\x13\xee\xac\xe9\x5d\x74\x9f\xfc\x9f\x35\x59\x93\x9d\x78\x2b\xde\xfc\x10\xfb\x77\x24\xb9\xfc\x10\x40\x10\x61\xab\xf8\xf2\x59\x18\xdc\xc1\x86\x0e\xa0\x0a\x5b\x90\x95\x9f\x06\x26\xe7\x6d\xfe\x53\x14\x2d\xe1\x5a\x55\xd2\x7e\x11\xdd\x49\xaf\x52\xae\x82\x1b\x3d\x18\xe3\x10\x3c\xcc\x04\x15\x51\x5a\xb3\xb0\x27\x5f\xfa\x19\x95\x66\xf5\x77\x56\xff\x77\xbc\x62\xca\x4b\x42\xe5\xb6\xe2\x03\xfc\x73\x42\xfd\x98\x0e\x09\x22\xe1\x6c\x48\xb3\x9b\x27\xca\x16\xca\x9c\x2c\xa8\xdb\xef\x3e\x08\x67\xd1\x7d\x5b\x6c\xff\x8b\x2f\x8b\x88\xaf\xa2\x68\xb5\xbb\x02\x64\x94\x7d\x82\xe7\xc1\xf2\x2c\xa1\x0a\x65\x1d\x50\xc2\xbd\x7b\x65\xf6\xfa\xe9\xe2\xa2\xe2\x00\xd3\x3c\xc1\x5d\xe3\xdb\x54\x82\xdb\x76\xd7\x71\x1f\xf0\x3a\x41\x74\x17\xc0\x5b\xea\x13\x51\x89\x8e\x41\x18\xb3\xaa\x9d\xa2\xf0\x0f\x11\xac\x26\x31\xb6\x26\x6d\xe8\xd3\x0c\x5d\x05\x41\xc2\x59\xee\x22\x85\x9d\x5d\xa4\xa8\x28\x10\xb7\xaa\x55\x53\x8b\xc5\xf7\x4e\x48\x4e\x03\x5f\x09\x65\x54\x8c\x5c\x06\x40\xc2\xd9\x29\xcd\x85\x0f\xac\x80\x49\xc5\xb4\xbd\x83\xbf\x7a\x7c\xa7\x4e\xde\xd8\xf0\x28\xdf\x93\x88\x95\x63\x08\x1a\x6a\x44\x5b\x44\xe9\xcc\xfc\xd8\x51\xc5\x2e\x4c\xfd\x35\xee\xcc\x8d\x65\x1f\xf9\x29\x4c\x61\xda\x97\x3e\x70\xce\xcd\x76\x49\x5c\x11\x7f\x1f\x7c\x4c\x27\x98\xf0\x63\x93\x03\xfd\xad\x83\x22\xec\x6f\x24\x9c\xfd\xad\x11\x24\x0d\x1a\x45\x8d\xa5\x1f\xcf\x49\xbb\xf1\x3a\x4a\x68\x63\x19\x7c\x20\xcb\x87\x86\xdf\xb8\xf1\x67\x8d\xf3\xcb\x77\xa0\x12\xab\xf0\xd0\x3e\x4a\x4e\x30\x1d\x25\xe9\x8d\x02\x1f\x27\x52\x48\x0a\x70\x5f\xb8\xac\x8e\x6b\xe1\x1b\x68\x91\xee\xe1\x16\xb2\xdf\x1e\x8c\x93\x96\x3a\xa2\x9e\xea\x43\x72\x33\xa7\x8e\x6a\x7c\x4a\x9a\xcd\xb2\x53\xe0\xbc\x37\xa6\xb2\xb4\xfc\x69\xd8\xb2\xb3\x91\x32\xad\x72\x3c\xb4\xc6\x25\xf3\xde\x54\xf8\xf8\x21\xf6\xe7\x20\x76\x18\x68\x06\xd7\x38\xd2\x3a\x96\x8b\xc0\x3a\x3e\x26\xe1\x38\x99\x64\xe9\x74\xec\xf1\x46\xbd\x95\xfa\x5c\x81\x02\x8e\xe9\xab\xc1\xf2\x4c\x76\x5b\xbb\x08\xb5\x63\xb2\x24\x7e\x42\xf4\x5b\x63\x9b\xd6\x7e\x8e\xad\xd1\xfc\x24\x18\xcd\xd3\x7e\xbe\xc3\xcb\xf1\x7c\x32\xb6\x26\xe8\x81\xa7\xec\x09\xba\xe1\x29\x07\xee\x6e\xdd\xc0\x9c\x3d\xc7\x18\x2f\x9a\x4d\xfd\x0e\xb7\x6c\x03\xdd\x1d\x61\x3c\x6d\x36\xf5\xe9\x91\xb4\x6d\x11\xad\xd9\x6c\xea\xb3\x66\x53\xcf\x5f\x80\x99\x41\xeb\x19\x68\x5d\x10\xcd\x60\x03\xcb\x46\x35\xa7\xaa\xa6\x66\x18\xc1\x2d\xa3\x77\xb4\x62\x34\x71\x5d\x9d\xfd\xe9\xef\xeb\x20\x26\xba\x61\xa0\xd5\x23\x0a\xc1\x4a\x71\x10\x59\xee\xd3\xee\xce\x58\x95\xaf\x78\x09\xdb\xce\xd6\xc7\x60\x46\x22\xcd\x40\x12\x40\x5a\xa9\x16\x67\x55\x2d\x77\x91\xe8\x1a\xdc\xd1\xdd\xa1\x73\x7c\x97\x7a\xa8\xbb\x67\x49\xbb\xcf\x7a\xe0\xbe\x19\x81\x94\xc7\xe4\x91\xcd\x46\xa2\xcb\x6f\x67\x80\x98\x6a\xa0\xf3\x93\x7e\xb3\xa9\x9f\x9b\xb8\x6f\x18\x88\x21\x66\xd2\x5f\xb3\x59\x81\x99\xf3\x1c\x05\x18\x20\x16\x56\x42\xdf\xf0\xeb\x1f\x00\x29\x24\x45\xce\x48\x97\xf8\x7a\x74\x8d\xcf\xd1\x39\xbe\x44\x76\xf3\xbe\xd9\xcc\x15\x65\x2b\xa0\xb9\xec\x58\x49\x7b\x01\xa3\xb7\x48\xbc\xd9\xd4\x9d\x6e\x0f\x63\x7c\xdd\x6c\xea\xd7\xd8\xee\x1a\xc8\xe9\x7a\x18\xe3\x73\x46\x1c\x5b\x86\x81\xae\x4f\x9c\xae\x57\x5d\xe0\x79\x6b\x1a\x2d\xa3\xb8\xa5\x99\xd7\xac\x7d\xea\x60\x53\xc0\x73\x38\x3f\x65\x9b\xf2\x1b\x63\x66\xe2\x27\x27\x8c\x29\x1a\x80\x82\x05\xe8\x7d\x30\x23\xad\xe9\xc2\x8f\xb5\xd3\x27\xe6\x83\xa9\x9d\x1c\x33\x98\x53\x2d\xf3\x50\xfd\x50\xd4\x71\x9e\x3a\xdd\x6e\x15\x2d\x7e\x6c\x51\x4d\x4d\xe8\xb6\x1e\x84\xee\xab\xa9\x0d\x67\x26\xd6\x9a\xfe\xdd\x6a\x54\xd0\x27\x9d\x88\x17\x4b\x5a\xcc\x3f\x15\xf9\xf3\x5d\x7e\xaa\x72\x99\x99\xf8\xe1\x04\x6b\x0d\xed\x4c\x6b\x86\x37\xc9\x6a\xa4\x0d\x1f\xb6\x53\x7c\xb7\xdd\x7e\xd3\xe1\x96\x8d\xf9\x9a\x89\x2e\x8f\xb1\x36\xb6\x71\xe5\xb2\x5b\xd8\xe9\xd5\x2c\xbb\xd2\x41\xcc\x5d\x40\xd9\xb8\x05\x51\x41\x43\x9f\x05\x3d\x49\x0d\xc5\xb3\x51\x49\xc8\x2e\xdf\x12\x07\x2a\x97\xa9\xe3\xda\x92\xe4\x01\x6e\xad\x24\x3d\x99\x80\xcd\x4a\x28\xaf\x1a\xfb\x51\x6a\x64\x8e\x9a\x0f\x8c\xad\x09\xdc\xca\x23\xcd\x66\x76\x75\x14\x02\xb2\x28\x97\xfc\x00\xd3\xca\x77\xd1\x2e\xe8\x2d\xc4\xc5\x4d\xc4\x73\x10\xea\x41\x85\xf7\x5d\xb8\x68\xaa\x47\x4a\x09\x67\xb3\x49\x4e\x2c\x83\x17\x29\x3c\x60\x41\xf6\x71\x8c\x31\x8e\xce\x98\x40\x3c\xb4\xd0\x12\x47\x4c\xcc\x38\xa3\xec\x51\x21\x5f\x8d\x42\x05\xb7\x70\xe2\x59\xd7\xa5\x4a\x86\x08\xf9\x68\x29\x36\xb7\x0b\x9c\xb4\x22\xee\xbf\xec\x31\x14\x54\xb1\x33\x41\xcc\x5b\x18\x06\x8a\x8e\x30\x4e\xd2\x7b\xaf\xc1\x1f\x56\xec\x04\x59\x68\x2a\x1f\x1d\x29\x98\x21\x4f\x32\x34\xa4\xbb\xc6\x6a\xfa\x0a\x73\xb1\xcc\xf5\x41\xd0\x6c\xea\x01\xb6\xd3\x4b\x68\x55\x97\x22\x67\xc1\xc7\xdd\xb5\xc8\x48\xa8\x5c\x16\x5c\xdd\x12\x48\xe7\x46\x0b\x3f\x7e\x4d\xfc\x64\x1d\xa7\x30\xa6\xb6\xfa\xa4\xa1\x14\x8f\x46\x2b\x4c\x1e\x8b\xb4\x24\xb7\x14\xd3\x3a\xac\xfb\x60\x46\x17\x45\x24\xc8\x92\x05\xb8\x12\xce\x53\x3d\x6e\x51\x43\x60\x66\x9a\xb0\x77\x84\x2d\xb2\x24\xc6\xfe\x1e\x5d\xd8\x6e\x67\x90\x4e\x77\xd7\xe4\x13\x25\xe1\x2c\xd9\x6c\x72\xbb\x68\xd8\x84\x62\xa1\x4a\x02\x7d\xa8\xe8\xb6\xb7\xb7\x9b\xcd\xe7\xeb\x6b\xe8\xc6\xeb\xeb\xe1\x78\xb2\x0d\xc2\x84\xfa\xe1\x94\x44\xb7\x8d\x67\x71\xec\x3f\x34\x9b\xe5\x4b\x34\x19\x38\xa6\xdb\xdc\x57\xb2\x89\x0b\xa6\x87\x46\x10\x36\xa8\x41\xdb\x0b\x3f\x79\x7b\x1f\x66\x7a\xab\xd8\x80\x58\x52\xf1\x04\xd3\x71\x3c\x31\xb6\x92\xd3\x1d\xa8\x62\x4e\xc3\x27\x34\x19\xd3\x28\x4c\x68\xbc\x9e\xd2\x28\xc6\x74\x4b\x00\x0c\xd1\x1d\xfb\x61\xa1\x84\x89\xcf\x44\x25\x39\x0f\xe9\xb1\x31\xd4\x83\x1c\x58\xbc\x4b\xa3\x90\xdc\x37\x02\x63\xcb\x5a\xfc\x2b\x94\x6c\xb6\x65\xa0\x10\xc7\xfa\x00\x26\x17\xdd\x36\xd0\x12\xc7\xba\x63\xb3\xbd\xcd\x25\x5c\x0d\x6c\xdf\xc6\xd1\xdd\xb9\x58\xdc\x75\xdb\xb3\x0c\x34\xcd\xbb\xeb\x59\x20\x6d\xae\x29\x34\x75\x15\xe6\x85\xbf\xbe\x7d\xc7\x15\x78\x2c\xc1\xb3\x32\xdd\x1d\xa8\xed\x24\x55\xdb\xba\xca\xf1\x22\xb7\x7e\x4c\xd2\xe9\x93\xb4\xa7\xfe\x72\xc9\x55\x1b\x3c\x6e\x5c\xda\x3d\x61\xc1\xf0\x2f\x6c\x5f\xdf\x80\xfe\x05\xc7\x2c\x9d\x5f\x34\x71\xc0\x72\x72\x5c\x8e\x13\x96\x11\x84\x41\x76\x99\x38\xd1\x0d\x14\x66\x71\x08\xd8\xdb\xbb\x68\x46\xb8\x0a\x6c\xd9\xce\xe6\x8f\xd7\x2c\x53\xa7\x00\xb0\xf4\x13\x1e\x09\xe0\x45\x74\x1f\xbe\x0f\xee\x08\xb6\x58\xb6\x3f\xa5\xc1\x47\x52\xc0\xc0\x51\x7a\x58\x19\xa6\x0a\xb3\x40\xa7\x88\x14\x98\xa5\x54\x1e\x2c\x0d\x14\xa8\x3a\x1f\x4e\xbc\xa2\xef\xe3\xe0\x2e\x85\x2f\x78\xd2\xc9\x94\x72\xd7\x51\xc8\x80\xc0\xd6\x94\x63\x42\x60\x86\xd7\xd1\x47\xb2\x17\xf1\x75\x0a\x59\xc6\x66\xd5\x3d\x0c\x3b\x33\x3d\xcf\x61\xff\xbc\x3a\x0c\x97\x5b\xba\x6f\x0b\x2d\x24\xa2\x0f\x49\x6a\x7b\x70\x03\x94\xb5\x78\x76\xba\xcd\x5b\xa9\x1d\xdd\xde\xea\x1a\x8d\x83\x3b\x0d\x55\xb5\x5e\xce\x73\x50\x59\x28\x29\x5d\x39\x87\x3a\xcc\xa2\xfb\x50\xab\x6a\x12\xa3\x58\x66\xce\x52\xf2\x49\x43\x5a\xb8\xf0\x8b\xca\x26\xdf\x85\x7f\x74\xc1\xb2\x68\x04\x8a\x93\x20\x31\x90\x84\x72\xbb\xdc\xbc\x5b\x54\x31\x33\xe5\xa6\x31\x6d\xe1\x27\x19\x8a\x86\x3e\xcf\x09\x1d\x2a\x39\x5a\x0c\x34\x7e\x26\x94\x61\x5c\x16\xf4\x86\x2a\x88\x8b\x70\x96\xba\x75\xd1\x8f\xc8\x66\x73\x44\x0d\x11\x21\x90\x6d\xc0\xb9\x67\xd6\xb1\xcd\x1f\xec\x09\x13\x74\xc3\xf5\x1d\x89\x59\x67\x0c\x8f\xc0\xf3\xd9\x6d\x30\x5f\xa7\xcf\x5b\xe3\x90\x3a\x65\xe2\xc7\x7b\xf2\x89\x7e\xab\x4a\x31\xb9\x92\xd7\x87\x57\x4f\xd3\x46\x3b\xd1\x16\xf3\xea\x70\x19\x0b\xd4\x88\x01\x1e\x4f\x46\x41\xe1\x8c\x2c\xf6\xc3\x64\xe9\xa7\xea\xe8\x57\x41\x48\xde\x47\x7c\xd2\xd7\x0b\xbc\x37\x27\x14\x3c\x0d\x1b\xe8\xc8\x42\x10\x7c\x2c\x36\x8c\x4c\xc5\x14\xc1\x07\x4d\x7b\x14\x9d\x70\xc9\xd9\x06\x9f\x04\xe2\xf6\xbd\x44\x28\x62\x2b\xcd\xfe\x02\x24\xe8\xc8\x32\x46\x49\x3b\x48\x7e\x8d\x99\xe8\x36\x3b\x0b\xc6\x3b\xd7\xba\x13\x13\xfb\x43\x51\x19\x1f\xb6\xaf\xf9\x3e\xac\xfa\x34\xbc\x3c\xf8\xeb\x4c\x98\x85\x9d\xc3\x81\x85\xc8\x3c\x5f\xdc\xf9\x2b\x5d\x79\x31\x4d\x5c\x94\xd7\xa7\x08\xee\xc8\x19\xed\xbf\x47\x41\xa8\x87\xed\x20\x79\x7d\xf9\x2b\x68\xf1\x93\x33\xed\x2a\xbe\x0a\xb5\xa1\x76\x15\x6a\x07\xf0\x62\x7e\x9c\x16\x47\x9f\x3c\x91\x70\x3e\xaa\x98\x02\xf9\x1c\xf6\xba\x3c\x15\x24\x29\x40\xaa\x7e\x2e\xcd\x0d\x75\x8d\x58\x27\x3b\x73\xb7\x61\x96\x81\x4a\xd2\x34\x6c\x93\x73\x9c\xa5\x69\x4c\x4a\x41\x21\x0e\x90\x8f\xad\x91\xbf\x8b\x9a\xe5\xa7\x2c\xb6\xc4\x64\xec\x4f\x46\x91\x89\x97\x63\x7b\x82\x18\xad\xe5\xd8\x99\xb0\x0f\x9c\x62\xbf\xd9\x4c\x5a\x2d\x14\x40\x2a\x6c\xb5\x0c\xe1\x30\x21\xdc\x6c\x32\x4a\xdc\x63\x13\xdf\x98\x44\xed\x84\xf8\xf1\x74\xa1\x1f\x5f\x25\xe6\x77\xc7\x3b\xef\x31\xd3\x66\x53\x5f\xec\x36\x7b\x0b\xb6\xe9\x40\x8b\x13\x9c\x64\x83\x6f\xbb\x13\xf1\x33\xaf\x0a\x6c\xeb\x53\x6c\x30\x59\x55\x9f\x77\x23\x35\xfa\x46\x47\x59\x8a\x23\xf8\xdd\x89\x82\xb1\x35\x98\x98\x12\x24\xaf\x82\x70\xfd\xa9\xd9\x24\xa9\x45\x65\x7e\x12\xcb\x3c\x7d\xc0\x2b\xae\x4b\x08\xc9\x7d\xb2\x9b\xb9\x65\x9c\x32\xaf\x48\x75\x2f\x9d\xf3\x55\x1e\x7e\x94\x55\x17\x5c\x37\xb1\x6f\xfe\x04\xcd\x45\xdd\x0c\xba\x95\x16\x3a\xf6\xee\xd9\x72\x59\x35\x76\x02\xb1\x52\x3d\x5b\x2e\x9f\x81\xf0\x96\xd9\xfd\x56\x0d\x0f\x2e\x56\x29\x16\x4e\x4e\x50\x48\x5d\xd9\x21\x4b\x15\x99\x39\xe1\x02\x24\x1f\x64\xe7\x51\x14\xcf\x54\x1e\xbc\xe0\x5c\x82\xbf\xd5\x89\x42\x1a\x10\x59\x39\xf9\x56\xb9\x5d\x57\x28\x2a\x60\x32\x4e\x59\x67\x6c\x4d\x5a\x2d\x04\x53\x3d\xff\x63\x4a\xa7\x1f\x3c\xf4\x53\x45\x2d\x40\x20\x11\xb6\xc6\x77\xd1\x3a\xa4\xf5\x55\x49\x6f\xc0\xbd\x8f\xd2\x3d\xb5\xaa\x6e\x06\x1b\xfc\xd2\x79\x16\x2b\xfb\x53\xa9\xd6\x62\x97\x9c\x55\xe8\x14\xf3\xc0\x3c\xf1\x99\x35\xd4\xe9\x29\x98\x65\xb6\x30\x13\xa8\x76\x23\x3e\xd3\xfb\x50\xd4\xea\x5a\x06\x62\xff\x75\x7a\x8c\xbb\x96\x71\x0c\xef\xfc\x9b\x44\xa7\x86\x09\x69\x08\x67\xa1\xdb\x9d\xa7\xd4\x90\x39\x22\x9b\x64\x0b\xd5\xb6\xc0\x8f\xcc\xcd\x9a\xd2\x28\x64\xf2\x09\x44\xba\x27\x21\x7d\xc1\x55\x97\xd9\x44\x3d\x8b\xfd\x79\xa1\xed\x32\xfb\x57\xd1\xba\xe7\xcb\x60\xfa\xe1\x9c\xbd\xd2\x09\xb8\x40\x58\x04\xb7\xf4\xcf\xe4\x41\x1c\x13\x45\xe1\x25\xcb\x00\x28\x9d\x88\xc8\x40\xbc\x81\x32\xc4\x1d\x28\x78\xdc\xc9\x60\x9d\x3a\xd8\x17\xd1\xfa\x26\x07\xeb\x2a\x60\xd3\x4d\x3e\xb0\xfd\x6a\x07\x2c\x6a\xe0\xcf\x66\xfb\x17\xa0\x23\x4b\x6a\x52\x25\x5e\xed\xb6\xa8\x20\x22\x17\x4d\x6f\x2a\x04\x66\xb6\x3a\x6a\x55\x5b\x23\xa5\xe4\x7d\x10\xd9\xf5\x4a\x53\xef\x79\xe4\xee\x7e\x19\x52\x12\x7f\xf4\x97\x6c\x03\x19\xe3\x84\xd0\x34\x43\x31\xbb\x93\x3c\x22\x9b\x4d\xba\x96\x3c\x19\xab\x17\x7c\xc5\xec\x5c\x5d\xab\xea\x9d\xcf\xd7\xb6\x57\x35\xe5\x9a\x26\x03\xd9\x26\x6b\x96\xda\x06\xdc\xd7\xbe\x6c\xf1\x91\x46\xee\x6e\xe4\x54\xce\xe8\x49\x61\x0d\xca\x4e\xb0\x4b\x2f\x2f\xc2\xd4\xc7\x92\x6a\x66\xd7\x89\x62\xd6\xc8\x0d\xc5\x03\x3f\xfe\x8a\xfb\xfc\xb3\xd0\x9e\x25\x2c\x35\x69\xad\xd5\x47\x54\x7f\xa6\xbe\x22\x35\x88\x75\x8d\x03\x6b\xbf\x95\x4d\x21\x79\x19\xbe\x92\x1e\x13\xee\xc7\x35\xaf\xad\xc9\x04\xe4\xc2\x5a\x10\xd3\x94\x9b\x3e\x37\xb3\x55\xba\xff\xac\xa8\xfe\x68\x57\x4b\x75\xf3\xfe\xfa\xf6\xdd\x8b\x6c\x02\x67\xaf\x7e\x8d\xe2\xd9\x33\xaa\xab\x16\x8e\xdc\xa4\xf9\x87\x97\xe3\xd5\xcb\x37\x17\x85\x72\x30\x49\xfe\x99\xd8\x32\x95\x8b\x22\x2f\x35\x8a\xf2\xe8\x21\xb9\x6f\xbc\xf0\x29\x31\x58\xbf\xb1\x51\xa5\x1b\x23\x9d\x8a\x73\x15\x49\x27\x76\xda\xb1\x2c\xae\xb5\x6b\x5f\xcf\x02\xae\xc4\xfd\x21\x8e\xee\x5e\xa5\x80\xd9\xe5\x76\x62\x9c\xda\x96\x91\xd5\x67\xb7\xbc\xb0\xfd\x44\x05\xf5\xec\xbe\xef\xb2\x4c\x0e\x8f\x49\x7b\xe5\xcf\xc9\x5f\x10\xff\xfb\x5b\x6a\x91\xb3\xa3\x6b\x9a\xa5\xfa\xd7\x96\x4f\xe5\x93\x24\x13\x1e\x76\x92\x82\xba\x34\x4c\xb4\x12\xe5\x31\xd0\x5e\x60\x3b\x05\xfe\xad\x4a\xcc\x60\xb3\x6e\x25\xaf\xc8\xe3\xee\x4c\x3d\x7e\x2e\xc2\xd9\x2e\xe2\xb8\xe2\x9d\x3d\xe1\x3a\x86\x9d\x95\xd8\x63\xe7\xbb\x9a\x29\x08\x0b\xee\x3c\xab\xf9\xfc\x49\xed\xac\x50\x8d\x69\x4d\xb0\x35\xac\x7b\xab\x10\x8f\x87\xf5\x45\x65\x03\x3a\x9d\x63\x38\xb5\xf7\x51\x3a\xa6\x2b\x3e\x54\x29\xda\x15\x9b\x4c\x12\x9b\x77\xed\x56\xc6\x3c\xb5\x6a\xeb\xac\xa8\x55\x2b\x0d\x0d\x5d\x26\x75\x62\xd5\xcc\xd3\xd0\x80\x15\x73\x7c\xa1\x67\x6e\xf2\x06\x8f\x45\x77\xed\xfb\xe6\x76\x4e\xa7\x62\x66\xe7\x65\x00\x17\xef\xa0\x56\xa8\x9e\xe0\x39\xa4\x69\x6e\x99\x14\xca\xca\x8d\x2b\x47\xc1\xd8\x62\x44\x84\x12\xad\xba\x48\x62\xb6\xca\x09\xa6\xe5\x69\x22\x6b\x4a\x59\xa8\x2a\x37\xb3\x6c\xeb\x26\x9c\xb2\x04\xc9\x4a\x92\x64\x38\x0a\x3a\xb2\xbf\xa0\xff\xf1\x58\xd9\xfb\x52\x8c\x2c\xb6\x83\x2b\x9b\xc4\xb1\xdd\xd4\xa4\x72\xbc\xe0\xb1\x1c\x69\x8b\x51\x99\x94\xb6\xc8\x15\x53\xd5\xcf\x2b\x85\x5c\x53\xad\x96\x2a\x11\x99\x46\xe1\x47\x12\xd3\x5f\xc4\x75\xd6\xf3\x68\xf9\x3e\xca\xbc\xba\x80\x07\x3a\x85\x8d\x82\x60\x43\x36\xb7\x05\xd8\x1a\xb1\xc4\x29\x0e\x20\xec\xab\xc5\x23\x6f\x72\x89\x21\x6e\xb5\x46\x3b\xd7\xb9\xe5\x3d\x2d\x1f\xdd\x95\xb3\xac\xa4\x43\x8d\x0f\xd0\x3f\xf2\xce\x4d\x8d\x26\xf7\x57\x8e\x1f\x12\x45\x38\x40\x09\x44\xeb\x6b\x45\x28\xc4\x16\xe8\xcc\x82\x5b\x9d\x7b\x38\x89\x53\xf7\x09\x91\x21\x4c\x34\xa2\x53\xab\xd9\x2c\xbf\x6c\xd9\xc6\xc8\x88\x5a\x2d\x1e\x9c\x2c\x38\x89\x33\xd5\x4f\x09\x32\x30\x19\x64\x60\x9a\xdb\xcc\xb2\x6b\x09\x1f\x47\x0b\xf8\x03\x04\x40\x86\x1b\x2f\x79\x3b\xea\xa1\x69\xa2\x65\xab\x65\x20\xd8\x49\x8e\x17\x22\xdb\x37\x4d\xb4\x30\x4d\x83\x17\x48\xd8\x3a\x06\x09\xab\x22\x6b\xdc\x4b\xb2\xf2\x63\x9f\x46\xb1\x5e\x28\xa5\x31\x32\x04\xf5\x96\x5d\xa6\x1f\xb5\x5a\x2c\x21\xea\x60\xda\xb9\x5a\x1c\x42\x9e\x55\xcd\x18\x19\xa2\x94\xa6\x5d\x2a\x27\x0a\x78\x42\xa8\xfc\x84\x3e\x2a\x32\x93\x56\x88\xf8\x67\x86\x3b\xb3\x90\x56\x64\x86\xa6\x6f\xca\x81\x21\xa3\x65\x52\x3e\xb7\x2a\xc8\x80\x75\x32\x9e\x58\x51\x32\xb7\xfc\x4a\xc1\x7c\x4c\x85\x59\x35\xe3\xbb\x8a\xe5\x3b\xbf\x53\x48\x95\x7c\xca\x32\xa5\xab\xd8\x57\x94\x2a\x37\xfb\xf0\x37\x7e\xbc\x5b\x40\x7f\xf1\x97\x6b\x92\xbc\xe3\x66\x85\x33\xdd\x38\x13\x85\x1f\x8a\xbf\x66\x5a\x3a\x5e\x9b\x52\x19\x15\xbd\xa9\x90\xc3\xb4\x86\x6e\x8c\x27\x9f\xb7\x4f\xae\x34\x2d\x73\x11\x4e\x8c\x53\x6c\x29\xab\xcc\x45\xe0\x03\x77\x5b\x6c\xf6\x23\x87\x34\xb2\xcc\x05\x5b\x44\xb7\xba\xdf\x86\xf5\xfd\xe2\x2e\xa0\x94\xc4\xc6\x88\xe6\xce\x92\x79\x58\x70\xbc\xfe\x36\x4e\x72\x1f\x79\x83\x45\x3a\xe4\x53\xdc\xec\xd8\x73\x14\x51\x6a\xb9\x9d\xa2\x57\xde\x03\x42\x76\xf5\xa6\x55\xbd\xe3\xad\x3a\x77\x24\xf9\x33\x3a\x85\xca\x58\x3e\xa9\xcb\x5f\x58\x93\x4a\x71\x36\xb6\x50\x6a\xc1\x94\x2f\x79\x59\x7f\x2e\x76\xbb\x90\x59\xcf\xf2\x65\x4a\x43\x05\xa1\x2f\x3d\xa0\xac\xa9\xfc\x45\x38\x7b\x74\xd5\x0f\x50\x1c\x83\xb5\xbb\x4a\x86\x68\xd9\xe5\x56\x83\x9a\x9d\x1d\x49\x0d\x20\x64\xac\xda\x56\x1b\x2b\x48\x31\x51\xaf\x92\x41\x54\xac\x03\x7b\x98\x4a\x8c\x72\x8f\x72\x01\x30\x15\x0f\xe5\x0d\xc7\x78\xa7\x2d\xfe\xba\xb2\x71\x69\xd4\x50\xe4\xca\xe5\x65\xfc\xc2\xd5\x56\xfb\x18\xa4\x10\xa8\xa9\xb2\x69\xd5\x1a\xd4\x52\xa9\xd3\x53\xea\x44\x3e\x6e\x6f\xb0\x89\xfa\x94\x82\xa4\x9c\x3b\x92\x6e\x36\x99\x70\x70\xca\x9a\xa1\x68\x82\xa7\x38\x2b\xc9\xf3\xa0\x5a\x79\x24\xb5\x7d\x0b\x13\x45\x73\x49\xe0\xbc\x09\xab\x80\x55\xb0\x27\xd6\x99\xae\x9c\x00\xd1\x91\x65\x0c\x55\xa5\x51\xce\x03\x40\xa9\xb2\xf4\x6c\x37\x75\x64\x1b\x99\x25\x5d\xd1\x9e\x08\x07\xff\xad\x2b\x40\x76\x6a\xcb\x6f\x83\x66\xea\xf3\xf2\x8a\x90\xfa\x90\x49\x6d\x26\x85\xae\x25\xc9\xbc\xc9\x60\x71\xf2\x94\x37\xac\x12\xe6\xb2\xe2\x06\xee\xbb\xe8\x9e\xdf\x2a\x4d\xd5\x95\x4b\x3f\xa1\xef\xc8\x34\x8a\x67\x64\x26\xe4\xe3\x82\x3a\x33\xff\x3e\x95\x8b\x8b\x14\xb2\x19\x27\x0a\x75\x8d\x97\x25\x3d\xa4\x2c\xb8\xba\xc9\x5f\x88\x53\x60\xc6\x24\x09\xfe\x41\x0e\xc4\x2c\xb5\x84\x42\xeb\x5f\x28\x48\x14\x72\x62\x05\x42\xb9\x18\x64\xf2\x6c\x1c\x49\x7e\x7a\xb6\xc8\x52\x2e\xc1\x8a\xc3\xd6\x54\x3b\x23\x9f\x84\x9d\x5a\x85\x21\x2e\x03\xa4\x77\x55\xca\xdd\x35\x22\x29\x2b\x4b\x1d\x59\x41\x49\xdd\x50\xc2\x50\x35\x08\x49\x3d\x36\xb7\x34\x2d\xf6\x52\xe1\x14\xe1\x51\x84\x38\xff\x0b\x98\x6a\x8e\x4a\x2b\x5f\x58\xc3\x46\x3a\xd9\x6c\x68\xa6\x86\xac\xe1\x47\x19\xb7\xae\x0d\x16\xb5\xc5\x7e\x2a\x13\x53\x35\x89\xc2\xfc\x59\xa6\x5e\xf7\x7d\xa3\x3c\x84\x1f\x51\xba\xaa\xa1\x0b\x05\x2d\x87\xc8\x2b\x70\xb3\x24\x28\x56\x91\x92\x7a\x84\xdf\xca\x13\xde\x23\xe4\x1e\x29\xcc\x20\xd5\x98\x65\x45\xc5\xf0\x4b\x18\xe3\xac\x48\x64\xf8\xc8\x11\x55\xb6\x04\x18\xe5\xc6\x65\x51\xaf\xf2\x54\x3d\x22\xd5\x7d\x9b\xba\x6e\x39\xc2\x38\x1b\xb2\x95\x40\xb8\x1c\x2a\x26\x9d\xa8\x14\x9b\xbf\xdc\x79\x77\x3d\xd1\x63\x65\x71\x8d\x96\xa2\x66\xa3\x12\x37\xe7\x34\x61\xe8\xa8\x1c\x92\x3e\x0a\x7f\x5d\x10\x52\x2c\x9a\x88\xac\x07\x9e\x93\xa9\xff\x5b\x5a\x56\x7b\x24\x72\x84\xb6\x16\x10\x61\x82\x6e\xbf\x78\xfb\xfa\xfa\xc5\xc5\xab\xf7\xcf\xae\xb9\xae\x59\xdd\x39\xc3\x03\xf0\x7f\x7a\xf6\xa7\x8b\xdd\x8d\xe0\x32\x05\xc5\x00\xae\x58\x3b\x76\xde\x76\xb2\x7a\x3c\xa5\x48\xb6\x0b\xd8\x4a\x52\x54\xb4\x9e\x2e\xf8\xce\x4a\xda\xba\x32\x5e\x86\xf7\xbf\x61\xd2\xa6\x2c\x01\xc1\x7a\xf8\x21\x82\x92\x50\xdd\x09\xc2\x8e\x5a\x4b\xa6\x36\xda\xff\x41\x04\xe1\x0f\xf7\xb2\xa3\x89\x55\xf5\xde\x09\x49\xe9\xa0\xdc\x2b\x1e\xe5\x5d\x6f\xe4\xa3\x96\x9c\xed\x4c\xf3\x8e\xaf\xe2\xb3\xab\xf0\x78\x8e\xb4\xab\x58\x33\x86\x64\x17\x41\x3f\xca\x42\x53\xc0\x4c\x98\xf9\x78\xd5\x6e\x83\x4f\x64\xa6\x21\x5a\xb8\x38\xa1\x39\x16\x4c\xcb\xc5\x79\xb3\x94\x0b\x17\x33\xd8\x6e\x39\x20\x21\xfd\x4b\xcb\xb6\xc4\x5c\x9e\xbf\xec\x21\xde\xfe\x26\xbd\xfd\x07\xd7\x6a\x6a\xb6\x65\x59\x2c\xf7\x36\x9a\xae\x13\xbd\x4a\x7e\x90\x8a\xcd\x77\xd7\x85\x32\x17\xb2\x44\x89\x0b\x79\x50\xde\x42\x0e\x2b\x62\x21\x43\x94\x8a\xef\x43\x3a\xc6\xa3\xfd\x7f\x80\x1e\x86\xac\xfc\x18\xc2\x0d\xfd\x10\xc5\xef\x53\x61\x33\x40\xb4\x3d\x8d\x56\x0f\x72\x14\xd5\xd4\xad\xf9\x0d\x1b\x4d\x24\x06\x73\xca\x97\x17\x67\xc2\x22\x6e\xba\x0c\x56\x37\x91\x1f\xcf\x5e\xf8\xd4\x6f\x27\x84\xb2\xbf\xba\xc6\x2d\x73\xe3\x92\xc5\xda\x90\x54\xc1\x53\xf2\x89\x1e\xaf\x96\x7e\x10\xca\x58\xaa\x51\xc9\x2a\xe2\x27\x94\xa8\x8a\x0b\xb1\x5c\x68\xb4\x62\xed\xe1\xcf\x7d\xde\x45\xc2\x78\x37\x83\xdb\x39\xc0\x8e\x71\xa0\xc7\xa8\x58\x3f\x61\x2e\x6a\xec\xe2\xfe\x41\x58\x5b\x08\x44\xe5\xb3\xf5\x1a\x9a\x14\x3c\x3d\x09\xf3\x39\x28\x0d\xf7\x8e\xd6\x9e\xfa\xe1\x94\x2c\x75\x62\x6c\x47\x07\x35\x5b\xb3\x19\xeb\xca\xe6\x9c\x17\x9a\xd3\x90\xda\x8f\x21\x96\x9b\x74\xae\x68\x52\x7e\x28\x70\x17\x7d\x84\x6e\x67\xb2\xc0\xcf\xe1\x8c\xc4\xfc\x94\x19\x2e\x10\xe3\x08\xd1\x76\xcc\x78\x12\x4e\x9d\xab\xb8\x80\x8f\x52\x44\x45\xfd\x4b\x3d\x05\x91\x64\xd8\x33\x4c\x9b\xff\x7b\x35\xe9\xdf\xf5\x6a\x52\xcd\x8d\x9f\x34\x12\x61\xf5\x6d\x9f\x20\x17\x5d\x9a\xa2\xa0\x7d\xcd\x9d\x59\xa4\xbb\xd3\x18\x05\xa5\xbb\x35\x07\x18\xf4\xc3\x04\x59\xaf\x23\xbb\x06\x98\x3f\xe4\xfa\x00\x9f\x7b\xf7\x7c\x8e\x03\x3d\xce\x44\xfc\x4e\x6c\xbe\xeb\x6c\xe3\x04\x8c\x68\x2e\x71\x8e\x38\x8b\x84\xf4\xaa\xa7\xaa\x8e\x12\xdc\x9e\xc8\x90\xc2\xd7\x90\x0a\x53\x5a\x4f\x7d\x11\x24\x41\xab\x03\x67\x0b\x8f\x66\xd5\x82\xc0\x6a\xa5\xb5\x06\x83\xc1\x80\xdc\x55\x40\xe6\x83\x54\x6a\xbf\x56\x91\x23\x34\x8b\x56\xa0\x6b\x7e\x1c\xf8\xe9\xdd\x7d\xa4\xd1\x78\x4d\xb2\x8a\x15\x18\x4d\x71\x87\xb5\x48\x77\xcf\x56\x9f\x14\x5a\x9d\x6d\xf3\xa5\xf3\xe5\xf4\x75\x85\xa6\xae\x5c\x8f\x39\xa1\xcf\x99\xa0\x1e\x84\xf3\x73\x10\x2a\xde\xc1\x4c\x38\xe2\xa2\x32\xb0\x6f\xb3\xc9\x1f\x16\x62\x2f\xa2\xe7\x58\x1b\xe7\xa0\xf2\x2c\x88\x77\x08\x99\x8d\x3a\x47\x10\xe0\xa8\x00\x5d\x54\x04\xf0\xb5\x09\x5c\xea\x06\xff\x20\xd3\x85\x1f\xce\xc9\x4c\x03\xff\x4a\x74\xab\xc7\xba\x6d\x48\xe7\x22\xe7\x39\x2d\x52\xf4\xbf\xb3\xf8\xff\xc0\x59\x3c\xbb\x83\x5f\x39\x87\xc7\xed\x6b\x9f\xb5\x2e\x5c\xab\x84\x76\x06\xcf\x72\xe0\x22\x31\xa6\x5c\xc6\xb4\xd8\xf3\x32\xd5\x0a\xc6\x8f\x9f\xd4\xef\xfc\x4f\x5c\x25\xb0\x67\xa6\x85\x92\x64\x67\xa3\x49\x1e\xb2\x10\xe1\x75\x57\x56\x62\x20\x1e\xeb\x3b\x3b\x06\x16\xaa\x52\x61\x00\x93\x86\x7c\x4d\x4d\x71\xe0\x0b\xe2\x48\x65\x4e\xe8\xf9\xc3\x74\x19\x4c\xf9\xc1\x7e\x6c\xa4\xfe\x71\x78\x83\xe4\x02\x57\x64\x0d\xf1\x87\x2c\x3a\xcb\x43\x9a\xa2\xaa\x11\x82\x5b\x9d\x9c\xe6\x41\x0c\x29\x74\xbd\x88\xd6\x7e\x42\x20\x62\x7b\xa1\xde\x93\xa2\x8b\x21\xd1\xa7\xe4\x0f\xa9\xd6\x6d\x14\x5f\xf8\x53\x45\xbd\x72\x0b\x9f\x34\xc8\xf2\xe6\x21\xe9\x3d\x21\x30\x11\x09\x4e\x62\x30\x0f\xa1\x3a\x38\xb8\x84\xc8\xff\xb0\x03\x7f\xc4\x22\x3c\x27\xb4\xf2\x90\xa3\x8e\x13\x88\x31\x91\x2e\x66\x2a\xdd\xe6\xd5\xd3\xc0\xa5\x6b\x19\xab\x75\xe9\x3a\xd2\x5e\x22\x85\x7e\x9e\x64\x9e\x0d\xb3\x18\xe3\xf0\x98\x0d\xae\x33\xdd\x34\x25\x96\x2d\x03\x65\x2b\x4d\x9e\xad\x8d\xfc\x12\xc1\xef\xbe\xda\xa9\x52\x4e\x7c\xad\x6c\x9a\xb9\x2a\xba\xdf\x3b\xb4\x69\xf3\x24\x5b\xad\x96\x2d\xb5\xf4\x6a\x19\x4c\x49\xa5\x05\x11\x84\xa1\x77\x46\x81\x1c\xda\x99\xf1\x4a\x3c\x0e\x5a\x4e\x3e\xb4\x73\x30\x11\x77\xce\x18\x85\x08\x93\x51\x74\x52\x28\x00\x85\xfb\x93\x7b\x0b\x1d\x19\x07\x4c\x1f\x91\x49\xb3\x09\x44\x90\xc7\x74\x1b\xdc\xea\x71\xb3\xb9\xb3\xc7\xe3\x05\x29\x40\xd9\xa3\xe8\x94\x15\xad\xd5\x3a\xa0\x24\xbb\xe0\xc1\x87\x14\xc9\x98\xe4\x6e\xf8\x59\xa3\x28\x33\xce\x39\xac\xde\xc4\x64\x35\x8f\xc7\xd1\x64\x67\x6f\x2a\xb8\x21\x73\xa9\x58\xe4\xae\xe2\x85\xd0\x12\x6c\xab\x08\x3b\x2a\xf3\xa1\x89\x93\x22\x83\x17\xe1\x65\x1e\x4d\x8c\xbc\x23\x65\xf1\x35\x1c\x67\x41\xd8\x0b\x9c\xc5\x50\x64\x5d\x5d\x71\x2e\xcd\x39\x29\x4c\x43\x34\xcb\x85\x2c\x8e\xc2\x56\xfa\x9c\x2f\x18\x29\xdf\x77\x5b\x04\xb7\xa9\xb4\x9a\x48\x3b\x69\x70\x5b\x43\x4f\xb0\x65\xf0\xe9\xfd\xc4\xda\x6c\x32\x57\x82\xa2\x1c\x52\x4c\x6f\x28\x51\x23\x65\xf5\x46\xb4\xa6\x8d\xe8\xb6\x11\x33\xa9\x4e\xe3\x2e\x78\xcc\xf8\xc4\x92\xf1\xce\xfd\x30\x8c\x68\x03\x4a\xd4\x10\x2e\x88\x12\x70\x2e\x1f\x40\x64\xf0\x87\x28\x9c\x35\xc0\x62\xa7\x61\x71\x42\xf1\xa9\x95\xf1\x2d\x67\x56\x6b\xc7\xac\x09\xa1\x8c\x4d\x4c\x71\xee\x38\xe7\x8f\x46\x7a\xde\x49\x4c\x6a\xc6\xad\xc2\xba\x14\xdc\xea\xc1\xa9\x65\xec\x62\x38\xa5\xfd\x16\x14\x06\x4f\x89\xb1\x52\x97\x45\xe9\xcc\x21\xf7\x8b\xa9\x9a\xc3\x38\x7f\x14\xc7\x40\x6e\xd0\x57\x95\xbe\x6c\x2c\x56\x1c\x17\x8a\x35\x45\x9a\x53\x4d\x62\x7c\x5f\xac\x41\x8d\x98\x1d\xc4\xd3\xf5\xd2\x8f\x5f\x05\x09\xdd\x2b\x67\x7f\x13\xd3\x23\x90\x48\xb3\x2b\x8a\xf9\x87\x55\x14\x2d\x77\xbe\x33\x83\xf0\xe7\x84\xe0\xcf\x5b\xd5\x31\xa8\xf0\xd8\x55\xde\x21\xed\xee\xfe\xe1\xdd\x2d\x13\x46\xb5\xe8\x81\x9c\x4b\xc9\x6f\xc8\x7d\x7a\x8e\xc3\x61\x56\xd1\x2a\xbb\x8f\x07\x1f\x1f\xc3\xe6\x6a\xb7\x49\x24\xed\xb7\xcf\xff\xeb\xe2\xfc\xfd\xf5\xcb\x17\xd7\xcf\xde\xbf\x7f\xf7\xf2\xf9\xcf\xef\x2f\xd8\xdc\x88\x68\xd9\x91\x16\xf8\x2c\x2c\x78\xb8\x60\x03\xef\xf1\xb4\x15\x63\x2a\x5a\x2f\x67\x0d\x36\xac\xc4\x57\x1a\x7e\x98\x8e\x2d\xc8\x7e\x20\xb4\x21\xda\x67\xa6\x19\x23\x1e\x65\xb2\xf1\xf8\x4f\x67\x17\x26\x48\xe6\x33\x4d\xcf\xbc\xa6\xf2\x06\x03\xa7\x03\x65\x9f\xb9\x59\xeb\x4a\xbd\x53\xe5\x4c\x69\xc7\x0a\x4c\xc0\x26\xed\xeb\x08\xf8\x4e\xdc\xd2\x18\xed\xa2\x90\xef\x2d\x35\x8a\xdb\x34\x35\xb6\xb5\x2d\xc3\x28\x77\x4c\xa1\x36\xc5\xb9\x99\x3b\xd3\x7b\xe3\xdf\x81\x7a\x95\xe4\x9d\x72\x6b\xe2\x4c\x22\x50\x7d\x12\x6b\x33\x9f\xfa\xad\xe8\xe6\xef\xad\x60\xa6\xa1\xa0\x50\x7a\x08\xca\xad\x72\xa0\xfc\x87\xdb\x7c\x80\x1a\x1d\x4e\x85\x2b\x23\x15\xa6\xa6\x91\x14\x4c\x23\xbf\x55\x68\x7e\xdb\xe6\xb1\xf9\x6d\x08\xce\x1f\xeb\xb6\xcb\x5d\x11\xd9\x8e\x81\xfc\x1d\x07\xcc\x49\xba\x46\x3d\x7f\x78\x99\x73\x2c\xc9\x97\x01\xb6\xaf\x3d\xc2\xd8\x17\xbe\x00\x46\x4b\xac\x2d\x18\x84\x86\xf1\x3c\xa2\xf4\x01\x0c\xcf\xce\x60\x2b\xdb\xfe\x91\xa5\x75\xdf\x18\xb2\xc7\xa8\xfd\x17\xf1\x28\x5c\x9e\xe9\xda\x82\xd2\x55\x32\xd4\x70\x7a\x97\x7e\x19\xf1\xe0\x49\x9c\x2d\xa6\xd1\xf2\x4c\xbb\x4f\x92\xe1\xf1\xb1\x36\xd4\xee\xe1\xaf\x61\x96\x41\x17\x51\x42\xa5\xcc\x95\x4f\x17\xa1\x7f\x47\x4c\xed\x3e\xd1\xd0\x54\xa2\xcf\x7d\x0e\xa0\x35\xec\x20\xc3\xf6\x79\x14\x86\x5c\x67\xfd\x83\xcf\x76\xf4\x0f\xfa\x02\x25\x59\x21\x12\x03\xcd\x84\xc3\xed\x5f\xc9\xcd\xfb\xf7\xbf\xe9\x4b\xb4\x46\x53\xc4\xab\xeb\xaf\xe9\xe2\x9a\x46\x1f\x48\x68\xb4\xa3\x15\x09\x75\x63\x24\xbe\x26\xdb\xa2\xac\xc3\x65\xe4\xcf\x34\x94\x1b\x7d\x33\xdd\x40\xcb\xf6\x74\x19\x25\x44\x37\xb6\x2a\x25\x79\xfe\x0c\x6d\x77\x42\xa1\x47\x70\x69\x31\x7f\x58\x96\xdd\xe4\x1e\x93\x09\xf7\x81\x47\x4d\xdb\xa8\x5c\xfa\x6f\x83\x70\xd6\xb8\x03\x76\x69\x3c\xd1\x4c\x62\x6a\x4f\xda\x3b\xbf\x69\x74\xcb\x25\xb8\xcf\x5a\xfb\xd8\xa7\xd4\x9f\x2e\xc4\x1f\x6d\xd8\x45\xe5\xbc\xf6\xdf\x93\x62\xf6\xca\x9f\x7e\xf0\xe7\xa4\xfd\xf7\x24\x0a\xb5\xa1\x6b\xb1\x57\xb7\x01\x65\xff\xb5\xa1\x97\x7b\x02\xcc\x2c\xa3\x84\x66\x43\xfe\x7a\xb9\x4c\xa6\x31\x21\x61\x2e\xa9\x0d\x7b\x95\xef\xda\xd3\x24\xd1\x86\xae\x53\x0d\xc0\xbe\x59\xc6\x2f\x7d\xda\x65\xaf\x05\xe3\xcf\xa2\xf2\xdb\x4e\xf1\x6d\x96\xd2\x86\xfd\x8a\x37\xf0\xcd\xfe\x76\x14\xb4\x3f\x90\x87\x44\xb1\x63\x12\x83\x9a\xbd\xd5\x13\x63\x8b\x82\x76\x4c\x92\x68\xf9\x91\xe0\x08\x91\x36\xf9\xb4\x8a\x62\x9a\xe0\x00\x05\xed\x60\x86\x9d\x41\x91\x4d\xd8\x1c\x99\x82\x7c\x66\x7c\x3f\xe4\x9e\x3f\xdb\xa2\xcb\xd0\x9d\x1f\x84\x43\x6d\xd7\x59\x68\x15\x07\x1f\x7d\x0a\xf3\xc3\x81\xa4\x58\xd7\x09\x3a\xa2\xdf\xea\x88\x48\x4c\xc7\xe7\xa5\x06\xc4\xf6\x6c\xdc\xfa\xc1\x92\xcc\x86\x8d\xe3\x45\x74\x47\x8e\x1f\xd6\x33\x3f\x38\x66\x03\x32\xf8\x48\x8e\x57\x71\x34\x5b\x4f\x69\x72\xec\x58\x76\xf7\x18\xc6\xd8\x71\x12\x4f\x8f\xe7\x01\x5d\xac\x6f\xda\xd3\xe8\x4e\x20\xf0\x57\x7f\x4f\x8e\xc3\x68\x46\xae\x39\x23\x27\xc7\x50\xd8\xe3\x65\x70\x73\xec\xcf\x66\x51\x98\x54\xf3\x48\xe3\xe7\x90\x7c\x5a\x91\x29\x25\xb3\x06\x8c\xdf\x86\x6e\x0f\x2d\xe3\x2a\xfc\x2d\x5a\x37\xee\xfc\x87\x46\x48\xc8\x8c\xad\xe0\xfe\x6a\x15\x47\xab\x38\xf0\x29\x69\xb0\xf1\x4b\xe2\x06\x8d\x1a\xfc\x10\x10\x16\xef\xc6\x6d\xc0\x52\x6c\x15\xbb\x0a\x37\x8d\xb6\x68\xb0\xec\x6b\x8d\xcf\x2c\x9b\xfd\x4b\x75\xee\xc3\x06\x9c\x61\x8f\xd2\x7c\x1a\xad\x86\x0d\x6b\xa4\x19\x87\x76\xc6\x6e\x24\xa4\x7d\x52\x60\xef\x2f\xe8\xdf\x1d\x13\x0b\x8a\x05\xde\x2d\x10\x9c\x18\xa3\xff\x17\x00\x00\xff\xff\xbd\x12\xdf\xe7\x5e\x12\x05\x00") func staticJsGottyBundleJsBytes() ([]byte, error) { return bindataRead( @@ -209,7 +209,7 @@ func staticJsGottyBundleJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static/js/gotty-bundle.js", size: 332369, mode: os.FileMode(436), modTime: time.Unix(1503548485, 0)} + info := bindataFileInfo{name: "static/js/gotty-bundle.js", size: 332382, mode: os.FileMode(436), modTime: time.Unix(1503734056, 0)} a := &asset{bytes: bytes, info: info} return a, nil } From 6ab3093956ca102e8245de314598258631febd0c Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Sat, 26 Aug 2017 17:23:04 +0900 Subject: [PATCH 75/82] Pickup random port when port option is 0 With upgrading go to go1.9 to use http.Server.ServeTLS() --- Godeps/Godeps.json | 2 +- server/server.go | 74 ++++++++++++++++++++++++---------------------- wercker.yml | 2 +- 3 files changed, 40 insertions(+), 38 deletions(-) diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 8ddc75f..b17aa5c 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -1,6 +1,6 @@ { "ImportPath": "github.com/yudai/gotty", - "GoVersion": "go1.7", + "GoVersion": "go1.9", "GodepVersion": "v79", "Deps": [ { diff --git a/server/server.go b/server/server.go index ee29ee5..6411e71 100644 --- a/server/server.go +++ b/server/server.go @@ -9,7 +9,6 @@ import ( "log" "net" "net/http" - "net/url" "regexp" noesctmpl "text/template" "time" @@ -100,20 +99,13 @@ func (server *Server) Run(ctx context.Context, options ...RunOption) error { if server.options.EnableRandomUrl { path = "/" + randomstring.Generate(server.options.RandomUrlLength) + "/" } - url := server.setupURL(server.options.Address, path) - handlers := server.setupHandlers(cctx, cancel, url, counter) - srv, err := server.setupHTTPServer(handlers, url) + handlers := server.setupHandlers(cctx, cancel, path, counter) + srv, err := server.setupHTTPServer(handlers) if err != nil { return errors.Wrapf(err, "failed to setup an HTTP server") } - log.Printf("HTTP server is listening at: %s", url.String()) - if server.options.Address == "0.0.0.0" { - for _, address := range listAddresses() { - log.Printf("Alternative URL: %s", server.setupURL(address, path).String()) - } - } if server.options.PermitWrite { log.Printf("Permitting clients to write input to the PTY.") } @@ -121,7 +113,28 @@ func (server *Server) Run(ctx context.Context, options ...RunOption) error { log.Printf("Once option is provided, accepting only one client") } - listenErr := make(chan error, 1) + if server.options.Port == "0" { + log.Printf("Port number configured to `0`, choosing a random port") + } + hostPort := net.JoinHostPort(server.options.Address, server.options.Port) + listener, err := net.Listen("tcp", hostPort) + if err != nil { + return errors.Wrapf(err, "failed to listen at `%s`", hostPort) + } + + scheme := "http" + if server.options.EnableTLS { + scheme = "https" + } + host, port, _ := net.SplitHostPort(listener.Addr().String()) + log.Printf("HTTP server is listening at: %s", scheme+"://"+host+":"+port+path) + if server.options.Address == "0.0.0.0" { + for _, address := range listAddresses() { + log.Printf("Alternative URL: %s", scheme+"://"+address+":"+port+path) + } + } + + srvErr := make(chan error, 1) go func() { if server.options.EnableTLS { crtFile := homedir.Expand(server.options.TLSCrtFile) @@ -129,12 +142,12 @@ func (server *Server) Run(ctx context.Context, options ...RunOption) error { log.Printf("TLS crt file: " + crtFile) log.Printf("TLS key file: " + keyFile) - err = srv.ListenAndServeTLS(crtFile, keyFile) + err = srv.ServeTLS(listener, crtFile, keyFile) } else { - err = srv.ListenAndServe() + err = srv.Serve(listener) } if err != nil { - listenErr <- err + srvErr <- err } }() @@ -147,7 +160,7 @@ func (server *Server) Run(ctx context.Context, options ...RunOption) error { }() select { - case err = <-listenErr: + case err = <-srvErr: if err == http.ErrServerClosed { // by gracefull ctx err = nil } else { @@ -167,29 +180,19 @@ func (server *Server) Run(ctx context.Context, options ...RunOption) error { return err } -func (server *Server) setupURL(ip string, path string) *url.URL { - host := net.JoinHostPort(ip, server.options.Port) - - scheme := "http" - if server.options.EnableTLS { - scheme = "https" - } - - return &url.URL{Scheme: scheme, Host: host, Path: path} -} - -func (server *Server) setupHandlers(ctx context.Context, cancel context.CancelFunc, url *url.URL, counter *counter) http.Handler { +func (server *Server) setupHandlers(ctx context.Context, cancel context.CancelFunc, pathPrefix string, counter *counter) http.Handler { staticFileHandler := http.FileServer( &assetfs.AssetFS{Asset: Asset, AssetDir: AssetDir, Prefix: "static"}, ) var siteMux = http.NewServeMux() - siteMux.HandleFunc(url.Path, server.handleIndex) - siteMux.Handle(url.Path+"js/", http.StripPrefix(url.Path, staticFileHandler)) - siteMux.Handle(url.Path+"favicon.png", http.StripPrefix(url.Path, staticFileHandler)) - siteMux.Handle(url.Path+"css/", http.StripPrefix(url.Path, staticFileHandler)) - siteMux.HandleFunc(url.Path+"auth_token.js", server.handleAuthToken) - siteMux.HandleFunc(url.Path+"config.js", server.handleConfig) + siteMux.HandleFunc(pathPrefix, server.handleIndex) + siteMux.Handle(pathPrefix+"js/", http.StripPrefix(pathPrefix, staticFileHandler)) + siteMux.Handle(pathPrefix+"favicon.png", http.StripPrefix(pathPrefix, staticFileHandler)) + siteMux.Handle(pathPrefix+"css/", http.StripPrefix(pathPrefix, staticFileHandler)) + + siteMux.HandleFunc(pathPrefix+"auth_token.js", server.handleAuthToken) + siteMux.HandleFunc(pathPrefix+"config.js", server.handleConfig) siteHandler := http.Handler(siteMux) @@ -203,15 +206,14 @@ func (server *Server) setupHandlers(ctx context.Context, cancel context.CancelFu wsMux := http.NewServeMux() wsMux.Handle("/", siteHandler) - wsMux.HandleFunc(url.Path+"ws", server.generateHandleWS(ctx, cancel, counter)) + wsMux.HandleFunc(pathPrefix+"ws", server.generateHandleWS(ctx, cancel, counter)) siteHandler = http.Handler(wsMux) return siteHandler } -func (server *Server) setupHTTPServer(handler http.Handler, url *url.URL) (*http.Server, error) { +func (server *Server) setupHTTPServer(handler http.Handler) (*http.Server, error) { srv := &http.Server{ - Addr: url.Host, Handler: handler, } diff --git a/wercker.yml b/wercker.yml index 02df696..019952d 100644 --- a/wercker.yml +++ b/wercker.yml @@ -1,4 +1,4 @@ -box: golang:1.8.3 +box: golang:1.9.0 build: steps: From 2c50c432906f1034fa1efec8f7866315f8c81025 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Sun, 27 Aug 2017 15:56:11 +0900 Subject: [PATCH 76/82] Release v2.0.0-alpha.2 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 0b5fffc..5b3eaeb 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ OUTPUT_DIR = ./builds GIT_COMMIT = `git rev-parse HEAD | cut -c1-7` -VERSION = 2.0.0-alpha.1 +VERSION = 2.0.0-alpha.2 BUILD_OPTIONS = -ldflags "-X main.Version=$(VERSION) -X main.CommitID=$(GIT_COMMIT)" From 79e132824a7fe6a38e2a9c2c1b322afe5cb6de8a Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Fri, 1 Sep 2017 15:29:56 +0900 Subject: [PATCH 77/82] Update README.md --- README.md | 61 +++++++++++++++++++++++++++---------------------------- 1 file changed, 30 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index b78c01c..40de55b 100644 --- a/README.md +++ b/README.md @@ -14,9 +14,9 @@ GoTTY is a simple command line tool that turns your CLI tools into web applicati # Installation -Download the latest stable binary file from the [Releases](https://github.com/yudai/gotty/releases) page. Note that the release marked `Pre-release` is built automatically when new code is pushed to the repository, which can include unstable or breaking changes. Download a release marked `Latest release` for a stabale build. +Download the latest stable binary file from the [Releases](https://github.com/yudai/gotty/releases) page. Note that the release marked `Pre-release` is built for testing purpose, which can include unstable or breaking changes. Download a release marked [Latest release](https://github.com/yudai/gotty/releases/latest) for a stabale build. -(`darwin_amd64.tar.gz` is for Mac OS X users) +(Files named with `darwin_amd64` are for Mac OS X users) ## Homebrew Installation @@ -47,27 +47,32 @@ By default, GoTTY starts a web server at port 8080. Open the URL on your web bro ## Options ``` ---address, -a IP address to listen [$GOTTY_ADDRESS] ---port, -p "8080" Port number to listen [$GOTTY_PORT] ---permit-write, -w Permit clients to write to the TTY (BE CAREFUL) [$GOTTY_PERMIT_WRITE] ---credential, -c Credential for Basic Authentication (ex: user:pass, default disabled) [$GOTTY_CREDENTIAL] ---random-url, -r Add a random string to the URL [$GOTTY_RANDOM_URL] ---random-url-length "8" Random URL length [$GOTTY_RANDOM_URL_LENGTH] ---tls, -t Enable TLS/SSL [$GOTTY_TLS] ---tls-crt "~/.gotty.crt" TLS/SSL certificate file path [$GOTTY_TLS_CRT] ---tls-key "~/.gotty.key" TLS/SSL key file path [$GOTTY_TLS_KEY] ---tls-ca-crt "~/.gotty.ca.crt" TLS/SSL CA certificate file for client certifications [$GOTTY_TLS_CA_CRT] ---index Custom index.html file [$GOTTY_INDEX] ---title-format "GoTTY - {{ .Command }} ({{ .Hostname }})" Title format of browser window [$GOTTY_TITLE_FORMAT] ---reconnect Enable reconnection [$GOTTY_RECONNECT] ---reconnect-time "10" Time to reconnect [$GOTTY_RECONNECT_TIME] ---timeout "0" Timeout seconds for waiting a client (0 to disable) [$GOTTY_TIMEOUT] ---max-connection "0" Set the maximum number of simultaneous connections (0 to disable) ---once Accept only one client and exit on disconnection [$GOTTY_ONCE] ---permit-arguments Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB) [$GOTTY_PERMIT_ARGUMENTS] ---close-signal "1" Signal sent to the command process when gotty close it (default: SIGHUP) [$GOTTY_CLOSE_SIGNAL] ---config "~/.gotty" Config file path [$GOTTY_CONFIG] ---version, -v print the version +--address value, -a value IP address to listen (default: "0.0.0.0") [$GOTTY_ADDRESS] +--port value, -p value Port number to liten (default: "8080") [$GOTTY_PORT] +--permit-write, -w Permit clients to write to the TTY (BE CAREFUL) [$GOTTY_PERMIT_WRITE] +--credential value, -c value Credential for Basic Authentication (ex: user:pass, default disabled) [$GOTTY_CREDENTIAL] +--random-url, -r Add a random string to the URL [$GOTTY_RANDOM_URL] +--random-url-length value Random URL length (default: 8) [$GOTTY_RANDOM_URL_LENGTH] +--tls, -t Enable TLS/SSL [$GOTTY_TLS] +--tls-crt value TLS/SSL certificate file path (default: "~/.gotty.crt") [$GOTTY_TLS_CRT] +--tls-key value TLS/SSL key file path (default: "~/.gotty.key") [$GOTTY_TLS_KEY] +--tls-ca-crt value TLS/SSL CA certificate file for client certifications (default: "~/.gotty.ca.crt") [$GOTTY_TLS_CA_CRT] +--index value Custom index.html file [$GOTTY_INDEX] +--title-format value Title format of browser window (default: "{{ .command }}@{{ .hostname }}") [$GOTTY_TITLE_FORMAT] +--reconnect Enable reconnection [$GOTTY_RECONNECT] +--reconnect-time value Time to reconnect (default: 10) [$GOTTY_RECONNECT_TIME] +--max-connection value Maximum connection to gotty (default: 0) [$GOTTY_MAX_CONNECTION] +--once Accept only one client and exit on disconnection [$GOTTY_ONCE] +--timeout value Timeout seconds for waiting a client(0 to disable) (default: 0) [$GOTTY_TIMEOUT] +--permit-arguments Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB) [$GOTTY_PERMIT_ARGUMENTS] +--width value Static width of the screen, 0(default) means dynamically resize (default: 0) [$GOTTY_WIDTH] +--height value Static height of the screen, 0(default) means dynamically resize (default: 0) [$GOTTY_HEIGHT] +--ws-origin value A regular expression that matches origin URLs to be accepted by WebSocket. No cross origin requests are acceptable by default [$GOTTY_WS_ORIGIN] +--term value Terminal name to use on the browser, one of xterm or hterm. (default: "xterm") [$GOTTY_TERM] +--close-signal value Signal sent to the command process when gotty close it (default: SIGHUP) (default: 1) [$GOTTY_CLOSE_SIGNAL] +--close-timeout value Time in seconds to force kill process after client is disconnected (default: -1) (default: -1) [$GOTTY_CLOSE_TIMEOUT] +--config value Config file path (default: "~/.gotty") [$GOTTY_CONFIG] +--version, -v print the version ``` ### Config File @@ -146,26 +151,20 @@ $ gotty -w docker run -it --rm busybox ## Development -You can build a binary using the following commands. Windows is not supported now. +You can build a binary using the following commands. Windows is not supported now. go1.9 is required. ```sh # Install tools go get github.com/jteeuwen/go-bindata/... go get github.com/tools/godep -# Checkout hterm -git submodule sync && git submodule update --init --recursive - -# Restore libraries in Godeps -godep restore - # Build make ``` ## Architecture -GoTTY uses [hterm](https://groups.google.com/a/chromium.org/forum/#!forum/chromium-hterm) to run a JavaScript based terminal on web browsers. GoTTY itself provides a websocket server that simply relays output from the TTY to clients and receives input from clients and forwards it to the TTY. This hterm + websocket idea is inspired by [Wetty](https://github.com/krishnasrinivas/wetty). +GoTTY uses [xterm.js](https://xtermjs.org/) and [hterm](https://groups.google.com/a/chromium.org/forum/#!forum/chromium-hterm) to run a JavaScript based terminal on web browsers. GoTTY itself provides a websocket server that simply relays output from the TTY to clients and receives input from clients and forwards it to the TTY. This hterm + websocket idea is inspired by [Wetty](https://github.com/krishnasrinivas/wetty). ## Alternatives From 513b3a5c4daa7792f22711b679bae46ee30f370f Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Thu, 28 Sep 2017 13:37:34 +0900 Subject: [PATCH 78/82] Do not compile asset by default Run make all instead when you recreate server/asset.go. --- Makefile | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 5b3eaeb..4b09d94 100644 --- a/Makefile +++ b/Makefile @@ -3,16 +3,15 @@ GIT_COMMIT = `git rev-parse HEAD | cut -c1-7` VERSION = 2.0.0-alpha.2 BUILD_OPTIONS = -ldflags "-X main.Version=$(VERSION) -X main.CommitID=$(GIT_COMMIT)" - -gotty: server/asset.go main.go server/*.go webtty/*.go backend/*.go Makefile +gotty: main.go server/*.go webtty/*.go backend/*.go Makefile godep go build ${BUILD_OPTIONS} -asset: server/asset.go - -server/asset.go: bindata/static/js/gotty-bundle.js bindata/static/index.html bindata/static/favicon.png bindata/static/css/index.css bindata/static/css/xterm.css bindata/static/css/xterm_customize.css +asset: bindata/static/js/gotty-bundle.js bindata/static/index.html bindata/static/favicon.png bindata/static/css/index.css bindata/static/css/xterm.css bindata/static/css/xterm_customize.css go-bindata -prefix bindata -pkg server -ignore=\\.gitkeep -o server/asset.go bindata/... gofmt -w server/asset.go +all: asset gotty + bindata: mkdir bindata From 0bb62e03814007cc53e3421f415e8b14cd2de1f9 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Thu, 28 Sep 2017 13:42:18 +0900 Subject: [PATCH 79/82] Mention minimum go compiler version Also npm is required. --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 40de55b..6a89233 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ $ brew install yudai/gotty/gotty ## `go get` Installation (Development) -If you have a Go language environment, you can install GoTTY with the `go get` command. However, this command builds a binary file from the latest master branch, which can include unstable or breaking changes. +If you have a Go language environment, you can install GoTTY with the `go get` command. However, this command builds a binary file from the latest master branch, which can include unstable or breaking changes. GoTTY requires go1.9 or later. ```sh $ go get github.com/yudai/gotty @@ -162,6 +162,8 @@ go get github.com/tools/godep make ``` +To build the frontend part (JS files and other static files), you need `npm`. + ## Architecture GoTTY uses [xterm.js](https://xtermjs.org/) and [hterm](https://groups.google.com/a/chromium.org/forum/#!forum/chromium-hterm) to run a JavaScript based terminal on web browsers. GoTTY itself provides a websocket server that simply relays output from the TTY to clients and receives input from clients and forwards it to the TTY. This hterm + websocket idea is inspired by [Wetty](https://github.com/krishnasrinivas/wetty). From 9ac120a55705d4a2f9077b28b9434a5ff495cb9a Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Tue, 3 Oct 2017 15:34:51 +0900 Subject: [PATCH 80/82] Support local webpack --- Makefile | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 4b09d94..fc61c0d 100644 --- a/Makefile +++ b/Makefile @@ -6,10 +6,12 @@ BUILD_OPTIONS = -ldflags "-X main.Version=$(VERSION) -X main.CommitID=$(GIT_COMM gotty: main.go server/*.go webtty/*.go backend/*.go Makefile godep go build ${BUILD_OPTIONS} +.PHONY: asset asset: bindata/static/js/gotty-bundle.js bindata/static/index.html bindata/static/favicon.png bindata/static/css/index.css bindata/static/css/xterm.css bindata/static/css/xterm_customize.css go-bindata -prefix bindata -pkg server -ignore=\\.gitkeep -o server/asset.go bindata/... gofmt -w server/asset.go +.PHONY: all all: asset gotty bindata: @@ -47,11 +49,13 @@ js/node_modules/xterm/dist/xterm.css: cd js && \ npm install -js/dist/gotty-bundle.js: js/src/* +js/dist/gotty-bundle.js: js/src/* js/node_modules/webpack cd js && \ - webpack - + `npm bin`/webpack +js/node_modules/webpack: + cd js && \ + npm install tools: go get github.com/tools/godep From b4728f6aa4e220d94a379047a3bb4b2416b511dd Mon Sep 17 00:00:00 2001 From: Korenevskiy Denis Date: Fri, 24 Nov 2017 17:52:46 +0300 Subject: [PATCH 81/82] set deactivated terminal handlers to empty functions instead of null this allows to avoid console spamming with 'not a function' messages after the connection to server was closed. --- js/src/hterm.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/js/src/hterm.ts b/js/src/hterm.ts index 8863f12..b49a22f 100644 --- a/js/src/hterm.ts +++ b/js/src/hterm.ts @@ -75,9 +75,9 @@ export class Hterm { }; deactivate(): void { - this.io.onVTKeystroke = null; - this.io.sendString = null - this.io.onTerminalResize = null; + this.io.onVTKeystroke = function(){}; + this.io.sendString = function(){}; + this.io.onTerminalResize = function(){}; this.term.uninstallKeyboard(); } From a080c85cbc59226c94c6941ad8c395232d72d517 Mon Sep 17 00:00:00 2001 From: Iwasaki Yudai Date: Wed, 13 Dec 2017 17:37:02 +0900 Subject: [PATCH 82/82] Release v2.0.0-alpha.3 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index fc61c0d..0326580 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ OUTPUT_DIR = ./builds GIT_COMMIT = `git rev-parse HEAD | cut -c1-7` -VERSION = 2.0.0-alpha.2 +VERSION = 2.0.0-alpha.3 BUILD_OPTIONS = -ldflags "-X main.Version=$(VERSION) -X main.CommitID=$(GIT_COMMIT)" gotty: main.go server/*.go webtty/*.go backend/*.go Makefile